diff --git a/.gitignore b/.gitignore index 1e070aa..6502d24 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,5 @@ package-lock.json .DS_Store .vscode .history -lib/ +dist/ src/**/.antlr \ No newline at end of file diff --git a/.npmignore b/.npmignore index bdb3067..c28ae6d 100644 --- a/.npmignore +++ b/.npmignore @@ -7,4 +7,5 @@ package-lock.json .history site src/ -docs \ No newline at end of file +docs +lib/grammar diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..214e6cc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,15 @@ +# dt-sql-parser + +summary + +## How to contribute + +## Prerequisites + +## Semantic Versioning + +## Branch Organization + +## Release Process + +## Source Code Organization diff --git a/NeREADME.md b/NeREADME.md new file mode 100644 index 0000000..0492d02 --- /dev/null +++ b/NeREADME.md @@ -0,0 +1,33 @@ +# dt-sql-parser + +[![NPM version][npm-image]][npm-url] + +[npm-image]: https://img.shields.io/npm/v/dt-sql-parser.svg?style=flat-square +[npm-url]: https://www.npmjs.com/package/dt-sql-parser + +## Installation + +## Usage + +### Basic + +### Syntax validation + +### Visitor + +### Listener + +## Example + +## Roadmap + +- Unify parser generate to Antlr4 +- Generic SQL +- Flink SQL +- Libra SQL +- TiDB + MySQL Compatible Syntax + +## Contributing + +## License diff --git a/build/antlr4.js b/build/antlr4.js index 33be0da..59af5a1 100644 --- a/build/antlr4.js +++ b/build/antlr4.js @@ -3,15 +3,14 @@ const exec = require('child_process').exec; const antlr4 = path.resolve(__dirname, 'antlr-4.8-complete.jar'); const grammars = path.resolve(__dirname, '../src/grammar'); -const output = path.resolve(__dirname, '../src/parser'); +const output = path.resolve(__dirname, '../src/lib'); const entry = [ 'generic', - 'mysql', 'hive', 'plsql', 'spark', - 'tsql', + 'impala', ]; entry.forEach((language) => { diff --git a/docs/Roadmap.md b/docs/Roadmap.md index 447b9de..e1db024 100644 --- a/docs/Roadmap.md +++ b/docs/Roadmap.md @@ -17,6 +17,5 @@ - Generic SQL - Flink SQL - Libra SQL -- Oracle SQL - TiDB MySQL Compatible Syntax diff --git a/docs/Tutorials.md b/docs/Tutorials.md index 825011e..e3e0f06 100644 --- a/docs/Tutorials.md +++ b/docs/Tutorials.md @@ -1,5 +1,13 @@ # Tutorials +## Antlr4 installation + +## How to extend new grammar + +## How to expose Javascript interface in this project + +## Integrate with Monaco Editor + ## Reference - diff --git a/jest.config.js b/jest.config.js index b5714b8..66dcd16 100644 --- a/jest.config.js +++ b/jest.config.js @@ -27,7 +27,7 @@ module.exports = { // coverageDirectory: null, // An array of regexp pattern strings used to skip coverage collection - coveragePathIgnorePatterns: ["/node_modules/"], + coveragePathIgnorePatterns: ['/node_modules/'], // A list of reporter names that Jest uses when writing coverage reports // coverageReporters: [ @@ -57,7 +57,7 @@ module.exports = { // A set of global variables that need to be available in all test environments globals: { - window: {}, + window: {}, }, // An array of directory names to be searched recursively up from the requiring module's location @@ -129,7 +129,7 @@ module.exports = { // snapshotSerializers: [], // The test environment that will be used for testing - testEnvironment: "node", + testEnvironment: 'node', // Options that will be passed to the testEnvironment // testEnvironmentOptions: {}, @@ -144,7 +144,7 @@ module.exports = { // ], // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped - testPathIgnorePatterns: ["/node_modules/"], + testPathIgnorePatterns: ['/node_modules/'], // The regexp pattern or array of patterns that Jest uses to detect test files // testRegex: [], @@ -163,11 +163,11 @@ module.exports = { // A map from regular expressions to paths to transformers transform: { - "^.+\\.(t|j)sx?$": "ts-jest", + '^.+\\.(t|j)sx?$': 'ts-jest', }, // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation - transformIgnorePatterns: ["/node_modules/"], + transformIgnorePatterns: ['/node_modules/'], // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them // unmockedModulePathPatterns: undefined, @@ -180,4 +180,4 @@ module.exports = { // Whether to use watchman for file crawling // watchman: true, -}; \ No newline at end of file +}; diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index 4d20aaf..0000000 --- a/lib/index.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -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 __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./core"), exports); -__exportStar(require("./utils"), exports); diff --git a/lib/utils/index.js b/lib/utils/index.js deleted file mode 100644 index 033bc2b..0000000 --- a/lib/utils/index.js +++ /dev/null @@ -1,123 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.splitSql = exports.replaceStrFormIndexArr = void 0; -function replaceStrFormIndexArr(str, replaceStr, indexArr) { - let result = ''; - let index = 0; - if (!indexArr || indexArr.length < 1) { - return str; - } - for (let i = 0; i < indexArr.length; i++) { - const indexItem = indexArr[i]; - const begin = indexItem.begin; - result = result + str.substring(index, begin) + replaceStr; - index = indexItem.end + 1; - if (i == indexArr.length - 1) { - result = result + str.substring(index); - } - } - return result; -} -exports.replaceStrFormIndexArr = replaceStrFormIndexArr; -function splitSql(sql) { - let haveEnd = true; - if (!sql.endsWith(';')) { - sql += ';'; - haveEnd = false; - } - function pushSql(parser, sql) { - if (!haveEnd && parser.index == sql.length - 1) { - parser.sqls.push(parser.index - 1); - parser.queue = ''; - } - else { - parser.sqls.push(parser.index); - parser.queue = ''; - } - } - // 处理引号 - function quoteToken(parser, sql) { - const queue = parser.queue; - const endsWith = queue[queue.length - 1]; - if (endsWith == '\'' || endsWith == '"') { - const nextToken = sql.indexOf(endsWith, parser.index + 1); - if (nextToken != -1) { - parser.index = nextToken; - parser.queue = ''; - } - else { - parser.index = sql.length - 1; - } - } - else { - return null; - } - } - // 处理单行注释 - function singleLineCommentToken(parser, sql) { - let queue = parser.queue; - if (queue.endsWith('--')) { - const nextToken = sql.indexOf('\n', parser.index + 1); - if (nextToken != -1) { - parser.index = nextToken; - queue = ''; - } - else { - parser.index = sql.length - 1; - } - } - else { - return null; - } - } - // 处理多行注释 - function multipleLineCommentToken(parser, sql) { - const queue = parser.queue; - if (queue.endsWith('/*')) { - const nextToken = sql.indexOf('*/', parser.index + 1); - if (nextToken != -1) { - parser.index = nextToken + 1; - parser.queue = ''; - } - else { - parser.index = sql.length - 1; - parser.queue = ''; - } - } - else { - return null; - } - } - function splitToken(parser, sql) { - const queue = parser.queue; - if (queue.endsWith(';')) { - pushSql(parser, sql); - } - else { - return null; - } - } - const parser = { - index: 0, - queue: '', - sqls: [], - }; - for (parser.index = 0; parser.index < sql.length; parser.index++) { - const char = sql[parser.index]; - parser.queue += char; - const tokenFuncs = [ - quoteToken, - singleLineCommentToken, - multipleLineCommentToken, - splitToken, - ]; - for (let i = 0; i < tokenFuncs.length; i++) { - tokenFuncs[i](parser, sql); - } - if (parser.index == sql.length - 1 && parser.queue) { - pushSql(parser, sql); - } - } - return parser.sqls; -} -exports.splitSql = splitSql; diff --git a/package.json b/package.json index adae112..c4bbaf2 100644 --- a/package.json +++ b/package.json @@ -12,10 +12,10 @@ "impala", "bigdata" ], - "main": "lib/index.js", + "main": "dist/index.js", "scripts": { - "antlr": "node build/antlr4.js", - "build": "npm test && rm -rf lib && tsc", + "antlr4": "node build/antlr4.js", + "build": "npm test && rm -rf dist && tsc", "eslint": "eslint ./src/**/*.ts", "check-types": "tsc --skipLibCheck", "test": "jest" diff --git a/src/core/common/baseParser.ts b/src/core/common/baseParser.ts deleted file mode 100644 index 5a05688..0000000 --- a/src/core/common/baseParser.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { Token, Lexer } from 'antlr4'; - -import ParserErrorListener, { ParserError } from './parserErrorListener'; - -/** - * Custom Parser class, subclass needs extends it. - */ -export default abstract class BaseParser { - /** - * Create antrl4 Lexer object - * @param input source string - */ - public abstract createLexer(input: string): Lexer; - - /** - * Create Parser by lexer - * @param lexer Lexer - */ - public abstract createParserFromLexer(lexer: Lexer); - - public getAllTokens(input: string): Token[] { - return this.createLexer(input).getAllTokens(); - }; - - public createParser(input: string) { - const lexer = this.createLexer(input); - return this.createParserFromLexer(lexer); - } - - public parserTree(input: string) { - const lexer = this.createLexer(input); - const parser: any = this.createParserFromLexer(lexer); - parser.buildParseTrees = true; - return parser; - } - - /** - * It convert tree to string, it's convenient to use in unit test. - * @param string input - */ - public parserTreeToString(input: string): string { - const parser = this.parserTree(input); - const tree = parser.statement(); - return tree.toStringTree(parser.ruleNames); - } - - public validate(input: string): ParserError[] { - const lexerError = []; const syntaxErrors = []; - const lexer = this.createLexer(input); - lexer.removeErrorListeners(); - lexer.addErrorListener(new ParserErrorListener(lexerError)); - - const parser: any = this.createParserFromLexer(lexer); - parser.buildParseTrees = true; - - parser.removeErrorListeners(); - parser.addErrorListener(new ParserErrorListener(syntaxErrors)); - - parser.statement(); - - return lexerError.concat(syntaxErrors); - } -} diff --git a/src/core/common/parserErrorListener.ts b/src/core/common/parserErrorListener.ts deleted file mode 100644 index a511092..0000000 --- a/src/core/common/parserErrorListener.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Token, Recognizer } from 'antlr4'; -import { ErrorListener } from 'antlr4/error'; - -export interface ParserError { - startLine: number; - endLine: number; - startCol: number; - endCol: number; - message: string; -} - -export default class ParserErrorListener extends ErrorListener { - private _errors: ParserError[] = []; - - constructor(errors: ParserError[]) { - super(); - this._errors = errors; - } - - syntaxError( - recognizer: Recognizer, offendingSymbol: Token, line: number, - charPositionInLine: number, msg: string, e: any, - ) { - let endCol = charPositionInLine + 1; - if (offendingSymbol.text !== null) { - endCol = charPositionInLine + offendingSymbol.text.length; - } - this._errors.push({ - startLine: line, - endLine: line, - startCol: charPositionInLine, - endCol: endCol, - message: msg, - }); - } -} diff --git a/src/core/index.ts b/src/core/index.ts deleted file mode 100644 index 2eb4d9c..0000000 --- a/src/core/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * as mySQLParser from './mysql'; -export * as tSQLParser from './tsql'; diff --git a/src/core/mysql.ts b/src/core/mysql.ts deleted file mode 100644 index 9a4ac09..0000000 --- a/src/core/mysql.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { InputStream, CommonTokenStream, Lexer } from 'antlr4'; -import { MySQLLexer } from '../parser/MySQLLexer'; -import { MySQLParser } from '../parser/MySQLParser'; - -import BaseParser from './common/baseParser'; - -export default class MySQL extends BaseParser { - public createLexer(input: string): Lexer { - const chars = new InputStream(input.toUpperCase()); - const lexer = new MySQLLexer(chars) as Lexer; - return lexer; - } - public createParserFromLexer(lexer: Lexer) { - const tokenStream = new CommonTokenStream(lexer); - return new MySQLParser(tokenStream); - } -} diff --git a/src/core/tsql.ts b/src/core/tsql.ts deleted file mode 100644 index 16e451e..0000000 --- a/src/core/tsql.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { InputStream, CommonTokenStream, Lexer } from 'antlr4'; -import { TSqlParser } from '../parser/TSqlParser'; -import { TSqlLexer } from '../parser/TSqlLexer'; - -import BaseParser from './common/baseParser'; - -export default class TSQLParser extends BaseParser { - public createLexer(input: string): Lexer { - const chars = new InputStream(input.toUpperCase()); - const lexer = new TSqlLexer(chars) as Lexer; - return lexer; - } - public createParserFromLexer(lexer: Lexer) { - const tokenStream = new CommonTokenStream(lexer); - return new TSqlParser(tokenStream); - } -} diff --git a/src/grammar/mysql/README.md b/src/grammar/generic/README.md similarity index 100% rename from src/grammar/mysql/README.md rename to src/grammar/generic/README.md diff --git a/src/grammar/mysql/MySQLLexer.g4 b/src/grammar/generic/SqlLexer.g4 similarity index 99% rename from src/grammar/mysql/MySQLLexer.g4 rename to src/grammar/generic/SqlLexer.g4 index 5b8d9dc..5f546d1 100644 --- a/src/grammar/mysql/MySQLLexer.g4 +++ b/src/grammar/generic/SqlLexer.g4 @@ -23,7 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -lexer grammar MySQLLexer; +lexer grammar SqlLexer; channels { MYSQLCOMMENT, ERRORCHANNEL } diff --git a/src/grammar/mysql/MySQLParser.g4 b/src/grammar/generic/SqlParser.g4 similarity index 99% rename from src/grammar/mysql/MySQLParser.g4 rename to src/grammar/generic/SqlParser.g4 index 9d50e4f..305bf3a 100644 --- a/src/grammar/mysql/MySQLParser.g4 +++ b/src/grammar/generic/SqlParser.g4 @@ -23,13 +23,15 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -parser grammar MySQLParser; +parser grammar SqlParser; -options { tokenVocab=MySQLLexer; } +options { tokenVocab=SqlLexer; } // Top Level Description +program: statement EOF; + statement : sqlStatements? MINUSMINUS? EOF ; diff --git a/src/grammar/hello/Hello.g4 b/src/grammar/hello/Hello.g4 deleted file mode 100644 index 4b081ce..0000000 --- a/src/grammar/hello/Hello.g4 +++ /dev/null @@ -1,4 +0,0 @@ -grammar helloSQL; -r: 'hello' ID ; -ID: [a-z]+ ; -WS: [ \t\r\n]+ -> skip ; diff --git a/src/grammar/hive/HiveSql.g4 b/src/grammar/hive/HiveSql.g4 new file mode 100644 index 0000000..65dbba0 --- /dev/null +++ b/src/grammar/hive/HiveSql.g4 @@ -0,0 +1,1540 @@ +/** + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +// HPL/SQL Procedural SQL Extension Grammar +grammar HiveSql; + +options { + tokenVocab=HiveSqlLexer; +} + +program: block EOF; + +block : ((begin_end_block | stmt) T_GO?)+ ; // Multiple consecutive blocks/statements + +begin_end_block : + declare_block? T_BEGIN block exception_block? block_end + ; + +single_block_stmt : // Single BEGIN END block (but nested blocks are possible) or single statement + T_BEGIN block exception_block? block_end + | stmt T_SEMICOLON? + ; + +block_end : + {!this._input.LT(2).getText().equalsIgnoreCase("TRANSACTION")}? T_END + ; + +proc_block : + begin_end_block + | stmt+ T_GO? + ; + +stmt : + assignment_stmt + | allocate_cursor_stmt + | alter_table_stmt + | associate_locator_stmt + | begin_transaction_stmt + | break_stmt + | call_stmt + | collect_stats_stmt + | close_stmt + | cmp_stmt + | copy_from_local_stmt + | copy_stmt + | commit_stmt + | create_database_stmt + | create_function_stmt + | create_index_stmt + | create_local_temp_table_stmt + | create_package_stmt + | create_package_body_stmt + | create_procedure_stmt + | create_table_stmt + | declare_stmt + | delete_stmt + | describe_stmt + | drop_stmt + | end_transaction_stmt + | exec_stmt + | exit_stmt + | fetch_stmt + | for_cursor_stmt + | for_range_stmt + | if_stmt + | include_stmt + | insert_stmt + | insert_directory_stmt + | get_diag_stmt + | grant_stmt + | leave_stmt + | map_object_stmt + | merge_stmt + | open_stmt + | print_stmt + | quit_stmt + | raise_stmt + | resignal_stmt + | return_stmt + | rollback_stmt + | select_stmt + | signal_stmt + | summary_stmt + | update_stmt + | use_stmt + | truncate_stmt + | values_into_stmt + | while_stmt + | label + | hive + | host + | null_stmt + | expr_stmt + | semicolon_stmt // Placed here to allow null statements ;;... + ; + +semicolon_stmt : + T_SEMICOLON + | '@' | '#' | '/' + ; + +exception_block : // Exception block + T_EXCEPTION exception_block_item+ + ; + +exception_block_item : + T_WHEN L_ID T_THEN block ~(T_WHEN | T_END) + ; + +null_stmt : // NULL statement (no operation) + T_NULL + ; + +expr_stmt : // Standalone expression + {!this._input.LT(1).getText().equalsIgnoreCase("GO")}? expr + ; + +assignment_stmt : // Assignment statement + T_SET set_session_option + | T_SET? assignment_stmt_item (T_COMMA assignment_stmt_item)* + ; + +assignment_stmt_item : + assignment_stmt_single_item + | assignment_stmt_multiple_item + | assignment_stmt_select_item + ; + +assignment_stmt_single_item : + ident T_COLON? T_EQUAL expr + | T_OPEN_P ident T_CLOSE_P T_COLON? T_EQUAL expr + ; + +assignment_stmt_multiple_item : + T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P T_COLON? T_EQUAL T_OPEN_P expr (T_COMMA expr)* T_CLOSE_P + ; + +assignment_stmt_select_item : + (ident | (T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P)) T_COLON? T_EQUAL T_OPEN_P select_stmt T_CLOSE_P + ; + +allocate_cursor_stmt: + T_ALLOCATE ident T_CURSOR T_FOR ((T_RESULT T_SET) | T_PROCEDURE) ident + ; + +associate_locator_stmt : + T_ASSOCIATE (T_RESULT T_SET)? (T_LOCATOR | T_LOCATORS) T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P T_WITH T_PROCEDURE ident + ; + +begin_transaction_stmt : + T_BEGIN T_TRANSACTION + ; + +break_stmt : + T_BREAK + ; + +call_stmt : + T_CALL ident (T_OPEN_P expr_func_params? T_CLOSE_P | expr_func_params)? + ; + +declare_stmt : // Declaration statement + T_DECLARE declare_stmt_item (T_COMMA declare_stmt_item)* + ; + +declare_block : // Declaration block + T_DECLARE declare_stmt_item T_SEMICOLON (declare_stmt_item T_SEMICOLON)* + ; + +declare_block_inplace : + declare_stmt_item T_SEMICOLON (declare_stmt_item T_SEMICOLON)* + ; + +declare_stmt_item : + declare_cursor_item + | declare_condition_item + | declare_handler_item + | declare_var_item + | declare_temporary_table_item + ; + +declare_var_item : + ident (T_COMMA ident)* T_AS? dtype dtype_len? dtype_attr* dtype_default? + | ident T_CONSTANT T_AS? dtype dtype_len? dtype_default + ; + +declare_condition_item : // Condition declaration + ident T_CONDITION + ; + +declare_cursor_item : // Cursor declaration + (T_CURSOR ident | ident T_CURSOR) (cursor_with_return | cursor_without_return)? (T_IS | T_AS | T_FOR) (select_stmt | expr ) + ; + +cursor_with_return : + T_WITH T_RETURN T_ONLY? (T_TO (T_CALLER | T_CLIENT))? + ; + +cursor_without_return : + T_WITHOUT T_RETURN + ; + +declare_handler_item : // Condition handler declaration + (T_CONTINUE | T_EXIT) T_HANDLER T_FOR (T_SQLEXCEPTION | T_SQLWARNING | T_NOT T_FOUND | ident) single_block_stmt + ; + +declare_temporary_table_item : // DECLARE TEMPORARY TABLE statement + T_GLOBAL? T_TEMPORARY T_TABLE ident create_table_preoptions? create_table_definition + ; + +create_table_stmt : + T_CREATE T_TABLE (T_IF T_NOT T_EXISTS)? table_name create_table_preoptions? create_table_definition + ; + +create_local_temp_table_stmt : + T_CREATE (T_LOCAL T_TEMPORARY | (T_SET | T_MULTISET)? T_VOLATILE) T_TABLE ident create_table_preoptions? create_table_definition + ; + +create_table_definition : + (T_AS? T_OPEN_P select_stmt T_CLOSE_P | T_AS? select_stmt | T_OPEN_P create_table_columns T_CLOSE_P | T_LIKE table_name) create_table_options? + ; + +create_table_columns : + create_table_columns_item (T_COMMA create_table_columns_item)* + ; + +create_table_columns_item : + column_name dtype dtype_len? dtype_attr* create_table_column_inline_cons* + | (T_CONSTRAINT ident)? create_table_column_cons + ; + +column_name : + ident + ; + +create_table_column_inline_cons : + dtype_default + | T_NOT? T_NULL + | T_PRIMARY T_KEY + | T_UNIQUE + | T_REFERENCES table_name T_OPEN_P ident T_CLOSE_P create_table_fk_action* + | T_IDENTITY T_OPEN_P L_INT (T_COMMA L_INT)* T_CLOSE_P + | T_AUTO_INCREMENT + | T_ENABLE + ; + +create_table_column_cons : + T_PRIMARY T_KEY T_CLUSTERED? T_OPEN_P ident (T_ASC | T_DESC)? (T_COMMA ident (T_ASC | T_DESC)?)* T_CLOSE_P T_ENABLE? index_storage_clause? + | T_FOREIGN T_KEY T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P T_REFERENCES table_name T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P create_table_fk_action* + ; + +create_table_fk_action : + T_ON (T_UPDATE | T_DELETE) (T_NO T_ACTION | T_RESTRICT | T_SET T_NULL | T_SET T_DEFAULT | T_CASCADE) + ; + +create_table_preoptions : + create_table_preoptions_item+ + ; + +create_table_preoptions_item : + T_COMMA create_table_preoptions_td_item + | create_table_options_hive_item + ; + +create_table_preoptions_td_item : + T_NO? (T_LOG | T_FALLBACK) + ; + +create_table_options : + create_table_options_item+ + ; + +create_table_options_item : + T_ON T_COMMIT (T_DELETE | T_PRESERVE) T_ROWS + | create_table_options_ora_item + | create_table_options_db2_item + | create_table_options_td_item + | create_table_options_hive_item + | create_table_options_mssql_item + | create_table_options_mysql_item + ; + +create_table_options_ora_item : + T_SEGMENT T_CREATION (T_IMMEDIATE | T_DEFERRED) + | (T_PCTFREE | T_PCTUSED | T_INITRANS | T_MAXTRANS) L_INT + | T_NOCOMPRESS + | (T_LOGGING | T_NOLOGGING) + | T_STORAGE T_OPEN_P (ident | L_INT)+ T_CLOSE_P + | T_TABLESPACE ident + ; + +create_table_options_db2_item : + T_INDEX? T_IN ident + | T_WITH T_REPLACE + | T_DISTRIBUTE T_BY T_HASH T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P + | T_NOT? T_LOGGED + | T_COMPRESS (T_YES | T_NO) + | T_DEFINITION T_ONLY + | T_WITH T_RESTRICT T_ON T_DROP + ; + +create_table_options_td_item : + T_UNIQUE? T_PRIMARY T_INDEX T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P + | T_WITH T_DATA + ; + +create_table_options_hive_item : + create_table_hive_row_format + | T_STORED T_AS ident + ; + +create_table_hive_row_format : + T_ROW T_FORMAT T_DELIMITED create_table_hive_row_format_fields* + ; + +create_table_hive_row_format_fields : + T_FIELDS T_TERMINATED T_BY expr (T_ESCAPED T_BY expr)? + | T_COLLECTION T_ITEMS T_TERMINATED T_BY expr + | T_MAP T_KEYS T_TERMINATED T_BY expr + | T_LINES T_TERMINATED T_BY expr + | T_NULL T_DEFINED T_AS expr + ; + +create_table_options_mssql_item : + T_ON ident + | T_TEXTIMAGE_ON ident + ; + +create_table_options_mysql_item : + T_AUTO_INCREMENT T_EQUAL? expr + | T_COMMENT T_EQUAL? expr + | T_DEFAULT? (T_CHARACTER T_SET | T_CHARSET) T_EQUAL? expr + | T_ENGINE T_EQUAL? expr + ; + +alter_table_stmt : + T_ALTER T_TABLE table_name alter_table_item + ; + +alter_table_item : + alter_table_add_constraint + ; + +alter_table_add_constraint : + T_ADD2 (T_CONSTRAINT ident)? alter_table_add_constraint_item + ; + +alter_table_add_constraint_item : + T_PRIMARY T_KEY T_CLUSTERED? T_OPEN_P ident (T_ASC | T_DESC)? (T_COMMA ident (T_ASC | T_DESC)?)* T_CLOSE_P T_ENABLE? index_storage_clause? + | T_FOREIGN T_KEY T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P T_REFERENCES table_name T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P create_table_fk_action* + | T_DEFAULT expr T_FOR ident + ; + +dtype : // Data types + T_CHAR + | T_CHARACTER + | T_BIGINT + | T_BINARY_DOUBLE + | T_BINARY_FLOAT + | T_BINARY_INTEGER + | T_BIT + | T_DATE + | T_DATETIME + | T_DEC + | T_DECIMAL + | T_DOUBLE T_PRECISION? + | T_FLOAT + | T_INT + | T_INT2 + | T_INT4 + | T_INT8 + | T_INTEGER + | T_NCHAR + | T_NVARCHAR + | T_NUMBER + | T_NUMERIC + | T_PLS_INTEGER + | T_REAL + | T_RESULT_SET_LOCATOR T_VARYING + | T_SIMPLE_FLOAT + | T_SIMPLE_DOUBLE + | T_SIMPLE_INTEGER + | T_SMALLINT + | T_SMALLDATETIME + | T_STRING + | T_SYS_REFCURSOR + | T_TIMESTAMP + | T_TINYINT + | T_VARCHAR + | T_VARCHAR2 + | T_XML + | ident ('%' (T_TYPE | T_ROWTYPE))? // User-defined or derived data type + ; + +dtype_len : // Data type length or size specification + T_OPEN_P (L_INT | T_MAX) (T_CHAR | T_BYTE)? (T_COMMA L_INT)? T_CLOSE_P + ; + +dtype_attr : + T_NOT? T_NULL + | T_CHARACTER T_SET ident + | T_NOT? (T_CASESPECIFIC | T_CS) + ; + +dtype_default : + T_COLON? T_EQUAL expr + | T_WITH? T_DEFAULT expr? + ; + +create_database_stmt : + T_CREATE (T_DATABASE | T_SCHEMA) (T_IF T_NOT T_EXISTS)? expr create_database_option* + ; + +create_database_option : + T_COMMENT expr + | T_LOCATION expr + ; + +create_function_stmt : + (T_ALTER | T_CREATE (T_OR T_REPLACE)? | T_REPLACE)? T_FUNCTION ident create_routine_params? create_function_return (T_AS | T_IS)? declare_block_inplace? single_block_stmt + ; + +create_function_return : + (T_RETURN | T_RETURNS) dtype dtype_len? + ; + +create_package_stmt : + (T_ALTER | T_CREATE (T_OR T_REPLACE)? | T_REPLACE)? T_PACKAGE ident (T_AS | T_IS) package_spec T_END (ident T_SEMICOLON)? + ; + +package_spec : + package_spec_item T_SEMICOLON (package_spec_item T_SEMICOLON)* + ; + +package_spec_item : + declare_stmt_item + | T_FUNCTION ident create_routine_params? create_function_return + | (T_PROCEDURE | T_PROC) ident create_routine_params? + ; + +create_package_body_stmt : + (T_ALTER | T_CREATE (T_OR T_REPLACE)? | T_REPLACE)? T_PACKAGE T_BODY ident (T_AS | T_IS) package_body T_END (ident T_SEMICOLON)? + ; + +package_body : + package_body_item T_SEMICOLON (package_body_item T_SEMICOLON)* + ; + +package_body_item : + declare_stmt_item + | create_function_stmt + | create_procedure_stmt + ; + +create_procedure_stmt : + (T_ALTER | T_CREATE (T_OR T_REPLACE)? | T_REPLACE)? (T_PROCEDURE | T_PROC) ident create_routine_params? create_routine_options? (T_AS | T_IS)? declare_block_inplace? label? proc_block (ident T_SEMICOLON)? + ; + +create_routine_params : + T_OPEN_P T_CLOSE_P + | T_OPEN_P create_routine_param_item (T_COMMA create_routine_param_item)* T_CLOSE_P + | {!this._input.LT(1).getText().equalsIgnoreCase("IS") && + !this._input.LT(1).getText().equalsIgnoreCase("AS") && + !(this._input.LT(1).getText().equalsIgnoreCase("DYNAMIC") && this._input.LT(2).getText().equalsIgnoreCase("RESULT")) + }? + create_routine_param_item (T_COMMA create_routine_param_item)* + ; + +create_routine_param_item : + (T_IN | T_OUT | T_INOUT | T_IN T_OUT)? ident dtype dtype_len? dtype_attr* dtype_default? + | ident (T_IN | T_OUT | T_INOUT | T_IN T_OUT)? dtype dtype_len? dtype_attr* dtype_default? + ; + +create_routine_options : + create_routine_option+ + ; +create_routine_option : + T_LANGUAGE T_SQL + | T_SQL T_SECURITY (T_CREATOR | T_DEFINER | T_INVOKER | T_OWNER) + | T_DYNAMIC? T_RESULT T_SETS L_INT + ; + +drop_stmt : // DROP statement + T_DROP T_TABLE (T_IF T_EXISTS)? table_name + | T_DROP (T_DATABASE | T_SCHEMA) (T_IF T_EXISTS)? expr + ; + +end_transaction_stmt : + T_END T_TRANSACTION + ; + +exec_stmt : // EXEC, EXECUTE IMMEDIATE statement + (T_EXEC | T_EXECUTE) T_IMMEDIATE? expr (T_OPEN_P expr_func_params T_CLOSE_P | expr_func_params)? (T_INTO L_ID (T_COMMA L_ID)*)? using_clause? + ; + +if_stmt : // IF statement + if_plsql_stmt + | if_tsql_stmt + | if_bteq_stmt + ; + +if_plsql_stmt : + T_IF bool_expr T_THEN block elseif_block* else_block? T_END T_IF + ; + +if_tsql_stmt : + T_IF bool_expr single_block_stmt (T_ELSE single_block_stmt)? + ; + +if_bteq_stmt : + '.' T_IF bool_expr T_THEN single_block_stmt + ; + +elseif_block : + (T_ELSIF | T_ELSEIF) bool_expr T_THEN block + ; + +else_block : + T_ELSE block + ; + +include_stmt : // INCLUDE statement + T_INCLUDE (file_name | expr) + ; + +insert_stmt : // INSERT statement + T_INSERT (T_OVERWRITE T_TABLE | T_INTO T_TABLE?) table_name insert_stmt_cols? (select_stmt | insert_stmt_rows) + ; + +insert_stmt_cols : + T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P + ; + +insert_stmt_rows : + T_VALUES insert_stmt_row (T_COMMA insert_stmt_row)* + ; + +insert_stmt_row: + T_OPEN_P expr (T_COMMA expr)* T_CLOSE_P + ; + +insert_directory_stmt : + T_INSERT T_OVERWRITE T_LOCAL? T_DIRECTORY expr_file expr_select + ; + +exit_stmt : + T_EXIT L_ID? (T_WHEN bool_expr)? + ; + +get_diag_stmt : // GET DIAGNOSTICS statement + T_GET T_DIAGNOSTICS get_diag_stmt_item + ; + +get_diag_stmt_item : + get_diag_stmt_exception_item + | get_diag_stmt_rowcount_item + ; + +get_diag_stmt_exception_item : + T_EXCEPTION L_INT ident T_EQUAL T_MESSAGE_TEXT + ; + +get_diag_stmt_rowcount_item : + ident T_EQUAL T_ROW_COUNT + ; + +grant_stmt : + T_GRANT grant_stmt_item (T_COMMA grant_stmt_item)* T_TO T_ROLE ident + ; + +grant_stmt_item : + T_EXECUTE T_ON T_PROCEDURE ident + ; + +leave_stmt : + T_LEAVE L_ID? + ; + +map_object_stmt : + T_MAP T_OBJECT expr (T_TO expr)? (T_AT expr)? + ; + +open_stmt : // OPEN cursor statement + T_OPEN L_ID (T_FOR (select_stmt | expr))? + ; + +fetch_stmt : // FETCH cursor statement + T_FETCH T_FROM? L_ID T_INTO L_ID (T_COMMA L_ID)* + ; + +collect_stats_stmt : + T_COLLECT (T_STATISTICS | T_STATS) T_ON table_name collect_stats_clause? + ; + +collect_stats_clause : + T_COLUMN T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P + ; + +close_stmt : // CLOSE cursor statement + T_CLOSE L_ID + ; + +cmp_stmt : // CMP statement + T_CMP (T_ROW_COUNT | T_SUM) cmp_source T_COMMA cmp_source + ; + +cmp_source : + (table_name where_clause? | T_OPEN_P select_stmt T_CLOSE_P) (T_AT ident)? + ; + +copy_from_local_stmt : // COPY FROM LOCAL statement + T_COPY T_FROM T_LOCAL copy_source (T_COMMA copy_source)* T_TO copy_target copy_file_option* + ; + +copy_stmt : // COPY statement + T_COPY (table_name | T_OPEN_P select_stmt T_CLOSE_P) T_TO T_HDFS? copy_target copy_option* + ; + +copy_source : + (file_name | expr) + ; + +copy_target : + (file_name | expr) + ; + +copy_option : + T_AT ident + | T_BATCHSIZE expr + | T_DELIMITER expr + | T_SQLINSERT ident + ; + +copy_file_option : + T_DELETE + | T_IGNORE + | T_OVERWRITE + ; + +commit_stmt : // COMMIT statement + T_COMMIT T_WORK? + ; + +create_index_stmt : // CREATE INDEX statement + T_CREATE T_UNIQUE? T_INDEX ident T_ON table_name T_OPEN_P create_index_col (T_COMMA create_index_col)* T_CLOSE_P + ; + +create_index_col : + ident (T_ASC | T_DESC)? + ; + +index_storage_clause : + index_mssql_storage_clause + ; + +index_mssql_storage_clause : + T_WITH T_OPEN_P ident T_EQUAL ident (T_COMMA ident T_EQUAL ident)* T_CLOSE_P create_table_options_mssql_item* + ; + +print_stmt : // PRINT statement + T_PRINT expr + | T_PRINT T_OPEN_P expr T_CLOSE_P + ; + +quit_stmt : + '.'? T_QUIT expr? + ; + +raise_stmt : + T_RAISE + ; + +resignal_stmt : // RESIGNAL statement + T_RESIGNAL (T_SQLSTATE T_VALUE? expr (T_SET T_MESSAGE_TEXT T_EQUAL expr)? )? + ; + +return_stmt : // RETURN statement + T_RETURN expr? + ; + +rollback_stmt : // ROLLBACK statement + T_ROLLBACK T_WORK? + ; + +set_session_option : + set_current_schema_option + | set_mssql_session_option + | set_teradata_session_option + ; + +set_current_schema_option : + ((T_CURRENT? T_SCHEMA) | T_CURRENT_SCHEMA) T_EQUAL? expr + ; + +set_mssql_session_option : + ( T_ANSI_NULLS + | T_ANSI_PADDING + | T_NOCOUNT + | T_QUOTED_IDENTIFIER + | T_XACT_ABORT ) + (T_ON | T_OFF) + ; + +set_teradata_session_option : + T_QUERY_BAND T_EQUAL (expr | T_NONE) T_UPDATE? T_FOR (T_TRANSACTION | T_SESSION) + ; + +signal_stmt : // SIGNAL statement + T_SIGNAL ident + ; + +summary_stmt : // SUMMARY statement + T_SUMMARY (T_TOP expr)? T_FOR (select_stmt | table_name where_clause? (T_LIMIT expr)?) + ; + +truncate_stmt : + T_TRUNCATE T_TABLE? table_name + ; + +use_stmt : // USE statement + T_USE expr + ; + +values_into_stmt : // VALUES INTO statement + T_VALUES T_OPEN_P? expr (T_COMMA expr)* T_CLOSE_P? T_INTO T_OPEN_P? ident (T_COMMA ident)* T_CLOSE_P? + ; + +while_stmt : // WHILE loop statement + T_WHILE bool_expr (T_DO | T_LOOP | T_THEN | T_BEGIN) block T_END (T_WHILE | T_LOOP)? + ; + +for_cursor_stmt : // FOR (cursor) statement + T_FOR L_ID T_IN T_OPEN_P? select_stmt T_CLOSE_P? T_LOOP block T_END T_LOOP + ; + +for_range_stmt : // FOR (Integer range) statement + T_FOR L_ID T_IN T_REVERSE? expr T_DOT2 expr ((T_BY | T_STEP) expr)? T_LOOP block T_END T_LOOP + ; + +label : + L_LABEL + | T_LESS T_LESS L_ID T_GREATER T_GREATER + ; + +using_clause : // USING var,... clause + T_USING expr (T_COMMA expr)* + ; + +select_stmt : // SELECT statement + cte_select_stmt? fullselect_stmt + ; + +cte_select_stmt : + T_WITH cte_select_stmt_item (T_COMMA cte_select_stmt_item)* + ; + +cte_select_stmt_item : + ident cte_select_cols? T_AS T_OPEN_P fullselect_stmt T_CLOSE_P + ; + +cte_select_cols : + T_OPEN_P ident (T_COMMA ident)* T_CLOSE_P + ; + +fullselect_stmt : + fullselect_stmt_item (fullselect_set_clause fullselect_stmt_item)* + ; + +fullselect_stmt_item : + subselect_stmt + | T_OPEN_P fullselect_stmt T_CLOSE_P + ; + +fullselect_set_clause : + T_UNION T_ALL? + | T_EXCEPT T_ALL? + | T_INTERSECT T_ALL? + ; + +subselect_stmt : + (T_SELECT | T_SEL) select_list into_clause? from_clause? where_clause? group_by_clause? (having_clause | qualify_clause)? order_by_clause? select_options? + ; + +select_list : + select_list_set? select_list_limit? select_list_item (T_COMMA select_list_item)* + ; + +select_list_set : + T_ALL + | T_DISTINCT + ; + +select_list_limit : + T_TOP expr + ; + +select_list_item : + ((ident T_EQUAL)? expr select_list_alias? | select_list_asterisk) + ; + +select_list_alias : + {!this._input.LT(1).getText().equalsIgnoreCase("INTO") && !this._input.LT(1).getText().equalsIgnoreCase("FROM")}? T_AS? ident + | T_OPEN_P T_TITLE L_S_STRING T_CLOSE_P + ; + +select_list_asterisk : + (L_ID '.')? '*' + ; + +into_clause : + T_INTO ident (T_COMMA ident)* + ; + +from_clause : + T_FROM from_table_clause (from_join_clause)* + ; + +from_table_clause : + from_table_name_clause + | from_subselect_clause + | from_table_values_clause + ; + +from_table_name_clause : + table_name from_alias_clause? + ; + +from_subselect_clause : + T_OPEN_P select_stmt T_CLOSE_P from_alias_clause? + ; + +from_join_clause : + T_COMMA from_table_clause + | from_join_type_clause from_table_clause T_ON bool_expr + ; + +from_join_type_clause : + T_INNER? T_JOIN + | (T_LEFT | T_RIGHT | T_FULL) T_OUTER? T_JOIN + ; + +from_table_values_clause: + T_TABLE T_OPEN_P T_VALUES from_table_values_row (T_COMMA from_table_values_row)* T_CLOSE_P from_alias_clause? + ; + +from_table_values_row: + expr + | T_OPEN_P expr (T_COMMA expr)* T_CLOSE_P + ; + +from_alias_clause : + {!this._input.LT(1).getText().equalsIgnoreCase("EXEC") && + !this._input.LT(1).getText().equalsIgnoreCase("EXECUTE") && + !this._input.LT(1).getText().equalsIgnoreCase("INNER") && + !this._input.LT(1).getText().equalsIgnoreCase("LEFT") && + !this._input.LT(1).getText().equalsIgnoreCase("GROUP") && + !this._input.LT(1).getText().equalsIgnoreCase("ORDER") && + !this._input.LT(1).getText().equalsIgnoreCase("LIMIT") && + !this._input.LT(1).getText().equalsIgnoreCase("WITH")}? + T_AS? ident (T_OPEN_P L_ID (T_COMMA L_ID)* T_CLOSE_P)? + ; + +table_name : + ident + ; + +where_clause : + T_WHERE bool_expr + ; + +group_by_clause : + T_GROUP T_BY expr (T_COMMA expr)* + ; + +having_clause : + T_HAVING bool_expr + ; + +qualify_clause : + T_QUALIFY bool_expr + ; + +order_by_clause : + T_ORDER T_BY expr (T_ASC | T_DESC)? (T_COMMA expr (T_ASC | T_DESC)?)* + ; + +select_options : + select_options_item+ + ; + +select_options_item : + T_LIMIT expr + | T_WITH (T_RR | T_RS | T_CS | T_UR) (T_USE T_AND T_KEEP (T_EXCLUSIVE | T_UPDATE | T_SHARE) T_LOCKS)? + ; + +update_stmt : // UPDATE statement + T_UPDATE update_table T_SET update_assignment where_clause? update_upsert? + ; + +update_assignment : + assignment_stmt_item (T_COMMA assignment_stmt_item)* + ; + +update_table : + (table_name from_clause? | T_OPEN_P select_stmt T_CLOSE_P) (T_AS? ident)? + ; + +update_upsert : + T_ELSE insert_stmt + ; + +merge_stmt : // MERGE statement + T_MERGE T_INTO merge_table T_USING merge_table T_ON bool_expr merge_condition+ + ; + +merge_table : + (table_name | (T_OPEN_P select_stmt T_CLOSE_P)) (T_AS? ident)? + ; + +merge_condition : + T_WHEN T_NOT? T_MATCHED (T_AND bool_expr)? T_THEN merge_action + | T_ELSE T_IGNORE + ; + +merge_action : + T_INSERT insert_stmt_cols? T_VALUES insert_stmt_row + | T_UPDATE T_SET assignment_stmt_item (T_COMMA assignment_stmt_item)* where_clause? + | T_DELETE + ; + +delete_stmt : + T_DELETE T_FROM? table_name delete_alias? (where_clause | T_ALL)? + ; + +delete_alias : + {!this._input.LT(1).getText().equalsIgnoreCase("ALL")}? + T_AS? ident + ; + +describe_stmt : + (T_DESCRIBE | T_DESC) T_TABLE? table_name + ; + +bool_expr : // Boolean condition + T_NOT? T_OPEN_P bool_expr T_CLOSE_P + | bool_expr bool_expr_logical_operator bool_expr + | bool_expr_atom + ; + +bool_expr_atom : + bool_expr_unary + | bool_expr_binary + | expr + ; + +bool_expr_unary : + expr T_IS T_NOT? T_NULL + | expr T_BETWEEN expr T_AND expr + | T_NOT? T_EXISTS T_OPEN_P select_stmt T_CLOSE_P + | bool_expr_single_in + | bool_expr_multi_in + ; + +bool_expr_single_in : + expr T_NOT? T_IN T_OPEN_P ((expr (T_COMMA expr)*) | select_stmt) T_CLOSE_P + ; + +bool_expr_multi_in : + T_OPEN_P expr (T_COMMA expr)* T_CLOSE_P T_NOT? T_IN T_OPEN_P select_stmt T_CLOSE_P + ; + +bool_expr_binary : + expr bool_expr_binary_operator expr + ; + +bool_expr_logical_operator : + T_AND + | T_OR + ; + +bool_expr_binary_operator : + T_EQUAL + | T_EQUAL2 + | T_NOTEQUAL + | T_NOTEQUAL2 + | T_LESS + | T_LESSEQUAL + | T_GREATER + | T_GREATEREQUAL + | T_NOT? (T_LIKE | T_RLIKE | T_REGEXP) + ; + +expr : + expr interval_item + | expr T_MUL expr + | expr T_DIV expr + | expr T_ADD expr + | expr T_SUB expr + | T_OPEN_P select_stmt T_CLOSE_P + | T_OPEN_P expr T_CLOSE_P + | expr_interval + | expr_concat + | expr_case + | expr_cursor_attribute + | expr_agg_window_func + | expr_spec_func + | expr_func + | expr_atom + ; + +expr_atom : + date_literal + | timestamp_literal + | bool_literal + | ident + | string + | dec_number + | int_number + | null_const + ; + +expr_interval : + T_INTERVAL expr interval_item + ; +interval_item : + T_DAY + | T_DAYS + | T_MICROSECOND + | T_MICROSECONDS + | T_SECOND + | T_SECONDS + ; + +expr_concat : // String concatenation operator + expr_concat_item (T_PIPE | T_CONCAT) expr_concat_item ((T_PIPE | T_CONCAT) expr_concat_item)* + ; + +expr_concat_item : + T_OPEN_P expr T_CLOSE_P + | expr_case + | expr_agg_window_func + | expr_spec_func + | expr_func + | expr_atom + ; + +expr_case : // CASE expression + expr_case_simple + | expr_case_searched + ; + +expr_case_simple : + T_CASE expr (T_WHEN expr T_THEN expr)+ (T_ELSE expr)? T_END + ; + +expr_case_searched : + T_CASE (T_WHEN bool_expr T_THEN expr)+ (T_ELSE expr)? T_END + ; + +expr_cursor_attribute : + ident '%' (T_ISOPEN | T_FOUND | T_NOTFOUND) + ; + +expr_agg_window_func : + T_AVG T_OPEN_P expr_func_all_distinct? expr T_CLOSE_P expr_func_over_clause? + | T_COUNT T_OPEN_P ((expr_func_all_distinct? expr) | '*') T_CLOSE_P expr_func_over_clause? + | T_COUNT_BIG T_OPEN_P ((expr_func_all_distinct? expr) | '*') T_CLOSE_P expr_func_over_clause? + | T_CUME_DIST T_OPEN_P T_CLOSE_P expr_func_over_clause + | T_DENSE_RANK T_OPEN_P T_CLOSE_P expr_func_over_clause + | T_FIRST_VALUE T_OPEN_P expr T_CLOSE_P expr_func_over_clause + | T_LAG T_OPEN_P expr (T_COMMA expr (T_COMMA expr)?)? T_CLOSE_P expr_func_over_clause + | T_LAST_VALUE T_OPEN_P expr T_CLOSE_P expr_func_over_clause + | T_LEAD T_OPEN_P expr (T_COMMA expr (T_COMMA expr)?)? T_CLOSE_P expr_func_over_clause + | T_MAX T_OPEN_P expr_func_all_distinct? expr T_CLOSE_P expr_func_over_clause? + | T_MIN T_OPEN_P expr_func_all_distinct? expr T_CLOSE_P expr_func_over_clause? + | T_RANK T_OPEN_P T_CLOSE_P expr_func_over_clause + | T_ROW_NUMBER T_OPEN_P T_CLOSE_P expr_func_over_clause + | T_STDEV T_OPEN_P expr_func_all_distinct? expr T_CLOSE_P expr_func_over_clause? + | T_SUM T_OPEN_P expr_func_all_distinct? expr T_CLOSE_P expr_func_over_clause? + | T_VAR T_OPEN_P expr_func_all_distinct? expr T_CLOSE_P expr_func_over_clause? + | T_VARIANCE T_OPEN_P expr_func_all_distinct? expr T_CLOSE_P expr_func_over_clause? + ; + +expr_func_all_distinct : + T_ALL + | T_DISTINCT + ; + +expr_func_over_clause : + T_OVER T_OPEN_P expr_func_partition_by_clause? order_by_clause? T_CLOSE_P + ; + +expr_func_partition_by_clause : + T_PARTITION T_BY expr (T_COMMA expr)* + ; + +expr_spec_func : + T_ACTIVITY_COUNT + | T_CAST T_OPEN_P expr T_AS dtype dtype_len? T_CLOSE_P + | T_COUNT T_OPEN_P (expr | '*') T_CLOSE_P + | T_CURRENT_DATE | T_CURRENT T_DATE + | (T_CURRENT_TIMESTAMP | T_CURRENT T_TIMESTAMP) (T_OPEN_P expr T_CLOSE_P)? + | T_CURRENT_USER | T_CURRENT T_USER + | T_MAX_PART_STRING T_OPEN_P expr (T_COMMA expr (T_COMMA expr T_EQUAL expr)*)? T_CLOSE_P + | T_MIN_PART_STRING T_OPEN_P expr (T_COMMA expr (T_COMMA expr T_EQUAL expr)*)? T_CLOSE_P + | T_MAX_PART_INT T_OPEN_P expr (T_COMMA expr (T_COMMA expr T_EQUAL expr)*)? T_CLOSE_P + | T_MIN_PART_INT T_OPEN_P expr (T_COMMA expr (T_COMMA expr T_EQUAL expr)*)? T_CLOSE_P + | T_MAX_PART_DATE T_OPEN_P expr (T_COMMA expr (T_COMMA expr T_EQUAL expr)*)? T_CLOSE_P + | T_MIN_PART_DATE T_OPEN_P expr (T_COMMA expr (T_COMMA expr T_EQUAL expr)*)? T_CLOSE_P + | T_PART_COUNT T_OPEN_P expr (T_COMMA expr T_EQUAL expr)* T_CLOSE_P + | T_PART_LOC T_OPEN_P expr (T_COMMA expr T_EQUAL expr)+ (T_COMMA expr)? T_CLOSE_P + | T_TRIM T_OPEN_P expr T_CLOSE_P + | T_SUBSTRING T_OPEN_P expr T_FROM expr (T_FOR expr)? T_CLOSE_P + | T_SYSDATE + | T_USER + ; + +expr_func : + ident T_OPEN_P expr_func_params? T_CLOSE_P + ; + +expr_func_params : + func_param (T_COMMA func_param)* + ; + +func_param : + {!this._input.LT(1).getText().equalsIgnoreCase("INTO")}? (ident T_EQUAL T_GREATER?)? expr + ; + +expr_select : + select_stmt + | expr + ; + +expr_file : + file_name + | expr + ; + +hive : + T_HIVE hive_item* + ; + +hive_item : + T_SUB ident expr + | T_SUB ident L_ID T_EQUAL expr + | T_SUB ident + ; + +host : + '!' host_cmd ';' // OS command + | host_stmt + ; + +host_cmd : + .*? + ; + +host_stmt : + T_HOST expr + ; + +file_name : + L_FILE | ('/' | '.' '/')? ident ('/' ident)* + ; + +date_literal : // DATE 'YYYY-MM-DD' literal + T_DATE string + ; + +timestamp_literal : // TIMESTAMP 'YYYY-MM-DD HH:MI:SS.FFF' literal + T_TIMESTAMP string + ; + +ident : + '-'? (L_ID | non_reserved_words) ('.' (L_ID | non_reserved_words))* + ; + +string : // String literal (single or double quoted) + L_S_STRING # single_quotedString + | L_D_STRING # double_quotedString + ; + +int_number : // Integer (positive or negative) + ('-' | '+')? L_INT + ; + +dec_number : // Decimal number (positive or negative) + ('-' | '+')? L_DEC + ; + +bool_literal : // Boolean literal + T_TRUE + | T_FALSE + ; + +null_const : // NULL constant + T_NULL + ; + +non_reserved_words : // Tokens that are not reserved words and can be used as identifiers + T_ACTION + | T_ACTIVITY_COUNT + | T_ADD2 + | T_ALL + | T_ALLOCATE + | T_ALTER + | T_AND + | T_ANSI_NULLS + | T_ANSI_PADDING + | T_AS + | T_ASC + | T_ASSOCIATE + | T_AT + | T_AUTO_INCREMENT + | T_AVG + | T_BATCHSIZE + | T_BEGIN + | T_BETWEEN + | T_BIGINT + | T_BINARY_DOUBLE + | T_BINARY_FLOAT + | T_BIT + | T_BODY + | T_BREAK + | T_BY + | T_BYTE + | T_CALL + | T_CALLER + | T_CASCADE + | T_CASE + | T_CASESPECIFIC + | T_CAST + | T_CHAR + | T_CHARACTER + | T_CHARSET + | T_CLIENT + | T_CLOSE + | T_CLUSTERED + | T_CMP + | T_COLLECT + | T_COLLECTION + | T_COLUMN + | T_COMMENT + | T_COMPRESS + | T_CONSTANT + | T_COPY + | T_COMMIT + | T_CONCAT + | T_CONDITION + | T_CONSTRAINT + | T_CONTINUE + | T_COUNT + | T_COUNT_BIG + | T_CREATE + | T_CREATION + | T_CREATOR + | T_CS + | T_CUME_DIST + | T_CURRENT + | T_CURRENT_DATE + | T_CURRENT_SCHEMA + | T_CURRENT_TIMESTAMP + | T_CURRENT_USER + | T_CURSOR + | T_DATA + | T_DATABASE + | T_DATE + | T_DATETIME + | T_DAY + | T_DAYS + | T_DEC + | T_DECIMAL + | T_DECLARE + | T_DEFAULT + | T_DEFERRED + | T_DEFINED + | T_DEFINER + | T_DEFINITION + | T_DELETE + | T_DELIMITED + | T_DELIMITER + | T_DENSE_RANK + | T_DESC + | T_DESCRIBE + | T_DIAGNOSTICS + | T_DIR + | T_DIRECTORY + | T_DISTINCT + | T_DISTRIBUTE + | T_DO + | T_DOUBLE + | T_DROP + | T_DYNAMIC + // T_ELSE reserved word + // T_ELSEIF reserved word + // T_ELSIF reserved word + // T_END reserved word + | T_ENABLE + | T_ENGINE + | T_ESCAPED + | T_EXCEPT + | T_EXEC + | T_EXECUTE + | T_EXCEPTION + | T_EXCLUSIVE + | T_EXISTS + | T_EXIT + | T_FALLBACK + | T_FALSE + | T_FETCH + | T_FIELDS + | T_FILE + | T_FILES + | T_FIRST_VALUE + | T_FLOAT + | T_FOR + | T_FOREIGN + | T_FORMAT + | T_FOUND + | T_FROM + | T_FULL + | T_FUNCTION + | T_GET + | T_GLOBAL + | T_GO + | T_GRANT + | T_GROUP + | T_HANDLER + | T_HASH + | T_HAVING + | T_HDFS + | T_HIVE + | T_HOST + | T_IDENTITY + | T_IF + | T_IGNORE + | T_IMMEDIATE + | T_IN + | T_INCLUDE + | T_INDEX + | T_INITRANS + | T_INNER + | T_INOUT + | T_INSERT + | T_INT + | T_INT2 + | T_INT4 + | T_INT8 + | T_INTEGER + | T_INTERSECT + | T_INTERVAL + | T_INTO + | T_INVOKER + | T_ITEMS + | T_IS + | T_ISOPEN + | T_JOIN + | T_KEEP + | T_KEY + | T_KEYS + | T_LAG + | T_LANGUAGE + | T_LAST_VALUE + | T_LEAD + | T_LEAVE + | T_LEFT + | T_LIKE + | T_LIMIT + | T_LINES + | T_LOCAL + | T_LOCATION + | T_LOCATOR + | T_LOCATORS + | T_LOCKS + | T_LOG + | T_LOGGED + | T_LOGGING + | T_LOOP + | T_MAP + | T_MATCHED + | T_MAX + | T_MAXTRANS + | T_MERGE + | T_MESSAGE_TEXT + | T_MICROSECOND + | T_MICROSECONDS + | T_MIN + | T_MULTISET + | T_NCHAR + | T_NEW + | T_NVARCHAR + | T_NO + | T_NOCOMPRESS + | T_NOCOUNT + | T_NOLOGGING + | T_NONE + | T_NOT + | T_NOTFOUND + // T_NULL reserved word + | T_NUMERIC + | T_NUMBER + | T_OBJECT + | T_OFF + | T_ON + | T_ONLY + | T_OPEN + | T_OR + | T_ORDER + | T_OUT + | T_OUTER + | T_OVER + | T_OVERWRITE + | T_OWNER + | T_PACKAGE + | T_PART_COUNT + | T_PART_LOC + | T_PARTITION + | T_PCTFREE + | T_PCTUSED + | T_PRECISION + | T_PRESERVE + | T_PRIMARY + | T_PRINT + | T_PROC + | T_PROCEDURE + | T_PWD + | T_QUALIFY + | T_QUERY_BAND + | T_QUIT + | T_QUOTED_IDENTIFIER + | T_RAISE + | T_RANK + | T_REAL + | T_REFERENCES + | T_REGEXP + | T_RR + | T_REPLACE + | T_RESIGNAL + | T_RESTRICT + | T_RESULT + | T_RESULT_SET_LOCATOR + | T_RETURN + | T_RETURNS + | T_REVERSE + | T_RIGHT + | T_RLIKE + | T_RS + | T_ROLE + | T_ROLLBACK + | T_ROW + | T_ROWS + | T_ROW_COUNT + | T_ROW_NUMBER + | T_SCHEMA + | T_SECOND + | T_SECONDS + | T_SECURITY + | T_SEGMENT + | T_SEL + | T_SELECT + | T_SESSION + | T_SESSIONS + | T_SET + | T_SETS + | T_SHARE + | T_SIGNAL + | T_SIMPLE_DOUBLE + | T_SIMPLE_FLOAT + | T_SMALLDATETIME + | T_SMALLINT + | T_SQL + | T_SQLEXCEPTION + | T_SQLINSERT + | T_SQLSTATE + | T_SQLWARNING + | T_STATS + | T_STATISTICS + | T_STEP + | T_STDEV + | T_STORAGE + | T_STORED + | T_STRING + | T_SUBDIR + | T_SUBSTRING + | T_SUM + | T_SUMMARY + | T_SYSDATE + | T_SYS_REFCURSOR + | T_TABLE + | T_TABLESPACE + | T_TEMPORARY + | T_TERMINATED + | T_TEXTIMAGE_ON + | T_THEN + | T_TIMESTAMP + | T_TITLE + | T_TO + | T_TOP + | T_TRANSACTION + | T_TRIM + | T_TRUE + | T_TRUNCATE + // T_UNION reserved word + | T_UNIQUE + | T_UPDATE + | T_UR + | T_USE + | T_USER + | T_USING + | T_VALUE + | T_VALUES + | T_VAR + | T_VARCHAR + | T_VARCHAR2 + | T_VARYING + | T_VARIANCE + | T_VOLATILE + // T_WHEN reserved word + // T_WHERE reserved word + | T_WHILE + | T_WITH + | T_WITHOUT + | T_WORK + | T_XACT_ABORT + | T_XML + | T_YES + ; diff --git a/src/grammar/hive/HiveSqlLexer.g4 b/src/grammar/hive/HiveSqlLexer.g4 new file mode 100644 index 0000000..d322ba1 --- /dev/null +++ b/src/grammar/hive/HiveSqlLexer.g4 @@ -0,0 +1,435 @@ +lexer grammar HiveSqlLexer; + +// Lexer rules +T_ACTION : A C T I O N ; +T_ADD2 : A D D ; +T_ALL : A L L ; +T_ALLOCATE : A L L O C A T E ; +T_ALTER : A L T E R ; +T_AND : A N D ; +T_ANSI_NULLS : A N S I '_' N U L L S ; +T_ANSI_PADDING : A N S I '_' P A D D I N G ; +T_AS : A S ; +T_ASC : A S C ; +T_ASSOCIATE : A S S O C I A T E ; +T_AT : A T ; +T_AUTO_INCREMENT : A U T O '_' I N C R E M E N T ; +T_AVG : A V G ; +T_BATCHSIZE : B A T C H S I Z E ; +T_BEGIN : B E G I N ; +T_BETWEEN : B E T W E E N ; +T_BIGINT : B I G I N T ; +T_BINARY_DOUBLE : B I N A R Y '_' D O U B L E ; +T_BINARY_FLOAT : B I N A R Y '_' F L O A T ; +T_BINARY_INTEGER : B I N A R Y '_' I N T E G E R ; +T_BIT : B I T ; +T_BODY : B O D Y ; +T_BREAK : B R E A K ; +T_BY : B Y ; +T_BYTE : B Y T E ; +T_CALL : C A L L ; +T_CALLER : C A L L E R ; +T_CASCADE : C A S C A D E ; +T_CASE : C A S E ; +T_CASESPECIFIC : C A S E S P E C I F I C ; +T_CAST : C A S T ; +T_CHAR : C H A R ; +T_CHARACTER : C H A R A C T E R ; +T_CHARSET : C H A R S E T ; +T_CLIENT : C L I E N T ; +T_CLOSE : C L O S E ; +T_CLUSTERED : C L U S T E R E D; +T_CMP : C M P ; +T_COLLECT : C O L L E C T ; +T_COLLECTION : C O L L E C T I O N ; +T_COLUMN : C O L U M N ; +T_COMMENT : C O M M E N T; +T_CONSTANT : C O N S T A N T ; +T_COMMIT : C O M M I T ; +T_COMPRESS : C O M P R E S S ; +T_CONCAT : C O N C A T; +T_CONDITION : C O N D I T I O N ; +T_CONSTRAINT : C O N S T R A I N T ; +T_CONTINUE : C O N T I N U E ; +T_COPY : C O P Y ; +T_COUNT : C O U N T ; +T_COUNT_BIG : C O U N T '_' B I G; +T_CREATE : C R E A T E ; +T_CREATION : C R E A T I O N ; +T_CREATOR : C R E A T O R ; +T_CS : C S; +T_CURRENT : C U R R E N T ; +T_CURRENT_SCHEMA : C U R R E N T '_' S C H E M A ; +T_CURSOR : C U R S O R ; +T_DATABASE : D A T A B A S E ; +T_DATA : D A T A ; +T_DATE : D A T E ; +T_DATETIME : D A T E T I M E ; +T_DAY : D A Y ; +T_DAYS : D A Y S ; +T_DEC : D E C ; +T_DECIMAL : D E C I M A L ; +T_DECLARE : D E C L A R E ; +T_DEFAULT : D E F A U L T ; +T_DEFERRED : D E F E R R E D ; +T_DEFINED : D E F I N E D ; +T_DEFINER : D E F I N E R ; +T_DEFINITION : D E F I N I T I O N ; +T_DELETE : D E L E T E ; +T_DELIMITED : D E L I M I T E D ; +T_DELIMITER : D E L I M I T E R ; +T_DESC : D E S C ; +T_DESCRIBE : D E S C R I B E ; +T_DIAGNOSTICS : D I A G N O S T I C S ; +T_DIR : D I R ; +T_DIRECTORY : D I R E C T O R Y ; +T_DISTINCT : D I S T I N C T ; +T_DISTRIBUTE : D I S T R I B U T E ; +T_DO : D O ; +T_DOUBLE : D O U B L E ; +T_DROP : D R O P ; +T_DYNAMIC : D Y N A M I C ; +T_ELSE : E L S E ; +T_ELSEIF : E L S E I F ; +T_ELSIF : E L S I F ; +T_ENABLE : E N A B L E ; +T_END : E N D ; +T_ENGINE : E N G I N E ; +T_ESCAPED : E S C A P E D ; +T_EXCEPT : E X C E P T ; +T_EXEC : E X E C ; +T_EXECUTE : E X E C U T E ; +T_EXCEPTION : E X C E P T I O N ; +T_EXCLUSIVE : E X C L U S I V E ; +T_EXISTS : E X I S T S ; +T_EXIT : E X I T ; +T_FALLBACK : F A L L B A C K ; +T_FALSE : F A L S E ; +T_FETCH : F E T C H ; +T_FIELDS : F I E L D S ; +T_FILE : F I L E ; +T_FILES : F I L E S ; +T_FLOAT : F L O A T ; +T_FOR : F O R ; +T_FOREIGN : F O R E I G N ; +T_FORMAT : F O R M A T ; +T_FOUND : F O U N D ; +T_FROM : F R O M ; +T_FULL : F U L L ; +T_FUNCTION : F U N C T I O N ; +T_GET : G E T ; +T_GLOBAL : G L O B A L ; +T_GO : G O ; +T_GRANT : G R A N T ; +T_GROUP : G R O U P ; +T_HANDLER : H A N D L E R ; +T_HASH : H A S H ; +T_HAVING : H A V I N G ; +T_HDFS : H D F S ; +T_HIVE : H I V E ; +T_HOST : H O S T ; +T_IDENTITY : I D E N T I T Y ; +T_IF : I F ; +T_IGNORE : I G N O R E ; +T_IMMEDIATE : I M M E D I A T E ; +T_IN : I N ; +T_INCLUDE : I N C L U D E ; +T_INDEX : I N D E X ; +T_INITRANS : I N I T R A N S ; +T_INNER : I N N E R ; +T_INOUT : I N O U T; +T_INSERT : I N S E R T ; +T_INT : I N T ; +T_INT2 : I N T '2'; +T_INT4 : I N T '4'; +T_INT8 : I N T '8'; +T_INTEGER : I N T E G E R ; +T_INTERSECT : I N T E R S E C T ; +T_INTERVAL : I N T E R V A L ; +T_INTO : I N T O ; +T_INVOKER : I N V O K E R ; +T_IS : I S ; +T_ISOPEN : I S O P E N ; +T_ITEMS : I T E M S ; +T_JOIN : J O I N ; +T_KEEP : K E E P; +T_KEY : K E Y ; +T_KEYS : K E Y S ; +T_LANGUAGE : L A N G U A G E ; +T_LEAVE : L E A V E ; +T_LEFT : L E F T ; +T_LIKE : L I K E ; +T_LIMIT : L I M I T ; +T_LINES : L I N E S ; +T_LOCAL : L O C A L ; +T_LOCATION : L O C A T I O N ; +T_LOCATOR : L O C A T O R ; +T_LOCATORS : L O C A T O R S ; +T_LOCKS : L O C K S ; +T_LOG : L O G ; +T_LOGGED : L O G G E D ; +T_LOGGING : L O G G I N G ; +T_LOOP : L O O P ; +T_MAP : M A P ; +T_MATCHED : M A T C H E D ; +T_MAX : M A X ; +T_MAXTRANS : M A X T R A N S ; +T_MERGE : M E R G E ; +T_MESSAGE_TEXT : M E S S A G E '_' T E X T ; +T_MICROSECOND : M I C R O S E C O N D ; +T_MICROSECONDS : M I C R O S E C O N D S; +T_MIN : M I N ; +T_MULTISET : M U L T I S E T ; +T_NCHAR : N C H A R ; +T_NEW : N E W ; +T_NVARCHAR : N V A R C H A R ; +T_NO : N O ; +T_NOCOUNT : N O C O U N T ; +T_NOCOMPRESS : N O C O M P R E S S ; +T_NOLOGGING : N O L O G G I N G ; +T_NONE : N O N E ; +T_NOT : N O T ; +T_NOTFOUND : N O T F O U N D ; +T_NULL : N U L L ; +T_NUMERIC : N U M E R I C ; +T_NUMBER : N U M B E R ; +T_OBJECT : O B J E C T ; +T_OFF : O F F ; +T_ON : O N ; +T_ONLY : O N L Y ; +T_OPEN : O P E N ; +T_OR : O R ; +T_ORDER : O R D E R; +T_OUT : O U T ; +T_OUTER : O U T E R ; +T_OVER : O V E R ; +T_OVERWRITE : O V E R W R I T E ; +T_OWNER : O W N E R ; +T_PACKAGE : P A C K A G E ; +T_PARTITION : P A R T I T I O N ; +T_PCTFREE : P C T F R E E ; +T_PCTUSED : P C T U S E D ; +T_PLS_INTEGER : P L S '_' I N T E G E R ; +T_PRECISION : P R E C I S I O N ; +T_PRESERVE : P R E S E R V E ; +T_PRIMARY : P R I M A R Y ; +T_PRINT : P R I N T ; +T_PROC : P R O C ; +T_PROCEDURE : P R O C E D U R E ; +T_QUALIFY : Q U A L I F Y ; +T_QUERY_BAND : Q U E R Y '_' B A N D ; +T_QUIT : Q U I T ; +T_QUOTED_IDENTIFIER : Q U O T E D '_' I D E N T I F I E R ; +T_RAISE : R A I S E ; +T_REAL : R E A L ; +T_REFERENCES : R E F E R E N C E S ; +T_REGEXP : R E G E X P ; +T_REPLACE : R E P L A C E ; +T_RESIGNAL : R E S I G N A L ; +T_RESTRICT : R E S T R I C T ; +T_RESULT : R E S U L T ; +T_RESULT_SET_LOCATOR : R E S U L T '_' S E T '_' L O C A T O R ; +T_RETURN : R E T U R N ; +T_RETURNS : R E T U R N S ; +T_REVERSE : R E V E R S E ; +T_RIGHT : R I G H T ; +T_RLIKE : R L I K E ; +T_ROLE : R O L E ; +T_ROLLBACK : R O L L B A C K ; +T_ROW : R O W ; +T_ROWS : R O W S ; +T_ROWTYPE : R O W T Y P E ; +T_ROW_COUNT : R O W '_' C O U N T ; +T_RR : R R; +T_RS : R S ; +T_PWD : P W D ; +T_TRIM : T R I M ; +T_SCHEMA : S C H E M A ; +T_SECOND : S E C O N D ; +T_SECONDS : S E C O N D S; +T_SECURITY : S E C U R I T Y ; +T_SEGMENT : S E G M E N T ; +T_SEL : S E L ; +T_SELECT : S E L E C T ; +T_SET : S E T ; +T_SESSION : S E S S I O N ; +T_SESSIONS : S E S S I O N S ; +T_SETS : S E T S; +T_SHARE : S H A R E ; +T_SIGNAL : S I G N A L ; +T_SIMPLE_DOUBLE : S I M P L E '_' D O U B L E ; +T_SIMPLE_FLOAT : S I M P L E '_' F L O A T ; +T_SIMPLE_INTEGER : S I M P L E '_' I N T E G E R ; +T_SMALLDATETIME : S M A L L D A T E T I M E ; +T_SMALLINT : S M A L L I N T ; +T_SQL : S Q L ; +T_SQLEXCEPTION : S Q L E X C E P T I O N ; +T_SQLINSERT : S Q L I N S E R T ; +T_SQLSTATE : S Q L S T A T E ; +T_SQLWARNING : S Q L W A R N I N G ; +T_STATS : S T A T S ; +T_STATISTICS : S T A T I S T I C S ; +T_STEP : S T E P ; +T_STORAGE : S T O R A G E ; +T_STORED : S T O R E D ; +T_STRING : S T R I N G ; +T_SUBDIR : S U B D I R ; +T_SUBSTRING : S U B S T R I N G ; +T_SUM : S U M ; +T_SUMMARY : S U M M A R Y ; +T_SYS_REFCURSOR : S Y S '_' R E F C U R S O R ; +T_TABLE : T A B L E ; +T_TABLESPACE : T A B L E S P A C E ; +T_TEMPORARY : T E M P O R A R Y ; +T_TERMINATED : T E R M I N A T E D ; +T_TEXTIMAGE_ON : T E X T I M A G E '_' O N ; +T_THEN : T H E N ; +T_TIMESTAMP : T I M E S T A M P ; +T_TINYINT : T I N Y I N T ; +T_TITLE : T I T L E ; +T_TO : T O ; +T_TOP : T O P ; +T_TRANSACTION : T R A N S A C T I O N ; +T_TRUE : T R U E ; +T_TRUNCATE : T R U N C A T E; +T_TYPE : T Y P E ; +T_UNION : U N I O N ; +T_UNIQUE : U N I Q U E ; +T_UPDATE : U P D A T E ; +T_UR : U R ; +T_USE : U S E ; +T_USING : U S I N G ; +T_VALUE : V A L U E ; +T_VALUES : V A L U E S ; +T_VAR : V A R ; +T_VARCHAR : V A R C H A R ; +T_VARCHAR2 : V A R C H A R '2' ; +T_VARYING : V A R Y I N G ; +T_VOLATILE : V O L A T I L E ; +T_WHEN : W H E N ; +T_WHERE : W H E R E ; +T_WHILE : W H I L E ; +T_WITH : W I T H ; +T_WITHOUT : W I T H O U T ; +T_WORK : W O R K ; +T_XACT_ABORT : X A C T '_' A B O R T ; +T_XML : X M L ; +T_YES : Y E S ; + +// Functions with specific syntax +T_ACTIVITY_COUNT : A C T I V I T Y '_' C O U N T ; +T_CUME_DIST : C U M E '_' D I S T ; +T_CURRENT_DATE : C U R R E N T '_' D A T E ; +T_CURRENT_TIMESTAMP : C U R R E N T '_' T I M E S T A M P ; +T_CURRENT_USER : C U R R E N T '_' U S E R ; +T_DENSE_RANK : D E N S E '_' R A N K ; +T_FIRST_VALUE : F I R S T '_' V A L U E; +T_LAG : L A G ; +T_LAST_VALUE : L A S T '_' V A L U E; +T_LEAD : L E A D ; +T_MAX_PART_STRING : M A X '_' P A R T '_' S T R I N G ; +T_MIN_PART_STRING : M I N '_' P A R T '_' S T R I N G ; +T_MAX_PART_INT : M A X '_' P A R T '_' I N T ; +T_MIN_PART_INT : M I N '_' P A R T '_' I N T ; +T_MAX_PART_DATE : M A X '_' P A R T '_' D A T E ; +T_MIN_PART_DATE : M I N '_' P A R T '_' D A T E ; +T_PART_COUNT : P A R T '_' C O U N T ; +T_PART_LOC : P A R T '_' L O C ; +T_RANK : R A N K ; +T_ROW_NUMBER : R O W '_' N U M B E R; +T_STDEV : S T D E V ; +T_SYSDATE : S Y S D A T E ; +T_VARIANCE : V A R I A N C E ; +T_USER : U S E R; + +T_ADD : '+' ; +T_COLON : ':' ; +T_COMMA : ',' ; +T_PIPE : '||' ; +T_DIV : '/' ; +T_DOT2 : '..' ; +T_EQUAL : '=' ; +T_EQUAL2 : '==' ; +T_NOTEQUAL : '<>' ; +T_NOTEQUAL2 : '!=' ; +T_GREATER : '>' ; +T_GREATEREQUAL : '>=' ; +T_LESS : '<' ; +T_LESSEQUAL : '<=' ; +T_MUL : '*' ; +T_OPEN_B : '{' ; +T_OPEN_P : '(' ; +T_OPEN_SB : '[' ; +T_CLOSE_B : '}' ; +T_CLOSE_P : ')' ; +T_CLOSE_SB : ']' ; +T_SEMICOLON : ';' ; +T_SUB : '-' ; + +L_ID : L_ID_PART // Identifier + ; +L_S_STRING : '\'' (('\'' '\'') | ('\\' '\'') | ~('\''))* '\'' // Single quoted string literal + ; +L_D_STRING : '"' (L_STR_ESC_D | .)*? '"' // Double quoted string literal + ; +L_INT : L_DIGIT+ ; // Integer +L_DEC : L_DIGIT+ '.' ~'.' L_DIGIT* // Decimal number + | '.' L_DIGIT+ + ; +L_WS : L_BLANK+ -> skip ; // Whitespace +L_M_COMMENT : '/*' .*? '*/' -> channel(HIDDEN) ; // Multiline comment +L_S_COMMENT : ('--' | '//') .*? '\r'? '\n' -> channel(HIDDEN) ; // Single line comment + +L_FILE : ([a-zA-Z] ':' '\\'?)? L_ID ('\\' L_ID)* // File path (a/b/c Linux path causes conflicts with division operator and handled at parser level) + ; + +L_LABEL : ([a-zA-Z] | L_DIGIT | '_')* ':' + ; + +fragment +L_ID_PART : + [a-zA-Z] ([a-zA-Z] | L_DIGIT | '_')* // Identifier part + | '$' '{' .*? '}' + | ('_' | '@' | ':' | '#' | '$') ([a-zA-Z] | L_DIGIT | '_' | '@' | ':' | '#' | '$')+ // (at least one char must follow special char) + | '"' .*? '"' // Quoted identifiers + | '[' .*? ']' + | '`' .*? '`' + ; +fragment +L_STR_ESC_D : // Double quoted string escape sequence + '""' | '\\"' + ; +fragment +L_DIGIT : [0-9] // Digit + ; +fragment +L_BLANK : (' ' | '\t' | '\r' | '\n') + ; + +// Support case-insensitive keywords and allowing case-sensitive identifiers +fragment A : ('a'|'A') ; +fragment B : ('b'|'B') ; +fragment C : ('c'|'C') ; +fragment D : ('d'|'D') ; +fragment E : ('e'|'E') ; +fragment F : ('f'|'F') ; +fragment G : ('g'|'G') ; +fragment H : ('h'|'H') ; +fragment I : ('i'|'I') ; +fragment J : ('j'|'J') ; +fragment K : ('k'|'K') ; +fragment L : ('l'|'L') ; +fragment M : ('m'|'M') ; +fragment N : ('n'|'N') ; +fragment O : ('o'|'O') ; +fragment P : ('p'|'P') ; +fragment Q : ('q'|'Q') ; +fragment R : ('r'|'R') ; +fragment S : ('s'|'S') ; +fragment T : ('t'|'T') ; +fragment U : ('u'|'U') ; +fragment V : ('v'|'V') ; +fragment W : ('w'|'W') ; +fragment X : ('x'|'X') ; +fragment Y : ('y'|'Y') ; +fragment Z : ('z'|'Z') ; \ No newline at end of file diff --git a/src/grammar/plsql/PlSqlLexer.g4 b/src/grammar/plsql/PlSqlLexer.g4 new file mode 100644 index 0000000..4d868ce --- /dev/null +++ b/src/grammar/plsql/PlSqlLexer.g4 @@ -0,0 +1,2369 @@ +/** + * Oracle(c) PL/SQL 11g Parser + * + * Copyright (c) 2009-2011 Alexandre Porcelli + * Copyright (c) 2015-2019 Ivan Kochurkin (KvanTTT, kvanttt@gmail.com, Positive Technologies). + * Copyright (c) 2017 Mark Adams + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar PlSqlLexer; + +options { + superClass=PlSqlBaseLexer; +} + +@lexer::postinclude { +#include +} + +ABORT: 'ABORT'; +ABS: 'ABS'; +ACCESS: 'ACCESS'; +ACCESSED: 'ACCESSED'; +ACCOUNT: 'ACCOUNT'; +ACL: 'ACL'; +ACOS: 'ACOS'; +ACTION: 'ACTION'; +ACTIONS: 'ACTIONS'; +ACTIVATE: 'ACTIVATE'; +ACTIVE: 'ACTIVE'; +ACTIVE_COMPONENT: 'ACTIVE_COMPONENT'; +ACTIVE_DATA: 'ACTIVE_DATA'; +ACTIVE_FUNCTION: 'ACTIVE_FUNCTION'; +ACTIVE_TAG: 'ACTIVE_TAG'; +ACTIVITY: 'ACTIVITY'; +ADAPTIVE_PLAN: 'ADAPTIVE_PLAN'; +ADD: 'ADD'; +ADD_COLUMN: 'ADD_COLUMN'; +ADD_GROUP: 'ADD_GROUP'; +ADD_MONTHS: 'ADD_MONTHS'; +ADJ_DATE: 'ADJ_DATE'; +ADMIN: 'ADMIN'; +ADMINISTER: 'ADMINISTER'; +ADMINISTRATOR: 'ADMINISTRATOR'; +ADVANCED: 'ADVANCED'; +ADVISE: 'ADVISE'; +ADVISOR: 'ADVISOR'; +AFD_DISKSTRING: 'AFD_DISKSTRING'; +AFTER: 'AFTER'; +AGENT: 'AGENT'; +AGGREGATE: 'AGGREGATE'; +A_LETTER: 'A'; +ALIAS: 'ALIAS'; +ALL: 'ALL'; +ALLOCATE: 'ALLOCATE'; +ALLOW: 'ALLOW'; +ALL_ROWS: 'ALL_ROWS'; +ALTER: 'ALTER'; +ALWAYS: 'ALWAYS'; +ANALYZE: 'ANALYZE'; +ANCILLARY: 'ANCILLARY'; +AND: 'AND'; +AND_EQUAL: 'AND_EQUAL'; +ANOMALY: 'ANOMALY'; +ANSI_REARCH: 'ANSI_REARCH'; +ANTIJOIN: 'ANTIJOIN'; +ANY: 'ANY'; +ANYSCHEMA: 'ANYSCHEMA'; +APPEND: 'APPEND'; +APPENDCHILDXML: 'APPENDCHILDXML'; +APPEND_VALUES: 'APPEND_VALUES'; +APPLICATION: 'APPLICATION'; +APPLY: 'APPLY'; +APPROX_COUNT_DISTINCT: 'APPROX_COUNT_DISTINCT'; +ARCHIVAL: 'ARCHIVAL'; +ARCHIVE: 'ARCHIVE'; +ARCHIVED: 'ARCHIVED'; +ARCHIVELOG: 'ARCHIVELOG'; +ARRAY: 'ARRAY'; +AS: 'AS'; +ASC: 'ASC'; +ASCII: 'ASCII'; +ASCIISTR: 'ASCIISTR'; +ASIN: 'ASIN'; +ASIS: 'ASIS'; +ASSEMBLY: 'ASSEMBLY'; +ASSIGN: 'ASSIGN'; +ASSOCIATE: 'ASSOCIATE'; +ASYNC: 'ASYNC'; +ASYNCHRONOUS: 'ASYNCHRONOUS'; +ATAN2: 'ATAN2'; +ATAN: 'ATAN'; +AT: 'AT'; +ATTRIBUTE: 'ATTRIBUTE'; +ATTRIBUTES: 'ATTRIBUTES'; +AUDIT: 'AUDIT'; +AUTHENTICATED: 'AUTHENTICATED'; +AUTHENTICATION: 'AUTHENTICATION'; +AUTHID: 'AUTHID'; +AUTHORIZATION: 'AUTHORIZATION'; +AUTOALLOCATE: 'AUTOALLOCATE'; +AUTO: 'AUTO'; +AUTOBACKUP: 'AUTOBACKUP'; +AUTOEXTEND: 'AUTOEXTEND'; +AUTO_LOGIN: 'AUTO_LOGIN'; +AUTOMATIC: 'AUTOMATIC'; +AUTONOMOUS_TRANSACTION: 'AUTONOMOUS_TRANSACTION'; +AUTO_REOPTIMIZE: 'AUTO_REOPTIMIZE'; +AVAILABILITY: 'AVAILABILITY'; +AVRO: 'AVRO'; +BACKGROUND: 'BACKGROUND'; +BACKUP: 'BACKUP'; +BACKUPSET: 'BACKUPSET'; +BASIC: 'BASIC'; +BASICFILE: 'BASICFILE'; +BATCH: 'BATCH'; +BATCHSIZE: 'BATCHSIZE'; +BATCH_TABLE_ACCESS_BY_ROWID: 'BATCH_TABLE_ACCESS_BY_ROWID'; +BECOME: 'BECOME'; +BEFORE: 'BEFORE'; +BEGIN: 'BEGIN'; +BEGINNING: 'BEGINNING'; +BEGIN_OUTLINE_DATA: 'BEGIN_OUTLINE_DATA'; +BEHALF: 'BEHALF'; +BEQUEATH: 'BEQUEATH'; +BETWEEN: 'BETWEEN'; +BFILE: 'BFILE'; +BFILENAME: 'BFILENAME'; +BIGFILE: 'BIGFILE'; +BINARY: 'BINARY'; +BINARY_DOUBLE: 'BINARY_DOUBLE'; +BINARY_DOUBLE_INFINITY: 'BINARY_DOUBLE_INFINITY'; +BINARY_DOUBLE_NAN: 'BINARY_DOUBLE_NAN'; +BINARY_FLOAT: 'BINARY_FLOAT'; +BINARY_FLOAT_INFINITY: 'BINARY_FLOAT_INFINITY'; +BINARY_FLOAT_NAN: 'BINARY_FLOAT_NAN'; +BINARY_INTEGER: 'BINARY_INTEGER'; +BIND_AWARE: 'BIND_AWARE'; +BINDING: 'BINDING'; +BIN_TO_NUM: 'BIN_TO_NUM'; +BITAND: 'BITAND'; +BITMAP_AND: 'BITMAP_AND'; +BITMAP: 'BITMAP'; +BITMAPS: 'BITMAPS'; +BITMAP_TREE: 'BITMAP_TREE'; +BITS: 'BITS'; +BLOB: 'BLOB'; +BLOCK: 'BLOCK'; +BLOCK_RANGE: 'BLOCK_RANGE'; +BLOCKS: 'BLOCKS'; +BLOCKSIZE: 'BLOCKSIZE'; +BODY: 'BODY'; +BOOLEAN: 'BOOLEAN'; +BOTH: 'BOTH'; +BOUND: 'BOUND'; +BRANCH: 'BRANCH'; +BREADTH: 'BREADTH'; +BROADCAST: 'BROADCAST'; +BSON: 'BSON'; +BUFFER: 'BUFFER'; +BUFFER_CACHE: 'BUFFER_CACHE'; +BUFFER_POOL: 'BUFFER_POOL'; +BUILD: 'BUILD'; +BULK: 'BULK'; +BY: 'BY'; +BYPASS_RECURSIVE_CHECK: 'BYPASS_RECURSIVE_CHECK'; +BYPASS_UJVC: 'BYPASS_UJVC'; +BYTE: 'BYTE'; +CACHE: 'CACHE'; +CACHE_CB: 'CACHE_CB'; +CACHE_INSTANCES: 'CACHE_INSTANCES'; +CACHE_TEMP_TABLE: 'CACHE_TEMP_TABLE'; +CACHING: 'CACHING'; +CALCULATED: 'CALCULATED'; +CALLBACK: 'CALLBACK'; +CALL: 'CALL'; +CANCEL: 'CANCEL'; +CANONICAL: 'CANONICAL'; +CAPACITY: 'CAPACITY'; +CARDINALITY: 'CARDINALITY'; +CASCADE: 'CASCADE'; +CASE: 'CASE'; +CAST: 'CAST'; +CATEGORY: 'CATEGORY'; +CDBDEFAULT: 'CDB$DEFAULT'; +CEIL: 'CEIL'; +CELL_FLASH_CACHE: 'CELL_FLASH_CACHE'; +CERTIFICATE: 'CERTIFICATE'; +CFILE: 'CFILE'; +CHAINED: 'CHAINED'; +CHANGE: 'CHANGE'; +CHANGETRACKING: 'CHANGETRACKING'; +CHANGE_DUPKEY_ERROR_INDEX: 'CHANGE_DUPKEY_ERROR_INDEX'; +CHARACTER: 'CHARACTER'; +CHAR: 'CHAR'; +CHAR_CS: 'CHAR_CS'; +CHARTOROWID: 'CHARTOROWID'; +CHECK_ACL_REWRITE: 'CHECK_ACL_REWRITE'; +CHECK: 'CHECK'; +CHECKPOINT: 'CHECKPOINT'; +CHILD: 'CHILD'; +CHOOSE: 'CHOOSE'; +CHR: 'CHR'; +CHUNK: 'CHUNK'; +CLASS: 'CLASS'; +CLASSIFIER: 'CLASSIFIER'; +CLEANUP: 'CLEANUP'; +CLEAR: 'CLEAR'; +C_LETTER: 'C'; +CLIENT: 'CLIENT'; +CLOB: 'CLOB'; +CLONE: 'CLONE'; +CLOSE_CACHED_OPEN_CURSORS: 'CLOSE_CACHED_OPEN_CURSORS'; +CLOSE: 'CLOSE'; +CLUSTER_BY_ROWID: 'CLUSTER_BY_ROWID'; +CLUSTER: 'CLUSTER'; +CLUSTER_DETAILS: 'CLUSTER_DETAILS'; +CLUSTER_DISTANCE: 'CLUSTER_DISTANCE'; +CLUSTER_ID: 'CLUSTER_ID'; +CLUSTERING: 'CLUSTERING'; +CLUSTERING_FACTOR: 'CLUSTERING_FACTOR'; +CLUSTER_PROBABILITY: 'CLUSTER_PROBABILITY'; +CLUSTER_SET: 'CLUSTER_SET'; +COALESCE: 'COALESCE'; +COALESCE_SQ: 'COALESCE_SQ'; +COARSE: 'COARSE'; +CO_AUTH_IND: 'CO_AUTH_IND'; +COLD: 'COLD'; +COLLECT: 'COLLECT'; +COLUMNAR: 'COLUMNAR'; +COLUMN_AUTH_INDICATOR: 'COLUMN_AUTH_INDICATOR'; +COLUMN: 'COLUMN'; +COLUMNS: 'COLUMNS'; +COLUMN_STATS: 'COLUMN_STATS'; +COLUMN_VALUE: 'COLUMN_VALUE'; +COMMENT: 'COMMENT'; +COMMIT: 'COMMIT'; +COMMITTED: 'COMMITTED'; +COMMON_DATA: 'COMMON_DATA'; +COMPACT: 'COMPACT'; +COMPATIBILITY: 'COMPATIBILITY'; +COMPILE: 'COMPILE'; +COMPLETE: 'COMPLETE'; +COMPLIANCE: 'COMPLIANCE'; +COMPONENT: 'COMPONENT'; +COMPONENTS: 'COMPONENTS'; +COMPOSE: 'COMPOSE'; +COMPOSITE: 'COMPOSITE'; +COMPOSITE_LIMIT: 'COMPOSITE_LIMIT'; +COMPOUND: 'COMPOUND'; +COMPRESS: 'COMPRESS'; +COMPUTE: 'COMPUTE'; +CONCAT: 'CONCAT'; +CON_DBID_TO_ID: 'CON_DBID_TO_ID'; +CONDITIONAL: 'CONDITIONAL'; +CONDITION: 'CONDITION'; +CONFIRM: 'CONFIRM'; +CONFORMING: 'CONFORMING'; +CON_GUID_TO_ID: 'CON_GUID_TO_ID'; +CON_ID: 'CON_ID'; +CON_NAME_TO_ID: 'CON_NAME_TO_ID'; +CONNECT_BY_CB_WHR_ONLY: 'CONNECT_BY_CB_WHR_ONLY'; +CONNECT_BY_COMBINE_SW: 'CONNECT_BY_COMBINE_SW'; +CONNECT_BY_COST_BASED: 'CONNECT_BY_COST_BASED'; +CONNECT_BY_ELIM_DUPS: 'CONNECT_BY_ELIM_DUPS'; +CONNECT_BY_FILTERING: 'CONNECT_BY_FILTERING'; +CONNECT_BY_ISCYCLE: 'CONNECT_BY_ISCYCLE'; +CONNECT_BY_ISLEAF: 'CONNECT_BY_ISLEAF'; +CONNECT_BY_ROOT: 'CONNECT_BY_ROOT'; +CONNECT: 'CONNECT'; +CONNECT_TIME: 'CONNECT_TIME'; +CONSIDER: 'CONSIDER'; +CONSISTENT: 'CONSISTENT'; +CONSTANT: 'CONSTANT'; +CONST: 'CONST'; +CONSTRAINT: 'CONSTRAINT'; +CONSTRAINTS: 'CONSTRAINTS'; +CONSTRUCTOR: 'CONSTRUCTOR'; +CONTAINER: 'CONTAINER'; +CONTAINER_DATA: 'CONTAINER_DATA'; +CONTAINERS: 'CONTAINERS'; +CONTENT: 'CONTENT'; +CONTENTS: 'CONTENTS'; +CONTEXT: 'CONTEXT'; +CONTINUE: 'CONTINUE'; +CONTROLFILE: 'CONTROLFILE'; +CON_UID_TO_ID: 'CON_UID_TO_ID'; +CONVERT: 'CONVERT'; +COOKIE: 'COOKIE'; +COPY: 'COPY'; +CORR_K: 'CORR_K'; +CORR_S: 'CORR_S'; +CORRUPTION: 'CORRUPTION'; +CORRUPT_XID_ALL: 'CORRUPT_XID_ALL'; +CORRUPT_XID: 'CORRUPT_XID'; +COS: 'COS'; +COSH: 'COSH'; +COST: 'COST'; +COST_XML_QUERY_REWRITE: 'COST_XML_QUERY_REWRITE'; +COUNT: 'COUNT'; +COVAR_POP: 'COVAR_POP'; +COVAR_SAMP: 'COVAR_SAMP'; +CPU_COSTING: 'CPU_COSTING'; +CPU_PER_CALL: 'CPU_PER_CALL'; +CPU_PER_SESSION: 'CPU_PER_SESSION'; +CRASH: 'CRASH'; +CREATE: 'CREATE'; +CREATE_FILE_DEST: 'CREATE_FILE_DEST'; +CREATE_STORED_OUTLINES: 'CREATE_STORED_OUTLINES'; +CREATION: 'CREATION'; +CREDENTIAL: 'CREDENTIAL'; +CRITICAL: 'CRITICAL'; +CROSS: 'CROSS'; +CROSSEDITION: 'CROSSEDITION'; +CSCONVERT: 'CSCONVERT'; +CUBE_AJ: 'CUBE_AJ'; +CUBE: 'CUBE'; +CUBE_GB: 'CUBE_GB'; +CUBE_SJ: 'CUBE_SJ'; +CUME_DISTM: 'CUME_DISTM'; +CURRENT: 'CURRENT'; +CURRENT_DATE: 'CURRENT_DATE'; +CURRENT_SCHEMA: 'CURRENT_SCHEMA'; +CURRENT_TIME: 'CURRENT_TIME'; +CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP'; +CURRENT_USER: 'CURRENT_USER'; +CURRENTV: 'CURRENTV'; +CURSOR: 'CURSOR'; +CURSOR_SHARING_EXACT: 'CURSOR_SHARING_EXACT'; +CURSOR_SPECIFIC_SEGMENT: 'CURSOR_SPECIFIC_SEGMENT'; +CUSTOMDATUM: 'CUSTOMDATUM'; +CV: 'CV'; +CYCLE: 'CYCLE'; +DANGLING: 'DANGLING'; +DATABASE: 'DATABASE'; +DATA: 'DATA'; +DATAFILE: 'DATAFILE'; +DATAFILES: 'DATAFILES'; +DATAGUARDCONFIG: 'DATAGUARDCONFIG'; +DATAMOVEMENT: 'DATAMOVEMENT'; +DATAOBJNO: 'DATAOBJNO'; +DATAOBJ_TO_MAT_PARTITION: 'DATAOBJ_TO_MAT_PARTITION'; +DATAOBJ_TO_PARTITION: 'DATAOBJ_TO_PARTITION'; +DATAPUMP: 'DATAPUMP'; +DATA_SECURITY_REWRITE_LIMIT: 'DATA_SECURITY_REWRITE_LIMIT'; +DATE: 'DATE'; +DATE_MODE: 'DATE_MODE'; +DAY: 'DAY'; +DAYS: 'DAYS'; +DBA: 'DBA'; +DBA_RECYCLEBIN: 'DBA_RECYCLEBIN'; +DBMS_STATS: 'DBMS_STATS'; +DB_ROLE_CHANGE: 'DB_ROLE_CHANGE'; +DBTIMEZONE: 'DBTIMEZONE'; +DB_UNIQUE_NAME: 'DB_UNIQUE_NAME'; +DB_VERSION: 'DB_VERSION'; +DDL: 'DDL'; +DEALLOCATE: 'DEALLOCATE'; +DEBUG: 'DEBUG'; +DEBUGGER: 'DEBUGGER'; +DEC: 'DEC'; +DECIMAL: 'DECIMAL'; +DECLARE: 'DECLARE'; +DECOMPOSE: 'DECOMPOSE'; +DECORRELATE: 'DECORRELATE'; +DECR: 'DECR'; +DECREMENT: 'DECREMENT'; +DECRYPT: 'DECRYPT'; +DEDUPLICATE: 'DEDUPLICATE'; +DEFAULT: 'DEFAULT'; +DEFAULTS: 'DEFAULTS'; +DEFERRABLE: 'DEFERRABLE'; +DEFERRED: 'DEFERRED'; +DEFINED: 'DEFINED'; +DEFINE: 'DEFINE'; +DEFINER: 'DEFINER'; +DEGREE: 'DEGREE'; +DELAY: 'DELAY'; +DELEGATE: 'DELEGATE'; +DELETE_ALL: 'DELETE_ALL'; +DELETE: 'DELETE'; +DELETEXML: 'DELETEXML'; +DEMAND: 'DEMAND'; +DENSE_RANKM: 'DENSE_RANKM'; +DEPENDENT: 'DEPENDENT'; +DEPTH: 'DEPTH'; +DEQUEUE: 'DEQUEUE'; +DEREF: 'DEREF'; +DEREF_NO_REWRITE: 'DEREF_NO_REWRITE'; +DESC: 'DESC'; +DESTROY: 'DESTROY'; +DETACHED: 'DETACHED'; +DETERMINES: 'DETERMINES'; +DETERMINISTIC: 'DETERMINISTIC'; +DICTIONARY: 'DICTIONARY'; +DIMENSION: 'DIMENSION'; +DIMENSIONS: 'DIMENSIONS'; +DIRECT_LOAD: 'DIRECT_LOAD'; +DIRECTORY: 'DIRECTORY'; +DIRECT_PATH: 'DIRECT_PATH'; +DISABLE_ALL: 'DISABLE_ALL'; +DISABLE: 'DISABLE'; +DISABLE_PARALLEL_DML: 'DISABLE_PARALLEL_DML'; +DISABLE_PRESET: 'DISABLE_PRESET'; +DISABLE_RPKE: 'DISABLE_RPKE'; +DISALLOW: 'DISALLOW'; +DISASSOCIATE: 'DISASSOCIATE'; +DISCARD: 'DISCARD'; +DISCONNECT: 'DISCONNECT'; +DISK: 'DISK'; +DISKGROUP: 'DISKGROUP'; +DISKGROUP_PLUS: '\'+ DISKGROUP'; +DISKS: 'DISKS'; +DISMOUNT: 'DISMOUNT'; +DISTINCT: 'DISTINCT'; +DISTINGUISHED: 'DISTINGUISHED'; +DISTRIBUTED: 'DISTRIBUTED'; +DISTRIBUTE: 'DISTRIBUTE'; +DML: 'DML'; +DML_UPDATE: 'DML_UPDATE'; +DOCFIDELITY: 'DOCFIDELITY'; +DOCUMENT: 'DOCUMENT'; +DOMAIN_INDEX_FILTER: 'DOMAIN_INDEX_FILTER'; +DOMAIN_INDEX_NO_SORT: 'DOMAIN_INDEX_NO_SORT'; +DOMAIN_INDEX_SORT: 'DOMAIN_INDEX_SORT'; +DOUBLE: 'DOUBLE'; +DOWNGRADE: 'DOWNGRADE'; +DRIVING_SITE: 'DRIVING_SITE'; +DROP_COLUMN: 'DROP_COLUMN'; +DROP: 'DROP'; +DROP_GROUP: 'DROP_GROUP'; +DSINTERVAL_UNCONSTRAINED: 'DSINTERVAL_UNCONSTRAINED'; +DST_UPGRADE_INSERT_CONV: 'DST_UPGRADE_INSERT_CONV'; +DUMP: 'DUMP'; +DUMPSET: 'DUMPSET'; +DUPLICATE: 'DUPLICATE'; +DV: 'DV'; +DYNAMIC: 'DYNAMIC'; +DYNAMIC_SAMPLING: 'DYNAMIC_SAMPLING'; +DYNAMIC_SAMPLING_EST_CDN: 'DYNAMIC_SAMPLING_EST_CDN'; +EACH: 'EACH'; +EDITIONABLE: 'EDITIONABLE'; +EDITION: 'EDITION'; +EDITIONING: 'EDITIONING'; +EDITIONS: 'EDITIONS'; +ELEMENT: 'ELEMENT'; +ELIM_GROUPBY: 'ELIM_GROUPBY'; +ELIMINATE_JOIN: 'ELIMINATE_JOIN'; +ELIMINATE_OBY: 'ELIMINATE_OBY'; +ELIMINATE_OUTER_JOIN: 'ELIMINATE_OUTER_JOIN'; +ELSE: 'ELSE'; +ELSIF: 'ELSIF'; +EM: 'EM'; +EMPTY_BLOB: 'EMPTY_BLOB'; +EMPTY_CLOB: 'EMPTY_CLOB'; +EMPTY: 'EMPTY'; +ENABLE_ALL: 'ENABLE_ALL'; +ENABLE: 'ENABLE'; +ENABLE_PARALLEL_DML: 'ENABLE_PARALLEL_DML'; +ENABLE_PRESET: 'ENABLE_PRESET'; +ENCODING: 'ENCODING'; +ENCRYPT: 'ENCRYPT'; +ENCRYPTION: 'ENCRYPTION'; +END: 'END'; +END_OUTLINE_DATA: 'END_OUTLINE_DATA'; +ENFORCED: 'ENFORCED'; +ENFORCE: 'ENFORCE'; +ENQUEUE: 'ENQUEUE'; +ENTERPRISE: 'ENTERPRISE'; +ENTITYESCAPING: 'ENTITYESCAPING'; +ENTRY: 'ENTRY'; +EQUIPART: 'EQUIPART'; +ERR: 'ERR'; +ERROR_ARGUMENT: 'ERROR_ARGUMENT'; +ERROR: 'ERROR'; +ERROR_ON_OVERLAP_TIME: 'ERROR_ON_OVERLAP_TIME'; +ERRORS: 'ERRORS'; +ESCAPE: 'ESCAPE'; +ESTIMATE: 'ESTIMATE'; +EVAL: 'EVAL'; +EVALNAME: 'EVALNAME'; +EVALUATE: 'EVALUATE'; +EVALUATION: 'EVALUATION'; +EVENTS: 'EVENTS'; +EVERY: 'EVERY'; +EXCEPT: 'EXCEPT'; +EXCEPTION: 'EXCEPTION'; +EXCEPTION_INIT: 'EXCEPTION_INIT'; +EXCEPTIONS: 'EXCEPTIONS'; +EXCHANGE: 'EXCHANGE'; +EXCLUDE: 'EXCLUDE'; +EXCLUDING: 'EXCLUDING'; +EXCLUSIVE: 'EXCLUSIVE'; +EXECUTE: 'EXECUTE'; +EXEMPT: 'EXEMPT'; +EXISTING: 'EXISTING'; +EXISTS: 'EXISTS'; +EXISTSNODE: 'EXISTSNODE'; +EXIT: 'EXIT'; +EXPAND_GSET_TO_UNION: 'EXPAND_GSET_TO_UNION'; +EXPAND_TABLE: 'EXPAND_TABLE'; +EXP: 'EXP'; +EXPIRE: 'EXPIRE'; +EXPLAIN: 'EXPLAIN'; +EXPLOSION: 'EXPLOSION'; +EXPORT: 'EXPORT'; +EXPR_CORR_CHECK: 'EXPR_CORR_CHECK'; +EXPRESS: 'EXPRESS'; +EXTENDS: 'EXTENDS'; +EXTENT: 'EXTENT'; +EXTENTS: 'EXTENTS'; +EXTERNAL: 'EXTERNAL'; +EXTERNALLY: 'EXTERNALLY'; +EXTRACTCLOBXML: 'EXTRACTCLOBXML'; +EXTRACT: 'EXTRACT'; +EXTRACTVALUE: 'EXTRACTVALUE'; +EXTRA: 'EXTRA'; +FACILITY: 'FACILITY'; +FACT: 'FACT'; +FACTOR: 'FACTOR'; +FACTORIZE_JOIN: 'FACTORIZE_JOIN'; +FAILED: 'FAILED'; +FAILED_LOGIN_ATTEMPTS: 'FAILED_LOGIN_ATTEMPTS'; +FAILGROUP: 'FAILGROUP'; +FAILOVER: 'FAILOVER'; +FAILURE: 'FAILURE'; +FALSE: 'FALSE'; +FAMILY: 'FAMILY'; +FAR: 'FAR'; +FAST: 'FAST'; +FASTSTART: 'FASTSTART'; +FBTSCAN: 'FBTSCAN'; +FEATURE_DETAILS: 'FEATURE_DETAILS'; +FEATURE_ID: 'FEATURE_ID'; +FEATURE_SET: 'FEATURE_SET'; +FEATURE_VALUE: 'FEATURE_VALUE'; +FETCH: 'FETCH'; +FILE: 'FILE'; +FILE_NAME_CONVERT: 'FILE_NAME_CONVERT'; +FILESYSTEM_LIKE_LOGGING: 'FILESYSTEM_LIKE_LOGGING'; +FILTER: 'FILTER'; +FINAL: 'FINAL'; +FINE: 'FINE'; +FINISH: 'FINISH'; +FIRST: 'FIRST'; +FIRSTM: 'FIRSTM'; +FIRST_ROWS: 'FIRST_ROWS'; +FIRST_VALUE: 'FIRST_VALUE'; +FIXED_VIEW_DATA: 'FIXED_VIEW_DATA'; +FLAGGER: 'FLAGGER'; +FLASHBACK: 'FLASHBACK'; +FLASH_CACHE: 'FLASH_CACHE'; +FLOAT: 'FLOAT'; +FLOB: 'FLOB'; +FLOOR: 'FLOOR'; +FLUSH: 'FLUSH'; +FOLDER: 'FOLDER'; +FOLLOWING: 'FOLLOWING'; +FOLLOWS: 'FOLLOWS'; +FORALL: 'FORALL'; +FORCE: 'FORCE'; +FORCE_XML_QUERY_REWRITE: 'FORCE_XML_QUERY_REWRITE'; +FOREIGN: 'FOREIGN'; +FOREVER: 'FOREVER'; +FOR: 'FOR'; +FORMAT: 'FORMAT'; +FORWARD: 'FORWARD'; +FRAGMENT_NUMBER: 'FRAGMENT_NUMBER'; +FREELIST: 'FREELIST'; +FREELISTS: 'FREELISTS'; +FREEPOOLS: 'FREEPOOLS'; +FRESH: 'FRESH'; +FROM: 'FROM'; +FROM_TZ: 'FROM_TZ'; +FULL: 'FULL'; +FULL_OUTER_JOIN_TO_OUTER: 'FULL_OUTER_JOIN_TO_OUTER'; +FUNCTION: 'FUNCTION'; +FUNCTIONS: 'FUNCTIONS'; +GATHER_OPTIMIZER_STATISTICS: 'GATHER_OPTIMIZER_STATISTICS'; +GATHER_PLAN_STATISTICS: 'GATHER_PLAN_STATISTICS'; +GBY_CONC_ROLLUP: 'GBY_CONC_ROLLUP'; +GBY_PUSHDOWN: 'GBY_PUSHDOWN'; +GENERATED: 'GENERATED'; +GET: 'GET'; +GLOBAL: 'GLOBAL'; +GLOBALLY: 'GLOBALLY'; +GLOBAL_NAME: 'GLOBAL_NAME'; +GLOBAL_TOPIC_ENABLED: 'GLOBAL_TOPIC_ENABLED'; +GOTO: 'GOTO'; +GRANT: 'GRANT'; +GROUP_BY: 'GROUP_BY'; +GROUP: 'GROUP'; +GROUP_ID: 'GROUP_ID'; +GROUPING: 'GROUPING'; +GROUPING_ID: 'GROUPING_ID'; +GROUPS: 'GROUPS'; +GUARANTEED: 'GUARANTEED'; +GUARANTEE: 'GUARANTEE'; +GUARD: 'GUARD'; +HASH_AJ: 'HASH_AJ'; +HASH: 'HASH'; +HASHKEYS: 'HASHKEYS'; +HASH_SJ: 'HASH_SJ'; +HAVING: 'HAVING'; +HEADER: 'HEADER'; +HEAP: 'HEAP'; +HELP: 'HELP'; +HEXTORAW: 'HEXTORAW'; +HEXTOREF: 'HEXTOREF'; +HIDDEN_KEYWORD: 'HIDDEN'; +HIDE: 'HIDE'; +HIERARCHY: 'HIERARCHY'; +HIGH: 'HIGH'; +HINTSET_BEGIN: 'HINTSET_BEGIN'; +HINTSET_END: 'HINTSET_END'; +HOT: 'HOT'; +HOUR: 'HOUR'; +HWM_BROKERED: 'HWM_BROKERED'; +HYBRID: 'HYBRID'; +IDENTIFIED: 'IDENTIFIED'; +IDENTIFIER: 'IDENTIFIER'; +IDENTITY: 'IDENTITY'; +IDGENERATORS: 'IDGENERATORS'; +ID: 'ID'; +IDLE_TIME: 'IDLE_TIME'; +IF: 'IF'; +IGNORE: 'IGNORE'; +IGNORE_OPTIM_EMBEDDED_HINTS: 'IGNORE_OPTIM_EMBEDDED_HINTS'; +IGNORE_ROW_ON_DUPKEY_INDEX: 'IGNORE_ROW_ON_DUPKEY_INDEX'; +IGNORE_WHERE_CLAUSE: 'IGNORE_WHERE_CLAUSE'; +ILM: 'ILM'; +IMMEDIATE: 'IMMEDIATE'; +IMPACT: 'IMPACT'; +IMPORT: 'IMPORT'; +INACTIVE: 'INACTIVE'; +INCLUDE: 'INCLUDE'; +INCLUDE_VERSION: 'INCLUDE_VERSION'; +INCLUDING: 'INCLUDING'; +INCREMENTAL: 'INCREMENTAL'; +INCREMENT: 'INCREMENT'; +INCR: 'INCR'; +INDENT: 'INDENT'; +INDEX_ASC: 'INDEX_ASC'; +INDEX_COMBINE: 'INDEX_COMBINE'; +INDEX_DESC: 'INDEX_DESC'; +INDEXED: 'INDEXED'; +INDEXES: 'INDEXES'; +INDEX_FFS: 'INDEX_FFS'; +INDEX_FILTER: 'INDEX_FILTER'; +INDEX: 'INDEX'; +INDEXING: 'INDEXING'; +INDEX_JOIN: 'INDEX_JOIN'; +INDEX_ROWS: 'INDEX_ROWS'; +INDEX_RRS: 'INDEX_RRS'; +INDEX_RS_ASC: 'INDEX_RS_ASC'; +INDEX_RS_DESC: 'INDEX_RS_DESC'; +INDEX_RS: 'INDEX_RS'; +INDEX_SCAN: 'INDEX_SCAN'; +INDEX_SKIP_SCAN: 'INDEX_SKIP_SCAN'; +INDEX_SS_ASC: 'INDEX_SS_ASC'; +INDEX_SS_DESC: 'INDEX_SS_DESC'; +INDEX_SS: 'INDEX_SS'; +INDEX_STATS: 'INDEX_STATS'; +INDEXTYPE: 'INDEXTYPE'; +INDEXTYPES: 'INDEXTYPES'; +INDICATOR: 'INDICATOR'; +INDICES: 'INDICES'; +INFINITE: 'INFINITE'; +INFORMATIONAL: 'INFORMATIONAL'; +INHERIT: 'INHERIT'; +IN: 'IN'; +INITCAP: 'INITCAP'; +INITIAL: 'INITIAL'; +INITIALIZED: 'INITIALIZED'; +INITIALLY: 'INITIALLY'; +INITRANS: 'INITRANS'; +INLINE: 'INLINE'; +INLINE_XMLTYPE_NT: 'INLINE_XMLTYPE_NT'; +INMEMORY: 'INMEMORY'; +IN_MEMORY_METADATA: 'IN_MEMORY_METADATA'; +INMEMORY_PRUNING: 'INMEMORY_PRUNING'; +INNER: 'INNER'; +INOUT: 'INOUT'; +INPLACE: 'INPLACE'; +INSERTCHILDXMLAFTER: 'INSERTCHILDXMLAFTER'; +INSERTCHILDXMLBEFORE: 'INSERTCHILDXMLBEFORE'; +INSERTCHILDXML: 'INSERTCHILDXML'; +INSERT: 'INSERT'; +INSERTXMLAFTER: 'INSERTXMLAFTER'; +INSERTXMLBEFORE: 'INSERTXMLBEFORE'; +INSTANCE: 'INSTANCE'; +INSTANCES: 'INSTANCES'; +INSTANTIABLE: 'INSTANTIABLE'; +INSTANTLY: 'INSTANTLY'; +INSTEAD: 'INSTEAD'; +INSTR2: 'INSTR2'; +INSTR4: 'INSTR4'; +INSTRB: 'INSTRB'; +INSTRC: 'INSTRC'; +INSTR: 'INSTR'; +INTEGER: 'INTEGER'; +INTERLEAVED: 'INTERLEAVED'; +INTERMEDIATE: 'INTERMEDIATE'; +INTERNAL_CONVERT: 'INTERNAL_CONVERT'; +INTERNAL_USE: 'INTERNAL_USE'; +INTERPRETED: 'INTERPRETED'; +INTERSECT: 'INTERSECT'; +INTERVAL: 'INTERVAL'; +INT: 'INT'; +INTO: 'INTO'; +INVALIDATE: 'INVALIDATE'; +INVISIBLE: 'INVISIBLE'; +IN_XQUERY: 'IN_XQUERY'; +IS: 'IS'; +ISOLATION: 'ISOLATION'; +ISOLATION_LEVEL: 'ISOLATION_LEVEL'; +ITERATE: 'ITERATE'; +ITERATION_NUMBER: 'ITERATION_NUMBER'; +JAVA: 'JAVA'; +JOB: 'JOB'; +JOIN: 'JOIN'; +JSON_ARRAYAGG: 'JSON_ARRAYAGG'; +JSON_ARRAY: 'JSON_ARRAY'; +JSON_EQUAL: 'JSON_EQUAL'; +JSON_EXISTS2: 'JSON_EXISTS2'; +JSON_EXISTS: 'JSON_EXISTS'; +JSONGET: 'JSONGET'; +JSON: 'JSON'; +JSON_OBJECTAGG: 'JSON_OBJECTAGG'; +JSON_OBJECT: 'JSON_OBJECT'; +JSONPARSE: 'JSONPARSE'; +JSON_QUERY: 'JSON_QUERY'; +JSON_SERIALIZE: 'JSON_SERIALIZE'; +JSON_TABLE: 'JSON_TABLE'; +JSON_TEXTCONTAINS2: 'JSON_TEXTCONTAINS2'; +JSON_TEXTCONTAINS: 'JSON_TEXTCONTAINS'; +JSON_VALUE: 'JSON_VALUE'; +KEEP_DUPLICATES: 'KEEP_DUPLICATES'; +KEEP: 'KEEP'; +KERBEROS: 'KERBEROS'; +KEY: 'KEY'; +KEY_LENGTH: 'KEY_LENGTH'; +KEYSIZE: 'KEYSIZE'; +KEYS: 'KEYS'; +KEYSTORE: 'KEYSTORE'; +KILL: 'KILL'; +LABEL: 'LABEL'; +LANGUAGE: 'LANGUAGE'; +LAST_DAY: 'LAST_DAY'; +LAST: 'LAST'; +LAST_VALUE: 'LAST_VALUE'; +LATERAL: 'LATERAL'; +LAX: 'LAX'; +LAYER: 'LAYER'; +LDAP_REGISTRATION_ENABLED: 'LDAP_REGISTRATION_ENABLED'; +LDAP_REGISTRATION: 'LDAP_REGISTRATION'; +LDAP_REG_SYNC_INTERVAL: 'LDAP_REG_SYNC_INTERVAL'; +LEADING: 'LEADING'; +LEFT: 'LEFT'; +LENGTH2: 'LENGTH2'; +LENGTH4: 'LENGTH4'; +LENGTHB: 'LENGTHB'; +LENGTHC: 'LENGTHC'; +LENGTH: 'LENGTH'; +LESS: 'LESS'; +LEVEL: 'LEVEL'; +LEVELS: 'LEVELS'; +LIBRARY: 'LIBRARY'; +LIFECYCLE: 'LIFECYCLE'; +LIFE: 'LIFE'; +LIFETIME: 'LIFETIME'; +LIKE2: 'LIKE2'; +LIKE4: 'LIKE4'; +LIKEC: 'LIKEC'; +LIKE_EXPAND: 'LIKE_EXPAND'; +LIKE: 'LIKE'; +LIMIT: 'LIMIT'; +LINEAR: 'LINEAR'; +LINK: 'LINK'; +LIST: 'LIST'; +LN: 'LN'; +LNNVL: 'LNNVL'; +LOAD: 'LOAD'; +LOB: 'LOB'; +LOBNVL: 'LOBNVL'; +LOBS: 'LOBS'; +LOCAL_INDEXES: 'LOCAL_INDEXES'; +LOCAL: 'LOCAL'; +LOCALTIME: 'LOCALTIME'; +LOCALTIMESTAMP: 'LOCALTIMESTAMP'; +LOCATION: 'LOCATION'; +LOCATOR: 'LOCATOR'; +LOCKED: 'LOCKED'; +LOCKING: 'LOCKING'; +LOCK: 'LOCK'; +LOGFILE: 'LOGFILE'; +LOGFILES: 'LOGFILES'; +LOGGING: 'LOGGING'; +LOGICAL: 'LOGICAL'; +LOGICAL_READS_PER_CALL: 'LOGICAL_READS_PER_CALL'; +LOGICAL_READS_PER_SESSION: 'LOGICAL_READS_PER_SESSION'; +LOG: 'LOG'; +LOGMINING: 'LOGMINING'; +LOGOFF: 'LOGOFF'; +LOGON: 'LOGON'; +LOG_READ_ONLY_VIOLATIONS: 'LOG_READ_ONLY_VIOLATIONS'; +LONG: 'LONG'; +LOOP: 'LOOP'; +LOWER: 'LOWER'; +LOW: 'LOW'; +LPAD: 'LPAD'; +LTRIM: 'LTRIM'; +MAIN: 'MAIN'; +MAKE_REF: 'MAKE_REF'; +MANAGED: 'MANAGED'; +MANAGE: 'MANAGE'; +MANAGEMENT: 'MANAGEMENT'; +MANAGER: 'MANAGER'; +MANUAL: 'MANUAL'; +MAP: 'MAP'; +MAPPING: 'MAPPING'; +MASTER: 'MASTER'; +MATCHED: 'MATCHED'; +MATCHES: 'MATCHES'; +MATCH: 'MATCH'; +MATCH_NUMBER: 'MATCH_NUMBER'; +MATCH_RECOGNIZE: 'MATCH_RECOGNIZE'; +MATERIALIZED: 'MATERIALIZED'; +MATERIALIZE: 'MATERIALIZE'; +MAXARCHLOGS: 'MAXARCHLOGS'; +MAXDATAFILES: 'MAXDATAFILES'; +MAXEXTENTS: 'MAXEXTENTS'; +MAXIMIZE: 'MAXIMIZE'; +MAXINSTANCES: 'MAXINSTANCES'; +MAXLOGFILES: 'MAXLOGFILES'; +MAXLOGHISTORY: 'MAXLOGHISTORY'; +MAXLOGMEMBERS: 'MAXLOGMEMBERS'; +MAX_SHARED_TEMP_SIZE: 'MAX_SHARED_TEMP_SIZE'; +MAXSIZE: 'MAXSIZE'; +MAXTRANS: 'MAXTRANS'; +MAXVALUE: 'MAXVALUE'; +MEASURE: 'MEASURE'; +MEASURES: 'MEASURES'; +MEDIUM: 'MEDIUM'; +MEMBER: 'MEMBER'; +MEMCOMPRESS: 'MEMCOMPRESS'; +MEMORY: 'MEMORY'; +MERGEACTIONS: 'MERGE$ACTIONS'; +MERGE_AJ: 'MERGE_AJ'; +MERGE_CONST_ON: 'MERGE_CONST_ON'; +MERGE: 'MERGE'; +MERGE_SJ: 'MERGE_SJ'; +METADATA: 'METADATA'; +METHOD: 'METHOD'; +MIGRATE: 'MIGRATE'; +MIGRATION: 'MIGRATION'; +MINEXTENTS: 'MINEXTENTS'; +MINIMIZE: 'MINIMIZE'; +MINIMUM: 'MINIMUM'; +MINING: 'MINING'; +MINUS: 'MINUS'; +MINUS_NULL: 'MINUS_NULL'; +MINUTE: 'MINUTE'; +MINVALUE: 'MINVALUE'; +MIRRORCOLD: 'MIRRORCOLD'; +MIRRORHOT: 'MIRRORHOT'; +MIRROR: 'MIRROR'; +MLSLABEL: 'MLSLABEL'; +MODEL_COMPILE_SUBQUERY: 'MODEL_COMPILE_SUBQUERY'; +MODEL_DONTVERIFY_UNIQUENESS: 'MODEL_DONTVERIFY_UNIQUENESS'; +MODEL_DYNAMIC_SUBQUERY: 'MODEL_DYNAMIC_SUBQUERY'; +MODEL_MIN_ANALYSIS: 'MODEL_MIN_ANALYSIS'; +MODEL: 'MODEL'; +MODEL_NB: 'MODEL_NB'; +MODEL_NO_ANALYSIS: 'MODEL_NO_ANALYSIS'; +MODEL_PBY: 'MODEL_PBY'; +MODEL_PUSH_REF: 'MODEL_PUSH_REF'; +MODEL_SV: 'MODEL_SV'; +MODE: 'MODE'; +MODIFICATION: 'MODIFICATION'; +MODIFY_COLUMN_TYPE: 'MODIFY_COLUMN_TYPE'; +MODIFY: 'MODIFY'; +MOD: 'MOD'; +MODULE: 'MODULE'; +MONITORING: 'MONITORING'; +MONITOR: 'MONITOR'; +MONTH: 'MONTH'; +MONTHS_BETWEEN: 'MONTHS_BETWEEN'; +MONTHS: 'MONTHS'; +MOUNT: 'MOUNT'; +MOUNTPATH: 'MOUNTPATH'; +MOVEMENT: 'MOVEMENT'; +MOVE: 'MOVE'; +MULTIDIMENSIONAL: 'MULTIDIMENSIONAL'; +MULTISET: 'MULTISET'; +MV_MERGE: 'MV_MERGE'; +NAMED: 'NAMED'; +NAME: 'NAME'; +NAMESPACE: 'NAMESPACE'; +NAN: 'NAN'; +NANVL: 'NANVL'; +NATIONAL: 'NATIONAL'; +NATIVE_FULL_OUTER_JOIN: 'NATIVE_FULL_OUTER_JOIN'; +NATIVE: 'NATIVE'; +NATURAL: 'NATURAL'; +NATURALN: 'NATURALN'; +NAV: 'NAV'; +NCHAR_CS: 'NCHAR_CS'; +NCHAR: 'NCHAR'; +NCHR: 'NCHR'; +NCLOB: 'NCLOB'; +NEEDED: 'NEEDED'; +NEG: 'NEG'; +NESTED: 'NESTED'; +NESTED_TABLE_FAST_INSERT: 'NESTED_TABLE_FAST_INSERT'; +NESTED_TABLE_GET_REFS: 'NESTED_TABLE_GET_REFS'; +NESTED_TABLE_ID: 'NESTED_TABLE_ID'; +NESTED_TABLE_SET_REFS: 'NESTED_TABLE_SET_REFS'; +NESTED_TABLE_SET_SETID: 'NESTED_TABLE_SET_SETID'; +NETWORK: 'NETWORK'; +NEVER: 'NEVER'; +NEW: 'NEW'; +NEW_TIME: 'NEW_TIME'; +NEXT_DAY: 'NEXT_DAY'; +NEXT: 'NEXT'; +NL_AJ: 'NL_AJ'; +NLJ_BATCHING: 'NLJ_BATCHING'; +NLJ_INDEX_FILTER: 'NLJ_INDEX_FILTER'; +NLJ_INDEX_SCAN: 'NLJ_INDEX_SCAN'; +NLJ_PREFETCH: 'NLJ_PREFETCH'; +NLS_CALENDAR: 'NLS_CALENDAR'; +NLS_CHARACTERSET: 'NLS_CHARACTERSET'; +NLS_CHARSET_DECL_LEN: 'NLS_CHARSET_DECL_LEN'; +NLS_CHARSET_ID: 'NLS_CHARSET_ID'; +NLS_CHARSET_NAME: 'NLS_CHARSET_NAME'; +NLS_COMP: 'NLS_COMP'; +NLS_CURRENCY: 'NLS_CURRENCY'; +NLS_DATE_FORMAT: 'NLS_DATE_FORMAT'; +NLS_DATE_LANGUAGE: 'NLS_DATE_LANGUAGE'; +NLS_INITCAP: 'NLS_INITCAP'; +NLS_ISO_CURRENCY: 'NLS_ISO_CURRENCY'; +NL_SJ: 'NL_SJ'; +NLS_LANG: 'NLS_LANG'; +NLS_LANGUAGE: 'NLS_LANGUAGE'; +NLS_LENGTH_SEMANTICS: 'NLS_LENGTH_SEMANTICS'; +NLS_LOWER: 'NLS_LOWER'; +NLS_NCHAR_CONV_EXCP: 'NLS_NCHAR_CONV_EXCP'; +NLS_NUMERIC_CHARACTERS: 'NLS_NUMERIC_CHARACTERS'; +NLS_SORT: 'NLS_SORT'; +NLSSORT: 'NLSSORT'; +NLS_SPECIAL_CHARS: 'NLS_SPECIAL_CHARS'; +NLS_TERRITORY: 'NLS_TERRITORY'; +NLS_UPPER: 'NLS_UPPER'; +NO_ACCESS: 'NO_ACCESS'; +NO_ADAPTIVE_PLAN: 'NO_ADAPTIVE_PLAN'; +NO_ANSI_REARCH: 'NO_ANSI_REARCH'; +NOAPPEND: 'NOAPPEND'; +NOARCHIVELOG: 'NOARCHIVELOG'; +NOAUDIT: 'NOAUDIT'; +NO_AUTO_REOPTIMIZE: 'NO_AUTO_REOPTIMIZE'; +NO_BASETABLE_MULTIMV_REWRITE: 'NO_BASETABLE_MULTIMV_REWRITE'; +NO_BATCH_TABLE_ACCESS_BY_ROWID: 'NO_BATCH_TABLE_ACCESS_BY_ROWID'; +NO_BIND_AWARE: 'NO_BIND_AWARE'; +NO_BUFFER: 'NO_BUFFER'; +NOCACHE: 'NOCACHE'; +NO_CARTESIAN: 'NO_CARTESIAN'; +NO_CHECK_ACL_REWRITE: 'NO_CHECK_ACL_REWRITE'; +NO_CLUSTER_BY_ROWID: 'NO_CLUSTER_BY_ROWID'; +NO_CLUSTERING: 'NO_CLUSTERING'; +NO_COALESCE_SQ: 'NO_COALESCE_SQ'; +NO_COMMON_DATA: 'NO_COMMON_DATA'; +NOCOMPRESS: 'NOCOMPRESS'; +NO_CONNECT_BY_CB_WHR_ONLY: 'NO_CONNECT_BY_CB_WHR_ONLY'; +NO_CONNECT_BY_COMBINE_SW: 'NO_CONNECT_BY_COMBINE_SW'; +NO_CONNECT_BY_COST_BASED: 'NO_CONNECT_BY_COST_BASED'; +NO_CONNECT_BY_ELIM_DUPS: 'NO_CONNECT_BY_ELIM_DUPS'; +NO_CONNECT_BY_FILTERING: 'NO_CONNECT_BY_FILTERING'; +NOCOPY: 'NOCOPY'; +NO_COST_XML_QUERY_REWRITE: 'NO_COST_XML_QUERY_REWRITE'; +NO_CPU_COSTING: 'NO_CPU_COSTING'; +NOCPU_COSTING: 'NOCPU_COSTING'; +NOCYCLE: 'NOCYCLE'; +NO_DATA_SECURITY_REWRITE: 'NO_DATA_SECURITY_REWRITE'; +NO_DECORRELATE: 'NO_DECORRELATE'; +NODELAY: 'NODELAY'; +NO_DOMAIN_INDEX_FILTER: 'NO_DOMAIN_INDEX_FILTER'; +NO_DST_UPGRADE_INSERT_CONV: 'NO_DST_UPGRADE_INSERT_CONV'; +NO_ELIM_GROUPBY: 'NO_ELIM_GROUPBY'; +NO_ELIMINATE_JOIN: 'NO_ELIMINATE_JOIN'; +NO_ELIMINATE_OBY: 'NO_ELIMINATE_OBY'; +NO_ELIMINATE_OUTER_JOIN: 'NO_ELIMINATE_OUTER_JOIN'; +NOENTITYESCAPING: 'NOENTITYESCAPING'; +NO_EXPAND_GSET_TO_UNION: 'NO_EXPAND_GSET_TO_UNION'; +NO_EXPAND: 'NO_EXPAND'; +NO_EXPAND_TABLE: 'NO_EXPAND_TABLE'; +NO_FACT: 'NO_FACT'; +NO_FACTORIZE_JOIN: 'NO_FACTORIZE_JOIN'; +NO_FILTERING: 'NO_FILTERING'; +NOFORCE: 'NOFORCE'; +NO_FULL_OUTER_JOIN_TO_OUTER: 'NO_FULL_OUTER_JOIN_TO_OUTER'; +NO_GATHER_OPTIMIZER_STATISTICS: 'NO_GATHER_OPTIMIZER_STATISTICS'; +NO_GBY_PUSHDOWN: 'NO_GBY_PUSHDOWN'; +NOGUARANTEE: 'NOGUARANTEE'; +NO_INDEX_FFS: 'NO_INDEX_FFS'; +NO_INDEX: 'NO_INDEX'; +NO_INDEX_SS: 'NO_INDEX_SS'; +NO_INMEMORY: 'NO_INMEMORY'; +NO_INMEMORY_PRUNING: 'NO_INMEMORY_PRUNING'; +NOKEEP: 'NOKEEP'; +NO_LOAD: 'NO_LOAD'; +NOLOCAL: 'NOLOCAL'; +NOLOGGING: 'NOLOGGING'; +NOMAPPING: 'NOMAPPING'; +NOMAXVALUE: 'NOMAXVALUE'; +NO_MERGE: 'NO_MERGE'; +NOMINIMIZE: 'NOMINIMIZE'; +NOMINVALUE: 'NOMINVALUE'; +NO_MODEL_PUSH_REF: 'NO_MODEL_PUSH_REF'; +NO_MONITORING: 'NO_MONITORING'; +NOMONITORING: 'NOMONITORING'; +NO_MONITOR: 'NO_MONITOR'; +NO_MULTIMV_REWRITE: 'NO_MULTIMV_REWRITE'; +NO_NATIVE_FULL_OUTER_JOIN: 'NO_NATIVE_FULL_OUTER_JOIN'; +NONBLOCKING: 'NONBLOCKING'; +NONEDITIONABLE: 'NONEDITIONABLE'; +NONE: 'NONE'; +NO_NLJ_BATCHING: 'NO_NLJ_BATCHING'; +NO_NLJ_PREFETCH: 'NO_NLJ_PREFETCH'; +NO: 'NO'; +NONSCHEMA: 'NONSCHEMA'; +NO_OBJECT_LINK: 'NO_OBJECT_LINK'; +NOORDER: 'NOORDER'; +NO_ORDER_ROLLUPS: 'NO_ORDER_ROLLUPS'; +NO_OUTER_JOIN_TO_ANTI: 'NO_OUTER_JOIN_TO_ANTI'; +NO_OUTER_JOIN_TO_INNER: 'NO_OUTER_JOIN_TO_INNER'; +NOOVERRIDE: 'NOOVERRIDE'; +NO_PARALLEL_INDEX: 'NO_PARALLEL_INDEX'; +NOPARALLEL_INDEX: 'NOPARALLEL_INDEX'; +NO_PARALLEL: 'NO_PARALLEL'; +NOPARALLEL: 'NOPARALLEL'; +NO_PARTIAL_COMMIT: 'NO_PARTIAL_COMMIT'; +NO_PARTIAL_JOIN: 'NO_PARTIAL_JOIN'; +NO_PARTIAL_ROLLUP_PUSHDOWN: 'NO_PARTIAL_ROLLUP_PUSHDOWN'; +NOPARTITION: 'NOPARTITION'; +NO_PLACE_DISTINCT: 'NO_PLACE_DISTINCT'; +NO_PLACE_GROUP_BY: 'NO_PLACE_GROUP_BY'; +NO_PQ_CONCURRENT_UNION: 'NO_PQ_CONCURRENT_UNION'; +NO_PQ_MAP: 'NO_PQ_MAP'; +NO_PQ_REPLICATE: 'NO_PQ_REPLICATE'; +NO_PQ_SKEW: 'NO_PQ_SKEW'; +NO_PRUNE_GSETS: 'NO_PRUNE_GSETS'; +NO_PULL_PRED: 'NO_PULL_PRED'; +NO_PUSH_PRED: 'NO_PUSH_PRED'; +NO_PUSH_SUBQ: 'NO_PUSH_SUBQ'; +NO_PX_FAULT_TOLERANCE: 'NO_PX_FAULT_TOLERANCE'; +NO_PX_JOIN_FILTER: 'NO_PX_JOIN_FILTER'; +NO_QKN_BUFF: 'NO_QKN_BUFF'; +NO_QUERY_TRANSFORMATION: 'NO_QUERY_TRANSFORMATION'; +NO_REF_CASCADE: 'NO_REF_CASCADE'; +NORELOCATE: 'NORELOCATE'; +NORELY: 'NORELY'; +NOREPAIR: 'NOREPAIR'; +NOREPLAY: 'NOREPLAY'; +NORESETLOGS: 'NORESETLOGS'; +NO_RESULT_CACHE: 'NO_RESULT_CACHE'; +NOREVERSE: 'NOREVERSE'; +NO_REWRITE: 'NO_REWRITE'; +NOREWRITE: 'NOREWRITE'; +NORMAL: 'NORMAL'; +NO_ROOT_SW_FOR_LOCAL: 'NO_ROOT_SW_FOR_LOCAL'; +NOROWDEPENDENCIES: 'NOROWDEPENDENCIES'; +NOSCHEMACHECK: 'NOSCHEMACHECK'; +NOSEGMENT: 'NOSEGMENT'; +NO_SEMIJOIN: 'NO_SEMIJOIN'; +NO_SEMI_TO_INNER: 'NO_SEMI_TO_INNER'; +NO_SET_TO_JOIN: 'NO_SET_TO_JOIN'; +NOSORT: 'NOSORT'; +NO_SQL_TRANSLATION: 'NO_SQL_TRANSLATION'; +NO_SQL_TUNE: 'NO_SQL_TUNE'; +NO_STAR_TRANSFORMATION: 'NO_STAR_TRANSFORMATION'; +NO_STATEMENT_QUEUING: 'NO_STATEMENT_QUEUING'; +NO_STATS_GSETS: 'NO_STATS_GSETS'; +NOSTRICT: 'NOSTRICT'; +NO_SUBQUERY_PRUNING: 'NO_SUBQUERY_PRUNING'; +NO_SUBSTRB_PAD: 'NO_SUBSTRB_PAD'; +NO_SWAP_JOIN_INPUTS: 'NO_SWAP_JOIN_INPUTS'; +NOSWITCH: 'NOSWITCH'; +NO_TABLE_LOOKUP_BY_NL: 'NO_TABLE_LOOKUP_BY_NL'; +NO_TEMP_TABLE: 'NO_TEMP_TABLE'; +NOTHING: 'NOTHING'; +NOTIFICATION: 'NOTIFICATION'; +NOT: 'NOT'; +NO_TRANSFORM_DISTINCT_AGG: 'NO_TRANSFORM_DISTINCT_AGG'; +NO_UNNEST: 'NO_UNNEST'; +NO_USE_CUBE: 'NO_USE_CUBE'; +NO_USE_HASH_AGGREGATION: 'NO_USE_HASH_AGGREGATION'; +NO_USE_HASH_GBY_FOR_PUSHDOWN: 'NO_USE_HASH_GBY_FOR_PUSHDOWN'; +NO_USE_HASH: 'NO_USE_HASH'; +NO_USE_INVISIBLE_INDEXES: 'NO_USE_INVISIBLE_INDEXES'; +NO_USE_MERGE: 'NO_USE_MERGE'; +NO_USE_NL: 'NO_USE_NL'; +NO_USE_VECTOR_AGGREGATION: 'NO_USE_VECTOR_AGGREGATION'; +NOVALIDATE: 'NOVALIDATE'; +NO_VECTOR_TRANSFORM_DIMS: 'NO_VECTOR_TRANSFORM_DIMS'; +NO_VECTOR_TRANSFORM_FACT: 'NO_VECTOR_TRANSFORM_FACT'; +NO_VECTOR_TRANSFORM: 'NO_VECTOR_TRANSFORM'; +NOWAIT: 'NOWAIT'; +NO_XDB_FASTPATH_INSERT: 'NO_XDB_FASTPATH_INSERT'; +NO_XML_DML_REWRITE: 'NO_XML_DML_REWRITE'; +NO_XMLINDEX_REWRITE_IN_SELECT: 'NO_XMLINDEX_REWRITE_IN_SELECT'; +NO_XMLINDEX_REWRITE: 'NO_XMLINDEX_REWRITE'; +NO_XML_QUERY_REWRITE: 'NO_XML_QUERY_REWRITE'; +NO_ZONEMAP: 'NO_ZONEMAP'; +NTH_VALUE: 'NTH_VALUE'; +NULLIF: 'NULLIF'; +NULL_: 'NULL'; +NULLS: 'NULLS'; +NUMBER: 'NUMBER'; +NUMERIC: 'NUMERIC'; +NUM_INDEX_KEYS: 'NUM_INDEX_KEYS'; +NUMTODSINTERVAL: 'NUMTODSINTERVAL'; +NUMTOYMINTERVAL: 'NUMTOYMINTERVAL'; +NVARCHAR2: 'NVARCHAR2'; +NVL2: 'NVL2'; +OBJECT2XML: 'OBJECT2XML'; +OBJECT: 'OBJECT'; +OBJ_ID: 'OBJ_ID'; +OBJNO: 'OBJNO'; +OBJNO_REUSE: 'OBJNO_REUSE'; +OCCURENCES: 'OCCURENCES'; +OFFLINE: 'OFFLINE'; +OFF: 'OFF'; +OFFSET: 'OFFSET'; +OF: 'OF'; +OIDINDEX: 'OIDINDEX'; +OID: 'OID'; +OLAP: 'OLAP'; +OLD: 'OLD'; +OLD_PUSH_PRED: 'OLD_PUSH_PRED'; +OLS: 'OLS'; +OLTP: 'OLTP'; +OMIT: 'OMIT'; +ONE: 'ONE'; +ONLINE: 'ONLINE'; +ONLINELOG: 'ONLINELOG'; +ONLY: 'ONLY'; +ON: 'ON'; +OPAQUE: 'OPAQUE'; +OPAQUE_TRANSFORM: 'OPAQUE_TRANSFORM'; +OPAQUE_XCANONICAL: 'OPAQUE_XCANONICAL'; +OPCODE: 'OPCODE'; +OPEN: 'OPEN'; +OPERATIONS: 'OPERATIONS'; +OPERATOR: 'OPERATOR'; +OPT_ESTIMATE: 'OPT_ESTIMATE'; +OPTIMAL: 'OPTIMAL'; +OPTIMIZE: 'OPTIMIZE'; +OPTIMIZER_FEATURES_ENABLE: 'OPTIMIZER_FEATURES_ENABLE'; +OPTIMIZER_GOAL: 'OPTIMIZER_GOAL'; +OPTION: 'OPTION'; +OPT_PARAM: 'OPT_PARAM'; +ORA_BRANCH: 'ORA_BRANCH'; +ORA_CHECK_ACL: 'ORA_CHECK_ACL'; +ORA_CHECK_PRIVILEGE: 'ORA_CHECK_PRIVILEGE'; +ORA_CLUSTERING: 'ORA_CLUSTERING'; +ORADATA: 'ORADATA'; +ORADEBUG: 'ORADEBUG'; +ORA_DST_AFFECTED: 'ORA_DST_AFFECTED'; +ORA_DST_CONVERT: 'ORA_DST_CONVERT'; +ORA_DST_ERROR: 'ORA_DST_ERROR'; +ORA_GET_ACLIDS: 'ORA_GET_ACLIDS'; +ORA_GET_PRIVILEGES: 'ORA_GET_PRIVILEGES'; +ORA_HASH: 'ORA_HASH'; +ORA_INVOKING_USERID: 'ORA_INVOKING_USERID'; +ORA_INVOKING_USER: 'ORA_INVOKING_USER'; +ORA_INVOKING_XS_USER_GUID: 'ORA_INVOKING_XS_USER_GUID'; +ORA_INVOKING_XS_USER: 'ORA_INVOKING_XS_USER'; +ORA_RAWCOMPARE: 'ORA_RAWCOMPARE'; +ORA_RAWCONCAT: 'ORA_RAWCONCAT'; +ORA_ROWSCN: 'ORA_ROWSCN'; +ORA_ROWSCN_RAW: 'ORA_ROWSCN_RAW'; +ORA_ROWVERSION: 'ORA_ROWVERSION'; +ORA_TABVERSION: 'ORA_TABVERSION'; +ORA_WRITE_TIME: 'ORA_WRITE_TIME'; +ORDERED: 'ORDERED'; +ORDERED_PREDICATES: 'ORDERED_PREDICATES'; +ORDER: 'ORDER'; +ORDINALITY: 'ORDINALITY'; +OR_EXPAND: 'OR_EXPAND'; +ORGANIZATION: 'ORGANIZATION'; +OR: 'OR'; +OR_PREDICATES: 'OR_PREDICATES'; +OSERROR: 'OSERROR'; +OTHER: 'OTHER'; +OUTER_JOIN_TO_ANTI: 'OUTER_JOIN_TO_ANTI'; +OUTER_JOIN_TO_INNER: 'OUTER_JOIN_TO_INNER'; +OUTER: 'OUTER'; +OUTLINE_LEAF: 'OUTLINE_LEAF'; +OUTLINE: 'OUTLINE'; +OUT_OF_LINE: 'OUT_OF_LINE'; +OUT: 'OUT'; +OVERFLOW_NOMOVE: 'OVERFLOW_NOMOVE'; +OVERFLOW: 'OVERFLOW'; +OVERLAPS: 'OVERLAPS'; +OVER: 'OVER'; +OVERRIDING: 'OVERRIDING'; +OWNER: 'OWNER'; +OWNERSHIP: 'OWNERSHIP'; +OWN: 'OWN'; +PACKAGE: 'PACKAGE'; +PACKAGES: 'PACKAGES'; +PARALLEL_ENABLE: 'PARALLEL_ENABLE'; +PARALLEL_INDEX: 'PARALLEL_INDEX'; +PARALLEL: 'PARALLEL'; +PARAMETERFILE: 'PARAMETERFILE'; +PARAMETERS: 'PARAMETERS'; +PARAM: 'PARAM'; +PARENT: 'PARENT'; +PARITY: 'PARITY'; +PARTIAL_JOIN: 'PARTIAL_JOIN'; +PARTIALLY: 'PARTIALLY'; +PARTIAL: 'PARTIAL'; +PARTIAL_ROLLUP_PUSHDOWN: 'PARTIAL_ROLLUP_PUSHDOWN'; +PARTITION_HASH: 'PARTITION_HASH'; +PARTITION_LIST: 'PARTITION_LIST'; +PARTITION: 'PARTITION'; +PARTITION_RANGE: 'PARTITION_RANGE'; +PARTITIONS: 'PARTITIONS'; +PARTNUMINST: 'PART$NUM$INST'; +PASSING: 'PASSING'; +PASSWORD_GRACE_TIME: 'PASSWORD_GRACE_TIME'; +PASSWORD_LIFE_TIME: 'PASSWORD_LIFE_TIME'; +PASSWORD_LOCK_TIME: 'PASSWORD_LOCK_TIME'; +PASSWORD: 'PASSWORD'; +PASSWORD_REUSE_MAX: 'PASSWORD_REUSE_MAX'; +PASSWORD_REUSE_TIME: 'PASSWORD_REUSE_TIME'; +PASSWORD_VERIFY_FUNCTION: 'PASSWORD_VERIFY_FUNCTION'; +PAST: 'PAST'; +PATCH: 'PATCH'; +PATH: 'PATH'; +PATH_PREFIX: 'PATH_PREFIX'; +PATHS: 'PATHS'; +PATTERN: 'PATTERN'; +PBL_HS_BEGIN: 'PBL_HS_BEGIN'; +PBL_HS_END: 'PBL_HS_END'; +PCTFREE: 'PCTFREE'; +PCTINCREASE: 'PCTINCREASE'; +PCTTHRESHOLD: 'PCTTHRESHOLD'; +PCTUSED: 'PCTUSED'; +PCTVERSION: 'PCTVERSION'; +PENDING: 'PENDING'; +PERCENT_FOUND: '%' SPACE* 'FOUND'; +PERCENT_ISOPEN: '%' SPACE* 'ISOPEN'; +PERCENT_NOTFOUND: '%' SPACE* 'NOTFOUND'; +PERCENT_KEYWORD: 'PERCENT'; +PERCENT_RANKM: 'PERCENT_RANKM'; +PERCENT_ROWCOUNT: '%' SPACE* 'ROWCOUNT'; +PERCENT_ROWTYPE: '%' SPACE* 'ROWTYPE'; +PERCENT_TYPE: '%' SPACE* 'TYPE'; +PERFORMANCE: 'PERFORMANCE'; +PERIOD_KEYWORD: 'PERIOD'; +PERMANENT: 'PERMANENT'; +PERMISSION: 'PERMISSION'; +PERMUTE: 'PERMUTE'; +PER: 'PER'; +PFILE: 'PFILE'; +PHYSICAL: 'PHYSICAL'; +PIKEY: 'PIKEY'; +PIPELINED: 'PIPELINED'; +PIPE: 'PIPE'; +PIV_GB: 'PIV_GB'; +PIVOT: 'PIVOT'; +PIV_SSF: 'PIV_SSF'; +PLACE_DISTINCT: 'PLACE_DISTINCT'; +PLACE_GROUP_BY: 'PLACE_GROUP_BY'; +PLAN: 'PLAN'; +PLSCOPE_SETTINGS: 'PLSCOPE_SETTINGS'; +PLS_INTEGER: 'PLS_INTEGER'; +PLSQL_CCFLAGS: 'PLSQL_CCFLAGS'; +PLSQL_CODE_TYPE: 'PLSQL_CODE_TYPE'; +PLSQL_DEBUG: 'PLSQL_DEBUG'; +PLSQL_OPTIMIZE_LEVEL: 'PLSQL_OPTIMIZE_LEVEL'; +PLSQL_WARNINGS: 'PLSQL_WARNINGS'; +PLUGGABLE: 'PLUGGABLE'; +POINT: 'POINT'; +POLICY: 'POLICY'; +POOL_16K: 'POOL_16K'; +POOL_2K: 'POOL_2K'; +POOL_32K: 'POOL_32K'; +POOL_4K: 'POOL_4K'; +POOL_8K: 'POOL_8K'; +POSITIVEN: 'POSITIVEN'; +POSITIVE: 'POSITIVE'; +POST_TRANSACTION: 'POST_TRANSACTION'; +POWERMULTISET_BY_CARDINALITY: 'POWERMULTISET_BY_CARDINALITY'; +POWERMULTISET: 'POWERMULTISET'; +POWER: 'POWER'; +PQ_CONCURRENT_UNION: 'PQ_CONCURRENT_UNION'; +PQ_DISTRIBUTE: 'PQ_DISTRIBUTE'; +PQ_DISTRIBUTE_WINDOW: 'PQ_DISTRIBUTE_WINDOW'; +PQ_FILTER: 'PQ_FILTER'; +PQ_MAP: 'PQ_MAP'; +PQ_NOMAP: 'PQ_NOMAP'; +PQ_REPLICATE: 'PQ_REPLICATE'; +PQ_SKEW: 'PQ_SKEW'; +PRAGMA: 'PRAGMA'; +PREBUILT: 'PREBUILT'; +PRECEDES: 'PRECEDES'; +PRECEDING: 'PRECEDING'; +PRECISION: 'PRECISION'; +PRECOMPUTE_SUBQUERY: 'PRECOMPUTE_SUBQUERY'; +PREDICATE_REORDERS: 'PREDICATE_REORDERS'; +PRELOAD: 'PRELOAD'; +PREPARE: 'PREPARE'; +PRESENTNNV: 'PRESENTNNV'; +PRESENT: 'PRESENT'; +PRESENTV: 'PRESENTV'; +PRESERVE_OID: 'PRESERVE_OID'; +PRESERVE: 'PRESERVE'; +PRETTY: 'PRETTY'; +PREVIOUS: 'PREVIOUS'; +PREV: 'PREV'; +PRIMARY: 'PRIMARY'; +PRINTBLOBTOCLOB: 'PRINTBLOBTOCLOB'; +PRIORITY: 'PRIORITY'; +PRIOR: 'PRIOR'; +PRIVATE: 'PRIVATE'; +PRIVATE_SGA: 'PRIVATE_SGA'; +PRIVILEGED: 'PRIVILEGED'; +PRIVILEGE: 'PRIVILEGE'; +PRIVILEGES: 'PRIVILEGES'; +PROCEDURAL: 'PROCEDURAL'; +PROCEDURE: 'PROCEDURE'; +PROCESS: 'PROCESS'; +PROFILE: 'PROFILE'; +PROGRAM: 'PROGRAM'; +PROJECT: 'PROJECT'; +PROPAGATE: 'PROPAGATE'; +PROTECTED: 'PROTECTED'; +PROTECTION: 'PROTECTION'; +PROXY: 'PROXY'; +PRUNING: 'PRUNING'; +PUBLIC: 'PUBLIC'; +PULL_PRED: 'PULL_PRED'; +PURGE: 'PURGE'; +PUSH_PRED: 'PUSH_PRED'; +PUSH_SUBQ: 'PUSH_SUBQ'; +PX_FAULT_TOLERANCE: 'PX_FAULT_TOLERANCE'; +PX_GRANULE: 'PX_GRANULE'; +PX_JOIN_FILTER: 'PX_JOIN_FILTER'; +QB_NAME: 'QB_NAME'; +QUERY_BLOCK: 'QUERY_BLOCK'; +QUERY: 'QUERY'; +QUEUE_CURR: 'QUEUE_CURR'; +QUEUE: 'QUEUE'; +QUEUE_ROWP: 'QUEUE_ROWP'; +QUIESCE: 'QUIESCE'; +QUORUM: 'QUORUM'; +QUOTA: 'QUOTA'; +RAISE: 'RAISE'; +RANDOM_LOCAL: 'RANDOM_LOCAL'; +RANDOM: 'RANDOM'; +RANGE: 'RANGE'; +RANKM: 'RANKM'; +RAPIDLY: 'RAPIDLY'; +RAW: 'RAW'; +RAWTOHEX: 'RAWTOHEX'; +RAWTONHEX: 'RAWTONHEX'; +RBA: 'RBA'; +RBO_OUTLINE: 'RBO_OUTLINE'; +RDBA: 'RDBA'; +READ: 'READ'; +READS: 'READS'; +REALM: 'REALM'; +REAL: 'REAL'; +REBALANCE: 'REBALANCE'; +REBUILD: 'REBUILD'; +RECORD: 'RECORD'; +RECORDS_PER_BLOCK: 'RECORDS_PER_BLOCK'; +RECOVERABLE: 'RECOVERABLE'; +RECOVER: 'RECOVER'; +RECOVERY: 'RECOVERY'; +RECYCLEBIN: 'RECYCLEBIN'; +RECYCLE: 'RECYCLE'; +REDACTION: 'REDACTION'; +REDEFINE: 'REDEFINE'; +REDO: 'REDO'; +REDUCED: 'REDUCED'; +REDUNDANCY: 'REDUNDANCY'; +REF_CASCADE_CURSOR: 'REF_CASCADE_CURSOR'; +REFERENCED: 'REFERENCED'; +REFERENCE: 'REFERENCE'; +REFERENCES: 'REFERENCES'; +REFERENCING: 'REFERENCING'; +REF: 'REF'; +REFRESH: 'REFRESH'; +REFTOHEX: 'REFTOHEX'; +REGEXP_COUNT: 'REGEXP_COUNT'; +REGEXP_INSTR: 'REGEXP_INSTR'; +REGEXP_LIKE: 'REGEXP_LIKE'; +REGEXP_REPLACE: 'REGEXP_REPLACE'; +REGEXP_SUBSTR: 'REGEXP_SUBSTR'; +REGISTER: 'REGISTER'; +REGR_AVGX: 'REGR_AVGX'; +REGR_AVGY: 'REGR_AVGY'; +REGR_COUNT: 'REGR_COUNT'; +REGR_INTERCEPT: 'REGR_INTERCEPT'; +REGR_R2: 'REGR_R2'; +REGR_SLOPE: 'REGR_SLOPE'; +REGR_SXX: 'REGR_SXX'; +REGR_SXY: 'REGR_SXY'; +REGR_SYY: 'REGR_SYY'; +REGULAR: 'REGULAR'; +REJECT: 'REJECT'; +REKEY: 'REKEY'; +RELATIONAL: 'RELATIONAL'; +RELIES_ON: 'RELIES_ON'; +RELOCATE: 'RELOCATE'; +RELY: 'RELY'; +REMAINDER: 'REMAINDER'; +REMOTE_MAPPED: 'REMOTE_MAPPED'; +REMOVE: 'REMOVE'; +RENAME: 'RENAME'; +REPAIR: 'REPAIR'; +REPEAT: 'REPEAT'; +REPLACE: 'REPLACE'; +REPLICATION: 'REPLICATION'; +REQUIRED: 'REQUIRED'; +RESETLOGS: 'RESETLOGS'; +RESET: 'RESET'; +RESIZE: 'RESIZE'; +RESOLVE: 'RESOLVE'; +RESOLVER: 'RESOLVER'; +RESOURCE: 'RESOURCE'; +RESPECT: 'RESPECT'; +RESTART: 'RESTART'; +RESTORE_AS_INTERVALS: 'RESTORE_AS_INTERVALS'; +RESTORE: 'RESTORE'; +RESTRICT_ALL_REF_CONS: 'RESTRICT_ALL_REF_CONS'; +RESTRICTED: 'RESTRICTED'; +RESTRICT_REFERENCES: 'RESTRICT_REFERENCES'; +RESTRICT: 'RESTRICT'; +RESULT_CACHE: 'RESULT_CACHE'; +RESULT: 'RESULT'; +RESUMABLE: 'RESUMABLE'; +RESUME: 'RESUME'; +RETENTION: 'RETENTION'; +RETRY_ON_ROW_CHANGE: 'RETRY_ON_ROW_CHANGE'; +RETURNING: 'RETURNING'; +RETURN: 'RETURN'; +REUSE: 'REUSE'; +REVERSE: 'REVERSE'; +REVOKE: 'REVOKE'; +REWRITE_OR_ERROR: 'REWRITE_OR_ERROR'; +REWRITE: 'REWRITE'; +RIGHT: 'RIGHT'; +ROLE: 'ROLE'; +ROLESET: 'ROLESET'; +ROLES: 'ROLES'; +ROLLBACK: 'ROLLBACK'; +ROLLING: 'ROLLING'; +ROLLUP: 'ROLLUP'; +ROWDEPENDENCIES: 'ROWDEPENDENCIES'; +ROWID_MAPPING_TABLE: 'ROWID_MAPPING_TABLE'; +ROWID: 'ROWID'; +ROWIDTOCHAR: 'ROWIDTOCHAR'; +ROWIDTONCHAR: 'ROWIDTONCHAR'; +ROW_LENGTH: 'ROW_LENGTH'; +ROWNUM: 'ROWNUM'; +ROW: 'ROW'; +ROWS: 'ROWS'; +RPAD: 'RPAD'; +RTRIM: 'RTRIM'; +RULE: 'RULE'; +RULES: 'RULES'; +RUNNING: 'RUNNING'; +SALT: 'SALT'; +SAMPLE: 'SAMPLE'; +SAVE_AS_INTERVALS: 'SAVE_AS_INTERVALS'; +SAVEPOINT: 'SAVEPOINT'; +SAVE: 'SAVE'; +SB4: 'SB4'; +SCALE_ROWS: 'SCALE_ROWS'; +SCALE: 'SCALE'; +SCAN_INSTANCES: 'SCAN_INSTANCES'; +SCAN: 'SCAN'; +SCHEDULER: 'SCHEDULER'; +SCHEMACHECK: 'SCHEMACHECK'; +SCHEMA: 'SCHEMA'; +SCN_ASCENDING: 'SCN_ASCENDING'; +SCN: 'SCN'; +SCOPE: 'SCOPE'; +SCRUB: 'SCRUB'; +SD_ALL: 'SD_ALL'; +SD_INHIBIT: 'SD_INHIBIT'; +SDO_GEOM_MBR: 'SDO_GEOM_MBR'; +SD_SHOW: 'SD_SHOW'; +SEARCH: 'SEARCH'; +SECOND: 'SECOND'; +SECRET: 'SECRET'; +SECUREFILE_DBA: 'SECUREFILE_DBA'; +SECUREFILE: 'SECUREFILE'; +SECURITY: 'SECURITY'; +SEED: 'SEED'; +SEG_BLOCK: 'SEG_BLOCK'; +SEG_FILE: 'SEG_FILE'; +SEGMENT: 'SEGMENT'; +SELECTIVITY: 'SELECTIVITY'; +SELECT: 'SELECT'; +SELF: 'SELF'; +SEMIJOIN_DRIVER: 'SEMIJOIN_DRIVER'; +SEMIJOIN: 'SEMIJOIN'; +SEMI_TO_INNER: 'SEMI_TO_INNER'; +SEQUENCED: 'SEQUENCED'; +SEQUENCE: 'SEQUENCE'; +SEQUENTIAL: 'SEQUENTIAL'; +SEQ: 'SEQ'; +SERIALIZABLE: 'SERIALIZABLE'; +SERIALLY_REUSABLE: 'SERIALLY_REUSABLE'; +SERIAL: 'SERIAL'; +SERVERERROR: 'SERVERERROR'; +SERVICE_NAME_CONVERT: 'SERVICE_NAME_CONVERT'; +SERVICES: 'SERVICES'; +SESSION_CACHED_CURSORS: 'SESSION_CACHED_CURSORS'; +SESSION: 'SESSION'; +SESSIONS_PER_USER: 'SESSIONS_PER_USER'; +SESSIONTIMEZONE: 'SESSIONTIMEZONE'; +SESSIONTZNAME: 'SESSIONTZNAME'; +SET: 'SET'; +SETS: 'SETS'; +SETTINGS: 'SETTINGS'; +SET_TO_JOIN: 'SET_TO_JOIN'; +SEVERE: 'SEVERE'; +SHARED_POOL: 'SHARED_POOL'; +SHARED: 'SHARED'; +SHARE: 'SHARE'; +SHARING: 'SHARING'; +SHELFLIFE: 'SHELFLIFE'; +SHOW: 'SHOW'; +SHRINK: 'SHRINK'; +SHUTDOWN: 'SHUTDOWN'; +SIBLINGS: 'SIBLINGS'; +SID: 'SID'; +SIGNAL_COMPONENT: 'SIGNAL_COMPONENT'; +SIGNAL_FUNCTION: 'SIGNAL_FUNCTION'; +SIGN: 'SIGN'; +SIGNTYPE: 'SIGNTYPE'; +SIMPLE_INTEGER: 'SIMPLE_INTEGER'; +SIMPLE: 'SIMPLE'; +SINGLE: 'SINGLE'; +SINGLETASK: 'SINGLETASK'; +SINH: 'SINH'; +SIN: 'SIN'; +SIZE: 'SIZE'; +SKIP_EXT_OPTIMIZER: 'SKIP_EXT_OPTIMIZER'; +SKIP_ : 'SKIP'; +SKIP_UNQ_UNUSABLE_IDX: 'SKIP_UNQ_UNUSABLE_IDX'; +SKIP_UNUSABLE_INDEXES: 'SKIP_UNUSABLE_INDEXES'; +SMALLFILE: 'SMALLFILE'; +SMALLINT: 'SMALLINT'; +SNAPSHOT: 'SNAPSHOT'; +SOME: 'SOME'; +SORT: 'SORT'; +SOUNDEX: 'SOUNDEX'; +SOURCE_FILE_DIRECTORY: 'SOURCE_FILE_DIRECTORY'; +SOURCE_FILE_NAME_CONVERT: 'SOURCE_FILE_NAME_CONVERT'; +SOURCE: 'SOURCE'; +SPACE_KEYWORD: 'SPACE'; +SPECIFICATION: 'SPECIFICATION'; +SPFILE: 'SPFILE'; +SPLIT: 'SPLIT'; +SPREADSHEET: 'SPREADSHEET'; +SQLDATA: 'SQLDATA'; +SQLERROR: 'SQLERROR'; +SQLLDR: 'SQLLDR'; +SQL: 'SQL'; +SQL_TRACE: 'SQL_TRACE'; +SQL_TRANSLATION_PROFILE: 'SQL_TRANSLATION_PROFILE'; +SQRT: 'SQRT'; +STALE: 'STALE'; +STANDALONE: 'STANDALONE'; +STANDARD_HASH: 'STANDARD_HASH'; +STANDBY_MAX_DATA_DELAY: 'STANDBY_MAX_DATA_DELAY'; +STANDBYS: 'STANDBYS'; +STANDBY: 'STANDBY'; +STAR: 'STAR'; +STAR_TRANSFORMATION: 'STAR_TRANSFORMATION'; +START: 'START'; +STARTUP: 'STARTUP'; +STATEMENT_ID: 'STATEMENT_ID'; +STATEMENT_QUEUING: 'STATEMENT_QUEUING'; +STATEMENTS: 'STATEMENTS'; +STATEMENT: 'STATEMENT'; +STATE: 'STATE'; +STATIC: 'STATIC'; +STATISTICS: 'STATISTICS'; +STATS_BINOMIAL_TEST: 'STATS_BINOMIAL_TEST'; +STATS_CROSSTAB: 'STATS_CROSSTAB'; +STATS_F_TEST: 'STATS_F_TEST'; +STATS_KS_TEST: 'STATS_KS_TEST'; +STATS_MODE: 'STATS_MODE'; +STATS_MW_TEST: 'STATS_MW_TEST'; +STATS_ONE_WAY_ANOVA: 'STATS_ONE_WAY_ANOVA'; +STATS_T_TEST_INDEP: 'STATS_T_TEST_INDEP'; +STATS_T_TEST_INDEPU: 'STATS_T_TEST_INDEPU'; +STATS_T_TEST_ONE: 'STATS_T_TEST_ONE'; +STATS_T_TEST_PAIRED: 'STATS_T_TEST_PAIRED'; +STATS_WSR_TEST: 'STATS_WSR_TEST'; +STDDEV_POP: 'STDDEV_POP'; +STDDEV_SAMP: 'STDDEV_SAMP'; +STOP: 'STOP'; +STORAGE: 'STORAGE'; +STORE: 'STORE'; +STREAMS: 'STREAMS'; +STREAM: 'STREAM'; +STRICT: 'STRICT'; +STRING: 'STRING'; +STRIPE_COLUMNS: 'STRIPE_COLUMNS'; +STRIPE_WIDTH: 'STRIPE_WIDTH'; +STRIP: 'STRIP'; +STRUCTURE: 'STRUCTURE'; +SUBMULTISET: 'SUBMULTISET'; +SUBPARTITION_REL: 'SUBPARTITION_REL'; +SUBPARTITIONS: 'SUBPARTITIONS'; +SUBPARTITION: 'SUBPARTITION'; +SUBQUERIES: 'SUBQUERIES'; +SUBQUERY_PRUNING: 'SUBQUERY_PRUNING'; +SUBSCRIBE: 'SUBSCRIBE'; +SUBSET: 'SUBSET'; +SUBSTITUTABLE: 'SUBSTITUTABLE'; +SUBSTR2: 'SUBSTR2'; +SUBSTR4: 'SUBSTR4'; +SUBSTRB: 'SUBSTRB'; +SUBSTRC: 'SUBSTRC'; +SUBTYPE: 'SUBTYPE'; +SUCCESSFUL: 'SUCCESSFUL'; +SUCCESS: 'SUCCESS'; +SUMMARY: 'SUMMARY'; +SUPPLEMENTAL: 'SUPPLEMENTAL'; +SUSPEND: 'SUSPEND'; +SWAP_JOIN_INPUTS: 'SWAP_JOIN_INPUTS'; +SWITCHOVER: 'SWITCHOVER'; +SWITCH: 'SWITCH'; +SYNCHRONOUS: 'SYNCHRONOUS'; +SYNC: 'SYNC'; +SYNONYM: 'SYNONYM'; +SYSASM: 'SYSASM'; +SYS_AUDIT: 'SYS_AUDIT'; +SYSAUX: 'SYSAUX'; +SYSBACKUP: 'SYSBACKUP'; +SYS_CHECKACL: 'SYS_CHECKACL'; +SYS_CHECK_PRIVILEGE: 'SYS_CHECK_PRIVILEGE'; +SYS_CONNECT_BY_PATH: 'SYS_CONNECT_BY_PATH'; +SYS_CONTEXT: 'SYS_CONTEXT'; +SYSDATE: 'SYSDATE'; +SYSDBA: 'SYSDBA'; +SYS_DBURIGEN: 'SYS_DBURIGEN'; +SYSDG: 'SYSDG'; +SYS_DL_CURSOR: 'SYS_DL_CURSOR'; +SYS_DM_RXFORM_CHR: 'SYS_DM_RXFORM_CHR'; +SYS_DM_RXFORM_NUM: 'SYS_DM_RXFORM_NUM'; +SYS_DOM_COMPARE: 'SYS_DOM_COMPARE'; +SYS_DST_PRIM2SEC: 'SYS_DST_PRIM2SEC'; +SYS_DST_SEC2PRIM: 'SYS_DST_SEC2PRIM'; +SYS_ET_BFILE_TO_RAW: 'SYS_ET_BFILE_TO_RAW'; +SYS_ET_BLOB_TO_IMAGE: 'SYS_ET_BLOB_TO_IMAGE'; +SYS_ET_IMAGE_TO_BLOB: 'SYS_ET_IMAGE_TO_BLOB'; +SYS_ET_RAW_TO_BFILE: 'SYS_ET_RAW_TO_BFILE'; +SYS_EXTPDTXT: 'SYS_EXTPDTXT'; +SYS_EXTRACT_UTC: 'SYS_EXTRACT_UTC'; +SYS_FBT_INSDEL: 'SYS_FBT_INSDEL'; +SYS_FILTER_ACLS: 'SYS_FILTER_ACLS'; +SYS_FNMATCHES: 'SYS_FNMATCHES'; +SYS_FNREPLACE: 'SYS_FNREPLACE'; +SYS_GET_ACLIDS: 'SYS_GET_ACLIDS'; +SYS_GET_COL_ACLIDS: 'SYS_GET_COL_ACLIDS'; +SYS_GET_PRIVILEGES: 'SYS_GET_PRIVILEGES'; +SYS_GETTOKENID: 'SYS_GETTOKENID'; +SYS_GETXTIVAL: 'SYS_GETXTIVAL'; +SYS_GUID: 'SYS_GUID'; +SYSGUID: 'SYSGUID'; +SYSKM: 'SYSKM'; +SYS_MAKE_XMLNODEID: 'SYS_MAKE_XMLNODEID'; +SYS_MAKEXML: 'SYS_MAKEXML'; +SYS_MKXMLATTR: 'SYS_MKXMLATTR'; +SYS_MKXTI: 'SYS_MKXTI'; +SYSOBJ: 'SYSOBJ'; +SYS_OP_ADT2BIN: 'SYS_OP_ADT2BIN'; +SYS_OP_ADTCONS: 'SYS_OP_ADTCONS'; +SYS_OP_ALSCRVAL: 'SYS_OP_ALSCRVAL'; +SYS_OP_ATG: 'SYS_OP_ATG'; +SYS_OP_BIN2ADT: 'SYS_OP_BIN2ADT'; +SYS_OP_BITVEC: 'SYS_OP_BITVEC'; +SYS_OP_BL2R: 'SYS_OP_BL2R'; +SYS_OP_BLOOM_FILTER_LIST: 'SYS_OP_BLOOM_FILTER_LIST'; +SYS_OP_BLOOM_FILTER: 'SYS_OP_BLOOM_FILTER'; +SYS_OP_C2C: 'SYS_OP_C2C'; +SYS_OP_CAST: 'SYS_OP_CAST'; +SYS_OP_CEG: 'SYS_OP_CEG'; +SYS_OP_CL2C: 'SYS_OP_CL2C'; +SYS_OP_COMBINED_HASH: 'SYS_OP_COMBINED_HASH'; +SYS_OP_COMP: 'SYS_OP_COMP'; +SYS_OP_CONVERT: 'SYS_OP_CONVERT'; +SYS_OP_COUNTCHG: 'SYS_OP_COUNTCHG'; +SYS_OP_CSCONV: 'SYS_OP_CSCONV'; +SYS_OP_CSCONVTEST: 'SYS_OP_CSCONVTEST'; +SYS_OP_CSR: 'SYS_OP_CSR'; +SYS_OP_CSX_PATCH: 'SYS_OP_CSX_PATCH'; +SYS_OP_CYCLED_SEQ: 'SYS_OP_CYCLED_SEQ'; +SYS_OP_DECOMP: 'SYS_OP_DECOMP'; +SYS_OP_DESCEND: 'SYS_OP_DESCEND'; +SYS_OP_DISTINCT: 'SYS_OP_DISTINCT'; +SYS_OP_DRA: 'SYS_OP_DRA'; +SYS_OP_DUMP: 'SYS_OP_DUMP'; +SYS_OP_DV_CHECK: 'SYS_OP_DV_CHECK'; +SYS_OP_ENFORCE_NOT_NULL: 'SYS_OP_ENFORCE_NOT_NULL$'; +SYSOPER: 'SYSOPER'; +SYS_OP_EXTRACT: 'SYS_OP_EXTRACT'; +SYS_OP_GROUPING: 'SYS_OP_GROUPING'; +SYS_OP_GUID: 'SYS_OP_GUID'; +SYS_OP_HASH: 'SYS_OP_HASH'; +SYS_OP_IIX: 'SYS_OP_IIX'; +SYS_OP_ITR: 'SYS_OP_ITR'; +SYS_OP_KEY_VECTOR_CREATE: 'SYS_OP_KEY_VECTOR_CREATE'; +SYS_OP_KEY_VECTOR_FILTER_LIST: 'SYS_OP_KEY_VECTOR_FILTER_LIST'; +SYS_OP_KEY_VECTOR_FILTER: 'SYS_OP_KEY_VECTOR_FILTER'; +SYS_OP_KEY_VECTOR_SUCCEEDED: 'SYS_OP_KEY_VECTOR_SUCCEEDED'; +SYS_OP_KEY_VECTOR_USE: 'SYS_OP_KEY_VECTOR_USE'; +SYS_OP_LBID: 'SYS_OP_LBID'; +SYS_OP_LOBLOC2BLOB: 'SYS_OP_LOBLOC2BLOB'; +SYS_OP_LOBLOC2CLOB: 'SYS_OP_LOBLOC2CLOB'; +SYS_OP_LOBLOC2ID: 'SYS_OP_LOBLOC2ID'; +SYS_OP_LOBLOC2NCLOB: 'SYS_OP_LOBLOC2NCLOB'; +SYS_OP_LOBLOC2TYP: 'SYS_OP_LOBLOC2TYP'; +SYS_OP_LSVI: 'SYS_OP_LSVI'; +SYS_OP_LVL: 'SYS_OP_LVL'; +SYS_OP_MAKEOID: 'SYS_OP_MAKEOID'; +SYS_OP_MAP_NONNULL: 'SYS_OP_MAP_NONNULL'; +SYS_OP_MSR: 'SYS_OP_MSR'; +SYS_OP_NICOMBINE: 'SYS_OP_NICOMBINE'; +SYS_OP_NIEXTRACT: 'SYS_OP_NIEXTRACT'; +SYS_OP_NII: 'SYS_OP_NII'; +SYS_OP_NIX: 'SYS_OP_NIX'; +SYS_OP_NOEXPAND: 'SYS_OP_NOEXPAND'; +SYS_OP_NTCIMG: 'SYS_OP_NTCIMG$'; +SYS_OP_NUMTORAW: 'SYS_OP_NUMTORAW'; +SYS_OP_OIDVALUE: 'SYS_OP_OIDVALUE'; +SYS_OP_OPNSIZE: 'SYS_OP_OPNSIZE'; +SYS_OP_PAR_1: 'SYS_OP_PAR_1'; +SYS_OP_PARGID_1: 'SYS_OP_PARGID_1'; +SYS_OP_PARGID: 'SYS_OP_PARGID'; +SYS_OP_PAR: 'SYS_OP_PAR'; +SYS_OP_PART_ID: 'SYS_OP_PART_ID'; +SYS_OP_PIVOT: 'SYS_OP_PIVOT'; +SYS_OP_R2O: 'SYS_OP_R2O'; +SYS_OP_RAWTONUM: 'SYS_OP_RAWTONUM'; +SYS_OP_RDTM: 'SYS_OP_RDTM'; +SYS_OP_REF: 'SYS_OP_REF'; +SYS_OP_RMTD: 'SYS_OP_RMTD'; +SYS_OP_ROWIDTOOBJ: 'SYS_OP_ROWIDTOOBJ'; +SYS_OP_RPB: 'SYS_OP_RPB'; +SYS_OPTLOBPRBSC: 'SYS_OPTLOBPRBSC'; +SYS_OP_TOSETID: 'SYS_OP_TOSETID'; +SYS_OP_TPR: 'SYS_OP_TPR'; +SYS_OP_TRTB: 'SYS_OP_TRTB'; +SYS_OPTXICMP: 'SYS_OPTXICMP'; +SYS_OPTXQCASTASNQ: 'SYS_OPTXQCASTASNQ'; +SYS_OP_UNDESCEND: 'SYS_OP_UNDESCEND'; +SYS_OP_VECAND: 'SYS_OP_VECAND'; +SYS_OP_VECBIT: 'SYS_OP_VECBIT'; +SYS_OP_VECOR: 'SYS_OP_VECOR'; +SYS_OP_VECXOR: 'SYS_OP_VECXOR'; +SYS_OP_VERSION: 'SYS_OP_VERSION'; +SYS_OP_VREF: 'SYS_OP_VREF'; +SYS_OP_VVD: 'SYS_OP_VVD'; +SYS_OP_XMLCONS_FOR_CSX: 'SYS_OP_XMLCONS_FOR_CSX'; +SYS_OP_XPTHATG: 'SYS_OP_XPTHATG'; +SYS_OP_XPTHIDX: 'SYS_OP_XPTHIDX'; +SYS_OP_XPTHOP: 'SYS_OP_XPTHOP'; +SYS_OP_XTXT2SQLT: 'SYS_OP_XTXT2SQLT'; +SYS_OP_ZONE_ID: 'SYS_OP_ZONE_ID'; +SYS_ORDERKEY_DEPTH: 'SYS_ORDERKEY_DEPTH'; +SYS_ORDERKEY_MAXCHILD: 'SYS_ORDERKEY_MAXCHILD'; +SYS_ORDERKEY_PARENT: 'SYS_ORDERKEY_PARENT'; +SYS_PARALLEL_TXN: 'SYS_PARALLEL_TXN'; +SYS_PATHID_IS_ATTR: 'SYS_PATHID_IS_ATTR'; +SYS_PATHID_IS_NMSPC: 'SYS_PATHID_IS_NMSPC'; +SYS_PATHID_LASTNAME: 'SYS_PATHID_LASTNAME'; +SYS_PATHID_LASTNMSPC: 'SYS_PATHID_LASTNMSPC'; +SYS_PATH_REVERSE: 'SYS_PATH_REVERSE'; +SYS_PXQEXTRACT: 'SYS_PXQEXTRACT'; +SYS_RAW_TO_XSID: 'SYS_RAW_TO_XSID'; +SYS_RID_ORDER: 'SYS_RID_ORDER'; +SYS_ROW_DELTA: 'SYS_ROW_DELTA'; +SYS_SC_2_XMLT: 'SYS_SC_2_XMLT'; +SYS_SYNRCIREDO: 'SYS_SYNRCIREDO'; +SYSTEM_DEFINED: 'SYSTEM_DEFINED'; +SYSTEM: 'SYSTEM'; +SYSTIMESTAMP: 'SYSTIMESTAMP'; +SYS_TYPEID: 'SYS_TYPEID'; +SYS_UMAKEXML: 'SYS_UMAKEXML'; +SYS_XMLANALYZE: 'SYS_XMLANALYZE'; +SYS_XMLCONTAINS: 'SYS_XMLCONTAINS'; +SYS_XMLCONV: 'SYS_XMLCONV'; +SYS_XMLEXNSURI: 'SYS_XMLEXNSURI'; +SYS_XMLGEN: 'SYS_XMLGEN'; +SYS_XMLI_LOC_ISNODE: 'SYS_XMLI_LOC_ISNODE'; +SYS_XMLI_LOC_ISTEXT: 'SYS_XMLI_LOC_ISTEXT'; +SYS_XMLINSTR: 'SYS_XMLINSTR'; +SYS_XMLLOCATOR_GETSVAL: 'SYS_XMLLOCATOR_GETSVAL'; +SYS_XMLNODEID_GETCID: 'SYS_XMLNODEID_GETCID'; +SYS_XMLNODEID_GETLOCATOR: 'SYS_XMLNODEID_GETLOCATOR'; +SYS_XMLNODEID_GETOKEY: 'SYS_XMLNODEID_GETOKEY'; +SYS_XMLNODEID_GETPATHID: 'SYS_XMLNODEID_GETPATHID'; +SYS_XMLNODEID_GETPTRID: 'SYS_XMLNODEID_GETPTRID'; +SYS_XMLNODEID_GETRID: 'SYS_XMLNODEID_GETRID'; +SYS_XMLNODEID_GETSVAL: 'SYS_XMLNODEID_GETSVAL'; +SYS_XMLNODEID_GETTID: 'SYS_XMLNODEID_GETTID'; +SYS_XMLNODEID: 'SYS_XMLNODEID'; +SYS_XMLT_2_SC: 'SYS_XMLT_2_SC'; +SYS_XMLTRANSLATE: 'SYS_XMLTRANSLATE'; +SYS_XMLTYPE2SQL: 'SYS_XMLTYPE2SQL'; +SYS_XQ_ASQLCNV: 'SYS_XQ_ASQLCNV'; +SYS_XQ_ATOMCNVCHK: 'SYS_XQ_ATOMCNVCHK'; +SYS_XQBASEURI: 'SYS_XQBASEURI'; +SYS_XQCASTABLEERRH: 'SYS_XQCASTABLEERRH'; +SYS_XQCODEP2STR: 'SYS_XQCODEP2STR'; +SYS_XQCODEPEQ: 'SYS_XQCODEPEQ'; +SYS_XQCON2SEQ: 'SYS_XQCON2SEQ'; +SYS_XQCONCAT: 'SYS_XQCONCAT'; +SYS_XQDELETE: 'SYS_XQDELETE'; +SYS_XQDFLTCOLATION: 'SYS_XQDFLTCOLATION'; +SYS_XQDOC: 'SYS_XQDOC'; +SYS_XQDOCURI: 'SYS_XQDOCURI'; +SYS_XQDURDIV: 'SYS_XQDURDIV'; +SYS_XQED4URI: 'SYS_XQED4URI'; +SYS_XQENDSWITH: 'SYS_XQENDSWITH'; +SYS_XQERRH: 'SYS_XQERRH'; +SYS_XQERR: 'SYS_XQERR'; +SYS_XQESHTMLURI: 'SYS_XQESHTMLURI'; +SYS_XQEXLOBVAL: 'SYS_XQEXLOBVAL'; +SYS_XQEXSTWRP: 'SYS_XQEXSTWRP'; +SYS_XQEXTRACT: 'SYS_XQEXTRACT'; +SYS_XQEXTRREF: 'SYS_XQEXTRREF'; +SYS_XQEXVAL: 'SYS_XQEXVAL'; +SYS_XQFB2STR: 'SYS_XQFB2STR'; +SYS_XQFNBOOL: 'SYS_XQFNBOOL'; +SYS_XQFNCMP: 'SYS_XQFNCMP'; +SYS_XQFNDATIM: 'SYS_XQFNDATIM'; +SYS_XQFNLNAME: 'SYS_XQFNLNAME'; +SYS_XQFNNM: 'SYS_XQFNNM'; +SYS_XQFNNSURI: 'SYS_XQFNNSURI'; +SYS_XQFNPREDTRUTH: 'SYS_XQFNPREDTRUTH'; +SYS_XQFNQNM: 'SYS_XQFNQNM'; +SYS_XQFNROOT: 'SYS_XQFNROOT'; +SYS_XQFORMATNUM: 'SYS_XQFORMATNUM'; +SYS_XQFTCONTAIN: 'SYS_XQFTCONTAIN'; +SYS_XQFUNCR: 'SYS_XQFUNCR'; +SYS_XQGETCONTENT: 'SYS_XQGETCONTENT'; +SYS_XQINDXOF: 'SYS_XQINDXOF'; +SYS_XQINSERT: 'SYS_XQINSERT'; +SYS_XQINSPFX: 'SYS_XQINSPFX'; +SYS_XQIRI2URI: 'SYS_XQIRI2URI'; +SYS_XQLANG: 'SYS_XQLANG'; +SYS_XQLLNMFRMQNM: 'SYS_XQLLNMFRMQNM'; +SYS_XQMKNODEREF: 'SYS_XQMKNODEREF'; +SYS_XQNILLED: 'SYS_XQNILLED'; +SYS_XQNODENAME: 'SYS_XQNODENAME'; +SYS_XQNORMSPACE: 'SYS_XQNORMSPACE'; +SYS_XQNORMUCODE: 'SYS_XQNORMUCODE'; +SYS_XQ_NRNG: 'SYS_XQ_NRNG'; +SYS_XQNSP4PFX: 'SYS_XQNSP4PFX'; +SYS_XQNSPFRMQNM: 'SYS_XQNSPFRMQNM'; +SYS_XQPFXFRMQNM: 'SYS_XQPFXFRMQNM'; +SYS_XQ_PKSQL2XML: 'SYS_XQ_PKSQL2XML'; +SYS_XQPOLYABS: 'SYS_XQPOLYABS'; +SYS_XQPOLYADD: 'SYS_XQPOLYADD'; +SYS_XQPOLYCEL: 'SYS_XQPOLYCEL'; +SYS_XQPOLYCSTBL: 'SYS_XQPOLYCSTBL'; +SYS_XQPOLYCST: 'SYS_XQPOLYCST'; +SYS_XQPOLYDIV: 'SYS_XQPOLYDIV'; +SYS_XQPOLYFLR: 'SYS_XQPOLYFLR'; +SYS_XQPOLYMOD: 'SYS_XQPOLYMOD'; +SYS_XQPOLYMUL: 'SYS_XQPOLYMUL'; +SYS_XQPOLYRND: 'SYS_XQPOLYRND'; +SYS_XQPOLYSQRT: 'SYS_XQPOLYSQRT'; +SYS_XQPOLYSUB: 'SYS_XQPOLYSUB'; +SYS_XQPOLYUMUS: 'SYS_XQPOLYUMUS'; +SYS_XQPOLYUPLS: 'SYS_XQPOLYUPLS'; +SYS_XQPOLYVEQ: 'SYS_XQPOLYVEQ'; +SYS_XQPOLYVGE: 'SYS_XQPOLYVGE'; +SYS_XQPOLYVGT: 'SYS_XQPOLYVGT'; +SYS_XQPOLYVLE: 'SYS_XQPOLYVLE'; +SYS_XQPOLYVLT: 'SYS_XQPOLYVLT'; +SYS_XQPOLYVNE: 'SYS_XQPOLYVNE'; +SYS_XQREF2VAL: 'SYS_XQREF2VAL'; +SYS_XQRENAME: 'SYS_XQRENAME'; +SYS_XQREPLACE: 'SYS_XQREPLACE'; +SYS_XQRESVURI: 'SYS_XQRESVURI'; +SYS_XQRNDHALF2EVN: 'SYS_XQRNDHALF2EVN'; +SYS_XQRSLVQNM: 'SYS_XQRSLVQNM'; +SYS_XQRYENVPGET: 'SYS_XQRYENVPGET'; +SYS_XQRYVARGET: 'SYS_XQRYVARGET'; +SYS_XQRYWRP: 'SYS_XQRYWRP'; +SYS_XQSEQ2CON4XC: 'SYS_XQSEQ2CON4XC'; +SYS_XQSEQ2CON: 'SYS_XQSEQ2CON'; +SYS_XQSEQDEEPEQ: 'SYS_XQSEQDEEPEQ'; +SYS_XQSEQINSB: 'SYS_XQSEQINSB'; +SYS_XQSEQRM: 'SYS_XQSEQRM'; +SYS_XQSEQRVS: 'SYS_XQSEQRVS'; +SYS_XQSEQSUB: 'SYS_XQSEQSUB'; +SYS_XQSEQTYPMATCH: 'SYS_XQSEQTYPMATCH'; +SYS_XQSTARTSWITH: 'SYS_XQSTARTSWITH'; +SYS_XQSTATBURI: 'SYS_XQSTATBURI'; +SYS_XQSTR2CODEP: 'SYS_XQSTR2CODEP'; +SYS_XQSTRJOIN: 'SYS_XQSTRJOIN'; +SYS_XQSUBSTRAFT: 'SYS_XQSUBSTRAFT'; +SYS_XQSUBSTRBEF: 'SYS_XQSUBSTRBEF'; +SYS_XQTOKENIZE: 'SYS_XQTOKENIZE'; +SYS_XQTREATAS: 'SYS_XQTREATAS'; +SYS_XQ_UPKXML2SQL: 'SYS_XQ_UPKXML2SQL'; +SYS_XQXFORM: 'SYS_XQXFORM'; +SYS_XSID_TO_RAW: 'SYS_XSID_TO_RAW'; +SYS_ZMAP_FILTER: 'SYS_ZMAP_FILTER'; +SYS_ZMAP_REFRESH: 'SYS_ZMAP_REFRESH'; +TABLE_LOOKUP_BY_NL: 'TABLE_LOOKUP_BY_NL'; +TABLESPACE_NO: 'TABLESPACE_NO'; +TABLESPACE: 'TABLESPACE'; +TABLES: 'TABLES'; +TABLE_STATS: 'TABLE_STATS'; +TABLE: 'TABLE'; +TABNO: 'TABNO'; +TAG: 'TAG'; +TANH: 'TANH'; +TAN: 'TAN'; +TBLORIDXPARTNUM: 'TBL$OR$IDX$PART$NUM'; +TEMPFILE: 'TEMPFILE'; +TEMPLATE: 'TEMPLATE'; +TEMPORARY: 'TEMPORARY'; +TEMP_TABLE: 'TEMP_TABLE'; +TEST: 'TEST'; +TEXT: 'TEXT'; +THAN: 'THAN'; +THEN: 'THEN'; +THE: 'THE'; +THREAD: 'THREAD'; +THROUGH: 'THROUGH'; +TIER: 'TIER'; +TIES: 'TIES'; +TIMEOUT: 'TIMEOUT'; +TIMESTAMP_LTZ_UNCONSTRAINED: 'TIMESTAMP_LTZ_UNCONSTRAINED'; +TIMESTAMP: 'TIMESTAMP'; +TIMESTAMP_TZ_UNCONSTRAINED: 'TIMESTAMP_TZ_UNCONSTRAINED'; +TIMESTAMP_UNCONSTRAINED: 'TIMESTAMP_UNCONSTRAINED'; +TIMES: 'TIMES'; +TIME: 'TIME'; +TIMEZONE: 'TIMEZONE'; +TIMEZONE_ABBR: 'TIMEZONE_ABBR'; +TIMEZONE_HOUR: 'TIMEZONE_HOUR'; +TIMEZONE_MINUTE: 'TIMEZONE_MINUTE'; +TIMEZONE_OFFSET: 'TIMEZONE_OFFSET'; +TIMEZONE_REGION: 'TIMEZONE_REGION'; +TIME_ZONE: 'TIME_ZONE'; +TIV_GB: 'TIV_GB'; +TIV_SSF: 'TIV_SSF'; +TO_ACLID: 'TO_ACLID'; +TO_BINARY_DOUBLE: 'TO_BINARY_DOUBLE'; +TO_BINARY_FLOAT: 'TO_BINARY_FLOAT'; +TO_BLOB: 'TO_BLOB'; +TO_CLOB: 'TO_CLOB'; +TO_DSINTERVAL: 'TO_DSINTERVAL'; +TO_LOB: 'TO_LOB'; +TO_MULTI_BYTE: 'TO_MULTI_BYTE'; +TO_NCHAR: 'TO_NCHAR'; +TO_NCLOB: 'TO_NCLOB'; +TO_NUMBER: 'TO_NUMBER'; +TOPLEVEL: 'TOPLEVEL'; +TO_SINGLE_BYTE: 'TO_SINGLE_BYTE'; +TO_TIMESTAMP: 'TO_TIMESTAMP'; +TO_TIMESTAMP_TZ: 'TO_TIMESTAMP_TZ'; +TO_TIME: 'TO_TIME'; +TO_TIME_TZ: 'TO_TIME_TZ'; +TO: 'TO'; +TO_YMINTERVAL: 'TO_YMINTERVAL'; +TRACE: 'TRACE'; +TRACING: 'TRACING'; +TRACKING: 'TRACKING'; +TRAILING: 'TRAILING'; +TRANSACTION: 'TRANSACTION'; +TRANSFORM_DISTINCT_AGG: 'TRANSFORM_DISTINCT_AGG'; +TRANSITIONAL: 'TRANSITIONAL'; +TRANSITION: 'TRANSITION'; +TRANSLATE: 'TRANSLATE'; +TRANSLATION: 'TRANSLATION'; +TREAT: 'TREAT'; +TRIGGERS: 'TRIGGERS'; +TRIGGER: 'TRIGGER'; +TRUE: 'TRUE'; +TRUNCATE: 'TRUNCATE'; +TRUNC: 'TRUNC'; +TRUSTED: 'TRUSTED'; +TRUST: 'TRUST'; +TUNING: 'TUNING'; +TX: 'TX'; +TYPES: 'TYPES'; +TYPE: 'TYPE'; +TZ_OFFSET: 'TZ_OFFSET'; +UB2: 'UB2'; +UBA: 'UBA'; +UCS2: 'UCS2'; +UID: 'UID'; +UNARCHIVED: 'UNARCHIVED'; +UNBOUNDED: 'UNBOUNDED'; +UNBOUND: 'UNBOUND'; +UNCONDITIONAL: 'UNCONDITIONAL'; +UNDER: 'UNDER'; +UNDO: 'UNDO'; +UNDROP: 'UNDROP'; +UNIFORM: 'UNIFORM'; +UNION: 'UNION'; +UNIQUE: 'UNIQUE'; +UNISTR: 'UNISTR'; +UNLIMITED: 'UNLIMITED'; +UNLOAD: 'UNLOAD'; +UNLOCK: 'UNLOCK'; +UNMATCHED: 'UNMATCHED'; +UNNEST_INNERJ_DISTINCT_VIEW: 'UNNEST_INNERJ_DISTINCT_VIEW'; +UNNEST_NOSEMIJ_NODISTINCTVIEW: 'UNNEST_NOSEMIJ_NODISTINCTVIEW'; +UNNEST_SEMIJ_VIEW: 'UNNEST_SEMIJ_VIEW'; +UNNEST: 'UNNEST'; +UNPACKED: 'UNPACKED'; +UNPIVOT: 'UNPIVOT'; +UNPLUG: 'UNPLUG'; +UNPROTECTED: 'UNPROTECTED'; +UNQUIESCE: 'UNQUIESCE'; +UNRECOVERABLE: 'UNRECOVERABLE'; +UNRESTRICTED: 'UNRESTRICTED'; +UNSUBSCRIBE: 'UNSUBSCRIBE'; +UNTIL: 'UNTIL'; +UNUSABLE: 'UNUSABLE'; +UNUSED: 'UNUSED'; +UPDATABLE: 'UPDATABLE'; +UPDATED: 'UPDATED'; +UPDATE: 'UPDATE'; +UPDATEXML: 'UPDATEXML'; +UPD_INDEXES: 'UPD_INDEXES'; +UPD_JOININDEX: 'UPD_JOININDEX'; +UPGRADE: 'UPGRADE'; +UPPER: 'UPPER'; +UPSERT: 'UPSERT'; +UROWID: 'UROWID'; +USABLE: 'USABLE'; +USAGE: 'USAGE'; +USE_ANTI: 'USE_ANTI'; +USE_CONCAT: 'USE_CONCAT'; +USE_CUBE: 'USE_CUBE'; +USE_HASH_AGGREGATION: 'USE_HASH_AGGREGATION'; +USE_HASH_GBY_FOR_PUSHDOWN: 'USE_HASH_GBY_FOR_PUSHDOWN'; +USE_HASH: 'USE_HASH'; +USE_HIDDEN_PARTITIONS: 'USE_HIDDEN_PARTITIONS'; +USE_INVISIBLE_INDEXES: 'USE_INVISIBLE_INDEXES'; +USE_MERGE_CARTESIAN: 'USE_MERGE_CARTESIAN'; +USE_MERGE: 'USE_MERGE'; +USE_NL: 'USE_NL'; +USE_NL_WITH_INDEX: 'USE_NL_WITH_INDEX'; +USE_PRIVATE_OUTLINES: 'USE_PRIVATE_OUTLINES'; +USER_DATA: 'USER_DATA'; +USER_DEFINED: 'USER_DEFINED'; +USERENV: 'USERENV'; +USERGROUP: 'USERGROUP'; +USER_RECYCLEBIN: 'USER_RECYCLEBIN'; +USERS: 'USERS'; +USER_TABLESPACES: 'USER_TABLESPACES'; +USER: 'USER'; +USE_SEMI: 'USE_SEMI'; +USE_STORED_OUTLINES: 'USE_STORED_OUTLINES'; +USE_TTT_FOR_GSETS: 'USE_TTT_FOR_GSETS'; +USE: 'USE'; +USE_VECTOR_AGGREGATION: 'USE_VECTOR_AGGREGATION'; +USE_WEAK_NAME_RESL: 'USE_WEAK_NAME_RESL'; +USING_NO_EXPAND: 'USING_NO_EXPAND'; +USING: 'USING'; +UTF16BE: 'UTF16BE'; +UTF16LE: 'UTF16LE'; +UTF32: 'UTF32'; +UTF8: 'UTF8'; +V1: 'V1'; +V2: 'V2'; +VALIDATE: 'VALIDATE'; +VALIDATION: 'VALIDATION'; +VALID_TIME_END: 'VALID_TIME_END'; +VALUES: 'VALUES'; +VALUE: 'VALUE'; +VARCHAR2: 'VARCHAR2'; +VARCHAR: 'VARCHAR'; +VARIABLE: 'VARIABLE'; +VAR_POP: 'VAR_POP'; +VARRAYS: 'VARRAYS'; +VARRAY: 'VARRAY'; +VAR_SAMP: 'VAR_SAMP'; +VARYING: 'VARYING'; +VECTOR_READ_TRACE: 'VECTOR_READ_TRACE'; +VECTOR_READ: 'VECTOR_READ'; +VECTOR_TRANSFORM_DIMS: 'VECTOR_TRANSFORM_DIMS'; +VECTOR_TRANSFORM_FACT: 'VECTOR_TRANSFORM_FACT'; +VECTOR_TRANSFORM: 'VECTOR_TRANSFORM'; +VERIFIER: 'VERIFIER'; +VERIFY: 'VERIFY'; +VERSIONING: 'VERSIONING'; +VERSIONS_ENDSCN: 'VERSIONS_ENDSCN'; +VERSIONS_ENDTIME: 'VERSIONS_ENDTIME'; +VERSIONS_OPERATION: 'VERSIONS_OPERATION'; +VERSIONS_STARTSCN: 'VERSIONS_STARTSCN'; +VERSIONS_STARTTIME: 'VERSIONS_STARTTIME'; +VERSIONS: 'VERSIONS'; +VERSIONS_XID: 'VERSIONS_XID'; +VERSION: 'VERSION'; +VIEW: 'VIEW'; +VIOLATION: 'VIOLATION'; +VIRTUAL: 'VIRTUAL'; +VISIBILITY: 'VISIBILITY'; +VISIBLE: 'VISIBLE'; +VOLUME: 'VOLUME'; +VSIZE: 'VSIZE'; +WAIT: 'WAIT'; +WALLET: 'WALLET'; +WARNING: 'WARNING'; +WEEKS: 'WEEKS'; +WEEK: 'WEEK'; +WELLFORMED: 'WELLFORMED'; +WHENEVER: 'WHENEVER'; +WHEN: 'WHEN'; +WHERE: 'WHERE'; +WHILE: 'WHILE'; +WHITESPACE: 'WHITESPACE'; +WIDTH_BUCKET: 'WIDTH_BUCKET'; +WITHIN: 'WITHIN'; +WITHOUT: 'WITHOUT'; +WITH_PLSQL: 'WITH_PLSQL'; +WITH: 'WITH'; +WORK: 'WORK'; +WRAPPED: 'WRAPPED'; +WRAPPER: 'WRAPPER'; +WRITE: 'WRITE'; +XDB_FASTPATH_INSERT: 'XDB_FASTPATH_INSERT'; +XDB: 'XDB'; +X_DYN_PRUNE: 'X_DYN_PRUNE'; +XID: 'XID'; +XML2OBJECT: 'XML2OBJECT'; +XMLAGG: 'XMLAGG'; +XMLATTRIBUTES: 'XMLATTRIBUTES'; +XMLCAST: 'XMLCAST'; +XMLCDATA: 'XMLCDATA'; +XMLCOLATTVAL: 'XMLCOLATTVAL'; +XMLCOMMENT: 'XMLCOMMENT'; +XMLCONCAT: 'XMLCONCAT'; +XMLDIFF: 'XMLDIFF'; +XML_DML_RWT_STMT: 'XML_DML_RWT_STMT'; +XMLELEMENT: 'XMLELEMENT'; +XMLEXISTS2: 'XMLEXISTS2'; +XMLEXISTS: 'XMLEXISTS'; +XMLFOREST: 'XMLFOREST'; +XMLINDEX: 'XMLINDEX'; +XMLINDEX_REWRITE_IN_SELECT: 'XMLINDEX_REWRITE_IN_SELECT'; +XMLINDEX_REWRITE: 'XMLINDEX_REWRITE'; +XMLINDEX_SEL_IDX_TBL: 'XMLINDEX_SEL_IDX_TBL'; +XMLISNODE: 'XMLISNODE'; +XMLISVALID: 'XMLISVALID'; +XMLNAMESPACES: 'XMLNAMESPACES'; +XMLPARSE: 'XMLPARSE'; +XMLPATCH: 'XMLPATCH'; +XMLPI: 'XMLPI'; +XMLQUERYVAL: 'XMLQUERYVAL'; +XMLQUERY: 'XMLQUERY'; +XMLROOT: 'XMLROOT'; +XMLSCHEMA: 'XMLSCHEMA'; +XMLSERIALIZE: 'XMLSERIALIZE'; +XMLTABLE: 'XMLTABLE'; +XMLTRANSFORMBLOB: 'XMLTRANSFORMBLOB'; +XMLTRANSFORM: 'XMLTRANSFORM'; +XMLTYPE: 'XMLTYPE'; +XML: 'XML'; +XPATHTABLE: 'XPATHTABLE'; +XS_SYS_CONTEXT: 'XS_SYS_CONTEXT'; +XS: 'XS'; +XTRANSPORT: 'XTRANSPORT'; +YEARS: 'YEARS'; +YEAR: 'YEAR'; +YES: 'YES'; +YMINTERVAL_UNCONSTRAINED: 'YMINTERVAL_UNCONSTRAINED'; +ZONEMAP: 'ZONEMAP'; +ZONE: 'ZONE'; +PREDICTION: 'PREDICTION'; +PREDICTION_BOUNDS: 'PREDICTION_BOUNDS'; +PREDICTION_COST: 'PREDICTION_COST'; +PREDICTION_DETAILS: 'PREDICTION_DETAILS'; +PREDICTION_PROBABILITY: 'PREDICTION_PROBABILITY'; +PREDICTION_SET: 'PREDICTION_SET'; + +CUME_DIST: 'CUME_DIST'; +DENSE_RANK: 'DENSE_RANK'; +LISTAGG: 'LISTAGG'; +PERCENT_RANK: 'PERCENT_RANK'; +PERCENTILE_CONT: 'PERCENTILE_CONT'; +PERCENTILE_DISC: 'PERCENTILE_DISC'; +RANK: 'RANK'; + +AVG: 'AVG'; +CORR: 'CORR'; +COVAR_: 'COVAR_'; +DECODE: 'DECODE'; +LAG: 'LAG'; +LEAD: 'LEAD'; +MAX: 'MAX'; +MEDIAN: 'MEDIAN'; +MIN: 'MIN'; +NTILE: 'NTILE'; +NVL: 'NVL'; +RATIO_TO_REPORT: 'RATIO_TO_REPORT'; +REGR_: 'REGR_'; +ROUND: 'ROUND'; +ROW_NUMBER: 'ROW_NUMBER'; +SUBSTR: 'SUBSTR'; +TO_CHAR: 'TO_CHAR'; +TRIM: 'TRIM'; +SUM: 'SUM'; +STDDEV: 'STDDEV'; +VAR_: 'VAR_'; +VARIANCE: 'VARIANCE'; +LEAST: 'LEAST'; +GREATEST: 'GREATEST'; +TO_DATE: 'TO_DATE'; + +// Rule #358 - subtoken typecast in , it also incorporates +// Lowercase 'n' is a usual addition to the standard + +NATIONAL_CHAR_STRING_LIT: 'N' '\'' (~('\'' | '\r' | '\n' ) | '\'' '\'' | NEWLINE)* '\''; + +// Rule #040 - subtoken typecast in +// Lowercase 'b' is a usual addition to the standard + +BIT_STRING_LIT: 'B' ('\'' [01]* '\'')+; + +// Rule #284 - subtoken typecast in +// Lowercase 'x' is a usual addition to the standard + +HEX_STRING_LIT: 'X' ('\'' [A-F0-9]* '\'')+; +DOUBLE_PERIOD: '..'; +PERIOD: '.'; + +//{ Rule #238 +// This rule is a bit tricky - it resolves the ambiguity with +// It also incorporates and for the +// Rule #501 was incorporated directly in the token +// See also the rule #617 +/* + : ( + UNSIGNED_INTEGER + ( '.' UNSIGNED_INTEGER + | {$type = UNSIGNED_INTEGER;} + ) ( E ('+' | '-')? UNSIGNED_INTEGER {$type = APPROXIMATE_NUM_LIT;} )? + | '.' UNSIGNED_INTEGER ( E ('+' | '-')? UNSIGNED_INTEGER {$type = APPROXIMATE_NUM_LIT;} )? + ) + (D | F)? + ;*/ + +UNSIGNED_INTEGER: [0-9]+; +APPROXIMATE_NUM_LIT: FLOAT_FRAGMENT ('E' ('+'|'-')? (FLOAT_FRAGMENT | [0-9]+))? ('D' | 'F')?; + +// Rule #--- is a base for Rule #065 , it incorporates +// and a superfluous subtoken typecasting of the "QUOTE" +CHAR_STRING: '\'' (~('\'' | '\r' | '\n') | '\'' '\'' | NEWLINE)* '\''; + +// See https://livesql.oracle.com/apex/livesql/file/content_CIREYU9EA54EOKQ7LAMZKRF6P.html +// TODO: context sensitive string quotes (any characted after quote) +CHAR_STRING_PERL : 'Q' '\'' (QS_ANGLE | QS_BRACE | QS_BRACK | QS_PAREN | QS_EXCLAM | QS_SHARP | QS_QUOTE | QS_DQUOTE) '\'' -> type(CHAR_STRING); +fragment QS_ANGLE : '<' .*? '>'; +fragment QS_BRACE : '{' .*? '}'; +fragment QS_BRACK : '[' .*? ']'; +fragment QS_PAREN : '(' .*? ')'; +fragment QS_EXCLAM : '!' .*? '!'; +fragment QS_SHARP : '#' .*? '#'; +fragment QS_QUOTE : '\'' .*? '\''; +fragment QS_DQUOTE : '"' .*? '"'; + +DELIMITED_ID: '"' (~('"' | '\r' | '\n') | '"' '"')+ '"' ; + +PERCENT: '%'; +AMPERSAND: '&'; +LEFT_PAREN: '('; +RIGHT_PAREN: ')'; +DOUBLE_ASTERISK: '**'; +ASTERISK: '*'; +PLUS_SIGN: '+'; +MINUS_SIGN: '-'; +COMMA: ','; +SOLIDUS: '/'; +AT_SIGN: '@'; +ASSIGN_OP: ':='; + +BINDVAR + : ':' SIMPLE_LETTER (SIMPLE_LETTER | [0-9] | '_')* + | ':' DELIMITED_ID // not used in SQL but spotted in v$sqltext when using cursor_sharing + | ':' UNSIGNED_INTEGER + | QUESTION_MARK // not in SQL, not in Oracle, not in OCI, use this for JDBC + ; + +NOT_EQUAL_OP: '!=' + | '<>' + | '^=' + | '~=' + ; +CARRET_OPERATOR_PART: '^'; +TILDE_OPERATOR_PART: '~'; +EXCLAMATION_OPERATOR_PART: '!'; +GREATER_THAN_OP: '>'; +LESS_THAN_OP: '<'; +COLON: ':'; +SEMICOLON: ';'; + +BAR: '|'; +EQUALS_OP: '='; + +LEFT_BRACKET: '['; +RIGHT_BRACKET: ']'; + +INTRODUCER: '_'; + +// Comments https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements006.htm + +SINGLE_LINE_COMMENT: '--' ~('\r' | '\n')* NEWLINE_EOF -> channel(HIDDEN); +MULTI_LINE_COMMENT: '/*' .*? '*/' -> channel(HIDDEN); +// https://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve034.htm#SQPUG054 +REMARK_COMMENT: 'REM' {IsNewlineAtPos(-4)}? 'ARK'? (' ' ~('\r' | '\n')*)? NEWLINE_EOF -> channel(HIDDEN); + +// https://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve032.htm#SQPUG052 +PROMPT_MESSAGE: 'PRO' {IsNewlineAtPos(-4)}? 'MPT'? (' ' ~('\r' | '\n')*)? NEWLINE_EOF; + +// TODO: should starts with newline +START_CMD + //: 'STA' 'RT'? SPACE ~('\r' | '\n')* NEWLINE_EOF + // https://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12002.htm + // https://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12003.htm + : '@' {IsNewlineAtPos(-2)}? '@'? ~('\r' | '\n')* NEWLINE_EOF + ; + +REGULAR_ID: SIMPLE_LETTER (SIMPLE_LETTER | '$' | '_' | '#' | [0-9])*; + +SPACES: [ \t\r\n]+ -> channel(HIDDEN); + +// Fragment rules + +fragment NEWLINE_EOF : NEWLINE | EOF; +fragment QUESTION_MARK : '?'; +fragment SIMPLE_LETTER : [A-Z]; +fragment FLOAT_FRAGMENT : UNSIGNED_INTEGER* '.'? UNSIGNED_INTEGER+; +fragment NEWLINE : '\r'? '\n'; +fragment SPACE : [ \t]; diff --git a/src/grammar/plsql/PlSqlParser.g4 b/src/grammar/plsql/PlSqlParser.g4 new file mode 100644 index 0000000..d181fd5 --- /dev/null +++ b/src/grammar/plsql/PlSqlParser.g4 @@ -0,0 +1,6763 @@ + /** + * Oracle(c) PL/SQL 11g Parser + * + * Copyright (c) 2009-2011 Alexandre Porcelli + * Copyright (c) 2015-2019 Ivan Kochurkin (KvanTTT, kvanttt@gmail.com, Positive Technologies). + * Copyright (c) 2017-2018 Mark Adams + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +parser grammar PlSqlParser; + +options { + tokenVocab=PlSqlLexer; + superClass=PlSqlBaseParser; +} + +@parser::postinclude { +#include +} + +program: sql_script EOF; + +sql_script + : ((unit_statement | sql_plus_command) SEMICOLON?)* EOF + ; + +unit_statement + : transaction_control_statements + | alter_cluster + | alter_database + | alter_function + | alter_package + | alter_procedure + | alter_sequence + | alter_session + | alter_trigger + | alter_type + | alter_table + | alter_tablespace + | alter_index + | alter_library + | alter_materialized_view + | alter_materialized_view_log + | alter_user + | alter_view + + | analyze + | associate_statistics + | audit_traditional + | unified_auditing + + | create_function_body + | create_procedure_body + | create_package + | create_package_body + + | create_index + | create_table + | create_tablespace + | create_cluster + | create_context + | create_view //TODO + | create_directory + | create_materialized_view + | create_materialized_view_log + | create_user + + | create_sequence + | create_trigger + | create_type + | create_synonym + + | drop_function + | drop_package + | drop_procedure + | drop_sequence + | drop_trigger + | drop_type + | data_manipulation_language_statements + | drop_table + | drop_view + | drop_index + + | rename_object + + | comment_on_column + | comment_on_table + + | anonymous_block + + | grant_statement + + | procedure_call + ; + +// DDL -> SQL Statements for Stored PL/SQL Units + +// Function DDLs + +drop_function + : DROP FUNCTION function_name ';' + ; + +alter_function + : ALTER FUNCTION function_name COMPILE DEBUG? compiler_parameters_clause* (REUSE SETTINGS)? ';' + ; + +create_function_body + : CREATE (OR REPLACE)? FUNCTION function_name ('(' parameter (',' parameter)* ')')? + RETURN type_spec (invoker_rights_clause | parallel_enable_clause | result_cache_clause | DETERMINISTIC)* + ((PIPELINED? (IS | AS) (DECLARE? seq_of_declare_specs? body | call_spec)) | (PIPELINED | AGGREGATE) USING implementation_type_name) ';' + ; + +// Creation Function - Specific Clauses + +parallel_enable_clause + : PARALLEL_ENABLE partition_by_clause? + ; + +partition_by_clause + : '(' PARTITION expression BY (ANY | (HASH | RANGE | LIST) paren_column_list) streaming_clause? ')' + ; + +result_cache_clause + : RESULT_CACHE relies_on_part? + ; + +relies_on_part + : RELIES_ON '(' tableview_name (',' tableview_name)* ')' + ; + +streaming_clause + : (ORDER | CLUSTER) expression BY paren_column_list + ; + +// Package DDLs + +drop_package + : DROP PACKAGE BODY? (schema_object_name '.')? package_name ';' + ; + +alter_package + : ALTER PACKAGE package_name COMPILE DEBUG? (PACKAGE | BODY | SPECIFICATION)? compiler_parameters_clause* (REUSE SETTINGS)? ';' + ; + +create_package + : CREATE (OR REPLACE)? PACKAGE (schema_object_name '.')? package_name invoker_rights_clause? (IS | AS) package_obj_spec* END package_name? ';' + ; + +create_package_body + : CREATE (OR REPLACE)? PACKAGE BODY (schema_object_name '.')? package_name (IS | AS) package_obj_body* (BEGIN seq_of_statements)? END package_name? ';' + ; + +// Create Package Specific Clauses + +package_obj_spec + : pragma_declaration + | variable_declaration + | subtype_declaration + | cursor_declaration + | exception_declaration + | type_declaration + | procedure_spec + | function_spec + ; + +procedure_spec + : PROCEDURE identifier ('(' parameter ( ',' parameter )* ')')? ';' + ; + +function_spec + : FUNCTION identifier ('(' parameter ( ',' parameter)* ')')? + RETURN type_spec PIPELINED? DETERMINISTIC? (RESULT_CACHE)? ';' + ; + +package_obj_body + : variable_declaration + | subtype_declaration + | cursor_declaration + | exception_declaration + | type_declaration + | procedure_body + | function_body + | procedure_spec + | function_spec + ; + +// Procedure DDLs + +drop_procedure + : DROP PROCEDURE procedure_name ';' + ; + +alter_procedure + : ALTER PROCEDURE procedure_name COMPILE DEBUG? compiler_parameters_clause* (REUSE SETTINGS)? ';' + ; + +function_body + : FUNCTION identifier ('(' parameter (',' parameter)* ')')? + RETURN type_spec (invoker_rights_clause | parallel_enable_clause | result_cache_clause | DETERMINISTIC)* + ((PIPELINED? DETERMINISTIC? (IS | AS) (DECLARE? seq_of_declare_specs? body | call_spec)) | (PIPELINED | AGGREGATE) USING implementation_type_name) ';' + ; + +procedure_body + : PROCEDURE identifier ('(' parameter (',' parameter)* ')')? (IS | AS) + (DECLARE? seq_of_declare_specs? body | call_spec | EXTERNAL) ';' + ; + +create_procedure_body + : CREATE (OR REPLACE)? PROCEDURE procedure_name ('(' parameter (',' parameter)* ')')? + invoker_rights_clause? (IS | AS) + (DECLARE? seq_of_declare_specs? body | call_spec | EXTERNAL) ';' + ; + +// Trigger DDLs + +drop_trigger + : DROP TRIGGER trigger_name ';' + ; + +alter_trigger + : ALTER TRIGGER alter_trigger_name=trigger_name + ((ENABLE | DISABLE) | RENAME TO rename_trigger_name=trigger_name | COMPILE DEBUG? compiler_parameters_clause* (REUSE SETTINGS)?) ';' + ; + +create_trigger + : CREATE ( OR REPLACE )? TRIGGER trigger_name + (simple_dml_trigger | compound_dml_trigger | non_dml_trigger) + trigger_follows_clause? (ENABLE | DISABLE)? trigger_when_clause? trigger_body ';' + ; + +trigger_follows_clause + : FOLLOWS trigger_name (',' trigger_name)* + ; + +trigger_when_clause + : WHEN '(' condition ')' + ; + +// Create Trigger Specific Clauses + +simple_dml_trigger + : (BEFORE | AFTER | INSTEAD OF) dml_event_clause referencing_clause? for_each_row? + ; + +for_each_row + : FOR EACH ROW + ; + +compound_dml_trigger + : FOR dml_event_clause referencing_clause? + ; + +non_dml_trigger + : (BEFORE | AFTER) non_dml_event (OR non_dml_event)* ON (DATABASE | (schema_name '.')? SCHEMA) + ; + +trigger_body + : COMPOUND TRIGGER + | CALL identifier + | trigger_block + ; + +routine_clause + : routine_name function_argument? + ; + +compound_trigger_block + : COMPOUND TRIGGER seq_of_declare_specs? timing_point_section+ END trigger_name + ; + +timing_point_section + : bk=BEFORE STATEMENT IS trigger_block BEFORE STATEMENT ';' + | bk=BEFORE EACH ROW IS trigger_block BEFORE EACH ROW ';' + | ak=AFTER STATEMENT IS trigger_block AFTER STATEMENT ';' + | ak=AFTER EACH ROW IS trigger_block AFTER EACH ROW ';' + ; + +non_dml_event + : ALTER + | ANALYZE + | ASSOCIATE STATISTICS + | AUDIT + | COMMENT + | CREATE + | DISASSOCIATE STATISTICS + | DROP + | GRANT + | NOAUDIT + | RENAME + | REVOKE + | TRUNCATE + | DDL + | STARTUP + | SHUTDOWN + | DB_ROLE_CHANGE + | LOGON + | LOGOFF + | SERVERERROR + | SUSPEND + | DATABASE + | SCHEMA + | FOLLOWS + ; + +dml_event_clause + : dml_event_element (OR dml_event_element)* ON dml_event_nested_clause? tableview_name + ; + +dml_event_element + : (DELETE | INSERT | UPDATE) (OF column_list)? + ; + +dml_event_nested_clause + : NESTED TABLE tableview_name OF + ; + +referencing_clause + : REFERENCING referencing_element+ + ; + +referencing_element + : (NEW | OLD | PARENT) column_alias + ; + +// DDLs + +drop_type + : DROP TYPE BODY? type_name (FORCE | VALIDATE)? ';' + ; + +alter_type + : ALTER TYPE type_name + (compile_type_clause + | replace_type_clause + //TODO | {input.LT(2).getText().equalsIgnoreCase("attribute")}? alter_attribute_definition + | alter_method_spec + | alter_collection_clauses + | modifier_clause + | overriding_subprogram_spec + ) dependent_handling_clause? ';' + ; + +// Alter Type Specific Clauses + +compile_type_clause + : COMPILE DEBUG? (SPECIFICATION | BODY)? compiler_parameters_clause* (REUSE SETTINGS)? + ; + +replace_type_clause + : REPLACE invoker_rights_clause? AS OBJECT '(' object_member_spec (',' object_member_spec)* ')' + ; + +alter_method_spec + : alter_method_element (',' alter_method_element)* + ; + +alter_method_element + : (ADD | DROP) (map_order_function_spec | subprogram_spec) + ; + +alter_attribute_definition + : (ADD | MODIFY | DROP) ATTRIBUTE (attribute_definition | '(' attribute_definition (',' attribute_definition)* ')') + ; + +attribute_definition + : attribute_name type_spec? + ; + +alter_collection_clauses + : MODIFY (LIMIT expression | ELEMENT TYPE type_spec) + ; + +dependent_handling_clause + : INVALIDATE + | CASCADE (CONVERT TO SUBSTITUTABLE | NOT? INCLUDING TABLE DATA)? dependent_exceptions_part? + ; + +dependent_exceptions_part + : FORCE? EXCEPTIONS INTO tableview_name + ; + +create_type + : CREATE (OR REPLACE)? TYPE (type_definition | type_body) ';' + ; + +// Create Type Specific Clauses + +type_definition + : type_name (OID CHAR_STRING)? object_type_def? + ; + +object_type_def + : invoker_rights_clause? (object_as_part | object_under_part) sqlj_object_type? + ('(' object_member_spec (',' object_member_spec)* ')')? modifier_clause* + ; + +object_as_part + : (IS | AS) (OBJECT | varray_type_def | nested_table_type_def) + ; + +object_under_part + : UNDER type_spec + ; + +nested_table_type_def + : TABLE OF type_spec (NOT NULL_)? + ; + +sqlj_object_type + : EXTERNAL NAME expression LANGUAGE JAVA USING (SQLDATA | CUSTOMDATUM | ORADATA) + ; + +type_body + : BODY type_name (IS | AS) (type_body_elements)+ END + ; + +type_body_elements + : map_order_func_declaration + | subprog_decl_in_type + | overriding_subprogram_spec + ; + +map_order_func_declaration + : (MAP | ORDER) MEMBER func_decl_in_type + ; + +subprog_decl_in_type + : (MEMBER | STATIC) (proc_decl_in_type | func_decl_in_type | constructor_declaration) + ; + +proc_decl_in_type + : PROCEDURE procedure_name '(' type_elements_parameter (',' type_elements_parameter)* ')' + (IS | AS) (call_spec | DECLARE? seq_of_declare_specs? body ';') + ; + +func_decl_in_type + : FUNCTION function_name ('(' type_elements_parameter (',' type_elements_parameter)* ')')? + RETURN type_spec (IS | AS) (call_spec | DECLARE? seq_of_declare_specs? body ';') + ; + +constructor_declaration + : FINAL? INSTANTIABLE? CONSTRUCTOR FUNCTION type_spec + ('(' (SELF IN OUT type_spec ',') type_elements_parameter (',' type_elements_parameter)* ')')? + RETURN SELF AS RESULT (IS | AS) (call_spec | DECLARE? seq_of_declare_specs? body ';') + ; + +// Common Type Clauses + +modifier_clause + : NOT? (INSTANTIABLE | FINAL | OVERRIDING) + ; + +object_member_spec + : identifier type_spec sqlj_object_type_attr? + | element_spec + ; + +sqlj_object_type_attr + : EXTERNAL NAME expression + ; + +element_spec + : modifier_clause? element_spec_options+ (',' pragma_clause)? + ; + +element_spec_options + : subprogram_spec + | constructor_spec + | map_order_function_spec + ; + +subprogram_spec + : (MEMBER | STATIC) (type_procedure_spec | type_function_spec) + ; + +// TODO: should be refactored such as Procedure body and Function body, maybe Type_Function_Body and overriding_function_body +overriding_subprogram_spec + : OVERRIDING MEMBER overriding_function_spec + ; + +overriding_function_spec + : FUNCTION function_name ('(' type_elements_parameter (',' type_elements_parameter)* ')')? + RETURN (type_spec | SELF AS RESULT) + (PIPELINED? (IS | AS) (DECLARE? seq_of_declare_specs? body))? ';'? + ; + +type_procedure_spec + : PROCEDURE procedure_name '(' type_elements_parameter (',' type_elements_parameter)* ')' ((IS | AS) call_spec)? + ; + +type_function_spec + : FUNCTION function_name ('(' type_elements_parameter (',' type_elements_parameter)* ')')? + RETURN (type_spec | SELF AS RESULT) ((IS | AS) call_spec | EXTERNAL VARIABLE? NAME expression)? + ; + +constructor_spec + : FINAL? INSTANTIABLE? CONSTRUCTOR FUNCTION + type_spec ('(' (SELF IN OUT type_spec ',') type_elements_parameter (',' type_elements_parameter)* ')')? + RETURN SELF AS RESULT ((IS | AS) call_spec)? + ; + +map_order_function_spec + : (MAP | ORDER) MEMBER type_function_spec + ; + +pragma_clause + : PRAGMA RESTRICT_REFERENCES '(' pragma_elements (',' pragma_elements)* ')' + ; + +pragma_elements + : identifier + | DEFAULT + ; + +type_elements_parameter + : parameter_name type_spec + ; + +// Sequence DDLs + +drop_sequence + : DROP SEQUENCE sequence_name ';' + ; + +alter_sequence + : ALTER SEQUENCE sequence_name sequence_spec+ ';' + ; + +alter_session + : ALTER SESSION ( + ADVISE ( COMMIT | ROLLBACK | NOTHING ) + | CLOSE DATABASE LINK parameter_name + | enable_or_disable COMMIT IN PROCEDURE + | enable_or_disable GUARD + | (enable_or_disable | FORCE) PARALLEL (DML | DDL | QUERY) (PARALLEL (literal | parameter_name))? + | SET alter_session_set_clause + ) + ; + +alter_session_set_clause + : parameter_name '=' parameter_value + ; + +create_sequence + : CREATE SEQUENCE sequence_name (sequence_start_clause | sequence_spec)* ';' + ; + +// Common Sequence + +sequence_spec + : INCREMENT BY UNSIGNED_INTEGER + | MAXVALUE UNSIGNED_INTEGER + | NOMAXVALUE + | MINVALUE UNSIGNED_INTEGER + | NOMINVALUE + | CYCLE + | NOCYCLE + | CACHE UNSIGNED_INTEGER + | NOCACHE + | ORDER + | NOORDER + ; + +sequence_start_clause + : START WITH UNSIGNED_INTEGER + ; + +create_index + : CREATE (UNIQUE | BITMAP)? INDEX index_name + ON (cluster_index_clause | table_index_clause | bitmap_join_index_clause) + UNUSABLE? + ';' + ; + +cluster_index_clause + : CLUSTER cluster_name index_attributes? + ; + +cluster_name + : (id_expression '.')? id_expression + ; + +table_index_clause + : tableview_name table_alias? '(' index_expr (ASC | DESC)? (',' index_expr (ASC | DESC)? )* ')' + index_properties? + ; +bitmap_join_index_clause + : tableview_name '(' (tableview_name | table_alias)? column_name (ASC | DESC)? (',' (tableview_name | table_alias)? column_name (ASC | DESC)? )* ')' + FROM tableview_name table_alias (',' tableview_name table_alias)* + where_clause local_partitioned_index? index_attributes? + ; + +index_expr + : column_name + | expression + ; + +index_properties + : (global_partitioned_index | local_partitioned_index | index_attributes)+ + | INDEXTYPE IS (domain_index_clause | xmlindex_clause) + ; + +domain_index_clause + : indextype local_domain_index_clause? parallel_clause? (PARAMETERS '(' odci_parameters ')' )? + ; + +local_domain_index_clause + : LOCAL ('(' PARTITION partition_name (PARAMETERS '(' odci_parameters ')' )? (',' PARTITION partition_name (PARAMETERS '(' odci_parameters ')' )? )* ')' )? + ; + +xmlindex_clause + : (XDB '.')? XMLINDEX local_xmlindex_clause? + parallel_clause? //TODO xmlindex_parameters_clause? + ; + +local_xmlindex_clause + : LOCAL ('(' PARTITION partition_name (',' PARTITION partition_name //TODO xmlindex_parameters_clause? + )* ')')? + ; + +global_partitioned_index + : GLOBAL PARTITION BY (RANGE '(' column_name (',' column_name)* ')' '(' index_partitioning_clause ')' + | HASH '(' column_name (',' column_name)* ')' + (individual_hash_partitions + | hash_partitions_by_quantity + ) + ) + ; + +index_partitioning_clause + : PARTITION partition_name? VALUES LESS THAN '(' literal (',' literal)* ')' + segment_attributes_clause? + ; + +local_partitioned_index + : LOCAL (on_range_partitioned_table + | on_list_partitioned_table + | on_hash_partitioned_table + | on_comp_partitioned_table + )? + ; + +on_range_partitioned_table + : '(' partitioned_table (',' partitioned_table)* ')' + ; + +on_list_partitioned_table + : '(' partitioned_table (',' partitioned_table)* ')' + ; + +partitioned_table + : PARTITION partition_name? + (segment_attributes_clause | key_compression)* + UNUSABLE? + ; + +on_hash_partitioned_table + : STORE IN '(' tablespace (',' tablespace)* ')' + | '(' on_hash_partitioned_clause (',' on_hash_partitioned_clause)* ')' + ; + +on_hash_partitioned_clause + : PARTITION partition_name? (TABLESPACE tablespace)? + key_compression? UNUSABLE? + ; +on_comp_partitioned_table + : (STORE IN '(' tablespace (',' tablespace)* ')' )? + '(' on_comp_partitioned_clause (',' on_comp_partitioned_clause)* ')' + ; + +on_comp_partitioned_clause + : PARTITION partition_name? + (segment_attributes_clause | key_compression)* + UNUSABLE index_subpartition_clause? + ; + +index_subpartition_clause + : STORE IN '(' tablespace (',' tablespace)* ')' + | '(' index_subpartition_subclause (',' index_subpartition_subclause)* ')' + ; + +index_subpartition_subclause + : SUBPARTITION subpartition_name? (TABLESPACE tablespace)? + key_compression? UNUSABLE? + ; + +odci_parameters + : CHAR_STRING + ; + +indextype + : (id_expression '.')? id_expression + ; + +//https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_1010.htm#SQLRF00805 +alter_index + : ALTER INDEX index_name (alter_index_ops_set1 | alter_index_ops_set2) ';' + ; + +alter_index_ops_set1 + : ( deallocate_unused_clause + | allocate_extent_clause + | shrink_clause + | parallel_clause + | physical_attributes_clause + | logging_clause + )+ + ; + +alter_index_ops_set2 + : rebuild_clause + | PARAMETERS '(' odci_parameters ')' + | COMPILE + | enable_or_disable + | UNUSABLE + | visible_or_invisible + | RENAME TO new_index_name + | COALESCE + | monitoring_nomonitoring USAGE + | UPDATE BLOCK REFERENCES + | alter_index_partitioning + ; + +visible_or_invisible + : VISIBLE + | INVISIBLE + ; + +monitoring_nomonitoring + : MONITORING + | NOMONITORING + ; + +rebuild_clause + : REBUILD ( PARTITION partition_name + | SUBPARTITION subpartition_name + | REVERSE + | NOREVERSE + )? + ( parallel_clause + | TABLESPACE tablespace + | PARAMETERS '(' odci_parameters ')' +//TODO | xmlindex_parameters_clause + | ONLINE + | physical_attributes_clause + | key_compression + | logging_clause + )* + ; + +alter_index_partitioning + : modify_index_default_attrs + | add_hash_index_partition + | modify_index_partition + | rename_index_partition + | drop_index_partition + | split_index_partition + | coalesce_index_partition + | modify_index_subpartition + ; + +modify_index_default_attrs + : MODIFY DEFAULT ATTRIBUTES (FOR PARTITION partition_name)? + ( physical_attributes_clause + | TABLESPACE (tablespace | DEFAULT) + | logging_clause + ) + ; + +add_hash_index_partition + : ADD PARTITION partition_name? (TABLESPACE tablespace)? + key_compression? parallel_clause? + ; + +coalesce_index_partition + : COALESCE PARTITION parallel_clause? + ; + +modify_index_partition + : MODIFY PARTITION partition_name + ( modify_index_partitions_ops+ + | PARAMETERS '(' odci_parameters ')' + | COALESCE + | UPDATE BLOCK REFERENCES + | UNUSABLE + ) + ; + +modify_index_partitions_ops + : deallocate_unused_clause + | allocate_extent_clause + | physical_attributes_clause + | logging_clause + | key_compression + ; + +rename_index_partition + : RENAME (PARTITION partition_name | SUBPARTITION subpartition_name) + TO new_partition_name + ; + +drop_index_partition + : DROP PARTITION partition_name + ; + +split_index_partition + : SPLIT PARTITION partition_name_old AT '(' literal (',' literal)* ')' + (INTO '(' index_partition_description ',' index_partition_description ')' ) ? parallel_clause? + ; + +index_partition_description + : PARTITION (partition_name ( (segment_attributes_clause | key_compression)+ + | PARAMETERS '(' odci_parameters ')' + ) + UNUSABLE? + )? + ; + +modify_index_subpartition + : MODIFY SUBPARTITION subpartition_name (UNUSABLE + | allocate_extent_clause + | deallocate_unused_clause + ) + ; + +partition_name_old + : partition_name + ; + +new_partition_name + : partition_name + ; + +new_index_name + : index_name + ; + +create_user + : CREATE USER + user_object_name + ( identified_by + | identified_other_clause + | user_tablespace_clause + | quota_clause + | profile_clause + | password_expire_clause + | user_lock_clause + | user_editions_clause + | container_clause + )+ ';' + ; + +// The standard clauses only permit one user per statement. +// The proxy clause allows multiple users for a proxy designation. +alter_user + : ALTER USER + user_object_name + ( alter_identified_by + | identified_other_clause + | user_tablespace_clause + | quota_clause + | profile_clause + | user_default_role_clause + | password_expire_clause + | user_lock_clause + | alter_user_editions_clause + | container_clause + | container_data_clause + )+ + ';' + | user_object_name (',' user_object_name)* proxy_clause ';' + ; + +alter_identified_by + : identified_by (REPLACE id_expression)? + ; + +identified_by + : IDENTIFIED BY id_expression + ; + +identified_other_clause + : IDENTIFIED (EXTERNALLY | GLOBALLY) (AS quoted_string)? + ; + +user_tablespace_clause + : (DEFAULT | TEMPORARY) TABLESPACE id_expression + ; + +quota_clause + : QUOTA (size_clause | UNLIMITED) ON id_expression + ; + +profile_clause + : PROFILE id_expression + ; + +role_clause + : role_name (',' role_name)* + | ALL (EXCEPT role_name (',' role_name)*)* + ; + +user_default_role_clause + : DEFAULT ROLE (NONE | role_clause) + ; + +password_expire_clause + : PASSWORD EXPIRE + ; + +user_lock_clause + : ACCOUNT (LOCK | UNLOCK) + ; + +user_editions_clause + : ENABLE EDITIONS + ; + +alter_user_editions_clause + : user_editions_clause (FOR regular_id (',' regular_id)*)? FORCE? + ; + +proxy_clause + : REVOKE CONNECT THROUGH (ENTERPRISE USERS | user_object_name) + | GRANT CONNECT THROUGH + ( ENTERPRISE USERS + | user_object_name + (WITH (NO ROLES | ROLE role_clause))? + (AUTHENTICATION REQUIRED)? + (AUTHENTICATED USING (PASSWORD | CERTIFICATE | DISTINGUISHED NAME))? + ) + ; + +container_names + : LEFT_PAREN id_expression (',' id_expression)* RIGHT_PAREN + ; + +set_container_data + : SET CONTAINER_DATA EQUALS_OP (ALL | DEFAULT | container_names) + ; + +add_rem_container_data + : (ADD | REMOVE) CONTAINER_DATA EQUALS_OP container_names + ; + +container_data_clause + : set_container_data + | add_rem_container_data (FOR container_tableview_name)? + ; + +// https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_4005.htm#SQLRF01105 +analyze + : ( ANALYZE (TABLE tableview_name | INDEX index_name) partition_extention_clause? + | ANALYZE CLUSTER cluster_name + ) + + ( validation_clauses + | LIST CHAINED ROWS into_clause1? + | DELETE SYSTEM? STATISTICS + ) + ';' + ; + +partition_extention_clause + : PARTITION ( '(' partition_name ')' + | FOR '(' partition_key_value (',' partition_key_value)* ')' + ) + | SUBPARTITION ( '(' subpartition_name ')' + | FOR '(' subpartition_key_value (',' subpartition_key_value)* ')' + ) + ; + +validation_clauses + : VALIDATE REF UPDATE (SET DANGLING TO NULL_)? + | VALIDATE STRUCTURE + ( CASCADE FAST + | CASCADE online_or_offline? into_clause? + | CASCADE + )? + online_or_offline? into_clause? + ; + +online_or_offline + : OFFLINE + | ONLINE + ; + +into_clause1 + : INTO tableview_name? + ; + +//Making assumption on partition ad subpartition key value clauses +partition_key_value + : literal + ; + +subpartition_key_value + : literal + ; + +//https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_4006.htm#SQLRF01106 +associate_statistics + : ASSOCIATE STATISTICS + WITH (column_association | function_association) + storage_table_clause? + ';' + ; + +column_association + : COLUMNS tableview_name '.' column_name (',' tableview_name '.' column_name)* using_statistics_type + ; + +function_association + : ( FUNCTIONS function_name (',' function_name)* + | PACKAGES package_name (',' package_name)* + | TYPES type_name (',' type_name)* + | INDEXES index_name (',' index_name)* + | INDEXTYPES indextype_name (',' indextype_name)* + ) + + ( using_statistics_type + | default_cost_clause (',' default_selectivity_clause)? + | default_selectivity_clause (',' default_cost_clause)? + ) + ; + +indextype_name + : id_expression + ; + + +using_statistics_type + : USING (statistics_type_name | NULL_) + ; + +statistics_type_name + : regular_id + ; + +default_cost_clause + : DEFAULT COST '(' cpu_cost ',' io_cost ',' network_cost ')' + ; + +cpu_cost + : UNSIGNED_INTEGER + ; + +io_cost + : UNSIGNED_INTEGER + ; + +network_cost + : UNSIGNED_INTEGER + ; + +default_selectivity_clause + : DEFAULT SELECTIVITY default_selectivity + ; + +default_selectivity + : UNSIGNED_INTEGER + ; + +storage_table_clause + : WITH (SYSTEM | USER) MANAGED STORAGE TABLES + ; + +// https://docs.oracle.com/database/121/SQLRF/statements_4008.htm#SQLRF56110 +unified_auditing + : {this.isVersion12()}? + AUDIT (POLICY policy_name ((BY | EXCEPT) audit_user (',' audit_user)* )? + (WHENEVER NOT? SUCCESSFUL)? + | CONTEXT NAMESPACE oracle_namespace + ATTRIBUTES attribute_name (',' attribute_name)* (BY audit_user (',' audit_user)*)? + ) + ';' + ; + +policy_name + : identifier + ; + +// https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_4007.htm#SQLRF01107 +// https://docs.oracle.com/database/121/SQLRF/statements_4007.htm#SQLRF01107 + +audit_traditional + : AUDIT ( audit_operation_clause (auditing_by_clause | IN SESSION CURRENT)? + | audit_schema_object_clause + | NETWORK + | audit_direct_path + ) + (BY (SESSION | ACCESS) )? (WHENEVER NOT? SUCCESSFUL)? + audit_container_clause? + ';' + ; + +audit_direct_path + : {this.isVersion12()}? DIRECT_PATH auditing_by_clause + ; + +audit_container_clause + : {this.isVersion12()}? (CONTAINER EQUALS_OP (CURRENT | ALL)) + ; + +audit_operation_clause + : ( (sql_statement_shortcut | ALL STATEMENTS?) (',' (sql_statement_shortcut | ALL STATEMENTS?) )* + | (system_privilege | ALL PRIVILEGES) (',' (system_privilege | ALL PRIVILEGES) )* + ) + ; + +auditing_by_clause + : BY audit_user (',' audit_user)* + ; + +audit_user + : regular_id + ; + +audit_schema_object_clause + : ( sql_operation (',' sql_operation)* | ALL) auditing_on_clause + ; + +sql_operation + : ALTER + | AUDIT + | COMMENT + | DELETE + | EXECUTE + | FLASHBACK + | GRANT + | INDEX + | INSERT + | LOCK + | READ + | RENAME + | SELECT + | UPDATE + ; + +auditing_on_clause + : ON ( object_name + | DIRECTORY regular_id + | MINING MODEL model_name + | {this.isVersion12()}? SQL TRANSLATION PROFILE profile_name + | DEFAULT + ) + ; + +model_name + : (id_expression '.')? id_expression + ; + +object_name + : (id_expression '.')? id_expression + ; + +profile_name + : (id_expression '.')? id_expression + ; + +sql_statement_shortcut + : ALTER SYSTEM + | CLUSTER + | CONTEXT + | DATABASE LINK + | DIMENSION + | DIRECTORY + | INDEX + | MATERIALIZED VIEW + | NOT EXISTS + | OUTLINE + | {this.isVersion12()}? PLUGGABLE DATABASE + | PROCEDURE + | PROFILE + | PUBLIC DATABASE LINK + | PUBLIC SYNONYM + | ROLE + | ROLLBACK SEGMENT + | SEQUENCE + | SESSION + | SYNONYM + | SYSTEM AUDIT + | SYSTEM GRANT + | TABLE + | TABLESPACE + | TRIGGER + | TYPE + | USER + | VIEW + | ALTER SEQUENCE + | ALTER TABLE + | COMMENT TABLE + | DELETE TABLE + | EXECUTE PROCEDURE + | GRANT DIRECTORY + | GRANT PROCEDURE + | GRANT SEQUENCE + | GRANT TABLE + | GRANT TYPE + | INSERT TABLE + | LOCK TABLE + | SELECT SEQUENCE + | SELECT TABLE + | UPDATE TABLE + ; + +drop_index + : DROP INDEX index_name ';' + ; + +rename_object + : RENAME object_name TO object_name ';' + ; + +grant_statement + : GRANT + ( ','? + (role_name + | system_privilege + | object_privilege paren_column_list? + ) + )+ + (ON grant_object_name)? + TO (grantee_name | PUBLIC) (',' (grantee_name | PUBLIC) )* + (WITH (ADMIN | DELEGATE) OPTION)? + (WITH HIERARCHY OPTION)? + (WITH GRANT OPTION)? + container_clause? ';' + ; + +container_clause + : CONTAINER EQUALS_OP (CURRENT | ALL) + ; + +create_directory + : CREATE (OR REPLACE)? DIRECTORY directory_name AS directory_path + ';' + ; + +directory_name + : regular_id + ; + +directory_path + : CHAR_STRING + ; + +// https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/alter_library.htm#LNPLS99946 +// https://docs.oracle.com/database/121/LNPLS/alter_library.htm#LNPLS99946 +alter_library + : ALTER LIBRARY library_name + ( COMPILE library_debug? compiler_parameters_clause* (REUSE SETTINGS)? + | library_editionable + ) + ';' + ; + +library_editionable + : {this.isVersion12()}? (EDITIONABLE | NONEDITIONABLE) + ; + +library_debug + : {this.isVersion12()}? DEBUG + ; + + +compiler_parameters_clause + : parameter_name EQUALS_OP parameter_value + ; + +parameter_value + : regular_id + ; + +library_name + : (regular_id '.')? regular_id + ; + +// https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_4004.htm#SQLRF01104 +// https://docs.oracle.com/database/121/SQLRF/statements_4004.htm#SQLRF01104 +alter_view + : ALTER VIEW tableview_name + ( ADD out_of_line_constraint + | MODIFY CONSTRAINT constraint_name (RELY | NORELY) + | DROP ( CONSTRAINT constraint_name + | PRIMARY KEY + | UNIQUE '(' column_name (',' column_name)* ')' + ) + | COMPILE + | READ (ONLY | WRITE) + | alter_view_editionable? + ) + ';' + ; + +alter_view_editionable + : {this.isVersion12()}? (EDITIONABLE | NONEDITIONABLE) + ; + +create_view + : CREATE (OR REPLACE)? (OR? FORCE)? EDITIONABLE? EDITIONING? VIEW + tableview_name view_options? + AS select_only_statement subquery_restriction_clause? + ; + +view_options + : view_alias_constraint + | object_view_clause +// | xmltype_view_clause //TODO + ; + +view_alias_constraint + : '(' ( ','? (table_alias inline_constraint* | out_of_line_constraint) )+ ')' + ; + +object_view_clause + : OF type_name + ( WITH OBJECT (IDENTIFIER|ID|OID) ( DEFAULT | '(' REGULAR_ID (',' REGULAR_ID)* ')' ) + | UNDER tableview_name + ) + ( '(' ( ','? (out_of_line_constraint | REGULAR_ID inline_constraint ) )+ ')' )* + ; + +inline_constraint + : (CONSTRAINT constraint_name)? + ( NOT? NULL_ + | UNIQUE + | PRIMARY KEY + | references_clause + | check_constraint + ) + constraint_state? + ; + +inline_ref_constraint + : SCOPE IS tableview_name + | WITH ROWID + | (CONSTRAINT constraint_name)? references_clause constraint_state? + ; + +out_of_line_ref_constraint + : SCOPE FOR '(' ref_col_or_attr=regular_id ')' IS tableview_name + | REF '(' ref_col_or_attr=regular_id ')' WITH ROWID + | (CONSTRAINT constraint_name)? FOREIGN KEY '(' ( ','? ref_col_or_attr=regular_id)+ ')' references_clause constraint_state? + ; + +out_of_line_constraint + : ( (CONSTRAINT constraint_name)? + ( UNIQUE '(' column_name (',' column_name)* ')' + | PRIMARY KEY '(' column_name (',' column_name)* ')' + | foreign_key_clause + | CHECK '(' expression ')' + ) + ) + constraint_state? + ; + +constraint_state + : ( NOT? DEFERRABLE + | INITIALLY (IMMEDIATE|DEFERRED) + | (RELY|NORELY) + | (ENABLE|DISABLE) + | (VALIDATE|NOVALIDATE) + | using_index_clause + )+ + ; + +alter_tablespace + : ALTER TABLESPACE tablespace + ( DEFAULT table_compression? storage_clause? + | MINIMUM EXTENT size_clause + | RESIZE size_clause + | COALESCE + | SHRINK SPACE_KEYWORD (KEEP size_clause)? + | RENAME TO new_tablespace_name + | begin_or_end BACKUP + | datafile_tempfile_clauses + | tablespace_logging_clauses + | tablespace_group_clause + | tablespace_state_clauses + | autoextend_clause + | flashback_mode_clause + | tablespace_retention_clause + ) + ';' + ; + +datafile_tempfile_clauses + : ADD (datafile_specification | tempfile_specification) + | DROP (DATAFILE | TEMPFILE) (filename | UNSIGNED_INTEGER) (KEEP size_clause)? + | SHRINK TEMPFILE (filename | UNSIGNED_INTEGER) (KEEP size_clause)? + | RENAME DATAFILE filename (',' filename)* TO filename (',' filename)* + | (DATAFILE | TEMPFILE) (online_or_offline) + ; + +tablespace_logging_clauses + : logging_clause + | NO? FORCE LOGGING + ; + +tablespace_group_clause + : TABLESPACE GROUP (tablespace_group_name | CHAR_STRING) + ; + +tablespace_group_name + : regular_id + ; + +tablespace_state_clauses + : ONLINE + | OFFLINE (NORMAL | TEMPORARY | IMMEDIATE)? + | READ (ONLY | WRITE) + | PERMANENT + | TEMPORARY + ; + +flashback_mode_clause + : FLASHBACK (ON | OFF) + ; + +new_tablespace_name + : tablespace + ; + +create_tablespace + : CREATE (BIGFILE | SMALLFILE)? + ( permanent_tablespace_clause + | temporary_tablespace_clause + | undo_tablespace_clause + ) + ';' + ; + +permanent_tablespace_clause + : TABLESPACE id_expression datafile_specification? + ( MINIMUM EXTENT size_clause + | BLOCKSIZE size_clause + | logging_clause + | FORCE LOGGING + | (ONLINE | OFFLINE) + | ENCRYPTION tablespace_encryption_spec + | DEFAULT //TODO table_compression? storage_clause? + | extent_management_clause + | segment_management_clause + | flashback_mode_clause + )* + ; + +tablespace_encryption_spec + : USING encrypt_algorithm=CHAR_STRING + ; + +logging_clause + : LOGGING + | NOLOGGING + | FILESYSTEM_LIKE_LOGGING + ; + +extent_management_clause + : EXTENT MANAGEMENT LOCAL + ( AUTOALLOCATE + | UNIFORM (SIZE size_clause)? + )? + ; + +segment_management_clause + : SEGMENT SPACE_KEYWORD MANAGEMENT (AUTO | MANUAL) + ; + +temporary_tablespace_clause + : TEMPORARY TABLESPACE tablespace_name=id_expression + tempfile_specification? + tablespace_group_clause? extent_management_clause? + ; + +undo_tablespace_clause + : UNDO TABLESPACE tablespace_name=id_expression + datafile_specification? + extent_management_clause? tablespace_retention_clause? + ; + +tablespace_retention_clause + : RETENTION (GUARANTEE | NOGUARANTEE) + ; + +// asm_filename is just a charater string. Would need to parse the string +// to find diskgroup... +datafile_specification + : DATAFILE + (','? datafile_tempfile_spec) + ; + +tempfile_specification + : TEMPFILE + (','? datafile_tempfile_spec) + ; + +datafile_tempfile_spec + : (CHAR_STRING)? (SIZE size_clause)? REUSE? autoextend_clause? + ; + + +redo_log_file_spec + : (DATAFILE CHAR_STRING + | '(' ( ','? CHAR_STRING )+ ')' + )? + (SIZE size_clause)? + (BLOCKSIZE size_clause)? + REUSE? + ; + +autoextend_clause + : AUTOEXTEND (OFF | ON (NEXT size_clause)? maxsize_clause? ) + ; + +maxsize_clause + : MAXSIZE (UNLIMITED | size_clause) + ; + +build_clause + : BUILD (IMMEDIATE | DEFERRED) + ; + +parallel_clause + : NOPARALLEL + | PARALLEL parallel_count=UNSIGNED_INTEGER? + ; + +alter_materialized_view + : ALTER MATERIALIZED VIEW tableview_name + ( physical_attributes_clause + | modify_mv_column_clause + | table_compression + | lob_storage_clause (',' lob_storage_clause)* + | modify_lob_storage_clause (',' modify_lob_storage_clause)* +//TODO | alter_table_partitioning + | parallel_clause + | logging_clause + | allocate_extent_clause + | deallocate_unused_clause + | shrink_clause + | (cache_or_nocache) + )? + alter_iot_clauses? + (USING INDEX physical_attributes_clause)? + alter_mv_option1? + ( enable_or_disable QUERY REWRITE + | COMPILE + | CONSIDER FRESH + )? + ';' + ; + +alter_mv_option1 + : alter_mv_refresh +//TODO | MODIFY scoped_table_ref_constraint + ; + +alter_mv_refresh + : REFRESH ( FAST + | COMPLETE + | FORCE + | ON (DEMAND | COMMIT) + | START WITH expression + | NEXT expression + | WITH PRIMARY KEY + | USING DEFAULT? MASTER ROLLBACK SEGMENT rollback_segment? + | USING (ENFORCED | TRUSTED) CONSTRAINTS + )+ + ; + +rollback_segment + : regular_id + ; + +modify_mv_column_clause + : MODIFY '(' column_name (ENCRYPT encryption_spec | DECRYPT)? ')' + ; + +alter_materialized_view_log + : ALTER MATERIALIZED VIEW LOG FORCE? ON tableview_name + ( physical_attributes_clause + | add_mv_log_column_clause +//TODO | alter_table_partitioning + | parallel_clause + | logging_clause + | allocate_extent_clause + | shrink_clause + | move_mv_log_clause + | cache_or_nocache + )? + mv_log_augmentation? mv_log_purge_clause? + ';' + ; +add_mv_log_column_clause + : ADD '(' column_name ')' + ; + +move_mv_log_clause + : MOVE segment_attributes_clause parallel_clause? + ; + +mv_log_augmentation + : ADD ( ( OBJECT ID + | PRIMARY KEY + | ROWID + | SEQUENCE + ) + ('(' column_name (',' column_name)* ')')? + + | '(' column_name (',' column_name)* ')' + ) + new_values_clause? + ; + +// Should bound this to just date/time expr +datetime_expr + : expression + ; + +// Should bound this to just interval expr +interval_expr + : expression + ; + +synchronous_or_asynchronous + : SYNCHRONOUS + | ASYNCHRONOUS + ; + +including_or_excluding + : INCLUDING + | EXCLUDING + ; + + +create_materialized_view_log + : CREATE MATERIALIZED VIEW LOG ON tableview_name + ( ( physical_attributes_clause + | TABLESPACE tablespace_name=id_expression + | logging_clause + | (CACHE | NOCACHE) + )+ + )? + parallel_clause? + // table_partitioning_clauses TODO + ( WITH + ( ','? + ( OBJECT ID + | PRIMARY KEY + | ROWID + | SEQUENCE + | COMMIT SCN + ) + )* + ('(' ( ','? regular_id )+ ')' new_values_clause? )? + mv_log_purge_clause? + )* + ; + +new_values_clause + : (INCLUDING | EXCLUDING ) NEW VALUES + ; + +mv_log_purge_clause + : PURGE + ( IMMEDIATE (SYNCHRONOUS | ASYNCHRONOUS)? + // |START WITH CLAUSES TODO + ) + ; + +create_materialized_view + : CREATE MATERIALIZED VIEW tableview_name + (OF type_name )? +//scoped_table_ref and column alias goes here TODO + ( ON PREBUILT TABLE ( (WITH | WITHOUT) REDUCED PRECISION)? + | physical_properties? (CACHE | NOCACHE)? parallel_clause? build_clause? + ) + ( USING INDEX ( (physical_attributes_clause | TABLESPACE mv_tablespace=id_expression)+ )* + | USING NO INDEX + )? + create_mv_refresh? + (FOR UPDATE)? + ( (DISABLE | ENABLE) QUERY REWRITE )? + AS select_only_statement + ';' + ; + +create_mv_refresh + : ( NEVER REFRESH + | REFRESH + ( (FAST | COMPLETE | FORCE) + | ON (DEMAND | COMMIT) + | (START WITH | NEXT) //date goes here TODO + | WITH (PRIMARY KEY | ROWID) + | USING + ( DEFAULT (MASTER | LOCAL)? ROLLBACK SEGMENT + | (MASTER | LOCAL)? ROLLBACK SEGMENT rb_segment=REGULAR_ID + ) + | USING (ENFORCED | TRUSTED) CONSTRAINTS + )+ + ) + ; + +create_context + : CREATE (OR REPLACE)? CONTEXT oracle_namespace USING (schema_object_name '.')? package_name + (INITIALIZED (EXTERNALLY | GLOBALLY) + | ACCESSED GLOBALLY + )? + ';' + ; + +oracle_namespace + : id_expression + ; + +//https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_5001.htm#SQLRF01201 +create_cluster + : CREATE CLUSTER cluster_name '(' column_name datatype SORT? (',' column_name datatype SORT?)* ')' + ( physical_attributes_clause + | SIZE size_clause + | TABLESPACE tablespace + | INDEX + | (SINGLE TABLE)? HASHKEYS UNSIGNED_INTEGER (HASH IS expression)? + )* + parallel_clause? (ROWDEPENDENCIES | NOROWDEPENDENCIES)? + (CACHE | NOCACHE)? + ';' + ; + +create_table + : CREATE (GLOBAL TEMPORARY)? TABLE tableview_name + (relational_table | object_table | xmltype_table) (AS select_only_statement)? + ';' + ; + +xmltype_table + : OF XMLTYPE ('(' object_properties ')')? + (XMLTYPE xmltype_storage)? xmlschema_spec? xmltype_virtual_columns? + (ON COMMIT (DELETE | PRESERVE) ROWS)? oid_clause? oid_index_clause? + physical_properties? column_properties? table_partitioning_clauses? + (CACHE | NOCACHE)? (RESULT_CACHE '(' MODE (DEFAULT | FORCE) ')')? + parallel_clause? (ROWDEPENDENCIES | NOROWDEPENDENCIES)? + (enable_disable_clause+)? row_movement_clause? + flashback_archive_clause? + ; + +xmltype_virtual_columns + : VIRTUAL COLUMNS '(' column_name AS '(' expression ')' (',' column_name AS '(' expression ')')* ')' + ; + +xmltype_column_properties + : XMLTYPE COLUMN? column_name xmltype_storage? xmlschema_spec? + ; + +xmltype_storage + : STORE AS (OBJECT RELATIONAL + | (SECUREFILE | BASICFILE)? (CLOB | BINARY XML) (lob_segname ('(' lob_parameters ')')? | '(' lob_parameters ')')? + ) + | STORE VARRAYS AS (LOBS | TABLES) + ; + +xmlschema_spec + : (XMLSCHEMA DELIMITED_ID)? ELEMENT DELIMITED_ID + (allow_or_disallow NONSCHEMA)? + (allow_or_disallow ANYSCHEMA)? + ; + +object_table + : OF type_name object_table_substitution? + ('(' object_properties (',' object_properties)* ')')? + (ON COMMIT (DELETE | PRESERVE) ROWS)? oid_clause? oid_index_clause? + physical_properties? column_properties? table_partitioning_clauses? + (CACHE | NOCACHE)? (RESULT_CACHE '(' MODE (DEFAULT | FORCE) ')')? + parallel_clause? (ROWDEPENDENCIES | NOROWDEPENDENCIES)? + (enable_disable_clause+)? row_movement_clause? flashback_archive_clause? + ; + +oid_index_clause + : OIDINDEX index_name? '(' (physical_attributes_clause | TABLESPACE tablespace)+ ')' + ; + +oid_clause + : OBJECT IDENTIFIER IS (SYSTEM GENERATED | PRIMARY KEY) + ; + +object_properties + : (column_name | attribute_name) (DEFAULT expression)? (inline_constraint (',' inline_constraint)* | inline_ref_constraint)? + | out_of_line_constraint + | out_of_line_ref_constraint + | supplemental_logging_props + ; + +object_table_substitution + : NOT? SUBSTITUTABLE AT ALL LEVELS + ; + +relational_table + : ('(' relational_property (',' relational_property)* ')')? + (ON COMMIT (DELETE | PRESERVE) ROWS)? + physical_properties? column_properties? table_partitioning_clauses? + (CACHE | NOCACHE)? (RESULT_CACHE '(' MODE (DEFAULT | FORCE) ')')? + parallel_clause? + (ROWDEPENDENCIES | NOROWDEPENDENCIES)? + (enable_disable_clause+)? row_movement_clause? flashback_archive_clause? + ; + +relational_property + : (column_definition + | virtual_column_definition + | out_of_line_constraint + | out_of_line_ref_constraint + | supplemental_logging_props + ) + ; + +table_partitioning_clauses + : range_partitions + | list_partitions + | hash_partitions + | composite_range_partitions + | composite_list_partitions + | composite_hash_partitions + | reference_partitioning + | system_partitioning + ; + +range_partitions + : PARTITION BY RANGE '(' column_name (',' column_name)* ')' + (INTERVAL '(' expression ')' (STORE IN '(' tablespace (',' tablespace)* ')' )? )? + '(' PARTITION partition_name? range_values_clause table_partition_description (',' PARTITION partition_name? range_values_clause table_partition_description)* ')' + ; + +list_partitions + : PARTITION BY LIST '(' column_name ')' + '(' PARTITION partition_name? list_values_clause table_partition_description (',' PARTITION partition_name? list_values_clause table_partition_description )* ')' + ; + +hash_partitions + : PARTITION BY HASH '(' column_name (',' column_name)* ')' + (individual_hash_partitions | hash_partitions_by_quantity) + ; + +individual_hash_partitions + : '(' PARTITION partition_name? partitioning_storage_clause? (',' PARTITION partition_name? partitioning_storage_clause?)* ')' + ; + +hash_partitions_by_quantity + : PARTITIONS hash_partition_quantity + (STORE IN '(' tablespace (',' tablespace)* ')')? + (table_compression | key_compression)? + (OVERFLOW STORE IN '(' tablespace (',' tablespace)* ')' )? + ; + +hash_partition_quantity + : UNSIGNED_INTEGER + ; + +composite_range_partitions + : PARTITION BY RANGE '(' column_name (',' column_name)* ')' + (INTERVAL '(' expression ')' (STORE IN '(' tablespace (',' tablespace)* ')' )? )? + (subpartition_by_range | subpartition_by_list | subpartition_by_hash) + '(' range_partition_desc (',' range_partition_desc)* ')' + ; + +composite_list_partitions + : PARTITION BY LIST '(' column_name ')' + (subpartition_by_range | subpartition_by_list | subpartition_by_hash) + '(' list_partition_desc (',' list_partition_desc)* ')' + ; + +composite_hash_partitions + : PARTITION BY HASH '(' (',' column_name)+ ')' + (subpartition_by_range | subpartition_by_list | subpartition_by_hash) + (individual_hash_partitions | hash_partitions_by_quantity) + ; + +reference_partitioning + : PARTITION BY REFERENCE '(' regular_id ')' + ('(' reference_partition_desc (',' reference_partition_desc)* ')')? + ; + +reference_partition_desc + : PARTITION partition_name? table_partition_description + ; + +system_partitioning + : PARTITION BY SYSTEM + (PARTITIONS UNSIGNED_INTEGER | reference_partition_desc (',' reference_partition_desc)*)? + ; + +range_partition_desc + : PARTITION partition_name? range_values_clause table_partition_description + ( ( '(' ( range_subpartition_desc (',' range_subpartition_desc)* + | list_subpartition_desc (',' list_subpartition_desc)* + | individual_hash_subparts (',' individual_hash_subparts)* + ) + ')' + | hash_subparts_by_quantity + ) + )? + ; + +list_partition_desc + : PARTITION partition_name? list_values_clause table_partition_description + ( ( '(' ( range_subpartition_desc (',' range_subpartition_desc)* + | list_subpartition_desc (',' list_subpartition_desc)* + | individual_hash_subparts (',' individual_hash_subparts)* + ) + ')' + | hash_subparts_by_quantity + ) + )? + ; + +subpartition_template + : SUBPARTITION TEMPLATE + ( ( '(' ( range_subpartition_desc (',' range_subpartition_desc)* + | list_subpartition_desc (',' list_subpartition_desc)* + | individual_hash_subparts (',' individual_hash_subparts)* + ) + ')' + | hash_subpartition_quantity + ) + ) + ; + +hash_subpartition_quantity + : UNSIGNED_INTEGER + ; + +subpartition_by_range + : SUBPARTITION BY RANGE '(' column_name (',' column_name)* ')' subpartition_template? + ; + +subpartition_by_list + : SUBPARTITION BY LIST '(' column_name ')' subpartition_template? + ; + +subpartition_by_hash + : SUBPARTITION BY HASH '(' column_name (',' column_name)* ')' + (SUBPARTITIONS UNSIGNED_INTEGER (STORE IN '(' tablespace (',' tablespace)* ')' )? + | subpartition_template + )? + ; + +subpartition_name + : partition_name + ; + +range_subpartition_desc + : SUBPARTITION subpartition_name? range_values_clause partitioning_storage_clause? + ; + +list_subpartition_desc + : SUBPARTITION subpartition_name? list_values_clause partitioning_storage_clause? + ; + +individual_hash_subparts + : SUBPARTITION subpartition_name? partitioning_storage_clause? + ; + +hash_subparts_by_quantity + : SUBPARTITIONS UNSIGNED_INTEGER (STORE IN '(' tablespace (',' tablespace)* ')' )? + ; + +range_values_clause + : VALUES LESS THAN '(' literal (',' literal)* ')' + ; + +list_values_clause + : VALUES '(' (literal (',' literal)* | DEFAULT) ')' + ; + +table_partition_description + : deferred_segment_creation? segment_attributes_clause? + (table_compression | key_compression)? + (OVERFLOW segment_attributes_clause? )? + (lob_storage_clause | varray_col_properties | nested_table_col_properties)? + ; + +partitioning_storage_clause + : ( TABLESPACE tablespace + | OVERFLOW (TABLESPACE tablespace)? + | table_compression + | key_compression + | lob_partitioning_storage + | VARRAY varray_item STORE AS (BASICFILE | SECUREFILE)? LOB lob_segname + )+ + ; + +lob_partitioning_storage + : LOB '(' lob_item ')' + STORE AS (BASICFILE | SECUREFILE)? + (lob_segname ('(' TABLESPACE tablespace ')' )? + | '(' TABLESPACE tablespace ')' + ) + ; + +datatype_null_enable + : column_name datatype + SORT? (DEFAULT expression)? (ENCRYPT ( USING CHAR_STRING )? (IDENTIFIED BY REGULAR_ID)? CHAR_STRING? ( NO? SALT )? )? + (NOT NULL_)? (ENABLE | DISABLE)? + ; + +//Technically, this should only allow 'K' | 'M' | 'G' | 'T' | 'P' | 'E' +// but having issues with examples/numbers01.sql line 11 "sysdate -1m" +size_clause + : UNSIGNED_INTEGER REGULAR_ID? + ; + + +table_compression + : COMPRESS + ( BASIC + | FOR ( OLTP + | (QUERY | ARCHIVE) (LOW | HIGH)? + ) + )? + | NOCOMPRESS + ; + +physical_attributes_clause + : (PCTFREE pctfree=UNSIGNED_INTEGER + | PCTUSED pctused=UNSIGNED_INTEGER + | INITRANS inittrans=UNSIGNED_INTEGER + | storage_clause + )+ + ; + +storage_clause + : STORAGE '(' + (INITIAL initial_size=size_clause + | NEXT next_size=size_clause + | MINEXTENTS minextents=(UNSIGNED_INTEGER | UNLIMITED) + | MAXEXTENTS minextents=(UNSIGNED_INTEGER | UNLIMITED) + | PCTINCREASE pctincrease=UNSIGNED_INTEGER + | FREELISTS freelists=UNSIGNED_INTEGER + | FREELIST GROUPS freelist_groups=UNSIGNED_INTEGER + | OPTIMAL (size_clause | NULL_ ) + | BUFFER_POOL (KEEP | RECYCLE | DEFAULT) + | FLASH_CACHE (KEEP | NONE | DEFAULT) + | ENCRYPT + )+ + ')' + ; + +deferred_segment_creation + : SEGMENT CREATION (IMMEDIATE | DEFERRED) + ; + +segment_attributes_clause + : ( physical_attributes_clause + | TABLESPACE tablespace_name=id_expression + | logging_clause + )+ + ; + +physical_properties + : deferred_segment_creation? segment_attributes_clause table_compression? + ; + +row_movement_clause + : (ENABLE | DISABLE)? ROW MOVEMENT + ; + +flashback_archive_clause + : FLASHBACK ARCHIVE flashback_archive=REGULAR_ID + | NO FLASHBACK ARCHIVE + ; + +log_grp + : UNSIGNED_INTEGER + ; + +supplemental_table_logging + : ADD SUPPLEMENTAL LOG (supplemental_log_grp_clause | supplemental_id_key_clause) + (',' SUPPLEMENTAL LOG (supplemental_log_grp_clause | supplemental_id_key_clause) )* + | DROP SUPPLEMENTAL LOG (supplemental_id_key_clause | GROUP log_grp) + (',' SUPPLEMENTAL LOG (supplemental_id_key_clause | GROUP log_grp) )* + ; + +supplemental_log_grp_clause + : GROUP log_grp '(' regular_id (NO LOG)? (',' regular_id (NO LOG)?)* ')' ALWAYS? + ; + +supplemental_id_key_clause + : DATA '('( ','? ( ALL + | PRIMARY KEY + | UNIQUE + | FOREIGN KEY + ) + )+ + ')' + COLUMNS + ; + +allocate_extent_clause + : ALLOCATE EXTENT + ( '(' ( SIZE size_clause + | DATAFILE datafile=CHAR_STRING + | INSTANCE inst_num=UNSIGNED_INTEGER + )+ + ')' + )? + ; + +deallocate_unused_clause + : DEALLOCATE UNUSED (KEEP size_clause)? + ; + +shrink_clause + : SHRINK SPACE_KEYWORD COMPACT? CASCADE? + ; + +records_per_block_clause + : (MINIMIZE | NOMINIMIZE)? RECORDS_PER_BLOCK + ; + +upgrade_table_clause + : UPGRADE (NOT? INCLUDING DATA) column_properties + ; + +drop_table + : DROP TABLE tableview_name PURGE? SEMICOLON + ; + +drop_view + : DROP VIEW tableview_name (CASCADE CONSTRAINT)? SEMICOLON + ; + +comment_on_column + : COMMENT ON COLUMN column_name IS quoted_string + ; + +enable_or_disable + : ENABLE + | DISABLE + ; +allow_or_disallow + : ALLOW + | DISALLOW + ; + +// Synonym DDL Clauses + +create_synonym + // Synonym's schema cannot be specified for public synonyms + : CREATE (OR REPLACE)? PUBLIC SYNONYM synonym_name FOR (schema_name PERIOD)? schema_object_name (AT_SIGN link_name)? + | CREATE (OR REPLACE)? SYNONYM (schema_name PERIOD)? synonym_name FOR (schema_name PERIOD)? schema_object_name (AT_SIGN link_name)? + ; + +comment_on_table + : COMMENT ON TABLE tableview_name IS quoted_string + ; + +alter_cluster + : ALTER CLUSTER cluster_name + ( physical_attributes_clause + | SIZE size_clause + | allocate_extent_clause + | deallocate_unused_clause + | cache_or_nocache + )+ + parallel_clause? + ';' + ; + +cache_or_nocache + : CACHE + | NOCACHE + ; + +database_name + : regular_id + ; + +alter_database + : ALTER DATABASE database_name? + ( startup_clauses + | recovery_clauses + | database_file_clauses + | logfile_clauses + | controlfile_clauses + | standby_database_clauses + | default_settings_clause + | instance_clauses + | security_clause + ) + ';' + ; + +startup_clauses + : MOUNT ((STANDBY | CLONE) DATABASE)? + | OPEN (READ WRITE)? resetlogs_or_noresetlogs? upgrade_or_downgrade? + | OPEN READ ONLY + ; + +resetlogs_or_noresetlogs + : RESETLOGS + | NORESETLOGS + ; + +upgrade_or_downgrade + : UPGRADE + | DOWNGRADE + ; + +recovery_clauses + : general_recovery + | managed_standby_recovery + | begin_or_end BACKUP + ; + +begin_or_end + : BEGIN + | END + ; + +general_recovery + : RECOVER AUTOMATIC? (FROM CHAR_STRING)? + ( (full_database_recovery | partial_database_recovery | LOGFILE CHAR_STRING )? + ((TEST | ALLOW UNSIGNED_INTEGER CORRUPTION | parallel_clause)+ )? + | CONTINUE DEFAULT? + | CANCEL + ) + ; + +//Need to come back to +full_database_recovery + : STANDBY? DATABASE + ((UNTIL (CANCEL |TIME CHAR_STRING | CHANGE UNSIGNED_INTEGER | CONSISTENT) + | USING BACKUP CONTROLFILE + )+ + )? + ; + +partial_database_recovery + : TABLESPACE tablespace (',' tablespace)* + | DATAFILE CHAR_STRING | filenumber (',' CHAR_STRING | filenumber)* + | partial_database_recovery_10g + ; + +partial_database_recovery_10g + : {isVersion10()}? STANDBY + ( TABLESPACE tablespace (',' tablespace)* + | DATAFILE CHAR_STRING | filenumber (',' CHAR_STRING | filenumber)* + ) + UNTIL (CONSISTENT WITH)? CONTROLFILE + ; + + +managed_standby_recovery + : RECOVER (MANAGED STANDBY DATABASE + ((USING CURRENT LOGFILE + | DISCONNECT (FROM SESSION)? + | NODELAY + | UNTIL CHANGE UNSIGNED_INTEGER + | UNTIL CONSISTENT + | parallel_clause + )+ + | FINISH + | CANCEL + )? + | TO LOGICAL STANDBY (db_name | KEEP IDENTITY) + ) + ; + +db_name + : regular_id + ; +database_file_clauses + : RENAME FILE filename (',' filename)* TO filename + | create_datafile_clause + | alter_datafile_clause + | alter_tempfile_clause + ; + +create_datafile_clause + : CREATE DATAFILE (filename | filenumber) (',' (filename | filenumber) )* + (AS (//TODO (','? file_specification)+ | + NEW) )? + ; + +alter_datafile_clause + : DATAFILE (filename|filenumber) (',' (filename|filenumber) )* + ( ONLINE + | OFFLINE (FOR DROP)? + | RESIZE size_clause + | autoextend_clause + | END BACKUP + ) + ; + +alter_tempfile_clause + : TEMPFILE (filename | filenumber) (',' (filename | filenumber) )* + ( RESIZE size_clause + | autoextend_clause + | DROP (INCLUDING DATAFILES) + | ONLINE + | OFFLINE + ) + ; + +logfile_clauses + : (ARCHIVELOG MANUAL? | NOARCHIVELOG) + | NO? FORCE LOGGING + | RENAME FILE filename (',' filename)* TO filename + | CLEAR UNARCHIVED? LOGFILE logfile_descriptor (',' logfile_descriptor)* (UNRECOVERABLE DATAFILE)? + | add_logfile_clauses + | drop_logfile_clauses + | switch_logfile_clause + | supplemental_db_logging + ; + +add_logfile_clauses + : ADD STANDBY? LOGFILE + ( +//TODO (INSTANCE CHAR_STRING | THREAD UNSIGNED_INTEGER)? + (log_file_group redo_log_file_spec)+ + | MEMBER filename REUSE? (',' filename REUSE?)* TO logfile_descriptor (',' logfile_descriptor)* + ) + ; + +log_file_group + :(','? (THREAD UNSIGNED_INTEGER)? GROUP UNSIGNED_INTEGER) + ; + +drop_logfile_clauses + : DROP STANDBY? + LOGFILE (logfile_descriptor (',' logfile_descriptor)* + | MEMBER filename (',' filename)* + ) + ; + +switch_logfile_clause + : SWITCH ALL LOGFILES TO BLOCKSIZE UNSIGNED_INTEGER + ; + +supplemental_db_logging + : add_or_drop + SUPPLEMENTAL LOG (DATA + | supplemental_id_key_clause + | supplemental_plsql_clause + ) + ; + +add_or_drop + : ADD + | DROP + ; + +supplemental_plsql_clause + : DATA FOR PROCEDURAL REPLICATION + ; + +logfile_descriptor + : GROUP UNSIGNED_INTEGER + | '(' filename (',' filename)* ')' + | filename + ; + +controlfile_clauses + : CREATE (LOGICAL | PHYSICAL)? STANDBY CONTROLFILE AS filename REUSE? + | BACKUP CONTROLFILE TO (filename REUSE? | trace_file_clause) + ; + +trace_file_clause + : TRACE (AS filename REUSE?)? (RESETLOGS|NORESETLOGS)? + ; + +standby_database_clauses + : ( activate_standby_db_clause + | maximize_standby_db_clause + | register_logfile_clause + | commit_switchover_clause + | start_standby_clause + | stop_standby_clause + | convert_database_clause + ) + parallel_clause? + ; + +activate_standby_db_clause + : ACTIVATE (PHYSICAL | LOGICAL)? STANDBY DATABASE (FINISH APPLY)? + ; + +maximize_standby_db_clause + : SET STANDBY DATABASE TO MAXIMIZE (PROTECTION | AVAILABILITY | PERFORMANCE) + ; + +register_logfile_clause + : REGISTER (OR REPLACE)? (PHYSICAL | LOGICAL) LOGFILE //TODO (','? file_specification)+ + //TODO (FOR logminer_session_name)? + ; + +commit_switchover_clause + : (PREPARE | COMMIT) TO SWITCHOVER + ((TO (((PHYSICAL | LOGICAL)? PRIMARY | PHYSICAL? STANDBY) + ((WITH | WITHOUT)? SESSION SHUTDOWN (WAIT | NOWAIT) )? + | LOGICAL STANDBY + ) + | LOGICAL STANDBY + ) + | CANCEL + )? + ; + +start_standby_clause + : START LOGICAL STANDBY APPLY IMMEDIATE? NODELAY? + ( NEW PRIMARY regular_id + | INITIAL scn_value=UNSIGNED_INTEGER? + | SKIP_ FAILED TRANSACTION + | FINISH + )? + ; + +stop_standby_clause + : (STOP | ABORT) LOGICAL STANDBY APPLY + ; + +convert_database_clause + : CONVERT TO (PHYSICAL | SNAPSHOT) STANDBY + ; + +default_settings_clause + : DEFAULT EDITION EQUALS_OP edition_name + | SET DEFAULT (BIGFILE | SMALLFILE) TABLESPACE + | DEFAULT TABLESPACE tablespace + | DEFAULT TEMPORARY TABLESPACE (tablespace | tablespace_group_name) + | RENAME GLOBAL_NAME TO database ('.' domain)+ + | ENABLE BLOCK CHANGE TRACKING (USING FILE filename REUSE?)? + | DISABLE BLOCK CHANGE TRACKING + | flashback_mode_clause + | set_time_zone_clause + ; + +set_time_zone_clause + : SET TIMEZONE EQUALS_OP CHAR_STRING + ; + +instance_clauses + : enable_or_disable INSTANCE CHAR_STRING + ; + +security_clause + : GUARD (ALL | STANDBY | NONE) + ; + +domain + : regular_id + ; + +database + : regular_id + ; + +edition_name + : regular_id + ; + +filenumber + : UNSIGNED_INTEGER + ; + +filename + : CHAR_STRING + ; + +alter_table + : ALTER TABLE tableview_name + ( + | alter_table_properties + | constraint_clauses + | column_clauses +//TODO | alter_table_partitioning +//TODO | alter_external_table + | move_table_clause + ) + ((enable_disable_clause | enable_or_disable (TABLE LOCK | ALL TRIGGERS) )+)? + ';' + ; + +alter_table_properties + : alter_table_properties_1 + | RENAME TO tableview_name + | shrink_clause + | READ ONLY + | READ WRITE + | REKEY CHAR_STRING + ; + +alter_table_properties_1 + : ( physical_attributes_clause + | logging_clause + | table_compression + | supplemental_table_logging + | allocate_extent_clause + | deallocate_unused_clause + | (CACHE | NOCACHE) + | RESULT_CACHE '(' MODE (DEFAULT | FORCE) ')' + | upgrade_table_clause + | records_per_block_clause + | parallel_clause + | row_movement_clause + | flashback_archive_clause + )+ + alter_iot_clauses? + ; + +alter_iot_clauses + : index_org_table_clause + | alter_overflow_clause + | alter_mapping_table_clause + | COALESCE + ; + +alter_mapping_table_clause + : MAPPING TABLE (allocate_extent_clause | deallocate_unused_clause) + ; + +alter_overflow_clause + : add_overflow_clause + | OVERFLOW (segment_attributes_clause | allocate_extent_clause | shrink_clause | deallocate_unused_clause)+ + ; + +add_overflow_clause + : ADD OVERFLOW segment_attributes_clause? ('(' PARTITION segment_attributes_clause? (',' PARTITION segment_attributes_clause?)* ')' )? + ; + + +enable_disable_clause + : (ENABLE | DISABLE) (VALIDATE | NOVALIDATE)? + (UNIQUE '(' column_name (',' column_name)* ')' + | PRIMARY KEY + | CONSTRAINT constraint_name + ) using_index_clause? exceptions_clause? + CASCADE? ((KEEP | DROP) INDEX)? + ; + +using_index_clause + : USING INDEX (index_name | '(' create_index ')' | index_attributes )? + ; + +index_attributes + : ( physical_attributes_clause + | logging_clause + | TABLESPACE (tablespace | DEFAULT) + | key_compression + | sort_or_nosort + | REVERSE + | visible_or_invisible + | parallel_clause + )+ + ; + +sort_or_nosort + : SORT + | NOSORT + ; + +exceptions_clause + : EXCEPTIONS INTO tableview_name + ; + +move_table_clause + : MOVE ONLINE? segment_attributes_clause? table_compression? index_org_table_clause? ((lob_storage_clause | varray_col_properties)+)? parallel_clause? + ; + +index_org_table_clause + : (mapping_table_clause | PCTTHRESHOLD UNSIGNED_INTEGER | key_compression) index_org_overflow_clause? + ; + +mapping_table_clause + : MAPPING TABLE + | NOMAPPING + ; + +key_compression + : NOCOMPRESS + | COMPRESS UNSIGNED_INTEGER + ; + +index_org_overflow_clause + : (INCLUDING column_name)? OVERFLOW segment_attributes_clause? + ; + +column_clauses + : add_modify_drop_column_clauses + | rename_column_clause + | modify_collection_retrieval + | modify_lob_storage_clause + ; + +modify_collection_retrieval + : MODIFY NESTED TABLE collection_item RETURN AS (LOCATOR | VALUE) + ; + +collection_item + : tableview_name + ; + +rename_column_clause + : RENAME COLUMN old_column_name TO new_column_name + ; + +old_column_name + : column_name + ; + +new_column_name + : column_name + ; + +add_modify_drop_column_clauses + : (add_column_clause + |modify_column_clauses + |drop_column_clause + )+ + ; + +drop_column_clause + : SET UNUSED (COLUMN column_name| ('(' column_name (',' column_name)* ')' )) (CASCADE CONSTRAINTS | INVALIDATE)* + | DROP (COLUMN column_name | '(' column_name (',' column_name)* ')' ) (CASCADE CONSTRAINTS | INVALIDATE)* (CHECKPOINT UNSIGNED_INTEGER)? + | DROP (UNUSED COLUMNS | COLUMNS CONTINUE) (CHECKPOINT UNSIGNED_INTEGER) + ; + +modify_column_clauses + : MODIFY ('(' modify_col_properties (',' modify_col_properties)* ')' + | modify_col_properties + | modify_col_substitutable + ) + ; + +modify_col_properties + : column_name datatype? (DEFAULT expression)? (ENCRYPT encryption_spec | DECRYPT)? inline_constraint* lob_storage_clause? //TODO alter_xmlschema_clause + ; + +modify_col_substitutable + : COLUMN column_name NOT? SUBSTITUTABLE AT ALL LEVELS FORCE? + ; + +add_column_clause + : ADD ('(' (column_definition | virtual_column_definition) (',' (column_definition + | virtual_column_definition) + )* + ')' + | ( column_definition | virtual_column_definition )) + column_properties? +//TODO (','? out_of_line_part_storage ) + ; + +alter_varray_col_properties + : MODIFY VARRAY varray_item '(' modify_lob_parameters ')' + ; + +varray_col_properties + : VARRAY varray_item ( substitutable_column_clause? varray_storage_clause + | substitutable_column_clause + ) + ; + +varray_storage_clause + : STORE AS (SECUREFILE|BASICFILE)? LOB ( lob_segname? '(' lob_storage_parameters ')' + | lob_segname + ) + ; + +lob_segname + : regular_id + ; + +lob_item + : regular_id + ; + +lob_storage_parameters + : TABLESPACE tablespace | (lob_parameters storage_clause? ) + | storage_clause + ; + +lob_storage_clause + : LOB ( '(' lob_item (',' lob_item)* ')' STORE AS ( (SECUREFILE|BASICFILE) | '(' lob_storage_parameters ')' )+ + | '(' lob_item ')' STORE AS ( (SECUREFILE | BASICFILE) | lob_segname | '(' lob_storage_parameters ')' )+ + ) + ; + +modify_lob_storage_clause + : MODIFY LOB '(' lob_item ')' '(' modify_lob_parameters ')' + ; + +modify_lob_parameters + : ( storage_clause + | (PCTVERSION | FREEPOOLS) UNSIGNED_INTEGER + | REBUILD FREEPOOLS + | lob_retention_clause + | lob_deduplicate_clause + | lob_compression_clause + | ENCRYPT encryption_spec + | DECRYPT + | CACHE + | (CACHE | NOCACHE | CACHE READS) logging_clause? + | allocate_extent_clause + | shrink_clause + | deallocate_unused_clause + )+ + ; + +lob_parameters + : ( (ENABLE | DISABLE) STORAGE IN ROW + | CHUNK UNSIGNED_INTEGER + | PCTVERSION UNSIGNED_INTEGER + | FREEPOOLS UNSIGNED_INTEGER + | lob_retention_clause + | lob_deduplicate_clause + | lob_compression_clause + | ENCRYPT encryption_spec + | DECRYPT + | (CACHE | NOCACHE | CACHE READS) logging_clause? + )+ + ; + +lob_deduplicate_clause + : DEDUPLICATE + | KEEP_DUPLICATES + ; + +lob_compression_clause + : NOCOMPRESS + | COMPRESS (HIGH | MEDIUM | LOW)? + ; + +lob_retention_clause + : RETENTION (MAX | MIN UNSIGNED_INTEGER | AUTO | NONE)? + ; + +encryption_spec + : (USING CHAR_STRING)? (IDENTIFIED BY REGULAR_ID)? CHAR_STRING? (NO? SALT)? + ; +tablespace + : regular_id + ; + +varray_item + : (id_expression '.')? (id_expression '.')? id_expression + ; + +column_properties + : object_type_col_properties + | nested_table_col_properties + | (varray_col_properties | lob_storage_clause) //TODO '(' ( ','? lob_partition_storage)+ ')' + | xmltype_column_properties + ; + +period_definition + : {this.isVersion12()}? PERIOD FOR column_name + ( '(' start_time_column ',' end_time_column ')' )? + ; + +start_time_column + : column_name + ; + +end_time_column + : column_name + ; + +column_definition + : column_name (datatype | type_name) + SORT? (DEFAULT expression)? (ENCRYPT (USING CHAR_STRING)? (IDENTIFIED BY regular_id)? CHAR_STRING? (NO? SALT)? )? (inline_constraint* | inline_ref_constraint) + ; + +virtual_column_definition + : column_name datatype? autogenerated_sequence_definition? + VIRTUAL? inline_constraint* + ; + +autogenerated_sequence_definition + : GENERATED (ALWAYS | BY DEFAULT (ON NULL_)?)? AS IDENTITY + ; + +out_of_line_part_storage + : PARTITION partition_name + ; + +nested_table_col_properties + : NESTED TABLE (nested_item | COLUMN_VALUE) substitutable_column_clause? (LOCAL | GLOBAL)? + STORE AS tableview_name ( '(' ( '(' object_properties ')' + | physical_properties + | column_properties + )+ + ')' + )? + (RETURN AS? (LOCATOR | VALUE) )? + ; + +nested_item + : regular_id + ; + +substitutable_column_clause + : ELEMENT? IS OF TYPE? '(' type_name ')' + | NOT? SUBSTITUTABLE AT ALL LEVELS + ; + +partition_name + : regular_id + ; + +supplemental_logging_props + : SUPPLEMENTAL LOG (supplemental_log_grp_clause | supplemental_id_key_clause) + ; + +column_or_attribute + : regular_id + ; + +object_type_col_properties + : COLUMN column=regular_id substitutable_column_clause + ; + +constraint_clauses + : ADD '(' (out_of_line_constraint* | out_of_line_ref_constraint) ')' + | ADD (out_of_line_constraint* | out_of_line_ref_constraint) + | MODIFY (CONSTRAINT constraint_name | PRIMARY KEY | UNIQUE '(' column_name (',' column_name)* ')') constraint_state CASCADE? + | RENAME CONSTRAINT old_constraint_name TO new_constraint_name + | drop_constraint_clause+ + ; + +old_constraint_name + : constraint_name + ; + +new_constraint_name + : constraint_name + ; + +drop_constraint_clause + : DROP drop_primary_key_or_unique_or_generic_clause + ; + +drop_primary_key_or_unique_or_generic_clause + : (PRIMARY KEY | UNIQUE '(' column_name (',' column_name)* ')') CASCADE? (KEEP | DROP)? + | CONSTRAINT constraint_name CASCADE? + ; + +add_constraint + : ADD (CONSTRAINT constraint_name)? add_constraint_clause (',' (CONSTRAINT constraint_name)? add_constraint_clause)+ + ; + +add_constraint_clause + : primary_key_clause + | foreign_key_clause + | unique_key_clause + | check_constraint + ; + +check_constraint + : CHECK '(' condition ')' DISABLE? + ; + +drop_constraint + : DROP CONSTRAINT constraint_name + ; + +enable_constraint + : ENABLE CONSTRAINT constraint_name + ; + +disable_constraint + : DISABLE CONSTRAINT constraint_name + ; + +foreign_key_clause + : FOREIGN KEY paren_column_list references_clause on_delete_clause? + ; + +references_clause + : REFERENCES tableview_name paren_column_list + ; + +on_delete_clause + : ON DELETE (CASCADE | SET NULL_) + ; + +unique_key_clause + : UNIQUE paren_column_list using_index_clause? + ; + +primary_key_clause + : PRIMARY KEY paren_column_list using_index_clause? + ; + +// Anonymous PL/SQL code block + +anonymous_block + : (DECLARE seq_of_declare_specs)? BEGIN seq_of_statements (EXCEPTION exception_handler+)? END SEMICOLON + ; + +// Common DDL Clauses + +invoker_rights_clause + : AUTHID (CURRENT_USER | DEFINER) + ; + +call_spec + : LANGUAGE (java_spec | c_spec) + ; + +// Call Spec Specific Clauses + +java_spec + : JAVA NAME CHAR_STRING + ; + +c_spec + : C_LETTER (NAME CHAR_STRING)? LIBRARY identifier c_agent_in_clause? (WITH CONTEXT)? c_parameters_clause? + ; + +c_agent_in_clause + : AGENT IN '(' expressions ')' + ; + +c_parameters_clause + : PARAMETERS '(' (expressions | '.' '.' '.') ')' + ; + +parameter + : parameter_name (IN | OUT | INOUT | NOCOPY)* type_spec? default_value_part? + ; + +default_value_part + : (ASSIGN_OP | DEFAULT) expression + ; + +// Elements Declarations + +seq_of_declare_specs + : declare_spec+ + ; + +declare_spec + : pragma_declaration + | variable_declaration + | subtype_declaration + | cursor_declaration + | exception_declaration + | type_declaration + | procedure_spec + | function_spec + | procedure_body + | function_body + ; + +// incorporates constant_declaration +variable_declaration + : identifier CONSTANT? type_spec (NOT NULL_)? default_value_part? ';' + ; + +subtype_declaration + : SUBTYPE identifier IS type_spec (RANGE expression '..' expression)? (NOT NULL_)? ';' + ; + +// cursor_declaration incorportates curscursor_body and cursor_spec + +cursor_declaration + : CURSOR identifier ('(' parameter_spec (',' parameter_spec)* ')' )? (RETURN type_spec)? (IS select_statement)? ';' + ; + +parameter_spec + : parameter_name (IN? type_spec)? default_value_part? + ; + +exception_declaration + : identifier EXCEPTION ';' + ; + +pragma_declaration + : PRAGMA (SERIALLY_REUSABLE + | AUTONOMOUS_TRANSACTION + | EXCEPTION_INIT '(' exception_name ',' numeric_negative ')' + | INLINE '(' id1=identifier ',' expression ')' + | RESTRICT_REFERENCES '(' (identifier | DEFAULT) (',' identifier)+ ')') ';' + ; + +// Record Declaration Specific Clauses + +// incorporates ref_cursor_type_definition + +record_type_def + : RECORD '(' field_spec (',' field_spec)* ')' + ; + +field_spec + : column_name type_spec? (NOT NULL_)? default_value_part? + ; + +ref_cursor_type_def + : REF CURSOR (RETURN type_spec)? + ; + +type_declaration + : TYPE identifier IS (table_type_def | varray_type_def | record_type_def | ref_cursor_type_def) ';' + ; + +table_type_def + : TABLE OF type_spec table_indexed_by_part? (NOT NULL_)? + ; + +table_indexed_by_part + : (idx1=INDEXED | idx2=INDEX) BY type_spec + ; + +varray_type_def + : (VARRAY | VARYING ARRAY) '(' expression ')' OF type_spec (NOT NULL_)? + ; + +// Statements + +seq_of_statements + : (statement (';' | EOF) | label_declaration)+ + ; + +label_declaration + : ltp1= '<' '<' label_name '>' '>' + ; + +statement + : body + | block + | assignment_statement + | continue_statement + | exit_statement + | goto_statement + | if_statement + | loop_statement + | forall_statement + | null_statement + | raise_statement + | return_statement + | case_statement + | sql_statement + | function_call + | pipe_row_statement + | procedure_call + ; + +swallow_to_semi + : ~';'+ + ; + +assignment_statement + : (general_element | bind_variable) ASSIGN_OP expression + ; + +continue_statement + : CONTINUE label_name? (WHEN condition)? + ; + +exit_statement + : EXIT label_name? (WHEN condition)? + ; + +goto_statement + : GOTO label_name + ; + +if_statement + : IF condition THEN seq_of_statements elsif_part* else_part? END IF + ; + +elsif_part + : ELSIF condition THEN seq_of_statements + ; + +else_part + : ELSE seq_of_statements + ; + +loop_statement + : label_declaration? (WHILE condition | FOR cursor_loop_param)? LOOP seq_of_statements END LOOP label_name? + ; + +// Loop Specific Clause + +cursor_loop_param + : index_name IN REVERSE? lower_bound range_separator='..' upper_bound + | record_name IN (cursor_name ('(' expressions? ')')? | '(' select_statement ')') + ; + +forall_statement + : FORALL index_name IN bounds_clause sql_statement (SAVE EXCEPTIONS)? + ; + +bounds_clause + : lower_bound '..' upper_bound + | INDICES OF collection_name between_bound? + | VALUES OF index_name + ; + +between_bound + : BETWEEN lower_bound AND upper_bound + ; + +lower_bound + : concatenation + ; + +upper_bound + : concatenation + ; + +null_statement + : NULL_ + ; + +raise_statement + : RAISE exception_name? + ; + +return_statement + : RETURN expression? + ; + +function_call + : CALL? routine_name function_argument? + ; + +procedure_call + : routine_name function_argument? + ; + +pipe_row_statement + : PIPE ROW '(' expression ')'; + +body + : BEGIN seq_of_statements (EXCEPTION exception_handler+)? END label_name? + ; + +// Body Specific Clause + +exception_handler + : WHEN exception_name (OR exception_name)* THEN seq_of_statements + ; + +trigger_block + : (DECLARE? declare_spec+)? body + ; + +block + : DECLARE? declare_spec+ body + ; + +// SQL Statements + +sql_statement + : execute_immediate + | data_manipulation_language_statements + | cursor_manipulation_statements + | transaction_control_statements + ; + +execute_immediate + : EXECUTE IMMEDIATE expression (into_clause using_clause? | using_clause dynamic_returning_clause? | dynamic_returning_clause)? + ; + +// Execute Immediate Specific Clause + +dynamic_returning_clause + : (RETURNING | RETURN) into_clause + ; + +// DML Statements + +data_manipulation_language_statements + : merge_statement + | lock_table_statement + | select_statement + | update_statement + | delete_statement + | insert_statement + | explain_statement + ; + +// Cursor Manipulation Statements + +cursor_manipulation_statements + : close_statement + | open_statement + | fetch_statement + | open_for_statement + ; + +close_statement + : CLOSE cursor_name + ; + +open_statement + : OPEN cursor_name ('(' expressions? ')')? + ; + +fetch_statement + : FETCH cursor_name (it1=INTO variable_name (',' variable_name)* | BULK COLLECT INTO variable_name (',' variable_name)*) + ; + +open_for_statement + : OPEN variable_name FOR (select_statement | expression) using_clause? + ; + +// Transaction Control SQL Statements + +transaction_control_statements + : set_transaction_command + | set_constraint_command + | commit_statement + | rollback_statement + | savepoint_statement + ; + +set_transaction_command + : SET TRANSACTION + (READ (ONLY | WRITE) | ISOLATION LEVEL (SERIALIZABLE | READ COMMITTED) | USE ROLLBACK SEGMENT rollback_segment_name)? + (NAME quoted_string)? + ; + +set_constraint_command + : SET (CONSTRAINT | CONSTRAINTS) (ALL | constraint_name (',' constraint_name)*) (IMMEDIATE | DEFERRED) + ; + +commit_statement + : COMMIT WORK? + (COMMENT expression | FORCE (CORRUPT_XID expression | CORRUPT_XID_ALL | expression (',' expression)?))? + write_clause? + ; + +write_clause + : WRITE (WAIT | NOWAIT)? (IMMEDIATE | BATCH)? + ; + +rollback_statement + : ROLLBACK WORK? (TO SAVEPOINT? savepoint_name | FORCE quoted_string)? + ; + +savepoint_statement + : SAVEPOINT savepoint_name + ; + +// Dml + +/* TODO +//SHOULD BE OVERRIDEN! +compilation_unit + : seq_of_statements* EOF + ; + +//SHOULD BE OVERRIDEN! +seq_of_statements + : select_statement + | update_statement + | delete_statement + | insert_statement + | lock_table_statement + | merge_statement + | explain_statement +// | case_statement[true] + ; +*/ + +explain_statement + : EXPLAIN PLAN (SET STATEMENT_ID '=' quoted_string)? (INTO tableview_name)? + FOR (select_statement | update_statement | delete_statement | insert_statement | merge_statement) + ; + +select_only_statement + : subquery_factoring_clause? subquery + ; + +select_statement + : select_only_statement (for_update_clause | order_by_clause | offset_clause | fetch_clause)* + ; + +// Select Specific Clauses + +subquery_factoring_clause + : WITH factoring_element (',' factoring_element)* + ; + +factoring_element + : query_name paren_column_list? AS '(' subquery order_by_clause? ')' + search_clause? cycle_clause? + ; + +search_clause + : SEARCH (DEPTH | BREADTH) FIRST BY column_name ASC? DESC? (NULLS FIRST)? (NULLS LAST)? + (',' column_name ASC? DESC? (NULLS FIRST)? (NULLS LAST)?)* SET column_name + ; + +cycle_clause + : CYCLE column_list SET column_name TO expression DEFAULT expression + ; + +subquery + : subquery_basic_elements subquery_operation_part* + ; + +subquery_basic_elements + : query_block + | '(' subquery ')' + ; + +subquery_operation_part + : (UNION ALL? | INTERSECT | MINUS) subquery_basic_elements + ; + +query_block + : SELECT (DISTINCT | UNIQUE | ALL)? selected_list + into_clause? from_clause where_clause? hierarchical_query_clause? group_by_clause? model_clause? order_by_clause? + ; + +selected_list + : '*' + | select_list_elements (',' select_list_elements)* + ; + +from_clause + : FROM table_ref_list + ; + +select_list_elements + : tableview_name '.' ASTERISK + | expression column_alias? + ; + +table_ref_list + : table_ref (',' table_ref)* + ; + +// NOTE to PIVOT clause +// according the SQL reference this should not be possible +// according to he reality it is. Here we probably apply pivot/unpivot onto whole join clause +// eventhough it is not enclosed in parenthesis. See pivot examples 09,10,11 + +table_ref + : table_ref_aux join_clause* (pivot_clause | unpivot_clause)? + ; + +table_ref_aux + : table_ref_aux_internal flashback_query_clause* (/*{isTableAlias()}?*/ table_alias)? + ; + +table_ref_aux_internal + : dml_table_expression_clause (pivot_clause | unpivot_clause)? # table_ref_aux_internal_one + | '(' table_ref subquery_operation_part* ')' (pivot_clause | unpivot_clause)? # table_ref_aux_internal_two + | ONLY '(' dml_table_expression_clause ')' # table_ref_aux_internal_three + ; + +join_clause + : query_partition_clause? (CROSS | NATURAL)? (INNER | outer_join_type)? + JOIN table_ref_aux query_partition_clause? (join_on_part | join_using_part)* + ; + +join_on_part + : ON condition + ; + +join_using_part + : USING paren_column_list + ; + +outer_join_type + : (FULL | LEFT | RIGHT) OUTER? + ; + +query_partition_clause + : PARTITION BY (('(' (subquery | expressions)? ')') | expressions) + ; + +flashback_query_clause + : VERSIONS BETWEEN (SCN | TIMESTAMP) expression + | AS OF (SCN | TIMESTAMP | SNAPSHOT) expression + ; + +pivot_clause + : PIVOT XML? '(' pivot_element (',' pivot_element)* pivot_for_clause pivot_in_clause ')' + ; + +pivot_element + : aggregate_function_name '(' expression ')' column_alias? + ; + +pivot_for_clause + : FOR (column_name | paren_column_list) + ; + +pivot_in_clause + : IN '(' (subquery | ANY (',' ANY)* | pivot_in_clause_element (',' pivot_in_clause_element)*) ')' + ; + +pivot_in_clause_element + : pivot_in_clause_elements column_alias? + ; + +pivot_in_clause_elements + : expression + | '(' expressions? ')' + ; + +unpivot_clause + : UNPIVOT ((INCLUDE | EXCLUDE) NULLS)? + '(' (column_name | paren_column_list) pivot_for_clause unpivot_in_clause ')' + ; + +unpivot_in_clause + : IN '(' unpivot_in_elements (',' unpivot_in_elements)* ')' + ; + +unpivot_in_elements + : (column_name | paren_column_list) + (AS (constant | '(' constant (',' constant)* ')'))? + ; + +hierarchical_query_clause + : CONNECT BY NOCYCLE? condition start_part? + | start_part CONNECT BY NOCYCLE? condition + ; + +start_part + : START WITH condition + ; + +group_by_clause + : GROUP BY group_by_elements (',' group_by_elements)* having_clause? + | having_clause (GROUP BY group_by_elements (',' group_by_elements)*)? + ; + +group_by_elements + : grouping_sets_clause + | rollup_cube_clause + | expression + ; + +rollup_cube_clause + : (ROLLUP | CUBE) '(' grouping_sets_elements (',' grouping_sets_elements)* ')' + ; + +grouping_sets_clause + : GROUPING SETS '(' grouping_sets_elements (',' grouping_sets_elements)* ')' + ; + +grouping_sets_elements + : rollup_cube_clause + | '(' expressions? ')' + | expression + ; + +having_clause + : HAVING condition + ; + +model_clause + : MODEL cell_reference_options* return_rows_clause? reference_model* main_model + ; + +cell_reference_options + : (IGNORE | KEEP) NAV + | UNIQUE (DIMENSION | SINGLE REFERENCE) + ; + +return_rows_clause + : RETURN (UPDATED | ALL) ROWS + ; + +reference_model + : REFERENCE reference_model_name ON '(' subquery ')' model_column_clauses cell_reference_options* + ; + +main_model + : (MAIN main_model_name)? model_column_clauses cell_reference_options* model_rules_clause + ; + +model_column_clauses + : model_column_partition_part? DIMENSION BY model_column_list MEASURES model_column_list + ; + +model_column_partition_part + : PARTITION BY model_column_list + ; + +model_column_list + : '(' model_column (',' model_column)* ')' + ; + +model_column + : (expression | query_block) column_alias? + ; + +model_rules_clause + : model_rules_part? '(' (model_rules_element (',' model_rules_element)*)? ')' + ; + +model_rules_part + : RULES (UPDATE | UPSERT ALL?)? ((AUTOMATIC | SEQUENTIAL) ORDER)? model_iterate_clause? + ; + +model_rules_element + : (UPDATE | UPSERT ALL?)? cell_assignment order_by_clause? '=' expression + ; + +cell_assignment + : model_expression + ; + +model_iterate_clause + : ITERATE '(' expression ')' until_part? + ; + +until_part + : UNTIL '(' condition ')' + ; + +order_by_clause + : ORDER SIBLINGS? BY order_by_elements (',' order_by_elements)* + ; + +order_by_elements + : expression (ASC | DESC)? (NULLS (FIRST | LAST))? + ; + +offset_clause + : OFFSET expression (ROW | ROWS) + ; + +fetch_clause + : FETCH (FIRST | NEXT) (expression PERCENT_KEYWORD?)? (ROW | ROWS) (ONLY | WITH TIES) + ; + +for_update_clause + : FOR UPDATE for_update_of_part? for_update_options? + ; + +for_update_of_part + : OF column_list + ; + +for_update_options + : SKIP_ LOCKED + | NOWAIT + | WAIT expression + ; + +update_statement + : UPDATE general_table_ref update_set_clause where_clause? static_returning_clause? error_logging_clause? + ; + +// Update Specific Clauses + +update_set_clause + : SET + (column_based_update_set_clause (',' column_based_update_set_clause)* | VALUE '(' identifier ')' '=' expression) + ; + +column_based_update_set_clause + : column_name '=' expression + | paren_column_list '=' subquery + ; + +delete_statement + : DELETE FROM? general_table_ref where_clause? static_returning_clause? error_logging_clause? + ; + +insert_statement + : INSERT (single_table_insert | multi_table_insert) + ; + +// Insert Specific Clauses + +single_table_insert + : insert_into_clause (values_clause static_returning_clause? | select_statement) error_logging_clause? + ; + +multi_table_insert + : (ALL multi_table_element+ | conditional_insert_clause) select_statement + ; + +multi_table_element + : insert_into_clause values_clause? error_logging_clause? + ; + +conditional_insert_clause + : (ALL | FIRST)? conditional_insert_when_part+ conditional_insert_else_part? + ; + +conditional_insert_when_part + : WHEN condition THEN multi_table_element+ + ; + +conditional_insert_else_part + : ELSE multi_table_element+ + ; + +insert_into_clause + : INTO general_table_ref paren_column_list? + ; + +values_clause + : VALUES '(' expressions? ')' + ; + +merge_statement + : MERGE INTO tableview_name table_alias? USING selected_tableview ON '(' condition ')' + (merge_update_clause merge_insert_clause? | merge_insert_clause merge_update_clause?)? + error_logging_clause? + ; + +// Merge Specific Clauses + +merge_update_clause + : WHEN MATCHED THEN UPDATE SET merge_element (',' merge_element)* where_clause? merge_update_delete_part? + ; + +merge_element + : column_name '=' expression + ; + +merge_update_delete_part + : DELETE where_clause + ; + +merge_insert_clause + : WHEN NOT MATCHED THEN INSERT paren_column_list? + VALUES '(' expressions? ')' where_clause? + ; + +selected_tableview + : (tableview_name | '(' select_statement ')') table_alias? + ; + +lock_table_statement + : LOCK TABLE lock_table_element (',' lock_table_element)* IN lock_mode MODE wait_nowait_part? + ; + +wait_nowait_part + : WAIT expression + | NOWAIT + ; + +// Lock Specific Clauses + +lock_table_element + : tableview_name partition_extension_clause? + ; + +lock_mode + : ROW SHARE + | ROW EXCLUSIVE + | SHARE UPDATE? + | SHARE ROW EXCLUSIVE + | EXCLUSIVE + ; + +// Common DDL Clauses + +general_table_ref + : (dml_table_expression_clause | ONLY '(' dml_table_expression_clause ')') table_alias? + ; + +static_returning_clause + : (RETURNING | RETURN) expressions into_clause + ; + +error_logging_clause + : LOG ERRORS error_logging_into_part? expression? error_logging_reject_part? + ; + +error_logging_into_part + : INTO tableview_name + ; + +error_logging_reject_part + : REJECT LIMIT (UNLIMITED | expression) + ; + +dml_table_expression_clause + : table_collection_expression + | '(' select_statement subquery_restriction_clause? ')' + | tableview_name sample_clause? + ; + +table_collection_expression + : (TABLE | THE) ('(' subquery ')' | '(' expression ')' outer_join_sign?) + ; + +subquery_restriction_clause + : WITH (READ ONLY | CHECK OPTION (CONSTRAINT constraint_name)?) + ; + +sample_clause + : SAMPLE BLOCK? '(' expression (',' expression)? ')' seed_part? + ; + +seed_part + : SEED '(' expression ')' + ; + +// Expression & Condition + +condition + : expression + ; + +expressions + : expression (',' expression)* + ; + +expression + : cursor_expression + | logical_expression + ; + +cursor_expression + : CURSOR '(' subquery ')' + ; + +logical_expression + : unary_logical_expression + | logical_expression AND logical_expression + | logical_expression OR logical_expression + ; + +unary_logical_expression + : NOT? multiset_expression (IS NOT? logical_operation)* + ; + +logical_operation: + (NULL_ + | NAN | PRESENT + | INFINITE | A_LETTER SET | EMPTY + | OF TYPE? '(' ONLY? type_spec (',' type_spec)* ')') + ; + +multiset_expression + : relational_expression (multiset_type=(MEMBER | SUBMULTISET) OF? concatenation)? + ; + +relational_expression + : relational_expression relational_operator relational_expression + | compound_expression + ; + +compound_expression + : concatenation + (NOT? ( IN in_elements + | BETWEEN between_elements + | like_type=(LIKE | LIKEC | LIKE2 | LIKE4) concatenation (ESCAPE concatenation)?))? + ; + +relational_operator + : '=' + | (NOT_EQUAL_OP | '<' '>' | '!' '=' | '^' '=') + | ('<' | '>') '='? + ; + +in_elements + : '(' subquery ')' + | '(' concatenation (',' concatenation)* ')' + | constant + | bind_variable + | general_element + ; + +between_elements + : concatenation AND concatenation + ; + +concatenation + : model_expression + (AT (LOCAL | TIME ZONE concatenation) | interval_expression)? + | concatenation op=(ASTERISK | SOLIDUS) concatenation + | concatenation op=(PLUS_SIGN | MINUS_SIGN) concatenation + | concatenation BAR BAR concatenation + ; + +interval_expression + : DAY ('(' concatenation ')')? TO SECOND ('(' concatenation ')')? + | YEAR ('(' concatenation ')')? TO MONTH + ; + +model_expression + : unary_expression ('[' model_expression_element ']')? + ; + +model_expression_element + : (ANY | expression) (',' (ANY | expression))* + | single_column_for_loop (',' single_column_for_loop)* + | multi_column_for_loop + ; + +single_column_for_loop + : FOR column_name + ( IN '(' expressions? ')' + | (LIKE expression)? FROM fromExpr=expression TO toExpr=expression + action_type=(INCREMENT | DECREMENT) action_expr=expression) + ; + +multi_column_for_loop + : FOR paren_column_list + IN '(' (subquery | '(' expressions? ')') ')' + ; + +unary_expression + : ('-' | '+') unary_expression + | PRIOR unary_expression + | CONNECT_BY_ROOT unary_expression + | /*TODO {input.LT(1).getText().equalsIgnoreCase("new") && !input.LT(2).getText().equals(".")}?*/ NEW unary_expression + | DISTINCT unary_expression + | ALL unary_expression + | /*TODO{(input.LA(1) == CASE || input.LA(2) == CASE)}?*/ case_statement/*[false]*/ + | quantified_expression + | standard_function + | atom + ; + +case_statement /*TODO [boolean isStatementParameter] +TODO scope { + boolean isStatement; +} +@init {$case_statement::isStatement = $isStatementParameter;}*/ + : searched_case_statement + | simple_case_statement + ; + +// CASE + +simple_case_statement + : label_name? ck1=CASE expression simple_case_when_part+ case_else_part? END CASE? label_name? + ; + +simple_case_when_part + : WHEN expression THEN (/*TODO{$case_statement::isStatement}?*/ seq_of_statements | expression) + ; + +searched_case_statement + : label_name? ck1=CASE searched_case_when_part+ case_else_part? END CASE? label_name? + ; + +searched_case_when_part + : WHEN expression THEN (/*TODO{$case_statement::isStatement}?*/ seq_of_statements | expression) + ; + +case_else_part + : ELSE (/*{$case_statement::isStatement}?*/ seq_of_statements | expression) + ; + +atom + : table_element outer_join_sign + | bind_variable + | constant + | general_element + | '(' subquery ')' subquery_operation_part* + | '(' expressions ')' + ; + +quantified_expression + : (SOME | EXISTS | ALL | ANY) ('(' subquery ')' | '(' expression ')') + ; + +string_function + : SUBSTR '(' expression ',' expression (',' expression)? ')' + | TO_CHAR '(' (table_element | standard_function | expression) + (',' quoted_string)? (',' quoted_string)? ')' + | DECODE '(' expressions ')' + | CHR '(' concatenation USING NCHAR_CS ')' + | NVL '(' expression ',' expression ')' + | TRIM '(' ((LEADING | TRAILING | BOTH)? quoted_string? FROM)? concatenation ')' + | TO_DATE '(' expression (',' quoted_string)? ')' + ; + +standard_function + : string_function + | numeric_function_wrapper + | other_function + ; + +literal + : CHAR_STRING + | string_function + | numeric + | MAXVALUE + ; + +numeric_function_wrapper + : numeric_function (single_column_for_loop | multi_column_for_loop)? + ; + +numeric_function + : SUM '(' (DISTINCT | ALL)? expression ')' + | COUNT '(' ( ASTERISK | ((DISTINCT | UNIQUE | ALL)? concatenation)? ) ')' over_clause? + | ROUND '(' expression (',' UNSIGNED_INTEGER)? ')' + | AVG '(' (DISTINCT | ALL)? expression ')' + | MAX '(' (DISTINCT | ALL)? expression ')' + | LEAST '(' expressions ')' + | GREATEST '(' expressions ')' + ; + +other_function + : over_clause_keyword function_argument_analytic over_clause? + | /*TODO stantard_function_enabling_using*/ regular_id function_argument_modeling using_clause? + | COUNT '(' ( ASTERISK | (DISTINCT | UNIQUE | ALL)? concatenation) ')' over_clause? + | (CAST | XMLCAST) '(' (MULTISET '(' subquery ')' | concatenation) AS type_spec ')' + | COALESCE '(' table_element (',' (numeric | quoted_string))? ')' + | COLLECT '(' (DISTINCT | UNIQUE)? concatenation collect_order_by_part? ')' + | within_or_over_clause_keyword function_argument within_or_over_part+ + | cursor_name ( PERCENT_ISOPEN | PERCENT_FOUND | PERCENT_NOTFOUND | PERCENT_ROWCOUNT ) + | DECOMPOSE '(' concatenation (CANONICAL | COMPATIBILITY)? ')' + | EXTRACT '(' regular_id FROM concatenation ')' + | (FIRST_VALUE | LAST_VALUE) function_argument_analytic respect_or_ignore_nulls? over_clause + | standard_prediction_function_keyword + '(' expressions cost_matrix_clause? using_clause? ')' + | TRANSLATE '(' expression (USING (CHAR_CS | NCHAR_CS))? (',' expression)* ')' + | TREAT '(' expression AS REF? type_spec ')' + | TRIM '(' ((LEADING | TRAILING | BOTH)? quoted_string? FROM)? concatenation ')' + | XMLAGG '(' expression order_by_clause? ')' ('.' general_element_part)? + | (XMLCOLATTVAL | XMLFOREST) + '(' xml_multiuse_expression_element (',' xml_multiuse_expression_element)* ')' ('.' general_element_part)? + | XMLELEMENT + '(' (ENTITYESCAPING | NOENTITYESCAPING)? (NAME | EVALNAME)? expression + (/*TODO{input.LT(2).getText().equalsIgnoreCase("xmlattributes")}?*/ ',' xml_attributes_clause)? + (',' expression column_alias?)* ')' ('.' general_element_part)? + | XMLEXISTS '(' expression xml_passing_clause? ')' + | XMLPARSE '(' (DOCUMENT | CONTENT) concatenation WELLFORMED? ')' ('.' general_element_part)? + | XMLPI + '(' (NAME identifier | EVALNAME concatenation) (',' concatenation)? ')' ('.' general_element_part)? + | XMLQUERY + '(' concatenation xml_passing_clause? RETURNING CONTENT (NULL_ ON EMPTY)? ')' ('.' general_element_part)? + | XMLROOT + '(' concatenation (',' xmlroot_param_version_part)? (',' xmlroot_param_standalone_part)? ')' ('.' general_element_part)? + | XMLSERIALIZE + '(' (DOCUMENT | CONTENT) concatenation (AS type_spec)? + xmlserialize_param_enconding_part? xmlserialize_param_version_part? xmlserialize_param_ident_part? ((HIDE | SHOW) DEFAULTS)? ')' + ('.' general_element_part)? + | xmltable + ; + +over_clause_keyword + : AVG + | CORR + | LAG + | LEAD + | MAX + | MEDIAN + | MIN + | NTILE + | RATIO_TO_REPORT + | ROW_NUMBER + | SUM + | VARIANCE + | REGR_ + | STDDEV + | VAR_ + | COVAR_ + ; + +within_or_over_clause_keyword + : CUME_DIST + | DENSE_RANK + | LISTAGG + | PERCENT_RANK + | PERCENTILE_CONT + | PERCENTILE_DISC + | RANK + ; + +standard_prediction_function_keyword + : PREDICTION + | PREDICTION_BOUNDS + | PREDICTION_COST + | PREDICTION_DETAILS + | PREDICTION_PROBABILITY + | PREDICTION_SET + ; + +over_clause + : OVER '(' query_partition_clause? (order_by_clause windowing_clause?)? ')' + ; + +windowing_clause + : windowing_type + (BETWEEN windowing_elements AND windowing_elements | windowing_elements) + ; + +windowing_type + : ROWS + | RANGE + ; + +windowing_elements + : UNBOUNDED PRECEDING + | CURRENT ROW + | concatenation (PRECEDING | FOLLOWING) + ; + +using_clause + : USING (ASTERISK | using_element (',' using_element)*) + ; + +using_element + : (IN OUT? | OUT)? select_list_elements + ; + +collect_order_by_part + : ORDER BY concatenation + ; + +within_or_over_part + : WITHIN GROUP '(' order_by_clause ')' + | over_clause + ; + +cost_matrix_clause + : COST (MODEL AUTO? | '(' cost_class_name (',' cost_class_name)* ')' VALUES '(' expressions? ')') + ; + +xml_passing_clause + : PASSING (BY VALUE)? expression column_alias? (',' expression column_alias?)* + ; + +xml_attributes_clause + : XMLATTRIBUTES + '(' (ENTITYESCAPING | NOENTITYESCAPING)? (SCHEMACHECK | NOSCHEMACHECK)? + xml_multiuse_expression_element (',' xml_multiuse_expression_element)* ')' + ; + +xml_namespaces_clause + : XMLNAMESPACES + '(' (concatenation column_alias)? (',' concatenation column_alias)* xml_general_default_part? ')' + ; + +xml_table_column + : xml_column_name + (FOR ORDINALITY | type_spec (PATH concatenation)? xml_general_default_part?) + ; + +xml_general_default_part + : DEFAULT concatenation + ; + +xml_multiuse_expression_element + : expression (AS (id_expression | EVALNAME concatenation))? + ; + +xmlroot_param_version_part + : VERSION (NO VALUE | expression) + ; + +xmlroot_param_standalone_part + : STANDALONE (YES | NO VALUE?) + ; + +xmlserialize_param_enconding_part + : ENCODING concatenation + ; + +xmlserialize_param_version_part + : VERSION concatenation + ; + +xmlserialize_param_ident_part + : NO INDENT + | INDENT (SIZE '=' concatenation)? + ; + +// SqlPlus + +sql_plus_command + : '/' + | EXIT + | PROMPT_MESSAGE + | SHOW (ERR | ERRORS) + | START_CMD + | whenever_command + | set_command + ; + +whenever_command + : WHENEVER (SQLERROR | OSERROR) + ( EXIT (SUCCESS | FAILURE | WARNING | variable_name) (COMMIT | ROLLBACK) + | CONTINUE (COMMIT | ROLLBACK | NONE)) + ; + +set_command + : SET regular_id (CHAR_STRING | ON | OFF | /*EXACT_NUM_LIT*/numeric | regular_id) + ; + +// Common + +partition_extension_clause + : (SUBPARTITION | PARTITION) FOR? '(' expressions? ')' + ; + +column_alias + : AS? (identifier | quoted_string) + | AS + ; + +table_alias + : identifier + | quoted_string + ; + +where_clause + : WHERE (CURRENT OF cursor_name | expression) + ; + +into_clause + : (BULK COLLECT)? INTO variable_name (',' variable_name)* + ; + +// Common Named Elements + +xml_column_name + : identifier + | quoted_string + ; + +cost_class_name + : identifier + ; + +attribute_name + : identifier + ; + +savepoint_name + : identifier + ; + +rollback_segment_name + : identifier + ; + +table_var_name + : identifier + ; + +schema_name + : identifier + ; + +routine_name + : identifier ('.' id_expression)* ('@' link_name)? + ; + +package_name + : identifier + ; + +implementation_type_name + : identifier ('.' id_expression)? + ; + +parameter_name + : identifier + ; + +reference_model_name + : identifier + ; + +main_model_name + : identifier + ; + +container_tableview_name + : identifier ('.' id_expression)? + ; + +aggregate_function_name + : identifier ('.' id_expression)* + ; + +query_name + : identifier + ; + +grantee_name + : id_expression identified_by? + ; + +role_name + : id_expression + | CONNECT + ; + +constraint_name + : identifier ('.' id_expression)* ('@' link_name)? + ; + +label_name + : id_expression + ; + +type_name + : id_expression ('.' id_expression)* + ; + +sequence_name + : id_expression ('.' id_expression)* + ; + +exception_name + : identifier ('.' id_expression)* + ; + +function_name + : identifier ('.' id_expression)? + ; + +procedure_name + : identifier ('.' id_expression)? + ; + +trigger_name + : identifier ('.' id_expression)? + ; + +variable_name + : (INTRODUCER char_set_name)? id_expression ('.' id_expression)? + | bind_variable + ; + +index_name + : identifier ('.' id_expression)? + ; + +cursor_name + : general_element + | bind_variable + ; + +record_name + : identifier + | bind_variable + ; + +collection_name + : identifier ('.' id_expression)? + ; + +link_name + : identifier + ; + +column_name + : identifier ('.' id_expression)* + ; + +tableview_name + : identifier ('.' id_expression)? + (AT_SIGN link_name | /*TODO{!(input.LA(2) == BY)}?*/ partition_extension_clause)? + | xmltable outer_join_sign? + ; + +xmltable + : XMLTABLE '(' (xml_namespaces_clause ',')? concatenation xml_passing_clause? (COLUMNS xml_table_column (',' xml_table_column)*)? ')' ('.' general_element_part)? + ; + +char_set_name + : id_expression ('.' id_expression)* + ; + +synonym_name + : identifier + ; + +// Represents a valid DB object name in DDL commands which are valid for several DB (or schema) objects. +// For instance, create synonym ... for , or rename to . +// Both are valid for sequences, tables, views, etc. +schema_object_name + : id_expression + ; + +dir_object_name + : id_expression + ; + +user_object_name + : id_expression + ; + +grant_object_name + : tableview_name + | USER user_object_name (',' user_object_name)* + | DIRECTORY dir_object_name + | EDITION schema_object_name + | MINING MODEL schema_object_name + | JAVA (SOURCE | RESOURCE) schema_object_name + | SQL TRANSLATION PROFILE schema_object_name + ; + +column_list + : column_name (',' column_name)* + ; + +paren_column_list + : LEFT_PAREN column_list RIGHT_PAREN + ; + +// PL/SQL Specs + +// NOTE: In reality this applies to aggregate functions only +keep_clause + : KEEP '(' DENSE_RANK (FIRST | LAST) order_by_clause ')' over_clause? + ; + +function_argument + : '(' (argument (',' argument)*)? ')' keep_clause? + ; + +function_argument_analytic + : '(' (argument respect_or_ignore_nulls? (',' argument respect_or_ignore_nulls?)*)? ')' keep_clause? + ; + +function_argument_modeling + : '(' column_name (',' (numeric | NULL_) (',' (numeric | NULL_))?)? + USING (tableview_name '.' ASTERISK | ASTERISK | expression column_alias? (',' expression column_alias?)*) + ')' keep_clause? + ; + +respect_or_ignore_nulls + : (RESPECT | IGNORE) NULLS + ; + +argument + : (identifier '=' '>')? expression + ; + +type_spec + : datatype + | REF? type_name (PERCENT_ROWTYPE | PERCENT_TYPE)? + ; + +datatype + : native_datatype_element precision_part? (WITH LOCAL? TIME ZONE | CHARACTER SET char_set_name)? + | INTERVAL (YEAR | DAY) ('(' expression ')')? TO (MONTH | SECOND) ('(' expression ')')? + ; + +precision_part + : '(' (numeric | ASTERISK) (',' numeric)? (CHAR | BYTE)? ')' + ; + +native_datatype_element + : BINARY_INTEGER + | PLS_INTEGER + | NATURAL + | BINARY_FLOAT + | BINARY_DOUBLE + | NATURALN + | POSITIVE + | POSITIVEN + | SIGNTYPE + | SIMPLE_INTEGER + | NVARCHAR2 + | DEC + | INTEGER + | INT + | NUMERIC + | SMALLINT + | NUMBER + | DECIMAL + | DOUBLE PRECISION? + | FLOAT + | REAL + | NCHAR + | LONG RAW? + | CHAR + | CHARACTER + | VARCHAR2 + | VARCHAR + | STRING + | RAW + | BOOLEAN + | DATE + | ROWID + | UROWID + | YEAR + | MONTH + | DAY + | HOUR + | MINUTE + | SECOND + | TIMEZONE_HOUR + | TIMEZONE_MINUTE + | TIMEZONE_REGION + | TIMEZONE_ABBR + | TIMESTAMP + | TIMESTAMP_UNCONSTRAINED + | TIMESTAMP_TZ_UNCONSTRAINED + | TIMESTAMP_LTZ_UNCONSTRAINED + | YMINTERVAL_UNCONSTRAINED + | DSINTERVAL_UNCONSTRAINED + | BFILE + | BLOB + | CLOB + | NCLOB + | MLSLABEL + ; + +bind_variable + : (BINDVAR | ':' UNSIGNED_INTEGER) + // Pro*C/C++ indicator variables + (INDICATOR? (BINDVAR | ':' UNSIGNED_INTEGER))? + ('.' general_element_part)* + ; + +general_element + : general_element_part ('.' general_element_part)* + ; + +general_element_part + : (INTRODUCER char_set_name)? id_expression ('.' id_expression)* ('@' link_name)? function_argument? + ; + +table_element + : (INTRODUCER char_set_name)? id_expression ('.' id_expression)* + ; + +object_privilege + : ALL PRIVILEGES? + | ALTER + | DEBUG + | DELETE + | EXECUTE + | FLASHBACK ARCHIVE + | INDEX + | INHERIT PRIVILEGES + | INSERT + | KEEP SEQUENCE + | MERGE VIEW + | ON COMMIT REFRESH + | QUERY REWRITE + | READ + | REFERENCES + | SELECT + | TRANSLATE SQL + | UNDER + | UPDATE + | USE + | WRITE + ; + +//Ordered by type rather than alphabetically +system_privilege + : ALL PRIVILEGES + | ADVISOR + | ADMINISTER ANY? SQL TUNING SET + | (ALTER | CREATE | DROP) ANY SQL PROFILE + | ADMINISTER SQL MANAGEMENT OBJECT + | CREATE ANY? CLUSTER + | (ALTER | DROP) ANY CLUSTER + | (CREATE | DROP) ANY CONTEXT + | EXEMPT REDACTION POLICY + | ALTER DATABASE + | (ALTER | CREATE) PUBLIC? DATABASE LINK + | DROP PUBLIC DATABASE LINK + | DEBUG CONNECT SESSION + | DEBUG ANY PROCEDURE + | ANALYZE ANY DICTIONARY + | CREATE ANY? DIMENSION + | (ALTER | DROP) ANY DIMENSION + | (CREATE | DROP) ANY DIRECTORY + | (CREATE | DROP) ANY EDITION + | FLASHBACK (ARCHIVE ADMINISTER | ANY TABLE) + | (ALTER | CREATE | DROP) ANY INDEX + | CREATE ANY? INDEXTYPE + | (ALTER | DROP | EXECUTE) ANY INDEXTYPE + | CREATE (ANY | EXTERNAL)? JOB + | EXECUTE ANY (CLASS | PROGRAM) + | MANAGE SCHEDULER + | ADMINISTER KEY MANAGEMENT + | CREATE ANY? LIBRARY + | (ALTER | DROP | EXECUTE) ANY LIBRARY + | LOGMINING + | CREATE ANY? MATERIALIZED VIEW + | (ALTER | DROP) ANY MATERIALIZED VIEW + | GLOBAL? QUERY REWRITE + | ON COMMIT REFRESH + | CREATE ANY? MINING MODEL + | (ALTER | DROP | SELECT | COMMENT) ANY MINING MODEL + | CREATE ANY? CUBE + | (ALTER | DROP | SELECT | UPDATE) ANY CUBE + | CREATE ANY? MEASURE FOLDER + | (DELETE | DROP | INSERT) ANY MEASURE FOLDER + | CREATE ANY? CUBE DIMENSION + | (ALTER | DELETE | DROP | INSERT | SELECT | UPDATE) ANY CUBE DIMENSION + | CREATE ANY? CUBE BUILD PROCESS + | (DROP | UPDATE) ANY CUBE BUILD PROCESS + | CREATE ANY? OPERATOR + | (ALTER | DROP | EXECUTE) ANY OPERATOR + | (CREATE | ALTER | DROP) ANY OUTLINE + | CREATE PLUGGABLE DATABASE + | SET CONTAINER + | CREATE ANY? PROCEDURE + | (ALTER | DROP | EXECUTE) ANY PROCEDURE + | (CREATE | ALTER | DROP ) PROFILE + | CREATE ROLE + | (ALTER | DROP | GRANT) ANY ROLE + | (CREATE | ALTER | DROP) ROLLBACK SEGMENT + | CREATE ANY? SEQUENCE + | (ALTER | DROP | SELECT) ANY SEQUENCE + | (ALTER | CREATE | RESTRICTED) SESSION + | ALTER RESOURCE COST + | CREATE ANY? SQL TRANSLATION PROFILE + | (ALTER | DROP | USE) ANY SQL TRANSLATION PROFILE + | TRANSLATE ANY SQL + | CREATE ANY? SYNONYM + | DROP ANY SYNONYM + | (CREATE | DROP) PUBLIC SYNONYM + | CREATE ANY? TABLE + | (ALTER | BACKUP | COMMENT | DELETE | DROP | INSERT | LOCK | READ | SELECT | UPDATE) ANY TABLE + | (CREATE | ALTER | DROP | MANAGE | UNLIMITED) TABLESPACE + | CREATE ANY? TRIGGER + | (ALTER | DROP) ANY TRIGGER + | ADMINISTER DATABASE TRIGGER + | CREATE ANY? TYPE + | (ALTER | DROP | EXECUTE | UNDER) ANY TYPE + | (CREATE | ALTER | DROP) USER + | CREATE ANY? VIEW + | (DROP | UNDER | MERGE) ANY VIEW + | (ANALYZE | AUDIT) ANY + | BECOME USER + | CHANGE NOTIFICATION + | EXEMPT ACCESS POLICY + | FORCE ANY? TRANSACTION + | GRANT ANY OBJECT? PRIVILEGE + | INHERIT ANY PRIVILEGES + | KEEP DATE TIME + | KEEP SYSGUID + | PURGE DBA_RECYCLEBIN + | RESUMABLE + | SELECT ANY (DICTIONARY | TRANSACTION) + | SYSBACKUP + | SYSDBA + | SYSDG + | SYSKM + | SYSOPER + ; + +// $> + +// $ diff --git a/src/grammar/tsql/.antlr/TSqlLexer.interp b/src/grammar/tsql/.antlr/TSqlLexer.interp deleted file mode 100644 index 0e3cf31..0000000 --- a/src/grammar/tsql/.antlr/TSqlLexer.interp +++ /dev/null @@ -1,2543 +0,0 @@ -token literal names: -null -'ABSENT' -'ADD' -'AES' -'ALL' -'ALLOW_CONNECTIONS' -'ALLOW_MULTIPLE_EVENT_LOSS' -'ALLOW_SINGLE_EVENT_LOSS' -'ALTER' -'AND' -'ANONYMOUS' -'ANY' -'APPEND' -'APPLICATION' -'AS' -'ASC' -'ASYMMETRIC' -'ASYNCHRONOUS_COMMIT' -'AUTHORIZATION' -'AUTHENTICATION' -'AUTOMATED_BACKUP_PREFERENCE' -'AUTOMATIC' -'AVAILABILITY_MODE' -'\\' -'BACKUP' -'BEFORE' -'BEGIN' -'BETWEEN' -'BLOCK' -'BLOCKSIZE' -'BLOCKING_HIERARCHY' -'BREAK' -'BROWSE' -'BUFFER' -'BUFFERCOUNT' -'BULK' -'BY' -'CACHE' -'CALLED' -'CASCADE' -'CASE' -'CERTIFICATE' -'CHANGETABLE' -'CHANGES' -'CHECK' -'CHECKPOINT' -'CHECK_POLICY' -'CHECK_EXPIRATION' -'CLASSIFIER_FUNCTION' -'CLOSE' -'CLUSTER' -'CLUSTERED' -'COALESCE' -'COLLATE' -'COLUMN' -'COMPRESSION' -'COMMIT' -'COMPUTE' -'CONFIGURATION' -'CONSTRAINT' -'CONTAINMENT' -'CONTAINS' -'CONTAINSTABLE' -'CONTEXT' -'CONTINUE' -'CONTINUE_AFTER_ERROR' -'CONTRACT' -'CONTRACT_NAME' -'CONVERSATION' -null -'COPY_ONLY' -'CREATE' -'CROSS' -'CURRENT' -'CURRENT_DATE' -'CURRENT_TIME' -'CURRENT_TIMESTAMP' -'CURRENT_USER' -'CURSOR' -'CYCLE' -'DATA_COMPRESSION' -'DATA_SOURCE' -'DATABASE' -'DATABASE_MIRRORING' -'DBCC' -'DEALLOCATE' -'DECLARE' -'DEFAULT' -'DEFAULT_DATABASE' -'DEFAULT_SCHEMA' -'DELETE' -'DENY' -'DESC' -'DIAGNOSTICS' -'DIFFERENTIAL' -'DISK' -'DISTINCT' -'DISTRIBUTED' -'DOUBLE' -'\\\\' -'//' -'DROP' -'DTC_SUPPORT' -'DUMP' -'ELSE' -'ENABLED' -'END' -'ENDPOINT' -'ERRLVL' -'ESCAPE' -'ERROR' -'EVENT' -null -'EVENT_RETENTION_MODE' -'EXCEPT' -'EXECUTABLE_FILE' -null -'EXISTS' -'EXPIREDATE' -'EXIT' -'EXTENSION' -'EXTERNAL' -'EXTERNAL_ACCESS' -'FAILOVER' -'FAILURECONDITIONLEVEL' -'FAN_IN' -'FETCH' -'FILE' -'FILENAME' -'FILLFACTOR' -'FILE_SNAPSHOT' -'FOR' -'FORCESEEK' -'FORCE_SERVICE_ALLOW_DATA_LOSS' -'FOREIGN' -'FREETEXT' -'FREETEXTTABLE' -'FROM' -'FULL' -'FUNCTION' -'GET' -'GOTO' -'GOVERNOR' -'GRANT' -'GROUP' -'HAVING' -'HASHED' -'HEALTHCHECKTIMEOUT' -'IDENTITY' -'IDENTITYCOL' -'IDENTITY_INSERT' -'IF' -'IIF' -'IN' -'INCLUDE' -'INCREMENT' -'INDEX' -'INFINITE' -'INIT' -'INNER' -'INSERT' -'INSTEAD' -'INTERSECT' -'INTO' -null -null -'IS' -'ISNULL' -'JOIN' -'KERBEROS' -'KEY' -'KEY_PATH' -'KEY_STORE_PROVIDER_NAME' -'KILL' -'LANGUAGE' -'LEFT' -'LIBRARY' -'LIFETIME' -'LIKE' -'LINENO' -'LINUX' -'LISTENER_IP' -'LISTENER_PORT' -'LOAD' -'LOCAL_SERVICE_NAME' -'LOG' -'MATCHED' -'MASTER' -'MAX_MEMORY' -'MAXTRANSFER' -'MAXVALUE' -'MAX_DISPATCH_LATENCY' -'MAX_EVENT_SIZE' -'MAX_SIZE' -'MAX_OUTSTANDING_IO_PER_VOLUME' -'MEDIADESCRIPTION' -'MEDIANAME' -'MEMBER' -'MEMORY_PARTITION_MODE' -'MERGE' -'MESSAGE_FORWARDING' -'MESSAGE_FORWARD_SIZE' -'MINVALUE' -'MIRROR' -'MUST_CHANGE' -'NATIONAL' -'NEGOTIATE' -'NOCHECK' -'NOFORMAT' -'NOINIT' -'NONCLUSTERED' -'NONE' -'NOREWIND' -'NOSKIP' -'NOUNLOAD' -'NO_CHECKSUM' -'NO_COMPRESSION' -'NO_EVENT_LOSS' -'NOT' -'NOTIFICATION' -'NTLM' -'NULL' -'NULLIF' -'OF' -'OFF' -'OFFSETS' -'OLD_PASSWORD' -'ON' -'ON_FAILURE' -'OPEN' -'OPENDATASOURCE' -'OPENQUERY' -'OPENROWSET' -'OPENXML' -'OPTION' -'OR' -'ORDER' -'OUTER' -'OVER' -'PAGE' -'PARAM_NODE' -'PARTIAL' -'PASSWORD' -'PERCENT' -'PERMISSION_SET' -'PER_CPU' -'PER_DB' -'PER_NODE' -'PIVOT' -'PLAN' -'PLATFORM' -'POLICY' -'PRECISION' -'PREDICATE' -'PRIMARY' -'PRINT' -'PROC' -'PROCEDURE' -'PROCESS' -'PUBLIC' -'PYTHON' -'R' -'RAISERROR' -'RAW' -'READ' -'READTEXT' -'READ_WRITE_FILEGROUPS' -'RECONFIGURE' -'REFERENCES' -'REGENERATE' -'RELATED_CONVERSATION' -'RELATED_CONVERSATION_GROUP' -'REPLICATION' -'REQUIRED' -'RESET' -'RESTART' -'RESTORE' -'RESTRICT' -'RESUME' -'RETAINDAYS' -'RETURN' -'RETURNS' -'REVERT' -'REVOKE' -'REWIND' -'RIGHT' -'ROLLBACK' -'ROLE' -'ROWCOUNT' -'ROWGUIDCOL' -'RSA_512' -'RSA_1024' -'RSA_2048' -'RSA_3072' -'RSA_4096' -'SAFETY' -'RULE' -'SAFE' -'SAVE' -'SCHEDULER' -'SCHEMA' -'SCHEME' -'SECURITYAUDIT' -'SELECT' -'SEMANTICKEYPHRASETABLE' -'SEMANTICSIMILARITYDETAILSTABLE' -'SEMANTICSIMILARITYTABLE' -'SERVER' -'SERVICE' -'SERVICE_BROKER' -'SERVICE_NAME' -'SESSION' -'SESSION_USER' -'SET' -'SETUSER' -'SHUTDOWN' -'SID' -'SKIP' -'SOFTNUMA' -'SOME' -'SOURCE' -'SPECIFICATION' -'SPLIT' -'SQLDUMPERFLAGS' -'SQLDUMPERPATH' -'SQLDUMPERTIMEOUTS' -'STATISTICS' -'STATE' -'STATS' -'START' -'STARTED' -'STARTUP_STATE' -'STOP' -'STOPPED' -'STOP_ON_ERROR' -'SUPPORTED' -'SYSTEM_USER' -'TABLE' -'TABLESAMPLE' -'TAPE' -'TARGET' -'TCP' -'TEXTSIZE' -'THEN' -'TO' -'TOP' -'TRACK_CAUSALITY' -'TRAN' -'TRANSACTION' -'TRANSFER' -'TRIGGER' -'TRUNCATE' -'TSEQUAL' -'UNCHECKED' -'UNION' -'UNIQUE' -'UNLOCK' -'UNPIVOT' -'UNSAFE' -'UPDATE' -'UPDATETEXT' -'URL' -'USE' -'USED' -'USER' -'VALUES' -'VARYING' -'VERBOSELOGGING' -'VIEW' -'VISIBILITY' -'WAITFOR' -'WHEN' -'WHERE' -'WHILE' -'WINDOWS' -'WITH' -'WITHIN' -'WITHOUT' -'WITNESS' -'WRITETEXT' -'ABSOLUTE' -'ACCENT_SENSITIVITY' -'ACTION' -'ACTIVATION' -'ACTIVE' -'ADDRESS' -'AES_128' -'AES_192' -'AES_256' -'AFFINITY' -'AFTER' -'AGGREGATE' -'ALGORITHM' -'ALLOW_ENCRYPTED_VALUE_MODIFICATIONS' -'ALLOW_SNAPSHOT_ISOLATION' -'ALLOWED' -'ANSI_NULL_DEFAULT' -'ANSI_NULLS' -'ANSI_PADDING' -'ANSI_WARNINGS' -'APPLICATION_LOG' -'APPLY' -'ARITHABORT' -'ASSEMBLY' -'AUDIT' -'AUDIT_GUID' -'AUTO' -'AUTO_CLEANUP' -'AUTO_CLOSE' -'AUTO_CREATE_STATISTICS' -'AUTO_SHRINK' -'AUTO_UPDATE_STATISTICS' -'AUTO_UPDATE_STATISTICS_ASYNC' -'AVAILABILITY' -'AVG' -'BACKUP_PRIORITY' -'BEGIN_DIALOG' -'BIGINT' -'BINARY BASE64' -'BINARY_CHECKSUM' -'BINDING' -'BLOB_STORAGE' -'BROKER' -'BROKER_INSTANCE' -'BULK_LOGGED' -'CALLER' -'CAP_CPU_PERCENT' -null -'CATALOG' -'CATCH' -'CHANGE_RETENTION' -'CHANGE_TRACKING' -'CHECKSUM' -'CHECKSUM_AGG' -'CLEANUP' -'COLLECTION' -'COLUMN_MASTER_KEY' -'COMMITTED' -'COMPATIBILITY_LEVEL' -'CONCAT' -'CONCAT_NULL_YIELDS_NULL' -'CONTENT' -'CONTROL' -'COOKIE' -'COUNT' -'COUNT_BIG' -'COUNTER' -'CPU' -'CREATE_NEW' -'CREATION_DISPOSITION' -'CREDENTIAL' -'CRYPTOGRAPHIC' -'CURSOR_CLOSE_ON_COMMIT' -'CURSOR_DEFAULT' -'DATA' -'DATE_CORRELATION_OPTIMIZATION' -'DATEADD' -'DATEDIFF' -'DATENAME' -'DATEPART' -'DAYS' -'DB_CHAINING' -'DB_FAILOVER' -'DECRYPTION' -null -'DEFAULT_FULLTEXT_LANGUAGE' -'DEFAULT_LANGUAGE' -'DELAY' -'DELAYED_DURABILITY' -'DELETED' -'DENSE_RANK' -'DEPENDENTS' -'DES' -'DESCRIPTION' -'DESX' -'DHCP' -'DIALOG' -'DIRECTORY_NAME' -'DISABLE' -'DISABLE_BROKER' -'DISABLED' -null -'DOCUMENT' -'DYNAMIC' -'ELEMENTS' -'EMERGENCY' -'EMPTY' -'ENABLE' -'ENABLE_BROKER' -'ENCRYPTED_VALUE' -'ENCRYPTION' -'ENDPOINT_URL' -'ERROR_BROKER_CONVERSATIONS' -'EXCLUSIVE' -'EXECUTABLE' -'EXIST' -'EXPAND' -'EXPIRY_DATE' -'EXPLICIT' -'FAIL_OPERATION' -'FAILOVER_MODE' -'FAILURE' -'FAILURE_CONDITION_LEVEL' -'FAST' -'FAST_FORWARD' -'FILEGROUP' -'FILEGROWTH' -'FILEPATH' -'FILESTREAM' -'FILTER' -'FIRST' -'FIRST_VALUE' -'FOLLOWING' -'FORCE' -'FORCE_FAILOVER_ALLOW_DATA_LOSS' -'FORCED' -'FORMAT' -'FORWARD_ONLY' -'FULLSCAN' -'FULLTEXT' -'GB' -'GETDATE' -'GETUTCDATE' -'GLOBAL' -'GO' -'GROUP_MAX_REQUESTS' -'GROUPING' -'GROUPING_ID' -'HADR' -'HASH' -'HEALTH_CHECK_TIMEOUT' -'HIGH' -'HONOR_BROKER_PRIORITY' -'HOURS' -'IDENTITY_VALUE' -'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX' -'IMMEDIATE' -'IMPERSONATE' -'IMPORTANCE' -'INCLUDE_NULL_VALUES' -'INCREMENTAL' -'INITIATOR' -'INPUT' -'INSENSITIVE' -'INSERTED' -'INT' -'IP' -'ISOLATION' -'JOB' -'JSON' -'KB' -'KEEP' -'KEEPFIXED' -'KEY_SOURCE' -'KEYS' -'KEYSET' -'LAG' -'LAST' -'LAST_VALUE' -'LEAD' -'LEVEL' -'LIST' -'LISTENER' -'LISTENER_URL' -'LOB_COMPACTION' -'LOCAL' -'LOCATION' -'LOCK' -'LOCK_ESCALATION' -'LOGIN' -'LOOP' -'LOW' -'MANUAL' -'MARK' -'MATERIALIZED' -'MAX' -'MAX_CPU_PERCENT' -'MAX_DOP' -'MAX_FILES' -'MAX_IOPS_PER_VOLUME' -'MAX_MEMORY_PERCENT' -'MAX_PROCESSES' -'MAX_QUEUE_READERS' -'MAX_ROLLOVER_FILES' -'MAXDOP' -'MAXRECURSION' -'MAXSIZE' -'MB' -'MEDIUM' -'MEMORY_OPTIMIZED_DATA' -'MESSAGE' -'MIN' -'MIN_ACTIVE_ROWVERSION' -'MIN_CPU_PERCENT' -'MIN_IOPS_PER_VOLUME' -'MIN_MEMORY_PERCENT' -'MINUTES' -'MIRROR_ADDRESS' -'MIXED_PAGE_ALLOCATION' -'MODE' -'MODIFY' -'MOVE' -'MULTI_USER' -'NAME' -'NESTED_TRIGGERS' -'NEW_ACCOUNT' -'NEW_BROKER' -'NEW_PASSWORD' -'NEXT' -'NO' -'NO_TRUNCATE' -'NO_WAIT' -'NOCOUNT' -'NODES' -'NOEXPAND' -'NON_TRANSACTED_ACCESS' -'NORECOMPUTE' -'NORECOVERY' -'NOWAIT' -'NTILE' -'NUMANODE' -'NUMBER' -'NUMERIC_ROUNDABORT' -'OBJECT' -'OFFLINE' -'OFFSET' -'OLD_ACCOUNT' -'ONLINE' -'ONLY' -'OPEN_EXISTING' -'OPTIMISTIC' -'OPTIMIZE' -'OUT' -'OUTPUT' -'OVERRIDE' -'OWNER' -'PAGE_VERIFY' -'PARAMETERIZATION' -'PARTITION' -'PARTITIONS' -'PARTNER' -'PATH' -'POISON_MESSAGE_HANDLING' -'POOL' -'PORT' -'PRECEDING' -'PRIMARY_ROLE' -'PRIOR' -'PRIORITY' -'PRIORITY_LEVEL' -'PRIVATE' -'PRIVATE_KEY' -'PRIVILEGES' -'PROCEDURE_NAME' -'PROPERTY' -'PROVIDER' -'PROVIDER_KEY_NAME' -'QUERY' -'QUEUE' -'QUEUE_DELAY' -'QUOTED_IDENTIFIER' -'RANGE' -'RANK' -'RC2' -'RC4' -'RC4_128' -'READ_COMMITTED_SNAPSHOT' -'READ_ONLY' -'READ_ONLY_ROUTING_LIST' -'READ_WRITE' -'READONLY' -'REBUILD' -'RECEIVE' -'RECOMPILE' -'RECOVERY' -'RECURSIVE_TRIGGERS' -'RELATIVE' -'REMOTE' -'REMOTE_SERVICE_NAME' -'REMOVE' -'REORGANIZE' -'REPEATABLE' -'REPLICA' -'REQUEST_MAX_CPU_TIME_SEC' -'REQUEST_MAX_MEMORY_GRANT_PERCENT' -'REQUEST_MEMORY_GRANT_TIMEOUT_SEC' -'REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT' -'RESERVE_DISK_SPACE' -'RESOURCE' -'RESOURCE_MANAGER_LOCATION' -'RESTRICTED_USER' -'RETENTION' -'ROBUST' -'ROOT' -'ROUTE' -'ROW' -'ROW_NUMBER' -'ROWGUID' -'ROWS' -'SAMPLE' -'SCHEMABINDING' -'SCOPED' -'SCROLL' -'SCROLL_LOCKS' -'SEARCH' -'SECONDARY' -'SECONDARY_ONLY' -'SECONDARY_ROLE' -'SECONDS' -'SECRET' -'SECURITY' -'SECURITY_LOG' -'SEEDING_MODE' -'SELF' -'SEMI_SENSITIVE' -'SEND' -'SENT' -'SEQUENCE' -'SERIALIZABLE' -'SESSION_TIMEOUT' -'SETERROR' -'SHARE' -'SHOWPLAN' -'SIGNATURE' -'SIMPLE' -'SINGLE_USER' -'SIZE' -'SMALLINT' -'SNAPSHOT' -'SPATIAL_WINDOW_MAX_CELLS' -'STANDBY' -'START_DATE' -'STATIC' -'STATS_STREAM' -'STATUS' -'STATUSONLY' -'STDEV' -'STDEVP' -'STOPLIST' -'STRING_AGG' -'STUFF' -'SUBJECT' -'SUBSCRIPTION' -'SUM' -'SUSPEND' -'SYMMETRIC' -'SYNCHRONOUS_COMMIT' -'SYNONYM' -'SYSTEM' -'TAKE' -'TARGET_RECOVERY_TIME' -'TB' -'TEXTIMAGE_ON' -'THROW' -'TIES' -'TIME' -'TIMEOUT' -'TIMER' -'TINYINT' -'TORN_PAGE_DETECTION' -'TRANSFORM_NOISE_WORDS' -'TRIPLE_DES' -'TRIPLE_DES_3KEY' -'TRUSTWORTHY' -'TRY' -'TSQL' -'TWO_DIGIT_YEAR_CUTOFF' -'TYPE' -'TYPE_WARNING' -'UNBOUNDED' -'UNCOMMITTED' -'UNKNOWN' -'UNLIMITED' -'UOW' -'USING' -'VALID_XML' -'VALIDATION' -'VALUE' -'VAR' -'VARP' -'VIEW_METADATA' -'VIEWS' -'WAIT' -'WELL_FORMED_XML' -'WITHOUT_ARRAY_WRAPPER' -'WORK' -'WORKLOAD' -'XML' -'XMLDATA' -'XMLNAMESPACES' -'XMLSCHEMA' -'XSINIL' -'$ACTION' -null -null -null -null -'\'' -null -null -null -null -null -null -null -null -null -null -'=' -'>' -'<' -'!' -'+=' -'-=' -'*=' -'/=' -'%=' -'&=' -'^=' -'|=' -'||' -'.' -'_' -'@' -'#' -'$' -'(' -')' -',' -';' -':' -'*' -'/' -'%' -'+' -'-' -'~' -'|' -'&' -'^' -null - -token symbolic names: -null -ABSENT -ADD -AES -ALL -ALLOW_CONNECTIONS -ALLOW_MULTIPLE_EVENT_LOSS -ALLOW_SINGLE_EVENT_LOSS -ALTER -AND -ANONYMOUS -ANY -APPEND -APPLICATION -AS -ASC -ASYMMETRIC -ASYNCHRONOUS_COMMIT -AUTHORIZATION -AUTHENTICATION -AUTOMATED_BACKUP_PREFERENCE -AUTOMATIC -AVAILABILITY_MODE -BACKSLASH -BACKUP -BEFORE -BEGIN -BETWEEN -BLOCK -BLOCKSIZE -BLOCKING_HIERARCHY -BREAK -BROWSE -BUFFER -BUFFERCOUNT -BULK -BY -CACHE -CALLED -CASCADE -CASE -CERTIFICATE -CHANGETABLE -CHANGES -CHECK -CHECKPOINT -CHECK_POLICY -CHECK_EXPIRATION -CLASSIFIER_FUNCTION -CLOSE -CLUSTER -CLUSTERED -COALESCE -COLLATE -COLUMN -COMPRESSION -COMMIT -COMPUTE -CONFIGURATION -CONSTRAINT -CONTAINMENT -CONTAINS -CONTAINSTABLE -CONTEXT -CONTINUE -CONTINUE_AFTER_ERROR -CONTRACT -CONTRACT_NAME -CONVERSATION -CONVERT -COPY_ONLY -CREATE -CROSS -CURRENT -CURRENT_DATE -CURRENT_TIME -CURRENT_TIMESTAMP -CURRENT_USER -CURSOR -CYCLE -DATA_COMPRESSION -DATA_SOURCE -DATABASE -DATABASE_MIRRORING -DBCC -DEALLOCATE -DECLARE -DEFAULT -DEFAULT_DATABASE -DEFAULT_SCHEMA -DELETE -DENY -DESC -DIAGNOSTICS -DIFFERENTIAL -DISK -DISTINCT -DISTRIBUTED -DOUBLE -DOUBLE_BACK_SLASH -DOUBLE_FORWARD_SLASH -DROP -DTC_SUPPORT -DUMP -ELSE -ENABLED -END -ENDPOINT -ERRLVL -ESCAPE -ERROR -EVENT -EVENTDATA -EVENT_RETENTION_MODE -EXCEPT -EXECUTABLE_FILE -EXECUTE -EXISTS -EXPIREDATE -EXIT -EXTENSION -EXTERNAL -EXTERNAL_ACCESS -FAILOVER -FAILURECONDITIONLEVEL -FAN_IN -FETCH -FILE -FILENAME -FILLFACTOR -FILE_SNAPSHOT -FOR -FORCESEEK -FORCE_SERVICE_ALLOW_DATA_LOSS -FOREIGN -FREETEXT -FREETEXTTABLE -FROM -FULL -FUNCTION -GET -GOTO -GOVERNOR -GRANT -GROUP -HAVING -HASHED -HEALTHCHECKTIMEOUT -IDENTITY -IDENTITYCOL -IDENTITY_INSERT -IF -IIF -IN -INCLUDE -INCREMENT -INDEX -INFINITE -INIT -INNER -INSERT -INSTEAD -INTERSECT -INTO -IPV4_ADDR -IPV6_ADDR -IS -ISNULL -JOIN -KERBEROS -KEY -KEY_PATH -KEY_STORE_PROVIDER_NAME -KILL -LANGUAGE -LEFT -LIBRARY -LIFETIME -LIKE -LINENO -LINUX -LISTENER_IP -LISTENER_PORT -LOAD -LOCAL_SERVICE_NAME -LOG -MATCHED -MASTER -MAX_MEMORY -MAXTRANSFER -MAXVALUE -MAX_DISPATCH_LATENCY -MAX_EVENT_SIZE -MAX_SIZE -MAX_OUTSTANDING_IO_PER_VOLUME -MEDIADESCRIPTION -MEDIANAME -MEMBER -MEMORY_PARTITION_MODE -MERGE -MESSAGE_FORWARDING -MESSAGE_FORWARD_SIZE -MINVALUE -MIRROR -MUST_CHANGE -NATIONAL -NEGOTIATE -NOCHECK -NOFORMAT -NOINIT -NONCLUSTERED -NONE -NOREWIND -NOSKIP -NOUNLOAD -NO_CHECKSUM -NO_COMPRESSION -NO_EVENT_LOSS -NOT -NOTIFICATION -NTLM -NULL -NULLIF -OF -OFF -OFFSETS -OLD_PASSWORD -ON -ON_FAILURE -OPEN -OPENDATASOURCE -OPENQUERY -OPENROWSET -OPENXML -OPTION -OR -ORDER -OUTER -OVER -PAGE -PARAM_NODE -PARTIAL -PASSWORD -PERCENT -PERMISSION_SET -PER_CPU -PER_DB -PER_NODE -PIVOT -PLAN -PLATFORM -POLICY -PRECISION -PREDICATE -PRIMARY -PRINT -PROC -PROCEDURE -PROCESS -PUBLIC -PYTHON -R -RAISERROR -RAW -READ -READTEXT -READ_WRITE_FILEGROUPS -RECONFIGURE -REFERENCES -REGENERATE -RELATED_CONVERSATION -RELATED_CONVERSATION_GROUP -REPLICATION -REQUIRED -RESET -RESTART -RESTORE -RESTRICT -RESUME -RETAINDAYS -RETURN -RETURNS -REVERT -REVOKE -REWIND -RIGHT -ROLLBACK -ROLE -ROWCOUNT -ROWGUIDCOL -RSA_512 -RSA_1024 -RSA_2048 -RSA_3072 -RSA_4096 -SAFETY -RULE -SAFE -SAVE -SCHEDULER -SCHEMA -SCHEME -SECURITYAUDIT -SELECT -SEMANTICKEYPHRASETABLE -SEMANTICSIMILARITYDETAILSTABLE -SEMANTICSIMILARITYTABLE -SERVER -SERVICE -SERVICE_BROKER -SERVICE_NAME -SESSION -SESSION_USER -SET -SETUSER -SHUTDOWN -SID -SKIP_KEYWORD -SOFTNUMA -SOME -SOURCE -SPECIFICATION -SPLIT -SQLDUMPERFLAGS -SQLDUMPERPATH -SQLDUMPERTIMEOUT -STATISTICS -STATE -STATS -START -STARTED -STARTUP_STATE -STOP -STOPPED -STOP_ON_ERROR -SUPPORTED -SYSTEM_USER -TABLE -TABLESAMPLE -TAPE -TARGET -TCP -TEXTSIZE -THEN -TO -TOP -TRACK_CAUSALITY -TRAN -TRANSACTION -TRANSFER -TRIGGER -TRUNCATE -TSEQUAL -UNCHECKED -UNION -UNIQUE -UNLOCK -UNPIVOT -UNSAFE -UPDATE -UPDATETEXT -URL -USE -USED -USER -VALUES -VARYING -VERBOSELOGGING -VIEW -VISIBILITY -WAITFOR -WHEN -WHERE -WHILE -WINDOWS -WITH -WITHIN -WITHOUT -WITNESS -WRITETEXT -ABSOLUTE -ACCENT_SENSITIVITY -ACTION -ACTIVATION -ACTIVE -ADDRESS -AES_128 -AES_192 -AES_256 -AFFINITY -AFTER -AGGREGATE -ALGORITHM -ALLOW_ENCRYPTED_VALUE_MODIFICATIONS -ALLOW_SNAPSHOT_ISOLATION -ALLOWED -ANSI_NULL_DEFAULT -ANSI_NULLS -ANSI_PADDING -ANSI_WARNINGS -APPLICATION_LOG -APPLY -ARITHABORT -ASSEMBLY -AUDIT -AUDIT_GUID -AUTO -AUTO_CLEANUP -AUTO_CLOSE -AUTO_CREATE_STATISTICS -AUTO_SHRINK -AUTO_UPDATE_STATISTICS -AUTO_UPDATE_STATISTICS_ASYNC -AVAILABILITY -AVG -BACKUP_PRIORITY -BEGIN_DIALOG -BIGINT -BINARY_BASE64 -BINARY_CHECKSUM -BINDING -BLOB_STORAGE -BROKER -BROKER_INSTANCE -BULK_LOGGED -CALLER -CAP_CPU_PERCENT -CAST -CATALOG -CATCH -CHANGE_RETENTION -CHANGE_TRACKING -CHECKSUM -CHECKSUM_AGG -CLEANUP -COLLECTION -COLUMN_MASTER_KEY -COMMITTED -COMPATIBILITY_LEVEL -CONCAT -CONCAT_NULL_YIELDS_NULL -CONTENT -CONTROL -COOKIE -COUNT -COUNT_BIG -COUNTER -CPU -CREATE_NEW -CREATION_DISPOSITION -CREDENTIAL -CRYPTOGRAPHIC -CURSOR_CLOSE_ON_COMMIT -CURSOR_DEFAULT -DATA -DATE_CORRELATION_OPTIMIZATION -DATEADD -DATEDIFF -DATENAME -DATEPART -DAYS -DB_CHAINING -DB_FAILOVER -DECRYPTION -DEFAULT_DOUBLE_QUOTE -DEFAULT_FULLTEXT_LANGUAGE -DEFAULT_LANGUAGE -DELAY -DELAYED_DURABILITY -DELETED -DENSE_RANK -DEPENDENTS -DES -DESCRIPTION -DESX -DHCP -DIALOG -DIRECTORY_NAME -DISABLE -DISABLE_BROKER -DISABLED -DISK_DRIVE -DOCUMENT -DYNAMIC -ELEMENTS -EMERGENCY -EMPTY -ENABLE -ENABLE_BROKER -ENCRYPTED_VALUE -ENCRYPTION -ENDPOINT_URL -ERROR_BROKER_CONVERSATIONS -EXCLUSIVE -EXECUTABLE -EXIST -EXPAND -EXPIRY_DATE -EXPLICIT -FAIL_OPERATION -FAILOVER_MODE -FAILURE -FAILURE_CONDITION_LEVEL -FAST -FAST_FORWARD -FILEGROUP -FILEGROWTH -FILEPATH -FILESTREAM -FILTER -FIRST -FIRST_VALUE -FOLLOWING -FORCE -FORCE_FAILOVER_ALLOW_DATA_LOSS -FORCED -FORMAT -FORWARD_ONLY -FULLSCAN -FULLTEXT -GB -GETDATE -GETUTCDATE -GLOBAL -GO -GROUP_MAX_REQUESTS -GROUPING -GROUPING_ID -HADR -HASH -HEALTH_CHECK_TIMEOUT -HIGH -HONOR_BROKER_PRIORITY -HOURS -IDENTITY_VALUE -IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX -IMMEDIATE -IMPERSONATE -IMPORTANCE -INCLUDE_NULL_VALUES -INCREMENTAL -INITIATOR -INPUT -INSENSITIVE -INSERTED -INT -IP -ISOLATION -JOB -JSON -KB -KEEP -KEEPFIXED -KEY_SOURCE -KEYS -KEYSET -LAG -LAST -LAST_VALUE -LEAD -LEVEL -LIST -LISTENER -LISTENER_URL -LOB_COMPACTION -LOCAL -LOCATION -LOCK -LOCK_ESCALATION -LOGIN -LOOP -LOW -MANUAL -MARK -MATERIALIZED -MAX -MAX_CPU_PERCENT -MAX_DOP -MAX_FILES -MAX_IOPS_PER_VOLUME -MAX_MEMORY_PERCENT -MAX_PROCESSES -MAX_QUEUE_READERS -MAX_ROLLOVER_FILES -MAXDOP -MAXRECURSION -MAXSIZE -MB -MEDIUM -MEMORY_OPTIMIZED_DATA -MESSAGE -MIN -MIN_ACTIVE_ROWVERSION -MIN_CPU_PERCENT -MIN_IOPS_PER_VOLUME -MIN_MEMORY_PERCENT -MINUTES -MIRROR_ADDRESS -MIXED_PAGE_ALLOCATION -MODE -MODIFY -MOVE -MULTI_USER -NAME -NESTED_TRIGGERS -NEW_ACCOUNT -NEW_BROKER -NEW_PASSWORD -NEXT -NO -NO_TRUNCATE -NO_WAIT -NOCOUNT -NODES -NOEXPAND -NON_TRANSACTED_ACCESS -NORECOMPUTE -NORECOVERY -NOWAIT -NTILE -NUMANODE -NUMBER -NUMERIC_ROUNDABORT -OBJECT -OFFLINE -OFFSET -OLD_ACCOUNT -ONLINE -ONLY -OPEN_EXISTING -OPTIMISTIC -OPTIMIZE -OUT -OUTPUT -OVERRIDE -OWNER -PAGE_VERIFY -PARAMETERIZATION -PARTITION -PARTITIONS -PARTNER -PATH -POISON_MESSAGE_HANDLING -POOL -PORT -PRECEDING -PRIMARY_ROLE -PRIOR -PRIORITY -PRIORITY_LEVEL -PRIVATE -PRIVATE_KEY -PRIVILEGES -PROCEDURE_NAME -PROPERTY -PROVIDER -PROVIDER_KEY_NAME -QUERY -QUEUE -QUEUE_DELAY -QUOTED_IDENTIFIER -RANGE -RANK -RC2 -RC4 -RC4_128 -READ_COMMITTED_SNAPSHOT -READ_ONLY -READ_ONLY_ROUTING_LIST -READ_WRITE -READONLY -REBUILD -RECEIVE -RECOMPILE -RECOVERY -RECURSIVE_TRIGGERS -RELATIVE -REMOTE -REMOTE_SERVICE_NAME -REMOVE -REORGANIZE -REPEATABLE -REPLICA -REQUEST_MAX_CPU_TIME_SEC -REQUEST_MAX_MEMORY_GRANT_PERCENT -REQUEST_MEMORY_GRANT_TIMEOUT_SEC -REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT -RESERVE_DISK_SPACE -RESOURCE -RESOURCE_MANAGER_LOCATION -RESTRICTED_USER -RETENTION -ROBUST -ROOT -ROUTE -ROW -ROW_NUMBER -ROWGUID -ROWS -SAMPLE -SCHEMABINDING -SCOPED -SCROLL -SCROLL_LOCKS -SEARCH -SECONDARY -SECONDARY_ONLY -SECONDARY_ROLE -SECONDS -SECRET -SECURITY -SECURITY_LOG -SEEDING_MODE -SELF -SEMI_SENSITIVE -SEND -SENT -SEQUENCE -SERIALIZABLE -SESSION_TIMEOUT -SETERROR -SHARE -SHOWPLAN -SIGNATURE -SIMPLE -SINGLE_USER -SIZE -SMALLINT -SNAPSHOT -SPATIAL_WINDOW_MAX_CELLS -STANDBY -START_DATE -STATIC -STATS_STREAM -STATUS -STATUSONLY -STDEV -STDEVP -STOPLIST -STRING_AGG -STUFF -SUBJECT -SUBSCRIPTION -SUM -SUSPEND -SYMMETRIC -SYNCHRONOUS_COMMIT -SYNONYM -SYSTEM -TAKE -TARGET_RECOVERY_TIME -TB -TEXTIMAGE_ON -THROW -TIES -TIME -TIMEOUT -TIMER -TINYINT -TORN_PAGE_DETECTION -TRANSFORM_NOISE_WORDS -TRIPLE_DES -TRIPLE_DES_3KEY -TRUSTWORTHY -TRY -TSQL -TWO_DIGIT_YEAR_CUTOFF -TYPE -TYPE_WARNING -UNBOUNDED -UNCOMMITTED -UNKNOWN -UNLIMITED -UOW -USING -VALID_XML -VALIDATION -VALUE -VAR -VARP -VIEW_METADATA -VIEWS -WAIT -WELL_FORMED_XML -WITHOUT_ARRAY_WRAPPER -WORK -WORKLOAD -XML -XMLDATA -XMLNAMESPACES -XMLSCHEMA -XSINIL -DOLLAR_ACTION -SPACE -COMMENT -LINE_COMMENT -DOUBLE_QUOTE_ID -SINGLE_QUOTE -SQUARE_BRACKET_ID -LOCAL_ID -DECIMAL -ID -QUOTED_URL -QUOTED_HOST_AND_PORT -STRING -BINARY -FLOAT -REAL -EQUAL -GREATER -LESS -EXCLAMATION -PLUS_ASSIGN -MINUS_ASSIGN -MULT_ASSIGN -DIV_ASSIGN -MOD_ASSIGN -AND_ASSIGN -XOR_ASSIGN -OR_ASSIGN -DOUBLE_BAR -DOT -UNDERLINE -AT -SHARP -DOLLAR -LR_BRACKET -RR_BRACKET -COMMA -SEMI -COLON -STAR -DIVIDE -MODULE -PLUS -MINUS -BIT_NOT -BIT_OR -BIT_AND -BIT_XOR -IPV4_OCTECT - -rule names: -ABSENT -ADD -AES -ALL -ALLOW_CONNECTIONS -ALLOW_MULTIPLE_EVENT_LOSS -ALLOW_SINGLE_EVENT_LOSS -ALTER -AND -ANONYMOUS -ANY -APPEND -APPLICATION -AS -ASC -ASYMMETRIC -ASYNCHRONOUS_COMMIT -AUTHORIZATION -AUTHENTICATION -AUTOMATED_BACKUP_PREFERENCE -AUTOMATIC -AVAILABILITY_MODE -BACKSLASH -BACKUP -BEFORE -BEGIN -BETWEEN -BLOCK -BLOCKSIZE -BLOCKING_HIERARCHY -BREAK -BROWSE -BUFFER -BUFFERCOUNT -BULK -BY -CACHE -CALLED -CASCADE -CASE -CERTIFICATE -CHANGETABLE -CHANGES -CHECK -CHECKPOINT -CHECK_POLICY -CHECK_EXPIRATION -CLASSIFIER_FUNCTION -CLOSE -CLUSTER -CLUSTERED -COALESCE -COLLATE -COLUMN -COMPRESSION -COMMIT -COMPUTE -CONFIGURATION -CONSTRAINT -CONTAINMENT -CONTAINS -CONTAINSTABLE -CONTEXT -CONTINUE -CONTINUE_AFTER_ERROR -CONTRACT -CONTRACT_NAME -CONVERSATION -CONVERT -COPY_ONLY -CREATE -CROSS -CURRENT -CURRENT_DATE -CURRENT_TIME -CURRENT_TIMESTAMP -CURRENT_USER -CURSOR -CYCLE -DATA_COMPRESSION -DATA_SOURCE -DATABASE -DATABASE_MIRRORING -DBCC -DEALLOCATE -DECLARE -DEFAULT -DEFAULT_DATABASE -DEFAULT_SCHEMA -DELETE -DENY -DESC -DIAGNOSTICS -DIFFERENTIAL -DISK -DISTINCT -DISTRIBUTED -DOUBLE -DOUBLE_BACK_SLASH -DOUBLE_FORWARD_SLASH -DROP -DTC_SUPPORT -DUMP -ELSE -ENABLED -END -ENDPOINT -ERRLVL -ESCAPE -ERROR -EVENT -EVENTDATA -EVENT_RETENTION_MODE -EXCEPT -EXECUTABLE_FILE -EXECUTE -EXISTS -EXPIREDATE -EXIT -EXTENSION -EXTERNAL -EXTERNAL_ACCESS -FAILOVER -FAILURECONDITIONLEVEL -FAN_IN -FETCH -FILE -FILENAME -FILLFACTOR -FILE_SNAPSHOT -FOR -FORCESEEK -FORCE_SERVICE_ALLOW_DATA_LOSS -FOREIGN -FREETEXT -FREETEXTTABLE -FROM -FULL -FUNCTION -GET -GOTO -GOVERNOR -GRANT -GROUP -HAVING -HASHED -HEALTHCHECKTIMEOUT -IDENTITY -IDENTITYCOL -IDENTITY_INSERT -IF -IIF -IN -INCLUDE -INCREMENT -INDEX -INFINITE -INIT -INNER -INSERT -INSTEAD -INTERSECT -INTO -IPV4_ADDR -IPV6_ADDR -IS -ISNULL -JOIN -KERBEROS -KEY -KEY_PATH -KEY_STORE_PROVIDER_NAME -KILL -LANGUAGE -LEFT -LIBRARY -LIFETIME -LIKE -LINENO -LINUX -LISTENER_IP -LISTENER_PORT -LOAD -LOCAL_SERVICE_NAME -LOG -MATCHED -MASTER -MAX_MEMORY -MAXTRANSFER -MAXVALUE -MAX_DISPATCH_LATENCY -MAX_EVENT_SIZE -MAX_SIZE -MAX_OUTSTANDING_IO_PER_VOLUME -MEDIADESCRIPTION -MEDIANAME -MEMBER -MEMORY_PARTITION_MODE -MERGE -MESSAGE_FORWARDING -MESSAGE_FORWARD_SIZE -MINVALUE -MIRROR -MUST_CHANGE -NATIONAL -NEGOTIATE -NOCHECK -NOFORMAT -NOINIT -NONCLUSTERED -NONE -NOREWIND -NOSKIP -NOUNLOAD -NO_CHECKSUM -NO_COMPRESSION -NO_EVENT_LOSS -NOT -NOTIFICATION -NTLM -NULL -NULLIF -OF -OFF -OFFSETS -OLD_PASSWORD -ON -ON_FAILURE -OPEN -OPENDATASOURCE -OPENQUERY -OPENROWSET -OPENXML -OPTION -OR -ORDER -OUTER -OVER -PAGE -PARAM_NODE -PARTIAL -PASSWORD -PERCENT -PERMISSION_SET -PER_CPU -PER_DB -PER_NODE -PIVOT -PLAN -PLATFORM -POLICY -PRECISION -PREDICATE -PRIMARY -PRINT -PROC -PROCEDURE -PROCESS -PUBLIC -PYTHON -R -RAISERROR -RAW -READ -READTEXT -READ_WRITE_FILEGROUPS -RECONFIGURE -REFERENCES -REGENERATE -RELATED_CONVERSATION -RELATED_CONVERSATION_GROUP -REPLICATION -REQUIRED -RESET -RESTART -RESTORE -RESTRICT -RESUME -RETAINDAYS -RETURN -RETURNS -REVERT -REVOKE -REWIND -RIGHT -ROLLBACK -ROLE -ROWCOUNT -ROWGUIDCOL -RSA_512 -RSA_1024 -RSA_2048 -RSA_3072 -RSA_4096 -SAFETY -RULE -SAFE -SAVE -SCHEDULER -SCHEMA -SCHEME -SECURITYAUDIT -SELECT -SEMANTICKEYPHRASETABLE -SEMANTICSIMILARITYDETAILSTABLE -SEMANTICSIMILARITYTABLE -SERVER -SERVICE -SERVICE_BROKER -SERVICE_NAME -SESSION -SESSION_USER -SET -SETUSER -SHUTDOWN -SID -SKIP_KEYWORD -SOFTNUMA -SOME -SOURCE -SPECIFICATION -SPLIT -SQLDUMPERFLAGS -SQLDUMPERPATH -SQLDUMPERTIMEOUT -STATISTICS -STATE -STATS -START -STARTED -STARTUP_STATE -STOP -STOPPED -STOP_ON_ERROR -SUPPORTED -SYSTEM_USER -TABLE -TABLESAMPLE -TAPE -TARGET -TCP -TEXTSIZE -THEN -TO -TOP -TRACK_CAUSALITY -TRAN -TRANSACTION -TRANSFER -TRIGGER -TRUNCATE -TSEQUAL -UNCHECKED -UNION -UNIQUE -UNLOCK -UNPIVOT -UNSAFE -UPDATE -UPDATETEXT -URL -USE -USED -USER -VALUES -VARYING -VERBOSELOGGING -VIEW -VISIBILITY -WAITFOR -WHEN -WHERE -WHILE -WINDOWS -WITH -WITHIN -WITHOUT -WITNESS -WRITETEXT -ABSOLUTE -ACCENT_SENSITIVITY -ACTION -ACTIVATION -ACTIVE -ADDRESS -AES_128 -AES_192 -AES_256 -AFFINITY -AFTER -AGGREGATE -ALGORITHM -ALLOW_ENCRYPTED_VALUE_MODIFICATIONS -ALLOW_SNAPSHOT_ISOLATION -ALLOWED -ANSI_NULL_DEFAULT -ANSI_NULLS -ANSI_PADDING -ANSI_WARNINGS -APPLICATION_LOG -APPLY -ARITHABORT -ASSEMBLY -AUDIT -AUDIT_GUID -AUTO -AUTO_CLEANUP -AUTO_CLOSE -AUTO_CREATE_STATISTICS -AUTO_SHRINK -AUTO_UPDATE_STATISTICS -AUTO_UPDATE_STATISTICS_ASYNC -AVAILABILITY -AVG -BACKUP_PRIORITY -BEGIN_DIALOG -BIGINT -BINARY_BASE64 -BINARY_CHECKSUM -BINDING -BLOB_STORAGE -BROKER -BROKER_INSTANCE -BULK_LOGGED -CALLER -CAP_CPU_PERCENT -CAST -CATALOG -CATCH -CHANGE_RETENTION -CHANGE_TRACKING -CHECKSUM -CHECKSUM_AGG -CLEANUP -COLLECTION -COLUMN_MASTER_KEY -COMMITTED -COMPATIBILITY_LEVEL -CONCAT -CONCAT_NULL_YIELDS_NULL -CONTENT -CONTROL -COOKIE -COUNT -COUNT_BIG -COUNTER -CPU -CREATE_NEW -CREATION_DISPOSITION -CREDENTIAL -CRYPTOGRAPHIC -CURSOR_CLOSE_ON_COMMIT -CURSOR_DEFAULT -DATA -DATE_CORRELATION_OPTIMIZATION -DATEADD -DATEDIFF -DATENAME -DATEPART -DAYS -DB_CHAINING -DB_FAILOVER -DECRYPTION -DEFAULT_DOUBLE_QUOTE -DEFAULT_FULLTEXT_LANGUAGE -DEFAULT_LANGUAGE -DELAY -DELAYED_DURABILITY -DELETED -DENSE_RANK -DEPENDENTS -DES -DESCRIPTION -DESX -DHCP -DIALOG -DIRECTORY_NAME -DISABLE -DISABLE_BROKER -DISABLED -DISK_DRIVE -DOCUMENT -DYNAMIC -ELEMENTS -EMERGENCY -EMPTY -ENABLE -ENABLE_BROKER -ENCRYPTED_VALUE -ENCRYPTION -ENDPOINT_URL -ERROR_BROKER_CONVERSATIONS -EXCLUSIVE -EXECUTABLE -EXIST -EXPAND -EXPIRY_DATE -EXPLICIT -FAIL_OPERATION -FAILOVER_MODE -FAILURE -FAILURE_CONDITION_LEVEL -FAST -FAST_FORWARD -FILEGROUP -FILEGROWTH -FILEPATH -FILESTREAM -FILTER -FIRST -FIRST_VALUE -FOLLOWING -FORCE -FORCE_FAILOVER_ALLOW_DATA_LOSS -FORCED -FORMAT -FORWARD_ONLY -FULLSCAN -FULLTEXT -GB -GETDATE -GETUTCDATE -GLOBAL -GO -GROUP_MAX_REQUESTS -GROUPING -GROUPING_ID -HADR -HASH -HEALTH_CHECK_TIMEOUT -HIGH -HONOR_BROKER_PRIORITY -HOURS -IDENTITY_VALUE -IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX -IMMEDIATE -IMPERSONATE -IMPORTANCE -INCLUDE_NULL_VALUES -INCREMENTAL -INITIATOR -INPUT -INSENSITIVE -INSERTED -INT -IP -ISOLATION -JOB -JSON -KB -KEEP -KEEPFIXED -KEY_SOURCE -KEYS -KEYSET -LAG -LAST -LAST_VALUE -LEAD -LEVEL -LIST -LISTENER -LISTENER_URL -LOB_COMPACTION -LOCAL -LOCATION -LOCK -LOCK_ESCALATION -LOGIN -LOOP -LOW -MANUAL -MARK -MATERIALIZED -MAX -MAX_CPU_PERCENT -MAX_DOP -MAX_FILES -MAX_IOPS_PER_VOLUME -MAX_MEMORY_PERCENT -MAX_PROCESSES -MAX_QUEUE_READERS -MAX_ROLLOVER_FILES -MAXDOP -MAXRECURSION -MAXSIZE -MB -MEDIUM -MEMORY_OPTIMIZED_DATA -MESSAGE -MIN -MIN_ACTIVE_ROWVERSION -MIN_CPU_PERCENT -MIN_IOPS_PER_VOLUME -MIN_MEMORY_PERCENT -MINUTES -MIRROR_ADDRESS -MIXED_PAGE_ALLOCATION -MODE -MODIFY -MOVE -MULTI_USER -NAME -NESTED_TRIGGERS -NEW_ACCOUNT -NEW_BROKER -NEW_PASSWORD -NEXT -NO -NO_TRUNCATE -NO_WAIT -NOCOUNT -NODES -NOEXPAND -NON_TRANSACTED_ACCESS -NORECOMPUTE -NORECOVERY -NOWAIT -NTILE -NUMANODE -NUMBER -NUMERIC_ROUNDABORT -OBJECT -OFFLINE -OFFSET -OLD_ACCOUNT -ONLINE -ONLY -OPEN_EXISTING -OPTIMISTIC -OPTIMIZE -OUT -OUTPUT -OVERRIDE -OWNER -PAGE_VERIFY -PARAMETERIZATION -PARTITION -PARTITIONS -PARTNER -PATH -POISON_MESSAGE_HANDLING -POOL -PORT -PRECEDING -PRIMARY_ROLE -PRIOR -PRIORITY -PRIORITY_LEVEL -PRIVATE -PRIVATE_KEY -PRIVILEGES -PROCEDURE_NAME -PROPERTY -PROVIDER -PROVIDER_KEY_NAME -QUERY -QUEUE -QUEUE_DELAY -QUOTED_IDENTIFIER -RANGE -RANK -RC2 -RC4 -RC4_128 -READ_COMMITTED_SNAPSHOT -READ_ONLY -READ_ONLY_ROUTING_LIST -READ_WRITE -READONLY -REBUILD -RECEIVE -RECOMPILE -RECOVERY -RECURSIVE_TRIGGERS -RELATIVE -REMOTE -REMOTE_SERVICE_NAME -REMOVE -REORGANIZE -REPEATABLE -REPLICA -REQUEST_MAX_CPU_TIME_SEC -REQUEST_MAX_MEMORY_GRANT_PERCENT -REQUEST_MEMORY_GRANT_TIMEOUT_SEC -REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT -RESERVE_DISK_SPACE -RESOURCE -RESOURCE_MANAGER_LOCATION -RESTRICTED_USER -RETENTION -ROBUST -ROOT -ROUTE -ROW -ROW_NUMBER -ROWGUID -ROWS -SAMPLE -SCHEMABINDING -SCOPED -SCROLL -SCROLL_LOCKS -SEARCH -SECONDARY -SECONDARY_ONLY -SECONDARY_ROLE -SECONDS -SECRET -SECURITY -SECURITY_LOG -SEEDING_MODE -SELF -SEMI_SENSITIVE -SEND -SENT -SEQUENCE -SERIALIZABLE -SESSION_TIMEOUT -SETERROR -SHARE -SHOWPLAN -SIGNATURE -SIMPLE -SINGLE_USER -SIZE -SMALLINT -SNAPSHOT -SPATIAL_WINDOW_MAX_CELLS -STANDBY -START_DATE -STATIC -STATS_STREAM -STATUS -STATUSONLY -STDEV -STDEVP -STOPLIST -STRING_AGG -STUFF -SUBJECT -SUBSCRIPTION -SUM -SUSPEND -SYMMETRIC -SYNCHRONOUS_COMMIT -SYNONYM -SYSTEM -TAKE -TARGET_RECOVERY_TIME -TB -TEXTIMAGE_ON -THROW -TIES -TIME -TIMEOUT -TIMER -TINYINT -TORN_PAGE_DETECTION -TRANSFORM_NOISE_WORDS -TRIPLE_DES -TRIPLE_DES_3KEY -TRUSTWORTHY -TRY -TSQL -TWO_DIGIT_YEAR_CUTOFF -TYPE -TYPE_WARNING -UNBOUNDED -UNCOMMITTED -UNKNOWN -UNLIMITED -UOW -USING -VALID_XML -VALIDATION -VALUE -VAR -VARP -VIEW_METADATA -VIEWS -WAIT -WELL_FORMED_XML -WITHOUT_ARRAY_WRAPPER -WORK -WORKLOAD -XML -XMLDATA -XMLNAMESPACES -XMLSCHEMA -XSINIL -DOLLAR_ACTION -SPACE -COMMENT -LINE_COMMENT -DOUBLE_QUOTE_ID -SINGLE_QUOTE -SQUARE_BRACKET_ID -LOCAL_ID -DECIMAL -ID -QUOTED_URL -QUOTED_HOST_AND_PORT -STRING -BINARY -FLOAT -REAL -EQUAL -GREATER -LESS -EXCLAMATION -PLUS_ASSIGN -MINUS_ASSIGN -MULT_ASSIGN -DIV_ASSIGN -MOD_ASSIGN -AND_ASSIGN -XOR_ASSIGN -OR_ASSIGN -DOUBLE_BAR -DOT -UNDERLINE -AT -SHARP -DOLLAR -LR_BRACKET -RR_BRACKET -COMMA -SEMI -COLON -STAR -DIVIDE -MODULE -PLUS -MINUS -BIT_NOT -BIT_OR -BIT_AND -BIT_XOR -LETTER -IPV6_OCTECT -IPV4_OCTECT -DEC_DOT_DEC -HEX_DIGIT -DEC_DIGIT -FullWidthLetter - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 842, 10091, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318, 9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322, 4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327, 9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331, 4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336, 9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340, 4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345, 9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 4, 348, 9, 348, 4, 349, 9, 349, 4, 350, 9, 350, 4, 351, 9, 351, 4, 352, 9, 352, 4, 353, 9, 353, 4, 354, 9, 354, 4, 355, 9, 355, 4, 356, 9, 356, 4, 357, 9, 357, 4, 358, 9, 358, 4, 359, 9, 359, 4, 360, 9, 360, 4, 361, 9, 361, 4, 362, 9, 362, 4, 363, 9, 363, 4, 364, 9, 364, 4, 365, 9, 365, 4, 366, 9, 366, 4, 367, 9, 367, 4, 368, 9, 368, 4, 369, 9, 369, 4, 370, 9, 370, 4, 371, 9, 371, 4, 372, 9, 372, 4, 373, 9, 373, 4, 374, 9, 374, 4, 375, 9, 375, 4, 376, 9, 376, 4, 377, 9, 377, 4, 378, 9, 378, 4, 379, 9, 379, 4, 380, 9, 380, 4, 381, 9, 381, 4, 382, 9, 382, 4, 383, 9, 383, 4, 384, 9, 384, 4, 385, 9, 385, 4, 386, 9, 386, 4, 387, 9, 387, 4, 388, 9, 388, 4, 389, 9, 389, 4, 390, 9, 390, 4, 391, 9, 391, 4, 392, 9, 392, 4, 393, 9, 393, 4, 394, 9, 394, 4, 395, 9, 395, 4, 396, 9, 396, 4, 397, 9, 397, 4, 398, 9, 398, 4, 399, 9, 399, 4, 400, 9, 400, 4, 401, 9, 401, 4, 402, 9, 402, 4, 403, 9, 403, 4, 404, 9, 404, 4, 405, 9, 405, 4, 406, 9, 406, 4, 407, 9, 407, 4, 408, 9, 408, 4, 409, 9, 409, 4, 410, 9, 410, 4, 411, 9, 411, 4, 412, 9, 412, 4, 413, 9, 413, 4, 414, 9, 414, 4, 415, 9, 415, 4, 416, 9, 416, 4, 417, 9, 417, 4, 418, 9, 418, 4, 419, 9, 419, 4, 420, 9, 420, 4, 421, 9, 421, 4, 422, 9, 422, 4, 423, 9, 423, 4, 424, 9, 424, 4, 425, 9, 425, 4, 426, 9, 426, 4, 427, 9, 427, 4, 428, 9, 428, 4, 429, 9, 429, 4, 430, 9, 430, 4, 431, 9, 431, 4, 432, 9, 432, 4, 433, 9, 433, 4, 434, 9, 434, 4, 435, 9, 435, 4, 436, 9, 436, 4, 437, 9, 437, 4, 438, 9, 438, 4, 439, 9, 439, 4, 440, 9, 440, 4, 441, 9, 441, 4, 442, 9, 442, 4, 443, 9, 443, 4, 444, 9, 444, 4, 445, 9, 445, 4, 446, 9, 446, 4, 447, 9, 447, 4, 448, 9, 448, 4, 449, 9, 449, 4, 450, 9, 450, 4, 451, 9, 451, 4, 452, 9, 452, 4, 453, 9, 453, 4, 454, 9, 454, 4, 455, 9, 455, 4, 456, 9, 456, 4, 457, 9, 457, 4, 458, 9, 458, 4, 459, 9, 459, 4, 460, 9, 460, 4, 461, 9, 461, 4, 462, 9, 462, 4, 463, 9, 463, 4, 464, 9, 464, 4, 465, 9, 465, 4, 466, 9, 466, 4, 467, 9, 467, 4, 468, 9, 468, 4, 469, 9, 469, 4, 470, 9, 470, 4, 471, 9, 471, 4, 472, 9, 472, 4, 473, 9, 473, 4, 474, 9, 474, 4, 475, 9, 475, 4, 476, 9, 476, 4, 477, 9, 477, 4, 478, 9, 478, 4, 479, 9, 479, 4, 480, 9, 480, 4, 481, 9, 481, 4, 482, 9, 482, 4, 483, 9, 483, 4, 484, 9, 484, 4, 485, 9, 485, 4, 486, 9, 486, 4, 487, 9, 487, 4, 488, 9, 488, 4, 489, 9, 489, 4, 490, 9, 490, 4, 491, 9, 491, 4, 492, 9, 492, 4, 493, 9, 493, 4, 494, 9, 494, 4, 495, 9, 495, 4, 496, 9, 496, 4, 497, 9, 497, 4, 498, 9, 498, 4, 499, 9, 499, 4, 500, 9, 500, 4, 501, 9, 501, 4, 502, 9, 502, 4, 503, 9, 503, 4, 504, 9, 504, 4, 505, 9, 505, 4, 506, 9, 506, 4, 507, 9, 507, 4, 508, 9, 508, 4, 509, 9, 509, 4, 510, 9, 510, 4, 511, 9, 511, 4, 512, 9, 512, 4, 513, 9, 513, 4, 514, 9, 514, 4, 515, 9, 515, 4, 516, 9, 516, 4, 517, 9, 517, 4, 518, 9, 518, 4, 519, 9, 519, 4, 520, 9, 520, 4, 521, 9, 521, 4, 522, 9, 522, 4, 523, 9, 523, 4, 524, 9, 524, 4, 525, 9, 525, 4, 526, 9, 526, 4, 527, 9, 527, 4, 528, 9, 528, 4, 529, 9, 529, 4, 530, 9, 530, 4, 531, 9, 531, 4, 532, 9, 532, 4, 533, 9, 533, 4, 534, 9, 534, 4, 535, 9, 535, 4, 536, 9, 536, 4, 537, 9, 537, 4, 538, 9, 538, 4, 539, 9, 539, 4, 540, 9, 540, 4, 541, 9, 541, 4, 542, 9, 542, 4, 543, 9, 543, 4, 544, 9, 544, 4, 545, 9, 545, 4, 546, 9, 546, 4, 547, 9, 547, 4, 548, 9, 548, 4, 549, 9, 549, 4, 550, 9, 550, 4, 551, 9, 551, 4, 552, 9, 552, 4, 553, 9, 553, 4, 554, 9, 554, 4, 555, 9, 555, 4, 556, 9, 556, 4, 557, 9, 557, 4, 558, 9, 558, 4, 559, 9, 559, 4, 560, 9, 560, 4, 561, 9, 561, 4, 562, 9, 562, 4, 563, 9, 563, 4, 564, 9, 564, 4, 565, 9, 565, 4, 566, 9, 566, 4, 567, 9, 567, 4, 568, 9, 568, 4, 569, 9, 569, 4, 570, 9, 570, 4, 571, 9, 571, 4, 572, 9, 572, 4, 573, 9, 573, 4, 574, 9, 574, 4, 575, 9, 575, 4, 576, 9, 576, 4, 577, 9, 577, 4, 578, 9, 578, 4, 579, 9, 579, 4, 580, 9, 580, 4, 581, 9, 581, 4, 582, 9, 582, 4, 583, 9, 583, 4, 584, 9, 584, 4, 585, 9, 585, 4, 586, 9, 586, 4, 587, 9, 587, 4, 588, 9, 588, 4, 589, 9, 589, 4, 590, 9, 590, 4, 591, 9, 591, 4, 592, 9, 592, 4, 593, 9, 593, 4, 594, 9, 594, 4, 595, 9, 595, 4, 596, 9, 596, 4, 597, 9, 597, 4, 598, 9, 598, 4, 599, 9, 599, 4, 600, 9, 600, 4, 601, 9, 601, 4, 602, 9, 602, 4, 603, 9, 603, 4, 604, 9, 604, 4, 605, 9, 605, 4, 606, 9, 606, 4, 607, 9, 607, 4, 608, 9, 608, 4, 609, 9, 609, 4, 610, 9, 610, 4, 611, 9, 611, 4, 612, 9, 612, 4, 613, 9, 613, 4, 614, 9, 614, 4, 615, 9, 615, 4, 616, 9, 616, 4, 617, 9, 617, 4, 618, 9, 618, 4, 619, 9, 619, 4, 620, 9, 620, 4, 621, 9, 621, 4, 622, 9, 622, 4, 623, 9, 623, 4, 624, 9, 624, 4, 625, 9, 625, 4, 626, 9, 626, 4, 627, 9, 627, 4, 628, 9, 628, 4, 629, 9, 629, 4, 630, 9, 630, 4, 631, 9, 631, 4, 632, 9, 632, 4, 633, 9, 633, 4, 634, 9, 634, 4, 635, 9, 635, 4, 636, 9, 636, 4, 637, 9, 637, 4, 638, 9, 638, 4, 639, 9, 639, 4, 640, 9, 640, 4, 641, 9, 641, 4, 642, 9, 642, 4, 643, 9, 643, 4, 644, 9, 644, 4, 645, 9, 645, 4, 646, 9, 646, 4, 647, 9, 647, 4, 648, 9, 648, 4, 649, 9, 649, 4, 650, 9, 650, 4, 651, 9, 651, 4, 652, 9, 652, 4, 653, 9, 653, 4, 654, 9, 654, 4, 655, 9, 655, 4, 656, 9, 656, 4, 657, 9, 657, 4, 658, 9, 658, 4, 659, 9, 659, 4, 660, 9, 660, 4, 661, 9, 661, 4, 662, 9, 662, 4, 663, 9, 663, 4, 664, 9, 664, 4, 665, 9, 665, 4, 666, 9, 666, 4, 667, 9, 667, 4, 668, 9, 668, 4, 669, 9, 669, 4, 670, 9, 670, 4, 671, 9, 671, 4, 672, 9, 672, 4, 673, 9, 673, 4, 674, 9, 674, 4, 675, 9, 675, 4, 676, 9, 676, 4, 677, 9, 677, 4, 678, 9, 678, 4, 679, 9, 679, 4, 680, 9, 680, 4, 681, 9, 681, 4, 682, 9, 682, 4, 683, 9, 683, 4, 684, 9, 684, 4, 685, 9, 685, 4, 686, 9, 686, 4, 687, 9, 687, 4, 688, 9, 688, 4, 689, 9, 689, 4, 690, 9, 690, 4, 691, 9, 691, 4, 692, 9, 692, 4, 693, 9, 693, 4, 694, 9, 694, 4, 695, 9, 695, 4, 696, 9, 696, 4, 697, 9, 697, 4, 698, 9, 698, 4, 699, 9, 699, 4, 700, 9, 700, 4, 701, 9, 701, 4, 702, 9, 702, 4, 703, 9, 703, 4, 704, 9, 704, 4, 705, 9, 705, 4, 706, 9, 706, 4, 707, 9, 707, 4, 708, 9, 708, 4, 709, 9, 709, 4, 710, 9, 710, 4, 711, 9, 711, 4, 712, 9, 712, 4, 713, 9, 713, 4, 714, 9, 714, 4, 715, 9, 715, 4, 716, 9, 716, 4, 717, 9, 717, 4, 718, 9, 718, 4, 719, 9, 719, 4, 720, 9, 720, 4, 721, 9, 721, 4, 722, 9, 722, 4, 723, 9, 723, 4, 724, 9, 724, 4, 725, 9, 725, 4, 726, 9, 726, 4, 727, 9, 727, 4, 728, 9, 728, 4, 729, 9, 729, 4, 730, 9, 730, 4, 731, 9, 731, 4, 732, 9, 732, 4, 733, 9, 733, 4, 734, 9, 734, 4, 735, 9, 735, 4, 736, 9, 736, 4, 737, 9, 737, 4, 738, 9, 738, 4, 739, 9, 739, 4, 740, 9, 740, 4, 741, 9, 741, 4, 742, 9, 742, 4, 743, 9, 743, 4, 744, 9, 744, 4, 745, 9, 745, 4, 746, 9, 746, 4, 747, 9, 747, 4, 748, 9, 748, 4, 749, 9, 749, 4, 750, 9, 750, 4, 751, 9, 751, 4, 752, 9, 752, 4, 753, 9, 753, 4, 754, 9, 754, 4, 755, 9, 755, 4, 756, 9, 756, 4, 757, 9, 757, 4, 758, 9, 758, 4, 759, 9, 759, 4, 760, 9, 760, 4, 761, 9, 761, 4, 762, 9, 762, 4, 763, 9, 763, 4, 764, 9, 764, 4, 765, 9, 765, 4, 766, 9, 766, 4, 767, 9, 767, 4, 768, 9, 768, 4, 769, 9, 769, 4, 770, 9, 770, 4, 771, 9, 771, 4, 772, 9, 772, 4, 773, 9, 773, 4, 774, 9, 774, 4, 775, 9, 775, 4, 776, 9, 776, 4, 777, 9, 777, 4, 778, 9, 778, 4, 779, 9, 779, 4, 780, 9, 780, 4, 781, 9, 781, 4, 782, 9, 782, 4, 783, 9, 783, 4, 784, 9, 784, 4, 785, 9, 785, 4, 786, 9, 786, 4, 787, 9, 787, 4, 788, 9, 788, 4, 789, 9, 789, 4, 790, 9, 790, 4, 791, 9, 791, 4, 792, 9, 792, 4, 793, 9, 793, 4, 794, 9, 794, 4, 795, 9, 795, 4, 796, 9, 796, 4, 797, 9, 797, 4, 798, 9, 798, 4, 799, 9, 799, 4, 800, 9, 800, 4, 801, 9, 801, 4, 802, 9, 802, 4, 803, 9, 803, 4, 804, 9, 804, 4, 805, 9, 805, 4, 806, 9, 806, 4, 807, 9, 807, 4, 808, 9, 808, 4, 809, 9, 809, 4, 810, 9, 810, 4, 811, 9, 811, 4, 812, 9, 812, 4, 813, 9, 813, 4, 814, 9, 814, 4, 815, 9, 815, 4, 816, 9, 816, 4, 817, 9, 817, 4, 818, 9, 818, 4, 819, 9, 819, 4, 820, 9, 820, 4, 821, 9, 821, 4, 822, 9, 822, 4, 823, 9, 823, 4, 824, 9, 824, 4, 825, 9, 825, 4, 826, 9, 826, 4, 827, 9, 827, 4, 828, 9, 828, 4, 829, 9, 829, 4, 830, 9, 830, 4, 831, 9, 831, 4, 832, 9, 832, 4, 833, 9, 833, 4, 834, 9, 834, 4, 835, 9, 835, 4, 836, 9, 836, 4, 837, 9, 837, 4, 838, 9, 838, 4, 839, 9, 839, 4, 840, 9, 840, 4, 841, 9, 841, 4, 842, 9, 842, 4, 843, 9, 843, 4, 844, 9, 844, 4, 845, 9, 845, 4, 846, 9, 846, 4, 847, 9, 847, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 5, 70, 2392, 10, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 5, 117, 2844, 10, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132, 3, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 165, 5, 165, 3266, 10, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 5, 165, 3276, 10, 165, 3, 166, 5, 166, 3279, 10, 166, 3, 166, 5, 166, 3282, 10, 166, 3, 166, 5, 166, 3285, 10, 166, 3, 166, 5, 166, 3288, 10, 166, 3, 166, 5, 166, 3291, 10, 166, 3, 166, 3, 166, 5, 166, 3295, 10, 166, 3, 166, 5, 166, 3298, 10, 166, 3, 166, 5, 166, 3301, 10, 166, 3, 166, 5, 166, 3304, 10, 166, 3, 166, 3, 166, 5, 166, 3308, 10, 166, 3, 166, 5, 166, 3311, 10, 166, 3, 166, 5, 166, 3314, 10, 166, 3, 166, 5, 166, 3317, 10, 166, 3, 166, 3, 166, 5, 166, 3321, 10, 166, 3, 166, 5, 166, 3324, 10, 166, 3, 166, 5, 166, 3327, 10, 166, 3, 166, 5, 166, 3330, 10, 166, 3, 166, 3, 166, 5, 166, 3334, 10, 166, 3, 166, 5, 166, 3337, 10, 166, 3, 166, 5, 166, 3340, 10, 166, 3, 166, 5, 166, 3343, 10, 166, 3, 166, 3, 166, 5, 166, 3347, 10, 166, 3, 166, 5, 166, 3350, 10, 166, 3, 166, 5, 166, 3353, 10, 166, 3, 166, 5, 166, 3356, 10, 166, 3, 166, 3, 166, 5, 166, 3360, 10, 166, 3, 166, 5, 166, 3363, 10, 166, 3, 166, 5, 166, 3366, 10, 166, 3, 166, 5, 166, 3369, 10, 166, 3, 166, 3, 166, 5, 166, 3373, 10, 166, 3, 166, 5, 166, 3376, 10, 166, 3, 166, 5, 166, 3379, 10, 166, 3, 166, 5, 166, 3382, 10, 166, 3, 166, 5, 166, 3385, 10, 166, 3, 167, 3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 224, 3, 224, 3, 224, 3, 225, 3, 225, 3, 225, 3, 225, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 228, 3, 228, 3, 228, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 236, 3, 236, 3, 236, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 262, 3, 262, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 264, 3, 264, 3, 264, 3, 264, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 314, 3, 314, 3, 314, 3, 314, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 317, 3, 317, 3, 317, 3, 317, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 342, 3, 342, 3, 342, 3, 342, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 345, 3, 345, 3, 345, 3, 346, 3, 346, 3, 346, 3, 346, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 362, 3, 362, 3, 362, 3, 362, 3, 363, 3, 363, 3, 363, 3, 363, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 415, 3, 415, 3, 415, 3, 415, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 428, 3, 428, 3, 428, 3, 428, 5, 428, 5922, 10, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 448, 3, 448, 3, 448, 3, 448, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 473, 3, 473, 3, 473, 3, 473, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 482, 3, 482, 3, 482, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 521, 3, 521, 3, 521, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 525, 3, 525, 3, 525, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 546, 3, 546, 3, 546, 3, 546, 3, 547, 3, 547, 3, 547, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 549, 3, 549, 3, 549, 3, 549, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 551, 3, 551, 3, 551, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 555, 3, 555, 3, 555, 3, 555, 3, 555, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 557, 3, 557, 3, 557, 3, 557, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 571, 3, 571, 3, 571, 3, 571, 3, 571, 3, 572, 3, 572, 3, 572, 3, 572, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 576, 3, 576, 3, 576, 3, 576, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 588, 3, 588, 3, 588, 3, 589, 3, 589, 3, 589, 3, 589, 3, 589, 3, 589, 3, 589, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 592, 3, 592, 3, 592, 3, 592, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 610, 3, 610, 3, 610, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 633, 3, 633, 3, 633, 3, 633, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 653, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 664, 3, 664, 3, 664, 3, 664, 3, 665, 3, 665, 3, 665, 3, 665, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 696, 3, 696, 3, 696, 3, 696, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 702, 3, 702, 3, 702, 3, 702, 3, 702, 3, 702, 3, 702, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 723, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 744, 3, 744, 3, 744, 3, 744, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 752, 3, 752, 3, 752, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 765, 3, 765, 3, 765, 3, 765, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 768, 3, 768, 3, 768, 3, 768, 3, 768, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 774, 3, 774, 3, 774, 3, 774, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 779, 3, 779, 3, 779, 3, 779, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 788, 3, 788, 3, 788, 3, 788, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 794, 6, 794, 9808, 10, 794, 13, 794, 14, 794, 9809, 3, 794, 3, 794, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 7, 795, 9819, 10, 795, 12, 795, 14, 795, 9822, 11, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 796, 3, 796, 3, 796, 3, 796, 7, 796, 9833, 10, 796, 12, 796, 14, 796, 9836, 11, 796, 3, 796, 3, 796, 3, 797, 3, 797, 6, 797, 9842, 10, 797, 13, 797, 14, 797, 9843, 3, 797, 3, 797, 3, 798, 3, 798, 3, 799, 3, 799, 6, 799, 9852, 10, 799, 13, 799, 14, 799, 9853, 3, 799, 3, 799, 3, 800, 3, 800, 3, 800, 6, 800, 9861, 10, 800, 13, 800, 14, 800, 9862, 3, 801, 6, 801, 9866, 10, 801, 13, 801, 14, 801, 9867, 3, 802, 3, 802, 5, 802, 9872, 10, 802, 3, 802, 3, 802, 7, 802, 9876, 10, 802, 12, 802, 14, 802, 9879, 11, 802, 3, 803, 3, 803, 3, 803, 6, 803, 9884, 10, 803, 13, 803, 14, 803, 9885, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 6, 803, 9894, 10, 803, 13, 803, 14, 803, 9895, 3, 803, 3, 803, 6, 803, 9900, 10, 803, 13, 803, 14, 803, 9901, 5, 803, 9904, 10, 803, 3, 803, 5, 803, 9907, 10, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 804, 3, 804, 6, 804, 9915, 10, 804, 13, 804, 14, 804, 9916, 3, 804, 3, 804, 6, 804, 9921, 10, 804, 13, 804, 14, 804, 9922, 5, 804, 9925, 10, 804, 3, 804, 5, 804, 9928, 10, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 805, 5, 805, 9936, 10, 805, 3, 805, 3, 805, 3, 805, 3, 805, 7, 805, 9942, 10, 805, 12, 805, 14, 805, 9945, 11, 805, 3, 805, 3, 805, 3, 806, 3, 806, 3, 806, 7, 806, 9952, 10, 806, 12, 806, 14, 806, 9955, 11, 806, 3, 807, 3, 807, 3, 808, 3, 808, 5, 808, 9961, 10, 808, 3, 808, 3, 808, 5, 808, 9965, 10, 808, 3, 808, 6, 808, 9968, 10, 808, 13, 808, 14, 808, 9969, 3, 809, 3, 809, 3, 810, 3, 810, 3, 811, 3, 811, 3, 812, 3, 812, 3, 813, 3, 813, 3, 813, 3, 814, 3, 814, 3, 814, 3, 815, 3, 815, 3, 815, 3, 816, 3, 816, 3, 816, 3, 817, 3, 817, 3, 817, 3, 818, 3, 818, 3, 818, 3, 819, 3, 819, 3, 819, 3, 820, 3, 820, 3, 820, 3, 821, 3, 821, 3, 821, 3, 822, 3, 822, 3, 823, 3, 823, 3, 824, 3, 824, 3, 825, 3, 825, 3, 826, 3, 826, 3, 827, 3, 827, 3, 828, 3, 828, 3, 829, 3, 829, 3, 830, 3, 830, 3, 831, 3, 831, 3, 832, 3, 832, 3, 833, 3, 833, 3, 834, 3, 834, 3, 835, 3, 835, 3, 836, 3, 836, 3, 837, 3, 837, 3, 838, 3, 838, 3, 839, 3, 839, 3, 840, 3, 840, 3, 841, 3, 841, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 843, 5, 843, 10053, 10, 843, 3, 843, 5, 843, 10056, 10, 843, 3, 843, 3, 843, 3, 844, 6, 844, 10061, 10, 844, 13, 844, 14, 844, 10062, 3, 844, 3, 844, 6, 844, 10067, 10, 844, 13, 844, 14, 844, 10068, 3, 844, 6, 844, 10072, 10, 844, 13, 844, 14, 844, 10073, 3, 844, 3, 844, 3, 844, 3, 844, 6, 844, 10080, 10, 844, 13, 844, 14, 844, 10081, 5, 844, 10084, 10, 844, 3, 845, 3, 845, 3, 846, 3, 846, 3, 847, 3, 847, 3, 9820, 2, 848, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 87, 173, 88, 175, 89, 177, 90, 179, 91, 181, 92, 183, 93, 185, 94, 187, 95, 189, 96, 191, 97, 193, 98, 195, 99, 197, 100, 199, 101, 201, 102, 203, 103, 205, 104, 207, 105, 209, 106, 211, 107, 213, 108, 215, 109, 217, 110, 219, 111, 221, 112, 223, 113, 225, 114, 227, 115, 229, 116, 231, 117, 233, 118, 235, 119, 237, 120, 239, 121, 241, 122, 243, 123, 245, 124, 247, 125, 249, 126, 251, 127, 253, 128, 255, 129, 257, 130, 259, 131, 261, 132, 263, 133, 265, 134, 267, 135, 269, 136, 271, 137, 273, 138, 275, 139, 277, 140, 279, 141, 281, 142, 283, 143, 285, 144, 287, 145, 289, 146, 291, 147, 293, 148, 295, 149, 297, 150, 299, 151, 301, 152, 303, 153, 305, 154, 307, 155, 309, 156, 311, 157, 313, 158, 315, 159, 317, 160, 319, 161, 321, 162, 323, 163, 325, 164, 327, 165, 329, 166, 331, 167, 333, 168, 335, 169, 337, 170, 339, 171, 341, 172, 343, 173, 345, 174, 347, 175, 349, 176, 351, 177, 353, 178, 355, 179, 357, 180, 359, 181, 361, 182, 363, 183, 365, 184, 367, 185, 369, 186, 371, 187, 373, 188, 375, 189, 377, 190, 379, 191, 381, 192, 383, 193, 385, 194, 387, 195, 389, 196, 391, 197, 393, 198, 395, 199, 397, 200, 399, 201, 401, 202, 403, 203, 405, 204, 407, 205, 409, 206, 411, 207, 413, 208, 415, 209, 417, 210, 419, 211, 421, 212, 423, 213, 425, 214, 427, 215, 429, 216, 431, 217, 433, 218, 435, 219, 437, 220, 439, 221, 441, 222, 443, 223, 445, 224, 447, 225, 449, 226, 451, 227, 453, 228, 455, 229, 457, 230, 459, 231, 461, 232, 463, 233, 465, 234, 467, 235, 469, 236, 471, 237, 473, 238, 475, 239, 477, 240, 479, 241, 481, 242, 483, 243, 485, 244, 487, 245, 489, 246, 491, 247, 493, 248, 495, 249, 497, 250, 499, 251, 501, 252, 503, 253, 505, 254, 507, 255, 509, 256, 511, 257, 513, 258, 515, 259, 517, 260, 519, 261, 521, 262, 523, 263, 525, 264, 527, 265, 529, 266, 531, 267, 533, 268, 535, 269, 537, 270, 539, 271, 541, 272, 543, 273, 545, 274, 547, 275, 549, 276, 551, 277, 553, 278, 555, 279, 557, 280, 559, 281, 561, 282, 563, 283, 565, 284, 567, 285, 569, 286, 571, 287, 573, 288, 575, 289, 577, 290, 579, 291, 581, 292, 583, 293, 585, 294, 587, 295, 589, 296, 591, 297, 593, 298, 595, 299, 597, 300, 599, 301, 601, 302, 603, 303, 605, 304, 607, 305, 609, 306, 611, 307, 613, 308, 615, 309, 617, 310, 619, 311, 621, 312, 623, 313, 625, 314, 627, 315, 629, 316, 631, 317, 633, 318, 635, 319, 637, 320, 639, 321, 641, 322, 643, 323, 645, 324, 647, 325, 649, 326, 651, 327, 653, 328, 655, 329, 657, 330, 659, 331, 661, 332, 663, 333, 665, 334, 667, 335, 669, 336, 671, 337, 673, 338, 675, 339, 677, 340, 679, 341, 681, 342, 683, 343, 685, 344, 687, 345, 689, 346, 691, 347, 693, 348, 695, 349, 697, 350, 699, 351, 701, 352, 703, 353, 705, 354, 707, 355, 709, 356, 711, 357, 713, 358, 715, 359, 717, 360, 719, 361, 721, 362, 723, 363, 725, 364, 727, 365, 729, 366, 731, 367, 733, 368, 735, 369, 737, 370, 739, 371, 741, 372, 743, 373, 745, 374, 747, 375, 749, 376, 751, 377, 753, 378, 755, 379, 757, 380, 759, 381, 761, 382, 763, 383, 765, 384, 767, 385, 769, 386, 771, 387, 773, 388, 775, 389, 777, 390, 779, 391, 781, 392, 783, 393, 785, 394, 787, 395, 789, 396, 791, 397, 793, 398, 795, 399, 797, 400, 799, 401, 801, 402, 803, 403, 805, 404, 807, 405, 809, 406, 811, 407, 813, 408, 815, 409, 817, 410, 819, 411, 821, 412, 823, 413, 825, 414, 827, 415, 829, 416, 831, 417, 833, 418, 835, 419, 837, 420, 839, 421, 841, 422, 843, 423, 845, 424, 847, 425, 849, 426, 851, 427, 853, 428, 855, 429, 857, 430, 859, 431, 861, 432, 863, 433, 865, 434, 867, 435, 869, 436, 871, 437, 873, 438, 875, 439, 877, 440, 879, 441, 881, 442, 883, 443, 885, 444, 887, 445, 889, 446, 891, 447, 893, 448, 895, 449, 897, 450, 899, 451, 901, 452, 903, 453, 905, 454, 907, 455, 909, 456, 911, 457, 913, 458, 915, 459, 917, 460, 919, 461, 921, 462, 923, 463, 925, 464, 927, 465, 929, 466, 931, 467, 933, 468, 935, 469, 937, 470, 939, 471, 941, 472, 943, 473, 945, 474, 947, 475, 949, 476, 951, 477, 953, 478, 955, 479, 957, 480, 959, 481, 961, 482, 963, 483, 965, 484, 967, 485, 969, 486, 971, 487, 973, 488, 975, 489, 977, 490, 979, 491, 981, 492, 983, 493, 985, 494, 987, 495, 989, 496, 991, 497, 993, 498, 995, 499, 997, 500, 999, 501, 1001, 502, 1003, 503, 1005, 504, 1007, 505, 1009, 506, 1011, 507, 1013, 508, 1015, 509, 1017, 510, 1019, 511, 1021, 512, 1023, 513, 1025, 514, 1027, 515, 1029, 516, 1031, 517, 1033, 518, 1035, 519, 1037, 520, 1039, 521, 1041, 522, 1043, 523, 1045, 524, 1047, 525, 1049, 526, 1051, 527, 1053, 528, 1055, 529, 1057, 530, 1059, 531, 1061, 532, 1063, 533, 1065, 534, 1067, 535, 1069, 536, 1071, 537, 1073, 538, 1075, 539, 1077, 540, 1079, 541, 1081, 542, 1083, 543, 1085, 544, 1087, 545, 1089, 546, 1091, 547, 1093, 548, 1095, 549, 1097, 550, 1099, 551, 1101, 552, 1103, 553, 1105, 554, 1107, 555, 1109, 556, 1111, 557, 1113, 558, 1115, 559, 1117, 560, 1119, 561, 1121, 562, 1123, 563, 1125, 564, 1127, 565, 1129, 566, 1131, 567, 1133, 568, 1135, 569, 1137, 570, 1139, 571, 1141, 572, 1143, 573, 1145, 574, 1147, 575, 1149, 576, 1151, 577, 1153, 578, 1155, 579, 1157, 580, 1159, 581, 1161, 582, 1163, 583, 1165, 584, 1167, 585, 1169, 586, 1171, 587, 1173, 588, 1175, 589, 1177, 590, 1179, 591, 1181, 592, 1183, 593, 1185, 594, 1187, 595, 1189, 596, 1191, 597, 1193, 598, 1195, 599, 1197, 600, 1199, 601, 1201, 602, 1203, 603, 1205, 604, 1207, 605, 1209, 606, 1211, 607, 1213, 608, 1215, 609, 1217, 610, 1219, 611, 1221, 612, 1223, 613, 1225, 614, 1227, 615, 1229, 616, 1231, 617, 1233, 618, 1235, 619, 1237, 620, 1239, 621, 1241, 622, 1243, 623, 1245, 624, 1247, 625, 1249, 626, 1251, 627, 1253, 628, 1255, 629, 1257, 630, 1259, 631, 1261, 632, 1263, 633, 1265, 634, 1267, 635, 1269, 636, 1271, 637, 1273, 638, 1275, 639, 1277, 640, 1279, 641, 1281, 642, 1283, 643, 1285, 644, 1287, 645, 1289, 646, 1291, 647, 1293, 648, 1295, 649, 1297, 650, 1299, 651, 1301, 652, 1303, 653, 1305, 654, 1307, 655, 1309, 656, 1311, 657, 1313, 658, 1315, 659, 1317, 660, 1319, 661, 1321, 662, 1323, 663, 1325, 664, 1327, 665, 1329, 666, 1331, 667, 1333, 668, 1335, 669, 1337, 670, 1339, 671, 1341, 672, 1343, 673, 1345, 674, 1347, 675, 1349, 676, 1351, 677, 1353, 678, 1355, 679, 1357, 680, 1359, 681, 1361, 682, 1363, 683, 1365, 684, 1367, 685, 1369, 686, 1371, 687, 1373, 688, 1375, 689, 1377, 690, 1379, 691, 1381, 692, 1383, 693, 1385, 694, 1387, 695, 1389, 696, 1391, 697, 1393, 698, 1395, 699, 1397, 700, 1399, 701, 1401, 702, 1403, 703, 1405, 704, 1407, 705, 1409, 706, 1411, 707, 1413, 708, 1415, 709, 1417, 710, 1419, 711, 1421, 712, 1423, 713, 1425, 714, 1427, 715, 1429, 716, 1431, 717, 1433, 718, 1435, 719, 1437, 720, 1439, 721, 1441, 722, 1443, 723, 1445, 724, 1447, 725, 1449, 726, 1451, 727, 1453, 728, 1455, 729, 1457, 730, 1459, 731, 1461, 732, 1463, 733, 1465, 734, 1467, 735, 1469, 736, 1471, 737, 1473, 738, 1475, 739, 1477, 740, 1479, 741, 1481, 742, 1483, 743, 1485, 744, 1487, 745, 1489, 746, 1491, 747, 1493, 748, 1495, 749, 1497, 750, 1499, 751, 1501, 752, 1503, 753, 1505, 754, 1507, 755, 1509, 756, 1511, 757, 1513, 758, 1515, 759, 1517, 760, 1519, 761, 1521, 762, 1523, 763, 1525, 764, 1527, 765, 1529, 766, 1531, 767, 1533, 768, 1535, 769, 1537, 770, 1539, 771, 1541, 772, 1543, 773, 1545, 774, 1547, 775, 1549, 776, 1551, 777, 1553, 778, 1555, 779, 1557, 780, 1559, 781, 1561, 782, 1563, 783, 1565, 784, 1567, 785, 1569, 786, 1571, 787, 1573, 788, 1575, 789, 1577, 790, 1579, 791, 1581, 792, 1583, 793, 1585, 794, 1587, 795, 1589, 796, 1591, 797, 1593, 798, 1595, 799, 1597, 800, 1599, 801, 1601, 802, 1603, 803, 1605, 804, 1607, 805, 1609, 806, 1611, 807, 1613, 808, 1615, 809, 1617, 810, 1619, 811, 1621, 812, 1623, 813, 1625, 814, 1627, 815, 1629, 816, 1631, 817, 1633, 818, 1635, 819, 1637, 820, 1639, 821, 1641, 822, 1643, 823, 1645, 824, 1647, 825, 1649, 826, 1651, 827, 1653, 828, 1655, 829, 1657, 830, 1659, 831, 1661, 832, 1663, 833, 1665, 834, 1667, 835, 1669, 836, 1671, 837, 1673, 838, 1675, 839, 1677, 840, 1679, 841, 1681, 2, 1683, 2, 1685, 842, 1687, 2, 1689, 2, 1691, 2, 1693, 2, 3, 2, 17, 3, 2, 41, 41, 4, 2, 50, 59, 67, 72, 3, 2, 60, 60, 3, 2, 36, 36, 3, 2, 67, 92, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 12, 12, 15, 15, 3, 2, 95, 95, 6, 2, 37, 38, 50, 59, 66, 92, 97, 97, 5, 2, 37, 37, 67, 92, 97, 97, 3, 2, 48, 48, 4, 2, 45, 45, 47, 47, 4, 2, 67, 92, 97, 97, 3, 2, 50, 59, 12, 2, 194, 216, 218, 248, 250, 8193, 11266, 12289, 12354, 12689, 13058, 13185, 13314, 16385, 19970, 55297, 63746, 64257, 65282, 65522, 2, 10159, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2, 2, 121, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3, 2, 2, 2, 2, 129, 3, 2, 2, 2, 2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2, 145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 151, 3, 2, 2, 2, 2, 153, 3, 2, 2, 2, 2, 155, 3, 2, 2, 2, 2, 157, 3, 2, 2, 2, 2, 159, 3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 163, 3, 2, 2, 2, 2, 165, 3, 2, 2, 2, 2, 167, 3, 2, 2, 2, 2, 169, 3, 2, 2, 2, 2, 171, 3, 2, 2, 2, 2, 173, 3, 2, 2, 2, 2, 175, 3, 2, 2, 2, 2, 177, 3, 2, 2, 2, 2, 179, 3, 2, 2, 2, 2, 181, 3, 2, 2, 2, 2, 183, 3, 2, 2, 2, 2, 185, 3, 2, 2, 2, 2, 187, 3, 2, 2, 2, 2, 189, 3, 2, 2, 2, 2, 191, 3, 2, 2, 2, 2, 193, 3, 2, 2, 2, 2, 195, 3, 2, 2, 2, 2, 197, 3, 2, 2, 2, 2, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 2, 237, 3, 2, 2, 2, 2, 239, 3, 2, 2, 2, 2, 241, 3, 2, 2, 2, 2, 243, 3, 2, 2, 2, 2, 245, 3, 2, 2, 2, 2, 247, 3, 2, 2, 2, 2, 249, 3, 2, 2, 2, 2, 251, 3, 2, 2, 2, 2, 253, 3, 2, 2, 2, 2, 255, 3, 2, 2, 2, 2, 257, 3, 2, 2, 2, 2, 259, 3, 2, 2, 2, 2, 261, 3, 2, 2, 2, 2, 263, 3, 2, 2, 2, 2, 265, 3, 2, 2, 2, 2, 267, 3, 2, 2, 2, 2, 269, 3, 2, 2, 2, 2, 271, 3, 2, 2, 2, 2, 273, 3, 2, 2, 2, 2, 275, 3, 2, 2, 2, 2, 277, 3, 2, 2, 2, 2, 279, 3, 2, 2, 2, 2, 281, 3, 2, 2, 2, 2, 283, 3, 2, 2, 2, 2, 285, 3, 2, 2, 2, 2, 287, 3, 2, 2, 2, 2, 289, 3, 2, 2, 2, 2, 291, 3, 2, 2, 2, 2, 293, 3, 2, 2, 2, 2, 295, 3, 2, 2, 2, 2, 297, 3, 2, 2, 2, 2, 299, 3, 2, 2, 2, 2, 301, 3, 2, 2, 2, 2, 303, 3, 2, 2, 2, 2, 305, 3, 2, 2, 2, 2, 307, 3, 2, 2, 2, 2, 309, 3, 2, 2, 2, 2, 311, 3, 2, 2, 2, 2, 313, 3, 2, 2, 2, 2, 315, 3, 2, 2, 2, 2, 317, 3, 2, 2, 2, 2, 319, 3, 2, 2, 2, 2, 321, 3, 2, 2, 2, 2, 323, 3, 2, 2, 2, 2, 325, 3, 2, 2, 2, 2, 327, 3, 2, 2, 2, 2, 329, 3, 2, 2, 2, 2, 331, 3, 2, 2, 2, 2, 333, 3, 2, 2, 2, 2, 335, 3, 2, 2, 2, 2, 337, 3, 2, 2, 2, 2, 339, 3, 2, 2, 2, 2, 341, 3, 2, 2, 2, 2, 343, 3, 2, 2, 2, 2, 345, 3, 2, 2, 2, 2, 347, 3, 2, 2, 2, 2, 349, 3, 2, 2, 2, 2, 351, 3, 2, 2, 2, 2, 353, 3, 2, 2, 2, 2, 355, 3, 2, 2, 2, 2, 357, 3, 2, 2, 2, 2, 359, 3, 2, 2, 2, 2, 361, 3, 2, 2, 2, 2, 363, 3, 2, 2, 2, 2, 365, 3, 2, 2, 2, 2, 367, 3, 2, 2, 2, 2, 369, 3, 2, 2, 2, 2, 371, 3, 2, 2, 2, 2, 373, 3, 2, 2, 2, 2, 375, 3, 2, 2, 2, 2, 377, 3, 2, 2, 2, 2, 379, 3, 2, 2, 2, 2, 381, 3, 2, 2, 2, 2, 383, 3, 2, 2, 2, 2, 385, 3, 2, 2, 2, 2, 387, 3, 2, 2, 2, 2, 389, 3, 2, 2, 2, 2, 391, 3, 2, 2, 2, 2, 393, 3, 2, 2, 2, 2, 395, 3, 2, 2, 2, 2, 397, 3, 2, 2, 2, 2, 399, 3, 2, 2, 2, 2, 401, 3, 2, 2, 2, 2, 403, 3, 2, 2, 2, 2, 405, 3, 2, 2, 2, 2, 407, 3, 2, 2, 2, 2, 409, 3, 2, 2, 2, 2, 411, 3, 2, 2, 2, 2, 413, 3, 2, 2, 2, 2, 415, 3, 2, 2, 2, 2, 417, 3, 2, 2, 2, 2, 419, 3, 2, 2, 2, 2, 421, 3, 2, 2, 2, 2, 423, 3, 2, 2, 2, 2, 425, 3, 2, 2, 2, 2, 427, 3, 2, 2, 2, 2, 429, 3, 2, 2, 2, 2, 431, 3, 2, 2, 2, 2, 433, 3, 2, 2, 2, 2, 435, 3, 2, 2, 2, 2, 437, 3, 2, 2, 2, 2, 439, 3, 2, 2, 2, 2, 441, 3, 2, 2, 2, 2, 443, 3, 2, 2, 2, 2, 445, 3, 2, 2, 2, 2, 447, 3, 2, 2, 2, 2, 449, 3, 2, 2, 2, 2, 451, 3, 2, 2, 2, 2, 453, 3, 2, 2, 2, 2, 455, 3, 2, 2, 2, 2, 457, 3, 2, 2, 2, 2, 459, 3, 2, 2, 2, 2, 461, 3, 2, 2, 2, 2, 463, 3, 2, 2, 2, 2, 465, 3, 2, 2, 2, 2, 467, 3, 2, 2, 2, 2, 469, 3, 2, 2, 2, 2, 471, 3, 2, 2, 2, 2, 473, 3, 2, 2, 2, 2, 475, 3, 2, 2, 2, 2, 477, 3, 2, 2, 2, 2, 479, 3, 2, 2, 2, 2, 481, 3, 2, 2, 2, 2, 483, 3, 2, 2, 2, 2, 485, 3, 2, 2, 2, 2, 487, 3, 2, 2, 2, 2, 489, 3, 2, 2, 2, 2, 491, 3, 2, 2, 2, 2, 493, 3, 2, 2, 2, 2, 495, 3, 2, 2, 2, 2, 497, 3, 2, 2, 2, 2, 499, 3, 2, 2, 2, 2, 501, 3, 2, 2, 2, 2, 503, 3, 2, 2, 2, 2, 505, 3, 2, 2, 2, 2, 507, 3, 2, 2, 2, 2, 509, 3, 2, 2, 2, 2, 511, 3, 2, 2, 2, 2, 513, 3, 2, 2, 2, 2, 515, 3, 2, 2, 2, 2, 517, 3, 2, 2, 2, 2, 519, 3, 2, 2, 2, 2, 521, 3, 2, 2, 2, 2, 523, 3, 2, 2, 2, 2, 525, 3, 2, 2, 2, 2, 527, 3, 2, 2, 2, 2, 529, 3, 2, 2, 2, 2, 531, 3, 2, 2, 2, 2, 533, 3, 2, 2, 2, 2, 535, 3, 2, 2, 2, 2, 537, 3, 2, 2, 2, 2, 539, 3, 2, 2, 2, 2, 541, 3, 2, 2, 2, 2, 543, 3, 2, 2, 2, 2, 545, 3, 2, 2, 2, 2, 547, 3, 2, 2, 2, 2, 549, 3, 2, 2, 2, 2, 551, 3, 2, 2, 2, 2, 553, 3, 2, 2, 2, 2, 555, 3, 2, 2, 2, 2, 557, 3, 2, 2, 2, 2, 559, 3, 2, 2, 2, 2, 561, 3, 2, 2, 2, 2, 563, 3, 2, 2, 2, 2, 565, 3, 2, 2, 2, 2, 567, 3, 2, 2, 2, 2, 569, 3, 2, 2, 2, 2, 571, 3, 2, 2, 2, 2, 573, 3, 2, 2, 2, 2, 575, 3, 2, 2, 2, 2, 577, 3, 2, 2, 2, 2, 579, 3, 2, 2, 2, 2, 581, 3, 2, 2, 2, 2, 583, 3, 2, 2, 2, 2, 585, 3, 2, 2, 2, 2, 587, 3, 2, 2, 2, 2, 589, 3, 2, 2, 2, 2, 591, 3, 2, 2, 2, 2, 593, 3, 2, 2, 2, 2, 595, 3, 2, 2, 2, 2, 597, 3, 2, 2, 2, 2, 599, 3, 2, 2, 2, 2, 601, 3, 2, 2, 2, 2, 603, 3, 2, 2, 2, 2, 605, 3, 2, 2, 2, 2, 607, 3, 2, 2, 2, 2, 609, 3, 2, 2, 2, 2, 611, 3, 2, 2, 2, 2, 613, 3, 2, 2, 2, 2, 615, 3, 2, 2, 2, 2, 617, 3, 2, 2, 2, 2, 619, 3, 2, 2, 2, 2, 621, 3, 2, 2, 2, 2, 623, 3, 2, 2, 2, 2, 625, 3, 2, 2, 2, 2, 627, 3, 2, 2, 2, 2, 629, 3, 2, 2, 2, 2, 631, 3, 2, 2, 2, 2, 633, 3, 2, 2, 2, 2, 635, 3, 2, 2, 2, 2, 637, 3, 2, 2, 2, 2, 639, 3, 2, 2, 2, 2, 641, 3, 2, 2, 2, 2, 643, 3, 2, 2, 2, 2, 645, 3, 2, 2, 2, 2, 647, 3, 2, 2, 2, 2, 649, 3, 2, 2, 2, 2, 651, 3, 2, 2, 2, 2, 653, 3, 2, 2, 2, 2, 655, 3, 2, 2, 2, 2, 657, 3, 2, 2, 2, 2, 659, 3, 2, 2, 2, 2, 661, 3, 2, 2, 2, 2, 663, 3, 2, 2, 2, 2, 665, 3, 2, 2, 2, 2, 667, 3, 2, 2, 2, 2, 669, 3, 2, 2, 2, 2, 671, 3, 2, 2, 2, 2, 673, 3, 2, 2, 2, 2, 675, 3, 2, 2, 2, 2, 677, 3, 2, 2, 2, 2, 679, 3, 2, 2, 2, 2, 681, 3, 2, 2, 2, 2, 683, 3, 2, 2, 2, 2, 685, 3, 2, 2, 2, 2, 687, 3, 2, 2, 2, 2, 689, 3, 2, 2, 2, 2, 691, 3, 2, 2, 2, 2, 693, 3, 2, 2, 2, 2, 695, 3, 2, 2, 2, 2, 697, 3, 2, 2, 2, 2, 699, 3, 2, 2, 2, 2, 701, 3, 2, 2, 2, 2, 703, 3, 2, 2, 2, 2, 705, 3, 2, 2, 2, 2, 707, 3, 2, 2, 2, 2, 709, 3, 2, 2, 2, 2, 711, 3, 2, 2, 2, 2, 713, 3, 2, 2, 2, 2, 715, 3, 2, 2, 2, 2, 717, 3, 2, 2, 2, 2, 719, 3, 2, 2, 2, 2, 721, 3, 2, 2, 2, 2, 723, 3, 2, 2, 2, 2, 725, 3, 2, 2, 2, 2, 727, 3, 2, 2, 2, 2, 729, 3, 2, 2, 2, 2, 731, 3, 2, 2, 2, 2, 733, 3, 2, 2, 2, 2, 735, 3, 2, 2, 2, 2, 737, 3, 2, 2, 2, 2, 739, 3, 2, 2, 2, 2, 741, 3, 2, 2, 2, 2, 743, 3, 2, 2, 2, 2, 745, 3, 2, 2, 2, 2, 747, 3, 2, 2, 2, 2, 749, 3, 2, 2, 2, 2, 751, 3, 2, 2, 2, 2, 753, 3, 2, 2, 2, 2, 755, 3, 2, 2, 2, 2, 757, 3, 2, 2, 2, 2, 759, 3, 2, 2, 2, 2, 761, 3, 2, 2, 2, 2, 763, 3, 2, 2, 2, 2, 765, 3, 2, 2, 2, 2, 767, 3, 2, 2, 2, 2, 769, 3, 2, 2, 2, 2, 771, 3, 2, 2, 2, 2, 773, 3, 2, 2, 2, 2, 775, 3, 2, 2, 2, 2, 777, 3, 2, 2, 2, 2, 779, 3, 2, 2, 2, 2, 781, 3, 2, 2, 2, 2, 783, 3, 2, 2, 2, 2, 785, 3, 2, 2, 2, 2, 787, 3, 2, 2, 2, 2, 789, 3, 2, 2, 2, 2, 791, 3, 2, 2, 2, 2, 793, 3, 2, 2, 2, 2, 795, 3, 2, 2, 2, 2, 797, 3, 2, 2, 2, 2, 799, 3, 2, 2, 2, 2, 801, 3, 2, 2, 2, 2, 803, 3, 2, 2, 2, 2, 805, 3, 2, 2, 2, 2, 807, 3, 2, 2, 2, 2, 809, 3, 2, 2, 2, 2, 811, 3, 2, 2, 2, 2, 813, 3, 2, 2, 2, 2, 815, 3, 2, 2, 2, 2, 817, 3, 2, 2, 2, 2, 819, 3, 2, 2, 2, 2, 821, 3, 2, 2, 2, 2, 823, 3, 2, 2, 2, 2, 825, 3, 2, 2, 2, 2, 827, 3, 2, 2, 2, 2, 829, 3, 2, 2, 2, 2, 831, 3, 2, 2, 2, 2, 833, 3, 2, 2, 2, 2, 835, 3, 2, 2, 2, 2, 837, 3, 2, 2, 2, 2, 839, 3, 2, 2, 2, 2, 841, 3, 2, 2, 2, 2, 843, 3, 2, 2, 2, 2, 845, 3, 2, 2, 2, 2, 847, 3, 2, 2, 2, 2, 849, 3, 2, 2, 2, 2, 851, 3, 2, 2, 2, 2, 853, 3, 2, 2, 2, 2, 855, 3, 2, 2, 2, 2, 857, 3, 2, 2, 2, 2, 859, 3, 2, 2, 2, 2, 861, 3, 2, 2, 2, 2, 863, 3, 2, 2, 2, 2, 865, 3, 2, 2, 2, 2, 867, 3, 2, 2, 2, 2, 869, 3, 2, 2, 2, 2, 871, 3, 2, 2, 2, 2, 873, 3, 2, 2, 2, 2, 875, 3, 2, 2, 2, 2, 877, 3, 2, 2, 2, 2, 879, 3, 2, 2, 2, 2, 881, 3, 2, 2, 2, 2, 883, 3, 2, 2, 2, 2, 885, 3, 2, 2, 2, 2, 887, 3, 2, 2, 2, 2, 889, 3, 2, 2, 2, 2, 891, 3, 2, 2, 2, 2, 893, 3, 2, 2, 2, 2, 895, 3, 2, 2, 2, 2, 897, 3, 2, 2, 2, 2, 899, 3, 2, 2, 2, 2, 901, 3, 2, 2, 2, 2, 903, 3, 2, 2, 2, 2, 905, 3, 2, 2, 2, 2, 907, 3, 2, 2, 2, 2, 909, 3, 2, 2, 2, 2, 911, 3, 2, 2, 2, 2, 913, 3, 2, 2, 2, 2, 915, 3, 2, 2, 2, 2, 917, 3, 2, 2, 2, 2, 919, 3, 2, 2, 2, 2, 921, 3, 2, 2, 2, 2, 923, 3, 2, 2, 2, 2, 925, 3, 2, 2, 2, 2, 927, 3, 2, 2, 2, 2, 929, 3, 2, 2, 2, 2, 931, 3, 2, 2, 2, 2, 933, 3, 2, 2, 2, 2, 935, 3, 2, 2, 2, 2, 937, 3, 2, 2, 2, 2, 939, 3, 2, 2, 2, 2, 941, 3, 2, 2, 2, 2, 943, 3, 2, 2, 2, 2, 945, 3, 2, 2, 2, 2, 947, 3, 2, 2, 2, 2, 949, 3, 2, 2, 2, 2, 951, 3, 2, 2, 2, 2, 953, 3, 2, 2, 2, 2, 955, 3, 2, 2, 2, 2, 957, 3, 2, 2, 2, 2, 959, 3, 2, 2, 2, 2, 961, 3, 2, 2, 2, 2, 963, 3, 2, 2, 2, 2, 965, 3, 2, 2, 2, 2, 967, 3, 2, 2, 2, 2, 969, 3, 2, 2, 2, 2, 971, 3, 2, 2, 2, 2, 973, 3, 2, 2, 2, 2, 975, 3, 2, 2, 2, 2, 977, 3, 2, 2, 2, 2, 979, 3, 2, 2, 2, 2, 981, 3, 2, 2, 2, 2, 983, 3, 2, 2, 2, 2, 985, 3, 2, 2, 2, 2, 987, 3, 2, 2, 2, 2, 989, 3, 2, 2, 2, 2, 991, 3, 2, 2, 2, 2, 993, 3, 2, 2, 2, 2, 995, 3, 2, 2, 2, 2, 997, 3, 2, 2, 2, 2, 999, 3, 2, 2, 2, 2, 1001, 3, 2, 2, 2, 2, 1003, 3, 2, 2, 2, 2, 1005, 3, 2, 2, 2, 2, 1007, 3, 2, 2, 2, 2, 1009, 3, 2, 2, 2, 2, 1011, 3, 2, 2, 2, 2, 1013, 3, 2, 2, 2, 2, 1015, 3, 2, 2, 2, 2, 1017, 3, 2, 2, 2, 2, 1019, 3, 2, 2, 2, 2, 1021, 3, 2, 2, 2, 2, 1023, 3, 2, 2, 2, 2, 1025, 3, 2, 2, 2, 2, 1027, 3, 2, 2, 2, 2, 1029, 3, 2, 2, 2, 2, 1031, 3, 2, 2, 2, 2, 1033, 3, 2, 2, 2, 2, 1035, 3, 2, 2, 2, 2, 1037, 3, 2, 2, 2, 2, 1039, 3, 2, 2, 2, 2, 1041, 3, 2, 2, 2, 2, 1043, 3, 2, 2, 2, 2, 1045, 3, 2, 2, 2, 2, 1047, 3, 2, 2, 2, 2, 1049, 3, 2, 2, 2, 2, 1051, 3, 2, 2, 2, 2, 1053, 3, 2, 2, 2, 2, 1055, 3, 2, 2, 2, 2, 1057, 3, 2, 2, 2, 2, 1059, 3, 2, 2, 2, 2, 1061, 3, 2, 2, 2, 2, 1063, 3, 2, 2, 2, 2, 1065, 3, 2, 2, 2, 2, 1067, 3, 2, 2, 2, 2, 1069, 3, 2, 2, 2, 2, 1071, 3, 2, 2, 2, 2, 1073, 3, 2, 2, 2, 2, 1075, 3, 2, 2, 2, 2, 1077, 3, 2, 2, 2, 2, 1079, 3, 2, 2, 2, 2, 1081, 3, 2, 2, 2, 2, 1083, 3, 2, 2, 2, 2, 1085, 3, 2, 2, 2, 2, 1087, 3, 2, 2, 2, 2, 1089, 3, 2, 2, 2, 2, 1091, 3, 2, 2, 2, 2, 1093, 3, 2, 2, 2, 2, 1095, 3, 2, 2, 2, 2, 1097, 3, 2, 2, 2, 2, 1099, 3, 2, 2, 2, 2, 1101, 3, 2, 2, 2, 2, 1103, 3, 2, 2, 2, 2, 1105, 3, 2, 2, 2, 2, 1107, 3, 2, 2, 2, 2, 1109, 3, 2, 2, 2, 2, 1111, 3, 2, 2, 2, 2, 1113, 3, 2, 2, 2, 2, 1115, 3, 2, 2, 2, 2, 1117, 3, 2, 2, 2, 2, 1119, 3, 2, 2, 2, 2, 1121, 3, 2, 2, 2, 2, 1123, 3, 2, 2, 2, 2, 1125, 3, 2, 2, 2, 2, 1127, 3, 2, 2, 2, 2, 1129, 3, 2, 2, 2, 2, 1131, 3, 2, 2, 2, 2, 1133, 3, 2, 2, 2, 2, 1135, 3, 2, 2, 2, 2, 1137, 3, 2, 2, 2, 2, 1139, 3, 2, 2, 2, 2, 1141, 3, 2, 2, 2, 2, 1143, 3, 2, 2, 2, 2, 1145, 3, 2, 2, 2, 2, 1147, 3, 2, 2, 2, 2, 1149, 3, 2, 2, 2, 2, 1151, 3, 2, 2, 2, 2, 1153, 3, 2, 2, 2, 2, 1155, 3, 2, 2, 2, 2, 1157, 3, 2, 2, 2, 2, 1159, 3, 2, 2, 2, 2, 1161, 3, 2, 2, 2, 2, 1163, 3, 2, 2, 2, 2, 1165, 3, 2, 2, 2, 2, 1167, 3, 2, 2, 2, 2, 1169, 3, 2, 2, 2, 2, 1171, 3, 2, 2, 2, 2, 1173, 3, 2, 2, 2, 2, 1175, 3, 2, 2, 2, 2, 1177, 3, 2, 2, 2, 2, 1179, 3, 2, 2, 2, 2, 1181, 3, 2, 2, 2, 2, 1183, 3, 2, 2, 2, 2, 1185, 3, 2, 2, 2, 2, 1187, 3, 2, 2, 2, 2, 1189, 3, 2, 2, 2, 2, 1191, 3, 2, 2, 2, 2, 1193, 3, 2, 2, 2, 2, 1195, 3, 2, 2, 2, 2, 1197, 3, 2, 2, 2, 2, 1199, 3, 2, 2, 2, 2, 1201, 3, 2, 2, 2, 2, 1203, 3, 2, 2, 2, 2, 1205, 3, 2, 2, 2, 2, 1207, 3, 2, 2, 2, 2, 1209, 3, 2, 2, 2, 2, 1211, 3, 2, 2, 2, 2, 1213, 3, 2, 2, 2, 2, 1215, 3, 2, 2, 2, 2, 1217, 3, 2, 2, 2, 2, 1219, 3, 2, 2, 2, 2, 1221, 3, 2, 2, 2, 2, 1223, 3, 2, 2, 2, 2, 1225, 3, 2, 2, 2, 2, 1227, 3, 2, 2, 2, 2, 1229, 3, 2, 2, 2, 2, 1231, 3, 2, 2, 2, 2, 1233, 3, 2, 2, 2, 2, 1235, 3, 2, 2, 2, 2, 1237, 3, 2, 2, 2, 2, 1239, 3, 2, 2, 2, 2, 1241, 3, 2, 2, 2, 2, 1243, 3, 2, 2, 2, 2, 1245, 3, 2, 2, 2, 2, 1247, 3, 2, 2, 2, 2, 1249, 3, 2, 2, 2, 2, 1251, 3, 2, 2, 2, 2, 1253, 3, 2, 2, 2, 2, 1255, 3, 2, 2, 2, 2, 1257, 3, 2, 2, 2, 2, 1259, 3, 2, 2, 2, 2, 1261, 3, 2, 2, 2, 2, 1263, 3, 2, 2, 2, 2, 1265, 3, 2, 2, 2, 2, 1267, 3, 2, 2, 2, 2, 1269, 3, 2, 2, 2, 2, 1271, 3, 2, 2, 2, 2, 1273, 3, 2, 2, 2, 2, 1275, 3, 2, 2, 2, 2, 1277, 3, 2, 2, 2, 2, 1279, 3, 2, 2, 2, 2, 1281, 3, 2, 2, 2, 2, 1283, 3, 2, 2, 2, 2, 1285, 3, 2, 2, 2, 2, 1287, 3, 2, 2, 2, 2, 1289, 3, 2, 2, 2, 2, 1291, 3, 2, 2, 2, 2, 1293, 3, 2, 2, 2, 2, 1295, 3, 2, 2, 2, 2, 1297, 3, 2, 2, 2, 2, 1299, 3, 2, 2, 2, 2, 1301, 3, 2, 2, 2, 2, 1303, 3, 2, 2, 2, 2, 1305, 3, 2, 2, 2, 2, 1307, 3, 2, 2, 2, 2, 1309, 3, 2, 2, 2, 2, 1311, 3, 2, 2, 2, 2, 1313, 3, 2, 2, 2, 2, 1315, 3, 2, 2, 2, 2, 1317, 3, 2, 2, 2, 2, 1319, 3, 2, 2, 2, 2, 1321, 3, 2, 2, 2, 2, 1323, 3, 2, 2, 2, 2, 1325, 3, 2, 2, 2, 2, 1327, 3, 2, 2, 2, 2, 1329, 3, 2, 2, 2, 2, 1331, 3, 2, 2, 2, 2, 1333, 3, 2, 2, 2, 2, 1335, 3, 2, 2, 2, 2, 1337, 3, 2, 2, 2, 2, 1339, 3, 2, 2, 2, 2, 1341, 3, 2, 2, 2, 2, 1343, 3, 2, 2, 2, 2, 1345, 3, 2, 2, 2, 2, 1347, 3, 2, 2, 2, 2, 1349, 3, 2, 2, 2, 2, 1351, 3, 2, 2, 2, 2, 1353, 3, 2, 2, 2, 2, 1355, 3, 2, 2, 2, 2, 1357, 3, 2, 2, 2, 2, 1359, 3, 2, 2, 2, 2, 1361, 3, 2, 2, 2, 2, 1363, 3, 2, 2, 2, 2, 1365, 3, 2, 2, 2, 2, 1367, 3, 2, 2, 2, 2, 1369, 3, 2, 2, 2, 2, 1371, 3, 2, 2, 2, 2, 1373, 3, 2, 2, 2, 2, 1375, 3, 2, 2, 2, 2, 1377, 3, 2, 2, 2, 2, 1379, 3, 2, 2, 2, 2, 1381, 3, 2, 2, 2, 2, 1383, 3, 2, 2, 2, 2, 1385, 3, 2, 2, 2, 2, 1387, 3, 2, 2, 2, 2, 1389, 3, 2, 2, 2, 2, 1391, 3, 2, 2, 2, 2, 1393, 3, 2, 2, 2, 2, 1395, 3, 2, 2, 2, 2, 1397, 3, 2, 2, 2, 2, 1399, 3, 2, 2, 2, 2, 1401, 3, 2, 2, 2, 2, 1403, 3, 2, 2, 2, 2, 1405, 3, 2, 2, 2, 2, 1407, 3, 2, 2, 2, 2, 1409, 3, 2, 2, 2, 2, 1411, 3, 2, 2, 2, 2, 1413, 3, 2, 2, 2, 2, 1415, 3, 2, 2, 2, 2, 1417, 3, 2, 2, 2, 2, 1419, 3, 2, 2, 2, 2, 1421, 3, 2, 2, 2, 2, 1423, 3, 2, 2, 2, 2, 1425, 3, 2, 2, 2, 2, 1427, 3, 2, 2, 2, 2, 1429, 3, 2, 2, 2, 2, 1431, 3, 2, 2, 2, 2, 1433, 3, 2, 2, 2, 2, 1435, 3, 2, 2, 2, 2, 1437, 3, 2, 2, 2, 2, 1439, 3, 2, 2, 2, 2, 1441, 3, 2, 2, 2, 2, 1443, 3, 2, 2, 2, 2, 1445, 3, 2, 2, 2, 2, 1447, 3, 2, 2, 2, 2, 1449, 3, 2, 2, 2, 2, 1451, 3, 2, 2, 2, 2, 1453, 3, 2, 2, 2, 2, 1455, 3, 2, 2, 2, 2, 1457, 3, 2, 2, 2, 2, 1459, 3, 2, 2, 2, 2, 1461, 3, 2, 2, 2, 2, 1463, 3, 2, 2, 2, 2, 1465, 3, 2, 2, 2, 2, 1467, 3, 2, 2, 2, 2, 1469, 3, 2, 2, 2, 2, 1471, 3, 2, 2, 2, 2, 1473, 3, 2, 2, 2, 2, 1475, 3, 2, 2, 2, 2, 1477, 3, 2, 2, 2, 2, 1479, 3, 2, 2, 2, 2, 1481, 3, 2, 2, 2, 2, 1483, 3, 2, 2, 2, 2, 1485, 3, 2, 2, 2, 2, 1487, 3, 2, 2, 2, 2, 1489, 3, 2, 2, 2, 2, 1491, 3, 2, 2, 2, 2, 1493, 3, 2, 2, 2, 2, 1495, 3, 2, 2, 2, 2, 1497, 3, 2, 2, 2, 2, 1499, 3, 2, 2, 2, 2, 1501, 3, 2, 2, 2, 2, 1503, 3, 2, 2, 2, 2, 1505, 3, 2, 2, 2, 2, 1507, 3, 2, 2, 2, 2, 1509, 3, 2, 2, 2, 2, 1511, 3, 2, 2, 2, 2, 1513, 3, 2, 2, 2, 2, 1515, 3, 2, 2, 2, 2, 1517, 3, 2, 2, 2, 2, 1519, 3, 2, 2, 2, 2, 1521, 3, 2, 2, 2, 2, 1523, 3, 2, 2, 2, 2, 1525, 3, 2, 2, 2, 2, 1527, 3, 2, 2, 2, 2, 1529, 3, 2, 2, 2, 2, 1531, 3, 2, 2, 2, 2, 1533, 3, 2, 2, 2, 2, 1535, 3, 2, 2, 2, 2, 1537, 3, 2, 2, 2, 2, 1539, 3, 2, 2, 2, 2, 1541, 3, 2, 2, 2, 2, 1543, 3, 2, 2, 2, 2, 1545, 3, 2, 2, 2, 2, 1547, 3, 2, 2, 2, 2, 1549, 3, 2, 2, 2, 2, 1551, 3, 2, 2, 2, 2, 1553, 3, 2, 2, 2, 2, 1555, 3, 2, 2, 2, 2, 1557, 3, 2, 2, 2, 2, 1559, 3, 2, 2, 2, 2, 1561, 3, 2, 2, 2, 2, 1563, 3, 2, 2, 2, 2, 1565, 3, 2, 2, 2, 2, 1567, 3, 2, 2, 2, 2, 1569, 3, 2, 2, 2, 2, 1571, 3, 2, 2, 2, 2, 1573, 3, 2, 2, 2, 2, 1575, 3, 2, 2, 2, 2, 1577, 3, 2, 2, 2, 2, 1579, 3, 2, 2, 2, 2, 1581, 3, 2, 2, 2, 2, 1583, 3, 2, 2, 2, 2, 1585, 3, 2, 2, 2, 2, 1587, 3, 2, 2, 2, 2, 1589, 3, 2, 2, 2, 2, 1591, 3, 2, 2, 2, 2, 1593, 3, 2, 2, 2, 2, 1595, 3, 2, 2, 2, 2, 1597, 3, 2, 2, 2, 2, 1599, 3, 2, 2, 2, 2, 1601, 3, 2, 2, 2, 2, 1603, 3, 2, 2, 2, 2, 1605, 3, 2, 2, 2, 2, 1607, 3, 2, 2, 2, 2, 1609, 3, 2, 2, 2, 2, 1611, 3, 2, 2, 2, 2, 1613, 3, 2, 2, 2, 2, 1615, 3, 2, 2, 2, 2, 1617, 3, 2, 2, 2, 2, 1619, 3, 2, 2, 2, 2, 1621, 3, 2, 2, 2, 2, 1623, 3, 2, 2, 2, 2, 1625, 3, 2, 2, 2, 2, 1627, 3, 2, 2, 2, 2, 1629, 3, 2, 2, 2, 2, 1631, 3, 2, 2, 2, 2, 1633, 3, 2, 2, 2, 2, 1635, 3, 2, 2, 2, 2, 1637, 3, 2, 2, 2, 2, 1639, 3, 2, 2, 2, 2, 1641, 3, 2, 2, 2, 2, 1643, 3, 2, 2, 2, 2, 1645, 3, 2, 2, 2, 2, 1647, 3, 2, 2, 2, 2, 1649, 3, 2, 2, 2, 2, 1651, 3, 2, 2, 2, 2, 1653, 3, 2, 2, 2, 2, 1655, 3, 2, 2, 2, 2, 1657, 3, 2, 2, 2, 2, 1659, 3, 2, 2, 2, 2, 1661, 3, 2, 2, 2, 2, 1663, 3, 2, 2, 2, 2, 1665, 3, 2, 2, 2, 2, 1667, 3, 2, 2, 2, 2, 1669, 3, 2, 2, 2, 2, 1671, 3, 2, 2, 2, 2, 1673, 3, 2, 2, 2, 2, 1675, 3, 2, 2, 2, 2, 1677, 3, 2, 2, 2, 2, 1679, 3, 2, 2, 2, 2, 1685, 3, 2, 2, 2, 3, 1695, 3, 2, 2, 2, 5, 1702, 3, 2, 2, 2, 7, 1706, 3, 2, 2, 2, 9, 1710, 3, 2, 2, 2, 11, 1714, 3, 2, 2, 2, 13, 1732, 3, 2, 2, 2, 15, 1758, 3, 2, 2, 2, 17, 1782, 3, 2, 2, 2, 19, 1788, 3, 2, 2, 2, 21, 1792, 3, 2, 2, 2, 23, 1802, 3, 2, 2, 2, 25, 1806, 3, 2, 2, 2, 27, 1813, 3, 2, 2, 2, 29, 1825, 3, 2, 2, 2, 31, 1828, 3, 2, 2, 2, 33, 1832, 3, 2, 2, 2, 35, 1843, 3, 2, 2, 2, 37, 1863, 3, 2, 2, 2, 39, 1877, 3, 2, 2, 2, 41, 1892, 3, 2, 2, 2, 43, 1920, 3, 2, 2, 2, 45, 1930, 3, 2, 2, 2, 47, 1948, 3, 2, 2, 2, 49, 1950, 3, 2, 2, 2, 51, 1957, 3, 2, 2, 2, 53, 1964, 3, 2, 2, 2, 55, 1970, 3, 2, 2, 2, 57, 1978, 3, 2, 2, 2, 59, 1984, 3, 2, 2, 2, 61, 1994, 3, 2, 2, 2, 63, 2013, 3, 2, 2, 2, 65, 2019, 3, 2, 2, 2, 67, 2026, 3, 2, 2, 2, 69, 2033, 3, 2, 2, 2, 71, 2045, 3, 2, 2, 2, 73, 2050, 3, 2, 2, 2, 75, 2053, 3, 2, 2, 2, 77, 2059, 3, 2, 2, 2, 79, 2066, 3, 2, 2, 2, 81, 2074, 3, 2, 2, 2, 83, 2079, 3, 2, 2, 2, 85, 2091, 3, 2, 2, 2, 87, 2103, 3, 2, 2, 2, 89, 2111, 3, 2, 2, 2, 91, 2117, 3, 2, 2, 2, 93, 2128, 3, 2, 2, 2, 95, 2141, 3, 2, 2, 2, 97, 2158, 3, 2, 2, 2, 99, 2178, 3, 2, 2, 2, 101, 2184, 3, 2, 2, 2, 103, 2192, 3, 2, 2, 2, 105, 2202, 3, 2, 2, 2, 107, 2211, 3, 2, 2, 2, 109, 2219, 3, 2, 2, 2, 111, 2226, 3, 2, 2, 2, 113, 2238, 3, 2, 2, 2, 115, 2245, 3, 2, 2, 2, 117, 2253, 3, 2, 2, 2, 119, 2267, 3, 2, 2, 2, 121, 2278, 3, 2, 2, 2, 123, 2290, 3, 2, 2, 2, 125, 2299, 3, 2, 2, 2, 127, 2313, 3, 2, 2, 2, 129, 2321, 3, 2, 2, 2, 131, 2330, 3, 2, 2, 2, 133, 2351, 3, 2, 2, 2, 135, 2360, 3, 2, 2, 2, 137, 2374, 3, 2, 2, 2, 139, 2391, 3, 2, 2, 2, 141, 2401, 3, 2, 2, 2, 143, 2411, 3, 2, 2, 2, 145, 2418, 3, 2, 2, 2, 147, 2424, 3, 2, 2, 2, 149, 2432, 3, 2, 2, 2, 151, 2445, 3, 2, 2, 2, 153, 2458, 3, 2, 2, 2, 155, 2476, 3, 2, 2, 2, 157, 2489, 3, 2, 2, 2, 159, 2496, 3, 2, 2, 2, 161, 2502, 3, 2, 2, 2, 163, 2519, 3, 2, 2, 2, 165, 2531, 3, 2, 2, 2, 167, 2540, 3, 2, 2, 2, 169, 2559, 3, 2, 2, 2, 171, 2564, 3, 2, 2, 2, 173, 2575, 3, 2, 2, 2, 175, 2583, 3, 2, 2, 2, 177, 2591, 3, 2, 2, 2, 179, 2608, 3, 2, 2, 2, 181, 2623, 3, 2, 2, 2, 183, 2630, 3, 2, 2, 2, 185, 2635, 3, 2, 2, 2, 187, 2640, 3, 2, 2, 2, 189, 2652, 3, 2, 2, 2, 191, 2665, 3, 2, 2, 2, 193, 2670, 3, 2, 2, 2, 195, 2679, 3, 2, 2, 2, 197, 2691, 3, 2, 2, 2, 199, 2698, 3, 2, 2, 2, 201, 2701, 3, 2, 2, 2, 203, 2704, 3, 2, 2, 2, 205, 2709, 3, 2, 2, 2, 207, 2721, 3, 2, 2, 2, 209, 2726, 3, 2, 2, 2, 211, 2731, 3, 2, 2, 2, 213, 2739, 3, 2, 2, 2, 215, 2743, 3, 2, 2, 2, 217, 2752, 3, 2, 2, 2, 219, 2759, 3, 2, 2, 2, 221, 2766, 3, 2, 2, 2, 223, 2772, 3, 2, 2, 2, 225, 2778, 3, 2, 2, 2, 227, 2791, 3, 2, 2, 2, 229, 2812, 3, 2, 2, 2, 231, 2819, 3, 2, 2, 2, 233, 2835, 3, 2, 2, 2, 235, 2845, 3, 2, 2, 2, 237, 2852, 3, 2, 2, 2, 239, 2863, 3, 2, 2, 2, 241, 2868, 3, 2, 2, 2, 243, 2878, 3, 2, 2, 2, 245, 2887, 3, 2, 2, 2, 247, 2903, 3, 2, 2, 2, 249, 2912, 3, 2, 2, 2, 251, 2934, 3, 2, 2, 2, 253, 2941, 3, 2, 2, 2, 255, 2947, 3, 2, 2, 2, 257, 2952, 3, 2, 2, 2, 259, 2961, 3, 2, 2, 2, 261, 2972, 3, 2, 2, 2, 263, 2986, 3, 2, 2, 2, 265, 2990, 3, 2, 2, 2, 267, 3000, 3, 2, 2, 2, 269, 3030, 3, 2, 2, 2, 271, 3038, 3, 2, 2, 2, 273, 3047, 3, 2, 2, 2, 275, 3061, 3, 2, 2, 2, 277, 3066, 3, 2, 2, 2, 279, 3071, 3, 2, 2, 2, 281, 3080, 3, 2, 2, 2, 283, 3084, 3, 2, 2, 2, 285, 3089, 3, 2, 2, 2, 287, 3098, 3, 2, 2, 2, 289, 3104, 3, 2, 2, 2, 291, 3110, 3, 2, 2, 2, 293, 3117, 3, 2, 2, 2, 295, 3124, 3, 2, 2, 2, 297, 3143, 3, 2, 2, 2, 299, 3152, 3, 2, 2, 2, 301, 3164, 3, 2, 2, 2, 303, 3180, 3, 2, 2, 2, 305, 3183, 3, 2, 2, 2, 307, 3187, 3, 2, 2, 2, 309, 3190, 3, 2, 2, 2, 311, 3198, 3, 2, 2, 2, 313, 3208, 3, 2, 2, 2, 315, 3214, 3, 2, 2, 2, 317, 3223, 3, 2, 2, 2, 319, 3228, 3, 2, 2, 2, 321, 3234, 3, 2, 2, 2, 323, 3241, 3, 2, 2, 2, 325, 3249, 3, 2, 2, 2, 327, 3259, 3, 2, 2, 2, 329, 3265, 3, 2, 2, 2, 331, 3278, 3, 2, 2, 2, 333, 3386, 3, 2, 2, 2, 335, 3389, 3, 2, 2, 2, 337, 3396, 3, 2, 2, 2, 339, 3401, 3, 2, 2, 2, 341, 3410, 3, 2, 2, 2, 343, 3414, 3, 2, 2, 2, 345, 3423, 3, 2, 2, 2, 347, 3447, 3, 2, 2, 2, 349, 3452, 3, 2, 2, 2, 351, 3461, 3, 2, 2, 2, 353, 3466, 3, 2, 2, 2, 355, 3474, 3, 2, 2, 2, 357, 3483, 3, 2, 2, 2, 359, 3488, 3, 2, 2, 2, 361, 3495, 3, 2, 2, 2, 363, 3501, 3, 2, 2, 2, 365, 3513, 3, 2, 2, 2, 367, 3527, 3, 2, 2, 2, 369, 3532, 3, 2, 2, 2, 371, 3551, 3, 2, 2, 2, 373, 3555, 3, 2, 2, 2, 375, 3563, 3, 2, 2, 2, 377, 3570, 3, 2, 2, 2, 379, 3581, 3, 2, 2, 2, 381, 3593, 3, 2, 2, 2, 383, 3602, 3, 2, 2, 2, 385, 3623, 3, 2, 2, 2, 387, 3638, 3, 2, 2, 2, 389, 3647, 3, 2, 2, 2, 391, 3677, 3, 2, 2, 2, 393, 3694, 3, 2, 2, 2, 395, 3704, 3, 2, 2, 2, 397, 3711, 3, 2, 2, 2, 399, 3733, 3, 2, 2, 2, 401, 3739, 3, 2, 2, 2, 403, 3758, 3, 2, 2, 2, 405, 3779, 3, 2, 2, 2, 407, 3788, 3, 2, 2, 2, 409, 3795, 3, 2, 2, 2, 411, 3807, 3, 2, 2, 2, 413, 3816, 3, 2, 2, 2, 415, 3826, 3, 2, 2, 2, 417, 3834, 3, 2, 2, 2, 419, 3843, 3, 2, 2, 2, 421, 3850, 3, 2, 2, 2, 423, 3863, 3, 2, 2, 2, 425, 3868, 3, 2, 2, 2, 427, 3877, 3, 2, 2, 2, 429, 3884, 3, 2, 2, 2, 431, 3893, 3, 2, 2, 2, 433, 3905, 3, 2, 2, 2, 435, 3920, 3, 2, 2, 2, 437, 3934, 3, 2, 2, 2, 439, 3938, 3, 2, 2, 2, 441, 3951, 3, 2, 2, 2, 443, 3956, 3, 2, 2, 2, 445, 3961, 3, 2, 2, 2, 447, 3968, 3, 2, 2, 2, 449, 3971, 3, 2, 2, 2, 451, 3975, 3, 2, 2, 2, 453, 3983, 3, 2, 2, 2, 455, 3996, 3, 2, 2, 2, 457, 3999, 3, 2, 2, 2, 459, 4010, 3, 2, 2, 2, 461, 4015, 3, 2, 2, 2, 463, 4030, 3, 2, 2, 2, 465, 4040, 3, 2, 2, 2, 467, 4051, 3, 2, 2, 2, 469, 4059, 3, 2, 2, 2, 471, 4066, 3, 2, 2, 2, 473, 4069, 3, 2, 2, 2, 475, 4075, 3, 2, 2, 2, 477, 4081, 3, 2, 2, 2, 479, 4086, 3, 2, 2, 2, 481, 4091, 3, 2, 2, 2, 483, 4102, 3, 2, 2, 2, 485, 4110, 3, 2, 2, 2, 487, 4119, 3, 2, 2, 2, 489, 4127, 3, 2, 2, 2, 491, 4142, 3, 2, 2, 2, 493, 4150, 3, 2, 2, 2, 495, 4157, 3, 2, 2, 2, 497, 4166, 3, 2, 2, 2, 499, 4172, 3, 2, 2, 2, 501, 4177, 3, 2, 2, 2, 503, 4186, 3, 2, 2, 2, 505, 4193, 3, 2, 2, 2, 507, 4203, 3, 2, 2, 2, 509, 4213, 3, 2, 2, 2, 511, 4221, 3, 2, 2, 2, 513, 4227, 3, 2, 2, 2, 515, 4232, 3, 2, 2, 2, 517, 4242, 3, 2, 2, 2, 519, 4250, 3, 2, 2, 2, 521, 4257, 3, 2, 2, 2, 523, 4264, 3, 2, 2, 2, 525, 4266, 3, 2, 2, 2, 527, 4276, 3, 2, 2, 2, 529, 4280, 3, 2, 2, 2, 531, 4285, 3, 2, 2, 2, 533, 4294, 3, 2, 2, 2, 535, 4316, 3, 2, 2, 2, 537, 4328, 3, 2, 2, 2, 539, 4339, 3, 2, 2, 2, 541, 4350, 3, 2, 2, 2, 543, 4371, 3, 2, 2, 2, 545, 4398, 3, 2, 2, 2, 547, 4410, 3, 2, 2, 2, 549, 4419, 3, 2, 2, 2, 551, 4425, 3, 2, 2, 2, 553, 4433, 3, 2, 2, 2, 555, 4441, 3, 2, 2, 2, 557, 4450, 3, 2, 2, 2, 559, 4457, 3, 2, 2, 2, 561, 4468, 3, 2, 2, 2, 563, 4475, 3, 2, 2, 2, 565, 4483, 3, 2, 2, 2, 567, 4490, 3, 2, 2, 2, 569, 4497, 3, 2, 2, 2, 571, 4504, 3, 2, 2, 2, 573, 4510, 3, 2, 2, 2, 575, 4519, 3, 2, 2, 2, 577, 4524, 3, 2, 2, 2, 579, 4533, 3, 2, 2, 2, 581, 4544, 3, 2, 2, 2, 583, 4552, 3, 2, 2, 2, 585, 4561, 3, 2, 2, 2, 587, 4570, 3, 2, 2, 2, 589, 4579, 3, 2, 2, 2, 591, 4588, 3, 2, 2, 2, 593, 4595, 3, 2, 2, 2, 595, 4600, 3, 2, 2, 2, 597, 4605, 3, 2, 2, 2, 599, 4610, 3, 2, 2, 2, 601, 4620, 3, 2, 2, 2, 603, 4627, 3, 2, 2, 2, 605, 4634, 3, 2, 2, 2, 607, 4648, 3, 2, 2, 2, 609, 4655, 3, 2, 2, 2, 611, 4678, 3, 2, 2, 2, 613, 4709, 3, 2, 2, 2, 615, 4733, 3, 2, 2, 2, 617, 4740, 3, 2, 2, 2, 619, 4748, 3, 2, 2, 2, 621, 4763, 3, 2, 2, 2, 623, 4776, 3, 2, 2, 2, 625, 4784, 3, 2, 2, 2, 627, 4797, 3, 2, 2, 2, 629, 4801, 3, 2, 2, 2, 631, 4809, 3, 2, 2, 2, 633, 4818, 3, 2, 2, 2, 635, 4822, 3, 2, 2, 2, 637, 4827, 3, 2, 2, 2, 639, 4836, 3, 2, 2, 2, 641, 4841, 3, 2, 2, 2, 643, 4848, 3, 2, 2, 2, 645, 4862, 3, 2, 2, 2, 647, 4868, 3, 2, 2, 2, 649, 4883, 3, 2, 2, 2, 651, 4897, 3, 2, 2, 2, 653, 4915, 3, 2, 2, 2, 655, 4926, 3, 2, 2, 2, 657, 4932, 3, 2, 2, 2, 659, 4938, 3, 2, 2, 2, 661, 4944, 3, 2, 2, 2, 663, 4952, 3, 2, 2, 2, 665, 4966, 3, 2, 2, 2, 667, 4971, 3, 2, 2, 2, 669, 4979, 3, 2, 2, 2, 671, 4993, 3, 2, 2, 2, 673, 5003, 3, 2, 2, 2, 675, 5015, 3, 2, 2, 2, 677, 5021, 3, 2, 2, 2, 679, 5033, 3, 2, 2, 2, 681, 5038, 3, 2, 2, 2, 683, 5045, 3, 2, 2, 2, 685, 5049, 3, 2, 2, 2, 687, 5058, 3, 2, 2, 2, 689, 5063, 3, 2, 2, 2, 691, 5066, 3, 2, 2, 2, 693, 5070, 3, 2, 2, 2, 695, 5086, 3, 2, 2, 2, 697, 5091, 3, 2, 2, 2, 699, 5103, 3, 2, 2, 2, 701, 5112, 3, 2, 2, 2, 703, 5120, 3, 2, 2, 2, 705, 5129, 3, 2, 2, 2, 707, 5137, 3, 2, 2, 2, 709, 5147, 3, 2, 2, 2, 711, 5153, 3, 2, 2, 2, 713, 5160, 3, 2, 2, 2, 715, 5167, 3, 2, 2, 2, 717, 5175, 3, 2, 2, 2, 719, 5182, 3, 2, 2, 2, 721, 5189, 3, 2, 2, 2, 723, 5200, 3, 2, 2, 2, 725, 5204, 3, 2, 2, 2, 727, 5208, 3, 2, 2, 2, 729, 5213, 3, 2, 2, 2, 731, 5218, 3, 2, 2, 2, 733, 5225, 3, 2, 2, 2, 735, 5233, 3, 2, 2, 2, 737, 5248, 3, 2, 2, 2, 739, 5253, 3, 2, 2, 2, 741, 5264, 3, 2, 2, 2, 743, 5272, 3, 2, 2, 2, 745, 5277, 3, 2, 2, 2, 747, 5283, 3, 2, 2, 2, 749, 5289, 3, 2, 2, 2, 751, 5297, 3, 2, 2, 2, 753, 5302, 3, 2, 2, 2, 755, 5309, 3, 2, 2, 2, 757, 5317, 3, 2, 2, 2, 759, 5325, 3, 2, 2, 2, 761, 5335, 3, 2, 2, 2, 763, 5344, 3, 2, 2, 2, 765, 5363, 3, 2, 2, 2, 767, 5370, 3, 2, 2, 2, 769, 5381, 3, 2, 2, 2, 771, 5388, 3, 2, 2, 2, 773, 5396, 3, 2, 2, 2, 775, 5404, 3, 2, 2, 2, 777, 5412, 3, 2, 2, 2, 779, 5420, 3, 2, 2, 2, 781, 5429, 3, 2, 2, 2, 783, 5435, 3, 2, 2, 2, 785, 5445, 3, 2, 2, 2, 787, 5455, 3, 2, 2, 2, 789, 5491, 3, 2, 2, 2, 791, 5516, 3, 2, 2, 2, 793, 5524, 3, 2, 2, 2, 795, 5542, 3, 2, 2, 2, 797, 5553, 3, 2, 2, 2, 799, 5566, 3, 2, 2, 2, 801, 5580, 3, 2, 2, 2, 803, 5596, 3, 2, 2, 2, 805, 5602, 3, 2, 2, 2, 807, 5613, 3, 2, 2, 2, 809, 5622, 3, 2, 2, 2, 811, 5628, 3, 2, 2, 2, 813, 5639, 3, 2, 2, 2, 815, 5644, 3, 2, 2, 2, 817, 5657, 3, 2, 2, 2, 819, 5668, 3, 2, 2, 2, 821, 5691, 3, 2, 2, 2, 823, 5703, 3, 2, 2, 2, 825, 5726, 3, 2, 2, 2, 827, 5755, 3, 2, 2, 2, 829, 5768, 3, 2, 2, 2, 831, 5772, 3, 2, 2, 2, 833, 5788, 3, 2, 2, 2, 835, 5801, 3, 2, 2, 2, 837, 5808, 3, 2, 2, 2, 839, 5822, 3, 2, 2, 2, 841, 5838, 3, 2, 2, 2, 843, 5846, 3, 2, 2, 2, 845, 5859, 3, 2, 2, 2, 847, 5866, 3, 2, 2, 2, 849, 5882, 3, 2, 2, 2, 851, 5894, 3, 2, 2, 2, 853, 5901, 3, 2, 2, 2, 855, 5921, 3, 2, 2, 2, 857, 5928, 3, 2, 2, 2, 859, 5936, 3, 2, 2, 2, 861, 5942, 3, 2, 2, 2, 863, 5959, 3, 2, 2, 2, 865, 5975, 3, 2, 2, 2, 867, 5984, 3, 2, 2, 2, 869, 5997, 3, 2, 2, 2, 871, 6005, 3, 2, 2, 2, 873, 6016, 3, 2, 2, 2, 875, 6034, 3, 2, 2, 2, 877, 6044, 3, 2, 2, 2, 879, 6064, 3, 2, 2, 2, 881, 6071, 3, 2, 2, 2, 883, 6095, 3, 2, 2, 2, 885, 6103, 3, 2, 2, 2, 887, 6111, 3, 2, 2, 2, 889, 6118, 3, 2, 2, 2, 891, 6124, 3, 2, 2, 2, 893, 6134, 3, 2, 2, 2, 895, 6142, 3, 2, 2, 2, 897, 6146, 3, 2, 2, 2, 899, 6157, 3, 2, 2, 2, 901, 6178, 3, 2, 2, 2, 903, 6189, 3, 2, 2, 2, 905, 6203, 3, 2, 2, 2, 907, 6226, 3, 2, 2, 2, 909, 6241, 3, 2, 2, 2, 911, 6246, 3, 2, 2, 2, 913, 6276, 3, 2, 2, 2, 915, 6284, 3, 2, 2, 2, 917, 6293, 3, 2, 2, 2, 919, 6302, 3, 2, 2, 2, 921, 6311, 3, 2, 2, 2, 923, 6316, 3, 2, 2, 2, 925, 6328, 3, 2, 2, 2, 927, 6340, 3, 2, 2, 2, 929, 6351, 3, 2, 2, 2, 931, 6362, 3, 2, 2, 2, 933, 6388, 3, 2, 2, 2, 935, 6405, 3, 2, 2, 2, 937, 6411, 3, 2, 2, 2, 939, 6430, 3, 2, 2, 2, 941, 6438, 3, 2, 2, 2, 943, 6449, 3, 2, 2, 2, 945, 6460, 3, 2, 2, 2, 947, 6464, 3, 2, 2, 2, 949, 6476, 3, 2, 2, 2, 951, 6481, 3, 2, 2, 2, 953, 6486, 3, 2, 2, 2, 955, 6493, 3, 2, 2, 2, 957, 6508, 3, 2, 2, 2, 959, 6516, 3, 2, 2, 2, 961, 6531, 3, 2, 2, 2, 963, 6540, 3, 2, 2, 2, 965, 6543, 3, 2, 2, 2, 967, 6552, 3, 2, 2, 2, 969, 6560, 3, 2, 2, 2, 971, 6569, 3, 2, 2, 2, 973, 6579, 3, 2, 2, 2, 975, 6585, 3, 2, 2, 2, 977, 6592, 3, 2, 2, 2, 979, 6606, 3, 2, 2, 2, 981, 6622, 3, 2, 2, 2, 983, 6633, 3, 2, 2, 2, 985, 6646, 3, 2, 2, 2, 987, 6673, 3, 2, 2, 2, 989, 6683, 3, 2, 2, 2, 991, 6694, 3, 2, 2, 2, 993, 6700, 3, 2, 2, 2, 995, 6707, 3, 2, 2, 2, 997, 6719, 3, 2, 2, 2, 999, 6728, 3, 2, 2, 2, 1001, 6743, 3, 2, 2, 2, 1003, 6757, 3, 2, 2, 2, 1005, 6765, 3, 2, 2, 2, 1007, 6789, 3, 2, 2, 2, 1009, 6794, 3, 2, 2, 2, 1011, 6807, 3, 2, 2, 2, 1013, 6817, 3, 2, 2, 2, 1015, 6828, 3, 2, 2, 2, 1017, 6837, 3, 2, 2, 2, 1019, 6848, 3, 2, 2, 2, 1021, 6855, 3, 2, 2, 2, 1023, 6861, 3, 2, 2, 2, 1025, 6873, 3, 2, 2, 2, 1027, 6883, 3, 2, 2, 2, 1029, 6889, 3, 2, 2, 2, 1031, 6920, 3, 2, 2, 2, 1033, 6927, 3, 2, 2, 2, 1035, 6934, 3, 2, 2, 2, 1037, 6947, 3, 2, 2, 2, 1039, 6956, 3, 2, 2, 2, 1041, 6965, 3, 2, 2, 2, 1043, 6968, 3, 2, 2, 2, 1045, 6976, 3, 2, 2, 2, 1047, 6987, 3, 2, 2, 2, 1049, 6994, 3, 2, 2, 2, 1051, 6997, 3, 2, 2, 2, 1053, 7016, 3, 2, 2, 2, 1055, 7025, 3, 2, 2, 2, 1057, 7037, 3, 2, 2, 2, 1059, 7042, 3, 2, 2, 2, 1061, 7047, 3, 2, 2, 2, 1063, 7068, 3, 2, 2, 2, 1065, 7073, 3, 2, 2, 2, 1067, 7095, 3, 2, 2, 2, 1069, 7101, 3, 2, 2, 2, 1071, 7116, 3, 2, 2, 2, 1073, 7154, 3, 2, 2, 2, 1075, 7164, 3, 2, 2, 2, 1077, 7176, 3, 2, 2, 2, 1079, 7187, 3, 2, 2, 2, 1081, 7207, 3, 2, 2, 2, 1083, 7219, 3, 2, 2, 2, 1085, 7229, 3, 2, 2, 2, 1087, 7235, 3, 2, 2, 2, 1089, 7247, 3, 2, 2, 2, 1091, 7256, 3, 2, 2, 2, 1093, 7260, 3, 2, 2, 2, 1095, 7263, 3, 2, 2, 2, 1097, 7273, 3, 2, 2, 2, 1099, 7277, 3, 2, 2, 2, 1101, 7282, 3, 2, 2, 2, 1103, 7285, 3, 2, 2, 2, 1105, 7290, 3, 2, 2, 2, 1107, 7300, 3, 2, 2, 2, 1109, 7311, 3, 2, 2, 2, 1111, 7316, 3, 2, 2, 2, 1113, 7323, 3, 2, 2, 2, 1115, 7327, 3, 2, 2, 2, 1117, 7332, 3, 2, 2, 2, 1119, 7343, 3, 2, 2, 2, 1121, 7348, 3, 2, 2, 2, 1123, 7354, 3, 2, 2, 2, 1125, 7359, 3, 2, 2, 2, 1127, 7368, 3, 2, 2, 2, 1129, 7381, 3, 2, 2, 2, 1131, 7396, 3, 2, 2, 2, 1133, 7402, 3, 2, 2, 2, 1135, 7411, 3, 2, 2, 2, 1137, 7416, 3, 2, 2, 2, 1139, 7432, 3, 2, 2, 2, 1141, 7438, 3, 2, 2, 2, 1143, 7443, 3, 2, 2, 2, 1145, 7447, 3, 2, 2, 2, 1147, 7454, 3, 2, 2, 2, 1149, 7459, 3, 2, 2, 2, 1151, 7472, 3, 2, 2, 2, 1153, 7476, 3, 2, 2, 2, 1155, 7492, 3, 2, 2, 2, 1157, 7500, 3, 2, 2, 2, 1159, 7510, 3, 2, 2, 2, 1161, 7530, 3, 2, 2, 2, 1163, 7549, 3, 2, 2, 2, 1165, 7563, 3, 2, 2, 2, 1167, 7581, 3, 2, 2, 2, 1169, 7600, 3, 2, 2, 2, 1171, 7607, 3, 2, 2, 2, 1173, 7620, 3, 2, 2, 2, 1175, 7628, 3, 2, 2, 2, 1177, 7631, 3, 2, 2, 2, 1179, 7638, 3, 2, 2, 2, 1181, 7660, 3, 2, 2, 2, 1183, 7668, 3, 2, 2, 2, 1185, 7672, 3, 2, 2, 2, 1187, 7694, 3, 2, 2, 2, 1189, 7710, 3, 2, 2, 2, 1191, 7730, 3, 2, 2, 2, 1193, 7749, 3, 2, 2, 2, 1195, 7757, 3, 2, 2, 2, 1197, 7772, 3, 2, 2, 2, 1199, 7794, 3, 2, 2, 2, 1201, 7799, 3, 2, 2, 2, 1203, 7806, 3, 2, 2, 2, 1205, 7811, 3, 2, 2, 2, 1207, 7822, 3, 2, 2, 2, 1209, 7827, 3, 2, 2, 2, 1211, 7843, 3, 2, 2, 2, 1213, 7855, 3, 2, 2, 2, 1215, 7866, 3, 2, 2, 2, 1217, 7879, 3, 2, 2, 2, 1219, 7884, 3, 2, 2, 2, 1221, 7887, 3, 2, 2, 2, 1223, 7899, 3, 2, 2, 2, 1225, 7907, 3, 2, 2, 2, 1227, 7915, 3, 2, 2, 2, 1229, 7921, 3, 2, 2, 2, 1231, 7930, 3, 2, 2, 2, 1233, 7952, 3, 2, 2, 2, 1235, 7964, 3, 2, 2, 2, 1237, 7975, 3, 2, 2, 2, 1239, 7982, 3, 2, 2, 2, 1241, 7988, 3, 2, 2, 2, 1243, 7997, 3, 2, 2, 2, 1245, 8004, 3, 2, 2, 2, 1247, 8023, 3, 2, 2, 2, 1249, 8030, 3, 2, 2, 2, 1251, 8038, 3, 2, 2, 2, 1253, 8045, 3, 2, 2, 2, 1255, 8057, 3, 2, 2, 2, 1257, 8064, 3, 2, 2, 2, 1259, 8069, 3, 2, 2, 2, 1261, 8083, 3, 2, 2, 2, 1263, 8094, 3, 2, 2, 2, 1265, 8103, 3, 2, 2, 2, 1267, 8107, 3, 2, 2, 2, 1269, 8114, 3, 2, 2, 2, 1271, 8123, 3, 2, 2, 2, 1273, 8129, 3, 2, 2, 2, 1275, 8141, 3, 2, 2, 2, 1277, 8158, 3, 2, 2, 2, 1279, 8168, 3, 2, 2, 2, 1281, 8179, 3, 2, 2, 2, 1283, 8187, 3, 2, 2, 2, 1285, 8192, 3, 2, 2, 2, 1287, 8216, 3, 2, 2, 2, 1289, 8221, 3, 2, 2, 2, 1291, 8226, 3, 2, 2, 2, 1293, 8236, 3, 2, 2, 2, 1295, 8249, 3, 2, 2, 2, 1297, 8255, 3, 2, 2, 2, 1299, 8264, 3, 2, 2, 2, 1301, 8279, 3, 2, 2, 2, 1303, 8287, 3, 2, 2, 2, 1305, 8299, 3, 2, 2, 2, 1307, 8310, 3, 2, 2, 2, 1309, 8325, 3, 2, 2, 2, 1311, 8334, 3, 2, 2, 2, 1313, 8343, 3, 2, 2, 2, 1315, 8361, 3, 2, 2, 2, 1317, 8367, 3, 2, 2, 2, 1319, 8373, 3, 2, 2, 2, 1321, 8385, 3, 2, 2, 2, 1323, 8403, 3, 2, 2, 2, 1325, 8409, 3, 2, 2, 2, 1327, 8414, 3, 2, 2, 2, 1329, 8418, 3, 2, 2, 2, 1331, 8422, 3, 2, 2, 2, 1333, 8430, 3, 2, 2, 2, 1335, 8454, 3, 2, 2, 2, 1337, 8464, 3, 2, 2, 2, 1339, 8487, 3, 2, 2, 2, 1341, 8498, 3, 2, 2, 2, 1343, 8507, 3, 2, 2, 2, 1345, 8515, 3, 2, 2, 2, 1347, 8523, 3, 2, 2, 2, 1349, 8533, 3, 2, 2, 2, 1351, 8542, 3, 2, 2, 2, 1353, 8561, 3, 2, 2, 2, 1355, 8570, 3, 2, 2, 2, 1357, 8577, 3, 2, 2, 2, 1359, 8597, 3, 2, 2, 2, 1361, 8604, 3, 2, 2, 2, 1363, 8615, 3, 2, 2, 2, 1365, 8626, 3, 2, 2, 2, 1367, 8634, 3, 2, 2, 2, 1369, 8659, 3, 2, 2, 2, 1371, 8692, 3, 2, 2, 2, 1373, 8725, 3, 2, 2, 2, 1375, 8769, 3, 2, 2, 2, 1377, 8788, 3, 2, 2, 2, 1379, 8797, 3, 2, 2, 2, 1381, 8823, 3, 2, 2, 2, 1383, 8839, 3, 2, 2, 2, 1385, 8849, 3, 2, 2, 2, 1387, 8856, 3, 2, 2, 2, 1389, 8861, 3, 2, 2, 2, 1391, 8867, 3, 2, 2, 2, 1393, 8871, 3, 2, 2, 2, 1395, 8882, 3, 2, 2, 2, 1397, 8890, 3, 2, 2, 2, 1399, 8895, 3, 2, 2, 2, 1401, 8902, 3, 2, 2, 2, 1403, 8916, 3, 2, 2, 2, 1405, 8923, 3, 2, 2, 2, 1407, 8930, 3, 2, 2, 2, 1409, 8943, 3, 2, 2, 2, 1411, 8950, 3, 2, 2, 2, 1413, 8960, 3, 2, 2, 2, 1415, 8975, 3, 2, 2, 2, 1417, 8990, 3, 2, 2, 2, 1419, 8998, 3, 2, 2, 2, 1421, 9005, 3, 2, 2, 2, 1423, 9014, 3, 2, 2, 2, 1425, 9027, 3, 2, 2, 2, 1427, 9040, 3, 2, 2, 2, 1429, 9045, 3, 2, 2, 2, 1431, 9060, 3, 2, 2, 2, 1433, 9065, 3, 2, 2, 2, 1435, 9070, 3, 2, 2, 2, 1437, 9079, 3, 2, 2, 2, 1439, 9092, 3, 2, 2, 2, 1441, 9108, 3, 2, 2, 2, 1443, 9117, 3, 2, 2, 2, 1445, 9123, 3, 2, 2, 2, 1447, 9132, 3, 2, 2, 2, 1449, 9142, 3, 2, 2, 2, 1451, 9149, 3, 2, 2, 2, 1453, 9161, 3, 2, 2, 2, 1455, 9166, 3, 2, 2, 2, 1457, 9175, 3, 2, 2, 2, 1459, 9184, 3, 2, 2, 2, 1461, 9209, 3, 2, 2, 2, 1463, 9217, 3, 2, 2, 2, 1465, 9228, 3, 2, 2, 2, 1467, 9235, 3, 2, 2, 2, 1469, 9248, 3, 2, 2, 2, 1471, 9255, 3, 2, 2, 2, 1473, 9266, 3, 2, 2, 2, 1475, 9272, 3, 2, 2, 2, 1477, 9279, 3, 2, 2, 2, 1479, 9288, 3, 2, 2, 2, 1481, 9299, 3, 2, 2, 2, 1483, 9305, 3, 2, 2, 2, 1485, 9313, 3, 2, 2, 2, 1487, 9326, 3, 2, 2, 2, 1489, 9330, 3, 2, 2, 2, 1491, 9338, 3, 2, 2, 2, 1493, 9348, 3, 2, 2, 2, 1495, 9367, 3, 2, 2, 2, 1497, 9375, 3, 2, 2, 2, 1499, 9382, 3, 2, 2, 2, 1501, 9387, 3, 2, 2, 2, 1503, 9408, 3, 2, 2, 2, 1505, 9411, 3, 2, 2, 2, 1507, 9424, 3, 2, 2, 2, 1509, 9430, 3, 2, 2, 2, 1511, 9435, 3, 2, 2, 2, 1513, 9440, 3, 2, 2, 2, 1515, 9448, 3, 2, 2, 2, 1517, 9454, 3, 2, 2, 2, 1519, 9462, 3, 2, 2, 2, 1521, 9482, 3, 2, 2, 2, 1523, 9504, 3, 2, 2, 2, 1525, 9515, 3, 2, 2, 2, 1527, 9531, 3, 2, 2, 2, 1529, 9543, 3, 2, 2, 2, 1531, 9547, 3, 2, 2, 2, 1533, 9552, 3, 2, 2, 2, 1535, 9574, 3, 2, 2, 2, 1537, 9579, 3, 2, 2, 2, 1539, 9592, 3, 2, 2, 2, 1541, 9602, 3, 2, 2, 2, 1543, 9614, 3, 2, 2, 2, 1545, 9622, 3, 2, 2, 2, 1547, 9632, 3, 2, 2, 2, 1549, 9636, 3, 2, 2, 2, 1551, 9642, 3, 2, 2, 2, 1553, 9652, 3, 2, 2, 2, 1555, 9663, 3, 2, 2, 2, 1557, 9669, 3, 2, 2, 2, 1559, 9673, 3, 2, 2, 2, 1561, 9678, 3, 2, 2, 2, 1563, 9692, 3, 2, 2, 2, 1565, 9698, 3, 2, 2, 2, 1567, 9703, 3, 2, 2, 2, 1569, 9719, 3, 2, 2, 2, 1571, 9741, 3, 2, 2, 2, 1573, 9746, 3, 2, 2, 2, 1575, 9755, 3, 2, 2, 2, 1577, 9759, 3, 2, 2, 2, 1579, 9767, 3, 2, 2, 2, 1581, 9781, 3, 2, 2, 2, 1583, 9791, 3, 2, 2, 2, 1585, 9798, 3, 2, 2, 2, 1587, 9807, 3, 2, 2, 2, 1589, 9813, 3, 2, 2, 2, 1591, 9828, 3, 2, 2, 2, 1593, 9839, 3, 2, 2, 2, 1595, 9847, 3, 2, 2, 2, 1597, 9849, 3, 2, 2, 2, 1599, 9857, 3, 2, 2, 2, 1601, 9865, 3, 2, 2, 2, 1603, 9871, 3, 2, 2, 2, 1605, 9880, 3, 2, 2, 2, 1607, 9912, 3, 2, 2, 2, 1609, 9935, 3, 2, 2, 2, 1611, 9948, 3, 2, 2, 2, 1613, 9956, 3, 2, 2, 2, 1615, 9960, 3, 2, 2, 2, 1617, 9971, 3, 2, 2, 2, 1619, 9973, 3, 2, 2, 2, 1621, 9975, 3, 2, 2, 2, 1623, 9977, 3, 2, 2, 2, 1625, 9979, 3, 2, 2, 2, 1627, 9982, 3, 2, 2, 2, 1629, 9985, 3, 2, 2, 2, 1631, 9988, 3, 2, 2, 2, 1633, 9991, 3, 2, 2, 2, 1635, 9994, 3, 2, 2, 2, 1637, 9997, 3, 2, 2, 2, 1639, 10000, 3, 2, 2, 2, 1641, 10003, 3, 2, 2, 2, 1643, 10006, 3, 2, 2, 2, 1645, 10008, 3, 2, 2, 2, 1647, 10010, 3, 2, 2, 2, 1649, 10012, 3, 2, 2, 2, 1651, 10014, 3, 2, 2, 2, 1653, 10016, 3, 2, 2, 2, 1655, 10018, 3, 2, 2, 2, 1657, 10020, 3, 2, 2, 2, 1659, 10022, 3, 2, 2, 2, 1661, 10024, 3, 2, 2, 2, 1663, 10026, 3, 2, 2, 2, 1665, 10028, 3, 2, 2, 2, 1667, 10030, 3, 2, 2, 2, 1669, 10032, 3, 2, 2, 2, 1671, 10034, 3, 2, 2, 2, 1673, 10036, 3, 2, 2, 2, 1675, 10038, 3, 2, 2, 2, 1677, 10040, 3, 2, 2, 2, 1679, 10042, 3, 2, 2, 2, 1681, 10044, 3, 2, 2, 2, 1683, 10046, 3, 2, 2, 2, 1685, 10052, 3, 2, 2, 2, 1687, 10083, 3, 2, 2, 2, 1689, 10085, 3, 2, 2, 2, 1691, 10087, 3, 2, 2, 2, 1693, 10089, 3, 2, 2, 2, 1695, 1696, 7, 67, 2, 2, 1696, 1697, 7, 68, 2, 2, 1697, 1698, 7, 85, 2, 2, 1698, 1699, 7, 71, 2, 2, 1699, 1700, 7, 80, 2, 2, 1700, 1701, 7, 86, 2, 2, 1701, 4, 3, 2, 2, 2, 1702, 1703, 7, 67, 2, 2, 1703, 1704, 7, 70, 2, 2, 1704, 1705, 7, 70, 2, 2, 1705, 6, 3, 2, 2, 2, 1706, 1707, 7, 67, 2, 2, 1707, 1708, 7, 71, 2, 2, 1708, 1709, 7, 85, 2, 2, 1709, 8, 3, 2, 2, 2, 1710, 1711, 7, 67, 2, 2, 1711, 1712, 7, 78, 2, 2, 1712, 1713, 7, 78, 2, 2, 1713, 10, 3, 2, 2, 2, 1714, 1715, 7, 67, 2, 2, 1715, 1716, 7, 78, 2, 2, 1716, 1717, 7, 78, 2, 2, 1717, 1718, 7, 81, 2, 2, 1718, 1719, 7, 89, 2, 2, 1719, 1720, 7, 97, 2, 2, 1720, 1721, 7, 69, 2, 2, 1721, 1722, 7, 81, 2, 2, 1722, 1723, 7, 80, 2, 2, 1723, 1724, 7, 80, 2, 2, 1724, 1725, 7, 71, 2, 2, 1725, 1726, 7, 69, 2, 2, 1726, 1727, 7, 86, 2, 2, 1727, 1728, 7, 75, 2, 2, 1728, 1729, 7, 81, 2, 2, 1729, 1730, 7, 80, 2, 2, 1730, 1731, 7, 85, 2, 2, 1731, 12, 3, 2, 2, 2, 1732, 1733, 7, 67, 2, 2, 1733, 1734, 7, 78, 2, 2, 1734, 1735, 7, 78, 2, 2, 1735, 1736, 7, 81, 2, 2, 1736, 1737, 7, 89, 2, 2, 1737, 1738, 7, 97, 2, 2, 1738, 1739, 7, 79, 2, 2, 1739, 1740, 7, 87, 2, 2, 1740, 1741, 7, 78, 2, 2, 1741, 1742, 7, 86, 2, 2, 1742, 1743, 7, 75, 2, 2, 1743, 1744, 7, 82, 2, 2, 1744, 1745, 7, 78, 2, 2, 1745, 1746, 7, 71, 2, 2, 1746, 1747, 7, 97, 2, 2, 1747, 1748, 7, 71, 2, 2, 1748, 1749, 7, 88, 2, 2, 1749, 1750, 7, 71, 2, 2, 1750, 1751, 7, 80, 2, 2, 1751, 1752, 7, 86, 2, 2, 1752, 1753, 7, 97, 2, 2, 1753, 1754, 7, 78, 2, 2, 1754, 1755, 7, 81, 2, 2, 1755, 1756, 7, 85, 2, 2, 1756, 1757, 7, 85, 2, 2, 1757, 14, 3, 2, 2, 2, 1758, 1759, 7, 67, 2, 2, 1759, 1760, 7, 78, 2, 2, 1760, 1761, 7, 78, 2, 2, 1761, 1762, 7, 81, 2, 2, 1762, 1763, 7, 89, 2, 2, 1763, 1764, 7, 97, 2, 2, 1764, 1765, 7, 85, 2, 2, 1765, 1766, 7, 75, 2, 2, 1766, 1767, 7, 80, 2, 2, 1767, 1768, 7, 73, 2, 2, 1768, 1769, 7, 78, 2, 2, 1769, 1770, 7, 71, 2, 2, 1770, 1771, 7, 97, 2, 2, 1771, 1772, 7, 71, 2, 2, 1772, 1773, 7, 88, 2, 2, 1773, 1774, 7, 71, 2, 2, 1774, 1775, 7, 80, 2, 2, 1775, 1776, 7, 86, 2, 2, 1776, 1777, 7, 97, 2, 2, 1777, 1778, 7, 78, 2, 2, 1778, 1779, 7, 81, 2, 2, 1779, 1780, 7, 85, 2, 2, 1780, 1781, 7, 85, 2, 2, 1781, 16, 3, 2, 2, 2, 1782, 1783, 7, 67, 2, 2, 1783, 1784, 7, 78, 2, 2, 1784, 1785, 7, 86, 2, 2, 1785, 1786, 7, 71, 2, 2, 1786, 1787, 7, 84, 2, 2, 1787, 18, 3, 2, 2, 2, 1788, 1789, 7, 67, 2, 2, 1789, 1790, 7, 80, 2, 2, 1790, 1791, 7, 70, 2, 2, 1791, 20, 3, 2, 2, 2, 1792, 1793, 7, 67, 2, 2, 1793, 1794, 7, 80, 2, 2, 1794, 1795, 7, 81, 2, 2, 1795, 1796, 7, 80, 2, 2, 1796, 1797, 7, 91, 2, 2, 1797, 1798, 7, 79, 2, 2, 1798, 1799, 7, 81, 2, 2, 1799, 1800, 7, 87, 2, 2, 1800, 1801, 7, 85, 2, 2, 1801, 22, 3, 2, 2, 2, 1802, 1803, 7, 67, 2, 2, 1803, 1804, 7, 80, 2, 2, 1804, 1805, 7, 91, 2, 2, 1805, 24, 3, 2, 2, 2, 1806, 1807, 7, 67, 2, 2, 1807, 1808, 7, 82, 2, 2, 1808, 1809, 7, 82, 2, 2, 1809, 1810, 7, 71, 2, 2, 1810, 1811, 7, 80, 2, 2, 1811, 1812, 7, 70, 2, 2, 1812, 26, 3, 2, 2, 2, 1813, 1814, 7, 67, 2, 2, 1814, 1815, 7, 82, 2, 2, 1815, 1816, 7, 82, 2, 2, 1816, 1817, 7, 78, 2, 2, 1817, 1818, 7, 75, 2, 2, 1818, 1819, 7, 69, 2, 2, 1819, 1820, 7, 67, 2, 2, 1820, 1821, 7, 86, 2, 2, 1821, 1822, 7, 75, 2, 2, 1822, 1823, 7, 81, 2, 2, 1823, 1824, 7, 80, 2, 2, 1824, 28, 3, 2, 2, 2, 1825, 1826, 7, 67, 2, 2, 1826, 1827, 7, 85, 2, 2, 1827, 30, 3, 2, 2, 2, 1828, 1829, 7, 67, 2, 2, 1829, 1830, 7, 85, 2, 2, 1830, 1831, 7, 69, 2, 2, 1831, 32, 3, 2, 2, 2, 1832, 1833, 7, 67, 2, 2, 1833, 1834, 7, 85, 2, 2, 1834, 1835, 7, 91, 2, 2, 1835, 1836, 7, 79, 2, 2, 1836, 1837, 7, 79, 2, 2, 1837, 1838, 7, 71, 2, 2, 1838, 1839, 7, 86, 2, 2, 1839, 1840, 7, 84, 2, 2, 1840, 1841, 7, 75, 2, 2, 1841, 1842, 7, 69, 2, 2, 1842, 34, 3, 2, 2, 2, 1843, 1844, 7, 67, 2, 2, 1844, 1845, 7, 85, 2, 2, 1845, 1846, 7, 91, 2, 2, 1846, 1847, 7, 80, 2, 2, 1847, 1848, 7, 69, 2, 2, 1848, 1849, 7, 74, 2, 2, 1849, 1850, 7, 84, 2, 2, 1850, 1851, 7, 81, 2, 2, 1851, 1852, 7, 80, 2, 2, 1852, 1853, 7, 81, 2, 2, 1853, 1854, 7, 87, 2, 2, 1854, 1855, 7, 85, 2, 2, 1855, 1856, 7, 97, 2, 2, 1856, 1857, 7, 69, 2, 2, 1857, 1858, 7, 81, 2, 2, 1858, 1859, 7, 79, 2, 2, 1859, 1860, 7, 79, 2, 2, 1860, 1861, 7, 75, 2, 2, 1861, 1862, 7, 86, 2, 2, 1862, 36, 3, 2, 2, 2, 1863, 1864, 7, 67, 2, 2, 1864, 1865, 7, 87, 2, 2, 1865, 1866, 7, 86, 2, 2, 1866, 1867, 7, 74, 2, 2, 1867, 1868, 7, 81, 2, 2, 1868, 1869, 7, 84, 2, 2, 1869, 1870, 7, 75, 2, 2, 1870, 1871, 7, 92, 2, 2, 1871, 1872, 7, 67, 2, 2, 1872, 1873, 7, 86, 2, 2, 1873, 1874, 7, 75, 2, 2, 1874, 1875, 7, 81, 2, 2, 1875, 1876, 7, 80, 2, 2, 1876, 38, 3, 2, 2, 2, 1877, 1878, 7, 67, 2, 2, 1878, 1879, 7, 87, 2, 2, 1879, 1880, 7, 86, 2, 2, 1880, 1881, 7, 74, 2, 2, 1881, 1882, 7, 71, 2, 2, 1882, 1883, 7, 80, 2, 2, 1883, 1884, 7, 86, 2, 2, 1884, 1885, 7, 75, 2, 2, 1885, 1886, 7, 69, 2, 2, 1886, 1887, 7, 67, 2, 2, 1887, 1888, 7, 86, 2, 2, 1888, 1889, 7, 75, 2, 2, 1889, 1890, 7, 81, 2, 2, 1890, 1891, 7, 80, 2, 2, 1891, 40, 3, 2, 2, 2, 1892, 1893, 7, 67, 2, 2, 1893, 1894, 7, 87, 2, 2, 1894, 1895, 7, 86, 2, 2, 1895, 1896, 7, 81, 2, 2, 1896, 1897, 7, 79, 2, 2, 1897, 1898, 7, 67, 2, 2, 1898, 1899, 7, 86, 2, 2, 1899, 1900, 7, 71, 2, 2, 1900, 1901, 7, 70, 2, 2, 1901, 1902, 7, 97, 2, 2, 1902, 1903, 7, 68, 2, 2, 1903, 1904, 7, 67, 2, 2, 1904, 1905, 7, 69, 2, 2, 1905, 1906, 7, 77, 2, 2, 1906, 1907, 7, 87, 2, 2, 1907, 1908, 7, 82, 2, 2, 1908, 1909, 7, 97, 2, 2, 1909, 1910, 7, 82, 2, 2, 1910, 1911, 7, 84, 2, 2, 1911, 1912, 7, 71, 2, 2, 1912, 1913, 7, 72, 2, 2, 1913, 1914, 7, 71, 2, 2, 1914, 1915, 7, 84, 2, 2, 1915, 1916, 7, 71, 2, 2, 1916, 1917, 7, 80, 2, 2, 1917, 1918, 7, 69, 2, 2, 1918, 1919, 7, 71, 2, 2, 1919, 42, 3, 2, 2, 2, 1920, 1921, 7, 67, 2, 2, 1921, 1922, 7, 87, 2, 2, 1922, 1923, 7, 86, 2, 2, 1923, 1924, 7, 81, 2, 2, 1924, 1925, 7, 79, 2, 2, 1925, 1926, 7, 67, 2, 2, 1926, 1927, 7, 86, 2, 2, 1927, 1928, 7, 75, 2, 2, 1928, 1929, 7, 69, 2, 2, 1929, 44, 3, 2, 2, 2, 1930, 1931, 7, 67, 2, 2, 1931, 1932, 7, 88, 2, 2, 1932, 1933, 7, 67, 2, 2, 1933, 1934, 7, 75, 2, 2, 1934, 1935, 7, 78, 2, 2, 1935, 1936, 7, 67, 2, 2, 1936, 1937, 7, 68, 2, 2, 1937, 1938, 7, 75, 2, 2, 1938, 1939, 7, 78, 2, 2, 1939, 1940, 7, 75, 2, 2, 1940, 1941, 7, 86, 2, 2, 1941, 1942, 7, 91, 2, 2, 1942, 1943, 7, 97, 2, 2, 1943, 1944, 7, 79, 2, 2, 1944, 1945, 7, 81, 2, 2, 1945, 1946, 7, 70, 2, 2, 1946, 1947, 7, 71, 2, 2, 1947, 46, 3, 2, 2, 2, 1948, 1949, 7, 94, 2, 2, 1949, 48, 3, 2, 2, 2, 1950, 1951, 7, 68, 2, 2, 1951, 1952, 7, 67, 2, 2, 1952, 1953, 7, 69, 2, 2, 1953, 1954, 7, 77, 2, 2, 1954, 1955, 7, 87, 2, 2, 1955, 1956, 7, 82, 2, 2, 1956, 50, 3, 2, 2, 2, 1957, 1958, 7, 68, 2, 2, 1958, 1959, 7, 71, 2, 2, 1959, 1960, 7, 72, 2, 2, 1960, 1961, 7, 81, 2, 2, 1961, 1962, 7, 84, 2, 2, 1962, 1963, 7, 71, 2, 2, 1963, 52, 3, 2, 2, 2, 1964, 1965, 7, 68, 2, 2, 1965, 1966, 7, 71, 2, 2, 1966, 1967, 7, 73, 2, 2, 1967, 1968, 7, 75, 2, 2, 1968, 1969, 7, 80, 2, 2, 1969, 54, 3, 2, 2, 2, 1970, 1971, 7, 68, 2, 2, 1971, 1972, 7, 71, 2, 2, 1972, 1973, 7, 86, 2, 2, 1973, 1974, 7, 89, 2, 2, 1974, 1975, 7, 71, 2, 2, 1975, 1976, 7, 71, 2, 2, 1976, 1977, 7, 80, 2, 2, 1977, 56, 3, 2, 2, 2, 1978, 1979, 7, 68, 2, 2, 1979, 1980, 7, 78, 2, 2, 1980, 1981, 7, 81, 2, 2, 1981, 1982, 7, 69, 2, 2, 1982, 1983, 7, 77, 2, 2, 1983, 58, 3, 2, 2, 2, 1984, 1985, 7, 68, 2, 2, 1985, 1986, 7, 78, 2, 2, 1986, 1987, 7, 81, 2, 2, 1987, 1988, 7, 69, 2, 2, 1988, 1989, 7, 77, 2, 2, 1989, 1990, 7, 85, 2, 2, 1990, 1991, 7, 75, 2, 2, 1991, 1992, 7, 92, 2, 2, 1992, 1993, 7, 71, 2, 2, 1993, 60, 3, 2, 2, 2, 1994, 1995, 7, 68, 2, 2, 1995, 1996, 7, 78, 2, 2, 1996, 1997, 7, 81, 2, 2, 1997, 1998, 7, 69, 2, 2, 1998, 1999, 7, 77, 2, 2, 1999, 2000, 7, 75, 2, 2, 2000, 2001, 7, 80, 2, 2, 2001, 2002, 7, 73, 2, 2, 2002, 2003, 7, 97, 2, 2, 2003, 2004, 7, 74, 2, 2, 2004, 2005, 7, 75, 2, 2, 2005, 2006, 7, 71, 2, 2, 2006, 2007, 7, 84, 2, 2, 2007, 2008, 7, 67, 2, 2, 2008, 2009, 7, 84, 2, 2, 2009, 2010, 7, 69, 2, 2, 2010, 2011, 7, 74, 2, 2, 2011, 2012, 7, 91, 2, 2, 2012, 62, 3, 2, 2, 2, 2013, 2014, 7, 68, 2, 2, 2014, 2015, 7, 84, 2, 2, 2015, 2016, 7, 71, 2, 2, 2016, 2017, 7, 67, 2, 2, 2017, 2018, 7, 77, 2, 2, 2018, 64, 3, 2, 2, 2, 2019, 2020, 7, 68, 2, 2, 2020, 2021, 7, 84, 2, 2, 2021, 2022, 7, 81, 2, 2, 2022, 2023, 7, 89, 2, 2, 2023, 2024, 7, 85, 2, 2, 2024, 2025, 7, 71, 2, 2, 2025, 66, 3, 2, 2, 2, 2026, 2027, 7, 68, 2, 2, 2027, 2028, 7, 87, 2, 2, 2028, 2029, 7, 72, 2, 2, 2029, 2030, 7, 72, 2, 2, 2030, 2031, 7, 71, 2, 2, 2031, 2032, 7, 84, 2, 2, 2032, 68, 3, 2, 2, 2, 2033, 2034, 7, 68, 2, 2, 2034, 2035, 7, 87, 2, 2, 2035, 2036, 7, 72, 2, 2, 2036, 2037, 7, 72, 2, 2, 2037, 2038, 7, 71, 2, 2, 2038, 2039, 7, 84, 2, 2, 2039, 2040, 7, 69, 2, 2, 2040, 2041, 7, 81, 2, 2, 2041, 2042, 7, 87, 2, 2, 2042, 2043, 7, 80, 2, 2, 2043, 2044, 7, 86, 2, 2, 2044, 70, 3, 2, 2, 2, 2045, 2046, 7, 68, 2, 2, 2046, 2047, 7, 87, 2, 2, 2047, 2048, 7, 78, 2, 2, 2048, 2049, 7, 77, 2, 2, 2049, 72, 3, 2, 2, 2, 2050, 2051, 7, 68, 2, 2, 2051, 2052, 7, 91, 2, 2, 2052, 74, 3, 2, 2, 2, 2053, 2054, 7, 69, 2, 2, 2054, 2055, 7, 67, 2, 2, 2055, 2056, 7, 69, 2, 2, 2056, 2057, 7, 74, 2, 2, 2057, 2058, 7, 71, 2, 2, 2058, 76, 3, 2, 2, 2, 2059, 2060, 7, 69, 2, 2, 2060, 2061, 7, 67, 2, 2, 2061, 2062, 7, 78, 2, 2, 2062, 2063, 7, 78, 2, 2, 2063, 2064, 7, 71, 2, 2, 2064, 2065, 7, 70, 2, 2, 2065, 78, 3, 2, 2, 2, 2066, 2067, 7, 69, 2, 2, 2067, 2068, 7, 67, 2, 2, 2068, 2069, 7, 85, 2, 2, 2069, 2070, 7, 69, 2, 2, 2070, 2071, 7, 67, 2, 2, 2071, 2072, 7, 70, 2, 2, 2072, 2073, 7, 71, 2, 2, 2073, 80, 3, 2, 2, 2, 2074, 2075, 7, 69, 2, 2, 2075, 2076, 7, 67, 2, 2, 2076, 2077, 7, 85, 2, 2, 2077, 2078, 7, 71, 2, 2, 2078, 82, 3, 2, 2, 2, 2079, 2080, 7, 69, 2, 2, 2080, 2081, 7, 71, 2, 2, 2081, 2082, 7, 84, 2, 2, 2082, 2083, 7, 86, 2, 2, 2083, 2084, 7, 75, 2, 2, 2084, 2085, 7, 72, 2, 2, 2085, 2086, 7, 75, 2, 2, 2086, 2087, 7, 69, 2, 2, 2087, 2088, 7, 67, 2, 2, 2088, 2089, 7, 86, 2, 2, 2089, 2090, 7, 71, 2, 2, 2090, 84, 3, 2, 2, 2, 2091, 2092, 7, 69, 2, 2, 2092, 2093, 7, 74, 2, 2, 2093, 2094, 7, 67, 2, 2, 2094, 2095, 7, 80, 2, 2, 2095, 2096, 7, 73, 2, 2, 2096, 2097, 7, 71, 2, 2, 2097, 2098, 7, 86, 2, 2, 2098, 2099, 7, 67, 2, 2, 2099, 2100, 7, 68, 2, 2, 2100, 2101, 7, 78, 2, 2, 2101, 2102, 7, 71, 2, 2, 2102, 86, 3, 2, 2, 2, 2103, 2104, 7, 69, 2, 2, 2104, 2105, 7, 74, 2, 2, 2105, 2106, 7, 67, 2, 2, 2106, 2107, 7, 80, 2, 2, 2107, 2108, 7, 73, 2, 2, 2108, 2109, 7, 71, 2, 2, 2109, 2110, 7, 85, 2, 2, 2110, 88, 3, 2, 2, 2, 2111, 2112, 7, 69, 2, 2, 2112, 2113, 7, 74, 2, 2, 2113, 2114, 7, 71, 2, 2, 2114, 2115, 7, 69, 2, 2, 2115, 2116, 7, 77, 2, 2, 2116, 90, 3, 2, 2, 2, 2117, 2118, 7, 69, 2, 2, 2118, 2119, 7, 74, 2, 2, 2119, 2120, 7, 71, 2, 2, 2120, 2121, 7, 69, 2, 2, 2121, 2122, 7, 77, 2, 2, 2122, 2123, 7, 82, 2, 2, 2123, 2124, 7, 81, 2, 2, 2124, 2125, 7, 75, 2, 2, 2125, 2126, 7, 80, 2, 2, 2126, 2127, 7, 86, 2, 2, 2127, 92, 3, 2, 2, 2, 2128, 2129, 7, 69, 2, 2, 2129, 2130, 7, 74, 2, 2, 2130, 2131, 7, 71, 2, 2, 2131, 2132, 7, 69, 2, 2, 2132, 2133, 7, 77, 2, 2, 2133, 2134, 7, 97, 2, 2, 2134, 2135, 7, 82, 2, 2, 2135, 2136, 7, 81, 2, 2, 2136, 2137, 7, 78, 2, 2, 2137, 2138, 7, 75, 2, 2, 2138, 2139, 7, 69, 2, 2, 2139, 2140, 7, 91, 2, 2, 2140, 94, 3, 2, 2, 2, 2141, 2142, 7, 69, 2, 2, 2142, 2143, 7, 74, 2, 2, 2143, 2144, 7, 71, 2, 2, 2144, 2145, 7, 69, 2, 2, 2145, 2146, 7, 77, 2, 2, 2146, 2147, 7, 97, 2, 2, 2147, 2148, 7, 71, 2, 2, 2148, 2149, 7, 90, 2, 2, 2149, 2150, 7, 82, 2, 2, 2150, 2151, 7, 75, 2, 2, 2151, 2152, 7, 84, 2, 2, 2152, 2153, 7, 67, 2, 2, 2153, 2154, 7, 86, 2, 2, 2154, 2155, 7, 75, 2, 2, 2155, 2156, 7, 81, 2, 2, 2156, 2157, 7, 80, 2, 2, 2157, 96, 3, 2, 2, 2, 2158, 2159, 7, 69, 2, 2, 2159, 2160, 7, 78, 2, 2, 2160, 2161, 7, 67, 2, 2, 2161, 2162, 7, 85, 2, 2, 2162, 2163, 7, 85, 2, 2, 2163, 2164, 7, 75, 2, 2, 2164, 2165, 7, 72, 2, 2, 2165, 2166, 7, 75, 2, 2, 2166, 2167, 7, 71, 2, 2, 2167, 2168, 7, 84, 2, 2, 2168, 2169, 7, 97, 2, 2, 2169, 2170, 7, 72, 2, 2, 2170, 2171, 7, 87, 2, 2, 2171, 2172, 7, 80, 2, 2, 2172, 2173, 7, 69, 2, 2, 2173, 2174, 7, 86, 2, 2, 2174, 2175, 7, 75, 2, 2, 2175, 2176, 7, 81, 2, 2, 2176, 2177, 7, 80, 2, 2, 2177, 98, 3, 2, 2, 2, 2178, 2179, 7, 69, 2, 2, 2179, 2180, 7, 78, 2, 2, 2180, 2181, 7, 81, 2, 2, 2181, 2182, 7, 85, 2, 2, 2182, 2183, 7, 71, 2, 2, 2183, 100, 3, 2, 2, 2, 2184, 2185, 7, 69, 2, 2, 2185, 2186, 7, 78, 2, 2, 2186, 2187, 7, 87, 2, 2, 2187, 2188, 7, 85, 2, 2, 2188, 2189, 7, 86, 2, 2, 2189, 2190, 7, 71, 2, 2, 2190, 2191, 7, 84, 2, 2, 2191, 102, 3, 2, 2, 2, 2192, 2193, 7, 69, 2, 2, 2193, 2194, 7, 78, 2, 2, 2194, 2195, 7, 87, 2, 2, 2195, 2196, 7, 85, 2, 2, 2196, 2197, 7, 86, 2, 2, 2197, 2198, 7, 71, 2, 2, 2198, 2199, 7, 84, 2, 2, 2199, 2200, 7, 71, 2, 2, 2200, 2201, 7, 70, 2, 2, 2201, 104, 3, 2, 2, 2, 2202, 2203, 7, 69, 2, 2, 2203, 2204, 7, 81, 2, 2, 2204, 2205, 7, 67, 2, 2, 2205, 2206, 7, 78, 2, 2, 2206, 2207, 7, 71, 2, 2, 2207, 2208, 7, 85, 2, 2, 2208, 2209, 7, 69, 2, 2, 2209, 2210, 7, 71, 2, 2, 2210, 106, 3, 2, 2, 2, 2211, 2212, 7, 69, 2, 2, 2212, 2213, 7, 81, 2, 2, 2213, 2214, 7, 78, 2, 2, 2214, 2215, 7, 78, 2, 2, 2215, 2216, 7, 67, 2, 2, 2216, 2217, 7, 86, 2, 2, 2217, 2218, 7, 71, 2, 2, 2218, 108, 3, 2, 2, 2, 2219, 2220, 7, 69, 2, 2, 2220, 2221, 7, 81, 2, 2, 2221, 2222, 7, 78, 2, 2, 2222, 2223, 7, 87, 2, 2, 2223, 2224, 7, 79, 2, 2, 2224, 2225, 7, 80, 2, 2, 2225, 110, 3, 2, 2, 2, 2226, 2227, 7, 69, 2, 2, 2227, 2228, 7, 81, 2, 2, 2228, 2229, 7, 79, 2, 2, 2229, 2230, 7, 82, 2, 2, 2230, 2231, 7, 84, 2, 2, 2231, 2232, 7, 71, 2, 2, 2232, 2233, 7, 85, 2, 2, 2233, 2234, 7, 85, 2, 2, 2234, 2235, 7, 75, 2, 2, 2235, 2236, 7, 81, 2, 2, 2236, 2237, 7, 80, 2, 2, 2237, 112, 3, 2, 2, 2, 2238, 2239, 7, 69, 2, 2, 2239, 2240, 7, 81, 2, 2, 2240, 2241, 7, 79, 2, 2, 2241, 2242, 7, 79, 2, 2, 2242, 2243, 7, 75, 2, 2, 2243, 2244, 7, 86, 2, 2, 2244, 114, 3, 2, 2, 2, 2245, 2246, 7, 69, 2, 2, 2246, 2247, 7, 81, 2, 2, 2247, 2248, 7, 79, 2, 2, 2248, 2249, 7, 82, 2, 2, 2249, 2250, 7, 87, 2, 2, 2250, 2251, 7, 86, 2, 2, 2251, 2252, 7, 71, 2, 2, 2252, 116, 3, 2, 2, 2, 2253, 2254, 7, 69, 2, 2, 2254, 2255, 7, 81, 2, 2, 2255, 2256, 7, 80, 2, 2, 2256, 2257, 7, 72, 2, 2, 2257, 2258, 7, 75, 2, 2, 2258, 2259, 7, 73, 2, 2, 2259, 2260, 7, 87, 2, 2, 2260, 2261, 7, 84, 2, 2, 2261, 2262, 7, 67, 2, 2, 2262, 2263, 7, 86, 2, 2, 2263, 2264, 7, 75, 2, 2, 2264, 2265, 7, 81, 2, 2, 2265, 2266, 7, 80, 2, 2, 2266, 118, 3, 2, 2, 2, 2267, 2268, 7, 69, 2, 2, 2268, 2269, 7, 81, 2, 2, 2269, 2270, 7, 80, 2, 2, 2270, 2271, 7, 85, 2, 2, 2271, 2272, 7, 86, 2, 2, 2272, 2273, 7, 84, 2, 2, 2273, 2274, 7, 67, 2, 2, 2274, 2275, 7, 75, 2, 2, 2275, 2276, 7, 80, 2, 2, 2276, 2277, 7, 86, 2, 2, 2277, 120, 3, 2, 2, 2, 2278, 2279, 7, 69, 2, 2, 2279, 2280, 7, 81, 2, 2, 2280, 2281, 7, 80, 2, 2, 2281, 2282, 7, 86, 2, 2, 2282, 2283, 7, 67, 2, 2, 2283, 2284, 7, 75, 2, 2, 2284, 2285, 7, 80, 2, 2, 2285, 2286, 7, 79, 2, 2, 2286, 2287, 7, 71, 2, 2, 2287, 2288, 7, 80, 2, 2, 2288, 2289, 7, 86, 2, 2, 2289, 122, 3, 2, 2, 2, 2290, 2291, 7, 69, 2, 2, 2291, 2292, 7, 81, 2, 2, 2292, 2293, 7, 80, 2, 2, 2293, 2294, 7, 86, 2, 2, 2294, 2295, 7, 67, 2, 2, 2295, 2296, 7, 75, 2, 2, 2296, 2297, 7, 80, 2, 2, 2297, 2298, 7, 85, 2, 2, 2298, 124, 3, 2, 2, 2, 2299, 2300, 7, 69, 2, 2, 2300, 2301, 7, 81, 2, 2, 2301, 2302, 7, 80, 2, 2, 2302, 2303, 7, 86, 2, 2, 2303, 2304, 7, 67, 2, 2, 2304, 2305, 7, 75, 2, 2, 2305, 2306, 7, 80, 2, 2, 2306, 2307, 7, 85, 2, 2, 2307, 2308, 7, 86, 2, 2, 2308, 2309, 7, 67, 2, 2, 2309, 2310, 7, 68, 2, 2, 2310, 2311, 7, 78, 2, 2, 2311, 2312, 7, 71, 2, 2, 2312, 126, 3, 2, 2, 2, 2313, 2314, 7, 69, 2, 2, 2314, 2315, 7, 81, 2, 2, 2315, 2316, 7, 80, 2, 2, 2316, 2317, 7, 86, 2, 2, 2317, 2318, 7, 71, 2, 2, 2318, 2319, 7, 90, 2, 2, 2319, 2320, 7, 86, 2, 2, 2320, 128, 3, 2, 2, 2, 2321, 2322, 7, 69, 2, 2, 2322, 2323, 7, 81, 2, 2, 2323, 2324, 7, 80, 2, 2, 2324, 2325, 7, 86, 2, 2, 2325, 2326, 7, 75, 2, 2, 2326, 2327, 7, 80, 2, 2, 2327, 2328, 7, 87, 2, 2, 2328, 2329, 7, 71, 2, 2, 2329, 130, 3, 2, 2, 2, 2330, 2331, 7, 69, 2, 2, 2331, 2332, 7, 81, 2, 2, 2332, 2333, 7, 80, 2, 2, 2333, 2334, 7, 86, 2, 2, 2334, 2335, 7, 75, 2, 2, 2335, 2336, 7, 80, 2, 2, 2336, 2337, 7, 87, 2, 2, 2337, 2338, 7, 71, 2, 2, 2338, 2339, 7, 97, 2, 2, 2339, 2340, 7, 67, 2, 2, 2340, 2341, 7, 72, 2, 2, 2341, 2342, 7, 86, 2, 2, 2342, 2343, 7, 71, 2, 2, 2343, 2344, 7, 84, 2, 2, 2344, 2345, 7, 97, 2, 2, 2345, 2346, 7, 71, 2, 2, 2346, 2347, 7, 84, 2, 2, 2347, 2348, 7, 84, 2, 2, 2348, 2349, 7, 81, 2, 2, 2349, 2350, 7, 84, 2, 2, 2350, 132, 3, 2, 2, 2, 2351, 2352, 7, 69, 2, 2, 2352, 2353, 7, 81, 2, 2, 2353, 2354, 7, 80, 2, 2, 2354, 2355, 7, 86, 2, 2, 2355, 2356, 7, 84, 2, 2, 2356, 2357, 7, 67, 2, 2, 2357, 2358, 7, 69, 2, 2, 2358, 2359, 7, 86, 2, 2, 2359, 134, 3, 2, 2, 2, 2360, 2361, 7, 69, 2, 2, 2361, 2362, 7, 81, 2, 2, 2362, 2363, 7, 80, 2, 2, 2363, 2364, 7, 86, 2, 2, 2364, 2365, 7, 84, 2, 2, 2365, 2366, 7, 67, 2, 2, 2366, 2367, 7, 69, 2, 2, 2367, 2368, 7, 86, 2, 2, 2368, 2369, 7, 97, 2, 2, 2369, 2370, 7, 80, 2, 2, 2370, 2371, 7, 67, 2, 2, 2371, 2372, 7, 79, 2, 2, 2372, 2373, 7, 71, 2, 2, 2373, 136, 3, 2, 2, 2, 2374, 2375, 7, 69, 2, 2, 2375, 2376, 7, 81, 2, 2, 2376, 2377, 7, 80, 2, 2, 2377, 2378, 7, 88, 2, 2, 2378, 2379, 7, 71, 2, 2, 2379, 2380, 7, 84, 2, 2, 2380, 2381, 7, 85, 2, 2, 2381, 2382, 7, 67, 2, 2, 2382, 2383, 7, 86, 2, 2, 2383, 2384, 7, 75, 2, 2, 2384, 2385, 7, 81, 2, 2, 2385, 2386, 7, 80, 2, 2, 2386, 138, 3, 2, 2, 2, 2387, 2388, 7, 86, 2, 2, 2388, 2389, 7, 84, 2, 2, 2389, 2390, 7, 91, 2, 2, 2390, 2392, 7, 97, 2, 2, 2391, 2387, 3, 2, 2, 2, 2391, 2392, 3, 2, 2, 2, 2392, 2393, 3, 2, 2, 2, 2393, 2394, 7, 69, 2, 2, 2394, 2395, 7, 81, 2, 2, 2395, 2396, 7, 80, 2, 2, 2396, 2397, 7, 88, 2, 2, 2397, 2398, 7, 71, 2, 2, 2398, 2399, 7, 84, 2, 2, 2399, 2400, 7, 86, 2, 2, 2400, 140, 3, 2, 2, 2, 2401, 2402, 7, 69, 2, 2, 2402, 2403, 7, 81, 2, 2, 2403, 2404, 7, 82, 2, 2, 2404, 2405, 7, 91, 2, 2, 2405, 2406, 7, 97, 2, 2, 2406, 2407, 7, 81, 2, 2, 2407, 2408, 7, 80, 2, 2, 2408, 2409, 7, 78, 2, 2, 2409, 2410, 7, 91, 2, 2, 2410, 142, 3, 2, 2, 2, 2411, 2412, 7, 69, 2, 2, 2412, 2413, 7, 84, 2, 2, 2413, 2414, 7, 71, 2, 2, 2414, 2415, 7, 67, 2, 2, 2415, 2416, 7, 86, 2, 2, 2416, 2417, 7, 71, 2, 2, 2417, 144, 3, 2, 2, 2, 2418, 2419, 7, 69, 2, 2, 2419, 2420, 7, 84, 2, 2, 2420, 2421, 7, 81, 2, 2, 2421, 2422, 7, 85, 2, 2, 2422, 2423, 7, 85, 2, 2, 2423, 146, 3, 2, 2, 2, 2424, 2425, 7, 69, 2, 2, 2425, 2426, 7, 87, 2, 2, 2426, 2427, 7, 84, 2, 2, 2427, 2428, 7, 84, 2, 2, 2428, 2429, 7, 71, 2, 2, 2429, 2430, 7, 80, 2, 2, 2430, 2431, 7, 86, 2, 2, 2431, 148, 3, 2, 2, 2, 2432, 2433, 7, 69, 2, 2, 2433, 2434, 7, 87, 2, 2, 2434, 2435, 7, 84, 2, 2, 2435, 2436, 7, 84, 2, 2, 2436, 2437, 7, 71, 2, 2, 2437, 2438, 7, 80, 2, 2, 2438, 2439, 7, 86, 2, 2, 2439, 2440, 7, 97, 2, 2, 2440, 2441, 7, 70, 2, 2, 2441, 2442, 7, 67, 2, 2, 2442, 2443, 7, 86, 2, 2, 2443, 2444, 7, 71, 2, 2, 2444, 150, 3, 2, 2, 2, 2445, 2446, 7, 69, 2, 2, 2446, 2447, 7, 87, 2, 2, 2447, 2448, 7, 84, 2, 2, 2448, 2449, 7, 84, 2, 2, 2449, 2450, 7, 71, 2, 2, 2450, 2451, 7, 80, 2, 2, 2451, 2452, 7, 86, 2, 2, 2452, 2453, 7, 97, 2, 2, 2453, 2454, 7, 86, 2, 2, 2454, 2455, 7, 75, 2, 2, 2455, 2456, 7, 79, 2, 2, 2456, 2457, 7, 71, 2, 2, 2457, 152, 3, 2, 2, 2, 2458, 2459, 7, 69, 2, 2, 2459, 2460, 7, 87, 2, 2, 2460, 2461, 7, 84, 2, 2, 2461, 2462, 7, 84, 2, 2, 2462, 2463, 7, 71, 2, 2, 2463, 2464, 7, 80, 2, 2, 2464, 2465, 7, 86, 2, 2, 2465, 2466, 7, 97, 2, 2, 2466, 2467, 7, 86, 2, 2, 2467, 2468, 7, 75, 2, 2, 2468, 2469, 7, 79, 2, 2, 2469, 2470, 7, 71, 2, 2, 2470, 2471, 7, 85, 2, 2, 2471, 2472, 7, 86, 2, 2, 2472, 2473, 7, 67, 2, 2, 2473, 2474, 7, 79, 2, 2, 2474, 2475, 7, 82, 2, 2, 2475, 154, 3, 2, 2, 2, 2476, 2477, 7, 69, 2, 2, 2477, 2478, 7, 87, 2, 2, 2478, 2479, 7, 84, 2, 2, 2479, 2480, 7, 84, 2, 2, 2480, 2481, 7, 71, 2, 2, 2481, 2482, 7, 80, 2, 2, 2482, 2483, 7, 86, 2, 2, 2483, 2484, 7, 97, 2, 2, 2484, 2485, 7, 87, 2, 2, 2485, 2486, 7, 85, 2, 2, 2486, 2487, 7, 71, 2, 2, 2487, 2488, 7, 84, 2, 2, 2488, 156, 3, 2, 2, 2, 2489, 2490, 7, 69, 2, 2, 2490, 2491, 7, 87, 2, 2, 2491, 2492, 7, 84, 2, 2, 2492, 2493, 7, 85, 2, 2, 2493, 2494, 7, 81, 2, 2, 2494, 2495, 7, 84, 2, 2, 2495, 158, 3, 2, 2, 2, 2496, 2497, 7, 69, 2, 2, 2497, 2498, 7, 91, 2, 2, 2498, 2499, 7, 69, 2, 2, 2499, 2500, 7, 78, 2, 2, 2500, 2501, 7, 71, 2, 2, 2501, 160, 3, 2, 2, 2, 2502, 2503, 7, 70, 2, 2, 2503, 2504, 7, 67, 2, 2, 2504, 2505, 7, 86, 2, 2, 2505, 2506, 7, 67, 2, 2, 2506, 2507, 7, 97, 2, 2, 2507, 2508, 7, 69, 2, 2, 2508, 2509, 7, 81, 2, 2, 2509, 2510, 7, 79, 2, 2, 2510, 2511, 7, 82, 2, 2, 2511, 2512, 7, 84, 2, 2, 2512, 2513, 7, 71, 2, 2, 2513, 2514, 7, 85, 2, 2, 2514, 2515, 7, 85, 2, 2, 2515, 2516, 7, 75, 2, 2, 2516, 2517, 7, 81, 2, 2, 2517, 2518, 7, 80, 2, 2, 2518, 162, 3, 2, 2, 2, 2519, 2520, 7, 70, 2, 2, 2520, 2521, 7, 67, 2, 2, 2521, 2522, 7, 86, 2, 2, 2522, 2523, 7, 67, 2, 2, 2523, 2524, 7, 97, 2, 2, 2524, 2525, 7, 85, 2, 2, 2525, 2526, 7, 81, 2, 2, 2526, 2527, 7, 87, 2, 2, 2527, 2528, 7, 84, 2, 2, 2528, 2529, 7, 69, 2, 2, 2529, 2530, 7, 71, 2, 2, 2530, 164, 3, 2, 2, 2, 2531, 2532, 7, 70, 2, 2, 2532, 2533, 7, 67, 2, 2, 2533, 2534, 7, 86, 2, 2, 2534, 2535, 7, 67, 2, 2, 2535, 2536, 7, 68, 2, 2, 2536, 2537, 7, 67, 2, 2, 2537, 2538, 7, 85, 2, 2, 2538, 2539, 7, 71, 2, 2, 2539, 166, 3, 2, 2, 2, 2540, 2541, 7, 70, 2, 2, 2541, 2542, 7, 67, 2, 2, 2542, 2543, 7, 86, 2, 2, 2543, 2544, 7, 67, 2, 2, 2544, 2545, 7, 68, 2, 2, 2545, 2546, 7, 67, 2, 2, 2546, 2547, 7, 85, 2, 2, 2547, 2548, 7, 71, 2, 2, 2548, 2549, 7, 97, 2, 2, 2549, 2550, 7, 79, 2, 2, 2550, 2551, 7, 75, 2, 2, 2551, 2552, 7, 84, 2, 2, 2552, 2553, 7, 84, 2, 2, 2553, 2554, 7, 81, 2, 2, 2554, 2555, 7, 84, 2, 2, 2555, 2556, 7, 75, 2, 2, 2556, 2557, 7, 80, 2, 2, 2557, 2558, 7, 73, 2, 2, 2558, 168, 3, 2, 2, 2, 2559, 2560, 7, 70, 2, 2, 2560, 2561, 7, 68, 2, 2, 2561, 2562, 7, 69, 2, 2, 2562, 2563, 7, 69, 2, 2, 2563, 170, 3, 2, 2, 2, 2564, 2565, 7, 70, 2, 2, 2565, 2566, 7, 71, 2, 2, 2566, 2567, 7, 67, 2, 2, 2567, 2568, 7, 78, 2, 2, 2568, 2569, 7, 78, 2, 2, 2569, 2570, 7, 81, 2, 2, 2570, 2571, 7, 69, 2, 2, 2571, 2572, 7, 67, 2, 2, 2572, 2573, 7, 86, 2, 2, 2573, 2574, 7, 71, 2, 2, 2574, 172, 3, 2, 2, 2, 2575, 2576, 7, 70, 2, 2, 2576, 2577, 7, 71, 2, 2, 2577, 2578, 7, 69, 2, 2, 2578, 2579, 7, 78, 2, 2, 2579, 2580, 7, 67, 2, 2, 2580, 2581, 7, 84, 2, 2, 2581, 2582, 7, 71, 2, 2, 2582, 174, 3, 2, 2, 2, 2583, 2584, 7, 70, 2, 2, 2584, 2585, 7, 71, 2, 2, 2585, 2586, 7, 72, 2, 2, 2586, 2587, 7, 67, 2, 2, 2587, 2588, 7, 87, 2, 2, 2588, 2589, 7, 78, 2, 2, 2589, 2590, 7, 86, 2, 2, 2590, 176, 3, 2, 2, 2, 2591, 2592, 7, 70, 2, 2, 2592, 2593, 7, 71, 2, 2, 2593, 2594, 7, 72, 2, 2, 2594, 2595, 7, 67, 2, 2, 2595, 2596, 7, 87, 2, 2, 2596, 2597, 7, 78, 2, 2, 2597, 2598, 7, 86, 2, 2, 2598, 2599, 7, 97, 2, 2, 2599, 2600, 7, 70, 2, 2, 2600, 2601, 7, 67, 2, 2, 2601, 2602, 7, 86, 2, 2, 2602, 2603, 7, 67, 2, 2, 2603, 2604, 7, 68, 2, 2, 2604, 2605, 7, 67, 2, 2, 2605, 2606, 7, 85, 2, 2, 2606, 2607, 7, 71, 2, 2, 2607, 178, 3, 2, 2, 2, 2608, 2609, 7, 70, 2, 2, 2609, 2610, 7, 71, 2, 2, 2610, 2611, 7, 72, 2, 2, 2611, 2612, 7, 67, 2, 2, 2612, 2613, 7, 87, 2, 2, 2613, 2614, 7, 78, 2, 2, 2614, 2615, 7, 86, 2, 2, 2615, 2616, 7, 97, 2, 2, 2616, 2617, 7, 85, 2, 2, 2617, 2618, 7, 69, 2, 2, 2618, 2619, 7, 74, 2, 2, 2619, 2620, 7, 71, 2, 2, 2620, 2621, 7, 79, 2, 2, 2621, 2622, 7, 67, 2, 2, 2622, 180, 3, 2, 2, 2, 2623, 2624, 7, 70, 2, 2, 2624, 2625, 7, 71, 2, 2, 2625, 2626, 7, 78, 2, 2, 2626, 2627, 7, 71, 2, 2, 2627, 2628, 7, 86, 2, 2, 2628, 2629, 7, 71, 2, 2, 2629, 182, 3, 2, 2, 2, 2630, 2631, 7, 70, 2, 2, 2631, 2632, 7, 71, 2, 2, 2632, 2633, 7, 80, 2, 2, 2633, 2634, 7, 91, 2, 2, 2634, 184, 3, 2, 2, 2, 2635, 2636, 7, 70, 2, 2, 2636, 2637, 7, 71, 2, 2, 2637, 2638, 7, 85, 2, 2, 2638, 2639, 7, 69, 2, 2, 2639, 186, 3, 2, 2, 2, 2640, 2641, 7, 70, 2, 2, 2641, 2642, 7, 75, 2, 2, 2642, 2643, 7, 67, 2, 2, 2643, 2644, 7, 73, 2, 2, 2644, 2645, 7, 80, 2, 2, 2645, 2646, 7, 81, 2, 2, 2646, 2647, 7, 85, 2, 2, 2647, 2648, 7, 86, 2, 2, 2648, 2649, 7, 75, 2, 2, 2649, 2650, 7, 69, 2, 2, 2650, 2651, 7, 85, 2, 2, 2651, 188, 3, 2, 2, 2, 2652, 2653, 7, 70, 2, 2, 2653, 2654, 7, 75, 2, 2, 2654, 2655, 7, 72, 2, 2, 2655, 2656, 7, 72, 2, 2, 2656, 2657, 7, 71, 2, 2, 2657, 2658, 7, 84, 2, 2, 2658, 2659, 7, 71, 2, 2, 2659, 2660, 7, 80, 2, 2, 2660, 2661, 7, 86, 2, 2, 2661, 2662, 7, 75, 2, 2, 2662, 2663, 7, 67, 2, 2, 2663, 2664, 7, 78, 2, 2, 2664, 190, 3, 2, 2, 2, 2665, 2666, 7, 70, 2, 2, 2666, 2667, 7, 75, 2, 2, 2667, 2668, 7, 85, 2, 2, 2668, 2669, 7, 77, 2, 2, 2669, 192, 3, 2, 2, 2, 2670, 2671, 7, 70, 2, 2, 2671, 2672, 7, 75, 2, 2, 2672, 2673, 7, 85, 2, 2, 2673, 2674, 7, 86, 2, 2, 2674, 2675, 7, 75, 2, 2, 2675, 2676, 7, 80, 2, 2, 2676, 2677, 7, 69, 2, 2, 2677, 2678, 7, 86, 2, 2, 2678, 194, 3, 2, 2, 2, 2679, 2680, 7, 70, 2, 2, 2680, 2681, 7, 75, 2, 2, 2681, 2682, 7, 85, 2, 2, 2682, 2683, 7, 86, 2, 2, 2683, 2684, 7, 84, 2, 2, 2684, 2685, 7, 75, 2, 2, 2685, 2686, 7, 68, 2, 2, 2686, 2687, 7, 87, 2, 2, 2687, 2688, 7, 86, 2, 2, 2688, 2689, 7, 71, 2, 2, 2689, 2690, 7, 70, 2, 2, 2690, 196, 3, 2, 2, 2, 2691, 2692, 7, 70, 2, 2, 2692, 2693, 7, 81, 2, 2, 2693, 2694, 7, 87, 2, 2, 2694, 2695, 7, 68, 2, 2, 2695, 2696, 7, 78, 2, 2, 2696, 2697, 7, 71, 2, 2, 2697, 198, 3, 2, 2, 2, 2698, 2699, 7, 94, 2, 2, 2699, 2700, 7, 94, 2, 2, 2700, 200, 3, 2, 2, 2, 2701, 2702, 7, 49, 2, 2, 2702, 2703, 7, 49, 2, 2, 2703, 202, 3, 2, 2, 2, 2704, 2705, 7, 70, 2, 2, 2705, 2706, 7, 84, 2, 2, 2706, 2707, 7, 81, 2, 2, 2707, 2708, 7, 82, 2, 2, 2708, 204, 3, 2, 2, 2, 2709, 2710, 7, 70, 2, 2, 2710, 2711, 7, 86, 2, 2, 2711, 2712, 7, 69, 2, 2, 2712, 2713, 7, 97, 2, 2, 2713, 2714, 7, 85, 2, 2, 2714, 2715, 7, 87, 2, 2, 2715, 2716, 7, 82, 2, 2, 2716, 2717, 7, 82, 2, 2, 2717, 2718, 7, 81, 2, 2, 2718, 2719, 7, 84, 2, 2, 2719, 2720, 7, 86, 2, 2, 2720, 206, 3, 2, 2, 2, 2721, 2722, 7, 70, 2, 2, 2722, 2723, 7, 87, 2, 2, 2723, 2724, 7, 79, 2, 2, 2724, 2725, 7, 82, 2, 2, 2725, 208, 3, 2, 2, 2, 2726, 2727, 7, 71, 2, 2, 2727, 2728, 7, 78, 2, 2, 2728, 2729, 7, 85, 2, 2, 2729, 2730, 7, 71, 2, 2, 2730, 210, 3, 2, 2, 2, 2731, 2732, 7, 71, 2, 2, 2732, 2733, 7, 80, 2, 2, 2733, 2734, 7, 67, 2, 2, 2734, 2735, 7, 68, 2, 2, 2735, 2736, 7, 78, 2, 2, 2736, 2737, 7, 71, 2, 2, 2737, 2738, 7, 70, 2, 2, 2738, 212, 3, 2, 2, 2, 2739, 2740, 7, 71, 2, 2, 2740, 2741, 7, 80, 2, 2, 2741, 2742, 7, 70, 2, 2, 2742, 214, 3, 2, 2, 2, 2743, 2744, 7, 71, 2, 2, 2744, 2745, 7, 80, 2, 2, 2745, 2746, 7, 70, 2, 2, 2746, 2747, 7, 82, 2, 2, 2747, 2748, 7, 81, 2, 2, 2748, 2749, 7, 75, 2, 2, 2749, 2750, 7, 80, 2, 2, 2750, 2751, 7, 86, 2, 2, 2751, 216, 3, 2, 2, 2, 2752, 2753, 7, 71, 2, 2, 2753, 2754, 7, 84, 2, 2, 2754, 2755, 7, 84, 2, 2, 2755, 2756, 7, 78, 2, 2, 2756, 2757, 7, 88, 2, 2, 2757, 2758, 7, 78, 2, 2, 2758, 218, 3, 2, 2, 2, 2759, 2760, 7, 71, 2, 2, 2760, 2761, 7, 85, 2, 2, 2761, 2762, 7, 69, 2, 2, 2762, 2763, 7, 67, 2, 2, 2763, 2764, 7, 82, 2, 2, 2764, 2765, 7, 71, 2, 2, 2765, 220, 3, 2, 2, 2, 2766, 2767, 7, 71, 2, 2, 2767, 2768, 7, 84, 2, 2, 2768, 2769, 7, 84, 2, 2, 2769, 2770, 7, 81, 2, 2, 2770, 2771, 7, 84, 2, 2, 2771, 222, 3, 2, 2, 2, 2772, 2773, 7, 71, 2, 2, 2773, 2774, 7, 88, 2, 2, 2774, 2775, 7, 71, 2, 2, 2775, 2776, 7, 80, 2, 2, 2776, 2777, 7, 86, 2, 2, 2777, 224, 3, 2, 2, 2, 2778, 2779, 7, 71, 2, 2, 2779, 2780, 7, 88, 2, 2, 2780, 2781, 7, 71, 2, 2, 2781, 2782, 7, 80, 2, 2, 2782, 2783, 7, 86, 2, 2, 2783, 2784, 7, 70, 2, 2, 2784, 2785, 7, 67, 2, 2, 2785, 2786, 7, 86, 2, 2, 2786, 2787, 7, 67, 2, 2, 2787, 2788, 3, 2, 2, 2, 2788, 2789, 7, 42, 2, 2, 2789, 2790, 7, 43, 2, 2, 2790, 226, 3, 2, 2, 2, 2791, 2792, 7, 71, 2, 2, 2792, 2793, 7, 88, 2, 2, 2793, 2794, 7, 71, 2, 2, 2794, 2795, 7, 80, 2, 2, 2795, 2796, 7, 86, 2, 2, 2796, 2797, 7, 97, 2, 2, 2797, 2798, 7, 84, 2, 2, 2798, 2799, 7, 71, 2, 2, 2799, 2800, 7, 86, 2, 2, 2800, 2801, 7, 71, 2, 2, 2801, 2802, 7, 80, 2, 2, 2802, 2803, 7, 86, 2, 2, 2803, 2804, 7, 75, 2, 2, 2804, 2805, 7, 81, 2, 2, 2805, 2806, 7, 80, 2, 2, 2806, 2807, 7, 97, 2, 2, 2807, 2808, 7, 79, 2, 2, 2808, 2809, 7, 81, 2, 2, 2809, 2810, 7, 70, 2, 2, 2810, 2811, 7, 71, 2, 2, 2811, 228, 3, 2, 2, 2, 2812, 2813, 7, 71, 2, 2, 2813, 2814, 7, 90, 2, 2, 2814, 2815, 7, 69, 2, 2, 2815, 2816, 7, 71, 2, 2, 2816, 2817, 7, 82, 2, 2, 2817, 2818, 7, 86, 2, 2, 2818, 230, 3, 2, 2, 2, 2819, 2820, 7, 71, 2, 2, 2820, 2821, 7, 90, 2, 2, 2821, 2822, 7, 71, 2, 2, 2822, 2823, 7, 69, 2, 2, 2823, 2824, 7, 87, 2, 2, 2824, 2825, 7, 86, 2, 2, 2825, 2826, 7, 67, 2, 2, 2826, 2827, 7, 68, 2, 2, 2827, 2828, 7, 78, 2, 2, 2828, 2829, 7, 71, 2, 2, 2829, 2830, 7, 97, 2, 2, 2830, 2831, 7, 72, 2, 2, 2831, 2832, 7, 75, 2, 2, 2832, 2833, 7, 78, 2, 2, 2833, 2834, 7, 71, 2, 2, 2834, 232, 3, 2, 2, 2, 2835, 2836, 7, 71, 2, 2, 2836, 2837, 7, 90, 2, 2, 2837, 2838, 7, 71, 2, 2, 2838, 2839, 7, 69, 2, 2, 2839, 2843, 3, 2, 2, 2, 2840, 2841, 7, 87, 2, 2, 2841, 2842, 7, 86, 2, 2, 2842, 2844, 7, 71, 2, 2, 2843, 2840, 3, 2, 2, 2, 2843, 2844, 3, 2, 2, 2, 2844, 234, 3, 2, 2, 2, 2845, 2846, 7, 71, 2, 2, 2846, 2847, 7, 90, 2, 2, 2847, 2848, 7, 75, 2, 2, 2848, 2849, 7, 85, 2, 2, 2849, 2850, 7, 86, 2, 2, 2850, 2851, 7, 85, 2, 2, 2851, 236, 3, 2, 2, 2, 2852, 2853, 7, 71, 2, 2, 2853, 2854, 7, 90, 2, 2, 2854, 2855, 7, 82, 2, 2, 2855, 2856, 7, 75, 2, 2, 2856, 2857, 7, 84, 2, 2, 2857, 2858, 7, 71, 2, 2, 2858, 2859, 7, 70, 2, 2, 2859, 2860, 7, 67, 2, 2, 2860, 2861, 7, 86, 2, 2, 2861, 2862, 7, 71, 2, 2, 2862, 238, 3, 2, 2, 2, 2863, 2864, 7, 71, 2, 2, 2864, 2865, 7, 90, 2, 2, 2865, 2866, 7, 75, 2, 2, 2866, 2867, 7, 86, 2, 2, 2867, 240, 3, 2, 2, 2, 2868, 2869, 7, 71, 2, 2, 2869, 2870, 7, 90, 2, 2, 2870, 2871, 7, 86, 2, 2, 2871, 2872, 7, 71, 2, 2, 2872, 2873, 7, 80, 2, 2, 2873, 2874, 7, 85, 2, 2, 2874, 2875, 7, 75, 2, 2, 2875, 2876, 7, 81, 2, 2, 2876, 2877, 7, 80, 2, 2, 2877, 242, 3, 2, 2, 2, 2878, 2879, 7, 71, 2, 2, 2879, 2880, 7, 90, 2, 2, 2880, 2881, 7, 86, 2, 2, 2881, 2882, 7, 71, 2, 2, 2882, 2883, 7, 84, 2, 2, 2883, 2884, 7, 80, 2, 2, 2884, 2885, 7, 67, 2, 2, 2885, 2886, 7, 78, 2, 2, 2886, 244, 3, 2, 2, 2, 2887, 2888, 7, 71, 2, 2, 2888, 2889, 7, 90, 2, 2, 2889, 2890, 7, 86, 2, 2, 2890, 2891, 7, 71, 2, 2, 2891, 2892, 7, 84, 2, 2, 2892, 2893, 7, 80, 2, 2, 2893, 2894, 7, 67, 2, 2, 2894, 2895, 7, 78, 2, 2, 2895, 2896, 7, 97, 2, 2, 2896, 2897, 7, 67, 2, 2, 2897, 2898, 7, 69, 2, 2, 2898, 2899, 7, 69, 2, 2, 2899, 2900, 7, 71, 2, 2, 2900, 2901, 7, 85, 2, 2, 2901, 2902, 7, 85, 2, 2, 2902, 246, 3, 2, 2, 2, 2903, 2904, 7, 72, 2, 2, 2904, 2905, 7, 67, 2, 2, 2905, 2906, 7, 75, 2, 2, 2906, 2907, 7, 78, 2, 2, 2907, 2908, 7, 81, 2, 2, 2908, 2909, 7, 88, 2, 2, 2909, 2910, 7, 71, 2, 2, 2910, 2911, 7, 84, 2, 2, 2911, 248, 3, 2, 2, 2, 2912, 2913, 7, 72, 2, 2, 2913, 2914, 7, 67, 2, 2, 2914, 2915, 7, 75, 2, 2, 2915, 2916, 7, 78, 2, 2, 2916, 2917, 7, 87, 2, 2, 2917, 2918, 7, 84, 2, 2, 2918, 2919, 7, 71, 2, 2, 2919, 2920, 7, 69, 2, 2, 2920, 2921, 7, 81, 2, 2, 2921, 2922, 7, 80, 2, 2, 2922, 2923, 7, 70, 2, 2, 2923, 2924, 7, 75, 2, 2, 2924, 2925, 7, 86, 2, 2, 2925, 2926, 7, 75, 2, 2, 2926, 2927, 7, 81, 2, 2, 2927, 2928, 7, 80, 2, 2, 2928, 2929, 7, 78, 2, 2, 2929, 2930, 7, 71, 2, 2, 2930, 2931, 7, 88, 2, 2, 2931, 2932, 7, 71, 2, 2, 2932, 2933, 7, 78, 2, 2, 2933, 250, 3, 2, 2, 2, 2934, 2935, 7, 72, 2, 2, 2935, 2936, 7, 67, 2, 2, 2936, 2937, 7, 80, 2, 2, 2937, 2938, 7, 97, 2, 2, 2938, 2939, 7, 75, 2, 2, 2939, 2940, 7, 80, 2, 2, 2940, 252, 3, 2, 2, 2, 2941, 2942, 7, 72, 2, 2, 2942, 2943, 7, 71, 2, 2, 2943, 2944, 7, 86, 2, 2, 2944, 2945, 7, 69, 2, 2, 2945, 2946, 7, 74, 2, 2, 2946, 254, 3, 2, 2, 2, 2947, 2948, 7, 72, 2, 2, 2948, 2949, 7, 75, 2, 2, 2949, 2950, 7, 78, 2, 2, 2950, 2951, 7, 71, 2, 2, 2951, 256, 3, 2, 2, 2, 2952, 2953, 7, 72, 2, 2, 2953, 2954, 7, 75, 2, 2, 2954, 2955, 7, 78, 2, 2, 2955, 2956, 7, 71, 2, 2, 2956, 2957, 7, 80, 2, 2, 2957, 2958, 7, 67, 2, 2, 2958, 2959, 7, 79, 2, 2, 2959, 2960, 7, 71, 2, 2, 2960, 258, 3, 2, 2, 2, 2961, 2962, 7, 72, 2, 2, 2962, 2963, 7, 75, 2, 2, 2963, 2964, 7, 78, 2, 2, 2964, 2965, 7, 78, 2, 2, 2965, 2966, 7, 72, 2, 2, 2966, 2967, 7, 67, 2, 2, 2967, 2968, 7, 69, 2, 2, 2968, 2969, 7, 86, 2, 2, 2969, 2970, 7, 81, 2, 2, 2970, 2971, 7, 84, 2, 2, 2971, 260, 3, 2, 2, 2, 2972, 2973, 7, 72, 2, 2, 2973, 2974, 7, 75, 2, 2, 2974, 2975, 7, 78, 2, 2, 2975, 2976, 7, 71, 2, 2, 2976, 2977, 7, 97, 2, 2, 2977, 2978, 7, 85, 2, 2, 2978, 2979, 7, 80, 2, 2, 2979, 2980, 7, 67, 2, 2, 2980, 2981, 7, 82, 2, 2, 2981, 2982, 7, 85, 2, 2, 2982, 2983, 7, 74, 2, 2, 2983, 2984, 7, 81, 2, 2, 2984, 2985, 7, 86, 2, 2, 2985, 262, 3, 2, 2, 2, 2986, 2987, 7, 72, 2, 2, 2987, 2988, 7, 81, 2, 2, 2988, 2989, 7, 84, 2, 2, 2989, 264, 3, 2, 2, 2, 2990, 2991, 7, 72, 2, 2, 2991, 2992, 7, 81, 2, 2, 2992, 2993, 7, 84, 2, 2, 2993, 2994, 7, 69, 2, 2, 2994, 2995, 7, 71, 2, 2, 2995, 2996, 7, 85, 2, 2, 2996, 2997, 7, 71, 2, 2, 2997, 2998, 7, 71, 2, 2, 2998, 2999, 7, 77, 2, 2, 2999, 266, 3, 2, 2, 2, 3000, 3001, 7, 72, 2, 2, 3001, 3002, 7, 81, 2, 2, 3002, 3003, 7, 84, 2, 2, 3003, 3004, 7, 69, 2, 2, 3004, 3005, 7, 71, 2, 2, 3005, 3006, 7, 97, 2, 2, 3006, 3007, 7, 85, 2, 2, 3007, 3008, 7, 71, 2, 2, 3008, 3009, 7, 84, 2, 2, 3009, 3010, 7, 88, 2, 2, 3010, 3011, 7, 75, 2, 2, 3011, 3012, 7, 69, 2, 2, 3012, 3013, 7, 71, 2, 2, 3013, 3014, 7, 97, 2, 2, 3014, 3015, 7, 67, 2, 2, 3015, 3016, 7, 78, 2, 2, 3016, 3017, 7, 78, 2, 2, 3017, 3018, 7, 81, 2, 2, 3018, 3019, 7, 89, 2, 2, 3019, 3020, 7, 97, 2, 2, 3020, 3021, 7, 70, 2, 2, 3021, 3022, 7, 67, 2, 2, 3022, 3023, 7, 86, 2, 2, 3023, 3024, 7, 67, 2, 2, 3024, 3025, 7, 97, 2, 2, 3025, 3026, 7, 78, 2, 2, 3026, 3027, 7, 81, 2, 2, 3027, 3028, 7, 85, 2, 2, 3028, 3029, 7, 85, 2, 2, 3029, 268, 3, 2, 2, 2, 3030, 3031, 7, 72, 2, 2, 3031, 3032, 7, 81, 2, 2, 3032, 3033, 7, 84, 2, 2, 3033, 3034, 7, 71, 2, 2, 3034, 3035, 7, 75, 2, 2, 3035, 3036, 7, 73, 2, 2, 3036, 3037, 7, 80, 2, 2, 3037, 270, 3, 2, 2, 2, 3038, 3039, 7, 72, 2, 2, 3039, 3040, 7, 84, 2, 2, 3040, 3041, 7, 71, 2, 2, 3041, 3042, 7, 71, 2, 2, 3042, 3043, 7, 86, 2, 2, 3043, 3044, 7, 71, 2, 2, 3044, 3045, 7, 90, 2, 2, 3045, 3046, 7, 86, 2, 2, 3046, 272, 3, 2, 2, 2, 3047, 3048, 7, 72, 2, 2, 3048, 3049, 7, 84, 2, 2, 3049, 3050, 7, 71, 2, 2, 3050, 3051, 7, 71, 2, 2, 3051, 3052, 7, 86, 2, 2, 3052, 3053, 7, 71, 2, 2, 3053, 3054, 7, 90, 2, 2, 3054, 3055, 7, 86, 2, 2, 3055, 3056, 7, 86, 2, 2, 3056, 3057, 7, 67, 2, 2, 3057, 3058, 7, 68, 2, 2, 3058, 3059, 7, 78, 2, 2, 3059, 3060, 7, 71, 2, 2, 3060, 274, 3, 2, 2, 2, 3061, 3062, 7, 72, 2, 2, 3062, 3063, 7, 84, 2, 2, 3063, 3064, 7, 81, 2, 2, 3064, 3065, 7, 79, 2, 2, 3065, 276, 3, 2, 2, 2, 3066, 3067, 7, 72, 2, 2, 3067, 3068, 7, 87, 2, 2, 3068, 3069, 7, 78, 2, 2, 3069, 3070, 7, 78, 2, 2, 3070, 278, 3, 2, 2, 2, 3071, 3072, 7, 72, 2, 2, 3072, 3073, 7, 87, 2, 2, 3073, 3074, 7, 80, 2, 2, 3074, 3075, 7, 69, 2, 2, 3075, 3076, 7, 86, 2, 2, 3076, 3077, 7, 75, 2, 2, 3077, 3078, 7, 81, 2, 2, 3078, 3079, 7, 80, 2, 2, 3079, 280, 3, 2, 2, 2, 3080, 3081, 7, 73, 2, 2, 3081, 3082, 7, 71, 2, 2, 3082, 3083, 7, 86, 2, 2, 3083, 282, 3, 2, 2, 2, 3084, 3085, 7, 73, 2, 2, 3085, 3086, 7, 81, 2, 2, 3086, 3087, 7, 86, 2, 2, 3087, 3088, 7, 81, 2, 2, 3088, 284, 3, 2, 2, 2, 3089, 3090, 7, 73, 2, 2, 3090, 3091, 7, 81, 2, 2, 3091, 3092, 7, 88, 2, 2, 3092, 3093, 7, 71, 2, 2, 3093, 3094, 7, 84, 2, 2, 3094, 3095, 7, 80, 2, 2, 3095, 3096, 7, 81, 2, 2, 3096, 3097, 7, 84, 2, 2, 3097, 286, 3, 2, 2, 2, 3098, 3099, 7, 73, 2, 2, 3099, 3100, 7, 84, 2, 2, 3100, 3101, 7, 67, 2, 2, 3101, 3102, 7, 80, 2, 2, 3102, 3103, 7, 86, 2, 2, 3103, 288, 3, 2, 2, 2, 3104, 3105, 7, 73, 2, 2, 3105, 3106, 7, 84, 2, 2, 3106, 3107, 7, 81, 2, 2, 3107, 3108, 7, 87, 2, 2, 3108, 3109, 7, 82, 2, 2, 3109, 290, 3, 2, 2, 2, 3110, 3111, 7, 74, 2, 2, 3111, 3112, 7, 67, 2, 2, 3112, 3113, 7, 88, 2, 2, 3113, 3114, 7, 75, 2, 2, 3114, 3115, 7, 80, 2, 2, 3115, 3116, 7, 73, 2, 2, 3116, 292, 3, 2, 2, 2, 3117, 3118, 7, 74, 2, 2, 3118, 3119, 7, 67, 2, 2, 3119, 3120, 7, 85, 2, 2, 3120, 3121, 7, 74, 2, 2, 3121, 3122, 7, 71, 2, 2, 3122, 3123, 7, 70, 2, 2, 3123, 294, 3, 2, 2, 2, 3124, 3125, 7, 74, 2, 2, 3125, 3126, 7, 71, 2, 2, 3126, 3127, 7, 67, 2, 2, 3127, 3128, 7, 78, 2, 2, 3128, 3129, 7, 86, 2, 2, 3129, 3130, 7, 74, 2, 2, 3130, 3131, 7, 69, 2, 2, 3131, 3132, 7, 74, 2, 2, 3132, 3133, 7, 71, 2, 2, 3133, 3134, 7, 69, 2, 2, 3134, 3135, 7, 77, 2, 2, 3135, 3136, 7, 86, 2, 2, 3136, 3137, 7, 75, 2, 2, 3137, 3138, 7, 79, 2, 2, 3138, 3139, 7, 71, 2, 2, 3139, 3140, 7, 81, 2, 2, 3140, 3141, 7, 87, 2, 2, 3141, 3142, 7, 86, 2, 2, 3142, 296, 3, 2, 2, 2, 3143, 3144, 7, 75, 2, 2, 3144, 3145, 7, 70, 2, 2, 3145, 3146, 7, 71, 2, 2, 3146, 3147, 7, 80, 2, 2, 3147, 3148, 7, 86, 2, 2, 3148, 3149, 7, 75, 2, 2, 3149, 3150, 7, 86, 2, 2, 3150, 3151, 7, 91, 2, 2, 3151, 298, 3, 2, 2, 2, 3152, 3153, 7, 75, 2, 2, 3153, 3154, 7, 70, 2, 2, 3154, 3155, 7, 71, 2, 2, 3155, 3156, 7, 80, 2, 2, 3156, 3157, 7, 86, 2, 2, 3157, 3158, 7, 75, 2, 2, 3158, 3159, 7, 86, 2, 2, 3159, 3160, 7, 91, 2, 2, 3160, 3161, 7, 69, 2, 2, 3161, 3162, 7, 81, 2, 2, 3162, 3163, 7, 78, 2, 2, 3163, 300, 3, 2, 2, 2, 3164, 3165, 7, 75, 2, 2, 3165, 3166, 7, 70, 2, 2, 3166, 3167, 7, 71, 2, 2, 3167, 3168, 7, 80, 2, 2, 3168, 3169, 7, 86, 2, 2, 3169, 3170, 7, 75, 2, 2, 3170, 3171, 7, 86, 2, 2, 3171, 3172, 7, 91, 2, 2, 3172, 3173, 7, 97, 2, 2, 3173, 3174, 7, 75, 2, 2, 3174, 3175, 7, 80, 2, 2, 3175, 3176, 7, 85, 2, 2, 3176, 3177, 7, 71, 2, 2, 3177, 3178, 7, 84, 2, 2, 3178, 3179, 7, 86, 2, 2, 3179, 302, 3, 2, 2, 2, 3180, 3181, 7, 75, 2, 2, 3181, 3182, 7, 72, 2, 2, 3182, 304, 3, 2, 2, 2, 3183, 3184, 7, 75, 2, 2, 3184, 3185, 7, 75, 2, 2, 3185, 3186, 7, 72, 2, 2, 3186, 306, 3, 2, 2, 2, 3187, 3188, 7, 75, 2, 2, 3188, 3189, 7, 80, 2, 2, 3189, 308, 3, 2, 2, 2, 3190, 3191, 7, 75, 2, 2, 3191, 3192, 7, 80, 2, 2, 3192, 3193, 7, 69, 2, 2, 3193, 3194, 7, 78, 2, 2, 3194, 3195, 7, 87, 2, 2, 3195, 3196, 7, 70, 2, 2, 3196, 3197, 7, 71, 2, 2, 3197, 310, 3, 2, 2, 2, 3198, 3199, 7, 75, 2, 2, 3199, 3200, 7, 80, 2, 2, 3200, 3201, 7, 69, 2, 2, 3201, 3202, 7, 84, 2, 2, 3202, 3203, 7, 71, 2, 2, 3203, 3204, 7, 79, 2, 2, 3204, 3205, 7, 71, 2, 2, 3205, 3206, 7, 80, 2, 2, 3206, 3207, 7, 86, 2, 2, 3207, 312, 3, 2, 2, 2, 3208, 3209, 7, 75, 2, 2, 3209, 3210, 7, 80, 2, 2, 3210, 3211, 7, 70, 2, 2, 3211, 3212, 7, 71, 2, 2, 3212, 3213, 7, 90, 2, 2, 3213, 314, 3, 2, 2, 2, 3214, 3215, 7, 75, 2, 2, 3215, 3216, 7, 80, 2, 2, 3216, 3217, 7, 72, 2, 2, 3217, 3218, 7, 75, 2, 2, 3218, 3219, 7, 80, 2, 2, 3219, 3220, 7, 75, 2, 2, 3220, 3221, 7, 86, 2, 2, 3221, 3222, 7, 71, 2, 2, 3222, 316, 3, 2, 2, 2, 3223, 3224, 7, 75, 2, 2, 3224, 3225, 7, 80, 2, 2, 3225, 3226, 7, 75, 2, 2, 3226, 3227, 7, 86, 2, 2, 3227, 318, 3, 2, 2, 2, 3228, 3229, 7, 75, 2, 2, 3229, 3230, 7, 80, 2, 2, 3230, 3231, 7, 80, 2, 2, 3231, 3232, 7, 71, 2, 2, 3232, 3233, 7, 84, 2, 2, 3233, 320, 3, 2, 2, 2, 3234, 3235, 7, 75, 2, 2, 3235, 3236, 7, 80, 2, 2, 3236, 3237, 7, 85, 2, 2, 3237, 3238, 7, 71, 2, 2, 3238, 3239, 7, 84, 2, 2, 3239, 3240, 7, 86, 2, 2, 3240, 322, 3, 2, 2, 2, 3241, 3242, 7, 75, 2, 2, 3242, 3243, 7, 80, 2, 2, 3243, 3244, 7, 85, 2, 2, 3244, 3245, 7, 86, 2, 2, 3245, 3246, 7, 71, 2, 2, 3246, 3247, 7, 67, 2, 2, 3247, 3248, 7, 70, 2, 2, 3248, 324, 3, 2, 2, 2, 3249, 3250, 7, 75, 2, 2, 3250, 3251, 7, 80, 2, 2, 3251, 3252, 7, 86, 2, 2, 3252, 3253, 7, 71, 2, 2, 3253, 3254, 7, 84, 2, 2, 3254, 3255, 7, 85, 2, 2, 3255, 3256, 7, 71, 2, 2, 3256, 3257, 7, 69, 2, 2, 3257, 3258, 7, 86, 2, 2, 3258, 326, 3, 2, 2, 2, 3259, 3260, 7, 75, 2, 2, 3260, 3261, 7, 80, 2, 2, 3261, 3262, 7, 86, 2, 2, 3262, 3263, 7, 81, 2, 2, 3263, 328, 3, 2, 2, 2, 3264, 3266, 9, 2, 2, 2, 3265, 3264, 3, 2, 2, 2, 3265, 3266, 3, 2, 2, 2, 3266, 3267, 3, 2, 2, 2, 3267, 3268, 5, 1685, 843, 2, 3268, 3269, 5, 1643, 822, 2, 3269, 3270, 5, 1685, 843, 2, 3270, 3271, 5, 1643, 822, 2, 3271, 3272, 5, 1685, 843, 2, 3272, 3273, 5, 1643, 822, 2, 3273, 3275, 5, 1685, 843, 2, 3274, 3276, 9, 2, 2, 2, 3275, 3274, 3, 2, 2, 2, 3275, 3276, 3, 2, 2, 2, 3276, 330, 3, 2, 2, 2, 3277, 3279, 9, 2, 2, 2, 3278, 3277, 3, 2, 2, 2, 3278, 3279, 3, 2, 2, 2, 3279, 3281, 3, 2, 2, 2, 3280, 3282, 9, 3, 2, 2, 3281, 3280, 3, 2, 2, 2, 3281, 3282, 3, 2, 2, 2, 3282, 3284, 3, 2, 2, 2, 3283, 3285, 9, 3, 2, 2, 3284, 3283, 3, 2, 2, 2, 3284, 3285, 3, 2, 2, 2, 3285, 3287, 3, 2, 2, 2, 3286, 3288, 9, 3, 2, 2, 3287, 3286, 3, 2, 2, 2, 3287, 3288, 3, 2, 2, 2, 3288, 3290, 3, 2, 2, 2, 3289, 3291, 9, 3, 2, 2, 3290, 3289, 3, 2, 2, 2, 3290, 3291, 3, 2, 2, 2, 3291, 3292, 3, 2, 2, 2, 3292, 3294, 9, 4, 2, 2, 3293, 3295, 9, 3, 2, 2, 3294, 3293, 3, 2, 2, 2, 3294, 3295, 3, 2, 2, 2, 3295, 3297, 3, 2, 2, 2, 3296, 3298, 9, 3, 2, 2, 3297, 3296, 3, 2, 2, 2, 3297, 3298, 3, 2, 2, 2, 3298, 3300, 3, 2, 2, 2, 3299, 3301, 9, 3, 2, 2, 3300, 3299, 3, 2, 2, 2, 3300, 3301, 3, 2, 2, 2, 3301, 3303, 3, 2, 2, 2, 3302, 3304, 9, 3, 2, 2, 3303, 3302, 3, 2, 2, 2, 3303, 3304, 3, 2, 2, 2, 3304, 3305, 3, 2, 2, 2, 3305, 3307, 9, 4, 2, 2, 3306, 3308, 9, 3, 2, 2, 3307, 3306, 3, 2, 2, 2, 3307, 3308, 3, 2, 2, 2, 3308, 3310, 3, 2, 2, 2, 3309, 3311, 9, 3, 2, 2, 3310, 3309, 3, 2, 2, 2, 3310, 3311, 3, 2, 2, 2, 3311, 3313, 3, 2, 2, 2, 3312, 3314, 9, 3, 2, 2, 3313, 3312, 3, 2, 2, 2, 3313, 3314, 3, 2, 2, 2, 3314, 3316, 3, 2, 2, 2, 3315, 3317, 9, 3, 2, 2, 3316, 3315, 3, 2, 2, 2, 3316, 3317, 3, 2, 2, 2, 3317, 3318, 3, 2, 2, 2, 3318, 3320, 9, 4, 2, 2, 3319, 3321, 9, 3, 2, 2, 3320, 3319, 3, 2, 2, 2, 3320, 3321, 3, 2, 2, 2, 3321, 3323, 3, 2, 2, 2, 3322, 3324, 9, 3, 2, 2, 3323, 3322, 3, 2, 2, 2, 3323, 3324, 3, 2, 2, 2, 3324, 3326, 3, 2, 2, 2, 3325, 3327, 9, 3, 2, 2, 3326, 3325, 3, 2, 2, 2, 3326, 3327, 3, 2, 2, 2, 3327, 3329, 3, 2, 2, 2, 3328, 3330, 9, 3, 2, 2, 3329, 3328, 3, 2, 2, 2, 3329, 3330, 3, 2, 2, 2, 3330, 3331, 3, 2, 2, 2, 3331, 3333, 9, 4, 2, 2, 3332, 3334, 9, 3, 2, 2, 3333, 3332, 3, 2, 2, 2, 3333, 3334, 3, 2, 2, 2, 3334, 3336, 3, 2, 2, 2, 3335, 3337, 9, 3, 2, 2, 3336, 3335, 3, 2, 2, 2, 3336, 3337, 3, 2, 2, 2, 3337, 3339, 3, 2, 2, 2, 3338, 3340, 9, 3, 2, 2, 3339, 3338, 3, 2, 2, 2, 3339, 3340, 3, 2, 2, 2, 3340, 3342, 3, 2, 2, 2, 3341, 3343, 9, 3, 2, 2, 3342, 3341, 3, 2, 2, 2, 3342, 3343, 3, 2, 2, 2, 3343, 3344, 3, 2, 2, 2, 3344, 3346, 9, 4, 2, 2, 3345, 3347, 9, 3, 2, 2, 3346, 3345, 3, 2, 2, 2, 3346, 3347, 3, 2, 2, 2, 3347, 3349, 3, 2, 2, 2, 3348, 3350, 9, 3, 2, 2, 3349, 3348, 3, 2, 2, 2, 3349, 3350, 3, 2, 2, 2, 3350, 3352, 3, 2, 2, 2, 3351, 3353, 9, 3, 2, 2, 3352, 3351, 3, 2, 2, 2, 3352, 3353, 3, 2, 2, 2, 3353, 3355, 3, 2, 2, 2, 3354, 3356, 9, 3, 2, 2, 3355, 3354, 3, 2, 2, 2, 3355, 3356, 3, 2, 2, 2, 3356, 3357, 3, 2, 2, 2, 3357, 3359, 9, 4, 2, 2, 3358, 3360, 9, 3, 2, 2, 3359, 3358, 3, 2, 2, 2, 3359, 3360, 3, 2, 2, 2, 3360, 3362, 3, 2, 2, 2, 3361, 3363, 9, 3, 2, 2, 3362, 3361, 3, 2, 2, 2, 3362, 3363, 3, 2, 2, 2, 3363, 3365, 3, 2, 2, 2, 3364, 3366, 9, 3, 2, 2, 3365, 3364, 3, 2, 2, 2, 3365, 3366, 3, 2, 2, 2, 3366, 3368, 3, 2, 2, 2, 3367, 3369, 9, 3, 2, 2, 3368, 3367, 3, 2, 2, 2, 3368, 3369, 3, 2, 2, 2, 3369, 3370, 3, 2, 2, 2, 3370, 3372, 9, 4, 2, 2, 3371, 3373, 9, 3, 2, 2, 3372, 3371, 3, 2, 2, 2, 3372, 3373, 3, 2, 2, 2, 3373, 3375, 3, 2, 2, 2, 3374, 3376, 9, 3, 2, 2, 3375, 3374, 3, 2, 2, 2, 3375, 3376, 3, 2, 2, 2, 3376, 3378, 3, 2, 2, 2, 3377, 3379, 9, 3, 2, 2, 3378, 3377, 3, 2, 2, 2, 3378, 3379, 3, 2, 2, 2, 3379, 3381, 3, 2, 2, 2, 3380, 3382, 9, 3, 2, 2, 3381, 3380, 3, 2, 2, 2, 3381, 3382, 3, 2, 2, 2, 3382, 3384, 3, 2, 2, 2, 3383, 3385, 9, 2, 2, 2, 3384, 3383, 3, 2, 2, 2, 3384, 3385, 3, 2, 2, 2, 3385, 332, 3, 2, 2, 2, 3386, 3387, 7, 75, 2, 2, 3387, 3388, 7, 85, 2, 2, 3388, 334, 3, 2, 2, 2, 3389, 3390, 7, 75, 2, 2, 3390, 3391, 7, 85, 2, 2, 3391, 3392, 7, 80, 2, 2, 3392, 3393, 7, 87, 2, 2, 3393, 3394, 7, 78, 2, 2, 3394, 3395, 7, 78, 2, 2, 3395, 336, 3, 2, 2, 2, 3396, 3397, 7, 76, 2, 2, 3397, 3398, 7, 81, 2, 2, 3398, 3399, 7, 75, 2, 2, 3399, 3400, 7, 80, 2, 2, 3400, 338, 3, 2, 2, 2, 3401, 3402, 7, 77, 2, 2, 3402, 3403, 7, 71, 2, 2, 3403, 3404, 7, 84, 2, 2, 3404, 3405, 7, 68, 2, 2, 3405, 3406, 7, 71, 2, 2, 3406, 3407, 7, 84, 2, 2, 3407, 3408, 7, 81, 2, 2, 3408, 3409, 7, 85, 2, 2, 3409, 340, 3, 2, 2, 2, 3410, 3411, 7, 77, 2, 2, 3411, 3412, 7, 71, 2, 2, 3412, 3413, 7, 91, 2, 2, 3413, 342, 3, 2, 2, 2, 3414, 3415, 7, 77, 2, 2, 3415, 3416, 7, 71, 2, 2, 3416, 3417, 7, 91, 2, 2, 3417, 3418, 7, 97, 2, 2, 3418, 3419, 7, 82, 2, 2, 3419, 3420, 7, 67, 2, 2, 3420, 3421, 7, 86, 2, 2, 3421, 3422, 7, 74, 2, 2, 3422, 344, 3, 2, 2, 2, 3423, 3424, 7, 77, 2, 2, 3424, 3425, 7, 71, 2, 2, 3425, 3426, 7, 91, 2, 2, 3426, 3427, 7, 97, 2, 2, 3427, 3428, 7, 85, 2, 2, 3428, 3429, 7, 86, 2, 2, 3429, 3430, 7, 81, 2, 2, 3430, 3431, 7, 84, 2, 2, 3431, 3432, 7, 71, 2, 2, 3432, 3433, 7, 97, 2, 2, 3433, 3434, 7, 82, 2, 2, 3434, 3435, 7, 84, 2, 2, 3435, 3436, 7, 81, 2, 2, 3436, 3437, 7, 88, 2, 2, 3437, 3438, 7, 75, 2, 2, 3438, 3439, 7, 70, 2, 2, 3439, 3440, 7, 71, 2, 2, 3440, 3441, 7, 84, 2, 2, 3441, 3442, 7, 97, 2, 2, 3442, 3443, 7, 80, 2, 2, 3443, 3444, 7, 67, 2, 2, 3444, 3445, 7, 79, 2, 2, 3445, 3446, 7, 71, 2, 2, 3446, 346, 3, 2, 2, 2, 3447, 3448, 7, 77, 2, 2, 3448, 3449, 7, 75, 2, 2, 3449, 3450, 7, 78, 2, 2, 3450, 3451, 7, 78, 2, 2, 3451, 348, 3, 2, 2, 2, 3452, 3453, 7, 78, 2, 2, 3453, 3454, 7, 67, 2, 2, 3454, 3455, 7, 80, 2, 2, 3455, 3456, 7, 73, 2, 2, 3456, 3457, 7, 87, 2, 2, 3457, 3458, 7, 67, 2, 2, 3458, 3459, 7, 73, 2, 2, 3459, 3460, 7, 71, 2, 2, 3460, 350, 3, 2, 2, 2, 3461, 3462, 7, 78, 2, 2, 3462, 3463, 7, 71, 2, 2, 3463, 3464, 7, 72, 2, 2, 3464, 3465, 7, 86, 2, 2, 3465, 352, 3, 2, 2, 2, 3466, 3467, 7, 78, 2, 2, 3467, 3468, 7, 75, 2, 2, 3468, 3469, 7, 68, 2, 2, 3469, 3470, 7, 84, 2, 2, 3470, 3471, 7, 67, 2, 2, 3471, 3472, 7, 84, 2, 2, 3472, 3473, 7, 91, 2, 2, 3473, 354, 3, 2, 2, 2, 3474, 3475, 7, 78, 2, 2, 3475, 3476, 7, 75, 2, 2, 3476, 3477, 7, 72, 2, 2, 3477, 3478, 7, 71, 2, 2, 3478, 3479, 7, 86, 2, 2, 3479, 3480, 7, 75, 2, 2, 3480, 3481, 7, 79, 2, 2, 3481, 3482, 7, 71, 2, 2, 3482, 356, 3, 2, 2, 2, 3483, 3484, 7, 78, 2, 2, 3484, 3485, 7, 75, 2, 2, 3485, 3486, 7, 77, 2, 2, 3486, 3487, 7, 71, 2, 2, 3487, 358, 3, 2, 2, 2, 3488, 3489, 7, 78, 2, 2, 3489, 3490, 7, 75, 2, 2, 3490, 3491, 7, 80, 2, 2, 3491, 3492, 7, 71, 2, 2, 3492, 3493, 7, 80, 2, 2, 3493, 3494, 7, 81, 2, 2, 3494, 360, 3, 2, 2, 2, 3495, 3496, 7, 78, 2, 2, 3496, 3497, 7, 75, 2, 2, 3497, 3498, 7, 80, 2, 2, 3498, 3499, 7, 87, 2, 2, 3499, 3500, 7, 90, 2, 2, 3500, 362, 3, 2, 2, 2, 3501, 3502, 7, 78, 2, 2, 3502, 3503, 7, 75, 2, 2, 3503, 3504, 7, 85, 2, 2, 3504, 3505, 7, 86, 2, 2, 3505, 3506, 7, 71, 2, 2, 3506, 3507, 7, 80, 2, 2, 3507, 3508, 7, 71, 2, 2, 3508, 3509, 7, 84, 2, 2, 3509, 3510, 7, 97, 2, 2, 3510, 3511, 7, 75, 2, 2, 3511, 3512, 7, 82, 2, 2, 3512, 364, 3, 2, 2, 2, 3513, 3514, 7, 78, 2, 2, 3514, 3515, 7, 75, 2, 2, 3515, 3516, 7, 85, 2, 2, 3516, 3517, 7, 86, 2, 2, 3517, 3518, 7, 71, 2, 2, 3518, 3519, 7, 80, 2, 2, 3519, 3520, 7, 71, 2, 2, 3520, 3521, 7, 84, 2, 2, 3521, 3522, 7, 97, 2, 2, 3522, 3523, 7, 82, 2, 2, 3523, 3524, 7, 81, 2, 2, 3524, 3525, 7, 84, 2, 2, 3525, 3526, 7, 86, 2, 2, 3526, 366, 3, 2, 2, 2, 3527, 3528, 7, 78, 2, 2, 3528, 3529, 7, 81, 2, 2, 3529, 3530, 7, 67, 2, 2, 3530, 3531, 7, 70, 2, 2, 3531, 368, 3, 2, 2, 2, 3532, 3533, 7, 78, 2, 2, 3533, 3534, 7, 81, 2, 2, 3534, 3535, 7, 69, 2, 2, 3535, 3536, 7, 67, 2, 2, 3536, 3537, 7, 78, 2, 2, 3537, 3538, 7, 97, 2, 2, 3538, 3539, 7, 85, 2, 2, 3539, 3540, 7, 71, 2, 2, 3540, 3541, 7, 84, 2, 2, 3541, 3542, 7, 88, 2, 2, 3542, 3543, 7, 75, 2, 2, 3543, 3544, 7, 69, 2, 2, 3544, 3545, 7, 71, 2, 2, 3545, 3546, 7, 97, 2, 2, 3546, 3547, 7, 80, 2, 2, 3547, 3548, 7, 67, 2, 2, 3548, 3549, 7, 79, 2, 2, 3549, 3550, 7, 71, 2, 2, 3550, 370, 3, 2, 2, 2, 3551, 3552, 7, 78, 2, 2, 3552, 3553, 7, 81, 2, 2, 3553, 3554, 7, 73, 2, 2, 3554, 372, 3, 2, 2, 2, 3555, 3556, 7, 79, 2, 2, 3556, 3557, 7, 67, 2, 2, 3557, 3558, 7, 86, 2, 2, 3558, 3559, 7, 69, 2, 2, 3559, 3560, 7, 74, 2, 2, 3560, 3561, 7, 71, 2, 2, 3561, 3562, 7, 70, 2, 2, 3562, 374, 3, 2, 2, 2, 3563, 3564, 7, 79, 2, 2, 3564, 3565, 7, 67, 2, 2, 3565, 3566, 7, 85, 2, 2, 3566, 3567, 7, 86, 2, 2, 3567, 3568, 7, 71, 2, 2, 3568, 3569, 7, 84, 2, 2, 3569, 376, 3, 2, 2, 2, 3570, 3571, 7, 79, 2, 2, 3571, 3572, 7, 67, 2, 2, 3572, 3573, 7, 90, 2, 2, 3573, 3574, 7, 97, 2, 2, 3574, 3575, 7, 79, 2, 2, 3575, 3576, 7, 71, 2, 2, 3576, 3577, 7, 79, 2, 2, 3577, 3578, 7, 81, 2, 2, 3578, 3579, 7, 84, 2, 2, 3579, 3580, 7, 91, 2, 2, 3580, 378, 3, 2, 2, 2, 3581, 3582, 7, 79, 2, 2, 3582, 3583, 7, 67, 2, 2, 3583, 3584, 7, 90, 2, 2, 3584, 3585, 7, 86, 2, 2, 3585, 3586, 7, 84, 2, 2, 3586, 3587, 7, 67, 2, 2, 3587, 3588, 7, 80, 2, 2, 3588, 3589, 7, 85, 2, 2, 3589, 3590, 7, 72, 2, 2, 3590, 3591, 7, 71, 2, 2, 3591, 3592, 7, 84, 2, 2, 3592, 380, 3, 2, 2, 2, 3593, 3594, 7, 79, 2, 2, 3594, 3595, 7, 67, 2, 2, 3595, 3596, 7, 90, 2, 2, 3596, 3597, 7, 88, 2, 2, 3597, 3598, 7, 67, 2, 2, 3598, 3599, 7, 78, 2, 2, 3599, 3600, 7, 87, 2, 2, 3600, 3601, 7, 71, 2, 2, 3601, 382, 3, 2, 2, 2, 3602, 3603, 7, 79, 2, 2, 3603, 3604, 7, 67, 2, 2, 3604, 3605, 7, 90, 2, 2, 3605, 3606, 7, 97, 2, 2, 3606, 3607, 7, 70, 2, 2, 3607, 3608, 7, 75, 2, 2, 3608, 3609, 7, 85, 2, 2, 3609, 3610, 7, 82, 2, 2, 3610, 3611, 7, 67, 2, 2, 3611, 3612, 7, 86, 2, 2, 3612, 3613, 7, 69, 2, 2, 3613, 3614, 7, 74, 2, 2, 3614, 3615, 7, 97, 2, 2, 3615, 3616, 7, 78, 2, 2, 3616, 3617, 7, 67, 2, 2, 3617, 3618, 7, 86, 2, 2, 3618, 3619, 7, 71, 2, 2, 3619, 3620, 7, 80, 2, 2, 3620, 3621, 7, 69, 2, 2, 3621, 3622, 7, 91, 2, 2, 3622, 384, 3, 2, 2, 2, 3623, 3624, 7, 79, 2, 2, 3624, 3625, 7, 67, 2, 2, 3625, 3626, 7, 90, 2, 2, 3626, 3627, 7, 97, 2, 2, 3627, 3628, 7, 71, 2, 2, 3628, 3629, 7, 88, 2, 2, 3629, 3630, 7, 71, 2, 2, 3630, 3631, 7, 80, 2, 2, 3631, 3632, 7, 86, 2, 2, 3632, 3633, 7, 97, 2, 2, 3633, 3634, 7, 85, 2, 2, 3634, 3635, 7, 75, 2, 2, 3635, 3636, 7, 92, 2, 2, 3636, 3637, 7, 71, 2, 2, 3637, 386, 3, 2, 2, 2, 3638, 3639, 7, 79, 2, 2, 3639, 3640, 7, 67, 2, 2, 3640, 3641, 7, 90, 2, 2, 3641, 3642, 7, 97, 2, 2, 3642, 3643, 7, 85, 2, 2, 3643, 3644, 7, 75, 2, 2, 3644, 3645, 7, 92, 2, 2, 3645, 3646, 7, 71, 2, 2, 3646, 388, 3, 2, 2, 2, 3647, 3648, 7, 79, 2, 2, 3648, 3649, 7, 67, 2, 2, 3649, 3650, 7, 90, 2, 2, 3650, 3651, 7, 97, 2, 2, 3651, 3652, 7, 81, 2, 2, 3652, 3653, 7, 87, 2, 2, 3653, 3654, 7, 86, 2, 2, 3654, 3655, 7, 85, 2, 2, 3655, 3656, 7, 86, 2, 2, 3656, 3657, 7, 67, 2, 2, 3657, 3658, 7, 80, 2, 2, 3658, 3659, 7, 70, 2, 2, 3659, 3660, 7, 75, 2, 2, 3660, 3661, 7, 80, 2, 2, 3661, 3662, 7, 73, 2, 2, 3662, 3663, 7, 97, 2, 2, 3663, 3664, 7, 75, 2, 2, 3664, 3665, 7, 81, 2, 2, 3665, 3666, 7, 97, 2, 2, 3666, 3667, 7, 82, 2, 2, 3667, 3668, 7, 71, 2, 2, 3668, 3669, 7, 84, 2, 2, 3669, 3670, 7, 97, 2, 2, 3670, 3671, 7, 88, 2, 2, 3671, 3672, 7, 81, 2, 2, 3672, 3673, 7, 78, 2, 2, 3673, 3674, 7, 87, 2, 2, 3674, 3675, 7, 79, 2, 2, 3675, 3676, 7, 71, 2, 2, 3676, 390, 3, 2, 2, 2, 3677, 3678, 7, 79, 2, 2, 3678, 3679, 7, 71, 2, 2, 3679, 3680, 7, 70, 2, 2, 3680, 3681, 7, 75, 2, 2, 3681, 3682, 7, 67, 2, 2, 3682, 3683, 7, 70, 2, 2, 3683, 3684, 7, 71, 2, 2, 3684, 3685, 7, 85, 2, 2, 3685, 3686, 7, 69, 2, 2, 3686, 3687, 7, 84, 2, 2, 3687, 3688, 7, 75, 2, 2, 3688, 3689, 7, 82, 2, 2, 3689, 3690, 7, 86, 2, 2, 3690, 3691, 7, 75, 2, 2, 3691, 3692, 7, 81, 2, 2, 3692, 3693, 7, 80, 2, 2, 3693, 392, 3, 2, 2, 2, 3694, 3695, 7, 79, 2, 2, 3695, 3696, 7, 71, 2, 2, 3696, 3697, 7, 70, 2, 2, 3697, 3698, 7, 75, 2, 2, 3698, 3699, 7, 67, 2, 2, 3699, 3700, 7, 80, 2, 2, 3700, 3701, 7, 67, 2, 2, 3701, 3702, 7, 79, 2, 2, 3702, 3703, 7, 71, 2, 2, 3703, 394, 3, 2, 2, 2, 3704, 3705, 7, 79, 2, 2, 3705, 3706, 7, 71, 2, 2, 3706, 3707, 7, 79, 2, 2, 3707, 3708, 7, 68, 2, 2, 3708, 3709, 7, 71, 2, 2, 3709, 3710, 7, 84, 2, 2, 3710, 396, 3, 2, 2, 2, 3711, 3712, 7, 79, 2, 2, 3712, 3713, 7, 71, 2, 2, 3713, 3714, 7, 79, 2, 2, 3714, 3715, 7, 81, 2, 2, 3715, 3716, 7, 84, 2, 2, 3716, 3717, 7, 91, 2, 2, 3717, 3718, 7, 97, 2, 2, 3718, 3719, 7, 82, 2, 2, 3719, 3720, 7, 67, 2, 2, 3720, 3721, 7, 84, 2, 2, 3721, 3722, 7, 86, 2, 2, 3722, 3723, 7, 75, 2, 2, 3723, 3724, 7, 86, 2, 2, 3724, 3725, 7, 75, 2, 2, 3725, 3726, 7, 81, 2, 2, 3726, 3727, 7, 80, 2, 2, 3727, 3728, 7, 97, 2, 2, 3728, 3729, 7, 79, 2, 2, 3729, 3730, 7, 81, 2, 2, 3730, 3731, 7, 70, 2, 2, 3731, 3732, 7, 71, 2, 2, 3732, 398, 3, 2, 2, 2, 3733, 3734, 7, 79, 2, 2, 3734, 3735, 7, 71, 2, 2, 3735, 3736, 7, 84, 2, 2, 3736, 3737, 7, 73, 2, 2, 3737, 3738, 7, 71, 2, 2, 3738, 400, 3, 2, 2, 2, 3739, 3740, 7, 79, 2, 2, 3740, 3741, 7, 71, 2, 2, 3741, 3742, 7, 85, 2, 2, 3742, 3743, 7, 85, 2, 2, 3743, 3744, 7, 67, 2, 2, 3744, 3745, 7, 73, 2, 2, 3745, 3746, 7, 71, 2, 2, 3746, 3747, 7, 97, 2, 2, 3747, 3748, 7, 72, 2, 2, 3748, 3749, 7, 81, 2, 2, 3749, 3750, 7, 84, 2, 2, 3750, 3751, 7, 89, 2, 2, 3751, 3752, 7, 67, 2, 2, 3752, 3753, 7, 84, 2, 2, 3753, 3754, 7, 70, 2, 2, 3754, 3755, 7, 75, 2, 2, 3755, 3756, 7, 80, 2, 2, 3756, 3757, 7, 73, 2, 2, 3757, 402, 3, 2, 2, 2, 3758, 3759, 7, 79, 2, 2, 3759, 3760, 7, 71, 2, 2, 3760, 3761, 7, 85, 2, 2, 3761, 3762, 7, 85, 2, 2, 3762, 3763, 7, 67, 2, 2, 3763, 3764, 7, 73, 2, 2, 3764, 3765, 7, 71, 2, 2, 3765, 3766, 7, 97, 2, 2, 3766, 3767, 7, 72, 2, 2, 3767, 3768, 7, 81, 2, 2, 3768, 3769, 7, 84, 2, 2, 3769, 3770, 7, 89, 2, 2, 3770, 3771, 7, 67, 2, 2, 3771, 3772, 7, 84, 2, 2, 3772, 3773, 7, 70, 2, 2, 3773, 3774, 7, 97, 2, 2, 3774, 3775, 7, 85, 2, 2, 3775, 3776, 7, 75, 2, 2, 3776, 3777, 7, 92, 2, 2, 3777, 3778, 7, 71, 2, 2, 3778, 404, 3, 2, 2, 2, 3779, 3780, 7, 79, 2, 2, 3780, 3781, 7, 75, 2, 2, 3781, 3782, 7, 80, 2, 2, 3782, 3783, 7, 88, 2, 2, 3783, 3784, 7, 67, 2, 2, 3784, 3785, 7, 78, 2, 2, 3785, 3786, 7, 87, 2, 2, 3786, 3787, 7, 71, 2, 2, 3787, 406, 3, 2, 2, 2, 3788, 3789, 7, 79, 2, 2, 3789, 3790, 7, 75, 2, 2, 3790, 3791, 7, 84, 2, 2, 3791, 3792, 7, 84, 2, 2, 3792, 3793, 7, 81, 2, 2, 3793, 3794, 7, 84, 2, 2, 3794, 408, 3, 2, 2, 2, 3795, 3796, 7, 79, 2, 2, 3796, 3797, 7, 87, 2, 2, 3797, 3798, 7, 85, 2, 2, 3798, 3799, 7, 86, 2, 2, 3799, 3800, 7, 97, 2, 2, 3800, 3801, 7, 69, 2, 2, 3801, 3802, 7, 74, 2, 2, 3802, 3803, 7, 67, 2, 2, 3803, 3804, 7, 80, 2, 2, 3804, 3805, 7, 73, 2, 2, 3805, 3806, 7, 71, 2, 2, 3806, 410, 3, 2, 2, 2, 3807, 3808, 7, 80, 2, 2, 3808, 3809, 7, 67, 2, 2, 3809, 3810, 7, 86, 2, 2, 3810, 3811, 7, 75, 2, 2, 3811, 3812, 7, 81, 2, 2, 3812, 3813, 7, 80, 2, 2, 3813, 3814, 7, 67, 2, 2, 3814, 3815, 7, 78, 2, 2, 3815, 412, 3, 2, 2, 2, 3816, 3817, 7, 80, 2, 2, 3817, 3818, 7, 71, 2, 2, 3818, 3819, 7, 73, 2, 2, 3819, 3820, 7, 81, 2, 2, 3820, 3821, 7, 86, 2, 2, 3821, 3822, 7, 75, 2, 2, 3822, 3823, 7, 67, 2, 2, 3823, 3824, 7, 86, 2, 2, 3824, 3825, 7, 71, 2, 2, 3825, 414, 3, 2, 2, 2, 3826, 3827, 7, 80, 2, 2, 3827, 3828, 7, 81, 2, 2, 3828, 3829, 7, 69, 2, 2, 3829, 3830, 7, 74, 2, 2, 3830, 3831, 7, 71, 2, 2, 3831, 3832, 7, 69, 2, 2, 3832, 3833, 7, 77, 2, 2, 3833, 416, 3, 2, 2, 2, 3834, 3835, 7, 80, 2, 2, 3835, 3836, 7, 81, 2, 2, 3836, 3837, 7, 72, 2, 2, 3837, 3838, 7, 81, 2, 2, 3838, 3839, 7, 84, 2, 2, 3839, 3840, 7, 79, 2, 2, 3840, 3841, 7, 67, 2, 2, 3841, 3842, 7, 86, 2, 2, 3842, 418, 3, 2, 2, 2, 3843, 3844, 7, 80, 2, 2, 3844, 3845, 7, 81, 2, 2, 3845, 3846, 7, 75, 2, 2, 3846, 3847, 7, 80, 2, 2, 3847, 3848, 7, 75, 2, 2, 3848, 3849, 7, 86, 2, 2, 3849, 420, 3, 2, 2, 2, 3850, 3851, 7, 80, 2, 2, 3851, 3852, 7, 81, 2, 2, 3852, 3853, 7, 80, 2, 2, 3853, 3854, 7, 69, 2, 2, 3854, 3855, 7, 78, 2, 2, 3855, 3856, 7, 87, 2, 2, 3856, 3857, 7, 85, 2, 2, 3857, 3858, 7, 86, 2, 2, 3858, 3859, 7, 71, 2, 2, 3859, 3860, 7, 84, 2, 2, 3860, 3861, 7, 71, 2, 2, 3861, 3862, 7, 70, 2, 2, 3862, 422, 3, 2, 2, 2, 3863, 3864, 7, 80, 2, 2, 3864, 3865, 7, 81, 2, 2, 3865, 3866, 7, 80, 2, 2, 3866, 3867, 7, 71, 2, 2, 3867, 424, 3, 2, 2, 2, 3868, 3869, 7, 80, 2, 2, 3869, 3870, 7, 81, 2, 2, 3870, 3871, 7, 84, 2, 2, 3871, 3872, 7, 71, 2, 2, 3872, 3873, 7, 89, 2, 2, 3873, 3874, 7, 75, 2, 2, 3874, 3875, 7, 80, 2, 2, 3875, 3876, 7, 70, 2, 2, 3876, 426, 3, 2, 2, 2, 3877, 3878, 7, 80, 2, 2, 3878, 3879, 7, 81, 2, 2, 3879, 3880, 7, 85, 2, 2, 3880, 3881, 7, 77, 2, 2, 3881, 3882, 7, 75, 2, 2, 3882, 3883, 7, 82, 2, 2, 3883, 428, 3, 2, 2, 2, 3884, 3885, 7, 80, 2, 2, 3885, 3886, 7, 81, 2, 2, 3886, 3887, 7, 87, 2, 2, 3887, 3888, 7, 80, 2, 2, 3888, 3889, 7, 78, 2, 2, 3889, 3890, 7, 81, 2, 2, 3890, 3891, 7, 67, 2, 2, 3891, 3892, 7, 70, 2, 2, 3892, 430, 3, 2, 2, 2, 3893, 3894, 7, 80, 2, 2, 3894, 3895, 7, 81, 2, 2, 3895, 3896, 7, 97, 2, 2, 3896, 3897, 7, 69, 2, 2, 3897, 3898, 7, 74, 2, 2, 3898, 3899, 7, 71, 2, 2, 3899, 3900, 7, 69, 2, 2, 3900, 3901, 7, 77, 2, 2, 3901, 3902, 7, 85, 2, 2, 3902, 3903, 7, 87, 2, 2, 3903, 3904, 7, 79, 2, 2, 3904, 432, 3, 2, 2, 2, 3905, 3906, 7, 80, 2, 2, 3906, 3907, 7, 81, 2, 2, 3907, 3908, 7, 97, 2, 2, 3908, 3909, 7, 69, 2, 2, 3909, 3910, 7, 81, 2, 2, 3910, 3911, 7, 79, 2, 2, 3911, 3912, 7, 82, 2, 2, 3912, 3913, 7, 84, 2, 2, 3913, 3914, 7, 71, 2, 2, 3914, 3915, 7, 85, 2, 2, 3915, 3916, 7, 85, 2, 2, 3916, 3917, 7, 75, 2, 2, 3917, 3918, 7, 81, 2, 2, 3918, 3919, 7, 80, 2, 2, 3919, 434, 3, 2, 2, 2, 3920, 3921, 7, 80, 2, 2, 3921, 3922, 7, 81, 2, 2, 3922, 3923, 7, 97, 2, 2, 3923, 3924, 7, 71, 2, 2, 3924, 3925, 7, 88, 2, 2, 3925, 3926, 7, 71, 2, 2, 3926, 3927, 7, 80, 2, 2, 3927, 3928, 7, 86, 2, 2, 3928, 3929, 7, 97, 2, 2, 3929, 3930, 7, 78, 2, 2, 3930, 3931, 7, 81, 2, 2, 3931, 3932, 7, 85, 2, 2, 3932, 3933, 7, 85, 2, 2, 3933, 436, 3, 2, 2, 2, 3934, 3935, 7, 80, 2, 2, 3935, 3936, 7, 81, 2, 2, 3936, 3937, 7, 86, 2, 2, 3937, 438, 3, 2, 2, 2, 3938, 3939, 7, 80, 2, 2, 3939, 3940, 7, 81, 2, 2, 3940, 3941, 7, 86, 2, 2, 3941, 3942, 7, 75, 2, 2, 3942, 3943, 7, 72, 2, 2, 3943, 3944, 7, 75, 2, 2, 3944, 3945, 7, 69, 2, 2, 3945, 3946, 7, 67, 2, 2, 3946, 3947, 7, 86, 2, 2, 3947, 3948, 7, 75, 2, 2, 3948, 3949, 7, 81, 2, 2, 3949, 3950, 7, 80, 2, 2, 3950, 440, 3, 2, 2, 2, 3951, 3952, 7, 80, 2, 2, 3952, 3953, 7, 86, 2, 2, 3953, 3954, 7, 78, 2, 2, 3954, 3955, 7, 79, 2, 2, 3955, 442, 3, 2, 2, 2, 3956, 3957, 7, 80, 2, 2, 3957, 3958, 7, 87, 2, 2, 3958, 3959, 7, 78, 2, 2, 3959, 3960, 7, 78, 2, 2, 3960, 444, 3, 2, 2, 2, 3961, 3962, 7, 80, 2, 2, 3962, 3963, 7, 87, 2, 2, 3963, 3964, 7, 78, 2, 2, 3964, 3965, 7, 78, 2, 2, 3965, 3966, 7, 75, 2, 2, 3966, 3967, 7, 72, 2, 2, 3967, 446, 3, 2, 2, 2, 3968, 3969, 7, 81, 2, 2, 3969, 3970, 7, 72, 2, 2, 3970, 448, 3, 2, 2, 2, 3971, 3972, 7, 81, 2, 2, 3972, 3973, 7, 72, 2, 2, 3973, 3974, 7, 72, 2, 2, 3974, 450, 3, 2, 2, 2, 3975, 3976, 7, 81, 2, 2, 3976, 3977, 7, 72, 2, 2, 3977, 3978, 7, 72, 2, 2, 3978, 3979, 7, 85, 2, 2, 3979, 3980, 7, 71, 2, 2, 3980, 3981, 7, 86, 2, 2, 3981, 3982, 7, 85, 2, 2, 3982, 452, 3, 2, 2, 2, 3983, 3984, 7, 81, 2, 2, 3984, 3985, 7, 78, 2, 2, 3985, 3986, 7, 70, 2, 2, 3986, 3987, 7, 97, 2, 2, 3987, 3988, 7, 82, 2, 2, 3988, 3989, 7, 67, 2, 2, 3989, 3990, 7, 85, 2, 2, 3990, 3991, 7, 85, 2, 2, 3991, 3992, 7, 89, 2, 2, 3992, 3993, 7, 81, 2, 2, 3993, 3994, 7, 84, 2, 2, 3994, 3995, 7, 70, 2, 2, 3995, 454, 3, 2, 2, 2, 3996, 3997, 7, 81, 2, 2, 3997, 3998, 7, 80, 2, 2, 3998, 456, 3, 2, 2, 2, 3999, 4000, 7, 81, 2, 2, 4000, 4001, 7, 80, 2, 2, 4001, 4002, 7, 97, 2, 2, 4002, 4003, 7, 72, 2, 2, 4003, 4004, 7, 67, 2, 2, 4004, 4005, 7, 75, 2, 2, 4005, 4006, 7, 78, 2, 2, 4006, 4007, 7, 87, 2, 2, 4007, 4008, 7, 84, 2, 2, 4008, 4009, 7, 71, 2, 2, 4009, 458, 3, 2, 2, 2, 4010, 4011, 7, 81, 2, 2, 4011, 4012, 7, 82, 2, 2, 4012, 4013, 7, 71, 2, 2, 4013, 4014, 7, 80, 2, 2, 4014, 460, 3, 2, 2, 2, 4015, 4016, 7, 81, 2, 2, 4016, 4017, 7, 82, 2, 2, 4017, 4018, 7, 71, 2, 2, 4018, 4019, 7, 80, 2, 2, 4019, 4020, 7, 70, 2, 2, 4020, 4021, 7, 67, 2, 2, 4021, 4022, 7, 86, 2, 2, 4022, 4023, 7, 67, 2, 2, 4023, 4024, 7, 85, 2, 2, 4024, 4025, 7, 81, 2, 2, 4025, 4026, 7, 87, 2, 2, 4026, 4027, 7, 84, 2, 2, 4027, 4028, 7, 69, 2, 2, 4028, 4029, 7, 71, 2, 2, 4029, 462, 3, 2, 2, 2, 4030, 4031, 7, 81, 2, 2, 4031, 4032, 7, 82, 2, 2, 4032, 4033, 7, 71, 2, 2, 4033, 4034, 7, 80, 2, 2, 4034, 4035, 7, 83, 2, 2, 4035, 4036, 7, 87, 2, 2, 4036, 4037, 7, 71, 2, 2, 4037, 4038, 7, 84, 2, 2, 4038, 4039, 7, 91, 2, 2, 4039, 464, 3, 2, 2, 2, 4040, 4041, 7, 81, 2, 2, 4041, 4042, 7, 82, 2, 2, 4042, 4043, 7, 71, 2, 2, 4043, 4044, 7, 80, 2, 2, 4044, 4045, 7, 84, 2, 2, 4045, 4046, 7, 81, 2, 2, 4046, 4047, 7, 89, 2, 2, 4047, 4048, 7, 85, 2, 2, 4048, 4049, 7, 71, 2, 2, 4049, 4050, 7, 86, 2, 2, 4050, 466, 3, 2, 2, 2, 4051, 4052, 7, 81, 2, 2, 4052, 4053, 7, 82, 2, 2, 4053, 4054, 7, 71, 2, 2, 4054, 4055, 7, 80, 2, 2, 4055, 4056, 7, 90, 2, 2, 4056, 4057, 7, 79, 2, 2, 4057, 4058, 7, 78, 2, 2, 4058, 468, 3, 2, 2, 2, 4059, 4060, 7, 81, 2, 2, 4060, 4061, 7, 82, 2, 2, 4061, 4062, 7, 86, 2, 2, 4062, 4063, 7, 75, 2, 2, 4063, 4064, 7, 81, 2, 2, 4064, 4065, 7, 80, 2, 2, 4065, 470, 3, 2, 2, 2, 4066, 4067, 7, 81, 2, 2, 4067, 4068, 7, 84, 2, 2, 4068, 472, 3, 2, 2, 2, 4069, 4070, 7, 81, 2, 2, 4070, 4071, 7, 84, 2, 2, 4071, 4072, 7, 70, 2, 2, 4072, 4073, 7, 71, 2, 2, 4073, 4074, 7, 84, 2, 2, 4074, 474, 3, 2, 2, 2, 4075, 4076, 7, 81, 2, 2, 4076, 4077, 7, 87, 2, 2, 4077, 4078, 7, 86, 2, 2, 4078, 4079, 7, 71, 2, 2, 4079, 4080, 7, 84, 2, 2, 4080, 476, 3, 2, 2, 2, 4081, 4082, 7, 81, 2, 2, 4082, 4083, 7, 88, 2, 2, 4083, 4084, 7, 71, 2, 2, 4084, 4085, 7, 84, 2, 2, 4085, 478, 3, 2, 2, 2, 4086, 4087, 7, 82, 2, 2, 4087, 4088, 7, 67, 2, 2, 4088, 4089, 7, 73, 2, 2, 4089, 4090, 7, 71, 2, 2, 4090, 480, 3, 2, 2, 2, 4091, 4092, 7, 82, 2, 2, 4092, 4093, 7, 67, 2, 2, 4093, 4094, 7, 84, 2, 2, 4094, 4095, 7, 67, 2, 2, 4095, 4096, 7, 79, 2, 2, 4096, 4097, 7, 97, 2, 2, 4097, 4098, 7, 80, 2, 2, 4098, 4099, 7, 81, 2, 2, 4099, 4100, 7, 70, 2, 2, 4100, 4101, 7, 71, 2, 2, 4101, 482, 3, 2, 2, 2, 4102, 4103, 7, 82, 2, 2, 4103, 4104, 7, 67, 2, 2, 4104, 4105, 7, 84, 2, 2, 4105, 4106, 7, 86, 2, 2, 4106, 4107, 7, 75, 2, 2, 4107, 4108, 7, 67, 2, 2, 4108, 4109, 7, 78, 2, 2, 4109, 484, 3, 2, 2, 2, 4110, 4111, 7, 82, 2, 2, 4111, 4112, 7, 67, 2, 2, 4112, 4113, 7, 85, 2, 2, 4113, 4114, 7, 85, 2, 2, 4114, 4115, 7, 89, 2, 2, 4115, 4116, 7, 81, 2, 2, 4116, 4117, 7, 84, 2, 2, 4117, 4118, 7, 70, 2, 2, 4118, 486, 3, 2, 2, 2, 4119, 4120, 7, 82, 2, 2, 4120, 4121, 7, 71, 2, 2, 4121, 4122, 7, 84, 2, 2, 4122, 4123, 7, 69, 2, 2, 4123, 4124, 7, 71, 2, 2, 4124, 4125, 7, 80, 2, 2, 4125, 4126, 7, 86, 2, 2, 4126, 488, 3, 2, 2, 2, 4127, 4128, 7, 82, 2, 2, 4128, 4129, 7, 71, 2, 2, 4129, 4130, 7, 84, 2, 2, 4130, 4131, 7, 79, 2, 2, 4131, 4132, 7, 75, 2, 2, 4132, 4133, 7, 85, 2, 2, 4133, 4134, 7, 85, 2, 2, 4134, 4135, 7, 75, 2, 2, 4135, 4136, 7, 81, 2, 2, 4136, 4137, 7, 80, 2, 2, 4137, 4138, 7, 97, 2, 2, 4138, 4139, 7, 85, 2, 2, 4139, 4140, 7, 71, 2, 2, 4140, 4141, 7, 86, 2, 2, 4141, 490, 3, 2, 2, 2, 4142, 4143, 7, 82, 2, 2, 4143, 4144, 7, 71, 2, 2, 4144, 4145, 7, 84, 2, 2, 4145, 4146, 7, 97, 2, 2, 4146, 4147, 7, 69, 2, 2, 4147, 4148, 7, 82, 2, 2, 4148, 4149, 7, 87, 2, 2, 4149, 492, 3, 2, 2, 2, 4150, 4151, 7, 82, 2, 2, 4151, 4152, 7, 71, 2, 2, 4152, 4153, 7, 84, 2, 2, 4153, 4154, 7, 97, 2, 2, 4154, 4155, 7, 70, 2, 2, 4155, 4156, 7, 68, 2, 2, 4156, 494, 3, 2, 2, 2, 4157, 4158, 7, 82, 2, 2, 4158, 4159, 7, 71, 2, 2, 4159, 4160, 7, 84, 2, 2, 4160, 4161, 7, 97, 2, 2, 4161, 4162, 7, 80, 2, 2, 4162, 4163, 7, 81, 2, 2, 4163, 4164, 7, 70, 2, 2, 4164, 4165, 7, 71, 2, 2, 4165, 496, 3, 2, 2, 2, 4166, 4167, 7, 82, 2, 2, 4167, 4168, 7, 75, 2, 2, 4168, 4169, 7, 88, 2, 2, 4169, 4170, 7, 81, 2, 2, 4170, 4171, 7, 86, 2, 2, 4171, 498, 3, 2, 2, 2, 4172, 4173, 7, 82, 2, 2, 4173, 4174, 7, 78, 2, 2, 4174, 4175, 7, 67, 2, 2, 4175, 4176, 7, 80, 2, 2, 4176, 500, 3, 2, 2, 2, 4177, 4178, 7, 82, 2, 2, 4178, 4179, 7, 78, 2, 2, 4179, 4180, 7, 67, 2, 2, 4180, 4181, 7, 86, 2, 2, 4181, 4182, 7, 72, 2, 2, 4182, 4183, 7, 81, 2, 2, 4183, 4184, 7, 84, 2, 2, 4184, 4185, 7, 79, 2, 2, 4185, 502, 3, 2, 2, 2, 4186, 4187, 7, 82, 2, 2, 4187, 4188, 7, 81, 2, 2, 4188, 4189, 7, 78, 2, 2, 4189, 4190, 7, 75, 2, 2, 4190, 4191, 7, 69, 2, 2, 4191, 4192, 7, 91, 2, 2, 4192, 504, 3, 2, 2, 2, 4193, 4194, 7, 82, 2, 2, 4194, 4195, 7, 84, 2, 2, 4195, 4196, 7, 71, 2, 2, 4196, 4197, 7, 69, 2, 2, 4197, 4198, 7, 75, 2, 2, 4198, 4199, 7, 85, 2, 2, 4199, 4200, 7, 75, 2, 2, 4200, 4201, 7, 81, 2, 2, 4201, 4202, 7, 80, 2, 2, 4202, 506, 3, 2, 2, 2, 4203, 4204, 7, 82, 2, 2, 4204, 4205, 7, 84, 2, 2, 4205, 4206, 7, 71, 2, 2, 4206, 4207, 7, 70, 2, 2, 4207, 4208, 7, 75, 2, 2, 4208, 4209, 7, 69, 2, 2, 4209, 4210, 7, 67, 2, 2, 4210, 4211, 7, 86, 2, 2, 4211, 4212, 7, 71, 2, 2, 4212, 508, 3, 2, 2, 2, 4213, 4214, 7, 82, 2, 2, 4214, 4215, 7, 84, 2, 2, 4215, 4216, 7, 75, 2, 2, 4216, 4217, 7, 79, 2, 2, 4217, 4218, 7, 67, 2, 2, 4218, 4219, 7, 84, 2, 2, 4219, 4220, 7, 91, 2, 2, 4220, 510, 3, 2, 2, 2, 4221, 4222, 7, 82, 2, 2, 4222, 4223, 7, 84, 2, 2, 4223, 4224, 7, 75, 2, 2, 4224, 4225, 7, 80, 2, 2, 4225, 4226, 7, 86, 2, 2, 4226, 512, 3, 2, 2, 2, 4227, 4228, 7, 82, 2, 2, 4228, 4229, 7, 84, 2, 2, 4229, 4230, 7, 81, 2, 2, 4230, 4231, 7, 69, 2, 2, 4231, 514, 3, 2, 2, 2, 4232, 4233, 7, 82, 2, 2, 4233, 4234, 7, 84, 2, 2, 4234, 4235, 7, 81, 2, 2, 4235, 4236, 7, 69, 2, 2, 4236, 4237, 7, 71, 2, 2, 4237, 4238, 7, 70, 2, 2, 4238, 4239, 7, 87, 2, 2, 4239, 4240, 7, 84, 2, 2, 4240, 4241, 7, 71, 2, 2, 4241, 516, 3, 2, 2, 2, 4242, 4243, 7, 82, 2, 2, 4243, 4244, 7, 84, 2, 2, 4244, 4245, 7, 81, 2, 2, 4245, 4246, 7, 69, 2, 2, 4246, 4247, 7, 71, 2, 2, 4247, 4248, 7, 85, 2, 2, 4248, 4249, 7, 85, 2, 2, 4249, 518, 3, 2, 2, 2, 4250, 4251, 7, 82, 2, 2, 4251, 4252, 7, 87, 2, 2, 4252, 4253, 7, 68, 2, 2, 4253, 4254, 7, 78, 2, 2, 4254, 4255, 7, 75, 2, 2, 4255, 4256, 7, 69, 2, 2, 4256, 520, 3, 2, 2, 2, 4257, 4258, 7, 82, 2, 2, 4258, 4259, 7, 91, 2, 2, 4259, 4260, 7, 86, 2, 2, 4260, 4261, 7, 74, 2, 2, 4261, 4262, 7, 81, 2, 2, 4262, 4263, 7, 80, 2, 2, 4263, 522, 3, 2, 2, 2, 4264, 4265, 7, 84, 2, 2, 4265, 524, 3, 2, 2, 2, 4266, 4267, 7, 84, 2, 2, 4267, 4268, 7, 67, 2, 2, 4268, 4269, 7, 75, 2, 2, 4269, 4270, 7, 85, 2, 2, 4270, 4271, 7, 71, 2, 2, 4271, 4272, 7, 84, 2, 2, 4272, 4273, 7, 84, 2, 2, 4273, 4274, 7, 81, 2, 2, 4274, 4275, 7, 84, 2, 2, 4275, 526, 3, 2, 2, 2, 4276, 4277, 7, 84, 2, 2, 4277, 4278, 7, 67, 2, 2, 4278, 4279, 7, 89, 2, 2, 4279, 528, 3, 2, 2, 2, 4280, 4281, 7, 84, 2, 2, 4281, 4282, 7, 71, 2, 2, 4282, 4283, 7, 67, 2, 2, 4283, 4284, 7, 70, 2, 2, 4284, 530, 3, 2, 2, 2, 4285, 4286, 7, 84, 2, 2, 4286, 4287, 7, 71, 2, 2, 4287, 4288, 7, 67, 2, 2, 4288, 4289, 7, 70, 2, 2, 4289, 4290, 7, 86, 2, 2, 4290, 4291, 7, 71, 2, 2, 4291, 4292, 7, 90, 2, 2, 4292, 4293, 7, 86, 2, 2, 4293, 532, 3, 2, 2, 2, 4294, 4295, 7, 84, 2, 2, 4295, 4296, 7, 71, 2, 2, 4296, 4297, 7, 67, 2, 2, 4297, 4298, 7, 70, 2, 2, 4298, 4299, 7, 97, 2, 2, 4299, 4300, 7, 89, 2, 2, 4300, 4301, 7, 84, 2, 2, 4301, 4302, 7, 75, 2, 2, 4302, 4303, 7, 86, 2, 2, 4303, 4304, 7, 71, 2, 2, 4304, 4305, 7, 97, 2, 2, 4305, 4306, 7, 72, 2, 2, 4306, 4307, 7, 75, 2, 2, 4307, 4308, 7, 78, 2, 2, 4308, 4309, 7, 71, 2, 2, 4309, 4310, 7, 73, 2, 2, 4310, 4311, 7, 84, 2, 2, 4311, 4312, 7, 81, 2, 2, 4312, 4313, 7, 87, 2, 2, 4313, 4314, 7, 82, 2, 2, 4314, 4315, 7, 85, 2, 2, 4315, 534, 3, 2, 2, 2, 4316, 4317, 7, 84, 2, 2, 4317, 4318, 7, 71, 2, 2, 4318, 4319, 7, 69, 2, 2, 4319, 4320, 7, 81, 2, 2, 4320, 4321, 7, 80, 2, 2, 4321, 4322, 7, 72, 2, 2, 4322, 4323, 7, 75, 2, 2, 4323, 4324, 7, 73, 2, 2, 4324, 4325, 7, 87, 2, 2, 4325, 4326, 7, 84, 2, 2, 4326, 4327, 7, 71, 2, 2, 4327, 536, 3, 2, 2, 2, 4328, 4329, 7, 84, 2, 2, 4329, 4330, 7, 71, 2, 2, 4330, 4331, 7, 72, 2, 2, 4331, 4332, 7, 71, 2, 2, 4332, 4333, 7, 84, 2, 2, 4333, 4334, 7, 71, 2, 2, 4334, 4335, 7, 80, 2, 2, 4335, 4336, 7, 69, 2, 2, 4336, 4337, 7, 71, 2, 2, 4337, 4338, 7, 85, 2, 2, 4338, 538, 3, 2, 2, 2, 4339, 4340, 7, 84, 2, 2, 4340, 4341, 7, 71, 2, 2, 4341, 4342, 7, 73, 2, 2, 4342, 4343, 7, 71, 2, 2, 4343, 4344, 7, 80, 2, 2, 4344, 4345, 7, 71, 2, 2, 4345, 4346, 7, 84, 2, 2, 4346, 4347, 7, 67, 2, 2, 4347, 4348, 7, 86, 2, 2, 4348, 4349, 7, 71, 2, 2, 4349, 540, 3, 2, 2, 2, 4350, 4351, 7, 84, 2, 2, 4351, 4352, 7, 71, 2, 2, 4352, 4353, 7, 78, 2, 2, 4353, 4354, 7, 67, 2, 2, 4354, 4355, 7, 86, 2, 2, 4355, 4356, 7, 71, 2, 2, 4356, 4357, 7, 70, 2, 2, 4357, 4358, 7, 97, 2, 2, 4358, 4359, 7, 69, 2, 2, 4359, 4360, 7, 81, 2, 2, 4360, 4361, 7, 80, 2, 2, 4361, 4362, 7, 88, 2, 2, 4362, 4363, 7, 71, 2, 2, 4363, 4364, 7, 84, 2, 2, 4364, 4365, 7, 85, 2, 2, 4365, 4366, 7, 67, 2, 2, 4366, 4367, 7, 86, 2, 2, 4367, 4368, 7, 75, 2, 2, 4368, 4369, 7, 81, 2, 2, 4369, 4370, 7, 80, 2, 2, 4370, 542, 3, 2, 2, 2, 4371, 4372, 7, 84, 2, 2, 4372, 4373, 7, 71, 2, 2, 4373, 4374, 7, 78, 2, 2, 4374, 4375, 7, 67, 2, 2, 4375, 4376, 7, 86, 2, 2, 4376, 4377, 7, 71, 2, 2, 4377, 4378, 7, 70, 2, 2, 4378, 4379, 7, 97, 2, 2, 4379, 4380, 7, 69, 2, 2, 4380, 4381, 7, 81, 2, 2, 4381, 4382, 7, 80, 2, 2, 4382, 4383, 7, 88, 2, 2, 4383, 4384, 7, 71, 2, 2, 4384, 4385, 7, 84, 2, 2, 4385, 4386, 7, 85, 2, 2, 4386, 4387, 7, 67, 2, 2, 4387, 4388, 7, 86, 2, 2, 4388, 4389, 7, 75, 2, 2, 4389, 4390, 7, 81, 2, 2, 4390, 4391, 7, 80, 2, 2, 4391, 4392, 7, 97, 2, 2, 4392, 4393, 7, 73, 2, 2, 4393, 4394, 7, 84, 2, 2, 4394, 4395, 7, 81, 2, 2, 4395, 4396, 7, 87, 2, 2, 4396, 4397, 7, 82, 2, 2, 4397, 544, 3, 2, 2, 2, 4398, 4399, 7, 84, 2, 2, 4399, 4400, 7, 71, 2, 2, 4400, 4401, 7, 82, 2, 2, 4401, 4402, 7, 78, 2, 2, 4402, 4403, 7, 75, 2, 2, 4403, 4404, 7, 69, 2, 2, 4404, 4405, 7, 67, 2, 2, 4405, 4406, 7, 86, 2, 2, 4406, 4407, 7, 75, 2, 2, 4407, 4408, 7, 81, 2, 2, 4408, 4409, 7, 80, 2, 2, 4409, 546, 3, 2, 2, 2, 4410, 4411, 7, 84, 2, 2, 4411, 4412, 7, 71, 2, 2, 4412, 4413, 7, 83, 2, 2, 4413, 4414, 7, 87, 2, 2, 4414, 4415, 7, 75, 2, 2, 4415, 4416, 7, 84, 2, 2, 4416, 4417, 7, 71, 2, 2, 4417, 4418, 7, 70, 2, 2, 4418, 548, 3, 2, 2, 2, 4419, 4420, 7, 84, 2, 2, 4420, 4421, 7, 71, 2, 2, 4421, 4422, 7, 85, 2, 2, 4422, 4423, 7, 71, 2, 2, 4423, 4424, 7, 86, 2, 2, 4424, 550, 3, 2, 2, 2, 4425, 4426, 7, 84, 2, 2, 4426, 4427, 7, 71, 2, 2, 4427, 4428, 7, 85, 2, 2, 4428, 4429, 7, 86, 2, 2, 4429, 4430, 7, 67, 2, 2, 4430, 4431, 7, 84, 2, 2, 4431, 4432, 7, 86, 2, 2, 4432, 552, 3, 2, 2, 2, 4433, 4434, 7, 84, 2, 2, 4434, 4435, 7, 71, 2, 2, 4435, 4436, 7, 85, 2, 2, 4436, 4437, 7, 86, 2, 2, 4437, 4438, 7, 81, 2, 2, 4438, 4439, 7, 84, 2, 2, 4439, 4440, 7, 71, 2, 2, 4440, 554, 3, 2, 2, 2, 4441, 4442, 7, 84, 2, 2, 4442, 4443, 7, 71, 2, 2, 4443, 4444, 7, 85, 2, 2, 4444, 4445, 7, 86, 2, 2, 4445, 4446, 7, 84, 2, 2, 4446, 4447, 7, 75, 2, 2, 4447, 4448, 7, 69, 2, 2, 4448, 4449, 7, 86, 2, 2, 4449, 556, 3, 2, 2, 2, 4450, 4451, 7, 84, 2, 2, 4451, 4452, 7, 71, 2, 2, 4452, 4453, 7, 85, 2, 2, 4453, 4454, 7, 87, 2, 2, 4454, 4455, 7, 79, 2, 2, 4455, 4456, 7, 71, 2, 2, 4456, 558, 3, 2, 2, 2, 4457, 4458, 7, 84, 2, 2, 4458, 4459, 7, 71, 2, 2, 4459, 4460, 7, 86, 2, 2, 4460, 4461, 7, 67, 2, 2, 4461, 4462, 7, 75, 2, 2, 4462, 4463, 7, 80, 2, 2, 4463, 4464, 7, 70, 2, 2, 4464, 4465, 7, 67, 2, 2, 4465, 4466, 7, 91, 2, 2, 4466, 4467, 7, 85, 2, 2, 4467, 560, 3, 2, 2, 2, 4468, 4469, 7, 84, 2, 2, 4469, 4470, 7, 71, 2, 2, 4470, 4471, 7, 86, 2, 2, 4471, 4472, 7, 87, 2, 2, 4472, 4473, 7, 84, 2, 2, 4473, 4474, 7, 80, 2, 2, 4474, 562, 3, 2, 2, 2, 4475, 4476, 7, 84, 2, 2, 4476, 4477, 7, 71, 2, 2, 4477, 4478, 7, 86, 2, 2, 4478, 4479, 7, 87, 2, 2, 4479, 4480, 7, 84, 2, 2, 4480, 4481, 7, 80, 2, 2, 4481, 4482, 7, 85, 2, 2, 4482, 564, 3, 2, 2, 2, 4483, 4484, 7, 84, 2, 2, 4484, 4485, 7, 71, 2, 2, 4485, 4486, 7, 88, 2, 2, 4486, 4487, 7, 71, 2, 2, 4487, 4488, 7, 84, 2, 2, 4488, 4489, 7, 86, 2, 2, 4489, 566, 3, 2, 2, 2, 4490, 4491, 7, 84, 2, 2, 4491, 4492, 7, 71, 2, 2, 4492, 4493, 7, 88, 2, 2, 4493, 4494, 7, 81, 2, 2, 4494, 4495, 7, 77, 2, 2, 4495, 4496, 7, 71, 2, 2, 4496, 568, 3, 2, 2, 2, 4497, 4498, 7, 84, 2, 2, 4498, 4499, 7, 71, 2, 2, 4499, 4500, 7, 89, 2, 2, 4500, 4501, 7, 75, 2, 2, 4501, 4502, 7, 80, 2, 2, 4502, 4503, 7, 70, 2, 2, 4503, 570, 3, 2, 2, 2, 4504, 4505, 7, 84, 2, 2, 4505, 4506, 7, 75, 2, 2, 4506, 4507, 7, 73, 2, 2, 4507, 4508, 7, 74, 2, 2, 4508, 4509, 7, 86, 2, 2, 4509, 572, 3, 2, 2, 2, 4510, 4511, 7, 84, 2, 2, 4511, 4512, 7, 81, 2, 2, 4512, 4513, 7, 78, 2, 2, 4513, 4514, 7, 78, 2, 2, 4514, 4515, 7, 68, 2, 2, 4515, 4516, 7, 67, 2, 2, 4516, 4517, 7, 69, 2, 2, 4517, 4518, 7, 77, 2, 2, 4518, 574, 3, 2, 2, 2, 4519, 4520, 7, 84, 2, 2, 4520, 4521, 7, 81, 2, 2, 4521, 4522, 7, 78, 2, 2, 4522, 4523, 7, 71, 2, 2, 4523, 576, 3, 2, 2, 2, 4524, 4525, 7, 84, 2, 2, 4525, 4526, 7, 81, 2, 2, 4526, 4527, 7, 89, 2, 2, 4527, 4528, 7, 69, 2, 2, 4528, 4529, 7, 81, 2, 2, 4529, 4530, 7, 87, 2, 2, 4530, 4531, 7, 80, 2, 2, 4531, 4532, 7, 86, 2, 2, 4532, 578, 3, 2, 2, 2, 4533, 4534, 7, 84, 2, 2, 4534, 4535, 7, 81, 2, 2, 4535, 4536, 7, 89, 2, 2, 4536, 4537, 7, 73, 2, 2, 4537, 4538, 7, 87, 2, 2, 4538, 4539, 7, 75, 2, 2, 4539, 4540, 7, 70, 2, 2, 4540, 4541, 7, 69, 2, 2, 4541, 4542, 7, 81, 2, 2, 4542, 4543, 7, 78, 2, 2, 4543, 580, 3, 2, 2, 2, 4544, 4545, 7, 84, 2, 2, 4545, 4546, 7, 85, 2, 2, 4546, 4547, 7, 67, 2, 2, 4547, 4548, 7, 97, 2, 2, 4548, 4549, 7, 55, 2, 2, 4549, 4550, 7, 51, 2, 2, 4550, 4551, 7, 52, 2, 2, 4551, 582, 3, 2, 2, 2, 4552, 4553, 7, 84, 2, 2, 4553, 4554, 7, 85, 2, 2, 4554, 4555, 7, 67, 2, 2, 4555, 4556, 7, 97, 2, 2, 4556, 4557, 7, 51, 2, 2, 4557, 4558, 7, 50, 2, 2, 4558, 4559, 7, 52, 2, 2, 4559, 4560, 7, 54, 2, 2, 4560, 584, 3, 2, 2, 2, 4561, 4562, 7, 84, 2, 2, 4562, 4563, 7, 85, 2, 2, 4563, 4564, 7, 67, 2, 2, 4564, 4565, 7, 97, 2, 2, 4565, 4566, 7, 52, 2, 2, 4566, 4567, 7, 50, 2, 2, 4567, 4568, 7, 54, 2, 2, 4568, 4569, 7, 58, 2, 2, 4569, 586, 3, 2, 2, 2, 4570, 4571, 7, 84, 2, 2, 4571, 4572, 7, 85, 2, 2, 4572, 4573, 7, 67, 2, 2, 4573, 4574, 7, 97, 2, 2, 4574, 4575, 7, 53, 2, 2, 4575, 4576, 7, 50, 2, 2, 4576, 4577, 7, 57, 2, 2, 4577, 4578, 7, 52, 2, 2, 4578, 588, 3, 2, 2, 2, 4579, 4580, 7, 84, 2, 2, 4580, 4581, 7, 85, 2, 2, 4581, 4582, 7, 67, 2, 2, 4582, 4583, 7, 97, 2, 2, 4583, 4584, 7, 54, 2, 2, 4584, 4585, 7, 50, 2, 2, 4585, 4586, 7, 59, 2, 2, 4586, 4587, 7, 56, 2, 2, 4587, 590, 3, 2, 2, 2, 4588, 4589, 7, 85, 2, 2, 4589, 4590, 7, 67, 2, 2, 4590, 4591, 7, 72, 2, 2, 4591, 4592, 7, 71, 2, 2, 4592, 4593, 7, 86, 2, 2, 4593, 4594, 7, 91, 2, 2, 4594, 592, 3, 2, 2, 2, 4595, 4596, 7, 84, 2, 2, 4596, 4597, 7, 87, 2, 2, 4597, 4598, 7, 78, 2, 2, 4598, 4599, 7, 71, 2, 2, 4599, 594, 3, 2, 2, 2, 4600, 4601, 7, 85, 2, 2, 4601, 4602, 7, 67, 2, 2, 4602, 4603, 7, 72, 2, 2, 4603, 4604, 7, 71, 2, 2, 4604, 596, 3, 2, 2, 2, 4605, 4606, 7, 85, 2, 2, 4606, 4607, 7, 67, 2, 2, 4607, 4608, 7, 88, 2, 2, 4608, 4609, 7, 71, 2, 2, 4609, 598, 3, 2, 2, 2, 4610, 4611, 7, 85, 2, 2, 4611, 4612, 7, 69, 2, 2, 4612, 4613, 7, 74, 2, 2, 4613, 4614, 7, 71, 2, 2, 4614, 4615, 7, 70, 2, 2, 4615, 4616, 7, 87, 2, 2, 4616, 4617, 7, 78, 2, 2, 4617, 4618, 7, 71, 2, 2, 4618, 4619, 7, 84, 2, 2, 4619, 600, 3, 2, 2, 2, 4620, 4621, 7, 85, 2, 2, 4621, 4622, 7, 69, 2, 2, 4622, 4623, 7, 74, 2, 2, 4623, 4624, 7, 71, 2, 2, 4624, 4625, 7, 79, 2, 2, 4625, 4626, 7, 67, 2, 2, 4626, 602, 3, 2, 2, 2, 4627, 4628, 7, 85, 2, 2, 4628, 4629, 7, 69, 2, 2, 4629, 4630, 7, 74, 2, 2, 4630, 4631, 7, 71, 2, 2, 4631, 4632, 7, 79, 2, 2, 4632, 4633, 7, 71, 2, 2, 4633, 604, 3, 2, 2, 2, 4634, 4635, 7, 85, 2, 2, 4635, 4636, 7, 71, 2, 2, 4636, 4637, 7, 69, 2, 2, 4637, 4638, 7, 87, 2, 2, 4638, 4639, 7, 84, 2, 2, 4639, 4640, 7, 75, 2, 2, 4640, 4641, 7, 86, 2, 2, 4641, 4642, 7, 91, 2, 2, 4642, 4643, 7, 67, 2, 2, 4643, 4644, 7, 87, 2, 2, 4644, 4645, 7, 70, 2, 2, 4645, 4646, 7, 75, 2, 2, 4646, 4647, 7, 86, 2, 2, 4647, 606, 3, 2, 2, 2, 4648, 4649, 7, 85, 2, 2, 4649, 4650, 7, 71, 2, 2, 4650, 4651, 7, 78, 2, 2, 4651, 4652, 7, 71, 2, 2, 4652, 4653, 7, 69, 2, 2, 4653, 4654, 7, 86, 2, 2, 4654, 608, 3, 2, 2, 2, 4655, 4656, 7, 85, 2, 2, 4656, 4657, 7, 71, 2, 2, 4657, 4658, 7, 79, 2, 2, 4658, 4659, 7, 67, 2, 2, 4659, 4660, 7, 80, 2, 2, 4660, 4661, 7, 86, 2, 2, 4661, 4662, 7, 75, 2, 2, 4662, 4663, 7, 69, 2, 2, 4663, 4664, 7, 77, 2, 2, 4664, 4665, 7, 71, 2, 2, 4665, 4666, 7, 91, 2, 2, 4666, 4667, 7, 82, 2, 2, 4667, 4668, 7, 74, 2, 2, 4668, 4669, 7, 84, 2, 2, 4669, 4670, 7, 67, 2, 2, 4670, 4671, 7, 85, 2, 2, 4671, 4672, 7, 71, 2, 2, 4672, 4673, 7, 86, 2, 2, 4673, 4674, 7, 67, 2, 2, 4674, 4675, 7, 68, 2, 2, 4675, 4676, 7, 78, 2, 2, 4676, 4677, 7, 71, 2, 2, 4677, 610, 3, 2, 2, 2, 4678, 4679, 7, 85, 2, 2, 4679, 4680, 7, 71, 2, 2, 4680, 4681, 7, 79, 2, 2, 4681, 4682, 7, 67, 2, 2, 4682, 4683, 7, 80, 2, 2, 4683, 4684, 7, 86, 2, 2, 4684, 4685, 7, 75, 2, 2, 4685, 4686, 7, 69, 2, 2, 4686, 4687, 7, 85, 2, 2, 4687, 4688, 7, 75, 2, 2, 4688, 4689, 7, 79, 2, 2, 4689, 4690, 7, 75, 2, 2, 4690, 4691, 7, 78, 2, 2, 4691, 4692, 7, 67, 2, 2, 4692, 4693, 7, 84, 2, 2, 4693, 4694, 7, 75, 2, 2, 4694, 4695, 7, 86, 2, 2, 4695, 4696, 7, 91, 2, 2, 4696, 4697, 7, 70, 2, 2, 4697, 4698, 7, 71, 2, 2, 4698, 4699, 7, 86, 2, 2, 4699, 4700, 7, 67, 2, 2, 4700, 4701, 7, 75, 2, 2, 4701, 4702, 7, 78, 2, 2, 4702, 4703, 7, 85, 2, 2, 4703, 4704, 7, 86, 2, 2, 4704, 4705, 7, 67, 2, 2, 4705, 4706, 7, 68, 2, 2, 4706, 4707, 7, 78, 2, 2, 4707, 4708, 7, 71, 2, 2, 4708, 612, 3, 2, 2, 2, 4709, 4710, 7, 85, 2, 2, 4710, 4711, 7, 71, 2, 2, 4711, 4712, 7, 79, 2, 2, 4712, 4713, 7, 67, 2, 2, 4713, 4714, 7, 80, 2, 2, 4714, 4715, 7, 86, 2, 2, 4715, 4716, 7, 75, 2, 2, 4716, 4717, 7, 69, 2, 2, 4717, 4718, 7, 85, 2, 2, 4718, 4719, 7, 75, 2, 2, 4719, 4720, 7, 79, 2, 2, 4720, 4721, 7, 75, 2, 2, 4721, 4722, 7, 78, 2, 2, 4722, 4723, 7, 67, 2, 2, 4723, 4724, 7, 84, 2, 2, 4724, 4725, 7, 75, 2, 2, 4725, 4726, 7, 86, 2, 2, 4726, 4727, 7, 91, 2, 2, 4727, 4728, 7, 86, 2, 2, 4728, 4729, 7, 67, 2, 2, 4729, 4730, 7, 68, 2, 2, 4730, 4731, 7, 78, 2, 2, 4731, 4732, 7, 71, 2, 2, 4732, 614, 3, 2, 2, 2, 4733, 4734, 7, 85, 2, 2, 4734, 4735, 7, 71, 2, 2, 4735, 4736, 7, 84, 2, 2, 4736, 4737, 7, 88, 2, 2, 4737, 4738, 7, 71, 2, 2, 4738, 4739, 7, 84, 2, 2, 4739, 616, 3, 2, 2, 2, 4740, 4741, 7, 85, 2, 2, 4741, 4742, 7, 71, 2, 2, 4742, 4743, 7, 84, 2, 2, 4743, 4744, 7, 88, 2, 2, 4744, 4745, 7, 75, 2, 2, 4745, 4746, 7, 69, 2, 2, 4746, 4747, 7, 71, 2, 2, 4747, 618, 3, 2, 2, 2, 4748, 4749, 7, 85, 2, 2, 4749, 4750, 7, 71, 2, 2, 4750, 4751, 7, 84, 2, 2, 4751, 4752, 7, 88, 2, 2, 4752, 4753, 7, 75, 2, 2, 4753, 4754, 7, 69, 2, 2, 4754, 4755, 7, 71, 2, 2, 4755, 4756, 7, 97, 2, 2, 4756, 4757, 7, 68, 2, 2, 4757, 4758, 7, 84, 2, 2, 4758, 4759, 7, 81, 2, 2, 4759, 4760, 7, 77, 2, 2, 4760, 4761, 7, 71, 2, 2, 4761, 4762, 7, 84, 2, 2, 4762, 620, 3, 2, 2, 2, 4763, 4764, 7, 85, 2, 2, 4764, 4765, 7, 71, 2, 2, 4765, 4766, 7, 84, 2, 2, 4766, 4767, 7, 88, 2, 2, 4767, 4768, 7, 75, 2, 2, 4768, 4769, 7, 69, 2, 2, 4769, 4770, 7, 71, 2, 2, 4770, 4771, 7, 97, 2, 2, 4771, 4772, 7, 80, 2, 2, 4772, 4773, 7, 67, 2, 2, 4773, 4774, 7, 79, 2, 2, 4774, 4775, 7, 71, 2, 2, 4775, 622, 3, 2, 2, 2, 4776, 4777, 7, 85, 2, 2, 4777, 4778, 7, 71, 2, 2, 4778, 4779, 7, 85, 2, 2, 4779, 4780, 7, 85, 2, 2, 4780, 4781, 7, 75, 2, 2, 4781, 4782, 7, 81, 2, 2, 4782, 4783, 7, 80, 2, 2, 4783, 624, 3, 2, 2, 2, 4784, 4785, 7, 85, 2, 2, 4785, 4786, 7, 71, 2, 2, 4786, 4787, 7, 85, 2, 2, 4787, 4788, 7, 85, 2, 2, 4788, 4789, 7, 75, 2, 2, 4789, 4790, 7, 81, 2, 2, 4790, 4791, 7, 80, 2, 2, 4791, 4792, 7, 97, 2, 2, 4792, 4793, 7, 87, 2, 2, 4793, 4794, 7, 85, 2, 2, 4794, 4795, 7, 71, 2, 2, 4795, 4796, 7, 84, 2, 2, 4796, 626, 3, 2, 2, 2, 4797, 4798, 7, 85, 2, 2, 4798, 4799, 7, 71, 2, 2, 4799, 4800, 7, 86, 2, 2, 4800, 628, 3, 2, 2, 2, 4801, 4802, 7, 85, 2, 2, 4802, 4803, 7, 71, 2, 2, 4803, 4804, 7, 86, 2, 2, 4804, 4805, 7, 87, 2, 2, 4805, 4806, 7, 85, 2, 2, 4806, 4807, 7, 71, 2, 2, 4807, 4808, 7, 84, 2, 2, 4808, 630, 3, 2, 2, 2, 4809, 4810, 7, 85, 2, 2, 4810, 4811, 7, 74, 2, 2, 4811, 4812, 7, 87, 2, 2, 4812, 4813, 7, 86, 2, 2, 4813, 4814, 7, 70, 2, 2, 4814, 4815, 7, 81, 2, 2, 4815, 4816, 7, 89, 2, 2, 4816, 4817, 7, 80, 2, 2, 4817, 632, 3, 2, 2, 2, 4818, 4819, 7, 85, 2, 2, 4819, 4820, 7, 75, 2, 2, 4820, 4821, 7, 70, 2, 2, 4821, 634, 3, 2, 2, 2, 4822, 4823, 7, 85, 2, 2, 4823, 4824, 7, 77, 2, 2, 4824, 4825, 7, 75, 2, 2, 4825, 4826, 7, 82, 2, 2, 4826, 636, 3, 2, 2, 2, 4827, 4828, 7, 85, 2, 2, 4828, 4829, 7, 81, 2, 2, 4829, 4830, 7, 72, 2, 2, 4830, 4831, 7, 86, 2, 2, 4831, 4832, 7, 80, 2, 2, 4832, 4833, 7, 87, 2, 2, 4833, 4834, 7, 79, 2, 2, 4834, 4835, 7, 67, 2, 2, 4835, 638, 3, 2, 2, 2, 4836, 4837, 7, 85, 2, 2, 4837, 4838, 7, 81, 2, 2, 4838, 4839, 7, 79, 2, 2, 4839, 4840, 7, 71, 2, 2, 4840, 640, 3, 2, 2, 2, 4841, 4842, 7, 85, 2, 2, 4842, 4843, 7, 81, 2, 2, 4843, 4844, 7, 87, 2, 2, 4844, 4845, 7, 84, 2, 2, 4845, 4846, 7, 69, 2, 2, 4846, 4847, 7, 71, 2, 2, 4847, 642, 3, 2, 2, 2, 4848, 4849, 7, 85, 2, 2, 4849, 4850, 7, 82, 2, 2, 4850, 4851, 7, 71, 2, 2, 4851, 4852, 7, 69, 2, 2, 4852, 4853, 7, 75, 2, 2, 4853, 4854, 7, 72, 2, 2, 4854, 4855, 7, 75, 2, 2, 4855, 4856, 7, 69, 2, 2, 4856, 4857, 7, 67, 2, 2, 4857, 4858, 7, 86, 2, 2, 4858, 4859, 7, 75, 2, 2, 4859, 4860, 7, 81, 2, 2, 4860, 4861, 7, 80, 2, 2, 4861, 644, 3, 2, 2, 2, 4862, 4863, 7, 85, 2, 2, 4863, 4864, 7, 82, 2, 2, 4864, 4865, 7, 78, 2, 2, 4865, 4866, 7, 75, 2, 2, 4866, 4867, 7, 86, 2, 2, 4867, 646, 3, 2, 2, 2, 4868, 4869, 7, 85, 2, 2, 4869, 4870, 7, 83, 2, 2, 4870, 4871, 7, 78, 2, 2, 4871, 4872, 7, 70, 2, 2, 4872, 4873, 7, 87, 2, 2, 4873, 4874, 7, 79, 2, 2, 4874, 4875, 7, 82, 2, 2, 4875, 4876, 7, 71, 2, 2, 4876, 4877, 7, 84, 2, 2, 4877, 4878, 7, 72, 2, 2, 4878, 4879, 7, 78, 2, 2, 4879, 4880, 7, 67, 2, 2, 4880, 4881, 7, 73, 2, 2, 4881, 4882, 7, 85, 2, 2, 4882, 648, 3, 2, 2, 2, 4883, 4884, 7, 85, 2, 2, 4884, 4885, 7, 83, 2, 2, 4885, 4886, 7, 78, 2, 2, 4886, 4887, 7, 70, 2, 2, 4887, 4888, 7, 87, 2, 2, 4888, 4889, 7, 79, 2, 2, 4889, 4890, 7, 82, 2, 2, 4890, 4891, 7, 71, 2, 2, 4891, 4892, 7, 84, 2, 2, 4892, 4893, 7, 82, 2, 2, 4893, 4894, 7, 67, 2, 2, 4894, 4895, 7, 86, 2, 2, 4895, 4896, 7, 74, 2, 2, 4896, 650, 3, 2, 2, 2, 4897, 4898, 7, 85, 2, 2, 4898, 4899, 7, 83, 2, 2, 4899, 4900, 7, 78, 2, 2, 4900, 4901, 7, 70, 2, 2, 4901, 4902, 7, 87, 2, 2, 4902, 4903, 7, 79, 2, 2, 4903, 4904, 7, 82, 2, 2, 4904, 4905, 7, 71, 2, 2, 4905, 4906, 7, 84, 2, 2, 4906, 4907, 7, 86, 2, 2, 4907, 4908, 7, 75, 2, 2, 4908, 4909, 7, 79, 2, 2, 4909, 4910, 7, 71, 2, 2, 4910, 4911, 7, 81, 2, 2, 4911, 4912, 7, 87, 2, 2, 4912, 4913, 7, 86, 2, 2, 4913, 4914, 7, 85, 2, 2, 4914, 652, 3, 2, 2, 2, 4915, 4916, 7, 85, 2, 2, 4916, 4917, 7, 86, 2, 2, 4917, 4918, 7, 67, 2, 2, 4918, 4919, 7, 86, 2, 2, 4919, 4920, 7, 75, 2, 2, 4920, 4921, 7, 85, 2, 2, 4921, 4922, 7, 86, 2, 2, 4922, 4923, 7, 75, 2, 2, 4923, 4924, 7, 69, 2, 2, 4924, 4925, 7, 85, 2, 2, 4925, 654, 3, 2, 2, 2, 4926, 4927, 7, 85, 2, 2, 4927, 4928, 7, 86, 2, 2, 4928, 4929, 7, 67, 2, 2, 4929, 4930, 7, 86, 2, 2, 4930, 4931, 7, 71, 2, 2, 4931, 656, 3, 2, 2, 2, 4932, 4933, 7, 85, 2, 2, 4933, 4934, 7, 86, 2, 2, 4934, 4935, 7, 67, 2, 2, 4935, 4936, 7, 86, 2, 2, 4936, 4937, 7, 85, 2, 2, 4937, 658, 3, 2, 2, 2, 4938, 4939, 7, 85, 2, 2, 4939, 4940, 7, 86, 2, 2, 4940, 4941, 7, 67, 2, 2, 4941, 4942, 7, 84, 2, 2, 4942, 4943, 7, 86, 2, 2, 4943, 660, 3, 2, 2, 2, 4944, 4945, 7, 85, 2, 2, 4945, 4946, 7, 86, 2, 2, 4946, 4947, 7, 67, 2, 2, 4947, 4948, 7, 84, 2, 2, 4948, 4949, 7, 86, 2, 2, 4949, 4950, 7, 71, 2, 2, 4950, 4951, 7, 70, 2, 2, 4951, 662, 3, 2, 2, 2, 4952, 4953, 7, 85, 2, 2, 4953, 4954, 7, 86, 2, 2, 4954, 4955, 7, 67, 2, 2, 4955, 4956, 7, 84, 2, 2, 4956, 4957, 7, 86, 2, 2, 4957, 4958, 7, 87, 2, 2, 4958, 4959, 7, 82, 2, 2, 4959, 4960, 7, 97, 2, 2, 4960, 4961, 7, 85, 2, 2, 4961, 4962, 7, 86, 2, 2, 4962, 4963, 7, 67, 2, 2, 4963, 4964, 7, 86, 2, 2, 4964, 4965, 7, 71, 2, 2, 4965, 664, 3, 2, 2, 2, 4966, 4967, 7, 85, 2, 2, 4967, 4968, 7, 86, 2, 2, 4968, 4969, 7, 81, 2, 2, 4969, 4970, 7, 82, 2, 2, 4970, 666, 3, 2, 2, 2, 4971, 4972, 7, 85, 2, 2, 4972, 4973, 7, 86, 2, 2, 4973, 4974, 7, 81, 2, 2, 4974, 4975, 7, 82, 2, 2, 4975, 4976, 7, 82, 2, 2, 4976, 4977, 7, 71, 2, 2, 4977, 4978, 7, 70, 2, 2, 4978, 668, 3, 2, 2, 2, 4979, 4980, 7, 85, 2, 2, 4980, 4981, 7, 86, 2, 2, 4981, 4982, 7, 81, 2, 2, 4982, 4983, 7, 82, 2, 2, 4983, 4984, 7, 97, 2, 2, 4984, 4985, 7, 81, 2, 2, 4985, 4986, 7, 80, 2, 2, 4986, 4987, 7, 97, 2, 2, 4987, 4988, 7, 71, 2, 2, 4988, 4989, 7, 84, 2, 2, 4989, 4990, 7, 84, 2, 2, 4990, 4991, 7, 81, 2, 2, 4991, 4992, 7, 84, 2, 2, 4992, 670, 3, 2, 2, 2, 4993, 4994, 7, 85, 2, 2, 4994, 4995, 7, 87, 2, 2, 4995, 4996, 7, 82, 2, 2, 4996, 4997, 7, 82, 2, 2, 4997, 4998, 7, 81, 2, 2, 4998, 4999, 7, 84, 2, 2, 4999, 5000, 7, 86, 2, 2, 5000, 5001, 7, 71, 2, 2, 5001, 5002, 7, 70, 2, 2, 5002, 672, 3, 2, 2, 2, 5003, 5004, 7, 85, 2, 2, 5004, 5005, 7, 91, 2, 2, 5005, 5006, 7, 85, 2, 2, 5006, 5007, 7, 86, 2, 2, 5007, 5008, 7, 71, 2, 2, 5008, 5009, 7, 79, 2, 2, 5009, 5010, 7, 97, 2, 2, 5010, 5011, 7, 87, 2, 2, 5011, 5012, 7, 85, 2, 2, 5012, 5013, 7, 71, 2, 2, 5013, 5014, 7, 84, 2, 2, 5014, 674, 3, 2, 2, 2, 5015, 5016, 7, 86, 2, 2, 5016, 5017, 7, 67, 2, 2, 5017, 5018, 7, 68, 2, 2, 5018, 5019, 7, 78, 2, 2, 5019, 5020, 7, 71, 2, 2, 5020, 676, 3, 2, 2, 2, 5021, 5022, 7, 86, 2, 2, 5022, 5023, 7, 67, 2, 2, 5023, 5024, 7, 68, 2, 2, 5024, 5025, 7, 78, 2, 2, 5025, 5026, 7, 71, 2, 2, 5026, 5027, 7, 85, 2, 2, 5027, 5028, 7, 67, 2, 2, 5028, 5029, 7, 79, 2, 2, 5029, 5030, 7, 82, 2, 2, 5030, 5031, 7, 78, 2, 2, 5031, 5032, 7, 71, 2, 2, 5032, 678, 3, 2, 2, 2, 5033, 5034, 7, 86, 2, 2, 5034, 5035, 7, 67, 2, 2, 5035, 5036, 7, 82, 2, 2, 5036, 5037, 7, 71, 2, 2, 5037, 680, 3, 2, 2, 2, 5038, 5039, 7, 86, 2, 2, 5039, 5040, 7, 67, 2, 2, 5040, 5041, 7, 84, 2, 2, 5041, 5042, 7, 73, 2, 2, 5042, 5043, 7, 71, 2, 2, 5043, 5044, 7, 86, 2, 2, 5044, 682, 3, 2, 2, 2, 5045, 5046, 7, 86, 2, 2, 5046, 5047, 7, 69, 2, 2, 5047, 5048, 7, 82, 2, 2, 5048, 684, 3, 2, 2, 2, 5049, 5050, 7, 86, 2, 2, 5050, 5051, 7, 71, 2, 2, 5051, 5052, 7, 90, 2, 2, 5052, 5053, 7, 86, 2, 2, 5053, 5054, 7, 85, 2, 2, 5054, 5055, 7, 75, 2, 2, 5055, 5056, 7, 92, 2, 2, 5056, 5057, 7, 71, 2, 2, 5057, 686, 3, 2, 2, 2, 5058, 5059, 7, 86, 2, 2, 5059, 5060, 7, 74, 2, 2, 5060, 5061, 7, 71, 2, 2, 5061, 5062, 7, 80, 2, 2, 5062, 688, 3, 2, 2, 2, 5063, 5064, 7, 86, 2, 2, 5064, 5065, 7, 81, 2, 2, 5065, 690, 3, 2, 2, 2, 5066, 5067, 7, 86, 2, 2, 5067, 5068, 7, 81, 2, 2, 5068, 5069, 7, 82, 2, 2, 5069, 692, 3, 2, 2, 2, 5070, 5071, 7, 86, 2, 2, 5071, 5072, 7, 84, 2, 2, 5072, 5073, 7, 67, 2, 2, 5073, 5074, 7, 69, 2, 2, 5074, 5075, 7, 77, 2, 2, 5075, 5076, 7, 97, 2, 2, 5076, 5077, 7, 69, 2, 2, 5077, 5078, 7, 67, 2, 2, 5078, 5079, 7, 87, 2, 2, 5079, 5080, 7, 85, 2, 2, 5080, 5081, 7, 67, 2, 2, 5081, 5082, 7, 78, 2, 2, 5082, 5083, 7, 75, 2, 2, 5083, 5084, 7, 86, 2, 2, 5084, 5085, 7, 91, 2, 2, 5085, 694, 3, 2, 2, 2, 5086, 5087, 7, 86, 2, 2, 5087, 5088, 7, 84, 2, 2, 5088, 5089, 7, 67, 2, 2, 5089, 5090, 7, 80, 2, 2, 5090, 696, 3, 2, 2, 2, 5091, 5092, 7, 86, 2, 2, 5092, 5093, 7, 84, 2, 2, 5093, 5094, 7, 67, 2, 2, 5094, 5095, 7, 80, 2, 2, 5095, 5096, 7, 85, 2, 2, 5096, 5097, 7, 67, 2, 2, 5097, 5098, 7, 69, 2, 2, 5098, 5099, 7, 86, 2, 2, 5099, 5100, 7, 75, 2, 2, 5100, 5101, 7, 81, 2, 2, 5101, 5102, 7, 80, 2, 2, 5102, 698, 3, 2, 2, 2, 5103, 5104, 7, 86, 2, 2, 5104, 5105, 7, 84, 2, 2, 5105, 5106, 7, 67, 2, 2, 5106, 5107, 7, 80, 2, 2, 5107, 5108, 7, 85, 2, 2, 5108, 5109, 7, 72, 2, 2, 5109, 5110, 7, 71, 2, 2, 5110, 5111, 7, 84, 2, 2, 5111, 700, 3, 2, 2, 2, 5112, 5113, 7, 86, 2, 2, 5113, 5114, 7, 84, 2, 2, 5114, 5115, 7, 75, 2, 2, 5115, 5116, 7, 73, 2, 2, 5116, 5117, 7, 73, 2, 2, 5117, 5118, 7, 71, 2, 2, 5118, 5119, 7, 84, 2, 2, 5119, 702, 3, 2, 2, 2, 5120, 5121, 7, 86, 2, 2, 5121, 5122, 7, 84, 2, 2, 5122, 5123, 7, 87, 2, 2, 5123, 5124, 7, 80, 2, 2, 5124, 5125, 7, 69, 2, 2, 5125, 5126, 7, 67, 2, 2, 5126, 5127, 7, 86, 2, 2, 5127, 5128, 7, 71, 2, 2, 5128, 704, 3, 2, 2, 2, 5129, 5130, 7, 86, 2, 2, 5130, 5131, 7, 85, 2, 2, 5131, 5132, 7, 71, 2, 2, 5132, 5133, 7, 83, 2, 2, 5133, 5134, 7, 87, 2, 2, 5134, 5135, 7, 67, 2, 2, 5135, 5136, 7, 78, 2, 2, 5136, 706, 3, 2, 2, 2, 5137, 5138, 7, 87, 2, 2, 5138, 5139, 7, 80, 2, 2, 5139, 5140, 7, 69, 2, 2, 5140, 5141, 7, 74, 2, 2, 5141, 5142, 7, 71, 2, 2, 5142, 5143, 7, 69, 2, 2, 5143, 5144, 7, 77, 2, 2, 5144, 5145, 7, 71, 2, 2, 5145, 5146, 7, 70, 2, 2, 5146, 708, 3, 2, 2, 2, 5147, 5148, 7, 87, 2, 2, 5148, 5149, 7, 80, 2, 2, 5149, 5150, 7, 75, 2, 2, 5150, 5151, 7, 81, 2, 2, 5151, 5152, 7, 80, 2, 2, 5152, 710, 3, 2, 2, 2, 5153, 5154, 7, 87, 2, 2, 5154, 5155, 7, 80, 2, 2, 5155, 5156, 7, 75, 2, 2, 5156, 5157, 7, 83, 2, 2, 5157, 5158, 7, 87, 2, 2, 5158, 5159, 7, 71, 2, 2, 5159, 712, 3, 2, 2, 2, 5160, 5161, 7, 87, 2, 2, 5161, 5162, 7, 80, 2, 2, 5162, 5163, 7, 78, 2, 2, 5163, 5164, 7, 81, 2, 2, 5164, 5165, 7, 69, 2, 2, 5165, 5166, 7, 77, 2, 2, 5166, 714, 3, 2, 2, 2, 5167, 5168, 7, 87, 2, 2, 5168, 5169, 7, 80, 2, 2, 5169, 5170, 7, 82, 2, 2, 5170, 5171, 7, 75, 2, 2, 5171, 5172, 7, 88, 2, 2, 5172, 5173, 7, 81, 2, 2, 5173, 5174, 7, 86, 2, 2, 5174, 716, 3, 2, 2, 2, 5175, 5176, 7, 87, 2, 2, 5176, 5177, 7, 80, 2, 2, 5177, 5178, 7, 85, 2, 2, 5178, 5179, 7, 67, 2, 2, 5179, 5180, 7, 72, 2, 2, 5180, 5181, 7, 71, 2, 2, 5181, 718, 3, 2, 2, 2, 5182, 5183, 7, 87, 2, 2, 5183, 5184, 7, 82, 2, 2, 5184, 5185, 7, 70, 2, 2, 5185, 5186, 7, 67, 2, 2, 5186, 5187, 7, 86, 2, 2, 5187, 5188, 7, 71, 2, 2, 5188, 720, 3, 2, 2, 2, 5189, 5190, 7, 87, 2, 2, 5190, 5191, 7, 82, 2, 2, 5191, 5192, 7, 70, 2, 2, 5192, 5193, 7, 67, 2, 2, 5193, 5194, 7, 86, 2, 2, 5194, 5195, 7, 71, 2, 2, 5195, 5196, 7, 86, 2, 2, 5196, 5197, 7, 71, 2, 2, 5197, 5198, 7, 90, 2, 2, 5198, 5199, 7, 86, 2, 2, 5199, 722, 3, 2, 2, 2, 5200, 5201, 7, 87, 2, 2, 5201, 5202, 7, 84, 2, 2, 5202, 5203, 7, 78, 2, 2, 5203, 724, 3, 2, 2, 2, 5204, 5205, 7, 87, 2, 2, 5205, 5206, 7, 85, 2, 2, 5206, 5207, 7, 71, 2, 2, 5207, 726, 3, 2, 2, 2, 5208, 5209, 7, 87, 2, 2, 5209, 5210, 7, 85, 2, 2, 5210, 5211, 7, 71, 2, 2, 5211, 5212, 7, 70, 2, 2, 5212, 728, 3, 2, 2, 2, 5213, 5214, 7, 87, 2, 2, 5214, 5215, 7, 85, 2, 2, 5215, 5216, 7, 71, 2, 2, 5216, 5217, 7, 84, 2, 2, 5217, 730, 3, 2, 2, 2, 5218, 5219, 7, 88, 2, 2, 5219, 5220, 7, 67, 2, 2, 5220, 5221, 7, 78, 2, 2, 5221, 5222, 7, 87, 2, 2, 5222, 5223, 7, 71, 2, 2, 5223, 5224, 7, 85, 2, 2, 5224, 732, 3, 2, 2, 2, 5225, 5226, 7, 88, 2, 2, 5226, 5227, 7, 67, 2, 2, 5227, 5228, 7, 84, 2, 2, 5228, 5229, 7, 91, 2, 2, 5229, 5230, 7, 75, 2, 2, 5230, 5231, 7, 80, 2, 2, 5231, 5232, 7, 73, 2, 2, 5232, 734, 3, 2, 2, 2, 5233, 5234, 7, 88, 2, 2, 5234, 5235, 7, 71, 2, 2, 5235, 5236, 7, 84, 2, 2, 5236, 5237, 7, 68, 2, 2, 5237, 5238, 7, 81, 2, 2, 5238, 5239, 7, 85, 2, 2, 5239, 5240, 7, 71, 2, 2, 5240, 5241, 7, 78, 2, 2, 5241, 5242, 7, 81, 2, 2, 5242, 5243, 7, 73, 2, 2, 5243, 5244, 7, 73, 2, 2, 5244, 5245, 7, 75, 2, 2, 5245, 5246, 7, 80, 2, 2, 5246, 5247, 7, 73, 2, 2, 5247, 736, 3, 2, 2, 2, 5248, 5249, 7, 88, 2, 2, 5249, 5250, 7, 75, 2, 2, 5250, 5251, 7, 71, 2, 2, 5251, 5252, 7, 89, 2, 2, 5252, 738, 3, 2, 2, 2, 5253, 5254, 7, 88, 2, 2, 5254, 5255, 7, 75, 2, 2, 5255, 5256, 7, 85, 2, 2, 5256, 5257, 7, 75, 2, 2, 5257, 5258, 7, 68, 2, 2, 5258, 5259, 7, 75, 2, 2, 5259, 5260, 7, 78, 2, 2, 5260, 5261, 7, 75, 2, 2, 5261, 5262, 7, 86, 2, 2, 5262, 5263, 7, 91, 2, 2, 5263, 740, 3, 2, 2, 2, 5264, 5265, 7, 89, 2, 2, 5265, 5266, 7, 67, 2, 2, 5266, 5267, 7, 75, 2, 2, 5267, 5268, 7, 86, 2, 2, 5268, 5269, 7, 72, 2, 2, 5269, 5270, 7, 81, 2, 2, 5270, 5271, 7, 84, 2, 2, 5271, 742, 3, 2, 2, 2, 5272, 5273, 7, 89, 2, 2, 5273, 5274, 7, 74, 2, 2, 5274, 5275, 7, 71, 2, 2, 5275, 5276, 7, 80, 2, 2, 5276, 744, 3, 2, 2, 2, 5277, 5278, 7, 89, 2, 2, 5278, 5279, 7, 74, 2, 2, 5279, 5280, 7, 71, 2, 2, 5280, 5281, 7, 84, 2, 2, 5281, 5282, 7, 71, 2, 2, 5282, 746, 3, 2, 2, 2, 5283, 5284, 7, 89, 2, 2, 5284, 5285, 7, 74, 2, 2, 5285, 5286, 7, 75, 2, 2, 5286, 5287, 7, 78, 2, 2, 5287, 5288, 7, 71, 2, 2, 5288, 748, 3, 2, 2, 2, 5289, 5290, 7, 89, 2, 2, 5290, 5291, 7, 75, 2, 2, 5291, 5292, 7, 80, 2, 2, 5292, 5293, 7, 70, 2, 2, 5293, 5294, 7, 81, 2, 2, 5294, 5295, 7, 89, 2, 2, 5295, 5296, 7, 85, 2, 2, 5296, 750, 3, 2, 2, 2, 5297, 5298, 7, 89, 2, 2, 5298, 5299, 7, 75, 2, 2, 5299, 5300, 7, 86, 2, 2, 5300, 5301, 7, 74, 2, 2, 5301, 752, 3, 2, 2, 2, 5302, 5303, 7, 89, 2, 2, 5303, 5304, 7, 75, 2, 2, 5304, 5305, 7, 86, 2, 2, 5305, 5306, 7, 74, 2, 2, 5306, 5307, 7, 75, 2, 2, 5307, 5308, 7, 80, 2, 2, 5308, 754, 3, 2, 2, 2, 5309, 5310, 7, 89, 2, 2, 5310, 5311, 7, 75, 2, 2, 5311, 5312, 7, 86, 2, 2, 5312, 5313, 7, 74, 2, 2, 5313, 5314, 7, 81, 2, 2, 5314, 5315, 7, 87, 2, 2, 5315, 5316, 7, 86, 2, 2, 5316, 756, 3, 2, 2, 2, 5317, 5318, 7, 89, 2, 2, 5318, 5319, 7, 75, 2, 2, 5319, 5320, 7, 86, 2, 2, 5320, 5321, 7, 80, 2, 2, 5321, 5322, 7, 71, 2, 2, 5322, 5323, 7, 85, 2, 2, 5323, 5324, 7, 85, 2, 2, 5324, 758, 3, 2, 2, 2, 5325, 5326, 7, 89, 2, 2, 5326, 5327, 7, 84, 2, 2, 5327, 5328, 7, 75, 2, 2, 5328, 5329, 7, 86, 2, 2, 5329, 5330, 7, 71, 2, 2, 5330, 5331, 7, 86, 2, 2, 5331, 5332, 7, 71, 2, 2, 5332, 5333, 7, 90, 2, 2, 5333, 5334, 7, 86, 2, 2, 5334, 760, 3, 2, 2, 2, 5335, 5336, 7, 67, 2, 2, 5336, 5337, 7, 68, 2, 2, 5337, 5338, 7, 85, 2, 2, 5338, 5339, 7, 81, 2, 2, 5339, 5340, 7, 78, 2, 2, 5340, 5341, 7, 87, 2, 2, 5341, 5342, 7, 86, 2, 2, 5342, 5343, 7, 71, 2, 2, 5343, 762, 3, 2, 2, 2, 5344, 5345, 7, 67, 2, 2, 5345, 5346, 7, 69, 2, 2, 5346, 5347, 7, 69, 2, 2, 5347, 5348, 7, 71, 2, 2, 5348, 5349, 7, 80, 2, 2, 5349, 5350, 7, 86, 2, 2, 5350, 5351, 7, 97, 2, 2, 5351, 5352, 7, 85, 2, 2, 5352, 5353, 7, 71, 2, 2, 5353, 5354, 7, 80, 2, 2, 5354, 5355, 7, 85, 2, 2, 5355, 5356, 7, 75, 2, 2, 5356, 5357, 7, 86, 2, 2, 5357, 5358, 7, 75, 2, 2, 5358, 5359, 7, 88, 2, 2, 5359, 5360, 7, 75, 2, 2, 5360, 5361, 7, 86, 2, 2, 5361, 5362, 7, 91, 2, 2, 5362, 764, 3, 2, 2, 2, 5363, 5364, 7, 67, 2, 2, 5364, 5365, 7, 69, 2, 2, 5365, 5366, 7, 86, 2, 2, 5366, 5367, 7, 75, 2, 2, 5367, 5368, 7, 81, 2, 2, 5368, 5369, 7, 80, 2, 2, 5369, 766, 3, 2, 2, 2, 5370, 5371, 7, 67, 2, 2, 5371, 5372, 7, 69, 2, 2, 5372, 5373, 7, 86, 2, 2, 5373, 5374, 7, 75, 2, 2, 5374, 5375, 7, 88, 2, 2, 5375, 5376, 7, 67, 2, 2, 5376, 5377, 7, 86, 2, 2, 5377, 5378, 7, 75, 2, 2, 5378, 5379, 7, 81, 2, 2, 5379, 5380, 7, 80, 2, 2, 5380, 768, 3, 2, 2, 2, 5381, 5382, 7, 67, 2, 2, 5382, 5383, 7, 69, 2, 2, 5383, 5384, 7, 86, 2, 2, 5384, 5385, 7, 75, 2, 2, 5385, 5386, 7, 88, 2, 2, 5386, 5387, 7, 71, 2, 2, 5387, 770, 3, 2, 2, 2, 5388, 5389, 7, 67, 2, 2, 5389, 5390, 7, 70, 2, 2, 5390, 5391, 7, 70, 2, 2, 5391, 5392, 7, 84, 2, 2, 5392, 5393, 7, 71, 2, 2, 5393, 5394, 7, 85, 2, 2, 5394, 5395, 7, 85, 2, 2, 5395, 772, 3, 2, 2, 2, 5396, 5397, 7, 67, 2, 2, 5397, 5398, 7, 71, 2, 2, 5398, 5399, 7, 85, 2, 2, 5399, 5400, 7, 97, 2, 2, 5400, 5401, 7, 51, 2, 2, 5401, 5402, 7, 52, 2, 2, 5402, 5403, 7, 58, 2, 2, 5403, 774, 3, 2, 2, 2, 5404, 5405, 7, 67, 2, 2, 5405, 5406, 7, 71, 2, 2, 5406, 5407, 7, 85, 2, 2, 5407, 5408, 7, 97, 2, 2, 5408, 5409, 7, 51, 2, 2, 5409, 5410, 7, 59, 2, 2, 5410, 5411, 7, 52, 2, 2, 5411, 776, 3, 2, 2, 2, 5412, 5413, 7, 67, 2, 2, 5413, 5414, 7, 71, 2, 2, 5414, 5415, 7, 85, 2, 2, 5415, 5416, 7, 97, 2, 2, 5416, 5417, 7, 52, 2, 2, 5417, 5418, 7, 55, 2, 2, 5418, 5419, 7, 56, 2, 2, 5419, 778, 3, 2, 2, 2, 5420, 5421, 7, 67, 2, 2, 5421, 5422, 7, 72, 2, 2, 5422, 5423, 7, 72, 2, 2, 5423, 5424, 7, 75, 2, 2, 5424, 5425, 7, 80, 2, 2, 5425, 5426, 7, 75, 2, 2, 5426, 5427, 7, 86, 2, 2, 5427, 5428, 7, 91, 2, 2, 5428, 780, 3, 2, 2, 2, 5429, 5430, 7, 67, 2, 2, 5430, 5431, 7, 72, 2, 2, 5431, 5432, 7, 86, 2, 2, 5432, 5433, 7, 71, 2, 2, 5433, 5434, 7, 84, 2, 2, 5434, 782, 3, 2, 2, 2, 5435, 5436, 7, 67, 2, 2, 5436, 5437, 7, 73, 2, 2, 5437, 5438, 7, 73, 2, 2, 5438, 5439, 7, 84, 2, 2, 5439, 5440, 7, 71, 2, 2, 5440, 5441, 7, 73, 2, 2, 5441, 5442, 7, 67, 2, 2, 5442, 5443, 7, 86, 2, 2, 5443, 5444, 7, 71, 2, 2, 5444, 784, 3, 2, 2, 2, 5445, 5446, 7, 67, 2, 2, 5446, 5447, 7, 78, 2, 2, 5447, 5448, 7, 73, 2, 2, 5448, 5449, 7, 81, 2, 2, 5449, 5450, 7, 84, 2, 2, 5450, 5451, 7, 75, 2, 2, 5451, 5452, 7, 86, 2, 2, 5452, 5453, 7, 74, 2, 2, 5453, 5454, 7, 79, 2, 2, 5454, 786, 3, 2, 2, 2, 5455, 5456, 7, 67, 2, 2, 5456, 5457, 7, 78, 2, 2, 5457, 5458, 7, 78, 2, 2, 5458, 5459, 7, 81, 2, 2, 5459, 5460, 7, 89, 2, 2, 5460, 5461, 7, 97, 2, 2, 5461, 5462, 7, 71, 2, 2, 5462, 5463, 7, 80, 2, 2, 5463, 5464, 7, 69, 2, 2, 5464, 5465, 7, 84, 2, 2, 5465, 5466, 7, 91, 2, 2, 5466, 5467, 7, 82, 2, 2, 5467, 5468, 7, 86, 2, 2, 5468, 5469, 7, 71, 2, 2, 5469, 5470, 7, 70, 2, 2, 5470, 5471, 7, 97, 2, 2, 5471, 5472, 7, 88, 2, 2, 5472, 5473, 7, 67, 2, 2, 5473, 5474, 7, 78, 2, 2, 5474, 5475, 7, 87, 2, 2, 5475, 5476, 7, 71, 2, 2, 5476, 5477, 7, 97, 2, 2, 5477, 5478, 7, 79, 2, 2, 5478, 5479, 7, 81, 2, 2, 5479, 5480, 7, 70, 2, 2, 5480, 5481, 7, 75, 2, 2, 5481, 5482, 7, 72, 2, 2, 5482, 5483, 7, 75, 2, 2, 5483, 5484, 7, 69, 2, 2, 5484, 5485, 7, 67, 2, 2, 5485, 5486, 7, 86, 2, 2, 5486, 5487, 7, 75, 2, 2, 5487, 5488, 7, 81, 2, 2, 5488, 5489, 7, 80, 2, 2, 5489, 5490, 7, 85, 2, 2, 5490, 788, 3, 2, 2, 2, 5491, 5492, 7, 67, 2, 2, 5492, 5493, 7, 78, 2, 2, 5493, 5494, 7, 78, 2, 2, 5494, 5495, 7, 81, 2, 2, 5495, 5496, 7, 89, 2, 2, 5496, 5497, 7, 97, 2, 2, 5497, 5498, 7, 85, 2, 2, 5498, 5499, 7, 80, 2, 2, 5499, 5500, 7, 67, 2, 2, 5500, 5501, 7, 82, 2, 2, 5501, 5502, 7, 85, 2, 2, 5502, 5503, 7, 74, 2, 2, 5503, 5504, 7, 81, 2, 2, 5504, 5505, 7, 86, 2, 2, 5505, 5506, 7, 97, 2, 2, 5506, 5507, 7, 75, 2, 2, 5507, 5508, 7, 85, 2, 2, 5508, 5509, 7, 81, 2, 2, 5509, 5510, 7, 78, 2, 2, 5510, 5511, 7, 67, 2, 2, 5511, 5512, 7, 86, 2, 2, 5512, 5513, 7, 75, 2, 2, 5513, 5514, 7, 81, 2, 2, 5514, 5515, 7, 80, 2, 2, 5515, 790, 3, 2, 2, 2, 5516, 5517, 7, 67, 2, 2, 5517, 5518, 7, 78, 2, 2, 5518, 5519, 7, 78, 2, 2, 5519, 5520, 7, 81, 2, 2, 5520, 5521, 7, 89, 2, 2, 5521, 5522, 7, 71, 2, 2, 5522, 5523, 7, 70, 2, 2, 5523, 792, 3, 2, 2, 2, 5524, 5525, 7, 67, 2, 2, 5525, 5526, 7, 80, 2, 2, 5526, 5527, 7, 85, 2, 2, 5527, 5528, 7, 75, 2, 2, 5528, 5529, 7, 97, 2, 2, 5529, 5530, 7, 80, 2, 2, 5530, 5531, 7, 87, 2, 2, 5531, 5532, 7, 78, 2, 2, 5532, 5533, 7, 78, 2, 2, 5533, 5534, 7, 97, 2, 2, 5534, 5535, 7, 70, 2, 2, 5535, 5536, 7, 71, 2, 2, 5536, 5537, 7, 72, 2, 2, 5537, 5538, 7, 67, 2, 2, 5538, 5539, 7, 87, 2, 2, 5539, 5540, 7, 78, 2, 2, 5540, 5541, 7, 86, 2, 2, 5541, 794, 3, 2, 2, 2, 5542, 5543, 7, 67, 2, 2, 5543, 5544, 7, 80, 2, 2, 5544, 5545, 7, 85, 2, 2, 5545, 5546, 7, 75, 2, 2, 5546, 5547, 7, 97, 2, 2, 5547, 5548, 7, 80, 2, 2, 5548, 5549, 7, 87, 2, 2, 5549, 5550, 7, 78, 2, 2, 5550, 5551, 7, 78, 2, 2, 5551, 5552, 7, 85, 2, 2, 5552, 796, 3, 2, 2, 2, 5553, 5554, 7, 67, 2, 2, 5554, 5555, 7, 80, 2, 2, 5555, 5556, 7, 85, 2, 2, 5556, 5557, 7, 75, 2, 2, 5557, 5558, 7, 97, 2, 2, 5558, 5559, 7, 82, 2, 2, 5559, 5560, 7, 67, 2, 2, 5560, 5561, 7, 70, 2, 2, 5561, 5562, 7, 70, 2, 2, 5562, 5563, 7, 75, 2, 2, 5563, 5564, 7, 80, 2, 2, 5564, 5565, 7, 73, 2, 2, 5565, 798, 3, 2, 2, 2, 5566, 5567, 7, 67, 2, 2, 5567, 5568, 7, 80, 2, 2, 5568, 5569, 7, 85, 2, 2, 5569, 5570, 7, 75, 2, 2, 5570, 5571, 7, 97, 2, 2, 5571, 5572, 7, 89, 2, 2, 5572, 5573, 7, 67, 2, 2, 5573, 5574, 7, 84, 2, 2, 5574, 5575, 7, 80, 2, 2, 5575, 5576, 7, 75, 2, 2, 5576, 5577, 7, 80, 2, 2, 5577, 5578, 7, 73, 2, 2, 5578, 5579, 7, 85, 2, 2, 5579, 800, 3, 2, 2, 2, 5580, 5581, 7, 67, 2, 2, 5581, 5582, 7, 82, 2, 2, 5582, 5583, 7, 82, 2, 2, 5583, 5584, 7, 78, 2, 2, 5584, 5585, 7, 75, 2, 2, 5585, 5586, 7, 69, 2, 2, 5586, 5587, 7, 67, 2, 2, 5587, 5588, 7, 86, 2, 2, 5588, 5589, 7, 75, 2, 2, 5589, 5590, 7, 81, 2, 2, 5590, 5591, 7, 80, 2, 2, 5591, 5592, 7, 97, 2, 2, 5592, 5593, 7, 78, 2, 2, 5593, 5594, 7, 81, 2, 2, 5594, 5595, 7, 73, 2, 2, 5595, 802, 3, 2, 2, 2, 5596, 5597, 7, 67, 2, 2, 5597, 5598, 7, 82, 2, 2, 5598, 5599, 7, 82, 2, 2, 5599, 5600, 7, 78, 2, 2, 5600, 5601, 7, 91, 2, 2, 5601, 804, 3, 2, 2, 2, 5602, 5603, 7, 67, 2, 2, 5603, 5604, 7, 84, 2, 2, 5604, 5605, 7, 75, 2, 2, 5605, 5606, 7, 86, 2, 2, 5606, 5607, 7, 74, 2, 2, 5607, 5608, 7, 67, 2, 2, 5608, 5609, 7, 68, 2, 2, 5609, 5610, 7, 81, 2, 2, 5610, 5611, 7, 84, 2, 2, 5611, 5612, 7, 86, 2, 2, 5612, 806, 3, 2, 2, 2, 5613, 5614, 7, 67, 2, 2, 5614, 5615, 7, 85, 2, 2, 5615, 5616, 7, 85, 2, 2, 5616, 5617, 7, 71, 2, 2, 5617, 5618, 7, 79, 2, 2, 5618, 5619, 7, 68, 2, 2, 5619, 5620, 7, 78, 2, 2, 5620, 5621, 7, 91, 2, 2, 5621, 808, 3, 2, 2, 2, 5622, 5623, 7, 67, 2, 2, 5623, 5624, 7, 87, 2, 2, 5624, 5625, 7, 70, 2, 2, 5625, 5626, 7, 75, 2, 2, 5626, 5627, 7, 86, 2, 2, 5627, 810, 3, 2, 2, 2, 5628, 5629, 7, 67, 2, 2, 5629, 5630, 7, 87, 2, 2, 5630, 5631, 7, 70, 2, 2, 5631, 5632, 7, 75, 2, 2, 5632, 5633, 7, 86, 2, 2, 5633, 5634, 7, 97, 2, 2, 5634, 5635, 7, 73, 2, 2, 5635, 5636, 7, 87, 2, 2, 5636, 5637, 7, 75, 2, 2, 5637, 5638, 7, 70, 2, 2, 5638, 812, 3, 2, 2, 2, 5639, 5640, 7, 67, 2, 2, 5640, 5641, 7, 87, 2, 2, 5641, 5642, 7, 86, 2, 2, 5642, 5643, 7, 81, 2, 2, 5643, 814, 3, 2, 2, 2, 5644, 5645, 7, 67, 2, 2, 5645, 5646, 7, 87, 2, 2, 5646, 5647, 7, 86, 2, 2, 5647, 5648, 7, 81, 2, 2, 5648, 5649, 7, 97, 2, 2, 5649, 5650, 7, 69, 2, 2, 5650, 5651, 7, 78, 2, 2, 5651, 5652, 7, 71, 2, 2, 5652, 5653, 7, 67, 2, 2, 5653, 5654, 7, 80, 2, 2, 5654, 5655, 7, 87, 2, 2, 5655, 5656, 7, 82, 2, 2, 5656, 816, 3, 2, 2, 2, 5657, 5658, 7, 67, 2, 2, 5658, 5659, 7, 87, 2, 2, 5659, 5660, 7, 86, 2, 2, 5660, 5661, 7, 81, 2, 2, 5661, 5662, 7, 97, 2, 2, 5662, 5663, 7, 69, 2, 2, 5663, 5664, 7, 78, 2, 2, 5664, 5665, 7, 81, 2, 2, 5665, 5666, 7, 85, 2, 2, 5666, 5667, 7, 71, 2, 2, 5667, 818, 3, 2, 2, 2, 5668, 5669, 7, 67, 2, 2, 5669, 5670, 7, 87, 2, 2, 5670, 5671, 7, 86, 2, 2, 5671, 5672, 7, 81, 2, 2, 5672, 5673, 7, 97, 2, 2, 5673, 5674, 7, 69, 2, 2, 5674, 5675, 7, 84, 2, 2, 5675, 5676, 7, 71, 2, 2, 5676, 5677, 7, 67, 2, 2, 5677, 5678, 7, 86, 2, 2, 5678, 5679, 7, 71, 2, 2, 5679, 5680, 7, 97, 2, 2, 5680, 5681, 7, 85, 2, 2, 5681, 5682, 7, 86, 2, 2, 5682, 5683, 7, 67, 2, 2, 5683, 5684, 7, 86, 2, 2, 5684, 5685, 7, 75, 2, 2, 5685, 5686, 7, 85, 2, 2, 5686, 5687, 7, 86, 2, 2, 5687, 5688, 7, 75, 2, 2, 5688, 5689, 7, 69, 2, 2, 5689, 5690, 7, 85, 2, 2, 5690, 820, 3, 2, 2, 2, 5691, 5692, 7, 67, 2, 2, 5692, 5693, 7, 87, 2, 2, 5693, 5694, 7, 86, 2, 2, 5694, 5695, 7, 81, 2, 2, 5695, 5696, 7, 97, 2, 2, 5696, 5697, 7, 85, 2, 2, 5697, 5698, 7, 74, 2, 2, 5698, 5699, 7, 84, 2, 2, 5699, 5700, 7, 75, 2, 2, 5700, 5701, 7, 80, 2, 2, 5701, 5702, 7, 77, 2, 2, 5702, 822, 3, 2, 2, 2, 5703, 5704, 7, 67, 2, 2, 5704, 5705, 7, 87, 2, 2, 5705, 5706, 7, 86, 2, 2, 5706, 5707, 7, 81, 2, 2, 5707, 5708, 7, 97, 2, 2, 5708, 5709, 7, 87, 2, 2, 5709, 5710, 7, 82, 2, 2, 5710, 5711, 7, 70, 2, 2, 5711, 5712, 7, 67, 2, 2, 5712, 5713, 7, 86, 2, 2, 5713, 5714, 7, 71, 2, 2, 5714, 5715, 7, 97, 2, 2, 5715, 5716, 7, 85, 2, 2, 5716, 5717, 7, 86, 2, 2, 5717, 5718, 7, 67, 2, 2, 5718, 5719, 7, 86, 2, 2, 5719, 5720, 7, 75, 2, 2, 5720, 5721, 7, 85, 2, 2, 5721, 5722, 7, 86, 2, 2, 5722, 5723, 7, 75, 2, 2, 5723, 5724, 7, 69, 2, 2, 5724, 5725, 7, 85, 2, 2, 5725, 824, 3, 2, 2, 2, 5726, 5727, 7, 67, 2, 2, 5727, 5728, 7, 87, 2, 2, 5728, 5729, 7, 86, 2, 2, 5729, 5730, 7, 81, 2, 2, 5730, 5731, 7, 97, 2, 2, 5731, 5732, 7, 87, 2, 2, 5732, 5733, 7, 82, 2, 2, 5733, 5734, 7, 70, 2, 2, 5734, 5735, 7, 67, 2, 2, 5735, 5736, 7, 86, 2, 2, 5736, 5737, 7, 71, 2, 2, 5737, 5738, 7, 97, 2, 2, 5738, 5739, 7, 85, 2, 2, 5739, 5740, 7, 86, 2, 2, 5740, 5741, 7, 67, 2, 2, 5741, 5742, 7, 86, 2, 2, 5742, 5743, 7, 75, 2, 2, 5743, 5744, 7, 85, 2, 2, 5744, 5745, 7, 86, 2, 2, 5745, 5746, 7, 75, 2, 2, 5746, 5747, 7, 69, 2, 2, 5747, 5748, 7, 85, 2, 2, 5748, 5749, 7, 97, 2, 2, 5749, 5750, 7, 67, 2, 2, 5750, 5751, 7, 85, 2, 2, 5751, 5752, 7, 91, 2, 2, 5752, 5753, 7, 80, 2, 2, 5753, 5754, 7, 69, 2, 2, 5754, 826, 3, 2, 2, 2, 5755, 5756, 7, 67, 2, 2, 5756, 5757, 7, 88, 2, 2, 5757, 5758, 7, 67, 2, 2, 5758, 5759, 7, 75, 2, 2, 5759, 5760, 7, 78, 2, 2, 5760, 5761, 7, 67, 2, 2, 5761, 5762, 7, 68, 2, 2, 5762, 5763, 7, 75, 2, 2, 5763, 5764, 7, 78, 2, 2, 5764, 5765, 7, 75, 2, 2, 5765, 5766, 7, 86, 2, 2, 5766, 5767, 7, 91, 2, 2, 5767, 828, 3, 2, 2, 2, 5768, 5769, 7, 67, 2, 2, 5769, 5770, 7, 88, 2, 2, 5770, 5771, 7, 73, 2, 2, 5771, 830, 3, 2, 2, 2, 5772, 5773, 7, 68, 2, 2, 5773, 5774, 7, 67, 2, 2, 5774, 5775, 7, 69, 2, 2, 5775, 5776, 7, 77, 2, 2, 5776, 5777, 7, 87, 2, 2, 5777, 5778, 7, 82, 2, 2, 5778, 5779, 7, 97, 2, 2, 5779, 5780, 7, 82, 2, 2, 5780, 5781, 7, 84, 2, 2, 5781, 5782, 7, 75, 2, 2, 5782, 5783, 7, 81, 2, 2, 5783, 5784, 7, 84, 2, 2, 5784, 5785, 7, 75, 2, 2, 5785, 5786, 7, 86, 2, 2, 5786, 5787, 7, 91, 2, 2, 5787, 832, 3, 2, 2, 2, 5788, 5789, 7, 68, 2, 2, 5789, 5790, 7, 71, 2, 2, 5790, 5791, 7, 73, 2, 2, 5791, 5792, 7, 75, 2, 2, 5792, 5793, 7, 80, 2, 2, 5793, 5794, 7, 97, 2, 2, 5794, 5795, 7, 70, 2, 2, 5795, 5796, 7, 75, 2, 2, 5796, 5797, 7, 67, 2, 2, 5797, 5798, 7, 78, 2, 2, 5798, 5799, 7, 81, 2, 2, 5799, 5800, 7, 73, 2, 2, 5800, 834, 3, 2, 2, 2, 5801, 5802, 7, 68, 2, 2, 5802, 5803, 7, 75, 2, 2, 5803, 5804, 7, 73, 2, 2, 5804, 5805, 7, 75, 2, 2, 5805, 5806, 7, 80, 2, 2, 5806, 5807, 7, 86, 2, 2, 5807, 836, 3, 2, 2, 2, 5808, 5809, 7, 68, 2, 2, 5809, 5810, 7, 75, 2, 2, 5810, 5811, 7, 80, 2, 2, 5811, 5812, 7, 67, 2, 2, 5812, 5813, 7, 84, 2, 2, 5813, 5814, 7, 91, 2, 2, 5814, 5815, 7, 34, 2, 2, 5815, 5816, 7, 68, 2, 2, 5816, 5817, 7, 67, 2, 2, 5817, 5818, 7, 85, 2, 2, 5818, 5819, 7, 71, 2, 2, 5819, 5820, 7, 56, 2, 2, 5820, 5821, 7, 54, 2, 2, 5821, 838, 3, 2, 2, 2, 5822, 5823, 7, 68, 2, 2, 5823, 5824, 7, 75, 2, 2, 5824, 5825, 7, 80, 2, 2, 5825, 5826, 7, 67, 2, 2, 5826, 5827, 7, 84, 2, 2, 5827, 5828, 7, 91, 2, 2, 5828, 5829, 7, 97, 2, 2, 5829, 5830, 7, 69, 2, 2, 5830, 5831, 7, 74, 2, 2, 5831, 5832, 7, 71, 2, 2, 5832, 5833, 7, 69, 2, 2, 5833, 5834, 7, 77, 2, 2, 5834, 5835, 7, 85, 2, 2, 5835, 5836, 7, 87, 2, 2, 5836, 5837, 7, 79, 2, 2, 5837, 840, 3, 2, 2, 2, 5838, 5839, 7, 68, 2, 2, 5839, 5840, 7, 75, 2, 2, 5840, 5841, 7, 80, 2, 2, 5841, 5842, 7, 70, 2, 2, 5842, 5843, 7, 75, 2, 2, 5843, 5844, 7, 80, 2, 2, 5844, 5845, 7, 73, 2, 2, 5845, 842, 3, 2, 2, 2, 5846, 5847, 7, 68, 2, 2, 5847, 5848, 7, 78, 2, 2, 5848, 5849, 7, 81, 2, 2, 5849, 5850, 7, 68, 2, 2, 5850, 5851, 7, 97, 2, 2, 5851, 5852, 7, 85, 2, 2, 5852, 5853, 7, 86, 2, 2, 5853, 5854, 7, 81, 2, 2, 5854, 5855, 7, 84, 2, 2, 5855, 5856, 7, 67, 2, 2, 5856, 5857, 7, 73, 2, 2, 5857, 5858, 7, 71, 2, 2, 5858, 844, 3, 2, 2, 2, 5859, 5860, 7, 68, 2, 2, 5860, 5861, 7, 84, 2, 2, 5861, 5862, 7, 81, 2, 2, 5862, 5863, 7, 77, 2, 2, 5863, 5864, 7, 71, 2, 2, 5864, 5865, 7, 84, 2, 2, 5865, 846, 3, 2, 2, 2, 5866, 5867, 7, 68, 2, 2, 5867, 5868, 7, 84, 2, 2, 5868, 5869, 7, 81, 2, 2, 5869, 5870, 7, 77, 2, 2, 5870, 5871, 7, 71, 2, 2, 5871, 5872, 7, 84, 2, 2, 5872, 5873, 7, 97, 2, 2, 5873, 5874, 7, 75, 2, 2, 5874, 5875, 7, 80, 2, 2, 5875, 5876, 7, 85, 2, 2, 5876, 5877, 7, 86, 2, 2, 5877, 5878, 7, 67, 2, 2, 5878, 5879, 7, 80, 2, 2, 5879, 5880, 7, 69, 2, 2, 5880, 5881, 7, 71, 2, 2, 5881, 848, 3, 2, 2, 2, 5882, 5883, 7, 68, 2, 2, 5883, 5884, 7, 87, 2, 2, 5884, 5885, 7, 78, 2, 2, 5885, 5886, 7, 77, 2, 2, 5886, 5887, 7, 97, 2, 2, 5887, 5888, 7, 78, 2, 2, 5888, 5889, 7, 81, 2, 2, 5889, 5890, 7, 73, 2, 2, 5890, 5891, 7, 73, 2, 2, 5891, 5892, 7, 71, 2, 2, 5892, 5893, 7, 70, 2, 2, 5893, 850, 3, 2, 2, 2, 5894, 5895, 7, 69, 2, 2, 5895, 5896, 7, 67, 2, 2, 5896, 5897, 7, 78, 2, 2, 5897, 5898, 7, 78, 2, 2, 5898, 5899, 7, 71, 2, 2, 5899, 5900, 7, 84, 2, 2, 5900, 852, 3, 2, 2, 2, 5901, 5902, 7, 69, 2, 2, 5902, 5903, 7, 67, 2, 2, 5903, 5904, 7, 82, 2, 2, 5904, 5905, 7, 97, 2, 2, 5905, 5906, 7, 69, 2, 2, 5906, 5907, 7, 82, 2, 2, 5907, 5908, 7, 87, 2, 2, 5908, 5909, 7, 97, 2, 2, 5909, 5910, 7, 82, 2, 2, 5910, 5911, 7, 71, 2, 2, 5911, 5912, 7, 84, 2, 2, 5912, 5913, 7, 69, 2, 2, 5913, 5914, 7, 71, 2, 2, 5914, 5915, 7, 80, 2, 2, 5915, 5916, 7, 86, 2, 2, 5916, 854, 3, 2, 2, 2, 5917, 5918, 7, 86, 2, 2, 5918, 5919, 7, 84, 2, 2, 5919, 5920, 7, 91, 2, 2, 5920, 5922, 7, 97, 2, 2, 5921, 5917, 3, 2, 2, 2, 5921, 5922, 3, 2, 2, 2, 5922, 5923, 3, 2, 2, 2, 5923, 5924, 7, 69, 2, 2, 5924, 5925, 7, 67, 2, 2, 5925, 5926, 7, 85, 2, 2, 5926, 5927, 7, 86, 2, 2, 5927, 856, 3, 2, 2, 2, 5928, 5929, 7, 69, 2, 2, 5929, 5930, 7, 67, 2, 2, 5930, 5931, 7, 86, 2, 2, 5931, 5932, 7, 67, 2, 2, 5932, 5933, 7, 78, 2, 2, 5933, 5934, 7, 81, 2, 2, 5934, 5935, 7, 73, 2, 2, 5935, 858, 3, 2, 2, 2, 5936, 5937, 7, 69, 2, 2, 5937, 5938, 7, 67, 2, 2, 5938, 5939, 7, 86, 2, 2, 5939, 5940, 7, 69, 2, 2, 5940, 5941, 7, 74, 2, 2, 5941, 860, 3, 2, 2, 2, 5942, 5943, 7, 69, 2, 2, 5943, 5944, 7, 74, 2, 2, 5944, 5945, 7, 67, 2, 2, 5945, 5946, 7, 80, 2, 2, 5946, 5947, 7, 73, 2, 2, 5947, 5948, 7, 71, 2, 2, 5948, 5949, 7, 97, 2, 2, 5949, 5950, 7, 84, 2, 2, 5950, 5951, 7, 71, 2, 2, 5951, 5952, 7, 86, 2, 2, 5952, 5953, 7, 71, 2, 2, 5953, 5954, 7, 80, 2, 2, 5954, 5955, 7, 86, 2, 2, 5955, 5956, 7, 75, 2, 2, 5956, 5957, 7, 81, 2, 2, 5957, 5958, 7, 80, 2, 2, 5958, 862, 3, 2, 2, 2, 5959, 5960, 7, 69, 2, 2, 5960, 5961, 7, 74, 2, 2, 5961, 5962, 7, 67, 2, 2, 5962, 5963, 7, 80, 2, 2, 5963, 5964, 7, 73, 2, 2, 5964, 5965, 7, 71, 2, 2, 5965, 5966, 7, 97, 2, 2, 5966, 5967, 7, 86, 2, 2, 5967, 5968, 7, 84, 2, 2, 5968, 5969, 7, 67, 2, 2, 5969, 5970, 7, 69, 2, 2, 5970, 5971, 7, 77, 2, 2, 5971, 5972, 7, 75, 2, 2, 5972, 5973, 7, 80, 2, 2, 5973, 5974, 7, 73, 2, 2, 5974, 864, 3, 2, 2, 2, 5975, 5976, 7, 69, 2, 2, 5976, 5977, 7, 74, 2, 2, 5977, 5978, 7, 71, 2, 2, 5978, 5979, 7, 69, 2, 2, 5979, 5980, 7, 77, 2, 2, 5980, 5981, 7, 85, 2, 2, 5981, 5982, 7, 87, 2, 2, 5982, 5983, 7, 79, 2, 2, 5983, 866, 3, 2, 2, 2, 5984, 5985, 7, 69, 2, 2, 5985, 5986, 7, 74, 2, 2, 5986, 5987, 7, 71, 2, 2, 5987, 5988, 7, 69, 2, 2, 5988, 5989, 7, 77, 2, 2, 5989, 5990, 7, 85, 2, 2, 5990, 5991, 7, 87, 2, 2, 5991, 5992, 7, 79, 2, 2, 5992, 5993, 7, 97, 2, 2, 5993, 5994, 7, 67, 2, 2, 5994, 5995, 7, 73, 2, 2, 5995, 5996, 7, 73, 2, 2, 5996, 868, 3, 2, 2, 2, 5997, 5998, 7, 69, 2, 2, 5998, 5999, 7, 78, 2, 2, 5999, 6000, 7, 71, 2, 2, 6000, 6001, 7, 67, 2, 2, 6001, 6002, 7, 80, 2, 2, 6002, 6003, 7, 87, 2, 2, 6003, 6004, 7, 82, 2, 2, 6004, 870, 3, 2, 2, 2, 6005, 6006, 7, 69, 2, 2, 6006, 6007, 7, 81, 2, 2, 6007, 6008, 7, 78, 2, 2, 6008, 6009, 7, 78, 2, 2, 6009, 6010, 7, 71, 2, 2, 6010, 6011, 7, 69, 2, 2, 6011, 6012, 7, 86, 2, 2, 6012, 6013, 7, 75, 2, 2, 6013, 6014, 7, 81, 2, 2, 6014, 6015, 7, 80, 2, 2, 6015, 872, 3, 2, 2, 2, 6016, 6017, 7, 69, 2, 2, 6017, 6018, 7, 81, 2, 2, 6018, 6019, 7, 78, 2, 2, 6019, 6020, 7, 87, 2, 2, 6020, 6021, 7, 79, 2, 2, 6021, 6022, 7, 80, 2, 2, 6022, 6023, 7, 97, 2, 2, 6023, 6024, 7, 79, 2, 2, 6024, 6025, 7, 67, 2, 2, 6025, 6026, 7, 85, 2, 2, 6026, 6027, 7, 86, 2, 2, 6027, 6028, 7, 71, 2, 2, 6028, 6029, 7, 84, 2, 2, 6029, 6030, 7, 97, 2, 2, 6030, 6031, 7, 77, 2, 2, 6031, 6032, 7, 71, 2, 2, 6032, 6033, 7, 91, 2, 2, 6033, 874, 3, 2, 2, 2, 6034, 6035, 7, 69, 2, 2, 6035, 6036, 7, 81, 2, 2, 6036, 6037, 7, 79, 2, 2, 6037, 6038, 7, 79, 2, 2, 6038, 6039, 7, 75, 2, 2, 6039, 6040, 7, 86, 2, 2, 6040, 6041, 7, 86, 2, 2, 6041, 6042, 7, 71, 2, 2, 6042, 6043, 7, 70, 2, 2, 6043, 876, 3, 2, 2, 2, 6044, 6045, 7, 69, 2, 2, 6045, 6046, 7, 81, 2, 2, 6046, 6047, 7, 79, 2, 2, 6047, 6048, 7, 82, 2, 2, 6048, 6049, 7, 67, 2, 2, 6049, 6050, 7, 86, 2, 2, 6050, 6051, 7, 75, 2, 2, 6051, 6052, 7, 68, 2, 2, 6052, 6053, 7, 75, 2, 2, 6053, 6054, 7, 78, 2, 2, 6054, 6055, 7, 75, 2, 2, 6055, 6056, 7, 86, 2, 2, 6056, 6057, 7, 91, 2, 2, 6057, 6058, 7, 97, 2, 2, 6058, 6059, 7, 78, 2, 2, 6059, 6060, 7, 71, 2, 2, 6060, 6061, 7, 88, 2, 2, 6061, 6062, 7, 71, 2, 2, 6062, 6063, 7, 78, 2, 2, 6063, 878, 3, 2, 2, 2, 6064, 6065, 7, 69, 2, 2, 6065, 6066, 7, 81, 2, 2, 6066, 6067, 7, 80, 2, 2, 6067, 6068, 7, 69, 2, 2, 6068, 6069, 7, 67, 2, 2, 6069, 6070, 7, 86, 2, 2, 6070, 880, 3, 2, 2, 2, 6071, 6072, 7, 69, 2, 2, 6072, 6073, 7, 81, 2, 2, 6073, 6074, 7, 80, 2, 2, 6074, 6075, 7, 69, 2, 2, 6075, 6076, 7, 67, 2, 2, 6076, 6077, 7, 86, 2, 2, 6077, 6078, 7, 97, 2, 2, 6078, 6079, 7, 80, 2, 2, 6079, 6080, 7, 87, 2, 2, 6080, 6081, 7, 78, 2, 2, 6081, 6082, 7, 78, 2, 2, 6082, 6083, 7, 97, 2, 2, 6083, 6084, 7, 91, 2, 2, 6084, 6085, 7, 75, 2, 2, 6085, 6086, 7, 71, 2, 2, 6086, 6087, 7, 78, 2, 2, 6087, 6088, 7, 70, 2, 2, 6088, 6089, 7, 85, 2, 2, 6089, 6090, 7, 97, 2, 2, 6090, 6091, 7, 80, 2, 2, 6091, 6092, 7, 87, 2, 2, 6092, 6093, 7, 78, 2, 2, 6093, 6094, 7, 78, 2, 2, 6094, 882, 3, 2, 2, 2, 6095, 6096, 7, 69, 2, 2, 6096, 6097, 7, 81, 2, 2, 6097, 6098, 7, 80, 2, 2, 6098, 6099, 7, 86, 2, 2, 6099, 6100, 7, 71, 2, 2, 6100, 6101, 7, 80, 2, 2, 6101, 6102, 7, 86, 2, 2, 6102, 884, 3, 2, 2, 2, 6103, 6104, 7, 69, 2, 2, 6104, 6105, 7, 81, 2, 2, 6105, 6106, 7, 80, 2, 2, 6106, 6107, 7, 86, 2, 2, 6107, 6108, 7, 84, 2, 2, 6108, 6109, 7, 81, 2, 2, 6109, 6110, 7, 78, 2, 2, 6110, 886, 3, 2, 2, 2, 6111, 6112, 7, 69, 2, 2, 6112, 6113, 7, 81, 2, 2, 6113, 6114, 7, 81, 2, 2, 6114, 6115, 7, 77, 2, 2, 6115, 6116, 7, 75, 2, 2, 6116, 6117, 7, 71, 2, 2, 6117, 888, 3, 2, 2, 2, 6118, 6119, 7, 69, 2, 2, 6119, 6120, 7, 81, 2, 2, 6120, 6121, 7, 87, 2, 2, 6121, 6122, 7, 80, 2, 2, 6122, 6123, 7, 86, 2, 2, 6123, 890, 3, 2, 2, 2, 6124, 6125, 7, 69, 2, 2, 6125, 6126, 7, 81, 2, 2, 6126, 6127, 7, 87, 2, 2, 6127, 6128, 7, 80, 2, 2, 6128, 6129, 7, 86, 2, 2, 6129, 6130, 7, 97, 2, 2, 6130, 6131, 7, 68, 2, 2, 6131, 6132, 7, 75, 2, 2, 6132, 6133, 7, 73, 2, 2, 6133, 892, 3, 2, 2, 2, 6134, 6135, 7, 69, 2, 2, 6135, 6136, 7, 81, 2, 2, 6136, 6137, 7, 87, 2, 2, 6137, 6138, 7, 80, 2, 2, 6138, 6139, 7, 86, 2, 2, 6139, 6140, 7, 71, 2, 2, 6140, 6141, 7, 84, 2, 2, 6141, 894, 3, 2, 2, 2, 6142, 6143, 7, 69, 2, 2, 6143, 6144, 7, 82, 2, 2, 6144, 6145, 7, 87, 2, 2, 6145, 896, 3, 2, 2, 2, 6146, 6147, 7, 69, 2, 2, 6147, 6148, 7, 84, 2, 2, 6148, 6149, 7, 71, 2, 2, 6149, 6150, 7, 67, 2, 2, 6150, 6151, 7, 86, 2, 2, 6151, 6152, 7, 71, 2, 2, 6152, 6153, 7, 97, 2, 2, 6153, 6154, 7, 80, 2, 2, 6154, 6155, 7, 71, 2, 2, 6155, 6156, 7, 89, 2, 2, 6156, 898, 3, 2, 2, 2, 6157, 6158, 7, 69, 2, 2, 6158, 6159, 7, 84, 2, 2, 6159, 6160, 7, 71, 2, 2, 6160, 6161, 7, 67, 2, 2, 6161, 6162, 7, 86, 2, 2, 6162, 6163, 7, 75, 2, 2, 6163, 6164, 7, 81, 2, 2, 6164, 6165, 7, 80, 2, 2, 6165, 6166, 7, 97, 2, 2, 6166, 6167, 7, 70, 2, 2, 6167, 6168, 7, 75, 2, 2, 6168, 6169, 7, 85, 2, 2, 6169, 6170, 7, 82, 2, 2, 6170, 6171, 7, 81, 2, 2, 6171, 6172, 7, 85, 2, 2, 6172, 6173, 7, 75, 2, 2, 6173, 6174, 7, 86, 2, 2, 6174, 6175, 7, 75, 2, 2, 6175, 6176, 7, 81, 2, 2, 6176, 6177, 7, 80, 2, 2, 6177, 900, 3, 2, 2, 2, 6178, 6179, 7, 69, 2, 2, 6179, 6180, 7, 84, 2, 2, 6180, 6181, 7, 71, 2, 2, 6181, 6182, 7, 70, 2, 2, 6182, 6183, 7, 71, 2, 2, 6183, 6184, 7, 80, 2, 2, 6184, 6185, 7, 86, 2, 2, 6185, 6186, 7, 75, 2, 2, 6186, 6187, 7, 67, 2, 2, 6187, 6188, 7, 78, 2, 2, 6188, 902, 3, 2, 2, 2, 6189, 6190, 7, 69, 2, 2, 6190, 6191, 7, 84, 2, 2, 6191, 6192, 7, 91, 2, 2, 6192, 6193, 7, 82, 2, 2, 6193, 6194, 7, 86, 2, 2, 6194, 6195, 7, 81, 2, 2, 6195, 6196, 7, 73, 2, 2, 6196, 6197, 7, 84, 2, 2, 6197, 6198, 7, 67, 2, 2, 6198, 6199, 7, 82, 2, 2, 6199, 6200, 7, 74, 2, 2, 6200, 6201, 7, 75, 2, 2, 6201, 6202, 7, 69, 2, 2, 6202, 904, 3, 2, 2, 2, 6203, 6204, 7, 69, 2, 2, 6204, 6205, 7, 87, 2, 2, 6205, 6206, 7, 84, 2, 2, 6206, 6207, 7, 85, 2, 2, 6207, 6208, 7, 81, 2, 2, 6208, 6209, 7, 84, 2, 2, 6209, 6210, 7, 97, 2, 2, 6210, 6211, 7, 69, 2, 2, 6211, 6212, 7, 78, 2, 2, 6212, 6213, 7, 81, 2, 2, 6213, 6214, 7, 85, 2, 2, 6214, 6215, 7, 71, 2, 2, 6215, 6216, 7, 97, 2, 2, 6216, 6217, 7, 81, 2, 2, 6217, 6218, 7, 80, 2, 2, 6218, 6219, 7, 97, 2, 2, 6219, 6220, 7, 69, 2, 2, 6220, 6221, 7, 81, 2, 2, 6221, 6222, 7, 79, 2, 2, 6222, 6223, 7, 79, 2, 2, 6223, 6224, 7, 75, 2, 2, 6224, 6225, 7, 86, 2, 2, 6225, 906, 3, 2, 2, 2, 6226, 6227, 7, 69, 2, 2, 6227, 6228, 7, 87, 2, 2, 6228, 6229, 7, 84, 2, 2, 6229, 6230, 7, 85, 2, 2, 6230, 6231, 7, 81, 2, 2, 6231, 6232, 7, 84, 2, 2, 6232, 6233, 7, 97, 2, 2, 6233, 6234, 7, 70, 2, 2, 6234, 6235, 7, 71, 2, 2, 6235, 6236, 7, 72, 2, 2, 6236, 6237, 7, 67, 2, 2, 6237, 6238, 7, 87, 2, 2, 6238, 6239, 7, 78, 2, 2, 6239, 6240, 7, 86, 2, 2, 6240, 908, 3, 2, 2, 2, 6241, 6242, 7, 70, 2, 2, 6242, 6243, 7, 67, 2, 2, 6243, 6244, 7, 86, 2, 2, 6244, 6245, 7, 67, 2, 2, 6245, 910, 3, 2, 2, 2, 6246, 6247, 7, 70, 2, 2, 6247, 6248, 7, 67, 2, 2, 6248, 6249, 7, 86, 2, 2, 6249, 6250, 7, 71, 2, 2, 6250, 6251, 7, 97, 2, 2, 6251, 6252, 7, 69, 2, 2, 6252, 6253, 7, 81, 2, 2, 6253, 6254, 7, 84, 2, 2, 6254, 6255, 7, 84, 2, 2, 6255, 6256, 7, 71, 2, 2, 6256, 6257, 7, 78, 2, 2, 6257, 6258, 7, 67, 2, 2, 6258, 6259, 7, 86, 2, 2, 6259, 6260, 7, 75, 2, 2, 6260, 6261, 7, 81, 2, 2, 6261, 6262, 7, 80, 2, 2, 6262, 6263, 7, 97, 2, 2, 6263, 6264, 7, 81, 2, 2, 6264, 6265, 7, 82, 2, 2, 6265, 6266, 7, 86, 2, 2, 6266, 6267, 7, 75, 2, 2, 6267, 6268, 7, 79, 2, 2, 6268, 6269, 7, 75, 2, 2, 6269, 6270, 7, 92, 2, 2, 6270, 6271, 7, 67, 2, 2, 6271, 6272, 7, 86, 2, 2, 6272, 6273, 7, 75, 2, 2, 6273, 6274, 7, 81, 2, 2, 6274, 6275, 7, 80, 2, 2, 6275, 912, 3, 2, 2, 2, 6276, 6277, 7, 70, 2, 2, 6277, 6278, 7, 67, 2, 2, 6278, 6279, 7, 86, 2, 2, 6279, 6280, 7, 71, 2, 2, 6280, 6281, 7, 67, 2, 2, 6281, 6282, 7, 70, 2, 2, 6282, 6283, 7, 70, 2, 2, 6283, 914, 3, 2, 2, 2, 6284, 6285, 7, 70, 2, 2, 6285, 6286, 7, 67, 2, 2, 6286, 6287, 7, 86, 2, 2, 6287, 6288, 7, 71, 2, 2, 6288, 6289, 7, 70, 2, 2, 6289, 6290, 7, 75, 2, 2, 6290, 6291, 7, 72, 2, 2, 6291, 6292, 7, 72, 2, 2, 6292, 916, 3, 2, 2, 2, 6293, 6294, 7, 70, 2, 2, 6294, 6295, 7, 67, 2, 2, 6295, 6296, 7, 86, 2, 2, 6296, 6297, 7, 71, 2, 2, 6297, 6298, 7, 80, 2, 2, 6298, 6299, 7, 67, 2, 2, 6299, 6300, 7, 79, 2, 2, 6300, 6301, 7, 71, 2, 2, 6301, 918, 3, 2, 2, 2, 6302, 6303, 7, 70, 2, 2, 6303, 6304, 7, 67, 2, 2, 6304, 6305, 7, 86, 2, 2, 6305, 6306, 7, 71, 2, 2, 6306, 6307, 7, 82, 2, 2, 6307, 6308, 7, 67, 2, 2, 6308, 6309, 7, 84, 2, 2, 6309, 6310, 7, 86, 2, 2, 6310, 920, 3, 2, 2, 2, 6311, 6312, 7, 70, 2, 2, 6312, 6313, 7, 67, 2, 2, 6313, 6314, 7, 91, 2, 2, 6314, 6315, 7, 85, 2, 2, 6315, 922, 3, 2, 2, 2, 6316, 6317, 7, 70, 2, 2, 6317, 6318, 7, 68, 2, 2, 6318, 6319, 7, 97, 2, 2, 6319, 6320, 7, 69, 2, 2, 6320, 6321, 7, 74, 2, 2, 6321, 6322, 7, 67, 2, 2, 6322, 6323, 7, 75, 2, 2, 6323, 6324, 7, 80, 2, 2, 6324, 6325, 7, 75, 2, 2, 6325, 6326, 7, 80, 2, 2, 6326, 6327, 7, 73, 2, 2, 6327, 924, 3, 2, 2, 2, 6328, 6329, 7, 70, 2, 2, 6329, 6330, 7, 68, 2, 2, 6330, 6331, 7, 97, 2, 2, 6331, 6332, 7, 72, 2, 2, 6332, 6333, 7, 67, 2, 2, 6333, 6334, 7, 75, 2, 2, 6334, 6335, 7, 78, 2, 2, 6335, 6336, 7, 81, 2, 2, 6336, 6337, 7, 88, 2, 2, 6337, 6338, 7, 71, 2, 2, 6338, 6339, 7, 84, 2, 2, 6339, 926, 3, 2, 2, 2, 6340, 6341, 7, 70, 2, 2, 6341, 6342, 7, 71, 2, 2, 6342, 6343, 7, 69, 2, 2, 6343, 6344, 7, 84, 2, 2, 6344, 6345, 7, 91, 2, 2, 6345, 6346, 7, 82, 2, 2, 6346, 6347, 7, 86, 2, 2, 6347, 6348, 7, 75, 2, 2, 6348, 6349, 7, 81, 2, 2, 6349, 6350, 7, 80, 2, 2, 6350, 928, 3, 2, 2, 2, 6351, 6352, 9, 5, 2, 2, 6352, 6353, 7, 70, 2, 2, 6353, 6354, 7, 71, 2, 2, 6354, 6355, 7, 72, 2, 2, 6355, 6356, 7, 67, 2, 2, 6356, 6357, 7, 87, 2, 2, 6357, 6358, 7, 78, 2, 2, 6358, 6359, 7, 86, 2, 2, 6359, 6360, 3, 2, 2, 2, 6360, 6361, 9, 5, 2, 2, 6361, 930, 3, 2, 2, 2, 6362, 6363, 7, 70, 2, 2, 6363, 6364, 7, 71, 2, 2, 6364, 6365, 7, 72, 2, 2, 6365, 6366, 7, 67, 2, 2, 6366, 6367, 7, 87, 2, 2, 6367, 6368, 7, 78, 2, 2, 6368, 6369, 7, 86, 2, 2, 6369, 6370, 7, 97, 2, 2, 6370, 6371, 7, 72, 2, 2, 6371, 6372, 7, 87, 2, 2, 6372, 6373, 7, 78, 2, 2, 6373, 6374, 7, 78, 2, 2, 6374, 6375, 7, 86, 2, 2, 6375, 6376, 7, 71, 2, 2, 6376, 6377, 7, 90, 2, 2, 6377, 6378, 7, 86, 2, 2, 6378, 6379, 7, 97, 2, 2, 6379, 6380, 7, 78, 2, 2, 6380, 6381, 7, 67, 2, 2, 6381, 6382, 7, 80, 2, 2, 6382, 6383, 7, 73, 2, 2, 6383, 6384, 7, 87, 2, 2, 6384, 6385, 7, 67, 2, 2, 6385, 6386, 7, 73, 2, 2, 6386, 6387, 7, 71, 2, 2, 6387, 932, 3, 2, 2, 2, 6388, 6389, 7, 70, 2, 2, 6389, 6390, 7, 71, 2, 2, 6390, 6391, 7, 72, 2, 2, 6391, 6392, 7, 67, 2, 2, 6392, 6393, 7, 87, 2, 2, 6393, 6394, 7, 78, 2, 2, 6394, 6395, 7, 86, 2, 2, 6395, 6396, 7, 97, 2, 2, 6396, 6397, 7, 78, 2, 2, 6397, 6398, 7, 67, 2, 2, 6398, 6399, 7, 80, 2, 2, 6399, 6400, 7, 73, 2, 2, 6400, 6401, 7, 87, 2, 2, 6401, 6402, 7, 67, 2, 2, 6402, 6403, 7, 73, 2, 2, 6403, 6404, 7, 71, 2, 2, 6404, 934, 3, 2, 2, 2, 6405, 6406, 7, 70, 2, 2, 6406, 6407, 7, 71, 2, 2, 6407, 6408, 7, 78, 2, 2, 6408, 6409, 7, 67, 2, 2, 6409, 6410, 7, 91, 2, 2, 6410, 936, 3, 2, 2, 2, 6411, 6412, 7, 70, 2, 2, 6412, 6413, 7, 71, 2, 2, 6413, 6414, 7, 78, 2, 2, 6414, 6415, 7, 67, 2, 2, 6415, 6416, 7, 91, 2, 2, 6416, 6417, 7, 71, 2, 2, 6417, 6418, 7, 70, 2, 2, 6418, 6419, 7, 97, 2, 2, 6419, 6420, 7, 70, 2, 2, 6420, 6421, 7, 87, 2, 2, 6421, 6422, 7, 84, 2, 2, 6422, 6423, 7, 67, 2, 2, 6423, 6424, 7, 68, 2, 2, 6424, 6425, 7, 75, 2, 2, 6425, 6426, 7, 78, 2, 2, 6426, 6427, 7, 75, 2, 2, 6427, 6428, 7, 86, 2, 2, 6428, 6429, 7, 91, 2, 2, 6429, 938, 3, 2, 2, 2, 6430, 6431, 7, 70, 2, 2, 6431, 6432, 7, 71, 2, 2, 6432, 6433, 7, 78, 2, 2, 6433, 6434, 7, 71, 2, 2, 6434, 6435, 7, 86, 2, 2, 6435, 6436, 7, 71, 2, 2, 6436, 6437, 7, 70, 2, 2, 6437, 940, 3, 2, 2, 2, 6438, 6439, 7, 70, 2, 2, 6439, 6440, 7, 71, 2, 2, 6440, 6441, 7, 80, 2, 2, 6441, 6442, 7, 85, 2, 2, 6442, 6443, 7, 71, 2, 2, 6443, 6444, 7, 97, 2, 2, 6444, 6445, 7, 84, 2, 2, 6445, 6446, 7, 67, 2, 2, 6446, 6447, 7, 80, 2, 2, 6447, 6448, 7, 77, 2, 2, 6448, 942, 3, 2, 2, 2, 6449, 6450, 7, 70, 2, 2, 6450, 6451, 7, 71, 2, 2, 6451, 6452, 7, 82, 2, 2, 6452, 6453, 7, 71, 2, 2, 6453, 6454, 7, 80, 2, 2, 6454, 6455, 7, 70, 2, 2, 6455, 6456, 7, 71, 2, 2, 6456, 6457, 7, 80, 2, 2, 6457, 6458, 7, 86, 2, 2, 6458, 6459, 7, 85, 2, 2, 6459, 944, 3, 2, 2, 2, 6460, 6461, 7, 70, 2, 2, 6461, 6462, 7, 71, 2, 2, 6462, 6463, 7, 85, 2, 2, 6463, 946, 3, 2, 2, 2, 6464, 6465, 7, 70, 2, 2, 6465, 6466, 7, 71, 2, 2, 6466, 6467, 7, 85, 2, 2, 6467, 6468, 7, 69, 2, 2, 6468, 6469, 7, 84, 2, 2, 6469, 6470, 7, 75, 2, 2, 6470, 6471, 7, 82, 2, 2, 6471, 6472, 7, 86, 2, 2, 6472, 6473, 7, 75, 2, 2, 6473, 6474, 7, 81, 2, 2, 6474, 6475, 7, 80, 2, 2, 6475, 948, 3, 2, 2, 2, 6476, 6477, 7, 70, 2, 2, 6477, 6478, 7, 71, 2, 2, 6478, 6479, 7, 85, 2, 2, 6479, 6480, 7, 90, 2, 2, 6480, 950, 3, 2, 2, 2, 6481, 6482, 7, 70, 2, 2, 6482, 6483, 7, 74, 2, 2, 6483, 6484, 7, 69, 2, 2, 6484, 6485, 7, 82, 2, 2, 6485, 952, 3, 2, 2, 2, 6486, 6487, 7, 70, 2, 2, 6487, 6488, 7, 75, 2, 2, 6488, 6489, 7, 67, 2, 2, 6489, 6490, 7, 78, 2, 2, 6490, 6491, 7, 81, 2, 2, 6491, 6492, 7, 73, 2, 2, 6492, 954, 3, 2, 2, 2, 6493, 6494, 7, 70, 2, 2, 6494, 6495, 7, 75, 2, 2, 6495, 6496, 7, 84, 2, 2, 6496, 6497, 7, 71, 2, 2, 6497, 6498, 7, 69, 2, 2, 6498, 6499, 7, 86, 2, 2, 6499, 6500, 7, 81, 2, 2, 6500, 6501, 7, 84, 2, 2, 6501, 6502, 7, 91, 2, 2, 6502, 6503, 7, 97, 2, 2, 6503, 6504, 7, 80, 2, 2, 6504, 6505, 7, 67, 2, 2, 6505, 6506, 7, 79, 2, 2, 6506, 6507, 7, 71, 2, 2, 6507, 956, 3, 2, 2, 2, 6508, 6509, 7, 70, 2, 2, 6509, 6510, 7, 75, 2, 2, 6510, 6511, 7, 85, 2, 2, 6511, 6512, 7, 67, 2, 2, 6512, 6513, 7, 68, 2, 2, 6513, 6514, 7, 78, 2, 2, 6514, 6515, 7, 71, 2, 2, 6515, 958, 3, 2, 2, 2, 6516, 6517, 7, 70, 2, 2, 6517, 6518, 7, 75, 2, 2, 6518, 6519, 7, 85, 2, 2, 6519, 6520, 7, 67, 2, 2, 6520, 6521, 7, 68, 2, 2, 6521, 6522, 7, 78, 2, 2, 6522, 6523, 7, 71, 2, 2, 6523, 6524, 7, 97, 2, 2, 6524, 6525, 7, 68, 2, 2, 6525, 6526, 7, 84, 2, 2, 6526, 6527, 7, 81, 2, 2, 6527, 6528, 7, 77, 2, 2, 6528, 6529, 7, 71, 2, 2, 6529, 6530, 7, 84, 2, 2, 6530, 960, 3, 2, 2, 2, 6531, 6532, 7, 70, 2, 2, 6532, 6533, 7, 75, 2, 2, 6533, 6534, 7, 85, 2, 2, 6534, 6535, 7, 67, 2, 2, 6535, 6536, 7, 68, 2, 2, 6536, 6537, 7, 78, 2, 2, 6537, 6538, 7, 71, 2, 2, 6538, 6539, 7, 70, 2, 2, 6539, 962, 3, 2, 2, 2, 6540, 6541, 9, 6, 2, 2, 6541, 6542, 9, 4, 2, 2, 6542, 964, 3, 2, 2, 2, 6543, 6544, 7, 70, 2, 2, 6544, 6545, 7, 81, 2, 2, 6545, 6546, 7, 69, 2, 2, 6546, 6547, 7, 87, 2, 2, 6547, 6548, 7, 79, 2, 2, 6548, 6549, 7, 71, 2, 2, 6549, 6550, 7, 80, 2, 2, 6550, 6551, 7, 86, 2, 2, 6551, 966, 3, 2, 2, 2, 6552, 6553, 7, 70, 2, 2, 6553, 6554, 7, 91, 2, 2, 6554, 6555, 7, 80, 2, 2, 6555, 6556, 7, 67, 2, 2, 6556, 6557, 7, 79, 2, 2, 6557, 6558, 7, 75, 2, 2, 6558, 6559, 7, 69, 2, 2, 6559, 968, 3, 2, 2, 2, 6560, 6561, 7, 71, 2, 2, 6561, 6562, 7, 78, 2, 2, 6562, 6563, 7, 71, 2, 2, 6563, 6564, 7, 79, 2, 2, 6564, 6565, 7, 71, 2, 2, 6565, 6566, 7, 80, 2, 2, 6566, 6567, 7, 86, 2, 2, 6567, 6568, 7, 85, 2, 2, 6568, 970, 3, 2, 2, 2, 6569, 6570, 7, 71, 2, 2, 6570, 6571, 7, 79, 2, 2, 6571, 6572, 7, 71, 2, 2, 6572, 6573, 7, 84, 2, 2, 6573, 6574, 7, 73, 2, 2, 6574, 6575, 7, 71, 2, 2, 6575, 6576, 7, 80, 2, 2, 6576, 6577, 7, 69, 2, 2, 6577, 6578, 7, 91, 2, 2, 6578, 972, 3, 2, 2, 2, 6579, 6580, 7, 71, 2, 2, 6580, 6581, 7, 79, 2, 2, 6581, 6582, 7, 82, 2, 2, 6582, 6583, 7, 86, 2, 2, 6583, 6584, 7, 91, 2, 2, 6584, 974, 3, 2, 2, 2, 6585, 6586, 7, 71, 2, 2, 6586, 6587, 7, 80, 2, 2, 6587, 6588, 7, 67, 2, 2, 6588, 6589, 7, 68, 2, 2, 6589, 6590, 7, 78, 2, 2, 6590, 6591, 7, 71, 2, 2, 6591, 976, 3, 2, 2, 2, 6592, 6593, 7, 71, 2, 2, 6593, 6594, 7, 80, 2, 2, 6594, 6595, 7, 67, 2, 2, 6595, 6596, 7, 68, 2, 2, 6596, 6597, 7, 78, 2, 2, 6597, 6598, 7, 71, 2, 2, 6598, 6599, 7, 97, 2, 2, 6599, 6600, 7, 68, 2, 2, 6600, 6601, 7, 84, 2, 2, 6601, 6602, 7, 81, 2, 2, 6602, 6603, 7, 77, 2, 2, 6603, 6604, 7, 71, 2, 2, 6604, 6605, 7, 84, 2, 2, 6605, 978, 3, 2, 2, 2, 6606, 6607, 7, 71, 2, 2, 6607, 6608, 7, 80, 2, 2, 6608, 6609, 7, 69, 2, 2, 6609, 6610, 7, 84, 2, 2, 6610, 6611, 7, 91, 2, 2, 6611, 6612, 7, 82, 2, 2, 6612, 6613, 7, 86, 2, 2, 6613, 6614, 7, 71, 2, 2, 6614, 6615, 7, 70, 2, 2, 6615, 6616, 7, 97, 2, 2, 6616, 6617, 7, 88, 2, 2, 6617, 6618, 7, 67, 2, 2, 6618, 6619, 7, 78, 2, 2, 6619, 6620, 7, 87, 2, 2, 6620, 6621, 7, 71, 2, 2, 6621, 980, 3, 2, 2, 2, 6622, 6623, 7, 71, 2, 2, 6623, 6624, 7, 80, 2, 2, 6624, 6625, 7, 69, 2, 2, 6625, 6626, 7, 84, 2, 2, 6626, 6627, 7, 91, 2, 2, 6627, 6628, 7, 82, 2, 2, 6628, 6629, 7, 86, 2, 2, 6629, 6630, 7, 75, 2, 2, 6630, 6631, 7, 81, 2, 2, 6631, 6632, 7, 80, 2, 2, 6632, 982, 3, 2, 2, 2, 6633, 6634, 7, 71, 2, 2, 6634, 6635, 7, 80, 2, 2, 6635, 6636, 7, 70, 2, 2, 6636, 6637, 7, 82, 2, 2, 6637, 6638, 7, 81, 2, 2, 6638, 6639, 7, 75, 2, 2, 6639, 6640, 7, 80, 2, 2, 6640, 6641, 7, 86, 2, 2, 6641, 6642, 7, 97, 2, 2, 6642, 6643, 7, 87, 2, 2, 6643, 6644, 7, 84, 2, 2, 6644, 6645, 7, 78, 2, 2, 6645, 984, 3, 2, 2, 2, 6646, 6647, 7, 71, 2, 2, 6647, 6648, 7, 84, 2, 2, 6648, 6649, 7, 84, 2, 2, 6649, 6650, 7, 81, 2, 2, 6650, 6651, 7, 84, 2, 2, 6651, 6652, 7, 97, 2, 2, 6652, 6653, 7, 68, 2, 2, 6653, 6654, 7, 84, 2, 2, 6654, 6655, 7, 81, 2, 2, 6655, 6656, 7, 77, 2, 2, 6656, 6657, 7, 71, 2, 2, 6657, 6658, 7, 84, 2, 2, 6658, 6659, 7, 97, 2, 2, 6659, 6660, 7, 69, 2, 2, 6660, 6661, 7, 81, 2, 2, 6661, 6662, 7, 80, 2, 2, 6662, 6663, 7, 88, 2, 2, 6663, 6664, 7, 71, 2, 2, 6664, 6665, 7, 84, 2, 2, 6665, 6666, 7, 85, 2, 2, 6666, 6667, 7, 67, 2, 2, 6667, 6668, 7, 86, 2, 2, 6668, 6669, 7, 75, 2, 2, 6669, 6670, 7, 81, 2, 2, 6670, 6671, 7, 80, 2, 2, 6671, 6672, 7, 85, 2, 2, 6672, 986, 3, 2, 2, 2, 6673, 6674, 7, 71, 2, 2, 6674, 6675, 7, 90, 2, 2, 6675, 6676, 7, 69, 2, 2, 6676, 6677, 7, 78, 2, 2, 6677, 6678, 7, 87, 2, 2, 6678, 6679, 7, 85, 2, 2, 6679, 6680, 7, 75, 2, 2, 6680, 6681, 7, 88, 2, 2, 6681, 6682, 7, 71, 2, 2, 6682, 988, 3, 2, 2, 2, 6683, 6684, 7, 71, 2, 2, 6684, 6685, 7, 90, 2, 2, 6685, 6686, 7, 71, 2, 2, 6686, 6687, 7, 69, 2, 2, 6687, 6688, 7, 87, 2, 2, 6688, 6689, 7, 86, 2, 2, 6689, 6690, 7, 67, 2, 2, 6690, 6691, 7, 68, 2, 2, 6691, 6692, 7, 78, 2, 2, 6692, 6693, 7, 71, 2, 2, 6693, 990, 3, 2, 2, 2, 6694, 6695, 7, 71, 2, 2, 6695, 6696, 7, 90, 2, 2, 6696, 6697, 7, 75, 2, 2, 6697, 6698, 7, 85, 2, 2, 6698, 6699, 7, 86, 2, 2, 6699, 992, 3, 2, 2, 2, 6700, 6701, 7, 71, 2, 2, 6701, 6702, 7, 90, 2, 2, 6702, 6703, 7, 82, 2, 2, 6703, 6704, 7, 67, 2, 2, 6704, 6705, 7, 80, 2, 2, 6705, 6706, 7, 70, 2, 2, 6706, 994, 3, 2, 2, 2, 6707, 6708, 7, 71, 2, 2, 6708, 6709, 7, 90, 2, 2, 6709, 6710, 7, 82, 2, 2, 6710, 6711, 7, 75, 2, 2, 6711, 6712, 7, 84, 2, 2, 6712, 6713, 7, 91, 2, 2, 6713, 6714, 7, 97, 2, 2, 6714, 6715, 7, 70, 2, 2, 6715, 6716, 7, 67, 2, 2, 6716, 6717, 7, 86, 2, 2, 6717, 6718, 7, 71, 2, 2, 6718, 996, 3, 2, 2, 2, 6719, 6720, 7, 71, 2, 2, 6720, 6721, 7, 90, 2, 2, 6721, 6722, 7, 82, 2, 2, 6722, 6723, 7, 78, 2, 2, 6723, 6724, 7, 75, 2, 2, 6724, 6725, 7, 69, 2, 2, 6725, 6726, 7, 75, 2, 2, 6726, 6727, 7, 86, 2, 2, 6727, 998, 3, 2, 2, 2, 6728, 6729, 7, 72, 2, 2, 6729, 6730, 7, 67, 2, 2, 6730, 6731, 7, 75, 2, 2, 6731, 6732, 7, 78, 2, 2, 6732, 6733, 7, 97, 2, 2, 6733, 6734, 7, 81, 2, 2, 6734, 6735, 7, 82, 2, 2, 6735, 6736, 7, 71, 2, 2, 6736, 6737, 7, 84, 2, 2, 6737, 6738, 7, 67, 2, 2, 6738, 6739, 7, 86, 2, 2, 6739, 6740, 7, 75, 2, 2, 6740, 6741, 7, 81, 2, 2, 6741, 6742, 7, 80, 2, 2, 6742, 1000, 3, 2, 2, 2, 6743, 6744, 7, 72, 2, 2, 6744, 6745, 7, 67, 2, 2, 6745, 6746, 7, 75, 2, 2, 6746, 6747, 7, 78, 2, 2, 6747, 6748, 7, 81, 2, 2, 6748, 6749, 7, 88, 2, 2, 6749, 6750, 7, 71, 2, 2, 6750, 6751, 7, 84, 2, 2, 6751, 6752, 7, 97, 2, 2, 6752, 6753, 7, 79, 2, 2, 6753, 6754, 7, 81, 2, 2, 6754, 6755, 7, 70, 2, 2, 6755, 6756, 7, 71, 2, 2, 6756, 1002, 3, 2, 2, 2, 6757, 6758, 7, 72, 2, 2, 6758, 6759, 7, 67, 2, 2, 6759, 6760, 7, 75, 2, 2, 6760, 6761, 7, 78, 2, 2, 6761, 6762, 7, 87, 2, 2, 6762, 6763, 7, 84, 2, 2, 6763, 6764, 7, 71, 2, 2, 6764, 1004, 3, 2, 2, 2, 6765, 6766, 7, 72, 2, 2, 6766, 6767, 7, 67, 2, 2, 6767, 6768, 7, 75, 2, 2, 6768, 6769, 7, 78, 2, 2, 6769, 6770, 7, 87, 2, 2, 6770, 6771, 7, 84, 2, 2, 6771, 6772, 7, 71, 2, 2, 6772, 6773, 7, 97, 2, 2, 6773, 6774, 7, 69, 2, 2, 6774, 6775, 7, 81, 2, 2, 6775, 6776, 7, 80, 2, 2, 6776, 6777, 7, 70, 2, 2, 6777, 6778, 7, 75, 2, 2, 6778, 6779, 7, 86, 2, 2, 6779, 6780, 7, 75, 2, 2, 6780, 6781, 7, 81, 2, 2, 6781, 6782, 7, 80, 2, 2, 6782, 6783, 7, 97, 2, 2, 6783, 6784, 7, 78, 2, 2, 6784, 6785, 7, 71, 2, 2, 6785, 6786, 7, 88, 2, 2, 6786, 6787, 7, 71, 2, 2, 6787, 6788, 7, 78, 2, 2, 6788, 1006, 3, 2, 2, 2, 6789, 6790, 7, 72, 2, 2, 6790, 6791, 7, 67, 2, 2, 6791, 6792, 7, 85, 2, 2, 6792, 6793, 7, 86, 2, 2, 6793, 1008, 3, 2, 2, 2, 6794, 6795, 7, 72, 2, 2, 6795, 6796, 7, 67, 2, 2, 6796, 6797, 7, 85, 2, 2, 6797, 6798, 7, 86, 2, 2, 6798, 6799, 7, 97, 2, 2, 6799, 6800, 7, 72, 2, 2, 6800, 6801, 7, 81, 2, 2, 6801, 6802, 7, 84, 2, 2, 6802, 6803, 7, 89, 2, 2, 6803, 6804, 7, 67, 2, 2, 6804, 6805, 7, 84, 2, 2, 6805, 6806, 7, 70, 2, 2, 6806, 1010, 3, 2, 2, 2, 6807, 6808, 7, 72, 2, 2, 6808, 6809, 7, 75, 2, 2, 6809, 6810, 7, 78, 2, 2, 6810, 6811, 7, 71, 2, 2, 6811, 6812, 7, 73, 2, 2, 6812, 6813, 7, 84, 2, 2, 6813, 6814, 7, 81, 2, 2, 6814, 6815, 7, 87, 2, 2, 6815, 6816, 7, 82, 2, 2, 6816, 1012, 3, 2, 2, 2, 6817, 6818, 7, 72, 2, 2, 6818, 6819, 7, 75, 2, 2, 6819, 6820, 7, 78, 2, 2, 6820, 6821, 7, 71, 2, 2, 6821, 6822, 7, 73, 2, 2, 6822, 6823, 7, 84, 2, 2, 6823, 6824, 7, 81, 2, 2, 6824, 6825, 7, 89, 2, 2, 6825, 6826, 7, 86, 2, 2, 6826, 6827, 7, 74, 2, 2, 6827, 1014, 3, 2, 2, 2, 6828, 6829, 7, 72, 2, 2, 6829, 6830, 7, 75, 2, 2, 6830, 6831, 7, 78, 2, 2, 6831, 6832, 7, 71, 2, 2, 6832, 6833, 7, 82, 2, 2, 6833, 6834, 7, 67, 2, 2, 6834, 6835, 7, 86, 2, 2, 6835, 6836, 7, 74, 2, 2, 6836, 1016, 3, 2, 2, 2, 6837, 6838, 7, 72, 2, 2, 6838, 6839, 7, 75, 2, 2, 6839, 6840, 7, 78, 2, 2, 6840, 6841, 7, 71, 2, 2, 6841, 6842, 7, 85, 2, 2, 6842, 6843, 7, 86, 2, 2, 6843, 6844, 7, 84, 2, 2, 6844, 6845, 7, 71, 2, 2, 6845, 6846, 7, 67, 2, 2, 6846, 6847, 7, 79, 2, 2, 6847, 1018, 3, 2, 2, 2, 6848, 6849, 7, 72, 2, 2, 6849, 6850, 7, 75, 2, 2, 6850, 6851, 7, 78, 2, 2, 6851, 6852, 7, 86, 2, 2, 6852, 6853, 7, 71, 2, 2, 6853, 6854, 7, 84, 2, 2, 6854, 1020, 3, 2, 2, 2, 6855, 6856, 7, 72, 2, 2, 6856, 6857, 7, 75, 2, 2, 6857, 6858, 7, 84, 2, 2, 6858, 6859, 7, 85, 2, 2, 6859, 6860, 7, 86, 2, 2, 6860, 1022, 3, 2, 2, 2, 6861, 6862, 7, 72, 2, 2, 6862, 6863, 7, 75, 2, 2, 6863, 6864, 7, 84, 2, 2, 6864, 6865, 7, 85, 2, 2, 6865, 6866, 7, 86, 2, 2, 6866, 6867, 7, 97, 2, 2, 6867, 6868, 7, 88, 2, 2, 6868, 6869, 7, 67, 2, 2, 6869, 6870, 7, 78, 2, 2, 6870, 6871, 7, 87, 2, 2, 6871, 6872, 7, 71, 2, 2, 6872, 1024, 3, 2, 2, 2, 6873, 6874, 7, 72, 2, 2, 6874, 6875, 7, 81, 2, 2, 6875, 6876, 7, 78, 2, 2, 6876, 6877, 7, 78, 2, 2, 6877, 6878, 7, 81, 2, 2, 6878, 6879, 7, 89, 2, 2, 6879, 6880, 7, 75, 2, 2, 6880, 6881, 7, 80, 2, 2, 6881, 6882, 7, 73, 2, 2, 6882, 1026, 3, 2, 2, 2, 6883, 6884, 7, 72, 2, 2, 6884, 6885, 7, 81, 2, 2, 6885, 6886, 7, 84, 2, 2, 6886, 6887, 7, 69, 2, 2, 6887, 6888, 7, 71, 2, 2, 6888, 1028, 3, 2, 2, 2, 6889, 6890, 7, 72, 2, 2, 6890, 6891, 7, 81, 2, 2, 6891, 6892, 7, 84, 2, 2, 6892, 6893, 7, 69, 2, 2, 6893, 6894, 7, 71, 2, 2, 6894, 6895, 7, 97, 2, 2, 6895, 6896, 7, 72, 2, 2, 6896, 6897, 7, 67, 2, 2, 6897, 6898, 7, 75, 2, 2, 6898, 6899, 7, 78, 2, 2, 6899, 6900, 7, 81, 2, 2, 6900, 6901, 7, 88, 2, 2, 6901, 6902, 7, 71, 2, 2, 6902, 6903, 7, 84, 2, 2, 6903, 6904, 7, 97, 2, 2, 6904, 6905, 7, 67, 2, 2, 6905, 6906, 7, 78, 2, 2, 6906, 6907, 7, 78, 2, 2, 6907, 6908, 7, 81, 2, 2, 6908, 6909, 7, 89, 2, 2, 6909, 6910, 7, 97, 2, 2, 6910, 6911, 7, 70, 2, 2, 6911, 6912, 7, 67, 2, 2, 6912, 6913, 7, 86, 2, 2, 6913, 6914, 7, 67, 2, 2, 6914, 6915, 7, 97, 2, 2, 6915, 6916, 7, 78, 2, 2, 6916, 6917, 7, 81, 2, 2, 6917, 6918, 7, 85, 2, 2, 6918, 6919, 7, 85, 2, 2, 6919, 1030, 3, 2, 2, 2, 6920, 6921, 7, 72, 2, 2, 6921, 6922, 7, 81, 2, 2, 6922, 6923, 7, 84, 2, 2, 6923, 6924, 7, 69, 2, 2, 6924, 6925, 7, 71, 2, 2, 6925, 6926, 7, 70, 2, 2, 6926, 1032, 3, 2, 2, 2, 6927, 6928, 7, 72, 2, 2, 6928, 6929, 7, 81, 2, 2, 6929, 6930, 7, 84, 2, 2, 6930, 6931, 7, 79, 2, 2, 6931, 6932, 7, 67, 2, 2, 6932, 6933, 7, 86, 2, 2, 6933, 1034, 3, 2, 2, 2, 6934, 6935, 7, 72, 2, 2, 6935, 6936, 7, 81, 2, 2, 6936, 6937, 7, 84, 2, 2, 6937, 6938, 7, 89, 2, 2, 6938, 6939, 7, 67, 2, 2, 6939, 6940, 7, 84, 2, 2, 6940, 6941, 7, 70, 2, 2, 6941, 6942, 7, 97, 2, 2, 6942, 6943, 7, 81, 2, 2, 6943, 6944, 7, 80, 2, 2, 6944, 6945, 7, 78, 2, 2, 6945, 6946, 7, 91, 2, 2, 6946, 1036, 3, 2, 2, 2, 6947, 6948, 7, 72, 2, 2, 6948, 6949, 7, 87, 2, 2, 6949, 6950, 7, 78, 2, 2, 6950, 6951, 7, 78, 2, 2, 6951, 6952, 7, 85, 2, 2, 6952, 6953, 7, 69, 2, 2, 6953, 6954, 7, 67, 2, 2, 6954, 6955, 7, 80, 2, 2, 6955, 1038, 3, 2, 2, 2, 6956, 6957, 7, 72, 2, 2, 6957, 6958, 7, 87, 2, 2, 6958, 6959, 7, 78, 2, 2, 6959, 6960, 7, 78, 2, 2, 6960, 6961, 7, 86, 2, 2, 6961, 6962, 7, 71, 2, 2, 6962, 6963, 7, 90, 2, 2, 6963, 6964, 7, 86, 2, 2, 6964, 1040, 3, 2, 2, 2, 6965, 6966, 7, 73, 2, 2, 6966, 6967, 7, 68, 2, 2, 6967, 1042, 3, 2, 2, 2, 6968, 6969, 7, 73, 2, 2, 6969, 6970, 7, 71, 2, 2, 6970, 6971, 7, 86, 2, 2, 6971, 6972, 7, 70, 2, 2, 6972, 6973, 7, 67, 2, 2, 6973, 6974, 7, 86, 2, 2, 6974, 6975, 7, 71, 2, 2, 6975, 1044, 3, 2, 2, 2, 6976, 6977, 7, 73, 2, 2, 6977, 6978, 7, 71, 2, 2, 6978, 6979, 7, 86, 2, 2, 6979, 6980, 7, 87, 2, 2, 6980, 6981, 7, 86, 2, 2, 6981, 6982, 7, 69, 2, 2, 6982, 6983, 7, 70, 2, 2, 6983, 6984, 7, 67, 2, 2, 6984, 6985, 7, 86, 2, 2, 6985, 6986, 7, 71, 2, 2, 6986, 1046, 3, 2, 2, 2, 6987, 6988, 7, 73, 2, 2, 6988, 6989, 7, 78, 2, 2, 6989, 6990, 7, 81, 2, 2, 6990, 6991, 7, 68, 2, 2, 6991, 6992, 7, 67, 2, 2, 6992, 6993, 7, 78, 2, 2, 6993, 1048, 3, 2, 2, 2, 6994, 6995, 7, 73, 2, 2, 6995, 6996, 7, 81, 2, 2, 6996, 1050, 3, 2, 2, 2, 6997, 6998, 7, 73, 2, 2, 6998, 6999, 7, 84, 2, 2, 6999, 7000, 7, 81, 2, 2, 7000, 7001, 7, 87, 2, 2, 7001, 7002, 7, 82, 2, 2, 7002, 7003, 7, 97, 2, 2, 7003, 7004, 7, 79, 2, 2, 7004, 7005, 7, 67, 2, 2, 7005, 7006, 7, 90, 2, 2, 7006, 7007, 7, 97, 2, 2, 7007, 7008, 7, 84, 2, 2, 7008, 7009, 7, 71, 2, 2, 7009, 7010, 7, 83, 2, 2, 7010, 7011, 7, 87, 2, 2, 7011, 7012, 7, 71, 2, 2, 7012, 7013, 7, 85, 2, 2, 7013, 7014, 7, 86, 2, 2, 7014, 7015, 7, 85, 2, 2, 7015, 1052, 3, 2, 2, 2, 7016, 7017, 7, 73, 2, 2, 7017, 7018, 7, 84, 2, 2, 7018, 7019, 7, 81, 2, 2, 7019, 7020, 7, 87, 2, 2, 7020, 7021, 7, 82, 2, 2, 7021, 7022, 7, 75, 2, 2, 7022, 7023, 7, 80, 2, 2, 7023, 7024, 7, 73, 2, 2, 7024, 1054, 3, 2, 2, 2, 7025, 7026, 7, 73, 2, 2, 7026, 7027, 7, 84, 2, 2, 7027, 7028, 7, 81, 2, 2, 7028, 7029, 7, 87, 2, 2, 7029, 7030, 7, 82, 2, 2, 7030, 7031, 7, 75, 2, 2, 7031, 7032, 7, 80, 2, 2, 7032, 7033, 7, 73, 2, 2, 7033, 7034, 7, 97, 2, 2, 7034, 7035, 7, 75, 2, 2, 7035, 7036, 7, 70, 2, 2, 7036, 1056, 3, 2, 2, 2, 7037, 7038, 7, 74, 2, 2, 7038, 7039, 7, 67, 2, 2, 7039, 7040, 7, 70, 2, 2, 7040, 7041, 7, 84, 2, 2, 7041, 1058, 3, 2, 2, 2, 7042, 7043, 7, 74, 2, 2, 7043, 7044, 7, 67, 2, 2, 7044, 7045, 7, 85, 2, 2, 7045, 7046, 7, 74, 2, 2, 7046, 1060, 3, 2, 2, 2, 7047, 7048, 7, 74, 2, 2, 7048, 7049, 7, 71, 2, 2, 7049, 7050, 7, 67, 2, 2, 7050, 7051, 7, 78, 2, 2, 7051, 7052, 7, 86, 2, 2, 7052, 7053, 7, 74, 2, 2, 7053, 7054, 7, 97, 2, 2, 7054, 7055, 7, 69, 2, 2, 7055, 7056, 7, 74, 2, 2, 7056, 7057, 7, 71, 2, 2, 7057, 7058, 7, 69, 2, 2, 7058, 7059, 7, 77, 2, 2, 7059, 7060, 7, 97, 2, 2, 7060, 7061, 7, 86, 2, 2, 7061, 7062, 7, 75, 2, 2, 7062, 7063, 7, 79, 2, 2, 7063, 7064, 7, 71, 2, 2, 7064, 7065, 7, 81, 2, 2, 7065, 7066, 7, 87, 2, 2, 7066, 7067, 7, 86, 2, 2, 7067, 1062, 3, 2, 2, 2, 7068, 7069, 7, 74, 2, 2, 7069, 7070, 7, 75, 2, 2, 7070, 7071, 7, 73, 2, 2, 7071, 7072, 7, 74, 2, 2, 7072, 1064, 3, 2, 2, 2, 7073, 7074, 7, 74, 2, 2, 7074, 7075, 7, 81, 2, 2, 7075, 7076, 7, 80, 2, 2, 7076, 7077, 7, 81, 2, 2, 7077, 7078, 7, 84, 2, 2, 7078, 7079, 7, 97, 2, 2, 7079, 7080, 7, 68, 2, 2, 7080, 7081, 7, 84, 2, 2, 7081, 7082, 7, 81, 2, 2, 7082, 7083, 7, 77, 2, 2, 7083, 7084, 7, 71, 2, 2, 7084, 7085, 7, 84, 2, 2, 7085, 7086, 7, 97, 2, 2, 7086, 7087, 7, 82, 2, 2, 7087, 7088, 7, 84, 2, 2, 7088, 7089, 7, 75, 2, 2, 7089, 7090, 7, 81, 2, 2, 7090, 7091, 7, 84, 2, 2, 7091, 7092, 7, 75, 2, 2, 7092, 7093, 7, 86, 2, 2, 7093, 7094, 7, 91, 2, 2, 7094, 1066, 3, 2, 2, 2, 7095, 7096, 7, 74, 2, 2, 7096, 7097, 7, 81, 2, 2, 7097, 7098, 7, 87, 2, 2, 7098, 7099, 7, 84, 2, 2, 7099, 7100, 7, 85, 2, 2, 7100, 1068, 3, 2, 2, 2, 7101, 7102, 7, 75, 2, 2, 7102, 7103, 7, 70, 2, 2, 7103, 7104, 7, 71, 2, 2, 7104, 7105, 7, 80, 2, 2, 7105, 7106, 7, 86, 2, 2, 7106, 7107, 7, 75, 2, 2, 7107, 7108, 7, 86, 2, 2, 7108, 7109, 7, 91, 2, 2, 7109, 7110, 7, 97, 2, 2, 7110, 7111, 7, 88, 2, 2, 7111, 7112, 7, 67, 2, 2, 7112, 7113, 7, 78, 2, 2, 7113, 7114, 7, 87, 2, 2, 7114, 7115, 7, 71, 2, 2, 7115, 1070, 3, 2, 2, 2, 7116, 7117, 7, 75, 2, 2, 7117, 7118, 7, 73, 2, 2, 7118, 7119, 7, 80, 2, 2, 7119, 7120, 7, 81, 2, 2, 7120, 7121, 7, 84, 2, 2, 7121, 7122, 7, 71, 2, 2, 7122, 7123, 7, 97, 2, 2, 7123, 7124, 7, 80, 2, 2, 7124, 7125, 7, 81, 2, 2, 7125, 7126, 7, 80, 2, 2, 7126, 7127, 7, 69, 2, 2, 7127, 7128, 7, 78, 2, 2, 7128, 7129, 7, 87, 2, 2, 7129, 7130, 7, 85, 2, 2, 7130, 7131, 7, 86, 2, 2, 7131, 7132, 7, 71, 2, 2, 7132, 7133, 7, 84, 2, 2, 7133, 7134, 7, 71, 2, 2, 7134, 7135, 7, 70, 2, 2, 7135, 7136, 7, 97, 2, 2, 7136, 7137, 7, 69, 2, 2, 7137, 7138, 7, 81, 2, 2, 7138, 7139, 7, 78, 2, 2, 7139, 7140, 7, 87, 2, 2, 7140, 7141, 7, 79, 2, 2, 7141, 7142, 7, 80, 2, 2, 7142, 7143, 7, 85, 2, 2, 7143, 7144, 7, 86, 2, 2, 7144, 7145, 7, 81, 2, 2, 7145, 7146, 7, 84, 2, 2, 7146, 7147, 7, 71, 2, 2, 7147, 7148, 7, 97, 2, 2, 7148, 7149, 7, 75, 2, 2, 7149, 7150, 7, 80, 2, 2, 7150, 7151, 7, 70, 2, 2, 7151, 7152, 7, 71, 2, 2, 7152, 7153, 7, 90, 2, 2, 7153, 1072, 3, 2, 2, 2, 7154, 7155, 7, 75, 2, 2, 7155, 7156, 7, 79, 2, 2, 7156, 7157, 7, 79, 2, 2, 7157, 7158, 7, 71, 2, 2, 7158, 7159, 7, 70, 2, 2, 7159, 7160, 7, 75, 2, 2, 7160, 7161, 7, 67, 2, 2, 7161, 7162, 7, 86, 2, 2, 7162, 7163, 7, 71, 2, 2, 7163, 1074, 3, 2, 2, 2, 7164, 7165, 7, 75, 2, 2, 7165, 7166, 7, 79, 2, 2, 7166, 7167, 7, 82, 2, 2, 7167, 7168, 7, 71, 2, 2, 7168, 7169, 7, 84, 2, 2, 7169, 7170, 7, 85, 2, 2, 7170, 7171, 7, 81, 2, 2, 7171, 7172, 7, 80, 2, 2, 7172, 7173, 7, 67, 2, 2, 7173, 7174, 7, 86, 2, 2, 7174, 7175, 7, 71, 2, 2, 7175, 1076, 3, 2, 2, 2, 7176, 7177, 7, 75, 2, 2, 7177, 7178, 7, 79, 2, 2, 7178, 7179, 7, 82, 2, 2, 7179, 7180, 7, 81, 2, 2, 7180, 7181, 7, 84, 2, 2, 7181, 7182, 7, 86, 2, 2, 7182, 7183, 7, 67, 2, 2, 7183, 7184, 7, 80, 2, 2, 7184, 7185, 7, 69, 2, 2, 7185, 7186, 7, 71, 2, 2, 7186, 1078, 3, 2, 2, 2, 7187, 7188, 7, 75, 2, 2, 7188, 7189, 7, 80, 2, 2, 7189, 7190, 7, 69, 2, 2, 7190, 7191, 7, 78, 2, 2, 7191, 7192, 7, 87, 2, 2, 7192, 7193, 7, 70, 2, 2, 7193, 7194, 7, 71, 2, 2, 7194, 7195, 7, 97, 2, 2, 7195, 7196, 7, 80, 2, 2, 7196, 7197, 7, 87, 2, 2, 7197, 7198, 7, 78, 2, 2, 7198, 7199, 7, 78, 2, 2, 7199, 7200, 7, 97, 2, 2, 7200, 7201, 7, 88, 2, 2, 7201, 7202, 7, 67, 2, 2, 7202, 7203, 7, 78, 2, 2, 7203, 7204, 7, 87, 2, 2, 7204, 7205, 7, 71, 2, 2, 7205, 7206, 7, 85, 2, 2, 7206, 1080, 3, 2, 2, 2, 7207, 7208, 7, 75, 2, 2, 7208, 7209, 7, 80, 2, 2, 7209, 7210, 7, 69, 2, 2, 7210, 7211, 7, 84, 2, 2, 7211, 7212, 7, 71, 2, 2, 7212, 7213, 7, 79, 2, 2, 7213, 7214, 7, 71, 2, 2, 7214, 7215, 7, 80, 2, 2, 7215, 7216, 7, 86, 2, 2, 7216, 7217, 7, 67, 2, 2, 7217, 7218, 7, 78, 2, 2, 7218, 1082, 3, 2, 2, 2, 7219, 7220, 7, 75, 2, 2, 7220, 7221, 7, 80, 2, 2, 7221, 7222, 7, 75, 2, 2, 7222, 7223, 7, 86, 2, 2, 7223, 7224, 7, 75, 2, 2, 7224, 7225, 7, 67, 2, 2, 7225, 7226, 7, 86, 2, 2, 7226, 7227, 7, 81, 2, 2, 7227, 7228, 7, 84, 2, 2, 7228, 1084, 3, 2, 2, 2, 7229, 7230, 7, 75, 2, 2, 7230, 7231, 7, 80, 2, 2, 7231, 7232, 7, 82, 2, 2, 7232, 7233, 7, 87, 2, 2, 7233, 7234, 7, 86, 2, 2, 7234, 1086, 3, 2, 2, 2, 7235, 7236, 7, 75, 2, 2, 7236, 7237, 7, 80, 2, 2, 7237, 7238, 7, 85, 2, 2, 7238, 7239, 7, 71, 2, 2, 7239, 7240, 7, 80, 2, 2, 7240, 7241, 7, 85, 2, 2, 7241, 7242, 7, 75, 2, 2, 7242, 7243, 7, 86, 2, 2, 7243, 7244, 7, 75, 2, 2, 7244, 7245, 7, 88, 2, 2, 7245, 7246, 7, 71, 2, 2, 7246, 1088, 3, 2, 2, 2, 7247, 7248, 7, 75, 2, 2, 7248, 7249, 7, 80, 2, 2, 7249, 7250, 7, 85, 2, 2, 7250, 7251, 7, 71, 2, 2, 7251, 7252, 7, 84, 2, 2, 7252, 7253, 7, 86, 2, 2, 7253, 7254, 7, 71, 2, 2, 7254, 7255, 7, 70, 2, 2, 7255, 1090, 3, 2, 2, 2, 7256, 7257, 7, 75, 2, 2, 7257, 7258, 7, 80, 2, 2, 7258, 7259, 7, 86, 2, 2, 7259, 1092, 3, 2, 2, 2, 7260, 7261, 7, 75, 2, 2, 7261, 7262, 7, 82, 2, 2, 7262, 1094, 3, 2, 2, 2, 7263, 7264, 7, 75, 2, 2, 7264, 7265, 7, 85, 2, 2, 7265, 7266, 7, 81, 2, 2, 7266, 7267, 7, 78, 2, 2, 7267, 7268, 7, 67, 2, 2, 7268, 7269, 7, 86, 2, 2, 7269, 7270, 7, 75, 2, 2, 7270, 7271, 7, 81, 2, 2, 7271, 7272, 7, 80, 2, 2, 7272, 1096, 3, 2, 2, 2, 7273, 7274, 7, 76, 2, 2, 7274, 7275, 7, 81, 2, 2, 7275, 7276, 7, 68, 2, 2, 7276, 1098, 3, 2, 2, 2, 7277, 7278, 7, 76, 2, 2, 7278, 7279, 7, 85, 2, 2, 7279, 7280, 7, 81, 2, 2, 7280, 7281, 7, 80, 2, 2, 7281, 1100, 3, 2, 2, 2, 7282, 7283, 7, 77, 2, 2, 7283, 7284, 7, 68, 2, 2, 7284, 1102, 3, 2, 2, 2, 7285, 7286, 7, 77, 2, 2, 7286, 7287, 7, 71, 2, 2, 7287, 7288, 7, 71, 2, 2, 7288, 7289, 7, 82, 2, 2, 7289, 1104, 3, 2, 2, 2, 7290, 7291, 7, 77, 2, 2, 7291, 7292, 7, 71, 2, 2, 7292, 7293, 7, 71, 2, 2, 7293, 7294, 7, 82, 2, 2, 7294, 7295, 7, 72, 2, 2, 7295, 7296, 7, 75, 2, 2, 7296, 7297, 7, 90, 2, 2, 7297, 7298, 7, 71, 2, 2, 7298, 7299, 7, 70, 2, 2, 7299, 1106, 3, 2, 2, 2, 7300, 7301, 7, 77, 2, 2, 7301, 7302, 7, 71, 2, 2, 7302, 7303, 7, 91, 2, 2, 7303, 7304, 7, 97, 2, 2, 7304, 7305, 7, 85, 2, 2, 7305, 7306, 7, 81, 2, 2, 7306, 7307, 7, 87, 2, 2, 7307, 7308, 7, 84, 2, 2, 7308, 7309, 7, 69, 2, 2, 7309, 7310, 7, 71, 2, 2, 7310, 1108, 3, 2, 2, 2, 7311, 7312, 7, 77, 2, 2, 7312, 7313, 7, 71, 2, 2, 7313, 7314, 7, 91, 2, 2, 7314, 7315, 7, 85, 2, 2, 7315, 1110, 3, 2, 2, 2, 7316, 7317, 7, 77, 2, 2, 7317, 7318, 7, 71, 2, 2, 7318, 7319, 7, 91, 2, 2, 7319, 7320, 7, 85, 2, 2, 7320, 7321, 7, 71, 2, 2, 7321, 7322, 7, 86, 2, 2, 7322, 1112, 3, 2, 2, 2, 7323, 7324, 7, 78, 2, 2, 7324, 7325, 7, 67, 2, 2, 7325, 7326, 7, 73, 2, 2, 7326, 1114, 3, 2, 2, 2, 7327, 7328, 7, 78, 2, 2, 7328, 7329, 7, 67, 2, 2, 7329, 7330, 7, 85, 2, 2, 7330, 7331, 7, 86, 2, 2, 7331, 1116, 3, 2, 2, 2, 7332, 7333, 7, 78, 2, 2, 7333, 7334, 7, 67, 2, 2, 7334, 7335, 7, 85, 2, 2, 7335, 7336, 7, 86, 2, 2, 7336, 7337, 7, 97, 2, 2, 7337, 7338, 7, 88, 2, 2, 7338, 7339, 7, 67, 2, 2, 7339, 7340, 7, 78, 2, 2, 7340, 7341, 7, 87, 2, 2, 7341, 7342, 7, 71, 2, 2, 7342, 1118, 3, 2, 2, 2, 7343, 7344, 7, 78, 2, 2, 7344, 7345, 7, 71, 2, 2, 7345, 7346, 7, 67, 2, 2, 7346, 7347, 7, 70, 2, 2, 7347, 1120, 3, 2, 2, 2, 7348, 7349, 7, 78, 2, 2, 7349, 7350, 7, 71, 2, 2, 7350, 7351, 7, 88, 2, 2, 7351, 7352, 7, 71, 2, 2, 7352, 7353, 7, 78, 2, 2, 7353, 1122, 3, 2, 2, 2, 7354, 7355, 7, 78, 2, 2, 7355, 7356, 7, 75, 2, 2, 7356, 7357, 7, 85, 2, 2, 7357, 7358, 7, 86, 2, 2, 7358, 1124, 3, 2, 2, 2, 7359, 7360, 7, 78, 2, 2, 7360, 7361, 7, 75, 2, 2, 7361, 7362, 7, 85, 2, 2, 7362, 7363, 7, 86, 2, 2, 7363, 7364, 7, 71, 2, 2, 7364, 7365, 7, 80, 2, 2, 7365, 7366, 7, 71, 2, 2, 7366, 7367, 7, 84, 2, 2, 7367, 1126, 3, 2, 2, 2, 7368, 7369, 7, 78, 2, 2, 7369, 7370, 7, 75, 2, 2, 7370, 7371, 7, 85, 2, 2, 7371, 7372, 7, 86, 2, 2, 7372, 7373, 7, 71, 2, 2, 7373, 7374, 7, 80, 2, 2, 7374, 7375, 7, 71, 2, 2, 7375, 7376, 7, 84, 2, 2, 7376, 7377, 7, 97, 2, 2, 7377, 7378, 7, 87, 2, 2, 7378, 7379, 7, 84, 2, 2, 7379, 7380, 7, 78, 2, 2, 7380, 1128, 3, 2, 2, 2, 7381, 7382, 7, 78, 2, 2, 7382, 7383, 7, 81, 2, 2, 7383, 7384, 7, 68, 2, 2, 7384, 7385, 7, 97, 2, 2, 7385, 7386, 7, 69, 2, 2, 7386, 7387, 7, 81, 2, 2, 7387, 7388, 7, 79, 2, 2, 7388, 7389, 7, 82, 2, 2, 7389, 7390, 7, 67, 2, 2, 7390, 7391, 7, 69, 2, 2, 7391, 7392, 7, 86, 2, 2, 7392, 7393, 7, 75, 2, 2, 7393, 7394, 7, 81, 2, 2, 7394, 7395, 7, 80, 2, 2, 7395, 1130, 3, 2, 2, 2, 7396, 7397, 7, 78, 2, 2, 7397, 7398, 7, 81, 2, 2, 7398, 7399, 7, 69, 2, 2, 7399, 7400, 7, 67, 2, 2, 7400, 7401, 7, 78, 2, 2, 7401, 1132, 3, 2, 2, 2, 7402, 7403, 7, 78, 2, 2, 7403, 7404, 7, 81, 2, 2, 7404, 7405, 7, 69, 2, 2, 7405, 7406, 7, 67, 2, 2, 7406, 7407, 7, 86, 2, 2, 7407, 7408, 7, 75, 2, 2, 7408, 7409, 7, 81, 2, 2, 7409, 7410, 7, 80, 2, 2, 7410, 1134, 3, 2, 2, 2, 7411, 7412, 7, 78, 2, 2, 7412, 7413, 7, 81, 2, 2, 7413, 7414, 7, 69, 2, 2, 7414, 7415, 7, 77, 2, 2, 7415, 1136, 3, 2, 2, 2, 7416, 7417, 7, 78, 2, 2, 7417, 7418, 7, 81, 2, 2, 7418, 7419, 7, 69, 2, 2, 7419, 7420, 7, 77, 2, 2, 7420, 7421, 7, 97, 2, 2, 7421, 7422, 7, 71, 2, 2, 7422, 7423, 7, 85, 2, 2, 7423, 7424, 7, 69, 2, 2, 7424, 7425, 7, 67, 2, 2, 7425, 7426, 7, 78, 2, 2, 7426, 7427, 7, 67, 2, 2, 7427, 7428, 7, 86, 2, 2, 7428, 7429, 7, 75, 2, 2, 7429, 7430, 7, 81, 2, 2, 7430, 7431, 7, 80, 2, 2, 7431, 1138, 3, 2, 2, 2, 7432, 7433, 7, 78, 2, 2, 7433, 7434, 7, 81, 2, 2, 7434, 7435, 7, 73, 2, 2, 7435, 7436, 7, 75, 2, 2, 7436, 7437, 7, 80, 2, 2, 7437, 1140, 3, 2, 2, 2, 7438, 7439, 7, 78, 2, 2, 7439, 7440, 7, 81, 2, 2, 7440, 7441, 7, 81, 2, 2, 7441, 7442, 7, 82, 2, 2, 7442, 1142, 3, 2, 2, 2, 7443, 7444, 7, 78, 2, 2, 7444, 7445, 7, 81, 2, 2, 7445, 7446, 7, 89, 2, 2, 7446, 1144, 3, 2, 2, 2, 7447, 7448, 7, 79, 2, 2, 7448, 7449, 7, 67, 2, 2, 7449, 7450, 7, 80, 2, 2, 7450, 7451, 7, 87, 2, 2, 7451, 7452, 7, 67, 2, 2, 7452, 7453, 7, 78, 2, 2, 7453, 1146, 3, 2, 2, 2, 7454, 7455, 7, 79, 2, 2, 7455, 7456, 7, 67, 2, 2, 7456, 7457, 7, 84, 2, 2, 7457, 7458, 7, 77, 2, 2, 7458, 1148, 3, 2, 2, 2, 7459, 7460, 7, 79, 2, 2, 7460, 7461, 7, 67, 2, 2, 7461, 7462, 7, 86, 2, 2, 7462, 7463, 7, 71, 2, 2, 7463, 7464, 7, 84, 2, 2, 7464, 7465, 7, 75, 2, 2, 7465, 7466, 7, 67, 2, 2, 7466, 7467, 7, 78, 2, 2, 7467, 7468, 7, 75, 2, 2, 7468, 7469, 7, 92, 2, 2, 7469, 7470, 7, 71, 2, 2, 7470, 7471, 7, 70, 2, 2, 7471, 1150, 3, 2, 2, 2, 7472, 7473, 7, 79, 2, 2, 7473, 7474, 7, 67, 2, 2, 7474, 7475, 7, 90, 2, 2, 7475, 1152, 3, 2, 2, 2, 7476, 7477, 7, 79, 2, 2, 7477, 7478, 7, 67, 2, 2, 7478, 7479, 7, 90, 2, 2, 7479, 7480, 7, 97, 2, 2, 7480, 7481, 7, 69, 2, 2, 7481, 7482, 7, 82, 2, 2, 7482, 7483, 7, 87, 2, 2, 7483, 7484, 7, 97, 2, 2, 7484, 7485, 7, 82, 2, 2, 7485, 7486, 7, 71, 2, 2, 7486, 7487, 7, 84, 2, 2, 7487, 7488, 7, 69, 2, 2, 7488, 7489, 7, 71, 2, 2, 7489, 7490, 7, 80, 2, 2, 7490, 7491, 7, 86, 2, 2, 7491, 1154, 3, 2, 2, 2, 7492, 7493, 7, 79, 2, 2, 7493, 7494, 7, 67, 2, 2, 7494, 7495, 7, 90, 2, 2, 7495, 7496, 7, 97, 2, 2, 7496, 7497, 7, 70, 2, 2, 7497, 7498, 7, 81, 2, 2, 7498, 7499, 7, 82, 2, 2, 7499, 1156, 3, 2, 2, 2, 7500, 7501, 7, 79, 2, 2, 7501, 7502, 7, 67, 2, 2, 7502, 7503, 7, 90, 2, 2, 7503, 7504, 7, 97, 2, 2, 7504, 7505, 7, 72, 2, 2, 7505, 7506, 7, 75, 2, 2, 7506, 7507, 7, 78, 2, 2, 7507, 7508, 7, 71, 2, 2, 7508, 7509, 7, 85, 2, 2, 7509, 1158, 3, 2, 2, 2, 7510, 7511, 7, 79, 2, 2, 7511, 7512, 7, 67, 2, 2, 7512, 7513, 7, 90, 2, 2, 7513, 7514, 7, 97, 2, 2, 7514, 7515, 7, 75, 2, 2, 7515, 7516, 7, 81, 2, 2, 7516, 7517, 7, 82, 2, 2, 7517, 7518, 7, 85, 2, 2, 7518, 7519, 7, 97, 2, 2, 7519, 7520, 7, 82, 2, 2, 7520, 7521, 7, 71, 2, 2, 7521, 7522, 7, 84, 2, 2, 7522, 7523, 7, 97, 2, 2, 7523, 7524, 7, 88, 2, 2, 7524, 7525, 7, 81, 2, 2, 7525, 7526, 7, 78, 2, 2, 7526, 7527, 7, 87, 2, 2, 7527, 7528, 7, 79, 2, 2, 7528, 7529, 7, 71, 2, 2, 7529, 1160, 3, 2, 2, 2, 7530, 7531, 7, 79, 2, 2, 7531, 7532, 7, 67, 2, 2, 7532, 7533, 7, 90, 2, 2, 7533, 7534, 7, 97, 2, 2, 7534, 7535, 7, 79, 2, 2, 7535, 7536, 7, 71, 2, 2, 7536, 7537, 7, 79, 2, 2, 7537, 7538, 7, 81, 2, 2, 7538, 7539, 7, 84, 2, 2, 7539, 7540, 7, 91, 2, 2, 7540, 7541, 7, 97, 2, 2, 7541, 7542, 7, 82, 2, 2, 7542, 7543, 7, 71, 2, 2, 7543, 7544, 7, 84, 2, 2, 7544, 7545, 7, 69, 2, 2, 7545, 7546, 7, 71, 2, 2, 7546, 7547, 7, 80, 2, 2, 7547, 7548, 7, 86, 2, 2, 7548, 1162, 3, 2, 2, 2, 7549, 7550, 7, 79, 2, 2, 7550, 7551, 7, 67, 2, 2, 7551, 7552, 7, 90, 2, 2, 7552, 7553, 7, 97, 2, 2, 7553, 7554, 7, 82, 2, 2, 7554, 7555, 7, 84, 2, 2, 7555, 7556, 7, 81, 2, 2, 7556, 7557, 7, 69, 2, 2, 7557, 7558, 7, 71, 2, 2, 7558, 7559, 7, 85, 2, 2, 7559, 7560, 7, 85, 2, 2, 7560, 7561, 7, 71, 2, 2, 7561, 7562, 7, 85, 2, 2, 7562, 1164, 3, 2, 2, 2, 7563, 7564, 7, 79, 2, 2, 7564, 7565, 7, 67, 2, 2, 7565, 7566, 7, 90, 2, 2, 7566, 7567, 7, 97, 2, 2, 7567, 7568, 7, 83, 2, 2, 7568, 7569, 7, 87, 2, 2, 7569, 7570, 7, 71, 2, 2, 7570, 7571, 7, 87, 2, 2, 7571, 7572, 7, 71, 2, 2, 7572, 7573, 7, 97, 2, 2, 7573, 7574, 7, 84, 2, 2, 7574, 7575, 7, 71, 2, 2, 7575, 7576, 7, 67, 2, 2, 7576, 7577, 7, 70, 2, 2, 7577, 7578, 7, 71, 2, 2, 7578, 7579, 7, 84, 2, 2, 7579, 7580, 7, 85, 2, 2, 7580, 1166, 3, 2, 2, 2, 7581, 7582, 7, 79, 2, 2, 7582, 7583, 7, 67, 2, 2, 7583, 7584, 7, 90, 2, 2, 7584, 7585, 7, 97, 2, 2, 7585, 7586, 7, 84, 2, 2, 7586, 7587, 7, 81, 2, 2, 7587, 7588, 7, 78, 2, 2, 7588, 7589, 7, 78, 2, 2, 7589, 7590, 7, 81, 2, 2, 7590, 7591, 7, 88, 2, 2, 7591, 7592, 7, 71, 2, 2, 7592, 7593, 7, 84, 2, 2, 7593, 7594, 7, 97, 2, 2, 7594, 7595, 7, 72, 2, 2, 7595, 7596, 7, 75, 2, 2, 7596, 7597, 7, 78, 2, 2, 7597, 7598, 7, 71, 2, 2, 7598, 7599, 7, 85, 2, 2, 7599, 1168, 3, 2, 2, 2, 7600, 7601, 7, 79, 2, 2, 7601, 7602, 7, 67, 2, 2, 7602, 7603, 7, 90, 2, 2, 7603, 7604, 7, 70, 2, 2, 7604, 7605, 7, 81, 2, 2, 7605, 7606, 7, 82, 2, 2, 7606, 1170, 3, 2, 2, 2, 7607, 7608, 7, 79, 2, 2, 7608, 7609, 7, 67, 2, 2, 7609, 7610, 7, 90, 2, 2, 7610, 7611, 7, 84, 2, 2, 7611, 7612, 7, 71, 2, 2, 7612, 7613, 7, 69, 2, 2, 7613, 7614, 7, 87, 2, 2, 7614, 7615, 7, 84, 2, 2, 7615, 7616, 7, 85, 2, 2, 7616, 7617, 7, 75, 2, 2, 7617, 7618, 7, 81, 2, 2, 7618, 7619, 7, 80, 2, 2, 7619, 1172, 3, 2, 2, 2, 7620, 7621, 7, 79, 2, 2, 7621, 7622, 7, 67, 2, 2, 7622, 7623, 7, 90, 2, 2, 7623, 7624, 7, 85, 2, 2, 7624, 7625, 7, 75, 2, 2, 7625, 7626, 7, 92, 2, 2, 7626, 7627, 7, 71, 2, 2, 7627, 1174, 3, 2, 2, 2, 7628, 7629, 7, 79, 2, 2, 7629, 7630, 7, 68, 2, 2, 7630, 1176, 3, 2, 2, 2, 7631, 7632, 7, 79, 2, 2, 7632, 7633, 7, 71, 2, 2, 7633, 7634, 7, 70, 2, 2, 7634, 7635, 7, 75, 2, 2, 7635, 7636, 7, 87, 2, 2, 7636, 7637, 7, 79, 2, 2, 7637, 1178, 3, 2, 2, 2, 7638, 7639, 7, 79, 2, 2, 7639, 7640, 7, 71, 2, 2, 7640, 7641, 7, 79, 2, 2, 7641, 7642, 7, 81, 2, 2, 7642, 7643, 7, 84, 2, 2, 7643, 7644, 7, 91, 2, 2, 7644, 7645, 7, 97, 2, 2, 7645, 7646, 7, 81, 2, 2, 7646, 7647, 7, 82, 2, 2, 7647, 7648, 7, 86, 2, 2, 7648, 7649, 7, 75, 2, 2, 7649, 7650, 7, 79, 2, 2, 7650, 7651, 7, 75, 2, 2, 7651, 7652, 7, 92, 2, 2, 7652, 7653, 7, 71, 2, 2, 7653, 7654, 7, 70, 2, 2, 7654, 7655, 7, 97, 2, 2, 7655, 7656, 7, 70, 2, 2, 7656, 7657, 7, 67, 2, 2, 7657, 7658, 7, 86, 2, 2, 7658, 7659, 7, 67, 2, 2, 7659, 1180, 3, 2, 2, 2, 7660, 7661, 7, 79, 2, 2, 7661, 7662, 7, 71, 2, 2, 7662, 7663, 7, 85, 2, 2, 7663, 7664, 7, 85, 2, 2, 7664, 7665, 7, 67, 2, 2, 7665, 7666, 7, 73, 2, 2, 7666, 7667, 7, 71, 2, 2, 7667, 1182, 3, 2, 2, 2, 7668, 7669, 7, 79, 2, 2, 7669, 7670, 7, 75, 2, 2, 7670, 7671, 7, 80, 2, 2, 7671, 1184, 3, 2, 2, 2, 7672, 7673, 7, 79, 2, 2, 7673, 7674, 7, 75, 2, 2, 7674, 7675, 7, 80, 2, 2, 7675, 7676, 7, 97, 2, 2, 7676, 7677, 7, 67, 2, 2, 7677, 7678, 7, 69, 2, 2, 7678, 7679, 7, 86, 2, 2, 7679, 7680, 7, 75, 2, 2, 7680, 7681, 7, 88, 2, 2, 7681, 7682, 7, 71, 2, 2, 7682, 7683, 7, 97, 2, 2, 7683, 7684, 7, 84, 2, 2, 7684, 7685, 7, 81, 2, 2, 7685, 7686, 7, 89, 2, 2, 7686, 7687, 7, 88, 2, 2, 7687, 7688, 7, 71, 2, 2, 7688, 7689, 7, 84, 2, 2, 7689, 7690, 7, 85, 2, 2, 7690, 7691, 7, 75, 2, 2, 7691, 7692, 7, 81, 2, 2, 7692, 7693, 7, 80, 2, 2, 7693, 1186, 3, 2, 2, 2, 7694, 7695, 7, 79, 2, 2, 7695, 7696, 7, 75, 2, 2, 7696, 7697, 7, 80, 2, 2, 7697, 7698, 7, 97, 2, 2, 7698, 7699, 7, 69, 2, 2, 7699, 7700, 7, 82, 2, 2, 7700, 7701, 7, 87, 2, 2, 7701, 7702, 7, 97, 2, 2, 7702, 7703, 7, 82, 2, 2, 7703, 7704, 7, 71, 2, 2, 7704, 7705, 7, 84, 2, 2, 7705, 7706, 7, 69, 2, 2, 7706, 7707, 7, 71, 2, 2, 7707, 7708, 7, 80, 2, 2, 7708, 7709, 7, 86, 2, 2, 7709, 1188, 3, 2, 2, 2, 7710, 7711, 7, 79, 2, 2, 7711, 7712, 7, 75, 2, 2, 7712, 7713, 7, 80, 2, 2, 7713, 7714, 7, 97, 2, 2, 7714, 7715, 7, 75, 2, 2, 7715, 7716, 7, 81, 2, 2, 7716, 7717, 7, 82, 2, 2, 7717, 7718, 7, 85, 2, 2, 7718, 7719, 7, 97, 2, 2, 7719, 7720, 7, 82, 2, 2, 7720, 7721, 7, 71, 2, 2, 7721, 7722, 7, 84, 2, 2, 7722, 7723, 7, 97, 2, 2, 7723, 7724, 7, 88, 2, 2, 7724, 7725, 7, 81, 2, 2, 7725, 7726, 7, 78, 2, 2, 7726, 7727, 7, 87, 2, 2, 7727, 7728, 7, 79, 2, 2, 7728, 7729, 7, 71, 2, 2, 7729, 1190, 3, 2, 2, 2, 7730, 7731, 7, 79, 2, 2, 7731, 7732, 7, 75, 2, 2, 7732, 7733, 7, 80, 2, 2, 7733, 7734, 7, 97, 2, 2, 7734, 7735, 7, 79, 2, 2, 7735, 7736, 7, 71, 2, 2, 7736, 7737, 7, 79, 2, 2, 7737, 7738, 7, 81, 2, 2, 7738, 7739, 7, 84, 2, 2, 7739, 7740, 7, 91, 2, 2, 7740, 7741, 7, 97, 2, 2, 7741, 7742, 7, 82, 2, 2, 7742, 7743, 7, 71, 2, 2, 7743, 7744, 7, 84, 2, 2, 7744, 7745, 7, 69, 2, 2, 7745, 7746, 7, 71, 2, 2, 7746, 7747, 7, 80, 2, 2, 7747, 7748, 7, 86, 2, 2, 7748, 1192, 3, 2, 2, 2, 7749, 7750, 7, 79, 2, 2, 7750, 7751, 7, 75, 2, 2, 7751, 7752, 7, 80, 2, 2, 7752, 7753, 7, 87, 2, 2, 7753, 7754, 7, 86, 2, 2, 7754, 7755, 7, 71, 2, 2, 7755, 7756, 7, 85, 2, 2, 7756, 1194, 3, 2, 2, 2, 7757, 7758, 7, 79, 2, 2, 7758, 7759, 7, 75, 2, 2, 7759, 7760, 7, 84, 2, 2, 7760, 7761, 7, 84, 2, 2, 7761, 7762, 7, 81, 2, 2, 7762, 7763, 7, 84, 2, 2, 7763, 7764, 7, 97, 2, 2, 7764, 7765, 7, 67, 2, 2, 7765, 7766, 7, 70, 2, 2, 7766, 7767, 7, 70, 2, 2, 7767, 7768, 7, 84, 2, 2, 7768, 7769, 7, 71, 2, 2, 7769, 7770, 7, 85, 2, 2, 7770, 7771, 7, 85, 2, 2, 7771, 1196, 3, 2, 2, 2, 7772, 7773, 7, 79, 2, 2, 7773, 7774, 7, 75, 2, 2, 7774, 7775, 7, 90, 2, 2, 7775, 7776, 7, 71, 2, 2, 7776, 7777, 7, 70, 2, 2, 7777, 7778, 7, 97, 2, 2, 7778, 7779, 7, 82, 2, 2, 7779, 7780, 7, 67, 2, 2, 7780, 7781, 7, 73, 2, 2, 7781, 7782, 7, 71, 2, 2, 7782, 7783, 7, 97, 2, 2, 7783, 7784, 7, 67, 2, 2, 7784, 7785, 7, 78, 2, 2, 7785, 7786, 7, 78, 2, 2, 7786, 7787, 7, 81, 2, 2, 7787, 7788, 7, 69, 2, 2, 7788, 7789, 7, 67, 2, 2, 7789, 7790, 7, 86, 2, 2, 7790, 7791, 7, 75, 2, 2, 7791, 7792, 7, 81, 2, 2, 7792, 7793, 7, 80, 2, 2, 7793, 1198, 3, 2, 2, 2, 7794, 7795, 7, 79, 2, 2, 7795, 7796, 7, 81, 2, 2, 7796, 7797, 7, 70, 2, 2, 7797, 7798, 7, 71, 2, 2, 7798, 1200, 3, 2, 2, 2, 7799, 7800, 7, 79, 2, 2, 7800, 7801, 7, 81, 2, 2, 7801, 7802, 7, 70, 2, 2, 7802, 7803, 7, 75, 2, 2, 7803, 7804, 7, 72, 2, 2, 7804, 7805, 7, 91, 2, 2, 7805, 1202, 3, 2, 2, 2, 7806, 7807, 7, 79, 2, 2, 7807, 7808, 7, 81, 2, 2, 7808, 7809, 7, 88, 2, 2, 7809, 7810, 7, 71, 2, 2, 7810, 1204, 3, 2, 2, 2, 7811, 7812, 7, 79, 2, 2, 7812, 7813, 7, 87, 2, 2, 7813, 7814, 7, 78, 2, 2, 7814, 7815, 7, 86, 2, 2, 7815, 7816, 7, 75, 2, 2, 7816, 7817, 7, 97, 2, 2, 7817, 7818, 7, 87, 2, 2, 7818, 7819, 7, 85, 2, 2, 7819, 7820, 7, 71, 2, 2, 7820, 7821, 7, 84, 2, 2, 7821, 1206, 3, 2, 2, 2, 7822, 7823, 7, 80, 2, 2, 7823, 7824, 7, 67, 2, 2, 7824, 7825, 7, 79, 2, 2, 7825, 7826, 7, 71, 2, 2, 7826, 1208, 3, 2, 2, 2, 7827, 7828, 7, 80, 2, 2, 7828, 7829, 7, 71, 2, 2, 7829, 7830, 7, 85, 2, 2, 7830, 7831, 7, 86, 2, 2, 7831, 7832, 7, 71, 2, 2, 7832, 7833, 7, 70, 2, 2, 7833, 7834, 7, 97, 2, 2, 7834, 7835, 7, 86, 2, 2, 7835, 7836, 7, 84, 2, 2, 7836, 7837, 7, 75, 2, 2, 7837, 7838, 7, 73, 2, 2, 7838, 7839, 7, 73, 2, 2, 7839, 7840, 7, 71, 2, 2, 7840, 7841, 7, 84, 2, 2, 7841, 7842, 7, 85, 2, 2, 7842, 1210, 3, 2, 2, 2, 7843, 7844, 7, 80, 2, 2, 7844, 7845, 7, 71, 2, 2, 7845, 7846, 7, 89, 2, 2, 7846, 7847, 7, 97, 2, 2, 7847, 7848, 7, 67, 2, 2, 7848, 7849, 7, 69, 2, 2, 7849, 7850, 7, 69, 2, 2, 7850, 7851, 7, 81, 2, 2, 7851, 7852, 7, 87, 2, 2, 7852, 7853, 7, 80, 2, 2, 7853, 7854, 7, 86, 2, 2, 7854, 1212, 3, 2, 2, 2, 7855, 7856, 7, 80, 2, 2, 7856, 7857, 7, 71, 2, 2, 7857, 7858, 7, 89, 2, 2, 7858, 7859, 7, 97, 2, 2, 7859, 7860, 7, 68, 2, 2, 7860, 7861, 7, 84, 2, 2, 7861, 7862, 7, 81, 2, 2, 7862, 7863, 7, 77, 2, 2, 7863, 7864, 7, 71, 2, 2, 7864, 7865, 7, 84, 2, 2, 7865, 1214, 3, 2, 2, 2, 7866, 7867, 7, 80, 2, 2, 7867, 7868, 7, 71, 2, 2, 7868, 7869, 7, 89, 2, 2, 7869, 7870, 7, 97, 2, 2, 7870, 7871, 7, 82, 2, 2, 7871, 7872, 7, 67, 2, 2, 7872, 7873, 7, 85, 2, 2, 7873, 7874, 7, 85, 2, 2, 7874, 7875, 7, 89, 2, 2, 7875, 7876, 7, 81, 2, 2, 7876, 7877, 7, 84, 2, 2, 7877, 7878, 7, 70, 2, 2, 7878, 1216, 3, 2, 2, 2, 7879, 7880, 7, 80, 2, 2, 7880, 7881, 7, 71, 2, 2, 7881, 7882, 7, 90, 2, 2, 7882, 7883, 7, 86, 2, 2, 7883, 1218, 3, 2, 2, 2, 7884, 7885, 7, 80, 2, 2, 7885, 7886, 7, 81, 2, 2, 7886, 1220, 3, 2, 2, 2, 7887, 7888, 7, 80, 2, 2, 7888, 7889, 7, 81, 2, 2, 7889, 7890, 7, 97, 2, 2, 7890, 7891, 7, 86, 2, 2, 7891, 7892, 7, 84, 2, 2, 7892, 7893, 7, 87, 2, 2, 7893, 7894, 7, 80, 2, 2, 7894, 7895, 7, 69, 2, 2, 7895, 7896, 7, 67, 2, 2, 7896, 7897, 7, 86, 2, 2, 7897, 7898, 7, 71, 2, 2, 7898, 1222, 3, 2, 2, 2, 7899, 7900, 7, 80, 2, 2, 7900, 7901, 7, 81, 2, 2, 7901, 7902, 7, 97, 2, 2, 7902, 7903, 7, 89, 2, 2, 7903, 7904, 7, 67, 2, 2, 7904, 7905, 7, 75, 2, 2, 7905, 7906, 7, 86, 2, 2, 7906, 1224, 3, 2, 2, 2, 7907, 7908, 7, 80, 2, 2, 7908, 7909, 7, 81, 2, 2, 7909, 7910, 7, 69, 2, 2, 7910, 7911, 7, 81, 2, 2, 7911, 7912, 7, 87, 2, 2, 7912, 7913, 7, 80, 2, 2, 7913, 7914, 7, 86, 2, 2, 7914, 1226, 3, 2, 2, 2, 7915, 7916, 7, 80, 2, 2, 7916, 7917, 7, 81, 2, 2, 7917, 7918, 7, 70, 2, 2, 7918, 7919, 7, 71, 2, 2, 7919, 7920, 7, 85, 2, 2, 7920, 1228, 3, 2, 2, 2, 7921, 7922, 7, 80, 2, 2, 7922, 7923, 7, 81, 2, 2, 7923, 7924, 7, 71, 2, 2, 7924, 7925, 7, 90, 2, 2, 7925, 7926, 7, 82, 2, 2, 7926, 7927, 7, 67, 2, 2, 7927, 7928, 7, 80, 2, 2, 7928, 7929, 7, 70, 2, 2, 7929, 1230, 3, 2, 2, 2, 7930, 7931, 7, 80, 2, 2, 7931, 7932, 7, 81, 2, 2, 7932, 7933, 7, 80, 2, 2, 7933, 7934, 7, 97, 2, 2, 7934, 7935, 7, 86, 2, 2, 7935, 7936, 7, 84, 2, 2, 7936, 7937, 7, 67, 2, 2, 7937, 7938, 7, 80, 2, 2, 7938, 7939, 7, 85, 2, 2, 7939, 7940, 7, 67, 2, 2, 7940, 7941, 7, 69, 2, 2, 7941, 7942, 7, 86, 2, 2, 7942, 7943, 7, 71, 2, 2, 7943, 7944, 7, 70, 2, 2, 7944, 7945, 7, 97, 2, 2, 7945, 7946, 7, 67, 2, 2, 7946, 7947, 7, 69, 2, 2, 7947, 7948, 7, 69, 2, 2, 7948, 7949, 7, 71, 2, 2, 7949, 7950, 7, 85, 2, 2, 7950, 7951, 7, 85, 2, 2, 7951, 1232, 3, 2, 2, 2, 7952, 7953, 7, 80, 2, 2, 7953, 7954, 7, 81, 2, 2, 7954, 7955, 7, 84, 2, 2, 7955, 7956, 7, 71, 2, 2, 7956, 7957, 7, 69, 2, 2, 7957, 7958, 7, 81, 2, 2, 7958, 7959, 7, 79, 2, 2, 7959, 7960, 7, 82, 2, 2, 7960, 7961, 7, 87, 2, 2, 7961, 7962, 7, 86, 2, 2, 7962, 7963, 7, 71, 2, 2, 7963, 1234, 3, 2, 2, 2, 7964, 7965, 7, 80, 2, 2, 7965, 7966, 7, 81, 2, 2, 7966, 7967, 7, 84, 2, 2, 7967, 7968, 7, 71, 2, 2, 7968, 7969, 7, 69, 2, 2, 7969, 7970, 7, 81, 2, 2, 7970, 7971, 7, 88, 2, 2, 7971, 7972, 7, 71, 2, 2, 7972, 7973, 7, 84, 2, 2, 7973, 7974, 7, 91, 2, 2, 7974, 1236, 3, 2, 2, 2, 7975, 7976, 7, 80, 2, 2, 7976, 7977, 7, 81, 2, 2, 7977, 7978, 7, 89, 2, 2, 7978, 7979, 7, 67, 2, 2, 7979, 7980, 7, 75, 2, 2, 7980, 7981, 7, 86, 2, 2, 7981, 1238, 3, 2, 2, 2, 7982, 7983, 7, 80, 2, 2, 7983, 7984, 7, 86, 2, 2, 7984, 7985, 7, 75, 2, 2, 7985, 7986, 7, 78, 2, 2, 7986, 7987, 7, 71, 2, 2, 7987, 1240, 3, 2, 2, 2, 7988, 7989, 7, 80, 2, 2, 7989, 7990, 7, 87, 2, 2, 7990, 7991, 7, 79, 2, 2, 7991, 7992, 7, 67, 2, 2, 7992, 7993, 7, 80, 2, 2, 7993, 7994, 7, 81, 2, 2, 7994, 7995, 7, 70, 2, 2, 7995, 7996, 7, 71, 2, 2, 7996, 1242, 3, 2, 2, 2, 7997, 7998, 7, 80, 2, 2, 7998, 7999, 7, 87, 2, 2, 7999, 8000, 7, 79, 2, 2, 8000, 8001, 7, 68, 2, 2, 8001, 8002, 7, 71, 2, 2, 8002, 8003, 7, 84, 2, 2, 8003, 1244, 3, 2, 2, 2, 8004, 8005, 7, 80, 2, 2, 8005, 8006, 7, 87, 2, 2, 8006, 8007, 7, 79, 2, 2, 8007, 8008, 7, 71, 2, 2, 8008, 8009, 7, 84, 2, 2, 8009, 8010, 7, 75, 2, 2, 8010, 8011, 7, 69, 2, 2, 8011, 8012, 7, 97, 2, 2, 8012, 8013, 7, 84, 2, 2, 8013, 8014, 7, 81, 2, 2, 8014, 8015, 7, 87, 2, 2, 8015, 8016, 7, 80, 2, 2, 8016, 8017, 7, 70, 2, 2, 8017, 8018, 7, 67, 2, 2, 8018, 8019, 7, 68, 2, 2, 8019, 8020, 7, 81, 2, 2, 8020, 8021, 7, 84, 2, 2, 8021, 8022, 7, 86, 2, 2, 8022, 1246, 3, 2, 2, 2, 8023, 8024, 7, 81, 2, 2, 8024, 8025, 7, 68, 2, 2, 8025, 8026, 7, 76, 2, 2, 8026, 8027, 7, 71, 2, 2, 8027, 8028, 7, 69, 2, 2, 8028, 8029, 7, 86, 2, 2, 8029, 1248, 3, 2, 2, 2, 8030, 8031, 7, 81, 2, 2, 8031, 8032, 7, 72, 2, 2, 8032, 8033, 7, 72, 2, 2, 8033, 8034, 7, 78, 2, 2, 8034, 8035, 7, 75, 2, 2, 8035, 8036, 7, 80, 2, 2, 8036, 8037, 7, 71, 2, 2, 8037, 1250, 3, 2, 2, 2, 8038, 8039, 7, 81, 2, 2, 8039, 8040, 7, 72, 2, 2, 8040, 8041, 7, 72, 2, 2, 8041, 8042, 7, 85, 2, 2, 8042, 8043, 7, 71, 2, 2, 8043, 8044, 7, 86, 2, 2, 8044, 1252, 3, 2, 2, 2, 8045, 8046, 7, 81, 2, 2, 8046, 8047, 7, 78, 2, 2, 8047, 8048, 7, 70, 2, 2, 8048, 8049, 7, 97, 2, 2, 8049, 8050, 7, 67, 2, 2, 8050, 8051, 7, 69, 2, 2, 8051, 8052, 7, 69, 2, 2, 8052, 8053, 7, 81, 2, 2, 8053, 8054, 7, 87, 2, 2, 8054, 8055, 7, 80, 2, 2, 8055, 8056, 7, 86, 2, 2, 8056, 1254, 3, 2, 2, 2, 8057, 8058, 7, 81, 2, 2, 8058, 8059, 7, 80, 2, 2, 8059, 8060, 7, 78, 2, 2, 8060, 8061, 7, 75, 2, 2, 8061, 8062, 7, 80, 2, 2, 8062, 8063, 7, 71, 2, 2, 8063, 1256, 3, 2, 2, 2, 8064, 8065, 7, 81, 2, 2, 8065, 8066, 7, 80, 2, 2, 8066, 8067, 7, 78, 2, 2, 8067, 8068, 7, 91, 2, 2, 8068, 1258, 3, 2, 2, 2, 8069, 8070, 7, 81, 2, 2, 8070, 8071, 7, 82, 2, 2, 8071, 8072, 7, 71, 2, 2, 8072, 8073, 7, 80, 2, 2, 8073, 8074, 7, 97, 2, 2, 8074, 8075, 7, 71, 2, 2, 8075, 8076, 7, 90, 2, 2, 8076, 8077, 7, 75, 2, 2, 8077, 8078, 7, 85, 2, 2, 8078, 8079, 7, 86, 2, 2, 8079, 8080, 7, 75, 2, 2, 8080, 8081, 7, 80, 2, 2, 8081, 8082, 7, 73, 2, 2, 8082, 1260, 3, 2, 2, 2, 8083, 8084, 7, 81, 2, 2, 8084, 8085, 7, 82, 2, 2, 8085, 8086, 7, 86, 2, 2, 8086, 8087, 7, 75, 2, 2, 8087, 8088, 7, 79, 2, 2, 8088, 8089, 7, 75, 2, 2, 8089, 8090, 7, 85, 2, 2, 8090, 8091, 7, 86, 2, 2, 8091, 8092, 7, 75, 2, 2, 8092, 8093, 7, 69, 2, 2, 8093, 1262, 3, 2, 2, 2, 8094, 8095, 7, 81, 2, 2, 8095, 8096, 7, 82, 2, 2, 8096, 8097, 7, 86, 2, 2, 8097, 8098, 7, 75, 2, 2, 8098, 8099, 7, 79, 2, 2, 8099, 8100, 7, 75, 2, 2, 8100, 8101, 7, 92, 2, 2, 8101, 8102, 7, 71, 2, 2, 8102, 1264, 3, 2, 2, 2, 8103, 8104, 7, 81, 2, 2, 8104, 8105, 7, 87, 2, 2, 8105, 8106, 7, 86, 2, 2, 8106, 1266, 3, 2, 2, 2, 8107, 8108, 7, 81, 2, 2, 8108, 8109, 7, 87, 2, 2, 8109, 8110, 7, 86, 2, 2, 8110, 8111, 7, 82, 2, 2, 8111, 8112, 7, 87, 2, 2, 8112, 8113, 7, 86, 2, 2, 8113, 1268, 3, 2, 2, 2, 8114, 8115, 7, 81, 2, 2, 8115, 8116, 7, 88, 2, 2, 8116, 8117, 7, 71, 2, 2, 8117, 8118, 7, 84, 2, 2, 8118, 8119, 7, 84, 2, 2, 8119, 8120, 7, 75, 2, 2, 8120, 8121, 7, 70, 2, 2, 8121, 8122, 7, 71, 2, 2, 8122, 1270, 3, 2, 2, 2, 8123, 8124, 7, 81, 2, 2, 8124, 8125, 7, 89, 2, 2, 8125, 8126, 7, 80, 2, 2, 8126, 8127, 7, 71, 2, 2, 8127, 8128, 7, 84, 2, 2, 8128, 1272, 3, 2, 2, 2, 8129, 8130, 7, 82, 2, 2, 8130, 8131, 7, 67, 2, 2, 8131, 8132, 7, 73, 2, 2, 8132, 8133, 7, 71, 2, 2, 8133, 8134, 7, 97, 2, 2, 8134, 8135, 7, 88, 2, 2, 8135, 8136, 7, 71, 2, 2, 8136, 8137, 7, 84, 2, 2, 8137, 8138, 7, 75, 2, 2, 8138, 8139, 7, 72, 2, 2, 8139, 8140, 7, 91, 2, 2, 8140, 1274, 3, 2, 2, 2, 8141, 8142, 7, 82, 2, 2, 8142, 8143, 7, 67, 2, 2, 8143, 8144, 7, 84, 2, 2, 8144, 8145, 7, 67, 2, 2, 8145, 8146, 7, 79, 2, 2, 8146, 8147, 7, 71, 2, 2, 8147, 8148, 7, 86, 2, 2, 8148, 8149, 7, 71, 2, 2, 8149, 8150, 7, 84, 2, 2, 8150, 8151, 7, 75, 2, 2, 8151, 8152, 7, 92, 2, 2, 8152, 8153, 7, 67, 2, 2, 8153, 8154, 7, 86, 2, 2, 8154, 8155, 7, 75, 2, 2, 8155, 8156, 7, 81, 2, 2, 8156, 8157, 7, 80, 2, 2, 8157, 1276, 3, 2, 2, 2, 8158, 8159, 7, 82, 2, 2, 8159, 8160, 7, 67, 2, 2, 8160, 8161, 7, 84, 2, 2, 8161, 8162, 7, 86, 2, 2, 8162, 8163, 7, 75, 2, 2, 8163, 8164, 7, 86, 2, 2, 8164, 8165, 7, 75, 2, 2, 8165, 8166, 7, 81, 2, 2, 8166, 8167, 7, 80, 2, 2, 8167, 1278, 3, 2, 2, 2, 8168, 8169, 7, 82, 2, 2, 8169, 8170, 7, 67, 2, 2, 8170, 8171, 7, 84, 2, 2, 8171, 8172, 7, 86, 2, 2, 8172, 8173, 7, 75, 2, 2, 8173, 8174, 7, 86, 2, 2, 8174, 8175, 7, 75, 2, 2, 8175, 8176, 7, 81, 2, 2, 8176, 8177, 7, 80, 2, 2, 8177, 8178, 7, 85, 2, 2, 8178, 1280, 3, 2, 2, 2, 8179, 8180, 7, 82, 2, 2, 8180, 8181, 7, 67, 2, 2, 8181, 8182, 7, 84, 2, 2, 8182, 8183, 7, 86, 2, 2, 8183, 8184, 7, 80, 2, 2, 8184, 8185, 7, 71, 2, 2, 8185, 8186, 7, 84, 2, 2, 8186, 1282, 3, 2, 2, 2, 8187, 8188, 7, 82, 2, 2, 8188, 8189, 7, 67, 2, 2, 8189, 8190, 7, 86, 2, 2, 8190, 8191, 7, 74, 2, 2, 8191, 1284, 3, 2, 2, 2, 8192, 8193, 7, 82, 2, 2, 8193, 8194, 7, 81, 2, 2, 8194, 8195, 7, 75, 2, 2, 8195, 8196, 7, 85, 2, 2, 8196, 8197, 7, 81, 2, 2, 8197, 8198, 7, 80, 2, 2, 8198, 8199, 7, 97, 2, 2, 8199, 8200, 7, 79, 2, 2, 8200, 8201, 7, 71, 2, 2, 8201, 8202, 7, 85, 2, 2, 8202, 8203, 7, 85, 2, 2, 8203, 8204, 7, 67, 2, 2, 8204, 8205, 7, 73, 2, 2, 8205, 8206, 7, 71, 2, 2, 8206, 8207, 7, 97, 2, 2, 8207, 8208, 7, 74, 2, 2, 8208, 8209, 7, 67, 2, 2, 8209, 8210, 7, 80, 2, 2, 8210, 8211, 7, 70, 2, 2, 8211, 8212, 7, 78, 2, 2, 8212, 8213, 7, 75, 2, 2, 8213, 8214, 7, 80, 2, 2, 8214, 8215, 7, 73, 2, 2, 8215, 1286, 3, 2, 2, 2, 8216, 8217, 7, 82, 2, 2, 8217, 8218, 7, 81, 2, 2, 8218, 8219, 7, 81, 2, 2, 8219, 8220, 7, 78, 2, 2, 8220, 1288, 3, 2, 2, 2, 8221, 8222, 7, 82, 2, 2, 8222, 8223, 7, 81, 2, 2, 8223, 8224, 7, 84, 2, 2, 8224, 8225, 7, 86, 2, 2, 8225, 1290, 3, 2, 2, 2, 8226, 8227, 7, 82, 2, 2, 8227, 8228, 7, 84, 2, 2, 8228, 8229, 7, 71, 2, 2, 8229, 8230, 7, 69, 2, 2, 8230, 8231, 7, 71, 2, 2, 8231, 8232, 7, 70, 2, 2, 8232, 8233, 7, 75, 2, 2, 8233, 8234, 7, 80, 2, 2, 8234, 8235, 7, 73, 2, 2, 8235, 1292, 3, 2, 2, 2, 8236, 8237, 7, 82, 2, 2, 8237, 8238, 7, 84, 2, 2, 8238, 8239, 7, 75, 2, 2, 8239, 8240, 7, 79, 2, 2, 8240, 8241, 7, 67, 2, 2, 8241, 8242, 7, 84, 2, 2, 8242, 8243, 7, 91, 2, 2, 8243, 8244, 7, 97, 2, 2, 8244, 8245, 7, 84, 2, 2, 8245, 8246, 7, 81, 2, 2, 8246, 8247, 7, 78, 2, 2, 8247, 8248, 7, 71, 2, 2, 8248, 1294, 3, 2, 2, 2, 8249, 8250, 7, 82, 2, 2, 8250, 8251, 7, 84, 2, 2, 8251, 8252, 7, 75, 2, 2, 8252, 8253, 7, 81, 2, 2, 8253, 8254, 7, 84, 2, 2, 8254, 1296, 3, 2, 2, 2, 8255, 8256, 7, 82, 2, 2, 8256, 8257, 7, 84, 2, 2, 8257, 8258, 7, 75, 2, 2, 8258, 8259, 7, 81, 2, 2, 8259, 8260, 7, 84, 2, 2, 8260, 8261, 7, 75, 2, 2, 8261, 8262, 7, 86, 2, 2, 8262, 8263, 7, 91, 2, 2, 8263, 1298, 3, 2, 2, 2, 8264, 8265, 7, 82, 2, 2, 8265, 8266, 7, 84, 2, 2, 8266, 8267, 7, 75, 2, 2, 8267, 8268, 7, 81, 2, 2, 8268, 8269, 7, 84, 2, 2, 8269, 8270, 7, 75, 2, 2, 8270, 8271, 7, 86, 2, 2, 8271, 8272, 7, 91, 2, 2, 8272, 8273, 7, 97, 2, 2, 8273, 8274, 7, 78, 2, 2, 8274, 8275, 7, 71, 2, 2, 8275, 8276, 7, 88, 2, 2, 8276, 8277, 7, 71, 2, 2, 8277, 8278, 7, 78, 2, 2, 8278, 1300, 3, 2, 2, 2, 8279, 8280, 7, 82, 2, 2, 8280, 8281, 7, 84, 2, 2, 8281, 8282, 7, 75, 2, 2, 8282, 8283, 7, 88, 2, 2, 8283, 8284, 7, 67, 2, 2, 8284, 8285, 7, 86, 2, 2, 8285, 8286, 7, 71, 2, 2, 8286, 1302, 3, 2, 2, 2, 8287, 8288, 7, 82, 2, 2, 8288, 8289, 7, 84, 2, 2, 8289, 8290, 7, 75, 2, 2, 8290, 8291, 7, 88, 2, 2, 8291, 8292, 7, 67, 2, 2, 8292, 8293, 7, 86, 2, 2, 8293, 8294, 7, 71, 2, 2, 8294, 8295, 7, 97, 2, 2, 8295, 8296, 7, 77, 2, 2, 8296, 8297, 7, 71, 2, 2, 8297, 8298, 7, 91, 2, 2, 8298, 1304, 3, 2, 2, 2, 8299, 8300, 7, 82, 2, 2, 8300, 8301, 7, 84, 2, 2, 8301, 8302, 7, 75, 2, 2, 8302, 8303, 7, 88, 2, 2, 8303, 8304, 7, 75, 2, 2, 8304, 8305, 7, 78, 2, 2, 8305, 8306, 7, 71, 2, 2, 8306, 8307, 7, 73, 2, 2, 8307, 8308, 7, 71, 2, 2, 8308, 8309, 7, 85, 2, 2, 8309, 1306, 3, 2, 2, 2, 8310, 8311, 7, 82, 2, 2, 8311, 8312, 7, 84, 2, 2, 8312, 8313, 7, 81, 2, 2, 8313, 8314, 7, 69, 2, 2, 8314, 8315, 7, 71, 2, 2, 8315, 8316, 7, 70, 2, 2, 8316, 8317, 7, 87, 2, 2, 8317, 8318, 7, 84, 2, 2, 8318, 8319, 7, 71, 2, 2, 8319, 8320, 7, 97, 2, 2, 8320, 8321, 7, 80, 2, 2, 8321, 8322, 7, 67, 2, 2, 8322, 8323, 7, 79, 2, 2, 8323, 8324, 7, 71, 2, 2, 8324, 1308, 3, 2, 2, 2, 8325, 8326, 7, 82, 2, 2, 8326, 8327, 7, 84, 2, 2, 8327, 8328, 7, 81, 2, 2, 8328, 8329, 7, 82, 2, 2, 8329, 8330, 7, 71, 2, 2, 8330, 8331, 7, 84, 2, 2, 8331, 8332, 7, 86, 2, 2, 8332, 8333, 7, 91, 2, 2, 8333, 1310, 3, 2, 2, 2, 8334, 8335, 7, 82, 2, 2, 8335, 8336, 7, 84, 2, 2, 8336, 8337, 7, 81, 2, 2, 8337, 8338, 7, 88, 2, 2, 8338, 8339, 7, 75, 2, 2, 8339, 8340, 7, 70, 2, 2, 8340, 8341, 7, 71, 2, 2, 8341, 8342, 7, 84, 2, 2, 8342, 1312, 3, 2, 2, 2, 8343, 8344, 7, 82, 2, 2, 8344, 8345, 7, 84, 2, 2, 8345, 8346, 7, 81, 2, 2, 8346, 8347, 7, 88, 2, 2, 8347, 8348, 7, 75, 2, 2, 8348, 8349, 7, 70, 2, 2, 8349, 8350, 7, 71, 2, 2, 8350, 8351, 7, 84, 2, 2, 8351, 8352, 7, 97, 2, 2, 8352, 8353, 7, 77, 2, 2, 8353, 8354, 7, 71, 2, 2, 8354, 8355, 7, 91, 2, 2, 8355, 8356, 7, 97, 2, 2, 8356, 8357, 7, 80, 2, 2, 8357, 8358, 7, 67, 2, 2, 8358, 8359, 7, 79, 2, 2, 8359, 8360, 7, 71, 2, 2, 8360, 1314, 3, 2, 2, 2, 8361, 8362, 7, 83, 2, 2, 8362, 8363, 7, 87, 2, 2, 8363, 8364, 7, 71, 2, 2, 8364, 8365, 7, 84, 2, 2, 8365, 8366, 7, 91, 2, 2, 8366, 1316, 3, 2, 2, 2, 8367, 8368, 7, 83, 2, 2, 8368, 8369, 7, 87, 2, 2, 8369, 8370, 7, 71, 2, 2, 8370, 8371, 7, 87, 2, 2, 8371, 8372, 7, 71, 2, 2, 8372, 1318, 3, 2, 2, 2, 8373, 8374, 7, 83, 2, 2, 8374, 8375, 7, 87, 2, 2, 8375, 8376, 7, 71, 2, 2, 8376, 8377, 7, 87, 2, 2, 8377, 8378, 7, 71, 2, 2, 8378, 8379, 7, 97, 2, 2, 8379, 8380, 7, 70, 2, 2, 8380, 8381, 7, 71, 2, 2, 8381, 8382, 7, 78, 2, 2, 8382, 8383, 7, 67, 2, 2, 8383, 8384, 7, 91, 2, 2, 8384, 1320, 3, 2, 2, 2, 8385, 8386, 7, 83, 2, 2, 8386, 8387, 7, 87, 2, 2, 8387, 8388, 7, 81, 2, 2, 8388, 8389, 7, 86, 2, 2, 8389, 8390, 7, 71, 2, 2, 8390, 8391, 7, 70, 2, 2, 8391, 8392, 7, 97, 2, 2, 8392, 8393, 7, 75, 2, 2, 8393, 8394, 7, 70, 2, 2, 8394, 8395, 7, 71, 2, 2, 8395, 8396, 7, 80, 2, 2, 8396, 8397, 7, 86, 2, 2, 8397, 8398, 7, 75, 2, 2, 8398, 8399, 7, 72, 2, 2, 8399, 8400, 7, 75, 2, 2, 8400, 8401, 7, 71, 2, 2, 8401, 8402, 7, 84, 2, 2, 8402, 1322, 3, 2, 2, 2, 8403, 8404, 7, 84, 2, 2, 8404, 8405, 7, 67, 2, 2, 8405, 8406, 7, 80, 2, 2, 8406, 8407, 7, 73, 2, 2, 8407, 8408, 7, 71, 2, 2, 8408, 1324, 3, 2, 2, 2, 8409, 8410, 7, 84, 2, 2, 8410, 8411, 7, 67, 2, 2, 8411, 8412, 7, 80, 2, 2, 8412, 8413, 7, 77, 2, 2, 8413, 1326, 3, 2, 2, 2, 8414, 8415, 7, 84, 2, 2, 8415, 8416, 7, 69, 2, 2, 8416, 8417, 7, 52, 2, 2, 8417, 1328, 3, 2, 2, 2, 8418, 8419, 7, 84, 2, 2, 8419, 8420, 7, 69, 2, 2, 8420, 8421, 7, 54, 2, 2, 8421, 1330, 3, 2, 2, 2, 8422, 8423, 7, 84, 2, 2, 8423, 8424, 7, 69, 2, 2, 8424, 8425, 7, 54, 2, 2, 8425, 8426, 7, 97, 2, 2, 8426, 8427, 7, 51, 2, 2, 8427, 8428, 7, 52, 2, 2, 8428, 8429, 7, 58, 2, 2, 8429, 1332, 3, 2, 2, 2, 8430, 8431, 7, 84, 2, 2, 8431, 8432, 7, 71, 2, 2, 8432, 8433, 7, 67, 2, 2, 8433, 8434, 7, 70, 2, 2, 8434, 8435, 7, 97, 2, 2, 8435, 8436, 7, 69, 2, 2, 8436, 8437, 7, 81, 2, 2, 8437, 8438, 7, 79, 2, 2, 8438, 8439, 7, 79, 2, 2, 8439, 8440, 7, 75, 2, 2, 8440, 8441, 7, 86, 2, 2, 8441, 8442, 7, 86, 2, 2, 8442, 8443, 7, 71, 2, 2, 8443, 8444, 7, 70, 2, 2, 8444, 8445, 7, 97, 2, 2, 8445, 8446, 7, 85, 2, 2, 8446, 8447, 7, 80, 2, 2, 8447, 8448, 7, 67, 2, 2, 8448, 8449, 7, 82, 2, 2, 8449, 8450, 7, 85, 2, 2, 8450, 8451, 7, 74, 2, 2, 8451, 8452, 7, 81, 2, 2, 8452, 8453, 7, 86, 2, 2, 8453, 1334, 3, 2, 2, 2, 8454, 8455, 7, 84, 2, 2, 8455, 8456, 7, 71, 2, 2, 8456, 8457, 7, 67, 2, 2, 8457, 8458, 7, 70, 2, 2, 8458, 8459, 7, 97, 2, 2, 8459, 8460, 7, 81, 2, 2, 8460, 8461, 7, 80, 2, 2, 8461, 8462, 7, 78, 2, 2, 8462, 8463, 7, 91, 2, 2, 8463, 1336, 3, 2, 2, 2, 8464, 8465, 7, 84, 2, 2, 8465, 8466, 7, 71, 2, 2, 8466, 8467, 7, 67, 2, 2, 8467, 8468, 7, 70, 2, 2, 8468, 8469, 7, 97, 2, 2, 8469, 8470, 7, 81, 2, 2, 8470, 8471, 7, 80, 2, 2, 8471, 8472, 7, 78, 2, 2, 8472, 8473, 7, 91, 2, 2, 8473, 8474, 7, 97, 2, 2, 8474, 8475, 7, 84, 2, 2, 8475, 8476, 7, 81, 2, 2, 8476, 8477, 7, 87, 2, 2, 8477, 8478, 7, 86, 2, 2, 8478, 8479, 7, 75, 2, 2, 8479, 8480, 7, 80, 2, 2, 8480, 8481, 7, 73, 2, 2, 8481, 8482, 7, 97, 2, 2, 8482, 8483, 7, 78, 2, 2, 8483, 8484, 7, 75, 2, 2, 8484, 8485, 7, 85, 2, 2, 8485, 8486, 7, 86, 2, 2, 8486, 1338, 3, 2, 2, 2, 8487, 8488, 7, 84, 2, 2, 8488, 8489, 7, 71, 2, 2, 8489, 8490, 7, 67, 2, 2, 8490, 8491, 7, 70, 2, 2, 8491, 8492, 7, 97, 2, 2, 8492, 8493, 7, 89, 2, 2, 8493, 8494, 7, 84, 2, 2, 8494, 8495, 7, 75, 2, 2, 8495, 8496, 7, 86, 2, 2, 8496, 8497, 7, 71, 2, 2, 8497, 1340, 3, 2, 2, 2, 8498, 8499, 7, 84, 2, 2, 8499, 8500, 7, 71, 2, 2, 8500, 8501, 7, 67, 2, 2, 8501, 8502, 7, 70, 2, 2, 8502, 8503, 7, 81, 2, 2, 8503, 8504, 7, 80, 2, 2, 8504, 8505, 7, 78, 2, 2, 8505, 8506, 7, 91, 2, 2, 8506, 1342, 3, 2, 2, 2, 8507, 8508, 7, 84, 2, 2, 8508, 8509, 7, 71, 2, 2, 8509, 8510, 7, 68, 2, 2, 8510, 8511, 7, 87, 2, 2, 8511, 8512, 7, 75, 2, 2, 8512, 8513, 7, 78, 2, 2, 8513, 8514, 7, 70, 2, 2, 8514, 1344, 3, 2, 2, 2, 8515, 8516, 7, 84, 2, 2, 8516, 8517, 7, 71, 2, 2, 8517, 8518, 7, 69, 2, 2, 8518, 8519, 7, 71, 2, 2, 8519, 8520, 7, 75, 2, 2, 8520, 8521, 7, 88, 2, 2, 8521, 8522, 7, 71, 2, 2, 8522, 1346, 3, 2, 2, 2, 8523, 8524, 7, 84, 2, 2, 8524, 8525, 7, 71, 2, 2, 8525, 8526, 7, 69, 2, 2, 8526, 8527, 7, 81, 2, 2, 8527, 8528, 7, 79, 2, 2, 8528, 8529, 7, 82, 2, 2, 8529, 8530, 7, 75, 2, 2, 8530, 8531, 7, 78, 2, 2, 8531, 8532, 7, 71, 2, 2, 8532, 1348, 3, 2, 2, 2, 8533, 8534, 7, 84, 2, 2, 8534, 8535, 7, 71, 2, 2, 8535, 8536, 7, 69, 2, 2, 8536, 8537, 7, 81, 2, 2, 8537, 8538, 7, 88, 2, 2, 8538, 8539, 7, 71, 2, 2, 8539, 8540, 7, 84, 2, 2, 8540, 8541, 7, 91, 2, 2, 8541, 1350, 3, 2, 2, 2, 8542, 8543, 7, 84, 2, 2, 8543, 8544, 7, 71, 2, 2, 8544, 8545, 7, 69, 2, 2, 8545, 8546, 7, 87, 2, 2, 8546, 8547, 7, 84, 2, 2, 8547, 8548, 7, 85, 2, 2, 8548, 8549, 7, 75, 2, 2, 8549, 8550, 7, 88, 2, 2, 8550, 8551, 7, 71, 2, 2, 8551, 8552, 7, 97, 2, 2, 8552, 8553, 7, 86, 2, 2, 8553, 8554, 7, 84, 2, 2, 8554, 8555, 7, 75, 2, 2, 8555, 8556, 7, 73, 2, 2, 8556, 8557, 7, 73, 2, 2, 8557, 8558, 7, 71, 2, 2, 8558, 8559, 7, 84, 2, 2, 8559, 8560, 7, 85, 2, 2, 8560, 1352, 3, 2, 2, 2, 8561, 8562, 7, 84, 2, 2, 8562, 8563, 7, 71, 2, 2, 8563, 8564, 7, 78, 2, 2, 8564, 8565, 7, 67, 2, 2, 8565, 8566, 7, 86, 2, 2, 8566, 8567, 7, 75, 2, 2, 8567, 8568, 7, 88, 2, 2, 8568, 8569, 7, 71, 2, 2, 8569, 1354, 3, 2, 2, 2, 8570, 8571, 7, 84, 2, 2, 8571, 8572, 7, 71, 2, 2, 8572, 8573, 7, 79, 2, 2, 8573, 8574, 7, 81, 2, 2, 8574, 8575, 7, 86, 2, 2, 8575, 8576, 7, 71, 2, 2, 8576, 1356, 3, 2, 2, 2, 8577, 8578, 7, 84, 2, 2, 8578, 8579, 7, 71, 2, 2, 8579, 8580, 7, 79, 2, 2, 8580, 8581, 7, 81, 2, 2, 8581, 8582, 7, 86, 2, 2, 8582, 8583, 7, 71, 2, 2, 8583, 8584, 7, 97, 2, 2, 8584, 8585, 7, 85, 2, 2, 8585, 8586, 7, 71, 2, 2, 8586, 8587, 7, 84, 2, 2, 8587, 8588, 7, 88, 2, 2, 8588, 8589, 7, 75, 2, 2, 8589, 8590, 7, 69, 2, 2, 8590, 8591, 7, 71, 2, 2, 8591, 8592, 7, 97, 2, 2, 8592, 8593, 7, 80, 2, 2, 8593, 8594, 7, 67, 2, 2, 8594, 8595, 7, 79, 2, 2, 8595, 8596, 7, 71, 2, 2, 8596, 1358, 3, 2, 2, 2, 8597, 8598, 7, 84, 2, 2, 8598, 8599, 7, 71, 2, 2, 8599, 8600, 7, 79, 2, 2, 8600, 8601, 7, 81, 2, 2, 8601, 8602, 7, 88, 2, 2, 8602, 8603, 7, 71, 2, 2, 8603, 1360, 3, 2, 2, 2, 8604, 8605, 7, 84, 2, 2, 8605, 8606, 7, 71, 2, 2, 8606, 8607, 7, 81, 2, 2, 8607, 8608, 7, 84, 2, 2, 8608, 8609, 7, 73, 2, 2, 8609, 8610, 7, 67, 2, 2, 8610, 8611, 7, 80, 2, 2, 8611, 8612, 7, 75, 2, 2, 8612, 8613, 7, 92, 2, 2, 8613, 8614, 7, 71, 2, 2, 8614, 1362, 3, 2, 2, 2, 8615, 8616, 7, 84, 2, 2, 8616, 8617, 7, 71, 2, 2, 8617, 8618, 7, 82, 2, 2, 8618, 8619, 7, 71, 2, 2, 8619, 8620, 7, 67, 2, 2, 8620, 8621, 7, 86, 2, 2, 8621, 8622, 7, 67, 2, 2, 8622, 8623, 7, 68, 2, 2, 8623, 8624, 7, 78, 2, 2, 8624, 8625, 7, 71, 2, 2, 8625, 1364, 3, 2, 2, 2, 8626, 8627, 7, 84, 2, 2, 8627, 8628, 7, 71, 2, 2, 8628, 8629, 7, 82, 2, 2, 8629, 8630, 7, 78, 2, 2, 8630, 8631, 7, 75, 2, 2, 8631, 8632, 7, 69, 2, 2, 8632, 8633, 7, 67, 2, 2, 8633, 1366, 3, 2, 2, 2, 8634, 8635, 7, 84, 2, 2, 8635, 8636, 7, 71, 2, 2, 8636, 8637, 7, 83, 2, 2, 8637, 8638, 7, 87, 2, 2, 8638, 8639, 7, 71, 2, 2, 8639, 8640, 7, 85, 2, 2, 8640, 8641, 7, 86, 2, 2, 8641, 8642, 7, 97, 2, 2, 8642, 8643, 7, 79, 2, 2, 8643, 8644, 7, 67, 2, 2, 8644, 8645, 7, 90, 2, 2, 8645, 8646, 7, 97, 2, 2, 8646, 8647, 7, 69, 2, 2, 8647, 8648, 7, 82, 2, 2, 8648, 8649, 7, 87, 2, 2, 8649, 8650, 7, 97, 2, 2, 8650, 8651, 7, 86, 2, 2, 8651, 8652, 7, 75, 2, 2, 8652, 8653, 7, 79, 2, 2, 8653, 8654, 7, 71, 2, 2, 8654, 8655, 7, 97, 2, 2, 8655, 8656, 7, 85, 2, 2, 8656, 8657, 7, 71, 2, 2, 8657, 8658, 7, 69, 2, 2, 8658, 1368, 3, 2, 2, 2, 8659, 8660, 7, 84, 2, 2, 8660, 8661, 7, 71, 2, 2, 8661, 8662, 7, 83, 2, 2, 8662, 8663, 7, 87, 2, 2, 8663, 8664, 7, 71, 2, 2, 8664, 8665, 7, 85, 2, 2, 8665, 8666, 7, 86, 2, 2, 8666, 8667, 7, 97, 2, 2, 8667, 8668, 7, 79, 2, 2, 8668, 8669, 7, 67, 2, 2, 8669, 8670, 7, 90, 2, 2, 8670, 8671, 7, 97, 2, 2, 8671, 8672, 7, 79, 2, 2, 8672, 8673, 7, 71, 2, 2, 8673, 8674, 7, 79, 2, 2, 8674, 8675, 7, 81, 2, 2, 8675, 8676, 7, 84, 2, 2, 8676, 8677, 7, 91, 2, 2, 8677, 8678, 7, 97, 2, 2, 8678, 8679, 7, 73, 2, 2, 8679, 8680, 7, 84, 2, 2, 8680, 8681, 7, 67, 2, 2, 8681, 8682, 7, 80, 2, 2, 8682, 8683, 7, 86, 2, 2, 8683, 8684, 7, 97, 2, 2, 8684, 8685, 7, 82, 2, 2, 8685, 8686, 7, 71, 2, 2, 8686, 8687, 7, 84, 2, 2, 8687, 8688, 7, 69, 2, 2, 8688, 8689, 7, 71, 2, 2, 8689, 8690, 7, 80, 2, 2, 8690, 8691, 7, 86, 2, 2, 8691, 1370, 3, 2, 2, 2, 8692, 8693, 7, 84, 2, 2, 8693, 8694, 7, 71, 2, 2, 8694, 8695, 7, 83, 2, 2, 8695, 8696, 7, 87, 2, 2, 8696, 8697, 7, 71, 2, 2, 8697, 8698, 7, 85, 2, 2, 8698, 8699, 7, 86, 2, 2, 8699, 8700, 7, 97, 2, 2, 8700, 8701, 7, 79, 2, 2, 8701, 8702, 7, 71, 2, 2, 8702, 8703, 7, 79, 2, 2, 8703, 8704, 7, 81, 2, 2, 8704, 8705, 7, 84, 2, 2, 8705, 8706, 7, 91, 2, 2, 8706, 8707, 7, 97, 2, 2, 8707, 8708, 7, 73, 2, 2, 8708, 8709, 7, 84, 2, 2, 8709, 8710, 7, 67, 2, 2, 8710, 8711, 7, 80, 2, 2, 8711, 8712, 7, 86, 2, 2, 8712, 8713, 7, 97, 2, 2, 8713, 8714, 7, 86, 2, 2, 8714, 8715, 7, 75, 2, 2, 8715, 8716, 7, 79, 2, 2, 8716, 8717, 7, 71, 2, 2, 8717, 8718, 7, 81, 2, 2, 8718, 8719, 7, 87, 2, 2, 8719, 8720, 7, 86, 2, 2, 8720, 8721, 7, 97, 2, 2, 8721, 8722, 7, 85, 2, 2, 8722, 8723, 7, 71, 2, 2, 8723, 8724, 7, 69, 2, 2, 8724, 1372, 3, 2, 2, 2, 8725, 8726, 7, 84, 2, 2, 8726, 8727, 7, 71, 2, 2, 8727, 8728, 7, 83, 2, 2, 8728, 8729, 7, 87, 2, 2, 8729, 8730, 7, 75, 2, 2, 8730, 8731, 7, 84, 2, 2, 8731, 8732, 7, 71, 2, 2, 8732, 8733, 7, 70, 2, 2, 8733, 8734, 7, 97, 2, 2, 8734, 8735, 7, 85, 2, 2, 8735, 8736, 7, 91, 2, 2, 8736, 8737, 7, 80, 2, 2, 8737, 8738, 7, 69, 2, 2, 8738, 8739, 7, 74, 2, 2, 8739, 8740, 7, 84, 2, 2, 8740, 8741, 7, 81, 2, 2, 8741, 8742, 7, 80, 2, 2, 8742, 8743, 7, 75, 2, 2, 8743, 8744, 7, 92, 2, 2, 8744, 8745, 7, 71, 2, 2, 8745, 8746, 7, 70, 2, 2, 8746, 8747, 7, 97, 2, 2, 8747, 8748, 7, 85, 2, 2, 8748, 8749, 7, 71, 2, 2, 8749, 8750, 7, 69, 2, 2, 8750, 8751, 7, 81, 2, 2, 8751, 8752, 7, 80, 2, 2, 8752, 8753, 7, 70, 2, 2, 8753, 8754, 7, 67, 2, 2, 8754, 8755, 7, 84, 2, 2, 8755, 8756, 7, 75, 2, 2, 8756, 8757, 7, 71, 2, 2, 8757, 8758, 7, 85, 2, 2, 8758, 8759, 7, 97, 2, 2, 8759, 8760, 7, 86, 2, 2, 8760, 8761, 7, 81, 2, 2, 8761, 8762, 7, 97, 2, 2, 8762, 8763, 7, 69, 2, 2, 8763, 8764, 7, 81, 2, 2, 8764, 8765, 7, 79, 2, 2, 8765, 8766, 7, 79, 2, 2, 8766, 8767, 7, 75, 2, 2, 8767, 8768, 7, 86, 2, 2, 8768, 1374, 3, 2, 2, 2, 8769, 8770, 7, 84, 2, 2, 8770, 8771, 7, 71, 2, 2, 8771, 8772, 7, 85, 2, 2, 8772, 8773, 7, 71, 2, 2, 8773, 8774, 7, 84, 2, 2, 8774, 8775, 7, 88, 2, 2, 8775, 8776, 7, 71, 2, 2, 8776, 8777, 7, 97, 2, 2, 8777, 8778, 7, 70, 2, 2, 8778, 8779, 7, 75, 2, 2, 8779, 8780, 7, 85, 2, 2, 8780, 8781, 7, 77, 2, 2, 8781, 8782, 7, 97, 2, 2, 8782, 8783, 7, 85, 2, 2, 8783, 8784, 7, 82, 2, 2, 8784, 8785, 7, 67, 2, 2, 8785, 8786, 7, 69, 2, 2, 8786, 8787, 7, 71, 2, 2, 8787, 1376, 3, 2, 2, 2, 8788, 8789, 7, 84, 2, 2, 8789, 8790, 7, 71, 2, 2, 8790, 8791, 7, 85, 2, 2, 8791, 8792, 7, 81, 2, 2, 8792, 8793, 7, 87, 2, 2, 8793, 8794, 7, 84, 2, 2, 8794, 8795, 7, 69, 2, 2, 8795, 8796, 7, 71, 2, 2, 8796, 1378, 3, 2, 2, 2, 8797, 8798, 7, 84, 2, 2, 8798, 8799, 7, 71, 2, 2, 8799, 8800, 7, 85, 2, 2, 8800, 8801, 7, 81, 2, 2, 8801, 8802, 7, 87, 2, 2, 8802, 8803, 7, 84, 2, 2, 8803, 8804, 7, 69, 2, 2, 8804, 8805, 7, 71, 2, 2, 8805, 8806, 7, 97, 2, 2, 8806, 8807, 7, 79, 2, 2, 8807, 8808, 7, 67, 2, 2, 8808, 8809, 7, 80, 2, 2, 8809, 8810, 7, 67, 2, 2, 8810, 8811, 7, 73, 2, 2, 8811, 8812, 7, 71, 2, 2, 8812, 8813, 7, 84, 2, 2, 8813, 8814, 7, 97, 2, 2, 8814, 8815, 7, 78, 2, 2, 8815, 8816, 7, 81, 2, 2, 8816, 8817, 7, 69, 2, 2, 8817, 8818, 7, 67, 2, 2, 8818, 8819, 7, 86, 2, 2, 8819, 8820, 7, 75, 2, 2, 8820, 8821, 7, 81, 2, 2, 8821, 8822, 7, 80, 2, 2, 8822, 1380, 3, 2, 2, 2, 8823, 8824, 7, 84, 2, 2, 8824, 8825, 7, 71, 2, 2, 8825, 8826, 7, 85, 2, 2, 8826, 8827, 7, 86, 2, 2, 8827, 8828, 7, 84, 2, 2, 8828, 8829, 7, 75, 2, 2, 8829, 8830, 7, 69, 2, 2, 8830, 8831, 7, 86, 2, 2, 8831, 8832, 7, 71, 2, 2, 8832, 8833, 7, 70, 2, 2, 8833, 8834, 7, 97, 2, 2, 8834, 8835, 7, 87, 2, 2, 8835, 8836, 7, 85, 2, 2, 8836, 8837, 7, 71, 2, 2, 8837, 8838, 7, 84, 2, 2, 8838, 1382, 3, 2, 2, 2, 8839, 8840, 7, 84, 2, 2, 8840, 8841, 7, 71, 2, 2, 8841, 8842, 7, 86, 2, 2, 8842, 8843, 7, 71, 2, 2, 8843, 8844, 7, 80, 2, 2, 8844, 8845, 7, 86, 2, 2, 8845, 8846, 7, 75, 2, 2, 8846, 8847, 7, 81, 2, 2, 8847, 8848, 7, 80, 2, 2, 8848, 1384, 3, 2, 2, 2, 8849, 8850, 7, 84, 2, 2, 8850, 8851, 7, 81, 2, 2, 8851, 8852, 7, 68, 2, 2, 8852, 8853, 7, 87, 2, 2, 8853, 8854, 7, 85, 2, 2, 8854, 8855, 7, 86, 2, 2, 8855, 1386, 3, 2, 2, 2, 8856, 8857, 7, 84, 2, 2, 8857, 8858, 7, 81, 2, 2, 8858, 8859, 7, 81, 2, 2, 8859, 8860, 7, 86, 2, 2, 8860, 1388, 3, 2, 2, 2, 8861, 8862, 7, 84, 2, 2, 8862, 8863, 7, 81, 2, 2, 8863, 8864, 7, 87, 2, 2, 8864, 8865, 7, 86, 2, 2, 8865, 8866, 7, 71, 2, 2, 8866, 1390, 3, 2, 2, 2, 8867, 8868, 7, 84, 2, 2, 8868, 8869, 7, 81, 2, 2, 8869, 8870, 7, 89, 2, 2, 8870, 1392, 3, 2, 2, 2, 8871, 8872, 7, 84, 2, 2, 8872, 8873, 7, 81, 2, 2, 8873, 8874, 7, 89, 2, 2, 8874, 8875, 7, 97, 2, 2, 8875, 8876, 7, 80, 2, 2, 8876, 8877, 7, 87, 2, 2, 8877, 8878, 7, 79, 2, 2, 8878, 8879, 7, 68, 2, 2, 8879, 8880, 7, 71, 2, 2, 8880, 8881, 7, 84, 2, 2, 8881, 1394, 3, 2, 2, 2, 8882, 8883, 7, 84, 2, 2, 8883, 8884, 7, 81, 2, 2, 8884, 8885, 7, 89, 2, 2, 8885, 8886, 7, 73, 2, 2, 8886, 8887, 7, 87, 2, 2, 8887, 8888, 7, 75, 2, 2, 8888, 8889, 7, 70, 2, 2, 8889, 1396, 3, 2, 2, 2, 8890, 8891, 7, 84, 2, 2, 8891, 8892, 7, 81, 2, 2, 8892, 8893, 7, 89, 2, 2, 8893, 8894, 7, 85, 2, 2, 8894, 1398, 3, 2, 2, 2, 8895, 8896, 7, 85, 2, 2, 8896, 8897, 7, 67, 2, 2, 8897, 8898, 7, 79, 2, 2, 8898, 8899, 7, 82, 2, 2, 8899, 8900, 7, 78, 2, 2, 8900, 8901, 7, 71, 2, 2, 8901, 1400, 3, 2, 2, 2, 8902, 8903, 7, 85, 2, 2, 8903, 8904, 7, 69, 2, 2, 8904, 8905, 7, 74, 2, 2, 8905, 8906, 7, 71, 2, 2, 8906, 8907, 7, 79, 2, 2, 8907, 8908, 7, 67, 2, 2, 8908, 8909, 7, 68, 2, 2, 8909, 8910, 7, 75, 2, 2, 8910, 8911, 7, 80, 2, 2, 8911, 8912, 7, 70, 2, 2, 8912, 8913, 7, 75, 2, 2, 8913, 8914, 7, 80, 2, 2, 8914, 8915, 7, 73, 2, 2, 8915, 1402, 3, 2, 2, 2, 8916, 8917, 7, 85, 2, 2, 8917, 8918, 7, 69, 2, 2, 8918, 8919, 7, 81, 2, 2, 8919, 8920, 7, 82, 2, 2, 8920, 8921, 7, 71, 2, 2, 8921, 8922, 7, 70, 2, 2, 8922, 1404, 3, 2, 2, 2, 8923, 8924, 7, 85, 2, 2, 8924, 8925, 7, 69, 2, 2, 8925, 8926, 7, 84, 2, 2, 8926, 8927, 7, 81, 2, 2, 8927, 8928, 7, 78, 2, 2, 8928, 8929, 7, 78, 2, 2, 8929, 1406, 3, 2, 2, 2, 8930, 8931, 7, 85, 2, 2, 8931, 8932, 7, 69, 2, 2, 8932, 8933, 7, 84, 2, 2, 8933, 8934, 7, 81, 2, 2, 8934, 8935, 7, 78, 2, 2, 8935, 8936, 7, 78, 2, 2, 8936, 8937, 7, 97, 2, 2, 8937, 8938, 7, 78, 2, 2, 8938, 8939, 7, 81, 2, 2, 8939, 8940, 7, 69, 2, 2, 8940, 8941, 7, 77, 2, 2, 8941, 8942, 7, 85, 2, 2, 8942, 1408, 3, 2, 2, 2, 8943, 8944, 7, 85, 2, 2, 8944, 8945, 7, 71, 2, 2, 8945, 8946, 7, 67, 2, 2, 8946, 8947, 7, 84, 2, 2, 8947, 8948, 7, 69, 2, 2, 8948, 8949, 7, 74, 2, 2, 8949, 1410, 3, 2, 2, 2, 8950, 8951, 7, 85, 2, 2, 8951, 8952, 7, 71, 2, 2, 8952, 8953, 7, 69, 2, 2, 8953, 8954, 7, 81, 2, 2, 8954, 8955, 7, 80, 2, 2, 8955, 8956, 7, 70, 2, 2, 8956, 8957, 7, 67, 2, 2, 8957, 8958, 7, 84, 2, 2, 8958, 8959, 7, 91, 2, 2, 8959, 1412, 3, 2, 2, 2, 8960, 8961, 7, 85, 2, 2, 8961, 8962, 7, 71, 2, 2, 8962, 8963, 7, 69, 2, 2, 8963, 8964, 7, 81, 2, 2, 8964, 8965, 7, 80, 2, 2, 8965, 8966, 7, 70, 2, 2, 8966, 8967, 7, 67, 2, 2, 8967, 8968, 7, 84, 2, 2, 8968, 8969, 7, 91, 2, 2, 8969, 8970, 7, 97, 2, 2, 8970, 8971, 7, 81, 2, 2, 8971, 8972, 7, 80, 2, 2, 8972, 8973, 7, 78, 2, 2, 8973, 8974, 7, 91, 2, 2, 8974, 1414, 3, 2, 2, 2, 8975, 8976, 7, 85, 2, 2, 8976, 8977, 7, 71, 2, 2, 8977, 8978, 7, 69, 2, 2, 8978, 8979, 7, 81, 2, 2, 8979, 8980, 7, 80, 2, 2, 8980, 8981, 7, 70, 2, 2, 8981, 8982, 7, 67, 2, 2, 8982, 8983, 7, 84, 2, 2, 8983, 8984, 7, 91, 2, 2, 8984, 8985, 7, 97, 2, 2, 8985, 8986, 7, 84, 2, 2, 8986, 8987, 7, 81, 2, 2, 8987, 8988, 7, 78, 2, 2, 8988, 8989, 7, 71, 2, 2, 8989, 1416, 3, 2, 2, 2, 8990, 8991, 7, 85, 2, 2, 8991, 8992, 7, 71, 2, 2, 8992, 8993, 7, 69, 2, 2, 8993, 8994, 7, 81, 2, 2, 8994, 8995, 7, 80, 2, 2, 8995, 8996, 7, 70, 2, 2, 8996, 8997, 7, 85, 2, 2, 8997, 1418, 3, 2, 2, 2, 8998, 8999, 7, 85, 2, 2, 8999, 9000, 7, 71, 2, 2, 9000, 9001, 7, 69, 2, 2, 9001, 9002, 7, 84, 2, 2, 9002, 9003, 7, 71, 2, 2, 9003, 9004, 7, 86, 2, 2, 9004, 1420, 3, 2, 2, 2, 9005, 9006, 7, 85, 2, 2, 9006, 9007, 7, 71, 2, 2, 9007, 9008, 7, 69, 2, 2, 9008, 9009, 7, 87, 2, 2, 9009, 9010, 7, 84, 2, 2, 9010, 9011, 7, 75, 2, 2, 9011, 9012, 7, 86, 2, 2, 9012, 9013, 7, 91, 2, 2, 9013, 1422, 3, 2, 2, 2, 9014, 9015, 7, 85, 2, 2, 9015, 9016, 7, 71, 2, 2, 9016, 9017, 7, 69, 2, 2, 9017, 9018, 7, 87, 2, 2, 9018, 9019, 7, 84, 2, 2, 9019, 9020, 7, 75, 2, 2, 9020, 9021, 7, 86, 2, 2, 9021, 9022, 7, 91, 2, 2, 9022, 9023, 7, 97, 2, 2, 9023, 9024, 7, 78, 2, 2, 9024, 9025, 7, 81, 2, 2, 9025, 9026, 7, 73, 2, 2, 9026, 1424, 3, 2, 2, 2, 9027, 9028, 7, 85, 2, 2, 9028, 9029, 7, 71, 2, 2, 9029, 9030, 7, 71, 2, 2, 9030, 9031, 7, 70, 2, 2, 9031, 9032, 7, 75, 2, 2, 9032, 9033, 7, 80, 2, 2, 9033, 9034, 7, 73, 2, 2, 9034, 9035, 7, 97, 2, 2, 9035, 9036, 7, 79, 2, 2, 9036, 9037, 7, 81, 2, 2, 9037, 9038, 7, 70, 2, 2, 9038, 9039, 7, 71, 2, 2, 9039, 1426, 3, 2, 2, 2, 9040, 9041, 7, 85, 2, 2, 9041, 9042, 7, 71, 2, 2, 9042, 9043, 7, 78, 2, 2, 9043, 9044, 7, 72, 2, 2, 9044, 1428, 3, 2, 2, 2, 9045, 9046, 7, 85, 2, 2, 9046, 9047, 7, 71, 2, 2, 9047, 9048, 7, 79, 2, 2, 9048, 9049, 7, 75, 2, 2, 9049, 9050, 7, 97, 2, 2, 9050, 9051, 7, 85, 2, 2, 9051, 9052, 7, 71, 2, 2, 9052, 9053, 7, 80, 2, 2, 9053, 9054, 7, 85, 2, 2, 9054, 9055, 7, 75, 2, 2, 9055, 9056, 7, 86, 2, 2, 9056, 9057, 7, 75, 2, 2, 9057, 9058, 7, 88, 2, 2, 9058, 9059, 7, 71, 2, 2, 9059, 1430, 3, 2, 2, 2, 9060, 9061, 7, 85, 2, 2, 9061, 9062, 7, 71, 2, 2, 9062, 9063, 7, 80, 2, 2, 9063, 9064, 7, 70, 2, 2, 9064, 1432, 3, 2, 2, 2, 9065, 9066, 7, 85, 2, 2, 9066, 9067, 7, 71, 2, 2, 9067, 9068, 7, 80, 2, 2, 9068, 9069, 7, 86, 2, 2, 9069, 1434, 3, 2, 2, 2, 9070, 9071, 7, 85, 2, 2, 9071, 9072, 7, 71, 2, 2, 9072, 9073, 7, 83, 2, 2, 9073, 9074, 7, 87, 2, 2, 9074, 9075, 7, 71, 2, 2, 9075, 9076, 7, 80, 2, 2, 9076, 9077, 7, 69, 2, 2, 9077, 9078, 7, 71, 2, 2, 9078, 1436, 3, 2, 2, 2, 9079, 9080, 7, 85, 2, 2, 9080, 9081, 7, 71, 2, 2, 9081, 9082, 7, 84, 2, 2, 9082, 9083, 7, 75, 2, 2, 9083, 9084, 7, 67, 2, 2, 9084, 9085, 7, 78, 2, 2, 9085, 9086, 7, 75, 2, 2, 9086, 9087, 7, 92, 2, 2, 9087, 9088, 7, 67, 2, 2, 9088, 9089, 7, 68, 2, 2, 9089, 9090, 7, 78, 2, 2, 9090, 9091, 7, 71, 2, 2, 9091, 1438, 3, 2, 2, 2, 9092, 9093, 7, 85, 2, 2, 9093, 9094, 7, 71, 2, 2, 9094, 9095, 7, 85, 2, 2, 9095, 9096, 7, 85, 2, 2, 9096, 9097, 7, 75, 2, 2, 9097, 9098, 7, 81, 2, 2, 9098, 9099, 7, 80, 2, 2, 9099, 9100, 7, 97, 2, 2, 9100, 9101, 7, 86, 2, 2, 9101, 9102, 7, 75, 2, 2, 9102, 9103, 7, 79, 2, 2, 9103, 9104, 7, 71, 2, 2, 9104, 9105, 7, 81, 2, 2, 9105, 9106, 7, 87, 2, 2, 9106, 9107, 7, 86, 2, 2, 9107, 1440, 3, 2, 2, 2, 9108, 9109, 7, 85, 2, 2, 9109, 9110, 7, 71, 2, 2, 9110, 9111, 7, 86, 2, 2, 9111, 9112, 7, 71, 2, 2, 9112, 9113, 7, 84, 2, 2, 9113, 9114, 7, 84, 2, 2, 9114, 9115, 7, 81, 2, 2, 9115, 9116, 7, 84, 2, 2, 9116, 1442, 3, 2, 2, 2, 9117, 9118, 7, 85, 2, 2, 9118, 9119, 7, 74, 2, 2, 9119, 9120, 7, 67, 2, 2, 9120, 9121, 7, 84, 2, 2, 9121, 9122, 7, 71, 2, 2, 9122, 1444, 3, 2, 2, 2, 9123, 9124, 7, 85, 2, 2, 9124, 9125, 7, 74, 2, 2, 9125, 9126, 7, 81, 2, 2, 9126, 9127, 7, 89, 2, 2, 9127, 9128, 7, 82, 2, 2, 9128, 9129, 7, 78, 2, 2, 9129, 9130, 7, 67, 2, 2, 9130, 9131, 7, 80, 2, 2, 9131, 1446, 3, 2, 2, 2, 9132, 9133, 7, 85, 2, 2, 9133, 9134, 7, 75, 2, 2, 9134, 9135, 7, 73, 2, 2, 9135, 9136, 7, 80, 2, 2, 9136, 9137, 7, 67, 2, 2, 9137, 9138, 7, 86, 2, 2, 9138, 9139, 7, 87, 2, 2, 9139, 9140, 7, 84, 2, 2, 9140, 9141, 7, 71, 2, 2, 9141, 1448, 3, 2, 2, 2, 9142, 9143, 7, 85, 2, 2, 9143, 9144, 7, 75, 2, 2, 9144, 9145, 7, 79, 2, 2, 9145, 9146, 7, 82, 2, 2, 9146, 9147, 7, 78, 2, 2, 9147, 9148, 7, 71, 2, 2, 9148, 1450, 3, 2, 2, 2, 9149, 9150, 7, 85, 2, 2, 9150, 9151, 7, 75, 2, 2, 9151, 9152, 7, 80, 2, 2, 9152, 9153, 7, 73, 2, 2, 9153, 9154, 7, 78, 2, 2, 9154, 9155, 7, 71, 2, 2, 9155, 9156, 7, 97, 2, 2, 9156, 9157, 7, 87, 2, 2, 9157, 9158, 7, 85, 2, 2, 9158, 9159, 7, 71, 2, 2, 9159, 9160, 7, 84, 2, 2, 9160, 1452, 3, 2, 2, 2, 9161, 9162, 7, 85, 2, 2, 9162, 9163, 7, 75, 2, 2, 9163, 9164, 7, 92, 2, 2, 9164, 9165, 7, 71, 2, 2, 9165, 1454, 3, 2, 2, 2, 9166, 9167, 7, 85, 2, 2, 9167, 9168, 7, 79, 2, 2, 9168, 9169, 7, 67, 2, 2, 9169, 9170, 7, 78, 2, 2, 9170, 9171, 7, 78, 2, 2, 9171, 9172, 7, 75, 2, 2, 9172, 9173, 7, 80, 2, 2, 9173, 9174, 7, 86, 2, 2, 9174, 1456, 3, 2, 2, 2, 9175, 9176, 7, 85, 2, 2, 9176, 9177, 7, 80, 2, 2, 9177, 9178, 7, 67, 2, 2, 9178, 9179, 7, 82, 2, 2, 9179, 9180, 7, 85, 2, 2, 9180, 9181, 7, 74, 2, 2, 9181, 9182, 7, 81, 2, 2, 9182, 9183, 7, 86, 2, 2, 9183, 1458, 3, 2, 2, 2, 9184, 9185, 7, 85, 2, 2, 9185, 9186, 7, 82, 2, 2, 9186, 9187, 7, 67, 2, 2, 9187, 9188, 7, 86, 2, 2, 9188, 9189, 7, 75, 2, 2, 9189, 9190, 7, 67, 2, 2, 9190, 9191, 7, 78, 2, 2, 9191, 9192, 7, 97, 2, 2, 9192, 9193, 7, 89, 2, 2, 9193, 9194, 7, 75, 2, 2, 9194, 9195, 7, 80, 2, 2, 9195, 9196, 7, 70, 2, 2, 9196, 9197, 7, 81, 2, 2, 9197, 9198, 7, 89, 2, 2, 9198, 9199, 7, 97, 2, 2, 9199, 9200, 7, 79, 2, 2, 9200, 9201, 7, 67, 2, 2, 9201, 9202, 7, 90, 2, 2, 9202, 9203, 7, 97, 2, 2, 9203, 9204, 7, 69, 2, 2, 9204, 9205, 7, 71, 2, 2, 9205, 9206, 7, 78, 2, 2, 9206, 9207, 7, 78, 2, 2, 9207, 9208, 7, 85, 2, 2, 9208, 1460, 3, 2, 2, 2, 9209, 9210, 7, 85, 2, 2, 9210, 9211, 7, 86, 2, 2, 9211, 9212, 7, 67, 2, 2, 9212, 9213, 7, 80, 2, 2, 9213, 9214, 7, 70, 2, 2, 9214, 9215, 7, 68, 2, 2, 9215, 9216, 7, 91, 2, 2, 9216, 1462, 3, 2, 2, 2, 9217, 9218, 7, 85, 2, 2, 9218, 9219, 7, 86, 2, 2, 9219, 9220, 7, 67, 2, 2, 9220, 9221, 7, 84, 2, 2, 9221, 9222, 7, 86, 2, 2, 9222, 9223, 7, 97, 2, 2, 9223, 9224, 7, 70, 2, 2, 9224, 9225, 7, 67, 2, 2, 9225, 9226, 7, 86, 2, 2, 9226, 9227, 7, 71, 2, 2, 9227, 1464, 3, 2, 2, 2, 9228, 9229, 7, 85, 2, 2, 9229, 9230, 7, 86, 2, 2, 9230, 9231, 7, 67, 2, 2, 9231, 9232, 7, 86, 2, 2, 9232, 9233, 7, 75, 2, 2, 9233, 9234, 7, 69, 2, 2, 9234, 1466, 3, 2, 2, 2, 9235, 9236, 7, 85, 2, 2, 9236, 9237, 7, 86, 2, 2, 9237, 9238, 7, 67, 2, 2, 9238, 9239, 7, 86, 2, 2, 9239, 9240, 7, 85, 2, 2, 9240, 9241, 7, 97, 2, 2, 9241, 9242, 7, 85, 2, 2, 9242, 9243, 7, 86, 2, 2, 9243, 9244, 7, 84, 2, 2, 9244, 9245, 7, 71, 2, 2, 9245, 9246, 7, 67, 2, 2, 9246, 9247, 7, 79, 2, 2, 9247, 1468, 3, 2, 2, 2, 9248, 9249, 7, 85, 2, 2, 9249, 9250, 7, 86, 2, 2, 9250, 9251, 7, 67, 2, 2, 9251, 9252, 7, 86, 2, 2, 9252, 9253, 7, 87, 2, 2, 9253, 9254, 7, 85, 2, 2, 9254, 1470, 3, 2, 2, 2, 9255, 9256, 7, 85, 2, 2, 9256, 9257, 7, 86, 2, 2, 9257, 9258, 7, 67, 2, 2, 9258, 9259, 7, 86, 2, 2, 9259, 9260, 7, 87, 2, 2, 9260, 9261, 7, 85, 2, 2, 9261, 9262, 7, 81, 2, 2, 9262, 9263, 7, 80, 2, 2, 9263, 9264, 7, 78, 2, 2, 9264, 9265, 7, 91, 2, 2, 9265, 1472, 3, 2, 2, 2, 9266, 9267, 7, 85, 2, 2, 9267, 9268, 7, 86, 2, 2, 9268, 9269, 7, 70, 2, 2, 9269, 9270, 7, 71, 2, 2, 9270, 9271, 7, 88, 2, 2, 9271, 1474, 3, 2, 2, 2, 9272, 9273, 7, 85, 2, 2, 9273, 9274, 7, 86, 2, 2, 9274, 9275, 7, 70, 2, 2, 9275, 9276, 7, 71, 2, 2, 9276, 9277, 7, 88, 2, 2, 9277, 9278, 7, 82, 2, 2, 9278, 1476, 3, 2, 2, 2, 9279, 9280, 7, 85, 2, 2, 9280, 9281, 7, 86, 2, 2, 9281, 9282, 7, 81, 2, 2, 9282, 9283, 7, 82, 2, 2, 9283, 9284, 7, 78, 2, 2, 9284, 9285, 7, 75, 2, 2, 9285, 9286, 7, 85, 2, 2, 9286, 9287, 7, 86, 2, 2, 9287, 1478, 3, 2, 2, 2, 9288, 9289, 7, 85, 2, 2, 9289, 9290, 7, 86, 2, 2, 9290, 9291, 7, 84, 2, 2, 9291, 9292, 7, 75, 2, 2, 9292, 9293, 7, 80, 2, 2, 9293, 9294, 7, 73, 2, 2, 9294, 9295, 7, 97, 2, 2, 9295, 9296, 7, 67, 2, 2, 9296, 9297, 7, 73, 2, 2, 9297, 9298, 7, 73, 2, 2, 9298, 1480, 3, 2, 2, 2, 9299, 9300, 7, 85, 2, 2, 9300, 9301, 7, 86, 2, 2, 9301, 9302, 7, 87, 2, 2, 9302, 9303, 7, 72, 2, 2, 9303, 9304, 7, 72, 2, 2, 9304, 1482, 3, 2, 2, 2, 9305, 9306, 7, 85, 2, 2, 9306, 9307, 7, 87, 2, 2, 9307, 9308, 7, 68, 2, 2, 9308, 9309, 7, 76, 2, 2, 9309, 9310, 7, 71, 2, 2, 9310, 9311, 7, 69, 2, 2, 9311, 9312, 7, 86, 2, 2, 9312, 1484, 3, 2, 2, 2, 9313, 9314, 7, 85, 2, 2, 9314, 9315, 7, 87, 2, 2, 9315, 9316, 7, 68, 2, 2, 9316, 9317, 7, 85, 2, 2, 9317, 9318, 7, 69, 2, 2, 9318, 9319, 7, 84, 2, 2, 9319, 9320, 7, 75, 2, 2, 9320, 9321, 7, 82, 2, 2, 9321, 9322, 7, 86, 2, 2, 9322, 9323, 7, 75, 2, 2, 9323, 9324, 7, 81, 2, 2, 9324, 9325, 7, 80, 2, 2, 9325, 1486, 3, 2, 2, 2, 9326, 9327, 7, 85, 2, 2, 9327, 9328, 7, 87, 2, 2, 9328, 9329, 7, 79, 2, 2, 9329, 1488, 3, 2, 2, 2, 9330, 9331, 7, 85, 2, 2, 9331, 9332, 7, 87, 2, 2, 9332, 9333, 7, 85, 2, 2, 9333, 9334, 7, 82, 2, 2, 9334, 9335, 7, 71, 2, 2, 9335, 9336, 7, 80, 2, 2, 9336, 9337, 7, 70, 2, 2, 9337, 1490, 3, 2, 2, 2, 9338, 9339, 7, 85, 2, 2, 9339, 9340, 7, 91, 2, 2, 9340, 9341, 7, 79, 2, 2, 9341, 9342, 7, 79, 2, 2, 9342, 9343, 7, 71, 2, 2, 9343, 9344, 7, 86, 2, 2, 9344, 9345, 7, 84, 2, 2, 9345, 9346, 7, 75, 2, 2, 9346, 9347, 7, 69, 2, 2, 9347, 1492, 3, 2, 2, 2, 9348, 9349, 7, 85, 2, 2, 9349, 9350, 7, 91, 2, 2, 9350, 9351, 7, 80, 2, 2, 9351, 9352, 7, 69, 2, 2, 9352, 9353, 7, 74, 2, 2, 9353, 9354, 7, 84, 2, 2, 9354, 9355, 7, 81, 2, 2, 9355, 9356, 7, 80, 2, 2, 9356, 9357, 7, 81, 2, 2, 9357, 9358, 7, 87, 2, 2, 9358, 9359, 7, 85, 2, 2, 9359, 9360, 7, 97, 2, 2, 9360, 9361, 7, 69, 2, 2, 9361, 9362, 7, 81, 2, 2, 9362, 9363, 7, 79, 2, 2, 9363, 9364, 7, 79, 2, 2, 9364, 9365, 7, 75, 2, 2, 9365, 9366, 7, 86, 2, 2, 9366, 1494, 3, 2, 2, 2, 9367, 9368, 7, 85, 2, 2, 9368, 9369, 7, 91, 2, 2, 9369, 9370, 7, 80, 2, 2, 9370, 9371, 7, 81, 2, 2, 9371, 9372, 7, 80, 2, 2, 9372, 9373, 7, 91, 2, 2, 9373, 9374, 7, 79, 2, 2, 9374, 1496, 3, 2, 2, 2, 9375, 9376, 7, 85, 2, 2, 9376, 9377, 7, 91, 2, 2, 9377, 9378, 7, 85, 2, 2, 9378, 9379, 7, 86, 2, 2, 9379, 9380, 7, 71, 2, 2, 9380, 9381, 7, 79, 2, 2, 9381, 1498, 3, 2, 2, 2, 9382, 9383, 7, 86, 2, 2, 9383, 9384, 7, 67, 2, 2, 9384, 9385, 7, 77, 2, 2, 9385, 9386, 7, 71, 2, 2, 9386, 1500, 3, 2, 2, 2, 9387, 9388, 7, 86, 2, 2, 9388, 9389, 7, 67, 2, 2, 9389, 9390, 7, 84, 2, 2, 9390, 9391, 7, 73, 2, 2, 9391, 9392, 7, 71, 2, 2, 9392, 9393, 7, 86, 2, 2, 9393, 9394, 7, 97, 2, 2, 9394, 9395, 7, 84, 2, 2, 9395, 9396, 7, 71, 2, 2, 9396, 9397, 7, 69, 2, 2, 9397, 9398, 7, 81, 2, 2, 9398, 9399, 7, 88, 2, 2, 9399, 9400, 7, 71, 2, 2, 9400, 9401, 7, 84, 2, 2, 9401, 9402, 7, 91, 2, 2, 9402, 9403, 7, 97, 2, 2, 9403, 9404, 7, 86, 2, 2, 9404, 9405, 7, 75, 2, 2, 9405, 9406, 7, 79, 2, 2, 9406, 9407, 7, 71, 2, 2, 9407, 1502, 3, 2, 2, 2, 9408, 9409, 7, 86, 2, 2, 9409, 9410, 7, 68, 2, 2, 9410, 1504, 3, 2, 2, 2, 9411, 9412, 7, 86, 2, 2, 9412, 9413, 7, 71, 2, 2, 9413, 9414, 7, 90, 2, 2, 9414, 9415, 7, 86, 2, 2, 9415, 9416, 7, 75, 2, 2, 9416, 9417, 7, 79, 2, 2, 9417, 9418, 7, 67, 2, 2, 9418, 9419, 7, 73, 2, 2, 9419, 9420, 7, 71, 2, 2, 9420, 9421, 7, 97, 2, 2, 9421, 9422, 7, 81, 2, 2, 9422, 9423, 7, 80, 2, 2, 9423, 1506, 3, 2, 2, 2, 9424, 9425, 7, 86, 2, 2, 9425, 9426, 7, 74, 2, 2, 9426, 9427, 7, 84, 2, 2, 9427, 9428, 7, 81, 2, 2, 9428, 9429, 7, 89, 2, 2, 9429, 1508, 3, 2, 2, 2, 9430, 9431, 7, 86, 2, 2, 9431, 9432, 7, 75, 2, 2, 9432, 9433, 7, 71, 2, 2, 9433, 9434, 7, 85, 2, 2, 9434, 1510, 3, 2, 2, 2, 9435, 9436, 7, 86, 2, 2, 9436, 9437, 7, 75, 2, 2, 9437, 9438, 7, 79, 2, 2, 9438, 9439, 7, 71, 2, 2, 9439, 1512, 3, 2, 2, 2, 9440, 9441, 7, 86, 2, 2, 9441, 9442, 7, 75, 2, 2, 9442, 9443, 7, 79, 2, 2, 9443, 9444, 7, 71, 2, 2, 9444, 9445, 7, 81, 2, 2, 9445, 9446, 7, 87, 2, 2, 9446, 9447, 7, 86, 2, 2, 9447, 1514, 3, 2, 2, 2, 9448, 9449, 7, 86, 2, 2, 9449, 9450, 7, 75, 2, 2, 9450, 9451, 7, 79, 2, 2, 9451, 9452, 7, 71, 2, 2, 9452, 9453, 7, 84, 2, 2, 9453, 1516, 3, 2, 2, 2, 9454, 9455, 7, 86, 2, 2, 9455, 9456, 7, 75, 2, 2, 9456, 9457, 7, 80, 2, 2, 9457, 9458, 7, 91, 2, 2, 9458, 9459, 7, 75, 2, 2, 9459, 9460, 7, 80, 2, 2, 9460, 9461, 7, 86, 2, 2, 9461, 1518, 3, 2, 2, 2, 9462, 9463, 7, 86, 2, 2, 9463, 9464, 7, 81, 2, 2, 9464, 9465, 7, 84, 2, 2, 9465, 9466, 7, 80, 2, 2, 9466, 9467, 7, 97, 2, 2, 9467, 9468, 7, 82, 2, 2, 9468, 9469, 7, 67, 2, 2, 9469, 9470, 7, 73, 2, 2, 9470, 9471, 7, 71, 2, 2, 9471, 9472, 7, 97, 2, 2, 9472, 9473, 7, 70, 2, 2, 9473, 9474, 7, 71, 2, 2, 9474, 9475, 7, 86, 2, 2, 9475, 9476, 7, 71, 2, 2, 9476, 9477, 7, 69, 2, 2, 9477, 9478, 7, 86, 2, 2, 9478, 9479, 7, 75, 2, 2, 9479, 9480, 7, 81, 2, 2, 9480, 9481, 7, 80, 2, 2, 9481, 1520, 3, 2, 2, 2, 9482, 9483, 7, 86, 2, 2, 9483, 9484, 7, 84, 2, 2, 9484, 9485, 7, 67, 2, 2, 9485, 9486, 7, 80, 2, 2, 9486, 9487, 7, 85, 2, 2, 9487, 9488, 7, 72, 2, 2, 9488, 9489, 7, 81, 2, 2, 9489, 9490, 7, 84, 2, 2, 9490, 9491, 7, 79, 2, 2, 9491, 9492, 7, 97, 2, 2, 9492, 9493, 7, 80, 2, 2, 9493, 9494, 7, 81, 2, 2, 9494, 9495, 7, 75, 2, 2, 9495, 9496, 7, 85, 2, 2, 9496, 9497, 7, 71, 2, 2, 9497, 9498, 7, 97, 2, 2, 9498, 9499, 7, 89, 2, 2, 9499, 9500, 7, 81, 2, 2, 9500, 9501, 7, 84, 2, 2, 9501, 9502, 7, 70, 2, 2, 9502, 9503, 7, 85, 2, 2, 9503, 1522, 3, 2, 2, 2, 9504, 9505, 7, 86, 2, 2, 9505, 9506, 7, 84, 2, 2, 9506, 9507, 7, 75, 2, 2, 9507, 9508, 7, 82, 2, 2, 9508, 9509, 7, 78, 2, 2, 9509, 9510, 7, 71, 2, 2, 9510, 9511, 7, 97, 2, 2, 9511, 9512, 7, 70, 2, 2, 9512, 9513, 7, 71, 2, 2, 9513, 9514, 7, 85, 2, 2, 9514, 1524, 3, 2, 2, 2, 9515, 9516, 7, 86, 2, 2, 9516, 9517, 7, 84, 2, 2, 9517, 9518, 7, 75, 2, 2, 9518, 9519, 7, 82, 2, 2, 9519, 9520, 7, 78, 2, 2, 9520, 9521, 7, 71, 2, 2, 9521, 9522, 7, 97, 2, 2, 9522, 9523, 7, 70, 2, 2, 9523, 9524, 7, 71, 2, 2, 9524, 9525, 7, 85, 2, 2, 9525, 9526, 7, 97, 2, 2, 9526, 9527, 7, 53, 2, 2, 9527, 9528, 7, 77, 2, 2, 9528, 9529, 7, 71, 2, 2, 9529, 9530, 7, 91, 2, 2, 9530, 1526, 3, 2, 2, 2, 9531, 9532, 7, 86, 2, 2, 9532, 9533, 7, 84, 2, 2, 9533, 9534, 7, 87, 2, 2, 9534, 9535, 7, 85, 2, 2, 9535, 9536, 7, 86, 2, 2, 9536, 9537, 7, 89, 2, 2, 9537, 9538, 7, 81, 2, 2, 9538, 9539, 7, 84, 2, 2, 9539, 9540, 7, 86, 2, 2, 9540, 9541, 7, 74, 2, 2, 9541, 9542, 7, 91, 2, 2, 9542, 1528, 3, 2, 2, 2, 9543, 9544, 7, 86, 2, 2, 9544, 9545, 7, 84, 2, 2, 9545, 9546, 7, 91, 2, 2, 9546, 1530, 3, 2, 2, 2, 9547, 9548, 7, 86, 2, 2, 9548, 9549, 7, 85, 2, 2, 9549, 9550, 7, 83, 2, 2, 9550, 9551, 7, 78, 2, 2, 9551, 1532, 3, 2, 2, 2, 9552, 9553, 7, 86, 2, 2, 9553, 9554, 7, 89, 2, 2, 9554, 9555, 7, 81, 2, 2, 9555, 9556, 7, 97, 2, 2, 9556, 9557, 7, 70, 2, 2, 9557, 9558, 7, 75, 2, 2, 9558, 9559, 7, 73, 2, 2, 9559, 9560, 7, 75, 2, 2, 9560, 9561, 7, 86, 2, 2, 9561, 9562, 7, 97, 2, 2, 9562, 9563, 7, 91, 2, 2, 9563, 9564, 7, 71, 2, 2, 9564, 9565, 7, 67, 2, 2, 9565, 9566, 7, 84, 2, 2, 9566, 9567, 7, 97, 2, 2, 9567, 9568, 7, 69, 2, 2, 9568, 9569, 7, 87, 2, 2, 9569, 9570, 7, 86, 2, 2, 9570, 9571, 7, 81, 2, 2, 9571, 9572, 7, 72, 2, 2, 9572, 9573, 7, 72, 2, 2, 9573, 1534, 3, 2, 2, 2, 9574, 9575, 7, 86, 2, 2, 9575, 9576, 7, 91, 2, 2, 9576, 9577, 7, 82, 2, 2, 9577, 9578, 7, 71, 2, 2, 9578, 1536, 3, 2, 2, 2, 9579, 9580, 7, 86, 2, 2, 9580, 9581, 7, 91, 2, 2, 9581, 9582, 7, 82, 2, 2, 9582, 9583, 7, 71, 2, 2, 9583, 9584, 7, 97, 2, 2, 9584, 9585, 7, 89, 2, 2, 9585, 9586, 7, 67, 2, 2, 9586, 9587, 7, 84, 2, 2, 9587, 9588, 7, 80, 2, 2, 9588, 9589, 7, 75, 2, 2, 9589, 9590, 7, 80, 2, 2, 9590, 9591, 7, 73, 2, 2, 9591, 1538, 3, 2, 2, 2, 9592, 9593, 7, 87, 2, 2, 9593, 9594, 7, 80, 2, 2, 9594, 9595, 7, 68, 2, 2, 9595, 9596, 7, 81, 2, 2, 9596, 9597, 7, 87, 2, 2, 9597, 9598, 7, 80, 2, 2, 9598, 9599, 7, 70, 2, 2, 9599, 9600, 7, 71, 2, 2, 9600, 9601, 7, 70, 2, 2, 9601, 1540, 3, 2, 2, 2, 9602, 9603, 7, 87, 2, 2, 9603, 9604, 7, 80, 2, 2, 9604, 9605, 7, 69, 2, 2, 9605, 9606, 7, 81, 2, 2, 9606, 9607, 7, 79, 2, 2, 9607, 9608, 7, 79, 2, 2, 9608, 9609, 7, 75, 2, 2, 9609, 9610, 7, 86, 2, 2, 9610, 9611, 7, 86, 2, 2, 9611, 9612, 7, 71, 2, 2, 9612, 9613, 7, 70, 2, 2, 9613, 1542, 3, 2, 2, 2, 9614, 9615, 7, 87, 2, 2, 9615, 9616, 7, 80, 2, 2, 9616, 9617, 7, 77, 2, 2, 9617, 9618, 7, 80, 2, 2, 9618, 9619, 7, 81, 2, 2, 9619, 9620, 7, 89, 2, 2, 9620, 9621, 7, 80, 2, 2, 9621, 1544, 3, 2, 2, 2, 9622, 9623, 7, 87, 2, 2, 9623, 9624, 7, 80, 2, 2, 9624, 9625, 7, 78, 2, 2, 9625, 9626, 7, 75, 2, 2, 9626, 9627, 7, 79, 2, 2, 9627, 9628, 7, 75, 2, 2, 9628, 9629, 7, 86, 2, 2, 9629, 9630, 7, 71, 2, 2, 9630, 9631, 7, 70, 2, 2, 9631, 1546, 3, 2, 2, 2, 9632, 9633, 7, 87, 2, 2, 9633, 9634, 7, 81, 2, 2, 9634, 9635, 7, 89, 2, 2, 9635, 1548, 3, 2, 2, 2, 9636, 9637, 7, 87, 2, 2, 9637, 9638, 7, 85, 2, 2, 9638, 9639, 7, 75, 2, 2, 9639, 9640, 7, 80, 2, 2, 9640, 9641, 7, 73, 2, 2, 9641, 1550, 3, 2, 2, 2, 9642, 9643, 7, 88, 2, 2, 9643, 9644, 7, 67, 2, 2, 9644, 9645, 7, 78, 2, 2, 9645, 9646, 7, 75, 2, 2, 9646, 9647, 7, 70, 2, 2, 9647, 9648, 7, 97, 2, 2, 9648, 9649, 7, 90, 2, 2, 9649, 9650, 7, 79, 2, 2, 9650, 9651, 7, 78, 2, 2, 9651, 1552, 3, 2, 2, 2, 9652, 9653, 7, 88, 2, 2, 9653, 9654, 7, 67, 2, 2, 9654, 9655, 7, 78, 2, 2, 9655, 9656, 7, 75, 2, 2, 9656, 9657, 7, 70, 2, 2, 9657, 9658, 7, 67, 2, 2, 9658, 9659, 7, 86, 2, 2, 9659, 9660, 7, 75, 2, 2, 9660, 9661, 7, 81, 2, 2, 9661, 9662, 7, 80, 2, 2, 9662, 1554, 3, 2, 2, 2, 9663, 9664, 7, 88, 2, 2, 9664, 9665, 7, 67, 2, 2, 9665, 9666, 7, 78, 2, 2, 9666, 9667, 7, 87, 2, 2, 9667, 9668, 7, 71, 2, 2, 9668, 1556, 3, 2, 2, 2, 9669, 9670, 7, 88, 2, 2, 9670, 9671, 7, 67, 2, 2, 9671, 9672, 7, 84, 2, 2, 9672, 1558, 3, 2, 2, 2, 9673, 9674, 7, 88, 2, 2, 9674, 9675, 7, 67, 2, 2, 9675, 9676, 7, 84, 2, 2, 9676, 9677, 7, 82, 2, 2, 9677, 1560, 3, 2, 2, 2, 9678, 9679, 7, 88, 2, 2, 9679, 9680, 7, 75, 2, 2, 9680, 9681, 7, 71, 2, 2, 9681, 9682, 7, 89, 2, 2, 9682, 9683, 7, 97, 2, 2, 9683, 9684, 7, 79, 2, 2, 9684, 9685, 7, 71, 2, 2, 9685, 9686, 7, 86, 2, 2, 9686, 9687, 7, 67, 2, 2, 9687, 9688, 7, 70, 2, 2, 9688, 9689, 7, 67, 2, 2, 9689, 9690, 7, 86, 2, 2, 9690, 9691, 7, 67, 2, 2, 9691, 1562, 3, 2, 2, 2, 9692, 9693, 7, 88, 2, 2, 9693, 9694, 7, 75, 2, 2, 9694, 9695, 7, 71, 2, 2, 9695, 9696, 7, 89, 2, 2, 9696, 9697, 7, 85, 2, 2, 9697, 1564, 3, 2, 2, 2, 9698, 9699, 7, 89, 2, 2, 9699, 9700, 7, 67, 2, 2, 9700, 9701, 7, 75, 2, 2, 9701, 9702, 7, 86, 2, 2, 9702, 1566, 3, 2, 2, 2, 9703, 9704, 7, 89, 2, 2, 9704, 9705, 7, 71, 2, 2, 9705, 9706, 7, 78, 2, 2, 9706, 9707, 7, 78, 2, 2, 9707, 9708, 7, 97, 2, 2, 9708, 9709, 7, 72, 2, 2, 9709, 9710, 7, 81, 2, 2, 9710, 9711, 7, 84, 2, 2, 9711, 9712, 7, 79, 2, 2, 9712, 9713, 7, 71, 2, 2, 9713, 9714, 7, 70, 2, 2, 9714, 9715, 7, 97, 2, 2, 9715, 9716, 7, 90, 2, 2, 9716, 9717, 7, 79, 2, 2, 9717, 9718, 7, 78, 2, 2, 9718, 1568, 3, 2, 2, 2, 9719, 9720, 7, 89, 2, 2, 9720, 9721, 7, 75, 2, 2, 9721, 9722, 7, 86, 2, 2, 9722, 9723, 7, 74, 2, 2, 9723, 9724, 7, 81, 2, 2, 9724, 9725, 7, 87, 2, 2, 9725, 9726, 7, 86, 2, 2, 9726, 9727, 7, 97, 2, 2, 9727, 9728, 7, 67, 2, 2, 9728, 9729, 7, 84, 2, 2, 9729, 9730, 7, 84, 2, 2, 9730, 9731, 7, 67, 2, 2, 9731, 9732, 7, 91, 2, 2, 9732, 9733, 7, 97, 2, 2, 9733, 9734, 7, 89, 2, 2, 9734, 9735, 7, 84, 2, 2, 9735, 9736, 7, 67, 2, 2, 9736, 9737, 7, 82, 2, 2, 9737, 9738, 7, 82, 2, 2, 9738, 9739, 7, 71, 2, 2, 9739, 9740, 7, 84, 2, 2, 9740, 1570, 3, 2, 2, 2, 9741, 9742, 7, 89, 2, 2, 9742, 9743, 7, 81, 2, 2, 9743, 9744, 7, 84, 2, 2, 9744, 9745, 7, 77, 2, 2, 9745, 1572, 3, 2, 2, 2, 9746, 9747, 7, 89, 2, 2, 9747, 9748, 7, 81, 2, 2, 9748, 9749, 7, 84, 2, 2, 9749, 9750, 7, 77, 2, 2, 9750, 9751, 7, 78, 2, 2, 9751, 9752, 7, 81, 2, 2, 9752, 9753, 7, 67, 2, 2, 9753, 9754, 7, 70, 2, 2, 9754, 1574, 3, 2, 2, 2, 9755, 9756, 7, 90, 2, 2, 9756, 9757, 7, 79, 2, 2, 9757, 9758, 7, 78, 2, 2, 9758, 1576, 3, 2, 2, 2, 9759, 9760, 7, 90, 2, 2, 9760, 9761, 7, 79, 2, 2, 9761, 9762, 7, 78, 2, 2, 9762, 9763, 7, 70, 2, 2, 9763, 9764, 7, 67, 2, 2, 9764, 9765, 7, 86, 2, 2, 9765, 9766, 7, 67, 2, 2, 9766, 1578, 3, 2, 2, 2, 9767, 9768, 7, 90, 2, 2, 9768, 9769, 7, 79, 2, 2, 9769, 9770, 7, 78, 2, 2, 9770, 9771, 7, 80, 2, 2, 9771, 9772, 7, 67, 2, 2, 9772, 9773, 7, 79, 2, 2, 9773, 9774, 7, 71, 2, 2, 9774, 9775, 7, 85, 2, 2, 9775, 9776, 7, 82, 2, 2, 9776, 9777, 7, 67, 2, 2, 9777, 9778, 7, 69, 2, 2, 9778, 9779, 7, 71, 2, 2, 9779, 9780, 7, 85, 2, 2, 9780, 1580, 3, 2, 2, 2, 9781, 9782, 7, 90, 2, 2, 9782, 9783, 7, 79, 2, 2, 9783, 9784, 7, 78, 2, 2, 9784, 9785, 7, 85, 2, 2, 9785, 9786, 7, 69, 2, 2, 9786, 9787, 7, 74, 2, 2, 9787, 9788, 7, 71, 2, 2, 9788, 9789, 7, 79, 2, 2, 9789, 9790, 7, 67, 2, 2, 9790, 1582, 3, 2, 2, 2, 9791, 9792, 7, 90, 2, 2, 9792, 9793, 7, 85, 2, 2, 9793, 9794, 7, 75, 2, 2, 9794, 9795, 7, 80, 2, 2, 9795, 9796, 7, 75, 2, 2, 9796, 9797, 7, 78, 2, 2, 9797, 1584, 3, 2, 2, 2, 9798, 9799, 7, 38, 2, 2, 9799, 9800, 7, 67, 2, 2, 9800, 9801, 7, 69, 2, 2, 9801, 9802, 7, 86, 2, 2, 9802, 9803, 7, 75, 2, 2, 9803, 9804, 7, 81, 2, 2, 9804, 9805, 7, 80, 2, 2, 9805, 1586, 3, 2, 2, 2, 9806, 9808, 9, 7, 2, 2, 9807, 9806, 3, 2, 2, 2, 9808, 9809, 3, 2, 2, 2, 9809, 9807, 3, 2, 2, 2, 9809, 9810, 3, 2, 2, 2, 9810, 9811, 3, 2, 2, 2, 9811, 9812, 8, 794, 2, 2, 9812, 1588, 3, 2, 2, 2, 9813, 9814, 7, 49, 2, 2, 9814, 9815, 7, 44, 2, 2, 9815, 9820, 3, 2, 2, 2, 9816, 9819, 5, 1589, 795, 2, 9817, 9819, 11, 2, 2, 2, 9818, 9816, 3, 2, 2, 2, 9818, 9817, 3, 2, 2, 2, 9819, 9822, 3, 2, 2, 2, 9820, 9821, 3, 2, 2, 2, 9820, 9818, 3, 2, 2, 2, 9821, 9823, 3, 2, 2, 2, 9822, 9820, 3, 2, 2, 2, 9823, 9824, 7, 44, 2, 2, 9824, 9825, 7, 49, 2, 2, 9825, 9826, 3, 2, 2, 2, 9826, 9827, 8, 795, 3, 2, 9827, 1590, 3, 2, 2, 2, 9828, 9829, 7, 47, 2, 2, 9829, 9830, 7, 47, 2, 2, 9830, 9834, 3, 2, 2, 2, 9831, 9833, 10, 8, 2, 2, 9832, 9831, 3, 2, 2, 2, 9833, 9836, 3, 2, 2, 2, 9834, 9832, 3, 2, 2, 2, 9834, 9835, 3, 2, 2, 2, 9835, 9837, 3, 2, 2, 2, 9836, 9834, 3, 2, 2, 2, 9837, 9838, 8, 796, 3, 2, 9838, 1592, 3, 2, 2, 2, 9839, 9841, 7, 36, 2, 2, 9840, 9842, 10, 5, 2, 2, 9841, 9840, 3, 2, 2, 2, 9842, 9843, 3, 2, 2, 2, 9843, 9841, 3, 2, 2, 2, 9843, 9844, 3, 2, 2, 2, 9844, 9845, 3, 2, 2, 2, 9845, 9846, 7, 36, 2, 2, 9846, 1594, 3, 2, 2, 2, 9847, 9848, 7, 41, 2, 2, 9848, 1596, 3, 2, 2, 2, 9849, 9851, 7, 93, 2, 2, 9850, 9852, 10, 9, 2, 2, 9851, 9850, 3, 2, 2, 2, 9852, 9853, 3, 2, 2, 2, 9853, 9851, 3, 2, 2, 2, 9853, 9854, 3, 2, 2, 2, 9854, 9855, 3, 2, 2, 2, 9855, 9856, 7, 95, 2, 2, 9856, 1598, 3, 2, 2, 2, 9857, 9860, 7, 66, 2, 2, 9858, 9861, 9, 10, 2, 2, 9859, 9861, 5, 1693, 847, 2, 9860, 9858, 3, 2, 2, 2, 9860, 9859, 3, 2, 2, 2, 9861, 9862, 3, 2, 2, 2, 9862, 9860, 3, 2, 2, 2, 9862, 9863, 3, 2, 2, 2, 9863, 1600, 3, 2, 2, 2, 9864, 9866, 5, 1691, 846, 2, 9865, 9864, 3, 2, 2, 2, 9866, 9867, 3, 2, 2, 2, 9867, 9865, 3, 2, 2, 2, 9867, 9868, 3, 2, 2, 2, 9868, 1602, 3, 2, 2, 2, 9869, 9872, 9, 11, 2, 2, 9870, 9872, 5, 1693, 847, 2, 9871, 9869, 3, 2, 2, 2, 9871, 9870, 3, 2, 2, 2, 9872, 9877, 3, 2, 2, 2, 9873, 9876, 9, 10, 2, 2, 9874, 9876, 5, 1693, 847, 2, 9875, 9873, 3, 2, 2, 2, 9875, 9874, 3, 2, 2, 2, 9876, 9879, 3, 2, 2, 2, 9877, 9875, 3, 2, 2, 2, 9877, 9878, 3, 2, 2, 2, 9878, 1604, 3, 2, 2, 2, 9879, 9877, 3, 2, 2, 2, 9880, 9881, 7, 41, 2, 2, 9881, 9883, 9, 6, 2, 2, 9882, 9884, 9, 6, 2, 2, 9883, 9882, 3, 2, 2, 2, 9884, 9885, 3, 2, 2, 2, 9885, 9883, 3, 2, 2, 2, 9885, 9886, 3, 2, 2, 2, 9886, 9887, 3, 2, 2, 2, 9887, 9888, 9, 4, 2, 2, 9888, 9889, 3, 2, 2, 2, 9889, 9890, 7, 49, 2, 2, 9890, 9891, 7, 49, 2, 2, 9891, 9906, 3, 2, 2, 2, 9892, 9894, 9, 6, 2, 2, 9893, 9892, 3, 2, 2, 2, 9894, 9895, 3, 2, 2, 2, 9895, 9893, 3, 2, 2, 2, 9895, 9896, 3, 2, 2, 2, 9896, 9897, 3, 2, 2, 2, 9897, 9904, 9, 12, 2, 2, 9898, 9900, 9, 6, 2, 2, 9899, 9898, 3, 2, 2, 2, 9900, 9901, 3, 2, 2, 2, 9901, 9899, 3, 2, 2, 2, 9901, 9902, 3, 2, 2, 2, 9902, 9904, 3, 2, 2, 2, 9903, 9893, 3, 2, 2, 2, 9903, 9899, 3, 2, 2, 2, 9904, 9907, 3, 2, 2, 2, 9905, 9907, 5, 329, 165, 2, 9906, 9903, 3, 2, 2, 2, 9906, 9905, 3, 2, 2, 2, 9907, 9908, 3, 2, 2, 2, 9908, 9909, 9, 4, 2, 2, 9909, 9910, 5, 1601, 801, 2, 9910, 9911, 7, 41, 2, 2, 9911, 1606, 3, 2, 2, 2, 9912, 9927, 7, 41, 2, 2, 9913, 9915, 9, 6, 2, 2, 9914, 9913, 3, 2, 2, 2, 9915, 9916, 3, 2, 2, 2, 9916, 9914, 3, 2, 2, 2, 9916, 9917, 3, 2, 2, 2, 9917, 9918, 3, 2, 2, 2, 9918, 9925, 9, 12, 2, 2, 9919, 9921, 9, 6, 2, 2, 9920, 9919, 3, 2, 2, 2, 9921, 9922, 3, 2, 2, 2, 9922, 9920, 3, 2, 2, 2, 9922, 9923, 3, 2, 2, 2, 9923, 9925, 3, 2, 2, 2, 9924, 9914, 3, 2, 2, 2, 9924, 9920, 3, 2, 2, 2, 9925, 9928, 3, 2, 2, 2, 9926, 9928, 5, 329, 165, 2, 9927, 9924, 3, 2, 2, 2, 9927, 9926, 3, 2, 2, 2, 9928, 9929, 3, 2, 2, 2, 9929, 9930, 9, 4, 2, 2, 9930, 9931, 5, 1601, 801, 2, 9931, 9932, 3, 2, 2, 2, 9932, 9933, 7, 41, 2, 2, 9933, 1608, 3, 2, 2, 2, 9934, 9936, 7, 80, 2, 2, 9935, 9934, 3, 2, 2, 2, 9935, 9936, 3, 2, 2, 2, 9936, 9937, 3, 2, 2, 2, 9937, 9943, 7, 41, 2, 2, 9938, 9942, 10, 2, 2, 2, 9939, 9940, 7, 41, 2, 2, 9940, 9942, 7, 41, 2, 2, 9941, 9938, 3, 2, 2, 2, 9941, 9939, 3, 2, 2, 2, 9942, 9945, 3, 2, 2, 2, 9943, 9941, 3, 2, 2, 2, 9943, 9944, 3, 2, 2, 2, 9944, 9946, 3, 2, 2, 2, 9945, 9943, 3, 2, 2, 2, 9946, 9947, 7, 41, 2, 2, 9947, 1610, 3, 2, 2, 2, 9948, 9949, 7, 50, 2, 2, 9949, 9953, 7, 90, 2, 2, 9950, 9952, 5, 1689, 845, 2, 9951, 9950, 3, 2, 2, 2, 9952, 9955, 3, 2, 2, 2, 9953, 9951, 3, 2, 2, 2, 9953, 9954, 3, 2, 2, 2, 9954, 1612, 3, 2, 2, 2, 9955, 9953, 3, 2, 2, 2, 9956, 9957, 5, 1687, 844, 2, 9957, 1614, 3, 2, 2, 2, 9958, 9961, 5, 1601, 801, 2, 9959, 9961, 5, 1687, 844, 2, 9960, 9958, 3, 2, 2, 2, 9960, 9959, 3, 2, 2, 2, 9961, 9962, 3, 2, 2, 2, 9962, 9964, 7, 71, 2, 2, 9963, 9965, 9, 13, 2, 2, 9964, 9963, 3, 2, 2, 2, 9964, 9965, 3, 2, 2, 2, 9965, 9967, 3, 2, 2, 2, 9966, 9968, 5, 1691, 846, 2, 9967, 9966, 3, 2, 2, 2, 9968, 9969, 3, 2, 2, 2, 9969, 9967, 3, 2, 2, 2, 9969, 9970, 3, 2, 2, 2, 9970, 1616, 3, 2, 2, 2, 9971, 9972, 7, 63, 2, 2, 9972, 1618, 3, 2, 2, 2, 9973, 9974, 7, 64, 2, 2, 9974, 1620, 3, 2, 2, 2, 9975, 9976, 7, 62, 2, 2, 9976, 1622, 3, 2, 2, 2, 9977, 9978, 7, 35, 2, 2, 9978, 1624, 3, 2, 2, 2, 9979, 9980, 7, 45, 2, 2, 9980, 9981, 7, 63, 2, 2, 9981, 1626, 3, 2, 2, 2, 9982, 9983, 7, 47, 2, 2, 9983, 9984, 7, 63, 2, 2, 9984, 1628, 3, 2, 2, 2, 9985, 9986, 7, 44, 2, 2, 9986, 9987, 7, 63, 2, 2, 9987, 1630, 3, 2, 2, 2, 9988, 9989, 7, 49, 2, 2, 9989, 9990, 7, 63, 2, 2, 9990, 1632, 3, 2, 2, 2, 9991, 9992, 7, 39, 2, 2, 9992, 9993, 7, 63, 2, 2, 9993, 1634, 3, 2, 2, 2, 9994, 9995, 7, 40, 2, 2, 9995, 9996, 7, 63, 2, 2, 9996, 1636, 3, 2, 2, 2, 9997, 9998, 7, 96, 2, 2, 9998, 9999, 7, 63, 2, 2, 9999, 1638, 3, 2, 2, 2, 10000, 10001, 7, 126, 2, 2, 10001, 10002, 7, 63, 2, 2, 10002, 1640, 3, 2, 2, 2, 10003, 10004, 7, 126, 2, 2, 10004, 10005, 7, 126, 2, 2, 10005, 1642, 3, 2, 2, 2, 10006, 10007, 7, 48, 2, 2, 10007, 1644, 3, 2, 2, 2, 10008, 10009, 7, 97, 2, 2, 10009, 1646, 3, 2, 2, 2, 10010, 10011, 7, 66, 2, 2, 10011, 1648, 3, 2, 2, 2, 10012, 10013, 7, 37, 2, 2, 10013, 1650, 3, 2, 2, 2, 10014, 10015, 7, 38, 2, 2, 10015, 1652, 3, 2, 2, 2, 10016, 10017, 7, 42, 2, 2, 10017, 1654, 3, 2, 2, 2, 10018, 10019, 7, 43, 2, 2, 10019, 1656, 3, 2, 2, 2, 10020, 10021, 7, 46, 2, 2, 10021, 1658, 3, 2, 2, 2, 10022, 10023, 7, 61, 2, 2, 10023, 1660, 3, 2, 2, 2, 10024, 10025, 7, 60, 2, 2, 10025, 1662, 3, 2, 2, 2, 10026, 10027, 7, 44, 2, 2, 10027, 1664, 3, 2, 2, 2, 10028, 10029, 7, 49, 2, 2, 10029, 1666, 3, 2, 2, 2, 10030, 10031, 7, 39, 2, 2, 10031, 1668, 3, 2, 2, 2, 10032, 10033, 7, 45, 2, 2, 10033, 1670, 3, 2, 2, 2, 10034, 10035, 7, 47, 2, 2, 10035, 1672, 3, 2, 2, 2, 10036, 10037, 7, 128, 2, 2, 10037, 1674, 3, 2, 2, 2, 10038, 10039, 7, 126, 2, 2, 10039, 1676, 3, 2, 2, 2, 10040, 10041, 7, 40, 2, 2, 10041, 1678, 3, 2, 2, 2, 10042, 10043, 7, 96, 2, 2, 10043, 1680, 3, 2, 2, 2, 10044, 10045, 9, 14, 2, 2, 10045, 1682, 3, 2, 2, 2, 10046, 10047, 9, 3, 2, 2, 10047, 10048, 9, 3, 2, 2, 10048, 10049, 9, 3, 2, 2, 10049, 10050, 9, 3, 2, 2, 10050, 1684, 3, 2, 2, 2, 10051, 10053, 9, 15, 2, 2, 10052, 10051, 3, 2, 2, 2, 10052, 10053, 3, 2, 2, 2, 10053, 10055, 3, 2, 2, 2, 10054, 10056, 9, 15, 2, 2, 10055, 10054, 3, 2, 2, 2, 10055, 10056, 3, 2, 2, 2, 10056, 10057, 3, 2, 2, 2, 10057, 10058, 9, 15, 2, 2, 10058, 1686, 3, 2, 2, 2, 10059, 10061, 5, 1691, 846, 2, 10060, 10059, 3, 2, 2, 2, 10061, 10062, 3, 2, 2, 2, 10062, 10060, 3, 2, 2, 2, 10062, 10063, 3, 2, 2, 2, 10063, 10064, 3, 2, 2, 2, 10064, 10066, 7, 48, 2, 2, 10065, 10067, 5, 1691, 846, 2, 10066, 10065, 3, 2, 2, 2, 10067, 10068, 3, 2, 2, 2, 10068, 10066, 3, 2, 2, 2, 10068, 10069, 3, 2, 2, 2, 10069, 10084, 3, 2, 2, 2, 10070, 10072, 5, 1691, 846, 2, 10071, 10070, 3, 2, 2, 2, 10072, 10073, 3, 2, 2, 2, 10073, 10071, 3, 2, 2, 2, 10073, 10074, 3, 2, 2, 2, 10074, 10075, 3, 2, 2, 2, 10075, 10076, 7, 48, 2, 2, 10076, 10084, 3, 2, 2, 2, 10077, 10079, 7, 48, 2, 2, 10078, 10080, 5, 1691, 846, 2, 10079, 10078, 3, 2, 2, 2, 10080, 10081, 3, 2, 2, 2, 10081, 10079, 3, 2, 2, 2, 10081, 10082, 3, 2, 2, 2, 10082, 10084, 3, 2, 2, 2, 10083, 10060, 3, 2, 2, 2, 10083, 10071, 3, 2, 2, 2, 10083, 10077, 3, 2, 2, 2, 10084, 1688, 3, 2, 2, 2, 10085, 10086, 9, 3, 2, 2, 10086, 1690, 3, 2, 2, 2, 10087, 10088, 9, 15, 2, 2, 10088, 1692, 3, 2, 2, 2, 10089, 10090, 9, 16, 2, 2, 10090, 1694, 3, 2, 2, 2, 77, 2, 2391, 2843, 3265, 3275, 3278, 3281, 3284, 3287, 3290, 3294, 3297, 3300, 3303, 3307, 3310, 3313, 3316, 3320, 3323, 3326, 3329, 3333, 3336, 3339, 3342, 3346, 3349, 3352, 3355, 3359, 3362, 3365, 3368, 3372, 3375, 3378, 3381, 3384, 5921, 9809, 9818, 9820, 9834, 9843, 9853, 9860, 9862, 9867, 9871, 9875, 9877, 9885, 9895, 9901, 9903, 9906, 9916, 9922, 9924, 9927, 9935, 9941, 9943, 9953, 9960, 9964, 9969, 10052, 10055, 10062, 10068, 10073, 10081, 10083, 4, 8, 2, 2, 2, 3, 2] \ No newline at end of file diff --git a/src/grammar/tsql/.antlr/TSqlParser.interp b/src/grammar/tsql/.antlr/TSqlParser.interp deleted file mode 100644 index c495072..0000000 --- a/src/grammar/tsql/.antlr/TSqlParser.interp +++ /dev/null @@ -1,2178 +0,0 @@ -token literal names: -null -'ABSENT' -'ADD' -'AES' -'ALL' -'ALLOW_CONNECTIONS' -'ALLOW_MULTIPLE_EVENT_LOSS' -'ALLOW_SINGLE_EVENT_LOSS' -'ALTER' -'AND' -'ANONYMOUS' -'ANY' -'APPEND' -'APPLICATION' -'AS' -'ASC' -'ASYMMETRIC' -'ASYNCHRONOUS_COMMIT' -'AUTHORIZATION' -'AUTHENTICATION' -'AUTOMATED_BACKUP_PREFERENCE' -'AUTOMATIC' -'AVAILABILITY_MODE' -'\\' -'BACKUP' -'BEFORE' -'BEGIN' -'BETWEEN' -'BLOCK' -'BLOCKSIZE' -'BLOCKING_HIERARCHY' -'BREAK' -'BROWSE' -'BUFFER' -'BUFFERCOUNT' -'BULK' -'BY' -'CACHE' -'CALLED' -'CASCADE' -'CASE' -'CERTIFICATE' -'CHANGETABLE' -'CHANGES' -'CHECK' -'CHECKPOINT' -'CHECK_POLICY' -'CHECK_EXPIRATION' -'CLASSIFIER_FUNCTION' -'CLOSE' -'CLUSTER' -'CLUSTERED' -'COALESCE' -'COLLATE' -'COLUMN' -'COMPRESSION' -'COMMIT' -'COMPUTE' -'CONFIGURATION' -'CONSTRAINT' -'CONTAINMENT' -'CONTAINS' -'CONTAINSTABLE' -'CONTEXT' -'CONTINUE' -'CONTINUE_AFTER_ERROR' -'CONTRACT' -'CONTRACT_NAME' -'CONVERSATION' -null -'COPY_ONLY' -'CREATE' -'CROSS' -'CURRENT' -'CURRENT_DATE' -'CURRENT_TIME' -'CURRENT_TIMESTAMP' -'CURRENT_USER' -'CURSOR' -'CYCLE' -'DATA_COMPRESSION' -'DATA_SOURCE' -'DATABASE' -'DATABASE_MIRRORING' -'DBCC' -'DEALLOCATE' -'DECLARE' -'DEFAULT' -'DEFAULT_DATABASE' -'DEFAULT_SCHEMA' -'DELETE' -'DENY' -'DESC' -'DIAGNOSTICS' -'DIFFERENTIAL' -'DISK' -'DISTINCT' -'DISTRIBUTED' -'DOUBLE' -'\\\\' -'//' -'DROP' -'DTC_SUPPORT' -'DUMP' -'ELSE' -'ENABLED' -'END' -'ENDPOINT' -'ERRLVL' -'ESCAPE' -'ERROR' -'EVENT' -null -'EVENT_RETENTION_MODE' -'EXCEPT' -'EXECUTABLE_FILE' -null -'EXISTS' -'EXPIREDATE' -'EXIT' -'EXTENSION' -'EXTERNAL' -'EXTERNAL_ACCESS' -'FAILOVER' -'FAILURECONDITIONLEVEL' -'FAN_IN' -'FETCH' -'FILE' -'FILENAME' -'FILLFACTOR' -'FILE_SNAPSHOT' -'FOR' -'FORCESEEK' -'FORCE_SERVICE_ALLOW_DATA_LOSS' -'FOREIGN' -'FREETEXT' -'FREETEXTTABLE' -'FROM' -'FULL' -'FUNCTION' -'GET' -'GOTO' -'GOVERNOR' -'GRANT' -'GROUP' -'HAVING' -'HASHED' -'HEALTHCHECKTIMEOUT' -'IDENTITY' -'IDENTITYCOL' -'IDENTITY_INSERT' -'IF' -'IIF' -'IN' -'INCLUDE' -'INCREMENT' -'INDEX' -'INFINITE' -'INIT' -'INNER' -'INSERT' -'INSTEAD' -'INTERSECT' -'INTO' -null -null -'IS' -'ISNULL' -'JOIN' -'KERBEROS' -'KEY' -'KEY_PATH' -'KEY_STORE_PROVIDER_NAME' -'KILL' -'LANGUAGE' -'LEFT' -'LIBRARY' -'LIFETIME' -'LIKE' -'LINENO' -'LINUX' -'LISTENER_IP' -'LISTENER_PORT' -'LOAD' -'LOCAL_SERVICE_NAME' -'LOG' -'MATCHED' -'MASTER' -'MAX_MEMORY' -'MAXTRANSFER' -'MAXVALUE' -'MAX_DISPATCH_LATENCY' -'MAX_EVENT_SIZE' -'MAX_SIZE' -'MAX_OUTSTANDING_IO_PER_VOLUME' -'MEDIADESCRIPTION' -'MEDIANAME' -'MEMBER' -'MEMORY_PARTITION_MODE' -'MERGE' -'MESSAGE_FORWARDING' -'MESSAGE_FORWARD_SIZE' -'MINVALUE' -'MIRROR' -'MUST_CHANGE' -'NATIONAL' -'NEGOTIATE' -'NOCHECK' -'NOFORMAT' -'NOINIT' -'NONCLUSTERED' -'NONE' -'NOREWIND' -'NOSKIP' -'NOUNLOAD' -'NO_CHECKSUM' -'NO_COMPRESSION' -'NO_EVENT_LOSS' -'NOT' -'NOTIFICATION' -'NTLM' -'NULL' -'NULLIF' -'OF' -'OFF' -'OFFSETS' -'OLD_PASSWORD' -'ON' -'ON_FAILURE' -'OPEN' -'OPENDATASOURCE' -'OPENQUERY' -'OPENROWSET' -'OPENXML' -'OPTION' -'OR' -'ORDER' -'OUTER' -'OVER' -'PAGE' -'PARAM_NODE' -'PARTIAL' -'PASSWORD' -'PERCENT' -'PERMISSION_SET' -'PER_CPU' -'PER_DB' -'PER_NODE' -'PIVOT' -'PLAN' -'PLATFORM' -'POLICY' -'PRECISION' -'PREDICATE' -'PRIMARY' -'PRINT' -'PROC' -'PROCEDURE' -'PROCESS' -'PUBLIC' -'PYTHON' -'R' -'RAISERROR' -'RAW' -'READ' -'READTEXT' -'READ_WRITE_FILEGROUPS' -'RECONFIGURE' -'REFERENCES' -'REGENERATE' -'RELATED_CONVERSATION' -'RELATED_CONVERSATION_GROUP' -'REPLICATION' -'REQUIRED' -'RESET' -'RESTART' -'RESTORE' -'RESTRICT' -'RESUME' -'RETAINDAYS' -'RETURN' -'RETURNS' -'REVERT' -'REVOKE' -'REWIND' -'RIGHT' -'ROLLBACK' -'ROLE' -'ROWCOUNT' -'ROWGUIDCOL' -'RSA_512' -'RSA_1024' -'RSA_2048' -'RSA_3072' -'RSA_4096' -'SAFETY' -'RULE' -'SAFE' -'SAVE' -'SCHEDULER' -'SCHEMA' -'SCHEME' -'SECURITYAUDIT' -'SELECT' -'SEMANTICKEYPHRASETABLE' -'SEMANTICSIMILARITYDETAILSTABLE' -'SEMANTICSIMILARITYTABLE' -'SERVER' -'SERVICE' -'SERVICE_BROKER' -'SERVICE_NAME' -'SESSION' -'SESSION_USER' -'SET' -'SETUSER' -'SHUTDOWN' -'SID' -'SKIP' -'SOFTNUMA' -'SOME' -'SOURCE' -'SPECIFICATION' -'SPLIT' -'SQLDUMPERFLAGS' -'SQLDUMPERPATH' -'SQLDUMPERTIMEOUTS' -'STATISTICS' -'STATE' -'STATS' -'START' -'STARTED' -'STARTUP_STATE' -'STOP' -'STOPPED' -'STOP_ON_ERROR' -'SUPPORTED' -'SYSTEM_USER' -'TABLE' -'TABLESAMPLE' -'TAPE' -'TARGET' -'TCP' -'TEXTSIZE' -'THEN' -'TO' -'TOP' -'TRACK_CAUSALITY' -'TRAN' -'TRANSACTION' -'TRANSFER' -'TRIGGER' -'TRUNCATE' -'TSEQUAL' -'UNCHECKED' -'UNION' -'UNIQUE' -'UNLOCK' -'UNPIVOT' -'UNSAFE' -'UPDATE' -'UPDATETEXT' -'URL' -'USE' -'USED' -'USER' -'VALUES' -'VARYING' -'VERBOSELOGGING' -'VIEW' -'VISIBILITY' -'WAITFOR' -'WHEN' -'WHERE' -'WHILE' -'WINDOWS' -'WITH' -'WITHIN' -'WITHOUT' -'WITNESS' -'WRITETEXT' -'ABSOLUTE' -'ACCENT_SENSITIVITY' -'ACTION' -'ACTIVATION' -'ACTIVE' -'ADDRESS' -'AES_128' -'AES_192' -'AES_256' -'AFFINITY' -'AFTER' -'AGGREGATE' -'ALGORITHM' -'ALLOW_ENCRYPTED_VALUE_MODIFICATIONS' -'ALLOW_SNAPSHOT_ISOLATION' -'ALLOWED' -'ANSI_NULL_DEFAULT' -'ANSI_NULLS' -'ANSI_PADDING' -'ANSI_WARNINGS' -'APPLICATION_LOG' -'APPLY' -'ARITHABORT' -'ASSEMBLY' -'AUDIT' -'AUDIT_GUID' -'AUTO' -'AUTO_CLEANUP' -'AUTO_CLOSE' -'AUTO_CREATE_STATISTICS' -'AUTO_SHRINK' -'AUTO_UPDATE_STATISTICS' -'AUTO_UPDATE_STATISTICS_ASYNC' -'AVAILABILITY' -'AVG' -'BACKUP_PRIORITY' -'BEGIN_DIALOG' -'BIGINT' -'BINARY BASE64' -'BINARY_CHECKSUM' -'BINDING' -'BLOB_STORAGE' -'BROKER' -'BROKER_INSTANCE' -'BULK_LOGGED' -'CALLER' -'CAP_CPU_PERCENT' -null -'CATALOG' -'CATCH' -'CHANGE_RETENTION' -'CHANGE_TRACKING' -'CHECKSUM' -'CHECKSUM_AGG' -'CLEANUP' -'COLLECTION' -'COLUMN_MASTER_KEY' -'COMMITTED' -'COMPATIBILITY_LEVEL' -'CONCAT' -'CONCAT_NULL_YIELDS_NULL' -'CONTENT' -'CONTROL' -'COOKIE' -'COUNT' -'COUNT_BIG' -'COUNTER' -'CPU' -'CREATE_NEW' -'CREATION_DISPOSITION' -'CREDENTIAL' -'CRYPTOGRAPHIC' -'CURSOR_CLOSE_ON_COMMIT' -'CURSOR_DEFAULT' -'DATA' -'DATE_CORRELATION_OPTIMIZATION' -'DATEADD' -'DATEDIFF' -'DATENAME' -'DATEPART' -'DAYS' -'DB_CHAINING' -'DB_FAILOVER' -'DECRYPTION' -null -'DEFAULT_FULLTEXT_LANGUAGE' -'DEFAULT_LANGUAGE' -'DELAY' -'DELAYED_DURABILITY' -'DELETED' -'DENSE_RANK' -'DEPENDENTS' -'DES' -'DESCRIPTION' -'DESX' -'DHCP' -'DIALOG' -'DIRECTORY_NAME' -'DISABLE' -'DISABLE_BROKER' -'DISABLED' -null -'DOCUMENT' -'DYNAMIC' -'ELEMENTS' -'EMERGENCY' -'EMPTY' -'ENABLE' -'ENABLE_BROKER' -'ENCRYPTED_VALUE' -'ENCRYPTION' -'ENDPOINT_URL' -'ERROR_BROKER_CONVERSATIONS' -'EXCLUSIVE' -'EXECUTABLE' -'EXIST' -'EXPAND' -'EXPIRY_DATE' -'EXPLICIT' -'FAIL_OPERATION' -'FAILOVER_MODE' -'FAILURE' -'FAILURE_CONDITION_LEVEL' -'FAST' -'FAST_FORWARD' -'FILEGROUP' -'FILEGROWTH' -'FILEPATH' -'FILESTREAM' -'FILTER' -'FIRST' -'FIRST_VALUE' -'FOLLOWING' -'FORCE' -'FORCE_FAILOVER_ALLOW_DATA_LOSS' -'FORCED' -'FORMAT' -'FORWARD_ONLY' -'FULLSCAN' -'FULLTEXT' -'GB' -'GETDATE' -'GETUTCDATE' -'GLOBAL' -'GO' -'GROUP_MAX_REQUESTS' -'GROUPING' -'GROUPING_ID' -'HADR' -'HASH' -'HEALTH_CHECK_TIMEOUT' -'HIGH' -'HONOR_BROKER_PRIORITY' -'HOURS' -'IDENTITY_VALUE' -'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX' -'IMMEDIATE' -'IMPERSONATE' -'IMPORTANCE' -'INCLUDE_NULL_VALUES' -'INCREMENTAL' -'INITIATOR' -'INPUT' -'INSENSITIVE' -'INSERTED' -'INT' -'IP' -'ISOLATION' -'JOB' -'JSON' -'KB' -'KEEP' -'KEEPFIXED' -'KEY_SOURCE' -'KEYS' -'KEYSET' -'LAG' -'LAST' -'LAST_VALUE' -'LEAD' -'LEVEL' -'LIST' -'LISTENER' -'LISTENER_URL' -'LOB_COMPACTION' -'LOCAL' -'LOCATION' -'LOCK' -'LOCK_ESCALATION' -'LOGIN' -'LOOP' -'LOW' -'MANUAL' -'MARK' -'MATERIALIZED' -'MAX' -'MAX_CPU_PERCENT' -'MAX_DOP' -'MAX_FILES' -'MAX_IOPS_PER_VOLUME' -'MAX_MEMORY_PERCENT' -'MAX_PROCESSES' -'MAX_QUEUE_READERS' -'MAX_ROLLOVER_FILES' -'MAXDOP' -'MAXRECURSION' -'MAXSIZE' -'MB' -'MEDIUM' -'MEMORY_OPTIMIZED_DATA' -'MESSAGE' -'MIN' -'MIN_ACTIVE_ROWVERSION' -'MIN_CPU_PERCENT' -'MIN_IOPS_PER_VOLUME' -'MIN_MEMORY_PERCENT' -'MINUTES' -'MIRROR_ADDRESS' -'MIXED_PAGE_ALLOCATION' -'MODE' -'MODIFY' -'MOVE' -'MULTI_USER' -'NAME' -'NESTED_TRIGGERS' -'NEW_ACCOUNT' -'NEW_BROKER' -'NEW_PASSWORD' -'NEXT' -'NO' -'NO_TRUNCATE' -'NO_WAIT' -'NOCOUNT' -'NODES' -'NOEXPAND' -'NON_TRANSACTED_ACCESS' -'NORECOMPUTE' -'NORECOVERY' -'NOWAIT' -'NTILE' -'NUMANODE' -'NUMBER' -'NUMERIC_ROUNDABORT' -'OBJECT' -'OFFLINE' -'OFFSET' -'OLD_ACCOUNT' -'ONLINE' -'ONLY' -'OPEN_EXISTING' -'OPTIMISTIC' -'OPTIMIZE' -'OUT' -'OUTPUT' -'OVERRIDE' -'OWNER' -'PAGE_VERIFY' -'PARAMETERIZATION' -'PARTITION' -'PARTITIONS' -'PARTNER' -'PATH' -'POISON_MESSAGE_HANDLING' -'POOL' -'PORT' -'PRECEDING' -'PRIMARY_ROLE' -'PRIOR' -'PRIORITY' -'PRIORITY_LEVEL' -'PRIVATE' -'PRIVATE_KEY' -'PRIVILEGES' -'PROCEDURE_NAME' -'PROPERTY' -'PROVIDER' -'PROVIDER_KEY_NAME' -'QUERY' -'QUEUE' -'QUEUE_DELAY' -'QUOTED_IDENTIFIER' -'RANGE' -'RANK' -'RC2' -'RC4' -'RC4_128' -'READ_COMMITTED_SNAPSHOT' -'READ_ONLY' -'READ_ONLY_ROUTING_LIST' -'READ_WRITE' -'READONLY' -'REBUILD' -'RECEIVE' -'RECOMPILE' -'RECOVERY' -'RECURSIVE_TRIGGERS' -'RELATIVE' -'REMOTE' -'REMOTE_SERVICE_NAME' -'REMOVE' -'REORGANIZE' -'REPEATABLE' -'REPLICA' -'REQUEST_MAX_CPU_TIME_SEC' -'REQUEST_MAX_MEMORY_GRANT_PERCENT' -'REQUEST_MEMORY_GRANT_TIMEOUT_SEC' -'REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT' -'RESERVE_DISK_SPACE' -'RESOURCE' -'RESOURCE_MANAGER_LOCATION' -'RESTRICTED_USER' -'RETENTION' -'ROBUST' -'ROOT' -'ROUTE' -'ROW' -'ROW_NUMBER' -'ROWGUID' -'ROWS' -'SAMPLE' -'SCHEMABINDING' -'SCOPED' -'SCROLL' -'SCROLL_LOCKS' -'SEARCH' -'SECONDARY' -'SECONDARY_ONLY' -'SECONDARY_ROLE' -'SECONDS' -'SECRET' -'SECURITY' -'SECURITY_LOG' -'SEEDING_MODE' -'SELF' -'SEMI_SENSITIVE' -'SEND' -'SENT' -'SEQUENCE' -'SERIALIZABLE' -'SESSION_TIMEOUT' -'SETERROR' -'SHARE' -'SHOWPLAN' -'SIGNATURE' -'SIMPLE' -'SINGLE_USER' -'SIZE' -'SMALLINT' -'SNAPSHOT' -'SPATIAL_WINDOW_MAX_CELLS' -'STANDBY' -'START_DATE' -'STATIC' -'STATS_STREAM' -'STATUS' -'STATUSONLY' -'STDEV' -'STDEVP' -'STOPLIST' -'STRING_AGG' -'STUFF' -'SUBJECT' -'SUBSCRIPTION' -'SUM' -'SUSPEND' -'SYMMETRIC' -'SYNCHRONOUS_COMMIT' -'SYNONYM' -'SYSTEM' -'TAKE' -'TARGET_RECOVERY_TIME' -'TB' -'TEXTIMAGE_ON' -'THROW' -'TIES' -'TIME' -'TIMEOUT' -'TIMER' -'TINYINT' -'TORN_PAGE_DETECTION' -'TRANSFORM_NOISE_WORDS' -'TRIPLE_DES' -'TRIPLE_DES_3KEY' -'TRUSTWORTHY' -'TRY' -'TSQL' -'TWO_DIGIT_YEAR_CUTOFF' -'TYPE' -'TYPE_WARNING' -'UNBOUNDED' -'UNCOMMITTED' -'UNKNOWN' -'UNLIMITED' -'UOW' -'USING' -'VALID_XML' -'VALIDATION' -'VALUE' -'VAR' -'VARP' -'VIEW_METADATA' -'VIEWS' -'WAIT' -'WELL_FORMED_XML' -'WITHOUT_ARRAY_WRAPPER' -'WORK' -'WORKLOAD' -'XML' -'XMLDATA' -'XMLNAMESPACES' -'XMLSCHEMA' -'XSINIL' -'$ACTION' -null -null -null -null -'\'' -null -null -null -null -null -null -null -null -null -null -'=' -'>' -'<' -'!' -'+=' -'-=' -'*=' -'/=' -'%=' -'&=' -'^=' -'|=' -'||' -'.' -'_' -'@' -'#' -'$' -'(' -')' -',' -';' -':' -'*' -'/' -'%' -'+' -'-' -'~' -'|' -'&' -'^' -null - -token symbolic names: -null -ABSENT -ADD -AES -ALL -ALLOW_CONNECTIONS -ALLOW_MULTIPLE_EVENT_LOSS -ALLOW_SINGLE_EVENT_LOSS -ALTER -AND -ANONYMOUS -ANY -APPEND -APPLICATION -AS -ASC -ASYMMETRIC -ASYNCHRONOUS_COMMIT -AUTHORIZATION -AUTHENTICATION -AUTOMATED_BACKUP_PREFERENCE -AUTOMATIC -AVAILABILITY_MODE -BACKSLASH -BACKUP -BEFORE -BEGIN -BETWEEN -BLOCK -BLOCKSIZE -BLOCKING_HIERARCHY -BREAK -BROWSE -BUFFER -BUFFERCOUNT -BULK -BY -CACHE -CALLED -CASCADE -CASE -CERTIFICATE -CHANGETABLE -CHANGES -CHECK -CHECKPOINT -CHECK_POLICY -CHECK_EXPIRATION -CLASSIFIER_FUNCTION -CLOSE -CLUSTER -CLUSTERED -COALESCE -COLLATE -COLUMN -COMPRESSION -COMMIT -COMPUTE -CONFIGURATION -CONSTRAINT -CONTAINMENT -CONTAINS -CONTAINSTABLE -CONTEXT -CONTINUE -CONTINUE_AFTER_ERROR -CONTRACT -CONTRACT_NAME -CONVERSATION -CONVERT -COPY_ONLY -CREATE -CROSS -CURRENT -CURRENT_DATE -CURRENT_TIME -CURRENT_TIMESTAMP -CURRENT_USER -CURSOR -CYCLE -DATA_COMPRESSION -DATA_SOURCE -DATABASE -DATABASE_MIRRORING -DBCC -DEALLOCATE -DECLARE -DEFAULT -DEFAULT_DATABASE -DEFAULT_SCHEMA -DELETE -DENY -DESC -DIAGNOSTICS -DIFFERENTIAL -DISK -DISTINCT -DISTRIBUTED -DOUBLE -DOUBLE_BACK_SLASH -DOUBLE_FORWARD_SLASH -DROP -DTC_SUPPORT -DUMP -ELSE -ENABLED -END -ENDPOINT -ERRLVL -ESCAPE -ERROR -EVENT -EVENTDATA -EVENT_RETENTION_MODE -EXCEPT -EXECUTABLE_FILE -EXECUTE -EXISTS -EXPIREDATE -EXIT -EXTENSION -EXTERNAL -EXTERNAL_ACCESS -FAILOVER -FAILURECONDITIONLEVEL -FAN_IN -FETCH -FILE -FILENAME -FILLFACTOR -FILE_SNAPSHOT -FOR -FORCESEEK -FORCE_SERVICE_ALLOW_DATA_LOSS -FOREIGN -FREETEXT -FREETEXTTABLE -FROM -FULL -FUNCTION -GET -GOTO -GOVERNOR -GRANT -GROUP -HAVING -HASHED -HEALTHCHECKTIMEOUT -IDENTITY -IDENTITYCOL -IDENTITY_INSERT -IF -IIF -IN -INCLUDE -INCREMENT -INDEX -INFINITE -INIT -INNER -INSERT -INSTEAD -INTERSECT -INTO -IPV4_ADDR -IPV6_ADDR -IS -ISNULL -JOIN -KERBEROS -KEY -KEY_PATH -KEY_STORE_PROVIDER_NAME -KILL -LANGUAGE -LEFT -LIBRARY -LIFETIME -LIKE -LINENO -LINUX -LISTENER_IP -LISTENER_PORT -LOAD -LOCAL_SERVICE_NAME -LOG -MATCHED -MASTER -MAX_MEMORY -MAXTRANSFER -MAXVALUE -MAX_DISPATCH_LATENCY -MAX_EVENT_SIZE -MAX_SIZE -MAX_OUTSTANDING_IO_PER_VOLUME -MEDIADESCRIPTION -MEDIANAME -MEMBER -MEMORY_PARTITION_MODE -MERGE -MESSAGE_FORWARDING -MESSAGE_FORWARD_SIZE -MINVALUE -MIRROR -MUST_CHANGE -NATIONAL -NEGOTIATE -NOCHECK -NOFORMAT -NOINIT -NONCLUSTERED -NONE -NOREWIND -NOSKIP -NOUNLOAD -NO_CHECKSUM -NO_COMPRESSION -NO_EVENT_LOSS -NOT -NOTIFICATION -NTLM -NULL -NULLIF -OF -OFF -OFFSETS -OLD_PASSWORD -ON -ON_FAILURE -OPEN -OPENDATASOURCE -OPENQUERY -OPENROWSET -OPENXML -OPTION -OR -ORDER -OUTER -OVER -PAGE -PARAM_NODE -PARTIAL -PASSWORD -PERCENT -PERMISSION_SET -PER_CPU -PER_DB -PER_NODE -PIVOT -PLAN -PLATFORM -POLICY -PRECISION -PREDICATE -PRIMARY -PRINT -PROC -PROCEDURE -PROCESS -PUBLIC -PYTHON -R -RAISERROR -RAW -READ -READTEXT -READ_WRITE_FILEGROUPS -RECONFIGURE -REFERENCES -REGENERATE -RELATED_CONVERSATION -RELATED_CONVERSATION_GROUP -REPLICATION -REQUIRED -RESET -RESTART -RESTORE -RESTRICT -RESUME -RETAINDAYS -RETURN -RETURNS -REVERT -REVOKE -REWIND -RIGHT -ROLLBACK -ROLE -ROWCOUNT -ROWGUIDCOL -RSA_512 -RSA_1024 -RSA_2048 -RSA_3072 -RSA_4096 -SAFETY -RULE -SAFE -SAVE -SCHEDULER -SCHEMA -SCHEME -SECURITYAUDIT -SELECT -SEMANTICKEYPHRASETABLE -SEMANTICSIMILARITYDETAILSTABLE -SEMANTICSIMILARITYTABLE -SERVER -SERVICE -SERVICE_BROKER -SERVICE_NAME -SESSION -SESSION_USER -SET -SETUSER -SHUTDOWN -SID -SKIP_KEYWORD -SOFTNUMA -SOME -SOURCE -SPECIFICATION -SPLIT -SQLDUMPERFLAGS -SQLDUMPERPATH -SQLDUMPERTIMEOUT -STATISTICS -STATE -STATS -START -STARTED -STARTUP_STATE -STOP -STOPPED -STOP_ON_ERROR -SUPPORTED -SYSTEM_USER -TABLE -TABLESAMPLE -TAPE -TARGET -TCP -TEXTSIZE -THEN -TO -TOP -TRACK_CAUSALITY -TRAN -TRANSACTION -TRANSFER -TRIGGER -TRUNCATE -TSEQUAL -UNCHECKED -UNION -UNIQUE -UNLOCK -UNPIVOT -UNSAFE -UPDATE -UPDATETEXT -URL -USE -USED -USER -VALUES -VARYING -VERBOSELOGGING -VIEW -VISIBILITY -WAITFOR -WHEN -WHERE -WHILE -WINDOWS -WITH -WITHIN -WITHOUT -WITNESS -WRITETEXT -ABSOLUTE -ACCENT_SENSITIVITY -ACTION -ACTIVATION -ACTIVE -ADDRESS -AES_128 -AES_192 -AES_256 -AFFINITY -AFTER -AGGREGATE -ALGORITHM -ALLOW_ENCRYPTED_VALUE_MODIFICATIONS -ALLOW_SNAPSHOT_ISOLATION -ALLOWED -ANSI_NULL_DEFAULT -ANSI_NULLS -ANSI_PADDING -ANSI_WARNINGS -APPLICATION_LOG -APPLY -ARITHABORT -ASSEMBLY -AUDIT -AUDIT_GUID -AUTO -AUTO_CLEANUP -AUTO_CLOSE -AUTO_CREATE_STATISTICS -AUTO_SHRINK -AUTO_UPDATE_STATISTICS -AUTO_UPDATE_STATISTICS_ASYNC -AVAILABILITY -AVG -BACKUP_PRIORITY -BEGIN_DIALOG -BIGINT -BINARY_BASE64 -BINARY_CHECKSUM -BINDING -BLOB_STORAGE -BROKER -BROKER_INSTANCE -BULK_LOGGED -CALLER -CAP_CPU_PERCENT -CAST -CATALOG -CATCH -CHANGE_RETENTION -CHANGE_TRACKING -CHECKSUM -CHECKSUM_AGG -CLEANUP -COLLECTION -COLUMN_MASTER_KEY -COMMITTED -COMPATIBILITY_LEVEL -CONCAT -CONCAT_NULL_YIELDS_NULL -CONTENT -CONTROL -COOKIE -COUNT -COUNT_BIG -COUNTER -CPU -CREATE_NEW -CREATION_DISPOSITION -CREDENTIAL -CRYPTOGRAPHIC -CURSOR_CLOSE_ON_COMMIT -CURSOR_DEFAULT -DATA -DATE_CORRELATION_OPTIMIZATION -DATEADD -DATEDIFF -DATENAME -DATEPART -DAYS -DB_CHAINING -DB_FAILOVER -DECRYPTION -DEFAULT_DOUBLE_QUOTE -DEFAULT_FULLTEXT_LANGUAGE -DEFAULT_LANGUAGE -DELAY -DELAYED_DURABILITY -DELETED -DENSE_RANK -DEPENDENTS -DES -DESCRIPTION -DESX -DHCP -DIALOG -DIRECTORY_NAME -DISABLE -DISABLE_BROKER -DISABLED -DISK_DRIVE -DOCUMENT -DYNAMIC -ELEMENTS -EMERGENCY -EMPTY -ENABLE -ENABLE_BROKER -ENCRYPTED_VALUE -ENCRYPTION -ENDPOINT_URL -ERROR_BROKER_CONVERSATIONS -EXCLUSIVE -EXECUTABLE -EXIST -EXPAND -EXPIRY_DATE -EXPLICIT -FAIL_OPERATION -FAILOVER_MODE -FAILURE -FAILURE_CONDITION_LEVEL -FAST -FAST_FORWARD -FILEGROUP -FILEGROWTH -FILEPATH -FILESTREAM -FILTER -FIRST -FIRST_VALUE -FOLLOWING -FORCE -FORCE_FAILOVER_ALLOW_DATA_LOSS -FORCED -FORMAT -FORWARD_ONLY -FULLSCAN -FULLTEXT -GB -GETDATE -GETUTCDATE -GLOBAL -GO -GROUP_MAX_REQUESTS -GROUPING -GROUPING_ID -HADR -HASH -HEALTH_CHECK_TIMEOUT -HIGH -HONOR_BROKER_PRIORITY -HOURS -IDENTITY_VALUE -IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX -IMMEDIATE -IMPERSONATE -IMPORTANCE -INCLUDE_NULL_VALUES -INCREMENTAL -INITIATOR -INPUT -INSENSITIVE -INSERTED -INT -IP -ISOLATION -JOB -JSON -KB -KEEP -KEEPFIXED -KEY_SOURCE -KEYS -KEYSET -LAG -LAST -LAST_VALUE -LEAD -LEVEL -LIST -LISTENER -LISTENER_URL -LOB_COMPACTION -LOCAL -LOCATION -LOCK -LOCK_ESCALATION -LOGIN -LOOP -LOW -MANUAL -MARK -MATERIALIZED -MAX -MAX_CPU_PERCENT -MAX_DOP -MAX_FILES -MAX_IOPS_PER_VOLUME -MAX_MEMORY_PERCENT -MAX_PROCESSES -MAX_QUEUE_READERS -MAX_ROLLOVER_FILES -MAXDOP -MAXRECURSION -MAXSIZE -MB -MEDIUM -MEMORY_OPTIMIZED_DATA -MESSAGE -MIN -MIN_ACTIVE_ROWVERSION -MIN_CPU_PERCENT -MIN_IOPS_PER_VOLUME -MIN_MEMORY_PERCENT -MINUTES -MIRROR_ADDRESS -MIXED_PAGE_ALLOCATION -MODE -MODIFY -MOVE -MULTI_USER -NAME -NESTED_TRIGGERS -NEW_ACCOUNT -NEW_BROKER -NEW_PASSWORD -NEXT -NO -NO_TRUNCATE -NO_WAIT -NOCOUNT -NODES -NOEXPAND -NON_TRANSACTED_ACCESS -NORECOMPUTE -NORECOVERY -NOWAIT -NTILE -NUMANODE -NUMBER -NUMERIC_ROUNDABORT -OBJECT -OFFLINE -OFFSET -OLD_ACCOUNT -ONLINE -ONLY -OPEN_EXISTING -OPTIMISTIC -OPTIMIZE -OUT -OUTPUT -OVERRIDE -OWNER -PAGE_VERIFY -PARAMETERIZATION -PARTITION -PARTITIONS -PARTNER -PATH -POISON_MESSAGE_HANDLING -POOL -PORT -PRECEDING -PRIMARY_ROLE -PRIOR -PRIORITY -PRIORITY_LEVEL -PRIVATE -PRIVATE_KEY -PRIVILEGES -PROCEDURE_NAME -PROPERTY -PROVIDER -PROVIDER_KEY_NAME -QUERY -QUEUE -QUEUE_DELAY -QUOTED_IDENTIFIER -RANGE -RANK -RC2 -RC4 -RC4_128 -READ_COMMITTED_SNAPSHOT -READ_ONLY -READ_ONLY_ROUTING_LIST -READ_WRITE -READONLY -REBUILD -RECEIVE -RECOMPILE -RECOVERY -RECURSIVE_TRIGGERS -RELATIVE -REMOTE -REMOTE_SERVICE_NAME -REMOVE -REORGANIZE -REPEATABLE -REPLICA -REQUEST_MAX_CPU_TIME_SEC -REQUEST_MAX_MEMORY_GRANT_PERCENT -REQUEST_MEMORY_GRANT_TIMEOUT_SEC -REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT -RESERVE_DISK_SPACE -RESOURCE -RESOURCE_MANAGER_LOCATION -RESTRICTED_USER -RETENTION -ROBUST -ROOT -ROUTE -ROW -ROW_NUMBER -ROWGUID -ROWS -SAMPLE -SCHEMABINDING -SCOPED -SCROLL -SCROLL_LOCKS -SEARCH -SECONDARY -SECONDARY_ONLY -SECONDARY_ROLE -SECONDS -SECRET -SECURITY -SECURITY_LOG -SEEDING_MODE -SELF -SEMI_SENSITIVE -SEND -SENT -SEQUENCE -SERIALIZABLE -SESSION_TIMEOUT -SETERROR -SHARE -SHOWPLAN -SIGNATURE -SIMPLE -SINGLE_USER -SIZE -SMALLINT -SNAPSHOT -SPATIAL_WINDOW_MAX_CELLS -STANDBY -START_DATE -STATIC -STATS_STREAM -STATUS -STATUSONLY -STDEV -STDEVP -STOPLIST -STRING_AGG -STUFF -SUBJECT -SUBSCRIPTION -SUM -SUSPEND -SYMMETRIC -SYNCHRONOUS_COMMIT -SYNONYM -SYSTEM -TAKE -TARGET_RECOVERY_TIME -TB -TEXTIMAGE_ON -THROW -TIES -TIME -TIMEOUT -TIMER -TINYINT -TORN_PAGE_DETECTION -TRANSFORM_NOISE_WORDS -TRIPLE_DES -TRIPLE_DES_3KEY -TRUSTWORTHY -TRY -TSQL -TWO_DIGIT_YEAR_CUTOFF -TYPE -TYPE_WARNING -UNBOUNDED -UNCOMMITTED -UNKNOWN -UNLIMITED -UOW -USING -VALID_XML -VALIDATION -VALUE -VAR -VARP -VIEW_METADATA -VIEWS -WAIT -WELL_FORMED_XML -WITHOUT_ARRAY_WRAPPER -WORK -WORKLOAD -XML -XMLDATA -XMLNAMESPACES -XMLSCHEMA -XSINIL -DOLLAR_ACTION -SPACE -COMMENT -LINE_COMMENT -DOUBLE_QUOTE_ID -SINGLE_QUOTE -SQUARE_BRACKET_ID -LOCAL_ID -DECIMAL -ID -QUOTED_URL -QUOTED_HOST_AND_PORT -STRING -BINARY -FLOAT -REAL -EQUAL -GREATER -LESS -EXCLAMATION -PLUS_ASSIGN -MINUS_ASSIGN -MULT_ASSIGN -DIV_ASSIGN -MOD_ASSIGN -AND_ASSIGN -XOR_ASSIGN -OR_ASSIGN -DOUBLE_BAR -DOT -UNDERLINE -AT -SHARP -DOLLAR -LR_BRACKET -RR_BRACKET -COMMA -SEMI -COLON -STAR -DIVIDE -MODULE -PLUS -MINUS -BIT_NOT -BIT_OR -BIT_AND -BIT_XOR -IPV4_OCTECT - -rule names: -tsql_file -batch -sql_clauses -sql_clause -dml_clause -ddl_clause -backup_statement -cfl_statement -block_statement -break_statement -continue_statement -goto_statement -return_statement -if_statement -throw_statement -throw_error_number -throw_message -throw_state -try_catch_statement -waitfor_statement -while_statement -print_statement -raiseerror_statement -empty_statement -another_statement -alter_application_role -create_application_role -drop_aggregate -drop_application_role -alter_assembly -alter_assembly_start -alter_assembly_clause -alter_assembly_from_clause -alter_assembly_from_clause_start -alter_assembly_drop_clause -alter_assembly_drop_multiple_files -alter_assembly_drop -alter_assembly_add_clause -alter_asssembly_add_clause_start -alter_assembly_client_file_clause -alter_assembly_file_name -alter_assembly_file_bits -alter_assembly_as -alter_assembly_with_clause -alter_assembly_with -client_assembly_specifier -assembly_option -network_file_share -network_computer -network_file_start -file_path -file_directory_path_separator -local_file -local_drive -multiple_local_files -multiple_local_file_start -create_assembly -drop_assembly -alter_asymmetric_key -alter_asymmetric_key_start -asymmetric_key_option -asymmetric_key_option_start -asymmetric_key_password_change_option -create_asymmetric_key -drop_asymmetric_key -alter_authorization -authorization_grantee -entity_to -colon_colon -alter_authorization_start -alter_authorization_for_sql_database -alter_authorization_for_azure_dw -alter_authorization_for_parallel_dw -class_type -class_type_for_sql_database -class_type_for_azure_dw -class_type_for_parallel_dw -drop_availability_group -alter_availability_group -alter_availability_group_start -alter_availability_group_options -create_or_alter_broker_priority -drop_broker_priority -alter_certificate -alter_column_encryption_key -create_column_encryption_key -drop_certificate -drop_column_encryption_key -drop_column_master_key -drop_contract -drop_credential -drop_cryptograhic_provider -drop_database -drop_database_audit_specification -drop_database_scoped_credential -drop_default -drop_endpoint -drop_external_data_source -drop_external_file_format -drop_external_library -drop_external_resource_pool -drop_external_table -drop_event_notifications -drop_event_session -drop_fulltext_catalog -drop_fulltext_index -drop_fulltext_stoplist -drop_login -drop_master_key -drop_message_type -drop_partition_function -drop_partition_scheme -drop_queue -drop_remote_service_binding -drop_resource_pool -drop_db_role -drop_route -drop_rule -drop_schema -drop_search_property_list -drop_security_policy -drop_sequence -drop_server_audit -drop_server_audit_specification -drop_server_role -drop_service -drop_signature -drop_statistics_name_azure_dw_and_pdw -drop_symmetric_key -drop_synonym -drop_user -drop_workload_group -drop_xml_schema_collection -disable_trigger -enable_trigger -lock_table -truncate_table -create_column_master_key -alter_credential -create_credential -alter_cryptographic_provider -create_cryptographic_provider -create_event_notification -create_or_alter_event_session -event_session_predicate_expression -event_session_predicate_factor -event_session_predicate_leaf -alter_external_data_source -alter_external_library -create_external_library -alter_external_resource_pool -create_external_resource_pool -alter_fulltext_catalog -create_fulltext_catalog -alter_fulltext_stoplist -create_fulltext_stoplist -alter_login_sql_server -create_login_sql_server -alter_login_azure_sql -create_login_azure_sql -alter_login_azure_sql_dw_and_pdw -create_login_pdw -alter_master_key_sql_server -create_master_key_sql_server -alter_master_key_azure_sql -create_master_key_azure_sql -alter_message_type -alter_partition_function -alter_partition_scheme -alter_remote_service_binding -create_remote_service_binding -create_resource_pool -alter_resource_governor -alter_db_role -create_db_role -create_route -create_rule -alter_schema_sql -create_schema -create_schema_azure_sql_dw_and_pdw -alter_schema_azure_sql_dw_and_pdw -create_search_property_list -create_security_policy -alter_sequence -create_sequence -alter_server_audit -create_server_audit -alter_server_audit_specification -create_server_audit_specification -alter_server_configuration -alter_server_role -create_server_role -alter_server_role_pdw -alter_service -create_service -alter_service_master_key -alter_symmetric_key -create_symmetric_key -create_synonym -alter_user -create_user -create_user_azure_sql_dw -alter_user_azure_sql -alter_workload_group -create_workload_group -create_xml_schema_collection -create_queue -queue_settings -alter_queue -queue_action -queue_rebuild_options -create_contract -conversation_statement -message_statement -merge_statement -merge_matched -merge_not_matched -delete_statement -delete_statement_from -insert_statement -insert_statement_value -receive_statement -select_statement -time -update_statement -output_clause -output_dml_list_elem -output_column_name -create_database -create_index -create_or_alter_procedure -create_or_alter_trigger -create_or_alter_dml_trigger -dml_trigger_option -dml_trigger_operation -create_or_alter_ddl_trigger -ddl_trigger_operation -create_or_alter_function -func_body_returns_select -func_body_returns_table -func_body_returns_scalar -procedure_param -procedure_option -function_option -create_statistics -update_statistics -create_table -table_options -create_view -view_attribute -alter_table -alter_database -database_optionspec -auto_option -change_tracking_option -change_tracking_option_list -containment_option -cursor_option -alter_endpoint -database_mirroring_option -mirroring_set_option -mirroring_partner -mirroring_witness -witness_partner_equal -partner_option -witness_option -witness_server -partner_server -mirroring_host_port_seperator -partner_server_tcp_prefix -port_number -host -date_correlation_optimization_option -db_encryption_option -db_state_option -db_update_option -db_user_access_option -delayed_durability_option -external_access_option -hadr_options -mixed_page_allocation_option -parameterization_option -recovery_option -service_broker_option -snapshot_option -sql_option -target_recovery_time_option -termination -drop_index -drop_relational_or_xml_or_spatial_index -drop_backward_compatible_index -drop_procedure -drop_trigger -drop_dml_trigger -drop_ddl_trigger -drop_function -drop_statistics -drop_table -drop_view -create_type -drop_type -rowset_function_limited -openquery -opendatasource -declare_statement -cursor_statement -backup_database -backup_log -backup_certificate -backup_master_key -backup_service_master_key -kill_statement -kill_process -kill_query_notification -kill_stats_job -execute_statement -execute_body -execute_statement_arg -execute_var_string -security_statement -create_certificate -existing_keys -private_key_options -generate_new_keys -date_options -open_key -close_key -create_key -key_options -algorithm -encryption_mechanism -decryption_mechanism -grant_permission -set_statement -transaction_statement -go_statement -use_statement -setuser_statement -reconfigure_statement -shutdown_statement -dbcc_clause -dbcc_options -execute_clause -declare_local -table_type_definition -xml_type_definition -xml_schema_collection -column_def_table_constraints -column_def_table_constraint -column_definition -materialized_column_definition -column_constraint -table_constraint -on_delete -on_update -index_options -index_option -declare_cursor -declare_set_cursor_common -declare_set_cursor_common_partial -fetch_cursor -set_special -constant_LOCAL_ID -expression -primitive_expression -case_expression -unary_operator_expression -bracket_expression -constant_expression -subquery -with_expression -common_table_expression -update_elem -search_condition_list -search_condition -search_condition_and -search_condition_not -predicate -query_expression -sql_union -query_specification -top_clause -top_percent -top_count -order_by_clause -for_clause -xml_common_directives -order_by_expression -group_by_item -option_clause -option -optimize_for_arg -select_list -udt_method_arguments -asterisk -column_elem -udt_elem -expression_elem -select_list_elem -table_sources -table_source -table_source_item_joined -table_source_item -open_xml -schema_declaration -column_declaration -change_table -join_part -pivot_clause -unpivot_clause -full_column_name_list -table_name_with_hint -rowset_function -bulk_option -derived_table -function_call -xml_data_type_methods -value_method -query_method -exist_method -modify_method -nodes_method -switch_section -switch_search_condition_section -as_column_alias -as_table_alias -table_alias -with_table_hints -insert_with_table_hints -table_hint -index_value -column_alias_list -column_alias -table_value_constructor -expression_list -ranking_windowed_function -aggregate_windowed_function -analytic_windowed_function -all_distinct_expression -over_clause -row_or_range_clause -window_frame_extent -window_frame_bound -window_frame_preceding -window_frame_following -create_database_option -database_filestream_option -database_file_spec -file_group -file_spec -entity_name -entity_name_for_azure_dw -entity_name_for_parallel_dw -full_table_name -table_name -simple_name -func_proc_name_schema -func_proc_name_database_schema -func_proc_name_server_database_schema -ddl_object -full_column_name -column_name_list_with_order -column_name_list -cursor_name -on_off -clustered -null_notnull -null_or_default -scalar_function_name -begin_conversation_timer -begin_conversation_dialog -contract_name -service_name -end_conversation -waitfor_conversation -get_conversation -queue_id -send_conversation -data_type -default_value -constant -sign -id -simple_id -comparison_operator -assignment_operator -file_size - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 842, 10760, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318, 9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322, 4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327, 9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331, 4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336, 9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340, 4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345, 9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 4, 348, 9, 348, 4, 349, 9, 349, 4, 350, 9, 350, 4, 351, 9, 351, 4, 352, 9, 352, 4, 353, 9, 353, 4, 354, 9, 354, 4, 355, 9, 355, 4, 356, 9, 356, 4, 357, 9, 357, 4, 358, 9, 358, 4, 359, 9, 359, 4, 360, 9, 360, 4, 361, 9, 361, 4, 362, 9, 362, 4, 363, 9, 363, 4, 364, 9, 364, 4, 365, 9, 365, 4, 366, 9, 366, 4, 367, 9, 367, 4, 368, 9, 368, 4, 369, 9, 369, 4, 370, 9, 370, 4, 371, 9, 371, 4, 372, 9, 372, 4, 373, 9, 373, 4, 374, 9, 374, 4, 375, 9, 375, 4, 376, 9, 376, 4, 377, 9, 377, 4, 378, 9, 378, 4, 379, 9, 379, 4, 380, 9, 380, 4, 381, 9, 381, 4, 382, 9, 382, 4, 383, 9, 383, 4, 384, 9, 384, 4, 385, 9, 385, 4, 386, 9, 386, 4, 387, 9, 387, 4, 388, 9, 388, 4, 389, 9, 389, 4, 390, 9, 390, 4, 391, 9, 391, 4, 392, 9, 392, 4, 393, 9, 393, 4, 394, 9, 394, 4, 395, 9, 395, 4, 396, 9, 396, 4, 397, 9, 397, 4, 398, 9, 398, 4, 399, 9, 399, 4, 400, 9, 400, 4, 401, 9, 401, 4, 402, 9, 402, 4, 403, 9, 403, 4, 404, 9, 404, 4, 405, 9, 405, 4, 406, 9, 406, 4, 407, 9, 407, 4, 408, 9, 408, 4, 409, 9, 409, 4, 410, 9, 410, 4, 411, 9, 411, 4, 412, 9, 412, 4, 413, 9, 413, 4, 414, 9, 414, 4, 415, 9, 415, 4, 416, 9, 416, 4, 417, 9, 417, 4, 418, 9, 418, 4, 419, 9, 419, 4, 420, 9, 420, 4, 421, 9, 421, 4, 422, 9, 422, 4, 423, 9, 423, 4, 424, 9, 424, 4, 425, 9, 425, 4, 426, 9, 426, 4, 427, 9, 427, 4, 428, 9, 428, 4, 429, 9, 429, 4, 430, 9, 430, 4, 431, 9, 431, 4, 432, 9, 432, 4, 433, 9, 433, 4, 434, 9, 434, 4, 435, 9, 435, 4, 436, 9, 436, 4, 437, 9, 437, 4, 438, 9, 438, 4, 439, 9, 439, 4, 440, 9, 440, 4, 441, 9, 441, 4, 442, 9, 442, 4, 443, 9, 443, 4, 444, 9, 444, 4, 445, 9, 445, 4, 446, 9, 446, 4, 447, 9, 447, 4, 448, 9, 448, 4, 449, 9, 449, 4, 450, 9, 450, 4, 451, 9, 451, 4, 452, 9, 452, 4, 453, 9, 453, 4, 454, 9, 454, 4, 455, 9, 455, 4, 456, 9, 456, 4, 457, 9, 457, 4, 458, 9, 458, 4, 459, 9, 459, 4, 460, 9, 460, 4, 461, 9, 461, 4, 462, 9, 462, 4, 463, 9, 463, 4, 464, 9, 464, 4, 465, 9, 465, 4, 466, 9, 466, 4, 467, 9, 467, 4, 468, 9, 468, 4, 469, 9, 469, 4, 470, 9, 470, 4, 471, 9, 471, 4, 472, 9, 472, 4, 473, 9, 473, 4, 474, 9, 474, 4, 475, 9, 475, 4, 476, 9, 476, 4, 477, 9, 477, 4, 478, 9, 478, 4, 479, 9, 479, 4, 480, 9, 480, 4, 481, 9, 481, 4, 482, 9, 482, 4, 483, 9, 483, 4, 484, 9, 484, 4, 485, 9, 485, 4, 486, 9, 486, 4, 487, 9, 487, 4, 488, 9, 488, 3, 2, 7, 2, 978, 10, 2, 12, 2, 14, 2, 981, 11, 2, 3, 2, 3, 2, 3, 3, 3, 3, 7, 3, 987, 10, 3, 12, 3, 14, 3, 990, 11, 3, 3, 3, 5, 3, 993, 10, 3, 3, 3, 3, 3, 7, 3, 997, 10, 3, 12, 3, 14, 3, 1000, 11, 3, 5, 3, 1002, 10, 3, 3, 4, 3, 4, 5, 4, 1006, 10, 4, 6, 4, 1008, 10, 4, 13, 4, 14, 4, 1009, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 1019, 10, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 1026, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 1187, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 1194, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 1208, 10, 9, 3, 10, 3, 10, 5, 10, 1212, 10, 10, 3, 10, 5, 10, 1215, 10, 10, 3, 10, 3, 10, 5, 10, 1219, 10, 10, 3, 11, 3, 11, 5, 11, 1223, 10, 11, 3, 12, 3, 12, 5, 12, 1227, 10, 12, 3, 13, 3, 13, 3, 13, 5, 13, 1232, 10, 13, 3, 13, 3, 13, 3, 13, 5, 13, 1237, 10, 13, 5, 13, 1239, 10, 13, 3, 14, 3, 14, 5, 14, 1243, 10, 14, 3, 14, 5, 14, 1246, 10, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 1253, 10, 15, 3, 15, 5, 15, 1256, 10, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 1265, 10, 16, 3, 16, 5, 16, 1268, 10, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 5, 20, 1279, 10, 20, 3, 20, 5, 20, 1282, 10, 20, 3, 20, 3, 20, 3, 20, 5, 20, 1287, 10, 20, 3, 20, 3, 20, 3, 20, 5, 20, 1292, 10, 20, 3, 20, 5, 20, 1295, 10, 20, 3, 20, 3, 20, 3, 20, 5, 20, 1300, 10, 20, 3, 21, 3, 21, 5, 21, 1304, 10, 21, 3, 21, 5, 21, 1307, 10, 21, 3, 21, 3, 21, 5, 21, 1311, 10, 21, 3, 21, 5, 21, 1314, 10, 21, 3, 21, 5, 21, 1317, 10, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 5, 22, 1324, 10, 22, 3, 22, 3, 22, 5, 22, 1328, 10, 22, 5, 22, 1330, 10, 22, 3, 23, 3, 23, 3, 23, 5, 23, 1335, 10, 23, 3, 23, 3, 23, 7, 23, 1339, 10, 23, 12, 23, 14, 23, 1342, 11, 23, 3, 23, 5, 23, 1345, 10, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 7, 24, 1356, 10, 24, 12, 24, 14, 24, 1359, 11, 24, 3, 24, 3, 24, 3, 24, 5, 24, 1364, 10, 24, 3, 24, 5, 24, 1367, 10, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 7, 24, 1374, 10, 24, 12, 24, 14, 24, 1377, 11, 24, 5, 24, 1379, 10, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 5, 26, 1399, 10, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 1407, 10, 27, 3, 27, 3, 27, 3, 27, 5, 27, 1412, 10, 27, 3, 27, 5, 27, 1415, 10, 27, 3, 27, 3, 27, 3, 27, 5, 27, 1420, 10, 27, 3, 27, 5, 27, 1423, 10, 27, 3, 27, 3, 27, 3, 27, 5, 27, 1428, 10, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 5, 28, 1436, 10, 28, 3, 28, 3, 28, 3, 28, 5, 28, 1441, 10, 28, 3, 28, 5, 28, 1444, 10, 28, 3, 28, 3, 28, 3, 28, 5, 28, 1449, 10, 28, 3, 29, 3, 29, 3, 29, 3, 29, 5, 29, 1455, 10, 29, 3, 29, 3, 29, 3, 29, 5, 29, 1460, 10, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 33, 5, 33, 1477, 10, 33, 3, 33, 5, 33, 1480, 10, 33, 3, 33, 5, 33, 1483, 10, 33, 3, 33, 5, 33, 1486, 10, 33, 3, 34, 3, 34, 3, 34, 5, 34, 1491, 10, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 5, 37, 1500, 10, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 5, 41, 1515, 10, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 5, 47, 1532, 10, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1543, 10, 48, 3, 48, 3, 48, 7, 48, 1547, 10, 48, 12, 48, 14, 48, 1550, 11, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1564, 10, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 5, 56, 1579, 10, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 1588, 10, 58, 3, 58, 3, 58, 5, 58, 1592, 10, 58, 3, 58, 6, 58, 1595, 10, 58, 13, 58, 14, 58, 1596, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 1603, 10, 58, 3, 59, 3, 59, 3, 59, 3, 59, 5, 59, 1609, 10, 59, 3, 59, 5, 59, 1612, 10, 59, 3, 59, 6, 59, 1615, 10, 59, 13, 59, 14, 59, 1616, 3, 59, 3, 59, 3, 59, 5, 59, 1622, 10, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 5, 60, 1630, 10, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 5, 62, 1640, 10, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 5, 64, 1659, 10, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 5, 65, 1667, 10, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 5, 65, 1680, 10, 65, 5, 65, 1682, 10, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 5, 65, 1694, 10, 65, 5, 65, 1696, 10, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 5, 65, 1703, 10, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 5, 66, 1712, 10, 66, 3, 67, 3, 67, 3, 67, 3, 67, 5, 67, 1718, 10, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 5, 68, 1727, 10, 68, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 5, 72, 1742, 10, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 5, 73, 1752, 10, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 5, 74, 1762, 10, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 5, 75, 1802, 10, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 5, 76, 1825, 10, 76, 3, 77, 3, 77, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1861, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1879, 10, 82, 3, 82, 5, 82, 1882, 10, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1887, 10, 82, 3, 82, 5, 82, 1890, 10, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1895, 10, 82, 3, 82, 5, 82, 1898, 10, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1903, 10, 82, 3, 82, 5, 82, 1906, 10, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1911, 10, 82, 3, 82, 5, 82, 1914, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1922, 10, 82, 3, 82, 5, 82, 1925, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1933, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1946, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1957, 10, 82, 3, 82, 7, 82, 1960, 10, 82, 12, 82, 14, 82, 1963, 11, 82, 3, 82, 5, 82, 1966, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1972, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1995, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2007, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2018, 10, 82, 3, 82, 7, 82, 2021, 10, 82, 12, 82, 14, 82, 2024, 11, 82, 3, 82, 5, 82, 2027, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2033, 10, 82, 5, 82, 2035, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2048, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 6, 82, 2069, 10, 82, 13, 82, 14, 82, 2070, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2078, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2087, 10, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2092, 10, 82, 3, 82, 5, 82, 2095, 10, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2100, 10, 82, 3, 82, 5, 82, 2103, 10, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2108, 10, 82, 3, 82, 6, 82, 2111, 10, 82, 13, 82, 14, 82, 2112, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2141, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2148, 10, 82, 3, 82, 6, 82, 2151, 10, 82, 13, 82, 14, 82, 2152, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2160, 10, 82, 5, 82, 2162, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2173, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2179, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 2194, 10, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 5, 83, 2208, 10, 83, 3, 83, 5, 83, 2211, 10, 83, 5, 83, 2213, 10, 83, 3, 83, 3, 83, 3, 83, 5, 83, 2218, 10, 83, 3, 83, 3, 83, 5, 83, 2222, 10, 83, 3, 83, 5, 83, 2225, 10, 83, 5, 83, 2227, 10, 83, 3, 83, 3, 83, 3, 83, 3, 83, 5, 83, 2233, 10, 83, 3, 83, 5, 83, 2236, 10, 83, 5, 83, 2238, 10, 83, 3, 83, 3, 83, 3, 83, 3, 83, 5, 83, 2244, 10, 83, 5, 83, 2246, 10, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 5, 85, 2268, 10, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 5, 85, 2276, 10, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 5, 85, 2284, 10, 85, 6, 85, 2286, 10, 85, 13, 85, 14, 85, 2287, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 5, 85, 2297, 10, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 5, 86, 2318, 10, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 5, 87, 2331, 10, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 5, 87, 2346, 10, 87, 6, 87, 2348, 10, 87, 13, 87, 14, 87, 2349, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 5, 94, 2385, 10, 94, 3, 94, 5, 94, 2388, 10, 94, 3, 94, 6, 94, 2391, 10, 94, 13, 94, 14, 94, 2392, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 97, 3, 97, 5, 97, 2411, 10, 97, 3, 97, 5, 97, 2414, 10, 97, 3, 97, 3, 97, 3, 97, 5, 97, 2419, 10, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 5, 101, 2445, 10, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 5, 103, 2459, 10, 103, 3, 103, 3, 103, 3, 103, 5, 103, 2464, 10, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 2472, 10, 104, 3, 104, 6, 104, 2475, 10, 104, 13, 104, 14, 104, 2476, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 2484, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 5, 107, 2505, 10, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 5, 114, 2542, 10, 114, 3, 114, 3, 114, 3, 114, 5, 114, 2547, 10, 114, 3, 114, 3, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 5, 117, 2566, 10, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 119, 3, 119, 3, 119, 3, 119, 5, 119, 2578, 10, 119, 3, 119, 5, 119, 2581, 10, 119, 3, 119, 3, 119, 3, 119, 5, 119, 2586, 10, 119, 3, 119, 5, 119, 2589, 10, 119, 3, 120, 3, 120, 3, 120, 3, 120, 5, 120, 2595, 10, 120, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 5, 122, 2610, 10, 122, 3, 122, 3, 122, 3, 122, 5, 122, 2615, 10, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 5, 123, 2623, 10, 123, 3, 123, 5, 123, 2626, 10, 123, 3, 123, 3, 123, 3, 123, 5, 123, 2631, 10, 123, 3, 123, 3, 123, 3, 123, 5, 123, 2636, 10, 123, 3, 123, 5, 123, 2639, 10, 123, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 127, 3, 127, 3, 127, 3, 127, 3, 128, 3, 128, 5, 128, 2663, 10, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 5, 128, 2670, 10, 128, 3, 128, 3, 128, 3, 128, 5, 128, 2675, 10, 128, 3, 128, 3, 128, 3, 128, 5, 128, 2680, 10, 128, 3, 128, 3, 128, 3, 128, 6, 128, 2685, 10, 128, 13, 128, 14, 128, 2686, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 5, 129, 2694, 10, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 5, 130, 2707, 10, 130, 3, 131, 3, 131, 3, 131, 3, 131, 5, 131, 2713, 10, 131, 3, 131, 3, 131, 3, 131, 5, 131, 2718, 10, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132, 3, 132, 5, 132, 2726, 10, 132, 3, 132, 3, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 5, 134, 2742, 10, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135, 5, 135, 2749, 10, 135, 3, 135, 3, 135, 3, 135, 5, 135, 2754, 10, 135, 3, 135, 6, 135, 2757, 10, 135, 13, 135, 14, 135, 2758, 3, 135, 5, 135, 2762, 10, 135, 3, 135, 3, 135, 3, 135, 3, 135, 5, 135, 2768, 10, 135, 3, 135, 3, 135, 3, 135, 3, 135, 5, 135, 2774, 10, 135, 3, 136, 3, 136, 3, 136, 5, 136, 2779, 10, 136, 3, 136, 3, 136, 3, 136, 5, 136, 2784, 10, 136, 3, 136, 6, 136, 2787, 10, 136, 13, 136, 14, 136, 2788, 3, 136, 5, 136, 2792, 10, 136, 3, 136, 3, 136, 3, 136, 3, 136, 5, 136, 2798, 10, 136, 3, 136, 3, 136, 3, 136, 3, 136, 5, 136, 2804, 10, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 5, 137, 2815, 10, 137, 3, 137, 5, 137, 2818, 10, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 5, 138, 2828, 10, 138, 3, 138, 3, 138, 3, 138, 3, 138, 5, 138, 2834, 10, 138, 6, 138, 2836, 10, 138, 13, 138, 14, 138, 2837, 3, 138, 3, 138, 5, 138, 2842, 10, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 5, 140, 2871, 10, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 5, 141, 2884, 10, 141, 3, 141, 3, 141, 3, 141, 3, 141, 5, 141, 2890, 10, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 5, 142, 2900, 10, 142, 3, 142, 5, 142, 2903, 10, 142, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 5, 144, 2923, 10, 144, 3, 144, 3, 144, 5, 144, 2927, 10, 144, 3, 144, 3, 144, 5, 144, 2931, 10, 144, 3, 144, 6, 144, 2934, 10, 144, 13, 144, 14, 144, 2935, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 2951, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 2958, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 2967, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 7, 145, 2973, 10, 145, 12, 145, 14, 145, 2976, 11, 145, 5, 145, 2978, 10, 145, 3, 145, 3, 145, 3, 145, 5, 145, 2983, 10, 145, 3, 145, 3, 145, 3, 145, 5, 145, 2988, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 6, 145, 2994, 10, 145, 13, 145, 14, 145, 2995, 3, 145, 3, 145, 6, 145, 3000, 10, 145, 13, 145, 14, 145, 3001, 3, 145, 3, 145, 5, 145, 3006, 10, 145, 3, 145, 3, 145, 7, 145, 3010, 10, 145, 12, 145, 14, 145, 3013, 11, 145, 7, 145, 3015, 10, 145, 12, 145, 14, 145, 3018, 11, 145, 3, 145, 5, 145, 3021, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3028, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 7, 145, 3034, 10, 145, 12, 145, 14, 145, 3037, 11, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3044, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3053, 10, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3058, 10, 145, 3, 145, 3, 145, 5, 145, 3062, 10, 145, 3, 145, 5, 145, 3065, 10, 145, 6, 145, 3067, 10, 145, 13, 145, 14, 145, 3068, 3, 145, 3, 145, 7, 145, 3073, 10, 145, 12, 145, 14, 145, 3076, 11, 145, 7, 145, 3078, 10, 145, 12, 145, 14, 145, 3081, 11, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3088, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 7, 145, 3094, 10, 145, 12, 145, 14, 145, 3097, 11, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3102, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3108, 10, 145, 3, 145, 5, 145, 3111, 10, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3116, 10, 145, 3, 145, 5, 145, 3119, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3126, 10, 145, 5, 145, 3128, 10, 145, 3, 145, 5, 145, 3131, 10, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3137, 10, 145, 3, 145, 5, 145, 3140, 10, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3145, 10, 145, 3, 145, 5, 145, 3148, 10, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3153, 10, 145, 3, 145, 5, 145, 3156, 10, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3161, 10, 145, 3, 145, 5, 145, 3164, 10, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3169, 10, 145, 3, 146, 5, 146, 3172, 10, 146, 3, 146, 5, 146, 3175, 10, 146, 3, 146, 5, 146, 3178, 10, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 5, 146, 3185, 10, 146, 6, 146, 3187, 10, 146, 13, 146, 14, 146, 3188, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 5, 147, 3196, 10, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 5, 148, 3203, 10, 148, 3, 148, 3, 148, 3, 148, 3, 148, 5, 148, 3209, 10, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 5, 148, 3222, 10, 148, 3, 148, 3, 148, 5, 148, 3226, 10, 148, 3, 148, 3, 148, 3, 148, 5, 148, 3231, 10, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 5, 148, 3241, 10, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 5, 148, 3250, 10, 148, 3, 148, 3, 148, 5, 148, 3254, 10, 148, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 5, 149, 3266, 10, 149, 3, 149, 3, 149, 3, 149, 3, 149, 5, 149, 3272, 10, 149, 3, 149, 3, 149, 3, 149, 6, 149, 3277, 10, 149, 13, 149, 14, 149, 3278, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 5, 149, 3299, 10, 149, 3, 149, 3, 149, 5, 149, 3303, 10, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 5, 150, 3311, 10, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 5, 150, 3320, 10, 150, 3, 150, 3, 150, 3, 150, 3, 150, 5, 150, 3326, 10, 150, 3, 150, 3, 150, 3, 150, 3, 150, 5, 150, 3332, 10, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 6, 150, 3340, 10, 150, 13, 150, 14, 150, 3341, 3, 150, 3, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 5, 151, 3352, 10, 151, 3, 151, 3, 151, 5, 151, 3356, 10, 151, 3, 151, 5, 151, 3359, 10, 151, 3, 151, 3, 151, 5, 151, 3363, 10, 151, 3, 151, 3, 151, 3, 151, 5, 151, 3368, 10, 151, 3, 151, 3, 151, 3, 151, 3, 151, 5, 151, 3374, 10, 151, 3, 151, 5, 151, 3377, 10, 151, 3, 151, 3, 151, 5, 151, 3381, 10, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 6, 151, 3389, 10, 151, 13, 151, 14, 151, 3390, 3, 151, 5, 151, 3394, 10, 151, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 5, 152, 3402, 10, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 5, 152, 3410, 10, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 5, 152, 3417, 10, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 6, 152, 3424, 10, 152, 13, 152, 14, 152, 3425, 5, 152, 3428, 10, 152, 3, 152, 3, 152, 3, 152, 5, 152, 3433, 10, 152, 3, 152, 3, 152, 3, 152, 3, 152, 5, 152, 3439, 10, 152, 3, 152, 6, 152, 3442, 10, 152, 13, 152, 14, 152, 3443, 5, 152, 3446, 10, 152, 3, 152, 5, 152, 3449, 10, 152, 3, 152, 3, 152, 3, 152, 5, 152, 3454, 10, 152, 3, 152, 5, 152, 3457, 10, 152, 3, 152, 3, 152, 3, 152, 5, 152, 3462, 10, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 5, 153, 3477, 10, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 5, 153, 3484, 10, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 6, 153, 3491, 10, 153, 13, 153, 14, 153, 3492, 5, 153, 3495, 10, 153, 3, 153, 3, 153, 3, 153, 5, 153, 3500, 10, 153, 3, 153, 3, 153, 3, 153, 3, 153, 5, 153, 3506, 10, 153, 3, 153, 6, 153, 3509, 10, 153, 13, 153, 14, 153, 3510, 5, 153, 3513, 10, 153, 3, 153, 5, 153, 3516, 10, 153, 3, 153, 3, 153, 3, 153, 5, 153, 3521, 10, 153, 3, 153, 5, 153, 3524, 10, 153, 3, 153, 3, 153, 3, 153, 5, 153, 3529, 10, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 5, 154, 3542, 10, 154, 3, 154, 3, 154, 3, 154, 5, 154, 3547, 10, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 5, 155, 3556, 10, 155, 3, 155, 3, 155, 3, 155, 5, 155, 3561, 10, 155, 3, 155, 3, 155, 3, 155, 3, 155, 5, 155, 3567, 10, 155, 3, 155, 3, 155, 5, 155, 3571, 10, 155, 3, 155, 3, 155, 5, 155, 3575, 10, 155, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 5, 156, 3592, 10, 156, 5, 156, 3594, 10, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 5, 157, 3604, 10, 157, 3, 157, 3, 157, 3, 157, 5, 157, 3609, 10, 157, 5, 157, 3611, 10, 157, 3, 157, 3, 157, 5, 157, 3615, 10, 157, 3, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3621, 10, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3629, 10, 158, 3, 158, 7, 158, 3632, 10, 158, 12, 158, 14, 158, 3635, 11, 158, 5, 158, 3637, 10, 158, 3, 158, 3, 158, 3, 158, 3, 158, 7, 158, 3643, 10, 158, 12, 158, 14, 158, 3646, 11, 158, 5, 158, 3648, 10, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3653, 10, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3658, 10, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3663, 10, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3668, 10, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3673, 10, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3678, 10, 158, 3, 158, 3, 158, 5, 158, 3682, 10, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3687, 10, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3698, 10, 159, 3, 159, 7, 159, 3701, 10, 159, 12, 159, 14, 159, 3704, 11, 159, 5, 159, 3706, 10, 159, 3, 159, 5, 159, 3709, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3714, 10, 159, 3, 159, 5, 159, 3717, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3722, 10, 159, 3, 159, 5, 159, 3725, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3730, 10, 159, 3, 159, 5, 159, 3733, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3738, 10, 159, 3, 159, 5, 159, 3741, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3746, 10, 159, 3, 159, 5, 159, 3749, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3754, 10, 159, 3, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3760, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3765, 10, 159, 3, 159, 5, 159, 3768, 10, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3773, 10, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 5, 159, 3780, 10, 159, 5, 159, 3782, 10, 159, 3, 160, 3, 160, 3, 160, 3, 160, 5, 160, 3788, 10, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 5, 160, 3797, 10, 160, 3, 160, 3, 160, 3, 160, 5, 160, 3802, 10, 160, 5, 160, 3804, 10, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 5, 161, 3816, 10, 161, 3, 162, 3, 162, 3, 162, 3, 162, 5, 162, 3822, 10, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 7, 162, 3832, 10, 162, 12, 162, 14, 162, 3835, 11, 162, 5, 162, 3837, 10, 162, 3, 162, 3, 162, 3, 162, 5, 162, 3842, 10, 162, 5, 162, 3844, 10, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 5, 163, 3854, 10, 163, 3, 163, 3, 163, 3, 163, 5, 163, 3859, 10, 163, 5, 163, 3861, 10, 163, 3, 163, 3, 163, 5, 163, 3865, 10, 163, 3, 164, 3, 164, 3, 164, 3, 164, 5, 164, 3871, 10, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 5, 164, 3889, 10, 164, 5, 164, 3891, 10, 164, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 166, 3, 166, 3, 166, 3, 166, 5, 166, 3906, 10, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 5, 166, 3924, 10, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 5, 166, 3932, 10, 166, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 5, 167, 3942, 10, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 5, 168, 3958, 10, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 5, 170, 3979, 10, 170, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 5, 171, 3990, 10, 171, 3, 171, 3, 171, 3, 171, 3, 171, 5, 171, 3996, 10, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 5, 172, 4005, 10, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 5, 172, 4014, 10, 172, 3, 172, 3, 172, 3, 172, 3, 172, 5, 172, 4020, 10, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4029, 10, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4034, 10, 173, 3, 173, 5, 173, 4037, 10, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4042, 10, 173, 3, 173, 5, 173, 4045, 10, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4050, 10, 173, 3, 173, 5, 173, 4053, 10, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4061, 10, 173, 3, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4067, 10, 173, 6, 173, 4069, 10, 173, 13, 173, 14, 173, 4070, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4078, 10, 173, 3, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4084, 10, 173, 6, 173, 4086, 10, 173, 13, 173, 14, 173, 4087, 3, 173, 5, 173, 4091, 10, 173, 5, 173, 4093, 10, 173, 3, 173, 5, 173, 4096, 10, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4101, 10, 173, 3, 173, 5, 173, 4104, 10, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4109, 10, 173, 3, 173, 5, 173, 4112, 10, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4117, 10, 173, 3, 173, 5, 173, 4120, 10, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4125, 10, 173, 3, 173, 5, 173, 4128, 10, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 5, 174, 4143, 10, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 5, 174, 4154, 10, 174, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 5, 175, 4166, 10, 175, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 5, 176, 4173, 10, 176, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 5, 177, 4180, 10, 177, 3, 177, 3, 177, 5, 177, 4184, 10, 177, 3, 177, 3, 177, 3, 177, 5, 177, 4189, 10, 177, 3, 177, 5, 177, 4192, 10, 177, 3, 177, 3, 177, 3, 177, 5, 177, 4197, 10, 177, 3, 177, 5, 177, 4200, 10, 177, 3, 177, 3, 177, 3, 177, 5, 177, 4205, 10, 177, 3, 177, 5, 177, 4208, 10, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 5, 177, 4217, 10, 177, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 5, 178, 4224, 10, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 5, 179, 4239, 10, 179, 3, 179, 3, 179, 5, 179, 4243, 10, 179, 3, 179, 3, 179, 3, 179, 5, 179, 4248, 10, 179, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 5, 180, 4259, 10, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 5, 180, 4269, 10, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 5, 180, 4281, 10, 180, 3, 180, 3, 180, 3, 180, 3, 180, 7, 180, 4287, 10, 180, 12, 180, 14, 180, 4290, 11, 180, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 5, 181, 4297, 10, 181, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 5, 182, 4306, 10, 182, 3, 182, 3, 182, 3, 182, 5, 182, 4311, 10, 182, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 5, 183, 4322, 10, 183, 3, 183, 5, 183, 4325, 10, 183, 3, 183, 3, 183, 5, 183, 4329, 10, 183, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 5, 184, 4337, 10, 184, 3, 184, 3, 184, 5, 184, 4341, 10, 184, 3, 184, 3, 184, 5, 184, 4345, 10, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 5, 184, 4353, 10, 184, 3, 184, 6, 184, 4356, 10, 184, 13, 184, 14, 184, 4357, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 5, 184, 4366, 10, 184, 3, 184, 3, 184, 3, 184, 5, 184, 4371, 10, 184, 3, 184, 3, 184, 7, 184, 4375, 10, 184, 12, 184, 14, 184, 4378, 11, 184, 6, 184, 4380, 10, 184, 13, 184, 14, 184, 4381, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 5, 184, 4391, 10, 184, 3, 184, 5, 184, 4394, 10, 184, 3, 184, 3, 184, 3, 184, 5, 184, 4399, 10, 184, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4406, 10, 185, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4412, 10, 185, 5, 185, 4414, 10, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4419, 10, 185, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4425, 10, 185, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4431, 10, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4436, 10, 185, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4442, 10, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 5, 186, 4449, 10, 186, 3, 186, 3, 186, 3, 186, 5, 186, 4454, 10, 186, 3, 186, 3, 186, 3, 186, 5, 186, 4459, 10, 186, 3, 186, 3, 186, 3, 186, 5, 186, 4464, 10, 186, 3, 186, 5, 186, 4467, 10, 186, 3, 186, 3, 186, 5, 186, 4471, 10, 186, 3, 186, 3, 186, 5, 186, 4475, 10, 186, 3, 186, 3, 186, 5, 186, 4479, 10, 186, 3, 186, 3, 186, 5, 186, 4483, 10, 186, 3, 186, 3, 186, 3, 186, 5, 186, 4488, 10, 186, 3, 186, 3, 186, 5, 186, 4492, 10, 186, 3, 186, 3, 186, 5, 186, 4496, 10, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4506, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4512, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4519, 10, 187, 3, 187, 5, 187, 4522, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4528, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4534, 10, 187, 3, 187, 3, 187, 3, 187, 7, 187, 4539, 10, 187, 12, 187, 14, 187, 4542, 11, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4547, 10, 187, 5, 187, 4549, 10, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4554, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4560, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4566, 10, 187, 3, 187, 3, 187, 3, 187, 7, 187, 4571, 10, 187, 12, 187, 14, 187, 4574, 11, 187, 3, 187, 5, 187, 4577, 10, 187, 3, 187, 3, 187, 5, 187, 4581, 10, 187, 3, 187, 5, 187, 4584, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4598, 10, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4603, 10, 187, 3, 187, 3, 187, 5, 187, 4607, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4620, 10, 187, 3, 187, 5, 187, 4623, 10, 187, 5, 187, 4625, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4633, 10, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4643, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4649, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4656, 10, 188, 3, 188, 5, 188, 4659, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4665, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4671, 10, 188, 3, 188, 3, 188, 3, 188, 7, 188, 4676, 10, 188, 12, 188, 14, 188, 4679, 11, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4684, 10, 188, 5, 188, 4686, 10, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4691, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4697, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4703, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4709, 10, 188, 3, 188, 3, 188, 3, 188, 7, 188, 4714, 10, 188, 12, 188, 14, 188, 4717, 11, 188, 3, 188, 5, 188, 4720, 10, 188, 3, 188, 3, 188, 5, 188, 4724, 10, 188, 3, 188, 5, 188, 4727, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4741, 10, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4746, 10, 188, 3, 188, 3, 188, 5, 188, 4750, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4763, 10, 188, 3, 188, 5, 188, 4766, 10, 188, 5, 188, 4768, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 5, 188, 4776, 10, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 5, 189, 4787, 10, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 7, 189, 4794, 10, 189, 12, 189, 14, 189, 4797, 11, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 5, 189, 4805, 10, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 5, 190, 4816, 10, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 7, 190, 4823, 10, 190, 12, 190, 14, 190, 4826, 11, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 5, 190, 4834, 10, 190, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 5, 191, 4846, 10, 191, 3, 191, 3, 191, 5, 191, 4850, 10, 191, 3, 191, 3, 191, 3, 191, 6, 191, 4855, 10, 191, 13, 191, 14, 191, 4856, 5, 191, 4859, 10, 191, 3, 191, 3, 191, 3, 191, 5, 191, 4864, 10, 191, 3, 191, 3, 191, 5, 191, 4868, 10, 191, 3, 191, 3, 191, 3, 191, 6, 191, 4873, 10, 191, 13, 191, 14, 191, 4874, 5, 191, 4877, 10, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 5, 191, 4891, 10, 191, 3, 191, 3, 191, 3, 191, 5, 191, 4896, 10, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 5, 191, 4918, 10, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 5, 191, 4940, 10, 191, 3, 191, 3, 191, 3, 191, 5, 191, 4945, 10, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 5, 192, 4958, 10, 192, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 5, 193, 4966, 10, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 5, 195, 4986, 10, 195, 3, 195, 5, 195, 4989, 10, 195, 3, 195, 3, 195, 7, 195, 4993, 10, 195, 12, 195, 14, 195, 4996, 11, 195, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 5, 196, 5003, 10, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 5, 196, 5010, 10, 196, 3, 196, 3, 196, 3, 196, 5, 196, 5015, 10, 196, 3, 196, 3, 196, 5, 196, 5019, 10, 196, 6, 196, 5021, 10, 196, 13, 196, 14, 196, 5022, 3, 196, 5, 196, 5026, 10, 196, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 5, 197, 5033, 10, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 5, 197, 5051, 10, 197, 5, 197, 5053, 10, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 5, 198, 5073, 10, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 5, 199, 5081, 10, 199, 3, 199, 3, 199, 3, 199, 5, 199, 5086, 10, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 5, 199, 5104, 10, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 5, 199, 5119, 10, 199, 5, 199, 5121, 10, 199, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 5, 200, 5128, 10, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 5, 200, 5135, 10, 200, 3, 200, 3, 200, 3, 200, 5, 200, 5140, 10, 200, 3, 200, 3, 200, 3, 200, 5, 200, 5145, 10, 200, 3, 200, 3, 200, 3, 200, 3, 200, 5, 200, 5151, 10, 200, 3, 200, 3, 200, 3, 200, 5, 200, 5156, 10, 200, 5, 200, 5158, 10, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 5, 201, 5165, 10, 201, 3, 201, 3, 201, 3, 201, 3, 201, 5, 201, 5171, 10, 201, 3, 201, 3, 201, 3, 201, 3, 201, 5, 201, 5177, 10, 201, 3, 201, 5, 201, 5180, 10, 201, 3, 201, 3, 201, 3, 201, 3, 201, 5, 201, 5186, 10, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 6, 201, 5194, 10, 201, 13, 201, 14, 201, 5195, 3, 201, 5, 201, 5199, 10, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 5, 201, 5206, 10, 201, 3, 201, 5, 201, 5209, 10, 201, 3, 201, 3, 201, 3, 201, 6, 201, 5214, 10, 201, 13, 201, 14, 201, 5215, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5224, 10, 202, 3, 202, 3, 202, 5, 202, 5228, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5234, 10, 202, 3, 202, 3, 202, 3, 202, 7, 202, 5239, 10, 202, 12, 202, 14, 202, 5242, 11, 202, 5, 202, 5244, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5251, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5257, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5264, 10, 202, 3, 202, 5, 202, 5267, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5273, 10, 202, 3, 202, 3, 202, 3, 202, 7, 202, 5278, 10, 202, 12, 202, 14, 202, 5281, 11, 202, 5, 202, 5283, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5291, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5297, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5304, 10, 202, 3, 202, 5, 202, 5307, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5313, 10, 202, 3, 202, 3, 202, 3, 202, 7, 202, 5318, 10, 202, 12, 202, 14, 202, 5321, 11, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5328, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5336, 10, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5342, 10, 202, 3, 202, 3, 202, 3, 202, 7, 202, 5347, 10, 202, 12, 202, 14, 202, 5350, 11, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5359, 10, 202, 3, 202, 3, 202, 3, 202, 5, 202, 5364, 10, 202, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 5, 203, 5374, 10, 203, 3, 203, 3, 203, 3, 203, 3, 203, 5, 203, 5380, 10, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 5, 203, 5392, 10, 203, 5, 203, 5394, 10, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 5401, 10, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 5407, 10, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 5413, 10, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 5419, 10, 204, 3, 204, 3, 204, 3, 204, 6, 204, 5424, 10, 204, 13, 204, 14, 204, 5425, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 5, 205, 5433, 10, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 5, 205, 5441, 10, 205, 3, 205, 3, 205, 3, 205, 3, 205, 5, 205, 5447, 10, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 6, 205, 5461, 10, 205, 13, 205, 14, 205, 5462, 3, 205, 5, 205, 5466, 10, 205, 3, 205, 3, 205, 3, 205, 5, 205, 5471, 10, 205, 5, 205, 5473, 10, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 5, 206, 5485, 10, 206, 3, 206, 3, 206, 3, 206, 3, 206, 5, 206, 5491, 10, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 6, 206, 5505, 10, 206, 13, 206, 14, 206, 5506, 3, 206, 5, 206, 5510, 10, 206, 3, 206, 3, 206, 3, 206, 5, 206, 5515, 10, 206, 3, 206, 5, 206, 5518, 10, 206, 3, 206, 3, 206, 3, 206, 5, 206, 5523, 10, 206, 5, 206, 5525, 10, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 5534, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 5541, 10, 207, 3, 208, 3, 208, 3, 208, 3, 208, 5, 208, 5547, 10, 208, 3, 208, 5, 208, 5550, 10, 208, 3, 208, 3, 208, 3, 208, 5, 208, 5555, 10, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 5562, 10, 209, 5, 209, 5564, 10, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 5570, 10, 209, 5, 209, 5572, 10, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 5580, 10, 209, 5, 209, 5582, 10, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 5588, 10, 209, 5, 209, 5590, 10, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 5596, 10, 209, 5, 209, 5598, 10, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 5605, 10, 209, 3, 209, 5, 209, 5608, 10, 209, 5, 209, 5610, 10, 209, 3, 209, 5, 209, 5613, 10, 209, 3, 209, 3, 209, 5, 209, 5617, 10, 209, 5, 209, 5619, 10, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 5628, 10, 209, 3, 210, 3, 210, 3, 210, 3, 210, 5, 210, 5634, 10, 210, 3, 210, 3, 210, 5, 210, 5638, 10, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 5, 211, 5646, 10, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 5, 211, 5653, 10, 211, 3, 211, 3, 211, 3, 211, 3, 211, 5, 211, 5659, 10, 211, 5, 211, 5661, 10, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 5, 213, 5672, 10, 213, 3, 213, 3, 213, 3, 213, 5, 213, 5677, 10, 213, 3, 213, 3, 213, 3, 213, 3, 213, 5, 213, 5683, 10, 213, 6, 213, 5685, 10, 213, 13, 213, 14, 213, 5686, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 5, 214, 5697, 10, 214, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 5, 215, 5705, 10, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 5, 215, 5717, 10, 215, 3, 216, 5, 216, 5720, 10, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 5, 216, 5728, 10, 216, 5, 216, 5730, 10, 216, 3, 216, 5, 216, 5733, 10, 216, 3, 216, 3, 216, 5, 216, 5737, 10, 216, 3, 216, 5, 216, 5740, 10, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 5, 216, 5750, 10, 216, 3, 216, 3, 216, 7, 216, 5754, 10, 216, 12, 216, 14, 216, 5757, 11, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 5, 216, 5764, 10, 216, 3, 216, 3, 216, 5, 216, 5768, 10, 216, 3, 216, 3, 216, 5, 216, 5772, 10, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 5, 216, 5781, 10, 216, 3, 216, 3, 216, 7, 216, 5785, 10, 216, 12, 216, 14, 216, 5788, 11, 216, 3, 216, 5, 216, 5791, 10, 216, 3, 216, 5, 216, 5794, 10, 216, 3, 216, 3, 216, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 7, 217, 5803, 10, 217, 12, 217, 14, 217, 5806, 11, 217, 3, 217, 5, 217, 5809, 10, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 5, 218, 5816, 10, 218, 3, 218, 3, 218, 3, 218, 5, 218, 5821, 10, 218, 3, 219, 5, 219, 5824, 10, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 5, 219, 5832, 10, 219, 3, 219, 3, 219, 5, 219, 5836, 10, 219, 3, 219, 5, 219, 5839, 10, 219, 3, 219, 3, 219, 5, 219, 5843, 10, 219, 3, 219, 5, 219, 5846, 10, 219, 3, 219, 3, 219, 5, 219, 5850, 10, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 5, 219, 5857, 10, 219, 3, 219, 3, 219, 5, 219, 5861, 10, 219, 5, 219, 5863, 10, 219, 5, 219, 5865, 10, 219, 3, 219, 5, 219, 5868, 10, 219, 3, 219, 5, 219, 5871, 10, 219, 3, 219, 5, 219, 5874, 10, 219, 3, 220, 3, 220, 3, 220, 3, 220, 5, 220, 5880, 10, 220, 3, 221, 5, 221, 5883, 10, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 5, 221, 5891, 10, 221, 5, 221, 5893, 10, 221, 3, 221, 5, 221, 5896, 10, 221, 3, 221, 3, 221, 5, 221, 5900, 10, 221, 3, 221, 5, 221, 5903, 10, 221, 3, 221, 3, 221, 3, 221, 3, 221, 5, 221, 5909, 10, 221, 3, 221, 5, 221, 5912, 10, 221, 3, 221, 3, 221, 5, 221, 5916, 10, 221, 3, 221, 5, 221, 5919, 10, 221, 3, 221, 5, 221, 5922, 10, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 5, 222, 5929, 10, 222, 3, 223, 5, 223, 5932, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5939, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5945, 10, 223, 7, 223, 5947, 10, 223, 12, 223, 14, 223, 5950, 11, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5959, 10, 223, 3, 223, 5, 223, 5962, 10, 223, 3, 224, 5, 224, 5965, 10, 224, 3, 224, 3, 224, 5, 224, 5969, 10, 224, 3, 224, 5, 224, 5972, 10, 224, 3, 224, 5, 224, 5975, 10, 224, 3, 224, 5, 224, 5978, 10, 224, 3, 225, 3, 225, 5, 225, 5982, 10, 225, 3, 226, 5, 226, 5985, 10, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 5, 226, 5993, 10, 226, 5, 226, 5995, 10, 226, 3, 226, 3, 226, 5, 226, 5999, 10, 226, 3, 226, 5, 226, 6002, 10, 226, 3, 226, 3, 226, 3, 226, 3, 226, 7, 226, 6008, 10, 226, 12, 226, 14, 226, 6011, 11, 226, 3, 226, 5, 226, 6014, 10, 226, 3, 226, 3, 226, 5, 226, 6018, 10, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 5, 226, 6025, 10, 226, 3, 226, 3, 226, 5, 226, 6029, 10, 226, 5, 226, 6031, 10, 226, 5, 226, 6033, 10, 226, 3, 226, 5, 226, 6036, 10, 226, 3, 226, 5, 226, 6039, 10, 226, 3, 226, 5, 226, 6042, 10, 226, 3, 227, 3, 227, 3, 227, 3, 227, 7, 227, 6048, 10, 227, 12, 227, 14, 227, 6051, 11, 227, 3, 227, 3, 227, 3, 227, 5, 227, 6056, 10, 227, 3, 227, 3, 227, 3, 227, 3, 227, 5, 227, 6062, 10, 227, 5, 227, 6064, 10, 227, 3, 228, 3, 228, 5, 228, 6068, 10, 228, 3, 228, 5, 228, 6071, 10, 228, 3, 229, 3, 229, 3, 229, 5, 229, 6076, 10, 229, 3, 229, 3, 229, 3, 229, 5, 229, 6081, 10, 229, 3, 229, 5, 229, 6084, 10, 229, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 5, 230, 6092, 10, 230, 3, 230, 3, 230, 5, 230, 6096, 10, 230, 3, 230, 3, 230, 3, 230, 7, 230, 6101, 10, 230, 12, 230, 14, 230, 6104, 11, 230, 5, 230, 6106, 10, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 7, 230, 6113, 10, 230, 12, 230, 14, 230, 6116, 11, 230, 5, 230, 6118, 10, 230, 3, 230, 3, 230, 5, 230, 6122, 10, 230, 3, 230, 3, 230, 3, 230, 3, 230, 7, 230, 6128, 10, 230, 12, 230, 14, 230, 6131, 11, 230, 5, 230, 6133, 10, 230, 3, 231, 3, 231, 5, 231, 6137, 10, 231, 3, 231, 5, 231, 6140, 10, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 5, 231, 6154, 10, 231, 3, 231, 3, 231, 5, 231, 6158, 10, 231, 3, 231, 5, 231, 6161, 10, 231, 3, 231, 3, 231, 5, 231, 6165, 10, 231, 3, 231, 5, 231, 6168, 10, 231, 3, 232, 3, 232, 3, 232, 5, 232, 6173, 10, 232, 3, 232, 5, 232, 6176, 10, 232, 3, 232, 3, 232, 3, 232, 3, 232, 5, 232, 6182, 10, 232, 3, 232, 5, 232, 6185, 10, 232, 3, 232, 3, 232, 3, 232, 7, 232, 6190, 10, 232, 12, 232, 14, 232, 6193, 11, 232, 3, 232, 5, 232, 6196, 10, 232, 5, 232, 6198, 10, 232, 3, 232, 3, 232, 3, 232, 3, 232, 7, 232, 6204, 10, 232, 12, 232, 14, 232, 6207, 11, 232, 5, 232, 6209, 10, 232, 3, 232, 3, 232, 5, 232, 6213, 10, 232, 3, 232, 3, 232, 3, 232, 3, 233, 3, 233, 5, 233, 6220, 10, 233, 3, 234, 3, 234, 3, 234, 5, 234, 6225, 10, 234, 3, 234, 5, 234, 6228, 10, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 7, 234, 6238, 10, 234, 12, 234, 14, 234, 6241, 11, 234, 5, 234, 6243, 10, 234, 3, 234, 3, 234, 3, 234, 3, 234, 5, 234, 6249, 10, 234, 3, 234, 3, 234, 3, 234, 7, 234, 6254, 10, 234, 12, 234, 14, 234, 6257, 11, 234, 3, 234, 3, 234, 5, 234, 6261, 10, 234, 3, 234, 3, 234, 3, 234, 5, 234, 6266, 10, 234, 3, 234, 3, 234, 3, 234, 3, 235, 3, 235, 5, 235, 6273, 10, 235, 3, 236, 3, 236, 3, 237, 3, 237, 3, 237, 5, 237, 6280, 10, 237, 3, 237, 5, 237, 6283, 10, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 5, 237, 6291, 10, 237, 3, 237, 3, 237, 3, 237, 3, 237, 7, 237, 6297, 10, 237, 12, 237, 14, 237, 6300, 11, 237, 5, 237, 6302, 10, 237, 3, 237, 3, 237, 3, 237, 3, 237, 7, 237, 6308, 10, 237, 12, 237, 14, 237, 6311, 11, 237, 3, 237, 3, 237, 3, 237, 3, 238, 3, 238, 3, 239, 3, 239, 3, 239, 5, 239, 6321, 10, 239, 3, 239, 5, 239, 6324, 10, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 7, 239, 6332, 10, 239, 12, 239, 14, 239, 6335, 11, 239, 3, 239, 3, 239, 3, 239, 3, 239, 5, 239, 6341, 10, 239, 3, 239, 3, 239, 3, 239, 5, 239, 6346, 10, 239, 3, 239, 5, 239, 6349, 10, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 7, 240, 6357, 10, 240, 12, 240, 14, 240, 6360, 11, 240, 5, 240, 6362, 10, 240, 3, 240, 5, 240, 6365, 10, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 5, 240, 6373, 10, 240, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 7, 241, 6382, 10, 241, 12, 241, 14, 241, 6385, 11, 241, 5, 241, 6387, 10, 241, 3, 241, 5, 241, 6390, 10, 241, 3, 241, 3, 241, 7, 241, 6394, 10, 241, 12, 241, 14, 241, 6397, 11, 241, 3, 241, 3, 241, 5, 241, 6401, 10, 241, 3, 241, 3, 241, 5, 241, 6405, 10, 241, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 7, 242, 6413, 10, 242, 12, 242, 14, 242, 6416, 11, 242, 5, 242, 6418, 10, 242, 3, 242, 5, 242, 6421, 10, 242, 3, 242, 3, 242, 7, 242, 6425, 10, 242, 12, 242, 14, 242, 6428, 11, 242, 3, 242, 3, 242, 3, 242, 5, 242, 6433, 10, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243, 3, 243, 5, 243, 6441, 10, 243, 3, 243, 5, 243, 6444, 10, 243, 3, 243, 3, 243, 5, 243, 6448, 10, 243, 3, 243, 3, 243, 5, 243, 6452, 10, 243, 3, 243, 5, 243, 6455, 10, 243, 3, 244, 3, 244, 3, 244, 5, 244, 6460, 10, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 5, 245, 6474, 10, 245, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 5, 246, 6490, 10, 246, 3, 246, 3, 246, 5, 246, 6494, 10, 246, 3, 246, 3, 246, 3, 246, 3, 246, 5, 246, 6500, 10, 246, 5, 246, 6502, 10, 246, 3, 246, 5, 246, 6505, 10, 246, 3, 247, 3, 247, 5, 247, 6509, 10, 247, 3, 247, 3, 247, 3, 247, 5, 247, 6514, 10, 247, 3, 247, 3, 247, 3, 247, 5, 247, 6519, 10, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 5, 248, 6527, 10, 248, 3, 248, 3, 248, 3, 248, 5, 248, 6532, 10, 248, 3, 248, 7, 248, 6535, 10, 248, 12, 248, 14, 248, 6538, 11, 248, 3, 248, 3, 248, 3, 248, 5, 248, 6543, 10, 248, 3, 248, 3, 248, 3, 248, 5, 248, 6548, 10, 248, 3, 248, 5, 248, 6551, 10, 248, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 7, 249, 6558, 10, 249, 12, 249, 14, 249, 6561, 11, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 7, 249, 6568, 10, 249, 12, 249, 14, 249, 6571, 11, 249, 5, 249, 6573, 10, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 5, 250, 6582, 10, 250, 3, 250, 3, 250, 3, 250, 3, 250, 7, 250, 6588, 10, 250, 12, 250, 14, 250, 6591, 11, 250, 5, 250, 6593, 10, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 5, 250, 6600, 10, 250, 3, 250, 5, 250, 6603, 10, 250, 3, 251, 3, 251, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 5, 252, 6649, 10, 252, 3, 252, 3, 252, 5, 252, 6653, 10, 252, 3, 252, 5, 252, 6656, 10, 252, 3, 253, 3, 253, 3, 253, 3, 253, 5, 253, 6662, 10, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 5, 253, 6674, 10, 253, 5, 253, 6676, 10, 253, 3, 253, 5, 253, 6679, 10, 253, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 5, 254, 6704, 10, 254, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 5, 255, 6715, 10, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 5, 255, 6723, 10, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 7, 256, 6732, 10, 256, 12, 256, 14, 256, 6735, 11, 256, 7, 256, 6737, 10, 256, 12, 256, 14, 256, 6740, 11, 256, 5, 256, 6742, 10, 256, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 5, 257, 6750, 10, 257, 3, 258, 3, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 259, 3, 259, 5, 259, 6760, 10, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6767, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6774, 10, 260, 5, 260, 6776, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6788, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6799, 10, 260, 3, 260, 3, 260, 5, 260, 6803, 10, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6808, 10, 260, 3, 260, 5, 260, 6811, 10, 260, 5, 260, 6813, 10, 260, 3, 260, 5, 260, 6816, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6828, 10, 260, 5, 260, 6830, 10, 260, 5, 260, 6832, 10, 260, 3, 260, 5, 260, 6835, 10, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6840, 10, 260, 3, 260, 5, 260, 6843, 10, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6848, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6858, 10, 260, 3, 260, 3, 260, 5, 260, 6862, 10, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6867, 10, 260, 3, 260, 5, 260, 6870, 10, 260, 5, 260, 6872, 10, 260, 3, 260, 5, 260, 6875, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6887, 10, 260, 5, 260, 6889, 10, 260, 5, 260, 6891, 10, 260, 3, 260, 5, 260, 6894, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 6900, 10, 260, 3, 261, 3, 261, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 5, 262, 6910, 10, 262, 3, 263, 3, 263, 3, 264, 3, 264, 3, 265, 3, 265, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 5, 266, 6930, 10, 266, 3, 267, 3, 267, 3, 267, 3, 267, 5, 267, 6936, 10, 267, 3, 268, 3, 268, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 270, 3, 270, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 5, 273, 6961, 10, 273, 5, 273, 6963, 10, 273, 3, 274, 3, 274, 3, 274, 3, 275, 3, 275, 3, 275, 3, 276, 3, 276, 3, 277, 3, 277, 3, 278, 3, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 5, 280, 6989, 10, 280, 3, 280, 3, 280, 3, 280, 3, 280, 5, 280, 6995, 10, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 5, 280, 7006, 10, 280, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 5, 281, 7014, 10, 281, 3, 281, 5, 281, 7017, 10, 281, 3, 282, 3, 282, 3, 282, 3, 283, 3, 283, 3, 283, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 5, 284, 7031, 10, 284, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 5, 285, 7039, 10, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 5, 286, 7046, 10, 286, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 5, 287, 7069, 10, 287, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 5, 289, 7082, 10, 289, 3, 290, 3, 290, 3, 290, 3, 290, 5, 290, 7088, 10, 290, 3, 290, 3, 290, 3, 290, 7, 290, 7093, 10, 290, 12, 290, 14, 290, 7096, 11, 290, 3, 290, 3, 290, 3, 290, 7, 290, 7101, 10, 290, 12, 290, 14, 290, 7104, 11, 290, 5, 290, 7106, 10, 290, 3, 290, 5, 290, 7109, 10, 290, 3, 291, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292, 3, 292, 5, 292, 7118, 10, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293, 3, 293, 3, 293, 5, 293, 7128, 10, 293, 3, 293, 3, 293, 3, 293, 7, 293, 7133, 10, 293, 12, 293, 14, 293, 7136, 11, 293, 3, 293, 5, 293, 7139, 10, 293, 3, 294, 3, 294, 5, 294, 7143, 10, 294, 3, 295, 3, 295, 3, 295, 3, 295, 5, 295, 7149, 10, 295, 3, 295, 3, 295, 3, 295, 7, 295, 7154, 10, 295, 12, 295, 14, 295, 7157, 11, 295, 3, 295, 5, 295, 7160, 10, 295, 3, 296, 3, 296, 3, 296, 3, 296, 5, 296, 7166, 10, 296, 3, 296, 3, 296, 3, 296, 7, 296, 7171, 10, 296, 12, 296, 14, 296, 7174, 11, 296, 3, 296, 3, 296, 3, 296, 3, 296, 5, 296, 7180, 10, 296, 3, 296, 5, 296, 7183, 10, 296, 3, 297, 3, 297, 3, 297, 3, 297, 5, 297, 7189, 10, 297, 3, 297, 3, 297, 3, 297, 7, 297, 7194, 10, 297, 12, 297, 14, 297, 7197, 11, 297, 3, 297, 5, 297, 7200, 10, 297, 3, 298, 3, 298, 3, 298, 5, 298, 7205, 10, 298, 3, 298, 3, 298, 3, 298, 5, 298, 7210, 10, 298, 3, 298, 6, 298, 7213, 10, 298, 13, 298, 14, 298, 7214, 3, 298, 3, 298, 3, 299, 3, 299, 3, 299, 3, 299, 5, 299, 7223, 10, 299, 3, 299, 3, 299, 5, 299, 7227, 10, 299, 3, 300, 3, 300, 3, 300, 3, 300, 5, 300, 7233, 10, 300, 3, 300, 3, 300, 3, 300, 7, 300, 7238, 10, 300, 12, 300, 14, 300, 7241, 11, 300, 3, 300, 5, 300, 7244, 10, 300, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 7253, 10, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 7261, 10, 301, 3, 302, 3, 302, 3, 302, 3, 302, 5, 302, 7267, 10, 302, 3, 302, 3, 302, 3, 303, 3, 303, 5, 303, 7273, 10, 303, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 5, 305, 7290, 10, 305, 3, 305, 3, 305, 5, 305, 7294, 10, 305, 3, 305, 3, 305, 3, 305, 3, 306, 3, 306, 3, 306, 5, 306, 7302, 10, 306, 3, 306, 3, 306, 5, 306, 7306, 10, 306, 3, 306, 3, 306, 3, 306, 3, 306, 7, 306, 7312, 10, 306, 12, 306, 14, 306, 7315, 11, 306, 3, 306, 5, 306, 7318, 10, 306, 3, 306, 3, 306, 3, 306, 5, 306, 7323, 10, 306, 3, 306, 3, 306, 5, 306, 7327, 10, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 5, 306, 7334, 10, 306, 3, 306, 3, 306, 3, 306, 3, 306, 5, 306, 7340, 10, 306, 5, 306, 7342, 10, 306, 3, 307, 3, 307, 5, 307, 7346, 10, 307, 3, 307, 3, 307, 5, 307, 7350, 10, 307, 3, 307, 3, 307, 5, 307, 7354, 10, 307, 3, 307, 5, 307, 7357, 10, 307, 3, 307, 3, 307, 5, 307, 7361, 10, 307, 3, 307, 3, 307, 3, 307, 3, 307, 5, 307, 7367, 10, 307, 3, 307, 3, 307, 5, 307, 7371, 10, 307, 5, 307, 7373, 10, 307, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7380, 10, 308, 3, 308, 3, 308, 3, 308, 7, 308, 7385, 10, 308, 12, 308, 14, 308, 7388, 11, 308, 5, 308, 7390, 10, 308, 3, 308, 5, 308, 7393, 10, 308, 3, 308, 3, 308, 3, 308, 7, 308, 7398, 10, 308, 12, 308, 14, 308, 7401, 11, 308, 3, 308, 3, 308, 5, 308, 7405, 10, 308, 3, 308, 6, 308, 7408, 10, 308, 13, 308, 14, 308, 7409, 3, 308, 3, 308, 5, 308, 7414, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7420, 10, 308, 6, 308, 7422, 10, 308, 13, 308, 14, 308, 7423, 5, 308, 7426, 10, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7431, 10, 308, 3, 308, 6, 308, 7434, 10, 308, 13, 308, 14, 308, 7435, 6, 308, 7438, 10, 308, 13, 308, 14, 308, 7439, 3, 308, 3, 308, 3, 308, 5, 308, 7445, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7451, 10, 308, 6, 308, 7453, 10, 308, 13, 308, 14, 308, 7454, 6, 308, 7457, 10, 308, 13, 308, 14, 308, 7458, 5, 308, 7461, 10, 308, 3, 308, 3, 308, 5, 308, 7465, 10, 308, 3, 308, 3, 308, 5, 308, 7469, 10, 308, 3, 308, 3, 308, 5, 308, 7473, 10, 308, 3, 308, 3, 308, 5, 308, 7477, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7483, 10, 308, 3, 308, 5, 308, 7486, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7492, 10, 308, 3, 308, 3, 308, 5, 308, 7496, 10, 308, 3, 308, 3, 308, 5, 308, 7500, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7506, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7512, 10, 308, 5, 308, 7514, 10, 308, 3, 308, 5, 308, 7517, 10, 308, 3, 308, 3, 308, 5, 308, 7521, 10, 308, 3, 308, 3, 308, 5, 308, 7525, 10, 308, 3, 308, 3, 308, 5, 308, 7529, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7535, 10, 308, 3, 308, 5, 308, 7538, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7544, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7550, 10, 308, 3, 308, 5, 308, 7553, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7559, 10, 308, 3, 308, 5, 308, 7562, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7568, 10, 308, 3, 308, 5, 308, 7571, 10, 308, 3, 308, 3, 308, 5, 308, 7575, 10, 308, 3, 308, 3, 308, 5, 308, 7579, 10, 308, 3, 308, 3, 308, 5, 308, 7583, 10, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7588, 10, 308, 3, 308, 5, 308, 7591, 10, 308, 3, 308, 3, 308, 5, 308, 7595, 10, 308, 3, 308, 3, 308, 5, 308, 7599, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 7616, 10, 308, 7, 308, 7618, 10, 308, 12, 308, 14, 308, 7621, 11, 308, 5, 308, 7623, 10, 308, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7630, 10, 309, 3, 309, 6, 309, 7633, 10, 309, 13, 309, 14, 309, 7634, 3, 309, 3, 309, 5, 309, 7639, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7645, 10, 309, 6, 309, 7647, 10, 309, 13, 309, 14, 309, 7648, 5, 309, 7651, 10, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7656, 10, 309, 3, 309, 6, 309, 7659, 10, 309, 13, 309, 14, 309, 7660, 6, 309, 7663, 10, 309, 13, 309, 14, 309, 7664, 3, 309, 3, 309, 3, 309, 5, 309, 7670, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7676, 10, 309, 6, 309, 7678, 10, 309, 13, 309, 14, 309, 7679, 6, 309, 7682, 10, 309, 13, 309, 14, 309, 7683, 5, 309, 7686, 10, 309, 3, 309, 3, 309, 5, 309, 7690, 10, 309, 3, 309, 3, 309, 5, 309, 7694, 10, 309, 3, 309, 3, 309, 5, 309, 7698, 10, 309, 3, 309, 3, 309, 5, 309, 7702, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7708, 10, 309, 3, 309, 5, 309, 7711, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7717, 10, 309, 3, 309, 3, 309, 5, 309, 7721, 10, 309, 3, 309, 3, 309, 5, 309, 7725, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7731, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7737, 10, 309, 5, 309, 7739, 10, 309, 3, 309, 5, 309, 7742, 10, 309, 3, 309, 3, 309, 5, 309, 7746, 10, 309, 3, 309, 3, 309, 5, 309, 7750, 10, 309, 3, 309, 3, 309, 5, 309, 7754, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7760, 10, 309, 3, 309, 5, 309, 7763, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7769, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7775, 10, 309, 3, 309, 5, 309, 7778, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7784, 10, 309, 3, 309, 5, 309, 7787, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7793, 10, 309, 3, 309, 5, 309, 7796, 10, 309, 3, 309, 3, 309, 5, 309, 7800, 10, 309, 3, 309, 3, 309, 5, 309, 7804, 10, 309, 3, 309, 3, 309, 5, 309, 7808, 10, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7813, 10, 309, 3, 309, 5, 309, 7816, 10, 309, 3, 309, 3, 309, 5, 309, 7820, 10, 309, 3, 309, 3, 309, 5, 309, 7824, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7830, 10, 309, 3, 309, 5, 309, 7833, 10, 309, 3, 309, 3, 309, 5, 309, 7837, 10, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 7854, 10, 309, 7, 309, 7856, 10, 309, 12, 309, 14, 309, 7859, 11, 309, 5, 309, 7861, 10, 309, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 5, 310, 7875, 10, 310, 3, 310, 3, 310, 3, 310, 3, 310, 5, 310, 7881, 10, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 5, 310, 7889, 10, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 6, 310, 7896, 10, 310, 13, 310, 14, 310, 7897, 3, 310, 5, 310, 7901, 10, 310, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 313, 3, 313, 3, 313, 3, 313, 5, 313, 7934, 10, 313, 3, 314, 3, 314, 5, 314, 7938, 10, 314, 3, 314, 3, 314, 5, 314, 7942, 10, 314, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 5, 315, 7949, 10, 315, 3, 316, 3, 316, 3, 316, 3, 316, 3, 317, 3, 317, 3, 317, 3, 318, 3, 318, 5, 318, 7960, 10, 318, 3, 318, 3, 318, 5, 318, 7964, 10, 318, 3, 318, 3, 318, 3, 318, 7, 318, 7969, 10, 318, 12, 318, 14, 318, 7972, 11, 318, 5, 318, 7974, 10, 318, 3, 318, 5, 318, 7977, 10, 318, 3, 318, 3, 318, 3, 318, 3, 318, 7, 318, 7983, 10, 318, 12, 318, 14, 318, 7986, 11, 318, 3, 318, 3, 318, 5, 318, 7990, 10, 318, 3, 318, 3, 318, 3, 318, 5, 318, 7995, 10, 318, 3, 318, 5, 318, 7998, 10, 318, 5, 318, 8000, 10, 318, 3, 319, 3, 319, 5, 319, 8004, 10, 319, 3, 319, 3, 319, 5, 319, 8008, 10, 319, 3, 319, 5, 319, 8011, 10, 319, 3, 319, 3, 319, 5, 319, 8015, 10, 319, 3, 320, 3, 320, 3, 321, 3, 321, 5, 321, 8021, 10, 321, 3, 321, 3, 321, 3, 321, 5, 321, 8026, 10, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 5, 321, 8033, 10, 321, 5, 321, 8035, 10, 321, 3, 321, 3, 321, 5, 321, 8039, 10, 321, 3, 321, 3, 321, 3, 321, 3, 321, 7, 321, 8045, 10, 321, 12, 321, 14, 321, 8048, 11, 321, 3, 321, 3, 321, 3, 321, 5, 321, 8053, 10, 321, 3, 321, 3, 321, 5, 321, 8057, 10, 321, 3, 321, 5, 321, 8060, 10, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 5, 321, 8069, 10, 321, 3, 321, 5, 321, 8072, 10, 321, 3, 321, 3, 321, 3, 321, 3, 321, 5, 321, 8078, 10, 321, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 5, 322, 8085, 10, 322, 3, 322, 3, 322, 3, 322, 5, 322, 8090, 10, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 5, 322, 8098, 10, 322, 3, 323, 3, 323, 3, 323, 5, 323, 8103, 10, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 5, 323, 8115, 10, 323, 5, 323, 8117, 10, 323, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 5, 324, 8128, 10, 324, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 5, 325, 8135, 10, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 7, 325, 8143, 10, 325, 12, 325, 14, 325, 8146, 11, 325, 3, 326, 3, 326, 3, 326, 3, 326, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 5, 327, 8168, 10, 327, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 5, 328, 8181, 10, 328, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 5, 329, 8197, 10, 329, 3, 329, 3, 329, 3, 329, 5, 329, 8202, 10, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 5, 329, 8209, 10, 329, 3, 329, 5, 329, 8212, 10, 329, 6, 329, 8214, 10, 329, 13, 329, 14, 329, 8215, 5, 329, 8218, 10, 329, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 5, 330, 8235, 10, 330, 3, 331, 3, 331, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 5, 332, 8250, 10, 332, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 5, 333, 8258, 10, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 5, 333, 8267, 10, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 5, 333, 8275, 10, 333, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 5, 334, 8284, 10, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 5, 334, 8295, 10, 334, 3, 334, 3, 334, 5, 334, 8299, 10, 334, 5, 334, 8301, 10, 334, 5, 334, 8303, 10, 334, 3, 335, 3, 335, 3, 335, 3, 335, 5, 335, 8309, 10, 335, 3, 335, 3, 335, 3, 335, 5, 335, 8314, 10, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 5, 335, 8321, 10, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 5, 335, 8334, 10, 335, 5, 335, 8336, 10, 335, 5, 335, 8338, 10, 335, 3, 335, 5, 335, 8341, 10, 335, 3, 335, 5, 335, 8344, 10, 335, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 5, 336, 8351, 10, 336, 3, 336, 5, 336, 8354, 10, 336, 3, 336, 3, 336, 3, 336, 3, 336, 5, 336, 8360, 10, 336, 3, 336, 3, 336, 3, 336, 5, 336, 8365, 10, 336, 5, 336, 8367, 10, 336, 3, 336, 5, 336, 8370, 10, 336, 3, 336, 3, 336, 3, 336, 3, 336, 5, 336, 8376, 10, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 5, 336, 8384, 10, 336, 5, 336, 8386, 10, 336, 3, 336, 5, 336, 8389, 10, 336, 3, 336, 3, 336, 5, 336, 8393, 10, 336, 3, 336, 5, 336, 8396, 10, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 5, 336, 8406, 10, 336, 3, 336, 5, 336, 8409, 10, 336, 3, 336, 3, 336, 5, 336, 8413, 10, 336, 3, 336, 5, 336, 8416, 10, 336, 3, 336, 3, 336, 3, 336, 3, 336, 5, 336, 8422, 10, 336, 3, 336, 5, 336, 8425, 10, 336, 5, 336, 8427, 10, 336, 3, 337, 3, 337, 5, 337, 8431, 10, 337, 3, 338, 3, 338, 3, 338, 5, 338, 8436, 10, 338, 3, 339, 3, 339, 5, 339, 8440, 10, 339, 3, 340, 3, 340, 3, 340, 5, 340, 8445, 10, 340, 3, 341, 3, 341, 3, 341, 5, 341, 8450, 10, 341, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 5, 342, 8458, 10, 342, 3, 342, 3, 342, 5, 342, 8462, 10, 342, 3, 342, 5, 342, 8465, 10, 342, 3, 343, 3, 343, 3, 343, 5, 343, 8470, 10, 343, 3, 344, 3, 344, 3, 344, 3, 344, 3, 345, 3, 345, 5, 345, 8478, 10, 345, 3, 345, 3, 345, 3, 345, 5, 345, 8483, 10, 345, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 347, 3, 347, 3, 347, 5, 347, 8493, 10, 347, 3, 347, 3, 347, 3, 347, 3, 348, 3, 348, 3, 348, 3, 348, 3, 349, 3, 349, 5, 349, 8504, 10, 349, 3, 349, 7, 349, 8507, 10, 349, 12, 349, 14, 349, 8510, 11, 349, 3, 350, 3, 350, 3, 350, 5, 350, 8515, 10, 350, 3, 351, 3, 351, 3, 351, 3, 351, 5, 351, 8521, 10, 351, 3, 351, 3, 351, 5, 351, 8525, 10, 351, 3, 351, 5, 351, 8528, 10, 351, 3, 351, 3, 351, 5, 351, 8532, 10, 351, 3, 351, 3, 351, 5, 351, 8536, 10, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 5, 351, 8544, 10, 351, 3, 351, 3, 351, 3, 351, 5, 351, 8549, 10, 351, 5, 351, 8551, 10, 351, 3, 351, 5, 351, 8554, 10, 351, 3, 351, 7, 351, 8557, 10, 351, 12, 351, 14, 351, 8560, 11, 351, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 5, 352, 8568, 10, 352, 3, 353, 3, 353, 5, 353, 8572, 10, 353, 3, 353, 3, 353, 3, 353, 5, 353, 8577, 10, 353, 3, 353, 5, 353, 8580, 10, 353, 3, 353, 5, 353, 8583, 10, 353, 3, 353, 3, 353, 3, 353, 3, 353, 5, 353, 8589, 10, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 5, 353, 8597, 10, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 5, 353, 8605, 10, 353, 3, 353, 5, 353, 8608, 10, 353, 3, 353, 5, 353, 8611, 10, 353, 3, 354, 3, 354, 5, 354, 8615, 10, 354, 3, 354, 3, 354, 3, 354, 5, 354, 8620, 10, 354, 3, 354, 5, 354, 8623, 10, 354, 3, 354, 3, 354, 3, 354, 3, 354, 5, 354, 8629, 10, 354, 3, 354, 3, 354, 5, 354, 8633, 10, 354, 3, 354, 3, 354, 3, 354, 3, 354, 5, 354, 8639, 10, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 5, 354, 8647, 10, 354, 3, 354, 3, 354, 3, 354, 3, 354, 6, 354, 8653, 10, 354, 13, 354, 14, 354, 8654, 3, 354, 5, 354, 8658, 10, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 5, 354, 8673, 10, 354, 3, 354, 5, 354, 8676, 10, 354, 3, 354, 5, 354, 8679, 10, 354, 5, 354, 8681, 10, 354, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 5, 355, 8692, 10, 355, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 5, 356, 8703, 10, 356, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 7, 357, 8710, 10, 357, 12, 357, 14, 357, 8713, 11, 357, 3, 357, 3, 357, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 5, 358, 8722, 10, 358, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 5, 359, 8732, 10, 359, 5, 359, 8734, 10, 359, 5, 359, 8736, 10, 359, 3, 359, 5, 359, 8739, 10, 359, 3, 359, 5, 359, 8742, 10, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 5, 359, 8753, 10, 359, 5, 359, 8755, 10, 359, 5, 359, 8757, 10, 359, 3, 359, 5, 359, 8760, 10, 359, 3, 360, 7, 360, 8763, 10, 360, 12, 360, 14, 360, 8766, 11, 360, 3, 360, 3, 360, 3, 360, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 5, 361, 8776, 10, 361, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 5, 362, 8785, 10, 362, 3, 362, 5, 362, 8788, 10, 362, 3, 362, 5, 362, 8791, 10, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 7, 362, 8798, 10, 362, 12, 362, 14, 362, 8801, 11, 362, 5, 362, 8803, 10, 362, 3, 362, 5, 362, 8806, 10, 362, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 5, 363, 8813, 10, 363, 3, 363, 5, 363, 8816, 10, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 5, 363, 8831, 10, 363, 3, 363, 5, 363, 8834, 10, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 5, 363, 8841, 10, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 5, 363, 8857, 10, 363, 3, 364, 3, 364, 5, 364, 8861, 10, 364, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 5, 365, 8871, 10, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 7, 365, 8890, 10, 365, 12, 365, 14, 365, 8893, 11, 365, 3, 366, 3, 366, 3, 366, 3, 366, 5, 366, 8899, 10, 366, 3, 367, 3, 367, 3, 367, 6, 367, 8904, 10, 367, 13, 367, 14, 367, 8905, 3, 367, 3, 367, 5, 367, 8910, 10, 367, 3, 367, 3, 367, 3, 367, 3, 367, 6, 367, 8916, 10, 367, 13, 367, 14, 367, 8917, 3, 367, 3, 367, 5, 367, 8922, 10, 367, 3, 367, 3, 367, 5, 367, 8926, 10, 367, 3, 368, 3, 368, 3, 368, 3, 368, 5, 368, 8932, 10, 368, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 5, 369, 8942, 10, 369, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 5, 370, 8952, 10, 370, 3, 371, 3, 371, 3, 372, 3, 372, 3, 372, 5, 372, 8959, 10, 372, 3, 372, 3, 372, 3, 372, 7, 372, 8964, 10, 372, 12, 372, 14, 372, 8967, 11, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 5, 372, 8975, 10, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 5, 372, 8982, 10, 372, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 5, 373, 8989, 10, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 374, 3, 374, 5, 374, 8998, 10, 374, 3, 374, 3, 374, 5, 374, 9002, 10, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 5, 374, 9012, 10, 374, 3, 375, 3, 375, 3, 375, 7, 375, 9017, 10, 375, 12, 375, 14, 375, 9020, 11, 375, 3, 376, 3, 376, 3, 376, 7, 376, 9025, 10, 376, 12, 376, 14, 376, 9028, 11, 376, 3, 377, 3, 377, 3, 377, 7, 377, 9033, 10, 377, 12, 377, 14, 377, 9036, 11, 377, 3, 378, 5, 378, 9039, 10, 378, 3, 378, 3, 378, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 5, 379, 9061, 10, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 5, 379, 9070, 10, 379, 3, 379, 3, 379, 3, 379, 3, 379, 5, 379, 9076, 10, 379, 3, 379, 3, 379, 3, 379, 3, 379, 5, 379, 9082, 10, 379, 3, 379, 3, 379, 3, 379, 3, 379, 5, 379, 9088, 10, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 5, 379, 9098, 10, 379, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 5, 380, 9105, 10, 380, 3, 380, 7, 380, 9108, 10, 380, 12, 380, 14, 380, 9111, 11, 380, 3, 381, 3, 381, 5, 381, 9115, 10, 381, 3, 381, 3, 381, 5, 381, 9119, 10, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 5, 381, 9126, 10, 381, 3, 382, 3, 382, 5, 382, 9130, 10, 382, 3, 382, 5, 382, 9133, 10, 382, 3, 382, 3, 382, 3, 382, 5, 382, 9138, 10, 382, 3, 382, 3, 382, 5, 382, 9142, 10, 382, 3, 382, 3, 382, 5, 382, 9146, 10, 382, 3, 382, 3, 382, 3, 382, 5, 382, 9151, 10, 382, 3, 382, 3, 382, 3, 382, 7, 382, 9156, 10, 382, 12, 382, 14, 382, 9159, 11, 382, 5, 382, 9161, 10, 382, 3, 382, 3, 382, 5, 382, 9165, 10, 382, 3, 383, 3, 383, 3, 383, 5, 383, 9170, 10, 383, 3, 383, 3, 383, 5, 383, 9174, 10, 383, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 5, 384, 9183, 10, 384, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 5, 385, 9190, 10, 385, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 7, 386, 9197, 10, 386, 12, 386, 14, 386, 9200, 11, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 5, 386, 9211, 10, 386, 5, 386, 9213, 10, 386, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 5, 387, 9223, 10, 387, 3, 387, 5, 387, 9226, 10, 387, 3, 387, 7, 387, 9229, 10, 387, 12, 387, 14, 387, 9232, 11, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 5, 387, 9240, 10, 387, 5, 387, 9242, 10, 387, 5, 387, 9244, 10, 387, 3, 387, 3, 387, 3, 387, 5, 387, 9249, 10, 387, 3, 387, 3, 387, 3, 387, 3, 387, 7, 387, 9255, 10, 387, 12, 387, 14, 387, 9258, 11, 387, 3, 387, 3, 387, 5, 387, 9262, 10, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 5, 387, 9270, 10, 387, 3, 387, 7, 387, 9273, 10, 387, 12, 387, 14, 387, 9276, 11, 387, 3, 387, 3, 387, 3, 387, 5, 387, 9281, 10, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 5, 387, 9291, 10, 387, 5, 387, 9293, 10, 387, 3, 387, 3, 387, 5, 387, 9297, 10, 387, 3, 387, 3, 387, 5, 387, 9301, 10, 387, 5, 387, 9303, 10, 387, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 5, 388, 9312, 10, 388, 5, 388, 9314, 10, 388, 3, 389, 3, 389, 5, 389, 9318, 10, 389, 3, 390, 3, 390, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 7, 391, 9327, 10, 391, 12, 391, 14, 391, 9330, 11, 391, 3, 391, 3, 391, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 7, 392, 9361, 10, 392, 12, 392, 14, 392, 9364, 11, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 5, 392, 9379, 10, 392, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 5, 393, 9386, 10, 393, 5, 393, 9388, 10, 393, 3, 394, 3, 394, 3, 394, 7, 394, 9393, 10, 394, 12, 394, 14, 394, 9396, 11, 394, 3, 395, 3, 395, 3, 395, 3, 395, 7, 395, 9402, 10, 395, 12, 395, 14, 395, 9405, 11, 395, 3, 395, 3, 395, 3, 396, 3, 396, 3, 396, 5, 396, 9412, 10, 396, 3, 396, 3, 396, 3, 397, 3, 397, 3, 397, 5, 397, 9419, 10, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 5, 397, 9426, 10, 397, 3, 397, 5, 397, 9429, 10, 397, 3, 397, 5, 397, 9432, 10, 397, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 5, 398, 9439, 10, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 5, 398, 9446, 10, 398, 3, 398, 5, 398, 9449, 10, 398, 5, 398, 9451, 10, 398, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 5, 399, 9459, 10, 399, 5, 399, 9461, 10, 399, 3, 400, 3, 400, 3, 400, 3, 400, 5, 400, 9467, 10, 400, 3, 401, 3, 401, 3, 401, 7, 401, 9472, 10, 401, 12, 401, 14, 401, 9475, 11, 401, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 5, 402, 9482, 10, 402, 3, 403, 3, 403, 7, 403, 9486, 10, 403, 12, 403, 14, 403, 9489, 11, 403, 3, 404, 3, 404, 5, 404, 9493, 10, 404, 3, 404, 3, 404, 5, 404, 9497, 10, 404, 3, 404, 3, 404, 5, 404, 9501, 10, 404, 3, 404, 3, 404, 3, 404, 5, 404, 9506, 10, 404, 5, 404, 9508, 10, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 5, 404, 9516, 10, 404, 5, 404, 9518, 10, 404, 3, 404, 3, 404, 5, 404, 9522, 10, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 5, 404, 9529, 10, 404, 5, 404, 9531, 10, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 5, 404, 9538, 10, 404, 5, 404, 9540, 10, 404, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 5, 405, 9549, 10, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 5, 405, 9557, 10, 405, 3, 406, 3, 406, 3, 406, 7, 406, 9562, 10, 406, 12, 406, 14, 406, 9565, 11, 406, 3, 407, 3, 407, 3, 407, 5, 407, 9570, 10, 407, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 409, 5, 409, 9581, 10, 409, 3, 409, 3, 409, 5, 409, 9585, 10, 409, 5, 409, 9587, 10, 409, 3, 409, 5, 409, 9590, 10, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 5, 409, 9614, 10, 409, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 412, 3, 412, 3, 412, 7, 412, 9637, 10, 412, 12, 412, 14, 412, 9640, 11, 412, 3, 413, 3, 413, 5, 413, 9644, 10, 413, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 7, 414, 9662, 10, 414, 12, 414, 14, 414, 9665, 11, 414, 3, 414, 5, 414, 9668, 10, 414, 3, 414, 3, 414, 5, 414, 9672, 10, 414, 3, 415, 3, 415, 3, 415, 3, 415, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 5, 416, 9688, 10, 416, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 5, 417, 9708, 10, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 5, 417, 9766, 10, 417, 3, 417, 3, 417, 5, 417, 9770, 10, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 5, 417, 9818, 10, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 5, 417, 9834, 10, 417, 5, 417, 9836, 10, 417, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 5, 418, 9843, 10, 418, 3, 419, 3, 419, 3, 419, 3, 419, 5, 419, 9849, 10, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 5, 419, 9862, 10, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 5, 419, 9877, 10, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 5, 419, 9888, 10, 419, 3, 420, 3, 420, 3, 420, 5, 420, 9893, 10, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 5, 420, 9903, 10, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 5, 420, 9912, 10, 420, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 426, 5, 426, 9946, 10, 426, 3, 426, 3, 426, 3, 427, 5, 427, 9951, 10, 427, 3, 427, 3, 427, 3, 428, 3, 428, 5, 428, 9957, 10, 428, 3, 429, 5, 429, 9960, 10, 429, 3, 429, 3, 429, 3, 429, 5, 429, 9965, 10, 429, 3, 429, 7, 429, 9968, 10, 429, 12, 429, 14, 429, 9971, 11, 429, 3, 429, 3, 429, 3, 430, 3, 430, 3, 430, 3, 430, 5, 430, 9979, 10, 430, 3, 430, 7, 430, 9982, 10, 430, 12, 430, 14, 430, 9985, 11, 430, 3, 430, 3, 430, 3, 431, 5, 431, 9990, 10, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 7, 431, 9997, 10, 431, 12, 431, 14, 431, 10000, 11, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 7, 431, 10007, 10, 431, 12, 431, 14, 431, 10010, 11, 431, 5, 431, 10012, 10, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 7, 431, 10024, 10, 431, 12, 431, 14, 431, 10027, 11, 431, 3, 431, 3, 431, 3, 431, 5, 431, 10032, 10, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 5, 431, 10040, 10, 431, 3, 432, 3, 432, 5, 432, 10044, 10, 432, 3, 433, 3, 433, 3, 433, 3, 433, 7, 433, 10050, 10, 433, 12, 433, 14, 433, 10053, 11, 433, 3, 433, 3, 433, 3, 434, 3, 434, 5, 434, 10059, 10, 434, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 7, 435, 10070, 10, 435, 12, 435, 14, 435, 10073, 11, 435, 3, 436, 3, 436, 3, 436, 7, 436, 10078, 10, 436, 12, 436, 14, 436, 10081, 11, 436, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 5, 437, 10093, 10, 437, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 5, 438, 10100, 10, 438, 3, 438, 3, 438, 3, 438, 3, 438, 5, 438, 10106, 10, 438, 3, 438, 3, 438, 5, 438, 10110, 10, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 5, 438, 10127, 10, 438, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 5, 439, 10142, 10, 439, 5, 439, 10144, 10, 439, 3, 439, 3, 439, 3, 439, 5, 439, 10149, 10, 439, 3, 440, 5, 440, 10152, 10, 440, 3, 440, 3, 440, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 5, 441, 10161, 10, 441, 3, 441, 5, 441, 10164, 10, 441, 3, 441, 5, 441, 10167, 10, 441, 3, 441, 3, 441, 3, 442, 3, 442, 3, 442, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 5, 443, 10180, 10, 443, 3, 444, 3, 444, 5, 444, 10184, 10, 444, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 5, 445, 10192, 10, 445, 3, 446, 3, 446, 3, 446, 3, 446, 5, 446, 10198, 10, 446, 3, 447, 3, 447, 3, 447, 3, 447, 7, 447, 10204, 10, 447, 12, 447, 14, 447, 10207, 11, 447, 3, 447, 3, 447, 3, 447, 3, 447, 5, 447, 10213, 10, 447, 3, 447, 3, 447, 3, 447, 3, 447, 5, 447, 10219, 10, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 5, 447, 10234, 10, 447, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 5, 448, 10243, 10, 448, 3, 448, 3, 448, 3, 449, 3, 449, 5, 449, 10249, 10, 449, 3, 450, 3, 450, 3, 450, 3, 450, 5, 450, 10255, 10, 450, 3, 450, 5, 450, 10258, 10, 450, 3, 450, 3, 450, 5, 450, 10262, 10, 450, 3, 450, 3, 450, 3, 450, 7, 450, 10267, 10, 450, 12, 450, 14, 450, 10270, 11, 450, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 5, 451, 10277, 10, 451, 3, 451, 5, 451, 10280, 10, 451, 3, 451, 3, 451, 3, 451, 3, 451, 5, 451, 10286, 10, 451, 3, 451, 3, 451, 3, 451, 3, 451, 5, 451, 10292, 10, 451, 5, 451, 10294, 10, 451, 3, 451, 3, 451, 3, 451, 3, 451, 5, 451, 10300, 10, 451, 3, 451, 5, 451, 10303, 10, 451, 5, 451, 10305, 10, 451, 3, 451, 3, 451, 3, 451, 3, 451, 5, 451, 10311, 10, 451, 5, 451, 10313, 10, 451, 3, 451, 3, 451, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 5, 452, 10327, 10, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 5, 452, 10334, 10, 452, 3, 452, 3, 452, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 5, 453, 10343, 10, 453, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 5, 454, 10350, 10, 454, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 5, 455, 10362, 10, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 5, 455, 10369, 10, 455, 3, 455, 3, 455, 3, 456, 3, 456, 3, 456, 5, 456, 10376, 10, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 5, 456, 10383, 10, 456, 3, 456, 3, 456, 3, 456, 3, 456, 5, 456, 10389, 10, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 5, 456, 10396, 10, 456, 3, 456, 5, 456, 10399, 10, 456, 3, 457, 3, 457, 3, 457, 5, 457, 10404, 10, 457, 3, 457, 3, 457, 3, 458, 3, 458, 3, 458, 5, 458, 10411, 10, 458, 3, 458, 3, 458, 3, 459, 3, 459, 3, 459, 3, 459, 5, 459, 10419, 10, 459, 3, 459, 3, 459, 5, 459, 10423, 10, 459, 3, 459, 5, 459, 10426, 10, 459, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 5, 460, 10434, 10, 460, 3, 460, 3, 460, 5, 460, 10438, 10, 460, 3, 460, 5, 460, 10441, 10, 460, 3, 461, 3, 461, 5, 461, 10445, 10, 461, 3, 462, 3, 462, 3, 462, 5, 462, 10450, 10, 462, 3, 462, 3, 462, 3, 462, 3, 462, 5, 462, 10456, 10, 462, 3, 462, 3, 462, 3, 462, 3, 462, 5, 462, 10462, 10, 462, 3, 462, 3, 462, 3, 462, 3, 462, 5, 462, 10468, 10, 462, 3, 462, 3, 462, 3, 462, 3, 462, 5, 462, 10474, 10, 462, 3, 462, 3, 462, 3, 462, 3, 462, 5, 462, 10480, 10, 462, 3, 462, 3, 462, 3, 462, 3, 462, 5, 462, 10486, 10, 462, 3, 462, 3, 462, 3, 462, 3, 462, 5, 462, 10492, 10, 462, 3, 462, 5, 462, 10495, 10, 462, 3, 463, 3, 463, 5, 463, 10499, 10, 463, 3, 463, 3, 463, 3, 463, 5, 463, 10504, 10, 463, 7, 463, 10506, 10, 463, 12, 463, 14, 463, 10509, 11, 463, 3, 464, 3, 464, 3, 464, 7, 464, 10514, 10, 464, 12, 464, 14, 464, 10517, 11, 464, 3, 465, 3, 465, 5, 465, 10521, 10, 465, 3, 466, 3, 466, 3, 467, 3, 467, 3, 468, 5, 468, 10528, 10, 468, 3, 468, 3, 468, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 5, 469, 10537, 10, 469, 5, 469, 10539, 10, 469, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 5, 470, 10546, 10, 470, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 5, 471, 10558, 10, 471, 3, 472, 3, 472, 3, 472, 5, 472, 10563, 10, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 5, 472, 10574, 10, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 5, 472, 10584, 10, 472, 5, 472, 10586, 10, 472, 3, 472, 3, 472, 3, 472, 3, 472, 5, 472, 10592, 10, 472, 5, 472, 10594, 10, 472, 3, 472, 3, 472, 3, 472, 5, 472, 10599, 10, 472, 5, 472, 10601, 10, 472, 3, 472, 5, 472, 10604, 10, 472, 3, 473, 3, 473, 5, 473, 10608, 10, 473, 3, 474, 3, 474, 5, 474, 10612, 10, 474, 3, 475, 3, 475, 3, 475, 3, 475, 5, 475, 10618, 10, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 5, 475, 10627, 10, 475, 3, 475, 5, 475, 10630, 10, 475, 5, 475, 10632, 10, 475, 3, 476, 5, 476, 10635, 10, 476, 3, 476, 3, 476, 3, 476, 3, 476, 5, 476, 10641, 10, 476, 3, 476, 3, 476, 5, 476, 10645, 10, 476, 3, 476, 5, 476, 10648, 10, 476, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 5, 477, 10657, 10, 477, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 5, 478, 10666, 10, 478, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 5, 479, 10678, 10, 479, 3, 479, 5, 479, 10681, 10, 479, 3, 480, 3, 480, 5, 480, 10685, 10, 480, 3, 480, 3, 480, 3, 480, 3, 480, 5, 480, 10691, 10, 480, 3, 480, 5, 480, 10694, 10, 480, 3, 480, 3, 480, 5, 480, 10698, 10, 480, 3, 480, 3, 480, 3, 480, 3, 480, 5, 480, 10704, 10, 480, 3, 481, 3, 481, 3, 481, 5, 481, 10709, 10, 481, 3, 482, 3, 482, 3, 482, 5, 482, 10714, 10, 482, 3, 482, 3, 482, 5, 482, 10718, 10, 482, 3, 482, 3, 482, 5, 482, 10722, 10, 482, 3, 482, 3, 482, 5, 482, 10726, 10, 482, 3, 483, 3, 483, 3, 484, 3, 484, 3, 484, 5, 484, 10733, 10, 484, 3, 485, 3, 485, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 5, 486, 10752, 10, 486, 3, 487, 3, 487, 3, 488, 3, 488, 5, 488, 10758, 10, 488, 3, 488, 2, 4, 94, 728, 489, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 738, 740, 742, 744, 746, 748, 750, 752, 754, 756, 758, 760, 762, 764, 766, 768, 770, 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, 792, 794, 796, 798, 800, 802, 804, 806, 808, 810, 812, 814, 816, 818, 820, 822, 824, 826, 828, 830, 832, 834, 836, 838, 840, 842, 844, 846, 848, 850, 852, 854, 856, 858, 860, 862, 864, 866, 868, 870, 872, 874, 876, 878, 880, 882, 884, 886, 888, 890, 892, 894, 896, 898, 900, 902, 904, 906, 908, 910, 912, 914, 916, 918, 920, 922, 924, 926, 928, 930, 932, 934, 936, 938, 940, 942, 944, 946, 948, 950, 952, 954, 956, 958, 960, 962, 964, 966, 968, 970, 972, 974, 2, 139, 3, 2, 801, 802, 4, 2, 801, 801, 806, 806, 4, 2, 469, 469, 757, 758, 4, 2, 801, 802, 806, 806, 4, 2, 187, 187, 722, 722, 5, 2, 798, 798, 801, 801, 806, 806, 5, 2, 124, 124, 299, 299, 360, 360, 4, 2, 226, 226, 229, 229, 3, 2, 806, 807, 3, 2, 292, 296, 4, 2, 450, 450, 631, 631, 4, 2, 302, 302, 625, 625, 5, 2, 84, 84, 302, 302, 625, 625, 5, 2, 213, 213, 256, 256, 707, 708, 4, 2, 19, 19, 748, 748, 4, 2, 23, 23, 574, 574, 4, 2, 6, 6, 671, 671, 5, 2, 6, 6, 611, 611, 669, 669, 4, 2, 10, 10, 73, 73, 4, 2, 4, 4, 103, 103, 4, 2, 495, 495, 723, 723, 4, 2, 480, 480, 489, 489, 4, 2, 802, 802, 806, 806, 4, 2, 552, 552, 589, 589, 4, 2, 8, 9, 219, 219, 5, 2, 213, 213, 247, 247, 249, 249, 4, 2, 331, 331, 334, 334, 4, 2, 11, 11, 237, 237, 3, 2, 804, 805, 4, 2, 4, 4, 315, 315, 4, 2, 182, 182, 376, 376, 3, 2, 262, 263, 4, 2, 802, 802, 806, 807, 4, 2, 206, 206, 358, 358, 4, 2, 201, 201, 324, 324, 4, 2, 269, 269, 480, 480, 4, 2, 804, 804, 806, 806, 4, 2, 93, 93, 145, 145, 6, 2, 92, 92, 162, 162, 305, 305, 361, 361, 4, 2, 30, 30, 511, 511, 4, 2, 162, 162, 361, 361, 4, 2, 92, 92, 361, 361, 5, 2, 522, 522, 589, 589, 753, 753, 4, 2, 774, 774, 802, 802, 5, 2, 66, 66, 317, 317, 501, 501, 4, 2, 89, 89, 806, 806, 4, 2, 89, 89, 802, 802, 4, 2, 567, 567, 806, 806, 5, 2, 522, 522, 552, 552, 589, 589, 7, 2, 388, 390, 474, 474, 476, 476, 665, 667, 763, 764, 4, 2, 133, 133, 139, 139, 5, 2, 533, 533, 573, 573, 590, 590, 5, 2, 13, 13, 342, 342, 543, 543, 4, 2, 213, 213, 243, 243, 3, 2, 258, 259, 5, 2, 92, 92, 162, 162, 361, 361, 4, 2, 133, 133, 392, 392, 4, 2, 634, 635, 672, 672, 4, 2, 245, 245, 700, 700, 4, 2, 6, 6, 158, 158, 5, 2, 492, 492, 702, 702, 782, 782, 5, 2, 339, 339, 408, 408, 480, 480, 5, 2, 462, 462, 535, 535, 598, 598, 4, 2, 525, 525, 567, 567, 4, 2, 6, 6, 166, 167, 5, 2, 171, 171, 208, 208, 222, 222, 5, 2, 275, 275, 337, 337, 482, 482, 4, 2, 107, 107, 482, 482, 5, 2, 6, 6, 380, 380, 642, 642, 4, 2, 140, 140, 226, 226, 5, 2, 487, 487, 626, 626, 629, 629, 4, 2, 669, 669, 671, 671, 5, 2, 604, 604, 692, 692, 727, 727, 5, 2, 397, 397, 482, 482, 517, 517, 4, 2, 280, 280, 746, 746, 4, 2, 517, 517, 726, 726, 5, 2, 140, 140, 426, 426, 726, 726, 5, 2, 213, 213, 434, 434, 761, 761, 4, 2, 598, 598, 710, 710, 4, 2, 129, 129, 507, 507, 5, 2, 97, 97, 341, 341, 363, 363, 4, 2, 57, 57, 218, 218, 4, 2, 160, 160, 211, 211, 4, 2, 215, 215, 319, 319, 4, 2, 210, 210, 518, 518, 4, 2, 217, 217, 434, 434, 4, 2, 67, 67, 336, 336, 4, 2, 214, 214, 286, 286, 4, 2, 185, 185, 216, 216, 4, 2, 388, 390, 764, 764, 4, 2, 366, 366, 571, 571, 3, 2, 634, 635, 4, 2, 129, 129, 807, 807, 4, 2, 465, 465, 492, 492, 4, 2, 499, 499, 733, 733, 4, 2, 339, 339, 370, 370, 3, 2, 349, 350, 6, 2, 427, 427, 637, 637, 715, 715, 806, 806, 4, 2, 443, 443, 484, 484, 4, 2, 16, 16, 59, 59, 4, 2, 545, 545, 716, 716, 4, 2, 519, 519, 704, 704, 6, 2, 485, 485, 506, 506, 557, 557, 734, 734, 5, 2, 632, 632, 669, 669, 705, 705, 4, 2, 382, 382, 678, 678, 3, 2, 833, 835, 5, 2, 822, 822, 836, 837, 839, 841, 3, 2, 836, 837, 5, 2, 6, 6, 13, 13, 321, 321, 4, 2, 6, 6, 98, 98, 3, 2, 808, 809, 4, 2, 697, 697, 700, 700, 4, 2, 512, 512, 610, 610, 4, 2, 3, 3, 793, 793, 4, 2, 408, 408, 643, 643, 4, 2, 17, 17, 94, 94, 4, 2, 238, 238, 531, 531, 5, 2, 201, 201, 441, 441, 531, 531, 5, 2, 201, 201, 531, 531, 572, 572, 4, 2, 223, 223, 801, 802, 5, 2, 140, 140, 177, 177, 287, 287, 6, 2, 201, 201, 531, 531, 572, 572, 679, 679, 4, 2, 801, 801, 803, 803, 5, 2, 472, 472, 664, 664, 698, 698, 8, 2, 416, 416, 577, 577, 593, 593, 738, 739, 745, 745, 780, 781, 3, 2, 446, 447, 4, 2, 513, 513, 560, 560, 4, 2, 558, 558, 561, 561, 4, 2, 663, 663, 700, 700, 5, 2, 140, 140, 226, 226, 669, 669, 4, 2, 53, 53, 212, 212, 3, 2, 272, 273, 4, 2, 577, 577, 802, 802, 4, 2, 802, 802, 808, 808, 36, 2, 40, 40, 82, 82, 114, 114, 130, 131, 134, 134, 160, 160, 172, 172, 189, 190, 227, 227, 241, 241, 261, 261, 263, 263, 265, 265, 282, 283, 290, 290, 297, 297, 309, 309, 318, 318, 322, 322, 324, 324, 329, 329, 331, 331, 342, 342, 382, 485, 487, 540, 542, 549, 552, 635, 637, 736, 738, 743, 745, 774, 776, 785, 787, 789, 791, 791, 803, 803, 3, 2, 814, 821, 7, 2, 522, 522, 552, 552, 589, 589, 753, 753, 835, 835, 2, 12518, 2, 979, 3, 2, 2, 2, 4, 1001, 3, 2, 2, 2, 6, 1007, 3, 2, 2, 2, 8, 1018, 3, 2, 2, 2, 10, 1025, 3, 2, 2, 2, 12, 1186, 3, 2, 2, 2, 14, 1193, 3, 2, 2, 2, 16, 1207, 3, 2, 2, 2, 18, 1209, 3, 2, 2, 2, 20, 1220, 3, 2, 2, 2, 22, 1224, 3, 2, 2, 2, 24, 1238, 3, 2, 2, 2, 26, 1240, 3, 2, 2, 2, 28, 1247, 3, 2, 2, 2, 30, 1257, 3, 2, 2, 2, 32, 1269, 3, 2, 2, 2, 34, 1271, 3, 2, 2, 2, 36, 1273, 3, 2, 2, 2, 38, 1275, 3, 2, 2, 2, 40, 1301, 3, 2, 2, 2, 42, 1318, 3, 2, 2, 2, 44, 1331, 3, 2, 2, 2, 46, 1378, 3, 2, 2, 2, 48, 1380, 3, 2, 2, 2, 50, 1398, 3, 2, 2, 2, 52, 1400, 3, 2, 2, 2, 54, 1429, 3, 2, 2, 2, 56, 1450, 3, 2, 2, 2, 58, 1463, 3, 2, 2, 2, 60, 1468, 3, 2, 2, 2, 62, 1472, 3, 2, 2, 2, 64, 1476, 3, 2, 2, 2, 66, 1487, 3, 2, 2, 2, 68, 1492, 3, 2, 2, 2, 70, 1494, 3, 2, 2, 2, 72, 1499, 3, 2, 2, 2, 74, 1501, 3, 2, 2, 2, 76, 1503, 3, 2, 2, 2, 78, 1506, 3, 2, 2, 2, 80, 1510, 3, 2, 2, 2, 82, 1516, 3, 2, 2, 2, 84, 1518, 3, 2, 2, 2, 86, 1521, 3, 2, 2, 2, 88, 1523, 3, 2, 2, 2, 90, 1526, 3, 2, 2, 2, 92, 1531, 3, 2, 2, 2, 94, 1542, 3, 2, 2, 2, 96, 1551, 3, 2, 2, 2, 98, 1555, 3, 2, 2, 2, 100, 1557, 3, 2, 2, 2, 102, 1563, 3, 2, 2, 2, 104, 1565, 3, 2, 2, 2, 106, 1567, 3, 2, 2, 2, 108, 1570, 3, 2, 2, 2, 110, 1578, 3, 2, 2, 2, 112, 1580, 3, 2, 2, 2, 114, 1582, 3, 2, 2, 2, 116, 1604, 3, 2, 2, 2, 118, 1623, 3, 2, 2, 2, 120, 1631, 3, 2, 2, 2, 122, 1635, 3, 2, 2, 2, 124, 1643, 3, 2, 2, 2, 126, 1658, 3, 2, 2, 2, 128, 1660, 3, 2, 2, 2, 130, 1704, 3, 2, 2, 2, 132, 1713, 3, 2, 2, 2, 134, 1726, 3, 2, 2, 2, 136, 1728, 3, 2, 2, 2, 138, 1730, 3, 2, 2, 2, 140, 1733, 3, 2, 2, 2, 142, 1737, 3, 2, 2, 2, 144, 1747, 3, 2, 2, 2, 146, 1757, 3, 2, 2, 2, 148, 1801, 3, 2, 2, 2, 150, 1824, 3, 2, 2, 2, 152, 1826, 3, 2, 2, 2, 154, 1828, 3, 2, 2, 2, 156, 1830, 3, 2, 2, 2, 158, 1835, 3, 2, 2, 2, 160, 1838, 3, 2, 2, 2, 162, 2193, 3, 2, 2, 2, 164, 2195, 3, 2, 2, 2, 166, 2249, 3, 2, 2, 2, 168, 2254, 3, 2, 2, 2, 170, 2298, 3, 2, 2, 2, 172, 2321, 3, 2, 2, 2, 174, 2351, 3, 2, 2, 2, 176, 2355, 3, 2, 2, 2, 178, 2361, 3, 2, 2, 2, 180, 2367, 3, 2, 2, 2, 182, 2371, 3, 2, 2, 2, 184, 2375, 3, 2, 2, 2, 186, 2380, 3, 2, 2, 2, 188, 2394, 3, 2, 2, 2, 190, 2400, 3, 2, 2, 2, 192, 2406, 3, 2, 2, 2, 194, 2422, 3, 2, 2, 2, 196, 2426, 3, 2, 2, 2, 198, 2432, 3, 2, 2, 2, 200, 2438, 3, 2, 2, 2, 202, 2446, 3, 2, 2, 2, 204, 2452, 3, 2, 2, 2, 206, 2467, 3, 2, 2, 2, 208, 2485, 3, 2, 2, 2, 210, 2492, 3, 2, 2, 2, 212, 2497, 3, 2, 2, 2, 214, 2508, 3, 2, 2, 2, 216, 2513, 3, 2, 2, 2, 218, 2517, 3, 2, 2, 2, 220, 2521, 3, 2, 2, 2, 222, 2526, 3, 2, 2, 2, 224, 2531, 3, 2, 2, 2, 226, 2536, 3, 2, 2, 2, 228, 2550, 3, 2, 2, 2, 230, 2556, 3, 2, 2, 2, 232, 2561, 3, 2, 2, 2, 234, 2569, 3, 2, 2, 2, 236, 2573, 3, 2, 2, 2, 238, 2590, 3, 2, 2, 2, 240, 2598, 3, 2, 2, 2, 242, 2604, 3, 2, 2, 2, 244, 2618, 3, 2, 2, 2, 246, 2640, 3, 2, 2, 2, 248, 2645, 3, 2, 2, 2, 250, 2651, 3, 2, 2, 2, 252, 2656, 3, 2, 2, 2, 254, 2660, 3, 2, 2, 2, 256, 2688, 3, 2, 2, 2, 258, 2699, 3, 2, 2, 2, 260, 2708, 3, 2, 2, 2, 262, 2721, 3, 2, 2, 2, 264, 2729, 3, 2, 2, 2, 266, 2734, 3, 2, 2, 2, 268, 2745, 3, 2, 2, 2, 270, 2775, 3, 2, 2, 2, 272, 2805, 3, 2, 2, 2, 274, 2819, 3, 2, 2, 2, 276, 2843, 3, 2, 2, 2, 278, 2859, 3, 2, 2, 2, 280, 2872, 3, 2, 2, 2, 282, 2891, 3, 2, 2, 2, 284, 2904, 3, 2, 2, 2, 286, 2913, 3, 2, 2, 2, 288, 2943, 3, 2, 2, 2, 290, 3186, 3, 2, 2, 2, 292, 3195, 3, 2, 2, 2, 294, 3253, 3, 2, 2, 2, 296, 3302, 3, 2, 2, 2, 298, 3304, 3, 2, 2, 2, 300, 3345, 3, 2, 2, 2, 302, 3395, 3, 2, 2, 2, 304, 3465, 3, 2, 2, 2, 306, 3532, 3, 2, 2, 2, 308, 3548, 3, 2, 2, 2, 310, 3576, 3, 2, 2, 2, 312, 3595, 3, 2, 2, 2, 314, 3616, 3, 2, 2, 2, 316, 3688, 3, 2, 2, 2, 318, 3783, 3, 2, 2, 2, 320, 3805, 3, 2, 2, 2, 322, 3817, 3, 2, 2, 2, 324, 3845, 3, 2, 2, 2, 326, 3866, 3, 2, 2, 2, 328, 3892, 3, 2, 2, 2, 330, 3901, 3, 2, 2, 2, 332, 3933, 3, 2, 2, 2, 334, 3943, 3, 2, 2, 2, 336, 3959, 3, 2, 2, 2, 338, 3971, 3, 2, 2, 2, 340, 3980, 3, 2, 2, 2, 342, 3997, 3, 2, 2, 2, 344, 4021, 3, 2, 2, 2, 346, 4129, 3, 2, 2, 2, 348, 4155, 3, 2, 2, 2, 350, 4167, 3, 2, 2, 2, 352, 4174, 3, 2, 2, 2, 354, 4218, 3, 2, 2, 2, 356, 4229, 3, 2, 2, 2, 358, 4249, 3, 2, 2, 2, 360, 4291, 3, 2, 2, 2, 362, 4298, 3, 2, 2, 2, 364, 4312, 3, 2, 2, 2, 366, 4330, 3, 2, 2, 2, 368, 4400, 3, 2, 2, 2, 370, 4443, 3, 2, 2, 2, 372, 4497, 3, 2, 2, 2, 374, 4634, 3, 2, 2, 2, 376, 4777, 3, 2, 2, 2, 378, 4806, 3, 2, 2, 2, 380, 4835, 3, 2, 2, 2, 382, 4946, 3, 2, 2, 2, 384, 4959, 3, 2, 2, 2, 386, 4967, 3, 2, 2, 2, 388, 4975, 3, 2, 2, 2, 390, 4997, 3, 2, 2, 2, 392, 5027, 3, 2, 2, 2, 394, 5054, 3, 2, 2, 2, 396, 5074, 3, 2, 2, 2, 398, 5122, 3, 2, 2, 2, 400, 5159, 3, 2, 2, 2, 402, 5363, 3, 2, 2, 2, 404, 5393, 3, 2, 2, 2, 406, 5395, 3, 2, 2, 2, 408, 5427, 3, 2, 2, 2, 410, 5474, 3, 2, 2, 2, 412, 5526, 3, 2, 2, 2, 414, 5542, 3, 2, 2, 2, 416, 5556, 3, 2, 2, 2, 418, 5629, 3, 2, 2, 2, 420, 5660, 3, 2, 2, 2, 422, 5662, 3, 2, 2, 2, 424, 5666, 3, 2, 2, 2, 426, 5696, 3, 2, 2, 2, 428, 5698, 3, 2, 2, 2, 430, 5719, 3, 2, 2, 2, 432, 5808, 3, 2, 2, 2, 434, 5810, 3, 2, 2, 2, 436, 5823, 3, 2, 2, 2, 438, 5879, 3, 2, 2, 2, 440, 5882, 3, 2, 2, 2, 442, 5928, 3, 2, 2, 2, 444, 5931, 3, 2, 2, 2, 446, 5964, 3, 2, 2, 2, 448, 5981, 3, 2, 2, 2, 450, 5984, 3, 2, 2, 2, 452, 6043, 3, 2, 2, 2, 454, 6067, 3, 2, 2, 2, 456, 6083, 3, 2, 2, 2, 458, 6085, 3, 2, 2, 2, 460, 6134, 3, 2, 2, 2, 462, 6175, 3, 2, 2, 2, 464, 6219, 3, 2, 2, 2, 466, 6227, 3, 2, 2, 2, 468, 6272, 3, 2, 2, 2, 470, 6274, 3, 2, 2, 2, 472, 6282, 3, 2, 2, 2, 474, 6315, 3, 2, 2, 2, 476, 6323, 3, 2, 2, 2, 478, 6350, 3, 2, 2, 2, 480, 6374, 3, 2, 2, 2, 482, 6406, 3, 2, 2, 2, 484, 6436, 3, 2, 2, 2, 486, 6459, 3, 2, 2, 2, 488, 6473, 3, 2, 2, 2, 490, 6475, 3, 2, 2, 2, 492, 6506, 3, 2, 2, 2, 494, 6520, 3, 2, 2, 2, 496, 6552, 3, 2, 2, 2, 498, 6574, 3, 2, 2, 2, 500, 6604, 3, 2, 2, 2, 502, 6606, 3, 2, 2, 2, 504, 6657, 3, 2, 2, 2, 506, 6703, 3, 2, 2, 2, 508, 6722, 3, 2, 2, 2, 510, 6724, 3, 2, 2, 2, 512, 6749, 3, 2, 2, 2, 514, 6751, 3, 2, 2, 2, 516, 6759, 3, 2, 2, 2, 518, 6761, 3, 2, 2, 2, 520, 6901, 3, 2, 2, 2, 522, 6909, 3, 2, 2, 2, 524, 6911, 3, 2, 2, 2, 526, 6913, 3, 2, 2, 2, 528, 6915, 3, 2, 2, 2, 530, 6929, 3, 2, 2, 2, 532, 6935, 3, 2, 2, 2, 534, 6937, 3, 2, 2, 2, 536, 6939, 3, 2, 2, 2, 538, 6944, 3, 2, 2, 2, 540, 6946, 3, 2, 2, 2, 542, 6950, 3, 2, 2, 2, 544, 6962, 3, 2, 2, 2, 546, 6964, 3, 2, 2, 2, 548, 6967, 3, 2, 2, 2, 550, 6970, 3, 2, 2, 2, 552, 6972, 3, 2, 2, 2, 554, 6974, 3, 2, 2, 2, 556, 6976, 3, 2, 2, 2, 558, 7005, 3, 2, 2, 2, 560, 7007, 3, 2, 2, 2, 562, 7018, 3, 2, 2, 2, 564, 7021, 3, 2, 2, 2, 566, 7030, 3, 2, 2, 2, 568, 7038, 3, 2, 2, 2, 570, 7045, 3, 2, 2, 2, 572, 7068, 3, 2, 2, 2, 574, 7070, 3, 2, 2, 2, 576, 7081, 3, 2, 2, 2, 578, 7083, 3, 2, 2, 2, 580, 7110, 3, 2, 2, 2, 582, 7117, 3, 2, 2, 2, 584, 7123, 3, 2, 2, 2, 586, 7142, 3, 2, 2, 2, 588, 7144, 3, 2, 2, 2, 590, 7161, 3, 2, 2, 2, 592, 7184, 3, 2, 2, 2, 594, 7201, 3, 2, 2, 2, 596, 7218, 3, 2, 2, 2, 598, 7228, 3, 2, 2, 2, 600, 7245, 3, 2, 2, 2, 602, 7262, 3, 2, 2, 2, 604, 7272, 3, 2, 2, 2, 606, 7274, 3, 2, 2, 2, 608, 7281, 3, 2, 2, 2, 610, 7341, 3, 2, 2, 2, 612, 7372, 3, 2, 2, 2, 614, 7374, 3, 2, 2, 2, 616, 7624, 3, 2, 2, 2, 618, 7862, 3, 2, 2, 2, 620, 7902, 3, 2, 2, 2, 622, 7915, 3, 2, 2, 2, 624, 7929, 3, 2, 2, 2, 626, 7937, 3, 2, 2, 2, 628, 7943, 3, 2, 2, 2, 630, 7950, 3, 2, 2, 2, 632, 7954, 3, 2, 2, 2, 634, 7999, 3, 2, 2, 2, 636, 8003, 3, 2, 2, 2, 638, 8016, 3, 2, 2, 2, 640, 8077, 3, 2, 2, 2, 642, 8079, 3, 2, 2, 2, 644, 8116, 3, 2, 2, 2, 646, 8118, 3, 2, 2, 2, 648, 8134, 3, 2, 2, 2, 650, 8147, 3, 2, 2, 2, 652, 8167, 3, 2, 2, 2, 654, 8180, 3, 2, 2, 2, 656, 8217, 3, 2, 2, 2, 658, 8234, 3, 2, 2, 2, 660, 8236, 3, 2, 2, 2, 662, 8249, 3, 2, 2, 2, 664, 8274, 3, 2, 2, 2, 666, 8302, 3, 2, 2, 2, 668, 8343, 3, 2, 2, 2, 670, 8426, 3, 2, 2, 2, 672, 8428, 3, 2, 2, 2, 674, 8432, 3, 2, 2, 2, 676, 8437, 3, 2, 2, 2, 678, 8441, 3, 2, 2, 2, 680, 8446, 3, 2, 2, 2, 682, 8451, 3, 2, 2, 2, 684, 8466, 3, 2, 2, 2, 686, 8471, 3, 2, 2, 2, 688, 8475, 3, 2, 2, 2, 690, 8484, 3, 2, 2, 2, 692, 8489, 3, 2, 2, 2, 694, 8497, 3, 2, 2, 2, 696, 8501, 3, 2, 2, 2, 698, 8514, 3, 2, 2, 2, 700, 8516, 3, 2, 2, 2, 702, 8561, 3, 2, 2, 2, 704, 8571, 3, 2, 2, 2, 706, 8614, 3, 2, 2, 2, 708, 8682, 3, 2, 2, 2, 710, 8693, 3, 2, 2, 2, 712, 8704, 3, 2, 2, 2, 714, 8716, 3, 2, 2, 2, 716, 8723, 3, 2, 2, 2, 718, 8764, 3, 2, 2, 2, 720, 8775, 3, 2, 2, 2, 722, 8777, 3, 2, 2, 2, 724, 8856, 3, 2, 2, 2, 726, 8860, 3, 2, 2, 2, 728, 8870, 3, 2, 2, 2, 730, 8898, 3, 2, 2, 2, 732, 8925, 3, 2, 2, 2, 734, 8931, 3, 2, 2, 2, 736, 8941, 3, 2, 2, 2, 738, 8951, 3, 2, 2, 2, 740, 8953, 3, 2, 2, 2, 742, 8981, 3, 2, 2, 2, 744, 8983, 3, 2, 2, 2, 746, 9011, 3, 2, 2, 2, 748, 9013, 3, 2, 2, 2, 750, 9021, 3, 2, 2, 2, 752, 9029, 3, 2, 2, 2, 754, 9038, 3, 2, 2, 2, 756, 9097, 3, 2, 2, 2, 758, 9104, 3, 2, 2, 2, 760, 9118, 3, 2, 2, 2, 762, 9127, 3, 2, 2, 2, 764, 9166, 3, 2, 2, 2, 766, 9182, 3, 2, 2, 2, 768, 9189, 3, 2, 2, 2, 770, 9191, 3, 2, 2, 2, 772, 9302, 3, 2, 2, 2, 774, 9304, 3, 2, 2, 2, 776, 9315, 3, 2, 2, 2, 778, 9319, 3, 2, 2, 2, 780, 9321, 3, 2, 2, 2, 782, 9378, 3, 2, 2, 2, 784, 9380, 3, 2, 2, 2, 786, 9389, 3, 2, 2, 2, 788, 9397, 3, 2, 2, 2, 790, 9411, 3, 2, 2, 2, 792, 9428, 3, 2, 2, 2, 794, 9450, 3, 2, 2, 2, 796, 9460, 3, 2, 2, 2, 798, 9466, 3, 2, 2, 2, 800, 9468, 3, 2, 2, 2, 802, 9481, 3, 2, 2, 2, 804, 9483, 3, 2, 2, 2, 806, 9539, 3, 2, 2, 2, 808, 9541, 3, 2, 2, 2, 810, 9558, 3, 2, 2, 2, 812, 9566, 3, 2, 2, 2, 814, 9571, 3, 2, 2, 2, 816, 9613, 3, 2, 2, 2, 818, 9615, 3, 2, 2, 2, 820, 9623, 3, 2, 2, 2, 822, 9633, 3, 2, 2, 2, 824, 9641, 3, 2, 2, 2, 826, 9671, 3, 2, 2, 2, 828, 9673, 3, 2, 2, 2, 830, 9687, 3, 2, 2, 2, 832, 9835, 3, 2, 2, 2, 834, 9842, 3, 2, 2, 2, 836, 9887, 3, 2, 2, 2, 838, 9911, 3, 2, 2, 2, 840, 9913, 3, 2, 2, 2, 842, 9920, 3, 2, 2, 2, 844, 9927, 3, 2, 2, 2, 846, 9934, 3, 2, 2, 2, 848, 9939, 3, 2, 2, 2, 850, 9945, 3, 2, 2, 2, 852, 9950, 3, 2, 2, 2, 854, 9954, 3, 2, 2, 2, 856, 9959, 3, 2, 2, 2, 858, 9974, 3, 2, 2, 2, 860, 9989, 3, 2, 2, 2, 862, 10043, 3, 2, 2, 2, 864, 10045, 3, 2, 2, 2, 866, 10058, 3, 2, 2, 2, 868, 10060, 3, 2, 2, 2, 870, 10074, 3, 2, 2, 2, 872, 10092, 3, 2, 2, 2, 874, 10126, 3, 2, 2, 2, 876, 10148, 3, 2, 2, 2, 878, 10151, 3, 2, 2, 2, 880, 10155, 3, 2, 2, 2, 882, 10170, 3, 2, 2, 2, 884, 10179, 3, 2, 2, 2, 886, 10183, 3, 2, 2, 2, 888, 10191, 3, 2, 2, 2, 890, 10197, 3, 2, 2, 2, 892, 10233, 3, 2, 2, 2, 894, 10235, 3, 2, 2, 2, 896, 10248, 3, 2, 2, 2, 898, 10250, 3, 2, 2, 2, 900, 10271, 3, 2, 2, 2, 902, 10333, 3, 2, 2, 2, 904, 10342, 3, 2, 2, 2, 906, 10349, 3, 2, 2, 2, 908, 10368, 3, 2, 2, 2, 910, 10398, 3, 2, 2, 2, 912, 10403, 3, 2, 2, 2, 914, 10410, 3, 2, 2, 2, 916, 10425, 3, 2, 2, 2, 918, 10440, 3, 2, 2, 2, 920, 10444, 3, 2, 2, 2, 922, 10494, 3, 2, 2, 2, 924, 10496, 3, 2, 2, 2, 926, 10510, 3, 2, 2, 2, 928, 10520, 3, 2, 2, 2, 930, 10522, 3, 2, 2, 2, 932, 10524, 3, 2, 2, 2, 934, 10527, 3, 2, 2, 2, 936, 10538, 3, 2, 2, 2, 938, 10545, 3, 2, 2, 2, 940, 10547, 3, 2, 2, 2, 942, 10559, 3, 2, 2, 2, 944, 10607, 3, 2, 2, 2, 946, 10611, 3, 2, 2, 2, 948, 10613, 3, 2, 2, 2, 950, 10634, 3, 2, 2, 2, 952, 10649, 3, 2, 2, 2, 954, 10665, 3, 2, 2, 2, 956, 10667, 3, 2, 2, 2, 958, 10703, 3, 2, 2, 2, 960, 10708, 3, 2, 2, 2, 962, 10725, 3, 2, 2, 2, 964, 10727, 3, 2, 2, 2, 966, 10732, 3, 2, 2, 2, 968, 10734, 3, 2, 2, 2, 970, 10751, 3, 2, 2, 2, 972, 10753, 3, 2, 2, 2, 974, 10755, 3, 2, 2, 2, 976, 978, 5, 4, 3, 2, 977, 976, 3, 2, 2, 2, 978, 981, 3, 2, 2, 2, 979, 977, 3, 2, 2, 2, 979, 980, 3, 2, 2, 2, 980, 982, 3, 2, 2, 2, 981, 979, 3, 2, 2, 2, 982, 983, 7, 2, 2, 3, 983, 3, 3, 2, 2, 2, 984, 988, 5, 634, 318, 2, 985, 987, 5, 672, 337, 2, 986, 985, 3, 2, 2, 2, 987, 990, 3, 2, 2, 2, 988, 986, 3, 2, 2, 2, 988, 989, 3, 2, 2, 2, 989, 1002, 3, 2, 2, 2, 990, 988, 3, 2, 2, 2, 991, 993, 5, 634, 318, 2, 992, 991, 3, 2, 2, 2, 992, 993, 3, 2, 2, 2, 993, 994, 3, 2, 2, 2, 994, 998, 5, 6, 4, 2, 995, 997, 5, 672, 337, 2, 996, 995, 3, 2, 2, 2, 997, 1000, 3, 2, 2, 2, 998, 996, 3, 2, 2, 2, 998, 999, 3, 2, 2, 2, 999, 1002, 3, 2, 2, 2, 1000, 998, 3, 2, 2, 2, 1001, 984, 3, 2, 2, 2, 1001, 992, 3, 2, 2, 2, 1002, 5, 3, 2, 2, 2, 1003, 1005, 5, 8, 5, 2, 1004, 1006, 7, 831, 2, 2, 1005, 1004, 3, 2, 2, 2, 1005, 1006, 3, 2, 2, 2, 1006, 1008, 3, 2, 2, 2, 1007, 1003, 3, 2, 2, 2, 1008, 1009, 3, 2, 2, 2, 1009, 1007, 3, 2, 2, 2, 1009, 1010, 3, 2, 2, 2, 1010, 7, 3, 2, 2, 2, 1011, 1019, 5, 10, 6, 2, 1012, 1019, 5, 12, 7, 2, 1013, 1019, 5, 16, 9, 2, 1014, 1019, 5, 682, 342, 2, 1015, 1019, 5, 48, 25, 2, 1016, 1019, 5, 50, 26, 2, 1017, 1019, 5, 14, 8, 2, 1018, 1011, 3, 2, 2, 2, 1018, 1012, 3, 2, 2, 2, 1018, 1013, 3, 2, 2, 2, 1018, 1014, 3, 2, 2, 2, 1018, 1015, 3, 2, 2, 2, 1018, 1016, 3, 2, 2, 2, 1018, 1017, 3, 2, 2, 2, 1019, 9, 3, 2, 2, 2, 1020, 1026, 5, 430, 216, 2, 1021, 1026, 5, 436, 219, 2, 1022, 1026, 5, 440, 221, 2, 1023, 1026, 5, 446, 224, 2, 1024, 1026, 5, 450, 226, 2, 1025, 1020, 3, 2, 2, 2, 1025, 1021, 3, 2, 2, 2, 1025, 1022, 3, 2, 2, 2, 1025, 1023, 3, 2, 2, 2, 1025, 1024, 3, 2, 2, 2, 1026, 11, 3, 2, 2, 2, 1027, 1187, 5, 52, 27, 2, 1028, 1187, 5, 60, 31, 2, 1029, 1187, 5, 118, 60, 2, 1030, 1187, 5, 132, 67, 2, 1031, 1187, 5, 144, 73, 2, 1032, 1187, 5, 146, 74, 2, 1033, 1187, 5, 142, 72, 2, 1034, 1187, 5, 158, 80, 2, 1035, 1187, 5, 168, 85, 2, 1036, 1187, 5, 170, 86, 2, 1037, 1187, 5, 278, 140, 2, 1038, 1187, 5, 282, 142, 2, 1039, 1187, 5, 504, 253, 2, 1040, 1187, 5, 348, 175, 2, 1041, 1187, 5, 518, 260, 2, 1042, 1187, 5, 288, 145, 2, 1043, 1187, 5, 296, 149, 2, 1044, 1187, 5, 298, 150, 2, 1045, 1187, 5, 302, 152, 2, 1046, 1187, 5, 306, 154, 2, 1047, 1187, 5, 310, 156, 2, 1048, 1187, 5, 318, 160, 2, 1049, 1187, 5, 322, 162, 2, 1050, 1187, 5, 314, 158, 2, 1051, 1187, 5, 330, 166, 2, 1052, 1187, 5, 326, 164, 2, 1053, 1187, 5, 334, 168, 2, 1054, 1187, 5, 336, 169, 2, 1055, 1187, 5, 338, 170, 2, 1056, 1187, 5, 340, 171, 2, 1057, 1187, 5, 346, 174, 2, 1058, 1187, 5, 362, 182, 2, 1059, 1187, 5, 356, 179, 2, 1060, 1187, 5, 368, 185, 2, 1061, 1187, 5, 372, 187, 2, 1062, 1187, 5, 376, 189, 2, 1063, 1187, 5, 380, 191, 2, 1064, 1187, 5, 382, 192, 2, 1065, 1187, 5, 386, 194, 2, 1066, 1187, 5, 388, 195, 2, 1067, 1187, 5, 392, 197, 2, 1068, 1187, 5, 394, 198, 2, 1069, 1187, 5, 502, 252, 2, 1070, 1187, 5, 400, 201, 2, 1071, 1187, 5, 406, 204, 2, 1072, 1187, 5, 408, 205, 2, 1073, 1187, 5, 54, 28, 2, 1074, 1187, 5, 114, 58, 2, 1075, 1187, 5, 128, 65, 2, 1076, 1187, 5, 172, 87, 2, 1077, 1187, 5, 276, 139, 2, 1078, 1187, 5, 280, 141, 2, 1079, 1187, 5, 284, 143, 2, 1080, 1187, 5, 458, 230, 2, 1081, 1187, 5, 350, 176, 2, 1082, 1187, 5, 286, 144, 2, 1083, 1187, 5, 300, 151, 2, 1084, 1187, 5, 304, 153, 2, 1085, 1187, 5, 308, 155, 2, 1086, 1187, 5, 312, 157, 2, 1087, 1187, 5, 460, 231, 2, 1088, 1187, 5, 320, 161, 2, 1089, 1187, 5, 324, 163, 2, 1090, 1187, 5, 316, 159, 2, 1091, 1187, 5, 332, 167, 2, 1092, 1187, 5, 328, 165, 2, 1093, 1187, 5, 164, 83, 2, 1094, 1187, 5, 476, 239, 2, 1095, 1187, 5, 462, 232, 2, 1096, 1187, 5, 464, 233, 2, 1097, 1187, 5, 342, 172, 2, 1098, 1187, 5, 344, 173, 2, 1099, 1187, 5, 352, 177, 2, 1100, 1187, 5, 354, 178, 2, 1101, 1187, 5, 358, 180, 2, 1102, 1187, 5, 360, 181, 2, 1103, 1187, 5, 364, 183, 2, 1104, 1187, 5, 366, 184, 2, 1105, 1187, 5, 370, 186, 2, 1106, 1187, 5, 374, 188, 2, 1107, 1187, 5, 378, 190, 2, 1108, 1187, 5, 384, 193, 2, 1109, 1187, 5, 390, 196, 2, 1110, 1187, 5, 490, 246, 2, 1111, 1187, 5, 396, 199, 2, 1112, 1187, 5, 398, 200, 2, 1113, 1187, 5, 494, 248, 2, 1114, 1187, 5, 600, 301, 2, 1115, 1187, 5, 402, 202, 2, 1116, 1187, 5, 404, 203, 2, 1117, 1187, 5, 498, 250, 2, 1118, 1187, 5, 410, 206, 2, 1119, 1187, 5, 412, 207, 2, 1120, 1187, 5, 56, 29, 2, 1121, 1187, 5, 58, 30, 2, 1122, 1187, 5, 116, 59, 2, 1123, 1187, 5, 130, 66, 2, 1124, 1187, 5, 156, 79, 2, 1125, 1187, 5, 166, 84, 2, 1126, 1187, 5, 174, 88, 2, 1127, 1187, 5, 176, 89, 2, 1128, 1187, 5, 178, 90, 2, 1129, 1187, 5, 180, 91, 2, 1130, 1187, 5, 182, 92, 2, 1131, 1187, 5, 184, 93, 2, 1132, 1187, 5, 186, 94, 2, 1133, 1187, 5, 188, 95, 2, 1134, 1187, 5, 190, 96, 2, 1135, 1187, 5, 232, 117, 2, 1136, 1187, 5, 192, 97, 2, 1137, 1187, 5, 194, 98, 2, 1138, 1187, 5, 206, 104, 2, 1139, 1187, 5, 208, 105, 2, 1140, 1187, 5, 196, 99, 2, 1141, 1187, 5, 198, 100, 2, 1142, 1187, 5, 200, 101, 2, 1143, 1187, 5, 202, 102, 2, 1144, 1187, 5, 204, 103, 2, 1145, 1187, 5, 210, 106, 2, 1146, 1187, 5, 212, 107, 2, 1147, 1187, 5, 214, 108, 2, 1148, 1187, 5, 592, 297, 2, 1149, 1187, 5, 578, 290, 2, 1150, 1187, 5, 216, 109, 2, 1151, 1187, 5, 218, 110, 2, 1152, 1187, 5, 220, 111, 2, 1153, 1187, 5, 222, 112, 2, 1154, 1187, 5, 224, 113, 2, 1155, 1187, 5, 584, 293, 2, 1156, 1187, 5, 226, 114, 2, 1157, 1187, 5, 228, 115, 2, 1158, 1187, 5, 230, 116, 2, 1159, 1187, 5, 234, 118, 2, 1160, 1187, 5, 236, 119, 2, 1161, 1187, 5, 238, 120, 2, 1162, 1187, 5, 240, 121, 2, 1163, 1187, 5, 242, 122, 2, 1164, 1187, 5, 244, 123, 2, 1165, 1187, 5, 246, 124, 2, 1166, 1187, 5, 248, 125, 2, 1167, 1187, 5, 250, 126, 2, 1168, 1187, 5, 252, 127, 2, 1169, 1187, 5, 254, 128, 2, 1170, 1187, 5, 594, 298, 2, 1171, 1187, 5, 256, 129, 2, 1172, 1187, 5, 258, 130, 2, 1173, 1187, 5, 260, 131, 2, 1174, 1187, 5, 596, 299, 2, 1175, 1187, 5, 586, 294, 2, 1176, 1187, 5, 602, 302, 2, 1177, 1187, 5, 262, 132, 2, 1178, 1187, 5, 598, 300, 2, 1179, 1187, 5, 264, 133, 2, 1180, 1187, 5, 266, 134, 2, 1181, 1187, 5, 268, 135, 2, 1182, 1187, 5, 270, 136, 2, 1183, 1187, 5, 272, 137, 2, 1184, 1187, 5, 274, 138, 2, 1185, 1187, 5, 492, 247, 2, 1186, 1027, 3, 2, 2, 2, 1186, 1028, 3, 2, 2, 2, 1186, 1029, 3, 2, 2, 2, 1186, 1030, 3, 2, 2, 2, 1186, 1031, 3, 2, 2, 2, 1186, 1032, 3, 2, 2, 2, 1186, 1033, 3, 2, 2, 2, 1186, 1034, 3, 2, 2, 2, 1186, 1035, 3, 2, 2, 2, 1186, 1036, 3, 2, 2, 2, 1186, 1037, 3, 2, 2, 2, 1186, 1038, 3, 2, 2, 2, 1186, 1039, 3, 2, 2, 2, 1186, 1040, 3, 2, 2, 2, 1186, 1041, 3, 2, 2, 2, 1186, 1042, 3, 2, 2, 2, 1186, 1043, 3, 2, 2, 2, 1186, 1044, 3, 2, 2, 2, 1186, 1045, 3, 2, 2, 2, 1186, 1046, 3, 2, 2, 2, 1186, 1047, 3, 2, 2, 2, 1186, 1048, 3, 2, 2, 2, 1186, 1049, 3, 2, 2, 2, 1186, 1050, 3, 2, 2, 2, 1186, 1051, 3, 2, 2, 2, 1186, 1052, 3, 2, 2, 2, 1186, 1053, 3, 2, 2, 2, 1186, 1054, 3, 2, 2, 2, 1186, 1055, 3, 2, 2, 2, 1186, 1056, 3, 2, 2, 2, 1186, 1057, 3, 2, 2, 2, 1186, 1058, 3, 2, 2, 2, 1186, 1059, 3, 2, 2, 2, 1186, 1060, 3, 2, 2, 2, 1186, 1061, 3, 2, 2, 2, 1186, 1062, 3, 2, 2, 2, 1186, 1063, 3, 2, 2, 2, 1186, 1064, 3, 2, 2, 2, 1186, 1065, 3, 2, 2, 2, 1186, 1066, 3, 2, 2, 2, 1186, 1067, 3, 2, 2, 2, 1186, 1068, 3, 2, 2, 2, 1186, 1069, 3, 2, 2, 2, 1186, 1070, 3, 2, 2, 2, 1186, 1071, 3, 2, 2, 2, 1186, 1072, 3, 2, 2, 2, 1186, 1073, 3, 2, 2, 2, 1186, 1074, 3, 2, 2, 2, 1186, 1075, 3, 2, 2, 2, 1186, 1076, 3, 2, 2, 2, 1186, 1077, 3, 2, 2, 2, 1186, 1078, 3, 2, 2, 2, 1186, 1079, 3, 2, 2, 2, 1186, 1080, 3, 2, 2, 2, 1186, 1081, 3, 2, 2, 2, 1186, 1082, 3, 2, 2, 2, 1186, 1083, 3, 2, 2, 2, 1186, 1084, 3, 2, 2, 2, 1186, 1085, 3, 2, 2, 2, 1186, 1086, 3, 2, 2, 2, 1186, 1087, 3, 2, 2, 2, 1186, 1088, 3, 2, 2, 2, 1186, 1089, 3, 2, 2, 2, 1186, 1090, 3, 2, 2, 2, 1186, 1091, 3, 2, 2, 2, 1186, 1092, 3, 2, 2, 2, 1186, 1093, 3, 2, 2, 2, 1186, 1094, 3, 2, 2, 2, 1186, 1095, 3, 2, 2, 2, 1186, 1096, 3, 2, 2, 2, 1186, 1097, 3, 2, 2, 2, 1186, 1098, 3, 2, 2, 2, 1186, 1099, 3, 2, 2, 2, 1186, 1100, 3, 2, 2, 2, 1186, 1101, 3, 2, 2, 2, 1186, 1102, 3, 2, 2, 2, 1186, 1103, 3, 2, 2, 2, 1186, 1104, 3, 2, 2, 2, 1186, 1105, 3, 2, 2, 2, 1186, 1106, 3, 2, 2, 2, 1186, 1107, 3, 2, 2, 2, 1186, 1108, 3, 2, 2, 2, 1186, 1109, 3, 2, 2, 2, 1186, 1110, 3, 2, 2, 2, 1186, 1111, 3, 2, 2, 2, 1186, 1112, 3, 2, 2, 2, 1186, 1113, 3, 2, 2, 2, 1186, 1114, 3, 2, 2, 2, 1186, 1115, 3, 2, 2, 2, 1186, 1116, 3, 2, 2, 2, 1186, 1117, 3, 2, 2, 2, 1186, 1118, 3, 2, 2, 2, 1186, 1119, 3, 2, 2, 2, 1186, 1120, 3, 2, 2, 2, 1186, 1121, 3, 2, 2, 2, 1186, 1122, 3, 2, 2, 2, 1186, 1123, 3, 2, 2, 2, 1186, 1124, 3, 2, 2, 2, 1186, 1125, 3, 2, 2, 2, 1186, 1126, 3, 2, 2, 2, 1186, 1127, 3, 2, 2, 2, 1186, 1128, 3, 2, 2, 2, 1186, 1129, 3, 2, 2, 2, 1186, 1130, 3, 2, 2, 2, 1186, 1131, 3, 2, 2, 2, 1186, 1132, 3, 2, 2, 2, 1186, 1133, 3, 2, 2, 2, 1186, 1134, 3, 2, 2, 2, 1186, 1135, 3, 2, 2, 2, 1186, 1136, 3, 2, 2, 2, 1186, 1137, 3, 2, 2, 2, 1186, 1138, 3, 2, 2, 2, 1186, 1139, 3, 2, 2, 2, 1186, 1140, 3, 2, 2, 2, 1186, 1141, 3, 2, 2, 2, 1186, 1142, 3, 2, 2, 2, 1186, 1143, 3, 2, 2, 2, 1186, 1144, 3, 2, 2, 2, 1186, 1145, 3, 2, 2, 2, 1186, 1146, 3, 2, 2, 2, 1186, 1147, 3, 2, 2, 2, 1186, 1148, 3, 2, 2, 2, 1186, 1149, 3, 2, 2, 2, 1186, 1150, 3, 2, 2, 2, 1186, 1151, 3, 2, 2, 2, 1186, 1152, 3, 2, 2, 2, 1186, 1153, 3, 2, 2, 2, 1186, 1154, 3, 2, 2, 2, 1186, 1155, 3, 2, 2, 2, 1186, 1156, 3, 2, 2, 2, 1186, 1157, 3, 2, 2, 2, 1186, 1158, 3, 2, 2, 2, 1186, 1159, 3, 2, 2, 2, 1186, 1160, 3, 2, 2, 2, 1186, 1161, 3, 2, 2, 2, 1186, 1162, 3, 2, 2, 2, 1186, 1163, 3, 2, 2, 2, 1186, 1164, 3, 2, 2, 2, 1186, 1165, 3, 2, 2, 2, 1186, 1166, 3, 2, 2, 2, 1186, 1167, 3, 2, 2, 2, 1186, 1168, 3, 2, 2, 2, 1186, 1169, 3, 2, 2, 2, 1186, 1170, 3, 2, 2, 2, 1186, 1171, 3, 2, 2, 2, 1186, 1172, 3, 2, 2, 2, 1186, 1173, 3, 2, 2, 2, 1186, 1174, 3, 2, 2, 2, 1186, 1175, 3, 2, 2, 2, 1186, 1176, 3, 2, 2, 2, 1186, 1177, 3, 2, 2, 2, 1186, 1178, 3, 2, 2, 2, 1186, 1179, 3, 2, 2, 2, 1186, 1180, 3, 2, 2, 2, 1186, 1181, 3, 2, 2, 2, 1186, 1182, 3, 2, 2, 2, 1186, 1183, 3, 2, 2, 2, 1186, 1184, 3, 2, 2, 2, 1186, 1185, 3, 2, 2, 2, 1187, 13, 3, 2, 2, 2, 1188, 1194, 5, 614, 308, 2, 1189, 1194, 5, 616, 309, 2, 1190, 1194, 5, 618, 310, 2, 1191, 1194, 5, 620, 311, 2, 1192, 1194, 5, 622, 312, 2, 1193, 1188, 3, 2, 2, 2, 1193, 1189, 3, 2, 2, 2, 1193, 1190, 3, 2, 2, 2, 1193, 1191, 3, 2, 2, 2, 1193, 1192, 3, 2, 2, 2, 1194, 15, 3, 2, 2, 2, 1195, 1208, 5, 18, 10, 2, 1196, 1208, 5, 20, 11, 2, 1197, 1208, 5, 22, 12, 2, 1198, 1208, 5, 24, 13, 2, 1199, 1208, 5, 28, 15, 2, 1200, 1208, 5, 26, 14, 2, 1201, 1208, 5, 30, 16, 2, 1202, 1208, 5, 38, 20, 2, 1203, 1208, 5, 40, 21, 2, 1204, 1208, 5, 42, 22, 2, 1205, 1208, 5, 44, 23, 2, 1206, 1208, 5, 46, 24, 2, 1207, 1195, 3, 2, 2, 2, 1207, 1196, 3, 2, 2, 2, 1207, 1197, 3, 2, 2, 2, 1207, 1198, 3, 2, 2, 2, 1207, 1199, 3, 2, 2, 2, 1207, 1200, 3, 2, 2, 2, 1207, 1201, 3, 2, 2, 2, 1207, 1202, 3, 2, 2, 2, 1207, 1203, 3, 2, 2, 2, 1207, 1204, 3, 2, 2, 2, 1207, 1205, 3, 2, 2, 2, 1207, 1206, 3, 2, 2, 2, 1208, 17, 3, 2, 2, 2, 1209, 1211, 7, 28, 2, 2, 1210, 1212, 7, 831, 2, 2, 1211, 1210, 3, 2, 2, 2, 1211, 1212, 3, 2, 2, 2, 1212, 1214, 3, 2, 2, 2, 1213, 1215, 5, 6, 4, 2, 1214, 1213, 3, 2, 2, 2, 1214, 1215, 3, 2, 2, 2, 1215, 1216, 3, 2, 2, 2, 1216, 1218, 7, 108, 2, 2, 1217, 1219, 7, 831, 2, 2, 1218, 1217, 3, 2, 2, 2, 1218, 1219, 3, 2, 2, 2, 1219, 19, 3, 2, 2, 2, 1220, 1222, 7, 33, 2, 2, 1221, 1223, 7, 831, 2, 2, 1222, 1221, 3, 2, 2, 2, 1222, 1223, 3, 2, 2, 2, 1223, 21, 3, 2, 2, 2, 1224, 1226, 7, 66, 2, 2, 1225, 1227, 7, 831, 2, 2, 1226, 1225, 3, 2, 2, 2, 1226, 1227, 3, 2, 2, 2, 1227, 23, 3, 2, 2, 2, 1228, 1229, 7, 143, 2, 2, 1229, 1231, 5, 966, 484, 2, 1230, 1232, 7, 831, 2, 2, 1231, 1230, 3, 2, 2, 2, 1231, 1232, 3, 2, 2, 2, 1232, 1239, 3, 2, 2, 2, 1233, 1234, 5, 966, 484, 2, 1234, 1236, 7, 832, 2, 2, 1235, 1237, 7, 831, 2, 2, 1236, 1235, 3, 2, 2, 2, 1236, 1237, 3, 2, 2, 2, 1237, 1239, 3, 2, 2, 2, 1238, 1228, 3, 2, 2, 2, 1238, 1233, 3, 2, 2, 2, 1239, 25, 3, 2, 2, 2, 1240, 1242, 7, 282, 2, 2, 1241, 1243, 5, 728, 365, 2, 1242, 1241, 3, 2, 2, 2, 1242, 1243, 3, 2, 2, 2, 1243, 1245, 3, 2, 2, 2, 1244, 1246, 7, 831, 2, 2, 1245, 1244, 3, 2, 2, 2, 1245, 1246, 3, 2, 2, 2, 1246, 27, 3, 2, 2, 2, 1247, 1248, 7, 153, 2, 2, 1248, 1249, 5, 750, 376, 2, 1249, 1252, 5, 8, 5, 2, 1250, 1251, 7, 106, 2, 2, 1251, 1253, 5, 8, 5, 2, 1252, 1250, 3, 2, 2, 2, 1252, 1253, 3, 2, 2, 2, 1253, 1255, 3, 2, 2, 2, 1254, 1256, 7, 831, 2, 2, 1255, 1254, 3, 2, 2, 2, 1255, 1256, 3, 2, 2, 2, 1256, 29, 3, 2, 2, 2, 1257, 1264, 7, 755, 2, 2, 1258, 1259, 5, 32, 17, 2, 1259, 1260, 7, 830, 2, 2, 1260, 1261, 5, 34, 18, 2, 1261, 1262, 7, 830, 2, 2, 1262, 1263, 5, 36, 19, 2, 1263, 1265, 3, 2, 2, 2, 1264, 1258, 3, 2, 2, 2, 1264, 1265, 3, 2, 2, 2, 1265, 1267, 3, 2, 2, 2, 1266, 1268, 7, 831, 2, 2, 1267, 1266, 3, 2, 2, 2, 1267, 1268, 3, 2, 2, 2, 1268, 31, 3, 2, 2, 2, 1269, 1270, 9, 2, 2, 2, 1270, 33, 3, 2, 2, 2, 1271, 1272, 9, 3, 2, 2, 1272, 35, 3, 2, 2, 2, 1273, 1274, 9, 2, 2, 2, 1274, 37, 3, 2, 2, 2, 1275, 1276, 7, 28, 2, 2, 1276, 1278, 7, 766, 2, 2, 1277, 1279, 7, 831, 2, 2, 1278, 1277, 3, 2, 2, 2, 1278, 1279, 3, 2, 2, 2, 1279, 1281, 3, 2, 2, 2, 1280, 1282, 5, 6, 4, 2, 1281, 1280, 3, 2, 2, 2, 1281, 1282, 3, 2, 2, 2, 1282, 1283, 3, 2, 2, 2, 1283, 1284, 7, 108, 2, 2, 1284, 1286, 7, 766, 2, 2, 1285, 1287, 7, 831, 2, 2, 1286, 1285, 3, 2, 2, 2, 1286, 1287, 3, 2, 2, 2, 1287, 1288, 3, 2, 2, 2, 1288, 1289, 7, 28, 2, 2, 1289, 1291, 7, 431, 2, 2, 1290, 1292, 7, 831, 2, 2, 1291, 1290, 3, 2, 2, 2, 1291, 1292, 3, 2, 2, 2, 1292, 1294, 3, 2, 2, 2, 1293, 1295, 5, 6, 4, 2, 1294, 1293, 3, 2, 2, 2, 1294, 1295, 3, 2, 2, 2, 1295, 1296, 3, 2, 2, 2, 1296, 1297, 7, 108, 2, 2, 1297, 1299, 7, 431, 2, 2, 1298, 1300, 7, 831, 2, 2, 1299, 1298, 3, 2, 2, 2, 1299, 1300, 3, 2, 2, 2, 1300, 39, 3, 2, 2, 2, 1301, 1303, 7, 372, 2, 2, 1302, 1304, 5, 444, 223, 2, 1303, 1302, 3, 2, 2, 2, 1303, 1304, 3, 2, 2, 2, 1304, 1306, 3, 2, 2, 2, 1305, 1307, 7, 830, 2, 2, 1306, 1305, 3, 2, 2, 2, 1306, 1307, 3, 2, 2, 2, 1307, 1310, 3, 2, 2, 2, 1308, 1309, 9, 4, 2, 2, 1309, 1311, 5, 448, 225, 2, 1310, 1308, 3, 2, 2, 2, 1310, 1311, 3, 2, 2, 2, 1311, 1313, 3, 2, 2, 2, 1312, 1314, 5, 728, 365, 2, 1313, 1312, 3, 2, 2, 2, 1313, 1314, 3, 2, 2, 2, 1314, 1316, 3, 2, 2, 2, 1315, 1317, 7, 831, 2, 2, 1316, 1315, 3, 2, 2, 2, 1316, 1317, 3, 2, 2, 2, 1317, 41, 3, 2, 2, 2, 1318, 1319, 7, 375, 2, 2, 1319, 1329, 5, 750, 376, 2, 1320, 1330, 5, 8, 5, 2, 1321, 1323, 7, 33, 2, 2, 1322, 1324, 7, 831, 2, 2, 1323, 1322, 3, 2, 2, 2, 1323, 1324, 3, 2, 2, 2, 1324, 1330, 3, 2, 2, 2, 1325, 1327, 7, 66, 2, 2, 1326, 1328, 7, 831, 2, 2, 1327, 1326, 3, 2, 2, 2, 1327, 1328, 3, 2, 2, 2, 1328, 1330, 3, 2, 2, 2, 1329, 1320, 3, 2, 2, 2, 1329, 1321, 3, 2, 2, 2, 1329, 1325, 3, 2, 2, 2, 1330, 43, 3, 2, 2, 2, 1331, 1334, 7, 257, 2, 2, 1332, 1335, 5, 728, 365, 2, 1333, 1335, 7, 798, 2, 2, 1334, 1332, 3, 2, 2, 2, 1334, 1333, 3, 2, 2, 2, 1335, 1340, 3, 2, 2, 2, 1336, 1337, 7, 830, 2, 2, 1337, 1339, 7, 801, 2, 2, 1338, 1336, 3, 2, 2, 2, 1339, 1342, 3, 2, 2, 2, 1340, 1338, 3, 2, 2, 2, 1340, 1341, 3, 2, 2, 2, 1341, 1344, 3, 2, 2, 2, 1342, 1340, 3, 2, 2, 2, 1343, 1345, 7, 831, 2, 2, 1344, 1343, 3, 2, 2, 2, 1344, 1345, 3, 2, 2, 2, 1345, 45, 3, 2, 2, 2, 1346, 1347, 7, 264, 2, 2, 1347, 1348, 7, 828, 2, 2, 1348, 1349, 9, 5, 2, 2, 1349, 1350, 7, 830, 2, 2, 1350, 1351, 5, 726, 364, 2, 1351, 1352, 7, 830, 2, 2, 1352, 1357, 5, 726, 364, 2, 1353, 1354, 7, 830, 2, 2, 1354, 1356, 5, 726, 364, 2, 1355, 1353, 3, 2, 2, 2, 1356, 1359, 3, 2, 2, 2, 1357, 1355, 3, 2, 2, 2, 1357, 1358, 3, 2, 2, 2, 1358, 1360, 3, 2, 2, 2, 1359, 1357, 3, 2, 2, 2, 1360, 1363, 7, 829, 2, 2, 1361, 1362, 7, 377, 2, 2, 1362, 1364, 9, 6, 2, 2, 1363, 1361, 3, 2, 2, 2, 1363, 1364, 3, 2, 2, 2, 1364, 1366, 3, 2, 2, 2, 1365, 1367, 7, 831, 2, 2, 1366, 1365, 3, 2, 2, 2, 1366, 1367, 3, 2, 2, 2, 1367, 1379, 3, 2, 2, 2, 1368, 1369, 7, 264, 2, 2, 1369, 1370, 7, 802, 2, 2, 1370, 1375, 9, 7, 2, 2, 1371, 1372, 7, 830, 2, 2, 1372, 1374, 9, 5, 2, 2, 1373, 1371, 3, 2, 2, 2, 1374, 1377, 3, 2, 2, 2, 1375, 1373, 3, 2, 2, 2, 1375, 1376, 3, 2, 2, 2, 1376, 1379, 3, 2, 2, 2, 1377, 1375, 3, 2, 2, 2, 1378, 1346, 3, 2, 2, 2, 1378, 1368, 3, 2, 2, 2, 1379, 47, 3, 2, 2, 2, 1380, 1381, 7, 831, 2, 2, 1381, 49, 3, 2, 2, 2, 1382, 1399, 5, 610, 306, 2, 1383, 1399, 5, 612, 307, 2, 1384, 1399, 5, 426, 214, 2, 1385, 1399, 5, 424, 213, 2, 1386, 1399, 5, 414, 208, 2, 1387, 1399, 5, 418, 210, 2, 1388, 1399, 5, 632, 317, 2, 1389, 1399, 5, 624, 313, 2, 1390, 1399, 5, 428, 215, 2, 1391, 1399, 5, 640, 321, 2, 1392, 1399, 5, 668, 335, 2, 1393, 1399, 5, 670, 336, 2, 1394, 1399, 5, 674, 338, 2, 1395, 1399, 5, 676, 339, 2, 1396, 1399, 5, 678, 340, 2, 1397, 1399, 5, 680, 341, 2, 1398, 1382, 3, 2, 2, 2, 1398, 1383, 3, 2, 2, 2, 1398, 1384, 3, 2, 2, 2, 1398, 1385, 3, 2, 2, 2, 1398, 1386, 3, 2, 2, 2, 1398, 1387, 3, 2, 2, 2, 1398, 1388, 3, 2, 2, 2, 1398, 1389, 3, 2, 2, 2, 1398, 1390, 3, 2, 2, 2, 1398, 1391, 3, 2, 2, 2, 1398, 1392, 3, 2, 2, 2, 1398, 1393, 3, 2, 2, 2, 1398, 1394, 3, 2, 2, 2, 1398, 1395, 3, 2, 2, 2, 1398, 1396, 3, 2, 2, 2, 1398, 1397, 3, 2, 2, 2, 1399, 51, 3, 2, 2, 2, 1400, 1401, 7, 10, 2, 2, 1401, 1402, 7, 15, 2, 2, 1402, 1403, 7, 289, 2, 2, 1403, 1404, 5, 966, 484, 2, 1404, 1411, 7, 377, 2, 2, 1405, 1407, 7, 830, 2, 2, 1406, 1405, 3, 2, 2, 2, 1406, 1407, 3, 2, 2, 2, 1407, 1408, 3, 2, 2, 2, 1408, 1409, 7, 605, 2, 2, 1409, 1410, 7, 810, 2, 2, 1410, 1412, 5, 966, 484, 2, 1411, 1406, 3, 2, 2, 2, 1411, 1412, 3, 2, 2, 2, 1412, 1419, 3, 2, 2, 2, 1413, 1415, 7, 830, 2, 2, 1414, 1413, 3, 2, 2, 2, 1414, 1415, 3, 2, 2, 2, 1415, 1416, 3, 2, 2, 2, 1416, 1417, 7, 244, 2, 2, 1417, 1418, 7, 810, 2, 2, 1418, 1420, 7, 806, 2, 2, 1419, 1414, 3, 2, 2, 2, 1419, 1420, 3, 2, 2, 2, 1420, 1427, 3, 2, 2, 2, 1421, 1423, 7, 830, 2, 2, 1422, 1421, 3, 2, 2, 2, 1422, 1423, 3, 2, 2, 2, 1423, 1424, 3, 2, 2, 2, 1424, 1425, 7, 91, 2, 2, 1425, 1426, 7, 810, 2, 2, 1426, 1428, 5, 966, 484, 2, 1427, 1422, 3, 2, 2, 2, 1427, 1428, 3, 2, 2, 2, 1428, 53, 3, 2, 2, 2, 1429, 1430, 7, 73, 2, 2, 1430, 1431, 7, 15, 2, 2, 1431, 1432, 7, 289, 2, 2, 1432, 1433, 5, 966, 484, 2, 1433, 1440, 7, 377, 2, 2, 1434, 1436, 7, 830, 2, 2, 1435, 1434, 3, 2, 2, 2, 1435, 1436, 3, 2, 2, 2, 1436, 1437, 3, 2, 2, 2, 1437, 1438, 7, 244, 2, 2, 1438, 1439, 7, 810, 2, 2, 1439, 1441, 7, 806, 2, 2, 1440, 1435, 3, 2, 2, 2, 1440, 1441, 3, 2, 2, 2, 1441, 1448, 3, 2, 2, 2, 1442, 1444, 7, 830, 2, 2, 1443, 1442, 3, 2, 2, 2, 1443, 1444, 3, 2, 2, 2, 1444, 1445, 3, 2, 2, 2, 1445, 1446, 7, 91, 2, 2, 1446, 1447, 7, 810, 2, 2, 1447, 1449, 5, 966, 484, 2, 1448, 1443, 3, 2, 2, 2, 1448, 1449, 3, 2, 2, 2, 1449, 55, 3, 2, 2, 2, 1450, 1451, 7, 103, 2, 2, 1451, 1454, 7, 393, 2, 2, 1452, 1453, 7, 153, 2, 2, 1453, 1455, 7, 119, 2, 2, 1454, 1452, 3, 2, 2, 2, 1454, 1455, 3, 2, 2, 2, 1455, 1459, 3, 2, 2, 2, 1456, 1457, 5, 966, 484, 2, 1457, 1458, 7, 823, 2, 2, 1458, 1460, 3, 2, 2, 2, 1459, 1456, 3, 2, 2, 2, 1459, 1460, 3, 2, 2, 2, 1460, 1461, 3, 2, 2, 2, 1461, 1462, 5, 966, 484, 2, 1462, 57, 3, 2, 2, 2, 1463, 1464, 7, 103, 2, 2, 1464, 1465, 7, 15, 2, 2, 1465, 1466, 7, 289, 2, 2, 1466, 1467, 5, 966, 484, 2, 1467, 59, 3, 2, 2, 2, 1468, 1469, 5, 62, 32, 2, 1469, 1470, 5, 966, 484, 2, 1470, 1471, 5, 64, 33, 2, 1471, 61, 3, 2, 2, 2, 1472, 1473, 7, 10, 2, 2, 1473, 1474, 7, 405, 2, 2, 1474, 63, 3, 2, 2, 2, 1475, 1477, 5, 66, 34, 2, 1476, 1475, 3, 2, 2, 2, 1476, 1477, 3, 2, 2, 2, 1477, 1479, 3, 2, 2, 2, 1478, 1480, 5, 88, 45, 2, 1479, 1478, 3, 2, 2, 2, 1479, 1480, 3, 2, 2, 2, 1480, 1482, 3, 2, 2, 2, 1481, 1483, 5, 70, 36, 2, 1482, 1481, 3, 2, 2, 2, 1482, 1483, 3, 2, 2, 2, 1483, 1485, 3, 2, 2, 2, 1484, 1486, 5, 76, 39, 2, 1485, 1484, 3, 2, 2, 2, 1485, 1486, 3, 2, 2, 2, 1486, 65, 3, 2, 2, 2, 1487, 1490, 5, 68, 35, 2, 1488, 1491, 5, 92, 47, 2, 1489, 1491, 5, 84, 43, 2, 1490, 1488, 3, 2, 2, 2, 1490, 1489, 3, 2, 2, 2, 1491, 67, 3, 2, 2, 2, 1492, 1493, 7, 139, 2, 2, 1493, 69, 3, 2, 2, 2, 1494, 1495, 5, 74, 38, 2, 1495, 1496, 5, 72, 37, 2, 1496, 71, 3, 2, 2, 2, 1497, 1500, 7, 6, 2, 2, 1498, 1500, 5, 110, 56, 2, 1499, 1497, 3, 2, 2, 2, 1499, 1498, 3, 2, 2, 2, 1500, 73, 3, 2, 2, 2, 1501, 1502, 7, 103, 2, 2, 1502, 75, 3, 2, 2, 2, 1503, 1504, 5, 78, 40, 2, 1504, 1505, 5, 80, 41, 2, 1505, 77, 3, 2, 2, 2, 1506, 1507, 7, 4, 2, 2, 1507, 1508, 7, 129, 2, 2, 1508, 1509, 7, 139, 2, 2, 1509, 79, 3, 2, 2, 2, 1510, 1514, 5, 82, 42, 2, 1511, 1512, 5, 86, 44, 2, 1512, 1513, 5, 966, 484, 2, 1513, 1515, 3, 2, 2, 2, 1514, 1511, 3, 2, 2, 2, 1514, 1515, 3, 2, 2, 2, 1515, 81, 3, 2, 2, 2, 1516, 1517, 7, 806, 2, 2, 1517, 83, 3, 2, 2, 2, 1518, 1519, 5, 86, 44, 2, 1519, 1520, 5, 966, 484, 2, 1520, 85, 3, 2, 2, 2, 1521, 1522, 7, 16, 2, 2, 1522, 87, 3, 2, 2, 2, 1523, 1524, 5, 90, 46, 2, 1524, 1525, 5, 94, 48, 2, 1525, 89, 3, 2, 2, 2, 1526, 1527, 7, 377, 2, 2, 1527, 91, 3, 2, 2, 2, 1528, 1532, 5, 96, 49, 2, 1529, 1532, 5, 106, 54, 2, 1530, 1532, 7, 806, 2, 2, 1531, 1528, 3, 2, 2, 2, 1531, 1529, 3, 2, 2, 2, 1531, 1530, 3, 2, 2, 2, 1532, 93, 3, 2, 2, 2, 1533, 1534, 8, 48, 1, 2, 1534, 1535, 7, 246, 2, 2, 1535, 1536, 7, 810, 2, 2, 1536, 1543, 9, 8, 2, 2, 1537, 1538, 7, 371, 2, 2, 1538, 1539, 7, 810, 2, 2, 1539, 1543, 9, 9, 2, 2, 1540, 1541, 7, 355, 2, 2, 1541, 1543, 7, 456, 2, 2, 1542, 1533, 3, 2, 2, 2, 1542, 1537, 3, 2, 2, 2, 1542, 1540, 3, 2, 2, 2, 1543, 1548, 3, 2, 2, 2, 1544, 1545, 12, 3, 2, 2, 1545, 1547, 7, 830, 2, 2, 1546, 1544, 3, 2, 2, 2, 1547, 1550, 3, 2, 2, 2, 1548, 1546, 3, 2, 2, 2, 1548, 1549, 3, 2, 2, 2, 1549, 95, 3, 2, 2, 2, 1550, 1548, 3, 2, 2, 2, 1551, 1552, 5, 100, 51, 2, 1552, 1553, 5, 98, 50, 2, 1553, 1554, 5, 102, 52, 2, 1554, 97, 3, 2, 2, 2, 1555, 1556, 5, 966, 484, 2, 1556, 99, 3, 2, 2, 2, 1557, 1558, 7, 101, 2, 2, 1558, 101, 3, 2, 2, 2, 1559, 1560, 5, 104, 53, 2, 1560, 1561, 5, 102, 52, 2, 1561, 1564, 3, 2, 2, 2, 1562, 1564, 5, 966, 484, 2, 1563, 1559, 3, 2, 2, 2, 1563, 1562, 3, 2, 2, 2, 1564, 103, 3, 2, 2, 2, 1565, 1566, 7, 25, 2, 2, 1566, 105, 3, 2, 2, 2, 1567, 1568, 5, 108, 55, 2, 1568, 1569, 5, 102, 52, 2, 1569, 107, 3, 2, 2, 2, 1570, 1571, 7, 483, 2, 2, 1571, 109, 3, 2, 2, 2, 1572, 1573, 5, 112, 57, 2, 1573, 1574, 5, 106, 54, 2, 1574, 1575, 7, 799, 2, 2, 1575, 1576, 7, 830, 2, 2, 1576, 1579, 3, 2, 2, 2, 1577, 1579, 5, 106, 54, 2, 1578, 1572, 3, 2, 2, 2, 1578, 1577, 3, 2, 2, 2, 1579, 111, 3, 2, 2, 2, 1580, 1581, 7, 799, 2, 2, 1581, 113, 3, 2, 2, 2, 1582, 1583, 7, 73, 2, 2, 1583, 1584, 7, 405, 2, 2, 1584, 1587, 5, 966, 484, 2, 1585, 1586, 7, 20, 2, 2, 1586, 1588, 5, 966, 484, 2, 1587, 1585, 3, 2, 2, 2, 1587, 1588, 3, 2, 2, 2, 1588, 1589, 3, 2, 2, 2, 1589, 1594, 7, 139, 2, 2, 1590, 1592, 7, 830, 2, 2, 1591, 1590, 3, 2, 2, 2, 1591, 1592, 3, 2, 2, 2, 1592, 1593, 3, 2, 2, 2, 1593, 1595, 9, 10, 2, 2, 1594, 1591, 3, 2, 2, 2, 1595, 1596, 3, 2, 2, 2, 1596, 1594, 3, 2, 2, 2, 1596, 1597, 3, 2, 2, 2, 1597, 1602, 3, 2, 2, 2, 1598, 1599, 7, 377, 2, 2, 1599, 1600, 7, 246, 2, 2, 1600, 1601, 7, 810, 2, 2, 1601, 1603, 9, 8, 2, 2, 1602, 1598, 3, 2, 2, 2, 1602, 1603, 3, 2, 2, 2, 1603, 115, 3, 2, 2, 2, 1604, 1605, 7, 103, 2, 2, 1605, 1608, 7, 405, 2, 2, 1606, 1607, 7, 153, 2, 2, 1607, 1609, 7, 119, 2, 2, 1608, 1606, 3, 2, 2, 2, 1608, 1609, 3, 2, 2, 2, 1609, 1614, 3, 2, 2, 2, 1610, 1612, 7, 830, 2, 2, 1611, 1610, 3, 2, 2, 2, 1611, 1612, 3, 2, 2, 2, 1612, 1613, 3, 2, 2, 2, 1613, 1615, 5, 966, 484, 2, 1614, 1611, 3, 2, 2, 2, 1615, 1616, 3, 2, 2, 2, 1616, 1614, 3, 2, 2, 2, 1616, 1617, 3, 2, 2, 2, 1617, 1621, 3, 2, 2, 2, 1618, 1619, 7, 377, 2, 2, 1619, 1620, 7, 611, 2, 2, 1620, 1622, 7, 473, 2, 2, 1621, 1618, 3, 2, 2, 2, 1621, 1622, 3, 2, 2, 2, 1622, 117, 3, 2, 2, 2, 1623, 1624, 5, 120, 61, 2, 1624, 1629, 5, 966, 484, 2, 1625, 1630, 5, 122, 62, 2, 1626, 1627, 7, 681, 2, 2, 1627, 1628, 7, 652, 2, 2, 1628, 1630, 7, 172, 2, 2, 1629, 1625, 3, 2, 2, 2, 1629, 1626, 3, 2, 2, 2, 1630, 119, 3, 2, 2, 2, 1631, 1632, 7, 10, 2, 2, 1632, 1633, 7, 18, 2, 2, 1633, 1634, 7, 172, 2, 2, 1634, 121, 3, 2, 2, 2, 1635, 1636, 5, 124, 63, 2, 1636, 1639, 5, 126, 64, 2, 1637, 1638, 7, 830, 2, 2, 1638, 1640, 5, 126, 64, 2, 1639, 1637, 3, 2, 2, 2, 1639, 1640, 3, 2, 2, 2, 1640, 1641, 3, 2, 2, 2, 1641, 1642, 7, 829, 2, 2, 1642, 123, 3, 2, 2, 2, 1643, 1644, 7, 377, 2, 2, 1644, 1645, 7, 652, 2, 2, 1645, 1646, 7, 172, 2, 2, 1646, 1647, 7, 828, 2, 2, 1647, 125, 3, 2, 2, 2, 1648, 1649, 7, 465, 2, 2, 1649, 1650, 7, 38, 2, 2, 1650, 1651, 7, 244, 2, 2, 1651, 1652, 7, 810, 2, 2, 1652, 1659, 7, 806, 2, 2, 1653, 1654, 7, 492, 2, 2, 1654, 1655, 7, 38, 2, 2, 1655, 1656, 7, 244, 2, 2, 1656, 1657, 7, 810, 2, 2, 1657, 1659, 7, 806, 2, 2, 1658, 1648, 3, 2, 2, 2, 1658, 1653, 3, 2, 2, 2, 1659, 127, 3, 2, 2, 2, 1660, 1661, 7, 73, 2, 2, 1661, 1662, 7, 18, 2, 2, 1662, 1663, 7, 172, 2, 2, 1663, 1666, 5, 966, 484, 2, 1664, 1665, 7, 20, 2, 2, 1665, 1667, 5, 966, 484, 2, 1666, 1664, 3, 2, 2, 2, 1666, 1667, 3, 2, 2, 2, 1667, 1681, 3, 2, 2, 2, 1668, 1679, 7, 139, 2, 2, 1669, 1670, 7, 129, 2, 2, 1670, 1671, 7, 810, 2, 2, 1671, 1680, 7, 806, 2, 2, 1672, 1673, 7, 117, 2, 2, 1673, 1674, 7, 810, 2, 2, 1674, 1680, 7, 806, 2, 2, 1675, 1676, 7, 405, 2, 2, 1676, 1680, 5, 966, 484, 2, 1677, 1678, 7, 657, 2, 2, 1678, 1680, 5, 966, 484, 2, 1679, 1669, 3, 2, 2, 2, 1679, 1672, 3, 2, 2, 2, 1679, 1675, 3, 2, 2, 2, 1679, 1677, 3, 2, 2, 2, 1680, 1682, 3, 2, 2, 2, 1681, 1668, 3, 2, 2, 2, 1681, 1682, 3, 2, 2, 2, 1682, 1695, 3, 2, 2, 2, 1683, 1693, 7, 377, 2, 2, 1684, 1685, 7, 394, 2, 2, 1685, 1686, 7, 810, 2, 2, 1686, 1694, 9, 11, 2, 2, 1687, 1688, 7, 658, 2, 2, 1688, 1689, 7, 810, 2, 2, 1689, 1694, 7, 806, 2, 2, 1690, 1691, 7, 451, 2, 2, 1691, 1692, 7, 810, 2, 2, 1692, 1694, 9, 12, 2, 2, 1693, 1684, 3, 2, 2, 2, 1693, 1687, 3, 2, 2, 2, 1693, 1690, 3, 2, 2, 2, 1694, 1696, 3, 2, 2, 2, 1695, 1683, 3, 2, 2, 2, 1695, 1696, 3, 2, 2, 2, 1696, 1702, 3, 2, 2, 2, 1697, 1698, 7, 492, 2, 2, 1698, 1699, 7, 38, 2, 2, 1699, 1700, 7, 244, 2, 2, 1700, 1701, 7, 810, 2, 2, 1701, 1703, 7, 806, 2, 2, 1702, 1697, 3, 2, 2, 2, 1702, 1703, 3, 2, 2, 2, 1703, 129, 3, 2, 2, 2, 1704, 1705, 7, 103, 2, 2, 1705, 1706, 7, 18, 2, 2, 1706, 1707, 7, 172, 2, 2, 1707, 1711, 5, 966, 484, 2, 1708, 1709, 7, 681, 2, 2, 1709, 1710, 7, 657, 2, 2, 1710, 1712, 7, 172, 2, 2, 1711, 1708, 3, 2, 2, 2, 1711, 1712, 3, 2, 2, 2, 1712, 131, 3, 2, 2, 2, 1713, 1717, 5, 140, 71, 2, 1714, 1715, 5, 148, 75, 2, 1715, 1716, 5, 138, 70, 2, 1716, 1718, 3, 2, 2, 2, 1717, 1714, 3, 2, 2, 2, 1717, 1718, 3, 2, 2, 2, 1718, 1719, 3, 2, 2, 2, 1719, 1720, 5, 902, 452, 2, 1720, 1721, 5, 136, 69, 2, 1721, 1722, 5, 134, 68, 2, 1722, 133, 3, 2, 2, 2, 1723, 1727, 5, 966, 484, 2, 1724, 1725, 7, 302, 2, 2, 1725, 1727, 7, 637, 2, 2, 1726, 1723, 3, 2, 2, 2, 1726, 1724, 3, 2, 2, 2, 1727, 135, 3, 2, 2, 2, 1728, 1729, 7, 346, 2, 2, 1729, 137, 3, 2, 2, 2, 1730, 1731, 7, 832, 2, 2, 1731, 1732, 7, 832, 2, 2, 1732, 139, 3, 2, 2, 2, 1733, 1734, 7, 10, 2, 2, 1734, 1735, 7, 20, 2, 2, 1735, 1736, 7, 229, 2, 2, 1736, 141, 3, 2, 2, 2, 1737, 1741, 5, 140, 71, 2, 1738, 1739, 5, 150, 76, 2, 1739, 1740, 5, 138, 70, 2, 1740, 1742, 3, 2, 2, 2, 1741, 1738, 3, 2, 2, 2, 1741, 1742, 3, 2, 2, 2, 1742, 1743, 3, 2, 2, 2, 1743, 1744, 5, 902, 452, 2, 1744, 1745, 5, 136, 69, 2, 1745, 1746, 5, 134, 68, 2, 1746, 143, 3, 2, 2, 2, 1747, 1751, 5, 140, 71, 2, 1748, 1749, 5, 152, 77, 2, 1749, 1750, 5, 138, 70, 2, 1750, 1752, 3, 2, 2, 2, 1751, 1748, 3, 2, 2, 2, 1751, 1752, 3, 2, 2, 2, 1752, 1753, 3, 2, 2, 2, 1753, 1754, 5, 904, 453, 2, 1754, 1755, 5, 136, 69, 2, 1755, 1756, 5, 134, 68, 2, 1756, 145, 3, 2, 2, 2, 1757, 1761, 5, 140, 71, 2, 1758, 1759, 5, 154, 78, 2, 1759, 1760, 5, 138, 70, 2, 1760, 1762, 3, 2, 2, 2, 1761, 1758, 3, 2, 2, 2, 1761, 1762, 3, 2, 2, 2, 1762, 1763, 3, 2, 2, 2, 1763, 1764, 5, 906, 454, 2, 1764, 1765, 5, 136, 69, 2, 1765, 1766, 5, 134, 68, 2, 1766, 147, 3, 2, 2, 2, 1767, 1802, 7, 625, 2, 2, 1768, 1802, 7, 405, 2, 2, 1769, 1770, 7, 18, 2, 2, 1770, 1802, 7, 172, 2, 2, 1771, 1772, 7, 415, 2, 2, 1772, 1802, 7, 146, 2, 2, 1773, 1802, 7, 43, 2, 2, 1774, 1802, 7, 68, 2, 2, 1775, 1802, 7, 769, 2, 2, 1776, 1802, 7, 84, 2, 2, 1777, 1802, 7, 109, 2, 2, 1778, 1779, 7, 521, 2, 2, 1779, 1802, 7, 430, 2, 2, 1780, 1781, 7, 521, 2, 2, 1781, 1802, 7, 740, 2, 2, 1782, 1783, 7, 592, 2, 2, 1783, 1802, 7, 769, 2, 2, 1784, 1785, 7, 679, 2, 2, 1785, 1786, 7, 310, 2, 2, 1786, 1802, 7, 422, 2, 2, 1787, 1802, 7, 289, 2, 2, 1788, 1802, 7, 696, 2, 2, 1789, 1802, 7, 302, 2, 2, 1790, 1791, 7, 706, 2, 2, 1791, 1792, 7, 656, 2, 2, 1792, 1802, 7, 563, 2, 2, 1793, 1794, 7, 309, 2, 2, 1794, 1802, 7, 289, 2, 2, 1795, 1802, 7, 310, 2, 2, 1796, 1797, 7, 747, 2, 2, 1797, 1802, 7, 172, 2, 2, 1798, 1799, 7, 789, 2, 2, 1799, 1800, 7, 302, 2, 2, 1800, 1802, 7, 437, 2, 2, 1801, 1767, 3, 2, 2, 2, 1801, 1768, 3, 2, 2, 2, 1801, 1769, 3, 2, 2, 2, 1801, 1771, 3, 2, 2, 2, 1801, 1773, 3, 2, 2, 2, 1801, 1774, 3, 2, 2, 2, 1801, 1775, 3, 2, 2, 2, 1801, 1776, 3, 2, 2, 2, 1801, 1777, 3, 2, 2, 2, 1801, 1778, 3, 2, 2, 2, 1801, 1780, 3, 2, 2, 2, 1801, 1782, 3, 2, 2, 2, 1801, 1784, 3, 2, 2, 2, 1801, 1787, 3, 2, 2, 2, 1801, 1788, 3, 2, 2, 2, 1801, 1789, 3, 2, 2, 2, 1801, 1790, 3, 2, 2, 2, 1801, 1793, 3, 2, 2, 2, 1801, 1795, 3, 2, 2, 2, 1801, 1796, 3, 2, 2, 2, 1801, 1798, 3, 2, 2, 2, 1802, 149, 3, 2, 2, 2, 1803, 1825, 7, 625, 2, 2, 1804, 1825, 7, 405, 2, 2, 1805, 1806, 7, 18, 2, 2, 1806, 1825, 7, 172, 2, 2, 1807, 1825, 7, 43, 2, 2, 1808, 1825, 7, 769, 2, 2, 1809, 1825, 7, 84, 2, 2, 1810, 1811, 7, 521, 2, 2, 1811, 1825, 7, 430, 2, 2, 1812, 1813, 7, 521, 2, 2, 1813, 1825, 7, 740, 2, 2, 1814, 1825, 7, 289, 2, 2, 1815, 1825, 7, 302, 2, 2, 1816, 1817, 7, 706, 2, 2, 1817, 1818, 7, 656, 2, 2, 1818, 1825, 7, 563, 2, 2, 1819, 1820, 7, 747, 2, 2, 1820, 1825, 7, 172, 2, 2, 1821, 1822, 7, 789, 2, 2, 1822, 1823, 7, 302, 2, 2, 1823, 1825, 7, 437, 2, 2, 1824, 1803, 3, 2, 2, 2, 1824, 1804, 3, 2, 2, 2, 1824, 1805, 3, 2, 2, 2, 1824, 1807, 3, 2, 2, 2, 1824, 1808, 3, 2, 2, 2, 1824, 1809, 3, 2, 2, 2, 1824, 1810, 3, 2, 2, 2, 1824, 1812, 3, 2, 2, 2, 1824, 1814, 3, 2, 2, 2, 1824, 1815, 3, 2, 2, 2, 1824, 1816, 3, 2, 2, 2, 1824, 1819, 3, 2, 2, 2, 1824, 1821, 3, 2, 2, 2, 1825, 151, 3, 2, 2, 2, 1826, 1827, 9, 13, 2, 2, 1827, 153, 3, 2, 2, 2, 1828, 1829, 9, 14, 2, 2, 1829, 155, 3, 2, 2, 2, 1830, 1831, 7, 103, 2, 2, 1831, 1832, 7, 415, 2, 2, 1832, 1833, 7, 146, 2, 2, 1833, 1834, 5, 966, 484, 2, 1834, 157, 3, 2, 2, 2, 1835, 1836, 5, 160, 81, 2, 1836, 1837, 5, 162, 82, 2, 1837, 159, 3, 2, 2, 2, 1838, 1839, 7, 10, 2, 2, 1839, 1840, 7, 415, 2, 2, 1840, 1841, 7, 146, 2, 2, 1841, 1842, 5, 966, 484, 2, 1842, 161, 3, 2, 2, 2, 1843, 1844, 7, 315, 2, 2, 1844, 1860, 7, 828, 2, 2, 1845, 1846, 7, 22, 2, 2, 1846, 1847, 7, 810, 2, 2, 1847, 1861, 9, 15, 2, 2, 1848, 1849, 7, 504, 2, 2, 1849, 1850, 7, 810, 2, 2, 1850, 1861, 7, 802, 2, 2, 1851, 1852, 7, 532, 2, 2, 1852, 1853, 7, 810, 2, 2, 1853, 1861, 7, 802, 2, 2, 1854, 1855, 7, 464, 2, 2, 1855, 1856, 7, 810, 2, 2, 1856, 1861, 9, 9, 2, 2, 1857, 1858, 7, 688, 2, 2, 1858, 1859, 7, 810, 2, 2, 1859, 1861, 7, 802, 2, 2, 1860, 1845, 3, 2, 2, 2, 1860, 1848, 3, 2, 2, 2, 1860, 1851, 3, 2, 2, 2, 1860, 1854, 3, 2, 2, 2, 1860, 1857, 3, 2, 2, 2, 1861, 1862, 3, 2, 2, 2, 1862, 2194, 7, 829, 2, 2, 1863, 1864, 7, 4, 2, 2, 1864, 1865, 7, 84, 2, 2, 1865, 2194, 5, 966, 484, 2, 1866, 1867, 7, 681, 2, 2, 1867, 1868, 7, 84, 2, 2, 1868, 2194, 5, 966, 484, 2, 1869, 1870, 7, 4, 2, 2, 1870, 1871, 7, 684, 2, 2, 1871, 1872, 7, 229, 2, 2, 1872, 1873, 7, 806, 2, 2, 1873, 1874, 7, 377, 2, 2, 1874, 1878, 7, 828, 2, 2, 1875, 1876, 7, 493, 2, 2, 1876, 1877, 7, 810, 2, 2, 1877, 1879, 7, 806, 2, 2, 1878, 1875, 3, 2, 2, 2, 1878, 1879, 3, 2, 2, 2, 1879, 1886, 3, 2, 2, 2, 1880, 1882, 7, 830, 2, 2, 1881, 1880, 3, 2, 2, 2, 1881, 1882, 3, 2, 2, 2, 1882, 1883, 3, 2, 2, 2, 1883, 1884, 7, 24, 2, 2, 1884, 1885, 7, 810, 2, 2, 1885, 1887, 9, 16, 2, 2, 1886, 1881, 3, 2, 2, 2, 1886, 1887, 3, 2, 2, 2, 1887, 1894, 3, 2, 2, 2, 1888, 1890, 7, 830, 2, 2, 1889, 1888, 3, 2, 2, 2, 1889, 1890, 3, 2, 2, 2, 1890, 1891, 3, 2, 2, 2, 1891, 1892, 7, 502, 2, 2, 1892, 1893, 7, 810, 2, 2, 1893, 1895, 9, 17, 2, 2, 1894, 1889, 3, 2, 2, 2, 1894, 1895, 3, 2, 2, 2, 1895, 1902, 3, 2, 2, 2, 1896, 1898, 7, 830, 2, 2, 1897, 1896, 3, 2, 2, 2, 1897, 1898, 3, 2, 2, 2, 1898, 1899, 3, 2, 2, 2, 1899, 1900, 7, 714, 2, 2, 1900, 1901, 7, 810, 2, 2, 1901, 1903, 9, 17, 2, 2, 1902, 1897, 3, 2, 2, 2, 1902, 1903, 3, 2, 2, 2, 1903, 1910, 3, 2, 2, 2, 1904, 1906, 7, 830, 2, 2, 1905, 1904, 3, 2, 2, 2, 1905, 1906, 3, 2, 2, 2, 1906, 1907, 3, 2, 2, 2, 1907, 1908, 7, 417, 2, 2, 1908, 1909, 7, 810, 2, 2, 1909, 1911, 7, 802, 2, 2, 1910, 1905, 3, 2, 2, 2, 1910, 1911, 3, 2, 2, 2, 1911, 1921, 3, 2, 2, 2, 1912, 1914, 7, 830, 2, 2, 1913, 1912, 3, 2, 2, 2, 1913, 1914, 3, 2, 2, 2, 1914, 1915, 3, 2, 2, 2, 1915, 1916, 7, 648, 2, 2, 1916, 1917, 7, 828, 2, 2, 1917, 1918, 7, 7, 2, 2, 1918, 1919, 7, 810, 2, 2, 1919, 1920, 9, 18, 2, 2, 1920, 1922, 7, 829, 2, 2, 1921, 1913, 3, 2, 2, 2, 1921, 1922, 3, 2, 2, 2, 1922, 1932, 3, 2, 2, 2, 1923, 1925, 7, 830, 2, 2, 1924, 1923, 3, 2, 2, 2, 1924, 1925, 3, 2, 2, 2, 1925, 1926, 3, 2, 2, 2, 1926, 1927, 7, 709, 2, 2, 1927, 1928, 7, 828, 2, 2, 1928, 1929, 7, 7, 2, 2, 1929, 1930, 7, 810, 2, 2, 1930, 1931, 7, 669, 2, 2, 1931, 1933, 7, 829, 2, 2, 1932, 1924, 3, 2, 2, 2, 1932, 1933, 3, 2, 2, 2, 1933, 1934, 3, 2, 2, 2, 1934, 2194, 7, 829, 2, 2, 1935, 1936, 7, 709, 2, 2, 1936, 1945, 7, 828, 2, 2, 1937, 1938, 7, 7, 2, 2, 1938, 1939, 7, 810, 2, 2, 1939, 1946, 9, 19, 2, 2, 1940, 1941, 7, 670, 2, 2, 1941, 1942, 7, 810, 2, 2, 1942, 1943, 7, 828, 2, 2, 1943, 1944, 7, 806, 2, 2, 1944, 1946, 7, 829, 2, 2, 1945, 1937, 3, 2, 2, 2, 1945, 1940, 3, 2, 2, 2, 1946, 2194, 3, 2, 2, 2, 1947, 1948, 7, 648, 2, 2, 1948, 1971, 7, 828, 2, 2, 1949, 1950, 7, 7, 2, 2, 1950, 1951, 7, 810, 2, 2, 1951, 1972, 9, 19, 2, 2, 1952, 1953, 7, 670, 2, 2, 1953, 1954, 7, 810, 2, 2, 1954, 1965, 7, 828, 2, 2, 1955, 1957, 7, 830, 2, 2, 1956, 1955, 3, 2, 2, 2, 1956, 1957, 3, 2, 2, 2, 1957, 1958, 3, 2, 2, 2, 1958, 1960, 7, 806, 2, 2, 1959, 1956, 3, 2, 2, 2, 1960, 1963, 3, 2, 2, 2, 1961, 1959, 3, 2, 2, 2, 1961, 1962, 3, 2, 2, 2, 1962, 1966, 3, 2, 2, 2, 1963, 1961, 3, 2, 2, 2, 1964, 1966, 7, 213, 2, 2, 1965, 1961, 3, 2, 2, 2, 1965, 1964, 3, 2, 2, 2, 1966, 1967, 3, 2, 2, 2, 1967, 1972, 7, 829, 2, 2, 1968, 1969, 7, 721, 2, 2, 1969, 1970, 7, 810, 2, 2, 1970, 1972, 7, 802, 2, 2, 1971, 1949, 3, 2, 2, 2, 1971, 1952, 3, 2, 2, 2, 1971, 1968, 3, 2, 2, 2, 1972, 2194, 3, 2, 2, 2, 1973, 1974, 7, 602, 2, 2, 1974, 1975, 7, 684, 2, 2, 1975, 1976, 7, 229, 2, 2, 1976, 2034, 7, 806, 2, 2, 1977, 1978, 7, 377, 2, 2, 1978, 1994, 7, 828, 2, 2, 1979, 1980, 7, 493, 2, 2, 1980, 1981, 7, 810, 2, 2, 1981, 1995, 7, 806, 2, 2, 1982, 1983, 7, 24, 2, 2, 1983, 1984, 7, 810, 2, 2, 1984, 1995, 9, 16, 2, 2, 1985, 1986, 7, 502, 2, 2, 1986, 1987, 7, 810, 2, 2, 1987, 1995, 9, 17, 2, 2, 1988, 1989, 7, 714, 2, 2, 1989, 1990, 7, 810, 2, 2, 1990, 1995, 9, 17, 2, 2, 1991, 1992, 7, 417, 2, 2, 1992, 1993, 7, 810, 2, 2, 1993, 1995, 7, 802, 2, 2, 1994, 1979, 3, 2, 2, 2, 1994, 1982, 3, 2, 2, 2, 1994, 1985, 3, 2, 2, 2, 1994, 1988, 3, 2, 2, 2, 1994, 1991, 3, 2, 2, 2, 1995, 2035, 3, 2, 2, 2, 1996, 1997, 7, 709, 2, 2, 1997, 2006, 7, 828, 2, 2, 1998, 1999, 7, 7, 2, 2, 1999, 2000, 7, 810, 2, 2, 2000, 2007, 9, 19, 2, 2, 2001, 2002, 7, 670, 2, 2, 2002, 2003, 7, 810, 2, 2, 2003, 2004, 7, 828, 2, 2, 2004, 2005, 7, 806, 2, 2, 2005, 2007, 7, 829, 2, 2, 2006, 1998, 3, 2, 2, 2, 2006, 2001, 3, 2, 2, 2, 2007, 2035, 3, 2, 2, 2, 2008, 2009, 7, 648, 2, 2, 2009, 2032, 7, 828, 2, 2, 2010, 2011, 7, 7, 2, 2, 2011, 2012, 7, 810, 2, 2, 2012, 2033, 9, 19, 2, 2, 2013, 2014, 7, 670, 2, 2, 2014, 2015, 7, 810, 2, 2, 2015, 2026, 7, 828, 2, 2, 2016, 2018, 7, 830, 2, 2, 2017, 2016, 3, 2, 2, 2, 2017, 2018, 3, 2, 2, 2, 2018, 2019, 3, 2, 2, 2, 2019, 2021, 7, 806, 2, 2, 2020, 2017, 3, 2, 2, 2, 2021, 2024, 3, 2, 2, 2, 2022, 2020, 3, 2, 2, 2, 2022, 2023, 3, 2, 2, 2, 2023, 2027, 3, 2, 2, 2, 2024, 2022, 3, 2, 2, 2, 2025, 2027, 7, 213, 2, 2, 2026, 2022, 3, 2, 2, 2, 2026, 2025, 3, 2, 2, 2, 2027, 2028, 3, 2, 2, 2, 2028, 2033, 7, 829, 2, 2, 2029, 2030, 7, 721, 2, 2, 2030, 2031, 7, 810, 2, 2, 2031, 2033, 7, 802, 2, 2, 2032, 2010, 3, 2, 2, 2, 2032, 2013, 3, 2, 2, 2, 2032, 2029, 3, 2, 2, 2, 2033, 2035, 3, 2, 2, 2, 2034, 1977, 3, 2, 2, 2, 2034, 1996, 3, 2, 2, 2, 2034, 2008, 3, 2, 2, 2, 2035, 2036, 3, 2, 2, 2, 2036, 2194, 7, 829, 2, 2, 2037, 2038, 7, 681, 2, 2, 2038, 2039, 7, 684, 2, 2, 2039, 2040, 7, 229, 2, 2, 2040, 2194, 7, 806, 2, 2, 2041, 2194, 7, 170, 2, 2, 2042, 2043, 7, 170, 2, 2, 2043, 2044, 7, 415, 2, 2, 2044, 2045, 7, 146, 2, 2, 2045, 2068, 7, 229, 2, 2, 2046, 2048, 7, 830, 2, 2, 2047, 2046, 3, 2, 2, 2, 2047, 2048, 3, 2, 2, 2, 2048, 2049, 3, 2, 2, 2, 2049, 2050, 7, 806, 2, 2, 2050, 2051, 7, 377, 2, 2, 2051, 2052, 7, 828, 2, 2, 2052, 2053, 7, 565, 2, 2, 2053, 2054, 7, 810, 2, 2, 2054, 2055, 7, 806, 2, 2, 2055, 2056, 7, 830, 2, 2, 2056, 2057, 7, 24, 2, 2, 2057, 2058, 7, 810, 2, 2, 2058, 2059, 9, 16, 2, 2, 2059, 2060, 7, 830, 2, 2, 2060, 2061, 7, 502, 2, 2, 2061, 2062, 7, 810, 2, 2, 2062, 2063, 7, 574, 2, 2, 2063, 2064, 7, 830, 2, 2, 2064, 2065, 7, 714, 2, 2, 2065, 2066, 7, 810, 2, 2, 2066, 2067, 9, 17, 2, 2, 2067, 2069, 7, 829, 2, 2, 2068, 2047, 3, 2, 2, 2, 2069, 2070, 3, 2, 2, 2, 2070, 2068, 3, 2, 2, 2, 2070, 2071, 3, 2, 2, 2, 2071, 2194, 3, 2, 2, 2, 2072, 2073, 7, 602, 2, 2, 2073, 2074, 7, 415, 2, 2, 2074, 2075, 7, 146, 2, 2, 2075, 2110, 7, 229, 2, 2, 2076, 2078, 7, 830, 2, 2, 2077, 2076, 3, 2, 2, 2, 2077, 2078, 3, 2, 2, 2, 2078, 2079, 3, 2, 2, 2, 2079, 2080, 7, 806, 2, 2, 2080, 2081, 7, 377, 2, 2, 2081, 2082, 7, 828, 2, 2, 2082, 2083, 7, 565, 2, 2, 2083, 2084, 7, 810, 2, 2, 2084, 2091, 7, 806, 2, 2, 2085, 2087, 7, 830, 2, 2, 2086, 2085, 3, 2, 2, 2, 2086, 2087, 3, 2, 2, 2, 2087, 2088, 3, 2, 2, 2, 2088, 2089, 7, 24, 2, 2, 2089, 2090, 7, 810, 2, 2, 2090, 2092, 9, 16, 2, 2, 2091, 2086, 3, 2, 2, 2, 2091, 2092, 3, 2, 2, 2, 2092, 2099, 3, 2, 2, 2, 2093, 2095, 7, 830, 2, 2, 2094, 2093, 3, 2, 2, 2, 2094, 2095, 3, 2, 2, 2, 2095, 2096, 3, 2, 2, 2, 2096, 2097, 7, 502, 2, 2, 2097, 2098, 7, 810, 2, 2, 2098, 2100, 7, 574, 2, 2, 2099, 2094, 3, 2, 2, 2, 2099, 2100, 3, 2, 2, 2, 2100, 2107, 3, 2, 2, 2, 2101, 2103, 7, 830, 2, 2, 2102, 2101, 3, 2, 2, 2, 2102, 2103, 3, 2, 2, 2, 2103, 2104, 3, 2, 2, 2, 2104, 2105, 7, 714, 2, 2, 2105, 2106, 7, 810, 2, 2, 2106, 2108, 9, 17, 2, 2, 2107, 2102, 3, 2, 2, 2, 2107, 2108, 3, 2, 2, 2, 2108, 2109, 3, 2, 2, 2, 2109, 2111, 7, 829, 2, 2, 2110, 2077, 3, 2, 2, 2, 2111, 2112, 3, 2, 2, 2, 2112, 2110, 3, 2, 2, 2, 2112, 2113, 3, 2, 2, 2, 2113, 2194, 3, 2, 2, 2, 2114, 2115, 7, 145, 2, 2, 2115, 2116, 7, 73, 2, 2, 2116, 2117, 7, 13, 2, 2, 2117, 2194, 7, 84, 2, 2, 2118, 2119, 7, 93, 2, 2, 2119, 2120, 7, 73, 2, 2, 2120, 2121, 7, 13, 2, 2, 2121, 2194, 7, 84, 2, 2, 2122, 2194, 7, 125, 2, 2, 2123, 2194, 7, 516, 2, 2, 2124, 2125, 7, 4, 2, 2, 2125, 2126, 7, 564, 2, 2, 2126, 2127, 7, 806, 2, 2, 2127, 2161, 7, 828, 2, 2, 2128, 2129, 7, 377, 2, 2, 2129, 2130, 7, 477, 2, 2, 2130, 2131, 7, 229, 2, 2, 2131, 2132, 7, 828, 2, 2, 2132, 2133, 7, 166, 2, 2, 2133, 2134, 7, 166, 2, 2, 2134, 2135, 3, 2, 2, 2, 2135, 2162, 7, 829, 2, 2, 2136, 2137, 7, 377, 2, 2, 2137, 2138, 7, 548, 2, 2, 2138, 2150, 7, 828, 2, 2, 2139, 2141, 7, 830, 2, 2, 2140, 2139, 3, 2, 2, 2, 2140, 2141, 3, 2, 2, 2, 2141, 2142, 3, 2, 2, 2, 2142, 2147, 7, 828, 2, 2, 2143, 2144, 7, 166, 2, 2, 2144, 2145, 7, 830, 2, 2, 2145, 2148, 7, 166, 2, 2, 2146, 2148, 7, 167, 2, 2, 2147, 2143, 3, 2, 2, 2, 2147, 2146, 3, 2, 2, 2, 2148, 2149, 3, 2, 2, 2, 2149, 2151, 7, 829, 2, 2, 2150, 2140, 3, 2, 2, 2, 2151, 2152, 3, 2, 2, 2, 2152, 2150, 3, 2, 2, 2, 2152, 2153, 3, 2, 2, 2, 2153, 2154, 3, 2, 2, 2, 2154, 2159, 7, 829, 2, 2, 2155, 2156, 7, 830, 2, 2, 2156, 2157, 7, 646, 2, 2, 2157, 2158, 7, 810, 2, 2, 2158, 2160, 7, 802, 2, 2, 2159, 2155, 3, 2, 2, 2, 2159, 2160, 3, 2, 2, 2, 2160, 2162, 3, 2, 2, 2, 2161, 2128, 3, 2, 2, 2, 2161, 2136, 3, 2, 2, 2, 2162, 2163, 3, 2, 2, 2, 2163, 2194, 7, 829, 2, 2, 2164, 2165, 7, 602, 2, 2, 2165, 2178, 7, 564, 2, 2, 2166, 2167, 7, 4, 2, 2, 2167, 2168, 7, 548, 2, 2, 2168, 2172, 7, 828, 2, 2, 2169, 2170, 7, 166, 2, 2, 2170, 2173, 7, 166, 2, 2, 2171, 2173, 7, 167, 2, 2, 2172, 2169, 3, 2, 2, 2, 2172, 2171, 3, 2, 2, 2, 2173, 2174, 3, 2, 2, 2, 2174, 2179, 7, 829, 2, 2, 2175, 2176, 7, 646, 2, 2, 2176, 2177, 7, 810, 2, 2, 2177, 2179, 7, 802, 2, 2, 2178, 2166, 3, 2, 2, 2, 2178, 2175, 3, 2, 2, 2, 2179, 2194, 3, 2, 2, 2, 2180, 2181, 7, 277, 2, 2, 2181, 2182, 7, 564, 2, 2, 2182, 2194, 7, 806, 2, 2, 2183, 2184, 7, 681, 2, 2, 2184, 2185, 7, 564, 2, 2, 2185, 2194, 7, 806, 2, 2, 2186, 2194, 7, 626, 2, 2, 2187, 2188, 7, 377, 2, 2, 2188, 2189, 7, 828, 2, 2, 2189, 2190, 7, 104, 2, 2, 2190, 2191, 7, 810, 2, 2, 2191, 2192, 7, 248, 2, 2, 2192, 2194, 7, 829, 2, 2, 2193, 1843, 3, 2, 2, 2, 2193, 1863, 3, 2, 2, 2, 2193, 1866, 3, 2, 2, 2, 2193, 1869, 3, 2, 2, 2, 2193, 1935, 3, 2, 2, 2, 2193, 1947, 3, 2, 2, 2, 2193, 1973, 3, 2, 2, 2, 2193, 2037, 3, 2, 2, 2, 2193, 2041, 3, 2, 2, 2, 2193, 2042, 3, 2, 2, 2, 2193, 2072, 3, 2, 2, 2, 2193, 2114, 3, 2, 2, 2, 2193, 2118, 3, 2, 2, 2, 2193, 2122, 3, 2, 2, 2, 2193, 2123, 3, 2, 2, 2, 2193, 2124, 3, 2, 2, 2, 2193, 2164, 3, 2, 2, 2, 2193, 2180, 3, 2, 2, 2, 2193, 2183, 3, 2, 2, 2, 2193, 2186, 3, 2, 2, 2, 2193, 2187, 3, 2, 2, 2, 2194, 163, 3, 2, 2, 2, 2195, 2196, 9, 20, 2, 2, 2196, 2197, 7, 424, 2, 2, 2197, 2198, 7, 650, 2, 2, 2198, 2199, 5, 966, 484, 2, 2199, 2200, 7, 133, 2, 2, 2200, 2201, 7, 70, 2, 2, 2201, 2202, 7, 315, 2, 2, 2202, 2212, 7, 828, 2, 2, 2203, 2204, 7, 69, 2, 2, 2204, 2207, 7, 810, 2, 2, 2205, 2208, 5, 966, 484, 2, 2206, 2208, 7, 13, 2, 2, 2207, 2205, 3, 2, 2, 2, 2207, 2206, 3, 2, 2, 2, 2208, 2210, 3, 2, 2, 2, 2209, 2211, 7, 830, 2, 2, 2210, 2209, 3, 2, 2, 2, 2210, 2211, 3, 2, 2, 2, 2211, 2213, 3, 2, 2, 2, 2212, 2203, 3, 2, 2, 2, 2212, 2213, 3, 2, 2, 2, 2213, 2226, 3, 2, 2, 2, 2214, 2215, 7, 186, 2, 2, 2215, 2221, 7, 810, 2, 2, 2216, 2218, 7, 102, 2, 2, 2217, 2216, 3, 2, 2, 2, 2217, 2218, 3, 2, 2, 2, 2218, 2219, 3, 2, 2, 2, 2219, 2222, 5, 966, 484, 2, 2220, 2222, 7, 13, 2, 2, 2221, 2217, 3, 2, 2, 2, 2221, 2220, 3, 2, 2, 2, 2222, 2224, 3, 2, 2, 2, 2223, 2225, 7, 830, 2, 2, 2224, 2223, 3, 2, 2, 2, 2224, 2225, 3, 2, 2, 2, 2225, 2227, 3, 2, 2, 2, 2226, 2214, 3, 2, 2, 2, 2226, 2227, 3, 2, 2, 2, 2227, 2237, 3, 2, 2, 2, 2228, 2229, 7, 680, 2, 2, 2229, 2232, 7, 810, 2, 2, 2230, 2233, 7, 806, 2, 2, 2231, 2233, 7, 13, 2, 2, 2232, 2230, 3, 2, 2, 2, 2232, 2231, 3, 2, 2, 2, 2233, 2235, 3, 2, 2, 2, 2234, 2236, 7, 830, 2, 2, 2235, 2234, 3, 2, 2, 2, 2235, 2236, 3, 2, 2, 2, 2236, 2238, 3, 2, 2, 2, 2237, 2228, 3, 2, 2, 2, 2237, 2238, 3, 2, 2, 2, 2238, 2245, 3, 2, 2, 2, 2239, 2240, 7, 651, 2, 2, 2240, 2243, 7, 810, 2, 2, 2241, 2244, 7, 802, 2, 2, 2242, 2244, 7, 89, 2, 2, 2243, 2241, 3, 2, 2, 2, 2243, 2242, 3, 2, 2, 2, 2244, 2246, 3, 2, 2, 2, 2245, 2239, 3, 2, 2, 2, 2245, 2246, 3, 2, 2, 2, 2246, 2247, 3, 2, 2, 2, 2247, 2248, 7, 829, 2, 2, 2248, 165, 3, 2, 2, 2, 2249, 2250, 7, 103, 2, 2, 2250, 2251, 7, 424, 2, 2, 2251, 2252, 7, 650, 2, 2, 2252, 2253, 5, 966, 484, 2, 2253, 167, 3, 2, 2, 2, 2254, 2255, 7, 10, 2, 2, 2255, 2256, 7, 43, 2, 2, 2256, 2296, 5, 966, 484, 2, 2257, 2258, 7, 681, 2, 2, 2258, 2297, 7, 653, 2, 2, 2259, 2260, 7, 377, 2, 2, 2260, 2261, 7, 652, 2, 2, 2261, 2262, 7, 172, 2, 2, 2262, 2285, 7, 828, 2, 2, 2263, 2264, 7, 129, 2, 2, 2264, 2265, 7, 810, 2, 2, 2265, 2267, 7, 806, 2, 2, 2266, 2268, 7, 830, 2, 2, 2267, 2266, 3, 2, 2, 2, 2267, 2268, 3, 2, 2, 2, 2268, 2286, 3, 2, 2, 2, 2269, 2270, 7, 465, 2, 2, 2270, 2271, 7, 38, 2, 2, 2271, 2272, 7, 244, 2, 2, 2272, 2273, 7, 810, 2, 2, 2273, 2275, 7, 806, 2, 2, 2274, 2276, 7, 830, 2, 2, 2275, 2274, 3, 2, 2, 2, 2275, 2276, 3, 2, 2, 2, 2276, 2286, 3, 2, 2, 2, 2277, 2278, 7, 492, 2, 2, 2278, 2279, 7, 38, 2, 2, 2279, 2280, 7, 244, 2, 2, 2280, 2281, 7, 810, 2, 2, 2281, 2283, 7, 806, 2, 2, 2282, 2284, 7, 830, 2, 2, 2283, 2282, 3, 2, 2, 2, 2283, 2284, 3, 2, 2, 2, 2284, 2286, 3, 2, 2, 2, 2285, 2263, 3, 2, 2, 2, 2285, 2269, 3, 2, 2, 2, 2285, 2277, 3, 2, 2, 2, 2286, 2287, 3, 2, 2, 2, 2287, 2285, 3, 2, 2, 2, 2287, 2288, 3, 2, 2, 2, 2288, 2289, 3, 2, 2, 2, 2289, 2297, 7, 829, 2, 2, 2290, 2291, 7, 377, 2, 2, 2291, 2292, 7, 386, 2, 2, 2292, 2293, 7, 133, 2, 2, 2293, 2294, 7, 418, 2, 2, 2294, 2295, 7, 810, 2, 2, 2295, 2297, 9, 9, 2, 2, 2296, 2257, 3, 2, 2, 2, 2296, 2259, 3, 2, 2, 2, 2296, 2290, 3, 2, 2, 2, 2297, 169, 3, 2, 2, 2, 2298, 2299, 7, 10, 2, 2, 2299, 2300, 7, 56, 2, 2, 2300, 2301, 7, 492, 2, 2, 2301, 2302, 7, 172, 2, 2, 2302, 2303, 5, 966, 484, 2, 2303, 2304, 9, 21, 2, 2, 2304, 2305, 7, 779, 2, 2, 2305, 2306, 7, 828, 2, 2, 2306, 2307, 7, 438, 2, 2, 2307, 2308, 7, 810, 2, 2, 2308, 2317, 5, 966, 484, 2, 2309, 2310, 7, 830, 2, 2, 2310, 2311, 7, 394, 2, 2, 2311, 2312, 7, 810, 2, 2, 2312, 2313, 7, 806, 2, 2, 2313, 2314, 7, 830, 2, 2, 2314, 2315, 7, 491, 2, 2, 2315, 2316, 7, 810, 2, 2, 2316, 2318, 7, 807, 2, 2, 2317, 2309, 3, 2, 2, 2, 2317, 2318, 3, 2, 2, 2, 2318, 2319, 3, 2, 2, 2, 2319, 2320, 7, 829, 2, 2, 2320, 171, 3, 2, 2, 2, 2321, 2322, 7, 73, 2, 2, 2322, 2323, 7, 56, 2, 2, 2323, 2324, 7, 492, 2, 2, 2324, 2325, 7, 172, 2, 2, 2325, 2326, 5, 966, 484, 2, 2326, 2327, 7, 377, 2, 2, 2327, 2347, 7, 367, 2, 2, 2328, 2330, 7, 828, 2, 2, 2329, 2331, 7, 830, 2, 2, 2330, 2329, 3, 2, 2, 2, 2330, 2331, 3, 2, 2, 2, 2331, 2332, 3, 2, 2, 2, 2332, 2333, 7, 438, 2, 2, 2333, 2334, 7, 810, 2, 2, 2334, 2335, 5, 966, 484, 2, 2335, 2336, 7, 830, 2, 2, 2336, 2337, 7, 394, 2, 2, 2337, 2338, 7, 810, 2, 2, 2338, 2339, 7, 806, 2, 2, 2339, 2340, 7, 830, 2, 2, 2340, 2341, 7, 491, 2, 2, 2341, 2342, 7, 810, 2, 2, 2342, 2343, 7, 807, 2, 2, 2343, 2345, 7, 829, 2, 2, 2344, 2346, 7, 830, 2, 2, 2345, 2344, 3, 2, 2, 2, 2345, 2346, 3, 2, 2, 2, 2346, 2348, 3, 2, 2, 2, 2347, 2328, 3, 2, 2, 2, 2348, 2349, 3, 2, 2, 2, 2349, 2347, 3, 2, 2, 2, 2349, 2350, 3, 2, 2, 2, 2350, 173, 3, 2, 2, 2, 2351, 2352, 7, 103, 2, 2, 2352, 2353, 7, 43, 2, 2, 2353, 2354, 5, 966, 484, 2, 2354, 175, 3, 2, 2, 2, 2355, 2356, 7, 103, 2, 2, 2356, 2357, 7, 56, 2, 2, 2357, 2358, 7, 492, 2, 2, 2358, 2359, 7, 172, 2, 2, 2359, 2360, 5, 966, 484, 2, 2360, 177, 3, 2, 2, 2, 2361, 2362, 7, 103, 2, 2, 2362, 2363, 7, 56, 2, 2, 2363, 2364, 7, 189, 2, 2, 2364, 2365, 7, 172, 2, 2, 2365, 2366, 5, 966, 484, 2, 2366, 179, 3, 2, 2, 2, 2367, 2368, 7, 103, 2, 2, 2368, 2369, 7, 68, 2, 2, 2369, 2370, 5, 966, 484, 2, 2370, 181, 3, 2, 2, 2, 2371, 2372, 7, 103, 2, 2, 2372, 2373, 7, 452, 2, 2, 2373, 2374, 5, 966, 484, 2, 2374, 183, 3, 2, 2, 2, 2375, 2376, 7, 103, 2, 2, 2376, 2377, 7, 453, 2, 2, 2377, 2378, 7, 657, 2, 2, 2378, 2379, 5, 966, 484, 2, 2379, 185, 3, 2, 2, 2, 2380, 2381, 7, 103, 2, 2, 2381, 2384, 7, 84, 2, 2, 2382, 2383, 7, 153, 2, 2, 2383, 2385, 7, 119, 2, 2, 2384, 2382, 3, 2, 2, 2, 2384, 2385, 3, 2, 2, 2, 2385, 2390, 3, 2, 2, 2, 2386, 2388, 7, 830, 2, 2, 2387, 2386, 3, 2, 2, 2, 2387, 2388, 3, 2, 2, 2, 2388, 2389, 3, 2, 2, 2, 2389, 2391, 5, 966, 484, 2, 2390, 2387, 3, 2, 2, 2, 2391, 2392, 3, 2, 2, 2, 2392, 2390, 3, 2, 2, 2, 2392, 2393, 3, 2, 2, 2, 2393, 187, 3, 2, 2, 2, 2394, 2395, 7, 103, 2, 2, 2395, 2396, 7, 84, 2, 2, 2396, 2397, 7, 406, 2, 2, 2397, 2398, 7, 323, 2, 2, 2398, 2399, 5, 966, 484, 2, 2399, 189, 3, 2, 2, 2, 2400, 2401, 7, 103, 2, 2, 2401, 2402, 7, 84, 2, 2, 2402, 2403, 7, 703, 2, 2, 2403, 2404, 7, 452, 2, 2, 2404, 2405, 5, 966, 484, 2, 2405, 191, 3, 2, 2, 2, 2406, 2407, 7, 103, 2, 2, 2407, 2410, 7, 89, 2, 2, 2408, 2409, 7, 153, 2, 2, 2409, 2411, 7, 119, 2, 2, 2410, 2408, 3, 2, 2, 2, 2410, 2411, 3, 2, 2, 2, 2411, 2413, 3, 2, 2, 2, 2412, 2414, 7, 830, 2, 2, 2413, 2412, 3, 2, 2, 2, 2413, 2414, 3, 2, 2, 2, 2414, 2418, 3, 2, 2, 2, 2415, 2416, 5, 966, 484, 2, 2416, 2417, 7, 823, 2, 2, 2417, 2419, 3, 2, 2, 2, 2418, 2415, 3, 2, 2, 2, 2418, 2419, 3, 2, 2, 2, 2419, 2420, 3, 2, 2, 2, 2420, 2421, 5, 966, 484, 2, 2421, 193, 3, 2, 2, 2, 2422, 2423, 7, 103, 2, 2, 2423, 2424, 7, 109, 2, 2, 2424, 2425, 5, 966, 484, 2, 2425, 195, 3, 2, 2, 2, 2426, 2427, 7, 103, 2, 2, 2427, 2428, 7, 123, 2, 2, 2428, 2429, 7, 456, 2, 2, 2429, 2430, 7, 322, 2, 2, 2430, 2431, 5, 966, 484, 2, 2431, 197, 3, 2, 2, 2, 2432, 2433, 7, 103, 2, 2, 2433, 2434, 7, 123, 2, 2, 2434, 2435, 7, 129, 2, 2, 2435, 2436, 7, 518, 2, 2, 2436, 2437, 5, 966, 484, 2, 2437, 199, 3, 2, 2, 2, 2438, 2439, 7, 103, 2, 2, 2439, 2440, 7, 123, 2, 2, 2440, 2441, 7, 178, 2, 2, 2441, 2444, 5, 966, 484, 2, 2442, 2443, 7, 20, 2, 2, 2443, 2445, 5, 966, 484, 2, 2444, 2442, 3, 2, 2, 2, 2444, 2445, 3, 2, 2, 2, 2445, 201, 3, 2, 2, 2, 2446, 2447, 7, 103, 2, 2, 2447, 2448, 7, 123, 2, 2, 2448, 2449, 7, 690, 2, 2, 2449, 2450, 7, 645, 2, 2, 2450, 2451, 5, 966, 484, 2, 2451, 203, 3, 2, 2, 2, 2452, 2453, 7, 103, 2, 2, 2453, 2454, 7, 123, 2, 2, 2454, 2458, 7, 339, 2, 2, 2455, 2456, 5, 966, 484, 2, 2456, 2457, 7, 823, 2, 2, 2457, 2459, 3, 2, 2, 2, 2458, 2455, 3, 2, 2, 2, 2458, 2459, 3, 2, 2, 2, 2459, 2463, 3, 2, 2, 2, 2460, 2461, 5, 966, 484, 2, 2461, 2462, 7, 823, 2, 2, 2462, 2464, 3, 2, 2, 2, 2463, 2460, 3, 2, 2, 2, 2463, 2464, 3, 2, 2, 2, 2464, 2465, 3, 2, 2, 2, 2465, 2466, 5, 966, 484, 2, 2466, 205, 3, 2, 2, 2, 2467, 2468, 7, 103, 2, 2, 2468, 2469, 7, 113, 2, 2, 2469, 2474, 7, 221, 2, 2, 2470, 2472, 7, 830, 2, 2, 2471, 2470, 3, 2, 2, 2, 2471, 2472, 3, 2, 2, 2, 2472, 2473, 3, 2, 2, 2, 2473, 2475, 5, 966, 484, 2, 2474, 2471, 3, 2, 2, 2, 2475, 2476, 3, 2, 2, 2, 2476, 2474, 3, 2, 2, 2, 2476, 2477, 3, 2, 2, 2, 2477, 2478, 3, 2, 2, 2, 2478, 2483, 7, 229, 2, 2, 2479, 2484, 7, 309, 2, 2, 2480, 2484, 7, 84, 2, 2, 2481, 2482, 7, 660, 2, 2, 2482, 2484, 5, 966, 484, 2, 2483, 2479, 3, 2, 2, 2, 2483, 2480, 3, 2, 2, 2, 2483, 2481, 3, 2, 2, 2, 2484, 207, 3, 2, 2, 2, 2485, 2486, 7, 103, 2, 2, 2486, 2487, 7, 113, 2, 2, 2487, 2488, 7, 313, 2, 2, 2488, 2489, 5, 966, 484, 2, 2489, 2490, 7, 229, 2, 2, 2490, 2491, 7, 309, 2, 2, 2491, 209, 3, 2, 2, 2, 2492, 2493, 7, 103, 2, 2, 2493, 2494, 7, 521, 2, 2, 2494, 2495, 7, 430, 2, 2, 2495, 2496, 5, 966, 484, 2, 2496, 211, 3, 2, 2, 2, 2497, 2498, 7, 103, 2, 2, 2498, 2499, 7, 521, 2, 2, 2499, 2500, 7, 158, 2, 2, 2500, 2504, 7, 229, 2, 2, 2501, 2502, 5, 966, 484, 2, 2502, 2503, 7, 823, 2, 2, 2503, 2505, 3, 2, 2, 2, 2504, 2501, 3, 2, 2, 2, 2504, 2505, 3, 2, 2, 2, 2505, 2506, 3, 2, 2, 2, 2506, 2507, 5, 966, 484, 2, 2507, 213, 3, 2, 2, 2, 2508, 2509, 7, 103, 2, 2, 2509, 2510, 7, 521, 2, 2, 2510, 2511, 7, 740, 2, 2, 2511, 2512, 5, 966, 484, 2, 2512, 215, 3, 2, 2, 2, 2513, 2514, 7, 103, 2, 2, 2514, 2515, 7, 571, 2, 2, 2515, 2516, 5, 966, 484, 2, 2516, 217, 3, 2, 2, 2, 2517, 2518, 7, 103, 2, 2, 2518, 2519, 7, 189, 2, 2, 2519, 2520, 7, 172, 2, 2, 2520, 219, 3, 2, 2, 2, 2521, 2522, 7, 103, 2, 2, 2522, 2523, 7, 592, 2, 2, 2523, 2524, 7, 769, 2, 2, 2524, 2525, 5, 966, 484, 2, 2525, 221, 3, 2, 2, 2, 2526, 2527, 7, 103, 2, 2, 2527, 2528, 7, 640, 2, 2, 2528, 2529, 7, 141, 2, 2, 2529, 2530, 5, 966, 484, 2, 2530, 223, 3, 2, 2, 2, 2531, 2532, 7, 103, 2, 2, 2532, 2533, 7, 640, 2, 2, 2533, 2534, 7, 303, 2, 2, 2534, 2535, 5, 966, 484, 2, 2535, 225, 3, 2, 2, 2, 2536, 2537, 7, 103, 2, 2, 2537, 2541, 7, 660, 2, 2, 2538, 2539, 5, 966, 484, 2, 2539, 2540, 7, 823, 2, 2, 2540, 2542, 3, 2, 2, 2, 2541, 2538, 3, 2, 2, 2, 2541, 2542, 3, 2, 2, 2, 2542, 2546, 3, 2, 2, 2, 2543, 2544, 5, 966, 484, 2, 2544, 2545, 7, 823, 2, 2, 2545, 2547, 3, 2, 2, 2, 2546, 2543, 3, 2, 2, 2, 2546, 2547, 3, 2, 2, 2, 2547, 2548, 3, 2, 2, 2, 2548, 2549, 5, 966, 484, 2, 2549, 227, 3, 2, 2, 2, 2550, 2551, 7, 103, 2, 2, 2551, 2552, 7, 679, 2, 2, 2552, 2553, 7, 310, 2, 2, 2553, 2554, 7, 422, 2, 2, 2554, 2555, 5, 966, 484, 2, 2555, 229, 3, 2, 2, 2, 2556, 2557, 7, 103, 2, 2, 2557, 2558, 7, 690, 2, 2, 2558, 2559, 7, 645, 2, 2, 2559, 2560, 5, 966, 484, 2, 2560, 231, 3, 2, 2, 2, 2561, 2562, 7, 103, 2, 2, 2562, 2565, 7, 289, 2, 2, 2563, 2564, 7, 153, 2, 2, 2564, 2566, 7, 119, 2, 2, 2565, 2563, 3, 2, 2, 2, 2565, 2566, 3, 2, 2, 2, 2566, 2567, 3, 2, 2, 2, 2567, 2568, 5, 966, 484, 2, 2568, 233, 3, 2, 2, 2, 2569, 2570, 7, 103, 2, 2, 2570, 2571, 7, 696, 2, 2, 2571, 2572, 5, 966, 484, 2, 2572, 235, 3, 2, 2, 2, 2573, 2574, 7, 103, 2, 2, 2574, 2577, 7, 298, 2, 2, 2575, 2576, 7, 153, 2, 2, 2576, 2578, 7, 119, 2, 2, 2577, 2575, 3, 2, 2, 2, 2577, 2578, 3, 2, 2, 2, 2578, 2588, 3, 2, 2, 2, 2579, 2581, 7, 830, 2, 2, 2580, 2579, 3, 2, 2, 2, 2580, 2581, 3, 2, 2, 2, 2581, 2585, 3, 2, 2, 2, 2582, 2583, 5, 966, 484, 2, 2583, 2584, 7, 823, 2, 2, 2584, 2586, 3, 2, 2, 2, 2585, 2582, 3, 2, 2, 2, 2585, 2586, 3, 2, 2, 2, 2586, 2587, 3, 2, 2, 2, 2587, 2589, 5, 966, 484, 2, 2588, 2580, 3, 2, 2, 2, 2588, 2589, 3, 2, 2, 2, 2589, 237, 3, 2, 2, 2, 2590, 2591, 7, 103, 2, 2, 2591, 2594, 7, 302, 2, 2, 2592, 2593, 7, 153, 2, 2, 2593, 2595, 7, 119, 2, 2, 2594, 2592, 3, 2, 2, 2, 2594, 2595, 3, 2, 2, 2, 2595, 2596, 3, 2, 2, 2, 2596, 2597, 5, 966, 484, 2, 2597, 239, 3, 2, 2, 2, 2598, 2599, 7, 103, 2, 2, 2599, 2600, 7, 706, 2, 2, 2600, 2601, 7, 656, 2, 2, 2601, 2602, 7, 563, 2, 2, 2602, 2603, 5, 966, 484, 2, 2603, 241, 3, 2, 2, 2, 2604, 2605, 7, 103, 2, 2, 2605, 2606, 7, 712, 2, 2, 2606, 2609, 7, 253, 2, 2, 2607, 2608, 7, 153, 2, 2, 2608, 2610, 7, 119, 2, 2, 2609, 2607, 3, 2, 2, 2, 2609, 2610, 3, 2, 2, 2, 2610, 2614, 3, 2, 2, 2, 2611, 2612, 5, 966, 484, 2, 2612, 2613, 7, 823, 2, 2, 2613, 2615, 3, 2, 2, 2, 2614, 2611, 3, 2, 2, 2, 2614, 2615, 3, 2, 2, 2, 2615, 2616, 3, 2, 2, 2, 2616, 2617, 5, 966, 484, 2, 2617, 243, 3, 2, 2, 2, 2618, 2619, 7, 103, 2, 2, 2619, 2622, 7, 719, 2, 2, 2620, 2621, 7, 153, 2, 2, 2621, 2623, 7, 119, 2, 2, 2622, 2620, 3, 2, 2, 2, 2622, 2623, 3, 2, 2, 2, 2623, 2638, 3, 2, 2, 2, 2624, 2626, 7, 830, 2, 2, 2625, 2624, 3, 2, 2, 2, 2625, 2626, 3, 2, 2, 2, 2626, 2630, 3, 2, 2, 2, 2627, 2628, 5, 966, 484, 2, 2628, 2629, 7, 823, 2, 2, 2629, 2631, 3, 2, 2, 2, 2630, 2627, 3, 2, 2, 2, 2630, 2631, 3, 2, 2, 2, 2631, 2635, 3, 2, 2, 2, 2632, 2633, 5, 966, 484, 2, 2633, 2634, 7, 823, 2, 2, 2634, 2636, 3, 2, 2, 2, 2635, 2632, 3, 2, 2, 2, 2635, 2636, 3, 2, 2, 2, 2636, 2637, 3, 2, 2, 2, 2637, 2639, 5, 966, 484, 2, 2638, 2625, 3, 2, 2, 2, 2638, 2639, 3, 2, 2, 2, 2639, 245, 3, 2, 2, 2, 2640, 2641, 7, 103, 2, 2, 2641, 2642, 7, 309, 2, 2, 2642, 2643, 7, 406, 2, 2, 2643, 2644, 5, 966, 484, 2, 2644, 247, 3, 2, 2, 2, 2645, 2646, 7, 103, 2, 2, 2646, 2647, 7, 309, 2, 2, 2647, 2648, 7, 406, 2, 2, 2648, 2649, 7, 323, 2, 2, 2649, 2650, 5, 966, 484, 2, 2650, 249, 3, 2, 2, 2, 2651, 2652, 7, 103, 2, 2, 2652, 2653, 7, 309, 2, 2, 2653, 2654, 7, 289, 2, 2, 2654, 2655, 5, 966, 484, 2, 2655, 251, 3, 2, 2, 2, 2656, 2657, 7, 103, 2, 2, 2657, 2658, 7, 310, 2, 2, 2658, 2659, 5, 966, 484, 2, 2659, 253, 3, 2, 2, 2, 2660, 2662, 7, 103, 2, 2, 2661, 2663, 7, 448, 2, 2, 2662, 2661, 3, 2, 2, 2, 2662, 2663, 3, 2, 2, 2, 2663, 2664, 3, 2, 2, 2, 2664, 2665, 7, 725, 2, 2, 2665, 2669, 7, 139, 2, 2, 2666, 2667, 5, 966, 484, 2, 2667, 2668, 7, 823, 2, 2, 2668, 2670, 3, 2, 2, 2, 2669, 2666, 3, 2, 2, 2, 2669, 2670, 3, 2, 2, 2, 2670, 2671, 3, 2, 2, 2, 2671, 2672, 5, 966, 484, 2, 2672, 2684, 7, 38, 2, 2, 2673, 2675, 7, 830, 2, 2, 2674, 2673, 3, 2, 2, 2, 2674, 2675, 3, 2, 2, 2, 2675, 2676, 3, 2, 2, 2, 2676, 2677, 7, 43, 2, 2, 2677, 2685, 5, 966, 484, 2, 2678, 2680, 7, 830, 2, 2, 2679, 2678, 3, 2, 2, 2, 2679, 2680, 3, 2, 2, 2, 2680, 2681, 3, 2, 2, 2, 2681, 2682, 7, 18, 2, 2, 2682, 2683, 7, 172, 2, 2, 2683, 2685, 5, 966, 484, 2, 2684, 2674, 3, 2, 2, 2, 2684, 2679, 3, 2, 2, 2, 2685, 2686, 3, 2, 2, 2, 2686, 2684, 3, 2, 2, 2, 2686, 2687, 3, 2, 2, 2, 2687, 255, 3, 2, 2, 2, 2688, 2689, 7, 103, 2, 2, 2689, 2693, 7, 328, 2, 2, 2690, 2691, 5, 966, 484, 2, 2691, 2692, 7, 823, 2, 2, 2692, 2694, 3, 2, 2, 2, 2693, 2690, 3, 2, 2, 2, 2693, 2694, 3, 2, 2, 2, 2694, 2695, 3, 2, 2, 2, 2695, 2696, 5, 966, 484, 2, 2696, 2697, 7, 823, 2, 2, 2697, 2698, 5, 966, 484, 2, 2698, 257, 3, 2, 2, 2, 2699, 2700, 7, 103, 2, 2, 2700, 2701, 7, 747, 2, 2, 2701, 2702, 7, 172, 2, 2, 2702, 2706, 5, 966, 484, 2, 2703, 2704, 7, 681, 2, 2, 2704, 2705, 7, 657, 2, 2, 2705, 2707, 7, 172, 2, 2, 2706, 2703, 3, 2, 2, 2, 2706, 2707, 3, 2, 2, 2, 2707, 259, 3, 2, 2, 2, 2708, 2709, 7, 103, 2, 2, 2709, 2712, 7, 749, 2, 2, 2710, 2711, 7, 153, 2, 2, 2711, 2713, 7, 119, 2, 2, 2712, 2710, 3, 2, 2, 2, 2712, 2713, 3, 2, 2, 2, 2713, 2717, 3, 2, 2, 2, 2714, 2715, 5, 966, 484, 2, 2715, 2716, 7, 823, 2, 2, 2716, 2718, 3, 2, 2, 2, 2717, 2714, 3, 2, 2, 2, 2717, 2718, 3, 2, 2, 2, 2718, 2719, 3, 2, 2, 2, 2719, 2720, 5, 966, 484, 2, 2720, 261, 3, 2, 2, 2, 2721, 2722, 7, 103, 2, 2, 2722, 2725, 7, 366, 2, 2, 2723, 2724, 7, 153, 2, 2, 2724, 2726, 7, 119, 2, 2, 2725, 2723, 3, 2, 2, 2, 2725, 2726, 3, 2, 2, 2, 2726, 2727, 3, 2, 2, 2, 2727, 2728, 5, 966, 484, 2, 2728, 263, 3, 2, 2, 2, 2729, 2730, 7, 103, 2, 2, 2730, 2731, 7, 788, 2, 2, 2731, 2732, 7, 146, 2, 2, 2732, 2733, 5, 966, 484, 2, 2733, 265, 3, 2, 2, 2, 2734, 2735, 7, 103, 2, 2, 2735, 2736, 7, 789, 2, 2, 2736, 2737, 7, 302, 2, 2, 2737, 2741, 7, 437, 2, 2, 2738, 2739, 5, 966, 484, 2, 2739, 2740, 7, 823, 2, 2, 2740, 2742, 3, 2, 2, 2, 2741, 2738, 3, 2, 2, 2, 2741, 2742, 3, 2, 2, 2, 2742, 2743, 3, 2, 2, 2, 2743, 2744, 5, 966, 484, 2, 2744, 267, 3, 2, 2, 2, 2745, 2746, 7, 480, 2, 2, 2746, 2761, 7, 352, 2, 2, 2747, 2749, 7, 830, 2, 2, 2748, 2747, 3, 2, 2, 2, 2748, 2749, 3, 2, 2, 2, 2749, 2753, 3, 2, 2, 2, 2750, 2751, 5, 966, 484, 2, 2751, 2752, 7, 823, 2, 2, 2752, 2754, 3, 2, 2, 2, 2753, 2750, 3, 2, 2, 2, 2753, 2754, 3, 2, 2, 2, 2754, 2755, 3, 2, 2, 2, 2755, 2757, 5, 966, 484, 2, 2756, 2748, 3, 2, 2, 2, 2757, 2758, 3, 2, 2, 2, 2758, 2756, 3, 2, 2, 2, 2758, 2759, 3, 2, 2, 2, 2759, 2762, 3, 2, 2, 2, 2760, 2762, 7, 6, 2, 2, 2761, 2756, 3, 2, 2, 2, 2761, 2760, 3, 2, 2, 2, 2762, 2763, 3, 2, 2, 2, 2763, 2773, 7, 229, 2, 2, 2764, 2765, 5, 966, 484, 2, 2765, 2766, 7, 823, 2, 2, 2766, 2768, 3, 2, 2, 2, 2767, 2764, 3, 2, 2, 2, 2767, 2768, 3, 2, 2, 2, 2768, 2769, 3, 2, 2, 2, 2769, 2774, 5, 966, 484, 2, 2770, 2774, 7, 84, 2, 2, 2771, 2772, 7, 6, 2, 2, 2772, 2774, 7, 309, 2, 2, 2773, 2767, 3, 2, 2, 2, 2773, 2770, 3, 2, 2, 2, 2773, 2771, 3, 2, 2, 2, 2774, 269, 3, 2, 2, 2, 2775, 2776, 7, 489, 2, 2, 2776, 2791, 7, 352, 2, 2, 2777, 2779, 7, 830, 2, 2, 2778, 2777, 3, 2, 2, 2, 2778, 2779, 3, 2, 2, 2, 2779, 2783, 3, 2, 2, 2, 2780, 2781, 5, 966, 484, 2, 2781, 2782, 7, 823, 2, 2, 2782, 2784, 3, 2, 2, 2, 2783, 2780, 3, 2, 2, 2, 2783, 2784, 3, 2, 2, 2, 2784, 2785, 3, 2, 2, 2, 2785, 2787, 5, 966, 484, 2, 2786, 2778, 3, 2, 2, 2, 2787, 2788, 3, 2, 2, 2, 2788, 2786, 3, 2, 2, 2, 2788, 2789, 3, 2, 2, 2, 2789, 2792, 3, 2, 2, 2, 2790, 2792, 7, 6, 2, 2, 2791, 2786, 3, 2, 2, 2, 2791, 2790, 3, 2, 2, 2, 2792, 2793, 3, 2, 2, 2, 2793, 2803, 7, 229, 2, 2, 2794, 2795, 5, 966, 484, 2, 2795, 2796, 7, 823, 2, 2, 2796, 2798, 3, 2, 2, 2, 2797, 2794, 3, 2, 2, 2, 2797, 2798, 3, 2, 2, 2, 2798, 2799, 3, 2, 2, 2, 2799, 2804, 5, 966, 484, 2, 2800, 2804, 7, 84, 2, 2, 2801, 2802, 7, 6, 2, 2, 2802, 2804, 7, 309, 2, 2, 2803, 2797, 3, 2, 2, 2, 2803, 2800, 3, 2, 2, 2, 2803, 2801, 3, 2, 2, 2, 2804, 271, 3, 2, 2, 2, 2805, 2806, 7, 569, 2, 2, 2806, 2807, 7, 339, 2, 2, 2807, 2808, 5, 910, 456, 2, 2808, 2809, 7, 155, 2, 2, 2809, 2810, 9, 22, 2, 2, 2810, 2814, 7, 601, 2, 2, 2811, 2812, 7, 784, 2, 2, 2812, 2815, 7, 802, 2, 2, 2813, 2815, 7, 620, 2, 2, 2814, 2811, 3, 2, 2, 2, 2814, 2813, 3, 2, 2, 2, 2814, 2815, 3, 2, 2, 2, 2815, 2817, 3, 2, 2, 2, 2816, 2818, 7, 831, 2, 2, 2817, 2816, 3, 2, 2, 2, 2817, 2818, 3, 2, 2, 2, 2818, 273, 3, 2, 2, 2, 2819, 2820, 7, 353, 2, 2, 2820, 2821, 7, 339, 2, 2, 2821, 2841, 5, 910, 456, 2, 2822, 2823, 7, 377, 2, 2, 2823, 2824, 7, 828, 2, 2, 2824, 2825, 7, 641, 2, 2, 2825, 2835, 7, 828, 2, 2, 2826, 2828, 7, 830, 2, 2, 2827, 2826, 3, 2, 2, 2, 2827, 2828, 3, 2, 2, 2, 2828, 2833, 3, 2, 2, 2, 2829, 2834, 7, 802, 2, 2, 2830, 2831, 7, 802, 2, 2, 2831, 2832, 7, 346, 2, 2, 2832, 2834, 7, 802, 2, 2, 2833, 2829, 3, 2, 2, 2, 2833, 2830, 3, 2, 2, 2, 2834, 2836, 3, 2, 2, 2, 2835, 2827, 3, 2, 2, 2, 2836, 2837, 3, 2, 2, 2, 2837, 2835, 3, 2, 2, 2, 2837, 2838, 3, 2, 2, 2, 2838, 2839, 3, 2, 2, 2, 2839, 2840, 7, 829, 2, 2, 2840, 2842, 7, 829, 2, 2, 2841, 2822, 3, 2, 2, 2, 2841, 2842, 3, 2, 2, 2, 2842, 275, 3, 2, 2, 2, 2843, 2844, 7, 73, 2, 2, 2844, 2845, 7, 56, 2, 2, 2845, 2846, 7, 189, 2, 2, 2846, 2847, 7, 172, 2, 2, 2847, 2848, 5, 966, 484, 2, 2848, 2849, 7, 377, 2, 2, 2849, 2850, 7, 828, 2, 2, 2850, 2851, 7, 174, 2, 2, 2851, 2852, 7, 810, 2, 2, 2852, 2853, 7, 806, 2, 2, 2853, 2854, 7, 830, 2, 2, 2854, 2855, 7, 173, 2, 2, 2855, 2856, 7, 810, 2, 2, 2856, 2857, 7, 806, 2, 2, 2857, 2858, 7, 829, 2, 2, 2858, 277, 3, 2, 2, 2, 2859, 2860, 7, 10, 2, 2, 2860, 2861, 7, 452, 2, 2, 2861, 2862, 5, 966, 484, 2, 2862, 2863, 7, 377, 2, 2, 2863, 2864, 7, 150, 2, 2, 2864, 2865, 7, 810, 2, 2, 2865, 2870, 7, 806, 2, 2, 2866, 2867, 7, 830, 2, 2, 2867, 2868, 7, 711, 2, 2, 2868, 2869, 7, 810, 2, 2, 2869, 2871, 7, 806, 2, 2, 2870, 2866, 3, 2, 2, 2, 2870, 2871, 3, 2, 2, 2, 2871, 279, 3, 2, 2, 2, 2872, 2873, 7, 73, 2, 2, 2873, 2874, 7, 452, 2, 2, 2874, 2875, 5, 966, 484, 2, 2875, 2876, 7, 377, 2, 2, 2876, 2877, 7, 150, 2, 2, 2877, 2878, 7, 810, 2, 2, 2878, 2883, 7, 806, 2, 2, 2879, 2880, 7, 830, 2, 2, 2880, 2881, 7, 711, 2, 2, 2881, 2882, 7, 810, 2, 2, 2882, 2884, 7, 806, 2, 2, 2883, 2879, 3, 2, 2, 2, 2883, 2884, 3, 2, 2, 2, 2884, 2889, 3, 2, 2, 2, 2885, 2886, 7, 133, 2, 2, 2886, 2887, 7, 453, 2, 2, 2887, 2888, 7, 657, 2, 2, 2888, 2890, 5, 966, 484, 2, 2889, 2885, 3, 2, 2, 2, 2889, 2890, 3, 2, 2, 2, 2890, 281, 3, 2, 2, 2, 2891, 2892, 7, 10, 2, 2, 2892, 2893, 7, 453, 2, 2, 2893, 2894, 7, 657, 2, 2, 2894, 2899, 5, 966, 484, 2, 2895, 2896, 7, 139, 2, 2, 2896, 2897, 7, 129, 2, 2, 2897, 2898, 7, 810, 2, 2, 2898, 2900, 7, 806, 2, 2, 2899, 2895, 3, 2, 2, 2, 2899, 2900, 3, 2, 2, 2, 2900, 2902, 3, 2, 2, 2, 2901, 2903, 9, 23, 2, 2, 2902, 2901, 3, 2, 2, 2, 2902, 2903, 3, 2, 2, 2, 2903, 283, 3, 2, 2, 2, 2904, 2905, 7, 73, 2, 2, 2905, 2906, 7, 453, 2, 2, 2906, 2907, 7, 657, 2, 2, 2907, 2908, 5, 966, 484, 2, 2908, 2909, 7, 139, 2, 2, 2909, 2910, 7, 129, 2, 2, 2910, 2911, 7, 810, 2, 2, 2911, 2912, 7, 806, 2, 2, 2912, 285, 3, 2, 2, 2, 2913, 2914, 7, 73, 2, 2, 2914, 2915, 7, 113, 2, 2, 2915, 2916, 7, 221, 2, 2, 2916, 2917, 5, 966, 484, 2, 2917, 2922, 7, 229, 2, 2, 2918, 2923, 7, 309, 2, 2, 2919, 2923, 7, 84, 2, 2, 2920, 2921, 7, 660, 2, 2, 2921, 2923, 5, 966, 484, 2, 2922, 2918, 3, 2, 2, 2, 2922, 2919, 3, 2, 2, 2, 2922, 2920, 3, 2, 2, 2, 2923, 2926, 3, 2, 2, 2, 2924, 2925, 7, 377, 2, 2, 2925, 2927, 7, 127, 2, 2, 2926, 2924, 3, 2, 2, 2, 2926, 2927, 3, 2, 2, 2, 2927, 2928, 3, 2, 2, 2, 2928, 2933, 7, 133, 2, 2, 2929, 2931, 7, 830, 2, 2, 2930, 2929, 3, 2, 2, 2, 2930, 2931, 3, 2, 2, 2, 2931, 2932, 3, 2, 2, 2, 2932, 2934, 5, 966, 484, 2, 2933, 2930, 3, 2, 2, 2, 2934, 2935, 3, 2, 2, 2, 2935, 2933, 3, 2, 2, 2, 2935, 2936, 3, 2, 2, 2, 2936, 2937, 3, 2, 2, 2, 2937, 2938, 7, 346, 2, 2, 2938, 2939, 7, 310, 2, 2, 2939, 2940, 7, 806, 2, 2, 2940, 2941, 7, 830, 2, 2, 2941, 2942, 7, 806, 2, 2, 2942, 287, 3, 2, 2, 2, 2943, 2944, 9, 20, 2, 2, 2944, 2945, 7, 113, 2, 2, 2945, 2946, 7, 313, 2, 2, 2946, 2947, 5, 966, 484, 2, 2947, 2948, 7, 229, 2, 2, 2948, 3016, 7, 309, 2, 2, 2949, 2951, 7, 830, 2, 2, 2950, 2949, 3, 2, 2, 2, 2950, 2951, 3, 2, 2, 2, 2951, 2952, 3, 2, 2, 2, 2952, 2953, 7, 4, 2, 2, 2953, 2957, 7, 113, 2, 2, 2954, 2955, 5, 966, 484, 2, 2955, 2956, 7, 823, 2, 2, 2956, 2958, 3, 2, 2, 2, 2957, 2954, 3, 2, 2, 2, 2957, 2958, 3, 2, 2, 2, 2958, 2959, 3, 2, 2, 2, 2959, 2960, 5, 966, 484, 2, 2960, 2961, 7, 823, 2, 2, 2961, 2962, 5, 966, 484, 2, 2962, 3011, 3, 2, 2, 2, 2963, 2977, 7, 828, 2, 2, 2964, 2974, 7, 315, 2, 2, 2965, 2967, 7, 830, 2, 2, 2966, 2965, 3, 2, 2, 2, 2966, 2967, 3, 2, 2, 2, 2967, 2968, 3, 2, 2, 2, 2968, 2969, 5, 966, 484, 2, 2969, 2970, 7, 810, 2, 2, 2970, 2971, 9, 24, 2, 2, 2971, 2973, 3, 2, 2, 2, 2972, 2966, 3, 2, 2, 2, 2973, 2976, 3, 2, 2, 2, 2974, 2972, 3, 2, 2, 2, 2974, 2975, 3, 2, 2, 2, 2975, 2978, 3, 2, 2, 2, 2976, 2974, 3, 2, 2, 2, 2977, 2964, 3, 2, 2, 2, 2977, 2978, 3, 2, 2, 2, 2978, 2999, 3, 2, 2, 2, 2979, 2980, 7, 384, 2, 2, 2980, 2993, 7, 828, 2, 2, 2981, 2983, 7, 830, 2, 2, 2982, 2981, 3, 2, 2, 2, 2982, 2983, 3, 2, 2, 2, 2983, 2987, 3, 2, 2, 2, 2984, 2985, 5, 966, 484, 2, 2985, 2986, 7, 823, 2, 2, 2986, 2988, 3, 2, 2, 2, 2987, 2984, 3, 2, 2, 2, 2987, 2988, 3, 2, 2, 2, 2988, 2989, 3, 2, 2, 2, 2989, 2990, 5, 966, 484, 2, 2990, 2991, 7, 823, 2, 2, 2991, 2992, 5, 966, 484, 2, 2992, 2994, 3, 2, 2, 2, 2993, 2982, 3, 2, 2, 2, 2994, 2995, 3, 2, 2, 2, 2995, 2993, 3, 2, 2, 2, 2995, 2996, 3, 2, 2, 2, 2996, 2997, 3, 2, 2, 2, 2997, 2998, 7, 829, 2, 2, 2998, 3000, 3, 2, 2, 2, 2999, 2979, 3, 2, 2, 2, 3000, 3001, 3, 2, 2, 2, 3001, 2999, 3, 2, 2, 2, 3001, 3002, 3, 2, 2, 2, 3002, 3005, 3, 2, 2, 2, 3003, 3004, 7, 374, 2, 2, 3004, 3006, 5, 290, 146, 2, 3005, 3003, 3, 2, 2, 2, 3005, 3006, 3, 2, 2, 2, 3006, 3007, 3, 2, 2, 2, 3007, 3008, 7, 829, 2, 2, 3008, 3010, 3, 2, 2, 2, 3009, 2963, 3, 2, 2, 2, 3010, 3013, 3, 2, 2, 2, 3011, 3009, 3, 2, 2, 2, 3011, 3012, 3, 2, 2, 2, 3012, 3015, 3, 2, 2, 2, 3013, 3011, 3, 2, 2, 2, 3014, 2950, 3, 2, 2, 2, 3015, 3018, 3, 2, 2, 2, 3016, 3014, 3, 2, 2, 2, 3016, 3017, 3, 2, 2, 2, 3017, 3035, 3, 2, 2, 2, 3018, 3016, 3, 2, 2, 2, 3019, 3021, 7, 830, 2, 2, 3020, 3019, 3, 2, 2, 2, 3020, 3021, 3, 2, 2, 2, 3021, 3022, 3, 2, 2, 2, 3022, 3023, 7, 103, 2, 2, 3023, 3027, 7, 113, 2, 2, 3024, 3025, 5, 966, 484, 2, 3025, 3026, 7, 823, 2, 2, 3026, 3028, 3, 2, 2, 2, 3027, 3024, 3, 2, 2, 2, 3027, 3028, 3, 2, 2, 2, 3028, 3029, 3, 2, 2, 2, 3029, 3030, 5, 966, 484, 2, 3030, 3031, 7, 823, 2, 2, 3031, 3032, 5, 966, 484, 2, 3032, 3034, 3, 2, 2, 2, 3033, 3020, 3, 2, 2, 2, 3034, 3037, 3, 2, 2, 2, 3035, 3033, 3, 2, 2, 2, 3035, 3036, 3, 2, 2, 2, 3036, 3079, 3, 2, 2, 2, 3037, 3035, 3, 2, 2, 2, 3038, 3039, 7, 4, 2, 2, 3039, 3043, 7, 342, 2, 2, 3040, 3041, 5, 966, 484, 2, 3041, 3042, 7, 823, 2, 2, 3042, 3044, 3, 2, 2, 2, 3043, 3040, 3, 2, 2, 2, 3043, 3044, 3, 2, 2, 2, 3044, 3045, 3, 2, 2, 2, 3045, 3046, 5, 966, 484, 2, 3046, 3047, 7, 823, 2, 2, 3047, 3048, 5, 966, 484, 2, 3048, 3074, 3, 2, 2, 2, 3049, 3050, 7, 828, 2, 2, 3050, 3066, 7, 315, 2, 2, 3051, 3053, 7, 830, 2, 2, 3052, 3051, 3, 2, 2, 2, 3052, 3053, 3, 2, 2, 2, 3053, 3054, 3, 2, 2, 2, 3054, 3055, 5, 966, 484, 2, 3055, 3064, 7, 810, 2, 2, 3056, 3058, 7, 828, 2, 2, 3057, 3056, 3, 2, 2, 2, 3057, 3058, 3, 2, 2, 2, 3058, 3059, 3, 2, 2, 2, 3059, 3061, 7, 802, 2, 2, 3060, 3062, 7, 829, 2, 2, 3061, 3060, 3, 2, 2, 2, 3061, 3062, 3, 2, 2, 2, 3062, 3065, 3, 2, 2, 2, 3063, 3065, 7, 806, 2, 2, 3064, 3057, 3, 2, 2, 2, 3064, 3063, 3, 2, 2, 2, 3065, 3067, 3, 2, 2, 2, 3066, 3052, 3, 2, 2, 2, 3067, 3068, 3, 2, 2, 2, 3068, 3066, 3, 2, 2, 2, 3068, 3069, 3, 2, 2, 2, 3069, 3070, 3, 2, 2, 2, 3070, 3071, 7, 829, 2, 2, 3071, 3073, 3, 2, 2, 2, 3072, 3049, 3, 2, 2, 2, 3073, 3076, 3, 2, 2, 2, 3074, 3072, 3, 2, 2, 2, 3074, 3075, 3, 2, 2, 2, 3075, 3078, 3, 2, 2, 2, 3076, 3074, 3, 2, 2, 2, 3077, 3038, 3, 2, 2, 2, 3078, 3081, 3, 2, 2, 2, 3079, 3077, 3, 2, 2, 2, 3079, 3080, 3, 2, 2, 2, 3080, 3095, 3, 2, 2, 2, 3081, 3079, 3, 2, 2, 2, 3082, 3083, 7, 103, 2, 2, 3083, 3087, 7, 342, 2, 2, 3084, 3085, 5, 966, 484, 2, 3085, 3086, 7, 823, 2, 2, 3086, 3088, 3, 2, 2, 2, 3087, 3084, 3, 2, 2, 2, 3087, 3088, 3, 2, 2, 2, 3088, 3089, 3, 2, 2, 2, 3089, 3090, 5, 966, 484, 2, 3090, 3091, 7, 823, 2, 2, 3091, 3092, 5, 966, 484, 2, 3092, 3094, 3, 2, 2, 2, 3093, 3082, 3, 2, 2, 2, 3094, 3097, 3, 2, 2, 2, 3095, 3093, 3, 2, 2, 2, 3095, 3096, 3, 2, 2, 2, 3096, 3163, 3, 2, 2, 2, 3097, 3095, 3, 2, 2, 2, 3098, 3099, 7, 377, 2, 2, 3099, 3107, 7, 828, 2, 2, 3100, 3102, 7, 830, 2, 2, 3101, 3100, 3, 2, 2, 2, 3101, 3102, 3, 2, 2, 2, 3102, 3103, 3, 2, 2, 2, 3103, 3104, 7, 190, 2, 2, 3104, 3105, 7, 810, 2, 2, 3105, 3106, 7, 802, 2, 2, 3106, 3108, 9, 25, 2, 2, 3107, 3101, 3, 2, 2, 2, 3107, 3108, 3, 2, 2, 2, 3108, 3115, 3, 2, 2, 2, 3109, 3111, 7, 830, 2, 2, 3110, 3109, 3, 2, 2, 2, 3110, 3111, 3, 2, 2, 2, 3111, 3112, 3, 2, 2, 2, 3112, 3113, 7, 115, 2, 2, 3113, 3114, 7, 810, 2, 2, 3114, 3116, 9, 26, 2, 2, 3115, 3110, 3, 2, 2, 2, 3115, 3116, 3, 2, 2, 2, 3116, 3127, 3, 2, 2, 2, 3117, 3119, 7, 830, 2, 2, 3118, 3117, 3, 2, 2, 2, 3118, 3119, 3, 2, 2, 2, 3119, 3120, 3, 2, 2, 2, 3120, 3121, 7, 193, 2, 2, 3121, 3125, 7, 810, 2, 2, 3122, 3123, 7, 802, 2, 2, 3123, 3126, 7, 710, 2, 2, 3124, 3126, 7, 159, 2, 2, 3125, 3122, 3, 2, 2, 2, 3125, 3124, 3, 2, 2, 2, 3126, 3128, 3, 2, 2, 2, 3127, 3118, 3, 2, 2, 2, 3127, 3128, 3, 2, 2, 2, 3128, 3136, 3, 2, 2, 2, 3129, 3131, 7, 830, 2, 2, 3130, 3129, 3, 2, 2, 2, 3130, 3131, 3, 2, 2, 2, 3131, 3132, 3, 2, 2, 2, 3132, 3133, 7, 194, 2, 2, 3133, 3134, 7, 810, 2, 2, 3134, 3135, 7, 802, 2, 2, 3135, 3137, 9, 25, 2, 2, 3136, 3130, 3, 2, 2, 2, 3136, 3137, 3, 2, 2, 2, 3137, 3144, 3, 2, 2, 2, 3138, 3140, 7, 830, 2, 2, 3139, 3138, 3, 2, 2, 2, 3139, 3140, 3, 2, 2, 2, 3140, 3141, 3, 2, 2, 2, 3141, 3142, 7, 200, 2, 2, 3142, 3143, 7, 810, 2, 2, 3143, 3145, 9, 27, 2, 2, 3144, 3139, 3, 2, 2, 2, 3144, 3145, 3, 2, 2, 2, 3145, 3152, 3, 2, 2, 2, 3146, 3148, 7, 830, 2, 2, 3147, 3146, 3, 2, 2, 2, 3147, 3148, 3, 2, 2, 2, 3148, 3149, 3, 2, 2, 2, 3149, 3150, 7, 348, 2, 2, 3150, 3151, 7, 810, 2, 2, 3151, 3153, 9, 9, 2, 2, 3152, 3147, 3, 2, 2, 2, 3152, 3153, 3, 2, 2, 2, 3153, 3160, 3, 2, 2, 2, 3154, 3156, 7, 830, 2, 2, 3155, 3154, 3, 2, 2, 2, 3155, 3156, 3, 2, 2, 2, 3156, 3157, 3, 2, 2, 2, 3157, 3158, 7, 333, 2, 2, 3158, 3159, 7, 810, 2, 2, 3159, 3161, 9, 9, 2, 2, 3160, 3155, 3, 2, 2, 2, 3160, 3161, 3, 2, 2, 2, 3161, 3162, 3, 2, 2, 2, 3162, 3164, 7, 829, 2, 2, 3163, 3098, 3, 2, 2, 2, 3163, 3164, 3, 2, 2, 2, 3164, 3168, 3, 2, 2, 2, 3165, 3166, 7, 329, 2, 2, 3166, 3167, 7, 810, 2, 2, 3167, 3169, 9, 28, 2, 2, 3168, 3165, 3, 2, 2, 2, 3168, 3169, 3, 2, 2, 2, 3169, 289, 3, 2, 2, 2, 3170, 3172, 7, 830, 2, 2, 3171, 3170, 3, 2, 2, 2, 3171, 3172, 3, 2, 2, 2, 3172, 3174, 3, 2, 2, 2, 3173, 3175, 9, 29, 2, 2, 3174, 3173, 3, 2, 2, 2, 3174, 3175, 3, 2, 2, 2, 3175, 3177, 3, 2, 2, 2, 3176, 3178, 7, 220, 2, 2, 3177, 3176, 3, 2, 2, 2, 3177, 3178, 3, 2, 2, 2, 3178, 3184, 3, 2, 2, 2, 3179, 3185, 5, 292, 147, 2, 3180, 3181, 7, 828, 2, 2, 3181, 3182, 5, 290, 146, 2, 3182, 3183, 7, 829, 2, 2, 3183, 3185, 3, 2, 2, 2, 3184, 3179, 3, 2, 2, 2, 3184, 3180, 3, 2, 2, 2, 3185, 3187, 3, 2, 2, 2, 3186, 3171, 3, 2, 2, 2, 3187, 3188, 3, 2, 2, 2, 3188, 3186, 3, 2, 2, 2, 3188, 3189, 3, 2, 2, 2, 3189, 291, 3, 2, 2, 2, 3190, 3196, 5, 294, 148, 2, 3191, 3192, 7, 828, 2, 2, 3192, 3193, 5, 290, 146, 2, 3193, 3194, 7, 829, 2, 2, 3194, 3196, 3, 2, 2, 2, 3195, 3190, 3, 2, 2, 2, 3195, 3191, 3, 2, 2, 2, 3196, 293, 3, 2, 2, 2, 3197, 3226, 5, 966, 484, 2, 3198, 3209, 5, 966, 484, 2, 3199, 3200, 5, 966, 484, 2, 3200, 3201, 7, 823, 2, 2, 3201, 3203, 3, 2, 2, 2, 3202, 3199, 3, 2, 2, 2, 3202, 3203, 3, 2, 2, 2, 3203, 3204, 3, 2, 2, 2, 3204, 3205, 5, 966, 484, 2, 3205, 3206, 7, 823, 2, 2, 3206, 3207, 5, 966, 484, 2, 3207, 3209, 3, 2, 2, 2, 3208, 3198, 3, 2, 2, 2, 3208, 3202, 3, 2, 2, 2, 3209, 3221, 3, 2, 2, 2, 3210, 3222, 7, 810, 2, 2, 3211, 3212, 7, 812, 2, 2, 3212, 3222, 7, 811, 2, 2, 3213, 3214, 7, 813, 2, 2, 3214, 3222, 7, 810, 2, 2, 3215, 3222, 7, 811, 2, 2, 3216, 3217, 7, 811, 2, 2, 3217, 3222, 7, 810, 2, 2, 3218, 3222, 7, 812, 2, 2, 3219, 3220, 7, 812, 2, 2, 3220, 3222, 7, 810, 2, 2, 3221, 3210, 3, 2, 2, 2, 3221, 3211, 3, 2, 2, 2, 3221, 3213, 3, 2, 2, 2, 3221, 3215, 3, 2, 2, 2, 3221, 3216, 3, 2, 2, 2, 3221, 3218, 3, 2, 2, 2, 3221, 3219, 3, 2, 2, 2, 3222, 3223, 3, 2, 2, 2, 3223, 3224, 9, 24, 2, 2, 3224, 3226, 3, 2, 2, 2, 3225, 3197, 3, 2, 2, 2, 3225, 3208, 3, 2, 2, 2, 3226, 3254, 3, 2, 2, 2, 3227, 3228, 5, 966, 484, 2, 3228, 3229, 7, 823, 2, 2, 3229, 3231, 3, 2, 2, 2, 3230, 3227, 3, 2, 2, 2, 3230, 3231, 3, 2, 2, 2, 3231, 3232, 3, 2, 2, 2, 3232, 3233, 5, 966, 484, 2, 3233, 3234, 7, 823, 2, 2, 3234, 3235, 5, 966, 484, 2, 3235, 3249, 7, 828, 2, 2, 3236, 3250, 5, 966, 484, 2, 3237, 3238, 5, 966, 484, 2, 3238, 3239, 7, 823, 2, 2, 3239, 3241, 3, 2, 2, 2, 3240, 3237, 3, 2, 2, 2, 3240, 3241, 3, 2, 2, 2, 3241, 3242, 3, 2, 2, 2, 3242, 3243, 5, 966, 484, 2, 3243, 3244, 7, 823, 2, 2, 3244, 3245, 5, 966, 484, 2, 3245, 3246, 3, 2, 2, 2, 3246, 3247, 7, 830, 2, 2, 3247, 3248, 9, 24, 2, 2, 3248, 3250, 3, 2, 2, 2, 3249, 3236, 3, 2, 2, 2, 3249, 3240, 3, 2, 2, 2, 3250, 3251, 3, 2, 2, 2, 3251, 3252, 7, 829, 2, 2, 3252, 3254, 3, 2, 2, 2, 3253, 3225, 3, 2, 2, 2, 3253, 3230, 3, 2, 2, 2, 3254, 295, 3, 2, 2, 2, 3255, 3256, 7, 10, 2, 2, 3256, 3257, 7, 123, 2, 2, 3257, 3258, 7, 456, 2, 2, 3258, 3259, 7, 322, 2, 2, 3259, 3260, 5, 966, 484, 2, 3260, 3276, 7, 315, 2, 2, 3261, 3262, 7, 568, 2, 2, 3262, 3263, 7, 810, 2, 2, 3263, 3265, 9, 30, 2, 2, 3264, 3266, 7, 830, 2, 2, 3265, 3264, 3, 2, 2, 2, 3265, 3266, 3, 2, 2, 2, 3266, 3277, 3, 2, 2, 2, 3267, 3268, 7, 691, 2, 2, 3268, 3269, 7, 810, 2, 2, 3269, 3271, 9, 30, 2, 2, 3270, 3272, 7, 830, 2, 2, 3271, 3270, 3, 2, 2, 2, 3271, 3272, 3, 2, 2, 2, 3272, 3277, 3, 2, 2, 2, 3273, 3274, 7, 452, 2, 2, 3274, 3275, 7, 810, 2, 2, 3275, 3277, 5, 966, 484, 2, 3276, 3261, 3, 2, 2, 2, 3276, 3267, 3, 2, 2, 2, 3276, 3273, 3, 2, 2, 2, 3277, 3278, 3, 2, 2, 2, 3278, 3276, 3, 2, 2, 2, 3278, 3279, 3, 2, 2, 2, 3279, 3303, 3, 2, 2, 2, 3280, 3281, 7, 10, 2, 2, 3281, 3282, 7, 123, 2, 2, 3282, 3283, 7, 456, 2, 2, 3283, 3284, 7, 322, 2, 2, 3284, 3285, 5, 966, 484, 2, 3285, 3286, 7, 377, 2, 2, 3286, 3287, 7, 828, 2, 2, 3287, 3288, 7, 769, 2, 2, 3288, 3289, 7, 810, 2, 2, 3289, 3290, 7, 423, 2, 2, 3290, 3291, 7, 830, 2, 2, 3291, 3292, 7, 568, 2, 2, 3292, 3293, 7, 810, 2, 2, 3293, 3298, 7, 806, 2, 2, 3294, 3295, 7, 830, 2, 2, 3295, 3296, 7, 452, 2, 2, 3296, 3297, 7, 810, 2, 2, 3297, 3299, 5, 966, 484, 2, 3298, 3294, 3, 2, 2, 2, 3298, 3299, 3, 2, 2, 2, 3299, 3300, 3, 2, 2, 2, 3300, 3301, 7, 829, 2, 2, 3301, 3303, 3, 2, 2, 2, 3302, 3255, 3, 2, 2, 2, 3302, 3280, 3, 2, 2, 2, 3303, 297, 3, 2, 2, 2, 3304, 3305, 7, 10, 2, 2, 3305, 3306, 7, 123, 2, 2, 3306, 3307, 7, 178, 2, 2, 3307, 3310, 5, 966, 484, 2, 3308, 3309, 7, 20, 2, 2, 3309, 3311, 5, 966, 484, 2, 3310, 3308, 3, 2, 2, 2, 3310, 3311, 3, 2, 2, 2, 3311, 3312, 3, 2, 2, 2, 3312, 3313, 9, 31, 2, 2, 3313, 3314, 7, 828, 2, 2, 3314, 3315, 7, 443, 2, 2, 3315, 3319, 7, 810, 2, 2, 3316, 3320, 7, 806, 2, 2, 3317, 3320, 7, 807, 2, 2, 3318, 3320, 7, 213, 2, 2, 3319, 3316, 3, 2, 2, 2, 3319, 3317, 3, 2, 2, 2, 3319, 3318, 3, 2, 2, 2, 3320, 3321, 3, 2, 2, 2, 3321, 3322, 7, 830, 2, 2, 3322, 3323, 7, 252, 2, 2, 3323, 3325, 7, 810, 2, 2, 3324, 3326, 9, 32, 2, 2, 3325, 3324, 3, 2, 2, 2, 3325, 3326, 3, 2, 2, 2, 3326, 3327, 3, 2, 2, 2, 3327, 3328, 7, 829, 2, 2, 3328, 3329, 3, 2, 2, 2, 3329, 3339, 7, 377, 2, 2, 3330, 3332, 7, 830, 2, 2, 3331, 3330, 3, 2, 2, 2, 3331, 3332, 3, 2, 2, 2, 3332, 3333, 3, 2, 2, 2, 3333, 3334, 7, 176, 2, 2, 3334, 3335, 7, 810, 2, 2, 3335, 3340, 9, 33, 2, 2, 3336, 3337, 7, 83, 2, 2, 3337, 3338, 7, 810, 2, 2, 3338, 3340, 5, 966, 484, 2, 3339, 3331, 3, 2, 2, 2, 3339, 3336, 3, 2, 2, 2, 3340, 3341, 3, 2, 2, 2, 3341, 3339, 3, 2, 2, 2, 3341, 3342, 3, 2, 2, 2, 3342, 3343, 3, 2, 2, 2, 3343, 3344, 7, 829, 2, 2, 3344, 299, 3, 2, 2, 2, 3345, 3346, 7, 73, 2, 2, 3346, 3347, 7, 123, 2, 2, 3347, 3348, 7, 178, 2, 2, 3348, 3351, 5, 966, 484, 2, 3349, 3350, 7, 20, 2, 2, 3350, 3352, 5, 966, 484, 2, 3351, 3349, 3, 2, 2, 2, 3351, 3352, 3, 2, 2, 2, 3352, 3353, 3, 2, 2, 2, 3353, 3355, 7, 139, 2, 2, 3354, 3356, 7, 830, 2, 2, 3355, 3354, 3, 2, 2, 2, 3355, 3356, 3, 2, 2, 2, 3356, 3358, 3, 2, 2, 2, 3357, 3359, 7, 828, 2, 2, 3358, 3357, 3, 2, 2, 2, 3358, 3359, 3, 2, 2, 2, 3359, 3362, 3, 2, 2, 2, 3360, 3361, 7, 443, 2, 2, 3361, 3363, 7, 810, 2, 2, 3362, 3360, 3, 2, 2, 2, 3362, 3363, 3, 2, 2, 2, 3363, 3367, 3, 2, 2, 2, 3364, 3368, 7, 806, 2, 2, 3365, 3368, 7, 807, 2, 2, 3366, 3368, 7, 213, 2, 2, 3367, 3364, 3, 2, 2, 2, 3367, 3365, 3, 2, 2, 2, 3367, 3366, 3, 2, 2, 2, 3368, 3376, 3, 2, 2, 2, 3369, 3370, 7, 830, 2, 2, 3370, 3371, 7, 252, 2, 2, 3371, 3373, 7, 810, 2, 2, 3372, 3374, 9, 32, 2, 2, 3373, 3372, 3, 2, 2, 2, 3373, 3374, 3, 2, 2, 2, 3374, 3375, 3, 2, 2, 2, 3375, 3377, 7, 829, 2, 2, 3376, 3369, 3, 2, 2, 2, 3376, 3377, 3, 2, 2, 2, 3377, 3393, 3, 2, 2, 2, 3378, 3388, 7, 377, 2, 2, 3379, 3381, 7, 830, 2, 2, 3380, 3379, 3, 2, 2, 2, 3380, 3381, 3, 2, 2, 2, 3381, 3382, 3, 2, 2, 2, 3382, 3383, 7, 176, 2, 2, 3383, 3384, 7, 810, 2, 2, 3384, 3389, 9, 33, 2, 2, 3385, 3386, 7, 83, 2, 2, 3386, 3387, 7, 810, 2, 2, 3387, 3389, 5, 966, 484, 2, 3388, 3380, 3, 2, 2, 2, 3388, 3385, 3, 2, 2, 2, 3389, 3390, 3, 2, 2, 2, 3390, 3388, 3, 2, 2, 2, 3390, 3391, 3, 2, 2, 2, 3391, 3392, 3, 2, 2, 2, 3392, 3394, 7, 829, 2, 2, 3393, 3378, 3, 2, 2, 2, 3393, 3394, 3, 2, 2, 2, 3394, 301, 3, 2, 2, 2, 3395, 3396, 7, 10, 2, 2, 3396, 3397, 7, 123, 2, 2, 3397, 3398, 7, 690, 2, 2, 3398, 3401, 7, 645, 2, 2, 3399, 3402, 5, 966, 484, 2, 3400, 3402, 7, 466, 2, 2, 3401, 3399, 3, 2, 2, 2, 3401, 3400, 3, 2, 2, 2, 3402, 3403, 3, 2, 2, 2, 3403, 3404, 7, 377, 2, 2, 3404, 3405, 7, 828, 2, 2, 3405, 3406, 7, 578, 2, 2, 3406, 3407, 7, 810, 2, 2, 3407, 3445, 7, 802, 2, 2, 3408, 3410, 7, 830, 2, 2, 3409, 3408, 3, 2, 2, 2, 3409, 3410, 3, 2, 2, 2, 3410, 3411, 3, 2, 2, 2, 3411, 3412, 7, 391, 2, 2, 3412, 3413, 7, 449, 2, 2, 3413, 3427, 7, 810, 2, 2, 3414, 3428, 7, 408, 2, 2, 3415, 3417, 7, 830, 2, 2, 3416, 3415, 3, 2, 2, 2, 3416, 3417, 3, 2, 2, 2, 3417, 3418, 3, 2, 2, 2, 3418, 3419, 7, 802, 2, 2, 3419, 3420, 7, 346, 2, 2, 3420, 3424, 7, 802, 2, 2, 3421, 3422, 7, 830, 2, 2, 3422, 3424, 7, 802, 2, 2, 3423, 3416, 3, 2, 2, 2, 3423, 3421, 3, 2, 2, 2, 3424, 3425, 3, 2, 2, 2, 3425, 3423, 3, 2, 2, 2, 3425, 3426, 3, 2, 2, 2, 3426, 3428, 3, 2, 2, 2, 3427, 3414, 3, 2, 2, 2, 3427, 3423, 3, 2, 2, 2, 3428, 3446, 3, 2, 2, 2, 3429, 3430, 7, 622, 2, 2, 3430, 3441, 7, 810, 2, 2, 3431, 3433, 7, 830, 2, 2, 3432, 3431, 3, 2, 2, 2, 3432, 3433, 3, 2, 2, 2, 3433, 3434, 3, 2, 2, 2, 3434, 3435, 7, 802, 2, 2, 3435, 3436, 7, 346, 2, 2, 3436, 3442, 7, 802, 2, 2, 3437, 3439, 7, 830, 2, 2, 3438, 3437, 3, 2, 2, 2, 3438, 3439, 3, 2, 2, 2, 3439, 3440, 3, 2, 2, 2, 3440, 3442, 7, 802, 2, 2, 3441, 3432, 3, 2, 2, 2, 3441, 3438, 3, 2, 2, 2, 3442, 3443, 3, 2, 2, 2, 3443, 3441, 3, 2, 2, 2, 3443, 3444, 3, 2, 2, 2, 3444, 3446, 3, 2, 2, 2, 3445, 3409, 3, 2, 2, 2, 3445, 3429, 3, 2, 2, 2, 3446, 3453, 3, 2, 2, 2, 3447, 3449, 7, 830, 2, 2, 3448, 3447, 3, 2, 2, 2, 3448, 3449, 3, 2, 2, 2, 3449, 3450, 3, 2, 2, 2, 3450, 3451, 7, 582, 2, 2, 3451, 3452, 7, 810, 2, 2, 3452, 3454, 7, 802, 2, 2, 3453, 3448, 3, 2, 2, 2, 3453, 3454, 3, 2, 2, 2, 3454, 3461, 3, 2, 2, 2, 3455, 3457, 7, 830, 2, 2, 3456, 3455, 3, 2, 2, 2, 3456, 3457, 3, 2, 2, 2, 3457, 3458, 3, 2, 2, 2, 3458, 3459, 7, 583, 2, 2, 3459, 3460, 7, 810, 2, 2, 3460, 3462, 7, 802, 2, 2, 3461, 3456, 3, 2, 2, 2, 3461, 3462, 3, 2, 2, 2, 3462, 3463, 3, 2, 2, 2, 3463, 3464, 7, 829, 2, 2, 3464, 303, 3, 2, 2, 2, 3465, 3466, 7, 73, 2, 2, 3466, 3467, 7, 123, 2, 2, 3467, 3468, 7, 690, 2, 2, 3468, 3469, 7, 645, 2, 2, 3469, 3470, 5, 966, 484, 2, 3470, 3471, 7, 377, 2, 2, 3471, 3472, 7, 828, 2, 2, 3472, 3473, 7, 578, 2, 2, 3473, 3474, 7, 810, 2, 2, 3474, 3512, 7, 802, 2, 2, 3475, 3477, 7, 830, 2, 2, 3476, 3475, 3, 2, 2, 2, 3476, 3477, 3, 2, 2, 2, 3477, 3478, 3, 2, 2, 2, 3478, 3479, 7, 391, 2, 2, 3479, 3480, 7, 449, 2, 2, 3480, 3494, 7, 810, 2, 2, 3481, 3495, 7, 408, 2, 2, 3482, 3484, 7, 830, 2, 2, 3483, 3482, 3, 2, 2, 2, 3483, 3484, 3, 2, 2, 2, 3484, 3485, 3, 2, 2, 2, 3485, 3486, 7, 802, 2, 2, 3486, 3487, 7, 346, 2, 2, 3487, 3491, 7, 802, 2, 2, 3488, 3489, 7, 830, 2, 2, 3489, 3491, 7, 802, 2, 2, 3490, 3483, 3, 2, 2, 2, 3490, 3488, 3, 2, 2, 2, 3491, 3492, 3, 2, 2, 2, 3492, 3490, 3, 2, 2, 2, 3492, 3493, 3, 2, 2, 2, 3493, 3495, 3, 2, 2, 2, 3494, 3481, 3, 2, 2, 2, 3494, 3490, 3, 2, 2, 2, 3495, 3513, 3, 2, 2, 2, 3496, 3497, 7, 622, 2, 2, 3497, 3508, 7, 810, 2, 2, 3498, 3500, 7, 830, 2, 2, 3499, 3498, 3, 2, 2, 2, 3499, 3500, 3, 2, 2, 2, 3500, 3501, 3, 2, 2, 2, 3501, 3502, 7, 802, 2, 2, 3502, 3503, 7, 346, 2, 2, 3503, 3509, 7, 802, 2, 2, 3504, 3506, 7, 830, 2, 2, 3505, 3504, 3, 2, 2, 2, 3505, 3506, 3, 2, 2, 2, 3506, 3507, 3, 2, 2, 2, 3507, 3509, 7, 802, 2, 2, 3508, 3499, 3, 2, 2, 2, 3508, 3505, 3, 2, 2, 2, 3509, 3510, 3, 2, 2, 2, 3510, 3508, 3, 2, 2, 2, 3510, 3511, 3, 2, 2, 2, 3511, 3513, 3, 2, 2, 2, 3512, 3476, 3, 2, 2, 2, 3512, 3496, 3, 2, 2, 2, 3513, 3520, 3, 2, 2, 2, 3514, 3516, 7, 830, 2, 2, 3515, 3514, 3, 2, 2, 2, 3515, 3516, 3, 2, 2, 2, 3516, 3517, 3, 2, 2, 2, 3517, 3518, 7, 582, 2, 2, 3518, 3519, 7, 810, 2, 2, 3519, 3521, 7, 802, 2, 2, 3520, 3515, 3, 2, 2, 2, 3520, 3521, 3, 2, 2, 2, 3521, 3528, 3, 2, 2, 2, 3522, 3524, 7, 830, 2, 2, 3523, 3522, 3, 2, 2, 2, 3523, 3524, 3, 2, 2, 2, 3524, 3525, 3, 2, 2, 2, 3525, 3526, 7, 583, 2, 2, 3526, 3527, 7, 810, 2, 2, 3527, 3529, 7, 802, 2, 2, 3528, 3523, 3, 2, 2, 2, 3528, 3529, 3, 2, 2, 2, 3529, 3530, 3, 2, 2, 2, 3530, 3531, 7, 829, 2, 2, 3531, 305, 3, 2, 2, 2, 3532, 3533, 7, 10, 2, 2, 3533, 3534, 7, 521, 2, 2, 3534, 3535, 7, 430, 2, 2, 3535, 3546, 5, 966, 484, 2, 3536, 3541, 7, 673, 2, 2, 3537, 3538, 7, 377, 2, 2, 3538, 3539, 7, 383, 2, 2, 3539, 3540, 7, 810, 2, 2, 3540, 3542, 9, 9, 2, 2, 3541, 3537, 3, 2, 2, 2, 3541, 3542, 3, 2, 2, 2, 3542, 3547, 3, 2, 2, 2, 3543, 3547, 7, 682, 2, 2, 3544, 3545, 7, 16, 2, 2, 3545, 3547, 7, 89, 2, 2, 3546, 3536, 3, 2, 2, 2, 3546, 3543, 3, 2, 2, 2, 3546, 3544, 3, 2, 2, 2, 3547, 307, 3, 2, 2, 2, 3548, 3549, 7, 73, 2, 2, 3549, 3550, 7, 521, 2, 2, 3550, 3551, 7, 430, 2, 2, 3551, 3555, 5, 966, 484, 2, 3552, 3553, 7, 229, 2, 2, 3553, 3554, 7, 507, 2, 2, 3554, 3556, 5, 966, 484, 2, 3555, 3552, 3, 2, 2, 2, 3555, 3556, 3, 2, 2, 2, 3556, 3560, 3, 2, 2, 2, 3557, 3558, 7, 155, 2, 2, 3558, 3559, 7, 643, 2, 2, 3559, 3561, 7, 806, 2, 2, 3560, 3557, 3, 2, 2, 2, 3560, 3561, 3, 2, 2, 2, 3561, 3566, 3, 2, 2, 2, 3562, 3563, 7, 377, 2, 2, 3563, 3564, 7, 383, 2, 2, 3564, 3565, 7, 810, 2, 2, 3565, 3567, 9, 9, 2, 2, 3566, 3562, 3, 2, 2, 2, 3566, 3567, 3, 2, 2, 2, 3567, 3570, 3, 2, 2, 2, 3568, 3569, 7, 16, 2, 2, 3569, 3571, 7, 89, 2, 2, 3570, 3568, 3, 2, 2, 2, 3570, 3571, 3, 2, 2, 2, 3571, 3574, 3, 2, 2, 2, 3572, 3573, 7, 20, 2, 2, 3573, 3575, 5, 966, 484, 2, 3574, 3572, 3, 2, 2, 2, 3574, 3575, 3, 2, 2, 2, 3575, 309, 3, 2, 2, 2, 3576, 3577, 7, 10, 2, 2, 3577, 3578, 7, 521, 2, 2, 3578, 3579, 7, 740, 2, 2, 3579, 3593, 5, 966, 484, 2, 3580, 3581, 7, 4, 2, 2, 3581, 3582, 7, 806, 2, 2, 3582, 3583, 7, 176, 2, 2, 3583, 3594, 9, 34, 2, 2, 3584, 3591, 7, 103, 2, 2, 3585, 3586, 7, 806, 2, 2, 3586, 3587, 7, 176, 2, 2, 3587, 3592, 9, 34, 2, 2, 3588, 3589, 7, 6, 2, 2, 3589, 3592, 9, 34, 2, 2, 3590, 3592, 7, 6, 2, 2, 3591, 3585, 3, 2, 2, 2, 3591, 3588, 3, 2, 2, 2, 3591, 3590, 3, 2, 2, 2, 3592, 3594, 3, 2, 2, 2, 3593, 3580, 3, 2, 2, 2, 3593, 3584, 3, 2, 2, 2, 3594, 311, 3, 2, 2, 2, 3595, 3596, 7, 73, 2, 2, 3596, 3597, 7, 521, 2, 2, 3597, 3598, 7, 740, 2, 2, 3598, 3610, 5, 966, 484, 2, 3599, 3608, 7, 139, 2, 2, 3600, 3601, 5, 966, 484, 2, 3601, 3602, 7, 823, 2, 2, 3602, 3604, 3, 2, 2, 2, 3603, 3600, 3, 2, 2, 2, 3603, 3604, 3, 2, 2, 2, 3604, 3605, 3, 2, 2, 2, 3605, 3609, 5, 966, 484, 2, 3606, 3607, 7, 750, 2, 2, 3607, 3609, 7, 740, 2, 2, 3608, 3603, 3, 2, 2, 2, 3608, 3606, 3, 2, 2, 2, 3609, 3611, 3, 2, 2, 2, 3610, 3599, 3, 2, 2, 2, 3610, 3611, 3, 2, 2, 2, 3611, 3614, 3, 2, 2, 2, 3612, 3613, 7, 20, 2, 2, 3613, 3615, 5, 966, 484, 2, 3614, 3612, 3, 2, 2, 2, 3614, 3615, 3, 2, 2, 2, 3615, 313, 3, 2, 2, 2, 3616, 3617, 7, 10, 2, 2, 3617, 3618, 7, 571, 2, 2, 3618, 3686, 5, 966, 484, 2, 3619, 3621, 9, 23, 2, 2, 3620, 3619, 3, 2, 2, 2, 3620, 3621, 3, 2, 2, 2, 3621, 3687, 3, 2, 2, 2, 3622, 3636, 7, 377, 2, 2, 3623, 3624, 7, 244, 2, 2, 3624, 3628, 7, 810, 2, 2, 3625, 3629, 7, 806, 2, 2, 3626, 3627, 7, 807, 2, 2, 3627, 3629, 7, 148, 2, 2, 3628, 3625, 3, 2, 2, 2, 3628, 3626, 3, 2, 2, 2, 3629, 3633, 3, 2, 2, 2, 3630, 3632, 9, 35, 2, 2, 3631, 3630, 3, 2, 2, 2, 3632, 3635, 3, 2, 2, 2, 3633, 3631, 3, 2, 2, 2, 3633, 3634, 3, 2, 2, 2, 3634, 3637, 3, 2, 2, 2, 3635, 3633, 3, 2, 2, 2, 3636, 3623, 3, 2, 2, 2, 3636, 3637, 3, 2, 2, 2, 3637, 3647, 3, 2, 2, 2, 3638, 3639, 7, 228, 2, 2, 3639, 3640, 7, 810, 2, 2, 3640, 3644, 7, 806, 2, 2, 3641, 3643, 9, 35, 2, 2, 3642, 3641, 3, 2, 2, 2, 3643, 3646, 3, 2, 2, 2, 3644, 3642, 3, 2, 2, 2, 3644, 3645, 3, 2, 2, 2, 3645, 3648, 3, 2, 2, 2, 3646, 3644, 3, 2, 2, 2, 3647, 3638, 3, 2, 2, 2, 3647, 3648, 3, 2, 2, 2, 3648, 3652, 3, 2, 2, 2, 3649, 3650, 7, 90, 2, 2, 3650, 3651, 7, 810, 2, 2, 3651, 3653, 5, 966, 484, 2, 3652, 3649, 3, 2, 2, 2, 3652, 3653, 3, 2, 2, 2, 3653, 3657, 3, 2, 2, 2, 3654, 3655, 7, 468, 2, 2, 3655, 3656, 7, 810, 2, 2, 3656, 3658, 5, 966, 484, 2, 3657, 3654, 3, 2, 2, 2, 3657, 3658, 3, 2, 2, 2, 3658, 3662, 3, 2, 2, 2, 3659, 3660, 7, 605, 2, 2, 3660, 3661, 7, 810, 2, 2, 3661, 3663, 5, 966, 484, 2, 3662, 3659, 3, 2, 2, 2, 3662, 3663, 3, 2, 2, 2, 3663, 3667, 3, 2, 2, 2, 3664, 3665, 7, 48, 2, 2, 3665, 3666, 7, 810, 2, 2, 3666, 3668, 9, 9, 2, 2, 3667, 3664, 3, 2, 2, 2, 3667, 3668, 3, 2, 2, 2, 3668, 3672, 3, 2, 2, 2, 3669, 3670, 7, 49, 2, 2, 3670, 3671, 7, 810, 2, 2, 3671, 3673, 9, 9, 2, 2, 3672, 3669, 3, 2, 2, 2, 3672, 3673, 3, 2, 2, 2, 3673, 3677, 3, 2, 2, 2, 3674, 3675, 7, 452, 2, 2, 3675, 3676, 7, 810, 2, 2, 3676, 3678, 5, 966, 484, 2, 3677, 3674, 3, 2, 2, 2, 3677, 3678, 3, 2, 2, 2, 3678, 3681, 3, 2, 2, 2, 3679, 3680, 7, 611, 2, 2, 3680, 3682, 7, 452, 2, 2, 3681, 3679, 3, 2, 2, 2, 3681, 3682, 3, 2, 2, 2, 3682, 3687, 3, 2, 2, 2, 3683, 3684, 9, 21, 2, 2, 3684, 3685, 7, 452, 2, 2, 3685, 3687, 5, 966, 484, 2, 3686, 3620, 3, 2, 2, 2, 3686, 3622, 3, 2, 2, 2, 3686, 3683, 3, 2, 2, 2, 3687, 315, 3, 2, 2, 2, 3688, 3689, 7, 73, 2, 2, 3689, 3690, 7, 571, 2, 2, 3690, 3781, 5, 966, 484, 2, 3691, 3705, 7, 377, 2, 2, 3692, 3693, 7, 244, 2, 2, 3693, 3697, 7, 810, 2, 2, 3694, 3698, 7, 806, 2, 2, 3695, 3696, 7, 807, 2, 2, 3696, 3698, 7, 148, 2, 2, 3697, 3694, 3, 2, 2, 2, 3697, 3695, 3, 2, 2, 2, 3698, 3702, 3, 2, 2, 2, 3699, 3701, 9, 35, 2, 2, 3700, 3699, 3, 2, 2, 2, 3701, 3704, 3, 2, 2, 2, 3702, 3700, 3, 2, 2, 2, 3702, 3703, 3, 2, 2, 2, 3703, 3706, 3, 2, 2, 2, 3704, 3702, 3, 2, 2, 2, 3705, 3692, 3, 2, 2, 2, 3705, 3706, 3, 2, 2, 2, 3706, 3713, 3, 2, 2, 2, 3707, 3709, 7, 830, 2, 2, 3708, 3707, 3, 2, 2, 2, 3708, 3709, 3, 2, 2, 2, 3709, 3710, 3, 2, 2, 2, 3710, 3711, 7, 318, 2, 2, 3711, 3712, 7, 810, 2, 2, 3712, 3714, 7, 807, 2, 2, 3713, 3708, 3, 2, 2, 2, 3713, 3714, 3, 2, 2, 2, 3714, 3721, 3, 2, 2, 2, 3715, 3717, 7, 830, 2, 2, 3716, 3715, 3, 2, 2, 2, 3716, 3717, 3, 2, 2, 2, 3717, 3718, 3, 2, 2, 2, 3718, 3719, 7, 90, 2, 2, 3719, 3720, 7, 810, 2, 2, 3720, 3722, 5, 966, 484, 2, 3721, 3716, 3, 2, 2, 2, 3721, 3722, 3, 2, 2, 2, 3722, 3729, 3, 2, 2, 2, 3723, 3725, 7, 830, 2, 2, 3724, 3723, 3, 2, 2, 2, 3724, 3725, 3, 2, 2, 2, 3725, 3726, 3, 2, 2, 2, 3726, 3727, 7, 468, 2, 2, 3727, 3728, 7, 810, 2, 2, 3728, 3730, 5, 966, 484, 2, 3729, 3724, 3, 2, 2, 2, 3729, 3730, 3, 2, 2, 2, 3730, 3737, 3, 2, 2, 2, 3731, 3733, 7, 830, 2, 2, 3732, 3731, 3, 2, 2, 2, 3732, 3733, 3, 2, 2, 2, 3733, 3734, 3, 2, 2, 2, 3734, 3735, 7, 49, 2, 2, 3735, 3736, 7, 810, 2, 2, 3736, 3738, 9, 9, 2, 2, 3737, 3732, 3, 2, 2, 2, 3737, 3738, 3, 2, 2, 2, 3738, 3745, 3, 2, 2, 2, 3739, 3741, 7, 830, 2, 2, 3740, 3739, 3, 2, 2, 2, 3740, 3741, 3, 2, 2, 2, 3741, 3742, 3, 2, 2, 2, 3742, 3743, 7, 48, 2, 2, 3743, 3744, 7, 810, 2, 2, 3744, 3746, 9, 9, 2, 2, 3745, 3740, 3, 2, 2, 2, 3745, 3746, 3, 2, 2, 2, 3746, 3753, 3, 2, 2, 2, 3747, 3749, 7, 830, 2, 2, 3748, 3747, 3, 2, 2, 2, 3748, 3749, 3, 2, 2, 2, 3749, 3750, 3, 2, 2, 2, 3750, 3751, 7, 452, 2, 2, 3751, 3752, 7, 810, 2, 2, 3752, 3754, 5, 966, 484, 2, 3753, 3748, 3, 2, 2, 2, 3753, 3754, 3, 2, 2, 2, 3754, 3782, 3, 2, 2, 2, 3755, 3779, 7, 139, 2, 2, 3756, 3757, 7, 376, 2, 2, 3757, 3764, 7, 377, 2, 2, 3758, 3760, 7, 830, 2, 2, 3759, 3758, 3, 2, 2, 2, 3759, 3760, 3, 2, 2, 2, 3760, 3761, 3, 2, 2, 2, 3761, 3762, 7, 90, 2, 2, 3762, 3763, 7, 810, 2, 2, 3763, 3765, 5, 966, 484, 2, 3764, 3759, 3, 2, 2, 2, 3764, 3765, 3, 2, 2, 2, 3765, 3772, 3, 2, 2, 2, 3766, 3768, 7, 830, 2, 2, 3767, 3766, 3, 2, 2, 2, 3767, 3768, 3, 2, 2, 2, 3768, 3769, 3, 2, 2, 2, 3769, 3770, 7, 468, 2, 2, 3770, 3771, 7, 810, 2, 2, 3771, 3773, 7, 806, 2, 2, 3772, 3767, 3, 2, 2, 2, 3772, 3773, 3, 2, 2, 2, 3773, 3780, 3, 2, 2, 2, 3774, 3775, 7, 43, 2, 2, 3775, 3780, 5, 966, 484, 2, 3776, 3777, 7, 18, 2, 2, 3777, 3778, 7, 172, 2, 2, 3778, 3780, 5, 966, 484, 2, 3779, 3756, 3, 2, 2, 2, 3779, 3774, 3, 2, 2, 2, 3779, 3776, 3, 2, 2, 2, 3780, 3782, 3, 2, 2, 2, 3781, 3691, 3, 2, 2, 2, 3781, 3755, 3, 2, 2, 2, 3782, 317, 3, 2, 2, 2, 3783, 3784, 7, 10, 2, 2, 3784, 3785, 7, 571, 2, 2, 3785, 3803, 5, 966, 484, 2, 3786, 3788, 9, 23, 2, 2, 3787, 3786, 3, 2, 2, 2, 3787, 3788, 3, 2, 2, 2, 3788, 3804, 3, 2, 2, 2, 3789, 3801, 7, 377, 2, 2, 3790, 3791, 7, 244, 2, 2, 3791, 3792, 7, 810, 2, 2, 3792, 3796, 7, 806, 2, 2, 3793, 3794, 7, 228, 2, 2, 3794, 3795, 7, 810, 2, 2, 3795, 3797, 7, 806, 2, 2, 3796, 3793, 3, 2, 2, 2, 3796, 3797, 3, 2, 2, 2, 3797, 3802, 3, 2, 2, 2, 3798, 3799, 7, 605, 2, 2, 3799, 3800, 7, 810, 2, 2, 3800, 3802, 5, 966, 484, 2, 3801, 3790, 3, 2, 2, 2, 3801, 3798, 3, 2, 2, 2, 3802, 3804, 3, 2, 2, 2, 3803, 3787, 3, 2, 2, 2, 3803, 3789, 3, 2, 2, 2, 3804, 319, 3, 2, 2, 2, 3805, 3806, 7, 73, 2, 2, 3806, 3807, 7, 571, 2, 2, 3807, 3808, 5, 966, 484, 2, 3808, 3809, 7, 377, 2, 2, 3809, 3810, 7, 244, 2, 2, 3810, 3811, 7, 810, 2, 2, 3811, 3815, 7, 806, 2, 2, 3812, 3813, 7, 318, 2, 2, 3813, 3814, 7, 810, 2, 2, 3814, 3816, 7, 807, 2, 2, 3815, 3812, 3, 2, 2, 2, 3815, 3816, 3, 2, 2, 2, 3816, 321, 3, 2, 2, 2, 3817, 3818, 7, 10, 2, 2, 3818, 3819, 7, 571, 2, 2, 3819, 3843, 5, 966, 484, 2, 3820, 3822, 9, 23, 2, 2, 3821, 3820, 3, 2, 2, 2, 3821, 3822, 3, 2, 2, 2, 3822, 3844, 3, 2, 2, 2, 3823, 3841, 7, 377, 2, 2, 3824, 3825, 7, 244, 2, 2, 3825, 3826, 7, 810, 2, 2, 3826, 3836, 7, 806, 2, 2, 3827, 3828, 7, 228, 2, 2, 3828, 3829, 7, 810, 2, 2, 3829, 3833, 7, 806, 2, 2, 3830, 3832, 9, 35, 2, 2, 3831, 3830, 3, 2, 2, 2, 3832, 3835, 3, 2, 2, 2, 3833, 3831, 3, 2, 2, 2, 3833, 3834, 3, 2, 2, 2, 3834, 3837, 3, 2, 2, 2, 3835, 3833, 3, 2, 2, 2, 3836, 3827, 3, 2, 2, 2, 3836, 3837, 3, 2, 2, 2, 3837, 3842, 3, 2, 2, 2, 3838, 3839, 7, 605, 2, 2, 3839, 3840, 7, 810, 2, 2, 3840, 3842, 5, 966, 484, 2, 3841, 3824, 3, 2, 2, 2, 3841, 3838, 3, 2, 2, 2, 3842, 3844, 3, 2, 2, 2, 3843, 3821, 3, 2, 2, 2, 3843, 3823, 3, 2, 2, 2, 3844, 323, 3, 2, 2, 2, 3845, 3846, 7, 73, 2, 2, 3846, 3847, 7, 571, 2, 2, 3847, 3864, 5, 966, 484, 2, 3848, 3849, 7, 377, 2, 2, 3849, 3850, 7, 244, 2, 2, 3850, 3851, 7, 810, 2, 2, 3851, 3853, 7, 806, 2, 2, 3852, 3854, 7, 206, 2, 2, 3853, 3852, 3, 2, 2, 2, 3853, 3854, 3, 2, 2, 2, 3854, 3860, 3, 2, 2, 2, 3855, 3856, 7, 48, 2, 2, 3856, 3858, 7, 810, 2, 2, 3857, 3859, 9, 9, 2, 2, 3858, 3857, 3, 2, 2, 2, 3858, 3859, 3, 2, 2, 2, 3859, 3861, 3, 2, 2, 2, 3860, 3855, 3, 2, 2, 2, 3860, 3861, 3, 2, 2, 2, 3861, 3865, 3, 2, 2, 2, 3862, 3863, 7, 139, 2, 2, 3863, 3865, 7, 376, 2, 2, 3864, 3848, 3, 2, 2, 2, 3864, 3862, 3, 2, 2, 2, 3865, 325, 3, 2, 2, 2, 3866, 3867, 7, 10, 2, 2, 3867, 3868, 7, 189, 2, 2, 3868, 3890, 7, 172, 2, 2, 3869, 3871, 7, 515, 2, 2, 3870, 3869, 3, 2, 2, 2, 3870, 3871, 3, 2, 2, 2, 3871, 3872, 3, 2, 2, 2, 3872, 3873, 7, 271, 2, 2, 3873, 3874, 7, 377, 2, 2, 3874, 3875, 7, 492, 2, 2, 3875, 3876, 7, 38, 2, 2, 3876, 3877, 7, 244, 2, 2, 3877, 3878, 7, 810, 2, 2, 3878, 3891, 7, 806, 2, 2, 3879, 3880, 9, 21, 2, 2, 3880, 3881, 7, 492, 2, 2, 3881, 3888, 7, 38, 2, 2, 3882, 3883, 7, 310, 2, 2, 3883, 3884, 7, 189, 2, 2, 3884, 3889, 7, 172, 2, 2, 3885, 3886, 7, 244, 2, 2, 3886, 3887, 7, 810, 2, 2, 3887, 3889, 7, 806, 2, 2, 3888, 3882, 3, 2, 2, 2, 3888, 3885, 3, 2, 2, 2, 3889, 3891, 3, 2, 2, 2, 3890, 3870, 3, 2, 2, 2, 3890, 3879, 3, 2, 2, 2, 3891, 327, 3, 2, 2, 2, 3892, 3893, 7, 73, 2, 2, 3893, 3894, 7, 189, 2, 2, 3894, 3895, 7, 172, 2, 2, 3895, 3896, 7, 492, 2, 2, 3896, 3897, 7, 38, 2, 2, 3897, 3898, 7, 244, 2, 2, 3898, 3899, 7, 810, 2, 2, 3899, 3900, 7, 806, 2, 2, 3900, 329, 3, 2, 2, 2, 3901, 3902, 7, 10, 2, 2, 3902, 3903, 7, 189, 2, 2, 3903, 3931, 7, 172, 2, 2, 3904, 3906, 7, 515, 2, 2, 3905, 3904, 3, 2, 2, 2, 3905, 3906, 3, 2, 2, 2, 3906, 3907, 3, 2, 2, 2, 3907, 3908, 7, 271, 2, 2, 3908, 3909, 7, 377, 2, 2, 3909, 3910, 7, 492, 2, 2, 3910, 3911, 7, 38, 2, 2, 3911, 3912, 7, 244, 2, 2, 3912, 3913, 7, 810, 2, 2, 3913, 3932, 7, 806, 2, 2, 3914, 3915, 7, 4, 2, 2, 3915, 3916, 7, 492, 2, 2, 3916, 3923, 7, 38, 2, 2, 3917, 3918, 7, 310, 2, 2, 3918, 3919, 7, 189, 2, 2, 3919, 3924, 7, 172, 2, 2, 3920, 3921, 7, 244, 2, 2, 3921, 3922, 7, 810, 2, 2, 3922, 3924, 7, 806, 2, 2, 3923, 3917, 3, 2, 2, 2, 3923, 3920, 3, 2, 2, 2, 3924, 3932, 3, 2, 2, 2, 3925, 3926, 7, 103, 2, 2, 3926, 3927, 7, 492, 2, 2, 3927, 3928, 7, 38, 2, 2, 3928, 3929, 7, 244, 2, 2, 3929, 3930, 7, 810, 2, 2, 3930, 3932, 7, 806, 2, 2, 3931, 3905, 3, 2, 2, 2, 3931, 3914, 3, 2, 2, 2, 3931, 3925, 3, 2, 2, 2, 3932, 331, 3, 2, 2, 2, 3933, 3934, 7, 73, 2, 2, 3934, 3935, 7, 189, 2, 2, 3935, 3941, 7, 172, 2, 2, 3936, 3937, 7, 492, 2, 2, 3937, 3938, 7, 38, 2, 2, 3938, 3939, 7, 244, 2, 2, 3939, 3940, 7, 810, 2, 2, 3940, 3942, 7, 806, 2, 2, 3941, 3936, 3, 2, 2, 2, 3941, 3942, 3, 2, 2, 2, 3942, 333, 3, 2, 2, 2, 3943, 3944, 7, 10, 2, 2, 3944, 3945, 7, 592, 2, 2, 3945, 3946, 7, 769, 2, 2, 3946, 3947, 5, 966, 484, 2, 3947, 3948, 7, 778, 2, 2, 3948, 3957, 7, 810, 2, 2, 3949, 3958, 7, 213, 2, 2, 3950, 3958, 7, 488, 2, 2, 3951, 3958, 7, 785, 2, 2, 3952, 3953, 7, 777, 2, 2, 3953, 3954, 7, 377, 2, 2, 3954, 3955, 7, 302, 2, 2, 3955, 3956, 7, 437, 2, 2, 3956, 3958, 5, 966, 484, 2, 3957, 3949, 3, 2, 2, 2, 3957, 3950, 3, 2, 2, 2, 3957, 3951, 3, 2, 2, 2, 3957, 3952, 3, 2, 2, 2, 3958, 335, 3, 2, 2, 2, 3959, 3960, 7, 10, 2, 2, 3960, 3961, 7, 640, 2, 2, 3961, 3962, 7, 141, 2, 2, 3962, 3963, 5, 966, 484, 2, 3963, 3964, 7, 828, 2, 2, 3964, 3965, 7, 829, 2, 2, 3965, 3966, 9, 36, 2, 2, 3966, 3967, 7, 663, 2, 2, 3967, 3968, 7, 828, 2, 2, 3968, 3969, 7, 802, 2, 2, 3969, 3970, 7, 829, 2, 2, 3970, 337, 3, 2, 2, 2, 3971, 3972, 7, 10, 2, 2, 3972, 3973, 7, 640, 2, 2, 3973, 3974, 7, 303, 2, 2, 3974, 3975, 5, 966, 484, 2, 3975, 3976, 7, 610, 2, 2, 3976, 3978, 7, 365, 2, 2, 3977, 3979, 5, 966, 484, 2, 3978, 3977, 3, 2, 2, 2, 3978, 3979, 3, 2, 2, 2, 3979, 339, 3, 2, 2, 2, 3980, 3981, 7, 10, 2, 2, 3981, 3982, 7, 679, 2, 2, 3982, 3983, 7, 310, 2, 2, 3983, 3984, 7, 422, 2, 2, 3984, 3985, 5, 966, 484, 2, 3985, 3989, 7, 377, 2, 2, 3986, 3987, 7, 366, 2, 2, 3987, 3988, 7, 810, 2, 2, 3988, 3990, 5, 966, 484, 2, 3989, 3986, 3, 2, 2, 2, 3989, 3990, 3, 2, 2, 2, 3990, 3995, 3, 2, 2, 2, 3991, 3992, 7, 830, 2, 2, 3992, 3993, 7, 12, 2, 2, 3993, 3994, 7, 810, 2, 2, 3994, 3996, 9, 9, 2, 2, 3995, 3991, 3, 2, 2, 2, 3995, 3996, 3, 2, 2, 2, 3996, 341, 3, 2, 2, 2, 3997, 3998, 7, 73, 2, 2, 3998, 3999, 7, 679, 2, 2, 3999, 4000, 7, 310, 2, 2, 4000, 4001, 7, 422, 2, 2, 4001, 4004, 5, 966, 484, 2, 4002, 4003, 7, 20, 2, 2, 4003, 4005, 5, 966, 484, 2, 4004, 4002, 3, 2, 2, 2, 4004, 4005, 3, 2, 2, 2, 4005, 4006, 3, 2, 2, 2, 4006, 4007, 7, 346, 2, 2, 4007, 4008, 7, 310, 2, 2, 4008, 4009, 7, 806, 2, 2, 4009, 4013, 7, 377, 2, 2, 4010, 4011, 7, 366, 2, 2, 4011, 4012, 7, 810, 2, 2, 4012, 4014, 5, 966, 484, 2, 4013, 4010, 3, 2, 2, 2, 4013, 4014, 3, 2, 2, 2, 4014, 4019, 3, 2, 2, 2, 4015, 4016, 7, 830, 2, 2, 4016, 4017, 7, 12, 2, 2, 4017, 4018, 7, 810, 2, 2, 4018, 4020, 9, 9, 2, 2, 4019, 4015, 3, 2, 2, 2, 4019, 4020, 3, 2, 2, 2, 4020, 343, 3, 2, 2, 2, 4021, 4022, 7, 73, 2, 2, 4022, 4023, 7, 690, 2, 2, 4023, 4024, 7, 645, 2, 2, 4024, 4127, 5, 966, 484, 2, 4025, 4026, 7, 377, 2, 2, 4026, 4033, 7, 828, 2, 2, 4027, 4029, 7, 830, 2, 2, 4028, 4027, 3, 2, 2, 2, 4028, 4029, 3, 2, 2, 2, 4029, 4030, 3, 2, 2, 2, 4030, 4031, 7, 595, 2, 2, 4031, 4032, 7, 810, 2, 2, 4032, 4034, 7, 802, 2, 2, 4033, 4028, 3, 2, 2, 2, 4033, 4034, 3, 2, 2, 2, 4034, 4041, 3, 2, 2, 2, 4035, 4037, 7, 830, 2, 2, 4036, 4035, 3, 2, 2, 2, 4036, 4037, 3, 2, 2, 2, 4037, 4038, 3, 2, 2, 2, 4038, 4039, 7, 578, 2, 2, 4039, 4040, 7, 810, 2, 2, 4040, 4042, 7, 802, 2, 2, 4041, 4036, 3, 2, 2, 2, 4041, 4042, 3, 2, 2, 2, 4042, 4049, 3, 2, 2, 2, 4043, 4045, 7, 830, 2, 2, 4044, 4043, 3, 2, 2, 2, 4044, 4045, 3, 2, 2, 2, 4045, 4046, 3, 2, 2, 2, 4046, 4047, 7, 428, 2, 2, 4047, 4048, 7, 810, 2, 2, 4048, 4050, 7, 802, 2, 2, 4049, 4044, 3, 2, 2, 2, 4049, 4050, 3, 2, 2, 2, 4050, 4092, 3, 2, 2, 2, 4051, 4053, 7, 830, 2, 2, 4052, 4051, 3, 2, 2, 2, 4052, 4053, 3, 2, 2, 2, 4053, 4054, 3, 2, 2, 2, 4054, 4055, 7, 391, 2, 2, 4055, 4056, 7, 301, 2, 2, 4056, 4090, 7, 810, 2, 2, 4057, 4091, 7, 408, 2, 2, 4058, 4068, 7, 828, 2, 2, 4059, 4061, 7, 830, 2, 2, 4060, 4059, 3, 2, 2, 2, 4060, 4061, 3, 2, 2, 2, 4061, 4066, 3, 2, 2, 2, 4062, 4067, 7, 802, 2, 2, 4063, 4064, 7, 802, 2, 2, 4064, 4065, 7, 346, 2, 2, 4065, 4067, 7, 802, 2, 2, 4066, 4062, 3, 2, 2, 2, 4066, 4063, 3, 2, 2, 2, 4067, 4069, 3, 2, 2, 2, 4068, 4060, 3, 2, 2, 2, 4069, 4070, 3, 2, 2, 2, 4070, 4068, 3, 2, 2, 2, 4070, 4071, 3, 2, 2, 2, 4071, 4072, 3, 2, 2, 2, 4072, 4091, 7, 829, 2, 2, 4073, 4074, 7, 622, 2, 2, 4074, 4075, 7, 810, 2, 2, 4075, 4085, 7, 828, 2, 2, 4076, 4078, 7, 830, 2, 2, 4077, 4076, 3, 2, 2, 2, 4077, 4078, 3, 2, 2, 2, 4078, 4083, 3, 2, 2, 2, 4079, 4084, 7, 802, 2, 2, 4080, 4081, 7, 802, 2, 2, 4081, 4082, 7, 346, 2, 2, 4082, 4084, 7, 802, 2, 2, 4083, 4079, 3, 2, 2, 2, 4083, 4080, 3, 2, 2, 2, 4084, 4086, 3, 2, 2, 2, 4085, 4077, 3, 2, 2, 2, 4086, 4087, 3, 2, 2, 2, 4087, 4085, 3, 2, 2, 2, 4087, 4088, 3, 2, 2, 2, 4088, 4089, 3, 2, 2, 2, 4089, 4091, 7, 829, 2, 2, 4090, 4057, 3, 2, 2, 2, 4090, 4058, 3, 2, 2, 2, 4090, 4073, 3, 2, 2, 2, 4091, 4093, 3, 2, 2, 2, 4092, 4052, 3, 2, 2, 2, 4092, 4093, 3, 2, 2, 2, 4093, 4100, 3, 2, 2, 2, 4094, 4096, 7, 830, 2, 2, 4095, 4094, 3, 2, 2, 2, 4095, 4096, 3, 2, 2, 2, 4096, 4097, 3, 2, 2, 2, 4097, 4098, 7, 597, 2, 2, 4098, 4099, 7, 810, 2, 2, 4099, 4101, 7, 802, 2, 2, 4100, 4095, 3, 2, 2, 2, 4100, 4101, 3, 2, 2, 2, 4101, 4108, 3, 2, 2, 2, 4102, 4104, 7, 830, 2, 2, 4103, 4102, 3, 2, 2, 2, 4103, 4104, 3, 2, 2, 2, 4104, 4105, 3, 2, 2, 2, 4105, 4106, 7, 582, 2, 2, 4106, 4107, 7, 810, 2, 2, 4107, 4109, 7, 802, 2, 2, 4108, 4103, 3, 2, 2, 2, 4108, 4109, 3, 2, 2, 2, 4109, 4116, 3, 2, 2, 2, 4110, 4112, 7, 830, 2, 2, 4111, 4110, 3, 2, 2, 2, 4111, 4112, 3, 2, 2, 2, 4112, 4113, 3, 2, 2, 2, 4113, 4114, 7, 596, 2, 2, 4114, 4115, 7, 810, 2, 2, 4115, 4117, 7, 802, 2, 2, 4116, 4111, 3, 2, 2, 2, 4116, 4117, 3, 2, 2, 2, 4117, 4124, 3, 2, 2, 2, 4118, 4120, 7, 830, 2, 2, 4119, 4118, 3, 2, 2, 2, 4119, 4120, 3, 2, 2, 2, 4120, 4121, 3, 2, 2, 2, 4121, 4122, 7, 581, 2, 2, 4122, 4123, 7, 810, 2, 2, 4123, 4125, 7, 802, 2, 2, 4124, 4119, 3, 2, 2, 2, 4124, 4125, 3, 2, 2, 2, 4125, 4126, 3, 2, 2, 2, 4126, 4128, 7, 829, 2, 2, 4127, 4025, 3, 2, 2, 2, 4127, 4128, 3, 2, 2, 2, 4128, 345, 3, 2, 2, 2, 4129, 4130, 7, 10, 2, 2, 4130, 4131, 7, 690, 2, 2, 4131, 4153, 7, 144, 2, 2, 4132, 4154, 9, 37, 2, 2, 4133, 4134, 7, 377, 2, 2, 4134, 4135, 7, 828, 2, 2, 4135, 4136, 7, 50, 2, 2, 4136, 4142, 7, 810, 2, 2, 4137, 4138, 5, 966, 484, 2, 4138, 4139, 7, 823, 2, 2, 4139, 4140, 5, 966, 484, 2, 4140, 4143, 3, 2, 2, 2, 4141, 4143, 7, 223, 2, 2, 4142, 4137, 3, 2, 2, 2, 4142, 4141, 3, 2, 2, 2, 4143, 4144, 3, 2, 2, 2, 4144, 4154, 7, 829, 2, 2, 4145, 4146, 7, 276, 2, 2, 4146, 4154, 7, 328, 2, 2, 4147, 4148, 7, 377, 2, 2, 4148, 4149, 7, 828, 2, 2, 4149, 4150, 7, 196, 2, 2, 4150, 4151, 7, 810, 2, 2, 4151, 4152, 7, 802, 2, 2, 4152, 4154, 7, 829, 2, 2, 4153, 4132, 3, 2, 2, 2, 4153, 4133, 3, 2, 2, 2, 4153, 4145, 3, 2, 2, 2, 4153, 4147, 3, 2, 2, 2, 4154, 347, 3, 2, 2, 2, 4155, 4156, 7, 10, 2, 2, 4156, 4157, 7, 289, 2, 2, 4157, 4165, 5, 966, 484, 2, 4158, 4159, 9, 21, 2, 2, 4159, 4160, 7, 199, 2, 2, 4160, 4166, 5, 966, 484, 2, 4161, 4162, 7, 377, 2, 2, 4162, 4163, 7, 605, 2, 2, 4163, 4164, 7, 810, 2, 2, 4164, 4166, 5, 966, 484, 2, 4165, 4158, 3, 2, 2, 2, 4165, 4161, 3, 2, 2, 2, 4166, 349, 3, 2, 2, 2, 4167, 4168, 7, 73, 2, 2, 4168, 4169, 7, 289, 2, 2, 4169, 4172, 5, 966, 484, 2, 4170, 4171, 7, 20, 2, 2, 4171, 4173, 5, 966, 484, 2, 4172, 4170, 3, 2, 2, 2, 4172, 4173, 3, 2, 2, 2, 4173, 351, 3, 2, 2, 2, 4174, 4175, 7, 73, 2, 2, 4175, 4176, 7, 696, 2, 2, 4176, 4179, 5, 966, 484, 2, 4177, 4178, 7, 20, 2, 2, 4178, 4180, 5, 966, 484, 2, 4179, 4177, 3, 2, 2, 2, 4179, 4180, 3, 2, 2, 2, 4180, 4181, 3, 2, 2, 2, 4181, 4188, 7, 377, 2, 2, 4182, 4184, 7, 830, 2, 2, 4183, 4182, 3, 2, 2, 2, 4183, 4184, 3, 2, 2, 2, 4184, 4185, 3, 2, 2, 2, 4185, 4186, 7, 312, 2, 2, 4186, 4187, 7, 810, 2, 2, 4187, 4189, 7, 806, 2, 2, 4188, 4183, 3, 2, 2, 2, 4188, 4189, 3, 2, 2, 2, 4189, 4196, 3, 2, 2, 2, 4190, 4192, 7, 830, 2, 2, 4191, 4190, 3, 2, 2, 2, 4191, 4192, 3, 2, 2, 2, 4192, 4193, 3, 2, 2, 2, 4193, 4194, 7, 425, 2, 2, 4194, 4195, 7, 810, 2, 2, 4195, 4197, 7, 806, 2, 2, 4196, 4191, 3, 2, 2, 2, 4196, 4197, 3, 2, 2, 2, 4197, 4204, 3, 2, 2, 2, 4198, 4200, 7, 830, 2, 2, 4199, 4198, 3, 2, 2, 2, 4199, 4200, 3, 2, 2, 2, 4200, 4201, 3, 2, 2, 2, 4201, 4202, 7, 179, 2, 2, 4202, 4203, 7, 810, 2, 2, 4203, 4205, 7, 802, 2, 2, 4204, 4199, 3, 2, 2, 2, 4204, 4205, 3, 2, 2, 2, 4205, 4207, 3, 2, 2, 2, 4206, 4208, 7, 830, 2, 2, 4207, 4206, 3, 2, 2, 2, 4207, 4208, 3, 2, 2, 2, 4208, 4209, 3, 2, 2, 2, 4209, 4210, 7, 387, 2, 2, 4210, 4211, 7, 810, 2, 2, 4211, 4216, 9, 38, 2, 2, 4212, 4213, 7, 830, 2, 2, 4213, 4214, 7, 599, 2, 2, 4214, 4215, 7, 810, 2, 2, 4215, 4217, 9, 38, 2, 2, 4216, 4212, 3, 2, 2, 2, 4216, 4217, 3, 2, 2, 2, 4217, 353, 3, 2, 2, 2, 4218, 4219, 7, 73, 2, 2, 4219, 4223, 7, 298, 2, 2, 4220, 4221, 5, 966, 484, 2, 4221, 4222, 7, 823, 2, 2, 4222, 4224, 3, 2, 2, 2, 4223, 4220, 3, 2, 2, 2, 4223, 4224, 3, 2, 2, 2, 4224, 4225, 3, 2, 2, 2, 4225, 4226, 5, 966, 484, 2, 4226, 4227, 7, 16, 2, 2, 4227, 4228, 5, 750, 376, 2, 4228, 355, 3, 2, 2, 2, 4229, 4230, 7, 10, 2, 2, 4230, 4231, 7, 302, 2, 2, 4231, 4232, 5, 966, 484, 2, 4232, 4242, 7, 351, 2, 2, 4233, 4239, 7, 625, 2, 2, 4234, 4239, 7, 769, 2, 2, 4235, 4236, 7, 789, 2, 2, 4236, 4237, 7, 302, 2, 2, 4237, 4239, 7, 437, 2, 2, 4238, 4233, 3, 2, 2, 2, 4238, 4234, 3, 2, 2, 2, 4238, 4235, 3, 2, 2, 2, 4239, 4240, 3, 2, 2, 2, 4240, 4241, 7, 832, 2, 2, 4241, 4243, 7, 832, 2, 2, 4242, 4238, 3, 2, 2, 2, 4242, 4243, 3, 2, 2, 2, 4243, 4244, 3, 2, 2, 2, 4244, 4247, 5, 966, 484, 2, 4245, 4246, 7, 823, 2, 2, 4246, 4248, 5, 966, 484, 2, 4247, 4245, 3, 2, 2, 2, 4247, 4248, 3, 2, 2, 2, 4248, 357, 3, 2, 2, 2, 4249, 4250, 7, 73, 2, 2, 4250, 4258, 7, 302, 2, 2, 4251, 4259, 5, 966, 484, 2, 4252, 4253, 7, 20, 2, 2, 4253, 4259, 5, 966, 484, 2, 4254, 4255, 5, 966, 484, 2, 4255, 4256, 7, 20, 2, 2, 4256, 4257, 5, 966, 484, 2, 4257, 4259, 3, 2, 2, 2, 4258, 4251, 3, 2, 2, 2, 4258, 4252, 3, 2, 2, 2, 4258, 4254, 3, 2, 2, 2, 4259, 4288, 3, 2, 2, 2, 4260, 4287, 5, 494, 248, 2, 4261, 4287, 5, 498, 250, 2, 4262, 4263, 9, 39, 2, 2, 4263, 4264, 9, 40, 2, 2, 4264, 4268, 7, 229, 2, 2, 4265, 4266, 7, 302, 2, 2, 4266, 4267, 7, 832, 2, 2, 4267, 4269, 7, 832, 2, 2, 4268, 4265, 3, 2, 2, 2, 4268, 4269, 3, 2, 2, 2, 4269, 4270, 3, 2, 2, 2, 4270, 4271, 5, 966, 484, 2, 4271, 4272, 7, 346, 2, 2, 4272, 4273, 5, 966, 484, 2, 4273, 4287, 3, 2, 2, 2, 4274, 4275, 7, 285, 2, 2, 4275, 4276, 9, 40, 2, 2, 4276, 4280, 7, 229, 2, 2, 4277, 4278, 7, 302, 2, 2, 4278, 4279, 7, 832, 2, 2, 4279, 4281, 7, 832, 2, 2, 4280, 4277, 3, 2, 2, 2, 4280, 4281, 3, 2, 2, 2, 4281, 4282, 3, 2, 2, 2, 4282, 4283, 5, 966, 484, 2, 4283, 4284, 7, 139, 2, 2, 4284, 4285, 5, 966, 484, 2, 4285, 4287, 3, 2, 2, 2, 4286, 4260, 3, 2, 2, 2, 4286, 4261, 3, 2, 2, 2, 4286, 4262, 3, 2, 2, 2, 4286, 4274, 3, 2, 2, 2, 4287, 4290, 3, 2, 2, 2, 4288, 4286, 3, 2, 2, 2, 4288, 4289, 3, 2, 2, 2, 4289, 359, 3, 2, 2, 2, 4290, 4288, 3, 2, 2, 2, 4291, 4292, 7, 73, 2, 2, 4292, 4293, 7, 302, 2, 2, 4293, 4296, 5, 966, 484, 2, 4294, 4295, 7, 20, 2, 2, 4295, 4297, 5, 966, 484, 2, 4296, 4294, 3, 2, 2, 2, 4296, 4297, 3, 2, 2, 2, 4297, 361, 3, 2, 2, 2, 4298, 4299, 7, 10, 2, 2, 4299, 4300, 7, 302, 2, 2, 4300, 4301, 5, 966, 484, 2, 4301, 4305, 7, 351, 2, 2, 4302, 4303, 7, 625, 2, 2, 4303, 4304, 7, 832, 2, 2, 4304, 4306, 7, 832, 2, 2, 4305, 4302, 3, 2, 2, 2, 4305, 4306, 3, 2, 2, 2, 4306, 4307, 3, 2, 2, 2, 4307, 4310, 5, 966, 484, 2, 4308, 4309, 7, 823, 2, 2, 4309, 4311, 7, 803, 2, 2, 4310, 4308, 3, 2, 2, 2, 4310, 4311, 3, 2, 2, 2, 4311, 363, 3, 2, 2, 2, 4312, 4313, 7, 73, 2, 2, 4313, 4314, 7, 706, 2, 2, 4314, 4315, 7, 656, 2, 2, 4315, 4316, 7, 563, 2, 2, 4316, 4324, 5, 966, 484, 2, 4317, 4321, 7, 139, 2, 2, 4318, 4319, 5, 966, 484, 2, 4319, 4320, 7, 823, 2, 2, 4320, 4322, 3, 2, 2, 2, 4321, 4318, 3, 2, 2, 2, 4321, 4322, 3, 2, 2, 2, 4322, 4323, 3, 2, 2, 2, 4323, 4325, 5, 966, 484, 2, 4324, 4317, 3, 2, 2, 2, 4324, 4325, 3, 2, 2, 2, 4325, 4328, 3, 2, 2, 2, 4326, 4327, 7, 20, 2, 2, 4327, 4329, 5, 966, 484, 2, 4328, 4326, 3, 2, 2, 2, 4328, 4329, 3, 2, 2, 2, 4329, 365, 3, 2, 2, 2, 4330, 4331, 7, 73, 2, 2, 4331, 4332, 7, 712, 2, 2, 4332, 4336, 7, 253, 2, 2, 4333, 4334, 5, 966, 484, 2, 4334, 4335, 7, 823, 2, 2, 4335, 4337, 3, 2, 2, 2, 4336, 4333, 3, 2, 2, 2, 4336, 4337, 3, 2, 2, 2, 4337, 4338, 3, 2, 2, 2, 4338, 4379, 5, 966, 484, 2, 4339, 4341, 7, 830, 2, 2, 4340, 4339, 3, 2, 2, 2, 4340, 4341, 3, 2, 2, 2, 4341, 4342, 3, 2, 2, 2, 4342, 4344, 7, 4, 2, 2, 4343, 4345, 9, 41, 2, 2, 4344, 4343, 3, 2, 2, 2, 4344, 4345, 3, 2, 2, 2, 4345, 4346, 3, 2, 2, 2, 4346, 4347, 7, 255, 2, 2, 4347, 4348, 5, 966, 484, 2, 4348, 4349, 7, 823, 2, 2, 4349, 4350, 5, 966, 484, 2, 4350, 4355, 7, 828, 2, 2, 4351, 4353, 7, 830, 2, 2, 4352, 4351, 3, 2, 2, 2, 4352, 4353, 3, 2, 2, 2, 4353, 4354, 3, 2, 2, 2, 4354, 4356, 5, 966, 484, 2, 4355, 4352, 3, 2, 2, 2, 4356, 4357, 3, 2, 2, 2, 4357, 4355, 3, 2, 2, 2, 4357, 4358, 3, 2, 2, 2, 4358, 4359, 3, 2, 2, 2, 4359, 4360, 7, 829, 2, 2, 4360, 4361, 7, 229, 2, 2, 4361, 4362, 5, 966, 484, 2, 4362, 4363, 7, 823, 2, 2, 4363, 4376, 5, 966, 484, 2, 4364, 4366, 7, 830, 2, 2, 4365, 4364, 3, 2, 2, 2, 4365, 4366, 3, 2, 2, 2, 4366, 4367, 3, 2, 2, 2, 4367, 4368, 7, 392, 2, 2, 4368, 4375, 9, 42, 2, 2, 4369, 4371, 7, 830, 2, 2, 4370, 4369, 3, 2, 2, 2, 4370, 4371, 3, 2, 2, 2, 4371, 4372, 3, 2, 2, 2, 4372, 4373, 7, 27, 2, 2, 4373, 4375, 9, 43, 2, 2, 4374, 4365, 3, 2, 2, 2, 4374, 4370, 3, 2, 2, 2, 4375, 4378, 3, 2, 2, 2, 4376, 4374, 3, 2, 2, 2, 4376, 4377, 3, 2, 2, 2, 4377, 4380, 3, 2, 2, 2, 4378, 4376, 3, 2, 2, 2, 4379, 4340, 3, 2, 2, 2, 4380, 4381, 3, 2, 2, 2, 4381, 4379, 3, 2, 2, 2, 4381, 4382, 3, 2, 2, 2, 4382, 4393, 3, 2, 2, 2, 4383, 4384, 7, 377, 2, 2, 4384, 4385, 7, 828, 2, 2, 4385, 4386, 7, 329, 2, 2, 4386, 4387, 7, 810, 2, 2, 4387, 4390, 9, 9, 2, 2, 4388, 4389, 7, 702, 2, 2, 4389, 4391, 9, 9, 2, 2, 4390, 4388, 3, 2, 2, 2, 4390, 4391, 3, 2, 2, 2, 4391, 4392, 3, 2, 2, 2, 4392, 4394, 7, 829, 2, 2, 4393, 4383, 3, 2, 2, 2, 4393, 4394, 3, 2, 2, 2, 4394, 4398, 3, 2, 2, 2, 4395, 4396, 7, 220, 2, 2, 4396, 4397, 7, 133, 2, 2, 4397, 4399, 7, 274, 2, 2, 4398, 4395, 3, 2, 2, 2, 4398, 4399, 3, 2, 2, 2, 4399, 367, 3, 2, 2, 2, 4400, 4401, 7, 10, 2, 2, 4401, 4405, 7, 719, 2, 2, 4402, 4403, 5, 966, 484, 2, 4403, 4404, 7, 823, 2, 2, 4404, 4406, 3, 2, 2, 2, 4405, 4402, 3, 2, 2, 2, 4405, 4406, 3, 2, 2, 2, 4406, 4407, 3, 2, 2, 2, 4407, 4413, 5, 966, 484, 2, 4408, 4411, 7, 277, 2, 2, 4409, 4410, 7, 377, 2, 2, 4410, 4412, 7, 802, 2, 2, 4411, 4409, 3, 2, 2, 2, 4411, 4412, 3, 2, 2, 2, 4412, 4414, 3, 2, 2, 2, 4413, 4408, 3, 2, 2, 2, 4413, 4414, 3, 2, 2, 2, 4414, 4418, 3, 2, 2, 2, 4415, 4416, 7, 157, 2, 2, 4416, 4417, 7, 38, 2, 2, 4417, 4419, 7, 802, 2, 2, 4418, 4415, 3, 2, 2, 2, 4418, 4419, 3, 2, 2, 2, 4419, 4424, 3, 2, 2, 2, 4420, 4421, 7, 204, 2, 2, 4421, 4425, 7, 802, 2, 2, 4422, 4423, 7, 611, 2, 2, 4423, 4425, 7, 204, 2, 2, 4424, 4420, 3, 2, 2, 2, 4424, 4422, 3, 2, 2, 2, 4424, 4425, 3, 2, 2, 2, 4425, 4430, 3, 2, 2, 2, 4426, 4427, 7, 192, 2, 2, 4427, 4431, 7, 802, 2, 2, 4428, 4429, 7, 611, 2, 2, 4429, 4431, 7, 192, 2, 2, 4430, 4426, 3, 2, 2, 2, 4430, 4428, 3, 2, 2, 2, 4430, 4431, 3, 2, 2, 2, 4431, 4435, 3, 2, 2, 2, 4432, 4436, 7, 81, 2, 2, 4433, 4434, 7, 611, 2, 2, 4434, 4436, 7, 81, 2, 2, 4435, 4432, 3, 2, 2, 2, 4435, 4433, 3, 2, 2, 2, 4435, 4436, 3, 2, 2, 2, 4436, 4441, 3, 2, 2, 2, 4437, 4438, 7, 39, 2, 2, 4438, 4442, 7, 802, 2, 2, 4439, 4440, 7, 611, 2, 2, 4440, 4442, 7, 39, 2, 2, 4441, 4437, 3, 2, 2, 2, 4441, 4439, 3, 2, 2, 2, 4441, 4442, 3, 2, 2, 2, 4442, 369, 3, 2, 2, 2, 4443, 4444, 7, 73, 2, 2, 4444, 4448, 7, 719, 2, 2, 4445, 4446, 5, 966, 484, 2, 4446, 4447, 7, 823, 2, 2, 4447, 4449, 3, 2, 2, 2, 4448, 4445, 3, 2, 2, 2, 4448, 4449, 3, 2, 2, 2, 4449, 4450, 3, 2, 2, 2, 4450, 4453, 5, 966, 484, 2, 4451, 4452, 7, 16, 2, 2, 4452, 4454, 5, 958, 480, 2, 4453, 4451, 3, 2, 2, 2, 4453, 4454, 3, 2, 2, 2, 4454, 4458, 3, 2, 2, 2, 4455, 4456, 7, 331, 2, 2, 4456, 4457, 7, 377, 2, 2, 4457, 4459, 7, 802, 2, 2, 4458, 4455, 3, 2, 2, 2, 4458, 4459, 3, 2, 2, 2, 4459, 4466, 3, 2, 2, 2, 4460, 4461, 7, 157, 2, 2, 4461, 4463, 7, 38, 2, 2, 4462, 4464, 7, 837, 2, 2, 4463, 4462, 3, 2, 2, 2, 4463, 4464, 3, 2, 2, 2, 4464, 4465, 3, 2, 2, 2, 4465, 4467, 7, 802, 2, 2, 4466, 4460, 3, 2, 2, 2, 4466, 4467, 3, 2, 2, 2, 4467, 4474, 3, 2, 2, 2, 4468, 4470, 7, 204, 2, 2, 4469, 4471, 7, 802, 2, 2, 4470, 4469, 3, 2, 2, 2, 4470, 4471, 3, 2, 2, 2, 4471, 4475, 3, 2, 2, 2, 4472, 4473, 7, 611, 2, 2, 4473, 4475, 7, 204, 2, 2, 4474, 4468, 3, 2, 2, 2, 4474, 4472, 3, 2, 2, 2, 4474, 4475, 3, 2, 2, 2, 4475, 4482, 3, 2, 2, 2, 4476, 4478, 7, 192, 2, 2, 4477, 4479, 7, 802, 2, 2, 4478, 4477, 3, 2, 2, 2, 4478, 4479, 3, 2, 2, 2, 4479, 4483, 3, 2, 2, 2, 4480, 4481, 7, 611, 2, 2, 4481, 4483, 7, 192, 2, 2, 4482, 4476, 3, 2, 2, 2, 4482, 4480, 3, 2, 2, 2, 4482, 4483, 3, 2, 2, 2, 4483, 4487, 3, 2, 2, 2, 4484, 4488, 7, 81, 2, 2, 4485, 4486, 7, 611, 2, 2, 4486, 4488, 7, 81, 2, 2, 4487, 4484, 3, 2, 2, 2, 4487, 4485, 3, 2, 2, 2, 4487, 4488, 3, 2, 2, 2, 4488, 4495, 3, 2, 2, 2, 4489, 4491, 7, 39, 2, 2, 4490, 4492, 7, 802, 2, 2, 4491, 4490, 3, 2, 2, 2, 4491, 4492, 3, 2, 2, 2, 4492, 4496, 3, 2, 2, 2, 4493, 4494, 7, 611, 2, 2, 4494, 4496, 7, 39, 2, 2, 4495, 4489, 3, 2, 2, 2, 4495, 4493, 3, 2, 2, 2, 4495, 4496, 3, 2, 2, 2, 4496, 371, 3, 2, 2, 2, 4497, 4498, 7, 10, 2, 2, 4498, 4499, 7, 309, 2, 2, 4499, 4500, 7, 406, 2, 2, 4500, 4632, 5, 966, 484, 2, 4501, 4546, 7, 346, 2, 2, 4502, 4503, 7, 129, 2, 2, 4503, 4540, 7, 828, 2, 2, 4504, 4506, 7, 830, 2, 2, 4505, 4504, 3, 2, 2, 2, 4505, 4506, 3, 2, 2, 2, 4506, 4507, 3, 2, 2, 2, 4507, 4508, 7, 509, 2, 2, 4508, 4509, 7, 810, 2, 2, 4509, 4539, 7, 806, 2, 2, 4510, 4512, 7, 830, 2, 2, 4511, 4510, 3, 2, 2, 2, 4511, 4512, 3, 2, 2, 2, 4512, 4513, 3, 2, 2, 2, 4513, 4514, 7, 588, 2, 2, 4514, 4518, 7, 810, 2, 2, 4515, 4516, 7, 802, 2, 2, 4516, 4519, 9, 44, 2, 2, 4517, 4519, 7, 774, 2, 2, 4518, 4515, 3, 2, 2, 2, 4518, 4517, 3, 2, 2, 2, 4519, 4539, 3, 2, 2, 2, 4520, 4522, 7, 830, 2, 2, 4521, 4520, 3, 2, 2, 2, 4521, 4522, 3, 2, 2, 2, 4522, 4523, 3, 2, 2, 2, 4523, 4524, 7, 585, 2, 2, 4524, 4525, 7, 810, 2, 2, 4525, 4539, 9, 45, 2, 2, 4526, 4528, 7, 830, 2, 2, 4527, 4526, 3, 2, 2, 2, 4527, 4528, 3, 2, 2, 2, 4528, 4529, 3, 2, 2, 2, 4529, 4530, 7, 580, 2, 2, 4530, 4531, 7, 810, 2, 2, 4531, 4539, 7, 802, 2, 2, 4532, 4534, 7, 830, 2, 2, 4533, 4532, 3, 2, 2, 2, 4533, 4534, 3, 2, 2, 2, 4534, 4535, 3, 2, 2, 2, 4535, 4536, 7, 689, 2, 2, 4536, 4537, 7, 810, 2, 2, 4537, 4539, 9, 9, 2, 2, 4538, 4505, 3, 2, 2, 2, 4538, 4511, 3, 2, 2, 2, 4538, 4521, 3, 2, 2, 2, 4538, 4527, 3, 2, 2, 2, 4538, 4533, 3, 2, 2, 2, 4539, 4542, 3, 2, 2, 2, 4540, 4538, 3, 2, 2, 2, 4540, 4541, 3, 2, 2, 2, 4541, 4543, 3, 2, 2, 2, 4542, 4540, 3, 2, 2, 2, 4543, 4547, 7, 829, 2, 2, 4544, 4547, 7, 402, 2, 2, 4545, 4547, 7, 713, 2, 2, 4546, 4502, 3, 2, 2, 2, 4546, 4544, 3, 2, 2, 2, 4546, 4545, 3, 2, 2, 2, 4547, 4549, 3, 2, 2, 2, 4548, 4501, 3, 2, 2, 2, 4548, 4549, 3, 2, 2, 2, 4549, 4576, 3, 2, 2, 2, 4550, 4551, 7, 377, 2, 2, 4551, 4572, 7, 828, 2, 2, 4552, 4554, 7, 830, 2, 2, 4553, 4552, 3, 2, 2, 2, 4553, 4554, 3, 2, 2, 2, 4554, 4555, 3, 2, 2, 2, 4555, 4556, 7, 661, 2, 2, 4556, 4557, 7, 810, 2, 2, 4557, 4571, 7, 802, 2, 2, 4558, 4560, 7, 830, 2, 2, 4559, 4558, 3, 2, 2, 2, 4559, 4560, 3, 2, 2, 2, 4560, 4561, 3, 2, 2, 2, 4561, 4562, 7, 230, 2, 2, 4562, 4563, 7, 810, 2, 2, 4563, 4571, 9, 46, 2, 2, 4564, 4566, 7, 830, 2, 2, 4565, 4564, 3, 2, 2, 2, 4565, 4566, 3, 2, 2, 2, 4566, 4567, 3, 2, 2, 2, 4567, 4568, 7, 329, 2, 2, 4568, 4569, 7, 810, 2, 2, 4569, 4571, 9, 9, 2, 2, 4570, 4553, 3, 2, 2, 2, 4570, 4559, 3, 2, 2, 2, 4570, 4565, 3, 2, 2, 2, 4571, 4574, 3, 2, 2, 2, 4572, 4570, 3, 2, 2, 2, 4572, 4573, 3, 2, 2, 2, 4573, 4575, 3, 2, 2, 2, 4574, 4572, 3, 2, 2, 2, 4575, 4577, 7, 829, 2, 2, 4576, 4550, 3, 2, 2, 2, 4576, 4577, 3, 2, 2, 2, 4577, 4624, 3, 2, 2, 2, 4578, 4622, 7, 374, 2, 2, 4579, 4581, 7, 830, 2, 2, 4580, 4579, 3, 2, 2, 2, 4580, 4581, 3, 2, 2, 2, 4581, 4583, 3, 2, 2, 2, 4582, 4584, 7, 220, 2, 2, 4583, 4582, 3, 2, 2, 2, 4583, 4584, 3, 2, 2, 2, 4584, 4585, 3, 2, 2, 2, 4585, 4597, 5, 966, 484, 2, 4586, 4598, 7, 810, 2, 2, 4587, 4588, 7, 812, 2, 2, 4588, 4598, 7, 811, 2, 2, 4589, 4590, 7, 813, 2, 2, 4590, 4598, 7, 810, 2, 2, 4591, 4598, 7, 811, 2, 2, 4592, 4593, 7, 811, 2, 2, 4593, 4598, 7, 810, 2, 2, 4594, 4598, 7, 812, 2, 2, 4595, 4596, 7, 812, 2, 2, 4596, 4598, 7, 810, 2, 2, 4597, 4586, 3, 2, 2, 2, 4597, 4587, 3, 2, 2, 2, 4597, 4589, 3, 2, 2, 2, 4597, 4591, 3, 2, 2, 2, 4597, 4592, 3, 2, 2, 2, 4597, 4594, 3, 2, 2, 2, 4597, 4595, 3, 2, 2, 2, 4598, 4599, 3, 2, 2, 2, 4599, 4600, 9, 24, 2, 2, 4600, 4623, 3, 2, 2, 2, 4601, 4603, 7, 830, 2, 2, 4602, 4601, 3, 2, 2, 2, 4602, 4603, 3, 2, 2, 2, 4603, 4604, 3, 2, 2, 2, 4604, 4606, 9, 29, 2, 2, 4605, 4607, 7, 220, 2, 2, 4606, 4605, 3, 2, 2, 2, 4606, 4607, 3, 2, 2, 2, 4607, 4619, 3, 2, 2, 2, 4608, 4620, 7, 810, 2, 2, 4609, 4610, 7, 812, 2, 2, 4610, 4620, 7, 811, 2, 2, 4611, 4612, 7, 813, 2, 2, 4612, 4620, 7, 810, 2, 2, 4613, 4620, 7, 811, 2, 2, 4614, 4615, 7, 811, 2, 2, 4615, 4620, 7, 810, 2, 2, 4616, 4620, 7, 812, 2, 2, 4617, 4618, 7, 812, 2, 2, 4618, 4620, 7, 810, 2, 2, 4619, 4608, 3, 2, 2, 2, 4619, 4609, 3, 2, 2, 2, 4619, 4611, 3, 2, 2, 2, 4619, 4613, 3, 2, 2, 2, 4619, 4614, 3, 2, 2, 2, 4619, 4616, 3, 2, 2, 2, 4619, 4617, 3, 2, 2, 2, 4620, 4621, 3, 2, 2, 2, 4621, 4623, 9, 24, 2, 2, 4622, 4580, 3, 2, 2, 2, 4622, 4602, 3, 2, 2, 2, 4623, 4625, 3, 2, 2, 2, 4624, 4578, 3, 2, 2, 2, 4624, 4625, 3, 2, 2, 2, 4625, 4633, 3, 2, 2, 2, 4626, 4627, 7, 681, 2, 2, 4627, 4633, 7, 374, 2, 2, 4628, 4629, 7, 602, 2, 2, 4629, 4630, 7, 605, 2, 2, 4630, 4631, 7, 810, 2, 2, 4631, 4633, 5, 966, 484, 2, 4632, 4548, 3, 2, 2, 2, 4632, 4626, 3, 2, 2, 2, 4632, 4628, 3, 2, 2, 2, 4633, 373, 3, 2, 2, 2, 4634, 4635, 7, 73, 2, 2, 4635, 4636, 7, 309, 2, 2, 4636, 4637, 7, 406, 2, 2, 4637, 4775, 5, 966, 484, 2, 4638, 4683, 7, 346, 2, 2, 4639, 4640, 7, 129, 2, 2, 4640, 4677, 7, 828, 2, 2, 4641, 4643, 7, 830, 2, 2, 4642, 4641, 3, 2, 2, 2, 4642, 4643, 3, 2, 2, 2, 4643, 4644, 3, 2, 2, 2, 4644, 4645, 7, 509, 2, 2, 4645, 4646, 7, 810, 2, 2, 4646, 4676, 7, 806, 2, 2, 4647, 4649, 7, 830, 2, 2, 4648, 4647, 3, 2, 2, 2, 4648, 4649, 3, 2, 2, 2, 4649, 4650, 3, 2, 2, 2, 4650, 4651, 7, 588, 2, 2, 4651, 4655, 7, 810, 2, 2, 4652, 4653, 7, 802, 2, 2, 4653, 4656, 9, 44, 2, 2, 4654, 4656, 7, 774, 2, 2, 4655, 4652, 3, 2, 2, 2, 4655, 4654, 3, 2, 2, 2, 4656, 4676, 3, 2, 2, 2, 4657, 4659, 7, 830, 2, 2, 4658, 4657, 3, 2, 2, 2, 4658, 4659, 3, 2, 2, 2, 4659, 4660, 3, 2, 2, 2, 4660, 4661, 7, 585, 2, 2, 4661, 4662, 7, 810, 2, 2, 4662, 4676, 9, 45, 2, 2, 4663, 4665, 7, 830, 2, 2, 4664, 4663, 3, 2, 2, 2, 4664, 4665, 3, 2, 2, 2, 4665, 4666, 3, 2, 2, 2, 4666, 4667, 7, 580, 2, 2, 4667, 4668, 7, 810, 2, 2, 4668, 4676, 7, 802, 2, 2, 4669, 4671, 7, 830, 2, 2, 4670, 4669, 3, 2, 2, 2, 4670, 4671, 3, 2, 2, 2, 4671, 4672, 3, 2, 2, 2, 4672, 4673, 7, 689, 2, 2, 4673, 4674, 7, 810, 2, 2, 4674, 4676, 9, 9, 2, 2, 4675, 4642, 3, 2, 2, 2, 4675, 4648, 3, 2, 2, 2, 4675, 4658, 3, 2, 2, 2, 4675, 4664, 3, 2, 2, 2, 4675, 4670, 3, 2, 2, 2, 4676, 4679, 3, 2, 2, 2, 4677, 4675, 3, 2, 2, 2, 4677, 4678, 3, 2, 2, 2, 4678, 4680, 3, 2, 2, 2, 4679, 4677, 3, 2, 2, 2, 4680, 4684, 7, 829, 2, 2, 4681, 4684, 7, 402, 2, 2, 4682, 4684, 7, 713, 2, 2, 4683, 4639, 3, 2, 2, 2, 4683, 4681, 3, 2, 2, 2, 4683, 4682, 3, 2, 2, 2, 4684, 4686, 3, 2, 2, 2, 4685, 4638, 3, 2, 2, 2, 4685, 4686, 3, 2, 2, 2, 4686, 4719, 3, 2, 2, 2, 4687, 4688, 7, 377, 2, 2, 4688, 4715, 7, 828, 2, 2, 4689, 4691, 7, 830, 2, 2, 4690, 4689, 3, 2, 2, 2, 4690, 4691, 3, 2, 2, 2, 4691, 4692, 3, 2, 2, 2, 4692, 4693, 7, 661, 2, 2, 4693, 4694, 7, 810, 2, 2, 4694, 4714, 7, 802, 2, 2, 4695, 4697, 7, 830, 2, 2, 4696, 4695, 3, 2, 2, 2, 4696, 4697, 3, 2, 2, 2, 4697, 4698, 3, 2, 2, 2, 4698, 4699, 7, 230, 2, 2, 4699, 4700, 7, 810, 2, 2, 4700, 4714, 9, 46, 2, 2, 4701, 4703, 7, 830, 2, 2, 4702, 4701, 3, 2, 2, 2, 4702, 4703, 3, 2, 2, 2, 4703, 4704, 3, 2, 2, 2, 4704, 4705, 7, 329, 2, 2, 4705, 4706, 7, 810, 2, 2, 4706, 4714, 9, 9, 2, 2, 4707, 4709, 7, 830, 2, 2, 4708, 4707, 3, 2, 2, 2, 4708, 4709, 3, 2, 2, 2, 4709, 4710, 3, 2, 2, 2, 4710, 4711, 7, 407, 2, 2, 4711, 4712, 7, 810, 2, 2, 4712, 4714, 5, 966, 484, 2, 4713, 4690, 3, 2, 2, 2, 4713, 4696, 3, 2, 2, 2, 4713, 4702, 3, 2, 2, 2, 4713, 4708, 3, 2, 2, 2, 4714, 4717, 3, 2, 2, 2, 4715, 4713, 3, 2, 2, 2, 4715, 4716, 3, 2, 2, 2, 4716, 4718, 3, 2, 2, 2, 4717, 4715, 3, 2, 2, 2, 4718, 4720, 7, 829, 2, 2, 4719, 4687, 3, 2, 2, 2, 4719, 4720, 3, 2, 2, 2, 4720, 4767, 3, 2, 2, 2, 4721, 4765, 7, 374, 2, 2, 4722, 4724, 7, 830, 2, 2, 4723, 4722, 3, 2, 2, 2, 4723, 4724, 3, 2, 2, 2, 4724, 4726, 3, 2, 2, 2, 4725, 4727, 7, 220, 2, 2, 4726, 4725, 3, 2, 2, 2, 4726, 4727, 3, 2, 2, 2, 4727, 4728, 3, 2, 2, 2, 4728, 4740, 5, 966, 484, 2, 4729, 4741, 7, 810, 2, 2, 4730, 4731, 7, 812, 2, 2, 4731, 4741, 7, 811, 2, 2, 4732, 4733, 7, 813, 2, 2, 4733, 4741, 7, 810, 2, 2, 4734, 4741, 7, 811, 2, 2, 4735, 4736, 7, 811, 2, 2, 4736, 4741, 7, 810, 2, 2, 4737, 4741, 7, 812, 2, 2, 4738, 4739, 7, 812, 2, 2, 4739, 4741, 7, 810, 2, 2, 4740, 4729, 3, 2, 2, 2, 4740, 4730, 3, 2, 2, 2, 4740, 4732, 3, 2, 2, 2, 4740, 4734, 3, 2, 2, 2, 4740, 4735, 3, 2, 2, 2, 4740, 4737, 3, 2, 2, 2, 4740, 4738, 3, 2, 2, 2, 4741, 4742, 3, 2, 2, 2, 4742, 4743, 9, 24, 2, 2, 4743, 4766, 3, 2, 2, 2, 4744, 4746, 7, 830, 2, 2, 4745, 4744, 3, 2, 2, 2, 4745, 4746, 3, 2, 2, 2, 4746, 4747, 3, 2, 2, 2, 4747, 4749, 9, 29, 2, 2, 4748, 4750, 7, 220, 2, 2, 4749, 4748, 3, 2, 2, 2, 4749, 4750, 3, 2, 2, 2, 4750, 4762, 3, 2, 2, 2, 4751, 4763, 7, 810, 2, 2, 4752, 4753, 7, 812, 2, 2, 4753, 4763, 7, 811, 2, 2, 4754, 4755, 7, 813, 2, 2, 4755, 4763, 7, 810, 2, 2, 4756, 4763, 7, 811, 2, 2, 4757, 4758, 7, 811, 2, 2, 4758, 4763, 7, 810, 2, 2, 4759, 4763, 7, 812, 2, 2, 4760, 4761, 7, 812, 2, 2, 4761, 4763, 7, 810, 2, 2, 4762, 4751, 3, 2, 2, 2, 4762, 4752, 3, 2, 2, 2, 4762, 4754, 3, 2, 2, 2, 4762, 4756, 3, 2, 2, 2, 4762, 4757, 3, 2, 2, 2, 4762, 4759, 3, 2, 2, 2, 4762, 4760, 3, 2, 2, 2, 4763, 4764, 3, 2, 2, 2, 4764, 4766, 9, 24, 2, 2, 4765, 4723, 3, 2, 2, 2, 4765, 4745, 3, 2, 2, 2, 4766, 4768, 3, 2, 2, 2, 4767, 4721, 3, 2, 2, 2, 4767, 4768, 3, 2, 2, 2, 4768, 4776, 3, 2, 2, 2, 4769, 4770, 7, 681, 2, 2, 4770, 4776, 7, 374, 2, 2, 4771, 4772, 7, 602, 2, 2, 4772, 4773, 7, 605, 2, 2, 4773, 4774, 7, 810, 2, 2, 4774, 4776, 5, 966, 484, 2, 4775, 4685, 3, 2, 2, 2, 4775, 4769, 3, 2, 2, 2, 4775, 4771, 3, 2, 2, 2, 4776, 375, 3, 2, 2, 2, 4777, 4778, 7, 10, 2, 2, 4778, 4779, 7, 309, 2, 2, 4779, 4780, 7, 406, 2, 2, 4780, 4781, 7, 323, 2, 2, 4781, 4786, 5, 966, 484, 2, 4782, 4783, 7, 133, 2, 2, 4783, 4784, 7, 309, 2, 2, 4784, 4785, 7, 406, 2, 2, 4785, 4787, 5, 966, 484, 2, 4786, 4782, 3, 2, 2, 2, 4786, 4787, 3, 2, 2, 2, 4787, 4795, 3, 2, 2, 2, 4788, 4789, 9, 21, 2, 2, 4789, 4790, 7, 828, 2, 2, 4790, 4791, 5, 966, 484, 2, 4791, 4792, 7, 829, 2, 2, 4792, 4794, 3, 2, 2, 2, 4793, 4788, 3, 2, 2, 2, 4794, 4797, 3, 2, 2, 2, 4795, 4793, 3, 2, 2, 2, 4795, 4796, 3, 2, 2, 2, 4796, 4804, 3, 2, 2, 2, 4797, 4795, 3, 2, 2, 2, 4798, 4799, 7, 377, 2, 2, 4799, 4800, 7, 828, 2, 2, 4800, 4801, 7, 329, 2, 2, 4801, 4802, 7, 810, 2, 2, 4802, 4803, 9, 9, 2, 2, 4803, 4805, 7, 829, 2, 2, 4804, 4798, 3, 2, 2, 2, 4804, 4805, 3, 2, 2, 2, 4805, 377, 3, 2, 2, 2, 4806, 4807, 7, 73, 2, 2, 4807, 4808, 7, 309, 2, 2, 4808, 4809, 7, 406, 2, 2, 4809, 4810, 7, 323, 2, 2, 4810, 4815, 5, 966, 484, 2, 4811, 4812, 7, 133, 2, 2, 4812, 4813, 7, 309, 2, 2, 4813, 4814, 7, 406, 2, 2, 4814, 4816, 5, 966, 484, 2, 4815, 4811, 3, 2, 2, 2, 4815, 4816, 3, 2, 2, 2, 4816, 4824, 3, 2, 2, 2, 4817, 4818, 7, 4, 2, 2, 4818, 4819, 7, 828, 2, 2, 4819, 4820, 5, 966, 484, 2, 4820, 4821, 7, 829, 2, 2, 4821, 4823, 3, 2, 2, 2, 4822, 4817, 3, 2, 2, 2, 4823, 4826, 3, 2, 2, 2, 4824, 4822, 3, 2, 2, 2, 4824, 4825, 3, 2, 2, 2, 4825, 4833, 3, 2, 2, 2, 4826, 4824, 3, 2, 2, 2, 4827, 4828, 7, 377, 2, 2, 4828, 4829, 7, 828, 2, 2, 4829, 4830, 7, 329, 2, 2, 4830, 4831, 7, 810, 2, 2, 4831, 4832, 9, 9, 2, 2, 4832, 4834, 7, 829, 2, 2, 4833, 4827, 3, 2, 2, 2, 4833, 4834, 3, 2, 2, 2, 4834, 379, 3, 2, 2, 2, 4835, 4836, 7, 10, 2, 2, 4836, 4837, 7, 309, 2, 2, 4837, 4838, 7, 60, 2, 2, 4838, 4944, 7, 315, 2, 2, 4839, 4840, 7, 260, 2, 2, 4840, 4876, 7, 391, 2, 2, 4841, 4842, 7, 449, 2, 2, 4842, 4858, 7, 810, 2, 2, 4843, 4859, 7, 408, 2, 2, 4844, 4846, 7, 830, 2, 2, 4845, 4844, 3, 2, 2, 2, 4845, 4846, 3, 2, 2, 2, 4846, 4847, 3, 2, 2, 2, 4847, 4855, 7, 802, 2, 2, 4848, 4850, 7, 830, 2, 2, 4849, 4848, 3, 2, 2, 2, 4849, 4850, 3, 2, 2, 2, 4850, 4851, 3, 2, 2, 2, 4851, 4852, 7, 802, 2, 2, 4852, 4853, 7, 346, 2, 2, 4853, 4855, 7, 802, 2, 2, 4854, 4845, 3, 2, 2, 2, 4854, 4849, 3, 2, 2, 2, 4855, 4856, 3, 2, 2, 2, 4856, 4854, 3, 2, 2, 2, 4856, 4857, 3, 2, 2, 2, 4857, 4859, 3, 2, 2, 2, 4858, 4843, 3, 2, 2, 2, 4858, 4854, 3, 2, 2, 2, 4859, 4877, 3, 2, 2, 2, 4860, 4861, 7, 622, 2, 2, 4861, 4872, 7, 810, 2, 2, 4862, 4864, 7, 830, 2, 2, 4863, 4862, 3, 2, 2, 2, 4863, 4864, 3, 2, 2, 2, 4864, 4865, 3, 2, 2, 2, 4865, 4873, 7, 802, 2, 2, 4866, 4868, 7, 830, 2, 2, 4867, 4866, 3, 2, 2, 2, 4867, 4868, 3, 2, 2, 2, 4868, 4869, 3, 2, 2, 2, 4869, 4870, 7, 802, 2, 2, 4870, 4871, 7, 346, 2, 2, 4871, 4873, 7, 802, 2, 2, 4872, 4863, 3, 2, 2, 2, 4872, 4867, 3, 2, 2, 2, 4873, 4874, 3, 2, 2, 2, 4874, 4872, 3, 2, 2, 2, 4874, 4875, 3, 2, 2, 2, 4875, 4877, 3, 2, 2, 2, 4876, 4841, 3, 2, 2, 2, 4876, 4860, 3, 2, 2, 2, 4877, 4945, 3, 2, 2, 2, 4878, 4879, 7, 95, 2, 2, 4879, 4895, 7, 187, 2, 2, 4880, 4896, 7, 229, 2, 2, 4881, 4896, 7, 226, 2, 2, 4882, 4883, 7, 643, 2, 2, 4883, 4884, 7, 810, 2, 2, 4884, 4896, 9, 47, 2, 2, 4885, 4886, 7, 195, 2, 2, 4886, 4890, 7, 810, 2, 2, 4887, 4888, 7, 802, 2, 2, 4888, 4891, 7, 589, 2, 2, 4889, 4891, 7, 89, 2, 2, 4890, 4887, 3, 2, 2, 2, 4890, 4889, 3, 2, 2, 2, 4891, 4896, 3, 2, 2, 2, 4892, 4893, 7, 580, 2, 2, 4893, 4894, 7, 810, 2, 2, 4894, 4896, 9, 48, 2, 2, 4895, 4880, 3, 2, 2, 2, 4895, 4881, 3, 2, 2, 2, 4895, 4882, 3, 2, 2, 2, 4895, 4885, 3, 2, 2, 2, 4895, 4892, 3, 2, 2, 2, 4896, 4945, 3, 2, 2, 2, 4897, 4898, 7, 125, 2, 2, 4898, 4899, 7, 52, 2, 2, 4899, 4917, 7, 656, 2, 2, 4900, 4901, 7, 369, 2, 2, 4901, 4902, 7, 810, 2, 2, 4902, 4918, 9, 47, 2, 2, 4903, 4904, 7, 325, 2, 2, 4904, 4905, 7, 810, 2, 2, 4905, 4918, 9, 47, 2, 2, 4906, 4907, 7, 326, 2, 2, 4907, 4908, 7, 810, 2, 2, 4908, 4918, 9, 47, 2, 2, 4909, 4910, 7, 327, 2, 2, 4910, 4918, 9, 47, 2, 2, 4911, 4912, 7, 126, 2, 2, 4912, 4913, 7, 810, 2, 2, 4913, 4918, 9, 47, 2, 2, 4914, 4915, 7, 149, 2, 2, 4915, 4916, 7, 810, 2, 2, 4916, 4918, 9, 48, 2, 2, 4917, 4900, 3, 2, 2, 2, 4917, 4903, 3, 2, 2, 2, 4917, 4906, 3, 2, 2, 2, 4917, 4909, 3, 2, 2, 2, 4917, 4911, 3, 2, 2, 2, 4917, 4914, 3, 2, 2, 2, 4918, 4945, 3, 2, 2, 2, 4919, 4920, 7, 530, 2, 2, 4920, 4921, 7, 52, 2, 2, 4921, 4922, 7, 65, 2, 2, 4922, 4923, 7, 810, 2, 2, 4923, 4945, 9, 49, 2, 2, 4924, 4925, 7, 35, 2, 2, 4925, 4926, 7, 645, 2, 2, 4926, 4939, 7, 122, 2, 2, 4927, 4928, 7, 229, 2, 2, 4928, 4929, 7, 828, 2, 2, 4929, 4930, 7, 130, 2, 2, 4930, 4931, 7, 810, 2, 2, 4931, 4932, 7, 806, 2, 2, 4932, 4933, 7, 830, 2, 2, 4933, 4934, 7, 728, 2, 2, 4934, 4935, 7, 810, 2, 2, 4935, 4936, 7, 802, 2, 2, 4936, 4937, 9, 50, 2, 2, 4937, 4940, 7, 829, 2, 2, 4938, 4940, 7, 226, 2, 2, 4939, 4927, 3, 2, 2, 2, 4939, 4938, 3, 2, 2, 2, 4940, 4945, 3, 2, 2, 2, 4941, 4942, 7, 315, 2, 2, 4942, 4943, 7, 320, 2, 2, 4943, 4945, 9, 9, 2, 2, 4944, 4839, 3, 2, 2, 2, 4944, 4878, 3, 2, 2, 2, 4944, 4897, 3, 2, 2, 2, 4944, 4919, 3, 2, 2, 2, 4944, 4924, 3, 2, 2, 2, 4944, 4941, 3, 2, 2, 2, 4945, 381, 3, 2, 2, 2, 4946, 4947, 7, 10, 2, 2, 4947, 4948, 7, 309, 2, 2, 4948, 4949, 7, 289, 2, 2, 4949, 4957, 5, 966, 484, 2, 4950, 4951, 9, 21, 2, 2, 4951, 4952, 7, 199, 2, 2, 4952, 4958, 5, 966, 484, 2, 4953, 4954, 7, 377, 2, 2, 4954, 4955, 7, 605, 2, 2, 4955, 4956, 7, 810, 2, 2, 4956, 4958, 5, 966, 484, 2, 4957, 4950, 3, 2, 2, 2, 4957, 4953, 3, 2, 2, 2, 4958, 383, 3, 2, 2, 2, 4959, 4960, 7, 73, 2, 2, 4960, 4961, 7, 309, 2, 2, 4961, 4962, 7, 289, 2, 2, 4962, 4965, 5, 966, 484, 2, 4963, 4964, 7, 20, 2, 2, 4964, 4966, 5, 966, 484, 2, 4965, 4963, 3, 2, 2, 2, 4965, 4966, 3, 2, 2, 2, 4966, 385, 3, 2, 2, 2, 4967, 4968, 7, 10, 2, 2, 4968, 4969, 7, 309, 2, 2, 4969, 4970, 7, 289, 2, 2, 4970, 4971, 5, 966, 484, 2, 4971, 4972, 9, 21, 2, 2, 4972, 4973, 7, 199, 2, 2, 4973, 4974, 5, 966, 484, 2, 4974, 387, 3, 2, 2, 2, 4975, 4976, 7, 10, 2, 2, 4976, 4977, 7, 310, 2, 2, 4977, 4985, 5, 966, 484, 2, 4978, 4979, 7, 229, 2, 2, 4979, 4980, 7, 660, 2, 2, 4980, 4981, 5, 966, 484, 2, 4981, 4982, 7, 823, 2, 2, 4982, 4983, 3, 2, 2, 2, 4983, 4984, 5, 966, 484, 2, 4984, 4986, 3, 2, 2, 2, 4985, 4978, 3, 2, 2, 2, 4985, 4986, 3, 2, 2, 2, 4986, 4994, 3, 2, 2, 2, 4987, 4989, 7, 830, 2, 2, 4988, 4987, 3, 2, 2, 2, 4988, 4989, 3, 2, 2, 2, 4989, 4990, 3, 2, 2, 2, 4990, 4991, 9, 21, 2, 2, 4991, 4993, 5, 966, 484, 2, 4992, 4988, 3, 2, 2, 2, 4993, 4996, 3, 2, 2, 2, 4994, 4992, 3, 2, 2, 2, 4994, 4995, 3, 2, 2, 2, 4995, 389, 3, 2, 2, 2, 4996, 4994, 3, 2, 2, 2, 4997, 4998, 7, 73, 2, 2, 4998, 4999, 7, 310, 2, 2, 4999, 5002, 5, 966, 484, 2, 5000, 5001, 7, 20, 2, 2, 5001, 5003, 5, 966, 484, 2, 5002, 5000, 3, 2, 2, 2, 5002, 5003, 3, 2, 2, 2, 5003, 5004, 3, 2, 2, 2, 5004, 5005, 7, 229, 2, 2, 5005, 5009, 7, 660, 2, 2, 5006, 5007, 5, 966, 484, 2, 5007, 5008, 7, 823, 2, 2, 5008, 5010, 3, 2, 2, 2, 5009, 5006, 3, 2, 2, 2, 5009, 5010, 3, 2, 2, 2, 5010, 5011, 3, 2, 2, 2, 5011, 5025, 5, 966, 484, 2, 5012, 5020, 7, 828, 2, 2, 5013, 5015, 7, 830, 2, 2, 5014, 5013, 3, 2, 2, 2, 5014, 5015, 3, 2, 2, 2, 5015, 5018, 3, 2, 2, 2, 5016, 5019, 5, 966, 484, 2, 5017, 5019, 7, 89, 2, 2, 5018, 5016, 3, 2, 2, 2, 5018, 5017, 3, 2, 2, 2, 5019, 5021, 3, 2, 2, 2, 5020, 5014, 3, 2, 2, 2, 5021, 5022, 3, 2, 2, 2, 5022, 5020, 3, 2, 2, 2, 5022, 5023, 3, 2, 2, 2, 5023, 5024, 3, 2, 2, 2, 5024, 5026, 7, 829, 2, 2, 5025, 5012, 3, 2, 2, 2, 5025, 5026, 3, 2, 2, 2, 5026, 391, 3, 2, 2, 2, 5027, 5028, 7, 10, 2, 2, 5028, 5029, 7, 310, 2, 2, 5029, 5030, 7, 189, 2, 2, 5030, 5052, 7, 172, 2, 2, 5031, 5033, 7, 515, 2, 2, 5032, 5031, 3, 2, 2, 2, 5032, 5033, 3, 2, 2, 2, 5033, 5034, 3, 2, 2, 2, 5034, 5053, 7, 271, 2, 2, 5035, 5050, 7, 377, 2, 2, 5036, 5037, 7, 628, 2, 2, 5037, 5038, 7, 810, 2, 2, 5038, 5039, 7, 806, 2, 2, 5039, 5040, 7, 830, 2, 2, 5040, 5041, 7, 228, 2, 2, 5041, 5042, 7, 810, 2, 2, 5042, 5051, 7, 806, 2, 2, 5043, 5044, 7, 607, 2, 2, 5044, 5045, 7, 810, 2, 2, 5045, 5046, 7, 806, 2, 2, 5046, 5047, 7, 830, 2, 2, 5047, 5048, 7, 609, 2, 2, 5048, 5049, 7, 810, 2, 2, 5049, 5051, 7, 806, 2, 2, 5050, 5036, 3, 2, 2, 2, 5050, 5043, 3, 2, 2, 2, 5050, 5051, 3, 2, 2, 2, 5051, 5053, 3, 2, 2, 2, 5052, 5032, 3, 2, 2, 2, 5052, 5035, 3, 2, 2, 2, 5053, 393, 3, 2, 2, 2, 5054, 5055, 7, 10, 2, 2, 5055, 5056, 7, 747, 2, 2, 5056, 5057, 7, 172, 2, 2, 5057, 5058, 5, 966, 484, 2, 5058, 5059, 9, 21, 2, 2, 5059, 5060, 7, 492, 2, 2, 5060, 5072, 7, 38, 2, 2, 5061, 5062, 7, 43, 2, 2, 5062, 5073, 5, 966, 484, 2, 5063, 5064, 7, 244, 2, 2, 5064, 5065, 7, 810, 2, 2, 5065, 5073, 7, 806, 2, 2, 5066, 5067, 7, 747, 2, 2, 5067, 5068, 7, 172, 2, 2, 5068, 5073, 5, 966, 484, 2, 5069, 5070, 7, 18, 2, 2, 5070, 5071, 7, 172, 2, 2, 5071, 5073, 5, 966, 484, 2, 5072, 5061, 3, 2, 2, 2, 5072, 5063, 3, 2, 2, 2, 5072, 5066, 3, 2, 2, 2, 5072, 5069, 3, 2, 2, 2, 5073, 395, 3, 2, 2, 2, 5074, 5075, 7, 10, 2, 2, 5075, 5076, 7, 747, 2, 2, 5076, 5077, 7, 172, 2, 2, 5077, 5080, 5, 966, 484, 2, 5078, 5079, 7, 20, 2, 2, 5079, 5081, 5, 966, 484, 2, 5080, 5078, 3, 2, 2, 2, 5080, 5081, 3, 2, 2, 2, 5081, 5085, 3, 2, 2, 2, 5082, 5083, 7, 139, 2, 2, 5083, 5084, 7, 657, 2, 2, 5084, 5086, 5, 966, 484, 2, 5085, 5082, 3, 2, 2, 2, 5085, 5086, 3, 2, 2, 2, 5086, 5087, 3, 2, 2, 2, 5087, 5120, 7, 377, 2, 2, 5088, 5089, 7, 555, 2, 2, 5089, 5090, 7, 810, 2, 2, 5090, 5104, 7, 806, 2, 2, 5091, 5092, 7, 394, 2, 2, 5092, 5093, 7, 810, 2, 2, 5093, 5104, 9, 51, 2, 2, 5094, 5095, 7, 536, 2, 2, 5095, 5096, 7, 810, 2, 2, 5096, 5104, 7, 806, 2, 2, 5097, 5098, 7, 658, 2, 2, 5098, 5099, 7, 810, 2, 2, 5099, 5104, 7, 806, 2, 2, 5100, 5101, 7, 451, 2, 2, 5101, 5102, 7, 810, 2, 2, 5102, 5104, 9, 12, 2, 2, 5103, 5088, 3, 2, 2, 2, 5103, 5091, 3, 2, 2, 2, 5103, 5094, 3, 2, 2, 2, 5103, 5097, 3, 2, 2, 2, 5103, 5100, 3, 2, 2, 2, 5104, 5121, 3, 2, 2, 2, 5105, 5106, 7, 492, 2, 2, 5106, 5118, 7, 38, 2, 2, 5107, 5108, 7, 43, 2, 2, 5108, 5119, 5, 966, 484, 2, 5109, 5110, 7, 244, 2, 2, 5110, 5111, 7, 810, 2, 2, 5111, 5119, 7, 806, 2, 2, 5112, 5113, 7, 747, 2, 2, 5113, 5114, 7, 172, 2, 2, 5114, 5119, 5, 966, 484, 2, 5115, 5116, 7, 18, 2, 2, 5116, 5117, 7, 172, 2, 2, 5117, 5119, 5, 966, 484, 2, 5118, 5107, 3, 2, 2, 2, 5118, 5109, 3, 2, 2, 2, 5118, 5112, 3, 2, 2, 2, 5118, 5115, 3, 2, 2, 2, 5119, 5121, 3, 2, 2, 2, 5120, 5103, 3, 2, 2, 2, 5120, 5105, 3, 2, 2, 2, 5121, 397, 3, 2, 2, 2, 5122, 5123, 7, 73, 2, 2, 5123, 5127, 7, 749, 2, 2, 5124, 5125, 5, 966, 484, 2, 5125, 5126, 7, 823, 2, 2, 5126, 5128, 3, 2, 2, 2, 5127, 5124, 3, 2, 2, 2, 5127, 5128, 3, 2, 2, 2, 5128, 5129, 3, 2, 2, 2, 5129, 5130, 5, 966, 484, 2, 5130, 5157, 7, 133, 2, 2, 5131, 5132, 5, 966, 484, 2, 5132, 5133, 7, 823, 2, 2, 5133, 5135, 3, 2, 2, 2, 5134, 5131, 3, 2, 2, 2, 5134, 5135, 3, 2, 2, 2, 5135, 5139, 3, 2, 2, 2, 5136, 5137, 5, 966, 484, 2, 5137, 5138, 7, 823, 2, 2, 5138, 5140, 3, 2, 2, 2, 5139, 5136, 3, 2, 2, 2, 5139, 5140, 3, 2, 2, 2, 5140, 5144, 3, 2, 2, 2, 5141, 5142, 5, 966, 484, 2, 5142, 5143, 7, 823, 2, 2, 5143, 5145, 3, 2, 2, 2, 5144, 5141, 3, 2, 2, 2, 5144, 5145, 3, 2, 2, 2, 5145, 5146, 3, 2, 2, 2, 5146, 5158, 5, 966, 484, 2, 5147, 5148, 5, 966, 484, 2, 5148, 5149, 7, 823, 2, 2, 5149, 5151, 3, 2, 2, 2, 5150, 5147, 3, 2, 2, 2, 5150, 5151, 3, 2, 2, 2, 5151, 5155, 3, 2, 2, 2, 5152, 5153, 5, 966, 484, 2, 5153, 5154, 7, 823, 2, 2, 5154, 5156, 3, 2, 2, 2, 5155, 5152, 3, 2, 2, 2, 5155, 5156, 3, 2, 2, 2, 5156, 5158, 3, 2, 2, 2, 5157, 5134, 3, 2, 2, 2, 5157, 5150, 3, 2, 2, 2, 5158, 399, 3, 2, 2, 2, 5159, 5160, 7, 10, 2, 2, 5160, 5161, 7, 366, 2, 2, 5161, 5162, 5, 966, 484, 2, 5162, 5213, 7, 377, 2, 2, 5163, 5165, 7, 830, 2, 2, 5164, 5163, 3, 2, 2, 2, 5164, 5165, 3, 2, 2, 2, 5165, 5166, 3, 2, 2, 2, 5166, 5167, 7, 605, 2, 2, 5167, 5168, 7, 810, 2, 2, 5168, 5214, 5, 966, 484, 2, 5169, 5171, 7, 830, 2, 2, 5170, 5169, 3, 2, 2, 2, 5170, 5171, 3, 2, 2, 2, 5171, 5172, 3, 2, 2, 2, 5172, 5173, 7, 91, 2, 2, 5173, 5176, 7, 810, 2, 2, 5174, 5177, 5, 966, 484, 2, 5175, 5177, 7, 223, 2, 2, 5176, 5174, 3, 2, 2, 2, 5176, 5175, 3, 2, 2, 2, 5177, 5214, 3, 2, 2, 2, 5178, 5180, 7, 830, 2, 2, 5179, 5178, 3, 2, 2, 2, 5179, 5180, 3, 2, 2, 2, 5180, 5181, 3, 2, 2, 2, 5181, 5182, 7, 571, 2, 2, 5182, 5183, 7, 810, 2, 2, 5183, 5214, 5, 966, 484, 2, 5184, 5186, 7, 830, 2, 2, 5185, 5184, 3, 2, 2, 2, 5185, 5186, 3, 2, 2, 2, 5186, 5187, 3, 2, 2, 2, 5187, 5188, 7, 244, 2, 2, 5188, 5189, 7, 810, 2, 2, 5189, 5193, 7, 806, 2, 2, 5190, 5191, 7, 228, 2, 2, 5191, 5192, 7, 810, 2, 2, 5192, 5194, 7, 806, 2, 2, 5193, 5190, 3, 2, 2, 2, 5194, 5195, 3, 2, 2, 2, 5195, 5193, 3, 2, 2, 2, 5195, 5196, 3, 2, 2, 2, 5196, 5214, 3, 2, 2, 2, 5197, 5199, 7, 830, 2, 2, 5198, 5197, 3, 2, 2, 2, 5198, 5199, 3, 2, 2, 2, 5199, 5200, 3, 2, 2, 2, 5200, 5201, 7, 468, 2, 2, 5201, 5205, 7, 810, 2, 2, 5202, 5206, 7, 213, 2, 2, 5203, 5206, 7, 802, 2, 2, 5204, 5206, 5, 966, 484, 2, 5205, 5202, 3, 2, 2, 2, 5205, 5203, 3, 2, 2, 2, 5205, 5204, 3, 2, 2, 2, 5206, 5214, 3, 2, 2, 2, 5207, 5209, 7, 830, 2, 2, 5208, 5207, 3, 2, 2, 2, 5208, 5209, 3, 2, 2, 2, 5209, 5210, 3, 2, 2, 2, 5210, 5211, 7, 395, 2, 2, 5211, 5212, 7, 810, 2, 2, 5212, 5214, 9, 9, 2, 2, 5213, 5164, 3, 2, 2, 2, 5213, 5170, 3, 2, 2, 2, 5213, 5179, 3, 2, 2, 2, 5213, 5185, 3, 2, 2, 2, 5213, 5198, 3, 2, 2, 2, 5213, 5208, 3, 2, 2, 2, 5214, 5215, 3, 2, 2, 2, 5215, 5213, 3, 2, 2, 2, 5215, 5216, 3, 2, 2, 2, 5216, 401, 3, 2, 2, 2, 5217, 5218, 7, 73, 2, 2, 5218, 5219, 7, 366, 2, 2, 5219, 5223, 5, 966, 484, 2, 5220, 5221, 9, 52, 2, 2, 5221, 5222, 7, 571, 2, 2, 5222, 5224, 5, 966, 484, 2, 5223, 5220, 3, 2, 2, 2, 5223, 5224, 3, 2, 2, 2, 5224, 5243, 3, 2, 2, 2, 5225, 5240, 7, 377, 2, 2, 5226, 5228, 7, 830, 2, 2, 5227, 5226, 3, 2, 2, 2, 5227, 5228, 3, 2, 2, 2, 5228, 5229, 3, 2, 2, 2, 5229, 5230, 7, 91, 2, 2, 5230, 5231, 7, 810, 2, 2, 5231, 5239, 5, 966, 484, 2, 5232, 5234, 7, 830, 2, 2, 5233, 5232, 3, 2, 2, 2, 5233, 5234, 3, 2, 2, 2, 5234, 5235, 3, 2, 2, 2, 5235, 5236, 7, 395, 2, 2, 5236, 5237, 7, 810, 2, 2, 5237, 5239, 9, 9, 2, 2, 5238, 5227, 3, 2, 2, 2, 5238, 5233, 3, 2, 2, 2, 5239, 5242, 3, 2, 2, 2, 5240, 5238, 3, 2, 2, 2, 5240, 5241, 3, 2, 2, 2, 5241, 5244, 3, 2, 2, 2, 5242, 5240, 3, 2, 2, 2, 5243, 5225, 3, 2, 2, 2, 5243, 5244, 3, 2, 2, 2, 5244, 5364, 3, 2, 2, 2, 5245, 5246, 7, 73, 2, 2, 5246, 5327, 7, 366, 2, 2, 5247, 5282, 5, 966, 484, 2, 5248, 5279, 7, 377, 2, 2, 5249, 5251, 7, 830, 2, 2, 5250, 5249, 3, 2, 2, 2, 5250, 5251, 3, 2, 2, 2, 5251, 5252, 3, 2, 2, 2, 5252, 5253, 7, 91, 2, 2, 5253, 5254, 7, 810, 2, 2, 5254, 5278, 5, 966, 484, 2, 5255, 5257, 7, 830, 2, 2, 5256, 5255, 3, 2, 2, 2, 5256, 5257, 3, 2, 2, 2, 5257, 5258, 3, 2, 2, 2, 5258, 5259, 7, 468, 2, 2, 5259, 5263, 7, 810, 2, 2, 5260, 5264, 7, 213, 2, 2, 5261, 5264, 7, 802, 2, 2, 5262, 5264, 5, 966, 484, 2, 5263, 5260, 3, 2, 2, 2, 5263, 5261, 3, 2, 2, 2, 5263, 5262, 3, 2, 2, 2, 5264, 5278, 3, 2, 2, 2, 5265, 5267, 7, 830, 2, 2, 5266, 5265, 3, 2, 2, 2, 5266, 5267, 3, 2, 2, 2, 5267, 5268, 3, 2, 2, 2, 5268, 5269, 7, 318, 2, 2, 5269, 5270, 7, 810, 2, 2, 5270, 5278, 7, 807, 2, 2, 5271, 5273, 7, 830, 2, 2, 5272, 5271, 3, 2, 2, 2, 5272, 5273, 3, 2, 2, 2, 5273, 5274, 3, 2, 2, 2, 5274, 5275, 7, 395, 2, 2, 5275, 5276, 7, 810, 2, 2, 5276, 5278, 9, 9, 2, 2, 5277, 5250, 3, 2, 2, 2, 5277, 5256, 3, 2, 2, 2, 5277, 5266, 3, 2, 2, 2, 5277, 5272, 3, 2, 2, 2, 5278, 5281, 3, 2, 2, 2, 5279, 5277, 3, 2, 2, 2, 5279, 5280, 3, 2, 2, 2, 5280, 5283, 3, 2, 2, 2, 5281, 5279, 3, 2, 2, 2, 5282, 5248, 3, 2, 2, 2, 5282, 5283, 3, 2, 2, 2, 5283, 5328, 3, 2, 2, 2, 5284, 5285, 5, 966, 484, 2, 5285, 5286, 7, 377, 2, 2, 5286, 5287, 7, 244, 2, 2, 5287, 5288, 7, 810, 2, 2, 5288, 5319, 7, 806, 2, 2, 5289, 5291, 7, 830, 2, 2, 5290, 5289, 3, 2, 2, 2, 5290, 5291, 3, 2, 2, 2, 5291, 5292, 3, 2, 2, 2, 5292, 5293, 7, 91, 2, 2, 5293, 5294, 7, 810, 2, 2, 5294, 5318, 5, 966, 484, 2, 5295, 5297, 7, 830, 2, 2, 5296, 5295, 3, 2, 2, 2, 5296, 5297, 3, 2, 2, 2, 5297, 5298, 3, 2, 2, 2, 5298, 5299, 7, 468, 2, 2, 5299, 5303, 7, 810, 2, 2, 5300, 5304, 7, 213, 2, 2, 5301, 5304, 7, 802, 2, 2, 5302, 5304, 5, 966, 484, 2, 5303, 5300, 3, 2, 2, 2, 5303, 5301, 3, 2, 2, 2, 5303, 5302, 3, 2, 2, 2, 5304, 5318, 3, 2, 2, 2, 5305, 5307, 7, 830, 2, 2, 5306, 5305, 3, 2, 2, 2, 5306, 5307, 3, 2, 2, 2, 5307, 5308, 3, 2, 2, 2, 5308, 5309, 7, 318, 2, 2, 5309, 5310, 7, 810, 2, 2, 5310, 5318, 7, 807, 2, 2, 5311, 5313, 7, 830, 2, 2, 5312, 5311, 3, 2, 2, 2, 5312, 5313, 3, 2, 2, 2, 5313, 5314, 3, 2, 2, 2, 5314, 5315, 7, 395, 2, 2, 5315, 5316, 7, 810, 2, 2, 5316, 5318, 9, 9, 2, 2, 5317, 5290, 3, 2, 2, 2, 5317, 5296, 3, 2, 2, 2, 5317, 5306, 3, 2, 2, 2, 5317, 5312, 3, 2, 2, 2, 5318, 5321, 3, 2, 2, 2, 5319, 5317, 3, 2, 2, 2, 5319, 5320, 3, 2, 2, 2, 5320, 5328, 3, 2, 2, 2, 5321, 5319, 3, 2, 2, 2, 5322, 5323, 5, 966, 484, 2, 5323, 5324, 7, 139, 2, 2, 5324, 5325, 7, 123, 2, 2, 5325, 5326, 7, 657, 2, 2, 5326, 5328, 3, 2, 2, 2, 5327, 5247, 3, 2, 2, 2, 5327, 5284, 3, 2, 2, 2, 5327, 5322, 3, 2, 2, 2, 5328, 5364, 3, 2, 2, 2, 5329, 5330, 7, 73, 2, 2, 5330, 5331, 7, 366, 2, 2, 5331, 5358, 5, 966, 484, 2, 5332, 5333, 7, 379, 2, 2, 5333, 5348, 7, 571, 2, 2, 5334, 5336, 7, 830, 2, 2, 5335, 5334, 3, 2, 2, 2, 5335, 5336, 3, 2, 2, 2, 5336, 5337, 3, 2, 2, 2, 5337, 5338, 7, 91, 2, 2, 5338, 5339, 7, 810, 2, 2, 5339, 5347, 5, 966, 484, 2, 5340, 5342, 7, 830, 2, 2, 5341, 5340, 3, 2, 2, 2, 5341, 5342, 3, 2, 2, 2, 5342, 5343, 3, 2, 2, 2, 5343, 5344, 7, 395, 2, 2, 5344, 5345, 7, 810, 2, 2, 5345, 5347, 9, 9, 2, 2, 5346, 5335, 3, 2, 2, 2, 5346, 5341, 3, 2, 2, 2, 5347, 5350, 3, 2, 2, 2, 5348, 5346, 3, 2, 2, 2, 5348, 5349, 3, 2, 2, 2, 5349, 5359, 3, 2, 2, 2, 5350, 5348, 3, 2, 2, 2, 5351, 5352, 9, 52, 2, 2, 5352, 5353, 7, 43, 2, 2, 5353, 5359, 5, 966, 484, 2, 5354, 5355, 9, 52, 2, 2, 5355, 5356, 7, 18, 2, 2, 5356, 5357, 7, 172, 2, 2, 5357, 5359, 5, 966, 484, 2, 5358, 5332, 3, 2, 2, 2, 5358, 5351, 3, 2, 2, 2, 5358, 5354, 3, 2, 2, 2, 5359, 5364, 3, 2, 2, 2, 5360, 5361, 7, 73, 2, 2, 5361, 5362, 7, 366, 2, 2, 5362, 5364, 5, 966, 484, 2, 5363, 5217, 3, 2, 2, 2, 5363, 5245, 3, 2, 2, 2, 5363, 5329, 3, 2, 2, 2, 5363, 5360, 3, 2, 2, 2, 5364, 403, 3, 2, 2, 2, 5365, 5366, 7, 73, 2, 2, 5366, 5367, 7, 366, 2, 2, 5367, 5373, 5, 966, 484, 2, 5368, 5369, 9, 52, 2, 2, 5369, 5370, 7, 571, 2, 2, 5370, 5374, 5, 966, 484, 2, 5371, 5372, 7, 379, 2, 2, 5372, 5374, 7, 571, 2, 2, 5373, 5368, 3, 2, 2, 2, 5373, 5371, 3, 2, 2, 2, 5373, 5374, 3, 2, 2, 2, 5374, 5379, 3, 2, 2, 2, 5375, 5376, 7, 377, 2, 2, 5376, 5377, 7, 91, 2, 2, 5377, 5378, 7, 810, 2, 2, 5378, 5380, 5, 966, 484, 2, 5379, 5375, 3, 2, 2, 2, 5379, 5380, 3, 2, 2, 2, 5380, 5394, 3, 2, 2, 2, 5381, 5382, 7, 73, 2, 2, 5382, 5383, 7, 366, 2, 2, 5383, 5384, 5, 966, 484, 2, 5384, 5385, 7, 139, 2, 2, 5385, 5386, 7, 123, 2, 2, 5386, 5391, 7, 657, 2, 2, 5387, 5388, 7, 377, 2, 2, 5388, 5389, 7, 91, 2, 2, 5389, 5390, 7, 810, 2, 2, 5390, 5392, 5, 966, 484, 2, 5391, 5387, 3, 2, 2, 2, 5391, 5392, 3, 2, 2, 2, 5392, 5394, 3, 2, 2, 2, 5393, 5365, 3, 2, 2, 2, 5393, 5381, 3, 2, 2, 2, 5394, 405, 3, 2, 2, 2, 5395, 5396, 7, 10, 2, 2, 5396, 5397, 7, 366, 2, 2, 5397, 5398, 5, 966, 484, 2, 5398, 5423, 7, 377, 2, 2, 5399, 5401, 7, 830, 2, 2, 5400, 5399, 3, 2, 2, 2, 5400, 5401, 3, 2, 2, 2, 5401, 5402, 3, 2, 2, 2, 5402, 5403, 7, 605, 2, 2, 5403, 5404, 7, 810, 2, 2, 5404, 5424, 5, 966, 484, 2, 5405, 5407, 7, 830, 2, 2, 5406, 5405, 3, 2, 2, 2, 5406, 5407, 3, 2, 2, 2, 5407, 5408, 3, 2, 2, 2, 5408, 5409, 7, 91, 2, 2, 5409, 5410, 7, 810, 2, 2, 5410, 5424, 5, 966, 484, 2, 5411, 5413, 7, 830, 2, 2, 5412, 5411, 3, 2, 2, 2, 5412, 5413, 3, 2, 2, 2, 5413, 5414, 3, 2, 2, 2, 5414, 5415, 7, 571, 2, 2, 5415, 5416, 7, 810, 2, 2, 5416, 5424, 5, 966, 484, 2, 5417, 5419, 7, 830, 2, 2, 5418, 5417, 3, 2, 2, 2, 5418, 5419, 3, 2, 2, 2, 5419, 5420, 3, 2, 2, 2, 5420, 5421, 7, 395, 2, 2, 5421, 5422, 7, 810, 2, 2, 5422, 5424, 9, 9, 2, 2, 5423, 5400, 3, 2, 2, 2, 5423, 5406, 3, 2, 2, 2, 5423, 5412, 3, 2, 2, 2, 5423, 5418, 3, 2, 2, 2, 5424, 5425, 3, 2, 2, 2, 5425, 5423, 3, 2, 2, 2, 5425, 5426, 3, 2, 2, 2, 5426, 407, 3, 2, 2, 2, 5427, 5428, 7, 10, 2, 2, 5428, 5429, 7, 788, 2, 2, 5429, 5432, 7, 146, 2, 2, 5430, 5433, 5, 966, 484, 2, 5431, 5433, 7, 466, 2, 2, 5432, 5430, 3, 2, 2, 2, 5432, 5431, 3, 2, 2, 2, 5433, 5465, 3, 2, 2, 2, 5434, 5435, 7, 377, 2, 2, 5435, 5460, 7, 828, 2, 2, 5436, 5437, 7, 540, 2, 2, 5437, 5438, 7, 810, 2, 2, 5438, 5461, 9, 53, 2, 2, 5439, 5441, 7, 830, 2, 2, 5440, 5439, 3, 2, 2, 2, 5440, 5441, 3, 2, 2, 2, 5441, 5442, 3, 2, 2, 2, 5442, 5443, 7, 686, 2, 2, 5443, 5444, 7, 810, 2, 2, 5444, 5461, 7, 802, 2, 2, 5445, 5447, 7, 830, 2, 2, 5446, 5445, 3, 2, 2, 2, 5446, 5447, 3, 2, 2, 2, 5447, 5448, 3, 2, 2, 2, 5448, 5449, 7, 685, 2, 2, 5449, 5450, 7, 810, 2, 2, 5450, 5461, 7, 802, 2, 2, 5451, 5452, 7, 687, 2, 2, 5452, 5453, 7, 810, 2, 2, 5453, 5461, 7, 802, 2, 2, 5454, 5455, 7, 579, 2, 2, 5455, 5456, 7, 810, 2, 2, 5456, 5461, 7, 802, 2, 2, 5457, 5458, 7, 527, 2, 2, 5458, 5459, 7, 810, 2, 2, 5459, 5461, 7, 802, 2, 2, 5460, 5436, 3, 2, 2, 2, 5460, 5440, 3, 2, 2, 2, 5460, 5446, 3, 2, 2, 2, 5460, 5451, 3, 2, 2, 2, 5460, 5454, 3, 2, 2, 2, 5460, 5457, 3, 2, 2, 2, 5461, 5462, 3, 2, 2, 2, 5462, 5460, 3, 2, 2, 2, 5462, 5463, 3, 2, 2, 2, 5463, 5464, 3, 2, 2, 2, 5464, 5466, 7, 829, 2, 2, 5465, 5434, 3, 2, 2, 2, 5465, 5466, 3, 2, 2, 2, 5466, 5472, 3, 2, 2, 2, 5467, 5470, 7, 776, 2, 2, 5468, 5471, 5, 966, 484, 2, 5469, 5471, 7, 466, 2, 2, 5470, 5468, 3, 2, 2, 2, 5470, 5469, 3, 2, 2, 2, 5471, 5473, 3, 2, 2, 2, 5472, 5467, 3, 2, 2, 2, 5472, 5473, 3, 2, 2, 2, 5473, 409, 3, 2, 2, 2, 5474, 5475, 7, 73, 2, 2, 5475, 5476, 7, 788, 2, 2, 5476, 5477, 7, 146, 2, 2, 5477, 5509, 5, 966, 484, 2, 5478, 5479, 7, 377, 2, 2, 5479, 5504, 7, 828, 2, 2, 5480, 5481, 7, 540, 2, 2, 5481, 5482, 7, 810, 2, 2, 5482, 5505, 9, 53, 2, 2, 5483, 5485, 7, 830, 2, 2, 5484, 5483, 3, 2, 2, 2, 5484, 5485, 3, 2, 2, 2, 5485, 5486, 3, 2, 2, 2, 5486, 5487, 7, 686, 2, 2, 5487, 5488, 7, 810, 2, 2, 5488, 5505, 7, 802, 2, 2, 5489, 5491, 7, 830, 2, 2, 5490, 5489, 3, 2, 2, 2, 5490, 5491, 3, 2, 2, 2, 5491, 5492, 3, 2, 2, 2, 5492, 5493, 7, 685, 2, 2, 5493, 5494, 7, 810, 2, 2, 5494, 5505, 7, 802, 2, 2, 5495, 5496, 7, 687, 2, 2, 5496, 5497, 7, 810, 2, 2, 5497, 5505, 7, 802, 2, 2, 5498, 5499, 7, 579, 2, 2, 5499, 5500, 7, 810, 2, 2, 5500, 5505, 7, 802, 2, 2, 5501, 5502, 7, 527, 2, 2, 5502, 5503, 7, 810, 2, 2, 5503, 5505, 7, 802, 2, 2, 5504, 5480, 3, 2, 2, 2, 5504, 5484, 3, 2, 2, 2, 5504, 5490, 3, 2, 2, 2, 5504, 5495, 3, 2, 2, 2, 5504, 5498, 3, 2, 2, 2, 5504, 5501, 3, 2, 2, 2, 5505, 5506, 3, 2, 2, 2, 5506, 5504, 3, 2, 2, 2, 5506, 5507, 3, 2, 2, 2, 5507, 5508, 3, 2, 2, 2, 5508, 5510, 7, 829, 2, 2, 5509, 5478, 3, 2, 2, 2, 5509, 5510, 3, 2, 2, 2, 5510, 5524, 3, 2, 2, 2, 5511, 5514, 7, 776, 2, 2, 5512, 5515, 5, 966, 484, 2, 5513, 5515, 7, 466, 2, 2, 5514, 5512, 3, 2, 2, 2, 5514, 5513, 3, 2, 2, 2, 5514, 5515, 3, 2, 2, 2, 5515, 5522, 3, 2, 2, 2, 5516, 5518, 7, 830, 2, 2, 5517, 5516, 3, 2, 2, 2, 5517, 5518, 3, 2, 2, 2, 5518, 5519, 3, 2, 2, 2, 5519, 5520, 7, 123, 2, 2, 5520, 5523, 5, 966, 484, 2, 5521, 5523, 7, 466, 2, 2, 5522, 5517, 3, 2, 2, 2, 5522, 5521, 3, 2, 2, 2, 5522, 5523, 3, 2, 2, 2, 5523, 5525, 3, 2, 2, 2, 5524, 5511, 3, 2, 2, 2, 5524, 5525, 3, 2, 2, 2, 5525, 411, 3, 2, 2, 2, 5526, 5527, 7, 73, 2, 2, 5527, 5528, 7, 789, 2, 2, 5528, 5529, 7, 302, 2, 2, 5529, 5533, 7, 437, 2, 2, 5530, 5531, 5, 966, 484, 2, 5531, 5532, 7, 823, 2, 2, 5532, 5534, 3, 2, 2, 2, 5533, 5530, 3, 2, 2, 2, 5533, 5534, 3, 2, 2, 2, 5534, 5535, 3, 2, 2, 2, 5535, 5536, 5, 966, 484, 2, 5536, 5540, 7, 16, 2, 2, 5537, 5541, 7, 806, 2, 2, 5538, 5541, 5, 966, 484, 2, 5539, 5541, 7, 801, 2, 2, 5540, 5537, 3, 2, 2, 2, 5540, 5538, 3, 2, 2, 2, 5540, 5539, 3, 2, 2, 2, 5541, 413, 3, 2, 2, 2, 5542, 5543, 7, 73, 2, 2, 5543, 5546, 7, 660, 2, 2, 5544, 5547, 5, 908, 455, 2, 5545, 5547, 5, 966, 484, 2, 5546, 5544, 3, 2, 2, 2, 5546, 5545, 3, 2, 2, 2, 5547, 5549, 3, 2, 2, 2, 5548, 5550, 5, 416, 209, 2, 5549, 5548, 3, 2, 2, 2, 5549, 5550, 3, 2, 2, 2, 5550, 5554, 3, 2, 2, 2, 5551, 5552, 7, 229, 2, 2, 5552, 5555, 5, 966, 484, 2, 5553, 5555, 7, 89, 2, 2, 5554, 5551, 3, 2, 2, 2, 5554, 5553, 3, 2, 2, 2, 5554, 5555, 3, 2, 2, 2, 5555, 415, 3, 2, 2, 2, 5556, 5563, 7, 377, 2, 2, 5557, 5558, 7, 736, 2, 2, 5558, 5559, 7, 810, 2, 2, 5559, 5561, 9, 9, 2, 2, 5560, 5562, 7, 830, 2, 2, 5561, 5560, 3, 2, 2, 2, 5561, 5562, 3, 2, 2, 2, 5562, 5564, 3, 2, 2, 2, 5563, 5557, 3, 2, 2, 2, 5563, 5564, 3, 2, 2, 2, 5564, 5571, 3, 2, 2, 2, 5565, 5566, 7, 693, 2, 2, 5566, 5567, 7, 810, 2, 2, 5567, 5569, 9, 9, 2, 2, 5568, 5570, 7, 830, 2, 2, 5569, 5568, 3, 2, 2, 2, 5569, 5570, 3, 2, 2, 2, 5570, 5572, 3, 2, 2, 2, 5571, 5565, 3, 2, 2, 2, 5571, 5572, 3, 2, 2, 2, 5572, 5618, 3, 2, 2, 2, 5573, 5574, 7, 385, 2, 2, 5574, 5612, 7, 828, 2, 2, 5575, 5576, 7, 736, 2, 2, 5576, 5577, 7, 810, 2, 2, 5577, 5579, 9, 9, 2, 2, 5578, 5580, 7, 830, 2, 2, 5579, 5578, 3, 2, 2, 2, 5579, 5580, 3, 2, 2, 2, 5580, 5582, 3, 2, 2, 2, 5581, 5575, 3, 2, 2, 2, 5581, 5582, 3, 2, 2, 2, 5582, 5589, 3, 2, 2, 2, 5583, 5584, 7, 655, 2, 2, 5584, 5585, 7, 810, 2, 2, 5585, 5587, 5, 916, 459, 2, 5586, 5588, 7, 830, 2, 2, 5587, 5586, 3, 2, 2, 2, 5587, 5588, 3, 2, 2, 2, 5588, 5590, 3, 2, 2, 2, 5589, 5583, 3, 2, 2, 2, 5589, 5590, 3, 2, 2, 2, 5590, 5597, 3, 2, 2, 2, 5591, 5592, 7, 584, 2, 2, 5592, 5593, 7, 810, 2, 2, 5593, 5595, 7, 802, 2, 2, 5594, 5596, 7, 830, 2, 2, 5595, 5594, 3, 2, 2, 2, 5595, 5596, 3, 2, 2, 2, 5596, 5598, 3, 2, 2, 2, 5597, 5591, 3, 2, 2, 2, 5597, 5598, 3, 2, 2, 2, 5598, 5609, 3, 2, 2, 2, 5599, 5600, 7, 118, 2, 2, 5600, 5604, 7, 16, 2, 2, 5601, 5605, 7, 715, 2, 2, 5602, 5605, 7, 806, 2, 2, 5603, 5605, 7, 637, 2, 2, 5604, 5601, 3, 2, 2, 2, 5604, 5602, 3, 2, 2, 2, 5604, 5603, 3, 2, 2, 2, 5605, 5607, 3, 2, 2, 2, 5606, 5608, 7, 830, 2, 2, 5607, 5606, 3, 2, 2, 2, 5607, 5608, 3, 2, 2, 2, 5608, 5610, 3, 2, 2, 2, 5609, 5599, 3, 2, 2, 2, 5609, 5610, 3, 2, 2, 2, 5610, 5613, 3, 2, 2, 2, 5611, 5613, 7, 103, 2, 2, 5612, 5581, 3, 2, 2, 2, 5612, 5611, 3, 2, 2, 2, 5613, 5614, 3, 2, 2, 2, 5614, 5616, 7, 829, 2, 2, 5615, 5617, 7, 830, 2, 2, 5616, 5615, 3, 2, 2, 2, 5616, 5617, 3, 2, 2, 2, 5617, 5619, 3, 2, 2, 2, 5618, 5573, 3, 2, 2, 2, 5618, 5619, 3, 2, 2, 2, 5619, 5627, 3, 2, 2, 2, 5620, 5621, 7, 644, 2, 2, 5621, 5622, 7, 828, 2, 2, 5622, 5623, 7, 736, 2, 2, 5623, 5624, 7, 810, 2, 2, 5624, 5625, 9, 9, 2, 2, 5625, 5626, 3, 2, 2, 2, 5626, 5628, 7, 829, 2, 2, 5627, 5620, 3, 2, 2, 2, 5627, 5628, 3, 2, 2, 2, 5628, 417, 3, 2, 2, 2, 5629, 5630, 7, 10, 2, 2, 5630, 5633, 7, 660, 2, 2, 5631, 5634, 5, 908, 455, 2, 5632, 5634, 5, 966, 484, 2, 5633, 5631, 3, 2, 2, 2, 5633, 5632, 3, 2, 2, 2, 5634, 5637, 3, 2, 2, 2, 5635, 5638, 5, 416, 209, 2, 5636, 5638, 5, 420, 211, 2, 5637, 5635, 3, 2, 2, 2, 5637, 5636, 3, 2, 2, 2, 5638, 419, 3, 2, 2, 2, 5639, 5645, 7, 673, 2, 2, 5640, 5641, 7, 377, 2, 2, 5641, 5642, 7, 828, 2, 2, 5642, 5643, 5, 422, 212, 2, 5643, 5644, 7, 829, 2, 2, 5644, 5646, 3, 2, 2, 2, 5645, 5640, 3, 2, 2, 2, 5645, 5646, 3, 2, 2, 2, 5646, 5661, 3, 2, 2, 2, 5647, 5652, 7, 682, 2, 2, 5648, 5649, 7, 377, 2, 2, 5649, 5650, 7, 566, 2, 2, 5650, 5651, 7, 810, 2, 2, 5651, 5653, 9, 9, 2, 2, 5652, 5648, 3, 2, 2, 2, 5652, 5653, 3, 2, 2, 2, 5653, 5661, 3, 2, 2, 2, 5654, 5655, 7, 603, 2, 2, 5655, 5658, 7, 346, 2, 2, 5656, 5659, 5, 966, 484, 2, 5657, 5659, 7, 89, 2, 2, 5658, 5656, 3, 2, 2, 2, 5658, 5657, 3, 2, 2, 2, 5659, 5661, 3, 2, 2, 2, 5660, 5639, 3, 2, 2, 2, 5660, 5647, 3, 2, 2, 2, 5660, 5654, 3, 2, 2, 2, 5661, 421, 3, 2, 2, 2, 5662, 5663, 7, 586, 2, 2, 5663, 5664, 7, 810, 2, 2, 5664, 5665, 7, 802, 2, 2, 5665, 423, 3, 2, 2, 2, 5666, 5667, 7, 73, 2, 2, 5667, 5668, 7, 68, 2, 2, 5668, 5671, 5, 944, 473, 2, 5669, 5670, 7, 20, 2, 2, 5670, 5672, 5, 966, 484, 2, 5671, 5669, 3, 2, 2, 2, 5671, 5672, 3, 2, 2, 2, 5672, 5673, 3, 2, 2, 2, 5673, 5684, 7, 828, 2, 2, 5674, 5677, 5, 966, 484, 2, 5675, 5677, 7, 89, 2, 2, 5676, 5674, 3, 2, 2, 2, 5676, 5675, 3, 2, 2, 2, 5677, 5678, 3, 2, 2, 2, 5678, 5679, 7, 718, 2, 2, 5679, 5680, 7, 38, 2, 2, 5680, 5682, 9, 54, 2, 2, 5681, 5683, 7, 830, 2, 2, 5682, 5681, 3, 2, 2, 2, 5682, 5683, 3, 2, 2, 2, 5683, 5685, 3, 2, 2, 2, 5684, 5676, 3, 2, 2, 2, 5685, 5686, 3, 2, 2, 2, 5686, 5684, 3, 2, 2, 2, 5686, 5687, 3, 2, 2, 2, 5687, 5688, 3, 2, 2, 2, 5688, 5689, 7, 829, 2, 2, 5689, 425, 3, 2, 2, 2, 5690, 5697, 5, 940, 471, 2, 5691, 5697, 5, 942, 472, 2, 5692, 5697, 5, 948, 475, 2, 5693, 5697, 5, 952, 477, 2, 5694, 5697, 5, 956, 479, 2, 5695, 5697, 5, 950, 476, 2, 5696, 5690, 3, 2, 2, 2, 5696, 5691, 3, 2, 2, 2, 5696, 5692, 3, 2, 2, 2, 5696, 5693, 3, 2, 2, 2, 5696, 5694, 3, 2, 2, 2, 5696, 5695, 3, 2, 2, 2, 5697, 427, 3, 2, 2, 2, 5698, 5699, 7, 73, 2, 2, 5699, 5700, 7, 592, 2, 2, 5700, 5701, 7, 769, 2, 2, 5701, 5704, 5, 966, 484, 2, 5702, 5703, 7, 20, 2, 2, 5703, 5705, 5, 966, 484, 2, 5704, 5702, 3, 2, 2, 2, 5704, 5705, 3, 2, 2, 2, 5705, 5706, 3, 2, 2, 2, 5706, 5707, 7, 778, 2, 2, 5707, 5716, 7, 810, 2, 2, 5708, 5717, 7, 213, 2, 2, 5709, 5717, 7, 488, 2, 2, 5710, 5717, 7, 785, 2, 2, 5711, 5712, 7, 777, 2, 2, 5712, 5713, 7, 377, 2, 2, 5713, 5714, 7, 302, 2, 2, 5714, 5715, 7, 437, 2, 2, 5715, 5717, 5, 966, 484, 2, 5716, 5708, 3, 2, 2, 2, 5716, 5709, 3, 2, 2, 2, 5716, 5710, 3, 2, 2, 2, 5716, 5711, 3, 2, 2, 2, 5717, 429, 3, 2, 2, 2, 5718, 5720, 5, 742, 372, 2, 5719, 5718, 3, 2, 2, 2, 5719, 5720, 3, 2, 2, 2, 5720, 5721, 3, 2, 2, 2, 5721, 5729, 7, 201, 2, 2, 5722, 5723, 7, 347, 2, 2, 5723, 5724, 7, 828, 2, 2, 5724, 5725, 5, 728, 365, 2, 5725, 5727, 7, 829, 2, 2, 5726, 5728, 7, 245, 2, 2, 5727, 5726, 3, 2, 2, 2, 5727, 5728, 3, 2, 2, 2, 5728, 5730, 3, 2, 2, 2, 5729, 5722, 3, 2, 2, 2, 5729, 5730, 3, 2, 2, 2, 5730, 5732, 3, 2, 2, 2, 5731, 5733, 7, 165, 2, 2, 5732, 5731, 3, 2, 2, 2, 5732, 5733, 3, 2, 2, 2, 5733, 5734, 3, 2, 2, 2, 5734, 5736, 5, 920, 461, 2, 5735, 5737, 5, 858, 430, 2, 5736, 5735, 3, 2, 2, 2, 5736, 5737, 3, 2, 2, 2, 5737, 5739, 3, 2, 2, 2, 5738, 5740, 5, 852, 427, 2, 5739, 5738, 3, 2, 2, 2, 5739, 5740, 3, 2, 2, 2, 5740, 5741, 3, 2, 2, 2, 5741, 5742, 7, 776, 2, 2, 5742, 5743, 5, 800, 401, 2, 5743, 5744, 7, 229, 2, 2, 5744, 5755, 5, 750, 376, 2, 5745, 5746, 7, 373, 2, 2, 5746, 5749, 7, 188, 2, 2, 5747, 5748, 7, 11, 2, 2, 5748, 5750, 5, 750, 376, 2, 5749, 5747, 3, 2, 2, 2, 5749, 5750, 3, 2, 2, 2, 5750, 5751, 3, 2, 2, 2, 5751, 5752, 7, 345, 2, 2, 5752, 5754, 5, 432, 217, 2, 5753, 5745, 3, 2, 2, 2, 5754, 5757, 3, 2, 2, 2, 5755, 5753, 3, 2, 2, 2, 5755, 5756, 3, 2, 2, 2, 5756, 5771, 3, 2, 2, 2, 5757, 5755, 3, 2, 2, 2, 5758, 5759, 7, 373, 2, 2, 5759, 5760, 7, 220, 2, 2, 5760, 5763, 7, 188, 2, 2, 5761, 5762, 7, 38, 2, 2, 5762, 5764, 7, 342, 2, 2, 5763, 5761, 3, 2, 2, 2, 5763, 5764, 3, 2, 2, 2, 5764, 5767, 3, 2, 2, 2, 5765, 5766, 7, 11, 2, 2, 5766, 5768, 5, 750, 376, 2, 5767, 5765, 3, 2, 2, 2, 5767, 5768, 3, 2, 2, 2, 5768, 5769, 3, 2, 2, 2, 5769, 5770, 7, 345, 2, 2, 5770, 5772, 5, 434, 218, 2, 5771, 5758, 3, 2, 2, 2, 5771, 5772, 3, 2, 2, 2, 5772, 5786, 3, 2, 2, 2, 5773, 5774, 7, 373, 2, 2, 5774, 5775, 7, 220, 2, 2, 5775, 5776, 7, 188, 2, 2, 5776, 5777, 7, 38, 2, 2, 5777, 5780, 7, 322, 2, 2, 5778, 5779, 7, 11, 2, 2, 5779, 5781, 5, 750, 376, 2, 5780, 5778, 3, 2, 2, 2, 5780, 5781, 3, 2, 2, 2, 5781, 5782, 3, 2, 2, 2, 5782, 5783, 7, 345, 2, 2, 5783, 5785, 5, 432, 217, 2, 5784, 5773, 3, 2, 2, 2, 5785, 5788, 3, 2, 2, 2, 5786, 5784, 3, 2, 2, 2, 5786, 5787, 3, 2, 2, 2, 5787, 5790, 3, 2, 2, 2, 5788, 5786, 3, 2, 2, 2, 5789, 5791, 5, 452, 227, 2, 5790, 5789, 3, 2, 2, 2, 5790, 5791, 3, 2, 2, 2, 5791, 5793, 3, 2, 2, 2, 5792, 5794, 5, 780, 391, 2, 5793, 5792, 3, 2, 2, 2, 5793, 5794, 3, 2, 2, 2, 5794, 5795, 3, 2, 2, 2, 5795, 5796, 7, 831, 2, 2, 5796, 431, 3, 2, 2, 2, 5797, 5798, 7, 361, 2, 2, 5798, 5799, 7, 315, 2, 2, 5799, 5804, 5, 746, 374, 2, 5800, 5801, 7, 830, 2, 2, 5801, 5803, 5, 746, 374, 2, 5802, 5800, 3, 2, 2, 2, 5803, 5806, 3, 2, 2, 2, 5804, 5802, 3, 2, 2, 2, 5804, 5805, 3, 2, 2, 2, 5805, 5809, 3, 2, 2, 2, 5806, 5804, 3, 2, 2, 2, 5807, 5809, 7, 92, 2, 2, 5808, 5797, 3, 2, 2, 2, 5808, 5807, 3, 2, 2, 2, 5809, 433, 3, 2, 2, 2, 5810, 5815, 7, 162, 2, 2, 5811, 5812, 7, 828, 2, 2, 5812, 5813, 5, 926, 464, 2, 5813, 5814, 7, 829, 2, 2, 5814, 5816, 3, 2, 2, 2, 5815, 5811, 3, 2, 2, 2, 5815, 5816, 3, 2, 2, 2, 5816, 5820, 3, 2, 2, 2, 5817, 5821, 5, 868, 435, 2, 5818, 5819, 7, 89, 2, 2, 5819, 5821, 7, 367, 2, 2, 5820, 5817, 3, 2, 2, 2, 5820, 5818, 3, 2, 2, 2, 5821, 435, 3, 2, 2, 2, 5822, 5824, 5, 742, 372, 2, 5823, 5822, 3, 2, 2, 2, 5823, 5824, 3, 2, 2, 2, 5824, 5825, 3, 2, 2, 2, 5825, 5835, 7, 92, 2, 2, 5826, 5827, 7, 347, 2, 2, 5827, 5828, 7, 828, 2, 2, 5828, 5829, 5, 728, 365, 2, 5829, 5831, 7, 829, 2, 2, 5830, 5832, 7, 245, 2, 2, 5831, 5830, 3, 2, 2, 2, 5831, 5832, 3, 2, 2, 2, 5832, 5836, 3, 2, 2, 2, 5833, 5834, 7, 347, 2, 2, 5834, 5836, 7, 802, 2, 2, 5835, 5826, 3, 2, 2, 2, 5835, 5833, 3, 2, 2, 2, 5835, 5836, 3, 2, 2, 2, 5836, 5838, 3, 2, 2, 2, 5837, 5839, 7, 139, 2, 2, 5838, 5837, 3, 2, 2, 2, 5838, 5839, 3, 2, 2, 2, 5839, 5840, 3, 2, 2, 2, 5840, 5842, 5, 438, 220, 2, 5841, 5843, 5, 858, 430, 2, 5842, 5841, 3, 2, 2, 2, 5842, 5843, 3, 2, 2, 2, 5843, 5845, 3, 2, 2, 2, 5844, 5846, 5, 452, 227, 2, 5845, 5844, 3, 2, 2, 2, 5845, 5846, 3, 2, 2, 2, 5846, 5849, 3, 2, 2, 2, 5847, 5848, 7, 139, 2, 2, 5848, 5850, 5, 800, 401, 2, 5849, 5847, 3, 2, 2, 2, 5849, 5850, 3, 2, 2, 2, 5850, 5864, 3, 2, 2, 2, 5851, 5862, 7, 374, 2, 2, 5852, 5863, 5, 750, 376, 2, 5853, 5854, 7, 75, 2, 2, 5854, 5860, 7, 225, 2, 2, 5855, 5857, 7, 525, 2, 2, 5856, 5855, 3, 2, 2, 2, 5856, 5857, 3, 2, 2, 2, 5857, 5858, 3, 2, 2, 2, 5858, 5861, 5, 928, 465, 2, 5859, 5861, 7, 801, 2, 2, 5860, 5856, 3, 2, 2, 2, 5860, 5859, 3, 2, 2, 2, 5861, 5863, 3, 2, 2, 2, 5862, 5852, 3, 2, 2, 2, 5862, 5853, 3, 2, 2, 2, 5863, 5865, 3, 2, 2, 2, 5864, 5851, 3, 2, 2, 2, 5864, 5865, 3, 2, 2, 2, 5865, 5867, 3, 2, 2, 2, 5866, 5868, 5, 772, 387, 2, 5867, 5866, 3, 2, 2, 2, 5867, 5868, 3, 2, 2, 2, 5868, 5870, 3, 2, 2, 2, 5869, 5871, 5, 780, 391, 2, 5870, 5869, 3, 2, 2, 2, 5870, 5871, 3, 2, 2, 2, 5871, 5873, 3, 2, 2, 2, 5872, 5874, 7, 831, 2, 2, 5873, 5872, 3, 2, 2, 2, 5873, 5874, 3, 2, 2, 2, 5874, 437, 3, 2, 2, 2, 5875, 5880, 5, 920, 461, 2, 5876, 5880, 5, 854, 428, 2, 5877, 5880, 5, 604, 303, 2, 5878, 5880, 7, 801, 2, 2, 5879, 5875, 3, 2, 2, 2, 5879, 5876, 3, 2, 2, 2, 5879, 5877, 3, 2, 2, 2, 5879, 5878, 3, 2, 2, 2, 5880, 439, 3, 2, 2, 2, 5881, 5883, 5, 742, 372, 2, 5882, 5881, 3, 2, 2, 2, 5882, 5883, 3, 2, 2, 2, 5883, 5884, 3, 2, 2, 2, 5884, 5892, 7, 162, 2, 2, 5885, 5886, 7, 347, 2, 2, 5886, 5887, 7, 828, 2, 2, 5887, 5888, 5, 728, 365, 2, 5888, 5890, 7, 829, 2, 2, 5889, 5891, 7, 245, 2, 2, 5890, 5889, 3, 2, 2, 2, 5890, 5891, 3, 2, 2, 2, 5891, 5893, 3, 2, 2, 2, 5892, 5885, 3, 2, 2, 2, 5892, 5893, 3, 2, 2, 2, 5893, 5895, 3, 2, 2, 2, 5894, 5896, 7, 165, 2, 2, 5895, 5894, 3, 2, 2, 2, 5895, 5896, 3, 2, 2, 2, 5896, 5899, 3, 2, 2, 2, 5897, 5900, 5, 920, 461, 2, 5898, 5900, 5, 604, 303, 2, 5899, 5897, 3, 2, 2, 2, 5899, 5898, 3, 2, 2, 2, 5900, 5902, 3, 2, 2, 2, 5901, 5903, 5, 858, 430, 2, 5902, 5901, 3, 2, 2, 2, 5902, 5903, 3, 2, 2, 2, 5903, 5908, 3, 2, 2, 2, 5904, 5905, 7, 828, 2, 2, 5905, 5906, 5, 926, 464, 2, 5906, 5907, 7, 829, 2, 2, 5907, 5909, 3, 2, 2, 2, 5908, 5904, 3, 2, 2, 2, 5908, 5909, 3, 2, 2, 2, 5909, 5911, 3, 2, 2, 2, 5910, 5912, 5, 452, 227, 2, 5911, 5910, 3, 2, 2, 2, 5911, 5912, 3, 2, 2, 2, 5912, 5913, 3, 2, 2, 2, 5913, 5915, 5, 442, 222, 2, 5914, 5916, 5, 772, 387, 2, 5915, 5914, 3, 2, 2, 2, 5915, 5916, 3, 2, 2, 2, 5916, 5918, 3, 2, 2, 2, 5917, 5919, 5, 780, 391, 2, 5918, 5917, 3, 2, 2, 2, 5918, 5919, 3, 2, 2, 2, 5919, 5921, 3, 2, 2, 2, 5920, 5922, 7, 831, 2, 2, 5921, 5920, 3, 2, 2, 2, 5921, 5922, 3, 2, 2, 2, 5922, 441, 3, 2, 2, 2, 5923, 5929, 5, 868, 435, 2, 5924, 5929, 5, 830, 416, 2, 5925, 5929, 5, 632, 317, 2, 5926, 5927, 7, 89, 2, 2, 5927, 5929, 7, 367, 2, 2, 5928, 5923, 3, 2, 2, 2, 5928, 5924, 3, 2, 2, 2, 5928, 5925, 3, 2, 2, 2, 5928, 5926, 3, 2, 2, 2, 5929, 443, 3, 2, 2, 2, 5930, 5932, 7, 828, 2, 2, 5931, 5930, 3, 2, 2, 2, 5931, 5932, 3, 2, 2, 2, 5932, 5933, 3, 2, 2, 2, 5933, 5938, 7, 674, 2, 2, 5934, 5939, 7, 6, 2, 2, 5935, 5939, 7, 98, 2, 2, 5936, 5939, 5, 764, 383, 2, 5937, 5939, 7, 833, 2, 2, 5938, 5934, 3, 2, 2, 2, 5938, 5935, 3, 2, 2, 2, 5938, 5936, 3, 2, 2, 2, 5938, 5937, 3, 2, 2, 2, 5939, 5948, 3, 2, 2, 2, 5940, 5941, 7, 801, 2, 2, 5941, 5942, 7, 810, 2, 2, 5942, 5944, 5, 728, 365, 2, 5943, 5945, 7, 830, 2, 2, 5944, 5943, 3, 2, 2, 2, 5944, 5945, 3, 2, 2, 2, 5945, 5947, 3, 2, 2, 2, 5946, 5940, 3, 2, 2, 2, 5947, 5950, 3, 2, 2, 2, 5948, 5946, 3, 2, 2, 2, 5948, 5949, 3, 2, 2, 2, 5949, 5951, 3, 2, 2, 2, 5950, 5948, 3, 2, 2, 2, 5951, 5952, 7, 139, 2, 2, 5952, 5958, 5, 908, 455, 2, 5953, 5954, 7, 165, 2, 2, 5954, 5955, 5, 966, 484, 2, 5955, 5956, 7, 374, 2, 2, 5956, 5957, 5, 750, 376, 2, 5957, 5959, 3, 2, 2, 2, 5958, 5953, 3, 2, 2, 2, 5958, 5959, 3, 2, 2, 2, 5959, 5961, 3, 2, 2, 2, 5960, 5962, 7, 829, 2, 2, 5961, 5960, 3, 2, 2, 2, 5961, 5962, 3, 2, 2, 2, 5962, 445, 3, 2, 2, 2, 5963, 5965, 5, 742, 372, 2, 5964, 5963, 3, 2, 2, 2, 5964, 5965, 3, 2, 2, 2, 5965, 5966, 3, 2, 2, 2, 5966, 5968, 5, 758, 380, 2, 5967, 5969, 5, 770, 386, 2, 5968, 5967, 3, 2, 2, 2, 5968, 5969, 3, 2, 2, 2, 5969, 5971, 3, 2, 2, 2, 5970, 5972, 5, 772, 387, 2, 5971, 5970, 3, 2, 2, 2, 5971, 5972, 3, 2, 2, 2, 5972, 5974, 3, 2, 2, 2, 5973, 5975, 5, 780, 391, 2, 5974, 5973, 3, 2, 2, 2, 5974, 5975, 3, 2, 2, 2, 5975, 5977, 3, 2, 2, 2, 5976, 5978, 7, 831, 2, 2, 5977, 5976, 3, 2, 2, 2, 5977, 5978, 3, 2, 2, 2, 5978, 447, 3, 2, 2, 2, 5979, 5982, 7, 801, 2, 2, 5980, 5982, 5, 962, 482, 2, 5981, 5979, 3, 2, 2, 2, 5981, 5980, 3, 2, 2, 2, 5982, 449, 3, 2, 2, 2, 5983, 5985, 5, 742, 372, 2, 5984, 5983, 3, 2, 2, 2, 5984, 5985, 3, 2, 2, 2, 5985, 5986, 3, 2, 2, 2, 5986, 5994, 7, 361, 2, 2, 5987, 5988, 7, 347, 2, 2, 5988, 5989, 7, 828, 2, 2, 5989, 5990, 5, 728, 365, 2, 5990, 5992, 7, 829, 2, 2, 5991, 5993, 7, 245, 2, 2, 5992, 5991, 3, 2, 2, 2, 5992, 5993, 3, 2, 2, 2, 5993, 5995, 3, 2, 2, 2, 5994, 5987, 3, 2, 2, 2, 5994, 5995, 3, 2, 2, 2, 5995, 5998, 3, 2, 2, 2, 5996, 5999, 5, 920, 461, 2, 5997, 5999, 5, 604, 303, 2, 5998, 5996, 3, 2, 2, 2, 5998, 5997, 3, 2, 2, 2, 5999, 6001, 3, 2, 2, 2, 6000, 6002, 5, 856, 429, 2, 6001, 6000, 3, 2, 2, 2, 6001, 6002, 3, 2, 2, 2, 6002, 6003, 3, 2, 2, 2, 6003, 6004, 7, 315, 2, 2, 6004, 6009, 5, 746, 374, 2, 6005, 6006, 7, 830, 2, 2, 6006, 6008, 5, 746, 374, 2, 6007, 6005, 3, 2, 2, 2, 6008, 6011, 3, 2, 2, 2, 6009, 6007, 3, 2, 2, 2, 6009, 6010, 3, 2, 2, 2, 6010, 6013, 3, 2, 2, 2, 6011, 6009, 3, 2, 2, 2, 6012, 6014, 5, 452, 227, 2, 6013, 6012, 3, 2, 2, 2, 6013, 6014, 3, 2, 2, 2, 6014, 6017, 3, 2, 2, 2, 6015, 6016, 7, 139, 2, 2, 6016, 6018, 5, 800, 401, 2, 6017, 6015, 3, 2, 2, 2, 6017, 6018, 3, 2, 2, 2, 6018, 6032, 3, 2, 2, 2, 6019, 6030, 7, 374, 2, 2, 6020, 6031, 5, 748, 375, 2, 6021, 6022, 7, 75, 2, 2, 6022, 6028, 7, 225, 2, 2, 6023, 6025, 7, 525, 2, 2, 6024, 6023, 3, 2, 2, 2, 6024, 6025, 3, 2, 2, 2, 6025, 6026, 3, 2, 2, 2, 6026, 6029, 5, 928, 465, 2, 6027, 6029, 7, 801, 2, 2, 6028, 6024, 3, 2, 2, 2, 6028, 6027, 3, 2, 2, 2, 6029, 6031, 3, 2, 2, 2, 6030, 6020, 3, 2, 2, 2, 6030, 6021, 3, 2, 2, 2, 6031, 6033, 3, 2, 2, 2, 6032, 6019, 3, 2, 2, 2, 6032, 6033, 3, 2, 2, 2, 6033, 6035, 3, 2, 2, 2, 6034, 6036, 5, 772, 387, 2, 6035, 6034, 3, 2, 2, 2, 6035, 6036, 3, 2, 2, 2, 6036, 6038, 3, 2, 2, 2, 6037, 6039, 5, 780, 391, 2, 6038, 6037, 3, 2, 2, 2, 6038, 6039, 3, 2, 2, 2, 6039, 6041, 3, 2, 2, 2, 6040, 6042, 7, 831, 2, 2, 6041, 6040, 3, 2, 2, 2, 6041, 6042, 3, 2, 2, 2, 6042, 451, 3, 2, 2, 2, 6043, 6044, 7, 635, 2, 2, 6044, 6049, 5, 454, 228, 2, 6045, 6046, 7, 830, 2, 2, 6046, 6048, 5, 454, 228, 2, 6047, 6045, 3, 2, 2, 2, 6048, 6051, 3, 2, 2, 2, 6049, 6047, 3, 2, 2, 2, 6049, 6050, 3, 2, 2, 2, 6050, 6063, 3, 2, 2, 2, 6051, 6049, 3, 2, 2, 2, 6052, 6055, 7, 165, 2, 2, 6053, 6056, 7, 801, 2, 2, 6054, 6056, 5, 910, 456, 2, 6055, 6053, 3, 2, 2, 2, 6055, 6054, 3, 2, 2, 2, 6056, 6061, 3, 2, 2, 2, 6057, 6058, 7, 828, 2, 2, 6058, 6059, 5, 926, 464, 2, 6059, 6060, 7, 829, 2, 2, 6060, 6062, 3, 2, 2, 2, 6061, 6057, 3, 2, 2, 2, 6061, 6062, 3, 2, 2, 2, 6062, 6064, 3, 2, 2, 2, 6063, 6052, 3, 2, 2, 2, 6063, 6064, 3, 2, 2, 2, 6064, 453, 3, 2, 2, 2, 6065, 6068, 5, 456, 229, 2, 6066, 6068, 5, 728, 365, 2, 6067, 6065, 3, 2, 2, 2, 6067, 6066, 3, 2, 2, 2, 6068, 6070, 3, 2, 2, 2, 6069, 6071, 5, 850, 426, 2, 6070, 6069, 3, 2, 2, 2, 6070, 6071, 3, 2, 2, 2, 6071, 455, 3, 2, 2, 2, 6072, 6076, 7, 471, 2, 2, 6073, 6076, 7, 546, 2, 2, 6074, 6076, 5, 910, 456, 2, 6075, 6072, 3, 2, 2, 2, 6075, 6073, 3, 2, 2, 2, 6075, 6074, 3, 2, 2, 2, 6076, 6077, 3, 2, 2, 2, 6077, 6080, 7, 823, 2, 2, 6078, 6081, 7, 833, 2, 2, 6079, 6081, 5, 966, 484, 2, 6080, 6078, 3, 2, 2, 2, 6080, 6079, 3, 2, 2, 2, 6081, 6084, 3, 2, 2, 2, 6082, 6084, 7, 794, 2, 2, 6083, 6075, 3, 2, 2, 2, 6083, 6082, 3, 2, 2, 2, 6084, 457, 3, 2, 2, 2, 6085, 6086, 7, 73, 2, 2, 6086, 6087, 7, 84, 2, 2, 6087, 6091, 5, 966, 484, 2, 6088, 6089, 7, 62, 2, 2, 6089, 6090, 7, 810, 2, 2, 6090, 6092, 9, 55, 2, 2, 6091, 6088, 3, 2, 2, 2, 6091, 6092, 3, 2, 2, 2, 6092, 6105, 3, 2, 2, 2, 6093, 6095, 7, 229, 2, 2, 6094, 6096, 7, 256, 2, 2, 6095, 6094, 3, 2, 2, 2, 6095, 6096, 3, 2, 2, 2, 6096, 6097, 3, 2, 2, 2, 6097, 6102, 5, 896, 449, 2, 6098, 6099, 7, 830, 2, 2, 6099, 6101, 5, 896, 449, 2, 6100, 6098, 3, 2, 2, 2, 6101, 6104, 3, 2, 2, 2, 6102, 6100, 3, 2, 2, 2, 6102, 6103, 3, 2, 2, 2, 6103, 6106, 3, 2, 2, 2, 6104, 6102, 3, 2, 2, 2, 6105, 6093, 3, 2, 2, 2, 6105, 6106, 3, 2, 2, 2, 6106, 6117, 3, 2, 2, 2, 6107, 6108, 7, 187, 2, 2, 6108, 6109, 7, 229, 2, 2, 6109, 6114, 5, 896, 449, 2, 6110, 6111, 7, 830, 2, 2, 6111, 6113, 5, 896, 449, 2, 6112, 6110, 3, 2, 2, 2, 6113, 6116, 3, 2, 2, 2, 6114, 6112, 3, 2, 2, 2, 6114, 6115, 3, 2, 2, 2, 6115, 6118, 3, 2, 2, 2, 6116, 6114, 3, 2, 2, 2, 6117, 6107, 3, 2, 2, 2, 6117, 6118, 3, 2, 2, 2, 6118, 6121, 3, 2, 2, 2, 6119, 6120, 7, 55, 2, 2, 6120, 6122, 5, 966, 484, 2, 6121, 6119, 3, 2, 2, 2, 6121, 6122, 3, 2, 2, 2, 6122, 6132, 3, 2, 2, 2, 6123, 6124, 7, 377, 2, 2, 6124, 6129, 5, 892, 447, 2, 6125, 6126, 7, 830, 2, 2, 6126, 6128, 5, 892, 447, 2, 6127, 6125, 3, 2, 2, 2, 6128, 6131, 3, 2, 2, 2, 6129, 6127, 3, 2, 2, 2, 6129, 6130, 3, 2, 2, 2, 6130, 6133, 3, 2, 2, 2, 6131, 6129, 3, 2, 2, 2, 6132, 6123, 3, 2, 2, 2, 6132, 6133, 3, 2, 2, 2, 6133, 459, 3, 2, 2, 2, 6134, 6136, 7, 73, 2, 2, 6135, 6137, 7, 357, 2, 2, 6136, 6135, 3, 2, 2, 2, 6136, 6137, 3, 2, 2, 2, 6137, 6139, 3, 2, 2, 2, 6138, 6140, 5, 932, 467, 2, 6139, 6138, 3, 2, 2, 2, 6139, 6140, 3, 2, 2, 2, 6140, 6141, 3, 2, 2, 2, 6141, 6142, 7, 158, 2, 2, 6142, 6143, 5, 966, 484, 2, 6143, 6144, 7, 229, 2, 2, 6144, 6145, 5, 824, 413, 2, 6145, 6146, 7, 828, 2, 2, 6146, 6147, 5, 924, 463, 2, 6147, 6153, 7, 829, 2, 2, 6148, 6149, 7, 156, 2, 2, 6149, 6150, 7, 828, 2, 2, 6150, 6151, 5, 926, 464, 2, 6151, 6152, 7, 829, 2, 2, 6152, 6154, 3, 2, 2, 2, 6153, 6148, 3, 2, 2, 2, 6153, 6154, 3, 2, 2, 2, 6154, 6157, 3, 2, 2, 2, 6155, 6156, 7, 374, 2, 2, 6156, 6158, 5, 750, 376, 2, 6157, 6155, 3, 2, 2, 2, 6157, 6158, 3, 2, 2, 2, 6158, 6160, 3, 2, 2, 2, 6159, 6161, 5, 712, 357, 2, 6160, 6159, 3, 2, 2, 2, 6160, 6161, 3, 2, 2, 2, 6161, 6164, 3, 2, 2, 2, 6162, 6163, 7, 229, 2, 2, 6163, 6165, 5, 966, 484, 2, 6164, 6162, 3, 2, 2, 2, 6164, 6165, 3, 2, 2, 2, 6165, 6167, 3, 2, 2, 2, 6166, 6168, 7, 831, 2, 2, 6167, 6166, 3, 2, 2, 2, 6167, 6168, 3, 2, 2, 2, 6168, 461, 3, 2, 2, 2, 6169, 6172, 7, 73, 2, 2, 6170, 6171, 7, 237, 2, 2, 6171, 6173, 7, 10, 2, 2, 6172, 6170, 3, 2, 2, 2, 6172, 6173, 3, 2, 2, 2, 6173, 6176, 3, 2, 2, 2, 6174, 6176, 7, 10, 2, 2, 6175, 6169, 3, 2, 2, 2, 6175, 6174, 3, 2, 2, 2, 6176, 6177, 3, 2, 2, 2, 6177, 6178, 9, 56, 2, 2, 6178, 6181, 5, 914, 458, 2, 6179, 6180, 7, 831, 2, 2, 6180, 6182, 7, 802, 2, 2, 6181, 6179, 3, 2, 2, 2, 6181, 6182, 3, 2, 2, 2, 6182, 6197, 3, 2, 2, 2, 6183, 6185, 7, 828, 2, 2, 6184, 6183, 3, 2, 2, 2, 6184, 6185, 3, 2, 2, 2, 6185, 6186, 3, 2, 2, 2, 6186, 6191, 5, 484, 243, 2, 6187, 6188, 7, 830, 2, 2, 6188, 6190, 5, 484, 243, 2, 6189, 6187, 3, 2, 2, 2, 6190, 6193, 3, 2, 2, 2, 6191, 6189, 3, 2, 2, 2, 6191, 6192, 3, 2, 2, 2, 6192, 6195, 3, 2, 2, 2, 6193, 6191, 3, 2, 2, 2, 6194, 6196, 7, 829, 2, 2, 6195, 6194, 3, 2, 2, 2, 6195, 6196, 3, 2, 2, 2, 6196, 6198, 3, 2, 2, 2, 6197, 6184, 3, 2, 2, 2, 6197, 6198, 3, 2, 2, 2, 6198, 6208, 3, 2, 2, 2, 6199, 6200, 7, 377, 2, 2, 6200, 6205, 5, 486, 244, 2, 6201, 6202, 7, 830, 2, 2, 6202, 6204, 5, 486, 244, 2, 6203, 6201, 3, 2, 2, 2, 6204, 6207, 3, 2, 2, 2, 6205, 6203, 3, 2, 2, 2, 6205, 6206, 3, 2, 2, 2, 6206, 6209, 3, 2, 2, 2, 6207, 6205, 3, 2, 2, 2, 6208, 6199, 3, 2, 2, 2, 6208, 6209, 3, 2, 2, 2, 6209, 6212, 3, 2, 2, 2, 6210, 6211, 7, 133, 2, 2, 6211, 6213, 7, 274, 2, 2, 6212, 6210, 3, 2, 2, 2, 6212, 6213, 3, 2, 2, 2, 6213, 6214, 3, 2, 2, 2, 6214, 6215, 7, 16, 2, 2, 6215, 6216, 5, 6, 4, 2, 6216, 463, 3, 2, 2, 2, 6217, 6220, 5, 466, 234, 2, 6218, 6220, 5, 472, 237, 2, 6219, 6217, 3, 2, 2, 2, 6219, 6218, 3, 2, 2, 2, 6220, 465, 3, 2, 2, 2, 6221, 6224, 7, 73, 2, 2, 6222, 6223, 7, 237, 2, 2, 6223, 6225, 7, 10, 2, 2, 6224, 6222, 3, 2, 2, 2, 6224, 6225, 3, 2, 2, 2, 6225, 6228, 3, 2, 2, 2, 6226, 6228, 7, 10, 2, 2, 6227, 6221, 3, 2, 2, 2, 6227, 6226, 3, 2, 2, 2, 6228, 6229, 3, 2, 2, 2, 6229, 6230, 7, 352, 2, 2, 6230, 6231, 5, 912, 457, 2, 6231, 6232, 7, 229, 2, 2, 6232, 6242, 5, 910, 456, 2, 6233, 6234, 7, 377, 2, 2, 6234, 6239, 5, 468, 235, 2, 6235, 6236, 7, 830, 2, 2, 6236, 6238, 5, 468, 235, 2, 6237, 6235, 3, 2, 2, 2, 6238, 6241, 3, 2, 2, 2, 6239, 6237, 3, 2, 2, 2, 6239, 6240, 3, 2, 2, 2, 6240, 6243, 3, 2, 2, 2, 6241, 6239, 3, 2, 2, 2, 6242, 6233, 3, 2, 2, 2, 6242, 6243, 3, 2, 2, 2, 6243, 6248, 3, 2, 2, 2, 6244, 6249, 7, 133, 2, 2, 6245, 6249, 7, 392, 2, 2, 6246, 6247, 7, 163, 2, 2, 6247, 6249, 7, 225, 2, 2, 6248, 6244, 3, 2, 2, 2, 6248, 6245, 3, 2, 2, 2, 6248, 6246, 3, 2, 2, 2, 6249, 6250, 3, 2, 2, 2, 6250, 6255, 5, 470, 236, 2, 6251, 6252, 7, 830, 2, 2, 6252, 6254, 5, 470, 236, 2, 6253, 6251, 3, 2, 2, 2, 6254, 6257, 3, 2, 2, 2, 6255, 6253, 3, 2, 2, 2, 6255, 6256, 3, 2, 2, 2, 6256, 6260, 3, 2, 2, 2, 6257, 6255, 3, 2, 2, 2, 6258, 6259, 7, 377, 2, 2, 6259, 6261, 7, 14, 2, 2, 6260, 6258, 3, 2, 2, 2, 6260, 6261, 3, 2, 2, 2, 6261, 6265, 3, 2, 2, 2, 6262, 6263, 7, 220, 2, 2, 6263, 6264, 7, 133, 2, 2, 6264, 6266, 7, 274, 2, 2, 6265, 6262, 3, 2, 2, 2, 6265, 6266, 3, 2, 2, 2, 6266, 6267, 3, 2, 2, 2, 6267, 6268, 7, 16, 2, 2, 6268, 6269, 5, 6, 4, 2, 6269, 467, 3, 2, 2, 2, 6270, 6273, 7, 492, 2, 2, 6271, 6273, 5, 686, 344, 2, 6272, 6270, 3, 2, 2, 2, 6272, 6271, 3, 2, 2, 2, 6273, 469, 3, 2, 2, 2, 6274, 6275, 9, 57, 2, 2, 6275, 471, 3, 2, 2, 2, 6276, 6279, 7, 73, 2, 2, 6277, 6278, 7, 237, 2, 2, 6278, 6280, 7, 10, 2, 2, 6279, 6277, 3, 2, 2, 2, 6279, 6280, 3, 2, 2, 2, 6280, 6283, 3, 2, 2, 2, 6281, 6283, 7, 10, 2, 2, 6282, 6276, 3, 2, 2, 2, 6282, 6281, 3, 2, 2, 2, 6283, 6284, 3, 2, 2, 2, 6284, 6285, 7, 352, 2, 2, 6285, 6286, 5, 968, 485, 2, 6286, 6290, 7, 229, 2, 2, 6287, 6288, 7, 6, 2, 2, 6288, 6291, 7, 309, 2, 2, 6289, 6291, 7, 84, 2, 2, 6290, 6287, 3, 2, 2, 2, 6290, 6289, 3, 2, 2, 2, 6291, 6301, 3, 2, 2, 2, 6292, 6293, 7, 377, 2, 2, 6293, 6298, 5, 468, 235, 2, 6294, 6295, 7, 830, 2, 2, 6295, 6297, 5, 468, 235, 2, 6296, 6294, 3, 2, 2, 2, 6297, 6300, 3, 2, 2, 2, 6298, 6296, 3, 2, 2, 2, 6298, 6299, 3, 2, 2, 2, 6299, 6302, 3, 2, 2, 2, 6300, 6298, 3, 2, 2, 2, 6301, 6292, 3, 2, 2, 2, 6301, 6302, 3, 2, 2, 2, 6302, 6303, 3, 2, 2, 2, 6303, 6304, 9, 58, 2, 2, 6304, 6309, 5, 474, 238, 2, 6305, 6306, 7, 830, 2, 2, 6306, 6308, 5, 470, 236, 2, 6307, 6305, 3, 2, 2, 2, 6308, 6311, 3, 2, 2, 2, 6309, 6307, 3, 2, 2, 2, 6309, 6310, 3, 2, 2, 2, 6310, 6312, 3, 2, 2, 2, 6311, 6309, 3, 2, 2, 2, 6312, 6313, 7, 16, 2, 2, 6313, 6314, 5, 6, 4, 2, 6314, 473, 3, 2, 2, 2, 6315, 6316, 5, 968, 485, 2, 6316, 475, 3, 2, 2, 2, 6317, 6320, 7, 73, 2, 2, 6318, 6319, 7, 237, 2, 2, 6319, 6321, 7, 10, 2, 2, 6320, 6318, 3, 2, 2, 2, 6320, 6321, 3, 2, 2, 2, 6321, 6324, 3, 2, 2, 2, 6322, 6324, 7, 10, 2, 2, 6323, 6317, 3, 2, 2, 2, 6323, 6322, 3, 2, 2, 2, 6324, 6325, 3, 2, 2, 2, 6325, 6326, 7, 141, 2, 2, 6326, 6340, 5, 914, 458, 2, 6327, 6328, 7, 828, 2, 2, 6328, 6333, 5, 484, 243, 2, 6329, 6330, 7, 830, 2, 2, 6330, 6332, 5, 484, 243, 2, 6331, 6329, 3, 2, 2, 2, 6332, 6335, 3, 2, 2, 2, 6333, 6331, 3, 2, 2, 2, 6333, 6334, 3, 2, 2, 2, 6334, 6336, 3, 2, 2, 2, 6335, 6333, 3, 2, 2, 2, 6336, 6337, 7, 829, 2, 2, 6337, 6341, 3, 2, 2, 2, 6338, 6339, 7, 828, 2, 2, 6339, 6341, 7, 829, 2, 2, 6340, 6327, 3, 2, 2, 2, 6340, 6338, 3, 2, 2, 2, 6341, 6345, 3, 2, 2, 2, 6342, 6346, 5, 478, 240, 2, 6343, 6346, 5, 480, 241, 2, 6344, 6346, 5, 482, 242, 2, 6345, 6342, 3, 2, 2, 2, 6345, 6343, 3, 2, 2, 2, 6345, 6344, 3, 2, 2, 2, 6346, 6348, 3, 2, 2, 2, 6347, 6349, 7, 831, 2, 2, 6348, 6347, 3, 2, 2, 2, 6348, 6349, 3, 2, 2, 2, 6349, 477, 3, 2, 2, 2, 6350, 6351, 7, 283, 2, 2, 6351, 6361, 7, 339, 2, 2, 6352, 6353, 7, 377, 2, 2, 6353, 6358, 5, 488, 245, 2, 6354, 6355, 7, 830, 2, 2, 6355, 6357, 5, 488, 245, 2, 6356, 6354, 3, 2, 2, 2, 6357, 6360, 3, 2, 2, 2, 6358, 6356, 3, 2, 2, 2, 6358, 6359, 3, 2, 2, 2, 6359, 6362, 3, 2, 2, 2, 6360, 6358, 3, 2, 2, 2, 6361, 6352, 3, 2, 2, 2, 6361, 6362, 3, 2, 2, 2, 6362, 6364, 3, 2, 2, 2, 6363, 6365, 7, 16, 2, 2, 6364, 6363, 3, 2, 2, 2, 6364, 6365, 3, 2, 2, 2, 6365, 6366, 3, 2, 2, 2, 6366, 6372, 7, 282, 2, 2, 6367, 6368, 7, 828, 2, 2, 6368, 6369, 5, 446, 224, 2, 6369, 6370, 7, 829, 2, 2, 6370, 6373, 3, 2, 2, 2, 6371, 6373, 5, 446, 224, 2, 6372, 6367, 3, 2, 2, 2, 6372, 6371, 3, 2, 2, 2, 6373, 479, 3, 2, 2, 2, 6374, 6375, 7, 283, 2, 2, 6375, 6376, 7, 801, 2, 2, 6376, 6386, 5, 690, 346, 2, 6377, 6378, 7, 377, 2, 2, 6378, 6383, 5, 488, 245, 2, 6379, 6380, 7, 830, 2, 2, 6380, 6382, 5, 488, 245, 2, 6381, 6379, 3, 2, 2, 2, 6382, 6385, 3, 2, 2, 2, 6383, 6381, 3, 2, 2, 2, 6383, 6384, 3, 2, 2, 2, 6384, 6387, 3, 2, 2, 2, 6385, 6383, 3, 2, 2, 2, 6386, 6377, 3, 2, 2, 2, 6386, 6387, 3, 2, 2, 2, 6387, 6389, 3, 2, 2, 2, 6388, 6390, 7, 16, 2, 2, 6389, 6388, 3, 2, 2, 2, 6389, 6390, 3, 2, 2, 2, 6390, 6391, 3, 2, 2, 2, 6391, 6395, 7, 28, 2, 2, 6392, 6394, 5, 8, 5, 2, 6393, 6392, 3, 2, 2, 2, 6394, 6397, 3, 2, 2, 2, 6395, 6393, 3, 2, 2, 2, 6395, 6396, 3, 2, 2, 2, 6396, 6398, 3, 2, 2, 2, 6397, 6395, 3, 2, 2, 2, 6398, 6400, 7, 282, 2, 2, 6399, 6401, 7, 831, 2, 2, 6400, 6399, 3, 2, 2, 2, 6400, 6401, 3, 2, 2, 2, 6401, 6402, 3, 2, 2, 2, 6402, 6404, 7, 108, 2, 2, 6403, 6405, 7, 831, 2, 2, 6404, 6403, 3, 2, 2, 2, 6404, 6405, 3, 2, 2, 2, 6405, 481, 3, 2, 2, 2, 6406, 6407, 7, 283, 2, 2, 6407, 6417, 5, 958, 480, 2, 6408, 6409, 7, 377, 2, 2, 6409, 6414, 5, 488, 245, 2, 6410, 6411, 7, 830, 2, 2, 6411, 6413, 5, 488, 245, 2, 6412, 6410, 3, 2, 2, 2, 6413, 6416, 3, 2, 2, 2, 6414, 6412, 3, 2, 2, 2, 6414, 6415, 3, 2, 2, 2, 6415, 6418, 3, 2, 2, 2, 6416, 6414, 3, 2, 2, 2, 6417, 6408, 3, 2, 2, 2, 6417, 6418, 3, 2, 2, 2, 6418, 6420, 3, 2, 2, 2, 6419, 6421, 7, 16, 2, 2, 6420, 6419, 3, 2, 2, 2, 6420, 6421, 3, 2, 2, 2, 6421, 6422, 3, 2, 2, 2, 6422, 6426, 7, 28, 2, 2, 6423, 6425, 5, 8, 5, 2, 6424, 6423, 3, 2, 2, 2, 6425, 6428, 3, 2, 2, 2, 6426, 6424, 3, 2, 2, 2, 6426, 6427, 3, 2, 2, 2, 6427, 6429, 3, 2, 2, 2, 6428, 6426, 3, 2, 2, 2, 6429, 6430, 7, 282, 2, 2, 6430, 6432, 5, 728, 365, 2, 6431, 6433, 7, 831, 2, 2, 6432, 6431, 3, 2, 2, 2, 6432, 6433, 3, 2, 2, 2, 6433, 6434, 3, 2, 2, 2, 6434, 6435, 7, 108, 2, 2, 6435, 483, 3, 2, 2, 2, 6436, 6440, 7, 801, 2, 2, 6437, 6438, 5, 966, 484, 2, 6438, 6439, 7, 823, 2, 2, 6439, 6441, 3, 2, 2, 2, 6440, 6437, 3, 2, 2, 2, 6440, 6441, 3, 2, 2, 2, 6441, 6443, 3, 2, 2, 2, 6442, 6444, 7, 16, 2, 2, 6443, 6442, 3, 2, 2, 2, 6443, 6444, 3, 2, 2, 2, 6444, 6445, 3, 2, 2, 2, 6445, 6447, 5, 958, 480, 2, 6446, 6448, 7, 368, 2, 2, 6447, 6446, 3, 2, 2, 2, 6447, 6448, 3, 2, 2, 2, 6448, 6451, 3, 2, 2, 2, 6449, 6450, 7, 810, 2, 2, 6450, 6452, 5, 960, 481, 2, 6451, 6449, 3, 2, 2, 2, 6451, 6452, 3, 2, 2, 2, 6452, 6454, 3, 2, 2, 2, 6453, 6455, 9, 59, 2, 2, 6454, 6453, 3, 2, 2, 2, 6454, 6455, 3, 2, 2, 2, 6455, 485, 3, 2, 2, 2, 6456, 6460, 7, 492, 2, 2, 6457, 6460, 7, 675, 2, 2, 6458, 6460, 5, 686, 344, 2, 6459, 6456, 3, 2, 2, 2, 6459, 6457, 3, 2, 2, 2, 6459, 6458, 3, 2, 2, 2, 6460, 487, 3, 2, 2, 2, 6461, 6474, 7, 492, 2, 2, 6462, 6474, 7, 702, 2, 2, 6463, 6464, 7, 283, 2, 2, 6464, 6465, 7, 223, 2, 2, 6465, 6466, 7, 229, 2, 2, 6466, 6467, 7, 223, 2, 2, 6467, 6474, 7, 544, 2, 2, 6468, 6469, 7, 40, 2, 2, 6469, 6470, 7, 229, 2, 2, 6470, 6471, 7, 223, 2, 2, 6471, 6474, 7, 544, 2, 2, 6472, 6474, 5, 686, 344, 2, 6473, 6461, 3, 2, 2, 2, 6473, 6462, 3, 2, 2, 2, 6473, 6463, 3, 2, 2, 2, 6473, 6468, 3, 2, 2, 2, 6473, 6472, 3, 2, 2, 2, 6474, 489, 3, 2, 2, 2, 6475, 6476, 7, 73, 2, 2, 6476, 6477, 7, 328, 2, 2, 6477, 6478, 5, 966, 484, 2, 6478, 6479, 7, 229, 2, 2, 6479, 6480, 5, 824, 413, 2, 6480, 6481, 7, 828, 2, 2, 6481, 6482, 5, 926, 464, 2, 6482, 6501, 7, 829, 2, 2, 6483, 6489, 7, 377, 2, 2, 6484, 6490, 7, 520, 2, 2, 6485, 6486, 7, 701, 2, 2, 6486, 6487, 7, 802, 2, 2, 6487, 6490, 9, 60, 2, 2, 6488, 6490, 7, 735, 2, 2, 6489, 6484, 3, 2, 2, 2, 6489, 6485, 3, 2, 2, 2, 6489, 6488, 3, 2, 2, 2, 6490, 6493, 3, 2, 2, 2, 6491, 6492, 7, 830, 2, 2, 6492, 6494, 7, 618, 2, 2, 6493, 6491, 3, 2, 2, 2, 6493, 6494, 3, 2, 2, 2, 6494, 6499, 3, 2, 2, 2, 6495, 6496, 7, 830, 2, 2, 6496, 6497, 7, 542, 2, 2, 6497, 6498, 7, 810, 2, 2, 6498, 6500, 5, 930, 466, 2, 6499, 6495, 3, 2, 2, 2, 6499, 6500, 3, 2, 2, 2, 6500, 6502, 3, 2, 2, 2, 6501, 6483, 3, 2, 2, 2, 6501, 6502, 3, 2, 2, 2, 6502, 6504, 3, 2, 2, 2, 6503, 6505, 7, 831, 2, 2, 6504, 6503, 3, 2, 2, 2, 6504, 6505, 3, 2, 2, 2, 6505, 491, 3, 2, 2, 2, 6506, 6508, 7, 361, 2, 2, 6507, 6509, 9, 61, 2, 2, 6508, 6507, 3, 2, 2, 2, 6508, 6509, 3, 2, 2, 2, 6509, 6510, 3, 2, 2, 2, 6510, 6511, 7, 328, 2, 2, 6511, 6513, 5, 908, 455, 2, 6512, 6514, 5, 966, 484, 2, 6513, 6512, 3, 2, 2, 2, 6513, 6514, 3, 2, 2, 2, 6514, 6518, 3, 2, 2, 2, 6515, 6516, 7, 776, 2, 2, 6516, 6517, 7, 802, 2, 2, 6517, 6519, 7, 367, 2, 2, 6518, 6515, 3, 2, 2, 2, 6518, 6519, 3, 2, 2, 2, 6519, 493, 3, 2, 2, 2, 6520, 6521, 7, 73, 2, 2, 6521, 6522, 7, 339, 2, 2, 6522, 6523, 5, 910, 456, 2, 6523, 6524, 7, 828, 2, 2, 6524, 6526, 5, 696, 349, 2, 6525, 6527, 7, 830, 2, 2, 6526, 6525, 3, 2, 2, 2, 6526, 6527, 3, 2, 2, 2, 6527, 6528, 3, 2, 2, 2, 6528, 6531, 7, 829, 2, 2, 6529, 6530, 7, 569, 2, 2, 6530, 6532, 5, 968, 485, 2, 6531, 6529, 3, 2, 2, 2, 6531, 6532, 3, 2, 2, 2, 6532, 6536, 3, 2, 2, 2, 6533, 6535, 5, 496, 249, 2, 6534, 6533, 3, 2, 2, 2, 6535, 6538, 3, 2, 2, 2, 6536, 6534, 3, 2, 2, 2, 6536, 6537, 3, 2, 2, 2, 6537, 6542, 3, 2, 2, 2, 6538, 6536, 3, 2, 2, 2, 6539, 6540, 7, 229, 2, 2, 6540, 6543, 5, 966, 484, 2, 6541, 6543, 7, 89, 2, 2, 6542, 6539, 3, 2, 2, 2, 6542, 6541, 3, 2, 2, 2, 6542, 6543, 3, 2, 2, 2, 6543, 6547, 3, 2, 2, 2, 6544, 6545, 7, 754, 2, 2, 6545, 6548, 5, 966, 484, 2, 6546, 6548, 7, 89, 2, 2, 6547, 6544, 3, 2, 2, 2, 6547, 6546, 3, 2, 2, 2, 6547, 6548, 3, 2, 2, 2, 6548, 6550, 3, 2, 2, 2, 6549, 6551, 7, 831, 2, 2, 6550, 6549, 3, 2, 2, 2, 6550, 6551, 3, 2, 2, 2, 6551, 495, 3, 2, 2, 2, 6552, 6572, 7, 377, 2, 2, 6553, 6554, 7, 828, 2, 2, 6554, 6559, 5, 714, 358, 2, 6555, 6556, 7, 830, 2, 2, 6556, 6558, 5, 714, 358, 2, 6557, 6555, 3, 2, 2, 2, 6558, 6561, 3, 2, 2, 2, 6559, 6557, 3, 2, 2, 2, 6559, 6560, 3, 2, 2, 2, 6560, 6562, 3, 2, 2, 2, 6561, 6559, 3, 2, 2, 2, 6562, 6563, 7, 829, 2, 2, 6563, 6573, 3, 2, 2, 2, 6564, 6569, 5, 714, 358, 2, 6565, 6566, 7, 830, 2, 2, 6566, 6568, 5, 714, 358, 2, 6567, 6565, 3, 2, 2, 2, 6568, 6571, 3, 2, 2, 2, 6569, 6567, 3, 2, 2, 2, 6569, 6570, 3, 2, 2, 2, 6570, 6573, 3, 2, 2, 2, 6571, 6569, 3, 2, 2, 2, 6572, 6553, 3, 2, 2, 2, 6572, 6564, 3, 2, 2, 2, 6573, 497, 3, 2, 2, 2, 6574, 6575, 7, 73, 2, 2, 6575, 6576, 7, 370, 2, 2, 6576, 6581, 5, 912, 457, 2, 6577, 6578, 7, 828, 2, 2, 6578, 6579, 5, 926, 464, 2, 6579, 6580, 7, 829, 2, 2, 6580, 6582, 3, 2, 2, 2, 6581, 6577, 3, 2, 2, 2, 6581, 6582, 3, 2, 2, 2, 6582, 6592, 3, 2, 2, 2, 6583, 6584, 7, 377, 2, 2, 6584, 6589, 5, 500, 251, 2, 6585, 6586, 7, 830, 2, 2, 6586, 6588, 5, 500, 251, 2, 6587, 6585, 3, 2, 2, 2, 6588, 6591, 3, 2, 2, 2, 6589, 6587, 3, 2, 2, 2, 6589, 6590, 3, 2, 2, 2, 6590, 6593, 3, 2, 2, 2, 6591, 6589, 3, 2, 2, 2, 6592, 6583, 3, 2, 2, 2, 6592, 6593, 3, 2, 2, 2, 6593, 6594, 3, 2, 2, 2, 6594, 6595, 7, 16, 2, 2, 6595, 6599, 5, 446, 224, 2, 6596, 6597, 7, 377, 2, 2, 6597, 6598, 7, 46, 2, 2, 6598, 6600, 7, 236, 2, 2, 6599, 6596, 3, 2, 2, 2, 6599, 6600, 3, 2, 2, 2, 6600, 6602, 3, 2, 2, 2, 6601, 6603, 7, 831, 2, 2, 6602, 6601, 3, 2, 2, 2, 6602, 6603, 3, 2, 2, 2, 6603, 499, 3, 2, 2, 2, 6604, 6605, 9, 62, 2, 2, 6605, 501, 3, 2, 2, 2, 6606, 6607, 7, 10, 2, 2, 6607, 6608, 7, 339, 2, 2, 6608, 6652, 5, 910, 456, 2, 6609, 6610, 7, 315, 2, 2, 6610, 6611, 7, 828, 2, 2, 6611, 6612, 7, 570, 2, 2, 6612, 6613, 7, 810, 2, 2, 6613, 6614, 9, 63, 2, 2, 6614, 6653, 7, 829, 2, 2, 6615, 6616, 7, 4, 2, 2, 6616, 6653, 5, 698, 350, 2, 6617, 6618, 7, 10, 2, 2, 6618, 6619, 7, 56, 2, 2, 6619, 6653, 5, 700, 351, 2, 6620, 6621, 7, 103, 2, 2, 6621, 6622, 7, 56, 2, 2, 6622, 6653, 5, 966, 484, 2, 6623, 6624, 7, 103, 2, 2, 6624, 6625, 7, 61, 2, 2, 6625, 6653, 5, 966, 484, 2, 6626, 6627, 7, 377, 2, 2, 6627, 6628, 7, 46, 2, 2, 6628, 6629, 7, 4, 2, 2, 6629, 6630, 7, 61, 2, 2, 6630, 6631, 5, 966, 484, 2, 6631, 6632, 7, 136, 2, 2, 6632, 6633, 7, 172, 2, 2, 6633, 6634, 7, 828, 2, 2, 6634, 6635, 5, 926, 464, 2, 6635, 6636, 7, 829, 2, 2, 6636, 6637, 7, 270, 2, 2, 6637, 6638, 5, 910, 456, 2, 6638, 6639, 7, 828, 2, 2, 6639, 6640, 5, 926, 464, 2, 6640, 6641, 7, 829, 2, 2, 6641, 6653, 3, 2, 2, 2, 6642, 6643, 7, 46, 2, 2, 6643, 6644, 7, 61, 2, 2, 6644, 6653, 5, 966, 484, 2, 6645, 6646, 9, 23, 2, 2, 6646, 6648, 7, 352, 2, 2, 6647, 6649, 5, 966, 484, 2, 6648, 6647, 3, 2, 2, 2, 6648, 6649, 3, 2, 2, 2, 6649, 6653, 3, 2, 2, 2, 6650, 6651, 7, 673, 2, 2, 6651, 6653, 5, 496, 249, 2, 6652, 6609, 3, 2, 2, 2, 6652, 6615, 3, 2, 2, 2, 6652, 6617, 3, 2, 2, 2, 6652, 6620, 3, 2, 2, 2, 6652, 6623, 3, 2, 2, 2, 6652, 6626, 3, 2, 2, 2, 6652, 6642, 3, 2, 2, 2, 6652, 6645, 3, 2, 2, 2, 6652, 6650, 3, 2, 2, 2, 6653, 6655, 3, 2, 2, 2, 6654, 6656, 7, 831, 2, 2, 6655, 6654, 3, 2, 2, 2, 6655, 6656, 3, 2, 2, 2, 6656, 503, 3, 2, 2, 2, 6657, 6658, 7, 10, 2, 2, 6658, 6661, 7, 84, 2, 2, 6659, 6662, 5, 966, 484, 2, 6660, 6662, 7, 75, 2, 2, 6661, 6659, 3, 2, 2, 2, 6661, 6660, 3, 2, 2, 2, 6662, 6675, 3, 2, 2, 2, 6663, 6664, 7, 602, 2, 2, 6664, 6665, 7, 605, 2, 2, 6665, 6666, 7, 810, 2, 2, 6666, 6676, 5, 966, 484, 2, 6667, 6668, 7, 55, 2, 2, 6668, 6676, 5, 966, 484, 2, 6669, 6670, 7, 315, 2, 2, 6670, 6673, 5, 506, 254, 2, 6671, 6672, 7, 377, 2, 2, 6672, 6674, 5, 576, 289, 2, 6673, 6671, 3, 2, 2, 2, 6673, 6674, 3, 2, 2, 2, 6674, 6676, 3, 2, 2, 2, 6675, 6663, 3, 2, 2, 2, 6675, 6667, 3, 2, 2, 2, 6675, 6669, 3, 2, 2, 2, 6676, 6678, 3, 2, 2, 2, 6677, 6679, 7, 831, 2, 2, 6678, 6677, 3, 2, 2, 2, 6678, 6679, 3, 2, 2, 2, 6679, 505, 3, 2, 2, 2, 6680, 6704, 5, 508, 255, 2, 6681, 6704, 5, 510, 256, 2, 6682, 6704, 5, 514, 258, 2, 6683, 6704, 5, 516, 259, 2, 6684, 6704, 5, 520, 261, 2, 6685, 6704, 5, 546, 274, 2, 6686, 6704, 5, 548, 275, 2, 6687, 6704, 5, 550, 276, 2, 6688, 6704, 5, 552, 277, 2, 6689, 6704, 5, 554, 278, 2, 6690, 6704, 5, 556, 279, 2, 6691, 6704, 5, 558, 280, 2, 6692, 6693, 7, 510, 2, 2, 6693, 6704, 5, 894, 448, 2, 6694, 6704, 5, 560, 281, 2, 6695, 6704, 5, 562, 282, 2, 6696, 6704, 5, 564, 283, 2, 6697, 6704, 5, 566, 284, 2, 6698, 6704, 5, 568, 285, 2, 6699, 6704, 5, 570, 286, 2, 6700, 6704, 5, 572, 287, 2, 6701, 6704, 5, 574, 288, 2, 6702, 6704, 5, 576, 289, 2, 6703, 6680, 3, 2, 2, 2, 6703, 6681, 3, 2, 2, 2, 6703, 6682, 3, 2, 2, 2, 6703, 6683, 3, 2, 2, 2, 6703, 6684, 3, 2, 2, 2, 6703, 6685, 3, 2, 2, 2, 6703, 6686, 3, 2, 2, 2, 6703, 6687, 3, 2, 2, 2, 6703, 6688, 3, 2, 2, 2, 6703, 6689, 3, 2, 2, 2, 6703, 6690, 3, 2, 2, 2, 6703, 6691, 3, 2, 2, 2, 6703, 6692, 3, 2, 2, 2, 6703, 6694, 3, 2, 2, 2, 6703, 6695, 3, 2, 2, 2, 6703, 6696, 3, 2, 2, 2, 6703, 6697, 3, 2, 2, 2, 6703, 6698, 3, 2, 2, 2, 6703, 6699, 3, 2, 2, 2, 6703, 6700, 3, 2, 2, 2, 6703, 6701, 3, 2, 2, 2, 6703, 6702, 3, 2, 2, 2, 6704, 507, 3, 2, 2, 2, 6705, 6706, 7, 410, 2, 2, 6706, 6723, 5, 930, 466, 2, 6707, 6708, 7, 411, 2, 2, 6708, 6723, 7, 226, 2, 2, 6709, 6714, 7, 229, 2, 2, 6710, 6711, 7, 542, 2, 2, 6711, 6712, 7, 810, 2, 2, 6712, 6715, 7, 229, 2, 2, 6713, 6715, 7, 226, 2, 2, 6714, 6710, 3, 2, 2, 2, 6714, 6713, 3, 2, 2, 2, 6715, 6723, 3, 2, 2, 2, 6716, 6717, 7, 412, 2, 2, 6717, 6723, 5, 930, 466, 2, 6718, 6719, 7, 413, 2, 2, 6719, 6723, 5, 930, 466, 2, 6720, 6721, 7, 414, 2, 2, 6721, 6723, 9, 9, 2, 2, 6722, 6705, 3, 2, 2, 2, 6722, 6707, 3, 2, 2, 2, 6722, 6709, 3, 2, 2, 2, 6722, 6716, 3, 2, 2, 2, 6722, 6718, 3, 2, 2, 2, 6722, 6720, 3, 2, 2, 2, 6723, 509, 3, 2, 2, 2, 6724, 6725, 7, 433, 2, 2, 6725, 6741, 7, 810, 2, 2, 6726, 6742, 7, 226, 2, 2, 6727, 6738, 7, 229, 2, 2, 6728, 6733, 5, 512, 257, 2, 6729, 6730, 7, 830, 2, 2, 6730, 6732, 5, 512, 257, 2, 6731, 6729, 3, 2, 2, 2, 6732, 6735, 3, 2, 2, 2, 6733, 6731, 3, 2, 2, 2, 6733, 6734, 3, 2, 2, 2, 6734, 6737, 3, 2, 2, 2, 6735, 6733, 3, 2, 2, 2, 6736, 6728, 3, 2, 2, 2, 6737, 6740, 3, 2, 2, 2, 6738, 6736, 3, 2, 2, 2, 6738, 6739, 3, 2, 2, 2, 6739, 6742, 3, 2, 2, 2, 6740, 6738, 3, 2, 2, 2, 6741, 6726, 3, 2, 2, 2, 6741, 6727, 3, 2, 2, 2, 6742, 511, 3, 2, 2, 2, 6743, 6744, 7, 409, 2, 2, 6744, 6745, 7, 810, 2, 2, 6745, 6750, 5, 930, 466, 2, 6746, 6747, 7, 432, 2, 2, 6747, 6748, 7, 810, 2, 2, 6748, 6750, 9, 64, 2, 2, 6749, 6743, 3, 2, 2, 2, 6749, 6746, 3, 2, 2, 2, 6750, 513, 3, 2, 2, 2, 6751, 6752, 7, 62, 2, 2, 6752, 6753, 7, 810, 2, 2, 6753, 6754, 9, 55, 2, 2, 6754, 515, 3, 2, 2, 2, 6755, 6756, 7, 454, 2, 2, 6756, 6760, 5, 930, 466, 2, 6757, 6758, 7, 455, 2, 2, 6758, 6760, 9, 65, 2, 2, 6759, 6755, 3, 2, 2, 2, 6759, 6757, 3, 2, 2, 2, 6760, 517, 3, 2, 2, 2, 6761, 6762, 7, 10, 2, 2, 6762, 6763, 7, 109, 2, 2, 6763, 6766, 5, 966, 484, 2, 6764, 6765, 7, 20, 2, 2, 6765, 6767, 5, 966, 484, 2, 6766, 6764, 3, 2, 2, 2, 6766, 6767, 3, 2, 2, 2, 6767, 6775, 3, 2, 2, 2, 6768, 6769, 7, 329, 2, 2, 6769, 6773, 7, 810, 2, 2, 6770, 6774, 7, 332, 2, 2, 6771, 6774, 7, 335, 2, 2, 6772, 6774, 7, 482, 2, 2, 6773, 6770, 3, 2, 2, 2, 6773, 6771, 3, 2, 2, 2, 6773, 6772, 3, 2, 2, 2, 6774, 6776, 3, 2, 2, 2, 6775, 6768, 3, 2, 2, 2, 6775, 6776, 3, 2, 2, 2, 6776, 6777, 3, 2, 2, 2, 6777, 6778, 7, 16, 2, 2, 6778, 6779, 7, 343, 2, 2, 6779, 6780, 7, 828, 2, 2, 6780, 6781, 7, 184, 2, 2, 6781, 6782, 7, 810, 2, 2, 6782, 6787, 7, 802, 2, 2, 6783, 6784, 7, 830, 2, 2, 6784, 6785, 7, 183, 2, 2, 6785, 6786, 7, 810, 2, 2, 6786, 6788, 9, 66, 2, 2, 6787, 6783, 3, 2, 2, 2, 6787, 6788, 3, 2, 2, 2, 6788, 6789, 3, 2, 2, 2, 6789, 6899, 7, 829, 2, 2, 6790, 6900, 7, 767, 2, 2, 6791, 6792, 7, 133, 2, 2, 6792, 6793, 7, 311, 2, 2, 6793, 6794, 7, 828, 2, 2, 6794, 6795, 7, 21, 2, 2, 6795, 6812, 7, 810, 2, 2, 6796, 6798, 7, 376, 2, 2, 6797, 6799, 9, 67, 2, 2, 6798, 6797, 3, 2, 2, 2, 6798, 6799, 3, 2, 2, 2, 6799, 6802, 3, 2, 2, 2, 6800, 6801, 7, 43, 2, 2, 6801, 6803, 5, 966, 484, 2, 6802, 6800, 3, 2, 2, 2, 6802, 6803, 3, 2, 2, 2, 6803, 6813, 3, 2, 2, 2, 6804, 6805, 7, 43, 2, 2, 6805, 6807, 5, 966, 484, 2, 6806, 6808, 7, 376, 2, 2, 6807, 6806, 3, 2, 2, 2, 6807, 6808, 3, 2, 2, 2, 6808, 6810, 3, 2, 2, 2, 6809, 6811, 9, 67, 2, 2, 6810, 6809, 3, 2, 2, 2, 6810, 6811, 3, 2, 2, 2, 6811, 6813, 3, 2, 2, 2, 6812, 6796, 3, 2, 2, 2, 6812, 6804, 3, 2, 2, 2, 6813, 6831, 3, 2, 2, 2, 6814, 6816, 7, 830, 2, 2, 6815, 6814, 3, 2, 2, 2, 6815, 6816, 3, 2, 2, 2, 6816, 6817, 3, 2, 2, 2, 6817, 6818, 7, 492, 2, 2, 6818, 6819, 7, 810, 2, 2, 6819, 6829, 9, 68, 2, 2, 6820, 6827, 7, 394, 2, 2, 6821, 6828, 7, 5, 2, 2, 6822, 6828, 7, 666, 2, 2, 6823, 6824, 7, 5, 2, 2, 6824, 6828, 7, 666, 2, 2, 6825, 6826, 7, 666, 2, 2, 6826, 6828, 7, 5, 2, 2, 6827, 6821, 3, 2, 2, 2, 6827, 6822, 3, 2, 2, 2, 6827, 6823, 3, 2, 2, 2, 6827, 6825, 3, 2, 2, 2, 6828, 6830, 3, 2, 2, 2, 6829, 6820, 3, 2, 2, 2, 6829, 6830, 3, 2, 2, 2, 6830, 6832, 3, 2, 2, 2, 6831, 6815, 3, 2, 2, 2, 6831, 6832, 3, 2, 2, 2, 6832, 6839, 3, 2, 2, 2, 6833, 6835, 7, 830, 2, 2, 6834, 6833, 3, 2, 2, 2, 6834, 6835, 3, 2, 2, 2, 6835, 6836, 3, 2, 2, 2, 6836, 6837, 7, 202, 2, 2, 6837, 6838, 7, 810, 2, 2, 6838, 6840, 9, 69, 2, 2, 6839, 6834, 3, 2, 2, 2, 6839, 6840, 3, 2, 2, 2, 6840, 6847, 3, 2, 2, 2, 6841, 6843, 7, 830, 2, 2, 6842, 6841, 3, 2, 2, 2, 6842, 6843, 3, 2, 2, 2, 6843, 6844, 3, 2, 2, 2, 6844, 6845, 7, 203, 2, 2, 6845, 6846, 7, 810, 2, 2, 6846, 6848, 7, 802, 2, 2, 6847, 6842, 3, 2, 2, 2, 6847, 6848, 3, 2, 2, 2, 6848, 6849, 3, 2, 2, 2, 6849, 6900, 7, 829, 2, 2, 6850, 6851, 7, 133, 2, 2, 6851, 6852, 7, 85, 2, 2, 6852, 6853, 7, 828, 2, 2, 6853, 6854, 7, 21, 2, 2, 6854, 6871, 7, 810, 2, 2, 6855, 6857, 7, 376, 2, 2, 6856, 6858, 9, 67, 2, 2, 6857, 6856, 3, 2, 2, 2, 6857, 6858, 3, 2, 2, 2, 6858, 6861, 3, 2, 2, 2, 6859, 6860, 7, 43, 2, 2, 6860, 6862, 5, 966, 484, 2, 6861, 6859, 3, 2, 2, 2, 6861, 6862, 3, 2, 2, 2, 6862, 6872, 3, 2, 2, 2, 6863, 6864, 7, 43, 2, 2, 6864, 6866, 5, 966, 484, 2, 6865, 6867, 7, 376, 2, 2, 6866, 6865, 3, 2, 2, 2, 6866, 6867, 3, 2, 2, 2, 6867, 6869, 3, 2, 2, 2, 6868, 6870, 9, 67, 2, 2, 6869, 6868, 3, 2, 2, 2, 6869, 6870, 3, 2, 2, 2, 6870, 6872, 3, 2, 2, 2, 6871, 6855, 3, 2, 2, 2, 6871, 6863, 3, 2, 2, 2, 6872, 6890, 3, 2, 2, 2, 6873, 6875, 7, 830, 2, 2, 6874, 6873, 3, 2, 2, 2, 6874, 6875, 3, 2, 2, 2, 6875, 6876, 3, 2, 2, 2, 6876, 6877, 7, 492, 2, 2, 6877, 6878, 7, 810, 2, 2, 6878, 6888, 9, 68, 2, 2, 6879, 6886, 7, 394, 2, 2, 6880, 6887, 7, 5, 2, 2, 6881, 6887, 7, 666, 2, 2, 6882, 6883, 7, 5, 2, 2, 6883, 6887, 7, 666, 2, 2, 6884, 6885, 7, 666, 2, 2, 6885, 6887, 7, 5, 2, 2, 6886, 6880, 3, 2, 2, 2, 6886, 6881, 3, 2, 2, 2, 6886, 6882, 3, 2, 2, 2, 6886, 6884, 3, 2, 2, 2, 6887, 6889, 3, 2, 2, 2, 6888, 6879, 3, 2, 2, 2, 6888, 6889, 3, 2, 2, 2, 6889, 6891, 3, 2, 2, 2, 6890, 6874, 3, 2, 2, 2, 6890, 6891, 3, 2, 2, 2, 6891, 6893, 3, 2, 2, 2, 6892, 6894, 7, 830, 2, 2, 6893, 6892, 3, 2, 2, 2, 6893, 6894, 3, 2, 2, 2, 6894, 6895, 3, 2, 2, 2, 6895, 6896, 7, 289, 2, 2, 6896, 6897, 7, 810, 2, 2, 6897, 6898, 9, 70, 2, 2, 6898, 6900, 7, 829, 2, 2, 6899, 6790, 3, 2, 2, 2, 6899, 6791, 3, 2, 2, 2, 6899, 6850, 3, 2, 2, 2, 6900, 519, 3, 2, 2, 2, 6901, 6902, 5, 522, 262, 2, 6902, 521, 3, 2, 2, 2, 6903, 6904, 5, 524, 263, 2, 6904, 6905, 5, 530, 266, 2, 6905, 6910, 3, 2, 2, 2, 6906, 6907, 5, 526, 264, 2, 6907, 6908, 5, 532, 267, 2, 6908, 6910, 3, 2, 2, 2, 6909, 6903, 3, 2, 2, 2, 6909, 6906, 3, 2, 2, 2, 6910, 523, 3, 2, 2, 2, 6911, 6912, 7, 642, 2, 2, 6912, 525, 3, 2, 2, 2, 6913, 6914, 7, 380, 2, 2, 6914, 527, 3, 2, 2, 2, 6915, 6916, 7, 810, 2, 2, 6916, 529, 3, 2, 2, 2, 6917, 6918, 5, 528, 265, 2, 6918, 6919, 5, 536, 269, 2, 6919, 6930, 3, 2, 2, 2, 6920, 6930, 7, 125, 2, 2, 6921, 6930, 7, 135, 2, 2, 6922, 6930, 7, 226, 2, 2, 6923, 6930, 7, 280, 2, 2, 6924, 6925, 7, 297, 2, 2, 6925, 6930, 9, 71, 2, 2, 6926, 6930, 7, 746, 2, 2, 6927, 6928, 7, 758, 2, 2, 6928, 6930, 7, 802, 2, 2, 6929, 6917, 3, 2, 2, 2, 6929, 6920, 3, 2, 2, 2, 6929, 6921, 3, 2, 2, 2, 6929, 6922, 3, 2, 2, 2, 6929, 6923, 3, 2, 2, 2, 6929, 6924, 3, 2, 2, 2, 6929, 6926, 3, 2, 2, 2, 6929, 6927, 3, 2, 2, 2, 6930, 531, 3, 2, 2, 2, 6931, 6932, 5, 528, 265, 2, 6932, 6933, 5, 534, 268, 2, 6933, 6936, 3, 2, 2, 2, 6934, 6936, 7, 226, 2, 2, 6935, 6931, 3, 2, 2, 2, 6935, 6934, 3, 2, 2, 2, 6936, 533, 3, 2, 2, 2, 6937, 6938, 5, 536, 269, 2, 6938, 535, 3, 2, 2, 2, 6939, 6940, 5, 540, 271, 2, 6940, 6941, 5, 544, 273, 2, 6941, 6942, 5, 538, 270, 2, 6942, 6943, 5, 542, 272, 2, 6943, 537, 3, 2, 2, 2, 6944, 6945, 7, 832, 2, 2, 6945, 539, 3, 2, 2, 2, 6946, 6947, 7, 343, 2, 2, 6947, 6948, 7, 832, 2, 2, 6948, 6949, 7, 102, 2, 2, 6949, 541, 3, 2, 2, 2, 6950, 6951, 7, 802, 2, 2, 6951, 543, 3, 2, 2, 2, 6952, 6953, 5, 966, 484, 2, 6953, 6954, 7, 823, 2, 2, 6954, 6955, 5, 544, 273, 2, 6955, 6963, 3, 2, 2, 2, 6956, 6957, 5, 966, 484, 2, 6957, 6958, 7, 823, 2, 2, 6958, 6961, 3, 2, 2, 2, 6959, 6961, 5, 966, 484, 2, 6960, 6956, 3, 2, 2, 2, 6960, 6959, 3, 2, 2, 2, 6961, 6963, 3, 2, 2, 2, 6962, 6952, 3, 2, 2, 2, 6962, 6960, 3, 2, 2, 2, 6963, 545, 3, 2, 2, 2, 6964, 6965, 7, 457, 2, 2, 6965, 6966, 5, 930, 466, 2, 6966, 547, 3, 2, 2, 2, 6967, 6968, 7, 492, 2, 2, 6968, 6969, 5, 930, 466, 2, 6969, 549, 3, 2, 2, 2, 6970, 6971, 9, 72, 2, 2, 6971, 551, 3, 2, 2, 2, 6972, 6973, 9, 73, 2, 2, 6973, 553, 3, 2, 2, 2, 6974, 6975, 9, 74, 2, 2, 6975, 555, 3, 2, 2, 2, 6976, 6977, 7, 470, 2, 2, 6977, 6978, 7, 810, 2, 2, 6978, 6979, 9, 75, 2, 2, 6979, 557, 3, 2, 2, 2, 6980, 6981, 7, 463, 2, 2, 6981, 7006, 5, 930, 466, 2, 6982, 6983, 7, 765, 2, 2, 6983, 7006, 5, 930, 466, 2, 6984, 6985, 7, 468, 2, 2, 6985, 6988, 7, 810, 2, 2, 6986, 6989, 5, 966, 484, 2, 6987, 6989, 7, 806, 2, 2, 6988, 6986, 3, 2, 2, 2, 6988, 6987, 3, 2, 2, 2, 6989, 7006, 3, 2, 2, 2, 6990, 6991, 7, 467, 2, 2, 6991, 6994, 7, 810, 2, 2, 6992, 6995, 5, 966, 484, 2, 6993, 6995, 7, 806, 2, 2, 6994, 6992, 3, 2, 2, 2, 6994, 6993, 3, 2, 2, 2, 6995, 7006, 3, 2, 2, 2, 6996, 6997, 7, 606, 2, 2, 6997, 6998, 7, 810, 2, 2, 6998, 7006, 9, 9, 2, 2, 6999, 7000, 7, 762, 2, 2, 7000, 7001, 7, 810, 2, 2, 7001, 7006, 9, 9, 2, 2, 7002, 7003, 7, 768, 2, 2, 7003, 7004, 7, 810, 2, 2, 7004, 7006, 7, 802, 2, 2, 7005, 6980, 3, 2, 2, 2, 7005, 6982, 3, 2, 2, 2, 7005, 6984, 3, 2, 2, 2, 7005, 6990, 3, 2, 2, 2, 7005, 6996, 3, 2, 2, 2, 7005, 6999, 3, 2, 2, 2, 7005, 7002, 3, 2, 2, 2, 7006, 559, 3, 2, 2, 2, 7007, 7016, 7, 530, 2, 2, 7008, 7009, 7, 415, 2, 2, 7009, 7010, 7, 146, 2, 2, 7010, 7011, 7, 810, 2, 2, 7011, 7014, 5, 966, 484, 2, 7012, 7014, 7, 226, 2, 2, 7013, 7008, 3, 2, 2, 2, 7013, 7012, 3, 2, 2, 2, 7014, 7017, 3, 2, 2, 2, 7015, 7017, 9, 76, 2, 2, 7016, 7013, 3, 2, 2, 2, 7016, 7015, 3, 2, 2, 2, 7017, 561, 3, 2, 2, 2, 7018, 7019, 7, 600, 2, 2, 7019, 7020, 9, 9, 2, 2, 7020, 563, 3, 2, 2, 2, 7021, 7022, 7, 639, 2, 2, 7022, 7023, 9, 77, 2, 2, 7023, 565, 3, 2, 2, 2, 7024, 7025, 7, 676, 2, 2, 7025, 7031, 9, 78, 2, 2, 7026, 7027, 7, 761, 2, 2, 7027, 7031, 5, 930, 466, 2, 7028, 7029, 7, 638, 2, 2, 7029, 7031, 9, 79, 2, 2, 7030, 7024, 3, 2, 2, 2, 7030, 7026, 3, 2, 2, 2, 7030, 7028, 3, 2, 2, 2, 7031, 567, 3, 2, 2, 2, 7032, 7039, 7, 490, 2, 2, 7033, 7039, 7, 481, 2, 2, 7034, 7039, 7, 608, 2, 2, 7035, 7039, 7, 494, 2, 2, 7036, 7037, 7, 534, 2, 2, 7037, 7039, 5, 930, 466, 2, 7038, 7032, 3, 2, 2, 2, 7038, 7033, 3, 2, 2, 2, 7038, 7034, 3, 2, 2, 2, 7038, 7035, 3, 2, 2, 2, 7038, 7036, 3, 2, 2, 2, 7039, 569, 3, 2, 2, 2, 7040, 7041, 7, 396, 2, 2, 7041, 7046, 5, 930, 466, 2, 7042, 7043, 7, 668, 2, 2, 7043, 7046, 9, 9, 2, 2, 7044, 7046, 9, 9, 2, 2, 7045, 7040, 3, 2, 2, 2, 7045, 7042, 3, 2, 2, 2, 7045, 7044, 3, 2, 2, 2, 7046, 571, 3, 2, 2, 2, 7047, 7048, 7, 398, 2, 2, 7048, 7069, 5, 930, 466, 2, 7049, 7050, 7, 399, 2, 2, 7050, 7069, 5, 930, 466, 2, 7051, 7052, 7, 400, 2, 2, 7052, 7069, 5, 930, 466, 2, 7053, 7054, 7, 401, 2, 2, 7054, 7069, 5, 930, 466, 2, 7055, 7056, 7, 404, 2, 2, 7056, 7069, 5, 930, 466, 2, 7057, 7058, 7, 440, 2, 2, 7058, 7059, 7, 810, 2, 2, 7059, 7069, 7, 802, 2, 2, 7060, 7061, 7, 442, 2, 2, 7061, 7069, 5, 930, 466, 2, 7062, 7063, 7, 624, 2, 2, 7063, 7069, 5, 930, 466, 2, 7064, 7065, 7, 662, 2, 2, 7065, 7069, 5, 930, 466, 2, 7066, 7067, 7, 677, 2, 2, 7067, 7069, 5, 930, 466, 2, 7068, 7047, 3, 2, 2, 2, 7068, 7049, 3, 2, 2, 2, 7068, 7051, 3, 2, 2, 2, 7068, 7053, 3, 2, 2, 2, 7068, 7055, 3, 2, 2, 2, 7068, 7057, 3, 2, 2, 2, 7068, 7060, 3, 2, 2, 2, 7068, 7062, 3, 2, 2, 2, 7068, 7064, 3, 2, 2, 2, 7068, 7066, 3, 2, 2, 2, 7069, 573, 3, 2, 2, 2, 7070, 7071, 7, 752, 2, 2, 7071, 7072, 7, 810, 2, 2, 7072, 7073, 7, 802, 2, 2, 7073, 7074, 9, 80, 2, 2, 7074, 575, 3, 2, 2, 2, 7075, 7076, 7, 288, 2, 2, 7076, 7077, 7, 392, 2, 2, 7077, 7082, 7, 802, 2, 2, 7078, 7079, 7, 288, 2, 2, 7079, 7082, 7, 538, 2, 2, 7080, 7082, 7, 613, 2, 2, 7081, 7075, 3, 2, 2, 2, 7081, 7078, 3, 2, 2, 2, 7081, 7080, 3, 2, 2, 2, 7082, 577, 3, 2, 2, 2, 7083, 7084, 7, 103, 2, 2, 7084, 7087, 7, 158, 2, 2, 7085, 7086, 7, 153, 2, 2, 7086, 7088, 7, 119, 2, 2, 7087, 7085, 3, 2, 2, 2, 7087, 7088, 3, 2, 2, 2, 7088, 7105, 3, 2, 2, 2, 7089, 7094, 5, 580, 291, 2, 7090, 7091, 7, 830, 2, 2, 7091, 7093, 5, 580, 291, 2, 7092, 7090, 3, 2, 2, 2, 7093, 7096, 3, 2, 2, 2, 7094, 7092, 3, 2, 2, 2, 7094, 7095, 3, 2, 2, 2, 7095, 7106, 3, 2, 2, 2, 7096, 7094, 3, 2, 2, 2, 7097, 7102, 5, 582, 292, 2, 7098, 7099, 7, 830, 2, 2, 7099, 7101, 5, 582, 292, 2, 7100, 7098, 3, 2, 2, 2, 7101, 7104, 3, 2, 2, 2, 7102, 7100, 3, 2, 2, 2, 7102, 7103, 3, 2, 2, 2, 7103, 7106, 3, 2, 2, 2, 7104, 7102, 3, 2, 2, 2, 7105, 7089, 3, 2, 2, 2, 7105, 7097, 3, 2, 2, 2, 7106, 7108, 3, 2, 2, 2, 7107, 7109, 7, 831, 2, 2, 7108, 7107, 3, 2, 2, 2, 7108, 7109, 3, 2, 2, 2, 7109, 579, 3, 2, 2, 2, 7110, 7111, 5, 966, 484, 2, 7111, 7112, 7, 229, 2, 2, 7112, 7113, 5, 908, 455, 2, 7113, 581, 3, 2, 2, 2, 7114, 7115, 5, 966, 484, 2, 7115, 7116, 7, 823, 2, 2, 7116, 7118, 3, 2, 2, 2, 7117, 7114, 3, 2, 2, 2, 7117, 7118, 3, 2, 2, 2, 7118, 7119, 3, 2, 2, 2, 7119, 7120, 5, 966, 484, 2, 7120, 7121, 7, 823, 2, 2, 7121, 7122, 5, 966, 484, 2, 7122, 583, 3, 2, 2, 2, 7123, 7124, 7, 103, 2, 2, 7124, 7127, 9, 56, 2, 2, 7125, 7126, 7, 153, 2, 2, 7126, 7128, 7, 119, 2, 2, 7127, 7125, 3, 2, 2, 2, 7127, 7128, 3, 2, 2, 2, 7128, 7129, 3, 2, 2, 2, 7129, 7134, 5, 914, 458, 2, 7130, 7131, 7, 830, 2, 2, 7131, 7133, 5, 914, 458, 2, 7132, 7130, 3, 2, 2, 2, 7133, 7136, 3, 2, 2, 2, 7134, 7132, 3, 2, 2, 2, 7134, 7135, 3, 2, 2, 2, 7135, 7138, 3, 2, 2, 2, 7136, 7134, 3, 2, 2, 2, 7137, 7139, 7, 831, 2, 2, 7138, 7137, 3, 2, 2, 2, 7138, 7139, 3, 2, 2, 2, 7139, 585, 3, 2, 2, 2, 7140, 7143, 5, 588, 295, 2, 7141, 7143, 5, 590, 296, 2, 7142, 7140, 3, 2, 2, 2, 7142, 7141, 3, 2, 2, 2, 7143, 587, 3, 2, 2, 2, 7144, 7145, 7, 103, 2, 2, 7145, 7148, 7, 352, 2, 2, 7146, 7147, 7, 153, 2, 2, 7147, 7149, 7, 119, 2, 2, 7148, 7146, 3, 2, 2, 2, 7148, 7149, 3, 2, 2, 2, 7149, 7150, 3, 2, 2, 2, 7150, 7155, 5, 912, 457, 2, 7151, 7152, 7, 830, 2, 2, 7152, 7154, 5, 912, 457, 2, 7153, 7151, 3, 2, 2, 2, 7154, 7157, 3, 2, 2, 2, 7155, 7153, 3, 2, 2, 2, 7155, 7156, 3, 2, 2, 2, 7156, 7159, 3, 2, 2, 2, 7157, 7155, 3, 2, 2, 2, 7158, 7160, 7, 831, 2, 2, 7159, 7158, 3, 2, 2, 2, 7159, 7160, 3, 2, 2, 2, 7160, 589, 3, 2, 2, 2, 7161, 7162, 7, 103, 2, 2, 7162, 7165, 7, 352, 2, 2, 7163, 7164, 7, 153, 2, 2, 7164, 7166, 7, 119, 2, 2, 7165, 7163, 3, 2, 2, 2, 7165, 7166, 3, 2, 2, 2, 7166, 7167, 3, 2, 2, 2, 7167, 7172, 5, 912, 457, 2, 7168, 7169, 7, 830, 2, 2, 7169, 7171, 5, 912, 457, 2, 7170, 7168, 3, 2, 2, 2, 7171, 7174, 3, 2, 2, 2, 7172, 7170, 3, 2, 2, 2, 7172, 7173, 3, 2, 2, 2, 7173, 7175, 3, 2, 2, 2, 7174, 7172, 3, 2, 2, 2, 7175, 7179, 7, 229, 2, 2, 7176, 7180, 7, 84, 2, 2, 7177, 7178, 7, 6, 2, 2, 7178, 7180, 7, 309, 2, 2, 7179, 7176, 3, 2, 2, 2, 7179, 7177, 3, 2, 2, 2, 7180, 7182, 3, 2, 2, 2, 7181, 7183, 7, 831, 2, 2, 7182, 7181, 3, 2, 2, 2, 7182, 7183, 3, 2, 2, 2, 7183, 591, 3, 2, 2, 2, 7184, 7185, 7, 103, 2, 2, 7185, 7188, 7, 141, 2, 2, 7186, 7187, 7, 153, 2, 2, 7187, 7189, 7, 119, 2, 2, 7188, 7186, 3, 2, 2, 2, 7188, 7189, 3, 2, 2, 2, 7189, 7190, 3, 2, 2, 2, 7190, 7195, 5, 914, 458, 2, 7191, 7192, 7, 830, 2, 2, 7192, 7194, 5, 914, 458, 2, 7193, 7191, 3, 2, 2, 2, 7194, 7197, 3, 2, 2, 2, 7195, 7193, 3, 2, 2, 2, 7195, 7196, 3, 2, 2, 2, 7196, 7199, 3, 2, 2, 2, 7197, 7195, 3, 2, 2, 2, 7198, 7200, 7, 831, 2, 2, 7199, 7198, 3, 2, 2, 2, 7199, 7200, 3, 2, 2, 2, 7200, 593, 3, 2, 2, 2, 7201, 7202, 7, 103, 2, 2, 7202, 7212, 7, 328, 2, 2, 7203, 7205, 7, 830, 2, 2, 7204, 7203, 3, 2, 2, 2, 7204, 7205, 3, 2, 2, 2, 7205, 7209, 3, 2, 2, 2, 7206, 7207, 5, 910, 456, 2, 7207, 7208, 7, 823, 2, 2, 7208, 7210, 3, 2, 2, 2, 7209, 7206, 3, 2, 2, 2, 7209, 7210, 3, 2, 2, 2, 7210, 7211, 3, 2, 2, 2, 7211, 7213, 5, 966, 484, 2, 7212, 7204, 3, 2, 2, 2, 7213, 7214, 3, 2, 2, 2, 7214, 7212, 3, 2, 2, 2, 7214, 7215, 3, 2, 2, 2, 7215, 7216, 3, 2, 2, 2, 7216, 7217, 7, 831, 2, 2, 7217, 595, 3, 2, 2, 2, 7218, 7219, 7, 103, 2, 2, 7219, 7222, 7, 339, 2, 2, 7220, 7221, 7, 153, 2, 2, 7221, 7223, 7, 119, 2, 2, 7222, 7220, 3, 2, 2, 2, 7222, 7223, 3, 2, 2, 2, 7223, 7224, 3, 2, 2, 2, 7224, 7226, 5, 910, 456, 2, 7225, 7227, 7, 831, 2, 2, 7226, 7225, 3, 2, 2, 2, 7226, 7227, 3, 2, 2, 2, 7227, 597, 3, 2, 2, 2, 7228, 7229, 7, 103, 2, 2, 7229, 7232, 7, 370, 2, 2, 7230, 7231, 7, 153, 2, 2, 7231, 7233, 7, 119, 2, 2, 7232, 7230, 3, 2, 2, 2, 7232, 7233, 3, 2, 2, 2, 7233, 7234, 3, 2, 2, 2, 7234, 7239, 5, 912, 457, 2, 7235, 7236, 7, 830, 2, 2, 7236, 7238, 5, 912, 457, 2, 7237, 7235, 3, 2, 2, 2, 7238, 7241, 3, 2, 2, 2, 7239, 7237, 3, 2, 2, 2, 7239, 7240, 3, 2, 2, 2, 7240, 7243, 3, 2, 2, 2, 7241, 7239, 3, 2, 2, 2, 7242, 7244, 7, 831, 2, 2, 7243, 7242, 3, 2, 2, 2, 7243, 7244, 3, 2, 2, 2, 7244, 599, 3, 2, 2, 2, 7245, 7246, 7, 73, 2, 2, 7246, 7247, 7, 769, 2, 2, 7247, 7252, 5, 912, 457, 2, 7248, 7249, 7, 139, 2, 2, 7249, 7250, 5, 958, 480, 2, 7250, 7251, 5, 960, 481, 2, 7251, 7253, 3, 2, 2, 2, 7252, 7248, 3, 2, 2, 2, 7252, 7253, 3, 2, 2, 2, 7253, 7260, 3, 2, 2, 2, 7254, 7255, 7, 16, 2, 2, 7255, 7256, 7, 339, 2, 2, 7256, 7257, 7, 828, 2, 2, 7257, 7258, 5, 696, 349, 2, 7258, 7259, 7, 829, 2, 2, 7259, 7261, 3, 2, 2, 2, 7260, 7254, 3, 2, 2, 2, 7260, 7261, 3, 2, 2, 2, 7261, 601, 3, 2, 2, 2, 7262, 7263, 7, 103, 2, 2, 7263, 7266, 7, 769, 2, 2, 7264, 7265, 7, 153, 2, 2, 7265, 7267, 7, 119, 2, 2, 7266, 7264, 3, 2, 2, 2, 7266, 7267, 3, 2, 2, 2, 7267, 7268, 3, 2, 2, 2, 7268, 7269, 5, 912, 457, 2, 7269, 603, 3, 2, 2, 2, 7270, 7273, 5, 606, 304, 2, 7271, 7273, 5, 608, 305, 2, 7272, 7270, 3, 2, 2, 2, 7272, 7271, 3, 2, 2, 2, 7273, 605, 3, 2, 2, 2, 7274, 7275, 7, 233, 2, 2, 7275, 7276, 7, 828, 2, 2, 7276, 7277, 5, 966, 484, 2, 7277, 7278, 7, 830, 2, 2, 7278, 7279, 7, 806, 2, 2, 7279, 7280, 7, 829, 2, 2, 7280, 607, 3, 2, 2, 2, 7281, 7282, 7, 232, 2, 2, 7282, 7283, 7, 828, 2, 2, 7283, 7284, 7, 806, 2, 2, 7284, 7285, 7, 830, 2, 2, 7285, 7286, 7, 806, 2, 2, 7286, 7287, 7, 829, 2, 2, 7287, 7289, 7, 823, 2, 2, 7288, 7290, 5, 966, 484, 2, 7289, 7288, 3, 2, 2, 2, 7289, 7290, 3, 2, 2, 2, 7290, 7291, 3, 2, 2, 2, 7291, 7293, 7, 823, 2, 2, 7292, 7294, 5, 966, 484, 2, 7293, 7292, 3, 2, 2, 2, 7293, 7294, 3, 2, 2, 2, 7294, 7295, 3, 2, 2, 2, 7295, 7296, 7, 823, 2, 2, 7296, 7297, 5, 966, 484, 2, 7297, 609, 3, 2, 2, 2, 7298, 7299, 7, 88, 2, 2, 7299, 7301, 7, 801, 2, 2, 7300, 7302, 7, 16, 2, 2, 7301, 7300, 3, 2, 2, 2, 7301, 7302, 3, 2, 2, 2, 7302, 7303, 3, 2, 2, 2, 7303, 7305, 5, 690, 346, 2, 7304, 7306, 7, 831, 2, 2, 7305, 7304, 3, 2, 2, 2, 7305, 7306, 3, 2, 2, 2, 7306, 7342, 3, 2, 2, 2, 7307, 7308, 7, 88, 2, 2, 7308, 7313, 5, 688, 345, 2, 7309, 7310, 7, 830, 2, 2, 7310, 7312, 5, 688, 345, 2, 7311, 7309, 3, 2, 2, 2, 7312, 7315, 3, 2, 2, 2, 7313, 7311, 3, 2, 2, 2, 7313, 7314, 3, 2, 2, 2, 7314, 7317, 3, 2, 2, 2, 7315, 7313, 3, 2, 2, 2, 7316, 7318, 7, 831, 2, 2, 7317, 7316, 3, 2, 2, 2, 7317, 7318, 3, 2, 2, 2, 7318, 7342, 3, 2, 2, 2, 7319, 7320, 7, 88, 2, 2, 7320, 7322, 7, 801, 2, 2, 7321, 7323, 7, 16, 2, 2, 7322, 7321, 3, 2, 2, 2, 7322, 7323, 3, 2, 2, 2, 7323, 7324, 3, 2, 2, 2, 7324, 7326, 5, 692, 347, 2, 7325, 7327, 7, 831, 2, 2, 7326, 7325, 3, 2, 2, 2, 7326, 7327, 3, 2, 2, 2, 7327, 7342, 3, 2, 2, 2, 7328, 7329, 7, 377, 2, 2, 7329, 7330, 7, 791, 2, 2, 7330, 7331, 7, 828, 2, 2, 7331, 7333, 7, 806, 2, 2, 7332, 7334, 7, 830, 2, 2, 7333, 7332, 3, 2, 2, 2, 7333, 7334, 3, 2, 2, 2, 7334, 7335, 3, 2, 2, 2, 7335, 7336, 7, 16, 2, 2, 7336, 7337, 5, 966, 484, 2, 7337, 7339, 7, 829, 2, 2, 7338, 7340, 7, 831, 2, 2, 7339, 7338, 3, 2, 2, 2, 7339, 7340, 3, 2, 2, 2, 7340, 7342, 3, 2, 2, 2, 7341, 7298, 3, 2, 2, 2, 7341, 7307, 3, 2, 2, 2, 7341, 7319, 3, 2, 2, 2, 7341, 7328, 3, 2, 2, 2, 7342, 611, 3, 2, 2, 2, 7343, 7345, 7, 51, 2, 2, 7344, 7346, 7, 525, 2, 2, 7345, 7344, 3, 2, 2, 2, 7345, 7346, 3, 2, 2, 2, 7346, 7347, 3, 2, 2, 2, 7347, 7349, 5, 928, 465, 2, 7348, 7350, 7, 831, 2, 2, 7349, 7348, 3, 2, 2, 2, 7349, 7350, 3, 2, 2, 2, 7350, 7373, 3, 2, 2, 2, 7351, 7353, 7, 87, 2, 2, 7352, 7354, 7, 525, 2, 2, 7353, 7352, 3, 2, 2, 2, 7353, 7354, 3, 2, 2, 2, 7354, 7356, 3, 2, 2, 2, 7355, 7357, 7, 80, 2, 2, 7356, 7355, 3, 2, 2, 2, 7356, 7357, 3, 2, 2, 2, 7357, 7358, 3, 2, 2, 2, 7358, 7360, 5, 928, 465, 2, 7359, 7361, 7, 831, 2, 2, 7360, 7359, 3, 2, 2, 2, 7360, 7361, 3, 2, 2, 2, 7361, 7373, 3, 2, 2, 2, 7362, 7373, 5, 716, 359, 2, 7363, 7373, 5, 722, 362, 2, 7364, 7366, 7, 231, 2, 2, 7365, 7367, 7, 525, 2, 2, 7366, 7365, 3, 2, 2, 2, 7366, 7367, 3, 2, 2, 2, 7367, 7368, 3, 2, 2, 2, 7368, 7370, 5, 928, 465, 2, 7369, 7371, 7, 831, 2, 2, 7370, 7369, 3, 2, 2, 2, 7370, 7371, 3, 2, 2, 2, 7371, 7373, 3, 2, 2, 2, 7372, 7343, 3, 2, 2, 2, 7372, 7351, 3, 2, 2, 2, 7372, 7362, 3, 2, 2, 2, 7372, 7363, 3, 2, 2, 2, 7372, 7364, 3, 2, 2, 2, 7373, 613, 3, 2, 2, 2, 7374, 7375, 7, 26, 2, 2, 7375, 7376, 7, 84, 2, 2, 7376, 7389, 5, 966, 484, 2, 7377, 7386, 7, 268, 2, 2, 7378, 7380, 7, 830, 2, 2, 7379, 7378, 3, 2, 2, 2, 7379, 7380, 3, 2, 2, 2, 7380, 7381, 3, 2, 2, 2, 7381, 7382, 9, 81, 2, 2, 7382, 7383, 7, 810, 2, 2, 7383, 7385, 7, 806, 2, 2, 7384, 7379, 3, 2, 2, 2, 7385, 7388, 3, 2, 2, 2, 7386, 7384, 3, 2, 2, 2, 7386, 7387, 3, 2, 2, 2, 7387, 7390, 3, 2, 2, 2, 7388, 7386, 3, 2, 2, 2, 7389, 7377, 3, 2, 2, 2, 7389, 7390, 3, 2, 2, 2, 7390, 7399, 3, 2, 2, 2, 7391, 7393, 7, 830, 2, 2, 7392, 7391, 3, 2, 2, 2, 7392, 7393, 3, 2, 2, 2, 7393, 7394, 3, 2, 2, 2, 7394, 7395, 9, 81, 2, 2, 7395, 7396, 7, 810, 2, 2, 7396, 7398, 7, 806, 2, 2, 7397, 7392, 3, 2, 2, 2, 7398, 7401, 3, 2, 2, 2, 7399, 7397, 3, 2, 2, 2, 7399, 7400, 3, 2, 2, 2, 7400, 7425, 3, 2, 2, 2, 7401, 7399, 3, 2, 2, 2, 7402, 7407, 7, 346, 2, 2, 7403, 7405, 7, 830, 2, 2, 7404, 7403, 3, 2, 2, 2, 7404, 7405, 3, 2, 2, 2, 7405, 7406, 3, 2, 2, 2, 7406, 7408, 5, 966, 484, 2, 7407, 7404, 3, 2, 2, 2, 7408, 7409, 3, 2, 2, 2, 7409, 7407, 3, 2, 2, 2, 7409, 7410, 3, 2, 2, 2, 7410, 7426, 3, 2, 2, 2, 7411, 7421, 7, 346, 2, 2, 7412, 7414, 7, 830, 2, 2, 7413, 7412, 3, 2, 2, 2, 7413, 7414, 3, 2, 2, 2, 7414, 7415, 3, 2, 2, 2, 7415, 7416, 9, 82, 2, 2, 7416, 7419, 7, 810, 2, 2, 7417, 7420, 7, 806, 2, 2, 7418, 7420, 5, 966, 484, 2, 7419, 7417, 3, 2, 2, 2, 7419, 7418, 3, 2, 2, 2, 7420, 7422, 3, 2, 2, 2, 7421, 7413, 3, 2, 2, 2, 7422, 7423, 3, 2, 2, 2, 7423, 7421, 3, 2, 2, 2, 7423, 7424, 3, 2, 2, 2, 7424, 7426, 3, 2, 2, 2, 7425, 7402, 3, 2, 2, 2, 7425, 7411, 3, 2, 2, 2, 7426, 7460, 3, 2, 2, 2, 7427, 7428, 7, 205, 2, 2, 7428, 7433, 7, 346, 2, 2, 7429, 7431, 7, 830, 2, 2, 7430, 7429, 3, 2, 2, 2, 7430, 7431, 3, 2, 2, 2, 7431, 7432, 3, 2, 2, 2, 7432, 7434, 5, 966, 484, 2, 7433, 7430, 3, 2, 2, 2, 7434, 7435, 3, 2, 2, 2, 7435, 7433, 3, 2, 2, 2, 7435, 7436, 3, 2, 2, 2, 7436, 7438, 3, 2, 2, 2, 7437, 7427, 3, 2, 2, 2, 7438, 7439, 3, 2, 2, 2, 7439, 7437, 3, 2, 2, 2, 7439, 7440, 3, 2, 2, 2, 7440, 7461, 3, 2, 2, 2, 7441, 7442, 7, 205, 2, 2, 7442, 7452, 7, 346, 2, 2, 7443, 7445, 7, 830, 2, 2, 7444, 7443, 3, 2, 2, 2, 7444, 7445, 3, 2, 2, 2, 7445, 7446, 3, 2, 2, 2, 7446, 7447, 9, 82, 2, 2, 7447, 7450, 7, 810, 2, 2, 7448, 7451, 7, 806, 2, 2, 7449, 7451, 5, 966, 484, 2, 7450, 7448, 3, 2, 2, 2, 7450, 7449, 3, 2, 2, 2, 7451, 7453, 3, 2, 2, 2, 7452, 7444, 3, 2, 2, 2, 7453, 7454, 3, 2, 2, 2, 7454, 7452, 3, 2, 2, 2, 7454, 7455, 3, 2, 2, 2, 7455, 7457, 3, 2, 2, 2, 7456, 7441, 3, 2, 2, 2, 7457, 7458, 3, 2, 2, 2, 7458, 7456, 3, 2, 2, 2, 7458, 7459, 3, 2, 2, 2, 7459, 7461, 3, 2, 2, 2, 7460, 7437, 3, 2, 2, 2, 7460, 7456, 3, 2, 2, 2, 7460, 7461, 3, 2, 2, 2, 7461, 7622, 3, 2, 2, 2, 7462, 7619, 7, 377, 2, 2, 7463, 7465, 7, 830, 2, 2, 7464, 7463, 3, 2, 2, 2, 7464, 7465, 3, 2, 2, 2, 7465, 7466, 3, 2, 2, 2, 7466, 7618, 7, 96, 2, 2, 7467, 7469, 7, 830, 2, 2, 7468, 7467, 3, 2, 2, 2, 7468, 7469, 3, 2, 2, 2, 7469, 7470, 3, 2, 2, 2, 7470, 7618, 7, 72, 2, 2, 7471, 7473, 7, 830, 2, 2, 7472, 7471, 3, 2, 2, 2, 7472, 7473, 3, 2, 2, 2, 7473, 7474, 3, 2, 2, 2, 7474, 7618, 9, 83, 2, 2, 7475, 7477, 7, 830, 2, 2, 7476, 7475, 3, 2, 2, 2, 7476, 7477, 3, 2, 2, 2, 7477, 7478, 3, 2, 2, 2, 7478, 7479, 7, 475, 2, 2, 7479, 7482, 7, 810, 2, 2, 7480, 7483, 7, 806, 2, 2, 7481, 7483, 5, 966, 484, 2, 7482, 7480, 3, 2, 2, 2, 7482, 7481, 3, 2, 2, 2, 7483, 7618, 3, 2, 2, 2, 7484, 7486, 7, 830, 2, 2, 7485, 7484, 3, 2, 2, 2, 7485, 7486, 3, 2, 2, 2, 7486, 7487, 3, 2, 2, 2, 7487, 7488, 7, 605, 2, 2, 7488, 7489, 7, 810, 2, 2, 7489, 7618, 5, 966, 484, 2, 7490, 7492, 7, 830, 2, 2, 7491, 7490, 3, 2, 2, 2, 7491, 7492, 3, 2, 2, 2, 7492, 7493, 3, 2, 2, 2, 7493, 7618, 7, 452, 2, 2, 7494, 7496, 7, 830, 2, 2, 7495, 7494, 3, 2, 2, 2, 7495, 7496, 3, 2, 2, 2, 7496, 7497, 3, 2, 2, 2, 7497, 7618, 7, 132, 2, 2, 7498, 7500, 7, 830, 2, 2, 7499, 7498, 3, 2, 2, 2, 7499, 7500, 3, 2, 2, 2, 7500, 7513, 3, 2, 2, 2, 7501, 7502, 7, 120, 2, 2, 7502, 7505, 7, 810, 2, 2, 7503, 7506, 7, 806, 2, 2, 7504, 7506, 5, 966, 484, 2, 7505, 7503, 3, 2, 2, 2, 7505, 7504, 3, 2, 2, 2, 7506, 7514, 3, 2, 2, 2, 7507, 7508, 7, 281, 2, 2, 7508, 7511, 7, 810, 2, 2, 7509, 7512, 7, 802, 2, 2, 7510, 7512, 5, 966, 484, 2, 7511, 7509, 3, 2, 2, 2, 7511, 7510, 3, 2, 2, 2, 7512, 7514, 3, 2, 2, 2, 7513, 7501, 3, 2, 2, 2, 7513, 7507, 3, 2, 2, 2, 7514, 7618, 3, 2, 2, 2, 7515, 7517, 7, 830, 2, 2, 7516, 7515, 3, 2, 2, 2, 7516, 7517, 3, 2, 2, 2, 7517, 7518, 3, 2, 2, 2, 7518, 7618, 9, 84, 2, 2, 7519, 7521, 7, 830, 2, 2, 7520, 7519, 3, 2, 2, 2, 7520, 7521, 3, 2, 2, 2, 7521, 7522, 3, 2, 2, 2, 7522, 7618, 9, 85, 2, 2, 7523, 7525, 7, 830, 2, 2, 7524, 7523, 3, 2, 2, 2, 7524, 7525, 3, 2, 2, 2, 7525, 7526, 3, 2, 2, 2, 7526, 7618, 9, 86, 2, 2, 7527, 7529, 7, 830, 2, 2, 7528, 7527, 3, 2, 2, 2, 7528, 7529, 3, 2, 2, 2, 7529, 7530, 3, 2, 2, 2, 7530, 7531, 7, 197, 2, 2, 7531, 7534, 7, 810, 2, 2, 7532, 7535, 7, 806, 2, 2, 7533, 7535, 5, 966, 484, 2, 7534, 7532, 3, 2, 2, 2, 7534, 7533, 3, 2, 2, 2, 7535, 7618, 3, 2, 2, 2, 7536, 7538, 7, 830, 2, 2, 7537, 7536, 3, 2, 2, 2, 7537, 7538, 3, 2, 2, 2, 7538, 7539, 3, 2, 2, 2, 7539, 7540, 7, 198, 2, 2, 7540, 7541, 7, 810, 2, 2, 7541, 7618, 7, 806, 2, 2, 7542, 7544, 7, 830, 2, 2, 7543, 7542, 3, 2, 2, 2, 7543, 7544, 3, 2, 2, 2, 7544, 7545, 3, 2, 2, 2, 7545, 7546, 7, 31, 2, 2, 7546, 7549, 7, 810, 2, 2, 7547, 7550, 7, 802, 2, 2, 7548, 7550, 5, 966, 484, 2, 7549, 7547, 3, 2, 2, 2, 7549, 7548, 3, 2, 2, 2, 7550, 7618, 3, 2, 2, 2, 7551, 7553, 7, 830, 2, 2, 7552, 7551, 3, 2, 2, 2, 7552, 7553, 3, 2, 2, 2, 7553, 7554, 3, 2, 2, 2, 7554, 7555, 7, 36, 2, 2, 7555, 7558, 7, 810, 2, 2, 7556, 7559, 7, 802, 2, 2, 7557, 7559, 5, 966, 484, 2, 7558, 7556, 3, 2, 2, 2, 7558, 7557, 3, 2, 2, 2, 7559, 7618, 3, 2, 2, 2, 7560, 7562, 7, 830, 2, 2, 7561, 7560, 3, 2, 2, 2, 7561, 7562, 3, 2, 2, 2, 7562, 7563, 3, 2, 2, 2, 7563, 7564, 7, 191, 2, 2, 7564, 7567, 7, 810, 2, 2, 7565, 7568, 7, 802, 2, 2, 7566, 7568, 5, 966, 484, 2, 7567, 7565, 3, 2, 2, 2, 7567, 7566, 3, 2, 2, 2, 7568, 7618, 3, 2, 2, 2, 7569, 7571, 7, 830, 2, 2, 7570, 7569, 3, 2, 2, 2, 7570, 7571, 3, 2, 2, 2, 7571, 7572, 3, 2, 2, 2, 7572, 7618, 9, 87, 2, 2, 7573, 7575, 7, 830, 2, 2, 7574, 7573, 3, 2, 2, 2, 7574, 7575, 3, 2, 2, 2, 7575, 7576, 3, 2, 2, 2, 7576, 7618, 9, 88, 2, 2, 7577, 7579, 7, 830, 2, 2, 7578, 7577, 3, 2, 2, 2, 7578, 7579, 3, 2, 2, 2, 7579, 7580, 3, 2, 2, 2, 7580, 7618, 7, 277, 2, 2, 7581, 7583, 7, 830, 2, 2, 7582, 7581, 3, 2, 2, 2, 7582, 7583, 3, 2, 2, 2, 7583, 7584, 3, 2, 2, 2, 7584, 7587, 7, 330, 2, 2, 7585, 7586, 7, 810, 2, 2, 7586, 7588, 7, 802, 2, 2, 7587, 7585, 3, 2, 2, 2, 7587, 7588, 3, 2, 2, 2, 7588, 7618, 3, 2, 2, 2, 7589, 7591, 7, 830, 2, 2, 7590, 7589, 3, 2, 2, 2, 7590, 7591, 3, 2, 2, 2, 7591, 7592, 3, 2, 2, 2, 7592, 7618, 9, 89, 2, 2, 7593, 7595, 7, 830, 2, 2, 7594, 7593, 3, 2, 2, 2, 7594, 7595, 3, 2, 2, 2, 7595, 7596, 3, 2, 2, 2, 7596, 7618, 9, 90, 2, 2, 7597, 7599, 7, 830, 2, 2, 7598, 7597, 3, 2, 2, 2, 7598, 7599, 3, 2, 2, 2, 7599, 7600, 3, 2, 2, 2, 7600, 7601, 7, 492, 2, 2, 7601, 7602, 7, 828, 2, 2, 7602, 7603, 7, 394, 2, 2, 7603, 7604, 7, 810, 2, 2, 7604, 7605, 9, 91, 2, 2, 7605, 7606, 7, 830, 2, 2, 7606, 7607, 7, 309, 2, 2, 7607, 7608, 7, 43, 2, 2, 7608, 7615, 7, 810, 2, 2, 7609, 7616, 5, 966, 484, 2, 7610, 7611, 7, 309, 2, 2, 7611, 7612, 7, 18, 2, 2, 7612, 7613, 7, 172, 2, 2, 7613, 7614, 7, 810, 2, 2, 7614, 7616, 5, 966, 484, 2, 7615, 7609, 3, 2, 2, 2, 7615, 7610, 3, 2, 2, 2, 7616, 7618, 3, 2, 2, 2, 7617, 7464, 3, 2, 2, 2, 7617, 7468, 3, 2, 2, 2, 7617, 7472, 3, 2, 2, 2, 7617, 7476, 3, 2, 2, 2, 7617, 7485, 3, 2, 2, 2, 7617, 7491, 3, 2, 2, 2, 7617, 7495, 3, 2, 2, 2, 7617, 7499, 3, 2, 2, 2, 7617, 7516, 3, 2, 2, 2, 7617, 7520, 3, 2, 2, 2, 7617, 7524, 3, 2, 2, 2, 7617, 7528, 3, 2, 2, 2, 7617, 7537, 3, 2, 2, 2, 7617, 7543, 3, 2, 2, 2, 7617, 7552, 3, 2, 2, 2, 7617, 7561, 3, 2, 2, 2, 7617, 7570, 3, 2, 2, 2, 7617, 7574, 3, 2, 2, 2, 7617, 7578, 3, 2, 2, 2, 7617, 7582, 3, 2, 2, 2, 7617, 7590, 3, 2, 2, 2, 7617, 7594, 3, 2, 2, 2, 7617, 7598, 3, 2, 2, 2, 7618, 7621, 3, 2, 2, 2, 7619, 7617, 3, 2, 2, 2, 7619, 7620, 3, 2, 2, 2, 7620, 7623, 3, 2, 2, 2, 7621, 7619, 3, 2, 2, 2, 7622, 7462, 3, 2, 2, 2, 7622, 7623, 3, 2, 2, 2, 7623, 615, 3, 2, 2, 2, 7624, 7625, 7, 26, 2, 2, 7625, 7626, 7, 187, 2, 2, 7626, 7650, 5, 966, 484, 2, 7627, 7632, 7, 346, 2, 2, 7628, 7630, 7, 830, 2, 2, 7629, 7628, 3, 2, 2, 2, 7629, 7630, 3, 2, 2, 2, 7630, 7631, 3, 2, 2, 2, 7631, 7633, 5, 966, 484, 2, 7632, 7629, 3, 2, 2, 2, 7633, 7634, 3, 2, 2, 2, 7634, 7632, 3, 2, 2, 2, 7634, 7635, 3, 2, 2, 2, 7635, 7651, 3, 2, 2, 2, 7636, 7646, 7, 346, 2, 2, 7637, 7639, 7, 830, 2, 2, 7638, 7637, 3, 2, 2, 2, 7638, 7639, 3, 2, 2, 2, 7639, 7640, 3, 2, 2, 2, 7640, 7641, 9, 82, 2, 2, 7641, 7644, 7, 810, 2, 2, 7642, 7645, 7, 806, 2, 2, 7643, 7645, 5, 966, 484, 2, 7644, 7642, 3, 2, 2, 2, 7644, 7643, 3, 2, 2, 2, 7645, 7647, 3, 2, 2, 2, 7646, 7638, 3, 2, 2, 2, 7647, 7648, 3, 2, 2, 2, 7648, 7646, 3, 2, 2, 2, 7648, 7649, 3, 2, 2, 2, 7649, 7651, 3, 2, 2, 2, 7650, 7627, 3, 2, 2, 2, 7650, 7636, 3, 2, 2, 2, 7651, 7685, 3, 2, 2, 2, 7652, 7653, 7, 205, 2, 2, 7653, 7658, 7, 346, 2, 2, 7654, 7656, 7, 830, 2, 2, 7655, 7654, 3, 2, 2, 2, 7655, 7656, 3, 2, 2, 2, 7656, 7657, 3, 2, 2, 2, 7657, 7659, 5, 966, 484, 2, 7658, 7655, 3, 2, 2, 2, 7659, 7660, 3, 2, 2, 2, 7660, 7658, 3, 2, 2, 2, 7660, 7661, 3, 2, 2, 2, 7661, 7663, 3, 2, 2, 2, 7662, 7652, 3, 2, 2, 2, 7663, 7664, 3, 2, 2, 2, 7664, 7662, 3, 2, 2, 2, 7664, 7665, 3, 2, 2, 2, 7665, 7686, 3, 2, 2, 2, 7666, 7667, 7, 205, 2, 2, 7667, 7677, 7, 346, 2, 2, 7668, 7670, 7, 830, 2, 2, 7669, 7668, 3, 2, 2, 2, 7669, 7670, 3, 2, 2, 2, 7670, 7671, 3, 2, 2, 2, 7671, 7672, 9, 82, 2, 2, 7672, 7675, 7, 810, 2, 2, 7673, 7676, 7, 806, 2, 2, 7674, 7676, 5, 966, 484, 2, 7675, 7673, 3, 2, 2, 2, 7675, 7674, 3, 2, 2, 2, 7676, 7678, 3, 2, 2, 2, 7677, 7669, 3, 2, 2, 2, 7678, 7679, 3, 2, 2, 2, 7679, 7677, 3, 2, 2, 2, 7679, 7680, 3, 2, 2, 2, 7680, 7682, 3, 2, 2, 2, 7681, 7666, 3, 2, 2, 2, 7682, 7683, 3, 2, 2, 2, 7683, 7681, 3, 2, 2, 2, 7683, 7684, 3, 2, 2, 2, 7684, 7686, 3, 2, 2, 2, 7685, 7662, 3, 2, 2, 2, 7685, 7681, 3, 2, 2, 2, 7685, 7686, 3, 2, 2, 2, 7686, 7860, 3, 2, 2, 2, 7687, 7857, 7, 377, 2, 2, 7688, 7690, 7, 830, 2, 2, 7689, 7688, 3, 2, 2, 2, 7689, 7690, 3, 2, 2, 2, 7690, 7691, 3, 2, 2, 2, 7691, 7856, 7, 96, 2, 2, 7692, 7694, 7, 830, 2, 2, 7693, 7692, 3, 2, 2, 2, 7693, 7694, 3, 2, 2, 2, 7694, 7695, 3, 2, 2, 2, 7695, 7856, 7, 72, 2, 2, 7696, 7698, 7, 830, 2, 2, 7697, 7696, 3, 2, 2, 2, 7697, 7698, 3, 2, 2, 2, 7698, 7699, 3, 2, 2, 2, 7699, 7856, 9, 83, 2, 2, 7700, 7702, 7, 830, 2, 2, 7701, 7700, 3, 2, 2, 2, 7701, 7702, 3, 2, 2, 2, 7702, 7703, 3, 2, 2, 2, 7703, 7704, 7, 475, 2, 2, 7704, 7707, 7, 810, 2, 2, 7705, 7708, 7, 806, 2, 2, 7706, 7708, 5, 966, 484, 2, 7707, 7705, 3, 2, 2, 2, 7707, 7706, 3, 2, 2, 2, 7708, 7856, 3, 2, 2, 2, 7709, 7711, 7, 830, 2, 2, 7710, 7709, 3, 2, 2, 2, 7710, 7711, 3, 2, 2, 2, 7711, 7712, 3, 2, 2, 2, 7712, 7713, 7, 605, 2, 2, 7713, 7714, 7, 810, 2, 2, 7714, 7856, 5, 966, 484, 2, 7715, 7717, 7, 830, 2, 2, 7716, 7715, 3, 2, 2, 2, 7716, 7717, 3, 2, 2, 2, 7717, 7718, 3, 2, 2, 2, 7718, 7856, 7, 452, 2, 2, 7719, 7721, 7, 830, 2, 2, 7720, 7719, 3, 2, 2, 2, 7720, 7721, 3, 2, 2, 2, 7721, 7722, 3, 2, 2, 2, 7722, 7856, 7, 132, 2, 2, 7723, 7725, 7, 830, 2, 2, 7724, 7723, 3, 2, 2, 2, 7724, 7725, 3, 2, 2, 2, 7725, 7738, 3, 2, 2, 2, 7726, 7727, 7, 120, 2, 2, 7727, 7730, 7, 810, 2, 2, 7728, 7731, 7, 806, 2, 2, 7729, 7731, 5, 966, 484, 2, 7730, 7728, 3, 2, 2, 2, 7730, 7729, 3, 2, 2, 2, 7731, 7739, 3, 2, 2, 2, 7732, 7733, 7, 281, 2, 2, 7733, 7736, 7, 810, 2, 2, 7734, 7737, 7, 802, 2, 2, 7735, 7737, 5, 966, 484, 2, 7736, 7734, 3, 2, 2, 2, 7736, 7735, 3, 2, 2, 2, 7737, 7739, 3, 2, 2, 2, 7738, 7726, 3, 2, 2, 2, 7738, 7732, 3, 2, 2, 2, 7739, 7856, 3, 2, 2, 2, 7740, 7742, 7, 830, 2, 2, 7741, 7740, 3, 2, 2, 2, 7741, 7742, 3, 2, 2, 2, 7742, 7743, 3, 2, 2, 2, 7743, 7856, 9, 84, 2, 2, 7744, 7746, 7, 830, 2, 2, 7745, 7744, 3, 2, 2, 2, 7745, 7746, 3, 2, 2, 2, 7746, 7747, 3, 2, 2, 2, 7747, 7856, 9, 85, 2, 2, 7748, 7750, 7, 830, 2, 2, 7749, 7748, 3, 2, 2, 2, 7749, 7750, 3, 2, 2, 2, 7750, 7751, 3, 2, 2, 2, 7751, 7856, 9, 86, 2, 2, 7752, 7754, 7, 830, 2, 2, 7753, 7752, 3, 2, 2, 2, 7753, 7754, 3, 2, 2, 2, 7754, 7755, 3, 2, 2, 2, 7755, 7756, 7, 197, 2, 2, 7756, 7759, 7, 810, 2, 2, 7757, 7760, 7, 806, 2, 2, 7758, 7760, 5, 966, 484, 2, 7759, 7757, 3, 2, 2, 2, 7759, 7758, 3, 2, 2, 2, 7760, 7856, 3, 2, 2, 2, 7761, 7763, 7, 830, 2, 2, 7762, 7761, 3, 2, 2, 2, 7762, 7763, 3, 2, 2, 2, 7763, 7764, 3, 2, 2, 2, 7764, 7765, 7, 198, 2, 2, 7765, 7766, 7, 810, 2, 2, 7766, 7856, 7, 806, 2, 2, 7767, 7769, 7, 830, 2, 2, 7768, 7767, 3, 2, 2, 2, 7768, 7769, 3, 2, 2, 2, 7769, 7770, 3, 2, 2, 2, 7770, 7771, 7, 31, 2, 2, 7771, 7774, 7, 810, 2, 2, 7772, 7775, 7, 802, 2, 2, 7773, 7775, 5, 966, 484, 2, 7774, 7772, 3, 2, 2, 2, 7774, 7773, 3, 2, 2, 2, 7775, 7856, 3, 2, 2, 2, 7776, 7778, 7, 830, 2, 2, 7777, 7776, 3, 2, 2, 2, 7777, 7778, 3, 2, 2, 2, 7778, 7779, 3, 2, 2, 2, 7779, 7780, 7, 36, 2, 2, 7780, 7783, 7, 810, 2, 2, 7781, 7784, 7, 802, 2, 2, 7782, 7784, 5, 966, 484, 2, 7783, 7781, 3, 2, 2, 2, 7783, 7782, 3, 2, 2, 2, 7784, 7856, 3, 2, 2, 2, 7785, 7787, 7, 830, 2, 2, 7786, 7785, 3, 2, 2, 2, 7786, 7787, 3, 2, 2, 2, 7787, 7788, 3, 2, 2, 2, 7788, 7789, 7, 191, 2, 2, 7789, 7792, 7, 810, 2, 2, 7790, 7793, 7, 802, 2, 2, 7791, 7793, 5, 966, 484, 2, 7792, 7790, 3, 2, 2, 2, 7792, 7791, 3, 2, 2, 2, 7793, 7856, 3, 2, 2, 2, 7794, 7796, 7, 830, 2, 2, 7795, 7794, 3, 2, 2, 2, 7795, 7796, 3, 2, 2, 2, 7796, 7797, 3, 2, 2, 2, 7797, 7856, 9, 87, 2, 2, 7798, 7800, 7, 830, 2, 2, 7799, 7798, 3, 2, 2, 2, 7799, 7800, 3, 2, 2, 2, 7800, 7801, 3, 2, 2, 2, 7801, 7856, 9, 88, 2, 2, 7802, 7804, 7, 830, 2, 2, 7803, 7802, 3, 2, 2, 2, 7803, 7804, 3, 2, 2, 2, 7804, 7805, 3, 2, 2, 2, 7805, 7856, 7, 277, 2, 2, 7806, 7808, 7, 830, 2, 2, 7807, 7806, 3, 2, 2, 2, 7807, 7808, 3, 2, 2, 2, 7808, 7809, 3, 2, 2, 2, 7809, 7812, 7, 330, 2, 2, 7810, 7811, 7, 810, 2, 2, 7811, 7813, 7, 802, 2, 2, 7812, 7810, 3, 2, 2, 2, 7812, 7813, 3, 2, 2, 2, 7813, 7856, 3, 2, 2, 2, 7814, 7816, 7, 830, 2, 2, 7815, 7814, 3, 2, 2, 2, 7815, 7816, 3, 2, 2, 2, 7816, 7817, 3, 2, 2, 2, 7817, 7856, 9, 89, 2, 2, 7818, 7820, 7, 830, 2, 2, 7819, 7818, 3, 2, 2, 2, 7819, 7820, 3, 2, 2, 2, 7820, 7821, 3, 2, 2, 2, 7821, 7856, 9, 90, 2, 2, 7822, 7824, 7, 830, 2, 2, 7823, 7822, 3, 2, 2, 2, 7823, 7824, 3, 2, 2, 2, 7824, 7829, 3, 2, 2, 2, 7825, 7830, 7, 619, 2, 2, 7826, 7827, 7, 732, 2, 2, 7827, 7828, 7, 810, 2, 2, 7828, 7830, 7, 806, 2, 2, 7829, 7825, 3, 2, 2, 2, 7829, 7826, 3, 2, 2, 2, 7830, 7856, 3, 2, 2, 2, 7831, 7833, 7, 830, 2, 2, 7832, 7831, 3, 2, 2, 2, 7832, 7833, 3, 2, 2, 2, 7833, 7834, 3, 2, 2, 2, 7834, 7856, 7, 612, 2, 2, 7835, 7837, 7, 830, 2, 2, 7836, 7835, 3, 2, 2, 2, 7836, 7837, 3, 2, 2, 2, 7837, 7838, 3, 2, 2, 2, 7838, 7839, 7, 492, 2, 2, 7839, 7840, 7, 828, 2, 2, 7840, 7841, 7, 394, 2, 2, 7841, 7842, 7, 810, 2, 2, 7842, 7843, 9, 91, 2, 2, 7843, 7844, 7, 830, 2, 2, 7844, 7845, 7, 309, 2, 2, 7845, 7846, 7, 43, 2, 2, 7846, 7853, 7, 810, 2, 2, 7847, 7854, 5, 966, 484, 2, 7848, 7849, 7, 309, 2, 2, 7849, 7850, 7, 18, 2, 2, 7850, 7851, 7, 172, 2, 2, 7851, 7852, 7, 810, 2, 2, 7852, 7854, 5, 966, 484, 2, 7853, 7847, 3, 2, 2, 2, 7853, 7848, 3, 2, 2, 2, 7854, 7856, 3, 2, 2, 2, 7855, 7689, 3, 2, 2, 2, 7855, 7693, 3, 2, 2, 2, 7855, 7697, 3, 2, 2, 2, 7855, 7701, 3, 2, 2, 2, 7855, 7710, 3, 2, 2, 2, 7855, 7716, 3, 2, 2, 2, 7855, 7720, 3, 2, 2, 2, 7855, 7724, 3, 2, 2, 2, 7855, 7741, 3, 2, 2, 2, 7855, 7745, 3, 2, 2, 2, 7855, 7749, 3, 2, 2, 2, 7855, 7753, 3, 2, 2, 2, 7855, 7762, 3, 2, 2, 2, 7855, 7768, 3, 2, 2, 2, 7855, 7777, 3, 2, 2, 2, 7855, 7786, 3, 2, 2, 2, 7855, 7795, 3, 2, 2, 2, 7855, 7799, 3, 2, 2, 2, 7855, 7803, 3, 2, 2, 2, 7855, 7807, 3, 2, 2, 2, 7855, 7815, 3, 2, 2, 2, 7855, 7819, 3, 2, 2, 2, 7855, 7823, 3, 2, 2, 2, 7855, 7832, 3, 2, 2, 2, 7855, 7836, 3, 2, 2, 2, 7856, 7859, 3, 2, 2, 2, 7857, 7855, 3, 2, 2, 2, 7857, 7858, 3, 2, 2, 2, 7858, 7861, 3, 2, 2, 2, 7859, 7857, 3, 2, 2, 2, 7860, 7687, 3, 2, 2, 2, 7860, 7861, 3, 2, 2, 2, 7861, 617, 3, 2, 2, 2, 7862, 7863, 7, 26, 2, 2, 7863, 7864, 7, 43, 2, 2, 7864, 7865, 5, 966, 484, 2, 7865, 7866, 7, 346, 2, 2, 7866, 7867, 7, 129, 2, 2, 7867, 7868, 7, 810, 2, 2, 7868, 7900, 7, 806, 2, 2, 7869, 7870, 7, 377, 2, 2, 7870, 7871, 7, 652, 2, 2, 7871, 7872, 7, 172, 2, 2, 7872, 7895, 7, 828, 2, 2, 7873, 7875, 7, 830, 2, 2, 7874, 7873, 3, 2, 2, 2, 7874, 7875, 3, 2, 2, 2, 7875, 7876, 3, 2, 2, 2, 7876, 7877, 7, 129, 2, 2, 7877, 7878, 7, 810, 2, 2, 7878, 7896, 7, 806, 2, 2, 7879, 7881, 7, 830, 2, 2, 7880, 7879, 3, 2, 2, 2, 7880, 7881, 3, 2, 2, 2, 7881, 7882, 3, 2, 2, 2, 7882, 7883, 7, 492, 2, 2, 7883, 7884, 7, 38, 2, 2, 7884, 7885, 7, 244, 2, 2, 7885, 7886, 7, 810, 2, 2, 7886, 7896, 7, 806, 2, 2, 7887, 7889, 7, 830, 2, 2, 7888, 7887, 3, 2, 2, 2, 7888, 7889, 3, 2, 2, 2, 7889, 7890, 3, 2, 2, 2, 7890, 7891, 7, 465, 2, 2, 7891, 7892, 7, 38, 2, 2, 7892, 7893, 7, 244, 2, 2, 7893, 7894, 7, 810, 2, 2, 7894, 7896, 7, 806, 2, 2, 7895, 7874, 3, 2, 2, 2, 7895, 7880, 3, 2, 2, 2, 7895, 7888, 3, 2, 2, 2, 7896, 7897, 3, 2, 2, 2, 7897, 7895, 3, 2, 2, 2, 7897, 7898, 3, 2, 2, 2, 7898, 7899, 3, 2, 2, 2, 7899, 7901, 7, 829, 2, 2, 7900, 7869, 3, 2, 2, 2, 7900, 7901, 3, 2, 2, 2, 7901, 619, 3, 2, 2, 2, 7902, 7903, 7, 26, 2, 2, 7903, 7904, 7, 189, 2, 2, 7904, 7905, 7, 172, 2, 2, 7905, 7906, 7, 346, 2, 2, 7906, 7907, 7, 129, 2, 2, 7907, 7908, 7, 810, 2, 2, 7908, 7909, 7, 806, 2, 2, 7909, 7910, 7, 492, 2, 2, 7910, 7911, 7, 38, 2, 2, 7911, 7912, 7, 244, 2, 2, 7912, 7913, 7, 810, 2, 2, 7913, 7914, 7, 806, 2, 2, 7914, 621, 3, 2, 2, 2, 7915, 7916, 7, 26, 2, 2, 7916, 7917, 7, 310, 2, 2, 7917, 7918, 7, 189, 2, 2, 7918, 7919, 7, 172, 2, 2, 7919, 7920, 7, 346, 2, 2, 7920, 7921, 7, 129, 2, 2, 7921, 7922, 7, 810, 2, 2, 7922, 7923, 7, 806, 2, 2, 7923, 7924, 7, 492, 2, 2, 7924, 7925, 7, 38, 2, 2, 7925, 7926, 7, 244, 2, 2, 7926, 7927, 7, 810, 2, 2, 7927, 7928, 7, 806, 2, 2, 7928, 623, 3, 2, 2, 2, 7929, 7933, 7, 175, 2, 2, 7930, 7934, 5, 626, 314, 2, 7931, 7934, 5, 628, 315, 2, 7932, 7934, 5, 630, 316, 2, 7933, 7930, 3, 2, 2, 2, 7933, 7931, 3, 2, 2, 2, 7933, 7932, 3, 2, 2, 2, 7934, 625, 3, 2, 2, 2, 7935, 7938, 9, 24, 2, 2, 7936, 7938, 7, 775, 2, 2, 7937, 7935, 3, 2, 2, 2, 7937, 7936, 3, 2, 2, 2, 7938, 7941, 3, 2, 2, 2, 7939, 7940, 7, 377, 2, 2, 7940, 7942, 7, 737, 2, 2, 7941, 7939, 3, 2, 2, 2, 7941, 7942, 3, 2, 2, 2, 7942, 627, 3, 2, 2, 2, 7943, 7944, 7, 659, 2, 2, 7944, 7945, 7, 221, 2, 2, 7945, 7948, 7, 744, 2, 2, 7946, 7949, 7, 6, 2, 2, 7947, 7949, 7, 802, 2, 2, 7948, 7946, 3, 2, 2, 2, 7948, 7947, 3, 2, 2, 2, 7949, 629, 3, 2, 2, 2, 7950, 7951, 7, 330, 2, 2, 7951, 7952, 7, 550, 2, 2, 7952, 7953, 7, 802, 2, 2, 7953, 631, 3, 2, 2, 2, 7954, 7955, 7, 118, 2, 2, 7955, 7956, 5, 634, 318, 2, 7956, 633, 3, 2, 2, 2, 7957, 7958, 7, 801, 2, 2, 7958, 7960, 7, 810, 2, 2, 7959, 7957, 3, 2, 2, 2, 7959, 7960, 3, 2, 2, 2, 7960, 7963, 3, 2, 2, 2, 7961, 7964, 5, 918, 460, 2, 7962, 7964, 5, 728, 365, 2, 7963, 7961, 3, 2, 2, 2, 7963, 7962, 3, 2, 2, 2, 7964, 7973, 3, 2, 2, 2, 7965, 7970, 5, 636, 319, 2, 7966, 7967, 7, 830, 2, 2, 7967, 7969, 5, 636, 319, 2, 7968, 7966, 3, 2, 2, 2, 7969, 7972, 3, 2, 2, 2, 7970, 7968, 3, 2, 2, 2, 7970, 7971, 3, 2, 2, 2, 7971, 7974, 3, 2, 2, 2, 7972, 7970, 3, 2, 2, 2, 7973, 7965, 3, 2, 2, 2, 7973, 7974, 3, 2, 2, 2, 7974, 7976, 3, 2, 2, 2, 7975, 7977, 7, 831, 2, 2, 7976, 7975, 3, 2, 2, 2, 7976, 7977, 3, 2, 2, 2, 7977, 8000, 3, 2, 2, 2, 7978, 7979, 7, 828, 2, 2, 7979, 7984, 5, 638, 320, 2, 7980, 7981, 7, 836, 2, 2, 7981, 7983, 5, 638, 320, 2, 7982, 7980, 3, 2, 2, 2, 7983, 7986, 3, 2, 2, 2, 7984, 7982, 3, 2, 2, 2, 7984, 7985, 3, 2, 2, 2, 7985, 7987, 3, 2, 2, 2, 7986, 7984, 3, 2, 2, 2, 7987, 7994, 7, 829, 2, 2, 7988, 7990, 7, 16, 2, 2, 7989, 7988, 3, 2, 2, 2, 7989, 7990, 3, 2, 2, 2, 7990, 7991, 3, 2, 2, 2, 7991, 7992, 9, 92, 2, 2, 7992, 7993, 7, 810, 2, 2, 7993, 7995, 7, 806, 2, 2, 7994, 7989, 3, 2, 2, 2, 7994, 7995, 3, 2, 2, 2, 7995, 7997, 3, 2, 2, 2, 7996, 7998, 7, 831, 2, 2, 7997, 7996, 3, 2, 2, 2, 7997, 7998, 3, 2, 2, 2, 7998, 8000, 3, 2, 2, 2, 7999, 7959, 3, 2, 2, 2, 7999, 7978, 3, 2, 2, 2, 8000, 635, 3, 2, 2, 2, 8001, 8002, 7, 801, 2, 2, 8002, 8004, 7, 810, 2, 2, 8003, 8001, 3, 2, 2, 2, 8003, 8004, 3, 2, 2, 2, 8004, 8014, 3, 2, 2, 2, 8005, 8008, 5, 726, 364, 2, 8006, 8008, 5, 966, 484, 2, 8007, 8005, 3, 2, 2, 2, 8007, 8006, 3, 2, 2, 2, 8008, 8010, 3, 2, 2, 2, 8009, 8011, 9, 93, 2, 2, 8010, 8009, 3, 2, 2, 2, 8010, 8011, 3, 2, 2, 2, 8011, 8015, 3, 2, 2, 2, 8012, 8015, 7, 89, 2, 2, 8013, 8015, 7, 223, 2, 2, 8014, 8007, 3, 2, 2, 2, 8014, 8012, 3, 2, 2, 2, 8014, 8013, 3, 2, 2, 2, 8015, 637, 3, 2, 2, 2, 8016, 8017, 9, 3, 2, 2, 8017, 639, 3, 2, 2, 2, 8018, 8020, 5, 686, 344, 2, 8019, 8021, 7, 831, 2, 2, 8020, 8019, 3, 2, 2, 2, 8020, 8021, 3, 2, 2, 2, 8021, 8078, 3, 2, 2, 2, 8022, 8034, 7, 145, 2, 2, 8023, 8025, 7, 6, 2, 2, 8024, 8026, 7, 654, 2, 2, 8025, 8024, 3, 2, 2, 2, 8025, 8026, 3, 2, 2, 2, 8026, 8035, 3, 2, 2, 2, 8027, 8032, 5, 666, 334, 2, 8028, 8029, 7, 828, 2, 2, 8029, 8030, 5, 926, 464, 2, 8030, 8031, 7, 829, 2, 2, 8031, 8033, 3, 2, 2, 2, 8032, 8028, 3, 2, 2, 2, 8032, 8033, 3, 2, 2, 2, 8033, 8035, 3, 2, 2, 2, 8034, 8023, 3, 2, 2, 2, 8034, 8027, 3, 2, 2, 2, 8035, 8038, 3, 2, 2, 2, 8036, 8037, 7, 229, 2, 2, 8037, 8039, 5, 910, 456, 2, 8038, 8036, 3, 2, 2, 2, 8038, 8039, 3, 2, 2, 2, 8039, 8040, 3, 2, 2, 2, 8040, 8041, 7, 346, 2, 2, 8041, 8046, 5, 966, 484, 2, 8042, 8043, 7, 830, 2, 2, 8043, 8045, 5, 966, 484, 2, 8044, 8042, 3, 2, 2, 2, 8045, 8048, 3, 2, 2, 2, 8046, 8044, 3, 2, 2, 2, 8046, 8047, 3, 2, 2, 2, 8047, 8052, 3, 2, 2, 2, 8048, 8046, 3, 2, 2, 2, 8049, 8050, 7, 377, 2, 2, 8050, 8051, 7, 145, 2, 2, 8051, 8053, 7, 236, 2, 2, 8052, 8049, 3, 2, 2, 2, 8052, 8053, 3, 2, 2, 2, 8053, 8056, 3, 2, 2, 2, 8054, 8055, 7, 16, 2, 2, 8055, 8057, 5, 966, 484, 2, 8056, 8054, 3, 2, 2, 2, 8056, 8057, 3, 2, 2, 2, 8057, 8059, 3, 2, 2, 2, 8058, 8060, 7, 831, 2, 2, 8059, 8058, 3, 2, 2, 2, 8059, 8060, 3, 2, 2, 2, 8060, 8078, 3, 2, 2, 2, 8061, 8068, 7, 284, 2, 2, 8062, 8063, 7, 828, 2, 2, 8063, 8064, 7, 377, 2, 2, 8064, 8065, 7, 445, 2, 2, 8065, 8066, 7, 810, 2, 2, 8066, 8067, 7, 801, 2, 2, 8067, 8069, 7, 829, 2, 2, 8068, 8062, 3, 2, 2, 2, 8068, 8069, 3, 2, 2, 2, 8069, 8071, 3, 2, 2, 2, 8070, 8072, 7, 831, 2, 2, 8071, 8070, 3, 2, 2, 2, 8071, 8072, 3, 2, 2, 2, 8072, 8078, 3, 2, 2, 2, 8073, 8078, 5, 652, 327, 2, 8074, 8078, 5, 654, 328, 2, 8075, 8078, 5, 656, 329, 2, 8076, 8078, 5, 642, 322, 2, 8077, 8018, 3, 2, 2, 2, 8077, 8022, 3, 2, 2, 2, 8077, 8061, 3, 2, 2, 2, 8077, 8073, 3, 2, 2, 2, 8077, 8074, 3, 2, 2, 2, 8077, 8075, 3, 2, 2, 2, 8077, 8076, 3, 2, 2, 2, 8078, 641, 3, 2, 2, 2, 8079, 8080, 7, 73, 2, 2, 8080, 8081, 7, 43, 2, 2, 8081, 8084, 5, 966, 484, 2, 8082, 8083, 7, 20, 2, 2, 8083, 8085, 5, 966, 484, 2, 8084, 8082, 3, 2, 2, 2, 8084, 8085, 3, 2, 2, 2, 8085, 8089, 3, 2, 2, 2, 8086, 8087, 7, 139, 2, 2, 8087, 8090, 5, 644, 323, 2, 8088, 8090, 5, 648, 325, 2, 8089, 8086, 3, 2, 2, 2, 8089, 8088, 3, 2, 2, 2, 8090, 8097, 3, 2, 2, 2, 8091, 8092, 7, 386, 2, 2, 8092, 8093, 7, 133, 2, 2, 8093, 8094, 7, 28, 2, 2, 8094, 8095, 7, 478, 2, 2, 8095, 8096, 7, 810, 2, 2, 8096, 8098, 9, 9, 2, 2, 8097, 8091, 3, 2, 2, 2, 8097, 8098, 3, 2, 2, 2, 8098, 643, 3, 2, 2, 2, 8099, 8100, 7, 405, 2, 2, 8100, 8117, 5, 966, 484, 2, 8101, 8103, 7, 496, 2, 2, 8102, 8101, 3, 2, 2, 2, 8102, 8103, 3, 2, 2, 2, 8103, 8104, 3, 2, 2, 2, 8104, 8105, 7, 129, 2, 2, 8105, 8106, 7, 810, 2, 2, 8106, 8114, 7, 806, 2, 2, 8107, 8108, 7, 377, 2, 2, 8108, 8109, 7, 652, 2, 2, 8109, 8110, 7, 172, 2, 2, 8110, 8111, 7, 828, 2, 2, 8111, 8112, 5, 646, 324, 2, 8112, 8113, 7, 829, 2, 2, 8113, 8115, 3, 2, 2, 2, 8114, 8107, 3, 2, 2, 2, 8114, 8115, 3, 2, 2, 2, 8115, 8117, 3, 2, 2, 2, 8116, 8099, 3, 2, 2, 2, 8116, 8102, 3, 2, 2, 2, 8117, 645, 3, 2, 2, 2, 8118, 8119, 9, 94, 2, 2, 8119, 8120, 7, 810, 2, 2, 8120, 8127, 7, 806, 2, 2, 8121, 8122, 7, 830, 2, 2, 8122, 8123, 9, 95, 2, 2, 8123, 8124, 7, 38, 2, 2, 8124, 8125, 7, 244, 2, 2, 8125, 8126, 7, 810, 2, 2, 8126, 8128, 7, 806, 2, 2, 8127, 8121, 3, 2, 2, 2, 8127, 8128, 3, 2, 2, 2, 8128, 647, 3, 2, 2, 2, 8129, 8130, 7, 492, 2, 2, 8130, 8131, 7, 38, 2, 2, 8131, 8132, 7, 244, 2, 2, 8132, 8133, 7, 810, 2, 2, 8133, 8135, 7, 806, 2, 2, 8134, 8129, 3, 2, 2, 2, 8134, 8135, 3, 2, 2, 2, 8135, 8136, 3, 2, 2, 2, 8136, 8137, 7, 377, 2, 2, 8137, 8138, 7, 743, 2, 2, 8138, 8139, 7, 810, 2, 2, 8139, 8144, 7, 806, 2, 2, 8140, 8141, 7, 830, 2, 2, 8141, 8143, 5, 650, 326, 2, 8142, 8140, 3, 2, 2, 2, 8143, 8146, 3, 2, 2, 2, 8144, 8142, 3, 2, 2, 2, 8144, 8145, 3, 2, 2, 2, 8145, 649, 3, 2, 2, 2, 8146, 8144, 3, 2, 2, 2, 8147, 8148, 9, 96, 2, 2, 8148, 8149, 7, 810, 2, 2, 8149, 8150, 7, 806, 2, 2, 8150, 651, 3, 2, 2, 2, 8151, 8152, 7, 231, 2, 2, 8152, 8153, 7, 747, 2, 2, 8153, 8154, 7, 172, 2, 2, 8154, 8155, 5, 966, 484, 2, 8155, 8156, 7, 465, 2, 2, 8156, 8157, 7, 38, 2, 2, 8157, 8158, 5, 664, 333, 2, 8158, 8168, 3, 2, 2, 2, 8159, 8160, 7, 231, 2, 2, 8160, 8161, 7, 189, 2, 2, 8161, 8162, 7, 172, 2, 2, 8162, 8163, 7, 465, 2, 2, 8163, 8164, 7, 38, 2, 2, 8164, 8165, 7, 244, 2, 2, 8165, 8166, 7, 810, 2, 2, 8166, 8168, 7, 806, 2, 2, 8167, 8151, 3, 2, 2, 2, 8167, 8159, 3, 2, 2, 2, 8168, 653, 3, 2, 2, 2, 8169, 8170, 7, 51, 2, 2, 8170, 8171, 7, 747, 2, 2, 8171, 8172, 7, 172, 2, 2, 8172, 8181, 5, 966, 484, 2, 8173, 8174, 7, 51, 2, 2, 8174, 8175, 7, 6, 2, 2, 8175, 8176, 7, 747, 2, 2, 8176, 8181, 7, 556, 2, 2, 8177, 8178, 7, 51, 2, 2, 8178, 8179, 7, 189, 2, 2, 8179, 8181, 7, 172, 2, 2, 8180, 8169, 3, 2, 2, 2, 8180, 8173, 3, 2, 2, 2, 8180, 8177, 3, 2, 2, 2, 8181, 655, 3, 2, 2, 2, 8182, 8183, 7, 73, 2, 2, 8183, 8184, 7, 189, 2, 2, 8184, 8185, 7, 172, 2, 2, 8185, 8186, 7, 492, 2, 2, 8186, 8187, 7, 38, 2, 2, 8187, 8188, 7, 244, 2, 2, 8188, 8189, 7, 810, 2, 2, 8189, 8218, 7, 806, 2, 2, 8190, 8191, 7, 73, 2, 2, 8191, 8192, 7, 747, 2, 2, 8192, 8193, 7, 172, 2, 2, 8193, 8196, 5, 966, 484, 2, 8194, 8195, 7, 20, 2, 2, 8195, 8197, 5, 966, 484, 2, 8196, 8194, 3, 2, 2, 2, 8196, 8197, 3, 2, 2, 2, 8197, 8201, 3, 2, 2, 2, 8198, 8199, 7, 139, 2, 2, 8199, 8200, 7, 657, 2, 2, 8200, 8202, 5, 966, 484, 2, 8201, 8198, 3, 2, 2, 2, 8201, 8202, 3, 2, 2, 2, 8202, 8203, 3, 2, 2, 2, 8203, 8213, 7, 377, 2, 2, 8204, 8209, 5, 658, 330, 2, 8205, 8206, 7, 492, 2, 2, 8206, 8207, 7, 38, 2, 2, 8207, 8209, 5, 662, 332, 2, 8208, 8204, 3, 2, 2, 2, 8208, 8205, 3, 2, 2, 2, 8209, 8211, 3, 2, 2, 2, 8210, 8212, 7, 830, 2, 2, 8211, 8210, 3, 2, 2, 2, 8211, 8212, 3, 2, 2, 2, 8212, 8214, 3, 2, 2, 2, 8213, 8208, 3, 2, 2, 2, 8214, 8215, 3, 2, 2, 2, 8215, 8213, 3, 2, 2, 2, 8215, 8216, 3, 2, 2, 2, 8216, 8218, 3, 2, 2, 2, 8217, 8182, 3, 2, 2, 2, 8217, 8190, 3, 2, 2, 2, 8218, 657, 3, 2, 2, 2, 8219, 8220, 7, 555, 2, 2, 8220, 8221, 7, 810, 2, 2, 8221, 8235, 7, 806, 2, 2, 8222, 8223, 7, 394, 2, 2, 8223, 8224, 7, 810, 2, 2, 8224, 8235, 5, 660, 331, 2, 8225, 8226, 7, 536, 2, 2, 8226, 8227, 7, 810, 2, 2, 8227, 8235, 7, 806, 2, 2, 8228, 8229, 7, 658, 2, 2, 8229, 8230, 7, 810, 2, 2, 8230, 8235, 7, 806, 2, 2, 8231, 8232, 7, 451, 2, 2, 8232, 8233, 7, 810, 2, 2, 8233, 8235, 9, 12, 2, 2, 8234, 8219, 3, 2, 2, 2, 8234, 8222, 3, 2, 2, 2, 8234, 8225, 3, 2, 2, 2, 8234, 8228, 3, 2, 2, 2, 8234, 8231, 3, 2, 2, 2, 8235, 659, 3, 2, 2, 2, 8236, 8237, 9, 51, 2, 2, 8237, 661, 3, 2, 2, 2, 8238, 8239, 7, 43, 2, 2, 8239, 8250, 5, 966, 484, 2, 8240, 8241, 7, 18, 2, 2, 8241, 8242, 7, 172, 2, 2, 8242, 8250, 5, 966, 484, 2, 8243, 8244, 7, 747, 2, 2, 8244, 8245, 7, 172, 2, 2, 8245, 8250, 5, 966, 484, 2, 8246, 8247, 7, 244, 2, 2, 8247, 8248, 7, 810, 2, 2, 8248, 8250, 7, 806, 2, 2, 8249, 8238, 3, 2, 2, 2, 8249, 8240, 3, 2, 2, 2, 8249, 8243, 3, 2, 2, 2, 8249, 8246, 3, 2, 2, 2, 8250, 663, 3, 2, 2, 2, 8251, 8252, 7, 43, 2, 2, 8252, 8257, 5, 966, 484, 2, 8253, 8254, 7, 377, 2, 2, 8254, 8255, 7, 244, 2, 2, 8255, 8256, 7, 810, 2, 2, 8256, 8258, 7, 806, 2, 2, 8257, 8253, 3, 2, 2, 2, 8257, 8258, 3, 2, 2, 2, 8258, 8275, 3, 2, 2, 2, 8259, 8260, 7, 18, 2, 2, 8260, 8261, 7, 172, 2, 2, 8261, 8266, 5, 966, 484, 2, 8262, 8263, 7, 377, 2, 2, 8263, 8264, 7, 244, 2, 2, 8264, 8265, 7, 810, 2, 2, 8265, 8267, 7, 806, 2, 2, 8266, 8262, 3, 2, 2, 2, 8266, 8267, 3, 2, 2, 2, 8267, 8275, 3, 2, 2, 2, 8268, 8269, 7, 747, 2, 2, 8269, 8270, 7, 172, 2, 2, 8270, 8275, 5, 966, 484, 2, 8271, 8272, 7, 244, 2, 2, 8272, 8273, 7, 810, 2, 2, 8273, 8275, 7, 806, 2, 2, 8274, 8251, 3, 2, 2, 2, 8274, 8259, 3, 2, 2, 2, 8274, 8268, 3, 2, 2, 2, 8274, 8271, 3, 2, 2, 2, 8275, 665, 3, 2, 2, 2, 8276, 8303, 7, 118, 2, 2, 8277, 8278, 7, 370, 2, 2, 8278, 8303, 5, 966, 484, 2, 8279, 8280, 7, 751, 2, 2, 8280, 8303, 5, 966, 484, 2, 8281, 8283, 7, 444, 2, 2, 8282, 8284, 5, 966, 484, 2, 8283, 8282, 3, 2, 2, 2, 8283, 8284, 3, 2, 2, 2, 8284, 8303, 3, 2, 2, 2, 8285, 8286, 7, 73, 2, 2, 8286, 8303, 9, 97, 2, 2, 8287, 8303, 7, 724, 2, 2, 8288, 8303, 7, 539, 2, 2, 8289, 8303, 7, 305, 2, 2, 8290, 8303, 7, 270, 2, 2, 8291, 8303, 7, 162, 2, 2, 8292, 8300, 7, 10, 2, 2, 8293, 8295, 7, 13, 2, 2, 8294, 8293, 3, 2, 2, 2, 8294, 8295, 3, 2, 2, 2, 8295, 8298, 3, 2, 2, 2, 8296, 8299, 5, 966, 484, 2, 8297, 8299, 7, 84, 2, 2, 8298, 8296, 3, 2, 2, 2, 8298, 8297, 3, 2, 2, 2, 8299, 8301, 3, 2, 2, 2, 8300, 8294, 3, 2, 2, 2, 8300, 8301, 3, 2, 2, 2, 8301, 8303, 3, 2, 2, 2, 8302, 8276, 3, 2, 2, 2, 8302, 8277, 3, 2, 2, 2, 8302, 8279, 3, 2, 2, 2, 8302, 8281, 3, 2, 2, 2, 8302, 8285, 3, 2, 2, 2, 8302, 8287, 3, 2, 2, 2, 8302, 8288, 3, 2, 2, 2, 8302, 8289, 3, 2, 2, 2, 8302, 8290, 3, 2, 2, 2, 8302, 8291, 3, 2, 2, 2, 8302, 8292, 3, 2, 2, 2, 8303, 667, 3, 2, 2, 2, 8304, 8305, 7, 315, 2, 2, 8305, 8308, 7, 801, 2, 2, 8306, 8307, 7, 823, 2, 2, 8307, 8309, 5, 966, 484, 2, 8308, 8306, 3, 2, 2, 2, 8308, 8309, 3, 2, 2, 2, 8309, 8310, 3, 2, 2, 2, 8310, 8311, 7, 810, 2, 2, 8311, 8313, 5, 728, 365, 2, 8312, 8314, 7, 831, 2, 2, 8313, 8312, 3, 2, 2, 2, 8313, 8314, 3, 2, 2, 2, 8314, 8344, 3, 2, 2, 2, 8315, 8316, 7, 315, 2, 2, 8316, 8317, 7, 801, 2, 2, 8317, 8318, 5, 972, 487, 2, 8318, 8320, 5, 728, 365, 2, 8319, 8321, 7, 831, 2, 2, 8320, 8319, 3, 2, 2, 2, 8320, 8321, 3, 2, 2, 2, 8321, 8344, 3, 2, 2, 2, 8322, 8323, 7, 315, 2, 2, 8323, 8324, 7, 801, 2, 2, 8324, 8325, 7, 810, 2, 2, 8325, 8326, 7, 80, 2, 2, 8326, 8337, 5, 718, 360, 2, 8327, 8335, 7, 133, 2, 2, 8328, 8329, 7, 266, 2, 2, 8329, 8336, 7, 630, 2, 2, 8330, 8333, 7, 361, 2, 2, 8331, 8332, 7, 225, 2, 2, 8332, 8334, 5, 926, 464, 2, 8333, 8331, 3, 2, 2, 2, 8333, 8334, 3, 2, 2, 2, 8334, 8336, 3, 2, 2, 2, 8335, 8328, 3, 2, 2, 2, 8335, 8330, 3, 2, 2, 2, 8336, 8338, 3, 2, 2, 2, 8337, 8327, 3, 2, 2, 2, 8337, 8338, 3, 2, 2, 2, 8338, 8340, 3, 2, 2, 2, 8339, 8341, 7, 831, 2, 2, 8340, 8339, 3, 2, 2, 2, 8340, 8341, 3, 2, 2, 2, 8341, 8344, 3, 2, 2, 2, 8342, 8344, 5, 724, 363, 2, 8343, 8304, 3, 2, 2, 2, 8343, 8315, 3, 2, 2, 2, 8343, 8322, 3, 2, 2, 2, 8343, 8342, 3, 2, 2, 2, 8344, 669, 3, 2, 2, 2, 8345, 8346, 7, 28, 2, 2, 8346, 8347, 7, 99, 2, 2, 8347, 8350, 9, 98, 2, 2, 8348, 8351, 5, 966, 484, 2, 8349, 8351, 7, 801, 2, 2, 8350, 8348, 3, 2, 2, 2, 8350, 8349, 3, 2, 2, 2, 8350, 8351, 3, 2, 2, 2, 8351, 8353, 3, 2, 2, 2, 8352, 8354, 7, 831, 2, 2, 8353, 8352, 3, 2, 2, 2, 8353, 8354, 3, 2, 2, 2, 8354, 8427, 3, 2, 2, 2, 8355, 8356, 7, 28, 2, 2, 8356, 8366, 9, 98, 2, 2, 8357, 8360, 5, 966, 484, 2, 8358, 8360, 7, 801, 2, 2, 8359, 8357, 3, 2, 2, 2, 8359, 8358, 3, 2, 2, 2, 8360, 8364, 3, 2, 2, 2, 8361, 8362, 7, 377, 2, 2, 8362, 8363, 7, 575, 2, 2, 8363, 8365, 7, 806, 2, 2, 8364, 8361, 3, 2, 2, 2, 8364, 8365, 3, 2, 2, 2, 8365, 8367, 3, 2, 2, 2, 8366, 8359, 3, 2, 2, 2, 8366, 8367, 3, 2, 2, 2, 8367, 8369, 3, 2, 2, 2, 8368, 8370, 7, 831, 2, 2, 8369, 8368, 3, 2, 2, 2, 8369, 8370, 3, 2, 2, 2, 8370, 8427, 3, 2, 2, 2, 8371, 8372, 7, 58, 2, 2, 8372, 8385, 9, 98, 2, 2, 8373, 8376, 5, 966, 484, 2, 8374, 8376, 7, 801, 2, 2, 8375, 8373, 3, 2, 2, 2, 8375, 8374, 3, 2, 2, 2, 8376, 8383, 3, 2, 2, 2, 8377, 8378, 7, 377, 2, 2, 8378, 8379, 7, 828, 2, 2, 8379, 8380, 7, 470, 2, 2, 8380, 8381, 7, 810, 2, 2, 8381, 8382, 9, 9, 2, 2, 8382, 8384, 7, 829, 2, 2, 8383, 8377, 3, 2, 2, 2, 8383, 8384, 3, 2, 2, 2, 8384, 8386, 3, 2, 2, 2, 8385, 8375, 3, 2, 2, 2, 8385, 8386, 3, 2, 2, 2, 8386, 8388, 3, 2, 2, 2, 8387, 8389, 7, 831, 2, 2, 8388, 8387, 3, 2, 2, 2, 8388, 8389, 3, 2, 2, 2, 8389, 8427, 3, 2, 2, 2, 8390, 8392, 7, 58, 2, 2, 8391, 8393, 7, 787, 2, 2, 8392, 8391, 3, 2, 2, 2, 8392, 8393, 3, 2, 2, 2, 8393, 8395, 3, 2, 2, 2, 8394, 8396, 7, 831, 2, 2, 8395, 8394, 3, 2, 2, 2, 8395, 8396, 3, 2, 2, 2, 8396, 8427, 3, 2, 2, 2, 8397, 8398, 7, 58, 2, 2, 8398, 8427, 5, 966, 484, 2, 8399, 8400, 7, 288, 2, 2, 8400, 8427, 5, 966, 484, 2, 8401, 8402, 7, 288, 2, 2, 8402, 8405, 9, 98, 2, 2, 8403, 8406, 5, 966, 484, 2, 8404, 8406, 7, 801, 2, 2, 8405, 8403, 3, 2, 2, 2, 8405, 8404, 3, 2, 2, 2, 8405, 8406, 3, 2, 2, 2, 8406, 8408, 3, 2, 2, 2, 8407, 8409, 7, 831, 2, 2, 8408, 8407, 3, 2, 2, 2, 8408, 8409, 3, 2, 2, 2, 8409, 8427, 3, 2, 2, 2, 8410, 8412, 7, 288, 2, 2, 8411, 8413, 7, 787, 2, 2, 8412, 8411, 3, 2, 2, 2, 8412, 8413, 3, 2, 2, 2, 8413, 8415, 3, 2, 2, 2, 8414, 8416, 7, 831, 2, 2, 8415, 8414, 3, 2, 2, 2, 8415, 8416, 3, 2, 2, 2, 8416, 8427, 3, 2, 2, 2, 8417, 8418, 7, 300, 2, 2, 8418, 8421, 9, 98, 2, 2, 8419, 8422, 5, 966, 484, 2, 8420, 8422, 7, 801, 2, 2, 8421, 8419, 3, 2, 2, 2, 8421, 8420, 3, 2, 2, 2, 8421, 8422, 3, 2, 2, 2, 8422, 8424, 3, 2, 2, 2, 8423, 8425, 7, 831, 2, 2, 8424, 8423, 3, 2, 2, 2, 8424, 8425, 3, 2, 2, 2, 8425, 8427, 3, 2, 2, 2, 8426, 8345, 3, 2, 2, 2, 8426, 8355, 3, 2, 2, 2, 8426, 8371, 3, 2, 2, 2, 8426, 8390, 3, 2, 2, 2, 8426, 8397, 3, 2, 2, 2, 8426, 8399, 3, 2, 2, 2, 8426, 8401, 3, 2, 2, 2, 8426, 8410, 3, 2, 2, 2, 8426, 8417, 3, 2, 2, 2, 8427, 671, 3, 2, 2, 2, 8428, 8430, 7, 526, 2, 2, 8429, 8431, 7, 802, 2, 2, 8430, 8429, 3, 2, 2, 2, 8430, 8431, 3, 2, 2, 2, 8431, 673, 3, 2, 2, 2, 8432, 8433, 7, 364, 2, 2, 8433, 8435, 5, 966, 484, 2, 8434, 8436, 7, 831, 2, 2, 8435, 8434, 3, 2, 2, 2, 8435, 8436, 3, 2, 2, 2, 8436, 675, 3, 2, 2, 2, 8437, 8439, 7, 316, 2, 2, 8438, 8440, 7, 806, 2, 2, 8439, 8438, 3, 2, 2, 2, 8439, 8440, 3, 2, 2, 2, 8440, 677, 3, 2, 2, 2, 8441, 8444, 7, 269, 2, 2, 8442, 8443, 7, 377, 2, 2, 8443, 8445, 7, 636, 2, 2, 8444, 8442, 3, 2, 2, 2, 8444, 8445, 3, 2, 2, 2, 8445, 679, 3, 2, 2, 2, 8446, 8449, 7, 317, 2, 2, 8447, 8448, 7, 377, 2, 2, 8448, 8450, 7, 620, 2, 2, 8449, 8447, 3, 2, 2, 2, 8449, 8450, 3, 2, 2, 2, 8450, 681, 3, 2, 2, 2, 8451, 8452, 7, 86, 2, 2, 8452, 8457, 5, 968, 485, 2, 8453, 8454, 7, 828, 2, 2, 8454, 8455, 5, 870, 436, 2, 8455, 8456, 7, 829, 2, 2, 8456, 8458, 3, 2, 2, 2, 8457, 8453, 3, 2, 2, 2, 8457, 8458, 3, 2, 2, 2, 8458, 8461, 3, 2, 2, 2, 8459, 8460, 7, 377, 2, 2, 8460, 8462, 5, 684, 343, 2, 8461, 8459, 3, 2, 2, 2, 8461, 8462, 3, 2, 2, 2, 8462, 8464, 3, 2, 2, 2, 8463, 8465, 7, 831, 2, 2, 8464, 8463, 3, 2, 2, 2, 8464, 8465, 3, 2, 2, 2, 8465, 683, 3, 2, 2, 2, 8466, 8469, 5, 968, 485, 2, 8467, 8468, 7, 830, 2, 2, 8468, 8470, 5, 968, 485, 2, 8469, 8467, 3, 2, 2, 2, 8469, 8470, 3, 2, 2, 2, 8470, 685, 3, 2, 2, 2, 8471, 8472, 7, 118, 2, 2, 8472, 8473, 7, 16, 2, 2, 8473, 8474, 9, 99, 2, 2, 8474, 687, 3, 2, 2, 2, 8475, 8477, 7, 801, 2, 2, 8476, 8478, 7, 16, 2, 2, 8477, 8476, 3, 2, 2, 2, 8477, 8478, 3, 2, 2, 2, 8478, 8479, 3, 2, 2, 2, 8479, 8482, 5, 958, 480, 2, 8480, 8481, 7, 810, 2, 2, 8481, 8483, 5, 728, 365, 2, 8482, 8480, 3, 2, 2, 2, 8482, 8483, 3, 2, 2, 2, 8483, 689, 3, 2, 2, 2, 8484, 8485, 7, 339, 2, 2, 8485, 8486, 7, 828, 2, 2, 8486, 8487, 5, 696, 349, 2, 8487, 8488, 7, 829, 2, 2, 8488, 691, 3, 2, 2, 2, 8489, 8490, 7, 789, 2, 2, 8490, 8492, 7, 828, 2, 2, 8491, 8493, 9, 100, 2, 2, 8492, 8491, 3, 2, 2, 2, 8492, 8493, 3, 2, 2, 2, 8493, 8494, 3, 2, 2, 2, 8494, 8495, 5, 694, 348, 2, 8495, 8496, 7, 829, 2, 2, 8496, 693, 3, 2, 2, 2, 8497, 8498, 7, 803, 2, 2, 8498, 8499, 7, 823, 2, 2, 8499, 8500, 7, 803, 2, 2, 8500, 695, 3, 2, 2, 2, 8501, 8508, 5, 698, 350, 2, 8502, 8504, 7, 830, 2, 2, 8503, 8502, 3, 2, 2, 2, 8503, 8504, 3, 2, 2, 2, 8504, 8505, 3, 2, 2, 2, 8505, 8507, 5, 698, 350, 2, 8506, 8503, 3, 2, 2, 2, 8507, 8510, 3, 2, 2, 2, 8508, 8506, 3, 2, 2, 2, 8508, 8509, 3, 2, 2, 2, 8509, 697, 3, 2, 2, 2, 8510, 8508, 3, 2, 2, 2, 8511, 8515, 5, 700, 351, 2, 8512, 8515, 5, 702, 352, 2, 8513, 8515, 5, 706, 354, 2, 8514, 8511, 3, 2, 2, 2, 8514, 8512, 3, 2, 2, 2, 8514, 8513, 3, 2, 2, 2, 8515, 699, 3, 2, 2, 2, 8516, 8520, 5, 966, 484, 2, 8517, 8521, 5, 958, 480, 2, 8518, 8519, 7, 16, 2, 2, 8519, 8521, 5, 728, 365, 2, 8520, 8517, 3, 2, 2, 2, 8520, 8518, 3, 2, 2, 2, 8521, 8524, 3, 2, 2, 2, 8522, 8523, 7, 55, 2, 2, 8523, 8525, 5, 966, 484, 2, 8524, 8522, 3, 2, 2, 2, 8524, 8525, 3, 2, 2, 2, 8525, 8527, 3, 2, 2, 2, 8526, 8528, 5, 934, 468, 2, 8527, 8526, 3, 2, 2, 2, 8527, 8528, 3, 2, 2, 2, 8528, 8550, 3, 2, 2, 2, 8529, 8530, 7, 61, 2, 2, 8530, 8532, 5, 966, 484, 2, 8531, 8529, 3, 2, 2, 2, 8531, 8532, 3, 2, 2, 2, 8532, 8533, 3, 2, 2, 2, 8533, 8535, 5, 936, 469, 2, 8534, 8536, 5, 936, 469, 2, 8535, 8534, 3, 2, 2, 2, 8535, 8536, 3, 2, 2, 2, 8536, 8551, 3, 2, 2, 2, 8537, 8543, 7, 150, 2, 2, 8538, 8539, 7, 828, 2, 2, 8539, 8540, 7, 802, 2, 2, 8540, 8541, 7, 830, 2, 2, 8541, 8542, 7, 802, 2, 2, 8542, 8544, 7, 829, 2, 2, 8543, 8538, 3, 2, 2, 2, 8543, 8544, 3, 2, 2, 2, 8544, 8548, 3, 2, 2, 2, 8545, 8546, 7, 220, 2, 2, 8546, 8547, 7, 133, 2, 2, 8547, 8549, 7, 274, 2, 2, 8548, 8545, 3, 2, 2, 2, 8548, 8549, 3, 2, 2, 2, 8549, 8551, 3, 2, 2, 2, 8550, 8531, 3, 2, 2, 2, 8550, 8537, 3, 2, 2, 2, 8550, 8551, 3, 2, 2, 2, 8551, 8553, 3, 2, 2, 2, 8552, 8554, 7, 291, 2, 2, 8553, 8552, 3, 2, 2, 2, 8553, 8554, 3, 2, 2, 2, 8554, 8558, 3, 2, 2, 2, 8555, 8557, 5, 704, 353, 2, 8556, 8555, 3, 2, 2, 2, 8557, 8560, 3, 2, 2, 2, 8558, 8556, 3, 2, 2, 2, 8558, 8559, 3, 2, 2, 2, 8559, 701, 3, 2, 2, 2, 8560, 8558, 3, 2, 2, 2, 8561, 8562, 5, 966, 484, 2, 8562, 8563, 9, 101, 2, 2, 8563, 8567, 5, 728, 365, 2, 8564, 8568, 7, 576, 2, 2, 8565, 8566, 7, 220, 2, 2, 8566, 8568, 7, 576, 2, 2, 8567, 8564, 3, 2, 2, 2, 8567, 8565, 3, 2, 2, 2, 8567, 8568, 3, 2, 2, 2, 8568, 703, 3, 2, 2, 2, 8569, 8570, 7, 61, 2, 2, 8570, 8572, 5, 966, 484, 2, 8571, 8569, 3, 2, 2, 2, 8571, 8572, 3, 2, 2, 2, 8572, 8610, 3, 2, 2, 2, 8573, 8574, 7, 256, 2, 2, 8574, 8577, 7, 172, 2, 2, 8575, 8577, 7, 357, 2, 2, 8576, 8573, 3, 2, 2, 2, 8576, 8575, 3, 2, 2, 2, 8577, 8579, 3, 2, 2, 2, 8578, 8580, 5, 932, 467, 2, 8579, 8578, 3, 2, 2, 2, 8579, 8580, 3, 2, 2, 2, 8580, 8582, 3, 2, 2, 2, 8581, 8583, 5, 712, 357, 2, 8582, 8581, 3, 2, 2, 2, 8582, 8583, 3, 2, 2, 2, 8583, 8611, 3, 2, 2, 2, 8584, 8588, 7, 46, 2, 2, 8585, 8586, 7, 220, 2, 2, 8586, 8587, 7, 133, 2, 2, 8587, 8589, 7, 274, 2, 2, 8588, 8585, 3, 2, 2, 2, 8588, 8589, 3, 2, 2, 2, 8589, 8590, 3, 2, 2, 2, 8590, 8591, 7, 828, 2, 2, 8591, 8592, 5, 750, 376, 2, 8592, 8593, 7, 829, 2, 2, 8593, 8611, 3, 2, 2, 2, 8594, 8595, 7, 136, 2, 2, 8595, 8597, 7, 172, 2, 2, 8596, 8594, 3, 2, 2, 2, 8596, 8597, 3, 2, 2, 2, 8597, 8598, 3, 2, 2, 2, 8598, 8599, 7, 270, 2, 2, 8599, 8600, 5, 910, 456, 2, 8600, 8601, 7, 828, 2, 2, 8601, 8602, 5, 926, 464, 2, 8602, 8604, 7, 829, 2, 2, 8603, 8605, 5, 708, 355, 2, 8604, 8603, 3, 2, 2, 2, 8604, 8605, 3, 2, 2, 2, 8605, 8607, 3, 2, 2, 2, 8606, 8608, 5, 710, 356, 2, 8607, 8606, 3, 2, 2, 2, 8607, 8608, 3, 2, 2, 2, 8608, 8611, 3, 2, 2, 2, 8609, 8611, 5, 934, 468, 2, 8610, 8576, 3, 2, 2, 2, 8610, 8584, 3, 2, 2, 2, 8610, 8596, 3, 2, 2, 2, 8610, 8609, 3, 2, 2, 2, 8611, 705, 3, 2, 2, 2, 8612, 8613, 7, 61, 2, 2, 8613, 8615, 5, 966, 484, 2, 8614, 8612, 3, 2, 2, 2, 8614, 8615, 3, 2, 2, 2, 8615, 8680, 3, 2, 2, 2, 8616, 8617, 7, 256, 2, 2, 8617, 8620, 7, 172, 2, 2, 8618, 8620, 7, 357, 2, 2, 8619, 8616, 3, 2, 2, 2, 8619, 8618, 3, 2, 2, 2, 8620, 8622, 3, 2, 2, 2, 8621, 8623, 5, 932, 467, 2, 8622, 8621, 3, 2, 2, 2, 8622, 8623, 3, 2, 2, 2, 8623, 8624, 3, 2, 2, 2, 8624, 8625, 7, 828, 2, 2, 8625, 8626, 5, 924, 463, 2, 8626, 8628, 7, 829, 2, 2, 8627, 8629, 5, 712, 357, 2, 8628, 8627, 3, 2, 2, 2, 8628, 8629, 3, 2, 2, 2, 8629, 8632, 3, 2, 2, 2, 8630, 8631, 7, 229, 2, 2, 8631, 8633, 5, 966, 484, 2, 8632, 8630, 3, 2, 2, 2, 8632, 8633, 3, 2, 2, 2, 8633, 8681, 3, 2, 2, 2, 8634, 8638, 7, 46, 2, 2, 8635, 8636, 7, 220, 2, 2, 8636, 8637, 7, 133, 2, 2, 8637, 8639, 7, 274, 2, 2, 8638, 8635, 3, 2, 2, 2, 8638, 8639, 3, 2, 2, 2, 8639, 8640, 3, 2, 2, 2, 8640, 8641, 7, 828, 2, 2, 8641, 8642, 5, 750, 376, 2, 8642, 8643, 7, 829, 2, 2, 8643, 8681, 3, 2, 2, 2, 8644, 8646, 7, 89, 2, 2, 8645, 8647, 7, 828, 2, 2, 8646, 8645, 3, 2, 2, 2, 8646, 8647, 3, 2, 2, 2, 8647, 8652, 3, 2, 2, 2, 8648, 8653, 7, 806, 2, 2, 8649, 8653, 7, 836, 2, 2, 8650, 8653, 5, 832, 417, 2, 8651, 8653, 7, 802, 2, 2, 8652, 8648, 3, 2, 2, 2, 8652, 8649, 3, 2, 2, 2, 8652, 8650, 3, 2, 2, 2, 8652, 8651, 3, 2, 2, 2, 8653, 8654, 3, 2, 2, 2, 8654, 8652, 3, 2, 2, 2, 8654, 8655, 3, 2, 2, 2, 8655, 8657, 3, 2, 2, 2, 8656, 8658, 7, 829, 2, 2, 8657, 8656, 3, 2, 2, 2, 8657, 8658, 3, 2, 2, 2, 8658, 8659, 3, 2, 2, 2, 8659, 8660, 7, 133, 2, 2, 8660, 8681, 5, 966, 484, 2, 8661, 8662, 7, 136, 2, 2, 8662, 8663, 7, 172, 2, 2, 8663, 8664, 7, 828, 2, 2, 8664, 8665, 5, 926, 464, 2, 8665, 8666, 7, 829, 2, 2, 8666, 8667, 7, 270, 2, 2, 8667, 8672, 5, 910, 456, 2, 8668, 8669, 7, 828, 2, 2, 8669, 8670, 5, 926, 464, 2, 8670, 8671, 7, 829, 2, 2, 8671, 8673, 3, 2, 2, 2, 8672, 8668, 3, 2, 2, 2, 8672, 8673, 3, 2, 2, 2, 8673, 8675, 3, 2, 2, 2, 8674, 8676, 5, 708, 355, 2, 8675, 8674, 3, 2, 2, 2, 8675, 8676, 3, 2, 2, 2, 8676, 8678, 3, 2, 2, 2, 8677, 8679, 5, 710, 356, 2, 8678, 8677, 3, 2, 2, 2, 8678, 8679, 3, 2, 2, 2, 8679, 8681, 3, 2, 2, 2, 8680, 8619, 3, 2, 2, 2, 8680, 8634, 3, 2, 2, 2, 8680, 8644, 3, 2, 2, 2, 8680, 8661, 3, 2, 2, 2, 8681, 707, 3, 2, 2, 2, 8682, 8683, 7, 229, 2, 2, 8683, 8691, 7, 92, 2, 2, 8684, 8685, 7, 611, 2, 2, 8685, 8692, 7, 384, 2, 2, 8686, 8692, 7, 41, 2, 2, 8687, 8688, 7, 315, 2, 2, 8688, 8692, 7, 223, 2, 2, 8689, 8690, 7, 315, 2, 2, 8690, 8692, 7, 89, 2, 2, 8691, 8684, 3, 2, 2, 2, 8691, 8686, 3, 2, 2, 2, 8691, 8687, 3, 2, 2, 2, 8691, 8689, 3, 2, 2, 2, 8692, 709, 3, 2, 2, 2, 8693, 8694, 7, 229, 2, 2, 8694, 8702, 7, 361, 2, 2, 8695, 8696, 7, 611, 2, 2, 8696, 8703, 7, 384, 2, 2, 8697, 8703, 7, 41, 2, 2, 8698, 8699, 7, 315, 2, 2, 8699, 8703, 7, 223, 2, 2, 8700, 8701, 7, 315, 2, 2, 8701, 8703, 7, 89, 2, 2, 8702, 8695, 3, 2, 2, 2, 8702, 8697, 3, 2, 2, 2, 8702, 8698, 3, 2, 2, 2, 8702, 8700, 3, 2, 2, 2, 8703, 711, 3, 2, 2, 2, 8704, 8705, 7, 377, 2, 2, 8705, 8706, 7, 828, 2, 2, 8706, 8711, 5, 714, 358, 2, 8707, 8708, 7, 830, 2, 2, 8708, 8710, 5, 714, 358, 2, 8709, 8707, 3, 2, 2, 2, 8710, 8713, 3, 2, 2, 2, 8711, 8709, 3, 2, 2, 2, 8711, 8712, 3, 2, 2, 2, 8712, 8714, 3, 2, 2, 2, 8713, 8711, 3, 2, 2, 2, 8714, 8715, 7, 829, 2, 2, 8715, 713, 3, 2, 2, 2, 8716, 8717, 5, 968, 485, 2, 8717, 8721, 7, 810, 2, 2, 8718, 8722, 5, 968, 485, 2, 8719, 8722, 5, 930, 466, 2, 8720, 8722, 7, 802, 2, 2, 8721, 8718, 3, 2, 2, 2, 8721, 8719, 3, 2, 2, 2, 8721, 8720, 3, 2, 2, 2, 8722, 715, 3, 2, 2, 2, 8723, 8724, 7, 88, 2, 2, 8724, 8756, 5, 928, 465, 2, 8725, 8735, 7, 80, 2, 2, 8726, 8733, 5, 718, 360, 2, 8727, 8728, 7, 133, 2, 2, 8728, 8731, 7, 361, 2, 2, 8729, 8730, 7, 225, 2, 2, 8730, 8732, 5, 926, 464, 2, 8731, 8729, 3, 2, 2, 2, 8731, 8732, 3, 2, 2, 2, 8732, 8734, 3, 2, 2, 2, 8733, 8727, 3, 2, 2, 2, 8733, 8734, 3, 2, 2, 2, 8734, 8736, 3, 2, 2, 2, 8735, 8726, 3, 2, 2, 2, 8735, 8736, 3, 2, 2, 2, 8736, 8757, 3, 2, 2, 2, 8737, 8739, 9, 102, 2, 2, 8738, 8737, 3, 2, 2, 2, 8738, 8739, 3, 2, 2, 2, 8739, 8741, 3, 2, 2, 2, 8740, 8742, 7, 704, 2, 2, 8741, 8740, 3, 2, 2, 2, 8741, 8742, 3, 2, 2, 2, 8742, 8743, 3, 2, 2, 2, 8743, 8744, 7, 80, 2, 2, 8744, 8745, 7, 133, 2, 2, 8745, 8754, 5, 446, 224, 2, 8746, 8752, 7, 133, 2, 2, 8747, 8748, 7, 266, 2, 2, 8748, 8753, 7, 630, 2, 2, 8749, 8753, 7, 361, 2, 2, 8750, 8751, 7, 225, 2, 2, 8751, 8753, 5, 926, 464, 2, 8752, 8747, 3, 2, 2, 2, 8752, 8749, 3, 2, 2, 2, 8752, 8750, 3, 2, 2, 2, 8753, 8755, 3, 2, 2, 2, 8754, 8746, 3, 2, 2, 2, 8754, 8755, 3, 2, 2, 2, 8755, 8757, 3, 2, 2, 2, 8756, 8725, 3, 2, 2, 2, 8756, 8738, 3, 2, 2, 2, 8757, 8759, 3, 2, 2, 2, 8758, 8760, 7, 831, 2, 2, 8759, 8758, 3, 2, 2, 2, 8759, 8760, 3, 2, 2, 2, 8760, 717, 3, 2, 2, 2, 8761, 8763, 5, 720, 361, 2, 8762, 8761, 3, 2, 2, 2, 8763, 8766, 3, 2, 2, 2, 8764, 8762, 3, 2, 2, 2, 8764, 8765, 3, 2, 2, 2, 8765, 8767, 3, 2, 2, 2, 8766, 8764, 3, 2, 2, 2, 8767, 8768, 7, 133, 2, 2, 8768, 8769, 5, 446, 224, 2, 8769, 719, 3, 2, 2, 2, 8770, 8776, 9, 65, 2, 2, 8771, 8776, 9, 103, 2, 2, 8772, 8776, 9, 104, 2, 2, 8773, 8776, 9, 105, 2, 2, 8774, 8776, 7, 770, 2, 2, 8775, 8770, 3, 2, 2, 2, 8775, 8771, 3, 2, 2, 2, 8775, 8772, 3, 2, 2, 2, 8775, 8773, 3, 2, 2, 2, 8775, 8774, 3, 2, 2, 2, 8776, 721, 3, 2, 2, 2, 8777, 8787, 7, 128, 2, 2, 8778, 8785, 7, 610, 2, 2, 8779, 8785, 7, 649, 2, 2, 8780, 8785, 7, 512, 2, 2, 8781, 8785, 7, 559, 2, 2, 8782, 8783, 9, 106, 2, 2, 8783, 8785, 5, 728, 365, 2, 8784, 8778, 3, 2, 2, 2, 8784, 8779, 3, 2, 2, 2, 8784, 8780, 3, 2, 2, 2, 8784, 8781, 3, 2, 2, 2, 8784, 8782, 3, 2, 2, 2, 8784, 8785, 3, 2, 2, 2, 8785, 8786, 3, 2, 2, 2, 8786, 8788, 7, 139, 2, 2, 8787, 8784, 3, 2, 2, 2, 8787, 8788, 3, 2, 2, 2, 8788, 8790, 3, 2, 2, 2, 8789, 8791, 7, 525, 2, 2, 8790, 8789, 3, 2, 2, 2, 8790, 8791, 3, 2, 2, 2, 8791, 8792, 3, 2, 2, 2, 8792, 8802, 5, 928, 465, 2, 8793, 8794, 7, 165, 2, 2, 8794, 8799, 7, 801, 2, 2, 8795, 8796, 7, 830, 2, 2, 8796, 8798, 7, 801, 2, 2, 8797, 8795, 3, 2, 2, 2, 8798, 8801, 3, 2, 2, 2, 8799, 8797, 3, 2, 2, 2, 8799, 8800, 3, 2, 2, 2, 8800, 8803, 3, 2, 2, 2, 8801, 8799, 3, 2, 2, 2, 8802, 8793, 3, 2, 2, 2, 8802, 8803, 3, 2, 2, 2, 8803, 8805, 3, 2, 2, 2, 8804, 8806, 7, 831, 2, 2, 8805, 8804, 3, 2, 2, 2, 8805, 8806, 3, 2, 2, 2, 8806, 723, 3, 2, 2, 2, 8807, 8808, 7, 315, 2, 2, 8808, 8812, 5, 966, 484, 2, 8809, 8813, 5, 966, 484, 2, 8810, 8813, 5, 726, 364, 2, 8811, 8813, 5, 930, 466, 2, 8812, 8809, 3, 2, 2, 2, 8812, 8810, 3, 2, 2, 2, 8812, 8811, 3, 2, 2, 2, 8813, 8815, 3, 2, 2, 2, 8814, 8816, 7, 831, 2, 2, 8815, 8814, 3, 2, 2, 2, 8815, 8816, 3, 2, 2, 2, 8816, 8857, 3, 2, 2, 2, 8817, 8818, 7, 315, 2, 2, 8818, 8819, 7, 350, 2, 2, 8819, 8820, 7, 549, 2, 2, 8820, 8830, 7, 562, 2, 2, 8821, 8822, 7, 266, 2, 2, 8822, 8831, 7, 772, 2, 2, 8823, 8824, 7, 266, 2, 2, 8824, 8831, 7, 439, 2, 2, 8825, 8826, 7, 683, 2, 2, 8826, 8831, 7, 266, 2, 2, 8827, 8831, 7, 730, 2, 2, 8828, 8831, 7, 720, 2, 2, 8829, 8831, 7, 802, 2, 2, 8830, 8821, 3, 2, 2, 2, 8830, 8823, 3, 2, 2, 2, 8830, 8825, 3, 2, 2, 2, 8830, 8827, 3, 2, 2, 2, 8830, 8828, 3, 2, 2, 2, 8830, 8829, 3, 2, 2, 2, 8831, 8833, 3, 2, 2, 2, 8832, 8834, 7, 831, 2, 2, 8833, 8832, 3, 2, 2, 2, 8833, 8834, 3, 2, 2, 2, 8834, 8857, 3, 2, 2, 2, 8835, 8836, 7, 315, 2, 2, 8836, 8837, 7, 152, 2, 2, 8837, 8838, 5, 910, 456, 2, 8838, 8840, 5, 930, 466, 2, 8839, 8841, 7, 831, 2, 2, 8840, 8839, 3, 2, 2, 2, 8840, 8841, 3, 2, 2, 2, 8841, 8857, 3, 2, 2, 2, 8842, 8843, 7, 315, 2, 2, 8843, 8844, 7, 399, 2, 2, 8844, 8857, 5, 930, 466, 2, 8845, 8846, 7, 315, 2, 2, 8846, 8847, 7, 662, 2, 2, 8847, 8857, 5, 930, 466, 2, 8848, 8849, 7, 315, 2, 2, 8849, 8850, 7, 400, 2, 2, 8850, 8857, 5, 930, 466, 2, 8851, 8852, 7, 315, 2, 2, 8852, 8853, 7, 401, 2, 2, 8853, 8857, 5, 930, 466, 2, 8854, 8855, 7, 315, 2, 2, 8855, 8857, 5, 842, 422, 2, 8856, 8807, 3, 2, 2, 2, 8856, 8817, 3, 2, 2, 2, 8856, 8835, 3, 2, 2, 2, 8856, 8842, 3, 2, 2, 2, 8856, 8845, 3, 2, 2, 2, 8856, 8848, 3, 2, 2, 2, 8856, 8851, 3, 2, 2, 2, 8856, 8854, 3, 2, 2, 2, 8857, 725, 3, 2, 2, 2, 8858, 8861, 5, 962, 482, 2, 8859, 8861, 7, 801, 2, 2, 8860, 8858, 3, 2, 2, 2, 8860, 8859, 3, 2, 2, 2, 8861, 727, 3, 2, 2, 2, 8862, 8863, 8, 365, 1, 2, 8863, 8871, 5, 730, 366, 2, 8864, 8871, 5, 832, 417, 2, 8865, 8871, 5, 732, 367, 2, 8866, 8871, 5, 922, 462, 2, 8867, 8871, 5, 736, 369, 2, 8868, 8871, 5, 734, 368, 2, 8869, 8871, 5, 880, 441, 2, 8870, 8862, 3, 2, 2, 2, 8870, 8864, 3, 2, 2, 2, 8870, 8865, 3, 2, 2, 2, 8870, 8866, 3, 2, 2, 2, 8870, 8867, 3, 2, 2, 2, 8870, 8868, 3, 2, 2, 2, 8870, 8869, 3, 2, 2, 2, 8871, 8891, 3, 2, 2, 2, 8872, 8873, 12, 7, 2, 2, 8873, 8874, 9, 107, 2, 2, 8874, 8890, 5, 728, 365, 8, 8875, 8876, 12, 6, 2, 2, 8876, 8877, 9, 108, 2, 2, 8877, 8890, 5, 728, 365, 7, 8878, 8879, 12, 5, 2, 2, 8879, 8880, 5, 970, 486, 2, 8880, 8881, 5, 728, 365, 6, 8881, 8890, 3, 2, 2, 2, 8882, 8883, 12, 4, 2, 2, 8883, 8884, 5, 972, 487, 2, 8884, 8885, 5, 728, 365, 5, 8885, 8890, 3, 2, 2, 2, 8886, 8887, 12, 12, 2, 2, 8887, 8888, 7, 55, 2, 2, 8888, 8890, 5, 966, 484, 2, 8889, 8872, 3, 2, 2, 2, 8889, 8875, 3, 2, 2, 2, 8889, 8878, 3, 2, 2, 2, 8889, 8882, 3, 2, 2, 2, 8889, 8886, 3, 2, 2, 2, 8890, 8893, 3, 2, 2, 2, 8891, 8889, 3, 2, 2, 2, 8891, 8892, 3, 2, 2, 2, 8892, 729, 3, 2, 2, 2, 8893, 8891, 3, 2, 2, 2, 8894, 8899, 7, 89, 2, 2, 8895, 8899, 7, 223, 2, 2, 8896, 8899, 7, 801, 2, 2, 8897, 8899, 5, 962, 482, 2, 8898, 8894, 3, 2, 2, 2, 8898, 8895, 3, 2, 2, 2, 8898, 8896, 3, 2, 2, 2, 8898, 8897, 3, 2, 2, 2, 8899, 731, 3, 2, 2, 2, 8900, 8901, 7, 42, 2, 2, 8901, 8903, 5, 728, 365, 2, 8902, 8904, 5, 846, 424, 2, 8903, 8902, 3, 2, 2, 2, 8904, 8905, 3, 2, 2, 2, 8905, 8903, 3, 2, 2, 2, 8905, 8906, 3, 2, 2, 2, 8906, 8909, 3, 2, 2, 2, 8907, 8908, 7, 106, 2, 2, 8908, 8910, 5, 728, 365, 2, 8909, 8907, 3, 2, 2, 2, 8909, 8910, 3, 2, 2, 2, 8910, 8911, 3, 2, 2, 2, 8911, 8912, 7, 108, 2, 2, 8912, 8926, 3, 2, 2, 2, 8913, 8915, 7, 42, 2, 2, 8914, 8916, 5, 848, 425, 2, 8915, 8914, 3, 2, 2, 2, 8916, 8917, 3, 2, 2, 2, 8917, 8915, 3, 2, 2, 2, 8917, 8918, 3, 2, 2, 2, 8918, 8921, 3, 2, 2, 2, 8919, 8920, 7, 106, 2, 2, 8920, 8922, 5, 728, 365, 2, 8921, 8919, 3, 2, 2, 2, 8921, 8922, 3, 2, 2, 2, 8922, 8923, 3, 2, 2, 2, 8923, 8924, 7, 108, 2, 2, 8924, 8926, 3, 2, 2, 2, 8925, 8900, 3, 2, 2, 2, 8925, 8913, 3, 2, 2, 2, 8926, 733, 3, 2, 2, 2, 8927, 8928, 7, 838, 2, 2, 8928, 8932, 5, 728, 365, 2, 8929, 8930, 9, 109, 2, 2, 8930, 8932, 5, 728, 365, 2, 8931, 8927, 3, 2, 2, 2, 8931, 8929, 3, 2, 2, 2, 8932, 735, 3, 2, 2, 2, 8933, 8934, 7, 828, 2, 2, 8934, 8935, 5, 728, 365, 2, 8935, 8936, 7, 829, 2, 2, 8936, 8942, 3, 2, 2, 2, 8937, 8938, 7, 828, 2, 2, 8938, 8939, 5, 740, 371, 2, 8939, 8940, 7, 829, 2, 2, 8940, 8942, 3, 2, 2, 2, 8941, 8933, 3, 2, 2, 2, 8941, 8937, 3, 2, 2, 2, 8942, 737, 3, 2, 2, 2, 8943, 8952, 7, 223, 2, 2, 8944, 8952, 5, 962, 482, 2, 8945, 8952, 5, 832, 417, 2, 8946, 8952, 7, 801, 2, 2, 8947, 8948, 7, 828, 2, 2, 8948, 8949, 5, 738, 370, 2, 8949, 8950, 7, 829, 2, 2, 8950, 8952, 3, 2, 2, 2, 8951, 8943, 3, 2, 2, 2, 8951, 8944, 3, 2, 2, 2, 8951, 8945, 3, 2, 2, 2, 8951, 8946, 3, 2, 2, 2, 8951, 8947, 3, 2, 2, 2, 8952, 739, 3, 2, 2, 2, 8953, 8954, 5, 446, 224, 2, 8954, 741, 3, 2, 2, 2, 8955, 8958, 7, 377, 2, 2, 8956, 8957, 7, 791, 2, 2, 8957, 8959, 7, 830, 2, 2, 8958, 8956, 3, 2, 2, 2, 8958, 8959, 3, 2, 2, 2, 8959, 8960, 3, 2, 2, 2, 8960, 8965, 5, 744, 373, 2, 8961, 8962, 7, 830, 2, 2, 8962, 8964, 5, 744, 373, 2, 8963, 8961, 3, 2, 2, 2, 8964, 8967, 3, 2, 2, 2, 8965, 8963, 3, 2, 2, 2, 8965, 8966, 3, 2, 2, 2, 8966, 8982, 3, 2, 2, 2, 8967, 8965, 3, 2, 2, 2, 8968, 8969, 7, 377, 2, 2, 8969, 8974, 7, 32, 2, 2, 8970, 8971, 7, 828, 2, 2, 8971, 8972, 5, 822, 412, 2, 8972, 8973, 7, 829, 2, 2, 8973, 8975, 3, 2, 2, 2, 8974, 8970, 3, 2, 2, 2, 8974, 8975, 3, 2, 2, 2, 8975, 8976, 3, 2, 2, 2, 8976, 8977, 7, 16, 2, 2, 8977, 8978, 7, 828, 2, 2, 8978, 8979, 5, 446, 224, 2, 8979, 8980, 7, 829, 2, 2, 8980, 8982, 3, 2, 2, 2, 8981, 8955, 3, 2, 2, 2, 8981, 8968, 3, 2, 2, 2, 8982, 743, 3, 2, 2, 2, 8983, 8988, 5, 966, 484, 2, 8984, 8985, 7, 828, 2, 2, 8985, 8986, 5, 926, 464, 2, 8986, 8987, 7, 829, 2, 2, 8987, 8989, 3, 2, 2, 2, 8988, 8984, 3, 2, 2, 2, 8988, 8989, 3, 2, 2, 2, 8989, 8990, 3, 2, 2, 2, 8990, 8991, 7, 16, 2, 2, 8991, 8992, 7, 828, 2, 2, 8992, 8993, 5, 446, 224, 2, 8993, 8994, 7, 829, 2, 2, 8994, 745, 3, 2, 2, 2, 8995, 8998, 5, 922, 462, 2, 8996, 8998, 7, 801, 2, 2, 8997, 8995, 3, 2, 2, 2, 8997, 8996, 3, 2, 2, 2, 8998, 9001, 3, 2, 2, 2, 8999, 9002, 7, 810, 2, 2, 9000, 9002, 5, 972, 487, 2, 9001, 8999, 3, 2, 2, 2, 9001, 9000, 3, 2, 2, 2, 9002, 9003, 3, 2, 2, 2, 9003, 9012, 5, 728, 365, 2, 9004, 9005, 5, 966, 484, 2, 9005, 9006, 7, 823, 2, 2, 9006, 9007, 5, 966, 484, 2, 9007, 9008, 7, 828, 2, 2, 9008, 9009, 5, 870, 436, 2, 9009, 9010, 7, 829, 2, 2, 9010, 9012, 3, 2, 2, 2, 9011, 8997, 3, 2, 2, 2, 9011, 9004, 3, 2, 2, 2, 9012, 747, 3, 2, 2, 2, 9013, 9018, 5, 750, 376, 2, 9014, 9015, 7, 830, 2, 2, 9015, 9017, 5, 750, 376, 2, 9016, 9014, 3, 2, 2, 2, 9017, 9020, 3, 2, 2, 2, 9018, 9016, 3, 2, 2, 2, 9018, 9019, 3, 2, 2, 2, 9019, 749, 3, 2, 2, 2, 9020, 9018, 3, 2, 2, 2, 9021, 9026, 5, 752, 377, 2, 9022, 9023, 7, 237, 2, 2, 9023, 9025, 5, 752, 377, 2, 9024, 9022, 3, 2, 2, 2, 9025, 9028, 3, 2, 2, 2, 9026, 9024, 3, 2, 2, 2, 9026, 9027, 3, 2, 2, 2, 9027, 751, 3, 2, 2, 2, 9028, 9026, 3, 2, 2, 2, 9029, 9034, 5, 754, 378, 2, 9030, 9031, 7, 11, 2, 2, 9031, 9033, 5, 754, 378, 2, 9032, 9030, 3, 2, 2, 2, 9033, 9036, 3, 2, 2, 2, 9034, 9032, 3, 2, 2, 2, 9034, 9035, 3, 2, 2, 2, 9035, 753, 3, 2, 2, 2, 9036, 9034, 3, 2, 2, 2, 9037, 9039, 7, 220, 2, 2, 9038, 9037, 3, 2, 2, 2, 9038, 9039, 3, 2, 2, 2, 9039, 9040, 3, 2, 2, 2, 9040, 9041, 5, 756, 379, 2, 9041, 755, 3, 2, 2, 2, 9042, 9043, 7, 119, 2, 2, 9043, 9044, 7, 828, 2, 2, 9044, 9045, 5, 740, 371, 2, 9045, 9046, 7, 829, 2, 2, 9046, 9098, 3, 2, 2, 2, 9047, 9048, 5, 728, 365, 2, 9048, 9049, 5, 970, 486, 2, 9049, 9050, 5, 728, 365, 2, 9050, 9098, 3, 2, 2, 2, 9051, 9052, 5, 728, 365, 2, 9052, 9053, 5, 970, 486, 2, 9053, 9054, 9, 110, 2, 2, 9054, 9055, 7, 828, 2, 2, 9055, 9056, 5, 740, 371, 2, 9056, 9057, 7, 829, 2, 2, 9057, 9098, 3, 2, 2, 2, 9058, 9060, 5, 728, 365, 2, 9059, 9061, 7, 220, 2, 2, 9060, 9059, 3, 2, 2, 2, 9060, 9061, 3, 2, 2, 2, 9061, 9062, 3, 2, 2, 2, 9062, 9063, 7, 29, 2, 2, 9063, 9064, 5, 728, 365, 2, 9064, 9065, 7, 11, 2, 2, 9065, 9066, 5, 728, 365, 2, 9066, 9098, 3, 2, 2, 2, 9067, 9069, 5, 728, 365, 2, 9068, 9070, 7, 220, 2, 2, 9069, 9068, 3, 2, 2, 2, 9069, 9070, 3, 2, 2, 2, 9070, 9071, 3, 2, 2, 2, 9071, 9072, 7, 155, 2, 2, 9072, 9075, 7, 828, 2, 2, 9073, 9076, 5, 740, 371, 2, 9074, 9076, 5, 870, 436, 2, 9075, 9073, 3, 2, 2, 2, 9075, 9074, 3, 2, 2, 2, 9076, 9077, 3, 2, 2, 2, 9077, 9078, 7, 829, 2, 2, 9078, 9098, 3, 2, 2, 2, 9079, 9081, 5, 728, 365, 2, 9080, 9082, 7, 220, 2, 2, 9081, 9080, 3, 2, 2, 2, 9081, 9082, 3, 2, 2, 2, 9082, 9083, 3, 2, 2, 2, 9083, 9084, 7, 180, 2, 2, 9084, 9087, 5, 728, 365, 2, 9085, 9086, 7, 111, 2, 2, 9086, 9088, 5, 728, 365, 2, 9087, 9085, 3, 2, 2, 2, 9087, 9088, 3, 2, 2, 2, 9088, 9098, 3, 2, 2, 2, 9089, 9090, 5, 728, 365, 2, 9090, 9091, 7, 168, 2, 2, 9091, 9092, 5, 934, 468, 2, 9092, 9098, 3, 2, 2, 2, 9093, 9094, 7, 828, 2, 2, 9094, 9095, 5, 750, 376, 2, 9095, 9096, 7, 829, 2, 2, 9096, 9098, 3, 2, 2, 2, 9097, 9042, 3, 2, 2, 2, 9097, 9047, 3, 2, 2, 2, 9097, 9051, 3, 2, 2, 2, 9097, 9058, 3, 2, 2, 2, 9097, 9067, 3, 2, 2, 2, 9097, 9079, 3, 2, 2, 2, 9097, 9089, 3, 2, 2, 2, 9097, 9093, 3, 2, 2, 2, 9098, 757, 3, 2, 2, 2, 9099, 9105, 5, 762, 382, 2, 9100, 9101, 7, 828, 2, 2, 9101, 9102, 5, 758, 380, 2, 9102, 9103, 7, 829, 2, 2, 9103, 9105, 3, 2, 2, 2, 9104, 9099, 3, 2, 2, 2, 9104, 9100, 3, 2, 2, 2, 9105, 9109, 3, 2, 2, 2, 9106, 9108, 5, 760, 381, 2, 9107, 9106, 3, 2, 2, 2, 9108, 9111, 3, 2, 2, 2, 9109, 9107, 3, 2, 2, 2, 9109, 9110, 3, 2, 2, 2, 9110, 759, 3, 2, 2, 2, 9111, 9109, 3, 2, 2, 2, 9112, 9114, 7, 356, 2, 2, 9113, 9115, 7, 6, 2, 2, 9114, 9113, 3, 2, 2, 2, 9114, 9115, 3, 2, 2, 2, 9115, 9119, 3, 2, 2, 2, 9116, 9119, 7, 116, 2, 2, 9117, 9119, 7, 164, 2, 2, 9118, 9112, 3, 2, 2, 2, 9118, 9116, 3, 2, 2, 2, 9118, 9117, 3, 2, 2, 2, 9119, 9125, 3, 2, 2, 2, 9120, 9126, 5, 762, 382, 2, 9121, 9122, 7, 828, 2, 2, 9122, 9123, 5, 758, 380, 2, 9123, 9124, 7, 829, 2, 2, 9124, 9126, 3, 2, 2, 2, 9125, 9120, 3, 2, 2, 2, 9125, 9121, 3, 2, 2, 2, 9126, 761, 3, 2, 2, 2, 9127, 9129, 7, 305, 2, 2, 9128, 9130, 9, 111, 2, 2, 9129, 9128, 3, 2, 2, 2, 9129, 9130, 3, 2, 2, 2, 9130, 9132, 3, 2, 2, 2, 9131, 9133, 5, 764, 383, 2, 9132, 9131, 3, 2, 2, 2, 9132, 9133, 3, 2, 2, 2, 9133, 9134, 3, 2, 2, 2, 9134, 9137, 5, 786, 394, 2, 9135, 9136, 7, 165, 2, 2, 9136, 9138, 5, 910, 456, 2, 9137, 9135, 3, 2, 2, 2, 9137, 9138, 3, 2, 2, 2, 9138, 9141, 3, 2, 2, 2, 9139, 9140, 7, 139, 2, 2, 9140, 9142, 5, 800, 401, 2, 9141, 9139, 3, 2, 2, 2, 9141, 9142, 3, 2, 2, 2, 9142, 9145, 3, 2, 2, 2, 9143, 9144, 7, 374, 2, 2, 9144, 9146, 5, 750, 376, 2, 9145, 9143, 3, 2, 2, 2, 9145, 9146, 3, 2, 2, 2, 9146, 9160, 3, 2, 2, 2, 9147, 9148, 7, 146, 2, 2, 9148, 9150, 7, 38, 2, 2, 9149, 9151, 7, 6, 2, 2, 9150, 9149, 3, 2, 2, 2, 9150, 9151, 3, 2, 2, 2, 9151, 9152, 3, 2, 2, 2, 9152, 9157, 5, 778, 390, 2, 9153, 9154, 7, 830, 2, 2, 9154, 9156, 5, 778, 390, 2, 9155, 9153, 3, 2, 2, 2, 9156, 9159, 3, 2, 2, 2, 9157, 9155, 3, 2, 2, 2, 9157, 9158, 3, 2, 2, 2, 9158, 9161, 3, 2, 2, 2, 9159, 9157, 3, 2, 2, 2, 9160, 9147, 3, 2, 2, 2, 9160, 9161, 3, 2, 2, 2, 9161, 9164, 3, 2, 2, 2, 9162, 9163, 7, 147, 2, 2, 9163, 9165, 5, 750, 376, 2, 9164, 9162, 3, 2, 2, 2, 9164, 9165, 3, 2, 2, 2, 9165, 763, 3, 2, 2, 2, 9166, 9169, 7, 347, 2, 2, 9167, 9170, 5, 766, 384, 2, 9168, 9170, 5, 768, 385, 2, 9169, 9167, 3, 2, 2, 2, 9169, 9168, 3, 2, 2, 2, 9170, 9173, 3, 2, 2, 2, 9171, 9172, 7, 377, 2, 2, 9172, 9174, 7, 756, 2, 2, 9173, 9171, 3, 2, 2, 2, 9173, 9174, 3, 2, 2, 2, 9174, 765, 3, 2, 2, 2, 9175, 9176, 9, 112, 2, 2, 9176, 9183, 7, 245, 2, 2, 9177, 9178, 7, 828, 2, 2, 9178, 9179, 5, 728, 365, 2, 9179, 9180, 7, 829, 2, 2, 9180, 9181, 7, 245, 2, 2, 9181, 9183, 3, 2, 2, 2, 9182, 9175, 3, 2, 2, 2, 9182, 9177, 3, 2, 2, 2, 9183, 767, 3, 2, 2, 2, 9184, 9190, 7, 802, 2, 2, 9185, 9186, 7, 828, 2, 2, 9186, 9187, 5, 728, 365, 2, 9187, 9188, 7, 829, 2, 2, 9188, 9190, 3, 2, 2, 2, 9189, 9184, 3, 2, 2, 2, 9189, 9185, 3, 2, 2, 2, 9190, 769, 3, 2, 2, 2, 9191, 9192, 7, 238, 2, 2, 9192, 9193, 7, 38, 2, 2, 9193, 9198, 5, 776, 389, 2, 9194, 9195, 7, 830, 2, 2, 9195, 9197, 5, 776, 389, 2, 9196, 9194, 3, 2, 2, 2, 9197, 9200, 3, 2, 2, 2, 9198, 9196, 3, 2, 2, 2, 9198, 9199, 3, 2, 2, 2, 9199, 9212, 3, 2, 2, 2, 9200, 9198, 3, 2, 2, 2, 9201, 9202, 7, 627, 2, 2, 9202, 9203, 5, 728, 365, 2, 9203, 9210, 9, 113, 2, 2, 9204, 9205, 7, 128, 2, 2, 9205, 9206, 9, 114, 2, 2, 9206, 9207, 5, 728, 365, 2, 9207, 9208, 9, 113, 2, 2, 9208, 9209, 7, 630, 2, 2, 9209, 9211, 3, 2, 2, 2, 9210, 9204, 3, 2, 2, 2, 9210, 9211, 3, 2, 2, 2, 9211, 9213, 3, 2, 2, 2, 9212, 9201, 3, 2, 2, 2, 9212, 9213, 3, 2, 2, 2, 9213, 771, 3, 2, 2, 2, 9214, 9215, 7, 133, 2, 2, 9215, 9303, 7, 34, 2, 2, 9216, 9217, 7, 133, 2, 2, 9217, 9225, 7, 789, 2, 2, 9218, 9222, 7, 265, 2, 2, 9219, 9220, 7, 828, 2, 2, 9220, 9221, 7, 806, 2, 2, 9221, 9223, 7, 829, 2, 2, 9222, 9219, 3, 2, 2, 2, 9222, 9223, 3, 2, 2, 2, 9223, 9226, 3, 2, 2, 2, 9224, 9226, 7, 408, 2, 2, 9225, 9218, 3, 2, 2, 2, 9225, 9224, 3, 2, 2, 2, 9226, 9230, 3, 2, 2, 2, 9227, 9229, 5, 774, 388, 2, 9228, 9227, 3, 2, 2, 2, 9229, 9232, 3, 2, 2, 2, 9230, 9228, 3, 2, 2, 2, 9230, 9231, 3, 2, 2, 2, 9231, 9243, 3, 2, 2, 2, 9232, 9230, 3, 2, 2, 2, 9233, 9241, 7, 830, 2, 2, 9234, 9242, 7, 790, 2, 2, 9235, 9239, 7, 792, 2, 2, 9236, 9237, 7, 828, 2, 2, 9237, 9238, 7, 806, 2, 2, 9238, 9240, 7, 829, 2, 2, 9239, 9236, 3, 2, 2, 2, 9239, 9240, 3, 2, 2, 2, 9240, 9242, 3, 2, 2, 2, 9241, 9234, 3, 2, 2, 2, 9241, 9235, 3, 2, 2, 2, 9242, 9244, 3, 2, 2, 2, 9243, 9233, 3, 2, 2, 2, 9243, 9244, 3, 2, 2, 2, 9244, 9248, 3, 2, 2, 2, 9245, 9246, 7, 830, 2, 2, 9246, 9247, 7, 486, 2, 2, 9247, 9249, 9, 115, 2, 2, 9248, 9245, 3, 2, 2, 2, 9248, 9249, 3, 2, 2, 2, 9249, 9303, 3, 2, 2, 2, 9250, 9251, 7, 133, 2, 2, 9251, 9252, 7, 789, 2, 2, 9252, 9256, 7, 500, 2, 2, 9253, 9255, 5, 774, 388, 2, 9254, 9253, 3, 2, 2, 2, 9255, 9258, 3, 2, 2, 2, 9256, 9254, 3, 2, 2, 2, 9256, 9257, 3, 2, 2, 2, 9257, 9261, 3, 2, 2, 2, 9258, 9256, 3, 2, 2, 2, 9259, 9260, 7, 830, 2, 2, 9260, 9262, 7, 790, 2, 2, 9261, 9259, 3, 2, 2, 2, 9261, 9262, 3, 2, 2, 2, 9262, 9303, 3, 2, 2, 2, 9263, 9264, 7, 133, 2, 2, 9264, 9265, 7, 789, 2, 2, 9265, 9269, 7, 643, 2, 2, 9266, 9267, 7, 828, 2, 2, 9267, 9268, 7, 806, 2, 2, 9268, 9270, 7, 829, 2, 2, 9269, 9266, 3, 2, 2, 2, 9269, 9270, 3, 2, 2, 2, 9270, 9274, 3, 2, 2, 2, 9271, 9273, 5, 774, 388, 2, 9272, 9271, 3, 2, 2, 2, 9273, 9276, 3, 2, 2, 2, 9274, 9272, 3, 2, 2, 2, 9274, 9275, 3, 2, 2, 2, 9275, 9280, 3, 2, 2, 2, 9276, 9274, 3, 2, 2, 2, 9277, 9278, 7, 830, 2, 2, 9278, 9279, 7, 486, 2, 2, 9279, 9281, 9, 115, 2, 2, 9280, 9277, 3, 2, 2, 2, 9280, 9281, 3, 2, 2, 2, 9281, 9303, 3, 2, 2, 2, 9282, 9283, 7, 133, 2, 2, 9283, 9284, 7, 551, 2, 2, 9284, 9292, 9, 116, 2, 2, 9285, 9286, 7, 830, 2, 2, 9286, 9290, 7, 695, 2, 2, 9287, 9288, 7, 828, 2, 2, 9288, 9289, 7, 806, 2, 2, 9289, 9291, 7, 829, 2, 2, 9290, 9287, 3, 2, 2, 2, 9290, 9291, 3, 2, 2, 2, 9291, 9293, 3, 2, 2, 2, 9292, 9285, 3, 2, 2, 2, 9292, 9293, 3, 2, 2, 2, 9293, 9296, 3, 2, 2, 2, 9294, 9295, 7, 830, 2, 2, 9295, 9297, 7, 541, 2, 2, 9296, 9294, 3, 2, 2, 2, 9296, 9297, 3, 2, 2, 2, 9297, 9300, 3, 2, 2, 2, 9298, 9299, 7, 830, 2, 2, 9299, 9301, 7, 786, 2, 2, 9300, 9298, 3, 2, 2, 2, 9300, 9301, 3, 2, 2, 2, 9301, 9303, 3, 2, 2, 2, 9302, 9214, 3, 2, 2, 2, 9302, 9216, 3, 2, 2, 2, 9302, 9250, 3, 2, 2, 2, 9302, 9263, 3, 2, 2, 2, 9302, 9282, 3, 2, 2, 2, 9303, 773, 3, 2, 2, 2, 9304, 9313, 7, 830, 2, 2, 9305, 9314, 7, 420, 2, 2, 9306, 9314, 7, 769, 2, 2, 9307, 9311, 7, 695, 2, 2, 9308, 9309, 7, 828, 2, 2, 9309, 9310, 7, 806, 2, 2, 9310, 9312, 7, 829, 2, 2, 9311, 9308, 3, 2, 2, 2, 9311, 9312, 3, 2, 2, 2, 9312, 9314, 3, 2, 2, 2, 9313, 9305, 3, 2, 2, 2, 9313, 9306, 3, 2, 2, 2, 9313, 9307, 3, 2, 2, 2, 9314, 775, 3, 2, 2, 2, 9315, 9317, 5, 728, 365, 2, 9316, 9318, 9, 117, 2, 2, 9317, 9316, 3, 2, 2, 2, 9317, 9318, 3, 2, 2, 2, 9318, 777, 3, 2, 2, 2, 9319, 9320, 5, 728, 365, 2, 9320, 779, 3, 2, 2, 2, 9321, 9322, 7, 236, 2, 2, 9322, 9323, 7, 828, 2, 2, 9323, 9328, 5, 782, 392, 2, 9324, 9325, 7, 830, 2, 2, 9325, 9327, 5, 782, 392, 2, 9326, 9324, 3, 2, 2, 2, 9327, 9330, 3, 2, 2, 2, 9328, 9326, 3, 2, 2, 2, 9328, 9329, 3, 2, 2, 2, 9329, 9331, 3, 2, 2, 2, 9330, 9328, 3, 2, 2, 2, 9331, 9332, 7, 829, 2, 2, 9332, 781, 3, 2, 2, 2, 9333, 9334, 7, 505, 2, 2, 9334, 9379, 7, 802, 2, 2, 9335, 9336, 9, 118, 2, 2, 9336, 9379, 7, 146, 2, 2, 9337, 9338, 9, 119, 2, 2, 9338, 9379, 7, 356, 2, 2, 9339, 9340, 9, 120, 2, 2, 9340, 9379, 7, 170, 2, 2, 9341, 9342, 7, 498, 2, 2, 9342, 9379, 7, 783, 2, 2, 9343, 9344, 7, 515, 2, 2, 9344, 9379, 7, 238, 2, 2, 9345, 9379, 7, 537, 2, 2, 9346, 9347, 7, 553, 2, 2, 9347, 9379, 7, 251, 2, 2, 9348, 9349, 7, 554, 2, 2, 9349, 9379, 7, 251, 2, 2, 9350, 9351, 7, 586, 2, 2, 9351, 9379, 7, 802, 2, 2, 9352, 9353, 7, 587, 2, 2, 9353, 9379, 7, 802, 2, 2, 9354, 9355, 7, 633, 2, 2, 9355, 9356, 7, 133, 2, 2, 9356, 9357, 7, 828, 2, 2, 9357, 9362, 5, 784, 393, 2, 9358, 9359, 7, 830, 2, 2, 9359, 9361, 5, 784, 393, 2, 9360, 9358, 3, 2, 2, 2, 9361, 9364, 3, 2, 2, 2, 9362, 9360, 3, 2, 2, 2, 9362, 9363, 3, 2, 2, 2, 9363, 9365, 3, 2, 2, 2, 9364, 9362, 3, 2, 2, 2, 9365, 9366, 7, 829, 2, 2, 9366, 9379, 3, 2, 2, 2, 9367, 9368, 7, 633, 2, 2, 9368, 9369, 7, 133, 2, 2, 9369, 9379, 7, 773, 2, 2, 9370, 9371, 7, 639, 2, 2, 9371, 9379, 9, 77, 2, 2, 9372, 9379, 7, 675, 2, 2, 9373, 9374, 7, 694, 2, 2, 9374, 9379, 7, 251, 2, 2, 9375, 9376, 7, 364, 2, 2, 9376, 9377, 7, 251, 2, 2, 9377, 9379, 7, 806, 2, 2, 9378, 9333, 3, 2, 2, 2, 9378, 9335, 3, 2, 2, 2, 9378, 9337, 3, 2, 2, 2, 9378, 9339, 3, 2, 2, 2, 9378, 9341, 3, 2, 2, 2, 9378, 9343, 3, 2, 2, 2, 9378, 9345, 3, 2, 2, 2, 9378, 9346, 3, 2, 2, 2, 9378, 9348, 3, 2, 2, 2, 9378, 9350, 3, 2, 2, 2, 9378, 9352, 3, 2, 2, 2, 9378, 9354, 3, 2, 2, 2, 9378, 9367, 3, 2, 2, 2, 9378, 9370, 3, 2, 2, 2, 9378, 9372, 3, 2, 2, 2, 9378, 9373, 3, 2, 2, 2, 9378, 9375, 3, 2, 2, 2, 9379, 783, 3, 2, 2, 2, 9380, 9387, 7, 801, 2, 2, 9381, 9388, 7, 773, 2, 2, 9382, 9385, 7, 810, 2, 2, 9383, 9386, 5, 962, 482, 2, 9384, 9386, 7, 223, 2, 2, 9385, 9383, 3, 2, 2, 2, 9385, 9384, 3, 2, 2, 2, 9386, 9388, 3, 2, 2, 2, 9387, 9381, 3, 2, 2, 2, 9387, 9382, 3, 2, 2, 2, 9388, 785, 3, 2, 2, 2, 9389, 9394, 5, 798, 400, 2, 9390, 9391, 7, 830, 2, 2, 9391, 9393, 5, 798, 400, 2, 9392, 9390, 3, 2, 2, 2, 9393, 9396, 3, 2, 2, 2, 9394, 9392, 3, 2, 2, 2, 9394, 9395, 3, 2, 2, 2, 9395, 787, 3, 2, 2, 2, 9396, 9394, 3, 2, 2, 2, 9397, 9398, 7, 828, 2, 2, 9398, 9403, 5, 638, 320, 2, 9399, 9400, 7, 830, 2, 2, 9400, 9402, 5, 638, 320, 2, 9401, 9399, 3, 2, 2, 2, 9402, 9405, 3, 2, 2, 2, 9403, 9401, 3, 2, 2, 2, 9403, 9404, 3, 2, 2, 2, 9404, 9406, 3, 2, 2, 2, 9405, 9403, 3, 2, 2, 2, 9406, 9407, 7, 829, 2, 2, 9407, 789, 3, 2, 2, 2, 9408, 9409, 5, 910, 456, 2, 9409, 9410, 7, 823, 2, 2, 9410, 9412, 3, 2, 2, 2, 9411, 9408, 3, 2, 2, 2, 9411, 9412, 3, 2, 2, 2, 9412, 9413, 3, 2, 2, 2, 9413, 9414, 7, 833, 2, 2, 9414, 791, 3, 2, 2, 2, 9415, 9416, 5, 910, 456, 2, 9416, 9417, 7, 823, 2, 2, 9417, 9419, 3, 2, 2, 2, 9418, 9415, 3, 2, 2, 2, 9418, 9419, 3, 2, 2, 2, 9419, 9425, 3, 2, 2, 2, 9420, 9426, 5, 966, 484, 2, 9421, 9422, 7, 827, 2, 2, 9422, 9426, 7, 150, 2, 2, 9423, 9424, 7, 827, 2, 2, 9424, 9426, 7, 699, 2, 2, 9425, 9420, 3, 2, 2, 2, 9425, 9421, 3, 2, 2, 2, 9425, 9423, 3, 2, 2, 2, 9426, 9429, 3, 2, 2, 2, 9427, 9429, 7, 223, 2, 2, 9428, 9418, 3, 2, 2, 2, 9428, 9427, 3, 2, 2, 2, 9429, 9431, 3, 2, 2, 2, 9430, 9432, 5, 850, 426, 2, 9431, 9430, 3, 2, 2, 2, 9431, 9432, 3, 2, 2, 2, 9432, 793, 3, 2, 2, 2, 9433, 9434, 5, 966, 484, 2, 9434, 9435, 7, 823, 2, 2, 9435, 9436, 5, 966, 484, 2, 9436, 9438, 5, 788, 395, 2, 9437, 9439, 5, 850, 426, 2, 9438, 9437, 3, 2, 2, 2, 9438, 9439, 3, 2, 2, 2, 9439, 9451, 3, 2, 2, 2, 9440, 9441, 5, 966, 484, 2, 9441, 9442, 7, 832, 2, 2, 9442, 9443, 7, 832, 2, 2, 9443, 9445, 5, 966, 484, 2, 9444, 9446, 5, 788, 395, 2, 9445, 9444, 3, 2, 2, 2, 9445, 9446, 3, 2, 2, 2, 9446, 9448, 3, 2, 2, 2, 9447, 9449, 5, 850, 426, 2, 9448, 9447, 3, 2, 2, 2, 9448, 9449, 3, 2, 2, 2, 9449, 9451, 3, 2, 2, 2, 9450, 9433, 3, 2, 2, 2, 9450, 9440, 3, 2, 2, 2, 9451, 795, 3, 2, 2, 2, 9452, 9453, 5, 866, 434, 2, 9453, 9454, 7, 810, 2, 2, 9454, 9455, 5, 728, 365, 2, 9455, 9461, 3, 2, 2, 2, 9456, 9458, 5, 728, 365, 2, 9457, 9459, 5, 850, 426, 2, 9458, 9457, 3, 2, 2, 2, 9458, 9459, 3, 2, 2, 2, 9459, 9461, 3, 2, 2, 2, 9460, 9452, 3, 2, 2, 2, 9460, 9456, 3, 2, 2, 2, 9461, 797, 3, 2, 2, 2, 9462, 9467, 5, 790, 396, 2, 9463, 9467, 5, 792, 397, 2, 9464, 9467, 5, 794, 398, 2, 9465, 9467, 5, 796, 399, 2, 9466, 9462, 3, 2, 2, 2, 9466, 9463, 3, 2, 2, 2, 9466, 9464, 3, 2, 2, 2, 9466, 9465, 3, 2, 2, 2, 9467, 799, 3, 2, 2, 2, 9468, 9473, 5, 802, 402, 2, 9469, 9470, 7, 830, 2, 2, 9470, 9472, 5, 802, 402, 2, 9471, 9469, 3, 2, 2, 2, 9472, 9475, 3, 2, 2, 2, 9473, 9471, 3, 2, 2, 2, 9473, 9474, 3, 2, 2, 2, 9474, 801, 3, 2, 2, 2, 9475, 9473, 3, 2, 2, 2, 9476, 9482, 5, 804, 403, 2, 9477, 9478, 7, 828, 2, 2, 9478, 9479, 5, 804, 403, 2, 9479, 9480, 7, 829, 2, 2, 9480, 9482, 3, 2, 2, 2, 9481, 9476, 3, 2, 2, 2, 9481, 9477, 3, 2, 2, 2, 9482, 803, 3, 2, 2, 2, 9483, 9487, 5, 806, 404, 2, 9484, 9486, 5, 816, 409, 2, 9485, 9484, 3, 2, 2, 2, 9486, 9489, 3, 2, 2, 2, 9487, 9485, 3, 2, 2, 2, 9487, 9488, 3, 2, 2, 2, 9488, 805, 3, 2, 2, 2, 9489, 9487, 3, 2, 2, 2, 9490, 9492, 5, 824, 413, 2, 9491, 9493, 5, 852, 427, 2, 9492, 9491, 3, 2, 2, 2, 9492, 9493, 3, 2, 2, 2, 9493, 9540, 3, 2, 2, 2, 9494, 9496, 5, 908, 455, 2, 9495, 9497, 5, 852, 427, 2, 9496, 9495, 3, 2, 2, 2, 9496, 9497, 3, 2, 2, 2, 9497, 9540, 3, 2, 2, 2, 9498, 9500, 5, 826, 414, 2, 9499, 9501, 5, 852, 427, 2, 9500, 9499, 3, 2, 2, 2, 9500, 9501, 3, 2, 2, 2, 9501, 9540, 3, 2, 2, 2, 9502, 9507, 5, 830, 416, 2, 9503, 9505, 5, 852, 427, 2, 9504, 9506, 5, 864, 433, 2, 9505, 9504, 3, 2, 2, 2, 9505, 9506, 3, 2, 2, 2, 9506, 9508, 3, 2, 2, 2, 9507, 9503, 3, 2, 2, 2, 9507, 9508, 3, 2, 2, 2, 9508, 9540, 3, 2, 2, 2, 9509, 9510, 5, 814, 408, 2, 9510, 9511, 5, 852, 427, 2, 9511, 9540, 3, 2, 2, 2, 9512, 9517, 5, 832, 417, 2, 9513, 9515, 5, 852, 427, 2, 9514, 9516, 5, 864, 433, 2, 9515, 9514, 3, 2, 2, 2, 9515, 9516, 3, 2, 2, 2, 9516, 9518, 3, 2, 2, 2, 9517, 9513, 3, 2, 2, 2, 9517, 9518, 3, 2, 2, 2, 9518, 9540, 3, 2, 2, 2, 9519, 9521, 7, 801, 2, 2, 9520, 9522, 5, 852, 427, 2, 9521, 9520, 3, 2, 2, 2, 9521, 9522, 3, 2, 2, 2, 9522, 9540, 3, 2, 2, 2, 9523, 9524, 7, 801, 2, 2, 9524, 9525, 7, 823, 2, 2, 9525, 9530, 5, 832, 417, 2, 9526, 9528, 5, 852, 427, 2, 9527, 9529, 5, 864, 433, 2, 9528, 9527, 3, 2, 2, 2, 9528, 9529, 3, 2, 2, 2, 9529, 9531, 3, 2, 2, 2, 9530, 9526, 3, 2, 2, 2, 9530, 9531, 3, 2, 2, 2, 9531, 9540, 3, 2, 2, 2, 9532, 9540, 5, 808, 405, 2, 9533, 9534, 7, 832, 2, 2, 9534, 9535, 7, 832, 2, 2, 9535, 9537, 5, 832, 417, 2, 9536, 9538, 5, 852, 427, 2, 9537, 9536, 3, 2, 2, 2, 9537, 9538, 3, 2, 2, 2, 9538, 9540, 3, 2, 2, 2, 9539, 9490, 3, 2, 2, 2, 9539, 9494, 3, 2, 2, 2, 9539, 9498, 3, 2, 2, 2, 9539, 9502, 3, 2, 2, 2, 9539, 9509, 3, 2, 2, 2, 9539, 9512, 3, 2, 2, 2, 9539, 9519, 3, 2, 2, 2, 9539, 9523, 3, 2, 2, 2, 9539, 9532, 3, 2, 2, 2, 9539, 9533, 3, 2, 2, 2, 9540, 807, 3, 2, 2, 2, 9541, 9542, 7, 235, 2, 2, 9542, 9543, 7, 828, 2, 2, 9543, 9544, 5, 728, 365, 2, 9544, 9545, 7, 830, 2, 2, 9545, 9548, 5, 728, 365, 2, 9546, 9547, 7, 830, 2, 2, 9547, 9549, 5, 728, 365, 2, 9548, 9546, 3, 2, 2, 2, 9548, 9549, 3, 2, 2, 2, 9549, 9550, 3, 2, 2, 2, 9550, 9556, 7, 829, 2, 2, 9551, 9552, 7, 377, 2, 2, 9552, 9553, 7, 828, 2, 2, 9553, 9554, 5, 810, 406, 2, 9554, 9555, 7, 829, 2, 2, 9555, 9557, 3, 2, 2, 2, 9556, 9551, 3, 2, 2, 2, 9556, 9557, 3, 2, 2, 2, 9557, 809, 3, 2, 2, 2, 9558, 9563, 5, 812, 407, 2, 9559, 9560, 7, 830, 2, 2, 9560, 9562, 5, 812, 407, 2, 9561, 9559, 3, 2, 2, 2, 9562, 9565, 3, 2, 2, 2, 9563, 9561, 3, 2, 2, 2, 9563, 9564, 3, 2, 2, 2, 9564, 811, 3, 2, 2, 2, 9565, 9563, 3, 2, 2, 2, 9566, 9567, 7, 803, 2, 2, 9567, 9569, 5, 958, 480, 2, 9568, 9570, 7, 806, 2, 2, 9569, 9568, 3, 2, 2, 2, 9569, 9570, 3, 2, 2, 2, 9570, 813, 3, 2, 2, 2, 9571, 9572, 7, 44, 2, 2, 9572, 9573, 7, 828, 2, 2, 9573, 9574, 7, 45, 2, 2, 9574, 9575, 5, 910, 456, 2, 9575, 9576, 7, 830, 2, 2, 9576, 9577, 9, 121, 2, 2, 9577, 9578, 7, 829, 2, 2, 9578, 815, 3, 2, 2, 2, 9579, 9581, 7, 161, 2, 2, 9580, 9579, 3, 2, 2, 2, 9580, 9581, 3, 2, 2, 2, 9581, 9587, 3, 2, 2, 2, 9582, 9584, 9, 122, 2, 2, 9583, 9585, 7, 239, 2, 2, 9584, 9583, 3, 2, 2, 2, 9584, 9585, 3, 2, 2, 2, 9585, 9587, 3, 2, 2, 2, 9586, 9580, 3, 2, 2, 2, 9586, 9582, 3, 2, 2, 2, 9587, 9589, 3, 2, 2, 2, 9588, 9590, 9, 123, 2, 2, 9589, 9588, 3, 2, 2, 2, 9589, 9590, 3, 2, 2, 2, 9590, 9591, 3, 2, 2, 2, 9591, 9592, 7, 170, 2, 2, 9592, 9593, 5, 802, 402, 2, 9593, 9594, 7, 229, 2, 2, 9594, 9595, 5, 750, 376, 2, 9595, 9614, 3, 2, 2, 2, 9596, 9597, 7, 74, 2, 2, 9597, 9598, 7, 170, 2, 2, 9598, 9614, 5, 802, 402, 2, 9599, 9600, 7, 74, 2, 2, 9600, 9601, 7, 403, 2, 2, 9601, 9614, 5, 802, 402, 2, 9602, 9603, 7, 239, 2, 2, 9603, 9604, 7, 403, 2, 2, 9604, 9614, 5, 802, 402, 2, 9605, 9606, 7, 250, 2, 2, 9606, 9607, 5, 818, 410, 2, 9607, 9608, 5, 852, 427, 2, 9608, 9614, 3, 2, 2, 2, 9609, 9610, 7, 359, 2, 2, 9610, 9611, 5, 820, 411, 2, 9611, 9612, 5, 852, 427, 2, 9612, 9614, 3, 2, 2, 2, 9613, 9586, 3, 2, 2, 2, 9613, 9596, 3, 2, 2, 2, 9613, 9599, 3, 2, 2, 2, 9613, 9602, 3, 2, 2, 2, 9613, 9605, 3, 2, 2, 2, 9613, 9609, 3, 2, 2, 2, 9614, 817, 3, 2, 2, 2, 9615, 9616, 7, 828, 2, 2, 9616, 9617, 5, 874, 438, 2, 9617, 9618, 7, 133, 2, 2, 9618, 9619, 5, 922, 462, 2, 9619, 9620, 7, 155, 2, 2, 9620, 9621, 5, 864, 433, 2, 9621, 9622, 7, 829, 2, 2, 9622, 819, 3, 2, 2, 2, 9623, 9624, 7, 828, 2, 2, 9624, 9625, 5, 728, 365, 2, 9625, 9626, 7, 133, 2, 2, 9626, 9627, 5, 922, 462, 2, 9627, 9628, 7, 155, 2, 2, 9628, 9629, 7, 828, 2, 2, 9629, 9630, 5, 822, 412, 2, 9630, 9631, 7, 829, 2, 2, 9631, 9632, 7, 829, 2, 2, 9632, 821, 3, 2, 2, 2, 9633, 9638, 5, 922, 462, 2, 9634, 9635, 7, 830, 2, 2, 9635, 9637, 5, 922, 462, 2, 9636, 9634, 3, 2, 2, 2, 9637, 9640, 3, 2, 2, 2, 9638, 9636, 3, 2, 2, 2, 9638, 9639, 3, 2, 2, 2, 9639, 823, 3, 2, 2, 2, 9640, 9638, 3, 2, 2, 2, 9641, 9643, 5, 910, 456, 2, 9642, 9644, 5, 856, 429, 2, 9643, 9642, 3, 2, 2, 2, 9643, 9644, 3, 2, 2, 2, 9644, 825, 3, 2, 2, 2, 9645, 9646, 7, 234, 2, 2, 9646, 9647, 7, 828, 2, 2, 9647, 9648, 7, 806, 2, 2, 9648, 9649, 7, 830, 2, 2, 9649, 9650, 7, 806, 2, 2, 9650, 9651, 7, 830, 2, 2, 9651, 9652, 7, 806, 2, 2, 9652, 9672, 7, 829, 2, 2, 9653, 9654, 7, 234, 2, 2, 9654, 9655, 7, 828, 2, 2, 9655, 9656, 7, 37, 2, 2, 9656, 9657, 7, 806, 2, 2, 9657, 9667, 7, 830, 2, 2, 9658, 9663, 5, 828, 415, 2, 9659, 9660, 7, 830, 2, 2, 9660, 9662, 5, 828, 415, 2, 9661, 9659, 3, 2, 2, 2, 9662, 9665, 3, 2, 2, 2, 9663, 9661, 3, 2, 2, 2, 9663, 9664, 3, 2, 2, 2, 9664, 9668, 3, 2, 2, 2, 9665, 9663, 3, 2, 2, 2, 9666, 9668, 5, 966, 484, 2, 9667, 9658, 3, 2, 2, 2, 9667, 9666, 3, 2, 2, 2, 9668, 9669, 3, 2, 2, 2, 9669, 9670, 7, 829, 2, 2, 9670, 9672, 3, 2, 2, 2, 9671, 9645, 3, 2, 2, 2, 9671, 9653, 3, 2, 2, 2, 9672, 827, 3, 2, 2, 2, 9673, 9674, 5, 966, 484, 2, 9674, 9675, 7, 810, 2, 2, 9675, 9676, 9, 24, 2, 2, 9676, 829, 3, 2, 2, 2, 9677, 9688, 5, 740, 371, 2, 9678, 9679, 7, 828, 2, 2, 9679, 9680, 5, 740, 371, 2, 9680, 9681, 7, 829, 2, 2, 9681, 9688, 3, 2, 2, 2, 9682, 9688, 5, 868, 435, 2, 9683, 9684, 7, 828, 2, 2, 9684, 9685, 5, 868, 435, 2, 9685, 9686, 7, 829, 2, 2, 9686, 9688, 3, 2, 2, 2, 9687, 9677, 3, 2, 2, 2, 9687, 9678, 3, 2, 2, 2, 9687, 9682, 3, 2, 2, 2, 9687, 9683, 3, 2, 2, 2, 9688, 831, 3, 2, 2, 2, 9689, 9690, 7, 421, 2, 2, 9690, 9691, 7, 828, 2, 2, 9691, 9692, 7, 833, 2, 2, 9692, 9836, 7, 829, 2, 2, 9693, 9694, 7, 429, 2, 2, 9694, 9695, 7, 828, 2, 2, 9695, 9696, 5, 728, 365, 2, 9696, 9697, 7, 16, 2, 2, 9697, 9698, 5, 958, 480, 2, 9698, 9699, 7, 829, 2, 2, 9699, 9836, 3, 2, 2, 2, 9700, 9701, 7, 71, 2, 2, 9701, 9702, 7, 828, 2, 2, 9702, 9703, 5, 958, 480, 2, 9703, 9704, 7, 830, 2, 2, 9704, 9707, 5, 728, 365, 2, 9705, 9706, 7, 830, 2, 2, 9706, 9708, 5, 728, 365, 2, 9707, 9705, 3, 2, 2, 2, 9707, 9708, 3, 2, 2, 2, 9708, 9709, 3, 2, 2, 2, 9709, 9710, 7, 829, 2, 2, 9710, 9836, 3, 2, 2, 2, 9711, 9712, 7, 434, 2, 2, 9712, 9713, 7, 828, 2, 2, 9713, 9714, 7, 833, 2, 2, 9714, 9836, 7, 829, 2, 2, 9715, 9716, 7, 54, 2, 2, 9716, 9717, 7, 828, 2, 2, 9717, 9718, 5, 870, 436, 2, 9718, 9719, 7, 829, 2, 2, 9719, 9836, 3, 2, 2, 2, 9720, 9836, 7, 78, 2, 2, 9721, 9836, 7, 79, 2, 2, 9722, 9723, 7, 458, 2, 2, 9723, 9724, 7, 828, 2, 2, 9724, 9725, 7, 803, 2, 2, 9725, 9726, 7, 830, 2, 2, 9726, 9727, 5, 728, 365, 2, 9727, 9728, 7, 830, 2, 2, 9728, 9729, 5, 728, 365, 2, 9729, 9730, 7, 829, 2, 2, 9730, 9836, 3, 2, 2, 2, 9731, 9732, 7, 459, 2, 2, 9732, 9733, 7, 828, 2, 2, 9733, 9734, 7, 803, 2, 2, 9734, 9735, 7, 830, 2, 2, 9735, 9736, 5, 728, 365, 2, 9736, 9737, 7, 830, 2, 2, 9737, 9738, 5, 728, 365, 2, 9738, 9739, 7, 829, 2, 2, 9739, 9836, 3, 2, 2, 2, 9740, 9741, 7, 460, 2, 2, 9741, 9742, 7, 828, 2, 2, 9742, 9743, 7, 803, 2, 2, 9743, 9744, 7, 830, 2, 2, 9744, 9745, 5, 728, 365, 2, 9745, 9746, 7, 829, 2, 2, 9746, 9836, 3, 2, 2, 2, 9747, 9748, 7, 461, 2, 2, 9748, 9749, 7, 828, 2, 2, 9749, 9750, 7, 803, 2, 2, 9750, 9751, 7, 830, 2, 2, 9751, 9752, 5, 728, 365, 2, 9752, 9753, 7, 829, 2, 2, 9753, 9836, 3, 2, 2, 2, 9754, 9755, 7, 523, 2, 2, 9755, 9756, 7, 828, 2, 2, 9756, 9836, 7, 829, 2, 2, 9757, 9758, 7, 524, 2, 2, 9758, 9759, 7, 828, 2, 2, 9759, 9836, 7, 829, 2, 2, 9760, 9761, 7, 150, 2, 2, 9761, 9762, 7, 828, 2, 2, 9762, 9765, 5, 958, 480, 2, 9763, 9764, 7, 830, 2, 2, 9764, 9766, 7, 802, 2, 2, 9765, 9763, 3, 2, 2, 2, 9765, 9766, 3, 2, 2, 2, 9766, 9769, 3, 2, 2, 2, 9767, 9768, 7, 830, 2, 2, 9768, 9770, 7, 802, 2, 2, 9769, 9767, 3, 2, 2, 2, 9769, 9770, 3, 2, 2, 2, 9770, 9771, 3, 2, 2, 2, 9771, 9772, 7, 829, 2, 2, 9772, 9836, 3, 2, 2, 2, 9773, 9836, 7, 594, 2, 2, 9774, 9775, 7, 224, 2, 2, 9775, 9776, 7, 828, 2, 2, 9776, 9777, 5, 728, 365, 2, 9777, 9778, 7, 830, 2, 2, 9778, 9779, 5, 728, 365, 2, 9779, 9780, 7, 829, 2, 2, 9780, 9836, 3, 2, 2, 2, 9781, 9782, 7, 742, 2, 2, 9782, 9783, 7, 828, 2, 2, 9783, 9784, 5, 728, 365, 2, 9784, 9785, 7, 830, 2, 2, 9785, 9786, 7, 802, 2, 2, 9786, 9787, 7, 830, 2, 2, 9787, 9788, 7, 802, 2, 2, 9788, 9789, 7, 830, 2, 2, 9789, 9790, 5, 728, 365, 2, 9790, 9791, 7, 829, 2, 2, 9791, 9836, 3, 2, 2, 2, 9792, 9836, 7, 314, 2, 2, 9793, 9836, 7, 338, 2, 2, 9794, 9795, 7, 169, 2, 2, 9795, 9796, 7, 828, 2, 2, 9796, 9797, 5, 728, 365, 2, 9797, 9798, 7, 830, 2, 2, 9798, 9799, 5, 728, 365, 2, 9799, 9800, 7, 829, 2, 2, 9800, 9836, 3, 2, 2, 2, 9801, 9836, 5, 834, 418, 2, 9802, 9803, 7, 154, 2, 2, 9803, 9804, 7, 828, 2, 2, 9804, 9805, 5, 750, 376, 2, 9805, 9806, 7, 830, 2, 2, 9806, 9807, 5, 728, 365, 2, 9807, 9808, 7, 830, 2, 2, 9808, 9809, 5, 728, 365, 2, 9809, 9810, 7, 829, 2, 2, 9810, 9836, 3, 2, 2, 2, 9811, 9836, 5, 872, 437, 2, 9812, 9836, 5, 874, 438, 2, 9813, 9836, 5, 876, 439, 2, 9814, 9815, 5, 938, 470, 2, 9815, 9817, 7, 828, 2, 2, 9816, 9818, 5, 870, 436, 2, 9817, 9816, 3, 2, 2, 2, 9817, 9818, 3, 2, 2, 2, 9818, 9819, 3, 2, 2, 2, 9819, 9820, 7, 829, 2, 2, 9820, 9836, 3, 2, 2, 2, 9821, 9822, 7, 741, 2, 2, 9822, 9823, 7, 828, 2, 2, 9823, 9824, 5, 728, 365, 2, 9824, 9825, 7, 830, 2, 2, 9825, 9826, 5, 728, 365, 2, 9826, 9833, 7, 829, 2, 2, 9827, 9828, 7, 378, 2, 2, 9828, 9829, 7, 146, 2, 2, 9829, 9830, 7, 828, 2, 2, 9830, 9831, 5, 770, 386, 2, 9831, 9832, 7, 829, 2, 2, 9832, 9834, 3, 2, 2, 2, 9833, 9827, 3, 2, 2, 2, 9833, 9834, 3, 2, 2, 2, 9834, 9836, 3, 2, 2, 2, 9835, 9689, 3, 2, 2, 2, 9835, 9693, 3, 2, 2, 2, 9835, 9700, 3, 2, 2, 2, 9835, 9711, 3, 2, 2, 2, 9835, 9715, 3, 2, 2, 2, 9835, 9720, 3, 2, 2, 2, 9835, 9721, 3, 2, 2, 2, 9835, 9722, 3, 2, 2, 2, 9835, 9731, 3, 2, 2, 2, 9835, 9740, 3, 2, 2, 2, 9835, 9747, 3, 2, 2, 2, 9835, 9754, 3, 2, 2, 2, 9835, 9757, 3, 2, 2, 2, 9835, 9760, 3, 2, 2, 2, 9835, 9773, 3, 2, 2, 2, 9835, 9774, 3, 2, 2, 2, 9835, 9781, 3, 2, 2, 2, 9835, 9792, 3, 2, 2, 2, 9835, 9793, 3, 2, 2, 2, 9835, 9794, 3, 2, 2, 2, 9835, 9801, 3, 2, 2, 2, 9835, 9802, 3, 2, 2, 2, 9835, 9811, 3, 2, 2, 2, 9835, 9812, 3, 2, 2, 2, 9835, 9813, 3, 2, 2, 2, 9835, 9814, 3, 2, 2, 2, 9835, 9821, 3, 2, 2, 2, 9836, 833, 3, 2, 2, 2, 9837, 9843, 5, 836, 419, 2, 9838, 9843, 5, 838, 420, 2, 9839, 9843, 5, 840, 421, 2, 9840, 9843, 5, 842, 422, 2, 9841, 9843, 5, 844, 423, 2, 9842, 9837, 3, 2, 2, 2, 9842, 9838, 3, 2, 2, 2, 9842, 9839, 3, 2, 2, 2, 9842, 9840, 3, 2, 2, 2, 9842, 9841, 3, 2, 2, 2, 9843, 835, 3, 2, 2, 2, 9844, 9849, 7, 801, 2, 2, 9845, 9849, 7, 803, 2, 2, 9846, 9849, 7, 114, 2, 2, 9847, 9849, 5, 838, 420, 2, 9848, 9844, 3, 2, 2, 2, 9848, 9845, 3, 2, 2, 2, 9848, 9846, 3, 2, 2, 2, 9848, 9847, 3, 2, 2, 2, 9849, 9850, 3, 2, 2, 2, 9850, 9851, 7, 823, 2, 2, 9851, 9852, 7, 779, 2, 2, 9852, 9853, 7, 828, 2, 2, 9853, 9854, 7, 806, 2, 2, 9854, 9855, 7, 830, 2, 2, 9855, 9856, 7, 806, 2, 2, 9856, 9888, 7, 829, 2, 2, 9857, 9862, 7, 801, 2, 2, 9858, 9862, 7, 803, 2, 2, 9859, 9862, 7, 114, 2, 2, 9860, 9862, 5, 838, 420, 2, 9861, 9857, 3, 2, 2, 2, 9861, 9858, 3, 2, 2, 2, 9861, 9859, 3, 2, 2, 2, 9861, 9860, 3, 2, 2, 2, 9862, 9863, 3, 2, 2, 2, 9863, 9864, 7, 823, 2, 2, 9864, 9865, 7, 697, 2, 2, 9865, 9866, 7, 823, 2, 2, 9866, 9867, 7, 779, 2, 2, 9867, 9868, 7, 828, 2, 2, 9868, 9869, 7, 806, 2, 2, 9869, 9870, 7, 830, 2, 2, 9870, 9871, 7, 806, 2, 2, 9871, 9888, 7, 829, 2, 2, 9872, 9877, 7, 801, 2, 2, 9873, 9877, 7, 803, 2, 2, 9874, 9877, 7, 114, 2, 2, 9875, 9877, 5, 838, 420, 2, 9876, 9872, 3, 2, 2, 2, 9876, 9873, 3, 2, 2, 2, 9876, 9874, 3, 2, 2, 2, 9876, 9875, 3, 2, 2, 2, 9877, 9878, 3, 2, 2, 2, 9878, 9879, 7, 823, 2, 2, 9879, 9880, 7, 242, 2, 2, 9880, 9881, 7, 823, 2, 2, 9881, 9882, 7, 779, 2, 2, 9882, 9883, 7, 828, 2, 2, 9883, 9884, 7, 806, 2, 2, 9884, 9885, 7, 830, 2, 2, 9885, 9886, 7, 806, 2, 2, 9886, 9888, 7, 829, 2, 2, 9887, 9848, 3, 2, 2, 2, 9887, 9861, 3, 2, 2, 2, 9887, 9876, 3, 2, 2, 2, 9888, 837, 3, 2, 2, 2, 9889, 9893, 7, 801, 2, 2, 9890, 9893, 7, 803, 2, 2, 9891, 9893, 5, 908, 455, 2, 9892, 9889, 3, 2, 2, 2, 9892, 9890, 3, 2, 2, 2, 9892, 9891, 3, 2, 2, 2, 9893, 9894, 3, 2, 2, 2, 9894, 9895, 7, 823, 2, 2, 9895, 9896, 7, 659, 2, 2, 9896, 9897, 7, 828, 2, 2, 9897, 9898, 7, 806, 2, 2, 9898, 9912, 7, 829, 2, 2, 9899, 9903, 7, 801, 2, 2, 9900, 9903, 7, 803, 2, 2, 9901, 9903, 5, 908, 455, 2, 9902, 9899, 3, 2, 2, 2, 9902, 9900, 3, 2, 2, 2, 9902, 9901, 3, 2, 2, 2, 9903, 9904, 3, 2, 2, 2, 9904, 9905, 7, 823, 2, 2, 9905, 9906, 7, 697, 2, 2, 9906, 9907, 7, 823, 2, 2, 9907, 9908, 7, 659, 2, 2, 9908, 9909, 7, 828, 2, 2, 9909, 9910, 7, 806, 2, 2, 9910, 9912, 7, 829, 2, 2, 9911, 9892, 3, 2, 2, 2, 9911, 9902, 3, 2, 2, 2, 9912, 839, 3, 2, 2, 2, 9913, 9914, 9, 124, 2, 2, 9914, 9915, 7, 823, 2, 2, 9915, 9916, 7, 497, 2, 2, 9916, 9917, 7, 828, 2, 2, 9917, 9918, 7, 806, 2, 2, 9918, 9919, 7, 829, 2, 2, 9919, 841, 3, 2, 2, 2, 9920, 9921, 9, 124, 2, 2, 9921, 9922, 7, 823, 2, 2, 9922, 9923, 7, 602, 2, 2, 9923, 9924, 7, 828, 2, 2, 9924, 9925, 7, 806, 2, 2, 9925, 9926, 7, 829, 2, 2, 9926, 843, 3, 2, 2, 2, 9927, 9928, 9, 124, 2, 2, 9928, 9929, 7, 823, 2, 2, 9929, 9930, 7, 615, 2, 2, 9930, 9931, 7, 828, 2, 2, 9931, 9932, 7, 806, 2, 2, 9932, 9933, 7, 829, 2, 2, 9933, 845, 3, 2, 2, 2, 9934, 9935, 7, 373, 2, 2, 9935, 9936, 5, 728, 365, 2, 9936, 9937, 7, 345, 2, 2, 9937, 9938, 5, 728, 365, 2, 9938, 847, 3, 2, 2, 2, 9939, 9940, 7, 373, 2, 2, 9940, 9941, 5, 750, 376, 2, 9941, 9942, 7, 345, 2, 2, 9942, 9943, 5, 728, 365, 2, 9943, 849, 3, 2, 2, 2, 9944, 9946, 7, 16, 2, 2, 9945, 9944, 3, 2, 2, 2, 9945, 9946, 3, 2, 2, 2, 9946, 9947, 3, 2, 2, 2, 9947, 9948, 5, 866, 434, 2, 9948, 851, 3, 2, 2, 2, 9949, 9951, 7, 16, 2, 2, 9950, 9949, 3, 2, 2, 2, 9950, 9951, 3, 2, 2, 2, 9951, 9952, 3, 2, 2, 2, 9952, 9953, 5, 854, 428, 2, 9953, 853, 3, 2, 2, 2, 9954, 9956, 5, 966, 484, 2, 9955, 9957, 5, 856, 429, 2, 9956, 9955, 3, 2, 2, 2, 9956, 9957, 3, 2, 2, 2, 9957, 855, 3, 2, 2, 2, 9958, 9960, 7, 377, 2, 2, 9959, 9958, 3, 2, 2, 2, 9959, 9960, 3, 2, 2, 2, 9960, 9961, 3, 2, 2, 2, 9961, 9962, 7, 828, 2, 2, 9962, 9969, 5, 860, 431, 2, 9963, 9965, 7, 830, 2, 2, 9964, 9963, 3, 2, 2, 2, 9964, 9965, 3, 2, 2, 2, 9965, 9966, 3, 2, 2, 2, 9966, 9968, 5, 860, 431, 2, 9967, 9964, 3, 2, 2, 2, 9968, 9971, 3, 2, 2, 2, 9969, 9967, 3, 2, 2, 2, 9969, 9970, 3, 2, 2, 2, 9970, 9972, 3, 2, 2, 2, 9971, 9969, 3, 2, 2, 2, 9972, 9973, 7, 829, 2, 2, 9973, 857, 3, 2, 2, 2, 9974, 9975, 7, 377, 2, 2, 9975, 9976, 7, 828, 2, 2, 9976, 9983, 5, 860, 431, 2, 9977, 9979, 7, 830, 2, 2, 9978, 9977, 3, 2, 2, 2, 9978, 9979, 3, 2, 2, 2, 9979, 9980, 3, 2, 2, 2, 9980, 9982, 5, 860, 431, 2, 9981, 9978, 3, 2, 2, 2, 9982, 9985, 3, 2, 2, 2, 9983, 9981, 3, 2, 2, 2, 9983, 9984, 3, 2, 2, 2, 9984, 9986, 3, 2, 2, 2, 9985, 9983, 3, 2, 2, 2, 9986, 9987, 7, 829, 2, 2, 9987, 859, 3, 2, 2, 2, 9988, 9990, 7, 616, 2, 2, 9989, 9988, 3, 2, 2, 2, 9989, 9990, 3, 2, 2, 2, 9990, 10039, 3, 2, 2, 2, 9991, 10011, 7, 158, 2, 2, 9992, 9993, 7, 828, 2, 2, 9993, 9998, 5, 862, 432, 2, 9994, 9995, 7, 830, 2, 2, 9995, 9997, 5, 862, 432, 2, 9996, 9994, 3, 2, 2, 2, 9997, 10000, 3, 2, 2, 2, 9998, 9996, 3, 2, 2, 2, 9998, 9999, 3, 2, 2, 2, 9999, 10001, 3, 2, 2, 2, 10000, 9998, 3, 2, 2, 2, 10001, 10002, 7, 829, 2, 2, 10002, 10012, 3, 2, 2, 2, 10003, 10008, 5, 862, 432, 2, 10004, 10005, 7, 830, 2, 2, 10005, 10007, 5, 862, 432, 2, 10006, 10004, 3, 2, 2, 2, 10007, 10010, 3, 2, 2, 2, 10008, 10006, 3, 2, 2, 2, 10008, 10009, 3, 2, 2, 2, 10009, 10012, 3, 2, 2, 2, 10010, 10008, 3, 2, 2, 2, 10011, 9992, 3, 2, 2, 2, 10011, 10003, 3, 2, 2, 2, 10012, 10040, 3, 2, 2, 2, 10013, 10014, 7, 158, 2, 2, 10014, 10015, 7, 810, 2, 2, 10015, 10040, 5, 862, 432, 2, 10016, 10031, 7, 134, 2, 2, 10017, 10018, 7, 828, 2, 2, 10018, 10019, 5, 862, 432, 2, 10019, 10020, 7, 828, 2, 2, 10020, 10025, 7, 803, 2, 2, 10021, 10022, 7, 830, 2, 2, 10022, 10024, 7, 803, 2, 2, 10023, 10021, 3, 2, 2, 2, 10024, 10027, 3, 2, 2, 2, 10025, 10023, 3, 2, 2, 2, 10025, 10026, 3, 2, 2, 2, 10026, 10028, 3, 2, 2, 2, 10027, 10025, 3, 2, 2, 2, 10028, 10029, 7, 829, 2, 2, 10029, 10030, 7, 829, 2, 2, 10030, 10032, 3, 2, 2, 2, 10031, 10017, 3, 2, 2, 2, 10031, 10032, 3, 2, 2, 2, 10032, 10040, 3, 2, 2, 2, 10033, 10040, 7, 720, 2, 2, 10034, 10040, 7, 730, 2, 2, 10035, 10036, 7, 731, 2, 2, 10036, 10037, 7, 810, 2, 2, 10037, 10040, 7, 802, 2, 2, 10038, 10040, 7, 803, 2, 2, 10039, 9991, 3, 2, 2, 2, 10039, 10013, 3, 2, 2, 2, 10039, 10016, 3, 2, 2, 2, 10039, 10033, 3, 2, 2, 2, 10039, 10034, 3, 2, 2, 2, 10039, 10035, 3, 2, 2, 2, 10039, 10038, 3, 2, 2, 2, 10040, 861, 3, 2, 2, 2, 10041, 10044, 5, 966, 484, 2, 10042, 10044, 7, 802, 2, 2, 10043, 10041, 3, 2, 2, 2, 10043, 10042, 3, 2, 2, 2, 10044, 863, 3, 2, 2, 2, 10045, 10046, 7, 828, 2, 2, 10046, 10051, 5, 866, 434, 2, 10047, 10048, 7, 830, 2, 2, 10048, 10050, 5, 866, 434, 2, 10049, 10047, 3, 2, 2, 2, 10050, 10053, 3, 2, 2, 2, 10051, 10049, 3, 2, 2, 2, 10051, 10052, 3, 2, 2, 2, 10052, 10054, 3, 2, 2, 2, 10053, 10051, 3, 2, 2, 2, 10054, 10055, 7, 829, 2, 2, 10055, 865, 3, 2, 2, 2, 10056, 10059, 5, 966, 484, 2, 10057, 10059, 7, 806, 2, 2, 10058, 10056, 3, 2, 2, 2, 10058, 10057, 3, 2, 2, 2, 10059, 867, 3, 2, 2, 2, 10060, 10061, 7, 367, 2, 2, 10061, 10062, 7, 828, 2, 2, 10062, 10063, 5, 870, 436, 2, 10063, 10071, 7, 829, 2, 2, 10064, 10065, 7, 830, 2, 2, 10065, 10066, 7, 828, 2, 2, 10066, 10067, 5, 870, 436, 2, 10067, 10068, 7, 829, 2, 2, 10068, 10070, 3, 2, 2, 2, 10069, 10064, 3, 2, 2, 2, 10070, 10073, 3, 2, 2, 2, 10071, 10069, 3, 2, 2, 2, 10071, 10072, 3, 2, 2, 2, 10072, 869, 3, 2, 2, 2, 10073, 10071, 3, 2, 2, 2, 10074, 10079, 5, 728, 365, 2, 10075, 10076, 7, 830, 2, 2, 10076, 10078, 5, 728, 365, 2, 10077, 10075, 3, 2, 2, 2, 10078, 10081, 3, 2, 2, 2, 10079, 10077, 3, 2, 2, 2, 10079, 10080, 3, 2, 2, 2, 10080, 871, 3, 2, 2, 2, 10081, 10079, 3, 2, 2, 2, 10082, 10083, 9, 125, 2, 2, 10083, 10084, 7, 828, 2, 2, 10084, 10085, 7, 829, 2, 2, 10085, 10093, 5, 880, 441, 2, 10086, 10087, 7, 621, 2, 2, 10087, 10088, 7, 828, 2, 2, 10088, 10089, 5, 728, 365, 2, 10089, 10090, 7, 829, 2, 2, 10090, 10091, 5, 880, 441, 2, 10091, 10093, 3, 2, 2, 2, 10092, 10082, 3, 2, 2, 2, 10092, 10086, 3, 2, 2, 2, 10093, 873, 3, 2, 2, 2, 10094, 10095, 9, 126, 2, 2, 10095, 10096, 7, 828, 2, 2, 10096, 10097, 5, 878, 440, 2, 10097, 10099, 7, 829, 2, 2, 10098, 10100, 5, 880, 441, 2, 10099, 10098, 3, 2, 2, 2, 10099, 10100, 3, 2, 2, 2, 10100, 10127, 3, 2, 2, 2, 10101, 10102, 9, 127, 2, 2, 10102, 10105, 7, 828, 2, 2, 10103, 10106, 7, 833, 2, 2, 10104, 10106, 5, 878, 440, 2, 10105, 10103, 3, 2, 2, 2, 10105, 10104, 3, 2, 2, 2, 10106, 10107, 3, 2, 2, 2, 10107, 10109, 7, 829, 2, 2, 10108, 10110, 5, 880, 441, 2, 10109, 10108, 3, 2, 2, 2, 10109, 10110, 3, 2, 2, 2, 10110, 10127, 3, 2, 2, 2, 10111, 10112, 7, 435, 2, 2, 10112, 10113, 7, 828, 2, 2, 10113, 10114, 5, 878, 440, 2, 10114, 10115, 7, 829, 2, 2, 10115, 10127, 3, 2, 2, 2, 10116, 10117, 7, 528, 2, 2, 10117, 10118, 7, 828, 2, 2, 10118, 10119, 5, 728, 365, 2, 10119, 10120, 7, 829, 2, 2, 10120, 10127, 3, 2, 2, 2, 10121, 10122, 7, 529, 2, 2, 10122, 10123, 7, 828, 2, 2, 10123, 10124, 5, 870, 436, 2, 10124, 10125, 7, 829, 2, 2, 10125, 10127, 3, 2, 2, 2, 10126, 10094, 3, 2, 2, 2, 10126, 10101, 3, 2, 2, 2, 10126, 10111, 3, 2, 2, 2, 10126, 10116, 3, 2, 2, 2, 10126, 10121, 3, 2, 2, 2, 10127, 875, 3, 2, 2, 2, 10128, 10129, 9, 128, 2, 2, 10129, 10130, 7, 828, 2, 2, 10130, 10131, 5, 728, 365, 2, 10131, 10132, 7, 829, 2, 2, 10132, 10133, 5, 880, 441, 2, 10133, 10149, 3, 2, 2, 2, 10134, 10135, 9, 129, 2, 2, 10135, 10136, 7, 828, 2, 2, 10136, 10143, 5, 728, 365, 2, 10137, 10138, 7, 830, 2, 2, 10138, 10141, 5, 728, 365, 2, 10139, 10140, 7, 830, 2, 2, 10140, 10142, 5, 728, 365, 2, 10141, 10139, 3, 2, 2, 2, 10141, 10142, 3, 2, 2, 2, 10142, 10144, 3, 2, 2, 2, 10143, 10137, 3, 2, 2, 2, 10143, 10144, 3, 2, 2, 2, 10144, 10145, 3, 2, 2, 2, 10145, 10146, 7, 829, 2, 2, 10146, 10147, 5, 880, 441, 2, 10147, 10149, 3, 2, 2, 2, 10148, 10128, 3, 2, 2, 2, 10148, 10134, 3, 2, 2, 2, 10149, 877, 3, 2, 2, 2, 10150, 10152, 9, 111, 2, 2, 10151, 10150, 3, 2, 2, 2, 10151, 10152, 3, 2, 2, 2, 10152, 10153, 3, 2, 2, 2, 10153, 10154, 5, 728, 365, 2, 10154, 879, 3, 2, 2, 2, 10155, 10156, 7, 240, 2, 2, 10156, 10160, 7, 828, 2, 2, 10157, 10158, 7, 640, 2, 2, 10158, 10159, 7, 38, 2, 2, 10159, 10161, 5, 870, 436, 2, 10160, 10157, 3, 2, 2, 2, 10160, 10161, 3, 2, 2, 2, 10161, 10163, 3, 2, 2, 2, 10162, 10164, 5, 770, 386, 2, 10163, 10162, 3, 2, 2, 2, 10163, 10164, 3, 2, 2, 2, 10164, 10166, 3, 2, 2, 2, 10165, 10167, 5, 882, 442, 2, 10166, 10165, 3, 2, 2, 2, 10166, 10167, 3, 2, 2, 2, 10167, 10168, 3, 2, 2, 2, 10168, 10169, 7, 829, 2, 2, 10169, 881, 3, 2, 2, 2, 10170, 10171, 9, 130, 2, 2, 10171, 10172, 5, 884, 443, 2, 10172, 883, 3, 2, 2, 2, 10173, 10180, 5, 888, 445, 2, 10174, 10175, 7, 29, 2, 2, 10175, 10176, 5, 886, 444, 2, 10176, 10177, 7, 11, 2, 2, 10177, 10178, 5, 886, 444, 2, 10178, 10180, 3, 2, 2, 2, 10179, 10173, 3, 2, 2, 2, 10179, 10174, 3, 2, 2, 2, 10180, 885, 3, 2, 2, 2, 10181, 10184, 5, 888, 445, 2, 10182, 10184, 5, 890, 446, 2, 10183, 10181, 3, 2, 2, 2, 10183, 10182, 3, 2, 2, 2, 10184, 887, 3, 2, 2, 2, 10185, 10186, 7, 771, 2, 2, 10186, 10192, 7, 647, 2, 2, 10187, 10188, 7, 802, 2, 2, 10188, 10192, 7, 647, 2, 2, 10189, 10190, 7, 75, 2, 2, 10190, 10192, 7, 697, 2, 2, 10191, 10185, 3, 2, 2, 2, 10191, 10187, 3, 2, 2, 2, 10191, 10189, 3, 2, 2, 2, 10192, 889, 3, 2, 2, 2, 10193, 10194, 7, 771, 2, 2, 10194, 10198, 7, 514, 2, 2, 10195, 10196, 7, 802, 2, 2, 10196, 10198, 7, 514, 2, 2, 10197, 10193, 3, 2, 2, 2, 10197, 10195, 3, 2, 2, 2, 10198, 891, 3, 2, 2, 2, 10199, 10200, 7, 510, 2, 2, 10200, 10205, 5, 894, 448, 2, 10201, 10202, 7, 830, 2, 2, 10202, 10204, 5, 894, 448, 2, 10203, 10201, 3, 2, 2, 2, 10204, 10207, 3, 2, 2, 2, 10205, 10203, 3, 2, 2, 2, 10205, 10206, 3, 2, 2, 2, 10206, 10234, 3, 2, 2, 2, 10207, 10205, 3, 2, 2, 2, 10208, 10209, 7, 468, 2, 2, 10209, 10212, 7, 810, 2, 2, 10210, 10213, 5, 966, 484, 2, 10211, 10213, 7, 806, 2, 2, 10212, 10210, 3, 2, 2, 2, 10212, 10211, 3, 2, 2, 2, 10213, 10234, 3, 2, 2, 2, 10214, 10215, 7, 467, 2, 2, 10215, 10218, 7, 810, 2, 2, 10216, 10219, 5, 966, 484, 2, 10217, 10219, 7, 806, 2, 2, 10218, 10216, 3, 2, 2, 2, 10218, 10217, 3, 2, 2, 2, 10219, 10234, 3, 2, 2, 2, 10220, 10221, 7, 606, 2, 2, 10221, 10222, 7, 810, 2, 2, 10222, 10234, 9, 9, 2, 2, 10223, 10224, 7, 762, 2, 2, 10224, 10225, 7, 810, 2, 2, 10225, 10234, 9, 9, 2, 2, 10226, 10227, 7, 768, 2, 2, 10227, 10228, 7, 810, 2, 2, 10228, 10234, 7, 802, 2, 2, 10229, 10230, 7, 463, 2, 2, 10230, 10234, 9, 9, 2, 2, 10231, 10232, 7, 765, 2, 2, 10232, 10234, 9, 9, 2, 2, 10233, 10199, 3, 2, 2, 2, 10233, 10208, 3, 2, 2, 2, 10233, 10214, 3, 2, 2, 2, 10233, 10220, 3, 2, 2, 2, 10233, 10223, 3, 2, 2, 2, 10233, 10226, 3, 2, 2, 2, 10233, 10229, 3, 2, 2, 2, 10233, 10231, 3, 2, 2, 2, 10234, 893, 3, 2, 2, 2, 10235, 10242, 7, 828, 2, 2, 10236, 10237, 7, 617, 2, 2, 10237, 10238, 7, 810, 2, 2, 10238, 10243, 9, 131, 2, 2, 10239, 10240, 7, 479, 2, 2, 10240, 10241, 7, 810, 2, 2, 10241, 10243, 7, 806, 2, 2, 10242, 10236, 3, 2, 2, 2, 10242, 10239, 3, 2, 2, 2, 10243, 10244, 3, 2, 2, 2, 10244, 10245, 7, 829, 2, 2, 10245, 895, 3, 2, 2, 2, 10246, 10249, 5, 898, 450, 2, 10247, 10249, 5, 900, 451, 2, 10248, 10246, 3, 2, 2, 2, 10248, 10247, 3, 2, 2, 2, 10249, 897, 3, 2, 2, 2, 10250, 10251, 7, 507, 2, 2, 10251, 10254, 5, 966, 484, 2, 10252, 10253, 7, 63, 2, 2, 10253, 10255, 7, 510, 2, 2, 10254, 10252, 3, 2, 2, 2, 10254, 10255, 3, 2, 2, 2, 10255, 10257, 3, 2, 2, 2, 10256, 10258, 7, 89, 2, 2, 10257, 10256, 3, 2, 2, 2, 10257, 10258, 3, 2, 2, 2, 10258, 10261, 3, 2, 2, 2, 10259, 10260, 7, 63, 2, 2, 10260, 10262, 7, 591, 2, 2, 10261, 10259, 3, 2, 2, 2, 10261, 10262, 3, 2, 2, 2, 10262, 10263, 3, 2, 2, 2, 10263, 10268, 5, 900, 451, 2, 10264, 10265, 7, 830, 2, 2, 10265, 10267, 5, 900, 451, 2, 10266, 10264, 3, 2, 2, 2, 10267, 10270, 3, 2, 2, 2, 10268, 10266, 3, 2, 2, 2, 10268, 10269, 3, 2, 2, 2, 10269, 899, 3, 2, 2, 2, 10270, 10268, 3, 2, 2, 2, 10271, 10272, 7, 828, 2, 2, 10272, 10273, 7, 605, 2, 2, 10273, 10276, 7, 810, 2, 2, 10274, 10277, 5, 966, 484, 2, 10275, 10277, 7, 806, 2, 2, 10276, 10274, 3, 2, 2, 2, 10276, 10275, 3, 2, 2, 2, 10277, 10279, 3, 2, 2, 2, 10278, 10280, 7, 830, 2, 2, 10279, 10278, 3, 2, 2, 2, 10279, 10280, 3, 2, 2, 2, 10280, 10281, 3, 2, 2, 2, 10281, 10282, 7, 130, 2, 2, 10282, 10283, 7, 810, 2, 2, 10283, 10285, 7, 806, 2, 2, 10284, 10286, 7, 830, 2, 2, 10285, 10284, 3, 2, 2, 2, 10285, 10286, 3, 2, 2, 2, 10286, 10293, 3, 2, 2, 2, 10287, 10288, 7, 728, 2, 2, 10288, 10289, 7, 810, 2, 2, 10289, 10291, 5, 974, 488, 2, 10290, 10292, 7, 830, 2, 2, 10291, 10290, 3, 2, 2, 2, 10291, 10292, 3, 2, 2, 2, 10292, 10294, 3, 2, 2, 2, 10293, 10287, 3, 2, 2, 2, 10293, 10294, 3, 2, 2, 2, 10294, 10304, 3, 2, 2, 2, 10295, 10296, 7, 588, 2, 2, 10296, 10299, 7, 810, 2, 2, 10297, 10300, 5, 974, 488, 2, 10298, 10300, 7, 774, 2, 2, 10299, 10297, 3, 2, 2, 2, 10299, 10298, 3, 2, 2, 2, 10300, 10302, 3, 2, 2, 2, 10301, 10303, 7, 830, 2, 2, 10302, 10301, 3, 2, 2, 2, 10302, 10303, 3, 2, 2, 2, 10303, 10305, 3, 2, 2, 2, 10304, 10295, 3, 2, 2, 2, 10304, 10305, 3, 2, 2, 2, 10305, 10312, 3, 2, 2, 2, 10306, 10307, 7, 508, 2, 2, 10307, 10308, 7, 810, 2, 2, 10308, 10310, 5, 974, 488, 2, 10309, 10311, 7, 830, 2, 2, 10310, 10309, 3, 2, 2, 2, 10310, 10311, 3, 2, 2, 2, 10311, 10313, 3, 2, 2, 2, 10312, 10306, 3, 2, 2, 2, 10312, 10313, 3, 2, 2, 2, 10313, 10314, 3, 2, 2, 2, 10314, 10315, 7, 829, 2, 2, 10315, 901, 3, 2, 2, 2, 10316, 10317, 5, 966, 484, 2, 10317, 10318, 7, 823, 2, 2, 10318, 10319, 5, 966, 484, 2, 10319, 10320, 7, 823, 2, 2, 10320, 10321, 5, 966, 484, 2, 10321, 10322, 7, 823, 2, 2, 10322, 10334, 3, 2, 2, 2, 10323, 10324, 5, 966, 484, 2, 10324, 10326, 7, 823, 2, 2, 10325, 10327, 5, 966, 484, 2, 10326, 10325, 3, 2, 2, 2, 10326, 10327, 3, 2, 2, 2, 10327, 10328, 3, 2, 2, 2, 10328, 10329, 7, 823, 2, 2, 10329, 10334, 3, 2, 2, 2, 10330, 10331, 5, 966, 484, 2, 10331, 10332, 7, 823, 2, 2, 10332, 10334, 3, 2, 2, 2, 10333, 10316, 3, 2, 2, 2, 10333, 10323, 3, 2, 2, 2, 10333, 10330, 3, 2, 2, 2, 10333, 10334, 3, 2, 2, 2, 10334, 10335, 3, 2, 2, 2, 10335, 10336, 5, 966, 484, 2, 10336, 903, 3, 2, 2, 2, 10337, 10343, 5, 966, 484, 2, 10338, 10339, 5, 966, 484, 2, 10339, 10340, 7, 823, 2, 2, 10340, 10341, 5, 966, 484, 2, 10341, 10343, 3, 2, 2, 2, 10342, 10337, 3, 2, 2, 2, 10342, 10338, 3, 2, 2, 2, 10343, 905, 3, 2, 2, 2, 10344, 10350, 5, 966, 484, 2, 10345, 10346, 5, 966, 484, 2, 10346, 10347, 7, 823, 2, 2, 10347, 10348, 5, 966, 484, 2, 10348, 10350, 3, 2, 2, 2, 10349, 10344, 3, 2, 2, 2, 10349, 10345, 3, 2, 2, 2, 10350, 907, 3, 2, 2, 2, 10351, 10352, 5, 966, 484, 2, 10352, 10353, 7, 823, 2, 2, 10353, 10354, 5, 966, 484, 2, 10354, 10355, 7, 823, 2, 2, 10355, 10356, 5, 966, 484, 2, 10356, 10357, 7, 823, 2, 2, 10357, 10369, 3, 2, 2, 2, 10358, 10359, 5, 966, 484, 2, 10359, 10361, 7, 823, 2, 2, 10360, 10362, 5, 966, 484, 2, 10361, 10360, 3, 2, 2, 2, 10361, 10362, 3, 2, 2, 2, 10362, 10363, 3, 2, 2, 2, 10363, 10364, 7, 823, 2, 2, 10364, 10369, 3, 2, 2, 2, 10365, 10366, 5, 966, 484, 2, 10366, 10367, 7, 823, 2, 2, 10367, 10369, 3, 2, 2, 2, 10368, 10351, 3, 2, 2, 2, 10368, 10358, 3, 2, 2, 2, 10368, 10365, 3, 2, 2, 2, 10368, 10369, 3, 2, 2, 2, 10369, 10370, 3, 2, 2, 2, 10370, 10371, 5, 966, 484, 2, 10371, 909, 3, 2, 2, 2, 10372, 10373, 5, 966, 484, 2, 10373, 10375, 7, 823, 2, 2, 10374, 10376, 5, 966, 484, 2, 10375, 10374, 3, 2, 2, 2, 10375, 10376, 3, 2, 2, 2, 10376, 10377, 3, 2, 2, 2, 10377, 10378, 7, 823, 2, 2, 10378, 10383, 3, 2, 2, 2, 10379, 10380, 5, 966, 484, 2, 10380, 10381, 7, 823, 2, 2, 10381, 10383, 3, 2, 2, 2, 10382, 10372, 3, 2, 2, 2, 10382, 10379, 3, 2, 2, 2, 10382, 10383, 3, 2, 2, 2, 10383, 10384, 3, 2, 2, 2, 10384, 10399, 5, 966, 484, 2, 10385, 10386, 5, 966, 484, 2, 10386, 10388, 7, 823, 2, 2, 10387, 10389, 5, 966, 484, 2, 10388, 10387, 3, 2, 2, 2, 10388, 10389, 3, 2, 2, 2, 10389, 10390, 3, 2, 2, 2, 10390, 10391, 7, 823, 2, 2, 10391, 10396, 3, 2, 2, 2, 10392, 10393, 5, 966, 484, 2, 10393, 10394, 7, 823, 2, 2, 10394, 10396, 3, 2, 2, 2, 10395, 10385, 3, 2, 2, 2, 10395, 10392, 3, 2, 2, 2, 10395, 10396, 3, 2, 2, 2, 10396, 10397, 3, 2, 2, 2, 10397, 10399, 7, 32, 2, 2, 10398, 10382, 3, 2, 2, 2, 10398, 10395, 3, 2, 2, 2, 10399, 911, 3, 2, 2, 2, 10400, 10401, 5, 966, 484, 2, 10401, 10402, 7, 823, 2, 2, 10402, 10404, 3, 2, 2, 2, 10403, 10400, 3, 2, 2, 2, 10403, 10404, 3, 2, 2, 2, 10404, 10405, 3, 2, 2, 2, 10405, 10406, 5, 966, 484, 2, 10406, 913, 3, 2, 2, 2, 10407, 10408, 5, 966, 484, 2, 10408, 10409, 7, 823, 2, 2, 10409, 10411, 3, 2, 2, 2, 10410, 10407, 3, 2, 2, 2, 10410, 10411, 3, 2, 2, 2, 10411, 10412, 3, 2, 2, 2, 10412, 10413, 5, 966, 484, 2, 10413, 915, 3, 2, 2, 2, 10414, 10426, 5, 914, 458, 2, 10415, 10416, 5, 966, 484, 2, 10416, 10418, 7, 823, 2, 2, 10417, 10419, 5, 966, 484, 2, 10418, 10417, 3, 2, 2, 2, 10418, 10419, 3, 2, 2, 2, 10419, 10420, 3, 2, 2, 2, 10420, 10421, 7, 823, 2, 2, 10421, 10423, 3, 2, 2, 2, 10422, 10415, 3, 2, 2, 2, 10422, 10423, 3, 2, 2, 2, 10423, 10424, 3, 2, 2, 2, 10424, 10426, 5, 966, 484, 2, 10425, 10414, 3, 2, 2, 2, 10425, 10422, 3, 2, 2, 2, 10426, 917, 3, 2, 2, 2, 10427, 10441, 5, 916, 459, 2, 10428, 10429, 5, 966, 484, 2, 10429, 10430, 7, 823, 2, 2, 10430, 10431, 5, 966, 484, 2, 10431, 10433, 7, 823, 2, 2, 10432, 10434, 5, 966, 484, 2, 10433, 10432, 3, 2, 2, 2, 10433, 10434, 3, 2, 2, 2, 10434, 10435, 3, 2, 2, 2, 10435, 10436, 7, 823, 2, 2, 10436, 10438, 3, 2, 2, 2, 10437, 10428, 3, 2, 2, 2, 10437, 10438, 3, 2, 2, 2, 10438, 10439, 3, 2, 2, 2, 10439, 10441, 5, 966, 484, 2, 10440, 10427, 3, 2, 2, 2, 10440, 10437, 3, 2, 2, 2, 10441, 919, 3, 2, 2, 2, 10442, 10445, 5, 908, 455, 2, 10443, 10445, 7, 801, 2, 2, 10444, 10442, 3, 2, 2, 2, 10444, 10443, 3, 2, 2, 2, 10445, 921, 3, 2, 2, 2, 10446, 10447, 5, 910, 456, 2, 10447, 10448, 7, 823, 2, 2, 10448, 10450, 3, 2, 2, 2, 10449, 10446, 3, 2, 2, 2, 10449, 10450, 3, 2, 2, 2, 10450, 10451, 3, 2, 2, 2, 10451, 10495, 5, 966, 484, 2, 10452, 10453, 5, 910, 456, 2, 10453, 10454, 7, 823, 2, 2, 10454, 10456, 3, 2, 2, 2, 10455, 10452, 3, 2, 2, 2, 10455, 10456, 3, 2, 2, 2, 10456, 10457, 3, 2, 2, 2, 10457, 10495, 7, 440, 2, 2, 10458, 10459, 5, 910, 456, 2, 10459, 10460, 7, 823, 2, 2, 10460, 10462, 3, 2, 2, 2, 10461, 10458, 3, 2, 2, 2, 10461, 10462, 3, 2, 2, 2, 10462, 10463, 3, 2, 2, 2, 10463, 10495, 7, 736, 2, 2, 10464, 10465, 5, 910, 456, 2, 10465, 10466, 7, 823, 2, 2, 10466, 10468, 3, 2, 2, 2, 10467, 10464, 3, 2, 2, 2, 10467, 10468, 3, 2, 2, 2, 10468, 10469, 3, 2, 2, 2, 10469, 10495, 7, 662, 2, 2, 10470, 10471, 5, 910, 456, 2, 10471, 10472, 7, 823, 2, 2, 10472, 10474, 3, 2, 2, 2, 10473, 10470, 3, 2, 2, 2, 10473, 10474, 3, 2, 2, 2, 10474, 10475, 3, 2, 2, 2, 10475, 10495, 7, 404, 2, 2, 10476, 10477, 5, 910, 456, 2, 10477, 10478, 7, 823, 2, 2, 10478, 10480, 3, 2, 2, 2, 10479, 10476, 3, 2, 2, 2, 10479, 10480, 3, 2, 2, 2, 10480, 10481, 3, 2, 2, 2, 10481, 10495, 7, 401, 2, 2, 10482, 10483, 5, 910, 456, 2, 10483, 10484, 7, 823, 2, 2, 10484, 10486, 3, 2, 2, 2, 10485, 10482, 3, 2, 2, 2, 10485, 10486, 3, 2, 2, 2, 10486, 10487, 3, 2, 2, 2, 10487, 10495, 7, 400, 2, 2, 10488, 10489, 5, 910, 456, 2, 10489, 10490, 7, 823, 2, 2, 10490, 10492, 3, 2, 2, 2, 10491, 10488, 3, 2, 2, 2, 10491, 10492, 3, 2, 2, 2, 10492, 10493, 3, 2, 2, 2, 10493, 10495, 7, 399, 2, 2, 10494, 10449, 3, 2, 2, 2, 10494, 10455, 3, 2, 2, 2, 10494, 10461, 3, 2, 2, 2, 10494, 10467, 3, 2, 2, 2, 10494, 10473, 3, 2, 2, 2, 10494, 10479, 3, 2, 2, 2, 10494, 10485, 3, 2, 2, 2, 10494, 10491, 3, 2, 2, 2, 10495, 923, 3, 2, 2, 2, 10496, 10498, 5, 966, 484, 2, 10497, 10499, 9, 117, 2, 2, 10498, 10497, 3, 2, 2, 2, 10498, 10499, 3, 2, 2, 2, 10499, 10507, 3, 2, 2, 2, 10500, 10501, 7, 830, 2, 2, 10501, 10503, 5, 966, 484, 2, 10502, 10504, 9, 117, 2, 2, 10503, 10502, 3, 2, 2, 2, 10503, 10504, 3, 2, 2, 2, 10504, 10506, 3, 2, 2, 2, 10505, 10500, 3, 2, 2, 2, 10506, 10509, 3, 2, 2, 2, 10507, 10505, 3, 2, 2, 2, 10507, 10508, 3, 2, 2, 2, 10508, 925, 3, 2, 2, 2, 10509, 10507, 3, 2, 2, 2, 10510, 10515, 5, 966, 484, 2, 10511, 10512, 7, 830, 2, 2, 10512, 10514, 5, 966, 484, 2, 10513, 10511, 3, 2, 2, 2, 10514, 10517, 3, 2, 2, 2, 10515, 10513, 3, 2, 2, 2, 10515, 10516, 3, 2, 2, 2, 10516, 927, 3, 2, 2, 2, 10517, 10515, 3, 2, 2, 2, 10518, 10521, 5, 966, 484, 2, 10519, 10521, 7, 801, 2, 2, 10520, 10518, 3, 2, 2, 2, 10520, 10519, 3, 2, 2, 2, 10521, 929, 3, 2, 2, 2, 10522, 10523, 9, 9, 2, 2, 10523, 931, 3, 2, 2, 2, 10524, 10525, 9, 132, 2, 2, 10525, 933, 3, 2, 2, 2, 10526, 10528, 7, 220, 2, 2, 10527, 10526, 3, 2, 2, 2, 10527, 10528, 3, 2, 2, 2, 10528, 10529, 3, 2, 2, 2, 10529, 10530, 7, 223, 2, 2, 10530, 935, 3, 2, 2, 2, 10531, 10539, 5, 934, 468, 2, 10532, 10533, 7, 89, 2, 2, 10533, 10536, 5, 738, 370, 2, 10534, 10535, 7, 377, 2, 2, 10535, 10537, 7, 367, 2, 2, 10536, 10534, 3, 2, 2, 2, 10536, 10537, 3, 2, 2, 2, 10537, 10539, 3, 2, 2, 2, 10538, 10531, 3, 2, 2, 2, 10538, 10532, 3, 2, 2, 2, 10539, 937, 3, 2, 2, 2, 10540, 10546, 5, 918, 460, 2, 10541, 10546, 7, 287, 2, 2, 10542, 10546, 7, 177, 2, 2, 10543, 10546, 7, 421, 2, 2, 10544, 10546, 7, 434, 2, 2, 10545, 10540, 3, 2, 2, 2, 10545, 10541, 3, 2, 2, 2, 10545, 10542, 3, 2, 2, 2, 10545, 10543, 3, 2, 2, 2, 10545, 10544, 3, 2, 2, 2, 10546, 939, 3, 2, 2, 2, 10547, 10548, 7, 28, 2, 2, 10548, 10549, 7, 70, 2, 2, 10549, 10550, 7, 759, 2, 2, 10550, 10551, 7, 828, 2, 2, 10551, 10552, 7, 801, 2, 2, 10552, 10553, 7, 829, 2, 2, 10553, 10554, 7, 758, 2, 2, 10554, 10555, 7, 810, 2, 2, 10555, 10557, 5, 448, 225, 2, 10556, 10558, 7, 831, 2, 2, 10557, 10556, 3, 2, 2, 2, 10557, 10558, 3, 2, 2, 2, 10558, 941, 3, 2, 2, 2, 10559, 10560, 7, 28, 2, 2, 10560, 10562, 7, 478, 2, 2, 10561, 10563, 7, 70, 2, 2, 10562, 10561, 3, 2, 2, 2, 10562, 10563, 3, 2, 2, 2, 10563, 10564, 3, 2, 2, 2, 10564, 10565, 7, 801, 2, 2, 10565, 10566, 7, 139, 2, 2, 10566, 10567, 7, 310, 2, 2, 10567, 10568, 5, 946, 474, 2, 10568, 10569, 7, 346, 2, 2, 10569, 10570, 7, 310, 2, 2, 10570, 10573, 5, 946, 474, 2, 10571, 10572, 7, 830, 2, 2, 10572, 10574, 7, 806, 2, 2, 10573, 10571, 3, 2, 2, 2, 10573, 10574, 3, 2, 2, 2, 10574, 10575, 3, 2, 2, 2, 10575, 10576, 7, 229, 2, 2, 10576, 10577, 7, 68, 2, 2, 10577, 10600, 5, 944, 473, 2, 10578, 10585, 7, 377, 2, 2, 10579, 10580, 9, 133, 2, 2, 10580, 10581, 7, 810, 2, 2, 10581, 10583, 7, 801, 2, 2, 10582, 10584, 7, 830, 2, 2, 10583, 10582, 3, 2, 2, 2, 10583, 10584, 3, 2, 2, 2, 10584, 10586, 3, 2, 2, 2, 10585, 10579, 3, 2, 2, 2, 10585, 10586, 3, 2, 2, 2, 10586, 10593, 3, 2, 2, 2, 10587, 10588, 7, 179, 2, 2, 10588, 10589, 7, 810, 2, 2, 10589, 10591, 9, 2, 2, 2, 10590, 10592, 7, 830, 2, 2, 10591, 10590, 3, 2, 2, 2, 10591, 10592, 3, 2, 2, 2, 10592, 10594, 3, 2, 2, 2, 10593, 10587, 3, 2, 2, 2, 10593, 10594, 3, 2, 2, 2, 10594, 10598, 3, 2, 2, 2, 10595, 10596, 7, 492, 2, 2, 10596, 10597, 7, 810, 2, 2, 10597, 10599, 9, 9, 2, 2, 10598, 10595, 3, 2, 2, 2, 10598, 10599, 3, 2, 2, 2, 10599, 10601, 3, 2, 2, 2, 10600, 10578, 3, 2, 2, 2, 10600, 10601, 3, 2, 2, 2, 10601, 10603, 3, 2, 2, 2, 10602, 10604, 7, 831, 2, 2, 10603, 10602, 3, 2, 2, 2, 10603, 10604, 3, 2, 2, 2, 10604, 943, 3, 2, 2, 2, 10605, 10608, 5, 966, 484, 2, 10606, 10608, 5, 728, 365, 2, 10607, 10605, 3, 2, 2, 2, 10607, 10606, 3, 2, 2, 2, 10608, 945, 3, 2, 2, 2, 10609, 10612, 5, 966, 484, 2, 10610, 10612, 5, 728, 365, 2, 10611, 10609, 3, 2, 2, 2, 10611, 10610, 3, 2, 2, 2, 10612, 947, 3, 2, 2, 2, 10613, 10614, 7, 108, 2, 2, 10614, 10615, 7, 70, 2, 2, 10615, 10617, 7, 801, 2, 2, 10616, 10618, 7, 831, 2, 2, 10617, 10616, 3, 2, 2, 2, 10617, 10618, 3, 2, 2, 2, 10618, 10631, 3, 2, 2, 2, 10619, 10626, 7, 377, 2, 2, 10620, 10621, 7, 112, 2, 2, 10621, 10622, 7, 810, 2, 2, 10622, 10623, 9, 3, 2, 2, 10623, 10624, 7, 475, 2, 2, 10624, 10625, 7, 810, 2, 2, 10625, 10627, 9, 3, 2, 2, 10626, 10620, 3, 2, 2, 2, 10626, 10627, 3, 2, 2, 2, 10627, 10629, 3, 2, 2, 2, 10628, 10630, 7, 436, 2, 2, 10629, 10628, 3, 2, 2, 2, 10629, 10630, 3, 2, 2, 2, 10630, 10632, 3, 2, 2, 2, 10631, 10619, 3, 2, 2, 2, 10631, 10632, 3, 2, 2, 2, 10632, 949, 3, 2, 2, 2, 10633, 10635, 7, 372, 2, 2, 10634, 10633, 3, 2, 2, 2, 10634, 10635, 3, 2, 2, 2, 10635, 10636, 3, 2, 2, 2, 10636, 10637, 7, 828, 2, 2, 10637, 10638, 5, 952, 477, 2, 10638, 10644, 7, 829, 2, 2, 10639, 10641, 7, 830, 2, 2, 10640, 10639, 3, 2, 2, 2, 10640, 10641, 3, 2, 2, 2, 10641, 10642, 3, 2, 2, 2, 10642, 10643, 7, 758, 2, 2, 10643, 10645, 5, 448, 225, 2, 10644, 10640, 3, 2, 2, 2, 10644, 10645, 3, 2, 2, 2, 10645, 10647, 3, 2, 2, 2, 10646, 10648, 7, 831, 2, 2, 10647, 10646, 3, 2, 2, 2, 10647, 10648, 3, 2, 2, 2, 10648, 951, 3, 2, 2, 2, 10649, 10650, 7, 142, 2, 2, 10650, 10651, 7, 70, 2, 2, 10651, 10652, 7, 146, 2, 2, 10652, 10653, 9, 3, 2, 2, 10653, 10654, 7, 139, 2, 2, 10654, 10656, 5, 954, 478, 2, 10655, 10657, 7, 831, 2, 2, 10656, 10655, 3, 2, 2, 2, 10656, 10657, 3, 2, 2, 2, 10657, 953, 3, 2, 2, 2, 10658, 10659, 5, 966, 484, 2, 10659, 10660, 7, 823, 2, 2, 10660, 10661, 5, 966, 484, 2, 10661, 10662, 7, 823, 2, 2, 10662, 10663, 5, 966, 484, 2, 10663, 10666, 3, 2, 2, 2, 10664, 10666, 5, 966, 484, 2, 10665, 10658, 3, 2, 2, 2, 10665, 10664, 3, 2, 2, 2, 10666, 955, 3, 2, 2, 2, 10667, 10668, 7, 717, 2, 2, 10668, 10669, 7, 229, 2, 2, 10669, 10670, 7, 70, 2, 2, 10670, 10671, 9, 3, 2, 2, 10671, 10672, 7, 592, 2, 2, 10672, 10673, 7, 769, 2, 2, 10673, 10677, 5, 728, 365, 2, 10674, 10675, 7, 828, 2, 2, 10675, 10676, 9, 3, 2, 2, 10676, 10678, 7, 829, 2, 2, 10677, 10674, 3, 2, 2, 2, 10677, 10678, 3, 2, 2, 2, 10678, 10680, 3, 2, 2, 2, 10679, 10681, 7, 831, 2, 2, 10680, 10679, 3, 2, 2, 2, 10680, 10681, 3, 2, 2, 2, 10681, 957, 3, 2, 2, 2, 10682, 10684, 5, 966, 484, 2, 10683, 10685, 7, 150, 2, 2, 10684, 10683, 3, 2, 2, 2, 10684, 10685, 3, 2, 2, 2, 10685, 10693, 3, 2, 2, 2, 10686, 10687, 7, 828, 2, 2, 10687, 10690, 9, 134, 2, 2, 10688, 10689, 7, 830, 2, 2, 10689, 10691, 7, 802, 2, 2, 10690, 10688, 3, 2, 2, 2, 10690, 10691, 3, 2, 2, 2, 10691, 10692, 3, 2, 2, 2, 10692, 10694, 7, 829, 2, 2, 10693, 10686, 3, 2, 2, 2, 10693, 10694, 3, 2, 2, 2, 10694, 10704, 3, 2, 2, 2, 10695, 10697, 7, 100, 2, 2, 10696, 10698, 7, 254, 2, 2, 10697, 10696, 3, 2, 2, 2, 10697, 10698, 3, 2, 2, 2, 10698, 10704, 3, 2, 2, 2, 10699, 10704, 7, 547, 2, 2, 10700, 10704, 7, 760, 2, 2, 10701, 10704, 7, 729, 2, 2, 10702, 10704, 7, 419, 2, 2, 10703, 10682, 3, 2, 2, 2, 10703, 10695, 3, 2, 2, 2, 10703, 10699, 3, 2, 2, 2, 10703, 10700, 3, 2, 2, 2, 10703, 10701, 3, 2, 2, 2, 10703, 10702, 3, 2, 2, 2, 10704, 959, 3, 2, 2, 2, 10705, 10709, 7, 223, 2, 2, 10706, 10709, 7, 89, 2, 2, 10707, 10709, 5, 962, 482, 2, 10708, 10705, 3, 2, 2, 2, 10708, 10706, 3, 2, 2, 2, 10708, 10707, 3, 2, 2, 2, 10709, 961, 3, 2, 2, 2, 10710, 10726, 7, 806, 2, 2, 10711, 10726, 7, 807, 2, 2, 10712, 10714, 5, 964, 483, 2, 10713, 10712, 3, 2, 2, 2, 10713, 10714, 3, 2, 2, 2, 10714, 10715, 3, 2, 2, 2, 10715, 10726, 7, 802, 2, 2, 10716, 10718, 5, 964, 483, 2, 10717, 10716, 3, 2, 2, 2, 10717, 10718, 3, 2, 2, 2, 10718, 10719, 3, 2, 2, 2, 10719, 10726, 9, 112, 2, 2, 10720, 10722, 5, 964, 483, 2, 10721, 10720, 3, 2, 2, 2, 10721, 10722, 3, 2, 2, 2, 10722, 10723, 3, 2, 2, 2, 10723, 10724, 7, 827, 2, 2, 10724, 10726, 9, 135, 2, 2, 10725, 10710, 3, 2, 2, 2, 10725, 10711, 3, 2, 2, 2, 10725, 10713, 3, 2, 2, 2, 10725, 10717, 3, 2, 2, 2, 10725, 10721, 3, 2, 2, 2, 10726, 963, 3, 2, 2, 2, 10727, 10728, 9, 109, 2, 2, 10728, 965, 3, 2, 2, 2, 10729, 10733, 5, 968, 485, 2, 10730, 10733, 7, 798, 2, 2, 10731, 10733, 7, 800, 2, 2, 10732, 10729, 3, 2, 2, 2, 10732, 10730, 3, 2, 2, 2, 10732, 10731, 3, 2, 2, 2, 10733, 967, 3, 2, 2, 2, 10734, 10735, 9, 136, 2, 2, 10735, 969, 3, 2, 2, 2, 10736, 10752, 7, 810, 2, 2, 10737, 10752, 7, 811, 2, 2, 10738, 10752, 7, 812, 2, 2, 10739, 10740, 7, 812, 2, 2, 10740, 10752, 7, 810, 2, 2, 10741, 10742, 7, 811, 2, 2, 10742, 10752, 7, 810, 2, 2, 10743, 10744, 7, 812, 2, 2, 10744, 10752, 7, 811, 2, 2, 10745, 10746, 7, 813, 2, 2, 10746, 10752, 7, 810, 2, 2, 10747, 10748, 7, 813, 2, 2, 10748, 10752, 7, 811, 2, 2, 10749, 10750, 7, 813, 2, 2, 10750, 10752, 7, 812, 2, 2, 10751, 10736, 3, 2, 2, 2, 10751, 10737, 3, 2, 2, 2, 10751, 10738, 3, 2, 2, 2, 10751, 10739, 3, 2, 2, 2, 10751, 10741, 3, 2, 2, 2, 10751, 10743, 3, 2, 2, 2, 10751, 10745, 3, 2, 2, 2, 10751, 10747, 3, 2, 2, 2, 10751, 10749, 3, 2, 2, 2, 10752, 971, 3, 2, 2, 2, 10753, 10754, 9, 137, 2, 2, 10754, 973, 3, 2, 2, 2, 10755, 10757, 7, 802, 2, 2, 10756, 10758, 9, 138, 2, 2, 10757, 10756, 3, 2, 2, 2, 10757, 10758, 3, 2, 2, 2, 10758, 975, 3, 2, 2, 2, 1525, 979, 988, 992, 998, 1001, 1005, 1009, 1018, 1025, 1186, 1193, 1207, 1211, 1214, 1218, 1222, 1226, 1231, 1236, 1238, 1242, 1245, 1252, 1255, 1264, 1267, 1278, 1281, 1286, 1291, 1294, 1299, 1303, 1306, 1310, 1313, 1316, 1323, 1327, 1329, 1334, 1340, 1344, 1357, 1363, 1366, 1375, 1378, 1398, 1406, 1411, 1414, 1419, 1422, 1427, 1435, 1440, 1443, 1448, 1454, 1459, 1476, 1479, 1482, 1485, 1490, 1499, 1514, 1531, 1542, 1548, 1563, 1578, 1587, 1591, 1596, 1602, 1608, 1611, 1616, 1621, 1629, 1639, 1658, 1666, 1679, 1681, 1693, 1695, 1702, 1711, 1717, 1726, 1741, 1751, 1761, 1801, 1824, 1860, 1878, 1881, 1886, 1889, 1894, 1897, 1902, 1905, 1910, 1913, 1921, 1924, 1932, 1945, 1956, 1961, 1965, 1971, 1994, 2006, 2017, 2022, 2026, 2032, 2034, 2047, 2070, 2077, 2086, 2091, 2094, 2099, 2102, 2107, 2112, 2140, 2147, 2152, 2159, 2161, 2172, 2178, 2193, 2207, 2210, 2212, 2217, 2221, 2224, 2226, 2232, 2235, 2237, 2243, 2245, 2267, 2275, 2283, 2285, 2287, 2296, 2317, 2330, 2345, 2349, 2384, 2387, 2392, 2410, 2413, 2418, 2444, 2458, 2463, 2471, 2476, 2483, 2504, 2541, 2546, 2565, 2577, 2580, 2585, 2588, 2594, 2609, 2614, 2622, 2625, 2630, 2635, 2638, 2662, 2669, 2674, 2679, 2684, 2686, 2693, 2706, 2712, 2717, 2725, 2741, 2748, 2753, 2758, 2761, 2767, 2773, 2778, 2783, 2788, 2791, 2797, 2803, 2814, 2817, 2827, 2833, 2837, 2841, 2870, 2883, 2889, 2899, 2902, 2922, 2926, 2930, 2935, 2950, 2957, 2966, 2974, 2977, 2982, 2987, 2995, 3001, 3005, 3011, 3016, 3020, 3027, 3035, 3043, 3052, 3057, 3061, 3064, 3068, 3074, 3079, 3087, 3095, 3101, 3107, 3110, 3115, 3118, 3125, 3127, 3130, 3136, 3139, 3144, 3147, 3152, 3155, 3160, 3163, 3168, 3171, 3174, 3177, 3184, 3188, 3195, 3202, 3208, 3221, 3225, 3230, 3240, 3249, 3253, 3265, 3271, 3276, 3278, 3298, 3302, 3310, 3319, 3325, 3331, 3339, 3341, 3351, 3355, 3358, 3362, 3367, 3373, 3376, 3380, 3388, 3390, 3393, 3401, 3409, 3416, 3423, 3425, 3427, 3432, 3438, 3441, 3443, 3445, 3448, 3453, 3456, 3461, 3476, 3483, 3490, 3492, 3494, 3499, 3505, 3508, 3510, 3512, 3515, 3520, 3523, 3528, 3541, 3546, 3555, 3560, 3566, 3570, 3574, 3591, 3593, 3603, 3608, 3610, 3614, 3620, 3628, 3633, 3636, 3644, 3647, 3652, 3657, 3662, 3667, 3672, 3677, 3681, 3686, 3697, 3702, 3705, 3708, 3713, 3716, 3721, 3724, 3729, 3732, 3737, 3740, 3745, 3748, 3753, 3759, 3764, 3767, 3772, 3779, 3781, 3787, 3796, 3801, 3803, 3815, 3821, 3833, 3836, 3841, 3843, 3853, 3858, 3860, 3864, 3870, 3888, 3890, 3905, 3923, 3931, 3941, 3957, 3978, 3989, 3995, 4004, 4013, 4019, 4028, 4033, 4036, 4041, 4044, 4049, 4052, 4060, 4066, 4070, 4077, 4083, 4087, 4090, 4092, 4095, 4100, 4103, 4108, 4111, 4116, 4119, 4124, 4127, 4142, 4153, 4165, 4172, 4179, 4183, 4188, 4191, 4196, 4199, 4204, 4207, 4216, 4223, 4238, 4242, 4247, 4258, 4268, 4280, 4286, 4288, 4296, 4305, 4310, 4321, 4324, 4328, 4336, 4340, 4344, 4352, 4357, 4365, 4370, 4374, 4376, 4381, 4390, 4393, 4398, 4405, 4411, 4413, 4418, 4424, 4430, 4435, 4441, 4448, 4453, 4458, 4463, 4466, 4470, 4474, 4478, 4482, 4487, 4491, 4495, 4505, 4511, 4518, 4521, 4527, 4533, 4538, 4540, 4546, 4548, 4553, 4559, 4565, 4570, 4572, 4576, 4580, 4583, 4597, 4602, 4606, 4619, 4622, 4624, 4632, 4642, 4648, 4655, 4658, 4664, 4670, 4675, 4677, 4683, 4685, 4690, 4696, 4702, 4708, 4713, 4715, 4719, 4723, 4726, 4740, 4745, 4749, 4762, 4765, 4767, 4775, 4786, 4795, 4804, 4815, 4824, 4833, 4845, 4849, 4854, 4856, 4858, 4863, 4867, 4872, 4874, 4876, 4890, 4895, 4917, 4939, 4944, 4957, 4965, 4985, 4988, 4994, 5002, 5009, 5014, 5018, 5022, 5025, 5032, 5050, 5052, 5072, 5080, 5085, 5103, 5118, 5120, 5127, 5134, 5139, 5144, 5150, 5155, 5157, 5164, 5170, 5176, 5179, 5185, 5195, 5198, 5205, 5208, 5213, 5215, 5223, 5227, 5233, 5238, 5240, 5243, 5250, 5256, 5263, 5266, 5272, 5277, 5279, 5282, 5290, 5296, 5303, 5306, 5312, 5317, 5319, 5327, 5335, 5341, 5346, 5348, 5358, 5363, 5373, 5379, 5391, 5393, 5400, 5406, 5412, 5418, 5423, 5425, 5432, 5440, 5446, 5460, 5462, 5465, 5470, 5472, 5484, 5490, 5504, 5506, 5509, 5514, 5517, 5522, 5524, 5533, 5540, 5546, 5549, 5554, 5561, 5563, 5569, 5571, 5579, 5581, 5587, 5589, 5595, 5597, 5604, 5607, 5609, 5612, 5616, 5618, 5627, 5633, 5637, 5645, 5652, 5658, 5660, 5671, 5676, 5682, 5686, 5696, 5704, 5716, 5719, 5727, 5729, 5732, 5736, 5739, 5749, 5755, 5763, 5767, 5771, 5780, 5786, 5790, 5793, 5804, 5808, 5815, 5820, 5823, 5831, 5835, 5838, 5842, 5845, 5849, 5856, 5860, 5862, 5864, 5867, 5870, 5873, 5879, 5882, 5890, 5892, 5895, 5899, 5902, 5908, 5911, 5915, 5918, 5921, 5928, 5931, 5938, 5944, 5948, 5958, 5961, 5964, 5968, 5971, 5974, 5977, 5981, 5984, 5992, 5994, 5998, 6001, 6009, 6013, 6017, 6024, 6028, 6030, 6032, 6035, 6038, 6041, 6049, 6055, 6061, 6063, 6067, 6070, 6075, 6080, 6083, 6091, 6095, 6102, 6105, 6114, 6117, 6121, 6129, 6132, 6136, 6139, 6153, 6157, 6160, 6164, 6167, 6172, 6175, 6181, 6184, 6191, 6195, 6197, 6205, 6208, 6212, 6219, 6224, 6227, 6239, 6242, 6248, 6255, 6260, 6265, 6272, 6279, 6282, 6290, 6298, 6301, 6309, 6320, 6323, 6333, 6340, 6345, 6348, 6358, 6361, 6364, 6372, 6383, 6386, 6389, 6395, 6400, 6404, 6414, 6417, 6420, 6426, 6432, 6440, 6443, 6447, 6451, 6454, 6459, 6473, 6489, 6493, 6499, 6501, 6504, 6508, 6513, 6518, 6526, 6531, 6536, 6542, 6547, 6550, 6559, 6569, 6572, 6581, 6589, 6592, 6599, 6602, 6648, 6652, 6655, 6661, 6673, 6675, 6678, 6703, 6714, 6722, 6733, 6738, 6741, 6749, 6759, 6766, 6773, 6775, 6787, 6798, 6802, 6807, 6810, 6812, 6815, 6827, 6829, 6831, 6834, 6839, 6842, 6847, 6857, 6861, 6866, 6869, 6871, 6874, 6886, 6888, 6890, 6893, 6899, 6909, 6929, 6935, 6960, 6962, 6988, 6994, 7005, 7013, 7016, 7030, 7038, 7045, 7068, 7081, 7087, 7094, 7102, 7105, 7108, 7117, 7127, 7134, 7138, 7142, 7148, 7155, 7159, 7165, 7172, 7179, 7182, 7188, 7195, 7199, 7204, 7209, 7214, 7222, 7226, 7232, 7239, 7243, 7252, 7260, 7266, 7272, 7289, 7293, 7301, 7305, 7313, 7317, 7322, 7326, 7333, 7339, 7341, 7345, 7349, 7353, 7356, 7360, 7366, 7370, 7372, 7379, 7386, 7389, 7392, 7399, 7404, 7409, 7413, 7419, 7423, 7425, 7430, 7435, 7439, 7444, 7450, 7454, 7458, 7460, 7464, 7468, 7472, 7476, 7482, 7485, 7491, 7495, 7499, 7505, 7511, 7513, 7516, 7520, 7524, 7528, 7534, 7537, 7543, 7549, 7552, 7558, 7561, 7567, 7570, 7574, 7578, 7582, 7587, 7590, 7594, 7598, 7615, 7617, 7619, 7622, 7629, 7634, 7638, 7644, 7648, 7650, 7655, 7660, 7664, 7669, 7675, 7679, 7683, 7685, 7689, 7693, 7697, 7701, 7707, 7710, 7716, 7720, 7724, 7730, 7736, 7738, 7741, 7745, 7749, 7753, 7759, 7762, 7768, 7774, 7777, 7783, 7786, 7792, 7795, 7799, 7803, 7807, 7812, 7815, 7819, 7823, 7829, 7832, 7836, 7853, 7855, 7857, 7860, 7874, 7880, 7888, 7895, 7897, 7900, 7933, 7937, 7941, 7948, 7959, 7963, 7970, 7973, 7976, 7984, 7989, 7994, 7997, 7999, 8003, 8007, 8010, 8014, 8020, 8025, 8032, 8034, 8038, 8046, 8052, 8056, 8059, 8068, 8071, 8077, 8084, 8089, 8097, 8102, 8114, 8116, 8127, 8134, 8144, 8167, 8180, 8196, 8201, 8208, 8211, 8215, 8217, 8234, 8249, 8257, 8266, 8274, 8283, 8294, 8298, 8300, 8302, 8308, 8313, 8320, 8333, 8335, 8337, 8340, 8343, 8350, 8353, 8359, 8364, 8366, 8369, 8375, 8383, 8385, 8388, 8392, 8395, 8405, 8408, 8412, 8415, 8421, 8424, 8426, 8430, 8435, 8439, 8444, 8449, 8457, 8461, 8464, 8469, 8477, 8482, 8492, 8503, 8508, 8514, 8520, 8524, 8527, 8531, 8535, 8543, 8548, 8550, 8553, 8558, 8567, 8571, 8576, 8579, 8582, 8588, 8596, 8604, 8607, 8610, 8614, 8619, 8622, 8628, 8632, 8638, 8646, 8652, 8654, 8657, 8672, 8675, 8678, 8680, 8691, 8702, 8711, 8721, 8731, 8733, 8735, 8738, 8741, 8752, 8754, 8756, 8759, 8764, 8775, 8784, 8787, 8790, 8799, 8802, 8805, 8812, 8815, 8830, 8833, 8840, 8856, 8860, 8870, 8889, 8891, 8898, 8905, 8909, 8917, 8921, 8925, 8931, 8941, 8951, 8958, 8965, 8974, 8981, 8988, 8997, 9001, 9011, 9018, 9026, 9034, 9038, 9060, 9069, 9075, 9081, 9087, 9097, 9104, 9109, 9114, 9118, 9125, 9129, 9132, 9137, 9141, 9145, 9150, 9157, 9160, 9164, 9169, 9173, 9182, 9189, 9198, 9210, 9212, 9222, 9225, 9230, 9239, 9241, 9243, 9248, 9256, 9261, 9269, 9274, 9280, 9290, 9292, 9296, 9300, 9302, 9311, 9313, 9317, 9328, 9362, 9378, 9385, 9387, 9394, 9403, 9411, 9418, 9425, 9428, 9431, 9438, 9445, 9448, 9450, 9458, 9460, 9466, 9473, 9481, 9487, 9492, 9496, 9500, 9505, 9507, 9515, 9517, 9521, 9528, 9530, 9537, 9539, 9548, 9556, 9563, 9569, 9580, 9584, 9586, 9589, 9613, 9638, 9643, 9663, 9667, 9671, 9687, 9707, 9765, 9769, 9817, 9833, 9835, 9842, 9848, 9861, 9876, 9887, 9892, 9902, 9911, 9945, 9950, 9956, 9959, 9964, 9969, 9978, 9983, 9989, 9998, 10008, 10011, 10025, 10031, 10039, 10043, 10051, 10058, 10071, 10079, 10092, 10099, 10105, 10109, 10126, 10141, 10143, 10148, 10151, 10160, 10163, 10166, 10179, 10183, 10191, 10197, 10205, 10212, 10218, 10233, 10242, 10248, 10254, 10257, 10261, 10268, 10276, 10279, 10285, 10291, 10293, 10299, 10302, 10304, 10310, 10312, 10326, 10333, 10342, 10349, 10361, 10368, 10375, 10382, 10388, 10395, 10398, 10403, 10410, 10418, 10422, 10425, 10433, 10437, 10440, 10444, 10449, 10455, 10461, 10467, 10473, 10479, 10485, 10491, 10494, 10498, 10503, 10507, 10515, 10520, 10527, 10536, 10538, 10545, 10557, 10562, 10573, 10583, 10585, 10591, 10593, 10598, 10600, 10603, 10607, 10611, 10617, 10626, 10629, 10631, 10634, 10640, 10644, 10647, 10656, 10665, 10677, 10680, 10684, 10690, 10693, 10697, 10703, 10708, 10713, 10717, 10721, 10725, 10732, 10751, 10757] \ No newline at end of file diff --git a/src/grammar/tsql/TSqlLexer.g4 b/src/grammar/tsql/TSqlLexer.g4 deleted file mode 100644 index 19db4c5..0000000 --- a/src/grammar/tsql/TSqlLexer.g4 +++ /dev/null @@ -1,902 +0,0 @@ -/* -T-SQL (Transact-SQL, MSSQL) grammar. -The MIT License (MIT). -Copyright (c) 2017, Mark Adams (madams51703@gmail.com) -Copyright (c) 2015-2017, Ivan Kochurkin (kvanttt@gmail.com), Positive Technologies. -Copyright (c) 2016, Scott Ure (scott@redstormsoftware.com). -Copyright (c) 2016, Rui Zhang (ruizhang.ccs@gmail.com). -Copyright (c) 2016, Marcus Henriksson (kuseman80@gmail.com). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - -lexer grammar TSqlLexer; - -// Basic keywords (from https://msdn.microsoft.com/en-us/library/ms189822.aspx) -ABSENT: 'ABSENT'; -ADD: 'ADD'; -AES: 'AES'; -ALL: 'ALL'; -ALLOW_CONNECTIONS: 'ALLOW_CONNECTIONS'; -ALLOW_MULTIPLE_EVENT_LOSS: 'ALLOW_MULTIPLE_EVENT_LOSS'; -ALLOW_SINGLE_EVENT_LOSS: 'ALLOW_SINGLE_EVENT_LOSS'; -ALTER: 'ALTER'; -AND: 'AND'; -ANONYMOUS: 'ANONYMOUS'; -ANY: 'ANY'; -APPEND: 'APPEND'; -APPLICATION: 'APPLICATION'; -AS: 'AS'; -ASC: 'ASC'; -ASYMMETRIC: 'ASYMMETRIC'; -ASYNCHRONOUS_COMMIT: 'ASYNCHRONOUS_COMMIT'; -AUTHORIZATION: 'AUTHORIZATION'; -AUTHENTICATION: 'AUTHENTICATION'; -AUTOMATED_BACKUP_PREFERENCE: 'AUTOMATED_BACKUP_PREFERENCE'; -AUTOMATIC: 'AUTOMATIC'; -AVAILABILITY_MODE: 'AVAILABILITY_MODE'; -BACKSLASH: '\\'; -BACKUP: 'BACKUP'; -BEFORE: 'BEFORE'; -BEGIN: 'BEGIN'; -BETWEEN: 'BETWEEN'; -BLOCK: 'BLOCK'; -BLOCKSIZE: 'BLOCKSIZE'; -BLOCKING_HIERARCHY: 'BLOCKING_HIERARCHY'; -BREAK: 'BREAK'; -BROWSE: 'BROWSE'; -BUFFER: 'BUFFER'; -BUFFERCOUNT: 'BUFFERCOUNT'; -BULK: 'BULK'; -BY: 'BY'; -CACHE: 'CACHE'; -CALLED: 'CALLED'; -CASCADE: 'CASCADE'; -CASE: 'CASE'; -CERTIFICATE: 'CERTIFICATE'; -CHANGETABLE: 'CHANGETABLE'; -CHANGES: 'CHANGES'; -CHECK: 'CHECK'; -CHECKPOINT: 'CHECKPOINT'; -CHECK_POLICY: 'CHECK_POLICY'; -CHECK_EXPIRATION: 'CHECK_EXPIRATION'; -CLASSIFIER_FUNCTION: 'CLASSIFIER_FUNCTION'; -CLOSE: 'CLOSE'; -CLUSTER: 'CLUSTER'; -CLUSTERED: 'CLUSTERED'; -COALESCE: 'COALESCE'; -COLLATE: 'COLLATE'; -COLUMN: 'COLUMN'; -COMPRESSION: 'COMPRESSION'; -COMMIT: 'COMMIT'; -COMPUTE: 'COMPUTE'; -CONFIGURATION: 'CONFIGURATION'; -CONSTRAINT: 'CONSTRAINT'; -CONTAINMENT: 'CONTAINMENT'; -CONTAINS: 'CONTAINS'; -CONTAINSTABLE: 'CONTAINSTABLE'; -CONTEXT: 'CONTEXT'; -CONTINUE: 'CONTINUE'; -CONTINUE_AFTER_ERROR: 'CONTINUE_AFTER_ERROR'; -CONTRACT: 'CONTRACT'; -CONTRACT_NAME: 'CONTRACT_NAME'; -CONVERSATION: 'CONVERSATION'; -CONVERT: 'TRY_'? 'CONVERT'; -COPY_ONLY: 'COPY_ONLY'; -CREATE: 'CREATE'; -CROSS: 'CROSS'; -CURRENT: 'CURRENT'; -CURRENT_DATE: 'CURRENT_DATE'; -CURRENT_TIME: 'CURRENT_TIME'; -CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP'; -CURRENT_USER: 'CURRENT_USER'; -CURSOR: 'CURSOR'; -CYCLE: 'CYCLE'; -DATA_COMPRESSION: 'DATA_COMPRESSION'; -DATA_SOURCE: 'DATA_SOURCE'; -DATABASE: 'DATABASE'; -DATABASE_MIRRORING: 'DATABASE_MIRRORING'; -DBCC: 'DBCC'; -DEALLOCATE: 'DEALLOCATE'; -DECLARE: 'DECLARE'; -DEFAULT: 'DEFAULT'; -DEFAULT_DATABASE: 'DEFAULT_DATABASE'; -DEFAULT_SCHEMA: 'DEFAULT_SCHEMA'; -DELETE: 'DELETE'; -DENY: 'DENY'; -DESC: 'DESC'; -DIAGNOSTICS: 'DIAGNOSTICS'; -DIFFERENTIAL: 'DIFFERENTIAL'; -DISK: 'DISK'; -DISTINCT: 'DISTINCT'; -DISTRIBUTED: 'DISTRIBUTED'; -DOUBLE: 'DOUBLE'; -DOUBLE_BACK_SLASH: '\\\\'; -DOUBLE_FORWARD_SLASH: '//'; -DROP: 'DROP'; -DTC_SUPPORT: 'DTC_SUPPORT'; -DUMP: 'DUMP'; -ELSE: 'ELSE'; -ENABLED: 'ENABLED'; -END: 'END'; -ENDPOINT: 'ENDPOINT'; -ERRLVL: 'ERRLVL'; -ESCAPE: 'ESCAPE'; -ERROR: 'ERROR'; -EVENT: 'EVENT'; -EVENTDATA: 'EVENTDATA' '(' ')'; -EVENT_RETENTION_MODE: 'EVENT_RETENTION_MODE'; -EXCEPT: 'EXCEPT'; -EXECUTABLE_FILE: 'EXECUTABLE_FILE'; -EXECUTE: 'EXEC' 'UTE'?; -EXISTS: 'EXISTS'; -EXPIREDATE: 'EXPIREDATE'; -EXIT: 'EXIT'; -EXTENSION: 'EXTENSION'; -EXTERNAL: 'EXTERNAL'; -EXTERNAL_ACCESS: 'EXTERNAL_ACCESS'; -FAILOVER: 'FAILOVER'; -FAILURECONDITIONLEVEL: 'FAILURECONDITIONLEVEL'; -FAN_IN: 'FAN_IN'; -FETCH: 'FETCH'; -FILE: 'FILE'; -FILENAME: 'FILENAME'; -FILLFACTOR: 'FILLFACTOR'; -FILE_SNAPSHOT: 'FILE_SNAPSHOT'; -FOR: 'FOR'; -FORCESEEK: 'FORCESEEK'; -FORCE_SERVICE_ALLOW_DATA_LOSS: 'FORCE_SERVICE_ALLOW_DATA_LOSS'; -FOREIGN: 'FOREIGN'; -FREETEXT: 'FREETEXT'; -FREETEXTTABLE: 'FREETEXTTABLE'; -FROM: 'FROM'; -FULL: 'FULL'; -FUNCTION: 'FUNCTION'; -GET: 'GET'; -GOTO: 'GOTO'; -GOVERNOR: 'GOVERNOR'; -GRANT: 'GRANT'; -GROUP: 'GROUP'; -HAVING: 'HAVING'; -HASHED: 'HASHED'; -HEALTHCHECKTIMEOUT: 'HEALTHCHECKTIMEOUT'; -IDENTITY: 'IDENTITY'; -IDENTITYCOL: 'IDENTITYCOL'; -IDENTITY_INSERT: 'IDENTITY_INSERT'; -IF: 'IF'; -IIF: 'IIF'; -IN: 'IN'; -INCLUDE: 'INCLUDE'; -INCREMENT: 'INCREMENT'; -INDEX: 'INDEX'; -INFINITE: 'INFINITE'; -INIT: 'INIT'; -INNER: 'INNER'; -INSERT: 'INSERT'; -INSTEAD: 'INSTEAD'; -INTERSECT: 'INTERSECT'; -INTO: 'INTO'; -IPV4_ADDR: [']? IPV4_OCTECT DOT IPV4_OCTECT DOT IPV4_OCTECT DOT IPV4_OCTECT [']?; -IPV6_ADDR: [']?[0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[']?; -IS: 'IS'; -ISNULL: 'ISNULL'; -JOIN: 'JOIN'; -KERBEROS: 'KERBEROS'; -KEY: 'KEY'; -KEY_PATH: 'KEY_PATH'; -KEY_STORE_PROVIDER_NAME: 'KEY_STORE_PROVIDER_NAME'; -KILL: 'KILL'; -LANGUAGE: 'LANGUAGE'; -LEFT: 'LEFT'; -LIBRARY: 'LIBRARY'; -LIFETIME: 'LIFETIME'; -LIKE: 'LIKE'; -LINENO: 'LINENO'; -LINUX: 'LINUX'; -LISTENER_IP: 'LISTENER_IP'; -LISTENER_PORT: 'LISTENER_PORT'; -LOAD: 'LOAD'; -LOCAL_SERVICE_NAME: 'LOCAL_SERVICE_NAME'; -LOG: 'LOG'; -MATCHED: 'MATCHED'; -MASTER: 'MASTER'; -MAX_MEMORY: 'MAX_MEMORY'; -MAXTRANSFER: 'MAXTRANSFER'; -MAXVALUE: 'MAXVALUE'; -MAX_DISPATCH_LATENCY: 'MAX_DISPATCH_LATENCY'; -MAX_EVENT_SIZE: 'MAX_EVENT_SIZE'; -MAX_SIZE: 'MAX_SIZE'; -MAX_OUTSTANDING_IO_PER_VOLUME: 'MAX_OUTSTANDING_IO_PER_VOLUME'; -MEDIADESCRIPTION: 'MEDIADESCRIPTION'; -MEDIANAME: 'MEDIANAME'; -MEMBER: 'MEMBER'; -MEMORY_PARTITION_MODE: 'MEMORY_PARTITION_MODE'; -MERGE: 'MERGE'; -MESSAGE_FORWARDING: 'MESSAGE_FORWARDING'; -MESSAGE_FORWARD_SIZE: 'MESSAGE_FORWARD_SIZE'; -MINVALUE: 'MINVALUE'; -MIRROR: 'MIRROR'; -MUST_CHANGE: 'MUST_CHANGE'; -NATIONAL: 'NATIONAL'; -NEGOTIATE: 'NEGOTIATE'; -NOCHECK: 'NOCHECK'; -NOFORMAT: 'NOFORMAT'; -NOINIT: 'NOINIT'; -NONCLUSTERED: 'NONCLUSTERED'; -NONE: 'NONE'; -NOREWIND: 'NOREWIND'; -NOSKIP: 'NOSKIP'; -NOUNLOAD: 'NOUNLOAD'; -NO_CHECKSUM: 'NO_CHECKSUM'; -NO_COMPRESSION: 'NO_COMPRESSION'; -NO_EVENT_LOSS: 'NO_EVENT_LOSS'; -NOT: 'NOT'; -NOTIFICATION: 'NOTIFICATION'; -NTLM: 'NTLM'; -NULL: 'NULL'; -NULLIF: 'NULLIF'; -OF: 'OF'; -OFF: 'OFF'; -OFFSETS: 'OFFSETS'; -OLD_PASSWORD: 'OLD_PASSWORD'; -ON: 'ON'; -ON_FAILURE: 'ON_FAILURE'; -OPEN: 'OPEN'; -OPENDATASOURCE: 'OPENDATASOURCE'; -OPENQUERY: 'OPENQUERY'; -OPENROWSET: 'OPENROWSET'; -OPENXML: 'OPENXML'; -OPTION: 'OPTION'; -OR: 'OR'; -ORDER: 'ORDER'; -OUTER: 'OUTER'; -OVER: 'OVER'; -PAGE: 'PAGE'; -PARAM_NODE: 'PARAM_NODE'; -PARTIAL: 'PARTIAL'; -PASSWORD: 'PASSWORD'; -PERCENT: 'PERCENT'; -PERMISSION_SET: 'PERMISSION_SET'; -PER_CPU: 'PER_CPU'; -PER_DB: 'PER_DB'; -PER_NODE: 'PER_NODE'; -PIVOT: 'PIVOT'; -PLAN: 'PLAN'; -PLATFORM: 'PLATFORM'; -POLICY: 'POLICY'; -PRECISION: 'PRECISION'; -PREDICATE: 'PREDICATE'; -PRIMARY: 'PRIMARY'; -PRINT: 'PRINT'; -PROC: 'PROC'; -PROCEDURE: 'PROCEDURE'; -PROCESS: 'PROCESS'; -PUBLIC: 'PUBLIC'; -PYTHON: 'PYTHON'; -R: 'R'; -RAISERROR: 'RAISERROR'; -RAW: 'RAW'; -READ: 'READ'; -READTEXT: 'READTEXT'; -READ_WRITE_FILEGROUPS: 'READ_WRITE_FILEGROUPS'; -RECONFIGURE: 'RECONFIGURE'; -REFERENCES: 'REFERENCES'; -REGENERATE: 'REGENERATE'; -RELATED_CONVERSATION: 'RELATED_CONVERSATION'; -RELATED_CONVERSATION_GROUP: 'RELATED_CONVERSATION_GROUP'; -REPLICATION: 'REPLICATION'; -REQUIRED: 'REQUIRED'; -RESET: 'RESET'; -RESTART: 'RESTART'; -RESTORE: 'RESTORE'; -RESTRICT: 'RESTRICT'; -RESUME: 'RESUME'; -RETAINDAYS: 'RETAINDAYS'; -RETURN: 'RETURN'; -RETURNS: 'RETURNS'; -REVERT: 'REVERT'; -REVOKE: 'REVOKE'; -REWIND: 'REWIND'; -RIGHT: 'RIGHT'; -ROLLBACK: 'ROLLBACK'; -ROLE: 'ROLE'; -ROWCOUNT: 'ROWCOUNT'; -ROWGUIDCOL: 'ROWGUIDCOL'; -RSA_512: 'RSA_512'; -RSA_1024: 'RSA_1024'; -RSA_2048: 'RSA_2048'; -RSA_3072: 'RSA_3072'; -RSA_4096: 'RSA_4096'; -SAFETY: 'SAFETY'; -RULE: 'RULE'; -SAFE: 'SAFE'; -SAVE: 'SAVE'; -SCHEDULER: 'SCHEDULER'; -SCHEMA: 'SCHEMA'; -SCHEME: 'SCHEME'; -SECURITYAUDIT: 'SECURITYAUDIT'; -SELECT: 'SELECT'; -SEMANTICKEYPHRASETABLE: 'SEMANTICKEYPHRASETABLE'; -SEMANTICSIMILARITYDETAILSTABLE: 'SEMANTICSIMILARITYDETAILSTABLE'; -SEMANTICSIMILARITYTABLE: 'SEMANTICSIMILARITYTABLE'; -SERVER: 'SERVER'; -SERVICE: 'SERVICE'; -SERVICE_BROKER: 'SERVICE_BROKER'; -SERVICE_NAME: 'SERVICE_NAME'; -SESSION: 'SESSION'; -SESSION_USER: 'SESSION_USER'; -SET: 'SET'; -SETUSER: 'SETUSER'; -SHUTDOWN: 'SHUTDOWN'; -SID: 'SID'; -SKIP_KEYWORD: 'SKIP'; -SOFTNUMA: 'SOFTNUMA'; -SOME: 'SOME'; -SOURCE: 'SOURCE'; -SPECIFICATION: 'SPECIFICATION'; -SPLIT: 'SPLIT'; -SQLDUMPERFLAGS: 'SQLDUMPERFLAGS'; -SQLDUMPERPATH: 'SQLDUMPERPATH'; -SQLDUMPERTIMEOUT: 'SQLDUMPERTIMEOUTS'; -STATISTICS: 'STATISTICS'; -STATE: 'STATE'; -STATS: 'STATS'; -START: 'START'; -STARTED: 'STARTED'; -STARTUP_STATE: 'STARTUP_STATE'; -STOP: 'STOP'; -STOPPED: 'STOPPED'; -STOP_ON_ERROR: 'STOP_ON_ERROR'; -SUPPORTED: 'SUPPORTED'; -SYSTEM_USER: 'SYSTEM_USER'; -TABLE: 'TABLE'; -TABLESAMPLE: 'TABLESAMPLE'; -TAPE: 'TAPE'; -TARGET: 'TARGET'; -TCP: 'TCP'; -TEXTSIZE: 'TEXTSIZE'; -THEN: 'THEN'; -TO: 'TO'; -TOP: 'TOP'; -TRACK_CAUSALITY: 'TRACK_CAUSALITY'; -TRAN: 'TRAN'; -TRANSACTION: 'TRANSACTION'; -TRANSFER: 'TRANSFER'; -TRIGGER: 'TRIGGER'; -TRUNCATE: 'TRUNCATE'; -TSEQUAL: 'TSEQUAL'; -UNCHECKED: 'UNCHECKED'; -UNION: 'UNION'; -UNIQUE: 'UNIQUE'; -UNLOCK: 'UNLOCK'; -UNPIVOT: 'UNPIVOT'; -UNSAFE: 'UNSAFE'; -UPDATE: 'UPDATE'; -UPDATETEXT: 'UPDATETEXT'; -URL: 'URL'; -USE: 'USE'; -USED: 'USED'; -USER: 'USER'; -VALUES: 'VALUES'; -VARYING: 'VARYING'; -VERBOSELOGGING: 'VERBOSELOGGING'; -VIEW: 'VIEW'; -VISIBILITY: 'VISIBILITY'; -WAITFOR: 'WAITFOR'; -WHEN: 'WHEN'; -WHERE: 'WHERE'; -WHILE: 'WHILE'; -WINDOWS: 'WINDOWS'; -WITH: 'WITH'; -WITHIN: 'WITHIN'; -WITHOUT: 'WITHOUT'; -WITNESS: 'WITNESS'; -WRITETEXT: 'WRITETEXT'; - -// Additional keywords. They can be id, please keep them in sync with the parser. -ABSOLUTE: 'ABSOLUTE'; -ACCENT_SENSITIVITY: 'ACCENT_SENSITIVITY'; -ACTION: 'ACTION'; -ACTIVATION: 'ACTIVATION'; -ACTIVE: 'ACTIVE'; -ADDRESS: 'ADDRESS'; -AES_128: 'AES_128'; -AES_192: 'AES_192'; -AES_256: 'AES_256'; -AFFINITY: 'AFFINITY'; -AFTER: 'AFTER'; -AGGREGATE: 'AGGREGATE'; -ALGORITHM: 'ALGORITHM'; -ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: 'ALLOW_ENCRYPTED_VALUE_MODIFICATIONS'; -ALLOW_SNAPSHOT_ISOLATION: 'ALLOW_SNAPSHOT_ISOLATION'; -ALLOWED: 'ALLOWED'; -ANSI_NULL_DEFAULT: 'ANSI_NULL_DEFAULT'; -ANSI_NULLS: 'ANSI_NULLS'; -ANSI_PADDING: 'ANSI_PADDING'; -ANSI_WARNINGS: 'ANSI_WARNINGS'; -APPLICATION_LOG: 'APPLICATION_LOG'; -APPLY: 'APPLY'; -ARITHABORT: 'ARITHABORT'; -ASSEMBLY: 'ASSEMBLY'; -AUDIT: 'AUDIT'; -AUDIT_GUID: 'AUDIT_GUID'; -AUTO: 'AUTO'; -AUTO_CLEANUP: 'AUTO_CLEANUP'; -AUTO_CLOSE: 'AUTO_CLOSE'; -AUTO_CREATE_STATISTICS: 'AUTO_CREATE_STATISTICS'; -AUTO_SHRINK: 'AUTO_SHRINK'; -AUTO_UPDATE_STATISTICS: 'AUTO_UPDATE_STATISTICS'; -AUTO_UPDATE_STATISTICS_ASYNC: 'AUTO_UPDATE_STATISTICS_ASYNC'; -AVAILABILITY: 'AVAILABILITY'; -AVG: 'AVG'; -BACKUP_PRIORITY: 'BACKUP_PRIORITY'; -BEGIN_DIALOG: 'BEGIN_DIALOG'; -BIGINT: 'BIGINT'; -BINARY_BASE64: 'BINARY BASE64'; -BINARY_CHECKSUM: 'BINARY_CHECKSUM'; -BINDING: 'BINDING'; -BLOB_STORAGE: 'BLOB_STORAGE'; -BROKER: 'BROKER'; -BROKER_INSTANCE: 'BROKER_INSTANCE'; -BULK_LOGGED: 'BULK_LOGGED'; -CALLER: 'CALLER'; -CAP_CPU_PERCENT: 'CAP_CPU_PERCENT'; -CAST: 'TRY_'? 'CAST'; -CATALOG: 'CATALOG'; -CATCH: 'CATCH'; -CHANGE_RETENTION: 'CHANGE_RETENTION'; -CHANGE_TRACKING: 'CHANGE_TRACKING'; -CHECKSUM: 'CHECKSUM'; -CHECKSUM_AGG: 'CHECKSUM_AGG'; -CLEANUP: 'CLEANUP'; -COLLECTION: 'COLLECTION'; -COLUMN_MASTER_KEY: 'COLUMN_MASTER_KEY'; -COMMITTED: 'COMMITTED'; -COMPATIBILITY_LEVEL: 'COMPATIBILITY_LEVEL'; -CONCAT: 'CONCAT'; -CONCAT_NULL_YIELDS_NULL: 'CONCAT_NULL_YIELDS_NULL'; -CONTENT: 'CONTENT'; -CONTROL: 'CONTROL'; -COOKIE: 'COOKIE'; -COUNT: 'COUNT'; -COUNT_BIG: 'COUNT_BIG'; -COUNTER: 'COUNTER'; -CPU: 'CPU'; -CREATE_NEW: 'CREATE_NEW'; -CREATION_DISPOSITION: 'CREATION_DISPOSITION'; -CREDENTIAL: 'CREDENTIAL'; -CRYPTOGRAPHIC: 'CRYPTOGRAPHIC'; -CURSOR_CLOSE_ON_COMMIT: 'CURSOR_CLOSE_ON_COMMIT'; -CURSOR_DEFAULT: 'CURSOR_DEFAULT'; -DATA: 'DATA'; -DATE_CORRELATION_OPTIMIZATION: 'DATE_CORRELATION_OPTIMIZATION'; -DATEADD: 'DATEADD'; -DATEDIFF: 'DATEDIFF'; -DATENAME: 'DATENAME'; -DATEPART: 'DATEPART'; -DAYS: 'DAYS'; -DB_CHAINING: 'DB_CHAINING'; -DB_FAILOVER: 'DB_FAILOVER'; -DECRYPTION: 'DECRYPTION'; -DEFAULT_DOUBLE_QUOTE: ["]'DEFAULT'["]; -DEFAULT_FULLTEXT_LANGUAGE: 'DEFAULT_FULLTEXT_LANGUAGE'; -DEFAULT_LANGUAGE: 'DEFAULT_LANGUAGE'; -DELAY: 'DELAY'; -DELAYED_DURABILITY: 'DELAYED_DURABILITY'; -DELETED: 'DELETED'; -DENSE_RANK: 'DENSE_RANK'; -DEPENDENTS: 'DEPENDENTS'; -DES: 'DES'; -DESCRIPTION: 'DESCRIPTION'; -DESX: 'DESX'; -DHCP: 'DHCP'; -DIALOG: 'DIALOG'; -DIRECTORY_NAME: 'DIRECTORY_NAME'; -DISABLE: 'DISABLE'; -DISABLE_BROKER: 'DISABLE_BROKER'; -DISABLED: 'DISABLED'; -DISK_DRIVE: [A-Z][:]; -DOCUMENT: 'DOCUMENT'; -DYNAMIC: 'DYNAMIC'; -ELEMENTS: 'ELEMENTS'; -EMERGENCY: 'EMERGENCY'; -EMPTY: 'EMPTY'; -ENABLE: 'ENABLE'; -ENABLE_BROKER: 'ENABLE_BROKER'; -ENCRYPTED_VALUE: 'ENCRYPTED_VALUE'; -ENCRYPTION: 'ENCRYPTION'; -ENDPOINT_URL: 'ENDPOINT_URL'; -ERROR_BROKER_CONVERSATIONS: 'ERROR_BROKER_CONVERSATIONS'; -EXCLUSIVE: 'EXCLUSIVE'; -EXECUTABLE: 'EXECUTABLE'; -EXIST: 'EXIST'; -EXPAND: 'EXPAND'; -EXPIRY_DATE: 'EXPIRY_DATE'; -EXPLICIT: 'EXPLICIT'; -FAIL_OPERATION: 'FAIL_OPERATION'; -FAILOVER_MODE: 'FAILOVER_MODE'; -FAILURE: 'FAILURE'; -FAILURE_CONDITION_LEVEL: 'FAILURE_CONDITION_LEVEL'; -FAST: 'FAST'; -FAST_FORWARD: 'FAST_FORWARD'; -FILEGROUP: 'FILEGROUP'; -FILEGROWTH: 'FILEGROWTH'; -FILEPATH: 'FILEPATH'; -FILESTREAM: 'FILESTREAM'; -FILTER: 'FILTER'; -FIRST: 'FIRST'; -FIRST_VALUE: 'FIRST_VALUE'; -FOLLOWING: 'FOLLOWING'; -FORCE: 'FORCE'; -FORCE_FAILOVER_ALLOW_DATA_LOSS: 'FORCE_FAILOVER_ALLOW_DATA_LOSS'; -FORCED: 'FORCED'; -FORMAT: 'FORMAT'; -FORWARD_ONLY: 'FORWARD_ONLY'; -FULLSCAN: 'FULLSCAN'; -FULLTEXT: 'FULLTEXT'; -GB: 'GB'; -GETDATE: 'GETDATE'; -GETUTCDATE: 'GETUTCDATE'; -GLOBAL: 'GLOBAL'; -GO: 'GO'; -GROUP_MAX_REQUESTS: 'GROUP_MAX_REQUESTS'; -GROUPING: 'GROUPING'; -GROUPING_ID: 'GROUPING_ID'; -HADR: 'HADR'; -HASH: 'HASH'; -HEALTH_CHECK_TIMEOUT: 'HEALTH_CHECK_TIMEOUT'; -HIGH: 'HIGH'; -HONOR_BROKER_PRIORITY: 'HONOR_BROKER_PRIORITY'; -HOURS: 'HOURS'; -IDENTITY_VALUE: 'IDENTITY_VALUE'; -IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: 'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX'; -IMMEDIATE: 'IMMEDIATE'; -IMPERSONATE: 'IMPERSONATE'; -IMPORTANCE: 'IMPORTANCE'; -INCLUDE_NULL_VALUES: 'INCLUDE_NULL_VALUES'; -INCREMENTAL: 'INCREMENTAL'; -INITIATOR: 'INITIATOR'; -INPUT: 'INPUT'; -INSENSITIVE: 'INSENSITIVE'; -INSERTED: 'INSERTED'; -INT: 'INT'; -IP: 'IP'; -ISOLATION: 'ISOLATION'; -JOB: 'JOB'; -JSON: 'JSON'; -KB: 'KB'; -KEEP: 'KEEP'; -KEEPFIXED: 'KEEPFIXED'; -KEY_SOURCE: 'KEY_SOURCE'; -KEYS: 'KEYS'; -KEYSET: 'KEYSET'; -LAG: 'LAG'; -LAST: 'LAST'; -LAST_VALUE: 'LAST_VALUE'; -LEAD: 'LEAD'; -LEVEL: 'LEVEL'; -LIST: 'LIST'; -LISTENER: 'LISTENER'; -LISTENER_URL: 'LISTENER_URL'; -LOB_COMPACTION: 'LOB_COMPACTION'; -LOCAL: 'LOCAL'; -LOCATION: 'LOCATION'; -LOCK: 'LOCK'; -LOCK_ESCALATION: 'LOCK_ESCALATION'; -LOGIN: 'LOGIN'; -LOOP: 'LOOP'; -LOW: 'LOW'; -MANUAL: 'MANUAL'; -MARK: 'MARK'; -MATERIALIZED: 'MATERIALIZED'; -MAX: 'MAX'; -MAX_CPU_PERCENT: 'MAX_CPU_PERCENT'; -MAX_DOP: 'MAX_DOP'; -MAX_FILES: 'MAX_FILES'; -MAX_IOPS_PER_VOLUME: 'MAX_IOPS_PER_VOLUME'; -MAX_MEMORY_PERCENT: 'MAX_MEMORY_PERCENT'; -MAX_PROCESSES: 'MAX_PROCESSES'; -MAX_QUEUE_READERS: 'MAX_QUEUE_READERS'; -MAX_ROLLOVER_FILES: 'MAX_ROLLOVER_FILES'; -MAXDOP: 'MAXDOP'; -MAXRECURSION: 'MAXRECURSION'; -MAXSIZE: 'MAXSIZE'; -MB: 'MB'; -MEDIUM: 'MEDIUM'; -MEMORY_OPTIMIZED_DATA: 'MEMORY_OPTIMIZED_DATA'; -MESSAGE: 'MESSAGE'; -MIN: 'MIN'; -MIN_ACTIVE_ROWVERSION: 'MIN_ACTIVE_ROWVERSION'; -MIN_CPU_PERCENT: 'MIN_CPU_PERCENT'; -MIN_IOPS_PER_VOLUME: 'MIN_IOPS_PER_VOLUME'; -MIN_MEMORY_PERCENT: 'MIN_MEMORY_PERCENT'; -MINUTES: 'MINUTES'; -MIRROR_ADDRESS: 'MIRROR_ADDRESS'; -MIXED_PAGE_ALLOCATION: 'MIXED_PAGE_ALLOCATION'; -MODE: 'MODE'; -MODIFY: 'MODIFY'; -MOVE: 'MOVE'; -MULTI_USER: 'MULTI_USER'; -NAME: 'NAME'; -NESTED_TRIGGERS: 'NESTED_TRIGGERS'; -NEW_ACCOUNT: 'NEW_ACCOUNT'; -NEW_BROKER: 'NEW_BROKER'; -NEW_PASSWORD: 'NEW_PASSWORD'; -NEXT: 'NEXT'; -NO: 'NO'; -NO_TRUNCATE: 'NO_TRUNCATE'; -NO_WAIT: 'NO_WAIT'; -NOCOUNT: 'NOCOUNT'; -NODES: 'NODES'; -NOEXPAND: 'NOEXPAND'; -NON_TRANSACTED_ACCESS: 'NON_TRANSACTED_ACCESS'; -NORECOMPUTE: 'NORECOMPUTE'; -NORECOVERY: 'NORECOVERY'; -NOWAIT: 'NOWAIT'; -NTILE: 'NTILE'; -NUMANODE: 'NUMANODE'; -NUMBER: 'NUMBER'; -NUMERIC_ROUNDABORT: 'NUMERIC_ROUNDABORT'; -OBJECT: 'OBJECT'; -OFFLINE: 'OFFLINE'; -OFFSET: 'OFFSET'; -OLD_ACCOUNT: 'OLD_ACCOUNT'; -ONLINE: 'ONLINE'; -ONLY: 'ONLY'; -OPEN_EXISTING: 'OPEN_EXISTING'; -OPTIMISTIC: 'OPTIMISTIC'; -OPTIMIZE: 'OPTIMIZE'; -OUT: 'OUT'; -OUTPUT: 'OUTPUT'; -OVERRIDE: 'OVERRIDE'; -OWNER: 'OWNER'; -PAGE_VERIFY: 'PAGE_VERIFY'; -PARAMETERIZATION: 'PARAMETERIZATION'; -PARTITION: 'PARTITION'; -PARTITIONS: 'PARTITIONS'; -PARTNER: 'PARTNER'; -PATH: 'PATH'; -POISON_MESSAGE_HANDLING: 'POISON_MESSAGE_HANDLING'; -POOL: 'POOL'; -PORT: 'PORT'; -PRECEDING: 'PRECEDING'; -PRIMARY_ROLE: 'PRIMARY_ROLE'; -PRIOR: 'PRIOR'; -PRIORITY: 'PRIORITY'; -PRIORITY_LEVEL: 'PRIORITY_LEVEL'; -PRIVATE: 'PRIVATE'; -PRIVATE_KEY: 'PRIVATE_KEY'; -PRIVILEGES: 'PRIVILEGES'; -PROCEDURE_NAME: 'PROCEDURE_NAME'; -PROPERTY: 'PROPERTY'; -PROVIDER: 'PROVIDER'; -PROVIDER_KEY_NAME: 'PROVIDER_KEY_NAME'; -QUERY: 'QUERY'; -QUEUE: 'QUEUE'; -QUEUE_DELAY: 'QUEUE_DELAY'; -QUOTED_IDENTIFIER: 'QUOTED_IDENTIFIER'; -RANGE: 'RANGE'; -RANK: 'RANK'; -RC2: 'RC2'; -RC4: 'RC4'; -RC4_128: 'RC4_128'; -READ_COMMITTED_SNAPSHOT: 'READ_COMMITTED_SNAPSHOT'; -READ_ONLY: 'READ_ONLY'; -READ_ONLY_ROUTING_LIST: 'READ_ONLY_ROUTING_LIST'; -READ_WRITE: 'READ_WRITE'; -READONLY: 'READONLY'; -REBUILD: 'REBUILD'; -RECEIVE: 'RECEIVE'; -RECOMPILE: 'RECOMPILE'; -RECOVERY: 'RECOVERY'; -RECURSIVE_TRIGGERS: 'RECURSIVE_TRIGGERS'; -RELATIVE: 'RELATIVE'; -REMOTE: 'REMOTE'; -REMOTE_SERVICE_NAME: 'REMOTE_SERVICE_NAME'; -REMOVE: 'REMOVE'; -REORGANIZE: 'REORGANIZE'; -REPEATABLE: 'REPEATABLE'; -REPLICA: 'REPLICA'; -REQUEST_MAX_CPU_TIME_SEC: 'REQUEST_MAX_CPU_TIME_SEC'; -REQUEST_MAX_MEMORY_GRANT_PERCENT: 'REQUEST_MAX_MEMORY_GRANT_PERCENT'; -REQUEST_MEMORY_GRANT_TIMEOUT_SEC: 'REQUEST_MEMORY_GRANT_TIMEOUT_SEC'; -REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: 'REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT'; -RESERVE_DISK_SPACE: 'RESERVE_DISK_SPACE'; -RESOURCE: 'RESOURCE'; -RESOURCE_MANAGER_LOCATION: 'RESOURCE_MANAGER_LOCATION'; -RESTRICTED_USER: 'RESTRICTED_USER'; -RETENTION: 'RETENTION'; -ROBUST: 'ROBUST'; -ROOT: 'ROOT'; -ROUTE: 'ROUTE'; -ROW: 'ROW'; -ROW_NUMBER: 'ROW_NUMBER'; -ROWGUID: 'ROWGUID'; -ROWS: 'ROWS'; -SAMPLE: 'SAMPLE'; -SCHEMABINDING: 'SCHEMABINDING'; -SCOPED: 'SCOPED'; -SCROLL: 'SCROLL'; -SCROLL_LOCKS: 'SCROLL_LOCKS'; -SEARCH: 'SEARCH'; -SECONDARY: 'SECONDARY'; -SECONDARY_ONLY: 'SECONDARY_ONLY'; -SECONDARY_ROLE: 'SECONDARY_ROLE'; -SECONDS: 'SECONDS'; -SECRET: 'SECRET'; -SECURITY: 'SECURITY'; -SECURITY_LOG: 'SECURITY_LOG'; -SEEDING_MODE: 'SEEDING_MODE'; -SELF: 'SELF'; -SEMI_SENSITIVE: 'SEMI_SENSITIVE'; -SEND: 'SEND'; -SENT: 'SENT'; -SEQUENCE: 'SEQUENCE'; -SERIALIZABLE: 'SERIALIZABLE'; -SESSION_TIMEOUT: 'SESSION_TIMEOUT'; -SETERROR: 'SETERROR'; -SHARE: 'SHARE'; -SHOWPLAN: 'SHOWPLAN'; -SIGNATURE: 'SIGNATURE'; -SIMPLE: 'SIMPLE'; -SINGLE_USER: 'SINGLE_USER'; -SIZE: 'SIZE'; -SMALLINT: 'SMALLINT'; -SNAPSHOT: 'SNAPSHOT'; -SPATIAL_WINDOW_MAX_CELLS: 'SPATIAL_WINDOW_MAX_CELLS'; -STANDBY: 'STANDBY'; -START_DATE: 'START_DATE'; -STATIC: 'STATIC'; -STATS_STREAM: 'STATS_STREAM'; -STATUS: 'STATUS'; -STATUSONLY: 'STATUSONLY'; -STDEV: 'STDEV'; -STDEVP: 'STDEVP'; -STOPLIST: 'STOPLIST'; -STRING_AGG: 'STRING_AGG'; -STUFF: 'STUFF'; -SUBJECT: 'SUBJECT'; -SUBSCRIPTION: 'SUBSCRIPTION'; -SUM: 'SUM'; -SUSPEND: 'SUSPEND'; -SYMMETRIC: 'SYMMETRIC'; -SYNCHRONOUS_COMMIT: 'SYNCHRONOUS_COMMIT'; -SYNONYM: 'SYNONYM'; -SYSTEM: 'SYSTEM'; -TAKE: 'TAKE'; -TARGET_RECOVERY_TIME: 'TARGET_RECOVERY_TIME'; -TB: 'TB'; -TEXTIMAGE_ON: 'TEXTIMAGE_ON'; -THROW: 'THROW'; -TIES: 'TIES'; -TIME: 'TIME'; -TIMEOUT: 'TIMEOUT'; -TIMER: 'TIMER'; -TINYINT: 'TINYINT'; -TORN_PAGE_DETECTION: 'TORN_PAGE_DETECTION'; -TRANSFORM_NOISE_WORDS: 'TRANSFORM_NOISE_WORDS'; -TRIPLE_DES: 'TRIPLE_DES'; -TRIPLE_DES_3KEY: 'TRIPLE_DES_3KEY'; -TRUSTWORTHY: 'TRUSTWORTHY'; -TRY: 'TRY'; -TSQL: 'TSQL'; -TWO_DIGIT_YEAR_CUTOFF: 'TWO_DIGIT_YEAR_CUTOFF'; -TYPE: 'TYPE'; -TYPE_WARNING: 'TYPE_WARNING'; -UNBOUNDED: 'UNBOUNDED'; -UNCOMMITTED: 'UNCOMMITTED'; -UNKNOWN: 'UNKNOWN'; -UNLIMITED: 'UNLIMITED'; -UOW: 'UOW'; -USING: 'USING'; -VALID_XML: 'VALID_XML'; -VALIDATION: 'VALIDATION'; -VALUE: 'VALUE'; -VAR: 'VAR'; -VARP: 'VARP'; -VIEW_METADATA: 'VIEW_METADATA'; -VIEWS: 'VIEWS'; -WAIT: 'WAIT'; -WELL_FORMED_XML: 'WELL_FORMED_XML'; -WITHOUT_ARRAY_WRAPPER: 'WITHOUT_ARRAY_WRAPPER'; -WORK: 'WORK'; -WORKLOAD: 'WORKLOAD'; -XML: 'XML'; -XMLDATA: 'XMLDATA'; -XMLNAMESPACES: 'XMLNAMESPACES'; -XMLSCHEMA: 'XMLSCHEMA'; -XSINIL: 'XSINIL'; - -DOLLAR_ACTION: '$ACTION'; - -SPACE: [ \t\r\n]+ -> skip; -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/slash-star-comment-transact-sql -COMMENT: '/*' (COMMENT | .)*? '*/' -> channel(HIDDEN); -LINE_COMMENT: '--' ~[\r\n]* -> channel(HIDDEN); - -// TODO: ID can be not only Latin. -DOUBLE_QUOTE_ID: '"' ~'"'+ '"'; -SINGLE_QUOTE: '\''; -SQUARE_BRACKET_ID: '[' ~']'+ ']'; -LOCAL_ID: '@' ([A-Z_$@#0-9] | FullWidthLetter)+; -DECIMAL: DEC_DIGIT+; -ID: ( [A-Z_#] | FullWidthLetter) ( [A-Z_#$@0-9] | FullWidthLetter )*; -QUOTED_URL: '\''([A-Z][A-Z]+[:]) '//'(([A-Z]+[.]|[A-Z]+)|IPV4_ADDR) [:] DECIMAL '\''; -QUOTED_HOST_AND_PORT:'\''(([A-Z]+[.]|[A-Z]+)|IPV4_ADDR) ([:] DECIMAL) '\''; -STRING: 'N'? '\'' (~'\'' | '\'\'')* '\''; -BINARY: '0' 'X' HEX_DIGIT*; -FLOAT: DEC_DOT_DEC; -REAL: (DECIMAL | DEC_DOT_DEC) ('E' [+-]? DEC_DIGIT+); - -EQUAL: '='; - -GREATER: '>'; -LESS: '<'; -EXCLAMATION: '!'; - -PLUS_ASSIGN: '+='; -MINUS_ASSIGN: '-='; -MULT_ASSIGN: '*='; -DIV_ASSIGN: '/='; -MOD_ASSIGN: '%='; -AND_ASSIGN: '&='; -XOR_ASSIGN: '^='; -OR_ASSIGN: '|='; - -DOUBLE_BAR: '||'; -DOT: '.'; -UNDERLINE: '_'; -AT: '@'; -SHARP: '#'; -DOLLAR: '$'; -LR_BRACKET: '('; -RR_BRACKET: ')'; -COMMA: ','; -SEMI: ';'; -COLON: ':'; -STAR: '*'; -DIVIDE: '/'; -MODULE: '%'; -PLUS: '+'; -MINUS: '-'; -BIT_NOT: '~'; -BIT_OR: '|'; -BIT_AND: '&'; -BIT_XOR: '^'; - -fragment LETTER: [A-Z_]; -fragment IPV6_OCTECT: [0-9A-F][0-9A-F][0-9A-F][0-9A-F]; -IPV4_OCTECT: [0-9]?[0-9]?[0-9]; -fragment DEC_DOT_DEC: (DEC_DIGIT+ '.' DEC_DIGIT+ | DEC_DIGIT+ '.' | '.' DEC_DIGIT+); -fragment HEX_DIGIT: [0-9A-F]; -fragment DEC_DIGIT: [0-9]; - -fragment FullWidthLetter - : '\u00c0'..'\u00d6' - | '\u00d8'..'\u00f6' - | '\u00f8'..'\u00ff' - | '\u0100'..'\u1fff' - | '\u2c00'..'\u2fff' - | '\u3040'..'\u318f' - | '\u3300'..'\u337f' - | '\u3400'..'\u3fff' - | '\u4e00'..'\u9fff' - | '\ua000'..'\ud7ff' - | '\uf900'..'\ufaff' - | '\uff00'..'\ufff0' - // | '\u10000'..'\u1F9FF' //not support four bytes chars - // | '\u20000'..'\u2FA1F' - ; diff --git a/src/grammar/tsql/TSqlParser.g4 b/src/grammar/tsql/TSqlParser.g4 deleted file mode 100644 index e15fab7..0000000 --- a/src/grammar/tsql/TSqlParser.g4 +++ /dev/null @@ -1,4072 +0,0 @@ -/* -T-SQL (Transact-SQL, MSSQL) grammar. -The MIT License (MIT). -Copyright (c) 2017, Mark Adams (madams51703@gmail.com) -Copyright (c) 2015-2017, Ivan Kochurkin (kvanttt@gmail.com), Positive Technologies. -Copyright (c) 2016, Scott Ure (scott@redstormsoftware.com). -Copyright (c) 2016, Rui Zhang (ruizhang.ccs@gmail.com). -Copyright (c) 2016, Marcus Henriksson (kuseman80@gmail.com). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - -parser grammar TSqlParser; - -options { tokenVocab=TSqlLexer; } - -tsql_file - : batch* EOF - ; - -batch - : execute_body go_statement* - | execute_body? sql_clauses go_statement* - ; - -sql_clauses - : (sql_clause SEMI?)+ - ; - -sql_clause - : dml_clause - - | ddl_clause - - | cfl_statement - - | dbcc_clause - - | empty_statement - - | another_statement - - | backup_statement - ; - -// Data Manipulation Language: https://msdn.microsoft.com/en-us/library/ff848766(v=sql.120).aspx -dml_clause - : merge_statement - | delete_statement - | insert_statement - | select_statement - | update_statement - ; - -// Data Definition Language: https://msdn.microsoft.com/en-us/library/ff848799.aspx) -ddl_clause - : alter_application_role - | alter_assembly - | alter_asymmetric_key - | alter_authorization - | alter_authorization_for_azure_dw - | alter_authorization_for_parallel_dw - | alter_authorization_for_sql_database - | alter_availability_group - | alter_certificate - | alter_column_encryption_key - | alter_credential - | alter_cryptographic_provider - | alter_database - | alter_db_role - | alter_endpoint - | create_or_alter_event_session - | alter_external_data_source - | alter_external_library - | alter_external_resource_pool - | alter_fulltext_catalog - | alter_fulltext_stoplist - | alter_login_azure_sql - | alter_login_azure_sql_dw_and_pdw - | alter_login_sql_server - | alter_master_key_azure_sql - | alter_master_key_sql_server - | alter_message_type - | alter_partition_function - | alter_partition_scheme - | alter_remote_service_binding - | alter_resource_governor - | alter_schema_azure_sql_dw_and_pdw - | alter_schema_sql - | alter_sequence - | alter_server_audit - | alter_server_audit_specification - | alter_server_configuration - | alter_server_role - | alter_server_role_pdw - | alter_service - | alter_service_master_key - | alter_symmetric_key - | alter_table - | alter_user - | alter_user_azure_sql - | alter_workload_group - | create_application_role - | create_assembly - | create_asymmetric_key - | create_column_encryption_key - | create_column_master_key - | create_credential - | create_cryptographic_provider - | create_database - | create_db_role - | create_event_notification - | create_external_library - | create_external_resource_pool - | create_fulltext_catalog - | create_fulltext_stoplist - | create_index - | create_login_azure_sql - | create_login_pdw - | create_login_sql_server - | create_master_key_azure_sql - | create_master_key_sql_server - | create_or_alter_broker_priority - | create_or_alter_function - | create_or_alter_procedure - | create_or_alter_trigger - | create_remote_service_binding - | create_resource_pool - | create_route - | create_rule - | create_schema - | create_schema_azure_sql_dw_and_pdw - | create_search_property_list - | create_security_policy - | create_sequence - | create_server_audit - | create_server_audit_specification - | create_server_role - | create_service - | create_statistics - | create_symmetric_key - | create_synonym - | create_table - | create_type - | create_user - | create_user_azure_sql_dw - | create_view - | create_workload_group - | create_xml_schema_collection - | drop_aggregate - | drop_application_role - | drop_assembly - | drop_asymmetric_key - | drop_availability_group - | drop_broker_priority - | drop_certificate - | drop_column_encryption_key - | drop_column_master_key - | drop_contract - | drop_credential - | drop_cryptograhic_provider - | drop_database - | drop_database_audit_specification - | drop_database_scoped_credential - | drop_db_role - | drop_default - | drop_endpoint - | drop_event_notifications - | drop_event_session - | drop_external_data_source - | drop_external_file_format - | drop_external_library - | drop_external_resource_pool - | drop_external_table - | drop_fulltext_catalog - | drop_fulltext_index - | drop_fulltext_stoplist - | drop_function - | drop_index - | drop_login - | drop_master_key - | drop_message_type - | drop_partition_function - | drop_partition_scheme - | drop_procedure - | drop_queue - | drop_remote_service_binding - | drop_resource_pool - | drop_route - | drop_rule - | drop_schema - | drop_search_property_list - | drop_security_policy - | drop_sequence - | drop_server_audit - | drop_server_audit_specification - | drop_server_role - | drop_service - | drop_signature - | drop_statistics - | drop_statistics_name_azure_dw_and_pdw - | drop_symmetric_key - | drop_synonym - | drop_table - | drop_trigger - | drop_type - | drop_user - | drop_view - | drop_workload_group - | drop_xml_schema_collection - | disable_trigger - | enable_trigger - | lock_table - | truncate_table - | update_statistics - ; -backup_statement - : backup_database - | backup_log - | backup_certificate - | backup_master_key - | backup_service_master_key - ; - -// Control-of-Flow Language: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/control-of-flow -cfl_statement - : block_statement - | break_statement - | continue_statement - | goto_statement - | if_statement - | return_statement - | throw_statement - | try_catch_statement - | waitfor_statement - | while_statement - | print_statement - | raiseerror_statement - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/begin-end-transact-sql -block_statement - : BEGIN ';'? sql_clauses? END ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/break-transact-sql -break_statement - : BREAK ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/continue-transact-sql -continue_statement - : CONTINUE ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/goto-transact-sql -goto_statement - : GOTO id ';'? - | id ':' ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/return-transact-sql -return_statement - : RETURN expression? ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/if-else-transact-sql -if_statement - : IF search_condition sql_clause (ELSE sql_clause)? ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/throw-transact-sql -throw_statement - : THROW (throw_error_number ',' throw_message ',' throw_state)? ';'? - ; - -throw_error_number - : DECIMAL | LOCAL_ID - ; - -throw_message - : STRING | LOCAL_ID - ; - -throw_state - : DECIMAL | LOCAL_ID - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/try-catch-transact-sql -try_catch_statement - : BEGIN TRY ';'? try_clauses=sql_clauses? END TRY ';'? BEGIN CATCH ';'? catch_clauses=sql_clauses? END CATCH ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/waitfor-transact-sql -waitfor_statement - : WAITFOR receive_statement? ','? ((DELAY | TIME | TIMEOUT) time)? expression? ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/while-transact-sql -while_statement - : WHILE search_condition (sql_clause | BREAK ';'? | CONTINUE ';'?) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/print-transact-sql -print_statement - : PRINT (expression | DOUBLE_QUOTE_ID) (',' LOCAL_ID)* ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/raiserror-transact-sql -raiseerror_statement - : RAISERROR '(' msg=(DECIMAL | STRING | LOCAL_ID) ',' severity=constant_LOCAL_ID ',' - state=constant_LOCAL_ID (',' constant_LOCAL_ID)* ')' (WITH (LOG | SETERROR))? ';'? - | RAISERROR DECIMAL formatstring=(STRING | LOCAL_ID | DOUBLE_QUOTE_ID) (',' argument=(DECIMAL | STRING | LOCAL_ID))* - ; - -empty_statement - : ';' - ; - -another_statement - : declare_statement - | cursor_statement - | conversation_statement - | create_contract - | create_queue - | alter_queue - | execute_statement - | kill_statement - | message_statement - | security_statement - | set_statement - | transaction_statement - | use_statement - | setuser_statement - | reconfigure_statement - | shutdown_statement - ; -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-application-role-transact-sql - -alter_application_role - : ALTER APPLICATION ROLE appliction_role=id WITH (COMMA? NAME EQUAL new_application_role_name=id)? (COMMA? PASSWORD EQUAL application_role_password=STRING)? (COMMA? DEFAULT_SCHEMA EQUAL app_role_default_schema=id)? - ; - -create_application_role - : CREATE APPLICATION ROLE appliction_role=id WITH (COMMA? PASSWORD EQUAL application_role_password=STRING)? (COMMA? DEFAULT_SCHEMA EQUAL app_role_default_schema=id)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-aggregate-transact-sql - -drop_aggregate - : DROP AGGREGATE ( IF EXISTS )? ( schema_name=id DOT )? aggregate_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-application-role-transact-sql -drop_application_role - : DROP APPLICATION ROLE rolename=id - ; - -alter_assembly - : alter_assembly_start assembly_name=id alter_assembly_clause - ; - -alter_assembly_start - : ALTER ASSEMBLY - ; - -alter_assembly_clause - : alter_assembly_from_clause? alter_assembly_with_clause? alter_assembly_drop_clause? alter_assembly_add_clause? - ; - -alter_assembly_from_clause - : alter_assembly_from_clause_start (client_assembly_specifier | alter_assembly_file_bits ) - ; - -alter_assembly_from_clause_start - : FROM - ; - -alter_assembly_drop_clause - : alter_assembly_drop alter_assembly_drop_multiple_files - ; - -alter_assembly_drop_multiple_files - : ALL - | multiple_local_files - ; - -alter_assembly_drop - : DROP - ; - -alter_assembly_add_clause - : alter_asssembly_add_clause_start alter_assembly_client_file_clause - ; - -alter_asssembly_add_clause_start - : ADD FILE FROM - ; - -// need to implement -alter_assembly_client_file_clause - : alter_assembly_file_name (alter_assembly_as id)? - ; - -alter_assembly_file_name - : STRING - ; - -//need to implement -alter_assembly_file_bits - : alter_assembly_as id - ; - -alter_assembly_as - : AS - ; - -alter_assembly_with_clause - : alter_assembly_with assembly_option - ; - -alter_assembly_with - : WITH - ; - -client_assembly_specifier - : network_file_share - | local_file - | STRING - ; - -assembly_option - : PERMISSION_SET EQUAL (SAFE|EXTERNAL_ACCESS|UNSAFE) - | VISIBILITY EQUAL (ON | OFF) - | UNCHECKED DATA - | assembly_option COMMA - ; - -network_file_share - : network_file_start network_computer file_path - ; - -network_computer - : computer_name=id - ; - -network_file_start - : DOUBLE_BACK_SLASH - ; - -file_path - : file_directory_path_separator file_path - | id - ; - -file_directory_path_separator - : '\\' - ; - -local_file - : local_drive file_path - ; - -local_drive - : - DISK_DRIVE - ; -multiple_local_files - : - multiple_local_file_start local_file SINGLE_QUOTE COMMA - | local_file - ; - -multiple_local_file_start - : SINGLE_QUOTE - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-assembly-transact-sql -create_assembly - : CREATE ASSEMBLY assembly_name=id (AUTHORIZATION owner_name=id)? - FROM (COMMA? (STRING|BINARY) )+ - (WITH PERMISSION_SET EQUAL (SAFE|EXTERNAL_ACCESS|UNSAFE) )? - - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-assembly-transact-sql -drop_assembly - : DROP ASSEMBLY ( IF EXISTS )? (COMMA? assembly_name=id)+ - ( WITH NO DEPENDENTS )? - ; -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-asymmetric-key-transact-sql - -alter_asymmetric_key - : - alter_asymmetric_key_start Asym_Key_Name=id (asymmetric_key_option | REMOVE PRIVATE KEY ) - ; - -alter_asymmetric_key_start - : ALTER ASYMMETRIC KEY - ; - -asymmetric_key_option - : asymmetric_key_option_start asymmetric_key_password_change_option ( COMMA asymmetric_key_password_change_option)? RR_BRACKET - ; - -asymmetric_key_option_start - : WITH PRIVATE KEY LR_BRACKET - ; - -asymmetric_key_password_change_option - : DECRYPTION BY PASSWORD EQUAL STRING - | ENCRYPTION BY PASSWORD EQUAL STRING - ; - - -//https://docs.microsoft.com/en-us/sql/t-sql/statements/create-asymmetric-key-transact-sql - -create_asymmetric_key - : CREATE ASYMMETRIC KEY Asym_Key_Nam=id - (AUTHORIZATION database_principal_name=id)? - ( FROM (FILE EQUAL STRING |EXECUTABLE_FILE EQUAL STRING|ASSEMBLY Assembly_Name=id | PROVIDER Provider_Name=id) )? - (WITH (ALGORITHM EQUAL ( RSA_4096 | RSA_3072 | RSA_2048 | RSA_1024 | RSA_512) |PROVIDER_KEY_NAME EQUAL provider_key_name=STRING | CREATION_DISPOSITION EQUAL (CREATE_NEW|OPEN_EXISTING) ) )? - (ENCRYPTION BY PASSWORD EQUAL asymmetric_key_password=STRING )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-asymmetric-key-transact-sql -drop_asymmetric_key - : DROP ASYMMETRIC KEY key_name=id ( REMOVE PROVIDER KEY )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-authorization-transact-sql - -alter_authorization - : alter_authorization_start (class_type colon_colon)? entity=entity_name entity_to authorization_grantee - ; - -authorization_grantee - : principal_name=id - | SCHEMA OWNER - ; - -entity_to - : TO - ; - -colon_colon - : COLON COLON - ; - -alter_authorization_start - : ALTER AUTHORIZATION ON - ; - -alter_authorization_for_sql_database - : alter_authorization_start (class_type_for_sql_database colon_colon)? entity=entity_name entity_to authorization_grantee - ; - -alter_authorization_for_azure_dw - : alter_authorization_start (class_type_for_azure_dw colon_colon)? entity=entity_name_for_azure_dw entity_to authorization_grantee - ; - -alter_authorization_for_parallel_dw - : alter_authorization_start (class_type_for_parallel_dw colon_colon)? entity=entity_name_for_parallel_dw entity_to authorization_grantee - ; - - -class_type - : OBJECT - | ASSEMBLY - | ASYMMETRIC KEY - | AVAILABILITY GROUP - | CERTIFICATE - | CONTRACT - | TYPE - | DATABASE - | ENDPOINT - | FULLTEXT CATALOG - | FULLTEXT STOPLIST - | MESSAGE TYPE - | REMOTE SERVICE BINDING - | ROLE - | ROUTE - | SCHEMA - | SEARCH PROPERTY LIST - | SERVER ROLE - | SERVICE - | SYMMETRIC KEY - | XML SCHEMA COLLECTION - ; - -class_type_for_sql_database - : OBJECT - | ASSEMBLY - | ASYMMETRIC KEY - | CERTIFICATE - | TYPE - | DATABASE - | FULLTEXT CATALOG - | FULLTEXT STOPLIST - | ROLE - | SCHEMA - | SEARCH PROPERTY LIST - | SYMMETRIC KEY - | XML SCHEMA COLLECTION - ; - -class_type_for_azure_dw - : SCHEMA - | OBJECT - ; - -class_type_for_parallel_dw - : DATABASE - | SCHEMA - | OBJECT - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-availability-group-transact-sql -drop_availability_group - : DROP AVAILABILITY GROUP group_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-availability-group-transact-sql -alter_availability_group - : alter_availability_group_start alter_availability_group_options - ; - -alter_availability_group_start - : ALTER AVAILABILITY GROUP group_name=id - ; - -alter_availability_group_options - : SET LR_BRACKET ( ( AUTOMATED_BACKUP_PREFERENCE EQUAL ( PRIMARY | SECONDARY_ONLY| SECONDARY | NONE ) | FAILURE_CONDITION_LEVEL EQUAL DECIMAL | HEALTH_CHECK_TIMEOUT EQUAL milliseconds=DECIMAL | DB_FAILOVER EQUAL ( ON | OFF ) | REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT EQUAL DECIMAL ) RR_BRACKET ) - | ADD DATABASE database_name=id - | REMOVE DATABASE database_name=id - | ADD REPLICA ON server_instance=STRING (WITH LR_BRACKET ( (ENDPOINT_URL EQUAL STRING)? (COMMA? AVAILABILITY_MODE EQUAL (SYNCHRONOUS_COMMIT| ASYNCHRONOUS_COMMIT))? (COMMA? FAILOVER_MODE EQUAL (AUTOMATIC|MANUAL) )? (COMMA? SEEDING_MODE EQUAL (AUTOMATIC|MANUAL) )? (COMMA? BACKUP_PRIORITY EQUAL DECIMAL)? ( COMMA? PRIMARY_ROLE LR_BRACKET ALLOW_CONNECTIONS EQUAL ( READ_WRITE | ALL ) RR_BRACKET)? ( COMMA? SECONDARY_ROLE LR_BRACKET ALLOW_CONNECTIONS EQUAL ( READ_ONLY ) RR_BRACKET )? ) -) RR_BRACKET - |SECONDARY_ROLE LR_BRACKET (ALLOW_CONNECTIONS EQUAL (NO|READ_ONLY|ALL) | READ_ONLY_ROUTING_LIST EQUAL ( LR_BRACKET ( ( STRING) ) RR_BRACKET ) ) - |PRIMARY_ROLE LR_BRACKET (ALLOW_CONNECTIONS EQUAL (NO|READ_ONLY|ALL) | READ_ONLY_ROUTING_LIST EQUAL ( LR_BRACKET ( (COMMA? STRING)*|NONE ) RR_BRACKET ) - | SESSION_TIMEOUT EQUAL session_timeout=DECIMAL -) - | MODIFY REPLICA ON server_instance=STRING (WITH LR_BRACKET (ENDPOINT_URL EQUAL STRING| AVAILABILITY_MODE EQUAL (SYNCHRONOUS_COMMIT| ASYNCHRONOUS_COMMIT) | FAILOVER_MODE EQUAL (AUTOMATIC|MANUAL) | SEEDING_MODE EQUAL (AUTOMATIC|MANUAL) | BACKUP_PRIORITY EQUAL DECIMAL ) - |SECONDARY_ROLE LR_BRACKET (ALLOW_CONNECTIONS EQUAL (NO|READ_ONLY|ALL) | READ_ONLY_ROUTING_LIST EQUAL ( LR_BRACKET ( ( STRING) ) RR_BRACKET ) ) - |PRIMARY_ROLE LR_BRACKET (ALLOW_CONNECTIONS EQUAL (NO|READ_ONLY|ALL) | READ_ONLY_ROUTING_LIST EQUAL ( LR_BRACKET ( (COMMA? STRING)*|NONE ) RR_BRACKET ) - | SESSION_TIMEOUT EQUAL session_timeout=DECIMAL -) ) RR_BRACKET - | REMOVE REPLICA ON STRING - | JOIN - | JOIN AVAILABILITY GROUP ON (COMMA? ag_name=STRING WITH LR_BRACKET ( LISTENER_URL EQUAL STRING COMMA AVAILABILITY_MODE EQUAL (SYNCHRONOUS_COMMIT|ASYNCHRONOUS_COMMIT) COMMA FAILOVER_MODE EQUAL MANUAL COMMA SEEDING_MODE EQUAL (AUTOMATIC|MANUAL) RR_BRACKET ) )+ - | MODIFY AVAILABILITY GROUP ON (COMMA? ag_name_modified=STRING WITH LR_BRACKET (LISTENER_URL EQUAL STRING (COMMA? AVAILABILITY_MODE EQUAL (SYNCHRONOUS_COMMIT|ASYNCHRONOUS_COMMIT) )? (COMMA? FAILOVER_MODE EQUAL MANUAL )? (COMMA? SEEDING_MODE EQUAL (AUTOMATIC|MANUAL))? RR_BRACKET ) )+ - |GRANT CREATE ANY DATABASE - | DENY CREATE ANY DATABASE - | FAILOVER - | FORCE_FAILOVER_ALLOW_DATA_LOSS - | ADD LISTENER listener_name=STRING LR_BRACKET ( WITH DHCP (ON LR_BRACKET (IPV4_ADDR IPV4_ADDR ) RR_BRACKET ) | WITH IP LR_BRACKET ( (COMMA? LR_BRACKET ( IPV4_ADDR COMMA IPV4_ADDR | IPV6_ADDR ) RR_BRACKET)+ RR_BRACKET (COMMA PORT EQUAL DECIMAL)? ) ) RR_BRACKET - | MODIFY LISTENER (ADD IP LR_BRACKET (IPV4_ADDR IPV4_ADDR | IPV6_ADDR) RR_BRACKET | PORT EQUAL DECIMAL ) - |RESTART LISTENER STRING - |REMOVE LISTENER STRING - |OFFLINE - | WITH LR_BRACKET DTC_SUPPORT EQUAL PER_DB RR_BRACKET - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-broker-priority-transact-sql -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-broker-priority-transact-sql -create_or_alter_broker_priority - : (CREATE | ALTER) BROKER PRIORITY ConversationPriorityName=id FOR CONVERSATION - SET LR_BRACKET - ( CONTRACT_NAME EQUAL ( ( id) | ANY ) COMMA? )? - ( LOCAL_SERVICE_NAME EQUAL (DOUBLE_FORWARD_SLASH? id | ANY ) COMMA? )? - ( REMOTE_SERVICE_NAME EQUAL (RemoteServiceName=STRING | ANY ) COMMA? )? - ( PRIORITY_LEVEL EQUAL ( PriorityValue=DECIMAL | DEFAULT ) ) ? - RR_BRACKET - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-broker-priority-transact-sql -drop_broker_priority - : DROP BROKER PRIORITY ConversationPriorityName=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-certificate-transact-sql -alter_certificate - : ALTER CERTIFICATE certificate_name=id (REMOVE PRIVATE_KEY | WITH PRIVATE KEY LR_BRACKET ( FILE EQUAL STRING COMMA? | DECRYPTION BY PASSWORD EQUAL STRING COMMA?| ENCRYPTION BY PASSWORD EQUAL STRING COMMA?)+ RR_BRACKET | WITH ACTIVE FOR BEGIN_DIALOG EQUAL ( ON | OFF ) ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-column-encryption-key-transact-sql -alter_column_encryption_key - : ALTER COLUMN ENCRYPTION KEY column_encryption_key=id (ADD | DROP) VALUE LR_BRACKET COLUMN_MASTER_KEY EQUAL column_master_key_name=id ( COMMA ALGORITHM EQUAL algorithm_name=STRING COMMA ENCRYPTED_VALUE EQUAL BINARY)? RR_BRACKET - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-column-encryption-key-transact-sql -create_column_encryption_key - : CREATE COLUMN ENCRYPTION KEY column_encryption_key=id - WITH VALUES - (LR_BRACKET COMMA? COLUMN_MASTER_KEY EQUAL column_master_key_name=id COMMA - ALGORITHM EQUAL algorithm_name=STRING COMMA - ENCRYPTED_VALUE EQUAL encrypted_value=BINARY RR_BRACKET COMMA?)+ - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-certificate-transact-sql -drop_certificate - : DROP CERTIFICATE certificate_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-column-encryption-key-transact-sql -drop_column_encryption_key - : DROP COLUMN ENCRYPTION KEY key_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-column-master-key-transact-sql -drop_column_master_key - : DROP COLUMN MASTER KEY key_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-contract-transact-sql -drop_contract - : DROP CONTRACT dropped_contract_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-credential-transact-sql -drop_credential - : DROP CREDENTIAL credential_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-cryptographic-provider-transact-sql -drop_cryptograhic_provider - : DROP CRYPTOGRAPHIC PROVIDER provider_name=id - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-database-transact-sql -drop_database - : DROP DATABASE ( IF EXISTS )? (COMMA? database_name_or_database_snapshot_name=id)+ - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-database-audit-specification-transact-sql -drop_database_audit_specification - : DROP DATABASE AUDIT SPECIFICATION audit_specification_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-database-scoped-credential-transact-sql -drop_database_scoped_credential - : DROP DATABASE SCOPED CREDENTIAL credential_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-default-transact-sql -drop_default - : DROP DEFAULT ( IF EXISTS )? (COMMA? (schema_name=id DOT)? default_name=id) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-endpoint-transact-sql -drop_endpoint - : DROP ENDPOINT endPointName=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-external-data-source-transact-sql -drop_external_data_source - : DROP EXTERNAL DATA SOURCE external_data_source_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-external-file-format-transact-sql -drop_external_file_format - : DROP EXTERNAL FILE FORMAT external_file_format_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-external-library-transact-sql -drop_external_library - : DROP EXTERNAL LIBRARY library_name=id -( AUTHORIZATION owner_name=id )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-external-resource-pool-transact-sql -drop_external_resource_pool - : DROP EXTERNAL RESOURCE POOL pool_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-external-table-transact-sql -drop_external_table - : DROP EXTERNAL TABLE (database_name=id DOT)? (schema_name=id DOT)? table=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-event-notification-transact-sql -drop_event_notifications - : DROP EVENT NOTIFICATION (COMMA? notification_name=id)+ - ON (SERVER|DATABASE|QUEUE queue_name=id) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-event-session-transact-sql -drop_event_session - : DROP EVENT SESSION event_session_name=id - ON SERVER - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-fulltext-catalog-transact-sql -drop_fulltext_catalog - : DROP FULLTEXT CATALOG catalog_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-fulltext-index-transact-sql -drop_fulltext_index - : DROP FULLTEXT INDEX ON (schema=id DOT)? table=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-fulltext-stoplist-transact-sql -drop_fulltext_stoplist - : DROP FULLTEXT STOPLIST stoplist_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-login-transact-sql -drop_login - : DROP LOGIN login_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-master-key-transact-sql -drop_master_key - : DROP MASTER KEY - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-message-type-transact-sql -drop_message_type - : DROP MESSAGE TYPE message_type_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-partition-function-transact-sql -drop_partition_function - : DROP PARTITION FUNCTION partition_function_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-partition-scheme-transact-sql -drop_partition_scheme - : DROP PARTITION SCHEME partition_scheme_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-queue-transact-sql -drop_queue - : DROP QUEUE (database_name=id DOT)? (schema_name=id DOT)? queue_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-remote-service-binding-transact-sql -drop_remote_service_binding - : DROP REMOTE SERVICE BINDING binding_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-resource-pool-transact-sql -drop_resource_pool - : DROP RESOURCE POOL pool_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-role-transact-sql -drop_db_role - : DROP ROLE ( IF EXISTS )? role_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-route-transact-sql -drop_route - : DROP ROUTE route_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-rule-transact-sql -drop_rule - : DROP RULE ( IF EXISTS )? (COMMA? (schema_name=id DOT)? rule_name=id)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-schema-transact-sql -drop_schema - : DROP SCHEMA ( IF EXISTS )? schema_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-search-property-list-transact-sql -drop_search_property_list - : DROP SEARCH PROPERTY LIST property_list_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-security-policy-transact-sql -drop_security_policy - : DROP SECURITY POLICY ( IF EXISTS )? (schema_name=id DOT )? security_policy_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-sequence-transact-sql -drop_sequence - : DROP SEQUENCE ( IF EXISTS )? ( COMMA? (database_name=id DOT)? (schema_name=id DOT)? sequence_name=id )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-server-audit-transact-sql -drop_server_audit - : DROP SERVER AUDIT audit_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-server-audit-specification-transact-sql -drop_server_audit_specification - : DROP SERVER AUDIT SPECIFICATION audit_specification_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-server-role-transact-sql -drop_server_role - : DROP SERVER ROLE role_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-service-transact-sql -drop_service - : DROP SERVICE dropped_service_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-signature-transact-sql -drop_signature - : DROP ( COUNTER )? SIGNATURE FROM (schema_name=id DOT)? module_name=id - BY (COMMA? CERTIFICATE cert_name=id - | COMMA? ASYMMETRIC KEY Asym_key_name=id - )+ - ; - - -drop_statistics_name_azure_dw_and_pdw - : DROP STATISTICS (schema_name=id DOT)? object_name=id DOT statistics_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-symmetric-key-transact-sql -drop_symmetric_key - : DROP SYMMETRIC KEY symmetric_key_name=id (REMOVE PROVIDER KEY)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-synonym-transact-sql -drop_synonym - : DROP SYNONYM ( IF EXISTS )? ( schema=id DOT )? synonym_name=id - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-user-transact-sql -drop_user - : DROP USER ( IF EXISTS )? user_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-workload-group-transact-sql -drop_workload_group - : DROP WORKLOAD GROUP group_name=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-xml-schema-collection-transact-sql -drop_xml_schema_collection - : DROP XML SCHEMA COLLECTION ( relational_schema=id DOT )? sql_identifier=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/disable-trigger-transact-sql -disable_trigger - : DISABLE TRIGGER ( ( COMMA? (schema_name=id DOT)? trigger_name=id )+ | ALL) ON ((schema_id=id DOT)? object_name=id|DATABASE|ALL SERVER) - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/enable-trigger-transact-sql -enable_trigger - : ENABLE TRIGGER ( ( COMMA? (schema_name=id DOT)? trigger_name=id )+ | ALL) ON ( (schema_id=id DOT)? object_name=id|DATABASE|ALL SERVER) - ; - -lock_table - : LOCK TABLE table_name IN (SHARE | EXCLUSIVE) MODE (WAIT seconds=DECIMAL | NOWAIT)? ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/truncate-table-transact-sql -truncate_table - : TRUNCATE TABLE table_name - ( WITH LR_BRACKET - PARTITIONS LR_BRACKET - (COMMA? (DECIMAL|DECIMAL TO DECIMAL) )+ - RR_BRACKET - - RR_BRACKET - )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-column-master-key-transact-sql -create_column_master_key - : CREATE COLUMN MASTER KEY key_name=id - WITH LR_BRACKET - KEY_STORE_PROVIDER_NAME EQUAL key_store_provider_name=STRING COMMA - KEY_PATH EQUAL key_path=STRING - RR_BRACKET - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-credential-transact-sql -alter_credential - : ALTER CREDENTIAL credential_name=id - WITH IDENTITY EQUAL identity_name=STRING - ( COMMA SECRET EQUAL secret=STRING )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-credential-transact-sql -create_credential - : CREATE CREDENTIAL credential_name=id - WITH IDENTITY EQUAL identity_name=STRING - ( COMMA SECRET EQUAL secret=STRING )? - ( FOR CRYPTOGRAPHIC PROVIDER cryptographic_provider_name=id )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-cryptographic-provider-transact-sql -alter_cryptographic_provider - : ALTER CRYPTOGRAPHIC PROVIDER provider_name=id (FROM FILE EQUAL crypto_provider_ddl_file=STRING)? (ENABLE | DISABLE)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-cryptographic-provider-transact-sql -create_cryptographic_provider - : CREATE CRYPTOGRAPHIC PROVIDER provider_name=id - FROM FILE EQUAL path_of_DLL=STRING - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-event-notification-transact-sql -create_event_notification - : CREATE EVENT NOTIFICATION event_notification_name=id - ON (SERVER|DATABASE|QUEUE queue_name=id) - (WITH FAN_IN)? - FOR (COMMA? event_type_or_group=id)+ - TO SERVICE broker_service=STRING COMMA - broker_service_specifier_or_current_database=STRING - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-event-session-transact-sql -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-event-session-transact-sql -// todo: not implemented -create_or_alter_event_session - : (CREATE | ALTER) EVENT SESSION event_session_name=id ON SERVER - (COMMA? ADD EVENT ( (event_module_guid=id DOT)? event_package_name=id DOT event_name=id) - (LR_BRACKET - (SET ( COMMA? event_customizable_attributue=id EQUAL (DECIMAL|STRING) )* )? - ( ACTION LR_BRACKET (COMMA? (event_module_guid=id DOT)? event_package_name=id DOT action_name=id)+ RR_BRACKET)+ - (WHERE event_session_predicate_expression)? - RR_BRACKET )* - )* - (COMMA? DROP EVENT (event_module_guid=id DOT)? event_package_name=id DOT event_name=id )* - - ( (ADD TARGET (event_module_guid=id DOT)? event_package_name=id DOT target_name=id ) ( LR_BRACKET SET (COMMA? target_parameter_name=id EQUAL (LR_BRACKET? DECIMAL RR_BRACKET? |STRING) )+ RR_BRACKET )* )* - (DROP TARGET (event_module_guid=id DOT)? event_package_name=id DOT target_name=id )* - - - (WITH - LR_BRACKET - (COMMA? MAX_MEMORY EQUAL max_memory=DECIMAL (KB|MB) )? - (COMMA? EVENT_RETENTION_MODE EQUAL (ALLOW_SINGLE_EVENT_LOSS | ALLOW_MULTIPLE_EVENT_LOSS | NO_EVENT_LOSS ) )? - (COMMA? MAX_DISPATCH_LATENCY EQUAL (max_dispatch_latency_seconds=DECIMAL SECONDS | INFINITE) )? - (COMMA? MAX_EVENT_SIZE EQUAL max_event_size=DECIMAL (KB|MB) )? - (COMMA? MEMORY_PARTITION_MODE EQUAL (NONE | PER_NODE | PER_CPU) )? - (COMMA? TRACK_CAUSALITY EQUAL (ON|OFF) )? - (COMMA? STARTUP_STATE EQUAL (ON|OFF) )? - RR_BRACKET - )? - (STATE EQUAL (START|STOP) )? - - ; - -event_session_predicate_expression - : ( COMMA? (AND|OR)? NOT? ( event_session_predicate_factor | LR_BRACKET event_session_predicate_expression RR_BRACKET) )+ - ; - -event_session_predicate_factor - : event_session_predicate_leaf - | LR_BRACKET event_session_predicate_expression RR_BRACKET - ; - -event_session_predicate_leaf - : (event_field_name=id | (event_field_name=id |( (event_module_guid=id DOT)? event_package_name=id DOT predicate_source_name=id ) ) (EQUAL |(LESS GREATER) | (EXCLAMATION EQUAL) | GREATER | (GREATER EQUAL)| LESS | LESS EQUAL) (DECIMAL | STRING) ) - | (event_module_guid=id DOT)? event_package_name=id DOT predicate_compare_name=id LR_BRACKET (event_field_name=id |( (event_module_guid=id DOT)? event_package_name=id DOT predicate_source_name=id ) COMMA (DECIMAL | STRING) ) RR_BRACKET - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-external-data-source-transact-sql -alter_external_data_source - : ALTER EXTERNAL DATA SOURCE data_source_name=id SET - ( LOCATION EQUAL location=(QUOTED_URL|QUOTED_HOST_AND_PORT) COMMA? | RESOURCE_MANAGER_LOCATION EQUAL resource_manager_location=(QUOTED_URL|QUOTED_HOST_AND_PORT) COMMA? | CREDENTIAL EQUAL credential_name=id )+ - | ALTER EXTERNAL DATA SOURCE data_source_name=id WITH LR_BRACKET TYPE EQUAL BLOB_STORAGE COMMA LOCATION EQUAL location=STRING (COMMA CREDENTIAL EQUAL credential_name=id )? RR_BRACKET - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-external-library-transact-sql -alter_external_library - : ALTER EXTERNAL LIBRARY library_name=id (AUTHORIZATION owner_name=id)? - (SET|ADD) ( LR_BRACKET CONTENT EQUAL (client_library=STRING | BINARY | NONE) (COMMA PLATFORM EQUAL (WINDOWS|LINUX)? RR_BRACKET) WITH (COMMA? LANGUAGE EQUAL (R|PYTHON) | DATA_SOURCE EQUAL external_data_source_name=id )+ RR_BRACKET ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-external-library-transact-sql -create_external_library - : CREATE EXTERNAL LIBRARY library_name=id (AUTHORIZATION owner_name=id)? - FROM (COMMA? LR_BRACKET? (CONTENT EQUAL)? (client_library=STRING | BINARY | NONE) (COMMA PLATFORM EQUAL (WINDOWS|LINUX)? RR_BRACKET)? ) ( WITH (COMMA? LANGUAGE EQUAL (R|PYTHON) | DATA_SOURCE EQUAL external_data_source_name=id )+ RR_BRACKET )? - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-external-resource-pool-transact-sql -alter_external_resource_pool - : ALTER EXTERNAL RESOURCE POOL (pool_name=id | DEFAULT_DOUBLE_QUOTE) WITH LR_BRACKET MAX_CPU_PERCENT EQUAL max_cpu_percent=DECIMAL ( COMMA? AFFINITY CPU EQUAL (AUTO|(COMMA? DECIMAL TO DECIMAL |COMMA DECIMAL )+ ) | NUMANODE EQUAL (COMMA? DECIMAL TO DECIMAL| COMMA? DECIMAL )+ ) (COMMA? MAX_MEMORY_PERCENT EQUAL max_memory_percent=DECIMAL)? (COMMA? MAX_PROCESSES EQUAL max_processes=DECIMAL)? RR_BRACKET - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-external-resource-pool-transact-sql -create_external_resource_pool - : CREATE EXTERNAL RESOURCE POOL pool_name=id WITH LR_BRACKET MAX_CPU_PERCENT EQUAL max_cpu_percent=DECIMAL ( COMMA? AFFINITY CPU EQUAL (AUTO|(COMMA? DECIMAL TO DECIMAL |COMMA DECIMAL )+ ) | NUMANODE EQUAL (COMMA? DECIMAL TO DECIMAL| COMMA? DECIMAL )+ ) (COMMA? MAX_MEMORY_PERCENT EQUAL max_memory_percent=DECIMAL)? (COMMA? MAX_PROCESSES EQUAL max_processes=DECIMAL)? RR_BRACKET - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-fulltext-catalog-transact-sql -alter_fulltext_catalog - : ALTER FULLTEXT CATALOG catalog_name=id (REBUILD (WITH ACCENT_SENSITIVITY EQUAL (ON|OFF) )? | REORGANIZE | AS DEFAULT ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-fulltext-catalog-transact-sql -create_fulltext_catalog - : CREATE FULLTEXT CATALOG catalog_name=id - (ON FILEGROUP filegroup=id)? - (IN PATH rootpath=STRING)? - (WITH ACCENT_SENSITIVITY EQUAL (ON|OFF) )? - (AS DEFAULT)? - (AUTHORIZATION owner_name=id)? - ; - - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-fulltext-stoplist-transact-sql -alter_fulltext_stoplist - : ALTER FULLTEXT STOPLIST stoplist_name=id (ADD stopword=STRING LANGUAGE (STRING|DECIMAL|BINARY) | DROP ( stopword=STRING LANGUAGE (STRING|DECIMAL|BINARY) |ALL (STRING|DECIMAL|BINARY) | ALL ) ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-fulltext-stoplist-transact-sql -create_fulltext_stoplist - : CREATE FULLTEXT STOPLIST stoplist_name=id - (FROM ( (database_name=id DOT)? source_stoplist_name=id |SYSTEM STOPLIST ) )? - (AUTHORIZATION owner_name=id)? - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-login-transact-sql -alter_login_sql_server - : ALTER LOGIN login_name=id - ( (ENABLE|DISABLE)? | WITH ( (PASSWORD EQUAL ( password=STRING | password_hash=BINARY HASHED ) ) (MUST_CHANGE|UNLOCK)* )? (OLD_PASSWORD EQUAL old_password=STRING (MUST_CHANGE|UNLOCK)* )? (DEFAULT_DATABASE EQUAL default_database=id)? (DEFAULT_LANGUAGE EQUAL default_laguage=id)? (NAME EQUAL login_name=id)? (CHECK_POLICY EQUAL (ON|OFF) )? (CHECK_EXPIRATION EQUAL (ON|OFF) )? (CREDENTIAL EQUAL credential_name=id)? (NO CREDENTIAL)? | (ADD|DROP) CREDENTIAL credential_name=id ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-login-transact-sql -create_login_sql_server - : CREATE LOGIN login_name=id - ( WITH ( (PASSWORD EQUAL ( password=STRING | password_hash=BINARY HASHED ) ) (MUST_CHANGE|UNLOCK)* )? - (COMMA? SID EQUAL sid=BINARY)? - (COMMA? DEFAULT_DATABASE EQUAL default_database=id)? - (COMMA? DEFAULT_LANGUAGE EQUAL default_laguage=id)? - (COMMA? CHECK_EXPIRATION EQUAL (ON|OFF) )? - (COMMA? CHECK_POLICY EQUAL (ON|OFF) )? - (COMMA? CREDENTIAL EQUAL credential_name=id)? - |(FROM - (WINDOWS - (WITH (COMMA? DEFAULT_DATABASE EQUAL default_database=id)? (COMMA? DEFAULT_LANGUAGE EQUAL default_language=STRING)? ) - | CERTIFICATE certname=id - | ASYMMETRIC KEY asym_key_name=id - ) - ) - ) - ; - -alter_login_azure_sql - : ALTER LOGIN login_name=id ( (ENABLE|DISABLE)? | WITH (PASSWORD EQUAL password=STRING (OLD_PASSWORD EQUAL old_password=STRING)? | NAME EQUAL login_name=id ) ) - ; - -create_login_azure_sql - : CREATE LOGIN login_name=id - WITH PASSWORD EQUAL STRING (SID EQUAL sid=BINARY)? - ; - -alter_login_azure_sql_dw_and_pdw - : ALTER LOGIN login_name=id ( (ENABLE|DISABLE)? | WITH (PASSWORD EQUAL password=STRING (OLD_PASSWORD EQUAL old_password=STRING (MUST_CHANGE|UNLOCK)* )? | NAME EQUAL login_name=id ) ) - ; - -create_login_pdw - : CREATE LOGIN loginName=id - (WITH - ( PASSWORD EQUAL password=STRING (MUST_CHANGE)? - (CHECK_POLICY EQUAL (ON|OFF)? )? - ) - | FROM WINDOWS - ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-master-key-transact-sql -alter_master_key_sql_server - : ALTER MASTER KEY ( (FORCE)? REGENERATE WITH ENCRYPTION BY PASSWORD EQUAL password=STRING |(ADD|DROP) ENCRYPTION BY (SERVICE MASTER KEY | PASSWORD EQUAL encryption_password=STRING) ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-master-key-transact-sql -create_master_key_sql_server - : CREATE MASTER KEY ENCRYPTION BY PASSWORD EQUAL password=STRING - ; - -alter_master_key_azure_sql - : ALTER MASTER KEY ( (FORCE)? REGENERATE WITH ENCRYPTION BY PASSWORD EQUAL password=STRING |ADD ENCRYPTION BY (SERVICE MASTER KEY | PASSWORD EQUAL encryption_password=STRING) | DROP ENCRYPTION BY PASSWORD EQUAL encryption_password=STRING ) - ; - -create_master_key_azure_sql - : CREATE MASTER KEY (ENCRYPTION BY PASSWORD EQUAL password=STRING)? - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-message-type-transact-sql -alter_message_type - : ALTER MESSAGE TYPE message_type_name=id VALIDATION EQUAL (NONE | EMPTY | WELL_FORMED_XML | VALID_XML WITH SCHEMA COLLECTION schema_collection_name=id) - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-partition-function-transact-sql -alter_partition_function - : ALTER PARTITION FUNCTION partition_function_name=id LR_BRACKET RR_BRACKET (SPLIT|MERGE) RANGE LR_BRACKET DECIMAL RR_BRACKET - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-partition-scheme-transact-sql -alter_partition_scheme - : ALTER PARTITION SCHEME partition_scheme_name=id NEXT USED (file_group_name=id)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-remote-service-binding-transact-sql -alter_remote_service_binding - : ALTER REMOTE SERVICE BINDING binding_name=id - WITH (USER EQUAL user_name=id)? - (COMMA ANONYMOUS EQUAL (ON|OFF) )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-remote-service-binding-transact-sql -create_remote_service_binding - : CREATE REMOTE SERVICE BINDING binding_name=id - (AUTHORIZATION owner_name=id)? - TO SERVICE remote_service_name=STRING - WITH (USER EQUAL user_name=id)? - (COMMA ANONYMOUS EQUAL (ON|OFF) )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-resource-pool-transact-sql -create_resource_pool - : CREATE RESOURCE POOL pool_name=id - (WITH - LR_BRACKET - (COMMA? MIN_CPU_PERCENT EQUAL DECIMAL)? - (COMMA? MAX_CPU_PERCENT EQUAL DECIMAL)? - (COMMA? CAP_CPU_PERCENT EQUAL DECIMAL)? - (COMMA? AFFINITY SCHEDULER EQUAL - (AUTO - | LR_BRACKET (COMMA? (DECIMAL|DECIMAL TO DECIMAL) )+ RR_BRACKET - | NUMANODE EQUAL LR_BRACKET (COMMA? (DECIMAL|DECIMAL TO DECIMAL) )+ RR_BRACKET - ) - )? - (COMMA? MIN_MEMORY_PERCENT EQUAL DECIMAL)? - (COMMA? MAX_MEMORY_PERCENT EQUAL DECIMAL)? - (COMMA? MIN_IOPS_PER_VOLUME EQUAL DECIMAL)? - (COMMA? MAX_IOPS_PER_VOLUME EQUAL DECIMAL)? - RR_BRACKET - )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-resource-governor-transact-sql -alter_resource_governor - : ALTER RESOURCE GOVERNOR ( (DISABLE | RECONFIGURE) | WITH LR_BRACKET CLASSIFIER_FUNCTION EQUAL ( schema_name=id DOT function_name=id | NULL ) RR_BRACKET | RESET STATISTICS | WITH LR_BRACKET MAX_OUTSTANDING_IO_PER_VOLUME EQUAL max_outstanding_io_per_volume=DECIMAL RR_BRACKET ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-role-transact-sql -alter_db_role - : ALTER ROLE role_name=id - ( (ADD|DROP) MEMBER database_principal=id - | WITH NAME EQUAL new_role_name=id ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-role-transact-sql -create_db_role - : CREATE ROLE role_name=id (AUTHORIZATION owner_name = id)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-route-transact-sql -create_route - : CREATE ROUTE route_name=id - (AUTHORIZATION owner_name=id)? - WITH - (COMMA? SERVICE_NAME EQUAL route_service_name=STRING)? - (COMMA? BROKER_INSTANCE EQUAL broker_instance_identifier=STRING)? - (COMMA? LIFETIME EQUAL DECIMAL)? - COMMA? ADDRESS EQUAL (STRING|QUOTED_URL) - (COMMA MIRROR_ADDRESS EQUAL (STRING|QUOTED_URL) )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-rule-transact-sql -create_rule - : CREATE RULE (schema_name=id DOT)? rule_name=id - AS search_condition - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-schema-transact-sql -alter_schema_sql - : ALTER SCHEMA schema_name=id TRANSFER ((OBJECT|TYPE|XML SCHEMA COLLECTION) COLON COLON )? id (DOT id)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-schema-transact-sql -create_schema - : CREATE SCHEMA - (schema_name=id - |AUTHORIZATION owner_name=id - | schema_name=id AUTHORIZATION owner_name=id - ) - (create_table - |create_view - | (GRANT|DENY) (SELECT|INSERT|DELETE|UPDATE) ON (SCHEMA COLON COLON)? object_name=id TO owner_name=id - | REVOKE (SELECT|INSERT|DELETE|UPDATE) ON (SCHEMA COLON COLON)? object_name=id FROM owner_name=id - )* - ; - -create_schema_azure_sql_dw_and_pdw - : -CREATE SCHEMA schema_name=id (AUTHORIZATION owner_name=id )? - ; - -alter_schema_azure_sql_dw_and_pdw - : ALTER SCHEMA schema_name=id TRANSFER (OBJECT COLON COLON )? id (DOT ID)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-search-property-list-transact-sql -create_search_property_list - : CREATE SEARCH PROPERTY LIST new_list_name=id - (FROM (database_name=id DOT)? source_list_name=id )? - (AUTHORIZATION owner_name=id)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-security-policy-transact-sql -create_security_policy - : CREATE SECURITY POLICY (schema_name=id DOT)? security_policy_name=id - (COMMA? ADD (FILTER|BLOCK)? PREDICATE tvf_schema_name=id DOT security_predicate_function_name=id - LR_BRACKET (COMMA? column_name_or_arguments=id)+ RR_BRACKET - ON table_schema_name=id DOT name=id - (COMMA? AFTER (INSERT|UPDATE) - | COMMA? BEFORE (UPDATE|DELETE) - )* - )+ - (WITH LR_BRACKET - STATE EQUAL (ON|OFF) - (SCHEMABINDING (ON|OFF) )? - RR_BRACKET - )? - (NOT FOR REPLICATION)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-sequence-transact-sql -alter_sequence - : ALTER SEQUENCE (schema_name=id DOT)? sequence_name=id ( RESTART (WITH DECIMAL)? )? (INCREMENT BY sequnce_increment=DECIMAL )? ( MINVALUE DECIMAL| NO MINVALUE)? (MAXVALUE DECIMAL| NO MAXVALUE)? (CYCLE|NO CYCLE)? (CACHE DECIMAL | NO CACHE)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-sequence-transact-sql -create_sequence - : CREATE SEQUENCE (schema_name=id DOT)? sequence_name=id - (AS data_type )? - (START WITH DECIMAL)? - (INCREMENT BY MINUS? DECIMAL)? - (MINVALUE DECIMAL? | NO MINVALUE)? - (MAXVALUE DECIMAL? | NO MAXVALUE)? - (CYCLE|NO CYCLE)? - (CACHE DECIMAL? | NO CACHE)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-server-audit-transact-sql -alter_server_audit - : ALTER SERVER AUDIT audit_name=id - ( ( TO - (FILE - ( LR_BRACKET - ( COMMA? FILEPATH EQUAL filepath=STRING - | COMMA? MAXSIZE EQUAL ( DECIMAL (MB|GB|TB) - | UNLIMITED - ) - | COMMA? MAX_ROLLOVER_FILES EQUAL max_rollover_files=(DECIMAL|UNLIMITED) - | COMMA? MAX_FILES EQUAL max_files=DECIMAL - | COMMA? RESERVE_DISK_SPACE EQUAL (ON|OFF) )* - RR_BRACKET ) - | APPLICATION_LOG - | SECURITY_LOG - ) )? - ( WITH LR_BRACKET - (COMMA? QUEUE_DELAY EQUAL queue_delay=DECIMAL - | COMMA? ON_FAILURE EQUAL (CONTINUE | SHUTDOWN|FAIL_OPERATION) - |COMMA? STATE EQUAL (ON|OFF) )* - RR_BRACKET - )? - ( WHERE ( COMMA? (NOT?) event_field_name=id - (EQUAL - |(LESS GREATER) - | (EXCLAMATION EQUAL) - | GREATER - | (GREATER EQUAL) - | LESS - | LESS EQUAL - ) - (DECIMAL | STRING) - | COMMA? (AND|OR) NOT? (EQUAL - |(LESS GREATER) - | (EXCLAMATION EQUAL) - | GREATER - | (GREATER EQUAL) - | LESS - | LESS EQUAL) - (DECIMAL | STRING) ) )? - |REMOVE WHERE - | MODIFY NAME EQUAL new_audit_name=id - ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-server-audit-transact-sql -create_server_audit - : CREATE SERVER AUDIT audit_name=id - ( ( TO - (FILE - ( LR_BRACKET - ( COMMA? FILEPATH EQUAL filepath=STRING - | COMMA? MAXSIZE EQUAL ( DECIMAL (MB|GB|TB) - | UNLIMITED - ) - | COMMA? MAX_ROLLOVER_FILES EQUAL max_rollover_files=(DECIMAL|UNLIMITED) - | COMMA? MAX_FILES EQUAL max_files=DECIMAL - | COMMA? RESERVE_DISK_SPACE EQUAL (ON|OFF) )* - RR_BRACKET ) - | APPLICATION_LOG - | SECURITY_LOG - ) )? - ( WITH LR_BRACKET - (COMMA? QUEUE_DELAY EQUAL queue_delay=DECIMAL - | COMMA? ON_FAILURE EQUAL (CONTINUE | SHUTDOWN|FAIL_OPERATION) - |COMMA? STATE EQUAL (ON|OFF) - |COMMA? AUDIT_GUID EQUAL audit_guid=id - )* - - RR_BRACKET - )? - ( WHERE ( COMMA? (NOT?) event_field_name=id - (EQUAL - |(LESS GREATER) - | (EXCLAMATION EQUAL) - | GREATER - | (GREATER EQUAL) - | LESS - | LESS EQUAL - ) - (DECIMAL | STRING) - | COMMA? (AND|OR) NOT? (EQUAL - |(LESS GREATER) - | (EXCLAMATION EQUAL) - | GREATER - | (GREATER EQUAL) - | LESS - | LESS EQUAL) - (DECIMAL | STRING) ) )? - |REMOVE WHERE - | MODIFY NAME EQUAL new_audit_name=id - ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-server-audit-specification-transact-sql - -alter_server_audit_specification - : ALTER SERVER AUDIT SPECIFICATION audit_specification_name=id - (FOR SERVER AUDIT audit_name=id)? - ( (ADD|DROP) LR_BRACKET audit_action_group_name=id RR_BRACKET )* - (WITH LR_BRACKET STATE EQUAL (ON|OFF) RR_BRACKET )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-server-audit-specification-transact-sql -create_server_audit_specification - : CREATE SERVER AUDIT SPECIFICATION audit_specification_name=id - (FOR SERVER AUDIT audit_name=id)? - ( ADD LR_BRACKET audit_action_group_name=id RR_BRACKET )* - (WITH LR_BRACKET STATE EQUAL (ON|OFF) RR_BRACKET )? - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-server-configuration-transact-sql - -alter_server_configuration - : ALTER SERVER CONFIGURATION - SET ( (PROCESS AFFINITY (CPU EQUAL (AUTO | (COMMA? DECIMAL | COMMA? DECIMAL TO DECIMAL)+ ) | NUMANODE EQUAL ( COMMA? DECIMAL |COMMA? DECIMAL TO DECIMAL)+ ) | DIAGNOSTICS LOG (ON|OFF|PATH EQUAL (STRING | DEFAULT) |MAX_SIZE EQUAL (DECIMAL MB |DEFAULT)|MAX_FILES EQUAL (DECIMAL|DEFAULT) ) | FAILOVER CLUSTER PROPERTY (VERBOSELOGGING EQUAL (STRING|DEFAULT) |SQLDUMPERFLAGS EQUAL (STRING|DEFAULT) | SQLDUMPERPATH EQUAL (STRING|DEFAULT) | SQLDUMPERTIMEOUT (STRING|DEFAULT) | FAILURECONDITIONLEVEL EQUAL (STRING|DEFAULT) | HEALTHCHECKTIMEOUT EQUAL (DECIMAL|DEFAULT) ) | HADR CLUSTER CONTEXT EQUAL (STRING|LOCAL) | BUFFER POOL EXTENSION (ON LR_BRACKET FILENAME EQUAL STRING COMMA SIZE EQUAL DECIMAL (KB|MB|GB) RR_BRACKET | OFF ) | SET SOFTNUMA (ON|OFF) ) ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-server-role-transact-sql -alter_server_role - : ALTER SERVER ROLE server_role_name=id - ( (ADD|DROP) MEMBER server_principal=id - | WITH NAME EQUAL new_server_role_name=id - ) - ; -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-server-role-transact-sql -create_server_role - : CREATE SERVER ROLE server_role=id (AUTHORIZATION server_principal=id)? - ; - -alter_server_role_pdw - : ALTER SERVER ROLE server_role_name=id (ADD|DROP) MEMBER login=id - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-service-transact-sql -alter_service - : ALTER SERVICE modified_service_name=id (ON QUEUE (schema_name=id DOT) queue_name=id)? (COMMA? (ADD|DROP) modified_contract_name=id)* - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-service-transact-sql -create_service - : CREATE SERVICE create_service_name=id - (AUTHORIZATION owner_name=id)? - ON QUEUE (schema_name=id DOT)? queue_name=id - ( LR_BRACKET (COMMA? (id|DEFAULT) )+ RR_BRACKET )? - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-service-master-key-transact-sql - -alter_service_master_key - : ALTER SERVICE MASTER KEY ( FORCE? REGENERATE | (WITH (OLD_ACCOUNT EQUAL acold_account_name=STRING COMMA OLD_PASSWORD EQUAL old_password=STRING | NEW_ACCOUNT EQUAL new_account_name=STRING COMMA NEW_PASSWORD EQUAL new_password=STRING)? ) ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-symmetric-key-transact-sql - -alter_symmetric_key - : ALTER SYMMETRIC KEY key_name=id ( (ADD|DROP) ENCRYPTION BY (CERTIFICATE certificate_name=id | PASSWORD EQUAL password=STRING | SYMMETRIC KEY symmetric_key_name=id | ASYMMETRIC KEY Asym_key_name=id ) ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-symmetric-key-transact-sql -create_symmetric_key - : ALTER SYMMETRIC KEY key_name=id - (AUTHORIZATION owner_name=id)? - (FROM PROVIDER provider_name=id)? - (WITH ( (KEY_SOURCE EQUAL key_pass_phrase=STRING - | ALGORITHM EQUAL (DES | TRIPLE_DES | TRIPLE_DES_3KEY | RC2 | RC4 | RC4_128 | DESX | AES_128 | AES_192 | AES_256) - | IDENTITY_VALUE EQUAL identity_phrase=STRING - | PROVIDER_KEY_NAME EQUAL provider_key_name=STRING - | CREATION_DISPOSITION EQUAL (CREATE_NEW|OPEN_EXISTING) - ) - | ENCRYPTION BY - ( CERTIFICATE certificate_name=id - | PASSWORD EQUAL password=STRING - | SYMMETRIC KEY symmetric_key_name=id - | ASYMMETRIC KEY asym_key_name=id - ) - ) - ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-synonym-transact-sql -create_synonym - : CREATE SYNONYM (schema_name_1=id DOT )? synonym_name=id - FOR ( (server_name=id DOT )? (database_name=id DOT)? (schema_name_2=id DOT)? object_name=id - | (database_or_schema2=id DOT)? (schema_id_2_or_object_name=id DOT)? - ) - ; - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-user-transact-sql -alter_user - : ALTER USER username=id WITH (COMMA? NAME EQUAL newusername=id | COMMA? DEFAULT_SCHEMA EQUAL ( schema_name=id |NULL ) | COMMA? LOGIN EQUAL loginame=id | COMMA? PASSWORD EQUAL STRING (OLD_PASSWORD EQUAL STRING)+ | COMMA? DEFAULT_LANGUAGE EQUAL (NONE| lcid=DECIMAL| language_name_or_alias=id) | COMMA? ALLOW_ENCRYPTED_VALUE_MODIFICATIONS EQUAL (ON|OFF) )+ - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-user-transact-sql -create_user - : CREATE USER user_name=id - ( (FOR|FROM) LOGIN login_name=id )? - ( WITH (COMMA? DEFAULT_SCHEMA EQUAL schema_name=id - |COMMA? ALLOW_ENCRYPTED_VALUE_MODIFICATIONS EQUAL (ON|OFF) - )* - )? - | CREATE USER ( windows_principal=id - (WITH - (COMMA? DEFAULT_SCHEMA EQUAL schema_name=id - |COMMA? DEFAULT_LANGUAGE EQUAL (NONE - |DECIMAL - |language_name_or_alias=id ) - |COMMA? SID EQUAL BINARY - |COMMA? ALLOW_ENCRYPTED_VALUE_MODIFICATIONS EQUAL (ON|OFF) - )* - )? - | user_name=id WITH PASSWORD EQUAL password=STRING - (COMMA? DEFAULT_SCHEMA EQUAL schema_name=id - |COMMA? DEFAULT_LANGUAGE EQUAL (NONE - |DECIMAL - |language_name_or_alias=id ) - |COMMA? SID EQUAL BINARY - |COMMA? ALLOW_ENCRYPTED_VALUE_MODIFICATIONS EQUAL (ON|OFF) - )* - | Azure_Active_Directory_principal=id FROM EXTERNAL PROVIDER - ) - | CREATE USER user_name=id - ( WITHOUT LOGIN - (COMMA? DEFAULT_SCHEMA EQUAL schema_name=id - |COMMA? ALLOW_ENCRYPTED_VALUE_MODIFICATIONS EQUAL (ON|OFF) - )* - | (FOR|FROM) CERTIFICATE cert_name=id - | (FOR|FROM) ASYMMETRIC KEY asym_key_name=id - ) - | CREATE USER user_name=id - ; - -create_user_azure_sql_dw - : CREATE USER user_name=id - ( (FOR|FROM) LOGIN login_name=id - | WITHOUT LOGIN - )? - - ( WITH DEFAULT_SCHEMA EQUAL schema_name=id)? - | CREATE USER Azure_Active_Directory_principal=id - FROM EXTERNAL PROVIDER - ( WITH DEFAULT_SCHEMA EQUAL schema_name=id)? - ; - - -alter_user_azure_sql - : ALTER USER username=id WITH (COMMA? NAME EQUAL newusername=id | COMMA? DEFAULT_SCHEMA EQUAL schema_name=id | COMMA? LOGIN EQUAL loginame=id | COMMA? ALLOW_ENCRYPTED_VALUE_MODIFICATIONS EQUAL (ON|OFF) )+ - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-workload-group-transact-sql - -alter_workload_group - : ALTER WORKLOAD GROUP - (workload_group_group_name=id - |DEFAULT_DOUBLE_QUOTE - ) - (WITH LR_BRACKET - (IMPORTANCE EQUAL (LOW|MEDIUM|HIGH) - | COMMA? REQUEST_MAX_MEMORY_GRANT_PERCENT EQUAL request_max_memory_grant=DECIMAL - | COMMA? REQUEST_MAX_CPU_TIME_SEC EQUAL request_max_cpu_time_sec=DECIMAL - | REQUEST_MEMORY_GRANT_TIMEOUT_SEC EQUAL request_memory_grant_timeout_sec=DECIMAL - | MAX_DOP EQUAL max_dop=DECIMAL - | GROUP_MAX_REQUESTS EQUAL group_max_requests=DECIMAL)+ - RR_BRACKET )? - (USING (workload_group_pool_name=id | DEFAULT_DOUBLE_QUOTE) )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-workload-group-transact-sql -create_workload_group - : CREATE WORKLOAD GROUP workload_group_group_name=id - (WITH LR_BRACKET - (IMPORTANCE EQUAL (LOW|MEDIUM|HIGH) - | COMMA? REQUEST_MAX_MEMORY_GRANT_PERCENT EQUAL request_max_memory_grant=DECIMAL - | COMMA? REQUEST_MAX_CPU_TIME_SEC EQUAL request_max_cpu_time_sec=DECIMAL - | REQUEST_MEMORY_GRANT_TIMEOUT_SEC EQUAL request_memory_grant_timeout_sec=DECIMAL - | MAX_DOP EQUAL max_dop=DECIMAL - | GROUP_MAX_REQUESTS EQUAL group_max_requests=DECIMAL)+ - RR_BRACKET )? - (USING (workload_group_pool_name=id | DEFAULT_DOUBLE_QUOTE)? - (COMMA? EXTERNAL external_pool_name=id | DEFAULT_DOUBLE_QUOTE)? - )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-xml-schema-collection-transact-sql -create_xml_schema_collection - : CREATE XML SCHEMA COLLECTION (relational_schema=id DOT)? sql_identifier=id AS (STRING|id|LOCAL_ID) - ; - -create_queue - : CREATE QUEUE (full_table_name | queue_name=id) queue_settings? - (ON filegroup=id | DEFAULT)? - ; - - -queue_settings - :WITH - (STATUS EQUAL (ON | OFF) COMMA?)? - (RETENTION EQUAL (ON | OFF) COMMA?)? - (ACTIVATION - LR_BRACKET - ( - ( - (STATUS EQUAL (ON | OFF) COMMA? )? - (PROCEDURE_NAME EQUAL func_proc_name_database_schema COMMA?)? - (MAX_QUEUE_READERS EQUAL max_readers=DECIMAL COMMA?)? - (EXECUTE AS (SELF | user_name=STRING | OWNER) COMMA?)? - ) - | DROP - ) - RR_BRACKET COMMA? - )? - (POISON_MESSAGE_HANDLING - LR_BRACKET - (STATUS EQUAL (ON | OFF)) - RR_BRACKET - )? - ; - -alter_queue - : ALTER QUEUE (full_table_name | queue_name=id) - (queue_settings | queue_action) - ; - -queue_action - : REBUILD ( WITH LR_BRACKET queue_rebuild_options RR_BRACKET)? - | REORGANIZE (WITH LOB_COMPACTION EQUAL (ON | OFF))? - | MOVE TO (id | DEFAULT) - ; -queue_rebuild_options - : MAXDOP EQUAL DECIMAL - ; - -create_contract - : CREATE CONTRACT contract_name - (AUTHORIZATION owner_name=id)? - LR_BRACKET ((message_type_name=id | DEFAULT) - SENT BY (INITIATOR | TARGET | ANY ) COMMA?)+ - RR_BRACKET - ; - -conversation_statement - : begin_conversation_timer - | begin_conversation_dialog - | end_conversation - | get_conversation - | send_conversation - | waitfor_conversation - ; - -message_statement - : CREATE MESSAGE TYPE message_type_name=id - (AUTHORIZATION owner_name=id)? - (VALIDATION EQUAL (NONE - | EMPTY - | WELL_FORMED_XML - | VALID_XML WITH SCHEMA COLLECTION schema_collection_name=id)) - ; - -// DML - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql -merge_statement - : with_expression? - MERGE (TOP '(' expression ')' PERCENT?)? - INTO? ddl_object insert_with_table_hints? as_table_alias? - USING table_sources - ON search_condition - (WHEN MATCHED (AND search_condition)? - THEN merge_matched)* - (WHEN NOT MATCHED (BY TARGET)? (AND search_condition)? - THEN merge_not_matched)? - (WHEN NOT MATCHED BY SOURCE (AND search_condition)? - THEN merge_matched)* - output_clause? - option_clause? ';' - ; - - -merge_matched - : UPDATE SET update_elem (',' update_elem)* - | DELETE - ; - -merge_not_matched - : INSERT ('(' column_name_list ')')? - (table_value_constructor | DEFAULT VALUES) - ; - -// https://msdn.microsoft.com/en-us/library/ms189835.aspx -delete_statement - : with_expression? - DELETE (TOP '(' expression ')' PERCENT? | TOP DECIMAL)? - FROM? delete_statement_from - insert_with_table_hints? - output_clause? - (FROM table_sources)? - (WHERE (search_condition | CURRENT OF (GLOBAL? cursor_name | cursor_var=LOCAL_ID)))? - for_clause? option_clause? ';'? - ; - -delete_statement_from - : ddl_object - | table_alias - | rowset_function_limited - | table_var=LOCAL_ID - ; - -// https://msdn.microsoft.com/en-us/library/ms174335.aspx -insert_statement - : with_expression? - INSERT (TOP '(' expression ')' PERCENT?)? - INTO? (ddl_object | rowset_function_limited) - insert_with_table_hints? - ('(' column_name_list ')')? - output_clause? - insert_statement_value - for_clause? option_clause? ';'? - ; - -insert_statement_value - : table_value_constructor - | derived_table - | execute_statement - | DEFAULT VALUES - ; - - -receive_statement - : '('? RECEIVE (ALL | DISTINCT | top_clause | '*') - (LOCAL_ID '=' expression ','?)* FROM full_table_name - (INTO table_variable=id (WHERE where=search_condition))? ')'? - ; - -// https://msdn.microsoft.com/en-us/library/ms189499.aspx -select_statement - : with_expression? query_expression order_by_clause? for_clause? option_clause? ';'? - ; - -time - : (LOCAL_ID | constant) - ; - -// https://msdn.microsoft.com/en-us/library/ms177523.aspx -update_statement - : with_expression? - UPDATE (TOP '(' expression ')' PERCENT?)? - (ddl_object | rowset_function_limited) - with_table_hints? - SET update_elem (',' update_elem)* - output_clause? - (FROM table_sources)? - (WHERE (search_condition_list | CURRENT OF (GLOBAL? cursor_name | cursor_var=LOCAL_ID)))? - for_clause? option_clause? ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms177564.aspx -output_clause - : OUTPUT output_dml_list_elem (',' output_dml_list_elem)* - (INTO (LOCAL_ID | table_name) ('(' column_name_list ')')? )? - ; - -output_dml_list_elem - : (output_column_name | expression) as_column_alias? // TODO: scalar_expression - ; - -output_column_name - : (DELETED | INSERTED | table_name) '.' ('*' | id) - | DOLLAR_ACTION - ; - -// DDL - -// https://msdn.microsoft.com/en-ie/library/ms176061.aspx -create_database - : CREATE DATABASE (database=id) - ( CONTAINMENT '=' ( NONE | PARTIAL ) )? - ( ON PRIMARY? database_file_spec ( ',' database_file_spec )* )? - ( LOG ON database_file_spec ( ',' database_file_spec )* )? - ( COLLATE collation_name = id )? - ( WITH create_database_option ( ',' create_database_option )* )? - ; - -// https://msdn.microsoft.com/en-us/library/ms188783.aspx -create_index - : CREATE UNIQUE? clustered? INDEX id ON table_name_with_hint '(' column_name_list_with_order ')' - (INCLUDE '(' column_name_list ')' )? - (WHERE where=search_condition)? - (index_options)? - (ON id)? - ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms187926(v=sql.120).aspx -create_or_alter_procedure - : ((CREATE (OR ALTER)?) | ALTER) proc=(PROC | PROCEDURE) func_proc_name_schema (';' DECIMAL)? - ('('? procedure_param (',' procedure_param)* ')'?)? - (WITH procedure_option (',' procedure_option)*)? - (FOR REPLICATION)? AS sql_clauses - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql -create_or_alter_trigger - : create_or_alter_dml_trigger - | create_or_alter_ddl_trigger - ; - -create_or_alter_dml_trigger - : ((CREATE (OR ALTER)?) | ALTER) TRIGGER simple_name - ON table_name - (WITH dml_trigger_option (',' dml_trigger_option)* )? - (FOR | AFTER | INSTEAD OF) - dml_trigger_operation (',' dml_trigger_operation)* - (WITH APPEND)? - (NOT FOR REPLICATION)? - AS sql_clauses - ; - -dml_trigger_option - : ENCRYPTION - | execute_clause - ; - -dml_trigger_operation - : (INSERT | UPDATE | DELETE) - ; - -create_or_alter_ddl_trigger - : ((CREATE (OR ALTER)?) | ALTER) TRIGGER simple_id - ON (ALL SERVER | DATABASE) - (WITH dml_trigger_option (',' dml_trigger_option)* )? - (FOR | AFTER) ddl_trigger_operation (',' dml_trigger_operation)* - AS sql_clauses - ; - -ddl_trigger_operation - : simple_id - ; - -// https://msdn.microsoft.com/en-us/library/ms186755.aspx -create_or_alter_function - : ((CREATE (OR ALTER)?) | ALTER) FUNCTION func_proc_name_schema - (('(' procedure_param (',' procedure_param)* ')') | '(' ')') //must have (), but can be empty - (func_body_returns_select | func_body_returns_table | func_body_returns_scalar) ';'? - ; - -func_body_returns_select - :RETURNS TABLE - (WITH function_option (',' function_option)*)? - AS? - RETURN ('(' select_statement ')' | select_statement) - ; - -func_body_returns_table - : RETURNS LOCAL_ID table_type_definition - (WITH function_option (',' function_option)*)? - AS? - BEGIN - sql_clause* - RETURN ';'? - END ';'? - ; - -func_body_returns_scalar - :RETURNS data_type - (WITH function_option (',' function_option)*)? - AS? - BEGIN - sql_clause* - RETURN ret=expression ';'? - END - ; - -procedure_param - : LOCAL_ID (id '.')? AS? data_type VARYING? ('=' default_val=default_value)? (OUT | OUTPUT | READONLY)? - ; - -procedure_option - : ENCRYPTION - | RECOMPILE - | execute_clause - ; - -function_option - : ENCRYPTION - | SCHEMABINDING - | RETURNS NULL ON NULL INPUT - | CALLED ON NULL INPUT - | execute_clause - ; - -// https://msdn.microsoft.com/en-us/library/ms188038.aspx -create_statistics - : CREATE STATISTICS id ON table_name_with_hint '(' column_name_list ')' - (WITH (FULLSCAN | SAMPLE DECIMAL (PERCENT | ROWS) | STATS_STREAM) - (',' NORECOMPUTE)? (',' INCREMENTAL EQUAL on_off)? )? ';'? - ; - -update_statistics - : UPDATE (INDEX | ALL)? STATISTICS full_table_name id? (USING DECIMAL VALUES)? - ; - -// https://msdn.microsoft.com/en-us/library/ms174979.aspx -create_table - : CREATE TABLE table_name '(' column_def_table_constraints ','? ')' (LOCK simple_id)? table_options* (ON id | DEFAULT)? (TEXTIMAGE_ON id | DEFAULT)?';'? - ; - -table_options - : WITH ('(' index_option (',' index_option)* ')' | index_option (',' index_option)*) - ; - -// https://msdn.microsoft.com/en-us/library/ms187956.aspx -create_view - : CREATE VIEW simple_name ('(' column_name_list ')')? - (WITH view_attribute (',' view_attribute)*)? - AS select_statement (WITH CHECK OPTION)? ';'? - ; - -view_attribute - : ENCRYPTION | SCHEMABINDING | VIEW_METADATA - ; - -// https://msdn.microsoft.com/en-us/library/ms190273.aspx -alter_table - : ALTER TABLE table_name (SET '(' LOCK_ESCALATION '=' (AUTO | TABLE | DISABLE) ')' - | ADD column_def_table_constraint - | ALTER COLUMN column_definition - | DROP COLUMN id - | DROP CONSTRAINT constraint=id - | WITH CHECK ADD CONSTRAINT constraint=id FOREIGN KEY '(' fk = column_name_list ')' REFERENCES table_name '(' pk = column_name_list')' - | CHECK CONSTRAINT constraint=id - | (ENABLE | DISABLE) TRIGGER id? - | REBUILD table_options) - ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms174269.aspx -alter_database - : ALTER DATABASE (database=id | CURRENT) - (MODIFY NAME '=' new_name=id | COLLATE collation=id | SET database_optionspec (WITH termination)? ) ';'? - ; - -// https://msdn.microsoft.com/en-us/library/bb522682.aspx -// Runtime check. -database_optionspec - : auto_option - | change_tracking_option - | containment_option - | cursor_option - | database_mirroring_option - | date_correlation_optimization_option - | db_encryption_option - | db_state_option - | db_update_option - | db_user_access_option - | delayed_durability_option - | external_access_option - | FILESTREAM database_filestream_option - | hadr_options - | mixed_page_allocation_option - | parameterization_option -// | query_store_options - | recovery_option -// | remote_data_archive_option - | service_broker_option - | snapshot_option - | sql_option - | target_recovery_time_option - | termination - ; - -auto_option: - AUTO_CLOSE on_off - | AUTO_CREATE_STATISTICS OFF | ON ( INCREMENTAL EQUAL ON | OFF ) - | AUTO_SHRINK on_off - | AUTO_UPDATE_STATISTICS on_off - | AUTO_UPDATE_STATISTICS_ASYNC (ON | OFF ) - ; - -change_tracking_option: - CHANGE_TRACKING EQUAL ( OFF | ON (change_tracking_option_list (',' change_tracking_option_list)*)* ) - ; - -change_tracking_option_list: - AUTO_CLEANUP EQUAL on_off - | CHANGE_RETENTION EQUAL ( DAYS | HOURS | MINUTES ) - ; - -containment_option: - CONTAINMENT EQUAL ( NONE | PARTIAL ) - ; - -cursor_option: - CURSOR_CLOSE_ON_COMMIT on_off - | CURSOR_DEFAULT ( LOCAL | GLOBAL ) - ; - - - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-endpoint-transact-sql -alter_endpoint - : ALTER ENDPOINT endpointname=id (AUTHORIZATION login=id)? - ( STATE EQUAL ( state=STARTED | state=STOPPED | state=DISABLED ) )? - AS TCP LR_BRACKET - LISTENER_PORT EQUAL port=DECIMAL - ( COMMA LISTENER_IP EQUAL - (ALL | IPV4_ADDR | IPV6_ADDR) )? - RR_BRACKET - (TSQL - | - FOR SERVICE_BROKER LR_BRACKET - AUTHENTICATION EQUAL - ( WINDOWS ( NTLM |KERBEROS | NEGOTIATE )? (CERTIFICATE cert_name=id)? - | CERTIFICATE cert_name=id WINDOWS? ( NTLM |KERBEROS | NEGOTIATE )? - ) - ( COMMA? ENCRYPTION EQUAL ( DISABLED |SUPPORTED | REQUIRED ) - ( ALGORITHM ( AES | RC4 | AES RC4 | RC4 AES ) )? - )? - - ( COMMA? MESSAGE_FORWARDING EQUAL ( ENABLED | DISABLED ) )? - ( COMMA? MESSAGE_FORWARD_SIZE EQUAL DECIMAL)? - RR_BRACKET - | - FOR DATABASE_MIRRORING LR_BRACKET - AUTHENTICATION EQUAL - ( WINDOWS ( NTLM |KERBEROS | NEGOTIATE )? (CERTIFICATE cert_name=id)? - | CERTIFICATE cert_name=id WINDOWS? ( NTLM |KERBEROS | NEGOTIATE )? - ) - - ( COMMA? ENCRYPTION EQUAL ( DISABLED |SUPPORTED | REQUIRED ) - ( ALGORITHM ( AES | RC4 | AES RC4 | RC4 AES ) )? - )? - - COMMA? ROLE EQUAL ( WITNESS | PARTNER | ALL ) - RR_BRACKET - ) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/create-endpoint-transact-sql -// todo: not implemented - -/* Will visit later -*/ -database_mirroring_option - : mirroring_set_option - ; - -mirroring_set_option - : mirroring_partner partner_option - | mirroring_witness witness_option - ; -mirroring_partner - : PARTNER - ; - -mirroring_witness - : WITNESS - ; - -witness_partner_equal - : EQUAL - ; - - -partner_option - : witness_partner_equal partner_server - | FAILOVER - | FORCE_SERVICE_ALLOW_DATA_LOSS - | OFF - | RESUME - | SAFETY (FULL | OFF ) - | SUSPEND - | TIMEOUT DECIMAL -; - -witness_option - : witness_partner_equal witness_server - | OFF -; - -witness_server - : partner_server - ; - -partner_server - : - partner_server_tcp_prefix host mirroring_host_port_seperator port_number - ; - -mirroring_host_port_seperator - : COLON - ; - -partner_server_tcp_prefix - : TCP COLON DOUBLE_FORWARD_SLASH - ; -port_number - : - port=DECIMAL - ; - -host - : id DOT host - | (id DOT |id) - ; - -date_correlation_optimization_option: - DATE_CORRELATION_OPTIMIZATION on_off - ; - -db_encryption_option: - ENCRYPTION on_off - ; -db_state_option: - ( ONLINE | OFFLINE | EMERGENCY ) - ; - -db_update_option: - READ_ONLY | READ_WRITE - ; - -db_user_access_option: - ( SINGLE_USER | RESTRICTED_USER | MULTI_USER ) - ; -delayed_durability_option: - DELAYED_DURABILITY EQUAL ( DISABLED | ALLOWED | FORCED ) - ; - -external_access_option: - DB_CHAINING on_off - | TRUSTWORTHY on_off - | DEFAULT_LANGUAGE EQUAL ( id | STRING ) - | DEFAULT_FULLTEXT_LANGUAGE EQUAL ( id | STRING ) - | NESTED_TRIGGERS EQUAL ( OFF | ON ) - | TRANSFORM_NOISE_WORDS EQUAL ( OFF | ON ) - | TWO_DIGIT_YEAR_CUTOFF EQUAL DECIMAL - ; - -hadr_options - : HADR - ( ( AVAILABILITY GROUP EQUAL availability_group_name=id | OFF ) |(SUSPEND|RESUME) ) - ; - -mixed_page_allocation_option: - MIXED_PAGE_ALLOCATION ( OFF | ON ) - ; - -parameterization_option: - PARAMETERIZATION ( SIMPLE | FORCED ) - ; - -recovery_option: - RECOVERY ( FULL | BULK_LOGGED | SIMPLE ) - | TORN_PAGE_DETECTION on_off - | PAGE_VERIFY ( CHECKSUM | TORN_PAGE_DETECTION | NONE ) - ; - -service_broker_option: - ENABLE_BROKER - | DISABLE_BROKER - | NEW_BROKER - | ERROR_BROKER_CONVERSATIONS - | HONOR_BROKER_PRIORITY on_off - ; -snapshot_option: - ALLOW_SNAPSHOT_ISOLATION on_off - | READ_COMMITTED_SNAPSHOT (ON | OFF ) - | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = (ON | OFF ) - ; - -sql_option: - ANSI_NULL_DEFAULT on_off - | ANSI_NULLS on_off - | ANSI_PADDING on_off - | ANSI_WARNINGS on_off - | ARITHABORT on_off - | COMPATIBILITY_LEVEL EQUAL DECIMAL - | CONCAT_NULL_YIELDS_NULL on_off - | NUMERIC_ROUNDABORT on_off - | QUOTED_IDENTIFIER on_off - | RECURSIVE_TRIGGERS on_off - ; - -target_recovery_time_option: - TARGET_RECOVERY_TIME EQUAL DECIMAL ( SECONDS | MINUTES ) - ; - -termination: - ROLLBACK AFTER seconds = DECIMAL - | ROLLBACK IMMEDIATE - | NO_WAIT - ; - -// https://msdn.microsoft.com/en-us/library/ms176118.aspx -drop_index - : DROP INDEX (IF EXISTS)? - ( drop_relational_or_xml_or_spatial_index (',' drop_relational_or_xml_or_spatial_index)* - | drop_backward_compatible_index (',' drop_backward_compatible_index)* - ) - ';'? - ; - -drop_relational_or_xml_or_spatial_index - : index_name=id ON full_table_name - ; - -drop_backward_compatible_index - : (owner_name=id '.')? table_or_view_name=id '.' index_name=id - ; - -// https://msdn.microsoft.com/en-us/library/ms174969.aspx -drop_procedure - : DROP proc=(PROC | PROCEDURE) (IF EXISTS)? func_proc_name_schema (',' func_proc_name_schema)* ';'? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-trigger-transact-sql -drop_trigger - : drop_dml_trigger - | drop_ddl_trigger - ; - -drop_dml_trigger - : DROP TRIGGER (IF EXISTS)? simple_name (',' simple_name)* ';'? - ; - -drop_ddl_trigger - : DROP TRIGGER (IF EXISTS)? simple_name (',' simple_name)* - ON (DATABASE | ALL SERVER) ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms190290.aspx -drop_function - : DROP FUNCTION (IF EXISTS)? func_proc_name_schema (',' func_proc_name_schema)* ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms175075.aspx -drop_statistics - : DROP STATISTICS (COMMA? (table_name '.')? name=id)+ ';' - ; - -// https://msdn.microsoft.com/en-us/library/ms173790.aspx -drop_table - : DROP TABLE (IF EXISTS)? table_name ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms173492.aspx -drop_view - : DROP VIEW (IF EXISTS)? simple_name (',' simple_name)* ';'? - ; - -create_type - : CREATE TYPE name = simple_name - (FROM data_type default_value)? - (AS TABLE LR_BRACKET column_def_table_constraints RR_BRACKET)? - ; - -drop_type: - DROP TYPE ( IF EXISTS )? name = simple_name - ; - -rowset_function_limited - : openquery - | opendatasource - ; - -// https://msdn.microsoft.com/en-us/library/ms188427(v=sql.120).aspx -openquery - : OPENQUERY '(' linked_server=id ',' query=STRING ')' - ; - -// https://msdn.microsoft.com/en-us/library/ms179856.aspx -opendatasource - : OPENDATASOURCE '(' provider=STRING ',' init=STRING ')' - '.' (database=id)? '.' (scheme=id)? '.' (table=id) - ; - -// Other statements. - -// https://msdn.microsoft.com/en-us/library/ms188927.aspx -declare_statement - : DECLARE LOCAL_ID AS? table_type_definition ';'? - | DECLARE declare_local (',' declare_local)* ';'? - | DECLARE LOCAL_ID AS? xml_type_definition ';'? - | WITH XMLNAMESPACES '(' xml_namespace_uri=STRING ','? AS id ')' ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms181441(v=sql.120).aspx -cursor_statement - // https://msdn.microsoft.com/en-us/library/ms175035(v=sql.120).aspx - : CLOSE GLOBAL? cursor_name ';'? - // https://msdn.microsoft.com/en-us/library/ms188782(v=sql.120).aspx - | DEALLOCATE GLOBAL? CURSOR? cursor_name ';'? - // https://msdn.microsoft.com/en-us/library/ms180169(v=sql.120).aspx - | declare_cursor - // https://msdn.microsoft.com/en-us/library/ms180152(v=sql.120).aspx - | fetch_cursor - // https://msdn.microsoft.com/en-us/library/ms190500(v=sql.120).aspx - | OPEN GLOBAL? cursor_name ';'? - ; -// https://docs.microsoft.com/en-us/sql/t-sql/statements/backup-transact-sql -backup_database - : BACKUP DATABASE ( database_name=id ) - (READ_WRITE_FILEGROUPS (COMMA? (FILE|FILEGROUP) EQUAL file_or_filegroup=STRING)* )? - (COMMA? (FILE|FILEGROUP) EQUAL file_or_filegroup=STRING)* - ( TO ( COMMA? logical_device_name=id)+ - | TO ( COMMA? (DISK|TAPE|URL) EQUAL (STRING|id) )+ - ) - - ( (MIRROR TO ( COMMA? logical_device_name=id)+ )+ - | ( MIRROR TO ( COMMA? (DISK|TAPE|URL) EQUAL (STRING|id) )+ )+ - )? - - (WITH ( COMMA? DIFFERENTIAL - | COMMA? COPY_ONLY - | COMMA? (COMPRESSION|NO_COMPRESSION) - | COMMA? DESCRIPTION EQUAL (STRING|id) - | COMMA? NAME EQUAL backup_set_name=id - | COMMA? CREDENTIAL - | COMMA? FILE_SNAPSHOT - | COMMA? (EXPIREDATE EQUAL (STRING|id) | RETAINDAYS EQUAL (DECIMAL|id) ) - | COMMA? (NOINIT|INIT) - | COMMA? (NOSKIP|SKIP_KEYWORD) - | COMMA? (NOFORMAT|FORMAT) - | COMMA? MEDIADESCRIPTION EQUAL (STRING|id) - | COMMA? MEDIANAME EQUAL (medianame=STRING) - | COMMA? BLOCKSIZE EQUAL (DECIMAL|id) - | COMMA? BUFFERCOUNT EQUAL (DECIMAL|id) - | COMMA? MAXTRANSFER EQUAL (DECIMAL|id) - | COMMA? (NO_CHECKSUM|CHECKSUM) - | COMMA? (STOP_ON_ERROR|CONTINUE_AFTER_ERROR) - | COMMA? RESTART - | COMMA? STATS (EQUAL stats_percent=DECIMAL)? - | COMMA? (REWIND|NOREWIND) - | COMMA? (LOAD|NOUNLOAD) - | COMMA? ENCRYPTION LR_BRACKET - ALGORITHM EQUAL - (AES_128 - | AES_192 - | AES_256 - | TRIPLE_DES_3KEY - ) - COMMA - SERVER CERTIFICATE EQUAL - (encryptor_name=id - | SERVER ASYMMETRIC KEY EQUAL encryptor_name=id - ) - )* - )? - - ; - -backup_log - : BACKUP LOG ( database_name=id ) - ( TO ( COMMA? logical_device_name=id)+ - | TO ( COMMA? (DISK|TAPE|URL) EQUAL (STRING|id) )+ - ) - - ( (MIRROR TO ( COMMA? logical_device_name=id)+ )+ - | ( MIRROR TO ( COMMA? (DISK|TAPE|URL) EQUAL (STRING|id) )+ )+ - )? - - (WITH ( COMMA? DIFFERENTIAL - | COMMA? COPY_ONLY - | COMMA? (COMPRESSION|NO_COMPRESSION) - | COMMA? DESCRIPTION EQUAL (STRING|id) - | COMMA? NAME EQUAL backup_set_name=id - | COMMA? CREDENTIAL - | COMMA? FILE_SNAPSHOT - | COMMA? (EXPIREDATE EQUAL (STRING|id) | RETAINDAYS EQUAL (DECIMAL|id) ) - | COMMA? (NOINIT|INIT) - | COMMA? (NOSKIP|SKIP_KEYWORD) - | COMMA? (NOFORMAT|FORMAT) - | COMMA? MEDIADESCRIPTION EQUAL (STRING|id) - | COMMA? MEDIANAME EQUAL (medianame=STRING) - | COMMA? BLOCKSIZE EQUAL (DECIMAL|id) - | COMMA? BUFFERCOUNT EQUAL (DECIMAL|id) - | COMMA? MAXTRANSFER EQUAL (DECIMAL|id) - | COMMA? (NO_CHECKSUM|CHECKSUM) - | COMMA? (STOP_ON_ERROR|CONTINUE_AFTER_ERROR) - | COMMA? RESTART - | COMMA? STATS (EQUAL stats_percent=DECIMAL)? - | COMMA? (REWIND|NOREWIND) - | COMMA? (LOAD|NOUNLOAD) - | COMMA? (NORECOVERY| STANDBY EQUAL undo_file_name=STRING) - | COMMA? NO_TRUNCATE - | COMMA? ENCRYPTION LR_BRACKET - ALGORITHM EQUAL - (AES_128 - | AES_192 - | AES_256 - | TRIPLE_DES_3KEY - ) - COMMA - SERVER CERTIFICATE EQUAL - (encryptor_name=id - | SERVER ASYMMETRIC KEY EQUAL encryptor_name=id - ) - )* - )? - - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/backup-certificate-transact-sql -backup_certificate - : BACKUP CERTIFICATE certname=id TO FILE EQUAL cert_file=STRING - ( WITH PRIVATE KEY - LR_BRACKET - (COMMA? FILE EQUAL private_key_file=STRING - |COMMA? ENCRYPTION BY PASSWORD EQUAL encryption_password=STRING - |COMMA? DECRYPTION BY PASSWORD EQUAL decryption_pasword=STRING - )+ - RR_BRACKET - )? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/backup-master-key-transact-sql -backup_master_key - : BACKUP MASTER KEY TO FILE EQUAL master_key_backup_file=STRING - ENCRYPTION BY PASSWORD EQUAL encryption_password=STRING - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/statements/backup-service-master-key-transact-sql -backup_service_master_key - : BACKUP SERVICE MASTER KEY TO FILE EQUAL service_master_key_backup_file=STRING - ENCRYPTION BY PASSWORD EQUAL encryption_password=STRING - ; - -kill_statement - : KILL (kill_process | kill_query_notification | kill_stats_job) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/kill-transact-sql -kill_process - : (session_id=(DECIMAL|STRING) | UOW) (WITH STATUSONLY)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/kill-query-notification-subscription-transact-sql -kill_query_notification - : QUERY NOTIFICATION SUBSCRIPTION (ALL | subscription_id=DECIMAL) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/kill-stats-job-transact-sql -kill_stats_job - : STATS JOB job_id=DECIMAL - ; - -// https://msdn.microsoft.com/en-us/library/ms188332.aspx -execute_statement - : EXECUTE execute_body - ; - -execute_body - : (return_status=LOCAL_ID '=')? (func_proc_name_server_database_schema | expression) (execute_statement_arg (',' execute_statement_arg)*)? ';'? - | '(' execute_var_string ('+' execute_var_string)* ')' (AS? (LOGIN | USER) '=' STRING)? ';'? - ; - -execute_statement_arg - : (parameter=LOCAL_ID '=')? ((constant_LOCAL_ID | id) (OUTPUT | OUT)? | DEFAULT | NULL) - ; - -execute_var_string - : LOCAL_ID - | STRING - ; - -// https://msdn.microsoft.com/en-us/library/ff848791.aspx -security_statement - // https://msdn.microsoft.com/en-us/library/ms188354.aspx - : execute_clause ';'? - // https://msdn.microsoft.com/en-us/library/ms187965.aspx - | GRANT (ALL PRIVILEGES? | grant_permission ('(' column_name_list ')')?) (ON on_id=table_name)? TO (to_principal+=id) (',' to_principal+=id)* (WITH GRANT OPTION)? (AS as_principal=id)? ';'? - // https://msdn.microsoft.com/en-us/library/ms178632.aspx - | REVERT ('(' WITH COOKIE '=' LOCAL_ID ')')? ';'? - | open_key - | close_key - | create_key - | create_certificate - ; - -create_certificate - : CREATE CERTIFICATE certificate_name=id (AUTHORIZATION user_name=id)? - (FROM existing_keys | generate_new_keys) - (ACTIVE FOR BEGIN DIALOG '=' (ON | OFF))? - ; - -existing_keys - : ASSEMBLY assembly_name=id - | EXECUTABLE? FILE EQUAL path_to_file=STRING (WITH PRIVATE KEY '(' private_key_options ')')? - ; - -private_key_options - : (FILE | BINARY) '=' path=STRING (',' (DECRYPTION | ENCRYPTION) BY PASSWORD '=' password=STRING)? - ; - -generate_new_keys - : (ENCRYPTION BY PASSWORD '=' password=STRING)? - WITH SUBJECT EQUAL certificate_subject_name=STRING (',' date_options)* - ; - -date_options - : (START_DATE | EXPIRY_DATE) EQUAL STRING - ; - -open_key - : OPEN SYMMETRIC KEY key_name=id DECRYPTION BY decryption_mechanism - | OPEN MASTER KEY DECRYPTION BY PASSWORD '=' password=STRING - ; - -close_key - : CLOSE SYMMETRIC KEY key_name=id - | CLOSE ALL SYMMETRIC KEYS - | CLOSE MASTER KEY - ; - -create_key - : CREATE MASTER KEY ENCRYPTION BY PASSWORD '=' password=STRING - | CREATE SYMMETRIC KEY key_name=id - (AUTHORIZATION user_name=id)? - (FROM PROVIDER provider_name=id)? - WITH ((key_options | ENCRYPTION BY encryption_mechanism)','?)+ - ; - -key_options - : KEY_SOURCE EQUAL pass_phrase=STRING - | ALGORITHM EQUAL algorithm - | IDENTITY_VALUE EQUAL identity_phrase=STRING - | PROVIDER_KEY_NAME EQUAL key_name_in_provider=STRING - | CREATION_DISPOSITION EQUAL (CREATE_NEW | OPEN_EXISTING) - ; - -algorithm - : DES - | TRIPLE_DES - | TRIPLE_DES_3KEY - | RC2 - | RC4 - | RC4_128 - | DESX - | AES_128 - | AES_192 - | AES_256 - ; - -encryption_mechanism - : CERTIFICATE certificate_name=id - | ASYMMETRIC KEY asym_key_name=id - | SYMMETRIC KEY decrypting_Key_name=id - | PASSWORD '=' STRING - ; - -decryption_mechanism - : CERTIFICATE certificate_name=id (WITH PASSWORD EQUAL STRING)? - | ASYMMETRIC KEY asym_key_name=id (WITH PASSWORD EQUAL STRING)? - | SYMMETRIC KEY decrypting_Key_name=id - | PASSWORD EQUAL STRING - ; - -grant_permission - : EXECUTE - | VIEW id // DEFINITION - | TAKE id // OWNERSHIP - | CONTROL id? // SERVER - | CREATE (TABLE | VIEW) - | SHOWPLAN - | IMPERSONATE - | SELECT - | REFERENCES - | INSERT - | ALTER (ANY? (id | DATABASE))? - ; - -// https://msdn.microsoft.com/en-us/library/ms190356.aspx -// https://msdn.microsoft.com/en-us/library/ms189484.aspx -set_statement - : SET LOCAL_ID ('.' member_name=id)? '=' expression ';'? - | SET LOCAL_ID assignment_operator expression ';'? - | SET LOCAL_ID '=' - CURSOR declare_set_cursor_common (FOR (READ ONLY | UPDATE (OF column_name_list)?))? ';'? - // https://msdn.microsoft.com/en-us/library/ms189837.aspx - | set_special - ; - -// https://msdn.microsoft.com/en-us/library/ms174377.aspx -transaction_statement - // https://msdn.microsoft.com/en-us/library/ms188386.aspx - : BEGIN DISTRIBUTED (TRAN | TRANSACTION) (id | LOCAL_ID)? ';'? - // https://msdn.microsoft.com/en-us/library/ms188929.aspx - | BEGIN (TRAN | TRANSACTION) ((id | LOCAL_ID) (WITH MARK STRING)?)? ';'? - // https://msdn.microsoft.com/en-us/library/ms190295.aspx - | COMMIT (TRAN | TRANSACTION) ((id | LOCAL_ID) (WITH '(' DELAYED_DURABILITY EQUAL (OFF | ON) ')')?)? ';'? - // https://msdn.microsoft.com/en-us/library/ms178628.aspx - | COMMIT WORK? ';'? - | COMMIT id - | ROLLBACK id - // https://msdn.microsoft.com/en-us/library/ms181299.aspx - | ROLLBACK (TRAN | TRANSACTION) (id | LOCAL_ID)? ';'? - // https://msdn.microsoft.com/en-us/library/ms174973.aspx - | ROLLBACK WORK? ';'? - // https://msdn.microsoft.com/en-us/library/ms188378.aspx - | SAVE (TRAN | TRANSACTION) (id | LOCAL_ID)? ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms188037.aspx -go_statement - : GO (count=DECIMAL)? - ; - -// https://msdn.microsoft.com/en-us/library/ms188366.aspx -use_statement - : USE database=id ';'? - ; - -setuser_statement - : SETUSER user=STRING? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reconfigure-transact-sql -reconfigure_statement - : RECONFIGURE (WITH OVERRIDE)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/shutdown-transact-sql -shutdown_statement - : SHUTDOWN (WITH NOWAIT)? - ; - -dbcc_clause - : DBCC name=simple_id ('(' expression_list ')')? (WITH dbcc_options)? ';'? - ; - -dbcc_options - : simple_id (',' simple_id)? - ; - -execute_clause - : EXECUTE AS clause=(CALLER | SELF | OWNER | STRING) - ; - -declare_local - : LOCAL_ID AS? data_type ('=' expression)? - ; - -table_type_definition - : TABLE '(' column_def_table_constraints ')' - ; - -xml_type_definition - : XML '(' ( CONTENT | DOCUMENT )? xml_schema_collection ')' - ; - -xml_schema_collection - : ID '.' ID - ; - -column_def_table_constraints - : column_def_table_constraint (','? column_def_table_constraint)* - ; - -column_def_table_constraint - : column_definition - | materialized_column_definition - | table_constraint - ; - -// https://msdn.microsoft.com/en-us/library/ms187742.aspx -column_definition - : id (data_type | AS expression) (COLLATE id)? null_notnull? - ((CONSTRAINT constraint=id)? null_or_default null_or_default? - | IDENTITY ('(' seed=DECIMAL ',' increment=DECIMAL ')')? (NOT FOR REPLICATION)?)? - ROWGUIDCOL? - column_constraint* - ; - -materialized_column_definition - : id (COMPUTE | AS) expression (MATERIALIZED | NOT MATERIALIZED)? - ; - -// https://msdn.microsoft.com/en-us/library/ms186712.aspx -column_constraint - :(CONSTRAINT constraint=id)? - ((PRIMARY KEY | UNIQUE) clustered? index_options? - | CHECK (NOT FOR REPLICATION)? '(' search_condition ')' - | (FOREIGN KEY)? REFERENCES table_name '(' pk = column_name_list')' on_delete? on_update? - | null_notnull) - ; - -// https://msdn.microsoft.com/en-us/library/ms188066.aspx -table_constraint - : (CONSTRAINT constraint=id)? - ((PRIMARY KEY | UNIQUE) clustered? '(' column_name_list_with_order ')' index_options? (ON id)? - | CHECK (NOT FOR REPLICATION)? '(' search_condition ')' - | DEFAULT '('? (STRING | PLUS | function_call | DECIMAL)+ ')'? FOR id - | FOREIGN KEY '(' fk = column_name_list ')' REFERENCES table_name ('(' pk = column_name_list')')? on_delete? on_update?) - ; - -on_delete - : ON DELETE (NO ACTION | CASCADE | SET NULL | SET DEFAULT) - ; - -on_update - : ON UPDATE (NO ACTION | CASCADE | SET NULL | SET DEFAULT) - ; - -index_options - : WITH '(' index_option (',' index_option)* ')' - ; - -// https://msdn.microsoft.com/en-us/library/ms186869.aspx -// Id runtime checking. Id in (PAD_INDEX, FILLFACTOR, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ALLOW_ROW_LOCKS, -// ALLOW_PAGE_LOCKS, SORT_IN_TEMPDB, ONLINE, MAXDOP, DATA_COMPRESSION, ONLINE). -index_option - : simple_id '=' (simple_id | on_off | DECIMAL) - ; - -// https://msdn.microsoft.com/en-us/library/ms180169.aspx -declare_cursor - : DECLARE cursor_name - (CURSOR (declare_set_cursor_common (FOR UPDATE (OF column_name_list)?)?)? - | (SEMI_SENSITIVE | INSENSITIVE)? SCROLL? CURSOR FOR select_statement (FOR (READ ONLY | UPDATE | (OF column_name_list)))? - ) ';'? - ; - -declare_set_cursor_common - : declare_set_cursor_common_partial* - FOR select_statement - ; - -declare_set_cursor_common_partial - : (LOCAL | GLOBAL) - | (FORWARD_ONLY | SCROLL) - | (STATIC | KEYSET | DYNAMIC | FAST_FORWARD) - | (READ_ONLY | SCROLL_LOCKS | OPTIMISTIC) - | TYPE_WARNING - ; - -fetch_cursor - : FETCH ((NEXT | PRIOR | FIRST | LAST | (ABSOLUTE | RELATIVE) expression)? FROM)? - GLOBAL? cursor_name (INTO LOCAL_ID (',' LOCAL_ID)*)? ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms190356.aspx -// Runtime check. -set_special - : SET id (id | constant_LOCAL_ID | on_off) ';'? - // https://msdn.microsoft.com/en-us/library/ms173763.aspx - | SET TRANSACTION ISOLATION LEVEL - (READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SNAPSHOT | SERIALIZABLE | DECIMAL) ';'? - // https://msdn.microsoft.com/en-us/library/ms188059.aspx - | SET IDENTITY_INSERT table_name on_off ';'? - | SET ANSI_NULLS on_off - | SET QUOTED_IDENTIFIER on_off - | SET ANSI_PADDING on_off - | SET ANSI_WARNINGS on_off - | SET modify_method - ; - -constant_LOCAL_ID - : constant - | LOCAL_ID - ; - -// Expression. - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/expressions-transact-sql -// Operator precendence: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/operator-precedence-transact-sql -expression - : primitive_expression - | function_call - | expression COLLATE id - | case_expression - | full_column_name - | bracket_expression - | unary_operator_expression - | expression op=('*' | '/' | '%') expression - | expression op=('+' | '-' | '&' | '^' | '|' | '||') expression - | expression comparison_operator expression - | expression assignment_operator expression - | over_clause - ; - -primitive_expression - : DEFAULT | NULL | LOCAL_ID | constant - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql -case_expression - : CASE caseExpr=expression switch_section+ (ELSE elseExpr=expression)? END - | CASE switch_search_condition_section+ (ELSE elseExpr=expression)? END - ; - -unary_operator_expression - : '~' expression - | op=('+' | '-') expression - ; - -bracket_expression - : '(' expression ')' | '(' subquery ')' - ; - -constant_expression - : NULL - | constant - // system functions: https://msdn.microsoft.com/en-us/library/ms187786.aspx - | function_call - | LOCAL_ID // TODO: remove. - | '(' constant_expression ')' - ; - -subquery - : select_statement - ; - -// https://msdn.microsoft.com/en-us/library/ms175972.aspx -with_expression - : WITH (XMLNAMESPACES ',')? common_table_expression (',' common_table_expression)* - | WITH BLOCKING_HIERARCHY ('(' full_column_name_list ')')? AS '(' select_statement ')' - ; - -common_table_expression - : expression_name=id ('(' column_name_list ')')? AS '(' select_statement ')' - ; - -update_elem - : (full_column_name | LOCAL_ID) ('=' | assignment_operator) expression - | udt_column_name=id '.' method_name=id '(' expression_list ')' - //| full_column_name '.' WRITE (expression, ) - ; - -// https://msdn.microsoft.com/en-us/library/ms173545.aspx -search_condition_list - : search_condition (',' search_condition)* - ; - -search_condition - : search_condition_and (OR search_condition_and)* - ; - -search_condition_and - : search_condition_not (AND search_condition_not)* - ; - -search_condition_not - : NOT? predicate - ; - -predicate - : EXISTS '(' subquery ')' - | expression comparison_operator expression - | expression comparison_operator (ALL | SOME | ANY) '(' subquery ')' - | expression NOT? BETWEEN expression AND expression - | expression NOT? IN '(' (subquery | expression_list) ')' - | expression NOT? LIKE expression (ESCAPE expression)? - | expression IS null_notnull - | '(' search_condition ')' - ; - -// Changed union rule to sql_union to avoid union construct with C++ target. Issue reported by person who generates into C++. This individual reports change causes generated code to work - -query_expression - : (query_specification | '(' query_expression ')') sql_union* - ; - -sql_union - : (UNION ALL? | EXCEPT | INTERSECT) (query_specification | ('(' query_expression ')')) - ; - -// https://msdn.microsoft.com/en-us/library/ms176104.aspx -query_specification - : SELECT (ALL | DISTINCT)? top_clause? - select_list - // https://msdn.microsoft.com/en-us/library/ms188029.aspx - (INTO table_name)? - (FROM table_sources)? - (WHERE where=search_condition)? - // https://msdn.microsoft.com/en-us/library/ms177673.aspx - (GROUP BY (ALL)? group_by_item (',' group_by_item)*)? - (HAVING having=search_condition)? - ; - -// https://msdn.microsoft.com/en-us/library/ms189463.aspx -top_clause - : TOP (top_percent | top_count) (WITH TIES)? - ; - -top_percent - : (REAL | FLOAT) PERCENT - | '(' expression ')' PERCENT - ; - -top_count - : DECIMAL - | '(' expression ')' - ; - -// https://msdn.microsoft.com/en-us/library/ms188385.aspx -order_by_clause - : ORDER BY order_by_expression (',' order_by_expression)* - (OFFSET expression (ROW | ROWS) (FETCH (FIRST | NEXT) expression (ROW | ROWS) ONLY)?)? - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/queries/select-for-clause-transact-sql -for_clause - : FOR BROWSE - | FOR XML (RAW ('(' STRING ')')? | AUTO) xml_common_directives* - (COMMA (XMLDATA | XMLSCHEMA ('(' STRING ')')?))? - (COMMA ELEMENTS (XSINIL | ABSENT))? - | FOR XML EXPLICIT xml_common_directives* - (COMMA XMLDATA)? - | FOR XML PATH ('(' STRING ')')? xml_common_directives* - (COMMA ELEMENTS (XSINIL | ABSENT))? - | FOR JSON (AUTO | PATH) - (COMMA ROOT ('(' STRING ')')?)? - (COMMA INCLUDE_NULL_VALUES)? - (COMMA WITHOUT_ARRAY_WRAPPER)? - ; - -xml_common_directives - : ',' (BINARY_BASE64 | TYPE | ROOT ('(' STRING ')')?) - ; - -order_by_expression - : expression (ASC | DESC)? - ; - -group_by_item - : expression - /*| rollup_spec - | cube_spec - | grouping_sets_spec - | grand_total*/ - ; - -option_clause - // https://msdn.microsoft.com/en-us/library/ms181714.aspx - : OPTION '(' option (',' option)* ')' - ; - -option - : FAST number_rows=DECIMAL - | (HASH | ORDER) GROUP - | (MERGE | HASH | CONCAT) UNION - | (LOOP | MERGE | HASH) JOIN - | EXPAND VIEWS - | FORCE ORDER - | IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - | KEEP PLAN - | KEEPFIXED PLAN - | MAXDOP number_of_processors=DECIMAL - | MAXRECURSION number_recursion=DECIMAL - | OPTIMIZE FOR '(' optimize_for_arg (',' optimize_for_arg)* ')' - | OPTIMIZE FOR UNKNOWN - | PARAMETERIZATION (SIMPLE | FORCED) - | RECOMPILE - | ROBUST PLAN - | USE PLAN STRING - ; - -optimize_for_arg - : LOCAL_ID (UNKNOWN | '=' (constant | NULL)) - ; - -// https://msdn.microsoft.com/en-us/library/ms176104.aspx -select_list - : select_list_elem (',' select_list_elem)* - ; - -udt_method_arguments - : '(' execute_var_string (',' execute_var_string)* ')' - ; - -// https://docs.microsoft.com/ru-ru/sql/t-sql/queries/select-clause-transact-sql -asterisk - : (table_name '.')? '*' - ; - -column_elem - : ((table_name '.')? (column_name=id | '$' IDENTITY | '$' ROWGUID) | NULL) as_column_alias? - ; - -udt_elem - : udt_column_name=id '.' non_static_attr=id udt_method_arguments as_column_alias? - | udt_column_name=id ':' ':' static_attr=id udt_method_arguments? as_column_alias? - ; - -expression_elem - : column_alias eq='=' expression - | expression as_column_alias? - ; - -select_list_elem - : asterisk - | column_elem - | udt_elem - | expression_elem - ; - -table_sources - : table_source (',' table_source)* - ; - -// https://msdn.microsoft.com/en-us/library/ms177634.aspx -table_source - : table_source_item_joined - | '(' table_source_item_joined ')' - ; - -table_source_item_joined - : table_source_item join_part* - ; - -table_source_item - : table_name_with_hint as_table_alias? - | full_table_name as_table_alias? - | rowset_function as_table_alias? - | derived_table (as_table_alias column_alias_list?)? - | change_table as_table_alias - | function_call (as_table_alias column_alias_list?)? - | LOCAL_ID as_table_alias? - | LOCAL_ID '.' function_call (as_table_alias column_alias_list?)? - | open_xml - | ':' ':' function_call as_table_alias? // Build-in function (old syntax) - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/functions/openxml-transact-sql -open_xml - : OPENXML '(' expression ',' expression (',' expression)? ')' - (WITH '(' schema_declaration ')' )? - ; - -schema_declaration - : column_declaration (',' column_declaration)* - ; - -column_declaration - : ID data_type (STRING)? - ; - -change_table - : CHANGETABLE '(' CHANGES table_name ',' (NULL | DECIMAL | LOCAL_ID) ')' - ; - -// https://msdn.microsoft.com/en-us/library/ms191472.aspx -join_part - // https://msdn.microsoft.com/en-us/library/ms173815(v=sql.120).aspx - : (INNER? | - join_type=(LEFT | RIGHT | FULL) OUTER?) (join_hint=(LOOP | HASH | MERGE | REMOTE))? - JOIN table_source ON search_condition - | CROSS JOIN table_source - | CROSS APPLY table_source - | OUTER APPLY table_source - | PIVOT pivot_clause as_table_alias - | UNPIVOT unpivot_clause as_table_alias - ; - -pivot_clause - : '(' aggregate_windowed_function FOR full_column_name IN column_alias_list ')' - ; - -unpivot_clause - : '(' expression FOR full_column_name IN '(' full_column_name_list ')' ')' - ; - -full_column_name_list - : full_column_name (',' full_column_name)* - ; - -table_name_with_hint - : table_name with_table_hints? - ; - -// https://msdn.microsoft.com/en-us/library/ms190312.aspx -rowset_function - : ( - OPENROWSET LR_BRACKET provider_name = STRING COMMA connectionString = STRING COMMA sql = STRING RR_BRACKET - ) - | ( OPENROWSET '(' BULK data_file=STRING ',' (bulk_option (',' bulk_option)* | id)')' ) - ; - -// runtime check. -bulk_option - : id '=' bulk_option_value=(DECIMAL | STRING) - ; - -derived_table - : subquery - | '(' subquery ')' - | table_value_constructor - | '(' table_value_constructor ')' - ; - -function_call - : // https://msdn.microsoft.com/en-us/library/ms173784.aspx - BINARY_CHECKSUM '(' '*' ')' #BINARY_CHECKSUM - // https://msdn.microsoft.com/en-us/library/hh231076.aspx - // https://msdn.microsoft.com/en-us/library/ms187928.aspx - | CAST '(' expression AS data_type ')' #CAST - | CONVERT '(' convert_data_type=data_type ','convert_expression=expression (',' style=expression)? ')' #CONVERT - // https://msdn.microsoft.com/en-us/library/ms189788.aspx - | CHECKSUM '(' '*' ')' #CHECKSUM - // https://msdn.microsoft.com/en-us/library/ms190349.aspx - | COALESCE '(' expression_list ')' #COALESCE - // https://msdn.microsoft.com/en-us/library/ms188751.aspx - | CURRENT_TIMESTAMP #CURRENT_TIMESTAMP - // https://msdn.microsoft.com/en-us/library/ms176050.aspx - | CURRENT_USER #CURRENT_USER - // https://msdn.microsoft.com/en-us/library/ms186819.aspx - | DATEADD '(' ID ',' expression ',' expression ')' #DATEADD - // https://msdn.microsoft.com/en-us/library/ms189794.aspx - | DATEDIFF '(' ID ',' expression ',' expression ')' #DATEDIFF - // https://msdn.microsoft.com/en-us/library/ms174395.aspx - | DATENAME '(' ID ',' expression ')' #DATENAME - // https://msdn.microsoft.com/en-us/library/ms174420.aspx - | DATEPART '(' ID ',' expression ')' #DATEPART - // https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql - | GETDATE '(' ')' #GETDATE - // https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql - | GETUTCDATE '(' ')' #GETUTCDATE - // https://msdn.microsoft.com/en-us/library/ms189838.aspx - | IDENTITY '(' data_type (',' seed=DECIMAL)? (',' increment=DECIMAL)? ')' #IDENTITY - // https://msdn.microsoft.com/en-us/library/bb839514.aspx - | MIN_ACTIVE_ROWVERSION #MIN_ACTIVE_ROWVERSION - // https://msdn.microsoft.com/en-us/library/ms177562.aspx - | NULLIF '(' expression ',' expression ')' #NULLIF - // https://msdn.microsoft.com/fr-fr/library/ms188043.aspx - | STUFF '(' expression ',' DECIMAL ',' DECIMAL ',' expression ')' #STUFF - // https://msdn.microsoft.com/en-us/library/ms177587.aspx - | SESSION_USER #SESSION_USER - // https://msdn.microsoft.com/en-us/library/ms179930.aspx - | SYSTEM_USER #SYSTEM_USER - // https://msdn.microsoft.com/en-us/library/ms184325.aspx - | ISNULL '(' expression ',' expression ')' #ISNULL - // https://docs.microsoft.com/en-us/sql/t-sql/xml/xml-data-type-methods - | xml_data_type_methods #XML_DATA_TYPE_FUNC - // https://docs.microsoft.com/en-us/sql/t-sql/functions/logical-functions-iif-transact-sql - | IIF '(' search_condition ',' expression ',' expression ')' #IFF - | ranking_windowed_function #RANKING_WINDOWED_FUNC - | aggregate_windowed_function #AGGREGATE_WINDOWED_FUNC - | analytic_windowed_function #ANALYTIC_WINDOWED_FUNC - | scalar_function_name '(' expression_list? ')' #SCALAR_FUNCTION - | STRING_AGG '(' expr=expression ',' separator=expression ')' (WITHIN GROUP '(' order_by_clause ')')? #STRINGAGG - ; - -xml_data_type_methods - : value_method - | query_method - | exist_method - | modify_method - | nodes_method - ; - -value_method - : (LOCAL_ID | ID | EVENTDATA | query_method) '.' VALUE '(' xquery=STRING ',' sqltype=STRING ')' - | (LOCAL_ID | ID | EVENTDATA | query_method) '.' ROW '.' VALUE '(' xquery=STRING ',' sqltype=STRING ')' - | (LOCAL_ID | ID | EVENTDATA | query_method) '.' PARAM_NODE '.' VALUE '(' xquery=STRING ',' sqltype=STRING ')' - ; - -query_method - : (LOCAL_ID | ID | full_table_name) '.' QUERY '(' xquery=STRING ')' - | (LOCAL_ID | ID | full_table_name) '.' ROW '.' QUERY '(' xquery=STRING ')' - ; - -exist_method - : (LOCAL_ID | ID) '.' EXIST '(' xquery=STRING ')' - ; - -modify_method - : (LOCAL_ID | ID) '.' MODIFY '(' xml_dml=STRING ')' - ; - -nodes_method - : (LOCAL_ID | ID) '.' NODES '(' xquery=STRING ')' - ; - - -switch_section - : WHEN expression THEN expression - ; - -switch_search_condition_section - : WHEN search_condition THEN expression - ; - -as_column_alias - : AS? column_alias - ; - -as_table_alias - : AS? table_alias - ; - -table_alias - : id with_table_hints? - ; - -// https://msdn.microsoft.com/en-us/library/ms187373.aspx -with_table_hints - : WITH? '(' table_hint (','? table_hint)* ')' - ; - -// https://msdn.microsoft.com/en-us/library/ms187373.aspx -insert_with_table_hints - : WITH '(' table_hint (','? table_hint)* ')' - ; - -// Id runtime check. Id can be (FORCESCAN, HOLDLOCK, NOLOCK, NOWAIT, PAGLOCK, READCOMMITTED, -// READCOMMITTEDLOCK, READPAST, READUNCOMMITTED, REPEATABLEREAD, ROWLOCK, TABLOCK, TABLOCKX -// UPDLOCK, XLOCK) -table_hint - : NOEXPAND? ( INDEX ('(' index_value (',' index_value)* ')' | index_value (',' index_value)*) - | INDEX '=' index_value - | FORCESEEK ('(' index_value '(' ID (',' ID)* ')' ')')? - | SERIALIZABLE - | SNAPSHOT - | SPATIAL_WINDOW_MAX_CELLS '=' DECIMAL - | ID) - ; - -index_value - : id | DECIMAL - ; - -column_alias_list - : '(' column_alias (',' column_alias)* ')' - ; - -column_alias - : id - | STRING - ; - -table_value_constructor - : VALUES '(' expression_list ')' (',' '(' expression_list ')')* - ; - -expression_list - : expression (',' expression)* - ; - -// https://msdn.microsoft.com/en-us/library/ms189798.aspx -ranking_windowed_function - : (RANK | DENSE_RANK | ROW_NUMBER) '(' ')' over_clause - | NTILE '(' expression ')' over_clause - ; - -// https://msdn.microsoft.com/en-us/library/ms173454.aspx -aggregate_windowed_function - : (AVG | MAX | MIN | SUM | STDEV | STDEVP | VAR | VARP) - '(' all_distinct_expression ')' over_clause? - | (COUNT | COUNT_BIG) - '(' ('*' | all_distinct_expression) ')' over_clause? - | CHECKSUM_AGG '(' all_distinct_expression ')' - | GROUPING '(' expression ')' - | GROUPING_ID '(' expression_list ')' - ; - -// https://docs.microsoft.com/en-us/sql/t-sql/functions/analytic-functions-transact-sql -analytic_windowed_function - : (FIRST_VALUE | LAST_VALUE) '(' expression ')' over_clause - | (LAG | LEAD) '(' expression (',' expression (',' expression)? )? ')' over_clause - ; - -all_distinct_expression - : (ALL | DISTINCT)? expression - ; - -// https://msdn.microsoft.com/en-us/library/ms189461.aspx -over_clause - : OVER '(' (PARTITION BY expression_list)? order_by_clause? row_or_range_clause? ')' - ; - -row_or_range_clause - : (ROWS | RANGE) window_frame_extent - ; - -window_frame_extent - : window_frame_preceding - | BETWEEN window_frame_bound AND window_frame_bound - ; - -window_frame_bound - : window_frame_preceding - | window_frame_following - ; - -window_frame_preceding - : UNBOUNDED PRECEDING - | DECIMAL PRECEDING - | CURRENT ROW - ; - -window_frame_following - : UNBOUNDED FOLLOWING - | DECIMAL FOLLOWING - ; - -create_database_option: - FILESTREAM ( database_filestream_option (',' database_filestream_option)* ) - | DEFAULT_LANGUAGE EQUAL ( id | STRING ) - | DEFAULT_FULLTEXT_LANGUAGE EQUAL ( id | STRING ) - | NESTED_TRIGGERS EQUAL ( OFF | ON ) - | TRANSFORM_NOISE_WORDS EQUAL ( OFF | ON ) - | TWO_DIGIT_YEAR_CUTOFF EQUAL DECIMAL - | DB_CHAINING ( OFF | ON ) - | TRUSTWORTHY ( OFF | ON ) - ; - -database_filestream_option: - LR_BRACKET - ( - ( NON_TRANSACTED_ACCESS EQUAL ( OFF | READ_ONLY | FULL ) ) - | - ( DIRECTORY_NAME EQUAL STRING ) - ) - RR_BRACKET - ; - -database_file_spec: - file_group | file_spec; - -file_group: - FILEGROUP id - ( CONTAINS FILESTREAM )? - ( DEFAULT )? - ( CONTAINS MEMORY_OPTIMIZED_DATA )? - file_spec ( ',' file_spec )* - ; -file_spec - : LR_BRACKET - NAME EQUAL ( id | STRING ) ','? - FILENAME EQUAL file = STRING ','? - ( SIZE EQUAL file_size ','? )? - ( MAXSIZE EQUAL (file_size | UNLIMITED )','? )? - ( FILEGROWTH EQUAL file_size ','? )? - RR_BRACKET - ; - - -// Primitive. -entity_name - : (server=id '.' database=id '.' schema=id '.' - | database=id '.' (schema=id)? '.' - | schema=id '.')? table=id - ; - - -entity_name_for_azure_dw - : schema=id - | schema=id '.' object_name=id - ; - -entity_name_for_parallel_dw - : schema_database=id - | schema=id '.' object_name=id - ; - -full_table_name - : (server=id '.' database=id '.' schema=id '.' - | database=id '.' (schema=id)? '.' - | schema=id '.')? table=id - ; - -table_name - : (database=id '.' (schema=id)? '.' | schema=id '.')? table=id - | (database=id '.' (schema=id)? '.' | schema=id '.')? BLOCKING_HIERARCHY - ; - -simple_name - : (schema=id '.')? name=id - ; - -func_proc_name_schema - : ((schema=id) '.')? procedure=id - ; - -func_proc_name_database_schema - : func_proc_name_schema - | (database=id '.' (schema=id)? '.')? procedure=id - ; - -func_proc_name_server_database_schema - : func_proc_name_database_schema - | (server=id '.' database=id '.' (schema=id)? '.')? procedure=id - ; - -ddl_object - : full_table_name - | LOCAL_ID - ; -/* There are some RESERVED WORDS that can be column names */ -full_column_name - : (table_name '.')? column_name=id - | (table_name '.')? COMPATIBILITY_LEVEL - | (table_name '.')? STATUS - | (table_name '.')? QUOTED_IDENTIFIER - | (table_name '.')? ARITHABORT - | (table_name '.')? ANSI_WARNINGS - | (table_name '.')? ANSI_PADDING - | (table_name '.')? ANSI_NULLS - - ; - -column_name_list_with_order - : id (ASC | DESC)? (',' id (ASC | DESC)?)* - ; - -column_name_list - : id (',' id)* - ; - -cursor_name - : id - | LOCAL_ID - ; - -on_off - : ON - | OFF - ; - -clustered - : CLUSTERED - | NONCLUSTERED - ; - -null_notnull - : NOT? NULL - ; - -null_or_default - :(null_notnull | DEFAULT constant_expression (WITH VALUES)?) - ; - -scalar_function_name - : func_proc_name_server_database_schema - | RIGHT - | LEFT - | BINARY_CHECKSUM - | CHECKSUM - ; - -begin_conversation_timer - : BEGIN CONVERSATION TIMER '(' LOCAL_ID ')' TIMEOUT '=' time ';'? - ; - -begin_conversation_dialog - : BEGIN DIALOG (CONVERSATION)? dialog_handle=LOCAL_ID - FROM SERVICE initiator_service_name=service_name - TO SERVICE target_service_name=service_name (',' service_broker_guid=STRING)? - ON CONTRACT contract_name - (WITH - ((RELATED_CONVERSATION | RELATED_CONVERSATION_GROUP) '=' LOCAL_ID ','?)? - (LIFETIME '=' (DECIMAL | LOCAL_ID) ','?)? - (ENCRYPTION '=' (ON | OFF))? )? - ';'? - ; - -contract_name - : (id | expression) - ; - -service_name - : (id | expression) - ; - -end_conversation - : END CONVERSATION conversation_handle=LOCAL_ID ';'? - (WITH (ERROR '=' faliure_code=(LOCAL_ID | STRING) DESCRIPTION '=' failure_text=(LOCAL_ID | STRING))? CLEANUP? )? - ; - -waitfor_conversation - : WAITFOR? '(' get_conversation ')' (','? TIMEOUT timeout=time)? ';'? - ; - -get_conversation - :GET CONVERSATION GROUP conversation_group_id=(STRING | LOCAL_ID) FROM queue=queue_id ';'? - ; - -queue_id - : (database_name=id '.' schema_name=id '.' name=id) - | id - ; - -send_conversation - : SEND ON CONVERSATION conversation_handle=(STRING | LOCAL_ID) - MESSAGE TYPE message_type_name=expression - ('(' message_body_expression=(STRING | LOCAL_ID) ')' )? - ';'? - ; - -// https://msdn.microsoft.com/en-us/library/ms187752.aspx -// TODO: implement runtime check or add new tokens. -data_type - /*: BIGINT - | BINARY '(' DECIMAL ')' - | BIT - | CHAR '(' DECIMAL ')' - | DATE - | DATETIME - | DATETIME2 - | DATETIMEOFFSET '(' DECIMAL ')' - | DECIMAL '(' DECIMAL ',' DECIMAL ')' - | DOUBLE PRECISION? - | FLOAT - | GEOGRAPHY - | GEOMETRY - | HIERARCHYID - | IMAGE - | INT - | MONEY - | NCHAR '(' DECIMAL ')' - | NTEXT - | NUMERIC '(' DECIMAL ',' DECIMAL ')' - | NVARCHAR '(' DECIMAL | MAX ')' - | REAL - | SMALLDATETIME - | SMALLINT - | SMALLMONEY - | SQL_VARIANT - | TEXT - | TIME '(' DECIMAL ')' - | TIMESTAMP - | TINYINT - | UNIQUEIDENTIFIER - | VARBINARY '(' DECIMAL | MAX ')' - | VARCHAR '(' DECIMAL | MAX ')' - | XML*/ - : id IDENTITY? ('(' (DECIMAL | MAX) (',' DECIMAL)? ')')? - | DOUBLE PRECISION? - | INT - | TINYINT - | SMALLINT - | BIGINT - ; - -default_value - : NULL - | DEFAULT - | constant - ; - -// https://msdn.microsoft.com/en-us/library/ms179899.aspx -constant - : STRING // string, datetime or uniqueidentifier - | BINARY - | sign? DECIMAL - | sign? (REAL | FLOAT) // float or decimal - | sign? dollar='$' (DECIMAL | FLOAT) // money - ; - -sign - : '+' - | '-' - ; - -// https://msdn.microsoft.com/en-us/library/ms175874.aspx -id - : simple_id - | DOUBLE_QUOTE_ID - | SQUARE_BRACKET_ID - ; - -simple_id - : ID - | ABSOLUTE - | ACCENT_SENSITIVITY - | ACTION - | ACTIVATION - | ACTIVE - | ADDRESS - | AES_128 - | AES_192 - | AES_256 - | AFFINITY - | AFTER - | AGGREGATE - | ALGORITHM - | ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - | ALLOW_SNAPSHOT_ISOLATION - | ALLOWED - | ANSI_NULL_DEFAULT - | ANSI_NULLS - | ANSI_PADDING - | ANSI_WARNINGS - | APPLICATION_LOG - | APPLY - | ARITHABORT - | ASSEMBLY - | AUDIT - | AUDIT_GUID - | AUTO - | AUTO_CLEANUP - | AUTO_CLOSE - | AUTO_CREATE_STATISTICS - | AUTO_SHRINK - | AUTO_UPDATE_STATISTICS - | AUTO_UPDATE_STATISTICS_ASYNC - | AVAILABILITY - | AVG - | BACKUP_PRIORITY - | BEGIN_DIALOG - | BIGINT - | BINARY_BASE64 - | BINARY_CHECKSUM - | BINDING - | BLOB_STORAGE - | BROKER - | BROKER_INSTANCE - | BULK_LOGGED - | CALLED - | CALLER - | CAP_CPU_PERCENT - | CAST - | CATALOG - | CATCH - | CHANGE_RETENTION - | CHANGE_TRACKING - | CHECKSUM - | CHECKSUM_AGG - | CLEANUP - | COLLECTION - | COLUMN_MASTER_KEY - | COMMITTED - | COMPATIBILITY_LEVEL - | CONCAT - | CONCAT_NULL_YIELDS_NULL - | CONTENT - | CONTROL - | COOKIE - | COUNT - | COUNT_BIG - | COUNTER - | CPU - | CREATE_NEW - | CREATION_DISPOSITION - | CREDENTIAL - | CRYPTOGRAPHIC - | CURSOR_CLOSE_ON_COMMIT - | CURSOR_DEFAULT - | DATA - | DATA_COMPRESSION - | DATE_CORRELATION_OPTIMIZATION - | DATEADD - | DATEDIFF - | DATENAME - | DATEPART - | DAYS - | DB_CHAINING - | DB_FAILOVER - | DECRYPTION - | DEFAULT_DOUBLE_QUOTE - | DEFAULT_FULLTEXT_LANGUAGE - | DEFAULT_LANGUAGE - | DELAY - | DELAYED_DURABILITY - | DELETED - | DENSE_RANK - | DEPENDENTS - | DES - | DESCRIPTION - | DESX - | DHCP - | DIALOG - | DIRECTORY_NAME - | DISABLE - | DISABLE_BROKER - | DISABLED - | DISK_DRIVE - | DOCUMENT - | DYNAMIC - | EMERGENCY - | EMPTY - | ENABLE - | ENABLE_BROKER - | ENCRYPTED_VALUE - | ENCRYPTION - | ENDPOINT_URL - | ERROR_BROKER_CONVERSATIONS - | EVENTDATA - | EXCLUSIVE - | EXECUTABLE - | EXIST - | EXPAND - | EXPIRY_DATE - | EXPLICIT - | FAIL_OPERATION - | FAILOVER_MODE - | FAILURE - | FAILURE_CONDITION_LEVEL - | FAST - | FAST_FORWARD - | FILEGROUP - | FILEGROWTH - | FILENAME - | FILEPATH - | FILESTREAM - | FILLFACTOR - | FILTER - | FIRST - | FIRST_VALUE - | FOLLOWING - | FORCE - | FORCE_FAILOVER_ALLOW_DATA_LOSS - | FORCED - | FORCESEEK - | FORMAT - | FORWARD_ONLY - | FULLSCAN - | FULLTEXT - | GB - | GETDATE - | GETUTCDATE - | GLOBAL - | GO - | GROUP_MAX_REQUESTS - | GROUPING - | GROUPING_ID - | HADR - | HASH - | HEALTH_CHECK_TIMEOUT - | HIGH - | HONOR_BROKER_PRIORITY - | HOURS - | IDENTITY_VALUE - | IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - | IMMEDIATE - | IMPERSONATE - | IMPORTANCE - | INCREMENTAL - | INIT - | INITIATOR - | INPUT - | INSENSITIVE - | INSERTED - | INT - | IP - | ISOLATION - | KB - | KEEP - | KEEPFIXED - | KEY - | KEY_SOURCE - | KEYS - | KEYSET - | LAG - | LAST - | LAST_VALUE - | LEAD - | LEVEL - | LIST - | LISTENER - | LISTENER_URL - | LOB_COMPACTION - | LOCAL - | LOCATION - | LOCK - | LOCK_ESCALATION - | LOGIN - | LOOP - | LOW - | MANUAL - | MARK - | MASTER - | MATERIALIZED - | MAX - | MAX_CPU_PERCENT - | MAX_DOP - | MAX_FILES - | MAX_IOPS_PER_VOLUME - | MAX_MEMORY - | MAX_MEMORY_PERCENT - | MAX_PROCESSES - | MAX_QUEUE_READERS - | MAX_ROLLOVER_FILES - | MAXDOP - | MAXRECURSION - | MAXSIZE - | MB - | MEDIUM - | MEMORY_OPTIMIZED_DATA - | MESSAGE - | MIN - | MIN_ACTIVE_ROWVERSION - | MIN_CPU_PERCENT - | MIN_IOPS_PER_VOLUME - | MIN_MEMORY_PERCENT - | MINUTES - | MIRROR_ADDRESS - | MIXED_PAGE_ALLOCATION - | MODE - | MODIFY - | MOVE - | MULTI_USER - | NAME - | NESTED_TRIGGERS - | NEW_ACCOUNT - | NEW_BROKER - | NEW_PASSWORD - | NEXT - | NO - | NO_TRUNCATE - | NO_WAIT - | NOCOUNT - | NODES - | NOEXPAND - | NON_TRANSACTED_ACCESS - | NORECOMPUTE - | NORECOVERY - | NOWAIT - | NTILE - | NUMANODE - | NUMBER - | NUMERIC_ROUNDABORT - | OBJECT - | OFFLINE - | OFFSET - | OFFSETS - | OLD_ACCOUNT - | ONLINE - | ONLY - | OPEN_EXISTING - | OPTIMISTIC - | OPTIMIZE - | OUT - | OUTPUT - | OWNER - | PAGE - | PAGE_VERIFY - | PARAMETERIZATION - | PARTITION - | PARTITIONS - | PARTNER - | PATH - | POISON_MESSAGE_HANDLING - | POOL - | PORT - | PRECEDING - | PRIMARY_ROLE - | PRIOR - | PRIORITY - | PRIORITY_LEVEL - | PRIVATE - | PRIVATE_KEY - | PRIVILEGES - | PROCEDURE_NAME - | PROPERTY - | PROVIDER - | PROVIDER_KEY_NAME - | PUBLIC - | QUERY - | QUEUE - | QUEUE_DELAY - | QUOTED_IDENTIFIER - | R - | RANGE - | RANK - | RAW - | RC2 - | RC4 - | RC4_128 - | READ_COMMITTED_SNAPSHOT - | READ_ONLY - | READ_ONLY_ROUTING_LIST - | READ_WRITE - | READONLY - | REBUILD - | RECEIVE - | RECOMPILE - | RECOVERY - | RECURSIVE_TRIGGERS - | RELATIVE - | REMOTE - | REMOTE_SERVICE_NAME - | REMOVE - | REORGANIZE - | REPEATABLE - | REPLICA - | REQUEST_MAX_CPU_TIME_SEC - | REQUEST_MAX_MEMORY_GRANT_PERCENT - | REQUEST_MEMORY_GRANT_TIMEOUT_SEC - | REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - | RESERVE_DISK_SPACE - | RESOURCE - | RESOURCE_MANAGER_LOCATION - | RESTRICTED_USER - | RETENTION - | RETURN - | RETURNS - | ROBUST - | ROOT - | ROUTE - | ROW - | ROW_NUMBER - | ROWCOUNT - | ROWGUID - | ROWS - | SAFETY - | SAMPLE - | SCHEMABINDING - | SCOPED - | SCROLL - | SCROLL_LOCKS - | SEARCH - | SECONDARY - | SECONDARY_ONLY - | SECONDARY_ROLE - | SECONDS - | SECRET - | SECURITY - | SECURITY_LOG - | SEEDING_MODE - | SELF - | SEMI_SENSITIVE - | SEND - | SENT - | SEQUENCE - | SERIALIZABLE - | SERVER - | SESSION_TIMEOUT - | SETERROR - | SHARE - | SHOWPLAN - | SID - | SID - | SIGNATURE - | SIMPLE - | SINGLE_USER - | SIZE - | SMALLINT - | SNAPSHOT - | SOURCE - | SPATIAL_WINDOW_MAX_CELLS - | SPLIT - | STANDBY - | START - | START_DATE - | STATE - | STATIC - | STATS_STREAM - | STATUS - | STDEV - | STDEVP - | STOPLIST - | STRING_AGG - | STUFF - | SUBJECT - | SUM - | SUSPEND - | SYMMETRIC - | SYNCHRONOUS_COMMIT - | SYNONYM - | SYSTEM - | TAKE - | TARGET - | TARGET_RECOVERY_TIME - | TB - | TEXTIMAGE_ON - | THROW - | TIES - | TIME - | TIMEOUT - | TIMER - | TINYINT - | TORN_PAGE_DETECTION - | TRANSFORM_NOISE_WORDS - | TRIPLE_DES - | TRIPLE_DES_3KEY - | TRUSTWORTHY - | TRY - | TSQL - | TWO_DIGIT_YEAR_CUTOFF - | TYPE - | TYPE_WARNING - | UNBOUNDED - | UNCOMMITTED - | UNKNOWN - | UNLIMITED - | USING - | VALID_XML - | VALIDATION - | VALUE - | VAR - | VARP - | VIEW_METADATA - | VIEWS - | WAIT - | WELL_FORMED_XML - | WORK - | WORKLOAD - | XML - | XMLNAMESPACES - ; - -// https://msdn.microsoft.com/en-us/library/ms188074.aspx -// Spaces are allowed for comparison operators. -comparison_operator - : '=' | '>' | '<' | '<' '=' | '>' '=' | '<' '>' | '!' '=' | '!' '>' | '!' '<' - ; - -assignment_operator - : '+=' | '-=' | '*=' | '/=' | '%=' | '&=' | '^=' | '|=' - ; - -file_size - : DECIMAL( KB | MB | GB | TB | '%' )? - ; diff --git a/src/grammar/tsql/parser/TSqlLexer.js b/src/grammar/tsql/parser/TSqlLexer.js deleted file mode 100644 index 94a3171..0000000 --- a/src/grammar/tsql/parser/TSqlLexer.js +++ /dev/null @@ -1,8175 +0,0 @@ -// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/tsql/TSqlLexer.g4 by ANTLR 4.8 -// jshint ignore: start -var antlr4 = require('antlr4'); - - - -var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", - "\u0002\u034a\u276b\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004", - "\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t", - "\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004", - "\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010", - "\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013", - "\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017", - "\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a", - "\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e", - "\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#", - "\t#\u0004$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004", - "*\t*\u0004+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u0004", - "1\t1\u00042\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u0004", - "8\t8\u00049\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004", - "?\t?\u0004@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004", - "F\tF\u0004G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004", - "M\tM\u0004N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004", - "T\tT\u0004U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004", - "[\t[\u0004\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004", - "b\tb\u0004c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004", - "i\ti\u0004j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004", - "p\tp\u0004q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004", - "w\tw\u0004x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004", - "~\t~\u0004\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004", - "\u0082\t\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t", - "\u0085\u0004\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004", - "\u0089\t\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t", - "\u008c\u0004\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004", - "\u0090\t\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t", - "\u0093\u0004\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004", - "\u0097\t\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t", - "\u009a\u0004\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004", - "\u009e\t\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t", - "\u00a1\u0004\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004", - "\u00a5\t\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t", - "\u00a8\u0004\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004", - "\u00ac\t\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t", - "\u00af\u0004\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004", - "\u00b3\t\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t", - "\u00b6\u0004\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004", - "\u00ba\t\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t", - "\u00bd\u0004\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004", - "\u00c1\t\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t", - "\u00c4\u0004\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004", - "\u00c8\t\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t", - "\u00cb\u0004\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004", - "\u00cf\t\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t", - "\u00d2\u0004\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004", - "\u00d6\t\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t", - "\u00d9\u0004\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004", - "\u00dd\t\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t", - "\u00e0\u0004\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0004", - "\u00e4\t\u00e4\u0004\u00e5\t\u00e5\u0004\u00e6\t\u00e6\u0004\u00e7\t", - "\u00e7\u0004\u00e8\t\u00e8\u0004\u00e9\t\u00e9\u0004\u00ea\t\u00ea\u0004", - "\u00eb\t\u00eb\u0004\u00ec\t\u00ec\u0004\u00ed\t\u00ed\u0004\u00ee\t", - "\u00ee\u0004\u00ef\t\u00ef\u0004\u00f0\t\u00f0\u0004\u00f1\t\u00f1\u0004", - "\u00f2\t\u00f2\u0004\u00f3\t\u00f3\u0004\u00f4\t\u00f4\u0004\u00f5\t", - "\u00f5\u0004\u00f6\t\u00f6\u0004\u00f7\t\u00f7\u0004\u00f8\t\u00f8\u0004", - "\u00f9\t\u00f9\u0004\u00fa\t\u00fa\u0004\u00fb\t\u00fb\u0004\u00fc\t", - "\u00fc\u0004\u00fd\t\u00fd\u0004\u00fe\t\u00fe\u0004\u00ff\t\u00ff\u0004", - "\u0100\t\u0100\u0004\u0101\t\u0101\u0004\u0102\t\u0102\u0004\u0103\t", - "\u0103\u0004\u0104\t\u0104\u0004\u0105\t\u0105\u0004\u0106\t\u0106\u0004", - "\u0107\t\u0107\u0004\u0108\t\u0108\u0004\u0109\t\u0109\u0004\u010a\t", - "\u010a\u0004\u010b\t\u010b\u0004\u010c\t\u010c\u0004\u010d\t\u010d\u0004", - "\u010e\t\u010e\u0004\u010f\t\u010f\u0004\u0110\t\u0110\u0004\u0111\t", - "\u0111\u0004\u0112\t\u0112\u0004\u0113\t\u0113\u0004\u0114\t\u0114\u0004", - "\u0115\t\u0115\u0004\u0116\t\u0116\u0004\u0117\t\u0117\u0004\u0118\t", - "\u0118\u0004\u0119\t\u0119\u0004\u011a\t\u011a\u0004\u011b\t\u011b\u0004", - "\u011c\t\u011c\u0004\u011d\t\u011d\u0004\u011e\t\u011e\u0004\u011f\t", - "\u011f\u0004\u0120\t\u0120\u0004\u0121\t\u0121\u0004\u0122\t\u0122\u0004", - "\u0123\t\u0123\u0004\u0124\t\u0124\u0004\u0125\t\u0125\u0004\u0126\t", - "\u0126\u0004\u0127\t\u0127\u0004\u0128\t\u0128\u0004\u0129\t\u0129\u0004", - "\u012a\t\u012a\u0004\u012b\t\u012b\u0004\u012c\t\u012c\u0004\u012d\t", - "\u012d\u0004\u012e\t\u012e\u0004\u012f\t\u012f\u0004\u0130\t\u0130\u0004", - "\u0131\t\u0131\u0004\u0132\t\u0132\u0004\u0133\t\u0133\u0004\u0134\t", - "\u0134\u0004\u0135\t\u0135\u0004\u0136\t\u0136\u0004\u0137\t\u0137\u0004", - "\u0138\t\u0138\u0004\u0139\t\u0139\u0004\u013a\t\u013a\u0004\u013b\t", - "\u013b\u0004\u013c\t\u013c\u0004\u013d\t\u013d\u0004\u013e\t\u013e\u0004", - "\u013f\t\u013f\u0004\u0140\t\u0140\u0004\u0141\t\u0141\u0004\u0142\t", - "\u0142\u0004\u0143\t\u0143\u0004\u0144\t\u0144\u0004\u0145\t\u0145\u0004", - "\u0146\t\u0146\u0004\u0147\t\u0147\u0004\u0148\t\u0148\u0004\u0149\t", - "\u0149\u0004\u014a\t\u014a\u0004\u014b\t\u014b\u0004\u014c\t\u014c\u0004", - "\u014d\t\u014d\u0004\u014e\t\u014e\u0004\u014f\t\u014f\u0004\u0150\t", - "\u0150\u0004\u0151\t\u0151\u0004\u0152\t\u0152\u0004\u0153\t\u0153\u0004", - "\u0154\t\u0154\u0004\u0155\t\u0155\u0004\u0156\t\u0156\u0004\u0157\t", - "\u0157\u0004\u0158\t\u0158\u0004\u0159\t\u0159\u0004\u015a\t\u015a\u0004", - "\u015b\t\u015b\u0004\u015c\t\u015c\u0004\u015d\t\u015d\u0004\u015e\t", - "\u015e\u0004\u015f\t\u015f\u0004\u0160\t\u0160\u0004\u0161\t\u0161\u0004", - "\u0162\t\u0162\u0004\u0163\t\u0163\u0004\u0164\t\u0164\u0004\u0165\t", - "\u0165\u0004\u0166\t\u0166\u0004\u0167\t\u0167\u0004\u0168\t\u0168\u0004", - "\u0169\t\u0169\u0004\u016a\t\u016a\u0004\u016b\t\u016b\u0004\u016c\t", - "\u016c\u0004\u016d\t\u016d\u0004\u016e\t\u016e\u0004\u016f\t\u016f\u0004", - "\u0170\t\u0170\u0004\u0171\t\u0171\u0004\u0172\t\u0172\u0004\u0173\t", - "\u0173\u0004\u0174\t\u0174\u0004\u0175\t\u0175\u0004\u0176\t\u0176\u0004", - "\u0177\t\u0177\u0004\u0178\t\u0178\u0004\u0179\t\u0179\u0004\u017a\t", - "\u017a\u0004\u017b\t\u017b\u0004\u017c\t\u017c\u0004\u017d\t\u017d\u0004", - "\u017e\t\u017e\u0004\u017f\t\u017f\u0004\u0180\t\u0180\u0004\u0181\t", - "\u0181\u0004\u0182\t\u0182\u0004\u0183\t\u0183\u0004\u0184\t\u0184\u0004", - "\u0185\t\u0185\u0004\u0186\t\u0186\u0004\u0187\t\u0187\u0004\u0188\t", - "\u0188\u0004\u0189\t\u0189\u0004\u018a\t\u018a\u0004\u018b\t\u018b\u0004", - "\u018c\t\u018c\u0004\u018d\t\u018d\u0004\u018e\t\u018e\u0004\u018f\t", - "\u018f\u0004\u0190\t\u0190\u0004\u0191\t\u0191\u0004\u0192\t\u0192\u0004", - "\u0193\t\u0193\u0004\u0194\t\u0194\u0004\u0195\t\u0195\u0004\u0196\t", - "\u0196\u0004\u0197\t\u0197\u0004\u0198\t\u0198\u0004\u0199\t\u0199\u0004", - "\u019a\t\u019a\u0004\u019b\t\u019b\u0004\u019c\t\u019c\u0004\u019d\t", - "\u019d\u0004\u019e\t\u019e\u0004\u019f\t\u019f\u0004\u01a0\t\u01a0\u0004", - "\u01a1\t\u01a1\u0004\u01a2\t\u01a2\u0004\u01a3\t\u01a3\u0004\u01a4\t", - "\u01a4\u0004\u01a5\t\u01a5\u0004\u01a6\t\u01a6\u0004\u01a7\t\u01a7\u0004", - "\u01a8\t\u01a8\u0004\u01a9\t\u01a9\u0004\u01aa\t\u01aa\u0004\u01ab\t", - "\u01ab\u0004\u01ac\t\u01ac\u0004\u01ad\t\u01ad\u0004\u01ae\t\u01ae\u0004", - "\u01af\t\u01af\u0004\u01b0\t\u01b0\u0004\u01b1\t\u01b1\u0004\u01b2\t", - "\u01b2\u0004\u01b3\t\u01b3\u0004\u01b4\t\u01b4\u0004\u01b5\t\u01b5\u0004", - "\u01b6\t\u01b6\u0004\u01b7\t\u01b7\u0004\u01b8\t\u01b8\u0004\u01b9\t", - "\u01b9\u0004\u01ba\t\u01ba\u0004\u01bb\t\u01bb\u0004\u01bc\t\u01bc\u0004", - "\u01bd\t\u01bd\u0004\u01be\t\u01be\u0004\u01bf\t\u01bf\u0004\u01c0\t", - "\u01c0\u0004\u01c1\t\u01c1\u0004\u01c2\t\u01c2\u0004\u01c3\t\u01c3\u0004", - "\u01c4\t\u01c4\u0004\u01c5\t\u01c5\u0004\u01c6\t\u01c6\u0004\u01c7\t", - "\u01c7\u0004\u01c8\t\u01c8\u0004\u01c9\t\u01c9\u0004\u01ca\t\u01ca\u0004", - "\u01cb\t\u01cb\u0004\u01cc\t\u01cc\u0004\u01cd\t\u01cd\u0004\u01ce\t", - "\u01ce\u0004\u01cf\t\u01cf\u0004\u01d0\t\u01d0\u0004\u01d1\t\u01d1\u0004", - "\u01d2\t\u01d2\u0004\u01d3\t\u01d3\u0004\u01d4\t\u01d4\u0004\u01d5\t", - "\u01d5\u0004\u01d6\t\u01d6\u0004\u01d7\t\u01d7\u0004\u01d8\t\u01d8\u0004", - "\u01d9\t\u01d9\u0004\u01da\t\u01da\u0004\u01db\t\u01db\u0004\u01dc\t", - "\u01dc\u0004\u01dd\t\u01dd\u0004\u01de\t\u01de\u0004\u01df\t\u01df\u0004", - "\u01e0\t\u01e0\u0004\u01e1\t\u01e1\u0004\u01e2\t\u01e2\u0004\u01e3\t", - "\u01e3\u0004\u01e4\t\u01e4\u0004\u01e5\t\u01e5\u0004\u01e6\t\u01e6\u0004", - "\u01e7\t\u01e7\u0004\u01e8\t\u01e8\u0004\u01e9\t\u01e9\u0004\u01ea\t", - "\u01ea\u0004\u01eb\t\u01eb\u0004\u01ec\t\u01ec\u0004\u01ed\t\u01ed\u0004", - "\u01ee\t\u01ee\u0004\u01ef\t\u01ef\u0004\u01f0\t\u01f0\u0004\u01f1\t", - "\u01f1\u0004\u01f2\t\u01f2\u0004\u01f3\t\u01f3\u0004\u01f4\t\u01f4\u0004", - "\u01f5\t\u01f5\u0004\u01f6\t\u01f6\u0004\u01f7\t\u01f7\u0004\u01f8\t", - "\u01f8\u0004\u01f9\t\u01f9\u0004\u01fa\t\u01fa\u0004\u01fb\t\u01fb\u0004", - "\u01fc\t\u01fc\u0004\u01fd\t\u01fd\u0004\u01fe\t\u01fe\u0004\u01ff\t", - "\u01ff\u0004\u0200\t\u0200\u0004\u0201\t\u0201\u0004\u0202\t\u0202\u0004", - "\u0203\t\u0203\u0004\u0204\t\u0204\u0004\u0205\t\u0205\u0004\u0206\t", - "\u0206\u0004\u0207\t\u0207\u0004\u0208\t\u0208\u0004\u0209\t\u0209\u0004", - "\u020a\t\u020a\u0004\u020b\t\u020b\u0004\u020c\t\u020c\u0004\u020d\t", - "\u020d\u0004\u020e\t\u020e\u0004\u020f\t\u020f\u0004\u0210\t\u0210\u0004", - "\u0211\t\u0211\u0004\u0212\t\u0212\u0004\u0213\t\u0213\u0004\u0214\t", - "\u0214\u0004\u0215\t\u0215\u0004\u0216\t\u0216\u0004\u0217\t\u0217\u0004", - "\u0218\t\u0218\u0004\u0219\t\u0219\u0004\u021a\t\u021a\u0004\u021b\t", - "\u021b\u0004\u021c\t\u021c\u0004\u021d\t\u021d\u0004\u021e\t\u021e\u0004", - "\u021f\t\u021f\u0004\u0220\t\u0220\u0004\u0221\t\u0221\u0004\u0222\t", - "\u0222\u0004\u0223\t\u0223\u0004\u0224\t\u0224\u0004\u0225\t\u0225\u0004", - "\u0226\t\u0226\u0004\u0227\t\u0227\u0004\u0228\t\u0228\u0004\u0229\t", - "\u0229\u0004\u022a\t\u022a\u0004\u022b\t\u022b\u0004\u022c\t\u022c\u0004", - "\u022d\t\u022d\u0004\u022e\t\u022e\u0004\u022f\t\u022f\u0004\u0230\t", - "\u0230\u0004\u0231\t\u0231\u0004\u0232\t\u0232\u0004\u0233\t\u0233\u0004", - "\u0234\t\u0234\u0004\u0235\t\u0235\u0004\u0236\t\u0236\u0004\u0237\t", - "\u0237\u0004\u0238\t\u0238\u0004\u0239\t\u0239\u0004\u023a\t\u023a\u0004", - "\u023b\t\u023b\u0004\u023c\t\u023c\u0004\u023d\t\u023d\u0004\u023e\t", - "\u023e\u0004\u023f\t\u023f\u0004\u0240\t\u0240\u0004\u0241\t\u0241\u0004", - "\u0242\t\u0242\u0004\u0243\t\u0243\u0004\u0244\t\u0244\u0004\u0245\t", - "\u0245\u0004\u0246\t\u0246\u0004\u0247\t\u0247\u0004\u0248\t\u0248\u0004", - "\u0249\t\u0249\u0004\u024a\t\u024a\u0004\u024b\t\u024b\u0004\u024c\t", - "\u024c\u0004\u024d\t\u024d\u0004\u024e\t\u024e\u0004\u024f\t\u024f\u0004", - "\u0250\t\u0250\u0004\u0251\t\u0251\u0004\u0252\t\u0252\u0004\u0253\t", - "\u0253\u0004\u0254\t\u0254\u0004\u0255\t\u0255\u0004\u0256\t\u0256\u0004", - "\u0257\t\u0257\u0004\u0258\t\u0258\u0004\u0259\t\u0259\u0004\u025a\t", - "\u025a\u0004\u025b\t\u025b\u0004\u025c\t\u025c\u0004\u025d\t\u025d\u0004", - "\u025e\t\u025e\u0004\u025f\t\u025f\u0004\u0260\t\u0260\u0004\u0261\t", - "\u0261\u0004\u0262\t\u0262\u0004\u0263\t\u0263\u0004\u0264\t\u0264\u0004", - "\u0265\t\u0265\u0004\u0266\t\u0266\u0004\u0267\t\u0267\u0004\u0268\t", - "\u0268\u0004\u0269\t\u0269\u0004\u026a\t\u026a\u0004\u026b\t\u026b\u0004", - "\u026c\t\u026c\u0004\u026d\t\u026d\u0004\u026e\t\u026e\u0004\u026f\t", - "\u026f\u0004\u0270\t\u0270\u0004\u0271\t\u0271\u0004\u0272\t\u0272\u0004", - "\u0273\t\u0273\u0004\u0274\t\u0274\u0004\u0275\t\u0275\u0004\u0276\t", - "\u0276\u0004\u0277\t\u0277\u0004\u0278\t\u0278\u0004\u0279\t\u0279\u0004", - "\u027a\t\u027a\u0004\u027b\t\u027b\u0004\u027c\t\u027c\u0004\u027d\t", - "\u027d\u0004\u027e\t\u027e\u0004\u027f\t\u027f\u0004\u0280\t\u0280\u0004", - "\u0281\t\u0281\u0004\u0282\t\u0282\u0004\u0283\t\u0283\u0004\u0284\t", - "\u0284\u0004\u0285\t\u0285\u0004\u0286\t\u0286\u0004\u0287\t\u0287\u0004", - "\u0288\t\u0288\u0004\u0289\t\u0289\u0004\u028a\t\u028a\u0004\u028b\t", - "\u028b\u0004\u028c\t\u028c\u0004\u028d\t\u028d\u0004\u028e\t\u028e\u0004", - "\u028f\t\u028f\u0004\u0290\t\u0290\u0004\u0291\t\u0291\u0004\u0292\t", - "\u0292\u0004\u0293\t\u0293\u0004\u0294\t\u0294\u0004\u0295\t\u0295\u0004", - "\u0296\t\u0296\u0004\u0297\t\u0297\u0004\u0298\t\u0298\u0004\u0299\t", - "\u0299\u0004\u029a\t\u029a\u0004\u029b\t\u029b\u0004\u029c\t\u029c\u0004", - "\u029d\t\u029d\u0004\u029e\t\u029e\u0004\u029f\t\u029f\u0004\u02a0\t", - "\u02a0\u0004\u02a1\t\u02a1\u0004\u02a2\t\u02a2\u0004\u02a3\t\u02a3\u0004", - "\u02a4\t\u02a4\u0004\u02a5\t\u02a5\u0004\u02a6\t\u02a6\u0004\u02a7\t", - "\u02a7\u0004\u02a8\t\u02a8\u0004\u02a9\t\u02a9\u0004\u02aa\t\u02aa\u0004", - "\u02ab\t\u02ab\u0004\u02ac\t\u02ac\u0004\u02ad\t\u02ad\u0004\u02ae\t", - "\u02ae\u0004\u02af\t\u02af\u0004\u02b0\t\u02b0\u0004\u02b1\t\u02b1\u0004", - "\u02b2\t\u02b2\u0004\u02b3\t\u02b3\u0004\u02b4\t\u02b4\u0004\u02b5\t", - "\u02b5\u0004\u02b6\t\u02b6\u0004\u02b7\t\u02b7\u0004\u02b8\t\u02b8\u0004", - "\u02b9\t\u02b9\u0004\u02ba\t\u02ba\u0004\u02bb\t\u02bb\u0004\u02bc\t", - "\u02bc\u0004\u02bd\t\u02bd\u0004\u02be\t\u02be\u0004\u02bf\t\u02bf\u0004", - "\u02c0\t\u02c0\u0004\u02c1\t\u02c1\u0004\u02c2\t\u02c2\u0004\u02c3\t", - "\u02c3\u0004\u02c4\t\u02c4\u0004\u02c5\t\u02c5\u0004\u02c6\t\u02c6\u0004", - "\u02c7\t\u02c7\u0004\u02c8\t\u02c8\u0004\u02c9\t\u02c9\u0004\u02ca\t", - "\u02ca\u0004\u02cb\t\u02cb\u0004\u02cc\t\u02cc\u0004\u02cd\t\u02cd\u0004", - "\u02ce\t\u02ce\u0004\u02cf\t\u02cf\u0004\u02d0\t\u02d0\u0004\u02d1\t", - "\u02d1\u0004\u02d2\t\u02d2\u0004\u02d3\t\u02d3\u0004\u02d4\t\u02d4\u0004", - "\u02d5\t\u02d5\u0004\u02d6\t\u02d6\u0004\u02d7\t\u02d7\u0004\u02d8\t", - "\u02d8\u0004\u02d9\t\u02d9\u0004\u02da\t\u02da\u0004\u02db\t\u02db\u0004", - "\u02dc\t\u02dc\u0004\u02dd\t\u02dd\u0004\u02de\t\u02de\u0004\u02df\t", - "\u02df\u0004\u02e0\t\u02e0\u0004\u02e1\t\u02e1\u0004\u02e2\t\u02e2\u0004", - "\u02e3\t\u02e3\u0004\u02e4\t\u02e4\u0004\u02e5\t\u02e5\u0004\u02e6\t", - "\u02e6\u0004\u02e7\t\u02e7\u0004\u02e8\t\u02e8\u0004\u02e9\t\u02e9\u0004", - "\u02ea\t\u02ea\u0004\u02eb\t\u02eb\u0004\u02ec\t\u02ec\u0004\u02ed\t", - "\u02ed\u0004\u02ee\t\u02ee\u0004\u02ef\t\u02ef\u0004\u02f0\t\u02f0\u0004", - "\u02f1\t\u02f1\u0004\u02f2\t\u02f2\u0004\u02f3\t\u02f3\u0004\u02f4\t", - "\u02f4\u0004\u02f5\t\u02f5\u0004\u02f6\t\u02f6\u0004\u02f7\t\u02f7\u0004", - "\u02f8\t\u02f8\u0004\u02f9\t\u02f9\u0004\u02fa\t\u02fa\u0004\u02fb\t", - "\u02fb\u0004\u02fc\t\u02fc\u0004\u02fd\t\u02fd\u0004\u02fe\t\u02fe\u0004", - "\u02ff\t\u02ff\u0004\u0300\t\u0300\u0004\u0301\t\u0301\u0004\u0302\t", - "\u0302\u0004\u0303\t\u0303\u0004\u0304\t\u0304\u0004\u0305\t\u0305\u0004", - "\u0306\t\u0306\u0004\u0307\t\u0307\u0004\u0308\t\u0308\u0004\u0309\t", - "\u0309\u0004\u030a\t\u030a\u0004\u030b\t\u030b\u0004\u030c\t\u030c\u0004", - "\u030d\t\u030d\u0004\u030e\t\u030e\u0004\u030f\t\u030f\u0004\u0310\t", - "\u0310\u0004\u0311\t\u0311\u0004\u0312\t\u0312\u0004\u0313\t\u0313\u0004", - "\u0314\t\u0314\u0004\u0315\t\u0315\u0004\u0316\t\u0316\u0004\u0317\t", - "\u0317\u0004\u0318\t\u0318\u0004\u0319\t\u0319\u0004\u031a\t\u031a\u0004", - "\u031b\t\u031b\u0004\u031c\t\u031c\u0004\u031d\t\u031d\u0004\u031e\t", - "\u031e\u0004\u031f\t\u031f\u0004\u0320\t\u0320\u0004\u0321\t\u0321\u0004", - "\u0322\t\u0322\u0004\u0323\t\u0323\u0004\u0324\t\u0324\u0004\u0325\t", - "\u0325\u0004\u0326\t\u0326\u0004\u0327\t\u0327\u0004\u0328\t\u0328\u0004", - "\u0329\t\u0329\u0004\u032a\t\u032a\u0004\u032b\t\u032b\u0004\u032c\t", - "\u032c\u0004\u032d\t\u032d\u0004\u032e\t\u032e\u0004\u032f\t\u032f\u0004", - "\u0330\t\u0330\u0004\u0331\t\u0331\u0004\u0332\t\u0332\u0004\u0333\t", - "\u0333\u0004\u0334\t\u0334\u0004\u0335\t\u0335\u0004\u0336\t\u0336\u0004", - "\u0337\t\u0337\u0004\u0338\t\u0338\u0004\u0339\t\u0339\u0004\u033a\t", - "\u033a\u0004\u033b\t\u033b\u0004\u033c\t\u033c\u0004\u033d\t\u033d\u0004", - "\u033e\t\u033e\u0004\u033f\t\u033f\u0004\u0340\t\u0340\u0004\u0341\t", - "\u0341\u0004\u0342\t\u0342\u0004\u0343\t\u0343\u0004\u0344\t\u0344\u0004", - "\u0345\t\u0345\u0004\u0346\t\u0346\u0004\u0347\t\u0347\u0004\u0348\t", - "\u0348\u0004\u0349\t\u0349\u0004\u034a\t\u034a\u0004\u034b\t\u034b\u0004", - "\u034c\t\u034c\u0004\u034d\t\u034d\u0004\u034e\t\u034e\u0004\u034f\t", - "\u034f\u0003\u0002\u0003\u0002\u0003\u0002\u0003\u0002\u0003\u0002\u0003", - "\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003", - "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0005\u0003\u0005\u0003", - "\u0005\u0003\u0005\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003", - "\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003", - "\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003", - "\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", - "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", - "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", - "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", - "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\b\u0003\b\u0003\b\u0003", - "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", - "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", - "\b\u0003\b\u0003\b\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", - "\n\u0003\n\u0003\n\u0003\n\u0003\u000b\u0003\u000b\u0003\u000b\u0003", - "\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003", - "\u000b\u0003\f\u0003\f\u0003\f\u0003\f\u0003\r\u0003\r\u0003\r\u0003", - "\r\u0003\r\u0003\r\u0003\r\u0003\u000e\u0003\u000e\u0003\u000e\u0003", - "\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003", - "\u000e\u0003\u000e\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0003", - "\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0011\u0003\u0011\u0003", - "\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003", - "\u0011\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0012\u0003", - "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003", - "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003", - "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0013\u0003", - "\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003", - "\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003", - "\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003", - "\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003", - "\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0015\u0003\u0015\u0003", - "\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003", - "\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003", - "\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003", - "\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003", - "\u0015\u0003\u0015\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003", - "\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003", - "\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003", - "\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003", - "\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003", - "\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003", - "\u0019\u0003\u0019\u0003\u0019\u0003\u001a\u0003\u001a\u0003\u001a\u0003", - "\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001b\u0003\u001b\u0003", - "\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001c\u0003\u001c\u0003", - "\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003", - "\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003", - "\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003", - "\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0003", - "\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003", - "\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003", - "\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003 \u0003", - " \u0003 \u0003 \u0003 \u0003 \u0003!\u0003!\u0003!\u0003!\u0003!\u0003", - "!\u0003!\u0003\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003", - "#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003#\u0003", - "#\u0003#\u0003$\u0003$\u0003$\u0003$\u0003$\u0003%\u0003%\u0003%\u0003", - "&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003\'\u0003\'\u0003\'\u0003\'", - "\u0003\'\u0003\'\u0003\'\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003", - "(\u0003(\u0003)\u0003)\u0003)\u0003)\u0003)\u0003*\u0003*\u0003*\u0003", - "*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003+\u0003", - "+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003", - "+\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003-\u0003", - "-\u0003-\u0003-\u0003-\u0003-\u0003.\u0003.\u0003.\u0003.\u0003.\u0003", - ".\u0003.\u0003.\u0003.\u0003.\u0003.\u0003/\u0003/\u0003/\u0003/\u0003", - "/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u00030\u0003", - "0\u00030\u00030\u00030\u00030\u00030\u00030\u00030\u00030\u00030\u0003", - "0\u00030\u00030\u00030\u00030\u00030\u00031\u00031\u00031\u00031\u0003", - "1\u00031\u00031\u00031\u00031\u00031\u00031\u00031\u00031\u00031\u0003", - "1\u00031\u00031\u00031\u00031\u00031\u00032\u00032\u00032\u00032\u0003", - "2\u00032\u00033\u00033\u00033\u00033\u00033\u00033\u00033\u00033\u0003", - "4\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u0003", - "5\u00035\u00035\u00035\u00035\u00035\u00035\u00035\u00035\u00036\u0003", - "6\u00036\u00036\u00036\u00036\u00036\u00036\u00037\u00037\u00037\u0003", - "7\u00037\u00037\u00037\u00038\u00038\u00038\u00038\u00038\u00038\u0003", - "8\u00038\u00038\u00038\u00038\u00038\u00039\u00039\u00039\u00039\u0003", - "9\u00039\u00039\u0003:\u0003:\u0003:\u0003:\u0003:\u0003:\u0003:\u0003", - ":\u0003;\u0003;\u0003;\u0003;\u0003;\u0003;\u0003;\u0003;\u0003;\u0003", - ";\u0003;\u0003;\u0003;\u0003;\u0003<\u0003<\u0003<\u0003<\u0003<\u0003", - "<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003=\u0003=\u0003=\u0003=\u0003", - "=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003>\u0003>\u0003", - ">\u0003>\u0003>\u0003>\u0003>\u0003>\u0003>\u0003?\u0003?\u0003?\u0003", - "?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003", - "?\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003A\u0003", - "A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003B\u0003B\u0003", - "B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003", - "B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003C\u0003", - "C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003D\u0003D\u0003", - "D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003", - "D\u0003D\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003", - "E\u0003E\u0003E\u0003E\u0003E\u0003F\u0003F\u0003F\u0003F\u0005F\u0958", - "\nF\u0003F\u0003F\u0003F\u0003F\u0003F\u0003F\u0003F\u0003F\u0003G\u0003", - "G\u0003G\u0003G\u0003G\u0003G\u0003G\u0003G\u0003G\u0003G\u0003H\u0003", - "H\u0003H\u0003H\u0003H\u0003H\u0003H\u0003I\u0003I\u0003I\u0003I\u0003", - "I\u0003I\u0003J\u0003J\u0003J\u0003J\u0003J\u0003J\u0003J\u0003J\u0003", - "K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003", - "K\u0003K\u0003K\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003", - "L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003M\u0003M\u0003M\u0003M\u0003", - "M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003", - "M\u0003M\u0003M\u0003M\u0003N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003", - "N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003O\u0003O\u0003O\u0003", - "O\u0003O\u0003O\u0003O\u0003P\u0003P\u0003P\u0003P\u0003P\u0003P\u0003", - "Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003", - "Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003S\u0003", - "S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003T\u0003T\u0003", - "T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003", - "T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003U\u0003U\u0003U\u0003", - "U\u0003U\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003", - "V\u0003V\u0003V\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003", - "W\u0003X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003Y\u0003", - "Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003", - "Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Z\u0003Z\u0003Z\u0003Z\u0003", - "Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003", - "Z\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003\\\u0003\\\u0003", - "\\\u0003\\\u0003\\\u0003]\u0003]\u0003]\u0003]\u0003]\u0003^\u0003^", - "\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003^\u0003", - "^\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003", - "_\u0003_\u0003_\u0003_\u0003`\u0003`\u0003`\u0003`\u0003`\u0003a\u0003", - "a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003b\u0003b\u0003", - "b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003", - "c\u0003c\u0003c\u0003c\u0003c\u0003c\u0003c\u0003d\u0003d\u0003d\u0003", - "e\u0003e\u0003e\u0003f\u0003f\u0003f\u0003f\u0003f\u0003g\u0003g\u0003", - "g\u0003g\u0003g\u0003g\u0003g\u0003g\u0003g\u0003g\u0003g\u0003g\u0003", - "h\u0003h\u0003h\u0003h\u0003h\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "j\u0003j\u0003j\u0003j\u0003j\u0003j\u0003j\u0003j\u0003k\u0003k\u0003", - "k\u0003k\u0003l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003", - "l\u0003m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003n\u0003n\u0003", - "n\u0003n\u0003n\u0003n\u0003n\u0003o\u0003o\u0003o\u0003o\u0003o\u0003", - "o\u0003p\u0003p\u0003p\u0003p\u0003p\u0003p\u0003q\u0003q\u0003q\u0003", - "q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003", - "r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003", - "r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003", - "r\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003t\u0003t\u0003", - "t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003", - "t\u0003t\u0003t\u0003t\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003", - "u\u0003u\u0005u\u0b1c\nu\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003", - "v\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003", - "w\u0003w\u0003x\u0003x\u0003x\u0003x\u0003x\u0003y\u0003y\u0003y\u0003", - "y\u0003y\u0003y\u0003y\u0003y\u0003y\u0003y\u0003z\u0003z\u0003z\u0003", - "z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003{\u0003{\u0003{\u0003{\u0003", - "{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003", - "{\u0003{\u0003|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003", - "|\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003", - "}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003", - "}\u0003}\u0003}\u0003~\u0003~\u0003~\u0003~\u0003~\u0003~\u0003~\u0003", - "\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003", - "\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0081\u0003", - "\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003", - "\u0081\u0003\u0081\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003", - "\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003", - "\u0082\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003", - "\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003", - "\u0083\u0003\u0083\u0003\u0083\u0003\u0084\u0003\u0084\u0003\u0084\u0003", - "\u0084\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003", - "\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0086\u0003", - "\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003", - "\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003", - "\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003", - "\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003", - "\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0087\u0003", - "\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003", - "\u0087\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003", - "\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0089\u0003\u0089\u0003", - "\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003", - "\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003", - "\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008b\u0003", - "\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008c\u0003\u008c\u0003", - "\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003", - "\u008c\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008e\u0003", - "\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008f\u0003\u008f\u0003", - "\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003", - "\u008f\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003", - "\u0090\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003", - "\u0091\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003", - "\u0092\u0003\u0092\u0003\u0093\u0003\u0093\u0003\u0093\u0003\u0093\u0003", - "\u0093\u0003\u0093\u0003\u0093\u0003\u0094\u0003\u0094\u0003\u0094\u0003", - "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", - "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", - "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0095\u0003\u0095\u0003", - "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", - "\u0095\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003", - "\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003", - "\u0096\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003", - "\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003", - "\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0098\u0003", - "\u0098\u0003\u0098\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003", - "\u009a\u0003\u009a\u0003\u009a\u0003\u009b\u0003\u009b\u0003\u009b\u0003", - "\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009c\u0003", - "\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003", - "\u009c\u0003\u009c\u0003\u009c\u0003\u009d\u0003\u009d\u0003\u009d\u0003", - "\u009d\u0003\u009d\u0003\u009d\u0003\u009e\u0003\u009e\u0003\u009e\u0003", - "\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003", - "\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u00a0\u0003", - "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a1\u0003", - "\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003", - "\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003", - "\u00a2\u0003\u00a2\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003", - "\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003", - "\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a5\u0005", - "\u00a5\u0cc2\n\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5", - "\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0005\u00a5\u0ccc\n", - "\u00a5\u0003\u00a6\u0005\u00a6\u0ccf\n\u00a6\u0003\u00a6\u0005\u00a6", - "\u0cd2\n\u00a6\u0003\u00a6\u0005\u00a6\u0cd5\n\u00a6\u0003\u00a6\u0005", - "\u00a6\u0cd8\n\u00a6\u0003\u00a6\u0005\u00a6\u0cdb\n\u00a6\u0003\u00a6", - "\u0003\u00a6\u0005\u00a6\u0cdf\n\u00a6\u0003\u00a6\u0005\u00a6\u0ce2", - "\n\u00a6\u0003\u00a6\u0005\u00a6\u0ce5\n\u00a6\u0003\u00a6\u0005\u00a6", - "\u0ce8\n\u00a6\u0003\u00a6\u0003\u00a6\u0005\u00a6\u0cec\n\u00a6\u0003", - "\u00a6\u0005\u00a6\u0cef\n\u00a6\u0003\u00a6\u0005\u00a6\u0cf2\n\u00a6", - "\u0003\u00a6\u0005\u00a6\u0cf5\n\u00a6\u0003\u00a6\u0003\u00a6\u0005", - "\u00a6\u0cf9\n\u00a6\u0003\u00a6\u0005\u00a6\u0cfc\n\u00a6\u0003\u00a6", - "\u0005\u00a6\u0cff\n\u00a6\u0003\u00a6\u0005\u00a6\u0d02\n\u00a6\u0003", - "\u00a6\u0003\u00a6\u0005\u00a6\u0d06\n\u00a6\u0003\u00a6\u0005\u00a6", - "\u0d09\n\u00a6\u0003\u00a6\u0005\u00a6\u0d0c\n\u00a6\u0003\u00a6\u0005", - "\u00a6\u0d0f\n\u00a6\u0003\u00a6\u0003\u00a6\u0005\u00a6\u0d13\n\u00a6", - "\u0003\u00a6\u0005\u00a6\u0d16\n\u00a6\u0003\u00a6\u0005\u00a6\u0d19", - "\n\u00a6\u0003\u00a6\u0005\u00a6\u0d1c\n\u00a6\u0003\u00a6\u0003\u00a6", - "\u0005\u00a6\u0d20\n\u00a6\u0003\u00a6\u0005\u00a6\u0d23\n\u00a6\u0003", - "\u00a6\u0005\u00a6\u0d26\n\u00a6\u0003\u00a6\u0005\u00a6\u0d29\n\u00a6", - "\u0003\u00a6\u0003\u00a6\u0005\u00a6\u0d2d\n\u00a6\u0003\u00a6\u0005", - "\u00a6\u0d30\n\u00a6\u0003\u00a6\u0005\u00a6\u0d33\n\u00a6\u0003\u00a6", - "\u0005\u00a6\u0d36\n\u00a6\u0003\u00a6\u0005\u00a6\u0d39\n\u00a6\u0003", - "\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003", - "\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a9\u0003\u00a9\u0003", - "\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003", - "\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003", - "\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ac\u0003\u00ac\u0003", - "\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003", - "\u00ac\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003", - "\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003", - "\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003", - "\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003", - "\u00ad\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003", - "\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003", - "\u00af\u0003\u00af\u0003\u00af\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003", - "\u00b0\u0003\u00b0\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003", - "\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b2\u0003\u00b2\u0003", - "\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003", - "\u00b2\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003", - "\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003", - "\u00b4\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003", - "\u00b5\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003", - "\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003", - "\u00b6\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003", - "\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003", - "\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003", - "\u00b8\u0003\u00b8\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003", - "\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003", - "\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003", - "\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003", - "\u00ba\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003", - "\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003", - "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bd\u0003\u00bd\u0003", - "\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003", - "\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00be\u0003\u00be\u0003\u00be\u0003", - "\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003", - "\u00be\u0003\u00be\u0003\u00be\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003", - "\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003", - "\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003", - "\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003", - "\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003", - "\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003", - "\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003", - "\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003", - "\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003", - "\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", - "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", - "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", - "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", - "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", - "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003", - "\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003", - "\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003", - "\u00c4\u0003\u00c4\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", - "\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", - "\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003", - "\u00c6\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", - "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", - "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", - "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c8\u0003", - "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c9\u0003", - "\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003", - "\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003", - "\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", - "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", - "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", - "\u00cc\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003", - "\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003", - "\u00cd\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003", - "\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00cf\u0003\u00cf\u0003", - "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", - "\u00cf\u0003\u00cf\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003", - "\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d1\u0003\u00d1\u0003", - "\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003", - "\u00d1\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", - "\u00d2\u0003\u00d2\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003", - "\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003", - "\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003", - "\u00d4\u0003\u00d4\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003", - "\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d6\u0003", - "\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003", - "\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003", - "\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003", - "\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003", - "\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003", - "\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003", - "\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003", - "\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003", - "\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003", - "\u00da\u0003\u00da\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003", - "\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003", - "\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003", - "\u00dc\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003", - "\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00df\u0003", - "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", - "\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003", - "\u00e1\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003", - "\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003", - "\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003", - "\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e4\u0003\u00e4\u0003", - "\u00e4\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003", - "\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003", - "\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e7\u0003", - "\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003", - "\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003", - "\u00e7\u0003\u00e7\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003", - "\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003", - "\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003", - "\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00ea\u0003", - "\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003", - "\u00ea\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003", - "\u00eb\u0003\u00eb\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ed\u0003", - "\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ee\u0003", - "\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ef\u0003", - "\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00f0\u0003\u00f0\u0003", - "\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003", - "\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003", - "\u00f1\u0003\u00f1\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003", - "\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f3\u0003\u00f3\u0003", - "\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003", - "\u00f3\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003", - "\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003", - "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003", - "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003", - "\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003", - "\u00f6\u0003\u00f6\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003", - "\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003", - "\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003", - "\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003", - "\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fb\u0003", - "\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003", - "\u00fb\u0003\u00fb\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", - "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003", - "\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003", - "\u00fd\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003", - "\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00ff\u0003", - "\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003", - "\u00ff\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003", - "\u0100\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003", - "\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003", - "\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0103\u0003\u0103\u0003", - "\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003", - "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", - "\u0104\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003", - "\u0105\u0003\u0105\u0003\u0106\u0003\u0106\u0003\u0107\u0003\u0107\u0003", - "\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003", - "\u0107\u0003\u0107\u0003\u0108\u0003\u0108\u0003\u0108\u0003\u0108\u0003", - "\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u010a\u0003", - "\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003", - "\u010a\u0003\u010a\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003", - "\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003", - "\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003", - "\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003", - "\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003", - "\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003", - "\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003", - "\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010e\u0003", - "\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003", - "\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010f\u0003\u010f\u0003", - "\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003", - "\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003", - "\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003", - "\u010f\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003", - "\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003", - "\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003", - "\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003", - "\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0111\u0003\u0111\u0003", - "\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003", - "\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0112\u0003\u0112\u0003", - "\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003", - "\u0112\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003", - "\u0113\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003", - "\u0114\u0003\u0114\u0003\u0114\u0003\u0115\u0003\u0115\u0003\u0115\u0003", - "\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0116\u0003", - "\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003", - "\u0116\u0003\u0116\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003", - "\u0117\u0003\u0117\u0003\u0117\u0003\u0118\u0003\u0118\u0003\u0118\u0003", - "\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003", - "\u0118\u0003\u0118\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003", - "\u0119\u0003\u0119\u0003\u0119\u0003\u011a\u0003\u011a\u0003\u011a\u0003", - "\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011b\u0003", - "\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003", - "\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003", - "\u011c\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003", - "\u011d\u0003\u011d\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003", - "\u011e\u0003\u011e\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003", - "\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u0120\u0003", - "\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0121\u0003\u0121\u0003", - "\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0003", - "\u0121\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003", - "\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003", - "\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003", - "\u0123\u0003\u0123\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003", - "\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0125\u0003", - "\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003", - "\u0125\u0003\u0125\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003", - "\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0127\u0003", - "\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003", - "\u0127\u0003\u0127\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003", - "\u0128\u0003\u0128\u0003\u0128\u0003\u0129\u0003\u0129\u0003\u0129\u0003", - "\u0129\u0003\u0129\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003", - "\u012a\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003", - "\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003", - "\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012d\u0003\u012d\u0003", - "\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012e\u0003", - "\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003", - "\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003", - "\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003", - "\u012f\u0003\u012f\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", - "\u0130\u0003\u0130\u0003\u0130\u0003\u0131\u0003\u0131\u0003\u0131\u0003", - "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", - "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", - "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", - "\u0131\u0003\u0131\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003", - "\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003", - "\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003", - "\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003", - "\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003", - "\u0132\u0003\u0132\u0003\u0132\u0003\u0133\u0003\u0133\u0003\u0133\u0003", - "\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003", - "\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003", - "\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003", - "\u0133\u0003\u0133\u0003\u0133\u0003\u0134\u0003\u0134\u0003\u0134\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0135\u0003\u0135\u0003", - "\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003", - "\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003", - "\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003", - "\u0136\u0003\u0136\u0003\u0136\u0003\u0137\u0003\u0137\u0003\u0137\u0003", - "\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003", - "\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0138\u0003\u0138\u0003", - "\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003", - "\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003", - "\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003", - "\u0139\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013b\u0003", - "\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003", - "\u013b\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003", - "\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013d\u0003\u013d\u0003", - "\u013d\u0003\u013d\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003", - "\u013e\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003", - "\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u0140\u0003\u0140\u0003", - "\u0140\u0003\u0140\u0003\u0140\u0003\u0141\u0003\u0141\u0003\u0141\u0003", - "\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0142\u0003\u0142\u0003", - "\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003", - "\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003", - "\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003", - "\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003", - "\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003", - "\u0144\u0003\u0144\u0003\u0144\u0003\u0145\u0003\u0145\u0003\u0145\u0003", - "\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003", - "\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0146\u0003", - "\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003", - "\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003", - "\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0147\u0003", - "\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003", - "\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0148\u0003\u0148\u0003", - "\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0149\u0003\u0149\u0003", - "\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u014a\u0003\u014a\u0003", - "\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014b\u0003\u014b\u0003", - "\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003", - "\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003", - "\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003", - "\u014c\u0003\u014c\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003", - "\u014d\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003", - "\u014e\u0003\u014e\u0003\u014e\u0003\u014f\u0003\u014f\u0003\u014f\u0003", - "\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003", - "\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u0150\u0003", - "\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003", - "\u0150\u0003\u0150\u0003\u0150\u0003\u0151\u0003\u0151\u0003\u0151\u0003", - "\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003", - "\u0151\u0003\u0151\u0003\u0151\u0003\u0152\u0003\u0152\u0003\u0152\u0003", - "\u0152\u0003\u0152\u0003\u0152\u0003\u0153\u0003\u0153\u0003\u0153\u0003", - "\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003", - "\u0153\u0003\u0153\u0003\u0153\u0003\u0154\u0003\u0154\u0003\u0154\u0003", - "\u0154\u0003\u0154\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003", - "\u0155\u0003\u0155\u0003\u0155\u0003\u0156\u0003\u0156\u0003\u0156\u0003", - "\u0156\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003", - "\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0158\u0003\u0158\u0003", - "\u0158\u0003\u0158\u0003\u0158\u0003\u0159\u0003\u0159\u0003\u0159\u0003", - "\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015b\u0003\u015b\u0003", - "\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003", - "\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003", - "\u015b\u0003\u015b\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0003", - "\u015c\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003", - "\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003", - "\u015d\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003", - "\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015f\u0003\u015f\u0003", - "\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003", - "\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003", - "\u0160\u0003\u0160\u0003\u0160\u0003\u0161\u0003\u0161\u0003\u0161\u0003", - "\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0162\u0003", - "\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003", - "\u0162\u0003\u0162\u0003\u0162\u0003\u0163\u0003\u0163\u0003\u0163\u0003", - "\u0163\u0003\u0163\u0003\u0163\u0003\u0164\u0003\u0164\u0003\u0164\u0003", - "\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0165\u0003\u0165\u0003", - "\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0166\u0003", - "\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0003", - "\u0166\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003", - "\u0167\u0003\u0167\u0003\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003", - "\u0168\u0003\u0168\u0003\u0168\u0003\u0169\u0003\u0169\u0003\u0169\u0003", - "\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003", - "\u0169\u0003\u0169\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003", - "\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016c\u0003\u016c\u0003", - "\u016c\u0003\u016c\u0003\u016c\u0003\u016d\u0003\u016d\u0003\u016d\u0003", - "\u016d\u0003\u016d\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003", - "\u016e\u0003\u016e\u0003\u016e\u0003\u016f\u0003\u016f\u0003\u016f\u0003", - "\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0003\u0170\u0003", - "\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003", - "\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003", - "\u0170\u0003\u0170\u0003\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003", - "\u0171\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003", - "\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003", - "\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003", - "\u0173\u0003\u0173\u0003\u0174\u0003\u0174\u0003\u0174\u0003\u0174\u0003", - "\u0174\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003", - "\u0175\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003", - "\u0176\u0003\u0177\u0003\u0177\u0003\u0177\u0003\u0177\u0003\u0177\u0003", - "\u0177\u0003\u0177\u0003\u0177\u0003\u0178\u0003\u0178\u0003\u0178\u0003", - "\u0178\u0003\u0178\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003", - "\u0179\u0003\u0179\u0003\u0179\u0003\u017a\u0003\u017a\u0003\u017a\u0003", - "\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003\u017b\u0003", - "\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003", - "\u017b\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003", - "\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017d\u0003", - "\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003", - "\u017d\u0003\u017d\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003", - "\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003", - "\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003", - "\u017e\u0003\u017e\u0003\u017e\u0003\u017f\u0003\u017f\u0003\u017f\u0003", - "\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u0180\u0003\u0180\u0003", - "\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003", - "\u0180\u0003\u0180\u0003\u0180\u0003\u0181\u0003\u0181\u0003\u0181\u0003", - "\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0182\u0003\u0182\u0003", - "\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003", - "\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003", - "\u0183\u0003\u0183\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003", - "\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0185\u0003\u0185\u0003", - "\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003", - "\u0186\u0003\u0186\u0003\u0186\u0003\u0186\u0003\u0186\u0003\u0186\u0003", - "\u0186\u0003\u0186\u0003\u0186\u0003\u0187\u0003\u0187\u0003\u0187\u0003", - "\u0187\u0003\u0187\u0003\u0187\u0003\u0188\u0003\u0188\u0003\u0188\u0003", - "\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003", - "\u0188\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003", - "\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u018a\u0003", - "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003", - "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003", - "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003", - "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003", - "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003", - "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018b\u0003", - "\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003", - "\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003", - "\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003", - "\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003", - "\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003", - "\u018c\u0003\u018c\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003", - "\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003", - "\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003", - "\u018d\u0003\u018d\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003", - "\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003", - "\u018e\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003", - "\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003", - "\u018f\u0003\u018f\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003", - "\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003", - "\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0191\u0003\u0191\u0003", - "\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003", - "\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003", - "\u0191\u0003\u0191\u0003\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0003", - "\u0192\u0003\u0192\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003", - "\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003", - "\u0193\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003", - "\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0195\u0003\u0195\u0003", - "\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0196\u0003\u0196\u0003", - "\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003", - "\u0196\u0003\u0196\u0003\u0196\u0003\u0197\u0003\u0197\u0003\u0197\u0003", - "\u0197\u0003\u0197\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003", - "\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003", - "\u0198\u0003\u0198\u0003\u0198\u0003\u0199\u0003\u0199\u0003\u0199\u0003", - "\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003", - "\u0199\u0003\u0199\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", - "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", - "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", - "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", - "\u019a\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003", - "\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003", - "\u019b\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003", - "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003", - "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003", - "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003", - "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003", - "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003", - "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003", - "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003", - "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019e\u0003", - "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", - "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", - "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u01a0\u0003\u01a0\u0003", - "\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003", - "\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003", - "\u01a0\u0003\u01a0\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003", - "\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a3\u0003\u01a3\u0003", - "\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003", - "\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003", - "\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003", - "\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003", - "\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a5\u0003\u01a5\u0003", - "\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003", - "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", - "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", - "\u01a6\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003", - "\u01a7\u0003\u01a7\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003", - "\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003", - "\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003", - "\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003", - "\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003", - "\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003", - "\u01aa\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003", - "\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003", - "\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ac\u0003", - "\u01ac\u0003\u01ac\u0003\u01ac\u0005\u01ac\u1722\n\u01ac\u0003\u01ac", - "\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ad\u0003\u01ad", - "\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad", - "\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae", - "\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af", - "\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af", - "\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01b0", - "\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0", - "\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0", - "\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b1\u0003\u01b1\u0003\u01b1", - "\u0003\u01b1\u0003\u01b1\u0003\u01b1\u0003\u01b1\u0003\u01b1\u0003\u01b1", - "\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2", - "\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2", - "\u0003\u01b2\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3", - "\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b4\u0003\u01b4\u0003\u01b4", - "\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4", - "\u0003\u01b4\u0003\u01b4\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5", - "\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5", - "\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5", - "\u0003\u01b5\u0003\u01b5\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6", - "\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6", - "\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7", - "\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7", - "\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7", - "\u0003\u01b7\u0003\u01b7\u0003\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b8", - "\u0003\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b9\u0003\u01b9\u0003\u01b9", - "\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9", - "\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9", - "\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9", - "\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01ba\u0003\u01ba\u0003\u01ba", - "\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01bb", - "\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb", - "\u0003\u01bb\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc", - "\u0003\u01bc\u0003\u01bc\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01bd", - "\u0003\u01bd\u0003\u01bd\u0003\u01be\u0003\u01be\u0003\u01be\u0003\u01be", - "\u0003\u01be\u0003\u01be\u0003\u01be\u0003\u01be\u0003\u01be\u0003\u01be", - "\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf", - "\u0003\u01bf\u0003\u01bf\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0", - "\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c1", - "\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c2", - "\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2", - "\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2", - "\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2", - "\u0003\u01c2\u0003\u01c2\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3", - "\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3", - "\u0003\u01c3\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4", - "\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4", - "\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c5\u0003\u01c5\u0003\u01c5", - "\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5", - "\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5", - "\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5", - "\u0003\u01c5\u0003\u01c5\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6", - "\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6", - "\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c7", - "\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c8\u0003\u01c8", - "\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8", - "\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8", - "\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8", - "\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8", - "\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c9\u0003\u01c9", - "\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01c9", - "\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca", - "\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01cb\u0003\u01cb\u0003\u01cb", - "\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb", - "\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc", - "\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cd\u0003\u01cd\u0003\u01cd", - "\u0003\u01cd\u0003\u01cd\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce", - "\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce", - "\u0003\u01ce\u0003\u01ce\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf", - "\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf", - "\u0003\u01cf\u0003\u01cf\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d0", - "\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d0", - "\u0003\u01d0\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1", - "\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1", - "\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2", - "\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2", - "\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2", - "\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2", - "\u0003\u01d2\u0003\u01d2\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3", - "\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3", - "\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3", - "\u0003\u01d3\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4", - "\u0003\u01d4\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5", - "\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5", - "\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5", - "\u0003\u01d5\u0003\u01d5\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6", - "\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d7\u0003\u01d7", - "\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7", - "\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d8\u0003\u01d8\u0003\u01d8", - "\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8", - "\u0003\u01d8\u0003\u01d8\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9", - "\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da", - "\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da", - "\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01dc", - "\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dd\u0003\u01dd", - "\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01de", - "\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de", - "\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de", - "\u0003\u01de\u0003\u01de\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df", - "\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01e0\u0003\u01e0", - "\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0", - "\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0", - "\u0003\u01e0\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e1", - "\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e2\u0003\u01e2", - "\u0003\u01e2\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3", - "\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e4\u0003\u01e4", - "\u0003\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e4", - "\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e5", - "\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e6\u0003\u01e6\u0003\u01e6", - "\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6", - "\u0003\u01e6\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7", - "\u0003\u01e7\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8", - "\u0003\u01e8\u0003\u01e8\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9", - "\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9", - "\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01ea\u0003\u01ea", - "\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea", - "\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea", - "\u0003\u01ea\u0003\u01ea\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb", - "\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb", - "\u0003\u01eb\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec", - "\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec", - "\u0003\u01ec\u0003\u01ec\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed", - "\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed", - "\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed", - "\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed", - "\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ee", - "\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee", - "\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ef\u0003\u01ef\u0003\u01ef", - "\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01ef", - "\u0003\u01ef\u0003\u01ef\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0", - "\u0003\u01f0\u0003\u01f0\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1", - "\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f2\u0003\u01f2\u0003\u01f2", - "\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2", - "\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f3\u0003\u01f3\u0003\u01f3", - "\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3", - "\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4", - "\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4", - "\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f5\u0003\u01f5\u0003\u01f5", - "\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5", - "\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f6", - "\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6", - "\u0003\u01f6\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7", - "\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7", - "\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7", - "\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7", - "\u0003\u01f7\u0003\u01f8\u0003\u01f8\u0003\u01f8\u0003\u01f8\u0003\u01f8", - "\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9", - "\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9", - "\u0003\u01f9\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa", - "\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fb", - "\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb", - "\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fc\u0003\u01fc", - "\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc", - "\u0003\u01fc\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd", - "\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd", - "\u0003\u01fe\u0003\u01fe\u0003\u01fe\u0003\u01fe\u0003\u01fe\u0003\u01fe", - "\u0003\u01fe\u0003\u01ff\u0003\u01ff\u0003\u01ff\u0003\u01ff\u0003\u01ff", - "\u0003\u01ff\u0003\u0200\u0003\u0200\u0003\u0200\u0003\u0200\u0003\u0200", - "\u0003\u0200\u0003\u0200\u0003\u0200\u0003\u0200\u0003\u0200\u0003\u0200", - "\u0003\u0200\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0201", - "\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0202", - "\u0003\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003\u0203", - "\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203", - "\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203", - "\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203", - "\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203", - "\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203", - "\u0003\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003\u0204", - "\u0003\u0204\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205", - "\u0003\u0205\u0003\u0205\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206", - "\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206", - "\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0207\u0003\u0207\u0003\u0207", - "\u0003\u0207\u0003\u0207\u0003\u0207\u0003\u0207\u0003\u0207\u0003\u0207", - "\u0003\u0208\u0003\u0208\u0003\u0208\u0003\u0208\u0003\u0208\u0003\u0208", - "\u0003\u0208\u0003\u0208\u0003\u0208\u0003\u0209\u0003\u0209\u0003\u0209", - "\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a", - "\u0003\u020a\u0003\u020a\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020b", - "\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020b", - "\u0003\u020b\u0003\u020c\u0003\u020c\u0003\u020c\u0003\u020c\u0003\u020c", - "\u0003\u020c\u0003\u020c\u0003\u020d\u0003\u020d\u0003\u020d\u0003\u020e", - "\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e", - "\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e", - "\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e", - "\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f", - "\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u0210\u0003\u0210\u0003\u0210", - "\u0003\u0210\u0003\u0210\u0003\u0210\u0003\u0210\u0003\u0210\u0003\u0210", - "\u0003\u0210\u0003\u0210\u0003\u0210\u0003\u0211\u0003\u0211\u0003\u0211", - "\u0003\u0211\u0003\u0211\u0003\u0212\u0003\u0212\u0003\u0212\u0003\u0212", - "\u0003\u0212\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213", - "\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213", - "\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213", - "\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0214\u0003\u0214", - "\u0003\u0214\u0003\u0214\u0003\u0214\u0003\u0215\u0003\u0215\u0003\u0215", - "\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215", - "\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215", - "\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215", - "\u0003\u0215\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216", - "\u0003\u0216\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217", - "\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217", - "\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0218\u0003\u0218", - "\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218", - "\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218", - "\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218", - "\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218", - "\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218", - "\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218", - "\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u0219", - "\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u021a\u0003\u021a", - "\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a", - "\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021b\u0003\u021b", - "\u0003\u021b\u0003\u021b\u0003\u021b\u0003\u021b\u0003\u021b\u0003\u021b", - "\u0003\u021b\u0003\u021b\u0003\u021b\u0003\u021c\u0003\u021c\u0003\u021c", - "\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c", - "\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c", - "\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021d", - "\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d", - "\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021e", - "\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e", - "\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021f\u0003\u021f\u0003\u021f", - "\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u0220\u0003\u0220\u0003\u0220", - "\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220", - "\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0221\u0003\u0221\u0003\u0221", - "\u0003\u0221\u0003\u0221\u0003\u0221\u0003\u0221\u0003\u0221\u0003\u0221", - "\u0003\u0222\u0003\u0222\u0003\u0222\u0003\u0222\u0003\u0223\u0003\u0223", - "\u0003\u0223\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224", - "\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0225", - "\u0003\u0225\u0003\u0225\u0003\u0225\u0003\u0226\u0003\u0226\u0003\u0226", - "\u0003\u0226\u0003\u0226\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0228", - "\u0003\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003\u0229\u0003\u0229", - "\u0003\u0229\u0003\u0229\u0003\u0229\u0003\u0229\u0003\u0229\u0003\u0229", - "\u0003\u0229\u0003\u0229\u0003\u022a\u0003\u022a\u0003\u022a\u0003\u022a", - "\u0003\u022a\u0003\u022a\u0003\u022a\u0003\u022a\u0003\u022a\u0003\u022a", - "\u0003\u022a\u0003\u022b\u0003\u022b\u0003\u022b\u0003\u022b\u0003\u022b", - "\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c", - "\u0003\u022c\u0003\u022d\u0003\u022d\u0003\u022d\u0003\u022d\u0003\u022e", - "\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022f\u0003\u022f", - "\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u022f", - "\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u0230\u0003\u0230\u0003\u0230", - "\u0003\u0230\u0003\u0230\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231", - "\u0003\u0231\u0003\u0231\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232", - "\u0003\u0232\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233", - "\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0234\u0003\u0234", - "\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234", - "\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0235", - "\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235", - "\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235", - "\u0003\u0235\u0003\u0235\u0003\u0236\u0003\u0236\u0003\u0236\u0003\u0236", - "\u0003\u0236\u0003\u0236\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237", - "\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0238", - "\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0239\u0003\u0239", - "\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239", - "\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239", - "\u0003\u0239\u0003\u0239\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a", - "\u0003\u023a\u0003\u023a\u0003\u023b\u0003\u023b\u0003\u023b\u0003\u023b", - "\u0003\u023b\u0003\u023c\u0003\u023c\u0003\u023c\u0003\u023c\u0003\u023d", - "\u0003\u023d\u0003\u023d\u0003\u023d\u0003\u023d\u0003\u023d\u0003\u023d", - "\u0003\u023e\u0003\u023e\u0003\u023e\u0003\u023e\u0003\u023e\u0003\u023f", - "\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f", - "\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f", - "\u0003\u0240\u0003\u0240\u0003\u0240\u0003\u0240\u0003\u0241\u0003\u0241", - "\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241", - "\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241", - "\u0003\u0241\u0003\u0241\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0242", - "\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0243\u0003\u0243", - "\u0003\u0243\u0003\u0243\u0003\u0243\u0003\u0243\u0003\u0243\u0003\u0243", - "\u0003\u0243\u0003\u0243\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244", - "\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244", - "\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244", - "\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0245\u0003\u0245", - "\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245", - "\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245", - "\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0246", - "\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0246", - "\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0246", - "\u0003\u0246\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247", - "\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247", - "\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247", - "\u0003\u0247\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248", - "\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248", - "\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248", - "\u0003\u0248\u0003\u0248\u0003\u0249\u0003\u0249\u0003\u0249\u0003\u0249", - "\u0003\u0249\u0003\u0249\u0003\u0249\u0003\u024a\u0003\u024a\u0003\u024a", - "\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a", - "\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024b\u0003\u024b", - "\u0003\u024b\u0003\u024b\u0003\u024b\u0003\u024b\u0003\u024b\u0003\u024b", - "\u0003\u024c\u0003\u024c\u0003\u024c\u0003\u024d\u0003\u024d\u0003\u024d", - "\u0003\u024d\u0003\u024d\u0003\u024d\u0003\u024d\u0003\u024e\u0003\u024e", - "\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e", - "\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e", - "\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e", - "\u0003\u024e\u0003\u024e\u0003\u024f\u0003\u024f\u0003\u024f\u0003\u024f", - "\u0003\u024f\u0003\u024f\u0003\u024f\u0003\u024f\u0003\u0250\u0003\u0250", - "\u0003\u0250\u0003\u0250\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251", - "\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251", - "\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251", - "\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251", - "\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252", - "\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252", - "\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0253\u0003\u0253", - "\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253", - "\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253", - "\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253", - "\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254", - "\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254", - "\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254", - "\u0003\u0254\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0255", - "\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0256\u0003\u0256\u0003\u0256", - "\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256", - "\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256", - "\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257", - "\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257", - "\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257", - "\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0258\u0003\u0258", - "\u0003\u0258\u0003\u0258\u0003\u0258\u0003\u0259\u0003\u0259\u0003\u0259", - "\u0003\u0259\u0003\u0259\u0003\u0259\u0003\u0259\u0003\u025a\u0003\u025a", - "\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025b\u0003\u025b\u0003\u025b", - "\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025b", - "\u0003\u025b\u0003\u025b\u0003\u025c\u0003\u025c\u0003\u025c\u0003\u025c", - "\u0003\u025c\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d", - "\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d", - "\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025e", - "\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025e", - "\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025f", - "\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f", - "\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u0260\u0003\u0260", - "\u0003\u0260\u0003\u0260\u0003\u0260\u0003\u0260\u0003\u0260\u0003\u0260", - "\u0003\u0260\u0003\u0260\u0003\u0260\u0003\u0260\u0003\u0260\u0003\u0261", - "\u0003\u0261\u0003\u0261\u0003\u0261\u0003\u0261\u0003\u0262\u0003\u0262", - "\u0003\u0262\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263", - "\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263", - "\u0003\u0263\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264", - "\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0265\u0003\u0265\u0003\u0265", - "\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0266", - "\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0267", - "\u0003\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003\u0267", - "\u0003\u0267\u0003\u0267\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268", - "\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268", - "\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268", - "\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268", - "\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269", - "\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269", - "\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a", - "\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026b", - "\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b", - "\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c", - "\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d", - "\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026e\u0003\u026e\u0003\u026e", - "\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026f\u0003\u026f", - "\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f", - "\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f", - "\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u0270", - "\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270", - "\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271", - "\u0003\u0271\u0003\u0271\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272", - "\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0273\u0003\u0273\u0003\u0273", - "\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273", - "\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0274\u0003\u0274\u0003\u0274", - "\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0275\u0003\u0275", - "\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0276\u0003\u0276\u0003\u0276", - "\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276", - "\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0277", - "\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277", - "\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0278\u0003\u0278", - "\u0003\u0278\u0003\u0278\u0003\u0278\u0003\u0278\u0003\u0278\u0003\u0278", - "\u0003\u0278\u0003\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003\u027a", - "\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a", - "\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b", - "\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027c\u0003\u027c\u0003\u027c", - "\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027d\u0003\u027d\u0003\u027d", - "\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d", - "\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027e\u0003\u027e\u0003\u027e", - "\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e", - "\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e", - "\u0003\u027e\u0003\u027e\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u027f", - "\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u027f", - "\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0280", - "\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0281", - "\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0281", - "\u0003\u0281\u0003\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003\u0282", - "\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283", - "\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283", - "\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283", - "\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283", - "\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0285", - "\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0286\u0003\u0286", - "\u0003\u0286\u0003\u0286\u0003\u0286\u0003\u0286\u0003\u0286\u0003\u0286", - "\u0003\u0286\u0003\u0286\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0287", - "\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0287", - "\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0288\u0003\u0288\u0003\u0288", - "\u0003\u0288\u0003\u0288\u0003\u0288\u0003\u0289\u0003\u0289\u0003\u0289", - "\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289", - "\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a", - "\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a", - "\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028b\u0003\u028b\u0003\u028b", - "\u0003\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003\u028c", - "\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028c", - "\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028d", - "\u0003\u028d\u0003\u028d\u0003\u028d\u0003\u028d\u0003\u028d\u0003\u028d", - "\u0003\u028d\u0003\u028d\u0003\u028d\u0003\u028d\u0003\u028e\u0003\u028e", - "\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e", - "\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e", - "\u0003\u028e\u0003\u028f\u0003\u028f\u0003\u028f\u0003\u028f\u0003\u028f", - "\u0003\u028f\u0003\u028f\u0003\u028f\u0003\u028f\u0003\u0290\u0003\u0290", - "\u0003\u0290\u0003\u0290\u0003\u0290\u0003\u0290\u0003\u0290\u0003\u0290", - "\u0003\u0290\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291", - "\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291", - "\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291", - "\u0003\u0291\u0003\u0292\u0003\u0292\u0003\u0292\u0003\u0292\u0003\u0292", - "\u0003\u0292\u0003\u0293\u0003\u0293\u0003\u0293\u0003\u0293\u0003\u0293", - "\u0003\u0293\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294", - "\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294", - "\u0003\u0294\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295", - "\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295", - "\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295", - "\u0003\u0295\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296", - "\u0003\u0296\u0003\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003\u0297", - "\u0003\u0298\u0003\u0298\u0003\u0298\u0003\u0298\u0003\u0299\u0003\u0299", - "\u0003\u0299\u0003\u0299\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029a", - "\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029b\u0003\u029b", - "\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b", - "\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b", - "\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b", - "\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029c\u0003\u029c", - "\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c", - "\u0003\u029c\u0003\u029c\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d", - "\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d", - "\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d", - "\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d", - "\u0003\u029d\u0003\u029e\u0003\u029e\u0003\u029e\u0003\u029e\u0003\u029e", - "\u0003\u029e\u0003\u029e\u0003\u029e\u0003\u029e\u0003\u029e\u0003\u029e", - "\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u029f", - "\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u02a0\u0003\u02a0\u0003\u02a0", - "\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a1", - "\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1", - "\u0003\u02a1\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2", - "\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a3", - "\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3", - "\u0003\u02a3\u0003\u02a3\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4", - "\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4", - "\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4", - "\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a5\u0003\u02a5\u0003\u02a5", - "\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a5", - "\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a6", - "\u0003\u02a6\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7", - "\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7", - "\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7", - "\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a8\u0003\u02a8\u0003\u02a8", - "\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003\u02a9\u0003\u02a9", - "\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9", - "\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02aa\u0003\u02aa\u0003\u02aa", - "\u0003\u02aa\u0003\u02aa\u0003\u02aa\u0003\u02aa\u0003\u02aa\u0003\u02aa", - "\u0003\u02aa\u0003\u02aa\u0003\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ab", - "\u0003\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ac\u0003\u02ac", - "\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac", - "\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac", - "\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac", - "\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ad", - "\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad", - "\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad", - "\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad", - "\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad", - "\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad", - "\u0003\u02ad\u0003\u02ad\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae", - "\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae", - "\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae", - "\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae", - "\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae", - "\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02af", - "\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af", - "\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af", - "\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af", - "\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af", - "\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af", - "\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af", - "\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af", - "\u0003\u02af\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0", - "\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0", - "\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0", - "\u0003\u02b0\u0003\u02b0\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b1", - "\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b2", - "\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2", - "\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2", - "\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2", - "\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2", - "\u0003\u02b2\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3", - "\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3", - "\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b4", - "\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4", - "\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b5\u0003\u02b5\u0003\u02b5", - "\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b6\u0003\u02b6", - "\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b7\u0003\u02b7\u0003\u02b7", - "\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b8\u0003\u02b8\u0003\u02b8", - "\u0003\u02b8\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9", - "\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9", - "\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba", - "\u0003\u02ba\u0003\u02ba\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb", - "\u0003\u02bb\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc", - "\u0003\u02bc\u0003\u02bc\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd", - "\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd", - "\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02be\u0003\u02be", - "\u0003\u02be\u0003\u02be\u0003\u02be\u0003\u02be\u0003\u02be\u0003\u02bf", - "\u0003\u02bf\u0003\u02bf\u0003\u02bf\u0003\u02bf\u0003\u02bf\u0003\u02bf", - "\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0", - "\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0", - "\u0003\u02c0\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003\u02c1", - "\u0003\u02c1\u0003\u02c1\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2", - "\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2", - "\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3", - "\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3", - "\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c4\u0003\u02c4\u0003\u02c4", - "\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4", - "\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4", - "\u0003\u02c5\u0003\u02c5\u0003\u02c5\u0003\u02c5\u0003\u02c5\u0003\u02c5", - "\u0003\u02c5\u0003\u02c5\u0003\u02c6\u0003\u02c6\u0003\u02c6\u0003\u02c6", - "\u0003\u02c6\u0003\u02c6\u0003\u02c6\u0003\u02c7\u0003\u02c7\u0003\u02c7", - "\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7", - "\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8", - "\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8", - "\u0003\u02c8\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9", - "\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9", - "\u0003\u02c9\u0003\u02c9\u0003\u02ca\u0003\u02ca\u0003\u02ca\u0003\u02ca", - "\u0003\u02ca\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb", - "\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb", - "\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cc\u0003\u02cc", - "\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cd\u0003\u02cd\u0003\u02cd", - "\u0003\u02cd\u0003\u02cd\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce", - "\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02cf", - "\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf", - "\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf", - "\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0", - "\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0", - "\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d1\u0003\u02d1", - "\u0003\u02d1\u0003\u02d1\u0003\u02d1\u0003\u02d1\u0003\u02d1\u0003\u02d1", - "\u0003\u02d1\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2", - "\u0003\u02d2\u0003\u02d3\u0003\u02d3\u0003\u02d3\u0003\u02d3\u0003\u02d3", - "\u0003\u02d3\u0003\u02d3\u0003\u02d3\u0003\u02d3\u0003\u02d4\u0003\u02d4", - "\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4", - "\u0003\u02d4\u0003\u02d4\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5", - "\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d6\u0003\u02d6\u0003\u02d6", - "\u0003\u02d6\u0003\u02d6\u0003\u02d6\u0003\u02d6\u0003\u02d6\u0003\u02d6", - "\u0003\u02d6\u0003\u02d6\u0003\u02d6\u0003\u02d7\u0003\u02d7\u0003\u02d7", - "\u0003\u02d7\u0003\u02d7\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8", - "\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d9", - "\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02d9", - "\u0003\u02d9\u0003\u02d9\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da", - "\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da", - "\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da", - "\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da", - "\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02db\u0003\u02db\u0003\u02db", - "\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02dc", - "\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc", - "\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dd\u0003\u02dd", - "\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02de", - "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", - "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", - "\u0003\u02df\u0003\u02df\u0003\u02df\u0003\u02df\u0003\u02df\u0003\u02df", - "\u0003\u02df\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e0", - "\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e0", - "\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1", - "\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2", - "\u0003\u02e2\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3", - "\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e4\u0003\u02e4", - "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", - "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e5\u0003\u02e5\u0003\u02e5", - "\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e6\u0003\u02e6\u0003\u02e6", - "\u0003\u02e6\u0003\u02e6\u0003\u02e6\u0003\u02e6\u0003\u02e6\u0003\u02e7", - "\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e7", - "\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e7", - "\u0003\u02e8\u0003\u02e8\u0003\u02e8\u0003\u02e8\u0003\u02e9\u0003\u02e9", - "\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9", - "\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea", - "\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02eb\u0003\u02eb", - "\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb", - "\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb", - "\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02ec", - "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", - "\u0003\u02ec\u0003\u02ed\u0003\u02ed\u0003\u02ed\u0003\u02ed\u0003\u02ed", - "\u0003\u02ed\u0003\u02ed\u0003\u02ee\u0003\u02ee\u0003\u02ee\u0003\u02ee", - "\u0003\u02ee\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef", - "\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef", - "\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef", - "\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02f0\u0003\u02f0", - "\u0003\u02f0\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1", - "\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1", - "\u0003\u02f1\u0003\u02f1\u0003\u02f2\u0003\u02f2\u0003\u02f2\u0003\u02f2", - "\u0003\u02f2\u0003\u02f2\u0003\u02f3\u0003\u02f3\u0003\u02f3\u0003\u02f3", - "\u0003\u02f3\u0003\u02f4\u0003\u02f4\u0003\u02f4\u0003\u02f4\u0003\u02f4", - "\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5", - "\u0003\u02f5\u0003\u02f5\u0003\u02f6\u0003\u02f6\u0003\u02f6\u0003\u02f6", - "\u0003\u02f6\u0003\u02f6\u0003\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f7", - "\u0003\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f8\u0003\u02f8", - "\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8", - "\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8", - "\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8", - "\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9", - "\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9", - "\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9", - "\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02fa\u0003\u02fa", - "\u0003\u02fa\u0003\u02fa\u0003\u02fa\u0003\u02fa\u0003\u02fa\u0003\u02fa", - "\u0003\u02fa\u0003\u02fa\u0003\u02fa\u0003\u02fb\u0003\u02fb\u0003\u02fb", - "\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fb", - "\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fb", - "\u0003\u02fb\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc", - "\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc", - "\u0003\u02fc\u0003\u02fd\u0003\u02fd\u0003\u02fd\u0003\u02fd\u0003\u02fe", - "\u0003\u02fe\u0003\u02fe\u0003\u02fe\u0003\u02fe\u0003\u02ff\u0003\u02ff", - "\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff", - "\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff", - "\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff", - "\u0003\u02ff\u0003\u02ff\u0003\u0300\u0003\u0300\u0003\u0300\u0003\u0300", - "\u0003\u0300\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301", - "\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301", - "\u0003\u0301\u0003\u0301\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0302", - "\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0302", - "\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303", - "\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303", - "\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304", - "\u0003\u0304\u0003\u0304\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305", - "\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305", - "\u0003\u0306\u0003\u0306\u0003\u0306\u0003\u0306\u0003\u0307\u0003\u0307", - "\u0003\u0307\u0003\u0307\u0003\u0307\u0003\u0307\u0003\u0308\u0003\u0308", - "\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308", - "\u0003\u0308\u0003\u0308\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309", - "\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309", - "\u0003\u0309\u0003\u030a\u0003\u030a\u0003\u030a\u0003\u030a\u0003\u030a", - "\u0003\u030a\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030c", - "\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030d\u0003\u030d", - "\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d", - "\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d", - "\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e", - "\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u0310", - "\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310", - "\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310", - "\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0311\u0003\u0311\u0003\u0311", - "\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311", - "\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311", - "\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311", - "\u0003\u0311\u0003\u0312\u0003\u0312\u0003\u0312\u0003\u0312\u0003\u0312", - "\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0313", - "\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0314\u0003\u0314\u0003\u0314", - "\u0003\u0314\u0003\u0315\u0003\u0315\u0003\u0315\u0003\u0315\u0003\u0315", - "\u0003\u0315\u0003\u0315\u0003\u0315\u0003\u0316\u0003\u0316\u0003\u0316", - "\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316", - "\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0317", - "\u0003\u0317\u0003\u0317\u0003\u0317\u0003\u0317\u0003\u0317\u0003\u0317", - "\u0003\u0317\u0003\u0317\u0003\u0317\u0003\u0318\u0003\u0318\u0003\u0318", - "\u0003\u0318\u0003\u0318\u0003\u0318\u0003\u0318\u0003\u0319\u0003\u0319", - "\u0003\u0319\u0003\u0319\u0003\u0319\u0003\u0319\u0003\u0319\u0003\u0319", - "\u0003\u031a\u0006\u031a\u2650\n\u031a\r\u031a\u000e\u031a\u2651\u0003", - "\u031a\u0003\u031a\u0003\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003", - "\u031b\u0007\u031b\u265b\n\u031b\f\u031b\u000e\u031b\u265e\u000b\u031b", - "\u0003\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003\u031c", - "\u0003\u031c\u0003\u031c\u0003\u031c\u0007\u031c\u2669\n\u031c\f\u031c", - "\u000e\u031c\u266c\u000b\u031c\u0003\u031c\u0003\u031c\u0003\u031d\u0003", - "\u031d\u0006\u031d\u2672\n\u031d\r\u031d\u000e\u031d\u2673\u0003\u031d", - "\u0003\u031d\u0003\u031e\u0003\u031e\u0003\u031f\u0003\u031f\u0006\u031f", - "\u267c\n\u031f\r\u031f\u000e\u031f\u267d\u0003\u031f\u0003\u031f\u0003", - "\u0320\u0003\u0320\u0003\u0320\u0006\u0320\u2685\n\u0320\r\u0320\u000e", - "\u0320\u2686\u0003\u0321\u0006\u0321\u268a\n\u0321\r\u0321\u000e\u0321", - "\u268b\u0003\u0322\u0003\u0322\u0005\u0322\u2690\n\u0322\u0003\u0322", - "\u0003\u0322\u0007\u0322\u2694\n\u0322\f\u0322\u000e\u0322\u2697\u000b", - "\u0322\u0003\u0323\u0003\u0323\u0003\u0323\u0006\u0323\u269c\n\u0323", - "\r\u0323\u000e\u0323\u269d\u0003\u0323\u0003\u0323\u0003\u0323\u0003", - "\u0323\u0003\u0323\u0003\u0323\u0006\u0323\u26a6\n\u0323\r\u0323\u000e", - "\u0323\u26a7\u0003\u0323\u0003\u0323\u0006\u0323\u26ac\n\u0323\r\u0323", - "\u000e\u0323\u26ad\u0005\u0323\u26b0\n\u0323\u0003\u0323\u0005\u0323", - "\u26b3\n\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003", - "\u0324\u0003\u0324\u0006\u0324\u26bb\n\u0324\r\u0324\u000e\u0324\u26bc", - "\u0003\u0324\u0003\u0324\u0006\u0324\u26c1\n\u0324\r\u0324\u000e\u0324", - "\u26c2\u0005\u0324\u26c5\n\u0324\u0003\u0324\u0005\u0324\u26c8\n\u0324", - "\u0003\u0324\u0003\u0324\u0003\u0324\u0003\u0324\u0003\u0324\u0003\u0325", - "\u0005\u0325\u26d0\n\u0325\u0003\u0325\u0003\u0325\u0003\u0325\u0003", - "\u0325\u0007\u0325\u26d6\n\u0325\f\u0325\u000e\u0325\u26d9\u000b\u0325", - "\u0003\u0325\u0003\u0325\u0003\u0326\u0003\u0326\u0003\u0326\u0007\u0326", - "\u26e0\n\u0326\f\u0326\u000e\u0326\u26e3\u000b\u0326\u0003\u0327\u0003", - "\u0327\u0003\u0328\u0003\u0328\u0005\u0328\u26e9\n\u0328\u0003\u0328", - "\u0003\u0328\u0005\u0328\u26ed\n\u0328\u0003\u0328\u0006\u0328\u26f0", - "\n\u0328\r\u0328\u000e\u0328\u26f1\u0003\u0329\u0003\u0329\u0003\u032a", - "\u0003\u032a\u0003\u032b\u0003\u032b\u0003\u032c\u0003\u032c\u0003\u032d", - "\u0003\u032d\u0003\u032d\u0003\u032e\u0003\u032e\u0003\u032e\u0003\u032f", - "\u0003\u032f\u0003\u032f\u0003\u0330\u0003\u0330\u0003\u0330\u0003\u0331", - "\u0003\u0331\u0003\u0331\u0003\u0332\u0003\u0332\u0003\u0332\u0003\u0333", - "\u0003\u0333\u0003\u0333\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0335", - "\u0003\u0335\u0003\u0335\u0003\u0336\u0003\u0336\u0003\u0337\u0003\u0337", - "\u0003\u0338\u0003\u0338\u0003\u0339\u0003\u0339\u0003\u033a\u0003\u033a", - "\u0003\u033b\u0003\u033b\u0003\u033c\u0003\u033c\u0003\u033d\u0003\u033d", - "\u0003\u033e\u0003\u033e\u0003\u033f\u0003\u033f\u0003\u0340\u0003\u0340", - "\u0003\u0341\u0003\u0341\u0003\u0342\u0003\u0342\u0003\u0343\u0003\u0343", - "\u0003\u0344\u0003\u0344\u0003\u0345\u0003\u0345\u0003\u0346\u0003\u0346", - "\u0003\u0347\u0003\u0347\u0003\u0348\u0003\u0348\u0003\u0349\u0003\u0349", - "\u0003\u034a\u0003\u034a\u0003\u034a\u0003\u034a\u0003\u034a\u0003\u034b", - "\u0005\u034b\u2745\n\u034b\u0003\u034b\u0005\u034b\u2748\n\u034b\u0003", - "\u034b\u0003\u034b\u0003\u034c\u0006\u034c\u274d\n\u034c\r\u034c\u000e", - "\u034c\u274e\u0003\u034c\u0003\u034c\u0006\u034c\u2753\n\u034c\r\u034c", - "\u000e\u034c\u2754\u0003\u034c\u0006\u034c\u2758\n\u034c\r\u034c\u000e", - "\u034c\u2759\u0003\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0006\u034c", - "\u2760\n\u034c\r\u034c\u000e\u034c\u2761\u0005\u034c\u2764\n\u034c\u0003", - "\u034d\u0003\u034d\u0003\u034e\u0003\u034e\u0003\u034f\u0003\u034f\u0003", - "\u265c\u0002\u0350\u0003\u0003\u0005\u0004\u0007\u0005\t\u0006\u000b", - "\u0007\r\b\u000f\t\u0011\n\u0013\u000b\u0015\f\u0017\r\u0019\u000e\u001b", - "\u000f\u001d\u0010\u001f\u0011!\u0012#\u0013%\u0014\'\u0015)\u0016+", - "\u0017-\u0018/\u00191\u001a3\u001b5\u001c7\u001d9\u001e;\u001f= ?!A", - "\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:s;u{?}@\u007f", - "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093", - "K\u0095L\u0097M\u0099N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5T\u00a7", - "U\u00a9V\u00abW\u00adX\u00afY\u00b1Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb", - "_\u00bd`\u00bfa\u00c1b\u00c3c\u00c5d\u00c7e\u00c9f\u00cbg\u00cdh\u00cf", - "i\u00d1j\u00d3k\u00d5l\u00d7m\u00d9n\u00dbo\u00ddp\u00dfq\u00e1r\u00e3", - "s\u00e5t\u00e7u\u00e9v\u00ebw\u00edx\u00efy\u00f1z\u00f3{\u00f5|\u00f7", - "}\u00f9~\u00fb\u007f\u00fd\u0080\u00ff\u0081\u0101\u0082\u0103\u0083", - "\u0105\u0084\u0107\u0085\u0109\u0086\u010b\u0087\u010d\u0088\u010f\u0089", - "\u0111\u008a\u0113\u008b\u0115\u008c\u0117\u008d\u0119\u008e\u011b\u008f", - "\u011d\u0090\u011f\u0091\u0121\u0092\u0123\u0093\u0125\u0094\u0127\u0095", - "\u0129\u0096\u012b\u0097\u012d\u0098\u012f\u0099\u0131\u009a\u0133\u009b", - "\u0135\u009c\u0137\u009d\u0139\u009e\u013b\u009f\u013d\u00a0\u013f\u00a1", - "\u0141\u00a2\u0143\u00a3\u0145\u00a4\u0147\u00a5\u0149\u00a6\u014b\u00a7", - "\u014d\u00a8\u014f\u00a9\u0151\u00aa\u0153\u00ab\u0155\u00ac\u0157\u00ad", - "\u0159\u00ae\u015b\u00af\u015d\u00b0\u015f\u00b1\u0161\u00b2\u0163\u00b3", - "\u0165\u00b4\u0167\u00b5\u0169\u00b6\u016b\u00b7\u016d\u00b8\u016f\u00b9", - "\u0171\u00ba\u0173\u00bb\u0175\u00bc\u0177\u00bd\u0179\u00be\u017b\u00bf", - "\u017d\u00c0\u017f\u00c1\u0181\u00c2\u0183\u00c3\u0185\u00c4\u0187\u00c5", - "\u0189\u00c6\u018b\u00c7\u018d\u00c8\u018f\u00c9\u0191\u00ca\u0193\u00cb", - "\u0195\u00cc\u0197\u00cd\u0199\u00ce\u019b\u00cf\u019d\u00d0\u019f\u00d1", - "\u01a1\u00d2\u01a3\u00d3\u01a5\u00d4\u01a7\u00d5\u01a9\u00d6\u01ab\u00d7", - "\u01ad\u00d8\u01af\u00d9\u01b1\u00da\u01b3\u00db\u01b5\u00dc\u01b7\u00dd", - "\u01b9\u00de\u01bb\u00df\u01bd\u00e0\u01bf\u00e1\u01c1\u00e2\u01c3\u00e3", - "\u01c5\u00e4\u01c7\u00e5\u01c9\u00e6\u01cb\u00e7\u01cd\u00e8\u01cf\u00e9", - "\u01d1\u00ea\u01d3\u00eb\u01d5\u00ec\u01d7\u00ed\u01d9\u00ee\u01db\u00ef", - "\u01dd\u00f0\u01df\u00f1\u01e1\u00f2\u01e3\u00f3\u01e5\u00f4\u01e7\u00f5", - "\u01e9\u00f6\u01eb\u00f7\u01ed\u00f8\u01ef\u00f9\u01f1\u00fa\u01f3\u00fb", - "\u01f5\u00fc\u01f7\u00fd\u01f9\u00fe\u01fb\u00ff\u01fd\u0100\u01ff\u0101", - "\u0201\u0102\u0203\u0103\u0205\u0104\u0207\u0105\u0209\u0106\u020b\u0107", - "\u020d\u0108\u020f\u0109\u0211\u010a\u0213\u010b\u0215\u010c\u0217\u010d", - "\u0219\u010e\u021b\u010f\u021d\u0110\u021f\u0111\u0221\u0112\u0223\u0113", - "\u0225\u0114\u0227\u0115\u0229\u0116\u022b\u0117\u022d\u0118\u022f\u0119", - "\u0231\u011a\u0233\u011b\u0235\u011c\u0237\u011d\u0239\u011e\u023b\u011f", - "\u023d\u0120\u023f\u0121\u0241\u0122\u0243\u0123\u0245\u0124\u0247\u0125", - "\u0249\u0126\u024b\u0127\u024d\u0128\u024f\u0129\u0251\u012a\u0253\u012b", - "\u0255\u012c\u0257\u012d\u0259\u012e\u025b\u012f\u025d\u0130\u025f\u0131", - "\u0261\u0132\u0263\u0133\u0265\u0134\u0267\u0135\u0269\u0136\u026b\u0137", - "\u026d\u0138\u026f\u0139\u0271\u013a\u0273\u013b\u0275\u013c\u0277\u013d", - "\u0279\u013e\u027b\u013f\u027d\u0140\u027f\u0141\u0281\u0142\u0283\u0143", - "\u0285\u0144\u0287\u0145\u0289\u0146\u028b\u0147\u028d\u0148\u028f\u0149", - "\u0291\u014a\u0293\u014b\u0295\u014c\u0297\u014d\u0299\u014e\u029b\u014f", - "\u029d\u0150\u029f\u0151\u02a1\u0152\u02a3\u0153\u02a5\u0154\u02a7\u0155", - "\u02a9\u0156\u02ab\u0157\u02ad\u0158\u02af\u0159\u02b1\u015a\u02b3\u015b", - "\u02b5\u015c\u02b7\u015d\u02b9\u015e\u02bb\u015f\u02bd\u0160\u02bf\u0161", - "\u02c1\u0162\u02c3\u0163\u02c5\u0164\u02c7\u0165\u02c9\u0166\u02cb\u0167", - "\u02cd\u0168\u02cf\u0169\u02d1\u016a\u02d3\u016b\u02d5\u016c\u02d7\u016d", - "\u02d9\u016e\u02db\u016f\u02dd\u0170\u02df\u0171\u02e1\u0172\u02e3\u0173", - "\u02e5\u0174\u02e7\u0175\u02e9\u0176\u02eb\u0177\u02ed\u0178\u02ef\u0179", - "\u02f1\u017a\u02f3\u017b\u02f5\u017c\u02f7\u017d\u02f9\u017e\u02fb\u017f", - "\u02fd\u0180\u02ff\u0181\u0301\u0182\u0303\u0183\u0305\u0184\u0307\u0185", - "\u0309\u0186\u030b\u0187\u030d\u0188\u030f\u0189\u0311\u018a\u0313\u018b", - "\u0315\u018c\u0317\u018d\u0319\u018e\u031b\u018f\u031d\u0190\u031f\u0191", - "\u0321\u0192\u0323\u0193\u0325\u0194\u0327\u0195\u0329\u0196\u032b\u0197", - "\u032d\u0198\u032f\u0199\u0331\u019a\u0333\u019b\u0335\u019c\u0337\u019d", - "\u0339\u019e\u033b\u019f\u033d\u01a0\u033f\u01a1\u0341\u01a2\u0343\u01a3", - "\u0345\u01a4\u0347\u01a5\u0349\u01a6\u034b\u01a7\u034d\u01a8\u034f\u01a9", - "\u0351\u01aa\u0353\u01ab\u0355\u01ac\u0357\u01ad\u0359\u01ae\u035b\u01af", - "\u035d\u01b0\u035f\u01b1\u0361\u01b2\u0363\u01b3\u0365\u01b4\u0367\u01b5", - "\u0369\u01b6\u036b\u01b7\u036d\u01b8\u036f\u01b9\u0371\u01ba\u0373\u01bb", - "\u0375\u01bc\u0377\u01bd\u0379\u01be\u037b\u01bf\u037d\u01c0\u037f\u01c1", - "\u0381\u01c2\u0383\u01c3\u0385\u01c4\u0387\u01c5\u0389\u01c6\u038b\u01c7", - "\u038d\u01c8\u038f\u01c9\u0391\u01ca\u0393\u01cb\u0395\u01cc\u0397\u01cd", - "\u0399\u01ce\u039b\u01cf\u039d\u01d0\u039f\u01d1\u03a1\u01d2\u03a3\u01d3", - "\u03a5\u01d4\u03a7\u01d5\u03a9\u01d6\u03ab\u01d7\u03ad\u01d8\u03af\u01d9", - "\u03b1\u01da\u03b3\u01db\u03b5\u01dc\u03b7\u01dd\u03b9\u01de\u03bb\u01df", - "\u03bd\u01e0\u03bf\u01e1\u03c1\u01e2\u03c3\u01e3\u03c5\u01e4\u03c7\u01e5", - "\u03c9\u01e6\u03cb\u01e7\u03cd\u01e8\u03cf\u01e9\u03d1\u01ea\u03d3\u01eb", - "\u03d5\u01ec\u03d7\u01ed\u03d9\u01ee\u03db\u01ef\u03dd\u01f0\u03df\u01f1", - "\u03e1\u01f2\u03e3\u01f3\u03e5\u01f4\u03e7\u01f5\u03e9\u01f6\u03eb\u01f7", - "\u03ed\u01f8\u03ef\u01f9\u03f1\u01fa\u03f3\u01fb\u03f5\u01fc\u03f7\u01fd", - "\u03f9\u01fe\u03fb\u01ff\u03fd\u0200\u03ff\u0201\u0401\u0202\u0403\u0203", - "\u0405\u0204\u0407\u0205\u0409\u0206\u040b\u0207\u040d\u0208\u040f\u0209", - "\u0411\u020a\u0413\u020b\u0415\u020c\u0417\u020d\u0419\u020e\u041b\u020f", - "\u041d\u0210\u041f\u0211\u0421\u0212\u0423\u0213\u0425\u0214\u0427\u0215", - "\u0429\u0216\u042b\u0217\u042d\u0218\u042f\u0219\u0431\u021a\u0433\u021b", - "\u0435\u021c\u0437\u021d\u0439\u021e\u043b\u021f\u043d\u0220\u043f\u0221", - "\u0441\u0222\u0443\u0223\u0445\u0224\u0447\u0225\u0449\u0226\u044b\u0227", - "\u044d\u0228\u044f\u0229\u0451\u022a\u0453\u022b\u0455\u022c\u0457\u022d", - "\u0459\u022e\u045b\u022f\u045d\u0230\u045f\u0231\u0461\u0232\u0463\u0233", - "\u0465\u0234\u0467\u0235\u0469\u0236\u046b\u0237\u046d\u0238\u046f\u0239", - "\u0471\u023a\u0473\u023b\u0475\u023c\u0477\u023d\u0479\u023e\u047b\u023f", - "\u047d\u0240\u047f\u0241\u0481\u0242\u0483\u0243\u0485\u0244\u0487\u0245", - "\u0489\u0246\u048b\u0247\u048d\u0248\u048f\u0249\u0491\u024a\u0493\u024b", - "\u0495\u024c\u0497\u024d\u0499\u024e\u049b\u024f\u049d\u0250\u049f\u0251", - "\u04a1\u0252\u04a3\u0253\u04a5\u0254\u04a7\u0255\u04a9\u0256\u04ab\u0257", - "\u04ad\u0258\u04af\u0259\u04b1\u025a\u04b3\u025b\u04b5\u025c\u04b7\u025d", - "\u04b9\u025e\u04bb\u025f\u04bd\u0260\u04bf\u0261\u04c1\u0262\u04c3\u0263", - "\u04c5\u0264\u04c7\u0265\u04c9\u0266\u04cb\u0267\u04cd\u0268\u04cf\u0269", - "\u04d1\u026a\u04d3\u026b\u04d5\u026c\u04d7\u026d\u04d9\u026e\u04db\u026f", - "\u04dd\u0270\u04df\u0271\u04e1\u0272\u04e3\u0273\u04e5\u0274\u04e7\u0275", - "\u04e9\u0276\u04eb\u0277\u04ed\u0278\u04ef\u0279\u04f1\u027a\u04f3\u027b", - "\u04f5\u027c\u04f7\u027d\u04f9\u027e\u04fb\u027f\u04fd\u0280\u04ff\u0281", - "\u0501\u0282\u0503\u0283\u0505\u0284\u0507\u0285\u0509\u0286\u050b\u0287", - "\u050d\u0288\u050f\u0289\u0511\u028a\u0513\u028b\u0515\u028c\u0517\u028d", - "\u0519\u028e\u051b\u028f\u051d\u0290\u051f\u0291\u0521\u0292\u0523\u0293", - "\u0525\u0294\u0527\u0295\u0529\u0296\u052b\u0297\u052d\u0298\u052f\u0299", - "\u0531\u029a\u0533\u029b\u0535\u029c\u0537\u029d\u0539\u029e\u053b\u029f", - "\u053d\u02a0\u053f\u02a1\u0541\u02a2\u0543\u02a3\u0545\u02a4\u0547\u02a5", - "\u0549\u02a6\u054b\u02a7\u054d\u02a8\u054f\u02a9\u0551\u02aa\u0553\u02ab", - "\u0555\u02ac\u0557\u02ad\u0559\u02ae\u055b\u02af\u055d\u02b0\u055f\u02b1", - "\u0561\u02b2\u0563\u02b3\u0565\u02b4\u0567\u02b5\u0569\u02b6\u056b\u02b7", - "\u056d\u02b8\u056f\u02b9\u0571\u02ba\u0573\u02bb\u0575\u02bc\u0577\u02bd", - "\u0579\u02be\u057b\u02bf\u057d\u02c0\u057f\u02c1\u0581\u02c2\u0583\u02c3", - "\u0585\u02c4\u0587\u02c5\u0589\u02c6\u058b\u02c7\u058d\u02c8\u058f\u02c9", - "\u0591\u02ca\u0593\u02cb\u0595\u02cc\u0597\u02cd\u0599\u02ce\u059b\u02cf", - "\u059d\u02d0\u059f\u02d1\u05a1\u02d2\u05a3\u02d3\u05a5\u02d4\u05a7\u02d5", - "\u05a9\u02d6\u05ab\u02d7\u05ad\u02d8\u05af\u02d9\u05b1\u02da\u05b3\u02db", - "\u05b5\u02dc\u05b7\u02dd\u05b9\u02de\u05bb\u02df\u05bd\u02e0\u05bf\u02e1", - "\u05c1\u02e2\u05c3\u02e3\u05c5\u02e4\u05c7\u02e5\u05c9\u02e6\u05cb\u02e7", - "\u05cd\u02e8\u05cf\u02e9\u05d1\u02ea\u05d3\u02eb\u05d5\u02ec\u05d7\u02ed", - "\u05d9\u02ee\u05db\u02ef\u05dd\u02f0\u05df\u02f1\u05e1\u02f2\u05e3\u02f3", - "\u05e5\u02f4\u05e7\u02f5\u05e9\u02f6\u05eb\u02f7\u05ed\u02f8\u05ef\u02f9", - "\u05f1\u02fa\u05f3\u02fb\u05f5\u02fc\u05f7\u02fd\u05f9\u02fe\u05fb\u02ff", - "\u05fd\u0300\u05ff\u0301\u0601\u0302\u0603\u0303\u0605\u0304\u0607\u0305", - "\u0609\u0306\u060b\u0307\u060d\u0308\u060f\u0309\u0611\u030a\u0613\u030b", - "\u0615\u030c\u0617\u030d\u0619\u030e\u061b\u030f\u061d\u0310\u061f\u0311", - "\u0621\u0312\u0623\u0313\u0625\u0314\u0627\u0315\u0629\u0316\u062b\u0317", - "\u062d\u0318\u062f\u0319\u0631\u031a\u0633\u031b\u0635\u031c\u0637\u031d", - "\u0639\u031e\u063b\u031f\u063d\u0320\u063f\u0321\u0641\u0322\u0643\u0323", - "\u0645\u0324\u0647\u0325\u0649\u0326\u064b\u0327\u064d\u0328\u064f\u0329", - "\u0651\u032a\u0653\u032b\u0655\u032c\u0657\u032d\u0659\u032e\u065b\u032f", - "\u065d\u0330\u065f\u0331\u0661\u0332\u0663\u0333\u0665\u0334\u0667\u0335", - "\u0669\u0336\u066b\u0337\u066d\u0338\u066f\u0339\u0671\u033a\u0673\u033b", - "\u0675\u033c\u0677\u033d\u0679\u033e\u067b\u033f\u067d\u0340\u067f\u0341", - "\u0681\u0342\u0683\u0343\u0685\u0344\u0687\u0345\u0689\u0346\u068b\u0347", - "\u068d\u0348\u068f\u0349\u0691\u0002\u0693\u0002\u0695\u034a\u0697\u0002", - "\u0699\u0002\u069b\u0002\u069d\u0002\u0003\u0002\u0011\u0003\u0002)", - ")\u0004\u00022;CH\u0003\u0002<<\u0003\u0002$$\u0003\u0002C\\\u0005\u0002", - "\u000b\f\u000f\u000f\"\"\u0004\u0002\f\f\u000f\u000f\u0003\u0002__\u0006", - "\u0002%&2;B\\aa\u0005\u0002%%C\\aa\u0003\u000200\u0004\u0002--//\u0004", - "\u0002C\\aa\u0003\u00022;\f\u0002\u00c2\u00d8\u00da\u00f8\u00fa\u2001", - "\u2c02\u3001\u3042\u3191\u3302\u3381\u3402\u4001\u4e02\ud801\uf902\ufb01", - "\uff02\ufff2\u0002\u27af\u0002\u0003\u0003\u0002\u0002\u0002\u0002\u0005", - "\u0003\u0002\u0002\u0002\u0002\u0007\u0003\u0002\u0002\u0002\u0002\t", - "\u0003\u0002\u0002\u0002\u0002\u000b\u0003\u0002\u0002\u0002\u0002\r", - "\u0003\u0002\u0002\u0002\u0002\u000f\u0003\u0002\u0002\u0002\u0002\u0011", - "\u0003\u0002\u0002\u0002\u0002\u0013\u0003\u0002\u0002\u0002\u0002\u0015", - "\u0003\u0002\u0002\u0002\u0002\u0017\u0003\u0002\u0002\u0002\u0002\u0019", - "\u0003\u0002\u0002\u0002\u0002\u001b\u0003\u0002\u0002\u0002\u0002\u001d", - "\u0003\u0002\u0002\u0002\u0002\u001f\u0003\u0002\u0002\u0002\u0002!", - "\u0003\u0002\u0002\u0002\u0002#\u0003\u0002\u0002\u0002\u0002%\u0003", - "\u0002\u0002\u0002\u0002\'\u0003\u0002\u0002\u0002\u0002)\u0003\u0002", - "\u0002\u0002\u0002+\u0003\u0002\u0002\u0002\u0002-\u0003\u0002\u0002", - "\u0002\u0002/\u0003\u0002\u0002\u0002\u00021\u0003\u0002\u0002\u0002", - "\u00023\u0003\u0002\u0002\u0002\u00025\u0003\u0002\u0002\u0002\u0002", - "7\u0003\u0002\u0002\u0002\u00029\u0003\u0002\u0002\u0002\u0002;\u0003", - "\u0002\u0002\u0002\u0002=\u0003\u0002\u0002\u0002\u0002?\u0003\u0002", - "\u0002\u0002\u0002A\u0003\u0002\u0002\u0002\u0002C\u0003\u0002\u0002", - "\u0002\u0002E\u0003\u0002\u0002\u0002\u0002G\u0003\u0002\u0002\u0002", - "\u0002I\u0003\u0002\u0002\u0002\u0002K\u0003\u0002\u0002\u0002\u0002", - "M\u0003\u0002\u0002\u0002\u0002O\u0003\u0002\u0002\u0002\u0002Q\u0003", - "\u0002\u0002\u0002\u0002S\u0003\u0002\u0002\u0002\u0002U\u0003\u0002", - "\u0002\u0002\u0002W\u0003\u0002\u0002\u0002\u0002Y\u0003\u0002\u0002", - "\u0002\u0002[\u0003\u0002\u0002\u0002\u0002]\u0003\u0002\u0002\u0002", - "\u0002_\u0003\u0002\u0002\u0002\u0002a\u0003\u0002\u0002\u0002\u0002", - "c\u0003\u0002\u0002\u0002\u0002e\u0003\u0002\u0002\u0002\u0002g\u0003", - "\u0002\u0002\u0002\u0002i\u0003\u0002\u0002\u0002\u0002k\u0003\u0002", - "\u0002\u0002\u0002m\u0003\u0002\u0002\u0002\u0002o\u0003\u0002\u0002", - "\u0002\u0002q\u0003\u0002\u0002\u0002\u0002s\u0003\u0002\u0002\u0002", - "\u0002u\u0003\u0002\u0002\u0002\u0002w\u0003\u0002\u0002\u0002\u0002", - "y\u0003\u0002\u0002\u0002\u0002{\u0003\u0002\u0002\u0002\u0002}\u0003", - "\u0002\u0002\u0002\u0002\u007f\u0003\u0002\u0002\u0002\u0002\u0081\u0003", - "\u0002\u0002\u0002\u0002\u0083\u0003\u0002\u0002\u0002\u0002\u0085\u0003", - "\u0002\u0002\u0002\u0002\u0087\u0003\u0002\u0002\u0002\u0002\u0089\u0003", - "\u0002\u0002\u0002\u0002\u008b\u0003\u0002\u0002\u0002\u0002\u008d\u0003", - "\u0002\u0002\u0002\u0002\u008f\u0003\u0002\u0002\u0002\u0002\u0091\u0003", - "\u0002\u0002\u0002\u0002\u0093\u0003\u0002\u0002\u0002\u0002\u0095\u0003", - "\u0002\u0002\u0002\u0002\u0097\u0003\u0002\u0002\u0002\u0002\u0099\u0003", - "\u0002\u0002\u0002\u0002\u009b\u0003\u0002\u0002\u0002\u0002\u009d\u0003", - "\u0002\u0002\u0002\u0002\u009f\u0003\u0002\u0002\u0002\u0002\u00a1\u0003", - "\u0002\u0002\u0002\u0002\u00a3\u0003\u0002\u0002\u0002\u0002\u00a5\u0003", - "\u0002\u0002\u0002\u0002\u00a7\u0003\u0002\u0002\u0002\u0002\u00a9\u0003", - "\u0002\u0002\u0002\u0002\u00ab\u0003\u0002\u0002\u0002\u0002\u00ad\u0003", - "\u0002\u0002\u0002\u0002\u00af\u0003\u0002\u0002\u0002\u0002\u00b1\u0003", - "\u0002\u0002\u0002\u0002\u00b3\u0003\u0002\u0002\u0002\u0002\u00b5\u0003", - "\u0002\u0002\u0002\u0002\u00b7\u0003\u0002\u0002\u0002\u0002\u00b9\u0003", - "\u0002\u0002\u0002\u0002\u00bb\u0003\u0002\u0002\u0002\u0002\u00bd\u0003", - "\u0002\u0002\u0002\u0002\u00bf\u0003\u0002\u0002\u0002\u0002\u00c1\u0003", - "\u0002\u0002\u0002\u0002\u00c3\u0003\u0002\u0002\u0002\u0002\u00c5\u0003", - "\u0002\u0002\u0002\u0002\u00c7\u0003\u0002\u0002\u0002\u0002\u00c9\u0003", - "\u0002\u0002\u0002\u0002\u00cb\u0003\u0002\u0002\u0002\u0002\u00cd\u0003", - "\u0002\u0002\u0002\u0002\u00cf\u0003\u0002\u0002\u0002\u0002\u00d1\u0003", - "\u0002\u0002\u0002\u0002\u00d3\u0003\u0002\u0002\u0002\u0002\u00d5\u0003", - "\u0002\u0002\u0002\u0002\u00d7\u0003\u0002\u0002\u0002\u0002\u00d9\u0003", - "\u0002\u0002\u0002\u0002\u00db\u0003\u0002\u0002\u0002\u0002\u00dd\u0003", - "\u0002\u0002\u0002\u0002\u00df\u0003\u0002\u0002\u0002\u0002\u00e1\u0003", - "\u0002\u0002\u0002\u0002\u00e3\u0003\u0002\u0002\u0002\u0002\u00e5\u0003", - "\u0002\u0002\u0002\u0002\u00e7\u0003\u0002\u0002\u0002\u0002\u00e9\u0003", - "\u0002\u0002\u0002\u0002\u00eb\u0003\u0002\u0002\u0002\u0002\u00ed\u0003", - "\u0002\u0002\u0002\u0002\u00ef\u0003\u0002\u0002\u0002\u0002\u00f1\u0003", - "\u0002\u0002\u0002\u0002\u00f3\u0003\u0002\u0002\u0002\u0002\u00f5\u0003", - "\u0002\u0002\u0002\u0002\u00f7\u0003\u0002\u0002\u0002\u0002\u00f9\u0003", - "\u0002\u0002\u0002\u0002\u00fb\u0003\u0002\u0002\u0002\u0002\u00fd\u0003", - "\u0002\u0002\u0002\u0002\u00ff\u0003\u0002\u0002\u0002\u0002\u0101\u0003", - "\u0002\u0002\u0002\u0002\u0103\u0003\u0002\u0002\u0002\u0002\u0105\u0003", - "\u0002\u0002\u0002\u0002\u0107\u0003\u0002\u0002\u0002\u0002\u0109\u0003", - "\u0002\u0002\u0002\u0002\u010b\u0003\u0002\u0002\u0002\u0002\u010d\u0003", - "\u0002\u0002\u0002\u0002\u010f\u0003\u0002\u0002\u0002\u0002\u0111\u0003", - "\u0002\u0002\u0002\u0002\u0113\u0003\u0002\u0002\u0002\u0002\u0115\u0003", - "\u0002\u0002\u0002\u0002\u0117\u0003\u0002\u0002\u0002\u0002\u0119\u0003", - "\u0002\u0002\u0002\u0002\u011b\u0003\u0002\u0002\u0002\u0002\u011d\u0003", - "\u0002\u0002\u0002\u0002\u011f\u0003\u0002\u0002\u0002\u0002\u0121\u0003", - "\u0002\u0002\u0002\u0002\u0123\u0003\u0002\u0002\u0002\u0002\u0125\u0003", - "\u0002\u0002\u0002\u0002\u0127\u0003\u0002\u0002\u0002\u0002\u0129\u0003", - "\u0002\u0002\u0002\u0002\u012b\u0003\u0002\u0002\u0002\u0002\u012d\u0003", - "\u0002\u0002\u0002\u0002\u012f\u0003\u0002\u0002\u0002\u0002\u0131\u0003", - "\u0002\u0002\u0002\u0002\u0133\u0003\u0002\u0002\u0002\u0002\u0135\u0003", - "\u0002\u0002\u0002\u0002\u0137\u0003\u0002\u0002\u0002\u0002\u0139\u0003", - "\u0002\u0002\u0002\u0002\u013b\u0003\u0002\u0002\u0002\u0002\u013d\u0003", - "\u0002\u0002\u0002\u0002\u013f\u0003\u0002\u0002\u0002\u0002\u0141\u0003", - "\u0002\u0002\u0002\u0002\u0143\u0003\u0002\u0002\u0002\u0002\u0145\u0003", - "\u0002\u0002\u0002\u0002\u0147\u0003\u0002\u0002\u0002\u0002\u0149\u0003", - "\u0002\u0002\u0002\u0002\u014b\u0003\u0002\u0002\u0002\u0002\u014d\u0003", - "\u0002\u0002\u0002\u0002\u014f\u0003\u0002\u0002\u0002\u0002\u0151\u0003", - "\u0002\u0002\u0002\u0002\u0153\u0003\u0002\u0002\u0002\u0002\u0155\u0003", - "\u0002\u0002\u0002\u0002\u0157\u0003\u0002\u0002\u0002\u0002\u0159\u0003", - "\u0002\u0002\u0002\u0002\u015b\u0003\u0002\u0002\u0002\u0002\u015d\u0003", - "\u0002\u0002\u0002\u0002\u015f\u0003\u0002\u0002\u0002\u0002\u0161\u0003", - "\u0002\u0002\u0002\u0002\u0163\u0003\u0002\u0002\u0002\u0002\u0165\u0003", - "\u0002\u0002\u0002\u0002\u0167\u0003\u0002\u0002\u0002\u0002\u0169\u0003", - "\u0002\u0002\u0002\u0002\u016b\u0003\u0002\u0002\u0002\u0002\u016d\u0003", - "\u0002\u0002\u0002\u0002\u016f\u0003\u0002\u0002\u0002\u0002\u0171\u0003", - "\u0002\u0002\u0002\u0002\u0173\u0003\u0002\u0002\u0002\u0002\u0175\u0003", - "\u0002\u0002\u0002\u0002\u0177\u0003\u0002\u0002\u0002\u0002\u0179\u0003", - "\u0002\u0002\u0002\u0002\u017b\u0003\u0002\u0002\u0002\u0002\u017d\u0003", - "\u0002\u0002\u0002\u0002\u017f\u0003\u0002\u0002\u0002\u0002\u0181\u0003", - "\u0002\u0002\u0002\u0002\u0183\u0003\u0002\u0002\u0002\u0002\u0185\u0003", - "\u0002\u0002\u0002\u0002\u0187\u0003\u0002\u0002\u0002\u0002\u0189\u0003", - "\u0002\u0002\u0002\u0002\u018b\u0003\u0002\u0002\u0002\u0002\u018d\u0003", - "\u0002\u0002\u0002\u0002\u018f\u0003\u0002\u0002\u0002\u0002\u0191\u0003", - "\u0002\u0002\u0002\u0002\u0193\u0003\u0002\u0002\u0002\u0002\u0195\u0003", - "\u0002\u0002\u0002\u0002\u0197\u0003\u0002\u0002\u0002\u0002\u0199\u0003", - "\u0002\u0002\u0002\u0002\u019b\u0003\u0002\u0002\u0002\u0002\u019d\u0003", - "\u0002\u0002\u0002\u0002\u019f\u0003\u0002\u0002\u0002\u0002\u01a1\u0003", - "\u0002\u0002\u0002\u0002\u01a3\u0003\u0002\u0002\u0002\u0002\u01a5\u0003", - "\u0002\u0002\u0002\u0002\u01a7\u0003\u0002\u0002\u0002\u0002\u01a9\u0003", - "\u0002\u0002\u0002\u0002\u01ab\u0003\u0002\u0002\u0002\u0002\u01ad\u0003", - "\u0002\u0002\u0002\u0002\u01af\u0003\u0002\u0002\u0002\u0002\u01b1\u0003", - "\u0002\u0002\u0002\u0002\u01b3\u0003\u0002\u0002\u0002\u0002\u01b5\u0003", - "\u0002\u0002\u0002\u0002\u01b7\u0003\u0002\u0002\u0002\u0002\u01b9\u0003", - "\u0002\u0002\u0002\u0002\u01bb\u0003\u0002\u0002\u0002\u0002\u01bd\u0003", - "\u0002\u0002\u0002\u0002\u01bf\u0003\u0002\u0002\u0002\u0002\u01c1\u0003", - "\u0002\u0002\u0002\u0002\u01c3\u0003\u0002\u0002\u0002\u0002\u01c5\u0003", - "\u0002\u0002\u0002\u0002\u01c7\u0003\u0002\u0002\u0002\u0002\u01c9\u0003", - "\u0002\u0002\u0002\u0002\u01cb\u0003\u0002\u0002\u0002\u0002\u01cd\u0003", - "\u0002\u0002\u0002\u0002\u01cf\u0003\u0002\u0002\u0002\u0002\u01d1\u0003", - "\u0002\u0002\u0002\u0002\u01d3\u0003\u0002\u0002\u0002\u0002\u01d5\u0003", - "\u0002\u0002\u0002\u0002\u01d7\u0003\u0002\u0002\u0002\u0002\u01d9\u0003", - "\u0002\u0002\u0002\u0002\u01db\u0003\u0002\u0002\u0002\u0002\u01dd\u0003", - "\u0002\u0002\u0002\u0002\u01df\u0003\u0002\u0002\u0002\u0002\u01e1\u0003", - "\u0002\u0002\u0002\u0002\u01e3\u0003\u0002\u0002\u0002\u0002\u01e5\u0003", - "\u0002\u0002\u0002\u0002\u01e7\u0003\u0002\u0002\u0002\u0002\u01e9\u0003", - "\u0002\u0002\u0002\u0002\u01eb\u0003\u0002\u0002\u0002\u0002\u01ed\u0003", - "\u0002\u0002\u0002\u0002\u01ef\u0003\u0002\u0002\u0002\u0002\u01f1\u0003", - "\u0002\u0002\u0002\u0002\u01f3\u0003\u0002\u0002\u0002\u0002\u01f5\u0003", - "\u0002\u0002\u0002\u0002\u01f7\u0003\u0002\u0002\u0002\u0002\u01f9\u0003", - "\u0002\u0002\u0002\u0002\u01fb\u0003\u0002\u0002\u0002\u0002\u01fd\u0003", - "\u0002\u0002\u0002\u0002\u01ff\u0003\u0002\u0002\u0002\u0002\u0201\u0003", - "\u0002\u0002\u0002\u0002\u0203\u0003\u0002\u0002\u0002\u0002\u0205\u0003", - "\u0002\u0002\u0002\u0002\u0207\u0003\u0002\u0002\u0002\u0002\u0209\u0003", - "\u0002\u0002\u0002\u0002\u020b\u0003\u0002\u0002\u0002\u0002\u020d\u0003", - "\u0002\u0002\u0002\u0002\u020f\u0003\u0002\u0002\u0002\u0002\u0211\u0003", - "\u0002\u0002\u0002\u0002\u0213\u0003\u0002\u0002\u0002\u0002\u0215\u0003", - "\u0002\u0002\u0002\u0002\u0217\u0003\u0002\u0002\u0002\u0002\u0219\u0003", - "\u0002\u0002\u0002\u0002\u021b\u0003\u0002\u0002\u0002\u0002\u021d\u0003", - "\u0002\u0002\u0002\u0002\u021f\u0003\u0002\u0002\u0002\u0002\u0221\u0003", - "\u0002\u0002\u0002\u0002\u0223\u0003\u0002\u0002\u0002\u0002\u0225\u0003", - "\u0002\u0002\u0002\u0002\u0227\u0003\u0002\u0002\u0002\u0002\u0229\u0003", - "\u0002\u0002\u0002\u0002\u022b\u0003\u0002\u0002\u0002\u0002\u022d\u0003", - "\u0002\u0002\u0002\u0002\u022f\u0003\u0002\u0002\u0002\u0002\u0231\u0003", - "\u0002\u0002\u0002\u0002\u0233\u0003\u0002\u0002\u0002\u0002\u0235\u0003", - "\u0002\u0002\u0002\u0002\u0237\u0003\u0002\u0002\u0002\u0002\u0239\u0003", - "\u0002\u0002\u0002\u0002\u023b\u0003\u0002\u0002\u0002\u0002\u023d\u0003", - "\u0002\u0002\u0002\u0002\u023f\u0003\u0002\u0002\u0002\u0002\u0241\u0003", - "\u0002\u0002\u0002\u0002\u0243\u0003\u0002\u0002\u0002\u0002\u0245\u0003", - "\u0002\u0002\u0002\u0002\u0247\u0003\u0002\u0002\u0002\u0002\u0249\u0003", - "\u0002\u0002\u0002\u0002\u024b\u0003\u0002\u0002\u0002\u0002\u024d\u0003", - "\u0002\u0002\u0002\u0002\u024f\u0003\u0002\u0002\u0002\u0002\u0251\u0003", - "\u0002\u0002\u0002\u0002\u0253\u0003\u0002\u0002\u0002\u0002\u0255\u0003", - "\u0002\u0002\u0002\u0002\u0257\u0003\u0002\u0002\u0002\u0002\u0259\u0003", - "\u0002\u0002\u0002\u0002\u025b\u0003\u0002\u0002\u0002\u0002\u025d\u0003", - "\u0002\u0002\u0002\u0002\u025f\u0003\u0002\u0002\u0002\u0002\u0261\u0003", - "\u0002\u0002\u0002\u0002\u0263\u0003\u0002\u0002\u0002\u0002\u0265\u0003", - "\u0002\u0002\u0002\u0002\u0267\u0003\u0002\u0002\u0002\u0002\u0269\u0003", - "\u0002\u0002\u0002\u0002\u026b\u0003\u0002\u0002\u0002\u0002\u026d\u0003", - "\u0002\u0002\u0002\u0002\u026f\u0003\u0002\u0002\u0002\u0002\u0271\u0003", - "\u0002\u0002\u0002\u0002\u0273\u0003\u0002\u0002\u0002\u0002\u0275\u0003", - "\u0002\u0002\u0002\u0002\u0277\u0003\u0002\u0002\u0002\u0002\u0279\u0003", - "\u0002\u0002\u0002\u0002\u027b\u0003\u0002\u0002\u0002\u0002\u027d\u0003", - "\u0002\u0002\u0002\u0002\u027f\u0003\u0002\u0002\u0002\u0002\u0281\u0003", - "\u0002\u0002\u0002\u0002\u0283\u0003\u0002\u0002\u0002\u0002\u0285\u0003", - "\u0002\u0002\u0002\u0002\u0287\u0003\u0002\u0002\u0002\u0002\u0289\u0003", - "\u0002\u0002\u0002\u0002\u028b\u0003\u0002\u0002\u0002\u0002\u028d\u0003", - "\u0002\u0002\u0002\u0002\u028f\u0003\u0002\u0002\u0002\u0002\u0291\u0003", - "\u0002\u0002\u0002\u0002\u0293\u0003\u0002\u0002\u0002\u0002\u0295\u0003", - "\u0002\u0002\u0002\u0002\u0297\u0003\u0002\u0002\u0002\u0002\u0299\u0003", - "\u0002\u0002\u0002\u0002\u029b\u0003\u0002\u0002\u0002\u0002\u029d\u0003", - "\u0002\u0002\u0002\u0002\u029f\u0003\u0002\u0002\u0002\u0002\u02a1\u0003", - "\u0002\u0002\u0002\u0002\u02a3\u0003\u0002\u0002\u0002\u0002\u02a5\u0003", - "\u0002\u0002\u0002\u0002\u02a7\u0003\u0002\u0002\u0002\u0002\u02a9\u0003", - "\u0002\u0002\u0002\u0002\u02ab\u0003\u0002\u0002\u0002\u0002\u02ad\u0003", - "\u0002\u0002\u0002\u0002\u02af\u0003\u0002\u0002\u0002\u0002\u02b1\u0003", - "\u0002\u0002\u0002\u0002\u02b3\u0003\u0002\u0002\u0002\u0002\u02b5\u0003", - "\u0002\u0002\u0002\u0002\u02b7\u0003\u0002\u0002\u0002\u0002\u02b9\u0003", - "\u0002\u0002\u0002\u0002\u02bb\u0003\u0002\u0002\u0002\u0002\u02bd\u0003", - "\u0002\u0002\u0002\u0002\u02bf\u0003\u0002\u0002\u0002\u0002\u02c1\u0003", - "\u0002\u0002\u0002\u0002\u02c3\u0003\u0002\u0002\u0002\u0002\u02c5\u0003", - "\u0002\u0002\u0002\u0002\u02c7\u0003\u0002\u0002\u0002\u0002\u02c9\u0003", - "\u0002\u0002\u0002\u0002\u02cb\u0003\u0002\u0002\u0002\u0002\u02cd\u0003", - "\u0002\u0002\u0002\u0002\u02cf\u0003\u0002\u0002\u0002\u0002\u02d1\u0003", - "\u0002\u0002\u0002\u0002\u02d3\u0003\u0002\u0002\u0002\u0002\u02d5\u0003", - "\u0002\u0002\u0002\u0002\u02d7\u0003\u0002\u0002\u0002\u0002\u02d9\u0003", - "\u0002\u0002\u0002\u0002\u02db\u0003\u0002\u0002\u0002\u0002\u02dd\u0003", - "\u0002\u0002\u0002\u0002\u02df\u0003\u0002\u0002\u0002\u0002\u02e1\u0003", - "\u0002\u0002\u0002\u0002\u02e3\u0003\u0002\u0002\u0002\u0002\u02e5\u0003", - "\u0002\u0002\u0002\u0002\u02e7\u0003\u0002\u0002\u0002\u0002\u02e9\u0003", - "\u0002\u0002\u0002\u0002\u02eb\u0003\u0002\u0002\u0002\u0002\u02ed\u0003", - "\u0002\u0002\u0002\u0002\u02ef\u0003\u0002\u0002\u0002\u0002\u02f1\u0003", - "\u0002\u0002\u0002\u0002\u02f3\u0003\u0002\u0002\u0002\u0002\u02f5\u0003", - "\u0002\u0002\u0002\u0002\u02f7\u0003\u0002\u0002\u0002\u0002\u02f9\u0003", - "\u0002\u0002\u0002\u0002\u02fb\u0003\u0002\u0002\u0002\u0002\u02fd\u0003", - "\u0002\u0002\u0002\u0002\u02ff\u0003\u0002\u0002\u0002\u0002\u0301\u0003", - "\u0002\u0002\u0002\u0002\u0303\u0003\u0002\u0002\u0002\u0002\u0305\u0003", - "\u0002\u0002\u0002\u0002\u0307\u0003\u0002\u0002\u0002\u0002\u0309\u0003", - "\u0002\u0002\u0002\u0002\u030b\u0003\u0002\u0002\u0002\u0002\u030d\u0003", - "\u0002\u0002\u0002\u0002\u030f\u0003\u0002\u0002\u0002\u0002\u0311\u0003", - "\u0002\u0002\u0002\u0002\u0313\u0003\u0002\u0002\u0002\u0002\u0315\u0003", - "\u0002\u0002\u0002\u0002\u0317\u0003\u0002\u0002\u0002\u0002\u0319\u0003", - "\u0002\u0002\u0002\u0002\u031b\u0003\u0002\u0002\u0002\u0002\u031d\u0003", - "\u0002\u0002\u0002\u0002\u031f\u0003\u0002\u0002\u0002\u0002\u0321\u0003", - "\u0002\u0002\u0002\u0002\u0323\u0003\u0002\u0002\u0002\u0002\u0325\u0003", - "\u0002\u0002\u0002\u0002\u0327\u0003\u0002\u0002\u0002\u0002\u0329\u0003", - "\u0002\u0002\u0002\u0002\u032b\u0003\u0002\u0002\u0002\u0002\u032d\u0003", - "\u0002\u0002\u0002\u0002\u032f\u0003\u0002\u0002\u0002\u0002\u0331\u0003", - "\u0002\u0002\u0002\u0002\u0333\u0003\u0002\u0002\u0002\u0002\u0335\u0003", - "\u0002\u0002\u0002\u0002\u0337\u0003\u0002\u0002\u0002\u0002\u0339\u0003", - "\u0002\u0002\u0002\u0002\u033b\u0003\u0002\u0002\u0002\u0002\u033d\u0003", - "\u0002\u0002\u0002\u0002\u033f\u0003\u0002\u0002\u0002\u0002\u0341\u0003", - "\u0002\u0002\u0002\u0002\u0343\u0003\u0002\u0002\u0002\u0002\u0345\u0003", - "\u0002\u0002\u0002\u0002\u0347\u0003\u0002\u0002\u0002\u0002\u0349\u0003", - "\u0002\u0002\u0002\u0002\u034b\u0003\u0002\u0002\u0002\u0002\u034d\u0003", - "\u0002\u0002\u0002\u0002\u034f\u0003\u0002\u0002\u0002\u0002\u0351\u0003", - "\u0002\u0002\u0002\u0002\u0353\u0003\u0002\u0002\u0002\u0002\u0355\u0003", - "\u0002\u0002\u0002\u0002\u0357\u0003\u0002\u0002\u0002\u0002\u0359\u0003", - "\u0002\u0002\u0002\u0002\u035b\u0003\u0002\u0002\u0002\u0002\u035d\u0003", - "\u0002\u0002\u0002\u0002\u035f\u0003\u0002\u0002\u0002\u0002\u0361\u0003", - "\u0002\u0002\u0002\u0002\u0363\u0003\u0002\u0002\u0002\u0002\u0365\u0003", - "\u0002\u0002\u0002\u0002\u0367\u0003\u0002\u0002\u0002\u0002\u0369\u0003", - "\u0002\u0002\u0002\u0002\u036b\u0003\u0002\u0002\u0002\u0002\u036d\u0003", - "\u0002\u0002\u0002\u0002\u036f\u0003\u0002\u0002\u0002\u0002\u0371\u0003", - "\u0002\u0002\u0002\u0002\u0373\u0003\u0002\u0002\u0002\u0002\u0375\u0003", - "\u0002\u0002\u0002\u0002\u0377\u0003\u0002\u0002\u0002\u0002\u0379\u0003", - "\u0002\u0002\u0002\u0002\u037b\u0003\u0002\u0002\u0002\u0002\u037d\u0003", - "\u0002\u0002\u0002\u0002\u037f\u0003\u0002\u0002\u0002\u0002\u0381\u0003", - "\u0002\u0002\u0002\u0002\u0383\u0003\u0002\u0002\u0002\u0002\u0385\u0003", - "\u0002\u0002\u0002\u0002\u0387\u0003\u0002\u0002\u0002\u0002\u0389\u0003", - "\u0002\u0002\u0002\u0002\u038b\u0003\u0002\u0002\u0002\u0002\u038d\u0003", - "\u0002\u0002\u0002\u0002\u038f\u0003\u0002\u0002\u0002\u0002\u0391\u0003", - "\u0002\u0002\u0002\u0002\u0393\u0003\u0002\u0002\u0002\u0002\u0395\u0003", - "\u0002\u0002\u0002\u0002\u0397\u0003\u0002\u0002\u0002\u0002\u0399\u0003", - "\u0002\u0002\u0002\u0002\u039b\u0003\u0002\u0002\u0002\u0002\u039d\u0003", - "\u0002\u0002\u0002\u0002\u039f\u0003\u0002\u0002\u0002\u0002\u03a1\u0003", - "\u0002\u0002\u0002\u0002\u03a3\u0003\u0002\u0002\u0002\u0002\u03a5\u0003", - "\u0002\u0002\u0002\u0002\u03a7\u0003\u0002\u0002\u0002\u0002\u03a9\u0003", - "\u0002\u0002\u0002\u0002\u03ab\u0003\u0002\u0002\u0002\u0002\u03ad\u0003", - "\u0002\u0002\u0002\u0002\u03af\u0003\u0002\u0002\u0002\u0002\u03b1\u0003", - "\u0002\u0002\u0002\u0002\u03b3\u0003\u0002\u0002\u0002\u0002\u03b5\u0003", - "\u0002\u0002\u0002\u0002\u03b7\u0003\u0002\u0002\u0002\u0002\u03b9\u0003", - "\u0002\u0002\u0002\u0002\u03bb\u0003\u0002\u0002\u0002\u0002\u03bd\u0003", - "\u0002\u0002\u0002\u0002\u03bf\u0003\u0002\u0002\u0002\u0002\u03c1\u0003", - "\u0002\u0002\u0002\u0002\u03c3\u0003\u0002\u0002\u0002\u0002\u03c5\u0003", - "\u0002\u0002\u0002\u0002\u03c7\u0003\u0002\u0002\u0002\u0002\u03c9\u0003", - "\u0002\u0002\u0002\u0002\u03cb\u0003\u0002\u0002\u0002\u0002\u03cd\u0003", - "\u0002\u0002\u0002\u0002\u03cf\u0003\u0002\u0002\u0002\u0002\u03d1\u0003", - "\u0002\u0002\u0002\u0002\u03d3\u0003\u0002\u0002\u0002\u0002\u03d5\u0003", - "\u0002\u0002\u0002\u0002\u03d7\u0003\u0002\u0002\u0002\u0002\u03d9\u0003", - "\u0002\u0002\u0002\u0002\u03db\u0003\u0002\u0002\u0002\u0002\u03dd\u0003", - "\u0002\u0002\u0002\u0002\u03df\u0003\u0002\u0002\u0002\u0002\u03e1\u0003", - "\u0002\u0002\u0002\u0002\u03e3\u0003\u0002\u0002\u0002\u0002\u03e5\u0003", - "\u0002\u0002\u0002\u0002\u03e7\u0003\u0002\u0002\u0002\u0002\u03e9\u0003", - "\u0002\u0002\u0002\u0002\u03eb\u0003\u0002\u0002\u0002\u0002\u03ed\u0003", - "\u0002\u0002\u0002\u0002\u03ef\u0003\u0002\u0002\u0002\u0002\u03f1\u0003", - "\u0002\u0002\u0002\u0002\u03f3\u0003\u0002\u0002\u0002\u0002\u03f5\u0003", - "\u0002\u0002\u0002\u0002\u03f7\u0003\u0002\u0002\u0002\u0002\u03f9\u0003", - "\u0002\u0002\u0002\u0002\u03fb\u0003\u0002\u0002\u0002\u0002\u03fd\u0003", - "\u0002\u0002\u0002\u0002\u03ff\u0003\u0002\u0002\u0002\u0002\u0401\u0003", - "\u0002\u0002\u0002\u0002\u0403\u0003\u0002\u0002\u0002\u0002\u0405\u0003", - "\u0002\u0002\u0002\u0002\u0407\u0003\u0002\u0002\u0002\u0002\u0409\u0003", - "\u0002\u0002\u0002\u0002\u040b\u0003\u0002\u0002\u0002\u0002\u040d\u0003", - "\u0002\u0002\u0002\u0002\u040f\u0003\u0002\u0002\u0002\u0002\u0411\u0003", - "\u0002\u0002\u0002\u0002\u0413\u0003\u0002\u0002\u0002\u0002\u0415\u0003", - "\u0002\u0002\u0002\u0002\u0417\u0003\u0002\u0002\u0002\u0002\u0419\u0003", - "\u0002\u0002\u0002\u0002\u041b\u0003\u0002\u0002\u0002\u0002\u041d\u0003", - "\u0002\u0002\u0002\u0002\u041f\u0003\u0002\u0002\u0002\u0002\u0421\u0003", - "\u0002\u0002\u0002\u0002\u0423\u0003\u0002\u0002\u0002\u0002\u0425\u0003", - "\u0002\u0002\u0002\u0002\u0427\u0003\u0002\u0002\u0002\u0002\u0429\u0003", - "\u0002\u0002\u0002\u0002\u042b\u0003\u0002\u0002\u0002\u0002\u042d\u0003", - "\u0002\u0002\u0002\u0002\u042f\u0003\u0002\u0002\u0002\u0002\u0431\u0003", - "\u0002\u0002\u0002\u0002\u0433\u0003\u0002\u0002\u0002\u0002\u0435\u0003", - "\u0002\u0002\u0002\u0002\u0437\u0003\u0002\u0002\u0002\u0002\u0439\u0003", - "\u0002\u0002\u0002\u0002\u043b\u0003\u0002\u0002\u0002\u0002\u043d\u0003", - "\u0002\u0002\u0002\u0002\u043f\u0003\u0002\u0002\u0002\u0002\u0441\u0003", - "\u0002\u0002\u0002\u0002\u0443\u0003\u0002\u0002\u0002\u0002\u0445\u0003", - "\u0002\u0002\u0002\u0002\u0447\u0003\u0002\u0002\u0002\u0002\u0449\u0003", - "\u0002\u0002\u0002\u0002\u044b\u0003\u0002\u0002\u0002\u0002\u044d\u0003", - "\u0002\u0002\u0002\u0002\u044f\u0003\u0002\u0002\u0002\u0002\u0451\u0003", - "\u0002\u0002\u0002\u0002\u0453\u0003\u0002\u0002\u0002\u0002\u0455\u0003", - "\u0002\u0002\u0002\u0002\u0457\u0003\u0002\u0002\u0002\u0002\u0459\u0003", - "\u0002\u0002\u0002\u0002\u045b\u0003\u0002\u0002\u0002\u0002\u045d\u0003", - "\u0002\u0002\u0002\u0002\u045f\u0003\u0002\u0002\u0002\u0002\u0461\u0003", - "\u0002\u0002\u0002\u0002\u0463\u0003\u0002\u0002\u0002\u0002\u0465\u0003", - "\u0002\u0002\u0002\u0002\u0467\u0003\u0002\u0002\u0002\u0002\u0469\u0003", - "\u0002\u0002\u0002\u0002\u046b\u0003\u0002\u0002\u0002\u0002\u046d\u0003", - "\u0002\u0002\u0002\u0002\u046f\u0003\u0002\u0002\u0002\u0002\u0471\u0003", - "\u0002\u0002\u0002\u0002\u0473\u0003\u0002\u0002\u0002\u0002\u0475\u0003", - "\u0002\u0002\u0002\u0002\u0477\u0003\u0002\u0002\u0002\u0002\u0479\u0003", - "\u0002\u0002\u0002\u0002\u047b\u0003\u0002\u0002\u0002\u0002\u047d\u0003", - "\u0002\u0002\u0002\u0002\u047f\u0003\u0002\u0002\u0002\u0002\u0481\u0003", - "\u0002\u0002\u0002\u0002\u0483\u0003\u0002\u0002\u0002\u0002\u0485\u0003", - "\u0002\u0002\u0002\u0002\u0487\u0003\u0002\u0002\u0002\u0002\u0489\u0003", - "\u0002\u0002\u0002\u0002\u048b\u0003\u0002\u0002\u0002\u0002\u048d\u0003", - "\u0002\u0002\u0002\u0002\u048f\u0003\u0002\u0002\u0002\u0002\u0491\u0003", - "\u0002\u0002\u0002\u0002\u0493\u0003\u0002\u0002\u0002\u0002\u0495\u0003", - "\u0002\u0002\u0002\u0002\u0497\u0003\u0002\u0002\u0002\u0002\u0499\u0003", - "\u0002\u0002\u0002\u0002\u049b\u0003\u0002\u0002\u0002\u0002\u049d\u0003", - "\u0002\u0002\u0002\u0002\u049f\u0003\u0002\u0002\u0002\u0002\u04a1\u0003", - "\u0002\u0002\u0002\u0002\u04a3\u0003\u0002\u0002\u0002\u0002\u04a5\u0003", - "\u0002\u0002\u0002\u0002\u04a7\u0003\u0002\u0002\u0002\u0002\u04a9\u0003", - "\u0002\u0002\u0002\u0002\u04ab\u0003\u0002\u0002\u0002\u0002\u04ad\u0003", - "\u0002\u0002\u0002\u0002\u04af\u0003\u0002\u0002\u0002\u0002\u04b1\u0003", - "\u0002\u0002\u0002\u0002\u04b3\u0003\u0002\u0002\u0002\u0002\u04b5\u0003", - "\u0002\u0002\u0002\u0002\u04b7\u0003\u0002\u0002\u0002\u0002\u04b9\u0003", - "\u0002\u0002\u0002\u0002\u04bb\u0003\u0002\u0002\u0002\u0002\u04bd\u0003", - "\u0002\u0002\u0002\u0002\u04bf\u0003\u0002\u0002\u0002\u0002\u04c1\u0003", - "\u0002\u0002\u0002\u0002\u04c3\u0003\u0002\u0002\u0002\u0002\u04c5\u0003", - "\u0002\u0002\u0002\u0002\u04c7\u0003\u0002\u0002\u0002\u0002\u04c9\u0003", - "\u0002\u0002\u0002\u0002\u04cb\u0003\u0002\u0002\u0002\u0002\u04cd\u0003", - "\u0002\u0002\u0002\u0002\u04cf\u0003\u0002\u0002\u0002\u0002\u04d1\u0003", - "\u0002\u0002\u0002\u0002\u04d3\u0003\u0002\u0002\u0002\u0002\u04d5\u0003", - "\u0002\u0002\u0002\u0002\u04d7\u0003\u0002\u0002\u0002\u0002\u04d9\u0003", - "\u0002\u0002\u0002\u0002\u04db\u0003\u0002\u0002\u0002\u0002\u04dd\u0003", - "\u0002\u0002\u0002\u0002\u04df\u0003\u0002\u0002\u0002\u0002\u04e1\u0003", - "\u0002\u0002\u0002\u0002\u04e3\u0003\u0002\u0002\u0002\u0002\u04e5\u0003", - "\u0002\u0002\u0002\u0002\u04e7\u0003\u0002\u0002\u0002\u0002\u04e9\u0003", - "\u0002\u0002\u0002\u0002\u04eb\u0003\u0002\u0002\u0002\u0002\u04ed\u0003", - "\u0002\u0002\u0002\u0002\u04ef\u0003\u0002\u0002\u0002\u0002\u04f1\u0003", - "\u0002\u0002\u0002\u0002\u04f3\u0003\u0002\u0002\u0002\u0002\u04f5\u0003", - "\u0002\u0002\u0002\u0002\u04f7\u0003\u0002\u0002\u0002\u0002\u04f9\u0003", - "\u0002\u0002\u0002\u0002\u04fb\u0003\u0002\u0002\u0002\u0002\u04fd\u0003", - "\u0002\u0002\u0002\u0002\u04ff\u0003\u0002\u0002\u0002\u0002\u0501\u0003", - "\u0002\u0002\u0002\u0002\u0503\u0003\u0002\u0002\u0002\u0002\u0505\u0003", - "\u0002\u0002\u0002\u0002\u0507\u0003\u0002\u0002\u0002\u0002\u0509\u0003", - "\u0002\u0002\u0002\u0002\u050b\u0003\u0002\u0002\u0002\u0002\u050d\u0003", - "\u0002\u0002\u0002\u0002\u050f\u0003\u0002\u0002\u0002\u0002\u0511\u0003", - "\u0002\u0002\u0002\u0002\u0513\u0003\u0002\u0002\u0002\u0002\u0515\u0003", - "\u0002\u0002\u0002\u0002\u0517\u0003\u0002\u0002\u0002\u0002\u0519\u0003", - "\u0002\u0002\u0002\u0002\u051b\u0003\u0002\u0002\u0002\u0002\u051d\u0003", - "\u0002\u0002\u0002\u0002\u051f\u0003\u0002\u0002\u0002\u0002\u0521\u0003", - "\u0002\u0002\u0002\u0002\u0523\u0003\u0002\u0002\u0002\u0002\u0525\u0003", - "\u0002\u0002\u0002\u0002\u0527\u0003\u0002\u0002\u0002\u0002\u0529\u0003", - "\u0002\u0002\u0002\u0002\u052b\u0003\u0002\u0002\u0002\u0002\u052d\u0003", - "\u0002\u0002\u0002\u0002\u052f\u0003\u0002\u0002\u0002\u0002\u0531\u0003", - "\u0002\u0002\u0002\u0002\u0533\u0003\u0002\u0002\u0002\u0002\u0535\u0003", - "\u0002\u0002\u0002\u0002\u0537\u0003\u0002\u0002\u0002\u0002\u0539\u0003", - "\u0002\u0002\u0002\u0002\u053b\u0003\u0002\u0002\u0002\u0002\u053d\u0003", - "\u0002\u0002\u0002\u0002\u053f\u0003\u0002\u0002\u0002\u0002\u0541\u0003", - "\u0002\u0002\u0002\u0002\u0543\u0003\u0002\u0002\u0002\u0002\u0545\u0003", - "\u0002\u0002\u0002\u0002\u0547\u0003\u0002\u0002\u0002\u0002\u0549\u0003", - "\u0002\u0002\u0002\u0002\u054b\u0003\u0002\u0002\u0002\u0002\u054d\u0003", - "\u0002\u0002\u0002\u0002\u054f\u0003\u0002\u0002\u0002\u0002\u0551\u0003", - "\u0002\u0002\u0002\u0002\u0553\u0003\u0002\u0002\u0002\u0002\u0555\u0003", - "\u0002\u0002\u0002\u0002\u0557\u0003\u0002\u0002\u0002\u0002\u0559\u0003", - "\u0002\u0002\u0002\u0002\u055b\u0003\u0002\u0002\u0002\u0002\u055d\u0003", - "\u0002\u0002\u0002\u0002\u055f\u0003\u0002\u0002\u0002\u0002\u0561\u0003", - "\u0002\u0002\u0002\u0002\u0563\u0003\u0002\u0002\u0002\u0002\u0565\u0003", - "\u0002\u0002\u0002\u0002\u0567\u0003\u0002\u0002\u0002\u0002\u0569\u0003", - "\u0002\u0002\u0002\u0002\u056b\u0003\u0002\u0002\u0002\u0002\u056d\u0003", - "\u0002\u0002\u0002\u0002\u056f\u0003\u0002\u0002\u0002\u0002\u0571\u0003", - "\u0002\u0002\u0002\u0002\u0573\u0003\u0002\u0002\u0002\u0002\u0575\u0003", - "\u0002\u0002\u0002\u0002\u0577\u0003\u0002\u0002\u0002\u0002\u0579\u0003", - "\u0002\u0002\u0002\u0002\u057b\u0003\u0002\u0002\u0002\u0002\u057d\u0003", - "\u0002\u0002\u0002\u0002\u057f\u0003\u0002\u0002\u0002\u0002\u0581\u0003", - "\u0002\u0002\u0002\u0002\u0583\u0003\u0002\u0002\u0002\u0002\u0585\u0003", - "\u0002\u0002\u0002\u0002\u0587\u0003\u0002\u0002\u0002\u0002\u0589\u0003", - "\u0002\u0002\u0002\u0002\u058b\u0003\u0002\u0002\u0002\u0002\u058d\u0003", - "\u0002\u0002\u0002\u0002\u058f\u0003\u0002\u0002\u0002\u0002\u0591\u0003", - "\u0002\u0002\u0002\u0002\u0593\u0003\u0002\u0002\u0002\u0002\u0595\u0003", - "\u0002\u0002\u0002\u0002\u0597\u0003\u0002\u0002\u0002\u0002\u0599\u0003", - "\u0002\u0002\u0002\u0002\u059b\u0003\u0002\u0002\u0002\u0002\u059d\u0003", - "\u0002\u0002\u0002\u0002\u059f\u0003\u0002\u0002\u0002\u0002\u05a1\u0003", - "\u0002\u0002\u0002\u0002\u05a3\u0003\u0002\u0002\u0002\u0002\u05a5\u0003", - "\u0002\u0002\u0002\u0002\u05a7\u0003\u0002\u0002\u0002\u0002\u05a9\u0003", - "\u0002\u0002\u0002\u0002\u05ab\u0003\u0002\u0002\u0002\u0002\u05ad\u0003", - "\u0002\u0002\u0002\u0002\u05af\u0003\u0002\u0002\u0002\u0002\u05b1\u0003", - "\u0002\u0002\u0002\u0002\u05b3\u0003\u0002\u0002\u0002\u0002\u05b5\u0003", - "\u0002\u0002\u0002\u0002\u05b7\u0003\u0002\u0002\u0002\u0002\u05b9\u0003", - "\u0002\u0002\u0002\u0002\u05bb\u0003\u0002\u0002\u0002\u0002\u05bd\u0003", - "\u0002\u0002\u0002\u0002\u05bf\u0003\u0002\u0002\u0002\u0002\u05c1\u0003", - "\u0002\u0002\u0002\u0002\u05c3\u0003\u0002\u0002\u0002\u0002\u05c5\u0003", - "\u0002\u0002\u0002\u0002\u05c7\u0003\u0002\u0002\u0002\u0002\u05c9\u0003", - "\u0002\u0002\u0002\u0002\u05cb\u0003\u0002\u0002\u0002\u0002\u05cd\u0003", - "\u0002\u0002\u0002\u0002\u05cf\u0003\u0002\u0002\u0002\u0002\u05d1\u0003", - "\u0002\u0002\u0002\u0002\u05d3\u0003\u0002\u0002\u0002\u0002\u05d5\u0003", - "\u0002\u0002\u0002\u0002\u05d7\u0003\u0002\u0002\u0002\u0002\u05d9\u0003", - "\u0002\u0002\u0002\u0002\u05db\u0003\u0002\u0002\u0002\u0002\u05dd\u0003", - "\u0002\u0002\u0002\u0002\u05df\u0003\u0002\u0002\u0002\u0002\u05e1\u0003", - "\u0002\u0002\u0002\u0002\u05e3\u0003\u0002\u0002\u0002\u0002\u05e5\u0003", - "\u0002\u0002\u0002\u0002\u05e7\u0003\u0002\u0002\u0002\u0002\u05e9\u0003", - "\u0002\u0002\u0002\u0002\u05eb\u0003\u0002\u0002\u0002\u0002\u05ed\u0003", - "\u0002\u0002\u0002\u0002\u05ef\u0003\u0002\u0002\u0002\u0002\u05f1\u0003", - "\u0002\u0002\u0002\u0002\u05f3\u0003\u0002\u0002\u0002\u0002\u05f5\u0003", - "\u0002\u0002\u0002\u0002\u05f7\u0003\u0002\u0002\u0002\u0002\u05f9\u0003", - "\u0002\u0002\u0002\u0002\u05fb\u0003\u0002\u0002\u0002\u0002\u05fd\u0003", - "\u0002\u0002\u0002\u0002\u05ff\u0003\u0002\u0002\u0002\u0002\u0601\u0003", - "\u0002\u0002\u0002\u0002\u0603\u0003\u0002\u0002\u0002\u0002\u0605\u0003", - "\u0002\u0002\u0002\u0002\u0607\u0003\u0002\u0002\u0002\u0002\u0609\u0003", - "\u0002\u0002\u0002\u0002\u060b\u0003\u0002\u0002\u0002\u0002\u060d\u0003", - "\u0002\u0002\u0002\u0002\u060f\u0003\u0002\u0002\u0002\u0002\u0611\u0003", - "\u0002\u0002\u0002\u0002\u0613\u0003\u0002\u0002\u0002\u0002\u0615\u0003", - "\u0002\u0002\u0002\u0002\u0617\u0003\u0002\u0002\u0002\u0002\u0619\u0003", - "\u0002\u0002\u0002\u0002\u061b\u0003\u0002\u0002\u0002\u0002\u061d\u0003", - "\u0002\u0002\u0002\u0002\u061f\u0003\u0002\u0002\u0002\u0002\u0621\u0003", - "\u0002\u0002\u0002\u0002\u0623\u0003\u0002\u0002\u0002\u0002\u0625\u0003", - "\u0002\u0002\u0002\u0002\u0627\u0003\u0002\u0002\u0002\u0002\u0629\u0003", - "\u0002\u0002\u0002\u0002\u062b\u0003\u0002\u0002\u0002\u0002\u062d\u0003", - "\u0002\u0002\u0002\u0002\u062f\u0003\u0002\u0002\u0002\u0002\u0631\u0003", - "\u0002\u0002\u0002\u0002\u0633\u0003\u0002\u0002\u0002\u0002\u0635\u0003", - "\u0002\u0002\u0002\u0002\u0637\u0003\u0002\u0002\u0002\u0002\u0639\u0003", - "\u0002\u0002\u0002\u0002\u063b\u0003\u0002\u0002\u0002\u0002\u063d\u0003", - "\u0002\u0002\u0002\u0002\u063f\u0003\u0002\u0002\u0002\u0002\u0641\u0003", - "\u0002\u0002\u0002\u0002\u0643\u0003\u0002\u0002\u0002\u0002\u0645\u0003", - "\u0002\u0002\u0002\u0002\u0647\u0003\u0002\u0002\u0002\u0002\u0649\u0003", - "\u0002\u0002\u0002\u0002\u064b\u0003\u0002\u0002\u0002\u0002\u064d\u0003", - "\u0002\u0002\u0002\u0002\u064f\u0003\u0002\u0002\u0002\u0002\u0651\u0003", - "\u0002\u0002\u0002\u0002\u0653\u0003\u0002\u0002\u0002\u0002\u0655\u0003", - "\u0002\u0002\u0002\u0002\u0657\u0003\u0002\u0002\u0002\u0002\u0659\u0003", - "\u0002\u0002\u0002\u0002\u065b\u0003\u0002\u0002\u0002\u0002\u065d\u0003", - "\u0002\u0002\u0002\u0002\u065f\u0003\u0002\u0002\u0002\u0002\u0661\u0003", - "\u0002\u0002\u0002\u0002\u0663\u0003\u0002\u0002\u0002\u0002\u0665\u0003", - "\u0002\u0002\u0002\u0002\u0667\u0003\u0002\u0002\u0002\u0002\u0669\u0003", - "\u0002\u0002\u0002\u0002\u066b\u0003\u0002\u0002\u0002\u0002\u066d\u0003", - "\u0002\u0002\u0002\u0002\u066f\u0003\u0002\u0002\u0002\u0002\u0671\u0003", - "\u0002\u0002\u0002\u0002\u0673\u0003\u0002\u0002\u0002\u0002\u0675\u0003", - "\u0002\u0002\u0002\u0002\u0677\u0003\u0002\u0002\u0002\u0002\u0679\u0003", - "\u0002\u0002\u0002\u0002\u067b\u0003\u0002\u0002\u0002\u0002\u067d\u0003", - "\u0002\u0002\u0002\u0002\u067f\u0003\u0002\u0002\u0002\u0002\u0681\u0003", - "\u0002\u0002\u0002\u0002\u0683\u0003\u0002\u0002\u0002\u0002\u0685\u0003", - "\u0002\u0002\u0002\u0002\u0687\u0003\u0002\u0002\u0002\u0002\u0689\u0003", - "\u0002\u0002\u0002\u0002\u068b\u0003\u0002\u0002\u0002\u0002\u068d\u0003", - "\u0002\u0002\u0002\u0002\u068f\u0003\u0002\u0002\u0002\u0002\u0695\u0003", - "\u0002\u0002\u0002\u0003\u069f\u0003\u0002\u0002\u0002\u0005\u06a6\u0003", - "\u0002\u0002\u0002\u0007\u06aa\u0003\u0002\u0002\u0002\t\u06ae\u0003", - "\u0002\u0002\u0002\u000b\u06b2\u0003\u0002\u0002\u0002\r\u06c4\u0003", - "\u0002\u0002\u0002\u000f\u06de\u0003\u0002\u0002\u0002\u0011\u06f6\u0003", - "\u0002\u0002\u0002\u0013\u06fc\u0003\u0002\u0002\u0002\u0015\u0700\u0003", - "\u0002\u0002\u0002\u0017\u070a\u0003\u0002\u0002\u0002\u0019\u070e\u0003", - "\u0002\u0002\u0002\u001b\u0715\u0003\u0002\u0002\u0002\u001d\u0721\u0003", - "\u0002\u0002\u0002\u001f\u0724\u0003\u0002\u0002\u0002!\u0728\u0003", - "\u0002\u0002\u0002#\u0733\u0003\u0002\u0002\u0002%\u0747\u0003\u0002", - "\u0002\u0002\'\u0755\u0003\u0002\u0002\u0002)\u0764\u0003\u0002\u0002", - "\u0002+\u0780\u0003\u0002\u0002\u0002-\u078a\u0003\u0002\u0002\u0002", - "/\u079c\u0003\u0002\u0002\u00021\u079e\u0003\u0002\u0002\u00023\u07a5", - "\u0003\u0002\u0002\u00025\u07ac\u0003\u0002\u0002\u00027\u07b2\u0003", - "\u0002\u0002\u00029\u07ba\u0003\u0002\u0002\u0002;\u07c0\u0003\u0002", - "\u0002\u0002=\u07ca\u0003\u0002\u0002\u0002?\u07dd\u0003\u0002\u0002", - "\u0002A\u07e3\u0003\u0002\u0002\u0002C\u07ea\u0003\u0002\u0002\u0002", - "E\u07f1\u0003\u0002\u0002\u0002G\u07fd\u0003\u0002\u0002\u0002I\u0802", - "\u0003\u0002\u0002\u0002K\u0805\u0003\u0002\u0002\u0002M\u080b\u0003", - "\u0002\u0002\u0002O\u0812\u0003\u0002\u0002\u0002Q\u081a\u0003\u0002", - "\u0002\u0002S\u081f\u0003\u0002\u0002\u0002U\u082b\u0003\u0002\u0002", - "\u0002W\u0837\u0003\u0002\u0002\u0002Y\u083f\u0003\u0002\u0002\u0002", - "[\u0845\u0003\u0002\u0002\u0002]\u0850\u0003\u0002\u0002\u0002_\u085d", - "\u0003\u0002\u0002\u0002a\u086e\u0003\u0002\u0002\u0002c\u0882\u0003", - "\u0002\u0002\u0002e\u0888\u0003\u0002\u0002\u0002g\u0890\u0003\u0002", - "\u0002\u0002i\u089a\u0003\u0002\u0002\u0002k\u08a3\u0003\u0002\u0002", - "\u0002m\u08ab\u0003\u0002\u0002\u0002o\u08b2\u0003\u0002\u0002\u0002", - "q\u08be\u0003\u0002\u0002\u0002s\u08c5\u0003\u0002\u0002\u0002u\u08cd", - "\u0003\u0002\u0002\u0002w\u08db\u0003\u0002\u0002\u0002y\u08e6\u0003", - "\u0002\u0002\u0002{\u08f2\u0003\u0002\u0002\u0002}\u08fb\u0003\u0002", - "\u0002\u0002\u007f\u0909\u0003\u0002\u0002\u0002\u0081\u0911\u0003\u0002", - "\u0002\u0002\u0083\u091a\u0003\u0002\u0002\u0002\u0085\u092f\u0003\u0002", - "\u0002\u0002\u0087\u0938\u0003\u0002\u0002\u0002\u0089\u0946\u0003\u0002", - "\u0002\u0002\u008b\u0957\u0003\u0002\u0002\u0002\u008d\u0961\u0003\u0002", - "\u0002\u0002\u008f\u096b\u0003\u0002\u0002\u0002\u0091\u0972\u0003\u0002", - "\u0002\u0002\u0093\u0978\u0003\u0002\u0002\u0002\u0095\u0980\u0003\u0002", - "\u0002\u0002\u0097\u098d\u0003\u0002\u0002\u0002\u0099\u099a\u0003\u0002", - "\u0002\u0002\u009b\u09ac\u0003\u0002\u0002\u0002\u009d\u09b9\u0003\u0002", - "\u0002\u0002\u009f\u09c0\u0003\u0002\u0002\u0002\u00a1\u09c6\u0003\u0002", - "\u0002\u0002\u00a3\u09d7\u0003\u0002\u0002\u0002\u00a5\u09e3\u0003\u0002", - "\u0002\u0002\u00a7\u09ec\u0003\u0002\u0002\u0002\u00a9\u09ff\u0003\u0002", - "\u0002\u0002\u00ab\u0a04\u0003\u0002\u0002\u0002\u00ad\u0a0f\u0003\u0002", - "\u0002\u0002\u00af\u0a17\u0003\u0002\u0002\u0002\u00b1\u0a1f\u0003\u0002", - "\u0002\u0002\u00b3\u0a30\u0003\u0002\u0002\u0002\u00b5\u0a3f\u0003\u0002", - "\u0002\u0002\u00b7\u0a46\u0003\u0002\u0002\u0002\u00b9\u0a4b\u0003\u0002", - "\u0002\u0002\u00bb\u0a50\u0003\u0002\u0002\u0002\u00bd\u0a5c\u0003\u0002", - "\u0002\u0002\u00bf\u0a69\u0003\u0002\u0002\u0002\u00c1\u0a6e\u0003\u0002", - "\u0002\u0002\u00c3\u0a77\u0003\u0002\u0002\u0002\u00c5\u0a83\u0003\u0002", - "\u0002\u0002\u00c7\u0a8a\u0003\u0002\u0002\u0002\u00c9\u0a8d\u0003\u0002", - "\u0002\u0002\u00cb\u0a90\u0003\u0002\u0002\u0002\u00cd\u0a95\u0003\u0002", - "\u0002\u0002\u00cf\u0aa1\u0003\u0002\u0002\u0002\u00d1\u0aa6\u0003\u0002", - "\u0002\u0002\u00d3\u0aab\u0003\u0002\u0002\u0002\u00d5\u0ab3\u0003\u0002", - "\u0002\u0002\u00d7\u0ab7\u0003\u0002\u0002\u0002\u00d9\u0ac0\u0003\u0002", - "\u0002\u0002\u00db\u0ac7\u0003\u0002\u0002\u0002\u00dd\u0ace\u0003\u0002", - "\u0002\u0002\u00df\u0ad4\u0003\u0002\u0002\u0002\u00e1\u0ada\u0003\u0002", - "\u0002\u0002\u00e3\u0ae7\u0003\u0002\u0002\u0002\u00e5\u0afc\u0003\u0002", - "\u0002\u0002\u00e7\u0b03\u0003\u0002\u0002\u0002\u00e9\u0b13\u0003\u0002", - "\u0002\u0002\u00eb\u0b1d\u0003\u0002\u0002\u0002\u00ed\u0b24\u0003\u0002", - "\u0002\u0002\u00ef\u0b2f\u0003\u0002\u0002\u0002\u00f1\u0b34\u0003\u0002", - "\u0002\u0002\u00f3\u0b3e\u0003\u0002\u0002\u0002\u00f5\u0b47\u0003\u0002", - "\u0002\u0002\u00f7\u0b57\u0003\u0002\u0002\u0002\u00f9\u0b60\u0003\u0002", - "\u0002\u0002\u00fb\u0b76\u0003\u0002\u0002\u0002\u00fd\u0b7d\u0003\u0002", - "\u0002\u0002\u00ff\u0b83\u0003\u0002\u0002\u0002\u0101\u0b88\u0003\u0002", - "\u0002\u0002\u0103\u0b91\u0003\u0002\u0002\u0002\u0105\u0b9c\u0003\u0002", - "\u0002\u0002\u0107\u0baa\u0003\u0002\u0002\u0002\u0109\u0bae\u0003\u0002", - "\u0002\u0002\u010b\u0bb8\u0003\u0002\u0002\u0002\u010d\u0bd6\u0003\u0002", - "\u0002\u0002\u010f\u0bde\u0003\u0002\u0002\u0002\u0111\u0be7\u0003\u0002", - "\u0002\u0002\u0113\u0bf5\u0003\u0002\u0002\u0002\u0115\u0bfa\u0003\u0002", - "\u0002\u0002\u0117\u0bff\u0003\u0002\u0002\u0002\u0119\u0c08\u0003\u0002", - "\u0002\u0002\u011b\u0c0c\u0003\u0002\u0002\u0002\u011d\u0c11\u0003\u0002", - "\u0002\u0002\u011f\u0c1a\u0003\u0002\u0002\u0002\u0121\u0c20\u0003\u0002", - "\u0002\u0002\u0123\u0c26\u0003\u0002\u0002\u0002\u0125\u0c2d\u0003\u0002", - "\u0002\u0002\u0127\u0c34\u0003\u0002\u0002\u0002\u0129\u0c47\u0003\u0002", - "\u0002\u0002\u012b\u0c50\u0003\u0002\u0002\u0002\u012d\u0c5c\u0003\u0002", - "\u0002\u0002\u012f\u0c6c\u0003\u0002\u0002\u0002\u0131\u0c6f\u0003\u0002", - "\u0002\u0002\u0133\u0c73\u0003\u0002\u0002\u0002\u0135\u0c76\u0003\u0002", - "\u0002\u0002\u0137\u0c7e\u0003\u0002\u0002\u0002\u0139\u0c88\u0003\u0002", - "\u0002\u0002\u013b\u0c8e\u0003\u0002\u0002\u0002\u013d\u0c97\u0003\u0002", - "\u0002\u0002\u013f\u0c9c\u0003\u0002\u0002\u0002\u0141\u0ca2\u0003\u0002", - "\u0002\u0002\u0143\u0ca9\u0003\u0002\u0002\u0002\u0145\u0cb1\u0003\u0002", - "\u0002\u0002\u0147\u0cbb\u0003\u0002\u0002\u0002\u0149\u0cc1\u0003\u0002", - "\u0002\u0002\u014b\u0cce\u0003\u0002\u0002\u0002\u014d\u0d3a\u0003\u0002", - "\u0002\u0002\u014f\u0d3d\u0003\u0002\u0002\u0002\u0151\u0d44\u0003\u0002", - "\u0002\u0002\u0153\u0d49\u0003\u0002\u0002\u0002\u0155\u0d52\u0003\u0002", - "\u0002\u0002\u0157\u0d56\u0003\u0002\u0002\u0002\u0159\u0d5f\u0003\u0002", - "\u0002\u0002\u015b\u0d77\u0003\u0002\u0002\u0002\u015d\u0d7c\u0003\u0002", - "\u0002\u0002\u015f\u0d85\u0003\u0002\u0002\u0002\u0161\u0d8a\u0003\u0002", - "\u0002\u0002\u0163\u0d92\u0003\u0002\u0002\u0002\u0165\u0d9b\u0003\u0002", - "\u0002\u0002\u0167\u0da0\u0003\u0002\u0002\u0002\u0169\u0da7\u0003\u0002", - "\u0002\u0002\u016b\u0dad\u0003\u0002\u0002\u0002\u016d\u0db9\u0003\u0002", - "\u0002\u0002\u016f\u0dc7\u0003\u0002\u0002\u0002\u0171\u0dcc\u0003\u0002", - "\u0002\u0002\u0173\u0ddf\u0003\u0002\u0002\u0002\u0175\u0de3\u0003\u0002", - "\u0002\u0002\u0177\u0deb\u0003\u0002\u0002\u0002\u0179\u0df2\u0003\u0002", - "\u0002\u0002\u017b\u0dfd\u0003\u0002\u0002\u0002\u017d\u0e09\u0003\u0002", - "\u0002\u0002\u017f\u0e12\u0003\u0002\u0002\u0002\u0181\u0e27\u0003\u0002", - "\u0002\u0002\u0183\u0e36\u0003\u0002\u0002\u0002\u0185\u0e3f\u0003\u0002", - "\u0002\u0002\u0187\u0e5d\u0003\u0002\u0002\u0002\u0189\u0e6e\u0003\u0002", - "\u0002\u0002\u018b\u0e78\u0003\u0002\u0002\u0002\u018d\u0e7f\u0003\u0002", - "\u0002\u0002\u018f\u0e95\u0003\u0002\u0002\u0002\u0191\u0e9b\u0003\u0002", - "\u0002\u0002\u0193\u0eae\u0003\u0002\u0002\u0002\u0195\u0ec3\u0003\u0002", - "\u0002\u0002\u0197\u0ecc\u0003\u0002\u0002\u0002\u0199\u0ed3\u0003\u0002", - "\u0002\u0002\u019b\u0edf\u0003\u0002\u0002\u0002\u019d\u0ee8\u0003\u0002", - "\u0002\u0002\u019f\u0ef2\u0003\u0002\u0002\u0002\u01a1\u0efa\u0003\u0002", - "\u0002\u0002\u01a3\u0f03\u0003\u0002\u0002\u0002\u01a5\u0f0a\u0003\u0002", - "\u0002\u0002\u01a7\u0f17\u0003\u0002\u0002\u0002\u01a9\u0f1c\u0003\u0002", - "\u0002\u0002\u01ab\u0f25\u0003\u0002\u0002\u0002\u01ad\u0f2c\u0003\u0002", - "\u0002\u0002\u01af\u0f35\u0003\u0002\u0002\u0002\u01b1\u0f41\u0003\u0002", - "\u0002\u0002\u01b3\u0f50\u0003\u0002\u0002\u0002\u01b5\u0f5e\u0003\u0002", - "\u0002\u0002\u01b7\u0f62\u0003\u0002\u0002\u0002\u01b9\u0f6f\u0003\u0002", - "\u0002\u0002\u01bb\u0f74\u0003\u0002\u0002\u0002\u01bd\u0f79\u0003\u0002", - "\u0002\u0002\u01bf\u0f80\u0003\u0002\u0002\u0002\u01c1\u0f83\u0003\u0002", - "\u0002\u0002\u01c3\u0f87\u0003\u0002\u0002\u0002\u01c5\u0f8f\u0003\u0002", - "\u0002\u0002\u01c7\u0f9c\u0003\u0002\u0002\u0002\u01c9\u0f9f\u0003\u0002", - "\u0002\u0002\u01cb\u0faa\u0003\u0002\u0002\u0002\u01cd\u0faf\u0003\u0002", - "\u0002\u0002\u01cf\u0fbe\u0003\u0002\u0002\u0002\u01d1\u0fc8\u0003\u0002", - "\u0002\u0002\u01d3\u0fd3\u0003\u0002\u0002\u0002\u01d5\u0fdb\u0003\u0002", - "\u0002\u0002\u01d7\u0fe2\u0003\u0002\u0002\u0002\u01d9\u0fe5\u0003\u0002", - "\u0002\u0002\u01db\u0feb\u0003\u0002\u0002\u0002\u01dd\u0ff1\u0003\u0002", - "\u0002\u0002\u01df\u0ff6\u0003\u0002\u0002\u0002\u01e1\u0ffb\u0003\u0002", - "\u0002\u0002\u01e3\u1006\u0003\u0002\u0002\u0002\u01e5\u100e\u0003\u0002", - "\u0002\u0002\u01e7\u1017\u0003\u0002\u0002\u0002\u01e9\u101f\u0003\u0002", - "\u0002\u0002\u01eb\u102e\u0003\u0002\u0002\u0002\u01ed\u1036\u0003\u0002", - "\u0002\u0002\u01ef\u103d\u0003\u0002\u0002\u0002\u01f1\u1046\u0003\u0002", - "\u0002\u0002\u01f3\u104c\u0003\u0002\u0002\u0002\u01f5\u1051\u0003\u0002", - "\u0002\u0002\u01f7\u105a\u0003\u0002\u0002\u0002\u01f9\u1061\u0003\u0002", - "\u0002\u0002\u01fb\u106b\u0003\u0002\u0002\u0002\u01fd\u1075\u0003\u0002", - "\u0002\u0002\u01ff\u107d\u0003\u0002\u0002\u0002\u0201\u1083\u0003\u0002", - "\u0002\u0002\u0203\u1088\u0003\u0002\u0002\u0002\u0205\u1092\u0003\u0002", - "\u0002\u0002\u0207\u109a\u0003\u0002\u0002\u0002\u0209\u10a1\u0003\u0002", - "\u0002\u0002\u020b\u10a8\u0003\u0002\u0002\u0002\u020d\u10aa\u0003\u0002", - "\u0002\u0002\u020f\u10b4\u0003\u0002\u0002\u0002\u0211\u10b8\u0003\u0002", - "\u0002\u0002\u0213\u10bd\u0003\u0002\u0002\u0002\u0215\u10c6\u0003\u0002", - "\u0002\u0002\u0217\u10dc\u0003\u0002\u0002\u0002\u0219\u10e8\u0003\u0002", - "\u0002\u0002\u021b\u10f3\u0003\u0002\u0002\u0002\u021d\u10fe\u0003\u0002", - "\u0002\u0002\u021f\u1113\u0003\u0002\u0002\u0002\u0221\u112e\u0003\u0002", - "\u0002\u0002\u0223\u113a\u0003\u0002\u0002\u0002\u0225\u1143\u0003\u0002", - "\u0002\u0002\u0227\u1149\u0003\u0002\u0002\u0002\u0229\u1151\u0003\u0002", - "\u0002\u0002\u022b\u1159\u0003\u0002\u0002\u0002\u022d\u1162\u0003\u0002", - "\u0002\u0002\u022f\u1169\u0003\u0002\u0002\u0002\u0231\u1174\u0003\u0002", - "\u0002\u0002\u0233\u117b\u0003\u0002\u0002\u0002\u0235\u1183\u0003\u0002", - "\u0002\u0002\u0237\u118a\u0003\u0002\u0002\u0002\u0239\u1191\u0003\u0002", - "\u0002\u0002\u023b\u1198\u0003\u0002\u0002\u0002\u023d\u119e\u0003\u0002", - "\u0002\u0002\u023f\u11a7\u0003\u0002\u0002\u0002\u0241\u11ac\u0003\u0002", - "\u0002\u0002\u0243\u11b5\u0003\u0002\u0002\u0002\u0245\u11c0\u0003\u0002", - "\u0002\u0002\u0247\u11c8\u0003\u0002\u0002\u0002\u0249\u11d1\u0003\u0002", - "\u0002\u0002\u024b\u11da\u0003\u0002\u0002\u0002\u024d\u11e3\u0003\u0002", - "\u0002\u0002\u024f\u11ec\u0003\u0002\u0002\u0002\u0251\u11f3\u0003\u0002", - "\u0002\u0002\u0253\u11f8\u0003\u0002\u0002\u0002\u0255\u11fd\u0003\u0002", - "\u0002\u0002\u0257\u1202\u0003\u0002\u0002\u0002\u0259\u120c\u0003\u0002", - "\u0002\u0002\u025b\u1213\u0003\u0002\u0002\u0002\u025d\u121a\u0003\u0002", - "\u0002\u0002\u025f\u1228\u0003\u0002\u0002\u0002\u0261\u122f\u0003\u0002", - "\u0002\u0002\u0263\u1246\u0003\u0002\u0002\u0002\u0265\u1265\u0003\u0002", - "\u0002\u0002\u0267\u127d\u0003\u0002\u0002\u0002\u0269\u1284\u0003\u0002", - "\u0002\u0002\u026b\u128c\u0003\u0002\u0002\u0002\u026d\u129b\u0003\u0002", - "\u0002\u0002\u026f\u12a8\u0003\u0002\u0002\u0002\u0271\u12b0\u0003\u0002", - "\u0002\u0002\u0273\u12bd\u0003\u0002\u0002\u0002\u0275\u12c1\u0003\u0002", - "\u0002\u0002\u0277\u12c9\u0003\u0002\u0002\u0002\u0279\u12d2\u0003\u0002", - "\u0002\u0002\u027b\u12d6\u0003\u0002\u0002\u0002\u027d\u12db\u0003\u0002", - "\u0002\u0002\u027f\u12e4\u0003\u0002\u0002\u0002\u0281\u12e9\u0003\u0002", - "\u0002\u0002\u0283\u12f0\u0003\u0002\u0002\u0002\u0285\u12fe\u0003\u0002", - "\u0002\u0002\u0287\u1304\u0003\u0002\u0002\u0002\u0289\u1313\u0003\u0002", - "\u0002\u0002\u028b\u1321\u0003\u0002\u0002\u0002\u028d\u1333\u0003\u0002", - "\u0002\u0002\u028f\u133e\u0003\u0002\u0002\u0002\u0291\u1344\u0003\u0002", - "\u0002\u0002\u0293\u134a\u0003\u0002\u0002\u0002\u0295\u1350\u0003\u0002", - "\u0002\u0002\u0297\u1358\u0003\u0002\u0002\u0002\u0299\u1366\u0003\u0002", - "\u0002\u0002\u029b\u136b\u0003\u0002\u0002\u0002\u029d\u1373\u0003\u0002", - "\u0002\u0002\u029f\u1381\u0003\u0002\u0002\u0002\u02a1\u138b\u0003\u0002", - "\u0002\u0002\u02a3\u1397\u0003\u0002\u0002\u0002\u02a5\u139d\u0003\u0002", - "\u0002\u0002\u02a7\u13a9\u0003\u0002\u0002\u0002\u02a9\u13ae\u0003\u0002", - "\u0002\u0002\u02ab\u13b5\u0003\u0002\u0002\u0002\u02ad\u13b9\u0003\u0002", - "\u0002\u0002\u02af\u13c2\u0003\u0002\u0002\u0002\u02b1\u13c7\u0003\u0002", - "\u0002\u0002\u02b3\u13ca\u0003\u0002\u0002\u0002\u02b5\u13ce\u0003\u0002", - "\u0002\u0002\u02b7\u13de\u0003\u0002\u0002\u0002\u02b9\u13e3\u0003\u0002", - "\u0002\u0002\u02bb\u13ef\u0003\u0002\u0002\u0002\u02bd\u13f8\u0003\u0002", - "\u0002\u0002\u02bf\u1400\u0003\u0002\u0002\u0002\u02c1\u1409\u0003\u0002", - "\u0002\u0002\u02c3\u1411\u0003\u0002\u0002\u0002\u02c5\u141b\u0003\u0002", - "\u0002\u0002\u02c7\u1421\u0003\u0002\u0002\u0002\u02c9\u1428\u0003\u0002", - "\u0002\u0002\u02cb\u142f\u0003\u0002\u0002\u0002\u02cd\u1437\u0003\u0002", - "\u0002\u0002\u02cf\u143e\u0003\u0002\u0002\u0002\u02d1\u1445\u0003\u0002", - "\u0002\u0002\u02d3\u1450\u0003\u0002\u0002\u0002\u02d5\u1454\u0003\u0002", - "\u0002\u0002\u02d7\u1458\u0003\u0002\u0002\u0002\u02d9\u145d\u0003\u0002", - "\u0002\u0002\u02db\u1462\u0003\u0002\u0002\u0002\u02dd\u1469\u0003\u0002", - "\u0002\u0002\u02df\u1471\u0003\u0002\u0002\u0002\u02e1\u1480\u0003\u0002", - "\u0002\u0002\u02e3\u1485\u0003\u0002\u0002\u0002\u02e5\u1490\u0003\u0002", - "\u0002\u0002\u02e7\u1498\u0003\u0002\u0002\u0002\u02e9\u149d\u0003\u0002", - "\u0002\u0002\u02eb\u14a3\u0003\u0002\u0002\u0002\u02ed\u14a9\u0003\u0002", - "\u0002\u0002\u02ef\u14b1\u0003\u0002\u0002\u0002\u02f1\u14b6\u0003\u0002", - "\u0002\u0002\u02f3\u14bd\u0003\u0002\u0002\u0002\u02f5\u14c5\u0003\u0002", - "\u0002\u0002\u02f7\u14cd\u0003\u0002\u0002\u0002\u02f9\u14d7\u0003\u0002", - "\u0002\u0002\u02fb\u14e0\u0003\u0002\u0002\u0002\u02fd\u14f3\u0003\u0002", - "\u0002\u0002\u02ff\u14fa\u0003\u0002\u0002\u0002\u0301\u1505\u0003\u0002", - "\u0002\u0002\u0303\u150c\u0003\u0002\u0002\u0002\u0305\u1514\u0003\u0002", - "\u0002\u0002\u0307\u151c\u0003\u0002\u0002\u0002\u0309\u1524\u0003\u0002", - "\u0002\u0002\u030b\u152c\u0003\u0002\u0002\u0002\u030d\u1535\u0003\u0002", - "\u0002\u0002\u030f\u153b\u0003\u0002\u0002\u0002\u0311\u1545\u0003\u0002", - "\u0002\u0002\u0313\u154f\u0003\u0002\u0002\u0002\u0315\u1573\u0003\u0002", - "\u0002\u0002\u0317\u158c\u0003\u0002\u0002\u0002\u0319\u1594\u0003\u0002", - "\u0002\u0002\u031b\u15a6\u0003\u0002\u0002\u0002\u031d\u15b1\u0003\u0002", - "\u0002\u0002\u031f\u15be\u0003\u0002\u0002\u0002\u0321\u15cc\u0003\u0002", - "\u0002\u0002\u0323\u15dc\u0003\u0002\u0002\u0002\u0325\u15e2\u0003\u0002", - "\u0002\u0002\u0327\u15ed\u0003\u0002\u0002\u0002\u0329\u15f6\u0003\u0002", - "\u0002\u0002\u032b\u15fc\u0003\u0002\u0002\u0002\u032d\u1607\u0003\u0002", - "\u0002\u0002\u032f\u160c\u0003\u0002\u0002\u0002\u0331\u1619\u0003\u0002", - "\u0002\u0002\u0333\u1624\u0003\u0002\u0002\u0002\u0335\u163b\u0003\u0002", - "\u0002\u0002\u0337\u1647\u0003\u0002\u0002\u0002\u0339\u165e\u0003\u0002", - "\u0002\u0002\u033b\u167b\u0003\u0002\u0002\u0002\u033d\u1688\u0003\u0002", - "\u0002\u0002\u033f\u168c\u0003\u0002\u0002\u0002\u0341\u169c\u0003\u0002", - "\u0002\u0002\u0343\u16a9\u0003\u0002\u0002\u0002\u0345\u16b0\u0003\u0002", - "\u0002\u0002\u0347\u16be\u0003\u0002\u0002\u0002\u0349\u16ce\u0003\u0002", - "\u0002\u0002\u034b\u16d6\u0003\u0002\u0002\u0002\u034d\u16e3\u0003\u0002", - "\u0002\u0002\u034f\u16ea\u0003\u0002\u0002\u0002\u0351\u16fa\u0003\u0002", - "\u0002\u0002\u0353\u1706\u0003\u0002\u0002\u0002\u0355\u170d\u0003\u0002", - "\u0002\u0002\u0357\u1721\u0003\u0002\u0002\u0002\u0359\u1728\u0003\u0002", - "\u0002\u0002\u035b\u1730\u0003\u0002\u0002\u0002\u035d\u1736\u0003\u0002", - "\u0002\u0002\u035f\u1747\u0003\u0002\u0002\u0002\u0361\u1757\u0003\u0002", - "\u0002\u0002\u0363\u1760\u0003\u0002\u0002\u0002\u0365\u176d\u0003\u0002", - "\u0002\u0002\u0367\u1775\u0003\u0002\u0002\u0002\u0369\u1780\u0003\u0002", - "\u0002\u0002\u036b\u1792\u0003\u0002\u0002\u0002\u036d\u179c\u0003\u0002", - "\u0002\u0002\u036f\u17b0\u0003\u0002\u0002\u0002\u0371\u17b7\u0003\u0002", - "\u0002\u0002\u0373\u17cf\u0003\u0002\u0002\u0002\u0375\u17d7\u0003\u0002", - "\u0002\u0002\u0377\u17df\u0003\u0002\u0002\u0002\u0379\u17e6\u0003\u0002", - "\u0002\u0002\u037b\u17ec\u0003\u0002\u0002\u0002\u037d\u17f6\u0003\u0002", - "\u0002\u0002\u037f\u17fe\u0003\u0002\u0002\u0002\u0381\u1802\u0003\u0002", - "\u0002\u0002\u0383\u180d\u0003\u0002\u0002\u0002\u0385\u1822\u0003\u0002", - "\u0002\u0002\u0387\u182d\u0003\u0002\u0002\u0002\u0389\u183b\u0003\u0002", - "\u0002\u0002\u038b\u1852\u0003\u0002\u0002\u0002\u038d\u1861\u0003\u0002", - "\u0002\u0002\u038f\u1866\u0003\u0002\u0002\u0002\u0391\u1884\u0003\u0002", - "\u0002\u0002\u0393\u188c\u0003\u0002\u0002\u0002\u0395\u1895\u0003\u0002", - "\u0002\u0002\u0397\u189e\u0003\u0002\u0002\u0002\u0399\u18a7\u0003\u0002", - "\u0002\u0002\u039b\u18ac\u0003\u0002\u0002\u0002\u039d\u18b8\u0003\u0002", - "\u0002\u0002\u039f\u18c4\u0003\u0002\u0002\u0002\u03a1\u18cf\u0003\u0002", - "\u0002\u0002\u03a3\u18da\u0003\u0002\u0002\u0002\u03a5\u18f4\u0003\u0002", - "\u0002\u0002\u03a7\u1905\u0003\u0002\u0002\u0002\u03a9\u190b\u0003\u0002", - "\u0002\u0002\u03ab\u191e\u0003\u0002\u0002\u0002\u03ad\u1926\u0003\u0002", - "\u0002\u0002\u03af\u1931\u0003\u0002\u0002\u0002\u03b1\u193c\u0003\u0002", - "\u0002\u0002\u03b3\u1940\u0003\u0002\u0002\u0002\u03b5\u194c\u0003\u0002", - "\u0002\u0002\u03b7\u1951\u0003\u0002\u0002\u0002\u03b9\u1956\u0003\u0002", - "\u0002\u0002\u03bb\u195d\u0003\u0002\u0002\u0002\u03bd\u196c\u0003\u0002", - "\u0002\u0002\u03bf\u1974\u0003\u0002\u0002\u0002\u03c1\u1983\u0003\u0002", - "\u0002\u0002\u03c3\u198c\u0003\u0002\u0002\u0002\u03c5\u198f\u0003\u0002", - "\u0002\u0002\u03c7\u1998\u0003\u0002\u0002\u0002\u03c9\u19a0\u0003\u0002", - "\u0002\u0002\u03cb\u19a9\u0003\u0002\u0002\u0002\u03cd\u19b3\u0003\u0002", - "\u0002\u0002\u03cf\u19b9\u0003\u0002\u0002\u0002\u03d1\u19c0\u0003\u0002", - "\u0002\u0002\u03d3\u19ce\u0003\u0002\u0002\u0002\u03d5\u19de\u0003\u0002", - "\u0002\u0002\u03d7\u19e9\u0003\u0002\u0002\u0002\u03d9\u19f6\u0003\u0002", - "\u0002\u0002\u03db\u1a11\u0003\u0002\u0002\u0002\u03dd\u1a1b\u0003\u0002", - "\u0002\u0002\u03df\u1a26\u0003\u0002\u0002\u0002\u03e1\u1a2c\u0003\u0002", - "\u0002\u0002\u03e3\u1a33\u0003\u0002\u0002\u0002\u03e5\u1a3f\u0003\u0002", - "\u0002\u0002\u03e7\u1a48\u0003\u0002\u0002\u0002\u03e9\u1a57\u0003\u0002", - "\u0002\u0002\u03eb\u1a65\u0003\u0002\u0002\u0002\u03ed\u1a6d\u0003\u0002", - "\u0002\u0002\u03ef\u1a85\u0003\u0002\u0002\u0002\u03f1\u1a8a\u0003\u0002", - "\u0002\u0002\u03f3\u1a97\u0003\u0002\u0002\u0002\u03f5\u1aa1\u0003\u0002", - "\u0002\u0002\u03f7\u1aac\u0003\u0002\u0002\u0002\u03f9\u1ab5\u0003\u0002", - "\u0002\u0002\u03fb\u1ac0\u0003\u0002\u0002\u0002\u03fd\u1ac7\u0003\u0002", - "\u0002\u0002\u03ff\u1acd\u0003\u0002\u0002\u0002\u0401\u1ad9\u0003\u0002", - "\u0002\u0002\u0403\u1ae3\u0003\u0002\u0002\u0002\u0405\u1ae9\u0003\u0002", - "\u0002\u0002\u0407\u1b08\u0003\u0002\u0002\u0002\u0409\u1b0f\u0003\u0002", - "\u0002\u0002\u040b\u1b16\u0003\u0002\u0002\u0002\u040d\u1b23\u0003\u0002", - "\u0002\u0002\u040f\u1b2c\u0003\u0002\u0002\u0002\u0411\u1b35\u0003\u0002", - "\u0002\u0002\u0413\u1b38\u0003\u0002\u0002\u0002\u0415\u1b40\u0003\u0002", - "\u0002\u0002\u0417\u1b4b\u0003\u0002\u0002\u0002\u0419\u1b52\u0003\u0002", - "\u0002\u0002\u041b\u1b55\u0003\u0002\u0002\u0002\u041d\u1b68\u0003\u0002", - "\u0002\u0002\u041f\u1b71\u0003\u0002\u0002\u0002\u0421\u1b7d\u0003\u0002", - "\u0002\u0002\u0423\u1b82\u0003\u0002\u0002\u0002\u0425\u1b87\u0003\u0002", - "\u0002\u0002\u0427\u1b9c\u0003\u0002\u0002\u0002\u0429\u1ba1\u0003\u0002", - "\u0002\u0002\u042b\u1bb7\u0003\u0002\u0002\u0002\u042d\u1bbd\u0003\u0002", - "\u0002\u0002\u042f\u1bcc\u0003\u0002\u0002\u0002\u0431\u1bf2\u0003\u0002", - "\u0002\u0002\u0433\u1bfc\u0003\u0002\u0002\u0002\u0435\u1c08\u0003\u0002", - "\u0002\u0002\u0437\u1c13\u0003\u0002\u0002\u0002\u0439\u1c27\u0003\u0002", - "\u0002\u0002\u043b\u1c33\u0003\u0002\u0002\u0002\u043d\u1c3d\u0003\u0002", - "\u0002\u0002\u043f\u1c43\u0003\u0002\u0002\u0002\u0441\u1c4f\u0003\u0002", - "\u0002\u0002\u0443\u1c58\u0003\u0002\u0002\u0002\u0445\u1c5c\u0003\u0002", - "\u0002\u0002\u0447\u1c5f\u0003\u0002\u0002\u0002\u0449\u1c69\u0003\u0002", - "\u0002\u0002\u044b\u1c6d\u0003\u0002\u0002\u0002\u044d\u1c72\u0003\u0002", - "\u0002\u0002\u044f\u1c75\u0003\u0002\u0002\u0002\u0451\u1c7a\u0003\u0002", - "\u0002\u0002\u0453\u1c84\u0003\u0002\u0002\u0002\u0455\u1c8f\u0003\u0002", - "\u0002\u0002\u0457\u1c94\u0003\u0002\u0002\u0002\u0459\u1c9b\u0003\u0002", - "\u0002\u0002\u045b\u1c9f\u0003\u0002\u0002\u0002\u045d\u1ca4\u0003\u0002", - "\u0002\u0002\u045f\u1caf\u0003\u0002\u0002\u0002\u0461\u1cb4\u0003\u0002", - "\u0002\u0002\u0463\u1cba\u0003\u0002\u0002\u0002\u0465\u1cbf\u0003\u0002", - "\u0002\u0002\u0467\u1cc8\u0003\u0002\u0002\u0002\u0469\u1cd5\u0003\u0002", - "\u0002\u0002\u046b\u1ce4\u0003\u0002\u0002\u0002\u046d\u1cea\u0003\u0002", - "\u0002\u0002\u046f\u1cf3\u0003\u0002\u0002\u0002\u0471\u1cf8\u0003\u0002", - "\u0002\u0002\u0473\u1d08\u0003\u0002\u0002\u0002\u0475\u1d0e\u0003\u0002", - "\u0002\u0002\u0477\u1d13\u0003\u0002\u0002\u0002\u0479\u1d17\u0003\u0002", - "\u0002\u0002\u047b\u1d1e\u0003\u0002\u0002\u0002\u047d\u1d23\u0003\u0002", - "\u0002\u0002\u047f\u1d30\u0003\u0002\u0002\u0002\u0481\u1d34\u0003\u0002", - "\u0002\u0002\u0483\u1d44\u0003\u0002\u0002\u0002\u0485\u1d4c\u0003\u0002", - "\u0002\u0002\u0487\u1d56\u0003\u0002\u0002\u0002\u0489\u1d6a\u0003\u0002", - "\u0002\u0002\u048b\u1d7d\u0003\u0002\u0002\u0002\u048d\u1d8b\u0003\u0002", - "\u0002\u0002\u048f\u1d9d\u0003\u0002\u0002\u0002\u0491\u1db0\u0003\u0002", - "\u0002\u0002\u0493\u1db7\u0003\u0002\u0002\u0002\u0495\u1dc4\u0003\u0002", - "\u0002\u0002\u0497\u1dcc\u0003\u0002\u0002\u0002\u0499\u1dcf\u0003\u0002", - "\u0002\u0002\u049b\u1dd6\u0003\u0002\u0002\u0002\u049d\u1dec\u0003\u0002", - "\u0002\u0002\u049f\u1df4\u0003\u0002\u0002\u0002\u04a1\u1df8\u0003\u0002", - "\u0002\u0002\u04a3\u1e0e\u0003\u0002\u0002\u0002\u04a5\u1e1e\u0003\u0002", - "\u0002\u0002\u04a7\u1e32\u0003\u0002\u0002\u0002\u04a9\u1e45\u0003\u0002", - "\u0002\u0002\u04ab\u1e4d\u0003\u0002\u0002\u0002\u04ad\u1e5c\u0003\u0002", - "\u0002\u0002\u04af\u1e72\u0003\u0002\u0002\u0002\u04b1\u1e77\u0003\u0002", - "\u0002\u0002\u04b3\u1e7e\u0003\u0002\u0002\u0002\u04b5\u1e83\u0003\u0002", - "\u0002\u0002\u04b7\u1e8e\u0003\u0002\u0002\u0002\u04b9\u1e93\u0003\u0002", - "\u0002\u0002\u04bb\u1ea3\u0003\u0002\u0002\u0002\u04bd\u1eaf\u0003\u0002", - "\u0002\u0002\u04bf\u1eba\u0003\u0002\u0002\u0002\u04c1\u1ec7\u0003\u0002", - "\u0002\u0002\u04c3\u1ecc\u0003\u0002\u0002\u0002\u04c5\u1ecf\u0003\u0002", - "\u0002\u0002\u04c7\u1edb\u0003\u0002\u0002\u0002\u04c9\u1ee3\u0003\u0002", - "\u0002\u0002\u04cb\u1eeb\u0003\u0002\u0002\u0002\u04cd\u1ef1\u0003\u0002", - "\u0002\u0002\u04cf\u1efa\u0003\u0002\u0002\u0002\u04d1\u1f10\u0003\u0002", - "\u0002\u0002\u04d3\u1f1c\u0003\u0002\u0002\u0002\u04d5\u1f27\u0003\u0002", - "\u0002\u0002\u04d7\u1f2e\u0003\u0002\u0002\u0002\u04d9\u1f34\u0003\u0002", - "\u0002\u0002\u04db\u1f3d\u0003\u0002\u0002\u0002\u04dd\u1f44\u0003\u0002", - "\u0002\u0002\u04df\u1f57\u0003\u0002\u0002\u0002\u04e1\u1f5e\u0003\u0002", - "\u0002\u0002\u04e3\u1f66\u0003\u0002\u0002\u0002\u04e5\u1f6d\u0003\u0002", - "\u0002\u0002\u04e7\u1f79\u0003\u0002\u0002\u0002\u04e9\u1f80\u0003\u0002", - "\u0002\u0002\u04eb\u1f85\u0003\u0002\u0002\u0002\u04ed\u1f93\u0003\u0002", - "\u0002\u0002\u04ef\u1f9e\u0003\u0002\u0002\u0002\u04f1\u1fa7\u0003\u0002", - "\u0002\u0002\u04f3\u1fab\u0003\u0002\u0002\u0002\u04f5\u1fb2\u0003\u0002", - "\u0002\u0002\u04f7\u1fbb\u0003\u0002\u0002\u0002\u04f9\u1fc1\u0003\u0002", - "\u0002\u0002\u04fb\u1fcd\u0003\u0002\u0002\u0002\u04fd\u1fde\u0003\u0002", - "\u0002\u0002\u04ff\u1fe8\u0003\u0002\u0002\u0002\u0501\u1ff3\u0003\u0002", - "\u0002\u0002\u0503\u1ffb\u0003\u0002\u0002\u0002\u0505\u2000\u0003\u0002", - "\u0002\u0002\u0507\u2018\u0003\u0002\u0002\u0002\u0509\u201d\u0003\u0002", - "\u0002\u0002\u050b\u2022\u0003\u0002\u0002\u0002\u050d\u202c\u0003\u0002", - "\u0002\u0002\u050f\u2039\u0003\u0002\u0002\u0002\u0511\u203f\u0003\u0002", - "\u0002\u0002\u0513\u2048\u0003\u0002\u0002\u0002\u0515\u2057\u0003\u0002", - "\u0002\u0002\u0517\u205f\u0003\u0002\u0002\u0002\u0519\u206b\u0003\u0002", - "\u0002\u0002\u051b\u2076\u0003\u0002\u0002\u0002\u051d\u2085\u0003\u0002", - "\u0002\u0002\u051f\u208e\u0003\u0002\u0002\u0002\u0521\u2097\u0003\u0002", - "\u0002\u0002\u0523\u20a9\u0003\u0002\u0002\u0002\u0525\u20af\u0003\u0002", - "\u0002\u0002\u0527\u20b5\u0003\u0002\u0002\u0002\u0529\u20c1\u0003\u0002", - "\u0002\u0002\u052b\u20d3\u0003\u0002\u0002\u0002\u052d\u20d9\u0003\u0002", - "\u0002\u0002\u052f\u20de\u0003\u0002\u0002\u0002\u0531\u20e2\u0003\u0002", - "\u0002\u0002\u0533\u20e6\u0003\u0002\u0002\u0002\u0535\u20ee\u0003\u0002", - "\u0002\u0002\u0537\u2106\u0003\u0002\u0002\u0002\u0539\u2110\u0003\u0002", - "\u0002\u0002\u053b\u2127\u0003\u0002\u0002\u0002\u053d\u2132\u0003\u0002", - "\u0002\u0002\u053f\u213b\u0003\u0002\u0002\u0002\u0541\u2143\u0003\u0002", - "\u0002\u0002\u0543\u214b\u0003\u0002\u0002\u0002\u0545\u2155\u0003\u0002", - "\u0002\u0002\u0547\u215e\u0003\u0002\u0002\u0002\u0549\u2171\u0003\u0002", - "\u0002\u0002\u054b\u217a\u0003\u0002\u0002\u0002\u054d\u2181\u0003\u0002", - "\u0002\u0002\u054f\u2195\u0003\u0002\u0002\u0002\u0551\u219c\u0003\u0002", - "\u0002\u0002\u0553\u21a7\u0003\u0002\u0002\u0002\u0555\u21b2\u0003\u0002", - "\u0002\u0002\u0557\u21ba\u0003\u0002\u0002\u0002\u0559\u21d3\u0003\u0002", - "\u0002\u0002\u055b\u21f4\u0003\u0002\u0002\u0002\u055d\u2215\u0003\u0002", - "\u0002\u0002\u055f\u2241\u0003\u0002\u0002\u0002\u0561\u2254\u0003\u0002", - "\u0002\u0002\u0563\u225d\u0003\u0002\u0002\u0002\u0565\u2277\u0003\u0002", - "\u0002\u0002\u0567\u2287\u0003\u0002\u0002\u0002\u0569\u2291\u0003\u0002", - "\u0002\u0002\u056b\u2298\u0003\u0002\u0002\u0002\u056d\u229d\u0003\u0002", - "\u0002\u0002\u056f\u22a3\u0003\u0002\u0002\u0002\u0571\u22a7\u0003\u0002", - "\u0002\u0002\u0573\u22b2\u0003\u0002\u0002\u0002\u0575\u22ba\u0003\u0002", - "\u0002\u0002\u0577\u22bf\u0003\u0002\u0002\u0002\u0579\u22c6\u0003\u0002", - "\u0002\u0002\u057b\u22d4\u0003\u0002\u0002\u0002\u057d\u22db\u0003\u0002", - "\u0002\u0002\u057f\u22e2\u0003\u0002\u0002\u0002\u0581\u22ef\u0003\u0002", - "\u0002\u0002\u0583\u22f6\u0003\u0002\u0002\u0002\u0585\u2300\u0003\u0002", - "\u0002\u0002\u0587\u230f\u0003\u0002\u0002\u0002\u0589\u231e\u0003\u0002", - "\u0002\u0002\u058b\u2326\u0003\u0002\u0002\u0002\u058d\u232d\u0003\u0002", - "\u0002\u0002\u058f\u2336\u0003\u0002\u0002\u0002\u0591\u2343\u0003\u0002", - "\u0002\u0002\u0593\u2350\u0003\u0002\u0002\u0002\u0595\u2355\u0003\u0002", - "\u0002\u0002\u0597\u2364\u0003\u0002\u0002\u0002\u0599\u2369\u0003\u0002", - "\u0002\u0002\u059b\u236e\u0003\u0002\u0002\u0002\u059d\u2377\u0003\u0002", - "\u0002\u0002\u059f\u2384\u0003\u0002\u0002\u0002\u05a1\u2394\u0003\u0002", - "\u0002\u0002\u05a3\u239d\u0003\u0002\u0002\u0002\u05a5\u23a3\u0003\u0002", - "\u0002\u0002\u05a7\u23ac\u0003\u0002\u0002\u0002\u05a9\u23b6\u0003\u0002", - "\u0002\u0002\u05ab\u23bd\u0003\u0002\u0002\u0002\u05ad\u23c9\u0003\u0002", - "\u0002\u0002\u05af\u23ce\u0003\u0002\u0002\u0002\u05b1\u23d7\u0003\u0002", - "\u0002\u0002\u05b3\u23e0\u0003\u0002\u0002\u0002\u05b5\u23f9\u0003\u0002", - "\u0002\u0002\u05b7\u2401\u0003\u0002\u0002\u0002\u05b9\u240c\u0003\u0002", - "\u0002\u0002\u05bb\u2413\u0003\u0002\u0002\u0002\u05bd\u2420\u0003\u0002", - "\u0002\u0002\u05bf\u2427\u0003\u0002\u0002\u0002\u05c1\u2432\u0003\u0002", - "\u0002\u0002\u05c3\u2438\u0003\u0002\u0002\u0002\u05c5\u243f\u0003\u0002", - "\u0002\u0002\u05c7\u2448\u0003\u0002\u0002\u0002\u05c9\u2453\u0003\u0002", - "\u0002\u0002\u05cb\u2459\u0003\u0002\u0002\u0002\u05cd\u2461\u0003\u0002", - "\u0002\u0002\u05cf\u246e\u0003\u0002\u0002\u0002\u05d1\u2472\u0003\u0002", - "\u0002\u0002\u05d3\u247a\u0003\u0002\u0002\u0002\u05d5\u2484\u0003\u0002", - "\u0002\u0002\u05d7\u2497\u0003\u0002\u0002\u0002\u05d9\u249f\u0003\u0002", - "\u0002\u0002\u05db\u24a6\u0003\u0002\u0002\u0002\u05dd\u24ab\u0003\u0002", - "\u0002\u0002\u05df\u24c0\u0003\u0002\u0002\u0002\u05e1\u24c3\u0003\u0002", - "\u0002\u0002\u05e3\u24d0\u0003\u0002\u0002\u0002\u05e5\u24d6\u0003\u0002", - "\u0002\u0002\u05e7\u24db\u0003\u0002\u0002\u0002\u05e9\u24e0\u0003\u0002", - "\u0002\u0002\u05eb\u24e8\u0003\u0002\u0002\u0002\u05ed\u24ee\u0003\u0002", - "\u0002\u0002\u05ef\u24f6\u0003\u0002\u0002\u0002\u05f1\u250a\u0003\u0002", - "\u0002\u0002\u05f3\u2520\u0003\u0002\u0002\u0002\u05f5\u252b\u0003\u0002", - "\u0002\u0002\u05f7\u253b\u0003\u0002\u0002\u0002\u05f9\u2547\u0003\u0002", - "\u0002\u0002\u05fb\u254b\u0003\u0002\u0002\u0002\u05fd\u2550\u0003\u0002", - "\u0002\u0002\u05ff\u2566\u0003\u0002\u0002\u0002\u0601\u256b\u0003\u0002", - "\u0002\u0002\u0603\u2578\u0003\u0002\u0002\u0002\u0605\u2582\u0003\u0002", - "\u0002\u0002\u0607\u258e\u0003\u0002\u0002\u0002\u0609\u2596\u0003\u0002", - "\u0002\u0002\u060b\u25a0\u0003\u0002\u0002\u0002\u060d\u25a4\u0003\u0002", - "\u0002\u0002\u060f\u25aa\u0003\u0002\u0002\u0002\u0611\u25b4\u0003\u0002", - "\u0002\u0002\u0613\u25bf\u0003\u0002\u0002\u0002\u0615\u25c5\u0003\u0002", - "\u0002\u0002\u0617\u25c9\u0003\u0002\u0002\u0002\u0619\u25ce\u0003\u0002", - "\u0002\u0002\u061b\u25dc\u0003\u0002\u0002\u0002\u061d\u25e2\u0003\u0002", - "\u0002\u0002\u061f\u25e7\u0003\u0002\u0002\u0002\u0621\u25f7\u0003\u0002", - "\u0002\u0002\u0623\u260d\u0003\u0002\u0002\u0002\u0625\u2612\u0003\u0002", - "\u0002\u0002\u0627\u261b\u0003\u0002\u0002\u0002\u0629\u261f\u0003\u0002", - "\u0002\u0002\u062b\u2627\u0003\u0002\u0002\u0002\u062d\u2635\u0003\u0002", - "\u0002\u0002\u062f\u263f\u0003\u0002\u0002\u0002\u0631\u2646\u0003\u0002", - "\u0002\u0002\u0633\u264f\u0003\u0002\u0002\u0002\u0635\u2655\u0003\u0002", - "\u0002\u0002\u0637\u2664\u0003\u0002\u0002\u0002\u0639\u266f\u0003\u0002", - "\u0002\u0002\u063b\u2677\u0003\u0002\u0002\u0002\u063d\u2679\u0003\u0002", - "\u0002\u0002\u063f\u2681\u0003\u0002\u0002\u0002\u0641\u2689\u0003\u0002", - "\u0002\u0002\u0643\u268f\u0003\u0002\u0002\u0002\u0645\u2698\u0003\u0002", - "\u0002\u0002\u0647\u26b8\u0003\u0002\u0002\u0002\u0649\u26cf\u0003\u0002", - "\u0002\u0002\u064b\u26dc\u0003\u0002\u0002\u0002\u064d\u26e4\u0003\u0002", - "\u0002\u0002\u064f\u26e8\u0003\u0002\u0002\u0002\u0651\u26f3\u0003\u0002", - "\u0002\u0002\u0653\u26f5\u0003\u0002\u0002\u0002\u0655\u26f7\u0003\u0002", - "\u0002\u0002\u0657\u26f9\u0003\u0002\u0002\u0002\u0659\u26fb\u0003\u0002", - "\u0002\u0002\u065b\u26fe\u0003\u0002\u0002\u0002\u065d\u2701\u0003\u0002", - "\u0002\u0002\u065f\u2704\u0003\u0002\u0002\u0002\u0661\u2707\u0003\u0002", - "\u0002\u0002\u0663\u270a\u0003\u0002\u0002\u0002\u0665\u270d\u0003\u0002", - "\u0002\u0002\u0667\u2710\u0003\u0002\u0002\u0002\u0669\u2713\u0003\u0002", - "\u0002\u0002\u066b\u2716\u0003\u0002\u0002\u0002\u066d\u2718\u0003\u0002", - "\u0002\u0002\u066f\u271a\u0003\u0002\u0002\u0002\u0671\u271c\u0003\u0002", - "\u0002\u0002\u0673\u271e\u0003\u0002\u0002\u0002\u0675\u2720\u0003\u0002", - "\u0002\u0002\u0677\u2722\u0003\u0002\u0002\u0002\u0679\u2724\u0003\u0002", - "\u0002\u0002\u067b\u2726\u0003\u0002\u0002\u0002\u067d\u2728\u0003\u0002", - "\u0002\u0002\u067f\u272a\u0003\u0002\u0002\u0002\u0681\u272c\u0003\u0002", - "\u0002\u0002\u0683\u272e\u0003\u0002\u0002\u0002\u0685\u2730\u0003\u0002", - "\u0002\u0002\u0687\u2732\u0003\u0002\u0002\u0002\u0689\u2734\u0003\u0002", - "\u0002\u0002\u068b\u2736\u0003\u0002\u0002\u0002\u068d\u2738\u0003\u0002", - "\u0002\u0002\u068f\u273a\u0003\u0002\u0002\u0002\u0691\u273c\u0003\u0002", - "\u0002\u0002\u0693\u273e\u0003\u0002\u0002\u0002\u0695\u2744\u0003\u0002", - "\u0002\u0002\u0697\u2763\u0003\u0002\u0002\u0002\u0699\u2765\u0003\u0002", - "\u0002\u0002\u069b\u2767\u0003\u0002\u0002\u0002\u069d\u2769\u0003\u0002", - "\u0002\u0002\u069f\u06a0\u0007C\u0002\u0002\u06a0\u06a1\u0007D\u0002", - "\u0002\u06a1\u06a2\u0007U\u0002\u0002\u06a2\u06a3\u0007G\u0002\u0002", - "\u06a3\u06a4\u0007P\u0002\u0002\u06a4\u06a5\u0007V\u0002\u0002\u06a5", - "\u0004\u0003\u0002\u0002\u0002\u06a6\u06a7\u0007C\u0002\u0002\u06a7", - "\u06a8\u0007F\u0002\u0002\u06a8\u06a9\u0007F\u0002\u0002\u06a9\u0006", - "\u0003\u0002\u0002\u0002\u06aa\u06ab\u0007C\u0002\u0002\u06ab\u06ac", - "\u0007G\u0002\u0002\u06ac\u06ad\u0007U\u0002\u0002\u06ad\b\u0003\u0002", - "\u0002\u0002\u06ae\u06af\u0007C\u0002\u0002\u06af\u06b0\u0007N\u0002", - "\u0002\u06b0\u06b1\u0007N\u0002\u0002\u06b1\n\u0003\u0002\u0002\u0002", - "\u06b2\u06b3\u0007C\u0002\u0002\u06b3\u06b4\u0007N\u0002\u0002\u06b4", - "\u06b5\u0007N\u0002\u0002\u06b5\u06b6\u0007Q\u0002\u0002\u06b6\u06b7", - "\u0007Y\u0002\u0002\u06b7\u06b8\u0007a\u0002\u0002\u06b8\u06b9\u0007", - "E\u0002\u0002\u06b9\u06ba\u0007Q\u0002\u0002\u06ba\u06bb\u0007P\u0002", - "\u0002\u06bb\u06bc\u0007P\u0002\u0002\u06bc\u06bd\u0007G\u0002\u0002", - "\u06bd\u06be\u0007E\u0002\u0002\u06be\u06bf\u0007V\u0002\u0002\u06bf", - "\u06c0\u0007K\u0002\u0002\u06c0\u06c1\u0007Q\u0002\u0002\u06c1\u06c2", - "\u0007P\u0002\u0002\u06c2\u06c3\u0007U\u0002\u0002\u06c3\f\u0003\u0002", - "\u0002\u0002\u06c4\u06c5\u0007C\u0002\u0002\u06c5\u06c6\u0007N\u0002", - "\u0002\u06c6\u06c7\u0007N\u0002\u0002\u06c7\u06c8\u0007Q\u0002\u0002", - "\u06c8\u06c9\u0007Y\u0002\u0002\u06c9\u06ca\u0007a\u0002\u0002\u06ca", - "\u06cb\u0007O\u0002\u0002\u06cb\u06cc\u0007W\u0002\u0002\u06cc\u06cd", - "\u0007N\u0002\u0002\u06cd\u06ce\u0007V\u0002\u0002\u06ce\u06cf\u0007", - "K\u0002\u0002\u06cf\u06d0\u0007R\u0002\u0002\u06d0\u06d1\u0007N\u0002", - "\u0002\u06d1\u06d2\u0007G\u0002\u0002\u06d2\u06d3\u0007a\u0002\u0002", - "\u06d3\u06d4\u0007G\u0002\u0002\u06d4\u06d5\u0007X\u0002\u0002\u06d5", - "\u06d6\u0007G\u0002\u0002\u06d6\u06d7\u0007P\u0002\u0002\u06d7\u06d8", - "\u0007V\u0002\u0002\u06d8\u06d9\u0007a\u0002\u0002\u06d9\u06da\u0007", - "N\u0002\u0002\u06da\u06db\u0007Q\u0002\u0002\u06db\u06dc\u0007U\u0002", - "\u0002\u06dc\u06dd\u0007U\u0002\u0002\u06dd\u000e\u0003\u0002\u0002", - "\u0002\u06de\u06df\u0007C\u0002\u0002\u06df\u06e0\u0007N\u0002\u0002", - "\u06e0\u06e1\u0007N\u0002\u0002\u06e1\u06e2\u0007Q\u0002\u0002\u06e2", - "\u06e3\u0007Y\u0002\u0002\u06e3\u06e4\u0007a\u0002\u0002\u06e4\u06e5", - "\u0007U\u0002\u0002\u06e5\u06e6\u0007K\u0002\u0002\u06e6\u06e7\u0007", - "P\u0002\u0002\u06e7\u06e8\u0007I\u0002\u0002\u06e8\u06e9\u0007N\u0002", - "\u0002\u06e9\u06ea\u0007G\u0002\u0002\u06ea\u06eb\u0007a\u0002\u0002", - "\u06eb\u06ec\u0007G\u0002\u0002\u06ec\u06ed\u0007X\u0002\u0002\u06ed", - "\u06ee\u0007G\u0002\u0002\u06ee\u06ef\u0007P\u0002\u0002\u06ef\u06f0", - "\u0007V\u0002\u0002\u06f0\u06f1\u0007a\u0002\u0002\u06f1\u06f2\u0007", - "N\u0002\u0002\u06f2\u06f3\u0007Q\u0002\u0002\u06f3\u06f4\u0007U\u0002", - "\u0002\u06f4\u06f5\u0007U\u0002\u0002\u06f5\u0010\u0003\u0002\u0002", - "\u0002\u06f6\u06f7\u0007C\u0002\u0002\u06f7\u06f8\u0007N\u0002\u0002", - "\u06f8\u06f9\u0007V\u0002\u0002\u06f9\u06fa\u0007G\u0002\u0002\u06fa", - "\u06fb\u0007T\u0002\u0002\u06fb\u0012\u0003\u0002\u0002\u0002\u06fc", - "\u06fd\u0007C\u0002\u0002\u06fd\u06fe\u0007P\u0002\u0002\u06fe\u06ff", - "\u0007F\u0002\u0002\u06ff\u0014\u0003\u0002\u0002\u0002\u0700\u0701", - "\u0007C\u0002\u0002\u0701\u0702\u0007P\u0002\u0002\u0702\u0703\u0007", - "Q\u0002\u0002\u0703\u0704\u0007P\u0002\u0002\u0704\u0705\u0007[\u0002", - "\u0002\u0705\u0706\u0007O\u0002\u0002\u0706\u0707\u0007Q\u0002\u0002", - "\u0707\u0708\u0007W\u0002\u0002\u0708\u0709\u0007U\u0002\u0002\u0709", - "\u0016\u0003\u0002\u0002\u0002\u070a\u070b\u0007C\u0002\u0002\u070b", - "\u070c\u0007P\u0002\u0002\u070c\u070d\u0007[\u0002\u0002\u070d\u0018", - "\u0003\u0002\u0002\u0002\u070e\u070f\u0007C\u0002\u0002\u070f\u0710", - "\u0007R\u0002\u0002\u0710\u0711\u0007R\u0002\u0002\u0711\u0712\u0007", - "G\u0002\u0002\u0712\u0713\u0007P\u0002\u0002\u0713\u0714\u0007F\u0002", - "\u0002\u0714\u001a\u0003\u0002\u0002\u0002\u0715\u0716\u0007C\u0002", - "\u0002\u0716\u0717\u0007R\u0002\u0002\u0717\u0718\u0007R\u0002\u0002", - "\u0718\u0719\u0007N\u0002\u0002\u0719\u071a\u0007K\u0002\u0002\u071a", - "\u071b\u0007E\u0002\u0002\u071b\u071c\u0007C\u0002\u0002\u071c\u071d", - "\u0007V\u0002\u0002\u071d\u071e\u0007K\u0002\u0002\u071e\u071f\u0007", - "Q\u0002\u0002\u071f\u0720\u0007P\u0002\u0002\u0720\u001c\u0003\u0002", - "\u0002\u0002\u0721\u0722\u0007C\u0002\u0002\u0722\u0723\u0007U\u0002", - "\u0002\u0723\u001e\u0003\u0002\u0002\u0002\u0724\u0725\u0007C\u0002", - "\u0002\u0725\u0726\u0007U\u0002\u0002\u0726\u0727\u0007E\u0002\u0002", - "\u0727 \u0003\u0002\u0002\u0002\u0728\u0729\u0007C\u0002\u0002\u0729", - "\u072a\u0007U\u0002\u0002\u072a\u072b\u0007[\u0002\u0002\u072b\u072c", - "\u0007O\u0002\u0002\u072c\u072d\u0007O\u0002\u0002\u072d\u072e\u0007", - "G\u0002\u0002\u072e\u072f\u0007V\u0002\u0002\u072f\u0730\u0007T\u0002", - "\u0002\u0730\u0731\u0007K\u0002\u0002\u0731\u0732\u0007E\u0002\u0002", - "\u0732\"\u0003\u0002\u0002\u0002\u0733\u0734\u0007C\u0002\u0002\u0734", - "\u0735\u0007U\u0002\u0002\u0735\u0736\u0007[\u0002\u0002\u0736\u0737", - "\u0007P\u0002\u0002\u0737\u0738\u0007E\u0002\u0002\u0738\u0739\u0007", - "J\u0002\u0002\u0739\u073a\u0007T\u0002\u0002\u073a\u073b\u0007Q\u0002", - "\u0002\u073b\u073c\u0007P\u0002\u0002\u073c\u073d\u0007Q\u0002\u0002", - "\u073d\u073e\u0007W\u0002\u0002\u073e\u073f\u0007U\u0002\u0002\u073f", - "\u0740\u0007a\u0002\u0002\u0740\u0741\u0007E\u0002\u0002\u0741\u0742", - "\u0007Q\u0002\u0002\u0742\u0743\u0007O\u0002\u0002\u0743\u0744\u0007", - "O\u0002\u0002\u0744\u0745\u0007K\u0002\u0002\u0745\u0746\u0007V\u0002", - "\u0002\u0746$\u0003\u0002\u0002\u0002\u0747\u0748\u0007C\u0002\u0002", - "\u0748\u0749\u0007W\u0002\u0002\u0749\u074a\u0007V\u0002\u0002\u074a", - "\u074b\u0007J\u0002\u0002\u074b\u074c\u0007Q\u0002\u0002\u074c\u074d", - "\u0007T\u0002\u0002\u074d\u074e\u0007K\u0002\u0002\u074e\u074f\u0007", - "\\\u0002\u0002\u074f\u0750\u0007C\u0002\u0002\u0750\u0751\u0007V\u0002", - "\u0002\u0751\u0752\u0007K\u0002\u0002\u0752\u0753\u0007Q\u0002\u0002", - "\u0753\u0754\u0007P\u0002\u0002\u0754&\u0003\u0002\u0002\u0002\u0755", - "\u0756\u0007C\u0002\u0002\u0756\u0757\u0007W\u0002\u0002\u0757\u0758", - "\u0007V\u0002\u0002\u0758\u0759\u0007J\u0002\u0002\u0759\u075a\u0007", - "G\u0002\u0002\u075a\u075b\u0007P\u0002\u0002\u075b\u075c\u0007V\u0002", - "\u0002\u075c\u075d\u0007K\u0002\u0002\u075d\u075e\u0007E\u0002\u0002", - "\u075e\u075f\u0007C\u0002\u0002\u075f\u0760\u0007V\u0002\u0002\u0760", - "\u0761\u0007K\u0002\u0002\u0761\u0762\u0007Q\u0002\u0002\u0762\u0763", - "\u0007P\u0002\u0002\u0763(\u0003\u0002\u0002\u0002\u0764\u0765\u0007", - "C\u0002\u0002\u0765\u0766\u0007W\u0002\u0002\u0766\u0767\u0007V\u0002", - "\u0002\u0767\u0768\u0007Q\u0002\u0002\u0768\u0769\u0007O\u0002\u0002", - "\u0769\u076a\u0007C\u0002\u0002\u076a\u076b\u0007V\u0002\u0002\u076b", - "\u076c\u0007G\u0002\u0002\u076c\u076d\u0007F\u0002\u0002\u076d\u076e", - "\u0007a\u0002\u0002\u076e\u076f\u0007D\u0002\u0002\u076f\u0770\u0007", - "C\u0002\u0002\u0770\u0771\u0007E\u0002\u0002\u0771\u0772\u0007M\u0002", - "\u0002\u0772\u0773\u0007W\u0002\u0002\u0773\u0774\u0007R\u0002\u0002", - "\u0774\u0775\u0007a\u0002\u0002\u0775\u0776\u0007R\u0002\u0002\u0776", - "\u0777\u0007T\u0002\u0002\u0777\u0778\u0007G\u0002\u0002\u0778\u0779", - "\u0007H\u0002\u0002\u0779\u077a\u0007G\u0002\u0002\u077a\u077b\u0007", - "T\u0002\u0002\u077b\u077c\u0007G\u0002\u0002\u077c\u077d\u0007P\u0002", - "\u0002\u077d\u077e\u0007E\u0002\u0002\u077e\u077f\u0007G\u0002\u0002", - "\u077f*\u0003\u0002\u0002\u0002\u0780\u0781\u0007C\u0002\u0002\u0781", - "\u0782\u0007W\u0002\u0002\u0782\u0783\u0007V\u0002\u0002\u0783\u0784", - "\u0007Q\u0002\u0002\u0784\u0785\u0007O\u0002\u0002\u0785\u0786\u0007", - "C\u0002\u0002\u0786\u0787\u0007V\u0002\u0002\u0787\u0788\u0007K\u0002", - "\u0002\u0788\u0789\u0007E\u0002\u0002\u0789,\u0003\u0002\u0002\u0002", - "\u078a\u078b\u0007C\u0002\u0002\u078b\u078c\u0007X\u0002\u0002\u078c", - "\u078d\u0007C\u0002\u0002\u078d\u078e\u0007K\u0002\u0002\u078e\u078f", - "\u0007N\u0002\u0002\u078f\u0790\u0007C\u0002\u0002\u0790\u0791\u0007", - "D\u0002\u0002\u0791\u0792\u0007K\u0002\u0002\u0792\u0793\u0007N\u0002", - "\u0002\u0793\u0794\u0007K\u0002\u0002\u0794\u0795\u0007V\u0002\u0002", - "\u0795\u0796\u0007[\u0002\u0002\u0796\u0797\u0007a\u0002\u0002\u0797", - "\u0798\u0007O\u0002\u0002\u0798\u0799\u0007Q\u0002\u0002\u0799\u079a", - "\u0007F\u0002\u0002\u079a\u079b\u0007G\u0002\u0002\u079b.\u0003\u0002", - "\u0002\u0002\u079c\u079d\u0007^\u0002\u0002\u079d0\u0003\u0002\u0002", - "\u0002\u079e\u079f\u0007D\u0002\u0002\u079f\u07a0\u0007C\u0002\u0002", - "\u07a0\u07a1\u0007E\u0002\u0002\u07a1\u07a2\u0007M\u0002\u0002\u07a2", - "\u07a3\u0007W\u0002\u0002\u07a3\u07a4\u0007R\u0002\u0002\u07a42\u0003", - "\u0002\u0002\u0002\u07a5\u07a6\u0007D\u0002\u0002\u07a6\u07a7\u0007", - "G\u0002\u0002\u07a7\u07a8\u0007H\u0002\u0002\u07a8\u07a9\u0007Q\u0002", - "\u0002\u07a9\u07aa\u0007T\u0002\u0002\u07aa\u07ab\u0007G\u0002\u0002", - "\u07ab4\u0003\u0002\u0002\u0002\u07ac\u07ad\u0007D\u0002\u0002\u07ad", - "\u07ae\u0007G\u0002\u0002\u07ae\u07af\u0007I\u0002\u0002\u07af\u07b0", - "\u0007K\u0002\u0002\u07b0\u07b1\u0007P\u0002\u0002\u07b16\u0003\u0002", - "\u0002\u0002\u07b2\u07b3\u0007D\u0002\u0002\u07b3\u07b4\u0007G\u0002", - "\u0002\u07b4\u07b5\u0007V\u0002\u0002\u07b5\u07b6\u0007Y\u0002\u0002", - "\u07b6\u07b7\u0007G\u0002\u0002\u07b7\u07b8\u0007G\u0002\u0002\u07b8", - "\u07b9\u0007P\u0002\u0002\u07b98\u0003\u0002\u0002\u0002\u07ba\u07bb", - "\u0007D\u0002\u0002\u07bb\u07bc\u0007N\u0002\u0002\u07bc\u07bd\u0007", - "Q\u0002\u0002\u07bd\u07be\u0007E\u0002\u0002\u07be\u07bf\u0007M\u0002", - "\u0002\u07bf:\u0003\u0002\u0002\u0002\u07c0\u07c1\u0007D\u0002\u0002", - "\u07c1\u07c2\u0007N\u0002\u0002\u07c2\u07c3\u0007Q\u0002\u0002\u07c3", - "\u07c4\u0007E\u0002\u0002\u07c4\u07c5\u0007M\u0002\u0002\u07c5\u07c6", - "\u0007U\u0002\u0002\u07c6\u07c7\u0007K\u0002\u0002\u07c7\u07c8\u0007", - "\\\u0002\u0002\u07c8\u07c9\u0007G\u0002\u0002\u07c9<\u0003\u0002\u0002", - "\u0002\u07ca\u07cb\u0007D\u0002\u0002\u07cb\u07cc\u0007N\u0002\u0002", - "\u07cc\u07cd\u0007Q\u0002\u0002\u07cd\u07ce\u0007E\u0002\u0002\u07ce", - "\u07cf\u0007M\u0002\u0002\u07cf\u07d0\u0007K\u0002\u0002\u07d0\u07d1", - "\u0007P\u0002\u0002\u07d1\u07d2\u0007I\u0002\u0002\u07d2\u07d3\u0007", - "a\u0002\u0002\u07d3\u07d4\u0007J\u0002\u0002\u07d4\u07d5\u0007K\u0002", - "\u0002\u07d5\u07d6\u0007G\u0002\u0002\u07d6\u07d7\u0007T\u0002\u0002", - "\u07d7\u07d8\u0007C\u0002\u0002\u07d8\u07d9\u0007T\u0002\u0002\u07d9", - "\u07da\u0007E\u0002\u0002\u07da\u07db\u0007J\u0002\u0002\u07db\u07dc", - "\u0007[\u0002\u0002\u07dc>\u0003\u0002\u0002\u0002\u07dd\u07de\u0007", - "D\u0002\u0002\u07de\u07df\u0007T\u0002\u0002\u07df\u07e0\u0007G\u0002", - "\u0002\u07e0\u07e1\u0007C\u0002\u0002\u07e1\u07e2\u0007M\u0002\u0002", - "\u07e2@\u0003\u0002\u0002\u0002\u07e3\u07e4\u0007D\u0002\u0002\u07e4", - "\u07e5\u0007T\u0002\u0002\u07e5\u07e6\u0007Q\u0002\u0002\u07e6\u07e7", - "\u0007Y\u0002\u0002\u07e7\u07e8\u0007U\u0002\u0002\u07e8\u07e9\u0007", - "G\u0002\u0002\u07e9B\u0003\u0002\u0002\u0002\u07ea\u07eb\u0007D\u0002", - "\u0002\u07eb\u07ec\u0007W\u0002\u0002\u07ec\u07ed\u0007H\u0002\u0002", - "\u07ed\u07ee\u0007H\u0002\u0002\u07ee\u07ef\u0007G\u0002\u0002\u07ef", - "\u07f0\u0007T\u0002\u0002\u07f0D\u0003\u0002\u0002\u0002\u07f1\u07f2", - "\u0007D\u0002\u0002\u07f2\u07f3\u0007W\u0002\u0002\u07f3\u07f4\u0007", - "H\u0002\u0002\u07f4\u07f5\u0007H\u0002\u0002\u07f5\u07f6\u0007G\u0002", - "\u0002\u07f6\u07f7\u0007T\u0002\u0002\u07f7\u07f8\u0007E\u0002\u0002", - "\u07f8\u07f9\u0007Q\u0002\u0002\u07f9\u07fa\u0007W\u0002\u0002\u07fa", - "\u07fb\u0007P\u0002\u0002\u07fb\u07fc\u0007V\u0002\u0002\u07fcF\u0003", - "\u0002\u0002\u0002\u07fd\u07fe\u0007D\u0002\u0002\u07fe\u07ff\u0007", - "W\u0002\u0002\u07ff\u0800\u0007N\u0002\u0002\u0800\u0801\u0007M\u0002", - "\u0002\u0801H\u0003\u0002\u0002\u0002\u0802\u0803\u0007D\u0002\u0002", - "\u0803\u0804\u0007[\u0002\u0002\u0804J\u0003\u0002\u0002\u0002\u0805", - "\u0806\u0007E\u0002\u0002\u0806\u0807\u0007C\u0002\u0002\u0807\u0808", - "\u0007E\u0002\u0002\u0808\u0809\u0007J\u0002\u0002\u0809\u080a\u0007", - "G\u0002\u0002\u080aL\u0003\u0002\u0002\u0002\u080b\u080c\u0007E\u0002", - "\u0002\u080c\u080d\u0007C\u0002\u0002\u080d\u080e\u0007N\u0002\u0002", - "\u080e\u080f\u0007N\u0002\u0002\u080f\u0810\u0007G\u0002\u0002\u0810", - "\u0811\u0007F\u0002\u0002\u0811N\u0003\u0002\u0002\u0002\u0812\u0813", - "\u0007E\u0002\u0002\u0813\u0814\u0007C\u0002\u0002\u0814\u0815\u0007", - "U\u0002\u0002\u0815\u0816\u0007E\u0002\u0002\u0816\u0817\u0007C\u0002", - "\u0002\u0817\u0818\u0007F\u0002\u0002\u0818\u0819\u0007G\u0002\u0002", - "\u0819P\u0003\u0002\u0002\u0002\u081a\u081b\u0007E\u0002\u0002\u081b", - "\u081c\u0007C\u0002\u0002\u081c\u081d\u0007U\u0002\u0002\u081d\u081e", - "\u0007G\u0002\u0002\u081eR\u0003\u0002\u0002\u0002\u081f\u0820\u0007", - "E\u0002\u0002\u0820\u0821\u0007G\u0002\u0002\u0821\u0822\u0007T\u0002", - "\u0002\u0822\u0823\u0007V\u0002\u0002\u0823\u0824\u0007K\u0002\u0002", - "\u0824\u0825\u0007H\u0002\u0002\u0825\u0826\u0007K\u0002\u0002\u0826", - "\u0827\u0007E\u0002\u0002\u0827\u0828\u0007C\u0002\u0002\u0828\u0829", - "\u0007V\u0002\u0002\u0829\u082a\u0007G\u0002\u0002\u082aT\u0003\u0002", - "\u0002\u0002\u082b\u082c\u0007E\u0002\u0002\u082c\u082d\u0007J\u0002", - "\u0002\u082d\u082e\u0007C\u0002\u0002\u082e\u082f\u0007P\u0002\u0002", - "\u082f\u0830\u0007I\u0002\u0002\u0830\u0831\u0007G\u0002\u0002\u0831", - "\u0832\u0007V\u0002\u0002\u0832\u0833\u0007C\u0002\u0002\u0833\u0834", - "\u0007D\u0002\u0002\u0834\u0835\u0007N\u0002\u0002\u0835\u0836\u0007", - "G\u0002\u0002\u0836V\u0003\u0002\u0002\u0002\u0837\u0838\u0007E\u0002", - "\u0002\u0838\u0839\u0007J\u0002\u0002\u0839\u083a\u0007C\u0002\u0002", - "\u083a\u083b\u0007P\u0002\u0002\u083b\u083c\u0007I\u0002\u0002\u083c", - "\u083d\u0007G\u0002\u0002\u083d\u083e\u0007U\u0002\u0002\u083eX\u0003", - "\u0002\u0002\u0002\u083f\u0840\u0007E\u0002\u0002\u0840\u0841\u0007", - "J\u0002\u0002\u0841\u0842\u0007G\u0002\u0002\u0842\u0843\u0007E\u0002", - "\u0002\u0843\u0844\u0007M\u0002\u0002\u0844Z\u0003\u0002\u0002\u0002", - "\u0845\u0846\u0007E\u0002\u0002\u0846\u0847\u0007J\u0002\u0002\u0847", - "\u0848\u0007G\u0002\u0002\u0848\u0849\u0007E\u0002\u0002\u0849\u084a", - "\u0007M\u0002\u0002\u084a\u084b\u0007R\u0002\u0002\u084b\u084c\u0007", - "Q\u0002\u0002\u084c\u084d\u0007K\u0002\u0002\u084d\u084e\u0007P\u0002", - "\u0002\u084e\u084f\u0007V\u0002\u0002\u084f\\\u0003\u0002\u0002\u0002", - "\u0850\u0851\u0007E\u0002\u0002\u0851\u0852\u0007J\u0002\u0002\u0852", - "\u0853\u0007G\u0002\u0002\u0853\u0854\u0007E\u0002\u0002\u0854\u0855", - "\u0007M\u0002\u0002\u0855\u0856\u0007a\u0002\u0002\u0856\u0857\u0007", - "R\u0002\u0002\u0857\u0858\u0007Q\u0002\u0002\u0858\u0859\u0007N\u0002", - "\u0002\u0859\u085a\u0007K\u0002\u0002\u085a\u085b\u0007E\u0002\u0002", - "\u085b\u085c\u0007[\u0002\u0002\u085c^\u0003\u0002\u0002\u0002\u085d", - "\u085e\u0007E\u0002\u0002\u085e\u085f\u0007J\u0002\u0002\u085f\u0860", - "\u0007G\u0002\u0002\u0860\u0861\u0007E\u0002\u0002\u0861\u0862\u0007", - "M\u0002\u0002\u0862\u0863\u0007a\u0002\u0002\u0863\u0864\u0007G\u0002", - "\u0002\u0864\u0865\u0007Z\u0002\u0002\u0865\u0866\u0007R\u0002\u0002", - "\u0866\u0867\u0007K\u0002\u0002\u0867\u0868\u0007T\u0002\u0002\u0868", - "\u0869\u0007C\u0002\u0002\u0869\u086a\u0007V\u0002\u0002\u086a\u086b", - "\u0007K\u0002\u0002\u086b\u086c\u0007Q\u0002\u0002\u086c\u086d\u0007", - "P\u0002\u0002\u086d`\u0003\u0002\u0002\u0002\u086e\u086f\u0007E\u0002", - "\u0002\u086f\u0870\u0007N\u0002\u0002\u0870\u0871\u0007C\u0002\u0002", - "\u0871\u0872\u0007U\u0002\u0002\u0872\u0873\u0007U\u0002\u0002\u0873", - "\u0874\u0007K\u0002\u0002\u0874\u0875\u0007H\u0002\u0002\u0875\u0876", - "\u0007K\u0002\u0002\u0876\u0877\u0007G\u0002\u0002\u0877\u0878\u0007", - "T\u0002\u0002\u0878\u0879\u0007a\u0002\u0002\u0879\u087a\u0007H\u0002", - "\u0002\u087a\u087b\u0007W\u0002\u0002\u087b\u087c\u0007P\u0002\u0002", - "\u087c\u087d\u0007E\u0002\u0002\u087d\u087e\u0007V\u0002\u0002\u087e", - "\u087f\u0007K\u0002\u0002\u087f\u0880\u0007Q\u0002\u0002\u0880\u0881", - "\u0007P\u0002\u0002\u0881b\u0003\u0002\u0002\u0002\u0882\u0883\u0007", - "E\u0002\u0002\u0883\u0884\u0007N\u0002\u0002\u0884\u0885\u0007Q\u0002", - "\u0002\u0885\u0886\u0007U\u0002\u0002\u0886\u0887\u0007G\u0002\u0002", - "\u0887d\u0003\u0002\u0002\u0002\u0888\u0889\u0007E\u0002\u0002\u0889", - "\u088a\u0007N\u0002\u0002\u088a\u088b\u0007W\u0002\u0002\u088b\u088c", - "\u0007U\u0002\u0002\u088c\u088d\u0007V\u0002\u0002\u088d\u088e\u0007", - "G\u0002\u0002\u088e\u088f\u0007T\u0002\u0002\u088ff\u0003\u0002\u0002", - "\u0002\u0890\u0891\u0007E\u0002\u0002\u0891\u0892\u0007N\u0002\u0002", - "\u0892\u0893\u0007W\u0002\u0002\u0893\u0894\u0007U\u0002\u0002\u0894", - "\u0895\u0007V\u0002\u0002\u0895\u0896\u0007G\u0002\u0002\u0896\u0897", - "\u0007T\u0002\u0002\u0897\u0898\u0007G\u0002\u0002\u0898\u0899\u0007", - "F\u0002\u0002\u0899h\u0003\u0002\u0002\u0002\u089a\u089b\u0007E\u0002", - "\u0002\u089b\u089c\u0007Q\u0002\u0002\u089c\u089d\u0007C\u0002\u0002", - "\u089d\u089e\u0007N\u0002\u0002\u089e\u089f\u0007G\u0002\u0002\u089f", - "\u08a0\u0007U\u0002\u0002\u08a0\u08a1\u0007E\u0002\u0002\u08a1\u08a2", - "\u0007G\u0002\u0002\u08a2j\u0003\u0002\u0002\u0002\u08a3\u08a4\u0007", - "E\u0002\u0002\u08a4\u08a5\u0007Q\u0002\u0002\u08a5\u08a6\u0007N\u0002", - "\u0002\u08a6\u08a7\u0007N\u0002\u0002\u08a7\u08a8\u0007C\u0002\u0002", - "\u08a8\u08a9\u0007V\u0002\u0002\u08a9\u08aa\u0007G\u0002\u0002\u08aa", - "l\u0003\u0002\u0002\u0002\u08ab\u08ac\u0007E\u0002\u0002\u08ac\u08ad", - "\u0007Q\u0002\u0002\u08ad\u08ae\u0007N\u0002\u0002\u08ae\u08af\u0007", - "W\u0002\u0002\u08af\u08b0\u0007O\u0002\u0002\u08b0\u08b1\u0007P\u0002", - "\u0002\u08b1n\u0003\u0002\u0002\u0002\u08b2\u08b3\u0007E\u0002\u0002", - "\u08b3\u08b4\u0007Q\u0002\u0002\u08b4\u08b5\u0007O\u0002\u0002\u08b5", - "\u08b6\u0007R\u0002\u0002\u08b6\u08b7\u0007T\u0002\u0002\u08b7\u08b8", - "\u0007G\u0002\u0002\u08b8\u08b9\u0007U\u0002\u0002\u08b9\u08ba\u0007", - "U\u0002\u0002\u08ba\u08bb\u0007K\u0002\u0002\u08bb\u08bc\u0007Q\u0002", - "\u0002\u08bc\u08bd\u0007P\u0002\u0002\u08bdp\u0003\u0002\u0002\u0002", - "\u08be\u08bf\u0007E\u0002\u0002\u08bf\u08c0\u0007Q\u0002\u0002\u08c0", - "\u08c1\u0007O\u0002\u0002\u08c1\u08c2\u0007O\u0002\u0002\u08c2\u08c3", - "\u0007K\u0002\u0002\u08c3\u08c4\u0007V\u0002\u0002\u08c4r\u0003\u0002", - "\u0002\u0002\u08c5\u08c6\u0007E\u0002\u0002\u08c6\u08c7\u0007Q\u0002", - "\u0002\u08c7\u08c8\u0007O\u0002\u0002\u08c8\u08c9\u0007R\u0002\u0002", - "\u08c9\u08ca\u0007W\u0002\u0002\u08ca\u08cb\u0007V\u0002\u0002\u08cb", - "\u08cc\u0007G\u0002\u0002\u08cct\u0003\u0002\u0002\u0002\u08cd\u08ce", - "\u0007E\u0002\u0002\u08ce\u08cf\u0007Q\u0002\u0002\u08cf\u08d0\u0007", - "P\u0002\u0002\u08d0\u08d1\u0007H\u0002\u0002\u08d1\u08d2\u0007K\u0002", - "\u0002\u08d2\u08d3\u0007I\u0002\u0002\u08d3\u08d4\u0007W\u0002\u0002", - "\u08d4\u08d5\u0007T\u0002\u0002\u08d5\u08d6\u0007C\u0002\u0002\u08d6", - "\u08d7\u0007V\u0002\u0002\u08d7\u08d8\u0007K\u0002\u0002\u08d8\u08d9", - "\u0007Q\u0002\u0002\u08d9\u08da\u0007P\u0002\u0002\u08dav\u0003\u0002", - "\u0002\u0002\u08db\u08dc\u0007E\u0002\u0002\u08dc\u08dd\u0007Q\u0002", - "\u0002\u08dd\u08de\u0007P\u0002\u0002\u08de\u08df\u0007U\u0002\u0002", - "\u08df\u08e0\u0007V\u0002\u0002\u08e0\u08e1\u0007T\u0002\u0002\u08e1", - "\u08e2\u0007C\u0002\u0002\u08e2\u08e3\u0007K\u0002\u0002\u08e3\u08e4", - "\u0007P\u0002\u0002\u08e4\u08e5\u0007V\u0002\u0002\u08e5x\u0003\u0002", - "\u0002\u0002\u08e6\u08e7\u0007E\u0002\u0002\u08e7\u08e8\u0007Q\u0002", - "\u0002\u08e8\u08e9\u0007P\u0002\u0002\u08e9\u08ea\u0007V\u0002\u0002", - "\u08ea\u08eb\u0007C\u0002\u0002\u08eb\u08ec\u0007K\u0002\u0002\u08ec", - "\u08ed\u0007P\u0002\u0002\u08ed\u08ee\u0007O\u0002\u0002\u08ee\u08ef", - "\u0007G\u0002\u0002\u08ef\u08f0\u0007P\u0002\u0002\u08f0\u08f1\u0007", - "V\u0002\u0002\u08f1z\u0003\u0002\u0002\u0002\u08f2\u08f3\u0007E\u0002", - "\u0002\u08f3\u08f4\u0007Q\u0002\u0002\u08f4\u08f5\u0007P\u0002\u0002", - "\u08f5\u08f6\u0007V\u0002\u0002\u08f6\u08f7\u0007C\u0002\u0002\u08f7", - "\u08f8\u0007K\u0002\u0002\u08f8\u08f9\u0007P\u0002\u0002\u08f9\u08fa", - "\u0007U\u0002\u0002\u08fa|\u0003\u0002\u0002\u0002\u08fb\u08fc\u0007", - "E\u0002\u0002\u08fc\u08fd\u0007Q\u0002\u0002\u08fd\u08fe\u0007P\u0002", - "\u0002\u08fe\u08ff\u0007V\u0002\u0002\u08ff\u0900\u0007C\u0002\u0002", - "\u0900\u0901\u0007K\u0002\u0002\u0901\u0902\u0007P\u0002\u0002\u0902", - "\u0903\u0007U\u0002\u0002\u0903\u0904\u0007V\u0002\u0002\u0904\u0905", - "\u0007C\u0002\u0002\u0905\u0906\u0007D\u0002\u0002\u0906\u0907\u0007", - "N\u0002\u0002\u0907\u0908\u0007G\u0002\u0002\u0908~\u0003\u0002\u0002", - "\u0002\u0909\u090a\u0007E\u0002\u0002\u090a\u090b\u0007Q\u0002\u0002", - "\u090b\u090c\u0007P\u0002\u0002\u090c\u090d\u0007V\u0002\u0002\u090d", - "\u090e\u0007G\u0002\u0002\u090e\u090f\u0007Z\u0002\u0002\u090f\u0910", - "\u0007V\u0002\u0002\u0910\u0080\u0003\u0002\u0002\u0002\u0911\u0912", - "\u0007E\u0002\u0002\u0912\u0913\u0007Q\u0002\u0002\u0913\u0914\u0007", - "P\u0002\u0002\u0914\u0915\u0007V\u0002\u0002\u0915\u0916\u0007K\u0002", - "\u0002\u0916\u0917\u0007P\u0002\u0002\u0917\u0918\u0007W\u0002\u0002", - "\u0918\u0919\u0007G\u0002\u0002\u0919\u0082\u0003\u0002\u0002\u0002", - "\u091a\u091b\u0007E\u0002\u0002\u091b\u091c\u0007Q\u0002\u0002\u091c", - "\u091d\u0007P\u0002\u0002\u091d\u091e\u0007V\u0002\u0002\u091e\u091f", - "\u0007K\u0002\u0002\u091f\u0920\u0007P\u0002\u0002\u0920\u0921\u0007", - "W\u0002\u0002\u0921\u0922\u0007G\u0002\u0002\u0922\u0923\u0007a\u0002", - "\u0002\u0923\u0924\u0007C\u0002\u0002\u0924\u0925\u0007H\u0002\u0002", - "\u0925\u0926\u0007V\u0002\u0002\u0926\u0927\u0007G\u0002\u0002\u0927", - "\u0928\u0007T\u0002\u0002\u0928\u0929\u0007a\u0002\u0002\u0929\u092a", - "\u0007G\u0002\u0002\u092a\u092b\u0007T\u0002\u0002\u092b\u092c\u0007", - "T\u0002\u0002\u092c\u092d\u0007Q\u0002\u0002\u092d\u092e\u0007T\u0002", - "\u0002\u092e\u0084\u0003\u0002\u0002\u0002\u092f\u0930\u0007E\u0002", - "\u0002\u0930\u0931\u0007Q\u0002\u0002\u0931\u0932\u0007P\u0002\u0002", - "\u0932\u0933\u0007V\u0002\u0002\u0933\u0934\u0007T\u0002\u0002\u0934", - "\u0935\u0007C\u0002\u0002\u0935\u0936\u0007E\u0002\u0002\u0936\u0937", - "\u0007V\u0002\u0002\u0937\u0086\u0003\u0002\u0002\u0002\u0938\u0939", - "\u0007E\u0002\u0002\u0939\u093a\u0007Q\u0002\u0002\u093a\u093b\u0007", - "P\u0002\u0002\u093b\u093c\u0007V\u0002\u0002\u093c\u093d\u0007T\u0002", - "\u0002\u093d\u093e\u0007C\u0002\u0002\u093e\u093f\u0007E\u0002\u0002", - "\u093f\u0940\u0007V\u0002\u0002\u0940\u0941\u0007a\u0002\u0002\u0941", - "\u0942\u0007P\u0002\u0002\u0942\u0943\u0007C\u0002\u0002\u0943\u0944", - "\u0007O\u0002\u0002\u0944\u0945\u0007G\u0002\u0002\u0945\u0088\u0003", - "\u0002\u0002\u0002\u0946\u0947\u0007E\u0002\u0002\u0947\u0948\u0007", - "Q\u0002\u0002\u0948\u0949\u0007P\u0002\u0002\u0949\u094a\u0007X\u0002", - "\u0002\u094a\u094b\u0007G\u0002\u0002\u094b\u094c\u0007T\u0002\u0002", - "\u094c\u094d\u0007U\u0002\u0002\u094d\u094e\u0007C\u0002\u0002\u094e", - "\u094f\u0007V\u0002\u0002\u094f\u0950\u0007K\u0002\u0002\u0950\u0951", - "\u0007Q\u0002\u0002\u0951\u0952\u0007P\u0002\u0002\u0952\u008a\u0003", - "\u0002\u0002\u0002\u0953\u0954\u0007V\u0002\u0002\u0954\u0955\u0007", - "T\u0002\u0002\u0955\u0956\u0007[\u0002\u0002\u0956\u0958\u0007a\u0002", - "\u0002\u0957\u0953\u0003\u0002\u0002\u0002\u0957\u0958\u0003\u0002\u0002", - "\u0002\u0958\u0959\u0003\u0002\u0002\u0002\u0959\u095a\u0007E\u0002", - "\u0002\u095a\u095b\u0007Q\u0002\u0002\u095b\u095c\u0007P\u0002\u0002", - "\u095c\u095d\u0007X\u0002\u0002\u095d\u095e\u0007G\u0002\u0002\u095e", - "\u095f\u0007T\u0002\u0002\u095f\u0960\u0007V\u0002\u0002\u0960\u008c", - "\u0003\u0002\u0002\u0002\u0961\u0962\u0007E\u0002\u0002\u0962\u0963", - "\u0007Q\u0002\u0002\u0963\u0964\u0007R\u0002\u0002\u0964\u0965\u0007", - "[\u0002\u0002\u0965\u0966\u0007a\u0002\u0002\u0966\u0967\u0007Q\u0002", - "\u0002\u0967\u0968\u0007P\u0002\u0002\u0968\u0969\u0007N\u0002\u0002", - "\u0969\u096a\u0007[\u0002\u0002\u096a\u008e\u0003\u0002\u0002\u0002", - "\u096b\u096c\u0007E\u0002\u0002\u096c\u096d\u0007T\u0002\u0002\u096d", - "\u096e\u0007G\u0002\u0002\u096e\u096f\u0007C\u0002\u0002\u096f\u0970", - "\u0007V\u0002\u0002\u0970\u0971\u0007G\u0002\u0002\u0971\u0090\u0003", - "\u0002\u0002\u0002\u0972\u0973\u0007E\u0002\u0002\u0973\u0974\u0007", - "T\u0002\u0002\u0974\u0975\u0007Q\u0002\u0002\u0975\u0976\u0007U\u0002", - "\u0002\u0976\u0977\u0007U\u0002\u0002\u0977\u0092\u0003\u0002\u0002", - "\u0002\u0978\u0979\u0007E\u0002\u0002\u0979\u097a\u0007W\u0002\u0002", - "\u097a\u097b\u0007T\u0002\u0002\u097b\u097c\u0007T\u0002\u0002\u097c", - "\u097d\u0007G\u0002\u0002\u097d\u097e\u0007P\u0002\u0002\u097e\u097f", - "\u0007V\u0002\u0002\u097f\u0094\u0003\u0002\u0002\u0002\u0980\u0981", - "\u0007E\u0002\u0002\u0981\u0982\u0007W\u0002\u0002\u0982\u0983\u0007", - "T\u0002\u0002\u0983\u0984\u0007T\u0002\u0002\u0984\u0985\u0007G\u0002", - "\u0002\u0985\u0986\u0007P\u0002\u0002\u0986\u0987\u0007V\u0002\u0002", - "\u0987\u0988\u0007a\u0002\u0002\u0988\u0989\u0007F\u0002\u0002\u0989", - "\u098a\u0007C\u0002\u0002\u098a\u098b\u0007V\u0002\u0002\u098b\u098c", - "\u0007G\u0002\u0002\u098c\u0096\u0003\u0002\u0002\u0002\u098d\u098e", - "\u0007E\u0002\u0002\u098e\u098f\u0007W\u0002\u0002\u098f\u0990\u0007", - "T\u0002\u0002\u0990\u0991\u0007T\u0002\u0002\u0991\u0992\u0007G\u0002", - "\u0002\u0992\u0993\u0007P\u0002\u0002\u0993\u0994\u0007V\u0002\u0002", - "\u0994\u0995\u0007a\u0002\u0002\u0995\u0996\u0007V\u0002\u0002\u0996", - "\u0997\u0007K\u0002\u0002\u0997\u0998\u0007O\u0002\u0002\u0998\u0999", - "\u0007G\u0002\u0002\u0999\u0098\u0003\u0002\u0002\u0002\u099a\u099b", - "\u0007E\u0002\u0002\u099b\u099c\u0007W\u0002\u0002\u099c\u099d\u0007", - "T\u0002\u0002\u099d\u099e\u0007T\u0002\u0002\u099e\u099f\u0007G\u0002", - "\u0002\u099f\u09a0\u0007P\u0002\u0002\u09a0\u09a1\u0007V\u0002\u0002", - "\u09a1\u09a2\u0007a\u0002\u0002\u09a2\u09a3\u0007V\u0002\u0002\u09a3", - "\u09a4\u0007K\u0002\u0002\u09a4\u09a5\u0007O\u0002\u0002\u09a5\u09a6", - "\u0007G\u0002\u0002\u09a6\u09a7\u0007U\u0002\u0002\u09a7\u09a8\u0007", - "V\u0002\u0002\u09a8\u09a9\u0007C\u0002\u0002\u09a9\u09aa\u0007O\u0002", - "\u0002\u09aa\u09ab\u0007R\u0002\u0002\u09ab\u009a\u0003\u0002\u0002", - "\u0002\u09ac\u09ad\u0007E\u0002\u0002\u09ad\u09ae\u0007W\u0002\u0002", - "\u09ae\u09af\u0007T\u0002\u0002\u09af\u09b0\u0007T\u0002\u0002\u09b0", - "\u09b1\u0007G\u0002\u0002\u09b1\u09b2\u0007P\u0002\u0002\u09b2\u09b3", - "\u0007V\u0002\u0002\u09b3\u09b4\u0007a\u0002\u0002\u09b4\u09b5\u0007", - "W\u0002\u0002\u09b5\u09b6\u0007U\u0002\u0002\u09b6\u09b7\u0007G\u0002", - "\u0002\u09b7\u09b8\u0007T\u0002\u0002\u09b8\u009c\u0003\u0002\u0002", - "\u0002\u09b9\u09ba\u0007E\u0002\u0002\u09ba\u09bb\u0007W\u0002\u0002", - "\u09bb\u09bc\u0007T\u0002\u0002\u09bc\u09bd\u0007U\u0002\u0002\u09bd", - "\u09be\u0007Q\u0002\u0002\u09be\u09bf\u0007T\u0002\u0002\u09bf\u009e", - "\u0003\u0002\u0002\u0002\u09c0\u09c1\u0007E\u0002\u0002\u09c1\u09c2", - "\u0007[\u0002\u0002\u09c2\u09c3\u0007E\u0002\u0002\u09c3\u09c4\u0007", - "N\u0002\u0002\u09c4\u09c5\u0007G\u0002\u0002\u09c5\u00a0\u0003\u0002", - "\u0002\u0002\u09c6\u09c7\u0007F\u0002\u0002\u09c7\u09c8\u0007C\u0002", - "\u0002\u09c8\u09c9\u0007V\u0002\u0002\u09c9\u09ca\u0007C\u0002\u0002", - "\u09ca\u09cb\u0007a\u0002\u0002\u09cb\u09cc\u0007E\u0002\u0002\u09cc", - "\u09cd\u0007Q\u0002\u0002\u09cd\u09ce\u0007O\u0002\u0002\u09ce\u09cf", - "\u0007R\u0002\u0002\u09cf\u09d0\u0007T\u0002\u0002\u09d0\u09d1\u0007", - "G\u0002\u0002\u09d1\u09d2\u0007U\u0002\u0002\u09d2\u09d3\u0007U\u0002", - "\u0002\u09d3\u09d4\u0007K\u0002\u0002\u09d4\u09d5\u0007Q\u0002\u0002", - "\u09d5\u09d6\u0007P\u0002\u0002\u09d6\u00a2\u0003\u0002\u0002\u0002", - "\u09d7\u09d8\u0007F\u0002\u0002\u09d8\u09d9\u0007C\u0002\u0002\u09d9", - "\u09da\u0007V\u0002\u0002\u09da\u09db\u0007C\u0002\u0002\u09db\u09dc", - "\u0007a\u0002\u0002\u09dc\u09dd\u0007U\u0002\u0002\u09dd\u09de\u0007", - "Q\u0002\u0002\u09de\u09df\u0007W\u0002\u0002\u09df\u09e0\u0007T\u0002", - "\u0002\u09e0\u09e1\u0007E\u0002\u0002\u09e1\u09e2\u0007G\u0002\u0002", - "\u09e2\u00a4\u0003\u0002\u0002\u0002\u09e3\u09e4\u0007F\u0002\u0002", - "\u09e4\u09e5\u0007C\u0002\u0002\u09e5\u09e6\u0007V\u0002\u0002\u09e6", - "\u09e7\u0007C\u0002\u0002\u09e7\u09e8\u0007D\u0002\u0002\u09e8\u09e9", - "\u0007C\u0002\u0002\u09e9\u09ea\u0007U\u0002\u0002\u09ea\u09eb\u0007", - "G\u0002\u0002\u09eb\u00a6\u0003\u0002\u0002\u0002\u09ec\u09ed\u0007", - "F\u0002\u0002\u09ed\u09ee\u0007C\u0002\u0002\u09ee\u09ef\u0007V\u0002", - "\u0002\u09ef\u09f0\u0007C\u0002\u0002\u09f0\u09f1\u0007D\u0002\u0002", - "\u09f1\u09f2\u0007C\u0002\u0002\u09f2\u09f3\u0007U\u0002\u0002\u09f3", - "\u09f4\u0007G\u0002\u0002\u09f4\u09f5\u0007a\u0002\u0002\u09f5\u09f6", - "\u0007O\u0002\u0002\u09f6\u09f7\u0007K\u0002\u0002\u09f7\u09f8\u0007", - "T\u0002\u0002\u09f8\u09f9\u0007T\u0002\u0002\u09f9\u09fa\u0007Q\u0002", - "\u0002\u09fa\u09fb\u0007T\u0002\u0002\u09fb\u09fc\u0007K\u0002\u0002", - "\u09fc\u09fd\u0007P\u0002\u0002\u09fd\u09fe\u0007I\u0002\u0002\u09fe", - "\u00a8\u0003\u0002\u0002\u0002\u09ff\u0a00\u0007F\u0002\u0002\u0a00", - "\u0a01\u0007D\u0002\u0002\u0a01\u0a02\u0007E\u0002\u0002\u0a02\u0a03", - "\u0007E\u0002\u0002\u0a03\u00aa\u0003\u0002\u0002\u0002\u0a04\u0a05", - "\u0007F\u0002\u0002\u0a05\u0a06\u0007G\u0002\u0002\u0a06\u0a07\u0007", - "C\u0002\u0002\u0a07\u0a08\u0007N\u0002\u0002\u0a08\u0a09\u0007N\u0002", - "\u0002\u0a09\u0a0a\u0007Q\u0002\u0002\u0a0a\u0a0b\u0007E\u0002\u0002", - "\u0a0b\u0a0c\u0007C\u0002\u0002\u0a0c\u0a0d\u0007V\u0002\u0002\u0a0d", - "\u0a0e\u0007G\u0002\u0002\u0a0e\u00ac\u0003\u0002\u0002\u0002\u0a0f", - "\u0a10\u0007F\u0002\u0002\u0a10\u0a11\u0007G\u0002\u0002\u0a11\u0a12", - "\u0007E\u0002\u0002\u0a12\u0a13\u0007N\u0002\u0002\u0a13\u0a14\u0007", - "C\u0002\u0002\u0a14\u0a15\u0007T\u0002\u0002\u0a15\u0a16\u0007G\u0002", - "\u0002\u0a16\u00ae\u0003\u0002\u0002\u0002\u0a17\u0a18\u0007F\u0002", - "\u0002\u0a18\u0a19\u0007G\u0002\u0002\u0a19\u0a1a\u0007H\u0002\u0002", - "\u0a1a\u0a1b\u0007C\u0002\u0002\u0a1b\u0a1c\u0007W\u0002\u0002\u0a1c", - "\u0a1d\u0007N\u0002\u0002\u0a1d\u0a1e\u0007V\u0002\u0002\u0a1e\u00b0", - "\u0003\u0002\u0002\u0002\u0a1f\u0a20\u0007F\u0002\u0002\u0a20\u0a21", - "\u0007G\u0002\u0002\u0a21\u0a22\u0007H\u0002\u0002\u0a22\u0a23\u0007", - "C\u0002\u0002\u0a23\u0a24\u0007W\u0002\u0002\u0a24\u0a25\u0007N\u0002", - "\u0002\u0a25\u0a26\u0007V\u0002\u0002\u0a26\u0a27\u0007a\u0002\u0002", - "\u0a27\u0a28\u0007F\u0002\u0002\u0a28\u0a29\u0007C\u0002\u0002\u0a29", - "\u0a2a\u0007V\u0002\u0002\u0a2a\u0a2b\u0007C\u0002\u0002\u0a2b\u0a2c", - "\u0007D\u0002\u0002\u0a2c\u0a2d\u0007C\u0002\u0002\u0a2d\u0a2e\u0007", - "U\u0002\u0002\u0a2e\u0a2f\u0007G\u0002\u0002\u0a2f\u00b2\u0003\u0002", - "\u0002\u0002\u0a30\u0a31\u0007F\u0002\u0002\u0a31\u0a32\u0007G\u0002", - "\u0002\u0a32\u0a33\u0007H\u0002\u0002\u0a33\u0a34\u0007C\u0002\u0002", - "\u0a34\u0a35\u0007W\u0002\u0002\u0a35\u0a36\u0007N\u0002\u0002\u0a36", - "\u0a37\u0007V\u0002\u0002\u0a37\u0a38\u0007a\u0002\u0002\u0a38\u0a39", - "\u0007U\u0002\u0002\u0a39\u0a3a\u0007E\u0002\u0002\u0a3a\u0a3b\u0007", - "J\u0002\u0002\u0a3b\u0a3c\u0007G\u0002\u0002\u0a3c\u0a3d\u0007O\u0002", - "\u0002\u0a3d\u0a3e\u0007C\u0002\u0002\u0a3e\u00b4\u0003\u0002\u0002", - "\u0002\u0a3f\u0a40\u0007F\u0002\u0002\u0a40\u0a41\u0007G\u0002\u0002", - "\u0a41\u0a42\u0007N\u0002\u0002\u0a42\u0a43\u0007G\u0002\u0002\u0a43", - "\u0a44\u0007V\u0002\u0002\u0a44\u0a45\u0007G\u0002\u0002\u0a45\u00b6", - "\u0003\u0002\u0002\u0002\u0a46\u0a47\u0007F\u0002\u0002\u0a47\u0a48", - "\u0007G\u0002\u0002\u0a48\u0a49\u0007P\u0002\u0002\u0a49\u0a4a\u0007", - "[\u0002\u0002\u0a4a\u00b8\u0003\u0002\u0002\u0002\u0a4b\u0a4c\u0007", - "F\u0002\u0002\u0a4c\u0a4d\u0007G\u0002\u0002\u0a4d\u0a4e\u0007U\u0002", - "\u0002\u0a4e\u0a4f\u0007E\u0002\u0002\u0a4f\u00ba\u0003\u0002\u0002", - "\u0002\u0a50\u0a51\u0007F\u0002\u0002\u0a51\u0a52\u0007K\u0002\u0002", - "\u0a52\u0a53\u0007C\u0002\u0002\u0a53\u0a54\u0007I\u0002\u0002\u0a54", - "\u0a55\u0007P\u0002\u0002\u0a55\u0a56\u0007Q\u0002\u0002\u0a56\u0a57", - "\u0007U\u0002\u0002\u0a57\u0a58\u0007V\u0002\u0002\u0a58\u0a59\u0007", - "K\u0002\u0002\u0a59\u0a5a\u0007E\u0002\u0002\u0a5a\u0a5b\u0007U\u0002", - "\u0002\u0a5b\u00bc\u0003\u0002\u0002\u0002\u0a5c\u0a5d\u0007F\u0002", - "\u0002\u0a5d\u0a5e\u0007K\u0002\u0002\u0a5e\u0a5f\u0007H\u0002\u0002", - "\u0a5f\u0a60\u0007H\u0002\u0002\u0a60\u0a61\u0007G\u0002\u0002\u0a61", - "\u0a62\u0007T\u0002\u0002\u0a62\u0a63\u0007G\u0002\u0002\u0a63\u0a64", - "\u0007P\u0002\u0002\u0a64\u0a65\u0007V\u0002\u0002\u0a65\u0a66\u0007", - "K\u0002\u0002\u0a66\u0a67\u0007C\u0002\u0002\u0a67\u0a68\u0007N\u0002", - "\u0002\u0a68\u00be\u0003\u0002\u0002\u0002\u0a69\u0a6a\u0007F\u0002", - "\u0002\u0a6a\u0a6b\u0007K\u0002\u0002\u0a6b\u0a6c\u0007U\u0002\u0002", - "\u0a6c\u0a6d\u0007M\u0002\u0002\u0a6d\u00c0\u0003\u0002\u0002\u0002", - "\u0a6e\u0a6f\u0007F\u0002\u0002\u0a6f\u0a70\u0007K\u0002\u0002\u0a70", - "\u0a71\u0007U\u0002\u0002\u0a71\u0a72\u0007V\u0002\u0002\u0a72\u0a73", - "\u0007K\u0002\u0002\u0a73\u0a74\u0007P\u0002\u0002\u0a74\u0a75\u0007", - "E\u0002\u0002\u0a75\u0a76\u0007V\u0002\u0002\u0a76\u00c2\u0003\u0002", - "\u0002\u0002\u0a77\u0a78\u0007F\u0002\u0002\u0a78\u0a79\u0007K\u0002", - "\u0002\u0a79\u0a7a\u0007U\u0002\u0002\u0a7a\u0a7b\u0007V\u0002\u0002", - "\u0a7b\u0a7c\u0007T\u0002\u0002\u0a7c\u0a7d\u0007K\u0002\u0002\u0a7d", - "\u0a7e\u0007D\u0002\u0002\u0a7e\u0a7f\u0007W\u0002\u0002\u0a7f\u0a80", - "\u0007V\u0002\u0002\u0a80\u0a81\u0007G\u0002\u0002\u0a81\u0a82\u0007", - "F\u0002\u0002\u0a82\u00c4\u0003\u0002\u0002\u0002\u0a83\u0a84\u0007", - "F\u0002\u0002\u0a84\u0a85\u0007Q\u0002\u0002\u0a85\u0a86\u0007W\u0002", - "\u0002\u0a86\u0a87\u0007D\u0002\u0002\u0a87\u0a88\u0007N\u0002\u0002", - "\u0a88\u0a89\u0007G\u0002\u0002\u0a89\u00c6\u0003\u0002\u0002\u0002", - "\u0a8a\u0a8b\u0007^\u0002\u0002\u0a8b\u0a8c\u0007^\u0002\u0002\u0a8c", - "\u00c8\u0003\u0002\u0002\u0002\u0a8d\u0a8e\u00071\u0002\u0002\u0a8e", - "\u0a8f\u00071\u0002\u0002\u0a8f\u00ca\u0003\u0002\u0002\u0002\u0a90", - "\u0a91\u0007F\u0002\u0002\u0a91\u0a92\u0007T\u0002\u0002\u0a92\u0a93", - "\u0007Q\u0002\u0002\u0a93\u0a94\u0007R\u0002\u0002\u0a94\u00cc\u0003", - "\u0002\u0002\u0002\u0a95\u0a96\u0007F\u0002\u0002\u0a96\u0a97\u0007", - "V\u0002\u0002\u0a97\u0a98\u0007E\u0002\u0002\u0a98\u0a99\u0007a\u0002", - "\u0002\u0a99\u0a9a\u0007U\u0002\u0002\u0a9a\u0a9b\u0007W\u0002\u0002", - "\u0a9b\u0a9c\u0007R\u0002\u0002\u0a9c\u0a9d\u0007R\u0002\u0002\u0a9d", - "\u0a9e\u0007Q\u0002\u0002\u0a9e\u0a9f\u0007T\u0002\u0002\u0a9f\u0aa0", - "\u0007V\u0002\u0002\u0aa0\u00ce\u0003\u0002\u0002\u0002\u0aa1\u0aa2", - "\u0007F\u0002\u0002\u0aa2\u0aa3\u0007W\u0002\u0002\u0aa3\u0aa4\u0007", - "O\u0002\u0002\u0aa4\u0aa5\u0007R\u0002\u0002\u0aa5\u00d0\u0003\u0002", - "\u0002\u0002\u0aa6\u0aa7\u0007G\u0002\u0002\u0aa7\u0aa8\u0007N\u0002", - "\u0002\u0aa8\u0aa9\u0007U\u0002\u0002\u0aa9\u0aaa\u0007G\u0002\u0002", - "\u0aaa\u00d2\u0003\u0002\u0002\u0002\u0aab\u0aac\u0007G\u0002\u0002", - "\u0aac\u0aad\u0007P\u0002\u0002\u0aad\u0aae\u0007C\u0002\u0002\u0aae", - "\u0aaf\u0007D\u0002\u0002\u0aaf\u0ab0\u0007N\u0002\u0002\u0ab0\u0ab1", - "\u0007G\u0002\u0002\u0ab1\u0ab2\u0007F\u0002\u0002\u0ab2\u00d4\u0003", - "\u0002\u0002\u0002\u0ab3\u0ab4\u0007G\u0002\u0002\u0ab4\u0ab5\u0007", - "P\u0002\u0002\u0ab5\u0ab6\u0007F\u0002\u0002\u0ab6\u00d6\u0003\u0002", - "\u0002\u0002\u0ab7\u0ab8\u0007G\u0002\u0002\u0ab8\u0ab9\u0007P\u0002", - "\u0002\u0ab9\u0aba\u0007F\u0002\u0002\u0aba\u0abb\u0007R\u0002\u0002", - "\u0abb\u0abc\u0007Q\u0002\u0002\u0abc\u0abd\u0007K\u0002\u0002\u0abd", - "\u0abe\u0007P\u0002\u0002\u0abe\u0abf\u0007V\u0002\u0002\u0abf\u00d8", - "\u0003\u0002\u0002\u0002\u0ac0\u0ac1\u0007G\u0002\u0002\u0ac1\u0ac2", - "\u0007T\u0002\u0002\u0ac2\u0ac3\u0007T\u0002\u0002\u0ac3\u0ac4\u0007", - "N\u0002\u0002\u0ac4\u0ac5\u0007X\u0002\u0002\u0ac5\u0ac6\u0007N\u0002", - "\u0002\u0ac6\u00da\u0003\u0002\u0002\u0002\u0ac7\u0ac8\u0007G\u0002", - "\u0002\u0ac8\u0ac9\u0007U\u0002\u0002\u0ac9\u0aca\u0007E\u0002\u0002", - "\u0aca\u0acb\u0007C\u0002\u0002\u0acb\u0acc\u0007R\u0002\u0002\u0acc", - "\u0acd\u0007G\u0002\u0002\u0acd\u00dc\u0003\u0002\u0002\u0002\u0ace", - "\u0acf\u0007G\u0002\u0002\u0acf\u0ad0\u0007T\u0002\u0002\u0ad0\u0ad1", - "\u0007T\u0002\u0002\u0ad1\u0ad2\u0007Q\u0002\u0002\u0ad2\u0ad3\u0007", - "T\u0002\u0002\u0ad3\u00de\u0003\u0002\u0002\u0002\u0ad4\u0ad5\u0007", - "G\u0002\u0002\u0ad5\u0ad6\u0007X\u0002\u0002\u0ad6\u0ad7\u0007G\u0002", - "\u0002\u0ad7\u0ad8\u0007P\u0002\u0002\u0ad8\u0ad9\u0007V\u0002\u0002", - "\u0ad9\u00e0\u0003\u0002\u0002\u0002\u0ada\u0adb\u0007G\u0002\u0002", - "\u0adb\u0adc\u0007X\u0002\u0002\u0adc\u0add\u0007G\u0002\u0002\u0add", - "\u0ade\u0007P\u0002\u0002\u0ade\u0adf\u0007V\u0002\u0002\u0adf\u0ae0", - "\u0007F\u0002\u0002\u0ae0\u0ae1\u0007C\u0002\u0002\u0ae1\u0ae2\u0007", - "V\u0002\u0002\u0ae2\u0ae3\u0007C\u0002\u0002\u0ae3\u0ae4\u0003\u0002", - "\u0002\u0002\u0ae4\u0ae5\u0007*\u0002\u0002\u0ae5\u0ae6\u0007+\u0002", - "\u0002\u0ae6\u00e2\u0003\u0002\u0002\u0002\u0ae7\u0ae8\u0007G\u0002", - "\u0002\u0ae8\u0ae9\u0007X\u0002\u0002\u0ae9\u0aea\u0007G\u0002\u0002", - "\u0aea\u0aeb\u0007P\u0002\u0002\u0aeb\u0aec\u0007V\u0002\u0002\u0aec", - "\u0aed\u0007a\u0002\u0002\u0aed\u0aee\u0007T\u0002\u0002\u0aee\u0aef", - "\u0007G\u0002\u0002\u0aef\u0af0\u0007V\u0002\u0002\u0af0\u0af1\u0007", - "G\u0002\u0002\u0af1\u0af2\u0007P\u0002\u0002\u0af2\u0af3\u0007V\u0002", - "\u0002\u0af3\u0af4\u0007K\u0002\u0002\u0af4\u0af5\u0007Q\u0002\u0002", - "\u0af5\u0af6\u0007P\u0002\u0002\u0af6\u0af7\u0007a\u0002\u0002\u0af7", - "\u0af8\u0007O\u0002\u0002\u0af8\u0af9\u0007Q\u0002\u0002\u0af9\u0afa", - "\u0007F\u0002\u0002\u0afa\u0afb\u0007G\u0002\u0002\u0afb\u00e4\u0003", - "\u0002\u0002\u0002\u0afc\u0afd\u0007G\u0002\u0002\u0afd\u0afe\u0007", - "Z\u0002\u0002\u0afe\u0aff\u0007E\u0002\u0002\u0aff\u0b00\u0007G\u0002", - "\u0002\u0b00\u0b01\u0007R\u0002\u0002\u0b01\u0b02\u0007V\u0002\u0002", - "\u0b02\u00e6\u0003\u0002\u0002\u0002\u0b03\u0b04\u0007G\u0002\u0002", - "\u0b04\u0b05\u0007Z\u0002\u0002\u0b05\u0b06\u0007G\u0002\u0002\u0b06", - "\u0b07\u0007E\u0002\u0002\u0b07\u0b08\u0007W\u0002\u0002\u0b08\u0b09", - "\u0007V\u0002\u0002\u0b09\u0b0a\u0007C\u0002\u0002\u0b0a\u0b0b\u0007", - "D\u0002\u0002\u0b0b\u0b0c\u0007N\u0002\u0002\u0b0c\u0b0d\u0007G\u0002", - "\u0002\u0b0d\u0b0e\u0007a\u0002\u0002\u0b0e\u0b0f\u0007H\u0002\u0002", - "\u0b0f\u0b10\u0007K\u0002\u0002\u0b10\u0b11\u0007N\u0002\u0002\u0b11", - "\u0b12\u0007G\u0002\u0002\u0b12\u00e8\u0003\u0002\u0002\u0002\u0b13", - "\u0b14\u0007G\u0002\u0002\u0b14\u0b15\u0007Z\u0002\u0002\u0b15\u0b16", - "\u0007G\u0002\u0002\u0b16\u0b17\u0007E\u0002\u0002\u0b17\u0b1b\u0003", - "\u0002\u0002\u0002\u0b18\u0b19\u0007W\u0002\u0002\u0b19\u0b1a\u0007", - "V\u0002\u0002\u0b1a\u0b1c\u0007G\u0002\u0002\u0b1b\u0b18\u0003\u0002", - "\u0002\u0002\u0b1b\u0b1c\u0003\u0002\u0002\u0002\u0b1c\u00ea\u0003\u0002", - "\u0002\u0002\u0b1d\u0b1e\u0007G\u0002\u0002\u0b1e\u0b1f\u0007Z\u0002", - "\u0002\u0b1f\u0b20\u0007K\u0002\u0002\u0b20\u0b21\u0007U\u0002\u0002", - "\u0b21\u0b22\u0007V\u0002\u0002\u0b22\u0b23\u0007U\u0002\u0002\u0b23", - "\u00ec\u0003\u0002\u0002\u0002\u0b24\u0b25\u0007G\u0002\u0002\u0b25", - "\u0b26\u0007Z\u0002\u0002\u0b26\u0b27\u0007R\u0002\u0002\u0b27\u0b28", - "\u0007K\u0002\u0002\u0b28\u0b29\u0007T\u0002\u0002\u0b29\u0b2a\u0007", - "G\u0002\u0002\u0b2a\u0b2b\u0007F\u0002\u0002\u0b2b\u0b2c\u0007C\u0002", - "\u0002\u0b2c\u0b2d\u0007V\u0002\u0002\u0b2d\u0b2e\u0007G\u0002\u0002", - "\u0b2e\u00ee\u0003\u0002\u0002\u0002\u0b2f\u0b30\u0007G\u0002\u0002", - "\u0b30\u0b31\u0007Z\u0002\u0002\u0b31\u0b32\u0007K\u0002\u0002\u0b32", - "\u0b33\u0007V\u0002\u0002\u0b33\u00f0\u0003\u0002\u0002\u0002\u0b34", - "\u0b35\u0007G\u0002\u0002\u0b35\u0b36\u0007Z\u0002\u0002\u0b36\u0b37", - "\u0007V\u0002\u0002\u0b37\u0b38\u0007G\u0002\u0002\u0b38\u0b39\u0007", - "P\u0002\u0002\u0b39\u0b3a\u0007U\u0002\u0002\u0b3a\u0b3b\u0007K\u0002", - "\u0002\u0b3b\u0b3c\u0007Q\u0002\u0002\u0b3c\u0b3d\u0007P\u0002\u0002", - "\u0b3d\u00f2\u0003\u0002\u0002\u0002\u0b3e\u0b3f\u0007G\u0002\u0002", - "\u0b3f\u0b40\u0007Z\u0002\u0002\u0b40\u0b41\u0007V\u0002\u0002\u0b41", - "\u0b42\u0007G\u0002\u0002\u0b42\u0b43\u0007T\u0002\u0002\u0b43\u0b44", - "\u0007P\u0002\u0002\u0b44\u0b45\u0007C\u0002\u0002\u0b45\u0b46\u0007", - "N\u0002\u0002\u0b46\u00f4\u0003\u0002\u0002\u0002\u0b47\u0b48\u0007", - "G\u0002\u0002\u0b48\u0b49\u0007Z\u0002\u0002\u0b49\u0b4a\u0007V\u0002", - "\u0002\u0b4a\u0b4b\u0007G\u0002\u0002\u0b4b\u0b4c\u0007T\u0002\u0002", - "\u0b4c\u0b4d\u0007P\u0002\u0002\u0b4d\u0b4e\u0007C\u0002\u0002\u0b4e", - "\u0b4f\u0007N\u0002\u0002\u0b4f\u0b50\u0007a\u0002\u0002\u0b50\u0b51", - "\u0007C\u0002\u0002\u0b51\u0b52\u0007E\u0002\u0002\u0b52\u0b53\u0007", - "E\u0002\u0002\u0b53\u0b54\u0007G\u0002\u0002\u0b54\u0b55\u0007U\u0002", - "\u0002\u0b55\u0b56\u0007U\u0002\u0002\u0b56\u00f6\u0003\u0002\u0002", - "\u0002\u0b57\u0b58\u0007H\u0002\u0002\u0b58\u0b59\u0007C\u0002\u0002", - "\u0b59\u0b5a\u0007K\u0002\u0002\u0b5a\u0b5b\u0007N\u0002\u0002\u0b5b", - "\u0b5c\u0007Q\u0002\u0002\u0b5c\u0b5d\u0007X\u0002\u0002\u0b5d\u0b5e", - "\u0007G\u0002\u0002\u0b5e\u0b5f\u0007T\u0002\u0002\u0b5f\u00f8\u0003", - "\u0002\u0002\u0002\u0b60\u0b61\u0007H\u0002\u0002\u0b61\u0b62\u0007", - "C\u0002\u0002\u0b62\u0b63\u0007K\u0002\u0002\u0b63\u0b64\u0007N\u0002", - "\u0002\u0b64\u0b65\u0007W\u0002\u0002\u0b65\u0b66\u0007T\u0002\u0002", - "\u0b66\u0b67\u0007G\u0002\u0002\u0b67\u0b68\u0007E\u0002\u0002\u0b68", - "\u0b69\u0007Q\u0002\u0002\u0b69\u0b6a\u0007P\u0002\u0002\u0b6a\u0b6b", - "\u0007F\u0002\u0002\u0b6b\u0b6c\u0007K\u0002\u0002\u0b6c\u0b6d\u0007", - "V\u0002\u0002\u0b6d\u0b6e\u0007K\u0002\u0002\u0b6e\u0b6f\u0007Q\u0002", - "\u0002\u0b6f\u0b70\u0007P\u0002\u0002\u0b70\u0b71\u0007N\u0002\u0002", - "\u0b71\u0b72\u0007G\u0002\u0002\u0b72\u0b73\u0007X\u0002\u0002\u0b73", - "\u0b74\u0007G\u0002\u0002\u0b74\u0b75\u0007N\u0002\u0002\u0b75\u00fa", - "\u0003\u0002\u0002\u0002\u0b76\u0b77\u0007H\u0002\u0002\u0b77\u0b78", - "\u0007C\u0002\u0002\u0b78\u0b79\u0007P\u0002\u0002\u0b79\u0b7a\u0007", - "a\u0002\u0002\u0b7a\u0b7b\u0007K\u0002\u0002\u0b7b\u0b7c\u0007P\u0002", - "\u0002\u0b7c\u00fc\u0003\u0002\u0002\u0002\u0b7d\u0b7e\u0007H\u0002", - "\u0002\u0b7e\u0b7f\u0007G\u0002\u0002\u0b7f\u0b80\u0007V\u0002\u0002", - "\u0b80\u0b81\u0007E\u0002\u0002\u0b81\u0b82\u0007J\u0002\u0002\u0b82", - "\u00fe\u0003\u0002\u0002\u0002\u0b83\u0b84\u0007H\u0002\u0002\u0b84", - "\u0b85\u0007K\u0002\u0002\u0b85\u0b86\u0007N\u0002\u0002\u0b86\u0b87", - "\u0007G\u0002\u0002\u0b87\u0100\u0003\u0002\u0002\u0002\u0b88\u0b89", - "\u0007H\u0002\u0002\u0b89\u0b8a\u0007K\u0002\u0002\u0b8a\u0b8b\u0007", - "N\u0002\u0002\u0b8b\u0b8c\u0007G\u0002\u0002\u0b8c\u0b8d\u0007P\u0002", - "\u0002\u0b8d\u0b8e\u0007C\u0002\u0002\u0b8e\u0b8f\u0007O\u0002\u0002", - "\u0b8f\u0b90\u0007G\u0002\u0002\u0b90\u0102\u0003\u0002\u0002\u0002", - "\u0b91\u0b92\u0007H\u0002\u0002\u0b92\u0b93\u0007K\u0002\u0002\u0b93", - "\u0b94\u0007N\u0002\u0002\u0b94\u0b95\u0007N\u0002\u0002\u0b95\u0b96", - "\u0007H\u0002\u0002\u0b96\u0b97\u0007C\u0002\u0002\u0b97\u0b98\u0007", - "E\u0002\u0002\u0b98\u0b99\u0007V\u0002\u0002\u0b99\u0b9a\u0007Q\u0002", - "\u0002\u0b9a\u0b9b\u0007T\u0002\u0002\u0b9b\u0104\u0003\u0002\u0002", - "\u0002\u0b9c\u0b9d\u0007H\u0002\u0002\u0b9d\u0b9e\u0007K\u0002\u0002", - "\u0b9e\u0b9f\u0007N\u0002\u0002\u0b9f\u0ba0\u0007G\u0002\u0002\u0ba0", - "\u0ba1\u0007a\u0002\u0002\u0ba1\u0ba2\u0007U\u0002\u0002\u0ba2\u0ba3", - "\u0007P\u0002\u0002\u0ba3\u0ba4\u0007C\u0002\u0002\u0ba4\u0ba5\u0007", - "R\u0002\u0002\u0ba5\u0ba6\u0007U\u0002\u0002\u0ba6\u0ba7\u0007J\u0002", - "\u0002\u0ba7\u0ba8\u0007Q\u0002\u0002\u0ba8\u0ba9\u0007V\u0002\u0002", - "\u0ba9\u0106\u0003\u0002\u0002\u0002\u0baa\u0bab\u0007H\u0002\u0002", - "\u0bab\u0bac\u0007Q\u0002\u0002\u0bac\u0bad\u0007T\u0002\u0002\u0bad", - "\u0108\u0003\u0002\u0002\u0002\u0bae\u0baf\u0007H\u0002\u0002\u0baf", - "\u0bb0\u0007Q\u0002\u0002\u0bb0\u0bb1\u0007T\u0002\u0002\u0bb1\u0bb2", - "\u0007E\u0002\u0002\u0bb2\u0bb3\u0007G\u0002\u0002\u0bb3\u0bb4\u0007", - "U\u0002\u0002\u0bb4\u0bb5\u0007G\u0002\u0002\u0bb5\u0bb6\u0007G\u0002", - "\u0002\u0bb6\u0bb7\u0007M\u0002\u0002\u0bb7\u010a\u0003\u0002\u0002", - "\u0002\u0bb8\u0bb9\u0007H\u0002\u0002\u0bb9\u0bba\u0007Q\u0002\u0002", - "\u0bba\u0bbb\u0007T\u0002\u0002\u0bbb\u0bbc\u0007E\u0002\u0002\u0bbc", - "\u0bbd\u0007G\u0002\u0002\u0bbd\u0bbe\u0007a\u0002\u0002\u0bbe\u0bbf", - "\u0007U\u0002\u0002\u0bbf\u0bc0\u0007G\u0002\u0002\u0bc0\u0bc1\u0007", - "T\u0002\u0002\u0bc1\u0bc2\u0007X\u0002\u0002\u0bc2\u0bc3\u0007K\u0002", - "\u0002\u0bc3\u0bc4\u0007E\u0002\u0002\u0bc4\u0bc5\u0007G\u0002\u0002", - "\u0bc5\u0bc6\u0007a\u0002\u0002\u0bc6\u0bc7\u0007C\u0002\u0002\u0bc7", - "\u0bc8\u0007N\u0002\u0002\u0bc8\u0bc9\u0007N\u0002\u0002\u0bc9\u0bca", - "\u0007Q\u0002\u0002\u0bca\u0bcb\u0007Y\u0002\u0002\u0bcb\u0bcc\u0007", - "a\u0002\u0002\u0bcc\u0bcd\u0007F\u0002\u0002\u0bcd\u0bce\u0007C\u0002", - "\u0002\u0bce\u0bcf\u0007V\u0002\u0002\u0bcf\u0bd0\u0007C\u0002\u0002", - "\u0bd0\u0bd1\u0007a\u0002\u0002\u0bd1\u0bd2\u0007N\u0002\u0002\u0bd2", - "\u0bd3\u0007Q\u0002\u0002\u0bd3\u0bd4\u0007U\u0002\u0002\u0bd4\u0bd5", - "\u0007U\u0002\u0002\u0bd5\u010c\u0003\u0002\u0002\u0002\u0bd6\u0bd7", - "\u0007H\u0002\u0002\u0bd7\u0bd8\u0007Q\u0002\u0002\u0bd8\u0bd9\u0007", - "T\u0002\u0002\u0bd9\u0bda\u0007G\u0002\u0002\u0bda\u0bdb\u0007K\u0002", - "\u0002\u0bdb\u0bdc\u0007I\u0002\u0002\u0bdc\u0bdd\u0007P\u0002\u0002", - "\u0bdd\u010e\u0003\u0002\u0002\u0002\u0bde\u0bdf\u0007H\u0002\u0002", - "\u0bdf\u0be0\u0007T\u0002\u0002\u0be0\u0be1\u0007G\u0002\u0002\u0be1", - "\u0be2\u0007G\u0002\u0002\u0be2\u0be3\u0007V\u0002\u0002\u0be3\u0be4", - "\u0007G\u0002\u0002\u0be4\u0be5\u0007Z\u0002\u0002\u0be5\u0be6\u0007", - "V\u0002\u0002\u0be6\u0110\u0003\u0002\u0002\u0002\u0be7\u0be8\u0007", - "H\u0002\u0002\u0be8\u0be9\u0007T\u0002\u0002\u0be9\u0bea\u0007G\u0002", - "\u0002\u0bea\u0beb\u0007G\u0002\u0002\u0beb\u0bec\u0007V\u0002\u0002", - "\u0bec\u0bed\u0007G\u0002\u0002\u0bed\u0bee\u0007Z\u0002\u0002\u0bee", - "\u0bef\u0007V\u0002\u0002\u0bef\u0bf0\u0007V\u0002\u0002\u0bf0\u0bf1", - "\u0007C\u0002\u0002\u0bf1\u0bf2\u0007D\u0002\u0002\u0bf2\u0bf3\u0007", - "N\u0002\u0002\u0bf3\u0bf4\u0007G\u0002\u0002\u0bf4\u0112\u0003\u0002", - "\u0002\u0002\u0bf5\u0bf6\u0007H\u0002\u0002\u0bf6\u0bf7\u0007T\u0002", - "\u0002\u0bf7\u0bf8\u0007Q\u0002\u0002\u0bf8\u0bf9\u0007O\u0002\u0002", - "\u0bf9\u0114\u0003\u0002\u0002\u0002\u0bfa\u0bfb\u0007H\u0002\u0002", - "\u0bfb\u0bfc\u0007W\u0002\u0002\u0bfc\u0bfd\u0007N\u0002\u0002\u0bfd", - "\u0bfe\u0007N\u0002\u0002\u0bfe\u0116\u0003\u0002\u0002\u0002\u0bff", - "\u0c00\u0007H\u0002\u0002\u0c00\u0c01\u0007W\u0002\u0002\u0c01\u0c02", - "\u0007P\u0002\u0002\u0c02\u0c03\u0007E\u0002\u0002\u0c03\u0c04\u0007", - "V\u0002\u0002\u0c04\u0c05\u0007K\u0002\u0002\u0c05\u0c06\u0007Q\u0002", - "\u0002\u0c06\u0c07\u0007P\u0002\u0002\u0c07\u0118\u0003\u0002\u0002", - "\u0002\u0c08\u0c09\u0007I\u0002\u0002\u0c09\u0c0a\u0007G\u0002\u0002", - "\u0c0a\u0c0b\u0007V\u0002\u0002\u0c0b\u011a\u0003\u0002\u0002\u0002", - "\u0c0c\u0c0d\u0007I\u0002\u0002\u0c0d\u0c0e\u0007Q\u0002\u0002\u0c0e", - "\u0c0f\u0007V\u0002\u0002\u0c0f\u0c10\u0007Q\u0002\u0002\u0c10\u011c", - "\u0003\u0002\u0002\u0002\u0c11\u0c12\u0007I\u0002\u0002\u0c12\u0c13", - "\u0007Q\u0002\u0002\u0c13\u0c14\u0007X\u0002\u0002\u0c14\u0c15\u0007", - "G\u0002\u0002\u0c15\u0c16\u0007T\u0002\u0002\u0c16\u0c17\u0007P\u0002", - "\u0002\u0c17\u0c18\u0007Q\u0002\u0002\u0c18\u0c19\u0007T\u0002\u0002", - "\u0c19\u011e\u0003\u0002\u0002\u0002\u0c1a\u0c1b\u0007I\u0002\u0002", - "\u0c1b\u0c1c\u0007T\u0002\u0002\u0c1c\u0c1d\u0007C\u0002\u0002\u0c1d", - "\u0c1e\u0007P\u0002\u0002\u0c1e\u0c1f\u0007V\u0002\u0002\u0c1f\u0120", - "\u0003\u0002\u0002\u0002\u0c20\u0c21\u0007I\u0002\u0002\u0c21\u0c22", - "\u0007T\u0002\u0002\u0c22\u0c23\u0007Q\u0002\u0002\u0c23\u0c24\u0007", - "W\u0002\u0002\u0c24\u0c25\u0007R\u0002\u0002\u0c25\u0122\u0003\u0002", - "\u0002\u0002\u0c26\u0c27\u0007J\u0002\u0002\u0c27\u0c28\u0007C\u0002", - "\u0002\u0c28\u0c29\u0007X\u0002\u0002\u0c29\u0c2a\u0007K\u0002\u0002", - "\u0c2a\u0c2b\u0007P\u0002\u0002\u0c2b\u0c2c\u0007I\u0002\u0002\u0c2c", - "\u0124\u0003\u0002\u0002\u0002\u0c2d\u0c2e\u0007J\u0002\u0002\u0c2e", - "\u0c2f\u0007C\u0002\u0002\u0c2f\u0c30\u0007U\u0002\u0002\u0c30\u0c31", - "\u0007J\u0002\u0002\u0c31\u0c32\u0007G\u0002\u0002\u0c32\u0c33\u0007", - "F\u0002\u0002\u0c33\u0126\u0003\u0002\u0002\u0002\u0c34\u0c35\u0007", - "J\u0002\u0002\u0c35\u0c36\u0007G\u0002\u0002\u0c36\u0c37\u0007C\u0002", - "\u0002\u0c37\u0c38\u0007N\u0002\u0002\u0c38\u0c39\u0007V\u0002\u0002", - "\u0c39\u0c3a\u0007J\u0002\u0002\u0c3a\u0c3b\u0007E\u0002\u0002\u0c3b", - "\u0c3c\u0007J\u0002\u0002\u0c3c\u0c3d\u0007G\u0002\u0002\u0c3d\u0c3e", - "\u0007E\u0002\u0002\u0c3e\u0c3f\u0007M\u0002\u0002\u0c3f\u0c40\u0007", - "V\u0002\u0002\u0c40\u0c41\u0007K\u0002\u0002\u0c41\u0c42\u0007O\u0002", - "\u0002\u0c42\u0c43\u0007G\u0002\u0002\u0c43\u0c44\u0007Q\u0002\u0002", - "\u0c44\u0c45\u0007W\u0002\u0002\u0c45\u0c46\u0007V\u0002\u0002\u0c46", - "\u0128\u0003\u0002\u0002\u0002\u0c47\u0c48\u0007K\u0002\u0002\u0c48", - "\u0c49\u0007F\u0002\u0002\u0c49\u0c4a\u0007G\u0002\u0002\u0c4a\u0c4b", - "\u0007P\u0002\u0002\u0c4b\u0c4c\u0007V\u0002\u0002\u0c4c\u0c4d\u0007", - "K\u0002\u0002\u0c4d\u0c4e\u0007V\u0002\u0002\u0c4e\u0c4f\u0007[\u0002", - "\u0002\u0c4f\u012a\u0003\u0002\u0002\u0002\u0c50\u0c51\u0007K\u0002", - "\u0002\u0c51\u0c52\u0007F\u0002\u0002\u0c52\u0c53\u0007G\u0002\u0002", - "\u0c53\u0c54\u0007P\u0002\u0002\u0c54\u0c55\u0007V\u0002\u0002\u0c55", - "\u0c56\u0007K\u0002\u0002\u0c56\u0c57\u0007V\u0002\u0002\u0c57\u0c58", - "\u0007[\u0002\u0002\u0c58\u0c59\u0007E\u0002\u0002\u0c59\u0c5a\u0007", - "Q\u0002\u0002\u0c5a\u0c5b\u0007N\u0002\u0002\u0c5b\u012c\u0003\u0002", - "\u0002\u0002\u0c5c\u0c5d\u0007K\u0002\u0002\u0c5d\u0c5e\u0007F\u0002", - "\u0002\u0c5e\u0c5f\u0007G\u0002\u0002\u0c5f\u0c60\u0007P\u0002\u0002", - "\u0c60\u0c61\u0007V\u0002\u0002\u0c61\u0c62\u0007K\u0002\u0002\u0c62", - "\u0c63\u0007V\u0002\u0002\u0c63\u0c64\u0007[\u0002\u0002\u0c64\u0c65", - "\u0007a\u0002\u0002\u0c65\u0c66\u0007K\u0002\u0002\u0c66\u0c67\u0007", - "P\u0002\u0002\u0c67\u0c68\u0007U\u0002\u0002\u0c68\u0c69\u0007G\u0002", - "\u0002\u0c69\u0c6a\u0007T\u0002\u0002\u0c6a\u0c6b\u0007V\u0002\u0002", - "\u0c6b\u012e\u0003\u0002\u0002\u0002\u0c6c\u0c6d\u0007K\u0002\u0002", - "\u0c6d\u0c6e\u0007H\u0002\u0002\u0c6e\u0130\u0003\u0002\u0002\u0002", - "\u0c6f\u0c70\u0007K\u0002\u0002\u0c70\u0c71\u0007K\u0002\u0002\u0c71", - "\u0c72\u0007H\u0002\u0002\u0c72\u0132\u0003\u0002\u0002\u0002\u0c73", - "\u0c74\u0007K\u0002\u0002\u0c74\u0c75\u0007P\u0002\u0002\u0c75\u0134", - "\u0003\u0002\u0002\u0002\u0c76\u0c77\u0007K\u0002\u0002\u0c77\u0c78", - "\u0007P\u0002\u0002\u0c78\u0c79\u0007E\u0002\u0002\u0c79\u0c7a\u0007", - "N\u0002\u0002\u0c7a\u0c7b\u0007W\u0002\u0002\u0c7b\u0c7c\u0007F\u0002", - "\u0002\u0c7c\u0c7d\u0007G\u0002\u0002\u0c7d\u0136\u0003\u0002\u0002", - "\u0002\u0c7e\u0c7f\u0007K\u0002\u0002\u0c7f\u0c80\u0007P\u0002\u0002", - "\u0c80\u0c81\u0007E\u0002\u0002\u0c81\u0c82\u0007T\u0002\u0002\u0c82", - "\u0c83\u0007G\u0002\u0002\u0c83\u0c84\u0007O\u0002\u0002\u0c84\u0c85", - "\u0007G\u0002\u0002\u0c85\u0c86\u0007P\u0002\u0002\u0c86\u0c87\u0007", - "V\u0002\u0002\u0c87\u0138\u0003\u0002\u0002\u0002\u0c88\u0c89\u0007", - "K\u0002\u0002\u0c89\u0c8a\u0007P\u0002\u0002\u0c8a\u0c8b\u0007F\u0002", - "\u0002\u0c8b\u0c8c\u0007G\u0002\u0002\u0c8c\u0c8d\u0007Z\u0002\u0002", - "\u0c8d\u013a\u0003\u0002\u0002\u0002\u0c8e\u0c8f\u0007K\u0002\u0002", - "\u0c8f\u0c90\u0007P\u0002\u0002\u0c90\u0c91\u0007H\u0002\u0002\u0c91", - "\u0c92\u0007K\u0002\u0002\u0c92\u0c93\u0007P\u0002\u0002\u0c93\u0c94", - "\u0007K\u0002\u0002\u0c94\u0c95\u0007V\u0002\u0002\u0c95\u0c96\u0007", - "G\u0002\u0002\u0c96\u013c\u0003\u0002\u0002\u0002\u0c97\u0c98\u0007", - "K\u0002\u0002\u0c98\u0c99\u0007P\u0002\u0002\u0c99\u0c9a\u0007K\u0002", - "\u0002\u0c9a\u0c9b\u0007V\u0002\u0002\u0c9b\u013e\u0003\u0002\u0002", - "\u0002\u0c9c\u0c9d\u0007K\u0002\u0002\u0c9d\u0c9e\u0007P\u0002\u0002", - "\u0c9e\u0c9f\u0007P\u0002\u0002\u0c9f\u0ca0\u0007G\u0002\u0002\u0ca0", - "\u0ca1\u0007T\u0002\u0002\u0ca1\u0140\u0003\u0002\u0002\u0002\u0ca2", - "\u0ca3\u0007K\u0002\u0002\u0ca3\u0ca4\u0007P\u0002\u0002\u0ca4\u0ca5", - "\u0007U\u0002\u0002\u0ca5\u0ca6\u0007G\u0002\u0002\u0ca6\u0ca7\u0007", - "T\u0002\u0002\u0ca7\u0ca8\u0007V\u0002\u0002\u0ca8\u0142\u0003\u0002", - "\u0002\u0002\u0ca9\u0caa\u0007K\u0002\u0002\u0caa\u0cab\u0007P\u0002", - "\u0002\u0cab\u0cac\u0007U\u0002\u0002\u0cac\u0cad\u0007V\u0002\u0002", - "\u0cad\u0cae\u0007G\u0002\u0002\u0cae\u0caf\u0007C\u0002\u0002\u0caf", - "\u0cb0\u0007F\u0002\u0002\u0cb0\u0144\u0003\u0002\u0002\u0002\u0cb1", - "\u0cb2\u0007K\u0002\u0002\u0cb2\u0cb3\u0007P\u0002\u0002\u0cb3\u0cb4", - "\u0007V\u0002\u0002\u0cb4\u0cb5\u0007G\u0002\u0002\u0cb5\u0cb6\u0007", - "T\u0002\u0002\u0cb6\u0cb7\u0007U\u0002\u0002\u0cb7\u0cb8\u0007G\u0002", - "\u0002\u0cb8\u0cb9\u0007E\u0002\u0002\u0cb9\u0cba\u0007V\u0002\u0002", - "\u0cba\u0146\u0003\u0002\u0002\u0002\u0cbb\u0cbc\u0007K\u0002\u0002", - "\u0cbc\u0cbd\u0007P\u0002\u0002\u0cbd\u0cbe\u0007V\u0002\u0002\u0cbe", - "\u0cbf\u0007Q\u0002\u0002\u0cbf\u0148\u0003\u0002\u0002\u0002\u0cc0", - "\u0cc2\t\u0002\u0002\u0002\u0cc1\u0cc0\u0003\u0002\u0002\u0002\u0cc1", - "\u0cc2\u0003\u0002\u0002\u0002\u0cc2\u0cc3\u0003\u0002\u0002\u0002\u0cc3", - "\u0cc4\u0005\u0695\u034b\u0002\u0cc4\u0cc5\u0005\u066b\u0336\u0002\u0cc5", - "\u0cc6\u0005\u0695\u034b\u0002\u0cc6\u0cc7\u0005\u066b\u0336\u0002\u0cc7", - "\u0cc8\u0005\u0695\u034b\u0002\u0cc8\u0cc9\u0005\u066b\u0336\u0002\u0cc9", - "\u0ccb\u0005\u0695\u034b\u0002\u0cca\u0ccc\t\u0002\u0002\u0002\u0ccb", - "\u0cca\u0003\u0002\u0002\u0002\u0ccb\u0ccc\u0003\u0002\u0002\u0002\u0ccc", - "\u014a\u0003\u0002\u0002\u0002\u0ccd\u0ccf\t\u0002\u0002\u0002\u0cce", - "\u0ccd\u0003\u0002\u0002\u0002\u0cce\u0ccf\u0003\u0002\u0002\u0002\u0ccf", - "\u0cd1\u0003\u0002\u0002\u0002\u0cd0\u0cd2\t\u0003\u0002\u0002\u0cd1", - "\u0cd0\u0003\u0002\u0002\u0002\u0cd1\u0cd2\u0003\u0002\u0002\u0002\u0cd2", - "\u0cd4\u0003\u0002\u0002\u0002\u0cd3\u0cd5\t\u0003\u0002\u0002\u0cd4", - "\u0cd3\u0003\u0002\u0002\u0002\u0cd4\u0cd5\u0003\u0002\u0002\u0002\u0cd5", - "\u0cd7\u0003\u0002\u0002\u0002\u0cd6\u0cd8\t\u0003\u0002\u0002\u0cd7", - "\u0cd6\u0003\u0002\u0002\u0002\u0cd7\u0cd8\u0003\u0002\u0002\u0002\u0cd8", - "\u0cda\u0003\u0002\u0002\u0002\u0cd9\u0cdb\t\u0003\u0002\u0002\u0cda", - "\u0cd9\u0003\u0002\u0002\u0002\u0cda\u0cdb\u0003\u0002\u0002\u0002\u0cdb", - "\u0cdc\u0003\u0002\u0002\u0002\u0cdc\u0cde\t\u0004\u0002\u0002\u0cdd", - "\u0cdf\t\u0003\u0002\u0002\u0cde\u0cdd\u0003\u0002\u0002\u0002\u0cde", - "\u0cdf\u0003\u0002\u0002\u0002\u0cdf\u0ce1\u0003\u0002\u0002\u0002\u0ce0", - "\u0ce2\t\u0003\u0002\u0002\u0ce1\u0ce0\u0003\u0002\u0002\u0002\u0ce1", - "\u0ce2\u0003\u0002\u0002\u0002\u0ce2\u0ce4\u0003\u0002\u0002\u0002\u0ce3", - "\u0ce5\t\u0003\u0002\u0002\u0ce4\u0ce3\u0003\u0002\u0002\u0002\u0ce4", - "\u0ce5\u0003\u0002\u0002\u0002\u0ce5\u0ce7\u0003\u0002\u0002\u0002\u0ce6", - "\u0ce8\t\u0003\u0002\u0002\u0ce7\u0ce6\u0003\u0002\u0002\u0002\u0ce7", - "\u0ce8\u0003\u0002\u0002\u0002\u0ce8\u0ce9\u0003\u0002\u0002\u0002\u0ce9", - "\u0ceb\t\u0004\u0002\u0002\u0cea\u0cec\t\u0003\u0002\u0002\u0ceb\u0cea", - "\u0003\u0002\u0002\u0002\u0ceb\u0cec\u0003\u0002\u0002\u0002\u0cec\u0cee", - "\u0003\u0002\u0002\u0002\u0ced\u0cef\t\u0003\u0002\u0002\u0cee\u0ced", - "\u0003\u0002\u0002\u0002\u0cee\u0cef\u0003\u0002\u0002\u0002\u0cef\u0cf1", - "\u0003\u0002\u0002\u0002\u0cf0\u0cf2\t\u0003\u0002\u0002\u0cf1\u0cf0", - "\u0003\u0002\u0002\u0002\u0cf1\u0cf2\u0003\u0002\u0002\u0002\u0cf2\u0cf4", - "\u0003\u0002\u0002\u0002\u0cf3\u0cf5\t\u0003\u0002\u0002\u0cf4\u0cf3", - "\u0003\u0002\u0002\u0002\u0cf4\u0cf5\u0003\u0002\u0002\u0002\u0cf5\u0cf6", - "\u0003\u0002\u0002\u0002\u0cf6\u0cf8\t\u0004\u0002\u0002\u0cf7\u0cf9", - "\t\u0003\u0002\u0002\u0cf8\u0cf7\u0003\u0002\u0002\u0002\u0cf8\u0cf9", - "\u0003\u0002\u0002\u0002\u0cf9\u0cfb\u0003\u0002\u0002\u0002\u0cfa\u0cfc", - "\t\u0003\u0002\u0002\u0cfb\u0cfa\u0003\u0002\u0002\u0002\u0cfb\u0cfc", - "\u0003\u0002\u0002\u0002\u0cfc\u0cfe\u0003\u0002\u0002\u0002\u0cfd\u0cff", - "\t\u0003\u0002\u0002\u0cfe\u0cfd\u0003\u0002\u0002\u0002\u0cfe\u0cff", - "\u0003\u0002\u0002\u0002\u0cff\u0d01\u0003\u0002\u0002\u0002\u0d00\u0d02", - "\t\u0003\u0002\u0002\u0d01\u0d00\u0003\u0002\u0002\u0002\u0d01\u0d02", - "\u0003\u0002\u0002\u0002\u0d02\u0d03\u0003\u0002\u0002\u0002\u0d03\u0d05", - "\t\u0004\u0002\u0002\u0d04\u0d06\t\u0003\u0002\u0002\u0d05\u0d04\u0003", - "\u0002\u0002\u0002\u0d05\u0d06\u0003\u0002\u0002\u0002\u0d06\u0d08\u0003", - "\u0002\u0002\u0002\u0d07\u0d09\t\u0003\u0002\u0002\u0d08\u0d07\u0003", - "\u0002\u0002\u0002\u0d08\u0d09\u0003\u0002\u0002\u0002\u0d09\u0d0b\u0003", - "\u0002\u0002\u0002\u0d0a\u0d0c\t\u0003\u0002\u0002\u0d0b\u0d0a\u0003", - "\u0002\u0002\u0002\u0d0b\u0d0c\u0003\u0002\u0002\u0002\u0d0c\u0d0e\u0003", - "\u0002\u0002\u0002\u0d0d\u0d0f\t\u0003\u0002\u0002\u0d0e\u0d0d\u0003", - "\u0002\u0002\u0002\u0d0e\u0d0f\u0003\u0002\u0002\u0002\u0d0f\u0d10\u0003", - "\u0002\u0002\u0002\u0d10\u0d12\t\u0004\u0002\u0002\u0d11\u0d13\t\u0003", - "\u0002\u0002\u0d12\u0d11\u0003\u0002\u0002\u0002\u0d12\u0d13\u0003\u0002", - "\u0002\u0002\u0d13\u0d15\u0003\u0002\u0002\u0002\u0d14\u0d16\t\u0003", - "\u0002\u0002\u0d15\u0d14\u0003\u0002\u0002\u0002\u0d15\u0d16\u0003\u0002", - "\u0002\u0002\u0d16\u0d18\u0003\u0002\u0002\u0002\u0d17\u0d19\t\u0003", - "\u0002\u0002\u0d18\u0d17\u0003\u0002\u0002\u0002\u0d18\u0d19\u0003\u0002", - "\u0002\u0002\u0d19\u0d1b\u0003\u0002\u0002\u0002\u0d1a\u0d1c\t\u0003", - "\u0002\u0002\u0d1b\u0d1a\u0003\u0002\u0002\u0002\u0d1b\u0d1c\u0003\u0002", - "\u0002\u0002\u0d1c\u0d1d\u0003\u0002\u0002\u0002\u0d1d\u0d1f\t\u0004", - "\u0002\u0002\u0d1e\u0d20\t\u0003\u0002\u0002\u0d1f\u0d1e\u0003\u0002", - "\u0002\u0002\u0d1f\u0d20\u0003\u0002\u0002\u0002\u0d20\u0d22\u0003\u0002", - "\u0002\u0002\u0d21\u0d23\t\u0003\u0002\u0002\u0d22\u0d21\u0003\u0002", - "\u0002\u0002\u0d22\u0d23\u0003\u0002\u0002\u0002\u0d23\u0d25\u0003\u0002", - "\u0002\u0002\u0d24\u0d26\t\u0003\u0002\u0002\u0d25\u0d24\u0003\u0002", - "\u0002\u0002\u0d25\u0d26\u0003\u0002\u0002\u0002\u0d26\u0d28\u0003\u0002", - "\u0002\u0002\u0d27\u0d29\t\u0003\u0002\u0002\u0d28\u0d27\u0003\u0002", - "\u0002\u0002\u0d28\u0d29\u0003\u0002\u0002\u0002\u0d29\u0d2a\u0003\u0002", - "\u0002\u0002\u0d2a\u0d2c\t\u0004\u0002\u0002\u0d2b\u0d2d\t\u0003\u0002", - "\u0002\u0d2c\u0d2b\u0003\u0002\u0002\u0002\u0d2c\u0d2d\u0003\u0002\u0002", - "\u0002\u0d2d\u0d2f\u0003\u0002\u0002\u0002\u0d2e\u0d30\t\u0003\u0002", - "\u0002\u0d2f\u0d2e\u0003\u0002\u0002\u0002\u0d2f\u0d30\u0003\u0002\u0002", - "\u0002\u0d30\u0d32\u0003\u0002\u0002\u0002\u0d31\u0d33\t\u0003\u0002", - "\u0002\u0d32\u0d31\u0003\u0002\u0002\u0002\u0d32\u0d33\u0003\u0002\u0002", - "\u0002\u0d33\u0d35\u0003\u0002\u0002\u0002\u0d34\u0d36\t\u0003\u0002", - "\u0002\u0d35\u0d34\u0003\u0002\u0002\u0002\u0d35\u0d36\u0003\u0002\u0002", - "\u0002\u0d36\u0d38\u0003\u0002\u0002\u0002\u0d37\u0d39\t\u0002\u0002", - "\u0002\u0d38\u0d37\u0003\u0002\u0002\u0002\u0d38\u0d39\u0003\u0002\u0002", - "\u0002\u0d39\u014c\u0003\u0002\u0002\u0002\u0d3a\u0d3b\u0007K\u0002", - "\u0002\u0d3b\u0d3c\u0007U\u0002\u0002\u0d3c\u014e\u0003\u0002\u0002", - "\u0002\u0d3d\u0d3e\u0007K\u0002\u0002\u0d3e\u0d3f\u0007U\u0002\u0002", - "\u0d3f\u0d40\u0007P\u0002\u0002\u0d40\u0d41\u0007W\u0002\u0002\u0d41", - "\u0d42\u0007N\u0002\u0002\u0d42\u0d43\u0007N\u0002\u0002\u0d43\u0150", - "\u0003\u0002\u0002\u0002\u0d44\u0d45\u0007L\u0002\u0002\u0d45\u0d46", - "\u0007Q\u0002\u0002\u0d46\u0d47\u0007K\u0002\u0002\u0d47\u0d48\u0007", - "P\u0002\u0002\u0d48\u0152\u0003\u0002\u0002\u0002\u0d49\u0d4a\u0007", - "M\u0002\u0002\u0d4a\u0d4b\u0007G\u0002\u0002\u0d4b\u0d4c\u0007T\u0002", - "\u0002\u0d4c\u0d4d\u0007D\u0002\u0002\u0d4d\u0d4e\u0007G\u0002\u0002", - "\u0d4e\u0d4f\u0007T\u0002\u0002\u0d4f\u0d50\u0007Q\u0002\u0002\u0d50", - "\u0d51\u0007U\u0002\u0002\u0d51\u0154\u0003\u0002\u0002\u0002\u0d52", - "\u0d53\u0007M\u0002\u0002\u0d53\u0d54\u0007G\u0002\u0002\u0d54\u0d55", - "\u0007[\u0002\u0002\u0d55\u0156\u0003\u0002\u0002\u0002\u0d56\u0d57", - "\u0007M\u0002\u0002\u0d57\u0d58\u0007G\u0002\u0002\u0d58\u0d59\u0007", - "[\u0002\u0002\u0d59\u0d5a\u0007a\u0002\u0002\u0d5a\u0d5b\u0007R\u0002", - "\u0002\u0d5b\u0d5c\u0007C\u0002\u0002\u0d5c\u0d5d\u0007V\u0002\u0002", - "\u0d5d\u0d5e\u0007J\u0002\u0002\u0d5e\u0158\u0003\u0002\u0002\u0002", - "\u0d5f\u0d60\u0007M\u0002\u0002\u0d60\u0d61\u0007G\u0002\u0002\u0d61", - "\u0d62\u0007[\u0002\u0002\u0d62\u0d63\u0007a\u0002\u0002\u0d63\u0d64", - "\u0007U\u0002\u0002\u0d64\u0d65\u0007V\u0002\u0002\u0d65\u0d66\u0007", - "Q\u0002\u0002\u0d66\u0d67\u0007T\u0002\u0002\u0d67\u0d68\u0007G\u0002", - "\u0002\u0d68\u0d69\u0007a\u0002\u0002\u0d69\u0d6a\u0007R\u0002\u0002", - "\u0d6a\u0d6b\u0007T\u0002\u0002\u0d6b\u0d6c\u0007Q\u0002\u0002\u0d6c", - "\u0d6d\u0007X\u0002\u0002\u0d6d\u0d6e\u0007K\u0002\u0002\u0d6e\u0d6f", - "\u0007F\u0002\u0002\u0d6f\u0d70\u0007G\u0002\u0002\u0d70\u0d71\u0007", - "T\u0002\u0002\u0d71\u0d72\u0007a\u0002\u0002\u0d72\u0d73\u0007P\u0002", - "\u0002\u0d73\u0d74\u0007C\u0002\u0002\u0d74\u0d75\u0007O\u0002\u0002", - "\u0d75\u0d76\u0007G\u0002\u0002\u0d76\u015a\u0003\u0002\u0002\u0002", - "\u0d77\u0d78\u0007M\u0002\u0002\u0d78\u0d79\u0007K\u0002\u0002\u0d79", - "\u0d7a\u0007N\u0002\u0002\u0d7a\u0d7b\u0007N\u0002\u0002\u0d7b\u015c", - "\u0003\u0002\u0002\u0002\u0d7c\u0d7d\u0007N\u0002\u0002\u0d7d\u0d7e", - "\u0007C\u0002\u0002\u0d7e\u0d7f\u0007P\u0002\u0002\u0d7f\u0d80\u0007", - "I\u0002\u0002\u0d80\u0d81\u0007W\u0002\u0002\u0d81\u0d82\u0007C\u0002", - "\u0002\u0d82\u0d83\u0007I\u0002\u0002\u0d83\u0d84\u0007G\u0002\u0002", - "\u0d84\u015e\u0003\u0002\u0002\u0002\u0d85\u0d86\u0007N\u0002\u0002", - "\u0d86\u0d87\u0007G\u0002\u0002\u0d87\u0d88\u0007H\u0002\u0002\u0d88", - "\u0d89\u0007V\u0002\u0002\u0d89\u0160\u0003\u0002\u0002\u0002\u0d8a", - "\u0d8b\u0007N\u0002\u0002\u0d8b\u0d8c\u0007K\u0002\u0002\u0d8c\u0d8d", - "\u0007D\u0002\u0002\u0d8d\u0d8e\u0007T\u0002\u0002\u0d8e\u0d8f\u0007", - "C\u0002\u0002\u0d8f\u0d90\u0007T\u0002\u0002\u0d90\u0d91\u0007[\u0002", - "\u0002\u0d91\u0162\u0003\u0002\u0002\u0002\u0d92\u0d93\u0007N\u0002", - "\u0002\u0d93\u0d94\u0007K\u0002\u0002\u0d94\u0d95\u0007H\u0002\u0002", - "\u0d95\u0d96\u0007G\u0002\u0002\u0d96\u0d97\u0007V\u0002\u0002\u0d97", - "\u0d98\u0007K\u0002\u0002\u0d98\u0d99\u0007O\u0002\u0002\u0d99\u0d9a", - "\u0007G\u0002\u0002\u0d9a\u0164\u0003\u0002\u0002\u0002\u0d9b\u0d9c", - "\u0007N\u0002\u0002\u0d9c\u0d9d\u0007K\u0002\u0002\u0d9d\u0d9e\u0007", - "M\u0002\u0002\u0d9e\u0d9f\u0007G\u0002\u0002\u0d9f\u0166\u0003\u0002", - "\u0002\u0002\u0da0\u0da1\u0007N\u0002\u0002\u0da1\u0da2\u0007K\u0002", - "\u0002\u0da2\u0da3\u0007P\u0002\u0002\u0da3\u0da4\u0007G\u0002\u0002", - "\u0da4\u0da5\u0007P\u0002\u0002\u0da5\u0da6\u0007Q\u0002\u0002\u0da6", - "\u0168\u0003\u0002\u0002\u0002\u0da7\u0da8\u0007N\u0002\u0002\u0da8", - "\u0da9\u0007K\u0002\u0002\u0da9\u0daa\u0007P\u0002\u0002\u0daa\u0dab", - "\u0007W\u0002\u0002\u0dab\u0dac\u0007Z\u0002\u0002\u0dac\u016a\u0003", - "\u0002\u0002\u0002\u0dad\u0dae\u0007N\u0002\u0002\u0dae\u0daf\u0007", - "K\u0002\u0002\u0daf\u0db0\u0007U\u0002\u0002\u0db0\u0db1\u0007V\u0002", - "\u0002\u0db1\u0db2\u0007G\u0002\u0002\u0db2\u0db3\u0007P\u0002\u0002", - "\u0db3\u0db4\u0007G\u0002\u0002\u0db4\u0db5\u0007T\u0002\u0002\u0db5", - "\u0db6\u0007a\u0002\u0002\u0db6\u0db7\u0007K\u0002\u0002\u0db7\u0db8", - "\u0007R\u0002\u0002\u0db8\u016c\u0003\u0002\u0002\u0002\u0db9\u0dba", - "\u0007N\u0002\u0002\u0dba\u0dbb\u0007K\u0002\u0002\u0dbb\u0dbc\u0007", - "U\u0002\u0002\u0dbc\u0dbd\u0007V\u0002\u0002\u0dbd\u0dbe\u0007G\u0002", - "\u0002\u0dbe\u0dbf\u0007P\u0002\u0002\u0dbf\u0dc0\u0007G\u0002\u0002", - "\u0dc0\u0dc1\u0007T\u0002\u0002\u0dc1\u0dc2\u0007a\u0002\u0002\u0dc2", - "\u0dc3\u0007R\u0002\u0002\u0dc3\u0dc4\u0007Q\u0002\u0002\u0dc4\u0dc5", - "\u0007T\u0002\u0002\u0dc5\u0dc6\u0007V\u0002\u0002\u0dc6\u016e\u0003", - "\u0002\u0002\u0002\u0dc7\u0dc8\u0007N\u0002\u0002\u0dc8\u0dc9\u0007", - "Q\u0002\u0002\u0dc9\u0dca\u0007C\u0002\u0002\u0dca\u0dcb\u0007F\u0002", - "\u0002\u0dcb\u0170\u0003\u0002\u0002\u0002\u0dcc\u0dcd\u0007N\u0002", - "\u0002\u0dcd\u0dce\u0007Q\u0002\u0002\u0dce\u0dcf\u0007E\u0002\u0002", - "\u0dcf\u0dd0\u0007C\u0002\u0002\u0dd0\u0dd1\u0007N\u0002\u0002\u0dd1", - "\u0dd2\u0007a\u0002\u0002\u0dd2\u0dd3\u0007U\u0002\u0002\u0dd3\u0dd4", - "\u0007G\u0002\u0002\u0dd4\u0dd5\u0007T\u0002\u0002\u0dd5\u0dd6\u0007", - "X\u0002\u0002\u0dd6\u0dd7\u0007K\u0002\u0002\u0dd7\u0dd8\u0007E\u0002", - "\u0002\u0dd8\u0dd9\u0007G\u0002\u0002\u0dd9\u0dda\u0007a\u0002\u0002", - "\u0dda\u0ddb\u0007P\u0002\u0002\u0ddb\u0ddc\u0007C\u0002\u0002\u0ddc", - "\u0ddd\u0007O\u0002\u0002\u0ddd\u0dde\u0007G\u0002\u0002\u0dde\u0172", - "\u0003\u0002\u0002\u0002\u0ddf\u0de0\u0007N\u0002\u0002\u0de0\u0de1", - "\u0007Q\u0002\u0002\u0de1\u0de2\u0007I\u0002\u0002\u0de2\u0174\u0003", - "\u0002\u0002\u0002\u0de3\u0de4\u0007O\u0002\u0002\u0de4\u0de5\u0007", - "C\u0002\u0002\u0de5\u0de6\u0007V\u0002\u0002\u0de6\u0de7\u0007E\u0002", - "\u0002\u0de7\u0de8\u0007J\u0002\u0002\u0de8\u0de9\u0007G\u0002\u0002", - "\u0de9\u0dea\u0007F\u0002\u0002\u0dea\u0176\u0003\u0002\u0002\u0002", - "\u0deb\u0dec\u0007O\u0002\u0002\u0dec\u0ded\u0007C\u0002\u0002\u0ded", - "\u0dee\u0007U\u0002\u0002\u0dee\u0def\u0007V\u0002\u0002\u0def\u0df0", - "\u0007G\u0002\u0002\u0df0\u0df1\u0007T\u0002\u0002\u0df1\u0178\u0003", - "\u0002\u0002\u0002\u0df2\u0df3\u0007O\u0002\u0002\u0df3\u0df4\u0007", - "C\u0002\u0002\u0df4\u0df5\u0007Z\u0002\u0002\u0df5\u0df6\u0007a\u0002", - "\u0002\u0df6\u0df7\u0007O\u0002\u0002\u0df7\u0df8\u0007G\u0002\u0002", - "\u0df8\u0df9\u0007O\u0002\u0002\u0df9\u0dfa\u0007Q\u0002\u0002\u0dfa", - "\u0dfb\u0007T\u0002\u0002\u0dfb\u0dfc\u0007[\u0002\u0002\u0dfc\u017a", - "\u0003\u0002\u0002\u0002\u0dfd\u0dfe\u0007O\u0002\u0002\u0dfe\u0dff", - "\u0007C\u0002\u0002\u0dff\u0e00\u0007Z\u0002\u0002\u0e00\u0e01\u0007", - "V\u0002\u0002\u0e01\u0e02\u0007T\u0002\u0002\u0e02\u0e03\u0007C\u0002", - "\u0002\u0e03\u0e04\u0007P\u0002\u0002\u0e04\u0e05\u0007U\u0002\u0002", - "\u0e05\u0e06\u0007H\u0002\u0002\u0e06\u0e07\u0007G\u0002\u0002\u0e07", - "\u0e08\u0007T\u0002\u0002\u0e08\u017c\u0003\u0002\u0002\u0002\u0e09", - "\u0e0a\u0007O\u0002\u0002\u0e0a\u0e0b\u0007C\u0002\u0002\u0e0b\u0e0c", - "\u0007Z\u0002\u0002\u0e0c\u0e0d\u0007X\u0002\u0002\u0e0d\u0e0e\u0007", - "C\u0002\u0002\u0e0e\u0e0f\u0007N\u0002\u0002\u0e0f\u0e10\u0007W\u0002", - "\u0002\u0e10\u0e11\u0007G\u0002\u0002\u0e11\u017e\u0003\u0002\u0002", - "\u0002\u0e12\u0e13\u0007O\u0002\u0002\u0e13\u0e14\u0007C\u0002\u0002", - "\u0e14\u0e15\u0007Z\u0002\u0002\u0e15\u0e16\u0007a\u0002\u0002\u0e16", - "\u0e17\u0007F\u0002\u0002\u0e17\u0e18\u0007K\u0002\u0002\u0e18\u0e19", - "\u0007U\u0002\u0002\u0e19\u0e1a\u0007R\u0002\u0002\u0e1a\u0e1b\u0007", - "C\u0002\u0002\u0e1b\u0e1c\u0007V\u0002\u0002\u0e1c\u0e1d\u0007E\u0002", - "\u0002\u0e1d\u0e1e\u0007J\u0002\u0002\u0e1e\u0e1f\u0007a\u0002\u0002", - "\u0e1f\u0e20\u0007N\u0002\u0002\u0e20\u0e21\u0007C\u0002\u0002\u0e21", - "\u0e22\u0007V\u0002\u0002\u0e22\u0e23\u0007G\u0002\u0002\u0e23\u0e24", - "\u0007P\u0002\u0002\u0e24\u0e25\u0007E\u0002\u0002\u0e25\u0e26\u0007", - "[\u0002\u0002\u0e26\u0180\u0003\u0002\u0002\u0002\u0e27\u0e28\u0007", - "O\u0002\u0002\u0e28\u0e29\u0007C\u0002\u0002\u0e29\u0e2a\u0007Z\u0002", - "\u0002\u0e2a\u0e2b\u0007a\u0002\u0002\u0e2b\u0e2c\u0007G\u0002\u0002", - "\u0e2c\u0e2d\u0007X\u0002\u0002\u0e2d\u0e2e\u0007G\u0002\u0002\u0e2e", - "\u0e2f\u0007P\u0002\u0002\u0e2f\u0e30\u0007V\u0002\u0002\u0e30\u0e31", - "\u0007a\u0002\u0002\u0e31\u0e32\u0007U\u0002\u0002\u0e32\u0e33\u0007", - "K\u0002\u0002\u0e33\u0e34\u0007\\\u0002\u0002\u0e34\u0e35\u0007G\u0002", - "\u0002\u0e35\u0182\u0003\u0002\u0002\u0002\u0e36\u0e37\u0007O\u0002", - "\u0002\u0e37\u0e38\u0007C\u0002\u0002\u0e38\u0e39\u0007Z\u0002\u0002", - "\u0e39\u0e3a\u0007a\u0002\u0002\u0e3a\u0e3b\u0007U\u0002\u0002\u0e3b", - "\u0e3c\u0007K\u0002\u0002\u0e3c\u0e3d\u0007\\\u0002\u0002\u0e3d\u0e3e", - "\u0007G\u0002\u0002\u0e3e\u0184\u0003\u0002\u0002\u0002\u0e3f\u0e40", - "\u0007O\u0002\u0002\u0e40\u0e41\u0007C\u0002\u0002\u0e41\u0e42\u0007", - "Z\u0002\u0002\u0e42\u0e43\u0007a\u0002\u0002\u0e43\u0e44\u0007Q\u0002", - "\u0002\u0e44\u0e45\u0007W\u0002\u0002\u0e45\u0e46\u0007V\u0002\u0002", - "\u0e46\u0e47\u0007U\u0002\u0002\u0e47\u0e48\u0007V\u0002\u0002\u0e48", - "\u0e49\u0007C\u0002\u0002\u0e49\u0e4a\u0007P\u0002\u0002\u0e4a\u0e4b", - "\u0007F\u0002\u0002\u0e4b\u0e4c\u0007K\u0002\u0002\u0e4c\u0e4d\u0007", - "P\u0002\u0002\u0e4d\u0e4e\u0007I\u0002\u0002\u0e4e\u0e4f\u0007a\u0002", - "\u0002\u0e4f\u0e50\u0007K\u0002\u0002\u0e50\u0e51\u0007Q\u0002\u0002", - "\u0e51\u0e52\u0007a\u0002\u0002\u0e52\u0e53\u0007R\u0002\u0002\u0e53", - "\u0e54\u0007G\u0002\u0002\u0e54\u0e55\u0007T\u0002\u0002\u0e55\u0e56", - "\u0007a\u0002\u0002\u0e56\u0e57\u0007X\u0002\u0002\u0e57\u0e58\u0007", - "Q\u0002\u0002\u0e58\u0e59\u0007N\u0002\u0002\u0e59\u0e5a\u0007W\u0002", - "\u0002\u0e5a\u0e5b\u0007O\u0002\u0002\u0e5b\u0e5c\u0007G\u0002\u0002", - "\u0e5c\u0186\u0003\u0002\u0002\u0002\u0e5d\u0e5e\u0007O\u0002\u0002", - "\u0e5e\u0e5f\u0007G\u0002\u0002\u0e5f\u0e60\u0007F\u0002\u0002\u0e60", - "\u0e61\u0007K\u0002\u0002\u0e61\u0e62\u0007C\u0002\u0002\u0e62\u0e63", - "\u0007F\u0002\u0002\u0e63\u0e64\u0007G\u0002\u0002\u0e64\u0e65\u0007", - "U\u0002\u0002\u0e65\u0e66\u0007E\u0002\u0002\u0e66\u0e67\u0007T\u0002", - "\u0002\u0e67\u0e68\u0007K\u0002\u0002\u0e68\u0e69\u0007R\u0002\u0002", - "\u0e69\u0e6a\u0007V\u0002\u0002\u0e6a\u0e6b\u0007K\u0002\u0002\u0e6b", - "\u0e6c\u0007Q\u0002\u0002\u0e6c\u0e6d\u0007P\u0002\u0002\u0e6d\u0188", - "\u0003\u0002\u0002\u0002\u0e6e\u0e6f\u0007O\u0002\u0002\u0e6f\u0e70", - "\u0007G\u0002\u0002\u0e70\u0e71\u0007F\u0002\u0002\u0e71\u0e72\u0007", - "K\u0002\u0002\u0e72\u0e73\u0007C\u0002\u0002\u0e73\u0e74\u0007P\u0002", - "\u0002\u0e74\u0e75\u0007C\u0002\u0002\u0e75\u0e76\u0007O\u0002\u0002", - "\u0e76\u0e77\u0007G\u0002\u0002\u0e77\u018a\u0003\u0002\u0002\u0002", - "\u0e78\u0e79\u0007O\u0002\u0002\u0e79\u0e7a\u0007G\u0002\u0002\u0e7a", - "\u0e7b\u0007O\u0002\u0002\u0e7b\u0e7c\u0007D\u0002\u0002\u0e7c\u0e7d", - "\u0007G\u0002\u0002\u0e7d\u0e7e\u0007T\u0002\u0002\u0e7e\u018c\u0003", - "\u0002\u0002\u0002\u0e7f\u0e80\u0007O\u0002\u0002\u0e80\u0e81\u0007", - "G\u0002\u0002\u0e81\u0e82\u0007O\u0002\u0002\u0e82\u0e83\u0007Q\u0002", - "\u0002\u0e83\u0e84\u0007T\u0002\u0002\u0e84\u0e85\u0007[\u0002\u0002", - "\u0e85\u0e86\u0007a\u0002\u0002\u0e86\u0e87\u0007R\u0002\u0002\u0e87", - "\u0e88\u0007C\u0002\u0002\u0e88\u0e89\u0007T\u0002\u0002\u0e89\u0e8a", - "\u0007V\u0002\u0002\u0e8a\u0e8b\u0007K\u0002\u0002\u0e8b\u0e8c\u0007", - "V\u0002\u0002\u0e8c\u0e8d\u0007K\u0002\u0002\u0e8d\u0e8e\u0007Q\u0002", - "\u0002\u0e8e\u0e8f\u0007P\u0002\u0002\u0e8f\u0e90\u0007a\u0002\u0002", - "\u0e90\u0e91\u0007O\u0002\u0002\u0e91\u0e92\u0007Q\u0002\u0002\u0e92", - "\u0e93\u0007F\u0002\u0002\u0e93\u0e94\u0007G\u0002\u0002\u0e94\u018e", - "\u0003\u0002\u0002\u0002\u0e95\u0e96\u0007O\u0002\u0002\u0e96\u0e97", - "\u0007G\u0002\u0002\u0e97\u0e98\u0007T\u0002\u0002\u0e98\u0e99\u0007", - "I\u0002\u0002\u0e99\u0e9a\u0007G\u0002\u0002\u0e9a\u0190\u0003\u0002", - "\u0002\u0002\u0e9b\u0e9c\u0007O\u0002\u0002\u0e9c\u0e9d\u0007G\u0002", - "\u0002\u0e9d\u0e9e\u0007U\u0002\u0002\u0e9e\u0e9f\u0007U\u0002\u0002", - "\u0e9f\u0ea0\u0007C\u0002\u0002\u0ea0\u0ea1\u0007I\u0002\u0002\u0ea1", - "\u0ea2\u0007G\u0002\u0002\u0ea2\u0ea3\u0007a\u0002\u0002\u0ea3\u0ea4", - "\u0007H\u0002\u0002\u0ea4\u0ea5\u0007Q\u0002\u0002\u0ea5\u0ea6\u0007", - "T\u0002\u0002\u0ea6\u0ea7\u0007Y\u0002\u0002\u0ea7\u0ea8\u0007C\u0002", - "\u0002\u0ea8\u0ea9\u0007T\u0002\u0002\u0ea9\u0eaa\u0007F\u0002\u0002", - "\u0eaa\u0eab\u0007K\u0002\u0002\u0eab\u0eac\u0007P\u0002\u0002\u0eac", - "\u0ead\u0007I\u0002\u0002\u0ead\u0192\u0003\u0002\u0002\u0002\u0eae", - "\u0eaf\u0007O\u0002\u0002\u0eaf\u0eb0\u0007G\u0002\u0002\u0eb0\u0eb1", - "\u0007U\u0002\u0002\u0eb1\u0eb2\u0007U\u0002\u0002\u0eb2\u0eb3\u0007", - "C\u0002\u0002\u0eb3\u0eb4\u0007I\u0002\u0002\u0eb4\u0eb5\u0007G\u0002", - "\u0002\u0eb5\u0eb6\u0007a\u0002\u0002\u0eb6\u0eb7\u0007H\u0002\u0002", - "\u0eb7\u0eb8\u0007Q\u0002\u0002\u0eb8\u0eb9\u0007T\u0002\u0002\u0eb9", - "\u0eba\u0007Y\u0002\u0002\u0eba\u0ebb\u0007C\u0002\u0002\u0ebb\u0ebc", - "\u0007T\u0002\u0002\u0ebc\u0ebd\u0007F\u0002\u0002\u0ebd\u0ebe\u0007", - "a\u0002\u0002\u0ebe\u0ebf\u0007U\u0002\u0002\u0ebf\u0ec0\u0007K\u0002", - "\u0002\u0ec0\u0ec1\u0007\\\u0002\u0002\u0ec1\u0ec2\u0007G\u0002\u0002", - "\u0ec2\u0194\u0003\u0002\u0002\u0002\u0ec3\u0ec4\u0007O\u0002\u0002", - "\u0ec4\u0ec5\u0007K\u0002\u0002\u0ec5\u0ec6\u0007P\u0002\u0002\u0ec6", - "\u0ec7\u0007X\u0002\u0002\u0ec7\u0ec8\u0007C\u0002\u0002\u0ec8\u0ec9", - "\u0007N\u0002\u0002\u0ec9\u0eca\u0007W\u0002\u0002\u0eca\u0ecb\u0007", - "G\u0002\u0002\u0ecb\u0196\u0003\u0002\u0002\u0002\u0ecc\u0ecd\u0007", - "O\u0002\u0002\u0ecd\u0ece\u0007K\u0002\u0002\u0ece\u0ecf\u0007T\u0002", - "\u0002\u0ecf\u0ed0\u0007T\u0002\u0002\u0ed0\u0ed1\u0007Q\u0002\u0002", - "\u0ed1\u0ed2\u0007T\u0002\u0002\u0ed2\u0198\u0003\u0002\u0002\u0002", - "\u0ed3\u0ed4\u0007O\u0002\u0002\u0ed4\u0ed5\u0007W\u0002\u0002\u0ed5", - "\u0ed6\u0007U\u0002\u0002\u0ed6\u0ed7\u0007V\u0002\u0002\u0ed7\u0ed8", - "\u0007a\u0002\u0002\u0ed8\u0ed9\u0007E\u0002\u0002\u0ed9\u0eda\u0007", - "J\u0002\u0002\u0eda\u0edb\u0007C\u0002\u0002\u0edb\u0edc\u0007P\u0002", - "\u0002\u0edc\u0edd\u0007I\u0002\u0002\u0edd\u0ede\u0007G\u0002\u0002", - "\u0ede\u019a\u0003\u0002\u0002\u0002\u0edf\u0ee0\u0007P\u0002\u0002", - "\u0ee0\u0ee1\u0007C\u0002\u0002\u0ee1\u0ee2\u0007V\u0002\u0002\u0ee2", - "\u0ee3\u0007K\u0002\u0002\u0ee3\u0ee4\u0007Q\u0002\u0002\u0ee4\u0ee5", - "\u0007P\u0002\u0002\u0ee5\u0ee6\u0007C\u0002\u0002\u0ee6\u0ee7\u0007", - "N\u0002\u0002\u0ee7\u019c\u0003\u0002\u0002\u0002\u0ee8\u0ee9\u0007", - "P\u0002\u0002\u0ee9\u0eea\u0007G\u0002\u0002\u0eea\u0eeb\u0007I\u0002", - "\u0002\u0eeb\u0eec\u0007Q\u0002\u0002\u0eec\u0eed\u0007V\u0002\u0002", - "\u0eed\u0eee\u0007K\u0002\u0002\u0eee\u0eef\u0007C\u0002\u0002\u0eef", - "\u0ef0\u0007V\u0002\u0002\u0ef0\u0ef1\u0007G\u0002\u0002\u0ef1\u019e", - "\u0003\u0002\u0002\u0002\u0ef2\u0ef3\u0007P\u0002\u0002\u0ef3\u0ef4", - "\u0007Q\u0002\u0002\u0ef4\u0ef5\u0007E\u0002\u0002\u0ef5\u0ef6\u0007", - "J\u0002\u0002\u0ef6\u0ef7\u0007G\u0002\u0002\u0ef7\u0ef8\u0007E\u0002", - "\u0002\u0ef8\u0ef9\u0007M\u0002\u0002\u0ef9\u01a0\u0003\u0002\u0002", - "\u0002\u0efa\u0efb\u0007P\u0002\u0002\u0efb\u0efc\u0007Q\u0002\u0002", - "\u0efc\u0efd\u0007H\u0002\u0002\u0efd\u0efe\u0007Q\u0002\u0002\u0efe", - "\u0eff\u0007T\u0002\u0002\u0eff\u0f00\u0007O\u0002\u0002\u0f00\u0f01", - "\u0007C\u0002\u0002\u0f01\u0f02\u0007V\u0002\u0002\u0f02\u01a2\u0003", - "\u0002\u0002\u0002\u0f03\u0f04\u0007P\u0002\u0002\u0f04\u0f05\u0007", - "Q\u0002\u0002\u0f05\u0f06\u0007K\u0002\u0002\u0f06\u0f07\u0007P\u0002", - "\u0002\u0f07\u0f08\u0007K\u0002\u0002\u0f08\u0f09\u0007V\u0002\u0002", - "\u0f09\u01a4\u0003\u0002\u0002\u0002\u0f0a\u0f0b\u0007P\u0002\u0002", - "\u0f0b\u0f0c\u0007Q\u0002\u0002\u0f0c\u0f0d\u0007P\u0002\u0002\u0f0d", - "\u0f0e\u0007E\u0002\u0002\u0f0e\u0f0f\u0007N\u0002\u0002\u0f0f\u0f10", - "\u0007W\u0002\u0002\u0f10\u0f11\u0007U\u0002\u0002\u0f11\u0f12\u0007", - "V\u0002\u0002\u0f12\u0f13\u0007G\u0002\u0002\u0f13\u0f14\u0007T\u0002", - "\u0002\u0f14\u0f15\u0007G\u0002\u0002\u0f15\u0f16\u0007F\u0002\u0002", - "\u0f16\u01a6\u0003\u0002\u0002\u0002\u0f17\u0f18\u0007P\u0002\u0002", - "\u0f18\u0f19\u0007Q\u0002\u0002\u0f19\u0f1a\u0007P\u0002\u0002\u0f1a", - "\u0f1b\u0007G\u0002\u0002\u0f1b\u01a8\u0003\u0002\u0002\u0002\u0f1c", - "\u0f1d\u0007P\u0002\u0002\u0f1d\u0f1e\u0007Q\u0002\u0002\u0f1e\u0f1f", - "\u0007T\u0002\u0002\u0f1f\u0f20\u0007G\u0002\u0002\u0f20\u0f21\u0007", - "Y\u0002\u0002\u0f21\u0f22\u0007K\u0002\u0002\u0f22\u0f23\u0007P\u0002", - "\u0002\u0f23\u0f24\u0007F\u0002\u0002\u0f24\u01aa\u0003\u0002\u0002", - "\u0002\u0f25\u0f26\u0007P\u0002\u0002\u0f26\u0f27\u0007Q\u0002\u0002", - "\u0f27\u0f28\u0007U\u0002\u0002\u0f28\u0f29\u0007M\u0002\u0002\u0f29", - "\u0f2a\u0007K\u0002\u0002\u0f2a\u0f2b\u0007R\u0002\u0002\u0f2b\u01ac", - "\u0003\u0002\u0002\u0002\u0f2c\u0f2d\u0007P\u0002\u0002\u0f2d\u0f2e", - "\u0007Q\u0002\u0002\u0f2e\u0f2f\u0007W\u0002\u0002\u0f2f\u0f30\u0007", - "P\u0002\u0002\u0f30\u0f31\u0007N\u0002\u0002\u0f31\u0f32\u0007Q\u0002", - "\u0002\u0f32\u0f33\u0007C\u0002\u0002\u0f33\u0f34\u0007F\u0002\u0002", - "\u0f34\u01ae\u0003\u0002\u0002\u0002\u0f35\u0f36\u0007P\u0002\u0002", - "\u0f36\u0f37\u0007Q\u0002\u0002\u0f37\u0f38\u0007a\u0002\u0002\u0f38", - "\u0f39\u0007E\u0002\u0002\u0f39\u0f3a\u0007J\u0002\u0002\u0f3a\u0f3b", - "\u0007G\u0002\u0002\u0f3b\u0f3c\u0007E\u0002\u0002\u0f3c\u0f3d\u0007", - "M\u0002\u0002\u0f3d\u0f3e\u0007U\u0002\u0002\u0f3e\u0f3f\u0007W\u0002", - "\u0002\u0f3f\u0f40\u0007O\u0002\u0002\u0f40\u01b0\u0003\u0002\u0002", - "\u0002\u0f41\u0f42\u0007P\u0002\u0002\u0f42\u0f43\u0007Q\u0002\u0002", - "\u0f43\u0f44\u0007a\u0002\u0002\u0f44\u0f45\u0007E\u0002\u0002\u0f45", - "\u0f46\u0007Q\u0002\u0002\u0f46\u0f47\u0007O\u0002\u0002\u0f47\u0f48", - "\u0007R\u0002\u0002\u0f48\u0f49\u0007T\u0002\u0002\u0f49\u0f4a\u0007", - "G\u0002\u0002\u0f4a\u0f4b\u0007U\u0002\u0002\u0f4b\u0f4c\u0007U\u0002", - "\u0002\u0f4c\u0f4d\u0007K\u0002\u0002\u0f4d\u0f4e\u0007Q\u0002\u0002", - "\u0f4e\u0f4f\u0007P\u0002\u0002\u0f4f\u01b2\u0003\u0002\u0002\u0002", - "\u0f50\u0f51\u0007P\u0002\u0002\u0f51\u0f52\u0007Q\u0002\u0002\u0f52", - "\u0f53\u0007a\u0002\u0002\u0f53\u0f54\u0007G\u0002\u0002\u0f54\u0f55", - "\u0007X\u0002\u0002\u0f55\u0f56\u0007G\u0002\u0002\u0f56\u0f57\u0007", - "P\u0002\u0002\u0f57\u0f58\u0007V\u0002\u0002\u0f58\u0f59\u0007a\u0002", - "\u0002\u0f59\u0f5a\u0007N\u0002\u0002\u0f5a\u0f5b\u0007Q\u0002\u0002", - "\u0f5b\u0f5c\u0007U\u0002\u0002\u0f5c\u0f5d\u0007U\u0002\u0002\u0f5d", - "\u01b4\u0003\u0002\u0002\u0002\u0f5e\u0f5f\u0007P\u0002\u0002\u0f5f", - "\u0f60\u0007Q\u0002\u0002\u0f60\u0f61\u0007V\u0002\u0002\u0f61\u01b6", - "\u0003\u0002\u0002\u0002\u0f62\u0f63\u0007P\u0002\u0002\u0f63\u0f64", - "\u0007Q\u0002\u0002\u0f64\u0f65\u0007V\u0002\u0002\u0f65\u0f66\u0007", - "K\u0002\u0002\u0f66\u0f67\u0007H\u0002\u0002\u0f67\u0f68\u0007K\u0002", - "\u0002\u0f68\u0f69\u0007E\u0002\u0002\u0f69\u0f6a\u0007C\u0002\u0002", - "\u0f6a\u0f6b\u0007V\u0002\u0002\u0f6b\u0f6c\u0007K\u0002\u0002\u0f6c", - "\u0f6d\u0007Q\u0002\u0002\u0f6d\u0f6e\u0007P\u0002\u0002\u0f6e\u01b8", - "\u0003\u0002\u0002\u0002\u0f6f\u0f70\u0007P\u0002\u0002\u0f70\u0f71", - "\u0007V\u0002\u0002\u0f71\u0f72\u0007N\u0002\u0002\u0f72\u0f73\u0007", - "O\u0002\u0002\u0f73\u01ba\u0003\u0002\u0002\u0002\u0f74\u0f75\u0007", - "P\u0002\u0002\u0f75\u0f76\u0007W\u0002\u0002\u0f76\u0f77\u0007N\u0002", - "\u0002\u0f77\u0f78\u0007N\u0002\u0002\u0f78\u01bc\u0003\u0002\u0002", - "\u0002\u0f79\u0f7a\u0007P\u0002\u0002\u0f7a\u0f7b\u0007W\u0002\u0002", - "\u0f7b\u0f7c\u0007N\u0002\u0002\u0f7c\u0f7d\u0007N\u0002\u0002\u0f7d", - "\u0f7e\u0007K\u0002\u0002\u0f7e\u0f7f\u0007H\u0002\u0002\u0f7f\u01be", - "\u0003\u0002\u0002\u0002\u0f80\u0f81\u0007Q\u0002\u0002\u0f81\u0f82", - "\u0007H\u0002\u0002\u0f82\u01c0\u0003\u0002\u0002\u0002\u0f83\u0f84", - "\u0007Q\u0002\u0002\u0f84\u0f85\u0007H\u0002\u0002\u0f85\u0f86\u0007", - "H\u0002\u0002\u0f86\u01c2\u0003\u0002\u0002\u0002\u0f87\u0f88\u0007", - "Q\u0002\u0002\u0f88\u0f89\u0007H\u0002\u0002\u0f89\u0f8a\u0007H\u0002", - "\u0002\u0f8a\u0f8b\u0007U\u0002\u0002\u0f8b\u0f8c\u0007G\u0002\u0002", - "\u0f8c\u0f8d\u0007V\u0002\u0002\u0f8d\u0f8e\u0007U\u0002\u0002\u0f8e", - "\u01c4\u0003\u0002\u0002\u0002\u0f8f\u0f90\u0007Q\u0002\u0002\u0f90", - "\u0f91\u0007N\u0002\u0002\u0f91\u0f92\u0007F\u0002\u0002\u0f92\u0f93", - "\u0007a\u0002\u0002\u0f93\u0f94\u0007R\u0002\u0002\u0f94\u0f95\u0007", - "C\u0002\u0002\u0f95\u0f96\u0007U\u0002\u0002\u0f96\u0f97\u0007U\u0002", - "\u0002\u0f97\u0f98\u0007Y\u0002\u0002\u0f98\u0f99\u0007Q\u0002\u0002", - "\u0f99\u0f9a\u0007T\u0002\u0002\u0f9a\u0f9b\u0007F\u0002\u0002\u0f9b", - "\u01c6\u0003\u0002\u0002\u0002\u0f9c\u0f9d\u0007Q\u0002\u0002\u0f9d", - "\u0f9e\u0007P\u0002\u0002\u0f9e\u01c8\u0003\u0002\u0002\u0002\u0f9f", - "\u0fa0\u0007Q\u0002\u0002\u0fa0\u0fa1\u0007P\u0002\u0002\u0fa1\u0fa2", - "\u0007a\u0002\u0002\u0fa2\u0fa3\u0007H\u0002\u0002\u0fa3\u0fa4\u0007", - "C\u0002\u0002\u0fa4\u0fa5\u0007K\u0002\u0002\u0fa5\u0fa6\u0007N\u0002", - "\u0002\u0fa6\u0fa7\u0007W\u0002\u0002\u0fa7\u0fa8\u0007T\u0002\u0002", - "\u0fa8\u0fa9\u0007G\u0002\u0002\u0fa9\u01ca\u0003\u0002\u0002\u0002", - "\u0faa\u0fab\u0007Q\u0002\u0002\u0fab\u0fac\u0007R\u0002\u0002\u0fac", - "\u0fad\u0007G\u0002\u0002\u0fad\u0fae\u0007P\u0002\u0002\u0fae\u01cc", - "\u0003\u0002\u0002\u0002\u0faf\u0fb0\u0007Q\u0002\u0002\u0fb0\u0fb1", - "\u0007R\u0002\u0002\u0fb1\u0fb2\u0007G\u0002\u0002\u0fb2\u0fb3\u0007", - "P\u0002\u0002\u0fb3\u0fb4\u0007F\u0002\u0002\u0fb4\u0fb5\u0007C\u0002", - "\u0002\u0fb5\u0fb6\u0007V\u0002\u0002\u0fb6\u0fb7\u0007C\u0002\u0002", - "\u0fb7\u0fb8\u0007U\u0002\u0002\u0fb8\u0fb9\u0007Q\u0002\u0002\u0fb9", - "\u0fba\u0007W\u0002\u0002\u0fba\u0fbb\u0007T\u0002\u0002\u0fbb\u0fbc", - "\u0007E\u0002\u0002\u0fbc\u0fbd\u0007G\u0002\u0002\u0fbd\u01ce\u0003", - "\u0002\u0002\u0002\u0fbe\u0fbf\u0007Q\u0002\u0002\u0fbf\u0fc0\u0007", - "R\u0002\u0002\u0fc0\u0fc1\u0007G\u0002\u0002\u0fc1\u0fc2\u0007P\u0002", - "\u0002\u0fc2\u0fc3\u0007S\u0002\u0002\u0fc3\u0fc4\u0007W\u0002\u0002", - "\u0fc4\u0fc5\u0007G\u0002\u0002\u0fc5\u0fc6\u0007T\u0002\u0002\u0fc6", - "\u0fc7\u0007[\u0002\u0002\u0fc7\u01d0\u0003\u0002\u0002\u0002\u0fc8", - "\u0fc9\u0007Q\u0002\u0002\u0fc9\u0fca\u0007R\u0002\u0002\u0fca\u0fcb", - "\u0007G\u0002\u0002\u0fcb\u0fcc\u0007P\u0002\u0002\u0fcc\u0fcd\u0007", - "T\u0002\u0002\u0fcd\u0fce\u0007Q\u0002\u0002\u0fce\u0fcf\u0007Y\u0002", - "\u0002\u0fcf\u0fd0\u0007U\u0002\u0002\u0fd0\u0fd1\u0007G\u0002\u0002", - "\u0fd1\u0fd2\u0007V\u0002\u0002\u0fd2\u01d2\u0003\u0002\u0002\u0002", - "\u0fd3\u0fd4\u0007Q\u0002\u0002\u0fd4\u0fd5\u0007R\u0002\u0002\u0fd5", - "\u0fd6\u0007G\u0002\u0002\u0fd6\u0fd7\u0007P\u0002\u0002\u0fd7\u0fd8", - "\u0007Z\u0002\u0002\u0fd8\u0fd9\u0007O\u0002\u0002\u0fd9\u0fda\u0007", - "N\u0002\u0002\u0fda\u01d4\u0003\u0002\u0002\u0002\u0fdb\u0fdc\u0007", - "Q\u0002\u0002\u0fdc\u0fdd\u0007R\u0002\u0002\u0fdd\u0fde\u0007V\u0002", - "\u0002\u0fde\u0fdf\u0007K\u0002\u0002\u0fdf\u0fe0\u0007Q\u0002\u0002", - "\u0fe0\u0fe1\u0007P\u0002\u0002\u0fe1\u01d6\u0003\u0002\u0002\u0002", - "\u0fe2\u0fe3\u0007Q\u0002\u0002\u0fe3\u0fe4\u0007T\u0002\u0002\u0fe4", - "\u01d8\u0003\u0002\u0002\u0002\u0fe5\u0fe6\u0007Q\u0002\u0002\u0fe6", - "\u0fe7\u0007T\u0002\u0002\u0fe7\u0fe8\u0007F\u0002\u0002\u0fe8\u0fe9", - "\u0007G\u0002\u0002\u0fe9\u0fea\u0007T\u0002\u0002\u0fea\u01da\u0003", - "\u0002\u0002\u0002\u0feb\u0fec\u0007Q\u0002\u0002\u0fec\u0fed\u0007", - "W\u0002\u0002\u0fed\u0fee\u0007V\u0002\u0002\u0fee\u0fef\u0007G\u0002", - "\u0002\u0fef\u0ff0\u0007T\u0002\u0002\u0ff0\u01dc\u0003\u0002\u0002", - "\u0002\u0ff1\u0ff2\u0007Q\u0002\u0002\u0ff2\u0ff3\u0007X\u0002\u0002", - "\u0ff3\u0ff4\u0007G\u0002\u0002\u0ff4\u0ff5\u0007T\u0002\u0002\u0ff5", - "\u01de\u0003\u0002\u0002\u0002\u0ff6\u0ff7\u0007R\u0002\u0002\u0ff7", - "\u0ff8\u0007C\u0002\u0002\u0ff8\u0ff9\u0007I\u0002\u0002\u0ff9\u0ffa", - "\u0007G\u0002\u0002\u0ffa\u01e0\u0003\u0002\u0002\u0002\u0ffb\u0ffc", - "\u0007R\u0002\u0002\u0ffc\u0ffd\u0007C\u0002\u0002\u0ffd\u0ffe\u0007", - "T\u0002\u0002\u0ffe\u0fff\u0007C\u0002\u0002\u0fff\u1000\u0007O\u0002", - "\u0002\u1000\u1001\u0007a\u0002\u0002\u1001\u1002\u0007P\u0002\u0002", - "\u1002\u1003\u0007Q\u0002\u0002\u1003\u1004\u0007F\u0002\u0002\u1004", - "\u1005\u0007G\u0002\u0002\u1005\u01e2\u0003\u0002\u0002\u0002\u1006", - "\u1007\u0007R\u0002\u0002\u1007\u1008\u0007C\u0002\u0002\u1008\u1009", - "\u0007T\u0002\u0002\u1009\u100a\u0007V\u0002\u0002\u100a\u100b\u0007", - "K\u0002\u0002\u100b\u100c\u0007C\u0002\u0002\u100c\u100d\u0007N\u0002", - "\u0002\u100d\u01e4\u0003\u0002\u0002\u0002\u100e\u100f\u0007R\u0002", - "\u0002\u100f\u1010\u0007C\u0002\u0002\u1010\u1011\u0007U\u0002\u0002", - "\u1011\u1012\u0007U\u0002\u0002\u1012\u1013\u0007Y\u0002\u0002\u1013", - "\u1014\u0007Q\u0002\u0002\u1014\u1015\u0007T\u0002\u0002\u1015\u1016", - "\u0007F\u0002\u0002\u1016\u01e6\u0003\u0002\u0002\u0002\u1017\u1018", - "\u0007R\u0002\u0002\u1018\u1019\u0007G\u0002\u0002\u1019\u101a\u0007", - "T\u0002\u0002\u101a\u101b\u0007E\u0002\u0002\u101b\u101c\u0007G\u0002", - "\u0002\u101c\u101d\u0007P\u0002\u0002\u101d\u101e\u0007V\u0002\u0002", - "\u101e\u01e8\u0003\u0002\u0002\u0002\u101f\u1020\u0007R\u0002\u0002", - "\u1020\u1021\u0007G\u0002\u0002\u1021\u1022\u0007T\u0002\u0002\u1022", - "\u1023\u0007O\u0002\u0002\u1023\u1024\u0007K\u0002\u0002\u1024\u1025", - "\u0007U\u0002\u0002\u1025\u1026\u0007U\u0002\u0002\u1026\u1027\u0007", - "K\u0002\u0002\u1027\u1028\u0007Q\u0002\u0002\u1028\u1029\u0007P\u0002", - "\u0002\u1029\u102a\u0007a\u0002\u0002\u102a\u102b\u0007U\u0002\u0002", - "\u102b\u102c\u0007G\u0002\u0002\u102c\u102d\u0007V\u0002\u0002\u102d", - "\u01ea\u0003\u0002\u0002\u0002\u102e\u102f\u0007R\u0002\u0002\u102f", - "\u1030\u0007G\u0002\u0002\u1030\u1031\u0007T\u0002\u0002\u1031\u1032", - "\u0007a\u0002\u0002\u1032\u1033\u0007E\u0002\u0002\u1033\u1034\u0007", - "R\u0002\u0002\u1034\u1035\u0007W\u0002\u0002\u1035\u01ec\u0003\u0002", - "\u0002\u0002\u1036\u1037\u0007R\u0002\u0002\u1037\u1038\u0007G\u0002", - "\u0002\u1038\u1039\u0007T\u0002\u0002\u1039\u103a\u0007a\u0002\u0002", - "\u103a\u103b\u0007F\u0002\u0002\u103b\u103c\u0007D\u0002\u0002\u103c", - "\u01ee\u0003\u0002\u0002\u0002\u103d\u103e\u0007R\u0002\u0002\u103e", - "\u103f\u0007G\u0002\u0002\u103f\u1040\u0007T\u0002\u0002\u1040\u1041", - "\u0007a\u0002\u0002\u1041\u1042\u0007P\u0002\u0002\u1042\u1043\u0007", - "Q\u0002\u0002\u1043\u1044\u0007F\u0002\u0002\u1044\u1045\u0007G\u0002", - "\u0002\u1045\u01f0\u0003\u0002\u0002\u0002\u1046\u1047\u0007R\u0002", - "\u0002\u1047\u1048\u0007K\u0002\u0002\u1048\u1049\u0007X\u0002\u0002", - "\u1049\u104a\u0007Q\u0002\u0002\u104a\u104b\u0007V\u0002\u0002\u104b", - "\u01f2\u0003\u0002\u0002\u0002\u104c\u104d\u0007R\u0002\u0002\u104d", - "\u104e\u0007N\u0002\u0002\u104e\u104f\u0007C\u0002\u0002\u104f\u1050", - "\u0007P\u0002\u0002\u1050\u01f4\u0003\u0002\u0002\u0002\u1051\u1052", - "\u0007R\u0002\u0002\u1052\u1053\u0007N\u0002\u0002\u1053\u1054\u0007", - "C\u0002\u0002\u1054\u1055\u0007V\u0002\u0002\u1055\u1056\u0007H\u0002", - "\u0002\u1056\u1057\u0007Q\u0002\u0002\u1057\u1058\u0007T\u0002\u0002", - "\u1058\u1059\u0007O\u0002\u0002\u1059\u01f6\u0003\u0002\u0002\u0002", - "\u105a\u105b\u0007R\u0002\u0002\u105b\u105c\u0007Q\u0002\u0002\u105c", - "\u105d\u0007N\u0002\u0002\u105d\u105e\u0007K\u0002\u0002\u105e\u105f", - "\u0007E\u0002\u0002\u105f\u1060\u0007[\u0002\u0002\u1060\u01f8\u0003", - "\u0002\u0002\u0002\u1061\u1062\u0007R\u0002\u0002\u1062\u1063\u0007", - "T\u0002\u0002\u1063\u1064\u0007G\u0002\u0002\u1064\u1065\u0007E\u0002", - "\u0002\u1065\u1066\u0007K\u0002\u0002\u1066\u1067\u0007U\u0002\u0002", - "\u1067\u1068\u0007K\u0002\u0002\u1068\u1069\u0007Q\u0002\u0002\u1069", - "\u106a\u0007P\u0002\u0002\u106a\u01fa\u0003\u0002\u0002\u0002\u106b", - "\u106c\u0007R\u0002\u0002\u106c\u106d\u0007T\u0002\u0002\u106d\u106e", - "\u0007G\u0002\u0002\u106e\u106f\u0007F\u0002\u0002\u106f\u1070\u0007", - "K\u0002\u0002\u1070\u1071\u0007E\u0002\u0002\u1071\u1072\u0007C\u0002", - "\u0002\u1072\u1073\u0007V\u0002\u0002\u1073\u1074\u0007G\u0002\u0002", - "\u1074\u01fc\u0003\u0002\u0002\u0002\u1075\u1076\u0007R\u0002\u0002", - "\u1076\u1077\u0007T\u0002\u0002\u1077\u1078\u0007K\u0002\u0002\u1078", - "\u1079\u0007O\u0002\u0002\u1079\u107a\u0007C\u0002\u0002\u107a\u107b", - "\u0007T\u0002\u0002\u107b\u107c\u0007[\u0002\u0002\u107c\u01fe\u0003", - "\u0002\u0002\u0002\u107d\u107e\u0007R\u0002\u0002\u107e\u107f\u0007", - "T\u0002\u0002\u107f\u1080\u0007K\u0002\u0002\u1080\u1081\u0007P\u0002", - "\u0002\u1081\u1082\u0007V\u0002\u0002\u1082\u0200\u0003\u0002\u0002", - "\u0002\u1083\u1084\u0007R\u0002\u0002\u1084\u1085\u0007T\u0002\u0002", - "\u1085\u1086\u0007Q\u0002\u0002\u1086\u1087\u0007E\u0002\u0002\u1087", - "\u0202\u0003\u0002\u0002\u0002\u1088\u1089\u0007R\u0002\u0002\u1089", - "\u108a\u0007T\u0002\u0002\u108a\u108b\u0007Q\u0002\u0002\u108b\u108c", - "\u0007E\u0002\u0002\u108c\u108d\u0007G\u0002\u0002\u108d\u108e\u0007", - "F\u0002\u0002\u108e\u108f\u0007W\u0002\u0002\u108f\u1090\u0007T\u0002", - "\u0002\u1090\u1091\u0007G\u0002\u0002\u1091\u0204\u0003\u0002\u0002", - "\u0002\u1092\u1093\u0007R\u0002\u0002\u1093\u1094\u0007T\u0002\u0002", - "\u1094\u1095\u0007Q\u0002\u0002\u1095\u1096\u0007E\u0002\u0002\u1096", - "\u1097\u0007G\u0002\u0002\u1097\u1098\u0007U\u0002\u0002\u1098\u1099", - "\u0007U\u0002\u0002\u1099\u0206\u0003\u0002\u0002\u0002\u109a\u109b", - "\u0007R\u0002\u0002\u109b\u109c\u0007W\u0002\u0002\u109c\u109d\u0007", - "D\u0002\u0002\u109d\u109e\u0007N\u0002\u0002\u109e\u109f\u0007K\u0002", - "\u0002\u109f\u10a0\u0007E\u0002\u0002\u10a0\u0208\u0003\u0002\u0002", - "\u0002\u10a1\u10a2\u0007R\u0002\u0002\u10a2\u10a3\u0007[\u0002\u0002", - "\u10a3\u10a4\u0007V\u0002\u0002\u10a4\u10a5\u0007J\u0002\u0002\u10a5", - "\u10a6\u0007Q\u0002\u0002\u10a6\u10a7\u0007P\u0002\u0002\u10a7\u020a", - "\u0003\u0002\u0002\u0002\u10a8\u10a9\u0007T\u0002\u0002\u10a9\u020c", - "\u0003\u0002\u0002\u0002\u10aa\u10ab\u0007T\u0002\u0002\u10ab\u10ac", - "\u0007C\u0002\u0002\u10ac\u10ad\u0007K\u0002\u0002\u10ad\u10ae\u0007", - "U\u0002\u0002\u10ae\u10af\u0007G\u0002\u0002\u10af\u10b0\u0007T\u0002", - "\u0002\u10b0\u10b1\u0007T\u0002\u0002\u10b1\u10b2\u0007Q\u0002\u0002", - "\u10b2\u10b3\u0007T\u0002\u0002\u10b3\u020e\u0003\u0002\u0002\u0002", - "\u10b4\u10b5\u0007T\u0002\u0002\u10b5\u10b6\u0007C\u0002\u0002\u10b6", - "\u10b7\u0007Y\u0002\u0002\u10b7\u0210\u0003\u0002\u0002\u0002\u10b8", - "\u10b9\u0007T\u0002\u0002\u10b9\u10ba\u0007G\u0002\u0002\u10ba\u10bb", - "\u0007C\u0002\u0002\u10bb\u10bc\u0007F\u0002\u0002\u10bc\u0212\u0003", - "\u0002\u0002\u0002\u10bd\u10be\u0007T\u0002\u0002\u10be\u10bf\u0007", - "G\u0002\u0002\u10bf\u10c0\u0007C\u0002\u0002\u10c0\u10c1\u0007F\u0002", - "\u0002\u10c1\u10c2\u0007V\u0002\u0002\u10c2\u10c3\u0007G\u0002\u0002", - "\u10c3\u10c4\u0007Z\u0002\u0002\u10c4\u10c5\u0007V\u0002\u0002\u10c5", - "\u0214\u0003\u0002\u0002\u0002\u10c6\u10c7\u0007T\u0002\u0002\u10c7", - "\u10c8\u0007G\u0002\u0002\u10c8\u10c9\u0007C\u0002\u0002\u10c9\u10ca", - "\u0007F\u0002\u0002\u10ca\u10cb\u0007a\u0002\u0002\u10cb\u10cc\u0007", - "Y\u0002\u0002\u10cc\u10cd\u0007T\u0002\u0002\u10cd\u10ce\u0007K\u0002", - "\u0002\u10ce\u10cf\u0007V\u0002\u0002\u10cf\u10d0\u0007G\u0002\u0002", - "\u10d0\u10d1\u0007a\u0002\u0002\u10d1\u10d2\u0007H\u0002\u0002\u10d2", - "\u10d3\u0007K\u0002\u0002\u10d3\u10d4\u0007N\u0002\u0002\u10d4\u10d5", - "\u0007G\u0002\u0002\u10d5\u10d6\u0007I\u0002\u0002\u10d6\u10d7\u0007", - "T\u0002\u0002\u10d7\u10d8\u0007Q\u0002\u0002\u10d8\u10d9\u0007W\u0002", - "\u0002\u10d9\u10da\u0007R\u0002\u0002\u10da\u10db\u0007U\u0002\u0002", - "\u10db\u0216\u0003\u0002\u0002\u0002\u10dc\u10dd\u0007T\u0002\u0002", - "\u10dd\u10de\u0007G\u0002\u0002\u10de\u10df\u0007E\u0002\u0002\u10df", - "\u10e0\u0007Q\u0002\u0002\u10e0\u10e1\u0007P\u0002\u0002\u10e1\u10e2", - "\u0007H\u0002\u0002\u10e2\u10e3\u0007K\u0002\u0002\u10e3\u10e4\u0007", - "I\u0002\u0002\u10e4\u10e5\u0007W\u0002\u0002\u10e5\u10e6\u0007T\u0002", - "\u0002\u10e6\u10e7\u0007G\u0002\u0002\u10e7\u0218\u0003\u0002\u0002", - "\u0002\u10e8\u10e9\u0007T\u0002\u0002\u10e9\u10ea\u0007G\u0002\u0002", - "\u10ea\u10eb\u0007H\u0002\u0002\u10eb\u10ec\u0007G\u0002\u0002\u10ec", - "\u10ed\u0007T\u0002\u0002\u10ed\u10ee\u0007G\u0002\u0002\u10ee\u10ef", - "\u0007P\u0002\u0002\u10ef\u10f0\u0007E\u0002\u0002\u10f0\u10f1\u0007", - "G\u0002\u0002\u10f1\u10f2\u0007U\u0002\u0002\u10f2\u021a\u0003\u0002", - "\u0002\u0002\u10f3\u10f4\u0007T\u0002\u0002\u10f4\u10f5\u0007G\u0002", - "\u0002\u10f5\u10f6\u0007I\u0002\u0002\u10f6\u10f7\u0007G\u0002\u0002", - "\u10f7\u10f8\u0007P\u0002\u0002\u10f8\u10f9\u0007G\u0002\u0002\u10f9", - "\u10fa\u0007T\u0002\u0002\u10fa\u10fb\u0007C\u0002\u0002\u10fb\u10fc", - "\u0007V\u0002\u0002\u10fc\u10fd\u0007G\u0002\u0002\u10fd\u021c\u0003", - "\u0002\u0002\u0002\u10fe\u10ff\u0007T\u0002\u0002\u10ff\u1100\u0007", - "G\u0002\u0002\u1100\u1101\u0007N\u0002\u0002\u1101\u1102\u0007C\u0002", - "\u0002\u1102\u1103\u0007V\u0002\u0002\u1103\u1104\u0007G\u0002\u0002", - "\u1104\u1105\u0007F\u0002\u0002\u1105\u1106\u0007a\u0002\u0002\u1106", - "\u1107\u0007E\u0002\u0002\u1107\u1108\u0007Q\u0002\u0002\u1108\u1109", - "\u0007P\u0002\u0002\u1109\u110a\u0007X\u0002\u0002\u110a\u110b\u0007", - "G\u0002\u0002\u110b\u110c\u0007T\u0002\u0002\u110c\u110d\u0007U\u0002", - "\u0002\u110d\u110e\u0007C\u0002\u0002\u110e\u110f\u0007V\u0002\u0002", - "\u110f\u1110\u0007K\u0002\u0002\u1110\u1111\u0007Q\u0002\u0002\u1111", - "\u1112\u0007P\u0002\u0002\u1112\u021e\u0003\u0002\u0002\u0002\u1113", - "\u1114\u0007T\u0002\u0002\u1114\u1115\u0007G\u0002\u0002\u1115\u1116", - "\u0007N\u0002\u0002\u1116\u1117\u0007C\u0002\u0002\u1117\u1118\u0007", - "V\u0002\u0002\u1118\u1119\u0007G\u0002\u0002\u1119\u111a\u0007F\u0002", - "\u0002\u111a\u111b\u0007a\u0002\u0002\u111b\u111c\u0007E\u0002\u0002", - "\u111c\u111d\u0007Q\u0002\u0002\u111d\u111e\u0007P\u0002\u0002\u111e", - "\u111f\u0007X\u0002\u0002\u111f\u1120\u0007G\u0002\u0002\u1120\u1121", - "\u0007T\u0002\u0002\u1121\u1122\u0007U\u0002\u0002\u1122\u1123\u0007", - "C\u0002\u0002\u1123\u1124\u0007V\u0002\u0002\u1124\u1125\u0007K\u0002", - "\u0002\u1125\u1126\u0007Q\u0002\u0002\u1126\u1127\u0007P\u0002\u0002", - "\u1127\u1128\u0007a\u0002\u0002\u1128\u1129\u0007I\u0002\u0002\u1129", - "\u112a\u0007T\u0002\u0002\u112a\u112b\u0007Q\u0002\u0002\u112b\u112c", - "\u0007W\u0002\u0002\u112c\u112d\u0007R\u0002\u0002\u112d\u0220\u0003", - "\u0002\u0002\u0002\u112e\u112f\u0007T\u0002\u0002\u112f\u1130\u0007", - "G\u0002\u0002\u1130\u1131\u0007R\u0002\u0002\u1131\u1132\u0007N\u0002", - "\u0002\u1132\u1133\u0007K\u0002\u0002\u1133\u1134\u0007E\u0002\u0002", - "\u1134\u1135\u0007C\u0002\u0002\u1135\u1136\u0007V\u0002\u0002\u1136", - "\u1137\u0007K\u0002\u0002\u1137\u1138\u0007Q\u0002\u0002\u1138\u1139", - "\u0007P\u0002\u0002\u1139\u0222\u0003\u0002\u0002\u0002\u113a\u113b", - "\u0007T\u0002\u0002\u113b\u113c\u0007G\u0002\u0002\u113c\u113d\u0007", - "S\u0002\u0002\u113d\u113e\u0007W\u0002\u0002\u113e\u113f\u0007K\u0002", - "\u0002\u113f\u1140\u0007T\u0002\u0002\u1140\u1141\u0007G\u0002\u0002", - "\u1141\u1142\u0007F\u0002\u0002\u1142\u0224\u0003\u0002\u0002\u0002", - "\u1143\u1144\u0007T\u0002\u0002\u1144\u1145\u0007G\u0002\u0002\u1145", - "\u1146\u0007U\u0002\u0002\u1146\u1147\u0007G\u0002\u0002\u1147\u1148", - "\u0007V\u0002\u0002\u1148\u0226\u0003\u0002\u0002\u0002\u1149\u114a", - "\u0007T\u0002\u0002\u114a\u114b\u0007G\u0002\u0002\u114b\u114c\u0007", - "U\u0002\u0002\u114c\u114d\u0007V\u0002\u0002\u114d\u114e\u0007C\u0002", - "\u0002\u114e\u114f\u0007T\u0002\u0002\u114f\u1150\u0007V\u0002\u0002", - "\u1150\u0228\u0003\u0002\u0002\u0002\u1151\u1152\u0007T\u0002\u0002", - "\u1152\u1153\u0007G\u0002\u0002\u1153\u1154\u0007U\u0002\u0002\u1154", - "\u1155\u0007V\u0002\u0002\u1155\u1156\u0007Q\u0002\u0002\u1156\u1157", - "\u0007T\u0002\u0002\u1157\u1158\u0007G\u0002\u0002\u1158\u022a\u0003", - "\u0002\u0002\u0002\u1159\u115a\u0007T\u0002\u0002\u115a\u115b\u0007", - "G\u0002\u0002\u115b\u115c\u0007U\u0002\u0002\u115c\u115d\u0007V\u0002", - "\u0002\u115d\u115e\u0007T\u0002\u0002\u115e\u115f\u0007K\u0002\u0002", - "\u115f\u1160\u0007E\u0002\u0002\u1160\u1161\u0007V\u0002\u0002\u1161", - "\u022c\u0003\u0002\u0002\u0002\u1162\u1163\u0007T\u0002\u0002\u1163", - "\u1164\u0007G\u0002\u0002\u1164\u1165\u0007U\u0002\u0002\u1165\u1166", - "\u0007W\u0002\u0002\u1166\u1167\u0007O\u0002\u0002\u1167\u1168\u0007", - "G\u0002\u0002\u1168\u022e\u0003\u0002\u0002\u0002\u1169\u116a\u0007", - "T\u0002\u0002\u116a\u116b\u0007G\u0002\u0002\u116b\u116c\u0007V\u0002", - "\u0002\u116c\u116d\u0007C\u0002\u0002\u116d\u116e\u0007K\u0002\u0002", - "\u116e\u116f\u0007P\u0002\u0002\u116f\u1170\u0007F\u0002\u0002\u1170", - "\u1171\u0007C\u0002\u0002\u1171\u1172\u0007[\u0002\u0002\u1172\u1173", - "\u0007U\u0002\u0002\u1173\u0230\u0003\u0002\u0002\u0002\u1174\u1175", - "\u0007T\u0002\u0002\u1175\u1176\u0007G\u0002\u0002\u1176\u1177\u0007", - "V\u0002\u0002\u1177\u1178\u0007W\u0002\u0002\u1178\u1179\u0007T\u0002", - "\u0002\u1179\u117a\u0007P\u0002\u0002\u117a\u0232\u0003\u0002\u0002", - "\u0002\u117b\u117c\u0007T\u0002\u0002\u117c\u117d\u0007G\u0002\u0002", - "\u117d\u117e\u0007V\u0002\u0002\u117e\u117f\u0007W\u0002\u0002\u117f", - "\u1180\u0007T\u0002\u0002\u1180\u1181\u0007P\u0002\u0002\u1181\u1182", - "\u0007U\u0002\u0002\u1182\u0234\u0003\u0002\u0002\u0002\u1183\u1184", - "\u0007T\u0002\u0002\u1184\u1185\u0007G\u0002\u0002\u1185\u1186\u0007", - "X\u0002\u0002\u1186\u1187\u0007G\u0002\u0002\u1187\u1188\u0007T\u0002", - "\u0002\u1188\u1189\u0007V\u0002\u0002\u1189\u0236\u0003\u0002\u0002", - "\u0002\u118a\u118b\u0007T\u0002\u0002\u118b\u118c\u0007G\u0002\u0002", - "\u118c\u118d\u0007X\u0002\u0002\u118d\u118e\u0007Q\u0002\u0002\u118e", - "\u118f\u0007M\u0002\u0002\u118f\u1190\u0007G\u0002\u0002\u1190\u0238", - "\u0003\u0002\u0002\u0002\u1191\u1192\u0007T\u0002\u0002\u1192\u1193", - "\u0007G\u0002\u0002\u1193\u1194\u0007Y\u0002\u0002\u1194\u1195\u0007", - "K\u0002\u0002\u1195\u1196\u0007P\u0002\u0002\u1196\u1197\u0007F\u0002", - "\u0002\u1197\u023a\u0003\u0002\u0002\u0002\u1198\u1199\u0007T\u0002", - "\u0002\u1199\u119a\u0007K\u0002\u0002\u119a\u119b\u0007I\u0002\u0002", - "\u119b\u119c\u0007J\u0002\u0002\u119c\u119d\u0007V\u0002\u0002\u119d", - "\u023c\u0003\u0002\u0002\u0002\u119e\u119f\u0007T\u0002\u0002\u119f", - "\u11a0\u0007Q\u0002\u0002\u11a0\u11a1\u0007N\u0002\u0002\u11a1\u11a2", - "\u0007N\u0002\u0002\u11a2\u11a3\u0007D\u0002\u0002\u11a3\u11a4\u0007", - "C\u0002\u0002\u11a4\u11a5\u0007E\u0002\u0002\u11a5\u11a6\u0007M\u0002", - "\u0002\u11a6\u023e\u0003\u0002\u0002\u0002\u11a7\u11a8\u0007T\u0002", - "\u0002\u11a8\u11a9\u0007Q\u0002\u0002\u11a9\u11aa\u0007N\u0002\u0002", - "\u11aa\u11ab\u0007G\u0002\u0002\u11ab\u0240\u0003\u0002\u0002\u0002", - "\u11ac\u11ad\u0007T\u0002\u0002\u11ad\u11ae\u0007Q\u0002\u0002\u11ae", - "\u11af\u0007Y\u0002\u0002\u11af\u11b0\u0007E\u0002\u0002\u11b0\u11b1", - "\u0007Q\u0002\u0002\u11b1\u11b2\u0007W\u0002\u0002\u11b2\u11b3\u0007", - "P\u0002\u0002\u11b3\u11b4\u0007V\u0002\u0002\u11b4\u0242\u0003\u0002", - "\u0002\u0002\u11b5\u11b6\u0007T\u0002\u0002\u11b6\u11b7\u0007Q\u0002", - "\u0002\u11b7\u11b8\u0007Y\u0002\u0002\u11b8\u11b9\u0007I\u0002\u0002", - "\u11b9\u11ba\u0007W\u0002\u0002\u11ba\u11bb\u0007K\u0002\u0002\u11bb", - "\u11bc\u0007F\u0002\u0002\u11bc\u11bd\u0007E\u0002\u0002\u11bd\u11be", - "\u0007Q\u0002\u0002\u11be\u11bf\u0007N\u0002\u0002\u11bf\u0244\u0003", - "\u0002\u0002\u0002\u11c0\u11c1\u0007T\u0002\u0002\u11c1\u11c2\u0007", - "U\u0002\u0002\u11c2\u11c3\u0007C\u0002\u0002\u11c3\u11c4\u0007a\u0002", - "\u0002\u11c4\u11c5\u00077\u0002\u0002\u11c5\u11c6\u00073\u0002\u0002", - "\u11c6\u11c7\u00074\u0002\u0002\u11c7\u0246\u0003\u0002\u0002\u0002", - "\u11c8\u11c9\u0007T\u0002\u0002\u11c9\u11ca\u0007U\u0002\u0002\u11ca", - "\u11cb\u0007C\u0002\u0002\u11cb\u11cc\u0007a\u0002\u0002\u11cc\u11cd", - "\u00073\u0002\u0002\u11cd\u11ce\u00072\u0002\u0002\u11ce\u11cf\u0007", - "4\u0002\u0002\u11cf\u11d0\u00076\u0002\u0002\u11d0\u0248\u0003\u0002", - "\u0002\u0002\u11d1\u11d2\u0007T\u0002\u0002\u11d2\u11d3\u0007U\u0002", - "\u0002\u11d3\u11d4\u0007C\u0002\u0002\u11d4\u11d5\u0007a\u0002\u0002", - "\u11d5\u11d6\u00074\u0002\u0002\u11d6\u11d7\u00072\u0002\u0002\u11d7", - "\u11d8\u00076\u0002\u0002\u11d8\u11d9\u0007:\u0002\u0002\u11d9\u024a", - "\u0003\u0002\u0002\u0002\u11da\u11db\u0007T\u0002\u0002\u11db\u11dc", - "\u0007U\u0002\u0002\u11dc\u11dd\u0007C\u0002\u0002\u11dd\u11de\u0007", - "a\u0002\u0002\u11de\u11df\u00075\u0002\u0002\u11df\u11e0\u00072\u0002", - "\u0002\u11e0\u11e1\u00079\u0002\u0002\u11e1\u11e2\u00074\u0002\u0002", - "\u11e2\u024c\u0003\u0002\u0002\u0002\u11e3\u11e4\u0007T\u0002\u0002", - "\u11e4\u11e5\u0007U\u0002\u0002\u11e5\u11e6\u0007C\u0002\u0002\u11e6", - "\u11e7\u0007a\u0002\u0002\u11e7\u11e8\u00076\u0002\u0002\u11e8\u11e9", - "\u00072\u0002\u0002\u11e9\u11ea\u0007;\u0002\u0002\u11ea\u11eb\u0007", - "8\u0002\u0002\u11eb\u024e\u0003\u0002\u0002\u0002\u11ec\u11ed\u0007", - "U\u0002\u0002\u11ed\u11ee\u0007C\u0002\u0002\u11ee\u11ef\u0007H\u0002", - "\u0002\u11ef\u11f0\u0007G\u0002\u0002\u11f0\u11f1\u0007V\u0002\u0002", - "\u11f1\u11f2\u0007[\u0002\u0002\u11f2\u0250\u0003\u0002\u0002\u0002", - "\u11f3\u11f4\u0007T\u0002\u0002\u11f4\u11f5\u0007W\u0002\u0002\u11f5", - "\u11f6\u0007N\u0002\u0002\u11f6\u11f7\u0007G\u0002\u0002\u11f7\u0252", - "\u0003\u0002\u0002\u0002\u11f8\u11f9\u0007U\u0002\u0002\u11f9\u11fa", - "\u0007C\u0002\u0002\u11fa\u11fb\u0007H\u0002\u0002\u11fb\u11fc\u0007", - "G\u0002\u0002\u11fc\u0254\u0003\u0002\u0002\u0002\u11fd\u11fe\u0007", - "U\u0002\u0002\u11fe\u11ff\u0007C\u0002\u0002\u11ff\u1200\u0007X\u0002", - "\u0002\u1200\u1201\u0007G\u0002\u0002\u1201\u0256\u0003\u0002\u0002", - "\u0002\u1202\u1203\u0007U\u0002\u0002\u1203\u1204\u0007E\u0002\u0002", - "\u1204\u1205\u0007J\u0002\u0002\u1205\u1206\u0007G\u0002\u0002\u1206", - "\u1207\u0007F\u0002\u0002\u1207\u1208\u0007W\u0002\u0002\u1208\u1209", - "\u0007N\u0002\u0002\u1209\u120a\u0007G\u0002\u0002\u120a\u120b\u0007", - "T\u0002\u0002\u120b\u0258\u0003\u0002\u0002\u0002\u120c\u120d\u0007", - "U\u0002\u0002\u120d\u120e\u0007E\u0002\u0002\u120e\u120f\u0007J\u0002", - "\u0002\u120f\u1210\u0007G\u0002\u0002\u1210\u1211\u0007O\u0002\u0002", - "\u1211\u1212\u0007C\u0002\u0002\u1212\u025a\u0003\u0002\u0002\u0002", - "\u1213\u1214\u0007U\u0002\u0002\u1214\u1215\u0007E\u0002\u0002\u1215", - "\u1216\u0007J\u0002\u0002\u1216\u1217\u0007G\u0002\u0002\u1217\u1218", - "\u0007O\u0002\u0002\u1218\u1219\u0007G\u0002\u0002\u1219\u025c\u0003", - "\u0002\u0002\u0002\u121a\u121b\u0007U\u0002\u0002\u121b\u121c\u0007", - "G\u0002\u0002\u121c\u121d\u0007E\u0002\u0002\u121d\u121e\u0007W\u0002", - "\u0002\u121e\u121f\u0007T\u0002\u0002\u121f\u1220\u0007K\u0002\u0002", - "\u1220\u1221\u0007V\u0002\u0002\u1221\u1222\u0007[\u0002\u0002\u1222", - "\u1223\u0007C\u0002\u0002\u1223\u1224\u0007W\u0002\u0002\u1224\u1225", - "\u0007F\u0002\u0002\u1225\u1226\u0007K\u0002\u0002\u1226\u1227\u0007", - "V\u0002\u0002\u1227\u025e\u0003\u0002\u0002\u0002\u1228\u1229\u0007", - "U\u0002\u0002\u1229\u122a\u0007G\u0002\u0002\u122a\u122b\u0007N\u0002", - "\u0002\u122b\u122c\u0007G\u0002\u0002\u122c\u122d\u0007E\u0002\u0002", - "\u122d\u122e\u0007V\u0002\u0002\u122e\u0260\u0003\u0002\u0002\u0002", - "\u122f\u1230\u0007U\u0002\u0002\u1230\u1231\u0007G\u0002\u0002\u1231", - "\u1232\u0007O\u0002\u0002\u1232\u1233\u0007C\u0002\u0002\u1233\u1234", - "\u0007P\u0002\u0002\u1234\u1235\u0007V\u0002\u0002\u1235\u1236\u0007", - "K\u0002\u0002\u1236\u1237\u0007E\u0002\u0002\u1237\u1238\u0007M\u0002", - "\u0002\u1238\u1239\u0007G\u0002\u0002\u1239\u123a\u0007[\u0002\u0002", - "\u123a\u123b\u0007R\u0002\u0002\u123b\u123c\u0007J\u0002\u0002\u123c", - "\u123d\u0007T\u0002\u0002\u123d\u123e\u0007C\u0002\u0002\u123e\u123f", - "\u0007U\u0002\u0002\u123f\u1240\u0007G\u0002\u0002\u1240\u1241\u0007", - "V\u0002\u0002\u1241\u1242\u0007C\u0002\u0002\u1242\u1243\u0007D\u0002", - "\u0002\u1243\u1244\u0007N\u0002\u0002\u1244\u1245\u0007G\u0002\u0002", - "\u1245\u0262\u0003\u0002\u0002\u0002\u1246\u1247\u0007U\u0002\u0002", - "\u1247\u1248\u0007G\u0002\u0002\u1248\u1249\u0007O\u0002\u0002\u1249", - "\u124a\u0007C\u0002\u0002\u124a\u124b\u0007P\u0002\u0002\u124b\u124c", - "\u0007V\u0002\u0002\u124c\u124d\u0007K\u0002\u0002\u124d\u124e\u0007", - "E\u0002\u0002\u124e\u124f\u0007U\u0002\u0002\u124f\u1250\u0007K\u0002", - "\u0002\u1250\u1251\u0007O\u0002\u0002\u1251\u1252\u0007K\u0002\u0002", - "\u1252\u1253\u0007N\u0002\u0002\u1253\u1254\u0007C\u0002\u0002\u1254", - "\u1255\u0007T\u0002\u0002\u1255\u1256\u0007K\u0002\u0002\u1256\u1257", - "\u0007V\u0002\u0002\u1257\u1258\u0007[\u0002\u0002\u1258\u1259\u0007", - "F\u0002\u0002\u1259\u125a\u0007G\u0002\u0002\u125a\u125b\u0007V\u0002", - "\u0002\u125b\u125c\u0007C\u0002\u0002\u125c\u125d\u0007K\u0002\u0002", - "\u125d\u125e\u0007N\u0002\u0002\u125e\u125f\u0007U\u0002\u0002\u125f", - "\u1260\u0007V\u0002\u0002\u1260\u1261\u0007C\u0002\u0002\u1261\u1262", - "\u0007D\u0002\u0002\u1262\u1263\u0007N\u0002\u0002\u1263\u1264\u0007", - "G\u0002\u0002\u1264\u0264\u0003\u0002\u0002\u0002\u1265\u1266\u0007", - "U\u0002\u0002\u1266\u1267\u0007G\u0002\u0002\u1267\u1268\u0007O\u0002", - "\u0002\u1268\u1269\u0007C\u0002\u0002\u1269\u126a\u0007P\u0002\u0002", - "\u126a\u126b\u0007V\u0002\u0002\u126b\u126c\u0007K\u0002\u0002\u126c", - "\u126d\u0007E\u0002\u0002\u126d\u126e\u0007U\u0002\u0002\u126e\u126f", - "\u0007K\u0002\u0002\u126f\u1270\u0007O\u0002\u0002\u1270\u1271\u0007", - "K\u0002\u0002\u1271\u1272\u0007N\u0002\u0002\u1272\u1273\u0007C\u0002", - "\u0002\u1273\u1274\u0007T\u0002\u0002\u1274\u1275\u0007K\u0002\u0002", - "\u1275\u1276\u0007V\u0002\u0002\u1276\u1277\u0007[\u0002\u0002\u1277", - "\u1278\u0007V\u0002\u0002\u1278\u1279\u0007C\u0002\u0002\u1279\u127a", - "\u0007D\u0002\u0002\u127a\u127b\u0007N\u0002\u0002\u127b\u127c\u0007", - "G\u0002\u0002\u127c\u0266\u0003\u0002\u0002\u0002\u127d\u127e\u0007", - "U\u0002\u0002\u127e\u127f\u0007G\u0002\u0002\u127f\u1280\u0007T\u0002", - "\u0002\u1280\u1281\u0007X\u0002\u0002\u1281\u1282\u0007G\u0002\u0002", - "\u1282\u1283\u0007T\u0002\u0002\u1283\u0268\u0003\u0002\u0002\u0002", - "\u1284\u1285\u0007U\u0002\u0002\u1285\u1286\u0007G\u0002\u0002\u1286", - "\u1287\u0007T\u0002\u0002\u1287\u1288\u0007X\u0002\u0002\u1288\u1289", - "\u0007K\u0002\u0002\u1289\u128a\u0007E\u0002\u0002\u128a\u128b\u0007", - "G\u0002\u0002\u128b\u026a\u0003\u0002\u0002\u0002\u128c\u128d\u0007", - "U\u0002\u0002\u128d\u128e\u0007G\u0002\u0002\u128e\u128f\u0007T\u0002", - "\u0002\u128f\u1290\u0007X\u0002\u0002\u1290\u1291\u0007K\u0002\u0002", - "\u1291\u1292\u0007E\u0002\u0002\u1292\u1293\u0007G\u0002\u0002\u1293", - "\u1294\u0007a\u0002\u0002\u1294\u1295\u0007D\u0002\u0002\u1295\u1296", - "\u0007T\u0002\u0002\u1296\u1297\u0007Q\u0002\u0002\u1297\u1298\u0007", - "M\u0002\u0002\u1298\u1299\u0007G\u0002\u0002\u1299\u129a\u0007T\u0002", - "\u0002\u129a\u026c\u0003\u0002\u0002\u0002\u129b\u129c\u0007U\u0002", - "\u0002\u129c\u129d\u0007G\u0002\u0002\u129d\u129e\u0007T\u0002\u0002", - "\u129e\u129f\u0007X\u0002\u0002\u129f\u12a0\u0007K\u0002\u0002\u12a0", - "\u12a1\u0007E\u0002\u0002\u12a1\u12a2\u0007G\u0002\u0002\u12a2\u12a3", - "\u0007a\u0002\u0002\u12a3\u12a4\u0007P\u0002\u0002\u12a4\u12a5\u0007", - "C\u0002\u0002\u12a5\u12a6\u0007O\u0002\u0002\u12a6\u12a7\u0007G\u0002", - "\u0002\u12a7\u026e\u0003\u0002\u0002\u0002\u12a8\u12a9\u0007U\u0002", - "\u0002\u12a9\u12aa\u0007G\u0002\u0002\u12aa\u12ab\u0007U\u0002\u0002", - "\u12ab\u12ac\u0007U\u0002\u0002\u12ac\u12ad\u0007K\u0002\u0002\u12ad", - "\u12ae\u0007Q\u0002\u0002\u12ae\u12af\u0007P\u0002\u0002\u12af\u0270", - "\u0003\u0002\u0002\u0002\u12b0\u12b1\u0007U\u0002\u0002\u12b1\u12b2", - "\u0007G\u0002\u0002\u12b2\u12b3\u0007U\u0002\u0002\u12b3\u12b4\u0007", - "U\u0002\u0002\u12b4\u12b5\u0007K\u0002\u0002\u12b5\u12b6\u0007Q\u0002", - "\u0002\u12b6\u12b7\u0007P\u0002\u0002\u12b7\u12b8\u0007a\u0002\u0002", - "\u12b8\u12b9\u0007W\u0002\u0002\u12b9\u12ba\u0007U\u0002\u0002\u12ba", - "\u12bb\u0007G\u0002\u0002\u12bb\u12bc\u0007T\u0002\u0002\u12bc\u0272", - "\u0003\u0002\u0002\u0002\u12bd\u12be\u0007U\u0002\u0002\u12be\u12bf", - "\u0007G\u0002\u0002\u12bf\u12c0\u0007V\u0002\u0002\u12c0\u0274\u0003", - "\u0002\u0002\u0002\u12c1\u12c2\u0007U\u0002\u0002\u12c2\u12c3\u0007", - "G\u0002\u0002\u12c3\u12c4\u0007V\u0002\u0002\u12c4\u12c5\u0007W\u0002", - "\u0002\u12c5\u12c6\u0007U\u0002\u0002\u12c6\u12c7\u0007G\u0002\u0002", - "\u12c7\u12c8\u0007T\u0002\u0002\u12c8\u0276\u0003\u0002\u0002\u0002", - "\u12c9\u12ca\u0007U\u0002\u0002\u12ca\u12cb\u0007J\u0002\u0002\u12cb", - "\u12cc\u0007W\u0002\u0002\u12cc\u12cd\u0007V\u0002\u0002\u12cd\u12ce", - "\u0007F\u0002\u0002\u12ce\u12cf\u0007Q\u0002\u0002\u12cf\u12d0\u0007", - "Y\u0002\u0002\u12d0\u12d1\u0007P\u0002\u0002\u12d1\u0278\u0003\u0002", - "\u0002\u0002\u12d2\u12d3\u0007U\u0002\u0002\u12d3\u12d4\u0007K\u0002", - "\u0002\u12d4\u12d5\u0007F\u0002\u0002\u12d5\u027a\u0003\u0002\u0002", - "\u0002\u12d6\u12d7\u0007U\u0002\u0002\u12d7\u12d8\u0007M\u0002\u0002", - "\u12d8\u12d9\u0007K\u0002\u0002\u12d9\u12da\u0007R\u0002\u0002\u12da", - "\u027c\u0003\u0002\u0002\u0002\u12db\u12dc\u0007U\u0002\u0002\u12dc", - "\u12dd\u0007Q\u0002\u0002\u12dd\u12de\u0007H\u0002\u0002\u12de\u12df", - "\u0007V\u0002\u0002\u12df\u12e0\u0007P\u0002\u0002\u12e0\u12e1\u0007", - "W\u0002\u0002\u12e1\u12e2\u0007O\u0002\u0002\u12e2\u12e3\u0007C\u0002", - "\u0002\u12e3\u027e\u0003\u0002\u0002\u0002\u12e4\u12e5\u0007U\u0002", - "\u0002\u12e5\u12e6\u0007Q\u0002\u0002\u12e6\u12e7\u0007O\u0002\u0002", - "\u12e7\u12e8\u0007G\u0002\u0002\u12e8\u0280\u0003\u0002\u0002\u0002", - "\u12e9\u12ea\u0007U\u0002\u0002\u12ea\u12eb\u0007Q\u0002\u0002\u12eb", - "\u12ec\u0007W\u0002\u0002\u12ec\u12ed\u0007T\u0002\u0002\u12ed\u12ee", - "\u0007E\u0002\u0002\u12ee\u12ef\u0007G\u0002\u0002\u12ef\u0282\u0003", - "\u0002\u0002\u0002\u12f0\u12f1\u0007U\u0002\u0002\u12f1\u12f2\u0007", - "R\u0002\u0002\u12f2\u12f3\u0007G\u0002\u0002\u12f3\u12f4\u0007E\u0002", - "\u0002\u12f4\u12f5\u0007K\u0002\u0002\u12f5\u12f6\u0007H\u0002\u0002", - "\u12f6\u12f7\u0007K\u0002\u0002\u12f7\u12f8\u0007E\u0002\u0002\u12f8", - "\u12f9\u0007C\u0002\u0002\u12f9\u12fa\u0007V\u0002\u0002\u12fa\u12fb", - "\u0007K\u0002\u0002\u12fb\u12fc\u0007Q\u0002\u0002\u12fc\u12fd\u0007", - "P\u0002\u0002\u12fd\u0284\u0003\u0002\u0002\u0002\u12fe\u12ff\u0007", - "U\u0002\u0002\u12ff\u1300\u0007R\u0002\u0002\u1300\u1301\u0007N\u0002", - "\u0002\u1301\u1302\u0007K\u0002\u0002\u1302\u1303\u0007V\u0002\u0002", - "\u1303\u0286\u0003\u0002\u0002\u0002\u1304\u1305\u0007U\u0002\u0002", - "\u1305\u1306\u0007S\u0002\u0002\u1306\u1307\u0007N\u0002\u0002\u1307", - "\u1308\u0007F\u0002\u0002\u1308\u1309\u0007W\u0002\u0002\u1309\u130a", - "\u0007O\u0002\u0002\u130a\u130b\u0007R\u0002\u0002\u130b\u130c\u0007", - "G\u0002\u0002\u130c\u130d\u0007T\u0002\u0002\u130d\u130e\u0007H\u0002", - "\u0002\u130e\u130f\u0007N\u0002\u0002\u130f\u1310\u0007C\u0002\u0002", - "\u1310\u1311\u0007I\u0002\u0002\u1311\u1312\u0007U\u0002\u0002\u1312", - "\u0288\u0003\u0002\u0002\u0002\u1313\u1314\u0007U\u0002\u0002\u1314", - "\u1315\u0007S\u0002\u0002\u1315\u1316\u0007N\u0002\u0002\u1316\u1317", - "\u0007F\u0002\u0002\u1317\u1318\u0007W\u0002\u0002\u1318\u1319\u0007", - "O\u0002\u0002\u1319\u131a\u0007R\u0002\u0002\u131a\u131b\u0007G\u0002", - "\u0002\u131b\u131c\u0007T\u0002\u0002\u131c\u131d\u0007R\u0002\u0002", - "\u131d\u131e\u0007C\u0002\u0002\u131e\u131f\u0007V\u0002\u0002\u131f", - "\u1320\u0007J\u0002\u0002\u1320\u028a\u0003\u0002\u0002\u0002\u1321", - "\u1322\u0007U\u0002\u0002\u1322\u1323\u0007S\u0002\u0002\u1323\u1324", - "\u0007N\u0002\u0002\u1324\u1325\u0007F\u0002\u0002\u1325\u1326\u0007", - "W\u0002\u0002\u1326\u1327\u0007O\u0002\u0002\u1327\u1328\u0007R\u0002", - "\u0002\u1328\u1329\u0007G\u0002\u0002\u1329\u132a\u0007T\u0002\u0002", - "\u132a\u132b\u0007V\u0002\u0002\u132b\u132c\u0007K\u0002\u0002\u132c", - "\u132d\u0007O\u0002\u0002\u132d\u132e\u0007G\u0002\u0002\u132e\u132f", - "\u0007Q\u0002\u0002\u132f\u1330\u0007W\u0002\u0002\u1330\u1331\u0007", - "V\u0002\u0002\u1331\u1332\u0007U\u0002\u0002\u1332\u028c\u0003\u0002", - "\u0002\u0002\u1333\u1334\u0007U\u0002\u0002\u1334\u1335\u0007V\u0002", - "\u0002\u1335\u1336\u0007C\u0002\u0002\u1336\u1337\u0007V\u0002\u0002", - "\u1337\u1338\u0007K\u0002\u0002\u1338\u1339\u0007U\u0002\u0002\u1339", - "\u133a\u0007V\u0002\u0002\u133a\u133b\u0007K\u0002\u0002\u133b\u133c", - "\u0007E\u0002\u0002\u133c\u133d\u0007U\u0002\u0002\u133d\u028e\u0003", - "\u0002\u0002\u0002\u133e\u133f\u0007U\u0002\u0002\u133f\u1340\u0007", - "V\u0002\u0002\u1340\u1341\u0007C\u0002\u0002\u1341\u1342\u0007V\u0002", - "\u0002\u1342\u1343\u0007G\u0002\u0002\u1343\u0290\u0003\u0002\u0002", - "\u0002\u1344\u1345\u0007U\u0002\u0002\u1345\u1346\u0007V\u0002\u0002", - "\u1346\u1347\u0007C\u0002\u0002\u1347\u1348\u0007V\u0002\u0002\u1348", - "\u1349\u0007U\u0002\u0002\u1349\u0292\u0003\u0002\u0002\u0002\u134a", - "\u134b\u0007U\u0002\u0002\u134b\u134c\u0007V\u0002\u0002\u134c\u134d", - "\u0007C\u0002\u0002\u134d\u134e\u0007T\u0002\u0002\u134e\u134f\u0007", - "V\u0002\u0002\u134f\u0294\u0003\u0002\u0002\u0002\u1350\u1351\u0007", - "U\u0002\u0002\u1351\u1352\u0007V\u0002\u0002\u1352\u1353\u0007C\u0002", - "\u0002\u1353\u1354\u0007T\u0002\u0002\u1354\u1355\u0007V\u0002\u0002", - "\u1355\u1356\u0007G\u0002\u0002\u1356\u1357\u0007F\u0002\u0002\u1357", - "\u0296\u0003\u0002\u0002\u0002\u1358\u1359\u0007U\u0002\u0002\u1359", - "\u135a\u0007V\u0002\u0002\u135a\u135b\u0007C\u0002\u0002\u135b\u135c", - "\u0007T\u0002\u0002\u135c\u135d\u0007V\u0002\u0002\u135d\u135e\u0007", - "W\u0002\u0002\u135e\u135f\u0007R\u0002\u0002\u135f\u1360\u0007a\u0002", - "\u0002\u1360\u1361\u0007U\u0002\u0002\u1361\u1362\u0007V\u0002\u0002", - "\u1362\u1363\u0007C\u0002\u0002\u1363\u1364\u0007V\u0002\u0002\u1364", - "\u1365\u0007G\u0002\u0002\u1365\u0298\u0003\u0002\u0002\u0002\u1366", - "\u1367\u0007U\u0002\u0002\u1367\u1368\u0007V\u0002\u0002\u1368\u1369", - "\u0007Q\u0002\u0002\u1369\u136a\u0007R\u0002\u0002\u136a\u029a\u0003", - "\u0002\u0002\u0002\u136b\u136c\u0007U\u0002\u0002\u136c\u136d\u0007", - "V\u0002\u0002\u136d\u136e\u0007Q\u0002\u0002\u136e\u136f\u0007R\u0002", - "\u0002\u136f\u1370\u0007R\u0002\u0002\u1370\u1371\u0007G\u0002\u0002", - "\u1371\u1372\u0007F\u0002\u0002\u1372\u029c\u0003\u0002\u0002\u0002", - "\u1373\u1374\u0007U\u0002\u0002\u1374\u1375\u0007V\u0002\u0002\u1375", - "\u1376\u0007Q\u0002\u0002\u1376\u1377\u0007R\u0002\u0002\u1377\u1378", - "\u0007a\u0002\u0002\u1378\u1379\u0007Q\u0002\u0002\u1379\u137a\u0007", - "P\u0002\u0002\u137a\u137b\u0007a\u0002\u0002\u137b\u137c\u0007G\u0002", - "\u0002\u137c\u137d\u0007T\u0002\u0002\u137d\u137e\u0007T\u0002\u0002", - "\u137e\u137f\u0007Q\u0002\u0002\u137f\u1380\u0007T\u0002\u0002\u1380", - "\u029e\u0003\u0002\u0002\u0002\u1381\u1382\u0007U\u0002\u0002\u1382", - "\u1383\u0007W\u0002\u0002\u1383\u1384\u0007R\u0002\u0002\u1384\u1385", - "\u0007R\u0002\u0002\u1385\u1386\u0007Q\u0002\u0002\u1386\u1387\u0007", - "T\u0002\u0002\u1387\u1388\u0007V\u0002\u0002\u1388\u1389\u0007G\u0002", - "\u0002\u1389\u138a\u0007F\u0002\u0002\u138a\u02a0\u0003\u0002\u0002", - "\u0002\u138b\u138c\u0007U\u0002\u0002\u138c\u138d\u0007[\u0002\u0002", - "\u138d\u138e\u0007U\u0002\u0002\u138e\u138f\u0007V\u0002\u0002\u138f", - "\u1390\u0007G\u0002\u0002\u1390\u1391\u0007O\u0002\u0002\u1391\u1392", - "\u0007a\u0002\u0002\u1392\u1393\u0007W\u0002\u0002\u1393\u1394\u0007", - "U\u0002\u0002\u1394\u1395\u0007G\u0002\u0002\u1395\u1396\u0007T\u0002", - "\u0002\u1396\u02a2\u0003\u0002\u0002\u0002\u1397\u1398\u0007V\u0002", - "\u0002\u1398\u1399\u0007C\u0002\u0002\u1399\u139a\u0007D\u0002\u0002", - "\u139a\u139b\u0007N\u0002\u0002\u139b\u139c\u0007G\u0002\u0002\u139c", - "\u02a4\u0003\u0002\u0002\u0002\u139d\u139e\u0007V\u0002\u0002\u139e", - "\u139f\u0007C\u0002\u0002\u139f\u13a0\u0007D\u0002\u0002\u13a0\u13a1", - "\u0007N\u0002\u0002\u13a1\u13a2\u0007G\u0002\u0002\u13a2\u13a3\u0007", - "U\u0002\u0002\u13a3\u13a4\u0007C\u0002\u0002\u13a4\u13a5\u0007O\u0002", - "\u0002\u13a5\u13a6\u0007R\u0002\u0002\u13a6\u13a7\u0007N\u0002\u0002", - "\u13a7\u13a8\u0007G\u0002\u0002\u13a8\u02a6\u0003\u0002\u0002\u0002", - "\u13a9\u13aa\u0007V\u0002\u0002\u13aa\u13ab\u0007C\u0002\u0002\u13ab", - "\u13ac\u0007R\u0002\u0002\u13ac\u13ad\u0007G\u0002\u0002\u13ad\u02a8", - "\u0003\u0002\u0002\u0002\u13ae\u13af\u0007V\u0002\u0002\u13af\u13b0", - "\u0007C\u0002\u0002\u13b0\u13b1\u0007T\u0002\u0002\u13b1\u13b2\u0007", - "I\u0002\u0002\u13b2\u13b3\u0007G\u0002\u0002\u13b3\u13b4\u0007V\u0002", - "\u0002\u13b4\u02aa\u0003\u0002\u0002\u0002\u13b5\u13b6\u0007V\u0002", - "\u0002\u13b6\u13b7\u0007E\u0002\u0002\u13b7\u13b8\u0007R\u0002\u0002", - "\u13b8\u02ac\u0003\u0002\u0002\u0002\u13b9\u13ba\u0007V\u0002\u0002", - "\u13ba\u13bb\u0007G\u0002\u0002\u13bb\u13bc\u0007Z\u0002\u0002\u13bc", - "\u13bd\u0007V\u0002\u0002\u13bd\u13be\u0007U\u0002\u0002\u13be\u13bf", - "\u0007K\u0002\u0002\u13bf\u13c0\u0007\\\u0002\u0002\u13c0\u13c1\u0007", - "G\u0002\u0002\u13c1\u02ae\u0003\u0002\u0002\u0002\u13c2\u13c3\u0007", - "V\u0002\u0002\u13c3\u13c4\u0007J\u0002\u0002\u13c4\u13c5\u0007G\u0002", - "\u0002\u13c5\u13c6\u0007P\u0002\u0002\u13c6\u02b0\u0003\u0002\u0002", - "\u0002\u13c7\u13c8\u0007V\u0002\u0002\u13c8\u13c9\u0007Q\u0002\u0002", - "\u13c9\u02b2\u0003\u0002\u0002\u0002\u13ca\u13cb\u0007V\u0002\u0002", - "\u13cb\u13cc\u0007Q\u0002\u0002\u13cc\u13cd\u0007R\u0002\u0002\u13cd", - "\u02b4\u0003\u0002\u0002\u0002\u13ce\u13cf\u0007V\u0002\u0002\u13cf", - "\u13d0\u0007T\u0002\u0002\u13d0\u13d1\u0007C\u0002\u0002\u13d1\u13d2", - "\u0007E\u0002\u0002\u13d2\u13d3\u0007M\u0002\u0002\u13d3\u13d4\u0007", - "a\u0002\u0002\u13d4\u13d5\u0007E\u0002\u0002\u13d5\u13d6\u0007C\u0002", - "\u0002\u13d6\u13d7\u0007W\u0002\u0002\u13d7\u13d8\u0007U\u0002\u0002", - "\u13d8\u13d9\u0007C\u0002\u0002\u13d9\u13da\u0007N\u0002\u0002\u13da", - "\u13db\u0007K\u0002\u0002\u13db\u13dc\u0007V\u0002\u0002\u13dc\u13dd", - "\u0007[\u0002\u0002\u13dd\u02b6\u0003\u0002\u0002\u0002\u13de\u13df", - "\u0007V\u0002\u0002\u13df\u13e0\u0007T\u0002\u0002\u13e0\u13e1\u0007", - "C\u0002\u0002\u13e1\u13e2\u0007P\u0002\u0002\u13e2\u02b8\u0003\u0002", - "\u0002\u0002\u13e3\u13e4\u0007V\u0002\u0002\u13e4\u13e5\u0007T\u0002", - "\u0002\u13e5\u13e6\u0007C\u0002\u0002\u13e6\u13e7\u0007P\u0002\u0002", - "\u13e7\u13e8\u0007U\u0002\u0002\u13e8\u13e9\u0007C\u0002\u0002\u13e9", - "\u13ea\u0007E\u0002\u0002\u13ea\u13eb\u0007V\u0002\u0002\u13eb\u13ec", - "\u0007K\u0002\u0002\u13ec\u13ed\u0007Q\u0002\u0002\u13ed\u13ee\u0007", - "P\u0002\u0002\u13ee\u02ba\u0003\u0002\u0002\u0002\u13ef\u13f0\u0007", - "V\u0002\u0002\u13f0\u13f1\u0007T\u0002\u0002\u13f1\u13f2\u0007C\u0002", - "\u0002\u13f2\u13f3\u0007P\u0002\u0002\u13f3\u13f4\u0007U\u0002\u0002", - "\u13f4\u13f5\u0007H\u0002\u0002\u13f5\u13f6\u0007G\u0002\u0002\u13f6", - "\u13f7\u0007T\u0002\u0002\u13f7\u02bc\u0003\u0002\u0002\u0002\u13f8", - "\u13f9\u0007V\u0002\u0002\u13f9\u13fa\u0007T\u0002\u0002\u13fa\u13fb", - "\u0007K\u0002\u0002\u13fb\u13fc\u0007I\u0002\u0002\u13fc\u13fd\u0007", - "I\u0002\u0002\u13fd\u13fe\u0007G\u0002\u0002\u13fe\u13ff\u0007T\u0002", - "\u0002\u13ff\u02be\u0003\u0002\u0002\u0002\u1400\u1401\u0007V\u0002", - "\u0002\u1401\u1402\u0007T\u0002\u0002\u1402\u1403\u0007W\u0002\u0002", - "\u1403\u1404\u0007P\u0002\u0002\u1404\u1405\u0007E\u0002\u0002\u1405", - "\u1406\u0007C\u0002\u0002\u1406\u1407\u0007V\u0002\u0002\u1407\u1408", - "\u0007G\u0002\u0002\u1408\u02c0\u0003\u0002\u0002\u0002\u1409\u140a", - "\u0007V\u0002\u0002\u140a\u140b\u0007U\u0002\u0002\u140b\u140c\u0007", - "G\u0002\u0002\u140c\u140d\u0007S\u0002\u0002\u140d\u140e\u0007W\u0002", - "\u0002\u140e\u140f\u0007C\u0002\u0002\u140f\u1410\u0007N\u0002\u0002", - "\u1410\u02c2\u0003\u0002\u0002\u0002\u1411\u1412\u0007W\u0002\u0002", - "\u1412\u1413\u0007P\u0002\u0002\u1413\u1414\u0007E\u0002\u0002\u1414", - "\u1415\u0007J\u0002\u0002\u1415\u1416\u0007G\u0002\u0002\u1416\u1417", - "\u0007E\u0002\u0002\u1417\u1418\u0007M\u0002\u0002\u1418\u1419\u0007", - "G\u0002\u0002\u1419\u141a\u0007F\u0002\u0002\u141a\u02c4\u0003\u0002", - "\u0002\u0002\u141b\u141c\u0007W\u0002\u0002\u141c\u141d\u0007P\u0002", - "\u0002\u141d\u141e\u0007K\u0002\u0002\u141e\u141f\u0007Q\u0002\u0002", - "\u141f\u1420\u0007P\u0002\u0002\u1420\u02c6\u0003\u0002\u0002\u0002", - "\u1421\u1422\u0007W\u0002\u0002\u1422\u1423\u0007P\u0002\u0002\u1423", - "\u1424\u0007K\u0002\u0002\u1424\u1425\u0007S\u0002\u0002\u1425\u1426", - "\u0007W\u0002\u0002\u1426\u1427\u0007G\u0002\u0002\u1427\u02c8\u0003", - "\u0002\u0002\u0002\u1428\u1429\u0007W\u0002\u0002\u1429\u142a\u0007", - "P\u0002\u0002\u142a\u142b\u0007N\u0002\u0002\u142b\u142c\u0007Q\u0002", - "\u0002\u142c\u142d\u0007E\u0002\u0002\u142d\u142e\u0007M\u0002\u0002", - "\u142e\u02ca\u0003\u0002\u0002\u0002\u142f\u1430\u0007W\u0002\u0002", - "\u1430\u1431\u0007P\u0002\u0002\u1431\u1432\u0007R\u0002\u0002\u1432", - "\u1433\u0007K\u0002\u0002\u1433\u1434\u0007X\u0002\u0002\u1434\u1435", - "\u0007Q\u0002\u0002\u1435\u1436\u0007V\u0002\u0002\u1436\u02cc\u0003", - "\u0002\u0002\u0002\u1437\u1438\u0007W\u0002\u0002\u1438\u1439\u0007", - "P\u0002\u0002\u1439\u143a\u0007U\u0002\u0002\u143a\u143b\u0007C\u0002", - "\u0002\u143b\u143c\u0007H\u0002\u0002\u143c\u143d\u0007G\u0002\u0002", - "\u143d\u02ce\u0003\u0002\u0002\u0002\u143e\u143f\u0007W\u0002\u0002", - "\u143f\u1440\u0007R\u0002\u0002\u1440\u1441\u0007F\u0002\u0002\u1441", - "\u1442\u0007C\u0002\u0002\u1442\u1443\u0007V\u0002\u0002\u1443\u1444", - "\u0007G\u0002\u0002\u1444\u02d0\u0003\u0002\u0002\u0002\u1445\u1446", - "\u0007W\u0002\u0002\u1446\u1447\u0007R\u0002\u0002\u1447\u1448\u0007", - "F\u0002\u0002\u1448\u1449\u0007C\u0002\u0002\u1449\u144a\u0007V\u0002", - "\u0002\u144a\u144b\u0007G\u0002\u0002\u144b\u144c\u0007V\u0002\u0002", - "\u144c\u144d\u0007G\u0002\u0002\u144d\u144e\u0007Z\u0002\u0002\u144e", - "\u144f\u0007V\u0002\u0002\u144f\u02d2\u0003\u0002\u0002\u0002\u1450", - "\u1451\u0007W\u0002\u0002\u1451\u1452\u0007T\u0002\u0002\u1452\u1453", - "\u0007N\u0002\u0002\u1453\u02d4\u0003\u0002\u0002\u0002\u1454\u1455", - "\u0007W\u0002\u0002\u1455\u1456\u0007U\u0002\u0002\u1456\u1457\u0007", - "G\u0002\u0002\u1457\u02d6\u0003\u0002\u0002\u0002\u1458\u1459\u0007", - "W\u0002\u0002\u1459\u145a\u0007U\u0002\u0002\u145a\u145b\u0007G\u0002", - "\u0002\u145b\u145c\u0007F\u0002\u0002\u145c\u02d8\u0003\u0002\u0002", - "\u0002\u145d\u145e\u0007W\u0002\u0002\u145e\u145f\u0007U\u0002\u0002", - "\u145f\u1460\u0007G\u0002\u0002\u1460\u1461\u0007T\u0002\u0002\u1461", - "\u02da\u0003\u0002\u0002\u0002\u1462\u1463\u0007X\u0002\u0002\u1463", - "\u1464\u0007C\u0002\u0002\u1464\u1465\u0007N\u0002\u0002\u1465\u1466", - "\u0007W\u0002\u0002\u1466\u1467\u0007G\u0002\u0002\u1467\u1468\u0007", - "U\u0002\u0002\u1468\u02dc\u0003\u0002\u0002\u0002\u1469\u146a\u0007", - "X\u0002\u0002\u146a\u146b\u0007C\u0002\u0002\u146b\u146c\u0007T\u0002", - "\u0002\u146c\u146d\u0007[\u0002\u0002\u146d\u146e\u0007K\u0002\u0002", - "\u146e\u146f\u0007P\u0002\u0002\u146f\u1470\u0007I\u0002\u0002\u1470", - "\u02de\u0003\u0002\u0002\u0002\u1471\u1472\u0007X\u0002\u0002\u1472", - "\u1473\u0007G\u0002\u0002\u1473\u1474\u0007T\u0002\u0002\u1474\u1475", - "\u0007D\u0002\u0002\u1475\u1476\u0007Q\u0002\u0002\u1476\u1477\u0007", - "U\u0002\u0002\u1477\u1478\u0007G\u0002\u0002\u1478\u1479\u0007N\u0002", - "\u0002\u1479\u147a\u0007Q\u0002\u0002\u147a\u147b\u0007I\u0002\u0002", - "\u147b\u147c\u0007I\u0002\u0002\u147c\u147d\u0007K\u0002\u0002\u147d", - "\u147e\u0007P\u0002\u0002\u147e\u147f\u0007I\u0002\u0002\u147f\u02e0", - "\u0003\u0002\u0002\u0002\u1480\u1481\u0007X\u0002\u0002\u1481\u1482", - "\u0007K\u0002\u0002\u1482\u1483\u0007G\u0002\u0002\u1483\u1484\u0007", - "Y\u0002\u0002\u1484\u02e2\u0003\u0002\u0002\u0002\u1485\u1486\u0007", - "X\u0002\u0002\u1486\u1487\u0007K\u0002\u0002\u1487\u1488\u0007U\u0002", - "\u0002\u1488\u1489\u0007K\u0002\u0002\u1489\u148a\u0007D\u0002\u0002", - "\u148a\u148b\u0007K\u0002\u0002\u148b\u148c\u0007N\u0002\u0002\u148c", - "\u148d\u0007K\u0002\u0002\u148d\u148e\u0007V\u0002\u0002\u148e\u148f", - "\u0007[\u0002\u0002\u148f\u02e4\u0003\u0002\u0002\u0002\u1490\u1491", - "\u0007Y\u0002\u0002\u1491\u1492\u0007C\u0002\u0002\u1492\u1493\u0007", - "K\u0002\u0002\u1493\u1494\u0007V\u0002\u0002\u1494\u1495\u0007H\u0002", - "\u0002\u1495\u1496\u0007Q\u0002\u0002\u1496\u1497\u0007T\u0002\u0002", - "\u1497\u02e6\u0003\u0002\u0002\u0002\u1498\u1499\u0007Y\u0002\u0002", - "\u1499\u149a\u0007J\u0002\u0002\u149a\u149b\u0007G\u0002\u0002\u149b", - "\u149c\u0007P\u0002\u0002\u149c\u02e8\u0003\u0002\u0002\u0002\u149d", - "\u149e\u0007Y\u0002\u0002\u149e\u149f\u0007J\u0002\u0002\u149f\u14a0", - "\u0007G\u0002\u0002\u14a0\u14a1\u0007T\u0002\u0002\u14a1\u14a2\u0007", - "G\u0002\u0002\u14a2\u02ea\u0003\u0002\u0002\u0002\u14a3\u14a4\u0007", - "Y\u0002\u0002\u14a4\u14a5\u0007J\u0002\u0002\u14a5\u14a6\u0007K\u0002", - "\u0002\u14a6\u14a7\u0007N\u0002\u0002\u14a7\u14a8\u0007G\u0002\u0002", - "\u14a8\u02ec\u0003\u0002\u0002\u0002\u14a9\u14aa\u0007Y\u0002\u0002", - "\u14aa\u14ab\u0007K\u0002\u0002\u14ab\u14ac\u0007P\u0002\u0002\u14ac", - "\u14ad\u0007F\u0002\u0002\u14ad\u14ae\u0007Q\u0002\u0002\u14ae\u14af", - "\u0007Y\u0002\u0002\u14af\u14b0\u0007U\u0002\u0002\u14b0\u02ee\u0003", - "\u0002\u0002\u0002\u14b1\u14b2\u0007Y\u0002\u0002\u14b2\u14b3\u0007", - "K\u0002\u0002\u14b3\u14b4\u0007V\u0002\u0002\u14b4\u14b5\u0007J\u0002", - "\u0002\u14b5\u02f0\u0003\u0002\u0002\u0002\u14b6\u14b7\u0007Y\u0002", - "\u0002\u14b7\u14b8\u0007K\u0002\u0002\u14b8\u14b9\u0007V\u0002\u0002", - "\u14b9\u14ba\u0007J\u0002\u0002\u14ba\u14bb\u0007K\u0002\u0002\u14bb", - "\u14bc\u0007P\u0002\u0002\u14bc\u02f2\u0003\u0002\u0002\u0002\u14bd", - "\u14be\u0007Y\u0002\u0002\u14be\u14bf\u0007K\u0002\u0002\u14bf\u14c0", - "\u0007V\u0002\u0002\u14c0\u14c1\u0007J\u0002\u0002\u14c1\u14c2\u0007", - "Q\u0002\u0002\u14c2\u14c3\u0007W\u0002\u0002\u14c3\u14c4\u0007V\u0002", - "\u0002\u14c4\u02f4\u0003\u0002\u0002\u0002\u14c5\u14c6\u0007Y\u0002", - "\u0002\u14c6\u14c7\u0007K\u0002\u0002\u14c7\u14c8\u0007V\u0002\u0002", - "\u14c8\u14c9\u0007P\u0002\u0002\u14c9\u14ca\u0007G\u0002\u0002\u14ca", - "\u14cb\u0007U\u0002\u0002\u14cb\u14cc\u0007U\u0002\u0002\u14cc\u02f6", - "\u0003\u0002\u0002\u0002\u14cd\u14ce\u0007Y\u0002\u0002\u14ce\u14cf", - "\u0007T\u0002\u0002\u14cf\u14d0\u0007K\u0002\u0002\u14d0\u14d1\u0007", - "V\u0002\u0002\u14d1\u14d2\u0007G\u0002\u0002\u14d2\u14d3\u0007V\u0002", - "\u0002\u14d3\u14d4\u0007G\u0002\u0002\u14d4\u14d5\u0007Z\u0002\u0002", - "\u14d5\u14d6\u0007V\u0002\u0002\u14d6\u02f8\u0003\u0002\u0002\u0002", - "\u14d7\u14d8\u0007C\u0002\u0002\u14d8\u14d9\u0007D\u0002\u0002\u14d9", - "\u14da\u0007U\u0002\u0002\u14da\u14db\u0007Q\u0002\u0002\u14db\u14dc", - "\u0007N\u0002\u0002\u14dc\u14dd\u0007W\u0002\u0002\u14dd\u14de\u0007", - "V\u0002\u0002\u14de\u14df\u0007G\u0002\u0002\u14df\u02fa\u0003\u0002", - "\u0002\u0002\u14e0\u14e1\u0007C\u0002\u0002\u14e1\u14e2\u0007E\u0002", - "\u0002\u14e2\u14e3\u0007E\u0002\u0002\u14e3\u14e4\u0007G\u0002\u0002", - "\u14e4\u14e5\u0007P\u0002\u0002\u14e5\u14e6\u0007V\u0002\u0002\u14e6", - "\u14e7\u0007a\u0002\u0002\u14e7\u14e8\u0007U\u0002\u0002\u14e8\u14e9", - "\u0007G\u0002\u0002\u14e9\u14ea\u0007P\u0002\u0002\u14ea\u14eb\u0007", - "U\u0002\u0002\u14eb\u14ec\u0007K\u0002\u0002\u14ec\u14ed\u0007V\u0002", - "\u0002\u14ed\u14ee\u0007K\u0002\u0002\u14ee\u14ef\u0007X\u0002\u0002", - "\u14ef\u14f0\u0007K\u0002\u0002\u14f0\u14f1\u0007V\u0002\u0002\u14f1", - "\u14f2\u0007[\u0002\u0002\u14f2\u02fc\u0003\u0002\u0002\u0002\u14f3", - "\u14f4\u0007C\u0002\u0002\u14f4\u14f5\u0007E\u0002\u0002\u14f5\u14f6", - "\u0007V\u0002\u0002\u14f6\u14f7\u0007K\u0002\u0002\u14f7\u14f8\u0007", - "Q\u0002\u0002\u14f8\u14f9\u0007P\u0002\u0002\u14f9\u02fe\u0003\u0002", - "\u0002\u0002\u14fa\u14fb\u0007C\u0002\u0002\u14fb\u14fc\u0007E\u0002", - "\u0002\u14fc\u14fd\u0007V\u0002\u0002\u14fd\u14fe\u0007K\u0002\u0002", - "\u14fe\u14ff\u0007X\u0002\u0002\u14ff\u1500\u0007C\u0002\u0002\u1500", - "\u1501\u0007V\u0002\u0002\u1501\u1502\u0007K\u0002\u0002\u1502\u1503", - "\u0007Q\u0002\u0002\u1503\u1504\u0007P\u0002\u0002\u1504\u0300\u0003", - "\u0002\u0002\u0002\u1505\u1506\u0007C\u0002\u0002\u1506\u1507\u0007", - "E\u0002\u0002\u1507\u1508\u0007V\u0002\u0002\u1508\u1509\u0007K\u0002", - "\u0002\u1509\u150a\u0007X\u0002\u0002\u150a\u150b\u0007G\u0002\u0002", - "\u150b\u0302\u0003\u0002\u0002\u0002\u150c\u150d\u0007C\u0002\u0002", - "\u150d\u150e\u0007F\u0002\u0002\u150e\u150f\u0007F\u0002\u0002\u150f", - "\u1510\u0007T\u0002\u0002\u1510\u1511\u0007G\u0002\u0002\u1511\u1512", - "\u0007U\u0002\u0002\u1512\u1513\u0007U\u0002\u0002\u1513\u0304\u0003", - "\u0002\u0002\u0002\u1514\u1515\u0007C\u0002\u0002\u1515\u1516\u0007", - "G\u0002\u0002\u1516\u1517\u0007U\u0002\u0002\u1517\u1518\u0007a\u0002", - "\u0002\u1518\u1519\u00073\u0002\u0002\u1519\u151a\u00074\u0002\u0002", - "\u151a\u151b\u0007:\u0002\u0002\u151b\u0306\u0003\u0002\u0002\u0002", - "\u151c\u151d\u0007C\u0002\u0002\u151d\u151e\u0007G\u0002\u0002\u151e", - "\u151f\u0007U\u0002\u0002\u151f\u1520\u0007a\u0002\u0002\u1520\u1521", - "\u00073\u0002\u0002\u1521\u1522\u0007;\u0002\u0002\u1522\u1523\u0007", - "4\u0002\u0002\u1523\u0308\u0003\u0002\u0002\u0002\u1524\u1525\u0007", - "C\u0002\u0002\u1525\u1526\u0007G\u0002\u0002\u1526\u1527\u0007U\u0002", - "\u0002\u1527\u1528\u0007a\u0002\u0002\u1528\u1529\u00074\u0002\u0002", - "\u1529\u152a\u00077\u0002\u0002\u152a\u152b\u00078\u0002\u0002\u152b", - "\u030a\u0003\u0002\u0002\u0002\u152c\u152d\u0007C\u0002\u0002\u152d", - "\u152e\u0007H\u0002\u0002\u152e\u152f\u0007H\u0002\u0002\u152f\u1530", - "\u0007K\u0002\u0002\u1530\u1531\u0007P\u0002\u0002\u1531\u1532\u0007", - "K\u0002\u0002\u1532\u1533\u0007V\u0002\u0002\u1533\u1534\u0007[\u0002", - "\u0002\u1534\u030c\u0003\u0002\u0002\u0002\u1535\u1536\u0007C\u0002", - "\u0002\u1536\u1537\u0007H\u0002\u0002\u1537\u1538\u0007V\u0002\u0002", - "\u1538\u1539\u0007G\u0002\u0002\u1539\u153a\u0007T\u0002\u0002\u153a", - "\u030e\u0003\u0002\u0002\u0002\u153b\u153c\u0007C\u0002\u0002\u153c", - "\u153d\u0007I\u0002\u0002\u153d\u153e\u0007I\u0002\u0002\u153e\u153f", - "\u0007T\u0002\u0002\u153f\u1540\u0007G\u0002\u0002\u1540\u1541\u0007", - "I\u0002\u0002\u1541\u1542\u0007C\u0002\u0002\u1542\u1543\u0007V\u0002", - "\u0002\u1543\u1544\u0007G\u0002\u0002\u1544\u0310\u0003\u0002\u0002", - "\u0002\u1545\u1546\u0007C\u0002\u0002\u1546\u1547\u0007N\u0002\u0002", - "\u1547\u1548\u0007I\u0002\u0002\u1548\u1549\u0007Q\u0002\u0002\u1549", - "\u154a\u0007T\u0002\u0002\u154a\u154b\u0007K\u0002\u0002\u154b\u154c", - "\u0007V\u0002\u0002\u154c\u154d\u0007J\u0002\u0002\u154d\u154e\u0007", - "O\u0002\u0002\u154e\u0312\u0003\u0002\u0002\u0002\u154f\u1550\u0007", - "C\u0002\u0002\u1550\u1551\u0007N\u0002\u0002\u1551\u1552\u0007N\u0002", - "\u0002\u1552\u1553\u0007Q\u0002\u0002\u1553\u1554\u0007Y\u0002\u0002", - "\u1554\u1555\u0007a\u0002\u0002\u1555\u1556\u0007G\u0002\u0002\u1556", - "\u1557\u0007P\u0002\u0002\u1557\u1558\u0007E\u0002\u0002\u1558\u1559", - "\u0007T\u0002\u0002\u1559\u155a\u0007[\u0002\u0002\u155a\u155b\u0007", - "R\u0002\u0002\u155b\u155c\u0007V\u0002\u0002\u155c\u155d\u0007G\u0002", - "\u0002\u155d\u155e\u0007F\u0002\u0002\u155e\u155f\u0007a\u0002\u0002", - "\u155f\u1560\u0007X\u0002\u0002\u1560\u1561\u0007C\u0002\u0002\u1561", - "\u1562\u0007N\u0002\u0002\u1562\u1563\u0007W\u0002\u0002\u1563\u1564", - "\u0007G\u0002\u0002\u1564\u1565\u0007a\u0002\u0002\u1565\u1566\u0007", - "O\u0002\u0002\u1566\u1567\u0007Q\u0002\u0002\u1567\u1568\u0007F\u0002", - "\u0002\u1568\u1569\u0007K\u0002\u0002\u1569\u156a\u0007H\u0002\u0002", - "\u156a\u156b\u0007K\u0002\u0002\u156b\u156c\u0007E\u0002\u0002\u156c", - "\u156d\u0007C\u0002\u0002\u156d\u156e\u0007V\u0002\u0002\u156e\u156f", - "\u0007K\u0002\u0002\u156f\u1570\u0007Q\u0002\u0002\u1570\u1571\u0007", - "P\u0002\u0002\u1571\u1572\u0007U\u0002\u0002\u1572\u0314\u0003\u0002", - "\u0002\u0002\u1573\u1574\u0007C\u0002\u0002\u1574\u1575\u0007N\u0002", - "\u0002\u1575\u1576\u0007N\u0002\u0002\u1576\u1577\u0007Q\u0002\u0002", - "\u1577\u1578\u0007Y\u0002\u0002\u1578\u1579\u0007a\u0002\u0002\u1579", - "\u157a\u0007U\u0002\u0002\u157a\u157b\u0007P\u0002\u0002\u157b\u157c", - "\u0007C\u0002\u0002\u157c\u157d\u0007R\u0002\u0002\u157d\u157e\u0007", - "U\u0002\u0002\u157e\u157f\u0007J\u0002\u0002\u157f\u1580\u0007Q\u0002", - "\u0002\u1580\u1581\u0007V\u0002\u0002\u1581\u1582\u0007a\u0002\u0002", - "\u1582\u1583\u0007K\u0002\u0002\u1583\u1584\u0007U\u0002\u0002\u1584", - "\u1585\u0007Q\u0002\u0002\u1585\u1586\u0007N\u0002\u0002\u1586\u1587", - "\u0007C\u0002\u0002\u1587\u1588\u0007V\u0002\u0002\u1588\u1589\u0007", - "K\u0002\u0002\u1589\u158a\u0007Q\u0002\u0002\u158a\u158b\u0007P\u0002", - "\u0002\u158b\u0316\u0003\u0002\u0002\u0002\u158c\u158d\u0007C\u0002", - "\u0002\u158d\u158e\u0007N\u0002\u0002\u158e\u158f\u0007N\u0002\u0002", - "\u158f\u1590\u0007Q\u0002\u0002\u1590\u1591\u0007Y\u0002\u0002\u1591", - "\u1592\u0007G\u0002\u0002\u1592\u1593\u0007F\u0002\u0002\u1593\u0318", - "\u0003\u0002\u0002\u0002\u1594\u1595\u0007C\u0002\u0002\u1595\u1596", - "\u0007P\u0002\u0002\u1596\u1597\u0007U\u0002\u0002\u1597\u1598\u0007", - "K\u0002\u0002\u1598\u1599\u0007a\u0002\u0002\u1599\u159a\u0007P\u0002", - "\u0002\u159a\u159b\u0007W\u0002\u0002\u159b\u159c\u0007N\u0002\u0002", - "\u159c\u159d\u0007N\u0002\u0002\u159d\u159e\u0007a\u0002\u0002\u159e", - "\u159f\u0007F\u0002\u0002\u159f\u15a0\u0007G\u0002\u0002\u15a0\u15a1", - "\u0007H\u0002\u0002\u15a1\u15a2\u0007C\u0002\u0002\u15a2\u15a3\u0007", - "W\u0002\u0002\u15a3\u15a4\u0007N\u0002\u0002\u15a4\u15a5\u0007V\u0002", - "\u0002\u15a5\u031a\u0003\u0002\u0002\u0002\u15a6\u15a7\u0007C\u0002", - "\u0002\u15a7\u15a8\u0007P\u0002\u0002\u15a8\u15a9\u0007U\u0002\u0002", - "\u15a9\u15aa\u0007K\u0002\u0002\u15aa\u15ab\u0007a\u0002\u0002\u15ab", - "\u15ac\u0007P\u0002\u0002\u15ac\u15ad\u0007W\u0002\u0002\u15ad\u15ae", - "\u0007N\u0002\u0002\u15ae\u15af\u0007N\u0002\u0002\u15af\u15b0\u0007", - "U\u0002\u0002\u15b0\u031c\u0003\u0002\u0002\u0002\u15b1\u15b2\u0007", - "C\u0002\u0002\u15b2\u15b3\u0007P\u0002\u0002\u15b3\u15b4\u0007U\u0002", - "\u0002\u15b4\u15b5\u0007K\u0002\u0002\u15b5\u15b6\u0007a\u0002\u0002", - "\u15b6\u15b7\u0007R\u0002\u0002\u15b7\u15b8\u0007C\u0002\u0002\u15b8", - "\u15b9\u0007F\u0002\u0002\u15b9\u15ba\u0007F\u0002\u0002\u15ba\u15bb", - "\u0007K\u0002\u0002\u15bb\u15bc\u0007P\u0002\u0002\u15bc\u15bd\u0007", - "I\u0002\u0002\u15bd\u031e\u0003\u0002\u0002\u0002\u15be\u15bf\u0007", - "C\u0002\u0002\u15bf\u15c0\u0007P\u0002\u0002\u15c0\u15c1\u0007U\u0002", - "\u0002\u15c1\u15c2\u0007K\u0002\u0002\u15c2\u15c3\u0007a\u0002\u0002", - "\u15c3\u15c4\u0007Y\u0002\u0002\u15c4\u15c5\u0007C\u0002\u0002\u15c5", - "\u15c6\u0007T\u0002\u0002\u15c6\u15c7\u0007P\u0002\u0002\u15c7\u15c8", - "\u0007K\u0002\u0002\u15c8\u15c9\u0007P\u0002\u0002\u15c9\u15ca\u0007", - "I\u0002\u0002\u15ca\u15cb\u0007U\u0002\u0002\u15cb\u0320\u0003\u0002", - "\u0002\u0002\u15cc\u15cd\u0007C\u0002\u0002\u15cd\u15ce\u0007R\u0002", - "\u0002\u15ce\u15cf\u0007R\u0002\u0002\u15cf\u15d0\u0007N\u0002\u0002", - "\u15d0\u15d1\u0007K\u0002\u0002\u15d1\u15d2\u0007E\u0002\u0002\u15d2", - "\u15d3\u0007C\u0002\u0002\u15d3\u15d4\u0007V\u0002\u0002\u15d4\u15d5", - "\u0007K\u0002\u0002\u15d5\u15d6\u0007Q\u0002\u0002\u15d6\u15d7\u0007", - "P\u0002\u0002\u15d7\u15d8\u0007a\u0002\u0002\u15d8\u15d9\u0007N\u0002", - "\u0002\u15d9\u15da\u0007Q\u0002\u0002\u15da\u15db\u0007I\u0002\u0002", - "\u15db\u0322\u0003\u0002\u0002\u0002\u15dc\u15dd\u0007C\u0002\u0002", - "\u15dd\u15de\u0007R\u0002\u0002\u15de\u15df\u0007R\u0002\u0002\u15df", - "\u15e0\u0007N\u0002\u0002\u15e0\u15e1\u0007[\u0002\u0002\u15e1\u0324", - "\u0003\u0002\u0002\u0002\u15e2\u15e3\u0007C\u0002\u0002\u15e3\u15e4", - "\u0007T\u0002\u0002\u15e4\u15e5\u0007K\u0002\u0002\u15e5\u15e6\u0007", - "V\u0002\u0002\u15e6\u15e7\u0007J\u0002\u0002\u15e7\u15e8\u0007C\u0002", - "\u0002\u15e8\u15e9\u0007D\u0002\u0002\u15e9\u15ea\u0007Q\u0002\u0002", - "\u15ea\u15eb\u0007T\u0002\u0002\u15eb\u15ec\u0007V\u0002\u0002\u15ec", - "\u0326\u0003\u0002\u0002\u0002\u15ed\u15ee\u0007C\u0002\u0002\u15ee", - "\u15ef\u0007U\u0002\u0002\u15ef\u15f0\u0007U\u0002\u0002\u15f0\u15f1", - "\u0007G\u0002\u0002\u15f1\u15f2\u0007O\u0002\u0002\u15f2\u15f3\u0007", - "D\u0002\u0002\u15f3\u15f4\u0007N\u0002\u0002\u15f4\u15f5\u0007[\u0002", - "\u0002\u15f5\u0328\u0003\u0002\u0002\u0002\u15f6\u15f7\u0007C\u0002", - "\u0002\u15f7\u15f8\u0007W\u0002\u0002\u15f8\u15f9\u0007F\u0002\u0002", - "\u15f9\u15fa\u0007K\u0002\u0002\u15fa\u15fb\u0007V\u0002\u0002\u15fb", - "\u032a\u0003\u0002\u0002\u0002\u15fc\u15fd\u0007C\u0002\u0002\u15fd", - "\u15fe\u0007W\u0002\u0002\u15fe\u15ff\u0007F\u0002\u0002\u15ff\u1600", - "\u0007K\u0002\u0002\u1600\u1601\u0007V\u0002\u0002\u1601\u1602\u0007", - "a\u0002\u0002\u1602\u1603\u0007I\u0002\u0002\u1603\u1604\u0007W\u0002", - "\u0002\u1604\u1605\u0007K\u0002\u0002\u1605\u1606\u0007F\u0002\u0002", - "\u1606\u032c\u0003\u0002\u0002\u0002\u1607\u1608\u0007C\u0002\u0002", - "\u1608\u1609\u0007W\u0002\u0002\u1609\u160a\u0007V\u0002\u0002\u160a", - "\u160b\u0007Q\u0002\u0002\u160b\u032e\u0003\u0002\u0002\u0002\u160c", - "\u160d\u0007C\u0002\u0002\u160d\u160e\u0007W\u0002\u0002\u160e\u160f", - "\u0007V\u0002\u0002\u160f\u1610\u0007Q\u0002\u0002\u1610\u1611\u0007", - "a\u0002\u0002\u1611\u1612\u0007E\u0002\u0002\u1612\u1613\u0007N\u0002", - "\u0002\u1613\u1614\u0007G\u0002\u0002\u1614\u1615\u0007C\u0002\u0002", - "\u1615\u1616\u0007P\u0002\u0002\u1616\u1617\u0007W\u0002\u0002\u1617", - "\u1618\u0007R\u0002\u0002\u1618\u0330\u0003\u0002\u0002\u0002\u1619", - "\u161a\u0007C\u0002\u0002\u161a\u161b\u0007W\u0002\u0002\u161b\u161c", - "\u0007V\u0002\u0002\u161c\u161d\u0007Q\u0002\u0002\u161d\u161e\u0007", - "a\u0002\u0002\u161e\u161f\u0007E\u0002\u0002\u161f\u1620\u0007N\u0002", - "\u0002\u1620\u1621\u0007Q\u0002\u0002\u1621\u1622\u0007U\u0002\u0002", - "\u1622\u1623\u0007G\u0002\u0002\u1623\u0332\u0003\u0002\u0002\u0002", - "\u1624\u1625\u0007C\u0002\u0002\u1625\u1626\u0007W\u0002\u0002\u1626", - "\u1627\u0007V\u0002\u0002\u1627\u1628\u0007Q\u0002\u0002\u1628\u1629", - "\u0007a\u0002\u0002\u1629\u162a\u0007E\u0002\u0002\u162a\u162b\u0007", - "T\u0002\u0002\u162b\u162c\u0007G\u0002\u0002\u162c\u162d\u0007C\u0002", - "\u0002\u162d\u162e\u0007V\u0002\u0002\u162e\u162f\u0007G\u0002\u0002", - "\u162f\u1630\u0007a\u0002\u0002\u1630\u1631\u0007U\u0002\u0002\u1631", - "\u1632\u0007V\u0002\u0002\u1632\u1633\u0007C\u0002\u0002\u1633\u1634", - "\u0007V\u0002\u0002\u1634\u1635\u0007K\u0002\u0002\u1635\u1636\u0007", - "U\u0002\u0002\u1636\u1637\u0007V\u0002\u0002\u1637\u1638\u0007K\u0002", - "\u0002\u1638\u1639\u0007E\u0002\u0002\u1639\u163a\u0007U\u0002\u0002", - "\u163a\u0334\u0003\u0002\u0002\u0002\u163b\u163c\u0007C\u0002\u0002", - "\u163c\u163d\u0007W\u0002\u0002\u163d\u163e\u0007V\u0002\u0002\u163e", - "\u163f\u0007Q\u0002\u0002\u163f\u1640\u0007a\u0002\u0002\u1640\u1641", - "\u0007U\u0002\u0002\u1641\u1642\u0007J\u0002\u0002\u1642\u1643\u0007", - "T\u0002\u0002\u1643\u1644\u0007K\u0002\u0002\u1644\u1645\u0007P\u0002", - "\u0002\u1645\u1646\u0007M\u0002\u0002\u1646\u0336\u0003\u0002\u0002", - "\u0002\u1647\u1648\u0007C\u0002\u0002\u1648\u1649\u0007W\u0002\u0002", - "\u1649\u164a\u0007V\u0002\u0002\u164a\u164b\u0007Q\u0002\u0002\u164b", - "\u164c\u0007a\u0002\u0002\u164c\u164d\u0007W\u0002\u0002\u164d\u164e", - "\u0007R\u0002\u0002\u164e\u164f\u0007F\u0002\u0002\u164f\u1650\u0007", - "C\u0002\u0002\u1650\u1651\u0007V\u0002\u0002\u1651\u1652\u0007G\u0002", - "\u0002\u1652\u1653\u0007a\u0002\u0002\u1653\u1654\u0007U\u0002\u0002", - "\u1654\u1655\u0007V\u0002\u0002\u1655\u1656\u0007C\u0002\u0002\u1656", - "\u1657\u0007V\u0002\u0002\u1657\u1658\u0007K\u0002\u0002\u1658\u1659", - "\u0007U\u0002\u0002\u1659\u165a\u0007V\u0002\u0002\u165a\u165b\u0007", - "K\u0002\u0002\u165b\u165c\u0007E\u0002\u0002\u165c\u165d\u0007U\u0002", - "\u0002\u165d\u0338\u0003\u0002\u0002\u0002\u165e\u165f\u0007C\u0002", - "\u0002\u165f\u1660\u0007W\u0002\u0002\u1660\u1661\u0007V\u0002\u0002", - "\u1661\u1662\u0007Q\u0002\u0002\u1662\u1663\u0007a\u0002\u0002\u1663", - "\u1664\u0007W\u0002\u0002\u1664\u1665\u0007R\u0002\u0002\u1665\u1666", - "\u0007F\u0002\u0002\u1666\u1667\u0007C\u0002\u0002\u1667\u1668\u0007", - "V\u0002\u0002\u1668\u1669\u0007G\u0002\u0002\u1669\u166a\u0007a\u0002", - "\u0002\u166a\u166b\u0007U\u0002\u0002\u166b\u166c\u0007V\u0002\u0002", - "\u166c\u166d\u0007C\u0002\u0002\u166d\u166e\u0007V\u0002\u0002\u166e", - "\u166f\u0007K\u0002\u0002\u166f\u1670\u0007U\u0002\u0002\u1670\u1671", - "\u0007V\u0002\u0002\u1671\u1672\u0007K\u0002\u0002\u1672\u1673\u0007", - "E\u0002\u0002\u1673\u1674\u0007U\u0002\u0002\u1674\u1675\u0007a\u0002", - "\u0002\u1675\u1676\u0007C\u0002\u0002\u1676\u1677\u0007U\u0002\u0002", - "\u1677\u1678\u0007[\u0002\u0002\u1678\u1679\u0007P\u0002\u0002\u1679", - "\u167a\u0007E\u0002\u0002\u167a\u033a\u0003\u0002\u0002\u0002\u167b", - "\u167c\u0007C\u0002\u0002\u167c\u167d\u0007X\u0002\u0002\u167d\u167e", - "\u0007C\u0002\u0002\u167e\u167f\u0007K\u0002\u0002\u167f\u1680\u0007", - "N\u0002\u0002\u1680\u1681\u0007C\u0002\u0002\u1681\u1682\u0007D\u0002", - "\u0002\u1682\u1683\u0007K\u0002\u0002\u1683\u1684\u0007N\u0002\u0002", - "\u1684\u1685\u0007K\u0002\u0002\u1685\u1686\u0007V\u0002\u0002\u1686", - "\u1687\u0007[\u0002\u0002\u1687\u033c\u0003\u0002\u0002\u0002\u1688", - "\u1689\u0007C\u0002\u0002\u1689\u168a\u0007X\u0002\u0002\u168a\u168b", - "\u0007I\u0002\u0002\u168b\u033e\u0003\u0002\u0002\u0002\u168c\u168d", - "\u0007D\u0002\u0002\u168d\u168e\u0007C\u0002\u0002\u168e\u168f\u0007", - "E\u0002\u0002\u168f\u1690\u0007M\u0002\u0002\u1690\u1691\u0007W\u0002", - "\u0002\u1691\u1692\u0007R\u0002\u0002\u1692\u1693\u0007a\u0002\u0002", - "\u1693\u1694\u0007R\u0002\u0002\u1694\u1695\u0007T\u0002\u0002\u1695", - "\u1696\u0007K\u0002\u0002\u1696\u1697\u0007Q\u0002\u0002\u1697\u1698", - "\u0007T\u0002\u0002\u1698\u1699\u0007K\u0002\u0002\u1699\u169a\u0007", - "V\u0002\u0002\u169a\u169b\u0007[\u0002\u0002\u169b\u0340\u0003\u0002", - "\u0002\u0002\u169c\u169d\u0007D\u0002\u0002\u169d\u169e\u0007G\u0002", - "\u0002\u169e\u169f\u0007I\u0002\u0002\u169f\u16a0\u0007K\u0002\u0002", - "\u16a0\u16a1\u0007P\u0002\u0002\u16a1\u16a2\u0007a\u0002\u0002\u16a2", - "\u16a3\u0007F\u0002\u0002\u16a3\u16a4\u0007K\u0002\u0002\u16a4\u16a5", - "\u0007C\u0002\u0002\u16a5\u16a6\u0007N\u0002\u0002\u16a6\u16a7\u0007", - "Q\u0002\u0002\u16a7\u16a8\u0007I\u0002\u0002\u16a8\u0342\u0003\u0002", - "\u0002\u0002\u16a9\u16aa\u0007D\u0002\u0002\u16aa\u16ab\u0007K\u0002", - "\u0002\u16ab\u16ac\u0007I\u0002\u0002\u16ac\u16ad\u0007K\u0002\u0002", - "\u16ad\u16ae\u0007P\u0002\u0002\u16ae\u16af\u0007V\u0002\u0002\u16af", - "\u0344\u0003\u0002\u0002\u0002\u16b0\u16b1\u0007D\u0002\u0002\u16b1", - "\u16b2\u0007K\u0002\u0002\u16b2\u16b3\u0007P\u0002\u0002\u16b3\u16b4", - "\u0007C\u0002\u0002\u16b4\u16b5\u0007T\u0002\u0002\u16b5\u16b6\u0007", - "[\u0002\u0002\u16b6\u16b7\u0007\"\u0002\u0002\u16b7\u16b8\u0007D\u0002", - "\u0002\u16b8\u16b9\u0007C\u0002\u0002\u16b9\u16ba\u0007U\u0002\u0002", - "\u16ba\u16bb\u0007G\u0002\u0002\u16bb\u16bc\u00078\u0002\u0002\u16bc", - "\u16bd\u00076\u0002\u0002\u16bd\u0346\u0003\u0002\u0002\u0002\u16be", - "\u16bf\u0007D\u0002\u0002\u16bf\u16c0\u0007K\u0002\u0002\u16c0\u16c1", - "\u0007P\u0002\u0002\u16c1\u16c2\u0007C\u0002\u0002\u16c2\u16c3\u0007", - "T\u0002\u0002\u16c3\u16c4\u0007[\u0002\u0002\u16c4\u16c5\u0007a\u0002", - "\u0002\u16c5\u16c6\u0007E\u0002\u0002\u16c6\u16c7\u0007J\u0002\u0002", - "\u16c7\u16c8\u0007G\u0002\u0002\u16c8\u16c9\u0007E\u0002\u0002\u16c9", - "\u16ca\u0007M\u0002\u0002\u16ca\u16cb\u0007U\u0002\u0002\u16cb\u16cc", - "\u0007W\u0002\u0002\u16cc\u16cd\u0007O\u0002\u0002\u16cd\u0348\u0003", - "\u0002\u0002\u0002\u16ce\u16cf\u0007D\u0002\u0002\u16cf\u16d0\u0007", - "K\u0002\u0002\u16d0\u16d1\u0007P\u0002\u0002\u16d1\u16d2\u0007F\u0002", - "\u0002\u16d2\u16d3\u0007K\u0002\u0002\u16d3\u16d4\u0007P\u0002\u0002", - "\u16d4\u16d5\u0007I\u0002\u0002\u16d5\u034a\u0003\u0002\u0002\u0002", - "\u16d6\u16d7\u0007D\u0002\u0002\u16d7\u16d8\u0007N\u0002\u0002\u16d8", - "\u16d9\u0007Q\u0002\u0002\u16d9\u16da\u0007D\u0002\u0002\u16da\u16db", - "\u0007a\u0002\u0002\u16db\u16dc\u0007U\u0002\u0002\u16dc\u16dd\u0007", - "V\u0002\u0002\u16dd\u16de\u0007Q\u0002\u0002\u16de\u16df\u0007T\u0002", - "\u0002\u16df\u16e0\u0007C\u0002\u0002\u16e0\u16e1\u0007I\u0002\u0002", - "\u16e1\u16e2\u0007G\u0002\u0002\u16e2\u034c\u0003\u0002\u0002\u0002", - "\u16e3\u16e4\u0007D\u0002\u0002\u16e4\u16e5\u0007T\u0002\u0002\u16e5", - "\u16e6\u0007Q\u0002\u0002\u16e6\u16e7\u0007M\u0002\u0002\u16e7\u16e8", - "\u0007G\u0002\u0002\u16e8\u16e9\u0007T\u0002\u0002\u16e9\u034e\u0003", - "\u0002\u0002\u0002\u16ea\u16eb\u0007D\u0002\u0002\u16eb\u16ec\u0007", - "T\u0002\u0002\u16ec\u16ed\u0007Q\u0002\u0002\u16ed\u16ee\u0007M\u0002", - "\u0002\u16ee\u16ef\u0007G\u0002\u0002\u16ef\u16f0\u0007T\u0002\u0002", - "\u16f0\u16f1\u0007a\u0002\u0002\u16f1\u16f2\u0007K\u0002\u0002\u16f2", - "\u16f3\u0007P\u0002\u0002\u16f3\u16f4\u0007U\u0002\u0002\u16f4\u16f5", - "\u0007V\u0002\u0002\u16f5\u16f6\u0007C\u0002\u0002\u16f6\u16f7\u0007", - "P\u0002\u0002\u16f7\u16f8\u0007E\u0002\u0002\u16f8\u16f9\u0007G\u0002", - "\u0002\u16f9\u0350\u0003\u0002\u0002\u0002\u16fa\u16fb\u0007D\u0002", - "\u0002\u16fb\u16fc\u0007W\u0002\u0002\u16fc\u16fd\u0007N\u0002\u0002", - "\u16fd\u16fe\u0007M\u0002\u0002\u16fe\u16ff\u0007a\u0002\u0002\u16ff", - "\u1700\u0007N\u0002\u0002\u1700\u1701\u0007Q\u0002\u0002\u1701\u1702", - "\u0007I\u0002\u0002\u1702\u1703\u0007I\u0002\u0002\u1703\u1704\u0007", - "G\u0002\u0002\u1704\u1705\u0007F\u0002\u0002\u1705\u0352\u0003\u0002", - "\u0002\u0002\u1706\u1707\u0007E\u0002\u0002\u1707\u1708\u0007C\u0002", - "\u0002\u1708\u1709\u0007N\u0002\u0002\u1709\u170a\u0007N\u0002\u0002", - "\u170a\u170b\u0007G\u0002\u0002\u170b\u170c\u0007T\u0002\u0002\u170c", - "\u0354\u0003\u0002\u0002\u0002\u170d\u170e\u0007E\u0002\u0002\u170e", - "\u170f\u0007C\u0002\u0002\u170f\u1710\u0007R\u0002\u0002\u1710\u1711", - "\u0007a\u0002\u0002\u1711\u1712\u0007E\u0002\u0002\u1712\u1713\u0007", - "R\u0002\u0002\u1713\u1714\u0007W\u0002\u0002\u1714\u1715\u0007a\u0002", - "\u0002\u1715\u1716\u0007R\u0002\u0002\u1716\u1717\u0007G\u0002\u0002", - "\u1717\u1718\u0007T\u0002\u0002\u1718\u1719\u0007E\u0002\u0002\u1719", - "\u171a\u0007G\u0002\u0002\u171a\u171b\u0007P\u0002\u0002\u171b\u171c", - "\u0007V\u0002\u0002\u171c\u0356\u0003\u0002\u0002\u0002\u171d\u171e", - "\u0007V\u0002\u0002\u171e\u171f\u0007T\u0002\u0002\u171f\u1720\u0007", - "[\u0002\u0002\u1720\u1722\u0007a\u0002\u0002\u1721\u171d\u0003\u0002", - "\u0002\u0002\u1721\u1722\u0003\u0002\u0002\u0002\u1722\u1723\u0003\u0002", - "\u0002\u0002\u1723\u1724\u0007E\u0002\u0002\u1724\u1725\u0007C\u0002", - "\u0002\u1725\u1726\u0007U\u0002\u0002\u1726\u1727\u0007V\u0002\u0002", - "\u1727\u0358\u0003\u0002\u0002\u0002\u1728\u1729\u0007E\u0002\u0002", - "\u1729\u172a\u0007C\u0002\u0002\u172a\u172b\u0007V\u0002\u0002\u172b", - "\u172c\u0007C\u0002\u0002\u172c\u172d\u0007N\u0002\u0002\u172d\u172e", - "\u0007Q\u0002\u0002\u172e\u172f\u0007I\u0002\u0002\u172f\u035a\u0003", - "\u0002\u0002\u0002\u1730\u1731\u0007E\u0002\u0002\u1731\u1732\u0007", - "C\u0002\u0002\u1732\u1733\u0007V\u0002\u0002\u1733\u1734\u0007E\u0002", - "\u0002\u1734\u1735\u0007J\u0002\u0002\u1735\u035c\u0003\u0002\u0002", - "\u0002\u1736\u1737\u0007E\u0002\u0002\u1737\u1738\u0007J\u0002\u0002", - "\u1738\u1739\u0007C\u0002\u0002\u1739\u173a\u0007P\u0002\u0002\u173a", - "\u173b\u0007I\u0002\u0002\u173b\u173c\u0007G\u0002\u0002\u173c\u173d", - "\u0007a\u0002\u0002\u173d\u173e\u0007T\u0002\u0002\u173e\u173f\u0007", - "G\u0002\u0002\u173f\u1740\u0007V\u0002\u0002\u1740\u1741\u0007G\u0002", - "\u0002\u1741\u1742\u0007P\u0002\u0002\u1742\u1743\u0007V\u0002\u0002", - "\u1743\u1744\u0007K\u0002\u0002\u1744\u1745\u0007Q\u0002\u0002\u1745", - "\u1746\u0007P\u0002\u0002\u1746\u035e\u0003\u0002\u0002\u0002\u1747", - "\u1748\u0007E\u0002\u0002\u1748\u1749\u0007J\u0002\u0002\u1749\u174a", - "\u0007C\u0002\u0002\u174a\u174b\u0007P\u0002\u0002\u174b\u174c\u0007", - "I\u0002\u0002\u174c\u174d\u0007G\u0002\u0002\u174d\u174e\u0007a\u0002", - "\u0002\u174e\u174f\u0007V\u0002\u0002\u174f\u1750\u0007T\u0002\u0002", - "\u1750\u1751\u0007C\u0002\u0002\u1751\u1752\u0007E\u0002\u0002\u1752", - "\u1753\u0007M\u0002\u0002\u1753\u1754\u0007K\u0002\u0002\u1754\u1755", - "\u0007P\u0002\u0002\u1755\u1756\u0007I\u0002\u0002\u1756\u0360\u0003", - "\u0002\u0002\u0002\u1757\u1758\u0007E\u0002\u0002\u1758\u1759\u0007", - "J\u0002\u0002\u1759\u175a\u0007G\u0002\u0002\u175a\u175b\u0007E\u0002", - "\u0002\u175b\u175c\u0007M\u0002\u0002\u175c\u175d\u0007U\u0002\u0002", - "\u175d\u175e\u0007W\u0002\u0002\u175e\u175f\u0007O\u0002\u0002\u175f", - "\u0362\u0003\u0002\u0002\u0002\u1760\u1761\u0007E\u0002\u0002\u1761", - "\u1762\u0007J\u0002\u0002\u1762\u1763\u0007G\u0002\u0002\u1763\u1764", - "\u0007E\u0002\u0002\u1764\u1765\u0007M\u0002\u0002\u1765\u1766\u0007", - "U\u0002\u0002\u1766\u1767\u0007W\u0002\u0002\u1767\u1768\u0007O\u0002", - "\u0002\u1768\u1769\u0007a\u0002\u0002\u1769\u176a\u0007C\u0002\u0002", - "\u176a\u176b\u0007I\u0002\u0002\u176b\u176c\u0007I\u0002\u0002\u176c", - "\u0364\u0003\u0002\u0002\u0002\u176d\u176e\u0007E\u0002\u0002\u176e", - "\u176f\u0007N\u0002\u0002\u176f\u1770\u0007G\u0002\u0002\u1770\u1771", - "\u0007C\u0002\u0002\u1771\u1772\u0007P\u0002\u0002\u1772\u1773\u0007", - "W\u0002\u0002\u1773\u1774\u0007R\u0002\u0002\u1774\u0366\u0003\u0002", - "\u0002\u0002\u1775\u1776\u0007E\u0002\u0002\u1776\u1777\u0007Q\u0002", - "\u0002\u1777\u1778\u0007N\u0002\u0002\u1778\u1779\u0007N\u0002\u0002", - "\u1779\u177a\u0007G\u0002\u0002\u177a\u177b\u0007E\u0002\u0002\u177b", - "\u177c\u0007V\u0002\u0002\u177c\u177d\u0007K\u0002\u0002\u177d\u177e", - "\u0007Q\u0002\u0002\u177e\u177f\u0007P\u0002\u0002\u177f\u0368\u0003", - "\u0002\u0002\u0002\u1780\u1781\u0007E\u0002\u0002\u1781\u1782\u0007", - "Q\u0002\u0002\u1782\u1783\u0007N\u0002\u0002\u1783\u1784\u0007W\u0002", - "\u0002\u1784\u1785\u0007O\u0002\u0002\u1785\u1786\u0007P\u0002\u0002", - "\u1786\u1787\u0007a\u0002\u0002\u1787\u1788\u0007O\u0002\u0002\u1788", - "\u1789\u0007C\u0002\u0002\u1789\u178a\u0007U\u0002\u0002\u178a\u178b", - "\u0007V\u0002\u0002\u178b\u178c\u0007G\u0002\u0002\u178c\u178d\u0007", - "T\u0002\u0002\u178d\u178e\u0007a\u0002\u0002\u178e\u178f\u0007M\u0002", - "\u0002\u178f\u1790\u0007G\u0002\u0002\u1790\u1791\u0007[\u0002\u0002", - "\u1791\u036a\u0003\u0002\u0002\u0002\u1792\u1793\u0007E\u0002\u0002", - "\u1793\u1794\u0007Q\u0002\u0002\u1794\u1795\u0007O\u0002\u0002\u1795", - "\u1796\u0007O\u0002\u0002\u1796\u1797\u0007K\u0002\u0002\u1797\u1798", - "\u0007V\u0002\u0002\u1798\u1799\u0007V\u0002\u0002\u1799\u179a\u0007", - "G\u0002\u0002\u179a\u179b\u0007F\u0002\u0002\u179b\u036c\u0003\u0002", - "\u0002\u0002\u179c\u179d\u0007E\u0002\u0002\u179d\u179e\u0007Q\u0002", - "\u0002\u179e\u179f\u0007O\u0002\u0002\u179f\u17a0\u0007R\u0002\u0002", - "\u17a0\u17a1\u0007C\u0002\u0002\u17a1\u17a2\u0007V\u0002\u0002\u17a2", - "\u17a3\u0007K\u0002\u0002\u17a3\u17a4\u0007D\u0002\u0002\u17a4\u17a5", - "\u0007K\u0002\u0002\u17a5\u17a6\u0007N\u0002\u0002\u17a6\u17a7\u0007", - "K\u0002\u0002\u17a7\u17a8\u0007V\u0002\u0002\u17a8\u17a9\u0007[\u0002", - "\u0002\u17a9\u17aa\u0007a\u0002\u0002\u17aa\u17ab\u0007N\u0002\u0002", - "\u17ab\u17ac\u0007G\u0002\u0002\u17ac\u17ad\u0007X\u0002\u0002\u17ad", - "\u17ae\u0007G\u0002\u0002\u17ae\u17af\u0007N\u0002\u0002\u17af\u036e", - "\u0003\u0002\u0002\u0002\u17b0\u17b1\u0007E\u0002\u0002\u17b1\u17b2", - "\u0007Q\u0002\u0002\u17b2\u17b3\u0007P\u0002\u0002\u17b3\u17b4\u0007", - "E\u0002\u0002\u17b4\u17b5\u0007C\u0002\u0002\u17b5\u17b6\u0007V\u0002", - "\u0002\u17b6\u0370\u0003\u0002\u0002\u0002\u17b7\u17b8\u0007E\u0002", - "\u0002\u17b8\u17b9\u0007Q\u0002\u0002\u17b9\u17ba\u0007P\u0002\u0002", - "\u17ba\u17bb\u0007E\u0002\u0002\u17bb\u17bc\u0007C\u0002\u0002\u17bc", - "\u17bd\u0007V\u0002\u0002\u17bd\u17be\u0007a\u0002\u0002\u17be\u17bf", - "\u0007P\u0002\u0002\u17bf\u17c0\u0007W\u0002\u0002\u17c0\u17c1\u0007", - "N\u0002\u0002\u17c1\u17c2\u0007N\u0002\u0002\u17c2\u17c3\u0007a\u0002", - "\u0002\u17c3\u17c4\u0007[\u0002\u0002\u17c4\u17c5\u0007K\u0002\u0002", - "\u17c5\u17c6\u0007G\u0002\u0002\u17c6\u17c7\u0007N\u0002\u0002\u17c7", - "\u17c8\u0007F\u0002\u0002\u17c8\u17c9\u0007U\u0002\u0002\u17c9\u17ca", - "\u0007a\u0002\u0002\u17ca\u17cb\u0007P\u0002\u0002\u17cb\u17cc\u0007", - "W\u0002\u0002\u17cc\u17cd\u0007N\u0002\u0002\u17cd\u17ce\u0007N\u0002", - "\u0002\u17ce\u0372\u0003\u0002\u0002\u0002\u17cf\u17d0\u0007E\u0002", - "\u0002\u17d0\u17d1\u0007Q\u0002\u0002\u17d1\u17d2\u0007P\u0002\u0002", - "\u17d2\u17d3\u0007V\u0002\u0002\u17d3\u17d4\u0007G\u0002\u0002\u17d4", - "\u17d5\u0007P\u0002\u0002\u17d5\u17d6\u0007V\u0002\u0002\u17d6\u0374", - "\u0003\u0002\u0002\u0002\u17d7\u17d8\u0007E\u0002\u0002\u17d8\u17d9", - "\u0007Q\u0002\u0002\u17d9\u17da\u0007P\u0002\u0002\u17da\u17db\u0007", - "V\u0002\u0002\u17db\u17dc\u0007T\u0002\u0002\u17dc\u17dd\u0007Q\u0002", - "\u0002\u17dd\u17de\u0007N\u0002\u0002\u17de\u0376\u0003\u0002\u0002", - "\u0002\u17df\u17e0\u0007E\u0002\u0002\u17e0\u17e1\u0007Q\u0002\u0002", - "\u17e1\u17e2\u0007Q\u0002\u0002\u17e2\u17e3\u0007M\u0002\u0002\u17e3", - "\u17e4\u0007K\u0002\u0002\u17e4\u17e5\u0007G\u0002\u0002\u17e5\u0378", - "\u0003\u0002\u0002\u0002\u17e6\u17e7\u0007E\u0002\u0002\u17e7\u17e8", - "\u0007Q\u0002\u0002\u17e8\u17e9\u0007W\u0002\u0002\u17e9\u17ea\u0007", - "P\u0002\u0002\u17ea\u17eb\u0007V\u0002\u0002\u17eb\u037a\u0003\u0002", - "\u0002\u0002\u17ec\u17ed\u0007E\u0002\u0002\u17ed\u17ee\u0007Q\u0002", - "\u0002\u17ee\u17ef\u0007W\u0002\u0002\u17ef\u17f0\u0007P\u0002\u0002", - "\u17f0\u17f1\u0007V\u0002\u0002\u17f1\u17f2\u0007a\u0002\u0002\u17f2", - "\u17f3\u0007D\u0002\u0002\u17f3\u17f4\u0007K\u0002\u0002\u17f4\u17f5", - "\u0007I\u0002\u0002\u17f5\u037c\u0003\u0002\u0002\u0002\u17f6\u17f7", - "\u0007E\u0002\u0002\u17f7\u17f8\u0007Q\u0002\u0002\u17f8\u17f9\u0007", - "W\u0002\u0002\u17f9\u17fa\u0007P\u0002\u0002\u17fa\u17fb\u0007V\u0002", - "\u0002\u17fb\u17fc\u0007G\u0002\u0002\u17fc\u17fd\u0007T\u0002\u0002", - "\u17fd\u037e\u0003\u0002\u0002\u0002\u17fe\u17ff\u0007E\u0002\u0002", - "\u17ff\u1800\u0007R\u0002\u0002\u1800\u1801\u0007W\u0002\u0002\u1801", - "\u0380\u0003\u0002\u0002\u0002\u1802\u1803\u0007E\u0002\u0002\u1803", - "\u1804\u0007T\u0002\u0002\u1804\u1805\u0007G\u0002\u0002\u1805\u1806", - "\u0007C\u0002\u0002\u1806\u1807\u0007V\u0002\u0002\u1807\u1808\u0007", - "G\u0002\u0002\u1808\u1809\u0007a\u0002\u0002\u1809\u180a\u0007P\u0002", - "\u0002\u180a\u180b\u0007G\u0002\u0002\u180b\u180c\u0007Y\u0002\u0002", - "\u180c\u0382\u0003\u0002\u0002\u0002\u180d\u180e\u0007E\u0002\u0002", - "\u180e\u180f\u0007T\u0002\u0002\u180f\u1810\u0007G\u0002\u0002\u1810", - "\u1811\u0007C\u0002\u0002\u1811\u1812\u0007V\u0002\u0002\u1812\u1813", - "\u0007K\u0002\u0002\u1813\u1814\u0007Q\u0002\u0002\u1814\u1815\u0007", - "P\u0002\u0002\u1815\u1816\u0007a\u0002\u0002\u1816\u1817\u0007F\u0002", - "\u0002\u1817\u1818\u0007K\u0002\u0002\u1818\u1819\u0007U\u0002\u0002", - "\u1819\u181a\u0007R\u0002\u0002\u181a\u181b\u0007Q\u0002\u0002\u181b", - "\u181c\u0007U\u0002\u0002\u181c\u181d\u0007K\u0002\u0002\u181d\u181e", - "\u0007V\u0002\u0002\u181e\u181f\u0007K\u0002\u0002\u181f\u1820\u0007", - "Q\u0002\u0002\u1820\u1821\u0007P\u0002\u0002\u1821\u0384\u0003\u0002", - "\u0002\u0002\u1822\u1823\u0007E\u0002\u0002\u1823\u1824\u0007T\u0002", - "\u0002\u1824\u1825\u0007G\u0002\u0002\u1825\u1826\u0007F\u0002\u0002", - "\u1826\u1827\u0007G\u0002\u0002\u1827\u1828\u0007P\u0002\u0002\u1828", - "\u1829\u0007V\u0002\u0002\u1829\u182a\u0007K\u0002\u0002\u182a\u182b", - "\u0007C\u0002\u0002\u182b\u182c\u0007N\u0002\u0002\u182c\u0386\u0003", - "\u0002\u0002\u0002\u182d\u182e\u0007E\u0002\u0002\u182e\u182f\u0007", - "T\u0002\u0002\u182f\u1830\u0007[\u0002\u0002\u1830\u1831\u0007R\u0002", - "\u0002\u1831\u1832\u0007V\u0002\u0002\u1832\u1833\u0007Q\u0002\u0002", - "\u1833\u1834\u0007I\u0002\u0002\u1834\u1835\u0007T\u0002\u0002\u1835", - "\u1836\u0007C\u0002\u0002\u1836\u1837\u0007R\u0002\u0002\u1837\u1838", - "\u0007J\u0002\u0002\u1838\u1839\u0007K\u0002\u0002\u1839\u183a\u0007", - "E\u0002\u0002\u183a\u0388\u0003\u0002\u0002\u0002\u183b\u183c\u0007", - "E\u0002\u0002\u183c\u183d\u0007W\u0002\u0002\u183d\u183e\u0007T\u0002", - "\u0002\u183e\u183f\u0007U\u0002\u0002\u183f\u1840\u0007Q\u0002\u0002", - "\u1840\u1841\u0007T\u0002\u0002\u1841\u1842\u0007a\u0002\u0002\u1842", - "\u1843\u0007E\u0002\u0002\u1843\u1844\u0007N\u0002\u0002\u1844\u1845", - "\u0007Q\u0002\u0002\u1845\u1846\u0007U\u0002\u0002\u1846\u1847\u0007", - "G\u0002\u0002\u1847\u1848\u0007a\u0002\u0002\u1848\u1849\u0007Q\u0002", - "\u0002\u1849\u184a\u0007P\u0002\u0002\u184a\u184b\u0007a\u0002\u0002", - "\u184b\u184c\u0007E\u0002\u0002\u184c\u184d\u0007Q\u0002\u0002\u184d", - "\u184e\u0007O\u0002\u0002\u184e\u184f\u0007O\u0002\u0002\u184f\u1850", - "\u0007K\u0002\u0002\u1850\u1851\u0007V\u0002\u0002\u1851\u038a\u0003", - "\u0002\u0002\u0002\u1852\u1853\u0007E\u0002\u0002\u1853\u1854\u0007", - "W\u0002\u0002\u1854\u1855\u0007T\u0002\u0002\u1855\u1856\u0007U\u0002", - "\u0002\u1856\u1857\u0007Q\u0002\u0002\u1857\u1858\u0007T\u0002\u0002", - "\u1858\u1859\u0007a\u0002\u0002\u1859\u185a\u0007F\u0002\u0002\u185a", - "\u185b\u0007G\u0002\u0002\u185b\u185c\u0007H\u0002\u0002\u185c\u185d", - "\u0007C\u0002\u0002\u185d\u185e\u0007W\u0002\u0002\u185e\u185f\u0007", - "N\u0002\u0002\u185f\u1860\u0007V\u0002\u0002\u1860\u038c\u0003\u0002", - "\u0002\u0002\u1861\u1862\u0007F\u0002\u0002\u1862\u1863\u0007C\u0002", - "\u0002\u1863\u1864\u0007V\u0002\u0002\u1864\u1865\u0007C\u0002\u0002", - "\u1865\u038e\u0003\u0002\u0002\u0002\u1866\u1867\u0007F\u0002\u0002", - "\u1867\u1868\u0007C\u0002\u0002\u1868\u1869\u0007V\u0002\u0002\u1869", - "\u186a\u0007G\u0002\u0002\u186a\u186b\u0007a\u0002\u0002\u186b\u186c", - "\u0007E\u0002\u0002\u186c\u186d\u0007Q\u0002\u0002\u186d\u186e\u0007", - "T\u0002\u0002\u186e\u186f\u0007T\u0002\u0002\u186f\u1870\u0007G\u0002", - "\u0002\u1870\u1871\u0007N\u0002\u0002\u1871\u1872\u0007C\u0002\u0002", - "\u1872\u1873\u0007V\u0002\u0002\u1873\u1874\u0007K\u0002\u0002\u1874", - "\u1875\u0007Q\u0002\u0002\u1875\u1876\u0007P\u0002\u0002\u1876\u1877", - "\u0007a\u0002\u0002\u1877\u1878\u0007Q\u0002\u0002\u1878\u1879\u0007", - "R\u0002\u0002\u1879\u187a\u0007V\u0002\u0002\u187a\u187b\u0007K\u0002", - "\u0002\u187b\u187c\u0007O\u0002\u0002\u187c\u187d\u0007K\u0002\u0002", - "\u187d\u187e\u0007\\\u0002\u0002\u187e\u187f\u0007C\u0002\u0002\u187f", - "\u1880\u0007V\u0002\u0002\u1880\u1881\u0007K\u0002\u0002\u1881\u1882", - "\u0007Q\u0002\u0002\u1882\u1883\u0007P\u0002\u0002\u1883\u0390\u0003", - "\u0002\u0002\u0002\u1884\u1885\u0007F\u0002\u0002\u1885\u1886\u0007", - "C\u0002\u0002\u1886\u1887\u0007V\u0002\u0002\u1887\u1888\u0007G\u0002", - "\u0002\u1888\u1889\u0007C\u0002\u0002\u1889\u188a\u0007F\u0002\u0002", - "\u188a\u188b\u0007F\u0002\u0002\u188b\u0392\u0003\u0002\u0002\u0002", - "\u188c\u188d\u0007F\u0002\u0002\u188d\u188e\u0007C\u0002\u0002\u188e", - "\u188f\u0007V\u0002\u0002\u188f\u1890\u0007G\u0002\u0002\u1890\u1891", - "\u0007F\u0002\u0002\u1891\u1892\u0007K\u0002\u0002\u1892\u1893\u0007", - "H\u0002\u0002\u1893\u1894\u0007H\u0002\u0002\u1894\u0394\u0003\u0002", - "\u0002\u0002\u1895\u1896\u0007F\u0002\u0002\u1896\u1897\u0007C\u0002", - "\u0002\u1897\u1898\u0007V\u0002\u0002\u1898\u1899\u0007G\u0002\u0002", - "\u1899\u189a\u0007P\u0002\u0002\u189a\u189b\u0007C\u0002\u0002\u189b", - "\u189c\u0007O\u0002\u0002\u189c\u189d\u0007G\u0002\u0002\u189d\u0396", - "\u0003\u0002\u0002\u0002\u189e\u189f\u0007F\u0002\u0002\u189f\u18a0", - "\u0007C\u0002\u0002\u18a0\u18a1\u0007V\u0002\u0002\u18a1\u18a2\u0007", - "G\u0002\u0002\u18a2\u18a3\u0007R\u0002\u0002\u18a3\u18a4\u0007C\u0002", - "\u0002\u18a4\u18a5\u0007T\u0002\u0002\u18a5\u18a6\u0007V\u0002\u0002", - "\u18a6\u0398\u0003\u0002\u0002\u0002\u18a7\u18a8\u0007F\u0002\u0002", - "\u18a8\u18a9\u0007C\u0002\u0002\u18a9\u18aa\u0007[\u0002\u0002\u18aa", - "\u18ab\u0007U\u0002\u0002\u18ab\u039a\u0003\u0002\u0002\u0002\u18ac", - "\u18ad\u0007F\u0002\u0002\u18ad\u18ae\u0007D\u0002\u0002\u18ae\u18af", - "\u0007a\u0002\u0002\u18af\u18b0\u0007E\u0002\u0002\u18b0\u18b1\u0007", - "J\u0002\u0002\u18b1\u18b2\u0007C\u0002\u0002\u18b2\u18b3\u0007K\u0002", - "\u0002\u18b3\u18b4\u0007P\u0002\u0002\u18b4\u18b5\u0007K\u0002\u0002", - "\u18b5\u18b6\u0007P\u0002\u0002\u18b6\u18b7\u0007I\u0002\u0002\u18b7", - "\u039c\u0003\u0002\u0002\u0002\u18b8\u18b9\u0007F\u0002\u0002\u18b9", - "\u18ba\u0007D\u0002\u0002\u18ba\u18bb\u0007a\u0002\u0002\u18bb\u18bc", - "\u0007H\u0002\u0002\u18bc\u18bd\u0007C\u0002\u0002\u18bd\u18be\u0007", - "K\u0002\u0002\u18be\u18bf\u0007N\u0002\u0002\u18bf\u18c0\u0007Q\u0002", - "\u0002\u18c0\u18c1\u0007X\u0002\u0002\u18c1\u18c2\u0007G\u0002\u0002", - "\u18c2\u18c3\u0007T\u0002\u0002\u18c3\u039e\u0003\u0002\u0002\u0002", - "\u18c4\u18c5\u0007F\u0002\u0002\u18c5\u18c6\u0007G\u0002\u0002\u18c6", - "\u18c7\u0007E\u0002\u0002\u18c7\u18c8\u0007T\u0002\u0002\u18c8\u18c9", - "\u0007[\u0002\u0002\u18c9\u18ca\u0007R\u0002\u0002\u18ca\u18cb\u0007", - "V\u0002\u0002\u18cb\u18cc\u0007K\u0002\u0002\u18cc\u18cd\u0007Q\u0002", - "\u0002\u18cd\u18ce\u0007P\u0002\u0002\u18ce\u03a0\u0003\u0002\u0002", - "\u0002\u18cf\u18d0\t\u0005\u0002\u0002\u18d0\u18d1\u0007F\u0002\u0002", - "\u18d1\u18d2\u0007G\u0002\u0002\u18d2\u18d3\u0007H\u0002\u0002\u18d3", - "\u18d4\u0007C\u0002\u0002\u18d4\u18d5\u0007W\u0002\u0002\u18d5\u18d6", - "\u0007N\u0002\u0002\u18d6\u18d7\u0007V\u0002\u0002\u18d7\u18d8\u0003", - "\u0002\u0002\u0002\u18d8\u18d9\t\u0005\u0002\u0002\u18d9\u03a2\u0003", - "\u0002\u0002\u0002\u18da\u18db\u0007F\u0002\u0002\u18db\u18dc\u0007", - "G\u0002\u0002\u18dc\u18dd\u0007H\u0002\u0002\u18dd\u18de\u0007C\u0002", - "\u0002\u18de\u18df\u0007W\u0002\u0002\u18df\u18e0\u0007N\u0002\u0002", - "\u18e0\u18e1\u0007V\u0002\u0002\u18e1\u18e2\u0007a\u0002\u0002\u18e2", - "\u18e3\u0007H\u0002\u0002\u18e3\u18e4\u0007W\u0002\u0002\u18e4\u18e5", - "\u0007N\u0002\u0002\u18e5\u18e6\u0007N\u0002\u0002\u18e6\u18e7\u0007", - "V\u0002\u0002\u18e7\u18e8\u0007G\u0002\u0002\u18e8\u18e9\u0007Z\u0002", - "\u0002\u18e9\u18ea\u0007V\u0002\u0002\u18ea\u18eb\u0007a\u0002\u0002", - "\u18eb\u18ec\u0007N\u0002\u0002\u18ec\u18ed\u0007C\u0002\u0002\u18ed", - "\u18ee\u0007P\u0002\u0002\u18ee\u18ef\u0007I\u0002\u0002\u18ef\u18f0", - "\u0007W\u0002\u0002\u18f0\u18f1\u0007C\u0002\u0002\u18f1\u18f2\u0007", - "I\u0002\u0002\u18f2\u18f3\u0007G\u0002\u0002\u18f3\u03a4\u0003\u0002", - "\u0002\u0002\u18f4\u18f5\u0007F\u0002\u0002\u18f5\u18f6\u0007G\u0002", - "\u0002\u18f6\u18f7\u0007H\u0002\u0002\u18f7\u18f8\u0007C\u0002\u0002", - "\u18f8\u18f9\u0007W\u0002\u0002\u18f9\u18fa\u0007N\u0002\u0002\u18fa", - "\u18fb\u0007V\u0002\u0002\u18fb\u18fc\u0007a\u0002\u0002\u18fc\u18fd", - "\u0007N\u0002\u0002\u18fd\u18fe\u0007C\u0002\u0002\u18fe\u18ff\u0007", - "P\u0002\u0002\u18ff\u1900\u0007I\u0002\u0002\u1900\u1901\u0007W\u0002", - "\u0002\u1901\u1902\u0007C\u0002\u0002\u1902\u1903\u0007I\u0002\u0002", - "\u1903\u1904\u0007G\u0002\u0002\u1904\u03a6\u0003\u0002\u0002\u0002", - "\u1905\u1906\u0007F\u0002\u0002\u1906\u1907\u0007G\u0002\u0002\u1907", - "\u1908\u0007N\u0002\u0002\u1908\u1909\u0007C\u0002\u0002\u1909\u190a", - "\u0007[\u0002\u0002\u190a\u03a8\u0003\u0002\u0002\u0002\u190b\u190c", - "\u0007F\u0002\u0002\u190c\u190d\u0007G\u0002\u0002\u190d\u190e\u0007", - "N\u0002\u0002\u190e\u190f\u0007C\u0002\u0002\u190f\u1910\u0007[\u0002", - "\u0002\u1910\u1911\u0007G\u0002\u0002\u1911\u1912\u0007F\u0002\u0002", - "\u1912\u1913\u0007a\u0002\u0002\u1913\u1914\u0007F\u0002\u0002\u1914", - "\u1915\u0007W\u0002\u0002\u1915\u1916\u0007T\u0002\u0002\u1916\u1917", - "\u0007C\u0002\u0002\u1917\u1918\u0007D\u0002\u0002\u1918\u1919\u0007", - "K\u0002\u0002\u1919\u191a\u0007N\u0002\u0002\u191a\u191b\u0007K\u0002", - "\u0002\u191b\u191c\u0007V\u0002\u0002\u191c\u191d\u0007[\u0002\u0002", - "\u191d\u03aa\u0003\u0002\u0002\u0002\u191e\u191f\u0007F\u0002\u0002", - "\u191f\u1920\u0007G\u0002\u0002\u1920\u1921\u0007N\u0002\u0002\u1921", - "\u1922\u0007G\u0002\u0002\u1922\u1923\u0007V\u0002\u0002\u1923\u1924", - "\u0007G\u0002\u0002\u1924\u1925\u0007F\u0002\u0002\u1925\u03ac\u0003", - "\u0002\u0002\u0002\u1926\u1927\u0007F\u0002\u0002\u1927\u1928\u0007", - "G\u0002\u0002\u1928\u1929\u0007P\u0002\u0002\u1929\u192a\u0007U\u0002", - "\u0002\u192a\u192b\u0007G\u0002\u0002\u192b\u192c\u0007a\u0002\u0002", - "\u192c\u192d\u0007T\u0002\u0002\u192d\u192e\u0007C\u0002\u0002\u192e", - "\u192f\u0007P\u0002\u0002\u192f\u1930\u0007M\u0002\u0002\u1930\u03ae", - "\u0003\u0002\u0002\u0002\u1931\u1932\u0007F\u0002\u0002\u1932\u1933", - "\u0007G\u0002\u0002\u1933\u1934\u0007R\u0002\u0002\u1934\u1935\u0007", - "G\u0002\u0002\u1935\u1936\u0007P\u0002\u0002\u1936\u1937\u0007F\u0002", - "\u0002\u1937\u1938\u0007G\u0002\u0002\u1938\u1939\u0007P\u0002\u0002", - "\u1939\u193a\u0007V\u0002\u0002\u193a\u193b\u0007U\u0002\u0002\u193b", - "\u03b0\u0003\u0002\u0002\u0002\u193c\u193d\u0007F\u0002\u0002\u193d", - "\u193e\u0007G\u0002\u0002\u193e\u193f\u0007U\u0002\u0002\u193f\u03b2", - "\u0003\u0002\u0002\u0002\u1940\u1941\u0007F\u0002\u0002\u1941\u1942", - "\u0007G\u0002\u0002\u1942\u1943\u0007U\u0002\u0002\u1943\u1944\u0007", - "E\u0002\u0002\u1944\u1945\u0007T\u0002\u0002\u1945\u1946\u0007K\u0002", - "\u0002\u1946\u1947\u0007R\u0002\u0002\u1947\u1948\u0007V\u0002\u0002", - "\u1948\u1949\u0007K\u0002\u0002\u1949\u194a\u0007Q\u0002\u0002\u194a", - "\u194b\u0007P\u0002\u0002\u194b\u03b4\u0003\u0002\u0002\u0002\u194c", - "\u194d\u0007F\u0002\u0002\u194d\u194e\u0007G\u0002\u0002\u194e\u194f", - "\u0007U\u0002\u0002\u194f\u1950\u0007Z\u0002\u0002\u1950\u03b6\u0003", - "\u0002\u0002\u0002\u1951\u1952\u0007F\u0002\u0002\u1952\u1953\u0007", - "J\u0002\u0002\u1953\u1954\u0007E\u0002\u0002\u1954\u1955\u0007R\u0002", - "\u0002\u1955\u03b8\u0003\u0002\u0002\u0002\u1956\u1957\u0007F\u0002", - "\u0002\u1957\u1958\u0007K\u0002\u0002\u1958\u1959\u0007C\u0002\u0002", - "\u1959\u195a\u0007N\u0002\u0002\u195a\u195b\u0007Q\u0002\u0002\u195b", - "\u195c\u0007I\u0002\u0002\u195c\u03ba\u0003\u0002\u0002\u0002\u195d", - "\u195e\u0007F\u0002\u0002\u195e\u195f\u0007K\u0002\u0002\u195f\u1960", - "\u0007T\u0002\u0002\u1960\u1961\u0007G\u0002\u0002\u1961\u1962\u0007", - "E\u0002\u0002\u1962\u1963\u0007V\u0002\u0002\u1963\u1964\u0007Q\u0002", - "\u0002\u1964\u1965\u0007T\u0002\u0002\u1965\u1966\u0007[\u0002\u0002", - "\u1966\u1967\u0007a\u0002\u0002\u1967\u1968\u0007P\u0002\u0002\u1968", - "\u1969\u0007C\u0002\u0002\u1969\u196a\u0007O\u0002\u0002\u196a\u196b", - "\u0007G\u0002\u0002\u196b\u03bc\u0003\u0002\u0002\u0002\u196c\u196d", - "\u0007F\u0002\u0002\u196d\u196e\u0007K\u0002\u0002\u196e\u196f\u0007", - "U\u0002\u0002\u196f\u1970\u0007C\u0002\u0002\u1970\u1971\u0007D\u0002", - "\u0002\u1971\u1972\u0007N\u0002\u0002\u1972\u1973\u0007G\u0002\u0002", - "\u1973\u03be\u0003\u0002\u0002\u0002\u1974\u1975\u0007F\u0002\u0002", - "\u1975\u1976\u0007K\u0002\u0002\u1976\u1977\u0007U\u0002\u0002\u1977", - "\u1978\u0007C\u0002\u0002\u1978\u1979\u0007D\u0002\u0002\u1979\u197a", - "\u0007N\u0002\u0002\u197a\u197b\u0007G\u0002\u0002\u197b\u197c\u0007", - "a\u0002\u0002\u197c\u197d\u0007D\u0002\u0002\u197d\u197e\u0007T\u0002", - "\u0002\u197e\u197f\u0007Q\u0002\u0002\u197f\u1980\u0007M\u0002\u0002", - "\u1980\u1981\u0007G\u0002\u0002\u1981\u1982\u0007T\u0002\u0002\u1982", - "\u03c0\u0003\u0002\u0002\u0002\u1983\u1984\u0007F\u0002\u0002\u1984", - "\u1985\u0007K\u0002\u0002\u1985\u1986\u0007U\u0002\u0002\u1986\u1987", - "\u0007C\u0002\u0002\u1987\u1988\u0007D\u0002\u0002\u1988\u1989\u0007", - "N\u0002\u0002\u1989\u198a\u0007G\u0002\u0002\u198a\u198b\u0007F\u0002", - "\u0002\u198b\u03c2\u0003\u0002\u0002\u0002\u198c\u198d\t\u0006\u0002", - "\u0002\u198d\u198e\t\u0004\u0002\u0002\u198e\u03c4\u0003\u0002\u0002", - "\u0002\u198f\u1990\u0007F\u0002\u0002\u1990\u1991\u0007Q\u0002\u0002", - "\u1991\u1992\u0007E\u0002\u0002\u1992\u1993\u0007W\u0002\u0002\u1993", - "\u1994\u0007O\u0002\u0002\u1994\u1995\u0007G\u0002\u0002\u1995\u1996", - "\u0007P\u0002\u0002\u1996\u1997\u0007V\u0002\u0002\u1997\u03c6\u0003", - "\u0002\u0002\u0002\u1998\u1999\u0007F\u0002\u0002\u1999\u199a\u0007", - "[\u0002\u0002\u199a\u199b\u0007P\u0002\u0002\u199b\u199c\u0007C\u0002", - "\u0002\u199c\u199d\u0007O\u0002\u0002\u199d\u199e\u0007K\u0002\u0002", - "\u199e\u199f\u0007E\u0002\u0002\u199f\u03c8\u0003\u0002\u0002\u0002", - "\u19a0\u19a1\u0007G\u0002\u0002\u19a1\u19a2\u0007N\u0002\u0002\u19a2", - "\u19a3\u0007G\u0002\u0002\u19a3\u19a4\u0007O\u0002\u0002\u19a4\u19a5", - "\u0007G\u0002\u0002\u19a5\u19a6\u0007P\u0002\u0002\u19a6\u19a7\u0007", - "V\u0002\u0002\u19a7\u19a8\u0007U\u0002\u0002\u19a8\u03ca\u0003\u0002", - "\u0002\u0002\u19a9\u19aa\u0007G\u0002\u0002\u19aa\u19ab\u0007O\u0002", - "\u0002\u19ab\u19ac\u0007G\u0002\u0002\u19ac\u19ad\u0007T\u0002\u0002", - "\u19ad\u19ae\u0007I\u0002\u0002\u19ae\u19af\u0007G\u0002\u0002\u19af", - "\u19b0\u0007P\u0002\u0002\u19b0\u19b1\u0007E\u0002\u0002\u19b1\u19b2", - "\u0007[\u0002\u0002\u19b2\u03cc\u0003\u0002\u0002\u0002\u19b3\u19b4", - "\u0007G\u0002\u0002\u19b4\u19b5\u0007O\u0002\u0002\u19b5\u19b6\u0007", - "R\u0002\u0002\u19b6\u19b7\u0007V\u0002\u0002\u19b7\u19b8\u0007[\u0002", - "\u0002\u19b8\u03ce\u0003\u0002\u0002\u0002\u19b9\u19ba\u0007G\u0002", - "\u0002\u19ba\u19bb\u0007P\u0002\u0002\u19bb\u19bc\u0007C\u0002\u0002", - "\u19bc\u19bd\u0007D\u0002\u0002\u19bd\u19be\u0007N\u0002\u0002\u19be", - "\u19bf\u0007G\u0002\u0002\u19bf\u03d0\u0003\u0002\u0002\u0002\u19c0", - "\u19c1\u0007G\u0002\u0002\u19c1\u19c2\u0007P\u0002\u0002\u19c2\u19c3", - "\u0007C\u0002\u0002\u19c3\u19c4\u0007D\u0002\u0002\u19c4\u19c5\u0007", - "N\u0002\u0002\u19c5\u19c6\u0007G\u0002\u0002\u19c6\u19c7\u0007a\u0002", - "\u0002\u19c7\u19c8\u0007D\u0002\u0002\u19c8\u19c9\u0007T\u0002\u0002", - "\u19c9\u19ca\u0007Q\u0002\u0002\u19ca\u19cb\u0007M\u0002\u0002\u19cb", - "\u19cc\u0007G\u0002\u0002\u19cc\u19cd\u0007T\u0002\u0002\u19cd\u03d2", - "\u0003\u0002\u0002\u0002\u19ce\u19cf\u0007G\u0002\u0002\u19cf\u19d0", - "\u0007P\u0002\u0002\u19d0\u19d1\u0007E\u0002\u0002\u19d1\u19d2\u0007", - "T\u0002\u0002\u19d2\u19d3\u0007[\u0002\u0002\u19d3\u19d4\u0007R\u0002", - "\u0002\u19d4\u19d5\u0007V\u0002\u0002\u19d5\u19d6\u0007G\u0002\u0002", - "\u19d6\u19d7\u0007F\u0002\u0002\u19d7\u19d8\u0007a\u0002\u0002\u19d8", - "\u19d9\u0007X\u0002\u0002\u19d9\u19da\u0007C\u0002\u0002\u19da\u19db", - "\u0007N\u0002\u0002\u19db\u19dc\u0007W\u0002\u0002\u19dc\u19dd\u0007", - "G\u0002\u0002\u19dd\u03d4\u0003\u0002\u0002\u0002\u19de\u19df\u0007", - "G\u0002\u0002\u19df\u19e0\u0007P\u0002\u0002\u19e0\u19e1\u0007E\u0002", - "\u0002\u19e1\u19e2\u0007T\u0002\u0002\u19e2\u19e3\u0007[\u0002\u0002", - "\u19e3\u19e4\u0007R\u0002\u0002\u19e4\u19e5\u0007V\u0002\u0002\u19e5", - "\u19e6\u0007K\u0002\u0002\u19e6\u19e7\u0007Q\u0002\u0002\u19e7\u19e8", - "\u0007P\u0002\u0002\u19e8\u03d6\u0003\u0002\u0002\u0002\u19e9\u19ea", - "\u0007G\u0002\u0002\u19ea\u19eb\u0007P\u0002\u0002\u19eb\u19ec\u0007", - "F\u0002\u0002\u19ec\u19ed\u0007R\u0002\u0002\u19ed\u19ee\u0007Q\u0002", - "\u0002\u19ee\u19ef\u0007K\u0002\u0002\u19ef\u19f0\u0007P\u0002\u0002", - "\u19f0\u19f1\u0007V\u0002\u0002\u19f1\u19f2\u0007a\u0002\u0002\u19f2", - "\u19f3\u0007W\u0002\u0002\u19f3\u19f4\u0007T\u0002\u0002\u19f4\u19f5", - "\u0007N\u0002\u0002\u19f5\u03d8\u0003\u0002\u0002\u0002\u19f6\u19f7", - "\u0007G\u0002\u0002\u19f7\u19f8\u0007T\u0002\u0002\u19f8\u19f9\u0007", - "T\u0002\u0002\u19f9\u19fa\u0007Q\u0002\u0002\u19fa\u19fb\u0007T\u0002", - "\u0002\u19fb\u19fc\u0007a\u0002\u0002\u19fc\u19fd\u0007D\u0002\u0002", - "\u19fd\u19fe\u0007T\u0002\u0002\u19fe\u19ff\u0007Q\u0002\u0002\u19ff", - "\u1a00\u0007M\u0002\u0002\u1a00\u1a01\u0007G\u0002\u0002\u1a01\u1a02", - "\u0007T\u0002\u0002\u1a02\u1a03\u0007a\u0002\u0002\u1a03\u1a04\u0007", - "E\u0002\u0002\u1a04\u1a05\u0007Q\u0002\u0002\u1a05\u1a06\u0007P\u0002", - "\u0002\u1a06\u1a07\u0007X\u0002\u0002\u1a07\u1a08\u0007G\u0002\u0002", - "\u1a08\u1a09\u0007T\u0002\u0002\u1a09\u1a0a\u0007U\u0002\u0002\u1a0a", - "\u1a0b\u0007C\u0002\u0002\u1a0b\u1a0c\u0007V\u0002\u0002\u1a0c\u1a0d", - "\u0007K\u0002\u0002\u1a0d\u1a0e\u0007Q\u0002\u0002\u1a0e\u1a0f\u0007", - "P\u0002\u0002\u1a0f\u1a10\u0007U\u0002\u0002\u1a10\u03da\u0003\u0002", - "\u0002\u0002\u1a11\u1a12\u0007G\u0002\u0002\u1a12\u1a13\u0007Z\u0002", - "\u0002\u1a13\u1a14\u0007E\u0002\u0002\u1a14\u1a15\u0007N\u0002\u0002", - "\u1a15\u1a16\u0007W\u0002\u0002\u1a16\u1a17\u0007U\u0002\u0002\u1a17", - "\u1a18\u0007K\u0002\u0002\u1a18\u1a19\u0007X\u0002\u0002\u1a19\u1a1a", - "\u0007G\u0002\u0002\u1a1a\u03dc\u0003\u0002\u0002\u0002\u1a1b\u1a1c", - "\u0007G\u0002\u0002\u1a1c\u1a1d\u0007Z\u0002\u0002\u1a1d\u1a1e\u0007", - "G\u0002\u0002\u1a1e\u1a1f\u0007E\u0002\u0002\u1a1f\u1a20\u0007W\u0002", - "\u0002\u1a20\u1a21\u0007V\u0002\u0002\u1a21\u1a22\u0007C\u0002\u0002", - "\u1a22\u1a23\u0007D\u0002\u0002\u1a23\u1a24\u0007N\u0002\u0002\u1a24", - "\u1a25\u0007G\u0002\u0002\u1a25\u03de\u0003\u0002\u0002\u0002\u1a26", - "\u1a27\u0007G\u0002\u0002\u1a27\u1a28\u0007Z\u0002\u0002\u1a28\u1a29", - "\u0007K\u0002\u0002\u1a29\u1a2a\u0007U\u0002\u0002\u1a2a\u1a2b\u0007", - "V\u0002\u0002\u1a2b\u03e0\u0003\u0002\u0002\u0002\u1a2c\u1a2d\u0007", - "G\u0002\u0002\u1a2d\u1a2e\u0007Z\u0002\u0002\u1a2e\u1a2f\u0007R\u0002", - "\u0002\u1a2f\u1a30\u0007C\u0002\u0002\u1a30\u1a31\u0007P\u0002\u0002", - "\u1a31\u1a32\u0007F\u0002\u0002\u1a32\u03e2\u0003\u0002\u0002\u0002", - "\u1a33\u1a34\u0007G\u0002\u0002\u1a34\u1a35\u0007Z\u0002\u0002\u1a35", - "\u1a36\u0007R\u0002\u0002\u1a36\u1a37\u0007K\u0002\u0002\u1a37\u1a38", - "\u0007T\u0002\u0002\u1a38\u1a39\u0007[\u0002\u0002\u1a39\u1a3a\u0007", - "a\u0002\u0002\u1a3a\u1a3b\u0007F\u0002\u0002\u1a3b\u1a3c\u0007C\u0002", - "\u0002\u1a3c\u1a3d\u0007V\u0002\u0002\u1a3d\u1a3e\u0007G\u0002\u0002", - "\u1a3e\u03e4\u0003\u0002\u0002\u0002\u1a3f\u1a40\u0007G\u0002\u0002", - "\u1a40\u1a41\u0007Z\u0002\u0002\u1a41\u1a42\u0007R\u0002\u0002\u1a42", - "\u1a43\u0007N\u0002\u0002\u1a43\u1a44\u0007K\u0002\u0002\u1a44\u1a45", - "\u0007E\u0002\u0002\u1a45\u1a46\u0007K\u0002\u0002\u1a46\u1a47\u0007", - "V\u0002\u0002\u1a47\u03e6\u0003\u0002\u0002\u0002\u1a48\u1a49\u0007", - "H\u0002\u0002\u1a49\u1a4a\u0007C\u0002\u0002\u1a4a\u1a4b\u0007K\u0002", - "\u0002\u1a4b\u1a4c\u0007N\u0002\u0002\u1a4c\u1a4d\u0007a\u0002\u0002", - "\u1a4d\u1a4e\u0007Q\u0002\u0002\u1a4e\u1a4f\u0007R\u0002\u0002\u1a4f", - "\u1a50\u0007G\u0002\u0002\u1a50\u1a51\u0007T\u0002\u0002\u1a51\u1a52", - "\u0007C\u0002\u0002\u1a52\u1a53\u0007V\u0002\u0002\u1a53\u1a54\u0007", - "K\u0002\u0002\u1a54\u1a55\u0007Q\u0002\u0002\u1a55\u1a56\u0007P\u0002", - "\u0002\u1a56\u03e8\u0003\u0002\u0002\u0002\u1a57\u1a58\u0007H\u0002", - "\u0002\u1a58\u1a59\u0007C\u0002\u0002\u1a59\u1a5a\u0007K\u0002\u0002", - "\u1a5a\u1a5b\u0007N\u0002\u0002\u1a5b\u1a5c\u0007Q\u0002\u0002\u1a5c", - "\u1a5d\u0007X\u0002\u0002\u1a5d\u1a5e\u0007G\u0002\u0002\u1a5e\u1a5f", - "\u0007T\u0002\u0002\u1a5f\u1a60\u0007a\u0002\u0002\u1a60\u1a61\u0007", - "O\u0002\u0002\u1a61\u1a62\u0007Q\u0002\u0002\u1a62\u1a63\u0007F\u0002", - "\u0002\u1a63\u1a64\u0007G\u0002\u0002\u1a64\u03ea\u0003\u0002\u0002", - "\u0002\u1a65\u1a66\u0007H\u0002\u0002\u1a66\u1a67\u0007C\u0002\u0002", - "\u1a67\u1a68\u0007K\u0002\u0002\u1a68\u1a69\u0007N\u0002\u0002\u1a69", - "\u1a6a\u0007W\u0002\u0002\u1a6a\u1a6b\u0007T\u0002\u0002\u1a6b\u1a6c", - "\u0007G\u0002\u0002\u1a6c\u03ec\u0003\u0002\u0002\u0002\u1a6d\u1a6e", - "\u0007H\u0002\u0002\u1a6e\u1a6f\u0007C\u0002\u0002\u1a6f\u1a70\u0007", - "K\u0002\u0002\u1a70\u1a71\u0007N\u0002\u0002\u1a71\u1a72\u0007W\u0002", - "\u0002\u1a72\u1a73\u0007T\u0002\u0002\u1a73\u1a74\u0007G\u0002\u0002", - "\u1a74\u1a75\u0007a\u0002\u0002\u1a75\u1a76\u0007E\u0002\u0002\u1a76", - "\u1a77\u0007Q\u0002\u0002\u1a77\u1a78\u0007P\u0002\u0002\u1a78\u1a79", - "\u0007F\u0002\u0002\u1a79\u1a7a\u0007K\u0002\u0002\u1a7a\u1a7b\u0007", - "V\u0002\u0002\u1a7b\u1a7c\u0007K\u0002\u0002\u1a7c\u1a7d\u0007Q\u0002", - "\u0002\u1a7d\u1a7e\u0007P\u0002\u0002\u1a7e\u1a7f\u0007a\u0002\u0002", - "\u1a7f\u1a80\u0007N\u0002\u0002\u1a80\u1a81\u0007G\u0002\u0002\u1a81", - "\u1a82\u0007X\u0002\u0002\u1a82\u1a83\u0007G\u0002\u0002\u1a83\u1a84", - "\u0007N\u0002\u0002\u1a84\u03ee\u0003\u0002\u0002\u0002\u1a85\u1a86", - "\u0007H\u0002\u0002\u1a86\u1a87\u0007C\u0002\u0002\u1a87\u1a88\u0007", - "U\u0002\u0002\u1a88\u1a89\u0007V\u0002\u0002\u1a89\u03f0\u0003\u0002", - "\u0002\u0002\u1a8a\u1a8b\u0007H\u0002\u0002\u1a8b\u1a8c\u0007C\u0002", - "\u0002\u1a8c\u1a8d\u0007U\u0002\u0002\u1a8d\u1a8e\u0007V\u0002\u0002", - "\u1a8e\u1a8f\u0007a\u0002\u0002\u1a8f\u1a90\u0007H\u0002\u0002\u1a90", - "\u1a91\u0007Q\u0002\u0002\u1a91\u1a92\u0007T\u0002\u0002\u1a92\u1a93", - "\u0007Y\u0002\u0002\u1a93\u1a94\u0007C\u0002\u0002\u1a94\u1a95\u0007", - "T\u0002\u0002\u1a95\u1a96\u0007F\u0002\u0002\u1a96\u03f2\u0003\u0002", - "\u0002\u0002\u1a97\u1a98\u0007H\u0002\u0002\u1a98\u1a99\u0007K\u0002", - "\u0002\u1a99\u1a9a\u0007N\u0002\u0002\u1a9a\u1a9b\u0007G\u0002\u0002", - "\u1a9b\u1a9c\u0007I\u0002\u0002\u1a9c\u1a9d\u0007T\u0002\u0002\u1a9d", - "\u1a9e\u0007Q\u0002\u0002\u1a9e\u1a9f\u0007W\u0002\u0002\u1a9f\u1aa0", - "\u0007R\u0002\u0002\u1aa0\u03f4\u0003\u0002\u0002\u0002\u1aa1\u1aa2", - "\u0007H\u0002\u0002\u1aa2\u1aa3\u0007K\u0002\u0002\u1aa3\u1aa4\u0007", - "N\u0002\u0002\u1aa4\u1aa5\u0007G\u0002\u0002\u1aa5\u1aa6\u0007I\u0002", - "\u0002\u1aa6\u1aa7\u0007T\u0002\u0002\u1aa7\u1aa8\u0007Q\u0002\u0002", - "\u1aa8\u1aa9\u0007Y\u0002\u0002\u1aa9\u1aaa\u0007V\u0002\u0002\u1aaa", - "\u1aab\u0007J\u0002\u0002\u1aab\u03f6\u0003\u0002\u0002\u0002\u1aac", - "\u1aad\u0007H\u0002\u0002\u1aad\u1aae\u0007K\u0002\u0002\u1aae\u1aaf", - "\u0007N\u0002\u0002\u1aaf\u1ab0\u0007G\u0002\u0002\u1ab0\u1ab1\u0007", - "R\u0002\u0002\u1ab1\u1ab2\u0007C\u0002\u0002\u1ab2\u1ab3\u0007V\u0002", - "\u0002\u1ab3\u1ab4\u0007J\u0002\u0002\u1ab4\u03f8\u0003\u0002\u0002", - "\u0002\u1ab5\u1ab6\u0007H\u0002\u0002\u1ab6\u1ab7\u0007K\u0002\u0002", - "\u1ab7\u1ab8\u0007N\u0002\u0002\u1ab8\u1ab9\u0007G\u0002\u0002\u1ab9", - "\u1aba\u0007U\u0002\u0002\u1aba\u1abb\u0007V\u0002\u0002\u1abb\u1abc", - "\u0007T\u0002\u0002\u1abc\u1abd\u0007G\u0002\u0002\u1abd\u1abe\u0007", - "C\u0002\u0002\u1abe\u1abf\u0007O\u0002\u0002\u1abf\u03fa\u0003\u0002", - "\u0002\u0002\u1ac0\u1ac1\u0007H\u0002\u0002\u1ac1\u1ac2\u0007K\u0002", - "\u0002\u1ac2\u1ac3\u0007N\u0002\u0002\u1ac3\u1ac4\u0007V\u0002\u0002", - "\u1ac4\u1ac5\u0007G\u0002\u0002\u1ac5\u1ac6\u0007T\u0002\u0002\u1ac6", - "\u03fc\u0003\u0002\u0002\u0002\u1ac7\u1ac8\u0007H\u0002\u0002\u1ac8", - "\u1ac9\u0007K\u0002\u0002\u1ac9\u1aca\u0007T\u0002\u0002\u1aca\u1acb", - "\u0007U\u0002\u0002\u1acb\u1acc\u0007V\u0002\u0002\u1acc\u03fe\u0003", - "\u0002\u0002\u0002\u1acd\u1ace\u0007H\u0002\u0002\u1ace\u1acf\u0007", - "K\u0002\u0002\u1acf\u1ad0\u0007T\u0002\u0002\u1ad0\u1ad1\u0007U\u0002", - "\u0002\u1ad1\u1ad2\u0007V\u0002\u0002\u1ad2\u1ad3\u0007a\u0002\u0002", - "\u1ad3\u1ad4\u0007X\u0002\u0002\u1ad4\u1ad5\u0007C\u0002\u0002\u1ad5", - "\u1ad6\u0007N\u0002\u0002\u1ad6\u1ad7\u0007W\u0002\u0002\u1ad7\u1ad8", - "\u0007G\u0002\u0002\u1ad8\u0400\u0003\u0002\u0002\u0002\u1ad9\u1ada", - "\u0007H\u0002\u0002\u1ada\u1adb\u0007Q\u0002\u0002\u1adb\u1adc\u0007", - "N\u0002\u0002\u1adc\u1add\u0007N\u0002\u0002\u1add\u1ade\u0007Q\u0002", - "\u0002\u1ade\u1adf\u0007Y\u0002\u0002\u1adf\u1ae0\u0007K\u0002\u0002", - "\u1ae0\u1ae1\u0007P\u0002\u0002\u1ae1\u1ae2\u0007I\u0002\u0002\u1ae2", - "\u0402\u0003\u0002\u0002\u0002\u1ae3\u1ae4\u0007H\u0002\u0002\u1ae4", - "\u1ae5\u0007Q\u0002\u0002\u1ae5\u1ae6\u0007T\u0002\u0002\u1ae6\u1ae7", - "\u0007E\u0002\u0002\u1ae7\u1ae8\u0007G\u0002\u0002\u1ae8\u0404\u0003", - "\u0002\u0002\u0002\u1ae9\u1aea\u0007H\u0002\u0002\u1aea\u1aeb\u0007", - "Q\u0002\u0002\u1aeb\u1aec\u0007T\u0002\u0002\u1aec\u1aed\u0007E\u0002", - "\u0002\u1aed\u1aee\u0007G\u0002\u0002\u1aee\u1aef\u0007a\u0002\u0002", - "\u1aef\u1af0\u0007H\u0002\u0002\u1af0\u1af1\u0007C\u0002\u0002\u1af1", - "\u1af2\u0007K\u0002\u0002\u1af2\u1af3\u0007N\u0002\u0002\u1af3\u1af4", - "\u0007Q\u0002\u0002\u1af4\u1af5\u0007X\u0002\u0002\u1af5\u1af6\u0007", - "G\u0002\u0002\u1af6\u1af7\u0007T\u0002\u0002\u1af7\u1af8\u0007a\u0002", - "\u0002\u1af8\u1af9\u0007C\u0002\u0002\u1af9\u1afa\u0007N\u0002\u0002", - "\u1afa\u1afb\u0007N\u0002\u0002\u1afb\u1afc\u0007Q\u0002\u0002\u1afc", - "\u1afd\u0007Y\u0002\u0002\u1afd\u1afe\u0007a\u0002\u0002\u1afe\u1aff", - "\u0007F\u0002\u0002\u1aff\u1b00\u0007C\u0002\u0002\u1b00\u1b01\u0007", - "V\u0002\u0002\u1b01\u1b02\u0007C\u0002\u0002\u1b02\u1b03\u0007a\u0002", - "\u0002\u1b03\u1b04\u0007N\u0002\u0002\u1b04\u1b05\u0007Q\u0002\u0002", - "\u1b05\u1b06\u0007U\u0002\u0002\u1b06\u1b07\u0007U\u0002\u0002\u1b07", - "\u0406\u0003\u0002\u0002\u0002\u1b08\u1b09\u0007H\u0002\u0002\u1b09", - "\u1b0a\u0007Q\u0002\u0002\u1b0a\u1b0b\u0007T\u0002\u0002\u1b0b\u1b0c", - "\u0007E\u0002\u0002\u1b0c\u1b0d\u0007G\u0002\u0002\u1b0d\u1b0e\u0007", - "F\u0002\u0002\u1b0e\u0408\u0003\u0002\u0002\u0002\u1b0f\u1b10\u0007", - "H\u0002\u0002\u1b10\u1b11\u0007Q\u0002\u0002\u1b11\u1b12\u0007T\u0002", - "\u0002\u1b12\u1b13\u0007O\u0002\u0002\u1b13\u1b14\u0007C\u0002\u0002", - "\u1b14\u1b15\u0007V\u0002\u0002\u1b15\u040a\u0003\u0002\u0002\u0002", - "\u1b16\u1b17\u0007H\u0002\u0002\u1b17\u1b18\u0007Q\u0002\u0002\u1b18", - "\u1b19\u0007T\u0002\u0002\u1b19\u1b1a\u0007Y\u0002\u0002\u1b1a\u1b1b", - "\u0007C\u0002\u0002\u1b1b\u1b1c\u0007T\u0002\u0002\u1b1c\u1b1d\u0007", - "F\u0002\u0002\u1b1d\u1b1e\u0007a\u0002\u0002\u1b1e\u1b1f\u0007Q\u0002", - "\u0002\u1b1f\u1b20\u0007P\u0002\u0002\u1b20\u1b21\u0007N\u0002\u0002", - "\u1b21\u1b22\u0007[\u0002\u0002\u1b22\u040c\u0003\u0002\u0002\u0002", - "\u1b23\u1b24\u0007H\u0002\u0002\u1b24\u1b25\u0007W\u0002\u0002\u1b25", - "\u1b26\u0007N\u0002\u0002\u1b26\u1b27\u0007N\u0002\u0002\u1b27\u1b28", - "\u0007U\u0002\u0002\u1b28\u1b29\u0007E\u0002\u0002\u1b29\u1b2a\u0007", - "C\u0002\u0002\u1b2a\u1b2b\u0007P\u0002\u0002\u1b2b\u040e\u0003\u0002", - "\u0002\u0002\u1b2c\u1b2d\u0007H\u0002\u0002\u1b2d\u1b2e\u0007W\u0002", - "\u0002\u1b2e\u1b2f\u0007N\u0002\u0002\u1b2f\u1b30\u0007N\u0002\u0002", - "\u1b30\u1b31\u0007V\u0002\u0002\u1b31\u1b32\u0007G\u0002\u0002\u1b32", - "\u1b33\u0007Z\u0002\u0002\u1b33\u1b34\u0007V\u0002\u0002\u1b34\u0410", - "\u0003\u0002\u0002\u0002\u1b35\u1b36\u0007I\u0002\u0002\u1b36\u1b37", - "\u0007D\u0002\u0002\u1b37\u0412\u0003\u0002\u0002\u0002\u1b38\u1b39", - "\u0007I\u0002\u0002\u1b39\u1b3a\u0007G\u0002\u0002\u1b3a\u1b3b\u0007", - "V\u0002\u0002\u1b3b\u1b3c\u0007F\u0002\u0002\u1b3c\u1b3d\u0007C\u0002", - "\u0002\u1b3d\u1b3e\u0007V\u0002\u0002\u1b3e\u1b3f\u0007G\u0002\u0002", - "\u1b3f\u0414\u0003\u0002\u0002\u0002\u1b40\u1b41\u0007I\u0002\u0002", - "\u1b41\u1b42\u0007G\u0002\u0002\u1b42\u1b43\u0007V\u0002\u0002\u1b43", - "\u1b44\u0007W\u0002\u0002\u1b44\u1b45\u0007V\u0002\u0002\u1b45\u1b46", - "\u0007E\u0002\u0002\u1b46\u1b47\u0007F\u0002\u0002\u1b47\u1b48\u0007", - "C\u0002\u0002\u1b48\u1b49\u0007V\u0002\u0002\u1b49\u1b4a\u0007G\u0002", - "\u0002\u1b4a\u0416\u0003\u0002\u0002\u0002\u1b4b\u1b4c\u0007I\u0002", - "\u0002\u1b4c\u1b4d\u0007N\u0002\u0002\u1b4d\u1b4e\u0007Q\u0002\u0002", - "\u1b4e\u1b4f\u0007D\u0002\u0002\u1b4f\u1b50\u0007C\u0002\u0002\u1b50", - "\u1b51\u0007N\u0002\u0002\u1b51\u0418\u0003\u0002\u0002\u0002\u1b52", - "\u1b53\u0007I\u0002\u0002\u1b53\u1b54\u0007Q\u0002\u0002\u1b54\u041a", - "\u0003\u0002\u0002\u0002\u1b55\u1b56\u0007I\u0002\u0002\u1b56\u1b57", - "\u0007T\u0002\u0002\u1b57\u1b58\u0007Q\u0002\u0002\u1b58\u1b59\u0007", - "W\u0002\u0002\u1b59\u1b5a\u0007R\u0002\u0002\u1b5a\u1b5b\u0007a\u0002", - "\u0002\u1b5b\u1b5c\u0007O\u0002\u0002\u1b5c\u1b5d\u0007C\u0002\u0002", - "\u1b5d\u1b5e\u0007Z\u0002\u0002\u1b5e\u1b5f\u0007a\u0002\u0002\u1b5f", - "\u1b60\u0007T\u0002\u0002\u1b60\u1b61\u0007G\u0002\u0002\u1b61\u1b62", - "\u0007S\u0002\u0002\u1b62\u1b63\u0007W\u0002\u0002\u1b63\u1b64\u0007", - "G\u0002\u0002\u1b64\u1b65\u0007U\u0002\u0002\u1b65\u1b66\u0007V\u0002", - "\u0002\u1b66\u1b67\u0007U\u0002\u0002\u1b67\u041c\u0003\u0002\u0002", - "\u0002\u1b68\u1b69\u0007I\u0002\u0002\u1b69\u1b6a\u0007T\u0002\u0002", - "\u1b6a\u1b6b\u0007Q\u0002\u0002\u1b6b\u1b6c\u0007W\u0002\u0002\u1b6c", - "\u1b6d\u0007R\u0002\u0002\u1b6d\u1b6e\u0007K\u0002\u0002\u1b6e\u1b6f", - "\u0007P\u0002\u0002\u1b6f\u1b70\u0007I\u0002\u0002\u1b70\u041e\u0003", - "\u0002\u0002\u0002\u1b71\u1b72\u0007I\u0002\u0002\u1b72\u1b73\u0007", - "T\u0002\u0002\u1b73\u1b74\u0007Q\u0002\u0002\u1b74\u1b75\u0007W\u0002", - "\u0002\u1b75\u1b76\u0007R\u0002\u0002\u1b76\u1b77\u0007K\u0002\u0002", - "\u1b77\u1b78\u0007P\u0002\u0002\u1b78\u1b79\u0007I\u0002\u0002\u1b79", - "\u1b7a\u0007a\u0002\u0002\u1b7a\u1b7b\u0007K\u0002\u0002\u1b7b\u1b7c", - "\u0007F\u0002\u0002\u1b7c\u0420\u0003\u0002\u0002\u0002\u1b7d\u1b7e", - "\u0007J\u0002\u0002\u1b7e\u1b7f\u0007C\u0002\u0002\u1b7f\u1b80\u0007", - "F\u0002\u0002\u1b80\u1b81\u0007T\u0002\u0002\u1b81\u0422\u0003\u0002", - "\u0002\u0002\u1b82\u1b83\u0007J\u0002\u0002\u1b83\u1b84\u0007C\u0002", - "\u0002\u1b84\u1b85\u0007U\u0002\u0002\u1b85\u1b86\u0007J\u0002\u0002", - "\u1b86\u0424\u0003\u0002\u0002\u0002\u1b87\u1b88\u0007J\u0002\u0002", - "\u1b88\u1b89\u0007G\u0002\u0002\u1b89\u1b8a\u0007C\u0002\u0002\u1b8a", - "\u1b8b\u0007N\u0002\u0002\u1b8b\u1b8c\u0007V\u0002\u0002\u1b8c\u1b8d", - "\u0007J\u0002\u0002\u1b8d\u1b8e\u0007a\u0002\u0002\u1b8e\u1b8f\u0007", - "E\u0002\u0002\u1b8f\u1b90\u0007J\u0002\u0002\u1b90\u1b91\u0007G\u0002", - "\u0002\u1b91\u1b92\u0007E\u0002\u0002\u1b92\u1b93\u0007M\u0002\u0002", - "\u1b93\u1b94\u0007a\u0002\u0002\u1b94\u1b95\u0007V\u0002\u0002\u1b95", - "\u1b96\u0007K\u0002\u0002\u1b96\u1b97\u0007O\u0002\u0002\u1b97\u1b98", - "\u0007G\u0002\u0002\u1b98\u1b99\u0007Q\u0002\u0002\u1b99\u1b9a\u0007", - "W\u0002\u0002\u1b9a\u1b9b\u0007V\u0002\u0002\u1b9b\u0426\u0003\u0002", - "\u0002\u0002\u1b9c\u1b9d\u0007J\u0002\u0002\u1b9d\u1b9e\u0007K\u0002", - "\u0002\u1b9e\u1b9f\u0007I\u0002\u0002\u1b9f\u1ba0\u0007J\u0002\u0002", - "\u1ba0\u0428\u0003\u0002\u0002\u0002\u1ba1\u1ba2\u0007J\u0002\u0002", - "\u1ba2\u1ba3\u0007Q\u0002\u0002\u1ba3\u1ba4\u0007P\u0002\u0002\u1ba4", - "\u1ba5\u0007Q\u0002\u0002\u1ba5\u1ba6\u0007T\u0002\u0002\u1ba6\u1ba7", - "\u0007a\u0002\u0002\u1ba7\u1ba8\u0007D\u0002\u0002\u1ba8\u1ba9\u0007", - "T\u0002\u0002\u1ba9\u1baa\u0007Q\u0002\u0002\u1baa\u1bab\u0007M\u0002", - "\u0002\u1bab\u1bac\u0007G\u0002\u0002\u1bac\u1bad\u0007T\u0002\u0002", - "\u1bad\u1bae\u0007a\u0002\u0002\u1bae\u1baf\u0007R\u0002\u0002\u1baf", - "\u1bb0\u0007T\u0002\u0002\u1bb0\u1bb1\u0007K\u0002\u0002\u1bb1\u1bb2", - "\u0007Q\u0002\u0002\u1bb2\u1bb3\u0007T\u0002\u0002\u1bb3\u1bb4\u0007", - "K\u0002\u0002\u1bb4\u1bb5\u0007V\u0002\u0002\u1bb5\u1bb6\u0007[\u0002", - "\u0002\u1bb6\u042a\u0003\u0002\u0002\u0002\u1bb7\u1bb8\u0007J\u0002", - "\u0002\u1bb8\u1bb9\u0007Q\u0002\u0002\u1bb9\u1bba\u0007W\u0002\u0002", - "\u1bba\u1bbb\u0007T\u0002\u0002\u1bbb\u1bbc\u0007U\u0002\u0002\u1bbc", - "\u042c\u0003\u0002\u0002\u0002\u1bbd\u1bbe\u0007K\u0002\u0002\u1bbe", - "\u1bbf\u0007F\u0002\u0002\u1bbf\u1bc0\u0007G\u0002\u0002\u1bc0\u1bc1", - "\u0007P\u0002\u0002\u1bc1\u1bc2\u0007V\u0002\u0002\u1bc2\u1bc3\u0007", - "K\u0002\u0002\u1bc3\u1bc4\u0007V\u0002\u0002\u1bc4\u1bc5\u0007[\u0002", - "\u0002\u1bc5\u1bc6\u0007a\u0002\u0002\u1bc6\u1bc7\u0007X\u0002\u0002", - "\u1bc7\u1bc8\u0007C\u0002\u0002\u1bc8\u1bc9\u0007N\u0002\u0002\u1bc9", - "\u1bca\u0007W\u0002\u0002\u1bca\u1bcb\u0007G\u0002\u0002\u1bcb\u042e", - "\u0003\u0002\u0002\u0002\u1bcc\u1bcd\u0007K\u0002\u0002\u1bcd\u1bce", - "\u0007I\u0002\u0002\u1bce\u1bcf\u0007P\u0002\u0002\u1bcf\u1bd0\u0007", - "Q\u0002\u0002\u1bd0\u1bd1\u0007T\u0002\u0002\u1bd1\u1bd2\u0007G\u0002", - "\u0002\u1bd2\u1bd3\u0007a\u0002\u0002\u1bd3\u1bd4\u0007P\u0002\u0002", - "\u1bd4\u1bd5\u0007Q\u0002\u0002\u1bd5\u1bd6\u0007P\u0002\u0002\u1bd6", - "\u1bd7\u0007E\u0002\u0002\u1bd7\u1bd8\u0007N\u0002\u0002\u1bd8\u1bd9", - "\u0007W\u0002\u0002\u1bd9\u1bda\u0007U\u0002\u0002\u1bda\u1bdb\u0007", - "V\u0002\u0002\u1bdb\u1bdc\u0007G\u0002\u0002\u1bdc\u1bdd\u0007T\u0002", - "\u0002\u1bdd\u1bde\u0007G\u0002\u0002\u1bde\u1bdf\u0007F\u0002\u0002", - "\u1bdf\u1be0\u0007a\u0002\u0002\u1be0\u1be1\u0007E\u0002\u0002\u1be1", - "\u1be2\u0007Q\u0002\u0002\u1be2\u1be3\u0007N\u0002\u0002\u1be3\u1be4", - "\u0007W\u0002\u0002\u1be4\u1be5\u0007O\u0002\u0002\u1be5\u1be6\u0007", - "P\u0002\u0002\u1be6\u1be7\u0007U\u0002\u0002\u1be7\u1be8\u0007V\u0002", - "\u0002\u1be8\u1be9\u0007Q\u0002\u0002\u1be9\u1bea\u0007T\u0002\u0002", - "\u1bea\u1beb\u0007G\u0002\u0002\u1beb\u1bec\u0007a\u0002\u0002\u1bec", - "\u1bed\u0007K\u0002\u0002\u1bed\u1bee\u0007P\u0002\u0002\u1bee\u1bef", - "\u0007F\u0002\u0002\u1bef\u1bf0\u0007G\u0002\u0002\u1bf0\u1bf1\u0007", - "Z\u0002\u0002\u1bf1\u0430\u0003\u0002\u0002\u0002\u1bf2\u1bf3\u0007", - "K\u0002\u0002\u1bf3\u1bf4\u0007O\u0002\u0002\u1bf4\u1bf5\u0007O\u0002", - "\u0002\u1bf5\u1bf6\u0007G\u0002\u0002\u1bf6\u1bf7\u0007F\u0002\u0002", - "\u1bf7\u1bf8\u0007K\u0002\u0002\u1bf8\u1bf9\u0007C\u0002\u0002\u1bf9", - "\u1bfa\u0007V\u0002\u0002\u1bfa\u1bfb\u0007G\u0002\u0002\u1bfb\u0432", - "\u0003\u0002\u0002\u0002\u1bfc\u1bfd\u0007K\u0002\u0002\u1bfd\u1bfe", - "\u0007O\u0002\u0002\u1bfe\u1bff\u0007R\u0002\u0002\u1bff\u1c00\u0007", - "G\u0002\u0002\u1c00\u1c01\u0007T\u0002\u0002\u1c01\u1c02\u0007U\u0002", - "\u0002\u1c02\u1c03\u0007Q\u0002\u0002\u1c03\u1c04\u0007P\u0002\u0002", - "\u1c04\u1c05\u0007C\u0002\u0002\u1c05\u1c06\u0007V\u0002\u0002\u1c06", - "\u1c07\u0007G\u0002\u0002\u1c07\u0434\u0003\u0002\u0002\u0002\u1c08", - "\u1c09\u0007K\u0002\u0002\u1c09\u1c0a\u0007O\u0002\u0002\u1c0a\u1c0b", - "\u0007R\u0002\u0002\u1c0b\u1c0c\u0007Q\u0002\u0002\u1c0c\u1c0d\u0007", - "T\u0002\u0002\u1c0d\u1c0e\u0007V\u0002\u0002\u1c0e\u1c0f\u0007C\u0002", - "\u0002\u1c0f\u1c10\u0007P\u0002\u0002\u1c10\u1c11\u0007E\u0002\u0002", - "\u1c11\u1c12\u0007G\u0002\u0002\u1c12\u0436\u0003\u0002\u0002\u0002", - "\u1c13\u1c14\u0007K\u0002\u0002\u1c14\u1c15\u0007P\u0002\u0002\u1c15", - "\u1c16\u0007E\u0002\u0002\u1c16\u1c17\u0007N\u0002\u0002\u1c17\u1c18", - "\u0007W\u0002\u0002\u1c18\u1c19\u0007F\u0002\u0002\u1c19\u1c1a\u0007", - "G\u0002\u0002\u1c1a\u1c1b\u0007a\u0002\u0002\u1c1b\u1c1c\u0007P\u0002", - "\u0002\u1c1c\u1c1d\u0007W\u0002\u0002\u1c1d\u1c1e\u0007N\u0002\u0002", - "\u1c1e\u1c1f\u0007N\u0002\u0002\u1c1f\u1c20\u0007a\u0002\u0002\u1c20", - "\u1c21\u0007X\u0002\u0002\u1c21\u1c22\u0007C\u0002\u0002\u1c22\u1c23", - "\u0007N\u0002\u0002\u1c23\u1c24\u0007W\u0002\u0002\u1c24\u1c25\u0007", - "G\u0002\u0002\u1c25\u1c26\u0007U\u0002\u0002\u1c26\u0438\u0003\u0002", - "\u0002\u0002\u1c27\u1c28\u0007K\u0002\u0002\u1c28\u1c29\u0007P\u0002", - "\u0002\u1c29\u1c2a\u0007E\u0002\u0002\u1c2a\u1c2b\u0007T\u0002\u0002", - "\u1c2b\u1c2c\u0007G\u0002\u0002\u1c2c\u1c2d\u0007O\u0002\u0002\u1c2d", - "\u1c2e\u0007G\u0002\u0002\u1c2e\u1c2f\u0007P\u0002\u0002\u1c2f\u1c30", - "\u0007V\u0002\u0002\u1c30\u1c31\u0007C\u0002\u0002\u1c31\u1c32\u0007", - "N\u0002\u0002\u1c32\u043a\u0003\u0002\u0002\u0002\u1c33\u1c34\u0007", - "K\u0002\u0002\u1c34\u1c35\u0007P\u0002\u0002\u1c35\u1c36\u0007K\u0002", - "\u0002\u1c36\u1c37\u0007V\u0002\u0002\u1c37\u1c38\u0007K\u0002\u0002", - "\u1c38\u1c39\u0007C\u0002\u0002\u1c39\u1c3a\u0007V\u0002\u0002\u1c3a", - "\u1c3b\u0007Q\u0002\u0002\u1c3b\u1c3c\u0007T\u0002\u0002\u1c3c\u043c", - "\u0003\u0002\u0002\u0002\u1c3d\u1c3e\u0007K\u0002\u0002\u1c3e\u1c3f", - "\u0007P\u0002\u0002\u1c3f\u1c40\u0007R\u0002\u0002\u1c40\u1c41\u0007", - "W\u0002\u0002\u1c41\u1c42\u0007V\u0002\u0002\u1c42\u043e\u0003\u0002", - "\u0002\u0002\u1c43\u1c44\u0007K\u0002\u0002\u1c44\u1c45\u0007P\u0002", - "\u0002\u1c45\u1c46\u0007U\u0002\u0002\u1c46\u1c47\u0007G\u0002\u0002", - "\u1c47\u1c48\u0007P\u0002\u0002\u1c48\u1c49\u0007U\u0002\u0002\u1c49", - "\u1c4a\u0007K\u0002\u0002\u1c4a\u1c4b\u0007V\u0002\u0002\u1c4b\u1c4c", - "\u0007K\u0002\u0002\u1c4c\u1c4d\u0007X\u0002\u0002\u1c4d\u1c4e\u0007", - "G\u0002\u0002\u1c4e\u0440\u0003\u0002\u0002\u0002\u1c4f\u1c50\u0007", - "K\u0002\u0002\u1c50\u1c51\u0007P\u0002\u0002\u1c51\u1c52\u0007U\u0002", - "\u0002\u1c52\u1c53\u0007G\u0002\u0002\u1c53\u1c54\u0007T\u0002\u0002", - "\u1c54\u1c55\u0007V\u0002\u0002\u1c55\u1c56\u0007G\u0002\u0002\u1c56", - "\u1c57\u0007F\u0002\u0002\u1c57\u0442\u0003\u0002\u0002\u0002\u1c58", - "\u1c59\u0007K\u0002\u0002\u1c59\u1c5a\u0007P\u0002\u0002\u1c5a\u1c5b", - "\u0007V\u0002\u0002\u1c5b\u0444\u0003\u0002\u0002\u0002\u1c5c\u1c5d", - "\u0007K\u0002\u0002\u1c5d\u1c5e\u0007R\u0002\u0002\u1c5e\u0446\u0003", - "\u0002\u0002\u0002\u1c5f\u1c60\u0007K\u0002\u0002\u1c60\u1c61\u0007", - "U\u0002\u0002\u1c61\u1c62\u0007Q\u0002\u0002\u1c62\u1c63\u0007N\u0002", - "\u0002\u1c63\u1c64\u0007C\u0002\u0002\u1c64\u1c65\u0007V\u0002\u0002", - "\u1c65\u1c66\u0007K\u0002\u0002\u1c66\u1c67\u0007Q\u0002\u0002\u1c67", - "\u1c68\u0007P\u0002\u0002\u1c68\u0448\u0003\u0002\u0002\u0002\u1c69", - "\u1c6a\u0007L\u0002\u0002\u1c6a\u1c6b\u0007Q\u0002\u0002\u1c6b\u1c6c", - "\u0007D\u0002\u0002\u1c6c\u044a\u0003\u0002\u0002\u0002\u1c6d\u1c6e", - "\u0007L\u0002\u0002\u1c6e\u1c6f\u0007U\u0002\u0002\u1c6f\u1c70\u0007", - "Q\u0002\u0002\u1c70\u1c71\u0007P\u0002\u0002\u1c71\u044c\u0003\u0002", - "\u0002\u0002\u1c72\u1c73\u0007M\u0002\u0002\u1c73\u1c74\u0007D\u0002", - "\u0002\u1c74\u044e\u0003\u0002\u0002\u0002\u1c75\u1c76\u0007M\u0002", - "\u0002\u1c76\u1c77\u0007G\u0002\u0002\u1c77\u1c78\u0007G\u0002\u0002", - "\u1c78\u1c79\u0007R\u0002\u0002\u1c79\u0450\u0003\u0002\u0002\u0002", - "\u1c7a\u1c7b\u0007M\u0002\u0002\u1c7b\u1c7c\u0007G\u0002\u0002\u1c7c", - "\u1c7d\u0007G\u0002\u0002\u1c7d\u1c7e\u0007R\u0002\u0002\u1c7e\u1c7f", - "\u0007H\u0002\u0002\u1c7f\u1c80\u0007K\u0002\u0002\u1c80\u1c81\u0007", - "Z\u0002\u0002\u1c81\u1c82\u0007G\u0002\u0002\u1c82\u1c83\u0007F\u0002", - "\u0002\u1c83\u0452\u0003\u0002\u0002\u0002\u1c84\u1c85\u0007M\u0002", - "\u0002\u1c85\u1c86\u0007G\u0002\u0002\u1c86\u1c87\u0007[\u0002\u0002", - "\u1c87\u1c88\u0007a\u0002\u0002\u1c88\u1c89\u0007U\u0002\u0002\u1c89", - "\u1c8a\u0007Q\u0002\u0002\u1c8a\u1c8b\u0007W\u0002\u0002\u1c8b\u1c8c", - "\u0007T\u0002\u0002\u1c8c\u1c8d\u0007E\u0002\u0002\u1c8d\u1c8e\u0007", - "G\u0002\u0002\u1c8e\u0454\u0003\u0002\u0002\u0002\u1c8f\u1c90\u0007", - "M\u0002\u0002\u1c90\u1c91\u0007G\u0002\u0002\u1c91\u1c92\u0007[\u0002", - "\u0002\u1c92\u1c93\u0007U\u0002\u0002\u1c93\u0456\u0003\u0002\u0002", - "\u0002\u1c94\u1c95\u0007M\u0002\u0002\u1c95\u1c96\u0007G\u0002\u0002", - "\u1c96\u1c97\u0007[\u0002\u0002\u1c97\u1c98\u0007U\u0002\u0002\u1c98", - "\u1c99\u0007G\u0002\u0002\u1c99\u1c9a\u0007V\u0002\u0002\u1c9a\u0458", - "\u0003\u0002\u0002\u0002\u1c9b\u1c9c\u0007N\u0002\u0002\u1c9c\u1c9d", - "\u0007C\u0002\u0002\u1c9d\u1c9e\u0007I\u0002\u0002\u1c9e\u045a\u0003", - "\u0002\u0002\u0002\u1c9f\u1ca0\u0007N\u0002\u0002\u1ca0\u1ca1\u0007", - "C\u0002\u0002\u1ca1\u1ca2\u0007U\u0002\u0002\u1ca2\u1ca3\u0007V\u0002", - "\u0002\u1ca3\u045c\u0003\u0002\u0002\u0002\u1ca4\u1ca5\u0007N\u0002", - "\u0002\u1ca5\u1ca6\u0007C\u0002\u0002\u1ca6\u1ca7\u0007U\u0002\u0002", - "\u1ca7\u1ca8\u0007V\u0002\u0002\u1ca8\u1ca9\u0007a\u0002\u0002\u1ca9", - "\u1caa\u0007X\u0002\u0002\u1caa\u1cab\u0007C\u0002\u0002\u1cab\u1cac", - "\u0007N\u0002\u0002\u1cac\u1cad\u0007W\u0002\u0002\u1cad\u1cae\u0007", - "G\u0002\u0002\u1cae\u045e\u0003\u0002\u0002\u0002\u1caf\u1cb0\u0007", - "N\u0002\u0002\u1cb0\u1cb1\u0007G\u0002\u0002\u1cb1\u1cb2\u0007C\u0002", - "\u0002\u1cb2\u1cb3\u0007F\u0002\u0002\u1cb3\u0460\u0003\u0002\u0002", - "\u0002\u1cb4\u1cb5\u0007N\u0002\u0002\u1cb5\u1cb6\u0007G\u0002\u0002", - "\u1cb6\u1cb7\u0007X\u0002\u0002\u1cb7\u1cb8\u0007G\u0002\u0002\u1cb8", - "\u1cb9\u0007N\u0002\u0002\u1cb9\u0462\u0003\u0002\u0002\u0002\u1cba", - "\u1cbb\u0007N\u0002\u0002\u1cbb\u1cbc\u0007K\u0002\u0002\u1cbc\u1cbd", - "\u0007U\u0002\u0002\u1cbd\u1cbe\u0007V\u0002\u0002\u1cbe\u0464\u0003", - "\u0002\u0002\u0002\u1cbf\u1cc0\u0007N\u0002\u0002\u1cc0\u1cc1\u0007", - "K\u0002\u0002\u1cc1\u1cc2\u0007U\u0002\u0002\u1cc2\u1cc3\u0007V\u0002", - "\u0002\u1cc3\u1cc4\u0007G\u0002\u0002\u1cc4\u1cc5\u0007P\u0002\u0002", - "\u1cc5\u1cc6\u0007G\u0002\u0002\u1cc6\u1cc7\u0007T\u0002\u0002\u1cc7", - "\u0466\u0003\u0002\u0002\u0002\u1cc8\u1cc9\u0007N\u0002\u0002\u1cc9", - "\u1cca\u0007K\u0002\u0002\u1cca\u1ccb\u0007U\u0002\u0002\u1ccb\u1ccc", - "\u0007V\u0002\u0002\u1ccc\u1ccd\u0007G\u0002\u0002\u1ccd\u1cce\u0007", - "P\u0002\u0002\u1cce\u1ccf\u0007G\u0002\u0002\u1ccf\u1cd0\u0007T\u0002", - "\u0002\u1cd0\u1cd1\u0007a\u0002\u0002\u1cd1\u1cd2\u0007W\u0002\u0002", - "\u1cd2\u1cd3\u0007T\u0002\u0002\u1cd3\u1cd4\u0007N\u0002\u0002\u1cd4", - "\u0468\u0003\u0002\u0002\u0002\u1cd5\u1cd6\u0007N\u0002\u0002\u1cd6", - "\u1cd7\u0007Q\u0002\u0002\u1cd7\u1cd8\u0007D\u0002\u0002\u1cd8\u1cd9", - "\u0007a\u0002\u0002\u1cd9\u1cda\u0007E\u0002\u0002\u1cda\u1cdb\u0007", - "Q\u0002\u0002\u1cdb\u1cdc\u0007O\u0002\u0002\u1cdc\u1cdd\u0007R\u0002", - "\u0002\u1cdd\u1cde\u0007C\u0002\u0002\u1cde\u1cdf\u0007E\u0002\u0002", - "\u1cdf\u1ce0\u0007V\u0002\u0002\u1ce0\u1ce1\u0007K\u0002\u0002\u1ce1", - "\u1ce2\u0007Q\u0002\u0002\u1ce2\u1ce3\u0007P\u0002\u0002\u1ce3\u046a", - "\u0003\u0002\u0002\u0002\u1ce4\u1ce5\u0007N\u0002\u0002\u1ce5\u1ce6", - "\u0007Q\u0002\u0002\u1ce6\u1ce7\u0007E\u0002\u0002\u1ce7\u1ce8\u0007", - "C\u0002\u0002\u1ce8\u1ce9\u0007N\u0002\u0002\u1ce9\u046c\u0003\u0002", - "\u0002\u0002\u1cea\u1ceb\u0007N\u0002\u0002\u1ceb\u1cec\u0007Q\u0002", - "\u0002\u1cec\u1ced\u0007E\u0002\u0002\u1ced\u1cee\u0007C\u0002\u0002", - "\u1cee\u1cef\u0007V\u0002\u0002\u1cef\u1cf0\u0007K\u0002\u0002\u1cf0", - "\u1cf1\u0007Q\u0002\u0002\u1cf1\u1cf2\u0007P\u0002\u0002\u1cf2\u046e", - "\u0003\u0002\u0002\u0002\u1cf3\u1cf4\u0007N\u0002\u0002\u1cf4\u1cf5", - "\u0007Q\u0002\u0002\u1cf5\u1cf6\u0007E\u0002\u0002\u1cf6\u1cf7\u0007", - "M\u0002\u0002\u1cf7\u0470\u0003\u0002\u0002\u0002\u1cf8\u1cf9\u0007", - "N\u0002\u0002\u1cf9\u1cfa\u0007Q\u0002\u0002\u1cfa\u1cfb\u0007E\u0002", - "\u0002\u1cfb\u1cfc\u0007M\u0002\u0002\u1cfc\u1cfd\u0007a\u0002\u0002", - "\u1cfd\u1cfe\u0007G\u0002\u0002\u1cfe\u1cff\u0007U\u0002\u0002\u1cff", - "\u1d00\u0007E\u0002\u0002\u1d00\u1d01\u0007C\u0002\u0002\u1d01\u1d02", - "\u0007N\u0002\u0002\u1d02\u1d03\u0007C\u0002\u0002\u1d03\u1d04\u0007", - "V\u0002\u0002\u1d04\u1d05\u0007K\u0002\u0002\u1d05\u1d06\u0007Q\u0002", - "\u0002\u1d06\u1d07\u0007P\u0002\u0002\u1d07\u0472\u0003\u0002\u0002", - "\u0002\u1d08\u1d09\u0007N\u0002\u0002\u1d09\u1d0a\u0007Q\u0002\u0002", - "\u1d0a\u1d0b\u0007I\u0002\u0002\u1d0b\u1d0c\u0007K\u0002\u0002\u1d0c", - "\u1d0d\u0007P\u0002\u0002\u1d0d\u0474\u0003\u0002\u0002\u0002\u1d0e", - "\u1d0f\u0007N\u0002\u0002\u1d0f\u1d10\u0007Q\u0002\u0002\u1d10\u1d11", - "\u0007Q\u0002\u0002\u1d11\u1d12\u0007R\u0002\u0002\u1d12\u0476\u0003", - "\u0002\u0002\u0002\u1d13\u1d14\u0007N\u0002\u0002\u1d14\u1d15\u0007", - "Q\u0002\u0002\u1d15\u1d16\u0007Y\u0002\u0002\u1d16\u0478\u0003\u0002", - "\u0002\u0002\u1d17\u1d18\u0007O\u0002\u0002\u1d18\u1d19\u0007C\u0002", - "\u0002\u1d19\u1d1a\u0007P\u0002\u0002\u1d1a\u1d1b\u0007W\u0002\u0002", - "\u1d1b\u1d1c\u0007C\u0002\u0002\u1d1c\u1d1d\u0007N\u0002\u0002\u1d1d", - "\u047a\u0003\u0002\u0002\u0002\u1d1e\u1d1f\u0007O\u0002\u0002\u1d1f", - "\u1d20\u0007C\u0002\u0002\u1d20\u1d21\u0007T\u0002\u0002\u1d21\u1d22", - "\u0007M\u0002\u0002\u1d22\u047c\u0003\u0002\u0002\u0002\u1d23\u1d24", - "\u0007O\u0002\u0002\u1d24\u1d25\u0007C\u0002\u0002\u1d25\u1d26\u0007", - "V\u0002\u0002\u1d26\u1d27\u0007G\u0002\u0002\u1d27\u1d28\u0007T\u0002", - "\u0002\u1d28\u1d29\u0007K\u0002\u0002\u1d29\u1d2a\u0007C\u0002\u0002", - "\u1d2a\u1d2b\u0007N\u0002\u0002\u1d2b\u1d2c\u0007K\u0002\u0002\u1d2c", - "\u1d2d\u0007\\\u0002\u0002\u1d2d\u1d2e\u0007G\u0002\u0002\u1d2e\u1d2f", - "\u0007F\u0002\u0002\u1d2f\u047e\u0003\u0002\u0002\u0002\u1d30\u1d31", - "\u0007O\u0002\u0002\u1d31\u1d32\u0007C\u0002\u0002\u1d32\u1d33\u0007", - "Z\u0002\u0002\u1d33\u0480\u0003\u0002\u0002\u0002\u1d34\u1d35\u0007", - "O\u0002\u0002\u1d35\u1d36\u0007C\u0002\u0002\u1d36\u1d37\u0007Z\u0002", - "\u0002\u1d37\u1d38\u0007a\u0002\u0002\u1d38\u1d39\u0007E\u0002\u0002", - "\u1d39\u1d3a\u0007R\u0002\u0002\u1d3a\u1d3b\u0007W\u0002\u0002\u1d3b", - "\u1d3c\u0007a\u0002\u0002\u1d3c\u1d3d\u0007R\u0002\u0002\u1d3d\u1d3e", - "\u0007G\u0002\u0002\u1d3e\u1d3f\u0007T\u0002\u0002\u1d3f\u1d40\u0007", - "E\u0002\u0002\u1d40\u1d41\u0007G\u0002\u0002\u1d41\u1d42\u0007P\u0002", - "\u0002\u1d42\u1d43\u0007V\u0002\u0002\u1d43\u0482\u0003\u0002\u0002", - "\u0002\u1d44\u1d45\u0007O\u0002\u0002\u1d45\u1d46\u0007C\u0002\u0002", - "\u1d46\u1d47\u0007Z\u0002\u0002\u1d47\u1d48\u0007a\u0002\u0002\u1d48", - "\u1d49\u0007F\u0002\u0002\u1d49\u1d4a\u0007Q\u0002\u0002\u1d4a\u1d4b", - "\u0007R\u0002\u0002\u1d4b\u0484\u0003\u0002\u0002\u0002\u1d4c\u1d4d", - "\u0007O\u0002\u0002\u1d4d\u1d4e\u0007C\u0002\u0002\u1d4e\u1d4f\u0007", - "Z\u0002\u0002\u1d4f\u1d50\u0007a\u0002\u0002\u1d50\u1d51\u0007H\u0002", - "\u0002\u1d51\u1d52\u0007K\u0002\u0002\u1d52\u1d53\u0007N\u0002\u0002", - "\u1d53\u1d54\u0007G\u0002\u0002\u1d54\u1d55\u0007U\u0002\u0002\u1d55", - "\u0486\u0003\u0002\u0002\u0002\u1d56\u1d57\u0007O\u0002\u0002\u1d57", - "\u1d58\u0007C\u0002\u0002\u1d58\u1d59\u0007Z\u0002\u0002\u1d59\u1d5a", - "\u0007a\u0002\u0002\u1d5a\u1d5b\u0007K\u0002\u0002\u1d5b\u1d5c\u0007", - "Q\u0002\u0002\u1d5c\u1d5d\u0007R\u0002\u0002\u1d5d\u1d5e\u0007U\u0002", - "\u0002\u1d5e\u1d5f\u0007a\u0002\u0002\u1d5f\u1d60\u0007R\u0002\u0002", - "\u1d60\u1d61\u0007G\u0002\u0002\u1d61\u1d62\u0007T\u0002\u0002\u1d62", - "\u1d63\u0007a\u0002\u0002\u1d63\u1d64\u0007X\u0002\u0002\u1d64\u1d65", - "\u0007Q\u0002\u0002\u1d65\u1d66\u0007N\u0002\u0002\u1d66\u1d67\u0007", - "W\u0002\u0002\u1d67\u1d68\u0007O\u0002\u0002\u1d68\u1d69\u0007G\u0002", - "\u0002\u1d69\u0488\u0003\u0002\u0002\u0002\u1d6a\u1d6b\u0007O\u0002", - "\u0002\u1d6b\u1d6c\u0007C\u0002\u0002\u1d6c\u1d6d\u0007Z\u0002\u0002", - "\u1d6d\u1d6e\u0007a\u0002\u0002\u1d6e\u1d6f\u0007O\u0002\u0002\u1d6f", - "\u1d70\u0007G\u0002\u0002\u1d70\u1d71\u0007O\u0002\u0002\u1d71\u1d72", - "\u0007Q\u0002\u0002\u1d72\u1d73\u0007T\u0002\u0002\u1d73\u1d74\u0007", - "[\u0002\u0002\u1d74\u1d75\u0007a\u0002\u0002\u1d75\u1d76\u0007R\u0002", - "\u0002\u1d76\u1d77\u0007G\u0002\u0002\u1d77\u1d78\u0007T\u0002\u0002", - "\u1d78\u1d79\u0007E\u0002\u0002\u1d79\u1d7a\u0007G\u0002\u0002\u1d7a", - "\u1d7b\u0007P\u0002\u0002\u1d7b\u1d7c\u0007V\u0002\u0002\u1d7c\u048a", - "\u0003\u0002\u0002\u0002\u1d7d\u1d7e\u0007O\u0002\u0002\u1d7e\u1d7f", - "\u0007C\u0002\u0002\u1d7f\u1d80\u0007Z\u0002\u0002\u1d80\u1d81\u0007", - "a\u0002\u0002\u1d81\u1d82\u0007R\u0002\u0002\u1d82\u1d83\u0007T\u0002", - "\u0002\u1d83\u1d84\u0007Q\u0002\u0002\u1d84\u1d85\u0007E\u0002\u0002", - "\u1d85\u1d86\u0007G\u0002\u0002\u1d86\u1d87\u0007U\u0002\u0002\u1d87", - "\u1d88\u0007U\u0002\u0002\u1d88\u1d89\u0007G\u0002\u0002\u1d89\u1d8a", - "\u0007U\u0002\u0002\u1d8a\u048c\u0003\u0002\u0002\u0002\u1d8b\u1d8c", - "\u0007O\u0002\u0002\u1d8c\u1d8d\u0007C\u0002\u0002\u1d8d\u1d8e\u0007", - "Z\u0002\u0002\u1d8e\u1d8f\u0007a\u0002\u0002\u1d8f\u1d90\u0007S\u0002", - "\u0002\u1d90\u1d91\u0007W\u0002\u0002\u1d91\u1d92\u0007G\u0002\u0002", - "\u1d92\u1d93\u0007W\u0002\u0002\u1d93\u1d94\u0007G\u0002\u0002\u1d94", - "\u1d95\u0007a\u0002\u0002\u1d95\u1d96\u0007T\u0002\u0002\u1d96\u1d97", - "\u0007G\u0002\u0002\u1d97\u1d98\u0007C\u0002\u0002\u1d98\u1d99\u0007", - "F\u0002\u0002\u1d99\u1d9a\u0007G\u0002\u0002\u1d9a\u1d9b\u0007T\u0002", - "\u0002\u1d9b\u1d9c\u0007U\u0002\u0002\u1d9c\u048e\u0003\u0002\u0002", - "\u0002\u1d9d\u1d9e\u0007O\u0002\u0002\u1d9e\u1d9f\u0007C\u0002\u0002", - "\u1d9f\u1da0\u0007Z\u0002\u0002\u1da0\u1da1\u0007a\u0002\u0002\u1da1", - "\u1da2\u0007T\u0002\u0002\u1da2\u1da3\u0007Q\u0002\u0002\u1da3\u1da4", - "\u0007N\u0002\u0002\u1da4\u1da5\u0007N\u0002\u0002\u1da5\u1da6\u0007", - "Q\u0002\u0002\u1da6\u1da7\u0007X\u0002\u0002\u1da7\u1da8\u0007G\u0002", - "\u0002\u1da8\u1da9\u0007T\u0002\u0002\u1da9\u1daa\u0007a\u0002\u0002", - "\u1daa\u1dab\u0007H\u0002\u0002\u1dab\u1dac\u0007K\u0002\u0002\u1dac", - "\u1dad\u0007N\u0002\u0002\u1dad\u1dae\u0007G\u0002\u0002\u1dae\u1daf", - "\u0007U\u0002\u0002\u1daf\u0490\u0003\u0002\u0002\u0002\u1db0\u1db1", - "\u0007O\u0002\u0002\u1db1\u1db2\u0007C\u0002\u0002\u1db2\u1db3\u0007", - "Z\u0002\u0002\u1db3\u1db4\u0007F\u0002\u0002\u1db4\u1db5\u0007Q\u0002", - "\u0002\u1db5\u1db6\u0007R\u0002\u0002\u1db6\u0492\u0003\u0002\u0002", - "\u0002\u1db7\u1db8\u0007O\u0002\u0002\u1db8\u1db9\u0007C\u0002\u0002", - "\u1db9\u1dba\u0007Z\u0002\u0002\u1dba\u1dbb\u0007T\u0002\u0002\u1dbb", - "\u1dbc\u0007G\u0002\u0002\u1dbc\u1dbd\u0007E\u0002\u0002\u1dbd\u1dbe", - "\u0007W\u0002\u0002\u1dbe\u1dbf\u0007T\u0002\u0002\u1dbf\u1dc0\u0007", - "U\u0002\u0002\u1dc0\u1dc1\u0007K\u0002\u0002\u1dc1\u1dc2\u0007Q\u0002", - "\u0002\u1dc2\u1dc3\u0007P\u0002\u0002\u1dc3\u0494\u0003\u0002\u0002", - "\u0002\u1dc4\u1dc5\u0007O\u0002\u0002\u1dc5\u1dc6\u0007C\u0002\u0002", - "\u1dc6\u1dc7\u0007Z\u0002\u0002\u1dc7\u1dc8\u0007U\u0002\u0002\u1dc8", - "\u1dc9\u0007K\u0002\u0002\u1dc9\u1dca\u0007\\\u0002\u0002\u1dca\u1dcb", - "\u0007G\u0002\u0002\u1dcb\u0496\u0003\u0002\u0002\u0002\u1dcc\u1dcd", - "\u0007O\u0002\u0002\u1dcd\u1dce\u0007D\u0002\u0002\u1dce\u0498\u0003", - "\u0002\u0002\u0002\u1dcf\u1dd0\u0007O\u0002\u0002\u1dd0\u1dd1\u0007", - "G\u0002\u0002\u1dd1\u1dd2\u0007F\u0002\u0002\u1dd2\u1dd3\u0007K\u0002", - "\u0002\u1dd3\u1dd4\u0007W\u0002\u0002\u1dd4\u1dd5\u0007O\u0002\u0002", - "\u1dd5\u049a\u0003\u0002\u0002\u0002\u1dd6\u1dd7\u0007O\u0002\u0002", - "\u1dd7\u1dd8\u0007G\u0002\u0002\u1dd8\u1dd9\u0007O\u0002\u0002\u1dd9", - "\u1dda\u0007Q\u0002\u0002\u1dda\u1ddb\u0007T\u0002\u0002\u1ddb\u1ddc", - "\u0007[\u0002\u0002\u1ddc\u1ddd\u0007a\u0002\u0002\u1ddd\u1dde\u0007", - "Q\u0002\u0002\u1dde\u1ddf\u0007R\u0002\u0002\u1ddf\u1de0\u0007V\u0002", - "\u0002\u1de0\u1de1\u0007K\u0002\u0002\u1de1\u1de2\u0007O\u0002\u0002", - "\u1de2\u1de3\u0007K\u0002\u0002\u1de3\u1de4\u0007\\\u0002\u0002\u1de4", - "\u1de5\u0007G\u0002\u0002\u1de5\u1de6\u0007F\u0002\u0002\u1de6\u1de7", - "\u0007a\u0002\u0002\u1de7\u1de8\u0007F\u0002\u0002\u1de8\u1de9\u0007", - "C\u0002\u0002\u1de9\u1dea\u0007V\u0002\u0002\u1dea\u1deb\u0007C\u0002", - "\u0002\u1deb\u049c\u0003\u0002\u0002\u0002\u1dec\u1ded\u0007O\u0002", - "\u0002\u1ded\u1dee\u0007G\u0002\u0002\u1dee\u1def\u0007U\u0002\u0002", - "\u1def\u1df0\u0007U\u0002\u0002\u1df0\u1df1\u0007C\u0002\u0002\u1df1", - "\u1df2\u0007I\u0002\u0002\u1df2\u1df3\u0007G\u0002\u0002\u1df3\u049e", - "\u0003\u0002\u0002\u0002\u1df4\u1df5\u0007O\u0002\u0002\u1df5\u1df6", - "\u0007K\u0002\u0002\u1df6\u1df7\u0007P\u0002\u0002\u1df7\u04a0\u0003", - "\u0002\u0002\u0002\u1df8\u1df9\u0007O\u0002\u0002\u1df9\u1dfa\u0007", - "K\u0002\u0002\u1dfa\u1dfb\u0007P\u0002\u0002\u1dfb\u1dfc\u0007a\u0002", - "\u0002\u1dfc\u1dfd\u0007C\u0002\u0002\u1dfd\u1dfe\u0007E\u0002\u0002", - "\u1dfe\u1dff\u0007V\u0002\u0002\u1dff\u1e00\u0007K\u0002\u0002\u1e00", - "\u1e01\u0007X\u0002\u0002\u1e01\u1e02\u0007G\u0002\u0002\u1e02\u1e03", - "\u0007a\u0002\u0002\u1e03\u1e04\u0007T\u0002\u0002\u1e04\u1e05\u0007", - "Q\u0002\u0002\u1e05\u1e06\u0007Y\u0002\u0002\u1e06\u1e07\u0007X\u0002", - "\u0002\u1e07\u1e08\u0007G\u0002\u0002\u1e08\u1e09\u0007T\u0002\u0002", - "\u1e09\u1e0a\u0007U\u0002\u0002\u1e0a\u1e0b\u0007K\u0002\u0002\u1e0b", - "\u1e0c\u0007Q\u0002\u0002\u1e0c\u1e0d\u0007P\u0002\u0002\u1e0d\u04a2", - "\u0003\u0002\u0002\u0002\u1e0e\u1e0f\u0007O\u0002\u0002\u1e0f\u1e10", - "\u0007K\u0002\u0002\u1e10\u1e11\u0007P\u0002\u0002\u1e11\u1e12\u0007", - "a\u0002\u0002\u1e12\u1e13\u0007E\u0002\u0002\u1e13\u1e14\u0007R\u0002", - "\u0002\u1e14\u1e15\u0007W\u0002\u0002\u1e15\u1e16\u0007a\u0002\u0002", - "\u1e16\u1e17\u0007R\u0002\u0002\u1e17\u1e18\u0007G\u0002\u0002\u1e18", - "\u1e19\u0007T\u0002\u0002\u1e19\u1e1a\u0007E\u0002\u0002\u1e1a\u1e1b", - "\u0007G\u0002\u0002\u1e1b\u1e1c\u0007P\u0002\u0002\u1e1c\u1e1d\u0007", - "V\u0002\u0002\u1e1d\u04a4\u0003\u0002\u0002\u0002\u1e1e\u1e1f\u0007", - "O\u0002\u0002\u1e1f\u1e20\u0007K\u0002\u0002\u1e20\u1e21\u0007P\u0002", - "\u0002\u1e21\u1e22\u0007a\u0002\u0002\u1e22\u1e23\u0007K\u0002\u0002", - "\u1e23\u1e24\u0007Q\u0002\u0002\u1e24\u1e25\u0007R\u0002\u0002\u1e25", - "\u1e26\u0007U\u0002\u0002\u1e26\u1e27\u0007a\u0002\u0002\u1e27\u1e28", - "\u0007R\u0002\u0002\u1e28\u1e29\u0007G\u0002\u0002\u1e29\u1e2a\u0007", - "T\u0002\u0002\u1e2a\u1e2b\u0007a\u0002\u0002\u1e2b\u1e2c\u0007X\u0002", - "\u0002\u1e2c\u1e2d\u0007Q\u0002\u0002\u1e2d\u1e2e\u0007N\u0002\u0002", - "\u1e2e\u1e2f\u0007W\u0002\u0002\u1e2f\u1e30\u0007O\u0002\u0002\u1e30", - "\u1e31\u0007G\u0002\u0002\u1e31\u04a6\u0003\u0002\u0002\u0002\u1e32", - "\u1e33\u0007O\u0002\u0002\u1e33\u1e34\u0007K\u0002\u0002\u1e34\u1e35", - "\u0007P\u0002\u0002\u1e35\u1e36\u0007a\u0002\u0002\u1e36\u1e37\u0007", - "O\u0002\u0002\u1e37\u1e38\u0007G\u0002\u0002\u1e38\u1e39\u0007O\u0002", - "\u0002\u1e39\u1e3a\u0007Q\u0002\u0002\u1e3a\u1e3b\u0007T\u0002\u0002", - "\u1e3b\u1e3c\u0007[\u0002\u0002\u1e3c\u1e3d\u0007a\u0002\u0002\u1e3d", - "\u1e3e\u0007R\u0002\u0002\u1e3e\u1e3f\u0007G\u0002\u0002\u1e3f\u1e40", - "\u0007T\u0002\u0002\u1e40\u1e41\u0007E\u0002\u0002\u1e41\u1e42\u0007", - "G\u0002\u0002\u1e42\u1e43\u0007P\u0002\u0002\u1e43\u1e44\u0007V\u0002", - "\u0002\u1e44\u04a8\u0003\u0002\u0002\u0002\u1e45\u1e46\u0007O\u0002", - "\u0002\u1e46\u1e47\u0007K\u0002\u0002\u1e47\u1e48\u0007P\u0002\u0002", - "\u1e48\u1e49\u0007W\u0002\u0002\u1e49\u1e4a\u0007V\u0002\u0002\u1e4a", - "\u1e4b\u0007G\u0002\u0002\u1e4b\u1e4c\u0007U\u0002\u0002\u1e4c\u04aa", - "\u0003\u0002\u0002\u0002\u1e4d\u1e4e\u0007O\u0002\u0002\u1e4e\u1e4f", - "\u0007K\u0002\u0002\u1e4f\u1e50\u0007T\u0002\u0002\u1e50\u1e51\u0007", - "T\u0002\u0002\u1e51\u1e52\u0007Q\u0002\u0002\u1e52\u1e53\u0007T\u0002", - "\u0002\u1e53\u1e54\u0007a\u0002\u0002\u1e54\u1e55\u0007C\u0002\u0002", - "\u1e55\u1e56\u0007F\u0002\u0002\u1e56\u1e57\u0007F\u0002\u0002\u1e57", - "\u1e58\u0007T\u0002\u0002\u1e58\u1e59\u0007G\u0002\u0002\u1e59\u1e5a", - "\u0007U\u0002\u0002\u1e5a\u1e5b\u0007U\u0002\u0002\u1e5b\u04ac\u0003", - "\u0002\u0002\u0002\u1e5c\u1e5d\u0007O\u0002\u0002\u1e5d\u1e5e\u0007", - "K\u0002\u0002\u1e5e\u1e5f\u0007Z\u0002\u0002\u1e5f\u1e60\u0007G\u0002", - "\u0002\u1e60\u1e61\u0007F\u0002\u0002\u1e61\u1e62\u0007a\u0002\u0002", - "\u1e62\u1e63\u0007R\u0002\u0002\u1e63\u1e64\u0007C\u0002\u0002\u1e64", - "\u1e65\u0007I\u0002\u0002\u1e65\u1e66\u0007G\u0002\u0002\u1e66\u1e67", - "\u0007a\u0002\u0002\u1e67\u1e68\u0007C\u0002\u0002\u1e68\u1e69\u0007", - "N\u0002\u0002\u1e69\u1e6a\u0007N\u0002\u0002\u1e6a\u1e6b\u0007Q\u0002", - "\u0002\u1e6b\u1e6c\u0007E\u0002\u0002\u1e6c\u1e6d\u0007C\u0002\u0002", - "\u1e6d\u1e6e\u0007V\u0002\u0002\u1e6e\u1e6f\u0007K\u0002\u0002\u1e6f", - "\u1e70\u0007Q\u0002\u0002\u1e70\u1e71\u0007P\u0002\u0002\u1e71\u04ae", - "\u0003\u0002\u0002\u0002\u1e72\u1e73\u0007O\u0002\u0002\u1e73\u1e74", - "\u0007Q\u0002\u0002\u1e74\u1e75\u0007F\u0002\u0002\u1e75\u1e76\u0007", - "G\u0002\u0002\u1e76\u04b0\u0003\u0002\u0002\u0002\u1e77\u1e78\u0007", - "O\u0002\u0002\u1e78\u1e79\u0007Q\u0002\u0002\u1e79\u1e7a\u0007F\u0002", - "\u0002\u1e7a\u1e7b\u0007K\u0002\u0002\u1e7b\u1e7c\u0007H\u0002\u0002", - "\u1e7c\u1e7d\u0007[\u0002\u0002\u1e7d\u04b2\u0003\u0002\u0002\u0002", - "\u1e7e\u1e7f\u0007O\u0002\u0002\u1e7f\u1e80\u0007Q\u0002\u0002\u1e80", - "\u1e81\u0007X\u0002\u0002\u1e81\u1e82\u0007G\u0002\u0002\u1e82\u04b4", - "\u0003\u0002\u0002\u0002\u1e83\u1e84\u0007O\u0002\u0002\u1e84\u1e85", - "\u0007W\u0002\u0002\u1e85\u1e86\u0007N\u0002\u0002\u1e86\u1e87\u0007", - "V\u0002\u0002\u1e87\u1e88\u0007K\u0002\u0002\u1e88\u1e89\u0007a\u0002", - "\u0002\u1e89\u1e8a\u0007W\u0002\u0002\u1e8a\u1e8b\u0007U\u0002\u0002", - "\u1e8b\u1e8c\u0007G\u0002\u0002\u1e8c\u1e8d\u0007T\u0002\u0002\u1e8d", - "\u04b6\u0003\u0002\u0002\u0002\u1e8e\u1e8f\u0007P\u0002\u0002\u1e8f", - "\u1e90\u0007C\u0002\u0002\u1e90\u1e91\u0007O\u0002\u0002\u1e91\u1e92", - "\u0007G\u0002\u0002\u1e92\u04b8\u0003\u0002\u0002\u0002\u1e93\u1e94", - "\u0007P\u0002\u0002\u1e94\u1e95\u0007G\u0002\u0002\u1e95\u1e96\u0007", - "U\u0002\u0002\u1e96\u1e97\u0007V\u0002\u0002\u1e97\u1e98\u0007G\u0002", - "\u0002\u1e98\u1e99\u0007F\u0002\u0002\u1e99\u1e9a\u0007a\u0002\u0002", - "\u1e9a\u1e9b\u0007V\u0002\u0002\u1e9b\u1e9c\u0007T\u0002\u0002\u1e9c", - "\u1e9d\u0007K\u0002\u0002\u1e9d\u1e9e\u0007I\u0002\u0002\u1e9e\u1e9f", - "\u0007I\u0002\u0002\u1e9f\u1ea0\u0007G\u0002\u0002\u1ea0\u1ea1\u0007", - "T\u0002\u0002\u1ea1\u1ea2\u0007U\u0002\u0002\u1ea2\u04ba\u0003\u0002", - "\u0002\u0002\u1ea3\u1ea4\u0007P\u0002\u0002\u1ea4\u1ea5\u0007G\u0002", - "\u0002\u1ea5\u1ea6\u0007Y\u0002\u0002\u1ea6\u1ea7\u0007a\u0002\u0002", - "\u1ea7\u1ea8\u0007C\u0002\u0002\u1ea8\u1ea9\u0007E\u0002\u0002\u1ea9", - "\u1eaa\u0007E\u0002\u0002\u1eaa\u1eab\u0007Q\u0002\u0002\u1eab\u1eac", - "\u0007W\u0002\u0002\u1eac\u1ead\u0007P\u0002\u0002\u1ead\u1eae\u0007", - "V\u0002\u0002\u1eae\u04bc\u0003\u0002\u0002\u0002\u1eaf\u1eb0\u0007", - "P\u0002\u0002\u1eb0\u1eb1\u0007G\u0002\u0002\u1eb1\u1eb2\u0007Y\u0002", - "\u0002\u1eb2\u1eb3\u0007a\u0002\u0002\u1eb3\u1eb4\u0007D\u0002\u0002", - "\u1eb4\u1eb5\u0007T\u0002\u0002\u1eb5\u1eb6\u0007Q\u0002\u0002\u1eb6", - "\u1eb7\u0007M\u0002\u0002\u1eb7\u1eb8\u0007G\u0002\u0002\u1eb8\u1eb9", - "\u0007T\u0002\u0002\u1eb9\u04be\u0003\u0002\u0002\u0002\u1eba\u1ebb", - "\u0007P\u0002\u0002\u1ebb\u1ebc\u0007G\u0002\u0002\u1ebc\u1ebd\u0007", - "Y\u0002\u0002\u1ebd\u1ebe\u0007a\u0002\u0002\u1ebe\u1ebf\u0007R\u0002", - "\u0002\u1ebf\u1ec0\u0007C\u0002\u0002\u1ec0\u1ec1\u0007U\u0002\u0002", - "\u1ec1\u1ec2\u0007U\u0002\u0002\u1ec2\u1ec3\u0007Y\u0002\u0002\u1ec3", - "\u1ec4\u0007Q\u0002\u0002\u1ec4\u1ec5\u0007T\u0002\u0002\u1ec5\u1ec6", - "\u0007F\u0002\u0002\u1ec6\u04c0\u0003\u0002\u0002\u0002\u1ec7\u1ec8", - "\u0007P\u0002\u0002\u1ec8\u1ec9\u0007G\u0002\u0002\u1ec9\u1eca\u0007", - "Z\u0002\u0002\u1eca\u1ecb\u0007V\u0002\u0002\u1ecb\u04c2\u0003\u0002", - "\u0002\u0002\u1ecc\u1ecd\u0007P\u0002\u0002\u1ecd\u1ece\u0007Q\u0002", - "\u0002\u1ece\u04c4\u0003\u0002\u0002\u0002\u1ecf\u1ed0\u0007P\u0002", - "\u0002\u1ed0\u1ed1\u0007Q\u0002\u0002\u1ed1\u1ed2\u0007a\u0002\u0002", - "\u1ed2\u1ed3\u0007V\u0002\u0002\u1ed3\u1ed4\u0007T\u0002\u0002\u1ed4", - "\u1ed5\u0007W\u0002\u0002\u1ed5\u1ed6\u0007P\u0002\u0002\u1ed6\u1ed7", - "\u0007E\u0002\u0002\u1ed7\u1ed8\u0007C\u0002\u0002\u1ed8\u1ed9\u0007", - "V\u0002\u0002\u1ed9\u1eda\u0007G\u0002\u0002\u1eda\u04c6\u0003\u0002", - "\u0002\u0002\u1edb\u1edc\u0007P\u0002\u0002\u1edc\u1edd\u0007Q\u0002", - "\u0002\u1edd\u1ede\u0007a\u0002\u0002\u1ede\u1edf\u0007Y\u0002\u0002", - "\u1edf\u1ee0\u0007C\u0002\u0002\u1ee0\u1ee1\u0007K\u0002\u0002\u1ee1", - "\u1ee2\u0007V\u0002\u0002\u1ee2\u04c8\u0003\u0002\u0002\u0002\u1ee3", - "\u1ee4\u0007P\u0002\u0002\u1ee4\u1ee5\u0007Q\u0002\u0002\u1ee5\u1ee6", - "\u0007E\u0002\u0002\u1ee6\u1ee7\u0007Q\u0002\u0002\u1ee7\u1ee8\u0007", - "W\u0002\u0002\u1ee8\u1ee9\u0007P\u0002\u0002\u1ee9\u1eea\u0007V\u0002", - "\u0002\u1eea\u04ca\u0003\u0002\u0002\u0002\u1eeb\u1eec\u0007P\u0002", - "\u0002\u1eec\u1eed\u0007Q\u0002\u0002\u1eed\u1eee\u0007F\u0002\u0002", - "\u1eee\u1eef\u0007G\u0002\u0002\u1eef\u1ef0\u0007U\u0002\u0002\u1ef0", - "\u04cc\u0003\u0002\u0002\u0002\u1ef1\u1ef2\u0007P\u0002\u0002\u1ef2", - "\u1ef3\u0007Q\u0002\u0002\u1ef3\u1ef4\u0007G\u0002\u0002\u1ef4\u1ef5", - "\u0007Z\u0002\u0002\u1ef5\u1ef6\u0007R\u0002\u0002\u1ef6\u1ef7\u0007", - "C\u0002\u0002\u1ef7\u1ef8\u0007P\u0002\u0002\u1ef8\u1ef9\u0007F\u0002", - "\u0002\u1ef9\u04ce\u0003\u0002\u0002\u0002\u1efa\u1efb\u0007P\u0002", - "\u0002\u1efb\u1efc\u0007Q\u0002\u0002\u1efc\u1efd\u0007P\u0002\u0002", - "\u1efd\u1efe\u0007a\u0002\u0002\u1efe\u1eff\u0007V\u0002\u0002\u1eff", - "\u1f00\u0007T\u0002\u0002\u1f00\u1f01\u0007C\u0002\u0002\u1f01\u1f02", - "\u0007P\u0002\u0002\u1f02\u1f03\u0007U\u0002\u0002\u1f03\u1f04\u0007", - "C\u0002\u0002\u1f04\u1f05\u0007E\u0002\u0002\u1f05\u1f06\u0007V\u0002", - "\u0002\u1f06\u1f07\u0007G\u0002\u0002\u1f07\u1f08\u0007F\u0002\u0002", - "\u1f08\u1f09\u0007a\u0002\u0002\u1f09\u1f0a\u0007C\u0002\u0002\u1f0a", - "\u1f0b\u0007E\u0002\u0002\u1f0b\u1f0c\u0007E\u0002\u0002\u1f0c\u1f0d", - "\u0007G\u0002\u0002\u1f0d\u1f0e\u0007U\u0002\u0002\u1f0e\u1f0f\u0007", - "U\u0002\u0002\u1f0f\u04d0\u0003\u0002\u0002\u0002\u1f10\u1f11\u0007", - "P\u0002\u0002\u1f11\u1f12\u0007Q\u0002\u0002\u1f12\u1f13\u0007T\u0002", - "\u0002\u1f13\u1f14\u0007G\u0002\u0002\u1f14\u1f15\u0007E\u0002\u0002", - "\u1f15\u1f16\u0007Q\u0002\u0002\u1f16\u1f17\u0007O\u0002\u0002\u1f17", - "\u1f18\u0007R\u0002\u0002\u1f18\u1f19\u0007W\u0002\u0002\u1f19\u1f1a", - "\u0007V\u0002\u0002\u1f1a\u1f1b\u0007G\u0002\u0002\u1f1b\u04d2\u0003", - "\u0002\u0002\u0002\u1f1c\u1f1d\u0007P\u0002\u0002\u1f1d\u1f1e\u0007", - "Q\u0002\u0002\u1f1e\u1f1f\u0007T\u0002\u0002\u1f1f\u1f20\u0007G\u0002", - "\u0002\u1f20\u1f21\u0007E\u0002\u0002\u1f21\u1f22\u0007Q\u0002\u0002", - "\u1f22\u1f23\u0007X\u0002\u0002\u1f23\u1f24\u0007G\u0002\u0002\u1f24", - "\u1f25\u0007T\u0002\u0002\u1f25\u1f26\u0007[\u0002\u0002\u1f26\u04d4", - "\u0003\u0002\u0002\u0002\u1f27\u1f28\u0007P\u0002\u0002\u1f28\u1f29", - "\u0007Q\u0002\u0002\u1f29\u1f2a\u0007Y\u0002\u0002\u1f2a\u1f2b\u0007", - "C\u0002\u0002\u1f2b\u1f2c\u0007K\u0002\u0002\u1f2c\u1f2d\u0007V\u0002", - "\u0002\u1f2d\u04d6\u0003\u0002\u0002\u0002\u1f2e\u1f2f\u0007P\u0002", - "\u0002\u1f2f\u1f30\u0007V\u0002\u0002\u1f30\u1f31\u0007K\u0002\u0002", - "\u1f31\u1f32\u0007N\u0002\u0002\u1f32\u1f33\u0007G\u0002\u0002\u1f33", - "\u04d8\u0003\u0002\u0002\u0002\u1f34\u1f35\u0007P\u0002\u0002\u1f35", - "\u1f36\u0007W\u0002\u0002\u1f36\u1f37\u0007O\u0002\u0002\u1f37\u1f38", - "\u0007C\u0002\u0002\u1f38\u1f39\u0007P\u0002\u0002\u1f39\u1f3a\u0007", - "Q\u0002\u0002\u1f3a\u1f3b\u0007F\u0002\u0002\u1f3b\u1f3c\u0007G\u0002", - "\u0002\u1f3c\u04da\u0003\u0002\u0002\u0002\u1f3d\u1f3e\u0007P\u0002", - "\u0002\u1f3e\u1f3f\u0007W\u0002\u0002\u1f3f\u1f40\u0007O\u0002\u0002", - "\u1f40\u1f41\u0007D\u0002\u0002\u1f41\u1f42\u0007G\u0002\u0002\u1f42", - "\u1f43\u0007T\u0002\u0002\u1f43\u04dc\u0003\u0002\u0002\u0002\u1f44", - "\u1f45\u0007P\u0002\u0002\u1f45\u1f46\u0007W\u0002\u0002\u1f46\u1f47", - "\u0007O\u0002\u0002\u1f47\u1f48\u0007G\u0002\u0002\u1f48\u1f49\u0007", - "T\u0002\u0002\u1f49\u1f4a\u0007K\u0002\u0002\u1f4a\u1f4b\u0007E\u0002", - "\u0002\u1f4b\u1f4c\u0007a\u0002\u0002\u1f4c\u1f4d\u0007T\u0002\u0002", - "\u1f4d\u1f4e\u0007Q\u0002\u0002\u1f4e\u1f4f\u0007W\u0002\u0002\u1f4f", - "\u1f50\u0007P\u0002\u0002\u1f50\u1f51\u0007F\u0002\u0002\u1f51\u1f52", - "\u0007C\u0002\u0002\u1f52\u1f53\u0007D\u0002\u0002\u1f53\u1f54\u0007", - "Q\u0002\u0002\u1f54\u1f55\u0007T\u0002\u0002\u1f55\u1f56\u0007V\u0002", - "\u0002\u1f56\u04de\u0003\u0002\u0002\u0002\u1f57\u1f58\u0007Q\u0002", - "\u0002\u1f58\u1f59\u0007D\u0002\u0002\u1f59\u1f5a\u0007L\u0002\u0002", - "\u1f5a\u1f5b\u0007G\u0002\u0002\u1f5b\u1f5c\u0007E\u0002\u0002\u1f5c", - "\u1f5d\u0007V\u0002\u0002\u1f5d\u04e0\u0003\u0002\u0002\u0002\u1f5e", - "\u1f5f\u0007Q\u0002\u0002\u1f5f\u1f60\u0007H\u0002\u0002\u1f60\u1f61", - "\u0007H\u0002\u0002\u1f61\u1f62\u0007N\u0002\u0002\u1f62\u1f63\u0007", - "K\u0002\u0002\u1f63\u1f64\u0007P\u0002\u0002\u1f64\u1f65\u0007G\u0002", - "\u0002\u1f65\u04e2\u0003\u0002\u0002\u0002\u1f66\u1f67\u0007Q\u0002", - "\u0002\u1f67\u1f68\u0007H\u0002\u0002\u1f68\u1f69\u0007H\u0002\u0002", - "\u1f69\u1f6a\u0007U\u0002\u0002\u1f6a\u1f6b\u0007G\u0002\u0002\u1f6b", - "\u1f6c\u0007V\u0002\u0002\u1f6c\u04e4\u0003\u0002\u0002\u0002\u1f6d", - "\u1f6e\u0007Q\u0002\u0002\u1f6e\u1f6f\u0007N\u0002\u0002\u1f6f\u1f70", - "\u0007F\u0002\u0002\u1f70\u1f71\u0007a\u0002\u0002\u1f71\u1f72\u0007", - "C\u0002\u0002\u1f72\u1f73\u0007E\u0002\u0002\u1f73\u1f74\u0007E\u0002", - "\u0002\u1f74\u1f75\u0007Q\u0002\u0002\u1f75\u1f76\u0007W\u0002\u0002", - "\u1f76\u1f77\u0007P\u0002\u0002\u1f77\u1f78\u0007V\u0002\u0002\u1f78", - "\u04e6\u0003\u0002\u0002\u0002\u1f79\u1f7a\u0007Q\u0002\u0002\u1f7a", - "\u1f7b\u0007P\u0002\u0002\u1f7b\u1f7c\u0007N\u0002\u0002\u1f7c\u1f7d", - "\u0007K\u0002\u0002\u1f7d\u1f7e\u0007P\u0002\u0002\u1f7e\u1f7f\u0007", - "G\u0002\u0002\u1f7f\u04e8\u0003\u0002\u0002\u0002\u1f80\u1f81\u0007", - "Q\u0002\u0002\u1f81\u1f82\u0007P\u0002\u0002\u1f82\u1f83\u0007N\u0002", - "\u0002\u1f83\u1f84\u0007[\u0002\u0002\u1f84\u04ea\u0003\u0002\u0002", - "\u0002\u1f85\u1f86\u0007Q\u0002\u0002\u1f86\u1f87\u0007R\u0002\u0002", - "\u1f87\u1f88\u0007G\u0002\u0002\u1f88\u1f89\u0007P\u0002\u0002\u1f89", - "\u1f8a\u0007a\u0002\u0002\u1f8a\u1f8b\u0007G\u0002\u0002\u1f8b\u1f8c", - "\u0007Z\u0002\u0002\u1f8c\u1f8d\u0007K\u0002\u0002\u1f8d\u1f8e\u0007", - "U\u0002\u0002\u1f8e\u1f8f\u0007V\u0002\u0002\u1f8f\u1f90\u0007K\u0002", - "\u0002\u1f90\u1f91\u0007P\u0002\u0002\u1f91\u1f92\u0007I\u0002\u0002", - "\u1f92\u04ec\u0003\u0002\u0002\u0002\u1f93\u1f94\u0007Q\u0002\u0002", - "\u1f94\u1f95\u0007R\u0002\u0002\u1f95\u1f96\u0007V\u0002\u0002\u1f96", - "\u1f97\u0007K\u0002\u0002\u1f97\u1f98\u0007O\u0002\u0002\u1f98\u1f99", - "\u0007K\u0002\u0002\u1f99\u1f9a\u0007U\u0002\u0002\u1f9a\u1f9b\u0007", - "V\u0002\u0002\u1f9b\u1f9c\u0007K\u0002\u0002\u1f9c\u1f9d\u0007E\u0002", - "\u0002\u1f9d\u04ee\u0003\u0002\u0002\u0002\u1f9e\u1f9f\u0007Q\u0002", - "\u0002\u1f9f\u1fa0\u0007R\u0002\u0002\u1fa0\u1fa1\u0007V\u0002\u0002", - "\u1fa1\u1fa2\u0007K\u0002\u0002\u1fa2\u1fa3\u0007O\u0002\u0002\u1fa3", - "\u1fa4\u0007K\u0002\u0002\u1fa4\u1fa5\u0007\\\u0002\u0002\u1fa5\u1fa6", - "\u0007G\u0002\u0002\u1fa6\u04f0\u0003\u0002\u0002\u0002\u1fa7\u1fa8", - "\u0007Q\u0002\u0002\u1fa8\u1fa9\u0007W\u0002\u0002\u1fa9\u1faa\u0007", - "V\u0002\u0002\u1faa\u04f2\u0003\u0002\u0002\u0002\u1fab\u1fac\u0007", - "Q\u0002\u0002\u1fac\u1fad\u0007W\u0002\u0002\u1fad\u1fae\u0007V\u0002", - "\u0002\u1fae\u1faf\u0007R\u0002\u0002\u1faf\u1fb0\u0007W\u0002\u0002", - "\u1fb0\u1fb1\u0007V\u0002\u0002\u1fb1\u04f4\u0003\u0002\u0002\u0002", - "\u1fb2\u1fb3\u0007Q\u0002\u0002\u1fb3\u1fb4\u0007X\u0002\u0002\u1fb4", - "\u1fb5\u0007G\u0002\u0002\u1fb5\u1fb6\u0007T\u0002\u0002\u1fb6\u1fb7", - "\u0007T\u0002\u0002\u1fb7\u1fb8\u0007K\u0002\u0002\u1fb8\u1fb9\u0007", - "F\u0002\u0002\u1fb9\u1fba\u0007G\u0002\u0002\u1fba\u04f6\u0003\u0002", - "\u0002\u0002\u1fbb\u1fbc\u0007Q\u0002\u0002\u1fbc\u1fbd\u0007Y\u0002", - "\u0002\u1fbd\u1fbe\u0007P\u0002\u0002\u1fbe\u1fbf\u0007G\u0002\u0002", - "\u1fbf\u1fc0\u0007T\u0002\u0002\u1fc0\u04f8\u0003\u0002\u0002\u0002", - "\u1fc1\u1fc2\u0007R\u0002\u0002\u1fc2\u1fc3\u0007C\u0002\u0002\u1fc3", - "\u1fc4\u0007I\u0002\u0002\u1fc4\u1fc5\u0007G\u0002\u0002\u1fc5\u1fc6", - "\u0007a\u0002\u0002\u1fc6\u1fc7\u0007X\u0002\u0002\u1fc7\u1fc8\u0007", - "G\u0002\u0002\u1fc8\u1fc9\u0007T\u0002\u0002\u1fc9\u1fca\u0007K\u0002", - "\u0002\u1fca\u1fcb\u0007H\u0002\u0002\u1fcb\u1fcc\u0007[\u0002\u0002", - "\u1fcc\u04fa\u0003\u0002\u0002\u0002\u1fcd\u1fce\u0007R\u0002\u0002", - "\u1fce\u1fcf\u0007C\u0002\u0002\u1fcf\u1fd0\u0007T\u0002\u0002\u1fd0", - "\u1fd1\u0007C\u0002\u0002\u1fd1\u1fd2\u0007O\u0002\u0002\u1fd2\u1fd3", - "\u0007G\u0002\u0002\u1fd3\u1fd4\u0007V\u0002\u0002\u1fd4\u1fd5\u0007", - "G\u0002\u0002\u1fd5\u1fd6\u0007T\u0002\u0002\u1fd6\u1fd7\u0007K\u0002", - "\u0002\u1fd7\u1fd8\u0007\\\u0002\u0002\u1fd8\u1fd9\u0007C\u0002\u0002", - "\u1fd9\u1fda\u0007V\u0002\u0002\u1fda\u1fdb\u0007K\u0002\u0002\u1fdb", - "\u1fdc\u0007Q\u0002\u0002\u1fdc\u1fdd\u0007P\u0002\u0002\u1fdd\u04fc", - "\u0003\u0002\u0002\u0002\u1fde\u1fdf\u0007R\u0002\u0002\u1fdf\u1fe0", - "\u0007C\u0002\u0002\u1fe0\u1fe1\u0007T\u0002\u0002\u1fe1\u1fe2\u0007", - "V\u0002\u0002\u1fe2\u1fe3\u0007K\u0002\u0002\u1fe3\u1fe4\u0007V\u0002", - "\u0002\u1fe4\u1fe5\u0007K\u0002\u0002\u1fe5\u1fe6\u0007Q\u0002\u0002", - "\u1fe6\u1fe7\u0007P\u0002\u0002\u1fe7\u04fe\u0003\u0002\u0002\u0002", - "\u1fe8\u1fe9\u0007R\u0002\u0002\u1fe9\u1fea\u0007C\u0002\u0002\u1fea", - "\u1feb\u0007T\u0002\u0002\u1feb\u1fec\u0007V\u0002\u0002\u1fec\u1fed", - "\u0007K\u0002\u0002\u1fed\u1fee\u0007V\u0002\u0002\u1fee\u1fef\u0007", - "K\u0002\u0002\u1fef\u1ff0\u0007Q\u0002\u0002\u1ff0\u1ff1\u0007P\u0002", - "\u0002\u1ff1\u1ff2\u0007U\u0002\u0002\u1ff2\u0500\u0003\u0002\u0002", - "\u0002\u1ff3\u1ff4\u0007R\u0002\u0002\u1ff4\u1ff5\u0007C\u0002\u0002", - "\u1ff5\u1ff6\u0007T\u0002\u0002\u1ff6\u1ff7\u0007V\u0002\u0002\u1ff7", - "\u1ff8\u0007P\u0002\u0002\u1ff8\u1ff9\u0007G\u0002\u0002\u1ff9\u1ffa", - "\u0007T\u0002\u0002\u1ffa\u0502\u0003\u0002\u0002\u0002\u1ffb\u1ffc", - "\u0007R\u0002\u0002\u1ffc\u1ffd\u0007C\u0002\u0002\u1ffd\u1ffe\u0007", - "V\u0002\u0002\u1ffe\u1fff\u0007J\u0002\u0002\u1fff\u0504\u0003\u0002", - "\u0002\u0002\u2000\u2001\u0007R\u0002\u0002\u2001\u2002\u0007Q\u0002", - "\u0002\u2002\u2003\u0007K\u0002\u0002\u2003\u2004\u0007U\u0002\u0002", - "\u2004\u2005\u0007Q\u0002\u0002\u2005\u2006\u0007P\u0002\u0002\u2006", - "\u2007\u0007a\u0002\u0002\u2007\u2008\u0007O\u0002\u0002\u2008\u2009", - "\u0007G\u0002\u0002\u2009\u200a\u0007U\u0002\u0002\u200a\u200b\u0007", - "U\u0002\u0002\u200b\u200c\u0007C\u0002\u0002\u200c\u200d\u0007I\u0002", - "\u0002\u200d\u200e\u0007G\u0002\u0002\u200e\u200f\u0007a\u0002\u0002", - "\u200f\u2010\u0007J\u0002\u0002\u2010\u2011\u0007C\u0002\u0002\u2011", - "\u2012\u0007P\u0002\u0002\u2012\u2013\u0007F\u0002\u0002\u2013\u2014", - "\u0007N\u0002\u0002\u2014\u2015\u0007K\u0002\u0002\u2015\u2016\u0007", - "P\u0002\u0002\u2016\u2017\u0007I\u0002\u0002\u2017\u0506\u0003\u0002", - "\u0002\u0002\u2018\u2019\u0007R\u0002\u0002\u2019\u201a\u0007Q\u0002", - "\u0002\u201a\u201b\u0007Q\u0002\u0002\u201b\u201c\u0007N\u0002\u0002", - "\u201c\u0508\u0003\u0002\u0002\u0002\u201d\u201e\u0007R\u0002\u0002", - "\u201e\u201f\u0007Q\u0002\u0002\u201f\u2020\u0007T\u0002\u0002\u2020", - "\u2021\u0007V\u0002\u0002\u2021\u050a\u0003\u0002\u0002\u0002\u2022", - "\u2023\u0007R\u0002\u0002\u2023\u2024\u0007T\u0002\u0002\u2024\u2025", - "\u0007G\u0002\u0002\u2025\u2026\u0007E\u0002\u0002\u2026\u2027\u0007", - "G\u0002\u0002\u2027\u2028\u0007F\u0002\u0002\u2028\u2029\u0007K\u0002", - "\u0002\u2029\u202a\u0007P\u0002\u0002\u202a\u202b\u0007I\u0002\u0002", - "\u202b\u050c\u0003\u0002\u0002\u0002\u202c\u202d\u0007R\u0002\u0002", - "\u202d\u202e\u0007T\u0002\u0002\u202e\u202f\u0007K\u0002\u0002\u202f", - "\u2030\u0007O\u0002\u0002\u2030\u2031\u0007C\u0002\u0002\u2031\u2032", - "\u0007T\u0002\u0002\u2032\u2033\u0007[\u0002\u0002\u2033\u2034\u0007", - "a\u0002\u0002\u2034\u2035\u0007T\u0002\u0002\u2035\u2036\u0007Q\u0002", - "\u0002\u2036\u2037\u0007N\u0002\u0002\u2037\u2038\u0007G\u0002\u0002", - "\u2038\u050e\u0003\u0002\u0002\u0002\u2039\u203a\u0007R\u0002\u0002", - "\u203a\u203b\u0007T\u0002\u0002\u203b\u203c\u0007K\u0002\u0002\u203c", - "\u203d\u0007Q\u0002\u0002\u203d\u203e\u0007T\u0002\u0002\u203e\u0510", - "\u0003\u0002\u0002\u0002\u203f\u2040\u0007R\u0002\u0002\u2040\u2041", - "\u0007T\u0002\u0002\u2041\u2042\u0007K\u0002\u0002\u2042\u2043\u0007", - "Q\u0002\u0002\u2043\u2044\u0007T\u0002\u0002\u2044\u2045\u0007K\u0002", - "\u0002\u2045\u2046\u0007V\u0002\u0002\u2046\u2047\u0007[\u0002\u0002", - "\u2047\u0512\u0003\u0002\u0002\u0002\u2048\u2049\u0007R\u0002\u0002", - "\u2049\u204a\u0007T\u0002\u0002\u204a\u204b\u0007K\u0002\u0002\u204b", - "\u204c\u0007Q\u0002\u0002\u204c\u204d\u0007T\u0002\u0002\u204d\u204e", - "\u0007K\u0002\u0002\u204e\u204f\u0007V\u0002\u0002\u204f\u2050\u0007", - "[\u0002\u0002\u2050\u2051\u0007a\u0002\u0002\u2051\u2052\u0007N\u0002", - "\u0002\u2052\u2053\u0007G\u0002\u0002\u2053\u2054\u0007X\u0002\u0002", - "\u2054\u2055\u0007G\u0002\u0002\u2055\u2056\u0007N\u0002\u0002\u2056", - "\u0514\u0003\u0002\u0002\u0002\u2057\u2058\u0007R\u0002\u0002\u2058", - "\u2059\u0007T\u0002\u0002\u2059\u205a\u0007K\u0002\u0002\u205a\u205b", - "\u0007X\u0002\u0002\u205b\u205c\u0007C\u0002\u0002\u205c\u205d\u0007", - "V\u0002\u0002\u205d\u205e\u0007G\u0002\u0002\u205e\u0516\u0003\u0002", - "\u0002\u0002\u205f\u2060\u0007R\u0002\u0002\u2060\u2061\u0007T\u0002", - "\u0002\u2061\u2062\u0007K\u0002\u0002\u2062\u2063\u0007X\u0002\u0002", - "\u2063\u2064\u0007C\u0002\u0002\u2064\u2065\u0007V\u0002\u0002\u2065", - "\u2066\u0007G\u0002\u0002\u2066\u2067\u0007a\u0002\u0002\u2067\u2068", - "\u0007M\u0002\u0002\u2068\u2069\u0007G\u0002\u0002\u2069\u206a\u0007", - "[\u0002\u0002\u206a\u0518\u0003\u0002\u0002\u0002\u206b\u206c\u0007", - "R\u0002\u0002\u206c\u206d\u0007T\u0002\u0002\u206d\u206e\u0007K\u0002", - "\u0002\u206e\u206f\u0007X\u0002\u0002\u206f\u2070\u0007K\u0002\u0002", - "\u2070\u2071\u0007N\u0002\u0002\u2071\u2072\u0007G\u0002\u0002\u2072", - "\u2073\u0007I\u0002\u0002\u2073\u2074\u0007G\u0002\u0002\u2074\u2075", - "\u0007U\u0002\u0002\u2075\u051a\u0003\u0002\u0002\u0002\u2076\u2077", - "\u0007R\u0002\u0002\u2077\u2078\u0007T\u0002\u0002\u2078\u2079\u0007", - "Q\u0002\u0002\u2079\u207a\u0007E\u0002\u0002\u207a\u207b\u0007G\u0002", - "\u0002\u207b\u207c\u0007F\u0002\u0002\u207c\u207d\u0007W\u0002\u0002", - "\u207d\u207e\u0007T\u0002\u0002\u207e\u207f\u0007G\u0002\u0002\u207f", - "\u2080\u0007a\u0002\u0002\u2080\u2081\u0007P\u0002\u0002\u2081\u2082", - "\u0007C\u0002\u0002\u2082\u2083\u0007O\u0002\u0002\u2083\u2084\u0007", - "G\u0002\u0002\u2084\u051c\u0003\u0002\u0002\u0002\u2085\u2086\u0007", - "R\u0002\u0002\u2086\u2087\u0007T\u0002\u0002\u2087\u2088\u0007Q\u0002", - "\u0002\u2088\u2089\u0007R\u0002\u0002\u2089\u208a\u0007G\u0002\u0002", - "\u208a\u208b\u0007T\u0002\u0002\u208b\u208c\u0007V\u0002\u0002\u208c", - "\u208d\u0007[\u0002\u0002\u208d\u051e\u0003\u0002\u0002\u0002\u208e", - "\u208f\u0007R\u0002\u0002\u208f\u2090\u0007T\u0002\u0002\u2090\u2091", - "\u0007Q\u0002\u0002\u2091\u2092\u0007X\u0002\u0002\u2092\u2093\u0007", - "K\u0002\u0002\u2093\u2094\u0007F\u0002\u0002\u2094\u2095\u0007G\u0002", - "\u0002\u2095\u2096\u0007T\u0002\u0002\u2096\u0520\u0003\u0002\u0002", - "\u0002\u2097\u2098\u0007R\u0002\u0002\u2098\u2099\u0007T\u0002\u0002", - "\u2099\u209a\u0007Q\u0002\u0002\u209a\u209b\u0007X\u0002\u0002\u209b", - "\u209c\u0007K\u0002\u0002\u209c\u209d\u0007F\u0002\u0002\u209d\u209e", - "\u0007G\u0002\u0002\u209e\u209f\u0007T\u0002\u0002\u209f\u20a0\u0007", - "a\u0002\u0002\u20a0\u20a1\u0007M\u0002\u0002\u20a1\u20a2\u0007G\u0002", - "\u0002\u20a2\u20a3\u0007[\u0002\u0002\u20a3\u20a4\u0007a\u0002\u0002", - "\u20a4\u20a5\u0007P\u0002\u0002\u20a5\u20a6\u0007C\u0002\u0002\u20a6", - "\u20a7\u0007O\u0002\u0002\u20a7\u20a8\u0007G\u0002\u0002\u20a8\u0522", - "\u0003\u0002\u0002\u0002\u20a9\u20aa\u0007S\u0002\u0002\u20aa\u20ab", - "\u0007W\u0002\u0002\u20ab\u20ac\u0007G\u0002\u0002\u20ac\u20ad\u0007", - "T\u0002\u0002\u20ad\u20ae\u0007[\u0002\u0002\u20ae\u0524\u0003\u0002", - "\u0002\u0002\u20af\u20b0\u0007S\u0002\u0002\u20b0\u20b1\u0007W\u0002", - "\u0002\u20b1\u20b2\u0007G\u0002\u0002\u20b2\u20b3\u0007W\u0002\u0002", - "\u20b3\u20b4\u0007G\u0002\u0002\u20b4\u0526\u0003\u0002\u0002\u0002", - "\u20b5\u20b6\u0007S\u0002\u0002\u20b6\u20b7\u0007W\u0002\u0002\u20b7", - "\u20b8\u0007G\u0002\u0002\u20b8\u20b9\u0007W\u0002\u0002\u20b9\u20ba", - "\u0007G\u0002\u0002\u20ba\u20bb\u0007a\u0002\u0002\u20bb\u20bc\u0007", - "F\u0002\u0002\u20bc\u20bd\u0007G\u0002\u0002\u20bd\u20be\u0007N\u0002", - "\u0002\u20be\u20bf\u0007C\u0002\u0002\u20bf\u20c0\u0007[\u0002\u0002", - "\u20c0\u0528\u0003\u0002\u0002\u0002\u20c1\u20c2\u0007S\u0002\u0002", - "\u20c2\u20c3\u0007W\u0002\u0002\u20c3\u20c4\u0007Q\u0002\u0002\u20c4", - "\u20c5\u0007V\u0002\u0002\u20c5\u20c6\u0007G\u0002\u0002\u20c6\u20c7", - "\u0007F\u0002\u0002\u20c7\u20c8\u0007a\u0002\u0002\u20c8\u20c9\u0007", - "K\u0002\u0002\u20c9\u20ca\u0007F\u0002\u0002\u20ca\u20cb\u0007G\u0002", - "\u0002\u20cb\u20cc\u0007P\u0002\u0002\u20cc\u20cd\u0007V\u0002\u0002", - "\u20cd\u20ce\u0007K\u0002\u0002\u20ce\u20cf\u0007H\u0002\u0002\u20cf", - "\u20d0\u0007K\u0002\u0002\u20d0\u20d1\u0007G\u0002\u0002\u20d1\u20d2", - "\u0007T\u0002\u0002\u20d2\u052a\u0003\u0002\u0002\u0002\u20d3\u20d4", - "\u0007T\u0002\u0002\u20d4\u20d5\u0007C\u0002\u0002\u20d5\u20d6\u0007", - "P\u0002\u0002\u20d6\u20d7\u0007I\u0002\u0002\u20d7\u20d8\u0007G\u0002", - "\u0002\u20d8\u052c\u0003\u0002\u0002\u0002\u20d9\u20da\u0007T\u0002", - "\u0002\u20da\u20db\u0007C\u0002\u0002\u20db\u20dc\u0007P\u0002\u0002", - "\u20dc\u20dd\u0007M\u0002\u0002\u20dd\u052e\u0003\u0002\u0002\u0002", - "\u20de\u20df\u0007T\u0002\u0002\u20df\u20e0\u0007E\u0002\u0002\u20e0", - "\u20e1\u00074\u0002\u0002\u20e1\u0530\u0003\u0002\u0002\u0002\u20e2", - "\u20e3\u0007T\u0002\u0002\u20e3\u20e4\u0007E\u0002\u0002\u20e4\u20e5", - "\u00076\u0002\u0002\u20e5\u0532\u0003\u0002\u0002\u0002\u20e6\u20e7", - "\u0007T\u0002\u0002\u20e7\u20e8\u0007E\u0002\u0002\u20e8\u20e9\u0007", - "6\u0002\u0002\u20e9\u20ea\u0007a\u0002\u0002\u20ea\u20eb\u00073\u0002", - "\u0002\u20eb\u20ec\u00074\u0002\u0002\u20ec\u20ed\u0007:\u0002\u0002", - "\u20ed\u0534\u0003\u0002\u0002\u0002\u20ee\u20ef\u0007T\u0002\u0002", - "\u20ef\u20f0\u0007G\u0002\u0002\u20f0\u20f1\u0007C\u0002\u0002\u20f1", - "\u20f2\u0007F\u0002\u0002\u20f2\u20f3\u0007a\u0002\u0002\u20f3\u20f4", - "\u0007E\u0002\u0002\u20f4\u20f5\u0007Q\u0002\u0002\u20f5\u20f6\u0007", - "O\u0002\u0002\u20f6\u20f7\u0007O\u0002\u0002\u20f7\u20f8\u0007K\u0002", - "\u0002\u20f8\u20f9\u0007V\u0002\u0002\u20f9\u20fa\u0007V\u0002\u0002", - "\u20fa\u20fb\u0007G\u0002\u0002\u20fb\u20fc\u0007F\u0002\u0002\u20fc", - "\u20fd\u0007a\u0002\u0002\u20fd\u20fe\u0007U\u0002\u0002\u20fe\u20ff", - "\u0007P\u0002\u0002\u20ff\u2100\u0007C\u0002\u0002\u2100\u2101\u0007", - "R\u0002\u0002\u2101\u2102\u0007U\u0002\u0002\u2102\u2103\u0007J\u0002", - "\u0002\u2103\u2104\u0007Q\u0002\u0002\u2104\u2105\u0007V\u0002\u0002", - "\u2105\u0536\u0003\u0002\u0002\u0002\u2106\u2107\u0007T\u0002\u0002", - "\u2107\u2108\u0007G\u0002\u0002\u2108\u2109\u0007C\u0002\u0002\u2109", - "\u210a\u0007F\u0002\u0002\u210a\u210b\u0007a\u0002\u0002\u210b\u210c", - "\u0007Q\u0002\u0002\u210c\u210d\u0007P\u0002\u0002\u210d\u210e\u0007", - "N\u0002\u0002\u210e\u210f\u0007[\u0002\u0002\u210f\u0538\u0003\u0002", - "\u0002\u0002\u2110\u2111\u0007T\u0002\u0002\u2111\u2112\u0007G\u0002", - "\u0002\u2112\u2113\u0007C\u0002\u0002\u2113\u2114\u0007F\u0002\u0002", - "\u2114\u2115\u0007a\u0002\u0002\u2115\u2116\u0007Q\u0002\u0002\u2116", - "\u2117\u0007P\u0002\u0002\u2117\u2118\u0007N\u0002\u0002\u2118\u2119", - "\u0007[\u0002\u0002\u2119\u211a\u0007a\u0002\u0002\u211a\u211b\u0007", - "T\u0002\u0002\u211b\u211c\u0007Q\u0002\u0002\u211c\u211d\u0007W\u0002", - "\u0002\u211d\u211e\u0007V\u0002\u0002\u211e\u211f\u0007K\u0002\u0002", - "\u211f\u2120\u0007P\u0002\u0002\u2120\u2121\u0007I\u0002\u0002\u2121", - "\u2122\u0007a\u0002\u0002\u2122\u2123\u0007N\u0002\u0002\u2123\u2124", - "\u0007K\u0002\u0002\u2124\u2125\u0007U\u0002\u0002\u2125\u2126\u0007", - "V\u0002\u0002\u2126\u053a\u0003\u0002\u0002\u0002\u2127\u2128\u0007", - "T\u0002\u0002\u2128\u2129\u0007G\u0002\u0002\u2129\u212a\u0007C\u0002", - "\u0002\u212a\u212b\u0007F\u0002\u0002\u212b\u212c\u0007a\u0002\u0002", - "\u212c\u212d\u0007Y\u0002\u0002\u212d\u212e\u0007T\u0002\u0002\u212e", - "\u212f\u0007K\u0002\u0002\u212f\u2130\u0007V\u0002\u0002\u2130\u2131", - "\u0007G\u0002\u0002\u2131\u053c\u0003\u0002\u0002\u0002\u2132\u2133", - "\u0007T\u0002\u0002\u2133\u2134\u0007G\u0002\u0002\u2134\u2135\u0007", - "C\u0002\u0002\u2135\u2136\u0007F\u0002\u0002\u2136\u2137\u0007Q\u0002", - "\u0002\u2137\u2138\u0007P\u0002\u0002\u2138\u2139\u0007N\u0002\u0002", - "\u2139\u213a\u0007[\u0002\u0002\u213a\u053e\u0003\u0002\u0002\u0002", - "\u213b\u213c\u0007T\u0002\u0002\u213c\u213d\u0007G\u0002\u0002\u213d", - "\u213e\u0007D\u0002\u0002\u213e\u213f\u0007W\u0002\u0002\u213f\u2140", - "\u0007K\u0002\u0002\u2140\u2141\u0007N\u0002\u0002\u2141\u2142\u0007", - "F\u0002\u0002\u2142\u0540\u0003\u0002\u0002\u0002\u2143\u2144\u0007", - "T\u0002\u0002\u2144\u2145\u0007G\u0002\u0002\u2145\u2146\u0007E\u0002", - "\u0002\u2146\u2147\u0007G\u0002\u0002\u2147\u2148\u0007K\u0002\u0002", - "\u2148\u2149\u0007X\u0002\u0002\u2149\u214a\u0007G\u0002\u0002\u214a", - "\u0542\u0003\u0002\u0002\u0002\u214b\u214c\u0007T\u0002\u0002\u214c", - "\u214d\u0007G\u0002\u0002\u214d\u214e\u0007E\u0002\u0002\u214e\u214f", - "\u0007Q\u0002\u0002\u214f\u2150\u0007O\u0002\u0002\u2150\u2151\u0007", - "R\u0002\u0002\u2151\u2152\u0007K\u0002\u0002\u2152\u2153\u0007N\u0002", - "\u0002\u2153\u2154\u0007G\u0002\u0002\u2154\u0544\u0003\u0002\u0002", - "\u0002\u2155\u2156\u0007T\u0002\u0002\u2156\u2157\u0007G\u0002\u0002", - "\u2157\u2158\u0007E\u0002\u0002\u2158\u2159\u0007Q\u0002\u0002\u2159", - "\u215a\u0007X\u0002\u0002\u215a\u215b\u0007G\u0002\u0002\u215b\u215c", - "\u0007T\u0002\u0002\u215c\u215d\u0007[\u0002\u0002\u215d\u0546\u0003", - "\u0002\u0002\u0002\u215e\u215f\u0007T\u0002\u0002\u215f\u2160\u0007", - "G\u0002\u0002\u2160\u2161\u0007E\u0002\u0002\u2161\u2162\u0007W\u0002", - "\u0002\u2162\u2163\u0007T\u0002\u0002\u2163\u2164\u0007U\u0002\u0002", - "\u2164\u2165\u0007K\u0002\u0002\u2165\u2166\u0007X\u0002\u0002\u2166", - "\u2167\u0007G\u0002\u0002\u2167\u2168\u0007a\u0002\u0002\u2168\u2169", - "\u0007V\u0002\u0002\u2169\u216a\u0007T\u0002\u0002\u216a\u216b\u0007", - "K\u0002\u0002\u216b\u216c\u0007I\u0002\u0002\u216c\u216d\u0007I\u0002", - "\u0002\u216d\u216e\u0007G\u0002\u0002\u216e\u216f\u0007T\u0002\u0002", - "\u216f\u2170\u0007U\u0002\u0002\u2170\u0548\u0003\u0002\u0002\u0002", - "\u2171\u2172\u0007T\u0002\u0002\u2172\u2173\u0007G\u0002\u0002\u2173", - "\u2174\u0007N\u0002\u0002\u2174\u2175\u0007C\u0002\u0002\u2175\u2176", - "\u0007V\u0002\u0002\u2176\u2177\u0007K\u0002\u0002\u2177\u2178\u0007", - "X\u0002\u0002\u2178\u2179\u0007G\u0002\u0002\u2179\u054a\u0003\u0002", - "\u0002\u0002\u217a\u217b\u0007T\u0002\u0002\u217b\u217c\u0007G\u0002", - "\u0002\u217c\u217d\u0007O\u0002\u0002\u217d\u217e\u0007Q\u0002\u0002", - "\u217e\u217f\u0007V\u0002\u0002\u217f\u2180\u0007G\u0002\u0002\u2180", - "\u054c\u0003\u0002\u0002\u0002\u2181\u2182\u0007T\u0002\u0002\u2182", - "\u2183\u0007G\u0002\u0002\u2183\u2184\u0007O\u0002\u0002\u2184\u2185", - "\u0007Q\u0002\u0002\u2185\u2186\u0007V\u0002\u0002\u2186\u2187\u0007", - "G\u0002\u0002\u2187\u2188\u0007a\u0002\u0002\u2188\u2189\u0007U\u0002", - "\u0002\u2189\u218a\u0007G\u0002\u0002\u218a\u218b\u0007T\u0002\u0002", - "\u218b\u218c\u0007X\u0002\u0002\u218c\u218d\u0007K\u0002\u0002\u218d", - "\u218e\u0007E\u0002\u0002\u218e\u218f\u0007G\u0002\u0002\u218f\u2190", - "\u0007a\u0002\u0002\u2190\u2191\u0007P\u0002\u0002\u2191\u2192\u0007", - "C\u0002\u0002\u2192\u2193\u0007O\u0002\u0002\u2193\u2194\u0007G\u0002", - "\u0002\u2194\u054e\u0003\u0002\u0002\u0002\u2195\u2196\u0007T\u0002", - "\u0002\u2196\u2197\u0007G\u0002\u0002\u2197\u2198\u0007O\u0002\u0002", - "\u2198\u2199\u0007Q\u0002\u0002\u2199\u219a\u0007X\u0002\u0002\u219a", - "\u219b\u0007G\u0002\u0002\u219b\u0550\u0003\u0002\u0002\u0002\u219c", - "\u219d\u0007T\u0002\u0002\u219d\u219e\u0007G\u0002\u0002\u219e\u219f", - "\u0007Q\u0002\u0002\u219f\u21a0\u0007T\u0002\u0002\u21a0\u21a1\u0007", - "I\u0002\u0002\u21a1\u21a2\u0007C\u0002\u0002\u21a2\u21a3\u0007P\u0002", - "\u0002\u21a3\u21a4\u0007K\u0002\u0002\u21a4\u21a5\u0007\\\u0002\u0002", - "\u21a5\u21a6\u0007G\u0002\u0002\u21a6\u0552\u0003\u0002\u0002\u0002", - "\u21a7\u21a8\u0007T\u0002\u0002\u21a8\u21a9\u0007G\u0002\u0002\u21a9", - "\u21aa\u0007R\u0002\u0002\u21aa\u21ab\u0007G\u0002\u0002\u21ab\u21ac", - "\u0007C\u0002\u0002\u21ac\u21ad\u0007V\u0002\u0002\u21ad\u21ae\u0007", - "C\u0002\u0002\u21ae\u21af\u0007D\u0002\u0002\u21af\u21b0\u0007N\u0002", - "\u0002\u21b0\u21b1\u0007G\u0002\u0002\u21b1\u0554\u0003\u0002\u0002", - "\u0002\u21b2\u21b3\u0007T\u0002\u0002\u21b3\u21b4\u0007G\u0002\u0002", - "\u21b4\u21b5\u0007R\u0002\u0002\u21b5\u21b6\u0007N\u0002\u0002\u21b6", - "\u21b7\u0007K\u0002\u0002\u21b7\u21b8\u0007E\u0002\u0002\u21b8\u21b9", - "\u0007C\u0002\u0002\u21b9\u0556\u0003\u0002\u0002\u0002\u21ba\u21bb", - "\u0007T\u0002\u0002\u21bb\u21bc\u0007G\u0002\u0002\u21bc\u21bd\u0007", - "S\u0002\u0002\u21bd\u21be\u0007W\u0002\u0002\u21be\u21bf\u0007G\u0002", - "\u0002\u21bf\u21c0\u0007U\u0002\u0002\u21c0\u21c1\u0007V\u0002\u0002", - "\u21c1\u21c2\u0007a\u0002\u0002\u21c2\u21c3\u0007O\u0002\u0002\u21c3", - "\u21c4\u0007C\u0002\u0002\u21c4\u21c5\u0007Z\u0002\u0002\u21c5\u21c6", - "\u0007a\u0002\u0002\u21c6\u21c7\u0007E\u0002\u0002\u21c7\u21c8\u0007", - "R\u0002\u0002\u21c8\u21c9\u0007W\u0002\u0002\u21c9\u21ca\u0007a\u0002", - "\u0002\u21ca\u21cb\u0007V\u0002\u0002\u21cb\u21cc\u0007K\u0002\u0002", - "\u21cc\u21cd\u0007O\u0002\u0002\u21cd\u21ce\u0007G\u0002\u0002\u21ce", - "\u21cf\u0007a\u0002\u0002\u21cf\u21d0\u0007U\u0002\u0002\u21d0\u21d1", - "\u0007G\u0002\u0002\u21d1\u21d2\u0007E\u0002\u0002\u21d2\u0558\u0003", - "\u0002\u0002\u0002\u21d3\u21d4\u0007T\u0002\u0002\u21d4\u21d5\u0007", - "G\u0002\u0002\u21d5\u21d6\u0007S\u0002\u0002\u21d6\u21d7\u0007W\u0002", - "\u0002\u21d7\u21d8\u0007G\u0002\u0002\u21d8\u21d9\u0007U\u0002\u0002", - "\u21d9\u21da\u0007V\u0002\u0002\u21da\u21db\u0007a\u0002\u0002\u21db", - "\u21dc\u0007O\u0002\u0002\u21dc\u21dd\u0007C\u0002\u0002\u21dd\u21de", - "\u0007Z\u0002\u0002\u21de\u21df\u0007a\u0002\u0002\u21df\u21e0\u0007", - "O\u0002\u0002\u21e0\u21e1\u0007G\u0002\u0002\u21e1\u21e2\u0007O\u0002", - "\u0002\u21e2\u21e3\u0007Q\u0002\u0002\u21e3\u21e4\u0007T\u0002\u0002", - "\u21e4\u21e5\u0007[\u0002\u0002\u21e5\u21e6\u0007a\u0002\u0002\u21e6", - "\u21e7\u0007I\u0002\u0002\u21e7\u21e8\u0007T\u0002\u0002\u21e8\u21e9", - "\u0007C\u0002\u0002\u21e9\u21ea\u0007P\u0002\u0002\u21ea\u21eb\u0007", - "V\u0002\u0002\u21eb\u21ec\u0007a\u0002\u0002\u21ec\u21ed\u0007R\u0002", - "\u0002\u21ed\u21ee\u0007G\u0002\u0002\u21ee\u21ef\u0007T\u0002\u0002", - "\u21ef\u21f0\u0007E\u0002\u0002\u21f0\u21f1\u0007G\u0002\u0002\u21f1", - "\u21f2\u0007P\u0002\u0002\u21f2\u21f3\u0007V\u0002\u0002\u21f3\u055a", - "\u0003\u0002\u0002\u0002\u21f4\u21f5\u0007T\u0002\u0002\u21f5\u21f6", - "\u0007G\u0002\u0002\u21f6\u21f7\u0007S\u0002\u0002\u21f7\u21f8\u0007", - "W\u0002\u0002\u21f8\u21f9\u0007G\u0002\u0002\u21f9\u21fa\u0007U\u0002", - "\u0002\u21fa\u21fb\u0007V\u0002\u0002\u21fb\u21fc\u0007a\u0002\u0002", - "\u21fc\u21fd\u0007O\u0002\u0002\u21fd\u21fe\u0007G\u0002\u0002\u21fe", - "\u21ff\u0007O\u0002\u0002\u21ff\u2200\u0007Q\u0002\u0002\u2200\u2201", - "\u0007T\u0002\u0002\u2201\u2202\u0007[\u0002\u0002\u2202\u2203\u0007", - "a\u0002\u0002\u2203\u2204\u0007I\u0002\u0002\u2204\u2205\u0007T\u0002", - "\u0002\u2205\u2206\u0007C\u0002\u0002\u2206\u2207\u0007P\u0002\u0002", - "\u2207\u2208\u0007V\u0002\u0002\u2208\u2209\u0007a\u0002\u0002\u2209", - "\u220a\u0007V\u0002\u0002\u220a\u220b\u0007K\u0002\u0002\u220b\u220c", - "\u0007O\u0002\u0002\u220c\u220d\u0007G\u0002\u0002\u220d\u220e\u0007", - "Q\u0002\u0002\u220e\u220f\u0007W\u0002\u0002\u220f\u2210\u0007V\u0002", - "\u0002\u2210\u2211\u0007a\u0002\u0002\u2211\u2212\u0007U\u0002\u0002", - "\u2212\u2213\u0007G\u0002\u0002\u2213\u2214\u0007E\u0002\u0002\u2214", - "\u055c\u0003\u0002\u0002\u0002\u2215\u2216\u0007T\u0002\u0002\u2216", - "\u2217\u0007G\u0002\u0002\u2217\u2218\u0007S\u0002\u0002\u2218\u2219", - "\u0007W\u0002\u0002\u2219\u221a\u0007K\u0002\u0002\u221a\u221b\u0007", - "T\u0002\u0002\u221b\u221c\u0007G\u0002\u0002\u221c\u221d\u0007F\u0002", - "\u0002\u221d\u221e\u0007a\u0002\u0002\u221e\u221f\u0007U\u0002\u0002", - "\u221f\u2220\u0007[\u0002\u0002\u2220\u2221\u0007P\u0002\u0002\u2221", - "\u2222\u0007E\u0002\u0002\u2222\u2223\u0007J\u0002\u0002\u2223\u2224", - "\u0007T\u0002\u0002\u2224\u2225\u0007Q\u0002\u0002\u2225\u2226\u0007", - "P\u0002\u0002\u2226\u2227\u0007K\u0002\u0002\u2227\u2228\u0007\\\u0002", - "\u0002\u2228\u2229\u0007G\u0002\u0002\u2229\u222a\u0007F\u0002\u0002", - "\u222a\u222b\u0007a\u0002\u0002\u222b\u222c\u0007U\u0002\u0002\u222c", - "\u222d\u0007G\u0002\u0002\u222d\u222e\u0007E\u0002\u0002\u222e\u222f", - "\u0007Q\u0002\u0002\u222f\u2230\u0007P\u0002\u0002\u2230\u2231\u0007", - "F\u0002\u0002\u2231\u2232\u0007C\u0002\u0002\u2232\u2233\u0007T\u0002", - "\u0002\u2233\u2234\u0007K\u0002\u0002\u2234\u2235\u0007G\u0002\u0002", - "\u2235\u2236\u0007U\u0002\u0002\u2236\u2237\u0007a\u0002\u0002\u2237", - "\u2238\u0007V\u0002\u0002\u2238\u2239\u0007Q\u0002\u0002\u2239\u223a", - "\u0007a\u0002\u0002\u223a\u223b\u0007E\u0002\u0002\u223b\u223c\u0007", - "Q\u0002\u0002\u223c\u223d\u0007O\u0002\u0002\u223d\u223e\u0007O\u0002", - "\u0002\u223e\u223f\u0007K\u0002\u0002\u223f\u2240\u0007V\u0002\u0002", - "\u2240\u055e\u0003\u0002\u0002\u0002\u2241\u2242\u0007T\u0002\u0002", - "\u2242\u2243\u0007G\u0002\u0002\u2243\u2244\u0007U\u0002\u0002\u2244", - "\u2245\u0007G\u0002\u0002\u2245\u2246\u0007T\u0002\u0002\u2246\u2247", - "\u0007X\u0002\u0002\u2247\u2248\u0007G\u0002\u0002\u2248\u2249\u0007", - "a\u0002\u0002\u2249\u224a\u0007F\u0002\u0002\u224a\u224b\u0007K\u0002", - "\u0002\u224b\u224c\u0007U\u0002\u0002\u224c\u224d\u0007M\u0002\u0002", - "\u224d\u224e\u0007a\u0002\u0002\u224e\u224f\u0007U\u0002\u0002\u224f", - "\u2250\u0007R\u0002\u0002\u2250\u2251\u0007C\u0002\u0002\u2251\u2252", - "\u0007E\u0002\u0002\u2252\u2253\u0007G\u0002\u0002\u2253\u0560\u0003", - "\u0002\u0002\u0002\u2254\u2255\u0007T\u0002\u0002\u2255\u2256\u0007", - "G\u0002\u0002\u2256\u2257\u0007U\u0002\u0002\u2257\u2258\u0007Q\u0002", - "\u0002\u2258\u2259\u0007W\u0002\u0002\u2259\u225a\u0007T\u0002\u0002", - "\u225a\u225b\u0007E\u0002\u0002\u225b\u225c\u0007G\u0002\u0002\u225c", - "\u0562\u0003\u0002\u0002\u0002\u225d\u225e\u0007T\u0002\u0002\u225e", - "\u225f\u0007G\u0002\u0002\u225f\u2260\u0007U\u0002\u0002\u2260\u2261", - "\u0007Q\u0002\u0002\u2261\u2262\u0007W\u0002\u0002\u2262\u2263\u0007", - "T\u0002\u0002\u2263\u2264\u0007E\u0002\u0002\u2264\u2265\u0007G\u0002", - "\u0002\u2265\u2266\u0007a\u0002\u0002\u2266\u2267\u0007O\u0002\u0002", - "\u2267\u2268\u0007C\u0002\u0002\u2268\u2269\u0007P\u0002\u0002\u2269", - "\u226a\u0007C\u0002\u0002\u226a\u226b\u0007I\u0002\u0002\u226b\u226c", - "\u0007G\u0002\u0002\u226c\u226d\u0007T\u0002\u0002\u226d\u226e\u0007", - "a\u0002\u0002\u226e\u226f\u0007N\u0002\u0002\u226f\u2270\u0007Q\u0002", - "\u0002\u2270\u2271\u0007E\u0002\u0002\u2271\u2272\u0007C\u0002\u0002", - "\u2272\u2273\u0007V\u0002\u0002\u2273\u2274\u0007K\u0002\u0002\u2274", - "\u2275\u0007Q\u0002\u0002\u2275\u2276\u0007P\u0002\u0002\u2276\u0564", - "\u0003\u0002\u0002\u0002\u2277\u2278\u0007T\u0002\u0002\u2278\u2279", - "\u0007G\u0002\u0002\u2279\u227a\u0007U\u0002\u0002\u227a\u227b\u0007", - "V\u0002\u0002\u227b\u227c\u0007T\u0002\u0002\u227c\u227d\u0007K\u0002", - "\u0002\u227d\u227e\u0007E\u0002\u0002\u227e\u227f\u0007V\u0002\u0002", - "\u227f\u2280\u0007G\u0002\u0002\u2280\u2281\u0007F\u0002\u0002\u2281", - "\u2282\u0007a\u0002\u0002\u2282\u2283\u0007W\u0002\u0002\u2283\u2284", - "\u0007U\u0002\u0002\u2284\u2285\u0007G\u0002\u0002\u2285\u2286\u0007", - "T\u0002\u0002\u2286\u0566\u0003\u0002\u0002\u0002\u2287\u2288\u0007", - "T\u0002\u0002\u2288\u2289\u0007G\u0002\u0002\u2289\u228a\u0007V\u0002", - "\u0002\u228a\u228b\u0007G\u0002\u0002\u228b\u228c\u0007P\u0002\u0002", - "\u228c\u228d\u0007V\u0002\u0002\u228d\u228e\u0007K\u0002\u0002\u228e", - "\u228f\u0007Q\u0002\u0002\u228f\u2290\u0007P\u0002\u0002\u2290\u0568", - "\u0003\u0002\u0002\u0002\u2291\u2292\u0007T\u0002\u0002\u2292\u2293", - "\u0007Q\u0002\u0002\u2293\u2294\u0007D\u0002\u0002\u2294\u2295\u0007", - "W\u0002\u0002\u2295\u2296\u0007U\u0002\u0002\u2296\u2297\u0007V\u0002", - "\u0002\u2297\u056a\u0003\u0002\u0002\u0002\u2298\u2299\u0007T\u0002", - "\u0002\u2299\u229a\u0007Q\u0002\u0002\u229a\u229b\u0007Q\u0002\u0002", - "\u229b\u229c\u0007V\u0002\u0002\u229c\u056c\u0003\u0002\u0002\u0002", - "\u229d\u229e\u0007T\u0002\u0002\u229e\u229f\u0007Q\u0002\u0002\u229f", - "\u22a0\u0007W\u0002\u0002\u22a0\u22a1\u0007V\u0002\u0002\u22a1\u22a2", - "\u0007G\u0002\u0002\u22a2\u056e\u0003\u0002\u0002\u0002\u22a3\u22a4", - "\u0007T\u0002\u0002\u22a4\u22a5\u0007Q\u0002\u0002\u22a5\u22a6\u0007", - "Y\u0002\u0002\u22a6\u0570\u0003\u0002\u0002\u0002\u22a7\u22a8\u0007", - "T\u0002\u0002\u22a8\u22a9\u0007Q\u0002\u0002\u22a9\u22aa\u0007Y\u0002", - "\u0002\u22aa\u22ab\u0007a\u0002\u0002\u22ab\u22ac\u0007P\u0002\u0002", - "\u22ac\u22ad\u0007W\u0002\u0002\u22ad\u22ae\u0007O\u0002\u0002\u22ae", - "\u22af\u0007D\u0002\u0002\u22af\u22b0\u0007G\u0002\u0002\u22b0\u22b1", - "\u0007T\u0002\u0002\u22b1\u0572\u0003\u0002\u0002\u0002\u22b2\u22b3", - "\u0007T\u0002\u0002\u22b3\u22b4\u0007Q\u0002\u0002\u22b4\u22b5\u0007", - "Y\u0002\u0002\u22b5\u22b6\u0007I\u0002\u0002\u22b6\u22b7\u0007W\u0002", - "\u0002\u22b7\u22b8\u0007K\u0002\u0002\u22b8\u22b9\u0007F\u0002\u0002", - "\u22b9\u0574\u0003\u0002\u0002\u0002\u22ba\u22bb\u0007T\u0002\u0002", - "\u22bb\u22bc\u0007Q\u0002\u0002\u22bc\u22bd\u0007Y\u0002\u0002\u22bd", - "\u22be\u0007U\u0002\u0002\u22be\u0576\u0003\u0002\u0002\u0002\u22bf", - "\u22c0\u0007U\u0002\u0002\u22c0\u22c1\u0007C\u0002\u0002\u22c1\u22c2", - "\u0007O\u0002\u0002\u22c2\u22c3\u0007R\u0002\u0002\u22c3\u22c4\u0007", - "N\u0002\u0002\u22c4\u22c5\u0007G\u0002\u0002\u22c5\u0578\u0003\u0002", - "\u0002\u0002\u22c6\u22c7\u0007U\u0002\u0002\u22c7\u22c8\u0007E\u0002", - "\u0002\u22c8\u22c9\u0007J\u0002\u0002\u22c9\u22ca\u0007G\u0002\u0002", - "\u22ca\u22cb\u0007O\u0002\u0002\u22cb\u22cc\u0007C\u0002\u0002\u22cc", - "\u22cd\u0007D\u0002\u0002\u22cd\u22ce\u0007K\u0002\u0002\u22ce\u22cf", - "\u0007P\u0002\u0002\u22cf\u22d0\u0007F\u0002\u0002\u22d0\u22d1\u0007", - "K\u0002\u0002\u22d1\u22d2\u0007P\u0002\u0002\u22d2\u22d3\u0007I\u0002", - "\u0002\u22d3\u057a\u0003\u0002\u0002\u0002\u22d4\u22d5\u0007U\u0002", - "\u0002\u22d5\u22d6\u0007E\u0002\u0002\u22d6\u22d7\u0007Q\u0002\u0002", - "\u22d7\u22d8\u0007R\u0002\u0002\u22d8\u22d9\u0007G\u0002\u0002\u22d9", - "\u22da\u0007F\u0002\u0002\u22da\u057c\u0003\u0002\u0002\u0002\u22db", - "\u22dc\u0007U\u0002\u0002\u22dc\u22dd\u0007E\u0002\u0002\u22dd\u22de", - "\u0007T\u0002\u0002\u22de\u22df\u0007Q\u0002\u0002\u22df\u22e0\u0007", - "N\u0002\u0002\u22e0\u22e1\u0007N\u0002\u0002\u22e1\u057e\u0003\u0002", - "\u0002\u0002\u22e2\u22e3\u0007U\u0002\u0002\u22e3\u22e4\u0007E\u0002", - "\u0002\u22e4\u22e5\u0007T\u0002\u0002\u22e5\u22e6\u0007Q\u0002\u0002", - "\u22e6\u22e7\u0007N\u0002\u0002\u22e7\u22e8\u0007N\u0002\u0002\u22e8", - "\u22e9\u0007a\u0002\u0002\u22e9\u22ea\u0007N\u0002\u0002\u22ea\u22eb", - "\u0007Q\u0002\u0002\u22eb\u22ec\u0007E\u0002\u0002\u22ec\u22ed\u0007", - "M\u0002\u0002\u22ed\u22ee\u0007U\u0002\u0002\u22ee\u0580\u0003\u0002", - "\u0002\u0002\u22ef\u22f0\u0007U\u0002\u0002\u22f0\u22f1\u0007G\u0002", - "\u0002\u22f1\u22f2\u0007C\u0002\u0002\u22f2\u22f3\u0007T\u0002\u0002", - "\u22f3\u22f4\u0007E\u0002\u0002\u22f4\u22f5\u0007J\u0002\u0002\u22f5", - "\u0582\u0003\u0002\u0002\u0002\u22f6\u22f7\u0007U\u0002\u0002\u22f7", - "\u22f8\u0007G\u0002\u0002\u22f8\u22f9\u0007E\u0002\u0002\u22f9\u22fa", - "\u0007Q\u0002\u0002\u22fa\u22fb\u0007P\u0002\u0002\u22fb\u22fc\u0007", - "F\u0002\u0002\u22fc\u22fd\u0007C\u0002\u0002\u22fd\u22fe\u0007T\u0002", - "\u0002\u22fe\u22ff\u0007[\u0002\u0002\u22ff\u0584\u0003\u0002\u0002", - "\u0002\u2300\u2301\u0007U\u0002\u0002\u2301\u2302\u0007G\u0002\u0002", - "\u2302\u2303\u0007E\u0002\u0002\u2303\u2304\u0007Q\u0002\u0002\u2304", - "\u2305\u0007P\u0002\u0002\u2305\u2306\u0007F\u0002\u0002\u2306\u2307", - "\u0007C\u0002\u0002\u2307\u2308\u0007T\u0002\u0002\u2308\u2309\u0007", - "[\u0002\u0002\u2309\u230a\u0007a\u0002\u0002\u230a\u230b\u0007Q\u0002", - "\u0002\u230b\u230c\u0007P\u0002\u0002\u230c\u230d\u0007N\u0002\u0002", - "\u230d\u230e\u0007[\u0002\u0002\u230e\u0586\u0003\u0002\u0002\u0002", - "\u230f\u2310\u0007U\u0002\u0002\u2310\u2311\u0007G\u0002\u0002\u2311", - "\u2312\u0007E\u0002\u0002\u2312\u2313\u0007Q\u0002\u0002\u2313\u2314", - "\u0007P\u0002\u0002\u2314\u2315\u0007F\u0002\u0002\u2315\u2316\u0007", - "C\u0002\u0002\u2316\u2317\u0007T\u0002\u0002\u2317\u2318\u0007[\u0002", - "\u0002\u2318\u2319\u0007a\u0002\u0002\u2319\u231a\u0007T\u0002\u0002", - "\u231a\u231b\u0007Q\u0002\u0002\u231b\u231c\u0007N\u0002\u0002\u231c", - "\u231d\u0007G\u0002\u0002\u231d\u0588\u0003\u0002\u0002\u0002\u231e", - "\u231f\u0007U\u0002\u0002\u231f\u2320\u0007G\u0002\u0002\u2320\u2321", - "\u0007E\u0002\u0002\u2321\u2322\u0007Q\u0002\u0002\u2322\u2323\u0007", - "P\u0002\u0002\u2323\u2324\u0007F\u0002\u0002\u2324\u2325\u0007U\u0002", - "\u0002\u2325\u058a\u0003\u0002\u0002\u0002\u2326\u2327\u0007U\u0002", - "\u0002\u2327\u2328\u0007G\u0002\u0002\u2328\u2329\u0007E\u0002\u0002", - "\u2329\u232a\u0007T\u0002\u0002\u232a\u232b\u0007G\u0002\u0002\u232b", - "\u232c\u0007V\u0002\u0002\u232c\u058c\u0003\u0002\u0002\u0002\u232d", - "\u232e\u0007U\u0002\u0002\u232e\u232f\u0007G\u0002\u0002\u232f\u2330", - "\u0007E\u0002\u0002\u2330\u2331\u0007W\u0002\u0002\u2331\u2332\u0007", - "T\u0002\u0002\u2332\u2333\u0007K\u0002\u0002\u2333\u2334\u0007V\u0002", - "\u0002\u2334\u2335\u0007[\u0002\u0002\u2335\u058e\u0003\u0002\u0002", - "\u0002\u2336\u2337\u0007U\u0002\u0002\u2337\u2338\u0007G\u0002\u0002", - "\u2338\u2339\u0007E\u0002\u0002\u2339\u233a\u0007W\u0002\u0002\u233a", - "\u233b\u0007T\u0002\u0002\u233b\u233c\u0007K\u0002\u0002\u233c\u233d", - "\u0007V\u0002\u0002\u233d\u233e\u0007[\u0002\u0002\u233e\u233f\u0007", - "a\u0002\u0002\u233f\u2340\u0007N\u0002\u0002\u2340\u2341\u0007Q\u0002", - "\u0002\u2341\u2342\u0007I\u0002\u0002\u2342\u0590\u0003\u0002\u0002", - "\u0002\u2343\u2344\u0007U\u0002\u0002\u2344\u2345\u0007G\u0002\u0002", - "\u2345\u2346\u0007G\u0002\u0002\u2346\u2347\u0007F\u0002\u0002\u2347", - "\u2348\u0007K\u0002\u0002\u2348\u2349\u0007P\u0002\u0002\u2349\u234a", - "\u0007I\u0002\u0002\u234a\u234b\u0007a\u0002\u0002\u234b\u234c\u0007", - "O\u0002\u0002\u234c\u234d\u0007Q\u0002\u0002\u234d\u234e\u0007F\u0002", - "\u0002\u234e\u234f\u0007G\u0002\u0002\u234f\u0592\u0003\u0002\u0002", - "\u0002\u2350\u2351\u0007U\u0002\u0002\u2351\u2352\u0007G\u0002\u0002", - "\u2352\u2353\u0007N\u0002\u0002\u2353\u2354\u0007H\u0002\u0002\u2354", - "\u0594\u0003\u0002\u0002\u0002\u2355\u2356\u0007U\u0002\u0002\u2356", - "\u2357\u0007G\u0002\u0002\u2357\u2358\u0007O\u0002\u0002\u2358\u2359", - "\u0007K\u0002\u0002\u2359\u235a\u0007a\u0002\u0002\u235a\u235b\u0007", - "U\u0002\u0002\u235b\u235c\u0007G\u0002\u0002\u235c\u235d\u0007P\u0002", - "\u0002\u235d\u235e\u0007U\u0002\u0002\u235e\u235f\u0007K\u0002\u0002", - "\u235f\u2360\u0007V\u0002\u0002\u2360\u2361\u0007K\u0002\u0002\u2361", - "\u2362\u0007X\u0002\u0002\u2362\u2363\u0007G\u0002\u0002\u2363\u0596", - "\u0003\u0002\u0002\u0002\u2364\u2365\u0007U\u0002\u0002\u2365\u2366", - "\u0007G\u0002\u0002\u2366\u2367\u0007P\u0002\u0002\u2367\u2368\u0007", - "F\u0002\u0002\u2368\u0598\u0003\u0002\u0002\u0002\u2369\u236a\u0007", - "U\u0002\u0002\u236a\u236b\u0007G\u0002\u0002\u236b\u236c\u0007P\u0002", - "\u0002\u236c\u236d\u0007V\u0002\u0002\u236d\u059a\u0003\u0002\u0002", - "\u0002\u236e\u236f\u0007U\u0002\u0002\u236f\u2370\u0007G\u0002\u0002", - "\u2370\u2371\u0007S\u0002\u0002\u2371\u2372\u0007W\u0002\u0002\u2372", - "\u2373\u0007G\u0002\u0002\u2373\u2374\u0007P\u0002\u0002\u2374\u2375", - "\u0007E\u0002\u0002\u2375\u2376\u0007G\u0002\u0002\u2376\u059c\u0003", - "\u0002\u0002\u0002\u2377\u2378\u0007U\u0002\u0002\u2378\u2379\u0007", - "G\u0002\u0002\u2379\u237a\u0007T\u0002\u0002\u237a\u237b\u0007K\u0002", - "\u0002\u237b\u237c\u0007C\u0002\u0002\u237c\u237d\u0007N\u0002\u0002", - "\u237d\u237e\u0007K\u0002\u0002\u237e\u237f\u0007\\\u0002\u0002\u237f", - "\u2380\u0007C\u0002\u0002\u2380\u2381\u0007D\u0002\u0002\u2381\u2382", - "\u0007N\u0002\u0002\u2382\u2383\u0007G\u0002\u0002\u2383\u059e\u0003", - "\u0002\u0002\u0002\u2384\u2385\u0007U\u0002\u0002\u2385\u2386\u0007", - "G\u0002\u0002\u2386\u2387\u0007U\u0002\u0002\u2387\u2388\u0007U\u0002", - "\u0002\u2388\u2389\u0007K\u0002\u0002\u2389\u238a\u0007Q\u0002\u0002", - "\u238a\u238b\u0007P\u0002\u0002\u238b\u238c\u0007a\u0002\u0002\u238c", - "\u238d\u0007V\u0002\u0002\u238d\u238e\u0007K\u0002\u0002\u238e\u238f", - "\u0007O\u0002\u0002\u238f\u2390\u0007G\u0002\u0002\u2390\u2391\u0007", - "Q\u0002\u0002\u2391\u2392\u0007W\u0002\u0002\u2392\u2393\u0007V\u0002", - "\u0002\u2393\u05a0\u0003\u0002\u0002\u0002\u2394\u2395\u0007U\u0002", - "\u0002\u2395\u2396\u0007G\u0002\u0002\u2396\u2397\u0007V\u0002\u0002", - "\u2397\u2398\u0007G\u0002\u0002\u2398\u2399\u0007T\u0002\u0002\u2399", - "\u239a\u0007T\u0002\u0002\u239a\u239b\u0007Q\u0002\u0002\u239b\u239c", - "\u0007T\u0002\u0002\u239c\u05a2\u0003\u0002\u0002\u0002\u239d\u239e", - "\u0007U\u0002\u0002\u239e\u239f\u0007J\u0002\u0002\u239f\u23a0\u0007", - "C\u0002\u0002\u23a0\u23a1\u0007T\u0002\u0002\u23a1\u23a2\u0007G\u0002", - "\u0002\u23a2\u05a4\u0003\u0002\u0002\u0002\u23a3\u23a4\u0007U\u0002", - "\u0002\u23a4\u23a5\u0007J\u0002\u0002\u23a5\u23a6\u0007Q\u0002\u0002", - "\u23a6\u23a7\u0007Y\u0002\u0002\u23a7\u23a8\u0007R\u0002\u0002\u23a8", - "\u23a9\u0007N\u0002\u0002\u23a9\u23aa\u0007C\u0002\u0002\u23aa\u23ab", - "\u0007P\u0002\u0002\u23ab\u05a6\u0003\u0002\u0002\u0002\u23ac\u23ad", - "\u0007U\u0002\u0002\u23ad\u23ae\u0007K\u0002\u0002\u23ae\u23af\u0007", - "I\u0002\u0002\u23af\u23b0\u0007P\u0002\u0002\u23b0\u23b1\u0007C\u0002", - "\u0002\u23b1\u23b2\u0007V\u0002\u0002\u23b2\u23b3\u0007W\u0002\u0002", - "\u23b3\u23b4\u0007T\u0002\u0002\u23b4\u23b5\u0007G\u0002\u0002\u23b5", - "\u05a8\u0003\u0002\u0002\u0002\u23b6\u23b7\u0007U\u0002\u0002\u23b7", - "\u23b8\u0007K\u0002\u0002\u23b8\u23b9\u0007O\u0002\u0002\u23b9\u23ba", - "\u0007R\u0002\u0002\u23ba\u23bb\u0007N\u0002\u0002\u23bb\u23bc\u0007", - "G\u0002\u0002\u23bc\u05aa\u0003\u0002\u0002\u0002\u23bd\u23be\u0007", - "U\u0002\u0002\u23be\u23bf\u0007K\u0002\u0002\u23bf\u23c0\u0007P\u0002", - "\u0002\u23c0\u23c1\u0007I\u0002\u0002\u23c1\u23c2\u0007N\u0002\u0002", - "\u23c2\u23c3\u0007G\u0002\u0002\u23c3\u23c4\u0007a\u0002\u0002\u23c4", - "\u23c5\u0007W\u0002\u0002\u23c5\u23c6\u0007U\u0002\u0002\u23c6\u23c7", - "\u0007G\u0002\u0002\u23c7\u23c8\u0007T\u0002\u0002\u23c8\u05ac\u0003", - "\u0002\u0002\u0002\u23c9\u23ca\u0007U\u0002\u0002\u23ca\u23cb\u0007", - "K\u0002\u0002\u23cb\u23cc\u0007\\\u0002\u0002\u23cc\u23cd\u0007G\u0002", - "\u0002\u23cd\u05ae\u0003\u0002\u0002\u0002\u23ce\u23cf\u0007U\u0002", - "\u0002\u23cf\u23d0\u0007O\u0002\u0002\u23d0\u23d1\u0007C\u0002\u0002", - "\u23d1\u23d2\u0007N\u0002\u0002\u23d2\u23d3\u0007N\u0002\u0002\u23d3", - "\u23d4\u0007K\u0002\u0002\u23d4\u23d5\u0007P\u0002\u0002\u23d5\u23d6", - "\u0007V\u0002\u0002\u23d6\u05b0\u0003\u0002\u0002\u0002\u23d7\u23d8", - "\u0007U\u0002\u0002\u23d8\u23d9\u0007P\u0002\u0002\u23d9\u23da\u0007", - "C\u0002\u0002\u23da\u23db\u0007R\u0002\u0002\u23db\u23dc\u0007U\u0002", - "\u0002\u23dc\u23dd\u0007J\u0002\u0002\u23dd\u23de\u0007Q\u0002\u0002", - "\u23de\u23df\u0007V\u0002\u0002\u23df\u05b2\u0003\u0002\u0002\u0002", - "\u23e0\u23e1\u0007U\u0002\u0002\u23e1\u23e2\u0007R\u0002\u0002\u23e2", - "\u23e3\u0007C\u0002\u0002\u23e3\u23e4\u0007V\u0002\u0002\u23e4\u23e5", - "\u0007K\u0002\u0002\u23e5\u23e6\u0007C\u0002\u0002\u23e6\u23e7\u0007", - "N\u0002\u0002\u23e7\u23e8\u0007a\u0002\u0002\u23e8\u23e9\u0007Y\u0002", - "\u0002\u23e9\u23ea\u0007K\u0002\u0002\u23ea\u23eb\u0007P\u0002\u0002", - "\u23eb\u23ec\u0007F\u0002\u0002\u23ec\u23ed\u0007Q\u0002\u0002\u23ed", - "\u23ee\u0007Y\u0002\u0002\u23ee\u23ef\u0007a\u0002\u0002\u23ef\u23f0", - "\u0007O\u0002\u0002\u23f0\u23f1\u0007C\u0002\u0002\u23f1\u23f2\u0007", - "Z\u0002\u0002\u23f2\u23f3\u0007a\u0002\u0002\u23f3\u23f4\u0007E\u0002", - "\u0002\u23f4\u23f5\u0007G\u0002\u0002\u23f5\u23f6\u0007N\u0002\u0002", - "\u23f6\u23f7\u0007N\u0002\u0002\u23f7\u23f8\u0007U\u0002\u0002\u23f8", - "\u05b4\u0003\u0002\u0002\u0002\u23f9\u23fa\u0007U\u0002\u0002\u23fa", - "\u23fb\u0007V\u0002\u0002\u23fb\u23fc\u0007C\u0002\u0002\u23fc\u23fd", - "\u0007P\u0002\u0002\u23fd\u23fe\u0007F\u0002\u0002\u23fe\u23ff\u0007", - "D\u0002\u0002\u23ff\u2400\u0007[\u0002\u0002\u2400\u05b6\u0003\u0002", - "\u0002\u0002\u2401\u2402\u0007U\u0002\u0002\u2402\u2403\u0007V\u0002", - "\u0002\u2403\u2404\u0007C\u0002\u0002\u2404\u2405\u0007T\u0002\u0002", - "\u2405\u2406\u0007V\u0002\u0002\u2406\u2407\u0007a\u0002\u0002\u2407", - "\u2408\u0007F\u0002\u0002\u2408\u2409\u0007C\u0002\u0002\u2409\u240a", - "\u0007V\u0002\u0002\u240a\u240b\u0007G\u0002\u0002\u240b\u05b8\u0003", - "\u0002\u0002\u0002\u240c\u240d\u0007U\u0002\u0002\u240d\u240e\u0007", - "V\u0002\u0002\u240e\u240f\u0007C\u0002\u0002\u240f\u2410\u0007V\u0002", - "\u0002\u2410\u2411\u0007K\u0002\u0002\u2411\u2412\u0007E\u0002\u0002", - "\u2412\u05ba\u0003\u0002\u0002\u0002\u2413\u2414\u0007U\u0002\u0002", - "\u2414\u2415\u0007V\u0002\u0002\u2415\u2416\u0007C\u0002\u0002\u2416", - "\u2417\u0007V\u0002\u0002\u2417\u2418\u0007U\u0002\u0002\u2418\u2419", - "\u0007a\u0002\u0002\u2419\u241a\u0007U\u0002\u0002\u241a\u241b\u0007", - "V\u0002\u0002\u241b\u241c\u0007T\u0002\u0002\u241c\u241d\u0007G\u0002", - "\u0002\u241d\u241e\u0007C\u0002\u0002\u241e\u241f\u0007O\u0002\u0002", - "\u241f\u05bc\u0003\u0002\u0002\u0002\u2420\u2421\u0007U\u0002\u0002", - "\u2421\u2422\u0007V\u0002\u0002\u2422\u2423\u0007C\u0002\u0002\u2423", - "\u2424\u0007V\u0002\u0002\u2424\u2425\u0007W\u0002\u0002\u2425\u2426", - "\u0007U\u0002\u0002\u2426\u05be\u0003\u0002\u0002\u0002\u2427\u2428", - "\u0007U\u0002\u0002\u2428\u2429\u0007V\u0002\u0002\u2429\u242a\u0007", - "C\u0002\u0002\u242a\u242b\u0007V\u0002\u0002\u242b\u242c\u0007W\u0002", - "\u0002\u242c\u242d\u0007U\u0002\u0002\u242d\u242e\u0007Q\u0002\u0002", - "\u242e\u242f\u0007P\u0002\u0002\u242f\u2430\u0007N\u0002\u0002\u2430", - "\u2431\u0007[\u0002\u0002\u2431\u05c0\u0003\u0002\u0002\u0002\u2432", - "\u2433\u0007U\u0002\u0002\u2433\u2434\u0007V\u0002\u0002\u2434\u2435", - "\u0007F\u0002\u0002\u2435\u2436\u0007G\u0002\u0002\u2436\u2437\u0007", - "X\u0002\u0002\u2437\u05c2\u0003\u0002\u0002\u0002\u2438\u2439\u0007", - "U\u0002\u0002\u2439\u243a\u0007V\u0002\u0002\u243a\u243b\u0007F\u0002", - "\u0002\u243b\u243c\u0007G\u0002\u0002\u243c\u243d\u0007X\u0002\u0002", - "\u243d\u243e\u0007R\u0002\u0002\u243e\u05c4\u0003\u0002\u0002\u0002", - "\u243f\u2440\u0007U\u0002\u0002\u2440\u2441\u0007V\u0002\u0002\u2441", - "\u2442\u0007Q\u0002\u0002\u2442\u2443\u0007R\u0002\u0002\u2443\u2444", - "\u0007N\u0002\u0002\u2444\u2445\u0007K\u0002\u0002\u2445\u2446\u0007", - "U\u0002\u0002\u2446\u2447\u0007V\u0002\u0002\u2447\u05c6\u0003\u0002", - "\u0002\u0002\u2448\u2449\u0007U\u0002\u0002\u2449\u244a\u0007V\u0002", - "\u0002\u244a\u244b\u0007T\u0002\u0002\u244b\u244c\u0007K\u0002\u0002", - "\u244c\u244d\u0007P\u0002\u0002\u244d\u244e\u0007I\u0002\u0002\u244e", - "\u244f\u0007a\u0002\u0002\u244f\u2450\u0007C\u0002\u0002\u2450\u2451", - "\u0007I\u0002\u0002\u2451\u2452\u0007I\u0002\u0002\u2452\u05c8\u0003", - "\u0002\u0002\u0002\u2453\u2454\u0007U\u0002\u0002\u2454\u2455\u0007", - "V\u0002\u0002\u2455\u2456\u0007W\u0002\u0002\u2456\u2457\u0007H\u0002", - "\u0002\u2457\u2458\u0007H\u0002\u0002\u2458\u05ca\u0003\u0002\u0002", - "\u0002\u2459\u245a\u0007U\u0002\u0002\u245a\u245b\u0007W\u0002\u0002", - "\u245b\u245c\u0007D\u0002\u0002\u245c\u245d\u0007L\u0002\u0002\u245d", - "\u245e\u0007G\u0002\u0002\u245e\u245f\u0007E\u0002\u0002\u245f\u2460", - "\u0007V\u0002\u0002\u2460\u05cc\u0003\u0002\u0002\u0002\u2461\u2462", - "\u0007U\u0002\u0002\u2462\u2463\u0007W\u0002\u0002\u2463\u2464\u0007", - "D\u0002\u0002\u2464\u2465\u0007U\u0002\u0002\u2465\u2466\u0007E\u0002", - "\u0002\u2466\u2467\u0007T\u0002\u0002\u2467\u2468\u0007K\u0002\u0002", - "\u2468\u2469\u0007R\u0002\u0002\u2469\u246a\u0007V\u0002\u0002\u246a", - "\u246b\u0007K\u0002\u0002\u246b\u246c\u0007Q\u0002\u0002\u246c\u246d", - "\u0007P\u0002\u0002\u246d\u05ce\u0003\u0002\u0002\u0002\u246e\u246f", - "\u0007U\u0002\u0002\u246f\u2470\u0007W\u0002\u0002\u2470\u2471\u0007", - "O\u0002\u0002\u2471\u05d0\u0003\u0002\u0002\u0002\u2472\u2473\u0007", - "U\u0002\u0002\u2473\u2474\u0007W\u0002\u0002\u2474\u2475\u0007U\u0002", - "\u0002\u2475\u2476\u0007R\u0002\u0002\u2476\u2477\u0007G\u0002\u0002", - "\u2477\u2478\u0007P\u0002\u0002\u2478\u2479\u0007F\u0002\u0002\u2479", - "\u05d2\u0003\u0002\u0002\u0002\u247a\u247b\u0007U\u0002\u0002\u247b", - "\u247c\u0007[\u0002\u0002\u247c\u247d\u0007O\u0002\u0002\u247d\u247e", - "\u0007O\u0002\u0002\u247e\u247f\u0007G\u0002\u0002\u247f\u2480\u0007", - "V\u0002\u0002\u2480\u2481\u0007T\u0002\u0002\u2481\u2482\u0007K\u0002", - "\u0002\u2482\u2483\u0007E\u0002\u0002\u2483\u05d4\u0003\u0002\u0002", - "\u0002\u2484\u2485\u0007U\u0002\u0002\u2485\u2486\u0007[\u0002\u0002", - "\u2486\u2487\u0007P\u0002\u0002\u2487\u2488\u0007E\u0002\u0002\u2488", - "\u2489\u0007J\u0002\u0002\u2489\u248a\u0007T\u0002\u0002\u248a\u248b", - "\u0007Q\u0002\u0002\u248b\u248c\u0007P\u0002\u0002\u248c\u248d\u0007", - "Q\u0002\u0002\u248d\u248e\u0007W\u0002\u0002\u248e\u248f\u0007U\u0002", - "\u0002\u248f\u2490\u0007a\u0002\u0002\u2490\u2491\u0007E\u0002\u0002", - "\u2491\u2492\u0007Q\u0002\u0002\u2492\u2493\u0007O\u0002\u0002\u2493", - "\u2494\u0007O\u0002\u0002\u2494\u2495\u0007K\u0002\u0002\u2495\u2496", - "\u0007V\u0002\u0002\u2496\u05d6\u0003\u0002\u0002\u0002\u2497\u2498", - "\u0007U\u0002\u0002\u2498\u2499\u0007[\u0002\u0002\u2499\u249a\u0007", - "P\u0002\u0002\u249a\u249b\u0007Q\u0002\u0002\u249b\u249c\u0007P\u0002", - "\u0002\u249c\u249d\u0007[\u0002\u0002\u249d\u249e\u0007O\u0002\u0002", - "\u249e\u05d8\u0003\u0002\u0002\u0002\u249f\u24a0\u0007U\u0002\u0002", - "\u24a0\u24a1\u0007[\u0002\u0002\u24a1\u24a2\u0007U\u0002\u0002\u24a2", - "\u24a3\u0007V\u0002\u0002\u24a3\u24a4\u0007G\u0002\u0002\u24a4\u24a5", - "\u0007O\u0002\u0002\u24a5\u05da\u0003\u0002\u0002\u0002\u24a6\u24a7", - "\u0007V\u0002\u0002\u24a7\u24a8\u0007C\u0002\u0002\u24a8\u24a9\u0007", - "M\u0002\u0002\u24a9\u24aa\u0007G\u0002\u0002\u24aa\u05dc\u0003\u0002", - "\u0002\u0002\u24ab\u24ac\u0007V\u0002\u0002\u24ac\u24ad\u0007C\u0002", - "\u0002\u24ad\u24ae\u0007T\u0002\u0002\u24ae\u24af\u0007I\u0002\u0002", - "\u24af\u24b0\u0007G\u0002\u0002\u24b0\u24b1\u0007V\u0002\u0002\u24b1", - "\u24b2\u0007a\u0002\u0002\u24b2\u24b3\u0007T\u0002\u0002\u24b3\u24b4", - "\u0007G\u0002\u0002\u24b4\u24b5\u0007E\u0002\u0002\u24b5\u24b6\u0007", - "Q\u0002\u0002\u24b6\u24b7\u0007X\u0002\u0002\u24b7\u24b8\u0007G\u0002", - "\u0002\u24b8\u24b9\u0007T\u0002\u0002\u24b9\u24ba\u0007[\u0002\u0002", - "\u24ba\u24bb\u0007a\u0002\u0002\u24bb\u24bc\u0007V\u0002\u0002\u24bc", - "\u24bd\u0007K\u0002\u0002\u24bd\u24be\u0007O\u0002\u0002\u24be\u24bf", - "\u0007G\u0002\u0002\u24bf\u05de\u0003\u0002\u0002\u0002\u24c0\u24c1", - "\u0007V\u0002\u0002\u24c1\u24c2\u0007D\u0002\u0002\u24c2\u05e0\u0003", - "\u0002\u0002\u0002\u24c3\u24c4\u0007V\u0002\u0002\u24c4\u24c5\u0007", - "G\u0002\u0002\u24c5\u24c6\u0007Z\u0002\u0002\u24c6\u24c7\u0007V\u0002", - "\u0002\u24c7\u24c8\u0007K\u0002\u0002\u24c8\u24c9\u0007O\u0002\u0002", - "\u24c9\u24ca\u0007C\u0002\u0002\u24ca\u24cb\u0007I\u0002\u0002\u24cb", - "\u24cc\u0007G\u0002\u0002\u24cc\u24cd\u0007a\u0002\u0002\u24cd\u24ce", - "\u0007Q\u0002\u0002\u24ce\u24cf\u0007P\u0002\u0002\u24cf\u05e2\u0003", - "\u0002\u0002\u0002\u24d0\u24d1\u0007V\u0002\u0002\u24d1\u24d2\u0007", - "J\u0002\u0002\u24d2\u24d3\u0007T\u0002\u0002\u24d3\u24d4\u0007Q\u0002", - "\u0002\u24d4\u24d5\u0007Y\u0002\u0002\u24d5\u05e4\u0003\u0002\u0002", - "\u0002\u24d6\u24d7\u0007V\u0002\u0002\u24d7\u24d8\u0007K\u0002\u0002", - "\u24d8\u24d9\u0007G\u0002\u0002\u24d9\u24da\u0007U\u0002\u0002\u24da", - "\u05e6\u0003\u0002\u0002\u0002\u24db\u24dc\u0007V\u0002\u0002\u24dc", - "\u24dd\u0007K\u0002\u0002\u24dd\u24de\u0007O\u0002\u0002\u24de\u24df", - "\u0007G\u0002\u0002\u24df\u05e8\u0003\u0002\u0002\u0002\u24e0\u24e1", - "\u0007V\u0002\u0002\u24e1\u24e2\u0007K\u0002\u0002\u24e2\u24e3\u0007", - "O\u0002\u0002\u24e3\u24e4\u0007G\u0002\u0002\u24e4\u24e5\u0007Q\u0002", - "\u0002\u24e5\u24e6\u0007W\u0002\u0002\u24e6\u24e7\u0007V\u0002\u0002", - "\u24e7\u05ea\u0003\u0002\u0002\u0002\u24e8\u24e9\u0007V\u0002\u0002", - "\u24e9\u24ea\u0007K\u0002\u0002\u24ea\u24eb\u0007O\u0002\u0002\u24eb", - "\u24ec\u0007G\u0002\u0002\u24ec\u24ed\u0007T\u0002\u0002\u24ed\u05ec", - "\u0003\u0002\u0002\u0002\u24ee\u24ef\u0007V\u0002\u0002\u24ef\u24f0", - "\u0007K\u0002\u0002\u24f0\u24f1\u0007P\u0002\u0002\u24f1\u24f2\u0007", - "[\u0002\u0002\u24f2\u24f3\u0007K\u0002\u0002\u24f3\u24f4\u0007P\u0002", - "\u0002\u24f4\u24f5\u0007V\u0002\u0002\u24f5\u05ee\u0003\u0002\u0002", - "\u0002\u24f6\u24f7\u0007V\u0002\u0002\u24f7\u24f8\u0007Q\u0002\u0002", - "\u24f8\u24f9\u0007T\u0002\u0002\u24f9\u24fa\u0007P\u0002\u0002\u24fa", - "\u24fb\u0007a\u0002\u0002\u24fb\u24fc\u0007R\u0002\u0002\u24fc\u24fd", - "\u0007C\u0002\u0002\u24fd\u24fe\u0007I\u0002\u0002\u24fe\u24ff\u0007", - "G\u0002\u0002\u24ff\u2500\u0007a\u0002\u0002\u2500\u2501\u0007F\u0002", - "\u0002\u2501\u2502\u0007G\u0002\u0002\u2502\u2503\u0007V\u0002\u0002", - "\u2503\u2504\u0007G\u0002\u0002\u2504\u2505\u0007E\u0002\u0002\u2505", - "\u2506\u0007V\u0002\u0002\u2506\u2507\u0007K\u0002\u0002\u2507\u2508", - "\u0007Q\u0002\u0002\u2508\u2509\u0007P\u0002\u0002\u2509\u05f0\u0003", - "\u0002\u0002\u0002\u250a\u250b\u0007V\u0002\u0002\u250b\u250c\u0007", - "T\u0002\u0002\u250c\u250d\u0007C\u0002\u0002\u250d\u250e\u0007P\u0002", - "\u0002\u250e\u250f\u0007U\u0002\u0002\u250f\u2510\u0007H\u0002\u0002", - "\u2510\u2511\u0007Q\u0002\u0002\u2511\u2512\u0007T\u0002\u0002\u2512", - "\u2513\u0007O\u0002\u0002\u2513\u2514\u0007a\u0002\u0002\u2514\u2515", - "\u0007P\u0002\u0002\u2515\u2516\u0007Q\u0002\u0002\u2516\u2517\u0007", - "K\u0002\u0002\u2517\u2518\u0007U\u0002\u0002\u2518\u2519\u0007G\u0002", - "\u0002\u2519\u251a\u0007a\u0002\u0002\u251a\u251b\u0007Y\u0002\u0002", - "\u251b\u251c\u0007Q\u0002\u0002\u251c\u251d\u0007T\u0002\u0002\u251d", - "\u251e\u0007F\u0002\u0002\u251e\u251f\u0007U\u0002\u0002\u251f\u05f2", - "\u0003\u0002\u0002\u0002\u2520\u2521\u0007V\u0002\u0002\u2521\u2522", - "\u0007T\u0002\u0002\u2522\u2523\u0007K\u0002\u0002\u2523\u2524\u0007", - "R\u0002\u0002\u2524\u2525\u0007N\u0002\u0002\u2525\u2526\u0007G\u0002", - "\u0002\u2526\u2527\u0007a\u0002\u0002\u2527\u2528\u0007F\u0002\u0002", - "\u2528\u2529\u0007G\u0002\u0002\u2529\u252a\u0007U\u0002\u0002\u252a", - "\u05f4\u0003\u0002\u0002\u0002\u252b\u252c\u0007V\u0002\u0002\u252c", - "\u252d\u0007T\u0002\u0002\u252d\u252e\u0007K\u0002\u0002\u252e\u252f", - "\u0007R\u0002\u0002\u252f\u2530\u0007N\u0002\u0002\u2530\u2531\u0007", - "G\u0002\u0002\u2531\u2532\u0007a\u0002\u0002\u2532\u2533\u0007F\u0002", - "\u0002\u2533\u2534\u0007G\u0002\u0002\u2534\u2535\u0007U\u0002\u0002", - "\u2535\u2536\u0007a\u0002\u0002\u2536\u2537\u00075\u0002\u0002\u2537", - "\u2538\u0007M\u0002\u0002\u2538\u2539\u0007G\u0002\u0002\u2539\u253a", - "\u0007[\u0002\u0002\u253a\u05f6\u0003\u0002\u0002\u0002\u253b\u253c", - "\u0007V\u0002\u0002\u253c\u253d\u0007T\u0002\u0002\u253d\u253e\u0007", - "W\u0002\u0002\u253e\u253f\u0007U\u0002\u0002\u253f\u2540\u0007V\u0002", - "\u0002\u2540\u2541\u0007Y\u0002\u0002\u2541\u2542\u0007Q\u0002\u0002", - "\u2542\u2543\u0007T\u0002\u0002\u2543\u2544\u0007V\u0002\u0002\u2544", - "\u2545\u0007J\u0002\u0002\u2545\u2546\u0007[\u0002\u0002\u2546\u05f8", - "\u0003\u0002\u0002\u0002\u2547\u2548\u0007V\u0002\u0002\u2548\u2549", - "\u0007T\u0002\u0002\u2549\u254a\u0007[\u0002\u0002\u254a\u05fa\u0003", - "\u0002\u0002\u0002\u254b\u254c\u0007V\u0002\u0002\u254c\u254d\u0007", - "U\u0002\u0002\u254d\u254e\u0007S\u0002\u0002\u254e\u254f\u0007N\u0002", - "\u0002\u254f\u05fc\u0003\u0002\u0002\u0002\u2550\u2551\u0007V\u0002", - "\u0002\u2551\u2552\u0007Y\u0002\u0002\u2552\u2553\u0007Q\u0002\u0002", - "\u2553\u2554\u0007a\u0002\u0002\u2554\u2555\u0007F\u0002\u0002\u2555", - "\u2556\u0007K\u0002\u0002\u2556\u2557\u0007I\u0002\u0002\u2557\u2558", - "\u0007K\u0002\u0002\u2558\u2559\u0007V\u0002\u0002\u2559\u255a\u0007", - "a\u0002\u0002\u255a\u255b\u0007[\u0002\u0002\u255b\u255c\u0007G\u0002", - "\u0002\u255c\u255d\u0007C\u0002\u0002\u255d\u255e\u0007T\u0002\u0002", - "\u255e\u255f\u0007a\u0002\u0002\u255f\u2560\u0007E\u0002\u0002\u2560", - "\u2561\u0007W\u0002\u0002\u2561\u2562\u0007V\u0002\u0002\u2562\u2563", - "\u0007Q\u0002\u0002\u2563\u2564\u0007H\u0002\u0002\u2564\u2565\u0007", - "H\u0002\u0002\u2565\u05fe\u0003\u0002\u0002\u0002\u2566\u2567\u0007", - "V\u0002\u0002\u2567\u2568\u0007[\u0002\u0002\u2568\u2569\u0007R\u0002", - "\u0002\u2569\u256a\u0007G\u0002\u0002\u256a\u0600\u0003\u0002\u0002", - "\u0002\u256b\u256c\u0007V\u0002\u0002\u256c\u256d\u0007[\u0002\u0002", - "\u256d\u256e\u0007R\u0002\u0002\u256e\u256f\u0007G\u0002\u0002\u256f", - "\u2570\u0007a\u0002\u0002\u2570\u2571\u0007Y\u0002\u0002\u2571\u2572", - "\u0007C\u0002\u0002\u2572\u2573\u0007T\u0002\u0002\u2573\u2574\u0007", - "P\u0002\u0002\u2574\u2575\u0007K\u0002\u0002\u2575\u2576\u0007P\u0002", - "\u0002\u2576\u2577\u0007I\u0002\u0002\u2577\u0602\u0003\u0002\u0002", - "\u0002\u2578\u2579\u0007W\u0002\u0002\u2579\u257a\u0007P\u0002\u0002", - "\u257a\u257b\u0007D\u0002\u0002\u257b\u257c\u0007Q\u0002\u0002\u257c", - "\u257d\u0007W\u0002\u0002\u257d\u257e\u0007P\u0002\u0002\u257e\u257f", - "\u0007F\u0002\u0002\u257f\u2580\u0007G\u0002\u0002\u2580\u2581\u0007", - "F\u0002\u0002\u2581\u0604\u0003\u0002\u0002\u0002\u2582\u2583\u0007", - "W\u0002\u0002\u2583\u2584\u0007P\u0002\u0002\u2584\u2585\u0007E\u0002", - "\u0002\u2585\u2586\u0007Q\u0002\u0002\u2586\u2587\u0007O\u0002\u0002", - "\u2587\u2588\u0007O\u0002\u0002\u2588\u2589\u0007K\u0002\u0002\u2589", - "\u258a\u0007V\u0002\u0002\u258a\u258b\u0007V\u0002\u0002\u258b\u258c", - "\u0007G\u0002\u0002\u258c\u258d\u0007F\u0002\u0002\u258d\u0606\u0003", - "\u0002\u0002\u0002\u258e\u258f\u0007W\u0002\u0002\u258f\u2590\u0007", - "P\u0002\u0002\u2590\u2591\u0007M\u0002\u0002\u2591\u2592\u0007P\u0002", - "\u0002\u2592\u2593\u0007Q\u0002\u0002\u2593\u2594\u0007Y\u0002\u0002", - "\u2594\u2595\u0007P\u0002\u0002\u2595\u0608\u0003\u0002\u0002\u0002", - "\u2596\u2597\u0007W\u0002\u0002\u2597\u2598\u0007P\u0002\u0002\u2598", - "\u2599\u0007N\u0002\u0002\u2599\u259a\u0007K\u0002\u0002\u259a\u259b", - "\u0007O\u0002\u0002\u259b\u259c\u0007K\u0002\u0002\u259c\u259d\u0007", - "V\u0002\u0002\u259d\u259e\u0007G\u0002\u0002\u259e\u259f\u0007F\u0002", - "\u0002\u259f\u060a\u0003\u0002\u0002\u0002\u25a0\u25a1\u0007W\u0002", - "\u0002\u25a1\u25a2\u0007Q\u0002\u0002\u25a2\u25a3\u0007Y\u0002\u0002", - "\u25a3\u060c\u0003\u0002\u0002\u0002\u25a4\u25a5\u0007W\u0002\u0002", - "\u25a5\u25a6\u0007U\u0002\u0002\u25a6\u25a7\u0007K\u0002\u0002\u25a7", - "\u25a8\u0007P\u0002\u0002\u25a8\u25a9\u0007I\u0002\u0002\u25a9\u060e", - "\u0003\u0002\u0002\u0002\u25aa\u25ab\u0007X\u0002\u0002\u25ab\u25ac", - "\u0007C\u0002\u0002\u25ac\u25ad\u0007N\u0002\u0002\u25ad\u25ae\u0007", - "K\u0002\u0002\u25ae\u25af\u0007F\u0002\u0002\u25af\u25b0\u0007a\u0002", - "\u0002\u25b0\u25b1\u0007Z\u0002\u0002\u25b1\u25b2\u0007O\u0002\u0002", - "\u25b2\u25b3\u0007N\u0002\u0002\u25b3\u0610\u0003\u0002\u0002\u0002", - "\u25b4\u25b5\u0007X\u0002\u0002\u25b5\u25b6\u0007C\u0002\u0002\u25b6", - "\u25b7\u0007N\u0002\u0002\u25b7\u25b8\u0007K\u0002\u0002\u25b8\u25b9", - "\u0007F\u0002\u0002\u25b9\u25ba\u0007C\u0002\u0002\u25ba\u25bb\u0007", - "V\u0002\u0002\u25bb\u25bc\u0007K\u0002\u0002\u25bc\u25bd\u0007Q\u0002", - "\u0002\u25bd\u25be\u0007P\u0002\u0002\u25be\u0612\u0003\u0002\u0002", - "\u0002\u25bf\u25c0\u0007X\u0002\u0002\u25c0\u25c1\u0007C\u0002\u0002", - "\u25c1\u25c2\u0007N\u0002\u0002\u25c2\u25c3\u0007W\u0002\u0002\u25c3", - "\u25c4\u0007G\u0002\u0002\u25c4\u0614\u0003\u0002\u0002\u0002\u25c5", - "\u25c6\u0007X\u0002\u0002\u25c6\u25c7\u0007C\u0002\u0002\u25c7\u25c8", - "\u0007T\u0002\u0002\u25c8\u0616\u0003\u0002\u0002\u0002\u25c9\u25ca", - "\u0007X\u0002\u0002\u25ca\u25cb\u0007C\u0002\u0002\u25cb\u25cc\u0007", - "T\u0002\u0002\u25cc\u25cd\u0007R\u0002\u0002\u25cd\u0618\u0003\u0002", - "\u0002\u0002\u25ce\u25cf\u0007X\u0002\u0002\u25cf\u25d0\u0007K\u0002", - "\u0002\u25d0\u25d1\u0007G\u0002\u0002\u25d1\u25d2\u0007Y\u0002\u0002", - "\u25d2\u25d3\u0007a\u0002\u0002\u25d3\u25d4\u0007O\u0002\u0002\u25d4", - "\u25d5\u0007G\u0002\u0002\u25d5\u25d6\u0007V\u0002\u0002\u25d6\u25d7", - "\u0007C\u0002\u0002\u25d7\u25d8\u0007F\u0002\u0002\u25d8\u25d9\u0007", - "C\u0002\u0002\u25d9\u25da\u0007V\u0002\u0002\u25da\u25db\u0007C\u0002", - "\u0002\u25db\u061a\u0003\u0002\u0002\u0002\u25dc\u25dd\u0007X\u0002", - "\u0002\u25dd\u25de\u0007K\u0002\u0002\u25de\u25df\u0007G\u0002\u0002", - "\u25df\u25e0\u0007Y\u0002\u0002\u25e0\u25e1\u0007U\u0002\u0002\u25e1", - "\u061c\u0003\u0002\u0002\u0002\u25e2\u25e3\u0007Y\u0002\u0002\u25e3", - "\u25e4\u0007C\u0002\u0002\u25e4\u25e5\u0007K\u0002\u0002\u25e5\u25e6", - "\u0007V\u0002\u0002\u25e6\u061e\u0003\u0002\u0002\u0002\u25e7\u25e8", - "\u0007Y\u0002\u0002\u25e8\u25e9\u0007G\u0002\u0002\u25e9\u25ea\u0007", - "N\u0002\u0002\u25ea\u25eb\u0007N\u0002\u0002\u25eb\u25ec\u0007a\u0002", - "\u0002\u25ec\u25ed\u0007H\u0002\u0002\u25ed\u25ee\u0007Q\u0002\u0002", - "\u25ee\u25ef\u0007T\u0002\u0002\u25ef\u25f0\u0007O\u0002\u0002\u25f0", - "\u25f1\u0007G\u0002\u0002\u25f1\u25f2\u0007F\u0002\u0002\u25f2\u25f3", - "\u0007a\u0002\u0002\u25f3\u25f4\u0007Z\u0002\u0002\u25f4\u25f5\u0007", - "O\u0002\u0002\u25f5\u25f6\u0007N\u0002\u0002\u25f6\u0620\u0003\u0002", - "\u0002\u0002\u25f7\u25f8\u0007Y\u0002\u0002\u25f8\u25f9\u0007K\u0002", - "\u0002\u25f9\u25fa\u0007V\u0002\u0002\u25fa\u25fb\u0007J\u0002\u0002", - "\u25fb\u25fc\u0007Q\u0002\u0002\u25fc\u25fd\u0007W\u0002\u0002\u25fd", - "\u25fe\u0007V\u0002\u0002\u25fe\u25ff\u0007a\u0002\u0002\u25ff\u2600", - "\u0007C\u0002\u0002\u2600\u2601\u0007T\u0002\u0002\u2601\u2602\u0007", - "T\u0002\u0002\u2602\u2603\u0007C\u0002\u0002\u2603\u2604\u0007[\u0002", - "\u0002\u2604\u2605\u0007a\u0002\u0002\u2605\u2606\u0007Y\u0002\u0002", - "\u2606\u2607\u0007T\u0002\u0002\u2607\u2608\u0007C\u0002\u0002\u2608", - "\u2609\u0007R\u0002\u0002\u2609\u260a\u0007R\u0002\u0002\u260a\u260b", - "\u0007G\u0002\u0002\u260b\u260c\u0007T\u0002\u0002\u260c\u0622\u0003", - "\u0002\u0002\u0002\u260d\u260e\u0007Y\u0002\u0002\u260e\u260f\u0007", - "Q\u0002\u0002\u260f\u2610\u0007T\u0002\u0002\u2610\u2611\u0007M\u0002", - "\u0002\u2611\u0624\u0003\u0002\u0002\u0002\u2612\u2613\u0007Y\u0002", - "\u0002\u2613\u2614\u0007Q\u0002\u0002\u2614\u2615\u0007T\u0002\u0002", - "\u2615\u2616\u0007M\u0002\u0002\u2616\u2617\u0007N\u0002\u0002\u2617", - "\u2618\u0007Q\u0002\u0002\u2618\u2619\u0007C\u0002\u0002\u2619\u261a", - "\u0007F\u0002\u0002\u261a\u0626\u0003\u0002\u0002\u0002\u261b\u261c", - "\u0007Z\u0002\u0002\u261c\u261d\u0007O\u0002\u0002\u261d\u261e\u0007", - "N\u0002\u0002\u261e\u0628\u0003\u0002\u0002\u0002\u261f\u2620\u0007", - "Z\u0002\u0002\u2620\u2621\u0007O\u0002\u0002\u2621\u2622\u0007N\u0002", - "\u0002\u2622\u2623\u0007F\u0002\u0002\u2623\u2624\u0007C\u0002\u0002", - "\u2624\u2625\u0007V\u0002\u0002\u2625\u2626\u0007C\u0002\u0002\u2626", - "\u062a\u0003\u0002\u0002\u0002\u2627\u2628\u0007Z\u0002\u0002\u2628", - "\u2629\u0007O\u0002\u0002\u2629\u262a\u0007N\u0002\u0002\u262a\u262b", - "\u0007P\u0002\u0002\u262b\u262c\u0007C\u0002\u0002\u262c\u262d\u0007", - "O\u0002\u0002\u262d\u262e\u0007G\u0002\u0002\u262e\u262f\u0007U\u0002", - "\u0002\u262f\u2630\u0007R\u0002\u0002\u2630\u2631\u0007C\u0002\u0002", - "\u2631\u2632\u0007E\u0002\u0002\u2632\u2633\u0007G\u0002\u0002\u2633", - "\u2634\u0007U\u0002\u0002\u2634\u062c\u0003\u0002\u0002\u0002\u2635", - "\u2636\u0007Z\u0002\u0002\u2636\u2637\u0007O\u0002\u0002\u2637\u2638", - "\u0007N\u0002\u0002\u2638\u2639\u0007U\u0002\u0002\u2639\u263a\u0007", - "E\u0002\u0002\u263a\u263b\u0007J\u0002\u0002\u263b\u263c\u0007G\u0002", - "\u0002\u263c\u263d\u0007O\u0002\u0002\u263d\u263e\u0007C\u0002\u0002", - "\u263e\u062e\u0003\u0002\u0002\u0002\u263f\u2640\u0007Z\u0002\u0002", - "\u2640\u2641\u0007U\u0002\u0002\u2641\u2642\u0007K\u0002\u0002\u2642", - "\u2643\u0007P\u0002\u0002\u2643\u2644\u0007K\u0002\u0002\u2644\u2645", - "\u0007N\u0002\u0002\u2645\u0630\u0003\u0002\u0002\u0002\u2646\u2647", - "\u0007&\u0002\u0002\u2647\u2648\u0007C\u0002\u0002\u2648\u2649\u0007", - "E\u0002\u0002\u2649\u264a\u0007V\u0002\u0002\u264a\u264b\u0007K\u0002", - "\u0002\u264b\u264c\u0007Q\u0002\u0002\u264c\u264d\u0007P\u0002\u0002", - "\u264d\u0632\u0003\u0002\u0002\u0002\u264e\u2650\t\u0007\u0002\u0002", - "\u264f\u264e\u0003\u0002\u0002\u0002\u2650\u2651\u0003\u0002\u0002\u0002", - "\u2651\u264f\u0003\u0002\u0002\u0002\u2651\u2652\u0003\u0002\u0002\u0002", - "\u2652\u2653\u0003\u0002\u0002\u0002\u2653\u2654\b\u031a\u0002\u0002", - "\u2654\u0634\u0003\u0002\u0002\u0002\u2655\u2656\u00071\u0002\u0002", - "\u2656\u2657\u0007,\u0002\u0002\u2657\u265c\u0003\u0002\u0002\u0002", - "\u2658\u265b\u0005\u0635\u031b\u0002\u2659\u265b\u000b\u0002\u0002\u0002", - "\u265a\u2658\u0003\u0002\u0002\u0002\u265a\u2659\u0003\u0002\u0002\u0002", - "\u265b\u265e\u0003\u0002\u0002\u0002\u265c\u265d\u0003\u0002\u0002\u0002", - "\u265c\u265a\u0003\u0002\u0002\u0002\u265d\u265f\u0003\u0002\u0002\u0002", - "\u265e\u265c\u0003\u0002\u0002\u0002\u265f\u2660\u0007,\u0002\u0002", - "\u2660\u2661\u00071\u0002\u0002\u2661\u2662\u0003\u0002\u0002\u0002", - "\u2662\u2663\b\u031b\u0003\u0002\u2663\u0636\u0003\u0002\u0002\u0002", - "\u2664\u2665\u0007/\u0002\u0002\u2665\u2666\u0007/\u0002\u0002\u2666", - "\u266a\u0003\u0002\u0002\u0002\u2667\u2669\n\b\u0002\u0002\u2668\u2667", - "\u0003\u0002\u0002\u0002\u2669\u266c\u0003\u0002\u0002\u0002\u266a\u2668", - "\u0003\u0002\u0002\u0002\u266a\u266b\u0003\u0002\u0002\u0002\u266b\u266d", - "\u0003\u0002\u0002\u0002\u266c\u266a\u0003\u0002\u0002\u0002\u266d\u266e", - "\b\u031c\u0003\u0002\u266e\u0638\u0003\u0002\u0002\u0002\u266f\u2671", - "\u0007$\u0002\u0002\u2670\u2672\n\u0005\u0002\u0002\u2671\u2670\u0003", - "\u0002\u0002\u0002\u2672\u2673\u0003\u0002\u0002\u0002\u2673\u2671\u0003", - "\u0002\u0002\u0002\u2673\u2674\u0003\u0002\u0002\u0002\u2674\u2675\u0003", - "\u0002\u0002\u0002\u2675\u2676\u0007$\u0002\u0002\u2676\u063a\u0003", - "\u0002\u0002\u0002\u2677\u2678\u0007)\u0002\u0002\u2678\u063c\u0003", - "\u0002\u0002\u0002\u2679\u267b\u0007]\u0002\u0002\u267a\u267c\n\t\u0002", - "\u0002\u267b\u267a\u0003\u0002\u0002\u0002\u267c\u267d\u0003\u0002\u0002", - "\u0002\u267d\u267b\u0003\u0002\u0002\u0002\u267d\u267e\u0003\u0002\u0002", - "\u0002\u267e\u267f\u0003\u0002\u0002\u0002\u267f\u2680\u0007_\u0002", - "\u0002\u2680\u063e\u0003\u0002\u0002\u0002\u2681\u2684\u0007B\u0002", - "\u0002\u2682\u2685\t\n\u0002\u0002\u2683\u2685\u0005\u069d\u034f\u0002", - "\u2684\u2682\u0003\u0002\u0002\u0002\u2684\u2683\u0003\u0002\u0002\u0002", - "\u2685\u2686\u0003\u0002\u0002\u0002\u2686\u2684\u0003\u0002\u0002\u0002", - "\u2686\u2687\u0003\u0002\u0002\u0002\u2687\u0640\u0003\u0002\u0002\u0002", - "\u2688\u268a\u0005\u069b\u034e\u0002\u2689\u2688\u0003\u0002\u0002\u0002", - "\u268a\u268b\u0003\u0002\u0002\u0002\u268b\u2689\u0003\u0002\u0002\u0002", - "\u268b\u268c\u0003\u0002\u0002\u0002\u268c\u0642\u0003\u0002\u0002\u0002", - "\u268d\u2690\t\u000b\u0002\u0002\u268e\u2690\u0005\u069d\u034f\u0002", - "\u268f\u268d\u0003\u0002\u0002\u0002\u268f\u268e\u0003\u0002\u0002\u0002", - "\u2690\u2695\u0003\u0002\u0002\u0002\u2691\u2694\t\n\u0002\u0002\u2692", - "\u2694\u0005\u069d\u034f\u0002\u2693\u2691\u0003\u0002\u0002\u0002\u2693", - "\u2692\u0003\u0002\u0002\u0002\u2694\u2697\u0003\u0002\u0002\u0002\u2695", - "\u2693\u0003\u0002\u0002\u0002\u2695\u2696\u0003\u0002\u0002\u0002\u2696", - "\u0644\u0003\u0002\u0002\u0002\u2697\u2695\u0003\u0002\u0002\u0002\u2698", - "\u2699\u0007)\u0002\u0002\u2699\u269b\t\u0006\u0002\u0002\u269a\u269c", - "\t\u0006\u0002\u0002\u269b\u269a\u0003\u0002\u0002\u0002\u269c\u269d", - "\u0003\u0002\u0002\u0002\u269d\u269b\u0003\u0002\u0002\u0002\u269d\u269e", - "\u0003\u0002\u0002\u0002\u269e\u269f\u0003\u0002\u0002\u0002\u269f\u26a0", - "\t\u0004\u0002\u0002\u26a0\u26a1\u0003\u0002\u0002\u0002\u26a1\u26a2", - "\u00071\u0002\u0002\u26a2\u26a3\u00071\u0002\u0002\u26a3\u26b2\u0003", - "\u0002\u0002\u0002\u26a4\u26a6\t\u0006\u0002\u0002\u26a5\u26a4\u0003", - "\u0002\u0002\u0002\u26a6\u26a7\u0003\u0002\u0002\u0002\u26a7\u26a5\u0003", - "\u0002\u0002\u0002\u26a7\u26a8\u0003\u0002\u0002\u0002\u26a8\u26a9\u0003", - "\u0002\u0002\u0002\u26a9\u26b0\t\f\u0002\u0002\u26aa\u26ac\t\u0006\u0002", - "\u0002\u26ab\u26aa\u0003\u0002\u0002\u0002\u26ac\u26ad\u0003\u0002\u0002", - "\u0002\u26ad\u26ab\u0003\u0002\u0002\u0002\u26ad\u26ae\u0003\u0002\u0002", - "\u0002\u26ae\u26b0\u0003\u0002\u0002\u0002\u26af\u26a5\u0003\u0002\u0002", - "\u0002\u26af\u26ab\u0003\u0002\u0002\u0002\u26b0\u26b3\u0003\u0002\u0002", - "\u0002\u26b1\u26b3\u0005\u0149\u00a5\u0002\u26b2\u26af\u0003\u0002\u0002", - "\u0002\u26b2\u26b1\u0003\u0002\u0002\u0002\u26b3\u26b4\u0003\u0002\u0002", - "\u0002\u26b4\u26b5\t\u0004\u0002\u0002\u26b5\u26b6\u0005\u0641\u0321", - "\u0002\u26b6\u26b7\u0007)\u0002\u0002\u26b7\u0646\u0003\u0002\u0002", - "\u0002\u26b8\u26c7\u0007)\u0002\u0002\u26b9\u26bb\t\u0006\u0002\u0002", - "\u26ba\u26b9\u0003\u0002\u0002\u0002\u26bb\u26bc\u0003\u0002\u0002\u0002", - "\u26bc\u26ba\u0003\u0002\u0002\u0002\u26bc\u26bd\u0003\u0002\u0002\u0002", - "\u26bd\u26be\u0003\u0002\u0002\u0002\u26be\u26c5\t\f\u0002\u0002\u26bf", - "\u26c1\t\u0006\u0002\u0002\u26c0\u26bf\u0003\u0002\u0002\u0002\u26c1", - "\u26c2\u0003\u0002\u0002\u0002\u26c2\u26c0\u0003\u0002\u0002\u0002\u26c2", - "\u26c3\u0003\u0002\u0002\u0002\u26c3\u26c5\u0003\u0002\u0002\u0002\u26c4", - "\u26ba\u0003\u0002\u0002\u0002\u26c4\u26c0\u0003\u0002\u0002\u0002\u26c5", - "\u26c8\u0003\u0002\u0002\u0002\u26c6\u26c8\u0005\u0149\u00a5\u0002\u26c7", - "\u26c4\u0003\u0002\u0002\u0002\u26c7\u26c6\u0003\u0002\u0002\u0002\u26c8", - "\u26c9\u0003\u0002\u0002\u0002\u26c9\u26ca\t\u0004\u0002\u0002\u26ca", - "\u26cb\u0005\u0641\u0321\u0002\u26cb\u26cc\u0003\u0002\u0002\u0002\u26cc", - "\u26cd\u0007)\u0002\u0002\u26cd\u0648\u0003\u0002\u0002\u0002\u26ce", - "\u26d0\u0007P\u0002\u0002\u26cf\u26ce\u0003\u0002\u0002\u0002\u26cf", - "\u26d0\u0003\u0002\u0002\u0002\u26d0\u26d1\u0003\u0002\u0002\u0002\u26d1", - "\u26d7\u0007)\u0002\u0002\u26d2\u26d6\n\u0002\u0002\u0002\u26d3\u26d4", - "\u0007)\u0002\u0002\u26d4\u26d6\u0007)\u0002\u0002\u26d5\u26d2\u0003", - "\u0002\u0002\u0002\u26d5\u26d3\u0003\u0002\u0002\u0002\u26d6\u26d9\u0003", - "\u0002\u0002\u0002\u26d7\u26d5\u0003\u0002\u0002\u0002\u26d7\u26d8\u0003", - "\u0002\u0002\u0002\u26d8\u26da\u0003\u0002\u0002\u0002\u26d9\u26d7\u0003", - "\u0002\u0002\u0002\u26da\u26db\u0007)\u0002\u0002\u26db\u064a\u0003", - "\u0002\u0002\u0002\u26dc\u26dd\u00072\u0002\u0002\u26dd\u26e1\u0007", - "Z\u0002\u0002\u26de\u26e0\u0005\u0699\u034d\u0002\u26df\u26de\u0003", - "\u0002\u0002\u0002\u26e0\u26e3\u0003\u0002\u0002\u0002\u26e1\u26df\u0003", - "\u0002\u0002\u0002\u26e1\u26e2\u0003\u0002\u0002\u0002\u26e2\u064c\u0003", - "\u0002\u0002\u0002\u26e3\u26e1\u0003\u0002\u0002\u0002\u26e4\u26e5\u0005", - "\u0697\u034c\u0002\u26e5\u064e\u0003\u0002\u0002\u0002\u26e6\u26e9\u0005", - "\u0641\u0321\u0002\u26e7\u26e9\u0005\u0697\u034c\u0002\u26e8\u26e6\u0003", - "\u0002\u0002\u0002\u26e8\u26e7\u0003\u0002\u0002\u0002\u26e9\u26ea\u0003", - "\u0002\u0002\u0002\u26ea\u26ec\u0007G\u0002\u0002\u26eb\u26ed\t\r\u0002", - "\u0002\u26ec\u26eb\u0003\u0002\u0002\u0002\u26ec\u26ed\u0003\u0002\u0002", - "\u0002\u26ed\u26ef\u0003\u0002\u0002\u0002\u26ee\u26f0\u0005\u069b\u034e", - "\u0002\u26ef\u26ee\u0003\u0002\u0002\u0002\u26f0\u26f1\u0003\u0002\u0002", - "\u0002\u26f1\u26ef\u0003\u0002\u0002\u0002\u26f1\u26f2\u0003\u0002\u0002", - "\u0002\u26f2\u0650\u0003\u0002\u0002\u0002\u26f3\u26f4\u0007?\u0002", - "\u0002\u26f4\u0652\u0003\u0002\u0002\u0002\u26f5\u26f6\u0007@\u0002", - "\u0002\u26f6\u0654\u0003\u0002\u0002\u0002\u26f7\u26f8\u0007>\u0002", - "\u0002\u26f8\u0656\u0003\u0002\u0002\u0002\u26f9\u26fa\u0007#\u0002", - "\u0002\u26fa\u0658\u0003\u0002\u0002\u0002\u26fb\u26fc\u0007-\u0002", - "\u0002\u26fc\u26fd\u0007?\u0002\u0002\u26fd\u065a\u0003\u0002\u0002", - "\u0002\u26fe\u26ff\u0007/\u0002\u0002\u26ff\u2700\u0007?\u0002\u0002", - "\u2700\u065c\u0003\u0002\u0002\u0002\u2701\u2702\u0007,\u0002\u0002", - "\u2702\u2703\u0007?\u0002\u0002\u2703\u065e\u0003\u0002\u0002\u0002", - "\u2704\u2705\u00071\u0002\u0002\u2705\u2706\u0007?\u0002\u0002\u2706", - "\u0660\u0003\u0002\u0002\u0002\u2707\u2708\u0007\'\u0002\u0002\u2708", - "\u2709\u0007?\u0002\u0002\u2709\u0662\u0003\u0002\u0002\u0002\u270a", - "\u270b\u0007(\u0002\u0002\u270b\u270c\u0007?\u0002\u0002\u270c\u0664", - "\u0003\u0002\u0002\u0002\u270d\u270e\u0007`\u0002\u0002\u270e\u270f", - "\u0007?\u0002\u0002\u270f\u0666\u0003\u0002\u0002\u0002\u2710\u2711", - "\u0007~\u0002\u0002\u2711\u2712\u0007?\u0002\u0002\u2712\u0668\u0003", - "\u0002\u0002\u0002\u2713\u2714\u0007~\u0002\u0002\u2714\u2715\u0007", - "~\u0002\u0002\u2715\u066a\u0003\u0002\u0002\u0002\u2716\u2717\u0007", - "0\u0002\u0002\u2717\u066c\u0003\u0002\u0002\u0002\u2718\u2719\u0007", - "a\u0002\u0002\u2719\u066e\u0003\u0002\u0002\u0002\u271a\u271b\u0007", - "B\u0002\u0002\u271b\u0670\u0003\u0002\u0002\u0002\u271c\u271d\u0007", - "%\u0002\u0002\u271d\u0672\u0003\u0002\u0002\u0002\u271e\u271f\u0007", - "&\u0002\u0002\u271f\u0674\u0003\u0002\u0002\u0002\u2720\u2721\u0007", - "*\u0002\u0002\u2721\u0676\u0003\u0002\u0002\u0002\u2722\u2723\u0007", - "+\u0002\u0002\u2723\u0678\u0003\u0002\u0002\u0002\u2724\u2725\u0007", - ".\u0002\u0002\u2725\u067a\u0003\u0002\u0002\u0002\u2726\u2727\u0007", - "=\u0002\u0002\u2727\u067c\u0003\u0002\u0002\u0002\u2728\u2729\u0007", - "<\u0002\u0002\u2729\u067e\u0003\u0002\u0002\u0002\u272a\u272b\u0007", - ",\u0002\u0002\u272b\u0680\u0003\u0002\u0002\u0002\u272c\u272d\u0007", - "1\u0002\u0002\u272d\u0682\u0003\u0002\u0002\u0002\u272e\u272f\u0007", - "\'\u0002\u0002\u272f\u0684\u0003\u0002\u0002\u0002\u2730\u2731\u0007", - "-\u0002\u0002\u2731\u0686\u0003\u0002\u0002\u0002\u2732\u2733\u0007", - "/\u0002\u0002\u2733\u0688\u0003\u0002\u0002\u0002\u2734\u2735\u0007", - "\u0080\u0002\u0002\u2735\u068a\u0003\u0002\u0002\u0002\u2736\u2737\u0007", - "~\u0002\u0002\u2737\u068c\u0003\u0002\u0002\u0002\u2738\u2739\u0007", - "(\u0002\u0002\u2739\u068e\u0003\u0002\u0002\u0002\u273a\u273b\u0007", - "`\u0002\u0002\u273b\u0690\u0003\u0002\u0002\u0002\u273c\u273d\t\u000e", - "\u0002\u0002\u273d\u0692\u0003\u0002\u0002\u0002\u273e\u273f\t\u0003", - "\u0002\u0002\u273f\u2740\t\u0003\u0002\u0002\u2740\u2741\t\u0003\u0002", - "\u0002\u2741\u2742\t\u0003\u0002\u0002\u2742\u0694\u0003\u0002\u0002", - "\u0002\u2743\u2745\t\u000f\u0002\u0002\u2744\u2743\u0003\u0002\u0002", - "\u0002\u2744\u2745\u0003\u0002\u0002\u0002\u2745\u2747\u0003\u0002\u0002", - "\u0002\u2746\u2748\t\u000f\u0002\u0002\u2747\u2746\u0003\u0002\u0002", - "\u0002\u2747\u2748\u0003\u0002\u0002\u0002\u2748\u2749\u0003\u0002\u0002", - "\u0002\u2749\u274a\t\u000f\u0002\u0002\u274a\u0696\u0003\u0002\u0002", - "\u0002\u274b\u274d\u0005\u069b\u034e\u0002\u274c\u274b\u0003\u0002\u0002", - "\u0002\u274d\u274e\u0003\u0002\u0002\u0002\u274e\u274c\u0003\u0002\u0002", - "\u0002\u274e\u274f\u0003\u0002\u0002\u0002\u274f\u2750\u0003\u0002\u0002", - "\u0002\u2750\u2752\u00070\u0002\u0002\u2751\u2753\u0005\u069b\u034e", - "\u0002\u2752\u2751\u0003\u0002\u0002\u0002\u2753\u2754\u0003\u0002\u0002", - "\u0002\u2754\u2752\u0003\u0002\u0002\u0002\u2754\u2755\u0003\u0002\u0002", - "\u0002\u2755\u2764\u0003\u0002\u0002\u0002\u2756\u2758\u0005\u069b\u034e", - "\u0002\u2757\u2756\u0003\u0002\u0002\u0002\u2758\u2759\u0003\u0002\u0002", - "\u0002\u2759\u2757\u0003\u0002\u0002\u0002\u2759\u275a\u0003\u0002\u0002", - "\u0002\u275a\u275b\u0003\u0002\u0002\u0002\u275b\u275c\u00070\u0002", - "\u0002\u275c\u2764\u0003\u0002\u0002\u0002\u275d\u275f\u00070\u0002", - "\u0002\u275e\u2760\u0005\u069b\u034e\u0002\u275f\u275e\u0003\u0002\u0002", - "\u0002\u2760\u2761\u0003\u0002\u0002\u0002\u2761\u275f\u0003\u0002\u0002", - "\u0002\u2761\u2762\u0003\u0002\u0002\u0002\u2762\u2764\u0003\u0002\u0002", - "\u0002\u2763\u274c\u0003\u0002\u0002\u0002\u2763\u2757\u0003\u0002\u0002", - "\u0002\u2763\u275d\u0003\u0002\u0002\u0002\u2764\u0698\u0003\u0002\u0002", - "\u0002\u2765\u2766\t\u0003\u0002\u0002\u2766\u069a\u0003\u0002\u0002", - "\u0002\u2767\u2768\t\u000f\u0002\u0002\u2768\u069c\u0003\u0002\u0002", - "\u0002\u2769\u276a\t\u0010\u0002\u0002\u276a\u069e\u0003\u0002\u0002", - "\u0002M\u0002\u0957\u0b1b\u0cc1\u0ccb\u0cce\u0cd1\u0cd4\u0cd7\u0cda", - "\u0cde\u0ce1\u0ce4\u0ce7\u0ceb\u0cee\u0cf1\u0cf4\u0cf8\u0cfb\u0cfe\u0d01", - "\u0d05\u0d08\u0d0b\u0d0e\u0d12\u0d15\u0d18\u0d1b\u0d1f\u0d22\u0d25\u0d28", - "\u0d2c\u0d2f\u0d32\u0d35\u0d38\u1721\u2651\u265a\u265c\u266a\u2673\u267d", - "\u2684\u2686\u268b\u268f\u2693\u2695\u269d\u26a7\u26ad\u26af\u26b2\u26bc", - "\u26c2\u26c4\u26c7\u26cf\u26d5\u26d7\u26e1\u26e8\u26ec\u26f1\u2744\u2747", - "\u274e\u2754\u2759\u2761\u2763\u0004\b\u0002\u0002\u0002\u0003\u0002"].join(""); - - -var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); - -var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); - -function TSqlLexer(input) { - antlr4.Lexer.call(this, input); - this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache()); - return this; -} - -TSqlLexer.prototype = Object.create(antlr4.Lexer.prototype); -TSqlLexer.prototype.constructor = TSqlLexer; - -Object.defineProperty(TSqlLexer.prototype, "atn", { - get : function() { - return atn; - } -}); - -TSqlLexer.EOF = antlr4.Token.EOF; -TSqlLexer.ABSENT = 1; -TSqlLexer.ADD = 2; -TSqlLexer.AES = 3; -TSqlLexer.ALL = 4; -TSqlLexer.ALLOW_CONNECTIONS = 5; -TSqlLexer.ALLOW_MULTIPLE_EVENT_LOSS = 6; -TSqlLexer.ALLOW_SINGLE_EVENT_LOSS = 7; -TSqlLexer.ALTER = 8; -TSqlLexer.AND = 9; -TSqlLexer.ANONYMOUS = 10; -TSqlLexer.ANY = 11; -TSqlLexer.APPEND = 12; -TSqlLexer.APPLICATION = 13; -TSqlLexer.AS = 14; -TSqlLexer.ASC = 15; -TSqlLexer.ASYMMETRIC = 16; -TSqlLexer.ASYNCHRONOUS_COMMIT = 17; -TSqlLexer.AUTHORIZATION = 18; -TSqlLexer.AUTHENTICATION = 19; -TSqlLexer.AUTOMATED_BACKUP_PREFERENCE = 20; -TSqlLexer.AUTOMATIC = 21; -TSqlLexer.AVAILABILITY_MODE = 22; -TSqlLexer.BACKSLASH = 23; -TSqlLexer.BACKUP = 24; -TSqlLexer.BEFORE = 25; -TSqlLexer.BEGIN = 26; -TSqlLexer.BETWEEN = 27; -TSqlLexer.BLOCK = 28; -TSqlLexer.BLOCKSIZE = 29; -TSqlLexer.BLOCKING_HIERARCHY = 30; -TSqlLexer.BREAK = 31; -TSqlLexer.BROWSE = 32; -TSqlLexer.BUFFER = 33; -TSqlLexer.BUFFERCOUNT = 34; -TSqlLexer.BULK = 35; -TSqlLexer.BY = 36; -TSqlLexer.CACHE = 37; -TSqlLexer.CALLED = 38; -TSqlLexer.CASCADE = 39; -TSqlLexer.CASE = 40; -TSqlLexer.CERTIFICATE = 41; -TSqlLexer.CHANGETABLE = 42; -TSqlLexer.CHANGES = 43; -TSqlLexer.CHECK = 44; -TSqlLexer.CHECKPOINT = 45; -TSqlLexer.CHECK_POLICY = 46; -TSqlLexer.CHECK_EXPIRATION = 47; -TSqlLexer.CLASSIFIER_FUNCTION = 48; -TSqlLexer.CLOSE = 49; -TSqlLexer.CLUSTER = 50; -TSqlLexer.CLUSTERED = 51; -TSqlLexer.COALESCE = 52; -TSqlLexer.COLLATE = 53; -TSqlLexer.COLUMN = 54; -TSqlLexer.COMPRESSION = 55; -TSqlLexer.COMMIT = 56; -TSqlLexer.COMPUTE = 57; -TSqlLexer.CONFIGURATION = 58; -TSqlLexer.CONSTRAINT = 59; -TSqlLexer.CONTAINMENT = 60; -TSqlLexer.CONTAINS = 61; -TSqlLexer.CONTAINSTABLE = 62; -TSqlLexer.CONTEXT = 63; -TSqlLexer.CONTINUE = 64; -TSqlLexer.CONTINUE_AFTER_ERROR = 65; -TSqlLexer.CONTRACT = 66; -TSqlLexer.CONTRACT_NAME = 67; -TSqlLexer.CONVERSATION = 68; -TSqlLexer.CONVERT = 69; -TSqlLexer.COPY_ONLY = 70; -TSqlLexer.CREATE = 71; -TSqlLexer.CROSS = 72; -TSqlLexer.CURRENT = 73; -TSqlLexer.CURRENT_DATE = 74; -TSqlLexer.CURRENT_TIME = 75; -TSqlLexer.CURRENT_TIMESTAMP = 76; -TSqlLexer.CURRENT_USER = 77; -TSqlLexer.CURSOR = 78; -TSqlLexer.CYCLE = 79; -TSqlLexer.DATA_COMPRESSION = 80; -TSqlLexer.DATA_SOURCE = 81; -TSqlLexer.DATABASE = 82; -TSqlLexer.DATABASE_MIRRORING = 83; -TSqlLexer.DBCC = 84; -TSqlLexer.DEALLOCATE = 85; -TSqlLexer.DECLARE = 86; -TSqlLexer.DEFAULT = 87; -TSqlLexer.DEFAULT_DATABASE = 88; -TSqlLexer.DEFAULT_SCHEMA = 89; -TSqlLexer.DELETE = 90; -TSqlLexer.DENY = 91; -TSqlLexer.DESC = 92; -TSqlLexer.DIAGNOSTICS = 93; -TSqlLexer.DIFFERENTIAL = 94; -TSqlLexer.DISK = 95; -TSqlLexer.DISTINCT = 96; -TSqlLexer.DISTRIBUTED = 97; -TSqlLexer.DOUBLE = 98; -TSqlLexer.DOUBLE_BACK_SLASH = 99; -TSqlLexer.DOUBLE_FORWARD_SLASH = 100; -TSqlLexer.DROP = 101; -TSqlLexer.DTC_SUPPORT = 102; -TSqlLexer.DUMP = 103; -TSqlLexer.ELSE = 104; -TSqlLexer.ENABLED = 105; -TSqlLexer.END = 106; -TSqlLexer.ENDPOINT = 107; -TSqlLexer.ERRLVL = 108; -TSqlLexer.ESCAPE = 109; -TSqlLexer.ERROR = 110; -TSqlLexer.EVENT = 111; -TSqlLexer.EVENTDATA = 112; -TSqlLexer.EVENT_RETENTION_MODE = 113; -TSqlLexer.EXCEPT = 114; -TSqlLexer.EXECUTABLE_FILE = 115; -TSqlLexer.EXECUTE = 116; -TSqlLexer.EXISTS = 117; -TSqlLexer.EXPIREDATE = 118; -TSqlLexer.EXIT = 119; -TSqlLexer.EXTENSION = 120; -TSqlLexer.EXTERNAL = 121; -TSqlLexer.EXTERNAL_ACCESS = 122; -TSqlLexer.FAILOVER = 123; -TSqlLexer.FAILURECONDITIONLEVEL = 124; -TSqlLexer.FAN_IN = 125; -TSqlLexer.FETCH = 126; -TSqlLexer.FILE = 127; -TSqlLexer.FILENAME = 128; -TSqlLexer.FILLFACTOR = 129; -TSqlLexer.FILE_SNAPSHOT = 130; -TSqlLexer.FOR = 131; -TSqlLexer.FORCESEEK = 132; -TSqlLexer.FORCE_SERVICE_ALLOW_DATA_LOSS = 133; -TSqlLexer.FOREIGN = 134; -TSqlLexer.FREETEXT = 135; -TSqlLexer.FREETEXTTABLE = 136; -TSqlLexer.FROM = 137; -TSqlLexer.FULL = 138; -TSqlLexer.FUNCTION = 139; -TSqlLexer.GET = 140; -TSqlLexer.GOTO = 141; -TSqlLexer.GOVERNOR = 142; -TSqlLexer.GRANT = 143; -TSqlLexer.GROUP = 144; -TSqlLexer.HAVING = 145; -TSqlLexer.HASHED = 146; -TSqlLexer.HEALTHCHECKTIMEOUT = 147; -TSqlLexer.IDENTITY = 148; -TSqlLexer.IDENTITYCOL = 149; -TSqlLexer.IDENTITY_INSERT = 150; -TSqlLexer.IF = 151; -TSqlLexer.IIF = 152; -TSqlLexer.IN = 153; -TSqlLexer.INCLUDE = 154; -TSqlLexer.INCREMENT = 155; -TSqlLexer.INDEX = 156; -TSqlLexer.INFINITE = 157; -TSqlLexer.INIT = 158; -TSqlLexer.INNER = 159; -TSqlLexer.INSERT = 160; -TSqlLexer.INSTEAD = 161; -TSqlLexer.INTERSECT = 162; -TSqlLexer.INTO = 163; -TSqlLexer.IPV4_ADDR = 164; -TSqlLexer.IPV6_ADDR = 165; -TSqlLexer.IS = 166; -TSqlLexer.ISNULL = 167; -TSqlLexer.JOIN = 168; -TSqlLexer.KERBEROS = 169; -TSqlLexer.KEY = 170; -TSqlLexer.KEY_PATH = 171; -TSqlLexer.KEY_STORE_PROVIDER_NAME = 172; -TSqlLexer.KILL = 173; -TSqlLexer.LANGUAGE = 174; -TSqlLexer.LEFT = 175; -TSqlLexer.LIBRARY = 176; -TSqlLexer.LIFETIME = 177; -TSqlLexer.LIKE = 178; -TSqlLexer.LINENO = 179; -TSqlLexer.LINUX = 180; -TSqlLexer.LISTENER_IP = 181; -TSqlLexer.LISTENER_PORT = 182; -TSqlLexer.LOAD = 183; -TSqlLexer.LOCAL_SERVICE_NAME = 184; -TSqlLexer.LOG = 185; -TSqlLexer.MATCHED = 186; -TSqlLexer.MASTER = 187; -TSqlLexer.MAX_MEMORY = 188; -TSqlLexer.MAXTRANSFER = 189; -TSqlLexer.MAXVALUE = 190; -TSqlLexer.MAX_DISPATCH_LATENCY = 191; -TSqlLexer.MAX_EVENT_SIZE = 192; -TSqlLexer.MAX_SIZE = 193; -TSqlLexer.MAX_OUTSTANDING_IO_PER_VOLUME = 194; -TSqlLexer.MEDIADESCRIPTION = 195; -TSqlLexer.MEDIANAME = 196; -TSqlLexer.MEMBER = 197; -TSqlLexer.MEMORY_PARTITION_MODE = 198; -TSqlLexer.MERGE = 199; -TSqlLexer.MESSAGE_FORWARDING = 200; -TSqlLexer.MESSAGE_FORWARD_SIZE = 201; -TSqlLexer.MINVALUE = 202; -TSqlLexer.MIRROR = 203; -TSqlLexer.MUST_CHANGE = 204; -TSqlLexer.NATIONAL = 205; -TSqlLexer.NEGOTIATE = 206; -TSqlLexer.NOCHECK = 207; -TSqlLexer.NOFORMAT = 208; -TSqlLexer.NOINIT = 209; -TSqlLexer.NONCLUSTERED = 210; -TSqlLexer.NONE = 211; -TSqlLexer.NOREWIND = 212; -TSqlLexer.NOSKIP = 213; -TSqlLexer.NOUNLOAD = 214; -TSqlLexer.NO_CHECKSUM = 215; -TSqlLexer.NO_COMPRESSION = 216; -TSqlLexer.NO_EVENT_LOSS = 217; -TSqlLexer.NOT = 218; -TSqlLexer.NOTIFICATION = 219; -TSqlLexer.NTLM = 220; -TSqlLexer.NULL = 221; -TSqlLexer.NULLIF = 222; -TSqlLexer.OF = 223; -TSqlLexer.OFF = 224; -TSqlLexer.OFFSETS = 225; -TSqlLexer.OLD_PASSWORD = 226; -TSqlLexer.ON = 227; -TSqlLexer.ON_FAILURE = 228; -TSqlLexer.OPEN = 229; -TSqlLexer.OPENDATASOURCE = 230; -TSqlLexer.OPENQUERY = 231; -TSqlLexer.OPENROWSET = 232; -TSqlLexer.OPENXML = 233; -TSqlLexer.OPTION = 234; -TSqlLexer.OR = 235; -TSqlLexer.ORDER = 236; -TSqlLexer.OUTER = 237; -TSqlLexer.OVER = 238; -TSqlLexer.PAGE = 239; -TSqlLexer.PARAM_NODE = 240; -TSqlLexer.PARTIAL = 241; -TSqlLexer.PASSWORD = 242; -TSqlLexer.PERCENT = 243; -TSqlLexer.PERMISSION_SET = 244; -TSqlLexer.PER_CPU = 245; -TSqlLexer.PER_DB = 246; -TSqlLexer.PER_NODE = 247; -TSqlLexer.PIVOT = 248; -TSqlLexer.PLAN = 249; -TSqlLexer.PLATFORM = 250; -TSqlLexer.POLICY = 251; -TSqlLexer.PRECISION = 252; -TSqlLexer.PREDICATE = 253; -TSqlLexer.PRIMARY = 254; -TSqlLexer.PRINT = 255; -TSqlLexer.PROC = 256; -TSqlLexer.PROCEDURE = 257; -TSqlLexer.PROCESS = 258; -TSqlLexer.PUBLIC = 259; -TSqlLexer.PYTHON = 260; -TSqlLexer.R = 261; -TSqlLexer.RAISERROR = 262; -TSqlLexer.RAW = 263; -TSqlLexer.READ = 264; -TSqlLexer.READTEXT = 265; -TSqlLexer.READ_WRITE_FILEGROUPS = 266; -TSqlLexer.RECONFIGURE = 267; -TSqlLexer.REFERENCES = 268; -TSqlLexer.REGENERATE = 269; -TSqlLexer.RELATED_CONVERSATION = 270; -TSqlLexer.RELATED_CONVERSATION_GROUP = 271; -TSqlLexer.REPLICATION = 272; -TSqlLexer.REQUIRED = 273; -TSqlLexer.RESET = 274; -TSqlLexer.RESTART = 275; -TSqlLexer.RESTORE = 276; -TSqlLexer.RESTRICT = 277; -TSqlLexer.RESUME = 278; -TSqlLexer.RETAINDAYS = 279; -TSqlLexer.RETURN = 280; -TSqlLexer.RETURNS = 281; -TSqlLexer.REVERT = 282; -TSqlLexer.REVOKE = 283; -TSqlLexer.REWIND = 284; -TSqlLexer.RIGHT = 285; -TSqlLexer.ROLLBACK = 286; -TSqlLexer.ROLE = 287; -TSqlLexer.ROWCOUNT = 288; -TSqlLexer.ROWGUIDCOL = 289; -TSqlLexer.RSA_512 = 290; -TSqlLexer.RSA_1024 = 291; -TSqlLexer.RSA_2048 = 292; -TSqlLexer.RSA_3072 = 293; -TSqlLexer.RSA_4096 = 294; -TSqlLexer.SAFETY = 295; -TSqlLexer.RULE = 296; -TSqlLexer.SAFE = 297; -TSqlLexer.SAVE = 298; -TSqlLexer.SCHEDULER = 299; -TSqlLexer.SCHEMA = 300; -TSqlLexer.SCHEME = 301; -TSqlLexer.SECURITYAUDIT = 302; -TSqlLexer.SELECT = 303; -TSqlLexer.SEMANTICKEYPHRASETABLE = 304; -TSqlLexer.SEMANTICSIMILARITYDETAILSTABLE = 305; -TSqlLexer.SEMANTICSIMILARITYTABLE = 306; -TSqlLexer.SERVER = 307; -TSqlLexer.SERVICE = 308; -TSqlLexer.SERVICE_BROKER = 309; -TSqlLexer.SERVICE_NAME = 310; -TSqlLexer.SESSION = 311; -TSqlLexer.SESSION_USER = 312; -TSqlLexer.SET = 313; -TSqlLexer.SETUSER = 314; -TSqlLexer.SHUTDOWN = 315; -TSqlLexer.SID = 316; -TSqlLexer.SKIP_KEYWORD = 317; -TSqlLexer.SOFTNUMA = 318; -TSqlLexer.SOME = 319; -TSqlLexer.SOURCE = 320; -TSqlLexer.SPECIFICATION = 321; -TSqlLexer.SPLIT = 322; -TSqlLexer.SQLDUMPERFLAGS = 323; -TSqlLexer.SQLDUMPERPATH = 324; -TSqlLexer.SQLDUMPERTIMEOUT = 325; -TSqlLexer.STATISTICS = 326; -TSqlLexer.STATE = 327; -TSqlLexer.STATS = 328; -TSqlLexer.START = 329; -TSqlLexer.STARTED = 330; -TSqlLexer.STARTUP_STATE = 331; -TSqlLexer.STOP = 332; -TSqlLexer.STOPPED = 333; -TSqlLexer.STOP_ON_ERROR = 334; -TSqlLexer.SUPPORTED = 335; -TSqlLexer.SYSTEM_USER = 336; -TSqlLexer.TABLE = 337; -TSqlLexer.TABLESAMPLE = 338; -TSqlLexer.TAPE = 339; -TSqlLexer.TARGET = 340; -TSqlLexer.TCP = 341; -TSqlLexer.TEXTSIZE = 342; -TSqlLexer.THEN = 343; -TSqlLexer.TO = 344; -TSqlLexer.TOP = 345; -TSqlLexer.TRACK_CAUSALITY = 346; -TSqlLexer.TRAN = 347; -TSqlLexer.TRANSACTION = 348; -TSqlLexer.TRANSFER = 349; -TSqlLexer.TRIGGER = 350; -TSqlLexer.TRUNCATE = 351; -TSqlLexer.TSEQUAL = 352; -TSqlLexer.UNCHECKED = 353; -TSqlLexer.UNION = 354; -TSqlLexer.UNIQUE = 355; -TSqlLexer.UNLOCK = 356; -TSqlLexer.UNPIVOT = 357; -TSqlLexer.UNSAFE = 358; -TSqlLexer.UPDATE = 359; -TSqlLexer.UPDATETEXT = 360; -TSqlLexer.URL = 361; -TSqlLexer.USE = 362; -TSqlLexer.USED = 363; -TSqlLexer.USER = 364; -TSqlLexer.VALUES = 365; -TSqlLexer.VARYING = 366; -TSqlLexer.VERBOSELOGGING = 367; -TSqlLexer.VIEW = 368; -TSqlLexer.VISIBILITY = 369; -TSqlLexer.WAITFOR = 370; -TSqlLexer.WHEN = 371; -TSqlLexer.WHERE = 372; -TSqlLexer.WHILE = 373; -TSqlLexer.WINDOWS = 374; -TSqlLexer.WITH = 375; -TSqlLexer.WITHIN = 376; -TSqlLexer.WITHOUT = 377; -TSqlLexer.WITNESS = 378; -TSqlLexer.WRITETEXT = 379; -TSqlLexer.ABSOLUTE = 380; -TSqlLexer.ACCENT_SENSITIVITY = 381; -TSqlLexer.ACTION = 382; -TSqlLexer.ACTIVATION = 383; -TSqlLexer.ACTIVE = 384; -TSqlLexer.ADDRESS = 385; -TSqlLexer.AES_128 = 386; -TSqlLexer.AES_192 = 387; -TSqlLexer.AES_256 = 388; -TSqlLexer.AFFINITY = 389; -TSqlLexer.AFTER = 390; -TSqlLexer.AGGREGATE = 391; -TSqlLexer.ALGORITHM = 392; -TSqlLexer.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = 393; -TSqlLexer.ALLOW_SNAPSHOT_ISOLATION = 394; -TSqlLexer.ALLOWED = 395; -TSqlLexer.ANSI_NULL_DEFAULT = 396; -TSqlLexer.ANSI_NULLS = 397; -TSqlLexer.ANSI_PADDING = 398; -TSqlLexer.ANSI_WARNINGS = 399; -TSqlLexer.APPLICATION_LOG = 400; -TSqlLexer.APPLY = 401; -TSqlLexer.ARITHABORT = 402; -TSqlLexer.ASSEMBLY = 403; -TSqlLexer.AUDIT = 404; -TSqlLexer.AUDIT_GUID = 405; -TSqlLexer.AUTO = 406; -TSqlLexer.AUTO_CLEANUP = 407; -TSqlLexer.AUTO_CLOSE = 408; -TSqlLexer.AUTO_CREATE_STATISTICS = 409; -TSqlLexer.AUTO_SHRINK = 410; -TSqlLexer.AUTO_UPDATE_STATISTICS = 411; -TSqlLexer.AUTO_UPDATE_STATISTICS_ASYNC = 412; -TSqlLexer.AVAILABILITY = 413; -TSqlLexer.AVG = 414; -TSqlLexer.BACKUP_PRIORITY = 415; -TSqlLexer.BEGIN_DIALOG = 416; -TSqlLexer.BIGINT = 417; -TSqlLexer.BINARY_BASE64 = 418; -TSqlLexer.BINARY_CHECKSUM = 419; -TSqlLexer.BINDING = 420; -TSqlLexer.BLOB_STORAGE = 421; -TSqlLexer.BROKER = 422; -TSqlLexer.BROKER_INSTANCE = 423; -TSqlLexer.BULK_LOGGED = 424; -TSqlLexer.CALLER = 425; -TSqlLexer.CAP_CPU_PERCENT = 426; -TSqlLexer.CAST = 427; -TSqlLexer.CATALOG = 428; -TSqlLexer.CATCH = 429; -TSqlLexer.CHANGE_RETENTION = 430; -TSqlLexer.CHANGE_TRACKING = 431; -TSqlLexer.CHECKSUM = 432; -TSqlLexer.CHECKSUM_AGG = 433; -TSqlLexer.CLEANUP = 434; -TSqlLexer.COLLECTION = 435; -TSqlLexer.COLUMN_MASTER_KEY = 436; -TSqlLexer.COMMITTED = 437; -TSqlLexer.COMPATIBILITY_LEVEL = 438; -TSqlLexer.CONCAT = 439; -TSqlLexer.CONCAT_NULL_YIELDS_NULL = 440; -TSqlLexer.CONTENT = 441; -TSqlLexer.CONTROL = 442; -TSqlLexer.COOKIE = 443; -TSqlLexer.COUNT = 444; -TSqlLexer.COUNT_BIG = 445; -TSqlLexer.COUNTER = 446; -TSqlLexer.CPU = 447; -TSqlLexer.CREATE_NEW = 448; -TSqlLexer.CREATION_DISPOSITION = 449; -TSqlLexer.CREDENTIAL = 450; -TSqlLexer.CRYPTOGRAPHIC = 451; -TSqlLexer.CURSOR_CLOSE_ON_COMMIT = 452; -TSqlLexer.CURSOR_DEFAULT = 453; -TSqlLexer.DATA = 454; -TSqlLexer.DATE_CORRELATION_OPTIMIZATION = 455; -TSqlLexer.DATEADD = 456; -TSqlLexer.DATEDIFF = 457; -TSqlLexer.DATENAME = 458; -TSqlLexer.DATEPART = 459; -TSqlLexer.DAYS = 460; -TSqlLexer.DB_CHAINING = 461; -TSqlLexer.DB_FAILOVER = 462; -TSqlLexer.DECRYPTION = 463; -TSqlLexer.DEFAULT_DOUBLE_QUOTE = 464; -TSqlLexer.DEFAULT_FULLTEXT_LANGUAGE = 465; -TSqlLexer.DEFAULT_LANGUAGE = 466; -TSqlLexer.DELAY = 467; -TSqlLexer.DELAYED_DURABILITY = 468; -TSqlLexer.DELETED = 469; -TSqlLexer.DENSE_RANK = 470; -TSqlLexer.DEPENDENTS = 471; -TSqlLexer.DES = 472; -TSqlLexer.DESCRIPTION = 473; -TSqlLexer.DESX = 474; -TSqlLexer.DHCP = 475; -TSqlLexer.DIALOG = 476; -TSqlLexer.DIRECTORY_NAME = 477; -TSqlLexer.DISABLE = 478; -TSqlLexer.DISABLE_BROKER = 479; -TSqlLexer.DISABLED = 480; -TSqlLexer.DISK_DRIVE = 481; -TSqlLexer.DOCUMENT = 482; -TSqlLexer.DYNAMIC = 483; -TSqlLexer.ELEMENTS = 484; -TSqlLexer.EMERGENCY = 485; -TSqlLexer.EMPTY = 486; -TSqlLexer.ENABLE = 487; -TSqlLexer.ENABLE_BROKER = 488; -TSqlLexer.ENCRYPTED_VALUE = 489; -TSqlLexer.ENCRYPTION = 490; -TSqlLexer.ENDPOINT_URL = 491; -TSqlLexer.ERROR_BROKER_CONVERSATIONS = 492; -TSqlLexer.EXCLUSIVE = 493; -TSqlLexer.EXECUTABLE = 494; -TSqlLexer.EXIST = 495; -TSqlLexer.EXPAND = 496; -TSqlLexer.EXPIRY_DATE = 497; -TSqlLexer.EXPLICIT = 498; -TSqlLexer.FAIL_OPERATION = 499; -TSqlLexer.FAILOVER_MODE = 500; -TSqlLexer.FAILURE = 501; -TSqlLexer.FAILURE_CONDITION_LEVEL = 502; -TSqlLexer.FAST = 503; -TSqlLexer.FAST_FORWARD = 504; -TSqlLexer.FILEGROUP = 505; -TSqlLexer.FILEGROWTH = 506; -TSqlLexer.FILEPATH = 507; -TSqlLexer.FILESTREAM = 508; -TSqlLexer.FILTER = 509; -TSqlLexer.FIRST = 510; -TSqlLexer.FIRST_VALUE = 511; -TSqlLexer.FOLLOWING = 512; -TSqlLexer.FORCE = 513; -TSqlLexer.FORCE_FAILOVER_ALLOW_DATA_LOSS = 514; -TSqlLexer.FORCED = 515; -TSqlLexer.FORMAT = 516; -TSqlLexer.FORWARD_ONLY = 517; -TSqlLexer.FULLSCAN = 518; -TSqlLexer.FULLTEXT = 519; -TSqlLexer.GB = 520; -TSqlLexer.GETDATE = 521; -TSqlLexer.GETUTCDATE = 522; -TSqlLexer.GLOBAL = 523; -TSqlLexer.GO = 524; -TSqlLexer.GROUP_MAX_REQUESTS = 525; -TSqlLexer.GROUPING = 526; -TSqlLexer.GROUPING_ID = 527; -TSqlLexer.HADR = 528; -TSqlLexer.HASH = 529; -TSqlLexer.HEALTH_CHECK_TIMEOUT = 530; -TSqlLexer.HIGH = 531; -TSqlLexer.HONOR_BROKER_PRIORITY = 532; -TSqlLexer.HOURS = 533; -TSqlLexer.IDENTITY_VALUE = 534; -TSqlLexer.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX = 535; -TSqlLexer.IMMEDIATE = 536; -TSqlLexer.IMPERSONATE = 537; -TSqlLexer.IMPORTANCE = 538; -TSqlLexer.INCLUDE_NULL_VALUES = 539; -TSqlLexer.INCREMENTAL = 540; -TSqlLexer.INITIATOR = 541; -TSqlLexer.INPUT = 542; -TSqlLexer.INSENSITIVE = 543; -TSqlLexer.INSERTED = 544; -TSqlLexer.INT = 545; -TSqlLexer.IP = 546; -TSqlLexer.ISOLATION = 547; -TSqlLexer.JOB = 548; -TSqlLexer.JSON = 549; -TSqlLexer.KB = 550; -TSqlLexer.KEEP = 551; -TSqlLexer.KEEPFIXED = 552; -TSqlLexer.KEY_SOURCE = 553; -TSqlLexer.KEYS = 554; -TSqlLexer.KEYSET = 555; -TSqlLexer.LAG = 556; -TSqlLexer.LAST = 557; -TSqlLexer.LAST_VALUE = 558; -TSqlLexer.LEAD = 559; -TSqlLexer.LEVEL = 560; -TSqlLexer.LIST = 561; -TSqlLexer.LISTENER = 562; -TSqlLexer.LISTENER_URL = 563; -TSqlLexer.LOB_COMPACTION = 564; -TSqlLexer.LOCAL = 565; -TSqlLexer.LOCATION = 566; -TSqlLexer.LOCK = 567; -TSqlLexer.LOCK_ESCALATION = 568; -TSqlLexer.LOGIN = 569; -TSqlLexer.LOOP = 570; -TSqlLexer.LOW = 571; -TSqlLexer.MANUAL = 572; -TSqlLexer.MARK = 573; -TSqlLexer.MATERIALIZED = 574; -TSqlLexer.MAX = 575; -TSqlLexer.MAX_CPU_PERCENT = 576; -TSqlLexer.MAX_DOP = 577; -TSqlLexer.MAX_FILES = 578; -TSqlLexer.MAX_IOPS_PER_VOLUME = 579; -TSqlLexer.MAX_MEMORY_PERCENT = 580; -TSqlLexer.MAX_PROCESSES = 581; -TSqlLexer.MAX_QUEUE_READERS = 582; -TSqlLexer.MAX_ROLLOVER_FILES = 583; -TSqlLexer.MAXDOP = 584; -TSqlLexer.MAXRECURSION = 585; -TSqlLexer.MAXSIZE = 586; -TSqlLexer.MB = 587; -TSqlLexer.MEDIUM = 588; -TSqlLexer.MEMORY_OPTIMIZED_DATA = 589; -TSqlLexer.MESSAGE = 590; -TSqlLexer.MIN = 591; -TSqlLexer.MIN_ACTIVE_ROWVERSION = 592; -TSqlLexer.MIN_CPU_PERCENT = 593; -TSqlLexer.MIN_IOPS_PER_VOLUME = 594; -TSqlLexer.MIN_MEMORY_PERCENT = 595; -TSqlLexer.MINUTES = 596; -TSqlLexer.MIRROR_ADDRESS = 597; -TSqlLexer.MIXED_PAGE_ALLOCATION = 598; -TSqlLexer.MODE = 599; -TSqlLexer.MODIFY = 600; -TSqlLexer.MOVE = 601; -TSqlLexer.MULTI_USER = 602; -TSqlLexer.NAME = 603; -TSqlLexer.NESTED_TRIGGERS = 604; -TSqlLexer.NEW_ACCOUNT = 605; -TSqlLexer.NEW_BROKER = 606; -TSqlLexer.NEW_PASSWORD = 607; -TSqlLexer.NEXT = 608; -TSqlLexer.NO = 609; -TSqlLexer.NO_TRUNCATE = 610; -TSqlLexer.NO_WAIT = 611; -TSqlLexer.NOCOUNT = 612; -TSqlLexer.NODES = 613; -TSqlLexer.NOEXPAND = 614; -TSqlLexer.NON_TRANSACTED_ACCESS = 615; -TSqlLexer.NORECOMPUTE = 616; -TSqlLexer.NORECOVERY = 617; -TSqlLexer.NOWAIT = 618; -TSqlLexer.NTILE = 619; -TSqlLexer.NUMANODE = 620; -TSqlLexer.NUMBER = 621; -TSqlLexer.NUMERIC_ROUNDABORT = 622; -TSqlLexer.OBJECT = 623; -TSqlLexer.OFFLINE = 624; -TSqlLexer.OFFSET = 625; -TSqlLexer.OLD_ACCOUNT = 626; -TSqlLexer.ONLINE = 627; -TSqlLexer.ONLY = 628; -TSqlLexer.OPEN_EXISTING = 629; -TSqlLexer.OPTIMISTIC = 630; -TSqlLexer.OPTIMIZE = 631; -TSqlLexer.OUT = 632; -TSqlLexer.OUTPUT = 633; -TSqlLexer.OVERRIDE = 634; -TSqlLexer.OWNER = 635; -TSqlLexer.PAGE_VERIFY = 636; -TSqlLexer.PARAMETERIZATION = 637; -TSqlLexer.PARTITION = 638; -TSqlLexer.PARTITIONS = 639; -TSqlLexer.PARTNER = 640; -TSqlLexer.PATH = 641; -TSqlLexer.POISON_MESSAGE_HANDLING = 642; -TSqlLexer.POOL = 643; -TSqlLexer.PORT = 644; -TSqlLexer.PRECEDING = 645; -TSqlLexer.PRIMARY_ROLE = 646; -TSqlLexer.PRIOR = 647; -TSqlLexer.PRIORITY = 648; -TSqlLexer.PRIORITY_LEVEL = 649; -TSqlLexer.PRIVATE = 650; -TSqlLexer.PRIVATE_KEY = 651; -TSqlLexer.PRIVILEGES = 652; -TSqlLexer.PROCEDURE_NAME = 653; -TSqlLexer.PROPERTY = 654; -TSqlLexer.PROVIDER = 655; -TSqlLexer.PROVIDER_KEY_NAME = 656; -TSqlLexer.QUERY = 657; -TSqlLexer.QUEUE = 658; -TSqlLexer.QUEUE_DELAY = 659; -TSqlLexer.QUOTED_IDENTIFIER = 660; -TSqlLexer.RANGE = 661; -TSqlLexer.RANK = 662; -TSqlLexer.RC2 = 663; -TSqlLexer.RC4 = 664; -TSqlLexer.RC4_128 = 665; -TSqlLexer.READ_COMMITTED_SNAPSHOT = 666; -TSqlLexer.READ_ONLY = 667; -TSqlLexer.READ_ONLY_ROUTING_LIST = 668; -TSqlLexer.READ_WRITE = 669; -TSqlLexer.READONLY = 670; -TSqlLexer.REBUILD = 671; -TSqlLexer.RECEIVE = 672; -TSqlLexer.RECOMPILE = 673; -TSqlLexer.RECOVERY = 674; -TSqlLexer.RECURSIVE_TRIGGERS = 675; -TSqlLexer.RELATIVE = 676; -TSqlLexer.REMOTE = 677; -TSqlLexer.REMOTE_SERVICE_NAME = 678; -TSqlLexer.REMOVE = 679; -TSqlLexer.REORGANIZE = 680; -TSqlLexer.REPEATABLE = 681; -TSqlLexer.REPLICA = 682; -TSqlLexer.REQUEST_MAX_CPU_TIME_SEC = 683; -TSqlLexer.REQUEST_MAX_MEMORY_GRANT_PERCENT = 684; -TSqlLexer.REQUEST_MEMORY_GRANT_TIMEOUT_SEC = 685; -TSqlLexer.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 686; -TSqlLexer.RESERVE_DISK_SPACE = 687; -TSqlLexer.RESOURCE = 688; -TSqlLexer.RESOURCE_MANAGER_LOCATION = 689; -TSqlLexer.RESTRICTED_USER = 690; -TSqlLexer.RETENTION = 691; -TSqlLexer.ROBUST = 692; -TSqlLexer.ROOT = 693; -TSqlLexer.ROUTE = 694; -TSqlLexer.ROW = 695; -TSqlLexer.ROW_NUMBER = 696; -TSqlLexer.ROWGUID = 697; -TSqlLexer.ROWS = 698; -TSqlLexer.SAMPLE = 699; -TSqlLexer.SCHEMABINDING = 700; -TSqlLexer.SCOPED = 701; -TSqlLexer.SCROLL = 702; -TSqlLexer.SCROLL_LOCKS = 703; -TSqlLexer.SEARCH = 704; -TSqlLexer.SECONDARY = 705; -TSqlLexer.SECONDARY_ONLY = 706; -TSqlLexer.SECONDARY_ROLE = 707; -TSqlLexer.SECONDS = 708; -TSqlLexer.SECRET = 709; -TSqlLexer.SECURITY = 710; -TSqlLexer.SECURITY_LOG = 711; -TSqlLexer.SEEDING_MODE = 712; -TSqlLexer.SELF = 713; -TSqlLexer.SEMI_SENSITIVE = 714; -TSqlLexer.SEND = 715; -TSqlLexer.SENT = 716; -TSqlLexer.SEQUENCE = 717; -TSqlLexer.SERIALIZABLE = 718; -TSqlLexer.SESSION_TIMEOUT = 719; -TSqlLexer.SETERROR = 720; -TSqlLexer.SHARE = 721; -TSqlLexer.SHOWPLAN = 722; -TSqlLexer.SIGNATURE = 723; -TSqlLexer.SIMPLE = 724; -TSqlLexer.SINGLE_USER = 725; -TSqlLexer.SIZE = 726; -TSqlLexer.SMALLINT = 727; -TSqlLexer.SNAPSHOT = 728; -TSqlLexer.SPATIAL_WINDOW_MAX_CELLS = 729; -TSqlLexer.STANDBY = 730; -TSqlLexer.START_DATE = 731; -TSqlLexer.STATIC = 732; -TSqlLexer.STATS_STREAM = 733; -TSqlLexer.STATUS = 734; -TSqlLexer.STATUSONLY = 735; -TSqlLexer.STDEV = 736; -TSqlLexer.STDEVP = 737; -TSqlLexer.STOPLIST = 738; -TSqlLexer.STRING_AGG = 739; -TSqlLexer.STUFF = 740; -TSqlLexer.SUBJECT = 741; -TSqlLexer.SUBSCRIPTION = 742; -TSqlLexer.SUM = 743; -TSqlLexer.SUSPEND = 744; -TSqlLexer.SYMMETRIC = 745; -TSqlLexer.SYNCHRONOUS_COMMIT = 746; -TSqlLexer.SYNONYM = 747; -TSqlLexer.SYSTEM = 748; -TSqlLexer.TAKE = 749; -TSqlLexer.TARGET_RECOVERY_TIME = 750; -TSqlLexer.TB = 751; -TSqlLexer.TEXTIMAGE_ON = 752; -TSqlLexer.THROW = 753; -TSqlLexer.TIES = 754; -TSqlLexer.TIME = 755; -TSqlLexer.TIMEOUT = 756; -TSqlLexer.TIMER = 757; -TSqlLexer.TINYINT = 758; -TSqlLexer.TORN_PAGE_DETECTION = 759; -TSqlLexer.TRANSFORM_NOISE_WORDS = 760; -TSqlLexer.TRIPLE_DES = 761; -TSqlLexer.TRIPLE_DES_3KEY = 762; -TSqlLexer.TRUSTWORTHY = 763; -TSqlLexer.TRY = 764; -TSqlLexer.TSQL = 765; -TSqlLexer.TWO_DIGIT_YEAR_CUTOFF = 766; -TSqlLexer.TYPE = 767; -TSqlLexer.TYPE_WARNING = 768; -TSqlLexer.UNBOUNDED = 769; -TSqlLexer.UNCOMMITTED = 770; -TSqlLexer.UNKNOWN = 771; -TSqlLexer.UNLIMITED = 772; -TSqlLexer.UOW = 773; -TSqlLexer.USING = 774; -TSqlLexer.VALID_XML = 775; -TSqlLexer.VALIDATION = 776; -TSqlLexer.VALUE = 777; -TSqlLexer.VAR = 778; -TSqlLexer.VARP = 779; -TSqlLexer.VIEW_METADATA = 780; -TSqlLexer.VIEWS = 781; -TSqlLexer.WAIT = 782; -TSqlLexer.WELL_FORMED_XML = 783; -TSqlLexer.WITHOUT_ARRAY_WRAPPER = 784; -TSqlLexer.WORK = 785; -TSqlLexer.WORKLOAD = 786; -TSqlLexer.XML = 787; -TSqlLexer.XMLDATA = 788; -TSqlLexer.XMLNAMESPACES = 789; -TSqlLexer.XMLSCHEMA = 790; -TSqlLexer.XSINIL = 791; -TSqlLexer.DOLLAR_ACTION = 792; -TSqlLexer.SPACE = 793; -TSqlLexer.COMMENT = 794; -TSqlLexer.LINE_COMMENT = 795; -TSqlLexer.DOUBLE_QUOTE_ID = 796; -TSqlLexer.SINGLE_QUOTE = 797; -TSqlLexer.SQUARE_BRACKET_ID = 798; -TSqlLexer.LOCAL_ID = 799; -TSqlLexer.DECIMAL = 800; -TSqlLexer.ID = 801; -TSqlLexer.QUOTED_URL = 802; -TSqlLexer.QUOTED_HOST_AND_PORT = 803; -TSqlLexer.STRING = 804; -TSqlLexer.BINARY = 805; -TSqlLexer.FLOAT = 806; -TSqlLexer.REAL = 807; -TSqlLexer.EQUAL = 808; -TSqlLexer.GREATER = 809; -TSqlLexer.LESS = 810; -TSqlLexer.EXCLAMATION = 811; -TSqlLexer.PLUS_ASSIGN = 812; -TSqlLexer.MINUS_ASSIGN = 813; -TSqlLexer.MULT_ASSIGN = 814; -TSqlLexer.DIV_ASSIGN = 815; -TSqlLexer.MOD_ASSIGN = 816; -TSqlLexer.AND_ASSIGN = 817; -TSqlLexer.XOR_ASSIGN = 818; -TSqlLexer.OR_ASSIGN = 819; -TSqlLexer.DOUBLE_BAR = 820; -TSqlLexer.DOT = 821; -TSqlLexer.UNDERLINE = 822; -TSqlLexer.AT = 823; -TSqlLexer.SHARP = 824; -TSqlLexer.DOLLAR = 825; -TSqlLexer.LR_BRACKET = 826; -TSqlLexer.RR_BRACKET = 827; -TSqlLexer.COMMA = 828; -TSqlLexer.SEMI = 829; -TSqlLexer.COLON = 830; -TSqlLexer.STAR = 831; -TSqlLexer.DIVIDE = 832; -TSqlLexer.MODULE = 833; -TSqlLexer.PLUS = 834; -TSqlLexer.MINUS = 835; -TSqlLexer.BIT_NOT = 836; -TSqlLexer.BIT_OR = 837; -TSqlLexer.BIT_AND = 838; -TSqlLexer.BIT_XOR = 839; -TSqlLexer.IPV4_OCTECT = 840; - -TSqlLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; - -TSqlLexer.prototype.modeNames = [ "DEFAULT_MODE" ]; - -TSqlLexer.prototype.literalNames = [ null, "'ABSENT'", "'ADD'", "'AES'", - "'ALL'", "'ALLOW_CONNECTIONS'", "'ALLOW_MULTIPLE_EVENT_LOSS'", - "'ALLOW_SINGLE_EVENT_LOSS'", "'ALTER'", - "'AND'", "'ANONYMOUS'", "'ANY'", "'APPEND'", - "'APPLICATION'", "'AS'", "'ASC'", "'ASYMMETRIC'", - "'ASYNCHRONOUS_COMMIT'", "'AUTHORIZATION'", - "'AUTHENTICATION'", "'AUTOMATED_BACKUP_PREFERENCE'", - "'AUTOMATIC'", "'AVAILABILITY_MODE'", - "'\\'", "'BACKUP'", "'BEFORE'", "'BEGIN'", - "'BETWEEN'", "'BLOCK'", "'BLOCKSIZE'", - "'BLOCKING_HIERARCHY'", "'BREAK'", - "'BROWSE'", "'BUFFER'", "'BUFFERCOUNT'", - "'BULK'", "'BY'", "'CACHE'", "'CALLED'", - "'CASCADE'", "'CASE'", "'CERTIFICATE'", - "'CHANGETABLE'", "'CHANGES'", "'CHECK'", - "'CHECKPOINT'", "'CHECK_POLICY'", "'CHECK_EXPIRATION'", - "'CLASSIFIER_FUNCTION'", "'CLOSE'", - "'CLUSTER'", "'CLUSTERED'", "'COALESCE'", - "'COLLATE'", "'COLUMN'", "'COMPRESSION'", - "'COMMIT'", "'COMPUTE'", "'CONFIGURATION'", - "'CONSTRAINT'", "'CONTAINMENT'", "'CONTAINS'", - "'CONTAINSTABLE'", "'CONTEXT'", "'CONTINUE'", - "'CONTINUE_AFTER_ERROR'", "'CONTRACT'", - "'CONTRACT_NAME'", "'CONVERSATION'", - null, "'COPY_ONLY'", "'CREATE'", "'CROSS'", - "'CURRENT'", "'CURRENT_DATE'", "'CURRENT_TIME'", - "'CURRENT_TIMESTAMP'", "'CURRENT_USER'", - "'CURSOR'", "'CYCLE'", "'DATA_COMPRESSION'", - "'DATA_SOURCE'", "'DATABASE'", "'DATABASE_MIRRORING'", - "'DBCC'", "'DEALLOCATE'", "'DECLARE'", - "'DEFAULT'", "'DEFAULT_DATABASE'", - "'DEFAULT_SCHEMA'", "'DELETE'", "'DENY'", - "'DESC'", "'DIAGNOSTICS'", "'DIFFERENTIAL'", - "'DISK'", "'DISTINCT'", "'DISTRIBUTED'", - "'DOUBLE'", "'\\\\'", "'//'", "'DROP'", - "'DTC_SUPPORT'", "'DUMP'", "'ELSE'", - "'ENABLED'", "'END'", "'ENDPOINT'", - "'ERRLVL'", "'ESCAPE'", "'ERROR'", - "'EVENT'", null, "'EVENT_RETENTION_MODE'", - "'EXCEPT'", "'EXECUTABLE_FILE'", null, - "'EXISTS'", "'EXPIREDATE'", "'EXIT'", - "'EXTENSION'", "'EXTERNAL'", "'EXTERNAL_ACCESS'", - "'FAILOVER'", "'FAILURECONDITIONLEVEL'", - "'FAN_IN'", "'FETCH'", "'FILE'", "'FILENAME'", - "'FILLFACTOR'", "'FILE_SNAPSHOT'", - "'FOR'", "'FORCESEEK'", "'FORCE_SERVICE_ALLOW_DATA_LOSS'", - "'FOREIGN'", "'FREETEXT'", "'FREETEXTTABLE'", - "'FROM'", "'FULL'", "'FUNCTION'", "'GET'", - "'GOTO'", "'GOVERNOR'", "'GRANT'", - "'GROUP'", "'HAVING'", "'HASHED'", - "'HEALTHCHECKTIMEOUT'", "'IDENTITY'", - "'IDENTITYCOL'", "'IDENTITY_INSERT'", - "'IF'", "'IIF'", "'IN'", "'INCLUDE'", - "'INCREMENT'", "'INDEX'", "'INFINITE'", - "'INIT'", "'INNER'", "'INSERT'", "'INSTEAD'", - "'INTERSECT'", "'INTO'", null, null, - "'IS'", "'ISNULL'", "'JOIN'", "'KERBEROS'", - "'KEY'", "'KEY_PATH'", "'KEY_STORE_PROVIDER_NAME'", - "'KILL'", "'LANGUAGE'", "'LEFT'", "'LIBRARY'", - "'LIFETIME'", "'LIKE'", "'LINENO'", - "'LINUX'", "'LISTENER_IP'", "'LISTENER_PORT'", - "'LOAD'", "'LOCAL_SERVICE_NAME'", "'LOG'", - "'MATCHED'", "'MASTER'", "'MAX_MEMORY'", - "'MAXTRANSFER'", "'MAXVALUE'", "'MAX_DISPATCH_LATENCY'", - "'MAX_EVENT_SIZE'", "'MAX_SIZE'", "'MAX_OUTSTANDING_IO_PER_VOLUME'", - "'MEDIADESCRIPTION'", "'MEDIANAME'", - "'MEMBER'", "'MEMORY_PARTITION_MODE'", - "'MERGE'", "'MESSAGE_FORWARDING'", - "'MESSAGE_FORWARD_SIZE'", "'MINVALUE'", - "'MIRROR'", "'MUST_CHANGE'", "'NATIONAL'", - "'NEGOTIATE'", "'NOCHECK'", "'NOFORMAT'", - "'NOINIT'", "'NONCLUSTERED'", "'NONE'", - "'NOREWIND'", "'NOSKIP'", "'NOUNLOAD'", - "'NO_CHECKSUM'", "'NO_COMPRESSION'", - "'NO_EVENT_LOSS'", "'NOT'", "'NOTIFICATION'", - "'NTLM'", "'NULL'", "'NULLIF'", "'OF'", - "'OFF'", "'OFFSETS'", "'OLD_PASSWORD'", - "'ON'", "'ON_FAILURE'", "'OPEN'", "'OPENDATASOURCE'", - "'OPENQUERY'", "'OPENROWSET'", "'OPENXML'", - "'OPTION'", "'OR'", "'ORDER'", "'OUTER'", - "'OVER'", "'PAGE'", "'PARAM_NODE'", - "'PARTIAL'", "'PASSWORD'", "'PERCENT'", - "'PERMISSION_SET'", "'PER_CPU'", "'PER_DB'", - "'PER_NODE'", "'PIVOT'", "'PLAN'", - "'PLATFORM'", "'POLICY'", "'PRECISION'", - "'PREDICATE'", "'PRIMARY'", "'PRINT'", - "'PROC'", "'PROCEDURE'", "'PROCESS'", - "'PUBLIC'", "'PYTHON'", "'R'", "'RAISERROR'", - "'RAW'", "'READ'", "'READTEXT'", "'READ_WRITE_FILEGROUPS'", - "'RECONFIGURE'", "'REFERENCES'", "'REGENERATE'", - "'RELATED_CONVERSATION'", "'RELATED_CONVERSATION_GROUP'", - "'REPLICATION'", "'REQUIRED'", "'RESET'", - "'RESTART'", "'RESTORE'", "'RESTRICT'", - "'RESUME'", "'RETAINDAYS'", "'RETURN'", - "'RETURNS'", "'REVERT'", "'REVOKE'", - "'REWIND'", "'RIGHT'", "'ROLLBACK'", - "'ROLE'", "'ROWCOUNT'", "'ROWGUIDCOL'", - "'RSA_512'", "'RSA_1024'", "'RSA_2048'", - "'RSA_3072'", "'RSA_4096'", "'SAFETY'", - "'RULE'", "'SAFE'", "'SAVE'", "'SCHEDULER'", - "'SCHEMA'", "'SCHEME'", "'SECURITYAUDIT'", - "'SELECT'", "'SEMANTICKEYPHRASETABLE'", - "'SEMANTICSIMILARITYDETAILSTABLE'", - "'SEMANTICSIMILARITYTABLE'", "'SERVER'", - "'SERVICE'", "'SERVICE_BROKER'", "'SERVICE_NAME'", - "'SESSION'", "'SESSION_USER'", "'SET'", - "'SETUSER'", "'SHUTDOWN'", "'SID'", - "'SKIP'", "'SOFTNUMA'", "'SOME'", "'SOURCE'", - "'SPECIFICATION'", "'SPLIT'", "'SQLDUMPERFLAGS'", - "'SQLDUMPERPATH'", "'SQLDUMPERTIMEOUTS'", - "'STATISTICS'", "'STATE'", "'STATS'", - "'START'", "'STARTED'", "'STARTUP_STATE'", - "'STOP'", "'STOPPED'", "'STOP_ON_ERROR'", - "'SUPPORTED'", "'SYSTEM_USER'", "'TABLE'", - "'TABLESAMPLE'", "'TAPE'", "'TARGET'", - "'TCP'", "'TEXTSIZE'", "'THEN'", "'TO'", - "'TOP'", "'TRACK_CAUSALITY'", "'TRAN'", - "'TRANSACTION'", "'TRANSFER'", "'TRIGGER'", - "'TRUNCATE'", "'TSEQUAL'", "'UNCHECKED'", - "'UNION'", "'UNIQUE'", "'UNLOCK'", - "'UNPIVOT'", "'UNSAFE'", "'UPDATE'", - "'UPDATETEXT'", "'URL'", "'USE'", "'USED'", - "'USER'", "'VALUES'", "'VARYING'", - "'VERBOSELOGGING'", "'VIEW'", "'VISIBILITY'", - "'WAITFOR'", "'WHEN'", "'WHERE'", "'WHILE'", - "'WINDOWS'", "'WITH'", "'WITHIN'", - "'WITHOUT'", "'WITNESS'", "'WRITETEXT'", - "'ABSOLUTE'", "'ACCENT_SENSITIVITY'", - "'ACTION'", "'ACTIVATION'", "'ACTIVE'", - "'ADDRESS'", "'AES_128'", "'AES_192'", - "'AES_256'", "'AFFINITY'", "'AFTER'", - "'AGGREGATE'", "'ALGORITHM'", "'ALLOW_ENCRYPTED_VALUE_MODIFICATIONS'", - "'ALLOW_SNAPSHOT_ISOLATION'", "'ALLOWED'", - "'ANSI_NULL_DEFAULT'", "'ANSI_NULLS'", - "'ANSI_PADDING'", "'ANSI_WARNINGS'", - "'APPLICATION_LOG'", "'APPLY'", "'ARITHABORT'", - "'ASSEMBLY'", "'AUDIT'", "'AUDIT_GUID'", - "'AUTO'", "'AUTO_CLEANUP'", "'AUTO_CLOSE'", - "'AUTO_CREATE_STATISTICS'", "'AUTO_SHRINK'", - "'AUTO_UPDATE_STATISTICS'", "'AUTO_UPDATE_STATISTICS_ASYNC'", - "'AVAILABILITY'", "'AVG'", "'BACKUP_PRIORITY'", - "'BEGIN_DIALOG'", "'BIGINT'", "'BINARY BASE64'", - "'BINARY_CHECKSUM'", "'BINDING'", "'BLOB_STORAGE'", - "'BROKER'", "'BROKER_INSTANCE'", "'BULK_LOGGED'", - "'CALLER'", "'CAP_CPU_PERCENT'", null, - "'CATALOG'", "'CATCH'", "'CHANGE_RETENTION'", - "'CHANGE_TRACKING'", "'CHECKSUM'", - "'CHECKSUM_AGG'", "'CLEANUP'", "'COLLECTION'", - "'COLUMN_MASTER_KEY'", "'COMMITTED'", - "'COMPATIBILITY_LEVEL'", "'CONCAT'", - "'CONCAT_NULL_YIELDS_NULL'", "'CONTENT'", - "'CONTROL'", "'COOKIE'", "'COUNT'", - "'COUNT_BIG'", "'COUNTER'", "'CPU'", - "'CREATE_NEW'", "'CREATION_DISPOSITION'", - "'CREDENTIAL'", "'CRYPTOGRAPHIC'", - "'CURSOR_CLOSE_ON_COMMIT'", "'CURSOR_DEFAULT'", - "'DATA'", "'DATE_CORRELATION_OPTIMIZATION'", - "'DATEADD'", "'DATEDIFF'", "'DATENAME'", - "'DATEPART'", "'DAYS'", "'DB_CHAINING'", - "'DB_FAILOVER'", "'DECRYPTION'", null, - "'DEFAULT_FULLTEXT_LANGUAGE'", "'DEFAULT_LANGUAGE'", - "'DELAY'", "'DELAYED_DURABILITY'", - "'DELETED'", "'DENSE_RANK'", "'DEPENDENTS'", - "'DES'", "'DESCRIPTION'", "'DESX'", - "'DHCP'", "'DIALOG'", "'DIRECTORY_NAME'", - "'DISABLE'", "'DISABLE_BROKER'", "'DISABLED'", - null, "'DOCUMENT'", "'DYNAMIC'", "'ELEMENTS'", - "'EMERGENCY'", "'EMPTY'", "'ENABLE'", - "'ENABLE_BROKER'", "'ENCRYPTED_VALUE'", - "'ENCRYPTION'", "'ENDPOINT_URL'", "'ERROR_BROKER_CONVERSATIONS'", - "'EXCLUSIVE'", "'EXECUTABLE'", "'EXIST'", - "'EXPAND'", "'EXPIRY_DATE'", "'EXPLICIT'", - "'FAIL_OPERATION'", "'FAILOVER_MODE'", - "'FAILURE'", "'FAILURE_CONDITION_LEVEL'", - "'FAST'", "'FAST_FORWARD'", "'FILEGROUP'", - "'FILEGROWTH'", "'FILEPATH'", "'FILESTREAM'", - "'FILTER'", "'FIRST'", "'FIRST_VALUE'", - "'FOLLOWING'", "'FORCE'", "'FORCE_FAILOVER_ALLOW_DATA_LOSS'", - "'FORCED'", "'FORMAT'", "'FORWARD_ONLY'", - "'FULLSCAN'", "'FULLTEXT'", "'GB'", - "'GETDATE'", "'GETUTCDATE'", "'GLOBAL'", - "'GO'", "'GROUP_MAX_REQUESTS'", "'GROUPING'", - "'GROUPING_ID'", "'HADR'", "'HASH'", - "'HEALTH_CHECK_TIMEOUT'", "'HIGH'", - "'HONOR_BROKER_PRIORITY'", "'HOURS'", - "'IDENTITY_VALUE'", "'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX'", - "'IMMEDIATE'", "'IMPERSONATE'", "'IMPORTANCE'", - "'INCLUDE_NULL_VALUES'", "'INCREMENTAL'", - "'INITIATOR'", "'INPUT'", "'INSENSITIVE'", - "'INSERTED'", "'INT'", "'IP'", "'ISOLATION'", - "'JOB'", "'JSON'", "'KB'", "'KEEP'", - "'KEEPFIXED'", "'KEY_SOURCE'", "'KEYS'", - "'KEYSET'", "'LAG'", "'LAST'", "'LAST_VALUE'", - "'LEAD'", "'LEVEL'", "'LIST'", "'LISTENER'", - "'LISTENER_URL'", "'LOB_COMPACTION'", - "'LOCAL'", "'LOCATION'", "'LOCK'", - "'LOCK_ESCALATION'", "'LOGIN'", "'LOOP'", - "'LOW'", "'MANUAL'", "'MARK'", "'MATERIALIZED'", - "'MAX'", "'MAX_CPU_PERCENT'", "'MAX_DOP'", - "'MAX_FILES'", "'MAX_IOPS_PER_VOLUME'", - "'MAX_MEMORY_PERCENT'", "'MAX_PROCESSES'", - "'MAX_QUEUE_READERS'", "'MAX_ROLLOVER_FILES'", - "'MAXDOP'", "'MAXRECURSION'", "'MAXSIZE'", - "'MB'", "'MEDIUM'", "'MEMORY_OPTIMIZED_DATA'", - "'MESSAGE'", "'MIN'", "'MIN_ACTIVE_ROWVERSION'", - "'MIN_CPU_PERCENT'", "'MIN_IOPS_PER_VOLUME'", - "'MIN_MEMORY_PERCENT'", "'MINUTES'", - "'MIRROR_ADDRESS'", "'MIXED_PAGE_ALLOCATION'", - "'MODE'", "'MODIFY'", "'MOVE'", "'MULTI_USER'", - "'NAME'", "'NESTED_TRIGGERS'", "'NEW_ACCOUNT'", - "'NEW_BROKER'", "'NEW_PASSWORD'", "'NEXT'", - "'NO'", "'NO_TRUNCATE'", "'NO_WAIT'", - "'NOCOUNT'", "'NODES'", "'NOEXPAND'", - "'NON_TRANSACTED_ACCESS'", "'NORECOMPUTE'", - "'NORECOVERY'", "'NOWAIT'", "'NTILE'", - "'NUMANODE'", "'NUMBER'", "'NUMERIC_ROUNDABORT'", - "'OBJECT'", "'OFFLINE'", "'OFFSET'", - "'OLD_ACCOUNT'", "'ONLINE'", "'ONLY'", - "'OPEN_EXISTING'", "'OPTIMISTIC'", - "'OPTIMIZE'", "'OUT'", "'OUTPUT'", - "'OVERRIDE'", "'OWNER'", "'PAGE_VERIFY'", - "'PARAMETERIZATION'", "'PARTITION'", - "'PARTITIONS'", "'PARTNER'", "'PATH'", - "'POISON_MESSAGE_HANDLING'", "'POOL'", - "'PORT'", "'PRECEDING'", "'PRIMARY_ROLE'", - "'PRIOR'", "'PRIORITY'", "'PRIORITY_LEVEL'", - "'PRIVATE'", "'PRIVATE_KEY'", "'PRIVILEGES'", - "'PROCEDURE_NAME'", "'PROPERTY'", "'PROVIDER'", - "'PROVIDER_KEY_NAME'", "'QUERY'", "'QUEUE'", - "'QUEUE_DELAY'", "'QUOTED_IDENTIFIER'", - "'RANGE'", "'RANK'", "'RC2'", "'RC4'", - "'RC4_128'", "'READ_COMMITTED_SNAPSHOT'", - "'READ_ONLY'", "'READ_ONLY_ROUTING_LIST'", - "'READ_WRITE'", "'READONLY'", "'REBUILD'", - "'RECEIVE'", "'RECOMPILE'", "'RECOVERY'", - "'RECURSIVE_TRIGGERS'", "'RELATIVE'", - "'REMOTE'", "'REMOTE_SERVICE_NAME'", - "'REMOVE'", "'REORGANIZE'", "'REPEATABLE'", - "'REPLICA'", "'REQUEST_MAX_CPU_TIME_SEC'", - "'REQUEST_MAX_MEMORY_GRANT_PERCENT'", - "'REQUEST_MEMORY_GRANT_TIMEOUT_SEC'", - "'REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT'", - "'RESERVE_DISK_SPACE'", "'RESOURCE'", - "'RESOURCE_MANAGER_LOCATION'", "'RESTRICTED_USER'", - "'RETENTION'", "'ROBUST'", "'ROOT'", - "'ROUTE'", "'ROW'", "'ROW_NUMBER'", - "'ROWGUID'", "'ROWS'", "'SAMPLE'", - "'SCHEMABINDING'", "'SCOPED'", "'SCROLL'", - "'SCROLL_LOCKS'", "'SEARCH'", "'SECONDARY'", - "'SECONDARY_ONLY'", "'SECONDARY_ROLE'", - "'SECONDS'", "'SECRET'", "'SECURITY'", - "'SECURITY_LOG'", "'SEEDING_MODE'", - "'SELF'", "'SEMI_SENSITIVE'", "'SEND'", - "'SENT'", "'SEQUENCE'", "'SERIALIZABLE'", - "'SESSION_TIMEOUT'", "'SETERROR'", - "'SHARE'", "'SHOWPLAN'", "'SIGNATURE'", - "'SIMPLE'", "'SINGLE_USER'", "'SIZE'", - "'SMALLINT'", "'SNAPSHOT'", "'SPATIAL_WINDOW_MAX_CELLS'", - "'STANDBY'", "'START_DATE'", "'STATIC'", - "'STATS_STREAM'", "'STATUS'", "'STATUSONLY'", - "'STDEV'", "'STDEVP'", "'STOPLIST'", - "'STRING_AGG'", "'STUFF'", "'SUBJECT'", - "'SUBSCRIPTION'", "'SUM'", "'SUSPEND'", - "'SYMMETRIC'", "'SYNCHRONOUS_COMMIT'", - "'SYNONYM'", "'SYSTEM'", "'TAKE'", - "'TARGET_RECOVERY_TIME'", "'TB'", "'TEXTIMAGE_ON'", - "'THROW'", "'TIES'", "'TIME'", "'TIMEOUT'", - "'TIMER'", "'TINYINT'", "'TORN_PAGE_DETECTION'", - "'TRANSFORM_NOISE_WORDS'", "'TRIPLE_DES'", - "'TRIPLE_DES_3KEY'", "'TRUSTWORTHY'", - "'TRY'", "'TSQL'", "'TWO_DIGIT_YEAR_CUTOFF'", - "'TYPE'", "'TYPE_WARNING'", "'UNBOUNDED'", - "'UNCOMMITTED'", "'UNKNOWN'", "'UNLIMITED'", - "'UOW'", "'USING'", "'VALID_XML'", - "'VALIDATION'", "'VALUE'", "'VAR'", - "'VARP'", "'VIEW_METADATA'", "'VIEWS'", - "'WAIT'", "'WELL_FORMED_XML'", "'WITHOUT_ARRAY_WRAPPER'", - "'WORK'", "'WORKLOAD'", "'XML'", "'XMLDATA'", - "'XMLNAMESPACES'", "'XMLSCHEMA'", "'XSINIL'", - "'$ACTION'", null, null, null, null, - "'''", null, null, null, null, null, - null, null, null, null, null, "'='", - "'>'", "'<'", "'!'", "'+='", "'-='", - "'*='", "'/='", "'%='", "'&='", "'^='", - "'|='", "'||'", "'.'", "'_'", "'@'", - "'#'", "'$'", "'('", "')'", "','", - "';'", "':'", "'*'", "'/'", "'%'", - "'+'", "'-'", "'~'", "'|'", "'&'", - "'^'" ]; - -TSqlLexer.prototype.symbolicNames = [ null, "ABSENT", "ADD", "AES", "ALL", - "ALLOW_CONNECTIONS", "ALLOW_MULTIPLE_EVENT_LOSS", - "ALLOW_SINGLE_EVENT_LOSS", "ALTER", - "AND", "ANONYMOUS", "ANY", "APPEND", - "APPLICATION", "AS", "ASC", "ASYMMETRIC", - "ASYNCHRONOUS_COMMIT", "AUTHORIZATION", - "AUTHENTICATION", "AUTOMATED_BACKUP_PREFERENCE", - "AUTOMATIC", "AVAILABILITY_MODE", - "BACKSLASH", "BACKUP", "BEFORE", "BEGIN", - "BETWEEN", "BLOCK", "BLOCKSIZE", "BLOCKING_HIERARCHY", - "BREAK", "BROWSE", "BUFFER", "BUFFERCOUNT", - "BULK", "BY", "CACHE", "CALLED", "CASCADE", - "CASE", "CERTIFICATE", "CHANGETABLE", - "CHANGES", "CHECK", "CHECKPOINT", - "CHECK_POLICY", "CHECK_EXPIRATION", - "CLASSIFIER_FUNCTION", "CLOSE", "CLUSTER", - "CLUSTERED", "COALESCE", "COLLATE", - "COLUMN", "COMPRESSION", "COMMIT", - "COMPUTE", "CONFIGURATION", "CONSTRAINT", - "CONTAINMENT", "CONTAINS", "CONTAINSTABLE", - "CONTEXT", "CONTINUE", "CONTINUE_AFTER_ERROR", - "CONTRACT", "CONTRACT_NAME", "CONVERSATION", - "CONVERT", "COPY_ONLY", "CREATE", - "CROSS", "CURRENT", "CURRENT_DATE", - "CURRENT_TIME", "CURRENT_TIMESTAMP", - "CURRENT_USER", "CURSOR", "CYCLE", - "DATA_COMPRESSION", "DATA_SOURCE", - "DATABASE", "DATABASE_MIRRORING", - "DBCC", "DEALLOCATE", "DECLARE", "DEFAULT", - "DEFAULT_DATABASE", "DEFAULT_SCHEMA", - "DELETE", "DENY", "DESC", "DIAGNOSTICS", - "DIFFERENTIAL", "DISK", "DISTINCT", - "DISTRIBUTED", "DOUBLE", "DOUBLE_BACK_SLASH", - "DOUBLE_FORWARD_SLASH", "DROP", "DTC_SUPPORT", - "DUMP", "ELSE", "ENABLED", "END", - "ENDPOINT", "ERRLVL", "ESCAPE", "ERROR", - "EVENT", "EVENTDATA", "EVENT_RETENTION_MODE", - "EXCEPT", "EXECUTABLE_FILE", "EXECUTE", - "EXISTS", "EXPIREDATE", "EXIT", "EXTENSION", - "EXTERNAL", "EXTERNAL_ACCESS", "FAILOVER", - "FAILURECONDITIONLEVEL", "FAN_IN", - "FETCH", "FILE", "FILENAME", "FILLFACTOR", - "FILE_SNAPSHOT", "FOR", "FORCESEEK", - "FORCE_SERVICE_ALLOW_DATA_LOSS", "FOREIGN", - "FREETEXT", "FREETEXTTABLE", "FROM", - "FULL", "FUNCTION", "GET", "GOTO", - "GOVERNOR", "GRANT", "GROUP", "HAVING", - "HASHED", "HEALTHCHECKTIMEOUT", "IDENTITY", - "IDENTITYCOL", "IDENTITY_INSERT", - "IF", "IIF", "IN", "INCLUDE", "INCREMENT", - "INDEX", "INFINITE", "INIT", "INNER", - "INSERT", "INSTEAD", "INTERSECT", - "INTO", "IPV4_ADDR", "IPV6_ADDR", - "IS", "ISNULL", "JOIN", "KERBEROS", - "KEY", "KEY_PATH", "KEY_STORE_PROVIDER_NAME", - "KILL", "LANGUAGE", "LEFT", "LIBRARY", - "LIFETIME", "LIKE", "LINENO", "LINUX", - "LISTENER_IP", "LISTENER_PORT", "LOAD", - "LOCAL_SERVICE_NAME", "LOG", "MATCHED", - "MASTER", "MAX_MEMORY", "MAXTRANSFER", - "MAXVALUE", "MAX_DISPATCH_LATENCY", - "MAX_EVENT_SIZE", "MAX_SIZE", "MAX_OUTSTANDING_IO_PER_VOLUME", - "MEDIADESCRIPTION", "MEDIANAME", "MEMBER", - "MEMORY_PARTITION_MODE", "MERGE", - "MESSAGE_FORWARDING", "MESSAGE_FORWARD_SIZE", - "MINVALUE", "MIRROR", "MUST_CHANGE", - "NATIONAL", "NEGOTIATE", "NOCHECK", - "NOFORMAT", "NOINIT", "NONCLUSTERED", - "NONE", "NOREWIND", "NOSKIP", "NOUNLOAD", - "NO_CHECKSUM", "NO_COMPRESSION", "NO_EVENT_LOSS", - "NOT", "NOTIFICATION", "NTLM", "NULL", - "NULLIF", "OF", "OFF", "OFFSETS", - "OLD_PASSWORD", "ON", "ON_FAILURE", - "OPEN", "OPENDATASOURCE", "OPENQUERY", - "OPENROWSET", "OPENXML", "OPTION", - "OR", "ORDER", "OUTER", "OVER", "PAGE", - "PARAM_NODE", "PARTIAL", "PASSWORD", - "PERCENT", "PERMISSION_SET", "PER_CPU", - "PER_DB", "PER_NODE", "PIVOT", "PLAN", - "PLATFORM", "POLICY", "PRECISION", - "PREDICATE", "PRIMARY", "PRINT", "PROC", - "PROCEDURE", "PROCESS", "PUBLIC", - "PYTHON", "R", "RAISERROR", "RAW", - "READ", "READTEXT", "READ_WRITE_FILEGROUPS", - "RECONFIGURE", "REFERENCES", "REGENERATE", - "RELATED_CONVERSATION", "RELATED_CONVERSATION_GROUP", - "REPLICATION", "REQUIRED", "RESET", - "RESTART", "RESTORE", "RESTRICT", - "RESUME", "RETAINDAYS", "RETURN", - "RETURNS", "REVERT", "REVOKE", "REWIND", - "RIGHT", "ROLLBACK", "ROLE", "ROWCOUNT", - "ROWGUIDCOL", "RSA_512", "RSA_1024", - "RSA_2048", "RSA_3072", "RSA_4096", - "SAFETY", "RULE", "SAFE", "SAVE", - "SCHEDULER", "SCHEMA", "SCHEME", "SECURITYAUDIT", - "SELECT", "SEMANTICKEYPHRASETABLE", - "SEMANTICSIMILARITYDETAILSTABLE", - "SEMANTICSIMILARITYTABLE", "SERVER", - "SERVICE", "SERVICE_BROKER", "SERVICE_NAME", - "SESSION", "SESSION_USER", "SET", - "SETUSER", "SHUTDOWN", "SID", "SKIP_KEYWORD", - "SOFTNUMA", "SOME", "SOURCE", "SPECIFICATION", - "SPLIT", "SQLDUMPERFLAGS", "SQLDUMPERPATH", - "SQLDUMPERTIMEOUT", "STATISTICS", - "STATE", "STATS", "START", "STARTED", - "STARTUP_STATE", "STOP", "STOPPED", - "STOP_ON_ERROR", "SUPPORTED", "SYSTEM_USER", - "TABLE", "TABLESAMPLE", "TAPE", "TARGET", - "TCP", "TEXTSIZE", "THEN", "TO", "TOP", - "TRACK_CAUSALITY", "TRAN", "TRANSACTION", - "TRANSFER", "TRIGGER", "TRUNCATE", - "TSEQUAL", "UNCHECKED", "UNION", "UNIQUE", - "UNLOCK", "UNPIVOT", "UNSAFE", "UPDATE", - "UPDATETEXT", "URL", "USE", "USED", - "USER", "VALUES", "VARYING", "VERBOSELOGGING", - "VIEW", "VISIBILITY", "WAITFOR", "WHEN", - "WHERE", "WHILE", "WINDOWS", "WITH", - "WITHIN", "WITHOUT", "WITNESS", "WRITETEXT", - "ABSOLUTE", "ACCENT_SENSITIVITY", - "ACTION", "ACTIVATION", "ACTIVE", - "ADDRESS", "AES_128", "AES_192", "AES_256", - "AFFINITY", "AFTER", "AGGREGATE", - "ALGORITHM", "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS", - "ALLOW_SNAPSHOT_ISOLATION", "ALLOWED", - "ANSI_NULL_DEFAULT", "ANSI_NULLS", - "ANSI_PADDING", "ANSI_WARNINGS", "APPLICATION_LOG", - "APPLY", "ARITHABORT", "ASSEMBLY", - "AUDIT", "AUDIT_GUID", "AUTO", "AUTO_CLEANUP", - "AUTO_CLOSE", "AUTO_CREATE_STATISTICS", - "AUTO_SHRINK", "AUTO_UPDATE_STATISTICS", - "AUTO_UPDATE_STATISTICS_ASYNC", "AVAILABILITY", - "AVG", "BACKUP_PRIORITY", "BEGIN_DIALOG", - "BIGINT", "BINARY_BASE64", "BINARY_CHECKSUM", - "BINDING", "BLOB_STORAGE", "BROKER", - "BROKER_INSTANCE", "BULK_LOGGED", - "CALLER", "CAP_CPU_PERCENT", "CAST", - "CATALOG", "CATCH", "CHANGE_RETENTION", - "CHANGE_TRACKING", "CHECKSUM", "CHECKSUM_AGG", - "CLEANUP", "COLLECTION", "COLUMN_MASTER_KEY", - "COMMITTED", "COMPATIBILITY_LEVEL", - "CONCAT", "CONCAT_NULL_YIELDS_NULL", - "CONTENT", "CONTROL", "COOKIE", "COUNT", - "COUNT_BIG", "COUNTER", "CPU", "CREATE_NEW", - "CREATION_DISPOSITION", "CREDENTIAL", - "CRYPTOGRAPHIC", "CURSOR_CLOSE_ON_COMMIT", - "CURSOR_DEFAULT", "DATA", "DATE_CORRELATION_OPTIMIZATION", - "DATEADD", "DATEDIFF", "DATENAME", - "DATEPART", "DAYS", "DB_CHAINING", - "DB_FAILOVER", "DECRYPTION", "DEFAULT_DOUBLE_QUOTE", - "DEFAULT_FULLTEXT_LANGUAGE", "DEFAULT_LANGUAGE", - "DELAY", "DELAYED_DURABILITY", "DELETED", - "DENSE_RANK", "DEPENDENTS", "DES", - "DESCRIPTION", "DESX", "DHCP", "DIALOG", - "DIRECTORY_NAME", "DISABLE", "DISABLE_BROKER", - "DISABLED", "DISK_DRIVE", "DOCUMENT", - "DYNAMIC", "ELEMENTS", "EMERGENCY", - "EMPTY", "ENABLE", "ENABLE_BROKER", - "ENCRYPTED_VALUE", "ENCRYPTION", "ENDPOINT_URL", - "ERROR_BROKER_CONVERSATIONS", "EXCLUSIVE", - "EXECUTABLE", "EXIST", "EXPAND", "EXPIRY_DATE", - "EXPLICIT", "FAIL_OPERATION", "FAILOVER_MODE", - "FAILURE", "FAILURE_CONDITION_LEVEL", - "FAST", "FAST_FORWARD", "FILEGROUP", - "FILEGROWTH", "FILEPATH", "FILESTREAM", - "FILTER", "FIRST", "FIRST_VALUE", - "FOLLOWING", "FORCE", "FORCE_FAILOVER_ALLOW_DATA_LOSS", - "FORCED", "FORMAT", "FORWARD_ONLY", - "FULLSCAN", "FULLTEXT", "GB", "GETDATE", - "GETUTCDATE", "GLOBAL", "GO", "GROUP_MAX_REQUESTS", - "GROUPING", "GROUPING_ID", "HADR", - "HASH", "HEALTH_CHECK_TIMEOUT", "HIGH", - "HONOR_BROKER_PRIORITY", "HOURS", - "IDENTITY_VALUE", "IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX", - "IMMEDIATE", "IMPERSONATE", "IMPORTANCE", - "INCLUDE_NULL_VALUES", "INCREMENTAL", - "INITIATOR", "INPUT", "INSENSITIVE", - "INSERTED", "INT", "IP", "ISOLATION", - "JOB", "JSON", "KB", "KEEP", "KEEPFIXED", - "KEY_SOURCE", "KEYS", "KEYSET", "LAG", - "LAST", "LAST_VALUE", "LEAD", "LEVEL", - "LIST", "LISTENER", "LISTENER_URL", - "LOB_COMPACTION", "LOCAL", "LOCATION", - "LOCK", "LOCK_ESCALATION", "LOGIN", - "LOOP", "LOW", "MANUAL", "MARK", "MATERIALIZED", - "MAX", "MAX_CPU_PERCENT", "MAX_DOP", - "MAX_FILES", "MAX_IOPS_PER_VOLUME", - "MAX_MEMORY_PERCENT", "MAX_PROCESSES", - "MAX_QUEUE_READERS", "MAX_ROLLOVER_FILES", - "MAXDOP", "MAXRECURSION", "MAXSIZE", - "MB", "MEDIUM", "MEMORY_OPTIMIZED_DATA", - "MESSAGE", "MIN", "MIN_ACTIVE_ROWVERSION", - "MIN_CPU_PERCENT", "MIN_IOPS_PER_VOLUME", - "MIN_MEMORY_PERCENT", "MINUTES", "MIRROR_ADDRESS", - "MIXED_PAGE_ALLOCATION", "MODE", "MODIFY", - "MOVE", "MULTI_USER", "NAME", "NESTED_TRIGGERS", - "NEW_ACCOUNT", "NEW_BROKER", "NEW_PASSWORD", - "NEXT", "NO", "NO_TRUNCATE", "NO_WAIT", - "NOCOUNT", "NODES", "NOEXPAND", "NON_TRANSACTED_ACCESS", - "NORECOMPUTE", "NORECOVERY", "NOWAIT", - "NTILE", "NUMANODE", "NUMBER", "NUMERIC_ROUNDABORT", - "OBJECT", "OFFLINE", "OFFSET", "OLD_ACCOUNT", - "ONLINE", "ONLY", "OPEN_EXISTING", - "OPTIMISTIC", "OPTIMIZE", "OUT", "OUTPUT", - "OVERRIDE", "OWNER", "PAGE_VERIFY", - "PARAMETERIZATION", "PARTITION", "PARTITIONS", - "PARTNER", "PATH", "POISON_MESSAGE_HANDLING", - "POOL", "PORT", "PRECEDING", "PRIMARY_ROLE", - "PRIOR", "PRIORITY", "PRIORITY_LEVEL", - "PRIVATE", "PRIVATE_KEY", "PRIVILEGES", - "PROCEDURE_NAME", "PROPERTY", "PROVIDER", - "PROVIDER_KEY_NAME", "QUERY", "QUEUE", - "QUEUE_DELAY", "QUOTED_IDENTIFIER", - "RANGE", "RANK", "RC2", "RC4", "RC4_128", - "READ_COMMITTED_SNAPSHOT", "READ_ONLY", - "READ_ONLY_ROUTING_LIST", "READ_WRITE", - "READONLY", "REBUILD", "RECEIVE", - "RECOMPILE", "RECOVERY", "RECURSIVE_TRIGGERS", - "RELATIVE", "REMOTE", "REMOTE_SERVICE_NAME", - "REMOVE", "REORGANIZE", "REPEATABLE", - "REPLICA", "REQUEST_MAX_CPU_TIME_SEC", - "REQUEST_MAX_MEMORY_GRANT_PERCENT", - "REQUEST_MEMORY_GRANT_TIMEOUT_SEC", - "REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT", - "RESERVE_DISK_SPACE", "RESOURCE", - "RESOURCE_MANAGER_LOCATION", "RESTRICTED_USER", - "RETENTION", "ROBUST", "ROOT", "ROUTE", - "ROW", "ROW_NUMBER", "ROWGUID", "ROWS", - "SAMPLE", "SCHEMABINDING", "SCOPED", - "SCROLL", "SCROLL_LOCKS", "SEARCH", - "SECONDARY", "SECONDARY_ONLY", "SECONDARY_ROLE", - "SECONDS", "SECRET", "SECURITY", "SECURITY_LOG", - "SEEDING_MODE", "SELF", "SEMI_SENSITIVE", - "SEND", "SENT", "SEQUENCE", "SERIALIZABLE", - "SESSION_TIMEOUT", "SETERROR", "SHARE", - "SHOWPLAN", "SIGNATURE", "SIMPLE", - "SINGLE_USER", "SIZE", "SMALLINT", - "SNAPSHOT", "SPATIAL_WINDOW_MAX_CELLS", - "STANDBY", "START_DATE", "STATIC", - "STATS_STREAM", "STATUS", "STATUSONLY", - "STDEV", "STDEVP", "STOPLIST", "STRING_AGG", - "STUFF", "SUBJECT", "SUBSCRIPTION", - "SUM", "SUSPEND", "SYMMETRIC", "SYNCHRONOUS_COMMIT", - "SYNONYM", "SYSTEM", "TAKE", "TARGET_RECOVERY_TIME", - "TB", "TEXTIMAGE_ON", "THROW", "TIES", - "TIME", "TIMEOUT", "TIMER", "TINYINT", - "TORN_PAGE_DETECTION", "TRANSFORM_NOISE_WORDS", - "TRIPLE_DES", "TRIPLE_DES_3KEY", "TRUSTWORTHY", - "TRY", "TSQL", "TWO_DIGIT_YEAR_CUTOFF", - "TYPE", "TYPE_WARNING", "UNBOUNDED", - "UNCOMMITTED", "UNKNOWN", "UNLIMITED", - "UOW", "USING", "VALID_XML", "VALIDATION", - "VALUE", "VAR", "VARP", "VIEW_METADATA", - "VIEWS", "WAIT", "WELL_FORMED_XML", - "WITHOUT_ARRAY_WRAPPER", "WORK", "WORKLOAD", - "XML", "XMLDATA", "XMLNAMESPACES", - "XMLSCHEMA", "XSINIL", "DOLLAR_ACTION", - "SPACE", "COMMENT", "LINE_COMMENT", - "DOUBLE_QUOTE_ID", "SINGLE_QUOTE", - "SQUARE_BRACKET_ID", "LOCAL_ID", "DECIMAL", - "ID", "QUOTED_URL", "QUOTED_HOST_AND_PORT", - "STRING", "BINARY", "FLOAT", "REAL", - "EQUAL", "GREATER", "LESS", "EXCLAMATION", - "PLUS_ASSIGN", "MINUS_ASSIGN", "MULT_ASSIGN", - "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", - "XOR_ASSIGN", "OR_ASSIGN", "DOUBLE_BAR", - "DOT", "UNDERLINE", "AT", "SHARP", - "DOLLAR", "LR_BRACKET", "RR_BRACKET", - "COMMA", "SEMI", "COLON", "STAR", - "DIVIDE", "MODULE", "PLUS", "MINUS", - "BIT_NOT", "BIT_OR", "BIT_AND", "BIT_XOR", - "IPV4_OCTECT" ]; - -TSqlLexer.prototype.ruleNames = [ "ABSENT", "ADD", "AES", "ALL", "ALLOW_CONNECTIONS", - "ALLOW_MULTIPLE_EVENT_LOSS", "ALLOW_SINGLE_EVENT_LOSS", - "ALTER", "AND", "ANONYMOUS", "ANY", "APPEND", - "APPLICATION", "AS", "ASC", "ASYMMETRIC", - "ASYNCHRONOUS_COMMIT", "AUTHORIZATION", - "AUTHENTICATION", "AUTOMATED_BACKUP_PREFERENCE", - "AUTOMATIC", "AVAILABILITY_MODE", "BACKSLASH", - "BACKUP", "BEFORE", "BEGIN", "BETWEEN", - "BLOCK", "BLOCKSIZE", "BLOCKING_HIERARCHY", - "BREAK", "BROWSE", "BUFFER", "BUFFERCOUNT", - "BULK", "BY", "CACHE", "CALLED", "CASCADE", - "CASE", "CERTIFICATE", "CHANGETABLE", - "CHANGES", "CHECK", "CHECKPOINT", "CHECK_POLICY", - "CHECK_EXPIRATION", "CLASSIFIER_FUNCTION", - "CLOSE", "CLUSTER", "CLUSTERED", "COALESCE", - "COLLATE", "COLUMN", "COMPRESSION", "COMMIT", - "COMPUTE", "CONFIGURATION", "CONSTRAINT", - "CONTAINMENT", "CONTAINS", "CONTAINSTABLE", - "CONTEXT", "CONTINUE", "CONTINUE_AFTER_ERROR", - "CONTRACT", "CONTRACT_NAME", "CONVERSATION", - "CONVERT", "COPY_ONLY", "CREATE", "CROSS", - "CURRENT", "CURRENT_DATE", "CURRENT_TIME", - "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", - "CYCLE", "DATA_COMPRESSION", "DATA_SOURCE", - "DATABASE", "DATABASE_MIRRORING", "DBCC", - "DEALLOCATE", "DECLARE", "DEFAULT", "DEFAULT_DATABASE", - "DEFAULT_SCHEMA", "DELETE", "DENY", "DESC", - "DIAGNOSTICS", "DIFFERENTIAL", "DISK", - "DISTINCT", "DISTRIBUTED", "DOUBLE", "DOUBLE_BACK_SLASH", - "DOUBLE_FORWARD_SLASH", "DROP", "DTC_SUPPORT", - "DUMP", "ELSE", "ENABLED", "END", "ENDPOINT", - "ERRLVL", "ESCAPE", "ERROR", "EVENT", - "EVENTDATA", "EVENT_RETENTION_MODE", "EXCEPT", - "EXECUTABLE_FILE", "EXECUTE", "EXISTS", - "EXPIREDATE", "EXIT", "EXTENSION", "EXTERNAL", - "EXTERNAL_ACCESS", "FAILOVER", "FAILURECONDITIONLEVEL", - "FAN_IN", "FETCH", "FILE", "FILENAME", - "FILLFACTOR", "FILE_SNAPSHOT", "FOR", - "FORCESEEK", "FORCE_SERVICE_ALLOW_DATA_LOSS", - "FOREIGN", "FREETEXT", "FREETEXTTABLE", - "FROM", "FULL", "FUNCTION", "GET", "GOTO", - "GOVERNOR", "GRANT", "GROUP", "HAVING", - "HASHED", "HEALTHCHECKTIMEOUT", "IDENTITY", - "IDENTITYCOL", "IDENTITY_INSERT", "IF", - "IIF", "IN", "INCLUDE", "INCREMENT", "INDEX", - "INFINITE", "INIT", "INNER", "INSERT", - "INSTEAD", "INTERSECT", "INTO", "IPV4_ADDR", - "IPV6_ADDR", "IS", "ISNULL", "JOIN", "KERBEROS", - "KEY", "KEY_PATH", "KEY_STORE_PROVIDER_NAME", - "KILL", "LANGUAGE", "LEFT", "LIBRARY", - "LIFETIME", "LIKE", "LINENO", "LINUX", - "LISTENER_IP", "LISTENER_PORT", "LOAD", - "LOCAL_SERVICE_NAME", "LOG", "MATCHED", - "MASTER", "MAX_MEMORY", "MAXTRANSFER", - "MAXVALUE", "MAX_DISPATCH_LATENCY", "MAX_EVENT_SIZE", - "MAX_SIZE", "MAX_OUTSTANDING_IO_PER_VOLUME", - "MEDIADESCRIPTION", "MEDIANAME", "MEMBER", - "MEMORY_PARTITION_MODE", "MERGE", "MESSAGE_FORWARDING", - "MESSAGE_FORWARD_SIZE", "MINVALUE", "MIRROR", - "MUST_CHANGE", "NATIONAL", "NEGOTIATE", - "NOCHECK", "NOFORMAT", "NOINIT", "NONCLUSTERED", - "NONE", "NOREWIND", "NOSKIP", "NOUNLOAD", - "NO_CHECKSUM", "NO_COMPRESSION", "NO_EVENT_LOSS", - "NOT", "NOTIFICATION", "NTLM", "NULL", - "NULLIF", "OF", "OFF", "OFFSETS", "OLD_PASSWORD", - "ON", "ON_FAILURE", "OPEN", "OPENDATASOURCE", - "OPENQUERY", "OPENROWSET", "OPENXML", - "OPTION", "OR", "ORDER", "OUTER", "OVER", - "PAGE", "PARAM_NODE", "PARTIAL", "PASSWORD", - "PERCENT", "PERMISSION_SET", "PER_CPU", - "PER_DB", "PER_NODE", "PIVOT", "PLAN", - "PLATFORM", "POLICY", "PRECISION", "PREDICATE", - "PRIMARY", "PRINT", "PROC", "PROCEDURE", - "PROCESS", "PUBLIC", "PYTHON", "R", "RAISERROR", - "RAW", "READ", "READTEXT", "READ_WRITE_FILEGROUPS", - "RECONFIGURE", "REFERENCES", "REGENERATE", - "RELATED_CONVERSATION", "RELATED_CONVERSATION_GROUP", - "REPLICATION", "REQUIRED", "RESET", "RESTART", - "RESTORE", "RESTRICT", "RESUME", "RETAINDAYS", - "RETURN", "RETURNS", "REVERT", "REVOKE", - "REWIND", "RIGHT", "ROLLBACK", "ROLE", - "ROWCOUNT", "ROWGUIDCOL", "RSA_512", "RSA_1024", - "RSA_2048", "RSA_3072", "RSA_4096", "SAFETY", - "RULE", "SAFE", "SAVE", "SCHEDULER", "SCHEMA", - "SCHEME", "SECURITYAUDIT", "SELECT", "SEMANTICKEYPHRASETABLE", - "SEMANTICSIMILARITYDETAILSTABLE", "SEMANTICSIMILARITYTABLE", - "SERVER", "SERVICE", "SERVICE_BROKER", - "SERVICE_NAME", "SESSION", "SESSION_USER", - "SET", "SETUSER", "SHUTDOWN", "SID", "SKIP_KEYWORD", - "SOFTNUMA", "SOME", "SOURCE", "SPECIFICATION", - "SPLIT", "SQLDUMPERFLAGS", "SQLDUMPERPATH", - "SQLDUMPERTIMEOUT", "STATISTICS", "STATE", - "STATS", "START", "STARTED", "STARTUP_STATE", - "STOP", "STOPPED", "STOP_ON_ERROR", "SUPPORTED", - "SYSTEM_USER", "TABLE", "TABLESAMPLE", - "TAPE", "TARGET", "TCP", "TEXTSIZE", "THEN", - "TO", "TOP", "TRACK_CAUSALITY", "TRAN", - "TRANSACTION", "TRANSFER", "TRIGGER", - "TRUNCATE", "TSEQUAL", "UNCHECKED", "UNION", - "UNIQUE", "UNLOCK", "UNPIVOT", "UNSAFE", - "UPDATE", "UPDATETEXT", "URL", "USE", - "USED", "USER", "VALUES", "VARYING", "VERBOSELOGGING", - "VIEW", "VISIBILITY", "WAITFOR", "WHEN", - "WHERE", "WHILE", "WINDOWS", "WITH", "WITHIN", - "WITHOUT", "WITNESS", "WRITETEXT", "ABSOLUTE", - "ACCENT_SENSITIVITY", "ACTION", "ACTIVATION", - "ACTIVE", "ADDRESS", "AES_128", "AES_192", - "AES_256", "AFFINITY", "AFTER", "AGGREGATE", - "ALGORITHM", "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS", - "ALLOW_SNAPSHOT_ISOLATION", "ALLOWED", - "ANSI_NULL_DEFAULT", "ANSI_NULLS", "ANSI_PADDING", - "ANSI_WARNINGS", "APPLICATION_LOG", "APPLY", - "ARITHABORT", "ASSEMBLY", "AUDIT", "AUDIT_GUID", - "AUTO", "AUTO_CLEANUP", "AUTO_CLOSE", - "AUTO_CREATE_STATISTICS", "AUTO_SHRINK", - "AUTO_UPDATE_STATISTICS", "AUTO_UPDATE_STATISTICS_ASYNC", - "AVAILABILITY", "AVG", "BACKUP_PRIORITY", - "BEGIN_DIALOG", "BIGINT", "BINARY_BASE64", - "BINARY_CHECKSUM", "BINDING", "BLOB_STORAGE", - "BROKER", "BROKER_INSTANCE", "BULK_LOGGED", - "CALLER", "CAP_CPU_PERCENT", "CAST", "CATALOG", - "CATCH", "CHANGE_RETENTION", "CHANGE_TRACKING", - "CHECKSUM", "CHECKSUM_AGG", "CLEANUP", - "COLLECTION", "COLUMN_MASTER_KEY", "COMMITTED", - "COMPATIBILITY_LEVEL", "CONCAT", "CONCAT_NULL_YIELDS_NULL", - "CONTENT", "CONTROL", "COOKIE", "COUNT", - "COUNT_BIG", "COUNTER", "CPU", "CREATE_NEW", - "CREATION_DISPOSITION", "CREDENTIAL", - "CRYPTOGRAPHIC", "CURSOR_CLOSE_ON_COMMIT", - "CURSOR_DEFAULT", "DATA", "DATE_CORRELATION_OPTIMIZATION", - "DATEADD", "DATEDIFF", "DATENAME", "DATEPART", - "DAYS", "DB_CHAINING", "DB_FAILOVER", - "DECRYPTION", "DEFAULT_DOUBLE_QUOTE", - "DEFAULT_FULLTEXT_LANGUAGE", "DEFAULT_LANGUAGE", - "DELAY", "DELAYED_DURABILITY", "DELETED", - "DENSE_RANK", "DEPENDENTS", "DES", "DESCRIPTION", - "DESX", "DHCP", "DIALOG", "DIRECTORY_NAME", - "DISABLE", "DISABLE_BROKER", "DISABLED", - "DISK_DRIVE", "DOCUMENT", "DYNAMIC", "ELEMENTS", - "EMERGENCY", "EMPTY", "ENABLE", "ENABLE_BROKER", - "ENCRYPTED_VALUE", "ENCRYPTION", "ENDPOINT_URL", - "ERROR_BROKER_CONVERSATIONS", "EXCLUSIVE", - "EXECUTABLE", "EXIST", "EXPAND", "EXPIRY_DATE", - "EXPLICIT", "FAIL_OPERATION", "FAILOVER_MODE", - "FAILURE", "FAILURE_CONDITION_LEVEL", - "FAST", "FAST_FORWARD", "FILEGROUP", "FILEGROWTH", - "FILEPATH", "FILESTREAM", "FILTER", "FIRST", - "FIRST_VALUE", "FOLLOWING", "FORCE", "FORCE_FAILOVER_ALLOW_DATA_LOSS", - "FORCED", "FORMAT", "FORWARD_ONLY", "FULLSCAN", - "FULLTEXT", "GB", "GETDATE", "GETUTCDATE", - "GLOBAL", "GO", "GROUP_MAX_REQUESTS", - "GROUPING", "GROUPING_ID", "HADR", "HASH", - "HEALTH_CHECK_TIMEOUT", "HIGH", "HONOR_BROKER_PRIORITY", - "HOURS", "IDENTITY_VALUE", "IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX", - "IMMEDIATE", "IMPERSONATE", "IMPORTANCE", - "INCLUDE_NULL_VALUES", "INCREMENTAL", - "INITIATOR", "INPUT", "INSENSITIVE", "INSERTED", - "INT", "IP", "ISOLATION", "JOB", "JSON", - "KB", "KEEP", "KEEPFIXED", "KEY_SOURCE", - "KEYS", "KEYSET", "LAG", "LAST", "LAST_VALUE", - "LEAD", "LEVEL", "LIST", "LISTENER", "LISTENER_URL", - "LOB_COMPACTION", "LOCAL", "LOCATION", - "LOCK", "LOCK_ESCALATION", "LOGIN", "LOOP", - "LOW", "MANUAL", "MARK", "MATERIALIZED", - "MAX", "MAX_CPU_PERCENT", "MAX_DOP", "MAX_FILES", - "MAX_IOPS_PER_VOLUME", "MAX_MEMORY_PERCENT", - "MAX_PROCESSES", "MAX_QUEUE_READERS", - "MAX_ROLLOVER_FILES", "MAXDOP", "MAXRECURSION", - "MAXSIZE", "MB", "MEDIUM", "MEMORY_OPTIMIZED_DATA", - "MESSAGE", "MIN", "MIN_ACTIVE_ROWVERSION", - "MIN_CPU_PERCENT", "MIN_IOPS_PER_VOLUME", - "MIN_MEMORY_PERCENT", "MINUTES", "MIRROR_ADDRESS", - "MIXED_PAGE_ALLOCATION", "MODE", "MODIFY", - "MOVE", "MULTI_USER", "NAME", "NESTED_TRIGGERS", - "NEW_ACCOUNT", "NEW_BROKER", "NEW_PASSWORD", - "NEXT", "NO", "NO_TRUNCATE", "NO_WAIT", - "NOCOUNT", "NODES", "NOEXPAND", "NON_TRANSACTED_ACCESS", - "NORECOMPUTE", "NORECOVERY", "NOWAIT", - "NTILE", "NUMANODE", "NUMBER", "NUMERIC_ROUNDABORT", - "OBJECT", "OFFLINE", "OFFSET", "OLD_ACCOUNT", - "ONLINE", "ONLY", "OPEN_EXISTING", "OPTIMISTIC", - "OPTIMIZE", "OUT", "OUTPUT", "OVERRIDE", - "OWNER", "PAGE_VERIFY", "PARAMETERIZATION", - "PARTITION", "PARTITIONS", "PARTNER", - "PATH", "POISON_MESSAGE_HANDLING", "POOL", - "PORT", "PRECEDING", "PRIMARY_ROLE", "PRIOR", - "PRIORITY", "PRIORITY_LEVEL", "PRIVATE", - "PRIVATE_KEY", "PRIVILEGES", "PROCEDURE_NAME", - "PROPERTY", "PROVIDER", "PROVIDER_KEY_NAME", - "QUERY", "QUEUE", "QUEUE_DELAY", "QUOTED_IDENTIFIER", - "RANGE", "RANK", "RC2", "RC4", "RC4_128", - "READ_COMMITTED_SNAPSHOT", "READ_ONLY", - "READ_ONLY_ROUTING_LIST", "READ_WRITE", - "READONLY", "REBUILD", "RECEIVE", "RECOMPILE", - "RECOVERY", "RECURSIVE_TRIGGERS", "RELATIVE", - "REMOTE", "REMOTE_SERVICE_NAME", "REMOVE", - "REORGANIZE", "REPEATABLE", "REPLICA", - "REQUEST_MAX_CPU_TIME_SEC", "REQUEST_MAX_MEMORY_GRANT_PERCENT", - "REQUEST_MEMORY_GRANT_TIMEOUT_SEC", "REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT", - "RESERVE_DISK_SPACE", "RESOURCE", "RESOURCE_MANAGER_LOCATION", - "RESTRICTED_USER", "RETENTION", "ROBUST", - "ROOT", "ROUTE", "ROW", "ROW_NUMBER", - "ROWGUID", "ROWS", "SAMPLE", "SCHEMABINDING", - "SCOPED", "SCROLL", "SCROLL_LOCKS", "SEARCH", - "SECONDARY", "SECONDARY_ONLY", "SECONDARY_ROLE", - "SECONDS", "SECRET", "SECURITY", "SECURITY_LOG", - "SEEDING_MODE", "SELF", "SEMI_SENSITIVE", - "SEND", "SENT", "SEQUENCE", "SERIALIZABLE", - "SESSION_TIMEOUT", "SETERROR", "SHARE", - "SHOWPLAN", "SIGNATURE", "SIMPLE", "SINGLE_USER", - "SIZE", "SMALLINT", "SNAPSHOT", "SPATIAL_WINDOW_MAX_CELLS", - "STANDBY", "START_DATE", "STATIC", "STATS_STREAM", - "STATUS", "STATUSONLY", "STDEV", "STDEVP", - "STOPLIST", "STRING_AGG", "STUFF", "SUBJECT", - "SUBSCRIPTION", "SUM", "SUSPEND", "SYMMETRIC", - "SYNCHRONOUS_COMMIT", "SYNONYM", "SYSTEM", - "TAKE", "TARGET_RECOVERY_TIME", "TB", - "TEXTIMAGE_ON", "THROW", "TIES", "TIME", - "TIMEOUT", "TIMER", "TINYINT", "TORN_PAGE_DETECTION", - "TRANSFORM_NOISE_WORDS", "TRIPLE_DES", - "TRIPLE_DES_3KEY", "TRUSTWORTHY", "TRY", - "TSQL", "TWO_DIGIT_YEAR_CUTOFF", "TYPE", - "TYPE_WARNING", "UNBOUNDED", "UNCOMMITTED", - "UNKNOWN", "UNLIMITED", "UOW", "USING", - "VALID_XML", "VALIDATION", "VALUE", "VAR", - "VARP", "VIEW_METADATA", "VIEWS", "WAIT", - "WELL_FORMED_XML", "WITHOUT_ARRAY_WRAPPER", - "WORK", "WORKLOAD", "XML", "XMLDATA", - "XMLNAMESPACES", "XMLSCHEMA", "XSINIL", - "DOLLAR_ACTION", "SPACE", "COMMENT", "LINE_COMMENT", - "DOUBLE_QUOTE_ID", "SINGLE_QUOTE", "SQUARE_BRACKET_ID", - "LOCAL_ID", "DECIMAL", "ID", "QUOTED_URL", - "QUOTED_HOST_AND_PORT", "STRING", "BINARY", - "FLOAT", "REAL", "EQUAL", "GREATER", "LESS", - "EXCLAMATION", "PLUS_ASSIGN", "MINUS_ASSIGN", - "MULT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", - "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", - "DOUBLE_BAR", "DOT", "UNDERLINE", "AT", - "SHARP", "DOLLAR", "LR_BRACKET", "RR_BRACKET", - "COMMA", "SEMI", "COLON", "STAR", "DIVIDE", - "MODULE", "PLUS", "MINUS", "BIT_NOT", - "BIT_OR", "BIT_AND", "BIT_XOR", "LETTER", - "IPV6_OCTECT", "IPV4_OCTECT", "DEC_DOT_DEC", - "HEX_DIGIT", "DEC_DIGIT", "FullWidthLetter" ]; - -TSqlLexer.prototype.grammarFileName = "TSqlLexer.g4"; - - -exports.TSqlLexer = TSqlLexer; - diff --git a/src/grammar/tsql/parser/TSqlLexer.tokens b/src/grammar/tsql/parser/TSqlLexer.tokens deleted file mode 100644 index 5d9475f..0000000 --- a/src/grammar/tsql/parser/TSqlLexer.tokens +++ /dev/null @@ -1,1657 +0,0 @@ -ABSENT=1 -ADD=2 -AES=3 -ALL=4 -ALLOW_CONNECTIONS=5 -ALLOW_MULTIPLE_EVENT_LOSS=6 -ALLOW_SINGLE_EVENT_LOSS=7 -ALTER=8 -AND=9 -ANONYMOUS=10 -ANY=11 -APPEND=12 -APPLICATION=13 -AS=14 -ASC=15 -ASYMMETRIC=16 -ASYNCHRONOUS_COMMIT=17 -AUTHORIZATION=18 -AUTHENTICATION=19 -AUTOMATED_BACKUP_PREFERENCE=20 -AUTOMATIC=21 -AVAILABILITY_MODE=22 -BACKSLASH=23 -BACKUP=24 -BEFORE=25 -BEGIN=26 -BETWEEN=27 -BLOCK=28 -BLOCKSIZE=29 -BLOCKING_HIERARCHY=30 -BREAK=31 -BROWSE=32 -BUFFER=33 -BUFFERCOUNT=34 -BULK=35 -BY=36 -CACHE=37 -CALLED=38 -CASCADE=39 -CASE=40 -CERTIFICATE=41 -CHANGETABLE=42 -CHANGES=43 -CHECK=44 -CHECKPOINT=45 -CHECK_POLICY=46 -CHECK_EXPIRATION=47 -CLASSIFIER_FUNCTION=48 -CLOSE=49 -CLUSTER=50 -CLUSTERED=51 -COALESCE=52 -COLLATE=53 -COLUMN=54 -COMPRESSION=55 -COMMIT=56 -COMPUTE=57 -CONFIGURATION=58 -CONSTRAINT=59 -CONTAINMENT=60 -CONTAINS=61 -CONTAINSTABLE=62 -CONTEXT=63 -CONTINUE=64 -CONTINUE_AFTER_ERROR=65 -CONTRACT=66 -CONTRACT_NAME=67 -CONVERSATION=68 -CONVERT=69 -COPY_ONLY=70 -CREATE=71 -CROSS=72 -CURRENT=73 -CURRENT_DATE=74 -CURRENT_TIME=75 -CURRENT_TIMESTAMP=76 -CURRENT_USER=77 -CURSOR=78 -CYCLE=79 -DATA_COMPRESSION=80 -DATA_SOURCE=81 -DATABASE=82 -DATABASE_MIRRORING=83 -DBCC=84 -DEALLOCATE=85 -DECLARE=86 -DEFAULT=87 -DEFAULT_DATABASE=88 -DEFAULT_SCHEMA=89 -DELETE=90 -DENY=91 -DESC=92 -DIAGNOSTICS=93 -DIFFERENTIAL=94 -DISK=95 -DISTINCT=96 -DISTRIBUTED=97 -DOUBLE=98 -DOUBLE_BACK_SLASH=99 -DOUBLE_FORWARD_SLASH=100 -DROP=101 -DTC_SUPPORT=102 -DUMP=103 -ELSE=104 -ENABLED=105 -END=106 -ENDPOINT=107 -ERRLVL=108 -ESCAPE=109 -ERROR=110 -EVENT=111 -EVENTDATA=112 -EVENT_RETENTION_MODE=113 -EXCEPT=114 -EXECUTABLE_FILE=115 -EXECUTE=116 -EXISTS=117 -EXPIREDATE=118 -EXIT=119 -EXTENSION=120 -EXTERNAL=121 -EXTERNAL_ACCESS=122 -FAILOVER=123 -FAILURECONDITIONLEVEL=124 -FAN_IN=125 -FETCH=126 -FILE=127 -FILENAME=128 -FILLFACTOR=129 -FILE_SNAPSHOT=130 -FOR=131 -FORCESEEK=132 -FORCE_SERVICE_ALLOW_DATA_LOSS=133 -FOREIGN=134 -FREETEXT=135 -FREETEXTTABLE=136 -FROM=137 -FULL=138 -FUNCTION=139 -GET=140 -GOTO=141 -GOVERNOR=142 -GRANT=143 -GROUP=144 -HAVING=145 -HASHED=146 -HEALTHCHECKTIMEOUT=147 -IDENTITY=148 -IDENTITYCOL=149 -IDENTITY_INSERT=150 -IF=151 -IIF=152 -IN=153 -INCLUDE=154 -INCREMENT=155 -INDEX=156 -INFINITE=157 -INIT=158 -INNER=159 -INSERT=160 -INSTEAD=161 -INTERSECT=162 -INTO=163 -IPV4_ADDR=164 -IPV6_ADDR=165 -IS=166 -ISNULL=167 -JOIN=168 -KERBEROS=169 -KEY=170 -KEY_PATH=171 -KEY_STORE_PROVIDER_NAME=172 -KILL=173 -LANGUAGE=174 -LEFT=175 -LIBRARY=176 -LIFETIME=177 -LIKE=178 -LINENO=179 -LINUX=180 -LISTENER_IP=181 -LISTENER_PORT=182 -LOAD=183 -LOCAL_SERVICE_NAME=184 -LOG=185 -MATCHED=186 -MASTER=187 -MAX_MEMORY=188 -MAXTRANSFER=189 -MAXVALUE=190 -MAX_DISPATCH_LATENCY=191 -MAX_EVENT_SIZE=192 -MAX_SIZE=193 -MAX_OUTSTANDING_IO_PER_VOLUME=194 -MEDIADESCRIPTION=195 -MEDIANAME=196 -MEMBER=197 -MEMORY_PARTITION_MODE=198 -MERGE=199 -MESSAGE_FORWARDING=200 -MESSAGE_FORWARD_SIZE=201 -MINVALUE=202 -MIRROR=203 -MUST_CHANGE=204 -NATIONAL=205 -NEGOTIATE=206 -NOCHECK=207 -NOFORMAT=208 -NOINIT=209 -NONCLUSTERED=210 -NONE=211 -NOREWIND=212 -NOSKIP=213 -NOUNLOAD=214 -NO_CHECKSUM=215 -NO_COMPRESSION=216 -NO_EVENT_LOSS=217 -NOT=218 -NOTIFICATION=219 -NTLM=220 -NULL=221 -NULLIF=222 -OF=223 -OFF=224 -OFFSETS=225 -OLD_PASSWORD=226 -ON=227 -ON_FAILURE=228 -OPEN=229 -OPENDATASOURCE=230 -OPENQUERY=231 -OPENROWSET=232 -OPENXML=233 -OPTION=234 -OR=235 -ORDER=236 -OUTER=237 -OVER=238 -PAGE=239 -PARAM_NODE=240 -PARTIAL=241 -PASSWORD=242 -PERCENT=243 -PERMISSION_SET=244 -PER_CPU=245 -PER_DB=246 -PER_NODE=247 -PIVOT=248 -PLAN=249 -PLATFORM=250 -POLICY=251 -PRECISION=252 -PREDICATE=253 -PRIMARY=254 -PRINT=255 -PROC=256 -PROCEDURE=257 -PROCESS=258 -PUBLIC=259 -PYTHON=260 -R=261 -RAISERROR=262 -RAW=263 -READ=264 -READTEXT=265 -READ_WRITE_FILEGROUPS=266 -RECONFIGURE=267 -REFERENCES=268 -REGENERATE=269 -RELATED_CONVERSATION=270 -RELATED_CONVERSATION_GROUP=271 -REPLICATION=272 -REQUIRED=273 -RESET=274 -RESTART=275 -RESTORE=276 -RESTRICT=277 -RESUME=278 -RETAINDAYS=279 -RETURN=280 -RETURNS=281 -REVERT=282 -REVOKE=283 -REWIND=284 -RIGHT=285 -ROLLBACK=286 -ROLE=287 -ROWCOUNT=288 -ROWGUIDCOL=289 -RSA_512=290 -RSA_1024=291 -RSA_2048=292 -RSA_3072=293 -RSA_4096=294 -SAFETY=295 -RULE=296 -SAFE=297 -SAVE=298 -SCHEDULER=299 -SCHEMA=300 -SCHEME=301 -SECURITYAUDIT=302 -SELECT=303 -SEMANTICKEYPHRASETABLE=304 -SEMANTICSIMILARITYDETAILSTABLE=305 -SEMANTICSIMILARITYTABLE=306 -SERVER=307 -SERVICE=308 -SERVICE_BROKER=309 -SERVICE_NAME=310 -SESSION=311 -SESSION_USER=312 -SET=313 -SETUSER=314 -SHUTDOWN=315 -SID=316 -SKIP_KEYWORD=317 -SOFTNUMA=318 -SOME=319 -SOURCE=320 -SPECIFICATION=321 -SPLIT=322 -SQLDUMPERFLAGS=323 -SQLDUMPERPATH=324 -SQLDUMPERTIMEOUT=325 -STATISTICS=326 -STATE=327 -STATS=328 -START=329 -STARTED=330 -STARTUP_STATE=331 -STOP=332 -STOPPED=333 -STOP_ON_ERROR=334 -SUPPORTED=335 -SYSTEM_USER=336 -TABLE=337 -TABLESAMPLE=338 -TAPE=339 -TARGET=340 -TCP=341 -TEXTSIZE=342 -THEN=343 -TO=344 -TOP=345 -TRACK_CAUSALITY=346 -TRAN=347 -TRANSACTION=348 -TRANSFER=349 -TRIGGER=350 -TRUNCATE=351 -TSEQUAL=352 -UNCHECKED=353 -UNION=354 -UNIQUE=355 -UNLOCK=356 -UNPIVOT=357 -UNSAFE=358 -UPDATE=359 -UPDATETEXT=360 -URL=361 -USE=362 -USED=363 -USER=364 -VALUES=365 -VARYING=366 -VERBOSELOGGING=367 -VIEW=368 -VISIBILITY=369 -WAITFOR=370 -WHEN=371 -WHERE=372 -WHILE=373 -WINDOWS=374 -WITH=375 -WITHIN=376 -WITHOUT=377 -WITNESS=378 -WRITETEXT=379 -ABSOLUTE=380 -ACCENT_SENSITIVITY=381 -ACTION=382 -ACTIVATION=383 -ACTIVE=384 -ADDRESS=385 -AES_128=386 -AES_192=387 -AES_256=388 -AFFINITY=389 -AFTER=390 -AGGREGATE=391 -ALGORITHM=392 -ALLOW_ENCRYPTED_VALUE_MODIFICATIONS=393 -ALLOW_SNAPSHOT_ISOLATION=394 -ALLOWED=395 -ANSI_NULL_DEFAULT=396 -ANSI_NULLS=397 -ANSI_PADDING=398 -ANSI_WARNINGS=399 -APPLICATION_LOG=400 -APPLY=401 -ARITHABORT=402 -ASSEMBLY=403 -AUDIT=404 -AUDIT_GUID=405 -AUTO=406 -AUTO_CLEANUP=407 -AUTO_CLOSE=408 -AUTO_CREATE_STATISTICS=409 -AUTO_SHRINK=410 -AUTO_UPDATE_STATISTICS=411 -AUTO_UPDATE_STATISTICS_ASYNC=412 -AVAILABILITY=413 -AVG=414 -BACKUP_PRIORITY=415 -BEGIN_DIALOG=416 -BIGINT=417 -BINARY_BASE64=418 -BINARY_CHECKSUM=419 -BINDING=420 -BLOB_STORAGE=421 -BROKER=422 -BROKER_INSTANCE=423 -BULK_LOGGED=424 -CALLER=425 -CAP_CPU_PERCENT=426 -CAST=427 -CATALOG=428 -CATCH=429 -CHANGE_RETENTION=430 -CHANGE_TRACKING=431 -CHECKSUM=432 -CHECKSUM_AGG=433 -CLEANUP=434 -COLLECTION=435 -COLUMN_MASTER_KEY=436 -COMMITTED=437 -COMPATIBILITY_LEVEL=438 -CONCAT=439 -CONCAT_NULL_YIELDS_NULL=440 -CONTENT=441 -CONTROL=442 -COOKIE=443 -COUNT=444 -COUNT_BIG=445 -COUNTER=446 -CPU=447 -CREATE_NEW=448 -CREATION_DISPOSITION=449 -CREDENTIAL=450 -CRYPTOGRAPHIC=451 -CURSOR_CLOSE_ON_COMMIT=452 -CURSOR_DEFAULT=453 -DATA=454 -DATE_CORRELATION_OPTIMIZATION=455 -DATEADD=456 -DATEDIFF=457 -DATENAME=458 -DATEPART=459 -DAYS=460 -DB_CHAINING=461 -DB_FAILOVER=462 -DECRYPTION=463 -DEFAULT_DOUBLE_QUOTE=464 -DEFAULT_FULLTEXT_LANGUAGE=465 -DEFAULT_LANGUAGE=466 -DELAY=467 -DELAYED_DURABILITY=468 -DELETED=469 -DENSE_RANK=470 -DEPENDENTS=471 -DES=472 -DESCRIPTION=473 -DESX=474 -DHCP=475 -DIALOG=476 -DIRECTORY_NAME=477 -DISABLE=478 -DISABLE_BROKER=479 -DISABLED=480 -DISK_DRIVE=481 -DOCUMENT=482 -DYNAMIC=483 -ELEMENTS=484 -EMERGENCY=485 -EMPTY=486 -ENABLE=487 -ENABLE_BROKER=488 -ENCRYPTED_VALUE=489 -ENCRYPTION=490 -ENDPOINT_URL=491 -ERROR_BROKER_CONVERSATIONS=492 -EXCLUSIVE=493 -EXECUTABLE=494 -EXIST=495 -EXPAND=496 -EXPIRY_DATE=497 -EXPLICIT=498 -FAIL_OPERATION=499 -FAILOVER_MODE=500 -FAILURE=501 -FAILURE_CONDITION_LEVEL=502 -FAST=503 -FAST_FORWARD=504 -FILEGROUP=505 -FILEGROWTH=506 -FILEPATH=507 -FILESTREAM=508 -FILTER=509 -FIRST=510 -FIRST_VALUE=511 -FOLLOWING=512 -FORCE=513 -FORCE_FAILOVER_ALLOW_DATA_LOSS=514 -FORCED=515 -FORMAT=516 -FORWARD_ONLY=517 -FULLSCAN=518 -FULLTEXT=519 -GB=520 -GETDATE=521 -GETUTCDATE=522 -GLOBAL=523 -GO=524 -GROUP_MAX_REQUESTS=525 -GROUPING=526 -GROUPING_ID=527 -HADR=528 -HASH=529 -HEALTH_CHECK_TIMEOUT=530 -HIGH=531 -HONOR_BROKER_PRIORITY=532 -HOURS=533 -IDENTITY_VALUE=534 -IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX=535 -IMMEDIATE=536 -IMPERSONATE=537 -IMPORTANCE=538 -INCLUDE_NULL_VALUES=539 -INCREMENTAL=540 -INITIATOR=541 -INPUT=542 -INSENSITIVE=543 -INSERTED=544 -INT=545 -IP=546 -ISOLATION=547 -JOB=548 -JSON=549 -KB=550 -KEEP=551 -KEEPFIXED=552 -KEY_SOURCE=553 -KEYS=554 -KEYSET=555 -LAG=556 -LAST=557 -LAST_VALUE=558 -LEAD=559 -LEVEL=560 -LIST=561 -LISTENER=562 -LISTENER_URL=563 -LOB_COMPACTION=564 -LOCAL=565 -LOCATION=566 -LOCK=567 -LOCK_ESCALATION=568 -LOGIN=569 -LOOP=570 -LOW=571 -MANUAL=572 -MARK=573 -MATERIALIZED=574 -MAX=575 -MAX_CPU_PERCENT=576 -MAX_DOP=577 -MAX_FILES=578 -MAX_IOPS_PER_VOLUME=579 -MAX_MEMORY_PERCENT=580 -MAX_PROCESSES=581 -MAX_QUEUE_READERS=582 -MAX_ROLLOVER_FILES=583 -MAXDOP=584 -MAXRECURSION=585 -MAXSIZE=586 -MB=587 -MEDIUM=588 -MEMORY_OPTIMIZED_DATA=589 -MESSAGE=590 -MIN=591 -MIN_ACTIVE_ROWVERSION=592 -MIN_CPU_PERCENT=593 -MIN_IOPS_PER_VOLUME=594 -MIN_MEMORY_PERCENT=595 -MINUTES=596 -MIRROR_ADDRESS=597 -MIXED_PAGE_ALLOCATION=598 -MODE=599 -MODIFY=600 -MOVE=601 -MULTI_USER=602 -NAME=603 -NESTED_TRIGGERS=604 -NEW_ACCOUNT=605 -NEW_BROKER=606 -NEW_PASSWORD=607 -NEXT=608 -NO=609 -NO_TRUNCATE=610 -NO_WAIT=611 -NOCOUNT=612 -NODES=613 -NOEXPAND=614 -NON_TRANSACTED_ACCESS=615 -NORECOMPUTE=616 -NORECOVERY=617 -NOWAIT=618 -NTILE=619 -NUMANODE=620 -NUMBER=621 -NUMERIC_ROUNDABORT=622 -OBJECT=623 -OFFLINE=624 -OFFSET=625 -OLD_ACCOUNT=626 -ONLINE=627 -ONLY=628 -OPEN_EXISTING=629 -OPTIMISTIC=630 -OPTIMIZE=631 -OUT=632 -OUTPUT=633 -OVERRIDE=634 -OWNER=635 -PAGE_VERIFY=636 -PARAMETERIZATION=637 -PARTITION=638 -PARTITIONS=639 -PARTNER=640 -PATH=641 -POISON_MESSAGE_HANDLING=642 -POOL=643 -PORT=644 -PRECEDING=645 -PRIMARY_ROLE=646 -PRIOR=647 -PRIORITY=648 -PRIORITY_LEVEL=649 -PRIVATE=650 -PRIVATE_KEY=651 -PRIVILEGES=652 -PROCEDURE_NAME=653 -PROPERTY=654 -PROVIDER=655 -PROVIDER_KEY_NAME=656 -QUERY=657 -QUEUE=658 -QUEUE_DELAY=659 -QUOTED_IDENTIFIER=660 -RANGE=661 -RANK=662 -RC2=663 -RC4=664 -RC4_128=665 -READ_COMMITTED_SNAPSHOT=666 -READ_ONLY=667 -READ_ONLY_ROUTING_LIST=668 -READ_WRITE=669 -READONLY=670 -REBUILD=671 -RECEIVE=672 -RECOMPILE=673 -RECOVERY=674 -RECURSIVE_TRIGGERS=675 -RELATIVE=676 -REMOTE=677 -REMOTE_SERVICE_NAME=678 -REMOVE=679 -REORGANIZE=680 -REPEATABLE=681 -REPLICA=682 -REQUEST_MAX_CPU_TIME_SEC=683 -REQUEST_MAX_MEMORY_GRANT_PERCENT=684 -REQUEST_MEMORY_GRANT_TIMEOUT_SEC=685 -REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT=686 -RESERVE_DISK_SPACE=687 -RESOURCE=688 -RESOURCE_MANAGER_LOCATION=689 -RESTRICTED_USER=690 -RETENTION=691 -ROBUST=692 -ROOT=693 -ROUTE=694 -ROW=695 -ROW_NUMBER=696 -ROWGUID=697 -ROWS=698 -SAMPLE=699 -SCHEMABINDING=700 -SCOPED=701 -SCROLL=702 -SCROLL_LOCKS=703 -SEARCH=704 -SECONDARY=705 -SECONDARY_ONLY=706 -SECONDARY_ROLE=707 -SECONDS=708 -SECRET=709 -SECURITY=710 -SECURITY_LOG=711 -SEEDING_MODE=712 -SELF=713 -SEMI_SENSITIVE=714 -SEND=715 -SENT=716 -SEQUENCE=717 -SERIALIZABLE=718 -SESSION_TIMEOUT=719 -SETERROR=720 -SHARE=721 -SHOWPLAN=722 -SIGNATURE=723 -SIMPLE=724 -SINGLE_USER=725 -SIZE=726 -SMALLINT=727 -SNAPSHOT=728 -SPATIAL_WINDOW_MAX_CELLS=729 -STANDBY=730 -START_DATE=731 -STATIC=732 -STATS_STREAM=733 -STATUS=734 -STATUSONLY=735 -STDEV=736 -STDEVP=737 -STOPLIST=738 -STRING_AGG=739 -STUFF=740 -SUBJECT=741 -SUBSCRIPTION=742 -SUM=743 -SUSPEND=744 -SYMMETRIC=745 -SYNCHRONOUS_COMMIT=746 -SYNONYM=747 -SYSTEM=748 -TAKE=749 -TARGET_RECOVERY_TIME=750 -TB=751 -TEXTIMAGE_ON=752 -THROW=753 -TIES=754 -TIME=755 -TIMEOUT=756 -TIMER=757 -TINYINT=758 -TORN_PAGE_DETECTION=759 -TRANSFORM_NOISE_WORDS=760 -TRIPLE_DES=761 -TRIPLE_DES_3KEY=762 -TRUSTWORTHY=763 -TRY=764 -TSQL=765 -TWO_DIGIT_YEAR_CUTOFF=766 -TYPE=767 -TYPE_WARNING=768 -UNBOUNDED=769 -UNCOMMITTED=770 -UNKNOWN=771 -UNLIMITED=772 -UOW=773 -USING=774 -VALID_XML=775 -VALIDATION=776 -VALUE=777 -VAR=778 -VARP=779 -VIEW_METADATA=780 -VIEWS=781 -WAIT=782 -WELL_FORMED_XML=783 -WITHOUT_ARRAY_WRAPPER=784 -WORK=785 -WORKLOAD=786 -XML=787 -XMLDATA=788 -XMLNAMESPACES=789 -XMLSCHEMA=790 -XSINIL=791 -DOLLAR_ACTION=792 -SPACE=793 -COMMENT=794 -LINE_COMMENT=795 -DOUBLE_QUOTE_ID=796 -SINGLE_QUOTE=797 -SQUARE_BRACKET_ID=798 -LOCAL_ID=799 -DECIMAL=800 -ID=801 -QUOTED_URL=802 -QUOTED_HOST_AND_PORT=803 -STRING=804 -BINARY=805 -FLOAT=806 -REAL=807 -EQUAL=808 -GREATER=809 -LESS=810 -EXCLAMATION=811 -PLUS_ASSIGN=812 -MINUS_ASSIGN=813 -MULT_ASSIGN=814 -DIV_ASSIGN=815 -MOD_ASSIGN=816 -AND_ASSIGN=817 -XOR_ASSIGN=818 -OR_ASSIGN=819 -DOUBLE_BAR=820 -DOT=821 -UNDERLINE=822 -AT=823 -SHARP=824 -DOLLAR=825 -LR_BRACKET=826 -RR_BRACKET=827 -COMMA=828 -SEMI=829 -COLON=830 -STAR=831 -DIVIDE=832 -MODULE=833 -PLUS=834 -MINUS=835 -BIT_NOT=836 -BIT_OR=837 -BIT_AND=838 -BIT_XOR=839 -IPV4_OCTECT=840 -'ABSENT'=1 -'ADD'=2 -'AES'=3 -'ALL'=4 -'ALLOW_CONNECTIONS'=5 -'ALLOW_MULTIPLE_EVENT_LOSS'=6 -'ALLOW_SINGLE_EVENT_LOSS'=7 -'ALTER'=8 -'AND'=9 -'ANONYMOUS'=10 -'ANY'=11 -'APPEND'=12 -'APPLICATION'=13 -'AS'=14 -'ASC'=15 -'ASYMMETRIC'=16 -'ASYNCHRONOUS_COMMIT'=17 -'AUTHORIZATION'=18 -'AUTHENTICATION'=19 -'AUTOMATED_BACKUP_PREFERENCE'=20 -'AUTOMATIC'=21 -'AVAILABILITY_MODE'=22 -'\\'=23 -'BACKUP'=24 -'BEFORE'=25 -'BEGIN'=26 -'BETWEEN'=27 -'BLOCK'=28 -'BLOCKSIZE'=29 -'BLOCKING_HIERARCHY'=30 -'BREAK'=31 -'BROWSE'=32 -'BUFFER'=33 -'BUFFERCOUNT'=34 -'BULK'=35 -'BY'=36 -'CACHE'=37 -'CALLED'=38 -'CASCADE'=39 -'CASE'=40 -'CERTIFICATE'=41 -'CHANGETABLE'=42 -'CHANGES'=43 -'CHECK'=44 -'CHECKPOINT'=45 -'CHECK_POLICY'=46 -'CHECK_EXPIRATION'=47 -'CLASSIFIER_FUNCTION'=48 -'CLOSE'=49 -'CLUSTER'=50 -'CLUSTERED'=51 -'COALESCE'=52 -'COLLATE'=53 -'COLUMN'=54 -'COMPRESSION'=55 -'COMMIT'=56 -'COMPUTE'=57 -'CONFIGURATION'=58 -'CONSTRAINT'=59 -'CONTAINMENT'=60 -'CONTAINS'=61 -'CONTAINSTABLE'=62 -'CONTEXT'=63 -'CONTINUE'=64 -'CONTINUE_AFTER_ERROR'=65 -'CONTRACT'=66 -'CONTRACT_NAME'=67 -'CONVERSATION'=68 -'COPY_ONLY'=70 -'CREATE'=71 -'CROSS'=72 -'CURRENT'=73 -'CURRENT_DATE'=74 -'CURRENT_TIME'=75 -'CURRENT_TIMESTAMP'=76 -'CURRENT_USER'=77 -'CURSOR'=78 -'CYCLE'=79 -'DATA_COMPRESSION'=80 -'DATA_SOURCE'=81 -'DATABASE'=82 -'DATABASE_MIRRORING'=83 -'DBCC'=84 -'DEALLOCATE'=85 -'DECLARE'=86 -'DEFAULT'=87 -'DEFAULT_DATABASE'=88 -'DEFAULT_SCHEMA'=89 -'DELETE'=90 -'DENY'=91 -'DESC'=92 -'DIAGNOSTICS'=93 -'DIFFERENTIAL'=94 -'DISK'=95 -'DISTINCT'=96 -'DISTRIBUTED'=97 -'DOUBLE'=98 -'\\\\'=99 -'//'=100 -'DROP'=101 -'DTC_SUPPORT'=102 -'DUMP'=103 -'ELSE'=104 -'ENABLED'=105 -'END'=106 -'ENDPOINT'=107 -'ERRLVL'=108 -'ESCAPE'=109 -'ERROR'=110 -'EVENT'=111 -'EVENT_RETENTION_MODE'=113 -'EXCEPT'=114 -'EXECUTABLE_FILE'=115 -'EXISTS'=117 -'EXPIREDATE'=118 -'EXIT'=119 -'EXTENSION'=120 -'EXTERNAL'=121 -'EXTERNAL_ACCESS'=122 -'FAILOVER'=123 -'FAILURECONDITIONLEVEL'=124 -'FAN_IN'=125 -'FETCH'=126 -'FILE'=127 -'FILENAME'=128 -'FILLFACTOR'=129 -'FILE_SNAPSHOT'=130 -'FOR'=131 -'FORCESEEK'=132 -'FORCE_SERVICE_ALLOW_DATA_LOSS'=133 -'FOREIGN'=134 -'FREETEXT'=135 -'FREETEXTTABLE'=136 -'FROM'=137 -'FULL'=138 -'FUNCTION'=139 -'GET'=140 -'GOTO'=141 -'GOVERNOR'=142 -'GRANT'=143 -'GROUP'=144 -'HAVING'=145 -'HASHED'=146 -'HEALTHCHECKTIMEOUT'=147 -'IDENTITY'=148 -'IDENTITYCOL'=149 -'IDENTITY_INSERT'=150 -'IF'=151 -'IIF'=152 -'IN'=153 -'INCLUDE'=154 -'INCREMENT'=155 -'INDEX'=156 -'INFINITE'=157 -'INIT'=158 -'INNER'=159 -'INSERT'=160 -'INSTEAD'=161 -'INTERSECT'=162 -'INTO'=163 -'IS'=166 -'ISNULL'=167 -'JOIN'=168 -'KERBEROS'=169 -'KEY'=170 -'KEY_PATH'=171 -'KEY_STORE_PROVIDER_NAME'=172 -'KILL'=173 -'LANGUAGE'=174 -'LEFT'=175 -'LIBRARY'=176 -'LIFETIME'=177 -'LIKE'=178 -'LINENO'=179 -'LINUX'=180 -'LISTENER_IP'=181 -'LISTENER_PORT'=182 -'LOAD'=183 -'LOCAL_SERVICE_NAME'=184 -'LOG'=185 -'MATCHED'=186 -'MASTER'=187 -'MAX_MEMORY'=188 -'MAXTRANSFER'=189 -'MAXVALUE'=190 -'MAX_DISPATCH_LATENCY'=191 -'MAX_EVENT_SIZE'=192 -'MAX_SIZE'=193 -'MAX_OUTSTANDING_IO_PER_VOLUME'=194 -'MEDIADESCRIPTION'=195 -'MEDIANAME'=196 -'MEMBER'=197 -'MEMORY_PARTITION_MODE'=198 -'MERGE'=199 -'MESSAGE_FORWARDING'=200 -'MESSAGE_FORWARD_SIZE'=201 -'MINVALUE'=202 -'MIRROR'=203 -'MUST_CHANGE'=204 -'NATIONAL'=205 -'NEGOTIATE'=206 -'NOCHECK'=207 -'NOFORMAT'=208 -'NOINIT'=209 -'NONCLUSTERED'=210 -'NONE'=211 -'NOREWIND'=212 -'NOSKIP'=213 -'NOUNLOAD'=214 -'NO_CHECKSUM'=215 -'NO_COMPRESSION'=216 -'NO_EVENT_LOSS'=217 -'NOT'=218 -'NOTIFICATION'=219 -'NTLM'=220 -'NULL'=221 -'NULLIF'=222 -'OF'=223 -'OFF'=224 -'OFFSETS'=225 -'OLD_PASSWORD'=226 -'ON'=227 -'ON_FAILURE'=228 -'OPEN'=229 -'OPENDATASOURCE'=230 -'OPENQUERY'=231 -'OPENROWSET'=232 -'OPENXML'=233 -'OPTION'=234 -'OR'=235 -'ORDER'=236 -'OUTER'=237 -'OVER'=238 -'PAGE'=239 -'PARAM_NODE'=240 -'PARTIAL'=241 -'PASSWORD'=242 -'PERCENT'=243 -'PERMISSION_SET'=244 -'PER_CPU'=245 -'PER_DB'=246 -'PER_NODE'=247 -'PIVOT'=248 -'PLAN'=249 -'PLATFORM'=250 -'POLICY'=251 -'PRECISION'=252 -'PREDICATE'=253 -'PRIMARY'=254 -'PRINT'=255 -'PROC'=256 -'PROCEDURE'=257 -'PROCESS'=258 -'PUBLIC'=259 -'PYTHON'=260 -'R'=261 -'RAISERROR'=262 -'RAW'=263 -'READ'=264 -'READTEXT'=265 -'READ_WRITE_FILEGROUPS'=266 -'RECONFIGURE'=267 -'REFERENCES'=268 -'REGENERATE'=269 -'RELATED_CONVERSATION'=270 -'RELATED_CONVERSATION_GROUP'=271 -'REPLICATION'=272 -'REQUIRED'=273 -'RESET'=274 -'RESTART'=275 -'RESTORE'=276 -'RESTRICT'=277 -'RESUME'=278 -'RETAINDAYS'=279 -'RETURN'=280 -'RETURNS'=281 -'REVERT'=282 -'REVOKE'=283 -'REWIND'=284 -'RIGHT'=285 -'ROLLBACK'=286 -'ROLE'=287 -'ROWCOUNT'=288 -'ROWGUIDCOL'=289 -'RSA_512'=290 -'RSA_1024'=291 -'RSA_2048'=292 -'RSA_3072'=293 -'RSA_4096'=294 -'SAFETY'=295 -'RULE'=296 -'SAFE'=297 -'SAVE'=298 -'SCHEDULER'=299 -'SCHEMA'=300 -'SCHEME'=301 -'SECURITYAUDIT'=302 -'SELECT'=303 -'SEMANTICKEYPHRASETABLE'=304 -'SEMANTICSIMILARITYDETAILSTABLE'=305 -'SEMANTICSIMILARITYTABLE'=306 -'SERVER'=307 -'SERVICE'=308 -'SERVICE_BROKER'=309 -'SERVICE_NAME'=310 -'SESSION'=311 -'SESSION_USER'=312 -'SET'=313 -'SETUSER'=314 -'SHUTDOWN'=315 -'SID'=316 -'SKIP'=317 -'SOFTNUMA'=318 -'SOME'=319 -'SOURCE'=320 -'SPECIFICATION'=321 -'SPLIT'=322 -'SQLDUMPERFLAGS'=323 -'SQLDUMPERPATH'=324 -'SQLDUMPERTIMEOUTS'=325 -'STATISTICS'=326 -'STATE'=327 -'STATS'=328 -'START'=329 -'STARTED'=330 -'STARTUP_STATE'=331 -'STOP'=332 -'STOPPED'=333 -'STOP_ON_ERROR'=334 -'SUPPORTED'=335 -'SYSTEM_USER'=336 -'TABLE'=337 -'TABLESAMPLE'=338 -'TAPE'=339 -'TARGET'=340 -'TCP'=341 -'TEXTSIZE'=342 -'THEN'=343 -'TO'=344 -'TOP'=345 -'TRACK_CAUSALITY'=346 -'TRAN'=347 -'TRANSACTION'=348 -'TRANSFER'=349 -'TRIGGER'=350 -'TRUNCATE'=351 -'TSEQUAL'=352 -'UNCHECKED'=353 -'UNION'=354 -'UNIQUE'=355 -'UNLOCK'=356 -'UNPIVOT'=357 -'UNSAFE'=358 -'UPDATE'=359 -'UPDATETEXT'=360 -'URL'=361 -'USE'=362 -'USED'=363 -'USER'=364 -'VALUES'=365 -'VARYING'=366 -'VERBOSELOGGING'=367 -'VIEW'=368 -'VISIBILITY'=369 -'WAITFOR'=370 -'WHEN'=371 -'WHERE'=372 -'WHILE'=373 -'WINDOWS'=374 -'WITH'=375 -'WITHIN'=376 -'WITHOUT'=377 -'WITNESS'=378 -'WRITETEXT'=379 -'ABSOLUTE'=380 -'ACCENT_SENSITIVITY'=381 -'ACTION'=382 -'ACTIVATION'=383 -'ACTIVE'=384 -'ADDRESS'=385 -'AES_128'=386 -'AES_192'=387 -'AES_256'=388 -'AFFINITY'=389 -'AFTER'=390 -'AGGREGATE'=391 -'ALGORITHM'=392 -'ALLOW_ENCRYPTED_VALUE_MODIFICATIONS'=393 -'ALLOW_SNAPSHOT_ISOLATION'=394 -'ALLOWED'=395 -'ANSI_NULL_DEFAULT'=396 -'ANSI_NULLS'=397 -'ANSI_PADDING'=398 -'ANSI_WARNINGS'=399 -'APPLICATION_LOG'=400 -'APPLY'=401 -'ARITHABORT'=402 -'ASSEMBLY'=403 -'AUDIT'=404 -'AUDIT_GUID'=405 -'AUTO'=406 -'AUTO_CLEANUP'=407 -'AUTO_CLOSE'=408 -'AUTO_CREATE_STATISTICS'=409 -'AUTO_SHRINK'=410 -'AUTO_UPDATE_STATISTICS'=411 -'AUTO_UPDATE_STATISTICS_ASYNC'=412 -'AVAILABILITY'=413 -'AVG'=414 -'BACKUP_PRIORITY'=415 -'BEGIN_DIALOG'=416 -'BIGINT'=417 -'BINARY BASE64'=418 -'BINARY_CHECKSUM'=419 -'BINDING'=420 -'BLOB_STORAGE'=421 -'BROKER'=422 -'BROKER_INSTANCE'=423 -'BULK_LOGGED'=424 -'CALLER'=425 -'CAP_CPU_PERCENT'=426 -'CATALOG'=428 -'CATCH'=429 -'CHANGE_RETENTION'=430 -'CHANGE_TRACKING'=431 -'CHECKSUM'=432 -'CHECKSUM_AGG'=433 -'CLEANUP'=434 -'COLLECTION'=435 -'COLUMN_MASTER_KEY'=436 -'COMMITTED'=437 -'COMPATIBILITY_LEVEL'=438 -'CONCAT'=439 -'CONCAT_NULL_YIELDS_NULL'=440 -'CONTENT'=441 -'CONTROL'=442 -'COOKIE'=443 -'COUNT'=444 -'COUNT_BIG'=445 -'COUNTER'=446 -'CPU'=447 -'CREATE_NEW'=448 -'CREATION_DISPOSITION'=449 -'CREDENTIAL'=450 -'CRYPTOGRAPHIC'=451 -'CURSOR_CLOSE_ON_COMMIT'=452 -'CURSOR_DEFAULT'=453 -'DATA'=454 -'DATE_CORRELATION_OPTIMIZATION'=455 -'DATEADD'=456 -'DATEDIFF'=457 -'DATENAME'=458 -'DATEPART'=459 -'DAYS'=460 -'DB_CHAINING'=461 -'DB_FAILOVER'=462 -'DECRYPTION'=463 -'DEFAULT_FULLTEXT_LANGUAGE'=465 -'DEFAULT_LANGUAGE'=466 -'DELAY'=467 -'DELAYED_DURABILITY'=468 -'DELETED'=469 -'DENSE_RANK'=470 -'DEPENDENTS'=471 -'DES'=472 -'DESCRIPTION'=473 -'DESX'=474 -'DHCP'=475 -'DIALOG'=476 -'DIRECTORY_NAME'=477 -'DISABLE'=478 -'DISABLE_BROKER'=479 -'DISABLED'=480 -'DOCUMENT'=482 -'DYNAMIC'=483 -'ELEMENTS'=484 -'EMERGENCY'=485 -'EMPTY'=486 -'ENABLE'=487 -'ENABLE_BROKER'=488 -'ENCRYPTED_VALUE'=489 -'ENCRYPTION'=490 -'ENDPOINT_URL'=491 -'ERROR_BROKER_CONVERSATIONS'=492 -'EXCLUSIVE'=493 -'EXECUTABLE'=494 -'EXIST'=495 -'EXPAND'=496 -'EXPIRY_DATE'=497 -'EXPLICIT'=498 -'FAIL_OPERATION'=499 -'FAILOVER_MODE'=500 -'FAILURE'=501 -'FAILURE_CONDITION_LEVEL'=502 -'FAST'=503 -'FAST_FORWARD'=504 -'FILEGROUP'=505 -'FILEGROWTH'=506 -'FILEPATH'=507 -'FILESTREAM'=508 -'FILTER'=509 -'FIRST'=510 -'FIRST_VALUE'=511 -'FOLLOWING'=512 -'FORCE'=513 -'FORCE_FAILOVER_ALLOW_DATA_LOSS'=514 -'FORCED'=515 -'FORMAT'=516 -'FORWARD_ONLY'=517 -'FULLSCAN'=518 -'FULLTEXT'=519 -'GB'=520 -'GETDATE'=521 -'GETUTCDATE'=522 -'GLOBAL'=523 -'GO'=524 -'GROUP_MAX_REQUESTS'=525 -'GROUPING'=526 -'GROUPING_ID'=527 -'HADR'=528 -'HASH'=529 -'HEALTH_CHECK_TIMEOUT'=530 -'HIGH'=531 -'HONOR_BROKER_PRIORITY'=532 -'HOURS'=533 -'IDENTITY_VALUE'=534 -'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX'=535 -'IMMEDIATE'=536 -'IMPERSONATE'=537 -'IMPORTANCE'=538 -'INCLUDE_NULL_VALUES'=539 -'INCREMENTAL'=540 -'INITIATOR'=541 -'INPUT'=542 -'INSENSITIVE'=543 -'INSERTED'=544 -'INT'=545 -'IP'=546 -'ISOLATION'=547 -'JOB'=548 -'JSON'=549 -'KB'=550 -'KEEP'=551 -'KEEPFIXED'=552 -'KEY_SOURCE'=553 -'KEYS'=554 -'KEYSET'=555 -'LAG'=556 -'LAST'=557 -'LAST_VALUE'=558 -'LEAD'=559 -'LEVEL'=560 -'LIST'=561 -'LISTENER'=562 -'LISTENER_URL'=563 -'LOB_COMPACTION'=564 -'LOCAL'=565 -'LOCATION'=566 -'LOCK'=567 -'LOCK_ESCALATION'=568 -'LOGIN'=569 -'LOOP'=570 -'LOW'=571 -'MANUAL'=572 -'MARK'=573 -'MATERIALIZED'=574 -'MAX'=575 -'MAX_CPU_PERCENT'=576 -'MAX_DOP'=577 -'MAX_FILES'=578 -'MAX_IOPS_PER_VOLUME'=579 -'MAX_MEMORY_PERCENT'=580 -'MAX_PROCESSES'=581 -'MAX_QUEUE_READERS'=582 -'MAX_ROLLOVER_FILES'=583 -'MAXDOP'=584 -'MAXRECURSION'=585 -'MAXSIZE'=586 -'MB'=587 -'MEDIUM'=588 -'MEMORY_OPTIMIZED_DATA'=589 -'MESSAGE'=590 -'MIN'=591 -'MIN_ACTIVE_ROWVERSION'=592 -'MIN_CPU_PERCENT'=593 -'MIN_IOPS_PER_VOLUME'=594 -'MIN_MEMORY_PERCENT'=595 -'MINUTES'=596 -'MIRROR_ADDRESS'=597 -'MIXED_PAGE_ALLOCATION'=598 -'MODE'=599 -'MODIFY'=600 -'MOVE'=601 -'MULTI_USER'=602 -'NAME'=603 -'NESTED_TRIGGERS'=604 -'NEW_ACCOUNT'=605 -'NEW_BROKER'=606 -'NEW_PASSWORD'=607 -'NEXT'=608 -'NO'=609 -'NO_TRUNCATE'=610 -'NO_WAIT'=611 -'NOCOUNT'=612 -'NODES'=613 -'NOEXPAND'=614 -'NON_TRANSACTED_ACCESS'=615 -'NORECOMPUTE'=616 -'NORECOVERY'=617 -'NOWAIT'=618 -'NTILE'=619 -'NUMANODE'=620 -'NUMBER'=621 -'NUMERIC_ROUNDABORT'=622 -'OBJECT'=623 -'OFFLINE'=624 -'OFFSET'=625 -'OLD_ACCOUNT'=626 -'ONLINE'=627 -'ONLY'=628 -'OPEN_EXISTING'=629 -'OPTIMISTIC'=630 -'OPTIMIZE'=631 -'OUT'=632 -'OUTPUT'=633 -'OVERRIDE'=634 -'OWNER'=635 -'PAGE_VERIFY'=636 -'PARAMETERIZATION'=637 -'PARTITION'=638 -'PARTITIONS'=639 -'PARTNER'=640 -'PATH'=641 -'POISON_MESSAGE_HANDLING'=642 -'POOL'=643 -'PORT'=644 -'PRECEDING'=645 -'PRIMARY_ROLE'=646 -'PRIOR'=647 -'PRIORITY'=648 -'PRIORITY_LEVEL'=649 -'PRIVATE'=650 -'PRIVATE_KEY'=651 -'PRIVILEGES'=652 -'PROCEDURE_NAME'=653 -'PROPERTY'=654 -'PROVIDER'=655 -'PROVIDER_KEY_NAME'=656 -'QUERY'=657 -'QUEUE'=658 -'QUEUE_DELAY'=659 -'QUOTED_IDENTIFIER'=660 -'RANGE'=661 -'RANK'=662 -'RC2'=663 -'RC4'=664 -'RC4_128'=665 -'READ_COMMITTED_SNAPSHOT'=666 -'READ_ONLY'=667 -'READ_ONLY_ROUTING_LIST'=668 -'READ_WRITE'=669 -'READONLY'=670 -'REBUILD'=671 -'RECEIVE'=672 -'RECOMPILE'=673 -'RECOVERY'=674 -'RECURSIVE_TRIGGERS'=675 -'RELATIVE'=676 -'REMOTE'=677 -'REMOTE_SERVICE_NAME'=678 -'REMOVE'=679 -'REORGANIZE'=680 -'REPEATABLE'=681 -'REPLICA'=682 -'REQUEST_MAX_CPU_TIME_SEC'=683 -'REQUEST_MAX_MEMORY_GRANT_PERCENT'=684 -'REQUEST_MEMORY_GRANT_TIMEOUT_SEC'=685 -'REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT'=686 -'RESERVE_DISK_SPACE'=687 -'RESOURCE'=688 -'RESOURCE_MANAGER_LOCATION'=689 -'RESTRICTED_USER'=690 -'RETENTION'=691 -'ROBUST'=692 -'ROOT'=693 -'ROUTE'=694 -'ROW'=695 -'ROW_NUMBER'=696 -'ROWGUID'=697 -'ROWS'=698 -'SAMPLE'=699 -'SCHEMABINDING'=700 -'SCOPED'=701 -'SCROLL'=702 -'SCROLL_LOCKS'=703 -'SEARCH'=704 -'SECONDARY'=705 -'SECONDARY_ONLY'=706 -'SECONDARY_ROLE'=707 -'SECONDS'=708 -'SECRET'=709 -'SECURITY'=710 -'SECURITY_LOG'=711 -'SEEDING_MODE'=712 -'SELF'=713 -'SEMI_SENSITIVE'=714 -'SEND'=715 -'SENT'=716 -'SEQUENCE'=717 -'SERIALIZABLE'=718 -'SESSION_TIMEOUT'=719 -'SETERROR'=720 -'SHARE'=721 -'SHOWPLAN'=722 -'SIGNATURE'=723 -'SIMPLE'=724 -'SINGLE_USER'=725 -'SIZE'=726 -'SMALLINT'=727 -'SNAPSHOT'=728 -'SPATIAL_WINDOW_MAX_CELLS'=729 -'STANDBY'=730 -'START_DATE'=731 -'STATIC'=732 -'STATS_STREAM'=733 -'STATUS'=734 -'STATUSONLY'=735 -'STDEV'=736 -'STDEVP'=737 -'STOPLIST'=738 -'STRING_AGG'=739 -'STUFF'=740 -'SUBJECT'=741 -'SUBSCRIPTION'=742 -'SUM'=743 -'SUSPEND'=744 -'SYMMETRIC'=745 -'SYNCHRONOUS_COMMIT'=746 -'SYNONYM'=747 -'SYSTEM'=748 -'TAKE'=749 -'TARGET_RECOVERY_TIME'=750 -'TB'=751 -'TEXTIMAGE_ON'=752 -'THROW'=753 -'TIES'=754 -'TIME'=755 -'TIMEOUT'=756 -'TIMER'=757 -'TINYINT'=758 -'TORN_PAGE_DETECTION'=759 -'TRANSFORM_NOISE_WORDS'=760 -'TRIPLE_DES'=761 -'TRIPLE_DES_3KEY'=762 -'TRUSTWORTHY'=763 -'TRY'=764 -'TSQL'=765 -'TWO_DIGIT_YEAR_CUTOFF'=766 -'TYPE'=767 -'TYPE_WARNING'=768 -'UNBOUNDED'=769 -'UNCOMMITTED'=770 -'UNKNOWN'=771 -'UNLIMITED'=772 -'UOW'=773 -'USING'=774 -'VALID_XML'=775 -'VALIDATION'=776 -'VALUE'=777 -'VAR'=778 -'VARP'=779 -'VIEW_METADATA'=780 -'VIEWS'=781 -'WAIT'=782 -'WELL_FORMED_XML'=783 -'WITHOUT_ARRAY_WRAPPER'=784 -'WORK'=785 -'WORKLOAD'=786 -'XML'=787 -'XMLDATA'=788 -'XMLNAMESPACES'=789 -'XMLSCHEMA'=790 -'XSINIL'=791 -'$ACTION'=792 -'\''=797 -'='=808 -'>'=809 -'<'=810 -'!'=811 -'+='=812 -'-='=813 -'*='=814 -'/='=815 -'%='=816 -'&='=817 -'^='=818 -'|='=819 -'||'=820 -'.'=821 -'_'=822 -'@'=823 -'#'=824 -'$'=825 -'('=826 -')'=827 -','=828 -';'=829 -':'=830 -'*'=831 -'/'=832 -'%'=833 -'+'=834 -'-'=835 -'~'=836 -'|'=837 -'&'=838 -'^'=839 diff --git a/src/grammar/tsql/parser/TSqlParser.js b/src/grammar/tsql/parser/TSqlParser.js deleted file mode 100644 index 78a5a88..0000000 --- a/src/grammar/tsql/parser/TSqlParser.js +++ /dev/null @@ -1,126333 +0,0 @@ -// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/tsql/TSqlParser.g4 by ANTLR 4.8 -// jshint ignore: start -var antlr4 = require('antlr4/index'); -var TSqlParserListener = require('./TSqlParserListener').TSqlParserListener; -var TSqlParserVisitor = require('./TSqlParserVisitor').TSqlParserVisitor; - -var grammarFileName = "TSqlParser.g4"; - - -var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", - "\u0003\u034a\u2a08\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004", - "\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007", - "\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f", - "\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010", - "\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014", - "\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017\t\u0017", - "\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a\u0004\u001b", - "\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e\t\u001e", - "\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#\t#\u0004", - "$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004*\t*\u0004", - "+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u0004", - "2\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u00048\t8\u0004", - "9\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004?\t?\u0004", - "@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004F\tF\u0004", - "G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004M\tM\u0004", - "N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004T\tT\u0004", - "U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004[\t[\u0004", - "\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004b\tb\u0004", - "c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004i\ti\u0004", - "j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004p\tp\u0004", - "q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004w\tw\u0004", - "x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004~\t~\u0004", - "\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004\u0082\t", - "\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t\u0085\u0004", - "\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004\u0089\t", - "\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t\u008c\u0004", - "\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004\u0090\t", - "\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t\u0093\u0004", - "\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004\u0097\t", - "\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t\u009a\u0004", - "\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004\u009e\t", - "\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t\u00a1\u0004", - "\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004\u00a5\t", - "\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t\u00a8\u0004", - "\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004\u00ac\t", - "\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t\u00af\u0004", - "\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004\u00b3\t", - "\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t\u00b6\u0004", - "\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004\u00ba\t", - "\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t\u00bd\u0004", - "\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004\u00c1\t", - "\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t\u00c4\u0004", - "\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004\u00c8\t", - "\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t\u00cb\u0004", - "\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004\u00cf\t", - "\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t\u00d2\u0004", - "\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004\u00d6\t", - "\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t\u00d9\u0004", - "\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004\u00dd\t", - "\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t\u00e0\u0004", - "\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0004\u00e4\t", - "\u00e4\u0004\u00e5\t\u00e5\u0004\u00e6\t\u00e6\u0004\u00e7\t\u00e7\u0004", - "\u00e8\t\u00e8\u0004\u00e9\t\u00e9\u0004\u00ea\t\u00ea\u0004\u00eb\t", - "\u00eb\u0004\u00ec\t\u00ec\u0004\u00ed\t\u00ed\u0004\u00ee\t\u00ee\u0004", - "\u00ef\t\u00ef\u0004\u00f0\t\u00f0\u0004\u00f1\t\u00f1\u0004\u00f2\t", - "\u00f2\u0004\u00f3\t\u00f3\u0004\u00f4\t\u00f4\u0004\u00f5\t\u00f5\u0004", - "\u00f6\t\u00f6\u0004\u00f7\t\u00f7\u0004\u00f8\t\u00f8\u0004\u00f9\t", - "\u00f9\u0004\u00fa\t\u00fa\u0004\u00fb\t\u00fb\u0004\u00fc\t\u00fc\u0004", - "\u00fd\t\u00fd\u0004\u00fe\t\u00fe\u0004\u00ff\t\u00ff\u0004\u0100\t", - "\u0100\u0004\u0101\t\u0101\u0004\u0102\t\u0102\u0004\u0103\t\u0103\u0004", - "\u0104\t\u0104\u0004\u0105\t\u0105\u0004\u0106\t\u0106\u0004\u0107\t", - "\u0107\u0004\u0108\t\u0108\u0004\u0109\t\u0109\u0004\u010a\t\u010a\u0004", - "\u010b\t\u010b\u0004\u010c\t\u010c\u0004\u010d\t\u010d\u0004\u010e\t", - "\u010e\u0004\u010f\t\u010f\u0004\u0110\t\u0110\u0004\u0111\t\u0111\u0004", - "\u0112\t\u0112\u0004\u0113\t\u0113\u0004\u0114\t\u0114\u0004\u0115\t", - "\u0115\u0004\u0116\t\u0116\u0004\u0117\t\u0117\u0004\u0118\t\u0118\u0004", - "\u0119\t\u0119\u0004\u011a\t\u011a\u0004\u011b\t\u011b\u0004\u011c\t", - "\u011c\u0004\u011d\t\u011d\u0004\u011e\t\u011e\u0004\u011f\t\u011f\u0004", - "\u0120\t\u0120\u0004\u0121\t\u0121\u0004\u0122\t\u0122\u0004\u0123\t", - "\u0123\u0004\u0124\t\u0124\u0004\u0125\t\u0125\u0004\u0126\t\u0126\u0004", - "\u0127\t\u0127\u0004\u0128\t\u0128\u0004\u0129\t\u0129\u0004\u012a\t", - "\u012a\u0004\u012b\t\u012b\u0004\u012c\t\u012c\u0004\u012d\t\u012d\u0004", - "\u012e\t\u012e\u0004\u012f\t\u012f\u0004\u0130\t\u0130\u0004\u0131\t", - "\u0131\u0004\u0132\t\u0132\u0004\u0133\t\u0133\u0004\u0134\t\u0134\u0004", - "\u0135\t\u0135\u0004\u0136\t\u0136\u0004\u0137\t\u0137\u0004\u0138\t", - "\u0138\u0004\u0139\t\u0139\u0004\u013a\t\u013a\u0004\u013b\t\u013b\u0004", - "\u013c\t\u013c\u0004\u013d\t\u013d\u0004\u013e\t\u013e\u0004\u013f\t", - "\u013f\u0004\u0140\t\u0140\u0004\u0141\t\u0141\u0004\u0142\t\u0142\u0004", - "\u0143\t\u0143\u0004\u0144\t\u0144\u0004\u0145\t\u0145\u0004\u0146\t", - "\u0146\u0004\u0147\t\u0147\u0004\u0148\t\u0148\u0004\u0149\t\u0149\u0004", - "\u014a\t\u014a\u0004\u014b\t\u014b\u0004\u014c\t\u014c\u0004\u014d\t", - "\u014d\u0004\u014e\t\u014e\u0004\u014f\t\u014f\u0004\u0150\t\u0150\u0004", - "\u0151\t\u0151\u0004\u0152\t\u0152\u0004\u0153\t\u0153\u0004\u0154\t", - "\u0154\u0004\u0155\t\u0155\u0004\u0156\t\u0156\u0004\u0157\t\u0157\u0004", - "\u0158\t\u0158\u0004\u0159\t\u0159\u0004\u015a\t\u015a\u0004\u015b\t", - "\u015b\u0004\u015c\t\u015c\u0004\u015d\t\u015d\u0004\u015e\t\u015e\u0004", - "\u015f\t\u015f\u0004\u0160\t\u0160\u0004\u0161\t\u0161\u0004\u0162\t", - "\u0162\u0004\u0163\t\u0163\u0004\u0164\t\u0164\u0004\u0165\t\u0165\u0004", - "\u0166\t\u0166\u0004\u0167\t\u0167\u0004\u0168\t\u0168\u0004\u0169\t", - "\u0169\u0004\u016a\t\u016a\u0004\u016b\t\u016b\u0004\u016c\t\u016c\u0004", - "\u016d\t\u016d\u0004\u016e\t\u016e\u0004\u016f\t\u016f\u0004\u0170\t", - "\u0170\u0004\u0171\t\u0171\u0004\u0172\t\u0172\u0004\u0173\t\u0173\u0004", - "\u0174\t\u0174\u0004\u0175\t\u0175\u0004\u0176\t\u0176\u0004\u0177\t", - "\u0177\u0004\u0178\t\u0178\u0004\u0179\t\u0179\u0004\u017a\t\u017a\u0004", - "\u017b\t\u017b\u0004\u017c\t\u017c\u0004\u017d\t\u017d\u0004\u017e\t", - "\u017e\u0004\u017f\t\u017f\u0004\u0180\t\u0180\u0004\u0181\t\u0181\u0004", - "\u0182\t\u0182\u0004\u0183\t\u0183\u0004\u0184\t\u0184\u0004\u0185\t", - "\u0185\u0004\u0186\t\u0186\u0004\u0187\t\u0187\u0004\u0188\t\u0188\u0004", - "\u0189\t\u0189\u0004\u018a\t\u018a\u0004\u018b\t\u018b\u0004\u018c\t", - "\u018c\u0004\u018d\t\u018d\u0004\u018e\t\u018e\u0004\u018f\t\u018f\u0004", - "\u0190\t\u0190\u0004\u0191\t\u0191\u0004\u0192\t\u0192\u0004\u0193\t", - "\u0193\u0004\u0194\t\u0194\u0004\u0195\t\u0195\u0004\u0196\t\u0196\u0004", - "\u0197\t\u0197\u0004\u0198\t\u0198\u0004\u0199\t\u0199\u0004\u019a\t", - "\u019a\u0004\u019b\t\u019b\u0004\u019c\t\u019c\u0004\u019d\t\u019d\u0004", - "\u019e\t\u019e\u0004\u019f\t\u019f\u0004\u01a0\t\u01a0\u0004\u01a1\t", - "\u01a1\u0004\u01a2\t\u01a2\u0004\u01a3\t\u01a3\u0004\u01a4\t\u01a4\u0004", - "\u01a5\t\u01a5\u0004\u01a6\t\u01a6\u0004\u01a7\t\u01a7\u0004\u01a8\t", - "\u01a8\u0004\u01a9\t\u01a9\u0004\u01aa\t\u01aa\u0004\u01ab\t\u01ab\u0004", - "\u01ac\t\u01ac\u0004\u01ad\t\u01ad\u0004\u01ae\t\u01ae\u0004\u01af\t", - "\u01af\u0004\u01b0\t\u01b0\u0004\u01b1\t\u01b1\u0004\u01b2\t\u01b2\u0004", - "\u01b3\t\u01b3\u0004\u01b4\t\u01b4\u0004\u01b5\t\u01b5\u0004\u01b6\t", - "\u01b6\u0004\u01b7\t\u01b7\u0004\u01b8\t\u01b8\u0004\u01b9\t\u01b9\u0004", - "\u01ba\t\u01ba\u0004\u01bb\t\u01bb\u0004\u01bc\t\u01bc\u0004\u01bd\t", - "\u01bd\u0004\u01be\t\u01be\u0004\u01bf\t\u01bf\u0004\u01c0\t\u01c0\u0004", - "\u01c1\t\u01c1\u0004\u01c2\t\u01c2\u0004\u01c3\t\u01c3\u0004\u01c4\t", - "\u01c4\u0004\u01c5\t\u01c5\u0004\u01c6\t\u01c6\u0004\u01c7\t\u01c7\u0004", - "\u01c8\t\u01c8\u0004\u01c9\t\u01c9\u0004\u01ca\t\u01ca\u0004\u01cb\t", - "\u01cb\u0004\u01cc\t\u01cc\u0004\u01cd\t\u01cd\u0004\u01ce\t\u01ce\u0004", - "\u01cf\t\u01cf\u0004\u01d0\t\u01d0\u0004\u01d1\t\u01d1\u0004\u01d2\t", - "\u01d2\u0004\u01d3\t\u01d3\u0004\u01d4\t\u01d4\u0004\u01d5\t\u01d5\u0004", - "\u01d6\t\u01d6\u0004\u01d7\t\u01d7\u0004\u01d8\t\u01d8\u0004\u01d9\t", - "\u01d9\u0004\u01da\t\u01da\u0004\u01db\t\u01db\u0004\u01dc\t\u01dc\u0004", - "\u01dd\t\u01dd\u0004\u01de\t\u01de\u0004\u01df\t\u01df\u0004\u01e0\t", - "\u01e0\u0004\u01e1\t\u01e1\u0004\u01e2\t\u01e2\u0004\u01e3\t\u01e3\u0004", - "\u01e4\t\u01e4\u0004\u01e5\t\u01e5\u0004\u01e6\t\u01e6\u0004\u01e7\t", - "\u01e7\u0004\u01e8\t\u01e8\u0003\u0002\u0007\u0002\u03d2\n\u0002\f\u0002", - "\u000e\u0002\u03d5\u000b\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0003", - "\u0003\u0007\u0003\u03db\n\u0003\f\u0003\u000e\u0003\u03de\u000b\u0003", - "\u0003\u0003\u0005\u0003\u03e1\n\u0003\u0003\u0003\u0003\u0003\u0007", - "\u0003\u03e5\n\u0003\f\u0003\u000e\u0003\u03e8\u000b\u0003\u0005\u0003", - "\u03ea\n\u0003\u0003\u0004\u0003\u0004\u0005\u0004\u03ee\n\u0004\u0006", - "\u0004\u03f0\n\u0004\r\u0004\u000e\u0004\u03f1\u0003\u0005\u0003\u0005", - "\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0005\u0005", - "\u03fb\n\u0005\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003", - "\u0006\u0005\u0006\u0402\n\u0006\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007", - "\u0005\u0007\u04a3\n\u0007\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005", - "\b\u04aa\n\b\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t", - "\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0005\t\u04b8\n\t\u0003\n\u0003", - "\n\u0005\n\u04bc\n\n\u0003\n\u0005\n\u04bf\n\n\u0003\n\u0003\n\u0005", - "\n\u04c3\n\n\u0003\u000b\u0003\u000b\u0005\u000b\u04c7\n\u000b\u0003", - "\f\u0003\f\u0005\f\u04cb\n\f\u0003\r\u0003\r\u0003\r\u0005\r\u04d0\n", - "\r\u0003\r\u0003\r\u0003\r\u0005\r\u04d5\n\r\u0005\r\u04d7\n\r\u0003", - "\u000e\u0003\u000e\u0005\u000e\u04db\n\u000e\u0003\u000e\u0005\u000e", - "\u04de\n\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003", - "\u000f\u0005\u000f\u04e5\n\u000f\u0003\u000f\u0005\u000f\u04e8\n\u000f", - "\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010", - "\u0003\u0010\u0005\u0010\u04f1\n\u0010\u0003\u0010\u0005\u0010\u04f4", - "\n\u0010\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0013", - "\u0003\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0005\u0014\u04ff\n", - "\u0014\u0003\u0014\u0005\u0014\u0502\n\u0014\u0003\u0014\u0003\u0014", - "\u0003\u0014\u0005\u0014\u0507\n\u0014\u0003\u0014\u0003\u0014\u0003", - "\u0014\u0005\u0014\u050c\n\u0014\u0003\u0014\u0005\u0014\u050f\n\u0014", - "\u0003\u0014\u0003\u0014\u0003\u0014\u0005\u0014\u0514\n\u0014\u0003", - "\u0015\u0003\u0015\u0005\u0015\u0518\n\u0015\u0003\u0015\u0005\u0015", - "\u051b\n\u0015\u0003\u0015\u0003\u0015\u0005\u0015\u051f\n\u0015\u0003", - "\u0015\u0005\u0015\u0522\n\u0015\u0003\u0015\u0005\u0015\u0525\n\u0015", - "\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0005\u0016", - "\u052c\n\u0016\u0003\u0016\u0003\u0016\u0005\u0016\u0530\n\u0016\u0005", - "\u0016\u0532\n\u0016\u0003\u0017\u0003\u0017\u0003\u0017\u0005\u0017", - "\u0537\n\u0017\u0003\u0017\u0003\u0017\u0007\u0017\u053b\n\u0017\f\u0017", - "\u000e\u0017\u053e\u000b\u0017\u0003\u0017\u0005\u0017\u0541\n\u0017", - "\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018", - "\u0003\u0018\u0003\u0018\u0003\u0018\u0007\u0018\u054c\n\u0018\f\u0018", - "\u000e\u0018\u054f\u000b\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0005", - "\u0018\u0554\n\u0018\u0003\u0018\u0005\u0018\u0557\n\u0018\u0003\u0018", - "\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0007\u0018\u055e\n", - "\u0018\f\u0018\u000e\u0018\u0561\u000b\u0018\u0005\u0018\u0563\n\u0018", - "\u0003\u0019\u0003\u0019\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a", - "\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a", - "\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a", - "\u0005\u001a\u0577\n\u001a\u0003\u001b\u0003\u001b\u0003\u001b\u0003", - "\u001b\u0003\u001b\u0003\u001b\u0005\u001b\u057f\n\u001b\u0003\u001b", - "\u0003\u001b\u0003\u001b\u0005\u001b\u0584\n\u001b\u0003\u001b\u0005", - "\u001b\u0587\n\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0005\u001b", - "\u058c\n\u001b\u0003\u001b\u0005\u001b\u058f\n\u001b\u0003\u001b\u0003", - "\u001b\u0003\u001b\u0005\u001b\u0594\n\u001b\u0003\u001c\u0003\u001c", - "\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0005\u001c\u059c\n", - "\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0005\u001c\u05a1\n\u001c", - "\u0003\u001c\u0005\u001c\u05a4\n\u001c\u0003\u001c\u0003\u001c\u0003", - "\u001c\u0005\u001c\u05a9\n\u001c\u0003\u001d\u0003\u001d\u0003\u001d", - "\u0003\u001d\u0005\u001d\u05af\n\u001d\u0003\u001d\u0003\u001d\u0003", - "\u001d\u0005\u001d\u05b4\n\u001d\u0003\u001d\u0003\u001d\u0003\u001e", - "\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f", - "\u0003\u001f\u0003\u001f\u0003 \u0003 \u0003 \u0003!\u0005!\u05c5\n", - "!\u0003!\u0005!\u05c8\n!\u0003!\u0005!\u05cb\n!\u0003!\u0005!\u05ce", - "\n!\u0003\"\u0003\"\u0003\"\u0005\"\u05d3\n\"\u0003#\u0003#\u0003$\u0003", - "$\u0003$\u0003%\u0003%\u0005%\u05dc\n%\u0003&\u0003&\u0003\'\u0003\'", - "\u0003\'\u0003(\u0003(\u0003(\u0003(\u0003)\u0003)\u0003)\u0003)\u0005", - ")\u05eb\n)\u0003*\u0003*\u0003+\u0003+\u0003+\u0003,\u0003,\u0003-\u0003", - "-\u0003-\u0003.\u0003.\u0003/\u0003/\u0003/\u0005/\u05fc\n/\u00030\u0003", - "0\u00030\u00030\u00030\u00030\u00030\u00030\u00030\u00050\u0607\n0\u0003", - "0\u00030\u00070\u060b\n0\f0\u000e0\u060e\u000b0\u00031\u00031\u0003", - "1\u00031\u00032\u00032\u00033\u00033\u00034\u00034\u00034\u00034\u0005", - "4\u061c\n4\u00035\u00035\u00036\u00036\u00036\u00037\u00037\u00038\u0003", - "8\u00038\u00038\u00038\u00038\u00058\u062b\n8\u00039\u00039\u0003:\u0003", - ":\u0003:\u0003:\u0003:\u0005:\u0634\n:\u0003:\u0003:\u0005:\u0638\n", - ":\u0003:\u0006:\u063b\n:\r:\u000e:\u063c\u0003:\u0003:\u0003:\u0003", - ":\u0005:\u0643\n:\u0003;\u0003;\u0003;\u0003;\u0005;\u0649\n;\u0003", - ";\u0005;\u064c\n;\u0003;\u0006;\u064f\n;\r;\u000e;\u0650\u0003;\u0003", - ";\u0003;\u0005;\u0656\n;\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0005", - "<\u065e\n<\u0003=\u0003=\u0003=\u0003=\u0003>\u0003>\u0003>\u0003>\u0005", - ">\u0668\n>\u0003>\u0003>\u0003?\u0003?\u0003?\u0003?\u0003?\u0003@\u0003", - "@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0005@\u067b", - "\n@\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0005A\u0683\nA\u0003", - "A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003", - "A\u0005A\u0690\nA\u0005A\u0692\nA\u0003A\u0003A\u0003A\u0003A\u0003", - "A\u0003A\u0003A\u0003A\u0003A\u0003A\u0005A\u069e\nA\u0005A\u06a0\n", - "A\u0003A\u0003A\u0003A\u0003A\u0003A\u0005A\u06a7\nA\u0003B\u0003B\u0003", - "B\u0003B\u0003B\u0003B\u0003B\u0005B\u06b0\nB\u0003C\u0003C\u0003C\u0003", - "C\u0005C\u06b6\nC\u0003C\u0003C\u0003C\u0003C\u0003D\u0003D\u0003D\u0005", - "D\u06bf\nD\u0003E\u0003E\u0003F\u0003F\u0003F\u0003G\u0003G\u0003G\u0003", - "G\u0003H\u0003H\u0003H\u0003H\u0005H\u06ce\nH\u0003H\u0003H\u0003H\u0003", - "H\u0003I\u0003I\u0003I\u0003I\u0005I\u06d8\nI\u0003I\u0003I\u0003I\u0003", - "I\u0003J\u0003J\u0003J\u0003J\u0005J\u06e2\nJ\u0003J\u0003J\u0003J\u0003", - "J\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003", - "K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003", - "K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003", - "K\u0003K\u0003K\u0003K\u0003K\u0005K\u070a\nK\u0003L\u0003L\u0003L\u0003", - "L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003", - "L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0005L\u0721\nL\u0003", - "M\u0003M\u0003N\u0003N\u0003O\u0003O\u0003O\u0003O\u0003O\u0003P\u0003", - "P\u0003P\u0003Q\u0003Q\u0003Q\u0003Q\u0003Q\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0005R\u0745\nR\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0005R\u0757\nR\u0003R\u0005R\u075a\nR\u0003R\u0003R\u0003", - "R\u0005R\u075f\nR\u0003R\u0005R\u0762\nR\u0003R\u0003R\u0003R\u0005", - "R\u0767\nR\u0003R\u0005R\u076a\nR\u0003R\u0003R\u0003R\u0005R\u076f", - "\nR\u0003R\u0005R\u0772\nR\u0003R\u0003R\u0003R\u0005R\u0777\nR\u0003", - "R\u0005R\u077a\nR\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0005R\u0782", - "\nR\u0003R\u0005R\u0785\nR\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0005R\u078d\nR\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0005R\u079a\nR\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0005R\u07a5\nR\u0003R\u0007R\u07a8\n", - "R\fR\u000eR\u07ab\u000bR\u0003R\u0005R\u07ae\nR\u0003R\u0003R\u0003", - "R\u0003R\u0005R\u07b4\nR\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0005R\u07cb\nR\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0005R\u07d7\nR\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0005R\u07e2\nR\u0003", - "R\u0007R\u07e5\nR\fR\u000eR\u07e8\u000bR\u0003R\u0005R\u07eb\nR\u0003", - "R\u0003R\u0003R\u0003R\u0005R\u07f1\nR\u0005R\u07f3\nR\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0005", - "R\u0800\nR\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0006R\u0815\nR\rR\u000eR\u0816\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0005R\u081e\nR\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0005", - "R\u0827\nR\u0003R\u0003R\u0003R\u0005R\u082c\nR\u0003R\u0005R\u082f", - "\nR\u0003R\u0003R\u0003R\u0005R\u0834\nR\u0003R\u0005R\u0837\nR\u0003", - "R\u0003R\u0003R\u0005R\u083c\nR\u0003R\u0006R\u083f\nR\rR\u000eR\u0840", - "\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0005R\u085d\nR\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0005R\u0864\nR\u0003R\u0006R\u0867\nR\rR\u000e", - "R\u0868\u0003R\u0003R\u0003R\u0003R\u0003R\u0005R\u0870\nR\u0005R\u0872", - "\nR\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0005", - "R\u087d\nR\u0003R\u0003R\u0003R\u0003R\u0005R\u0883\nR\u0003R\u0003", - "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", - "R\u0003R\u0005R\u0892\nR\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003", - "S\u0003S\u0003S\u0003S\u0003S\u0003S\u0005S\u08a0\nS\u0003S\u0005S\u08a3", - "\nS\u0005S\u08a5\nS\u0003S\u0003S\u0003S\u0005S\u08aa\nS\u0003S\u0003", - "S\u0005S\u08ae\nS\u0003S\u0005S\u08b1\nS\u0005S\u08b3\nS\u0003S\u0003", - "S\u0003S\u0003S\u0005S\u08b9\nS\u0003S\u0005S\u08bc\nS\u0005S\u08be", - "\nS\u0003S\u0003S\u0003S\u0003S\u0005S\u08c4\nS\u0005S\u08c6\nS\u0003", - "S\u0003S\u0003T\u0003T\u0003T\u0003T\u0003T\u0003U\u0003U\u0003U\u0003", - "U\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0005", - "U\u08dc\nU\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0005U\u08e4\n", - "U\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0005U\u08ec\nU\u0006U\u08ee", - "\nU\rU\u000eU\u08ef\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0003", - "U\u0005U\u08f9\nU\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003", - "V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003", - "V\u0003V\u0005V\u090e\nV\u0003V\u0003V\u0003W\u0003W\u0003W\u0003W\u0003", - "W\u0003W\u0003W\u0003W\u0003W\u0005W\u091b\nW\u0003W\u0003W\u0003W\u0003", - "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0005", - "W\u092a\nW\u0006W\u092c\nW\rW\u000eW\u092d\u0003X\u0003X\u0003X\u0003", - "X\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Z\u0003Z\u0003Z\u0003", - "Z\u0003Z\u0003Z\u0003[\u0003[\u0003[\u0003[\u0003\\\u0003\\\u0003\\", - "\u0003\\\u0003]\u0003]\u0003]\u0003]\u0003]\u0003^\u0003^\u0003^\u0003", - "^\u0005^\u0951\n^\u0003^\u0005^\u0954\n^\u0003^\u0006^\u0957\n^\r^\u000e", - "^\u0958\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003`\u0003`\u0003", - "`\u0003`\u0003`\u0003`\u0003a\u0003a\u0003a\u0003a\u0005a\u096b\na\u0003", - "a\u0005a\u096e\na\u0003a\u0003a\u0003a\u0005a\u0973\na\u0003a\u0003", - "a\u0003b\u0003b\u0003b\u0003b\u0003c\u0003c\u0003c\u0003c\u0003c\u0003", - "c\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003e\u0003e\u0003e\u0003", - "e\u0003e\u0003e\u0005e\u098d\ne\u0003f\u0003f\u0003f\u0003f\u0003f\u0003", - "f\u0003g\u0003g\u0003g\u0003g\u0003g\u0003g\u0005g\u099b\ng\u0003g\u0003", - "g\u0003g\u0005g\u09a0\ng\u0003g\u0003g\u0003h\u0003h\u0003h\u0003h\u0005", - "h\u09a8\nh\u0003h\u0006h\u09ab\nh\rh\u000eh\u09ac\u0003h\u0003h\u0003", - "h\u0003h\u0003h\u0005h\u09b4\nh\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", - "i\u0003i\u0003j\u0003j\u0003j\u0003j\u0003j\u0003k\u0003k\u0003k\u0003", - "k\u0003k\u0003k\u0003k\u0005k\u09c9\nk\u0003k\u0003k\u0003l\u0003l\u0003", - "l\u0003l\u0003l\u0003m\u0003m\u0003m\u0003m\u0003n\u0003n\u0003n\u0003", - "n\u0003o\u0003o\u0003o\u0003o\u0003o\u0003p\u0003p\u0003p\u0003p\u0003", - "p\u0003q\u0003q\u0003q\u0003q\u0003q\u0003r\u0003r\u0003r\u0003r\u0003", - "r\u0005r\u09ee\nr\u0003r\u0003r\u0003r\u0005r\u09f3\nr\u0003r\u0003", - "r\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003t\u0003t\u0003t\u0003", - "t\u0003t\u0003u\u0003u\u0003u\u0003u\u0005u\u0a06\nu\u0003u\u0003u\u0003", - "v\u0003v\u0003v\u0003v\u0003w\u0003w\u0003w\u0003w\u0005w\u0a12\nw\u0003", - "w\u0005w\u0a15\nw\u0003w\u0003w\u0003w\u0005w\u0a1a\nw\u0003w\u0005", - "w\u0a1d\nw\u0003x\u0003x\u0003x\u0003x\u0005x\u0a23\nx\u0003x\u0003", - "x\u0003y\u0003y\u0003y\u0003y\u0003y\u0003y\u0003z\u0003z\u0003z\u0003", - "z\u0003z\u0005z\u0a32\nz\u0003z\u0003z\u0003z\u0005z\u0a37\nz\u0003", - "z\u0003z\u0003{\u0003{\u0003{\u0003{\u0005{\u0a3f\n{\u0003{\u0005{\u0a42", - "\n{\u0003{\u0003{\u0003{\u0005{\u0a47\n{\u0003{\u0003{\u0003{\u0005", - "{\u0a4c\n{\u0003{\u0005{\u0a4f\n{\u0003|\u0003|\u0003|\u0003|\u0003", - "|\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003~\u0003~\u0003~\u0003", - "~\u0003~\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u0080", - "\u0003\u0080\u0005\u0080\u0a67\n\u0080\u0003\u0080\u0003\u0080\u0003", - "\u0080\u0003\u0080\u0003\u0080\u0005\u0080\u0a6e\n\u0080\u0003\u0080", - "\u0003\u0080\u0003\u0080\u0005\u0080\u0a73\n\u0080\u0003\u0080\u0003", - "\u0080\u0003\u0080\u0005\u0080\u0a78\n\u0080\u0003\u0080\u0003\u0080", - "\u0003\u0080\u0006\u0080\u0a7d\n\u0080\r\u0080\u000e\u0080\u0a7e\u0003", - "\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0005\u0081\u0a86", - "\n\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0082", - "\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082", - "\u0005\u0082\u0a93\n\u0082\u0003\u0083\u0003\u0083\u0003\u0083\u0003", - "\u0083\u0005\u0083\u0a99\n\u0083\u0003\u0083\u0003\u0083\u0003\u0083", - "\u0005\u0083\u0a9e\n\u0083\u0003\u0083\u0003\u0083\u0003\u0084\u0003", - "\u0084\u0003\u0084\u0003\u0084\u0005\u0084\u0aa6\n\u0084\u0003\u0084", - "\u0003\u0084\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085", - "\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0086", - "\u0003\u0086\u0005\u0086\u0ab6\n\u0086\u0003\u0086\u0003\u0086\u0003", - "\u0087\u0003\u0087\u0003\u0087\u0005\u0087\u0abd\n\u0087\u0003\u0087", - "\u0003\u0087\u0003\u0087\u0005\u0087\u0ac2\n\u0087\u0003\u0087\u0006", - "\u0087\u0ac5\n\u0087\r\u0087\u000e\u0087\u0ac6\u0003\u0087\u0005\u0087", - "\u0aca\n\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0005", - "\u0087\u0ad0\n\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087", - "\u0005\u0087\u0ad6\n\u0087\u0003\u0088\u0003\u0088\u0003\u0088\u0005", - "\u0088\u0adb\n\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0005\u0088", - "\u0ae0\n\u0088\u0003\u0088\u0006\u0088\u0ae3\n\u0088\r\u0088\u000e\u0088", - "\u0ae4\u0003\u0088\u0005\u0088\u0ae8\n\u0088\u0003\u0088\u0003\u0088", - "\u0003\u0088\u0003\u0088\u0005\u0088\u0aee\n\u0088\u0003\u0088\u0003", - "\u0088\u0003\u0088\u0003\u0088\u0005\u0088\u0af4\n\u0088\u0003\u0089", - "\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089", - "\u0003\u0089\u0003\u0089\u0005\u0089\u0aff\n\u0089\u0003\u0089\u0005", - "\u0089\u0b02\n\u0089\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a", - "\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0005\u008a\u0b0c\n", - "\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0005\u008a\u0b12", - "\n\u008a\u0006\u008a\u0b14\n\u008a\r\u008a\u000e\u008a\u0b15\u0003\u008a", - "\u0003\u008a\u0005\u008a\u0b1a\n\u008a\u0003\u008b\u0003\u008b\u0003", - "\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003", - "\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003", - "\u008b\u0003\u008b\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003", - "\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003", - "\u008c\u0005\u008c\u0b37\n\u008c\u0003\u008d\u0003\u008d\u0003\u008d", - "\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d", - "\u0003\u008d\u0003\u008d\u0005\u008d\u0b44\n\u008d\u0003\u008d\u0003", - "\u008d\u0003\u008d\u0003\u008d\u0005\u008d\u0b4a\n\u008d\u0003\u008e", - "\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008e", - "\u0003\u008e\u0005\u008e\u0b54\n\u008e\u0003\u008e\u0005\u008e\u0b57", - "\n\u008e\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f", - "\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u0090\u0003\u0090", - "\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090", - "\u0003\u0090\u0005\u0090\u0b6b\n\u0090\u0003\u0090\u0003\u0090\u0005", - "\u0090\u0b6f\n\u0090\u0003\u0090\u0003\u0090\u0005\u0090\u0b73\n\u0090", - "\u0003\u0090\u0006\u0090\u0b76\n\u0090\r\u0090\u000e\u0090\u0b77\u0003", - "\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003", - "\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003", - "\u0091\u0005\u0091\u0b87\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091", - "\u0003\u0091\u0003\u0091\u0005\u0091\u0b8e\n\u0091\u0003\u0091\u0003", - "\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0005", - "\u0091\u0b97\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091", - "\u0007\u0091\u0b9d\n\u0091\f\u0091\u000e\u0091\u0ba0\u000b\u0091\u0005", - "\u0091\u0ba2\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0005\u0091", - "\u0ba7\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0005\u0091\u0bac", - "\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0006\u0091", - "\u0bb2\n\u0091\r\u0091\u000e\u0091\u0bb3\u0003\u0091\u0003\u0091\u0006", - "\u0091\u0bb8\n\u0091\r\u0091\u000e\u0091\u0bb9\u0003\u0091\u0003\u0091", - "\u0005\u0091\u0bbe\n\u0091\u0003\u0091\u0003\u0091\u0007\u0091\u0bc2", - "\n\u0091\f\u0091\u000e\u0091\u0bc5\u000b\u0091\u0007\u0091\u0bc7\n\u0091", - "\f\u0091\u000e\u0091\u0bca\u000b\u0091\u0003\u0091\u0005\u0091\u0bcd", - "\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091", - "\u0005\u0091\u0bd4\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003", - "\u0091\u0007\u0091\u0bda\n\u0091\f\u0091\u000e\u0091\u0bdd\u000b\u0091", - "\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0005\u0091", - "\u0be4\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003", - "\u0091\u0003\u0091\u0003\u0091\u0005\u0091\u0bed\n\u0091\u0003\u0091", - "\u0003\u0091\u0003\u0091\u0005\u0091\u0bf2\n\u0091\u0003\u0091\u0003", - "\u0091\u0005\u0091\u0bf6\n\u0091\u0003\u0091\u0005\u0091\u0bf9\n\u0091", - "\u0006\u0091\u0bfb\n\u0091\r\u0091\u000e\u0091\u0bfc\u0003\u0091\u0003", - "\u0091\u0007\u0091\u0c01\n\u0091\f\u0091\u000e\u0091\u0c04\u000b\u0091", - "\u0007\u0091\u0c06\n\u0091\f\u0091\u000e\u0091\u0c09\u000b\u0091\u0003", - "\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0005\u0091\u0c10", - "\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0007\u0091", - "\u0c16\n\u0091\f\u0091\u000e\u0091\u0c19\u000b\u0091\u0003\u0091\u0003", - "\u0091\u0003\u0091\u0005\u0091\u0c1e\n\u0091\u0003\u0091\u0003\u0091", - "\u0003\u0091\u0003\u0091\u0005\u0091\u0c24\n\u0091\u0003\u0091\u0005", - "\u0091\u0c27\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0005\u0091", - "\u0c2c\n\u0091\u0003\u0091\u0005\u0091\u0c2f\n\u0091\u0003\u0091\u0003", - "\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0005\u0091\u0c36\n\u0091", - "\u0005\u0091\u0c38\n\u0091\u0003\u0091\u0005\u0091\u0c3b\n\u0091\u0003", - "\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0005\u0091\u0c41\n\u0091", - "\u0003\u0091\u0005\u0091\u0c44\n\u0091\u0003\u0091\u0003\u0091\u0003", - "\u0091\u0005\u0091\u0c49\n\u0091\u0003\u0091\u0005\u0091\u0c4c\n\u0091", - "\u0003\u0091\u0003\u0091\u0003\u0091\u0005\u0091\u0c51\n\u0091\u0003", - "\u0091\u0005\u0091\u0c54\n\u0091\u0003\u0091\u0003\u0091\u0003\u0091", - "\u0005\u0091\u0c59\n\u0091\u0003\u0091\u0005\u0091\u0c5c\n\u0091\u0003", - "\u0091\u0003\u0091\u0003\u0091\u0005\u0091\u0c61\n\u0091\u0003\u0092", - "\u0005\u0092\u0c64\n\u0092\u0003\u0092\u0005\u0092\u0c67\n\u0092\u0003", - "\u0092\u0005\u0092\u0c6a\n\u0092\u0003\u0092\u0003\u0092\u0003\u0092", - "\u0003\u0092\u0003\u0092\u0005\u0092\u0c71\n\u0092\u0006\u0092\u0c73", - "\n\u0092\r\u0092\u000e\u0092\u0c74\u0003\u0093\u0003\u0093\u0003\u0093", - "\u0003\u0093\u0003\u0093\u0005\u0093\u0c7c\n\u0093\u0003\u0094\u0003", - "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0005\u0094\u0c83\n\u0094", - "\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0005\u0094\u0c89\n", - "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", - "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0005", - "\u0094\u0c96\n\u0094\u0003\u0094\u0003\u0094\u0005\u0094\u0c9a\n\u0094", - "\u0003\u0094\u0003\u0094\u0003\u0094\u0005\u0094\u0c9f\n\u0094\u0003", - "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", - "\u0094\u0003\u0094\u0005\u0094\u0ca9\n\u0094\u0003\u0094\u0003\u0094", - "\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0005\u0094", - "\u0cb2\n\u0094\u0003\u0094\u0003\u0094\u0005\u0094\u0cb6\n\u0094\u0003", - "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", - "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0005\u0095\u0cc2\n\u0095", - "\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0005\u0095\u0cc8\n", - "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0006\u0095\u0ccd\n\u0095", - "\r\u0095\u000e\u0095\u0cce\u0003\u0095\u0003\u0095\u0003\u0095\u0003", - "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", - "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", - "\u0095\u0003\u0095\u0003\u0095\u0005\u0095\u0ce3\n\u0095\u0003\u0095", - "\u0003\u0095\u0005\u0095\u0ce7\n\u0095\u0003\u0096\u0003\u0096\u0003", - "\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0005\u0096\u0cef\n\u0096", - "\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096", - "\u0003\u0096\u0005\u0096\u0cf8\n\u0096\u0003\u0096\u0003\u0096\u0003", - "\u0096\u0003\u0096\u0005\u0096\u0cfe\n\u0096\u0003\u0096\u0003\u0096", - "\u0003\u0096\u0003\u0096\u0005\u0096\u0d04\n\u0096\u0003\u0096\u0003", - "\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0006\u0096\u0d0c", - "\n\u0096\r\u0096\u000e\u0096\u0d0d\u0003\u0096\u0003\u0096\u0003\u0097", - "\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0005\u0097", - "\u0d18\n\u0097\u0003\u0097\u0003\u0097\u0005\u0097\u0d1c\n\u0097\u0003", - "\u0097\u0005\u0097\u0d1f\n\u0097\u0003\u0097\u0003\u0097\u0005\u0097", - "\u0d23\n\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0005\u0097\u0d28", - "\n\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0005\u0097", - "\u0d2e\n\u0097\u0003\u0097\u0005\u0097\u0d31\n\u0097\u0003\u0097\u0003", - "\u0097\u0005\u0097\u0d35\n\u0097\u0003\u0097\u0003\u0097\u0003\u0097", - "\u0003\u0097\u0003\u0097\u0003\u0097\u0006\u0097\u0d3d\n\u0097\r\u0097", - "\u000e\u0097\u0d3e\u0003\u0097\u0005\u0097\u0d42\n\u0097\u0003\u0098", - "\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0005\u0098", - "\u0d4a\n\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003", - "\u0098\u0003\u0098\u0005\u0098\u0d52\n\u0098\u0003\u0098\u0003\u0098", - "\u0003\u0098\u0003\u0098\u0003\u0098\u0005\u0098\u0d59\n\u0098\u0003", - "\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0006\u0098\u0d60", - "\n\u0098\r\u0098\u000e\u0098\u0d61\u0005\u0098\u0d64\n\u0098\u0003\u0098", - "\u0003\u0098\u0003\u0098\u0005\u0098\u0d69\n\u0098\u0003\u0098\u0003", - "\u0098\u0003\u0098\u0003\u0098\u0005\u0098\u0d6f\n\u0098\u0003\u0098", - "\u0006\u0098\u0d72\n\u0098\r\u0098\u000e\u0098\u0d73\u0005\u0098\u0d76", - "\n\u0098\u0003\u0098\u0005\u0098\u0d79\n\u0098\u0003\u0098\u0003\u0098", - "\u0003\u0098\u0005\u0098\u0d7e\n\u0098\u0003\u0098\u0005\u0098\u0d81", - "\n\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0005\u0098\u0d86\n\u0098", - "\u0003\u0098\u0003\u0098\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099", - "\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099", - "\u0003\u0099\u0005\u0099\u0d95\n\u0099\u0003\u0099\u0003\u0099\u0003", - "\u0099\u0003\u0099\u0003\u0099\u0005\u0099\u0d9c\n\u0099\u0003\u0099", - "\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0006\u0099\u0da3\n", - "\u0099\r\u0099\u000e\u0099\u0da4\u0005\u0099\u0da7\n\u0099\u0003\u0099", - "\u0003\u0099\u0003\u0099\u0005\u0099\u0dac\n\u0099\u0003\u0099\u0003", - "\u0099\u0003\u0099\u0003\u0099\u0005\u0099\u0db2\n\u0099\u0003\u0099", - "\u0006\u0099\u0db5\n\u0099\r\u0099\u000e\u0099\u0db6\u0005\u0099\u0db9", - "\n\u0099\u0003\u0099\u0005\u0099\u0dbc\n\u0099\u0003\u0099\u0003\u0099", - "\u0003\u0099\u0005\u0099\u0dc1\n\u0099\u0003\u0099\u0005\u0099\u0dc4", - "\n\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0005\u0099\u0dc9\n\u0099", - "\u0003\u0099\u0003\u0099\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a", - "\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0005\u009a", - "\u0dd6\n\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0005\u009a\u0ddb", - "\n\u009a\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b", - "\u0003\u009b\u0003\u009b\u0005\u009b\u0de4\n\u009b\u0003\u009b\u0003", - "\u009b\u0003\u009b\u0005\u009b\u0de9\n\u009b\u0003\u009b\u0003\u009b", - "\u0003\u009b\u0003\u009b\u0005\u009b\u0def\n\u009b\u0003\u009b\u0003", - "\u009b\u0005\u009b\u0df3\n\u009b\u0003\u009b\u0003\u009b\u0005\u009b", - "\u0df7\n\u009b\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003", - "\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003", - "\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0005\u009c\u0e08", - "\n\u009c\u0005\u009c\u0e0a\n\u009c\u0003\u009d\u0003\u009d\u0003\u009d", - "\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0005\u009d", - "\u0e14\n\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0005\u009d\u0e19", - "\n\u009d\u0005\u009d\u0e1b\n\u009d\u0003\u009d\u0003\u009d\u0005\u009d", - "\u0e1f\n\u009d\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0005", - "\u009e\u0e25\n\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e", - "\u0003\u009e\u0003\u009e\u0005\u009e\u0e2d\n\u009e\u0003\u009e\u0007", - "\u009e\u0e30\n\u009e\f\u009e\u000e\u009e\u0e33\u000b\u009e\u0005\u009e", - "\u0e35\n\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0007", - "\u009e\u0e3b\n\u009e\f\u009e\u000e\u009e\u0e3e\u000b\u009e\u0005\u009e", - "\u0e40\n\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0005\u009e\u0e45", - "\n\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0005\u009e\u0e4a\n\u009e", - "\u0003\u009e\u0003\u009e\u0003\u009e\u0005\u009e\u0e4f\n\u009e\u0003", - "\u009e\u0003\u009e\u0003\u009e\u0005\u009e\u0e54\n\u009e\u0003\u009e", - "\u0003\u009e\u0003\u009e\u0005\u009e\u0e59\n\u009e\u0003\u009e\u0003", - "\u009e\u0003\u009e\u0005\u009e\u0e5e\n\u009e\u0003\u009e\u0003\u009e", - "\u0005\u009e\u0e62\n\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0005", - "\u009e\u0e67\n\u009e\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f", - "\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f", - "\u0e72\n\u009f\u0003\u009f\u0007\u009f\u0e75\n\u009f\f\u009f\u000e\u009f", - "\u0e78\u000b\u009f\u0005\u009f\u0e7a\n\u009f\u0003\u009f\u0005\u009f", - "\u0e7d\n\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f\u0e82", - "\n\u009f\u0003\u009f\u0005\u009f\u0e85\n\u009f\u0003\u009f\u0003\u009f", - "\u0003\u009f\u0005\u009f\u0e8a\n\u009f\u0003\u009f\u0005\u009f\u0e8d", - "\n\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f\u0e92\n\u009f", - "\u0003\u009f\u0005\u009f\u0e95\n\u009f\u0003\u009f\u0003\u009f\u0003", - "\u009f\u0005\u009f\u0e9a\n\u009f\u0003\u009f\u0005\u009f\u0e9d\n\u009f", - "\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f\u0ea2\n\u009f\u0003", - "\u009f\u0005\u009f\u0ea5\n\u009f\u0003\u009f\u0003\u009f\u0003\u009f", - "\u0005\u009f\u0eaa\n\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003", - "\u009f\u0005\u009f\u0eb0\n\u009f\u0003\u009f\u0003\u009f\u0003\u009f", - "\u0005\u009f\u0eb5\n\u009f\u0003\u009f\u0005\u009f\u0eb8\n\u009f\u0003", - "\u009f\u0003\u009f\u0003\u009f\u0005\u009f\u0ebd\n\u009f\u0003\u009f", - "\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0005\u009f\u0ec4\n", - "\u009f\u0005\u009f\u0ec6\n\u009f\u0003\u00a0\u0003\u00a0\u0003\u00a0", - "\u0003\u00a0\u0005\u00a0\u0ecc\n\u00a0\u0003\u00a0\u0003\u00a0\u0003", - "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0005\u00a0\u0ed5", - "\n\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0005\u00a0\u0eda\n\u00a0", - "\u0005\u00a0\u0edc\n\u00a0\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003", - "\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003", - "\u00a1\u0005\u00a1\u0ee8\n\u00a1\u0003\u00a2\u0003\u00a2\u0003\u00a2", - "\u0003\u00a2\u0005\u00a2\u0eee\n\u00a2\u0003\u00a2\u0003\u00a2\u0003", - "\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0007", - "\u00a2\u0ef8\n\u00a2\f\u00a2\u000e\u00a2\u0efb\u000b\u00a2\u0005\u00a2", - "\u0efd\n\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0005\u00a2\u0f02", - "\n\u00a2\u0005\u00a2\u0f04\n\u00a2\u0003\u00a3\u0003\u00a3\u0003\u00a3", - "\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0005\u00a3", - "\u0f0e\n\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0005\u00a3\u0f13", - "\n\u00a3\u0005\u00a3\u0f15\n\u00a3\u0003\u00a3\u0003\u00a3\u0005\u00a3", - "\u0f19\n\u00a3\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0005", - "\u00a4\u0f1f\n\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4", - "\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4", - "\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4", - "\u0005\u00a4\u0f31\n\u00a4\u0005\u00a4\u0f33\n\u00a4\u0003\u00a5\u0003", - "\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003", - "\u00a5\u0003\u00a5\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0005", - "\u00a6\u0f42\n\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6", - "\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6", - "\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6", - "\u0005\u00a6\u0f54\n\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003", - "\u00a6\u0003\u00a6\u0003\u00a6\u0005\u00a6\u0f5c\n\u00a6\u0003\u00a7", - "\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7", - "\u0003\u00a7\u0005\u00a7\u0f66\n\u00a7\u0003\u00a8\u0003\u00a8\u0003", - "\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003", - "\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0005", - "\u00a8\u0f76\n\u00a8\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9", - "\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9", - "\u0003\u00a9\u0003\u00a9\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa", - "\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0005\u00aa\u0f8b\n\u00aa\u0003", - "\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003", - "\u00ab\u0003\u00ab\u0003\u00ab\u0005\u00ab\u0f96\n\u00ab\u0003\u00ab", - "\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0005\u00ab\u0f9c\n\u00ab\u0003", - "\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003", - "\u00ac\u0005\u00ac\u0fa5\n\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac", - "\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0005\u00ac\u0fae\n", - "\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0005\u00ac\u0fb4", - "\n\u00ac\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad", - "\u0003\u00ad\u0003\u00ad\u0005\u00ad\u0fbd\n\u00ad\u0003\u00ad\u0003", - "\u00ad\u0003\u00ad\u0005\u00ad\u0fc2\n\u00ad\u0003\u00ad\u0005\u00ad", - "\u0fc5\n\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0005\u00ad\u0fca", - "\n\u00ad\u0003\u00ad\u0005\u00ad\u0fcd\n\u00ad\u0003\u00ad\u0003\u00ad", - "\u0003\u00ad\u0005\u00ad\u0fd2\n\u00ad\u0003\u00ad\u0005\u00ad\u0fd5", - "\n\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad", - "\u0003\u00ad\u0005\u00ad\u0fdd\n\u00ad\u0003\u00ad\u0003\u00ad\u0003", - "\u00ad\u0003\u00ad\u0005\u00ad\u0fe3\n\u00ad\u0006\u00ad\u0fe5\n\u00ad", - "\r\u00ad\u000e\u00ad\u0fe6\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003", - "\u00ad\u0003\u00ad\u0005\u00ad\u0fee\n\u00ad\u0003\u00ad\u0003\u00ad", - "\u0003\u00ad\u0003\u00ad\u0005\u00ad\u0ff4\n\u00ad\u0006\u00ad\u0ff6", - "\n\u00ad\r\u00ad\u000e\u00ad\u0ff7\u0003\u00ad\u0005\u00ad\u0ffb\n\u00ad", - "\u0005\u00ad\u0ffd\n\u00ad\u0003\u00ad\u0005\u00ad\u1000\n\u00ad\u0003", - "\u00ad\u0003\u00ad\u0003\u00ad\u0005\u00ad\u1005\n\u00ad\u0003\u00ad", - "\u0005\u00ad\u1008\n\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0005", - "\u00ad\u100d\n\u00ad\u0003\u00ad\u0005\u00ad\u1010\n\u00ad\u0003\u00ad", - "\u0003\u00ad\u0003\u00ad\u0005\u00ad\u1015\n\u00ad\u0003\u00ad\u0005", - "\u00ad\u1018\n\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0005\u00ad", - "\u101d\n\u00ad\u0003\u00ad\u0005\u00ad\u1020\n\u00ad\u0003\u00ae\u0003", - "\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003", - "\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0005", - "\u00ae\u102f\n\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae", - "\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0005\u00ae", - "\u103a\n\u00ae\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003", - "\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0005", - "\u00af\u1046\n\u00af\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0", - "\u0003\u00b0\u0005\u00b0\u104d\n\u00b0\u0003\u00b1\u0003\u00b1\u0003", - "\u00b1\u0003\u00b1\u0003\u00b1\u0005\u00b1\u1054\n\u00b1\u0003\u00b1", - "\u0003\u00b1\u0005\u00b1\u1058\n\u00b1\u0003\u00b1\u0003\u00b1\u0003", - "\u00b1\u0005\u00b1\u105d\n\u00b1\u0003\u00b1\u0005\u00b1\u1060\n\u00b1", - "\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0005\u00b1\u1065\n\u00b1\u0003", - "\u00b1\u0005\u00b1\u1068\n\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1", - "\u0005\u00b1\u106d\n\u00b1\u0003\u00b1\u0005\u00b1\u1070\n\u00b1\u0003", - "\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003", - "\u00b1\u0005\u00b1\u1079\n\u00b1\u0003\u00b2\u0003\u00b2\u0003\u00b2", - "\u0003\u00b2\u0003\u00b2\u0005\u00b2\u1080\n\u00b2\u0003\u00b2\u0003", - "\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003", - "\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0005", - "\u00b3\u108f\n\u00b3\u0003\u00b3\u0003\u00b3\u0005\u00b3\u1093\n\u00b3", - "\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0005\u00b3\u1098\n\u00b3\u0003", - "\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003", - "\u00b4\u0003\u00b4\u0003\u00b4\u0005\u00b4\u10a3\n\u00b4\u0003\u00b4", - "\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4", - "\u0003\u00b4\u0005\u00b4\u10ad\n\u00b4\u0003\u00b4\u0003\u00b4\u0003", - "\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003", - "\u00b4\u0003\u00b4\u0005\u00b4\u10b9\n\u00b4\u0003\u00b4\u0003\u00b4", - "\u0003\u00b4\u0003\u00b4\u0007\u00b4\u10bf\n\u00b4\f\u00b4\u000e\u00b4", - "\u10c2\u000b\u00b4\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003", - "\u00b5\u0005\u00b5\u10c9\n\u00b5\u0003\u00b6\u0003\u00b6\u0003\u00b6", - "\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0005\u00b6\u10d2\n", - "\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0005\u00b6\u10d7\n\u00b6", - "\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7", - "\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0005\u00b7\u10e2\n\u00b7\u0003", - "\u00b7\u0005\u00b7\u10e5\n\u00b7\u0003\u00b7\u0003\u00b7\u0005\u00b7", - "\u10e9\n\u00b7\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003", - "\u00b8\u0003\u00b8\u0005\u00b8\u10f1\n\u00b8\u0003\u00b8\u0003\u00b8", - "\u0005\u00b8\u10f5\n\u00b8\u0003\u00b8\u0003\u00b8\u0005\u00b8\u10f9", - "\n\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8", - "\u0003\u00b8\u0005\u00b8\u1101\n\u00b8\u0003\u00b8\u0006\u00b8\u1104", - "\n\u00b8\r\u00b8\u000e\u00b8\u1105\u0003\u00b8\u0003\u00b8\u0003\u00b8", - "\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0005\u00b8\u110e\n\u00b8\u0003", - "\u00b8\u0003\u00b8\u0003\u00b8\u0005\u00b8\u1113\n\u00b8\u0003\u00b8", - "\u0003\u00b8\u0007\u00b8\u1117\n\u00b8\f\u00b8\u000e\u00b8\u111a\u000b", - "\u00b8\u0006\u00b8\u111c\n\u00b8\r\u00b8\u000e\u00b8\u111d\u0003\u00b8", - "\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8", - "\u0005\u00b8\u1127\n\u00b8\u0003\u00b8\u0005\u00b8\u112a\n\u00b8\u0003", - "\u00b8\u0003\u00b8\u0003\u00b8\u0005\u00b8\u112f\n\u00b8\u0003\u00b9", - "\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0005\u00b9\u1136\n", - "\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0005\u00b9\u113c", - "\n\u00b9\u0005\u00b9\u113e\n\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9", - "\u0005\u00b9\u1143\n\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003", - "\u00b9\u0005\u00b9\u1149\n\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9", - "\u0003\u00b9\u0005\u00b9\u114f\n\u00b9\u0003\u00b9\u0003\u00b9\u0003", - "\u00b9\u0005\u00b9\u1154\n\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9", - "\u0003\u00b9\u0005\u00b9\u115a\n\u00b9\u0003\u00ba\u0003\u00ba\u0003", - "\u00ba\u0003\u00ba\u0003\u00ba\u0005\u00ba\u1161\n\u00ba\u0003\u00ba", - "\u0003\u00ba\u0003\u00ba\u0005\u00ba\u1166\n\u00ba\u0003\u00ba\u0003", - "\u00ba\u0003\u00ba\u0005\u00ba\u116b\n\u00ba\u0003\u00ba\u0003\u00ba", - "\u0003\u00ba\u0005\u00ba\u1170\n\u00ba\u0003\u00ba\u0005\u00ba\u1173", - "\n\u00ba\u0003\u00ba\u0003\u00ba\u0005\u00ba\u1177\n\u00ba\u0003\u00ba", - "\u0003\u00ba\u0005\u00ba\u117b\n\u00ba\u0003\u00ba\u0003\u00ba\u0005", - "\u00ba\u117f\n\u00ba\u0003\u00ba\u0003\u00ba\u0005\u00ba\u1183\n\u00ba", - "\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0005\u00ba\u1188\n\u00ba\u0003", - "\u00ba\u0003\u00ba\u0005\u00ba\u118c\n\u00ba\u0003\u00ba\u0003\u00ba", - "\u0005\u00ba\u1190\n\u00ba\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003", - "\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0005\u00bb\u119a", - "\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0005\u00bb", - "\u11a0\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003", - "\u00bb\u0005\u00bb\u11a7\n\u00bb\u0003\u00bb\u0005\u00bb\u11aa\n\u00bb", - "\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0005\u00bb\u11b0\n", - "\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0005\u00bb\u11b6", - "\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0007\u00bb\u11bb\n\u00bb", - "\f\u00bb\u000e\u00bb\u11be\u000b\u00bb\u0003\u00bb\u0003\u00bb\u0003", - "\u00bb\u0005\u00bb\u11c3\n\u00bb\u0005\u00bb\u11c5\n\u00bb\u0003\u00bb", - "\u0003\u00bb\u0003\u00bb\u0005\u00bb\u11ca\n\u00bb\u0003\u00bb\u0003", - "\u00bb\u0003\u00bb\u0003\u00bb\u0005\u00bb\u11d0\n\u00bb\u0003\u00bb", - "\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0005\u00bb\u11d6\n\u00bb\u0003", - "\u00bb\u0003\u00bb\u0003\u00bb\u0007\u00bb\u11db\n\u00bb\f\u00bb\u000e", - "\u00bb\u11de\u000b\u00bb\u0003\u00bb\u0005\u00bb\u11e1\n\u00bb\u0003", - "\u00bb\u0003\u00bb\u0005\u00bb\u11e5\n\u00bb\u0003\u00bb\u0005\u00bb", - "\u11e8\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003", - "\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003", - "\u00bb\u0003\u00bb\u0005\u00bb\u11f6\n\u00bb\u0003\u00bb\u0003\u00bb", - "\u0003\u00bb\u0005\u00bb\u11fb\n\u00bb\u0003\u00bb\u0003\u00bb\u0005", - "\u00bb\u11ff\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb", - "\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb", - "\u0003\u00bb\u0005\u00bb\u120c\n\u00bb\u0003\u00bb\u0005\u00bb\u120f", - "\n\u00bb\u0005\u00bb\u1211\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb", - "\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0005\u00bb\u1219\n\u00bb\u0003", - "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003", - "\u00bc\u0003\u00bc\u0005\u00bc\u1223\n\u00bc\u0003\u00bc\u0003\u00bc", - "\u0003\u00bc\u0003\u00bc\u0005\u00bc\u1229\n\u00bc\u0003\u00bc\u0003", - "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0005\u00bc\u1230\n\u00bc", - "\u0003\u00bc\u0005\u00bc\u1233\n\u00bc\u0003\u00bc\u0003\u00bc\u0003", - "\u00bc\u0003\u00bc\u0005\u00bc\u1239\n\u00bc\u0003\u00bc\u0003\u00bc", - "\u0003\u00bc\u0003\u00bc\u0005\u00bc\u123f\n\u00bc\u0003\u00bc\u0003", - "\u00bc\u0003\u00bc\u0007\u00bc\u1244\n\u00bc\f\u00bc\u000e\u00bc\u1247", - "\u000b\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0005\u00bc\u124c\n", - "\u00bc\u0005\u00bc\u124e\n\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc", - "\u0005\u00bc\u1253\n\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003", - "\u00bc\u0005\u00bc\u1259\n\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc", - "\u0003\u00bc\u0005\u00bc\u125f\n\u00bc\u0003\u00bc\u0003\u00bc\u0003", - "\u00bc\u0003\u00bc\u0005\u00bc\u1265\n\u00bc\u0003\u00bc\u0003\u00bc", - "\u0003\u00bc\u0007\u00bc\u126a\n\u00bc\f\u00bc\u000e\u00bc\u126d\u000b", - "\u00bc\u0003\u00bc\u0005\u00bc\u1270\n\u00bc\u0003\u00bc\u0003\u00bc", - "\u0005\u00bc\u1274\n\u00bc\u0003\u00bc\u0005\u00bc\u1277\n\u00bc\u0003", - "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003", - "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0005", - "\u00bc\u1285\n\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0005\u00bc", - "\u128a\n\u00bc\u0003\u00bc\u0003\u00bc\u0005\u00bc\u128e\n\u00bc\u0003", - "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003", - "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0005\u00bc\u129b", - "\n\u00bc\u0003\u00bc\u0005\u00bc\u129e\n\u00bc\u0005\u00bc\u12a0\n\u00bc", - "\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc", - "\u0005\u00bc\u12a8\n\u00bc\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003", - "\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0005", - "\u00bd\u12b3\n\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd", - "\u0003\u00bd\u0007\u00bd\u12ba\n\u00bd\f\u00bd\u000e\u00bd\u12bd\u000b", - "\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003", - "\u00bd\u0005\u00bd\u12c5\n\u00bd\u0003\u00be\u0003\u00be\u0003\u00be", - "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", - "\u0005\u00be\u12d0\n\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003", - "\u00be\u0003\u00be\u0007\u00be\u12d7\n\u00be\f\u00be\u000e\u00be\u12da", - "\u000b\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", - "\u0003\u00be\u0005\u00be\u12e2\n\u00be\u0003\u00bf\u0003\u00bf\u0003", - "\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003", - "\u00bf\u0003\u00bf\u0005\u00bf\u12ee\n\u00bf\u0003\u00bf\u0003\u00bf", - "\u0005\u00bf\u12f2\n\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0006", - "\u00bf\u12f7\n\u00bf\r\u00bf\u000e\u00bf\u12f8\u0005\u00bf\u12fb\n\u00bf", - "\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0005\u00bf\u1300\n\u00bf\u0003", - "\u00bf\u0003\u00bf\u0005\u00bf\u1304\n\u00bf\u0003\u00bf\u0003\u00bf", - "\u0003\u00bf\u0006\u00bf\u1309\n\u00bf\r\u00bf\u000e\u00bf\u130a\u0005", - "\u00bf\u130d\n\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf", - "\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf", - "\u0003\u00bf\u0003\u00bf\u0005\u00bf\u131b\n\u00bf\u0003\u00bf\u0003", - "\u00bf\u0003\u00bf\u0005\u00bf\u1320\n\u00bf\u0003\u00bf\u0003\u00bf", - "\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf", - "\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf", - "\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf", - "\u0005\u00bf\u1336\n\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003", - "\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003", - "\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003", - "\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0005\u00bf\u134c", - "\n\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0005\u00bf\u1351\n\u00bf", - "\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0", - "\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0005\u00c0", - "\u135e\n\u00c0\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003", - "\u00c1\u0003\u00c1\u0005\u00c1\u1366\n\u00c1\u0003\u00c2\u0003\u00c2", - "\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2", - "\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3", - "\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0005\u00c3\u137a\n", - "\u00c3\u0003\u00c3\u0005\u00c3\u137d\n\u00c3\u0003\u00c3\u0003\u00c3", - "\u0007\u00c3\u1381\n\u00c3\f\u00c3\u000e\u00c3\u1384\u000b\u00c3\u0003", - "\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0005\u00c4\u138b", - "\n\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4", - "\u0005\u00c4\u1392\n\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0005", - "\u00c4\u1397\n\u00c4\u0003\u00c4\u0003\u00c4\u0005\u00c4\u139b\n\u00c4", - "\u0006\u00c4\u139d\n\u00c4\r\u00c4\u000e\u00c4\u139e\u0003\u00c4\u0005", - "\u00c4\u13a2\n\u00c4\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5", - "\u0003\u00c5\u0005\u00c5\u13a9\n\u00c5\u0003\u00c5\u0003\u00c5\u0003", - "\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", - "\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", - "\u00c5\u0003\u00c5\u0005\u00c5\u13bb\n\u00c5\u0005\u00c5\u13bd\n\u00c5", - "\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6", - "\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6", - "\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6", - "\u0005\u00c6\u13d1\n\u00c6\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", - "\u00c7\u0003\u00c7\u0003\u00c7\u0005\u00c7\u13d9\n\u00c7\u0003\u00c7", - "\u0003\u00c7\u0003\u00c7\u0005\u00c7\u13de\n\u00c7\u0003\u00c7\u0003", - "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", - "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", - "\u00c7\u0003\u00c7\u0003\u00c7\u0005\u00c7\u13f0\n\u00c7\u0003\u00c7", - "\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7", - "\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7", - "\u0005\u00c7\u13ff\n\u00c7\u0005\u00c7\u1401\n\u00c7\u0003\u00c8\u0003", - "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0005\u00c8\u1408\n\u00c8", - "\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0005\u00c8", - "\u140f\n\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0005\u00c8\u1414", - "\n\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0005\u00c8\u1419\n\u00c8", - "\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0005\u00c8\u141f\n", - "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0005\u00c8\u1424\n\u00c8", - "\u0005\u00c8\u1426\n\u00c8\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003", - "\u00c9\u0003\u00c9\u0005\u00c9\u142d\n\u00c9\u0003\u00c9\u0003\u00c9", - "\u0003\u00c9\u0003\u00c9\u0005\u00c9\u1433\n\u00c9\u0003\u00c9\u0003", - "\u00c9\u0003\u00c9\u0003\u00c9\u0005\u00c9\u1439\n\u00c9\u0003\u00c9", - "\u0005\u00c9\u143c\n\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003", - "\u00c9\u0005\u00c9\u1442\n\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9", - "\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0006\u00c9\u144a\n\u00c9\r\u00c9", - "\u000e\u00c9\u144b\u0003\u00c9\u0005\u00c9\u144f\n\u00c9\u0003\u00c9", - "\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0005\u00c9\u1456\n", - "\u00c9\u0003\u00c9\u0005\u00c9\u1459\n\u00c9\u0003\u00c9\u0003\u00c9", - "\u0003\u00c9\u0006\u00c9\u145e\n\u00c9\r\u00c9\u000e\u00c9\u145f\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0005", - "\u00ca\u1468\n\u00ca\u0003\u00ca\u0003\u00ca\u0005\u00ca\u146c\n\u00ca", - "\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0005\u00ca\u1472\n", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0007\u00ca\u1477\n\u00ca", - "\f\u00ca\u000e\u00ca\u147a\u000b\u00ca\u0005\u00ca\u147c\n\u00ca\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0005\u00ca\u1483", - "\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0005\u00ca", - "\u1489\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", - "\u00ca\u0005\u00ca\u1490\n\u00ca\u0003\u00ca\u0005\u00ca\u1493\n\u00ca", - "\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0005\u00ca\u1499\n", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0007\u00ca\u149e\n\u00ca", - "\f\u00ca\u000e\u00ca\u14a1\u000b\u00ca\u0005\u00ca\u14a3\n\u00ca\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0005", - "\u00ca\u14ab\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca", - "\u0005\u00ca\u14b1\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", - "\u00ca\u0003\u00ca\u0005\u00ca\u14b8\n\u00ca\u0003\u00ca\u0005\u00ca", - "\u14bb\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0005", - "\u00ca\u14c1\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0007\u00ca", - "\u14c6\n\u00ca\f\u00ca\u000e\u00ca\u14c9\u000b\u00ca\u0003\u00ca\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0005\u00ca\u14d0\n\u00ca", - "\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca", - "\u0005\u00ca\u14d8\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", - "\u00ca\u0005\u00ca\u14de\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca", - "\u0007\u00ca\u14e3\n\u00ca\f\u00ca\u000e\u00ca\u14e6\u000b\u00ca\u0003", - "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", - "\u00ca\u0005\u00ca\u14ef\n\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca", - "\u0005\u00ca\u14f4\n\u00ca\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", - "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u14fe", - "\n\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb", - "\u1504\n\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", - "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005", - "\u00cb\u1510\n\u00cb\u0005\u00cb\u1512\n\u00cb\u0003\u00cc\u0003\u00cc", - "\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0005\u00cc\u1519\n\u00cc\u0003", - "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0005\u00cc\u151f\n\u00cc", - "\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0005\u00cc\u1525\n", - "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0005\u00cc\u152b", - "\n\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0006\u00cc\u1530\n\u00cc", - "\r\u00cc\u000e\u00cc\u1531\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003", - "\u00cd\u0003\u00cd\u0005\u00cd\u1539\n\u00cd\u0003\u00cd\u0003\u00cd", - "\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0005\u00cd\u1541\n", - "\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0005\u00cd\u1547", - "\n\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd", - "\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd", - "\u0003\u00cd\u0006\u00cd\u1555\n\u00cd\r\u00cd\u000e\u00cd\u1556\u0003", - "\u00cd\u0005\u00cd\u155a\n\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd", - "\u0005\u00cd\u155f\n\u00cd\u0005\u00cd\u1561\n\u00cd\u0003\u00ce\u0003", - "\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003", - "\u00ce\u0003\u00ce\u0003\u00ce\u0005\u00ce\u156d\n\u00ce\u0003\u00ce", - "\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0005\u00ce\u1573\n\u00ce\u0003", - "\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003", - "\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0006", - "\u00ce\u1581\n\u00ce\r\u00ce\u000e\u00ce\u1582\u0003\u00ce\u0005\u00ce", - "\u1586\n\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0005\u00ce\u158b", - "\n\u00ce\u0003\u00ce\u0005\u00ce\u158e\n\u00ce\u0003\u00ce\u0003\u00ce", - "\u0003\u00ce\u0005\u00ce\u1593\n\u00ce\u0005\u00ce\u1595\n\u00ce\u0003", - "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", - "\u00cf\u0005\u00cf\u159e\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", - "\u0003\u00cf\u0003\u00cf\u0005\u00cf\u15a5\n\u00cf\u0003\u00d0\u0003", - "\u00d0\u0003\u00d0\u0003\u00d0\u0005\u00d0\u15ab\n\u00d0\u0003\u00d0", - "\u0005\u00d0\u15ae\n\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0005", - "\u00d0\u15b3\n\u00d0\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1", - "\u0003\u00d1\u0005\u00d1\u15ba\n\u00d1\u0005\u00d1\u15bc\n\u00d1\u0003", - "\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0005\u00d1\u15c2\n\u00d1", - "\u0005\u00d1\u15c4\n\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003", - "\u00d1\u0003\u00d1\u0003\u00d1\u0005\u00d1\u15cc\n\u00d1\u0005\u00d1", - "\u15ce\n\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0005", - "\u00d1\u15d4\n\u00d1\u0005\u00d1\u15d6\n\u00d1\u0003\u00d1\u0003\u00d1", - "\u0003\u00d1\u0003\u00d1\u0005\u00d1\u15dc\n\u00d1\u0005\u00d1\u15de", - "\n\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1", - "\u0005\u00d1\u15e5\n\u00d1\u0003\u00d1\u0005\u00d1\u15e8\n\u00d1\u0005", - "\u00d1\u15ea\n\u00d1\u0003\u00d1\u0005\u00d1\u15ed\n\u00d1\u0003\u00d1", - "\u0003\u00d1\u0005\u00d1\u15f1\n\u00d1\u0005\u00d1\u15f3\n\u00d1\u0003", - "\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003", - "\u00d1\u0005\u00d1\u15fc\n\u00d1\u0003\u00d2\u0003\u00d2\u0003\u00d2", - "\u0003\u00d2\u0005\u00d2\u1602\n\u00d2\u0003\u00d2\u0003\u00d2\u0005", - "\u00d2\u1606\n\u00d2\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3", - "\u0003\u00d3\u0003\u00d3\u0005\u00d3\u160e\n\u00d3\u0003\u00d3\u0003", - "\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0005\u00d3\u1615\n\u00d3", - "\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0005\u00d3\u161b\n", - "\u00d3\u0005\u00d3\u161d\n\u00d3\u0003\u00d4\u0003\u00d4\u0003\u00d4", - "\u0003\u00d4\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5", - "\u0005\u00d5\u1628\n\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0005", - "\u00d5\u162d\n\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5", - "\u0005\u00d5\u1633\n\u00d5\u0006\u00d5\u1635\n\u00d5\r\u00d5\u000e\u00d5", - "\u1636\u0003\u00d5\u0003\u00d5\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003", - "\u00d6\u0003\u00d6\u0003\u00d6\u0005\u00d6\u1641\n\u00d6\u0003\u00d7", - "\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0005\u00d7", - "\u1649\n\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003", - "\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0005", - "\u00d7\u1655\n\u00d7\u0003\u00d8\u0005\u00d8\u1658\n\u00d8\u0003\u00d8", - "\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8", - "\u1660\n\u00d8\u0005\u00d8\u1662\n\u00d8\u0003\u00d8\u0005\u00d8\u1665", - "\n\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8\u1669\n\u00d8\u0003\u00d8", - "\u0005\u00d8\u166c\n\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003", - "\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8\u1676", - "\n\u00d8\u0003\u00d8\u0003\u00d8\u0007\u00d8\u167a\n\u00d8\f\u00d8\u000e", - "\u00d8\u167d\u000b\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8", - "\u0003\u00d8\u0005\u00d8\u1684\n\u00d8\u0003\u00d8\u0003\u00d8\u0005", - "\u00d8\u1688\n\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8\u168c\n\u00d8", - "\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8", - "\u0003\u00d8\u0005\u00d8\u1695\n\u00d8\u0003\u00d8\u0003\u00d8\u0007", - "\u00d8\u1699\n\u00d8\f\u00d8\u000e\u00d8\u169c\u000b\u00d8\u0003\u00d8", - "\u0005\u00d8\u169f\n\u00d8\u0003\u00d8\u0005\u00d8\u16a2\n\u00d8\u0003", - "\u00d8\u0003\u00d8\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003", - "\u00d9\u0007\u00d9\u16ab\n\u00d9\f\u00d9\u000e\u00d9\u16ae\u000b\u00d9", - "\u0003\u00d9\u0005\u00d9\u16b1\n\u00d9\u0003\u00da\u0003\u00da\u0003", - "\u00da\u0003\u00da\u0003\u00da\u0005\u00da\u16b8\n\u00da\u0003\u00da", - "\u0003\u00da\u0003\u00da\u0005\u00da\u16bd\n\u00da\u0003\u00db\u0005", - "\u00db\u16c0\n\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db", - "\u0003\u00db\u0003\u00db\u0005\u00db\u16c8\n\u00db\u0003\u00db\u0003", - "\u00db\u0005\u00db\u16cc\n\u00db\u0003\u00db\u0005\u00db\u16cf\n\u00db", - "\u0003\u00db\u0003\u00db\u0005\u00db\u16d3\n\u00db\u0003\u00db\u0005", - "\u00db\u16d6\n\u00db\u0003\u00db\u0003\u00db\u0005\u00db\u16da\n\u00db", - "\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0005\u00db", - "\u16e1\n\u00db\u0003\u00db\u0003\u00db\u0005\u00db\u16e5\n\u00db\u0005", - "\u00db\u16e7\n\u00db\u0005\u00db\u16e9\n\u00db\u0003\u00db\u0005\u00db", - "\u16ec\n\u00db\u0003\u00db\u0005\u00db\u16ef\n\u00db\u0003\u00db\u0005", - "\u00db\u16f2\n\u00db\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc", - "\u0005\u00dc\u16f8\n\u00dc\u0003\u00dd\u0005\u00dd\u16fb\n\u00dd\u0003", - "\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0005", - "\u00dd\u1703\n\u00dd\u0005\u00dd\u1705\n\u00dd\u0003\u00dd\u0005\u00dd", - "\u1708\n\u00dd\u0003\u00dd\u0003\u00dd\u0005\u00dd\u170c\n\u00dd\u0003", - "\u00dd\u0005\u00dd\u170f\n\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd", - "\u0003\u00dd\u0005\u00dd\u1715\n\u00dd\u0003\u00dd\u0005\u00dd\u1718", - "\n\u00dd\u0003\u00dd\u0003\u00dd\u0005\u00dd\u171c\n\u00dd\u0003\u00dd", - "\u0005\u00dd\u171f\n\u00dd\u0003\u00dd\u0005\u00dd\u1722\n\u00dd\u0003", - "\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0005\u00de\u1729", - "\n\u00de\u0003\u00df\u0005\u00df\u172c\n\u00df\u0003\u00df\u0003\u00df", - "\u0003\u00df\u0003\u00df\u0003\u00df\u0005\u00df\u1733\n\u00df\u0003", - "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0005\u00df\u1739\n\u00df", - "\u0007\u00df\u173b\n\u00df\f\u00df\u000e\u00df\u173e\u000b\u00df\u0003", - "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", - "\u00df\u0005\u00df\u1747\n\u00df\u0003\u00df\u0005\u00df\u174a\n\u00df", - "\u0003\u00e0\u0005\u00e0\u174d\n\u00e0\u0003\u00e0\u0003\u00e0\u0005", - "\u00e0\u1751\n\u00e0\u0003\u00e0\u0005\u00e0\u1754\n\u00e0\u0003\u00e0", - "\u0005\u00e0\u1757\n\u00e0\u0003\u00e0\u0005\u00e0\u175a\n\u00e0\u0003", - "\u00e1\u0003\u00e1\u0005\u00e1\u175e\n\u00e1\u0003\u00e2\u0005\u00e2", - "\u1761\n\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003", - "\u00e2\u0003\u00e2\u0005\u00e2\u1769\n\u00e2\u0005\u00e2\u176b\n\u00e2", - "\u0003\u00e2\u0003\u00e2\u0005\u00e2\u176f\n\u00e2\u0003\u00e2\u0005", - "\u00e2\u1772\n\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2", - "\u0007\u00e2\u1778\n\u00e2\f\u00e2\u000e\u00e2\u177b\u000b\u00e2\u0003", - "\u00e2\u0005\u00e2\u177e\n\u00e2\u0003\u00e2\u0003\u00e2\u0005\u00e2", - "\u1782\n\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003", - "\u00e2\u0005\u00e2\u1789\n\u00e2\u0003\u00e2\u0003\u00e2\u0005\u00e2", - "\u178d\n\u00e2\u0005\u00e2\u178f\n\u00e2\u0005\u00e2\u1791\n\u00e2\u0003", - "\u00e2\u0005\u00e2\u1794\n\u00e2\u0003\u00e2\u0005\u00e2\u1797\n\u00e2", - "\u0003\u00e2\u0005\u00e2\u179a\n\u00e2\u0003\u00e3\u0003\u00e3\u0003", - "\u00e3\u0003\u00e3\u0007\u00e3\u17a0\n\u00e3\f\u00e3\u000e\u00e3\u17a3", - "\u000b\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0005\u00e3\u17a8\n", - "\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0005\u00e3\u17ae", - "\n\u00e3\u0005\u00e3\u17b0\n\u00e3\u0003\u00e4\u0003\u00e4\u0005\u00e4", - "\u17b4\n\u00e4\u0003\u00e4\u0005\u00e4\u17b7\n\u00e4\u0003\u00e5\u0003", - "\u00e5\u0003\u00e5\u0005\u00e5\u17bc\n\u00e5\u0003\u00e5\u0003\u00e5", - "\u0003\u00e5\u0005\u00e5\u17c1\n\u00e5\u0003\u00e5\u0005\u00e5\u17c4", - "\n\u00e5\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6", - "\u0003\u00e6\u0005\u00e6\u17cc\n\u00e6\u0003\u00e6\u0003\u00e6\u0005", - "\u00e6\u17d0\n\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0007\u00e6", - "\u17d5\n\u00e6\f\u00e6\u000e\u00e6\u17d8\u000b\u00e6\u0005\u00e6\u17da", - "\n\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6", - "\u0007\u00e6\u17e1\n\u00e6\f\u00e6\u000e\u00e6\u17e4\u000b\u00e6\u0005", - "\u00e6\u17e6\n\u00e6\u0003\u00e6\u0003\u00e6\u0005\u00e6\u17ea\n\u00e6", - "\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0007\u00e6\u17f0\n", - "\u00e6\f\u00e6\u000e\u00e6\u17f3\u000b\u00e6\u0005\u00e6\u17f5\n\u00e6", - "\u0003\u00e7\u0003\u00e7\u0005\u00e7\u17f9\n\u00e7\u0003\u00e7\u0005", - "\u00e7\u17fc\n\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7", - "\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7", - "\u0003\u00e7\u0003\u00e7\u0005\u00e7\u180a\n\u00e7\u0003\u00e7\u0003", - "\u00e7\u0005\u00e7\u180e\n\u00e7\u0003\u00e7\u0005\u00e7\u1811\n\u00e7", - "\u0003\u00e7\u0003\u00e7\u0005\u00e7\u1815\n\u00e7\u0003\u00e7\u0005", - "\u00e7\u1818\n\u00e7\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0005\u00e8", - "\u181d\n\u00e8\u0003\u00e8\u0005\u00e8\u1820\n\u00e8\u0003\u00e8\u0003", - "\u00e8\u0003\u00e8\u0003\u00e8\u0005\u00e8\u1826\n\u00e8\u0003\u00e8", - "\u0005\u00e8\u1829\n\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0007", - "\u00e8\u182e\n\u00e8\f\u00e8\u000e\u00e8\u1831\u000b\u00e8\u0003\u00e8", - "\u0005\u00e8\u1834\n\u00e8\u0005\u00e8\u1836\n\u00e8\u0003\u00e8\u0003", - "\u00e8\u0003\u00e8\u0003\u00e8\u0007\u00e8\u183c\n\u00e8\f\u00e8\u000e", - "\u00e8\u183f\u000b\u00e8\u0005\u00e8\u1841\n\u00e8\u0003\u00e8\u0003", - "\u00e8\u0005\u00e8\u1845\n\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8", - "\u0003\u00e9\u0003\u00e9\u0005\u00e9\u184c\n\u00e9\u0003\u00ea\u0003", - "\u00ea\u0003\u00ea\u0005\u00ea\u1851\n\u00ea\u0003\u00ea\u0005\u00ea", - "\u1854\n\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003", - "\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0007\u00ea\u185e\n\u00ea", - "\f\u00ea\u000e\u00ea\u1861\u000b\u00ea\u0005\u00ea\u1863\n\u00ea\u0003", - "\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0005\u00ea\u1869\n\u00ea", - "\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0007\u00ea\u186e\n\u00ea\f\u00ea", - "\u000e\u00ea\u1871\u000b\u00ea\u0003\u00ea\u0003\u00ea\u0005\u00ea\u1875", - "\n\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0005\u00ea\u187a\n\u00ea", - "\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00eb\u0003\u00eb\u0005\u00eb", - "\u1881\n\u00eb\u0003\u00ec\u0003\u00ec\u0003\u00ed\u0003\u00ed\u0003", - "\u00ed\u0005\u00ed\u1888\n\u00ed\u0003\u00ed\u0005\u00ed\u188b\n\u00ed", - "\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed", - "\u0005\u00ed\u1893\n\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003", - "\u00ed\u0007\u00ed\u1899\n\u00ed\f\u00ed\u000e\u00ed\u189c\u000b\u00ed", - "\u0005\u00ed\u189e\n\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003", - "\u00ed\u0007\u00ed\u18a4\n\u00ed\f\u00ed\u000e\u00ed\u18a7\u000b\u00ed", - "\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ee\u0003\u00ee\u0003\u00ef", - "\u0003\u00ef\u0003\u00ef\u0005\u00ef\u18b1\n\u00ef\u0003\u00ef\u0005", - "\u00ef\u18b4\n\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef", - "\u0003\u00ef\u0003\u00ef\u0007\u00ef\u18bc\n\u00ef\f\u00ef\u000e\u00ef", - "\u18bf\u000b\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0005", - "\u00ef\u18c5\n\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0005\u00ef", - "\u18ca\n\u00ef\u0003\u00ef\u0005\u00ef\u18cd\n\u00ef\u0003\u00f0\u0003", - "\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0007\u00f0\u18d5", - "\n\u00f0\f\u00f0\u000e\u00f0\u18d8\u000b\u00f0\u0005\u00f0\u18da\n\u00f0", - "\u0003\u00f0\u0005\u00f0\u18dd\n\u00f0\u0003\u00f0\u0003\u00f0\u0003", - "\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0005\u00f0\u18e5\n\u00f0", - "\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1", - "\u0003\u00f1\u0007\u00f1\u18ee\n\u00f1\f\u00f1\u000e\u00f1\u18f1\u000b", - "\u00f1\u0005\u00f1\u18f3\n\u00f1\u0003\u00f1\u0005\u00f1\u18f6\n\u00f1", - "\u0003\u00f1\u0003\u00f1\u0007\u00f1\u18fa\n\u00f1\f\u00f1\u000e\u00f1", - "\u18fd\u000b\u00f1\u0003\u00f1\u0003\u00f1\u0005\u00f1\u1901\n\u00f1", - "\u0003\u00f1\u0003\u00f1\u0005\u00f1\u1905\n\u00f1\u0003\u00f2\u0003", - "\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0007\u00f2\u190d", - "\n\u00f2\f\u00f2\u000e\u00f2\u1910\u000b\u00f2\u0005\u00f2\u1912\n\u00f2", - "\u0003\u00f2\u0005\u00f2\u1915\n\u00f2\u0003\u00f2\u0003\u00f2\u0007", - "\u00f2\u1919\n\u00f2\f\u00f2\u000e\u00f2\u191c\u000b\u00f2\u0003\u00f2", - "\u0003\u00f2\u0003\u00f2\u0005\u00f2\u1921\n\u00f2\u0003\u00f2\u0003", - "\u00f2\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0005\u00f3\u1929", - "\n\u00f3\u0003\u00f3\u0005\u00f3\u192c\n\u00f3\u0003\u00f3\u0003\u00f3", - "\u0005\u00f3\u1930\n\u00f3\u0003\u00f3\u0003\u00f3\u0005\u00f3\u1934", - "\n\u00f3\u0003\u00f3\u0005\u00f3\u1937\n\u00f3\u0003\u00f4\u0003\u00f4", - "\u0003\u00f4\u0005\u00f4\u193c\n\u00f4\u0003\u00f5\u0003\u00f5\u0003", - "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003", - "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0005\u00f5\u194a\n\u00f5", - "\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6", - "\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6", - "\u0003\u00f6\u0003\u00f6\u0005\u00f6\u195a\n\u00f6\u0003\u00f6\u0003", - "\u00f6\u0005\u00f6\u195e\n\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6", - "\u0003\u00f6\u0005\u00f6\u1964\n\u00f6\u0005\u00f6\u1966\n\u00f6\u0003", - "\u00f6\u0005\u00f6\u1969\n\u00f6\u0003\u00f7\u0003\u00f7\u0005\u00f7", - "\u196d\n\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0005\u00f7\u1972", - "\n\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0005\u00f7\u1977\n\u00f7", - "\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8", - "\u0005\u00f8\u197f\n\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0005", - "\u00f8\u1984\n\u00f8\u0003\u00f8\u0007\u00f8\u1987\n\u00f8\f\u00f8\u000e", - "\u00f8\u198a\u000b\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0005\u00f8", - "\u198f\n\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0005\u00f8\u1994", - "\n\u00f8\u0003\u00f8\u0005\u00f8\u1997\n\u00f8\u0003\u00f9\u0003\u00f9", - "\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0007\u00f9\u199e\n\u00f9\f\u00f9", - "\u000e\u00f9\u19a1\u000b\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003", - "\u00f9\u0003\u00f9\u0007\u00f9\u19a8\n\u00f9\f\u00f9\u000e\u00f9\u19ab", - "\u000b\u00f9\u0005\u00f9\u19ad\n\u00f9\u0003\u00fa\u0003\u00fa\u0003", - "\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0005\u00fa\u19b6", - "\n\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0007\u00fa", - "\u19bc\n\u00fa\f\u00fa\u000e\u00fa\u19bf\u000b\u00fa\u0005\u00fa\u19c1", - "\n\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa", - "\u0005\u00fa\u19c8\n\u00fa\u0003\u00fa\u0005\u00fa\u19cb\n\u00fa\u0003", - "\u00fb\u0003\u00fb\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", - "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", - "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", - "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", - "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", - "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", - "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", - "\u00fc\u0003\u00fc\u0005\u00fc\u19f9\n\u00fc\u0003\u00fc\u0003\u00fc", - "\u0005\u00fc\u19fd\n\u00fc\u0003\u00fc\u0005\u00fc\u1a00\n\u00fc\u0003", - "\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0005\u00fd\u1a06\n\u00fd", - "\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd", - "\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0005\u00fd\u1a12\n", - "\u00fd\u0005\u00fd\u1a14\n\u00fd\u0003\u00fd\u0005\u00fd\u1a17\n\u00fd", - "\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe", - "\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe", - "\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe", - "\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0005\u00fe", - "\u1a30\n\u00fe\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003", - "\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0005\u00ff\u1a3b", - "\n\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff", - "\u0003\u00ff\u0005\u00ff\u1a43\n\u00ff\u0003\u0100\u0003\u0100\u0003", - "\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0007\u0100\u1a4c", - "\n\u0100\f\u0100\u000e\u0100\u1a4f\u000b\u0100\u0007\u0100\u1a51\n\u0100", - "\f\u0100\u000e\u0100\u1a54\u000b\u0100\u0005\u0100\u1a56\n\u0100\u0003", - "\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0005", - "\u0101\u1a5e\n\u0101\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102", - "\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0005\u0103\u1a68\n", - "\u0103\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005", - "\u0104\u1a6f\n\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104", - "\u0003\u0104\u0005\u0104\u1a76\n\u0104\u0005\u0104\u1a78\n\u0104\u0003", - "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", - "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104\u1a84\n\u0104", - "\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104", - "\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104\u1a8f\n\u0104\u0003", - "\u0104\u0003\u0104\u0005\u0104\u1a93\n\u0104\u0003\u0104\u0003\u0104", - "\u0003\u0104\u0005\u0104\u1a98\n\u0104\u0003\u0104\u0005\u0104\u1a9b", - "\n\u0104\u0005\u0104\u1a9d\n\u0104\u0003\u0104\u0005\u0104\u1aa0\n\u0104", - "\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104", - "\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104\u1aac\n", - "\u0104\u0005\u0104\u1aae\n\u0104\u0005\u0104\u1ab0\n\u0104\u0003\u0104", - "\u0005\u0104\u1ab3\n\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005", - "\u0104\u1ab8\n\u0104\u0003\u0104\u0005\u0104\u1abb\n\u0104\u0003\u0104", - "\u0003\u0104\u0003\u0104\u0005\u0104\u1ac0\n\u0104\u0003\u0104\u0003", - "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", - "\u0104\u0005\u0104\u1aca\n\u0104\u0003\u0104\u0003\u0104\u0005\u0104", - "\u1ace\n\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104\u1ad3", - "\n\u0104\u0003\u0104\u0005\u0104\u1ad6\n\u0104\u0005\u0104\u1ad8\n\u0104", - "\u0003\u0104\u0005\u0104\u1adb\n\u0104\u0003\u0104\u0003\u0104\u0003", - "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", - "\u0104\u0003\u0104\u0005\u0104\u1ae7\n\u0104\u0005\u0104\u1ae9\n\u0104", - "\u0005\u0104\u1aeb\n\u0104\u0003\u0104\u0005\u0104\u1aee\n\u0104\u0003", - "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104\u1af4\n\u0104", - "\u0003\u0105\u0003\u0105\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106", - "\u0003\u0106\u0003\u0106\u0005\u0106\u1afe\n\u0106\u0003\u0107\u0003", - "\u0107\u0003\u0108\u0003\u0108\u0003\u0109\u0003\u0109\u0003\u010a\u0003", - "\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003", - "\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0005\u010a\u1b12", - "\n\u010a\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0005\u010b", - "\u1b18\n\u010b\u0003\u010c\u0003\u010c\u0003\u010d\u0003\u010d\u0003", - "\u010d\u0003\u010d\u0003\u010d\u0003\u010e\u0003\u010e\u0003\u010f\u0003", - "\u010f\u0003\u010f\u0003\u010f\u0003\u0110\u0003\u0110\u0003\u0111\u0003", - "\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003", - "\u0111\u0005\u0111\u1b31\n\u0111\u0005\u0111\u1b33\n\u0111\u0003\u0112", - "\u0003\u0112\u0003\u0112\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0114", - "\u0003\u0114\u0003\u0115\u0003\u0115\u0003\u0116\u0003\u0116\u0003\u0117", - "\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0118\u0003\u0118\u0003\u0118", - "\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0005\u0118", - "\u1b4d\n\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0005", - "\u0118\u1b53\n\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118", - "\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0005\u0118", - "\u1b5e\n\u0118\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003", - "\u0119\u0003\u0119\u0005\u0119\u1b66\n\u0119\u0003\u0119\u0005\u0119", - "\u1b69\n\u0119\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011b\u0003", - "\u011b\u0003\u011b\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003", - "\u011c\u0003\u011c\u0005\u011c\u1b77\n\u011c\u0003\u011d\u0003\u011d", - "\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0005\u011d\u1b7f\n", - "\u011d\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0005", - "\u011e\u1b86\n\u011e\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f", - "\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f", - "\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f", - "\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0005\u011f", - "\u1b9d\n\u011f\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003", - "\u0120\u0003\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0003", - "\u0121\u0005\u0121\u1baa\n\u0121\u0003\u0122\u0003\u0122\u0003\u0122", - "\u0003\u0122\u0005\u0122\u1bb0\n\u0122\u0003\u0122\u0003\u0122\u0003", - "\u0122\u0007\u0122\u1bb5\n\u0122\f\u0122\u000e\u0122\u1bb8\u000b\u0122", - "\u0003\u0122\u0003\u0122\u0003\u0122\u0007\u0122\u1bbd\n\u0122\f\u0122", - "\u000e\u0122\u1bc0\u000b\u0122\u0005\u0122\u1bc2\n\u0122\u0003\u0122", - "\u0005\u0122\u1bc5\n\u0122\u0003\u0123\u0003\u0123\u0003\u0123\u0003", - "\u0123\u0003\u0124\u0003\u0124\u0003\u0124\u0005\u0124\u1bce\n\u0124", - "\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0125\u0003\u0125", - "\u0003\u0125\u0003\u0125\u0005\u0125\u1bd8\n\u0125\u0003\u0125\u0003", - "\u0125\u0003\u0125\u0007\u0125\u1bdd\n\u0125\f\u0125\u000e\u0125\u1be0", - "\u000b\u0125\u0003\u0125\u0005\u0125\u1be3\n\u0125\u0003\u0126\u0003", - "\u0126\u0005\u0126\u1be7\n\u0126\u0003\u0127\u0003\u0127\u0003\u0127", - "\u0003\u0127\u0005\u0127\u1bed\n\u0127\u0003\u0127\u0003\u0127\u0003", - "\u0127\u0007\u0127\u1bf2\n\u0127\f\u0127\u000e\u0127\u1bf5\u000b\u0127", - "\u0003\u0127\u0005\u0127\u1bf8\n\u0127\u0003\u0128\u0003\u0128\u0003", - "\u0128\u0003\u0128\u0005\u0128\u1bfe\n\u0128\u0003\u0128\u0003\u0128", - "\u0003\u0128\u0007\u0128\u1c03\n\u0128\f\u0128\u000e\u0128\u1c06\u000b", - "\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0005\u0128\u1c0c", - "\n\u0128\u0003\u0128\u0005\u0128\u1c0f\n\u0128\u0003\u0129\u0003\u0129", - "\u0003\u0129\u0003\u0129\u0005\u0129\u1c15\n\u0129\u0003\u0129\u0003", - "\u0129\u0003\u0129\u0007\u0129\u1c1a\n\u0129\f\u0129\u000e\u0129\u1c1d", - "\u000b\u0129\u0003\u0129\u0005\u0129\u1c20\n\u0129\u0003\u012a\u0003", - "\u012a\u0003\u012a\u0005\u012a\u1c25\n\u012a\u0003\u012a\u0003\u012a", - "\u0003\u012a\u0005\u012a\u1c2a\n\u012a\u0003\u012a\u0006\u012a\u1c2d", - "\n\u012a\r\u012a\u000e\u012a\u1c2e\u0003\u012a\u0003\u012a\u0003\u012b", - "\u0003\u012b\u0003\u012b\u0003\u012b\u0005\u012b\u1c37\n\u012b\u0003", - "\u012b\u0003\u012b\u0005\u012b\u1c3b\n\u012b\u0003\u012c\u0003\u012c", - "\u0003\u012c\u0003\u012c\u0005\u012c\u1c41\n\u012c\u0003\u012c\u0003", - "\u012c\u0003\u012c\u0007\u012c\u1c46\n\u012c\f\u012c\u000e\u012c\u1c49", - "\u000b\u012c\u0003\u012c\u0005\u012c\u1c4c\n\u012c\u0003\u012d\u0003", - "\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0005", - "\u012d\u1c55\n\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d", - "\u0003\u012d\u0003\u012d\u0005\u012d\u1c5d\n\u012d\u0003\u012e\u0003", - "\u012e\u0003\u012e\u0003\u012e\u0005\u012e\u1c63\n\u012e\u0003\u012e", - "\u0003\u012e\u0003\u012f\u0003\u012f\u0005\u012f\u1c69\n\u012f\u0003", - "\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", - "\u0130\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", - "\u0131\u0003\u0131\u0003\u0131\u0005\u0131\u1c7a\n\u0131\u0003\u0131", - "\u0003\u0131\u0005\u0131\u1c7e\n\u0131\u0003\u0131\u0003\u0131\u0003", - "\u0131\u0003\u0132\u0003\u0132\u0003\u0132\u0005\u0132\u1c86\n\u0132", - "\u0003\u0132\u0003\u0132\u0005\u0132\u1c8a\n\u0132\u0003\u0132\u0003", - "\u0132\u0003\u0132\u0003\u0132\u0007\u0132\u1c90\n\u0132\f\u0132\u000e", - "\u0132\u1c93\u000b\u0132\u0003\u0132\u0005\u0132\u1c96\n\u0132\u0003", - "\u0132\u0003\u0132\u0003\u0132\u0005\u0132\u1c9b\n\u0132\u0003\u0132", - "\u0003\u0132\u0005\u0132\u1c9f\n\u0132\u0003\u0132\u0003\u0132\u0003", - "\u0132\u0003\u0132\u0003\u0132\u0005\u0132\u1ca6\n\u0132\u0003\u0132", - "\u0003\u0132\u0003\u0132\u0003\u0132\u0005\u0132\u1cac\n\u0132\u0005", - "\u0132\u1cae\n\u0132\u0003\u0133\u0003\u0133\u0005\u0133\u1cb2\n\u0133", - "\u0003\u0133\u0003\u0133\u0005\u0133\u1cb6\n\u0133\u0003\u0133\u0003", - "\u0133\u0005\u0133\u1cba\n\u0133\u0003\u0133\u0005\u0133\u1cbd\n\u0133", - "\u0003\u0133\u0003\u0133\u0005\u0133\u1cc1\n\u0133\u0003\u0133\u0003", - "\u0133\u0003\u0133\u0003\u0133\u0005\u0133\u1cc7\n\u0133\u0003\u0133", - "\u0003\u0133\u0005\u0133\u1ccb\n\u0133\u0005\u0133\u1ccd\n\u0133\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1cd4", - "\n\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0007\u0134\u1cd9\n\u0134", - "\f\u0134\u000e\u0134\u1cdc\u000b\u0134\u0005\u0134\u1cde\n\u0134\u0003", - "\u0134\u0005\u0134\u1ce1\n\u0134\u0003\u0134\u0003\u0134\u0003\u0134", - "\u0007\u0134\u1ce6\n\u0134\f\u0134\u000e\u0134\u1ce9\u000b\u0134\u0003", - "\u0134\u0003\u0134\u0005\u0134\u1ced\n\u0134\u0003\u0134\u0006\u0134", - "\u1cf0\n\u0134\r\u0134\u000e\u0134\u1cf1\u0003\u0134\u0003\u0134\u0005", - "\u0134\u1cf6\n\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134", - "\u0005\u0134\u1cfc\n\u0134\u0006\u0134\u1cfe\n\u0134\r\u0134\u000e\u0134", - "\u1cff\u0005\u0134\u1d02\n\u0134\u0003\u0134\u0003\u0134\u0003\u0134", - "\u0005\u0134\u1d07\n\u0134\u0003\u0134\u0006\u0134\u1d0a\n\u0134\r\u0134", - "\u000e\u0134\u1d0b\u0006\u0134\u1d0e\n\u0134\r\u0134\u000e\u0134\u1d0f", - "\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d15\n\u0134\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d1b\n\u0134", - "\u0006\u0134\u1d1d\n\u0134\r\u0134\u000e\u0134\u1d1e\u0006\u0134\u1d21", - "\n\u0134\r\u0134\u000e\u0134\u1d22\u0005\u0134\u1d25\n\u0134\u0003\u0134", - "\u0003\u0134\u0005\u0134\u1d29\n\u0134\u0003\u0134\u0003\u0134\u0005", - "\u0134\u1d2d\n\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d31\n\u0134", - "\u0003\u0134\u0003\u0134\u0005\u0134\u1d35\n\u0134\u0003\u0134\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d3b\n\u0134\u0003\u0134", - "\u0005\u0134\u1d3e\n\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003", - "\u0134\u0005\u0134\u1d44\n\u0134\u0003\u0134\u0003\u0134\u0005\u0134", - "\u1d48\n\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d4c\n\u0134\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d52\n\u0134", - "\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d58\n", - "\u0134\u0005\u0134\u1d5a\n\u0134\u0003\u0134\u0005\u0134\u1d5d\n\u0134", - "\u0003\u0134\u0003\u0134\u0005\u0134\u1d61\n\u0134\u0003\u0134\u0003", - "\u0134\u0005\u0134\u1d65\n\u0134\u0003\u0134\u0003\u0134\u0005\u0134", - "\u1d69\n\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0005", - "\u0134\u1d6f\n\u0134\u0003\u0134\u0005\u0134\u1d72\n\u0134\u0003\u0134", - "\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d78\n\u0134\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d7e\n\u0134", - "\u0003\u0134\u0005\u0134\u1d81\n\u0134\u0003\u0134\u0003\u0134\u0003", - "\u0134\u0003\u0134\u0005\u0134\u1d87\n\u0134\u0003\u0134\u0005\u0134", - "\u1d8a\n\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0005", - "\u0134\u1d90\n\u0134\u0003\u0134\u0005\u0134\u1d93\n\u0134\u0003\u0134", - "\u0003\u0134\u0005\u0134\u1d97\n\u0134\u0003\u0134\u0003\u0134\u0005", - "\u0134\u1d9b\n\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1d9f\n\u0134", - "\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1da4\n\u0134\u0003", - "\u0134\u0005\u0134\u1da7\n\u0134\u0003\u0134\u0003\u0134\u0005\u0134", - "\u1dab\n\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1daf\n\u0134\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003", - "\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u1dc0\n\u0134\u0007\u0134", - "\u1dc2\n\u0134\f\u0134\u000e\u0134\u1dc5\u000b\u0134\u0005\u0134\u1dc7", - "\n\u0134\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135", - "\u0005\u0135\u1dce\n\u0135\u0003\u0135\u0006\u0135\u1dd1\n\u0135\r\u0135", - "\u000e\u0135\u1dd2\u0003\u0135\u0003\u0135\u0005\u0135\u1dd7\n\u0135", - "\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1ddd\n", - "\u0135\u0006\u0135\u1ddf\n\u0135\r\u0135\u000e\u0135\u1de0\u0005\u0135", - "\u1de3\n\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1de8", - "\n\u0135\u0003\u0135\u0006\u0135\u1deb\n\u0135\r\u0135\u000e\u0135\u1dec", - "\u0006\u0135\u1def\n\u0135\r\u0135\u000e\u0135\u1df0\u0003\u0135\u0003", - "\u0135\u0003\u0135\u0005\u0135\u1df6\n\u0135\u0003\u0135\u0003\u0135", - "\u0003\u0135\u0003\u0135\u0005\u0135\u1dfc\n\u0135\u0006\u0135\u1dfe", - "\n\u0135\r\u0135\u000e\u0135\u1dff\u0006\u0135\u1e02\n\u0135\r\u0135", - "\u000e\u0135\u1e03\u0005\u0135\u1e06\n\u0135\u0003\u0135\u0003\u0135", - "\u0005\u0135\u1e0a\n\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e0e", - "\n\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e12\n\u0135\u0003\u0135", - "\u0003\u0135\u0005\u0135\u1e16\n\u0135\u0003\u0135\u0003\u0135\u0003", - "\u0135\u0003\u0135\u0005\u0135\u1e1c\n\u0135\u0003\u0135\u0005\u0135", - "\u1e1f\n\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0005", - "\u0135\u1e25\n\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e29\n\u0135", - "\u0003\u0135\u0003\u0135\u0005\u0135\u1e2d\n\u0135\u0003\u0135\u0003", - "\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e33\n\u0135\u0003\u0135", - "\u0003\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e39\n\u0135\u0005", - "\u0135\u1e3b\n\u0135\u0003\u0135\u0005\u0135\u1e3e\n\u0135\u0003\u0135", - "\u0003\u0135\u0005\u0135\u1e42\n\u0135\u0003\u0135\u0003\u0135\u0005", - "\u0135\u1e46\n\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e4a\n\u0135", - "\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e50\n", - "\u0135\u0003\u0135\u0005\u0135\u1e53\n\u0135\u0003\u0135\u0003\u0135", - "\u0003\u0135\u0003\u0135\u0005\u0135\u1e59\n\u0135\u0003\u0135\u0003", - "\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e5f\n\u0135\u0003\u0135", - "\u0005\u0135\u1e62\n\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003", - "\u0135\u0005\u0135\u1e68\n\u0135\u0003\u0135\u0005\u0135\u1e6b\n\u0135", - "\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e71\n", - "\u0135\u0003\u0135\u0005\u0135\u1e74\n\u0135\u0003\u0135\u0003\u0135", - "\u0005\u0135\u1e78\n\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e7c", - "\n\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e80\n\u0135\u0003\u0135", - "\u0003\u0135\u0003\u0135\u0005\u0135\u1e85\n\u0135\u0003\u0135\u0005", - "\u0135\u1e88\n\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e8c\n\u0135", - "\u0003\u0135\u0003\u0135\u0005\u0135\u1e90\n\u0135\u0003\u0135\u0003", - "\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e96\n\u0135\u0003\u0135", - "\u0005\u0135\u1e99\n\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1e9d", - "\n\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135", - "\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135", - "\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u1eae\n", - "\u0135\u0007\u0135\u1eb0\n\u0135\f\u0135\u000e\u0135\u1eb3\u000b\u0135", - "\u0005\u0135\u1eb5\n\u0135\u0003\u0136\u0003\u0136\u0003\u0136\u0003", - "\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003", - "\u0136\u0003\u0136\u0003\u0136\u0005\u0136\u1ec3\n\u0136\u0003\u0136", - "\u0003\u0136\u0003\u0136\u0003\u0136\u0005\u0136\u1ec9\n\u0136\u0003", - "\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0005", - "\u0136\u1ed1\n\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136", - "\u0003\u0136\u0006\u0136\u1ed8\n\u0136\r\u0136\u000e\u0136\u1ed9\u0003", - "\u0136\u0005\u0136\u1edd\n\u0136\u0003\u0137\u0003\u0137\u0003\u0137", - "\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137", - "\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0138\u0003\u0138", - "\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138", - "\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138", - "\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0005\u0139\u1efe\n", - "\u0139\u0003\u013a\u0003\u013a\u0005\u013a\u1f02\n\u013a\u0003\u013a", - "\u0003\u013a\u0005\u013a\u1f06\n\u013a\u0003\u013b\u0003\u013b\u0003", - "\u013b\u0003\u013b\u0003\u013b\u0005\u013b\u1f0d\n\u013b\u0003\u013c", - "\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013d\u0003\u013d\u0003\u013d", - "\u0003\u013e\u0003\u013e\u0005\u013e\u1f18\n\u013e\u0003\u013e\u0003", - "\u013e\u0005\u013e\u1f1c\n\u013e\u0003\u013e\u0003\u013e\u0003\u013e", - "\u0007\u013e\u1f21\n\u013e\f\u013e\u000e\u013e\u1f24\u000b\u013e\u0005", - "\u013e\u1f26\n\u013e\u0003\u013e\u0005\u013e\u1f29\n\u013e\u0003\u013e", - "\u0003\u013e\u0003\u013e\u0003\u013e\u0007\u013e\u1f2f\n\u013e\f\u013e", - "\u000e\u013e\u1f32\u000b\u013e\u0003\u013e\u0003\u013e\u0005\u013e\u1f36", - "\n\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0005\u013e\u1f3b\n\u013e", - "\u0003\u013e\u0005\u013e\u1f3e\n\u013e\u0005\u013e\u1f40\n\u013e\u0003", - "\u013f\u0003\u013f\u0005\u013f\u1f44\n\u013f\u0003\u013f\u0003\u013f", - "\u0005\u013f\u1f48\n\u013f\u0003\u013f\u0005\u013f\u1f4b\n\u013f\u0003", - "\u013f\u0003\u013f\u0005\u013f\u1f4f\n\u013f\u0003\u0140\u0003\u0140", - "\u0003\u0141\u0003\u0141\u0005\u0141\u1f55\n\u0141\u0003\u0141\u0003", - "\u0141\u0003\u0141\u0005\u0141\u1f5a\n\u0141\u0003\u0141\u0003\u0141", - "\u0003\u0141\u0003\u0141\u0003\u0141\u0005\u0141\u1f61\n\u0141\u0005", - "\u0141\u1f63\n\u0141\u0003\u0141\u0003\u0141\u0005\u0141\u1f67\n\u0141", - "\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0007\u0141\u1f6d\n", - "\u0141\f\u0141\u000e\u0141\u1f70\u000b\u0141\u0003\u0141\u0003\u0141", - "\u0003\u0141\u0005\u0141\u1f75\n\u0141\u0003\u0141\u0003\u0141\u0005", - "\u0141\u1f79\n\u0141\u0003\u0141\u0005\u0141\u1f7c\n\u0141\u0003\u0141", - "\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0141", - "\u0005\u0141\u1f85\n\u0141\u0003\u0141\u0005\u0141\u1f88\n\u0141\u0003", - "\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0005\u0141\u1f8e\n\u0141", - "\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0005\u0142", - "\u1f95\n\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0005\u0142\u1f9a", - "\n\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142", - "\u0003\u0142\u0005\u0142\u1fa2\n\u0142\u0003\u0143\u0003\u0143\u0003", - "\u0143\u0005\u0143\u1fa7\n\u0143\u0003\u0143\u0003\u0143\u0003\u0143", - "\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143", - "\u0003\u0143\u0005\u0143\u1fb3\n\u0143\u0005\u0143\u1fb5\n\u0143\u0003", - "\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003", - "\u0144\u0003\u0144\u0003\u0144\u0005\u0144\u1fc0\n\u0144\u0003\u0145", - "\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0005\u0145\u1fc7\n", - "\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003", - "\u0145\u0007\u0145\u1fcf\n\u0145\f\u0145\u000e\u0145\u1fd2\u000b\u0145", - "\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0147\u0003\u0147", - "\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147", - "\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147", - "\u0003\u0147\u0003\u0147\u0005\u0147\u1fe8\n\u0147\u0003\u0148\u0003", - "\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003", - "\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0005\u0148\u1ff5\n\u0148", - "\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149", - "\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149", - "\u0003\u0149\u0003\u0149\u0005\u0149\u2005\n\u0149\u0003\u0149\u0003", - "\u0149\u0003\u0149\u0005\u0149\u200a\n\u0149\u0003\u0149\u0003\u0149", - "\u0003\u0149\u0003\u0149\u0003\u0149\u0005\u0149\u2011\n\u0149\u0003", - "\u0149\u0005\u0149\u2014\n\u0149\u0006\u0149\u2016\n\u0149\r\u0149\u000e", - "\u0149\u2017\u0005\u0149\u201a\n\u0149\u0003\u014a\u0003\u014a\u0003", - "\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003", - "\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003", - "\u014a\u0005\u014a\u202b\n\u014a\u0003\u014b\u0003\u014b\u0003\u014c", - "\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c", - "\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0005\u014c\u203a\n", - "\u014c\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003", - "\u014d\u0005\u014d\u2042\n\u014d\u0003\u014d\u0003\u014d\u0003\u014d", - "\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0005\u014d\u204b\n", - "\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003", - "\u014d\u0005\u014d\u2053\n\u014d\u0003\u014e\u0003\u014e\u0003\u014e", - "\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0005\u014e\u205c\n", - "\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003", - "\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0005\u014e\u2067\n\u014e", - "\u0003\u014e\u0003\u014e\u0005\u014e\u206b\n\u014e\u0005\u014e\u206d", - "\n\u014e\u0005\u014e\u206f\n\u014e\u0003\u014f\u0003\u014f\u0003\u014f", - "\u0003\u014f\u0005\u014f\u2075\n\u014f\u0003\u014f\u0003\u014f\u0003", - "\u014f\u0005\u014f\u207a\n\u014f\u0003\u014f\u0003\u014f\u0003\u014f", - "\u0003\u014f\u0003\u014f\u0005\u014f\u2081\n\u014f\u0003\u014f\u0003", - "\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003", - "\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0005\u014f\u208e\n\u014f", - "\u0005\u014f\u2090\n\u014f\u0005\u014f\u2092\n\u014f\u0003\u014f\u0005", - "\u014f\u2095\n\u014f\u0003\u014f\u0005\u014f\u2098\n\u014f\u0003\u0150", - "\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0005\u0150\u209f\n", - "\u0150\u0003\u0150\u0005\u0150\u20a2\n\u0150\u0003\u0150\u0003\u0150", - "\u0003\u0150\u0003\u0150\u0005\u0150\u20a8\n\u0150\u0003\u0150\u0003", - "\u0150\u0003\u0150\u0005\u0150\u20ad\n\u0150\u0005\u0150\u20af\n\u0150", - "\u0003\u0150\u0005\u0150\u20b2\n\u0150\u0003\u0150\u0003\u0150\u0003", - "\u0150\u0003\u0150\u0005\u0150\u20b8\n\u0150\u0003\u0150\u0003\u0150", - "\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0005\u0150\u20c0\n", - "\u0150\u0005\u0150\u20c2\n\u0150\u0003\u0150\u0005\u0150\u20c5\n\u0150", - "\u0003\u0150\u0003\u0150\u0005\u0150\u20c9\n\u0150\u0003\u0150\u0005", - "\u0150\u20cc\n\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150", - "\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0005\u0150\u20d6\n", - "\u0150\u0003\u0150\u0005\u0150\u20d9\n\u0150\u0003\u0150\u0003\u0150", - "\u0005\u0150\u20dd\n\u0150\u0003\u0150\u0005\u0150\u20e0\n\u0150\u0003", - "\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0005\u0150\u20e6\n\u0150", - "\u0003\u0150\u0005\u0150\u20e9\n\u0150\u0005\u0150\u20eb\n\u0150\u0003", - "\u0151\u0003\u0151\u0005\u0151\u20ef\n\u0151\u0003\u0152\u0003\u0152", - "\u0003\u0152\u0005\u0152\u20f4\n\u0152\u0003\u0153\u0003\u0153\u0005", - "\u0153\u20f8\n\u0153\u0003\u0154\u0003\u0154\u0003\u0154\u0005\u0154", - "\u20fd\n\u0154\u0003\u0155\u0003\u0155\u0003\u0155\u0005\u0155\u2102", - "\n\u0155\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156", - "\u0003\u0156\u0005\u0156\u210a\n\u0156\u0003\u0156\u0003\u0156\u0005", - "\u0156\u210e\n\u0156\u0003\u0156\u0005\u0156\u2111\n\u0156\u0003\u0157", - "\u0003\u0157\u0003\u0157\u0005\u0157\u2116\n\u0157\u0003\u0158\u0003", - "\u0158\u0003\u0158\u0003\u0158\u0003\u0159\u0003\u0159\u0005\u0159\u211e", - "\n\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0005\u0159\u2123\n\u0159", - "\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015b", - "\u0003\u015b\u0003\u015b\u0005\u015b\u212d\n\u015b\u0003\u015b\u0003", - "\u015b\u0003\u015b\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0003", - "\u015d\u0003\u015d\u0005\u015d\u2138\n\u015d\u0003\u015d\u0007\u015d", - "\u213b\n\u015d\f\u015d\u000e\u015d\u213e\u000b\u015d\u0003\u015e\u0003", - "\u015e\u0003\u015e\u0005\u015e\u2143\n\u015e\u0003\u015f\u0003\u015f", - "\u0003\u015f\u0003\u015f\u0005\u015f\u2149\n\u015f\u0003\u015f\u0003", - "\u015f\u0005\u015f\u214d\n\u015f\u0003\u015f\u0005\u015f\u2150\n\u015f", - "\u0003\u015f\u0003\u015f\u0005\u015f\u2154\n\u015f\u0003\u015f\u0003", - "\u015f\u0005\u015f\u2158\n\u015f\u0003\u015f\u0003\u015f\u0003\u015f", - "\u0003\u015f\u0003\u015f\u0003\u015f\u0005\u015f\u2160\n\u015f\u0003", - "\u015f\u0003\u015f\u0003\u015f\u0005\u015f\u2165\n\u015f\u0005\u015f", - "\u2167\n\u015f\u0003\u015f\u0005\u015f\u216a\n\u015f\u0003\u015f\u0007", - "\u015f\u216d\n\u015f\f\u015f\u000e\u015f\u2170\u000b\u015f\u0003\u0160", - "\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0005\u0160", - "\u2178\n\u0160\u0003\u0161\u0003\u0161\u0005\u0161\u217c\n\u0161\u0003", - "\u0161\u0003\u0161\u0003\u0161\u0005\u0161\u2181\n\u0161\u0003\u0161", - "\u0005\u0161\u2184\n\u0161\u0003\u0161\u0005\u0161\u2187\n\u0161\u0003", - "\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0005\u0161\u218d\n\u0161", - "\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161", - "\u0005\u0161\u2195\n\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003", - "\u0161\u0003\u0161\u0003\u0161\u0005\u0161\u219d\n\u0161\u0003\u0161", - "\u0005\u0161\u21a0\n\u0161\u0003\u0161\u0005\u0161\u21a3\n\u0161\u0003", - "\u0162\u0003\u0162\u0005\u0162\u21a7\n\u0162\u0003\u0162\u0003\u0162", - "\u0003\u0162\u0005\u0162\u21ac\n\u0162\u0003\u0162\u0005\u0162\u21af", - "\n\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0005\u0162", - "\u21b5\n\u0162\u0003\u0162\u0003\u0162\u0005\u0162\u21b9\n\u0162\u0003", - "\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0005\u0162\u21bf\n\u0162", - "\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162", - "\u0005\u0162\u21c7\n\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003", - "\u0162\u0006\u0162\u21cd\n\u0162\r\u0162\u000e\u0162\u21ce\u0003\u0162", - "\u0005\u0162\u21d2\n\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003", - "\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003", - "\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0005\u0162\u21e1\n\u0162", - "\u0003\u0162\u0005\u0162\u21e4\n\u0162\u0003\u0162\u0005\u0162\u21e7", - "\n\u0162\u0005\u0162\u21e9\n\u0162\u0003\u0163\u0003\u0163\u0003\u0163", - "\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163", - "\u0005\u0163\u21f4\n\u0163\u0003\u0164\u0003\u0164\u0003\u0164\u0003", - "\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0005", - "\u0164\u21ff\n\u0164\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165", - "\u0003\u0165\u0007\u0165\u2206\n\u0165\f\u0165\u000e\u0165\u2209\u000b", - "\u0165\u0003\u0165\u0003\u0165\u0003\u0166\u0003\u0166\u0003\u0166\u0003", - "\u0166\u0003\u0166\u0005\u0166\u2212\n\u0166\u0003\u0167\u0003\u0167", - "\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167", - "\u0005\u0167\u221c\n\u0167\u0005\u0167\u221e\n\u0167\u0005\u0167\u2220", - "\n\u0167\u0003\u0167\u0005\u0167\u2223\n\u0167\u0003\u0167\u0005\u0167", - "\u2226\n\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003", - "\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0005\u0167\u2231", - "\n\u0167\u0005\u0167\u2233\n\u0167\u0005\u0167\u2235\n\u0167\u0003\u0167", - "\u0005\u0167\u2238\n\u0167\u0003\u0168\u0007\u0168\u223b\n\u0168\f\u0168", - "\u000e\u0168\u223e\u000b\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003", - "\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0005\u0169\u2248", - "\n\u0169\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a", - "\u0003\u016a\u0003\u016a\u0005\u016a\u2251\n\u016a\u0003\u016a\u0005", - "\u016a\u2254\n\u016a\u0003\u016a\u0005\u016a\u2257\n\u016a\u0003\u016a", - "\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0007\u016a\u225e\n", - "\u016a\f\u016a\u000e\u016a\u2261\u000b\u016a\u0005\u016a\u2263\n\u016a", - "\u0003\u016a\u0005\u016a\u2266\n\u016a\u0003\u016b\u0003\u016b\u0003", - "\u016b\u0003\u016b\u0003\u016b\u0005\u016b\u226d\n\u016b\u0003\u016b", - "\u0005\u016b\u2270\n\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003", - "\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003", - "\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0005\u016b\u227f\n\u016b", - "\u0003\u016b\u0005\u016b\u2282\n\u016b\u0003\u016b\u0003\u016b\u0003", - "\u016b\u0003\u016b\u0003\u016b\u0005\u016b\u2289\n\u016b\u0003\u016b", - "\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b", - "\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b", - "\u0003\u016b\u0005\u016b\u2299\n\u016b\u0003\u016c\u0003\u016c\u0005", - "\u016c\u229d\n\u016c\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d", - "\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0005\u016d\u22a7\n", - "\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003", - "\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003", - "\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0007", - "\u016d\u22ba\n\u016d\f\u016d\u000e\u016d\u22bd\u000b\u016d\u0003\u016e", - "\u0003\u016e\u0003\u016e\u0003\u016e\u0005\u016e\u22c3\n\u016e\u0003", - "\u016f\u0003\u016f\u0003\u016f\u0006\u016f\u22c8\n\u016f\r\u016f\u000e", - "\u016f\u22c9\u0003\u016f\u0003\u016f\u0005\u016f\u22ce\n\u016f\u0003", - "\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0006\u016f\u22d4\n\u016f", - "\r\u016f\u000e\u016f\u22d5\u0003\u016f\u0003\u016f\u0005\u016f\u22da", - "\n\u016f\u0003\u016f\u0003\u016f\u0005\u016f\u22de\n\u016f\u0003\u0170", - "\u0003\u0170\u0003\u0170\u0003\u0170\u0005\u0170\u22e4\n\u0170\u0003", - "\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003", - "\u0171\u0003\u0171\u0005\u0171\u22ee\n\u0171\u0003\u0172\u0003\u0172", - "\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172", - "\u0005\u0172\u22f8\n\u0172\u0003\u0173\u0003\u0173\u0003\u0174\u0003", - "\u0174\u0003\u0174\u0005\u0174\u22ff\n\u0174\u0003\u0174\u0003\u0174", - "\u0003\u0174\u0007\u0174\u2304\n\u0174\f\u0174\u000e\u0174\u2307\u000b", - "\u0174\u0003\u0174\u0003\u0174\u0003\u0174\u0003\u0174\u0003\u0174\u0003", - "\u0174\u0005\u0174\u230f\n\u0174\u0003\u0174\u0003\u0174\u0003\u0174", - "\u0003\u0174\u0003\u0174\u0005\u0174\u2316\n\u0174\u0003\u0175\u0003", - "\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0005\u0175\u231d\n\u0175", - "\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0176", - "\u0003\u0176\u0005\u0176\u2326\n\u0176\u0003\u0176\u0003\u0176\u0005", - "\u0176\u232a\n\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0176", - "\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0005\u0176\u2334\n", - "\u0176\u0003\u0177\u0003\u0177\u0003\u0177\u0007\u0177\u2339\n\u0177", - "\f\u0177\u000e\u0177\u233c\u000b\u0177\u0003\u0178\u0003\u0178\u0003", - "\u0178\u0007\u0178\u2341\n\u0178\f\u0178\u000e\u0178\u2344\u000b\u0178", - "\u0003\u0179\u0003\u0179\u0003\u0179\u0007\u0179\u2349\n\u0179\f\u0179", - "\u000e\u0179\u234c\u000b\u0179\u0003\u017a\u0005\u017a\u234f\n\u017a", - "\u0003\u017a\u0003\u017a\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b", - "\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b", - "\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b", - "\u0003\u017b\u0003\u017b\u0005\u017b\u2365\n\u017b\u0003\u017b\u0003", - "\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0005", - "\u017b\u236e\n\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b", - "\u0005\u017b\u2374\n\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003", - "\u017b\u0005\u017b\u237a\n\u017b\u0003\u017b\u0003\u017b\u0003\u017b", - "\u0003\u017b\u0005\u017b\u2380\n\u017b\u0003\u017b\u0003\u017b\u0003", - "\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0005", - "\u017b\u238a\n\u017b\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c", - "\u0003\u017c\u0005\u017c\u2391\n\u017c\u0003\u017c\u0007\u017c\u2394", - "\n\u017c\f\u017c\u000e\u017c\u2397\u000b\u017c\u0003\u017d\u0003\u017d", - "\u0005\u017d\u239b\n\u017d\u0003\u017d\u0003\u017d\u0005\u017d\u239f", - "\n\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d", - "\u0005\u017d\u23a6\n\u017d\u0003\u017e\u0003\u017e\u0005\u017e\u23aa", - "\n\u017e\u0003\u017e\u0005\u017e\u23ad\n\u017e\u0003\u017e\u0003\u017e", - "\u0003\u017e\u0005\u017e\u23b2\n\u017e\u0003\u017e\u0003\u017e\u0005", - "\u017e\u23b6\n\u017e\u0003\u017e\u0003\u017e\u0005\u017e\u23ba\n\u017e", - "\u0003\u017e\u0003\u017e\u0003\u017e\u0005\u017e\u23bf\n\u017e\u0003", - "\u017e\u0003\u017e\u0003\u017e\u0007\u017e\u23c4\n\u017e\f\u017e\u000e", - "\u017e\u23c7\u000b\u017e\u0005\u017e\u23c9\n\u017e\u0003\u017e\u0003", - "\u017e\u0005\u017e\u23cd\n\u017e\u0003\u017f\u0003\u017f\u0003\u017f", - "\u0005\u017f\u23d2\n\u017f\u0003\u017f\u0003\u017f\u0005\u017f\u23d6", - "\n\u017f\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180", - "\u0003\u0180\u0003\u0180\u0005\u0180\u23df\n\u0180\u0003\u0181\u0003", - "\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0005\u0181\u23e6\n\u0181", - "\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0007\u0182", - "\u23ed\n\u0182\f\u0182\u000e\u0182\u23f0\u000b\u0182\u0003\u0182\u0003", - "\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003", - "\u0182\u0003\u0182\u0005\u0182\u23fb\n\u0182\u0005\u0182\u23fd\n\u0182", - "\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183", - "\u0003\u0183\u0003\u0183\u0005\u0183\u2407\n\u0183\u0003\u0183\u0005", - "\u0183\u240a\n\u0183\u0003\u0183\u0007\u0183\u240d\n\u0183\f\u0183\u000e", - "\u0183\u2410\u000b\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183", - "\u0003\u0183\u0003\u0183\u0005\u0183\u2418\n\u0183\u0005\u0183\u241a", - "\n\u0183\u0005\u0183\u241c\n\u0183\u0003\u0183\u0003\u0183\u0003\u0183", - "\u0005\u0183\u2421\n\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003", - "\u0183\u0007\u0183\u2427\n\u0183\f\u0183\u000e\u0183\u242a\u000b\u0183", - "\u0003\u0183\u0003\u0183\u0005\u0183\u242e\n\u0183\u0003\u0183\u0003", - "\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0005\u0183\u2436", - "\n\u0183\u0003\u0183\u0007\u0183\u2439\n\u0183\f\u0183\u000e\u0183\u243c", - "\u000b\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0005\u0183\u2441\n", - "\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003", - "\u0183\u0003\u0183\u0003\u0183\u0005\u0183\u244b\n\u0183\u0005\u0183", - "\u244d\n\u0183\u0003\u0183\u0003\u0183\u0005\u0183\u2451\n\u0183\u0003", - "\u0183\u0003\u0183\u0005\u0183\u2455\n\u0183\u0005\u0183\u2457\n\u0183", - "\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184", - "\u0003\u0184\u0005\u0184\u2460\n\u0184\u0005\u0184\u2462\n\u0184\u0003", - "\u0185\u0003\u0185\u0005\u0185\u2466\n\u0185\u0003\u0186\u0003\u0186", - "\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0007\u0187", - "\u246f\n\u0187\f\u0187\u000e\u0187\u2472\u000b\u0187\u0003\u0187\u0003", - "\u0187\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003", - "\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003", - "\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003", - "\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003", - "\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0007\u0188\u2491\n\u0188", - "\f\u0188\u000e\u0188\u2494\u000b\u0188\u0003\u0188\u0003\u0188\u0003", - "\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003", - "\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0005\u0188\u24a3", - "\n\u0188\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189", - "\u0005\u0189\u24aa\n\u0189\u0005\u0189\u24ac\n\u0189\u0003\u018a\u0003", - "\u018a\u0003\u018a\u0007\u018a\u24b1\n\u018a\f\u018a\u000e\u018a\u24b4", - "\u000b\u018a\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0007\u018b", - "\u24ba\n\u018b\f\u018b\u000e\u018b\u24bd\u000b\u018b\u0003\u018b\u0003", - "\u018b\u0003\u018c\u0003\u018c\u0003\u018c\u0005\u018c\u24c4\n\u018c", - "\u0003\u018c\u0003\u018c\u0003\u018d\u0003\u018d\u0003\u018d\u0005\u018d", - "\u24cb\n\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003", - "\u018d\u0005\u018d\u24d2\n\u018d\u0003\u018d\u0005\u018d\u24d5\n\u018d", - "\u0003\u018d\u0005\u018d\u24d8\n\u018d\u0003\u018e\u0003\u018e\u0003", - "\u018e\u0003\u018e\u0003\u018e\u0005\u018e\u24df\n\u018e\u0003\u018e", - "\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0005\u018e\u24e6\n", - "\u018e\u0003\u018e\u0005\u018e\u24e9\n\u018e\u0005\u018e\u24eb\n\u018e", - "\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f", - "\u0005\u018f\u24f3\n\u018f\u0005\u018f\u24f5\n\u018f\u0003\u0190\u0003", - "\u0190\u0003\u0190\u0003\u0190\u0005\u0190\u24fb\n\u0190\u0003\u0191", - "\u0003\u0191\u0003\u0191\u0007\u0191\u2500\n\u0191\f\u0191\u000e\u0191", - "\u2503\u000b\u0191\u0003\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0003", - "\u0192\u0005\u0192\u250a\n\u0192\u0003\u0193\u0003\u0193\u0007\u0193", - "\u250e\n\u0193\f\u0193\u000e\u0193\u2511\u000b\u0193\u0003\u0194\u0003", - "\u0194\u0005\u0194\u2515\n\u0194\u0003\u0194\u0003\u0194\u0005\u0194", - "\u2519\n\u0194\u0003\u0194\u0003\u0194\u0005\u0194\u251d\n\u0194\u0003", - "\u0194\u0003\u0194\u0003\u0194\u0005\u0194\u2522\n\u0194\u0005\u0194", - "\u2524\n\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003", - "\u0194\u0003\u0194\u0005\u0194\u252c\n\u0194\u0005\u0194\u252e\n\u0194", - "\u0003\u0194\u0003\u0194\u0005\u0194\u2532\n\u0194\u0003\u0194\u0003", - "\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0005\u0194\u2539\n\u0194", - "\u0005\u0194\u253b\n\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003", - "\u0194\u0003\u0194\u0005\u0194\u2542\n\u0194\u0005\u0194\u2544\n\u0194", - "\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195", - "\u0003\u0195\u0005\u0195\u254d\n\u0195\u0003\u0195\u0003\u0195\u0003", - "\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0005\u0195\u2555\n\u0195", - "\u0003\u0196\u0003\u0196\u0003\u0196\u0007\u0196\u255a\n\u0196\f\u0196", - "\u000e\u0196\u255d\u000b\u0196\u0003\u0197\u0003\u0197\u0003\u0197\u0005", - "\u0197\u2562\n\u0197\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198", - "\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0199\u0005\u0199", - "\u256d\n\u0199\u0003\u0199\u0003\u0199\u0005\u0199\u2571\n\u0199\u0005", - "\u0199\u2573\n\u0199\u0003\u0199\u0005\u0199\u2576\n\u0199\u0003\u0199", - "\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199", - "\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199", - "\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199", - "\u0003\u0199\u0003\u0199\u0003\u0199\u0005\u0199\u258e\n\u0199\u0003", - "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", - "\u019a\u0003\u019a\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003", - "\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003", - "\u019c\u0003\u019c\u0003\u019c\u0007\u019c\u25a5\n\u019c\f\u019c\u000e", - "\u019c\u25a8\u000b\u019c\u0003\u019d\u0003\u019d\u0005\u019d\u25ac\n", - "\u019d\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", - "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", - "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0007\u019e\u25be", - "\n\u019e\f\u019e\u000e\u019e\u25c1\u000b\u019e\u0003\u019e\u0005\u019e", - "\u25c4\n\u019e\u0003\u019e\u0003\u019e\u0005\u019e\u25c8\n\u019e\u0003", - "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u01a0\u0003\u01a0\u0003", - "\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003", - "\u01a0\u0003\u01a0\u0005\u01a0\u25d8\n\u01a0\u0003\u01a1\u0003\u01a1", - "\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1", - "\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1", - "\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0005\u01a1\u25ec\n", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0005\u01a1\u2626\n\u01a1\u0003\u01a1", - "\u0003\u01a1\u0005\u01a1\u262a\n\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", - "\u01a1\u0003\u01a1\u0005\u01a1\u265a\n\u01a1\u0003\u01a1\u0003\u01a1", - "\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1", - "\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1", - "\u0005\u01a1\u266a\n\u01a1\u0005\u01a1\u266c\n\u01a1\u0003\u01a2\u0003", - "\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0005\u01a2\u2673\n\u01a2", - "\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0005\u01a3\u2679\n", - "\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003", - "\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0005", - "\u01a3\u2686\n\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3", - "\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3", - "\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0005\u01a3\u2695\n\u01a3\u0003", - "\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003", - "\u01a3\u0003\u01a3\u0003\u01a3\u0005\u01a3\u26a0\n\u01a3\u0003\u01a4", - "\u0003\u01a4\u0003\u01a4\u0005\u01a4\u26a5\n\u01a4\u0003\u01a4\u0003", - "\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003", - "\u01a4\u0005\u01a4\u26af\n\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4", - "\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0005\u01a4\u26b8\n", - "\u01a4\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003", - "\u01a5\u0003\u01a5\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", - "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003", - "\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a8\u0003\u01a8\u0003", - "\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003", - "\u01a9\u0003\u01a9\u0003\u01aa\u0005\u01aa\u26da\n\u01aa\u0003\u01aa", - "\u0003\u01aa\u0003\u01ab\u0005\u01ab\u26df\n\u01ab\u0003\u01ab\u0003", - "\u01ab\u0003\u01ac\u0003\u01ac\u0005\u01ac\u26e5\n\u01ac\u0003\u01ad", - "\u0005\u01ad\u26e8\n\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0005", - "\u01ad\u26ed\n\u01ad\u0003\u01ad\u0007\u01ad\u26f0\n\u01ad\f\u01ad\u000e", - "\u01ad\u26f3\u000b\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ae\u0003\u01ae", - "\u0003\u01ae\u0003\u01ae\u0005\u01ae\u26fb\n\u01ae\u0003\u01ae\u0007", - "\u01ae\u26fe\n\u01ae\f\u01ae\u000e\u01ae\u2701\u000b\u01ae\u0003\u01ae", - "\u0003\u01ae\u0003\u01af\u0005\u01af\u2706\n\u01af\u0003\u01af\u0003", - "\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0007\u01af\u270d\n\u01af", - "\f\u01af\u000e\u01af\u2710\u000b\u01af\u0003\u01af\u0003\u01af\u0003", - "\u01af\u0003\u01af\u0003\u01af\u0007\u01af\u2717\n\u01af\f\u01af\u000e", - "\u01af\u271a\u000b\u01af\u0005\u01af\u271c\n\u01af\u0003\u01af\u0003", - "\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003", - "\u01af\u0003\u01af\u0003\u01af\u0007\u01af\u2728\n\u01af\f\u01af\u000e", - "\u01af\u272b\u000b\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0005\u01af", - "\u2730\n\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003", - "\u01af\u0003\u01af\u0005\u01af\u2738\n\u01af\u0003\u01b0\u0003\u01b0", - "\u0005\u01b0\u273c\n\u01b0\u0003\u01b1\u0003\u01b1\u0003\u01b1\u0003", - "\u01b1\u0007\u01b1\u2742\n\u01b1\f\u01b1\u000e\u01b1\u2745\u000b\u01b1", - "\u0003\u01b1\u0003\u01b1\u0003\u01b2\u0003\u01b2\u0005\u01b2\u274b\n", - "\u01b2\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003", - "\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0007\u01b3\u2756\n\u01b3", - "\f\u01b3\u000e\u01b3\u2759\u000b\u01b3\u0003\u01b4\u0003\u01b4\u0003", - "\u01b4\u0007\u01b4\u275e\n\u01b4\f\u01b4\u000e\u01b4\u2761\u000b\u01b4", - "\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5", - "\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0005\u01b5\u276d\n", - "\u01b5\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0005", - "\u01b6\u2774\n\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6", - "\u0005\u01b6\u277a\n\u01b6\u0003\u01b6\u0003\u01b6\u0005\u01b6\u277e", - "\n\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6", - "\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6", - "\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0005\u01b6\u278f\n", - "\u01b6\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003", - "\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003", - "\u01b7\u0003\u01b7\u0005\u01b7\u279e\n\u01b7\u0005\u01b7\u27a0\n\u01b7", - "\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0005\u01b7\u27a5\n\u01b7\u0003", - "\u01b8\u0005\u01b8\u27a8\n\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b9", - "\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0005\u01b9\u27b1\n", - "\u01b9\u0003\u01b9\u0005\u01b9\u27b4\n\u01b9\u0003\u01b9\u0005\u01b9", - "\u27b7\n\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01ba\u0003\u01ba\u0003", - "\u01ba\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003", - "\u01bb\u0005\u01bb\u27c4\n\u01bb\u0003\u01bc\u0003\u01bc\u0005\u01bc", - "\u27c8\n\u01bc\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003", - "\u01bd\u0003\u01bd\u0005\u01bd\u27d0\n\u01bd\u0003\u01be\u0003\u01be", - "\u0003\u01be\u0003\u01be\u0005\u01be\u27d6\n\u01be\u0003\u01bf\u0003", - "\u01bf\u0003\u01bf\u0003\u01bf\u0007\u01bf\u27dc\n\u01bf\f\u01bf\u000e", - "\u01bf\u27df\u000b\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf", - "\u0005\u01bf\u27e5\n\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003", - "\u01bf\u0005\u01bf\u27eb\n\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf", - "\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf", - "\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0005\u01bf\u27fa\n", - "\u01bf\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003", - "\u01c0\u0003\u01c0\u0005\u01c0\u2803\n\u01c0\u0003\u01c0\u0003\u01c0", - "\u0003\u01c1\u0003\u01c1\u0005\u01c1\u2809\n\u01c1\u0003\u01c2\u0003", - "\u01c2\u0003\u01c2\u0003\u01c2\u0005\u01c2\u280f\n\u01c2\u0003\u01c2", - "\u0005\u01c2\u2812\n\u01c2\u0003\u01c2\u0003\u01c2\u0005\u01c2\u2816", - "\n\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0007\u01c2\u281b\n\u01c2", - "\f\u01c2\u000e\u01c2\u281e\u000b\u01c2\u0003\u01c3\u0003\u01c3\u0003", - "\u01c3\u0003\u01c3\u0003\u01c3\u0005\u01c3\u2825\n\u01c3\u0003\u01c3", - "\u0005\u01c3\u2828\n\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003", - "\u01c3\u0005\u01c3\u282e\n\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3", - "\u0003\u01c3\u0005\u01c3\u2834\n\u01c3\u0005\u01c3\u2836\n\u01c3\u0003", - "\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0005\u01c3\u283c\n\u01c3", - "\u0003\u01c3\u0005\u01c3\u283f\n\u01c3\u0005\u01c3\u2841\n\u01c3\u0003", - "\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0005\u01c3\u2847\n\u01c3", - "\u0005\u01c3\u2849\n\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c4\u0003", - "\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003", - "\u01c4\u0003\u01c4\u0003\u01c4\u0005\u01c4\u2857\n\u01c4\u0003\u01c4", - "\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0005\u01c4\u285e\n", - "\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003", - "\u01c5\u0003\u01c5\u0005\u01c5\u2867\n\u01c5\u0003\u01c6\u0003\u01c6", - "\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0005\u01c6\u286e\n\u01c6\u0003", - "\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003", - "\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0005\u01c7\u287a\n\u01c7", - "\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0005\u01c7", - "\u2881\n\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c8\u0003\u01c8\u0003", - "\u01c8\u0005\u01c8\u2888\n\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8", - "\u0003\u01c8\u0003\u01c8\u0005\u01c8\u288f\n\u01c8\u0003\u01c8\u0003", - "\u01c8\u0003\u01c8\u0003\u01c8\u0005\u01c8\u2895\n\u01c8\u0003\u01c8", - "\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0005\u01c8\u289c\n", - "\u01c8\u0003\u01c8\u0005\u01c8\u289f\n\u01c8\u0003\u01c9\u0003\u01c9", - "\u0003\u01c9\u0005\u01c9\u28a4\n\u01c9\u0003\u01c9\u0003\u01c9\u0003", - "\u01ca\u0003\u01ca\u0003\u01ca\u0005\u01ca\u28ab\n\u01ca\u0003\u01ca", - "\u0003\u01ca\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0005\u01cb", - "\u28b3\n\u01cb\u0003\u01cb\u0003\u01cb\u0005\u01cb\u28b7\n\u01cb\u0003", - "\u01cb\u0005\u01cb\u28ba\n\u01cb\u0003\u01cc\u0003\u01cc\u0003\u01cc", - "\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0005\u01cc\u28c2\n\u01cc\u0003", - "\u01cc\u0003\u01cc\u0005\u01cc\u28c6\n\u01cc\u0003\u01cc\u0005\u01cc", - "\u28c9\n\u01cc\u0003\u01cd\u0003\u01cd\u0005\u01cd\u28cd\n\u01cd\u0003", - "\u01ce\u0003\u01ce\u0003\u01ce\u0005\u01ce\u28d2\n\u01ce\u0003\u01ce", - "\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0005\u01ce\u28d8\n\u01ce\u0003", - "\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0005\u01ce\u28de\n\u01ce", - "\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0005\u01ce\u28e4\n", - "\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0005\u01ce\u28ea", - "\n\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0005\u01ce", - "\u28f0\n\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0005", - "\u01ce\u28f6\n\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce", - "\u0005\u01ce\u28fc\n\u01ce\u0003\u01ce\u0005\u01ce\u28ff\n\u01ce\u0003", - "\u01cf\u0003\u01cf\u0005\u01cf\u2903\n\u01cf\u0003\u01cf\u0003\u01cf", - "\u0003\u01cf\u0005\u01cf\u2908\n\u01cf\u0007\u01cf\u290a\n\u01cf\f\u01cf", - "\u000e\u01cf\u290d\u000b\u01cf\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0007", - "\u01d0\u2912\n\u01d0\f\u01d0\u000e\u01d0\u2915\u000b\u01d0\u0003\u01d1", - "\u0003\u01d1\u0005\u01d1\u2919\n\u01d1\u0003\u01d2\u0003\u01d2\u0003", - "\u01d3\u0003\u01d3\u0003\u01d4\u0005\u01d4\u2920\n\u01d4\u0003\u01d4", - "\u0003\u01d4\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5", - "\u0005\u01d5\u2929\n\u01d5\u0005\u01d5\u292b\n\u01d5\u0003\u01d6\u0003", - "\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0005\u01d6\u2932\n\u01d6", - "\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7", - "\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0005\u01d7\u293e\n", - "\u01d7\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0005\u01d8\u2943\n\u01d8", - "\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8", - "\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0005\u01d8\u294e\n\u01d8\u0003", - "\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003", - "\u01d8\u0003\u01d8\u0005\u01d8\u2958\n\u01d8\u0005\u01d8\u295a\n\u01d8", - "\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0005\u01d8\u2960\n", - "\u01d8\u0005\u01d8\u2962\n\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8", - "\u0005\u01d8\u2967\n\u01d8\u0005\u01d8\u2969\n\u01d8\u0003\u01d8\u0005", - "\u01d8\u296c\n\u01d8\u0003\u01d9\u0003\u01d9\u0005\u01d9\u2970\n\u01d9", - "\u0003\u01da\u0003\u01da\u0005\u01da\u2974\n\u01da\u0003\u01db\u0003", - "\u01db\u0003\u01db\u0003\u01db\u0005\u01db\u297a\n\u01db\u0003\u01db", - "\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db", - "\u0005\u01db\u2983\n\u01db\u0003\u01db\u0005\u01db\u2986\n\u01db\u0005", - "\u01db\u2988\n\u01db\u0003\u01dc\u0005\u01dc\u298b\n\u01dc\u0003\u01dc", - "\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0005\u01dc\u2991\n\u01dc\u0003", - "\u01dc\u0003\u01dc\u0005\u01dc\u2995\n\u01dc\u0003\u01dc\u0005\u01dc", - "\u2998\n\u01dc\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003", - "\u01dd\u0003\u01dd\u0003\u01dd\u0005\u01dd\u29a1\n\u01dd\u0003\u01de", - "\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de", - "\u0005\u01de\u29aa\n\u01de\u0003\u01df\u0003\u01df\u0003\u01df\u0003", - "\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003", - "\u01df\u0005\u01df\u29b6\n\u01df\u0003\u01df\u0005\u01df\u29b9\n\u01df", - "\u0003\u01e0\u0003\u01e0\u0005\u01e0\u29bd\n\u01e0\u0003\u01e0\u0003", - "\u01e0\u0003\u01e0\u0003\u01e0\u0005\u01e0\u29c3\n\u01e0\u0003\u01e0", - "\u0005\u01e0\u29c6\n\u01e0\u0003\u01e0\u0003\u01e0\u0005\u01e0\u29ca", - "\n\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0005\u01e0", - "\u29d0\n\u01e0\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0005\u01e1\u29d5", - "\n\u01e1\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0005\u01e2\u29da\n\u01e2", - "\u0003\u01e2\u0003\u01e2\u0005\u01e2\u29de\n\u01e2\u0003\u01e2\u0003", - "\u01e2\u0005\u01e2\u29e2\n\u01e2\u0003\u01e2\u0003\u01e2\u0005\u01e2", - "\u29e6\n\u01e2\u0003\u01e3\u0003\u01e3\u0003\u01e4\u0003\u01e4\u0003", - "\u01e4\u0005\u01e4\u29ed\n\u01e4\u0003\u01e5\u0003\u01e5\u0003\u01e6", - "\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6", - "\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6", - "\u0003\u01e6\u0003\u01e6\u0005\u01e6\u2a00\n\u01e6\u0003\u01e7\u0003", - "\u01e7\u0003\u01e8\u0003\u01e8\u0005\u01e8\u2a06\n\u01e8\u0003\u01e8", - "\u0002\u0004^\u02d8\u01e9\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012", - "\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<>@BDFHJLNPRTVXZ", - "\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e", - "\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6", - "\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be", - "\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\u00d4\u00d6", - "\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea\u00ec\u00ee", - "\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104\u0106", - "\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e", - "\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136", - "\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a\u014c\u014e", - "\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166", - "\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a\u017c\u017e", - "\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192\u0194\u0196", - "\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa\u01ac\u01ae", - "\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4\u01c6", - "\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\u01de", - "\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2\u01f4\u01f6", - "\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e", - "\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226", - "\u0228\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a\u023c\u023e", - "\u0240\u0242\u0244\u0246\u0248\u024a\u024c\u024e\u0250\u0252\u0254\u0256", - "\u0258\u025a\u025c\u025e\u0260\u0262\u0264\u0266\u0268\u026a\u026c\u026e", - "\u0270\u0272\u0274\u0276\u0278\u027a\u027c\u027e\u0280\u0282\u0284\u0286", - "\u0288\u028a\u028c\u028e\u0290\u0292\u0294\u0296\u0298\u029a\u029c\u029e", - "\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac\u02ae\u02b0\u02b2\u02b4\u02b6", - "\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4\u02c6\u02c8\u02ca\u02cc\u02ce", - "\u02d0\u02d2\u02d4\u02d6\u02d8\u02da\u02dc\u02de\u02e0\u02e2\u02e4\u02e6", - "\u02e8\u02ea\u02ec\u02ee\u02f0\u02f2\u02f4\u02f6\u02f8\u02fa\u02fc\u02fe", - "\u0300\u0302\u0304\u0306\u0308\u030a\u030c\u030e\u0310\u0312\u0314\u0316", - "\u0318\u031a\u031c\u031e\u0320\u0322\u0324\u0326\u0328\u032a\u032c\u032e", - "\u0330\u0332\u0334\u0336\u0338\u033a\u033c\u033e\u0340\u0342\u0344\u0346", - "\u0348\u034a\u034c\u034e\u0350\u0352\u0354\u0356\u0358\u035a\u035c\u035e", - "\u0360\u0362\u0364\u0366\u0368\u036a\u036c\u036e\u0370\u0372\u0374\u0376", - "\u0378\u037a\u037c\u037e\u0380\u0382\u0384\u0386\u0388\u038a\u038c\u038e", - "\u0390\u0392\u0394\u0396\u0398\u039a\u039c\u039e\u03a0\u03a2\u03a4\u03a6", - "\u03a8\u03aa\u03ac\u03ae\u03b0\u03b2\u03b4\u03b6\u03b8\u03ba\u03bc\u03be", - "\u03c0\u03c2\u03c4\u03c6\u03c8\u03ca\u03cc\u03ce\u0002\u008b\u0003\u0002", - "\u0321\u0322\u0004\u0002\u0321\u0321\u0326\u0326\u0004\u0002\u01d5\u01d5", - "\u02f5\u02f6\u0004\u0002\u0321\u0322\u0326\u0326\u0004\u0002\u00bb\u00bb", - "\u02d2\u02d2\u0005\u0002\u031e\u031e\u0321\u0321\u0326\u0326\u0005\u0002", - "||\u012b\u012b\u0168\u0168\u0004\u0002\u00e2\u00e2\u00e5\u00e5\u0003", - "\u0002\u0326\u0327\u0003\u0002\u0124\u0128\u0004\u0002\u01c2\u01c2\u0277", - "\u0277\u0004\u0002\u012e\u012e\u0271\u0271\u0005\u0002TT\u012e\u012e", - "\u0271\u0271\u0005\u0002\u00d5\u00d5\u0100\u0100\u02c3\u02c4\u0004\u0002", - "\u0013\u0013\u02ec\u02ec\u0004\u0002\u0017\u0017\u023e\u023e\u0004\u0002", - "\u0006\u0006\u029f\u029f\u0005\u0002\u0006\u0006\u0263\u0263\u029d\u029d", - "\u0004\u0002\n\nII\u0004\u0002\u0004\u0004gg\u0004\u0002\u01ef\u01ef", - "\u02d3\u02d3\u0004\u0002\u01e0\u01e0\u01e9\u01e9\u0004\u0002\u0322\u0322", - "\u0326\u0326\u0004\u0002\u0228\u0228\u024d\u024d\u0004\u0002\b\t\u00db", - "\u00db\u0005\u0002\u00d5\u00d5\u00f7\u00f7\u00f9\u00f9\u0004\u0002\u014b", - "\u014b\u014e\u014e\u0004\u0002\u000b\u000b\u00ed\u00ed\u0003\u0002\u0324", - "\u0325\u0004\u0002\u0004\u0004\u013b\u013b\u0004\u0002\u00b6\u00b6\u0178", - "\u0178\u0003\u0002\u0106\u0107\u0004\u0002\u0322\u0322\u0326\u0327\u0004", - "\u0002\u00ce\u00ce\u0166\u0166\u0004\u0002\u00c9\u00c9\u0144\u0144\u0004", - "\u0002\u010d\u010d\u01e0\u01e0\u0004\u0002\u0324\u0324\u0326\u0326\u0004", - "\u0002]]\u0091\u0091\u0006\u0002\\\\\u00a2\u00a2\u0131\u0131\u0169\u0169", - "\u0004\u0002\u001e\u001e\u01ff\u01ff\u0004\u0002\u00a2\u00a2\u0169\u0169", - "\u0004\u0002\\\\\u0169\u0169\u0005\u0002\u020a\u020a\u024d\u024d\u02f1", - "\u02f1\u0004\u0002\u0306\u0306\u0322\u0322\u0005\u0002BB\u013d\u013d", - "\u01f5\u01f5\u0004\u0002YY\u0326\u0326\u0004\u0002YY\u0322\u0322\u0004", - "\u0002\u0237\u0237\u0326\u0326\u0005\u0002\u020a\u020a\u0228\u0228\u024d", - "\u024d\u0007\u0002\u0184\u0186\u01da\u01da\u01dc\u01dc\u0299\u029b\u02fb", - "\u02fc\u0004\u0002\u0085\u0085\u008b\u008b\u0005\u0002\u0215\u0215\u023d", - "\u023d\u024e\u024e\u0005\u0002\r\r\u0156\u0156\u021f\u021f\u0004\u0002", - "\u00d5\u00d5\u00f3\u00f3\u0003\u0002\u0102\u0103\u0005\u0002\\\\\u00a2", - "\u00a2\u0169\u0169\u0004\u0002\u0085\u0085\u0188\u0188\u0004\u0002\u027a", - "\u027b\u02a0\u02a0\u0004\u0002\u00f5\u00f5\u02bc\u02bc\u0004\u0002\u0006", - "\u0006\u009e\u009e\u0005\u0002\u01ec\u01ec\u02be\u02be\u030e\u030e\u0005", - "\u0002\u0153\u0153\u0198\u0198\u01e0\u01e0\u0005\u0002\u01ce\u01ce\u0217", - "\u0217\u0256\u0256\u0004\u0002\u020d\u020d\u0237\u0237\u0004\u0002\u0006", - "\u0006\u00a6\u00a7\u0005\u0002\u00ab\u00ab\u00d0\u00d0\u00de\u00de\u0005", - "\u0002\u0113\u0113\u0151\u0151\u01e2\u01e2\u0004\u0002kk\u01e2\u01e2", - "\u0005\u0002\u0006\u0006\u017c\u017c\u0282\u0282\u0004\u0002\u008c\u008c", - "\u00e2\u00e2\u0005\u0002\u01e7\u01e7\u0272\u0272\u0275\u0275\u0004\u0002", - "\u029d\u029d\u029f\u029f\u0005\u0002\u025c\u025c\u02b4\u02b4\u02d7\u02d7", - "\u0005\u0002\u018d\u018d\u01e2\u01e2\u0205\u0205\u0004\u0002\u0118\u0118", - "\u02ea\u02ea\u0004\u0002\u0205\u0205\u02d6\u02d6\u0005\u0002\u008c\u008c", - "\u01aa\u01aa\u02d6\u02d6\u0005\u0002\u00d5\u00d5\u01b2\u01b2\u02f9\u02f9", - "\u0004\u0002\u0256\u0256\u02c6\u02c6\u0004\u0002\u0081\u0081\u01fb\u01fb", - "\u0005\u0002aa\u0155\u0155\u016b\u016b\u0004\u000299\u00da\u00da\u0004", - "\u0002\u00a0\u00a0\u00d3\u00d3\u0004\u0002\u00d7\u00d7\u013f\u013f\u0004", - "\u0002\u00d2\u00d2\u0206\u0206\u0004\u0002\u00d9\u00d9\u01b2\u01b2\u0004", - "\u0002CC\u0150\u0150\u0004\u0002\u00d6\u00d6\u011e\u011e\u0004\u0002", - "\u00b9\u00b9\u00d8\u00d8\u0004\u0002\u0184\u0186\u02fc\u02fc\u0004\u0002", - "\u016e\u016e\u023b\u023b\u0003\u0002\u027a\u027b\u0004\u0002\u0081\u0081", - "\u0327\u0327\u0004\u0002\u01d1\u01d1\u01ec\u01ec\u0004\u0002\u01f3\u01f3", - "\u02dd\u02dd\u0004\u0002\u0153\u0153\u0172\u0172\u0003\u0002\u015d\u015e", - "\u0006\u0002\u01ab\u01ab\u027d\u027d\u02cb\u02cb\u0326\u0326\u0004\u0002", - "\u01bb\u01bb\u01e4\u01e4\u0004\u0002\u0010\u0010;;\u0004\u0002\u0221", - "\u0221\u02cc\u02cc\u0004\u0002\u0207\u0207\u02c0\u02c0\u0006\u0002\u01e5", - "\u01e5\u01fa\u01fa\u022d\u022d\u02de\u02de\u0005\u0002\u0278\u0278\u029d", - "\u029d\u02c1\u02c1\u0004\u0002\u017e\u017e\u02a6\u02a6\u0003\u0002\u0341", - "\u0343\u0005\u0002\u0336\u0336\u0344\u0345\u0347\u0349\u0003\u0002\u0344", - "\u0345\u0005\u0002\u0006\u0006\r\r\u0141\u0141\u0004\u0002\u0006\u0006", - "bb\u0003\u0002\u0328\u0329\u0004\u0002\u02b9\u02b9\u02bc\u02bc\u0004", - "\u0002\u0200\u0200\u0262\u0262\u0004\u0002\u0003\u0003\u0319\u0319\u0004", - "\u0002\u0198\u0198\u0283\u0283\u0004\u0002\u0011\u0011^^\u0004\u0002", - "\u00ee\u00ee\u0213\u0213\u0005\u0002\u00c9\u00c9\u01b9\u01b9\u0213\u0213", - "\u0005\u0002\u00c9\u00c9\u0213\u0213\u023c\u023c\u0004\u0002\u00df\u00df", - "\u0321\u0322\u0005\u0002\u008c\u008c\u00b1\u00b1\u011f\u011f\u0006\u0002", - "\u00c9\u00c9\u0213\u0213\u023c\u023c\u02a7\u02a7\u0004\u0002\u0321\u0321", - "\u0323\u0323\u0005\u0002\u01d8\u01d8\u0298\u0298\u02ba\u02ba\b\u0002", - "\u01a0\u01a0\u0241\u0241\u0251\u0251\u02e2\u02e3\u02e9\u02e9\u030c\u030d", - "\u0003\u0002\u01be\u01bf\u0004\u0002\u0201\u0201\u0230\u0230\u0004\u0002", - "\u022e\u022e\u0231\u0231\u0004\u0002\u0297\u0297\u02bc\u02bc\u0005\u0002", - "\u008c\u008c\u00e2\u00e2\u029d\u029d\u0004\u000255\u00d4\u00d4\u0003", - "\u0002\u0110\u0111\u0004\u0002\u0241\u0241\u0322\u0322\u0004\u0002\u0322", - "\u0322\u0328\u0328$\u0002((RRrr\u0082\u0083\u0086\u0086\u00a0\u00a0", - "\u00ac\u00ac\u00bd\u00be\u00e3\u00e3\u00f1\u00f1\u0105\u0105\u0107\u0107", - "\u0109\u0109\u011a\u011b\u0122\u0122\u0129\u0129\u0135\u0135\u013e\u013e", - "\u0142\u0142\u0144\u0144\u0149\u0149\u014b\u014b\u0156\u0156\u017e\u01e5", - "\u01e7\u021c\u021e\u0225\u0228\u027b\u027d\u02e0\u02e2\u02e7\u02e9\u0306", - "\u0308\u0311\u0313\u0315\u0317\u0317\u0323\u0323\u0003\u0002\u032e\u0335", - "\u0007\u0002\u020a\u020a\u0228\u0228\u024d\u024d\u02f1\u02f1\u0343\u0343", - "\u0002\u30e6\u0002\u03d3\u0003\u0002\u0002\u0002\u0004\u03e9\u0003\u0002", - "\u0002\u0002\u0006\u03ef\u0003\u0002\u0002\u0002\b\u03fa\u0003\u0002", - "\u0002\u0002\n\u0401\u0003\u0002\u0002\u0002\f\u04a2\u0003\u0002\u0002", - "\u0002\u000e\u04a9\u0003\u0002\u0002\u0002\u0010\u04b7\u0003\u0002\u0002", - "\u0002\u0012\u04b9\u0003\u0002\u0002\u0002\u0014\u04c4\u0003\u0002\u0002", - "\u0002\u0016\u04c8\u0003\u0002\u0002\u0002\u0018\u04d6\u0003\u0002\u0002", - "\u0002\u001a\u04d8\u0003\u0002\u0002\u0002\u001c\u04df\u0003\u0002\u0002", - "\u0002\u001e\u04e9\u0003\u0002\u0002\u0002 \u04f5\u0003\u0002\u0002", - "\u0002\"\u04f7\u0003\u0002\u0002\u0002$\u04f9\u0003\u0002\u0002\u0002", - "&\u04fb\u0003\u0002\u0002\u0002(\u0515\u0003\u0002\u0002\u0002*\u0526", - "\u0003\u0002\u0002\u0002,\u0533\u0003\u0002\u0002\u0002.\u0562\u0003", - "\u0002\u0002\u00020\u0564\u0003\u0002\u0002\u00022\u0576\u0003\u0002", - "\u0002\u00024\u0578\u0003\u0002\u0002\u00026\u0595\u0003\u0002\u0002", - "\u00028\u05aa\u0003\u0002\u0002\u0002:\u05b7\u0003\u0002\u0002\u0002", - "<\u05bc\u0003\u0002\u0002\u0002>\u05c0\u0003\u0002\u0002\u0002@\u05c4", - "\u0003\u0002\u0002\u0002B\u05cf\u0003\u0002\u0002\u0002D\u05d4\u0003", - "\u0002\u0002\u0002F\u05d6\u0003\u0002\u0002\u0002H\u05db\u0003\u0002", - "\u0002\u0002J\u05dd\u0003\u0002\u0002\u0002L\u05df\u0003\u0002\u0002", - "\u0002N\u05e2\u0003\u0002\u0002\u0002P\u05e6\u0003\u0002\u0002\u0002", - "R\u05ec\u0003\u0002\u0002\u0002T\u05ee\u0003\u0002\u0002\u0002V\u05f1", - "\u0003\u0002\u0002\u0002X\u05f3\u0003\u0002\u0002\u0002Z\u05f6\u0003", - "\u0002\u0002\u0002\\\u05fb\u0003\u0002\u0002\u0002^\u0606\u0003\u0002", - "\u0002\u0002`\u060f\u0003\u0002\u0002\u0002b\u0613\u0003\u0002\u0002", - "\u0002d\u0615\u0003\u0002\u0002\u0002f\u061b\u0003\u0002\u0002\u0002", - "h\u061d\u0003\u0002\u0002\u0002j\u061f\u0003\u0002\u0002\u0002l\u0622", - "\u0003\u0002\u0002\u0002n\u062a\u0003\u0002\u0002\u0002p\u062c\u0003", - "\u0002\u0002\u0002r\u062e\u0003\u0002\u0002\u0002t\u0644\u0003\u0002", - "\u0002\u0002v\u0657\u0003\u0002\u0002\u0002x\u065f\u0003\u0002\u0002", - "\u0002z\u0663\u0003\u0002\u0002\u0002|\u066b\u0003\u0002\u0002\u0002", - "~\u067a\u0003\u0002\u0002\u0002\u0080\u067c\u0003\u0002\u0002\u0002", - "\u0082\u06a8\u0003\u0002\u0002\u0002\u0084\u06b1\u0003\u0002\u0002\u0002", - "\u0086\u06be\u0003\u0002\u0002\u0002\u0088\u06c0\u0003\u0002\u0002\u0002", - "\u008a\u06c2\u0003\u0002\u0002\u0002\u008c\u06c5\u0003\u0002\u0002\u0002", - "\u008e\u06c9\u0003\u0002\u0002\u0002\u0090\u06d3\u0003\u0002\u0002\u0002", - "\u0092\u06dd\u0003\u0002\u0002\u0002\u0094\u0709\u0003\u0002\u0002\u0002", - "\u0096\u0720\u0003\u0002\u0002\u0002\u0098\u0722\u0003\u0002\u0002\u0002", - "\u009a\u0724\u0003\u0002\u0002\u0002\u009c\u0726\u0003\u0002\u0002\u0002", - "\u009e\u072b\u0003\u0002\u0002\u0002\u00a0\u072e\u0003\u0002\u0002\u0002", - "\u00a2\u0891\u0003\u0002\u0002\u0002\u00a4\u0893\u0003\u0002\u0002\u0002", - "\u00a6\u08c9\u0003\u0002\u0002\u0002\u00a8\u08ce\u0003\u0002\u0002\u0002", - "\u00aa\u08fa\u0003\u0002\u0002\u0002\u00ac\u0911\u0003\u0002\u0002\u0002", - "\u00ae\u092f\u0003\u0002\u0002\u0002\u00b0\u0933\u0003\u0002\u0002\u0002", - "\u00b2\u0939\u0003\u0002\u0002\u0002\u00b4\u093f\u0003\u0002\u0002\u0002", - "\u00b6\u0943\u0003\u0002\u0002\u0002\u00b8\u0947\u0003\u0002\u0002\u0002", - "\u00ba\u094c\u0003\u0002\u0002\u0002\u00bc\u095a\u0003\u0002\u0002\u0002", - "\u00be\u0960\u0003\u0002\u0002\u0002\u00c0\u0966\u0003\u0002\u0002\u0002", - "\u00c2\u0976\u0003\u0002\u0002\u0002\u00c4\u097a\u0003\u0002\u0002\u0002", - "\u00c6\u0980\u0003\u0002\u0002\u0002\u00c8\u0986\u0003\u0002\u0002\u0002", - "\u00ca\u098e\u0003\u0002\u0002\u0002\u00cc\u0994\u0003\u0002\u0002\u0002", - "\u00ce\u09a3\u0003\u0002\u0002\u0002\u00d0\u09b5\u0003\u0002\u0002\u0002", - "\u00d2\u09bc\u0003\u0002\u0002\u0002\u00d4\u09c1\u0003\u0002\u0002\u0002", - "\u00d6\u09cc\u0003\u0002\u0002\u0002\u00d8\u09d1\u0003\u0002\u0002\u0002", - "\u00da\u09d5\u0003\u0002\u0002\u0002\u00dc\u09d9\u0003\u0002\u0002\u0002", - "\u00de\u09de\u0003\u0002\u0002\u0002\u00e0\u09e3\u0003\u0002\u0002\u0002", - "\u00e2\u09e8\u0003\u0002\u0002\u0002\u00e4\u09f6\u0003\u0002\u0002\u0002", - "\u00e6\u09fc\u0003\u0002\u0002\u0002\u00e8\u0a01\u0003\u0002\u0002\u0002", - "\u00ea\u0a09\u0003\u0002\u0002\u0002\u00ec\u0a0d\u0003\u0002\u0002\u0002", - "\u00ee\u0a1e\u0003\u0002\u0002\u0002\u00f0\u0a26\u0003\u0002\u0002\u0002", - "\u00f2\u0a2c\u0003\u0002\u0002\u0002\u00f4\u0a3a\u0003\u0002\u0002\u0002", - "\u00f6\u0a50\u0003\u0002\u0002\u0002\u00f8\u0a55\u0003\u0002\u0002\u0002", - "\u00fa\u0a5b\u0003\u0002\u0002\u0002\u00fc\u0a60\u0003\u0002\u0002\u0002", - "\u00fe\u0a64\u0003\u0002\u0002\u0002\u0100\u0a80\u0003\u0002\u0002\u0002", - "\u0102\u0a8b\u0003\u0002\u0002\u0002\u0104\u0a94\u0003\u0002\u0002\u0002", - "\u0106\u0aa1\u0003\u0002\u0002\u0002\u0108\u0aa9\u0003\u0002\u0002\u0002", - "\u010a\u0aae\u0003\u0002\u0002\u0002\u010c\u0ab9\u0003\u0002\u0002\u0002", - "\u010e\u0ad7\u0003\u0002\u0002\u0002\u0110\u0af5\u0003\u0002\u0002\u0002", - "\u0112\u0b03\u0003\u0002\u0002\u0002\u0114\u0b1b\u0003\u0002\u0002\u0002", - "\u0116\u0b2b\u0003\u0002\u0002\u0002\u0118\u0b38\u0003\u0002\u0002\u0002", - "\u011a\u0b4b\u0003\u0002\u0002\u0002\u011c\u0b58\u0003\u0002\u0002\u0002", - "\u011e\u0b61\u0003\u0002\u0002\u0002\u0120\u0b7f\u0003\u0002\u0002\u0002", - "\u0122\u0c72\u0003\u0002\u0002\u0002\u0124\u0c7b\u0003\u0002\u0002\u0002", - "\u0126\u0cb5\u0003\u0002\u0002\u0002\u0128\u0ce6\u0003\u0002\u0002\u0002", - "\u012a\u0ce8\u0003\u0002\u0002\u0002\u012c\u0d11\u0003\u0002\u0002\u0002", - "\u012e\u0d43\u0003\u0002\u0002\u0002\u0130\u0d89\u0003\u0002\u0002\u0002", - "\u0132\u0dcc\u0003\u0002\u0002\u0002\u0134\u0ddc\u0003\u0002\u0002\u0002", - "\u0136\u0df8\u0003\u0002\u0002\u0002\u0138\u0e0b\u0003\u0002\u0002\u0002", - "\u013a\u0e20\u0003\u0002\u0002\u0002\u013c\u0e68\u0003\u0002\u0002\u0002", - "\u013e\u0ec7\u0003\u0002\u0002\u0002\u0140\u0edd\u0003\u0002\u0002\u0002", - "\u0142\u0ee9\u0003\u0002\u0002\u0002\u0144\u0f05\u0003\u0002\u0002\u0002", - "\u0146\u0f1a\u0003\u0002\u0002\u0002\u0148\u0f34\u0003\u0002\u0002\u0002", - "\u014a\u0f3d\u0003\u0002\u0002\u0002\u014c\u0f5d\u0003\u0002\u0002\u0002", - "\u014e\u0f67\u0003\u0002\u0002\u0002\u0150\u0f77\u0003\u0002\u0002\u0002", - "\u0152\u0f83\u0003\u0002\u0002\u0002\u0154\u0f8c\u0003\u0002\u0002\u0002", - "\u0156\u0f9d\u0003\u0002\u0002\u0002\u0158\u0fb5\u0003\u0002\u0002\u0002", - "\u015a\u1021\u0003\u0002\u0002\u0002\u015c\u103b\u0003\u0002\u0002\u0002", - "\u015e\u1047\u0003\u0002\u0002\u0002\u0160\u104e\u0003\u0002\u0002\u0002", - "\u0162\u107a\u0003\u0002\u0002\u0002\u0164\u1085\u0003\u0002\u0002\u0002", - "\u0166\u1099\u0003\u0002\u0002\u0002\u0168\u10c3\u0003\u0002\u0002\u0002", - "\u016a\u10ca\u0003\u0002\u0002\u0002\u016c\u10d8\u0003\u0002\u0002\u0002", - "\u016e\u10ea\u0003\u0002\u0002\u0002\u0170\u1130\u0003\u0002\u0002\u0002", - "\u0172\u115b\u0003\u0002\u0002\u0002\u0174\u1191\u0003\u0002\u0002\u0002", - "\u0176\u121a\u0003\u0002\u0002\u0002\u0178\u12a9\u0003\u0002\u0002\u0002", - "\u017a\u12c6\u0003\u0002\u0002\u0002\u017c\u12e3\u0003\u0002\u0002\u0002", - "\u017e\u1352\u0003\u0002\u0002\u0002\u0180\u135f\u0003\u0002\u0002\u0002", - "\u0182\u1367\u0003\u0002\u0002\u0002\u0184\u136f\u0003\u0002\u0002\u0002", - "\u0186\u1385\u0003\u0002\u0002\u0002\u0188\u13a3\u0003\u0002\u0002\u0002", - "\u018a\u13be\u0003\u0002\u0002\u0002\u018c\u13d2\u0003\u0002\u0002\u0002", - "\u018e\u1402\u0003\u0002\u0002\u0002\u0190\u1427\u0003\u0002\u0002\u0002", - "\u0192\u14f3\u0003\u0002\u0002\u0002\u0194\u1511\u0003\u0002\u0002\u0002", - "\u0196\u1513\u0003\u0002\u0002\u0002\u0198\u1533\u0003\u0002\u0002\u0002", - "\u019a\u1562\u0003\u0002\u0002\u0002\u019c\u1596\u0003\u0002\u0002\u0002", - "\u019e\u15a6\u0003\u0002\u0002\u0002\u01a0\u15b4\u0003\u0002\u0002\u0002", - "\u01a2\u15fd\u0003\u0002\u0002\u0002\u01a4\u161c\u0003\u0002\u0002\u0002", - "\u01a6\u161e\u0003\u0002\u0002\u0002\u01a8\u1622\u0003\u0002\u0002\u0002", - "\u01aa\u1640\u0003\u0002\u0002\u0002\u01ac\u1642\u0003\u0002\u0002\u0002", - "\u01ae\u1657\u0003\u0002\u0002\u0002\u01b0\u16b0\u0003\u0002\u0002\u0002", - "\u01b2\u16b2\u0003\u0002\u0002\u0002\u01b4\u16bf\u0003\u0002\u0002\u0002", - "\u01b6\u16f7\u0003\u0002\u0002\u0002\u01b8\u16fa\u0003\u0002\u0002\u0002", - "\u01ba\u1728\u0003\u0002\u0002\u0002\u01bc\u172b\u0003\u0002\u0002\u0002", - "\u01be\u174c\u0003\u0002\u0002\u0002\u01c0\u175d\u0003\u0002\u0002\u0002", - "\u01c2\u1760\u0003\u0002\u0002\u0002\u01c4\u179b\u0003\u0002\u0002\u0002", - "\u01c6\u17b3\u0003\u0002\u0002\u0002\u01c8\u17c3\u0003\u0002\u0002\u0002", - "\u01ca\u17c5\u0003\u0002\u0002\u0002\u01cc\u17f6\u0003\u0002\u0002\u0002", - "\u01ce\u181f\u0003\u0002\u0002\u0002\u01d0\u184b\u0003\u0002\u0002\u0002", - "\u01d2\u1853\u0003\u0002\u0002\u0002\u01d4\u1880\u0003\u0002\u0002\u0002", - "\u01d6\u1882\u0003\u0002\u0002\u0002\u01d8\u188a\u0003\u0002\u0002\u0002", - "\u01da\u18ab\u0003\u0002\u0002\u0002\u01dc\u18b3\u0003\u0002\u0002\u0002", - "\u01de\u18ce\u0003\u0002\u0002\u0002\u01e0\u18e6\u0003\u0002\u0002\u0002", - "\u01e2\u1906\u0003\u0002\u0002\u0002\u01e4\u1924\u0003\u0002\u0002\u0002", - "\u01e6\u193b\u0003\u0002\u0002\u0002\u01e8\u1949\u0003\u0002\u0002\u0002", - "\u01ea\u194b\u0003\u0002\u0002\u0002\u01ec\u196a\u0003\u0002\u0002\u0002", - "\u01ee\u1978\u0003\u0002\u0002\u0002\u01f0\u1998\u0003\u0002\u0002\u0002", - "\u01f2\u19ae\u0003\u0002\u0002\u0002\u01f4\u19cc\u0003\u0002\u0002\u0002", - "\u01f6\u19ce\u0003\u0002\u0002\u0002\u01f8\u1a01\u0003\u0002\u0002\u0002", - "\u01fa\u1a2f\u0003\u0002\u0002\u0002\u01fc\u1a42\u0003\u0002\u0002\u0002", - "\u01fe\u1a44\u0003\u0002\u0002\u0002\u0200\u1a5d\u0003\u0002\u0002\u0002", - "\u0202\u1a5f\u0003\u0002\u0002\u0002\u0204\u1a67\u0003\u0002\u0002\u0002", - "\u0206\u1a69\u0003\u0002\u0002\u0002\u0208\u1af5\u0003\u0002\u0002\u0002", - "\u020a\u1afd\u0003\u0002\u0002\u0002\u020c\u1aff\u0003\u0002\u0002\u0002", - "\u020e\u1b01\u0003\u0002\u0002\u0002\u0210\u1b03\u0003\u0002\u0002\u0002", - "\u0212\u1b11\u0003\u0002\u0002\u0002\u0214\u1b17\u0003\u0002\u0002\u0002", - "\u0216\u1b19\u0003\u0002\u0002\u0002\u0218\u1b1b\u0003\u0002\u0002\u0002", - "\u021a\u1b20\u0003\u0002\u0002\u0002\u021c\u1b22\u0003\u0002\u0002\u0002", - "\u021e\u1b26\u0003\u0002\u0002\u0002\u0220\u1b32\u0003\u0002\u0002\u0002", - "\u0222\u1b34\u0003\u0002\u0002\u0002\u0224\u1b37\u0003\u0002\u0002\u0002", - "\u0226\u1b3a\u0003\u0002\u0002\u0002\u0228\u1b3c\u0003\u0002\u0002\u0002", - "\u022a\u1b3e\u0003\u0002\u0002\u0002\u022c\u1b40\u0003\u0002\u0002\u0002", - "\u022e\u1b5d\u0003\u0002\u0002\u0002\u0230\u1b5f\u0003\u0002\u0002\u0002", - "\u0232\u1b6a\u0003\u0002\u0002\u0002\u0234\u1b6d\u0003\u0002\u0002\u0002", - "\u0236\u1b76\u0003\u0002\u0002\u0002\u0238\u1b7e\u0003\u0002\u0002\u0002", - "\u023a\u1b85\u0003\u0002\u0002\u0002\u023c\u1b9c\u0003\u0002\u0002\u0002", - "\u023e\u1b9e\u0003\u0002\u0002\u0002\u0240\u1ba9\u0003\u0002\u0002\u0002", - "\u0242\u1bab\u0003\u0002\u0002\u0002\u0244\u1bc6\u0003\u0002\u0002\u0002", - "\u0246\u1bcd\u0003\u0002\u0002\u0002\u0248\u1bd3\u0003\u0002\u0002\u0002", - "\u024a\u1be6\u0003\u0002\u0002\u0002\u024c\u1be8\u0003\u0002\u0002\u0002", - "\u024e\u1bf9\u0003\u0002\u0002\u0002\u0250\u1c10\u0003\u0002\u0002\u0002", - "\u0252\u1c21\u0003\u0002\u0002\u0002\u0254\u1c32\u0003\u0002\u0002\u0002", - "\u0256\u1c3c\u0003\u0002\u0002\u0002\u0258\u1c4d\u0003\u0002\u0002\u0002", - "\u025a\u1c5e\u0003\u0002\u0002\u0002\u025c\u1c68\u0003\u0002\u0002\u0002", - "\u025e\u1c6a\u0003\u0002\u0002\u0002\u0260\u1c71\u0003\u0002\u0002\u0002", - "\u0262\u1cad\u0003\u0002\u0002\u0002\u0264\u1ccc\u0003\u0002\u0002\u0002", - "\u0266\u1cce\u0003\u0002\u0002\u0002\u0268\u1dc8\u0003\u0002\u0002\u0002", - "\u026a\u1eb6\u0003\u0002\u0002\u0002\u026c\u1ede\u0003\u0002\u0002\u0002", - "\u026e\u1eeb\u0003\u0002\u0002\u0002\u0270\u1ef9\u0003\u0002\u0002\u0002", - "\u0272\u1f01\u0003\u0002\u0002\u0002\u0274\u1f07\u0003\u0002\u0002\u0002", - "\u0276\u1f0e\u0003\u0002\u0002\u0002\u0278\u1f12\u0003\u0002\u0002\u0002", - "\u027a\u1f3f\u0003\u0002\u0002\u0002\u027c\u1f43\u0003\u0002\u0002\u0002", - "\u027e\u1f50\u0003\u0002\u0002\u0002\u0280\u1f8d\u0003\u0002\u0002\u0002", - "\u0282\u1f8f\u0003\u0002\u0002\u0002\u0284\u1fb4\u0003\u0002\u0002\u0002", - "\u0286\u1fb6\u0003\u0002\u0002\u0002\u0288\u1fc6\u0003\u0002\u0002\u0002", - "\u028a\u1fd3\u0003\u0002\u0002\u0002\u028c\u1fe7\u0003\u0002\u0002\u0002", - "\u028e\u1ff4\u0003\u0002\u0002\u0002\u0290\u2019\u0003\u0002\u0002\u0002", - "\u0292\u202a\u0003\u0002\u0002\u0002\u0294\u202c\u0003\u0002\u0002\u0002", - "\u0296\u2039\u0003\u0002\u0002\u0002\u0298\u2052\u0003\u0002\u0002\u0002", - "\u029a\u206e\u0003\u0002\u0002\u0002\u029c\u2097\u0003\u0002\u0002\u0002", - "\u029e\u20ea\u0003\u0002\u0002\u0002\u02a0\u20ec\u0003\u0002\u0002\u0002", - "\u02a2\u20f0\u0003\u0002\u0002\u0002\u02a4\u20f5\u0003\u0002\u0002\u0002", - "\u02a6\u20f9\u0003\u0002\u0002\u0002\u02a8\u20fe\u0003\u0002\u0002\u0002", - "\u02aa\u2103\u0003\u0002\u0002\u0002\u02ac\u2112\u0003\u0002\u0002\u0002", - "\u02ae\u2117\u0003\u0002\u0002\u0002\u02b0\u211b\u0003\u0002\u0002\u0002", - "\u02b2\u2124\u0003\u0002\u0002\u0002\u02b4\u2129\u0003\u0002\u0002\u0002", - "\u02b6\u2131\u0003\u0002\u0002\u0002\u02b8\u2135\u0003\u0002\u0002\u0002", - "\u02ba\u2142\u0003\u0002\u0002\u0002\u02bc\u2144\u0003\u0002\u0002\u0002", - "\u02be\u2171\u0003\u0002\u0002\u0002\u02c0\u217b\u0003\u0002\u0002\u0002", - "\u02c2\u21a6\u0003\u0002\u0002\u0002\u02c4\u21ea\u0003\u0002\u0002\u0002", - "\u02c6\u21f5\u0003\u0002\u0002\u0002\u02c8\u2200\u0003\u0002\u0002\u0002", - "\u02ca\u220c\u0003\u0002\u0002\u0002\u02cc\u2213\u0003\u0002\u0002\u0002", - "\u02ce\u223c\u0003\u0002\u0002\u0002\u02d0\u2247\u0003\u0002\u0002\u0002", - "\u02d2\u2249\u0003\u0002\u0002\u0002\u02d4\u2298\u0003\u0002\u0002\u0002", - "\u02d6\u229c\u0003\u0002\u0002\u0002\u02d8\u22a6\u0003\u0002\u0002\u0002", - "\u02da\u22c2\u0003\u0002\u0002\u0002\u02dc\u22dd\u0003\u0002\u0002\u0002", - "\u02de\u22e3\u0003\u0002\u0002\u0002\u02e0\u22ed\u0003\u0002\u0002\u0002", - "\u02e2\u22f7\u0003\u0002\u0002\u0002\u02e4\u22f9\u0003\u0002\u0002\u0002", - "\u02e6\u2315\u0003\u0002\u0002\u0002\u02e8\u2317\u0003\u0002\u0002\u0002", - "\u02ea\u2333\u0003\u0002\u0002\u0002\u02ec\u2335\u0003\u0002\u0002\u0002", - "\u02ee\u233d\u0003\u0002\u0002\u0002\u02f0\u2345\u0003\u0002\u0002\u0002", - "\u02f2\u234e\u0003\u0002\u0002\u0002\u02f4\u2389\u0003\u0002\u0002\u0002", - "\u02f6\u2390\u0003\u0002\u0002\u0002\u02f8\u239e\u0003\u0002\u0002\u0002", - "\u02fa\u23a7\u0003\u0002\u0002\u0002\u02fc\u23ce\u0003\u0002\u0002\u0002", - "\u02fe\u23de\u0003\u0002\u0002\u0002\u0300\u23e5\u0003\u0002\u0002\u0002", - "\u0302\u23e7\u0003\u0002\u0002\u0002\u0304\u2456\u0003\u0002\u0002\u0002", - "\u0306\u2458\u0003\u0002\u0002\u0002\u0308\u2463\u0003\u0002\u0002\u0002", - "\u030a\u2467\u0003\u0002\u0002\u0002\u030c\u2469\u0003\u0002\u0002\u0002", - "\u030e\u24a2\u0003\u0002\u0002\u0002\u0310\u24a4\u0003\u0002\u0002\u0002", - "\u0312\u24ad\u0003\u0002\u0002\u0002\u0314\u24b5\u0003\u0002\u0002\u0002", - "\u0316\u24c3\u0003\u0002\u0002\u0002\u0318\u24d4\u0003\u0002\u0002\u0002", - "\u031a\u24ea\u0003\u0002\u0002\u0002\u031c\u24f4\u0003\u0002\u0002\u0002", - "\u031e\u24fa\u0003\u0002\u0002\u0002\u0320\u24fc\u0003\u0002\u0002\u0002", - "\u0322\u2509\u0003\u0002\u0002\u0002\u0324\u250b\u0003\u0002\u0002\u0002", - "\u0326\u2543\u0003\u0002\u0002\u0002\u0328\u2545\u0003\u0002\u0002\u0002", - "\u032a\u2556\u0003\u0002\u0002\u0002\u032c\u255e\u0003\u0002\u0002\u0002", - "\u032e\u2563\u0003\u0002\u0002\u0002\u0330\u258d\u0003\u0002\u0002\u0002", - "\u0332\u258f\u0003\u0002\u0002\u0002\u0334\u2597\u0003\u0002\u0002\u0002", - "\u0336\u25a1\u0003\u0002\u0002\u0002\u0338\u25a9\u0003\u0002\u0002\u0002", - "\u033a\u25c7\u0003\u0002\u0002\u0002\u033c\u25c9\u0003\u0002\u0002\u0002", - "\u033e\u25d7\u0003\u0002\u0002\u0002\u0340\u266b\u0003\u0002\u0002\u0002", - "\u0342\u2672\u0003\u0002\u0002\u0002\u0344\u269f\u0003\u0002\u0002\u0002", - "\u0346\u26b7\u0003\u0002\u0002\u0002\u0348\u26b9\u0003\u0002\u0002\u0002", - "\u034a\u26c0\u0003\u0002\u0002\u0002\u034c\u26c7\u0003\u0002\u0002\u0002", - "\u034e\u26ce\u0003\u0002\u0002\u0002\u0350\u26d3\u0003\u0002\u0002\u0002", - "\u0352\u26d9\u0003\u0002\u0002\u0002\u0354\u26de\u0003\u0002\u0002\u0002", - "\u0356\u26e2\u0003\u0002\u0002\u0002\u0358\u26e7\u0003\u0002\u0002\u0002", - "\u035a\u26f6\u0003\u0002\u0002\u0002\u035c\u2705\u0003\u0002\u0002\u0002", - "\u035e\u273b\u0003\u0002\u0002\u0002\u0360\u273d\u0003\u0002\u0002\u0002", - "\u0362\u274a\u0003\u0002\u0002\u0002\u0364\u274c\u0003\u0002\u0002\u0002", - "\u0366\u275a\u0003\u0002\u0002\u0002\u0368\u276c\u0003\u0002\u0002\u0002", - "\u036a\u278e\u0003\u0002\u0002\u0002\u036c\u27a4\u0003\u0002\u0002\u0002", - "\u036e\u27a7\u0003\u0002\u0002\u0002\u0370\u27ab\u0003\u0002\u0002\u0002", - "\u0372\u27ba\u0003\u0002\u0002\u0002\u0374\u27c3\u0003\u0002\u0002\u0002", - "\u0376\u27c7\u0003\u0002\u0002\u0002\u0378\u27cf\u0003\u0002\u0002\u0002", - "\u037a\u27d5\u0003\u0002\u0002\u0002\u037c\u27f9\u0003\u0002\u0002\u0002", - "\u037e\u27fb\u0003\u0002\u0002\u0002\u0380\u2808\u0003\u0002\u0002\u0002", - "\u0382\u280a\u0003\u0002\u0002\u0002\u0384\u281f\u0003\u0002\u0002\u0002", - "\u0386\u285d\u0003\u0002\u0002\u0002\u0388\u2866\u0003\u0002\u0002\u0002", - "\u038a\u286d\u0003\u0002\u0002\u0002\u038c\u2880\u0003\u0002\u0002\u0002", - "\u038e\u289e\u0003\u0002\u0002\u0002\u0390\u28a3\u0003\u0002\u0002\u0002", - "\u0392\u28aa\u0003\u0002\u0002\u0002\u0394\u28b9\u0003\u0002\u0002\u0002", - "\u0396\u28c8\u0003\u0002\u0002\u0002\u0398\u28cc\u0003\u0002\u0002\u0002", - "\u039a\u28fe\u0003\u0002\u0002\u0002\u039c\u2900\u0003\u0002\u0002\u0002", - "\u039e\u290e\u0003\u0002\u0002\u0002\u03a0\u2918\u0003\u0002\u0002\u0002", - "\u03a2\u291a\u0003\u0002\u0002\u0002\u03a4\u291c\u0003\u0002\u0002\u0002", - "\u03a6\u291f\u0003\u0002\u0002\u0002\u03a8\u292a\u0003\u0002\u0002\u0002", - "\u03aa\u2931\u0003\u0002\u0002\u0002\u03ac\u2933\u0003\u0002\u0002\u0002", - "\u03ae\u293f\u0003\u0002\u0002\u0002\u03b0\u296f\u0003\u0002\u0002\u0002", - "\u03b2\u2973\u0003\u0002\u0002\u0002\u03b4\u2975\u0003\u0002\u0002\u0002", - "\u03b6\u298a\u0003\u0002\u0002\u0002\u03b8\u2999\u0003\u0002\u0002\u0002", - "\u03ba\u29a9\u0003\u0002\u0002\u0002\u03bc\u29ab\u0003\u0002\u0002\u0002", - "\u03be\u29cf\u0003\u0002\u0002\u0002\u03c0\u29d4\u0003\u0002\u0002\u0002", - "\u03c2\u29e5\u0003\u0002\u0002\u0002\u03c4\u29e7\u0003\u0002\u0002\u0002", - "\u03c6\u29ec\u0003\u0002\u0002\u0002\u03c8\u29ee\u0003\u0002\u0002\u0002", - "\u03ca\u29ff\u0003\u0002\u0002\u0002\u03cc\u2a01\u0003\u0002\u0002\u0002", - "\u03ce\u2a03\u0003\u0002\u0002\u0002\u03d0\u03d2\u0005\u0004\u0003\u0002", - "\u03d1\u03d0\u0003\u0002\u0002\u0002\u03d2\u03d5\u0003\u0002\u0002\u0002", - "\u03d3\u03d1\u0003\u0002\u0002\u0002\u03d3\u03d4\u0003\u0002\u0002\u0002", - "\u03d4\u03d6\u0003\u0002\u0002\u0002\u03d5\u03d3\u0003\u0002\u0002\u0002", - "\u03d6\u03d7\u0007\u0002\u0002\u0003\u03d7\u0003\u0003\u0002\u0002\u0002", - "\u03d8\u03dc\u0005\u027a\u013e\u0002\u03d9\u03db\u0005\u02a0\u0151\u0002", - "\u03da\u03d9\u0003\u0002\u0002\u0002\u03db\u03de\u0003\u0002\u0002\u0002", - "\u03dc\u03da\u0003\u0002\u0002\u0002\u03dc\u03dd\u0003\u0002\u0002\u0002", - "\u03dd\u03ea\u0003\u0002\u0002\u0002\u03de\u03dc\u0003\u0002\u0002\u0002", - "\u03df\u03e1\u0005\u027a\u013e\u0002\u03e0\u03df\u0003\u0002\u0002\u0002", - "\u03e0\u03e1\u0003\u0002\u0002\u0002\u03e1\u03e2\u0003\u0002\u0002\u0002", - "\u03e2\u03e6\u0005\u0006\u0004\u0002\u03e3\u03e5\u0005\u02a0\u0151\u0002", - "\u03e4\u03e3\u0003\u0002\u0002\u0002\u03e5\u03e8\u0003\u0002\u0002\u0002", - "\u03e6\u03e4\u0003\u0002\u0002\u0002\u03e6\u03e7\u0003\u0002\u0002\u0002", - "\u03e7\u03ea\u0003\u0002\u0002\u0002\u03e8\u03e6\u0003\u0002\u0002\u0002", - "\u03e9\u03d8\u0003\u0002\u0002\u0002\u03e9\u03e0\u0003\u0002\u0002\u0002", - "\u03ea\u0005\u0003\u0002\u0002\u0002\u03eb\u03ed\u0005\b\u0005\u0002", - "\u03ec\u03ee\u0007\u033f\u0002\u0002\u03ed\u03ec\u0003\u0002\u0002\u0002", - "\u03ed\u03ee\u0003\u0002\u0002\u0002\u03ee\u03f0\u0003\u0002\u0002\u0002", - "\u03ef\u03eb\u0003\u0002\u0002\u0002\u03f0\u03f1\u0003\u0002\u0002\u0002", - "\u03f1\u03ef\u0003\u0002\u0002\u0002\u03f1\u03f2\u0003\u0002\u0002\u0002", - "\u03f2\u0007\u0003\u0002\u0002\u0002\u03f3\u03fb\u0005\n\u0006\u0002", - "\u03f4\u03fb\u0005\f\u0007\u0002\u03f5\u03fb\u0005\u0010\t\u0002\u03f6", - "\u03fb\u0005\u02aa\u0156\u0002\u03f7\u03fb\u00050\u0019\u0002\u03f8", - "\u03fb\u00052\u001a\u0002\u03f9\u03fb\u0005\u000e\b\u0002\u03fa\u03f3", - "\u0003\u0002\u0002\u0002\u03fa\u03f4\u0003\u0002\u0002\u0002\u03fa\u03f5", - "\u0003\u0002\u0002\u0002\u03fa\u03f6\u0003\u0002\u0002\u0002\u03fa\u03f7", - "\u0003\u0002\u0002\u0002\u03fa\u03f8\u0003\u0002\u0002\u0002\u03fa\u03f9", - "\u0003\u0002\u0002\u0002\u03fb\t\u0003\u0002\u0002\u0002\u03fc\u0402", - "\u0005\u01ae\u00d8\u0002\u03fd\u0402\u0005\u01b4\u00db\u0002\u03fe\u0402", - "\u0005\u01b8\u00dd\u0002\u03ff\u0402\u0005\u01be\u00e0\u0002\u0400\u0402", - "\u0005\u01c2\u00e2\u0002\u0401\u03fc\u0003\u0002\u0002\u0002\u0401\u03fd", - "\u0003\u0002\u0002\u0002\u0401\u03fe\u0003\u0002\u0002\u0002\u0401\u03ff", - "\u0003\u0002\u0002\u0002\u0401\u0400\u0003\u0002\u0002\u0002\u0402\u000b", - "\u0003\u0002\u0002\u0002\u0403\u04a3\u00054\u001b\u0002\u0404\u04a3", - "\u0005<\u001f\u0002\u0405\u04a3\u0005v<\u0002\u0406\u04a3\u0005\u0084", - "C\u0002\u0407\u04a3\u0005\u0090I\u0002\u0408\u04a3\u0005\u0092J\u0002", - "\u0409\u04a3\u0005\u008eH\u0002\u040a\u04a3\u0005\u009eP\u0002\u040b", - "\u04a3\u0005\u00a8U\u0002\u040c\u04a3\u0005\u00aaV\u0002\u040d\u04a3", - "\u0005\u0116\u008c\u0002\u040e\u04a3\u0005\u011a\u008e\u0002\u040f\u04a3", - "\u0005\u01f8\u00fd\u0002\u0410\u04a3\u0005\u015c\u00af\u0002\u0411\u04a3", - "\u0005\u0206\u0104\u0002\u0412\u04a3\u0005\u0120\u0091\u0002\u0413\u04a3", - "\u0005\u0128\u0095\u0002\u0414\u04a3\u0005\u012a\u0096\u0002\u0415\u04a3", - "\u0005\u012e\u0098\u0002\u0416\u04a3\u0005\u0132\u009a\u0002\u0417\u04a3", - "\u0005\u0136\u009c\u0002\u0418\u04a3\u0005\u013e\u00a0\u0002\u0419\u04a3", - "\u0005\u0142\u00a2\u0002\u041a\u04a3\u0005\u013a\u009e\u0002\u041b\u04a3", - "\u0005\u014a\u00a6\u0002\u041c\u04a3\u0005\u0146\u00a4\u0002\u041d\u04a3", - "\u0005\u014e\u00a8\u0002\u041e\u04a3\u0005\u0150\u00a9\u0002\u041f\u04a3", - "\u0005\u0152\u00aa\u0002\u0420\u04a3\u0005\u0154\u00ab\u0002\u0421\u04a3", - "\u0005\u015a\u00ae\u0002\u0422\u04a3\u0005\u016a\u00b6\u0002\u0423\u04a3", - "\u0005\u0164\u00b3\u0002\u0424\u04a3\u0005\u0170\u00b9\u0002\u0425\u04a3", - "\u0005\u0174\u00bb\u0002\u0426\u04a3\u0005\u0178\u00bd\u0002\u0427\u04a3", - "\u0005\u017c\u00bf\u0002\u0428\u04a3\u0005\u017e\u00c0\u0002\u0429\u04a3", - "\u0005\u0182\u00c2\u0002\u042a\u04a3\u0005\u0184\u00c3\u0002\u042b\u04a3", - "\u0005\u0188\u00c5\u0002\u042c\u04a3\u0005\u018a\u00c6\u0002\u042d\u04a3", - "\u0005\u01f6\u00fc\u0002\u042e\u04a3\u0005\u0190\u00c9\u0002\u042f\u04a3", - "\u0005\u0196\u00cc\u0002\u0430\u04a3\u0005\u0198\u00cd\u0002\u0431\u04a3", - "\u00056\u001c\u0002\u0432\u04a3\u0005r:\u0002\u0433\u04a3\u0005\u0080", - "A\u0002\u0434\u04a3\u0005\u00acW\u0002\u0435\u04a3\u0005\u0114\u008b", - "\u0002\u0436\u04a3\u0005\u0118\u008d\u0002\u0437\u04a3\u0005\u011c\u008f", - "\u0002\u0438\u04a3\u0005\u01ca\u00e6\u0002\u0439\u04a3\u0005\u015e\u00b0", - "\u0002\u043a\u04a3\u0005\u011e\u0090\u0002\u043b\u04a3\u0005\u012c\u0097", - "\u0002\u043c\u04a3\u0005\u0130\u0099\u0002\u043d\u04a3\u0005\u0134\u009b", - "\u0002\u043e\u04a3\u0005\u0138\u009d\u0002\u043f\u04a3\u0005\u01cc\u00e7", - "\u0002\u0440\u04a3\u0005\u0140\u00a1\u0002\u0441\u04a3\u0005\u0144\u00a3", - "\u0002\u0442\u04a3\u0005\u013c\u009f\u0002\u0443\u04a3\u0005\u014c\u00a7", - "\u0002\u0444\u04a3\u0005\u0148\u00a5\u0002\u0445\u04a3\u0005\u00a4S", - "\u0002\u0446\u04a3\u0005\u01dc\u00ef\u0002\u0447\u04a3\u0005\u01ce\u00e8", - "\u0002\u0448\u04a3\u0005\u01d0\u00e9\u0002\u0449\u04a3\u0005\u0156\u00ac", - "\u0002\u044a\u04a3\u0005\u0158\u00ad\u0002\u044b\u04a3\u0005\u0160\u00b1", - "\u0002\u044c\u04a3\u0005\u0162\u00b2\u0002\u044d\u04a3\u0005\u0166\u00b4", - "\u0002\u044e\u04a3\u0005\u0168\u00b5\u0002\u044f\u04a3\u0005\u016c\u00b7", - "\u0002\u0450\u04a3\u0005\u016e\u00b8\u0002\u0451\u04a3\u0005\u0172\u00ba", - "\u0002\u0452\u04a3\u0005\u0176\u00bc\u0002\u0453\u04a3\u0005\u017a\u00be", - "\u0002\u0454\u04a3\u0005\u0180\u00c1\u0002\u0455\u04a3\u0005\u0186\u00c4", - "\u0002\u0456\u04a3\u0005\u01ea\u00f6\u0002\u0457\u04a3\u0005\u018c\u00c7", - "\u0002\u0458\u04a3\u0005\u018e\u00c8\u0002\u0459\u04a3\u0005\u01ee\u00f8", - "\u0002\u045a\u04a3\u0005\u0258\u012d\u0002\u045b\u04a3\u0005\u0192\u00ca", - "\u0002\u045c\u04a3\u0005\u0194\u00cb\u0002\u045d\u04a3\u0005\u01f2\u00fa", - "\u0002\u045e\u04a3\u0005\u019a\u00ce\u0002\u045f\u04a3\u0005\u019c\u00cf", - "\u0002\u0460\u04a3\u00058\u001d\u0002\u0461\u04a3\u0005:\u001e\u0002", - "\u0462\u04a3\u0005t;\u0002\u0463\u04a3\u0005\u0082B\u0002\u0464\u04a3", - "\u0005\u009cO\u0002\u0465\u04a3\u0005\u00a6T\u0002\u0466\u04a3\u0005", - "\u00aeX\u0002\u0467\u04a3\u0005\u00b0Y\u0002\u0468\u04a3\u0005\u00b2", - "Z\u0002\u0469\u04a3\u0005\u00b4[\u0002\u046a\u04a3\u0005\u00b6\\\u0002", - "\u046b\u04a3\u0005\u00b8]\u0002\u046c\u04a3\u0005\u00ba^\u0002\u046d", - "\u04a3\u0005\u00bc_\u0002\u046e\u04a3\u0005\u00be`\u0002\u046f\u04a3", - "\u0005\u00e8u\u0002\u0470\u04a3\u0005\u00c0a\u0002\u0471\u04a3\u0005", - "\u00c2b\u0002\u0472\u04a3\u0005\u00ceh\u0002\u0473\u04a3\u0005\u00d0", - "i\u0002\u0474\u04a3\u0005\u00c4c\u0002\u0475\u04a3\u0005\u00c6d\u0002", - "\u0476\u04a3\u0005\u00c8e\u0002\u0477\u04a3\u0005\u00caf\u0002\u0478", - "\u04a3\u0005\u00ccg\u0002\u0479\u04a3\u0005\u00d2j\u0002\u047a\u04a3", - "\u0005\u00d4k\u0002\u047b\u04a3\u0005\u00d6l\u0002\u047c\u04a3\u0005", - "\u0250\u0129\u0002\u047d\u04a3\u0005\u0242\u0122\u0002\u047e\u04a3\u0005", - "\u00d8m\u0002\u047f\u04a3\u0005\u00dan\u0002\u0480\u04a3\u0005\u00dc", - "o\u0002\u0481\u04a3\u0005\u00dep\u0002\u0482\u04a3\u0005\u00e0q\u0002", - "\u0483\u04a3\u0005\u0248\u0125\u0002\u0484\u04a3\u0005\u00e2r\u0002", - "\u0485\u04a3\u0005\u00e4s\u0002\u0486\u04a3\u0005\u00e6t\u0002\u0487", - "\u04a3\u0005\u00eav\u0002\u0488\u04a3\u0005\u00ecw\u0002\u0489\u04a3", - "\u0005\u00eex\u0002\u048a\u04a3\u0005\u00f0y\u0002\u048b\u04a3\u0005", - "\u00f2z\u0002\u048c\u04a3\u0005\u00f4{\u0002\u048d\u04a3\u0005\u00f6", - "|\u0002\u048e\u04a3\u0005\u00f8}\u0002\u048f\u04a3\u0005\u00fa~\u0002", - "\u0490\u04a3\u0005\u00fc\u007f\u0002\u0491\u04a3\u0005\u00fe\u0080\u0002", - "\u0492\u04a3\u0005\u0252\u012a\u0002\u0493\u04a3\u0005\u0100\u0081\u0002", - "\u0494\u04a3\u0005\u0102\u0082\u0002\u0495\u04a3\u0005\u0104\u0083\u0002", - "\u0496\u04a3\u0005\u0254\u012b\u0002\u0497\u04a3\u0005\u024a\u0126\u0002", - "\u0498\u04a3\u0005\u025a\u012e\u0002\u0499\u04a3\u0005\u0106\u0084\u0002", - "\u049a\u04a3\u0005\u0256\u012c\u0002\u049b\u04a3\u0005\u0108\u0085\u0002", - "\u049c\u04a3\u0005\u010a\u0086\u0002\u049d\u04a3\u0005\u010c\u0087\u0002", - "\u049e\u04a3\u0005\u010e\u0088\u0002\u049f\u04a3\u0005\u0110\u0089\u0002", - "\u04a0\u04a3\u0005\u0112\u008a\u0002\u04a1\u04a3\u0005\u01ec\u00f7\u0002", - "\u04a2\u0403\u0003\u0002\u0002\u0002\u04a2\u0404\u0003\u0002\u0002\u0002", - "\u04a2\u0405\u0003\u0002\u0002\u0002\u04a2\u0406\u0003\u0002\u0002\u0002", - "\u04a2\u0407\u0003\u0002\u0002\u0002\u04a2\u0408\u0003\u0002\u0002\u0002", - "\u04a2\u0409\u0003\u0002\u0002\u0002\u04a2\u040a\u0003\u0002\u0002\u0002", - "\u04a2\u040b\u0003\u0002\u0002\u0002\u04a2\u040c\u0003\u0002\u0002\u0002", - "\u04a2\u040d\u0003\u0002\u0002\u0002\u04a2\u040e\u0003\u0002\u0002\u0002", - "\u04a2\u040f\u0003\u0002\u0002\u0002\u04a2\u0410\u0003\u0002\u0002\u0002", - "\u04a2\u0411\u0003\u0002\u0002\u0002\u04a2\u0412\u0003\u0002\u0002\u0002", - "\u04a2\u0413\u0003\u0002\u0002\u0002\u04a2\u0414\u0003\u0002\u0002\u0002", - "\u04a2\u0415\u0003\u0002\u0002\u0002\u04a2\u0416\u0003\u0002\u0002\u0002", - "\u04a2\u0417\u0003\u0002\u0002\u0002\u04a2\u0418\u0003\u0002\u0002\u0002", - "\u04a2\u0419\u0003\u0002\u0002\u0002\u04a2\u041a\u0003\u0002\u0002\u0002", - "\u04a2\u041b\u0003\u0002\u0002\u0002\u04a2\u041c\u0003\u0002\u0002\u0002", - "\u04a2\u041d\u0003\u0002\u0002\u0002\u04a2\u041e\u0003\u0002\u0002\u0002", - "\u04a2\u041f\u0003\u0002\u0002\u0002\u04a2\u0420\u0003\u0002\u0002\u0002", - "\u04a2\u0421\u0003\u0002\u0002\u0002\u04a2\u0422\u0003\u0002\u0002\u0002", - "\u04a2\u0423\u0003\u0002\u0002\u0002\u04a2\u0424\u0003\u0002\u0002\u0002", - "\u04a2\u0425\u0003\u0002\u0002\u0002\u04a2\u0426\u0003\u0002\u0002\u0002", - "\u04a2\u0427\u0003\u0002\u0002\u0002\u04a2\u0428\u0003\u0002\u0002\u0002", - "\u04a2\u0429\u0003\u0002\u0002\u0002\u04a2\u042a\u0003\u0002\u0002\u0002", - "\u04a2\u042b\u0003\u0002\u0002\u0002\u04a2\u042c\u0003\u0002\u0002\u0002", - "\u04a2\u042d\u0003\u0002\u0002\u0002\u04a2\u042e\u0003\u0002\u0002\u0002", - "\u04a2\u042f\u0003\u0002\u0002\u0002\u04a2\u0430\u0003\u0002\u0002\u0002", - "\u04a2\u0431\u0003\u0002\u0002\u0002\u04a2\u0432\u0003\u0002\u0002\u0002", - "\u04a2\u0433\u0003\u0002\u0002\u0002\u04a2\u0434\u0003\u0002\u0002\u0002", - "\u04a2\u0435\u0003\u0002\u0002\u0002\u04a2\u0436\u0003\u0002\u0002\u0002", - "\u04a2\u0437\u0003\u0002\u0002\u0002\u04a2\u0438\u0003\u0002\u0002\u0002", - "\u04a2\u0439\u0003\u0002\u0002\u0002\u04a2\u043a\u0003\u0002\u0002\u0002", - "\u04a2\u043b\u0003\u0002\u0002\u0002\u04a2\u043c\u0003\u0002\u0002\u0002", - "\u04a2\u043d\u0003\u0002\u0002\u0002\u04a2\u043e\u0003\u0002\u0002\u0002", - "\u04a2\u043f\u0003\u0002\u0002\u0002\u04a2\u0440\u0003\u0002\u0002\u0002", - "\u04a2\u0441\u0003\u0002\u0002\u0002\u04a2\u0442\u0003\u0002\u0002\u0002", - "\u04a2\u0443\u0003\u0002\u0002\u0002\u04a2\u0444\u0003\u0002\u0002\u0002", - "\u04a2\u0445\u0003\u0002\u0002\u0002\u04a2\u0446\u0003\u0002\u0002\u0002", - "\u04a2\u0447\u0003\u0002\u0002\u0002\u04a2\u0448\u0003\u0002\u0002\u0002", - "\u04a2\u0449\u0003\u0002\u0002\u0002\u04a2\u044a\u0003\u0002\u0002\u0002", - "\u04a2\u044b\u0003\u0002\u0002\u0002\u04a2\u044c\u0003\u0002\u0002\u0002", - "\u04a2\u044d\u0003\u0002\u0002\u0002\u04a2\u044e\u0003\u0002\u0002\u0002", - "\u04a2\u044f\u0003\u0002\u0002\u0002\u04a2\u0450\u0003\u0002\u0002\u0002", - "\u04a2\u0451\u0003\u0002\u0002\u0002\u04a2\u0452\u0003\u0002\u0002\u0002", - "\u04a2\u0453\u0003\u0002\u0002\u0002\u04a2\u0454\u0003\u0002\u0002\u0002", - "\u04a2\u0455\u0003\u0002\u0002\u0002\u04a2\u0456\u0003\u0002\u0002\u0002", - "\u04a2\u0457\u0003\u0002\u0002\u0002\u04a2\u0458\u0003\u0002\u0002\u0002", - "\u04a2\u0459\u0003\u0002\u0002\u0002\u04a2\u045a\u0003\u0002\u0002\u0002", - "\u04a2\u045b\u0003\u0002\u0002\u0002\u04a2\u045c\u0003\u0002\u0002\u0002", - "\u04a2\u045d\u0003\u0002\u0002\u0002\u04a2\u045e\u0003\u0002\u0002\u0002", - "\u04a2\u045f\u0003\u0002\u0002\u0002\u04a2\u0460\u0003\u0002\u0002\u0002", - "\u04a2\u0461\u0003\u0002\u0002\u0002\u04a2\u0462\u0003\u0002\u0002\u0002", - "\u04a2\u0463\u0003\u0002\u0002\u0002\u04a2\u0464\u0003\u0002\u0002\u0002", - "\u04a2\u0465\u0003\u0002\u0002\u0002\u04a2\u0466\u0003\u0002\u0002\u0002", - "\u04a2\u0467\u0003\u0002\u0002\u0002\u04a2\u0468\u0003\u0002\u0002\u0002", - "\u04a2\u0469\u0003\u0002\u0002\u0002\u04a2\u046a\u0003\u0002\u0002\u0002", - "\u04a2\u046b\u0003\u0002\u0002\u0002\u04a2\u046c\u0003\u0002\u0002\u0002", - "\u04a2\u046d\u0003\u0002\u0002\u0002\u04a2\u046e\u0003\u0002\u0002\u0002", - "\u04a2\u046f\u0003\u0002\u0002\u0002\u04a2\u0470\u0003\u0002\u0002\u0002", - "\u04a2\u0471\u0003\u0002\u0002\u0002\u04a2\u0472\u0003\u0002\u0002\u0002", - "\u04a2\u0473\u0003\u0002\u0002\u0002\u04a2\u0474\u0003\u0002\u0002\u0002", - "\u04a2\u0475\u0003\u0002\u0002\u0002\u04a2\u0476\u0003\u0002\u0002\u0002", - "\u04a2\u0477\u0003\u0002\u0002\u0002\u04a2\u0478\u0003\u0002\u0002\u0002", - "\u04a2\u0479\u0003\u0002\u0002\u0002\u04a2\u047a\u0003\u0002\u0002\u0002", - "\u04a2\u047b\u0003\u0002\u0002\u0002\u04a2\u047c\u0003\u0002\u0002\u0002", - "\u04a2\u047d\u0003\u0002\u0002\u0002\u04a2\u047e\u0003\u0002\u0002\u0002", - "\u04a2\u047f\u0003\u0002\u0002\u0002\u04a2\u0480\u0003\u0002\u0002\u0002", - "\u04a2\u0481\u0003\u0002\u0002\u0002\u04a2\u0482\u0003\u0002\u0002\u0002", - "\u04a2\u0483\u0003\u0002\u0002\u0002\u04a2\u0484\u0003\u0002\u0002\u0002", - "\u04a2\u0485\u0003\u0002\u0002\u0002\u04a2\u0486\u0003\u0002\u0002\u0002", - "\u04a2\u0487\u0003\u0002\u0002\u0002\u04a2\u0488\u0003\u0002\u0002\u0002", - "\u04a2\u0489\u0003\u0002\u0002\u0002\u04a2\u048a\u0003\u0002\u0002\u0002", - "\u04a2\u048b\u0003\u0002\u0002\u0002\u04a2\u048c\u0003\u0002\u0002\u0002", - "\u04a2\u048d\u0003\u0002\u0002\u0002\u04a2\u048e\u0003\u0002\u0002\u0002", - "\u04a2\u048f\u0003\u0002\u0002\u0002\u04a2\u0490\u0003\u0002\u0002\u0002", - "\u04a2\u0491\u0003\u0002\u0002\u0002\u04a2\u0492\u0003\u0002\u0002\u0002", - "\u04a2\u0493\u0003\u0002\u0002\u0002\u04a2\u0494\u0003\u0002\u0002\u0002", - "\u04a2\u0495\u0003\u0002\u0002\u0002\u04a2\u0496\u0003\u0002\u0002\u0002", - "\u04a2\u0497\u0003\u0002\u0002\u0002\u04a2\u0498\u0003\u0002\u0002\u0002", - "\u04a2\u0499\u0003\u0002\u0002\u0002\u04a2\u049a\u0003\u0002\u0002\u0002", - "\u04a2\u049b\u0003\u0002\u0002\u0002\u04a2\u049c\u0003\u0002\u0002\u0002", - "\u04a2\u049d\u0003\u0002\u0002\u0002\u04a2\u049e\u0003\u0002\u0002\u0002", - "\u04a2\u049f\u0003\u0002\u0002\u0002\u04a2\u04a0\u0003\u0002\u0002\u0002", - "\u04a2\u04a1\u0003\u0002\u0002\u0002\u04a3\r\u0003\u0002\u0002\u0002", - "\u04a4\u04aa\u0005\u0266\u0134\u0002\u04a5\u04aa\u0005\u0268\u0135\u0002", - "\u04a6\u04aa\u0005\u026a\u0136\u0002\u04a7\u04aa\u0005\u026c\u0137\u0002", - "\u04a8\u04aa\u0005\u026e\u0138\u0002\u04a9\u04a4\u0003\u0002\u0002\u0002", - "\u04a9\u04a5\u0003\u0002\u0002\u0002\u04a9\u04a6\u0003\u0002\u0002\u0002", - "\u04a9\u04a7\u0003\u0002\u0002\u0002\u04a9\u04a8\u0003\u0002\u0002\u0002", - "\u04aa\u000f\u0003\u0002\u0002\u0002\u04ab\u04b8\u0005\u0012\n\u0002", - "\u04ac\u04b8\u0005\u0014\u000b\u0002\u04ad\u04b8\u0005\u0016\f\u0002", - "\u04ae\u04b8\u0005\u0018\r\u0002\u04af\u04b8\u0005\u001c\u000f\u0002", - "\u04b0\u04b8\u0005\u001a\u000e\u0002\u04b1\u04b8\u0005\u001e\u0010\u0002", - "\u04b2\u04b8\u0005&\u0014\u0002\u04b3\u04b8\u0005(\u0015\u0002\u04b4", - "\u04b8\u0005*\u0016\u0002\u04b5\u04b8\u0005,\u0017\u0002\u04b6\u04b8", - "\u0005.\u0018\u0002\u04b7\u04ab\u0003\u0002\u0002\u0002\u04b7\u04ac", - "\u0003\u0002\u0002\u0002\u04b7\u04ad\u0003\u0002\u0002\u0002\u04b7\u04ae", - "\u0003\u0002\u0002\u0002\u04b7\u04af\u0003\u0002\u0002\u0002\u04b7\u04b0", - "\u0003\u0002\u0002\u0002\u04b7\u04b1\u0003\u0002\u0002\u0002\u04b7\u04b2", - "\u0003\u0002\u0002\u0002\u04b7\u04b3\u0003\u0002\u0002\u0002\u04b7\u04b4", - "\u0003\u0002\u0002\u0002\u04b7\u04b5\u0003\u0002\u0002\u0002\u04b7\u04b6", - "\u0003\u0002\u0002\u0002\u04b8\u0011\u0003\u0002\u0002\u0002\u04b9\u04bb", - "\u0007\u001c\u0002\u0002\u04ba\u04bc\u0007\u033f\u0002\u0002\u04bb\u04ba", - "\u0003\u0002\u0002\u0002\u04bb\u04bc\u0003\u0002\u0002\u0002\u04bc\u04be", - "\u0003\u0002\u0002\u0002\u04bd\u04bf\u0005\u0006\u0004\u0002\u04be\u04bd", - "\u0003\u0002\u0002\u0002\u04be\u04bf\u0003\u0002\u0002\u0002\u04bf\u04c0", - "\u0003\u0002\u0002\u0002\u04c0\u04c2\u0007l\u0002\u0002\u04c1\u04c3", - "\u0007\u033f\u0002\u0002\u04c2\u04c1\u0003\u0002\u0002\u0002\u04c2\u04c3", - "\u0003\u0002\u0002\u0002\u04c3\u0013\u0003\u0002\u0002\u0002\u04c4\u04c6", - "\u0007!\u0002\u0002\u04c5\u04c7\u0007\u033f\u0002\u0002\u04c6\u04c5", - "\u0003\u0002\u0002\u0002\u04c6\u04c7\u0003\u0002\u0002\u0002\u04c7\u0015", - "\u0003\u0002\u0002\u0002\u04c8\u04ca\u0007B\u0002\u0002\u04c9\u04cb", - "\u0007\u033f\u0002\u0002\u04ca\u04c9\u0003\u0002\u0002\u0002\u04ca\u04cb", - "\u0003\u0002\u0002\u0002\u04cb\u0017\u0003\u0002\u0002\u0002\u04cc\u04cd", - "\u0007\u008f\u0002\u0002\u04cd\u04cf\u0005\u03c6\u01e4\u0002\u04ce\u04d0", - "\u0007\u033f\u0002\u0002\u04cf\u04ce\u0003\u0002\u0002\u0002\u04cf\u04d0", - "\u0003\u0002\u0002\u0002\u04d0\u04d7\u0003\u0002\u0002\u0002\u04d1\u04d2", - "\u0005\u03c6\u01e4\u0002\u04d2\u04d4\u0007\u0340\u0002\u0002\u04d3\u04d5", - "\u0007\u033f\u0002\u0002\u04d4\u04d3\u0003\u0002\u0002\u0002\u04d4\u04d5", - "\u0003\u0002\u0002\u0002\u04d5\u04d7\u0003\u0002\u0002\u0002\u04d6\u04cc", - "\u0003\u0002\u0002\u0002\u04d6\u04d1\u0003\u0002\u0002\u0002\u04d7\u0019", - "\u0003\u0002\u0002\u0002\u04d8\u04da\u0007\u011a\u0002\u0002\u04d9\u04db", - "\u0005\u02d8\u016d\u0002\u04da\u04d9\u0003\u0002\u0002\u0002\u04da\u04db", - "\u0003\u0002\u0002\u0002\u04db\u04dd\u0003\u0002\u0002\u0002\u04dc\u04de", - "\u0007\u033f\u0002\u0002\u04dd\u04dc\u0003\u0002\u0002\u0002\u04dd\u04de", - "\u0003\u0002\u0002\u0002\u04de\u001b\u0003\u0002\u0002\u0002\u04df\u04e0", - "\u0007\u0099\u0002\u0002\u04e0\u04e1\u0005\u02ee\u0178\u0002\u04e1\u04e4", - "\u0005\b\u0005\u0002\u04e2\u04e3\u0007j\u0002\u0002\u04e3\u04e5\u0005", - "\b\u0005\u0002\u04e4\u04e2\u0003\u0002\u0002\u0002\u04e4\u04e5\u0003", - "\u0002\u0002\u0002\u04e5\u04e7\u0003\u0002\u0002\u0002\u04e6\u04e8\u0007", - "\u033f\u0002\u0002\u04e7\u04e6\u0003\u0002\u0002\u0002\u04e7\u04e8\u0003", - "\u0002\u0002\u0002\u04e8\u001d\u0003\u0002\u0002\u0002\u04e9\u04f0\u0007", - "\u02f3\u0002\u0002\u04ea\u04eb\u0005 \u0011\u0002\u04eb\u04ec\u0007", - "\u033e\u0002\u0002\u04ec\u04ed\u0005\"\u0012\u0002\u04ed\u04ee\u0007", - "\u033e\u0002\u0002\u04ee\u04ef\u0005$\u0013\u0002\u04ef\u04f1\u0003", - "\u0002\u0002\u0002\u04f0\u04ea\u0003\u0002\u0002\u0002\u04f0\u04f1\u0003", - "\u0002\u0002\u0002\u04f1\u04f3\u0003\u0002\u0002\u0002\u04f2\u04f4\u0007", - "\u033f\u0002\u0002\u04f3\u04f2\u0003\u0002\u0002\u0002\u04f3\u04f4\u0003", - "\u0002\u0002\u0002\u04f4\u001f\u0003\u0002\u0002\u0002\u04f5\u04f6\t", - "\u0002\u0002\u0002\u04f6!\u0003\u0002\u0002\u0002\u04f7\u04f8\t\u0003", - "\u0002\u0002\u04f8#\u0003\u0002\u0002\u0002\u04f9\u04fa\t\u0002\u0002", - "\u0002\u04fa%\u0003\u0002\u0002\u0002\u04fb\u04fc\u0007\u001c\u0002", - "\u0002\u04fc\u04fe\u0007\u02fe\u0002\u0002\u04fd\u04ff\u0007\u033f\u0002", - "\u0002\u04fe\u04fd\u0003\u0002\u0002\u0002\u04fe\u04ff\u0003\u0002\u0002", - "\u0002\u04ff\u0501\u0003\u0002\u0002\u0002\u0500\u0502\u0005\u0006\u0004", - "\u0002\u0501\u0500\u0003\u0002\u0002\u0002\u0501\u0502\u0003\u0002\u0002", - "\u0002\u0502\u0503\u0003\u0002\u0002\u0002\u0503\u0504\u0007l\u0002", - "\u0002\u0504\u0506\u0007\u02fe\u0002\u0002\u0505\u0507\u0007\u033f\u0002", - "\u0002\u0506\u0505\u0003\u0002\u0002\u0002\u0506\u0507\u0003\u0002\u0002", - "\u0002\u0507\u0508\u0003\u0002\u0002\u0002\u0508\u0509\u0007\u001c\u0002", - "\u0002\u0509\u050b\u0007\u01af\u0002\u0002\u050a\u050c\u0007\u033f\u0002", - "\u0002\u050b\u050a\u0003\u0002\u0002\u0002\u050b\u050c\u0003\u0002\u0002", - "\u0002\u050c\u050e\u0003\u0002\u0002\u0002\u050d\u050f\u0005\u0006\u0004", - "\u0002\u050e\u050d\u0003\u0002\u0002\u0002\u050e\u050f\u0003\u0002\u0002", - "\u0002\u050f\u0510\u0003\u0002\u0002\u0002\u0510\u0511\u0007l\u0002", - "\u0002\u0511\u0513\u0007\u01af\u0002\u0002\u0512\u0514\u0007\u033f\u0002", - "\u0002\u0513\u0512\u0003\u0002\u0002\u0002\u0513\u0514\u0003\u0002\u0002", - "\u0002\u0514\'\u0003\u0002\u0002\u0002\u0515\u0517\u0007\u0174\u0002", - "\u0002\u0516\u0518\u0005\u01bc\u00df\u0002\u0517\u0516\u0003\u0002\u0002", - "\u0002\u0517\u0518\u0003\u0002\u0002\u0002\u0518\u051a\u0003\u0002\u0002", - "\u0002\u0519\u051b\u0007\u033e\u0002\u0002\u051a\u0519\u0003\u0002\u0002", - "\u0002\u051a\u051b\u0003\u0002\u0002\u0002\u051b\u051e\u0003\u0002\u0002", - "\u0002\u051c\u051d\t\u0004\u0002\u0002\u051d\u051f\u0005\u01c0\u00e1", - "\u0002\u051e\u051c\u0003\u0002\u0002\u0002\u051e\u051f\u0003\u0002\u0002", - "\u0002\u051f\u0521\u0003\u0002\u0002\u0002\u0520\u0522\u0005\u02d8\u016d", - "\u0002\u0521\u0520\u0003\u0002\u0002\u0002\u0521\u0522\u0003\u0002\u0002", - "\u0002\u0522\u0524\u0003\u0002\u0002\u0002\u0523\u0525\u0007\u033f\u0002", - "\u0002\u0524\u0523\u0003\u0002\u0002\u0002\u0524\u0525\u0003\u0002\u0002", - "\u0002\u0525)\u0003\u0002\u0002\u0002\u0526\u0527\u0007\u0177\u0002", - "\u0002\u0527\u0531\u0005\u02ee\u0178\u0002\u0528\u0532\u0005\b\u0005", - "\u0002\u0529\u052b\u0007!\u0002\u0002\u052a\u052c\u0007\u033f\u0002", - "\u0002\u052b\u052a\u0003\u0002\u0002\u0002\u052b\u052c\u0003\u0002\u0002", - "\u0002\u052c\u0532\u0003\u0002\u0002\u0002\u052d\u052f\u0007B\u0002", - "\u0002\u052e\u0530\u0007\u033f\u0002\u0002\u052f\u052e\u0003\u0002\u0002", - "\u0002\u052f\u0530\u0003\u0002\u0002\u0002\u0530\u0532\u0003\u0002\u0002", - "\u0002\u0531\u0528\u0003\u0002\u0002\u0002\u0531\u0529\u0003\u0002\u0002", - "\u0002\u0531\u052d\u0003\u0002\u0002\u0002\u0532+\u0003\u0002\u0002", - "\u0002\u0533\u0536\u0007\u0101\u0002\u0002\u0534\u0537\u0005\u02d8\u016d", - "\u0002\u0535\u0537\u0007\u031e\u0002\u0002\u0536\u0534\u0003\u0002\u0002", - "\u0002\u0536\u0535\u0003\u0002\u0002\u0002\u0537\u053c\u0003\u0002\u0002", - "\u0002\u0538\u0539\u0007\u033e\u0002\u0002\u0539\u053b\u0007\u0321\u0002", - "\u0002\u053a\u0538\u0003\u0002\u0002\u0002\u053b\u053e\u0003\u0002\u0002", - "\u0002\u053c\u053a\u0003\u0002\u0002\u0002\u053c\u053d\u0003\u0002\u0002", - "\u0002\u053d\u0540\u0003\u0002\u0002\u0002\u053e\u053c\u0003\u0002\u0002", - "\u0002\u053f\u0541\u0007\u033f\u0002\u0002\u0540\u053f\u0003\u0002\u0002", - "\u0002\u0540\u0541\u0003\u0002\u0002\u0002\u0541-\u0003\u0002\u0002", - "\u0002\u0542\u0543\u0007\u0108\u0002\u0002\u0543\u0544\u0007\u033c\u0002", - "\u0002\u0544\u0545\t\u0005\u0002\u0002\u0545\u0546\u0007\u033e\u0002", - "\u0002\u0546\u0547\u0005\u02d6\u016c\u0002\u0547\u0548\u0007\u033e\u0002", - "\u0002\u0548\u054d\u0005\u02d6\u016c\u0002\u0549\u054a\u0007\u033e\u0002", - "\u0002\u054a\u054c\u0005\u02d6\u016c\u0002\u054b\u0549\u0003\u0002\u0002", - "\u0002\u054c\u054f\u0003\u0002\u0002\u0002\u054d\u054b\u0003\u0002\u0002", - "\u0002\u054d\u054e\u0003\u0002\u0002\u0002\u054e\u0550\u0003\u0002\u0002", - "\u0002\u054f\u054d\u0003\u0002\u0002\u0002\u0550\u0553\u0007\u033d\u0002", - "\u0002\u0551\u0552\u0007\u0179\u0002\u0002\u0552\u0554\t\u0006\u0002", - "\u0002\u0553\u0551\u0003\u0002\u0002\u0002\u0553\u0554\u0003\u0002\u0002", - "\u0002\u0554\u0556\u0003\u0002\u0002\u0002\u0555\u0557\u0007\u033f\u0002", - "\u0002\u0556\u0555\u0003\u0002\u0002\u0002\u0556\u0557\u0003\u0002\u0002", - "\u0002\u0557\u0563\u0003\u0002\u0002\u0002\u0558\u0559\u0007\u0108\u0002", - "\u0002\u0559\u055a\u0007\u0322\u0002\u0002\u055a\u055f\t\u0007\u0002", - "\u0002\u055b\u055c\u0007\u033e\u0002\u0002\u055c\u055e\t\u0005\u0002", - "\u0002\u055d\u055b\u0003\u0002\u0002\u0002\u055e\u0561\u0003\u0002\u0002", - "\u0002\u055f\u055d\u0003\u0002\u0002\u0002\u055f\u0560\u0003\u0002\u0002", - "\u0002\u0560\u0563\u0003\u0002\u0002\u0002\u0561\u055f\u0003\u0002\u0002", - "\u0002\u0562\u0542\u0003\u0002\u0002\u0002\u0562\u0558\u0003\u0002\u0002", - "\u0002\u0563/\u0003\u0002\u0002\u0002\u0564\u0565\u0007\u033f\u0002", - "\u0002\u05651\u0003\u0002\u0002\u0002\u0566\u0577\u0005\u0262\u0132", - "\u0002\u0567\u0577\u0005\u0264\u0133\u0002\u0568\u0577\u0005\u01aa\u00d6", - "\u0002\u0569\u0577\u0005\u01a8\u00d5\u0002\u056a\u0577\u0005\u019e\u00d0", - "\u0002\u056b\u0577\u0005\u01a2\u00d2\u0002\u056c\u0577\u0005\u0278\u013d", - "\u0002\u056d\u0577\u0005\u0270\u0139\u0002\u056e\u0577\u0005\u01ac\u00d7", - "\u0002\u056f\u0577\u0005\u0280\u0141\u0002\u0570\u0577\u0005\u029c\u014f", - "\u0002\u0571\u0577\u0005\u029e\u0150\u0002\u0572\u0577\u0005\u02a2\u0152", - "\u0002\u0573\u0577\u0005\u02a4\u0153\u0002\u0574\u0577\u0005\u02a6\u0154", - "\u0002\u0575\u0577\u0005\u02a8\u0155\u0002\u0576\u0566\u0003\u0002\u0002", - "\u0002\u0576\u0567\u0003\u0002\u0002\u0002\u0576\u0568\u0003\u0002\u0002", - "\u0002\u0576\u0569\u0003\u0002\u0002\u0002\u0576\u056a\u0003\u0002\u0002", - "\u0002\u0576\u056b\u0003\u0002\u0002\u0002\u0576\u056c\u0003\u0002\u0002", - "\u0002\u0576\u056d\u0003\u0002\u0002\u0002\u0576\u056e\u0003\u0002\u0002", - "\u0002\u0576\u056f\u0003\u0002\u0002\u0002\u0576\u0570\u0003\u0002\u0002", - "\u0002\u0576\u0571\u0003\u0002\u0002\u0002\u0576\u0572\u0003\u0002\u0002", - "\u0002\u0576\u0573\u0003\u0002\u0002\u0002\u0576\u0574\u0003\u0002\u0002", - "\u0002\u0576\u0575\u0003\u0002\u0002\u0002\u05773\u0003\u0002\u0002", - "\u0002\u0578\u0579\u0007\n\u0002\u0002\u0579\u057a\u0007\u000f\u0002", - "\u0002\u057a\u057b\u0007\u0121\u0002\u0002\u057b\u057c\u0005\u03c6\u01e4", - "\u0002\u057c\u0583\u0007\u0179\u0002\u0002\u057d\u057f\u0007\u033e\u0002", - "\u0002\u057e\u057d\u0003\u0002\u0002\u0002\u057e\u057f\u0003\u0002\u0002", - "\u0002\u057f\u0580\u0003\u0002\u0002\u0002\u0580\u0581\u0007\u025d\u0002", - "\u0002\u0581\u0582\u0007\u032a\u0002\u0002\u0582\u0584\u0005\u03c6\u01e4", - "\u0002\u0583\u057e\u0003\u0002\u0002\u0002\u0583\u0584\u0003\u0002\u0002", - "\u0002\u0584\u058b\u0003\u0002\u0002\u0002\u0585\u0587\u0007\u033e\u0002", - "\u0002\u0586\u0585\u0003\u0002\u0002\u0002\u0586\u0587\u0003\u0002\u0002", - "\u0002\u0587\u0588\u0003\u0002\u0002\u0002\u0588\u0589\u0007\u00f4\u0002", - "\u0002\u0589\u058a\u0007\u032a\u0002\u0002\u058a\u058c\u0007\u0326\u0002", - "\u0002\u058b\u0586\u0003\u0002\u0002\u0002\u058b\u058c\u0003\u0002\u0002", - "\u0002\u058c\u0593\u0003\u0002\u0002\u0002\u058d\u058f\u0007\u033e\u0002", - "\u0002\u058e\u058d\u0003\u0002\u0002\u0002\u058e\u058f\u0003\u0002\u0002", - "\u0002\u058f\u0590\u0003\u0002\u0002\u0002\u0590\u0591\u0007[\u0002", - "\u0002\u0591\u0592\u0007\u032a\u0002\u0002\u0592\u0594\u0005\u03c6\u01e4", - "\u0002\u0593\u058e\u0003\u0002\u0002\u0002\u0593\u0594\u0003\u0002\u0002", - "\u0002\u05945\u0003\u0002\u0002\u0002\u0595\u0596\u0007I\u0002\u0002", - "\u0596\u0597\u0007\u000f\u0002\u0002\u0597\u0598\u0007\u0121\u0002\u0002", - "\u0598\u0599\u0005\u03c6\u01e4\u0002\u0599\u05a0\u0007\u0179\u0002\u0002", - "\u059a\u059c\u0007\u033e\u0002\u0002\u059b\u059a\u0003\u0002\u0002\u0002", - "\u059b\u059c\u0003\u0002\u0002\u0002\u059c\u059d\u0003\u0002\u0002\u0002", - "\u059d\u059e\u0007\u00f4\u0002\u0002\u059e\u059f\u0007\u032a\u0002\u0002", - "\u059f\u05a1\u0007\u0326\u0002\u0002\u05a0\u059b\u0003\u0002\u0002\u0002", - "\u05a0\u05a1\u0003\u0002\u0002\u0002\u05a1\u05a8\u0003\u0002\u0002\u0002", - "\u05a2\u05a4\u0007\u033e\u0002\u0002\u05a3\u05a2\u0003\u0002\u0002\u0002", - "\u05a3\u05a4\u0003\u0002\u0002\u0002\u05a4\u05a5\u0003\u0002\u0002\u0002", - "\u05a5\u05a6\u0007[\u0002\u0002\u05a6\u05a7\u0007\u032a\u0002\u0002", - "\u05a7\u05a9\u0005\u03c6\u01e4\u0002\u05a8\u05a3\u0003\u0002\u0002\u0002", - "\u05a8\u05a9\u0003\u0002\u0002\u0002\u05a97\u0003\u0002\u0002\u0002", - "\u05aa\u05ab\u0007g\u0002\u0002\u05ab\u05ae\u0007\u0189\u0002\u0002", - "\u05ac\u05ad\u0007\u0099\u0002\u0002\u05ad\u05af\u0007w\u0002\u0002", - "\u05ae\u05ac\u0003\u0002\u0002\u0002\u05ae\u05af\u0003\u0002\u0002\u0002", - "\u05af\u05b3\u0003\u0002\u0002\u0002\u05b0\u05b1\u0005\u03c6\u01e4\u0002", - "\u05b1\u05b2\u0007\u0337\u0002\u0002\u05b2\u05b4\u0003\u0002\u0002\u0002", - "\u05b3\u05b0\u0003\u0002\u0002\u0002\u05b3\u05b4\u0003\u0002\u0002\u0002", - "\u05b4\u05b5\u0003\u0002\u0002\u0002\u05b5\u05b6\u0005\u03c6\u01e4\u0002", - "\u05b69\u0003\u0002\u0002\u0002\u05b7\u05b8\u0007g\u0002\u0002\u05b8", - "\u05b9\u0007\u000f\u0002\u0002\u05b9\u05ba\u0007\u0121\u0002\u0002\u05ba", - "\u05bb\u0005\u03c6\u01e4\u0002\u05bb;\u0003\u0002\u0002\u0002\u05bc", - "\u05bd\u0005> \u0002\u05bd\u05be\u0005\u03c6\u01e4\u0002\u05be\u05bf", - "\u0005@!\u0002\u05bf=\u0003\u0002\u0002\u0002\u05c0\u05c1\u0007\n\u0002", - "\u0002\u05c1\u05c2\u0007\u0195\u0002\u0002\u05c2?\u0003\u0002\u0002", - "\u0002\u05c3\u05c5\u0005B\"\u0002\u05c4\u05c3\u0003\u0002\u0002\u0002", - "\u05c4\u05c5\u0003\u0002\u0002\u0002\u05c5\u05c7\u0003\u0002\u0002\u0002", - "\u05c6\u05c8\u0005X-\u0002\u05c7\u05c6\u0003\u0002\u0002\u0002\u05c7", - "\u05c8\u0003\u0002\u0002\u0002\u05c8\u05ca\u0003\u0002\u0002\u0002\u05c9", - "\u05cb\u0005F$\u0002\u05ca\u05c9\u0003\u0002\u0002\u0002\u05ca\u05cb", - "\u0003\u0002\u0002\u0002\u05cb\u05cd\u0003\u0002\u0002\u0002\u05cc\u05ce", - "\u0005L\'\u0002\u05cd\u05cc\u0003\u0002\u0002\u0002\u05cd\u05ce\u0003", - "\u0002\u0002\u0002\u05ceA\u0003\u0002\u0002\u0002\u05cf\u05d2\u0005", - "D#\u0002\u05d0\u05d3\u0005\\/\u0002\u05d1\u05d3\u0005T+\u0002\u05d2", - "\u05d0\u0003\u0002\u0002\u0002\u05d2\u05d1\u0003\u0002\u0002\u0002\u05d3", - "C\u0003\u0002\u0002\u0002\u05d4\u05d5\u0007\u008b\u0002\u0002\u05d5", - "E\u0003\u0002\u0002\u0002\u05d6\u05d7\u0005J&\u0002\u05d7\u05d8\u0005", - "H%\u0002\u05d8G\u0003\u0002\u0002\u0002\u05d9\u05dc\u0007\u0006\u0002", - "\u0002\u05da\u05dc\u0005n8\u0002\u05db\u05d9\u0003\u0002\u0002\u0002", - "\u05db\u05da\u0003\u0002\u0002\u0002\u05dcI\u0003\u0002\u0002\u0002", - "\u05dd\u05de\u0007g\u0002\u0002\u05deK\u0003\u0002\u0002\u0002\u05df", - "\u05e0\u0005N(\u0002\u05e0\u05e1\u0005P)\u0002\u05e1M\u0003\u0002\u0002", - "\u0002\u05e2\u05e3\u0007\u0004\u0002\u0002\u05e3\u05e4\u0007\u0081\u0002", - "\u0002\u05e4\u05e5\u0007\u008b\u0002\u0002\u05e5O\u0003\u0002\u0002", - "\u0002\u05e6\u05ea\u0005R*\u0002\u05e7\u05e8\u0005V,\u0002\u05e8\u05e9", - "\u0005\u03c6\u01e4\u0002\u05e9\u05eb\u0003\u0002\u0002\u0002\u05ea\u05e7", - "\u0003\u0002\u0002\u0002\u05ea\u05eb\u0003\u0002\u0002\u0002\u05ebQ", - "\u0003\u0002\u0002\u0002\u05ec\u05ed\u0007\u0326\u0002\u0002\u05edS", - "\u0003\u0002\u0002\u0002\u05ee\u05ef\u0005V,\u0002\u05ef\u05f0\u0005", - "\u03c6\u01e4\u0002\u05f0U\u0003\u0002\u0002\u0002\u05f1\u05f2\u0007", - "\u0010\u0002\u0002\u05f2W\u0003\u0002\u0002\u0002\u05f3\u05f4\u0005", - "Z.\u0002\u05f4\u05f5\u0005^0\u0002\u05f5Y\u0003\u0002\u0002\u0002\u05f6", - "\u05f7\u0007\u0179\u0002\u0002\u05f7[\u0003\u0002\u0002\u0002\u05f8", - "\u05fc\u0005`1\u0002\u05f9\u05fc\u0005j6\u0002\u05fa\u05fc\u0007\u0326", - "\u0002\u0002\u05fb\u05f8\u0003\u0002\u0002\u0002\u05fb\u05f9\u0003\u0002", - "\u0002\u0002\u05fb\u05fa\u0003\u0002\u0002\u0002\u05fc]\u0003\u0002", - "\u0002\u0002\u05fd\u05fe\b0\u0001\u0002\u05fe\u05ff\u0007\u00f6\u0002", - "\u0002\u05ff\u0600\u0007\u032a\u0002\u0002\u0600\u0607\t\b\u0002\u0002", - "\u0601\u0602\u0007\u0173\u0002\u0002\u0602\u0603\u0007\u032a\u0002\u0002", - "\u0603\u0607\t\t\u0002\u0002\u0604\u0605\u0007\u0163\u0002\u0002\u0605", - "\u0607\u0007\u01c8\u0002\u0002\u0606\u05fd\u0003\u0002\u0002\u0002\u0606", - "\u0601\u0003\u0002\u0002\u0002\u0606\u0604\u0003\u0002\u0002\u0002\u0607", - "\u060c\u0003\u0002\u0002\u0002\u0608\u0609\f\u0003\u0002\u0002\u0609", - "\u060b\u0007\u033e\u0002\u0002\u060a\u0608\u0003\u0002\u0002\u0002\u060b", - "\u060e\u0003\u0002\u0002\u0002\u060c\u060a\u0003\u0002\u0002\u0002\u060c", - "\u060d\u0003\u0002\u0002\u0002\u060d_\u0003\u0002\u0002\u0002\u060e", - "\u060c\u0003\u0002\u0002\u0002\u060f\u0610\u0005d3\u0002\u0610\u0611", - "\u0005b2\u0002\u0611\u0612\u0005f4\u0002\u0612a\u0003\u0002\u0002\u0002", - "\u0613\u0614\u0005\u03c6\u01e4\u0002\u0614c\u0003\u0002\u0002\u0002", - "\u0615\u0616\u0007e\u0002\u0002\u0616e\u0003\u0002\u0002\u0002\u0617", - "\u0618\u0005h5\u0002\u0618\u0619\u0005f4\u0002\u0619\u061c\u0003\u0002", - "\u0002\u0002\u061a\u061c\u0005\u03c6\u01e4\u0002\u061b\u0617\u0003\u0002", - "\u0002\u0002\u061b\u061a\u0003\u0002\u0002\u0002\u061cg\u0003\u0002", - "\u0002\u0002\u061d\u061e\u0007\u0019\u0002\u0002\u061ei\u0003\u0002", - "\u0002\u0002\u061f\u0620\u0005l7\u0002\u0620\u0621\u0005f4\u0002\u0621", - "k\u0003\u0002\u0002\u0002\u0622\u0623\u0007\u01e3\u0002\u0002\u0623", - "m\u0003\u0002\u0002\u0002\u0624\u0625\u0005p9\u0002\u0625\u0626\u0005", - "j6\u0002\u0626\u0627\u0007\u031f\u0002\u0002\u0627\u0628\u0007\u033e", - "\u0002\u0002\u0628\u062b\u0003\u0002\u0002\u0002\u0629\u062b\u0005j", - "6\u0002\u062a\u0624\u0003\u0002\u0002\u0002\u062a\u0629\u0003\u0002", - "\u0002\u0002\u062bo\u0003\u0002\u0002\u0002\u062c\u062d\u0007\u031f", - "\u0002\u0002\u062dq\u0003\u0002\u0002\u0002\u062e\u062f\u0007I\u0002", - "\u0002\u062f\u0630\u0007\u0195\u0002\u0002\u0630\u0633\u0005\u03c6\u01e4", - "\u0002\u0631\u0632\u0007\u0014\u0002\u0002\u0632\u0634\u0005\u03c6\u01e4", - "\u0002\u0633\u0631\u0003\u0002\u0002\u0002\u0633\u0634\u0003\u0002\u0002", - "\u0002\u0634\u0635\u0003\u0002\u0002\u0002\u0635\u063a\u0007\u008b\u0002", - "\u0002\u0636\u0638\u0007\u033e\u0002\u0002\u0637\u0636\u0003\u0002\u0002", - "\u0002\u0637\u0638\u0003\u0002\u0002\u0002\u0638\u0639\u0003\u0002\u0002", - "\u0002\u0639\u063b\t\n\u0002\u0002\u063a\u0637\u0003\u0002\u0002\u0002", - "\u063b\u063c\u0003\u0002\u0002\u0002\u063c\u063a\u0003\u0002\u0002\u0002", - "\u063c\u063d\u0003\u0002\u0002\u0002\u063d\u0642\u0003\u0002\u0002\u0002", - "\u063e\u063f\u0007\u0179\u0002\u0002\u063f\u0640\u0007\u00f6\u0002\u0002", - "\u0640\u0641\u0007\u032a\u0002\u0002\u0641\u0643\t\b\u0002\u0002\u0642", - "\u063e\u0003\u0002\u0002\u0002\u0642\u0643\u0003\u0002\u0002\u0002\u0643", - "s\u0003\u0002\u0002\u0002\u0644\u0645\u0007g\u0002\u0002\u0645\u0648", - "\u0007\u0195\u0002\u0002\u0646\u0647\u0007\u0099\u0002\u0002\u0647\u0649", - "\u0007w\u0002\u0002\u0648\u0646\u0003\u0002\u0002\u0002\u0648\u0649", - "\u0003\u0002\u0002\u0002\u0649\u064e\u0003\u0002\u0002\u0002\u064a\u064c", - "\u0007\u033e\u0002\u0002\u064b\u064a\u0003\u0002\u0002\u0002\u064b\u064c", - "\u0003\u0002\u0002\u0002\u064c\u064d\u0003\u0002\u0002\u0002\u064d\u064f", - "\u0005\u03c6\u01e4\u0002\u064e\u064b\u0003\u0002\u0002\u0002\u064f\u0650", - "\u0003\u0002\u0002\u0002\u0650\u064e\u0003\u0002\u0002\u0002\u0650\u0651", - "\u0003\u0002\u0002\u0002\u0651\u0655\u0003\u0002\u0002\u0002\u0652\u0653", - "\u0007\u0179\u0002\u0002\u0653\u0654\u0007\u0263\u0002\u0002\u0654\u0656", - "\u0007\u01d9\u0002\u0002\u0655\u0652\u0003\u0002\u0002\u0002\u0655\u0656", - "\u0003\u0002\u0002\u0002\u0656u\u0003\u0002\u0002\u0002\u0657\u0658", - "\u0005x=\u0002\u0658\u065d\u0005\u03c6\u01e4\u0002\u0659\u065e\u0005", - "z>\u0002\u065a\u065b\u0007\u02a9\u0002\u0002\u065b\u065c\u0007\u028c", - "\u0002\u0002\u065c\u065e\u0007\u00ac\u0002\u0002\u065d\u0659\u0003\u0002", - "\u0002\u0002\u065d\u065a\u0003\u0002\u0002\u0002\u065ew\u0003\u0002", - "\u0002\u0002\u065f\u0660\u0007\n\u0002\u0002\u0660\u0661\u0007\u0012", - "\u0002\u0002\u0661\u0662\u0007\u00ac\u0002\u0002\u0662y\u0003\u0002", - "\u0002\u0002\u0663\u0664\u0005|?\u0002\u0664\u0667\u0005~@\u0002\u0665", - "\u0666\u0007\u033e\u0002\u0002\u0666\u0668\u0005~@\u0002\u0667\u0665", - "\u0003\u0002\u0002\u0002\u0667\u0668\u0003\u0002\u0002\u0002\u0668\u0669", - "\u0003\u0002\u0002\u0002\u0669\u066a\u0007\u033d\u0002\u0002\u066a{", - "\u0003\u0002\u0002\u0002\u066b\u066c\u0007\u0179\u0002\u0002\u066c\u066d", - "\u0007\u028c\u0002\u0002\u066d\u066e\u0007\u00ac\u0002\u0002\u066e\u066f", - "\u0007\u033c\u0002\u0002\u066f}\u0003\u0002\u0002\u0002\u0670\u0671", - "\u0007\u01d1\u0002\u0002\u0671\u0672\u0007&\u0002\u0002\u0672\u0673", - "\u0007\u00f4\u0002\u0002\u0673\u0674\u0007\u032a\u0002\u0002\u0674\u067b", - "\u0007\u0326\u0002\u0002\u0675\u0676\u0007\u01ec\u0002\u0002\u0676\u0677", - "\u0007&\u0002\u0002\u0677\u0678\u0007\u00f4\u0002\u0002\u0678\u0679", - "\u0007\u032a\u0002\u0002\u0679\u067b\u0007\u0326\u0002\u0002\u067a\u0670", - "\u0003\u0002\u0002\u0002\u067a\u0675\u0003\u0002\u0002\u0002\u067b\u007f", - "\u0003\u0002\u0002\u0002\u067c\u067d\u0007I\u0002\u0002\u067d\u067e", - "\u0007\u0012\u0002\u0002\u067e\u067f\u0007\u00ac\u0002\u0002\u067f\u0682", - "\u0005\u03c6\u01e4\u0002\u0680\u0681\u0007\u0014\u0002\u0002\u0681\u0683", - "\u0005\u03c6\u01e4\u0002\u0682\u0680\u0003\u0002\u0002\u0002\u0682\u0683", - "\u0003\u0002\u0002\u0002\u0683\u0691\u0003\u0002\u0002\u0002\u0684\u068f", - "\u0007\u008b\u0002\u0002\u0685\u0686\u0007\u0081\u0002\u0002\u0686\u0687", - "\u0007\u032a\u0002\u0002\u0687\u0690\u0007\u0326\u0002\u0002\u0688\u0689", - "\u0007u\u0002\u0002\u0689\u068a\u0007\u032a\u0002\u0002\u068a\u0690", - "\u0007\u0326\u0002\u0002\u068b\u068c\u0007\u0195\u0002\u0002\u068c\u0690", - "\u0005\u03c6\u01e4\u0002\u068d\u068e\u0007\u0291\u0002\u0002\u068e\u0690", - "\u0005\u03c6\u01e4\u0002\u068f\u0685\u0003\u0002\u0002\u0002\u068f\u0688", - "\u0003\u0002\u0002\u0002\u068f\u068b\u0003\u0002\u0002\u0002\u068f\u068d", - "\u0003\u0002\u0002\u0002\u0690\u0692\u0003\u0002\u0002\u0002\u0691\u0684", - "\u0003\u0002\u0002\u0002\u0691\u0692\u0003\u0002\u0002\u0002\u0692\u069f", - "\u0003\u0002\u0002\u0002\u0693\u069d\u0007\u0179\u0002\u0002\u0694\u0695", - "\u0007\u018a\u0002\u0002\u0695\u0696\u0007\u032a\u0002\u0002\u0696\u069e", - "\t\u000b\u0002\u0002\u0697\u0698\u0007\u0292\u0002\u0002\u0698\u0699", - "\u0007\u032a\u0002\u0002\u0699\u069e\u0007\u0326\u0002\u0002\u069a\u069b", - "\u0007\u01c3\u0002\u0002\u069b\u069c\u0007\u032a\u0002\u0002\u069c\u069e", - "\t\f\u0002\u0002\u069d\u0694\u0003\u0002\u0002\u0002\u069d\u0697\u0003", - "\u0002\u0002\u0002\u069d\u069a\u0003\u0002\u0002\u0002\u069e\u06a0\u0003", - "\u0002\u0002\u0002\u069f\u0693\u0003\u0002\u0002\u0002\u069f\u06a0\u0003", - "\u0002\u0002\u0002\u06a0\u06a6\u0003\u0002\u0002\u0002\u06a1\u06a2\u0007", - "\u01ec\u0002\u0002\u06a2\u06a3\u0007&\u0002\u0002\u06a3\u06a4\u0007", - "\u00f4\u0002\u0002\u06a4\u06a5\u0007\u032a\u0002\u0002\u06a5\u06a7\u0007", - "\u0326\u0002\u0002\u06a6\u06a1\u0003\u0002\u0002\u0002\u06a6\u06a7\u0003", - "\u0002\u0002\u0002\u06a7\u0081\u0003\u0002\u0002\u0002\u06a8\u06a9\u0007", - "g\u0002\u0002\u06a9\u06aa\u0007\u0012\u0002\u0002\u06aa\u06ab\u0007", - "\u00ac\u0002\u0002\u06ab\u06af\u0005\u03c6\u01e4\u0002\u06ac\u06ad\u0007", - "\u02a9\u0002\u0002\u06ad\u06ae\u0007\u0291\u0002\u0002\u06ae\u06b0\u0007", - "\u00ac\u0002\u0002\u06af\u06ac\u0003\u0002\u0002\u0002\u06af\u06b0\u0003", - "\u0002\u0002\u0002\u06b0\u0083\u0003\u0002\u0002\u0002\u06b1\u06b5\u0005", - "\u008cG\u0002\u06b2\u06b3\u0005\u0094K\u0002\u06b3\u06b4\u0005\u008a", - "F\u0002\u06b4\u06b6\u0003\u0002\u0002\u0002\u06b5\u06b2\u0003\u0002", - "\u0002\u0002\u06b5\u06b6\u0003\u0002\u0002\u0002\u06b6\u06b7\u0003\u0002", - "\u0002\u0002\u06b7\u06b8\u0005\u0386\u01c4\u0002\u06b8\u06b9\u0005\u0088", - "E\u0002\u06b9\u06ba\u0005\u0086D\u0002\u06ba\u0085\u0003\u0002\u0002", - "\u0002\u06bb\u06bf\u0005\u03c6\u01e4\u0002\u06bc\u06bd\u0007\u012e\u0002", - "\u0002\u06bd\u06bf\u0007\u027d\u0002\u0002\u06be\u06bb\u0003\u0002\u0002", - "\u0002\u06be\u06bc\u0003\u0002\u0002\u0002\u06bf\u0087\u0003\u0002\u0002", - "\u0002\u06c0\u06c1\u0007\u015a\u0002\u0002\u06c1\u0089\u0003\u0002\u0002", - "\u0002\u06c2\u06c3\u0007\u0340\u0002\u0002\u06c3\u06c4\u0007\u0340\u0002", - "\u0002\u06c4\u008b\u0003\u0002\u0002\u0002\u06c5\u06c6\u0007\n\u0002", - "\u0002\u06c6\u06c7\u0007\u0014\u0002\u0002\u06c7\u06c8\u0007\u00e5\u0002", - "\u0002\u06c8\u008d\u0003\u0002\u0002\u0002\u06c9\u06cd\u0005\u008cG", - "\u0002\u06ca\u06cb\u0005\u0096L\u0002\u06cb\u06cc\u0005\u008aF\u0002", - "\u06cc\u06ce\u0003\u0002\u0002\u0002\u06cd\u06ca\u0003\u0002\u0002\u0002", - "\u06cd\u06ce\u0003\u0002\u0002\u0002\u06ce\u06cf\u0003\u0002\u0002\u0002", - "\u06cf\u06d0\u0005\u0386\u01c4\u0002\u06d0\u06d1\u0005\u0088E\u0002", - "\u06d1\u06d2\u0005\u0086D\u0002\u06d2\u008f\u0003\u0002\u0002\u0002", - "\u06d3\u06d7\u0005\u008cG\u0002\u06d4\u06d5\u0005\u0098M\u0002\u06d5", - "\u06d6\u0005\u008aF\u0002\u06d6\u06d8\u0003\u0002\u0002\u0002\u06d7", - "\u06d4\u0003\u0002\u0002\u0002\u06d7\u06d8\u0003\u0002\u0002\u0002\u06d8", - "\u06d9\u0003\u0002\u0002\u0002\u06d9\u06da\u0005\u0388\u01c5\u0002\u06da", - "\u06db\u0005\u0088E\u0002\u06db\u06dc\u0005\u0086D\u0002\u06dc\u0091", - "\u0003\u0002\u0002\u0002\u06dd\u06e1\u0005\u008cG\u0002\u06de\u06df", - "\u0005\u009aN\u0002\u06df\u06e0\u0005\u008aF\u0002\u06e0\u06e2\u0003", - "\u0002\u0002\u0002\u06e1\u06de\u0003\u0002\u0002\u0002\u06e1\u06e2\u0003", - "\u0002\u0002\u0002\u06e2\u06e3\u0003\u0002\u0002\u0002\u06e3\u06e4\u0005", - "\u038a\u01c6\u0002\u06e4\u06e5\u0005\u0088E\u0002\u06e5\u06e6\u0005", - "\u0086D\u0002\u06e6\u0093\u0003\u0002\u0002\u0002\u06e7\u070a\u0007", - "\u0271\u0002\u0002\u06e8\u070a\u0007\u0195\u0002\u0002\u06e9\u06ea\u0007", - "\u0012\u0002\u0002\u06ea\u070a\u0007\u00ac\u0002\u0002\u06eb\u06ec\u0007", - "\u019f\u0002\u0002\u06ec\u070a\u0007\u0092\u0002\u0002\u06ed\u070a\u0007", - "+\u0002\u0002\u06ee\u070a\u0007D\u0002\u0002\u06ef\u070a\u0007\u0301", - "\u0002\u0002\u06f0\u070a\u0007T\u0002\u0002\u06f1\u070a\u0007m\u0002", - "\u0002\u06f2\u06f3\u0007\u0209\u0002\u0002\u06f3\u070a\u0007\u01ae\u0002", - "\u0002\u06f4\u06f5\u0007\u0209\u0002\u0002\u06f5\u070a\u0007\u02e4\u0002", - "\u0002\u06f6\u06f7\u0007\u0250\u0002\u0002\u06f7\u070a\u0007\u0301\u0002", - "\u0002\u06f8\u06f9\u0007\u02a7\u0002\u0002\u06f9\u06fa\u0007\u0136\u0002", - "\u0002\u06fa\u070a\u0007\u01a6\u0002\u0002\u06fb\u070a\u0007\u0121\u0002", - "\u0002\u06fc\u070a\u0007\u02b8\u0002\u0002\u06fd\u070a\u0007\u012e\u0002", - "\u0002\u06fe\u06ff\u0007\u02c2\u0002\u0002\u06ff\u0700\u0007\u0290\u0002", - "\u0002\u0700\u070a\u0007\u0233\u0002\u0002\u0701\u0702\u0007\u0135\u0002", - "\u0002\u0702\u070a\u0007\u0121\u0002\u0002\u0703\u070a\u0007\u0136\u0002", - "\u0002\u0704\u0705\u0007\u02eb\u0002\u0002\u0705\u070a\u0007\u00ac\u0002", - "\u0002\u0706\u0707\u0007\u0315\u0002\u0002\u0707\u0708\u0007\u012e\u0002", - "\u0002\u0708\u070a\u0007\u01b5\u0002\u0002\u0709\u06e7\u0003\u0002\u0002", - "\u0002\u0709\u06e8\u0003\u0002\u0002\u0002\u0709\u06e9\u0003\u0002\u0002", - "\u0002\u0709\u06eb\u0003\u0002\u0002\u0002\u0709\u06ed\u0003\u0002\u0002", - "\u0002\u0709\u06ee\u0003\u0002\u0002\u0002\u0709\u06ef\u0003\u0002\u0002", - "\u0002\u0709\u06f0\u0003\u0002\u0002\u0002\u0709\u06f1\u0003\u0002\u0002", - "\u0002\u0709\u06f2\u0003\u0002\u0002\u0002\u0709\u06f4\u0003\u0002\u0002", - "\u0002\u0709\u06f6\u0003\u0002\u0002\u0002\u0709\u06f8\u0003\u0002\u0002", - "\u0002\u0709\u06fb\u0003\u0002\u0002\u0002\u0709\u06fc\u0003\u0002\u0002", - "\u0002\u0709\u06fd\u0003\u0002\u0002\u0002\u0709\u06fe\u0003\u0002\u0002", - "\u0002\u0709\u0701\u0003\u0002\u0002\u0002\u0709\u0703\u0003\u0002\u0002", - "\u0002\u0709\u0704\u0003\u0002\u0002\u0002\u0709\u0706\u0003\u0002\u0002", - "\u0002\u070a\u0095\u0003\u0002\u0002\u0002\u070b\u0721\u0007\u0271\u0002", - "\u0002\u070c\u0721\u0007\u0195\u0002\u0002\u070d\u070e\u0007\u0012\u0002", - "\u0002\u070e\u0721\u0007\u00ac\u0002\u0002\u070f\u0721\u0007+\u0002", - "\u0002\u0710\u0721\u0007\u0301\u0002\u0002\u0711\u0721\u0007T\u0002", - "\u0002\u0712\u0713\u0007\u0209\u0002\u0002\u0713\u0721\u0007\u01ae\u0002", - "\u0002\u0714\u0715\u0007\u0209\u0002\u0002\u0715\u0721\u0007\u02e4\u0002", - "\u0002\u0716\u0721\u0007\u0121\u0002\u0002\u0717\u0721\u0007\u012e\u0002", - "\u0002\u0718\u0719\u0007\u02c2\u0002\u0002\u0719\u071a\u0007\u0290\u0002", - "\u0002\u071a\u0721\u0007\u0233\u0002\u0002\u071b\u071c\u0007\u02eb\u0002", - "\u0002\u071c\u0721\u0007\u00ac\u0002\u0002\u071d\u071e\u0007\u0315\u0002", - "\u0002\u071e\u071f\u0007\u012e\u0002\u0002\u071f\u0721\u0007\u01b5\u0002", - "\u0002\u0720\u070b\u0003\u0002\u0002\u0002\u0720\u070c\u0003\u0002\u0002", - "\u0002\u0720\u070d\u0003\u0002\u0002\u0002\u0720\u070f\u0003\u0002\u0002", - "\u0002\u0720\u0710\u0003\u0002\u0002\u0002\u0720\u0711\u0003\u0002\u0002", - "\u0002\u0720\u0712\u0003\u0002\u0002\u0002\u0720\u0714\u0003\u0002\u0002", - "\u0002\u0720\u0716\u0003\u0002\u0002\u0002\u0720\u0717\u0003\u0002\u0002", - "\u0002\u0720\u0718\u0003\u0002\u0002\u0002\u0720\u071b\u0003\u0002\u0002", - "\u0002\u0720\u071d\u0003\u0002\u0002\u0002\u0721\u0097\u0003\u0002\u0002", - "\u0002\u0722\u0723\t\r\u0002\u0002\u0723\u0099\u0003\u0002\u0002\u0002", - "\u0724\u0725\t\u000e\u0002\u0002\u0725\u009b\u0003\u0002\u0002\u0002", - "\u0726\u0727\u0007g\u0002\u0002\u0727\u0728\u0007\u019f\u0002\u0002", - "\u0728\u0729\u0007\u0092\u0002\u0002\u0729\u072a\u0005\u03c6\u01e4\u0002", - "\u072a\u009d\u0003\u0002\u0002\u0002\u072b\u072c\u0005\u00a0Q\u0002", - "\u072c\u072d\u0005\u00a2R\u0002\u072d\u009f\u0003\u0002\u0002\u0002", - "\u072e\u072f\u0007\n\u0002\u0002\u072f\u0730\u0007\u019f\u0002\u0002", - "\u0730\u0731\u0007\u0092\u0002\u0002\u0731\u0732\u0005\u03c6\u01e4\u0002", - "\u0732\u00a1\u0003\u0002\u0002\u0002\u0733\u0734\u0007\u013b\u0002\u0002", - "\u0734\u0744\u0007\u033c\u0002\u0002\u0735\u0736\u0007\u0016\u0002\u0002", - "\u0736\u0737\u0007\u032a\u0002\u0002\u0737\u0745\t\u000f\u0002\u0002", - "\u0738\u0739\u0007\u01f8\u0002\u0002\u0739\u073a\u0007\u032a\u0002\u0002", - "\u073a\u0745\u0007\u0322\u0002\u0002\u073b\u073c\u0007\u0214\u0002\u0002", - "\u073c\u073d\u0007\u032a\u0002\u0002\u073d\u0745\u0007\u0322\u0002\u0002", - "\u073e\u073f\u0007\u01d0\u0002\u0002\u073f\u0740\u0007\u032a\u0002\u0002", - "\u0740\u0745\t\t\u0002\u0002\u0741\u0742\u0007\u02b0\u0002\u0002\u0742", - "\u0743\u0007\u032a\u0002\u0002\u0743\u0745\u0007\u0322\u0002\u0002\u0744", - "\u0735\u0003\u0002\u0002\u0002\u0744\u0738\u0003\u0002\u0002\u0002\u0744", - "\u073b\u0003\u0002\u0002\u0002\u0744\u073e\u0003\u0002\u0002\u0002\u0744", - "\u0741\u0003\u0002\u0002\u0002\u0745\u0746\u0003\u0002\u0002\u0002\u0746", - "\u0892\u0007\u033d\u0002\u0002\u0747\u0748\u0007\u0004\u0002\u0002\u0748", - "\u0749\u0007T\u0002\u0002\u0749\u0892\u0005\u03c6\u01e4\u0002\u074a", - "\u074b\u0007\u02a9\u0002\u0002\u074b\u074c\u0007T\u0002\u0002\u074c", - "\u0892\u0005\u03c6\u01e4\u0002\u074d\u074e\u0007\u0004\u0002\u0002\u074e", - "\u074f\u0007\u02ac\u0002\u0002\u074f\u0750\u0007\u00e5\u0002\u0002\u0750", - "\u0751\u0007\u0326\u0002\u0002\u0751\u0752\u0007\u0179\u0002\u0002\u0752", - "\u0756\u0007\u033c\u0002\u0002\u0753\u0754\u0007\u01ed\u0002\u0002\u0754", - "\u0755\u0007\u032a\u0002\u0002\u0755\u0757\u0007\u0326\u0002\u0002\u0756", - "\u0753\u0003\u0002\u0002\u0002\u0756\u0757\u0003\u0002\u0002\u0002\u0757", - "\u075e\u0003\u0002\u0002\u0002\u0758\u075a\u0007\u033e\u0002\u0002\u0759", - "\u0758\u0003\u0002\u0002\u0002\u0759\u075a\u0003\u0002\u0002\u0002\u075a", - "\u075b\u0003\u0002\u0002\u0002\u075b\u075c\u0007\u0018\u0002\u0002\u075c", - "\u075d\u0007\u032a\u0002\u0002\u075d\u075f\t\u0010\u0002\u0002\u075e", - "\u0759\u0003\u0002\u0002\u0002\u075e\u075f\u0003\u0002\u0002\u0002\u075f", - "\u0766\u0003\u0002\u0002\u0002\u0760\u0762\u0007\u033e\u0002\u0002\u0761", - "\u0760\u0003\u0002\u0002\u0002\u0761\u0762\u0003\u0002\u0002\u0002\u0762", - "\u0763\u0003\u0002\u0002\u0002\u0763\u0764\u0007\u01f6\u0002\u0002\u0764", - "\u0765\u0007\u032a\u0002\u0002\u0765\u0767\t\u0011\u0002\u0002\u0766", - "\u0761\u0003\u0002\u0002\u0002\u0766\u0767\u0003\u0002\u0002\u0002\u0767", - "\u076e\u0003\u0002\u0002\u0002\u0768\u076a\u0007\u033e\u0002\u0002\u0769", - "\u0768\u0003\u0002\u0002\u0002\u0769\u076a\u0003\u0002\u0002\u0002\u076a", - "\u076b\u0003\u0002\u0002\u0002\u076b\u076c\u0007\u02ca\u0002\u0002\u076c", - "\u076d\u0007\u032a\u0002\u0002\u076d\u076f\t\u0011\u0002\u0002\u076e", - "\u0769\u0003\u0002\u0002\u0002\u076e\u076f\u0003\u0002\u0002\u0002\u076f", - "\u0776\u0003\u0002\u0002\u0002\u0770\u0772\u0007\u033e\u0002\u0002\u0771", - "\u0770\u0003\u0002\u0002\u0002\u0771\u0772\u0003\u0002\u0002\u0002\u0772", - "\u0773\u0003\u0002\u0002\u0002\u0773\u0774\u0007\u01a1\u0002\u0002\u0774", - "\u0775\u0007\u032a\u0002\u0002\u0775\u0777\u0007\u0322\u0002\u0002\u0776", - "\u0771\u0003\u0002\u0002\u0002\u0776\u0777\u0003\u0002\u0002\u0002\u0777", - "\u0781\u0003\u0002\u0002\u0002\u0778\u077a\u0007\u033e\u0002\u0002\u0779", - "\u0778\u0003\u0002\u0002\u0002\u0779\u077a\u0003\u0002\u0002\u0002\u077a", - "\u077b\u0003\u0002\u0002\u0002\u077b\u077c\u0007\u0288\u0002\u0002\u077c", - "\u077d\u0007\u033c\u0002\u0002\u077d\u077e\u0007\u0007\u0002\u0002\u077e", - "\u077f\u0007\u032a\u0002\u0002\u077f\u0780\t\u0012\u0002\u0002\u0780", - "\u0782\u0007\u033d\u0002\u0002\u0781\u0779\u0003\u0002\u0002\u0002\u0781", - "\u0782\u0003\u0002\u0002\u0002\u0782\u078c\u0003\u0002\u0002\u0002\u0783", - "\u0785\u0007\u033e\u0002\u0002\u0784\u0783\u0003\u0002\u0002\u0002\u0784", - "\u0785\u0003\u0002\u0002\u0002\u0785\u0786\u0003\u0002\u0002\u0002\u0786", - "\u0787\u0007\u02c5\u0002\u0002\u0787\u0788\u0007\u033c\u0002\u0002\u0788", - "\u0789\u0007\u0007\u0002\u0002\u0789\u078a\u0007\u032a\u0002\u0002\u078a", - "\u078b\u0007\u029d\u0002\u0002\u078b\u078d\u0007\u033d\u0002\u0002\u078c", - "\u0784\u0003\u0002\u0002\u0002\u078c\u078d\u0003\u0002\u0002\u0002\u078d", - "\u078e\u0003\u0002\u0002\u0002\u078e\u0892\u0007\u033d\u0002\u0002\u078f", - "\u0790\u0007\u02c5\u0002\u0002\u0790\u0799\u0007\u033c\u0002\u0002\u0791", - "\u0792\u0007\u0007\u0002\u0002\u0792\u0793\u0007\u032a\u0002\u0002\u0793", - "\u079a\t\u0013\u0002\u0002\u0794\u0795\u0007\u029e\u0002\u0002\u0795", - "\u0796\u0007\u032a\u0002\u0002\u0796\u0797\u0007\u033c\u0002\u0002\u0797", - "\u0798\u0007\u0326\u0002\u0002\u0798\u079a\u0007\u033d\u0002\u0002\u0799", - "\u0791\u0003\u0002\u0002\u0002\u0799\u0794\u0003\u0002\u0002\u0002\u079a", - "\u0892\u0003\u0002\u0002\u0002\u079b\u079c\u0007\u0288\u0002\u0002\u079c", - "\u07b3\u0007\u033c\u0002\u0002\u079d\u079e\u0007\u0007\u0002\u0002\u079e", - "\u079f\u0007\u032a\u0002\u0002\u079f\u07b4\t\u0013\u0002\u0002\u07a0", - "\u07a1\u0007\u029e\u0002\u0002\u07a1\u07a2\u0007\u032a\u0002\u0002\u07a2", - "\u07ad\u0007\u033c\u0002\u0002\u07a3\u07a5\u0007\u033e\u0002\u0002\u07a4", - "\u07a3\u0003\u0002\u0002\u0002\u07a4\u07a5\u0003\u0002\u0002\u0002\u07a5", - "\u07a6\u0003\u0002\u0002\u0002\u07a6\u07a8\u0007\u0326\u0002\u0002\u07a7", - "\u07a4\u0003\u0002\u0002\u0002\u07a8\u07ab\u0003\u0002\u0002\u0002\u07a9", - "\u07a7\u0003\u0002\u0002\u0002\u07a9\u07aa\u0003\u0002\u0002\u0002\u07aa", - "\u07ae\u0003\u0002\u0002\u0002\u07ab\u07a9\u0003\u0002\u0002\u0002\u07ac", - "\u07ae\u0007\u00d5\u0002\u0002\u07ad\u07a9\u0003\u0002\u0002\u0002\u07ad", - "\u07ac\u0003\u0002\u0002\u0002\u07ae\u07af\u0003\u0002\u0002\u0002\u07af", - "\u07b4\u0007\u033d\u0002\u0002\u07b0\u07b1\u0007\u02d1\u0002\u0002\u07b1", - "\u07b2\u0007\u032a\u0002\u0002\u07b2\u07b4\u0007\u0322\u0002\u0002\u07b3", - "\u079d\u0003\u0002\u0002\u0002\u07b3\u07a0\u0003\u0002\u0002\u0002\u07b3", - "\u07b0\u0003\u0002\u0002\u0002\u07b4\u0892\u0003\u0002\u0002\u0002\u07b5", - "\u07b6\u0007\u025a\u0002\u0002\u07b6\u07b7\u0007\u02ac\u0002\u0002\u07b7", - "\u07b8\u0007\u00e5\u0002\u0002\u07b8\u07f2\u0007\u0326\u0002\u0002\u07b9", - "\u07ba\u0007\u0179\u0002\u0002\u07ba\u07ca\u0007\u033c\u0002\u0002\u07bb", - "\u07bc\u0007\u01ed\u0002\u0002\u07bc\u07bd\u0007\u032a\u0002\u0002\u07bd", - "\u07cb\u0007\u0326\u0002\u0002\u07be\u07bf\u0007\u0018\u0002\u0002\u07bf", - "\u07c0\u0007\u032a\u0002\u0002\u07c0\u07cb\t\u0010\u0002\u0002\u07c1", - "\u07c2\u0007\u01f6\u0002\u0002\u07c2\u07c3\u0007\u032a\u0002\u0002\u07c3", - "\u07cb\t\u0011\u0002\u0002\u07c4\u07c5\u0007\u02ca\u0002\u0002\u07c5", - "\u07c6\u0007\u032a\u0002\u0002\u07c6\u07cb\t\u0011\u0002\u0002\u07c7", - "\u07c8\u0007\u01a1\u0002\u0002\u07c8\u07c9\u0007\u032a\u0002\u0002\u07c9", - "\u07cb\u0007\u0322\u0002\u0002\u07ca\u07bb\u0003\u0002\u0002\u0002\u07ca", - "\u07be\u0003\u0002\u0002\u0002\u07ca\u07c1\u0003\u0002\u0002\u0002\u07ca", - "\u07c4\u0003\u0002\u0002\u0002\u07ca\u07c7\u0003\u0002\u0002\u0002\u07cb", - "\u07f3\u0003\u0002\u0002\u0002\u07cc\u07cd\u0007\u02c5\u0002\u0002\u07cd", - "\u07d6\u0007\u033c\u0002\u0002\u07ce\u07cf\u0007\u0007\u0002\u0002\u07cf", - "\u07d0\u0007\u032a\u0002\u0002\u07d0\u07d7\t\u0013\u0002\u0002\u07d1", - "\u07d2\u0007\u029e\u0002\u0002\u07d2\u07d3\u0007\u032a\u0002\u0002\u07d3", - "\u07d4\u0007\u033c\u0002\u0002\u07d4\u07d5\u0007\u0326\u0002\u0002\u07d5", - "\u07d7\u0007\u033d\u0002\u0002\u07d6\u07ce\u0003\u0002\u0002\u0002\u07d6", - "\u07d1\u0003\u0002\u0002\u0002\u07d7\u07f3\u0003\u0002\u0002\u0002\u07d8", - "\u07d9\u0007\u0288\u0002\u0002\u07d9\u07f0\u0007\u033c\u0002\u0002\u07da", - "\u07db\u0007\u0007\u0002\u0002\u07db\u07dc\u0007\u032a\u0002\u0002\u07dc", - "\u07f1\t\u0013\u0002\u0002\u07dd\u07de\u0007\u029e\u0002\u0002\u07de", - "\u07df\u0007\u032a\u0002\u0002\u07df\u07ea\u0007\u033c\u0002\u0002\u07e0", - "\u07e2\u0007\u033e\u0002\u0002\u07e1\u07e0\u0003\u0002\u0002\u0002\u07e1", - "\u07e2\u0003\u0002\u0002\u0002\u07e2\u07e3\u0003\u0002\u0002\u0002\u07e3", - "\u07e5\u0007\u0326\u0002\u0002\u07e4\u07e1\u0003\u0002\u0002\u0002\u07e5", - "\u07e8\u0003\u0002\u0002\u0002\u07e6\u07e4\u0003\u0002\u0002\u0002\u07e6", - "\u07e7\u0003\u0002\u0002\u0002\u07e7\u07eb\u0003\u0002\u0002\u0002\u07e8", - "\u07e6\u0003\u0002\u0002\u0002\u07e9\u07eb\u0007\u00d5\u0002\u0002\u07ea", - "\u07e6\u0003\u0002\u0002\u0002\u07ea\u07e9\u0003\u0002\u0002\u0002\u07eb", - "\u07ec\u0003\u0002\u0002\u0002\u07ec\u07f1\u0007\u033d\u0002\u0002\u07ed", - "\u07ee\u0007\u02d1\u0002\u0002\u07ee\u07ef\u0007\u032a\u0002\u0002\u07ef", - "\u07f1\u0007\u0322\u0002\u0002\u07f0\u07da\u0003\u0002\u0002\u0002\u07f0", - "\u07dd\u0003\u0002\u0002\u0002\u07f0\u07ed\u0003\u0002\u0002\u0002\u07f1", - "\u07f3\u0003\u0002\u0002\u0002\u07f2\u07b9\u0003\u0002\u0002\u0002\u07f2", - "\u07cc\u0003\u0002\u0002\u0002\u07f2\u07d8\u0003\u0002\u0002\u0002\u07f3", - "\u07f4\u0003\u0002\u0002\u0002\u07f4\u0892\u0007\u033d\u0002\u0002\u07f5", - "\u07f6\u0007\u02a9\u0002\u0002\u07f6\u07f7\u0007\u02ac\u0002\u0002\u07f7", - "\u07f8\u0007\u00e5\u0002\u0002\u07f8\u0892\u0007\u0326\u0002\u0002\u07f9", - "\u0892\u0007\u00aa\u0002\u0002\u07fa\u07fb\u0007\u00aa\u0002\u0002\u07fb", - "\u07fc\u0007\u019f\u0002\u0002\u07fc\u07fd\u0007\u0092\u0002\u0002\u07fd", - "\u0814\u0007\u00e5\u0002\u0002\u07fe\u0800\u0007\u033e\u0002\u0002\u07ff", - "\u07fe\u0003\u0002\u0002\u0002\u07ff\u0800\u0003\u0002\u0002\u0002\u0800", - "\u0801\u0003\u0002\u0002\u0002\u0801\u0802\u0007\u0326\u0002\u0002\u0802", - "\u0803\u0007\u0179\u0002\u0002\u0803\u0804\u0007\u033c\u0002\u0002\u0804", - "\u0805\u0007\u0235\u0002\u0002\u0805\u0806\u0007\u032a\u0002\u0002\u0806", - "\u0807\u0007\u0326\u0002\u0002\u0807\u0808\u0007\u033e\u0002\u0002\u0808", - "\u0809\u0007\u0018\u0002\u0002\u0809\u080a\u0007\u032a\u0002\u0002\u080a", - "\u080b\t\u0010\u0002\u0002\u080b\u080c\u0007\u033e\u0002\u0002\u080c", - "\u080d\u0007\u01f6\u0002\u0002\u080d\u080e\u0007\u032a\u0002\u0002\u080e", - "\u080f\u0007\u023e\u0002\u0002\u080f\u0810\u0007\u033e\u0002\u0002\u0810", - "\u0811\u0007\u02ca\u0002\u0002\u0811\u0812\u0007\u032a\u0002\u0002\u0812", - "\u0813\t\u0011\u0002\u0002\u0813\u0815\u0007\u033d\u0002\u0002\u0814", - "\u07ff\u0003\u0002\u0002\u0002\u0815\u0816\u0003\u0002\u0002\u0002\u0816", - "\u0814\u0003\u0002\u0002\u0002\u0816\u0817\u0003\u0002\u0002\u0002\u0817", - "\u0892\u0003\u0002\u0002\u0002\u0818\u0819\u0007\u025a\u0002\u0002\u0819", - "\u081a\u0007\u019f\u0002\u0002\u081a\u081b\u0007\u0092\u0002\u0002\u081b", - "\u083e\u0007\u00e5\u0002\u0002\u081c\u081e\u0007\u033e\u0002\u0002\u081d", - "\u081c\u0003\u0002\u0002\u0002\u081d\u081e\u0003\u0002\u0002\u0002\u081e", - "\u081f\u0003\u0002\u0002\u0002\u081f\u0820\u0007\u0326\u0002\u0002\u0820", - "\u0821\u0007\u0179\u0002\u0002\u0821\u0822\u0007\u033c\u0002\u0002\u0822", - "\u0823\u0007\u0235\u0002\u0002\u0823\u0824\u0007\u032a\u0002\u0002\u0824", - "\u082b\u0007\u0326\u0002\u0002\u0825\u0827\u0007\u033e\u0002\u0002\u0826", - "\u0825\u0003\u0002\u0002\u0002\u0826\u0827\u0003\u0002\u0002\u0002\u0827", - "\u0828\u0003\u0002\u0002\u0002\u0828\u0829\u0007\u0018\u0002\u0002\u0829", - "\u082a\u0007\u032a\u0002\u0002\u082a\u082c\t\u0010\u0002\u0002\u082b", - "\u0826\u0003\u0002\u0002\u0002\u082b\u082c\u0003\u0002\u0002\u0002\u082c", - "\u0833\u0003\u0002\u0002\u0002\u082d\u082f\u0007\u033e\u0002\u0002\u082e", - "\u082d\u0003\u0002\u0002\u0002\u082e\u082f\u0003\u0002\u0002\u0002\u082f", - "\u0830\u0003\u0002\u0002\u0002\u0830\u0831\u0007\u01f6\u0002\u0002\u0831", - "\u0832\u0007\u032a\u0002\u0002\u0832\u0834\u0007\u023e\u0002\u0002\u0833", - "\u082e\u0003\u0002\u0002\u0002\u0833\u0834\u0003\u0002\u0002\u0002\u0834", - "\u083b\u0003\u0002\u0002\u0002\u0835\u0837\u0007\u033e\u0002\u0002\u0836", - "\u0835\u0003\u0002\u0002\u0002\u0836\u0837\u0003\u0002\u0002\u0002\u0837", - "\u0838\u0003\u0002\u0002\u0002\u0838\u0839\u0007\u02ca\u0002\u0002\u0839", - "\u083a\u0007\u032a\u0002\u0002\u083a\u083c\t\u0011\u0002\u0002\u083b", - "\u0836\u0003\u0002\u0002\u0002\u083b\u083c\u0003\u0002\u0002\u0002\u083c", - "\u083d\u0003\u0002\u0002\u0002\u083d\u083f\u0007\u033d\u0002\u0002\u083e", - "\u081d\u0003\u0002\u0002\u0002\u083f\u0840\u0003\u0002\u0002\u0002\u0840", - "\u083e\u0003\u0002\u0002\u0002\u0840\u0841\u0003\u0002\u0002\u0002\u0841", - "\u0892\u0003\u0002\u0002\u0002\u0842\u0843\u0007\u0091\u0002\u0002\u0843", - "\u0844\u0007I\u0002\u0002\u0844\u0845\u0007\r\u0002\u0002\u0845\u0892", - "\u0007T\u0002\u0002\u0846\u0847\u0007]\u0002\u0002\u0847\u0848\u0007", - "I\u0002\u0002\u0848\u0849\u0007\r\u0002\u0002\u0849\u0892\u0007T\u0002", - "\u0002\u084a\u0892\u0007}\u0002\u0002\u084b\u0892\u0007\u0204\u0002", - "\u0002\u084c\u084d\u0007\u0004\u0002\u0002\u084d\u084e\u0007\u0234\u0002", - "\u0002\u084e\u084f\u0007\u0326\u0002\u0002\u084f\u0871\u0007\u033c\u0002", - "\u0002\u0850\u0851\u0007\u0179\u0002\u0002\u0851\u0852\u0007\u01dd\u0002", - "\u0002\u0852\u0853\u0007\u00e5\u0002\u0002\u0853\u0854\u0007\u033c\u0002", - "\u0002\u0854\u0855\u0007\u00a6\u0002\u0002\u0855\u0856\u0007\u00a6\u0002", - "\u0002\u0856\u0857\u0003\u0002\u0002\u0002\u0857\u0872\u0007\u033d\u0002", - "\u0002\u0858\u0859\u0007\u0179\u0002\u0002\u0859\u085a\u0007\u0224\u0002", - "\u0002\u085a\u0866\u0007\u033c\u0002\u0002\u085b\u085d\u0007\u033e\u0002", - "\u0002\u085c\u085b\u0003\u0002\u0002\u0002\u085c\u085d\u0003\u0002\u0002", - "\u0002\u085d\u085e\u0003\u0002\u0002\u0002\u085e\u0863\u0007\u033c\u0002", - "\u0002\u085f\u0860\u0007\u00a6\u0002\u0002\u0860\u0861\u0007\u033e\u0002", - "\u0002\u0861\u0864\u0007\u00a6\u0002\u0002\u0862\u0864\u0007\u00a7\u0002", - "\u0002\u0863\u085f\u0003\u0002\u0002\u0002\u0863\u0862\u0003\u0002\u0002", - "\u0002\u0864\u0865\u0003\u0002\u0002\u0002\u0865\u0867\u0007\u033d\u0002", - "\u0002\u0866\u085c\u0003\u0002\u0002\u0002\u0867\u0868\u0003\u0002\u0002", - "\u0002\u0868\u0866\u0003\u0002\u0002\u0002\u0868\u0869\u0003\u0002\u0002", - "\u0002\u0869\u086a\u0003\u0002\u0002\u0002\u086a\u086f\u0007\u033d\u0002", - "\u0002\u086b\u086c\u0007\u033e\u0002\u0002\u086c\u086d\u0007\u0286\u0002", - "\u0002\u086d\u086e\u0007\u032a\u0002\u0002\u086e\u0870\u0007\u0322\u0002", - "\u0002\u086f\u086b\u0003\u0002\u0002\u0002\u086f\u0870\u0003\u0002\u0002", - "\u0002\u0870\u0872\u0003\u0002\u0002\u0002\u0871\u0850\u0003\u0002\u0002", - "\u0002\u0871\u0858\u0003\u0002\u0002\u0002\u0872\u0873\u0003\u0002\u0002", - "\u0002\u0873\u0892\u0007\u033d\u0002\u0002\u0874\u0875\u0007\u025a\u0002", - "\u0002\u0875\u0882\u0007\u0234\u0002\u0002\u0876\u0877\u0007\u0004\u0002", - "\u0002\u0877\u0878\u0007\u0224\u0002\u0002\u0878\u087c\u0007\u033c\u0002", - "\u0002\u0879\u087a\u0007\u00a6\u0002\u0002\u087a\u087d\u0007\u00a6\u0002", - "\u0002\u087b\u087d\u0007\u00a7\u0002\u0002\u087c\u0879\u0003\u0002\u0002", - "\u0002\u087c\u087b\u0003\u0002\u0002\u0002\u087d\u087e\u0003\u0002\u0002", - "\u0002\u087e\u0883\u0007\u033d\u0002\u0002\u087f\u0880\u0007\u0286\u0002", - "\u0002\u0880\u0881\u0007\u032a\u0002\u0002\u0881\u0883\u0007\u0322\u0002", - "\u0002\u0882\u0876\u0003\u0002\u0002\u0002\u0882\u087f\u0003\u0002\u0002", - "\u0002\u0883\u0892\u0003\u0002\u0002\u0002\u0884\u0885\u0007\u0115\u0002", - "\u0002\u0885\u0886\u0007\u0234\u0002\u0002\u0886\u0892\u0007\u0326\u0002", - "\u0002\u0887\u0888\u0007\u02a9\u0002\u0002\u0888\u0889\u0007\u0234\u0002", - "\u0002\u0889\u0892\u0007\u0326\u0002\u0002\u088a\u0892\u0007\u0272\u0002", - "\u0002\u088b\u088c\u0007\u0179\u0002\u0002\u088c\u088d\u0007\u033c\u0002", - "\u0002\u088d\u088e\u0007h\u0002\u0002\u088e\u088f\u0007\u032a\u0002", - "\u0002\u088f\u0890\u0007\u00f8\u0002\u0002\u0890\u0892\u0007\u033d\u0002", - "\u0002\u0891\u0733\u0003\u0002\u0002\u0002\u0891\u0747\u0003\u0002\u0002", - "\u0002\u0891\u074a\u0003\u0002\u0002\u0002\u0891\u074d\u0003\u0002\u0002", - "\u0002\u0891\u078f\u0003\u0002\u0002\u0002\u0891\u079b\u0003\u0002\u0002", - "\u0002\u0891\u07b5\u0003\u0002\u0002\u0002\u0891\u07f5\u0003\u0002\u0002", - "\u0002\u0891\u07f9\u0003\u0002\u0002\u0002\u0891\u07fa\u0003\u0002\u0002", - "\u0002\u0891\u0818\u0003\u0002\u0002\u0002\u0891\u0842\u0003\u0002\u0002", - "\u0002\u0891\u0846\u0003\u0002\u0002\u0002\u0891\u084a\u0003\u0002\u0002", - "\u0002\u0891\u084b\u0003\u0002\u0002\u0002\u0891\u084c\u0003\u0002\u0002", - "\u0002\u0891\u0874\u0003\u0002\u0002\u0002\u0891\u0884\u0003\u0002\u0002", - "\u0002\u0891\u0887\u0003\u0002\u0002\u0002\u0891\u088a\u0003\u0002\u0002", - "\u0002\u0891\u088b\u0003\u0002\u0002\u0002\u0892\u00a3\u0003\u0002\u0002", - "\u0002\u0893\u0894\t\u0014\u0002\u0002\u0894\u0895\u0007\u01a8\u0002", - "\u0002\u0895\u0896\u0007\u028a\u0002\u0002\u0896\u0897\u0005\u03c6\u01e4", - "\u0002\u0897\u0898\u0007\u0085\u0002\u0002\u0898\u0899\u0007F\u0002", - "\u0002\u0899\u089a\u0007\u013b\u0002\u0002\u089a\u08a4\u0007\u033c\u0002", - "\u0002\u089b\u089c\u0007E\u0002\u0002\u089c\u089f\u0007\u032a\u0002", - "\u0002\u089d\u08a0\u0005\u03c6\u01e4\u0002\u089e\u08a0\u0007\r\u0002", - "\u0002\u089f\u089d\u0003\u0002\u0002\u0002\u089f\u089e\u0003\u0002\u0002", - "\u0002\u08a0\u08a2\u0003\u0002\u0002\u0002\u08a1\u08a3\u0007\u033e\u0002", - "\u0002\u08a2\u08a1\u0003\u0002\u0002\u0002\u08a2\u08a3\u0003\u0002\u0002", - "\u0002\u08a3\u08a5\u0003\u0002\u0002\u0002\u08a4\u089b\u0003\u0002\u0002", - "\u0002\u08a4\u08a5\u0003\u0002\u0002\u0002\u08a5\u08b2\u0003\u0002\u0002", - "\u0002\u08a6\u08a7\u0007\u00ba\u0002\u0002\u08a7\u08ad\u0007\u032a\u0002", - "\u0002\u08a8\u08aa\u0007f\u0002\u0002\u08a9\u08a8\u0003\u0002\u0002", - "\u0002\u08a9\u08aa\u0003\u0002\u0002\u0002\u08aa\u08ab\u0003\u0002\u0002", - "\u0002\u08ab\u08ae\u0005\u03c6\u01e4\u0002\u08ac\u08ae\u0007\r\u0002", - "\u0002\u08ad\u08a9\u0003\u0002\u0002\u0002\u08ad\u08ac\u0003\u0002\u0002", - "\u0002\u08ae\u08b0\u0003\u0002\u0002\u0002\u08af\u08b1\u0007\u033e\u0002", - "\u0002\u08b0\u08af\u0003\u0002\u0002\u0002\u08b0\u08b1\u0003\u0002\u0002", - "\u0002\u08b1\u08b3\u0003\u0002\u0002\u0002\u08b2\u08a6\u0003\u0002\u0002", - "\u0002\u08b2\u08b3\u0003\u0002\u0002\u0002\u08b3\u08bd\u0003\u0002\u0002", - "\u0002\u08b4\u08b5\u0007\u02a8\u0002\u0002\u08b5\u08b8\u0007\u032a\u0002", - "\u0002\u08b6\u08b9\u0007\u0326\u0002\u0002\u08b7\u08b9\u0007\r\u0002", - "\u0002\u08b8\u08b6\u0003\u0002\u0002\u0002\u08b8\u08b7\u0003\u0002\u0002", - "\u0002\u08b9\u08bb\u0003\u0002\u0002\u0002\u08ba\u08bc\u0007\u033e\u0002", - "\u0002\u08bb\u08ba\u0003\u0002\u0002\u0002\u08bb\u08bc\u0003\u0002\u0002", - "\u0002\u08bc\u08be\u0003\u0002\u0002\u0002\u08bd\u08b4\u0003\u0002\u0002", - "\u0002\u08bd\u08be\u0003\u0002\u0002\u0002\u08be\u08c5\u0003\u0002\u0002", - "\u0002\u08bf\u08c0\u0007\u028b\u0002\u0002\u08c0\u08c3\u0007\u032a\u0002", - "\u0002\u08c1\u08c4\u0007\u0322\u0002\u0002\u08c2\u08c4\u0007Y\u0002", - "\u0002\u08c3\u08c1\u0003\u0002\u0002\u0002\u08c3\u08c2\u0003\u0002\u0002", - "\u0002\u08c4\u08c6\u0003\u0002\u0002\u0002\u08c5\u08bf\u0003\u0002\u0002", - "\u0002\u08c5\u08c6\u0003\u0002\u0002\u0002\u08c6\u08c7\u0003\u0002\u0002", - "\u0002\u08c7\u08c8\u0007\u033d\u0002\u0002\u08c8\u00a5\u0003\u0002\u0002", - "\u0002\u08c9\u08ca\u0007g\u0002\u0002\u08ca\u08cb\u0007\u01a8\u0002", - "\u0002\u08cb\u08cc\u0007\u028a\u0002\u0002\u08cc\u08cd\u0005\u03c6\u01e4", - "\u0002\u08cd\u00a7\u0003\u0002\u0002\u0002\u08ce\u08cf\u0007\n\u0002", - "\u0002\u08cf\u08d0\u0007+\u0002\u0002\u08d0\u08f8\u0005\u03c6\u01e4", - "\u0002\u08d1\u08d2\u0007\u02a9\u0002\u0002\u08d2\u08f9\u0007\u028d\u0002", - "\u0002\u08d3\u08d4\u0007\u0179\u0002\u0002\u08d4\u08d5\u0007\u028c\u0002", - "\u0002\u08d5\u08d6\u0007\u00ac\u0002\u0002\u08d6\u08ed\u0007\u033c\u0002", - "\u0002\u08d7\u08d8\u0007\u0081\u0002\u0002\u08d8\u08d9\u0007\u032a\u0002", - "\u0002\u08d9\u08db\u0007\u0326\u0002\u0002\u08da\u08dc\u0007\u033e\u0002", - "\u0002\u08db\u08da\u0003\u0002\u0002\u0002\u08db\u08dc\u0003\u0002\u0002", - "\u0002\u08dc\u08ee\u0003\u0002\u0002\u0002\u08dd\u08de\u0007\u01d1\u0002", - "\u0002\u08de\u08df\u0007&\u0002\u0002\u08df\u08e0\u0007\u00f4\u0002", - "\u0002\u08e0\u08e1\u0007\u032a\u0002\u0002\u08e1\u08e3\u0007\u0326\u0002", - "\u0002\u08e2\u08e4\u0007\u033e\u0002\u0002\u08e3\u08e2\u0003\u0002\u0002", - "\u0002\u08e3\u08e4\u0003\u0002\u0002\u0002\u08e4\u08ee\u0003\u0002\u0002", - "\u0002\u08e5\u08e6\u0007\u01ec\u0002\u0002\u08e6\u08e7\u0007&\u0002", - "\u0002\u08e7\u08e8\u0007\u00f4\u0002\u0002\u08e8\u08e9\u0007\u032a\u0002", - "\u0002\u08e9\u08eb\u0007\u0326\u0002\u0002\u08ea\u08ec\u0007\u033e\u0002", - "\u0002\u08eb\u08ea\u0003\u0002\u0002\u0002\u08eb\u08ec\u0003\u0002\u0002", - "\u0002\u08ec\u08ee\u0003\u0002\u0002\u0002\u08ed\u08d7\u0003\u0002\u0002", - "\u0002\u08ed\u08dd\u0003\u0002\u0002\u0002\u08ed\u08e5\u0003\u0002\u0002", - "\u0002\u08ee\u08ef\u0003\u0002\u0002\u0002\u08ef\u08ed\u0003\u0002\u0002", - "\u0002\u08ef\u08f0\u0003\u0002\u0002\u0002\u08f0\u08f1\u0003\u0002\u0002", - "\u0002\u08f1\u08f9\u0007\u033d\u0002\u0002\u08f2\u08f3\u0007\u0179\u0002", - "\u0002\u08f3\u08f4\u0007\u0182\u0002\u0002\u08f4\u08f5\u0007\u0085\u0002", - "\u0002\u08f5\u08f6\u0007\u01a2\u0002\u0002\u08f6\u08f7\u0007\u032a\u0002", - "\u0002\u08f7\u08f9\t\t\u0002\u0002\u08f8\u08d1\u0003\u0002\u0002\u0002", - "\u08f8\u08d3\u0003\u0002\u0002\u0002\u08f8\u08f2\u0003\u0002\u0002\u0002", - "\u08f9\u00a9\u0003\u0002\u0002\u0002\u08fa\u08fb\u0007\n\u0002\u0002", - "\u08fb\u08fc\u00078\u0002\u0002\u08fc\u08fd\u0007\u01ec\u0002\u0002", - "\u08fd\u08fe\u0007\u00ac\u0002\u0002\u08fe\u08ff\u0005\u03c6\u01e4\u0002", - "\u08ff\u0900\t\u0015\u0002\u0002\u0900\u0901\u0007\u030b\u0002\u0002", - "\u0901\u0902\u0007\u033c\u0002\u0002\u0902\u0903\u0007\u01b6\u0002\u0002", - "\u0903\u0904\u0007\u032a\u0002\u0002\u0904\u090d\u0005\u03c6\u01e4\u0002", - "\u0905\u0906\u0007\u033e\u0002\u0002\u0906\u0907\u0007\u018a\u0002\u0002", - "\u0907\u0908\u0007\u032a\u0002\u0002\u0908\u0909\u0007\u0326\u0002\u0002", - "\u0909\u090a\u0007\u033e\u0002\u0002\u090a\u090b\u0007\u01eb\u0002\u0002", - "\u090b\u090c\u0007\u032a\u0002\u0002\u090c\u090e\u0007\u0327\u0002\u0002", - "\u090d\u0905\u0003\u0002\u0002\u0002\u090d\u090e\u0003\u0002\u0002\u0002", - "\u090e\u090f\u0003\u0002\u0002\u0002\u090f\u0910\u0007\u033d\u0002\u0002", - "\u0910\u00ab\u0003\u0002\u0002\u0002\u0911\u0912\u0007I\u0002\u0002", - "\u0912\u0913\u00078\u0002\u0002\u0913\u0914\u0007\u01ec\u0002\u0002", - "\u0914\u0915\u0007\u00ac\u0002\u0002\u0915\u0916\u0005\u03c6\u01e4\u0002", - "\u0916\u0917\u0007\u0179\u0002\u0002\u0917\u092b\u0007\u016f\u0002\u0002", - "\u0918\u091a\u0007\u033c\u0002\u0002\u0919\u091b\u0007\u033e\u0002\u0002", - "\u091a\u0919\u0003\u0002\u0002\u0002\u091a\u091b\u0003\u0002\u0002\u0002", - "\u091b\u091c\u0003\u0002\u0002\u0002\u091c\u091d\u0007\u01b6\u0002\u0002", - "\u091d\u091e\u0007\u032a\u0002\u0002\u091e\u091f\u0005\u03c6\u01e4\u0002", - "\u091f\u0920\u0007\u033e\u0002\u0002\u0920\u0921\u0007\u018a\u0002\u0002", - "\u0921\u0922\u0007\u032a\u0002\u0002\u0922\u0923\u0007\u0326\u0002\u0002", - "\u0923\u0924\u0007\u033e\u0002\u0002\u0924\u0925\u0007\u01eb\u0002\u0002", - "\u0925\u0926\u0007\u032a\u0002\u0002\u0926\u0927\u0007\u0327\u0002\u0002", - "\u0927\u0929\u0007\u033d\u0002\u0002\u0928\u092a\u0007\u033e\u0002\u0002", - "\u0929\u0928\u0003\u0002\u0002\u0002\u0929\u092a\u0003\u0002\u0002\u0002", - "\u092a\u092c\u0003\u0002\u0002\u0002\u092b\u0918\u0003\u0002\u0002\u0002", - "\u092c\u092d\u0003\u0002\u0002\u0002\u092d\u092b\u0003\u0002\u0002\u0002", - "\u092d\u092e\u0003\u0002\u0002\u0002\u092e\u00ad\u0003\u0002\u0002\u0002", - "\u092f\u0930\u0007g\u0002\u0002\u0930\u0931\u0007+\u0002\u0002\u0931", - "\u0932\u0005\u03c6\u01e4\u0002\u0932\u00af\u0003\u0002\u0002\u0002\u0933", - "\u0934\u0007g\u0002\u0002\u0934\u0935\u00078\u0002\u0002\u0935\u0936", - "\u0007\u01ec\u0002\u0002\u0936\u0937\u0007\u00ac\u0002\u0002\u0937\u0938", - "\u0005\u03c6\u01e4\u0002\u0938\u00b1\u0003\u0002\u0002\u0002\u0939\u093a", - "\u0007g\u0002\u0002\u093a\u093b\u00078\u0002\u0002\u093b\u093c\u0007", - "\u00bd\u0002\u0002\u093c\u093d\u0007\u00ac\u0002\u0002\u093d\u093e\u0005", - "\u03c6\u01e4\u0002\u093e\u00b3\u0003\u0002\u0002\u0002\u093f\u0940\u0007", - "g\u0002\u0002\u0940\u0941\u0007D\u0002\u0002\u0941\u0942\u0005\u03c6", - "\u01e4\u0002\u0942\u00b5\u0003\u0002\u0002\u0002\u0943\u0944\u0007g", - "\u0002\u0002\u0944\u0945\u0007\u01c4\u0002\u0002\u0945\u0946\u0005\u03c6", - "\u01e4\u0002\u0946\u00b7\u0003\u0002\u0002\u0002\u0947\u0948\u0007g", - "\u0002\u0002\u0948\u0949\u0007\u01c5\u0002\u0002\u0949\u094a\u0007\u0291", - "\u0002\u0002\u094a\u094b\u0005\u03c6\u01e4\u0002\u094b\u00b9\u0003\u0002", - "\u0002\u0002\u094c\u094d\u0007g\u0002\u0002\u094d\u0950\u0007T\u0002", - "\u0002\u094e\u094f\u0007\u0099\u0002\u0002\u094f\u0951\u0007w\u0002", - "\u0002\u0950\u094e\u0003\u0002\u0002\u0002\u0950\u0951\u0003\u0002\u0002", - "\u0002\u0951\u0956\u0003\u0002\u0002\u0002\u0952\u0954\u0007\u033e\u0002", - "\u0002\u0953\u0952\u0003\u0002\u0002\u0002\u0953\u0954\u0003\u0002\u0002", - "\u0002\u0954\u0955\u0003\u0002\u0002\u0002\u0955\u0957\u0005\u03c6\u01e4", - "\u0002\u0956\u0953\u0003\u0002\u0002\u0002\u0957\u0958\u0003\u0002\u0002", - "\u0002\u0958\u0956\u0003\u0002\u0002\u0002\u0958\u0959\u0003\u0002\u0002", - "\u0002\u0959\u00bb\u0003\u0002\u0002\u0002\u095a\u095b\u0007g\u0002", - "\u0002\u095b\u095c\u0007T\u0002\u0002\u095c\u095d\u0007\u0196\u0002", - "\u0002\u095d\u095e\u0007\u0143\u0002\u0002\u095e\u095f\u0005\u03c6\u01e4", - "\u0002\u095f\u00bd\u0003\u0002\u0002\u0002\u0960\u0961\u0007g\u0002", - "\u0002\u0961\u0962\u0007T\u0002\u0002\u0962\u0963\u0007\u02bf\u0002", - "\u0002\u0963\u0964\u0007\u01c4\u0002\u0002\u0964\u0965\u0005\u03c6\u01e4", - "\u0002\u0965\u00bf\u0003\u0002\u0002\u0002\u0966\u0967\u0007g\u0002", - "\u0002\u0967\u096a\u0007Y\u0002\u0002\u0968\u0969\u0007\u0099\u0002", - "\u0002\u0969\u096b\u0007w\u0002\u0002\u096a\u0968\u0003\u0002\u0002", - "\u0002\u096a\u096b\u0003\u0002\u0002\u0002\u096b\u096d\u0003\u0002\u0002", - "\u0002\u096c\u096e\u0007\u033e\u0002\u0002\u096d\u096c\u0003\u0002\u0002", - "\u0002\u096d\u096e\u0003\u0002\u0002\u0002\u096e\u0972\u0003\u0002\u0002", - "\u0002\u096f\u0970\u0005\u03c6\u01e4\u0002\u0970\u0971\u0007\u0337\u0002", - "\u0002\u0971\u0973\u0003\u0002\u0002\u0002\u0972\u096f\u0003\u0002\u0002", - "\u0002\u0972\u0973\u0003\u0002\u0002\u0002\u0973\u0974\u0003\u0002\u0002", - "\u0002\u0974\u0975\u0005\u03c6\u01e4\u0002\u0975\u00c1\u0003\u0002\u0002", - "\u0002\u0976\u0977\u0007g\u0002\u0002\u0977\u0978\u0007m\u0002\u0002", - "\u0978\u0979\u0005\u03c6\u01e4\u0002\u0979\u00c3\u0003\u0002\u0002\u0002", - "\u097a\u097b\u0007g\u0002\u0002\u097b\u097c\u0007{\u0002\u0002\u097c", - "\u097d\u0007\u01c8\u0002\u0002\u097d\u097e\u0007\u0142\u0002\u0002\u097e", - "\u097f\u0005\u03c6\u01e4\u0002\u097f\u00c5\u0003\u0002\u0002\u0002\u0980", - "\u0981\u0007g\u0002\u0002\u0981\u0982\u0007{\u0002\u0002\u0982\u0983", - "\u0007\u0081\u0002\u0002\u0983\u0984\u0007\u0206\u0002\u0002\u0984\u0985", - "\u0005\u03c6\u01e4\u0002\u0985\u00c7\u0003\u0002\u0002\u0002\u0986\u0987", - "\u0007g\u0002\u0002\u0987\u0988\u0007{\u0002\u0002\u0988\u0989\u0007", - "\u00b2\u0002\u0002\u0989\u098c\u0005\u03c6\u01e4\u0002\u098a\u098b\u0007", - "\u0014\u0002\u0002\u098b\u098d\u0005\u03c6\u01e4\u0002\u098c\u098a\u0003", - "\u0002\u0002\u0002\u098c\u098d\u0003\u0002\u0002\u0002\u098d\u00c9\u0003", - "\u0002\u0002\u0002\u098e\u098f\u0007g\u0002\u0002\u098f\u0990\u0007", - "{\u0002\u0002\u0990\u0991\u0007\u02b2\u0002\u0002\u0991\u0992\u0007", - "\u0285\u0002\u0002\u0992\u0993\u0005\u03c6\u01e4\u0002\u0993\u00cb\u0003", - "\u0002\u0002\u0002\u0994\u0995\u0007g\u0002\u0002\u0995\u0996\u0007", - "{\u0002\u0002\u0996\u099a\u0007\u0153\u0002\u0002\u0997\u0998\u0005", - "\u03c6\u01e4\u0002\u0998\u0999\u0007\u0337\u0002\u0002\u0999\u099b\u0003", - "\u0002\u0002\u0002\u099a\u0997\u0003\u0002\u0002\u0002\u099a\u099b\u0003", - "\u0002\u0002\u0002\u099b\u099f\u0003\u0002\u0002\u0002\u099c\u099d\u0005", - "\u03c6\u01e4\u0002\u099d\u099e\u0007\u0337\u0002\u0002\u099e\u09a0\u0003", - "\u0002\u0002\u0002\u099f\u099c\u0003\u0002\u0002\u0002\u099f\u09a0\u0003", - "\u0002\u0002\u0002\u09a0\u09a1\u0003\u0002\u0002\u0002\u09a1\u09a2\u0005", - "\u03c6\u01e4\u0002\u09a2\u00cd\u0003\u0002\u0002\u0002\u09a3\u09a4\u0007", - "g\u0002\u0002\u09a4\u09a5\u0007q\u0002\u0002\u09a5\u09aa\u0007\u00dd", - "\u0002\u0002\u09a6\u09a8\u0007\u033e\u0002\u0002\u09a7\u09a6\u0003\u0002", - "\u0002\u0002\u09a7\u09a8\u0003\u0002\u0002\u0002\u09a8\u09a9\u0003\u0002", - "\u0002\u0002\u09a9\u09ab\u0005\u03c6\u01e4\u0002\u09aa\u09a7\u0003\u0002", - "\u0002\u0002\u09ab\u09ac\u0003\u0002\u0002\u0002\u09ac\u09aa\u0003\u0002", - "\u0002\u0002\u09ac\u09ad\u0003\u0002\u0002\u0002\u09ad\u09ae\u0003\u0002", - "\u0002\u0002\u09ae\u09b3\u0007\u00e5\u0002\u0002\u09af\u09b4\u0007\u0135", - "\u0002\u0002\u09b0\u09b4\u0007T\u0002\u0002\u09b1\u09b2\u0007\u0294", - "\u0002\u0002\u09b2\u09b4\u0005\u03c6\u01e4\u0002\u09b3\u09af\u0003\u0002", - "\u0002\u0002\u09b3\u09b0\u0003\u0002\u0002\u0002\u09b3\u09b1\u0003\u0002", - "\u0002\u0002\u09b4\u00cf\u0003\u0002\u0002\u0002\u09b5\u09b6\u0007g", - "\u0002\u0002\u09b6\u09b7\u0007q\u0002\u0002\u09b7\u09b8\u0007\u0139", - "\u0002\u0002\u09b8\u09b9\u0005\u03c6\u01e4\u0002\u09b9\u09ba\u0007\u00e5", - "\u0002\u0002\u09ba\u09bb\u0007\u0135\u0002\u0002\u09bb\u00d1\u0003\u0002", - "\u0002\u0002\u09bc\u09bd\u0007g\u0002\u0002\u09bd\u09be\u0007\u0209", - "\u0002\u0002\u09be\u09bf\u0007\u01ae\u0002\u0002\u09bf\u09c0\u0005\u03c6", - "\u01e4\u0002\u09c0\u00d3\u0003\u0002\u0002\u0002\u09c1\u09c2\u0007g", - "\u0002\u0002\u09c2\u09c3\u0007\u0209\u0002\u0002\u09c3\u09c4\u0007\u009e", - "\u0002\u0002\u09c4\u09c8\u0007\u00e5\u0002\u0002\u09c5\u09c6\u0005\u03c6", - "\u01e4\u0002\u09c6\u09c7\u0007\u0337\u0002\u0002\u09c7\u09c9\u0003\u0002", - "\u0002\u0002\u09c8\u09c5\u0003\u0002\u0002\u0002\u09c8\u09c9\u0003\u0002", - "\u0002\u0002\u09c9\u09ca\u0003\u0002\u0002\u0002\u09ca\u09cb\u0005\u03c6", - "\u01e4\u0002\u09cb\u00d5\u0003\u0002\u0002\u0002\u09cc\u09cd\u0007g", - "\u0002\u0002\u09cd\u09ce\u0007\u0209\u0002\u0002\u09ce\u09cf\u0007\u02e4", - "\u0002\u0002\u09cf\u09d0\u0005\u03c6\u01e4\u0002\u09d0\u00d7\u0003\u0002", - "\u0002\u0002\u09d1\u09d2\u0007g\u0002\u0002\u09d2\u09d3\u0007\u023b", - "\u0002\u0002\u09d3\u09d4\u0005\u03c6\u01e4\u0002\u09d4\u00d9\u0003\u0002", - "\u0002\u0002\u09d5\u09d6\u0007g\u0002\u0002\u09d6\u09d7\u0007\u00bd", - "\u0002\u0002\u09d7\u09d8\u0007\u00ac\u0002\u0002\u09d8\u00db\u0003\u0002", - "\u0002\u0002\u09d9\u09da\u0007g\u0002\u0002\u09da\u09db\u0007\u0250", - "\u0002\u0002\u09db\u09dc\u0007\u0301\u0002\u0002\u09dc\u09dd\u0005\u03c6", - "\u01e4\u0002\u09dd\u00dd\u0003\u0002\u0002\u0002\u09de\u09df\u0007g", - "\u0002\u0002\u09df\u09e0\u0007\u0280\u0002\u0002\u09e0\u09e1\u0007\u008d", - "\u0002\u0002\u09e1\u09e2\u0005\u03c6\u01e4\u0002\u09e2\u00df\u0003\u0002", - "\u0002\u0002\u09e3\u09e4\u0007g\u0002\u0002\u09e4\u09e5\u0007\u0280", - "\u0002\u0002\u09e5\u09e6\u0007\u012f\u0002\u0002\u09e6\u09e7\u0005\u03c6", - "\u01e4\u0002\u09e7\u00e1\u0003\u0002\u0002\u0002\u09e8\u09e9\u0007g", - "\u0002\u0002\u09e9\u09ed\u0007\u0294\u0002\u0002\u09ea\u09eb\u0005\u03c6", - "\u01e4\u0002\u09eb\u09ec\u0007\u0337\u0002\u0002\u09ec\u09ee\u0003\u0002", - "\u0002\u0002\u09ed\u09ea\u0003\u0002\u0002\u0002\u09ed\u09ee\u0003\u0002", - "\u0002\u0002\u09ee\u09f2\u0003\u0002\u0002\u0002\u09ef\u09f0\u0005\u03c6", - "\u01e4\u0002\u09f0\u09f1\u0007\u0337\u0002\u0002\u09f1\u09f3\u0003\u0002", - "\u0002\u0002\u09f2\u09ef\u0003\u0002\u0002\u0002\u09f2\u09f3\u0003\u0002", - "\u0002\u0002\u09f3\u09f4\u0003\u0002\u0002\u0002\u09f4\u09f5\u0005\u03c6", - "\u01e4\u0002\u09f5\u00e3\u0003\u0002\u0002\u0002\u09f6\u09f7\u0007g", - "\u0002\u0002\u09f7\u09f8\u0007\u02a7\u0002\u0002\u09f8\u09f9\u0007\u0136", - "\u0002\u0002\u09f9\u09fa\u0007\u01a6\u0002\u0002\u09fa\u09fb\u0005\u03c6", - "\u01e4\u0002\u09fb\u00e5\u0003\u0002\u0002\u0002\u09fc\u09fd\u0007g", - "\u0002\u0002\u09fd\u09fe\u0007\u02b2\u0002\u0002\u09fe\u09ff\u0007\u0285", - "\u0002\u0002\u09ff\u0a00\u0005\u03c6\u01e4\u0002\u0a00\u00e7\u0003\u0002", - "\u0002\u0002\u0a01\u0a02\u0007g\u0002\u0002\u0a02\u0a05\u0007\u0121", - "\u0002\u0002\u0a03\u0a04\u0007\u0099\u0002\u0002\u0a04\u0a06\u0007w", - "\u0002\u0002\u0a05\u0a03\u0003\u0002\u0002\u0002\u0a05\u0a06\u0003\u0002", - "\u0002\u0002\u0a06\u0a07\u0003\u0002\u0002\u0002\u0a07\u0a08\u0005\u03c6", - "\u01e4\u0002\u0a08\u00e9\u0003\u0002\u0002\u0002\u0a09\u0a0a\u0007g", - "\u0002\u0002\u0a0a\u0a0b\u0007\u02b8\u0002\u0002\u0a0b\u0a0c\u0005\u03c6", - "\u01e4\u0002\u0a0c\u00eb\u0003\u0002\u0002\u0002\u0a0d\u0a0e\u0007g", - "\u0002\u0002\u0a0e\u0a11\u0007\u012a\u0002\u0002\u0a0f\u0a10\u0007\u0099", - "\u0002\u0002\u0a10\u0a12\u0007w\u0002\u0002\u0a11\u0a0f\u0003\u0002", - "\u0002\u0002\u0a11\u0a12\u0003\u0002\u0002\u0002\u0a12\u0a1c\u0003\u0002", - "\u0002\u0002\u0a13\u0a15\u0007\u033e\u0002\u0002\u0a14\u0a13\u0003\u0002", - "\u0002\u0002\u0a14\u0a15\u0003\u0002\u0002\u0002\u0a15\u0a19\u0003\u0002", - "\u0002\u0002\u0a16\u0a17\u0005\u03c6\u01e4\u0002\u0a17\u0a18\u0007\u0337", - "\u0002\u0002\u0a18\u0a1a\u0003\u0002\u0002\u0002\u0a19\u0a16\u0003\u0002", - "\u0002\u0002\u0a19\u0a1a\u0003\u0002\u0002\u0002\u0a1a\u0a1b\u0003\u0002", - "\u0002\u0002\u0a1b\u0a1d\u0005\u03c6\u01e4\u0002\u0a1c\u0a14\u0003\u0002", - "\u0002\u0002\u0a1c\u0a1d\u0003\u0002\u0002\u0002\u0a1d\u00ed\u0003\u0002", - "\u0002\u0002\u0a1e\u0a1f\u0007g\u0002\u0002\u0a1f\u0a22\u0007\u012e", - "\u0002\u0002\u0a20\u0a21\u0007\u0099\u0002\u0002\u0a21\u0a23\u0007w", - "\u0002\u0002\u0a22\u0a20\u0003\u0002\u0002\u0002\u0a22\u0a23\u0003\u0002", - "\u0002\u0002\u0a23\u0a24\u0003\u0002\u0002\u0002\u0a24\u0a25\u0005\u03c6", - "\u01e4\u0002\u0a25\u00ef\u0003\u0002\u0002\u0002\u0a26\u0a27\u0007g", - "\u0002\u0002\u0a27\u0a28\u0007\u02c2\u0002\u0002\u0a28\u0a29\u0007\u0290", - "\u0002\u0002\u0a29\u0a2a\u0007\u0233\u0002\u0002\u0a2a\u0a2b\u0005\u03c6", - "\u01e4\u0002\u0a2b\u00f1\u0003\u0002\u0002\u0002\u0a2c\u0a2d\u0007g", - "\u0002\u0002\u0a2d\u0a2e\u0007\u02c8\u0002\u0002\u0a2e\u0a31\u0007\u00fd", - "\u0002\u0002\u0a2f\u0a30\u0007\u0099\u0002\u0002\u0a30\u0a32\u0007w", - "\u0002\u0002\u0a31\u0a2f\u0003\u0002\u0002\u0002\u0a31\u0a32\u0003\u0002", - "\u0002\u0002\u0a32\u0a36\u0003\u0002\u0002\u0002\u0a33\u0a34\u0005\u03c6", - "\u01e4\u0002\u0a34\u0a35\u0007\u0337\u0002\u0002\u0a35\u0a37\u0003\u0002", - "\u0002\u0002\u0a36\u0a33\u0003\u0002\u0002\u0002\u0a36\u0a37\u0003\u0002", - "\u0002\u0002\u0a37\u0a38\u0003\u0002\u0002\u0002\u0a38\u0a39\u0005\u03c6", - "\u01e4\u0002\u0a39\u00f3\u0003\u0002\u0002\u0002\u0a3a\u0a3b\u0007g", - "\u0002\u0002\u0a3b\u0a3e\u0007\u02cf\u0002\u0002\u0a3c\u0a3d\u0007\u0099", - "\u0002\u0002\u0a3d\u0a3f\u0007w\u0002\u0002\u0a3e\u0a3c\u0003\u0002", - "\u0002\u0002\u0a3e\u0a3f\u0003\u0002\u0002\u0002\u0a3f\u0a4e\u0003\u0002", - "\u0002\u0002\u0a40\u0a42\u0007\u033e\u0002\u0002\u0a41\u0a40\u0003\u0002", - "\u0002\u0002\u0a41\u0a42\u0003\u0002\u0002\u0002\u0a42\u0a46\u0003\u0002", - "\u0002\u0002\u0a43\u0a44\u0005\u03c6\u01e4\u0002\u0a44\u0a45\u0007\u0337", - "\u0002\u0002\u0a45\u0a47\u0003\u0002\u0002\u0002\u0a46\u0a43\u0003\u0002", - "\u0002\u0002\u0a46\u0a47\u0003\u0002\u0002\u0002\u0a47\u0a4b\u0003\u0002", - "\u0002\u0002\u0a48\u0a49\u0005\u03c6\u01e4\u0002\u0a49\u0a4a\u0007\u0337", - "\u0002\u0002\u0a4a\u0a4c\u0003\u0002\u0002\u0002\u0a4b\u0a48\u0003\u0002", - "\u0002\u0002\u0a4b\u0a4c\u0003\u0002\u0002\u0002\u0a4c\u0a4d\u0003\u0002", - "\u0002\u0002\u0a4d\u0a4f\u0005\u03c6\u01e4\u0002\u0a4e\u0a41\u0003\u0002", - "\u0002\u0002\u0a4e\u0a4f\u0003\u0002\u0002\u0002\u0a4f\u00f5\u0003\u0002", - "\u0002\u0002\u0a50\u0a51\u0007g\u0002\u0002\u0a51\u0a52\u0007\u0135", - "\u0002\u0002\u0a52\u0a53\u0007\u0196\u0002\u0002\u0a53\u0a54\u0005\u03c6", - "\u01e4\u0002\u0a54\u00f7\u0003\u0002\u0002\u0002\u0a55\u0a56\u0007g", - "\u0002\u0002\u0a56\u0a57\u0007\u0135\u0002\u0002\u0a57\u0a58\u0007\u0196", - "\u0002\u0002\u0a58\u0a59\u0007\u0143\u0002\u0002\u0a59\u0a5a\u0005\u03c6", - "\u01e4\u0002\u0a5a\u00f9\u0003\u0002\u0002\u0002\u0a5b\u0a5c\u0007g", - "\u0002\u0002\u0a5c\u0a5d\u0007\u0135\u0002\u0002\u0a5d\u0a5e\u0007\u0121", - "\u0002\u0002\u0a5e\u0a5f\u0005\u03c6\u01e4\u0002\u0a5f\u00fb\u0003\u0002", - "\u0002\u0002\u0a60\u0a61\u0007g\u0002\u0002\u0a61\u0a62\u0007\u0136", - "\u0002\u0002\u0a62\u0a63\u0005\u03c6\u01e4\u0002\u0a63\u00fd\u0003\u0002", - "\u0002\u0002\u0a64\u0a66\u0007g\u0002\u0002\u0a65\u0a67\u0007\u01c0", - "\u0002\u0002\u0a66\u0a65\u0003\u0002\u0002\u0002\u0a66\u0a67\u0003\u0002", - "\u0002\u0002\u0a67\u0a68\u0003\u0002\u0002\u0002\u0a68\u0a69\u0007\u02d5", - "\u0002\u0002\u0a69\u0a6d\u0007\u008b\u0002\u0002\u0a6a\u0a6b\u0005\u03c6", - "\u01e4\u0002\u0a6b\u0a6c\u0007\u0337\u0002\u0002\u0a6c\u0a6e\u0003\u0002", - "\u0002\u0002\u0a6d\u0a6a\u0003\u0002\u0002\u0002\u0a6d\u0a6e\u0003\u0002", - "\u0002\u0002\u0a6e\u0a6f\u0003\u0002\u0002\u0002\u0a6f\u0a70\u0005\u03c6", - "\u01e4\u0002\u0a70\u0a7c\u0007&\u0002\u0002\u0a71\u0a73\u0007\u033e", - "\u0002\u0002\u0a72\u0a71\u0003\u0002\u0002\u0002\u0a72\u0a73\u0003\u0002", - "\u0002\u0002\u0a73\u0a74\u0003\u0002\u0002\u0002\u0a74\u0a75\u0007+", - "\u0002\u0002\u0a75\u0a7d\u0005\u03c6\u01e4\u0002\u0a76\u0a78\u0007\u033e", - "\u0002\u0002\u0a77\u0a76\u0003\u0002\u0002\u0002\u0a77\u0a78\u0003\u0002", - "\u0002\u0002\u0a78\u0a79\u0003\u0002\u0002\u0002\u0a79\u0a7a\u0007\u0012", - "\u0002\u0002\u0a7a\u0a7b\u0007\u00ac\u0002\u0002\u0a7b\u0a7d\u0005\u03c6", - "\u01e4\u0002\u0a7c\u0a72\u0003\u0002\u0002\u0002\u0a7c\u0a77\u0003\u0002", - "\u0002\u0002\u0a7d\u0a7e\u0003\u0002\u0002\u0002\u0a7e\u0a7c\u0003\u0002", - "\u0002\u0002\u0a7e\u0a7f\u0003\u0002\u0002\u0002\u0a7f\u00ff\u0003\u0002", - "\u0002\u0002\u0a80\u0a81\u0007g\u0002\u0002\u0a81\u0a85\u0007\u0148", - "\u0002\u0002\u0a82\u0a83\u0005\u03c6\u01e4\u0002\u0a83\u0a84\u0007\u0337", - "\u0002\u0002\u0a84\u0a86\u0003\u0002\u0002\u0002\u0a85\u0a82\u0003\u0002", - "\u0002\u0002\u0a85\u0a86\u0003\u0002\u0002\u0002\u0a86\u0a87\u0003\u0002", - "\u0002\u0002\u0a87\u0a88\u0005\u03c6\u01e4\u0002\u0a88\u0a89\u0007\u0337", - "\u0002\u0002\u0a89\u0a8a\u0005\u03c6\u01e4\u0002\u0a8a\u0101\u0003\u0002", - "\u0002\u0002\u0a8b\u0a8c\u0007g\u0002\u0002\u0a8c\u0a8d\u0007\u02eb", - "\u0002\u0002\u0a8d\u0a8e\u0007\u00ac\u0002\u0002\u0a8e\u0a92\u0005\u03c6", - "\u01e4\u0002\u0a8f\u0a90\u0007\u02a9\u0002\u0002\u0a90\u0a91\u0007\u0291", - "\u0002\u0002\u0a91\u0a93\u0007\u00ac\u0002\u0002\u0a92\u0a8f\u0003\u0002", - "\u0002\u0002\u0a92\u0a93\u0003\u0002\u0002\u0002\u0a93\u0103\u0003\u0002", - "\u0002\u0002\u0a94\u0a95\u0007g\u0002\u0002\u0a95\u0a98\u0007\u02ed", - "\u0002\u0002\u0a96\u0a97\u0007\u0099\u0002\u0002\u0a97\u0a99\u0007w", - "\u0002\u0002\u0a98\u0a96\u0003\u0002\u0002\u0002\u0a98\u0a99\u0003\u0002", - "\u0002\u0002\u0a99\u0a9d\u0003\u0002\u0002\u0002\u0a9a\u0a9b\u0005\u03c6", - "\u01e4\u0002\u0a9b\u0a9c\u0007\u0337\u0002\u0002\u0a9c\u0a9e\u0003\u0002", - "\u0002\u0002\u0a9d\u0a9a\u0003\u0002\u0002\u0002\u0a9d\u0a9e\u0003\u0002", - "\u0002\u0002\u0a9e\u0a9f\u0003\u0002\u0002\u0002\u0a9f\u0aa0\u0005\u03c6", - "\u01e4\u0002\u0aa0\u0105\u0003\u0002\u0002\u0002\u0aa1\u0aa2\u0007g", - "\u0002\u0002\u0aa2\u0aa5\u0007\u016e\u0002\u0002\u0aa3\u0aa4\u0007\u0099", - "\u0002\u0002\u0aa4\u0aa6\u0007w\u0002\u0002\u0aa5\u0aa3\u0003\u0002", - "\u0002\u0002\u0aa5\u0aa6\u0003\u0002\u0002\u0002\u0aa6\u0aa7\u0003\u0002", - "\u0002\u0002\u0aa7\u0aa8\u0005\u03c6\u01e4\u0002\u0aa8\u0107\u0003\u0002", - "\u0002\u0002\u0aa9\u0aaa\u0007g\u0002\u0002\u0aaa\u0aab\u0007\u0314", - "\u0002\u0002\u0aab\u0aac\u0007\u0092\u0002\u0002\u0aac\u0aad\u0005\u03c6", - "\u01e4\u0002\u0aad\u0109\u0003\u0002\u0002\u0002\u0aae\u0aaf\u0007g", - "\u0002\u0002\u0aaf\u0ab0\u0007\u0315\u0002\u0002\u0ab0\u0ab1\u0007\u012e", - "\u0002\u0002\u0ab1\u0ab5\u0007\u01b5\u0002\u0002\u0ab2\u0ab3\u0005\u03c6", - "\u01e4\u0002\u0ab3\u0ab4\u0007\u0337\u0002\u0002\u0ab4\u0ab6\u0003\u0002", - "\u0002\u0002\u0ab5\u0ab2\u0003\u0002\u0002\u0002\u0ab5\u0ab6\u0003\u0002", - "\u0002\u0002\u0ab6\u0ab7\u0003\u0002\u0002\u0002\u0ab7\u0ab8\u0005\u03c6", - "\u01e4\u0002\u0ab8\u010b\u0003\u0002\u0002\u0002\u0ab9\u0aba\u0007\u01e0", - "\u0002\u0002\u0aba\u0ac9\u0007\u0160\u0002\u0002\u0abb\u0abd\u0007\u033e", - "\u0002\u0002\u0abc\u0abb\u0003\u0002\u0002\u0002\u0abc\u0abd\u0003\u0002", - "\u0002\u0002\u0abd\u0ac1\u0003\u0002\u0002\u0002\u0abe\u0abf\u0005\u03c6", - "\u01e4\u0002\u0abf\u0ac0\u0007\u0337\u0002\u0002\u0ac0\u0ac2\u0003\u0002", - "\u0002\u0002\u0ac1\u0abe\u0003\u0002\u0002\u0002\u0ac1\u0ac2\u0003\u0002", - "\u0002\u0002\u0ac2\u0ac3\u0003\u0002\u0002\u0002\u0ac3\u0ac5\u0005\u03c6", - "\u01e4\u0002\u0ac4\u0abc\u0003\u0002\u0002\u0002\u0ac5\u0ac6\u0003\u0002", - "\u0002\u0002\u0ac6\u0ac4\u0003\u0002\u0002\u0002\u0ac6\u0ac7\u0003\u0002", - "\u0002\u0002\u0ac7\u0aca\u0003\u0002\u0002\u0002\u0ac8\u0aca\u0007\u0006", - "\u0002\u0002\u0ac9\u0ac4\u0003\u0002\u0002\u0002\u0ac9\u0ac8\u0003\u0002", - "\u0002\u0002\u0aca\u0acb\u0003\u0002\u0002\u0002\u0acb\u0ad5\u0007\u00e5", - "\u0002\u0002\u0acc\u0acd\u0005\u03c6\u01e4\u0002\u0acd\u0ace\u0007\u0337", - "\u0002\u0002\u0ace\u0ad0\u0003\u0002\u0002\u0002\u0acf\u0acc\u0003\u0002", - "\u0002\u0002\u0acf\u0ad0\u0003\u0002\u0002\u0002\u0ad0\u0ad1\u0003\u0002", - "\u0002\u0002\u0ad1\u0ad6\u0005\u03c6\u01e4\u0002\u0ad2\u0ad6\u0007T", - "\u0002\u0002\u0ad3\u0ad4\u0007\u0006\u0002\u0002\u0ad4\u0ad6\u0007\u0135", - "\u0002\u0002\u0ad5\u0acf\u0003\u0002\u0002\u0002\u0ad5\u0ad2\u0003\u0002", - "\u0002\u0002\u0ad5\u0ad3\u0003\u0002\u0002\u0002\u0ad6\u010d\u0003\u0002", - "\u0002\u0002\u0ad7\u0ad8\u0007\u01e9\u0002\u0002\u0ad8\u0ae7\u0007\u0160", - "\u0002\u0002\u0ad9\u0adb\u0007\u033e\u0002\u0002\u0ada\u0ad9\u0003\u0002", - "\u0002\u0002\u0ada\u0adb\u0003\u0002\u0002\u0002\u0adb\u0adf\u0003\u0002", - "\u0002\u0002\u0adc\u0add\u0005\u03c6\u01e4\u0002\u0add\u0ade\u0007\u0337", - "\u0002\u0002\u0ade\u0ae0\u0003\u0002\u0002\u0002\u0adf\u0adc\u0003\u0002", - "\u0002\u0002\u0adf\u0ae0\u0003\u0002\u0002\u0002\u0ae0\u0ae1\u0003\u0002", - "\u0002\u0002\u0ae1\u0ae3\u0005\u03c6\u01e4\u0002\u0ae2\u0ada\u0003\u0002", - "\u0002\u0002\u0ae3\u0ae4\u0003\u0002\u0002\u0002\u0ae4\u0ae2\u0003\u0002", - "\u0002\u0002\u0ae4\u0ae5\u0003\u0002\u0002\u0002\u0ae5\u0ae8\u0003\u0002", - "\u0002\u0002\u0ae6\u0ae8\u0007\u0006\u0002\u0002\u0ae7\u0ae2\u0003\u0002", - "\u0002\u0002\u0ae7\u0ae6\u0003\u0002\u0002\u0002\u0ae8\u0ae9\u0003\u0002", - "\u0002\u0002\u0ae9\u0af3\u0007\u00e5\u0002\u0002\u0aea\u0aeb\u0005\u03c6", - "\u01e4\u0002\u0aeb\u0aec\u0007\u0337\u0002\u0002\u0aec\u0aee\u0003\u0002", - "\u0002\u0002\u0aed\u0aea\u0003\u0002\u0002\u0002\u0aed\u0aee\u0003\u0002", - "\u0002\u0002\u0aee\u0aef\u0003\u0002\u0002\u0002\u0aef\u0af4\u0005\u03c6", - "\u01e4\u0002\u0af0\u0af4\u0007T\u0002\u0002\u0af1\u0af2\u0007\u0006", - "\u0002\u0002\u0af2\u0af4\u0007\u0135\u0002\u0002\u0af3\u0aed\u0003\u0002", - "\u0002\u0002\u0af3\u0af0\u0003\u0002\u0002\u0002\u0af3\u0af1\u0003\u0002", - "\u0002\u0002\u0af4\u010f\u0003\u0002\u0002\u0002\u0af5\u0af6\u0007\u0239", - "\u0002\u0002\u0af6\u0af7\u0007\u0153\u0002\u0002\u0af7\u0af8\u0005\u038e", - "\u01c8\u0002\u0af8\u0af9\u0007\u009b\u0002\u0002\u0af9\u0afa\t\u0016", - "\u0002\u0002\u0afa\u0afe\u0007\u0259\u0002\u0002\u0afb\u0afc\u0007\u0310", - "\u0002\u0002\u0afc\u0aff\u0007\u0322\u0002\u0002\u0afd\u0aff\u0007\u026c", - "\u0002\u0002\u0afe\u0afb\u0003\u0002\u0002\u0002\u0afe\u0afd\u0003\u0002", - "\u0002\u0002\u0afe\u0aff\u0003\u0002\u0002\u0002\u0aff\u0b01\u0003\u0002", - "\u0002\u0002\u0b00\u0b02\u0007\u033f\u0002\u0002\u0b01\u0b00\u0003\u0002", - "\u0002\u0002\u0b01\u0b02\u0003\u0002\u0002\u0002\u0b02\u0111\u0003\u0002", - "\u0002\u0002\u0b03\u0b04\u0007\u0161\u0002\u0002\u0b04\u0b05\u0007\u0153", - "\u0002\u0002\u0b05\u0b19\u0005\u038e\u01c8\u0002\u0b06\u0b07\u0007\u0179", - "\u0002\u0002\u0b07\u0b08\u0007\u033c\u0002\u0002\u0b08\u0b09\u0007\u0281", - "\u0002\u0002\u0b09\u0b13\u0007\u033c\u0002\u0002\u0b0a\u0b0c\u0007\u033e", - "\u0002\u0002\u0b0b\u0b0a\u0003\u0002\u0002\u0002\u0b0b\u0b0c\u0003\u0002", - "\u0002\u0002\u0b0c\u0b11\u0003\u0002\u0002\u0002\u0b0d\u0b12\u0007\u0322", - "\u0002\u0002\u0b0e\u0b0f\u0007\u0322\u0002\u0002\u0b0f\u0b10\u0007\u015a", - "\u0002\u0002\u0b10\u0b12\u0007\u0322\u0002\u0002\u0b11\u0b0d\u0003\u0002", - "\u0002\u0002\u0b11\u0b0e\u0003\u0002\u0002\u0002\u0b12\u0b14\u0003\u0002", - "\u0002\u0002\u0b13\u0b0b\u0003\u0002\u0002\u0002\u0b14\u0b15\u0003\u0002", - "\u0002\u0002\u0b15\u0b13\u0003\u0002\u0002\u0002\u0b15\u0b16\u0003\u0002", - "\u0002\u0002\u0b16\u0b17\u0003\u0002\u0002\u0002\u0b17\u0b18\u0007\u033d", - "\u0002\u0002\u0b18\u0b1a\u0007\u033d\u0002\u0002\u0b19\u0b06\u0003\u0002", - "\u0002\u0002\u0b19\u0b1a\u0003\u0002\u0002\u0002\u0b1a\u0113\u0003\u0002", - "\u0002\u0002\u0b1b\u0b1c\u0007I\u0002\u0002\u0b1c\u0b1d\u00078\u0002", - "\u0002\u0b1d\u0b1e\u0007\u00bd\u0002\u0002\u0b1e\u0b1f\u0007\u00ac\u0002", - "\u0002\u0b1f\u0b20\u0005\u03c6\u01e4\u0002\u0b20\u0b21\u0007\u0179\u0002", - "\u0002\u0b21\u0b22\u0007\u033c\u0002\u0002\u0b22\u0b23\u0007\u00ae\u0002", - "\u0002\u0b23\u0b24\u0007\u032a\u0002\u0002\u0b24\u0b25\u0007\u0326\u0002", - "\u0002\u0b25\u0b26\u0007\u033e\u0002\u0002\u0b26\u0b27\u0007\u00ad\u0002", - "\u0002\u0b27\u0b28\u0007\u032a\u0002\u0002\u0b28\u0b29\u0007\u0326\u0002", - "\u0002\u0b29\u0b2a\u0007\u033d\u0002\u0002\u0b2a\u0115\u0003\u0002\u0002", - "\u0002\u0b2b\u0b2c\u0007\n\u0002\u0002\u0b2c\u0b2d\u0007\u01c4\u0002", - "\u0002\u0b2d\u0b2e\u0005\u03c6\u01e4\u0002\u0b2e\u0b2f\u0007\u0179\u0002", - "\u0002\u0b2f\u0b30\u0007\u0096\u0002\u0002\u0b30\u0b31\u0007\u032a\u0002", - "\u0002\u0b31\u0b36\u0007\u0326\u0002\u0002\u0b32\u0b33\u0007\u033e\u0002", - "\u0002\u0b33\u0b34\u0007\u02c7\u0002\u0002\u0b34\u0b35\u0007\u032a\u0002", - "\u0002\u0b35\u0b37\u0007\u0326\u0002\u0002\u0b36\u0b32\u0003\u0002\u0002", - "\u0002\u0b36\u0b37\u0003\u0002\u0002\u0002\u0b37\u0117\u0003\u0002\u0002", - "\u0002\u0b38\u0b39\u0007I\u0002\u0002\u0b39\u0b3a\u0007\u01c4\u0002", - "\u0002\u0b3a\u0b3b\u0005\u03c6\u01e4\u0002\u0b3b\u0b3c\u0007\u0179\u0002", - "\u0002\u0b3c\u0b3d\u0007\u0096\u0002\u0002\u0b3d\u0b3e\u0007\u032a\u0002", - "\u0002\u0b3e\u0b43\u0007\u0326\u0002\u0002\u0b3f\u0b40\u0007\u033e\u0002", - "\u0002\u0b40\u0b41\u0007\u02c7\u0002\u0002\u0b41\u0b42\u0007\u032a\u0002", - "\u0002\u0b42\u0b44\u0007\u0326\u0002\u0002\u0b43\u0b3f\u0003\u0002\u0002", - "\u0002\u0b43\u0b44\u0003\u0002\u0002\u0002\u0b44\u0b49\u0003\u0002\u0002", - "\u0002\u0b45\u0b46\u0007\u0085\u0002\u0002\u0b46\u0b47\u0007\u01c5\u0002", - "\u0002\u0b47\u0b48\u0007\u0291\u0002\u0002\u0b48\u0b4a\u0005\u03c6\u01e4", - "\u0002\u0b49\u0b45\u0003\u0002\u0002\u0002\u0b49\u0b4a\u0003\u0002\u0002", - "\u0002\u0b4a\u0119\u0003\u0002\u0002\u0002\u0b4b\u0b4c\u0007\n\u0002", - "\u0002\u0b4c\u0b4d\u0007\u01c5\u0002\u0002\u0b4d\u0b4e\u0007\u0291\u0002", - "\u0002\u0b4e\u0b53\u0005\u03c6\u01e4\u0002\u0b4f\u0b50\u0007\u008b\u0002", - "\u0002\u0b50\u0b51\u0007\u0081\u0002\u0002\u0b51\u0b52\u0007\u032a\u0002", - "\u0002\u0b52\u0b54\u0007\u0326\u0002\u0002\u0b53\u0b4f\u0003\u0002\u0002", - "\u0002\u0b53\u0b54\u0003\u0002\u0002\u0002\u0b54\u0b56\u0003\u0002\u0002", - "\u0002\u0b55\u0b57\t\u0017\u0002\u0002\u0b56\u0b55\u0003\u0002\u0002", - "\u0002\u0b56\u0b57\u0003\u0002\u0002\u0002\u0b57\u011b\u0003\u0002\u0002", - "\u0002\u0b58\u0b59\u0007I\u0002\u0002\u0b59\u0b5a\u0007\u01c5\u0002", - "\u0002\u0b5a\u0b5b\u0007\u0291\u0002\u0002\u0b5b\u0b5c\u0005\u03c6\u01e4", - "\u0002\u0b5c\u0b5d\u0007\u008b\u0002\u0002\u0b5d\u0b5e\u0007\u0081\u0002", - "\u0002\u0b5e\u0b5f\u0007\u032a\u0002\u0002\u0b5f\u0b60\u0007\u0326\u0002", - "\u0002\u0b60\u011d\u0003\u0002\u0002\u0002\u0b61\u0b62\u0007I\u0002", - "\u0002\u0b62\u0b63\u0007q\u0002\u0002\u0b63\u0b64\u0007\u00dd\u0002", - "\u0002\u0b64\u0b65\u0005\u03c6\u01e4\u0002\u0b65\u0b6a\u0007\u00e5\u0002", - "\u0002\u0b66\u0b6b\u0007\u0135\u0002\u0002\u0b67\u0b6b\u0007T\u0002", - "\u0002\u0b68\u0b69\u0007\u0294\u0002\u0002\u0b69\u0b6b\u0005\u03c6\u01e4", - "\u0002\u0b6a\u0b66\u0003\u0002\u0002\u0002\u0b6a\u0b67\u0003\u0002\u0002", - "\u0002\u0b6a\u0b68\u0003\u0002\u0002\u0002\u0b6b\u0b6e\u0003\u0002\u0002", - "\u0002\u0b6c\u0b6d\u0007\u0179\u0002\u0002\u0b6d\u0b6f\u0007\u007f\u0002", - "\u0002\u0b6e\u0b6c\u0003\u0002\u0002\u0002\u0b6e\u0b6f\u0003\u0002\u0002", - "\u0002\u0b6f\u0b70\u0003\u0002\u0002\u0002\u0b70\u0b75\u0007\u0085\u0002", - "\u0002\u0b71\u0b73\u0007\u033e\u0002\u0002\u0b72\u0b71\u0003\u0002\u0002", - "\u0002\u0b72\u0b73\u0003\u0002\u0002\u0002\u0b73\u0b74\u0003\u0002\u0002", - "\u0002\u0b74\u0b76\u0005\u03c6\u01e4\u0002\u0b75\u0b72\u0003\u0002\u0002", - "\u0002\u0b76\u0b77\u0003\u0002\u0002\u0002\u0b77\u0b75\u0003\u0002\u0002", - "\u0002\u0b77\u0b78\u0003\u0002\u0002\u0002\u0b78\u0b79\u0003\u0002\u0002", - "\u0002\u0b79\u0b7a\u0007\u015a\u0002\u0002\u0b7a\u0b7b\u0007\u0136\u0002", - "\u0002\u0b7b\u0b7c\u0007\u0326\u0002\u0002\u0b7c\u0b7d\u0007\u033e\u0002", - "\u0002\u0b7d\u0b7e\u0007\u0326\u0002\u0002\u0b7e\u011f\u0003\u0002\u0002", - "\u0002\u0b7f\u0b80\t\u0014\u0002\u0002\u0b80\u0b81\u0007q\u0002\u0002", - "\u0b81\u0b82\u0007\u0139\u0002\u0002\u0b82\u0b83\u0005\u03c6\u01e4\u0002", - "\u0b83\u0b84\u0007\u00e5\u0002\u0002\u0b84\u0bc8\u0007\u0135\u0002\u0002", - "\u0b85\u0b87\u0007\u033e\u0002\u0002\u0b86\u0b85\u0003\u0002\u0002\u0002", - "\u0b86\u0b87\u0003\u0002\u0002\u0002\u0b87\u0b88\u0003\u0002\u0002\u0002", - "\u0b88\u0b89\u0007\u0004\u0002\u0002\u0b89\u0b8d\u0007q\u0002\u0002", - "\u0b8a\u0b8b\u0005\u03c6\u01e4\u0002\u0b8b\u0b8c\u0007\u0337\u0002\u0002", - "\u0b8c\u0b8e\u0003\u0002\u0002\u0002\u0b8d\u0b8a\u0003\u0002\u0002\u0002", - "\u0b8d\u0b8e\u0003\u0002\u0002\u0002\u0b8e\u0b8f\u0003\u0002\u0002\u0002", - "\u0b8f\u0b90\u0005\u03c6\u01e4\u0002\u0b90\u0b91\u0007\u0337\u0002\u0002", - "\u0b91\u0b92\u0005\u03c6\u01e4\u0002\u0b92\u0bc3\u0003\u0002\u0002\u0002", - "\u0b93\u0ba1\u0007\u033c\u0002\u0002\u0b94\u0b9e\u0007\u013b\u0002\u0002", - "\u0b95\u0b97\u0007\u033e\u0002\u0002\u0b96\u0b95\u0003\u0002\u0002\u0002", - "\u0b96\u0b97\u0003\u0002\u0002\u0002\u0b97\u0b98\u0003\u0002\u0002\u0002", - "\u0b98\u0b99\u0005\u03c6\u01e4\u0002\u0b99\u0b9a\u0007\u032a\u0002\u0002", - "\u0b9a\u0b9b\t\u0018\u0002\u0002\u0b9b\u0b9d\u0003\u0002\u0002\u0002", - "\u0b9c\u0b96\u0003\u0002\u0002\u0002\u0b9d\u0ba0\u0003\u0002\u0002\u0002", - "\u0b9e\u0b9c\u0003\u0002\u0002\u0002\u0b9e\u0b9f\u0003\u0002\u0002\u0002", - "\u0b9f\u0ba2\u0003\u0002\u0002\u0002\u0ba0\u0b9e\u0003\u0002\u0002\u0002", - "\u0ba1\u0b94\u0003\u0002\u0002\u0002\u0ba1\u0ba2\u0003\u0002\u0002\u0002", - "\u0ba2\u0bb7\u0003\u0002\u0002\u0002\u0ba3\u0ba4\u0007\u0180\u0002\u0002", - "\u0ba4\u0bb1\u0007\u033c\u0002\u0002\u0ba5\u0ba7\u0007\u033e\u0002\u0002", - "\u0ba6\u0ba5\u0003\u0002\u0002\u0002\u0ba6\u0ba7\u0003\u0002\u0002\u0002", - "\u0ba7\u0bab\u0003\u0002\u0002\u0002\u0ba8\u0ba9\u0005\u03c6\u01e4\u0002", - "\u0ba9\u0baa\u0007\u0337\u0002\u0002\u0baa\u0bac\u0003\u0002\u0002\u0002", - "\u0bab\u0ba8\u0003\u0002\u0002\u0002\u0bab\u0bac\u0003\u0002\u0002\u0002", - "\u0bac\u0bad\u0003\u0002\u0002\u0002\u0bad\u0bae\u0005\u03c6\u01e4\u0002", - "\u0bae\u0baf\u0007\u0337\u0002\u0002\u0baf\u0bb0\u0005\u03c6\u01e4\u0002", - "\u0bb0\u0bb2\u0003\u0002\u0002\u0002\u0bb1\u0ba6\u0003\u0002\u0002\u0002", - "\u0bb2\u0bb3\u0003\u0002\u0002\u0002\u0bb3\u0bb1\u0003\u0002\u0002\u0002", - "\u0bb3\u0bb4\u0003\u0002\u0002\u0002\u0bb4\u0bb5\u0003\u0002\u0002\u0002", - "\u0bb5\u0bb6\u0007\u033d\u0002\u0002\u0bb6\u0bb8\u0003\u0002\u0002\u0002", - "\u0bb7\u0ba3\u0003\u0002\u0002\u0002\u0bb8\u0bb9\u0003\u0002\u0002\u0002", - "\u0bb9\u0bb7\u0003\u0002\u0002\u0002\u0bb9\u0bba\u0003\u0002\u0002\u0002", - "\u0bba\u0bbd\u0003\u0002\u0002\u0002\u0bbb\u0bbc\u0007\u0176\u0002\u0002", - "\u0bbc\u0bbe\u0005\u0122\u0092\u0002\u0bbd\u0bbb\u0003\u0002\u0002\u0002", - "\u0bbd\u0bbe\u0003\u0002\u0002\u0002\u0bbe\u0bbf\u0003\u0002\u0002\u0002", - "\u0bbf\u0bc0\u0007\u033d\u0002\u0002\u0bc0\u0bc2\u0003\u0002\u0002\u0002", - "\u0bc1\u0b93\u0003\u0002\u0002\u0002\u0bc2\u0bc5\u0003\u0002\u0002\u0002", - "\u0bc3\u0bc1\u0003\u0002\u0002\u0002\u0bc3\u0bc4\u0003\u0002\u0002\u0002", - "\u0bc4\u0bc7\u0003\u0002\u0002\u0002\u0bc5\u0bc3\u0003\u0002\u0002\u0002", - "\u0bc6\u0b86\u0003\u0002\u0002\u0002\u0bc7\u0bca\u0003\u0002\u0002\u0002", - "\u0bc8\u0bc6\u0003\u0002\u0002\u0002\u0bc8\u0bc9\u0003\u0002\u0002\u0002", - "\u0bc9\u0bdb\u0003\u0002\u0002\u0002\u0bca\u0bc8\u0003\u0002\u0002\u0002", - "\u0bcb\u0bcd\u0007\u033e\u0002\u0002\u0bcc\u0bcb\u0003\u0002\u0002\u0002", - "\u0bcc\u0bcd\u0003\u0002\u0002\u0002\u0bcd\u0bce\u0003\u0002\u0002\u0002", - "\u0bce\u0bcf\u0007g\u0002\u0002\u0bcf\u0bd3\u0007q\u0002\u0002\u0bd0", - "\u0bd1\u0005\u03c6\u01e4\u0002\u0bd1\u0bd2\u0007\u0337\u0002\u0002\u0bd2", - "\u0bd4\u0003\u0002\u0002\u0002\u0bd3\u0bd0\u0003\u0002\u0002\u0002\u0bd3", - "\u0bd4\u0003\u0002\u0002\u0002\u0bd4\u0bd5\u0003\u0002\u0002\u0002\u0bd5", - "\u0bd6\u0005\u03c6\u01e4\u0002\u0bd6\u0bd7\u0007\u0337\u0002\u0002\u0bd7", - "\u0bd8\u0005\u03c6\u01e4\u0002\u0bd8\u0bda\u0003\u0002\u0002\u0002\u0bd9", - "\u0bcc\u0003\u0002\u0002\u0002\u0bda\u0bdd\u0003\u0002\u0002\u0002\u0bdb", - "\u0bd9\u0003\u0002\u0002\u0002\u0bdb\u0bdc\u0003\u0002\u0002\u0002\u0bdc", - "\u0c07\u0003\u0002\u0002\u0002\u0bdd\u0bdb\u0003\u0002\u0002\u0002\u0bde", - "\u0bdf\u0007\u0004\u0002\u0002\u0bdf\u0be3\u0007\u0156\u0002\u0002\u0be0", - "\u0be1\u0005\u03c6\u01e4\u0002\u0be1\u0be2\u0007\u0337\u0002\u0002\u0be2", - "\u0be4\u0003\u0002\u0002\u0002\u0be3\u0be0\u0003\u0002\u0002\u0002\u0be3", - "\u0be4\u0003\u0002\u0002\u0002\u0be4\u0be5\u0003\u0002\u0002\u0002\u0be5", - "\u0be6\u0005\u03c6\u01e4\u0002\u0be6\u0be7\u0007\u0337\u0002\u0002\u0be7", - "\u0be8\u0005\u03c6\u01e4\u0002\u0be8\u0c02\u0003\u0002\u0002\u0002\u0be9", - "\u0bea\u0007\u033c\u0002\u0002\u0bea\u0bfa\u0007\u013b\u0002\u0002\u0beb", - "\u0bed\u0007\u033e\u0002\u0002\u0bec\u0beb\u0003\u0002\u0002\u0002\u0bec", - "\u0bed\u0003\u0002\u0002\u0002\u0bed\u0bee\u0003\u0002\u0002\u0002\u0bee", - "\u0bef\u0005\u03c6\u01e4\u0002\u0bef\u0bf8\u0007\u032a\u0002\u0002\u0bf0", - "\u0bf2\u0007\u033c\u0002\u0002\u0bf1\u0bf0\u0003\u0002\u0002\u0002\u0bf1", - "\u0bf2\u0003\u0002\u0002\u0002\u0bf2\u0bf3\u0003\u0002\u0002\u0002\u0bf3", - "\u0bf5\u0007\u0322\u0002\u0002\u0bf4\u0bf6\u0007\u033d\u0002\u0002\u0bf5", - "\u0bf4\u0003\u0002\u0002\u0002\u0bf5\u0bf6\u0003\u0002\u0002\u0002\u0bf6", - "\u0bf9\u0003\u0002\u0002\u0002\u0bf7\u0bf9\u0007\u0326\u0002\u0002\u0bf8", - "\u0bf1\u0003\u0002\u0002\u0002\u0bf8\u0bf7\u0003\u0002\u0002\u0002\u0bf9", - "\u0bfb\u0003\u0002\u0002\u0002\u0bfa\u0bec\u0003\u0002\u0002\u0002\u0bfb", - "\u0bfc\u0003\u0002\u0002\u0002\u0bfc\u0bfa\u0003\u0002\u0002\u0002\u0bfc", - "\u0bfd\u0003\u0002\u0002\u0002\u0bfd\u0bfe\u0003\u0002\u0002\u0002\u0bfe", - "\u0bff\u0007\u033d\u0002\u0002\u0bff\u0c01\u0003\u0002\u0002\u0002\u0c00", - "\u0be9\u0003\u0002\u0002\u0002\u0c01\u0c04\u0003\u0002\u0002\u0002\u0c02", - "\u0c00\u0003\u0002\u0002\u0002\u0c02\u0c03\u0003\u0002\u0002\u0002\u0c03", - "\u0c06\u0003\u0002\u0002\u0002\u0c04\u0c02\u0003\u0002\u0002\u0002\u0c05", - "\u0bde\u0003\u0002\u0002\u0002\u0c06\u0c09\u0003\u0002\u0002\u0002\u0c07", - "\u0c05\u0003\u0002\u0002\u0002\u0c07\u0c08\u0003\u0002\u0002\u0002\u0c08", - "\u0c17\u0003\u0002\u0002\u0002\u0c09\u0c07\u0003\u0002\u0002\u0002\u0c0a", - "\u0c0b\u0007g\u0002\u0002\u0c0b\u0c0f\u0007\u0156\u0002\u0002\u0c0c", - "\u0c0d\u0005\u03c6\u01e4\u0002\u0c0d\u0c0e\u0007\u0337\u0002\u0002\u0c0e", - "\u0c10\u0003\u0002\u0002\u0002\u0c0f\u0c0c\u0003\u0002\u0002\u0002\u0c0f", - "\u0c10\u0003\u0002\u0002\u0002\u0c10\u0c11\u0003\u0002\u0002\u0002\u0c11", - "\u0c12\u0005\u03c6\u01e4\u0002\u0c12\u0c13\u0007\u0337\u0002\u0002\u0c13", - "\u0c14\u0005\u03c6\u01e4\u0002\u0c14\u0c16\u0003\u0002\u0002\u0002\u0c15", - "\u0c0a\u0003\u0002\u0002\u0002\u0c16\u0c19\u0003\u0002\u0002\u0002\u0c17", - "\u0c15\u0003\u0002\u0002\u0002\u0c17\u0c18\u0003\u0002\u0002\u0002\u0c18", - "\u0c5b\u0003\u0002\u0002\u0002\u0c19\u0c17\u0003\u0002\u0002\u0002\u0c1a", - "\u0c1b\u0007\u0179\u0002\u0002\u0c1b\u0c23\u0007\u033c\u0002\u0002\u0c1c", - "\u0c1e\u0007\u033e\u0002\u0002\u0c1d\u0c1c\u0003\u0002\u0002\u0002\u0c1d", - "\u0c1e\u0003\u0002\u0002\u0002\u0c1e\u0c1f\u0003\u0002\u0002\u0002\u0c1f", - "\u0c20\u0007\u00be\u0002\u0002\u0c20\u0c21\u0007\u032a\u0002\u0002\u0c21", - "\u0c22\u0007\u0322\u0002\u0002\u0c22\u0c24\t\u0019\u0002\u0002\u0c23", - "\u0c1d\u0003\u0002\u0002\u0002\u0c23\u0c24\u0003\u0002\u0002\u0002\u0c24", - "\u0c2b\u0003\u0002\u0002\u0002\u0c25\u0c27\u0007\u033e\u0002\u0002\u0c26", - "\u0c25\u0003\u0002\u0002\u0002\u0c26\u0c27\u0003\u0002\u0002\u0002\u0c27", - "\u0c28\u0003\u0002\u0002\u0002\u0c28\u0c29\u0007s\u0002\u0002\u0c29", - "\u0c2a\u0007\u032a\u0002\u0002\u0c2a\u0c2c\t\u001a\u0002\u0002\u0c2b", - "\u0c26\u0003\u0002\u0002\u0002\u0c2b\u0c2c\u0003\u0002\u0002\u0002\u0c2c", - "\u0c37\u0003\u0002\u0002\u0002\u0c2d\u0c2f\u0007\u033e\u0002\u0002\u0c2e", - "\u0c2d\u0003\u0002\u0002\u0002\u0c2e\u0c2f\u0003\u0002\u0002\u0002\u0c2f", - "\u0c30\u0003\u0002\u0002\u0002\u0c30\u0c31\u0007\u00c1\u0002\u0002\u0c31", - "\u0c35\u0007\u032a\u0002\u0002\u0c32\u0c33\u0007\u0322\u0002\u0002\u0c33", - "\u0c36\u0007\u02c6\u0002\u0002\u0c34\u0c36\u0007\u009f\u0002\u0002\u0c35", - "\u0c32\u0003\u0002\u0002\u0002\u0c35\u0c34\u0003\u0002\u0002\u0002\u0c36", - "\u0c38\u0003\u0002\u0002\u0002\u0c37\u0c2e\u0003\u0002\u0002\u0002\u0c37", - "\u0c38\u0003\u0002\u0002\u0002\u0c38\u0c40\u0003\u0002\u0002\u0002\u0c39", - "\u0c3b\u0007\u033e\u0002\u0002\u0c3a\u0c39\u0003\u0002\u0002\u0002\u0c3a", - "\u0c3b\u0003\u0002\u0002\u0002\u0c3b\u0c3c\u0003\u0002\u0002\u0002\u0c3c", - "\u0c3d\u0007\u00c2\u0002\u0002\u0c3d\u0c3e\u0007\u032a\u0002\u0002\u0c3e", - "\u0c3f\u0007\u0322\u0002\u0002\u0c3f\u0c41\t\u0019\u0002\u0002\u0c40", - "\u0c3a\u0003\u0002\u0002\u0002\u0c40\u0c41\u0003\u0002\u0002\u0002\u0c41", - "\u0c48\u0003\u0002\u0002\u0002\u0c42\u0c44\u0007\u033e\u0002\u0002\u0c43", - "\u0c42\u0003\u0002\u0002\u0002\u0c43\u0c44\u0003\u0002\u0002\u0002\u0c44", - "\u0c45\u0003\u0002\u0002\u0002\u0c45\u0c46\u0007\u00c8\u0002\u0002\u0c46", - "\u0c47\u0007\u032a\u0002\u0002\u0c47\u0c49\t\u001b\u0002\u0002\u0c48", - "\u0c43\u0003\u0002\u0002\u0002\u0c48\u0c49\u0003\u0002\u0002\u0002\u0c49", - "\u0c50\u0003\u0002\u0002\u0002\u0c4a\u0c4c\u0007\u033e\u0002\u0002\u0c4b", - "\u0c4a\u0003\u0002\u0002\u0002\u0c4b\u0c4c\u0003\u0002\u0002\u0002\u0c4c", - "\u0c4d\u0003\u0002\u0002\u0002\u0c4d\u0c4e\u0007\u015c\u0002\u0002\u0c4e", - "\u0c4f\u0007\u032a\u0002\u0002\u0c4f\u0c51\t\t\u0002\u0002\u0c50\u0c4b", - "\u0003\u0002\u0002\u0002\u0c50\u0c51\u0003\u0002\u0002\u0002\u0c51\u0c58", - "\u0003\u0002\u0002\u0002\u0c52\u0c54\u0007\u033e\u0002\u0002\u0c53\u0c52", - "\u0003\u0002\u0002\u0002\u0c53\u0c54\u0003\u0002\u0002\u0002\u0c54\u0c55", - "\u0003\u0002\u0002\u0002\u0c55\u0c56\u0007\u014d\u0002\u0002\u0c56\u0c57", - "\u0007\u032a\u0002\u0002\u0c57\u0c59\t\t\u0002\u0002\u0c58\u0c53\u0003", - "\u0002\u0002\u0002\u0c58\u0c59\u0003\u0002\u0002\u0002\u0c59\u0c5a\u0003", - "\u0002\u0002\u0002\u0c5a\u0c5c\u0007\u033d\u0002\u0002\u0c5b\u0c1a\u0003", - "\u0002\u0002\u0002\u0c5b\u0c5c\u0003\u0002\u0002\u0002\u0c5c\u0c60\u0003", - "\u0002\u0002\u0002\u0c5d\u0c5e\u0007\u0149\u0002\u0002\u0c5e\u0c5f\u0007", - "\u032a\u0002\u0002\u0c5f\u0c61\t\u001c\u0002\u0002\u0c60\u0c5d\u0003", - "\u0002\u0002\u0002\u0c60\u0c61\u0003\u0002\u0002\u0002\u0c61\u0121\u0003", - "\u0002\u0002\u0002\u0c62\u0c64\u0007\u033e\u0002\u0002\u0c63\u0c62\u0003", - "\u0002\u0002\u0002\u0c63\u0c64\u0003\u0002\u0002\u0002\u0c64\u0c66\u0003", - "\u0002\u0002\u0002\u0c65\u0c67\t\u001d\u0002\u0002\u0c66\u0c65\u0003", - "\u0002\u0002\u0002\u0c66\u0c67\u0003\u0002\u0002\u0002\u0c67\u0c69\u0003", - "\u0002\u0002\u0002\u0c68\u0c6a\u0007\u00dc\u0002\u0002\u0c69\u0c68\u0003", - "\u0002\u0002\u0002\u0c69\u0c6a\u0003\u0002\u0002\u0002\u0c6a\u0c70\u0003", - "\u0002\u0002\u0002\u0c6b\u0c71\u0005\u0124\u0093\u0002\u0c6c\u0c6d\u0007", - "\u033c\u0002\u0002\u0c6d\u0c6e\u0005\u0122\u0092\u0002\u0c6e\u0c6f\u0007", - "\u033d\u0002\u0002\u0c6f\u0c71\u0003\u0002\u0002\u0002\u0c70\u0c6b\u0003", - "\u0002\u0002\u0002\u0c70\u0c6c\u0003\u0002\u0002\u0002\u0c71\u0c73\u0003", - "\u0002\u0002\u0002\u0c72\u0c63\u0003\u0002\u0002\u0002\u0c73\u0c74\u0003", - "\u0002\u0002\u0002\u0c74\u0c72\u0003\u0002\u0002\u0002\u0c74\u0c75\u0003", - "\u0002\u0002\u0002\u0c75\u0123\u0003\u0002\u0002\u0002\u0c76\u0c7c\u0005", - "\u0126\u0094\u0002\u0c77\u0c78\u0007\u033c\u0002\u0002\u0c78\u0c79\u0005", - "\u0122\u0092\u0002\u0c79\u0c7a\u0007\u033d\u0002\u0002\u0c7a\u0c7c\u0003", - "\u0002\u0002\u0002\u0c7b\u0c76\u0003\u0002\u0002\u0002\u0c7b\u0c77\u0003", - "\u0002\u0002\u0002\u0c7c\u0125\u0003\u0002\u0002\u0002\u0c7d\u0c9a\u0005", - "\u03c6\u01e4\u0002\u0c7e\u0c89\u0005\u03c6\u01e4\u0002\u0c7f\u0c80\u0005", - "\u03c6\u01e4\u0002\u0c80\u0c81\u0007\u0337\u0002\u0002\u0c81\u0c83\u0003", - "\u0002\u0002\u0002\u0c82\u0c7f\u0003\u0002\u0002\u0002\u0c82\u0c83\u0003", - "\u0002\u0002\u0002\u0c83\u0c84\u0003\u0002\u0002\u0002\u0c84\u0c85\u0005", - "\u03c6\u01e4\u0002\u0c85\u0c86\u0007\u0337\u0002\u0002\u0c86\u0c87\u0005", - "\u03c6\u01e4\u0002\u0c87\u0c89\u0003\u0002\u0002\u0002\u0c88\u0c7e\u0003", - "\u0002\u0002\u0002\u0c88\u0c82\u0003\u0002\u0002\u0002\u0c89\u0c95\u0003", - "\u0002\u0002\u0002\u0c8a\u0c96\u0007\u032a\u0002\u0002\u0c8b\u0c8c\u0007", - "\u032c\u0002\u0002\u0c8c\u0c96\u0007\u032b\u0002\u0002\u0c8d\u0c8e\u0007", - "\u032d\u0002\u0002\u0c8e\u0c96\u0007\u032a\u0002\u0002\u0c8f\u0c96\u0007", - "\u032b\u0002\u0002\u0c90\u0c91\u0007\u032b\u0002\u0002\u0c91\u0c96\u0007", - "\u032a\u0002\u0002\u0c92\u0c96\u0007\u032c\u0002\u0002\u0c93\u0c94\u0007", - "\u032c\u0002\u0002\u0c94\u0c96\u0007\u032a\u0002\u0002\u0c95\u0c8a\u0003", - "\u0002\u0002\u0002\u0c95\u0c8b\u0003\u0002\u0002\u0002\u0c95\u0c8d\u0003", - "\u0002\u0002\u0002\u0c95\u0c8f\u0003\u0002\u0002\u0002\u0c95\u0c90\u0003", - "\u0002\u0002\u0002\u0c95\u0c92\u0003\u0002\u0002\u0002\u0c95\u0c93\u0003", - "\u0002\u0002\u0002\u0c96\u0c97\u0003\u0002\u0002\u0002\u0c97\u0c98\t", - "\u0018\u0002\u0002\u0c98\u0c9a\u0003\u0002\u0002\u0002\u0c99\u0c7d\u0003", - "\u0002\u0002\u0002\u0c99\u0c88\u0003\u0002\u0002\u0002\u0c9a\u0cb6\u0003", - "\u0002\u0002\u0002\u0c9b\u0c9c\u0005\u03c6\u01e4\u0002\u0c9c\u0c9d\u0007", - "\u0337\u0002\u0002\u0c9d\u0c9f\u0003\u0002\u0002\u0002\u0c9e\u0c9b\u0003", - "\u0002\u0002\u0002\u0c9e\u0c9f\u0003\u0002\u0002\u0002\u0c9f\u0ca0\u0003", - "\u0002\u0002\u0002\u0ca0\u0ca1\u0005\u03c6\u01e4\u0002\u0ca1\u0ca2\u0007", - "\u0337\u0002\u0002\u0ca2\u0ca3\u0005\u03c6\u01e4\u0002\u0ca3\u0cb1\u0007", - "\u033c\u0002\u0002\u0ca4\u0cb2\u0005\u03c6\u01e4\u0002\u0ca5\u0ca6\u0005", - "\u03c6\u01e4\u0002\u0ca6\u0ca7\u0007\u0337\u0002\u0002\u0ca7\u0ca9\u0003", - "\u0002\u0002\u0002\u0ca8\u0ca5\u0003\u0002\u0002\u0002\u0ca8\u0ca9\u0003", - "\u0002\u0002\u0002\u0ca9\u0caa\u0003\u0002\u0002\u0002\u0caa\u0cab\u0005", - "\u03c6\u01e4\u0002\u0cab\u0cac\u0007\u0337\u0002\u0002\u0cac\u0cad\u0005", - "\u03c6\u01e4\u0002\u0cad\u0cae\u0003\u0002\u0002\u0002\u0cae\u0caf\u0007", - "\u033e\u0002\u0002\u0caf\u0cb0\t\u0018\u0002\u0002\u0cb0\u0cb2\u0003", - "\u0002\u0002\u0002\u0cb1\u0ca4\u0003\u0002\u0002\u0002\u0cb1\u0ca8\u0003", - "\u0002\u0002\u0002\u0cb2\u0cb3\u0003\u0002\u0002\u0002\u0cb3\u0cb4\u0007", - "\u033d\u0002\u0002\u0cb4\u0cb6\u0003\u0002\u0002\u0002\u0cb5\u0c99\u0003", - "\u0002\u0002\u0002\u0cb5\u0c9e\u0003\u0002\u0002\u0002\u0cb6\u0127\u0003", - "\u0002\u0002\u0002\u0cb7\u0cb8\u0007\n\u0002\u0002\u0cb8\u0cb9\u0007", - "{\u0002\u0002\u0cb9\u0cba\u0007\u01c8\u0002\u0002\u0cba\u0cbb\u0007", - "\u0142\u0002\u0002\u0cbb\u0cbc\u0005\u03c6\u01e4\u0002\u0cbc\u0ccc\u0007", - "\u013b\u0002\u0002\u0cbd\u0cbe\u0007\u0238\u0002\u0002\u0cbe\u0cbf\u0007", - "\u032a\u0002\u0002\u0cbf\u0cc1\t\u001e\u0002\u0002\u0cc0\u0cc2\u0007", - "\u033e\u0002\u0002\u0cc1\u0cc0\u0003\u0002\u0002\u0002\u0cc1\u0cc2\u0003", - "\u0002\u0002\u0002\u0cc2\u0ccd\u0003\u0002\u0002\u0002\u0cc3\u0cc4\u0007", - "\u02b3\u0002\u0002\u0cc4\u0cc5\u0007\u032a\u0002\u0002\u0cc5\u0cc7\t", - "\u001e\u0002\u0002\u0cc6\u0cc8\u0007\u033e\u0002\u0002\u0cc7\u0cc6\u0003", - "\u0002\u0002\u0002\u0cc7\u0cc8\u0003\u0002\u0002\u0002\u0cc8\u0ccd\u0003", - "\u0002\u0002\u0002\u0cc9\u0cca\u0007\u01c4\u0002\u0002\u0cca\u0ccb\u0007", - "\u032a\u0002\u0002\u0ccb\u0ccd\u0005\u03c6\u01e4\u0002\u0ccc\u0cbd\u0003", - "\u0002\u0002\u0002\u0ccc\u0cc3\u0003\u0002\u0002\u0002\u0ccc\u0cc9\u0003", - "\u0002\u0002\u0002\u0ccd\u0cce\u0003\u0002\u0002\u0002\u0cce\u0ccc\u0003", - "\u0002\u0002\u0002\u0cce\u0ccf\u0003\u0002\u0002\u0002\u0ccf\u0ce7\u0003", - "\u0002\u0002\u0002\u0cd0\u0cd1\u0007\n\u0002\u0002\u0cd1\u0cd2\u0007", - "{\u0002\u0002\u0cd2\u0cd3\u0007\u01c8\u0002\u0002\u0cd3\u0cd4\u0007", - "\u0142\u0002\u0002\u0cd4\u0cd5\u0005\u03c6\u01e4\u0002\u0cd5\u0cd6\u0007", - "\u0179\u0002\u0002\u0cd6\u0cd7\u0007\u033c\u0002\u0002\u0cd7\u0cd8\u0007", - "\u0301\u0002\u0002\u0cd8\u0cd9\u0007\u032a\u0002\u0002\u0cd9\u0cda\u0007", - "\u01a7\u0002\u0002\u0cda\u0cdb\u0007\u033e\u0002\u0002\u0cdb\u0cdc\u0007", - "\u0238\u0002\u0002\u0cdc\u0cdd\u0007\u032a\u0002\u0002\u0cdd\u0ce2\u0007", - "\u0326\u0002\u0002\u0cde\u0cdf\u0007\u033e\u0002\u0002\u0cdf\u0ce0\u0007", - "\u01c4\u0002\u0002\u0ce0\u0ce1\u0007\u032a\u0002\u0002\u0ce1\u0ce3\u0005", - "\u03c6\u01e4\u0002\u0ce2\u0cde\u0003\u0002\u0002\u0002\u0ce2\u0ce3\u0003", - "\u0002\u0002\u0002\u0ce3\u0ce4\u0003\u0002\u0002\u0002\u0ce4\u0ce5\u0007", - "\u033d\u0002\u0002\u0ce5\u0ce7\u0003\u0002\u0002\u0002\u0ce6\u0cb7\u0003", - "\u0002\u0002\u0002\u0ce6\u0cd0\u0003\u0002\u0002\u0002\u0ce7\u0129\u0003", - "\u0002\u0002\u0002\u0ce8\u0ce9\u0007\n\u0002\u0002\u0ce9\u0cea\u0007", - "{\u0002\u0002\u0cea\u0ceb\u0007\u00b2\u0002\u0002\u0ceb\u0cee\u0005", - "\u03c6\u01e4\u0002\u0cec\u0ced\u0007\u0014\u0002\u0002\u0ced\u0cef\u0005", - "\u03c6\u01e4\u0002\u0cee\u0cec\u0003\u0002\u0002\u0002\u0cee\u0cef\u0003", - "\u0002\u0002\u0002\u0cef\u0cf0\u0003\u0002\u0002\u0002\u0cf0\u0cf1\t", - "\u001f\u0002\u0002\u0cf1\u0cf2\u0007\u033c\u0002\u0002\u0cf2\u0cf3\u0007", - "\u01bb\u0002\u0002\u0cf3\u0cf7\u0007\u032a\u0002\u0002\u0cf4\u0cf8\u0007", - "\u0326\u0002\u0002\u0cf5\u0cf8\u0007\u0327\u0002\u0002\u0cf6\u0cf8\u0007", - "\u00d5\u0002\u0002\u0cf7\u0cf4\u0003\u0002\u0002\u0002\u0cf7\u0cf5\u0003", - "\u0002\u0002\u0002\u0cf7\u0cf6\u0003\u0002\u0002\u0002\u0cf8\u0cf9\u0003", - "\u0002\u0002\u0002\u0cf9\u0cfa\u0007\u033e\u0002\u0002\u0cfa\u0cfb\u0007", - "\u00fc\u0002\u0002\u0cfb\u0cfd\u0007\u032a\u0002\u0002\u0cfc\u0cfe\t", - " \u0002\u0002\u0cfd\u0cfc\u0003\u0002\u0002\u0002\u0cfd\u0cfe\u0003", - "\u0002\u0002\u0002\u0cfe\u0cff\u0003\u0002\u0002\u0002\u0cff\u0d00\u0007", - "\u033d\u0002\u0002\u0d00\u0d01\u0003\u0002\u0002\u0002\u0d01\u0d0b\u0007", - "\u0179\u0002\u0002\u0d02\u0d04\u0007\u033e\u0002\u0002\u0d03\u0d02\u0003", - "\u0002\u0002\u0002\u0d03\u0d04\u0003\u0002\u0002\u0002\u0d04\u0d05\u0003", - "\u0002\u0002\u0002\u0d05\u0d06\u0007\u00b0\u0002\u0002\u0d06\u0d07\u0007", - "\u032a\u0002\u0002\u0d07\u0d0c\t!\u0002\u0002\u0d08\u0d09\u0007S\u0002", - "\u0002\u0d09\u0d0a\u0007\u032a\u0002\u0002\u0d0a\u0d0c\u0005\u03c6\u01e4", - "\u0002\u0d0b\u0d03\u0003\u0002\u0002\u0002\u0d0b\u0d08\u0003\u0002\u0002", - "\u0002\u0d0c\u0d0d\u0003\u0002\u0002\u0002\u0d0d\u0d0b\u0003\u0002\u0002", - "\u0002\u0d0d\u0d0e\u0003\u0002\u0002\u0002\u0d0e\u0d0f\u0003\u0002\u0002", - "\u0002\u0d0f\u0d10\u0007\u033d\u0002\u0002\u0d10\u012b\u0003\u0002\u0002", - "\u0002\u0d11\u0d12\u0007I\u0002\u0002\u0d12\u0d13\u0007{\u0002\u0002", - "\u0d13\u0d14\u0007\u00b2\u0002\u0002\u0d14\u0d17\u0005\u03c6\u01e4\u0002", - "\u0d15\u0d16\u0007\u0014\u0002\u0002\u0d16\u0d18\u0005\u03c6\u01e4\u0002", - "\u0d17\u0d15\u0003\u0002\u0002\u0002\u0d17\u0d18\u0003\u0002\u0002\u0002", - "\u0d18\u0d19\u0003\u0002\u0002\u0002\u0d19\u0d1b\u0007\u008b\u0002\u0002", - "\u0d1a\u0d1c\u0007\u033e\u0002\u0002\u0d1b\u0d1a\u0003\u0002\u0002\u0002", - "\u0d1b\u0d1c\u0003\u0002\u0002\u0002\u0d1c\u0d1e\u0003\u0002\u0002\u0002", - "\u0d1d\u0d1f\u0007\u033c\u0002\u0002\u0d1e\u0d1d\u0003\u0002\u0002\u0002", - "\u0d1e\u0d1f\u0003\u0002\u0002\u0002\u0d1f\u0d22\u0003\u0002\u0002\u0002", - "\u0d20\u0d21\u0007\u01bb\u0002\u0002\u0d21\u0d23\u0007\u032a\u0002\u0002", - "\u0d22\u0d20\u0003\u0002\u0002\u0002\u0d22\u0d23\u0003\u0002\u0002\u0002", - "\u0d23\u0d27\u0003\u0002\u0002\u0002\u0d24\u0d28\u0007\u0326\u0002\u0002", - "\u0d25\u0d28\u0007\u0327\u0002\u0002\u0d26\u0d28\u0007\u00d5\u0002\u0002", - "\u0d27\u0d24\u0003\u0002\u0002\u0002\u0d27\u0d25\u0003\u0002\u0002\u0002", - "\u0d27\u0d26\u0003\u0002\u0002\u0002\u0d28\u0d30\u0003\u0002\u0002\u0002", - "\u0d29\u0d2a\u0007\u033e\u0002\u0002\u0d2a\u0d2b\u0007\u00fc\u0002\u0002", - "\u0d2b\u0d2d\u0007\u032a\u0002\u0002\u0d2c\u0d2e\t \u0002\u0002\u0d2d", - "\u0d2c\u0003\u0002\u0002\u0002\u0d2d\u0d2e\u0003\u0002\u0002\u0002\u0d2e", - "\u0d2f\u0003\u0002\u0002\u0002\u0d2f\u0d31\u0007\u033d\u0002\u0002\u0d30", - "\u0d29\u0003\u0002\u0002\u0002\u0d30\u0d31\u0003\u0002\u0002\u0002\u0d31", - "\u0d41\u0003\u0002\u0002\u0002\u0d32\u0d3c\u0007\u0179\u0002\u0002\u0d33", - "\u0d35\u0007\u033e\u0002\u0002\u0d34\u0d33\u0003\u0002\u0002\u0002\u0d34", - "\u0d35\u0003\u0002\u0002\u0002\u0d35\u0d36\u0003\u0002\u0002\u0002\u0d36", - "\u0d37\u0007\u00b0\u0002\u0002\u0d37\u0d38\u0007\u032a\u0002\u0002\u0d38", - "\u0d3d\t!\u0002\u0002\u0d39\u0d3a\u0007S\u0002\u0002\u0d3a\u0d3b\u0007", - "\u032a\u0002\u0002\u0d3b\u0d3d\u0005\u03c6\u01e4\u0002\u0d3c\u0d34\u0003", - "\u0002\u0002\u0002\u0d3c\u0d39\u0003\u0002\u0002\u0002\u0d3d\u0d3e\u0003", - "\u0002\u0002\u0002\u0d3e\u0d3c\u0003\u0002\u0002\u0002\u0d3e\u0d3f\u0003", - "\u0002\u0002\u0002\u0d3f\u0d40\u0003\u0002\u0002\u0002\u0d40\u0d42\u0007", - "\u033d\u0002\u0002\u0d41\u0d32\u0003\u0002\u0002\u0002\u0d41\u0d42\u0003", - "\u0002\u0002\u0002\u0d42\u012d\u0003\u0002\u0002\u0002\u0d43\u0d44\u0007", - "\n\u0002\u0002\u0d44\u0d45\u0007{\u0002\u0002\u0d45\u0d46\u0007\u02b2", - "\u0002\u0002\u0d46\u0d49\u0007\u0285\u0002\u0002\u0d47\u0d4a\u0005\u03c6", - "\u01e4\u0002\u0d48\u0d4a\u0007\u01d2\u0002\u0002\u0d49\u0d47\u0003\u0002", - "\u0002\u0002\u0d49\u0d48\u0003\u0002\u0002\u0002\u0d4a\u0d4b\u0003\u0002", - "\u0002\u0002\u0d4b\u0d4c\u0007\u0179\u0002\u0002\u0d4c\u0d4d\u0007\u033c", - "\u0002\u0002\u0d4d\u0d4e\u0007\u0242\u0002\u0002\u0d4e\u0d4f\u0007\u032a", - "\u0002\u0002\u0d4f\u0d75\u0007\u0322\u0002\u0002\u0d50\u0d52\u0007\u033e", - "\u0002\u0002\u0d51\u0d50\u0003\u0002\u0002\u0002\u0d51\u0d52\u0003\u0002", - "\u0002\u0002\u0d52\u0d53\u0003\u0002\u0002\u0002\u0d53\u0d54\u0007\u0187", - "\u0002\u0002\u0d54\u0d55\u0007\u01c1\u0002\u0002\u0d55\u0d63\u0007\u032a", - "\u0002\u0002\u0d56\u0d64\u0007\u0198\u0002\u0002\u0d57\u0d59\u0007\u033e", - "\u0002\u0002\u0d58\u0d57\u0003\u0002\u0002\u0002\u0d58\u0d59\u0003\u0002", - "\u0002\u0002\u0d59\u0d5a\u0003\u0002\u0002\u0002\u0d5a\u0d5b\u0007\u0322", - "\u0002\u0002\u0d5b\u0d5c\u0007\u015a\u0002\u0002\u0d5c\u0d60\u0007\u0322", - "\u0002\u0002\u0d5d\u0d5e\u0007\u033e\u0002\u0002\u0d5e\u0d60\u0007\u0322", - "\u0002\u0002\u0d5f\u0d58\u0003\u0002\u0002\u0002\u0d5f\u0d5d\u0003\u0002", - "\u0002\u0002\u0d60\u0d61\u0003\u0002\u0002\u0002\u0d61\u0d5f\u0003\u0002", - "\u0002\u0002\u0d61\u0d62\u0003\u0002\u0002\u0002\u0d62\u0d64\u0003\u0002", - "\u0002\u0002\u0d63\u0d56\u0003\u0002\u0002\u0002\u0d63\u0d5f\u0003\u0002", - "\u0002\u0002\u0d64\u0d76\u0003\u0002\u0002\u0002\u0d65\u0d66\u0007\u026e", - "\u0002\u0002\u0d66\u0d71\u0007\u032a\u0002\u0002\u0d67\u0d69\u0007\u033e", - "\u0002\u0002\u0d68\u0d67\u0003\u0002\u0002\u0002\u0d68\u0d69\u0003\u0002", - "\u0002\u0002\u0d69\u0d6a\u0003\u0002\u0002\u0002\u0d6a\u0d6b\u0007\u0322", - "\u0002\u0002\u0d6b\u0d6c\u0007\u015a\u0002\u0002\u0d6c\u0d72\u0007\u0322", - "\u0002\u0002\u0d6d\u0d6f\u0007\u033e\u0002\u0002\u0d6e\u0d6d\u0003\u0002", - "\u0002\u0002\u0d6e\u0d6f\u0003\u0002\u0002\u0002\u0d6f\u0d70\u0003\u0002", - "\u0002\u0002\u0d70\u0d72\u0007\u0322\u0002\u0002\u0d71\u0d68\u0003\u0002", - "\u0002\u0002\u0d71\u0d6e\u0003\u0002\u0002\u0002\u0d72\u0d73\u0003\u0002", - "\u0002\u0002\u0d73\u0d71\u0003\u0002\u0002\u0002\u0d73\u0d74\u0003\u0002", - "\u0002\u0002\u0d74\u0d76\u0003\u0002\u0002\u0002\u0d75\u0d51\u0003\u0002", - "\u0002\u0002\u0d75\u0d65\u0003\u0002\u0002\u0002\u0d76\u0d7d\u0003\u0002", - "\u0002\u0002\u0d77\u0d79\u0007\u033e\u0002\u0002\u0d78\u0d77\u0003\u0002", - "\u0002\u0002\u0d78\u0d79\u0003\u0002\u0002\u0002\u0d79\u0d7a\u0003\u0002", - "\u0002\u0002\u0d7a\u0d7b\u0007\u0246\u0002\u0002\u0d7b\u0d7c\u0007\u032a", - "\u0002\u0002\u0d7c\u0d7e\u0007\u0322\u0002\u0002\u0d7d\u0d78\u0003\u0002", - "\u0002\u0002\u0d7d\u0d7e\u0003\u0002\u0002\u0002\u0d7e\u0d85\u0003\u0002", - "\u0002\u0002\u0d7f\u0d81\u0007\u033e\u0002\u0002\u0d80\u0d7f\u0003\u0002", - "\u0002\u0002\u0d80\u0d81\u0003\u0002\u0002\u0002\u0d81\u0d82\u0003\u0002", - "\u0002\u0002\u0d82\u0d83\u0007\u0247\u0002\u0002\u0d83\u0d84\u0007\u032a", - "\u0002\u0002\u0d84\u0d86\u0007\u0322\u0002\u0002\u0d85\u0d80\u0003\u0002", - "\u0002\u0002\u0d85\u0d86\u0003\u0002\u0002\u0002\u0d86\u0d87\u0003\u0002", - "\u0002\u0002\u0d87\u0d88\u0007\u033d\u0002\u0002\u0d88\u012f\u0003\u0002", - "\u0002\u0002\u0d89\u0d8a\u0007I\u0002\u0002\u0d8a\u0d8b\u0007{\u0002", - "\u0002\u0d8b\u0d8c\u0007\u02b2\u0002\u0002\u0d8c\u0d8d\u0007\u0285\u0002", - "\u0002\u0d8d\u0d8e\u0005\u03c6\u01e4\u0002\u0d8e\u0d8f\u0007\u0179\u0002", - "\u0002\u0d8f\u0d90\u0007\u033c\u0002\u0002\u0d90\u0d91\u0007\u0242\u0002", - "\u0002\u0d91\u0d92\u0007\u032a\u0002\u0002\u0d92\u0db8\u0007\u0322\u0002", - "\u0002\u0d93\u0d95\u0007\u033e\u0002\u0002\u0d94\u0d93\u0003\u0002\u0002", - "\u0002\u0d94\u0d95\u0003\u0002\u0002\u0002\u0d95\u0d96\u0003\u0002\u0002", - "\u0002\u0d96\u0d97\u0007\u0187\u0002\u0002\u0d97\u0d98\u0007\u01c1\u0002", - "\u0002\u0d98\u0da6\u0007\u032a\u0002\u0002\u0d99\u0da7\u0007\u0198\u0002", - "\u0002\u0d9a\u0d9c\u0007\u033e\u0002\u0002\u0d9b\u0d9a\u0003\u0002\u0002", - "\u0002\u0d9b\u0d9c\u0003\u0002\u0002\u0002\u0d9c\u0d9d\u0003\u0002\u0002", - "\u0002\u0d9d\u0d9e\u0007\u0322\u0002\u0002\u0d9e\u0d9f\u0007\u015a\u0002", - "\u0002\u0d9f\u0da3\u0007\u0322\u0002\u0002\u0da0\u0da1\u0007\u033e\u0002", - "\u0002\u0da1\u0da3\u0007\u0322\u0002\u0002\u0da2\u0d9b\u0003\u0002\u0002", - "\u0002\u0da2\u0da0\u0003\u0002\u0002\u0002\u0da3\u0da4\u0003\u0002\u0002", - "\u0002\u0da4\u0da2\u0003\u0002\u0002\u0002\u0da4\u0da5\u0003\u0002\u0002", - "\u0002\u0da5\u0da7\u0003\u0002\u0002\u0002\u0da6\u0d99\u0003\u0002\u0002", - "\u0002\u0da6\u0da2\u0003\u0002\u0002\u0002\u0da7\u0db9\u0003\u0002\u0002", - "\u0002\u0da8\u0da9\u0007\u026e\u0002\u0002\u0da9\u0db4\u0007\u032a\u0002", - "\u0002\u0daa\u0dac\u0007\u033e\u0002\u0002\u0dab\u0daa\u0003\u0002\u0002", - "\u0002\u0dab\u0dac\u0003\u0002\u0002\u0002\u0dac\u0dad\u0003\u0002\u0002", - "\u0002\u0dad\u0dae\u0007\u0322\u0002\u0002\u0dae\u0daf\u0007\u015a\u0002", - "\u0002\u0daf\u0db5\u0007\u0322\u0002\u0002\u0db0\u0db2\u0007\u033e\u0002", - "\u0002\u0db1\u0db0\u0003\u0002\u0002\u0002\u0db1\u0db2\u0003\u0002\u0002", - "\u0002\u0db2\u0db3\u0003\u0002\u0002\u0002\u0db3\u0db5\u0007\u0322\u0002", - "\u0002\u0db4\u0dab\u0003\u0002\u0002\u0002\u0db4\u0db1\u0003\u0002\u0002", - "\u0002\u0db5\u0db6\u0003\u0002\u0002\u0002\u0db6\u0db4\u0003\u0002\u0002", - "\u0002\u0db6\u0db7\u0003\u0002\u0002\u0002\u0db7\u0db9\u0003\u0002\u0002", - "\u0002\u0db8\u0d94\u0003\u0002\u0002\u0002\u0db8\u0da8\u0003\u0002\u0002", - "\u0002\u0db9\u0dc0\u0003\u0002\u0002\u0002\u0dba\u0dbc\u0007\u033e\u0002", - "\u0002\u0dbb\u0dba\u0003\u0002\u0002\u0002\u0dbb\u0dbc\u0003\u0002\u0002", - "\u0002\u0dbc\u0dbd\u0003\u0002\u0002\u0002\u0dbd\u0dbe\u0007\u0246\u0002", - "\u0002\u0dbe\u0dbf\u0007\u032a\u0002\u0002\u0dbf\u0dc1\u0007\u0322\u0002", - "\u0002\u0dc0\u0dbb\u0003\u0002\u0002\u0002\u0dc0\u0dc1\u0003\u0002\u0002", - "\u0002\u0dc1\u0dc8\u0003\u0002\u0002\u0002\u0dc2\u0dc4\u0007\u033e\u0002", - "\u0002\u0dc3\u0dc2\u0003\u0002\u0002\u0002\u0dc3\u0dc4\u0003\u0002\u0002", - "\u0002\u0dc4\u0dc5\u0003\u0002\u0002\u0002\u0dc5\u0dc6\u0007\u0247\u0002", - "\u0002\u0dc6\u0dc7\u0007\u032a\u0002\u0002\u0dc7\u0dc9\u0007\u0322\u0002", - "\u0002\u0dc8\u0dc3\u0003\u0002\u0002\u0002\u0dc8\u0dc9\u0003\u0002\u0002", - "\u0002\u0dc9\u0dca\u0003\u0002\u0002\u0002\u0dca\u0dcb\u0007\u033d\u0002", - "\u0002\u0dcb\u0131\u0003\u0002\u0002\u0002\u0dcc\u0dcd\u0007\n\u0002", - "\u0002\u0dcd\u0dce\u0007\u0209\u0002\u0002\u0dce\u0dcf\u0007\u01ae\u0002", - "\u0002\u0dcf\u0dda\u0005\u03c6\u01e4\u0002\u0dd0\u0dd5\u0007\u02a1\u0002", - "\u0002\u0dd1\u0dd2\u0007\u0179\u0002\u0002\u0dd2\u0dd3\u0007\u017f\u0002", - "\u0002\u0dd3\u0dd4\u0007\u032a\u0002\u0002\u0dd4\u0dd6\t\t\u0002\u0002", - "\u0dd5\u0dd1\u0003\u0002\u0002\u0002\u0dd5\u0dd6\u0003\u0002\u0002\u0002", - "\u0dd6\u0ddb\u0003\u0002\u0002\u0002\u0dd7\u0ddb\u0007\u02aa\u0002\u0002", - "\u0dd8\u0dd9\u0007\u0010\u0002\u0002\u0dd9\u0ddb\u0007Y\u0002\u0002", - "\u0dda\u0dd0\u0003\u0002\u0002\u0002\u0dda\u0dd7\u0003\u0002\u0002\u0002", - "\u0dda\u0dd8\u0003\u0002\u0002\u0002\u0ddb\u0133\u0003\u0002\u0002\u0002", - "\u0ddc\u0ddd\u0007I\u0002\u0002\u0ddd\u0dde\u0007\u0209\u0002\u0002", - "\u0dde\u0ddf\u0007\u01ae\u0002\u0002\u0ddf\u0de3\u0005\u03c6\u01e4\u0002", - "\u0de0\u0de1\u0007\u00e5\u0002\u0002\u0de1\u0de2\u0007\u01fb\u0002\u0002", - "\u0de2\u0de4\u0005\u03c6\u01e4\u0002\u0de3\u0de0\u0003\u0002\u0002\u0002", - "\u0de3\u0de4\u0003\u0002\u0002\u0002\u0de4\u0de8\u0003\u0002\u0002\u0002", - "\u0de5\u0de6\u0007\u009b\u0002\u0002\u0de6\u0de7\u0007\u0283\u0002\u0002", - "\u0de7\u0de9\u0007\u0326\u0002\u0002\u0de8\u0de5\u0003\u0002\u0002\u0002", - "\u0de8\u0de9\u0003\u0002\u0002\u0002\u0de9\u0dee\u0003\u0002\u0002\u0002", - "\u0dea\u0deb\u0007\u0179\u0002\u0002\u0deb\u0dec\u0007\u017f\u0002\u0002", - "\u0dec\u0ded\u0007\u032a\u0002\u0002\u0ded\u0def\t\t\u0002\u0002\u0dee", - "\u0dea\u0003\u0002\u0002\u0002\u0dee\u0def\u0003\u0002\u0002\u0002\u0def", - "\u0df2\u0003\u0002\u0002\u0002\u0df0\u0df1\u0007\u0010\u0002\u0002\u0df1", - "\u0df3\u0007Y\u0002\u0002\u0df2\u0df0\u0003\u0002\u0002\u0002\u0df2", - "\u0df3\u0003\u0002\u0002\u0002\u0df3\u0df6\u0003\u0002\u0002\u0002\u0df4", - "\u0df5\u0007\u0014\u0002\u0002\u0df5\u0df7\u0005\u03c6\u01e4\u0002\u0df6", - "\u0df4\u0003\u0002\u0002\u0002\u0df6\u0df7\u0003\u0002\u0002\u0002\u0df7", - "\u0135\u0003\u0002\u0002\u0002\u0df8\u0df9\u0007\n\u0002\u0002\u0df9", - "\u0dfa\u0007\u0209\u0002\u0002\u0dfa\u0dfb\u0007\u02e4\u0002\u0002\u0dfb", - "\u0e09\u0005\u03c6\u01e4\u0002\u0dfc\u0dfd\u0007\u0004\u0002\u0002\u0dfd", - "\u0dfe\u0007\u0326\u0002\u0002\u0dfe\u0dff\u0007\u00b0\u0002\u0002\u0dff", - "\u0e0a\t\"\u0002\u0002\u0e00\u0e07\u0007g\u0002\u0002\u0e01\u0e02\u0007", - "\u0326\u0002\u0002\u0e02\u0e03\u0007\u00b0\u0002\u0002\u0e03\u0e08\t", - "\"\u0002\u0002\u0e04\u0e05\u0007\u0006\u0002\u0002\u0e05\u0e08\t\"\u0002", - "\u0002\u0e06\u0e08\u0007\u0006\u0002\u0002\u0e07\u0e01\u0003\u0002\u0002", - "\u0002\u0e07\u0e04\u0003\u0002\u0002\u0002\u0e07\u0e06\u0003\u0002\u0002", - "\u0002\u0e08\u0e0a\u0003\u0002\u0002\u0002\u0e09\u0dfc\u0003\u0002\u0002", - "\u0002\u0e09\u0e00\u0003\u0002\u0002\u0002\u0e0a\u0137\u0003\u0002\u0002", - "\u0002\u0e0b\u0e0c\u0007I\u0002\u0002\u0e0c\u0e0d\u0007\u0209\u0002", - "\u0002\u0e0d\u0e0e\u0007\u02e4\u0002\u0002\u0e0e\u0e1a\u0005\u03c6\u01e4", - "\u0002\u0e0f\u0e18\u0007\u008b\u0002\u0002\u0e10\u0e11\u0005\u03c6\u01e4", - "\u0002\u0e11\u0e12\u0007\u0337\u0002\u0002\u0e12\u0e14\u0003\u0002\u0002", - "\u0002\u0e13\u0e10\u0003\u0002\u0002\u0002\u0e13\u0e14\u0003\u0002\u0002", - "\u0002\u0e14\u0e15\u0003\u0002\u0002\u0002\u0e15\u0e19\u0005\u03c6\u01e4", - "\u0002\u0e16\u0e17\u0007\u02ee\u0002\u0002\u0e17\u0e19\u0007\u02e4\u0002", - "\u0002\u0e18\u0e13\u0003\u0002\u0002\u0002\u0e18\u0e16\u0003\u0002\u0002", - "\u0002\u0e19\u0e1b\u0003\u0002\u0002\u0002\u0e1a\u0e0f\u0003\u0002\u0002", - "\u0002\u0e1a\u0e1b\u0003\u0002\u0002\u0002\u0e1b\u0e1e\u0003\u0002\u0002", - "\u0002\u0e1c\u0e1d\u0007\u0014\u0002\u0002\u0e1d\u0e1f\u0005\u03c6\u01e4", - "\u0002\u0e1e\u0e1c\u0003\u0002\u0002\u0002\u0e1e\u0e1f\u0003\u0002\u0002", - "\u0002\u0e1f\u0139\u0003\u0002\u0002\u0002\u0e20\u0e21\u0007\n\u0002", - "\u0002\u0e21\u0e22\u0007\u023b\u0002\u0002\u0e22\u0e66\u0005\u03c6\u01e4", - "\u0002\u0e23\u0e25\t\u0017\u0002\u0002\u0e24\u0e23\u0003\u0002\u0002", - "\u0002\u0e24\u0e25\u0003\u0002\u0002\u0002\u0e25\u0e67\u0003\u0002\u0002", - "\u0002\u0e26\u0e34\u0007\u0179\u0002\u0002\u0e27\u0e28\u0007\u00f4\u0002", - "\u0002\u0e28\u0e2c\u0007\u032a\u0002\u0002\u0e29\u0e2d\u0007\u0326\u0002", - "\u0002\u0e2a\u0e2b\u0007\u0327\u0002\u0002\u0e2b\u0e2d\u0007\u0094\u0002", - "\u0002\u0e2c\u0e29\u0003\u0002\u0002\u0002\u0e2c\u0e2a\u0003\u0002\u0002", - "\u0002\u0e2d\u0e31\u0003\u0002\u0002\u0002\u0e2e\u0e30\t#\u0002\u0002", - "\u0e2f\u0e2e\u0003\u0002\u0002\u0002\u0e30\u0e33\u0003\u0002\u0002\u0002", - "\u0e31\u0e2f\u0003\u0002\u0002\u0002\u0e31\u0e32\u0003\u0002\u0002\u0002", - "\u0e32\u0e35\u0003\u0002\u0002\u0002\u0e33\u0e31\u0003\u0002\u0002\u0002", - "\u0e34\u0e27\u0003\u0002\u0002\u0002\u0e34\u0e35\u0003\u0002\u0002\u0002", - "\u0e35\u0e3f\u0003\u0002\u0002\u0002\u0e36\u0e37\u0007\u00e4\u0002\u0002", - "\u0e37\u0e38\u0007\u032a\u0002\u0002\u0e38\u0e3c\u0007\u0326\u0002\u0002", - "\u0e39\u0e3b\t#\u0002\u0002\u0e3a\u0e39\u0003\u0002\u0002\u0002\u0e3b", - "\u0e3e\u0003\u0002\u0002\u0002\u0e3c\u0e3a\u0003\u0002\u0002\u0002\u0e3c", - "\u0e3d\u0003\u0002\u0002\u0002\u0e3d\u0e40\u0003\u0002\u0002\u0002\u0e3e", - "\u0e3c\u0003\u0002\u0002\u0002\u0e3f\u0e36\u0003\u0002\u0002\u0002\u0e3f", - "\u0e40\u0003\u0002\u0002\u0002\u0e40\u0e44\u0003\u0002\u0002\u0002\u0e41", - "\u0e42\u0007Z\u0002\u0002\u0e42\u0e43\u0007\u032a\u0002\u0002\u0e43", - "\u0e45\u0005\u03c6\u01e4\u0002\u0e44\u0e41\u0003\u0002\u0002\u0002\u0e44", - "\u0e45\u0003\u0002\u0002\u0002\u0e45\u0e49\u0003\u0002\u0002\u0002\u0e46", - "\u0e47\u0007\u01d4\u0002\u0002\u0e47\u0e48\u0007\u032a\u0002\u0002\u0e48", - "\u0e4a\u0005\u03c6\u01e4\u0002\u0e49\u0e46\u0003\u0002\u0002\u0002\u0e49", - "\u0e4a\u0003\u0002\u0002\u0002\u0e4a\u0e4e\u0003\u0002\u0002\u0002\u0e4b", - "\u0e4c\u0007\u025d\u0002\u0002\u0e4c\u0e4d\u0007\u032a\u0002\u0002\u0e4d", - "\u0e4f\u0005\u03c6\u01e4\u0002\u0e4e\u0e4b\u0003\u0002\u0002\u0002\u0e4e", - "\u0e4f\u0003\u0002\u0002\u0002\u0e4f\u0e53\u0003\u0002\u0002\u0002\u0e50", - "\u0e51\u00070\u0002\u0002\u0e51\u0e52\u0007\u032a\u0002\u0002\u0e52", - "\u0e54\t\t\u0002\u0002\u0e53\u0e50\u0003\u0002\u0002\u0002\u0e53\u0e54", - "\u0003\u0002\u0002\u0002\u0e54\u0e58\u0003\u0002\u0002\u0002\u0e55\u0e56", - "\u00071\u0002\u0002\u0e56\u0e57\u0007\u032a\u0002\u0002\u0e57\u0e59", - "\t\t\u0002\u0002\u0e58\u0e55\u0003\u0002\u0002\u0002\u0e58\u0e59\u0003", - "\u0002\u0002\u0002\u0e59\u0e5d\u0003\u0002\u0002\u0002\u0e5a\u0e5b\u0007", - "\u01c4\u0002\u0002\u0e5b\u0e5c\u0007\u032a\u0002\u0002\u0e5c\u0e5e\u0005", - "\u03c6\u01e4\u0002\u0e5d\u0e5a\u0003\u0002\u0002\u0002\u0e5d\u0e5e\u0003", - "\u0002\u0002\u0002\u0e5e\u0e61\u0003\u0002\u0002\u0002\u0e5f\u0e60\u0007", - "\u0263\u0002\u0002\u0e60\u0e62\u0007\u01c4\u0002\u0002\u0e61\u0e5f\u0003", - "\u0002\u0002\u0002\u0e61\u0e62\u0003\u0002\u0002\u0002\u0e62\u0e67\u0003", - "\u0002\u0002\u0002\u0e63\u0e64\t\u0015\u0002\u0002\u0e64\u0e65\u0007", - "\u01c4\u0002\u0002\u0e65\u0e67\u0005\u03c6\u01e4\u0002\u0e66\u0e24\u0003", - "\u0002\u0002\u0002\u0e66\u0e26\u0003\u0002\u0002\u0002\u0e66\u0e63\u0003", - "\u0002\u0002\u0002\u0e67\u013b\u0003\u0002\u0002\u0002\u0e68\u0e69\u0007", - "I\u0002\u0002\u0e69\u0e6a\u0007\u023b\u0002\u0002\u0e6a\u0ec5\u0005", - "\u03c6\u01e4\u0002\u0e6b\u0e79\u0007\u0179\u0002\u0002\u0e6c\u0e6d\u0007", - "\u00f4\u0002\u0002\u0e6d\u0e71\u0007\u032a\u0002\u0002\u0e6e\u0e72\u0007", - "\u0326\u0002\u0002\u0e6f\u0e70\u0007\u0327\u0002\u0002\u0e70\u0e72\u0007", - "\u0094\u0002\u0002\u0e71\u0e6e\u0003\u0002\u0002\u0002\u0e71\u0e6f\u0003", - "\u0002\u0002\u0002\u0e72\u0e76\u0003\u0002\u0002\u0002\u0e73\u0e75\t", - "#\u0002\u0002\u0e74\u0e73\u0003\u0002\u0002\u0002\u0e75\u0e78\u0003", - "\u0002\u0002\u0002\u0e76\u0e74\u0003\u0002\u0002\u0002\u0e76\u0e77\u0003", - "\u0002\u0002\u0002\u0e77\u0e7a\u0003\u0002\u0002\u0002\u0e78\u0e76\u0003", - "\u0002\u0002\u0002\u0e79\u0e6c\u0003\u0002\u0002\u0002\u0e79\u0e7a\u0003", - "\u0002\u0002\u0002\u0e7a\u0e81\u0003\u0002\u0002\u0002\u0e7b\u0e7d\u0007", - "\u033e\u0002\u0002\u0e7c\u0e7b\u0003\u0002\u0002\u0002\u0e7c\u0e7d\u0003", - "\u0002\u0002\u0002\u0e7d\u0e7e\u0003\u0002\u0002\u0002\u0e7e\u0e7f\u0007", - "\u013e\u0002\u0002\u0e7f\u0e80\u0007\u032a\u0002\u0002\u0e80\u0e82\u0007", - "\u0327\u0002\u0002\u0e81\u0e7c\u0003\u0002\u0002\u0002\u0e81\u0e82\u0003", - "\u0002\u0002\u0002\u0e82\u0e89\u0003\u0002\u0002\u0002\u0e83\u0e85\u0007", - "\u033e\u0002\u0002\u0e84\u0e83\u0003\u0002\u0002\u0002\u0e84\u0e85\u0003", - "\u0002\u0002\u0002\u0e85\u0e86\u0003\u0002\u0002\u0002\u0e86\u0e87\u0007", - "Z\u0002\u0002\u0e87\u0e88\u0007\u032a\u0002\u0002\u0e88\u0e8a\u0005", - "\u03c6\u01e4\u0002\u0e89\u0e84\u0003\u0002\u0002\u0002\u0e89\u0e8a\u0003", - "\u0002\u0002\u0002\u0e8a\u0e91\u0003\u0002\u0002\u0002\u0e8b\u0e8d\u0007", - "\u033e\u0002\u0002\u0e8c\u0e8b\u0003\u0002\u0002\u0002\u0e8c\u0e8d\u0003", - "\u0002\u0002\u0002\u0e8d\u0e8e\u0003\u0002\u0002\u0002\u0e8e\u0e8f\u0007", - "\u01d4\u0002\u0002\u0e8f\u0e90\u0007\u032a\u0002\u0002\u0e90\u0e92\u0005", - "\u03c6\u01e4\u0002\u0e91\u0e8c\u0003\u0002\u0002\u0002\u0e91\u0e92\u0003", - "\u0002\u0002\u0002\u0e92\u0e99\u0003\u0002\u0002\u0002\u0e93\u0e95\u0007", - "\u033e\u0002\u0002\u0e94\u0e93\u0003\u0002\u0002\u0002\u0e94\u0e95\u0003", - "\u0002\u0002\u0002\u0e95\u0e96\u0003\u0002\u0002\u0002\u0e96\u0e97\u0007", - "1\u0002\u0002\u0e97\u0e98\u0007\u032a\u0002\u0002\u0e98\u0e9a\t\t\u0002", - "\u0002\u0e99\u0e94\u0003\u0002\u0002\u0002\u0e99\u0e9a\u0003\u0002\u0002", - "\u0002\u0e9a\u0ea1\u0003\u0002\u0002\u0002\u0e9b\u0e9d\u0007\u033e\u0002", - "\u0002\u0e9c\u0e9b\u0003\u0002\u0002\u0002\u0e9c\u0e9d\u0003\u0002\u0002", - "\u0002\u0e9d\u0e9e\u0003\u0002\u0002\u0002\u0e9e\u0e9f\u00070\u0002", - "\u0002\u0e9f\u0ea0\u0007\u032a\u0002\u0002\u0ea0\u0ea2\t\t\u0002\u0002", - "\u0ea1\u0e9c\u0003\u0002\u0002\u0002\u0ea1\u0ea2\u0003\u0002\u0002\u0002", - "\u0ea2\u0ea9\u0003\u0002\u0002\u0002\u0ea3\u0ea5\u0007\u033e\u0002\u0002", - "\u0ea4\u0ea3\u0003\u0002\u0002\u0002\u0ea4\u0ea5\u0003\u0002\u0002\u0002", - "\u0ea5\u0ea6\u0003\u0002\u0002\u0002\u0ea6\u0ea7\u0007\u01c4\u0002\u0002", - "\u0ea7\u0ea8\u0007\u032a\u0002\u0002\u0ea8\u0eaa\u0005\u03c6\u01e4\u0002", - "\u0ea9\u0ea4\u0003\u0002\u0002\u0002\u0ea9\u0eaa\u0003\u0002\u0002\u0002", - "\u0eaa\u0ec6\u0003\u0002\u0002\u0002\u0eab\u0ec3\u0007\u008b\u0002\u0002", - "\u0eac\u0ead\u0007\u0178\u0002\u0002\u0ead\u0eb4\u0007\u0179\u0002\u0002", - "\u0eae\u0eb0\u0007\u033e\u0002\u0002\u0eaf\u0eae\u0003\u0002\u0002\u0002", - "\u0eaf\u0eb0\u0003\u0002\u0002\u0002\u0eb0\u0eb1\u0003\u0002\u0002\u0002", - "\u0eb1\u0eb2\u0007Z\u0002\u0002\u0eb2\u0eb3\u0007\u032a\u0002\u0002", - "\u0eb3\u0eb5\u0005\u03c6\u01e4\u0002\u0eb4\u0eaf\u0003\u0002\u0002\u0002", - "\u0eb4\u0eb5\u0003\u0002\u0002\u0002\u0eb5\u0ebc\u0003\u0002\u0002\u0002", - "\u0eb6\u0eb8\u0007\u033e\u0002\u0002\u0eb7\u0eb6\u0003\u0002\u0002\u0002", - "\u0eb7\u0eb8\u0003\u0002\u0002\u0002\u0eb8\u0eb9\u0003\u0002\u0002\u0002", - "\u0eb9\u0eba\u0007\u01d4\u0002\u0002\u0eba\u0ebb\u0007\u032a\u0002\u0002", - "\u0ebb\u0ebd\u0007\u0326\u0002\u0002\u0ebc\u0eb7\u0003\u0002\u0002\u0002", - "\u0ebc\u0ebd\u0003\u0002\u0002\u0002\u0ebd\u0ec4\u0003\u0002\u0002\u0002", - "\u0ebe\u0ebf\u0007+\u0002\u0002\u0ebf\u0ec4\u0005\u03c6\u01e4\u0002", - "\u0ec0\u0ec1\u0007\u0012\u0002\u0002\u0ec1\u0ec2\u0007\u00ac\u0002\u0002", - "\u0ec2\u0ec4\u0005\u03c6\u01e4\u0002\u0ec3\u0eac\u0003\u0002\u0002\u0002", - "\u0ec3\u0ebe\u0003\u0002\u0002\u0002\u0ec3\u0ec0\u0003\u0002\u0002\u0002", - "\u0ec4\u0ec6\u0003\u0002\u0002\u0002\u0ec5\u0e6b\u0003\u0002\u0002\u0002", - "\u0ec5\u0eab\u0003\u0002\u0002\u0002\u0ec6\u013d\u0003\u0002\u0002\u0002", - "\u0ec7\u0ec8\u0007\n\u0002\u0002\u0ec8\u0ec9\u0007\u023b\u0002\u0002", - "\u0ec9\u0edb\u0005\u03c6\u01e4\u0002\u0eca\u0ecc\t\u0017\u0002\u0002", - "\u0ecb\u0eca\u0003\u0002\u0002\u0002\u0ecb\u0ecc\u0003\u0002\u0002\u0002", - "\u0ecc\u0edc\u0003\u0002\u0002\u0002\u0ecd\u0ed9\u0007\u0179\u0002\u0002", - "\u0ece\u0ecf\u0007\u00f4\u0002\u0002\u0ecf\u0ed0\u0007\u032a\u0002\u0002", - "\u0ed0\u0ed4\u0007\u0326\u0002\u0002\u0ed1\u0ed2\u0007\u00e4\u0002\u0002", - "\u0ed2\u0ed3\u0007\u032a\u0002\u0002\u0ed3\u0ed5\u0007\u0326\u0002\u0002", - "\u0ed4\u0ed1\u0003\u0002\u0002\u0002\u0ed4\u0ed5\u0003\u0002\u0002\u0002", - "\u0ed5\u0eda\u0003\u0002\u0002\u0002\u0ed6\u0ed7\u0007\u025d\u0002\u0002", - "\u0ed7\u0ed8\u0007\u032a\u0002\u0002\u0ed8\u0eda\u0005\u03c6\u01e4\u0002", - "\u0ed9\u0ece\u0003\u0002\u0002\u0002\u0ed9\u0ed6\u0003\u0002\u0002\u0002", - "\u0eda\u0edc\u0003\u0002\u0002\u0002\u0edb\u0ecb\u0003\u0002\u0002\u0002", - "\u0edb\u0ecd\u0003\u0002\u0002\u0002\u0edc\u013f\u0003\u0002\u0002\u0002", - "\u0edd\u0ede\u0007I\u0002\u0002\u0ede\u0edf\u0007\u023b\u0002\u0002", - "\u0edf\u0ee0\u0005\u03c6\u01e4\u0002\u0ee0\u0ee1\u0007\u0179\u0002\u0002", - "\u0ee1\u0ee2\u0007\u00f4\u0002\u0002\u0ee2\u0ee3\u0007\u032a\u0002\u0002", - "\u0ee3\u0ee7\u0007\u0326\u0002\u0002\u0ee4\u0ee5\u0007\u013e\u0002\u0002", - "\u0ee5\u0ee6\u0007\u032a\u0002\u0002\u0ee6\u0ee8\u0007\u0327\u0002\u0002", - "\u0ee7\u0ee4\u0003\u0002\u0002\u0002\u0ee7\u0ee8\u0003\u0002\u0002\u0002", - "\u0ee8\u0141\u0003\u0002\u0002\u0002\u0ee9\u0eea\u0007\n\u0002\u0002", - "\u0eea\u0eeb\u0007\u023b\u0002\u0002\u0eeb\u0f03\u0005\u03c6\u01e4\u0002", - "\u0eec\u0eee\t\u0017\u0002\u0002\u0eed\u0eec\u0003\u0002\u0002\u0002", - "\u0eed\u0eee\u0003\u0002\u0002\u0002\u0eee\u0f04\u0003\u0002\u0002\u0002", - "\u0eef\u0f01\u0007\u0179\u0002\u0002\u0ef0\u0ef1\u0007\u00f4\u0002\u0002", - "\u0ef1\u0ef2\u0007\u032a\u0002\u0002\u0ef2\u0efc\u0007\u0326\u0002\u0002", - "\u0ef3\u0ef4\u0007\u00e4\u0002\u0002\u0ef4\u0ef5\u0007\u032a\u0002\u0002", - "\u0ef5\u0ef9\u0007\u0326\u0002\u0002\u0ef6\u0ef8\t#\u0002\u0002\u0ef7", - "\u0ef6\u0003\u0002\u0002\u0002\u0ef8\u0efb\u0003\u0002\u0002\u0002\u0ef9", - "\u0ef7\u0003\u0002\u0002\u0002\u0ef9\u0efa\u0003\u0002\u0002\u0002\u0efa", - "\u0efd\u0003\u0002\u0002\u0002\u0efb\u0ef9\u0003\u0002\u0002\u0002\u0efc", - "\u0ef3\u0003\u0002\u0002\u0002\u0efc\u0efd\u0003\u0002\u0002\u0002\u0efd", - "\u0f02\u0003\u0002\u0002\u0002\u0efe\u0eff\u0007\u025d\u0002\u0002\u0eff", - "\u0f00\u0007\u032a\u0002\u0002\u0f00\u0f02\u0005\u03c6\u01e4\u0002\u0f01", - "\u0ef0\u0003\u0002\u0002\u0002\u0f01\u0efe\u0003\u0002\u0002\u0002\u0f02", - "\u0f04\u0003\u0002\u0002\u0002\u0f03\u0eed\u0003\u0002\u0002\u0002\u0f03", - "\u0eef\u0003\u0002\u0002\u0002\u0f04\u0143\u0003\u0002\u0002\u0002\u0f05", - "\u0f06\u0007I\u0002\u0002\u0f06\u0f07\u0007\u023b\u0002\u0002\u0f07", - "\u0f18\u0005\u03c6\u01e4\u0002\u0f08\u0f09\u0007\u0179\u0002\u0002\u0f09", - "\u0f0a\u0007\u00f4\u0002\u0002\u0f0a\u0f0b\u0007\u032a\u0002\u0002\u0f0b", - "\u0f0d\u0007\u0326\u0002\u0002\u0f0c\u0f0e\u0007\u00ce\u0002\u0002\u0f0d", - "\u0f0c\u0003\u0002\u0002\u0002\u0f0d\u0f0e\u0003\u0002\u0002\u0002\u0f0e", - "\u0f14\u0003\u0002\u0002\u0002\u0f0f\u0f10\u00070\u0002\u0002\u0f10", - "\u0f12\u0007\u032a\u0002\u0002\u0f11\u0f13\t\t\u0002\u0002\u0f12\u0f11", - "\u0003\u0002\u0002\u0002\u0f12\u0f13\u0003\u0002\u0002\u0002\u0f13\u0f15", - "\u0003\u0002\u0002\u0002\u0f14\u0f0f\u0003\u0002\u0002\u0002\u0f14\u0f15", - "\u0003\u0002\u0002\u0002\u0f15\u0f19\u0003\u0002\u0002\u0002\u0f16\u0f17", - "\u0007\u008b\u0002\u0002\u0f17\u0f19\u0007\u0178\u0002\u0002\u0f18\u0f08", - "\u0003\u0002\u0002\u0002\u0f18\u0f16\u0003\u0002\u0002\u0002\u0f19\u0145", - "\u0003\u0002\u0002\u0002\u0f1a\u0f1b\u0007\n\u0002\u0002\u0f1b\u0f1c", - "\u0007\u00bd\u0002\u0002\u0f1c\u0f32\u0007\u00ac\u0002\u0002\u0f1d\u0f1f", - "\u0007\u0203\u0002\u0002\u0f1e\u0f1d\u0003\u0002\u0002\u0002\u0f1e\u0f1f", - "\u0003\u0002\u0002\u0002\u0f1f\u0f20\u0003\u0002\u0002\u0002\u0f20\u0f21", - "\u0007\u010f\u0002\u0002\u0f21\u0f22\u0007\u0179\u0002\u0002\u0f22\u0f23", - "\u0007\u01ec\u0002\u0002\u0f23\u0f24\u0007&\u0002\u0002\u0f24\u0f25", - "\u0007\u00f4\u0002\u0002\u0f25\u0f26\u0007\u032a\u0002\u0002\u0f26\u0f33", - "\u0007\u0326\u0002\u0002\u0f27\u0f28\t\u0015\u0002\u0002\u0f28\u0f29", - "\u0007\u01ec\u0002\u0002\u0f29\u0f30\u0007&\u0002\u0002\u0f2a\u0f2b", - "\u0007\u0136\u0002\u0002\u0f2b\u0f2c\u0007\u00bd\u0002\u0002\u0f2c\u0f31", - "\u0007\u00ac\u0002\u0002\u0f2d\u0f2e\u0007\u00f4\u0002\u0002\u0f2e\u0f2f", - "\u0007\u032a\u0002\u0002\u0f2f\u0f31\u0007\u0326\u0002\u0002\u0f30\u0f2a", - "\u0003\u0002\u0002\u0002\u0f30\u0f2d\u0003\u0002\u0002\u0002\u0f31\u0f33", - "\u0003\u0002\u0002\u0002\u0f32\u0f1e\u0003\u0002\u0002\u0002\u0f32\u0f27", - "\u0003\u0002\u0002\u0002\u0f33\u0147\u0003\u0002\u0002\u0002\u0f34\u0f35", - "\u0007I\u0002\u0002\u0f35\u0f36\u0007\u00bd\u0002\u0002\u0f36\u0f37", - "\u0007\u00ac\u0002\u0002\u0f37\u0f38\u0007\u01ec\u0002\u0002\u0f38\u0f39", - "\u0007&\u0002\u0002\u0f39\u0f3a\u0007\u00f4\u0002\u0002\u0f3a\u0f3b", - "\u0007\u032a\u0002\u0002\u0f3b\u0f3c\u0007\u0326\u0002\u0002\u0f3c\u0149", - "\u0003\u0002\u0002\u0002\u0f3d\u0f3e\u0007\n\u0002\u0002\u0f3e\u0f3f", - "\u0007\u00bd\u0002\u0002\u0f3f\u0f5b\u0007\u00ac\u0002\u0002\u0f40\u0f42", - "\u0007\u0203\u0002\u0002\u0f41\u0f40\u0003\u0002\u0002\u0002\u0f41\u0f42", - "\u0003\u0002\u0002\u0002\u0f42\u0f43\u0003\u0002\u0002\u0002\u0f43\u0f44", - "\u0007\u010f\u0002\u0002\u0f44\u0f45\u0007\u0179\u0002\u0002\u0f45\u0f46", - "\u0007\u01ec\u0002\u0002\u0f46\u0f47\u0007&\u0002\u0002\u0f47\u0f48", - "\u0007\u00f4\u0002\u0002\u0f48\u0f49\u0007\u032a\u0002\u0002\u0f49\u0f5c", - "\u0007\u0326\u0002\u0002\u0f4a\u0f4b\u0007\u0004\u0002\u0002\u0f4b\u0f4c", - "\u0007\u01ec\u0002\u0002\u0f4c\u0f53\u0007&\u0002\u0002\u0f4d\u0f4e", - "\u0007\u0136\u0002\u0002\u0f4e\u0f4f\u0007\u00bd\u0002\u0002\u0f4f\u0f54", - "\u0007\u00ac\u0002\u0002\u0f50\u0f51\u0007\u00f4\u0002\u0002\u0f51\u0f52", - "\u0007\u032a\u0002\u0002\u0f52\u0f54\u0007\u0326\u0002\u0002\u0f53\u0f4d", - "\u0003\u0002\u0002\u0002\u0f53\u0f50\u0003\u0002\u0002\u0002\u0f54\u0f5c", - "\u0003\u0002\u0002\u0002\u0f55\u0f56\u0007g\u0002\u0002\u0f56\u0f57", - "\u0007\u01ec\u0002\u0002\u0f57\u0f58\u0007&\u0002\u0002\u0f58\u0f59", - "\u0007\u00f4\u0002\u0002\u0f59\u0f5a\u0007\u032a\u0002\u0002\u0f5a\u0f5c", - "\u0007\u0326\u0002\u0002\u0f5b\u0f41\u0003\u0002\u0002\u0002\u0f5b\u0f4a", - "\u0003\u0002\u0002\u0002\u0f5b\u0f55\u0003\u0002\u0002\u0002\u0f5c\u014b", - "\u0003\u0002\u0002\u0002\u0f5d\u0f5e\u0007I\u0002\u0002\u0f5e\u0f5f", - "\u0007\u00bd\u0002\u0002\u0f5f\u0f65\u0007\u00ac\u0002\u0002\u0f60\u0f61", - "\u0007\u01ec\u0002\u0002\u0f61\u0f62\u0007&\u0002\u0002\u0f62\u0f63", - "\u0007\u00f4\u0002\u0002\u0f63\u0f64\u0007\u032a\u0002\u0002\u0f64\u0f66", - "\u0007\u0326\u0002\u0002\u0f65\u0f60\u0003\u0002\u0002\u0002\u0f65\u0f66", - "\u0003\u0002\u0002\u0002\u0f66\u014d\u0003\u0002\u0002\u0002\u0f67\u0f68", - "\u0007\n\u0002\u0002\u0f68\u0f69\u0007\u0250\u0002\u0002\u0f69\u0f6a", - "\u0007\u0301\u0002\u0002\u0f6a\u0f6b\u0005\u03c6\u01e4\u0002\u0f6b\u0f6c", - "\u0007\u030a\u0002\u0002\u0f6c\u0f75\u0007\u032a\u0002\u0002\u0f6d\u0f76", - "\u0007\u00d5\u0002\u0002\u0f6e\u0f76\u0007\u01e8\u0002\u0002\u0f6f\u0f76", - "\u0007\u0311\u0002\u0002\u0f70\u0f71\u0007\u0309\u0002\u0002\u0f71\u0f72", - "\u0007\u0179\u0002\u0002\u0f72\u0f73\u0007\u012e\u0002\u0002\u0f73\u0f74", - "\u0007\u01b5\u0002\u0002\u0f74\u0f76\u0005\u03c6\u01e4\u0002\u0f75\u0f6d", - "\u0003\u0002\u0002\u0002\u0f75\u0f6e\u0003\u0002\u0002\u0002\u0f75\u0f6f", - "\u0003\u0002\u0002\u0002\u0f75\u0f70\u0003\u0002\u0002\u0002\u0f76\u014f", - "\u0003\u0002\u0002\u0002\u0f77\u0f78\u0007\n\u0002\u0002\u0f78\u0f79", - "\u0007\u0280\u0002\u0002\u0f79\u0f7a\u0007\u008d\u0002\u0002\u0f7a\u0f7b", - "\u0005\u03c6\u01e4\u0002\u0f7b\u0f7c\u0007\u033c\u0002\u0002\u0f7c\u0f7d", - "\u0007\u033d\u0002\u0002\u0f7d\u0f7e\t$\u0002\u0002\u0f7e\u0f7f\u0007", - "\u0297\u0002\u0002\u0f7f\u0f80\u0007\u033c\u0002\u0002\u0f80\u0f81\u0007", - "\u0322\u0002\u0002\u0f81\u0f82\u0007\u033d\u0002\u0002\u0f82\u0151\u0003", - "\u0002\u0002\u0002\u0f83\u0f84\u0007\n\u0002\u0002\u0f84\u0f85\u0007", - "\u0280\u0002\u0002\u0f85\u0f86\u0007\u012f\u0002\u0002\u0f86\u0f87\u0005", - "\u03c6\u01e4\u0002\u0f87\u0f88\u0007\u0262\u0002\u0002\u0f88\u0f8a\u0007", - "\u016d\u0002\u0002\u0f89\u0f8b\u0005\u03c6\u01e4\u0002\u0f8a\u0f89\u0003", - "\u0002\u0002\u0002\u0f8a\u0f8b\u0003\u0002\u0002\u0002\u0f8b\u0153\u0003", - "\u0002\u0002\u0002\u0f8c\u0f8d\u0007\n\u0002\u0002\u0f8d\u0f8e\u0007", - "\u02a7\u0002\u0002\u0f8e\u0f8f\u0007\u0136\u0002\u0002\u0f8f\u0f90\u0007", - "\u01a6\u0002\u0002\u0f90\u0f91\u0005\u03c6\u01e4\u0002\u0f91\u0f95\u0007", - "\u0179\u0002\u0002\u0f92\u0f93\u0007\u016e\u0002\u0002\u0f93\u0f94\u0007", - "\u032a\u0002\u0002\u0f94\u0f96\u0005\u03c6\u01e4\u0002\u0f95\u0f92\u0003", - "\u0002\u0002\u0002\u0f95\u0f96\u0003\u0002\u0002\u0002\u0f96\u0f9b\u0003", - "\u0002\u0002\u0002\u0f97\u0f98\u0007\u033e\u0002\u0002\u0f98\u0f99\u0007", - "\f\u0002\u0002\u0f99\u0f9a\u0007\u032a\u0002\u0002\u0f9a\u0f9c\t\t\u0002", - "\u0002\u0f9b\u0f97\u0003\u0002\u0002\u0002\u0f9b\u0f9c\u0003\u0002\u0002", - "\u0002\u0f9c\u0155\u0003\u0002\u0002\u0002\u0f9d\u0f9e\u0007I\u0002", - "\u0002\u0f9e\u0f9f\u0007\u02a7\u0002\u0002\u0f9f\u0fa0\u0007\u0136\u0002", - "\u0002\u0fa0\u0fa1\u0007\u01a6\u0002\u0002\u0fa1\u0fa4\u0005\u03c6\u01e4", - "\u0002\u0fa2\u0fa3\u0007\u0014\u0002\u0002\u0fa3\u0fa5\u0005\u03c6\u01e4", - "\u0002\u0fa4\u0fa2\u0003\u0002\u0002\u0002\u0fa4\u0fa5\u0003\u0002\u0002", - "\u0002\u0fa5\u0fa6\u0003\u0002\u0002\u0002\u0fa6\u0fa7\u0007\u015a\u0002", - "\u0002\u0fa7\u0fa8\u0007\u0136\u0002\u0002\u0fa8\u0fa9\u0007\u0326\u0002", - "\u0002\u0fa9\u0fad\u0007\u0179\u0002\u0002\u0faa\u0fab\u0007\u016e\u0002", - "\u0002\u0fab\u0fac\u0007\u032a\u0002\u0002\u0fac\u0fae\u0005\u03c6\u01e4", - "\u0002\u0fad\u0faa\u0003\u0002\u0002\u0002\u0fad\u0fae\u0003\u0002\u0002", - "\u0002\u0fae\u0fb3\u0003\u0002\u0002\u0002\u0faf\u0fb0\u0007\u033e\u0002", - "\u0002\u0fb0\u0fb1\u0007\f\u0002\u0002\u0fb1\u0fb2\u0007\u032a\u0002", - "\u0002\u0fb2\u0fb4\t\t\u0002\u0002\u0fb3\u0faf\u0003\u0002\u0002\u0002", - "\u0fb3\u0fb4\u0003\u0002\u0002\u0002\u0fb4\u0157\u0003\u0002\u0002\u0002", - "\u0fb5\u0fb6\u0007I\u0002\u0002\u0fb6\u0fb7\u0007\u02b2\u0002\u0002", - "\u0fb7\u0fb8\u0007\u0285\u0002\u0002\u0fb8\u101f\u0005\u03c6\u01e4\u0002", - "\u0fb9\u0fba\u0007\u0179\u0002\u0002\u0fba\u0fc1\u0007\u033c\u0002\u0002", - "\u0fbb\u0fbd\u0007\u033e\u0002\u0002\u0fbc\u0fbb\u0003\u0002\u0002\u0002", - "\u0fbc\u0fbd\u0003\u0002\u0002\u0002\u0fbd\u0fbe\u0003\u0002\u0002\u0002", - "\u0fbe\u0fbf\u0007\u0253\u0002\u0002\u0fbf\u0fc0\u0007\u032a\u0002\u0002", - "\u0fc0\u0fc2\u0007\u0322\u0002\u0002\u0fc1\u0fbc\u0003\u0002\u0002\u0002", - "\u0fc1\u0fc2\u0003\u0002\u0002\u0002\u0fc2\u0fc9\u0003\u0002\u0002\u0002", - "\u0fc3\u0fc5\u0007\u033e\u0002\u0002\u0fc4\u0fc3\u0003\u0002\u0002\u0002", - "\u0fc4\u0fc5\u0003\u0002\u0002\u0002\u0fc5\u0fc6\u0003\u0002\u0002\u0002", - "\u0fc6\u0fc7\u0007\u0242\u0002\u0002\u0fc7\u0fc8\u0007\u032a\u0002\u0002", - "\u0fc8\u0fca\u0007\u0322\u0002\u0002\u0fc9\u0fc4\u0003\u0002\u0002\u0002", - "\u0fc9\u0fca\u0003\u0002\u0002\u0002\u0fca\u0fd1\u0003\u0002\u0002\u0002", - "\u0fcb\u0fcd\u0007\u033e\u0002\u0002\u0fcc\u0fcb\u0003\u0002\u0002\u0002", - "\u0fcc\u0fcd\u0003\u0002\u0002\u0002\u0fcd\u0fce\u0003\u0002\u0002\u0002", - "\u0fce\u0fcf\u0007\u01ac\u0002\u0002\u0fcf\u0fd0\u0007\u032a\u0002\u0002", - "\u0fd0\u0fd2\u0007\u0322\u0002\u0002\u0fd1\u0fcc\u0003\u0002\u0002\u0002", - "\u0fd1\u0fd2\u0003\u0002\u0002\u0002\u0fd2\u0ffc\u0003\u0002\u0002\u0002", - "\u0fd3\u0fd5\u0007\u033e\u0002\u0002\u0fd4\u0fd3\u0003\u0002\u0002\u0002", - "\u0fd4\u0fd5\u0003\u0002\u0002\u0002\u0fd5\u0fd6\u0003\u0002\u0002\u0002", - "\u0fd6\u0fd7\u0007\u0187\u0002\u0002\u0fd7\u0fd8\u0007\u012d\u0002\u0002", - "\u0fd8\u0ffa\u0007\u032a\u0002\u0002\u0fd9\u0ffb\u0007\u0198\u0002\u0002", - "\u0fda\u0fe4\u0007\u033c\u0002\u0002\u0fdb\u0fdd\u0007\u033e\u0002\u0002", - "\u0fdc\u0fdb\u0003\u0002\u0002\u0002\u0fdc\u0fdd\u0003\u0002\u0002\u0002", - "\u0fdd\u0fe2\u0003\u0002\u0002\u0002\u0fde\u0fe3\u0007\u0322\u0002\u0002", - "\u0fdf\u0fe0\u0007\u0322\u0002\u0002\u0fe0\u0fe1\u0007\u015a\u0002\u0002", - "\u0fe1\u0fe3\u0007\u0322\u0002\u0002\u0fe2\u0fde\u0003\u0002\u0002\u0002", - "\u0fe2\u0fdf\u0003\u0002\u0002\u0002\u0fe3\u0fe5\u0003\u0002\u0002\u0002", - "\u0fe4\u0fdc\u0003\u0002\u0002\u0002\u0fe5\u0fe6\u0003\u0002\u0002\u0002", - "\u0fe6\u0fe4\u0003\u0002\u0002\u0002\u0fe6\u0fe7\u0003\u0002\u0002\u0002", - "\u0fe7\u0fe8\u0003\u0002\u0002\u0002\u0fe8\u0ffb\u0007\u033d\u0002\u0002", - "\u0fe9\u0fea\u0007\u026e\u0002\u0002\u0fea\u0feb\u0007\u032a\u0002\u0002", - "\u0feb\u0ff5\u0007\u033c\u0002\u0002\u0fec\u0fee\u0007\u033e\u0002\u0002", - "\u0fed\u0fec\u0003\u0002\u0002\u0002\u0fed\u0fee\u0003\u0002\u0002\u0002", - "\u0fee\u0ff3\u0003\u0002\u0002\u0002\u0fef\u0ff4\u0007\u0322\u0002\u0002", - "\u0ff0\u0ff1\u0007\u0322\u0002\u0002\u0ff1\u0ff2\u0007\u015a\u0002\u0002", - "\u0ff2\u0ff4\u0007\u0322\u0002\u0002\u0ff3\u0fef\u0003\u0002\u0002\u0002", - "\u0ff3\u0ff0\u0003\u0002\u0002\u0002\u0ff4\u0ff6\u0003\u0002\u0002\u0002", - "\u0ff5\u0fed\u0003\u0002\u0002\u0002\u0ff6\u0ff7\u0003\u0002\u0002\u0002", - "\u0ff7\u0ff5\u0003\u0002\u0002\u0002\u0ff7\u0ff8\u0003\u0002\u0002\u0002", - "\u0ff8\u0ff9\u0003\u0002\u0002\u0002\u0ff9\u0ffb\u0007\u033d\u0002\u0002", - "\u0ffa\u0fd9\u0003\u0002\u0002\u0002\u0ffa\u0fda\u0003\u0002\u0002\u0002", - "\u0ffa\u0fe9\u0003\u0002\u0002\u0002\u0ffb\u0ffd\u0003\u0002\u0002\u0002", - "\u0ffc\u0fd4\u0003\u0002\u0002\u0002\u0ffc\u0ffd\u0003\u0002\u0002\u0002", - "\u0ffd\u1004\u0003\u0002\u0002\u0002\u0ffe\u1000\u0007\u033e\u0002\u0002", - "\u0fff\u0ffe\u0003\u0002\u0002\u0002\u0fff\u1000\u0003\u0002\u0002\u0002", - "\u1000\u1001\u0003\u0002\u0002\u0002\u1001\u1002\u0007\u0255\u0002\u0002", - "\u1002\u1003\u0007\u032a\u0002\u0002\u1003\u1005\u0007\u0322\u0002\u0002", - "\u1004\u0fff\u0003\u0002\u0002\u0002\u1004\u1005\u0003\u0002\u0002\u0002", - "\u1005\u100c\u0003\u0002\u0002\u0002\u1006\u1008\u0007\u033e\u0002\u0002", - "\u1007\u1006\u0003\u0002\u0002\u0002\u1007\u1008\u0003\u0002\u0002\u0002", - "\u1008\u1009\u0003\u0002\u0002\u0002\u1009\u100a\u0007\u0246\u0002\u0002", - "\u100a\u100b\u0007\u032a\u0002\u0002\u100b\u100d\u0007\u0322\u0002\u0002", - "\u100c\u1007\u0003\u0002\u0002\u0002\u100c\u100d\u0003\u0002\u0002\u0002", - "\u100d\u1014\u0003\u0002\u0002\u0002\u100e\u1010\u0007\u033e\u0002\u0002", - "\u100f\u100e\u0003\u0002\u0002\u0002\u100f\u1010\u0003\u0002\u0002\u0002", - "\u1010\u1011\u0003\u0002\u0002\u0002\u1011\u1012\u0007\u0254\u0002\u0002", - "\u1012\u1013\u0007\u032a\u0002\u0002\u1013\u1015\u0007\u0322\u0002\u0002", - "\u1014\u100f\u0003\u0002\u0002\u0002\u1014\u1015\u0003\u0002\u0002\u0002", - "\u1015\u101c\u0003\u0002\u0002\u0002\u1016\u1018\u0007\u033e\u0002\u0002", - "\u1017\u1016\u0003\u0002\u0002\u0002\u1017\u1018\u0003\u0002\u0002\u0002", - "\u1018\u1019\u0003\u0002\u0002\u0002\u1019\u101a\u0007\u0245\u0002\u0002", - "\u101a\u101b\u0007\u032a\u0002\u0002\u101b\u101d\u0007\u0322\u0002\u0002", - "\u101c\u1017\u0003\u0002\u0002\u0002\u101c\u101d\u0003\u0002\u0002\u0002", - "\u101d\u101e\u0003\u0002\u0002\u0002\u101e\u1020\u0007\u033d\u0002\u0002", - "\u101f\u0fb9\u0003\u0002\u0002\u0002\u101f\u1020\u0003\u0002\u0002\u0002", - "\u1020\u0159\u0003\u0002\u0002\u0002\u1021\u1022\u0007\n\u0002\u0002", - "\u1022\u1023\u0007\u02b2\u0002\u0002\u1023\u1039\u0007\u0090\u0002\u0002", - "\u1024\u103a\t%\u0002\u0002\u1025\u1026\u0007\u0179\u0002\u0002\u1026", - "\u1027\u0007\u033c\u0002\u0002\u1027\u1028\u00072\u0002\u0002\u1028", - "\u102e\u0007\u032a\u0002\u0002\u1029\u102a\u0005\u03c6\u01e4\u0002\u102a", - "\u102b\u0007\u0337\u0002\u0002\u102b\u102c\u0005\u03c6\u01e4\u0002\u102c", - "\u102f\u0003\u0002\u0002\u0002\u102d\u102f\u0007\u00df\u0002\u0002\u102e", - "\u1029\u0003\u0002\u0002\u0002\u102e\u102d\u0003\u0002\u0002\u0002\u102f", - "\u1030\u0003\u0002\u0002\u0002\u1030\u103a\u0007\u033d\u0002\u0002\u1031", - "\u1032\u0007\u0114\u0002\u0002\u1032\u103a\u0007\u0148\u0002\u0002\u1033", - "\u1034\u0007\u0179\u0002\u0002\u1034\u1035\u0007\u033c\u0002\u0002\u1035", - "\u1036\u0007\u00c4\u0002\u0002\u1036\u1037\u0007\u032a\u0002\u0002\u1037", - "\u1038\u0007\u0322\u0002\u0002\u1038\u103a\u0007\u033d\u0002\u0002\u1039", - "\u1024\u0003\u0002\u0002\u0002\u1039\u1025\u0003\u0002\u0002\u0002\u1039", - "\u1031\u0003\u0002\u0002\u0002\u1039\u1033\u0003\u0002\u0002\u0002\u103a", - "\u015b\u0003\u0002\u0002\u0002\u103b\u103c\u0007\n\u0002\u0002\u103c", - "\u103d\u0007\u0121\u0002\u0002\u103d\u1045\u0005\u03c6\u01e4\u0002\u103e", - "\u103f\t\u0015\u0002\u0002\u103f\u1040\u0007\u00c7\u0002\u0002\u1040", - "\u1046\u0005\u03c6\u01e4\u0002\u1041\u1042\u0007\u0179\u0002\u0002\u1042", - "\u1043\u0007\u025d\u0002\u0002\u1043\u1044\u0007\u032a\u0002\u0002\u1044", - "\u1046\u0005\u03c6\u01e4\u0002\u1045\u103e\u0003\u0002\u0002\u0002\u1045", - "\u1041\u0003\u0002\u0002\u0002\u1046\u015d\u0003\u0002\u0002\u0002\u1047", - "\u1048\u0007I\u0002\u0002\u1048\u1049\u0007\u0121\u0002\u0002\u1049", - "\u104c\u0005\u03c6\u01e4\u0002\u104a\u104b\u0007\u0014\u0002\u0002\u104b", - "\u104d\u0005\u03c6\u01e4\u0002\u104c\u104a\u0003\u0002\u0002\u0002\u104c", - "\u104d\u0003\u0002\u0002\u0002\u104d\u015f\u0003\u0002\u0002\u0002\u104e", - "\u104f\u0007I\u0002\u0002\u104f\u1050\u0007\u02b8\u0002\u0002\u1050", - "\u1053\u0005\u03c6\u01e4\u0002\u1051\u1052\u0007\u0014\u0002\u0002\u1052", - "\u1054\u0005\u03c6\u01e4\u0002\u1053\u1051\u0003\u0002\u0002\u0002\u1053", - "\u1054\u0003\u0002\u0002\u0002\u1054\u1055\u0003\u0002\u0002\u0002\u1055", - "\u105c\u0007\u0179\u0002\u0002\u1056\u1058\u0007\u033e\u0002\u0002\u1057", - "\u1056\u0003\u0002\u0002\u0002\u1057\u1058\u0003\u0002\u0002\u0002\u1058", - "\u1059\u0003\u0002\u0002\u0002\u1059\u105a\u0007\u0138\u0002\u0002\u105a", - "\u105b\u0007\u032a\u0002\u0002\u105b\u105d\u0007\u0326\u0002\u0002\u105c", - "\u1057\u0003\u0002\u0002\u0002\u105c\u105d\u0003\u0002\u0002\u0002\u105d", - "\u1064\u0003\u0002\u0002\u0002\u105e\u1060\u0007\u033e\u0002\u0002\u105f", - "\u105e\u0003\u0002\u0002\u0002\u105f\u1060\u0003\u0002\u0002\u0002\u1060", - "\u1061\u0003\u0002\u0002\u0002\u1061\u1062\u0007\u01a9\u0002\u0002\u1062", - "\u1063\u0007\u032a\u0002\u0002\u1063\u1065\u0007\u0326\u0002\u0002\u1064", - "\u105f\u0003\u0002\u0002\u0002\u1064\u1065\u0003\u0002\u0002\u0002\u1065", - "\u106c\u0003\u0002\u0002\u0002\u1066\u1068\u0007\u033e\u0002\u0002\u1067", - "\u1066\u0003\u0002\u0002\u0002\u1067\u1068\u0003\u0002\u0002\u0002\u1068", - "\u1069\u0003\u0002\u0002\u0002\u1069\u106a\u0007\u00b3\u0002\u0002\u106a", - "\u106b\u0007\u032a\u0002\u0002\u106b\u106d\u0007\u0322\u0002\u0002\u106c", - "\u1067\u0003\u0002\u0002\u0002\u106c\u106d\u0003\u0002\u0002\u0002\u106d", - "\u106f\u0003\u0002\u0002\u0002\u106e\u1070\u0007\u033e\u0002\u0002\u106f", - "\u106e\u0003\u0002\u0002\u0002\u106f\u1070\u0003\u0002\u0002\u0002\u1070", - "\u1071\u0003\u0002\u0002\u0002\u1071\u1072\u0007\u0183\u0002\u0002\u1072", - "\u1073\u0007\u032a\u0002\u0002\u1073\u1078\t&\u0002\u0002\u1074\u1075", - "\u0007\u033e\u0002\u0002\u1075\u1076\u0007\u0257\u0002\u0002\u1076\u1077", - "\u0007\u032a\u0002\u0002\u1077\u1079\t&\u0002\u0002\u1078\u1074\u0003", - "\u0002\u0002\u0002\u1078\u1079\u0003\u0002\u0002\u0002\u1079\u0161\u0003", - "\u0002\u0002\u0002\u107a\u107b\u0007I\u0002\u0002\u107b\u107f\u0007", - "\u012a\u0002\u0002\u107c\u107d\u0005\u03c6\u01e4\u0002\u107d\u107e\u0007", - "\u0337\u0002\u0002\u107e\u1080\u0003\u0002\u0002\u0002\u107f\u107c\u0003", - "\u0002\u0002\u0002\u107f\u1080\u0003\u0002\u0002\u0002\u1080\u1081\u0003", - "\u0002\u0002\u0002\u1081\u1082\u0005\u03c6\u01e4\u0002\u1082\u1083\u0007", - "\u0010\u0002\u0002\u1083\u1084\u0005\u02ee\u0178\u0002\u1084\u0163\u0003", - "\u0002\u0002\u0002\u1085\u1086\u0007\n\u0002\u0002\u1086\u1087\u0007", - "\u012e\u0002\u0002\u1087\u1088\u0005\u03c6\u01e4\u0002\u1088\u1092\u0007", - "\u015f\u0002\u0002\u1089\u108f\u0007\u0271\u0002\u0002\u108a\u108f\u0007", - "\u0301\u0002\u0002\u108b\u108c\u0007\u0315\u0002\u0002\u108c\u108d\u0007", - "\u012e\u0002\u0002\u108d\u108f\u0007\u01b5\u0002\u0002\u108e\u1089\u0003", - "\u0002\u0002\u0002\u108e\u108a\u0003\u0002\u0002\u0002\u108e\u108b\u0003", - "\u0002\u0002\u0002\u108f\u1090\u0003\u0002\u0002\u0002\u1090\u1091\u0007", - "\u0340\u0002\u0002\u1091\u1093\u0007\u0340\u0002\u0002\u1092\u108e\u0003", - "\u0002\u0002\u0002\u1092\u1093\u0003\u0002\u0002\u0002\u1093\u1094\u0003", - "\u0002\u0002\u0002\u1094\u1097\u0005\u03c6\u01e4\u0002\u1095\u1096\u0007", - "\u0337\u0002\u0002\u1096\u1098\u0005\u03c6\u01e4\u0002\u1097\u1095\u0003", - "\u0002\u0002\u0002\u1097\u1098\u0003\u0002\u0002\u0002\u1098\u0165\u0003", - "\u0002\u0002\u0002\u1099\u109a\u0007I\u0002\u0002\u109a\u10a2\u0007", - "\u012e\u0002\u0002\u109b\u10a3\u0005\u03c6\u01e4\u0002\u109c\u109d\u0007", - "\u0014\u0002\u0002\u109d\u10a3\u0005\u03c6\u01e4\u0002\u109e\u109f\u0005", - "\u03c6\u01e4\u0002\u109f\u10a0\u0007\u0014\u0002\u0002\u10a0\u10a1\u0005", - "\u03c6\u01e4\u0002\u10a1\u10a3\u0003\u0002\u0002\u0002\u10a2\u109b\u0003", - "\u0002\u0002\u0002\u10a2\u109c\u0003\u0002\u0002\u0002\u10a2\u109e\u0003", - "\u0002\u0002\u0002\u10a3\u10c0\u0003\u0002\u0002\u0002\u10a4\u10bf\u0005", - "\u01ee\u00f8\u0002\u10a5\u10bf\u0005\u01f2\u00fa\u0002\u10a6\u10a7\t", - "\'\u0002\u0002\u10a7\u10a8\t(\u0002\u0002\u10a8\u10ac\u0007\u00e5\u0002", - "\u0002\u10a9\u10aa\u0007\u012e\u0002\u0002\u10aa\u10ab\u0007\u0340\u0002", - "\u0002\u10ab\u10ad\u0007\u0340\u0002\u0002\u10ac\u10a9\u0003\u0002\u0002", - "\u0002\u10ac\u10ad\u0003\u0002\u0002\u0002\u10ad\u10ae\u0003\u0002\u0002", - "\u0002\u10ae\u10af\u0005\u03c6\u01e4\u0002\u10af\u10b0\u0007\u015a\u0002", - "\u0002\u10b0\u10b1\u0005\u03c6\u01e4\u0002\u10b1\u10bf\u0003\u0002\u0002", - "\u0002\u10b2\u10b3\u0007\u011d\u0002\u0002\u10b3\u10b4\t(\u0002\u0002", - "\u10b4\u10b8\u0007\u00e5\u0002\u0002\u10b5\u10b6\u0007\u012e\u0002\u0002", - "\u10b6\u10b7\u0007\u0340\u0002\u0002\u10b7\u10b9\u0007\u0340\u0002\u0002", - "\u10b8\u10b5\u0003\u0002\u0002\u0002\u10b8\u10b9\u0003\u0002\u0002\u0002", - "\u10b9\u10ba\u0003\u0002\u0002\u0002\u10ba\u10bb\u0005\u03c6\u01e4\u0002", - "\u10bb\u10bc\u0007\u008b\u0002\u0002\u10bc\u10bd\u0005\u03c6\u01e4\u0002", - "\u10bd\u10bf\u0003\u0002\u0002\u0002\u10be\u10a4\u0003\u0002\u0002\u0002", - "\u10be\u10a5\u0003\u0002\u0002\u0002\u10be\u10a6\u0003\u0002\u0002\u0002", - "\u10be\u10b2\u0003\u0002\u0002\u0002\u10bf\u10c2\u0003\u0002\u0002\u0002", - "\u10c0\u10be\u0003\u0002\u0002\u0002\u10c0\u10c1\u0003\u0002\u0002\u0002", - "\u10c1\u0167\u0003\u0002\u0002\u0002\u10c2\u10c0\u0003\u0002\u0002\u0002", - "\u10c3\u10c4\u0007I\u0002\u0002\u10c4\u10c5\u0007\u012e\u0002\u0002", - "\u10c5\u10c8\u0005\u03c6\u01e4\u0002\u10c6\u10c7\u0007\u0014\u0002\u0002", - "\u10c7\u10c9\u0005\u03c6\u01e4\u0002\u10c8\u10c6\u0003\u0002\u0002\u0002", - "\u10c8\u10c9\u0003\u0002\u0002\u0002\u10c9\u0169\u0003\u0002\u0002\u0002", - "\u10ca\u10cb\u0007\n\u0002\u0002\u10cb\u10cc\u0007\u012e\u0002\u0002", - "\u10cc\u10cd\u0005\u03c6\u01e4\u0002\u10cd\u10d1\u0007\u015f\u0002\u0002", - "\u10ce\u10cf\u0007\u0271\u0002\u0002\u10cf\u10d0\u0007\u0340\u0002\u0002", - "\u10d0\u10d2\u0007\u0340\u0002\u0002\u10d1\u10ce\u0003\u0002\u0002\u0002", - "\u10d1\u10d2\u0003\u0002\u0002\u0002\u10d2\u10d3\u0003\u0002\u0002\u0002", - "\u10d3\u10d6\u0005\u03c6\u01e4\u0002\u10d4\u10d5\u0007\u0337\u0002\u0002", - "\u10d5\u10d7\u0007\u0323\u0002\u0002\u10d6\u10d4\u0003\u0002\u0002\u0002", - "\u10d6\u10d7\u0003\u0002\u0002\u0002\u10d7\u016b\u0003\u0002\u0002\u0002", - "\u10d8\u10d9\u0007I\u0002\u0002\u10d9\u10da\u0007\u02c2\u0002\u0002", - "\u10da\u10db\u0007\u0290\u0002\u0002\u10db\u10dc\u0007\u0233\u0002\u0002", - "\u10dc\u10e4\u0005\u03c6\u01e4\u0002\u10dd\u10e1\u0007\u008b\u0002\u0002", - "\u10de\u10df\u0005\u03c6\u01e4\u0002\u10df\u10e0\u0007\u0337\u0002\u0002", - "\u10e0\u10e2\u0003\u0002\u0002\u0002\u10e1\u10de\u0003\u0002\u0002\u0002", - "\u10e1\u10e2\u0003\u0002\u0002\u0002\u10e2\u10e3\u0003\u0002\u0002\u0002", - "\u10e3\u10e5\u0005\u03c6\u01e4\u0002\u10e4\u10dd\u0003\u0002\u0002\u0002", - "\u10e4\u10e5\u0003\u0002\u0002\u0002\u10e5\u10e8\u0003\u0002\u0002\u0002", - "\u10e6\u10e7\u0007\u0014\u0002\u0002\u10e7\u10e9\u0005\u03c6\u01e4\u0002", - "\u10e8\u10e6\u0003\u0002\u0002\u0002\u10e8\u10e9\u0003\u0002\u0002\u0002", - "\u10e9\u016d\u0003\u0002\u0002\u0002\u10ea\u10eb\u0007I\u0002\u0002", - "\u10eb\u10ec\u0007\u02c8\u0002\u0002\u10ec\u10f0\u0007\u00fd\u0002\u0002", - "\u10ed\u10ee\u0005\u03c6\u01e4\u0002\u10ee\u10ef\u0007\u0337\u0002\u0002", - "\u10ef\u10f1\u0003\u0002\u0002\u0002\u10f0\u10ed\u0003\u0002\u0002\u0002", - "\u10f0\u10f1\u0003\u0002\u0002\u0002\u10f1\u10f2\u0003\u0002\u0002\u0002", - "\u10f2\u111b\u0005\u03c6\u01e4\u0002\u10f3\u10f5\u0007\u033e\u0002\u0002", - "\u10f4\u10f3\u0003\u0002\u0002\u0002\u10f4\u10f5\u0003\u0002\u0002\u0002", - "\u10f5\u10f6\u0003\u0002\u0002\u0002\u10f6\u10f8\u0007\u0004\u0002\u0002", - "\u10f7\u10f9\t)\u0002\u0002\u10f8\u10f7\u0003\u0002\u0002\u0002\u10f8", - "\u10f9\u0003\u0002\u0002\u0002\u10f9\u10fa\u0003\u0002\u0002\u0002\u10fa", - "\u10fb\u0007\u00ff\u0002\u0002\u10fb\u10fc\u0005\u03c6\u01e4\u0002\u10fc", - "\u10fd\u0007\u0337\u0002\u0002\u10fd\u10fe\u0005\u03c6\u01e4\u0002\u10fe", - "\u1103\u0007\u033c\u0002\u0002\u10ff\u1101\u0007\u033e\u0002\u0002\u1100", - "\u10ff\u0003\u0002\u0002\u0002\u1100\u1101\u0003\u0002\u0002\u0002\u1101", - "\u1102\u0003\u0002\u0002\u0002\u1102\u1104\u0005\u03c6\u01e4\u0002\u1103", - "\u1100\u0003\u0002\u0002\u0002\u1104\u1105\u0003\u0002\u0002\u0002\u1105", - "\u1103\u0003\u0002\u0002\u0002\u1105\u1106\u0003\u0002\u0002\u0002\u1106", - "\u1107\u0003\u0002\u0002\u0002\u1107\u1108\u0007\u033d\u0002\u0002\u1108", - "\u1109\u0007\u00e5\u0002\u0002\u1109\u110a\u0005\u03c6\u01e4\u0002\u110a", - "\u110b\u0007\u0337\u0002\u0002\u110b\u1118\u0005\u03c6\u01e4\u0002\u110c", - "\u110e\u0007\u033e\u0002\u0002\u110d\u110c\u0003\u0002\u0002\u0002\u110d", - "\u110e\u0003\u0002\u0002\u0002\u110e\u110f\u0003\u0002\u0002\u0002\u110f", - "\u1110\u0007\u0188\u0002\u0002\u1110\u1117\t*\u0002\u0002\u1111\u1113", - "\u0007\u033e\u0002\u0002\u1112\u1111\u0003\u0002\u0002\u0002\u1112\u1113", - "\u0003\u0002\u0002\u0002\u1113\u1114\u0003\u0002\u0002\u0002\u1114\u1115", - "\u0007\u001b\u0002\u0002\u1115\u1117\t+\u0002\u0002\u1116\u110d\u0003", - "\u0002\u0002\u0002\u1116\u1112\u0003\u0002\u0002\u0002\u1117\u111a\u0003", - "\u0002\u0002\u0002\u1118\u1116\u0003\u0002\u0002\u0002\u1118\u1119\u0003", - "\u0002\u0002\u0002\u1119\u111c\u0003\u0002\u0002\u0002\u111a\u1118\u0003", - "\u0002\u0002\u0002\u111b\u10f4\u0003\u0002\u0002\u0002\u111c\u111d\u0003", - "\u0002\u0002\u0002\u111d\u111b\u0003\u0002\u0002\u0002\u111d\u111e\u0003", - "\u0002\u0002\u0002\u111e\u1129\u0003\u0002\u0002\u0002\u111f\u1120\u0007", - "\u0179\u0002\u0002\u1120\u1121\u0007\u033c\u0002\u0002\u1121\u1122\u0007", - "\u0149\u0002\u0002\u1122\u1123\u0007\u032a\u0002\u0002\u1123\u1126\t", - "\t\u0002\u0002\u1124\u1125\u0007\u02be\u0002\u0002\u1125\u1127\t\t\u0002", - "\u0002\u1126\u1124\u0003\u0002\u0002\u0002\u1126\u1127\u0003\u0002\u0002", - "\u0002\u1127\u1128\u0003\u0002\u0002\u0002\u1128\u112a\u0007\u033d\u0002", - "\u0002\u1129\u111f\u0003\u0002\u0002\u0002\u1129\u112a\u0003\u0002\u0002", - "\u0002\u112a\u112e\u0003\u0002\u0002\u0002\u112b\u112c\u0007\u00dc\u0002", - "\u0002\u112c\u112d\u0007\u0085\u0002\u0002\u112d\u112f\u0007\u0112\u0002", - "\u0002\u112e\u112b\u0003\u0002\u0002\u0002\u112e\u112f\u0003\u0002\u0002", - "\u0002\u112f\u016f\u0003\u0002\u0002\u0002\u1130\u1131\u0007\n\u0002", - "\u0002\u1131\u1135\u0007\u02cf\u0002\u0002\u1132\u1133\u0005\u03c6\u01e4", - "\u0002\u1133\u1134\u0007\u0337\u0002\u0002\u1134\u1136\u0003\u0002\u0002", - "\u0002\u1135\u1132\u0003\u0002\u0002\u0002\u1135\u1136\u0003\u0002\u0002", - "\u0002\u1136\u1137\u0003\u0002\u0002\u0002\u1137\u113d\u0005\u03c6\u01e4", - "\u0002\u1138\u113b\u0007\u0115\u0002\u0002\u1139\u113a\u0007\u0179\u0002", - "\u0002\u113a\u113c\u0007\u0322\u0002\u0002\u113b\u1139\u0003\u0002\u0002", - "\u0002\u113b\u113c\u0003\u0002\u0002\u0002\u113c\u113e\u0003\u0002\u0002", - "\u0002\u113d\u1138\u0003\u0002\u0002\u0002\u113d\u113e\u0003\u0002\u0002", - "\u0002\u113e\u1142\u0003\u0002\u0002\u0002\u113f\u1140\u0007\u009d\u0002", - "\u0002\u1140\u1141\u0007&\u0002\u0002\u1141\u1143\u0007\u0322\u0002", - "\u0002\u1142\u113f\u0003\u0002\u0002\u0002\u1142\u1143\u0003\u0002\u0002", - "\u0002\u1143\u1148\u0003\u0002\u0002\u0002\u1144\u1145\u0007\u00cc\u0002", - "\u0002\u1145\u1149\u0007\u0322\u0002\u0002\u1146\u1147\u0007\u0263\u0002", - "\u0002\u1147\u1149\u0007\u00cc\u0002\u0002\u1148\u1144\u0003\u0002\u0002", - "\u0002\u1148\u1146\u0003\u0002\u0002\u0002\u1148\u1149\u0003\u0002\u0002", - "\u0002\u1149\u114e\u0003\u0002\u0002\u0002\u114a\u114b\u0007\u00c0\u0002", - "\u0002\u114b\u114f\u0007\u0322\u0002\u0002\u114c\u114d\u0007\u0263\u0002", - "\u0002\u114d\u114f\u0007\u00c0\u0002\u0002\u114e\u114a\u0003\u0002\u0002", - "\u0002\u114e\u114c\u0003\u0002\u0002\u0002\u114e\u114f\u0003\u0002\u0002", - "\u0002\u114f\u1153\u0003\u0002\u0002\u0002\u1150\u1154\u0007Q\u0002", - "\u0002\u1151\u1152\u0007\u0263\u0002\u0002\u1152\u1154\u0007Q\u0002", - "\u0002\u1153\u1150\u0003\u0002\u0002\u0002\u1153\u1151\u0003\u0002\u0002", - "\u0002\u1153\u1154\u0003\u0002\u0002\u0002\u1154\u1159\u0003\u0002\u0002", - "\u0002\u1155\u1156\u0007\'\u0002\u0002\u1156\u115a\u0007\u0322\u0002", - "\u0002\u1157\u1158\u0007\u0263\u0002\u0002\u1158\u115a\u0007\'\u0002", - "\u0002\u1159\u1155\u0003\u0002\u0002\u0002\u1159\u1157\u0003\u0002\u0002", - "\u0002\u1159\u115a\u0003\u0002\u0002\u0002\u115a\u0171\u0003\u0002\u0002", - "\u0002\u115b\u115c\u0007I\u0002\u0002\u115c\u1160\u0007\u02cf\u0002", - "\u0002\u115d\u115e\u0005\u03c6\u01e4\u0002\u115e\u115f\u0007\u0337\u0002", - "\u0002\u115f\u1161\u0003\u0002\u0002\u0002\u1160\u115d\u0003\u0002\u0002", - "\u0002\u1160\u1161\u0003\u0002\u0002\u0002\u1161\u1162\u0003\u0002\u0002", - "\u0002\u1162\u1165\u0005\u03c6\u01e4\u0002\u1163\u1164\u0007\u0010\u0002", - "\u0002\u1164\u1166\u0005\u03be\u01e0\u0002\u1165\u1163\u0003\u0002\u0002", - "\u0002\u1165\u1166\u0003\u0002\u0002\u0002\u1166\u116a\u0003\u0002\u0002", - "\u0002\u1167\u1168\u0007\u014b\u0002\u0002\u1168\u1169\u0007\u0179\u0002", - "\u0002\u1169\u116b\u0007\u0322\u0002\u0002\u116a\u1167\u0003\u0002\u0002", - "\u0002\u116a\u116b\u0003\u0002\u0002\u0002\u116b\u1172\u0003\u0002\u0002", - "\u0002\u116c\u116d\u0007\u009d\u0002\u0002\u116d\u116f\u0007&\u0002", - "\u0002\u116e\u1170\u0007\u0345\u0002\u0002\u116f\u116e\u0003\u0002\u0002", - "\u0002\u116f\u1170\u0003\u0002\u0002\u0002\u1170\u1171\u0003\u0002\u0002", - "\u0002\u1171\u1173\u0007\u0322\u0002\u0002\u1172\u116c\u0003\u0002\u0002", - "\u0002\u1172\u1173\u0003\u0002\u0002\u0002\u1173\u117a\u0003\u0002\u0002", - "\u0002\u1174\u1176\u0007\u00cc\u0002\u0002\u1175\u1177\u0007\u0322\u0002", - "\u0002\u1176\u1175\u0003\u0002\u0002\u0002\u1176\u1177\u0003\u0002\u0002", - "\u0002\u1177\u117b\u0003\u0002\u0002\u0002\u1178\u1179\u0007\u0263\u0002", - "\u0002\u1179\u117b\u0007\u00cc\u0002\u0002\u117a\u1174\u0003\u0002\u0002", - "\u0002\u117a\u1178\u0003\u0002\u0002\u0002\u117a\u117b\u0003\u0002\u0002", - "\u0002\u117b\u1182\u0003\u0002\u0002\u0002\u117c\u117e\u0007\u00c0\u0002", - "\u0002\u117d\u117f\u0007\u0322\u0002\u0002\u117e\u117d\u0003\u0002\u0002", - "\u0002\u117e\u117f\u0003\u0002\u0002\u0002\u117f\u1183\u0003\u0002\u0002", - "\u0002\u1180\u1181\u0007\u0263\u0002\u0002\u1181\u1183\u0007\u00c0\u0002", - "\u0002\u1182\u117c\u0003\u0002\u0002\u0002\u1182\u1180\u0003\u0002\u0002", - "\u0002\u1182\u1183\u0003\u0002\u0002\u0002\u1183\u1187\u0003\u0002\u0002", - "\u0002\u1184\u1188\u0007Q\u0002\u0002\u1185\u1186\u0007\u0263\u0002", - "\u0002\u1186\u1188\u0007Q\u0002\u0002\u1187\u1184\u0003\u0002\u0002", - "\u0002\u1187\u1185\u0003\u0002\u0002\u0002\u1187\u1188\u0003\u0002\u0002", - "\u0002\u1188\u118f\u0003\u0002\u0002\u0002\u1189\u118b\u0007\'\u0002", - "\u0002\u118a\u118c\u0007\u0322\u0002\u0002\u118b\u118a\u0003\u0002\u0002", - "\u0002\u118b\u118c\u0003\u0002\u0002\u0002\u118c\u1190\u0003\u0002\u0002", - "\u0002\u118d\u118e\u0007\u0263\u0002\u0002\u118e\u1190\u0007\'\u0002", - "\u0002\u118f\u1189\u0003\u0002\u0002\u0002\u118f\u118d\u0003\u0002\u0002", - "\u0002\u118f\u1190\u0003\u0002\u0002\u0002\u1190\u0173\u0003\u0002\u0002", - "\u0002\u1191\u1192\u0007\n\u0002\u0002\u1192\u1193\u0007\u0135\u0002", - "\u0002\u1193\u1194\u0007\u0196\u0002\u0002\u1194\u1218\u0005\u03c6\u01e4", - "\u0002\u1195\u11c2\u0007\u015a\u0002\u0002\u1196\u1197\u0007\u0081\u0002", - "\u0002\u1197\u11bc\u0007\u033c\u0002\u0002\u1198\u119a\u0007\u033e\u0002", - "\u0002\u1199\u1198\u0003\u0002\u0002\u0002\u1199\u119a\u0003\u0002\u0002", - "\u0002\u119a\u119b\u0003\u0002\u0002\u0002\u119b\u119c\u0007\u01fd\u0002", - "\u0002\u119c\u119d\u0007\u032a\u0002\u0002\u119d\u11bb\u0007\u0326\u0002", - "\u0002\u119e\u11a0\u0007\u033e\u0002\u0002\u119f\u119e\u0003\u0002\u0002", - "\u0002\u119f\u11a0\u0003\u0002\u0002\u0002\u11a0\u11a1\u0003\u0002\u0002", - "\u0002\u11a1\u11a2\u0007\u024c\u0002\u0002\u11a2\u11a6\u0007\u032a\u0002", - "\u0002\u11a3\u11a4\u0007\u0322\u0002\u0002\u11a4\u11a7\t,\u0002\u0002", - "\u11a5\u11a7\u0007\u0306\u0002\u0002\u11a6\u11a3\u0003\u0002\u0002\u0002", - "\u11a6\u11a5\u0003\u0002\u0002\u0002\u11a7\u11bb\u0003\u0002\u0002\u0002", - "\u11a8\u11aa\u0007\u033e\u0002\u0002\u11a9\u11a8\u0003\u0002\u0002\u0002", - "\u11a9\u11aa\u0003\u0002\u0002\u0002\u11aa\u11ab\u0003\u0002\u0002\u0002", - "\u11ab\u11ac\u0007\u0249\u0002\u0002\u11ac\u11ad\u0007\u032a\u0002\u0002", - "\u11ad\u11bb\t-\u0002\u0002\u11ae\u11b0\u0007\u033e\u0002\u0002\u11af", - "\u11ae\u0003\u0002\u0002\u0002\u11af\u11b0\u0003\u0002\u0002\u0002\u11b0", - "\u11b1\u0003\u0002\u0002\u0002\u11b1\u11b2\u0007\u0244\u0002\u0002\u11b2", - "\u11b3\u0007\u032a\u0002\u0002\u11b3\u11bb\u0007\u0322\u0002\u0002\u11b4", - "\u11b6\u0007\u033e\u0002\u0002\u11b5\u11b4\u0003\u0002\u0002\u0002\u11b5", - "\u11b6\u0003\u0002\u0002\u0002\u11b6\u11b7\u0003\u0002\u0002\u0002\u11b7", - "\u11b8\u0007\u02b1\u0002\u0002\u11b8\u11b9\u0007\u032a\u0002\u0002\u11b9", - "\u11bb\t\t\u0002\u0002\u11ba\u1199\u0003\u0002\u0002\u0002\u11ba\u119f", - "\u0003\u0002\u0002\u0002\u11ba\u11a9\u0003\u0002\u0002\u0002\u11ba\u11af", - "\u0003\u0002\u0002\u0002\u11ba\u11b5\u0003\u0002\u0002\u0002\u11bb\u11be", - "\u0003\u0002\u0002\u0002\u11bc\u11ba\u0003\u0002\u0002\u0002\u11bc\u11bd", - "\u0003\u0002\u0002\u0002\u11bd\u11bf\u0003\u0002\u0002\u0002\u11be\u11bc", - "\u0003\u0002\u0002\u0002\u11bf\u11c3\u0007\u033d\u0002\u0002\u11c0\u11c3", - "\u0007\u0192\u0002\u0002\u11c1\u11c3\u0007\u02c9\u0002\u0002\u11c2\u1196", - "\u0003\u0002\u0002\u0002\u11c2\u11c0\u0003\u0002\u0002\u0002\u11c2\u11c1", - "\u0003\u0002\u0002\u0002\u11c3\u11c5\u0003\u0002\u0002\u0002\u11c4\u1195", - "\u0003\u0002\u0002\u0002\u11c4\u11c5\u0003\u0002\u0002\u0002\u11c5\u11e0", - "\u0003\u0002\u0002\u0002\u11c6\u11c7\u0007\u0179\u0002\u0002\u11c7\u11dc", - "\u0007\u033c\u0002\u0002\u11c8\u11ca\u0007\u033e\u0002\u0002\u11c9\u11c8", - "\u0003\u0002\u0002\u0002\u11c9\u11ca\u0003\u0002\u0002\u0002\u11ca\u11cb", - "\u0003\u0002\u0002\u0002\u11cb\u11cc\u0007\u0295\u0002\u0002\u11cc\u11cd", - "\u0007\u032a\u0002\u0002\u11cd\u11db\u0007\u0322\u0002\u0002\u11ce\u11d0", - "\u0007\u033e\u0002\u0002\u11cf\u11ce\u0003\u0002\u0002\u0002\u11cf\u11d0", - "\u0003\u0002\u0002\u0002\u11d0\u11d1\u0003\u0002\u0002\u0002\u11d1\u11d2", - "\u0007\u00e6\u0002\u0002\u11d2\u11d3\u0007\u032a\u0002\u0002\u11d3\u11db", - "\t.\u0002\u0002\u11d4\u11d6\u0007\u033e\u0002\u0002\u11d5\u11d4\u0003", - "\u0002\u0002\u0002\u11d5\u11d6\u0003\u0002\u0002\u0002\u11d6\u11d7\u0003", - "\u0002\u0002\u0002\u11d7\u11d8\u0007\u0149\u0002\u0002\u11d8\u11d9\u0007", - "\u032a\u0002\u0002\u11d9\u11db\t\t\u0002\u0002\u11da\u11c9\u0003\u0002", - "\u0002\u0002\u11da\u11cf\u0003\u0002\u0002\u0002\u11da\u11d5\u0003\u0002", - "\u0002\u0002\u11db\u11de\u0003\u0002\u0002\u0002\u11dc\u11da\u0003\u0002", - "\u0002\u0002\u11dc\u11dd\u0003\u0002\u0002\u0002\u11dd\u11df\u0003\u0002", - "\u0002\u0002\u11de\u11dc\u0003\u0002\u0002\u0002\u11df\u11e1\u0007\u033d", - "\u0002\u0002\u11e0\u11c6\u0003\u0002\u0002\u0002\u11e0\u11e1\u0003\u0002", - "\u0002\u0002\u11e1\u1210\u0003\u0002\u0002\u0002\u11e2\u120e\u0007\u0176", - "\u0002\u0002\u11e3\u11e5\u0007\u033e\u0002\u0002\u11e4\u11e3\u0003\u0002", - "\u0002\u0002\u11e4\u11e5\u0003\u0002\u0002\u0002\u11e5\u11e7\u0003\u0002", - "\u0002\u0002\u11e6\u11e8\u0007\u00dc\u0002\u0002\u11e7\u11e6\u0003\u0002", - "\u0002\u0002\u11e7\u11e8\u0003\u0002\u0002\u0002\u11e8\u11e9\u0003\u0002", - "\u0002\u0002\u11e9\u11f5\u0005\u03c6\u01e4\u0002\u11ea\u11f6\u0007\u032a", - "\u0002\u0002\u11eb\u11ec\u0007\u032c\u0002\u0002\u11ec\u11f6\u0007\u032b", - "\u0002\u0002\u11ed\u11ee\u0007\u032d\u0002\u0002\u11ee\u11f6\u0007\u032a", - "\u0002\u0002\u11ef\u11f6\u0007\u032b\u0002\u0002\u11f0\u11f1\u0007\u032b", - "\u0002\u0002\u11f1\u11f6\u0007\u032a\u0002\u0002\u11f2\u11f6\u0007\u032c", - "\u0002\u0002\u11f3\u11f4\u0007\u032c\u0002\u0002\u11f4\u11f6\u0007\u032a", - "\u0002\u0002\u11f5\u11ea\u0003\u0002\u0002\u0002\u11f5\u11eb\u0003\u0002", - "\u0002\u0002\u11f5\u11ed\u0003\u0002\u0002\u0002\u11f5\u11ef\u0003\u0002", - "\u0002\u0002\u11f5\u11f0\u0003\u0002\u0002\u0002\u11f5\u11f2\u0003\u0002", - "\u0002\u0002\u11f5\u11f3\u0003\u0002\u0002\u0002\u11f6\u11f7\u0003\u0002", - "\u0002\u0002\u11f7\u11f8\t\u0018\u0002\u0002\u11f8\u120f\u0003\u0002", - "\u0002\u0002\u11f9\u11fb\u0007\u033e\u0002\u0002\u11fa\u11f9\u0003\u0002", - "\u0002\u0002\u11fa\u11fb\u0003\u0002\u0002\u0002\u11fb\u11fc\u0003\u0002", - "\u0002\u0002\u11fc\u11fe\t\u001d\u0002\u0002\u11fd\u11ff\u0007\u00dc", - "\u0002\u0002\u11fe\u11fd\u0003\u0002\u0002\u0002\u11fe\u11ff\u0003\u0002", - "\u0002\u0002\u11ff\u120b\u0003\u0002\u0002\u0002\u1200\u120c\u0007\u032a", - "\u0002\u0002\u1201\u1202\u0007\u032c\u0002\u0002\u1202\u120c\u0007\u032b", - "\u0002\u0002\u1203\u1204\u0007\u032d\u0002\u0002\u1204\u120c\u0007\u032a", - "\u0002\u0002\u1205\u120c\u0007\u032b\u0002\u0002\u1206\u1207\u0007\u032b", - "\u0002\u0002\u1207\u120c\u0007\u032a\u0002\u0002\u1208\u120c\u0007\u032c", - "\u0002\u0002\u1209\u120a\u0007\u032c\u0002\u0002\u120a\u120c\u0007\u032a", - "\u0002\u0002\u120b\u1200\u0003\u0002\u0002\u0002\u120b\u1201\u0003\u0002", - "\u0002\u0002\u120b\u1203\u0003\u0002\u0002\u0002\u120b\u1205\u0003\u0002", - "\u0002\u0002\u120b\u1206\u0003\u0002\u0002\u0002\u120b\u1208\u0003\u0002", - "\u0002\u0002\u120b\u1209\u0003\u0002\u0002\u0002\u120c\u120d\u0003\u0002", - "\u0002\u0002\u120d\u120f\t\u0018\u0002\u0002\u120e\u11e4\u0003\u0002", - "\u0002\u0002\u120e\u11fa\u0003\u0002\u0002\u0002\u120f\u1211\u0003\u0002", - "\u0002\u0002\u1210\u11e2\u0003\u0002\u0002\u0002\u1210\u1211\u0003\u0002", - "\u0002\u0002\u1211\u1219\u0003\u0002\u0002\u0002\u1212\u1213\u0007\u02a9", - "\u0002\u0002\u1213\u1219\u0007\u0176\u0002\u0002\u1214\u1215\u0007\u025a", - "\u0002\u0002\u1215\u1216\u0007\u025d\u0002\u0002\u1216\u1217\u0007\u032a", - "\u0002\u0002\u1217\u1219\u0005\u03c6\u01e4\u0002\u1218\u11c4\u0003\u0002", - "\u0002\u0002\u1218\u1212\u0003\u0002\u0002\u0002\u1218\u1214\u0003\u0002", - "\u0002\u0002\u1219\u0175\u0003\u0002\u0002\u0002\u121a\u121b\u0007I", - "\u0002\u0002\u121b\u121c\u0007\u0135\u0002\u0002\u121c\u121d\u0007\u0196", - "\u0002\u0002\u121d\u12a7\u0005\u03c6\u01e4\u0002\u121e\u124b\u0007\u015a", - "\u0002\u0002\u121f\u1220\u0007\u0081\u0002\u0002\u1220\u1245\u0007\u033c", - "\u0002\u0002\u1221\u1223\u0007\u033e\u0002\u0002\u1222\u1221\u0003\u0002", - "\u0002\u0002\u1222\u1223\u0003\u0002\u0002\u0002\u1223\u1224\u0003\u0002", - "\u0002\u0002\u1224\u1225\u0007\u01fd\u0002\u0002\u1225\u1226\u0007\u032a", - "\u0002\u0002\u1226\u1244\u0007\u0326\u0002\u0002\u1227\u1229\u0007\u033e", - "\u0002\u0002\u1228\u1227\u0003\u0002\u0002\u0002\u1228\u1229\u0003\u0002", - "\u0002\u0002\u1229\u122a\u0003\u0002\u0002\u0002\u122a\u122b\u0007\u024c", - "\u0002\u0002\u122b\u122f\u0007\u032a\u0002\u0002\u122c\u122d\u0007\u0322", - "\u0002\u0002\u122d\u1230\t,\u0002\u0002\u122e\u1230\u0007\u0306\u0002", - "\u0002\u122f\u122c\u0003\u0002\u0002\u0002\u122f\u122e\u0003\u0002\u0002", - "\u0002\u1230\u1244\u0003\u0002\u0002\u0002\u1231\u1233\u0007\u033e\u0002", - "\u0002\u1232\u1231\u0003\u0002\u0002\u0002\u1232\u1233\u0003\u0002\u0002", - "\u0002\u1233\u1234\u0003\u0002\u0002\u0002\u1234\u1235\u0007\u0249\u0002", - "\u0002\u1235\u1236\u0007\u032a\u0002\u0002\u1236\u1244\t-\u0002\u0002", - "\u1237\u1239\u0007\u033e\u0002\u0002\u1238\u1237\u0003\u0002\u0002\u0002", - "\u1238\u1239\u0003\u0002\u0002\u0002\u1239\u123a\u0003\u0002\u0002\u0002", - "\u123a\u123b\u0007\u0244\u0002\u0002\u123b\u123c\u0007\u032a\u0002\u0002", - "\u123c\u1244\u0007\u0322\u0002\u0002\u123d\u123f\u0007\u033e\u0002\u0002", - "\u123e\u123d\u0003\u0002\u0002\u0002\u123e\u123f\u0003\u0002\u0002\u0002", - "\u123f\u1240\u0003\u0002\u0002\u0002\u1240\u1241\u0007\u02b1\u0002\u0002", - "\u1241\u1242\u0007\u032a\u0002\u0002\u1242\u1244\t\t\u0002\u0002\u1243", - "\u1222\u0003\u0002\u0002\u0002\u1243\u1228\u0003\u0002\u0002\u0002\u1243", - "\u1232\u0003\u0002\u0002\u0002\u1243\u1238\u0003\u0002\u0002\u0002\u1243", - "\u123e\u0003\u0002\u0002\u0002\u1244\u1247\u0003\u0002\u0002\u0002\u1245", - "\u1243\u0003\u0002\u0002\u0002\u1245\u1246\u0003\u0002\u0002\u0002\u1246", - "\u1248\u0003\u0002\u0002\u0002\u1247\u1245\u0003\u0002\u0002\u0002\u1248", - "\u124c\u0007\u033d\u0002\u0002\u1249\u124c\u0007\u0192\u0002\u0002\u124a", - "\u124c\u0007\u02c9\u0002\u0002\u124b\u121f\u0003\u0002\u0002\u0002\u124b", - "\u1249\u0003\u0002\u0002\u0002\u124b\u124a\u0003\u0002\u0002\u0002\u124c", - "\u124e\u0003\u0002\u0002\u0002\u124d\u121e\u0003\u0002\u0002\u0002\u124d", - "\u124e\u0003\u0002\u0002\u0002\u124e\u126f\u0003\u0002\u0002\u0002\u124f", - "\u1250\u0007\u0179\u0002\u0002\u1250\u126b\u0007\u033c\u0002\u0002\u1251", - "\u1253\u0007\u033e\u0002\u0002\u1252\u1251\u0003\u0002\u0002\u0002\u1252", - "\u1253\u0003\u0002\u0002\u0002\u1253\u1254\u0003\u0002\u0002\u0002\u1254", - "\u1255\u0007\u0295\u0002\u0002\u1255\u1256\u0007\u032a\u0002\u0002\u1256", - "\u126a\u0007\u0322\u0002\u0002\u1257\u1259\u0007\u033e\u0002\u0002\u1258", - "\u1257\u0003\u0002\u0002\u0002\u1258\u1259\u0003\u0002\u0002\u0002\u1259", - "\u125a\u0003\u0002\u0002\u0002\u125a\u125b\u0007\u00e6\u0002\u0002\u125b", - "\u125c\u0007\u032a\u0002\u0002\u125c\u126a\t.\u0002\u0002\u125d\u125f", - "\u0007\u033e\u0002\u0002\u125e\u125d\u0003\u0002\u0002\u0002\u125e\u125f", - "\u0003\u0002\u0002\u0002\u125f\u1260\u0003\u0002\u0002\u0002\u1260\u1261", - "\u0007\u0149\u0002\u0002\u1261\u1262\u0007\u032a\u0002\u0002\u1262\u126a", - "\t\t\u0002\u0002\u1263\u1265\u0007\u033e\u0002\u0002\u1264\u1263\u0003", - "\u0002\u0002\u0002\u1264\u1265\u0003\u0002\u0002\u0002\u1265\u1266\u0003", - "\u0002\u0002\u0002\u1266\u1267\u0007\u0197\u0002\u0002\u1267\u1268\u0007", - "\u032a\u0002\u0002\u1268\u126a\u0005\u03c6\u01e4\u0002\u1269\u1252\u0003", - "\u0002\u0002\u0002\u1269\u1258\u0003\u0002\u0002\u0002\u1269\u125e\u0003", - "\u0002\u0002\u0002\u1269\u1264\u0003\u0002\u0002\u0002\u126a\u126d\u0003", - "\u0002\u0002\u0002\u126b\u1269\u0003\u0002\u0002\u0002\u126b\u126c\u0003", - "\u0002\u0002\u0002\u126c\u126e\u0003\u0002\u0002\u0002\u126d\u126b\u0003", - "\u0002\u0002\u0002\u126e\u1270\u0007\u033d\u0002\u0002\u126f\u124f\u0003", - "\u0002\u0002\u0002\u126f\u1270\u0003\u0002\u0002\u0002\u1270\u129f\u0003", - "\u0002\u0002\u0002\u1271\u129d\u0007\u0176\u0002\u0002\u1272\u1274\u0007", - "\u033e\u0002\u0002\u1273\u1272\u0003\u0002\u0002\u0002\u1273\u1274\u0003", - "\u0002\u0002\u0002\u1274\u1276\u0003\u0002\u0002\u0002\u1275\u1277\u0007", - "\u00dc\u0002\u0002\u1276\u1275\u0003\u0002\u0002\u0002\u1276\u1277\u0003", - "\u0002\u0002\u0002\u1277\u1278\u0003\u0002\u0002\u0002\u1278\u1284\u0005", - "\u03c6\u01e4\u0002\u1279\u1285\u0007\u032a\u0002\u0002\u127a\u127b\u0007", - "\u032c\u0002\u0002\u127b\u1285\u0007\u032b\u0002\u0002\u127c\u127d\u0007", - "\u032d\u0002\u0002\u127d\u1285\u0007\u032a\u0002\u0002\u127e\u1285\u0007", - "\u032b\u0002\u0002\u127f\u1280\u0007\u032b\u0002\u0002\u1280\u1285\u0007", - "\u032a\u0002\u0002\u1281\u1285\u0007\u032c\u0002\u0002\u1282\u1283\u0007", - "\u032c\u0002\u0002\u1283\u1285\u0007\u032a\u0002\u0002\u1284\u1279\u0003", - "\u0002\u0002\u0002\u1284\u127a\u0003\u0002\u0002\u0002\u1284\u127c\u0003", - "\u0002\u0002\u0002\u1284\u127e\u0003\u0002\u0002\u0002\u1284\u127f\u0003", - "\u0002\u0002\u0002\u1284\u1281\u0003\u0002\u0002\u0002\u1284\u1282\u0003", - "\u0002\u0002\u0002\u1285\u1286\u0003\u0002\u0002\u0002\u1286\u1287\t", - "\u0018\u0002\u0002\u1287\u129e\u0003\u0002\u0002\u0002\u1288\u128a\u0007", - "\u033e\u0002\u0002\u1289\u1288\u0003\u0002\u0002\u0002\u1289\u128a\u0003", - "\u0002\u0002\u0002\u128a\u128b\u0003\u0002\u0002\u0002\u128b\u128d\t", - "\u001d\u0002\u0002\u128c\u128e\u0007\u00dc\u0002\u0002\u128d\u128c\u0003", - "\u0002\u0002\u0002\u128d\u128e\u0003\u0002\u0002\u0002\u128e\u129a\u0003", - "\u0002\u0002\u0002\u128f\u129b\u0007\u032a\u0002\u0002\u1290\u1291\u0007", - "\u032c\u0002\u0002\u1291\u129b\u0007\u032b\u0002\u0002\u1292\u1293\u0007", - "\u032d\u0002\u0002\u1293\u129b\u0007\u032a\u0002\u0002\u1294\u129b\u0007", - "\u032b\u0002\u0002\u1295\u1296\u0007\u032b\u0002\u0002\u1296\u129b\u0007", - "\u032a\u0002\u0002\u1297\u129b\u0007\u032c\u0002\u0002\u1298\u1299\u0007", - "\u032c\u0002\u0002\u1299\u129b\u0007\u032a\u0002\u0002\u129a\u128f\u0003", - "\u0002\u0002\u0002\u129a\u1290\u0003\u0002\u0002\u0002\u129a\u1292\u0003", - "\u0002\u0002\u0002\u129a\u1294\u0003\u0002\u0002\u0002\u129a\u1295\u0003", - "\u0002\u0002\u0002\u129a\u1297\u0003\u0002\u0002\u0002\u129a\u1298\u0003", - "\u0002\u0002\u0002\u129b\u129c\u0003\u0002\u0002\u0002\u129c\u129e\t", - "\u0018\u0002\u0002\u129d\u1273\u0003\u0002\u0002\u0002\u129d\u1289\u0003", - "\u0002\u0002\u0002\u129e\u12a0\u0003\u0002\u0002\u0002\u129f\u1271\u0003", - "\u0002\u0002\u0002\u129f\u12a0\u0003\u0002\u0002\u0002\u12a0\u12a8\u0003", - "\u0002\u0002\u0002\u12a1\u12a2\u0007\u02a9\u0002\u0002\u12a2\u12a8\u0007", - "\u0176\u0002\u0002\u12a3\u12a4\u0007\u025a\u0002\u0002\u12a4\u12a5\u0007", - "\u025d\u0002\u0002\u12a5\u12a6\u0007\u032a\u0002\u0002\u12a6\u12a8\u0005", - "\u03c6\u01e4\u0002\u12a7\u124d\u0003\u0002\u0002\u0002\u12a7\u12a1\u0003", - "\u0002\u0002\u0002\u12a7\u12a3\u0003\u0002\u0002\u0002\u12a8\u0177\u0003", - "\u0002\u0002\u0002\u12a9\u12aa\u0007\n\u0002\u0002\u12aa\u12ab\u0007", - "\u0135\u0002\u0002\u12ab\u12ac\u0007\u0196\u0002\u0002\u12ac\u12ad\u0007", - "\u0143\u0002\u0002\u12ad\u12b2\u0005\u03c6\u01e4\u0002\u12ae\u12af\u0007", - "\u0085\u0002\u0002\u12af\u12b0\u0007\u0135\u0002\u0002\u12b0\u12b1\u0007", - "\u0196\u0002\u0002\u12b1\u12b3\u0005\u03c6\u01e4\u0002\u12b2\u12ae\u0003", - "\u0002\u0002\u0002\u12b2\u12b3\u0003\u0002\u0002\u0002\u12b3\u12bb\u0003", - "\u0002\u0002\u0002\u12b4\u12b5\t\u0015\u0002\u0002\u12b5\u12b6\u0007", - "\u033c\u0002\u0002\u12b6\u12b7\u0005\u03c6\u01e4\u0002\u12b7\u12b8\u0007", - "\u033d\u0002\u0002\u12b8\u12ba\u0003\u0002\u0002\u0002\u12b9\u12b4\u0003", - "\u0002\u0002\u0002\u12ba\u12bd\u0003\u0002\u0002\u0002\u12bb\u12b9\u0003", - "\u0002\u0002\u0002\u12bb\u12bc\u0003\u0002\u0002\u0002\u12bc\u12c4\u0003", - "\u0002\u0002\u0002\u12bd\u12bb\u0003\u0002\u0002\u0002\u12be\u12bf\u0007", - "\u0179\u0002\u0002\u12bf\u12c0\u0007\u033c\u0002\u0002\u12c0\u12c1\u0007", - "\u0149\u0002\u0002\u12c1\u12c2\u0007\u032a\u0002\u0002\u12c2\u12c3\t", - "\t\u0002\u0002\u12c3\u12c5\u0007\u033d\u0002\u0002\u12c4\u12be\u0003", - "\u0002\u0002\u0002\u12c4\u12c5\u0003\u0002\u0002\u0002\u12c5\u0179\u0003", - "\u0002\u0002\u0002\u12c6\u12c7\u0007I\u0002\u0002\u12c7\u12c8\u0007", - "\u0135\u0002\u0002\u12c8\u12c9\u0007\u0196\u0002\u0002\u12c9\u12ca\u0007", - "\u0143\u0002\u0002\u12ca\u12cf\u0005\u03c6\u01e4\u0002\u12cb\u12cc\u0007", - "\u0085\u0002\u0002\u12cc\u12cd\u0007\u0135\u0002\u0002\u12cd\u12ce\u0007", - "\u0196\u0002\u0002\u12ce\u12d0\u0005\u03c6\u01e4\u0002\u12cf\u12cb\u0003", - "\u0002\u0002\u0002\u12cf\u12d0\u0003\u0002\u0002\u0002\u12d0\u12d8\u0003", - "\u0002\u0002\u0002\u12d1\u12d2\u0007\u0004\u0002\u0002\u12d2\u12d3\u0007", - "\u033c\u0002\u0002\u12d3\u12d4\u0005\u03c6\u01e4\u0002\u12d4\u12d5\u0007", - "\u033d\u0002\u0002\u12d5\u12d7\u0003\u0002\u0002\u0002\u12d6\u12d1\u0003", - "\u0002\u0002\u0002\u12d7\u12da\u0003\u0002\u0002\u0002\u12d8\u12d6\u0003", - "\u0002\u0002\u0002\u12d8\u12d9\u0003\u0002\u0002\u0002\u12d9\u12e1\u0003", - "\u0002\u0002\u0002\u12da\u12d8\u0003\u0002\u0002\u0002\u12db\u12dc\u0007", - "\u0179\u0002\u0002\u12dc\u12dd\u0007\u033c\u0002\u0002\u12dd\u12de\u0007", - "\u0149\u0002\u0002\u12de\u12df\u0007\u032a\u0002\u0002\u12df\u12e0\t", - "\t\u0002\u0002\u12e0\u12e2\u0007\u033d\u0002\u0002\u12e1\u12db\u0003", - "\u0002\u0002\u0002\u12e1\u12e2\u0003\u0002\u0002\u0002\u12e2\u017b\u0003", - "\u0002\u0002\u0002\u12e3\u12e4\u0007\n\u0002\u0002\u12e4\u12e5\u0007", - "\u0135\u0002\u0002\u12e5\u12e6\u0007<\u0002\u0002\u12e6\u1350\u0007", - "\u013b\u0002\u0002\u12e7\u12e8\u0007\u0104\u0002\u0002\u12e8\u130c\u0007", - "\u0187\u0002\u0002\u12e9\u12ea\u0007\u01c1\u0002\u0002\u12ea\u12fa\u0007", - "\u032a\u0002\u0002\u12eb\u12fb\u0007\u0198\u0002\u0002\u12ec\u12ee\u0007", - "\u033e\u0002\u0002\u12ed\u12ec\u0003\u0002\u0002\u0002\u12ed\u12ee\u0003", - "\u0002\u0002\u0002\u12ee\u12ef\u0003\u0002\u0002\u0002\u12ef\u12f7\u0007", - "\u0322\u0002\u0002\u12f0\u12f2\u0007\u033e\u0002\u0002\u12f1\u12f0\u0003", - "\u0002\u0002\u0002\u12f1\u12f2\u0003\u0002\u0002\u0002\u12f2\u12f3\u0003", - "\u0002\u0002\u0002\u12f3\u12f4\u0007\u0322\u0002\u0002\u12f4\u12f5\u0007", - "\u015a\u0002\u0002\u12f5\u12f7\u0007\u0322\u0002\u0002\u12f6\u12ed\u0003", - "\u0002\u0002\u0002\u12f6\u12f1\u0003\u0002\u0002\u0002\u12f7\u12f8\u0003", - "\u0002\u0002\u0002\u12f8\u12f6\u0003\u0002\u0002\u0002\u12f8\u12f9\u0003", - "\u0002\u0002\u0002\u12f9\u12fb\u0003\u0002\u0002\u0002\u12fa\u12eb\u0003", - "\u0002\u0002\u0002\u12fa\u12f6\u0003\u0002\u0002\u0002\u12fb\u130d\u0003", - "\u0002\u0002\u0002\u12fc\u12fd\u0007\u026e\u0002\u0002\u12fd\u1308\u0007", - "\u032a\u0002\u0002\u12fe\u1300\u0007\u033e\u0002\u0002\u12ff\u12fe\u0003", - "\u0002\u0002\u0002\u12ff\u1300\u0003\u0002\u0002\u0002\u1300\u1301\u0003", - "\u0002\u0002\u0002\u1301\u1309\u0007\u0322\u0002\u0002\u1302\u1304\u0007", - "\u033e\u0002\u0002\u1303\u1302\u0003\u0002\u0002\u0002\u1303\u1304\u0003", - "\u0002\u0002\u0002\u1304\u1305\u0003\u0002\u0002\u0002\u1305\u1306\u0007", - "\u0322\u0002\u0002\u1306\u1307\u0007\u015a\u0002\u0002\u1307\u1309\u0007", - "\u0322\u0002\u0002\u1308\u12ff\u0003\u0002\u0002\u0002\u1308\u1303\u0003", - "\u0002\u0002\u0002\u1309\u130a\u0003\u0002\u0002\u0002\u130a\u1308\u0003", - "\u0002\u0002\u0002\u130a\u130b\u0003\u0002\u0002\u0002\u130b\u130d\u0003", - "\u0002\u0002\u0002\u130c\u12e9\u0003\u0002\u0002\u0002\u130c\u12fc\u0003", - "\u0002\u0002\u0002\u130d\u1351\u0003\u0002\u0002\u0002\u130e\u130f\u0007", - "_\u0002\u0002\u130f\u131f\u0007\u00bb\u0002\u0002\u1310\u1320\u0007", - "\u00e5\u0002\u0002\u1311\u1320\u0007\u00e2\u0002\u0002\u1312\u1313\u0007", - "\u0283\u0002\u0002\u1313\u1314\u0007\u032a\u0002\u0002\u1314\u1320\t", - "/\u0002\u0002\u1315\u1316\u0007\u00c3\u0002\u0002\u1316\u131a\u0007", - "\u032a\u0002\u0002\u1317\u1318\u0007\u0322\u0002\u0002\u1318\u131b\u0007", - "\u024d\u0002\u0002\u1319\u131b\u0007Y\u0002\u0002\u131a\u1317\u0003", - "\u0002\u0002\u0002\u131a\u1319\u0003\u0002\u0002\u0002\u131b\u1320\u0003", - "\u0002\u0002\u0002\u131c\u131d\u0007\u0244\u0002\u0002\u131d\u131e\u0007", - "\u032a\u0002\u0002\u131e\u1320\t0\u0002\u0002\u131f\u1310\u0003\u0002", - "\u0002\u0002\u131f\u1311\u0003\u0002\u0002\u0002\u131f\u1312\u0003\u0002", - "\u0002\u0002\u131f\u1315\u0003\u0002\u0002\u0002\u131f\u131c\u0003\u0002", - "\u0002\u0002\u1320\u1351\u0003\u0002\u0002\u0002\u1321\u1322\u0007}", - "\u0002\u0002\u1322\u1323\u00074\u0002\u0002\u1323\u1335\u0007\u0290", - "\u0002\u0002\u1324\u1325\u0007\u0171\u0002\u0002\u1325\u1326\u0007\u032a", - "\u0002\u0002\u1326\u1336\t/\u0002\u0002\u1327\u1328\u0007\u0145\u0002", - "\u0002\u1328\u1329\u0007\u032a\u0002\u0002\u1329\u1336\t/\u0002\u0002", - "\u132a\u132b\u0007\u0146\u0002\u0002\u132b\u132c\u0007\u032a\u0002\u0002", - "\u132c\u1336\t/\u0002\u0002\u132d\u132e\u0007\u0147\u0002\u0002\u132e", - "\u1336\t/\u0002\u0002\u132f\u1330\u0007~\u0002\u0002\u1330\u1331\u0007", - "\u032a\u0002\u0002\u1331\u1336\t/\u0002\u0002\u1332\u1333\u0007\u0095", - "\u0002\u0002\u1333\u1334\u0007\u032a\u0002\u0002\u1334\u1336\t0\u0002", - "\u0002\u1335\u1324\u0003\u0002\u0002\u0002\u1335\u1327\u0003\u0002\u0002", - "\u0002\u1335\u132a\u0003\u0002\u0002\u0002\u1335\u132d\u0003\u0002\u0002", - "\u0002\u1335\u132f\u0003\u0002\u0002\u0002\u1335\u1332\u0003\u0002\u0002", - "\u0002\u1336\u1351\u0003\u0002\u0002\u0002\u1337\u1338\u0007\u0212\u0002", - "\u0002\u1338\u1339\u00074\u0002\u0002\u1339\u133a\u0007A\u0002\u0002", - "\u133a\u133b\u0007\u032a\u0002\u0002\u133b\u1351\t1\u0002\u0002\u133c", - "\u133d\u0007#\u0002\u0002\u133d\u133e\u0007\u0285\u0002\u0002\u133e", - "\u134b\u0007z\u0002\u0002\u133f\u1340\u0007\u00e5\u0002\u0002\u1340", - "\u1341\u0007\u033c\u0002\u0002\u1341\u1342\u0007\u0082\u0002\u0002\u1342", - "\u1343\u0007\u032a\u0002\u0002\u1343\u1344\u0007\u0326\u0002\u0002\u1344", - "\u1345\u0007\u033e\u0002\u0002\u1345\u1346\u0007\u02d8\u0002\u0002\u1346", - "\u1347\u0007\u032a\u0002\u0002\u1347\u1348\u0007\u0322\u0002\u0002\u1348", - "\u1349\t2\u0002\u0002\u1349\u134c\u0007\u033d\u0002\u0002\u134a\u134c", - "\u0007\u00e2\u0002\u0002\u134b\u133f\u0003\u0002\u0002\u0002\u134b\u134a", - "\u0003\u0002\u0002\u0002\u134c\u1351\u0003\u0002\u0002\u0002\u134d\u134e", - "\u0007\u013b\u0002\u0002\u134e\u134f\u0007\u0140\u0002\u0002\u134f\u1351", - "\t\t\u0002\u0002\u1350\u12e7\u0003\u0002\u0002\u0002\u1350\u130e\u0003", - "\u0002\u0002\u0002\u1350\u1321\u0003\u0002\u0002\u0002\u1350\u1337\u0003", - "\u0002\u0002\u0002\u1350\u133c\u0003\u0002\u0002\u0002\u1350\u134d\u0003", - "\u0002\u0002\u0002\u1351\u017d\u0003\u0002\u0002\u0002\u1352\u1353\u0007", - "\n\u0002\u0002\u1353\u1354\u0007\u0135\u0002\u0002\u1354\u1355\u0007", - "\u0121\u0002\u0002\u1355\u135d\u0005\u03c6\u01e4\u0002\u1356\u1357\t", - "\u0015\u0002\u0002\u1357\u1358\u0007\u00c7\u0002\u0002\u1358\u135e\u0005", - "\u03c6\u01e4\u0002\u1359\u135a\u0007\u0179\u0002\u0002\u135a\u135b\u0007", - "\u025d\u0002\u0002\u135b\u135c\u0007\u032a\u0002\u0002\u135c\u135e\u0005", - "\u03c6\u01e4\u0002\u135d\u1356\u0003\u0002\u0002\u0002\u135d\u1359\u0003", - "\u0002\u0002\u0002\u135e\u017f\u0003\u0002\u0002\u0002\u135f\u1360\u0007", - "I\u0002\u0002\u1360\u1361\u0007\u0135\u0002\u0002\u1361\u1362\u0007", - "\u0121\u0002\u0002\u1362\u1365\u0005\u03c6\u01e4\u0002\u1363\u1364\u0007", - "\u0014\u0002\u0002\u1364\u1366\u0005\u03c6\u01e4\u0002\u1365\u1363\u0003", - "\u0002\u0002\u0002\u1365\u1366\u0003\u0002\u0002\u0002\u1366\u0181\u0003", - "\u0002\u0002\u0002\u1367\u1368\u0007\n\u0002\u0002\u1368\u1369\u0007", - "\u0135\u0002\u0002\u1369\u136a\u0007\u0121\u0002\u0002\u136a\u136b\u0005", - "\u03c6\u01e4\u0002\u136b\u136c\t\u0015\u0002\u0002\u136c\u136d\u0007", - "\u00c7\u0002\u0002\u136d\u136e\u0005\u03c6\u01e4\u0002\u136e\u0183\u0003", - "\u0002\u0002\u0002\u136f\u1370\u0007\n\u0002\u0002\u1370\u1371\u0007", - "\u0136\u0002\u0002\u1371\u1379\u0005\u03c6\u01e4\u0002\u1372\u1373\u0007", - "\u00e5\u0002\u0002\u1373\u1374\u0007\u0294\u0002\u0002\u1374\u1375\u0005", - "\u03c6\u01e4\u0002\u1375\u1376\u0007\u0337\u0002\u0002\u1376\u1377\u0003", - "\u0002\u0002\u0002\u1377\u1378\u0005\u03c6\u01e4\u0002\u1378\u137a\u0003", - "\u0002\u0002\u0002\u1379\u1372\u0003\u0002\u0002\u0002\u1379\u137a\u0003", - "\u0002\u0002\u0002\u137a\u1382\u0003\u0002\u0002\u0002\u137b\u137d\u0007", - "\u033e\u0002\u0002\u137c\u137b\u0003\u0002\u0002\u0002\u137c\u137d\u0003", - "\u0002\u0002\u0002\u137d\u137e\u0003\u0002\u0002\u0002\u137e\u137f\t", - "\u0015\u0002\u0002\u137f\u1381\u0005\u03c6\u01e4\u0002\u1380\u137c\u0003", - "\u0002\u0002\u0002\u1381\u1384\u0003\u0002\u0002\u0002\u1382\u1380\u0003", - "\u0002\u0002\u0002\u1382\u1383\u0003\u0002\u0002\u0002\u1383\u0185\u0003", - "\u0002\u0002\u0002\u1384\u1382\u0003\u0002\u0002\u0002\u1385\u1386\u0007", - "I\u0002\u0002\u1386\u1387\u0007\u0136\u0002\u0002\u1387\u138a\u0005", - "\u03c6\u01e4\u0002\u1388\u1389\u0007\u0014\u0002\u0002\u1389\u138b\u0005", - "\u03c6\u01e4\u0002\u138a\u1388\u0003\u0002\u0002\u0002\u138a\u138b\u0003", - "\u0002\u0002\u0002\u138b\u138c\u0003\u0002\u0002\u0002\u138c\u138d\u0007", - "\u00e5\u0002\u0002\u138d\u1391\u0007\u0294\u0002\u0002\u138e\u138f\u0005", - "\u03c6\u01e4\u0002\u138f\u1390\u0007\u0337\u0002\u0002\u1390\u1392\u0003", - "\u0002\u0002\u0002\u1391\u138e\u0003\u0002\u0002\u0002\u1391\u1392\u0003", - "\u0002\u0002\u0002\u1392\u1393\u0003\u0002\u0002\u0002\u1393\u13a1\u0005", - "\u03c6\u01e4\u0002\u1394\u139c\u0007\u033c\u0002\u0002\u1395\u1397\u0007", - "\u033e\u0002\u0002\u1396\u1395\u0003\u0002\u0002\u0002\u1396\u1397\u0003", - "\u0002\u0002\u0002\u1397\u139a\u0003\u0002\u0002\u0002\u1398\u139b\u0005", - "\u03c6\u01e4\u0002\u1399\u139b\u0007Y\u0002\u0002\u139a\u1398\u0003", - "\u0002\u0002\u0002\u139a\u1399\u0003\u0002\u0002\u0002\u139b\u139d\u0003", - "\u0002\u0002\u0002\u139c\u1396\u0003\u0002\u0002\u0002\u139d\u139e\u0003", - "\u0002\u0002\u0002\u139e\u139c\u0003\u0002\u0002\u0002\u139e\u139f\u0003", - "\u0002\u0002\u0002\u139f\u13a0\u0003\u0002\u0002\u0002\u13a0\u13a2\u0007", - "\u033d\u0002\u0002\u13a1\u1394\u0003\u0002\u0002\u0002\u13a1\u13a2\u0003", - "\u0002\u0002\u0002\u13a2\u0187\u0003\u0002\u0002\u0002\u13a3\u13a4\u0007", - "\n\u0002\u0002\u13a4\u13a5\u0007\u0136\u0002\u0002\u13a5\u13a6\u0007", - "\u00bd\u0002\u0002\u13a6\u13bc\u0007\u00ac\u0002\u0002\u13a7\u13a9\u0007", - "\u0203\u0002\u0002\u13a8\u13a7\u0003\u0002\u0002\u0002\u13a8\u13a9\u0003", - "\u0002\u0002\u0002\u13a9\u13aa\u0003\u0002\u0002\u0002\u13aa\u13bd\u0007", - "\u010f\u0002\u0002\u13ab\u13ba\u0007\u0179\u0002\u0002\u13ac\u13ad\u0007", - "\u0274\u0002\u0002\u13ad\u13ae\u0007\u032a\u0002\u0002\u13ae\u13af\u0007", - "\u0326\u0002\u0002\u13af\u13b0\u0007\u033e\u0002\u0002\u13b0\u13b1\u0007", - "\u00e4\u0002\u0002\u13b1\u13b2\u0007\u032a\u0002\u0002\u13b2\u13bb\u0007", - "\u0326\u0002\u0002\u13b3\u13b4\u0007\u025f\u0002\u0002\u13b4\u13b5\u0007", - "\u032a\u0002\u0002\u13b5\u13b6\u0007\u0326\u0002\u0002\u13b6\u13b7\u0007", - "\u033e\u0002\u0002\u13b7\u13b8\u0007\u0261\u0002\u0002\u13b8\u13b9\u0007", - "\u032a\u0002\u0002\u13b9\u13bb\u0007\u0326\u0002\u0002\u13ba\u13ac\u0003", - "\u0002\u0002\u0002\u13ba\u13b3\u0003\u0002\u0002\u0002\u13ba\u13bb\u0003", - "\u0002\u0002\u0002\u13bb\u13bd\u0003\u0002\u0002\u0002\u13bc\u13a8\u0003", - "\u0002\u0002\u0002\u13bc\u13ab\u0003\u0002\u0002\u0002\u13bd\u0189\u0003", - "\u0002\u0002\u0002\u13be\u13bf\u0007\n\u0002\u0002\u13bf\u13c0\u0007", - "\u02eb\u0002\u0002\u13c0\u13c1\u0007\u00ac\u0002\u0002\u13c1\u13c2\u0005", - "\u03c6\u01e4\u0002\u13c2\u13c3\t\u0015\u0002\u0002\u13c3\u13c4\u0007", - "\u01ec\u0002\u0002\u13c4\u13d0\u0007&\u0002\u0002\u13c5\u13c6\u0007", - "+\u0002\u0002\u13c6\u13d1\u0005\u03c6\u01e4\u0002\u13c7\u13c8\u0007", - "\u00f4\u0002\u0002\u13c8\u13c9\u0007\u032a\u0002\u0002\u13c9\u13d1\u0007", - "\u0326\u0002\u0002\u13ca\u13cb\u0007\u02eb\u0002\u0002\u13cb\u13cc\u0007", - "\u00ac\u0002\u0002\u13cc\u13d1\u0005\u03c6\u01e4\u0002\u13cd\u13ce\u0007", - "\u0012\u0002\u0002\u13ce\u13cf\u0007\u00ac\u0002\u0002\u13cf\u13d1\u0005", - "\u03c6\u01e4\u0002\u13d0\u13c5\u0003\u0002\u0002\u0002\u13d0\u13c7\u0003", - "\u0002\u0002\u0002\u13d0\u13ca\u0003\u0002\u0002\u0002\u13d0\u13cd\u0003", - "\u0002\u0002\u0002\u13d1\u018b\u0003\u0002\u0002\u0002\u13d2\u13d3\u0007", - "\n\u0002\u0002\u13d3\u13d4\u0007\u02eb\u0002\u0002\u13d4\u13d5\u0007", - "\u00ac\u0002\u0002\u13d5\u13d8\u0005\u03c6\u01e4\u0002\u13d6\u13d7\u0007", - "\u0014\u0002\u0002\u13d7\u13d9\u0005\u03c6\u01e4\u0002\u13d8\u13d6\u0003", - "\u0002\u0002\u0002\u13d8\u13d9\u0003\u0002\u0002\u0002\u13d9\u13dd\u0003", - "\u0002\u0002\u0002\u13da\u13db\u0007\u008b\u0002\u0002\u13db\u13dc\u0007", - "\u0291\u0002\u0002\u13dc\u13de\u0005\u03c6\u01e4\u0002\u13dd\u13da\u0003", - "\u0002\u0002\u0002\u13dd\u13de\u0003\u0002\u0002\u0002\u13de\u13df\u0003", - "\u0002\u0002\u0002\u13df\u1400\u0007\u0179\u0002\u0002\u13e0\u13e1\u0007", - "\u022b\u0002\u0002\u13e1\u13e2\u0007\u032a\u0002\u0002\u13e2\u13f0\u0007", - "\u0326\u0002\u0002\u13e3\u13e4\u0007\u018a\u0002\u0002\u13e4\u13e5\u0007", - "\u032a\u0002\u0002\u13e5\u13f0\t3\u0002\u0002\u13e6\u13e7\u0007\u0218", - "\u0002\u0002\u13e7\u13e8\u0007\u032a\u0002\u0002\u13e8\u13f0\u0007\u0326", - "\u0002\u0002\u13e9\u13ea\u0007\u0292\u0002\u0002\u13ea\u13eb\u0007\u032a", - "\u0002\u0002\u13eb\u13f0\u0007\u0326\u0002\u0002\u13ec\u13ed\u0007\u01c3", - "\u0002\u0002\u13ed\u13ee\u0007\u032a\u0002\u0002\u13ee\u13f0\t\f\u0002", - "\u0002\u13ef\u13e0\u0003\u0002\u0002\u0002\u13ef\u13e3\u0003\u0002\u0002", - "\u0002\u13ef\u13e6\u0003\u0002\u0002\u0002\u13ef\u13e9\u0003\u0002\u0002", - "\u0002\u13ef\u13ec\u0003\u0002\u0002\u0002\u13f0\u1401\u0003\u0002\u0002", - "\u0002\u13f1\u13f2\u0007\u01ec\u0002\u0002\u13f2\u13fe\u0007&\u0002", - "\u0002\u13f3\u13f4\u0007+\u0002\u0002\u13f4\u13ff\u0005\u03c6\u01e4", - "\u0002\u13f5\u13f6\u0007\u00f4\u0002\u0002\u13f6\u13f7\u0007\u032a\u0002", - "\u0002\u13f7\u13ff\u0007\u0326\u0002\u0002\u13f8\u13f9\u0007\u02eb\u0002", - "\u0002\u13f9\u13fa\u0007\u00ac\u0002\u0002\u13fa\u13ff\u0005\u03c6\u01e4", - "\u0002\u13fb\u13fc\u0007\u0012\u0002\u0002\u13fc\u13fd\u0007\u00ac\u0002", - "\u0002\u13fd\u13ff\u0005\u03c6\u01e4\u0002\u13fe\u13f3\u0003\u0002\u0002", - "\u0002\u13fe\u13f5\u0003\u0002\u0002\u0002\u13fe\u13f8\u0003\u0002\u0002", - "\u0002\u13fe\u13fb\u0003\u0002\u0002\u0002\u13ff\u1401\u0003\u0002\u0002", - "\u0002\u1400\u13ef\u0003\u0002\u0002\u0002\u1400\u13f1\u0003\u0002\u0002", - "\u0002\u1401\u018d\u0003\u0002\u0002\u0002\u1402\u1403\u0007I\u0002", - "\u0002\u1403\u1407\u0007\u02ed\u0002\u0002\u1404\u1405\u0005\u03c6\u01e4", - "\u0002\u1405\u1406\u0007\u0337\u0002\u0002\u1406\u1408\u0003\u0002\u0002", - "\u0002\u1407\u1404\u0003\u0002\u0002\u0002\u1407\u1408\u0003\u0002\u0002", - "\u0002\u1408\u1409\u0003\u0002\u0002\u0002\u1409\u140a\u0005\u03c6\u01e4", - "\u0002\u140a\u1425\u0007\u0085\u0002\u0002\u140b\u140c\u0005\u03c6\u01e4", - "\u0002\u140c\u140d\u0007\u0337\u0002\u0002\u140d\u140f\u0003\u0002\u0002", - "\u0002\u140e\u140b\u0003\u0002\u0002\u0002\u140e\u140f\u0003\u0002\u0002", - "\u0002\u140f\u1413\u0003\u0002\u0002\u0002\u1410\u1411\u0005\u03c6\u01e4", - "\u0002\u1411\u1412\u0007\u0337\u0002\u0002\u1412\u1414\u0003\u0002\u0002", - "\u0002\u1413\u1410\u0003\u0002\u0002\u0002\u1413\u1414\u0003\u0002\u0002", - "\u0002\u1414\u1418\u0003\u0002\u0002\u0002\u1415\u1416\u0005\u03c6\u01e4", - "\u0002\u1416\u1417\u0007\u0337\u0002\u0002\u1417\u1419\u0003\u0002\u0002", - "\u0002\u1418\u1415\u0003\u0002\u0002\u0002\u1418\u1419\u0003\u0002\u0002", - "\u0002\u1419\u141a\u0003\u0002\u0002\u0002\u141a\u1426\u0005\u03c6\u01e4", - "\u0002\u141b\u141c\u0005\u03c6\u01e4\u0002\u141c\u141d\u0007\u0337\u0002", - "\u0002\u141d\u141f\u0003\u0002\u0002\u0002\u141e\u141b\u0003\u0002\u0002", - "\u0002\u141e\u141f\u0003\u0002\u0002\u0002\u141f\u1423\u0003\u0002\u0002", - "\u0002\u1420\u1421\u0005\u03c6\u01e4\u0002\u1421\u1422\u0007\u0337\u0002", - "\u0002\u1422\u1424\u0003\u0002\u0002\u0002\u1423\u1420\u0003\u0002\u0002", - "\u0002\u1423\u1424\u0003\u0002\u0002\u0002\u1424\u1426\u0003\u0002\u0002", - "\u0002\u1425\u140e\u0003\u0002\u0002\u0002\u1425\u141e\u0003\u0002\u0002", - "\u0002\u1426\u018f\u0003\u0002\u0002\u0002\u1427\u1428\u0007\n\u0002", - "\u0002\u1428\u1429\u0007\u016e\u0002\u0002\u1429\u142a\u0005\u03c6\u01e4", - "\u0002\u142a\u145d\u0007\u0179\u0002\u0002\u142b\u142d\u0007\u033e\u0002", - "\u0002\u142c\u142b\u0003\u0002\u0002\u0002\u142c\u142d\u0003\u0002\u0002", - "\u0002\u142d\u142e\u0003\u0002\u0002\u0002\u142e\u142f\u0007\u025d\u0002", - "\u0002\u142f\u1430\u0007\u032a\u0002\u0002\u1430\u145e\u0005\u03c6\u01e4", - "\u0002\u1431\u1433\u0007\u033e\u0002\u0002\u1432\u1431\u0003\u0002\u0002", - "\u0002\u1432\u1433\u0003\u0002\u0002\u0002\u1433\u1434\u0003\u0002\u0002", - "\u0002\u1434\u1435\u0007[\u0002\u0002\u1435\u1438\u0007\u032a\u0002", - "\u0002\u1436\u1439\u0005\u03c6\u01e4\u0002\u1437\u1439\u0007\u00df\u0002", - "\u0002\u1438\u1436\u0003\u0002\u0002\u0002\u1438\u1437\u0003\u0002\u0002", - "\u0002\u1439\u145e\u0003\u0002\u0002\u0002\u143a\u143c\u0007\u033e\u0002", - "\u0002\u143b\u143a\u0003\u0002\u0002\u0002\u143b\u143c\u0003\u0002\u0002", - "\u0002\u143c\u143d\u0003\u0002\u0002\u0002\u143d\u143e\u0007\u023b\u0002", - "\u0002\u143e\u143f\u0007\u032a\u0002\u0002\u143f\u145e\u0005\u03c6\u01e4", - "\u0002\u1440\u1442\u0007\u033e\u0002\u0002\u1441\u1440\u0003\u0002\u0002", - "\u0002\u1441\u1442\u0003\u0002\u0002\u0002\u1442\u1443\u0003\u0002\u0002", - "\u0002\u1443\u1444\u0007\u00f4\u0002\u0002\u1444\u1445\u0007\u032a\u0002", - "\u0002\u1445\u1449\u0007\u0326\u0002\u0002\u1446\u1447\u0007\u00e4\u0002", - "\u0002\u1447\u1448\u0007\u032a\u0002\u0002\u1448\u144a\u0007\u0326\u0002", - "\u0002\u1449\u1446\u0003\u0002\u0002\u0002\u144a\u144b\u0003\u0002\u0002", - "\u0002\u144b\u1449\u0003\u0002\u0002\u0002\u144b\u144c\u0003\u0002\u0002", - "\u0002\u144c\u145e\u0003\u0002\u0002\u0002\u144d\u144f\u0007\u033e\u0002", - "\u0002\u144e\u144d\u0003\u0002\u0002\u0002\u144e\u144f\u0003\u0002\u0002", - "\u0002\u144f\u1450\u0003\u0002\u0002\u0002\u1450\u1451\u0007\u01d4\u0002", - "\u0002\u1451\u1455\u0007\u032a\u0002\u0002\u1452\u1456\u0007\u00d5\u0002", - "\u0002\u1453\u1456\u0007\u0322\u0002\u0002\u1454\u1456\u0005\u03c6\u01e4", - "\u0002\u1455\u1452\u0003\u0002\u0002\u0002\u1455\u1453\u0003\u0002\u0002", - "\u0002\u1455\u1454\u0003\u0002\u0002\u0002\u1456\u145e\u0003\u0002\u0002", - "\u0002\u1457\u1459\u0007\u033e\u0002\u0002\u1458\u1457\u0003\u0002\u0002", - "\u0002\u1458\u1459\u0003\u0002\u0002\u0002\u1459\u145a\u0003\u0002\u0002", - "\u0002\u145a\u145b\u0007\u018b\u0002\u0002\u145b\u145c\u0007\u032a\u0002", - "\u0002\u145c\u145e\t\t\u0002\u0002\u145d\u142c\u0003\u0002\u0002\u0002", - "\u145d\u1432\u0003\u0002\u0002\u0002\u145d\u143b\u0003\u0002\u0002\u0002", - "\u145d\u1441\u0003\u0002\u0002\u0002\u145d\u144e\u0003\u0002\u0002\u0002", - "\u145d\u1458\u0003\u0002\u0002\u0002\u145e\u145f\u0003\u0002\u0002\u0002", - "\u145f\u145d\u0003\u0002\u0002\u0002\u145f\u1460\u0003\u0002\u0002\u0002", - "\u1460\u0191\u0003\u0002\u0002\u0002\u1461\u1462\u0007I\u0002\u0002", - "\u1462\u1463\u0007\u016e\u0002\u0002\u1463\u1467\u0005\u03c6\u01e4\u0002", - "\u1464\u1465\t4\u0002\u0002\u1465\u1466\u0007\u023b\u0002\u0002\u1466", - "\u1468\u0005\u03c6\u01e4\u0002\u1467\u1464\u0003\u0002\u0002\u0002\u1467", - "\u1468\u0003\u0002\u0002\u0002\u1468\u147b\u0003\u0002\u0002\u0002\u1469", - "\u1478\u0007\u0179\u0002\u0002\u146a\u146c\u0007\u033e\u0002\u0002\u146b", - "\u146a\u0003\u0002\u0002\u0002\u146b\u146c\u0003\u0002\u0002\u0002\u146c", - "\u146d\u0003\u0002\u0002\u0002\u146d\u146e\u0007[\u0002\u0002\u146e", - "\u146f\u0007\u032a\u0002\u0002\u146f\u1477\u0005\u03c6\u01e4\u0002\u1470", - "\u1472\u0007\u033e\u0002\u0002\u1471\u1470\u0003\u0002\u0002\u0002\u1471", - "\u1472\u0003\u0002\u0002\u0002\u1472\u1473\u0003\u0002\u0002\u0002\u1473", - "\u1474\u0007\u018b\u0002\u0002\u1474\u1475\u0007\u032a\u0002\u0002\u1475", - "\u1477\t\t\u0002\u0002\u1476\u146b\u0003\u0002\u0002\u0002\u1476\u1471", - "\u0003\u0002\u0002\u0002\u1477\u147a\u0003\u0002\u0002\u0002\u1478\u1476", - "\u0003\u0002\u0002\u0002\u1478\u1479\u0003\u0002\u0002\u0002\u1479\u147c", - "\u0003\u0002\u0002\u0002\u147a\u1478\u0003\u0002\u0002\u0002\u147b\u1469", - "\u0003\u0002\u0002\u0002\u147b\u147c\u0003\u0002\u0002\u0002\u147c\u14f4", - "\u0003\u0002\u0002\u0002\u147d\u147e\u0007I\u0002\u0002\u147e\u14cf", - "\u0007\u016e\u0002\u0002\u147f\u14a2\u0005\u03c6\u01e4\u0002\u1480\u149f", - "\u0007\u0179\u0002\u0002\u1481\u1483\u0007\u033e\u0002\u0002\u1482\u1481", - "\u0003\u0002\u0002\u0002\u1482\u1483\u0003\u0002\u0002\u0002\u1483\u1484", - "\u0003\u0002\u0002\u0002\u1484\u1485\u0007[\u0002\u0002\u1485\u1486", - "\u0007\u032a\u0002\u0002\u1486\u149e\u0005\u03c6\u01e4\u0002\u1487\u1489", - "\u0007\u033e\u0002\u0002\u1488\u1487\u0003\u0002\u0002\u0002\u1488\u1489", - "\u0003\u0002\u0002\u0002\u1489\u148a\u0003\u0002\u0002\u0002\u148a\u148b", - "\u0007\u01d4\u0002\u0002\u148b\u148f\u0007\u032a\u0002\u0002\u148c\u1490", - "\u0007\u00d5\u0002\u0002\u148d\u1490\u0007\u0322\u0002\u0002\u148e\u1490", - "\u0005\u03c6\u01e4\u0002\u148f\u148c\u0003\u0002\u0002\u0002\u148f\u148d", - "\u0003\u0002\u0002\u0002\u148f\u148e\u0003\u0002\u0002\u0002\u1490\u149e", - "\u0003\u0002\u0002\u0002\u1491\u1493\u0007\u033e\u0002\u0002\u1492\u1491", - "\u0003\u0002\u0002\u0002\u1492\u1493\u0003\u0002\u0002\u0002\u1493\u1494", - "\u0003\u0002\u0002\u0002\u1494\u1495\u0007\u013e\u0002\u0002\u1495\u1496", - "\u0007\u032a\u0002\u0002\u1496\u149e\u0007\u0327\u0002\u0002\u1497\u1499", - "\u0007\u033e\u0002\u0002\u1498\u1497\u0003\u0002\u0002\u0002\u1498\u1499", - "\u0003\u0002\u0002\u0002\u1499\u149a\u0003\u0002\u0002\u0002\u149a\u149b", - "\u0007\u018b\u0002\u0002\u149b\u149c\u0007\u032a\u0002\u0002\u149c\u149e", - "\t\t\u0002\u0002\u149d\u1482\u0003\u0002\u0002\u0002\u149d\u1488\u0003", - "\u0002\u0002\u0002\u149d\u1492\u0003\u0002\u0002\u0002\u149d\u1498\u0003", - "\u0002\u0002\u0002\u149e\u14a1\u0003\u0002\u0002\u0002\u149f\u149d\u0003", - "\u0002\u0002\u0002\u149f\u14a0\u0003\u0002\u0002\u0002\u14a0\u14a3\u0003", - "\u0002\u0002\u0002\u14a1\u149f\u0003\u0002\u0002\u0002\u14a2\u1480\u0003", - "\u0002\u0002\u0002\u14a2\u14a3\u0003\u0002\u0002\u0002\u14a3\u14d0\u0003", - "\u0002\u0002\u0002\u14a4\u14a5\u0005\u03c6\u01e4\u0002\u14a5\u14a6\u0007", - "\u0179\u0002\u0002\u14a6\u14a7\u0007\u00f4\u0002\u0002\u14a7\u14a8\u0007", - "\u032a\u0002\u0002\u14a8\u14c7\u0007\u0326\u0002\u0002\u14a9\u14ab\u0007", - "\u033e\u0002\u0002\u14aa\u14a9\u0003\u0002\u0002\u0002\u14aa\u14ab\u0003", - "\u0002\u0002\u0002\u14ab\u14ac\u0003\u0002\u0002\u0002\u14ac\u14ad\u0007", - "[\u0002\u0002\u14ad\u14ae\u0007\u032a\u0002\u0002\u14ae\u14c6\u0005", - "\u03c6\u01e4\u0002\u14af\u14b1\u0007\u033e\u0002\u0002\u14b0\u14af\u0003", - "\u0002\u0002\u0002\u14b0\u14b1\u0003\u0002\u0002\u0002\u14b1\u14b2\u0003", - "\u0002\u0002\u0002\u14b2\u14b3\u0007\u01d4\u0002\u0002\u14b3\u14b7\u0007", - "\u032a\u0002\u0002\u14b4\u14b8\u0007\u00d5\u0002\u0002\u14b5\u14b8\u0007", - "\u0322\u0002\u0002\u14b6\u14b8\u0005\u03c6\u01e4\u0002\u14b7\u14b4\u0003", - "\u0002\u0002\u0002\u14b7\u14b5\u0003\u0002\u0002\u0002\u14b7\u14b6\u0003", - "\u0002\u0002\u0002\u14b8\u14c6\u0003\u0002\u0002\u0002\u14b9\u14bb\u0007", - "\u033e\u0002\u0002\u14ba\u14b9\u0003\u0002\u0002\u0002\u14ba\u14bb\u0003", - "\u0002\u0002\u0002\u14bb\u14bc\u0003\u0002\u0002\u0002\u14bc\u14bd\u0007", - "\u013e\u0002\u0002\u14bd\u14be\u0007\u032a\u0002\u0002\u14be\u14c6\u0007", - "\u0327\u0002\u0002\u14bf\u14c1\u0007\u033e\u0002\u0002\u14c0\u14bf\u0003", - "\u0002\u0002\u0002\u14c0\u14c1\u0003\u0002\u0002\u0002\u14c1\u14c2\u0003", - "\u0002\u0002\u0002\u14c2\u14c3\u0007\u018b\u0002\u0002\u14c3\u14c4\u0007", - "\u032a\u0002\u0002\u14c4\u14c6\t\t\u0002\u0002\u14c5\u14aa\u0003\u0002", - "\u0002\u0002\u14c5\u14b0\u0003\u0002\u0002\u0002\u14c5\u14ba\u0003\u0002", - "\u0002\u0002\u14c5\u14c0\u0003\u0002\u0002\u0002\u14c6\u14c9\u0003\u0002", - "\u0002\u0002\u14c7\u14c5\u0003\u0002\u0002\u0002\u14c7\u14c8\u0003\u0002", - "\u0002\u0002\u14c8\u14d0\u0003\u0002\u0002\u0002\u14c9\u14c7\u0003\u0002", - "\u0002\u0002\u14ca\u14cb\u0005\u03c6\u01e4\u0002\u14cb\u14cc\u0007\u008b", - "\u0002\u0002\u14cc\u14cd\u0007{\u0002\u0002\u14cd\u14ce\u0007\u0291", - "\u0002\u0002\u14ce\u14d0\u0003\u0002\u0002\u0002\u14cf\u147f\u0003\u0002", - "\u0002\u0002\u14cf\u14a4\u0003\u0002\u0002\u0002\u14cf\u14ca\u0003\u0002", - "\u0002\u0002\u14d0\u14f4\u0003\u0002\u0002\u0002\u14d1\u14d2\u0007I", - "\u0002\u0002\u14d2\u14d3\u0007\u016e\u0002\u0002\u14d3\u14ee\u0005\u03c6", - "\u01e4\u0002\u14d4\u14d5\u0007\u017b\u0002\u0002\u14d5\u14e4\u0007\u023b", - "\u0002\u0002\u14d6\u14d8\u0007\u033e\u0002\u0002\u14d7\u14d6\u0003\u0002", - "\u0002\u0002\u14d7\u14d8\u0003\u0002\u0002\u0002\u14d8\u14d9\u0003\u0002", - "\u0002\u0002\u14d9\u14da\u0007[\u0002\u0002\u14da\u14db\u0007\u032a", - "\u0002\u0002\u14db\u14e3\u0005\u03c6\u01e4\u0002\u14dc\u14de\u0007\u033e", - "\u0002\u0002\u14dd\u14dc\u0003\u0002\u0002\u0002\u14dd\u14de\u0003\u0002", - "\u0002\u0002\u14de\u14df\u0003\u0002\u0002\u0002\u14df\u14e0\u0007\u018b", - "\u0002\u0002\u14e0\u14e1\u0007\u032a\u0002\u0002\u14e1\u14e3\t\t\u0002", - "\u0002\u14e2\u14d7\u0003\u0002\u0002\u0002\u14e2\u14dd\u0003\u0002\u0002", - "\u0002\u14e3\u14e6\u0003\u0002\u0002\u0002\u14e4\u14e2\u0003\u0002\u0002", - "\u0002\u14e4\u14e5\u0003\u0002\u0002\u0002\u14e5\u14ef\u0003\u0002\u0002", - "\u0002\u14e6\u14e4\u0003\u0002\u0002\u0002\u14e7\u14e8\t4\u0002\u0002", - "\u14e8\u14e9\u0007+\u0002\u0002\u14e9\u14ef\u0005\u03c6\u01e4\u0002", - "\u14ea\u14eb\t4\u0002\u0002\u14eb\u14ec\u0007\u0012\u0002\u0002\u14ec", - "\u14ed\u0007\u00ac\u0002\u0002\u14ed\u14ef\u0005\u03c6\u01e4\u0002\u14ee", - "\u14d4\u0003\u0002\u0002\u0002\u14ee\u14e7\u0003\u0002\u0002\u0002\u14ee", - "\u14ea\u0003\u0002\u0002\u0002\u14ef\u14f4\u0003\u0002\u0002\u0002\u14f0", - "\u14f1\u0007I\u0002\u0002\u14f1\u14f2\u0007\u016e\u0002\u0002\u14f2", - "\u14f4\u0005\u03c6\u01e4\u0002\u14f3\u1461\u0003\u0002\u0002\u0002\u14f3", - "\u147d\u0003\u0002\u0002\u0002\u14f3\u14d1\u0003\u0002\u0002\u0002\u14f3", - "\u14f0\u0003\u0002\u0002\u0002\u14f4\u0193\u0003\u0002\u0002\u0002\u14f5", - "\u14f6\u0007I\u0002\u0002\u14f6\u14f7\u0007\u016e\u0002\u0002\u14f7", - "\u14fd\u0005\u03c6\u01e4\u0002\u14f8\u14f9\t4\u0002\u0002\u14f9\u14fa", - "\u0007\u023b\u0002\u0002\u14fa\u14fe\u0005\u03c6\u01e4\u0002\u14fb\u14fc", - "\u0007\u017b\u0002\u0002\u14fc\u14fe\u0007\u023b\u0002\u0002\u14fd\u14f8", - "\u0003\u0002\u0002\u0002\u14fd\u14fb\u0003\u0002\u0002\u0002\u14fd\u14fe", - "\u0003\u0002\u0002\u0002\u14fe\u1503\u0003\u0002\u0002\u0002\u14ff\u1500", - "\u0007\u0179\u0002\u0002\u1500\u1501\u0007[\u0002\u0002\u1501\u1502", - "\u0007\u032a\u0002\u0002\u1502\u1504\u0005\u03c6\u01e4\u0002\u1503\u14ff", - "\u0003\u0002\u0002\u0002\u1503\u1504\u0003\u0002\u0002\u0002\u1504\u1512", - "\u0003\u0002\u0002\u0002\u1505\u1506\u0007I\u0002\u0002\u1506\u1507", - "\u0007\u016e\u0002\u0002\u1507\u1508\u0005\u03c6\u01e4\u0002\u1508\u1509", - "\u0007\u008b\u0002\u0002\u1509\u150a\u0007{\u0002\u0002\u150a\u150f", - "\u0007\u0291\u0002\u0002\u150b\u150c\u0007\u0179\u0002\u0002\u150c\u150d", - "\u0007[\u0002\u0002\u150d\u150e\u0007\u032a\u0002\u0002\u150e\u1510", - "\u0005\u03c6\u01e4\u0002\u150f\u150b\u0003\u0002\u0002\u0002\u150f\u1510", - "\u0003\u0002\u0002\u0002\u1510\u1512\u0003\u0002\u0002\u0002\u1511\u14f5", - "\u0003\u0002\u0002\u0002\u1511\u1505\u0003\u0002\u0002\u0002\u1512\u0195", - "\u0003\u0002\u0002\u0002\u1513\u1514\u0007\n\u0002\u0002\u1514\u1515", - "\u0007\u016e\u0002\u0002\u1515\u1516\u0005\u03c6\u01e4\u0002\u1516\u152f", - "\u0007\u0179\u0002\u0002\u1517\u1519\u0007\u033e\u0002\u0002\u1518\u1517", - "\u0003\u0002\u0002\u0002\u1518\u1519\u0003\u0002\u0002\u0002\u1519\u151a", - "\u0003\u0002\u0002\u0002\u151a\u151b\u0007\u025d\u0002\u0002\u151b\u151c", - "\u0007\u032a\u0002\u0002\u151c\u1530\u0005\u03c6\u01e4\u0002\u151d\u151f", - "\u0007\u033e\u0002\u0002\u151e\u151d\u0003\u0002\u0002\u0002\u151e\u151f", - "\u0003\u0002\u0002\u0002\u151f\u1520\u0003\u0002\u0002\u0002\u1520\u1521", - "\u0007[\u0002\u0002\u1521\u1522\u0007\u032a\u0002\u0002\u1522\u1530", - "\u0005\u03c6\u01e4\u0002\u1523\u1525\u0007\u033e\u0002\u0002\u1524\u1523", - "\u0003\u0002\u0002\u0002\u1524\u1525\u0003\u0002\u0002\u0002\u1525\u1526", - "\u0003\u0002\u0002\u0002\u1526\u1527\u0007\u023b\u0002\u0002\u1527\u1528", - "\u0007\u032a\u0002\u0002\u1528\u1530\u0005\u03c6\u01e4\u0002\u1529\u152b", - "\u0007\u033e\u0002\u0002\u152a\u1529\u0003\u0002\u0002\u0002\u152a\u152b", - "\u0003\u0002\u0002\u0002\u152b\u152c\u0003\u0002\u0002\u0002\u152c\u152d", - "\u0007\u018b\u0002\u0002\u152d\u152e\u0007\u032a\u0002\u0002\u152e\u1530", - "\t\t\u0002\u0002\u152f\u1518\u0003\u0002\u0002\u0002\u152f\u151e\u0003", - "\u0002\u0002\u0002\u152f\u1524\u0003\u0002\u0002\u0002\u152f\u152a\u0003", - "\u0002\u0002\u0002\u1530\u1531\u0003\u0002\u0002\u0002\u1531\u152f\u0003", - "\u0002\u0002\u0002\u1531\u1532\u0003\u0002\u0002\u0002\u1532\u0197\u0003", - "\u0002\u0002\u0002\u1533\u1534\u0007\n\u0002\u0002\u1534\u1535\u0007", - "\u0314\u0002\u0002\u1535\u1538\u0007\u0092\u0002\u0002\u1536\u1539\u0005", - "\u03c6\u01e4\u0002\u1537\u1539\u0007\u01d2\u0002\u0002\u1538\u1536\u0003", - "\u0002\u0002\u0002\u1538\u1537\u0003\u0002\u0002\u0002\u1539\u1559\u0003", - "\u0002\u0002\u0002\u153a\u153b\u0007\u0179\u0002\u0002\u153b\u1554\u0007", - "\u033c\u0002\u0002\u153c\u153d\u0007\u021c\u0002\u0002\u153d\u153e\u0007", - "\u032a\u0002\u0002\u153e\u1555\t5\u0002\u0002\u153f\u1541\u0007\u033e", - "\u0002\u0002\u1540\u153f\u0003\u0002\u0002\u0002\u1540\u1541\u0003\u0002", - "\u0002\u0002\u1541\u1542\u0003\u0002\u0002\u0002\u1542\u1543\u0007\u02ae", - "\u0002\u0002\u1543\u1544\u0007\u032a\u0002\u0002\u1544\u1555\u0007\u0322", - "\u0002\u0002\u1545\u1547\u0007\u033e\u0002\u0002\u1546\u1545\u0003\u0002", - "\u0002\u0002\u1546\u1547\u0003\u0002\u0002\u0002\u1547\u1548\u0003\u0002", - "\u0002\u0002\u1548\u1549\u0007\u02ad\u0002\u0002\u1549\u154a\u0007\u032a", - "\u0002\u0002\u154a\u1555\u0007\u0322\u0002\u0002\u154b\u154c\u0007\u02af", - "\u0002\u0002\u154c\u154d\u0007\u032a\u0002\u0002\u154d\u1555\u0007\u0322", - "\u0002\u0002\u154e\u154f\u0007\u0243\u0002\u0002\u154f\u1550\u0007\u032a", - "\u0002\u0002\u1550\u1555\u0007\u0322\u0002\u0002\u1551\u1552\u0007\u020f", - "\u0002\u0002\u1552\u1553\u0007\u032a\u0002\u0002\u1553\u1555\u0007\u0322", - "\u0002\u0002\u1554\u153c\u0003\u0002\u0002\u0002\u1554\u1540\u0003\u0002", - "\u0002\u0002\u1554\u1546\u0003\u0002\u0002\u0002\u1554\u154b\u0003\u0002", - "\u0002\u0002\u1554\u154e\u0003\u0002\u0002\u0002\u1554\u1551\u0003\u0002", - "\u0002\u0002\u1555\u1556\u0003\u0002\u0002\u0002\u1556\u1554\u0003\u0002", - "\u0002\u0002\u1556\u1557\u0003\u0002\u0002\u0002\u1557\u1558\u0003\u0002", - "\u0002\u0002\u1558\u155a\u0007\u033d\u0002\u0002\u1559\u153a\u0003\u0002", - "\u0002\u0002\u1559\u155a\u0003\u0002\u0002\u0002\u155a\u1560\u0003\u0002", - "\u0002\u0002\u155b\u155e\u0007\u0308\u0002\u0002\u155c\u155f\u0005\u03c6", - "\u01e4\u0002\u155d\u155f\u0007\u01d2\u0002\u0002\u155e\u155c\u0003\u0002", - "\u0002\u0002\u155e\u155d\u0003\u0002\u0002\u0002\u155f\u1561\u0003\u0002", - "\u0002\u0002\u1560\u155b\u0003\u0002\u0002\u0002\u1560\u1561\u0003\u0002", - "\u0002\u0002\u1561\u0199\u0003\u0002\u0002\u0002\u1562\u1563\u0007I", - "\u0002\u0002\u1563\u1564\u0007\u0314\u0002\u0002\u1564\u1565\u0007\u0092", - "\u0002\u0002\u1565\u1585\u0005\u03c6\u01e4\u0002\u1566\u1567\u0007\u0179", - "\u0002\u0002\u1567\u1580\u0007\u033c\u0002\u0002\u1568\u1569\u0007\u021c", - "\u0002\u0002\u1569\u156a\u0007\u032a\u0002\u0002\u156a\u1581\t5\u0002", - "\u0002\u156b\u156d\u0007\u033e\u0002\u0002\u156c\u156b\u0003\u0002\u0002", - "\u0002\u156c\u156d\u0003\u0002\u0002\u0002\u156d\u156e\u0003\u0002\u0002", - "\u0002\u156e\u156f\u0007\u02ae\u0002\u0002\u156f\u1570\u0007\u032a\u0002", - "\u0002\u1570\u1581\u0007\u0322\u0002\u0002\u1571\u1573\u0007\u033e\u0002", - "\u0002\u1572\u1571\u0003\u0002\u0002\u0002\u1572\u1573\u0003\u0002\u0002", - "\u0002\u1573\u1574\u0003\u0002\u0002\u0002\u1574\u1575\u0007\u02ad\u0002", - "\u0002\u1575\u1576\u0007\u032a\u0002\u0002\u1576\u1581\u0007\u0322\u0002", - "\u0002\u1577\u1578\u0007\u02af\u0002\u0002\u1578\u1579\u0007\u032a\u0002", - "\u0002\u1579\u1581\u0007\u0322\u0002\u0002\u157a\u157b\u0007\u0243\u0002", - "\u0002\u157b\u157c\u0007\u032a\u0002\u0002\u157c\u1581\u0007\u0322\u0002", - "\u0002\u157d\u157e\u0007\u020f\u0002\u0002\u157e\u157f\u0007\u032a\u0002", - "\u0002\u157f\u1581\u0007\u0322\u0002\u0002\u1580\u1568\u0003\u0002\u0002", - "\u0002\u1580\u156c\u0003\u0002\u0002\u0002\u1580\u1572\u0003\u0002\u0002", - "\u0002\u1580\u1577\u0003\u0002\u0002\u0002\u1580\u157a\u0003\u0002\u0002", - "\u0002\u1580\u157d\u0003\u0002\u0002\u0002\u1581\u1582\u0003\u0002\u0002", - "\u0002\u1582\u1580\u0003\u0002\u0002\u0002\u1582\u1583\u0003\u0002\u0002", - "\u0002\u1583\u1584\u0003\u0002\u0002\u0002\u1584\u1586\u0007\u033d\u0002", - "\u0002\u1585\u1566\u0003\u0002\u0002\u0002\u1585\u1586\u0003\u0002\u0002", - "\u0002\u1586\u1594\u0003\u0002\u0002\u0002\u1587\u158a\u0007\u0308\u0002", - "\u0002\u1588\u158b\u0005\u03c6\u01e4\u0002\u1589\u158b\u0007\u01d2\u0002", - "\u0002\u158a\u1588\u0003\u0002\u0002\u0002\u158a\u1589\u0003\u0002\u0002", - "\u0002\u158a\u158b\u0003\u0002\u0002\u0002\u158b\u1592\u0003\u0002\u0002", - "\u0002\u158c\u158e\u0007\u033e\u0002\u0002\u158d\u158c\u0003\u0002\u0002", - "\u0002\u158d\u158e\u0003\u0002\u0002\u0002\u158e\u158f\u0003\u0002\u0002", - "\u0002\u158f\u1590\u0007{\u0002\u0002\u1590\u1593\u0005\u03c6\u01e4", - "\u0002\u1591\u1593\u0007\u01d2\u0002\u0002\u1592\u158d\u0003\u0002\u0002", - "\u0002\u1592\u1591\u0003\u0002\u0002\u0002\u1592\u1593\u0003\u0002\u0002", - "\u0002\u1593\u1595\u0003\u0002\u0002\u0002\u1594\u1587\u0003\u0002\u0002", - "\u0002\u1594\u1595\u0003\u0002\u0002\u0002\u1595\u019b\u0003\u0002\u0002", - "\u0002\u1596\u1597\u0007I\u0002\u0002\u1597\u1598\u0007\u0315\u0002", - "\u0002\u1598\u1599\u0007\u012e\u0002\u0002\u1599\u159d\u0007\u01b5\u0002", - "\u0002\u159a\u159b\u0005\u03c6\u01e4\u0002\u159b\u159c\u0007\u0337\u0002", - "\u0002\u159c\u159e\u0003\u0002\u0002\u0002\u159d\u159a\u0003\u0002\u0002", - "\u0002\u159d\u159e\u0003\u0002\u0002\u0002\u159e\u159f\u0003\u0002\u0002", - "\u0002\u159f\u15a0\u0005\u03c6\u01e4\u0002\u15a0\u15a4\u0007\u0010\u0002", - "\u0002\u15a1\u15a5\u0007\u0326\u0002\u0002\u15a2\u15a5\u0005\u03c6\u01e4", - "\u0002\u15a3\u15a5\u0007\u0321\u0002\u0002\u15a4\u15a1\u0003\u0002\u0002", - "\u0002\u15a4\u15a2\u0003\u0002\u0002\u0002\u15a4\u15a3\u0003\u0002\u0002", - "\u0002\u15a5\u019d\u0003\u0002\u0002\u0002\u15a6\u15a7\u0007I\u0002", - "\u0002\u15a7\u15aa\u0007\u0294\u0002\u0002\u15a8\u15ab\u0005\u038c\u01c7", - "\u0002\u15a9\u15ab\u0005\u03c6\u01e4\u0002\u15aa\u15a8\u0003\u0002\u0002", - "\u0002\u15aa\u15a9\u0003\u0002\u0002\u0002\u15ab\u15ad\u0003\u0002\u0002", - "\u0002\u15ac\u15ae\u0005\u01a0\u00d1\u0002\u15ad\u15ac\u0003\u0002\u0002", - "\u0002\u15ad\u15ae\u0003\u0002\u0002\u0002\u15ae\u15b2\u0003\u0002\u0002", - "\u0002\u15af\u15b0\u0007\u00e5\u0002\u0002\u15b0\u15b3\u0005\u03c6\u01e4", - "\u0002\u15b1\u15b3\u0007Y\u0002\u0002\u15b2\u15af\u0003\u0002\u0002", - "\u0002\u15b2\u15b1\u0003\u0002\u0002\u0002\u15b2\u15b3\u0003\u0002\u0002", - "\u0002\u15b3\u019f\u0003\u0002\u0002\u0002\u15b4\u15bb\u0007\u0179\u0002", - "\u0002\u15b5\u15b6\u0007\u02e0\u0002\u0002\u15b6\u15b7\u0007\u032a\u0002", - "\u0002\u15b7\u15b9\t\t\u0002\u0002\u15b8\u15ba\u0007\u033e\u0002\u0002", - "\u15b9\u15b8\u0003\u0002\u0002\u0002\u15b9\u15ba\u0003\u0002\u0002\u0002", - "\u15ba\u15bc\u0003\u0002\u0002\u0002\u15bb\u15b5\u0003\u0002\u0002\u0002", - "\u15bb\u15bc\u0003\u0002\u0002\u0002\u15bc\u15c3\u0003\u0002\u0002\u0002", - "\u15bd\u15be\u0007\u02b5\u0002\u0002\u15be\u15bf\u0007\u032a\u0002\u0002", - "\u15bf\u15c1\t\t\u0002\u0002\u15c0\u15c2\u0007\u033e\u0002\u0002\u15c1", - "\u15c0\u0003\u0002\u0002\u0002\u15c1\u15c2\u0003\u0002\u0002\u0002\u15c2", - "\u15c4\u0003\u0002\u0002\u0002\u15c3\u15bd\u0003\u0002\u0002\u0002\u15c3", - "\u15c4\u0003\u0002\u0002\u0002\u15c4\u15f2\u0003\u0002\u0002\u0002\u15c5", - "\u15c6\u0007\u0181\u0002\u0002\u15c6\u15ec\u0007\u033c\u0002\u0002\u15c7", - "\u15c8\u0007\u02e0\u0002\u0002\u15c8\u15c9\u0007\u032a\u0002\u0002\u15c9", - "\u15cb\t\t\u0002\u0002\u15ca\u15cc\u0007\u033e\u0002\u0002\u15cb\u15ca", - "\u0003\u0002\u0002\u0002\u15cb\u15cc\u0003\u0002\u0002\u0002\u15cc\u15ce", - "\u0003\u0002\u0002\u0002\u15cd\u15c7\u0003\u0002\u0002\u0002\u15cd\u15ce", - "\u0003\u0002\u0002\u0002\u15ce\u15d5\u0003\u0002\u0002\u0002\u15cf\u15d0", - "\u0007\u028f\u0002\u0002\u15d0\u15d1\u0007\u032a\u0002\u0002\u15d1\u15d3", - "\u0005\u0394\u01cb\u0002\u15d2\u15d4\u0007\u033e\u0002\u0002\u15d3\u15d2", - "\u0003\u0002\u0002\u0002\u15d3\u15d4\u0003\u0002\u0002\u0002\u15d4\u15d6", - "\u0003\u0002\u0002\u0002\u15d5\u15cf\u0003\u0002\u0002\u0002\u15d5\u15d6", - "\u0003\u0002\u0002\u0002\u15d6\u15dd\u0003\u0002\u0002\u0002\u15d7\u15d8", - "\u0007\u0248\u0002\u0002\u15d8\u15d9\u0007\u032a\u0002\u0002\u15d9\u15db", - "\u0007\u0322\u0002\u0002\u15da\u15dc\u0007\u033e\u0002\u0002\u15db\u15da", - "\u0003\u0002\u0002\u0002\u15db\u15dc\u0003\u0002\u0002\u0002\u15dc\u15de", - "\u0003\u0002\u0002\u0002\u15dd\u15d7\u0003\u0002\u0002\u0002\u15dd\u15de", - "\u0003\u0002\u0002\u0002\u15de\u15e9\u0003\u0002\u0002\u0002\u15df\u15e0", - "\u0007v\u0002\u0002\u15e0\u15e4\u0007\u0010\u0002\u0002\u15e1\u15e5", - "\u0007\u02cb\u0002\u0002\u15e2\u15e5\u0007\u0326\u0002\u0002\u15e3\u15e5", - "\u0007\u027d\u0002\u0002\u15e4\u15e1\u0003\u0002\u0002\u0002\u15e4\u15e2", - "\u0003\u0002\u0002\u0002\u15e4\u15e3\u0003\u0002\u0002\u0002\u15e5\u15e7", - "\u0003\u0002\u0002\u0002\u15e6\u15e8\u0007\u033e\u0002\u0002\u15e7\u15e6", - "\u0003\u0002\u0002\u0002\u15e7\u15e8\u0003\u0002\u0002\u0002\u15e8\u15ea", - "\u0003\u0002\u0002\u0002\u15e9\u15df\u0003\u0002\u0002\u0002\u15e9\u15ea", - "\u0003\u0002\u0002\u0002\u15ea\u15ed\u0003\u0002\u0002\u0002\u15eb\u15ed", - "\u0007g\u0002\u0002\u15ec\u15cd\u0003\u0002\u0002\u0002\u15ec\u15eb", - "\u0003\u0002\u0002\u0002\u15ed\u15ee\u0003\u0002\u0002\u0002\u15ee\u15f0", - "\u0007\u033d\u0002\u0002\u15ef\u15f1\u0007\u033e\u0002\u0002\u15f0\u15ef", - "\u0003\u0002\u0002\u0002\u15f0\u15f1\u0003\u0002\u0002\u0002\u15f1\u15f3", - "\u0003\u0002\u0002\u0002\u15f2\u15c5\u0003\u0002\u0002\u0002\u15f2\u15f3", - "\u0003\u0002\u0002\u0002\u15f3\u15fb\u0003\u0002\u0002\u0002\u15f4\u15f5", - "\u0007\u0284\u0002\u0002\u15f5\u15f6\u0007\u033c\u0002\u0002\u15f6\u15f7", - "\u0007\u02e0\u0002\u0002\u15f7\u15f8\u0007\u032a\u0002\u0002\u15f8\u15f9", - "\t\t\u0002\u0002\u15f9\u15fa\u0003\u0002\u0002\u0002\u15fa\u15fc\u0007", - "\u033d\u0002\u0002\u15fb\u15f4\u0003\u0002\u0002\u0002\u15fb\u15fc\u0003", - "\u0002\u0002\u0002\u15fc\u01a1\u0003\u0002\u0002\u0002\u15fd\u15fe\u0007", - "\n\u0002\u0002\u15fe\u1601\u0007\u0294\u0002\u0002\u15ff\u1602\u0005", - "\u038c\u01c7\u0002\u1600\u1602\u0005\u03c6\u01e4\u0002\u1601\u15ff\u0003", - "\u0002\u0002\u0002\u1601\u1600\u0003\u0002\u0002\u0002\u1602\u1605\u0003", - "\u0002\u0002\u0002\u1603\u1606\u0005\u01a0\u00d1\u0002\u1604\u1606\u0005", - "\u01a4\u00d3\u0002\u1605\u1603\u0003\u0002\u0002\u0002\u1605\u1604\u0003", - "\u0002\u0002\u0002\u1606\u01a3\u0003\u0002\u0002\u0002\u1607\u160d\u0007", - "\u02a1\u0002\u0002\u1608\u1609\u0007\u0179\u0002\u0002\u1609\u160a\u0007", - "\u033c\u0002\u0002\u160a\u160b\u0005\u01a6\u00d4\u0002\u160b\u160c\u0007", - "\u033d\u0002\u0002\u160c\u160e\u0003\u0002\u0002\u0002\u160d\u1608\u0003", - "\u0002\u0002\u0002\u160d\u160e\u0003\u0002\u0002\u0002\u160e\u161d\u0003", - "\u0002\u0002\u0002\u160f\u1614\u0007\u02aa\u0002\u0002\u1610\u1611\u0007", - "\u0179\u0002\u0002\u1611\u1612\u0007\u0236\u0002\u0002\u1612\u1613\u0007", - "\u032a\u0002\u0002\u1613\u1615\t\t\u0002\u0002\u1614\u1610\u0003\u0002", - "\u0002\u0002\u1614\u1615\u0003\u0002\u0002\u0002\u1615\u161d\u0003\u0002", - "\u0002\u0002\u1616\u1617\u0007\u025b\u0002\u0002\u1617\u161a\u0007\u015a", - "\u0002\u0002\u1618\u161b\u0005\u03c6\u01e4\u0002\u1619\u161b\u0007Y", - "\u0002\u0002\u161a\u1618\u0003\u0002\u0002\u0002\u161a\u1619\u0003\u0002", - "\u0002\u0002\u161b\u161d\u0003\u0002\u0002\u0002\u161c\u1607\u0003\u0002", - "\u0002\u0002\u161c\u160f\u0003\u0002\u0002\u0002\u161c\u1616\u0003\u0002", - "\u0002\u0002\u161d\u01a5\u0003\u0002\u0002\u0002\u161e\u161f\u0007\u024a", - "\u0002\u0002\u161f\u1620\u0007\u032a\u0002\u0002\u1620\u1621\u0007\u0322", - "\u0002\u0002\u1621\u01a7\u0003\u0002\u0002\u0002\u1622\u1623\u0007I", - "\u0002\u0002\u1623\u1624\u0007D\u0002\u0002\u1624\u1627\u0005\u03b0", - "\u01d9\u0002\u1625\u1626\u0007\u0014\u0002\u0002\u1626\u1628\u0005\u03c6", - "\u01e4\u0002\u1627\u1625\u0003\u0002\u0002\u0002\u1627\u1628\u0003\u0002", - "\u0002\u0002\u1628\u1629\u0003\u0002\u0002\u0002\u1629\u1634\u0007\u033c", - "\u0002\u0002\u162a\u162d\u0005\u03c6\u01e4\u0002\u162b\u162d\u0007Y", - "\u0002\u0002\u162c\u162a\u0003\u0002\u0002\u0002\u162c\u162b\u0003\u0002", - "\u0002\u0002\u162d\u162e\u0003\u0002\u0002\u0002\u162e\u162f\u0007\u02ce", - "\u0002\u0002\u162f\u1630\u0007&\u0002\u0002\u1630\u1632\t6\u0002\u0002", - "\u1631\u1633\u0007\u033e\u0002\u0002\u1632\u1631\u0003\u0002\u0002\u0002", - "\u1632\u1633\u0003\u0002\u0002\u0002\u1633\u1635\u0003\u0002\u0002\u0002", - "\u1634\u162c\u0003\u0002\u0002\u0002\u1635\u1636\u0003\u0002\u0002\u0002", - "\u1636\u1634\u0003\u0002\u0002\u0002\u1636\u1637\u0003\u0002\u0002\u0002", - "\u1637\u1638\u0003\u0002\u0002\u0002\u1638\u1639\u0007\u033d\u0002\u0002", - "\u1639\u01a9\u0003\u0002\u0002\u0002\u163a\u1641\u0005\u03ac\u01d7\u0002", - "\u163b\u1641\u0005\u03ae\u01d8\u0002\u163c\u1641\u0005\u03b4\u01db\u0002", - "\u163d\u1641\u0005\u03b8\u01dd\u0002\u163e\u1641\u0005\u03bc\u01df\u0002", - "\u163f\u1641\u0005\u03b6\u01dc\u0002\u1640\u163a\u0003\u0002\u0002\u0002", - "\u1640\u163b\u0003\u0002\u0002\u0002\u1640\u163c\u0003\u0002\u0002\u0002", - "\u1640\u163d\u0003\u0002\u0002\u0002\u1640\u163e\u0003\u0002\u0002\u0002", - "\u1640\u163f\u0003\u0002\u0002\u0002\u1641\u01ab\u0003\u0002\u0002\u0002", - "\u1642\u1643\u0007I\u0002\u0002\u1643\u1644\u0007\u0250\u0002\u0002", - "\u1644\u1645\u0007\u0301\u0002\u0002\u1645\u1648\u0005\u03c6\u01e4\u0002", - "\u1646\u1647\u0007\u0014\u0002\u0002\u1647\u1649\u0005\u03c6\u01e4\u0002", - "\u1648\u1646\u0003\u0002\u0002\u0002\u1648\u1649\u0003\u0002\u0002\u0002", - "\u1649\u164a\u0003\u0002\u0002\u0002\u164a\u164b\u0007\u030a\u0002\u0002", - "\u164b\u1654\u0007\u032a\u0002\u0002\u164c\u1655\u0007\u00d5\u0002\u0002", - "\u164d\u1655\u0007\u01e8\u0002\u0002\u164e\u1655\u0007\u0311\u0002\u0002", - "\u164f\u1650\u0007\u0309\u0002\u0002\u1650\u1651\u0007\u0179\u0002\u0002", - "\u1651\u1652\u0007\u012e\u0002\u0002\u1652\u1653\u0007\u01b5\u0002\u0002", - "\u1653\u1655\u0005\u03c6\u01e4\u0002\u1654\u164c\u0003\u0002\u0002\u0002", - "\u1654\u164d\u0003\u0002\u0002\u0002\u1654\u164e\u0003\u0002\u0002\u0002", - "\u1654\u164f\u0003\u0002\u0002\u0002\u1655\u01ad\u0003\u0002\u0002\u0002", - "\u1656\u1658\u0005\u02e6\u0174\u0002\u1657\u1656\u0003\u0002\u0002\u0002", - "\u1657\u1658\u0003\u0002\u0002\u0002\u1658\u1659\u0003\u0002\u0002\u0002", - "\u1659\u1661\u0007\u00c9\u0002\u0002\u165a\u165b\u0007\u015b\u0002\u0002", - "\u165b\u165c\u0007\u033c\u0002\u0002\u165c\u165d\u0005\u02d8\u016d\u0002", - "\u165d\u165f\u0007\u033d\u0002\u0002\u165e\u1660\u0007\u00f5\u0002\u0002", - "\u165f\u165e\u0003\u0002\u0002\u0002\u165f\u1660\u0003\u0002\u0002\u0002", - "\u1660\u1662\u0003\u0002\u0002\u0002\u1661\u165a\u0003\u0002\u0002\u0002", - "\u1661\u1662\u0003\u0002\u0002\u0002\u1662\u1664\u0003\u0002\u0002\u0002", - "\u1663\u1665\u0007\u00a5\u0002\u0002\u1664\u1663\u0003\u0002\u0002\u0002", - "\u1664\u1665\u0003\u0002\u0002\u0002\u1665\u1666\u0003\u0002\u0002\u0002", - "\u1666\u1668\u0005\u0398\u01cd\u0002\u1667\u1669\u0005\u035a\u01ae\u0002", - "\u1668\u1667\u0003\u0002\u0002\u0002\u1668\u1669\u0003\u0002\u0002\u0002", - "\u1669\u166b\u0003\u0002\u0002\u0002\u166a\u166c\u0005\u0354\u01ab\u0002", - "\u166b\u166a\u0003\u0002\u0002\u0002\u166b\u166c\u0003\u0002\u0002\u0002", - "\u166c\u166d\u0003\u0002\u0002\u0002\u166d\u166e\u0007\u0308\u0002\u0002", - "\u166e\u166f\u0005\u0320\u0191\u0002\u166f\u1670\u0007\u00e5\u0002\u0002", - "\u1670\u167b\u0005\u02ee\u0178\u0002\u1671\u1672\u0007\u0175\u0002\u0002", - "\u1672\u1675\u0007\u00bc\u0002\u0002\u1673\u1674\u0007\u000b\u0002\u0002", - "\u1674\u1676\u0005\u02ee\u0178\u0002\u1675\u1673\u0003\u0002\u0002\u0002", - "\u1675\u1676\u0003\u0002\u0002\u0002\u1676\u1677\u0003\u0002\u0002\u0002", - "\u1677\u1678\u0007\u0159\u0002\u0002\u1678\u167a\u0005\u01b0\u00d9\u0002", - "\u1679\u1671\u0003\u0002\u0002\u0002\u167a\u167d\u0003\u0002\u0002\u0002", - "\u167b\u1679\u0003\u0002\u0002\u0002\u167b\u167c\u0003\u0002\u0002\u0002", - "\u167c\u168b\u0003\u0002\u0002\u0002\u167d\u167b\u0003\u0002\u0002\u0002", - "\u167e\u167f\u0007\u0175\u0002\u0002\u167f\u1680\u0007\u00dc\u0002\u0002", - "\u1680\u1683\u0007\u00bc\u0002\u0002\u1681\u1682\u0007&\u0002\u0002", - "\u1682\u1684\u0007\u0156\u0002\u0002\u1683\u1681\u0003\u0002\u0002\u0002", - "\u1683\u1684\u0003\u0002\u0002\u0002\u1684\u1687\u0003\u0002\u0002\u0002", - "\u1685\u1686\u0007\u000b\u0002\u0002\u1686\u1688\u0005\u02ee\u0178\u0002", - "\u1687\u1685\u0003\u0002\u0002\u0002\u1687\u1688\u0003\u0002\u0002\u0002", - "\u1688\u1689\u0003\u0002\u0002\u0002\u1689\u168a\u0007\u0159\u0002\u0002", - "\u168a\u168c\u0005\u01b2\u00da\u0002\u168b\u167e\u0003\u0002\u0002\u0002", - "\u168b\u168c\u0003\u0002\u0002\u0002\u168c\u169a\u0003\u0002\u0002\u0002", - "\u168d\u168e\u0007\u0175\u0002\u0002\u168e\u168f\u0007\u00dc\u0002\u0002", - "\u168f\u1690\u0007\u00bc\u0002\u0002\u1690\u1691\u0007&\u0002\u0002", - "\u1691\u1694\u0007\u0142\u0002\u0002\u1692\u1693\u0007\u000b\u0002\u0002", - "\u1693\u1695\u0005\u02ee\u0178\u0002\u1694\u1692\u0003\u0002\u0002\u0002", - "\u1694\u1695\u0003\u0002\u0002\u0002\u1695\u1696\u0003\u0002\u0002\u0002", - "\u1696\u1697\u0007\u0159\u0002\u0002\u1697\u1699\u0005\u01b0\u00d9\u0002", - "\u1698\u168d\u0003\u0002\u0002\u0002\u1699\u169c\u0003\u0002\u0002\u0002", - "\u169a\u1698\u0003\u0002\u0002\u0002\u169a\u169b\u0003\u0002\u0002\u0002", - "\u169b\u169e\u0003\u0002\u0002\u0002\u169c\u169a\u0003\u0002\u0002\u0002", - "\u169d\u169f\u0005\u01c4\u00e3\u0002\u169e\u169d\u0003\u0002\u0002\u0002", - "\u169e\u169f\u0003\u0002\u0002\u0002\u169f\u16a1\u0003\u0002\u0002\u0002", - "\u16a0\u16a2\u0005\u030c\u0187\u0002\u16a1\u16a0\u0003\u0002\u0002\u0002", - "\u16a1\u16a2\u0003\u0002\u0002\u0002\u16a2\u16a3\u0003\u0002\u0002\u0002", - "\u16a3\u16a4\u0007\u033f\u0002\u0002\u16a4\u01af\u0003\u0002\u0002\u0002", - "\u16a5\u16a6\u0007\u0169\u0002\u0002\u16a6\u16a7\u0007\u013b\u0002\u0002", - "\u16a7\u16ac\u0005\u02ea\u0176\u0002\u16a8\u16a9\u0007\u033e\u0002\u0002", - "\u16a9\u16ab\u0005\u02ea\u0176\u0002\u16aa\u16a8\u0003\u0002\u0002\u0002", - "\u16ab\u16ae\u0003\u0002\u0002\u0002\u16ac\u16aa\u0003\u0002\u0002\u0002", - "\u16ac\u16ad\u0003\u0002\u0002\u0002\u16ad\u16b1\u0003\u0002\u0002\u0002", - "\u16ae\u16ac\u0003\u0002\u0002\u0002\u16af\u16b1\u0007\\\u0002\u0002", - "\u16b0\u16a5\u0003\u0002\u0002\u0002\u16b0\u16af\u0003\u0002\u0002\u0002", - "\u16b1\u01b1\u0003\u0002\u0002\u0002\u16b2\u16b7\u0007\u00a2\u0002\u0002", - "\u16b3\u16b4\u0007\u033c\u0002\u0002\u16b4\u16b5\u0005\u039e\u01d0\u0002", - "\u16b5\u16b6\u0007\u033d\u0002\u0002\u16b6\u16b8\u0003\u0002\u0002\u0002", - "\u16b7\u16b3\u0003\u0002\u0002\u0002\u16b7\u16b8\u0003\u0002\u0002\u0002", - "\u16b8\u16bc\u0003\u0002\u0002\u0002\u16b9\u16bd\u0005\u0364\u01b3\u0002", - "\u16ba\u16bb\u0007Y\u0002\u0002\u16bb\u16bd\u0007\u016f\u0002\u0002", - "\u16bc\u16b9\u0003\u0002\u0002\u0002\u16bc\u16ba\u0003\u0002\u0002\u0002", - "\u16bd\u01b3\u0003\u0002\u0002\u0002\u16be\u16c0\u0005\u02e6\u0174\u0002", - "\u16bf\u16be\u0003\u0002\u0002\u0002\u16bf\u16c0\u0003\u0002\u0002\u0002", - "\u16c0\u16c1\u0003\u0002\u0002\u0002\u16c1\u16cb\u0007\\\u0002\u0002", - "\u16c2\u16c3\u0007\u015b\u0002\u0002\u16c3\u16c4\u0007\u033c\u0002\u0002", - "\u16c4\u16c5\u0005\u02d8\u016d\u0002\u16c5\u16c7\u0007\u033d\u0002\u0002", - "\u16c6\u16c8\u0007\u00f5\u0002\u0002\u16c7\u16c6\u0003\u0002\u0002\u0002", - "\u16c7\u16c8\u0003\u0002\u0002\u0002\u16c8\u16cc\u0003\u0002\u0002\u0002", - "\u16c9\u16ca\u0007\u015b\u0002\u0002\u16ca\u16cc\u0007\u0322\u0002\u0002", - "\u16cb\u16c2\u0003\u0002\u0002\u0002\u16cb\u16c9\u0003\u0002\u0002\u0002", - "\u16cb\u16cc\u0003\u0002\u0002\u0002\u16cc\u16ce\u0003\u0002\u0002\u0002", - "\u16cd\u16cf\u0007\u008b\u0002\u0002\u16ce\u16cd\u0003\u0002\u0002\u0002", - "\u16ce\u16cf\u0003\u0002\u0002\u0002\u16cf\u16d0\u0003\u0002\u0002\u0002", - "\u16d0\u16d2\u0005\u01b6\u00dc\u0002\u16d1\u16d3\u0005\u035a\u01ae\u0002", - "\u16d2\u16d1\u0003\u0002\u0002\u0002\u16d2\u16d3\u0003\u0002\u0002\u0002", - "\u16d3\u16d5\u0003\u0002\u0002\u0002\u16d4\u16d6\u0005\u01c4\u00e3\u0002", - "\u16d5\u16d4\u0003\u0002\u0002\u0002\u16d5\u16d6\u0003\u0002\u0002\u0002", - "\u16d6\u16d9\u0003\u0002\u0002\u0002\u16d7\u16d8\u0007\u008b\u0002\u0002", - "\u16d8\u16da\u0005\u0320\u0191\u0002\u16d9\u16d7\u0003\u0002\u0002\u0002", - "\u16d9\u16da\u0003\u0002\u0002\u0002\u16da\u16e8\u0003\u0002\u0002\u0002", - "\u16db\u16e6\u0007\u0176\u0002\u0002\u16dc\u16e7\u0005\u02ee\u0178\u0002", - "\u16dd\u16de\u0007K\u0002\u0002\u16de\u16e4\u0007\u00e1\u0002\u0002", - "\u16df\u16e1\u0007\u020d\u0002\u0002\u16e0\u16df\u0003\u0002\u0002\u0002", - "\u16e0\u16e1\u0003\u0002\u0002\u0002\u16e1\u16e2\u0003\u0002\u0002\u0002", - "\u16e2\u16e5\u0005\u03a0\u01d1\u0002\u16e3\u16e5\u0007\u0321\u0002\u0002", - "\u16e4\u16e0\u0003\u0002\u0002\u0002\u16e4\u16e3\u0003\u0002\u0002\u0002", - "\u16e5\u16e7\u0003\u0002\u0002\u0002\u16e6\u16dc\u0003\u0002\u0002\u0002", - "\u16e6\u16dd\u0003\u0002\u0002\u0002\u16e7\u16e9\u0003\u0002\u0002\u0002", - "\u16e8\u16db\u0003\u0002\u0002\u0002\u16e8\u16e9\u0003\u0002\u0002\u0002", - "\u16e9\u16eb\u0003\u0002\u0002\u0002\u16ea\u16ec\u0005\u0304\u0183\u0002", - "\u16eb\u16ea\u0003\u0002\u0002\u0002\u16eb\u16ec\u0003\u0002\u0002\u0002", - "\u16ec\u16ee\u0003\u0002\u0002\u0002\u16ed\u16ef\u0005\u030c\u0187\u0002", - "\u16ee\u16ed\u0003\u0002\u0002\u0002\u16ee\u16ef\u0003\u0002\u0002\u0002", - "\u16ef\u16f1\u0003\u0002\u0002\u0002\u16f0\u16f2\u0007\u033f\u0002\u0002", - "\u16f1\u16f0\u0003\u0002\u0002\u0002\u16f1\u16f2\u0003\u0002\u0002\u0002", - "\u16f2\u01b5\u0003\u0002\u0002\u0002\u16f3\u16f8\u0005\u0398\u01cd\u0002", - "\u16f4\u16f8\u0005\u0356\u01ac\u0002\u16f5\u16f8\u0005\u025c\u012f\u0002", - "\u16f6\u16f8\u0007\u0321\u0002\u0002\u16f7\u16f3\u0003\u0002\u0002\u0002", - "\u16f7\u16f4\u0003\u0002\u0002\u0002\u16f7\u16f5\u0003\u0002\u0002\u0002", - "\u16f7\u16f6\u0003\u0002\u0002\u0002\u16f8\u01b7\u0003\u0002\u0002\u0002", - "\u16f9\u16fb\u0005\u02e6\u0174\u0002\u16fa\u16f9\u0003\u0002\u0002\u0002", - "\u16fa\u16fb\u0003\u0002\u0002\u0002\u16fb\u16fc\u0003\u0002\u0002\u0002", - "\u16fc\u1704\u0007\u00a2\u0002\u0002\u16fd\u16fe\u0007\u015b\u0002\u0002", - "\u16fe\u16ff\u0007\u033c\u0002\u0002\u16ff\u1700\u0005\u02d8\u016d\u0002", - "\u1700\u1702\u0007\u033d\u0002\u0002\u1701\u1703\u0007\u00f5\u0002\u0002", - "\u1702\u1701\u0003\u0002\u0002\u0002\u1702\u1703\u0003\u0002\u0002\u0002", - "\u1703\u1705\u0003\u0002\u0002\u0002\u1704\u16fd\u0003\u0002\u0002\u0002", - "\u1704\u1705\u0003\u0002\u0002\u0002\u1705\u1707\u0003\u0002\u0002\u0002", - "\u1706\u1708\u0007\u00a5\u0002\u0002\u1707\u1706\u0003\u0002\u0002\u0002", - "\u1707\u1708\u0003\u0002\u0002\u0002\u1708\u170b\u0003\u0002\u0002\u0002", - "\u1709\u170c\u0005\u0398\u01cd\u0002\u170a\u170c\u0005\u025c\u012f\u0002", - "\u170b\u1709\u0003\u0002\u0002\u0002\u170b\u170a\u0003\u0002\u0002\u0002", - "\u170c\u170e\u0003\u0002\u0002\u0002\u170d\u170f\u0005\u035a\u01ae\u0002", - "\u170e\u170d\u0003\u0002\u0002\u0002\u170e\u170f\u0003\u0002\u0002\u0002", - "\u170f\u1714\u0003\u0002\u0002\u0002\u1710\u1711\u0007\u033c\u0002\u0002", - "\u1711\u1712\u0005\u039e\u01d0\u0002\u1712\u1713\u0007\u033d\u0002\u0002", - "\u1713\u1715\u0003\u0002\u0002\u0002\u1714\u1710\u0003\u0002\u0002\u0002", - "\u1714\u1715\u0003\u0002\u0002\u0002\u1715\u1717\u0003\u0002\u0002\u0002", - "\u1716\u1718\u0005\u01c4\u00e3\u0002\u1717\u1716\u0003\u0002\u0002\u0002", - "\u1717\u1718\u0003\u0002\u0002\u0002\u1718\u1719\u0003\u0002\u0002\u0002", - "\u1719\u171b\u0005\u01ba\u00de\u0002\u171a\u171c\u0005\u0304\u0183\u0002", - "\u171b\u171a\u0003\u0002\u0002\u0002\u171b\u171c\u0003\u0002\u0002\u0002", - "\u171c\u171e\u0003\u0002\u0002\u0002\u171d\u171f\u0005\u030c\u0187\u0002", - "\u171e\u171d\u0003\u0002\u0002\u0002\u171e\u171f\u0003\u0002\u0002\u0002", - "\u171f\u1721\u0003\u0002\u0002\u0002\u1720\u1722\u0007\u033f\u0002\u0002", - "\u1721\u1720\u0003\u0002\u0002\u0002\u1721\u1722\u0003\u0002\u0002\u0002", - "\u1722\u01b9\u0003\u0002\u0002\u0002\u1723\u1729\u0005\u0364\u01b3\u0002", - "\u1724\u1729\u0005\u033e\u01a0\u0002\u1725\u1729\u0005\u0278\u013d\u0002", - "\u1726\u1727\u0007Y\u0002\u0002\u1727\u1729\u0007\u016f\u0002\u0002", - "\u1728\u1723\u0003\u0002\u0002\u0002\u1728\u1724\u0003\u0002\u0002\u0002", - "\u1728\u1725\u0003\u0002\u0002\u0002\u1728\u1726\u0003\u0002\u0002\u0002", - "\u1729\u01bb\u0003\u0002\u0002\u0002\u172a\u172c\u0007\u033c\u0002\u0002", - "\u172b\u172a\u0003\u0002\u0002\u0002\u172b\u172c\u0003\u0002\u0002\u0002", - "\u172c\u172d\u0003\u0002\u0002\u0002\u172d\u1732\u0007\u02a2\u0002\u0002", - "\u172e\u1733\u0007\u0006\u0002\u0002\u172f\u1733\u0007b\u0002\u0002", - "\u1730\u1733\u0005\u02fc\u017f\u0002\u1731\u1733\u0007\u0341\u0002\u0002", - "\u1732\u172e\u0003\u0002\u0002\u0002\u1732\u172f\u0003\u0002\u0002\u0002", - "\u1732\u1730\u0003\u0002\u0002\u0002\u1732\u1731\u0003\u0002\u0002\u0002", - "\u1733\u173c\u0003\u0002\u0002\u0002\u1734\u1735\u0007\u0321\u0002\u0002", - "\u1735\u1736\u0007\u032a\u0002\u0002\u1736\u1738\u0005\u02d8\u016d\u0002", - "\u1737\u1739\u0007\u033e\u0002\u0002\u1738\u1737\u0003\u0002\u0002\u0002", - "\u1738\u1739\u0003\u0002\u0002\u0002\u1739\u173b\u0003\u0002\u0002\u0002", - "\u173a\u1734\u0003\u0002\u0002\u0002\u173b\u173e\u0003\u0002\u0002\u0002", - "\u173c\u173a\u0003\u0002\u0002\u0002\u173c\u173d\u0003\u0002\u0002\u0002", - "\u173d\u173f\u0003\u0002\u0002\u0002\u173e\u173c\u0003\u0002\u0002\u0002", - "\u173f\u1740\u0007\u008b\u0002\u0002\u1740\u1746\u0005\u038c\u01c7\u0002", - "\u1741\u1742\u0007\u00a5\u0002\u0002\u1742\u1743\u0005\u03c6\u01e4\u0002", - "\u1743\u1744\u0007\u0176\u0002\u0002\u1744\u1745\u0005\u02ee\u0178\u0002", - "\u1745\u1747\u0003\u0002\u0002\u0002\u1746\u1741\u0003\u0002\u0002\u0002", - "\u1746\u1747\u0003\u0002\u0002\u0002\u1747\u1749\u0003\u0002\u0002\u0002", - "\u1748\u174a\u0007\u033d\u0002\u0002\u1749\u1748\u0003\u0002\u0002\u0002", - "\u1749\u174a\u0003\u0002\u0002\u0002\u174a\u01bd\u0003\u0002\u0002\u0002", - "\u174b\u174d\u0005\u02e6\u0174\u0002\u174c\u174b\u0003\u0002\u0002\u0002", - "\u174c\u174d\u0003\u0002\u0002\u0002\u174d\u174e\u0003\u0002\u0002\u0002", - "\u174e\u1750\u0005\u02f6\u017c\u0002\u174f\u1751\u0005\u0302\u0182\u0002", - "\u1750\u174f\u0003\u0002\u0002\u0002\u1750\u1751\u0003\u0002\u0002\u0002", - "\u1751\u1753\u0003\u0002\u0002\u0002\u1752\u1754\u0005\u0304\u0183\u0002", - "\u1753\u1752\u0003\u0002\u0002\u0002\u1753\u1754\u0003\u0002\u0002\u0002", - "\u1754\u1756\u0003\u0002\u0002\u0002\u1755\u1757\u0005\u030c\u0187\u0002", - "\u1756\u1755\u0003\u0002\u0002\u0002\u1756\u1757\u0003\u0002\u0002\u0002", - "\u1757\u1759\u0003\u0002\u0002\u0002\u1758\u175a\u0007\u033f\u0002\u0002", - "\u1759\u1758\u0003\u0002\u0002\u0002\u1759\u175a\u0003\u0002\u0002\u0002", - "\u175a\u01bf\u0003\u0002\u0002\u0002\u175b\u175e\u0007\u0321\u0002\u0002", - "\u175c\u175e\u0005\u03c2\u01e2\u0002\u175d\u175b\u0003\u0002\u0002\u0002", - "\u175d\u175c\u0003\u0002\u0002\u0002\u175e\u01c1\u0003\u0002\u0002\u0002", - "\u175f\u1761\u0005\u02e6\u0174\u0002\u1760\u175f\u0003\u0002\u0002\u0002", - "\u1760\u1761\u0003\u0002\u0002\u0002\u1761\u1762\u0003\u0002\u0002\u0002", - "\u1762\u176a\u0007\u0169\u0002\u0002\u1763\u1764\u0007\u015b\u0002\u0002", - "\u1764\u1765\u0007\u033c\u0002\u0002\u1765\u1766\u0005\u02d8\u016d\u0002", - "\u1766\u1768\u0007\u033d\u0002\u0002\u1767\u1769\u0007\u00f5\u0002\u0002", - "\u1768\u1767\u0003\u0002\u0002\u0002\u1768\u1769\u0003\u0002\u0002\u0002", - "\u1769\u176b\u0003\u0002\u0002\u0002\u176a\u1763\u0003\u0002\u0002\u0002", - "\u176a\u176b\u0003\u0002\u0002\u0002\u176b\u176e\u0003\u0002\u0002\u0002", - "\u176c\u176f\u0005\u0398\u01cd\u0002\u176d\u176f\u0005\u025c\u012f\u0002", - "\u176e\u176c\u0003\u0002\u0002\u0002\u176e\u176d\u0003\u0002\u0002\u0002", - "\u176f\u1771\u0003\u0002\u0002\u0002\u1770\u1772\u0005\u0358\u01ad\u0002", - "\u1771\u1770\u0003\u0002\u0002\u0002\u1771\u1772\u0003\u0002\u0002\u0002", - "\u1772\u1773\u0003\u0002\u0002\u0002\u1773\u1774\u0007\u013b\u0002\u0002", - "\u1774\u1779\u0005\u02ea\u0176\u0002\u1775\u1776\u0007\u033e\u0002\u0002", - "\u1776\u1778\u0005\u02ea\u0176\u0002\u1777\u1775\u0003\u0002\u0002\u0002", - "\u1778\u177b\u0003\u0002\u0002\u0002\u1779\u1777\u0003\u0002\u0002\u0002", - "\u1779\u177a\u0003\u0002\u0002\u0002\u177a\u177d\u0003\u0002\u0002\u0002", - "\u177b\u1779\u0003\u0002\u0002\u0002\u177c\u177e\u0005\u01c4\u00e3\u0002", - "\u177d\u177c\u0003\u0002\u0002\u0002\u177d\u177e\u0003\u0002\u0002\u0002", - "\u177e\u1781\u0003\u0002\u0002\u0002\u177f\u1780\u0007\u008b\u0002\u0002", - "\u1780\u1782\u0005\u0320\u0191\u0002\u1781\u177f\u0003\u0002\u0002\u0002", - "\u1781\u1782\u0003\u0002\u0002\u0002\u1782\u1790\u0003\u0002\u0002\u0002", - "\u1783\u178e\u0007\u0176\u0002\u0002\u1784\u178f\u0005\u02ec\u0177\u0002", - "\u1785\u1786\u0007K\u0002\u0002\u1786\u178c\u0007\u00e1\u0002\u0002", - "\u1787\u1789\u0007\u020d\u0002\u0002\u1788\u1787\u0003\u0002\u0002\u0002", - "\u1788\u1789\u0003\u0002\u0002\u0002\u1789\u178a\u0003\u0002\u0002\u0002", - "\u178a\u178d\u0005\u03a0\u01d1\u0002\u178b\u178d\u0007\u0321\u0002\u0002", - "\u178c\u1788\u0003\u0002\u0002\u0002\u178c\u178b\u0003\u0002\u0002\u0002", - "\u178d\u178f\u0003\u0002\u0002\u0002\u178e\u1784\u0003\u0002\u0002\u0002", - "\u178e\u1785\u0003\u0002\u0002\u0002\u178f\u1791\u0003\u0002\u0002\u0002", - "\u1790\u1783\u0003\u0002\u0002\u0002\u1790\u1791\u0003\u0002\u0002\u0002", - "\u1791\u1793\u0003\u0002\u0002\u0002\u1792\u1794\u0005\u0304\u0183\u0002", - "\u1793\u1792\u0003\u0002\u0002\u0002\u1793\u1794\u0003\u0002\u0002\u0002", - "\u1794\u1796\u0003\u0002\u0002\u0002\u1795\u1797\u0005\u030c\u0187\u0002", - "\u1796\u1795\u0003\u0002\u0002\u0002\u1796\u1797\u0003\u0002\u0002\u0002", - "\u1797\u1799\u0003\u0002\u0002\u0002\u1798\u179a\u0007\u033f\u0002\u0002", - "\u1799\u1798\u0003\u0002\u0002\u0002\u1799\u179a\u0003\u0002\u0002\u0002", - "\u179a\u01c3\u0003\u0002\u0002\u0002\u179b\u179c\u0007\u027b\u0002\u0002", - "\u179c\u17a1\u0005\u01c6\u00e4\u0002\u179d\u179e\u0007\u033e\u0002\u0002", - "\u179e\u17a0\u0005\u01c6\u00e4\u0002\u179f\u179d\u0003\u0002\u0002\u0002", - "\u17a0\u17a3\u0003\u0002\u0002\u0002\u17a1\u179f\u0003\u0002\u0002\u0002", - "\u17a1\u17a2\u0003\u0002\u0002\u0002\u17a2\u17af\u0003\u0002\u0002\u0002", - "\u17a3\u17a1\u0003\u0002\u0002\u0002\u17a4\u17a7\u0007\u00a5\u0002\u0002", - "\u17a5\u17a8\u0007\u0321\u0002\u0002\u17a6\u17a8\u0005\u038e\u01c8\u0002", - "\u17a7\u17a5\u0003\u0002\u0002\u0002\u17a7\u17a6\u0003\u0002\u0002\u0002", - "\u17a8\u17ad\u0003\u0002\u0002\u0002\u17a9\u17aa\u0007\u033c\u0002\u0002", - "\u17aa\u17ab\u0005\u039e\u01d0\u0002\u17ab\u17ac\u0007\u033d\u0002\u0002", - "\u17ac\u17ae\u0003\u0002\u0002\u0002\u17ad\u17a9\u0003\u0002\u0002\u0002", - "\u17ad\u17ae\u0003\u0002\u0002\u0002\u17ae\u17b0\u0003\u0002\u0002\u0002", - "\u17af\u17a4\u0003\u0002\u0002\u0002\u17af\u17b0\u0003\u0002\u0002\u0002", - "\u17b0\u01c5\u0003\u0002\u0002\u0002\u17b1\u17b4\u0005\u01c8\u00e5\u0002", - "\u17b2\u17b4\u0005\u02d8\u016d\u0002\u17b3\u17b1\u0003\u0002\u0002\u0002", - "\u17b3\u17b2\u0003\u0002\u0002\u0002\u17b4\u17b6\u0003\u0002\u0002\u0002", - "\u17b5\u17b7\u0005\u0352\u01aa\u0002\u17b6\u17b5\u0003\u0002\u0002\u0002", - "\u17b6\u17b7\u0003\u0002\u0002\u0002\u17b7\u01c7\u0003\u0002\u0002\u0002", - "\u17b8\u17bc\u0007\u01d7\u0002\u0002\u17b9\u17bc\u0007\u0222\u0002\u0002", - "\u17ba\u17bc\u0005\u038e\u01c8\u0002\u17bb\u17b8\u0003\u0002\u0002\u0002", - "\u17bb\u17b9\u0003\u0002\u0002\u0002\u17bb\u17ba\u0003\u0002\u0002\u0002", - "\u17bc\u17bd\u0003\u0002\u0002\u0002\u17bd\u17c0\u0007\u0337\u0002\u0002", - "\u17be\u17c1\u0007\u0341\u0002\u0002\u17bf\u17c1\u0005\u03c6\u01e4\u0002", - "\u17c0\u17be\u0003\u0002\u0002\u0002\u17c0\u17bf\u0003\u0002\u0002\u0002", - "\u17c1\u17c4\u0003\u0002\u0002\u0002\u17c2\u17c4\u0007\u031a\u0002\u0002", - "\u17c3\u17bb\u0003\u0002\u0002\u0002\u17c3\u17c2\u0003\u0002\u0002\u0002", - "\u17c4\u01c9\u0003\u0002\u0002\u0002\u17c5\u17c6\u0007I\u0002\u0002", - "\u17c6\u17c7\u0007T\u0002\u0002\u17c7\u17cb\u0005\u03c6\u01e4\u0002", - "\u17c8\u17c9\u0007>\u0002\u0002\u17c9\u17ca\u0007\u032a\u0002\u0002", - "\u17ca\u17cc\t7\u0002\u0002\u17cb\u17c8\u0003\u0002\u0002\u0002\u17cb", - "\u17cc\u0003\u0002\u0002\u0002\u17cc\u17d9\u0003\u0002\u0002\u0002\u17cd", - "\u17cf\u0007\u00e5\u0002\u0002\u17ce\u17d0\u0007\u0100\u0002\u0002\u17cf", - "\u17ce\u0003\u0002\u0002\u0002\u17cf\u17d0\u0003\u0002\u0002\u0002\u17d0", - "\u17d1\u0003\u0002\u0002\u0002\u17d1\u17d6\u0005\u0380\u01c1\u0002\u17d2", - "\u17d3\u0007\u033e\u0002\u0002\u17d3\u17d5\u0005\u0380\u01c1\u0002\u17d4", - "\u17d2\u0003\u0002\u0002\u0002\u17d5\u17d8\u0003\u0002\u0002\u0002\u17d6", - "\u17d4\u0003\u0002\u0002\u0002\u17d6\u17d7\u0003\u0002\u0002\u0002\u17d7", - "\u17da\u0003\u0002\u0002\u0002\u17d8\u17d6\u0003\u0002\u0002\u0002\u17d9", - "\u17cd\u0003\u0002\u0002\u0002\u17d9\u17da\u0003\u0002\u0002\u0002\u17da", - "\u17e5\u0003\u0002\u0002\u0002\u17db\u17dc\u0007\u00bb\u0002\u0002\u17dc", - "\u17dd\u0007\u00e5\u0002\u0002\u17dd\u17e2\u0005\u0380\u01c1\u0002\u17de", - "\u17df\u0007\u033e\u0002\u0002\u17df\u17e1\u0005\u0380\u01c1\u0002\u17e0", - "\u17de\u0003\u0002\u0002\u0002\u17e1\u17e4\u0003\u0002\u0002\u0002\u17e2", - "\u17e0\u0003\u0002\u0002\u0002\u17e2\u17e3\u0003\u0002\u0002\u0002\u17e3", - "\u17e6\u0003\u0002\u0002\u0002\u17e4\u17e2\u0003\u0002\u0002\u0002\u17e5", - "\u17db\u0003\u0002\u0002\u0002\u17e5\u17e6\u0003\u0002\u0002\u0002\u17e6", - "\u17e9\u0003\u0002\u0002\u0002\u17e7\u17e8\u00077\u0002\u0002\u17e8", - "\u17ea\u0005\u03c6\u01e4\u0002\u17e9\u17e7\u0003\u0002\u0002\u0002\u17e9", - "\u17ea\u0003\u0002\u0002\u0002\u17ea\u17f4\u0003\u0002\u0002\u0002\u17eb", - "\u17ec\u0007\u0179\u0002\u0002\u17ec\u17f1\u0005\u037c\u01bf\u0002\u17ed", - "\u17ee\u0007\u033e\u0002\u0002\u17ee\u17f0\u0005\u037c\u01bf\u0002\u17ef", - "\u17ed\u0003\u0002\u0002\u0002\u17f0\u17f3\u0003\u0002\u0002\u0002\u17f1", - "\u17ef\u0003\u0002\u0002\u0002\u17f1\u17f2\u0003\u0002\u0002\u0002\u17f2", - "\u17f5\u0003\u0002\u0002\u0002\u17f3\u17f1\u0003\u0002\u0002\u0002\u17f4", - "\u17eb\u0003\u0002\u0002\u0002\u17f4\u17f5\u0003\u0002\u0002\u0002\u17f5", - "\u01cb\u0003\u0002\u0002\u0002\u17f6\u17f8\u0007I\u0002\u0002\u17f7", - "\u17f9\u0007\u0165\u0002\u0002\u17f8\u17f7\u0003\u0002\u0002\u0002\u17f8", - "\u17f9\u0003\u0002\u0002\u0002\u17f9\u17fb\u0003\u0002\u0002\u0002\u17fa", - "\u17fc\u0005\u03a4\u01d3\u0002\u17fb\u17fa\u0003\u0002\u0002\u0002\u17fb", - "\u17fc\u0003\u0002\u0002\u0002\u17fc\u17fd\u0003\u0002\u0002\u0002\u17fd", - "\u17fe\u0007\u009e\u0002\u0002\u17fe\u17ff\u0005\u03c6\u01e4\u0002\u17ff", - "\u1800\u0007\u00e5\u0002\u0002\u1800\u1801\u0005\u0338\u019d\u0002\u1801", - "\u1802\u0007\u033c\u0002\u0002\u1802\u1803\u0005\u039c\u01cf\u0002\u1803", - "\u1809\u0007\u033d\u0002\u0002\u1804\u1805\u0007\u009c\u0002\u0002\u1805", - "\u1806\u0007\u033c\u0002\u0002\u1806\u1807\u0005\u039e\u01d0\u0002\u1807", - "\u1808\u0007\u033d\u0002\u0002\u1808\u180a\u0003\u0002\u0002\u0002\u1809", - "\u1804\u0003\u0002\u0002\u0002\u1809\u180a\u0003\u0002\u0002\u0002\u180a", - "\u180d\u0003\u0002\u0002\u0002\u180b\u180c\u0007\u0176\u0002\u0002\u180c", - "\u180e\u0005\u02ee\u0178\u0002\u180d\u180b\u0003\u0002\u0002\u0002\u180d", - "\u180e\u0003\u0002\u0002\u0002\u180e\u1810\u0003\u0002\u0002\u0002\u180f", - "\u1811\u0005\u02c8\u0165\u0002\u1810\u180f\u0003\u0002\u0002\u0002\u1810", - "\u1811\u0003\u0002\u0002\u0002\u1811\u1814\u0003\u0002\u0002\u0002\u1812", - "\u1813\u0007\u00e5\u0002\u0002\u1813\u1815\u0005\u03c6\u01e4\u0002\u1814", - "\u1812\u0003\u0002\u0002\u0002\u1814\u1815\u0003\u0002\u0002\u0002\u1815", - "\u1817\u0003\u0002\u0002\u0002\u1816\u1818\u0007\u033f\u0002\u0002\u1817", - "\u1816\u0003\u0002\u0002\u0002\u1817\u1818\u0003\u0002\u0002\u0002\u1818", - "\u01cd\u0003\u0002\u0002\u0002\u1819\u181c\u0007I\u0002\u0002\u181a", - "\u181b\u0007\u00ed\u0002\u0002\u181b\u181d\u0007\n\u0002\u0002\u181c", - "\u181a\u0003\u0002\u0002\u0002\u181c\u181d\u0003\u0002\u0002\u0002\u181d", - "\u1820\u0003\u0002\u0002\u0002\u181e\u1820\u0007\n\u0002\u0002\u181f", - "\u1819\u0003\u0002\u0002\u0002\u181f\u181e\u0003\u0002\u0002\u0002\u1820", - "\u1821\u0003\u0002\u0002\u0002\u1821\u1822\t8\u0002\u0002\u1822\u1825", - "\u0005\u0392\u01ca\u0002\u1823\u1824\u0007\u033f\u0002\u0002\u1824\u1826", - "\u0007\u0322\u0002\u0002\u1825\u1823\u0003\u0002\u0002\u0002\u1825\u1826", - "\u0003\u0002\u0002\u0002\u1826\u1835\u0003\u0002\u0002\u0002\u1827\u1829", - "\u0007\u033c\u0002\u0002\u1828\u1827\u0003\u0002\u0002\u0002\u1828\u1829", - "\u0003\u0002\u0002\u0002\u1829\u182a\u0003\u0002\u0002\u0002\u182a\u182f", - "\u0005\u01e4\u00f3\u0002\u182b\u182c\u0007\u033e\u0002\u0002\u182c\u182e", - "\u0005\u01e4\u00f3\u0002\u182d\u182b\u0003\u0002\u0002\u0002\u182e\u1831", - "\u0003\u0002\u0002\u0002\u182f\u182d\u0003\u0002\u0002\u0002\u182f\u1830", - "\u0003\u0002\u0002\u0002\u1830\u1833\u0003\u0002\u0002\u0002\u1831\u182f", - "\u0003\u0002\u0002\u0002\u1832\u1834\u0007\u033d\u0002\u0002\u1833\u1832", - "\u0003\u0002\u0002\u0002\u1833\u1834\u0003\u0002\u0002\u0002\u1834\u1836", - "\u0003\u0002\u0002\u0002\u1835\u1828\u0003\u0002\u0002\u0002\u1835\u1836", - "\u0003\u0002\u0002\u0002\u1836\u1840\u0003\u0002\u0002\u0002\u1837\u1838", - "\u0007\u0179\u0002\u0002\u1838\u183d\u0005\u01e6\u00f4\u0002\u1839\u183a", - "\u0007\u033e\u0002\u0002\u183a\u183c\u0005\u01e6\u00f4\u0002\u183b\u1839", - "\u0003\u0002\u0002\u0002\u183c\u183f\u0003\u0002\u0002\u0002\u183d\u183b", - "\u0003\u0002\u0002\u0002\u183d\u183e\u0003\u0002\u0002\u0002\u183e\u1841", - "\u0003\u0002\u0002\u0002\u183f\u183d\u0003\u0002\u0002\u0002\u1840\u1837", - "\u0003\u0002\u0002\u0002\u1840\u1841\u0003\u0002\u0002\u0002\u1841\u1844", - "\u0003\u0002\u0002\u0002\u1842\u1843\u0007\u0085\u0002\u0002\u1843\u1845", - "\u0007\u0112\u0002\u0002\u1844\u1842\u0003\u0002\u0002\u0002\u1844\u1845", - "\u0003\u0002\u0002\u0002\u1845\u1846\u0003\u0002\u0002\u0002\u1846\u1847", - "\u0007\u0010\u0002\u0002\u1847\u1848\u0005\u0006\u0004\u0002\u1848\u01cf", - "\u0003\u0002\u0002\u0002\u1849\u184c\u0005\u01d2\u00ea\u0002\u184a\u184c", - "\u0005\u01d8\u00ed\u0002\u184b\u1849\u0003\u0002\u0002\u0002\u184b\u184a", - "\u0003\u0002\u0002\u0002\u184c\u01d1\u0003\u0002\u0002\u0002\u184d\u1850", - "\u0007I\u0002\u0002\u184e\u184f\u0007\u00ed\u0002\u0002\u184f\u1851", - "\u0007\n\u0002\u0002\u1850\u184e\u0003\u0002\u0002\u0002\u1850\u1851", - "\u0003\u0002\u0002\u0002\u1851\u1854\u0003\u0002\u0002\u0002\u1852\u1854", - "\u0007\n\u0002\u0002\u1853\u184d\u0003\u0002\u0002\u0002\u1853\u1852", - "\u0003\u0002\u0002\u0002\u1854\u1855\u0003\u0002\u0002\u0002\u1855\u1856", - "\u0007\u0160\u0002\u0002\u1856\u1857\u0005\u0390\u01c9\u0002\u1857\u1858", - "\u0007\u00e5\u0002\u0002\u1858\u1862\u0005\u038e\u01c8\u0002\u1859\u185a", - "\u0007\u0179\u0002\u0002\u185a\u185f\u0005\u01d4\u00eb\u0002\u185b\u185c", - "\u0007\u033e\u0002\u0002\u185c\u185e\u0005\u01d4\u00eb\u0002\u185d\u185b", - "\u0003\u0002\u0002\u0002\u185e\u1861\u0003\u0002\u0002\u0002\u185f\u185d", - "\u0003\u0002\u0002\u0002\u185f\u1860\u0003\u0002\u0002\u0002\u1860\u1863", - "\u0003\u0002\u0002\u0002\u1861\u185f\u0003\u0002\u0002\u0002\u1862\u1859", - "\u0003\u0002\u0002\u0002\u1862\u1863\u0003\u0002\u0002\u0002\u1863\u1868", - "\u0003\u0002\u0002\u0002\u1864\u1869\u0007\u0085\u0002\u0002\u1865\u1869", - "\u0007\u0188\u0002\u0002\u1866\u1867\u0007\u00a3\u0002\u0002\u1867\u1869", - "\u0007\u00e1\u0002\u0002\u1868\u1864\u0003\u0002\u0002\u0002\u1868\u1865", - "\u0003\u0002\u0002\u0002\u1868\u1866\u0003\u0002\u0002\u0002\u1869\u186a", - "\u0003\u0002\u0002\u0002\u186a\u186f\u0005\u01d6\u00ec\u0002\u186b\u186c", - "\u0007\u033e\u0002\u0002\u186c\u186e\u0005\u01d6\u00ec\u0002\u186d\u186b", - "\u0003\u0002\u0002\u0002\u186e\u1871\u0003\u0002\u0002\u0002\u186f\u186d", - "\u0003\u0002\u0002\u0002\u186f\u1870\u0003\u0002\u0002\u0002\u1870\u1874", - "\u0003\u0002\u0002\u0002\u1871\u186f\u0003\u0002\u0002\u0002\u1872\u1873", - "\u0007\u0179\u0002\u0002\u1873\u1875\u0007\u000e\u0002\u0002\u1874\u1872", - "\u0003\u0002\u0002\u0002\u1874\u1875\u0003\u0002\u0002\u0002\u1875\u1879", - "\u0003\u0002\u0002\u0002\u1876\u1877\u0007\u00dc\u0002\u0002\u1877\u1878", - "\u0007\u0085\u0002\u0002\u1878\u187a\u0007\u0112\u0002\u0002\u1879\u1876", - "\u0003\u0002\u0002\u0002\u1879\u187a\u0003\u0002\u0002\u0002\u187a\u187b", - "\u0003\u0002\u0002\u0002\u187b\u187c\u0007\u0010\u0002\u0002\u187c\u187d", - "\u0005\u0006\u0004\u0002\u187d\u01d3\u0003\u0002\u0002\u0002\u187e\u1881", - "\u0007\u01ec\u0002\u0002\u187f\u1881\u0005\u02ae\u0158\u0002\u1880\u187e", - "\u0003\u0002\u0002\u0002\u1880\u187f\u0003\u0002\u0002\u0002\u1881\u01d5", - "\u0003\u0002\u0002\u0002\u1882\u1883\t9\u0002\u0002\u1883\u01d7\u0003", - "\u0002\u0002\u0002\u1884\u1887\u0007I\u0002\u0002\u1885\u1886\u0007", - "\u00ed\u0002\u0002\u1886\u1888\u0007\n\u0002\u0002\u1887\u1885\u0003", - "\u0002\u0002\u0002\u1887\u1888\u0003\u0002\u0002\u0002\u1888\u188b\u0003", - "\u0002\u0002\u0002\u1889\u188b\u0007\n\u0002\u0002\u188a\u1884\u0003", - "\u0002\u0002\u0002\u188a\u1889\u0003\u0002\u0002\u0002\u188b\u188c\u0003", - "\u0002\u0002\u0002\u188c\u188d\u0007\u0160\u0002\u0002\u188d\u188e\u0005", - "\u03c8\u01e5\u0002\u188e\u1892\u0007\u00e5\u0002\u0002\u188f\u1890\u0007", - "\u0006\u0002\u0002\u1890\u1893\u0007\u0135\u0002\u0002\u1891\u1893\u0007", - "T\u0002\u0002\u1892\u188f\u0003\u0002\u0002\u0002\u1892\u1891\u0003", - "\u0002\u0002\u0002\u1893\u189d\u0003\u0002\u0002\u0002\u1894\u1895\u0007", - "\u0179\u0002\u0002\u1895\u189a\u0005\u01d4\u00eb\u0002\u1896\u1897\u0007", - "\u033e\u0002\u0002\u1897\u1899\u0005\u01d4\u00eb\u0002\u1898\u1896\u0003", - "\u0002\u0002\u0002\u1899\u189c\u0003\u0002\u0002\u0002\u189a\u1898\u0003", - "\u0002\u0002\u0002\u189a\u189b\u0003\u0002\u0002\u0002\u189b\u189e\u0003", - "\u0002\u0002\u0002\u189c\u189a\u0003\u0002\u0002\u0002\u189d\u1894\u0003", - "\u0002\u0002\u0002\u189d\u189e\u0003\u0002\u0002\u0002\u189e\u189f\u0003", - "\u0002\u0002\u0002\u189f\u18a0\t:\u0002\u0002\u18a0\u18a5\u0005\u01da", - "\u00ee\u0002\u18a1\u18a2\u0007\u033e\u0002\u0002\u18a2\u18a4\u0005\u01d6", - "\u00ec\u0002\u18a3\u18a1\u0003\u0002\u0002\u0002\u18a4\u18a7\u0003\u0002", - "\u0002\u0002\u18a5\u18a3\u0003\u0002\u0002\u0002\u18a5\u18a6\u0003\u0002", - "\u0002\u0002\u18a6\u18a8\u0003\u0002\u0002\u0002\u18a7\u18a5\u0003\u0002", - "\u0002\u0002\u18a8\u18a9\u0007\u0010\u0002\u0002\u18a9\u18aa\u0005\u0006", - "\u0004\u0002\u18aa\u01d9\u0003\u0002\u0002\u0002\u18ab\u18ac\u0005\u03c8", - "\u01e5\u0002\u18ac\u01db\u0003\u0002\u0002\u0002\u18ad\u18b0\u0007I", - "\u0002\u0002\u18ae\u18af\u0007\u00ed\u0002\u0002\u18af\u18b1\u0007\n", - "\u0002\u0002\u18b0\u18ae\u0003\u0002\u0002\u0002\u18b0\u18b1\u0003\u0002", - "\u0002\u0002\u18b1\u18b4\u0003\u0002\u0002\u0002\u18b2\u18b4\u0007\n", - "\u0002\u0002\u18b3\u18ad\u0003\u0002\u0002\u0002\u18b3\u18b2\u0003\u0002", - "\u0002\u0002\u18b4\u18b5\u0003\u0002\u0002\u0002\u18b5\u18b6\u0007\u008d", - "\u0002\u0002\u18b6\u18c4\u0005\u0392\u01ca\u0002\u18b7\u18b8\u0007\u033c", - "\u0002\u0002\u18b8\u18bd\u0005\u01e4\u00f3\u0002\u18b9\u18ba\u0007\u033e", - "\u0002\u0002\u18ba\u18bc\u0005\u01e4\u00f3\u0002\u18bb\u18b9\u0003\u0002", - "\u0002\u0002\u18bc\u18bf\u0003\u0002\u0002\u0002\u18bd\u18bb\u0003\u0002", - "\u0002\u0002\u18bd\u18be\u0003\u0002\u0002\u0002\u18be\u18c0\u0003\u0002", - "\u0002\u0002\u18bf\u18bd\u0003\u0002\u0002\u0002\u18c0\u18c1\u0007\u033d", - "\u0002\u0002\u18c1\u18c5\u0003\u0002\u0002\u0002\u18c2\u18c3\u0007\u033c", - "\u0002\u0002\u18c3\u18c5\u0007\u033d\u0002\u0002\u18c4\u18b7\u0003\u0002", - "\u0002\u0002\u18c4\u18c2\u0003\u0002\u0002\u0002\u18c5\u18c9\u0003\u0002", - "\u0002\u0002\u18c6\u18ca\u0005\u01de\u00f0\u0002\u18c7\u18ca\u0005\u01e0", - "\u00f1\u0002\u18c8\u18ca\u0005\u01e2\u00f2\u0002\u18c9\u18c6\u0003\u0002", - "\u0002\u0002\u18c9\u18c7\u0003\u0002\u0002\u0002\u18c9\u18c8\u0003\u0002", - "\u0002\u0002\u18ca\u18cc\u0003\u0002\u0002\u0002\u18cb\u18cd\u0007\u033f", - "\u0002\u0002\u18cc\u18cb\u0003\u0002\u0002\u0002\u18cc\u18cd\u0003\u0002", - "\u0002\u0002\u18cd\u01dd\u0003\u0002\u0002\u0002\u18ce\u18cf\u0007\u011b", - "\u0002\u0002\u18cf\u18d9\u0007\u0153\u0002\u0002\u18d0\u18d1\u0007\u0179", - "\u0002\u0002\u18d1\u18d6\u0005\u01e8\u00f5\u0002\u18d2\u18d3\u0007\u033e", - "\u0002\u0002\u18d3\u18d5\u0005\u01e8\u00f5\u0002\u18d4\u18d2\u0003\u0002", - "\u0002\u0002\u18d5\u18d8\u0003\u0002\u0002\u0002\u18d6\u18d4\u0003\u0002", - "\u0002\u0002\u18d6\u18d7\u0003\u0002\u0002\u0002\u18d7\u18da\u0003\u0002", - "\u0002\u0002\u18d8\u18d6\u0003\u0002\u0002\u0002\u18d9\u18d0\u0003\u0002", - "\u0002\u0002\u18d9\u18da\u0003\u0002\u0002\u0002\u18da\u18dc\u0003\u0002", - "\u0002\u0002\u18db\u18dd\u0007\u0010\u0002\u0002\u18dc\u18db\u0003\u0002", - "\u0002\u0002\u18dc\u18dd\u0003\u0002\u0002\u0002\u18dd\u18de\u0003\u0002", - "\u0002\u0002\u18de\u18e4\u0007\u011a\u0002\u0002\u18df\u18e0\u0007\u033c", - "\u0002\u0002\u18e0\u18e1\u0005\u01be\u00e0\u0002\u18e1\u18e2\u0007\u033d", - "\u0002\u0002\u18e2\u18e5\u0003\u0002\u0002\u0002\u18e3\u18e5\u0005\u01be", - "\u00e0\u0002\u18e4\u18df\u0003\u0002\u0002\u0002\u18e4\u18e3\u0003\u0002", - "\u0002\u0002\u18e5\u01df\u0003\u0002\u0002\u0002\u18e6\u18e7\u0007\u011b", - "\u0002\u0002\u18e7\u18e8\u0007\u0321\u0002\u0002\u18e8\u18f2\u0005\u02b2", - "\u015a\u0002\u18e9\u18ea\u0007\u0179\u0002\u0002\u18ea\u18ef\u0005\u01e8", - "\u00f5\u0002\u18eb\u18ec\u0007\u033e\u0002\u0002\u18ec\u18ee\u0005\u01e8", - "\u00f5\u0002\u18ed\u18eb\u0003\u0002\u0002\u0002\u18ee\u18f1\u0003\u0002", - "\u0002\u0002\u18ef\u18ed\u0003\u0002\u0002\u0002\u18ef\u18f0\u0003\u0002", - "\u0002\u0002\u18f0\u18f3\u0003\u0002\u0002\u0002\u18f1\u18ef\u0003\u0002", - "\u0002\u0002\u18f2\u18e9\u0003\u0002\u0002\u0002\u18f2\u18f3\u0003\u0002", - "\u0002\u0002\u18f3\u18f5\u0003\u0002\u0002\u0002\u18f4\u18f6\u0007\u0010", - "\u0002\u0002\u18f5\u18f4\u0003\u0002\u0002\u0002\u18f5\u18f6\u0003\u0002", - "\u0002\u0002\u18f6\u18f7\u0003\u0002\u0002\u0002\u18f7\u18fb\u0007\u001c", - "\u0002\u0002\u18f8\u18fa\u0005\b\u0005\u0002\u18f9\u18f8\u0003\u0002", - "\u0002\u0002\u18fa\u18fd\u0003\u0002\u0002\u0002\u18fb\u18f9\u0003\u0002", - "\u0002\u0002\u18fb\u18fc\u0003\u0002\u0002\u0002\u18fc\u18fe\u0003\u0002", - "\u0002\u0002\u18fd\u18fb\u0003\u0002\u0002\u0002\u18fe\u1900\u0007\u011a", - "\u0002\u0002\u18ff\u1901\u0007\u033f\u0002\u0002\u1900\u18ff\u0003\u0002", - "\u0002\u0002\u1900\u1901\u0003\u0002\u0002\u0002\u1901\u1902\u0003\u0002", - "\u0002\u0002\u1902\u1904\u0007l\u0002\u0002\u1903\u1905\u0007\u033f", - "\u0002\u0002\u1904\u1903\u0003\u0002\u0002\u0002\u1904\u1905\u0003\u0002", - "\u0002\u0002\u1905\u01e1\u0003\u0002\u0002\u0002\u1906\u1907\u0007\u011b", - "\u0002\u0002\u1907\u1911\u0005\u03be\u01e0\u0002\u1908\u1909\u0007\u0179", - "\u0002\u0002\u1909\u190e\u0005\u01e8\u00f5\u0002\u190a\u190b\u0007\u033e", - "\u0002\u0002\u190b\u190d\u0005\u01e8\u00f5\u0002\u190c\u190a\u0003\u0002", - "\u0002\u0002\u190d\u1910\u0003\u0002\u0002\u0002\u190e\u190c\u0003\u0002", - "\u0002\u0002\u190e\u190f\u0003\u0002\u0002\u0002\u190f\u1912\u0003\u0002", - "\u0002\u0002\u1910\u190e\u0003\u0002\u0002\u0002\u1911\u1908\u0003\u0002", - "\u0002\u0002\u1911\u1912\u0003\u0002\u0002\u0002\u1912\u1914\u0003\u0002", - "\u0002\u0002\u1913\u1915\u0007\u0010\u0002\u0002\u1914\u1913\u0003\u0002", - "\u0002\u0002\u1914\u1915\u0003\u0002\u0002\u0002\u1915\u1916\u0003\u0002", - "\u0002\u0002\u1916\u191a\u0007\u001c\u0002\u0002\u1917\u1919\u0005\b", - "\u0005\u0002\u1918\u1917\u0003\u0002\u0002\u0002\u1919\u191c\u0003\u0002", - "\u0002\u0002\u191a\u1918\u0003\u0002\u0002\u0002\u191a\u191b\u0003\u0002", - "\u0002\u0002\u191b\u191d\u0003\u0002\u0002\u0002\u191c\u191a\u0003\u0002", - "\u0002\u0002\u191d\u191e\u0007\u011a\u0002\u0002\u191e\u1920\u0005\u02d8", - "\u016d\u0002\u191f\u1921\u0007\u033f\u0002\u0002\u1920\u191f\u0003\u0002", - "\u0002\u0002\u1920\u1921\u0003\u0002\u0002\u0002\u1921\u1922\u0003\u0002", - "\u0002\u0002\u1922\u1923\u0007l\u0002\u0002\u1923\u01e3\u0003\u0002", - "\u0002\u0002\u1924\u1928\u0007\u0321\u0002\u0002\u1925\u1926\u0005\u03c6", - "\u01e4\u0002\u1926\u1927\u0007\u0337\u0002\u0002\u1927\u1929\u0003\u0002", - "\u0002\u0002\u1928\u1925\u0003\u0002\u0002\u0002\u1928\u1929\u0003\u0002", - "\u0002\u0002\u1929\u192b\u0003\u0002\u0002\u0002\u192a\u192c\u0007\u0010", - "\u0002\u0002\u192b\u192a\u0003\u0002\u0002\u0002\u192b\u192c\u0003\u0002", - "\u0002\u0002\u192c\u192d\u0003\u0002\u0002\u0002\u192d\u192f\u0005\u03be", - "\u01e0\u0002\u192e\u1930\u0007\u0170\u0002\u0002\u192f\u192e\u0003\u0002", - "\u0002\u0002\u192f\u1930\u0003\u0002\u0002\u0002\u1930\u1933\u0003\u0002", - "\u0002\u0002\u1931\u1932\u0007\u032a\u0002\u0002\u1932\u1934\u0005\u03c0", - "\u01e1\u0002\u1933\u1931\u0003\u0002\u0002\u0002\u1933\u1934\u0003\u0002", - "\u0002\u0002\u1934\u1936\u0003\u0002\u0002\u0002\u1935\u1937\t;\u0002", - "\u0002\u1936\u1935\u0003\u0002\u0002\u0002\u1936\u1937\u0003\u0002\u0002", - "\u0002\u1937\u01e5\u0003\u0002\u0002\u0002\u1938\u193c\u0007\u01ec\u0002", - "\u0002\u1939\u193c\u0007\u02a3\u0002\u0002\u193a\u193c\u0005\u02ae\u0158", - "\u0002\u193b\u1938\u0003\u0002\u0002\u0002\u193b\u1939\u0003\u0002\u0002", - "\u0002\u193b\u193a\u0003\u0002\u0002\u0002\u193c\u01e7\u0003\u0002\u0002", - "\u0002\u193d\u194a\u0007\u01ec\u0002\u0002\u193e\u194a\u0007\u02be\u0002", - "\u0002\u193f\u1940\u0007\u011b\u0002\u0002\u1940\u1941\u0007\u00df\u0002", - "\u0002\u1941\u1942\u0007\u00e5\u0002\u0002\u1942\u1943\u0007\u00df\u0002", - "\u0002\u1943\u194a\u0007\u0220\u0002\u0002\u1944\u1945\u0007(\u0002", - "\u0002\u1945\u1946\u0007\u00e5\u0002\u0002\u1946\u1947\u0007\u00df\u0002", - "\u0002\u1947\u194a\u0007\u0220\u0002\u0002\u1948\u194a\u0005\u02ae\u0158", - "\u0002\u1949\u193d\u0003\u0002\u0002\u0002\u1949\u193e\u0003\u0002\u0002", - "\u0002\u1949\u193f\u0003\u0002\u0002\u0002\u1949\u1944\u0003\u0002\u0002", - "\u0002\u1949\u1948\u0003\u0002\u0002\u0002\u194a\u01e9\u0003\u0002\u0002", - "\u0002\u194b\u194c\u0007I\u0002\u0002\u194c\u194d\u0007\u0148\u0002", - "\u0002\u194d\u194e\u0005\u03c6\u01e4\u0002\u194e\u194f\u0007\u00e5\u0002", - "\u0002\u194f\u1950\u0005\u0338\u019d\u0002\u1950\u1951\u0007\u033c\u0002", - "\u0002\u1951\u1952\u0005\u039e\u01d0\u0002\u1952\u1965\u0007\u033d\u0002", - "\u0002\u1953\u1959\u0007\u0179\u0002\u0002\u1954\u195a\u0007\u0208\u0002", - "\u0002\u1955\u1956\u0007\u02bd\u0002\u0002\u1956\u1957\u0007\u0322\u0002", - "\u0002\u1957\u195a\t<\u0002\u0002\u1958\u195a\u0007\u02df\u0002\u0002", - "\u1959\u1954\u0003\u0002\u0002\u0002\u1959\u1955\u0003\u0002\u0002\u0002", - "\u1959\u1958\u0003\u0002\u0002\u0002\u195a\u195d\u0003\u0002\u0002\u0002", - "\u195b\u195c\u0007\u033e\u0002\u0002\u195c\u195e\u0007\u026a\u0002\u0002", - "\u195d\u195b\u0003\u0002\u0002\u0002\u195d\u195e\u0003\u0002\u0002\u0002", - "\u195e\u1963\u0003\u0002\u0002\u0002\u195f\u1960\u0007\u033e\u0002\u0002", - "\u1960\u1961\u0007\u021e\u0002\u0002\u1961\u1962\u0007\u032a\u0002\u0002", - "\u1962\u1964\u0005\u03a2\u01d2\u0002\u1963\u195f\u0003\u0002\u0002\u0002", - "\u1963\u1964\u0003\u0002\u0002\u0002\u1964\u1966\u0003\u0002\u0002\u0002", - "\u1965\u1953\u0003\u0002\u0002\u0002\u1965\u1966\u0003\u0002\u0002\u0002", - "\u1966\u1968\u0003\u0002\u0002\u0002\u1967\u1969\u0007\u033f\u0002\u0002", - "\u1968\u1967\u0003\u0002\u0002\u0002\u1968\u1969\u0003\u0002\u0002\u0002", - "\u1969\u01eb\u0003\u0002\u0002\u0002\u196a\u196c\u0007\u0169\u0002\u0002", - "\u196b\u196d\t=\u0002\u0002\u196c\u196b\u0003\u0002\u0002\u0002\u196c", - "\u196d\u0003\u0002\u0002\u0002\u196d\u196e\u0003\u0002\u0002\u0002\u196e", - "\u196f\u0007\u0148\u0002\u0002\u196f\u1971\u0005\u038c\u01c7\u0002\u1970", - "\u1972\u0005\u03c6\u01e4\u0002\u1971\u1970\u0003\u0002\u0002\u0002\u1971", - "\u1972\u0003\u0002\u0002\u0002\u1972\u1976\u0003\u0002\u0002\u0002\u1973", - "\u1974\u0007\u0308\u0002\u0002\u1974\u1975\u0007\u0322\u0002\u0002\u1975", - "\u1977\u0007\u016f\u0002\u0002\u1976\u1973\u0003\u0002\u0002\u0002\u1976", - "\u1977\u0003\u0002\u0002\u0002\u1977\u01ed\u0003\u0002\u0002\u0002\u1978", - "\u1979\u0007I\u0002\u0002\u1979\u197a\u0007\u0153\u0002\u0002\u197a", - "\u197b\u0005\u038e\u01c8\u0002\u197b\u197c\u0007\u033c\u0002\u0002\u197c", - "\u197e\u0005\u02b8\u015d\u0002\u197d\u197f\u0007\u033e\u0002\u0002\u197e", - "\u197d\u0003\u0002\u0002\u0002\u197e\u197f\u0003\u0002\u0002\u0002\u197f", - "\u1980\u0003\u0002\u0002\u0002\u1980\u1983\u0007\u033d\u0002\u0002\u1981", - "\u1982\u0007\u0239\u0002\u0002\u1982\u1984\u0005\u03c8\u01e5\u0002\u1983", - "\u1981\u0003\u0002\u0002\u0002\u1983\u1984\u0003\u0002\u0002\u0002\u1984", - "\u1988\u0003\u0002\u0002\u0002\u1985\u1987\u0005\u01f0\u00f9\u0002\u1986", - "\u1985\u0003\u0002\u0002\u0002\u1987\u198a\u0003\u0002\u0002\u0002\u1988", - "\u1986\u0003\u0002\u0002\u0002\u1988\u1989\u0003\u0002\u0002\u0002\u1989", - "\u198e\u0003\u0002\u0002\u0002\u198a\u1988\u0003\u0002\u0002\u0002\u198b", - "\u198c\u0007\u00e5\u0002\u0002\u198c\u198f\u0005\u03c6\u01e4\u0002\u198d", - "\u198f\u0007Y\u0002\u0002\u198e\u198b\u0003\u0002\u0002\u0002\u198e", - "\u198d\u0003\u0002\u0002\u0002\u198e\u198f\u0003\u0002\u0002\u0002\u198f", - "\u1993\u0003\u0002\u0002\u0002\u1990\u1991\u0007\u02f2\u0002\u0002\u1991", - "\u1994\u0005\u03c6\u01e4\u0002\u1992\u1994\u0007Y\u0002\u0002\u1993", - "\u1990\u0003\u0002\u0002\u0002\u1993\u1992\u0003\u0002\u0002\u0002\u1993", - "\u1994\u0003\u0002\u0002\u0002\u1994\u1996\u0003\u0002\u0002\u0002\u1995", - "\u1997\u0007\u033f\u0002\u0002\u1996\u1995\u0003\u0002\u0002\u0002\u1996", - "\u1997\u0003\u0002\u0002\u0002\u1997\u01ef\u0003\u0002\u0002\u0002\u1998", - "\u19ac\u0007\u0179\u0002\u0002\u1999\u199a\u0007\u033c\u0002\u0002\u199a", - "\u199f\u0005\u02ca\u0166\u0002\u199b\u199c\u0007\u033e\u0002\u0002\u199c", - "\u199e\u0005\u02ca\u0166\u0002\u199d\u199b\u0003\u0002\u0002\u0002\u199e", - "\u19a1\u0003\u0002\u0002\u0002\u199f\u199d\u0003\u0002\u0002\u0002\u199f", - "\u19a0\u0003\u0002\u0002\u0002\u19a0\u19a2\u0003\u0002\u0002\u0002\u19a1", - "\u199f\u0003\u0002\u0002\u0002\u19a2\u19a3\u0007\u033d\u0002\u0002\u19a3", - "\u19ad\u0003\u0002\u0002\u0002\u19a4\u19a9\u0005\u02ca\u0166\u0002\u19a5", - "\u19a6\u0007\u033e\u0002\u0002\u19a6\u19a8\u0005\u02ca\u0166\u0002\u19a7", - "\u19a5\u0003\u0002\u0002\u0002\u19a8\u19ab\u0003\u0002\u0002\u0002\u19a9", - "\u19a7\u0003\u0002\u0002\u0002\u19a9\u19aa\u0003\u0002\u0002\u0002\u19aa", - "\u19ad\u0003\u0002\u0002\u0002\u19ab\u19a9\u0003\u0002\u0002\u0002\u19ac", - "\u1999\u0003\u0002\u0002\u0002\u19ac\u19a4\u0003\u0002\u0002\u0002\u19ad", - "\u01f1\u0003\u0002\u0002\u0002\u19ae\u19af\u0007I\u0002\u0002\u19af", - "\u19b0\u0007\u0172\u0002\u0002\u19b0\u19b5\u0005\u0390\u01c9\u0002\u19b1", - "\u19b2\u0007\u033c\u0002\u0002\u19b2\u19b3\u0005\u039e\u01d0\u0002\u19b3", - "\u19b4\u0007\u033d\u0002\u0002\u19b4\u19b6\u0003\u0002\u0002\u0002\u19b5", - "\u19b1\u0003\u0002\u0002\u0002\u19b5\u19b6\u0003\u0002\u0002\u0002\u19b6", - "\u19c0\u0003\u0002\u0002\u0002\u19b7\u19b8\u0007\u0179\u0002\u0002\u19b8", - "\u19bd\u0005\u01f4\u00fb\u0002\u19b9\u19ba\u0007\u033e\u0002\u0002\u19ba", - "\u19bc\u0005\u01f4\u00fb\u0002\u19bb\u19b9\u0003\u0002\u0002\u0002\u19bc", - "\u19bf\u0003\u0002\u0002\u0002\u19bd\u19bb\u0003\u0002\u0002\u0002\u19bd", - "\u19be\u0003\u0002\u0002\u0002\u19be\u19c1\u0003\u0002\u0002\u0002\u19bf", - "\u19bd\u0003\u0002\u0002\u0002\u19c0\u19b7\u0003\u0002\u0002\u0002\u19c0", - "\u19c1\u0003\u0002\u0002\u0002\u19c1\u19c2\u0003\u0002\u0002\u0002\u19c2", - "\u19c3\u0007\u0010\u0002\u0002\u19c3\u19c7\u0005\u01be\u00e0\u0002\u19c4", - "\u19c5\u0007\u0179\u0002\u0002\u19c5\u19c6\u0007.\u0002\u0002\u19c6", - "\u19c8\u0007\u00ec\u0002\u0002\u19c7\u19c4\u0003\u0002\u0002\u0002\u19c7", - "\u19c8\u0003\u0002\u0002\u0002\u19c8\u19ca\u0003\u0002\u0002\u0002\u19c9", - "\u19cb\u0007\u033f\u0002\u0002\u19ca\u19c9\u0003\u0002\u0002\u0002\u19ca", - "\u19cb\u0003\u0002\u0002\u0002\u19cb\u01f3\u0003\u0002\u0002\u0002\u19cc", - "\u19cd\t>\u0002\u0002\u19cd\u01f5\u0003\u0002\u0002\u0002\u19ce\u19cf", - "\u0007\n\u0002\u0002\u19cf\u19d0\u0007\u0153\u0002\u0002\u19d0\u19fc", - "\u0005\u038e\u01c8\u0002\u19d1\u19d2\u0007\u013b\u0002\u0002\u19d2\u19d3", - "\u0007\u033c\u0002\u0002\u19d3\u19d4\u0007\u023a\u0002\u0002\u19d4\u19d5", - "\u0007\u032a\u0002\u0002\u19d5\u19d6\t?\u0002\u0002\u19d6\u19fd\u0007", - "\u033d\u0002\u0002\u19d7\u19d8\u0007\u0004\u0002\u0002\u19d8\u19fd\u0005", - "\u02ba\u015e\u0002\u19d9\u19da\u0007\n\u0002\u0002\u19da\u19db\u0007", - "8\u0002\u0002\u19db\u19fd\u0005\u02bc\u015f\u0002\u19dc\u19dd\u0007", - "g\u0002\u0002\u19dd\u19de\u00078\u0002\u0002\u19de\u19fd\u0005\u03c6", - "\u01e4\u0002\u19df\u19e0\u0007g\u0002\u0002\u19e0\u19e1\u0007=\u0002", - "\u0002\u19e1\u19fd\u0005\u03c6\u01e4\u0002\u19e2\u19e3\u0007\u0179\u0002", - "\u0002\u19e3\u19e4\u0007.\u0002\u0002\u19e4\u19e5\u0007\u0004\u0002", - "\u0002\u19e5\u19e6\u0007=\u0002\u0002\u19e6\u19e7\u0005\u03c6\u01e4", - "\u0002\u19e7\u19e8\u0007\u0088\u0002\u0002\u19e8\u19e9\u0007\u00ac\u0002", - "\u0002\u19e9\u19ea\u0007\u033c\u0002\u0002\u19ea\u19eb\u0005\u039e\u01d0", - "\u0002\u19eb\u19ec\u0007\u033d\u0002\u0002\u19ec\u19ed\u0007\u010e\u0002", - "\u0002\u19ed\u19ee\u0005\u038e\u01c8\u0002\u19ee\u19ef\u0007\u033c\u0002", - "\u0002\u19ef\u19f0\u0005\u039e\u01d0\u0002\u19f0\u19f1\u0007\u033d\u0002", - "\u0002\u19f1\u19fd\u0003\u0002\u0002\u0002\u19f2\u19f3\u0007.\u0002", - "\u0002\u19f3\u19f4\u0007=\u0002\u0002\u19f4\u19fd\u0005\u03c6\u01e4", - "\u0002\u19f5\u19f6\t\u0017\u0002\u0002\u19f6\u19f8\u0007\u0160\u0002", - "\u0002\u19f7\u19f9\u0005\u03c6\u01e4\u0002\u19f8\u19f7\u0003\u0002\u0002", - "\u0002\u19f8\u19f9\u0003\u0002\u0002\u0002\u19f9\u19fd\u0003\u0002\u0002", - "\u0002\u19fa\u19fb\u0007\u02a1\u0002\u0002\u19fb\u19fd\u0005\u01f0\u00f9", - "\u0002\u19fc\u19d1\u0003\u0002\u0002\u0002\u19fc\u19d7\u0003\u0002\u0002", - "\u0002\u19fc\u19d9\u0003\u0002\u0002\u0002\u19fc\u19dc\u0003\u0002\u0002", - "\u0002\u19fc\u19df\u0003\u0002\u0002\u0002\u19fc\u19e2\u0003\u0002\u0002", - "\u0002\u19fc\u19f2\u0003\u0002\u0002\u0002\u19fc\u19f5\u0003\u0002\u0002", - "\u0002\u19fc\u19fa\u0003\u0002\u0002\u0002\u19fd\u19ff\u0003\u0002\u0002", - "\u0002\u19fe\u1a00\u0007\u033f\u0002\u0002\u19ff\u19fe\u0003\u0002\u0002", - "\u0002\u19ff\u1a00\u0003\u0002\u0002\u0002\u1a00\u01f7\u0003\u0002\u0002", - "\u0002\u1a01\u1a02\u0007\n\u0002\u0002\u1a02\u1a05\u0007T\u0002\u0002", - "\u1a03\u1a06\u0005\u03c6\u01e4\u0002\u1a04\u1a06\u0007K\u0002\u0002", - "\u1a05\u1a03\u0003\u0002\u0002\u0002\u1a05\u1a04\u0003\u0002\u0002\u0002", - "\u1a06\u1a13\u0003\u0002\u0002\u0002\u1a07\u1a08\u0007\u025a\u0002\u0002", - "\u1a08\u1a09\u0007\u025d\u0002\u0002\u1a09\u1a0a\u0007\u032a\u0002\u0002", - "\u1a0a\u1a14\u0005\u03c6\u01e4\u0002\u1a0b\u1a0c\u00077\u0002\u0002", - "\u1a0c\u1a14\u0005\u03c6\u01e4\u0002\u1a0d\u1a0e\u0007\u013b\u0002\u0002", - "\u1a0e\u1a11\u0005\u01fa\u00fe\u0002\u1a0f\u1a10\u0007\u0179\u0002\u0002", - "\u1a10\u1a12\u0005\u0240\u0121\u0002\u1a11\u1a0f\u0003\u0002\u0002\u0002", - "\u1a11\u1a12\u0003\u0002\u0002\u0002\u1a12\u1a14\u0003\u0002\u0002\u0002", - "\u1a13\u1a07\u0003\u0002\u0002\u0002\u1a13\u1a0b\u0003\u0002\u0002\u0002", - "\u1a13\u1a0d\u0003\u0002\u0002\u0002\u1a14\u1a16\u0003\u0002\u0002\u0002", - "\u1a15\u1a17\u0007\u033f\u0002\u0002\u1a16\u1a15\u0003\u0002\u0002\u0002", - "\u1a16\u1a17\u0003\u0002\u0002\u0002\u1a17\u01f9\u0003\u0002\u0002\u0002", - "\u1a18\u1a30\u0005\u01fc\u00ff\u0002\u1a19\u1a30\u0005\u01fe\u0100\u0002", - "\u1a1a\u1a30\u0005\u0202\u0102\u0002\u1a1b\u1a30\u0005\u0204\u0103\u0002", - "\u1a1c\u1a30\u0005\u0208\u0105\u0002\u1a1d\u1a30\u0005\u0222\u0112\u0002", - "\u1a1e\u1a30\u0005\u0224\u0113\u0002\u1a1f\u1a30\u0005\u0226\u0114\u0002", - "\u1a20\u1a30\u0005\u0228\u0115\u0002\u1a21\u1a30\u0005\u022a\u0116\u0002", - "\u1a22\u1a30\u0005\u022c\u0117\u0002\u1a23\u1a30\u0005\u022e\u0118\u0002", - "\u1a24\u1a25\u0007\u01fe\u0002\u0002\u1a25\u1a30\u0005\u037e\u01c0\u0002", - "\u1a26\u1a30\u0005\u0230\u0119\u0002\u1a27\u1a30\u0005\u0232\u011a\u0002", - "\u1a28\u1a30\u0005\u0234\u011b\u0002\u1a29\u1a30\u0005\u0236\u011c\u0002", - "\u1a2a\u1a30\u0005\u0238\u011d\u0002\u1a2b\u1a30\u0005\u023a\u011e\u0002", - "\u1a2c\u1a30\u0005\u023c\u011f\u0002\u1a2d\u1a30\u0005\u023e\u0120\u0002", - "\u1a2e\u1a30\u0005\u0240\u0121\u0002\u1a2f\u1a18\u0003\u0002\u0002\u0002", - "\u1a2f\u1a19\u0003\u0002\u0002\u0002\u1a2f\u1a1a\u0003\u0002\u0002\u0002", - "\u1a2f\u1a1b\u0003\u0002\u0002\u0002\u1a2f\u1a1c\u0003\u0002\u0002\u0002", - "\u1a2f\u1a1d\u0003\u0002\u0002\u0002\u1a2f\u1a1e\u0003\u0002\u0002\u0002", - "\u1a2f\u1a1f\u0003\u0002\u0002\u0002\u1a2f\u1a20\u0003\u0002\u0002\u0002", - "\u1a2f\u1a21\u0003\u0002\u0002\u0002\u1a2f\u1a22\u0003\u0002\u0002\u0002", - "\u1a2f\u1a23\u0003\u0002\u0002\u0002\u1a2f\u1a24\u0003\u0002\u0002\u0002", - "\u1a2f\u1a26\u0003\u0002\u0002\u0002\u1a2f\u1a27\u0003\u0002\u0002\u0002", - "\u1a2f\u1a28\u0003\u0002\u0002\u0002\u1a2f\u1a29\u0003\u0002\u0002\u0002", - "\u1a2f\u1a2a\u0003\u0002\u0002\u0002\u1a2f\u1a2b\u0003\u0002\u0002\u0002", - "\u1a2f\u1a2c\u0003\u0002\u0002\u0002\u1a2f\u1a2d\u0003\u0002\u0002\u0002", - "\u1a2f\u1a2e\u0003\u0002\u0002\u0002\u1a30\u01fb\u0003\u0002\u0002\u0002", - "\u1a31\u1a32\u0007\u019a\u0002\u0002\u1a32\u1a43\u0005\u03a2\u01d2\u0002", - "\u1a33\u1a34\u0007\u019b\u0002\u0002\u1a34\u1a43\u0007\u00e2\u0002\u0002", - "\u1a35\u1a3a\u0007\u00e5\u0002\u0002\u1a36\u1a37\u0007\u021e\u0002\u0002", - "\u1a37\u1a38\u0007\u032a\u0002\u0002\u1a38\u1a3b\u0007\u00e5\u0002\u0002", - "\u1a39\u1a3b\u0007\u00e2\u0002\u0002\u1a3a\u1a36\u0003\u0002\u0002\u0002", - "\u1a3a\u1a39\u0003\u0002\u0002\u0002\u1a3b\u1a43\u0003\u0002\u0002\u0002", - "\u1a3c\u1a3d\u0007\u019c\u0002\u0002\u1a3d\u1a43\u0005\u03a2\u01d2\u0002", - "\u1a3e\u1a3f\u0007\u019d\u0002\u0002\u1a3f\u1a43\u0005\u03a2\u01d2\u0002", - "\u1a40\u1a41\u0007\u019e\u0002\u0002\u1a41\u1a43\t\t\u0002\u0002\u1a42", - "\u1a31\u0003\u0002\u0002\u0002\u1a42\u1a33\u0003\u0002\u0002\u0002\u1a42", - "\u1a35\u0003\u0002\u0002\u0002\u1a42\u1a3c\u0003\u0002\u0002\u0002\u1a42", - "\u1a3e\u0003\u0002\u0002\u0002\u1a42\u1a40\u0003\u0002\u0002\u0002\u1a43", - "\u01fd\u0003\u0002\u0002\u0002\u1a44\u1a45\u0007\u01b1\u0002\u0002\u1a45", - "\u1a55\u0007\u032a\u0002\u0002\u1a46\u1a56\u0007\u00e2\u0002\u0002\u1a47", - "\u1a52\u0007\u00e5\u0002\u0002\u1a48\u1a4d\u0005\u0200\u0101\u0002\u1a49", - "\u1a4a\u0007\u033e\u0002\u0002\u1a4a\u1a4c\u0005\u0200\u0101\u0002\u1a4b", - "\u1a49\u0003\u0002\u0002\u0002\u1a4c\u1a4f\u0003\u0002\u0002\u0002\u1a4d", - "\u1a4b\u0003\u0002\u0002\u0002\u1a4d\u1a4e\u0003\u0002\u0002\u0002\u1a4e", - "\u1a51\u0003\u0002\u0002\u0002\u1a4f\u1a4d\u0003\u0002\u0002\u0002\u1a50", - "\u1a48\u0003\u0002\u0002\u0002\u1a51\u1a54\u0003\u0002\u0002\u0002\u1a52", - "\u1a50\u0003\u0002\u0002\u0002\u1a52\u1a53\u0003\u0002\u0002\u0002\u1a53", - "\u1a56\u0003\u0002\u0002\u0002\u1a54\u1a52\u0003\u0002\u0002\u0002\u1a55", - "\u1a46\u0003\u0002\u0002\u0002\u1a55\u1a47\u0003\u0002\u0002\u0002\u1a56", - "\u01ff\u0003\u0002\u0002\u0002\u1a57\u1a58\u0007\u0199\u0002\u0002\u1a58", - "\u1a59\u0007\u032a\u0002\u0002\u1a59\u1a5e\u0005\u03a2\u01d2\u0002\u1a5a", - "\u1a5b\u0007\u01b0\u0002\u0002\u1a5b\u1a5c\u0007\u032a\u0002\u0002\u1a5c", - "\u1a5e\t@\u0002\u0002\u1a5d\u1a57\u0003\u0002\u0002\u0002\u1a5d\u1a5a", - "\u0003\u0002\u0002\u0002\u1a5e\u0201\u0003\u0002\u0002\u0002\u1a5f\u1a60", - "\u0007>\u0002\u0002\u1a60\u1a61\u0007\u032a\u0002\u0002\u1a61\u1a62", - "\t7\u0002\u0002\u1a62\u0203\u0003\u0002\u0002\u0002\u1a63\u1a64\u0007", - "\u01c6\u0002\u0002\u1a64\u1a68\u0005\u03a2\u01d2\u0002\u1a65\u1a66\u0007", - "\u01c7\u0002\u0002\u1a66\u1a68\tA\u0002\u0002\u1a67\u1a63\u0003\u0002", - "\u0002\u0002\u1a67\u1a65\u0003\u0002\u0002\u0002\u1a68\u0205\u0003\u0002", - "\u0002\u0002\u1a69\u1a6a\u0007\n\u0002\u0002\u1a6a\u1a6b\u0007m\u0002", - "\u0002\u1a6b\u1a6e\u0005\u03c6\u01e4\u0002\u1a6c\u1a6d\u0007\u0014\u0002", - "\u0002\u1a6d\u1a6f\u0005\u03c6\u01e4\u0002\u1a6e\u1a6c\u0003\u0002\u0002", - "\u0002\u1a6e\u1a6f\u0003\u0002\u0002\u0002\u1a6f\u1a77\u0003\u0002\u0002", - "\u0002\u1a70\u1a71\u0007\u0149\u0002\u0002\u1a71\u1a75\u0007\u032a\u0002", - "\u0002\u1a72\u1a76\u0007\u014c\u0002\u0002\u1a73\u1a76\u0007\u014f\u0002", - "\u0002\u1a74\u1a76\u0007\u01e2\u0002\u0002\u1a75\u1a72\u0003\u0002\u0002", - "\u0002\u1a75\u1a73\u0003\u0002\u0002\u0002\u1a75\u1a74\u0003\u0002\u0002", - "\u0002\u1a76\u1a78\u0003\u0002\u0002\u0002\u1a77\u1a70\u0003\u0002\u0002", - "\u0002\u1a77\u1a78\u0003\u0002\u0002\u0002\u1a78\u1a79\u0003\u0002\u0002", - "\u0002\u1a79\u1a7a\u0007\u0010\u0002\u0002\u1a7a\u1a7b\u0007\u0157\u0002", - "\u0002\u1a7b\u1a7c\u0007\u033c\u0002\u0002\u1a7c\u1a7d\u0007\u00b8\u0002", - "\u0002\u1a7d\u1a7e\u0007\u032a\u0002\u0002\u1a7e\u1a83\u0007\u0322\u0002", - "\u0002\u1a7f\u1a80\u0007\u033e\u0002\u0002\u1a80\u1a81\u0007\u00b7\u0002", - "\u0002\u1a81\u1a82\u0007\u032a\u0002\u0002\u1a82\u1a84\tB\u0002\u0002", - "\u1a83\u1a7f\u0003\u0002\u0002\u0002\u1a83\u1a84\u0003\u0002\u0002\u0002", - "\u1a84\u1a85\u0003\u0002\u0002\u0002\u1a85\u1af3\u0007\u033d\u0002\u0002", - "\u1a86\u1af4\u0007\u02ff\u0002\u0002\u1a87\u1a88\u0007\u0085\u0002\u0002", - "\u1a88\u1a89\u0007\u0137\u0002\u0002\u1a89\u1a8a\u0007\u033c\u0002\u0002", - "\u1a8a\u1a8b\u0007\u0015\u0002\u0002\u1a8b\u1a9c\u0007\u032a\u0002\u0002", - "\u1a8c\u1a8e\u0007\u0178\u0002\u0002\u1a8d\u1a8f\tC\u0002\u0002\u1a8e", - "\u1a8d\u0003\u0002\u0002\u0002\u1a8e\u1a8f\u0003\u0002\u0002\u0002\u1a8f", - "\u1a92\u0003\u0002\u0002\u0002\u1a90\u1a91\u0007+\u0002\u0002\u1a91", - "\u1a93\u0005\u03c6\u01e4\u0002\u1a92\u1a90\u0003\u0002\u0002\u0002\u1a92", - "\u1a93\u0003\u0002\u0002\u0002\u1a93\u1a9d\u0003\u0002\u0002\u0002\u1a94", - "\u1a95\u0007+\u0002\u0002\u1a95\u1a97\u0005\u03c6\u01e4\u0002\u1a96", - "\u1a98\u0007\u0178\u0002\u0002\u1a97\u1a96\u0003\u0002\u0002\u0002\u1a97", - "\u1a98\u0003\u0002\u0002\u0002\u1a98\u1a9a\u0003\u0002\u0002\u0002\u1a99", - "\u1a9b\tC\u0002\u0002\u1a9a\u1a99\u0003\u0002\u0002\u0002\u1a9a\u1a9b", - "\u0003\u0002\u0002\u0002\u1a9b\u1a9d\u0003\u0002\u0002\u0002\u1a9c\u1a8c", - "\u0003\u0002\u0002\u0002\u1a9c\u1a94\u0003\u0002\u0002\u0002\u1a9d\u1aaf", - "\u0003\u0002\u0002\u0002\u1a9e\u1aa0\u0007\u033e\u0002\u0002\u1a9f\u1a9e", - "\u0003\u0002\u0002\u0002\u1a9f\u1aa0\u0003\u0002\u0002\u0002\u1aa0\u1aa1", - "\u0003\u0002\u0002\u0002\u1aa1\u1aa2\u0007\u01ec\u0002\u0002\u1aa2\u1aa3", - "\u0007\u032a\u0002\u0002\u1aa3\u1aad\tD\u0002\u0002\u1aa4\u1aab\u0007", - "\u018a\u0002\u0002\u1aa5\u1aac\u0007\u0005\u0002\u0002\u1aa6\u1aac\u0007", - "\u029a\u0002\u0002\u1aa7\u1aa8\u0007\u0005\u0002\u0002\u1aa8\u1aac\u0007", - "\u029a\u0002\u0002\u1aa9\u1aaa\u0007\u029a\u0002\u0002\u1aaa\u1aac\u0007", - "\u0005\u0002\u0002\u1aab\u1aa5\u0003\u0002\u0002\u0002\u1aab\u1aa6\u0003", - "\u0002\u0002\u0002\u1aab\u1aa7\u0003\u0002\u0002\u0002\u1aab\u1aa9\u0003", - "\u0002\u0002\u0002\u1aac\u1aae\u0003\u0002\u0002\u0002\u1aad\u1aa4\u0003", - "\u0002\u0002\u0002\u1aad\u1aae\u0003\u0002\u0002\u0002\u1aae\u1ab0\u0003", - "\u0002\u0002\u0002\u1aaf\u1a9f\u0003\u0002\u0002\u0002\u1aaf\u1ab0\u0003", - "\u0002\u0002\u0002\u1ab0\u1ab7\u0003\u0002\u0002\u0002\u1ab1\u1ab3\u0007", - "\u033e\u0002\u0002\u1ab2\u1ab1\u0003\u0002\u0002\u0002\u1ab2\u1ab3\u0003", - "\u0002\u0002\u0002\u1ab3\u1ab4\u0003\u0002\u0002\u0002\u1ab4\u1ab5\u0007", - "\u00ca\u0002\u0002\u1ab5\u1ab6\u0007\u032a\u0002\u0002\u1ab6\u1ab8\t", - "E\u0002\u0002\u1ab7\u1ab2\u0003\u0002\u0002\u0002\u1ab7\u1ab8\u0003", - "\u0002\u0002\u0002\u1ab8\u1abf\u0003\u0002\u0002\u0002\u1ab9\u1abb\u0007", - "\u033e\u0002\u0002\u1aba\u1ab9\u0003\u0002\u0002\u0002\u1aba\u1abb\u0003", - "\u0002\u0002\u0002\u1abb\u1abc\u0003\u0002\u0002\u0002\u1abc\u1abd\u0007", - "\u00cb\u0002\u0002\u1abd\u1abe\u0007\u032a\u0002\u0002\u1abe\u1ac0\u0007", - "\u0322\u0002\u0002\u1abf\u1aba\u0003\u0002\u0002\u0002\u1abf\u1ac0\u0003", - "\u0002\u0002\u0002\u1ac0\u1ac1\u0003\u0002\u0002\u0002\u1ac1\u1af4\u0007", - "\u033d\u0002\u0002\u1ac2\u1ac3\u0007\u0085\u0002\u0002\u1ac3\u1ac4\u0007", - "U\u0002\u0002\u1ac4\u1ac5\u0007\u033c\u0002\u0002\u1ac5\u1ac6\u0007", - "\u0015\u0002\u0002\u1ac6\u1ad7\u0007\u032a\u0002\u0002\u1ac7\u1ac9\u0007", - "\u0178\u0002\u0002\u1ac8\u1aca\tC\u0002\u0002\u1ac9\u1ac8\u0003\u0002", - "\u0002\u0002\u1ac9\u1aca\u0003\u0002\u0002\u0002\u1aca\u1acd\u0003\u0002", - "\u0002\u0002\u1acb\u1acc\u0007+\u0002\u0002\u1acc\u1ace\u0005\u03c6", - "\u01e4\u0002\u1acd\u1acb\u0003\u0002\u0002\u0002\u1acd\u1ace\u0003\u0002", - "\u0002\u0002\u1ace\u1ad8\u0003\u0002\u0002\u0002\u1acf\u1ad0\u0007+", - "\u0002\u0002\u1ad0\u1ad2\u0005\u03c6\u01e4\u0002\u1ad1\u1ad3\u0007\u0178", - "\u0002\u0002\u1ad2\u1ad1\u0003\u0002\u0002\u0002\u1ad2\u1ad3\u0003\u0002", - "\u0002\u0002\u1ad3\u1ad5\u0003\u0002\u0002\u0002\u1ad4\u1ad6\tC\u0002", - "\u0002\u1ad5\u1ad4\u0003\u0002\u0002\u0002\u1ad5\u1ad6\u0003\u0002\u0002", - "\u0002\u1ad6\u1ad8\u0003\u0002\u0002\u0002\u1ad7\u1ac7\u0003\u0002\u0002", - "\u0002\u1ad7\u1acf\u0003\u0002\u0002\u0002\u1ad8\u1aea\u0003\u0002\u0002", - "\u0002\u1ad9\u1adb\u0007\u033e\u0002\u0002\u1ada\u1ad9\u0003\u0002\u0002", - "\u0002\u1ada\u1adb\u0003\u0002\u0002\u0002\u1adb\u1adc\u0003\u0002\u0002", - "\u0002\u1adc\u1add\u0007\u01ec\u0002\u0002\u1add\u1ade\u0007\u032a\u0002", - "\u0002\u1ade\u1ae8\tD\u0002\u0002\u1adf\u1ae6\u0007\u018a\u0002\u0002", - "\u1ae0\u1ae7\u0007\u0005\u0002\u0002\u1ae1\u1ae7\u0007\u029a\u0002\u0002", - "\u1ae2\u1ae3\u0007\u0005\u0002\u0002\u1ae3\u1ae7\u0007\u029a\u0002\u0002", - "\u1ae4\u1ae5\u0007\u029a\u0002\u0002\u1ae5\u1ae7\u0007\u0005\u0002\u0002", - "\u1ae6\u1ae0\u0003\u0002\u0002\u0002\u1ae6\u1ae1\u0003\u0002\u0002\u0002", - "\u1ae6\u1ae2\u0003\u0002\u0002\u0002\u1ae6\u1ae4\u0003\u0002\u0002\u0002", - "\u1ae7\u1ae9\u0003\u0002\u0002\u0002\u1ae8\u1adf\u0003\u0002\u0002\u0002", - "\u1ae8\u1ae9\u0003\u0002\u0002\u0002\u1ae9\u1aeb\u0003\u0002\u0002\u0002", - "\u1aea\u1ada\u0003\u0002\u0002\u0002\u1aea\u1aeb\u0003\u0002\u0002\u0002", - "\u1aeb\u1aed\u0003\u0002\u0002\u0002\u1aec\u1aee\u0007\u033e\u0002\u0002", - "\u1aed\u1aec\u0003\u0002\u0002\u0002\u1aed\u1aee\u0003\u0002\u0002\u0002", - "\u1aee\u1aef\u0003\u0002\u0002\u0002\u1aef\u1af0\u0007\u0121\u0002\u0002", - "\u1af0\u1af1\u0007\u032a\u0002\u0002\u1af1\u1af2\tF\u0002\u0002\u1af2", - "\u1af4\u0007\u033d\u0002\u0002\u1af3\u1a86\u0003\u0002\u0002\u0002\u1af3", - "\u1a87\u0003\u0002\u0002\u0002\u1af3\u1ac2\u0003\u0002\u0002\u0002\u1af4", - "\u0207\u0003\u0002\u0002\u0002\u1af5\u1af6\u0005\u020a\u0106\u0002\u1af6", - "\u0209\u0003\u0002\u0002\u0002\u1af7\u1af8\u0005\u020c\u0107\u0002\u1af8", - "\u1af9\u0005\u0212\u010a\u0002\u1af9\u1afe\u0003\u0002\u0002\u0002\u1afa", - "\u1afb\u0005\u020e\u0108\u0002\u1afb\u1afc\u0005\u0214\u010b\u0002\u1afc", - "\u1afe\u0003\u0002\u0002\u0002\u1afd\u1af7\u0003\u0002\u0002\u0002\u1afd", - "\u1afa\u0003\u0002\u0002\u0002\u1afe\u020b\u0003\u0002\u0002\u0002\u1aff", - "\u1b00\u0007\u0282\u0002\u0002\u1b00\u020d\u0003\u0002\u0002\u0002\u1b01", - "\u1b02\u0007\u017c\u0002\u0002\u1b02\u020f\u0003\u0002\u0002\u0002\u1b03", - "\u1b04\u0007\u032a\u0002\u0002\u1b04\u0211\u0003\u0002\u0002\u0002\u1b05", - "\u1b06\u0005\u0210\u0109\u0002\u1b06\u1b07\u0005\u0218\u010d\u0002\u1b07", - "\u1b12\u0003\u0002\u0002\u0002\u1b08\u1b12\u0007}\u0002\u0002\u1b09", - "\u1b12\u0007\u0087\u0002\u0002\u1b0a\u1b12\u0007\u00e2\u0002\u0002\u1b0b", - "\u1b12\u0007\u0118\u0002\u0002\u1b0c\u1b0d\u0007\u0129\u0002\u0002\u1b0d", - "\u1b12\tG\u0002\u0002\u1b0e\u1b12\u0007\u02ea\u0002\u0002\u1b0f\u1b10", - "\u0007\u02f6\u0002\u0002\u1b10\u1b12\u0007\u0322\u0002\u0002\u1b11\u1b05", - "\u0003\u0002\u0002\u0002\u1b11\u1b08\u0003\u0002\u0002\u0002\u1b11\u1b09", - "\u0003\u0002\u0002\u0002\u1b11\u1b0a\u0003\u0002\u0002\u0002\u1b11\u1b0b", - "\u0003\u0002\u0002\u0002\u1b11\u1b0c\u0003\u0002\u0002\u0002\u1b11\u1b0e", - "\u0003\u0002\u0002\u0002\u1b11\u1b0f\u0003\u0002\u0002\u0002\u1b12\u0213", - "\u0003\u0002\u0002\u0002\u1b13\u1b14\u0005\u0210\u0109\u0002\u1b14\u1b15", - "\u0005\u0216\u010c\u0002\u1b15\u1b18\u0003\u0002\u0002\u0002\u1b16\u1b18", - "\u0007\u00e2\u0002\u0002\u1b17\u1b13\u0003\u0002\u0002\u0002\u1b17\u1b16", - "\u0003\u0002\u0002\u0002\u1b18\u0215\u0003\u0002\u0002\u0002\u1b19\u1b1a", - "\u0005\u0218\u010d\u0002\u1b1a\u0217\u0003\u0002\u0002\u0002\u1b1b\u1b1c", - "\u0005\u021c\u010f\u0002\u1b1c\u1b1d\u0005\u0220\u0111\u0002\u1b1d\u1b1e", - "\u0005\u021a\u010e\u0002\u1b1e\u1b1f\u0005\u021e\u0110\u0002\u1b1f\u0219", - "\u0003\u0002\u0002\u0002\u1b20\u1b21\u0007\u0340\u0002\u0002\u1b21\u021b", - "\u0003\u0002\u0002\u0002\u1b22\u1b23\u0007\u0157\u0002\u0002\u1b23\u1b24", - "\u0007\u0340\u0002\u0002\u1b24\u1b25\u0007f\u0002\u0002\u1b25\u021d", - "\u0003\u0002\u0002\u0002\u1b26\u1b27\u0007\u0322\u0002\u0002\u1b27\u021f", - "\u0003\u0002\u0002\u0002\u1b28\u1b29\u0005\u03c6\u01e4\u0002\u1b29\u1b2a", - "\u0007\u0337\u0002\u0002\u1b2a\u1b2b\u0005\u0220\u0111\u0002\u1b2b\u1b33", - "\u0003\u0002\u0002\u0002\u1b2c\u1b2d\u0005\u03c6\u01e4\u0002\u1b2d\u1b2e", - "\u0007\u0337\u0002\u0002\u1b2e\u1b31\u0003\u0002\u0002\u0002\u1b2f\u1b31", - "\u0005\u03c6\u01e4\u0002\u1b30\u1b2c\u0003\u0002\u0002\u0002\u1b30\u1b2f", - "\u0003\u0002\u0002\u0002\u1b31\u1b33\u0003\u0002\u0002\u0002\u1b32\u1b28", - "\u0003\u0002\u0002\u0002\u1b32\u1b30\u0003\u0002\u0002\u0002\u1b33\u0221", - "\u0003\u0002\u0002\u0002\u1b34\u1b35\u0007\u01c9\u0002\u0002\u1b35\u1b36", - "\u0005\u03a2\u01d2\u0002\u1b36\u0223\u0003\u0002\u0002\u0002\u1b37\u1b38", - "\u0007\u01ec\u0002\u0002\u1b38\u1b39\u0005\u03a2\u01d2\u0002\u1b39\u0225", - "\u0003\u0002\u0002\u0002\u1b3a\u1b3b\tH\u0002\u0002\u1b3b\u0227\u0003", - "\u0002\u0002\u0002\u1b3c\u1b3d\tI\u0002\u0002\u1b3d\u0229\u0003\u0002", - "\u0002\u0002\u1b3e\u1b3f\tJ\u0002\u0002\u1b3f\u022b\u0003\u0002\u0002", - "\u0002\u1b40\u1b41\u0007\u01d6\u0002\u0002\u1b41\u1b42\u0007\u032a\u0002", - "\u0002\u1b42\u1b43\tK\u0002\u0002\u1b43\u022d\u0003\u0002\u0002\u0002", - "\u1b44\u1b45\u0007\u01cf\u0002\u0002\u1b45\u1b5e\u0005\u03a2\u01d2\u0002", - "\u1b46\u1b47\u0007\u02fd\u0002\u0002\u1b47\u1b5e\u0005\u03a2\u01d2\u0002", - "\u1b48\u1b49\u0007\u01d4\u0002\u0002\u1b49\u1b4c\u0007\u032a\u0002\u0002", - "\u1b4a\u1b4d\u0005\u03c6\u01e4\u0002\u1b4b\u1b4d\u0007\u0326\u0002\u0002", - "\u1b4c\u1b4a\u0003\u0002\u0002\u0002\u1b4c\u1b4b\u0003\u0002\u0002\u0002", - "\u1b4d\u1b5e\u0003\u0002\u0002\u0002\u1b4e\u1b4f\u0007\u01d3\u0002\u0002", - "\u1b4f\u1b52\u0007\u032a\u0002\u0002\u1b50\u1b53\u0005\u03c6\u01e4\u0002", - "\u1b51\u1b53\u0007\u0326\u0002\u0002\u1b52\u1b50\u0003\u0002\u0002\u0002", - "\u1b52\u1b51\u0003\u0002\u0002\u0002\u1b53\u1b5e\u0003\u0002\u0002\u0002", - "\u1b54\u1b55\u0007\u025e\u0002\u0002\u1b55\u1b56\u0007\u032a\u0002\u0002", - "\u1b56\u1b5e\t\t\u0002\u0002\u1b57\u1b58\u0007\u02fa\u0002\u0002\u1b58", - "\u1b59\u0007\u032a\u0002\u0002\u1b59\u1b5e\t\t\u0002\u0002\u1b5a\u1b5b", - "\u0007\u0300\u0002\u0002\u1b5b\u1b5c\u0007\u032a\u0002\u0002\u1b5c\u1b5e", - "\u0007\u0322\u0002\u0002\u1b5d\u1b44\u0003\u0002\u0002\u0002\u1b5d\u1b46", - "\u0003\u0002\u0002\u0002\u1b5d\u1b48\u0003\u0002\u0002\u0002\u1b5d\u1b4e", - "\u0003\u0002\u0002\u0002\u1b5d\u1b54\u0003\u0002\u0002\u0002\u1b5d\u1b57", - "\u0003\u0002\u0002\u0002\u1b5d\u1b5a\u0003\u0002\u0002\u0002\u1b5e\u022f", - "\u0003\u0002\u0002\u0002\u1b5f\u1b68\u0007\u0212\u0002\u0002\u1b60\u1b61", - "\u0007\u019f\u0002\u0002\u1b61\u1b62\u0007\u0092\u0002\u0002\u1b62\u1b63", - "\u0007\u032a\u0002\u0002\u1b63\u1b66\u0005\u03c6\u01e4\u0002\u1b64\u1b66", - "\u0007\u00e2\u0002\u0002\u1b65\u1b60\u0003\u0002\u0002\u0002\u1b65\u1b64", - "\u0003\u0002\u0002\u0002\u1b66\u1b69\u0003\u0002\u0002\u0002\u1b67\u1b69", - "\tL\u0002\u0002\u1b68\u1b65\u0003\u0002\u0002\u0002\u1b68\u1b67\u0003", - "\u0002\u0002\u0002\u1b69\u0231\u0003\u0002\u0002\u0002\u1b6a\u1b6b\u0007", - "\u0258\u0002\u0002\u1b6b\u1b6c\t\t\u0002\u0002\u1b6c\u0233\u0003\u0002", - "\u0002\u0002\u1b6d\u1b6e\u0007\u027f\u0002\u0002\u1b6e\u1b6f\tM\u0002", - "\u0002\u1b6f\u0235\u0003\u0002\u0002\u0002\u1b70\u1b71\u0007\u02a4\u0002", - "\u0002\u1b71\u1b77\tN\u0002\u0002\u1b72\u1b73\u0007\u02f9\u0002\u0002", - "\u1b73\u1b77\u0005\u03a2\u01d2\u0002\u1b74\u1b75\u0007\u027e\u0002\u0002", - "\u1b75\u1b77\tO\u0002\u0002\u1b76\u1b70\u0003\u0002\u0002\u0002\u1b76", - "\u1b72\u0003\u0002\u0002\u0002\u1b76\u1b74\u0003\u0002\u0002\u0002\u1b77", - "\u0237\u0003\u0002\u0002\u0002\u1b78\u1b7f\u0007\u01ea\u0002\u0002\u1b79", - "\u1b7f\u0007\u01e1\u0002\u0002\u1b7a\u1b7f\u0007\u0260\u0002\u0002\u1b7b", - "\u1b7f\u0007\u01ee\u0002\u0002\u1b7c\u1b7d\u0007\u0216\u0002\u0002\u1b7d", - "\u1b7f\u0005\u03a2\u01d2\u0002\u1b7e\u1b78\u0003\u0002\u0002\u0002\u1b7e", - "\u1b79\u0003\u0002\u0002\u0002\u1b7e\u1b7a\u0003\u0002\u0002\u0002\u1b7e", - "\u1b7b\u0003\u0002\u0002\u0002\u1b7e\u1b7c\u0003\u0002\u0002\u0002\u1b7f", - "\u0239\u0003\u0002\u0002\u0002\u1b80\u1b81\u0007\u018c\u0002\u0002\u1b81", - "\u1b86\u0005\u03a2\u01d2\u0002\u1b82\u1b83\u0007\u029c\u0002\u0002\u1b83", - "\u1b86\t\t\u0002\u0002\u1b84\u1b86\t\t\u0002\u0002\u1b85\u1b80\u0003", - "\u0002\u0002\u0002\u1b85\u1b82\u0003\u0002\u0002\u0002\u1b85\u1b84\u0003", - "\u0002\u0002\u0002\u1b86\u023b\u0003\u0002\u0002\u0002\u1b87\u1b88\u0007", - "\u018e\u0002\u0002\u1b88\u1b9d\u0005\u03a2\u01d2\u0002\u1b89\u1b8a\u0007", - "\u018f\u0002\u0002\u1b8a\u1b9d\u0005\u03a2\u01d2\u0002\u1b8b\u1b8c\u0007", - "\u0190\u0002\u0002\u1b8c\u1b9d\u0005\u03a2\u01d2\u0002\u1b8d\u1b8e\u0007", - "\u0191\u0002\u0002\u1b8e\u1b9d\u0005\u03a2\u01d2\u0002\u1b8f\u1b90\u0007", - "\u0194\u0002\u0002\u1b90\u1b9d\u0005\u03a2\u01d2\u0002\u1b91\u1b92\u0007", - "\u01b8\u0002\u0002\u1b92\u1b93\u0007\u032a\u0002\u0002\u1b93\u1b9d\u0007", - "\u0322\u0002\u0002\u1b94\u1b95\u0007\u01ba\u0002\u0002\u1b95\u1b9d\u0005", - "\u03a2\u01d2\u0002\u1b96\u1b97\u0007\u0270\u0002\u0002\u1b97\u1b9d\u0005", - "\u03a2\u01d2\u0002\u1b98\u1b99\u0007\u0296\u0002\u0002\u1b99\u1b9d\u0005", - "\u03a2\u01d2\u0002\u1b9a\u1b9b\u0007\u02a5\u0002\u0002\u1b9b\u1b9d\u0005", - "\u03a2\u01d2\u0002\u1b9c\u1b87\u0003\u0002\u0002\u0002\u1b9c\u1b89\u0003", - "\u0002\u0002\u0002\u1b9c\u1b8b\u0003\u0002\u0002\u0002\u1b9c\u1b8d\u0003", - "\u0002\u0002\u0002\u1b9c\u1b8f\u0003\u0002\u0002\u0002\u1b9c\u1b91\u0003", - "\u0002\u0002\u0002\u1b9c\u1b94\u0003\u0002\u0002\u0002\u1b9c\u1b96\u0003", - "\u0002\u0002\u0002\u1b9c\u1b98\u0003\u0002\u0002\u0002\u1b9c\u1b9a\u0003", - "\u0002\u0002\u0002\u1b9d\u023d\u0003\u0002\u0002\u0002\u1b9e\u1b9f\u0007", - "\u02f0\u0002\u0002\u1b9f\u1ba0\u0007\u032a\u0002\u0002\u1ba0\u1ba1\u0007", - "\u0322\u0002\u0002\u1ba1\u1ba2\tP\u0002\u0002\u1ba2\u023f\u0003\u0002", - "\u0002\u0002\u1ba3\u1ba4\u0007\u0120\u0002\u0002\u1ba4\u1ba5\u0007\u0188", - "\u0002\u0002\u1ba5\u1baa\u0007\u0322\u0002\u0002\u1ba6\u1ba7\u0007\u0120", - "\u0002\u0002\u1ba7\u1baa\u0007\u021a\u0002\u0002\u1ba8\u1baa\u0007\u0265", - "\u0002\u0002\u1ba9\u1ba3\u0003\u0002\u0002\u0002\u1ba9\u1ba6\u0003\u0002", - "\u0002\u0002\u1ba9\u1ba8\u0003\u0002\u0002\u0002\u1baa\u0241\u0003\u0002", - "\u0002\u0002\u1bab\u1bac\u0007g\u0002\u0002\u1bac\u1baf\u0007\u009e", - "\u0002\u0002\u1bad\u1bae\u0007\u0099\u0002\u0002\u1bae\u1bb0\u0007w", - "\u0002\u0002\u1baf\u1bad\u0003\u0002\u0002\u0002\u1baf\u1bb0\u0003\u0002", - "\u0002\u0002\u1bb0\u1bc1\u0003\u0002\u0002\u0002\u1bb1\u1bb6\u0005\u0244", - "\u0123\u0002\u1bb2\u1bb3\u0007\u033e\u0002\u0002\u1bb3\u1bb5\u0005\u0244", - "\u0123\u0002\u1bb4\u1bb2\u0003\u0002\u0002\u0002\u1bb5\u1bb8\u0003\u0002", - "\u0002\u0002\u1bb6\u1bb4\u0003\u0002\u0002\u0002\u1bb6\u1bb7\u0003\u0002", - "\u0002\u0002\u1bb7\u1bc2\u0003\u0002\u0002\u0002\u1bb8\u1bb6\u0003\u0002", - "\u0002\u0002\u1bb9\u1bbe\u0005\u0246\u0124\u0002\u1bba\u1bbb\u0007\u033e", - "\u0002\u0002\u1bbb\u1bbd\u0005\u0246\u0124\u0002\u1bbc\u1bba\u0003\u0002", - "\u0002\u0002\u1bbd\u1bc0\u0003\u0002\u0002\u0002\u1bbe\u1bbc\u0003\u0002", - "\u0002\u0002\u1bbe\u1bbf\u0003\u0002\u0002\u0002\u1bbf\u1bc2\u0003\u0002", - "\u0002\u0002\u1bc0\u1bbe\u0003\u0002\u0002\u0002\u1bc1\u1bb1\u0003\u0002", - "\u0002\u0002\u1bc1\u1bb9\u0003\u0002\u0002\u0002\u1bc2\u1bc4\u0003\u0002", - "\u0002\u0002\u1bc3\u1bc5\u0007\u033f\u0002\u0002\u1bc4\u1bc3\u0003\u0002", - "\u0002\u0002\u1bc4\u1bc5\u0003\u0002\u0002\u0002\u1bc5\u0243\u0003\u0002", - "\u0002\u0002\u1bc6\u1bc7\u0005\u03c6\u01e4\u0002\u1bc7\u1bc8\u0007\u00e5", - "\u0002\u0002\u1bc8\u1bc9\u0005\u038c\u01c7\u0002\u1bc9\u0245\u0003\u0002", - "\u0002\u0002\u1bca\u1bcb\u0005\u03c6\u01e4\u0002\u1bcb\u1bcc\u0007\u0337", - "\u0002\u0002\u1bcc\u1bce\u0003\u0002\u0002\u0002\u1bcd\u1bca\u0003\u0002", - "\u0002\u0002\u1bcd\u1bce\u0003\u0002\u0002\u0002\u1bce\u1bcf\u0003\u0002", - "\u0002\u0002\u1bcf\u1bd0\u0005\u03c6\u01e4\u0002\u1bd0\u1bd1\u0007\u0337", - "\u0002\u0002\u1bd1\u1bd2\u0005\u03c6\u01e4\u0002\u1bd2\u0247\u0003\u0002", - "\u0002\u0002\u1bd3\u1bd4\u0007g\u0002\u0002\u1bd4\u1bd7\t8\u0002\u0002", - "\u1bd5\u1bd6\u0007\u0099\u0002\u0002\u1bd6\u1bd8\u0007w\u0002\u0002", - "\u1bd7\u1bd5\u0003\u0002\u0002\u0002\u1bd7\u1bd8\u0003\u0002\u0002\u0002", - "\u1bd8\u1bd9\u0003\u0002\u0002\u0002\u1bd9\u1bde\u0005\u0392\u01ca\u0002", - "\u1bda\u1bdb\u0007\u033e\u0002\u0002\u1bdb\u1bdd\u0005\u0392\u01ca\u0002", - "\u1bdc\u1bda\u0003\u0002\u0002\u0002\u1bdd\u1be0\u0003\u0002\u0002\u0002", - "\u1bde\u1bdc\u0003\u0002\u0002\u0002\u1bde\u1bdf\u0003\u0002\u0002\u0002", - "\u1bdf\u1be2\u0003\u0002\u0002\u0002\u1be0\u1bde\u0003\u0002\u0002\u0002", - "\u1be1\u1be3\u0007\u033f\u0002\u0002\u1be2\u1be1\u0003\u0002\u0002\u0002", - "\u1be2\u1be3\u0003\u0002\u0002\u0002\u1be3\u0249\u0003\u0002\u0002\u0002", - "\u1be4\u1be7\u0005\u024c\u0127\u0002\u1be5\u1be7\u0005\u024e\u0128\u0002", - "\u1be6\u1be4\u0003\u0002\u0002\u0002\u1be6\u1be5\u0003\u0002\u0002\u0002", - "\u1be7\u024b\u0003\u0002\u0002\u0002\u1be8\u1be9\u0007g\u0002\u0002", - "\u1be9\u1bec\u0007\u0160\u0002\u0002\u1bea\u1beb\u0007\u0099\u0002\u0002", - "\u1beb\u1bed\u0007w\u0002\u0002\u1bec\u1bea\u0003\u0002\u0002\u0002", - "\u1bec\u1bed\u0003\u0002\u0002\u0002\u1bed\u1bee\u0003\u0002\u0002\u0002", - "\u1bee\u1bf3\u0005\u0390\u01c9\u0002\u1bef\u1bf0\u0007\u033e\u0002\u0002", - "\u1bf0\u1bf2\u0005\u0390\u01c9\u0002\u1bf1\u1bef\u0003\u0002\u0002\u0002", - "\u1bf2\u1bf5\u0003\u0002\u0002\u0002\u1bf3\u1bf1\u0003\u0002\u0002\u0002", - "\u1bf3\u1bf4\u0003\u0002\u0002\u0002\u1bf4\u1bf7\u0003\u0002\u0002\u0002", - "\u1bf5\u1bf3\u0003\u0002\u0002\u0002\u1bf6\u1bf8\u0007\u033f\u0002\u0002", - "\u1bf7\u1bf6\u0003\u0002\u0002\u0002\u1bf7\u1bf8\u0003\u0002\u0002\u0002", - "\u1bf8\u024d\u0003\u0002\u0002\u0002\u1bf9\u1bfa\u0007g\u0002\u0002", - "\u1bfa\u1bfd\u0007\u0160\u0002\u0002\u1bfb\u1bfc\u0007\u0099\u0002\u0002", - "\u1bfc\u1bfe\u0007w\u0002\u0002\u1bfd\u1bfb\u0003\u0002\u0002\u0002", - "\u1bfd\u1bfe\u0003\u0002\u0002\u0002\u1bfe\u1bff\u0003\u0002\u0002\u0002", - "\u1bff\u1c04\u0005\u0390\u01c9\u0002\u1c00\u1c01\u0007\u033e\u0002\u0002", - "\u1c01\u1c03\u0005\u0390\u01c9\u0002\u1c02\u1c00\u0003\u0002\u0002\u0002", - "\u1c03\u1c06\u0003\u0002\u0002\u0002\u1c04\u1c02\u0003\u0002\u0002\u0002", - "\u1c04\u1c05\u0003\u0002\u0002\u0002\u1c05\u1c07\u0003\u0002\u0002\u0002", - "\u1c06\u1c04\u0003\u0002\u0002\u0002\u1c07\u1c0b\u0007\u00e5\u0002\u0002", - "\u1c08\u1c0c\u0007T\u0002\u0002\u1c09\u1c0a\u0007\u0006\u0002\u0002", - "\u1c0a\u1c0c\u0007\u0135\u0002\u0002\u1c0b\u1c08\u0003\u0002\u0002\u0002", - "\u1c0b\u1c09\u0003\u0002\u0002\u0002\u1c0c\u1c0e\u0003\u0002\u0002\u0002", - "\u1c0d\u1c0f\u0007\u033f\u0002\u0002\u1c0e\u1c0d\u0003\u0002\u0002\u0002", - "\u1c0e\u1c0f\u0003\u0002\u0002\u0002\u1c0f\u024f\u0003\u0002\u0002\u0002", - "\u1c10\u1c11\u0007g\u0002\u0002\u1c11\u1c14\u0007\u008d\u0002\u0002", - "\u1c12\u1c13\u0007\u0099\u0002\u0002\u1c13\u1c15\u0007w\u0002\u0002", - "\u1c14\u1c12\u0003\u0002\u0002\u0002\u1c14\u1c15\u0003\u0002\u0002\u0002", - "\u1c15\u1c16\u0003\u0002\u0002\u0002\u1c16\u1c1b\u0005\u0392\u01ca\u0002", - "\u1c17\u1c18\u0007\u033e\u0002\u0002\u1c18\u1c1a\u0005\u0392\u01ca\u0002", - "\u1c19\u1c17\u0003\u0002\u0002\u0002\u1c1a\u1c1d\u0003\u0002\u0002\u0002", - "\u1c1b\u1c19\u0003\u0002\u0002\u0002\u1c1b\u1c1c\u0003\u0002\u0002\u0002", - "\u1c1c\u1c1f\u0003\u0002\u0002\u0002\u1c1d\u1c1b\u0003\u0002\u0002\u0002", - "\u1c1e\u1c20\u0007\u033f\u0002\u0002\u1c1f\u1c1e\u0003\u0002\u0002\u0002", - "\u1c1f\u1c20\u0003\u0002\u0002\u0002\u1c20\u0251\u0003\u0002\u0002\u0002", - "\u1c21\u1c22\u0007g\u0002\u0002\u1c22\u1c2c\u0007\u0148\u0002\u0002", - "\u1c23\u1c25\u0007\u033e\u0002\u0002\u1c24\u1c23\u0003\u0002\u0002\u0002", - "\u1c24\u1c25\u0003\u0002\u0002\u0002\u1c25\u1c29\u0003\u0002\u0002\u0002", - "\u1c26\u1c27\u0005\u038e\u01c8\u0002\u1c27\u1c28\u0007\u0337\u0002\u0002", - "\u1c28\u1c2a\u0003\u0002\u0002\u0002\u1c29\u1c26\u0003\u0002\u0002\u0002", - "\u1c29\u1c2a\u0003\u0002\u0002\u0002\u1c2a\u1c2b\u0003\u0002\u0002\u0002", - "\u1c2b\u1c2d\u0005\u03c6\u01e4\u0002\u1c2c\u1c24\u0003\u0002\u0002\u0002", - "\u1c2d\u1c2e\u0003\u0002\u0002\u0002\u1c2e\u1c2c\u0003\u0002\u0002\u0002", - "\u1c2e\u1c2f\u0003\u0002\u0002\u0002\u1c2f\u1c30\u0003\u0002\u0002\u0002", - "\u1c30\u1c31\u0007\u033f\u0002\u0002\u1c31\u0253\u0003\u0002\u0002\u0002", - "\u1c32\u1c33\u0007g\u0002\u0002\u1c33\u1c36\u0007\u0153\u0002\u0002", - "\u1c34\u1c35\u0007\u0099\u0002\u0002\u1c35\u1c37\u0007w\u0002\u0002", - "\u1c36\u1c34\u0003\u0002\u0002\u0002\u1c36\u1c37\u0003\u0002\u0002\u0002", - "\u1c37\u1c38\u0003\u0002\u0002\u0002\u1c38\u1c3a\u0005\u038e\u01c8\u0002", - "\u1c39\u1c3b\u0007\u033f\u0002\u0002\u1c3a\u1c39\u0003\u0002\u0002\u0002", - "\u1c3a\u1c3b\u0003\u0002\u0002\u0002\u1c3b\u0255\u0003\u0002\u0002\u0002", - "\u1c3c\u1c3d\u0007g\u0002\u0002\u1c3d\u1c40\u0007\u0172\u0002\u0002", - "\u1c3e\u1c3f\u0007\u0099\u0002\u0002\u1c3f\u1c41\u0007w\u0002\u0002", - "\u1c40\u1c3e\u0003\u0002\u0002\u0002\u1c40\u1c41\u0003\u0002\u0002\u0002", - "\u1c41\u1c42\u0003\u0002\u0002\u0002\u1c42\u1c47\u0005\u0390\u01c9\u0002", - "\u1c43\u1c44\u0007\u033e\u0002\u0002\u1c44\u1c46\u0005\u0390\u01c9\u0002", - "\u1c45\u1c43\u0003\u0002\u0002\u0002\u1c46\u1c49\u0003\u0002\u0002\u0002", - "\u1c47\u1c45\u0003\u0002\u0002\u0002\u1c47\u1c48\u0003\u0002\u0002\u0002", - "\u1c48\u1c4b\u0003\u0002\u0002\u0002\u1c49\u1c47\u0003\u0002\u0002\u0002", - "\u1c4a\u1c4c\u0007\u033f\u0002\u0002\u1c4b\u1c4a\u0003\u0002\u0002\u0002", - "\u1c4b\u1c4c\u0003\u0002\u0002\u0002\u1c4c\u0257\u0003\u0002\u0002\u0002", - "\u1c4d\u1c4e\u0007I\u0002\u0002\u1c4e\u1c4f\u0007\u0301\u0002\u0002", - "\u1c4f\u1c54\u0005\u0390\u01c9\u0002\u1c50\u1c51\u0007\u008b\u0002\u0002", - "\u1c51\u1c52\u0005\u03be\u01e0\u0002\u1c52\u1c53\u0005\u03c0\u01e1\u0002", - "\u1c53\u1c55\u0003\u0002\u0002\u0002\u1c54\u1c50\u0003\u0002\u0002\u0002", - "\u1c54\u1c55\u0003\u0002\u0002\u0002\u1c55\u1c5c\u0003\u0002\u0002\u0002", - "\u1c56\u1c57\u0007\u0010\u0002\u0002\u1c57\u1c58\u0007\u0153\u0002\u0002", - "\u1c58\u1c59\u0007\u033c\u0002\u0002\u1c59\u1c5a\u0005\u02b8\u015d\u0002", - "\u1c5a\u1c5b\u0007\u033d\u0002\u0002\u1c5b\u1c5d\u0003\u0002\u0002\u0002", - "\u1c5c\u1c56\u0003\u0002\u0002\u0002\u1c5c\u1c5d\u0003\u0002\u0002\u0002", - "\u1c5d\u0259\u0003\u0002\u0002\u0002\u1c5e\u1c5f\u0007g\u0002\u0002", - "\u1c5f\u1c62\u0007\u0301\u0002\u0002\u1c60\u1c61\u0007\u0099\u0002\u0002", - "\u1c61\u1c63\u0007w\u0002\u0002\u1c62\u1c60\u0003\u0002\u0002\u0002", - "\u1c62\u1c63\u0003\u0002\u0002\u0002\u1c63\u1c64\u0003\u0002\u0002\u0002", - "\u1c64\u1c65\u0005\u0390\u01c9\u0002\u1c65\u025b\u0003\u0002\u0002\u0002", - "\u1c66\u1c69\u0005\u025e\u0130\u0002\u1c67\u1c69\u0005\u0260\u0131\u0002", - "\u1c68\u1c66\u0003\u0002\u0002\u0002\u1c68\u1c67\u0003\u0002\u0002\u0002", - "\u1c69\u025d\u0003\u0002\u0002\u0002\u1c6a\u1c6b\u0007\u00e9\u0002\u0002", - "\u1c6b\u1c6c\u0007\u033c\u0002\u0002\u1c6c\u1c6d\u0005\u03c6\u01e4\u0002", - "\u1c6d\u1c6e\u0007\u033e\u0002\u0002\u1c6e\u1c6f\u0007\u0326\u0002\u0002", - "\u1c6f\u1c70\u0007\u033d\u0002\u0002\u1c70\u025f\u0003\u0002\u0002\u0002", - "\u1c71\u1c72\u0007\u00e8\u0002\u0002\u1c72\u1c73\u0007\u033c\u0002\u0002", - "\u1c73\u1c74\u0007\u0326\u0002\u0002\u1c74\u1c75\u0007\u033e\u0002\u0002", - "\u1c75\u1c76\u0007\u0326\u0002\u0002\u1c76\u1c77\u0007\u033d\u0002\u0002", - "\u1c77\u1c79\u0007\u0337\u0002\u0002\u1c78\u1c7a\u0005\u03c6\u01e4\u0002", - "\u1c79\u1c78\u0003\u0002\u0002\u0002\u1c79\u1c7a\u0003\u0002\u0002\u0002", - "\u1c7a\u1c7b\u0003\u0002\u0002\u0002\u1c7b\u1c7d\u0007\u0337\u0002\u0002", - "\u1c7c\u1c7e\u0005\u03c6\u01e4\u0002\u1c7d\u1c7c\u0003\u0002\u0002\u0002", - "\u1c7d\u1c7e\u0003\u0002\u0002\u0002\u1c7e\u1c7f\u0003\u0002\u0002\u0002", - "\u1c7f\u1c80\u0007\u0337\u0002\u0002\u1c80\u1c81\u0005\u03c6\u01e4\u0002", - "\u1c81\u0261\u0003\u0002\u0002\u0002\u1c82\u1c83\u0007X\u0002\u0002", - "\u1c83\u1c85\u0007\u0321\u0002\u0002\u1c84\u1c86\u0007\u0010\u0002\u0002", - "\u1c85\u1c84\u0003\u0002\u0002\u0002\u1c85\u1c86\u0003\u0002\u0002\u0002", - "\u1c86\u1c87\u0003\u0002\u0002\u0002\u1c87\u1c89\u0005\u02b2\u015a\u0002", - "\u1c88\u1c8a\u0007\u033f\u0002\u0002\u1c89\u1c88\u0003\u0002\u0002\u0002", - "\u1c89\u1c8a\u0003\u0002\u0002\u0002\u1c8a\u1cae\u0003\u0002\u0002\u0002", - "\u1c8b\u1c8c\u0007X\u0002\u0002\u1c8c\u1c91\u0005\u02b0\u0159\u0002", - "\u1c8d\u1c8e\u0007\u033e\u0002\u0002\u1c8e\u1c90\u0005\u02b0\u0159\u0002", - "\u1c8f\u1c8d\u0003\u0002\u0002\u0002\u1c90\u1c93\u0003\u0002\u0002\u0002", - "\u1c91\u1c8f\u0003\u0002\u0002\u0002\u1c91\u1c92\u0003\u0002\u0002\u0002", - "\u1c92\u1c95\u0003\u0002\u0002\u0002\u1c93\u1c91\u0003\u0002\u0002\u0002", - "\u1c94\u1c96\u0007\u033f\u0002\u0002\u1c95\u1c94\u0003\u0002\u0002\u0002", - "\u1c95\u1c96\u0003\u0002\u0002\u0002\u1c96\u1cae\u0003\u0002\u0002\u0002", - "\u1c97\u1c98\u0007X\u0002\u0002\u1c98\u1c9a\u0007\u0321\u0002\u0002", - "\u1c99\u1c9b\u0007\u0010\u0002\u0002\u1c9a\u1c99\u0003\u0002\u0002\u0002", - "\u1c9a\u1c9b\u0003\u0002\u0002\u0002\u1c9b\u1c9c\u0003\u0002\u0002\u0002", - "\u1c9c\u1c9e\u0005\u02b4\u015b\u0002\u1c9d\u1c9f\u0007\u033f\u0002\u0002", - "\u1c9e\u1c9d\u0003\u0002\u0002\u0002\u1c9e\u1c9f\u0003\u0002\u0002\u0002", - "\u1c9f\u1cae\u0003\u0002\u0002\u0002\u1ca0\u1ca1\u0007\u0179\u0002\u0002", - "\u1ca1\u1ca2\u0007\u0317\u0002\u0002\u1ca2\u1ca3\u0007\u033c\u0002\u0002", - "\u1ca3\u1ca5\u0007\u0326\u0002\u0002\u1ca4\u1ca6\u0007\u033e\u0002\u0002", - "\u1ca5\u1ca4\u0003\u0002\u0002\u0002\u1ca5\u1ca6\u0003\u0002\u0002\u0002", - "\u1ca6\u1ca7\u0003\u0002\u0002\u0002\u1ca7\u1ca8\u0007\u0010\u0002\u0002", - "\u1ca8\u1ca9\u0005\u03c6\u01e4\u0002\u1ca9\u1cab\u0007\u033d\u0002\u0002", - "\u1caa\u1cac\u0007\u033f\u0002\u0002\u1cab\u1caa\u0003\u0002\u0002\u0002", - "\u1cab\u1cac\u0003\u0002\u0002\u0002\u1cac\u1cae\u0003\u0002\u0002\u0002", - "\u1cad\u1c82\u0003\u0002\u0002\u0002\u1cad\u1c8b\u0003\u0002\u0002\u0002", - "\u1cad\u1c97\u0003\u0002\u0002\u0002\u1cad\u1ca0\u0003\u0002\u0002\u0002", - "\u1cae\u0263\u0003\u0002\u0002\u0002\u1caf\u1cb1\u00073\u0002\u0002", - "\u1cb0\u1cb2\u0007\u020d\u0002\u0002\u1cb1\u1cb0\u0003\u0002\u0002\u0002", - "\u1cb1\u1cb2\u0003\u0002\u0002\u0002\u1cb2\u1cb3\u0003\u0002\u0002\u0002", - "\u1cb3\u1cb5\u0005\u03a0\u01d1\u0002\u1cb4\u1cb6\u0007\u033f\u0002\u0002", - "\u1cb5\u1cb4\u0003\u0002\u0002\u0002\u1cb5\u1cb6\u0003\u0002\u0002\u0002", - "\u1cb6\u1ccd\u0003\u0002\u0002\u0002\u1cb7\u1cb9\u0007W\u0002\u0002", - "\u1cb8\u1cba\u0007\u020d\u0002\u0002\u1cb9\u1cb8\u0003\u0002\u0002\u0002", - "\u1cb9\u1cba\u0003\u0002\u0002\u0002\u1cba\u1cbc\u0003\u0002\u0002\u0002", - "\u1cbb\u1cbd\u0007P\u0002\u0002\u1cbc\u1cbb\u0003\u0002\u0002\u0002", - "\u1cbc\u1cbd\u0003\u0002\u0002\u0002\u1cbd\u1cbe\u0003\u0002\u0002\u0002", - "\u1cbe\u1cc0\u0005\u03a0\u01d1\u0002\u1cbf\u1cc1\u0007\u033f\u0002\u0002", - "\u1cc0\u1cbf\u0003\u0002\u0002\u0002\u1cc0\u1cc1\u0003\u0002\u0002\u0002", - "\u1cc1\u1ccd\u0003\u0002\u0002\u0002\u1cc2\u1ccd\u0005\u02cc\u0167\u0002", - "\u1cc3\u1ccd\u0005\u02d2\u016a\u0002\u1cc4\u1cc6\u0007\u00e7\u0002\u0002", - "\u1cc5\u1cc7\u0007\u020d\u0002\u0002\u1cc6\u1cc5\u0003\u0002\u0002\u0002", - "\u1cc6\u1cc7\u0003\u0002\u0002\u0002\u1cc7\u1cc8\u0003\u0002\u0002\u0002", - "\u1cc8\u1cca\u0005\u03a0\u01d1\u0002\u1cc9\u1ccb\u0007\u033f\u0002\u0002", - "\u1cca\u1cc9\u0003\u0002\u0002\u0002\u1cca\u1ccb\u0003\u0002\u0002\u0002", - "\u1ccb\u1ccd\u0003\u0002\u0002\u0002\u1ccc\u1caf\u0003\u0002\u0002\u0002", - "\u1ccc\u1cb7\u0003\u0002\u0002\u0002\u1ccc\u1cc2\u0003\u0002\u0002\u0002", - "\u1ccc\u1cc3\u0003\u0002\u0002\u0002\u1ccc\u1cc4\u0003\u0002\u0002\u0002", - "\u1ccd\u0265\u0003\u0002\u0002\u0002\u1cce\u1ccf\u0007\u001a\u0002\u0002", - "\u1ccf\u1cd0\u0007T\u0002\u0002\u1cd0\u1cdd\u0005\u03c6\u01e4\u0002", - "\u1cd1\u1cda\u0007\u010c\u0002\u0002\u1cd2\u1cd4\u0007\u033e\u0002\u0002", - "\u1cd3\u1cd2\u0003\u0002\u0002\u0002\u1cd3\u1cd4\u0003\u0002\u0002\u0002", - "\u1cd4\u1cd5\u0003\u0002\u0002\u0002\u1cd5\u1cd6\tQ\u0002\u0002\u1cd6", - "\u1cd7\u0007\u032a\u0002\u0002\u1cd7\u1cd9\u0007\u0326\u0002\u0002\u1cd8", - "\u1cd3\u0003\u0002\u0002\u0002\u1cd9\u1cdc\u0003\u0002\u0002\u0002\u1cda", - "\u1cd8\u0003\u0002\u0002\u0002\u1cda\u1cdb\u0003\u0002\u0002\u0002\u1cdb", - "\u1cde\u0003\u0002\u0002\u0002\u1cdc\u1cda\u0003\u0002\u0002\u0002\u1cdd", - "\u1cd1\u0003\u0002\u0002\u0002\u1cdd\u1cde\u0003\u0002\u0002\u0002\u1cde", - "\u1ce7\u0003\u0002\u0002\u0002\u1cdf\u1ce1\u0007\u033e\u0002\u0002\u1ce0", - "\u1cdf\u0003\u0002\u0002\u0002\u1ce0\u1ce1\u0003\u0002\u0002\u0002\u1ce1", - "\u1ce2\u0003\u0002\u0002\u0002\u1ce2\u1ce3\tQ\u0002\u0002\u1ce3\u1ce4", - "\u0007\u032a\u0002\u0002\u1ce4\u1ce6\u0007\u0326\u0002\u0002\u1ce5\u1ce0", - "\u0003\u0002\u0002\u0002\u1ce6\u1ce9\u0003\u0002\u0002\u0002\u1ce7\u1ce5", - "\u0003\u0002\u0002\u0002\u1ce7\u1ce8\u0003\u0002\u0002\u0002\u1ce8\u1d01", - "\u0003\u0002\u0002\u0002\u1ce9\u1ce7\u0003\u0002\u0002\u0002\u1cea\u1cef", - "\u0007\u015a\u0002\u0002\u1ceb\u1ced\u0007\u033e\u0002\u0002\u1cec\u1ceb", - "\u0003\u0002\u0002\u0002\u1cec\u1ced\u0003\u0002\u0002\u0002\u1ced\u1cee", - "\u0003\u0002\u0002\u0002\u1cee\u1cf0\u0005\u03c6\u01e4\u0002\u1cef\u1cec", - "\u0003\u0002\u0002\u0002\u1cf0\u1cf1\u0003\u0002\u0002\u0002\u1cf1\u1cef", - "\u0003\u0002\u0002\u0002\u1cf1\u1cf2\u0003\u0002\u0002\u0002\u1cf2\u1d02", - "\u0003\u0002\u0002\u0002\u1cf3\u1cfd\u0007\u015a\u0002\u0002\u1cf4\u1cf6", - "\u0007\u033e\u0002\u0002\u1cf5\u1cf4\u0003\u0002\u0002\u0002\u1cf5\u1cf6", - "\u0003\u0002\u0002\u0002\u1cf6\u1cf7\u0003\u0002\u0002\u0002\u1cf7\u1cf8", - "\tR\u0002\u0002\u1cf8\u1cfb\u0007\u032a\u0002\u0002\u1cf9\u1cfc\u0007", - "\u0326\u0002\u0002\u1cfa\u1cfc\u0005\u03c6\u01e4\u0002\u1cfb\u1cf9\u0003", - "\u0002\u0002\u0002\u1cfb\u1cfa\u0003\u0002\u0002\u0002\u1cfc\u1cfe\u0003", - "\u0002\u0002\u0002\u1cfd\u1cf5\u0003\u0002\u0002\u0002\u1cfe\u1cff\u0003", - "\u0002\u0002\u0002\u1cff\u1cfd\u0003\u0002\u0002\u0002\u1cff\u1d00\u0003", - "\u0002\u0002\u0002\u1d00\u1d02\u0003\u0002\u0002\u0002\u1d01\u1cea\u0003", - "\u0002\u0002\u0002\u1d01\u1cf3\u0003\u0002\u0002\u0002\u1d02\u1d24\u0003", - "\u0002\u0002\u0002\u1d03\u1d04\u0007\u00cd\u0002\u0002\u1d04\u1d09\u0007", - "\u015a\u0002\u0002\u1d05\u1d07\u0007\u033e\u0002\u0002\u1d06\u1d05\u0003", - "\u0002\u0002\u0002\u1d06\u1d07\u0003\u0002\u0002\u0002\u1d07\u1d08\u0003", - "\u0002\u0002\u0002\u1d08\u1d0a\u0005\u03c6\u01e4\u0002\u1d09\u1d06\u0003", - "\u0002\u0002\u0002\u1d0a\u1d0b\u0003\u0002\u0002\u0002\u1d0b\u1d09\u0003", - "\u0002\u0002\u0002\u1d0b\u1d0c\u0003\u0002\u0002\u0002\u1d0c\u1d0e\u0003", - "\u0002\u0002\u0002\u1d0d\u1d03\u0003\u0002\u0002\u0002\u1d0e\u1d0f\u0003", - "\u0002\u0002\u0002\u1d0f\u1d0d\u0003\u0002\u0002\u0002\u1d0f\u1d10\u0003", - "\u0002\u0002\u0002\u1d10\u1d25\u0003\u0002\u0002\u0002\u1d11\u1d12\u0007", - "\u00cd\u0002\u0002\u1d12\u1d1c\u0007\u015a\u0002\u0002\u1d13\u1d15\u0007", - "\u033e\u0002\u0002\u1d14\u1d13\u0003\u0002\u0002\u0002\u1d14\u1d15\u0003", - "\u0002\u0002\u0002\u1d15\u1d16\u0003\u0002\u0002\u0002\u1d16\u1d17\t", - "R\u0002\u0002\u1d17\u1d1a\u0007\u032a\u0002\u0002\u1d18\u1d1b\u0007", - "\u0326\u0002\u0002\u1d19\u1d1b\u0005\u03c6\u01e4\u0002\u1d1a\u1d18\u0003", - "\u0002\u0002\u0002\u1d1a\u1d19\u0003\u0002\u0002\u0002\u1d1b\u1d1d\u0003", - "\u0002\u0002\u0002\u1d1c\u1d14\u0003\u0002\u0002\u0002\u1d1d\u1d1e\u0003", - "\u0002\u0002\u0002\u1d1e\u1d1c\u0003\u0002\u0002\u0002\u1d1e\u1d1f\u0003", - "\u0002\u0002\u0002\u1d1f\u1d21\u0003\u0002\u0002\u0002\u1d20\u1d11\u0003", - "\u0002\u0002\u0002\u1d21\u1d22\u0003\u0002\u0002\u0002\u1d22\u1d20\u0003", - "\u0002\u0002\u0002\u1d22\u1d23\u0003\u0002\u0002\u0002\u1d23\u1d25\u0003", - "\u0002\u0002\u0002\u1d24\u1d0d\u0003\u0002\u0002\u0002\u1d24\u1d20\u0003", - "\u0002\u0002\u0002\u1d24\u1d25\u0003\u0002\u0002\u0002\u1d25\u1dc6\u0003", - "\u0002\u0002\u0002\u1d26\u1dc3\u0007\u0179\u0002\u0002\u1d27\u1d29\u0007", - "\u033e\u0002\u0002\u1d28\u1d27\u0003\u0002\u0002\u0002\u1d28\u1d29\u0003", - "\u0002\u0002\u0002\u1d29\u1d2a\u0003\u0002\u0002\u0002\u1d2a\u1dc2\u0007", - "`\u0002\u0002\u1d2b\u1d2d\u0007\u033e\u0002\u0002\u1d2c\u1d2b\u0003", - "\u0002\u0002\u0002\u1d2c\u1d2d\u0003\u0002\u0002\u0002\u1d2d\u1d2e\u0003", - "\u0002\u0002\u0002\u1d2e\u1dc2\u0007H\u0002\u0002\u1d2f\u1d31\u0007", - "\u033e\u0002\u0002\u1d30\u1d2f\u0003\u0002\u0002\u0002\u1d30\u1d31\u0003", - "\u0002\u0002\u0002\u1d31\u1d32\u0003\u0002\u0002\u0002\u1d32\u1dc2\t", - "S\u0002\u0002\u1d33\u1d35\u0007\u033e\u0002\u0002\u1d34\u1d33\u0003", - "\u0002\u0002\u0002\u1d34\u1d35\u0003\u0002\u0002\u0002\u1d35\u1d36\u0003", - "\u0002\u0002\u0002\u1d36\u1d37\u0007\u01db\u0002\u0002\u1d37\u1d3a\u0007", - "\u032a\u0002\u0002\u1d38\u1d3b\u0007\u0326\u0002\u0002\u1d39\u1d3b\u0005", - "\u03c6\u01e4\u0002\u1d3a\u1d38\u0003\u0002\u0002\u0002\u1d3a\u1d39\u0003", - "\u0002\u0002\u0002\u1d3b\u1dc2\u0003\u0002\u0002\u0002\u1d3c\u1d3e\u0007", - "\u033e\u0002\u0002\u1d3d\u1d3c\u0003\u0002\u0002\u0002\u1d3d\u1d3e\u0003", - "\u0002\u0002\u0002\u1d3e\u1d3f\u0003\u0002\u0002\u0002\u1d3f\u1d40\u0007", - "\u025d\u0002\u0002\u1d40\u1d41\u0007\u032a\u0002\u0002\u1d41\u1dc2\u0005", - "\u03c6\u01e4\u0002\u1d42\u1d44\u0007\u033e\u0002\u0002\u1d43\u1d42\u0003", - "\u0002\u0002\u0002\u1d43\u1d44\u0003\u0002\u0002\u0002\u1d44\u1d45\u0003", - "\u0002\u0002\u0002\u1d45\u1dc2\u0007\u01c4\u0002\u0002\u1d46\u1d48\u0007", - "\u033e\u0002\u0002\u1d47\u1d46\u0003\u0002\u0002\u0002\u1d47\u1d48\u0003", - "\u0002\u0002\u0002\u1d48\u1d49\u0003\u0002\u0002\u0002\u1d49\u1dc2\u0007", - "\u0084\u0002\u0002\u1d4a\u1d4c\u0007\u033e\u0002\u0002\u1d4b\u1d4a\u0003", - "\u0002\u0002\u0002\u1d4b\u1d4c\u0003\u0002\u0002\u0002\u1d4c\u1d59\u0003", - "\u0002\u0002\u0002\u1d4d\u1d4e\u0007x\u0002\u0002\u1d4e\u1d51\u0007", - "\u032a\u0002\u0002\u1d4f\u1d52\u0007\u0326\u0002\u0002\u1d50\u1d52\u0005", - "\u03c6\u01e4\u0002\u1d51\u1d4f\u0003\u0002\u0002\u0002\u1d51\u1d50\u0003", - "\u0002\u0002\u0002\u1d52\u1d5a\u0003\u0002\u0002\u0002\u1d53\u1d54\u0007", - "\u0119\u0002\u0002\u1d54\u1d57\u0007\u032a\u0002\u0002\u1d55\u1d58\u0007", - "\u0322\u0002\u0002\u1d56\u1d58\u0005\u03c6\u01e4\u0002\u1d57\u1d55\u0003", - "\u0002\u0002\u0002\u1d57\u1d56\u0003\u0002\u0002\u0002\u1d58\u1d5a\u0003", - "\u0002\u0002\u0002\u1d59\u1d4d\u0003\u0002\u0002\u0002\u1d59\u1d53\u0003", - "\u0002\u0002\u0002\u1d5a\u1dc2\u0003\u0002\u0002\u0002\u1d5b\u1d5d\u0007", - "\u033e\u0002\u0002\u1d5c\u1d5b\u0003\u0002\u0002\u0002\u1d5c\u1d5d\u0003", - "\u0002\u0002\u0002\u1d5d\u1d5e\u0003\u0002\u0002\u0002\u1d5e\u1dc2\t", - "T\u0002\u0002\u1d5f\u1d61\u0007\u033e\u0002\u0002\u1d60\u1d5f\u0003", - "\u0002\u0002\u0002\u1d60\u1d61\u0003\u0002\u0002\u0002\u1d61\u1d62\u0003", - "\u0002\u0002\u0002\u1d62\u1dc2\tU\u0002\u0002\u1d63\u1d65\u0007\u033e", - "\u0002\u0002\u1d64\u1d63\u0003\u0002\u0002\u0002\u1d64\u1d65\u0003\u0002", - "\u0002\u0002\u1d65\u1d66\u0003\u0002\u0002\u0002\u1d66\u1dc2\tV\u0002", - "\u0002\u1d67\u1d69\u0007\u033e\u0002\u0002\u1d68\u1d67\u0003\u0002\u0002", - "\u0002\u1d68\u1d69\u0003\u0002\u0002\u0002\u1d69\u1d6a\u0003\u0002\u0002", - "\u0002\u1d6a\u1d6b\u0007\u00c5\u0002\u0002\u1d6b\u1d6e\u0007\u032a\u0002", - "\u0002\u1d6c\u1d6f\u0007\u0326\u0002\u0002\u1d6d\u1d6f\u0005\u03c6\u01e4", - "\u0002\u1d6e\u1d6c\u0003\u0002\u0002\u0002\u1d6e\u1d6d\u0003\u0002\u0002", - "\u0002\u1d6f\u1dc2\u0003\u0002\u0002\u0002\u1d70\u1d72\u0007\u033e\u0002", - "\u0002\u1d71\u1d70\u0003\u0002\u0002\u0002\u1d71\u1d72\u0003\u0002\u0002", - "\u0002\u1d72\u1d73\u0003\u0002\u0002\u0002\u1d73\u1d74\u0007\u00c6\u0002", - "\u0002\u1d74\u1d75\u0007\u032a\u0002\u0002\u1d75\u1dc2\u0007\u0326\u0002", - "\u0002\u1d76\u1d78\u0007\u033e\u0002\u0002\u1d77\u1d76\u0003\u0002\u0002", - "\u0002\u1d77\u1d78\u0003\u0002\u0002\u0002\u1d78\u1d79\u0003\u0002\u0002", - "\u0002\u1d79\u1d7a\u0007\u001f\u0002\u0002\u1d7a\u1d7d\u0007\u032a\u0002", - "\u0002\u1d7b\u1d7e\u0007\u0322\u0002\u0002\u1d7c\u1d7e\u0005\u03c6\u01e4", - "\u0002\u1d7d\u1d7b\u0003\u0002\u0002\u0002\u1d7d\u1d7c\u0003\u0002\u0002", - "\u0002\u1d7e\u1dc2\u0003\u0002\u0002\u0002\u1d7f\u1d81\u0007\u033e\u0002", - "\u0002\u1d80\u1d7f\u0003\u0002\u0002\u0002\u1d80\u1d81\u0003\u0002\u0002", - "\u0002\u1d81\u1d82\u0003\u0002\u0002\u0002\u1d82\u1d83\u0007$\u0002", - "\u0002\u1d83\u1d86\u0007\u032a\u0002\u0002\u1d84\u1d87\u0007\u0322\u0002", - "\u0002\u1d85\u1d87\u0005\u03c6\u01e4\u0002\u1d86\u1d84\u0003\u0002\u0002", - "\u0002\u1d86\u1d85\u0003\u0002\u0002\u0002\u1d87\u1dc2\u0003\u0002\u0002", - "\u0002\u1d88\u1d8a\u0007\u033e\u0002\u0002\u1d89\u1d88\u0003\u0002\u0002", - "\u0002\u1d89\u1d8a\u0003\u0002\u0002\u0002\u1d8a\u1d8b\u0003\u0002\u0002", - "\u0002\u1d8b\u1d8c\u0007\u00bf\u0002\u0002\u1d8c\u1d8f\u0007\u032a\u0002", - "\u0002\u1d8d\u1d90\u0007\u0322\u0002\u0002\u1d8e\u1d90\u0005\u03c6\u01e4", - "\u0002\u1d8f\u1d8d\u0003\u0002\u0002\u0002\u1d8f\u1d8e\u0003\u0002\u0002", - "\u0002\u1d90\u1dc2\u0003\u0002\u0002\u0002\u1d91\u1d93\u0007\u033e\u0002", - "\u0002\u1d92\u1d91\u0003\u0002\u0002\u0002\u1d92\u1d93\u0003\u0002\u0002", - "\u0002\u1d93\u1d94\u0003\u0002\u0002\u0002\u1d94\u1dc2\tW\u0002\u0002", - "\u1d95\u1d97\u0007\u033e\u0002\u0002\u1d96\u1d95\u0003\u0002\u0002\u0002", - "\u1d96\u1d97\u0003\u0002\u0002\u0002\u1d97\u1d98\u0003\u0002\u0002\u0002", - "\u1d98\u1dc2\tX\u0002\u0002\u1d99\u1d9b\u0007\u033e\u0002\u0002\u1d9a", - "\u1d99\u0003\u0002\u0002\u0002\u1d9a\u1d9b\u0003\u0002\u0002\u0002\u1d9b", - "\u1d9c\u0003\u0002\u0002\u0002\u1d9c\u1dc2\u0007\u0115\u0002\u0002\u1d9d", - "\u1d9f\u0007\u033e\u0002\u0002\u1d9e\u1d9d\u0003\u0002\u0002\u0002\u1d9e", - "\u1d9f\u0003\u0002\u0002\u0002\u1d9f\u1da0\u0003\u0002\u0002\u0002\u1da0", - "\u1da3\u0007\u014a\u0002\u0002\u1da1\u1da2\u0007\u032a\u0002\u0002\u1da2", - "\u1da4\u0007\u0322\u0002\u0002\u1da3\u1da1\u0003\u0002\u0002\u0002\u1da3", - "\u1da4\u0003\u0002\u0002\u0002\u1da4\u1dc2\u0003\u0002\u0002\u0002\u1da5", - "\u1da7\u0007\u033e\u0002\u0002\u1da6\u1da5\u0003\u0002\u0002\u0002\u1da6", - "\u1da7\u0003\u0002\u0002\u0002\u1da7\u1da8\u0003\u0002\u0002\u0002\u1da8", - "\u1dc2\tY\u0002\u0002\u1da9\u1dab\u0007\u033e\u0002\u0002\u1daa\u1da9", - "\u0003\u0002\u0002\u0002\u1daa\u1dab\u0003\u0002\u0002\u0002\u1dab\u1dac", - "\u0003\u0002\u0002\u0002\u1dac\u1dc2\tZ\u0002\u0002\u1dad\u1daf\u0007", - "\u033e\u0002\u0002\u1dae\u1dad\u0003\u0002\u0002\u0002\u1dae\u1daf\u0003", - "\u0002\u0002\u0002\u1daf\u1db0\u0003\u0002\u0002\u0002\u1db0\u1db1\u0007", - "\u01ec\u0002\u0002\u1db1\u1db2\u0007\u033c\u0002\u0002\u1db2\u1db3\u0007", - "\u018a\u0002\u0002\u1db3\u1db4\u0007\u032a\u0002\u0002\u1db4\u1db5\t", - "[\u0002\u0002\u1db5\u1db6\u0007\u033e\u0002\u0002\u1db6\u1db7\u0007", - "\u0135\u0002\u0002\u1db7\u1db8\u0007+\u0002\u0002\u1db8\u1dbf\u0007", - "\u032a\u0002\u0002\u1db9\u1dc0\u0005\u03c6\u01e4\u0002\u1dba\u1dbb\u0007", - "\u0135\u0002\u0002\u1dbb\u1dbc\u0007\u0012\u0002\u0002\u1dbc\u1dbd\u0007", - "\u00ac\u0002\u0002\u1dbd\u1dbe\u0007\u032a\u0002\u0002\u1dbe\u1dc0\u0005", - "\u03c6\u01e4\u0002\u1dbf\u1db9\u0003\u0002\u0002\u0002\u1dbf\u1dba\u0003", - "\u0002\u0002\u0002\u1dc0\u1dc2\u0003\u0002\u0002\u0002\u1dc1\u1d28\u0003", - "\u0002\u0002\u0002\u1dc1\u1d2c\u0003\u0002\u0002\u0002\u1dc1\u1d30\u0003", - "\u0002\u0002\u0002\u1dc1\u1d34\u0003\u0002\u0002\u0002\u1dc1\u1d3d\u0003", - "\u0002\u0002\u0002\u1dc1\u1d43\u0003\u0002\u0002\u0002\u1dc1\u1d47\u0003", - "\u0002\u0002\u0002\u1dc1\u1d4b\u0003\u0002\u0002\u0002\u1dc1\u1d5c\u0003", - "\u0002\u0002\u0002\u1dc1\u1d60\u0003\u0002\u0002\u0002\u1dc1\u1d64\u0003", - "\u0002\u0002\u0002\u1dc1\u1d68\u0003\u0002\u0002\u0002\u1dc1\u1d71\u0003", - "\u0002\u0002\u0002\u1dc1\u1d77\u0003\u0002\u0002\u0002\u1dc1\u1d80\u0003", - "\u0002\u0002\u0002\u1dc1\u1d89\u0003\u0002\u0002\u0002\u1dc1\u1d92\u0003", - "\u0002\u0002\u0002\u1dc1\u1d96\u0003\u0002\u0002\u0002\u1dc1\u1d9a\u0003", - "\u0002\u0002\u0002\u1dc1\u1d9e\u0003\u0002\u0002\u0002\u1dc1\u1da6\u0003", - "\u0002\u0002\u0002\u1dc1\u1daa\u0003\u0002\u0002\u0002\u1dc1\u1dae\u0003", - "\u0002\u0002\u0002\u1dc2\u1dc5\u0003\u0002\u0002\u0002\u1dc3\u1dc1\u0003", - "\u0002\u0002\u0002\u1dc3\u1dc4\u0003\u0002\u0002\u0002\u1dc4\u1dc7\u0003", - "\u0002\u0002\u0002\u1dc5\u1dc3\u0003\u0002\u0002\u0002\u1dc6\u1d26\u0003", - "\u0002\u0002\u0002\u1dc6\u1dc7\u0003\u0002\u0002\u0002\u1dc7\u0267\u0003", - "\u0002\u0002\u0002\u1dc8\u1dc9\u0007\u001a\u0002\u0002\u1dc9\u1dca\u0007", - "\u00bb\u0002\u0002\u1dca\u1de2\u0005\u03c6\u01e4\u0002\u1dcb\u1dd0\u0007", - "\u015a\u0002\u0002\u1dcc\u1dce\u0007\u033e\u0002\u0002\u1dcd\u1dcc\u0003", - "\u0002\u0002\u0002\u1dcd\u1dce\u0003\u0002\u0002\u0002\u1dce\u1dcf\u0003", - "\u0002\u0002\u0002\u1dcf\u1dd1\u0005\u03c6\u01e4\u0002\u1dd0\u1dcd\u0003", - "\u0002\u0002\u0002\u1dd1\u1dd2\u0003\u0002\u0002\u0002\u1dd2\u1dd0\u0003", - "\u0002\u0002\u0002\u1dd2\u1dd3\u0003\u0002\u0002\u0002\u1dd3\u1de3\u0003", - "\u0002\u0002\u0002\u1dd4\u1dde\u0007\u015a\u0002\u0002\u1dd5\u1dd7\u0007", - "\u033e\u0002\u0002\u1dd6\u1dd5\u0003\u0002\u0002\u0002\u1dd6\u1dd7\u0003", - "\u0002\u0002\u0002\u1dd7\u1dd8\u0003\u0002\u0002\u0002\u1dd8\u1dd9\t", - "R\u0002\u0002\u1dd9\u1ddc\u0007\u032a\u0002\u0002\u1dda\u1ddd\u0007", - "\u0326\u0002\u0002\u1ddb\u1ddd\u0005\u03c6\u01e4\u0002\u1ddc\u1dda\u0003", - "\u0002\u0002\u0002\u1ddc\u1ddb\u0003\u0002\u0002\u0002\u1ddd\u1ddf\u0003", - "\u0002\u0002\u0002\u1dde\u1dd6\u0003\u0002\u0002\u0002\u1ddf\u1de0\u0003", - "\u0002\u0002\u0002\u1de0\u1dde\u0003\u0002\u0002\u0002\u1de0\u1de1\u0003", - "\u0002\u0002\u0002\u1de1\u1de3\u0003\u0002\u0002\u0002\u1de2\u1dcb\u0003", - "\u0002\u0002\u0002\u1de2\u1dd4\u0003\u0002\u0002\u0002\u1de3\u1e05\u0003", - "\u0002\u0002\u0002\u1de4\u1de5\u0007\u00cd\u0002\u0002\u1de5\u1dea\u0007", - "\u015a\u0002\u0002\u1de6\u1de8\u0007\u033e\u0002\u0002\u1de7\u1de6\u0003", - "\u0002\u0002\u0002\u1de7\u1de8\u0003\u0002\u0002\u0002\u1de8\u1de9\u0003", - "\u0002\u0002\u0002\u1de9\u1deb\u0005\u03c6\u01e4\u0002\u1dea\u1de7\u0003", - "\u0002\u0002\u0002\u1deb\u1dec\u0003\u0002\u0002\u0002\u1dec\u1dea\u0003", - "\u0002\u0002\u0002\u1dec\u1ded\u0003\u0002\u0002\u0002\u1ded\u1def\u0003", - "\u0002\u0002\u0002\u1dee\u1de4\u0003\u0002\u0002\u0002\u1def\u1df0\u0003", - "\u0002\u0002\u0002\u1df0\u1dee\u0003\u0002\u0002\u0002\u1df0\u1df1\u0003", - "\u0002\u0002\u0002\u1df1\u1e06\u0003\u0002\u0002\u0002\u1df2\u1df3\u0007", - "\u00cd\u0002\u0002\u1df3\u1dfd\u0007\u015a\u0002\u0002\u1df4\u1df6\u0007", - "\u033e\u0002\u0002\u1df5\u1df4\u0003\u0002\u0002\u0002\u1df5\u1df6\u0003", - "\u0002\u0002\u0002\u1df6\u1df7\u0003\u0002\u0002\u0002\u1df7\u1df8\t", - "R\u0002\u0002\u1df8\u1dfb\u0007\u032a\u0002\u0002\u1df9\u1dfc\u0007", - "\u0326\u0002\u0002\u1dfa\u1dfc\u0005\u03c6\u01e4\u0002\u1dfb\u1df9\u0003", - "\u0002\u0002\u0002\u1dfb\u1dfa\u0003\u0002\u0002\u0002\u1dfc\u1dfe\u0003", - "\u0002\u0002\u0002\u1dfd\u1df5\u0003\u0002\u0002\u0002\u1dfe\u1dff\u0003", - "\u0002\u0002\u0002\u1dff\u1dfd\u0003\u0002\u0002\u0002\u1dff\u1e00\u0003", - "\u0002\u0002\u0002\u1e00\u1e02\u0003\u0002\u0002\u0002\u1e01\u1df2\u0003", - "\u0002\u0002\u0002\u1e02\u1e03\u0003\u0002\u0002\u0002\u1e03\u1e01\u0003", - "\u0002\u0002\u0002\u1e03\u1e04\u0003\u0002\u0002\u0002\u1e04\u1e06\u0003", - "\u0002\u0002\u0002\u1e05\u1dee\u0003\u0002\u0002\u0002\u1e05\u1e01\u0003", - "\u0002\u0002\u0002\u1e05\u1e06\u0003\u0002\u0002\u0002\u1e06\u1eb4\u0003", - "\u0002\u0002\u0002\u1e07\u1eb1\u0007\u0179\u0002\u0002\u1e08\u1e0a\u0007", - "\u033e\u0002\u0002\u1e09\u1e08\u0003\u0002\u0002\u0002\u1e09\u1e0a\u0003", - "\u0002\u0002\u0002\u1e0a\u1e0b\u0003\u0002\u0002\u0002\u1e0b\u1eb0\u0007", - "`\u0002\u0002\u1e0c\u1e0e\u0007\u033e\u0002\u0002\u1e0d\u1e0c\u0003", - "\u0002\u0002\u0002\u1e0d\u1e0e\u0003\u0002\u0002\u0002\u1e0e\u1e0f\u0003", - "\u0002\u0002\u0002\u1e0f\u1eb0\u0007H\u0002\u0002\u1e10\u1e12\u0007", - "\u033e\u0002\u0002\u1e11\u1e10\u0003\u0002\u0002\u0002\u1e11\u1e12\u0003", - "\u0002\u0002\u0002\u1e12\u1e13\u0003\u0002\u0002\u0002\u1e13\u1eb0\t", - "S\u0002\u0002\u1e14\u1e16\u0007\u033e\u0002\u0002\u1e15\u1e14\u0003", - "\u0002\u0002\u0002\u1e15\u1e16\u0003\u0002\u0002\u0002\u1e16\u1e17\u0003", - "\u0002\u0002\u0002\u1e17\u1e18\u0007\u01db\u0002\u0002\u1e18\u1e1b\u0007", - "\u032a\u0002\u0002\u1e19\u1e1c\u0007\u0326\u0002\u0002\u1e1a\u1e1c\u0005", - "\u03c6\u01e4\u0002\u1e1b\u1e19\u0003\u0002\u0002\u0002\u1e1b\u1e1a\u0003", - "\u0002\u0002\u0002\u1e1c\u1eb0\u0003\u0002\u0002\u0002\u1e1d\u1e1f\u0007", - "\u033e\u0002\u0002\u1e1e\u1e1d\u0003\u0002\u0002\u0002\u1e1e\u1e1f\u0003", - "\u0002\u0002\u0002\u1e1f\u1e20\u0003\u0002\u0002\u0002\u1e20\u1e21\u0007", - "\u025d\u0002\u0002\u1e21\u1e22\u0007\u032a\u0002\u0002\u1e22\u1eb0\u0005", - "\u03c6\u01e4\u0002\u1e23\u1e25\u0007\u033e\u0002\u0002\u1e24\u1e23\u0003", - "\u0002\u0002\u0002\u1e24\u1e25\u0003\u0002\u0002\u0002\u1e25\u1e26\u0003", - "\u0002\u0002\u0002\u1e26\u1eb0\u0007\u01c4\u0002\u0002\u1e27\u1e29\u0007", - "\u033e\u0002\u0002\u1e28\u1e27\u0003\u0002\u0002\u0002\u1e28\u1e29\u0003", - "\u0002\u0002\u0002\u1e29\u1e2a\u0003\u0002\u0002\u0002\u1e2a\u1eb0\u0007", - "\u0084\u0002\u0002\u1e2b\u1e2d\u0007\u033e\u0002\u0002\u1e2c\u1e2b\u0003", - "\u0002\u0002\u0002\u1e2c\u1e2d\u0003\u0002\u0002\u0002\u1e2d\u1e3a\u0003", - "\u0002\u0002\u0002\u1e2e\u1e2f\u0007x\u0002\u0002\u1e2f\u1e32\u0007", - "\u032a\u0002\u0002\u1e30\u1e33\u0007\u0326\u0002\u0002\u1e31\u1e33\u0005", - "\u03c6\u01e4\u0002\u1e32\u1e30\u0003\u0002\u0002\u0002\u1e32\u1e31\u0003", - "\u0002\u0002\u0002\u1e33\u1e3b\u0003\u0002\u0002\u0002\u1e34\u1e35\u0007", - "\u0119\u0002\u0002\u1e35\u1e38\u0007\u032a\u0002\u0002\u1e36\u1e39\u0007", - "\u0322\u0002\u0002\u1e37\u1e39\u0005\u03c6\u01e4\u0002\u1e38\u1e36\u0003", - "\u0002\u0002\u0002\u1e38\u1e37\u0003\u0002\u0002\u0002\u1e39\u1e3b\u0003", - "\u0002\u0002\u0002\u1e3a\u1e2e\u0003\u0002\u0002\u0002\u1e3a\u1e34\u0003", - "\u0002\u0002\u0002\u1e3b\u1eb0\u0003\u0002\u0002\u0002\u1e3c\u1e3e\u0007", - "\u033e\u0002\u0002\u1e3d\u1e3c\u0003\u0002\u0002\u0002\u1e3d\u1e3e\u0003", - "\u0002\u0002\u0002\u1e3e\u1e3f\u0003\u0002\u0002\u0002\u1e3f\u1eb0\t", - "T\u0002\u0002\u1e40\u1e42\u0007\u033e\u0002\u0002\u1e41\u1e40\u0003", - "\u0002\u0002\u0002\u1e41\u1e42\u0003\u0002\u0002\u0002\u1e42\u1e43\u0003", - "\u0002\u0002\u0002\u1e43\u1eb0\tU\u0002\u0002\u1e44\u1e46\u0007\u033e", - "\u0002\u0002\u1e45\u1e44\u0003\u0002\u0002\u0002\u1e45\u1e46\u0003\u0002", - "\u0002\u0002\u1e46\u1e47\u0003\u0002\u0002\u0002\u1e47\u1eb0\tV\u0002", - "\u0002\u1e48\u1e4a\u0007\u033e\u0002\u0002\u1e49\u1e48\u0003\u0002\u0002", - "\u0002\u1e49\u1e4a\u0003\u0002\u0002\u0002\u1e4a\u1e4b\u0003\u0002\u0002", - "\u0002\u1e4b\u1e4c\u0007\u00c5\u0002\u0002\u1e4c\u1e4f\u0007\u032a\u0002", - "\u0002\u1e4d\u1e50\u0007\u0326\u0002\u0002\u1e4e\u1e50\u0005\u03c6\u01e4", - "\u0002\u1e4f\u1e4d\u0003\u0002\u0002\u0002\u1e4f\u1e4e\u0003\u0002\u0002", - "\u0002\u1e50\u1eb0\u0003\u0002\u0002\u0002\u1e51\u1e53\u0007\u033e\u0002", - "\u0002\u1e52\u1e51\u0003\u0002\u0002\u0002\u1e52\u1e53\u0003\u0002\u0002", - "\u0002\u1e53\u1e54\u0003\u0002\u0002\u0002\u1e54\u1e55\u0007\u00c6\u0002", - "\u0002\u1e55\u1e56\u0007\u032a\u0002\u0002\u1e56\u1eb0\u0007\u0326\u0002", - "\u0002\u1e57\u1e59\u0007\u033e\u0002\u0002\u1e58\u1e57\u0003\u0002\u0002", - "\u0002\u1e58\u1e59\u0003\u0002\u0002\u0002\u1e59\u1e5a\u0003\u0002\u0002", - "\u0002\u1e5a\u1e5b\u0007\u001f\u0002\u0002\u1e5b\u1e5e\u0007\u032a\u0002", - "\u0002\u1e5c\u1e5f\u0007\u0322\u0002\u0002\u1e5d\u1e5f\u0005\u03c6\u01e4", - "\u0002\u1e5e\u1e5c\u0003\u0002\u0002\u0002\u1e5e\u1e5d\u0003\u0002\u0002", - "\u0002\u1e5f\u1eb0\u0003\u0002\u0002\u0002\u1e60\u1e62\u0007\u033e\u0002", - "\u0002\u1e61\u1e60\u0003\u0002\u0002\u0002\u1e61\u1e62\u0003\u0002\u0002", - "\u0002\u1e62\u1e63\u0003\u0002\u0002\u0002\u1e63\u1e64\u0007$\u0002", - "\u0002\u1e64\u1e67\u0007\u032a\u0002\u0002\u1e65\u1e68\u0007\u0322\u0002", - "\u0002\u1e66\u1e68\u0005\u03c6\u01e4\u0002\u1e67\u1e65\u0003\u0002\u0002", - "\u0002\u1e67\u1e66\u0003\u0002\u0002\u0002\u1e68\u1eb0\u0003\u0002\u0002", - "\u0002\u1e69\u1e6b\u0007\u033e\u0002\u0002\u1e6a\u1e69\u0003\u0002\u0002", - "\u0002\u1e6a\u1e6b\u0003\u0002\u0002\u0002\u1e6b\u1e6c\u0003\u0002\u0002", - "\u0002\u1e6c\u1e6d\u0007\u00bf\u0002\u0002\u1e6d\u1e70\u0007\u032a\u0002", - "\u0002\u1e6e\u1e71\u0007\u0322\u0002\u0002\u1e6f\u1e71\u0005\u03c6\u01e4", - "\u0002\u1e70\u1e6e\u0003\u0002\u0002\u0002\u1e70\u1e6f\u0003\u0002\u0002", - "\u0002\u1e71\u1eb0\u0003\u0002\u0002\u0002\u1e72\u1e74\u0007\u033e\u0002", - "\u0002\u1e73\u1e72\u0003\u0002\u0002\u0002\u1e73\u1e74\u0003\u0002\u0002", - "\u0002\u1e74\u1e75\u0003\u0002\u0002\u0002\u1e75\u1eb0\tW\u0002\u0002", - "\u1e76\u1e78\u0007\u033e\u0002\u0002\u1e77\u1e76\u0003\u0002\u0002\u0002", - "\u1e77\u1e78\u0003\u0002\u0002\u0002\u1e78\u1e79\u0003\u0002\u0002\u0002", - "\u1e79\u1eb0\tX\u0002\u0002\u1e7a\u1e7c\u0007\u033e\u0002\u0002\u1e7b", - "\u1e7a\u0003\u0002\u0002\u0002\u1e7b\u1e7c\u0003\u0002\u0002\u0002\u1e7c", - "\u1e7d\u0003\u0002\u0002\u0002\u1e7d\u1eb0\u0007\u0115\u0002\u0002\u1e7e", - "\u1e80\u0007\u033e\u0002\u0002\u1e7f\u1e7e\u0003\u0002\u0002\u0002\u1e7f", - "\u1e80\u0003\u0002\u0002\u0002\u1e80\u1e81\u0003\u0002\u0002\u0002\u1e81", - "\u1e84\u0007\u014a\u0002\u0002\u1e82\u1e83\u0007\u032a\u0002\u0002\u1e83", - "\u1e85\u0007\u0322\u0002\u0002\u1e84\u1e82\u0003\u0002\u0002\u0002\u1e84", - "\u1e85\u0003\u0002\u0002\u0002\u1e85\u1eb0\u0003\u0002\u0002\u0002\u1e86", - "\u1e88\u0007\u033e\u0002\u0002\u1e87\u1e86\u0003\u0002\u0002\u0002\u1e87", - "\u1e88\u0003\u0002\u0002\u0002\u1e88\u1e89\u0003\u0002\u0002\u0002\u1e89", - "\u1eb0\tY\u0002\u0002\u1e8a\u1e8c\u0007\u033e\u0002\u0002\u1e8b\u1e8a", - "\u0003\u0002\u0002\u0002\u1e8b\u1e8c\u0003\u0002\u0002\u0002\u1e8c\u1e8d", - "\u0003\u0002\u0002\u0002\u1e8d\u1eb0\tZ\u0002\u0002\u1e8e\u1e90\u0007", - "\u033e\u0002\u0002\u1e8f\u1e8e\u0003\u0002\u0002\u0002\u1e8f\u1e90\u0003", - "\u0002\u0002\u0002\u1e90\u1e95\u0003\u0002\u0002\u0002\u1e91\u1e96\u0007", - "\u026b\u0002\u0002\u1e92\u1e93\u0007\u02dc\u0002\u0002\u1e93\u1e94\u0007", - "\u032a\u0002\u0002\u1e94\u1e96\u0007\u0326\u0002\u0002\u1e95\u1e91\u0003", - "\u0002\u0002\u0002\u1e95\u1e92\u0003\u0002\u0002\u0002\u1e96\u1eb0\u0003", - "\u0002\u0002\u0002\u1e97\u1e99\u0007\u033e\u0002\u0002\u1e98\u1e97\u0003", - "\u0002\u0002\u0002\u1e98\u1e99\u0003\u0002\u0002\u0002\u1e99\u1e9a\u0003", - "\u0002\u0002\u0002\u1e9a\u1eb0\u0007\u0264\u0002\u0002\u1e9b\u1e9d\u0007", - "\u033e\u0002\u0002\u1e9c\u1e9b\u0003\u0002\u0002\u0002\u1e9c\u1e9d\u0003", - "\u0002\u0002\u0002\u1e9d\u1e9e\u0003\u0002\u0002\u0002\u1e9e\u1e9f\u0007", - "\u01ec\u0002\u0002\u1e9f\u1ea0\u0007\u033c\u0002\u0002\u1ea0\u1ea1\u0007", - "\u018a\u0002\u0002\u1ea1\u1ea2\u0007\u032a\u0002\u0002\u1ea2\u1ea3\t", - "[\u0002\u0002\u1ea3\u1ea4\u0007\u033e\u0002\u0002\u1ea4\u1ea5\u0007", - "\u0135\u0002\u0002\u1ea5\u1ea6\u0007+\u0002\u0002\u1ea6\u1ead\u0007", - "\u032a\u0002\u0002\u1ea7\u1eae\u0005\u03c6\u01e4\u0002\u1ea8\u1ea9\u0007", - "\u0135\u0002\u0002\u1ea9\u1eaa\u0007\u0012\u0002\u0002\u1eaa\u1eab\u0007", - "\u00ac\u0002\u0002\u1eab\u1eac\u0007\u032a\u0002\u0002\u1eac\u1eae\u0005", - "\u03c6\u01e4\u0002\u1ead\u1ea7\u0003\u0002\u0002\u0002\u1ead\u1ea8\u0003", - "\u0002\u0002\u0002\u1eae\u1eb0\u0003\u0002\u0002\u0002\u1eaf\u1e09\u0003", - "\u0002\u0002\u0002\u1eaf\u1e0d\u0003\u0002\u0002\u0002\u1eaf\u1e11\u0003", - "\u0002\u0002\u0002\u1eaf\u1e15\u0003\u0002\u0002\u0002\u1eaf\u1e1e\u0003", - "\u0002\u0002\u0002\u1eaf\u1e24\u0003\u0002\u0002\u0002\u1eaf\u1e28\u0003", - "\u0002\u0002\u0002\u1eaf\u1e2c\u0003\u0002\u0002\u0002\u1eaf\u1e3d\u0003", - "\u0002\u0002\u0002\u1eaf\u1e41\u0003\u0002\u0002\u0002\u1eaf\u1e45\u0003", - "\u0002\u0002\u0002\u1eaf\u1e49\u0003\u0002\u0002\u0002\u1eaf\u1e52\u0003", - "\u0002\u0002\u0002\u1eaf\u1e58\u0003\u0002\u0002\u0002\u1eaf\u1e61\u0003", - "\u0002\u0002\u0002\u1eaf\u1e6a\u0003\u0002\u0002\u0002\u1eaf\u1e73\u0003", - "\u0002\u0002\u0002\u1eaf\u1e77\u0003\u0002\u0002\u0002\u1eaf\u1e7b\u0003", - "\u0002\u0002\u0002\u1eaf\u1e7f\u0003\u0002\u0002\u0002\u1eaf\u1e87\u0003", - "\u0002\u0002\u0002\u1eaf\u1e8b\u0003\u0002\u0002\u0002\u1eaf\u1e8f\u0003", - "\u0002\u0002\u0002\u1eaf\u1e98\u0003\u0002\u0002\u0002\u1eaf\u1e9c\u0003", - "\u0002\u0002\u0002\u1eb0\u1eb3\u0003\u0002\u0002\u0002\u1eb1\u1eaf\u0003", - "\u0002\u0002\u0002\u1eb1\u1eb2\u0003\u0002\u0002\u0002\u1eb2\u1eb5\u0003", - "\u0002\u0002\u0002\u1eb3\u1eb1\u0003\u0002\u0002\u0002\u1eb4\u1e07\u0003", - "\u0002\u0002\u0002\u1eb4\u1eb5\u0003\u0002\u0002\u0002\u1eb5\u0269\u0003", - "\u0002\u0002\u0002\u1eb6\u1eb7\u0007\u001a\u0002\u0002\u1eb7\u1eb8\u0007", - "+\u0002\u0002\u1eb8\u1eb9\u0005\u03c6\u01e4\u0002\u1eb9\u1eba\u0007", - "\u015a\u0002\u0002\u1eba\u1ebb\u0007\u0081\u0002\u0002\u1ebb\u1ebc\u0007", - "\u032a\u0002\u0002\u1ebc\u1edc\u0007\u0326\u0002\u0002\u1ebd\u1ebe\u0007", - "\u0179\u0002\u0002\u1ebe\u1ebf\u0007\u028c\u0002\u0002\u1ebf\u1ec0\u0007", - "\u00ac\u0002\u0002\u1ec0\u1ed7\u0007\u033c\u0002\u0002\u1ec1\u1ec3\u0007", - "\u033e\u0002\u0002\u1ec2\u1ec1\u0003\u0002\u0002\u0002\u1ec2\u1ec3\u0003", - "\u0002\u0002\u0002\u1ec3\u1ec4\u0003\u0002\u0002\u0002\u1ec4\u1ec5\u0007", - "\u0081\u0002\u0002\u1ec5\u1ec6\u0007\u032a\u0002\u0002\u1ec6\u1ed8\u0007", - "\u0326\u0002\u0002\u1ec7\u1ec9\u0007\u033e\u0002\u0002\u1ec8\u1ec7\u0003", - "\u0002\u0002\u0002\u1ec8\u1ec9\u0003\u0002\u0002\u0002\u1ec9\u1eca\u0003", - "\u0002\u0002\u0002\u1eca\u1ecb\u0007\u01ec\u0002\u0002\u1ecb\u1ecc\u0007", - "&\u0002\u0002\u1ecc\u1ecd\u0007\u00f4\u0002\u0002\u1ecd\u1ece\u0007", - "\u032a\u0002\u0002\u1ece\u1ed8\u0007\u0326\u0002\u0002\u1ecf\u1ed1\u0007", - "\u033e\u0002\u0002\u1ed0\u1ecf\u0003\u0002\u0002\u0002\u1ed0\u1ed1\u0003", - "\u0002\u0002\u0002\u1ed1\u1ed2\u0003\u0002\u0002\u0002\u1ed2\u1ed3\u0007", - "\u01d1\u0002\u0002\u1ed3\u1ed4\u0007&\u0002\u0002\u1ed4\u1ed5\u0007", - "\u00f4\u0002\u0002\u1ed5\u1ed6\u0007\u032a\u0002\u0002\u1ed6\u1ed8\u0007", - "\u0326\u0002\u0002\u1ed7\u1ec2\u0003\u0002\u0002\u0002\u1ed7\u1ec8\u0003", - "\u0002\u0002\u0002\u1ed7\u1ed0\u0003\u0002\u0002\u0002\u1ed8\u1ed9\u0003", - "\u0002\u0002\u0002\u1ed9\u1ed7\u0003\u0002\u0002\u0002\u1ed9\u1eda\u0003", - "\u0002\u0002\u0002\u1eda\u1edb\u0003\u0002\u0002\u0002\u1edb\u1edd\u0007", - "\u033d\u0002\u0002\u1edc\u1ebd\u0003\u0002\u0002\u0002\u1edc\u1edd\u0003", - "\u0002\u0002\u0002\u1edd\u026b\u0003\u0002\u0002\u0002\u1ede\u1edf\u0007", - "\u001a\u0002\u0002\u1edf\u1ee0\u0007\u00bd\u0002\u0002\u1ee0\u1ee1\u0007", - "\u00ac\u0002\u0002\u1ee1\u1ee2\u0007\u015a\u0002\u0002\u1ee2\u1ee3\u0007", - "\u0081\u0002\u0002\u1ee3\u1ee4\u0007\u032a\u0002\u0002\u1ee4\u1ee5\u0007", - "\u0326\u0002\u0002\u1ee5\u1ee6\u0007\u01ec\u0002\u0002\u1ee6\u1ee7\u0007", - "&\u0002\u0002\u1ee7\u1ee8\u0007\u00f4\u0002\u0002\u1ee8\u1ee9\u0007", - "\u032a\u0002\u0002\u1ee9\u1eea\u0007\u0326\u0002\u0002\u1eea\u026d\u0003", - "\u0002\u0002\u0002\u1eeb\u1eec\u0007\u001a\u0002\u0002\u1eec\u1eed\u0007", - "\u0136\u0002\u0002\u1eed\u1eee\u0007\u00bd\u0002\u0002\u1eee\u1eef\u0007", - "\u00ac\u0002\u0002\u1eef\u1ef0\u0007\u015a\u0002\u0002\u1ef0\u1ef1\u0007", - "\u0081\u0002\u0002\u1ef1\u1ef2\u0007\u032a\u0002\u0002\u1ef2\u1ef3\u0007", - "\u0326\u0002\u0002\u1ef3\u1ef4\u0007\u01ec\u0002\u0002\u1ef4\u1ef5\u0007", - "&\u0002\u0002\u1ef5\u1ef6\u0007\u00f4\u0002\u0002\u1ef6\u1ef7\u0007", - "\u032a\u0002\u0002\u1ef7\u1ef8\u0007\u0326\u0002\u0002\u1ef8\u026f\u0003", - "\u0002\u0002\u0002\u1ef9\u1efd\u0007\u00af\u0002\u0002\u1efa\u1efe\u0005", - "\u0272\u013a\u0002\u1efb\u1efe\u0005\u0274\u013b\u0002\u1efc\u1efe\u0005", - "\u0276\u013c\u0002\u1efd\u1efa\u0003\u0002\u0002\u0002\u1efd\u1efb\u0003", - "\u0002\u0002\u0002\u1efd\u1efc\u0003\u0002\u0002\u0002\u1efe\u0271\u0003", - "\u0002\u0002\u0002\u1eff\u1f02\t\u0018\u0002\u0002\u1f00\u1f02\u0007", - "\u0307\u0002\u0002\u1f01\u1eff\u0003\u0002\u0002\u0002\u1f01\u1f00\u0003", - "\u0002\u0002\u0002\u1f02\u1f05\u0003\u0002\u0002\u0002\u1f03\u1f04\u0007", - "\u0179\u0002\u0002\u1f04\u1f06\u0007\u02e1\u0002\u0002\u1f05\u1f03\u0003", - "\u0002\u0002\u0002\u1f05\u1f06\u0003\u0002\u0002\u0002\u1f06\u0273\u0003", - "\u0002\u0002\u0002\u1f07\u1f08\u0007\u0293\u0002\u0002\u1f08\u1f09\u0007", - "\u00dd\u0002\u0002\u1f09\u1f0c\u0007\u02e8\u0002\u0002\u1f0a\u1f0d\u0007", - "\u0006\u0002\u0002\u1f0b\u1f0d\u0007\u0322\u0002\u0002\u1f0c\u1f0a\u0003", - "\u0002\u0002\u0002\u1f0c\u1f0b\u0003\u0002\u0002\u0002\u1f0d\u0275\u0003", - "\u0002\u0002\u0002\u1f0e\u1f0f\u0007\u014a\u0002\u0002\u1f0f\u1f10\u0007", - "\u0226\u0002\u0002\u1f10\u1f11\u0007\u0322\u0002\u0002\u1f11\u0277\u0003", - "\u0002\u0002\u0002\u1f12\u1f13\u0007v\u0002\u0002\u1f13\u1f14\u0005", - "\u027a\u013e\u0002\u1f14\u0279\u0003\u0002\u0002\u0002\u1f15\u1f16\u0007", - "\u0321\u0002\u0002\u1f16\u1f18\u0007\u032a\u0002\u0002\u1f17\u1f15\u0003", - "\u0002\u0002\u0002\u1f17\u1f18\u0003\u0002\u0002\u0002\u1f18\u1f1b\u0003", - "\u0002\u0002\u0002\u1f19\u1f1c\u0005\u0396\u01cc\u0002\u1f1a\u1f1c\u0005", - "\u02d8\u016d\u0002\u1f1b\u1f19\u0003\u0002\u0002\u0002\u1f1b\u1f1a\u0003", - "\u0002\u0002\u0002\u1f1c\u1f25\u0003\u0002\u0002\u0002\u1f1d\u1f22\u0005", - "\u027c\u013f\u0002\u1f1e\u1f1f\u0007\u033e\u0002\u0002\u1f1f\u1f21\u0005", - "\u027c\u013f\u0002\u1f20\u1f1e\u0003\u0002\u0002\u0002\u1f21\u1f24\u0003", - "\u0002\u0002\u0002\u1f22\u1f20\u0003\u0002\u0002\u0002\u1f22\u1f23\u0003", - "\u0002\u0002\u0002\u1f23\u1f26\u0003\u0002\u0002\u0002\u1f24\u1f22\u0003", - "\u0002\u0002\u0002\u1f25\u1f1d\u0003\u0002\u0002\u0002\u1f25\u1f26\u0003", - "\u0002\u0002\u0002\u1f26\u1f28\u0003\u0002\u0002\u0002\u1f27\u1f29\u0007", - "\u033f\u0002\u0002\u1f28\u1f27\u0003\u0002\u0002\u0002\u1f28\u1f29\u0003", - "\u0002\u0002\u0002\u1f29\u1f40\u0003\u0002\u0002\u0002\u1f2a\u1f2b\u0007", - "\u033c\u0002\u0002\u1f2b\u1f30\u0005\u027e\u0140\u0002\u1f2c\u1f2d\u0007", - "\u0344\u0002\u0002\u1f2d\u1f2f\u0005\u027e\u0140\u0002\u1f2e\u1f2c\u0003", - "\u0002\u0002\u0002\u1f2f\u1f32\u0003\u0002\u0002\u0002\u1f30\u1f2e\u0003", - "\u0002\u0002\u0002\u1f30\u1f31\u0003\u0002\u0002\u0002\u1f31\u1f33\u0003", - "\u0002\u0002\u0002\u1f32\u1f30\u0003\u0002\u0002\u0002\u1f33\u1f3a\u0007", - "\u033d\u0002\u0002\u1f34\u1f36\u0007\u0010\u0002\u0002\u1f35\u1f34\u0003", - "\u0002\u0002\u0002\u1f35\u1f36\u0003\u0002\u0002\u0002\u1f36\u1f37\u0003", - "\u0002\u0002\u0002\u1f37\u1f38\t\\\u0002\u0002\u1f38\u1f39\u0007\u032a", - "\u0002\u0002\u1f39\u1f3b\u0007\u0326\u0002\u0002\u1f3a\u1f35\u0003\u0002", - "\u0002\u0002\u1f3a\u1f3b\u0003\u0002\u0002\u0002\u1f3b\u1f3d\u0003\u0002", - "\u0002\u0002\u1f3c\u1f3e\u0007\u033f\u0002\u0002\u1f3d\u1f3c\u0003\u0002", - "\u0002\u0002\u1f3d\u1f3e\u0003\u0002\u0002\u0002\u1f3e\u1f40\u0003\u0002", - "\u0002\u0002\u1f3f\u1f17\u0003\u0002\u0002\u0002\u1f3f\u1f2a\u0003\u0002", - "\u0002\u0002\u1f40\u027b\u0003\u0002\u0002\u0002\u1f41\u1f42\u0007\u0321", - "\u0002\u0002\u1f42\u1f44\u0007\u032a\u0002\u0002\u1f43\u1f41\u0003\u0002", - "\u0002\u0002\u1f43\u1f44\u0003\u0002\u0002\u0002\u1f44\u1f4e\u0003\u0002", - "\u0002\u0002\u1f45\u1f48\u0005\u02d6\u016c\u0002\u1f46\u1f48\u0005\u03c6", - "\u01e4\u0002\u1f47\u1f45\u0003\u0002\u0002\u0002\u1f47\u1f46\u0003\u0002", - "\u0002\u0002\u1f48\u1f4a\u0003\u0002\u0002\u0002\u1f49\u1f4b\t]\u0002", - "\u0002\u1f4a\u1f49\u0003\u0002\u0002\u0002\u1f4a\u1f4b\u0003\u0002\u0002", - "\u0002\u1f4b\u1f4f\u0003\u0002\u0002\u0002\u1f4c\u1f4f\u0007Y\u0002", - "\u0002\u1f4d\u1f4f\u0007\u00df\u0002\u0002\u1f4e\u1f47\u0003\u0002\u0002", - "\u0002\u1f4e\u1f4c\u0003\u0002\u0002\u0002\u1f4e\u1f4d\u0003\u0002\u0002", - "\u0002\u1f4f\u027d\u0003\u0002\u0002\u0002\u1f50\u1f51\t\u0003\u0002", - "\u0002\u1f51\u027f\u0003\u0002\u0002\u0002\u1f52\u1f54\u0005\u02ae\u0158", - "\u0002\u1f53\u1f55\u0007\u033f\u0002\u0002\u1f54\u1f53\u0003\u0002\u0002", - "\u0002\u1f54\u1f55\u0003\u0002\u0002\u0002\u1f55\u1f8e\u0003\u0002\u0002", - "\u0002\u1f56\u1f62\u0007\u0091\u0002\u0002\u1f57\u1f59\u0007\u0006\u0002", - "\u0002\u1f58\u1f5a\u0007\u028e\u0002\u0002\u1f59\u1f58\u0003\u0002\u0002", - "\u0002\u1f59\u1f5a\u0003\u0002\u0002\u0002\u1f5a\u1f63\u0003\u0002\u0002", - "\u0002\u1f5b\u1f60\u0005\u029a\u014e\u0002\u1f5c\u1f5d\u0007\u033c\u0002", - "\u0002\u1f5d\u1f5e\u0005\u039e\u01d0\u0002\u1f5e\u1f5f\u0007\u033d\u0002", - "\u0002\u1f5f\u1f61\u0003\u0002\u0002\u0002\u1f60\u1f5c\u0003\u0002\u0002", - "\u0002\u1f60\u1f61\u0003\u0002\u0002\u0002\u1f61\u1f63\u0003\u0002\u0002", - "\u0002\u1f62\u1f57\u0003\u0002\u0002\u0002\u1f62\u1f5b\u0003\u0002\u0002", - "\u0002\u1f63\u1f66\u0003\u0002\u0002\u0002\u1f64\u1f65\u0007\u00e5\u0002", - "\u0002\u1f65\u1f67\u0005\u038e\u01c8\u0002\u1f66\u1f64\u0003\u0002\u0002", - "\u0002\u1f66\u1f67\u0003\u0002\u0002\u0002\u1f67\u1f68\u0003\u0002\u0002", - "\u0002\u1f68\u1f69\u0007\u015a\u0002\u0002\u1f69\u1f6e\u0005\u03c6\u01e4", - "\u0002\u1f6a\u1f6b\u0007\u033e\u0002\u0002\u1f6b\u1f6d\u0005\u03c6\u01e4", - "\u0002\u1f6c\u1f6a\u0003\u0002\u0002\u0002\u1f6d\u1f70\u0003\u0002\u0002", - "\u0002\u1f6e\u1f6c\u0003\u0002\u0002\u0002\u1f6e\u1f6f\u0003\u0002\u0002", - "\u0002\u1f6f\u1f74\u0003\u0002\u0002\u0002\u1f70\u1f6e\u0003\u0002\u0002", - "\u0002\u1f71\u1f72\u0007\u0179\u0002\u0002\u1f72\u1f73\u0007\u0091\u0002", - "\u0002\u1f73\u1f75\u0007\u00ec\u0002\u0002\u1f74\u1f71\u0003\u0002\u0002", - "\u0002\u1f74\u1f75\u0003\u0002\u0002\u0002\u1f75\u1f78\u0003\u0002\u0002", - "\u0002\u1f76\u1f77\u0007\u0010\u0002\u0002\u1f77\u1f79\u0005\u03c6\u01e4", - "\u0002\u1f78\u1f76\u0003\u0002\u0002\u0002\u1f78\u1f79\u0003\u0002\u0002", - "\u0002\u1f79\u1f7b\u0003\u0002\u0002\u0002\u1f7a\u1f7c\u0007\u033f\u0002", - "\u0002\u1f7b\u1f7a\u0003\u0002\u0002\u0002\u1f7b\u1f7c\u0003\u0002\u0002", - "\u0002\u1f7c\u1f8e\u0003\u0002\u0002\u0002\u1f7d\u1f84\u0007\u011c\u0002", - "\u0002\u1f7e\u1f7f\u0007\u033c\u0002\u0002\u1f7f\u1f80\u0007\u0179\u0002", - "\u0002\u1f80\u1f81\u0007\u01bd\u0002\u0002\u1f81\u1f82\u0007\u032a\u0002", - "\u0002\u1f82\u1f83\u0007\u0321\u0002\u0002\u1f83\u1f85\u0007\u033d\u0002", - "\u0002\u1f84\u1f7e\u0003\u0002\u0002\u0002\u1f84\u1f85\u0003\u0002\u0002", - "\u0002\u1f85\u1f87\u0003\u0002\u0002\u0002\u1f86\u1f88\u0007\u033f\u0002", - "\u0002\u1f87\u1f86\u0003\u0002\u0002\u0002\u1f87\u1f88\u0003\u0002\u0002", - "\u0002\u1f88\u1f8e\u0003\u0002\u0002\u0002\u1f89\u1f8e\u0005\u028c\u0147", - "\u0002\u1f8a\u1f8e\u0005\u028e\u0148\u0002\u1f8b\u1f8e\u0005\u0290\u0149", - "\u0002\u1f8c\u1f8e\u0005\u0282\u0142\u0002\u1f8d\u1f52\u0003\u0002\u0002", - "\u0002\u1f8d\u1f56\u0003\u0002\u0002\u0002\u1f8d\u1f7d\u0003\u0002\u0002", - "\u0002\u1f8d\u1f89\u0003\u0002\u0002\u0002\u1f8d\u1f8a\u0003\u0002\u0002", - "\u0002\u1f8d\u1f8b\u0003\u0002\u0002\u0002\u1f8d\u1f8c\u0003\u0002\u0002", - "\u0002\u1f8e\u0281\u0003\u0002\u0002\u0002\u1f8f\u1f90\u0007I\u0002", - "\u0002\u1f90\u1f91\u0007+\u0002\u0002\u1f91\u1f94\u0005\u03c6\u01e4", - "\u0002\u1f92\u1f93\u0007\u0014\u0002\u0002\u1f93\u1f95\u0005\u03c6\u01e4", - "\u0002\u1f94\u1f92\u0003\u0002\u0002\u0002\u1f94\u1f95\u0003\u0002\u0002", - "\u0002\u1f95\u1f99\u0003\u0002\u0002\u0002\u1f96\u1f97\u0007\u008b\u0002", - "\u0002\u1f97\u1f9a\u0005\u0284\u0143\u0002\u1f98\u1f9a\u0005\u0288\u0145", - "\u0002\u1f99\u1f96\u0003\u0002\u0002\u0002\u1f99\u1f98\u0003\u0002\u0002", - "\u0002\u1f9a\u1fa1\u0003\u0002\u0002\u0002\u1f9b\u1f9c\u0007\u0182\u0002", - "\u0002\u1f9c\u1f9d\u0007\u0085\u0002\u0002\u1f9d\u1f9e\u0007\u001c\u0002", - "\u0002\u1f9e\u1f9f\u0007\u01de\u0002\u0002\u1f9f\u1fa0\u0007\u032a\u0002", - "\u0002\u1fa0\u1fa2\t\t\u0002\u0002\u1fa1\u1f9b\u0003\u0002\u0002\u0002", - "\u1fa1\u1fa2\u0003\u0002\u0002\u0002\u1fa2\u0283\u0003\u0002\u0002\u0002", - "\u1fa3\u1fa4\u0007\u0195\u0002\u0002\u1fa4\u1fb5\u0005\u03c6\u01e4\u0002", - "\u1fa5\u1fa7\u0007\u01f0\u0002\u0002\u1fa6\u1fa5\u0003\u0002\u0002\u0002", - "\u1fa6\u1fa7\u0003\u0002\u0002\u0002\u1fa7\u1fa8\u0003\u0002\u0002\u0002", - "\u1fa8\u1fa9\u0007\u0081\u0002\u0002\u1fa9\u1faa\u0007\u032a\u0002\u0002", - "\u1faa\u1fb2\u0007\u0326\u0002\u0002\u1fab\u1fac\u0007\u0179\u0002\u0002", - "\u1fac\u1fad\u0007\u028c\u0002\u0002\u1fad\u1fae\u0007\u00ac\u0002\u0002", - "\u1fae\u1faf\u0007\u033c\u0002\u0002\u1faf\u1fb0\u0005\u0286\u0144\u0002", - "\u1fb0\u1fb1\u0007\u033d\u0002\u0002\u1fb1\u1fb3\u0003\u0002\u0002\u0002", - "\u1fb2\u1fab\u0003\u0002\u0002\u0002\u1fb2\u1fb3\u0003\u0002\u0002\u0002", - "\u1fb3\u1fb5\u0003\u0002\u0002\u0002\u1fb4\u1fa3\u0003\u0002\u0002\u0002", - "\u1fb4\u1fa6\u0003\u0002\u0002\u0002\u1fb5\u0285\u0003\u0002\u0002\u0002", - "\u1fb6\u1fb7\t^\u0002\u0002\u1fb7\u1fb8\u0007\u032a\u0002\u0002\u1fb8", - "\u1fbf\u0007\u0326\u0002\u0002\u1fb9\u1fba\u0007\u033e\u0002\u0002\u1fba", - "\u1fbb\t_\u0002\u0002\u1fbb\u1fbc\u0007&\u0002\u0002\u1fbc\u1fbd\u0007", - "\u00f4\u0002\u0002\u1fbd\u1fbe\u0007\u032a\u0002\u0002\u1fbe\u1fc0\u0007", - "\u0326\u0002\u0002\u1fbf\u1fb9\u0003\u0002\u0002\u0002\u1fbf\u1fc0\u0003", - "\u0002\u0002\u0002\u1fc0\u0287\u0003\u0002\u0002\u0002\u1fc1\u1fc2\u0007", - "\u01ec\u0002\u0002\u1fc2\u1fc3\u0007&\u0002\u0002\u1fc3\u1fc4\u0007", - "\u00f4\u0002\u0002\u1fc4\u1fc5\u0007\u032a\u0002\u0002\u1fc5\u1fc7\u0007", - "\u0326\u0002\u0002\u1fc6\u1fc1\u0003\u0002\u0002\u0002\u1fc6\u1fc7\u0003", - "\u0002\u0002\u0002\u1fc7\u1fc8\u0003\u0002\u0002\u0002\u1fc8\u1fc9\u0007", - "\u0179\u0002\u0002\u1fc9\u1fca\u0007\u02e7\u0002\u0002\u1fca\u1fcb\u0007", - "\u032a\u0002\u0002\u1fcb\u1fd0\u0007\u0326\u0002\u0002\u1fcc\u1fcd\u0007", - "\u033e\u0002\u0002\u1fcd\u1fcf\u0005\u028a\u0146\u0002\u1fce\u1fcc\u0003", - "\u0002\u0002\u0002\u1fcf\u1fd2\u0003\u0002\u0002\u0002\u1fd0\u1fce\u0003", - "\u0002\u0002\u0002\u1fd0\u1fd1\u0003\u0002\u0002\u0002\u1fd1\u0289\u0003", - "\u0002\u0002\u0002\u1fd2\u1fd0\u0003\u0002\u0002\u0002\u1fd3\u1fd4\t", - "`\u0002\u0002\u1fd4\u1fd5\u0007\u032a\u0002\u0002\u1fd5\u1fd6\u0007", - "\u0326\u0002\u0002\u1fd6\u028b\u0003\u0002\u0002\u0002\u1fd7\u1fd8\u0007", - "\u00e7\u0002\u0002\u1fd8\u1fd9\u0007\u02eb\u0002\u0002\u1fd9\u1fda\u0007", - "\u00ac\u0002\u0002\u1fda\u1fdb\u0005\u03c6\u01e4\u0002\u1fdb\u1fdc\u0007", - "\u01d1\u0002\u0002\u1fdc\u1fdd\u0007&\u0002\u0002\u1fdd\u1fde\u0005", - "\u0298\u014d\u0002\u1fde\u1fe8\u0003\u0002\u0002\u0002\u1fdf\u1fe0\u0007", - "\u00e7\u0002\u0002\u1fe0\u1fe1\u0007\u00bd\u0002\u0002\u1fe1\u1fe2\u0007", - "\u00ac\u0002\u0002\u1fe2\u1fe3\u0007\u01d1\u0002\u0002\u1fe3\u1fe4\u0007", - "&\u0002\u0002\u1fe4\u1fe5\u0007\u00f4\u0002\u0002\u1fe5\u1fe6\u0007", - "\u032a\u0002\u0002\u1fe6\u1fe8\u0007\u0326\u0002\u0002\u1fe7\u1fd7\u0003", - "\u0002\u0002\u0002\u1fe7\u1fdf\u0003\u0002\u0002\u0002\u1fe8\u028d\u0003", - "\u0002\u0002\u0002\u1fe9\u1fea\u00073\u0002\u0002\u1fea\u1feb\u0007", - "\u02eb\u0002\u0002\u1feb\u1fec\u0007\u00ac\u0002\u0002\u1fec\u1ff5\u0005", - "\u03c6\u01e4\u0002\u1fed\u1fee\u00073\u0002\u0002\u1fee\u1fef\u0007", - "\u0006\u0002\u0002\u1fef\u1ff0\u0007\u02eb\u0002\u0002\u1ff0\u1ff5\u0007", - "\u022c\u0002\u0002\u1ff1\u1ff2\u00073\u0002\u0002\u1ff2\u1ff3\u0007", - "\u00bd\u0002\u0002\u1ff3\u1ff5\u0007\u00ac\u0002\u0002\u1ff4\u1fe9\u0003", - "\u0002\u0002\u0002\u1ff4\u1fed\u0003\u0002\u0002\u0002\u1ff4\u1ff1\u0003", - "\u0002\u0002\u0002\u1ff5\u028f\u0003\u0002\u0002\u0002\u1ff6\u1ff7\u0007", - "I\u0002\u0002\u1ff7\u1ff8\u0007\u00bd\u0002\u0002\u1ff8\u1ff9\u0007", - "\u00ac\u0002\u0002\u1ff9\u1ffa\u0007\u01ec\u0002\u0002\u1ffa\u1ffb\u0007", - "&\u0002\u0002\u1ffb\u1ffc\u0007\u00f4\u0002\u0002\u1ffc\u1ffd\u0007", - "\u032a\u0002\u0002\u1ffd\u201a\u0007\u0326\u0002\u0002\u1ffe\u1fff\u0007", - "I\u0002\u0002\u1fff\u2000\u0007\u02eb\u0002\u0002\u2000\u2001\u0007", - "\u00ac\u0002\u0002\u2001\u2004\u0005\u03c6\u01e4\u0002\u2002\u2003\u0007", - "\u0014\u0002\u0002\u2003\u2005\u0005\u03c6\u01e4\u0002\u2004\u2002\u0003", - "\u0002\u0002\u0002\u2004\u2005\u0003\u0002\u0002\u0002\u2005\u2009\u0003", - "\u0002\u0002\u0002\u2006\u2007\u0007\u008b\u0002\u0002\u2007\u2008\u0007", - "\u0291\u0002\u0002\u2008\u200a\u0005\u03c6\u01e4\u0002\u2009\u2006\u0003", - "\u0002\u0002\u0002\u2009\u200a\u0003\u0002\u0002\u0002\u200a\u200b\u0003", - "\u0002\u0002\u0002\u200b\u2015\u0007\u0179\u0002\u0002\u200c\u2011\u0005", - "\u0292\u014a\u0002\u200d\u200e\u0007\u01ec\u0002\u0002\u200e\u200f\u0007", - "&\u0002\u0002\u200f\u2011\u0005\u0296\u014c\u0002\u2010\u200c\u0003", - "\u0002\u0002\u0002\u2010\u200d\u0003\u0002\u0002\u0002\u2011\u2013\u0003", - "\u0002\u0002\u0002\u2012\u2014\u0007\u033e\u0002\u0002\u2013\u2012\u0003", - "\u0002\u0002\u0002\u2013\u2014\u0003\u0002\u0002\u0002\u2014\u2016\u0003", - "\u0002\u0002\u0002\u2015\u2010\u0003\u0002\u0002\u0002\u2016\u2017\u0003", - "\u0002\u0002\u0002\u2017\u2015\u0003\u0002\u0002\u0002\u2017\u2018\u0003", - "\u0002\u0002\u0002\u2018\u201a\u0003\u0002\u0002\u0002\u2019\u1ff6\u0003", - "\u0002\u0002\u0002\u2019\u1ffe\u0003\u0002\u0002\u0002\u201a\u0291\u0003", - "\u0002\u0002\u0002\u201b\u201c\u0007\u022b\u0002\u0002\u201c\u201d\u0007", - "\u032a\u0002\u0002\u201d\u202b\u0007\u0326\u0002\u0002\u201e\u201f\u0007", - "\u018a\u0002\u0002\u201f\u2020\u0007\u032a\u0002\u0002\u2020\u202b\u0005", - "\u0294\u014b\u0002\u2021\u2022\u0007\u0218\u0002\u0002\u2022\u2023\u0007", - "\u032a\u0002\u0002\u2023\u202b\u0007\u0326\u0002\u0002\u2024\u2025\u0007", - "\u0292\u0002\u0002\u2025\u2026\u0007\u032a\u0002\u0002\u2026\u202b\u0007", - "\u0326\u0002\u0002\u2027\u2028\u0007\u01c3\u0002\u0002\u2028\u2029\u0007", - "\u032a\u0002\u0002\u2029\u202b\t\f\u0002\u0002\u202a\u201b\u0003\u0002", - "\u0002\u0002\u202a\u201e\u0003\u0002\u0002\u0002\u202a\u2021\u0003\u0002", - "\u0002\u0002\u202a\u2024\u0003\u0002\u0002\u0002\u202a\u2027\u0003\u0002", - "\u0002\u0002\u202b\u0293\u0003\u0002\u0002\u0002\u202c\u202d\t3\u0002", - "\u0002\u202d\u0295\u0003\u0002\u0002\u0002\u202e\u202f\u0007+\u0002", - "\u0002\u202f\u203a\u0005\u03c6\u01e4\u0002\u2030\u2031\u0007\u0012\u0002", - "\u0002\u2031\u2032\u0007\u00ac\u0002\u0002\u2032\u203a\u0005\u03c6\u01e4", - "\u0002\u2033\u2034\u0007\u02eb\u0002\u0002\u2034\u2035\u0007\u00ac\u0002", - "\u0002\u2035\u203a\u0005\u03c6\u01e4\u0002\u2036\u2037\u0007\u00f4\u0002", - "\u0002\u2037\u2038\u0007\u032a\u0002\u0002\u2038\u203a\u0007\u0326\u0002", - "\u0002\u2039\u202e\u0003\u0002\u0002\u0002\u2039\u2030\u0003\u0002\u0002", - "\u0002\u2039\u2033\u0003\u0002\u0002\u0002\u2039\u2036\u0003\u0002\u0002", - "\u0002\u203a\u0297\u0003\u0002\u0002\u0002\u203b\u203c\u0007+\u0002", - "\u0002\u203c\u2041\u0005\u03c6\u01e4\u0002\u203d\u203e\u0007\u0179\u0002", - "\u0002\u203e\u203f\u0007\u00f4\u0002\u0002\u203f\u2040\u0007\u032a\u0002", - "\u0002\u2040\u2042\u0007\u0326\u0002\u0002\u2041\u203d\u0003\u0002\u0002", - "\u0002\u2041\u2042\u0003\u0002\u0002\u0002\u2042\u2053\u0003\u0002\u0002", - "\u0002\u2043\u2044\u0007\u0012\u0002\u0002\u2044\u2045\u0007\u00ac\u0002", - "\u0002\u2045\u204a\u0005\u03c6\u01e4\u0002\u2046\u2047\u0007\u0179\u0002", - "\u0002\u2047\u2048\u0007\u00f4\u0002\u0002\u2048\u2049\u0007\u032a\u0002", - "\u0002\u2049\u204b\u0007\u0326\u0002\u0002\u204a\u2046\u0003\u0002\u0002", - "\u0002\u204a\u204b\u0003\u0002\u0002\u0002\u204b\u2053\u0003\u0002\u0002", - "\u0002\u204c\u204d\u0007\u02eb\u0002\u0002\u204d\u204e\u0007\u00ac\u0002", - "\u0002\u204e\u2053\u0005\u03c6\u01e4\u0002\u204f\u2050\u0007\u00f4\u0002", - "\u0002\u2050\u2051\u0007\u032a\u0002\u0002\u2051\u2053\u0007\u0326\u0002", - "\u0002\u2052\u203b\u0003\u0002\u0002\u0002\u2052\u2043\u0003\u0002\u0002", - "\u0002\u2052\u204c\u0003\u0002\u0002\u0002\u2052\u204f\u0003\u0002\u0002", - "\u0002\u2053\u0299\u0003\u0002\u0002\u0002\u2054\u206f\u0007v\u0002", - "\u0002\u2055\u2056\u0007\u0172\u0002\u0002\u2056\u206f\u0005\u03c6\u01e4", - "\u0002\u2057\u2058\u0007\u02ef\u0002\u0002\u2058\u206f\u0005\u03c6\u01e4", - "\u0002\u2059\u205b\u0007\u01bc\u0002\u0002\u205a\u205c\u0005\u03c6\u01e4", - "\u0002\u205b\u205a\u0003\u0002\u0002\u0002\u205b\u205c\u0003\u0002\u0002", - "\u0002\u205c\u206f\u0003\u0002\u0002\u0002\u205d\u205e\u0007I\u0002", - "\u0002\u205e\u206f\ta\u0002\u0002\u205f\u206f\u0007\u02d4\u0002\u0002", - "\u2060\u206f\u0007\u021b\u0002\u0002\u2061\u206f\u0007\u0131\u0002\u0002", - "\u2062\u206f\u0007\u010e\u0002\u0002\u2063\u206f\u0007\u00a2\u0002\u0002", - "\u2064\u206c\u0007\n\u0002\u0002\u2065\u2067\u0007\r\u0002\u0002\u2066", - "\u2065\u0003\u0002\u0002\u0002\u2066\u2067\u0003\u0002\u0002\u0002\u2067", - "\u206a\u0003\u0002\u0002\u0002\u2068\u206b\u0005\u03c6\u01e4\u0002\u2069", - "\u206b\u0007T\u0002\u0002\u206a\u2068\u0003\u0002\u0002\u0002\u206a", - "\u2069\u0003\u0002\u0002\u0002\u206b\u206d\u0003\u0002\u0002\u0002\u206c", - "\u2066\u0003\u0002\u0002\u0002\u206c\u206d\u0003\u0002\u0002\u0002\u206d", - "\u206f\u0003\u0002\u0002\u0002\u206e\u2054\u0003\u0002\u0002\u0002\u206e", - "\u2055\u0003\u0002\u0002\u0002\u206e\u2057\u0003\u0002\u0002\u0002\u206e", - "\u2059\u0003\u0002\u0002\u0002\u206e\u205d\u0003\u0002\u0002\u0002\u206e", - "\u205f\u0003\u0002\u0002\u0002\u206e\u2060\u0003\u0002\u0002\u0002\u206e", - "\u2061\u0003\u0002\u0002\u0002\u206e\u2062\u0003\u0002\u0002\u0002\u206e", - "\u2063\u0003\u0002\u0002\u0002\u206e\u2064\u0003\u0002\u0002\u0002\u206f", - "\u029b\u0003\u0002\u0002\u0002\u2070\u2071\u0007\u013b\u0002\u0002\u2071", - "\u2074\u0007\u0321\u0002\u0002\u2072\u2073\u0007\u0337\u0002\u0002\u2073", - "\u2075\u0005\u03c6\u01e4\u0002\u2074\u2072\u0003\u0002\u0002\u0002\u2074", - "\u2075\u0003\u0002\u0002\u0002\u2075\u2076\u0003\u0002\u0002\u0002\u2076", - "\u2077\u0007\u032a\u0002\u0002\u2077\u2079\u0005\u02d8\u016d\u0002\u2078", - "\u207a\u0007\u033f\u0002\u0002\u2079\u2078\u0003\u0002\u0002\u0002\u2079", - "\u207a\u0003\u0002\u0002\u0002\u207a\u2098\u0003\u0002\u0002\u0002\u207b", - "\u207c\u0007\u013b\u0002\u0002\u207c\u207d\u0007\u0321\u0002\u0002\u207d", - "\u207e\u0005\u03cc\u01e7\u0002\u207e\u2080\u0005\u02d8\u016d\u0002\u207f", - "\u2081\u0007\u033f\u0002\u0002\u2080\u207f\u0003\u0002\u0002\u0002\u2080", - "\u2081\u0003\u0002\u0002\u0002\u2081\u2098\u0003\u0002\u0002\u0002\u2082", - "\u2083\u0007\u013b\u0002\u0002\u2083\u2084\u0007\u0321\u0002\u0002\u2084", - "\u2085\u0007\u032a\u0002\u0002\u2085\u2086\u0007P\u0002\u0002\u2086", - "\u2091\u0005\u02ce\u0168\u0002\u2087\u208f\u0007\u0085\u0002\u0002\u2088", - "\u2089\u0007\u010a\u0002\u0002\u2089\u2090\u0007\u0276\u0002\u0002\u208a", - "\u208d\u0007\u0169\u0002\u0002\u208b\u208c\u0007\u00e1\u0002\u0002\u208c", - "\u208e\u0005\u039e\u01d0\u0002\u208d\u208b\u0003\u0002\u0002\u0002\u208d", - "\u208e\u0003\u0002\u0002\u0002\u208e\u2090\u0003\u0002\u0002\u0002\u208f", - "\u2088\u0003\u0002\u0002\u0002\u208f\u208a\u0003\u0002\u0002\u0002\u2090", - "\u2092\u0003\u0002\u0002\u0002\u2091\u2087\u0003\u0002\u0002\u0002\u2091", - "\u2092\u0003\u0002\u0002\u0002\u2092\u2094\u0003\u0002\u0002\u0002\u2093", - "\u2095\u0007\u033f\u0002\u0002\u2094\u2093\u0003\u0002\u0002\u0002\u2094", - "\u2095\u0003\u0002\u0002\u0002\u2095\u2098\u0003\u0002\u0002\u0002\u2096", - "\u2098\u0005\u02d4\u016b\u0002\u2097\u2070\u0003\u0002\u0002\u0002\u2097", - "\u207b\u0003\u0002\u0002\u0002\u2097\u2082\u0003\u0002\u0002\u0002\u2097", - "\u2096\u0003\u0002\u0002\u0002\u2098\u029d\u0003\u0002\u0002\u0002\u2099", - "\u209a\u0007\u001c\u0002\u0002\u209a\u209b\u0007c\u0002\u0002\u209b", - "\u209e\tb\u0002\u0002\u209c\u209f\u0005\u03c6\u01e4\u0002\u209d\u209f", - "\u0007\u0321\u0002\u0002\u209e\u209c\u0003\u0002\u0002\u0002\u209e\u209d", - "\u0003\u0002\u0002\u0002\u209e\u209f\u0003\u0002\u0002\u0002\u209f\u20a1", - "\u0003\u0002\u0002\u0002\u20a0\u20a2\u0007\u033f\u0002\u0002\u20a1\u20a0", - "\u0003\u0002\u0002\u0002\u20a1\u20a2\u0003\u0002\u0002\u0002\u20a2\u20eb", - "\u0003\u0002\u0002\u0002\u20a3\u20a4\u0007\u001c\u0002\u0002\u20a4\u20ae", - "\tb\u0002\u0002\u20a5\u20a8\u0005\u03c6\u01e4\u0002\u20a6\u20a8\u0007", - "\u0321\u0002\u0002\u20a7\u20a5\u0003\u0002\u0002\u0002\u20a7\u20a6\u0003", - "\u0002\u0002\u0002\u20a8\u20ac\u0003\u0002\u0002\u0002\u20a9\u20aa\u0007", - "\u0179\u0002\u0002\u20aa\u20ab\u0007\u023f\u0002\u0002\u20ab\u20ad\u0007", - "\u0326\u0002\u0002\u20ac\u20a9\u0003\u0002\u0002\u0002\u20ac\u20ad\u0003", - "\u0002\u0002\u0002\u20ad\u20af\u0003\u0002\u0002\u0002\u20ae\u20a7\u0003", - "\u0002\u0002\u0002\u20ae\u20af\u0003\u0002\u0002\u0002\u20af\u20b1\u0003", - "\u0002\u0002\u0002\u20b0\u20b2\u0007\u033f\u0002\u0002\u20b1\u20b0\u0003", - "\u0002\u0002\u0002\u20b1\u20b2\u0003\u0002\u0002\u0002\u20b2\u20eb\u0003", - "\u0002\u0002\u0002\u20b3\u20b4\u0007:\u0002\u0002\u20b4\u20c1\tb\u0002", - "\u0002\u20b5\u20b8\u0005\u03c6\u01e4\u0002\u20b6\u20b8\u0007\u0321\u0002", - "\u0002\u20b7\u20b5\u0003\u0002\u0002\u0002\u20b7\u20b6\u0003\u0002\u0002", - "\u0002\u20b8\u20bf\u0003\u0002\u0002\u0002\u20b9\u20ba\u0007\u0179\u0002", - "\u0002\u20ba\u20bb\u0007\u033c\u0002\u0002\u20bb\u20bc\u0007\u01d6\u0002", - "\u0002\u20bc\u20bd\u0007\u032a\u0002\u0002\u20bd\u20be\t\t\u0002\u0002", - "\u20be\u20c0\u0007\u033d\u0002\u0002\u20bf\u20b9\u0003\u0002\u0002\u0002", - "\u20bf\u20c0\u0003\u0002\u0002\u0002\u20c0\u20c2\u0003\u0002\u0002\u0002", - "\u20c1\u20b7\u0003\u0002\u0002\u0002\u20c1\u20c2\u0003\u0002\u0002\u0002", - "\u20c2\u20c4\u0003\u0002\u0002\u0002\u20c3\u20c5\u0007\u033f\u0002\u0002", - "\u20c4\u20c3\u0003\u0002\u0002\u0002\u20c4\u20c5\u0003\u0002\u0002\u0002", - "\u20c5\u20eb\u0003\u0002\u0002\u0002\u20c6\u20c8\u0007:\u0002\u0002", - "\u20c7\u20c9\u0007\u0313\u0002\u0002\u20c8\u20c7\u0003\u0002\u0002\u0002", - "\u20c8\u20c9\u0003\u0002\u0002\u0002\u20c9\u20cb\u0003\u0002\u0002\u0002", - "\u20ca\u20cc\u0007\u033f\u0002\u0002\u20cb\u20ca\u0003\u0002\u0002\u0002", - "\u20cb\u20cc\u0003\u0002\u0002\u0002\u20cc\u20eb\u0003\u0002\u0002\u0002", - "\u20cd\u20ce\u0007:\u0002\u0002\u20ce\u20eb\u0005\u03c6\u01e4\u0002", - "\u20cf\u20d0\u0007\u0120\u0002\u0002\u20d0\u20eb\u0005\u03c6\u01e4\u0002", - "\u20d1\u20d2\u0007\u0120\u0002\u0002\u20d2\u20d5\tb\u0002\u0002\u20d3", - "\u20d6\u0005\u03c6\u01e4\u0002\u20d4\u20d6\u0007\u0321\u0002\u0002\u20d5", - "\u20d3\u0003\u0002\u0002\u0002\u20d5\u20d4\u0003\u0002\u0002\u0002\u20d5", - "\u20d6\u0003\u0002\u0002\u0002\u20d6\u20d8\u0003\u0002\u0002\u0002\u20d7", - "\u20d9\u0007\u033f\u0002\u0002\u20d8\u20d7\u0003\u0002\u0002\u0002\u20d8", - "\u20d9\u0003\u0002\u0002\u0002\u20d9\u20eb\u0003\u0002\u0002\u0002\u20da", - "\u20dc\u0007\u0120\u0002\u0002\u20db\u20dd\u0007\u0313\u0002\u0002\u20dc", - "\u20db\u0003\u0002\u0002\u0002\u20dc\u20dd\u0003\u0002\u0002\u0002\u20dd", - "\u20df\u0003\u0002\u0002\u0002\u20de\u20e0\u0007\u033f\u0002\u0002\u20df", - "\u20de\u0003\u0002\u0002\u0002\u20df\u20e0\u0003\u0002\u0002\u0002\u20e0", - "\u20eb\u0003\u0002\u0002\u0002\u20e1\u20e2\u0007\u012c\u0002\u0002\u20e2", - "\u20e5\tb\u0002\u0002\u20e3\u20e6\u0005\u03c6\u01e4\u0002\u20e4\u20e6", - "\u0007\u0321\u0002\u0002\u20e5\u20e3\u0003\u0002\u0002\u0002\u20e5\u20e4", - "\u0003\u0002\u0002\u0002\u20e5\u20e6\u0003\u0002\u0002\u0002\u20e6\u20e8", - "\u0003\u0002\u0002\u0002\u20e7\u20e9\u0007\u033f\u0002\u0002\u20e8\u20e7", - "\u0003\u0002\u0002\u0002\u20e8\u20e9\u0003\u0002\u0002\u0002\u20e9\u20eb", - "\u0003\u0002\u0002\u0002\u20ea\u2099\u0003\u0002\u0002\u0002\u20ea\u20a3", - "\u0003\u0002\u0002\u0002\u20ea\u20b3\u0003\u0002\u0002\u0002\u20ea\u20c6", - "\u0003\u0002\u0002\u0002\u20ea\u20cd\u0003\u0002\u0002\u0002\u20ea\u20cf", - "\u0003\u0002\u0002\u0002\u20ea\u20d1\u0003\u0002\u0002\u0002\u20ea\u20da", - "\u0003\u0002\u0002\u0002\u20ea\u20e1\u0003\u0002\u0002\u0002\u20eb\u029f", - "\u0003\u0002\u0002\u0002\u20ec\u20ee\u0007\u020e\u0002\u0002\u20ed\u20ef", - "\u0007\u0322\u0002\u0002\u20ee\u20ed\u0003\u0002\u0002\u0002\u20ee\u20ef", - "\u0003\u0002\u0002\u0002\u20ef\u02a1\u0003\u0002\u0002\u0002\u20f0\u20f1", - "\u0007\u016c\u0002\u0002\u20f1\u20f3\u0005\u03c6\u01e4\u0002\u20f2\u20f4", - "\u0007\u033f\u0002\u0002\u20f3\u20f2\u0003\u0002\u0002\u0002\u20f3\u20f4", - "\u0003\u0002\u0002\u0002\u20f4\u02a3\u0003\u0002\u0002\u0002\u20f5\u20f7", - "\u0007\u013c\u0002\u0002\u20f6\u20f8\u0007\u0326\u0002\u0002\u20f7\u20f6", - "\u0003\u0002\u0002\u0002\u20f7\u20f8\u0003\u0002\u0002\u0002\u20f8\u02a5", - "\u0003\u0002\u0002\u0002\u20f9\u20fc\u0007\u010d\u0002\u0002\u20fa\u20fb", - "\u0007\u0179\u0002\u0002\u20fb\u20fd\u0007\u027c\u0002\u0002\u20fc\u20fa", - "\u0003\u0002\u0002\u0002\u20fc\u20fd\u0003\u0002\u0002\u0002\u20fd\u02a7", - "\u0003\u0002\u0002\u0002\u20fe\u2101\u0007\u013d\u0002\u0002\u20ff\u2100", - "\u0007\u0179\u0002\u0002\u2100\u2102\u0007\u026c\u0002\u0002\u2101\u20ff", - "\u0003\u0002\u0002\u0002\u2101\u2102\u0003\u0002\u0002\u0002\u2102\u02a9", - "\u0003\u0002\u0002\u0002\u2103\u2104\u0007V\u0002\u0002\u2104\u2109", - "\u0005\u03c8\u01e5\u0002\u2105\u2106\u0007\u033c\u0002\u0002\u2106\u2107", - "\u0005\u0366\u01b4\u0002\u2107\u2108\u0007\u033d\u0002\u0002\u2108\u210a", - "\u0003\u0002\u0002\u0002\u2109\u2105\u0003\u0002\u0002\u0002\u2109\u210a", - "\u0003\u0002\u0002\u0002\u210a\u210d\u0003\u0002\u0002\u0002\u210b\u210c", - "\u0007\u0179\u0002\u0002\u210c\u210e\u0005\u02ac\u0157\u0002\u210d\u210b", - "\u0003\u0002\u0002\u0002\u210d\u210e\u0003\u0002\u0002\u0002\u210e\u2110", - "\u0003\u0002\u0002\u0002\u210f\u2111\u0007\u033f\u0002\u0002\u2110\u210f", - "\u0003\u0002\u0002\u0002\u2110\u2111\u0003\u0002\u0002\u0002\u2111\u02ab", - "\u0003\u0002\u0002\u0002\u2112\u2115\u0005\u03c8\u01e5\u0002\u2113\u2114", - "\u0007\u033e\u0002\u0002\u2114\u2116\u0005\u03c8\u01e5\u0002\u2115\u2113", - "\u0003\u0002\u0002\u0002\u2115\u2116\u0003\u0002\u0002\u0002\u2116\u02ad", - "\u0003\u0002\u0002\u0002\u2117\u2118\u0007v\u0002\u0002\u2118\u2119", - "\u0007\u0010\u0002\u0002\u2119\u211a\tc\u0002\u0002\u211a\u02af\u0003", - "\u0002\u0002\u0002\u211b\u211d\u0007\u0321\u0002\u0002\u211c\u211e\u0007", - "\u0010\u0002\u0002\u211d\u211c\u0003\u0002\u0002\u0002\u211d\u211e\u0003", - "\u0002\u0002\u0002\u211e\u211f\u0003\u0002\u0002\u0002\u211f\u2122\u0005", - "\u03be\u01e0\u0002\u2120\u2121\u0007\u032a\u0002\u0002\u2121\u2123\u0005", - "\u02d8\u016d\u0002\u2122\u2120\u0003\u0002\u0002\u0002\u2122\u2123\u0003", - "\u0002\u0002\u0002\u2123\u02b1\u0003\u0002\u0002\u0002\u2124\u2125\u0007", - "\u0153\u0002\u0002\u2125\u2126\u0007\u033c\u0002\u0002\u2126\u2127\u0005", - "\u02b8\u015d\u0002\u2127\u2128\u0007\u033d\u0002\u0002\u2128\u02b3\u0003", - "\u0002\u0002\u0002\u2129\u212a\u0007\u0315\u0002\u0002\u212a\u212c\u0007", - "\u033c\u0002\u0002\u212b\u212d\td\u0002\u0002\u212c\u212b\u0003\u0002", - "\u0002\u0002\u212c\u212d\u0003\u0002\u0002\u0002\u212d\u212e\u0003\u0002", - "\u0002\u0002\u212e\u212f\u0005\u02b6\u015c\u0002\u212f\u2130\u0007\u033d", - "\u0002\u0002\u2130\u02b5\u0003\u0002\u0002\u0002\u2131\u2132\u0007\u0323", - "\u0002\u0002\u2132\u2133\u0007\u0337\u0002\u0002\u2133\u2134\u0007\u0323", - "\u0002\u0002\u2134\u02b7\u0003\u0002\u0002\u0002\u2135\u213c\u0005\u02ba", - "\u015e\u0002\u2136\u2138\u0007\u033e\u0002\u0002\u2137\u2136\u0003\u0002", - "\u0002\u0002\u2137\u2138\u0003\u0002\u0002\u0002\u2138\u2139\u0003\u0002", - "\u0002\u0002\u2139\u213b\u0005\u02ba\u015e\u0002\u213a\u2137\u0003\u0002", - "\u0002\u0002\u213b\u213e\u0003\u0002\u0002\u0002\u213c\u213a\u0003\u0002", - "\u0002\u0002\u213c\u213d\u0003\u0002\u0002\u0002\u213d\u02b9\u0003\u0002", - "\u0002\u0002\u213e\u213c\u0003\u0002\u0002\u0002\u213f\u2143\u0005\u02bc", - "\u015f\u0002\u2140\u2143\u0005\u02be\u0160\u0002\u2141\u2143\u0005\u02c2", - "\u0162\u0002\u2142\u213f\u0003\u0002\u0002\u0002\u2142\u2140\u0003\u0002", - "\u0002\u0002\u2142\u2141\u0003\u0002\u0002\u0002\u2143\u02bb\u0003\u0002", - "\u0002\u0002\u2144\u2148\u0005\u03c6\u01e4\u0002\u2145\u2149\u0005\u03be", - "\u01e0\u0002\u2146\u2147\u0007\u0010\u0002\u0002\u2147\u2149\u0005\u02d8", - "\u016d\u0002\u2148\u2145\u0003\u0002\u0002\u0002\u2148\u2146\u0003\u0002", - "\u0002\u0002\u2149\u214c\u0003\u0002\u0002\u0002\u214a\u214b\u00077", - "\u0002\u0002\u214b\u214d\u0005\u03c6\u01e4\u0002\u214c\u214a\u0003\u0002", - "\u0002\u0002\u214c\u214d\u0003\u0002\u0002\u0002\u214d\u214f\u0003\u0002", - "\u0002\u0002\u214e\u2150\u0005\u03a6\u01d4\u0002\u214f\u214e\u0003\u0002", - "\u0002\u0002\u214f\u2150\u0003\u0002\u0002\u0002\u2150\u2166\u0003\u0002", - "\u0002\u0002\u2151\u2152\u0007=\u0002\u0002\u2152\u2154\u0005\u03c6", - "\u01e4\u0002\u2153\u2151\u0003\u0002\u0002\u0002\u2153\u2154\u0003\u0002", - "\u0002\u0002\u2154\u2155\u0003\u0002\u0002\u0002\u2155\u2157\u0005\u03a8", - "\u01d5\u0002\u2156\u2158\u0005\u03a8\u01d5\u0002\u2157\u2156\u0003\u0002", - "\u0002\u0002\u2157\u2158\u0003\u0002\u0002\u0002\u2158\u2167\u0003\u0002", - "\u0002\u0002\u2159\u215f\u0007\u0096\u0002\u0002\u215a\u215b\u0007\u033c", - "\u0002\u0002\u215b\u215c\u0007\u0322\u0002\u0002\u215c\u215d\u0007\u033e", - "\u0002\u0002\u215d\u215e\u0007\u0322\u0002\u0002\u215e\u2160\u0007\u033d", - "\u0002\u0002\u215f\u215a\u0003\u0002\u0002\u0002\u215f\u2160\u0003\u0002", - "\u0002\u0002\u2160\u2164\u0003\u0002\u0002\u0002\u2161\u2162\u0007\u00dc", - "\u0002\u0002\u2162\u2163\u0007\u0085\u0002\u0002\u2163\u2165\u0007\u0112", - "\u0002\u0002\u2164\u2161\u0003\u0002\u0002\u0002\u2164\u2165\u0003\u0002", - "\u0002\u0002\u2165\u2167\u0003\u0002\u0002\u0002\u2166\u2153\u0003\u0002", - "\u0002\u0002\u2166\u2159\u0003\u0002\u0002\u0002\u2166\u2167\u0003\u0002", - "\u0002\u0002\u2167\u2169\u0003\u0002\u0002\u0002\u2168\u216a\u0007\u0123", - "\u0002\u0002\u2169\u2168\u0003\u0002\u0002\u0002\u2169\u216a\u0003\u0002", - "\u0002\u0002\u216a\u216e\u0003\u0002\u0002\u0002\u216b\u216d\u0005\u02c0", - "\u0161\u0002\u216c\u216b\u0003\u0002\u0002\u0002\u216d\u2170\u0003\u0002", - "\u0002\u0002\u216e\u216c\u0003\u0002\u0002\u0002\u216e\u216f\u0003\u0002", - "\u0002\u0002\u216f\u02bd\u0003\u0002\u0002\u0002\u2170\u216e\u0003\u0002", - "\u0002\u0002\u2171\u2172\u0005\u03c6\u01e4\u0002\u2172\u2173\te\u0002", - "\u0002\u2173\u2177\u0005\u02d8\u016d\u0002\u2174\u2178\u0007\u0240\u0002", - "\u0002\u2175\u2176\u0007\u00dc\u0002\u0002\u2176\u2178\u0007\u0240\u0002", - "\u0002\u2177\u2174\u0003\u0002\u0002\u0002\u2177\u2175\u0003\u0002\u0002", - "\u0002\u2177\u2178\u0003\u0002\u0002\u0002\u2178\u02bf\u0003\u0002\u0002", - "\u0002\u2179\u217a\u0007=\u0002\u0002\u217a\u217c\u0005\u03c6\u01e4", - "\u0002\u217b\u2179\u0003\u0002\u0002\u0002\u217b\u217c\u0003\u0002\u0002", - "\u0002\u217c\u21a2\u0003\u0002\u0002\u0002\u217d\u217e\u0007\u0100\u0002", - "\u0002\u217e\u2181\u0007\u00ac\u0002\u0002\u217f\u2181\u0007\u0165\u0002", - "\u0002\u2180\u217d\u0003\u0002\u0002\u0002\u2180\u217f\u0003\u0002\u0002", - "\u0002\u2181\u2183\u0003\u0002\u0002\u0002\u2182\u2184\u0005\u03a4\u01d3", - "\u0002\u2183\u2182\u0003\u0002\u0002\u0002\u2183\u2184\u0003\u0002\u0002", - "\u0002\u2184\u2186\u0003\u0002\u0002\u0002\u2185\u2187\u0005\u02c8\u0165", - "\u0002\u2186\u2185\u0003\u0002\u0002\u0002\u2186\u2187\u0003\u0002\u0002", - "\u0002\u2187\u21a3\u0003\u0002\u0002\u0002\u2188\u218c\u0007.\u0002", - "\u0002\u2189\u218a\u0007\u00dc\u0002\u0002\u218a\u218b\u0007\u0085\u0002", - "\u0002\u218b\u218d\u0007\u0112\u0002\u0002\u218c\u2189\u0003\u0002\u0002", - "\u0002\u218c\u218d\u0003\u0002\u0002\u0002\u218d\u218e\u0003\u0002\u0002", - "\u0002\u218e\u218f\u0007\u033c\u0002\u0002\u218f\u2190\u0005\u02ee\u0178", - "\u0002\u2190\u2191\u0007\u033d\u0002\u0002\u2191\u21a3\u0003\u0002\u0002", - "\u0002\u2192\u2193\u0007\u0088\u0002\u0002\u2193\u2195\u0007\u00ac\u0002", - "\u0002\u2194\u2192\u0003\u0002\u0002\u0002\u2194\u2195\u0003\u0002\u0002", - "\u0002\u2195\u2196\u0003\u0002\u0002\u0002\u2196\u2197\u0007\u010e\u0002", - "\u0002\u2197\u2198\u0005\u038e\u01c8\u0002\u2198\u2199\u0007\u033c\u0002", - "\u0002\u2199\u219a\u0005\u039e\u01d0\u0002\u219a\u219c\u0007\u033d\u0002", - "\u0002\u219b\u219d\u0005\u02c4\u0163\u0002\u219c\u219b\u0003\u0002\u0002", - "\u0002\u219c\u219d\u0003\u0002\u0002\u0002\u219d\u219f\u0003\u0002\u0002", - "\u0002\u219e\u21a0\u0005\u02c6\u0164\u0002\u219f\u219e\u0003\u0002\u0002", - "\u0002\u219f\u21a0\u0003\u0002\u0002\u0002\u21a0\u21a3\u0003\u0002\u0002", - "\u0002\u21a1\u21a3\u0005\u03a6\u01d4\u0002\u21a2\u2180\u0003\u0002\u0002", - "\u0002\u21a2\u2188\u0003\u0002\u0002\u0002\u21a2\u2194\u0003\u0002\u0002", - "\u0002\u21a2\u21a1\u0003\u0002\u0002\u0002\u21a3\u02c1\u0003\u0002\u0002", - "\u0002\u21a4\u21a5\u0007=\u0002\u0002\u21a5\u21a7\u0005\u03c6\u01e4", - "\u0002\u21a6\u21a4\u0003\u0002\u0002\u0002\u21a6\u21a7\u0003\u0002\u0002", - "\u0002\u21a7\u21e8\u0003\u0002\u0002\u0002\u21a8\u21a9\u0007\u0100\u0002", - "\u0002\u21a9\u21ac\u0007\u00ac\u0002\u0002\u21aa\u21ac\u0007\u0165\u0002", - "\u0002\u21ab\u21a8\u0003\u0002\u0002\u0002\u21ab\u21aa\u0003\u0002\u0002", - "\u0002\u21ac\u21ae\u0003\u0002\u0002\u0002\u21ad\u21af\u0005\u03a4\u01d3", - "\u0002\u21ae\u21ad\u0003\u0002\u0002\u0002\u21ae\u21af\u0003\u0002\u0002", - "\u0002\u21af\u21b0\u0003\u0002\u0002\u0002\u21b0\u21b1\u0007\u033c\u0002", - "\u0002\u21b1\u21b2\u0005\u039c\u01cf\u0002\u21b2\u21b4\u0007\u033d\u0002", - "\u0002\u21b3\u21b5\u0005\u02c8\u0165\u0002\u21b4\u21b3\u0003\u0002\u0002", - "\u0002\u21b4\u21b5\u0003\u0002\u0002\u0002\u21b5\u21b8\u0003\u0002\u0002", - "\u0002\u21b6\u21b7\u0007\u00e5\u0002\u0002\u21b7\u21b9\u0005\u03c6\u01e4", - "\u0002\u21b8\u21b6\u0003\u0002\u0002\u0002\u21b8\u21b9\u0003\u0002\u0002", - "\u0002\u21b9\u21e9\u0003\u0002\u0002\u0002\u21ba\u21be\u0007.\u0002", - "\u0002\u21bb\u21bc\u0007\u00dc\u0002\u0002\u21bc\u21bd\u0007\u0085\u0002", - "\u0002\u21bd\u21bf\u0007\u0112\u0002\u0002\u21be\u21bb\u0003\u0002\u0002", - "\u0002\u21be\u21bf\u0003\u0002\u0002\u0002\u21bf\u21c0\u0003\u0002\u0002", - "\u0002\u21c0\u21c1\u0007\u033c\u0002\u0002\u21c1\u21c2\u0005\u02ee\u0178", - "\u0002\u21c2\u21c3\u0007\u033d\u0002\u0002\u21c3\u21e9\u0003\u0002\u0002", - "\u0002\u21c4\u21c6\u0007Y\u0002\u0002\u21c5\u21c7\u0007\u033c\u0002", - "\u0002\u21c6\u21c5\u0003\u0002\u0002\u0002\u21c6\u21c7\u0003\u0002\u0002", - "\u0002\u21c7\u21cc\u0003\u0002\u0002\u0002\u21c8\u21cd\u0007\u0326\u0002", - "\u0002\u21c9\u21cd\u0007\u0344\u0002\u0002\u21ca\u21cd\u0005\u0340\u01a1", - "\u0002\u21cb\u21cd\u0007\u0322\u0002\u0002\u21cc\u21c8\u0003\u0002\u0002", - "\u0002\u21cc\u21c9\u0003\u0002\u0002\u0002\u21cc\u21ca\u0003\u0002\u0002", - "\u0002\u21cc\u21cb\u0003\u0002\u0002\u0002\u21cd\u21ce\u0003\u0002\u0002", - "\u0002\u21ce\u21cc\u0003\u0002\u0002\u0002\u21ce\u21cf\u0003\u0002\u0002", - "\u0002\u21cf\u21d1\u0003\u0002\u0002\u0002\u21d0\u21d2\u0007\u033d\u0002", - "\u0002\u21d1\u21d0\u0003\u0002\u0002\u0002\u21d1\u21d2\u0003\u0002\u0002", - "\u0002\u21d2\u21d3\u0003\u0002\u0002\u0002\u21d3\u21d4\u0007\u0085\u0002", - "\u0002\u21d4\u21e9\u0005\u03c6\u01e4\u0002\u21d5\u21d6\u0007\u0088\u0002", - "\u0002\u21d6\u21d7\u0007\u00ac\u0002\u0002\u21d7\u21d8\u0007\u033c\u0002", - "\u0002\u21d8\u21d9\u0005\u039e\u01d0\u0002\u21d9\u21da\u0007\u033d\u0002", - "\u0002\u21da\u21db\u0007\u010e\u0002\u0002\u21db\u21e0\u0005\u038e\u01c8", - "\u0002\u21dc\u21dd\u0007\u033c\u0002\u0002\u21dd\u21de\u0005\u039e\u01d0", - "\u0002\u21de\u21df\u0007\u033d\u0002\u0002\u21df\u21e1\u0003\u0002\u0002", - "\u0002\u21e0\u21dc\u0003\u0002\u0002\u0002\u21e0\u21e1\u0003\u0002\u0002", - "\u0002\u21e1\u21e3\u0003\u0002\u0002\u0002\u21e2\u21e4\u0005\u02c4\u0163", - "\u0002\u21e3\u21e2\u0003\u0002\u0002\u0002\u21e3\u21e4\u0003\u0002\u0002", - "\u0002\u21e4\u21e6\u0003\u0002\u0002\u0002\u21e5\u21e7\u0005\u02c6\u0164", - "\u0002\u21e6\u21e5\u0003\u0002\u0002\u0002\u21e6\u21e7\u0003\u0002\u0002", - "\u0002\u21e7\u21e9\u0003\u0002\u0002\u0002\u21e8\u21ab\u0003\u0002\u0002", - "\u0002\u21e8\u21ba\u0003\u0002\u0002\u0002\u21e8\u21c4\u0003\u0002\u0002", - "\u0002\u21e8\u21d5\u0003\u0002\u0002\u0002\u21e9\u02c3\u0003\u0002\u0002", - "\u0002\u21ea\u21eb\u0007\u00e5\u0002\u0002\u21eb\u21f3\u0007\\\u0002", - "\u0002\u21ec\u21ed\u0007\u0263\u0002\u0002\u21ed\u21f4\u0007\u0180\u0002", - "\u0002\u21ee\u21f4\u0007)\u0002\u0002\u21ef\u21f0\u0007\u013b\u0002", - "\u0002\u21f0\u21f4\u0007\u00df\u0002\u0002\u21f1\u21f2\u0007\u013b\u0002", - "\u0002\u21f2\u21f4\u0007Y\u0002\u0002\u21f3\u21ec\u0003\u0002\u0002", - "\u0002\u21f3\u21ee\u0003\u0002\u0002\u0002\u21f3\u21ef\u0003\u0002\u0002", - "\u0002\u21f3\u21f1\u0003\u0002\u0002\u0002\u21f4\u02c5\u0003\u0002\u0002", - "\u0002\u21f5\u21f6\u0007\u00e5\u0002\u0002\u21f6\u21fe\u0007\u0169\u0002", - "\u0002\u21f7\u21f8\u0007\u0263\u0002\u0002\u21f8\u21ff\u0007\u0180\u0002", - "\u0002\u21f9\u21ff\u0007)\u0002\u0002\u21fa\u21fb\u0007\u013b\u0002", - "\u0002\u21fb\u21ff\u0007\u00df\u0002\u0002\u21fc\u21fd\u0007\u013b\u0002", - "\u0002\u21fd\u21ff\u0007Y\u0002\u0002\u21fe\u21f7\u0003\u0002\u0002", - "\u0002\u21fe\u21f9\u0003\u0002\u0002\u0002\u21fe\u21fa\u0003\u0002\u0002", - "\u0002\u21fe\u21fc\u0003\u0002\u0002\u0002\u21ff\u02c7\u0003\u0002\u0002", - "\u0002\u2200\u2201\u0007\u0179\u0002\u0002\u2201\u2202\u0007\u033c\u0002", - "\u0002\u2202\u2207\u0005\u02ca\u0166\u0002\u2203\u2204\u0007\u033e\u0002", - "\u0002\u2204\u2206\u0005\u02ca\u0166\u0002\u2205\u2203\u0003\u0002\u0002", - "\u0002\u2206\u2209\u0003\u0002\u0002\u0002\u2207\u2205\u0003\u0002\u0002", - "\u0002\u2207\u2208\u0003\u0002\u0002\u0002\u2208\u220a\u0003\u0002\u0002", - "\u0002\u2209\u2207\u0003\u0002\u0002\u0002\u220a\u220b\u0007\u033d\u0002", - "\u0002\u220b\u02c9\u0003\u0002\u0002\u0002\u220c\u220d\u0005\u03c8\u01e5", - "\u0002\u220d\u2211\u0007\u032a\u0002\u0002\u220e\u2212\u0005\u03c8\u01e5", - "\u0002\u220f\u2212\u0005\u03a2\u01d2\u0002\u2210\u2212\u0007\u0322\u0002", - "\u0002\u2211\u220e\u0003\u0002\u0002\u0002\u2211\u220f\u0003\u0002\u0002", - "\u0002\u2211\u2210\u0003\u0002\u0002\u0002\u2212\u02cb\u0003\u0002\u0002", - "\u0002\u2213\u2214\u0007X\u0002\u0002\u2214\u2234\u0005\u03a0\u01d1", - "\u0002\u2215\u221f\u0007P\u0002\u0002\u2216\u221d\u0005\u02ce\u0168", - "\u0002\u2217\u2218\u0007\u0085\u0002\u0002\u2218\u221b\u0007\u0169\u0002", - "\u0002\u2219\u221a\u0007\u00e1\u0002\u0002\u221a\u221c\u0005\u039e\u01d0", - "\u0002\u221b\u2219\u0003\u0002\u0002\u0002\u221b\u221c\u0003\u0002\u0002", - "\u0002\u221c\u221e\u0003\u0002\u0002\u0002\u221d\u2217\u0003\u0002\u0002", - "\u0002\u221d\u221e\u0003\u0002\u0002\u0002\u221e\u2220\u0003\u0002\u0002", - "\u0002\u221f\u2216\u0003\u0002\u0002\u0002\u221f\u2220\u0003\u0002\u0002", - "\u0002\u2220\u2235\u0003\u0002\u0002\u0002\u2221\u2223\tf\u0002\u0002", - "\u2222\u2221\u0003\u0002\u0002\u0002\u2222\u2223\u0003\u0002\u0002\u0002", - "\u2223\u2225\u0003\u0002\u0002\u0002\u2224\u2226\u0007\u02c0\u0002\u0002", - "\u2225\u2224\u0003\u0002\u0002\u0002\u2225\u2226\u0003\u0002\u0002\u0002", - "\u2226\u2227\u0003\u0002\u0002\u0002\u2227\u2228\u0007P\u0002\u0002", - "\u2228\u2229\u0007\u0085\u0002\u0002\u2229\u2232\u0005\u01be\u00e0\u0002", - "\u222a\u2230\u0007\u0085\u0002\u0002\u222b\u222c\u0007\u010a\u0002\u0002", - "\u222c\u2231\u0007\u0276\u0002\u0002\u222d\u2231\u0007\u0169\u0002\u0002", - "\u222e\u222f\u0007\u00e1\u0002\u0002\u222f\u2231\u0005\u039e\u01d0\u0002", - "\u2230\u222b\u0003\u0002\u0002\u0002\u2230\u222d\u0003\u0002\u0002\u0002", - "\u2230\u222e\u0003\u0002\u0002\u0002\u2231\u2233\u0003\u0002\u0002\u0002", - "\u2232\u222a\u0003\u0002\u0002\u0002\u2232\u2233\u0003\u0002\u0002\u0002", - "\u2233\u2235\u0003\u0002\u0002\u0002\u2234\u2215\u0003\u0002\u0002\u0002", - "\u2234\u2222\u0003\u0002\u0002\u0002\u2235\u2237\u0003\u0002\u0002\u0002", - "\u2236\u2238\u0007\u033f\u0002\u0002\u2237\u2236\u0003\u0002\u0002\u0002", - "\u2237\u2238\u0003\u0002\u0002\u0002\u2238\u02cd\u0003\u0002\u0002\u0002", - "\u2239\u223b\u0005\u02d0\u0169\u0002\u223a\u2239\u0003\u0002\u0002\u0002", - "\u223b\u223e\u0003\u0002\u0002\u0002\u223c\u223a\u0003\u0002\u0002\u0002", - "\u223c\u223d\u0003\u0002\u0002\u0002\u223d\u223f\u0003\u0002\u0002\u0002", - "\u223e\u223c\u0003\u0002\u0002\u0002\u223f\u2240\u0007\u0085\u0002\u0002", - "\u2240\u2241\u0005\u01be\u00e0\u0002\u2241\u02cf\u0003\u0002\u0002\u0002", - "\u2242\u2248\tA\u0002\u0002\u2243\u2248\tg\u0002\u0002\u2244\u2248\t", - "h\u0002\u0002\u2245\u2248\ti\u0002\u0002\u2246\u2248\u0007\u0302\u0002", - "\u0002\u2247\u2242\u0003\u0002\u0002\u0002\u2247\u2243\u0003\u0002\u0002", - "\u0002\u2247\u2244\u0003\u0002\u0002\u0002\u2247\u2245\u0003\u0002\u0002", - "\u0002\u2247\u2246\u0003\u0002\u0002\u0002\u2248\u02d1\u0003\u0002\u0002", - "\u0002\u2249\u2253\u0007\u0080\u0002\u0002\u224a\u2251\u0007\u0262\u0002", - "\u0002\u224b\u2251\u0007\u0289\u0002\u0002\u224c\u2251\u0007\u0200\u0002", - "\u0002\u224d\u2251\u0007\u022f\u0002\u0002\u224e\u224f\tj\u0002\u0002", - "\u224f\u2251\u0005\u02d8\u016d\u0002\u2250\u224a\u0003\u0002\u0002\u0002", - "\u2250\u224b\u0003\u0002\u0002\u0002\u2250\u224c\u0003\u0002\u0002\u0002", - "\u2250\u224d\u0003\u0002\u0002\u0002\u2250\u224e\u0003\u0002\u0002\u0002", - "\u2250\u2251\u0003\u0002\u0002\u0002\u2251\u2252\u0003\u0002\u0002\u0002", - "\u2252\u2254\u0007\u008b\u0002\u0002\u2253\u2250\u0003\u0002\u0002\u0002", - "\u2253\u2254\u0003\u0002\u0002\u0002\u2254\u2256\u0003\u0002\u0002\u0002", - "\u2255\u2257\u0007\u020d\u0002\u0002\u2256\u2255\u0003\u0002\u0002\u0002", - "\u2256\u2257\u0003\u0002\u0002\u0002\u2257\u2258\u0003\u0002\u0002\u0002", - "\u2258\u2262\u0005\u03a0\u01d1\u0002\u2259\u225a\u0007\u00a5\u0002\u0002", - "\u225a\u225f\u0007\u0321\u0002\u0002\u225b\u225c\u0007\u033e\u0002\u0002", - "\u225c\u225e\u0007\u0321\u0002\u0002\u225d\u225b\u0003\u0002\u0002\u0002", - "\u225e\u2261\u0003\u0002\u0002\u0002\u225f\u225d\u0003\u0002\u0002\u0002", - "\u225f\u2260\u0003\u0002\u0002\u0002\u2260\u2263\u0003\u0002\u0002\u0002", - "\u2261\u225f\u0003\u0002\u0002\u0002\u2262\u2259\u0003\u0002\u0002\u0002", - "\u2262\u2263\u0003\u0002\u0002\u0002\u2263\u2265\u0003\u0002\u0002\u0002", - "\u2264\u2266\u0007\u033f\u0002\u0002\u2265\u2264\u0003\u0002\u0002\u0002", - "\u2265\u2266\u0003\u0002\u0002\u0002\u2266\u02d3\u0003\u0002\u0002\u0002", - "\u2267\u2268\u0007\u013b\u0002\u0002\u2268\u226c\u0005\u03c6\u01e4\u0002", - "\u2269\u226d\u0005\u03c6\u01e4\u0002\u226a\u226d\u0005\u02d6\u016c\u0002", - "\u226b\u226d\u0005\u03a2\u01d2\u0002\u226c\u2269\u0003\u0002\u0002\u0002", - "\u226c\u226a\u0003\u0002\u0002\u0002\u226c\u226b\u0003\u0002\u0002\u0002", - "\u226d\u226f\u0003\u0002\u0002\u0002\u226e\u2270\u0007\u033f\u0002\u0002", - "\u226f\u226e\u0003\u0002\u0002\u0002\u226f\u2270\u0003\u0002\u0002\u0002", - "\u2270\u2299\u0003\u0002\u0002\u0002\u2271\u2272\u0007\u013b\u0002\u0002", - "\u2272\u2273\u0007\u015e\u0002\u0002\u2273\u2274\u0007\u0225\u0002\u0002", - "\u2274\u227e\u0007\u0232\u0002\u0002\u2275\u2276\u0007\u010a\u0002\u0002", - "\u2276\u227f\u0007\u0304\u0002\u0002\u2277\u2278\u0007\u010a\u0002\u0002", - "\u2278\u227f\u0007\u01b7\u0002\u0002\u2279\u227a\u0007\u02ab\u0002\u0002", - "\u227a\u227f\u0007\u010a\u0002\u0002\u227b\u227f\u0007\u02da\u0002\u0002", - "\u227c\u227f\u0007\u02d0\u0002\u0002\u227d\u227f\u0007\u0322\u0002\u0002", - "\u227e\u2275\u0003\u0002\u0002\u0002\u227e\u2277\u0003\u0002\u0002\u0002", - "\u227e\u2279\u0003\u0002\u0002\u0002\u227e\u227b\u0003\u0002\u0002\u0002", - "\u227e\u227c\u0003\u0002\u0002\u0002\u227e\u227d\u0003\u0002\u0002\u0002", - "\u227f\u2281\u0003\u0002\u0002\u0002\u2280\u2282\u0007\u033f\u0002\u0002", - "\u2281\u2280\u0003\u0002\u0002\u0002\u2281\u2282\u0003\u0002\u0002\u0002", - "\u2282\u2299\u0003\u0002\u0002\u0002\u2283\u2284\u0007\u013b\u0002\u0002", - "\u2284\u2285\u0007\u0098\u0002\u0002\u2285\u2286\u0005\u038e\u01c8\u0002", - "\u2286\u2288\u0005\u03a2\u01d2\u0002\u2287\u2289\u0007\u033f\u0002\u0002", - "\u2288\u2287\u0003\u0002\u0002\u0002\u2288\u2289\u0003\u0002\u0002\u0002", - "\u2289\u2299\u0003\u0002\u0002\u0002\u228a\u228b\u0007\u013b\u0002\u0002", - "\u228b\u228c\u0007\u018f\u0002\u0002\u228c\u2299\u0005\u03a2\u01d2\u0002", - "\u228d\u228e\u0007\u013b\u0002\u0002\u228e\u228f\u0007\u0296\u0002\u0002", - "\u228f\u2299\u0005\u03a2\u01d2\u0002\u2290\u2291\u0007\u013b\u0002\u0002", - "\u2291\u2292\u0007\u0190\u0002\u0002\u2292\u2299\u0005\u03a2\u01d2\u0002", - "\u2293\u2294\u0007\u013b\u0002\u0002\u2294\u2295\u0007\u0191\u0002\u0002", - "\u2295\u2299\u0005\u03a2\u01d2\u0002\u2296\u2297\u0007\u013b\u0002\u0002", - "\u2297\u2299\u0005\u034a\u01a6\u0002\u2298\u2267\u0003\u0002\u0002\u0002", - "\u2298\u2271\u0003\u0002\u0002\u0002\u2298\u2283\u0003\u0002\u0002\u0002", - "\u2298\u228a\u0003\u0002\u0002\u0002\u2298\u228d\u0003\u0002\u0002\u0002", - "\u2298\u2290\u0003\u0002\u0002\u0002\u2298\u2293\u0003\u0002\u0002\u0002", - "\u2298\u2296\u0003\u0002\u0002\u0002\u2299\u02d5\u0003\u0002\u0002\u0002", - "\u229a\u229d\u0005\u03c2\u01e2\u0002\u229b\u229d\u0007\u0321\u0002\u0002", - "\u229c\u229a\u0003\u0002\u0002\u0002\u229c\u229b\u0003\u0002\u0002\u0002", - "\u229d\u02d7\u0003\u0002\u0002\u0002\u229e\u229f\b\u016d\u0001\u0002", - "\u229f\u22a7\u0005\u02da\u016e\u0002\u22a0\u22a7\u0005\u0340\u01a1\u0002", - "\u22a1\u22a7\u0005\u02dc\u016f\u0002\u22a2\u22a7\u0005\u039a\u01ce\u0002", - "\u22a3\u22a7\u0005\u02e0\u0171\u0002\u22a4\u22a7\u0005\u02de\u0170\u0002", - "\u22a5\u22a7\u0005\u0370\u01b9\u0002\u22a6\u229e\u0003\u0002\u0002\u0002", - "\u22a6\u22a0\u0003\u0002\u0002\u0002\u22a6\u22a1\u0003\u0002\u0002\u0002", - "\u22a6\u22a2\u0003\u0002\u0002\u0002\u22a6\u22a3\u0003\u0002\u0002\u0002", - "\u22a6\u22a4\u0003\u0002\u0002\u0002\u22a6\u22a5\u0003\u0002\u0002\u0002", - "\u22a7\u22bb\u0003\u0002\u0002\u0002\u22a8\u22a9\f\u0007\u0002\u0002", - "\u22a9\u22aa\tk\u0002\u0002\u22aa\u22ba\u0005\u02d8\u016d\b\u22ab\u22ac", - "\f\u0006\u0002\u0002\u22ac\u22ad\tl\u0002\u0002\u22ad\u22ba\u0005\u02d8", - "\u016d\u0007\u22ae\u22af\f\u0005\u0002\u0002\u22af\u22b0\u0005\u03ca", - "\u01e6\u0002\u22b0\u22b1\u0005\u02d8\u016d\u0006\u22b1\u22ba\u0003\u0002", - "\u0002\u0002\u22b2\u22b3\f\u0004\u0002\u0002\u22b3\u22b4\u0005\u03cc", - "\u01e7\u0002\u22b4\u22b5\u0005\u02d8\u016d\u0005\u22b5\u22ba\u0003\u0002", - "\u0002\u0002\u22b6\u22b7\f\f\u0002\u0002\u22b7\u22b8\u00077\u0002\u0002", - "\u22b8\u22ba\u0005\u03c6\u01e4\u0002\u22b9\u22a8\u0003\u0002\u0002\u0002", - "\u22b9\u22ab\u0003\u0002\u0002\u0002\u22b9\u22ae\u0003\u0002\u0002\u0002", - "\u22b9\u22b2\u0003\u0002\u0002\u0002\u22b9\u22b6\u0003\u0002\u0002\u0002", - "\u22ba\u22bd\u0003\u0002\u0002\u0002\u22bb\u22b9\u0003\u0002\u0002\u0002", - "\u22bb\u22bc\u0003\u0002\u0002\u0002\u22bc\u02d9\u0003\u0002\u0002\u0002", - "\u22bd\u22bb\u0003\u0002\u0002\u0002\u22be\u22c3\u0007Y\u0002\u0002", - "\u22bf\u22c3\u0007\u00df\u0002\u0002\u22c0\u22c3\u0007\u0321\u0002\u0002", - "\u22c1\u22c3\u0005\u03c2\u01e2\u0002\u22c2\u22be\u0003\u0002\u0002\u0002", - "\u22c2\u22bf\u0003\u0002\u0002\u0002\u22c2\u22c0\u0003\u0002\u0002\u0002", - "\u22c2\u22c1\u0003\u0002\u0002\u0002\u22c3\u02db\u0003\u0002\u0002\u0002", - "\u22c4\u22c5\u0007*\u0002\u0002\u22c5\u22c7\u0005\u02d8\u016d\u0002", - "\u22c6\u22c8\u0005\u034e\u01a8\u0002\u22c7\u22c6\u0003\u0002\u0002\u0002", - "\u22c8\u22c9\u0003\u0002\u0002\u0002\u22c9\u22c7\u0003\u0002\u0002\u0002", - "\u22c9\u22ca\u0003\u0002\u0002\u0002\u22ca\u22cd\u0003\u0002\u0002\u0002", - "\u22cb\u22cc\u0007j\u0002\u0002\u22cc\u22ce\u0005\u02d8\u016d\u0002", - "\u22cd\u22cb\u0003\u0002\u0002\u0002\u22cd\u22ce\u0003\u0002\u0002\u0002", - "\u22ce\u22cf\u0003\u0002\u0002\u0002\u22cf\u22d0\u0007l\u0002\u0002", - "\u22d0\u22de\u0003\u0002\u0002\u0002\u22d1\u22d3\u0007*\u0002\u0002", - "\u22d2\u22d4\u0005\u0350\u01a9\u0002\u22d3\u22d2\u0003\u0002\u0002\u0002", - "\u22d4\u22d5\u0003\u0002\u0002\u0002\u22d5\u22d3\u0003\u0002\u0002\u0002", - "\u22d5\u22d6\u0003\u0002\u0002\u0002\u22d6\u22d9\u0003\u0002\u0002\u0002", - "\u22d7\u22d8\u0007j\u0002\u0002\u22d8\u22da\u0005\u02d8\u016d\u0002", - "\u22d9\u22d7\u0003\u0002\u0002\u0002\u22d9\u22da\u0003\u0002\u0002\u0002", - "\u22da\u22db\u0003\u0002\u0002\u0002\u22db\u22dc\u0007l\u0002\u0002", - "\u22dc\u22de\u0003\u0002\u0002\u0002\u22dd\u22c4\u0003\u0002\u0002\u0002", - "\u22dd\u22d1\u0003\u0002\u0002\u0002\u22de\u02dd\u0003\u0002\u0002\u0002", - "\u22df\u22e0\u0007\u0346\u0002\u0002\u22e0\u22e4\u0005\u02d8\u016d\u0002", - "\u22e1\u22e2\tm\u0002\u0002\u22e2\u22e4\u0005\u02d8\u016d\u0002\u22e3", - "\u22df\u0003\u0002\u0002\u0002\u22e3\u22e1\u0003\u0002\u0002\u0002\u22e4", - "\u02df\u0003\u0002\u0002\u0002\u22e5\u22e6\u0007\u033c\u0002\u0002\u22e6", - "\u22e7\u0005\u02d8\u016d\u0002\u22e7\u22e8\u0007\u033d\u0002\u0002\u22e8", - "\u22ee\u0003\u0002\u0002\u0002\u22e9\u22ea\u0007\u033c\u0002\u0002\u22ea", - "\u22eb\u0005\u02e4\u0173\u0002\u22eb\u22ec\u0007\u033d\u0002\u0002\u22ec", - "\u22ee\u0003\u0002\u0002\u0002\u22ed\u22e5\u0003\u0002\u0002\u0002\u22ed", - "\u22e9\u0003\u0002\u0002\u0002\u22ee\u02e1\u0003\u0002\u0002\u0002\u22ef", - "\u22f8\u0007\u00df\u0002\u0002\u22f0\u22f8\u0005\u03c2\u01e2\u0002\u22f1", - "\u22f8\u0005\u0340\u01a1\u0002\u22f2\u22f8\u0007\u0321\u0002\u0002\u22f3", - "\u22f4\u0007\u033c\u0002\u0002\u22f4\u22f5\u0005\u02e2\u0172\u0002\u22f5", - "\u22f6\u0007\u033d\u0002\u0002\u22f6\u22f8\u0003\u0002\u0002\u0002\u22f7", - "\u22ef\u0003\u0002\u0002\u0002\u22f7\u22f0\u0003\u0002\u0002\u0002\u22f7", - "\u22f1\u0003\u0002\u0002\u0002\u22f7\u22f2\u0003\u0002\u0002\u0002\u22f7", - "\u22f3\u0003\u0002\u0002\u0002\u22f8\u02e3\u0003\u0002\u0002\u0002\u22f9", - "\u22fa\u0005\u01be\u00e0\u0002\u22fa\u02e5\u0003\u0002\u0002\u0002\u22fb", - "\u22fe\u0007\u0179\u0002\u0002\u22fc\u22fd\u0007\u0317\u0002\u0002\u22fd", - "\u22ff\u0007\u033e\u0002\u0002\u22fe\u22fc\u0003\u0002\u0002\u0002\u22fe", - "\u22ff\u0003\u0002\u0002\u0002\u22ff\u2300\u0003\u0002\u0002\u0002\u2300", - "\u2305\u0005\u02e8\u0175\u0002\u2301\u2302\u0007\u033e\u0002\u0002\u2302", - "\u2304\u0005\u02e8\u0175\u0002\u2303\u2301\u0003\u0002\u0002\u0002\u2304", - "\u2307\u0003\u0002\u0002\u0002\u2305\u2303\u0003\u0002\u0002\u0002\u2305", - "\u2306\u0003\u0002\u0002\u0002\u2306\u2316\u0003\u0002\u0002\u0002\u2307", - "\u2305\u0003\u0002\u0002\u0002\u2308\u2309\u0007\u0179\u0002\u0002\u2309", - "\u230e\u0007 \u0002\u0002\u230a\u230b\u0007\u033c\u0002\u0002\u230b", - "\u230c\u0005\u0336\u019c\u0002\u230c\u230d\u0007\u033d\u0002\u0002\u230d", - "\u230f\u0003\u0002\u0002\u0002\u230e\u230a\u0003\u0002\u0002\u0002\u230e", - "\u230f\u0003\u0002\u0002\u0002\u230f\u2310\u0003\u0002\u0002\u0002\u2310", - "\u2311\u0007\u0010\u0002\u0002\u2311\u2312\u0007\u033c\u0002\u0002\u2312", - "\u2313\u0005\u01be\u00e0\u0002\u2313\u2314\u0007\u033d\u0002\u0002\u2314", - "\u2316\u0003\u0002\u0002\u0002\u2315\u22fb\u0003\u0002\u0002\u0002\u2315", - "\u2308\u0003\u0002\u0002\u0002\u2316\u02e7\u0003\u0002\u0002\u0002\u2317", - "\u231c\u0005\u03c6\u01e4\u0002\u2318\u2319\u0007\u033c\u0002\u0002\u2319", - "\u231a\u0005\u039e\u01d0\u0002\u231a\u231b\u0007\u033d\u0002\u0002\u231b", - "\u231d\u0003\u0002\u0002\u0002\u231c\u2318\u0003\u0002\u0002\u0002\u231c", - "\u231d\u0003\u0002\u0002\u0002\u231d\u231e\u0003\u0002\u0002\u0002\u231e", - "\u231f\u0007\u0010\u0002\u0002\u231f\u2320\u0007\u033c\u0002\u0002\u2320", - "\u2321\u0005\u01be\u00e0\u0002\u2321\u2322\u0007\u033d\u0002\u0002\u2322", - "\u02e9\u0003\u0002\u0002\u0002\u2323\u2326\u0005\u039a\u01ce\u0002\u2324", - "\u2326\u0007\u0321\u0002\u0002\u2325\u2323\u0003\u0002\u0002\u0002\u2325", - "\u2324\u0003\u0002\u0002\u0002\u2326\u2329\u0003\u0002\u0002\u0002\u2327", - "\u232a\u0007\u032a\u0002\u0002\u2328\u232a\u0005\u03cc\u01e7\u0002\u2329", - "\u2327\u0003\u0002\u0002\u0002\u2329\u2328\u0003\u0002\u0002\u0002\u232a", - "\u232b\u0003\u0002\u0002\u0002\u232b\u2334\u0005\u02d8\u016d\u0002\u232c", - "\u232d\u0005\u03c6\u01e4\u0002\u232d\u232e\u0007\u0337\u0002\u0002\u232e", - "\u232f\u0005\u03c6\u01e4\u0002\u232f\u2330\u0007\u033c\u0002\u0002\u2330", - "\u2331\u0005\u0366\u01b4\u0002\u2331\u2332\u0007\u033d\u0002\u0002\u2332", - "\u2334\u0003\u0002\u0002\u0002\u2333\u2325\u0003\u0002\u0002\u0002\u2333", - "\u232c\u0003\u0002\u0002\u0002\u2334\u02eb\u0003\u0002\u0002\u0002\u2335", - "\u233a\u0005\u02ee\u0178\u0002\u2336\u2337\u0007\u033e\u0002\u0002\u2337", - "\u2339\u0005\u02ee\u0178\u0002\u2338\u2336\u0003\u0002\u0002\u0002\u2339", - "\u233c\u0003\u0002\u0002\u0002\u233a\u2338\u0003\u0002\u0002\u0002\u233a", - "\u233b\u0003\u0002\u0002\u0002\u233b\u02ed\u0003\u0002\u0002\u0002\u233c", - "\u233a\u0003\u0002\u0002\u0002\u233d\u2342\u0005\u02f0\u0179\u0002\u233e", - "\u233f\u0007\u00ed\u0002\u0002\u233f\u2341\u0005\u02f0\u0179\u0002\u2340", - "\u233e\u0003\u0002\u0002\u0002\u2341\u2344\u0003\u0002\u0002\u0002\u2342", - "\u2340\u0003\u0002\u0002\u0002\u2342\u2343\u0003\u0002\u0002\u0002\u2343", - "\u02ef\u0003\u0002\u0002\u0002\u2344\u2342\u0003\u0002\u0002\u0002\u2345", - "\u234a\u0005\u02f2\u017a\u0002\u2346\u2347\u0007\u000b\u0002\u0002\u2347", - "\u2349\u0005\u02f2\u017a\u0002\u2348\u2346\u0003\u0002\u0002\u0002\u2349", - "\u234c\u0003\u0002\u0002\u0002\u234a\u2348\u0003\u0002\u0002\u0002\u234a", - "\u234b\u0003\u0002\u0002\u0002\u234b\u02f1\u0003\u0002\u0002\u0002\u234c", - "\u234a\u0003\u0002\u0002\u0002\u234d\u234f\u0007\u00dc\u0002\u0002\u234e", - "\u234d\u0003\u0002\u0002\u0002\u234e\u234f\u0003\u0002\u0002\u0002\u234f", - "\u2350\u0003\u0002\u0002\u0002\u2350\u2351\u0005\u02f4\u017b\u0002\u2351", - "\u02f3\u0003\u0002\u0002\u0002\u2352\u2353\u0007w\u0002\u0002\u2353", - "\u2354\u0007\u033c\u0002\u0002\u2354\u2355\u0005\u02e4\u0173\u0002\u2355", - "\u2356\u0007\u033d\u0002\u0002\u2356\u238a\u0003\u0002\u0002\u0002\u2357", - "\u2358\u0005\u02d8\u016d\u0002\u2358\u2359\u0005\u03ca\u01e6\u0002\u2359", - "\u235a\u0005\u02d8\u016d\u0002\u235a\u238a\u0003\u0002\u0002\u0002\u235b", - "\u235c\u0005\u02d8\u016d\u0002\u235c\u235d\u0005\u03ca\u01e6\u0002\u235d", - "\u235e\tn\u0002\u0002\u235e\u235f\u0007\u033c\u0002\u0002\u235f\u2360", - "\u0005\u02e4\u0173\u0002\u2360\u2361\u0007\u033d\u0002\u0002\u2361\u238a", - "\u0003\u0002\u0002\u0002\u2362\u2364\u0005\u02d8\u016d\u0002\u2363\u2365", - "\u0007\u00dc\u0002\u0002\u2364\u2363\u0003\u0002\u0002\u0002\u2364\u2365", - "\u0003\u0002\u0002\u0002\u2365\u2366\u0003\u0002\u0002\u0002\u2366\u2367", - "\u0007\u001d\u0002\u0002\u2367\u2368\u0005\u02d8\u016d\u0002\u2368\u2369", - "\u0007\u000b\u0002\u0002\u2369\u236a\u0005\u02d8\u016d\u0002\u236a\u238a", - "\u0003\u0002\u0002\u0002\u236b\u236d\u0005\u02d8\u016d\u0002\u236c\u236e", - "\u0007\u00dc\u0002\u0002\u236d\u236c\u0003\u0002\u0002\u0002\u236d\u236e", - "\u0003\u0002\u0002\u0002\u236e\u236f\u0003\u0002\u0002\u0002\u236f\u2370", - "\u0007\u009b\u0002\u0002\u2370\u2373\u0007\u033c\u0002\u0002\u2371\u2374", - "\u0005\u02e4\u0173\u0002\u2372\u2374\u0005\u0366\u01b4\u0002\u2373\u2371", - "\u0003\u0002\u0002\u0002\u2373\u2372\u0003\u0002\u0002\u0002\u2374\u2375", - "\u0003\u0002\u0002\u0002\u2375\u2376\u0007\u033d\u0002\u0002\u2376\u238a", - "\u0003\u0002\u0002\u0002\u2377\u2379\u0005\u02d8\u016d\u0002\u2378\u237a", - "\u0007\u00dc\u0002\u0002\u2379\u2378\u0003\u0002\u0002\u0002\u2379\u237a", - "\u0003\u0002\u0002\u0002\u237a\u237b\u0003\u0002\u0002\u0002\u237b\u237c", - "\u0007\u00b4\u0002\u0002\u237c\u237f\u0005\u02d8\u016d\u0002\u237d\u237e", - "\u0007o\u0002\u0002\u237e\u2380\u0005\u02d8\u016d\u0002\u237f\u237d", - "\u0003\u0002\u0002\u0002\u237f\u2380\u0003\u0002\u0002\u0002\u2380\u238a", - "\u0003\u0002\u0002\u0002\u2381\u2382\u0005\u02d8\u016d\u0002\u2382\u2383", - "\u0007\u00a8\u0002\u0002\u2383\u2384\u0005\u03a6\u01d4\u0002\u2384\u238a", - "\u0003\u0002\u0002\u0002\u2385\u2386\u0007\u033c\u0002\u0002\u2386\u2387", - "\u0005\u02ee\u0178\u0002\u2387\u2388\u0007\u033d\u0002\u0002\u2388\u238a", - "\u0003\u0002\u0002\u0002\u2389\u2352\u0003\u0002\u0002\u0002\u2389\u2357", - "\u0003\u0002\u0002\u0002\u2389\u235b\u0003\u0002\u0002\u0002\u2389\u2362", - "\u0003\u0002\u0002\u0002\u2389\u236b\u0003\u0002\u0002\u0002\u2389\u2377", - "\u0003\u0002\u0002\u0002\u2389\u2381\u0003\u0002\u0002\u0002\u2389\u2385", - "\u0003\u0002\u0002\u0002\u238a\u02f5\u0003\u0002\u0002\u0002\u238b\u2391", - "\u0005\u02fa\u017e\u0002\u238c\u238d\u0007\u033c\u0002\u0002\u238d\u238e", - "\u0005\u02f6\u017c\u0002\u238e\u238f\u0007\u033d\u0002\u0002\u238f\u2391", - "\u0003\u0002\u0002\u0002\u2390\u238b\u0003\u0002\u0002\u0002\u2390\u238c", - "\u0003\u0002\u0002\u0002\u2391\u2395\u0003\u0002\u0002\u0002\u2392\u2394", - "\u0005\u02f8\u017d\u0002\u2393\u2392\u0003\u0002\u0002\u0002\u2394\u2397", - "\u0003\u0002\u0002\u0002\u2395\u2393\u0003\u0002\u0002\u0002\u2395\u2396", - "\u0003\u0002\u0002\u0002\u2396\u02f7\u0003\u0002\u0002\u0002\u2397\u2395", - "\u0003\u0002\u0002\u0002\u2398\u239a\u0007\u0164\u0002\u0002\u2399\u239b", - "\u0007\u0006\u0002\u0002\u239a\u2399\u0003\u0002\u0002\u0002\u239a\u239b", - "\u0003\u0002\u0002\u0002\u239b\u239f\u0003\u0002\u0002\u0002\u239c\u239f", - "\u0007t\u0002\u0002\u239d\u239f\u0007\u00a4\u0002\u0002\u239e\u2398", - "\u0003\u0002\u0002\u0002\u239e\u239c\u0003\u0002\u0002\u0002\u239e\u239d", - "\u0003\u0002\u0002\u0002\u239f\u23a5\u0003\u0002\u0002\u0002\u23a0\u23a6", - "\u0005\u02fa\u017e\u0002\u23a1\u23a2\u0007\u033c\u0002\u0002\u23a2\u23a3", - "\u0005\u02f6\u017c\u0002\u23a3\u23a4\u0007\u033d\u0002\u0002\u23a4\u23a6", - "\u0003\u0002\u0002\u0002\u23a5\u23a0\u0003\u0002\u0002\u0002\u23a5\u23a1", - "\u0003\u0002\u0002\u0002\u23a6\u02f9\u0003\u0002\u0002\u0002\u23a7\u23a9", - "\u0007\u0131\u0002\u0002\u23a8\u23aa\to\u0002\u0002\u23a9\u23a8\u0003", - "\u0002\u0002\u0002\u23a9\u23aa\u0003\u0002\u0002\u0002\u23aa\u23ac\u0003", - "\u0002\u0002\u0002\u23ab\u23ad\u0005\u02fc\u017f\u0002\u23ac\u23ab\u0003", - "\u0002\u0002\u0002\u23ac\u23ad\u0003\u0002\u0002\u0002\u23ad\u23ae\u0003", - "\u0002\u0002\u0002\u23ae\u23b1\u0005\u0312\u018a\u0002\u23af\u23b0\u0007", - "\u00a5\u0002\u0002\u23b0\u23b2\u0005\u038e\u01c8\u0002\u23b1\u23af\u0003", - "\u0002\u0002\u0002\u23b1\u23b2\u0003\u0002\u0002\u0002\u23b2\u23b5\u0003", - "\u0002\u0002\u0002\u23b3\u23b4\u0007\u008b\u0002\u0002\u23b4\u23b6\u0005", - "\u0320\u0191\u0002\u23b5\u23b3\u0003\u0002\u0002\u0002\u23b5\u23b6\u0003", - "\u0002\u0002\u0002\u23b6\u23b9\u0003\u0002\u0002\u0002\u23b7\u23b8\u0007", - "\u0176\u0002\u0002\u23b8\u23ba\u0005\u02ee\u0178\u0002\u23b9\u23b7\u0003", - "\u0002\u0002\u0002\u23b9\u23ba\u0003\u0002\u0002\u0002\u23ba\u23c8\u0003", - "\u0002\u0002\u0002\u23bb\u23bc\u0007\u0092\u0002\u0002\u23bc\u23be\u0007", - "&\u0002\u0002\u23bd\u23bf\u0007\u0006\u0002\u0002\u23be\u23bd\u0003", - "\u0002\u0002\u0002\u23be\u23bf\u0003\u0002\u0002\u0002\u23bf\u23c0\u0003", - "\u0002\u0002\u0002\u23c0\u23c5\u0005\u030a\u0186\u0002\u23c1\u23c2\u0007", - "\u033e\u0002\u0002\u23c2\u23c4\u0005\u030a\u0186\u0002\u23c3\u23c1\u0003", - "\u0002\u0002\u0002\u23c4\u23c7\u0003\u0002\u0002\u0002\u23c5\u23c3\u0003", - "\u0002\u0002\u0002\u23c5\u23c6\u0003\u0002\u0002\u0002\u23c6\u23c9\u0003", - "\u0002\u0002\u0002\u23c7\u23c5\u0003\u0002\u0002\u0002\u23c8\u23bb\u0003", - "\u0002\u0002\u0002\u23c8\u23c9\u0003\u0002\u0002\u0002\u23c9\u23cc\u0003", - "\u0002\u0002\u0002\u23ca\u23cb\u0007\u0093\u0002\u0002\u23cb\u23cd\u0005", - "\u02ee\u0178\u0002\u23cc\u23ca\u0003\u0002\u0002\u0002\u23cc\u23cd\u0003", - "\u0002\u0002\u0002\u23cd\u02fb\u0003\u0002\u0002\u0002\u23ce\u23d1\u0007", - "\u015b\u0002\u0002\u23cf\u23d2\u0005\u02fe\u0180\u0002\u23d0\u23d2\u0005", - "\u0300\u0181\u0002\u23d1\u23cf\u0003\u0002\u0002\u0002\u23d1\u23d0\u0003", - "\u0002\u0002\u0002\u23d2\u23d5\u0003\u0002\u0002\u0002\u23d3\u23d4\u0007", - "\u0179\u0002\u0002\u23d4\u23d6\u0007\u02f4\u0002\u0002\u23d5\u23d3\u0003", - "\u0002\u0002\u0002\u23d5\u23d6\u0003\u0002\u0002\u0002\u23d6\u02fd\u0003", - "\u0002\u0002\u0002\u23d7\u23d8\tp\u0002\u0002\u23d8\u23df\u0007\u00f5", - "\u0002\u0002\u23d9\u23da\u0007\u033c\u0002\u0002\u23da\u23db\u0005\u02d8", - "\u016d\u0002\u23db\u23dc\u0007\u033d\u0002\u0002\u23dc\u23dd\u0007\u00f5", - "\u0002\u0002\u23dd\u23df\u0003\u0002\u0002\u0002\u23de\u23d7\u0003\u0002", - "\u0002\u0002\u23de\u23d9\u0003\u0002\u0002\u0002\u23df\u02ff\u0003\u0002", - "\u0002\u0002\u23e0\u23e6\u0007\u0322\u0002\u0002\u23e1\u23e2\u0007\u033c", - "\u0002\u0002\u23e2\u23e3\u0005\u02d8\u016d\u0002\u23e3\u23e4\u0007\u033d", - "\u0002\u0002\u23e4\u23e6\u0003\u0002\u0002\u0002\u23e5\u23e0\u0003\u0002", - "\u0002\u0002\u23e5\u23e1\u0003\u0002\u0002\u0002\u23e6\u0301\u0003\u0002", - "\u0002\u0002\u23e7\u23e8\u0007\u00ee\u0002\u0002\u23e8\u23e9\u0007&", - "\u0002\u0002\u23e9\u23ee\u0005\u0308\u0185\u0002\u23ea\u23eb\u0007\u033e", - "\u0002\u0002\u23eb\u23ed\u0005\u0308\u0185\u0002\u23ec\u23ea\u0003\u0002", - "\u0002\u0002\u23ed\u23f0\u0003\u0002\u0002\u0002\u23ee\u23ec\u0003\u0002", - "\u0002\u0002\u23ee\u23ef\u0003\u0002\u0002\u0002\u23ef\u23fc\u0003\u0002", - "\u0002\u0002\u23f0\u23ee\u0003\u0002\u0002\u0002\u23f1\u23f2\u0007\u0273", - "\u0002\u0002\u23f2\u23f3\u0005\u02d8\u016d\u0002\u23f3\u23fa\tq\u0002", - "\u0002\u23f4\u23f5\u0007\u0080\u0002\u0002\u23f5\u23f6\tr\u0002\u0002", - "\u23f6\u23f7\u0005\u02d8\u016d\u0002\u23f7\u23f8\tq\u0002\u0002\u23f8", - "\u23f9\u0007\u0276\u0002\u0002\u23f9\u23fb\u0003\u0002\u0002\u0002\u23fa", - "\u23f4\u0003\u0002\u0002\u0002\u23fa\u23fb\u0003\u0002\u0002\u0002\u23fb", - "\u23fd\u0003\u0002\u0002\u0002\u23fc\u23f1\u0003\u0002\u0002\u0002\u23fc", - "\u23fd\u0003\u0002\u0002\u0002\u23fd\u0303\u0003\u0002\u0002\u0002\u23fe", - "\u23ff\u0007\u0085\u0002\u0002\u23ff\u2457\u0007\"\u0002\u0002\u2400", - "\u2401\u0007\u0085\u0002\u0002\u2401\u2409\u0007\u0315\u0002\u0002\u2402", - "\u2406\u0007\u0109\u0002\u0002\u2403\u2404\u0007\u033c\u0002\u0002\u2404", - "\u2405\u0007\u0326\u0002\u0002\u2405\u2407\u0007\u033d\u0002\u0002\u2406", - "\u2403\u0003\u0002\u0002\u0002\u2406\u2407\u0003\u0002\u0002\u0002\u2407", - "\u240a\u0003\u0002\u0002\u0002\u2408\u240a\u0007\u0198\u0002\u0002\u2409", - "\u2402\u0003\u0002\u0002\u0002\u2409\u2408\u0003\u0002\u0002\u0002\u240a", - "\u240e\u0003\u0002\u0002\u0002\u240b\u240d\u0005\u0306\u0184\u0002\u240c", - "\u240b\u0003\u0002\u0002\u0002\u240d\u2410\u0003\u0002\u0002\u0002\u240e", - "\u240c\u0003\u0002\u0002\u0002\u240e\u240f\u0003\u0002\u0002\u0002\u240f", - "\u241b\u0003\u0002\u0002\u0002\u2410\u240e\u0003\u0002\u0002\u0002\u2411", - "\u2419\u0007\u033e\u0002\u0002\u2412\u241a\u0007\u0316\u0002\u0002\u2413", - "\u2417\u0007\u0318\u0002\u0002\u2414\u2415\u0007\u033c\u0002\u0002\u2415", - "\u2416\u0007\u0326\u0002\u0002\u2416\u2418\u0007\u033d\u0002\u0002\u2417", - "\u2414\u0003\u0002\u0002\u0002\u2417\u2418\u0003\u0002\u0002\u0002\u2418", - "\u241a\u0003\u0002\u0002\u0002\u2419\u2412\u0003\u0002\u0002\u0002\u2419", - "\u2413\u0003\u0002\u0002\u0002\u241a\u241c\u0003\u0002\u0002\u0002\u241b", - "\u2411\u0003\u0002\u0002\u0002\u241b\u241c\u0003\u0002\u0002\u0002\u241c", - "\u2420\u0003\u0002\u0002\u0002\u241d\u241e\u0007\u033e\u0002\u0002\u241e", - "\u241f\u0007\u01e6\u0002\u0002\u241f\u2421\ts\u0002\u0002\u2420\u241d", - "\u0003\u0002\u0002\u0002\u2420\u2421\u0003\u0002\u0002\u0002\u2421\u2457", - "\u0003\u0002\u0002\u0002\u2422\u2423\u0007\u0085\u0002\u0002\u2423\u2424", - "\u0007\u0315\u0002\u0002\u2424\u2428\u0007\u01f4\u0002\u0002\u2425\u2427", - "\u0005\u0306\u0184\u0002\u2426\u2425\u0003\u0002\u0002\u0002\u2427\u242a", - "\u0003\u0002\u0002\u0002\u2428\u2426\u0003\u0002\u0002\u0002\u2428\u2429", - "\u0003\u0002\u0002\u0002\u2429\u242d\u0003\u0002\u0002\u0002\u242a\u2428", - "\u0003\u0002\u0002\u0002\u242b\u242c\u0007\u033e\u0002\u0002\u242c\u242e", - "\u0007\u0316\u0002\u0002\u242d\u242b\u0003\u0002\u0002\u0002\u242d\u242e", - "\u0003\u0002\u0002\u0002\u242e\u2457\u0003\u0002\u0002\u0002\u242f\u2430", - "\u0007\u0085\u0002\u0002\u2430\u2431\u0007\u0315\u0002\u0002\u2431\u2435", - "\u0007\u0283\u0002\u0002\u2432\u2433\u0007\u033c\u0002\u0002\u2433\u2434", - "\u0007\u0326\u0002\u0002\u2434\u2436\u0007\u033d\u0002\u0002\u2435\u2432", - "\u0003\u0002\u0002\u0002\u2435\u2436\u0003\u0002\u0002\u0002\u2436\u243a", - "\u0003\u0002\u0002\u0002\u2437\u2439\u0005\u0306\u0184\u0002\u2438\u2437", - "\u0003\u0002\u0002\u0002\u2439\u243c\u0003\u0002\u0002\u0002\u243a\u2438", - "\u0003\u0002\u0002\u0002\u243a\u243b\u0003\u0002\u0002\u0002\u243b\u2440", - "\u0003\u0002\u0002\u0002\u243c\u243a\u0003\u0002\u0002\u0002\u243d\u243e", - "\u0007\u033e\u0002\u0002\u243e\u243f\u0007\u01e6\u0002\u0002\u243f\u2441", - "\ts\u0002\u0002\u2440\u243d\u0003\u0002\u0002\u0002\u2440\u2441\u0003", - "\u0002\u0002\u0002\u2441\u2457\u0003\u0002\u0002\u0002\u2442\u2443\u0007", - "\u0085\u0002\u0002\u2443\u2444\u0007\u0227\u0002\u0002\u2444\u244c\t", - "t\u0002\u0002\u2445\u2446\u0007\u033e\u0002\u0002\u2446\u244a\u0007", - "\u02b7\u0002\u0002\u2447\u2448\u0007\u033c\u0002\u0002\u2448\u2449\u0007", - "\u0326\u0002\u0002\u2449\u244b\u0007\u033d\u0002\u0002\u244a\u2447\u0003", - "\u0002\u0002\u0002\u244a\u244b\u0003\u0002\u0002\u0002\u244b\u244d\u0003", - "\u0002\u0002\u0002\u244c\u2445\u0003\u0002\u0002\u0002\u244c\u244d\u0003", - "\u0002\u0002\u0002\u244d\u2450\u0003\u0002\u0002\u0002\u244e\u244f\u0007", - "\u033e\u0002\u0002\u244f\u2451\u0007\u021d\u0002\u0002\u2450\u244e\u0003", - "\u0002\u0002\u0002\u2450\u2451\u0003\u0002\u0002\u0002\u2451\u2454\u0003", - "\u0002\u0002\u0002\u2452\u2453\u0007\u033e\u0002\u0002\u2453\u2455\u0007", - "\u0312\u0002\u0002\u2454\u2452\u0003\u0002\u0002\u0002\u2454\u2455\u0003", - "\u0002\u0002\u0002\u2455\u2457\u0003\u0002\u0002\u0002\u2456\u23fe\u0003", - "\u0002\u0002\u0002\u2456\u2400\u0003\u0002\u0002\u0002\u2456\u2422\u0003", - "\u0002\u0002\u0002\u2456\u242f\u0003\u0002\u0002\u0002\u2456\u2442\u0003", - "\u0002\u0002\u0002\u2457\u0305\u0003\u0002\u0002\u0002\u2458\u2461\u0007", - "\u033e\u0002\u0002\u2459\u2462\u0007\u01a4\u0002\u0002\u245a\u2462\u0007", - "\u0301\u0002\u0002\u245b\u245f\u0007\u02b7\u0002\u0002\u245c\u245d\u0007", - "\u033c\u0002\u0002\u245d\u245e\u0007\u0326\u0002\u0002\u245e\u2460\u0007", - "\u033d\u0002\u0002\u245f\u245c\u0003\u0002\u0002\u0002\u245f\u2460\u0003", - "\u0002\u0002\u0002\u2460\u2462\u0003\u0002\u0002\u0002\u2461\u2459\u0003", - "\u0002\u0002\u0002\u2461\u245a\u0003\u0002\u0002\u0002\u2461\u245b\u0003", - "\u0002\u0002\u0002\u2462\u0307\u0003\u0002\u0002\u0002\u2463\u2465\u0005", - "\u02d8\u016d\u0002\u2464\u2466\tu\u0002\u0002\u2465\u2464\u0003\u0002", - "\u0002\u0002\u2465\u2466\u0003\u0002\u0002\u0002\u2466\u0309\u0003\u0002", - "\u0002\u0002\u2467\u2468\u0005\u02d8\u016d\u0002\u2468\u030b\u0003\u0002", - "\u0002\u0002\u2469\u246a\u0007\u00ec\u0002\u0002\u246a\u246b\u0007\u033c", - "\u0002\u0002\u246b\u2470\u0005\u030e\u0188\u0002\u246c\u246d\u0007\u033e", - "\u0002\u0002\u246d\u246f\u0005\u030e\u0188\u0002\u246e\u246c\u0003\u0002", - "\u0002\u0002\u246f\u2472\u0003\u0002\u0002\u0002\u2470\u246e\u0003\u0002", - "\u0002\u0002\u2470\u2471\u0003\u0002\u0002\u0002\u2471\u2473\u0003\u0002", - "\u0002\u0002\u2472\u2470\u0003\u0002\u0002\u0002\u2473\u2474\u0007\u033d", - "\u0002\u0002\u2474\u030d\u0003\u0002\u0002\u0002\u2475\u2476\u0007\u01f9", - "\u0002\u0002\u2476\u24a3\u0007\u0322\u0002\u0002\u2477\u2478\tv\u0002", - "\u0002\u2478\u24a3\u0007\u0092\u0002\u0002\u2479\u247a\tw\u0002\u0002", - "\u247a\u24a3\u0007\u0164\u0002\u0002\u247b\u247c\tx\u0002\u0002\u247c", - "\u24a3\u0007\u00aa\u0002\u0002\u247d\u247e\u0007\u01f2\u0002\u0002\u247e", - "\u24a3\u0007\u030f\u0002\u0002\u247f\u2480\u0007\u0203\u0002\u0002\u2480", - "\u24a3\u0007\u00ee\u0002\u0002\u2481\u24a3\u0007\u0219\u0002\u0002\u2482", - "\u2483\u0007\u0229\u0002\u0002\u2483\u24a3\u0007\u00fb\u0002\u0002\u2484", - "\u2485\u0007\u022a\u0002\u0002\u2485\u24a3\u0007\u00fb\u0002\u0002\u2486", - "\u2487\u0007\u024a\u0002\u0002\u2487\u24a3\u0007\u0322\u0002\u0002\u2488", - "\u2489\u0007\u024b\u0002\u0002\u2489\u24a3\u0007\u0322\u0002\u0002\u248a", - "\u248b\u0007\u0279\u0002\u0002\u248b\u248c\u0007\u0085\u0002\u0002\u248c", - "\u248d\u0007\u033c\u0002\u0002\u248d\u2492\u0005\u0310\u0189\u0002\u248e", - "\u248f\u0007\u033e\u0002\u0002\u248f\u2491\u0005\u0310\u0189\u0002\u2490", - "\u248e\u0003\u0002\u0002\u0002\u2491\u2494\u0003\u0002\u0002\u0002\u2492", - "\u2490\u0003\u0002\u0002\u0002\u2492\u2493\u0003\u0002\u0002\u0002\u2493", - "\u2495\u0003\u0002\u0002\u0002\u2494\u2492\u0003\u0002\u0002\u0002\u2495", - "\u2496\u0007\u033d\u0002\u0002\u2496\u24a3\u0003\u0002\u0002\u0002\u2497", - "\u2498\u0007\u0279\u0002\u0002\u2498\u2499\u0007\u0085\u0002\u0002\u2499", - "\u24a3\u0007\u0305\u0002\u0002\u249a\u249b\u0007\u027f\u0002\u0002\u249b", - "\u24a3\tM\u0002\u0002\u249c\u24a3\u0007\u02a3\u0002\u0002\u249d\u249e", - "\u0007\u02b6\u0002\u0002\u249e\u24a3\u0007\u00fb\u0002\u0002\u249f\u24a0", - "\u0007\u016c\u0002\u0002\u24a0\u24a1\u0007\u00fb\u0002\u0002\u24a1\u24a3", - "\u0007\u0326\u0002\u0002\u24a2\u2475\u0003\u0002\u0002\u0002\u24a2\u2477", - "\u0003\u0002\u0002\u0002\u24a2\u2479\u0003\u0002\u0002\u0002\u24a2\u247b", - "\u0003\u0002\u0002\u0002\u24a2\u247d\u0003\u0002\u0002\u0002\u24a2\u247f", - "\u0003\u0002\u0002\u0002\u24a2\u2481\u0003\u0002\u0002\u0002\u24a2\u2482", - "\u0003\u0002\u0002\u0002\u24a2\u2484\u0003\u0002\u0002\u0002\u24a2\u2486", - "\u0003\u0002\u0002\u0002\u24a2\u2488\u0003\u0002\u0002\u0002\u24a2\u248a", - "\u0003\u0002\u0002\u0002\u24a2\u2497\u0003\u0002\u0002\u0002\u24a2\u249a", - "\u0003\u0002\u0002\u0002\u24a2\u249c\u0003\u0002\u0002\u0002\u24a2\u249d", - "\u0003\u0002\u0002\u0002\u24a2\u249f\u0003\u0002\u0002\u0002\u24a3\u030f", - "\u0003\u0002\u0002\u0002\u24a4\u24ab\u0007\u0321\u0002\u0002\u24a5\u24ac", - "\u0007\u0305\u0002\u0002\u24a6\u24a9\u0007\u032a\u0002\u0002\u24a7\u24aa", - "\u0005\u03c2\u01e2\u0002\u24a8\u24aa\u0007\u00df\u0002\u0002\u24a9\u24a7", - "\u0003\u0002\u0002\u0002\u24a9\u24a8\u0003\u0002\u0002\u0002\u24aa\u24ac", - "\u0003\u0002\u0002\u0002\u24ab\u24a5\u0003\u0002\u0002\u0002\u24ab\u24a6", - "\u0003\u0002\u0002\u0002\u24ac\u0311\u0003\u0002\u0002\u0002\u24ad\u24b2", - "\u0005\u031e\u0190\u0002\u24ae\u24af\u0007\u033e\u0002\u0002\u24af\u24b1", - "\u0005\u031e\u0190\u0002\u24b0\u24ae\u0003\u0002\u0002\u0002\u24b1\u24b4", - "\u0003\u0002\u0002\u0002\u24b2\u24b0\u0003\u0002\u0002\u0002\u24b2\u24b3", - "\u0003\u0002\u0002\u0002\u24b3\u0313\u0003\u0002\u0002\u0002\u24b4\u24b2", - "\u0003\u0002\u0002\u0002\u24b5\u24b6\u0007\u033c\u0002\u0002\u24b6\u24bb", - "\u0005\u027e\u0140\u0002\u24b7\u24b8\u0007\u033e\u0002\u0002\u24b8\u24ba", - "\u0005\u027e\u0140\u0002\u24b9\u24b7\u0003\u0002\u0002\u0002\u24ba\u24bd", - "\u0003\u0002\u0002\u0002\u24bb\u24b9\u0003\u0002\u0002\u0002\u24bb\u24bc", - "\u0003\u0002\u0002\u0002\u24bc\u24be\u0003\u0002\u0002\u0002\u24bd\u24bb", - "\u0003\u0002\u0002\u0002\u24be\u24bf\u0007\u033d\u0002\u0002\u24bf\u0315", - "\u0003\u0002\u0002\u0002\u24c0\u24c1\u0005\u038e\u01c8\u0002\u24c1\u24c2", - "\u0007\u0337\u0002\u0002\u24c2\u24c4\u0003\u0002\u0002\u0002\u24c3\u24c0", - "\u0003\u0002\u0002\u0002\u24c3\u24c4\u0003\u0002\u0002\u0002\u24c4\u24c5", - "\u0003\u0002\u0002\u0002\u24c5\u24c6\u0007\u0341\u0002\u0002\u24c6\u0317", - "\u0003\u0002\u0002\u0002\u24c7\u24c8\u0005\u038e\u01c8\u0002\u24c8\u24c9", - "\u0007\u0337\u0002\u0002\u24c9\u24cb\u0003\u0002\u0002\u0002\u24ca\u24c7", - "\u0003\u0002\u0002\u0002\u24ca\u24cb\u0003\u0002\u0002\u0002\u24cb\u24d1", - "\u0003\u0002\u0002\u0002\u24cc\u24d2\u0005\u03c6\u01e4\u0002\u24cd\u24ce", - "\u0007\u033b\u0002\u0002\u24ce\u24d2\u0007\u0096\u0002\u0002\u24cf\u24d0", - "\u0007\u033b\u0002\u0002\u24d0\u24d2\u0007\u02bb\u0002\u0002\u24d1\u24cc", - "\u0003\u0002\u0002\u0002\u24d1\u24cd\u0003\u0002\u0002\u0002\u24d1\u24cf", - "\u0003\u0002\u0002\u0002\u24d2\u24d5\u0003\u0002\u0002\u0002\u24d3\u24d5", - "\u0007\u00df\u0002\u0002\u24d4\u24ca\u0003\u0002\u0002\u0002\u24d4\u24d3", - "\u0003\u0002\u0002\u0002\u24d5\u24d7\u0003\u0002\u0002\u0002\u24d6\u24d8", - "\u0005\u0352\u01aa\u0002\u24d7\u24d6\u0003\u0002\u0002\u0002\u24d7\u24d8", - "\u0003\u0002\u0002\u0002\u24d8\u0319\u0003\u0002\u0002\u0002\u24d9\u24da", - "\u0005\u03c6\u01e4\u0002\u24da\u24db\u0007\u0337\u0002\u0002\u24db\u24dc", - "\u0005\u03c6\u01e4\u0002\u24dc\u24de\u0005\u0314\u018b\u0002\u24dd\u24df", - "\u0005\u0352\u01aa\u0002\u24de\u24dd\u0003\u0002\u0002\u0002\u24de\u24df", - "\u0003\u0002\u0002\u0002\u24df\u24eb\u0003\u0002\u0002\u0002\u24e0\u24e1", - "\u0005\u03c6\u01e4\u0002\u24e1\u24e2\u0007\u0340\u0002\u0002\u24e2\u24e3", - "\u0007\u0340\u0002\u0002\u24e3\u24e5\u0005\u03c6\u01e4\u0002\u24e4\u24e6", - "\u0005\u0314\u018b\u0002\u24e5\u24e4\u0003\u0002\u0002\u0002\u24e5\u24e6", - "\u0003\u0002\u0002\u0002\u24e6\u24e8\u0003\u0002\u0002\u0002\u24e7\u24e9", - "\u0005\u0352\u01aa\u0002\u24e8\u24e7\u0003\u0002\u0002\u0002\u24e8\u24e9", - "\u0003\u0002\u0002\u0002\u24e9\u24eb\u0003\u0002\u0002\u0002\u24ea\u24d9", - "\u0003\u0002\u0002\u0002\u24ea\u24e0\u0003\u0002\u0002\u0002\u24eb\u031b", - "\u0003\u0002\u0002\u0002\u24ec\u24ed\u0005\u0362\u01b2\u0002\u24ed\u24ee", - "\u0007\u032a\u0002\u0002\u24ee\u24ef\u0005\u02d8\u016d\u0002\u24ef\u24f5", - "\u0003\u0002\u0002\u0002\u24f0\u24f2\u0005\u02d8\u016d\u0002\u24f1\u24f3", - "\u0005\u0352\u01aa\u0002\u24f2\u24f1\u0003\u0002\u0002\u0002\u24f2\u24f3", - "\u0003\u0002\u0002\u0002\u24f3\u24f5\u0003\u0002\u0002\u0002\u24f4\u24ec", - "\u0003\u0002\u0002\u0002\u24f4\u24f0\u0003\u0002\u0002\u0002\u24f5\u031d", - "\u0003\u0002\u0002\u0002\u24f6\u24fb\u0005\u0316\u018c\u0002\u24f7\u24fb", - "\u0005\u0318\u018d\u0002\u24f8\u24fb\u0005\u031a\u018e\u0002\u24f9\u24fb", - "\u0005\u031c\u018f\u0002\u24fa\u24f6\u0003\u0002\u0002\u0002\u24fa\u24f7", - "\u0003\u0002\u0002\u0002\u24fa\u24f8\u0003\u0002\u0002\u0002\u24fa\u24f9", - "\u0003\u0002\u0002\u0002\u24fb\u031f\u0003\u0002\u0002\u0002\u24fc\u2501", - "\u0005\u0322\u0192\u0002\u24fd\u24fe\u0007\u033e\u0002\u0002\u24fe\u2500", - "\u0005\u0322\u0192\u0002\u24ff\u24fd\u0003\u0002\u0002\u0002\u2500\u2503", - "\u0003\u0002\u0002\u0002\u2501\u24ff\u0003\u0002\u0002\u0002\u2501\u2502", - "\u0003\u0002\u0002\u0002\u2502\u0321\u0003\u0002\u0002\u0002\u2503\u2501", - "\u0003\u0002\u0002\u0002\u2504\u250a\u0005\u0324\u0193\u0002\u2505\u2506", - "\u0007\u033c\u0002\u0002\u2506\u2507\u0005\u0324\u0193\u0002\u2507\u2508", - "\u0007\u033d\u0002\u0002\u2508\u250a\u0003\u0002\u0002\u0002\u2509\u2504", - "\u0003\u0002\u0002\u0002\u2509\u2505\u0003\u0002\u0002\u0002\u250a\u0323", - "\u0003\u0002\u0002\u0002\u250b\u250f\u0005\u0326\u0194\u0002\u250c\u250e", - "\u0005\u0330\u0199\u0002\u250d\u250c\u0003\u0002\u0002\u0002\u250e\u2511", - "\u0003\u0002\u0002\u0002\u250f\u250d\u0003\u0002\u0002\u0002\u250f\u2510", - "\u0003\u0002\u0002\u0002\u2510\u0325\u0003\u0002\u0002\u0002\u2511\u250f", - "\u0003\u0002\u0002\u0002\u2512\u2514\u0005\u0338\u019d\u0002\u2513\u2515", - "\u0005\u0354\u01ab\u0002\u2514\u2513\u0003\u0002\u0002\u0002\u2514\u2515", - "\u0003\u0002\u0002\u0002\u2515\u2544\u0003\u0002\u0002\u0002\u2516\u2518", - "\u0005\u038c\u01c7\u0002\u2517\u2519\u0005\u0354\u01ab\u0002\u2518\u2517", - "\u0003\u0002\u0002\u0002\u2518\u2519\u0003\u0002\u0002\u0002\u2519\u2544", - "\u0003\u0002\u0002\u0002\u251a\u251c\u0005\u033a\u019e\u0002\u251b\u251d", - "\u0005\u0354\u01ab\u0002\u251c\u251b\u0003\u0002\u0002\u0002\u251c\u251d", - "\u0003\u0002\u0002\u0002\u251d\u2544\u0003\u0002\u0002\u0002\u251e\u2523", - "\u0005\u033e\u01a0\u0002\u251f\u2521\u0005\u0354\u01ab\u0002\u2520\u2522", - "\u0005\u0360\u01b1\u0002\u2521\u2520\u0003\u0002\u0002\u0002\u2521\u2522", - "\u0003\u0002\u0002\u0002\u2522\u2524\u0003\u0002\u0002\u0002\u2523\u251f", - "\u0003\u0002\u0002\u0002\u2523\u2524\u0003\u0002\u0002\u0002\u2524\u2544", - "\u0003\u0002\u0002\u0002\u2525\u2526\u0005\u032e\u0198\u0002\u2526\u2527", - "\u0005\u0354\u01ab\u0002\u2527\u2544\u0003\u0002\u0002\u0002\u2528\u252d", - "\u0005\u0340\u01a1\u0002\u2529\u252b\u0005\u0354\u01ab\u0002\u252a\u252c", - "\u0005\u0360\u01b1\u0002\u252b\u252a\u0003\u0002\u0002\u0002\u252b\u252c", - "\u0003\u0002\u0002\u0002\u252c\u252e\u0003\u0002\u0002\u0002\u252d\u2529", - "\u0003\u0002\u0002\u0002\u252d\u252e\u0003\u0002\u0002\u0002\u252e\u2544", - "\u0003\u0002\u0002\u0002\u252f\u2531\u0007\u0321\u0002\u0002\u2530\u2532", - "\u0005\u0354\u01ab\u0002\u2531\u2530\u0003\u0002\u0002\u0002\u2531\u2532", - "\u0003\u0002\u0002\u0002\u2532\u2544\u0003\u0002\u0002\u0002\u2533\u2534", - "\u0007\u0321\u0002\u0002\u2534\u2535\u0007\u0337\u0002\u0002\u2535\u253a", - "\u0005\u0340\u01a1\u0002\u2536\u2538\u0005\u0354\u01ab\u0002\u2537\u2539", - "\u0005\u0360\u01b1\u0002\u2538\u2537\u0003\u0002\u0002\u0002\u2538\u2539", - "\u0003\u0002\u0002\u0002\u2539\u253b\u0003\u0002\u0002\u0002\u253a\u2536", - "\u0003\u0002\u0002\u0002\u253a\u253b\u0003\u0002\u0002\u0002\u253b\u2544", - "\u0003\u0002\u0002\u0002\u253c\u2544\u0005\u0328\u0195\u0002\u253d\u253e", - "\u0007\u0340\u0002\u0002\u253e\u253f\u0007\u0340\u0002\u0002\u253f\u2541", - "\u0005\u0340\u01a1\u0002\u2540\u2542\u0005\u0354\u01ab\u0002\u2541\u2540", - "\u0003\u0002\u0002\u0002\u2541\u2542\u0003\u0002\u0002\u0002\u2542\u2544", - "\u0003\u0002\u0002\u0002\u2543\u2512\u0003\u0002\u0002\u0002\u2543\u2516", - "\u0003\u0002\u0002\u0002\u2543\u251a\u0003\u0002\u0002\u0002\u2543\u251e", - "\u0003\u0002\u0002\u0002\u2543\u2525\u0003\u0002\u0002\u0002\u2543\u2528", - "\u0003\u0002\u0002\u0002\u2543\u252f\u0003\u0002\u0002\u0002\u2543\u2533", - "\u0003\u0002\u0002\u0002\u2543\u253c\u0003\u0002\u0002\u0002\u2543\u253d", - "\u0003\u0002\u0002\u0002\u2544\u0327\u0003\u0002\u0002\u0002\u2545\u2546", - "\u0007\u00eb\u0002\u0002\u2546\u2547\u0007\u033c\u0002\u0002\u2547\u2548", - "\u0005\u02d8\u016d\u0002\u2548\u2549\u0007\u033e\u0002\u0002\u2549\u254c", - "\u0005\u02d8\u016d\u0002\u254a\u254b\u0007\u033e\u0002\u0002\u254b\u254d", - "\u0005\u02d8\u016d\u0002\u254c\u254a\u0003\u0002\u0002\u0002\u254c\u254d", - "\u0003\u0002\u0002\u0002\u254d\u254e\u0003\u0002\u0002\u0002\u254e\u2554", - "\u0007\u033d\u0002\u0002\u254f\u2550\u0007\u0179\u0002\u0002\u2550\u2551", - "\u0007\u033c\u0002\u0002\u2551\u2552\u0005\u032a\u0196\u0002\u2552\u2553", - "\u0007\u033d\u0002\u0002\u2553\u2555\u0003\u0002\u0002\u0002\u2554\u254f", - "\u0003\u0002\u0002\u0002\u2554\u2555\u0003\u0002\u0002\u0002\u2555\u0329", - "\u0003\u0002\u0002\u0002\u2556\u255b\u0005\u032c\u0197\u0002\u2557\u2558", - "\u0007\u033e\u0002\u0002\u2558\u255a\u0005\u032c\u0197\u0002\u2559\u2557", - "\u0003\u0002\u0002\u0002\u255a\u255d\u0003\u0002\u0002\u0002\u255b\u2559", - "\u0003\u0002\u0002\u0002\u255b\u255c\u0003\u0002\u0002\u0002\u255c\u032b", - "\u0003\u0002\u0002\u0002\u255d\u255b\u0003\u0002\u0002\u0002\u255e\u255f", - "\u0007\u0323\u0002\u0002\u255f\u2561\u0005\u03be\u01e0\u0002\u2560\u2562", - "\u0007\u0326\u0002\u0002\u2561\u2560\u0003\u0002\u0002\u0002\u2561\u2562", - "\u0003\u0002\u0002\u0002\u2562\u032d\u0003\u0002\u0002\u0002\u2563\u2564", - "\u0007,\u0002\u0002\u2564\u2565\u0007\u033c\u0002\u0002\u2565\u2566", - "\u0007-\u0002\u0002\u2566\u2567\u0005\u038e\u01c8\u0002\u2567\u2568", - "\u0007\u033e\u0002\u0002\u2568\u2569\ty\u0002\u0002\u2569\u256a\u0007", - "\u033d\u0002\u0002\u256a\u032f\u0003\u0002\u0002\u0002\u256b\u256d\u0007", - "\u00a1\u0002\u0002\u256c\u256b\u0003\u0002\u0002\u0002\u256c\u256d\u0003", - "\u0002\u0002\u0002\u256d\u2573\u0003\u0002\u0002\u0002\u256e\u2570\t", - "z\u0002\u0002\u256f\u2571\u0007\u00ef\u0002\u0002\u2570\u256f\u0003", - "\u0002\u0002\u0002\u2570\u2571\u0003\u0002\u0002\u0002\u2571\u2573\u0003", - "\u0002\u0002\u0002\u2572\u256c\u0003\u0002\u0002\u0002\u2572\u256e\u0003", - "\u0002\u0002\u0002\u2573\u2575\u0003\u0002\u0002\u0002\u2574\u2576\t", - "{\u0002\u0002\u2575\u2574\u0003\u0002\u0002\u0002\u2575\u2576\u0003", - "\u0002\u0002\u0002\u2576\u2577\u0003\u0002\u0002\u0002\u2577\u2578\u0007", - "\u00aa\u0002\u0002\u2578\u2579\u0005\u0322\u0192\u0002\u2579\u257a\u0007", - "\u00e5\u0002\u0002\u257a\u257b\u0005\u02ee\u0178\u0002\u257b\u258e\u0003", - "\u0002\u0002\u0002\u257c\u257d\u0007J\u0002\u0002\u257d\u257e\u0007", - "\u00aa\u0002\u0002\u257e\u258e\u0005\u0322\u0192\u0002\u257f\u2580\u0007", - "J\u0002\u0002\u2580\u2581\u0007\u0193\u0002\u0002\u2581\u258e\u0005", - "\u0322\u0192\u0002\u2582\u2583\u0007\u00ef\u0002\u0002\u2583\u2584\u0007", - "\u0193\u0002\u0002\u2584\u258e\u0005\u0322\u0192\u0002\u2585\u2586\u0007", - "\u00fa\u0002\u0002\u2586\u2587\u0005\u0332\u019a\u0002\u2587\u2588\u0005", - "\u0354\u01ab\u0002\u2588\u258e\u0003\u0002\u0002\u0002\u2589\u258a\u0007", - "\u0167\u0002\u0002\u258a\u258b\u0005\u0334\u019b\u0002\u258b\u258c\u0005", - "\u0354\u01ab\u0002\u258c\u258e\u0003\u0002\u0002\u0002\u258d\u2572\u0003", - "\u0002\u0002\u0002\u258d\u257c\u0003\u0002\u0002\u0002\u258d\u257f\u0003", - "\u0002\u0002\u0002\u258d\u2582\u0003\u0002\u0002\u0002\u258d\u2585\u0003", - "\u0002\u0002\u0002\u258d\u2589\u0003\u0002\u0002\u0002\u258e\u0331\u0003", - "\u0002\u0002\u0002\u258f\u2590\u0007\u033c\u0002\u0002\u2590\u2591\u0005", - "\u036a\u01b6\u0002\u2591\u2592\u0007\u0085\u0002\u0002\u2592\u2593\u0005", - "\u039a\u01ce\u0002\u2593\u2594\u0007\u009b\u0002\u0002\u2594\u2595\u0005", - "\u0360\u01b1\u0002\u2595\u2596\u0007\u033d\u0002\u0002\u2596\u0333\u0003", - "\u0002\u0002\u0002\u2597\u2598\u0007\u033c\u0002\u0002\u2598\u2599\u0005", - "\u02d8\u016d\u0002\u2599\u259a\u0007\u0085\u0002\u0002\u259a\u259b\u0005", - "\u039a\u01ce\u0002\u259b\u259c\u0007\u009b\u0002\u0002\u259c\u259d\u0007", - "\u033c\u0002\u0002\u259d\u259e\u0005\u0336\u019c\u0002\u259e\u259f\u0007", - "\u033d\u0002\u0002\u259f\u25a0\u0007\u033d\u0002\u0002\u25a0\u0335\u0003", - "\u0002\u0002\u0002\u25a1\u25a6\u0005\u039a\u01ce\u0002\u25a2\u25a3\u0007", - "\u033e\u0002\u0002\u25a3\u25a5\u0005\u039a\u01ce\u0002\u25a4\u25a2\u0003", - "\u0002\u0002\u0002\u25a5\u25a8\u0003\u0002\u0002\u0002\u25a6\u25a4\u0003", - "\u0002\u0002\u0002\u25a6\u25a7\u0003\u0002\u0002\u0002\u25a7\u0337\u0003", - "\u0002\u0002\u0002\u25a8\u25a6\u0003\u0002\u0002\u0002\u25a9\u25ab\u0005", - "\u038e\u01c8\u0002\u25aa\u25ac\u0005\u0358\u01ad\u0002\u25ab\u25aa\u0003", - "\u0002\u0002\u0002\u25ab\u25ac\u0003\u0002\u0002\u0002\u25ac\u0339\u0003", - "\u0002\u0002\u0002\u25ad\u25ae\u0007\u00ea\u0002\u0002\u25ae\u25af\u0007", - "\u033c\u0002\u0002\u25af\u25b0\u0007\u0326\u0002\u0002\u25b0\u25b1\u0007", - "\u033e\u0002\u0002\u25b1\u25b2\u0007\u0326\u0002\u0002\u25b2\u25b3\u0007", - "\u033e\u0002\u0002\u25b3\u25b4\u0007\u0326\u0002\u0002\u25b4\u25c8\u0007", - "\u033d\u0002\u0002\u25b5\u25b6\u0007\u00ea\u0002\u0002\u25b6\u25b7\u0007", - "\u033c\u0002\u0002\u25b7\u25b8\u0007%\u0002\u0002\u25b8\u25b9\u0007", - "\u0326\u0002\u0002\u25b9\u25c3\u0007\u033e\u0002\u0002\u25ba\u25bf\u0005", - "\u033c\u019f\u0002\u25bb\u25bc\u0007\u033e\u0002\u0002\u25bc\u25be\u0005", - "\u033c\u019f\u0002\u25bd\u25bb\u0003\u0002\u0002\u0002\u25be\u25c1\u0003", - "\u0002\u0002\u0002\u25bf\u25bd\u0003\u0002\u0002\u0002\u25bf\u25c0\u0003", - "\u0002\u0002\u0002\u25c0\u25c4\u0003\u0002\u0002\u0002\u25c1\u25bf\u0003", - "\u0002\u0002\u0002\u25c2\u25c4\u0005\u03c6\u01e4\u0002\u25c3\u25ba\u0003", - "\u0002\u0002\u0002\u25c3\u25c2\u0003\u0002\u0002\u0002\u25c4\u25c5\u0003", - "\u0002\u0002\u0002\u25c5\u25c6\u0007\u033d\u0002\u0002\u25c6\u25c8\u0003", - "\u0002\u0002\u0002\u25c7\u25ad\u0003\u0002\u0002\u0002\u25c7\u25b5\u0003", - "\u0002\u0002\u0002\u25c8\u033b\u0003\u0002\u0002\u0002\u25c9\u25ca\u0005", - "\u03c6\u01e4\u0002\u25ca\u25cb\u0007\u032a\u0002\u0002\u25cb\u25cc\t", - "\u0018\u0002\u0002\u25cc\u033d\u0003\u0002\u0002\u0002\u25cd\u25d8\u0005", - "\u02e4\u0173\u0002\u25ce\u25cf\u0007\u033c\u0002\u0002\u25cf\u25d0\u0005", - "\u02e4\u0173\u0002\u25d0\u25d1\u0007\u033d\u0002\u0002\u25d1\u25d8\u0003", - "\u0002\u0002\u0002\u25d2\u25d8\u0005\u0364\u01b3\u0002\u25d3\u25d4\u0007", - "\u033c\u0002\u0002\u25d4\u25d5\u0005\u0364\u01b3\u0002\u25d5\u25d6\u0007", - "\u033d\u0002\u0002\u25d6\u25d8\u0003\u0002\u0002\u0002\u25d7\u25cd\u0003", - "\u0002\u0002\u0002\u25d7\u25ce\u0003\u0002\u0002\u0002\u25d7\u25d2\u0003", - "\u0002\u0002\u0002\u25d7\u25d3\u0003\u0002\u0002\u0002\u25d8\u033f\u0003", - "\u0002\u0002\u0002\u25d9\u25da\u0007\u01a5\u0002\u0002\u25da\u25db\u0007", - "\u033c\u0002\u0002\u25db\u25dc\u0007\u0341\u0002\u0002\u25dc\u266c\u0007", - "\u033d\u0002\u0002\u25dd\u25de\u0007\u01ad\u0002\u0002\u25de\u25df\u0007", - "\u033c\u0002\u0002\u25df\u25e0\u0005\u02d8\u016d\u0002\u25e0\u25e1\u0007", - "\u0010\u0002\u0002\u25e1\u25e2\u0005\u03be\u01e0\u0002\u25e2\u25e3\u0007", - "\u033d\u0002\u0002\u25e3\u266c\u0003\u0002\u0002\u0002\u25e4\u25e5\u0007", - "G\u0002\u0002\u25e5\u25e6\u0007\u033c\u0002\u0002\u25e6\u25e7\u0005", - "\u03be\u01e0\u0002\u25e7\u25e8\u0007\u033e\u0002\u0002\u25e8\u25eb\u0005", - "\u02d8\u016d\u0002\u25e9\u25ea\u0007\u033e\u0002\u0002\u25ea\u25ec\u0005", - "\u02d8\u016d\u0002\u25eb\u25e9\u0003\u0002\u0002\u0002\u25eb\u25ec\u0003", - "\u0002\u0002\u0002\u25ec\u25ed\u0003\u0002\u0002\u0002\u25ed\u25ee\u0007", - "\u033d\u0002\u0002\u25ee\u266c\u0003\u0002\u0002\u0002\u25ef\u25f0\u0007", - "\u01b2\u0002\u0002\u25f0\u25f1\u0007\u033c\u0002\u0002\u25f1\u25f2\u0007", - "\u0341\u0002\u0002\u25f2\u266c\u0007\u033d\u0002\u0002\u25f3\u25f4\u0007", - "6\u0002\u0002\u25f4\u25f5\u0007\u033c\u0002\u0002\u25f5\u25f6\u0005", - "\u0366\u01b4\u0002\u25f6\u25f7\u0007\u033d\u0002\u0002\u25f7\u266c\u0003", - "\u0002\u0002\u0002\u25f8\u266c\u0007N\u0002\u0002\u25f9\u266c\u0007", - "O\u0002\u0002\u25fa\u25fb\u0007\u01ca\u0002\u0002\u25fb\u25fc\u0007", - "\u033c\u0002\u0002\u25fc\u25fd\u0007\u0323\u0002\u0002\u25fd\u25fe\u0007", - "\u033e\u0002\u0002\u25fe\u25ff\u0005\u02d8\u016d\u0002\u25ff\u2600\u0007", - "\u033e\u0002\u0002\u2600\u2601\u0005\u02d8\u016d\u0002\u2601\u2602\u0007", - "\u033d\u0002\u0002\u2602\u266c\u0003\u0002\u0002\u0002\u2603\u2604\u0007", - "\u01cb\u0002\u0002\u2604\u2605\u0007\u033c\u0002\u0002\u2605\u2606\u0007", - "\u0323\u0002\u0002\u2606\u2607\u0007\u033e\u0002\u0002\u2607\u2608\u0005", - "\u02d8\u016d\u0002\u2608\u2609\u0007\u033e\u0002\u0002\u2609\u260a\u0005", - "\u02d8\u016d\u0002\u260a\u260b\u0007\u033d\u0002\u0002\u260b\u266c\u0003", - "\u0002\u0002\u0002\u260c\u260d\u0007\u01cc\u0002\u0002\u260d\u260e\u0007", - "\u033c\u0002\u0002\u260e\u260f\u0007\u0323\u0002\u0002\u260f\u2610\u0007", - "\u033e\u0002\u0002\u2610\u2611\u0005\u02d8\u016d\u0002\u2611\u2612\u0007", - "\u033d\u0002\u0002\u2612\u266c\u0003\u0002\u0002\u0002\u2613\u2614\u0007", - "\u01cd\u0002\u0002\u2614\u2615\u0007\u033c\u0002\u0002\u2615\u2616\u0007", - "\u0323\u0002\u0002\u2616\u2617\u0007\u033e\u0002\u0002\u2617\u2618\u0005", - "\u02d8\u016d\u0002\u2618\u2619\u0007\u033d\u0002\u0002\u2619\u266c\u0003", - "\u0002\u0002\u0002\u261a\u261b\u0007\u020b\u0002\u0002\u261b\u261c\u0007", - "\u033c\u0002\u0002\u261c\u266c\u0007\u033d\u0002\u0002\u261d\u261e\u0007", - "\u020c\u0002\u0002\u261e\u261f\u0007\u033c\u0002\u0002\u261f\u266c\u0007", - "\u033d\u0002\u0002\u2620\u2621\u0007\u0096\u0002\u0002\u2621\u2622\u0007", - "\u033c\u0002\u0002\u2622\u2625\u0005\u03be\u01e0\u0002\u2623\u2624\u0007", - "\u033e\u0002\u0002\u2624\u2626\u0007\u0322\u0002\u0002\u2625\u2623\u0003", - "\u0002\u0002\u0002\u2625\u2626\u0003\u0002\u0002\u0002\u2626\u2629\u0003", - "\u0002\u0002\u0002\u2627\u2628\u0007\u033e\u0002\u0002\u2628\u262a\u0007", - "\u0322\u0002\u0002\u2629\u2627\u0003\u0002\u0002\u0002\u2629\u262a\u0003", - "\u0002\u0002\u0002\u262a\u262b\u0003\u0002\u0002\u0002\u262b\u262c\u0007", - "\u033d\u0002\u0002\u262c\u266c\u0003\u0002\u0002\u0002\u262d\u266c\u0007", - "\u0252\u0002\u0002\u262e\u262f\u0007\u00e0\u0002\u0002\u262f\u2630\u0007", - "\u033c\u0002\u0002\u2630\u2631\u0005\u02d8\u016d\u0002\u2631\u2632\u0007", - "\u033e\u0002\u0002\u2632\u2633\u0005\u02d8\u016d\u0002\u2633\u2634\u0007", - "\u033d\u0002\u0002\u2634\u266c\u0003\u0002\u0002\u0002\u2635\u2636\u0007", - "\u02e6\u0002\u0002\u2636\u2637\u0007\u033c\u0002\u0002\u2637\u2638\u0005", - "\u02d8\u016d\u0002\u2638\u2639\u0007\u033e\u0002\u0002\u2639\u263a\u0007", - "\u0322\u0002\u0002\u263a\u263b\u0007\u033e\u0002\u0002\u263b\u263c\u0007", - "\u0322\u0002\u0002\u263c\u263d\u0007\u033e\u0002\u0002\u263d\u263e\u0005", - "\u02d8\u016d\u0002\u263e\u263f\u0007\u033d\u0002\u0002\u263f\u266c\u0003", - "\u0002\u0002\u0002\u2640\u266c\u0007\u013a\u0002\u0002\u2641\u266c\u0007", - "\u0152\u0002\u0002\u2642\u2643\u0007\u00a9\u0002\u0002\u2643\u2644\u0007", - "\u033c\u0002\u0002\u2644\u2645\u0005\u02d8\u016d\u0002\u2645\u2646\u0007", - "\u033e\u0002\u0002\u2646\u2647\u0005\u02d8\u016d\u0002\u2647\u2648\u0007", - "\u033d\u0002\u0002\u2648\u266c\u0003\u0002\u0002\u0002\u2649\u266c\u0005", - "\u0342\u01a2\u0002\u264a\u264b\u0007\u009a\u0002\u0002\u264b\u264c\u0007", - "\u033c\u0002\u0002\u264c\u264d\u0005\u02ee\u0178\u0002\u264d\u264e\u0007", - "\u033e\u0002\u0002\u264e\u264f\u0005\u02d8\u016d\u0002\u264f\u2650\u0007", - "\u033e\u0002\u0002\u2650\u2651\u0005\u02d8\u016d\u0002\u2651\u2652\u0007", - "\u033d\u0002\u0002\u2652\u266c\u0003\u0002\u0002\u0002\u2653\u266c\u0005", - "\u0368\u01b5\u0002\u2654\u266c\u0005\u036a\u01b6\u0002\u2655\u266c\u0005", - "\u036c\u01b7\u0002\u2656\u2657\u0005\u03aa\u01d6\u0002\u2657\u2659\u0007", - "\u033c\u0002\u0002\u2658\u265a\u0005\u0366\u01b4\u0002\u2659\u2658\u0003", - "\u0002\u0002\u0002\u2659\u265a\u0003\u0002\u0002\u0002\u265a\u265b\u0003", - "\u0002\u0002\u0002\u265b\u265c\u0007\u033d\u0002\u0002\u265c\u266c\u0003", - "\u0002\u0002\u0002\u265d\u265e\u0007\u02e5\u0002\u0002\u265e\u265f\u0007", - "\u033c\u0002\u0002\u265f\u2660\u0005\u02d8\u016d\u0002\u2660\u2661\u0007", - "\u033e\u0002\u0002\u2661\u2662\u0005\u02d8\u016d\u0002\u2662\u2669\u0007", - "\u033d\u0002\u0002\u2663\u2664\u0007\u017a\u0002\u0002\u2664\u2665\u0007", - "\u0092\u0002\u0002\u2665\u2666\u0007\u033c\u0002\u0002\u2666\u2667\u0005", - "\u0302\u0182\u0002\u2667\u2668\u0007\u033d\u0002\u0002\u2668\u266a\u0003", - "\u0002\u0002\u0002\u2669\u2663\u0003\u0002\u0002\u0002\u2669\u266a\u0003", - "\u0002\u0002\u0002\u266a\u266c\u0003\u0002\u0002\u0002\u266b\u25d9\u0003", - "\u0002\u0002\u0002\u266b\u25dd\u0003\u0002\u0002\u0002\u266b\u25e4\u0003", - "\u0002\u0002\u0002\u266b\u25ef\u0003\u0002\u0002\u0002\u266b\u25f3\u0003", - "\u0002\u0002\u0002\u266b\u25f8\u0003\u0002\u0002\u0002\u266b\u25f9\u0003", - "\u0002\u0002\u0002\u266b\u25fa\u0003\u0002\u0002\u0002\u266b\u2603\u0003", - "\u0002\u0002\u0002\u266b\u260c\u0003\u0002\u0002\u0002\u266b\u2613\u0003", - "\u0002\u0002\u0002\u266b\u261a\u0003\u0002\u0002\u0002\u266b\u261d\u0003", - "\u0002\u0002\u0002\u266b\u2620\u0003\u0002\u0002\u0002\u266b\u262d\u0003", - "\u0002\u0002\u0002\u266b\u262e\u0003\u0002\u0002\u0002\u266b\u2635\u0003", - "\u0002\u0002\u0002\u266b\u2640\u0003\u0002\u0002\u0002\u266b\u2641\u0003", - "\u0002\u0002\u0002\u266b\u2642\u0003\u0002\u0002\u0002\u266b\u2649\u0003", - "\u0002\u0002\u0002\u266b\u264a\u0003\u0002\u0002\u0002\u266b\u2653\u0003", - "\u0002\u0002\u0002\u266b\u2654\u0003\u0002\u0002\u0002\u266b\u2655\u0003", - "\u0002\u0002\u0002\u266b\u2656\u0003\u0002\u0002\u0002\u266b\u265d\u0003", - "\u0002\u0002\u0002\u266c\u0341\u0003\u0002\u0002\u0002\u266d\u2673\u0005", - "\u0344\u01a3\u0002\u266e\u2673\u0005\u0346\u01a4\u0002\u266f\u2673\u0005", - "\u0348\u01a5\u0002\u2670\u2673\u0005\u034a\u01a6\u0002\u2671\u2673\u0005", - "\u034c\u01a7\u0002\u2672\u266d\u0003\u0002\u0002\u0002\u2672\u266e\u0003", - "\u0002\u0002\u0002\u2672\u266f\u0003\u0002\u0002\u0002\u2672\u2670\u0003", - "\u0002\u0002\u0002\u2672\u2671\u0003\u0002\u0002\u0002\u2673\u0343\u0003", - "\u0002\u0002\u0002\u2674\u2679\u0007\u0321\u0002\u0002\u2675\u2679\u0007", - "\u0323\u0002\u0002\u2676\u2679\u0007r\u0002\u0002\u2677\u2679\u0005", - "\u0346\u01a4\u0002\u2678\u2674\u0003\u0002\u0002\u0002\u2678\u2675\u0003", - "\u0002\u0002\u0002\u2678\u2676\u0003\u0002\u0002\u0002\u2678\u2677\u0003", - "\u0002\u0002\u0002\u2679\u267a\u0003\u0002\u0002\u0002\u267a\u267b\u0007", - "\u0337\u0002\u0002\u267b\u267c\u0007\u030b\u0002\u0002\u267c\u267d\u0007", - "\u033c\u0002\u0002\u267d\u267e\u0007\u0326\u0002\u0002\u267e\u267f\u0007", - "\u033e\u0002\u0002\u267f\u2680\u0007\u0326\u0002\u0002\u2680\u26a0\u0007", - "\u033d\u0002\u0002\u2681\u2686\u0007\u0321\u0002\u0002\u2682\u2686\u0007", - "\u0323\u0002\u0002\u2683\u2686\u0007r\u0002\u0002\u2684\u2686\u0005", - "\u0346\u01a4\u0002\u2685\u2681\u0003\u0002\u0002\u0002\u2685\u2682\u0003", - "\u0002\u0002\u0002\u2685\u2683\u0003\u0002\u0002\u0002\u2685\u2684\u0003", - "\u0002\u0002\u0002\u2686\u2687\u0003\u0002\u0002\u0002\u2687\u2688\u0007", - "\u0337\u0002\u0002\u2688\u2689\u0007\u02b9\u0002\u0002\u2689\u268a\u0007", - "\u0337\u0002\u0002\u268a\u268b\u0007\u030b\u0002\u0002\u268b\u268c\u0007", - "\u033c\u0002\u0002\u268c\u268d\u0007\u0326\u0002\u0002\u268d\u268e\u0007", - "\u033e\u0002\u0002\u268e\u268f\u0007\u0326\u0002\u0002\u268f\u26a0\u0007", - "\u033d\u0002\u0002\u2690\u2695\u0007\u0321\u0002\u0002\u2691\u2695\u0007", - "\u0323\u0002\u0002\u2692\u2695\u0007r\u0002\u0002\u2693\u2695\u0005", - "\u0346\u01a4\u0002\u2694\u2690\u0003\u0002\u0002\u0002\u2694\u2691\u0003", - "\u0002\u0002\u0002\u2694\u2692\u0003\u0002\u0002\u0002\u2694\u2693\u0003", - "\u0002\u0002\u0002\u2695\u2696\u0003\u0002\u0002\u0002\u2696\u2697\u0007", - "\u0337\u0002\u0002\u2697\u2698\u0007\u00f2\u0002\u0002\u2698\u2699\u0007", - "\u0337\u0002\u0002\u2699\u269a\u0007\u030b\u0002\u0002\u269a\u269b\u0007", - "\u033c\u0002\u0002\u269b\u269c\u0007\u0326\u0002\u0002\u269c\u269d\u0007", - "\u033e\u0002\u0002\u269d\u269e\u0007\u0326\u0002\u0002\u269e\u26a0\u0007", - "\u033d\u0002\u0002\u269f\u2678\u0003\u0002\u0002\u0002\u269f\u2685\u0003", - "\u0002\u0002\u0002\u269f\u2694\u0003\u0002\u0002\u0002\u26a0\u0345\u0003", - "\u0002\u0002\u0002\u26a1\u26a5\u0007\u0321\u0002\u0002\u26a2\u26a5\u0007", - "\u0323\u0002\u0002\u26a3\u26a5\u0005\u038c\u01c7\u0002\u26a4\u26a1\u0003", - "\u0002\u0002\u0002\u26a4\u26a2\u0003\u0002\u0002\u0002\u26a4\u26a3\u0003", - "\u0002\u0002\u0002\u26a5\u26a6\u0003\u0002\u0002\u0002\u26a6\u26a7\u0007", - "\u0337\u0002\u0002\u26a7\u26a8\u0007\u0293\u0002\u0002\u26a8\u26a9\u0007", - "\u033c\u0002\u0002\u26a9\u26aa\u0007\u0326\u0002\u0002\u26aa\u26b8\u0007", - "\u033d\u0002\u0002\u26ab\u26af\u0007\u0321\u0002\u0002\u26ac\u26af\u0007", - "\u0323\u0002\u0002\u26ad\u26af\u0005\u038c\u01c7\u0002\u26ae\u26ab\u0003", - "\u0002\u0002\u0002\u26ae\u26ac\u0003\u0002\u0002\u0002\u26ae\u26ad\u0003", - "\u0002\u0002\u0002\u26af\u26b0\u0003\u0002\u0002\u0002\u26b0\u26b1\u0007", - "\u0337\u0002\u0002\u26b1\u26b2\u0007\u02b9\u0002\u0002\u26b2\u26b3\u0007", - "\u0337\u0002\u0002\u26b3\u26b4\u0007\u0293\u0002\u0002\u26b4\u26b5\u0007", - "\u033c\u0002\u0002\u26b5\u26b6\u0007\u0326\u0002\u0002\u26b6\u26b8\u0007", - "\u033d\u0002\u0002\u26b7\u26a4\u0003\u0002\u0002\u0002\u26b7\u26ae\u0003", - "\u0002\u0002\u0002\u26b8\u0347\u0003\u0002\u0002\u0002\u26b9\u26ba\t", - "|\u0002\u0002\u26ba\u26bb\u0007\u0337\u0002\u0002\u26bb\u26bc\u0007", - "\u01f1\u0002\u0002\u26bc\u26bd\u0007\u033c\u0002\u0002\u26bd\u26be\u0007", - "\u0326\u0002\u0002\u26be\u26bf\u0007\u033d\u0002\u0002\u26bf\u0349\u0003", - "\u0002\u0002\u0002\u26c0\u26c1\t|\u0002\u0002\u26c1\u26c2\u0007\u0337", - "\u0002\u0002\u26c2\u26c3\u0007\u025a\u0002\u0002\u26c3\u26c4\u0007\u033c", - "\u0002\u0002\u26c4\u26c5\u0007\u0326\u0002\u0002\u26c5\u26c6\u0007\u033d", - "\u0002\u0002\u26c6\u034b\u0003\u0002\u0002\u0002\u26c7\u26c8\t|\u0002", - "\u0002\u26c8\u26c9\u0007\u0337\u0002\u0002\u26c9\u26ca\u0007\u0267\u0002", - "\u0002\u26ca\u26cb\u0007\u033c\u0002\u0002\u26cb\u26cc\u0007\u0326\u0002", - "\u0002\u26cc\u26cd\u0007\u033d\u0002\u0002\u26cd\u034d\u0003\u0002\u0002", - "\u0002\u26ce\u26cf\u0007\u0175\u0002\u0002\u26cf\u26d0\u0005\u02d8\u016d", - "\u0002\u26d0\u26d1\u0007\u0159\u0002\u0002\u26d1\u26d2\u0005\u02d8\u016d", - "\u0002\u26d2\u034f\u0003\u0002\u0002\u0002\u26d3\u26d4\u0007\u0175\u0002", - "\u0002\u26d4\u26d5\u0005\u02ee\u0178\u0002\u26d5\u26d6\u0007\u0159\u0002", - "\u0002\u26d6\u26d7\u0005\u02d8\u016d\u0002\u26d7\u0351\u0003\u0002\u0002", - "\u0002\u26d8\u26da\u0007\u0010\u0002\u0002\u26d9\u26d8\u0003\u0002\u0002", - "\u0002\u26d9\u26da\u0003\u0002\u0002\u0002\u26da\u26db\u0003\u0002\u0002", - "\u0002\u26db\u26dc\u0005\u0362\u01b2\u0002\u26dc\u0353\u0003\u0002\u0002", - "\u0002\u26dd\u26df\u0007\u0010\u0002\u0002\u26de\u26dd\u0003\u0002\u0002", - "\u0002\u26de\u26df\u0003\u0002\u0002\u0002\u26df\u26e0\u0003\u0002\u0002", - "\u0002\u26e0\u26e1\u0005\u0356\u01ac\u0002\u26e1\u0355\u0003\u0002\u0002", - "\u0002\u26e2\u26e4\u0005\u03c6\u01e4\u0002\u26e3\u26e5\u0005\u0358\u01ad", - "\u0002\u26e4\u26e3\u0003\u0002\u0002\u0002\u26e4\u26e5\u0003\u0002\u0002", - "\u0002\u26e5\u0357\u0003\u0002\u0002\u0002\u26e6\u26e8\u0007\u0179\u0002", - "\u0002\u26e7\u26e6\u0003\u0002\u0002\u0002\u26e7\u26e8\u0003\u0002\u0002", - "\u0002\u26e8\u26e9\u0003\u0002\u0002\u0002\u26e9\u26ea\u0007\u033c\u0002", - "\u0002\u26ea\u26f1\u0005\u035c\u01af\u0002\u26eb\u26ed\u0007\u033e\u0002", - "\u0002\u26ec\u26eb\u0003\u0002\u0002\u0002\u26ec\u26ed\u0003\u0002\u0002", - "\u0002\u26ed\u26ee\u0003\u0002\u0002\u0002\u26ee\u26f0\u0005\u035c\u01af", - "\u0002\u26ef\u26ec\u0003\u0002\u0002\u0002\u26f0\u26f3\u0003\u0002\u0002", - "\u0002\u26f1\u26ef\u0003\u0002\u0002\u0002\u26f1\u26f2\u0003\u0002\u0002", - "\u0002\u26f2\u26f4\u0003\u0002\u0002\u0002\u26f3\u26f1\u0003\u0002\u0002", - "\u0002\u26f4\u26f5\u0007\u033d\u0002\u0002\u26f5\u0359\u0003\u0002\u0002", - "\u0002\u26f6\u26f7\u0007\u0179\u0002\u0002\u26f7\u26f8\u0007\u033c\u0002", - "\u0002\u26f8\u26ff\u0005\u035c\u01af\u0002\u26f9\u26fb\u0007\u033e\u0002", - "\u0002\u26fa\u26f9\u0003\u0002\u0002\u0002\u26fa\u26fb\u0003\u0002\u0002", - "\u0002\u26fb\u26fc\u0003\u0002\u0002\u0002\u26fc\u26fe\u0005\u035c\u01af", - "\u0002\u26fd\u26fa\u0003\u0002\u0002\u0002\u26fe\u2701\u0003\u0002\u0002", - "\u0002\u26ff\u26fd\u0003\u0002\u0002\u0002\u26ff\u2700\u0003\u0002\u0002", - "\u0002\u2700\u2702\u0003\u0002\u0002\u0002\u2701\u26ff\u0003\u0002\u0002", - "\u0002\u2702\u2703\u0007\u033d\u0002\u0002\u2703\u035b\u0003\u0002\u0002", - "\u0002\u2704\u2706\u0007\u0268\u0002\u0002\u2705\u2704\u0003\u0002\u0002", - "\u0002\u2705\u2706\u0003\u0002\u0002\u0002\u2706\u2737\u0003\u0002\u0002", - "\u0002\u2707\u271b\u0007\u009e\u0002\u0002\u2708\u2709\u0007\u033c\u0002", - "\u0002\u2709\u270e\u0005\u035e\u01b0\u0002\u270a\u270b\u0007\u033e\u0002", - "\u0002\u270b\u270d\u0005\u035e\u01b0\u0002\u270c\u270a\u0003\u0002\u0002", - "\u0002\u270d\u2710\u0003\u0002\u0002\u0002\u270e\u270c\u0003\u0002\u0002", - "\u0002\u270e\u270f\u0003\u0002\u0002\u0002\u270f\u2711\u0003\u0002\u0002", - "\u0002\u2710\u270e\u0003\u0002\u0002\u0002\u2711\u2712\u0007\u033d\u0002", - "\u0002\u2712\u271c\u0003\u0002\u0002\u0002\u2713\u2718\u0005\u035e\u01b0", - "\u0002\u2714\u2715\u0007\u033e\u0002\u0002\u2715\u2717\u0005\u035e\u01b0", - "\u0002\u2716\u2714\u0003\u0002\u0002\u0002\u2717\u271a\u0003\u0002\u0002", - "\u0002\u2718\u2716\u0003\u0002\u0002\u0002\u2718\u2719\u0003\u0002\u0002", - "\u0002\u2719\u271c\u0003\u0002\u0002\u0002\u271a\u2718\u0003\u0002\u0002", - "\u0002\u271b\u2708\u0003\u0002\u0002\u0002\u271b\u2713\u0003\u0002\u0002", - "\u0002\u271c\u2738\u0003\u0002\u0002\u0002\u271d\u271e\u0007\u009e\u0002", - "\u0002\u271e\u271f\u0007\u032a\u0002\u0002\u271f\u2738\u0005\u035e\u01b0", - "\u0002\u2720\u272f\u0007\u0086\u0002\u0002\u2721\u2722\u0007\u033c\u0002", - "\u0002\u2722\u2723\u0005\u035e\u01b0\u0002\u2723\u2724\u0007\u033c\u0002", - "\u0002\u2724\u2729\u0007\u0323\u0002\u0002\u2725\u2726\u0007\u033e\u0002", - "\u0002\u2726\u2728\u0007\u0323\u0002\u0002\u2727\u2725\u0003\u0002\u0002", - "\u0002\u2728\u272b\u0003\u0002\u0002\u0002\u2729\u2727\u0003\u0002\u0002", - "\u0002\u2729\u272a\u0003\u0002\u0002\u0002\u272a\u272c\u0003\u0002\u0002", - "\u0002\u272b\u2729\u0003\u0002\u0002\u0002\u272c\u272d\u0007\u033d\u0002", - "\u0002\u272d\u272e\u0007\u033d\u0002\u0002\u272e\u2730\u0003\u0002\u0002", - "\u0002\u272f\u2721\u0003\u0002\u0002\u0002\u272f\u2730\u0003\u0002\u0002", - "\u0002\u2730\u2738\u0003\u0002\u0002\u0002\u2731\u2738\u0007\u02d0\u0002", - "\u0002\u2732\u2738\u0007\u02da\u0002\u0002\u2733\u2734\u0007\u02db\u0002", - "\u0002\u2734\u2735\u0007\u032a\u0002\u0002\u2735\u2738\u0007\u0322\u0002", - "\u0002\u2736\u2738\u0007\u0323\u0002\u0002\u2737\u2707\u0003\u0002\u0002", - "\u0002\u2737\u271d\u0003\u0002\u0002\u0002\u2737\u2720\u0003\u0002\u0002", - "\u0002\u2737\u2731\u0003\u0002\u0002\u0002\u2737\u2732\u0003\u0002\u0002", - "\u0002\u2737\u2733\u0003\u0002\u0002\u0002\u2737\u2736\u0003\u0002\u0002", - "\u0002\u2738\u035d\u0003\u0002\u0002\u0002\u2739\u273c\u0005\u03c6\u01e4", - "\u0002\u273a\u273c\u0007\u0322\u0002\u0002\u273b\u2739\u0003\u0002\u0002", - "\u0002\u273b\u273a\u0003\u0002\u0002\u0002\u273c\u035f\u0003\u0002\u0002", - "\u0002\u273d\u273e\u0007\u033c\u0002\u0002\u273e\u2743\u0005\u0362\u01b2", - "\u0002\u273f\u2740\u0007\u033e\u0002\u0002\u2740\u2742\u0005\u0362\u01b2", - "\u0002\u2741\u273f\u0003\u0002\u0002\u0002\u2742\u2745\u0003\u0002\u0002", - "\u0002\u2743\u2741\u0003\u0002\u0002\u0002\u2743\u2744\u0003\u0002\u0002", - "\u0002\u2744\u2746\u0003\u0002\u0002\u0002\u2745\u2743\u0003\u0002\u0002", - "\u0002\u2746\u2747\u0007\u033d\u0002\u0002\u2747\u0361\u0003\u0002\u0002", - "\u0002\u2748\u274b\u0005\u03c6\u01e4\u0002\u2749\u274b\u0007\u0326\u0002", - "\u0002\u274a\u2748\u0003\u0002\u0002\u0002\u274a\u2749\u0003\u0002\u0002", - "\u0002\u274b\u0363\u0003\u0002\u0002\u0002\u274c\u274d\u0007\u016f\u0002", - "\u0002\u274d\u274e\u0007\u033c\u0002\u0002\u274e\u274f\u0005\u0366\u01b4", - "\u0002\u274f\u2757\u0007\u033d\u0002\u0002\u2750\u2751\u0007\u033e\u0002", - "\u0002\u2751\u2752\u0007\u033c\u0002\u0002\u2752\u2753\u0005\u0366\u01b4", - "\u0002\u2753\u2754\u0007\u033d\u0002\u0002\u2754\u2756\u0003\u0002\u0002", - "\u0002\u2755\u2750\u0003\u0002\u0002\u0002\u2756\u2759\u0003\u0002\u0002", - "\u0002\u2757\u2755\u0003\u0002\u0002\u0002\u2757\u2758\u0003\u0002\u0002", - "\u0002\u2758\u0365\u0003\u0002\u0002\u0002\u2759\u2757\u0003\u0002\u0002", - "\u0002\u275a\u275f\u0005\u02d8\u016d\u0002\u275b\u275c\u0007\u033e\u0002", - "\u0002\u275c\u275e\u0005\u02d8\u016d\u0002\u275d\u275b\u0003\u0002\u0002", - "\u0002\u275e\u2761\u0003\u0002\u0002\u0002\u275f\u275d\u0003\u0002\u0002", - "\u0002\u275f\u2760\u0003\u0002\u0002\u0002\u2760\u0367\u0003\u0002\u0002", - "\u0002\u2761\u275f\u0003\u0002\u0002\u0002\u2762\u2763\t}\u0002\u0002", - "\u2763\u2764\u0007\u033c\u0002\u0002\u2764\u2765\u0007\u033d\u0002\u0002", - "\u2765\u276d\u0005\u0370\u01b9\u0002\u2766\u2767\u0007\u026d\u0002\u0002", - "\u2767\u2768\u0007\u033c\u0002\u0002\u2768\u2769\u0005\u02d8\u016d\u0002", - "\u2769\u276a\u0007\u033d\u0002\u0002\u276a\u276b\u0005\u0370\u01b9\u0002", - "\u276b\u276d\u0003\u0002\u0002\u0002\u276c\u2762\u0003\u0002\u0002\u0002", - "\u276c\u2766\u0003\u0002\u0002\u0002\u276d\u0369\u0003\u0002\u0002\u0002", - "\u276e\u276f\t~\u0002\u0002\u276f\u2770\u0007\u033c\u0002\u0002\u2770", - "\u2771\u0005\u036e\u01b8\u0002\u2771\u2773\u0007\u033d\u0002\u0002\u2772", - "\u2774\u0005\u0370\u01b9\u0002\u2773\u2772\u0003\u0002\u0002\u0002\u2773", - "\u2774\u0003\u0002\u0002\u0002\u2774\u278f\u0003\u0002\u0002\u0002\u2775", - "\u2776\t\u007f\u0002\u0002\u2776\u2779\u0007\u033c\u0002\u0002\u2777", - "\u277a\u0007\u0341\u0002\u0002\u2778\u277a\u0005\u036e\u01b8\u0002\u2779", - "\u2777\u0003\u0002\u0002\u0002\u2779\u2778\u0003\u0002\u0002\u0002\u277a", - "\u277b\u0003\u0002\u0002\u0002\u277b\u277d\u0007\u033d\u0002\u0002\u277c", - "\u277e\u0005\u0370\u01b9\u0002\u277d\u277c\u0003\u0002\u0002\u0002\u277d", - "\u277e\u0003\u0002\u0002\u0002\u277e\u278f\u0003\u0002\u0002\u0002\u277f", - "\u2780\u0007\u01b3\u0002\u0002\u2780\u2781\u0007\u033c\u0002\u0002\u2781", - "\u2782\u0005\u036e\u01b8\u0002\u2782\u2783\u0007\u033d\u0002\u0002\u2783", - "\u278f\u0003\u0002\u0002\u0002\u2784\u2785\u0007\u0210\u0002\u0002\u2785", - "\u2786\u0007\u033c\u0002\u0002\u2786\u2787\u0005\u02d8\u016d\u0002\u2787", - "\u2788\u0007\u033d\u0002\u0002\u2788\u278f\u0003\u0002\u0002\u0002\u2789", - "\u278a\u0007\u0211\u0002\u0002\u278a\u278b\u0007\u033c\u0002\u0002\u278b", - "\u278c\u0005\u0366\u01b4\u0002\u278c\u278d\u0007\u033d\u0002\u0002\u278d", - "\u278f\u0003\u0002\u0002\u0002\u278e\u276e\u0003\u0002\u0002\u0002\u278e", - "\u2775\u0003\u0002\u0002\u0002\u278e\u277f\u0003\u0002\u0002\u0002\u278e", - "\u2784\u0003\u0002\u0002\u0002\u278e\u2789\u0003\u0002\u0002\u0002\u278f", - "\u036b\u0003\u0002\u0002\u0002\u2790\u2791\t\u0080\u0002\u0002\u2791", - "\u2792\u0007\u033c\u0002\u0002\u2792\u2793\u0005\u02d8\u016d\u0002\u2793", - "\u2794\u0007\u033d\u0002\u0002\u2794\u2795\u0005\u0370\u01b9\u0002\u2795", - "\u27a5\u0003\u0002\u0002\u0002\u2796\u2797\t\u0081\u0002\u0002\u2797", - "\u2798\u0007\u033c\u0002\u0002\u2798\u279f\u0005\u02d8\u016d\u0002\u2799", - "\u279a\u0007\u033e\u0002\u0002\u279a\u279d\u0005\u02d8\u016d\u0002\u279b", - "\u279c\u0007\u033e\u0002\u0002\u279c\u279e\u0005\u02d8\u016d\u0002\u279d", - "\u279b\u0003\u0002\u0002\u0002\u279d\u279e\u0003\u0002\u0002\u0002\u279e", - "\u27a0\u0003\u0002\u0002\u0002\u279f\u2799\u0003\u0002\u0002\u0002\u279f", - "\u27a0\u0003\u0002\u0002\u0002\u27a0\u27a1\u0003\u0002\u0002\u0002\u27a1", - "\u27a2\u0007\u033d\u0002\u0002\u27a2\u27a3\u0005\u0370\u01b9\u0002\u27a3", - "\u27a5\u0003\u0002\u0002\u0002\u27a4\u2790\u0003\u0002\u0002\u0002\u27a4", - "\u2796\u0003\u0002\u0002\u0002\u27a5\u036d\u0003\u0002\u0002\u0002\u27a6", - "\u27a8\to\u0002\u0002\u27a7\u27a6\u0003\u0002\u0002\u0002\u27a7\u27a8", - "\u0003\u0002\u0002\u0002\u27a8\u27a9\u0003\u0002\u0002\u0002\u27a9\u27aa", - "\u0005\u02d8\u016d\u0002\u27aa\u036f\u0003\u0002\u0002\u0002\u27ab\u27ac", - "\u0007\u00f0\u0002\u0002\u27ac\u27b0\u0007\u033c\u0002\u0002\u27ad\u27ae", - "\u0007\u0280\u0002\u0002\u27ae\u27af\u0007&\u0002\u0002\u27af\u27b1", - "\u0005\u0366\u01b4\u0002\u27b0\u27ad\u0003\u0002\u0002\u0002\u27b0\u27b1", - "\u0003\u0002\u0002\u0002\u27b1\u27b3\u0003\u0002\u0002\u0002\u27b2\u27b4", - "\u0005\u0302\u0182\u0002\u27b3\u27b2\u0003\u0002\u0002\u0002\u27b3\u27b4", - "\u0003\u0002\u0002\u0002\u27b4\u27b6\u0003\u0002\u0002\u0002\u27b5\u27b7", - "\u0005\u0372\u01ba\u0002\u27b6\u27b5\u0003\u0002\u0002\u0002\u27b6\u27b7", - "\u0003\u0002\u0002\u0002\u27b7\u27b8\u0003\u0002\u0002\u0002\u27b8\u27b9", - "\u0007\u033d\u0002\u0002\u27b9\u0371\u0003\u0002\u0002\u0002\u27ba\u27bb", - "\t\u0082\u0002\u0002\u27bb\u27bc\u0005\u0374\u01bb\u0002\u27bc\u0373", - "\u0003\u0002\u0002\u0002\u27bd\u27c4\u0005\u0378\u01bd\u0002\u27be\u27bf", - "\u0007\u001d\u0002\u0002\u27bf\u27c0\u0005\u0376\u01bc\u0002\u27c0\u27c1", - "\u0007\u000b\u0002\u0002\u27c1\u27c2\u0005\u0376\u01bc\u0002\u27c2\u27c4", - "\u0003\u0002\u0002\u0002\u27c3\u27bd\u0003\u0002\u0002\u0002\u27c3\u27be", - "\u0003\u0002\u0002\u0002\u27c4\u0375\u0003\u0002\u0002\u0002\u27c5\u27c8", - "\u0005\u0378\u01bd\u0002\u27c6\u27c8\u0005\u037a\u01be\u0002\u27c7\u27c5", - "\u0003\u0002\u0002\u0002\u27c7\u27c6\u0003\u0002\u0002\u0002\u27c8\u0377", - "\u0003\u0002\u0002\u0002\u27c9\u27ca\u0007\u0303\u0002\u0002\u27ca\u27d0", - "\u0007\u0287\u0002\u0002\u27cb\u27cc\u0007\u0322\u0002\u0002\u27cc\u27d0", - "\u0007\u0287\u0002\u0002\u27cd\u27ce\u0007K\u0002\u0002\u27ce\u27d0", - "\u0007\u02b9\u0002\u0002\u27cf\u27c9\u0003\u0002\u0002\u0002\u27cf\u27cb", - "\u0003\u0002\u0002\u0002\u27cf\u27cd\u0003\u0002\u0002\u0002\u27d0\u0379", - "\u0003\u0002\u0002\u0002\u27d1\u27d2\u0007\u0303\u0002\u0002\u27d2\u27d6", - "\u0007\u0202\u0002\u0002\u27d3\u27d4\u0007\u0322\u0002\u0002\u27d4\u27d6", - "\u0007\u0202\u0002\u0002\u27d5\u27d1\u0003\u0002\u0002\u0002\u27d5\u27d3", - "\u0003\u0002\u0002\u0002\u27d6\u037b\u0003\u0002\u0002\u0002\u27d7\u27d8", - "\u0007\u01fe\u0002\u0002\u27d8\u27dd\u0005\u037e\u01c0\u0002\u27d9\u27da", - "\u0007\u033e\u0002\u0002\u27da\u27dc\u0005\u037e\u01c0\u0002\u27db\u27d9", - "\u0003\u0002\u0002\u0002\u27dc\u27df\u0003\u0002\u0002\u0002\u27dd\u27db", - "\u0003\u0002\u0002\u0002\u27dd\u27de\u0003\u0002\u0002\u0002\u27de\u27fa", - "\u0003\u0002\u0002\u0002\u27df\u27dd\u0003\u0002\u0002\u0002\u27e0\u27e1", - "\u0007\u01d4\u0002\u0002\u27e1\u27e4\u0007\u032a\u0002\u0002\u27e2\u27e5", - "\u0005\u03c6\u01e4\u0002\u27e3\u27e5\u0007\u0326\u0002\u0002\u27e4\u27e2", - "\u0003\u0002\u0002\u0002\u27e4\u27e3\u0003\u0002\u0002\u0002\u27e5\u27fa", - "\u0003\u0002\u0002\u0002\u27e6\u27e7\u0007\u01d3\u0002\u0002\u27e7\u27ea", - "\u0007\u032a\u0002\u0002\u27e8\u27eb\u0005\u03c6\u01e4\u0002\u27e9\u27eb", - "\u0007\u0326\u0002\u0002\u27ea\u27e8\u0003\u0002\u0002\u0002\u27ea\u27e9", - "\u0003\u0002\u0002\u0002\u27eb\u27fa\u0003\u0002\u0002\u0002\u27ec\u27ed", - "\u0007\u025e\u0002\u0002\u27ed\u27ee\u0007\u032a\u0002\u0002\u27ee\u27fa", - "\t\t\u0002\u0002\u27ef\u27f0\u0007\u02fa\u0002\u0002\u27f0\u27f1\u0007", - "\u032a\u0002\u0002\u27f1\u27fa\t\t\u0002\u0002\u27f2\u27f3\u0007\u0300", - "\u0002\u0002\u27f3\u27f4\u0007\u032a\u0002\u0002\u27f4\u27fa\u0007\u0322", - "\u0002\u0002\u27f5\u27f6\u0007\u01cf\u0002\u0002\u27f6\u27fa\t\t\u0002", - "\u0002\u27f7\u27f8\u0007\u02fd\u0002\u0002\u27f8\u27fa\t\t\u0002\u0002", - "\u27f9\u27d7\u0003\u0002\u0002\u0002\u27f9\u27e0\u0003\u0002\u0002\u0002", - "\u27f9\u27e6\u0003\u0002\u0002\u0002\u27f9\u27ec\u0003\u0002\u0002\u0002", - "\u27f9\u27ef\u0003\u0002\u0002\u0002\u27f9\u27f2\u0003\u0002\u0002\u0002", - "\u27f9\u27f5\u0003\u0002\u0002\u0002\u27f9\u27f7\u0003\u0002\u0002\u0002", - "\u27fa\u037d\u0003\u0002\u0002\u0002\u27fb\u2802\u0007\u033c\u0002\u0002", - "\u27fc\u27fd\u0007\u0269\u0002\u0002\u27fd\u27fe\u0007\u032a\u0002\u0002", - "\u27fe\u2803\t\u0083\u0002\u0002\u27ff\u2800\u0007\u01df\u0002\u0002", - "\u2800\u2801\u0007\u032a\u0002\u0002\u2801\u2803\u0007\u0326\u0002\u0002", - "\u2802\u27fc\u0003\u0002\u0002\u0002\u2802\u27ff\u0003\u0002\u0002\u0002", - "\u2803\u2804\u0003\u0002\u0002\u0002\u2804\u2805\u0007\u033d\u0002\u0002", - "\u2805\u037f\u0003\u0002\u0002\u0002\u2806\u2809\u0005\u0382\u01c2\u0002", - "\u2807\u2809\u0005\u0384\u01c3\u0002\u2808\u2806\u0003\u0002\u0002\u0002", - "\u2808\u2807\u0003\u0002\u0002\u0002\u2809\u0381\u0003\u0002\u0002\u0002", - "\u280a\u280b\u0007\u01fb\u0002\u0002\u280b\u280e\u0005\u03c6\u01e4\u0002", - "\u280c\u280d\u0007?\u0002\u0002\u280d\u280f\u0007\u01fe\u0002\u0002", - "\u280e\u280c\u0003\u0002\u0002\u0002\u280e\u280f\u0003\u0002\u0002\u0002", - "\u280f\u2811\u0003\u0002\u0002\u0002\u2810\u2812\u0007Y\u0002\u0002", - "\u2811\u2810\u0003\u0002\u0002\u0002\u2811\u2812\u0003\u0002\u0002\u0002", - "\u2812\u2815\u0003\u0002\u0002\u0002\u2813\u2814\u0007?\u0002\u0002", - "\u2814\u2816\u0007\u024f\u0002\u0002\u2815\u2813\u0003\u0002\u0002\u0002", - "\u2815\u2816\u0003\u0002\u0002\u0002\u2816\u2817\u0003\u0002\u0002\u0002", - "\u2817\u281c\u0005\u0384\u01c3\u0002\u2818\u2819\u0007\u033e\u0002\u0002", - "\u2819\u281b\u0005\u0384\u01c3\u0002\u281a\u2818\u0003\u0002\u0002\u0002", - "\u281b\u281e\u0003\u0002\u0002\u0002\u281c\u281a\u0003\u0002\u0002\u0002", - "\u281c\u281d\u0003\u0002\u0002\u0002\u281d\u0383\u0003\u0002\u0002\u0002", - "\u281e\u281c\u0003\u0002\u0002\u0002\u281f\u2820\u0007\u033c\u0002\u0002", - "\u2820\u2821\u0007\u025d\u0002\u0002\u2821\u2824\u0007\u032a\u0002\u0002", - "\u2822\u2825\u0005\u03c6\u01e4\u0002\u2823\u2825\u0007\u0326\u0002\u0002", - "\u2824\u2822\u0003\u0002\u0002\u0002\u2824\u2823\u0003\u0002\u0002\u0002", - "\u2825\u2827\u0003\u0002\u0002\u0002\u2826\u2828\u0007\u033e\u0002\u0002", - "\u2827\u2826\u0003\u0002\u0002\u0002\u2827\u2828\u0003\u0002\u0002\u0002", - "\u2828\u2829\u0003\u0002\u0002\u0002\u2829\u282a\u0007\u0082\u0002\u0002", - "\u282a\u282b\u0007\u032a\u0002\u0002\u282b\u282d\u0007\u0326\u0002\u0002", - "\u282c\u282e\u0007\u033e\u0002\u0002\u282d\u282c\u0003\u0002\u0002\u0002", - "\u282d\u282e\u0003\u0002\u0002\u0002\u282e\u2835\u0003\u0002\u0002\u0002", - "\u282f\u2830\u0007\u02d8\u0002\u0002\u2830\u2831\u0007\u032a\u0002\u0002", - "\u2831\u2833\u0005\u03ce\u01e8\u0002\u2832\u2834\u0007\u033e\u0002\u0002", - "\u2833\u2832\u0003\u0002\u0002\u0002\u2833\u2834\u0003\u0002\u0002\u0002", - "\u2834\u2836\u0003\u0002\u0002\u0002\u2835\u282f\u0003\u0002\u0002\u0002", - "\u2835\u2836\u0003\u0002\u0002\u0002\u2836\u2840\u0003\u0002\u0002\u0002", - "\u2837\u2838\u0007\u024c\u0002\u0002\u2838\u283b\u0007\u032a\u0002\u0002", - "\u2839\u283c\u0005\u03ce\u01e8\u0002\u283a\u283c\u0007\u0306\u0002\u0002", - "\u283b\u2839\u0003\u0002\u0002\u0002\u283b\u283a\u0003\u0002\u0002\u0002", - "\u283c\u283e\u0003\u0002\u0002\u0002\u283d\u283f\u0007\u033e\u0002\u0002", - "\u283e\u283d\u0003\u0002\u0002\u0002\u283e\u283f\u0003\u0002\u0002\u0002", - "\u283f\u2841\u0003\u0002\u0002\u0002\u2840\u2837\u0003\u0002\u0002\u0002", - "\u2840\u2841\u0003\u0002\u0002\u0002\u2841\u2848\u0003\u0002\u0002\u0002", - "\u2842\u2843\u0007\u01fc\u0002\u0002\u2843\u2844\u0007\u032a\u0002\u0002", - "\u2844\u2846\u0005\u03ce\u01e8\u0002\u2845\u2847\u0007\u033e\u0002\u0002", - "\u2846\u2845\u0003\u0002\u0002\u0002\u2846\u2847\u0003\u0002\u0002\u0002", - "\u2847\u2849\u0003\u0002\u0002\u0002\u2848\u2842\u0003\u0002\u0002\u0002", - "\u2848\u2849\u0003\u0002\u0002\u0002\u2849\u284a\u0003\u0002\u0002\u0002", - "\u284a\u284b\u0007\u033d\u0002\u0002\u284b\u0385\u0003\u0002\u0002\u0002", - "\u284c\u284d\u0005\u03c6\u01e4\u0002\u284d\u284e\u0007\u0337\u0002\u0002", - "\u284e\u284f\u0005\u03c6\u01e4\u0002\u284f\u2850\u0007\u0337\u0002\u0002", - "\u2850\u2851\u0005\u03c6\u01e4\u0002\u2851\u2852\u0007\u0337\u0002\u0002", - "\u2852\u285e\u0003\u0002\u0002\u0002\u2853\u2854\u0005\u03c6\u01e4\u0002", - "\u2854\u2856\u0007\u0337\u0002\u0002\u2855\u2857\u0005\u03c6\u01e4\u0002", - "\u2856\u2855\u0003\u0002\u0002\u0002\u2856\u2857\u0003\u0002\u0002\u0002", - "\u2857\u2858\u0003\u0002\u0002\u0002\u2858\u2859\u0007\u0337\u0002\u0002", - "\u2859\u285e\u0003\u0002\u0002\u0002\u285a\u285b\u0005\u03c6\u01e4\u0002", - "\u285b\u285c\u0007\u0337\u0002\u0002\u285c\u285e\u0003\u0002\u0002\u0002", - "\u285d\u284c\u0003\u0002\u0002\u0002\u285d\u2853\u0003\u0002\u0002\u0002", - "\u285d\u285a\u0003\u0002\u0002\u0002\u285d\u285e\u0003\u0002\u0002\u0002", - "\u285e\u285f\u0003\u0002\u0002\u0002\u285f\u2860\u0005\u03c6\u01e4\u0002", - "\u2860\u0387\u0003\u0002\u0002\u0002\u2861\u2867\u0005\u03c6\u01e4\u0002", - "\u2862\u2863\u0005\u03c6\u01e4\u0002\u2863\u2864\u0007\u0337\u0002\u0002", - "\u2864\u2865\u0005\u03c6\u01e4\u0002\u2865\u2867\u0003\u0002\u0002\u0002", - "\u2866\u2861\u0003\u0002\u0002\u0002\u2866\u2862\u0003\u0002\u0002\u0002", - "\u2867\u0389\u0003\u0002\u0002\u0002\u2868\u286e\u0005\u03c6\u01e4\u0002", - "\u2869\u286a\u0005\u03c6\u01e4\u0002\u286a\u286b\u0007\u0337\u0002\u0002", - "\u286b\u286c\u0005\u03c6\u01e4\u0002\u286c\u286e\u0003\u0002\u0002\u0002", - "\u286d\u2868\u0003\u0002\u0002\u0002\u286d\u2869\u0003\u0002\u0002\u0002", - "\u286e\u038b\u0003\u0002\u0002\u0002\u286f\u2870\u0005\u03c6\u01e4\u0002", - "\u2870\u2871\u0007\u0337\u0002\u0002\u2871\u2872\u0005\u03c6\u01e4\u0002", - "\u2872\u2873\u0007\u0337\u0002\u0002\u2873\u2874\u0005\u03c6\u01e4\u0002", - "\u2874\u2875\u0007\u0337\u0002\u0002\u2875\u2881\u0003\u0002\u0002\u0002", - "\u2876\u2877\u0005\u03c6\u01e4\u0002\u2877\u2879\u0007\u0337\u0002\u0002", - "\u2878\u287a\u0005\u03c6\u01e4\u0002\u2879\u2878\u0003\u0002\u0002\u0002", - "\u2879\u287a\u0003\u0002\u0002\u0002\u287a\u287b\u0003\u0002\u0002\u0002", - "\u287b\u287c\u0007\u0337\u0002\u0002\u287c\u2881\u0003\u0002\u0002\u0002", - "\u287d\u287e\u0005\u03c6\u01e4\u0002\u287e\u287f\u0007\u0337\u0002\u0002", - "\u287f\u2881\u0003\u0002\u0002\u0002\u2880\u286f\u0003\u0002\u0002\u0002", - "\u2880\u2876\u0003\u0002\u0002\u0002\u2880\u287d\u0003\u0002\u0002\u0002", - "\u2880\u2881\u0003\u0002\u0002\u0002\u2881\u2882\u0003\u0002\u0002\u0002", - "\u2882\u2883\u0005\u03c6\u01e4\u0002\u2883\u038d\u0003\u0002\u0002\u0002", - "\u2884\u2885\u0005\u03c6\u01e4\u0002\u2885\u2887\u0007\u0337\u0002\u0002", - "\u2886\u2888\u0005\u03c6\u01e4\u0002\u2887\u2886\u0003\u0002\u0002\u0002", - "\u2887\u2888\u0003\u0002\u0002\u0002\u2888\u2889\u0003\u0002\u0002\u0002", - "\u2889\u288a\u0007\u0337\u0002\u0002\u288a\u288f\u0003\u0002\u0002\u0002", - "\u288b\u288c\u0005\u03c6\u01e4\u0002\u288c\u288d\u0007\u0337\u0002\u0002", - "\u288d\u288f\u0003\u0002\u0002\u0002\u288e\u2884\u0003\u0002\u0002\u0002", - "\u288e\u288b\u0003\u0002\u0002\u0002\u288e\u288f\u0003\u0002\u0002\u0002", - "\u288f\u2890\u0003\u0002\u0002\u0002\u2890\u289f\u0005\u03c6\u01e4\u0002", - "\u2891\u2892\u0005\u03c6\u01e4\u0002\u2892\u2894\u0007\u0337\u0002\u0002", - "\u2893\u2895\u0005\u03c6\u01e4\u0002\u2894\u2893\u0003\u0002\u0002\u0002", - "\u2894\u2895\u0003\u0002\u0002\u0002\u2895\u2896\u0003\u0002\u0002\u0002", - "\u2896\u2897\u0007\u0337\u0002\u0002\u2897\u289c\u0003\u0002\u0002\u0002", - "\u2898\u2899\u0005\u03c6\u01e4\u0002\u2899\u289a\u0007\u0337\u0002\u0002", - "\u289a\u289c\u0003\u0002\u0002\u0002\u289b\u2891\u0003\u0002\u0002\u0002", - "\u289b\u2898\u0003\u0002\u0002\u0002\u289b\u289c\u0003\u0002\u0002\u0002", - "\u289c\u289d\u0003\u0002\u0002\u0002\u289d\u289f\u0007 \u0002\u0002", - "\u289e\u288e\u0003\u0002\u0002\u0002\u289e\u289b\u0003\u0002\u0002\u0002", - "\u289f\u038f\u0003\u0002\u0002\u0002\u28a0\u28a1\u0005\u03c6\u01e4\u0002", - "\u28a1\u28a2\u0007\u0337\u0002\u0002\u28a2\u28a4\u0003\u0002\u0002\u0002", - "\u28a3\u28a0\u0003\u0002\u0002\u0002\u28a3\u28a4\u0003\u0002\u0002\u0002", - "\u28a4\u28a5\u0003\u0002\u0002\u0002\u28a5\u28a6\u0005\u03c6\u01e4\u0002", - "\u28a6\u0391\u0003\u0002\u0002\u0002\u28a7\u28a8\u0005\u03c6\u01e4\u0002", - "\u28a8\u28a9\u0007\u0337\u0002\u0002\u28a9\u28ab\u0003\u0002\u0002\u0002", - "\u28aa\u28a7\u0003\u0002\u0002\u0002\u28aa\u28ab\u0003\u0002\u0002\u0002", - "\u28ab\u28ac\u0003\u0002\u0002\u0002\u28ac\u28ad\u0005\u03c6\u01e4\u0002", - "\u28ad\u0393\u0003\u0002\u0002\u0002\u28ae\u28ba\u0005\u0392\u01ca\u0002", - "\u28af\u28b0\u0005\u03c6\u01e4\u0002\u28b0\u28b2\u0007\u0337\u0002\u0002", - "\u28b1\u28b3\u0005\u03c6\u01e4\u0002\u28b2\u28b1\u0003\u0002\u0002\u0002", - "\u28b2\u28b3\u0003\u0002\u0002\u0002\u28b3\u28b4\u0003\u0002\u0002\u0002", - "\u28b4\u28b5\u0007\u0337\u0002\u0002\u28b5\u28b7\u0003\u0002\u0002\u0002", - "\u28b6\u28af\u0003\u0002\u0002\u0002\u28b6\u28b7\u0003\u0002\u0002\u0002", - "\u28b7\u28b8\u0003\u0002\u0002\u0002\u28b8\u28ba\u0005\u03c6\u01e4\u0002", - "\u28b9\u28ae\u0003\u0002\u0002\u0002\u28b9\u28b6\u0003\u0002\u0002\u0002", - "\u28ba\u0395\u0003\u0002\u0002\u0002\u28bb\u28c9\u0005\u0394\u01cb\u0002", - "\u28bc\u28bd\u0005\u03c6\u01e4\u0002\u28bd\u28be\u0007\u0337\u0002\u0002", - "\u28be\u28bf\u0005\u03c6\u01e4\u0002\u28bf\u28c1\u0007\u0337\u0002\u0002", - "\u28c0\u28c2\u0005\u03c6\u01e4\u0002\u28c1\u28c0\u0003\u0002\u0002\u0002", - "\u28c1\u28c2\u0003\u0002\u0002\u0002\u28c2\u28c3\u0003\u0002\u0002\u0002", - "\u28c3\u28c4\u0007\u0337\u0002\u0002\u28c4\u28c6\u0003\u0002\u0002\u0002", - "\u28c5\u28bc\u0003\u0002\u0002\u0002\u28c5\u28c6\u0003\u0002\u0002\u0002", - "\u28c6\u28c7\u0003\u0002\u0002\u0002\u28c7\u28c9\u0005\u03c6\u01e4\u0002", - "\u28c8\u28bb\u0003\u0002\u0002\u0002\u28c8\u28c5\u0003\u0002\u0002\u0002", - "\u28c9\u0397\u0003\u0002\u0002\u0002\u28ca\u28cd\u0005\u038c\u01c7\u0002", - "\u28cb\u28cd\u0007\u0321\u0002\u0002\u28cc\u28ca\u0003\u0002\u0002\u0002", - "\u28cc\u28cb\u0003\u0002\u0002\u0002\u28cd\u0399\u0003\u0002\u0002\u0002", - "\u28ce\u28cf\u0005\u038e\u01c8\u0002\u28cf\u28d0\u0007\u0337\u0002\u0002", - "\u28d0\u28d2\u0003\u0002\u0002\u0002\u28d1\u28ce\u0003\u0002\u0002\u0002", - "\u28d1\u28d2\u0003\u0002\u0002\u0002\u28d2\u28d3\u0003\u0002\u0002\u0002", - "\u28d3\u28ff\u0005\u03c6\u01e4\u0002\u28d4\u28d5\u0005\u038e\u01c8\u0002", - "\u28d5\u28d6\u0007\u0337\u0002\u0002\u28d6\u28d8\u0003\u0002\u0002\u0002", - "\u28d7\u28d4\u0003\u0002\u0002\u0002\u28d7\u28d8\u0003\u0002\u0002\u0002", - "\u28d8\u28d9\u0003\u0002\u0002\u0002\u28d9\u28ff\u0007\u01b8\u0002\u0002", - "\u28da\u28db\u0005\u038e\u01c8\u0002\u28db\u28dc\u0007\u0337\u0002\u0002", - "\u28dc\u28de\u0003\u0002\u0002\u0002\u28dd\u28da\u0003\u0002\u0002\u0002", - "\u28dd\u28de\u0003\u0002\u0002\u0002\u28de\u28df\u0003\u0002\u0002\u0002", - "\u28df\u28ff\u0007\u02e0\u0002\u0002\u28e0\u28e1\u0005\u038e\u01c8\u0002", - "\u28e1\u28e2\u0007\u0337\u0002\u0002\u28e2\u28e4\u0003\u0002\u0002\u0002", - "\u28e3\u28e0\u0003\u0002\u0002\u0002\u28e3\u28e4\u0003\u0002\u0002\u0002", - "\u28e4\u28e5\u0003\u0002\u0002\u0002\u28e5\u28ff\u0007\u0296\u0002\u0002", - "\u28e6\u28e7\u0005\u038e\u01c8\u0002\u28e7\u28e8\u0007\u0337\u0002\u0002", - "\u28e8\u28ea\u0003\u0002\u0002\u0002\u28e9\u28e6\u0003\u0002\u0002\u0002", - "\u28e9\u28ea\u0003\u0002\u0002\u0002\u28ea\u28eb\u0003\u0002\u0002\u0002", - "\u28eb\u28ff\u0007\u0194\u0002\u0002\u28ec\u28ed\u0005\u038e\u01c8\u0002", - "\u28ed\u28ee\u0007\u0337\u0002\u0002\u28ee\u28f0\u0003\u0002\u0002\u0002", - "\u28ef\u28ec\u0003\u0002\u0002\u0002\u28ef\u28f0\u0003\u0002\u0002\u0002", - "\u28f0\u28f1\u0003\u0002\u0002\u0002\u28f1\u28ff\u0007\u0191\u0002\u0002", - "\u28f2\u28f3\u0005\u038e\u01c8\u0002\u28f3\u28f4\u0007\u0337\u0002\u0002", - "\u28f4\u28f6\u0003\u0002\u0002\u0002\u28f5\u28f2\u0003\u0002\u0002\u0002", - "\u28f5\u28f6\u0003\u0002\u0002\u0002\u28f6\u28f7\u0003\u0002\u0002\u0002", - "\u28f7\u28ff\u0007\u0190\u0002\u0002\u28f8\u28f9\u0005\u038e\u01c8\u0002", - "\u28f9\u28fa\u0007\u0337\u0002\u0002\u28fa\u28fc\u0003\u0002\u0002\u0002", - "\u28fb\u28f8\u0003\u0002\u0002\u0002\u28fb\u28fc\u0003\u0002\u0002\u0002", - "\u28fc\u28fd\u0003\u0002\u0002\u0002\u28fd\u28ff\u0007\u018f\u0002\u0002", - "\u28fe\u28d1\u0003\u0002\u0002\u0002\u28fe\u28d7\u0003\u0002\u0002\u0002", - "\u28fe\u28dd\u0003\u0002\u0002\u0002\u28fe\u28e3\u0003\u0002\u0002\u0002", - "\u28fe\u28e9\u0003\u0002\u0002\u0002\u28fe\u28ef\u0003\u0002\u0002\u0002", - "\u28fe\u28f5\u0003\u0002\u0002\u0002\u28fe\u28fb\u0003\u0002\u0002\u0002", - "\u28ff\u039b\u0003\u0002\u0002\u0002\u2900\u2902\u0005\u03c6\u01e4\u0002", - "\u2901\u2903\tu\u0002\u0002\u2902\u2901\u0003\u0002\u0002\u0002\u2902", - "\u2903\u0003\u0002\u0002\u0002\u2903\u290b\u0003\u0002\u0002\u0002\u2904", - "\u2905\u0007\u033e\u0002\u0002\u2905\u2907\u0005\u03c6\u01e4\u0002\u2906", - "\u2908\tu\u0002\u0002\u2907\u2906\u0003\u0002\u0002\u0002\u2907\u2908", - "\u0003\u0002\u0002\u0002\u2908\u290a\u0003\u0002\u0002\u0002\u2909\u2904", - "\u0003\u0002\u0002\u0002\u290a\u290d\u0003\u0002\u0002\u0002\u290b\u2909", - "\u0003\u0002\u0002\u0002\u290b\u290c\u0003\u0002\u0002\u0002\u290c\u039d", - "\u0003\u0002\u0002\u0002\u290d\u290b\u0003\u0002\u0002\u0002\u290e\u2913", - "\u0005\u03c6\u01e4\u0002\u290f\u2910\u0007\u033e\u0002\u0002\u2910\u2912", - "\u0005\u03c6\u01e4\u0002\u2911\u290f\u0003\u0002\u0002\u0002\u2912\u2915", - "\u0003\u0002\u0002\u0002\u2913\u2911\u0003\u0002\u0002\u0002\u2913\u2914", - "\u0003\u0002\u0002\u0002\u2914\u039f\u0003\u0002\u0002\u0002\u2915\u2913", - "\u0003\u0002\u0002\u0002\u2916\u2919\u0005\u03c6\u01e4\u0002\u2917\u2919", - "\u0007\u0321\u0002\u0002\u2918\u2916\u0003\u0002\u0002\u0002\u2918\u2917", - "\u0003\u0002\u0002\u0002\u2919\u03a1\u0003\u0002\u0002\u0002\u291a\u291b", - "\t\t\u0002\u0002\u291b\u03a3\u0003\u0002\u0002\u0002\u291c\u291d\t\u0084", - "\u0002\u0002\u291d\u03a5\u0003\u0002\u0002\u0002\u291e\u2920\u0007\u00dc", - "\u0002\u0002\u291f\u291e\u0003\u0002\u0002\u0002\u291f\u2920\u0003\u0002", - "\u0002\u0002\u2920\u2921\u0003\u0002\u0002\u0002\u2921\u2922\u0007\u00df", - "\u0002\u0002\u2922\u03a7\u0003\u0002\u0002\u0002\u2923\u292b\u0005\u03a6", - "\u01d4\u0002\u2924\u2925\u0007Y\u0002\u0002\u2925\u2928\u0005\u02e2", - "\u0172\u0002\u2926\u2927\u0007\u0179\u0002\u0002\u2927\u2929\u0007\u016f", - "\u0002\u0002\u2928\u2926\u0003\u0002\u0002\u0002\u2928\u2929\u0003\u0002", - "\u0002\u0002\u2929\u292b\u0003\u0002\u0002\u0002\u292a\u2923\u0003\u0002", - "\u0002\u0002\u292a\u2924\u0003\u0002\u0002\u0002\u292b\u03a9\u0003\u0002", - "\u0002\u0002\u292c\u2932\u0005\u0396\u01cc\u0002\u292d\u2932\u0007\u011f", - "\u0002\u0002\u292e\u2932\u0007\u00b1\u0002\u0002\u292f\u2932\u0007\u01a5", - "\u0002\u0002\u2930\u2932\u0007\u01b2\u0002\u0002\u2931\u292c\u0003\u0002", - "\u0002\u0002\u2931\u292d\u0003\u0002\u0002\u0002\u2931\u292e\u0003\u0002", - "\u0002\u0002\u2931\u292f\u0003\u0002\u0002\u0002\u2931\u2930\u0003\u0002", - "\u0002\u0002\u2932\u03ab\u0003\u0002\u0002\u0002\u2933\u2934\u0007\u001c", - "\u0002\u0002\u2934\u2935\u0007F\u0002\u0002\u2935\u2936\u0007\u02f7", - "\u0002\u0002\u2936\u2937\u0007\u033c\u0002\u0002\u2937\u2938\u0007\u0321", - "\u0002\u0002\u2938\u2939\u0007\u033d\u0002\u0002\u2939\u293a\u0007\u02f6", - "\u0002\u0002\u293a\u293b\u0007\u032a\u0002\u0002\u293b\u293d\u0005\u01c0", - "\u00e1\u0002\u293c\u293e\u0007\u033f\u0002\u0002\u293d\u293c\u0003\u0002", - "\u0002\u0002\u293d\u293e\u0003\u0002\u0002\u0002\u293e\u03ad\u0003\u0002", - "\u0002\u0002\u293f\u2940\u0007\u001c\u0002\u0002\u2940\u2942\u0007\u01de", - "\u0002\u0002\u2941\u2943\u0007F\u0002\u0002\u2942\u2941\u0003\u0002", - "\u0002\u0002\u2942\u2943\u0003\u0002\u0002\u0002\u2943\u2944\u0003\u0002", - "\u0002\u0002\u2944\u2945\u0007\u0321\u0002\u0002\u2945\u2946\u0007\u008b", - "\u0002\u0002\u2946\u2947\u0007\u0136\u0002\u0002\u2947\u2948\u0005\u03b2", - "\u01da\u0002\u2948\u2949\u0007\u015a\u0002\u0002\u2949\u294a\u0007\u0136", - "\u0002\u0002\u294a\u294d\u0005\u03b2\u01da\u0002\u294b\u294c\u0007\u033e", - "\u0002\u0002\u294c\u294e\u0007\u0326\u0002\u0002\u294d\u294b\u0003\u0002", - "\u0002\u0002\u294d\u294e\u0003\u0002\u0002\u0002\u294e\u294f\u0003\u0002", - "\u0002\u0002\u294f\u2950\u0007\u00e5\u0002\u0002\u2950\u2951\u0007D", - "\u0002\u0002\u2951\u2968\u0005\u03b0\u01d9\u0002\u2952\u2959\u0007\u0179", - "\u0002\u0002\u2953\u2954\t\u0085\u0002\u0002\u2954\u2955\u0007\u032a", - "\u0002\u0002\u2955\u2957\u0007\u0321\u0002\u0002\u2956\u2958\u0007\u033e", - "\u0002\u0002\u2957\u2956\u0003\u0002\u0002\u0002\u2957\u2958\u0003\u0002", - "\u0002\u0002\u2958\u295a\u0003\u0002\u0002\u0002\u2959\u2953\u0003\u0002", - "\u0002\u0002\u2959\u295a\u0003\u0002\u0002\u0002\u295a\u2961\u0003\u0002", - "\u0002\u0002\u295b\u295c\u0007\u00b3\u0002\u0002\u295c\u295d\u0007\u032a", - "\u0002\u0002\u295d\u295f\t\u0002\u0002\u0002\u295e\u2960\u0007\u033e", - "\u0002\u0002\u295f\u295e\u0003\u0002\u0002\u0002\u295f\u2960\u0003\u0002", - "\u0002\u0002\u2960\u2962\u0003\u0002\u0002\u0002\u2961\u295b\u0003\u0002", - "\u0002\u0002\u2961\u2962\u0003\u0002\u0002\u0002\u2962\u2966\u0003\u0002", - "\u0002\u0002\u2963\u2964\u0007\u01ec\u0002\u0002\u2964\u2965\u0007\u032a", - "\u0002\u0002\u2965\u2967\t\t\u0002\u0002\u2966\u2963\u0003\u0002\u0002", - "\u0002\u2966\u2967\u0003\u0002\u0002\u0002\u2967\u2969\u0003\u0002\u0002", - "\u0002\u2968\u2952\u0003\u0002\u0002\u0002\u2968\u2969\u0003\u0002\u0002", - "\u0002\u2969\u296b\u0003\u0002\u0002\u0002\u296a\u296c\u0007\u033f\u0002", - "\u0002\u296b\u296a\u0003\u0002\u0002\u0002\u296b\u296c\u0003\u0002\u0002", - "\u0002\u296c\u03af\u0003\u0002\u0002\u0002\u296d\u2970\u0005\u03c6\u01e4", - "\u0002\u296e\u2970\u0005\u02d8\u016d\u0002\u296f\u296d\u0003\u0002\u0002", - "\u0002\u296f\u296e\u0003\u0002\u0002\u0002\u2970\u03b1\u0003\u0002\u0002", - "\u0002\u2971\u2974\u0005\u03c6\u01e4\u0002\u2972\u2974\u0005\u02d8\u016d", - "\u0002\u2973\u2971\u0003\u0002\u0002\u0002\u2973\u2972\u0003\u0002\u0002", - "\u0002\u2974\u03b3\u0003\u0002\u0002\u0002\u2975\u2976\u0007l\u0002", - "\u0002\u2976\u2977\u0007F\u0002\u0002\u2977\u2979\u0007\u0321\u0002", - "\u0002\u2978\u297a\u0007\u033f\u0002\u0002\u2979\u2978\u0003\u0002\u0002", - "\u0002\u2979\u297a\u0003\u0002\u0002\u0002\u297a\u2987\u0003\u0002\u0002", - "\u0002\u297b\u2982\u0007\u0179\u0002\u0002\u297c\u297d\u0007p\u0002", - "\u0002\u297d\u297e\u0007\u032a\u0002\u0002\u297e\u297f\t\u0003\u0002", - "\u0002\u297f\u2980\u0007\u01db\u0002\u0002\u2980\u2981\u0007\u032a\u0002", - "\u0002\u2981\u2983\t\u0003\u0002\u0002\u2982\u297c\u0003\u0002\u0002", - "\u0002\u2982\u2983\u0003\u0002\u0002\u0002\u2983\u2985\u0003\u0002\u0002", - "\u0002\u2984\u2986\u0007\u01b4\u0002\u0002\u2985\u2984\u0003\u0002\u0002", - "\u0002\u2985\u2986\u0003\u0002\u0002\u0002\u2986\u2988\u0003\u0002\u0002", - "\u0002\u2987\u297b\u0003\u0002\u0002\u0002\u2987\u2988\u0003\u0002\u0002", - "\u0002\u2988\u03b5\u0003\u0002\u0002\u0002\u2989\u298b\u0007\u0174\u0002", - "\u0002\u298a\u2989\u0003\u0002\u0002\u0002\u298a\u298b\u0003\u0002\u0002", - "\u0002\u298b\u298c\u0003\u0002\u0002\u0002\u298c\u298d\u0007\u033c\u0002", - "\u0002\u298d\u298e\u0005\u03b8\u01dd\u0002\u298e\u2994\u0007\u033d\u0002", - "\u0002\u298f\u2991\u0007\u033e\u0002\u0002\u2990\u298f\u0003\u0002\u0002", - "\u0002\u2990\u2991\u0003\u0002\u0002\u0002\u2991\u2992\u0003\u0002\u0002", - "\u0002\u2992\u2993\u0007\u02f6\u0002\u0002\u2993\u2995\u0005\u01c0\u00e1", - "\u0002\u2994\u2990\u0003\u0002\u0002\u0002\u2994\u2995\u0003\u0002\u0002", - "\u0002\u2995\u2997\u0003\u0002\u0002\u0002\u2996\u2998\u0007\u033f\u0002", - "\u0002\u2997\u2996\u0003\u0002\u0002\u0002\u2997\u2998\u0003\u0002\u0002", - "\u0002\u2998\u03b7\u0003\u0002\u0002\u0002\u2999\u299a\u0007\u008e\u0002", - "\u0002\u299a\u299b\u0007F\u0002\u0002\u299b\u299c\u0007\u0092\u0002", - "\u0002\u299c\u299d\t\u0003\u0002\u0002\u299d\u299e\u0007\u008b\u0002", - "\u0002\u299e\u29a0\u0005\u03ba\u01de\u0002\u299f\u29a1\u0007\u033f\u0002", - "\u0002\u29a0\u299f\u0003\u0002\u0002\u0002\u29a0\u29a1\u0003\u0002\u0002", - "\u0002\u29a1\u03b9\u0003\u0002\u0002\u0002\u29a2\u29a3\u0005\u03c6\u01e4", - "\u0002\u29a3\u29a4\u0007\u0337\u0002\u0002\u29a4\u29a5\u0005\u03c6\u01e4", - "\u0002\u29a5\u29a6\u0007\u0337\u0002\u0002\u29a6\u29a7\u0005\u03c6\u01e4", - "\u0002\u29a7\u29aa\u0003\u0002\u0002\u0002\u29a8\u29aa\u0005\u03c6\u01e4", - "\u0002\u29a9\u29a2\u0003\u0002\u0002\u0002\u29a9\u29a8\u0003\u0002\u0002", - "\u0002\u29aa\u03bb\u0003\u0002\u0002\u0002\u29ab\u29ac\u0007\u02cd\u0002", - "\u0002\u29ac\u29ad\u0007\u00e5\u0002\u0002\u29ad\u29ae\u0007F\u0002", - "\u0002\u29ae\u29af\t\u0003\u0002\u0002\u29af\u29b0\u0007\u0250\u0002", - "\u0002\u29b0\u29b1\u0007\u0301\u0002\u0002\u29b1\u29b5\u0005\u02d8\u016d", - "\u0002\u29b2\u29b3\u0007\u033c\u0002\u0002\u29b3\u29b4\t\u0003\u0002", - "\u0002\u29b4\u29b6\u0007\u033d\u0002\u0002\u29b5\u29b2\u0003\u0002\u0002", - "\u0002\u29b5\u29b6\u0003\u0002\u0002\u0002\u29b6\u29b8\u0003\u0002\u0002", - "\u0002\u29b7\u29b9\u0007\u033f\u0002\u0002\u29b8\u29b7\u0003\u0002\u0002", - "\u0002\u29b8\u29b9\u0003\u0002\u0002\u0002\u29b9\u03bd\u0003\u0002\u0002", - "\u0002\u29ba\u29bc\u0005\u03c6\u01e4\u0002\u29bb\u29bd\u0007\u0096\u0002", - "\u0002\u29bc\u29bb\u0003\u0002\u0002\u0002\u29bc\u29bd\u0003\u0002\u0002", - "\u0002\u29bd\u29c5\u0003\u0002\u0002\u0002\u29be\u29bf\u0007\u033c\u0002", - "\u0002\u29bf\u29c2\t\u0086\u0002\u0002\u29c0\u29c1\u0007\u033e\u0002", - "\u0002\u29c1\u29c3\u0007\u0322\u0002\u0002\u29c2\u29c0\u0003\u0002\u0002", - "\u0002\u29c2\u29c3\u0003\u0002\u0002\u0002\u29c3\u29c4\u0003\u0002\u0002", - "\u0002\u29c4\u29c6\u0007\u033d\u0002\u0002\u29c5\u29be\u0003\u0002\u0002", - "\u0002\u29c5\u29c6\u0003\u0002\u0002\u0002\u29c6\u29d0\u0003\u0002\u0002", - "\u0002\u29c7\u29c9\u0007d\u0002\u0002\u29c8\u29ca\u0007\u00fe\u0002", - "\u0002\u29c9\u29c8\u0003\u0002\u0002\u0002\u29c9\u29ca\u0003\u0002\u0002", - "\u0002\u29ca\u29d0\u0003\u0002\u0002\u0002\u29cb\u29d0\u0007\u0223\u0002", - "\u0002\u29cc\u29d0\u0007\u02f8\u0002\u0002\u29cd\u29d0\u0007\u02d9\u0002", - "\u0002\u29ce\u29d0\u0007\u01a3\u0002\u0002\u29cf\u29ba\u0003\u0002\u0002", - "\u0002\u29cf\u29c7\u0003\u0002\u0002\u0002\u29cf\u29cb\u0003\u0002\u0002", - "\u0002\u29cf\u29cc\u0003\u0002\u0002\u0002\u29cf\u29cd\u0003\u0002\u0002", - "\u0002\u29cf\u29ce\u0003\u0002\u0002\u0002\u29d0\u03bf\u0003\u0002\u0002", - "\u0002\u29d1\u29d5\u0007\u00df\u0002\u0002\u29d2\u29d5\u0007Y\u0002", - "\u0002\u29d3\u29d5\u0005\u03c2\u01e2\u0002\u29d4\u29d1\u0003\u0002\u0002", - "\u0002\u29d4\u29d2\u0003\u0002\u0002\u0002\u29d4\u29d3\u0003\u0002\u0002", - "\u0002\u29d5\u03c1\u0003\u0002\u0002\u0002\u29d6\u29e6\u0007\u0326\u0002", - "\u0002\u29d7\u29e6\u0007\u0327\u0002\u0002\u29d8\u29da\u0005\u03c4\u01e3", - "\u0002\u29d9\u29d8\u0003\u0002\u0002\u0002\u29d9\u29da\u0003\u0002\u0002", - "\u0002\u29da\u29db\u0003\u0002\u0002\u0002\u29db\u29e6\u0007\u0322\u0002", - "\u0002\u29dc\u29de\u0005\u03c4\u01e3\u0002\u29dd\u29dc\u0003\u0002\u0002", - "\u0002\u29dd\u29de\u0003\u0002\u0002\u0002\u29de\u29df\u0003\u0002\u0002", - "\u0002\u29df\u29e6\tp\u0002\u0002\u29e0\u29e2\u0005\u03c4\u01e3\u0002", - "\u29e1\u29e0\u0003\u0002\u0002\u0002\u29e1\u29e2\u0003\u0002\u0002\u0002", - "\u29e2\u29e3\u0003\u0002\u0002\u0002\u29e3\u29e4\u0007\u033b\u0002\u0002", - "\u29e4\u29e6\t\u0087\u0002\u0002\u29e5\u29d6\u0003\u0002\u0002\u0002", - "\u29e5\u29d7\u0003\u0002\u0002\u0002\u29e5\u29d9\u0003\u0002\u0002\u0002", - "\u29e5\u29dd\u0003\u0002\u0002\u0002\u29e5\u29e1\u0003\u0002\u0002\u0002", - "\u29e6\u03c3\u0003\u0002\u0002\u0002\u29e7\u29e8\tm\u0002\u0002\u29e8", - "\u03c5\u0003\u0002\u0002\u0002\u29e9\u29ed\u0005\u03c8\u01e5\u0002\u29ea", - "\u29ed\u0007\u031e\u0002\u0002\u29eb\u29ed\u0007\u0320\u0002\u0002\u29ec", - "\u29e9\u0003\u0002\u0002\u0002\u29ec\u29ea\u0003\u0002\u0002\u0002\u29ec", - "\u29eb\u0003\u0002\u0002\u0002\u29ed\u03c7\u0003\u0002\u0002\u0002\u29ee", - "\u29ef\t\u0088\u0002\u0002\u29ef\u03c9\u0003\u0002\u0002\u0002\u29f0", - "\u2a00\u0007\u032a\u0002\u0002\u29f1\u2a00\u0007\u032b\u0002\u0002\u29f2", - "\u2a00\u0007\u032c\u0002\u0002\u29f3\u29f4\u0007\u032c\u0002\u0002\u29f4", - "\u2a00\u0007\u032a\u0002\u0002\u29f5\u29f6\u0007\u032b\u0002\u0002\u29f6", - "\u2a00\u0007\u032a\u0002\u0002\u29f7\u29f8\u0007\u032c\u0002\u0002\u29f8", - "\u2a00\u0007\u032b\u0002\u0002\u29f9\u29fa\u0007\u032d\u0002\u0002\u29fa", - "\u2a00\u0007\u032a\u0002\u0002\u29fb\u29fc\u0007\u032d\u0002\u0002\u29fc", - "\u2a00\u0007\u032b\u0002\u0002\u29fd\u29fe\u0007\u032d\u0002\u0002\u29fe", - "\u2a00\u0007\u032c\u0002\u0002\u29ff\u29f0\u0003\u0002\u0002\u0002\u29ff", - "\u29f1\u0003\u0002\u0002\u0002\u29ff\u29f2\u0003\u0002\u0002\u0002\u29ff", - "\u29f3\u0003\u0002\u0002\u0002\u29ff\u29f5\u0003\u0002\u0002\u0002\u29ff", - "\u29f7\u0003\u0002\u0002\u0002\u29ff\u29f9\u0003\u0002\u0002\u0002\u29ff", - "\u29fb\u0003\u0002\u0002\u0002\u29ff\u29fd\u0003\u0002\u0002\u0002\u2a00", - "\u03cb\u0003\u0002\u0002\u0002\u2a01\u2a02\t\u0089\u0002\u0002\u2a02", - "\u03cd\u0003\u0002\u0002\u0002\u2a03\u2a05\u0007\u0322\u0002\u0002\u2a04", - "\u2a06\t\u008a\u0002\u0002\u2a05\u2a04\u0003\u0002\u0002\u0002\u2a05", - "\u2a06\u0003\u0002\u0002\u0002\u2a06\u03cf\u0003\u0002\u0002\u0002\u05f5", - "\u03d3\u03dc\u03e0\u03e6\u03e9\u03ed\u03f1\u03fa\u0401\u04a2\u04a9\u04b7", - "\u04bb\u04be\u04c2\u04c6\u04ca\u04cf\u04d4\u04d6\u04da\u04dd\u04e4\u04e7", - "\u04f0\u04f3\u04fe\u0501\u0506\u050b\u050e\u0513\u0517\u051a\u051e\u0521", - "\u0524\u052b\u052f\u0531\u0536\u053c\u0540\u054d\u0553\u0556\u055f\u0562", - "\u0576\u057e\u0583\u0586\u058b\u058e\u0593\u059b\u05a0\u05a3\u05a8\u05ae", - "\u05b3\u05c4\u05c7\u05ca\u05cd\u05d2\u05db\u05ea\u05fb\u0606\u060c\u061b", - "\u062a\u0633\u0637\u063c\u0642\u0648\u064b\u0650\u0655\u065d\u0667\u067a", - "\u0682\u068f\u0691\u069d\u069f\u06a6\u06af\u06b5\u06be\u06cd\u06d7\u06e1", - "\u0709\u0720\u0744\u0756\u0759\u075e\u0761\u0766\u0769\u076e\u0771\u0776", - "\u0779\u0781\u0784\u078c\u0799\u07a4\u07a9\u07ad\u07b3\u07ca\u07d6\u07e1", - "\u07e6\u07ea\u07f0\u07f2\u07ff\u0816\u081d\u0826\u082b\u082e\u0833\u0836", - "\u083b\u0840\u085c\u0863\u0868\u086f\u0871\u087c\u0882\u0891\u089f\u08a2", - "\u08a4\u08a9\u08ad\u08b0\u08b2\u08b8\u08bb\u08bd\u08c3\u08c5\u08db\u08e3", - "\u08eb\u08ed\u08ef\u08f8\u090d\u091a\u0929\u092d\u0950\u0953\u0958\u096a", - "\u096d\u0972\u098c\u099a\u099f\u09a7\u09ac\u09b3\u09c8\u09ed\u09f2\u0a05", - "\u0a11\u0a14\u0a19\u0a1c\u0a22\u0a31\u0a36\u0a3e\u0a41\u0a46\u0a4b\u0a4e", - "\u0a66\u0a6d\u0a72\u0a77\u0a7c\u0a7e\u0a85\u0a92\u0a98\u0a9d\u0aa5\u0ab5", - "\u0abc\u0ac1\u0ac6\u0ac9\u0acf\u0ad5\u0ada\u0adf\u0ae4\u0ae7\u0aed\u0af3", - "\u0afe\u0b01\u0b0b\u0b11\u0b15\u0b19\u0b36\u0b43\u0b49\u0b53\u0b56\u0b6a", - "\u0b6e\u0b72\u0b77\u0b86\u0b8d\u0b96\u0b9e\u0ba1\u0ba6\u0bab\u0bb3\u0bb9", - "\u0bbd\u0bc3\u0bc8\u0bcc\u0bd3\u0bdb\u0be3\u0bec\u0bf1\u0bf5\u0bf8\u0bfc", - "\u0c02\u0c07\u0c0f\u0c17\u0c1d\u0c23\u0c26\u0c2b\u0c2e\u0c35\u0c37\u0c3a", - "\u0c40\u0c43\u0c48\u0c4b\u0c50\u0c53\u0c58\u0c5b\u0c60\u0c63\u0c66\u0c69", - "\u0c70\u0c74\u0c7b\u0c82\u0c88\u0c95\u0c99\u0c9e\u0ca8\u0cb1\u0cb5\u0cc1", - "\u0cc7\u0ccc\u0cce\u0ce2\u0ce6\u0cee\u0cf7\u0cfd\u0d03\u0d0b\u0d0d\u0d17", - "\u0d1b\u0d1e\u0d22\u0d27\u0d2d\u0d30\u0d34\u0d3c\u0d3e\u0d41\u0d49\u0d51", - "\u0d58\u0d5f\u0d61\u0d63\u0d68\u0d6e\u0d71\u0d73\u0d75\u0d78\u0d7d\u0d80", - "\u0d85\u0d94\u0d9b\u0da2\u0da4\u0da6\u0dab\u0db1\u0db4\u0db6\u0db8\u0dbb", - "\u0dc0\u0dc3\u0dc8\u0dd5\u0dda\u0de3\u0de8\u0dee\u0df2\u0df6\u0e07\u0e09", - "\u0e13\u0e18\u0e1a\u0e1e\u0e24\u0e2c\u0e31\u0e34\u0e3c\u0e3f\u0e44\u0e49", - "\u0e4e\u0e53\u0e58\u0e5d\u0e61\u0e66\u0e71\u0e76\u0e79\u0e7c\u0e81\u0e84", - "\u0e89\u0e8c\u0e91\u0e94\u0e99\u0e9c\u0ea1\u0ea4\u0ea9\u0eaf\u0eb4\u0eb7", - "\u0ebc\u0ec3\u0ec5\u0ecb\u0ed4\u0ed9\u0edb\u0ee7\u0eed\u0ef9\u0efc\u0f01", - "\u0f03\u0f0d\u0f12\u0f14\u0f18\u0f1e\u0f30\u0f32\u0f41\u0f53\u0f5b\u0f65", - "\u0f75\u0f8a\u0f95\u0f9b\u0fa4\u0fad\u0fb3\u0fbc\u0fc1\u0fc4\u0fc9\u0fcc", - "\u0fd1\u0fd4\u0fdc\u0fe2\u0fe6\u0fed\u0ff3\u0ff7\u0ffa\u0ffc\u0fff\u1004", - "\u1007\u100c\u100f\u1014\u1017\u101c\u101f\u102e\u1039\u1045\u104c\u1053", - "\u1057\u105c\u105f\u1064\u1067\u106c\u106f\u1078\u107f\u108e\u1092\u1097", - "\u10a2\u10ac\u10b8\u10be\u10c0\u10c8\u10d1\u10d6\u10e1\u10e4\u10e8\u10f0", - "\u10f4\u10f8\u1100\u1105\u110d\u1112\u1116\u1118\u111d\u1126\u1129\u112e", - "\u1135\u113b\u113d\u1142\u1148\u114e\u1153\u1159\u1160\u1165\u116a\u116f", - "\u1172\u1176\u117a\u117e\u1182\u1187\u118b\u118f\u1199\u119f\u11a6\u11a9", - "\u11af\u11b5\u11ba\u11bc\u11c2\u11c4\u11c9\u11cf\u11d5\u11da\u11dc\u11e0", - "\u11e4\u11e7\u11f5\u11fa\u11fe\u120b\u120e\u1210\u1218\u1222\u1228\u122f", - "\u1232\u1238\u123e\u1243\u1245\u124b\u124d\u1252\u1258\u125e\u1264\u1269", - "\u126b\u126f\u1273\u1276\u1284\u1289\u128d\u129a\u129d\u129f\u12a7\u12b2", - "\u12bb\u12c4\u12cf\u12d8\u12e1\u12ed\u12f1\u12f6\u12f8\u12fa\u12ff\u1303", - "\u1308\u130a\u130c\u131a\u131f\u1335\u134b\u1350\u135d\u1365\u1379\u137c", - "\u1382\u138a\u1391\u1396\u139a\u139e\u13a1\u13a8\u13ba\u13bc\u13d0\u13d8", - "\u13dd\u13ef\u13fe\u1400\u1407\u140e\u1413\u1418\u141e\u1423\u1425\u142c", - "\u1432\u1438\u143b\u1441\u144b\u144e\u1455\u1458\u145d\u145f\u1467\u146b", - "\u1471\u1476\u1478\u147b\u1482\u1488\u148f\u1492\u1498\u149d\u149f\u14a2", - "\u14aa\u14b0\u14b7\u14ba\u14c0\u14c5\u14c7\u14cf\u14d7\u14dd\u14e2\u14e4", - "\u14ee\u14f3\u14fd\u1503\u150f\u1511\u1518\u151e\u1524\u152a\u152f\u1531", - "\u1538\u1540\u1546\u1554\u1556\u1559\u155e\u1560\u156c\u1572\u1580\u1582", - "\u1585\u158a\u158d\u1592\u1594\u159d\u15a4\u15aa\u15ad\u15b2\u15b9\u15bb", - "\u15c1\u15c3\u15cb\u15cd\u15d3\u15d5\u15db\u15dd\u15e4\u15e7\u15e9\u15ec", - "\u15f0\u15f2\u15fb\u1601\u1605\u160d\u1614\u161a\u161c\u1627\u162c\u1632", - "\u1636\u1640\u1648\u1654\u1657\u165f\u1661\u1664\u1668\u166b\u1675\u167b", - "\u1683\u1687\u168b\u1694\u169a\u169e\u16a1\u16ac\u16b0\u16b7\u16bc\u16bf", - "\u16c7\u16cb\u16ce\u16d2\u16d5\u16d9\u16e0\u16e4\u16e6\u16e8\u16eb\u16ee", - "\u16f1\u16f7\u16fa\u1702\u1704\u1707\u170b\u170e\u1714\u1717\u171b\u171e", - "\u1721\u1728\u172b\u1732\u1738\u173c\u1746\u1749\u174c\u1750\u1753\u1756", - "\u1759\u175d\u1760\u1768\u176a\u176e\u1771\u1779\u177d\u1781\u1788\u178c", - "\u178e\u1790\u1793\u1796\u1799\u17a1\u17a7\u17ad\u17af\u17b3\u17b6\u17bb", - "\u17c0\u17c3\u17cb\u17cf\u17d6\u17d9\u17e2\u17e5\u17e9\u17f1\u17f4\u17f8", - "\u17fb\u1809\u180d\u1810\u1814\u1817\u181c\u181f\u1825\u1828\u182f\u1833", - "\u1835\u183d\u1840\u1844\u184b\u1850\u1853\u185f\u1862\u1868\u186f\u1874", - "\u1879\u1880\u1887\u188a\u1892\u189a\u189d\u18a5\u18b0\u18b3\u18bd\u18c4", - "\u18c9\u18cc\u18d6\u18d9\u18dc\u18e4\u18ef\u18f2\u18f5\u18fb\u1900\u1904", - "\u190e\u1911\u1914\u191a\u1920\u1928\u192b\u192f\u1933\u1936\u193b\u1949", - "\u1959\u195d\u1963\u1965\u1968\u196c\u1971\u1976\u197e\u1983\u1988\u198e", - "\u1993\u1996\u199f\u19a9\u19ac\u19b5\u19bd\u19c0\u19c7\u19ca\u19f8\u19fc", - "\u19ff\u1a05\u1a11\u1a13\u1a16\u1a2f\u1a3a\u1a42\u1a4d\u1a52\u1a55\u1a5d", - "\u1a67\u1a6e\u1a75\u1a77\u1a83\u1a8e\u1a92\u1a97\u1a9a\u1a9c\u1a9f\u1aab", - "\u1aad\u1aaf\u1ab2\u1ab7\u1aba\u1abf\u1ac9\u1acd\u1ad2\u1ad5\u1ad7\u1ada", - "\u1ae6\u1ae8\u1aea\u1aed\u1af3\u1afd\u1b11\u1b17\u1b30\u1b32\u1b4c\u1b52", - "\u1b5d\u1b65\u1b68\u1b76\u1b7e\u1b85\u1b9c\u1ba9\u1baf\u1bb6\u1bbe\u1bc1", - "\u1bc4\u1bcd\u1bd7\u1bde\u1be2\u1be6\u1bec\u1bf3\u1bf7\u1bfd\u1c04\u1c0b", - "\u1c0e\u1c14\u1c1b\u1c1f\u1c24\u1c29\u1c2e\u1c36\u1c3a\u1c40\u1c47\u1c4b", - "\u1c54\u1c5c\u1c62\u1c68\u1c79\u1c7d\u1c85\u1c89\u1c91\u1c95\u1c9a\u1c9e", - "\u1ca5\u1cab\u1cad\u1cb1\u1cb5\u1cb9\u1cbc\u1cc0\u1cc6\u1cca\u1ccc\u1cd3", - "\u1cda\u1cdd\u1ce0\u1ce7\u1cec\u1cf1\u1cf5\u1cfb\u1cff\u1d01\u1d06\u1d0b", - "\u1d0f\u1d14\u1d1a\u1d1e\u1d22\u1d24\u1d28\u1d2c\u1d30\u1d34\u1d3a\u1d3d", - "\u1d43\u1d47\u1d4b\u1d51\u1d57\u1d59\u1d5c\u1d60\u1d64\u1d68\u1d6e\u1d71", - "\u1d77\u1d7d\u1d80\u1d86\u1d89\u1d8f\u1d92\u1d96\u1d9a\u1d9e\u1da3\u1da6", - "\u1daa\u1dae\u1dbf\u1dc1\u1dc3\u1dc6\u1dcd\u1dd2\u1dd6\u1ddc\u1de0\u1de2", - "\u1de7\u1dec\u1df0\u1df5\u1dfb\u1dff\u1e03\u1e05\u1e09\u1e0d\u1e11\u1e15", - "\u1e1b\u1e1e\u1e24\u1e28\u1e2c\u1e32\u1e38\u1e3a\u1e3d\u1e41\u1e45\u1e49", - "\u1e4f\u1e52\u1e58\u1e5e\u1e61\u1e67\u1e6a\u1e70\u1e73\u1e77\u1e7b\u1e7f", - "\u1e84\u1e87\u1e8b\u1e8f\u1e95\u1e98\u1e9c\u1ead\u1eaf\u1eb1\u1eb4\u1ec2", - "\u1ec8\u1ed0\u1ed7\u1ed9\u1edc\u1efd\u1f01\u1f05\u1f0c\u1f17\u1f1b\u1f22", - "\u1f25\u1f28\u1f30\u1f35\u1f3a\u1f3d\u1f3f\u1f43\u1f47\u1f4a\u1f4e\u1f54", - "\u1f59\u1f60\u1f62\u1f66\u1f6e\u1f74\u1f78\u1f7b\u1f84\u1f87\u1f8d\u1f94", - "\u1f99\u1fa1\u1fa6\u1fb2\u1fb4\u1fbf\u1fc6\u1fd0\u1fe7\u1ff4\u2004\u2009", - "\u2010\u2013\u2017\u2019\u202a\u2039\u2041\u204a\u2052\u205b\u2066\u206a", - "\u206c\u206e\u2074\u2079\u2080\u208d\u208f\u2091\u2094\u2097\u209e\u20a1", - "\u20a7\u20ac\u20ae\u20b1\u20b7\u20bf\u20c1\u20c4\u20c8\u20cb\u20d5\u20d8", - "\u20dc\u20df\u20e5\u20e8\u20ea\u20ee\u20f3\u20f7\u20fc\u2101\u2109\u210d", - "\u2110\u2115\u211d\u2122\u212c\u2137\u213c\u2142\u2148\u214c\u214f\u2153", - "\u2157\u215f\u2164\u2166\u2169\u216e\u2177\u217b\u2180\u2183\u2186\u218c", - "\u2194\u219c\u219f\u21a2\u21a6\u21ab\u21ae\u21b4\u21b8\u21be\u21c6\u21cc", - "\u21ce\u21d1\u21e0\u21e3\u21e6\u21e8\u21f3\u21fe\u2207\u2211\u221b\u221d", - "\u221f\u2222\u2225\u2230\u2232\u2234\u2237\u223c\u2247\u2250\u2253\u2256", - "\u225f\u2262\u2265\u226c\u226f\u227e\u2281\u2288\u2298\u229c\u22a6\u22b9", - "\u22bb\u22c2\u22c9\u22cd\u22d5\u22d9\u22dd\u22e3\u22ed\u22f7\u22fe\u2305", - "\u230e\u2315\u231c\u2325\u2329\u2333\u233a\u2342\u234a\u234e\u2364\u236d", - "\u2373\u2379\u237f\u2389\u2390\u2395\u239a\u239e\u23a5\u23a9\u23ac\u23b1", - "\u23b5\u23b9\u23be\u23c5\u23c8\u23cc\u23d1\u23d5\u23de\u23e5\u23ee\u23fa", - "\u23fc\u2406\u2409\u240e\u2417\u2419\u241b\u2420\u2428\u242d\u2435\u243a", - "\u2440\u244a\u244c\u2450\u2454\u2456\u245f\u2461\u2465\u2470\u2492\u24a2", - "\u24a9\u24ab\u24b2\u24bb\u24c3\u24ca\u24d1\u24d4\u24d7\u24de\u24e5\u24e8", - "\u24ea\u24f2\u24f4\u24fa\u2501\u2509\u250f\u2514\u2518\u251c\u2521\u2523", - "\u252b\u252d\u2531\u2538\u253a\u2541\u2543\u254c\u2554\u255b\u2561\u256c", - "\u2570\u2572\u2575\u258d\u25a6\u25ab\u25bf\u25c3\u25c7\u25d7\u25eb\u2625", - "\u2629\u2659\u2669\u266b\u2672\u2678\u2685\u2694\u269f\u26a4\u26ae\u26b7", - "\u26d9\u26de\u26e4\u26e7\u26ec\u26f1\u26fa\u26ff\u2705\u270e\u2718\u271b", - "\u2729\u272f\u2737\u273b\u2743\u274a\u2757\u275f\u276c\u2773\u2779\u277d", - "\u278e\u279d\u279f\u27a4\u27a7\u27b0\u27b3\u27b6\u27c3\u27c7\u27cf\u27d5", - "\u27dd\u27e4\u27ea\u27f9\u2802\u2808\u280e\u2811\u2815\u281c\u2824\u2827", - "\u282d\u2833\u2835\u283b\u283e\u2840\u2846\u2848\u2856\u285d\u2866\u286d", - "\u2879\u2880\u2887\u288e\u2894\u289b\u289e\u28a3\u28aa\u28b2\u28b6\u28b9", - "\u28c1\u28c5\u28c8\u28cc\u28d1\u28d7\u28dd\u28e3\u28e9\u28ef\u28f5\u28fb", - "\u28fe\u2902\u2907\u290b\u2913\u2918\u291f\u2928\u292a\u2931\u293d\u2942", - "\u294d\u2957\u2959\u295f\u2961\u2966\u2968\u296b\u296f\u2973\u2979\u2982", - "\u2985\u2987\u298a\u2990\u2994\u2997\u29a0\u29a9\u29b5\u29b8\u29bc\u29c2", - "\u29c5\u29c9\u29cf\u29d4\u29d9\u29dd\u29e1\u29e5\u29ec\u29ff\u2a05"].join(""); - - -var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); - -var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); - -var sharedContextCache = new antlr4.PredictionContextCache(); - -var literalNames = [ null, "'ABSENT'", "'ADD'", "'AES'", "'ALL'", "'ALLOW_CONNECTIONS'", - "'ALLOW_MULTIPLE_EVENT_LOSS'", "'ALLOW_SINGLE_EVENT_LOSS'", - "'ALTER'", "'AND'", "'ANONYMOUS'", "'ANY'", "'APPEND'", - "'APPLICATION'", "'AS'", "'ASC'", "'ASYMMETRIC'", "'ASYNCHRONOUS_COMMIT'", - "'AUTHORIZATION'", "'AUTHENTICATION'", "'AUTOMATED_BACKUP_PREFERENCE'", - "'AUTOMATIC'", "'AVAILABILITY_MODE'", "'\\'", "'BACKUP'", - "'BEFORE'", "'BEGIN'", "'BETWEEN'", "'BLOCK'", "'BLOCKSIZE'", - "'BLOCKING_HIERARCHY'", "'BREAK'", "'BROWSE'", "'BUFFER'", - "'BUFFERCOUNT'", "'BULK'", "'BY'", "'CACHE'", "'CALLED'", - "'CASCADE'", "'CASE'", "'CERTIFICATE'", "'CHANGETABLE'", - "'CHANGES'", "'CHECK'", "'CHECKPOINT'", "'CHECK_POLICY'", - "'CHECK_EXPIRATION'", "'CLASSIFIER_FUNCTION'", "'CLOSE'", - "'CLUSTER'", "'CLUSTERED'", "'COALESCE'", "'COLLATE'", - "'COLUMN'", "'COMPRESSION'", "'COMMIT'", "'COMPUTE'", - "'CONFIGURATION'", "'CONSTRAINT'", "'CONTAINMENT'", - "'CONTAINS'", "'CONTAINSTABLE'", "'CONTEXT'", "'CONTINUE'", - "'CONTINUE_AFTER_ERROR'", "'CONTRACT'", "'CONTRACT_NAME'", - "'CONVERSATION'", null, "'COPY_ONLY'", "'CREATE'", - "'CROSS'", "'CURRENT'", "'CURRENT_DATE'", "'CURRENT_TIME'", - "'CURRENT_TIMESTAMP'", "'CURRENT_USER'", "'CURSOR'", - "'CYCLE'", "'DATA_COMPRESSION'", "'DATA_SOURCE'", "'DATABASE'", - "'DATABASE_MIRRORING'", "'DBCC'", "'DEALLOCATE'", "'DECLARE'", - "'DEFAULT'", "'DEFAULT_DATABASE'", "'DEFAULT_SCHEMA'", - "'DELETE'", "'DENY'", "'DESC'", "'DIAGNOSTICS'", "'DIFFERENTIAL'", - "'DISK'", "'DISTINCT'", "'DISTRIBUTED'", "'DOUBLE'", - "'\\\\'", "'//'", "'DROP'", "'DTC_SUPPORT'", "'DUMP'", - "'ELSE'", "'ENABLED'", "'END'", "'ENDPOINT'", "'ERRLVL'", - "'ESCAPE'", "'ERROR'", "'EVENT'", null, "'EVENT_RETENTION_MODE'", - "'EXCEPT'", "'EXECUTABLE_FILE'", null, "'EXISTS'", - "'EXPIREDATE'", "'EXIT'", "'EXTENSION'", "'EXTERNAL'", - "'EXTERNAL_ACCESS'", "'FAILOVER'", "'FAILURECONDITIONLEVEL'", - "'FAN_IN'", "'FETCH'", "'FILE'", "'FILENAME'", "'FILLFACTOR'", - "'FILE_SNAPSHOT'", "'FOR'", "'FORCESEEK'", "'FORCE_SERVICE_ALLOW_DATA_LOSS'", - "'FOREIGN'", "'FREETEXT'", "'FREETEXTTABLE'", "'FROM'", - "'FULL'", "'FUNCTION'", "'GET'", "'GOTO'", "'GOVERNOR'", - "'GRANT'", "'GROUP'", "'HAVING'", "'HASHED'", "'HEALTHCHECKTIMEOUT'", - "'IDENTITY'", "'IDENTITYCOL'", "'IDENTITY_INSERT'", - "'IF'", "'IIF'", "'IN'", "'INCLUDE'", "'INCREMENT'", - "'INDEX'", "'INFINITE'", "'INIT'", "'INNER'", "'INSERT'", - "'INSTEAD'", "'INTERSECT'", "'INTO'", null, null, "'IS'", - "'ISNULL'", "'JOIN'", "'KERBEROS'", "'KEY'", "'KEY_PATH'", - "'KEY_STORE_PROVIDER_NAME'", "'KILL'", "'LANGUAGE'", - "'LEFT'", "'LIBRARY'", "'LIFETIME'", "'LIKE'", "'LINENO'", - "'LINUX'", "'LISTENER_IP'", "'LISTENER_PORT'", "'LOAD'", - "'LOCAL_SERVICE_NAME'", "'LOG'", "'MATCHED'", "'MASTER'", - "'MAX_MEMORY'", "'MAXTRANSFER'", "'MAXVALUE'", "'MAX_DISPATCH_LATENCY'", - "'MAX_EVENT_SIZE'", "'MAX_SIZE'", "'MAX_OUTSTANDING_IO_PER_VOLUME'", - "'MEDIADESCRIPTION'", "'MEDIANAME'", "'MEMBER'", "'MEMORY_PARTITION_MODE'", - "'MERGE'", "'MESSAGE_FORWARDING'", "'MESSAGE_FORWARD_SIZE'", - "'MINVALUE'", "'MIRROR'", "'MUST_CHANGE'", "'NATIONAL'", - "'NEGOTIATE'", "'NOCHECK'", "'NOFORMAT'", "'NOINIT'", - "'NONCLUSTERED'", "'NONE'", "'NOREWIND'", "'NOSKIP'", - "'NOUNLOAD'", "'NO_CHECKSUM'", "'NO_COMPRESSION'", - "'NO_EVENT_LOSS'", "'NOT'", "'NOTIFICATION'", "'NTLM'", - "'NULL'", "'NULLIF'", "'OF'", "'OFF'", "'OFFSETS'", - "'OLD_PASSWORD'", "'ON'", "'ON_FAILURE'", "'OPEN'", - "'OPENDATASOURCE'", "'OPENQUERY'", "'OPENROWSET'", - "'OPENXML'", "'OPTION'", "'OR'", "'ORDER'", "'OUTER'", - "'OVER'", "'PAGE'", "'PARAM_NODE'", "'PARTIAL'", "'PASSWORD'", - "'PERCENT'", "'PERMISSION_SET'", "'PER_CPU'", "'PER_DB'", - "'PER_NODE'", "'PIVOT'", "'PLAN'", "'PLATFORM'", "'POLICY'", - "'PRECISION'", "'PREDICATE'", "'PRIMARY'", "'PRINT'", - "'PROC'", "'PROCEDURE'", "'PROCESS'", "'PUBLIC'", "'PYTHON'", - "'R'", "'RAISERROR'", "'RAW'", "'READ'", "'READTEXT'", - "'READ_WRITE_FILEGROUPS'", "'RECONFIGURE'", "'REFERENCES'", - "'REGENERATE'", "'RELATED_CONVERSATION'", "'RELATED_CONVERSATION_GROUP'", - "'REPLICATION'", "'REQUIRED'", "'RESET'", "'RESTART'", - "'RESTORE'", "'RESTRICT'", "'RESUME'", "'RETAINDAYS'", - "'RETURN'", "'RETURNS'", "'REVERT'", "'REVOKE'", "'REWIND'", - "'RIGHT'", "'ROLLBACK'", "'ROLE'", "'ROWCOUNT'", "'ROWGUIDCOL'", - "'RSA_512'", "'RSA_1024'", "'RSA_2048'", "'RSA_3072'", - "'RSA_4096'", "'SAFETY'", "'RULE'", "'SAFE'", "'SAVE'", - "'SCHEDULER'", "'SCHEMA'", "'SCHEME'", "'SECURITYAUDIT'", - "'SELECT'", "'SEMANTICKEYPHRASETABLE'", "'SEMANTICSIMILARITYDETAILSTABLE'", - "'SEMANTICSIMILARITYTABLE'", "'SERVER'", "'SERVICE'", - "'SERVICE_BROKER'", "'SERVICE_NAME'", "'SESSION'", - "'SESSION_USER'", "'SET'", "'SETUSER'", "'SHUTDOWN'", - "'SID'", "'SKIP'", "'SOFTNUMA'", "'SOME'", "'SOURCE'", - "'SPECIFICATION'", "'SPLIT'", "'SQLDUMPERFLAGS'", "'SQLDUMPERPATH'", - "'SQLDUMPERTIMEOUTS'", "'STATISTICS'", "'STATE'", "'STATS'", - "'START'", "'STARTED'", "'STARTUP_STATE'", "'STOP'", - "'STOPPED'", "'STOP_ON_ERROR'", "'SUPPORTED'", "'SYSTEM_USER'", - "'TABLE'", "'TABLESAMPLE'", "'TAPE'", "'TARGET'", "'TCP'", - "'TEXTSIZE'", "'THEN'", "'TO'", "'TOP'", "'TRACK_CAUSALITY'", - "'TRAN'", "'TRANSACTION'", "'TRANSFER'", "'TRIGGER'", - "'TRUNCATE'", "'TSEQUAL'", "'UNCHECKED'", "'UNION'", - "'UNIQUE'", "'UNLOCK'", "'UNPIVOT'", "'UNSAFE'", "'UPDATE'", - "'UPDATETEXT'", "'URL'", "'USE'", "'USED'", "'USER'", - "'VALUES'", "'VARYING'", "'VERBOSELOGGING'", "'VIEW'", - "'VISIBILITY'", "'WAITFOR'", "'WHEN'", "'WHERE'", "'WHILE'", - "'WINDOWS'", "'WITH'", "'WITHIN'", "'WITHOUT'", "'WITNESS'", - "'WRITETEXT'", "'ABSOLUTE'", "'ACCENT_SENSITIVITY'", - "'ACTION'", "'ACTIVATION'", "'ACTIVE'", "'ADDRESS'", - "'AES_128'", "'AES_192'", "'AES_256'", "'AFFINITY'", - "'AFTER'", "'AGGREGATE'", "'ALGORITHM'", "'ALLOW_ENCRYPTED_VALUE_MODIFICATIONS'", - "'ALLOW_SNAPSHOT_ISOLATION'", "'ALLOWED'", "'ANSI_NULL_DEFAULT'", - "'ANSI_NULLS'", "'ANSI_PADDING'", "'ANSI_WARNINGS'", - "'APPLICATION_LOG'", "'APPLY'", "'ARITHABORT'", "'ASSEMBLY'", - "'AUDIT'", "'AUDIT_GUID'", "'AUTO'", "'AUTO_CLEANUP'", - "'AUTO_CLOSE'", "'AUTO_CREATE_STATISTICS'", "'AUTO_SHRINK'", - "'AUTO_UPDATE_STATISTICS'", "'AUTO_UPDATE_STATISTICS_ASYNC'", - "'AVAILABILITY'", "'AVG'", "'BACKUP_PRIORITY'", "'BEGIN_DIALOG'", - "'BIGINT'", "'BINARY BASE64'", "'BINARY_CHECKSUM'", - "'BINDING'", "'BLOB_STORAGE'", "'BROKER'", "'BROKER_INSTANCE'", - "'BULK_LOGGED'", "'CALLER'", "'CAP_CPU_PERCENT'", null, - "'CATALOG'", "'CATCH'", "'CHANGE_RETENTION'", "'CHANGE_TRACKING'", - "'CHECKSUM'", "'CHECKSUM_AGG'", "'CLEANUP'", "'COLLECTION'", - "'COLUMN_MASTER_KEY'", "'COMMITTED'", "'COMPATIBILITY_LEVEL'", - "'CONCAT'", "'CONCAT_NULL_YIELDS_NULL'", "'CONTENT'", - "'CONTROL'", "'COOKIE'", "'COUNT'", "'COUNT_BIG'", - "'COUNTER'", "'CPU'", "'CREATE_NEW'", "'CREATION_DISPOSITION'", - "'CREDENTIAL'", "'CRYPTOGRAPHIC'", "'CURSOR_CLOSE_ON_COMMIT'", - "'CURSOR_DEFAULT'", "'DATA'", "'DATE_CORRELATION_OPTIMIZATION'", - "'DATEADD'", "'DATEDIFF'", "'DATENAME'", "'DATEPART'", - "'DAYS'", "'DB_CHAINING'", "'DB_FAILOVER'", "'DECRYPTION'", - null, "'DEFAULT_FULLTEXT_LANGUAGE'", "'DEFAULT_LANGUAGE'", - "'DELAY'", "'DELAYED_DURABILITY'", "'DELETED'", "'DENSE_RANK'", - "'DEPENDENTS'", "'DES'", "'DESCRIPTION'", "'DESX'", - "'DHCP'", "'DIALOG'", "'DIRECTORY_NAME'", "'DISABLE'", - "'DISABLE_BROKER'", "'DISABLED'", null, "'DOCUMENT'", - "'DYNAMIC'", "'ELEMENTS'", "'EMERGENCY'", "'EMPTY'", - "'ENABLE'", "'ENABLE_BROKER'", "'ENCRYPTED_VALUE'", - "'ENCRYPTION'", "'ENDPOINT_URL'", "'ERROR_BROKER_CONVERSATIONS'", - "'EXCLUSIVE'", "'EXECUTABLE'", "'EXIST'", "'EXPAND'", - "'EXPIRY_DATE'", "'EXPLICIT'", "'FAIL_OPERATION'", - "'FAILOVER_MODE'", "'FAILURE'", "'FAILURE_CONDITION_LEVEL'", - "'FAST'", "'FAST_FORWARD'", "'FILEGROUP'", "'FILEGROWTH'", - "'FILEPATH'", "'FILESTREAM'", "'FILTER'", "'FIRST'", - "'FIRST_VALUE'", "'FOLLOWING'", "'FORCE'", "'FORCE_FAILOVER_ALLOW_DATA_LOSS'", - "'FORCED'", "'FORMAT'", "'FORWARD_ONLY'", "'FULLSCAN'", - "'FULLTEXT'", "'GB'", "'GETDATE'", "'GETUTCDATE'", - "'GLOBAL'", "'GO'", "'GROUP_MAX_REQUESTS'", "'GROUPING'", - "'GROUPING_ID'", "'HADR'", "'HASH'", "'HEALTH_CHECK_TIMEOUT'", - "'HIGH'", "'HONOR_BROKER_PRIORITY'", "'HOURS'", "'IDENTITY_VALUE'", - "'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX'", "'IMMEDIATE'", - "'IMPERSONATE'", "'IMPORTANCE'", "'INCLUDE_NULL_VALUES'", - "'INCREMENTAL'", "'INITIATOR'", "'INPUT'", "'INSENSITIVE'", - "'INSERTED'", "'INT'", "'IP'", "'ISOLATION'", "'JOB'", - "'JSON'", "'KB'", "'KEEP'", "'KEEPFIXED'", "'KEY_SOURCE'", - "'KEYS'", "'KEYSET'", "'LAG'", "'LAST'", "'LAST_VALUE'", - "'LEAD'", "'LEVEL'", "'LIST'", "'LISTENER'", "'LISTENER_URL'", - "'LOB_COMPACTION'", "'LOCAL'", "'LOCATION'", "'LOCK'", - "'LOCK_ESCALATION'", "'LOGIN'", "'LOOP'", "'LOW'", - "'MANUAL'", "'MARK'", "'MATERIALIZED'", "'MAX'", "'MAX_CPU_PERCENT'", - "'MAX_DOP'", "'MAX_FILES'", "'MAX_IOPS_PER_VOLUME'", - "'MAX_MEMORY_PERCENT'", "'MAX_PROCESSES'", "'MAX_QUEUE_READERS'", - "'MAX_ROLLOVER_FILES'", "'MAXDOP'", "'MAXRECURSION'", - "'MAXSIZE'", "'MB'", "'MEDIUM'", "'MEMORY_OPTIMIZED_DATA'", - "'MESSAGE'", "'MIN'", "'MIN_ACTIVE_ROWVERSION'", "'MIN_CPU_PERCENT'", - "'MIN_IOPS_PER_VOLUME'", "'MIN_MEMORY_PERCENT'", "'MINUTES'", - "'MIRROR_ADDRESS'", "'MIXED_PAGE_ALLOCATION'", "'MODE'", - "'MODIFY'", "'MOVE'", "'MULTI_USER'", "'NAME'", "'NESTED_TRIGGERS'", - "'NEW_ACCOUNT'", "'NEW_BROKER'", "'NEW_PASSWORD'", - "'NEXT'", "'NO'", "'NO_TRUNCATE'", "'NO_WAIT'", "'NOCOUNT'", - "'NODES'", "'NOEXPAND'", "'NON_TRANSACTED_ACCESS'", - "'NORECOMPUTE'", "'NORECOVERY'", "'NOWAIT'", "'NTILE'", - "'NUMANODE'", "'NUMBER'", "'NUMERIC_ROUNDABORT'", "'OBJECT'", - "'OFFLINE'", "'OFFSET'", "'OLD_ACCOUNT'", "'ONLINE'", - "'ONLY'", "'OPEN_EXISTING'", "'OPTIMISTIC'", "'OPTIMIZE'", - "'OUT'", "'OUTPUT'", "'OVERRIDE'", "'OWNER'", "'PAGE_VERIFY'", - "'PARAMETERIZATION'", "'PARTITION'", "'PARTITIONS'", - "'PARTNER'", "'PATH'", "'POISON_MESSAGE_HANDLING'", - "'POOL'", "'PORT'", "'PRECEDING'", "'PRIMARY_ROLE'", - "'PRIOR'", "'PRIORITY'", "'PRIORITY_LEVEL'", "'PRIVATE'", - "'PRIVATE_KEY'", "'PRIVILEGES'", "'PROCEDURE_NAME'", - "'PROPERTY'", "'PROVIDER'", "'PROVIDER_KEY_NAME'", - "'QUERY'", "'QUEUE'", "'QUEUE_DELAY'", "'QUOTED_IDENTIFIER'", - "'RANGE'", "'RANK'", "'RC2'", "'RC4'", "'RC4_128'", - "'READ_COMMITTED_SNAPSHOT'", "'READ_ONLY'", "'READ_ONLY_ROUTING_LIST'", - "'READ_WRITE'", "'READONLY'", "'REBUILD'", "'RECEIVE'", - "'RECOMPILE'", "'RECOVERY'", "'RECURSIVE_TRIGGERS'", - "'RELATIVE'", "'REMOTE'", "'REMOTE_SERVICE_NAME'", - "'REMOVE'", "'REORGANIZE'", "'REPEATABLE'", "'REPLICA'", - "'REQUEST_MAX_CPU_TIME_SEC'", "'REQUEST_MAX_MEMORY_GRANT_PERCENT'", - "'REQUEST_MEMORY_GRANT_TIMEOUT_SEC'", "'REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT'", - "'RESERVE_DISK_SPACE'", "'RESOURCE'", "'RESOURCE_MANAGER_LOCATION'", - "'RESTRICTED_USER'", "'RETENTION'", "'ROBUST'", "'ROOT'", - "'ROUTE'", "'ROW'", "'ROW_NUMBER'", "'ROWGUID'", "'ROWS'", - "'SAMPLE'", "'SCHEMABINDING'", "'SCOPED'", "'SCROLL'", - "'SCROLL_LOCKS'", "'SEARCH'", "'SECONDARY'", "'SECONDARY_ONLY'", - "'SECONDARY_ROLE'", "'SECONDS'", "'SECRET'", "'SECURITY'", - "'SECURITY_LOG'", "'SEEDING_MODE'", "'SELF'", "'SEMI_SENSITIVE'", - "'SEND'", "'SENT'", "'SEQUENCE'", "'SERIALIZABLE'", - "'SESSION_TIMEOUT'", "'SETERROR'", "'SHARE'", "'SHOWPLAN'", - "'SIGNATURE'", "'SIMPLE'", "'SINGLE_USER'", "'SIZE'", - "'SMALLINT'", "'SNAPSHOT'", "'SPATIAL_WINDOW_MAX_CELLS'", - "'STANDBY'", "'START_DATE'", "'STATIC'", "'STATS_STREAM'", - "'STATUS'", "'STATUSONLY'", "'STDEV'", "'STDEVP'", - "'STOPLIST'", "'STRING_AGG'", "'STUFF'", "'SUBJECT'", - "'SUBSCRIPTION'", "'SUM'", "'SUSPEND'", "'SYMMETRIC'", - "'SYNCHRONOUS_COMMIT'", "'SYNONYM'", "'SYSTEM'", "'TAKE'", - "'TARGET_RECOVERY_TIME'", "'TB'", "'TEXTIMAGE_ON'", - "'THROW'", "'TIES'", "'TIME'", "'TIMEOUT'", "'TIMER'", - "'TINYINT'", "'TORN_PAGE_DETECTION'", "'TRANSFORM_NOISE_WORDS'", - "'TRIPLE_DES'", "'TRIPLE_DES_3KEY'", "'TRUSTWORTHY'", - "'TRY'", "'TSQL'", "'TWO_DIGIT_YEAR_CUTOFF'", "'TYPE'", - "'TYPE_WARNING'", "'UNBOUNDED'", "'UNCOMMITTED'", "'UNKNOWN'", - "'UNLIMITED'", "'UOW'", "'USING'", "'VALID_XML'", "'VALIDATION'", - "'VALUE'", "'VAR'", "'VARP'", "'VIEW_METADATA'", "'VIEWS'", - "'WAIT'", "'WELL_FORMED_XML'", "'WITHOUT_ARRAY_WRAPPER'", - "'WORK'", "'WORKLOAD'", "'XML'", "'XMLDATA'", "'XMLNAMESPACES'", - "'XMLSCHEMA'", "'XSINIL'", "'$ACTION'", null, null, - null, null, "'''", null, null, null, null, null, null, - null, null, null, null, "'='", "'>'", "'<'", "'!'", - "'+='", "'-='", "'*='", "'/='", "'%='", "'&='", "'^='", - "'|='", "'||'", "'.'", "'_'", "'@'", "'#'", "'$'", - "'('", "')'", "','", "';'", "':'", "'*'", "'/'", "'%'", - "'+'", "'-'", "'~'", "'|'", "'&'", "'^'" ]; - -var symbolicNames = [ null, "ABSENT", "ADD", "AES", "ALL", "ALLOW_CONNECTIONS", - "ALLOW_MULTIPLE_EVENT_LOSS", "ALLOW_SINGLE_EVENT_LOSS", - "ALTER", "AND", "ANONYMOUS", "ANY", "APPEND", "APPLICATION", - "AS", "ASC", "ASYMMETRIC", "ASYNCHRONOUS_COMMIT", - "AUTHORIZATION", "AUTHENTICATION", "AUTOMATED_BACKUP_PREFERENCE", - "AUTOMATIC", "AVAILABILITY_MODE", "BACKSLASH", "BACKUP", - "BEFORE", "BEGIN", "BETWEEN", "BLOCK", "BLOCKSIZE", - "BLOCKING_HIERARCHY", "BREAK", "BROWSE", "BUFFER", - "BUFFERCOUNT", "BULK", "BY", "CACHE", "CALLED", "CASCADE", - "CASE", "CERTIFICATE", "CHANGETABLE", "CHANGES", "CHECK", - "CHECKPOINT", "CHECK_POLICY", "CHECK_EXPIRATION", - "CLASSIFIER_FUNCTION", "CLOSE", "CLUSTER", "CLUSTERED", - "COALESCE", "COLLATE", "COLUMN", "COMPRESSION", "COMMIT", - "COMPUTE", "CONFIGURATION", "CONSTRAINT", "CONTAINMENT", - "CONTAINS", "CONTAINSTABLE", "CONTEXT", "CONTINUE", - "CONTINUE_AFTER_ERROR", "CONTRACT", "CONTRACT_NAME", - "CONVERSATION", "CONVERT", "COPY_ONLY", "CREATE", - "CROSS", "CURRENT", "CURRENT_DATE", "CURRENT_TIME", - "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", - "DATA_COMPRESSION", "DATA_SOURCE", "DATABASE", "DATABASE_MIRRORING", - "DBCC", "DEALLOCATE", "DECLARE", "DEFAULT", "DEFAULT_DATABASE", - "DEFAULT_SCHEMA", "DELETE", "DENY", "DESC", "DIAGNOSTICS", - "DIFFERENTIAL", "DISK", "DISTINCT", "DISTRIBUTED", - "DOUBLE", "DOUBLE_BACK_SLASH", "DOUBLE_FORWARD_SLASH", - "DROP", "DTC_SUPPORT", "DUMP", "ELSE", "ENABLED", - "END", "ENDPOINT", "ERRLVL", "ESCAPE", "ERROR", "EVENT", - "EVENTDATA", "EVENT_RETENTION_MODE", "EXCEPT", "EXECUTABLE_FILE", - "EXECUTE", "EXISTS", "EXPIREDATE", "EXIT", "EXTENSION", - "EXTERNAL", "EXTERNAL_ACCESS", "FAILOVER", "FAILURECONDITIONLEVEL", - "FAN_IN", "FETCH", "FILE", "FILENAME", "FILLFACTOR", - "FILE_SNAPSHOT", "FOR", "FORCESEEK", "FORCE_SERVICE_ALLOW_DATA_LOSS", - "FOREIGN", "FREETEXT", "FREETEXTTABLE", "FROM", "FULL", - "FUNCTION", "GET", "GOTO", "GOVERNOR", "GRANT", "GROUP", - "HAVING", "HASHED", "HEALTHCHECKTIMEOUT", "IDENTITY", - "IDENTITYCOL", "IDENTITY_INSERT", "IF", "IIF", "IN", - "INCLUDE", "INCREMENT", "INDEX", "INFINITE", "INIT", - "INNER", "INSERT", "INSTEAD", "INTERSECT", "INTO", - "IPV4_ADDR", "IPV6_ADDR", "IS", "ISNULL", "JOIN", - "KERBEROS", "KEY", "KEY_PATH", "KEY_STORE_PROVIDER_NAME", - "KILL", "LANGUAGE", "LEFT", "LIBRARY", "LIFETIME", - "LIKE", "LINENO", "LINUX", "LISTENER_IP", "LISTENER_PORT", - "LOAD", "LOCAL_SERVICE_NAME", "LOG", "MATCHED", "MASTER", - "MAX_MEMORY", "MAXTRANSFER", "MAXVALUE", "MAX_DISPATCH_LATENCY", - "MAX_EVENT_SIZE", "MAX_SIZE", "MAX_OUTSTANDING_IO_PER_VOLUME", - "MEDIADESCRIPTION", "MEDIANAME", "MEMBER", "MEMORY_PARTITION_MODE", - "MERGE", "MESSAGE_FORWARDING", "MESSAGE_FORWARD_SIZE", - "MINVALUE", "MIRROR", "MUST_CHANGE", "NATIONAL", "NEGOTIATE", - "NOCHECK", "NOFORMAT", "NOINIT", "NONCLUSTERED", "NONE", - "NOREWIND", "NOSKIP", "NOUNLOAD", "NO_CHECKSUM", "NO_COMPRESSION", - "NO_EVENT_LOSS", "NOT", "NOTIFICATION", "NTLM", "NULL", - "NULLIF", "OF", "OFF", "OFFSETS", "OLD_PASSWORD", - "ON", "ON_FAILURE", "OPEN", "OPENDATASOURCE", "OPENQUERY", - "OPENROWSET", "OPENXML", "OPTION", "OR", "ORDER", - "OUTER", "OVER", "PAGE", "PARAM_NODE", "PARTIAL", - "PASSWORD", "PERCENT", "PERMISSION_SET", "PER_CPU", - "PER_DB", "PER_NODE", "PIVOT", "PLAN", "PLATFORM", - "POLICY", "PRECISION", "PREDICATE", "PRIMARY", "PRINT", - "PROC", "PROCEDURE", "PROCESS", "PUBLIC", "PYTHON", - "R", "RAISERROR", "RAW", "READ", "READTEXT", "READ_WRITE_FILEGROUPS", - "RECONFIGURE", "REFERENCES", "REGENERATE", "RELATED_CONVERSATION", - "RELATED_CONVERSATION_GROUP", "REPLICATION", "REQUIRED", - "RESET", "RESTART", "RESTORE", "RESTRICT", "RESUME", - "RETAINDAYS", "RETURN", "RETURNS", "REVERT", "REVOKE", - "REWIND", "RIGHT", "ROLLBACK", "ROLE", "ROWCOUNT", - "ROWGUIDCOL", "RSA_512", "RSA_1024", "RSA_2048", "RSA_3072", - "RSA_4096", "SAFETY", "RULE", "SAFE", "SAVE", "SCHEDULER", - "SCHEMA", "SCHEME", "SECURITYAUDIT", "SELECT", "SEMANTICKEYPHRASETABLE", - "SEMANTICSIMILARITYDETAILSTABLE", "SEMANTICSIMILARITYTABLE", - "SERVER", "SERVICE", "SERVICE_BROKER", "SERVICE_NAME", - "SESSION", "SESSION_USER", "SET", "SETUSER", "SHUTDOWN", - "SID", "SKIP_KEYWORD", "SOFTNUMA", "SOME", "SOURCE", - "SPECIFICATION", "SPLIT", "SQLDUMPERFLAGS", "SQLDUMPERPATH", - "SQLDUMPERTIMEOUT", "STATISTICS", "STATE", "STATS", - "START", "STARTED", "STARTUP_STATE", "STOP", "STOPPED", - "STOP_ON_ERROR", "SUPPORTED", "SYSTEM_USER", "TABLE", - "TABLESAMPLE", "TAPE", "TARGET", "TCP", "TEXTSIZE", - "THEN", "TO", "TOP", "TRACK_CAUSALITY", "TRAN", "TRANSACTION", - "TRANSFER", "TRIGGER", "TRUNCATE", "TSEQUAL", "UNCHECKED", - "UNION", "UNIQUE", "UNLOCK", "UNPIVOT", "UNSAFE", - "UPDATE", "UPDATETEXT", "URL", "USE", "USED", "USER", - "VALUES", "VARYING", "VERBOSELOGGING", "VIEW", "VISIBILITY", - "WAITFOR", "WHEN", "WHERE", "WHILE", "WINDOWS", "WITH", - "WITHIN", "WITHOUT", "WITNESS", "WRITETEXT", "ABSOLUTE", - "ACCENT_SENSITIVITY", "ACTION", "ACTIVATION", "ACTIVE", - "ADDRESS", "AES_128", "AES_192", "AES_256", "AFFINITY", - "AFTER", "AGGREGATE", "ALGORITHM", "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS", - "ALLOW_SNAPSHOT_ISOLATION", "ALLOWED", "ANSI_NULL_DEFAULT", - "ANSI_NULLS", "ANSI_PADDING", "ANSI_WARNINGS", "APPLICATION_LOG", - "APPLY", "ARITHABORT", "ASSEMBLY", "AUDIT", "AUDIT_GUID", - "AUTO", "AUTO_CLEANUP", "AUTO_CLOSE", "AUTO_CREATE_STATISTICS", - "AUTO_SHRINK", "AUTO_UPDATE_STATISTICS", "AUTO_UPDATE_STATISTICS_ASYNC", - "AVAILABILITY", "AVG", "BACKUP_PRIORITY", "BEGIN_DIALOG", - "BIGINT", "BINARY_BASE64", "BINARY_CHECKSUM", "BINDING", - "BLOB_STORAGE", "BROKER", "BROKER_INSTANCE", "BULK_LOGGED", - "CALLER", "CAP_CPU_PERCENT", "CAST", "CATALOG", "CATCH", - "CHANGE_RETENTION", "CHANGE_TRACKING", "CHECKSUM", - "CHECKSUM_AGG", "CLEANUP", "COLLECTION", "COLUMN_MASTER_KEY", - "COMMITTED", "COMPATIBILITY_LEVEL", "CONCAT", "CONCAT_NULL_YIELDS_NULL", - "CONTENT", "CONTROL", "COOKIE", "COUNT", "COUNT_BIG", - "COUNTER", "CPU", "CREATE_NEW", "CREATION_DISPOSITION", - "CREDENTIAL", "CRYPTOGRAPHIC", "CURSOR_CLOSE_ON_COMMIT", - "CURSOR_DEFAULT", "DATA", "DATE_CORRELATION_OPTIMIZATION", - "DATEADD", "DATEDIFF", "DATENAME", "DATEPART", "DAYS", - "DB_CHAINING", "DB_FAILOVER", "DECRYPTION", "DEFAULT_DOUBLE_QUOTE", - "DEFAULT_FULLTEXT_LANGUAGE", "DEFAULT_LANGUAGE", "DELAY", - "DELAYED_DURABILITY", "DELETED", "DENSE_RANK", "DEPENDENTS", - "DES", "DESCRIPTION", "DESX", "DHCP", "DIALOG", "DIRECTORY_NAME", - "DISABLE", "DISABLE_BROKER", "DISABLED", "DISK_DRIVE", - "DOCUMENT", "DYNAMIC", "ELEMENTS", "EMERGENCY", "EMPTY", - "ENABLE", "ENABLE_BROKER", "ENCRYPTED_VALUE", "ENCRYPTION", - "ENDPOINT_URL", "ERROR_BROKER_CONVERSATIONS", "EXCLUSIVE", - "EXECUTABLE", "EXIST", "EXPAND", "EXPIRY_DATE", "EXPLICIT", - "FAIL_OPERATION", "FAILOVER_MODE", "FAILURE", "FAILURE_CONDITION_LEVEL", - "FAST", "FAST_FORWARD", "FILEGROUP", "FILEGROWTH", - "FILEPATH", "FILESTREAM", "FILTER", "FIRST", "FIRST_VALUE", - "FOLLOWING", "FORCE", "FORCE_FAILOVER_ALLOW_DATA_LOSS", - "FORCED", "FORMAT", "FORWARD_ONLY", "FULLSCAN", "FULLTEXT", - "GB", "GETDATE", "GETUTCDATE", "GLOBAL", "GO", "GROUP_MAX_REQUESTS", - "GROUPING", "GROUPING_ID", "HADR", "HASH", "HEALTH_CHECK_TIMEOUT", - "HIGH", "HONOR_BROKER_PRIORITY", "HOURS", "IDENTITY_VALUE", - "IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX", "IMMEDIATE", - "IMPERSONATE", "IMPORTANCE", "INCLUDE_NULL_VALUES", - "INCREMENTAL", "INITIATOR", "INPUT", "INSENSITIVE", - "INSERTED", "INT", "IP", "ISOLATION", "JOB", "JSON", - "KB", "KEEP", "KEEPFIXED", "KEY_SOURCE", "KEYS", "KEYSET", - "LAG", "LAST", "LAST_VALUE", "LEAD", "LEVEL", "LIST", - "LISTENER", "LISTENER_URL", "LOB_COMPACTION", "LOCAL", - "LOCATION", "LOCK", "LOCK_ESCALATION", "LOGIN", "LOOP", - "LOW", "MANUAL", "MARK", "MATERIALIZED", "MAX", "MAX_CPU_PERCENT", - "MAX_DOP", "MAX_FILES", "MAX_IOPS_PER_VOLUME", "MAX_MEMORY_PERCENT", - "MAX_PROCESSES", "MAX_QUEUE_READERS", "MAX_ROLLOVER_FILES", - "MAXDOP", "MAXRECURSION", "MAXSIZE", "MB", "MEDIUM", - "MEMORY_OPTIMIZED_DATA", "MESSAGE", "MIN", "MIN_ACTIVE_ROWVERSION", - "MIN_CPU_PERCENT", "MIN_IOPS_PER_VOLUME", "MIN_MEMORY_PERCENT", - "MINUTES", "MIRROR_ADDRESS", "MIXED_PAGE_ALLOCATION", - "MODE", "MODIFY", "MOVE", "MULTI_USER", "NAME", "NESTED_TRIGGERS", - "NEW_ACCOUNT", "NEW_BROKER", "NEW_PASSWORD", "NEXT", - "NO", "NO_TRUNCATE", "NO_WAIT", "NOCOUNT", "NODES", - "NOEXPAND", "NON_TRANSACTED_ACCESS", "NORECOMPUTE", - "NORECOVERY", "NOWAIT", "NTILE", "NUMANODE", "NUMBER", - "NUMERIC_ROUNDABORT", "OBJECT", "OFFLINE", "OFFSET", - "OLD_ACCOUNT", "ONLINE", "ONLY", "OPEN_EXISTING", - "OPTIMISTIC", "OPTIMIZE", "OUT", "OUTPUT", "OVERRIDE", - "OWNER", "PAGE_VERIFY", "PARAMETERIZATION", "PARTITION", - "PARTITIONS", "PARTNER", "PATH", "POISON_MESSAGE_HANDLING", - "POOL", "PORT", "PRECEDING", "PRIMARY_ROLE", "PRIOR", - "PRIORITY", "PRIORITY_LEVEL", "PRIVATE", "PRIVATE_KEY", - "PRIVILEGES", "PROCEDURE_NAME", "PROPERTY", "PROVIDER", - "PROVIDER_KEY_NAME", "QUERY", "QUEUE", "QUEUE_DELAY", - "QUOTED_IDENTIFIER", "RANGE", "RANK", "RC2", "RC4", - "RC4_128", "READ_COMMITTED_SNAPSHOT", "READ_ONLY", - "READ_ONLY_ROUTING_LIST", "READ_WRITE", "READONLY", - "REBUILD", "RECEIVE", "RECOMPILE", "RECOVERY", "RECURSIVE_TRIGGERS", - "RELATIVE", "REMOTE", "REMOTE_SERVICE_NAME", "REMOVE", - "REORGANIZE", "REPEATABLE", "REPLICA", "REQUEST_MAX_CPU_TIME_SEC", - "REQUEST_MAX_MEMORY_GRANT_PERCENT", "REQUEST_MEMORY_GRANT_TIMEOUT_SEC", - "REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT", "RESERVE_DISK_SPACE", - "RESOURCE", "RESOURCE_MANAGER_LOCATION", "RESTRICTED_USER", - "RETENTION", "ROBUST", "ROOT", "ROUTE", "ROW", "ROW_NUMBER", - "ROWGUID", "ROWS", "SAMPLE", "SCHEMABINDING", "SCOPED", - "SCROLL", "SCROLL_LOCKS", "SEARCH", "SECONDARY", "SECONDARY_ONLY", - "SECONDARY_ROLE", "SECONDS", "SECRET", "SECURITY", - "SECURITY_LOG", "SEEDING_MODE", "SELF", "SEMI_SENSITIVE", - "SEND", "SENT", "SEQUENCE", "SERIALIZABLE", "SESSION_TIMEOUT", - "SETERROR", "SHARE", "SHOWPLAN", "SIGNATURE", "SIMPLE", - "SINGLE_USER", "SIZE", "SMALLINT", "SNAPSHOT", "SPATIAL_WINDOW_MAX_CELLS", - "STANDBY", "START_DATE", "STATIC", "STATS_STREAM", - "STATUS", "STATUSONLY", "STDEV", "STDEVP", "STOPLIST", - "STRING_AGG", "STUFF", "SUBJECT", "SUBSCRIPTION", - "SUM", "SUSPEND", "SYMMETRIC", "SYNCHRONOUS_COMMIT", - "SYNONYM", "SYSTEM", "TAKE", "TARGET_RECOVERY_TIME", - "TB", "TEXTIMAGE_ON", "THROW", "TIES", "TIME", "TIMEOUT", - "TIMER", "TINYINT", "TORN_PAGE_DETECTION", "TRANSFORM_NOISE_WORDS", - "TRIPLE_DES", "TRIPLE_DES_3KEY", "TRUSTWORTHY", "TRY", - "TSQL", "TWO_DIGIT_YEAR_CUTOFF", "TYPE", "TYPE_WARNING", - "UNBOUNDED", "UNCOMMITTED", "UNKNOWN", "UNLIMITED", - "UOW", "USING", "VALID_XML", "VALIDATION", "VALUE", - "VAR", "VARP", "VIEW_METADATA", "VIEWS", "WAIT", "WELL_FORMED_XML", - "WITHOUT_ARRAY_WRAPPER", "WORK", "WORKLOAD", "XML", - "XMLDATA", "XMLNAMESPACES", "XMLSCHEMA", "XSINIL", - "DOLLAR_ACTION", "SPACE", "COMMENT", "LINE_COMMENT", - "DOUBLE_QUOTE_ID", "SINGLE_QUOTE", "SQUARE_BRACKET_ID", - "LOCAL_ID", "DECIMAL", "ID", "QUOTED_URL", "QUOTED_HOST_AND_PORT", - "STRING", "BINARY", "FLOAT", "REAL", "EQUAL", "GREATER", - "LESS", "EXCLAMATION", "PLUS_ASSIGN", "MINUS_ASSIGN", - "MULT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", - "XOR_ASSIGN", "OR_ASSIGN", "DOUBLE_BAR", "DOT", "UNDERLINE", - "AT", "SHARP", "DOLLAR", "LR_BRACKET", "RR_BRACKET", - "COMMA", "SEMI", "COLON", "STAR", "DIVIDE", "MODULE", - "PLUS", "MINUS", "BIT_NOT", "BIT_OR", "BIT_AND", "BIT_XOR", - "IPV4_OCTECT" ]; - -var ruleNames = [ "tsql_file", "batch", "sql_clauses", "sql_clause", "dml_clause", - "ddl_clause", "backup_statement", "cfl_statement", "block_statement", - "break_statement", "continue_statement", "goto_statement", - "return_statement", "if_statement", "throw_statement", - "throw_error_number", "throw_message", "throw_state", - "try_catch_statement", "waitfor_statement", "while_statement", - "print_statement", "raiseerror_statement", "empty_statement", - "another_statement", "alter_application_role", "create_application_role", - "drop_aggregate", "drop_application_role", "alter_assembly", - "alter_assembly_start", "alter_assembly_clause", "alter_assembly_from_clause", - "alter_assembly_from_clause_start", "alter_assembly_drop_clause", - "alter_assembly_drop_multiple_files", "alter_assembly_drop", - "alter_assembly_add_clause", "alter_asssembly_add_clause_start", - "alter_assembly_client_file_clause", "alter_assembly_file_name", - "alter_assembly_file_bits", "alter_assembly_as", "alter_assembly_with_clause", - "alter_assembly_with", "client_assembly_specifier", "assembly_option", - "network_file_share", "network_computer", "network_file_start", - "file_path", "file_directory_path_separator", "local_file", - "local_drive", "multiple_local_files", "multiple_local_file_start", - "create_assembly", "drop_assembly", "alter_asymmetric_key", - "alter_asymmetric_key_start", "asymmetric_key_option", - "asymmetric_key_option_start", "asymmetric_key_password_change_option", - "create_asymmetric_key", "drop_asymmetric_key", "alter_authorization", - "authorization_grantee", "entity_to", "colon_colon", - "alter_authorization_start", "alter_authorization_for_sql_database", - "alter_authorization_for_azure_dw", "alter_authorization_for_parallel_dw", - "class_type", "class_type_for_sql_database", "class_type_for_azure_dw", - "class_type_for_parallel_dw", "drop_availability_group", - "alter_availability_group", "alter_availability_group_start", - "alter_availability_group_options", "create_or_alter_broker_priority", - "drop_broker_priority", "alter_certificate", "alter_column_encryption_key", - "create_column_encryption_key", "drop_certificate", "drop_column_encryption_key", - "drop_column_master_key", "drop_contract", "drop_credential", - "drop_cryptograhic_provider", "drop_database", "drop_database_audit_specification", - "drop_database_scoped_credential", "drop_default", "drop_endpoint", - "drop_external_data_source", "drop_external_file_format", - "drop_external_library", "drop_external_resource_pool", - "drop_external_table", "drop_event_notifications", "drop_event_session", - "drop_fulltext_catalog", "drop_fulltext_index", "drop_fulltext_stoplist", - "drop_login", "drop_master_key", "drop_message_type", - "drop_partition_function", "drop_partition_scheme", "drop_queue", - "drop_remote_service_binding", "drop_resource_pool", - "drop_db_role", "drop_route", "drop_rule", "drop_schema", - "drop_search_property_list", "drop_security_policy", - "drop_sequence", "drop_server_audit", "drop_server_audit_specification", - "drop_server_role", "drop_service", "drop_signature", - "drop_statistics_name_azure_dw_and_pdw", "drop_symmetric_key", - "drop_synonym", "drop_user", "drop_workload_group", "drop_xml_schema_collection", - "disable_trigger", "enable_trigger", "lock_table", "truncate_table", - "create_column_master_key", "alter_credential", "create_credential", - "alter_cryptographic_provider", "create_cryptographic_provider", - "create_event_notification", "create_or_alter_event_session", - "event_session_predicate_expression", "event_session_predicate_factor", - "event_session_predicate_leaf", "alter_external_data_source", - "alter_external_library", "create_external_library", - "alter_external_resource_pool", "create_external_resource_pool", - "alter_fulltext_catalog", "create_fulltext_catalog", - "alter_fulltext_stoplist", "create_fulltext_stoplist", - "alter_login_sql_server", "create_login_sql_server", - "alter_login_azure_sql", "create_login_azure_sql", "alter_login_azure_sql_dw_and_pdw", - "create_login_pdw", "alter_master_key_sql_server", "create_master_key_sql_server", - "alter_master_key_azure_sql", "create_master_key_azure_sql", - "alter_message_type", "alter_partition_function", "alter_partition_scheme", - "alter_remote_service_binding", "create_remote_service_binding", - "create_resource_pool", "alter_resource_governor", "alter_db_role", - "create_db_role", "create_route", "create_rule", "alter_schema_sql", - "create_schema", "create_schema_azure_sql_dw_and_pdw", - "alter_schema_azure_sql_dw_and_pdw", "create_search_property_list", - "create_security_policy", "alter_sequence", "create_sequence", - "alter_server_audit", "create_server_audit", "alter_server_audit_specification", - "create_server_audit_specification", "alter_server_configuration", - "alter_server_role", "create_server_role", "alter_server_role_pdw", - "alter_service", "create_service", "alter_service_master_key", - "alter_symmetric_key", "create_symmetric_key", "create_synonym", - "alter_user", "create_user", "create_user_azure_sql_dw", - "alter_user_azure_sql", "alter_workload_group", "create_workload_group", - "create_xml_schema_collection", "create_queue", "queue_settings", - "alter_queue", "queue_action", "queue_rebuild_options", - "create_contract", "conversation_statement", "message_statement", - "merge_statement", "merge_matched", "merge_not_matched", - "delete_statement", "delete_statement_from", "insert_statement", - "insert_statement_value", "receive_statement", "select_statement", - "time", "update_statement", "output_clause", "output_dml_list_elem", - "output_column_name", "create_database", "create_index", - "create_or_alter_procedure", "create_or_alter_trigger", - "create_or_alter_dml_trigger", "dml_trigger_option", - "dml_trigger_operation", "create_or_alter_ddl_trigger", - "ddl_trigger_operation", "create_or_alter_function", - "func_body_returns_select", "func_body_returns_table", - "func_body_returns_scalar", "procedure_param", "procedure_option", - "function_option", "create_statistics", "update_statistics", - "create_table", "table_options", "create_view", "view_attribute", - "alter_table", "alter_database", "database_optionspec", - "auto_option", "change_tracking_option", "change_tracking_option_list", - "containment_option", "cursor_option", "alter_endpoint", - "database_mirroring_option", "mirroring_set_option", - "mirroring_partner", "mirroring_witness", "witness_partner_equal", - "partner_option", "witness_option", "witness_server", - "partner_server", "mirroring_host_port_seperator", "partner_server_tcp_prefix", - "port_number", "host", "date_correlation_optimization_option", - "db_encryption_option", "db_state_option", "db_update_option", - "db_user_access_option", "delayed_durability_option", - "external_access_option", "hadr_options", "mixed_page_allocation_option", - "parameterization_option", "recovery_option", "service_broker_option", - "snapshot_option", "sql_option", "target_recovery_time_option", - "termination", "drop_index", "drop_relational_or_xml_or_spatial_index", - "drop_backward_compatible_index", "drop_procedure", "drop_trigger", - "drop_dml_trigger", "drop_ddl_trigger", "drop_function", - "drop_statistics", "drop_table", "drop_view", "create_type", - "drop_type", "rowset_function_limited", "openquery", - "opendatasource", "declare_statement", "cursor_statement", - "backup_database", "backup_log", "backup_certificate", - "backup_master_key", "backup_service_master_key", "kill_statement", - "kill_process", "kill_query_notification", "kill_stats_job", - "execute_statement", "execute_body", "execute_statement_arg", - "execute_var_string", "security_statement", "create_certificate", - "existing_keys", "private_key_options", "generate_new_keys", - "date_options", "open_key", "close_key", "create_key", - "key_options", "algorithm", "encryption_mechanism", "decryption_mechanism", - "grant_permission", "set_statement", "transaction_statement", - "go_statement", "use_statement", "setuser_statement", - "reconfigure_statement", "shutdown_statement", "dbcc_clause", - "dbcc_options", "execute_clause", "declare_local", "table_type_definition", - "xml_type_definition", "xml_schema_collection", "column_def_table_constraints", - "column_def_table_constraint", "column_definition", "materialized_column_definition", - "column_constraint", "table_constraint", "on_delete", - "on_update", "index_options", "index_option", "declare_cursor", - "declare_set_cursor_common", "declare_set_cursor_common_partial", - "fetch_cursor", "set_special", "constant_LOCAL_ID", "expression", - "primitive_expression", "case_expression", "unary_operator_expression", - "bracket_expression", "constant_expression", "subquery", - "with_expression", "common_table_expression", "update_elem", - "search_condition_list", "search_condition", "search_condition_and", - "search_condition_not", "predicate", "query_expression", - "sql_union", "query_specification", "top_clause", "top_percent", - "top_count", "order_by_clause", "for_clause", "xml_common_directives", - "order_by_expression", "group_by_item", "option_clause", - "option", "optimize_for_arg", "select_list", "udt_method_arguments", - "asterisk", "column_elem", "udt_elem", "expression_elem", - "select_list_elem", "table_sources", "table_source", - "table_source_item_joined", "table_source_item", "open_xml", - "schema_declaration", "column_declaration", "change_table", - "join_part", "pivot_clause", "unpivot_clause", "full_column_name_list", - "table_name_with_hint", "rowset_function", "bulk_option", - "derived_table", "function_call", "xml_data_type_methods", - "value_method", "query_method", "exist_method", "modify_method", - "nodes_method", "switch_section", "switch_search_condition_section", - "as_column_alias", "as_table_alias", "table_alias", "with_table_hints", - "insert_with_table_hints", "table_hint", "index_value", - "column_alias_list", "column_alias", "table_value_constructor", - "expression_list", "ranking_windowed_function", "aggregate_windowed_function", - "analytic_windowed_function", "all_distinct_expression", - "over_clause", "row_or_range_clause", "window_frame_extent", - "window_frame_bound", "window_frame_preceding", "window_frame_following", - "create_database_option", "database_filestream_option", - "database_file_spec", "file_group", "file_spec", "entity_name", - "entity_name_for_azure_dw", "entity_name_for_parallel_dw", - "full_table_name", "table_name", "simple_name", "func_proc_name_schema", - "func_proc_name_database_schema", "func_proc_name_server_database_schema", - "ddl_object", "full_column_name", "column_name_list_with_order", - "column_name_list", "cursor_name", "on_off", "clustered", - "null_notnull", "null_or_default", "scalar_function_name", - "begin_conversation_timer", "begin_conversation_dialog", - "contract_name", "service_name", "end_conversation", - "waitfor_conversation", "get_conversation", "queue_id", - "send_conversation", "data_type", "default_value", "constant", - "sign", "id", "simple_id", "comparison_operator", "assignment_operator", - "file_size" ]; - -function TSqlParser (input) { - antlr4.Parser.call(this, input); - this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache); - this.ruleNames = ruleNames; - this.literalNames = literalNames; - this.symbolicNames = symbolicNames; - return this; -} - -TSqlParser.prototype = Object.create(antlr4.Parser.prototype); -TSqlParser.prototype.constructor = TSqlParser; - -Object.defineProperty(TSqlParser.prototype, "atn", { - get : function() { - return atn; - } -}); - -TSqlParser.EOF = antlr4.Token.EOF; -TSqlParser.ABSENT = 1; -TSqlParser.ADD = 2; -TSqlParser.AES = 3; -TSqlParser.ALL = 4; -TSqlParser.ALLOW_CONNECTIONS = 5; -TSqlParser.ALLOW_MULTIPLE_EVENT_LOSS = 6; -TSqlParser.ALLOW_SINGLE_EVENT_LOSS = 7; -TSqlParser.ALTER = 8; -TSqlParser.AND = 9; -TSqlParser.ANONYMOUS = 10; -TSqlParser.ANY = 11; -TSqlParser.APPEND = 12; -TSqlParser.APPLICATION = 13; -TSqlParser.AS = 14; -TSqlParser.ASC = 15; -TSqlParser.ASYMMETRIC = 16; -TSqlParser.ASYNCHRONOUS_COMMIT = 17; -TSqlParser.AUTHORIZATION = 18; -TSqlParser.AUTHENTICATION = 19; -TSqlParser.AUTOMATED_BACKUP_PREFERENCE = 20; -TSqlParser.AUTOMATIC = 21; -TSqlParser.AVAILABILITY_MODE = 22; -TSqlParser.BACKSLASH = 23; -TSqlParser.BACKUP = 24; -TSqlParser.BEFORE = 25; -TSqlParser.BEGIN = 26; -TSqlParser.BETWEEN = 27; -TSqlParser.BLOCK = 28; -TSqlParser.BLOCKSIZE = 29; -TSqlParser.BLOCKING_HIERARCHY = 30; -TSqlParser.BREAK = 31; -TSqlParser.BROWSE = 32; -TSqlParser.BUFFER = 33; -TSqlParser.BUFFERCOUNT = 34; -TSqlParser.BULK = 35; -TSqlParser.BY = 36; -TSqlParser.CACHE = 37; -TSqlParser.CALLED = 38; -TSqlParser.CASCADE = 39; -TSqlParser.CASE = 40; -TSqlParser.CERTIFICATE = 41; -TSqlParser.CHANGETABLE = 42; -TSqlParser.CHANGES = 43; -TSqlParser.CHECK = 44; -TSqlParser.CHECKPOINT = 45; -TSqlParser.CHECK_POLICY = 46; -TSqlParser.CHECK_EXPIRATION = 47; -TSqlParser.CLASSIFIER_FUNCTION = 48; -TSqlParser.CLOSE = 49; -TSqlParser.CLUSTER = 50; -TSqlParser.CLUSTERED = 51; -TSqlParser.COALESCE = 52; -TSqlParser.COLLATE = 53; -TSqlParser.COLUMN = 54; -TSqlParser.COMPRESSION = 55; -TSqlParser.COMMIT = 56; -TSqlParser.COMPUTE = 57; -TSqlParser.CONFIGURATION = 58; -TSqlParser.CONSTRAINT = 59; -TSqlParser.CONTAINMENT = 60; -TSqlParser.CONTAINS = 61; -TSqlParser.CONTAINSTABLE = 62; -TSqlParser.CONTEXT = 63; -TSqlParser.CONTINUE = 64; -TSqlParser.CONTINUE_AFTER_ERROR = 65; -TSqlParser.CONTRACT = 66; -TSqlParser.CONTRACT_NAME = 67; -TSqlParser.CONVERSATION = 68; -TSqlParser.CONVERT = 69; -TSqlParser.COPY_ONLY = 70; -TSqlParser.CREATE = 71; -TSqlParser.CROSS = 72; -TSqlParser.CURRENT = 73; -TSqlParser.CURRENT_DATE = 74; -TSqlParser.CURRENT_TIME = 75; -TSqlParser.CURRENT_TIMESTAMP = 76; -TSqlParser.CURRENT_USER = 77; -TSqlParser.CURSOR = 78; -TSqlParser.CYCLE = 79; -TSqlParser.DATA_COMPRESSION = 80; -TSqlParser.DATA_SOURCE = 81; -TSqlParser.DATABASE = 82; -TSqlParser.DATABASE_MIRRORING = 83; -TSqlParser.DBCC = 84; -TSqlParser.DEALLOCATE = 85; -TSqlParser.DECLARE = 86; -TSqlParser.DEFAULT = 87; -TSqlParser.DEFAULT_DATABASE = 88; -TSqlParser.DEFAULT_SCHEMA = 89; -TSqlParser.DELETE = 90; -TSqlParser.DENY = 91; -TSqlParser.DESC = 92; -TSqlParser.DIAGNOSTICS = 93; -TSqlParser.DIFFERENTIAL = 94; -TSqlParser.DISK = 95; -TSqlParser.DISTINCT = 96; -TSqlParser.DISTRIBUTED = 97; -TSqlParser.DOUBLE = 98; -TSqlParser.DOUBLE_BACK_SLASH = 99; -TSqlParser.DOUBLE_FORWARD_SLASH = 100; -TSqlParser.DROP = 101; -TSqlParser.DTC_SUPPORT = 102; -TSqlParser.DUMP = 103; -TSqlParser.ELSE = 104; -TSqlParser.ENABLED = 105; -TSqlParser.END = 106; -TSqlParser.ENDPOINT = 107; -TSqlParser.ERRLVL = 108; -TSqlParser.ESCAPE = 109; -TSqlParser.ERROR = 110; -TSqlParser.EVENT = 111; -TSqlParser.EVENTDATA = 112; -TSqlParser.EVENT_RETENTION_MODE = 113; -TSqlParser.EXCEPT = 114; -TSqlParser.EXECUTABLE_FILE = 115; -TSqlParser.EXECUTE = 116; -TSqlParser.EXISTS = 117; -TSqlParser.EXPIREDATE = 118; -TSqlParser.EXIT = 119; -TSqlParser.EXTENSION = 120; -TSqlParser.EXTERNAL = 121; -TSqlParser.EXTERNAL_ACCESS = 122; -TSqlParser.FAILOVER = 123; -TSqlParser.FAILURECONDITIONLEVEL = 124; -TSqlParser.FAN_IN = 125; -TSqlParser.FETCH = 126; -TSqlParser.FILE = 127; -TSqlParser.FILENAME = 128; -TSqlParser.FILLFACTOR = 129; -TSqlParser.FILE_SNAPSHOT = 130; -TSqlParser.FOR = 131; -TSqlParser.FORCESEEK = 132; -TSqlParser.FORCE_SERVICE_ALLOW_DATA_LOSS = 133; -TSqlParser.FOREIGN = 134; -TSqlParser.FREETEXT = 135; -TSqlParser.FREETEXTTABLE = 136; -TSqlParser.FROM = 137; -TSqlParser.FULL = 138; -TSqlParser.FUNCTION = 139; -TSqlParser.GET = 140; -TSqlParser.GOTO = 141; -TSqlParser.GOVERNOR = 142; -TSqlParser.GRANT = 143; -TSqlParser.GROUP = 144; -TSqlParser.HAVING = 145; -TSqlParser.HASHED = 146; -TSqlParser.HEALTHCHECKTIMEOUT = 147; -TSqlParser.IDENTITY = 148; -TSqlParser.IDENTITYCOL = 149; -TSqlParser.IDENTITY_INSERT = 150; -TSqlParser.IF = 151; -TSqlParser.IIF = 152; -TSqlParser.IN = 153; -TSqlParser.INCLUDE = 154; -TSqlParser.INCREMENT = 155; -TSqlParser.INDEX = 156; -TSqlParser.INFINITE = 157; -TSqlParser.INIT = 158; -TSqlParser.INNER = 159; -TSqlParser.INSERT = 160; -TSqlParser.INSTEAD = 161; -TSqlParser.INTERSECT = 162; -TSqlParser.INTO = 163; -TSqlParser.IPV4_ADDR = 164; -TSqlParser.IPV6_ADDR = 165; -TSqlParser.IS = 166; -TSqlParser.ISNULL = 167; -TSqlParser.JOIN = 168; -TSqlParser.KERBEROS = 169; -TSqlParser.KEY = 170; -TSqlParser.KEY_PATH = 171; -TSqlParser.KEY_STORE_PROVIDER_NAME = 172; -TSqlParser.KILL = 173; -TSqlParser.LANGUAGE = 174; -TSqlParser.LEFT = 175; -TSqlParser.LIBRARY = 176; -TSqlParser.LIFETIME = 177; -TSqlParser.LIKE = 178; -TSqlParser.LINENO = 179; -TSqlParser.LINUX = 180; -TSqlParser.LISTENER_IP = 181; -TSqlParser.LISTENER_PORT = 182; -TSqlParser.LOAD = 183; -TSqlParser.LOCAL_SERVICE_NAME = 184; -TSqlParser.LOG = 185; -TSqlParser.MATCHED = 186; -TSqlParser.MASTER = 187; -TSqlParser.MAX_MEMORY = 188; -TSqlParser.MAXTRANSFER = 189; -TSqlParser.MAXVALUE = 190; -TSqlParser.MAX_DISPATCH_LATENCY = 191; -TSqlParser.MAX_EVENT_SIZE = 192; -TSqlParser.MAX_SIZE = 193; -TSqlParser.MAX_OUTSTANDING_IO_PER_VOLUME = 194; -TSqlParser.MEDIADESCRIPTION = 195; -TSqlParser.MEDIANAME = 196; -TSqlParser.MEMBER = 197; -TSqlParser.MEMORY_PARTITION_MODE = 198; -TSqlParser.MERGE = 199; -TSqlParser.MESSAGE_FORWARDING = 200; -TSqlParser.MESSAGE_FORWARD_SIZE = 201; -TSqlParser.MINVALUE = 202; -TSqlParser.MIRROR = 203; -TSqlParser.MUST_CHANGE = 204; -TSqlParser.NATIONAL = 205; -TSqlParser.NEGOTIATE = 206; -TSqlParser.NOCHECK = 207; -TSqlParser.NOFORMAT = 208; -TSqlParser.NOINIT = 209; -TSqlParser.NONCLUSTERED = 210; -TSqlParser.NONE = 211; -TSqlParser.NOREWIND = 212; -TSqlParser.NOSKIP = 213; -TSqlParser.NOUNLOAD = 214; -TSqlParser.NO_CHECKSUM = 215; -TSqlParser.NO_COMPRESSION = 216; -TSqlParser.NO_EVENT_LOSS = 217; -TSqlParser.NOT = 218; -TSqlParser.NOTIFICATION = 219; -TSqlParser.NTLM = 220; -TSqlParser.NULL = 221; -TSqlParser.NULLIF = 222; -TSqlParser.OF = 223; -TSqlParser.OFF = 224; -TSqlParser.OFFSETS = 225; -TSqlParser.OLD_PASSWORD = 226; -TSqlParser.ON = 227; -TSqlParser.ON_FAILURE = 228; -TSqlParser.OPEN = 229; -TSqlParser.OPENDATASOURCE = 230; -TSqlParser.OPENQUERY = 231; -TSqlParser.OPENROWSET = 232; -TSqlParser.OPENXML = 233; -TSqlParser.OPTION = 234; -TSqlParser.OR = 235; -TSqlParser.ORDER = 236; -TSqlParser.OUTER = 237; -TSqlParser.OVER = 238; -TSqlParser.PAGE = 239; -TSqlParser.PARAM_NODE = 240; -TSqlParser.PARTIAL = 241; -TSqlParser.PASSWORD = 242; -TSqlParser.PERCENT = 243; -TSqlParser.PERMISSION_SET = 244; -TSqlParser.PER_CPU = 245; -TSqlParser.PER_DB = 246; -TSqlParser.PER_NODE = 247; -TSqlParser.PIVOT = 248; -TSqlParser.PLAN = 249; -TSqlParser.PLATFORM = 250; -TSqlParser.POLICY = 251; -TSqlParser.PRECISION = 252; -TSqlParser.PREDICATE = 253; -TSqlParser.PRIMARY = 254; -TSqlParser.PRINT = 255; -TSqlParser.PROC = 256; -TSqlParser.PROCEDURE = 257; -TSqlParser.PROCESS = 258; -TSqlParser.PUBLIC = 259; -TSqlParser.PYTHON = 260; -TSqlParser.R = 261; -TSqlParser.RAISERROR = 262; -TSqlParser.RAW = 263; -TSqlParser.READ = 264; -TSqlParser.READTEXT = 265; -TSqlParser.READ_WRITE_FILEGROUPS = 266; -TSqlParser.RECONFIGURE = 267; -TSqlParser.REFERENCES = 268; -TSqlParser.REGENERATE = 269; -TSqlParser.RELATED_CONVERSATION = 270; -TSqlParser.RELATED_CONVERSATION_GROUP = 271; -TSqlParser.REPLICATION = 272; -TSqlParser.REQUIRED = 273; -TSqlParser.RESET = 274; -TSqlParser.RESTART = 275; -TSqlParser.RESTORE = 276; -TSqlParser.RESTRICT = 277; -TSqlParser.RESUME = 278; -TSqlParser.RETAINDAYS = 279; -TSqlParser.RETURN = 280; -TSqlParser.RETURNS = 281; -TSqlParser.REVERT = 282; -TSqlParser.REVOKE = 283; -TSqlParser.REWIND = 284; -TSqlParser.RIGHT = 285; -TSqlParser.ROLLBACK = 286; -TSqlParser.ROLE = 287; -TSqlParser.ROWCOUNT = 288; -TSqlParser.ROWGUIDCOL = 289; -TSqlParser.RSA_512 = 290; -TSqlParser.RSA_1024 = 291; -TSqlParser.RSA_2048 = 292; -TSqlParser.RSA_3072 = 293; -TSqlParser.RSA_4096 = 294; -TSqlParser.SAFETY = 295; -TSqlParser.RULE = 296; -TSqlParser.SAFE = 297; -TSqlParser.SAVE = 298; -TSqlParser.SCHEDULER = 299; -TSqlParser.SCHEMA = 300; -TSqlParser.SCHEME = 301; -TSqlParser.SECURITYAUDIT = 302; -TSqlParser.SELECT = 303; -TSqlParser.SEMANTICKEYPHRASETABLE = 304; -TSqlParser.SEMANTICSIMILARITYDETAILSTABLE = 305; -TSqlParser.SEMANTICSIMILARITYTABLE = 306; -TSqlParser.SERVER = 307; -TSqlParser.SERVICE = 308; -TSqlParser.SERVICE_BROKER = 309; -TSqlParser.SERVICE_NAME = 310; -TSqlParser.SESSION = 311; -TSqlParser.SESSION_USER = 312; -TSqlParser.SET = 313; -TSqlParser.SETUSER = 314; -TSqlParser.SHUTDOWN = 315; -TSqlParser.SID = 316; -TSqlParser.SKIP_KEYWORD = 317; -TSqlParser.SOFTNUMA = 318; -TSqlParser.SOME = 319; -TSqlParser.SOURCE = 320; -TSqlParser.SPECIFICATION = 321; -TSqlParser.SPLIT = 322; -TSqlParser.SQLDUMPERFLAGS = 323; -TSqlParser.SQLDUMPERPATH = 324; -TSqlParser.SQLDUMPERTIMEOUT = 325; -TSqlParser.STATISTICS = 326; -TSqlParser.STATE = 327; -TSqlParser.STATS = 328; -TSqlParser.START = 329; -TSqlParser.STARTED = 330; -TSqlParser.STARTUP_STATE = 331; -TSqlParser.STOP = 332; -TSqlParser.STOPPED = 333; -TSqlParser.STOP_ON_ERROR = 334; -TSqlParser.SUPPORTED = 335; -TSqlParser.SYSTEM_USER = 336; -TSqlParser.TABLE = 337; -TSqlParser.TABLESAMPLE = 338; -TSqlParser.TAPE = 339; -TSqlParser.TARGET = 340; -TSqlParser.TCP = 341; -TSqlParser.TEXTSIZE = 342; -TSqlParser.THEN = 343; -TSqlParser.TO = 344; -TSqlParser.TOP = 345; -TSqlParser.TRACK_CAUSALITY = 346; -TSqlParser.TRAN = 347; -TSqlParser.TRANSACTION = 348; -TSqlParser.TRANSFER = 349; -TSqlParser.TRIGGER = 350; -TSqlParser.TRUNCATE = 351; -TSqlParser.TSEQUAL = 352; -TSqlParser.UNCHECKED = 353; -TSqlParser.UNION = 354; -TSqlParser.UNIQUE = 355; -TSqlParser.UNLOCK = 356; -TSqlParser.UNPIVOT = 357; -TSqlParser.UNSAFE = 358; -TSqlParser.UPDATE = 359; -TSqlParser.UPDATETEXT = 360; -TSqlParser.URL = 361; -TSqlParser.USE = 362; -TSqlParser.USED = 363; -TSqlParser.USER = 364; -TSqlParser.VALUES = 365; -TSqlParser.VARYING = 366; -TSqlParser.VERBOSELOGGING = 367; -TSqlParser.VIEW = 368; -TSqlParser.VISIBILITY = 369; -TSqlParser.WAITFOR = 370; -TSqlParser.WHEN = 371; -TSqlParser.WHERE = 372; -TSqlParser.WHILE = 373; -TSqlParser.WINDOWS = 374; -TSqlParser.WITH = 375; -TSqlParser.WITHIN = 376; -TSqlParser.WITHOUT = 377; -TSqlParser.WITNESS = 378; -TSqlParser.WRITETEXT = 379; -TSqlParser.ABSOLUTE = 380; -TSqlParser.ACCENT_SENSITIVITY = 381; -TSqlParser.ACTION = 382; -TSqlParser.ACTIVATION = 383; -TSqlParser.ACTIVE = 384; -TSqlParser.ADDRESS = 385; -TSqlParser.AES_128 = 386; -TSqlParser.AES_192 = 387; -TSqlParser.AES_256 = 388; -TSqlParser.AFFINITY = 389; -TSqlParser.AFTER = 390; -TSqlParser.AGGREGATE = 391; -TSqlParser.ALGORITHM = 392; -TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = 393; -TSqlParser.ALLOW_SNAPSHOT_ISOLATION = 394; -TSqlParser.ALLOWED = 395; -TSqlParser.ANSI_NULL_DEFAULT = 396; -TSqlParser.ANSI_NULLS = 397; -TSqlParser.ANSI_PADDING = 398; -TSqlParser.ANSI_WARNINGS = 399; -TSqlParser.APPLICATION_LOG = 400; -TSqlParser.APPLY = 401; -TSqlParser.ARITHABORT = 402; -TSqlParser.ASSEMBLY = 403; -TSqlParser.AUDIT = 404; -TSqlParser.AUDIT_GUID = 405; -TSqlParser.AUTO = 406; -TSqlParser.AUTO_CLEANUP = 407; -TSqlParser.AUTO_CLOSE = 408; -TSqlParser.AUTO_CREATE_STATISTICS = 409; -TSqlParser.AUTO_SHRINK = 410; -TSqlParser.AUTO_UPDATE_STATISTICS = 411; -TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC = 412; -TSqlParser.AVAILABILITY = 413; -TSqlParser.AVG = 414; -TSqlParser.BACKUP_PRIORITY = 415; -TSqlParser.BEGIN_DIALOG = 416; -TSqlParser.BIGINT = 417; -TSqlParser.BINARY_BASE64 = 418; -TSqlParser.BINARY_CHECKSUM = 419; -TSqlParser.BINDING = 420; -TSqlParser.BLOB_STORAGE = 421; -TSqlParser.BROKER = 422; -TSqlParser.BROKER_INSTANCE = 423; -TSqlParser.BULK_LOGGED = 424; -TSqlParser.CALLER = 425; -TSqlParser.CAP_CPU_PERCENT = 426; -TSqlParser.CAST = 427; -TSqlParser.CATALOG = 428; -TSqlParser.CATCH = 429; -TSqlParser.CHANGE_RETENTION = 430; -TSqlParser.CHANGE_TRACKING = 431; -TSqlParser.CHECKSUM = 432; -TSqlParser.CHECKSUM_AGG = 433; -TSqlParser.CLEANUP = 434; -TSqlParser.COLLECTION = 435; -TSqlParser.COLUMN_MASTER_KEY = 436; -TSqlParser.COMMITTED = 437; -TSqlParser.COMPATIBILITY_LEVEL = 438; -TSqlParser.CONCAT = 439; -TSqlParser.CONCAT_NULL_YIELDS_NULL = 440; -TSqlParser.CONTENT = 441; -TSqlParser.CONTROL = 442; -TSqlParser.COOKIE = 443; -TSqlParser.COUNT = 444; -TSqlParser.COUNT_BIG = 445; -TSqlParser.COUNTER = 446; -TSqlParser.CPU = 447; -TSqlParser.CREATE_NEW = 448; -TSqlParser.CREATION_DISPOSITION = 449; -TSqlParser.CREDENTIAL = 450; -TSqlParser.CRYPTOGRAPHIC = 451; -TSqlParser.CURSOR_CLOSE_ON_COMMIT = 452; -TSqlParser.CURSOR_DEFAULT = 453; -TSqlParser.DATA = 454; -TSqlParser.DATE_CORRELATION_OPTIMIZATION = 455; -TSqlParser.DATEADD = 456; -TSqlParser.DATEDIFF = 457; -TSqlParser.DATENAME = 458; -TSqlParser.DATEPART = 459; -TSqlParser.DAYS = 460; -TSqlParser.DB_CHAINING = 461; -TSqlParser.DB_FAILOVER = 462; -TSqlParser.DECRYPTION = 463; -TSqlParser.DEFAULT_DOUBLE_QUOTE = 464; -TSqlParser.DEFAULT_FULLTEXT_LANGUAGE = 465; -TSqlParser.DEFAULT_LANGUAGE = 466; -TSqlParser.DELAY = 467; -TSqlParser.DELAYED_DURABILITY = 468; -TSqlParser.DELETED = 469; -TSqlParser.DENSE_RANK = 470; -TSqlParser.DEPENDENTS = 471; -TSqlParser.DES = 472; -TSqlParser.DESCRIPTION = 473; -TSqlParser.DESX = 474; -TSqlParser.DHCP = 475; -TSqlParser.DIALOG = 476; -TSqlParser.DIRECTORY_NAME = 477; -TSqlParser.DISABLE = 478; -TSqlParser.DISABLE_BROKER = 479; -TSqlParser.DISABLED = 480; -TSqlParser.DISK_DRIVE = 481; -TSqlParser.DOCUMENT = 482; -TSqlParser.DYNAMIC = 483; -TSqlParser.ELEMENTS = 484; -TSqlParser.EMERGENCY = 485; -TSqlParser.EMPTY = 486; -TSqlParser.ENABLE = 487; -TSqlParser.ENABLE_BROKER = 488; -TSqlParser.ENCRYPTED_VALUE = 489; -TSqlParser.ENCRYPTION = 490; -TSqlParser.ENDPOINT_URL = 491; -TSqlParser.ERROR_BROKER_CONVERSATIONS = 492; -TSqlParser.EXCLUSIVE = 493; -TSqlParser.EXECUTABLE = 494; -TSqlParser.EXIST = 495; -TSqlParser.EXPAND = 496; -TSqlParser.EXPIRY_DATE = 497; -TSqlParser.EXPLICIT = 498; -TSqlParser.FAIL_OPERATION = 499; -TSqlParser.FAILOVER_MODE = 500; -TSqlParser.FAILURE = 501; -TSqlParser.FAILURE_CONDITION_LEVEL = 502; -TSqlParser.FAST = 503; -TSqlParser.FAST_FORWARD = 504; -TSqlParser.FILEGROUP = 505; -TSqlParser.FILEGROWTH = 506; -TSqlParser.FILEPATH = 507; -TSqlParser.FILESTREAM = 508; -TSqlParser.FILTER = 509; -TSqlParser.FIRST = 510; -TSqlParser.FIRST_VALUE = 511; -TSqlParser.FOLLOWING = 512; -TSqlParser.FORCE = 513; -TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS = 514; -TSqlParser.FORCED = 515; -TSqlParser.FORMAT = 516; -TSqlParser.FORWARD_ONLY = 517; -TSqlParser.FULLSCAN = 518; -TSqlParser.FULLTEXT = 519; -TSqlParser.GB = 520; -TSqlParser.GETDATE = 521; -TSqlParser.GETUTCDATE = 522; -TSqlParser.GLOBAL = 523; -TSqlParser.GO = 524; -TSqlParser.GROUP_MAX_REQUESTS = 525; -TSqlParser.GROUPING = 526; -TSqlParser.GROUPING_ID = 527; -TSqlParser.HADR = 528; -TSqlParser.HASH = 529; -TSqlParser.HEALTH_CHECK_TIMEOUT = 530; -TSqlParser.HIGH = 531; -TSqlParser.HONOR_BROKER_PRIORITY = 532; -TSqlParser.HOURS = 533; -TSqlParser.IDENTITY_VALUE = 534; -TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX = 535; -TSqlParser.IMMEDIATE = 536; -TSqlParser.IMPERSONATE = 537; -TSqlParser.IMPORTANCE = 538; -TSqlParser.INCLUDE_NULL_VALUES = 539; -TSqlParser.INCREMENTAL = 540; -TSqlParser.INITIATOR = 541; -TSqlParser.INPUT = 542; -TSqlParser.INSENSITIVE = 543; -TSqlParser.INSERTED = 544; -TSqlParser.INT = 545; -TSqlParser.IP = 546; -TSqlParser.ISOLATION = 547; -TSqlParser.JOB = 548; -TSqlParser.JSON = 549; -TSqlParser.KB = 550; -TSqlParser.KEEP = 551; -TSqlParser.KEEPFIXED = 552; -TSqlParser.KEY_SOURCE = 553; -TSqlParser.KEYS = 554; -TSqlParser.KEYSET = 555; -TSqlParser.LAG = 556; -TSqlParser.LAST = 557; -TSqlParser.LAST_VALUE = 558; -TSqlParser.LEAD = 559; -TSqlParser.LEVEL = 560; -TSqlParser.LIST = 561; -TSqlParser.LISTENER = 562; -TSqlParser.LISTENER_URL = 563; -TSqlParser.LOB_COMPACTION = 564; -TSqlParser.LOCAL = 565; -TSqlParser.LOCATION = 566; -TSqlParser.LOCK = 567; -TSqlParser.LOCK_ESCALATION = 568; -TSqlParser.LOGIN = 569; -TSqlParser.LOOP = 570; -TSqlParser.LOW = 571; -TSqlParser.MANUAL = 572; -TSqlParser.MARK = 573; -TSqlParser.MATERIALIZED = 574; -TSqlParser.MAX = 575; -TSqlParser.MAX_CPU_PERCENT = 576; -TSqlParser.MAX_DOP = 577; -TSqlParser.MAX_FILES = 578; -TSqlParser.MAX_IOPS_PER_VOLUME = 579; -TSqlParser.MAX_MEMORY_PERCENT = 580; -TSqlParser.MAX_PROCESSES = 581; -TSqlParser.MAX_QUEUE_READERS = 582; -TSqlParser.MAX_ROLLOVER_FILES = 583; -TSqlParser.MAXDOP = 584; -TSqlParser.MAXRECURSION = 585; -TSqlParser.MAXSIZE = 586; -TSqlParser.MB = 587; -TSqlParser.MEDIUM = 588; -TSqlParser.MEMORY_OPTIMIZED_DATA = 589; -TSqlParser.MESSAGE = 590; -TSqlParser.MIN = 591; -TSqlParser.MIN_ACTIVE_ROWVERSION = 592; -TSqlParser.MIN_CPU_PERCENT = 593; -TSqlParser.MIN_IOPS_PER_VOLUME = 594; -TSqlParser.MIN_MEMORY_PERCENT = 595; -TSqlParser.MINUTES = 596; -TSqlParser.MIRROR_ADDRESS = 597; -TSqlParser.MIXED_PAGE_ALLOCATION = 598; -TSqlParser.MODE = 599; -TSqlParser.MODIFY = 600; -TSqlParser.MOVE = 601; -TSqlParser.MULTI_USER = 602; -TSqlParser.NAME = 603; -TSqlParser.NESTED_TRIGGERS = 604; -TSqlParser.NEW_ACCOUNT = 605; -TSqlParser.NEW_BROKER = 606; -TSqlParser.NEW_PASSWORD = 607; -TSqlParser.NEXT = 608; -TSqlParser.NO = 609; -TSqlParser.NO_TRUNCATE = 610; -TSqlParser.NO_WAIT = 611; -TSqlParser.NOCOUNT = 612; -TSqlParser.NODES = 613; -TSqlParser.NOEXPAND = 614; -TSqlParser.NON_TRANSACTED_ACCESS = 615; -TSqlParser.NORECOMPUTE = 616; -TSqlParser.NORECOVERY = 617; -TSqlParser.NOWAIT = 618; -TSqlParser.NTILE = 619; -TSqlParser.NUMANODE = 620; -TSqlParser.NUMBER = 621; -TSqlParser.NUMERIC_ROUNDABORT = 622; -TSqlParser.OBJECT = 623; -TSqlParser.OFFLINE = 624; -TSqlParser.OFFSET = 625; -TSqlParser.OLD_ACCOUNT = 626; -TSqlParser.ONLINE = 627; -TSqlParser.ONLY = 628; -TSqlParser.OPEN_EXISTING = 629; -TSqlParser.OPTIMISTIC = 630; -TSqlParser.OPTIMIZE = 631; -TSqlParser.OUT = 632; -TSqlParser.OUTPUT = 633; -TSqlParser.OVERRIDE = 634; -TSqlParser.OWNER = 635; -TSqlParser.PAGE_VERIFY = 636; -TSqlParser.PARAMETERIZATION = 637; -TSqlParser.PARTITION = 638; -TSqlParser.PARTITIONS = 639; -TSqlParser.PARTNER = 640; -TSqlParser.PATH = 641; -TSqlParser.POISON_MESSAGE_HANDLING = 642; -TSqlParser.POOL = 643; -TSqlParser.PORT = 644; -TSqlParser.PRECEDING = 645; -TSqlParser.PRIMARY_ROLE = 646; -TSqlParser.PRIOR = 647; -TSqlParser.PRIORITY = 648; -TSqlParser.PRIORITY_LEVEL = 649; -TSqlParser.PRIVATE = 650; -TSqlParser.PRIVATE_KEY = 651; -TSqlParser.PRIVILEGES = 652; -TSqlParser.PROCEDURE_NAME = 653; -TSqlParser.PROPERTY = 654; -TSqlParser.PROVIDER = 655; -TSqlParser.PROVIDER_KEY_NAME = 656; -TSqlParser.QUERY = 657; -TSqlParser.QUEUE = 658; -TSqlParser.QUEUE_DELAY = 659; -TSqlParser.QUOTED_IDENTIFIER = 660; -TSqlParser.RANGE = 661; -TSqlParser.RANK = 662; -TSqlParser.RC2 = 663; -TSqlParser.RC4 = 664; -TSqlParser.RC4_128 = 665; -TSqlParser.READ_COMMITTED_SNAPSHOT = 666; -TSqlParser.READ_ONLY = 667; -TSqlParser.READ_ONLY_ROUTING_LIST = 668; -TSqlParser.READ_WRITE = 669; -TSqlParser.READONLY = 670; -TSqlParser.REBUILD = 671; -TSqlParser.RECEIVE = 672; -TSqlParser.RECOMPILE = 673; -TSqlParser.RECOVERY = 674; -TSqlParser.RECURSIVE_TRIGGERS = 675; -TSqlParser.RELATIVE = 676; -TSqlParser.REMOTE = 677; -TSqlParser.REMOTE_SERVICE_NAME = 678; -TSqlParser.REMOVE = 679; -TSqlParser.REORGANIZE = 680; -TSqlParser.REPEATABLE = 681; -TSqlParser.REPLICA = 682; -TSqlParser.REQUEST_MAX_CPU_TIME_SEC = 683; -TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT = 684; -TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC = 685; -TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 686; -TSqlParser.RESERVE_DISK_SPACE = 687; -TSqlParser.RESOURCE = 688; -TSqlParser.RESOURCE_MANAGER_LOCATION = 689; -TSqlParser.RESTRICTED_USER = 690; -TSqlParser.RETENTION = 691; -TSqlParser.ROBUST = 692; -TSqlParser.ROOT = 693; -TSqlParser.ROUTE = 694; -TSqlParser.ROW = 695; -TSqlParser.ROW_NUMBER = 696; -TSqlParser.ROWGUID = 697; -TSqlParser.ROWS = 698; -TSqlParser.SAMPLE = 699; -TSqlParser.SCHEMABINDING = 700; -TSqlParser.SCOPED = 701; -TSqlParser.SCROLL = 702; -TSqlParser.SCROLL_LOCKS = 703; -TSqlParser.SEARCH = 704; -TSqlParser.SECONDARY = 705; -TSqlParser.SECONDARY_ONLY = 706; -TSqlParser.SECONDARY_ROLE = 707; -TSqlParser.SECONDS = 708; -TSqlParser.SECRET = 709; -TSqlParser.SECURITY = 710; -TSqlParser.SECURITY_LOG = 711; -TSqlParser.SEEDING_MODE = 712; -TSqlParser.SELF = 713; -TSqlParser.SEMI_SENSITIVE = 714; -TSqlParser.SEND = 715; -TSqlParser.SENT = 716; -TSqlParser.SEQUENCE = 717; -TSqlParser.SERIALIZABLE = 718; -TSqlParser.SESSION_TIMEOUT = 719; -TSqlParser.SETERROR = 720; -TSqlParser.SHARE = 721; -TSqlParser.SHOWPLAN = 722; -TSqlParser.SIGNATURE = 723; -TSqlParser.SIMPLE = 724; -TSqlParser.SINGLE_USER = 725; -TSqlParser.SIZE = 726; -TSqlParser.SMALLINT = 727; -TSqlParser.SNAPSHOT = 728; -TSqlParser.SPATIAL_WINDOW_MAX_CELLS = 729; -TSqlParser.STANDBY = 730; -TSqlParser.START_DATE = 731; -TSqlParser.STATIC = 732; -TSqlParser.STATS_STREAM = 733; -TSqlParser.STATUS = 734; -TSqlParser.STATUSONLY = 735; -TSqlParser.STDEV = 736; -TSqlParser.STDEVP = 737; -TSqlParser.STOPLIST = 738; -TSqlParser.STRING_AGG = 739; -TSqlParser.STUFF = 740; -TSqlParser.SUBJECT = 741; -TSqlParser.SUBSCRIPTION = 742; -TSqlParser.SUM = 743; -TSqlParser.SUSPEND = 744; -TSqlParser.SYMMETRIC = 745; -TSqlParser.SYNCHRONOUS_COMMIT = 746; -TSqlParser.SYNONYM = 747; -TSqlParser.SYSTEM = 748; -TSqlParser.TAKE = 749; -TSqlParser.TARGET_RECOVERY_TIME = 750; -TSqlParser.TB = 751; -TSqlParser.TEXTIMAGE_ON = 752; -TSqlParser.THROW = 753; -TSqlParser.TIES = 754; -TSqlParser.TIME = 755; -TSqlParser.TIMEOUT = 756; -TSqlParser.TIMER = 757; -TSqlParser.TINYINT = 758; -TSqlParser.TORN_PAGE_DETECTION = 759; -TSqlParser.TRANSFORM_NOISE_WORDS = 760; -TSqlParser.TRIPLE_DES = 761; -TSqlParser.TRIPLE_DES_3KEY = 762; -TSqlParser.TRUSTWORTHY = 763; -TSqlParser.TRY = 764; -TSqlParser.TSQL = 765; -TSqlParser.TWO_DIGIT_YEAR_CUTOFF = 766; -TSqlParser.TYPE = 767; -TSqlParser.TYPE_WARNING = 768; -TSqlParser.UNBOUNDED = 769; -TSqlParser.UNCOMMITTED = 770; -TSqlParser.UNKNOWN = 771; -TSqlParser.UNLIMITED = 772; -TSqlParser.UOW = 773; -TSqlParser.USING = 774; -TSqlParser.VALID_XML = 775; -TSqlParser.VALIDATION = 776; -TSqlParser.VALUE = 777; -TSqlParser.VAR = 778; -TSqlParser.VARP = 779; -TSqlParser.VIEW_METADATA = 780; -TSqlParser.VIEWS = 781; -TSqlParser.WAIT = 782; -TSqlParser.WELL_FORMED_XML = 783; -TSqlParser.WITHOUT_ARRAY_WRAPPER = 784; -TSqlParser.WORK = 785; -TSqlParser.WORKLOAD = 786; -TSqlParser.XML = 787; -TSqlParser.XMLDATA = 788; -TSqlParser.XMLNAMESPACES = 789; -TSqlParser.XMLSCHEMA = 790; -TSqlParser.XSINIL = 791; -TSqlParser.DOLLAR_ACTION = 792; -TSqlParser.SPACE = 793; -TSqlParser.COMMENT = 794; -TSqlParser.LINE_COMMENT = 795; -TSqlParser.DOUBLE_QUOTE_ID = 796; -TSqlParser.SINGLE_QUOTE = 797; -TSqlParser.SQUARE_BRACKET_ID = 798; -TSqlParser.LOCAL_ID = 799; -TSqlParser.DECIMAL = 800; -TSqlParser.ID = 801; -TSqlParser.QUOTED_URL = 802; -TSqlParser.QUOTED_HOST_AND_PORT = 803; -TSqlParser.STRING = 804; -TSqlParser.BINARY = 805; -TSqlParser.FLOAT = 806; -TSqlParser.REAL = 807; -TSqlParser.EQUAL = 808; -TSqlParser.GREATER = 809; -TSqlParser.LESS = 810; -TSqlParser.EXCLAMATION = 811; -TSqlParser.PLUS_ASSIGN = 812; -TSqlParser.MINUS_ASSIGN = 813; -TSqlParser.MULT_ASSIGN = 814; -TSqlParser.DIV_ASSIGN = 815; -TSqlParser.MOD_ASSIGN = 816; -TSqlParser.AND_ASSIGN = 817; -TSqlParser.XOR_ASSIGN = 818; -TSqlParser.OR_ASSIGN = 819; -TSqlParser.DOUBLE_BAR = 820; -TSqlParser.DOT = 821; -TSqlParser.UNDERLINE = 822; -TSqlParser.AT = 823; -TSqlParser.SHARP = 824; -TSqlParser.DOLLAR = 825; -TSqlParser.LR_BRACKET = 826; -TSqlParser.RR_BRACKET = 827; -TSqlParser.COMMA = 828; -TSqlParser.SEMI = 829; -TSqlParser.COLON = 830; -TSqlParser.STAR = 831; -TSqlParser.DIVIDE = 832; -TSqlParser.MODULE = 833; -TSqlParser.PLUS = 834; -TSqlParser.MINUS = 835; -TSqlParser.BIT_NOT = 836; -TSqlParser.BIT_OR = 837; -TSqlParser.BIT_AND = 838; -TSqlParser.BIT_XOR = 839; -TSqlParser.IPV4_OCTECT = 840; - -TSqlParser.RULE_tsql_file = 0; -TSqlParser.RULE_batch = 1; -TSqlParser.RULE_sql_clauses = 2; -TSqlParser.RULE_sql_clause = 3; -TSqlParser.RULE_dml_clause = 4; -TSqlParser.RULE_ddl_clause = 5; -TSqlParser.RULE_backup_statement = 6; -TSqlParser.RULE_cfl_statement = 7; -TSqlParser.RULE_block_statement = 8; -TSqlParser.RULE_break_statement = 9; -TSqlParser.RULE_continue_statement = 10; -TSqlParser.RULE_goto_statement = 11; -TSqlParser.RULE_return_statement = 12; -TSqlParser.RULE_if_statement = 13; -TSqlParser.RULE_throw_statement = 14; -TSqlParser.RULE_throw_error_number = 15; -TSqlParser.RULE_throw_message = 16; -TSqlParser.RULE_throw_state = 17; -TSqlParser.RULE_try_catch_statement = 18; -TSqlParser.RULE_waitfor_statement = 19; -TSqlParser.RULE_while_statement = 20; -TSqlParser.RULE_print_statement = 21; -TSqlParser.RULE_raiseerror_statement = 22; -TSqlParser.RULE_empty_statement = 23; -TSqlParser.RULE_another_statement = 24; -TSqlParser.RULE_alter_application_role = 25; -TSqlParser.RULE_create_application_role = 26; -TSqlParser.RULE_drop_aggregate = 27; -TSqlParser.RULE_drop_application_role = 28; -TSqlParser.RULE_alter_assembly = 29; -TSqlParser.RULE_alter_assembly_start = 30; -TSqlParser.RULE_alter_assembly_clause = 31; -TSqlParser.RULE_alter_assembly_from_clause = 32; -TSqlParser.RULE_alter_assembly_from_clause_start = 33; -TSqlParser.RULE_alter_assembly_drop_clause = 34; -TSqlParser.RULE_alter_assembly_drop_multiple_files = 35; -TSqlParser.RULE_alter_assembly_drop = 36; -TSqlParser.RULE_alter_assembly_add_clause = 37; -TSqlParser.RULE_alter_asssembly_add_clause_start = 38; -TSqlParser.RULE_alter_assembly_client_file_clause = 39; -TSqlParser.RULE_alter_assembly_file_name = 40; -TSqlParser.RULE_alter_assembly_file_bits = 41; -TSqlParser.RULE_alter_assembly_as = 42; -TSqlParser.RULE_alter_assembly_with_clause = 43; -TSqlParser.RULE_alter_assembly_with = 44; -TSqlParser.RULE_client_assembly_specifier = 45; -TSqlParser.RULE_assembly_option = 46; -TSqlParser.RULE_network_file_share = 47; -TSqlParser.RULE_network_computer = 48; -TSqlParser.RULE_network_file_start = 49; -TSqlParser.RULE_file_path = 50; -TSqlParser.RULE_file_directory_path_separator = 51; -TSqlParser.RULE_local_file = 52; -TSqlParser.RULE_local_drive = 53; -TSqlParser.RULE_multiple_local_files = 54; -TSqlParser.RULE_multiple_local_file_start = 55; -TSqlParser.RULE_create_assembly = 56; -TSqlParser.RULE_drop_assembly = 57; -TSqlParser.RULE_alter_asymmetric_key = 58; -TSqlParser.RULE_alter_asymmetric_key_start = 59; -TSqlParser.RULE_asymmetric_key_option = 60; -TSqlParser.RULE_asymmetric_key_option_start = 61; -TSqlParser.RULE_asymmetric_key_password_change_option = 62; -TSqlParser.RULE_create_asymmetric_key = 63; -TSqlParser.RULE_drop_asymmetric_key = 64; -TSqlParser.RULE_alter_authorization = 65; -TSqlParser.RULE_authorization_grantee = 66; -TSqlParser.RULE_entity_to = 67; -TSqlParser.RULE_colon_colon = 68; -TSqlParser.RULE_alter_authorization_start = 69; -TSqlParser.RULE_alter_authorization_for_sql_database = 70; -TSqlParser.RULE_alter_authorization_for_azure_dw = 71; -TSqlParser.RULE_alter_authorization_for_parallel_dw = 72; -TSqlParser.RULE_class_type = 73; -TSqlParser.RULE_class_type_for_sql_database = 74; -TSqlParser.RULE_class_type_for_azure_dw = 75; -TSqlParser.RULE_class_type_for_parallel_dw = 76; -TSqlParser.RULE_drop_availability_group = 77; -TSqlParser.RULE_alter_availability_group = 78; -TSqlParser.RULE_alter_availability_group_start = 79; -TSqlParser.RULE_alter_availability_group_options = 80; -TSqlParser.RULE_create_or_alter_broker_priority = 81; -TSqlParser.RULE_drop_broker_priority = 82; -TSqlParser.RULE_alter_certificate = 83; -TSqlParser.RULE_alter_column_encryption_key = 84; -TSqlParser.RULE_create_column_encryption_key = 85; -TSqlParser.RULE_drop_certificate = 86; -TSqlParser.RULE_drop_column_encryption_key = 87; -TSqlParser.RULE_drop_column_master_key = 88; -TSqlParser.RULE_drop_contract = 89; -TSqlParser.RULE_drop_credential = 90; -TSqlParser.RULE_drop_cryptograhic_provider = 91; -TSqlParser.RULE_drop_database = 92; -TSqlParser.RULE_drop_database_audit_specification = 93; -TSqlParser.RULE_drop_database_scoped_credential = 94; -TSqlParser.RULE_drop_default = 95; -TSqlParser.RULE_drop_endpoint = 96; -TSqlParser.RULE_drop_external_data_source = 97; -TSqlParser.RULE_drop_external_file_format = 98; -TSqlParser.RULE_drop_external_library = 99; -TSqlParser.RULE_drop_external_resource_pool = 100; -TSqlParser.RULE_drop_external_table = 101; -TSqlParser.RULE_drop_event_notifications = 102; -TSqlParser.RULE_drop_event_session = 103; -TSqlParser.RULE_drop_fulltext_catalog = 104; -TSqlParser.RULE_drop_fulltext_index = 105; -TSqlParser.RULE_drop_fulltext_stoplist = 106; -TSqlParser.RULE_drop_login = 107; -TSqlParser.RULE_drop_master_key = 108; -TSqlParser.RULE_drop_message_type = 109; -TSqlParser.RULE_drop_partition_function = 110; -TSqlParser.RULE_drop_partition_scheme = 111; -TSqlParser.RULE_drop_queue = 112; -TSqlParser.RULE_drop_remote_service_binding = 113; -TSqlParser.RULE_drop_resource_pool = 114; -TSqlParser.RULE_drop_db_role = 115; -TSqlParser.RULE_drop_route = 116; -TSqlParser.RULE_drop_rule = 117; -TSqlParser.RULE_drop_schema = 118; -TSqlParser.RULE_drop_search_property_list = 119; -TSqlParser.RULE_drop_security_policy = 120; -TSqlParser.RULE_drop_sequence = 121; -TSqlParser.RULE_drop_server_audit = 122; -TSqlParser.RULE_drop_server_audit_specification = 123; -TSqlParser.RULE_drop_server_role = 124; -TSqlParser.RULE_drop_service = 125; -TSqlParser.RULE_drop_signature = 126; -TSqlParser.RULE_drop_statistics_name_azure_dw_and_pdw = 127; -TSqlParser.RULE_drop_symmetric_key = 128; -TSqlParser.RULE_drop_synonym = 129; -TSqlParser.RULE_drop_user = 130; -TSqlParser.RULE_drop_workload_group = 131; -TSqlParser.RULE_drop_xml_schema_collection = 132; -TSqlParser.RULE_disable_trigger = 133; -TSqlParser.RULE_enable_trigger = 134; -TSqlParser.RULE_lock_table = 135; -TSqlParser.RULE_truncate_table = 136; -TSqlParser.RULE_create_column_master_key = 137; -TSqlParser.RULE_alter_credential = 138; -TSqlParser.RULE_create_credential = 139; -TSqlParser.RULE_alter_cryptographic_provider = 140; -TSqlParser.RULE_create_cryptographic_provider = 141; -TSqlParser.RULE_create_event_notification = 142; -TSqlParser.RULE_create_or_alter_event_session = 143; -TSqlParser.RULE_event_session_predicate_expression = 144; -TSqlParser.RULE_event_session_predicate_factor = 145; -TSqlParser.RULE_event_session_predicate_leaf = 146; -TSqlParser.RULE_alter_external_data_source = 147; -TSqlParser.RULE_alter_external_library = 148; -TSqlParser.RULE_create_external_library = 149; -TSqlParser.RULE_alter_external_resource_pool = 150; -TSqlParser.RULE_create_external_resource_pool = 151; -TSqlParser.RULE_alter_fulltext_catalog = 152; -TSqlParser.RULE_create_fulltext_catalog = 153; -TSqlParser.RULE_alter_fulltext_stoplist = 154; -TSqlParser.RULE_create_fulltext_stoplist = 155; -TSqlParser.RULE_alter_login_sql_server = 156; -TSqlParser.RULE_create_login_sql_server = 157; -TSqlParser.RULE_alter_login_azure_sql = 158; -TSqlParser.RULE_create_login_azure_sql = 159; -TSqlParser.RULE_alter_login_azure_sql_dw_and_pdw = 160; -TSqlParser.RULE_create_login_pdw = 161; -TSqlParser.RULE_alter_master_key_sql_server = 162; -TSqlParser.RULE_create_master_key_sql_server = 163; -TSqlParser.RULE_alter_master_key_azure_sql = 164; -TSqlParser.RULE_create_master_key_azure_sql = 165; -TSqlParser.RULE_alter_message_type = 166; -TSqlParser.RULE_alter_partition_function = 167; -TSqlParser.RULE_alter_partition_scheme = 168; -TSqlParser.RULE_alter_remote_service_binding = 169; -TSqlParser.RULE_create_remote_service_binding = 170; -TSqlParser.RULE_create_resource_pool = 171; -TSqlParser.RULE_alter_resource_governor = 172; -TSqlParser.RULE_alter_db_role = 173; -TSqlParser.RULE_create_db_role = 174; -TSqlParser.RULE_create_route = 175; -TSqlParser.RULE_create_rule = 176; -TSqlParser.RULE_alter_schema_sql = 177; -TSqlParser.RULE_create_schema = 178; -TSqlParser.RULE_create_schema_azure_sql_dw_and_pdw = 179; -TSqlParser.RULE_alter_schema_azure_sql_dw_and_pdw = 180; -TSqlParser.RULE_create_search_property_list = 181; -TSqlParser.RULE_create_security_policy = 182; -TSqlParser.RULE_alter_sequence = 183; -TSqlParser.RULE_create_sequence = 184; -TSqlParser.RULE_alter_server_audit = 185; -TSqlParser.RULE_create_server_audit = 186; -TSqlParser.RULE_alter_server_audit_specification = 187; -TSqlParser.RULE_create_server_audit_specification = 188; -TSqlParser.RULE_alter_server_configuration = 189; -TSqlParser.RULE_alter_server_role = 190; -TSqlParser.RULE_create_server_role = 191; -TSqlParser.RULE_alter_server_role_pdw = 192; -TSqlParser.RULE_alter_service = 193; -TSqlParser.RULE_create_service = 194; -TSqlParser.RULE_alter_service_master_key = 195; -TSqlParser.RULE_alter_symmetric_key = 196; -TSqlParser.RULE_create_symmetric_key = 197; -TSqlParser.RULE_create_synonym = 198; -TSqlParser.RULE_alter_user = 199; -TSqlParser.RULE_create_user = 200; -TSqlParser.RULE_create_user_azure_sql_dw = 201; -TSqlParser.RULE_alter_user_azure_sql = 202; -TSqlParser.RULE_alter_workload_group = 203; -TSqlParser.RULE_create_workload_group = 204; -TSqlParser.RULE_create_xml_schema_collection = 205; -TSqlParser.RULE_create_queue = 206; -TSqlParser.RULE_queue_settings = 207; -TSqlParser.RULE_alter_queue = 208; -TSqlParser.RULE_queue_action = 209; -TSqlParser.RULE_queue_rebuild_options = 210; -TSqlParser.RULE_create_contract = 211; -TSqlParser.RULE_conversation_statement = 212; -TSqlParser.RULE_message_statement = 213; -TSqlParser.RULE_merge_statement = 214; -TSqlParser.RULE_merge_matched = 215; -TSqlParser.RULE_merge_not_matched = 216; -TSqlParser.RULE_delete_statement = 217; -TSqlParser.RULE_delete_statement_from = 218; -TSqlParser.RULE_insert_statement = 219; -TSqlParser.RULE_insert_statement_value = 220; -TSqlParser.RULE_receive_statement = 221; -TSqlParser.RULE_select_statement = 222; -TSqlParser.RULE_time = 223; -TSqlParser.RULE_update_statement = 224; -TSqlParser.RULE_output_clause = 225; -TSqlParser.RULE_output_dml_list_elem = 226; -TSqlParser.RULE_output_column_name = 227; -TSqlParser.RULE_create_database = 228; -TSqlParser.RULE_create_index = 229; -TSqlParser.RULE_create_or_alter_procedure = 230; -TSqlParser.RULE_create_or_alter_trigger = 231; -TSqlParser.RULE_create_or_alter_dml_trigger = 232; -TSqlParser.RULE_dml_trigger_option = 233; -TSqlParser.RULE_dml_trigger_operation = 234; -TSqlParser.RULE_create_or_alter_ddl_trigger = 235; -TSqlParser.RULE_ddl_trigger_operation = 236; -TSqlParser.RULE_create_or_alter_function = 237; -TSqlParser.RULE_func_body_returns_select = 238; -TSqlParser.RULE_func_body_returns_table = 239; -TSqlParser.RULE_func_body_returns_scalar = 240; -TSqlParser.RULE_procedure_param = 241; -TSqlParser.RULE_procedure_option = 242; -TSqlParser.RULE_function_option = 243; -TSqlParser.RULE_create_statistics = 244; -TSqlParser.RULE_update_statistics = 245; -TSqlParser.RULE_create_table = 246; -TSqlParser.RULE_table_options = 247; -TSqlParser.RULE_create_view = 248; -TSqlParser.RULE_view_attribute = 249; -TSqlParser.RULE_alter_table = 250; -TSqlParser.RULE_alter_database = 251; -TSqlParser.RULE_database_optionspec = 252; -TSqlParser.RULE_auto_option = 253; -TSqlParser.RULE_change_tracking_option = 254; -TSqlParser.RULE_change_tracking_option_list = 255; -TSqlParser.RULE_containment_option = 256; -TSqlParser.RULE_cursor_option = 257; -TSqlParser.RULE_alter_endpoint = 258; -TSqlParser.RULE_database_mirroring_option = 259; -TSqlParser.RULE_mirroring_set_option = 260; -TSqlParser.RULE_mirroring_partner = 261; -TSqlParser.RULE_mirroring_witness = 262; -TSqlParser.RULE_witness_partner_equal = 263; -TSqlParser.RULE_partner_option = 264; -TSqlParser.RULE_witness_option = 265; -TSqlParser.RULE_witness_server = 266; -TSqlParser.RULE_partner_server = 267; -TSqlParser.RULE_mirroring_host_port_seperator = 268; -TSqlParser.RULE_partner_server_tcp_prefix = 269; -TSqlParser.RULE_port_number = 270; -TSqlParser.RULE_host = 271; -TSqlParser.RULE_date_correlation_optimization_option = 272; -TSqlParser.RULE_db_encryption_option = 273; -TSqlParser.RULE_db_state_option = 274; -TSqlParser.RULE_db_update_option = 275; -TSqlParser.RULE_db_user_access_option = 276; -TSqlParser.RULE_delayed_durability_option = 277; -TSqlParser.RULE_external_access_option = 278; -TSqlParser.RULE_hadr_options = 279; -TSqlParser.RULE_mixed_page_allocation_option = 280; -TSqlParser.RULE_parameterization_option = 281; -TSqlParser.RULE_recovery_option = 282; -TSqlParser.RULE_service_broker_option = 283; -TSqlParser.RULE_snapshot_option = 284; -TSqlParser.RULE_sql_option = 285; -TSqlParser.RULE_target_recovery_time_option = 286; -TSqlParser.RULE_termination = 287; -TSqlParser.RULE_drop_index = 288; -TSqlParser.RULE_drop_relational_or_xml_or_spatial_index = 289; -TSqlParser.RULE_drop_backward_compatible_index = 290; -TSqlParser.RULE_drop_procedure = 291; -TSqlParser.RULE_drop_trigger = 292; -TSqlParser.RULE_drop_dml_trigger = 293; -TSqlParser.RULE_drop_ddl_trigger = 294; -TSqlParser.RULE_drop_function = 295; -TSqlParser.RULE_drop_statistics = 296; -TSqlParser.RULE_drop_table = 297; -TSqlParser.RULE_drop_view = 298; -TSqlParser.RULE_create_type = 299; -TSqlParser.RULE_drop_type = 300; -TSqlParser.RULE_rowset_function_limited = 301; -TSqlParser.RULE_openquery = 302; -TSqlParser.RULE_opendatasource = 303; -TSqlParser.RULE_declare_statement = 304; -TSqlParser.RULE_cursor_statement = 305; -TSqlParser.RULE_backup_database = 306; -TSqlParser.RULE_backup_log = 307; -TSqlParser.RULE_backup_certificate = 308; -TSqlParser.RULE_backup_master_key = 309; -TSqlParser.RULE_backup_service_master_key = 310; -TSqlParser.RULE_kill_statement = 311; -TSqlParser.RULE_kill_process = 312; -TSqlParser.RULE_kill_query_notification = 313; -TSqlParser.RULE_kill_stats_job = 314; -TSqlParser.RULE_execute_statement = 315; -TSqlParser.RULE_execute_body = 316; -TSqlParser.RULE_execute_statement_arg = 317; -TSqlParser.RULE_execute_var_string = 318; -TSqlParser.RULE_security_statement = 319; -TSqlParser.RULE_create_certificate = 320; -TSqlParser.RULE_existing_keys = 321; -TSqlParser.RULE_private_key_options = 322; -TSqlParser.RULE_generate_new_keys = 323; -TSqlParser.RULE_date_options = 324; -TSqlParser.RULE_open_key = 325; -TSqlParser.RULE_close_key = 326; -TSqlParser.RULE_create_key = 327; -TSqlParser.RULE_key_options = 328; -TSqlParser.RULE_algorithm = 329; -TSqlParser.RULE_encryption_mechanism = 330; -TSqlParser.RULE_decryption_mechanism = 331; -TSqlParser.RULE_grant_permission = 332; -TSqlParser.RULE_set_statement = 333; -TSqlParser.RULE_transaction_statement = 334; -TSqlParser.RULE_go_statement = 335; -TSqlParser.RULE_use_statement = 336; -TSqlParser.RULE_setuser_statement = 337; -TSqlParser.RULE_reconfigure_statement = 338; -TSqlParser.RULE_shutdown_statement = 339; -TSqlParser.RULE_dbcc_clause = 340; -TSqlParser.RULE_dbcc_options = 341; -TSqlParser.RULE_execute_clause = 342; -TSqlParser.RULE_declare_local = 343; -TSqlParser.RULE_table_type_definition = 344; -TSqlParser.RULE_xml_type_definition = 345; -TSqlParser.RULE_xml_schema_collection = 346; -TSqlParser.RULE_column_def_table_constraints = 347; -TSqlParser.RULE_column_def_table_constraint = 348; -TSqlParser.RULE_column_definition = 349; -TSqlParser.RULE_materialized_column_definition = 350; -TSqlParser.RULE_column_constraint = 351; -TSqlParser.RULE_table_constraint = 352; -TSqlParser.RULE_on_delete = 353; -TSqlParser.RULE_on_update = 354; -TSqlParser.RULE_index_options = 355; -TSqlParser.RULE_index_option = 356; -TSqlParser.RULE_declare_cursor = 357; -TSqlParser.RULE_declare_set_cursor_common = 358; -TSqlParser.RULE_declare_set_cursor_common_partial = 359; -TSqlParser.RULE_fetch_cursor = 360; -TSqlParser.RULE_set_special = 361; -TSqlParser.RULE_constant_LOCAL_ID = 362; -TSqlParser.RULE_expression = 363; -TSqlParser.RULE_primitive_expression = 364; -TSqlParser.RULE_case_expression = 365; -TSqlParser.RULE_unary_operator_expression = 366; -TSqlParser.RULE_bracket_expression = 367; -TSqlParser.RULE_constant_expression = 368; -TSqlParser.RULE_subquery = 369; -TSqlParser.RULE_with_expression = 370; -TSqlParser.RULE_common_table_expression = 371; -TSqlParser.RULE_update_elem = 372; -TSqlParser.RULE_search_condition_list = 373; -TSqlParser.RULE_search_condition = 374; -TSqlParser.RULE_search_condition_and = 375; -TSqlParser.RULE_search_condition_not = 376; -TSqlParser.RULE_predicate = 377; -TSqlParser.RULE_query_expression = 378; -TSqlParser.RULE_sql_union = 379; -TSqlParser.RULE_query_specification = 380; -TSqlParser.RULE_top_clause = 381; -TSqlParser.RULE_top_percent = 382; -TSqlParser.RULE_top_count = 383; -TSqlParser.RULE_order_by_clause = 384; -TSqlParser.RULE_for_clause = 385; -TSqlParser.RULE_xml_common_directives = 386; -TSqlParser.RULE_order_by_expression = 387; -TSqlParser.RULE_group_by_item = 388; -TSqlParser.RULE_option_clause = 389; -TSqlParser.RULE_option = 390; -TSqlParser.RULE_optimize_for_arg = 391; -TSqlParser.RULE_select_list = 392; -TSqlParser.RULE_udt_method_arguments = 393; -TSqlParser.RULE_asterisk = 394; -TSqlParser.RULE_column_elem = 395; -TSqlParser.RULE_udt_elem = 396; -TSqlParser.RULE_expression_elem = 397; -TSqlParser.RULE_select_list_elem = 398; -TSqlParser.RULE_table_sources = 399; -TSqlParser.RULE_table_source = 400; -TSqlParser.RULE_table_source_item_joined = 401; -TSqlParser.RULE_table_source_item = 402; -TSqlParser.RULE_open_xml = 403; -TSqlParser.RULE_schema_declaration = 404; -TSqlParser.RULE_column_declaration = 405; -TSqlParser.RULE_change_table = 406; -TSqlParser.RULE_join_part = 407; -TSqlParser.RULE_pivot_clause = 408; -TSqlParser.RULE_unpivot_clause = 409; -TSqlParser.RULE_full_column_name_list = 410; -TSqlParser.RULE_table_name_with_hint = 411; -TSqlParser.RULE_rowset_function = 412; -TSqlParser.RULE_bulk_option = 413; -TSqlParser.RULE_derived_table = 414; -TSqlParser.RULE_function_call = 415; -TSqlParser.RULE_xml_data_type_methods = 416; -TSqlParser.RULE_value_method = 417; -TSqlParser.RULE_query_method = 418; -TSqlParser.RULE_exist_method = 419; -TSqlParser.RULE_modify_method = 420; -TSqlParser.RULE_nodes_method = 421; -TSqlParser.RULE_switch_section = 422; -TSqlParser.RULE_switch_search_condition_section = 423; -TSqlParser.RULE_as_column_alias = 424; -TSqlParser.RULE_as_table_alias = 425; -TSqlParser.RULE_table_alias = 426; -TSqlParser.RULE_with_table_hints = 427; -TSqlParser.RULE_insert_with_table_hints = 428; -TSqlParser.RULE_table_hint = 429; -TSqlParser.RULE_index_value = 430; -TSqlParser.RULE_column_alias_list = 431; -TSqlParser.RULE_column_alias = 432; -TSqlParser.RULE_table_value_constructor = 433; -TSqlParser.RULE_expression_list = 434; -TSqlParser.RULE_ranking_windowed_function = 435; -TSqlParser.RULE_aggregate_windowed_function = 436; -TSqlParser.RULE_analytic_windowed_function = 437; -TSqlParser.RULE_all_distinct_expression = 438; -TSqlParser.RULE_over_clause = 439; -TSqlParser.RULE_row_or_range_clause = 440; -TSqlParser.RULE_window_frame_extent = 441; -TSqlParser.RULE_window_frame_bound = 442; -TSqlParser.RULE_window_frame_preceding = 443; -TSqlParser.RULE_window_frame_following = 444; -TSqlParser.RULE_create_database_option = 445; -TSqlParser.RULE_database_filestream_option = 446; -TSqlParser.RULE_database_file_spec = 447; -TSqlParser.RULE_file_group = 448; -TSqlParser.RULE_file_spec = 449; -TSqlParser.RULE_entity_name = 450; -TSqlParser.RULE_entity_name_for_azure_dw = 451; -TSqlParser.RULE_entity_name_for_parallel_dw = 452; -TSqlParser.RULE_full_table_name = 453; -TSqlParser.RULE_table_name = 454; -TSqlParser.RULE_simple_name = 455; -TSqlParser.RULE_func_proc_name_schema = 456; -TSqlParser.RULE_func_proc_name_database_schema = 457; -TSqlParser.RULE_func_proc_name_server_database_schema = 458; -TSqlParser.RULE_ddl_object = 459; -TSqlParser.RULE_full_column_name = 460; -TSqlParser.RULE_column_name_list_with_order = 461; -TSqlParser.RULE_column_name_list = 462; -TSqlParser.RULE_cursor_name = 463; -TSqlParser.RULE_on_off = 464; -TSqlParser.RULE_clustered = 465; -TSqlParser.RULE_null_notnull = 466; -TSqlParser.RULE_null_or_default = 467; -TSqlParser.RULE_scalar_function_name = 468; -TSqlParser.RULE_begin_conversation_timer = 469; -TSqlParser.RULE_begin_conversation_dialog = 470; -TSqlParser.RULE_contract_name = 471; -TSqlParser.RULE_service_name = 472; -TSqlParser.RULE_end_conversation = 473; -TSqlParser.RULE_waitfor_conversation = 474; -TSqlParser.RULE_get_conversation = 475; -TSqlParser.RULE_queue_id = 476; -TSqlParser.RULE_send_conversation = 477; -TSqlParser.RULE_data_type = 478; -TSqlParser.RULE_default_value = 479; -TSqlParser.RULE_constant = 480; -TSqlParser.RULE_sign = 481; -TSqlParser.RULE_id = 482; -TSqlParser.RULE_simple_id = 483; -TSqlParser.RULE_comparison_operator = 484; -TSqlParser.RULE_assignment_operator = 485; -TSqlParser.RULE_file_size = 486; - - -function Tsql_fileContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_tsql_file; - return this; -} - -Tsql_fileContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Tsql_fileContext.prototype.constructor = Tsql_fileContext; - -Tsql_fileContext.prototype.EOF = function() { - return this.getToken(TSqlParser.EOF, 0); -}; - -Tsql_fileContext.prototype.batch = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(BatchContext); - } else { - return this.getTypedRuleContext(BatchContext,i); - } -}; - -Tsql_fileContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTsql_file(this); - } -}; - -Tsql_fileContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTsql_file(this); - } -}; - -Tsql_fileContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTsql_file(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Tsql_fileContext = Tsql_fileContext; - -TSqlParser.prototype.tsql_file = function() { - - var localctx = new Tsql_fileContext(this, this._ctx, this.state); - this.enterRule(localctx, 0, TSqlParser.RULE_tsql_file); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 977; - this._errHandler.sync(this); - _la = this._input.LA(1); - while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << TSqlParser.ALTER) | (1 << TSqlParser.BACKUP) | (1 << TSqlParser.BEGIN) | (1 << TSqlParser.BLOCKING_HIERARCHY) | (1 << TSqlParser.BREAK))) !== 0) || ((((_la - 38)) & ~0x1f) == 0 && ((1 << (_la - 38)) & ((1 << (TSqlParser.CALLED - 38)) | (1 << (TSqlParser.CASE - 38)) | (1 << (TSqlParser.CLOSE - 38)) | (1 << (TSqlParser.COALESCE - 38)) | (1 << (TSqlParser.COMMIT - 38)) | (1 << (TSqlParser.CONTINUE - 38)) | (1 << (TSqlParser.CONVERT - 38)))) !== 0) || ((((_la - 71)) & ~0x1f) == 0 && ((1 << (_la - 71)) & ((1 << (TSqlParser.CREATE - 71)) | (1 << (TSqlParser.CURRENT_TIMESTAMP - 71)) | (1 << (TSqlParser.CURRENT_USER - 71)) | (1 << (TSqlParser.DATA_COMPRESSION - 71)) | (1 << (TSqlParser.DBCC - 71)) | (1 << (TSqlParser.DEALLOCATE - 71)) | (1 << (TSqlParser.DECLARE - 71)) | (1 << (TSqlParser.DEFAULT - 71)) | (1 << (TSqlParser.DELETE - 71)) | (1 << (TSqlParser.DROP - 71)))) !== 0) || ((((_la - 106)) & ~0x1f) == 0 && ((1 << (_la - 106)) & ((1 << (TSqlParser.END - 106)) | (1 << (TSqlParser.EVENTDATA - 106)) | (1 << (TSqlParser.EXECUTE - 106)) | (1 << (TSqlParser.FETCH - 106)) | (1 << (TSqlParser.FILENAME - 106)) | (1 << (TSqlParser.FILLFACTOR - 106)) | (1 << (TSqlParser.FORCESEEK - 106)))) !== 0) || ((((_la - 140)) & ~0x1f) == 0 && ((1 << (_la - 140)) & ((1 << (TSqlParser.GET - 140)) | (1 << (TSqlParser.GOTO - 140)) | (1 << (TSqlParser.GRANT - 140)) | (1 << (TSqlParser.IDENTITY - 140)) | (1 << (TSqlParser.IF - 140)) | (1 << (TSqlParser.IIF - 140)) | (1 << (TSqlParser.INIT - 140)) | (1 << (TSqlParser.INSERT - 140)) | (1 << (TSqlParser.ISNULL - 140)) | (1 << (TSqlParser.KEY - 140)))) !== 0) || ((((_la - 173)) & ~0x1f) == 0 && ((1 << (_la - 173)) & ((1 << (TSqlParser.KILL - 173)) | (1 << (TSqlParser.LEFT - 173)) | (1 << (TSqlParser.MASTER - 173)) | (1 << (TSqlParser.MAX_MEMORY - 173)) | (1 << (TSqlParser.MERGE - 173)))) !== 0) || ((((_la - 221)) & ~0x1f) == 0 && ((1 << (_la - 221)) & ((1 << (TSqlParser.NULL - 221)) | (1 << (TSqlParser.NULLIF - 221)) | (1 << (TSqlParser.OFFSETS - 221)) | (1 << (TSqlParser.OPEN - 221)) | (1 << (TSqlParser.OVER - 221)) | (1 << (TSqlParser.PAGE - 221)))) !== 0) || ((((_la - 255)) & ~0x1f) == 0 && ((1 << (_la - 255)) & ((1 << (TSqlParser.PRINT - 255)) | (1 << (TSqlParser.PUBLIC - 255)) | (1 << (TSqlParser.R - 255)) | (1 << (TSqlParser.RAISERROR - 255)) | (1 << (TSqlParser.RAW - 255)) | (1 << (TSqlParser.RECONFIGURE - 255)) | (1 << (TSqlParser.RETURN - 255)) | (1 << (TSqlParser.RETURNS - 255)) | (1 << (TSqlParser.REVERT - 255)) | (1 << (TSqlParser.RIGHT - 255)) | (1 << (TSqlParser.ROLLBACK - 255)))) !== 0) || ((((_la - 288)) & ~0x1f) == 0 && ((1 << (_la - 288)) & ((1 << (TSqlParser.ROWCOUNT - 288)) | (1 << (TSqlParser.SAFETY - 288)) | (1 << (TSqlParser.SAVE - 288)) | (1 << (TSqlParser.SELECT - 288)) | (1 << (TSqlParser.SERVER - 288)) | (1 << (TSqlParser.SESSION_USER - 288)) | (1 << (TSqlParser.SET - 288)) | (1 << (TSqlParser.SETUSER - 288)) | (1 << (TSqlParser.SHUTDOWN - 288)) | (1 << (TSqlParser.SID - 288)))) !== 0) || ((((_la - 320)) & ~0x1f) == 0 && ((1 << (_la - 320)) & ((1 << (TSqlParser.SOURCE - 320)) | (1 << (TSqlParser.SPLIT - 320)) | (1 << (TSqlParser.STATE - 320)) | (1 << (TSqlParser.START - 320)) | (1 << (TSqlParser.SYSTEM_USER - 320)) | (1 << (TSqlParser.TARGET - 320)) | (1 << (TSqlParser.TRUNCATE - 320)))) !== 0) || ((((_la - 359)) & ~0x1f) == 0 && ((1 << (_la - 359)) & ((1 << (TSqlParser.UPDATE - 359)) | (1 << (TSqlParser.USE - 359)) | (1 << (TSqlParser.WAITFOR - 359)) | (1 << (TSqlParser.WHILE - 359)) | (1 << (TSqlParser.WITH - 359)) | (1 << (TSqlParser.ABSOLUTE - 359)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 359)) | (1 << (TSqlParser.ACTION - 359)) | (1 << (TSqlParser.ACTIVATION - 359)) | (1 << (TSqlParser.ACTIVE - 359)) | (1 << (TSqlParser.ADDRESS - 359)) | (1 << (TSqlParser.AES_128 - 359)) | (1 << (TSqlParser.AES_192 - 359)) | (1 << (TSqlParser.AES_256 - 359)) | (1 << (TSqlParser.AFFINITY - 359)) | (1 << (TSqlParser.AFTER - 359)))) !== 0) || ((((_la - 391)) & ~0x1f) == 0 && ((1 << (_la - 391)) & ((1 << (TSqlParser.AGGREGATE - 391)) | (1 << (TSqlParser.ALGORITHM - 391)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 391)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 391)) | (1 << (TSqlParser.ALLOWED - 391)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 391)) | (1 << (TSqlParser.ANSI_NULLS - 391)) | (1 << (TSqlParser.ANSI_PADDING - 391)) | (1 << (TSqlParser.ANSI_WARNINGS - 391)) | (1 << (TSqlParser.APPLICATION_LOG - 391)) | (1 << (TSqlParser.APPLY - 391)) | (1 << (TSqlParser.ARITHABORT - 391)) | (1 << (TSqlParser.ASSEMBLY - 391)) | (1 << (TSqlParser.AUDIT - 391)) | (1 << (TSqlParser.AUDIT_GUID - 391)) | (1 << (TSqlParser.AUTO - 391)) | (1 << (TSqlParser.AUTO_CLEANUP - 391)) | (1 << (TSqlParser.AUTO_CLOSE - 391)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 391)) | (1 << (TSqlParser.AUTO_SHRINK - 391)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 391)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 391)) | (1 << (TSqlParser.AVAILABILITY - 391)) | (1 << (TSqlParser.AVG - 391)) | (1 << (TSqlParser.BACKUP_PRIORITY - 391)) | (1 << (TSqlParser.BEGIN_DIALOG - 391)) | (1 << (TSqlParser.BIGINT - 391)) | (1 << (TSqlParser.BINARY_BASE64 - 391)) | (1 << (TSqlParser.BINARY_CHECKSUM - 391)) | (1 << (TSqlParser.BINDING - 391)) | (1 << (TSqlParser.BLOB_STORAGE - 391)) | (1 << (TSqlParser.BROKER - 391)))) !== 0) || ((((_la - 423)) & ~0x1f) == 0 && ((1 << (_la - 423)) & ((1 << (TSqlParser.BROKER_INSTANCE - 423)) | (1 << (TSqlParser.BULK_LOGGED - 423)) | (1 << (TSqlParser.CALLER - 423)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 423)) | (1 << (TSqlParser.CAST - 423)) | (1 << (TSqlParser.CATALOG - 423)) | (1 << (TSqlParser.CATCH - 423)) | (1 << (TSqlParser.CHANGE_RETENTION - 423)) | (1 << (TSqlParser.CHANGE_TRACKING - 423)) | (1 << (TSqlParser.CHECKSUM - 423)) | (1 << (TSqlParser.CHECKSUM_AGG - 423)) | (1 << (TSqlParser.CLEANUP - 423)) | (1 << (TSqlParser.COLLECTION - 423)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 423)) | (1 << (TSqlParser.COMMITTED - 423)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 423)) | (1 << (TSqlParser.CONCAT - 423)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 423)) | (1 << (TSqlParser.CONTENT - 423)) | (1 << (TSqlParser.CONTROL - 423)) | (1 << (TSqlParser.COOKIE - 423)) | (1 << (TSqlParser.COUNT - 423)) | (1 << (TSqlParser.COUNT_BIG - 423)) | (1 << (TSqlParser.COUNTER - 423)) | (1 << (TSqlParser.CPU - 423)) | (1 << (TSqlParser.CREATE_NEW - 423)) | (1 << (TSqlParser.CREATION_DISPOSITION - 423)) | (1 << (TSqlParser.CREDENTIAL - 423)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 423)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 423)) | (1 << (TSqlParser.CURSOR_DEFAULT - 423)) | (1 << (TSqlParser.DATA - 423)))) !== 0) || ((((_la - 455)) & ~0x1f) == 0 && ((1 << (_la - 455)) & ((1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 455)) | (1 << (TSqlParser.DATEADD - 455)) | (1 << (TSqlParser.DATEDIFF - 455)) | (1 << (TSqlParser.DATENAME - 455)) | (1 << (TSqlParser.DATEPART - 455)) | (1 << (TSqlParser.DAYS - 455)) | (1 << (TSqlParser.DB_CHAINING - 455)) | (1 << (TSqlParser.DB_FAILOVER - 455)) | (1 << (TSqlParser.DECRYPTION - 455)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 455)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 455)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 455)) | (1 << (TSqlParser.DELAY - 455)) | (1 << (TSqlParser.DELAYED_DURABILITY - 455)) | (1 << (TSqlParser.DELETED - 455)) | (1 << (TSqlParser.DENSE_RANK - 455)) | (1 << (TSqlParser.DEPENDENTS - 455)) | (1 << (TSqlParser.DES - 455)) | (1 << (TSqlParser.DESCRIPTION - 455)) | (1 << (TSqlParser.DESX - 455)) | (1 << (TSqlParser.DHCP - 455)) | (1 << (TSqlParser.DIALOG - 455)) | (1 << (TSqlParser.DIRECTORY_NAME - 455)) | (1 << (TSqlParser.DISABLE - 455)) | (1 << (TSqlParser.DISABLE_BROKER - 455)) | (1 << (TSqlParser.DISABLED - 455)) | (1 << (TSqlParser.DISK_DRIVE - 455)) | (1 << (TSqlParser.DOCUMENT - 455)) | (1 << (TSqlParser.DYNAMIC - 455)) | (1 << (TSqlParser.EMERGENCY - 455)) | (1 << (TSqlParser.EMPTY - 455)))) !== 0) || ((((_la - 487)) & ~0x1f) == 0 && ((1 << (_la - 487)) & ((1 << (TSqlParser.ENABLE - 487)) | (1 << (TSqlParser.ENABLE_BROKER - 487)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 487)) | (1 << (TSqlParser.ENCRYPTION - 487)) | (1 << (TSqlParser.ENDPOINT_URL - 487)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 487)) | (1 << (TSqlParser.EXCLUSIVE - 487)) | (1 << (TSqlParser.EXECUTABLE - 487)) | (1 << (TSqlParser.EXIST - 487)) | (1 << (TSqlParser.EXPAND - 487)) | (1 << (TSqlParser.EXPIRY_DATE - 487)) | (1 << (TSqlParser.EXPLICIT - 487)) | (1 << (TSqlParser.FAIL_OPERATION - 487)) | (1 << (TSqlParser.FAILOVER_MODE - 487)) | (1 << (TSqlParser.FAILURE - 487)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 487)) | (1 << (TSqlParser.FAST - 487)) | (1 << (TSqlParser.FAST_FORWARD - 487)) | (1 << (TSqlParser.FILEGROUP - 487)) | (1 << (TSqlParser.FILEGROWTH - 487)) | (1 << (TSqlParser.FILEPATH - 487)) | (1 << (TSqlParser.FILESTREAM - 487)) | (1 << (TSqlParser.FILTER - 487)) | (1 << (TSqlParser.FIRST - 487)) | (1 << (TSqlParser.FIRST_VALUE - 487)) | (1 << (TSqlParser.FOLLOWING - 487)) | (1 << (TSqlParser.FORCE - 487)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 487)) | (1 << (TSqlParser.FORCED - 487)) | (1 << (TSqlParser.FORMAT - 487)) | (1 << (TSqlParser.FORWARD_ONLY - 487)) | (1 << (TSqlParser.FULLSCAN - 487)))) !== 0) || ((((_la - 519)) & ~0x1f) == 0 && ((1 << (_la - 519)) & ((1 << (TSqlParser.FULLTEXT - 519)) | (1 << (TSqlParser.GB - 519)) | (1 << (TSqlParser.GETDATE - 519)) | (1 << (TSqlParser.GETUTCDATE - 519)) | (1 << (TSqlParser.GLOBAL - 519)) | (1 << (TSqlParser.GO - 519)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 519)) | (1 << (TSqlParser.GROUPING - 519)) | (1 << (TSqlParser.GROUPING_ID - 519)) | (1 << (TSqlParser.HADR - 519)) | (1 << (TSqlParser.HASH - 519)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 519)) | (1 << (TSqlParser.HIGH - 519)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 519)) | (1 << (TSqlParser.HOURS - 519)) | (1 << (TSqlParser.IDENTITY_VALUE - 519)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 519)) | (1 << (TSqlParser.IMMEDIATE - 519)) | (1 << (TSqlParser.IMPERSONATE - 519)) | (1 << (TSqlParser.IMPORTANCE - 519)) | (1 << (TSqlParser.INCREMENTAL - 519)) | (1 << (TSqlParser.INITIATOR - 519)) | (1 << (TSqlParser.INPUT - 519)) | (1 << (TSqlParser.INSENSITIVE - 519)) | (1 << (TSqlParser.INSERTED - 519)) | (1 << (TSqlParser.INT - 519)) | (1 << (TSqlParser.IP - 519)) | (1 << (TSqlParser.ISOLATION - 519)) | (1 << (TSqlParser.KB - 519)))) !== 0) || ((((_la - 551)) & ~0x1f) == 0 && ((1 << (_la - 551)) & ((1 << (TSqlParser.KEEP - 551)) | (1 << (TSqlParser.KEEPFIXED - 551)) | (1 << (TSqlParser.KEY_SOURCE - 551)) | (1 << (TSqlParser.KEYS - 551)) | (1 << (TSqlParser.KEYSET - 551)) | (1 << (TSqlParser.LAG - 551)) | (1 << (TSqlParser.LAST - 551)) | (1 << (TSqlParser.LAST_VALUE - 551)) | (1 << (TSqlParser.LEAD - 551)) | (1 << (TSqlParser.LEVEL - 551)) | (1 << (TSqlParser.LIST - 551)) | (1 << (TSqlParser.LISTENER - 551)) | (1 << (TSqlParser.LISTENER_URL - 551)) | (1 << (TSqlParser.LOB_COMPACTION - 551)) | (1 << (TSqlParser.LOCAL - 551)) | (1 << (TSqlParser.LOCATION - 551)) | (1 << (TSqlParser.LOCK - 551)) | (1 << (TSqlParser.LOCK_ESCALATION - 551)) | (1 << (TSqlParser.LOGIN - 551)) | (1 << (TSqlParser.LOOP - 551)) | (1 << (TSqlParser.LOW - 551)) | (1 << (TSqlParser.MANUAL - 551)) | (1 << (TSqlParser.MARK - 551)) | (1 << (TSqlParser.MATERIALIZED - 551)) | (1 << (TSqlParser.MAX - 551)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 551)) | (1 << (TSqlParser.MAX_DOP - 551)) | (1 << (TSqlParser.MAX_FILES - 551)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 551)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 551)) | (1 << (TSqlParser.MAX_PROCESSES - 551)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 551)))) !== 0) || ((((_la - 583)) & ~0x1f) == 0 && ((1 << (_la - 583)) & ((1 << (TSqlParser.MAX_ROLLOVER_FILES - 583)) | (1 << (TSqlParser.MAXDOP - 583)) | (1 << (TSqlParser.MAXRECURSION - 583)) | (1 << (TSqlParser.MAXSIZE - 583)) | (1 << (TSqlParser.MB - 583)) | (1 << (TSqlParser.MEDIUM - 583)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 583)) | (1 << (TSqlParser.MESSAGE - 583)) | (1 << (TSqlParser.MIN - 583)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 583)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 583)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 583)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 583)) | (1 << (TSqlParser.MINUTES - 583)) | (1 << (TSqlParser.MIRROR_ADDRESS - 583)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 583)) | (1 << (TSqlParser.MODE - 583)) | (1 << (TSqlParser.MODIFY - 583)) | (1 << (TSqlParser.MOVE - 583)) | (1 << (TSqlParser.MULTI_USER - 583)) | (1 << (TSqlParser.NAME - 583)) | (1 << (TSqlParser.NESTED_TRIGGERS - 583)) | (1 << (TSqlParser.NEW_ACCOUNT - 583)) | (1 << (TSqlParser.NEW_BROKER - 583)) | (1 << (TSqlParser.NEW_PASSWORD - 583)) | (1 << (TSqlParser.NEXT - 583)) | (1 << (TSqlParser.NO - 583)) | (1 << (TSqlParser.NO_TRUNCATE - 583)) | (1 << (TSqlParser.NO_WAIT - 583)) | (1 << (TSqlParser.NOCOUNT - 583)) | (1 << (TSqlParser.NODES - 583)) | (1 << (TSqlParser.NOEXPAND - 583)))) !== 0) || ((((_la - 615)) & ~0x1f) == 0 && ((1 << (_la - 615)) & ((1 << (TSqlParser.NON_TRANSACTED_ACCESS - 615)) | (1 << (TSqlParser.NORECOMPUTE - 615)) | (1 << (TSqlParser.NORECOVERY - 615)) | (1 << (TSqlParser.NOWAIT - 615)) | (1 << (TSqlParser.NTILE - 615)) | (1 << (TSqlParser.NUMANODE - 615)) | (1 << (TSqlParser.NUMBER - 615)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 615)) | (1 << (TSqlParser.OBJECT - 615)) | (1 << (TSqlParser.OFFLINE - 615)) | (1 << (TSqlParser.OFFSET - 615)) | (1 << (TSqlParser.OLD_ACCOUNT - 615)) | (1 << (TSqlParser.ONLINE - 615)) | (1 << (TSqlParser.ONLY - 615)) | (1 << (TSqlParser.OPEN_EXISTING - 615)) | (1 << (TSqlParser.OPTIMISTIC - 615)) | (1 << (TSqlParser.OPTIMIZE - 615)) | (1 << (TSqlParser.OUT - 615)) | (1 << (TSqlParser.OUTPUT - 615)) | (1 << (TSqlParser.OWNER - 615)) | (1 << (TSqlParser.PAGE_VERIFY - 615)) | (1 << (TSqlParser.PARAMETERIZATION - 615)) | (1 << (TSqlParser.PARTITION - 615)) | (1 << (TSqlParser.PARTITIONS - 615)) | (1 << (TSqlParser.PARTNER - 615)) | (1 << (TSqlParser.PATH - 615)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 615)) | (1 << (TSqlParser.POOL - 615)) | (1 << (TSqlParser.PORT - 615)) | (1 << (TSqlParser.PRECEDING - 615)) | (1 << (TSqlParser.PRIMARY_ROLE - 615)))) !== 0) || ((((_la - 647)) & ~0x1f) == 0 && ((1 << (_la - 647)) & ((1 << (TSqlParser.PRIOR - 647)) | (1 << (TSqlParser.PRIORITY - 647)) | (1 << (TSqlParser.PRIORITY_LEVEL - 647)) | (1 << (TSqlParser.PRIVATE - 647)) | (1 << (TSqlParser.PRIVATE_KEY - 647)) | (1 << (TSqlParser.PRIVILEGES - 647)) | (1 << (TSqlParser.PROCEDURE_NAME - 647)) | (1 << (TSqlParser.PROPERTY - 647)) | (1 << (TSqlParser.PROVIDER - 647)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 647)) | (1 << (TSqlParser.QUERY - 647)) | (1 << (TSqlParser.QUEUE - 647)) | (1 << (TSqlParser.QUEUE_DELAY - 647)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 647)) | (1 << (TSqlParser.RANGE - 647)) | (1 << (TSqlParser.RANK - 647)) | (1 << (TSqlParser.RC2 - 647)) | (1 << (TSqlParser.RC4 - 647)) | (1 << (TSqlParser.RC4_128 - 647)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 647)) | (1 << (TSqlParser.READ_ONLY - 647)) | (1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 647)) | (1 << (TSqlParser.READ_WRITE - 647)) | (1 << (TSqlParser.READONLY - 647)) | (1 << (TSqlParser.REBUILD - 647)) | (1 << (TSqlParser.RECEIVE - 647)) | (1 << (TSqlParser.RECOMPILE - 647)) | (1 << (TSqlParser.RECOVERY - 647)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 647)) | (1 << (TSqlParser.RELATIVE - 647)) | (1 << (TSqlParser.REMOTE - 647)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 647)))) !== 0) || ((((_la - 679)) & ~0x1f) == 0 && ((1 << (_la - 679)) & ((1 << (TSqlParser.REMOVE - 679)) | (1 << (TSqlParser.REORGANIZE - 679)) | (1 << (TSqlParser.REPEATABLE - 679)) | (1 << (TSqlParser.REPLICA - 679)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 679)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 679)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 679)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 679)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 679)) | (1 << (TSqlParser.RESOURCE - 679)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 679)) | (1 << (TSqlParser.RESTRICTED_USER - 679)) | (1 << (TSqlParser.RETENTION - 679)) | (1 << (TSqlParser.ROBUST - 679)) | (1 << (TSqlParser.ROOT - 679)) | (1 << (TSqlParser.ROUTE - 679)) | (1 << (TSqlParser.ROW - 679)) | (1 << (TSqlParser.ROW_NUMBER - 679)) | (1 << (TSqlParser.ROWGUID - 679)) | (1 << (TSqlParser.ROWS - 679)) | (1 << (TSqlParser.SAMPLE - 679)) | (1 << (TSqlParser.SCHEMABINDING - 679)) | (1 << (TSqlParser.SCOPED - 679)) | (1 << (TSqlParser.SCROLL - 679)) | (1 << (TSqlParser.SCROLL_LOCKS - 679)) | (1 << (TSqlParser.SEARCH - 679)) | (1 << (TSqlParser.SECONDARY - 679)) | (1 << (TSqlParser.SECONDARY_ONLY - 679)) | (1 << (TSqlParser.SECONDARY_ROLE - 679)) | (1 << (TSqlParser.SECONDS - 679)) | (1 << (TSqlParser.SECRET - 679)) | (1 << (TSqlParser.SECURITY - 679)))) !== 0) || ((((_la - 711)) & ~0x1f) == 0 && ((1 << (_la - 711)) & ((1 << (TSqlParser.SECURITY_LOG - 711)) | (1 << (TSqlParser.SEEDING_MODE - 711)) | (1 << (TSqlParser.SELF - 711)) | (1 << (TSqlParser.SEMI_SENSITIVE - 711)) | (1 << (TSqlParser.SEND - 711)) | (1 << (TSqlParser.SENT - 711)) | (1 << (TSqlParser.SEQUENCE - 711)) | (1 << (TSqlParser.SERIALIZABLE - 711)) | (1 << (TSqlParser.SESSION_TIMEOUT - 711)) | (1 << (TSqlParser.SETERROR - 711)) | (1 << (TSqlParser.SHARE - 711)) | (1 << (TSqlParser.SHOWPLAN - 711)) | (1 << (TSqlParser.SIGNATURE - 711)) | (1 << (TSqlParser.SIMPLE - 711)) | (1 << (TSqlParser.SINGLE_USER - 711)) | (1 << (TSqlParser.SIZE - 711)) | (1 << (TSqlParser.SMALLINT - 711)) | (1 << (TSqlParser.SNAPSHOT - 711)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 711)) | (1 << (TSqlParser.STANDBY - 711)) | (1 << (TSqlParser.START_DATE - 711)) | (1 << (TSqlParser.STATIC - 711)) | (1 << (TSqlParser.STATS_STREAM - 711)) | (1 << (TSqlParser.STATUS - 711)) | (1 << (TSqlParser.STDEV - 711)) | (1 << (TSqlParser.STDEVP - 711)) | (1 << (TSqlParser.STOPLIST - 711)) | (1 << (TSqlParser.STRING_AGG - 711)) | (1 << (TSqlParser.STUFF - 711)) | (1 << (TSqlParser.SUBJECT - 711)))) !== 0) || ((((_la - 743)) & ~0x1f) == 0 && ((1 << (_la - 743)) & ((1 << (TSqlParser.SUM - 743)) | (1 << (TSqlParser.SUSPEND - 743)) | (1 << (TSqlParser.SYMMETRIC - 743)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 743)) | (1 << (TSqlParser.SYNONYM - 743)) | (1 << (TSqlParser.SYSTEM - 743)) | (1 << (TSqlParser.TAKE - 743)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 743)) | (1 << (TSqlParser.TB - 743)) | (1 << (TSqlParser.TEXTIMAGE_ON - 743)) | (1 << (TSqlParser.THROW - 743)) | (1 << (TSqlParser.TIES - 743)) | (1 << (TSqlParser.TIME - 743)) | (1 << (TSqlParser.TIMEOUT - 743)) | (1 << (TSqlParser.TIMER - 743)) | (1 << (TSqlParser.TINYINT - 743)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 743)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 743)) | (1 << (TSqlParser.TRIPLE_DES - 743)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 743)) | (1 << (TSqlParser.TRUSTWORTHY - 743)) | (1 << (TSqlParser.TRY - 743)) | (1 << (TSqlParser.TSQL - 743)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 743)) | (1 << (TSqlParser.TYPE - 743)) | (1 << (TSqlParser.TYPE_WARNING - 743)) | (1 << (TSqlParser.UNBOUNDED - 743)) | (1 << (TSqlParser.UNCOMMITTED - 743)) | (1 << (TSqlParser.UNKNOWN - 743)) | (1 << (TSqlParser.UNLIMITED - 743)) | (1 << (TSqlParser.USING - 743)))) !== 0) || ((((_la - 775)) & ~0x1f) == 0 && ((1 << (_la - 775)) & ((1 << (TSqlParser.VALID_XML - 775)) | (1 << (TSqlParser.VALIDATION - 775)) | (1 << (TSqlParser.VALUE - 775)) | (1 << (TSqlParser.VAR - 775)) | (1 << (TSqlParser.VARP - 775)) | (1 << (TSqlParser.VIEW_METADATA - 775)) | (1 << (TSqlParser.VIEWS - 775)) | (1 << (TSqlParser.WAIT - 775)) | (1 << (TSqlParser.WELL_FORMED_XML - 775)) | (1 << (TSqlParser.WORK - 775)) | (1 << (TSqlParser.WORKLOAD - 775)) | (1 << (TSqlParser.XML - 775)) | (1 << (TSqlParser.XMLNAMESPACES - 775)) | (1 << (TSqlParser.DOUBLE_QUOTE_ID - 775)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 775)) | (1 << (TSqlParser.LOCAL_ID - 775)) | (1 << (TSqlParser.DECIMAL - 775)) | (1 << (TSqlParser.ID - 775)) | (1 << (TSqlParser.STRING - 775)) | (1 << (TSqlParser.BINARY - 775)) | (1 << (TSqlParser.FLOAT - 775)))) !== 0) || ((((_la - 807)) & ~0x1f) == 0 && ((1 << (_la - 807)) & ((1 << (TSqlParser.REAL - 807)) | (1 << (TSqlParser.DOLLAR - 807)) | (1 << (TSqlParser.LR_BRACKET - 807)) | (1 << (TSqlParser.SEMI - 807)) | (1 << (TSqlParser.PLUS - 807)) | (1 << (TSqlParser.MINUS - 807)) | (1 << (TSqlParser.BIT_NOT - 807)))) !== 0)) { - this.state = 974; - this.batch(); - this.state = 979; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 980; - this.match(TSqlParser.EOF); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function BatchContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_batch; - return this; -} - -BatchContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -BatchContext.prototype.constructor = BatchContext; - -BatchContext.prototype.execute_body = function() { - return this.getTypedRuleContext(Execute_bodyContext,0); -}; - -BatchContext.prototype.go_statement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Go_statementContext); - } else { - return this.getTypedRuleContext(Go_statementContext,i); - } -}; - -BatchContext.prototype.sql_clauses = function() { - return this.getTypedRuleContext(Sql_clausesContext,0); -}; - -BatchContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBatch(this); - } -}; - -BatchContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBatch(this); - } -}; - -BatchContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBatch(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.BatchContext = BatchContext; - -TSqlParser.prototype.batch = function() { - - var localctx = new BatchContext(this, this._ctx, this.state); - this.enterRule(localctx, 2, TSqlParser.RULE_batch); - try { - this.state = 999; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,4,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 982; - this.execute_body(); - this.state = 986; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 983; - this.go_statement(); - } - this.state = 988; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1,this._ctx); - } - - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 990; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,2,this._ctx); - if(la_===1) { - this.state = 989; - this.execute_body(); - - } - this.state = 992; - this.sql_clauses(); - this.state = 996; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,3,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 993; - this.go_statement(); - } - this.state = 998; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,3,this._ctx); - } - - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Sql_clausesContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_sql_clauses; - return this; -} - -Sql_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Sql_clausesContext.prototype.constructor = Sql_clausesContext; - -Sql_clausesContext.prototype.sql_clause = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Sql_clauseContext); - } else { - return this.getTypedRuleContext(Sql_clauseContext,i); - } -}; - -Sql_clausesContext.prototype.SEMI = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SEMI); - } else { - return this.getToken(TSqlParser.SEMI, i); - } -}; - - -Sql_clausesContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSql_clauses(this); - } -}; - -Sql_clausesContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSql_clauses(this); - } -}; - -Sql_clausesContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSql_clauses(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Sql_clausesContext = Sql_clausesContext; - -TSqlParser.prototype.sql_clauses = function() { - - var localctx = new Sql_clausesContext(this, this._ctx, this.state); - this.enterRule(localctx, 4, TSqlParser.RULE_sql_clauses); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1005; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 1001; - this.sql_clause(); - this.state = 1003; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,5,this._ctx); - if(la_===1) { - this.state = 1002; - this.match(TSqlParser.SEMI); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1007; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,6, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Sql_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_sql_clause; - return this; -} - -Sql_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Sql_clauseContext.prototype.constructor = Sql_clauseContext; - -Sql_clauseContext.prototype.dml_clause = function() { - return this.getTypedRuleContext(Dml_clauseContext,0); -}; - -Sql_clauseContext.prototype.ddl_clause = function() { - return this.getTypedRuleContext(Ddl_clauseContext,0); -}; - -Sql_clauseContext.prototype.cfl_statement = function() { - return this.getTypedRuleContext(Cfl_statementContext,0); -}; - -Sql_clauseContext.prototype.dbcc_clause = function() { - return this.getTypedRuleContext(Dbcc_clauseContext,0); -}; - -Sql_clauseContext.prototype.empty_statement = function() { - return this.getTypedRuleContext(Empty_statementContext,0); -}; - -Sql_clauseContext.prototype.another_statement = function() { - return this.getTypedRuleContext(Another_statementContext,0); -}; - -Sql_clauseContext.prototype.backup_statement = function() { - return this.getTypedRuleContext(Backup_statementContext,0); -}; - -Sql_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSql_clause(this); - } -}; - -Sql_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSql_clause(this); - } -}; - -Sql_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSql_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Sql_clauseContext = Sql_clauseContext; - -TSqlParser.prototype.sql_clause = function() { - - var localctx = new Sql_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 6, TSqlParser.RULE_sql_clause); - try { - this.state = 1016; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,7,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1009; - this.dml_clause(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1010; - this.ddl_clause(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1011; - this.cfl_statement(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1012; - this.dbcc_clause(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1013; - this.empty_statement(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 1014; - this.another_statement(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 1015; - this.backup_statement(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Dml_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_dml_clause; - return this; -} - -Dml_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Dml_clauseContext.prototype.constructor = Dml_clauseContext; - -Dml_clauseContext.prototype.merge_statement = function() { - return this.getTypedRuleContext(Merge_statementContext,0); -}; - -Dml_clauseContext.prototype.delete_statement = function() { - return this.getTypedRuleContext(Delete_statementContext,0); -}; - -Dml_clauseContext.prototype.insert_statement = function() { - return this.getTypedRuleContext(Insert_statementContext,0); -}; - -Dml_clauseContext.prototype.select_statement = function() { - return this.getTypedRuleContext(Select_statementContext,0); -}; - -Dml_clauseContext.prototype.update_statement = function() { - return this.getTypedRuleContext(Update_statementContext,0); -}; - -Dml_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDml_clause(this); - } -}; - -Dml_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDml_clause(this); - } -}; - -Dml_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDml_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Dml_clauseContext = Dml_clauseContext; - -TSqlParser.prototype.dml_clause = function() { - - var localctx = new Dml_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 8, TSqlParser.RULE_dml_clause); - try { - this.state = 1023; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,8,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1018; - this.merge_statement(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1019; - this.delete_statement(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1020; - this.insert_statement(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1021; - this.select_statement(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1022; - this.update_statement(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Ddl_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_ddl_clause; - return this; -} - -Ddl_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Ddl_clauseContext.prototype.constructor = Ddl_clauseContext; - -Ddl_clauseContext.prototype.alter_application_role = function() { - return this.getTypedRuleContext(Alter_application_roleContext,0); -}; - -Ddl_clauseContext.prototype.alter_assembly = function() { - return this.getTypedRuleContext(Alter_assemblyContext,0); -}; - -Ddl_clauseContext.prototype.alter_asymmetric_key = function() { - return this.getTypedRuleContext(Alter_asymmetric_keyContext,0); -}; - -Ddl_clauseContext.prototype.alter_authorization = function() { - return this.getTypedRuleContext(Alter_authorizationContext,0); -}; - -Ddl_clauseContext.prototype.alter_authorization_for_azure_dw = function() { - return this.getTypedRuleContext(Alter_authorization_for_azure_dwContext,0); -}; - -Ddl_clauseContext.prototype.alter_authorization_for_parallel_dw = function() { - return this.getTypedRuleContext(Alter_authorization_for_parallel_dwContext,0); -}; - -Ddl_clauseContext.prototype.alter_authorization_for_sql_database = function() { - return this.getTypedRuleContext(Alter_authorization_for_sql_databaseContext,0); -}; - -Ddl_clauseContext.prototype.alter_availability_group = function() { - return this.getTypedRuleContext(Alter_availability_groupContext,0); -}; - -Ddl_clauseContext.prototype.alter_certificate = function() { - return this.getTypedRuleContext(Alter_certificateContext,0); -}; - -Ddl_clauseContext.prototype.alter_column_encryption_key = function() { - return this.getTypedRuleContext(Alter_column_encryption_keyContext,0); -}; - -Ddl_clauseContext.prototype.alter_credential = function() { - return this.getTypedRuleContext(Alter_credentialContext,0); -}; - -Ddl_clauseContext.prototype.alter_cryptographic_provider = function() { - return this.getTypedRuleContext(Alter_cryptographic_providerContext,0); -}; - -Ddl_clauseContext.prototype.alter_database = function() { - return this.getTypedRuleContext(Alter_databaseContext,0); -}; - -Ddl_clauseContext.prototype.alter_db_role = function() { - return this.getTypedRuleContext(Alter_db_roleContext,0); -}; - -Ddl_clauseContext.prototype.alter_endpoint = function() { - return this.getTypedRuleContext(Alter_endpointContext,0); -}; - -Ddl_clauseContext.prototype.create_or_alter_event_session = function() { - return this.getTypedRuleContext(Create_or_alter_event_sessionContext,0); -}; - -Ddl_clauseContext.prototype.alter_external_data_source = function() { - return this.getTypedRuleContext(Alter_external_data_sourceContext,0); -}; - -Ddl_clauseContext.prototype.alter_external_library = function() { - return this.getTypedRuleContext(Alter_external_libraryContext,0); -}; - -Ddl_clauseContext.prototype.alter_external_resource_pool = function() { - return this.getTypedRuleContext(Alter_external_resource_poolContext,0); -}; - -Ddl_clauseContext.prototype.alter_fulltext_catalog = function() { - return this.getTypedRuleContext(Alter_fulltext_catalogContext,0); -}; - -Ddl_clauseContext.prototype.alter_fulltext_stoplist = function() { - return this.getTypedRuleContext(Alter_fulltext_stoplistContext,0); -}; - -Ddl_clauseContext.prototype.alter_login_azure_sql = function() { - return this.getTypedRuleContext(Alter_login_azure_sqlContext,0); -}; - -Ddl_clauseContext.prototype.alter_login_azure_sql_dw_and_pdw = function() { - return this.getTypedRuleContext(Alter_login_azure_sql_dw_and_pdwContext,0); -}; - -Ddl_clauseContext.prototype.alter_login_sql_server = function() { - return this.getTypedRuleContext(Alter_login_sql_serverContext,0); -}; - -Ddl_clauseContext.prototype.alter_master_key_azure_sql = function() { - return this.getTypedRuleContext(Alter_master_key_azure_sqlContext,0); -}; - -Ddl_clauseContext.prototype.alter_master_key_sql_server = function() { - return this.getTypedRuleContext(Alter_master_key_sql_serverContext,0); -}; - -Ddl_clauseContext.prototype.alter_message_type = function() { - return this.getTypedRuleContext(Alter_message_typeContext,0); -}; - -Ddl_clauseContext.prototype.alter_partition_function = function() { - return this.getTypedRuleContext(Alter_partition_functionContext,0); -}; - -Ddl_clauseContext.prototype.alter_partition_scheme = function() { - return this.getTypedRuleContext(Alter_partition_schemeContext,0); -}; - -Ddl_clauseContext.prototype.alter_remote_service_binding = function() { - return this.getTypedRuleContext(Alter_remote_service_bindingContext,0); -}; - -Ddl_clauseContext.prototype.alter_resource_governor = function() { - return this.getTypedRuleContext(Alter_resource_governorContext,0); -}; - -Ddl_clauseContext.prototype.alter_schema_azure_sql_dw_and_pdw = function() { - return this.getTypedRuleContext(Alter_schema_azure_sql_dw_and_pdwContext,0); -}; - -Ddl_clauseContext.prototype.alter_schema_sql = function() { - return this.getTypedRuleContext(Alter_schema_sqlContext,0); -}; - -Ddl_clauseContext.prototype.alter_sequence = function() { - return this.getTypedRuleContext(Alter_sequenceContext,0); -}; - -Ddl_clauseContext.prototype.alter_server_audit = function() { - return this.getTypedRuleContext(Alter_server_auditContext,0); -}; - -Ddl_clauseContext.prototype.alter_server_audit_specification = function() { - return this.getTypedRuleContext(Alter_server_audit_specificationContext,0); -}; - -Ddl_clauseContext.prototype.alter_server_configuration = function() { - return this.getTypedRuleContext(Alter_server_configurationContext,0); -}; - -Ddl_clauseContext.prototype.alter_server_role = function() { - return this.getTypedRuleContext(Alter_server_roleContext,0); -}; - -Ddl_clauseContext.prototype.alter_server_role_pdw = function() { - return this.getTypedRuleContext(Alter_server_role_pdwContext,0); -}; - -Ddl_clauseContext.prototype.alter_service = function() { - return this.getTypedRuleContext(Alter_serviceContext,0); -}; - -Ddl_clauseContext.prototype.alter_service_master_key = function() { - return this.getTypedRuleContext(Alter_service_master_keyContext,0); -}; - -Ddl_clauseContext.prototype.alter_symmetric_key = function() { - return this.getTypedRuleContext(Alter_symmetric_keyContext,0); -}; - -Ddl_clauseContext.prototype.alter_table = function() { - return this.getTypedRuleContext(Alter_tableContext,0); -}; - -Ddl_clauseContext.prototype.alter_user = function() { - return this.getTypedRuleContext(Alter_userContext,0); -}; - -Ddl_clauseContext.prototype.alter_user_azure_sql = function() { - return this.getTypedRuleContext(Alter_user_azure_sqlContext,0); -}; - -Ddl_clauseContext.prototype.alter_workload_group = function() { - return this.getTypedRuleContext(Alter_workload_groupContext,0); -}; - -Ddl_clauseContext.prototype.create_application_role = function() { - return this.getTypedRuleContext(Create_application_roleContext,0); -}; - -Ddl_clauseContext.prototype.create_assembly = function() { - return this.getTypedRuleContext(Create_assemblyContext,0); -}; - -Ddl_clauseContext.prototype.create_asymmetric_key = function() { - return this.getTypedRuleContext(Create_asymmetric_keyContext,0); -}; - -Ddl_clauseContext.prototype.create_column_encryption_key = function() { - return this.getTypedRuleContext(Create_column_encryption_keyContext,0); -}; - -Ddl_clauseContext.prototype.create_column_master_key = function() { - return this.getTypedRuleContext(Create_column_master_keyContext,0); -}; - -Ddl_clauseContext.prototype.create_credential = function() { - return this.getTypedRuleContext(Create_credentialContext,0); -}; - -Ddl_clauseContext.prototype.create_cryptographic_provider = function() { - return this.getTypedRuleContext(Create_cryptographic_providerContext,0); -}; - -Ddl_clauseContext.prototype.create_database = function() { - return this.getTypedRuleContext(Create_databaseContext,0); -}; - -Ddl_clauseContext.prototype.create_db_role = function() { - return this.getTypedRuleContext(Create_db_roleContext,0); -}; - -Ddl_clauseContext.prototype.create_event_notification = function() { - return this.getTypedRuleContext(Create_event_notificationContext,0); -}; - -Ddl_clauseContext.prototype.create_external_library = function() { - return this.getTypedRuleContext(Create_external_libraryContext,0); -}; - -Ddl_clauseContext.prototype.create_external_resource_pool = function() { - return this.getTypedRuleContext(Create_external_resource_poolContext,0); -}; - -Ddl_clauseContext.prototype.create_fulltext_catalog = function() { - return this.getTypedRuleContext(Create_fulltext_catalogContext,0); -}; - -Ddl_clauseContext.prototype.create_fulltext_stoplist = function() { - return this.getTypedRuleContext(Create_fulltext_stoplistContext,0); -}; - -Ddl_clauseContext.prototype.create_index = function() { - return this.getTypedRuleContext(Create_indexContext,0); -}; - -Ddl_clauseContext.prototype.create_login_azure_sql = function() { - return this.getTypedRuleContext(Create_login_azure_sqlContext,0); -}; - -Ddl_clauseContext.prototype.create_login_pdw = function() { - return this.getTypedRuleContext(Create_login_pdwContext,0); -}; - -Ddl_clauseContext.prototype.create_login_sql_server = function() { - return this.getTypedRuleContext(Create_login_sql_serverContext,0); -}; - -Ddl_clauseContext.prototype.create_master_key_azure_sql = function() { - return this.getTypedRuleContext(Create_master_key_azure_sqlContext,0); -}; - -Ddl_clauseContext.prototype.create_master_key_sql_server = function() { - return this.getTypedRuleContext(Create_master_key_sql_serverContext,0); -}; - -Ddl_clauseContext.prototype.create_or_alter_broker_priority = function() { - return this.getTypedRuleContext(Create_or_alter_broker_priorityContext,0); -}; - -Ddl_clauseContext.prototype.create_or_alter_function = function() { - return this.getTypedRuleContext(Create_or_alter_functionContext,0); -}; - -Ddl_clauseContext.prototype.create_or_alter_procedure = function() { - return this.getTypedRuleContext(Create_or_alter_procedureContext,0); -}; - -Ddl_clauseContext.prototype.create_or_alter_trigger = function() { - return this.getTypedRuleContext(Create_or_alter_triggerContext,0); -}; - -Ddl_clauseContext.prototype.create_remote_service_binding = function() { - return this.getTypedRuleContext(Create_remote_service_bindingContext,0); -}; - -Ddl_clauseContext.prototype.create_resource_pool = function() { - return this.getTypedRuleContext(Create_resource_poolContext,0); -}; - -Ddl_clauseContext.prototype.create_route = function() { - return this.getTypedRuleContext(Create_routeContext,0); -}; - -Ddl_clauseContext.prototype.create_rule = function() { - return this.getTypedRuleContext(Create_ruleContext,0); -}; - -Ddl_clauseContext.prototype.create_schema = function() { - return this.getTypedRuleContext(Create_schemaContext,0); -}; - -Ddl_clauseContext.prototype.create_schema_azure_sql_dw_and_pdw = function() { - return this.getTypedRuleContext(Create_schema_azure_sql_dw_and_pdwContext,0); -}; - -Ddl_clauseContext.prototype.create_search_property_list = function() { - return this.getTypedRuleContext(Create_search_property_listContext,0); -}; - -Ddl_clauseContext.prototype.create_security_policy = function() { - return this.getTypedRuleContext(Create_security_policyContext,0); -}; - -Ddl_clauseContext.prototype.create_sequence = function() { - return this.getTypedRuleContext(Create_sequenceContext,0); -}; - -Ddl_clauseContext.prototype.create_server_audit = function() { - return this.getTypedRuleContext(Create_server_auditContext,0); -}; - -Ddl_clauseContext.prototype.create_server_audit_specification = function() { - return this.getTypedRuleContext(Create_server_audit_specificationContext,0); -}; - -Ddl_clauseContext.prototype.create_server_role = function() { - return this.getTypedRuleContext(Create_server_roleContext,0); -}; - -Ddl_clauseContext.prototype.create_service = function() { - return this.getTypedRuleContext(Create_serviceContext,0); -}; - -Ddl_clauseContext.prototype.create_statistics = function() { - return this.getTypedRuleContext(Create_statisticsContext,0); -}; - -Ddl_clauseContext.prototype.create_symmetric_key = function() { - return this.getTypedRuleContext(Create_symmetric_keyContext,0); -}; - -Ddl_clauseContext.prototype.create_synonym = function() { - return this.getTypedRuleContext(Create_synonymContext,0); -}; - -Ddl_clauseContext.prototype.create_table = function() { - return this.getTypedRuleContext(Create_tableContext,0); -}; - -Ddl_clauseContext.prototype.create_type = function() { - return this.getTypedRuleContext(Create_typeContext,0); -}; - -Ddl_clauseContext.prototype.create_user = function() { - return this.getTypedRuleContext(Create_userContext,0); -}; - -Ddl_clauseContext.prototype.create_user_azure_sql_dw = function() { - return this.getTypedRuleContext(Create_user_azure_sql_dwContext,0); -}; - -Ddl_clauseContext.prototype.create_view = function() { - return this.getTypedRuleContext(Create_viewContext,0); -}; - -Ddl_clauseContext.prototype.create_workload_group = function() { - return this.getTypedRuleContext(Create_workload_groupContext,0); -}; - -Ddl_clauseContext.prototype.create_xml_schema_collection = function() { - return this.getTypedRuleContext(Create_xml_schema_collectionContext,0); -}; - -Ddl_clauseContext.prototype.drop_aggregate = function() { - return this.getTypedRuleContext(Drop_aggregateContext,0); -}; - -Ddl_clauseContext.prototype.drop_application_role = function() { - return this.getTypedRuleContext(Drop_application_roleContext,0); -}; - -Ddl_clauseContext.prototype.drop_assembly = function() { - return this.getTypedRuleContext(Drop_assemblyContext,0); -}; - -Ddl_clauseContext.prototype.drop_asymmetric_key = function() { - return this.getTypedRuleContext(Drop_asymmetric_keyContext,0); -}; - -Ddl_clauseContext.prototype.drop_availability_group = function() { - return this.getTypedRuleContext(Drop_availability_groupContext,0); -}; - -Ddl_clauseContext.prototype.drop_broker_priority = function() { - return this.getTypedRuleContext(Drop_broker_priorityContext,0); -}; - -Ddl_clauseContext.prototype.drop_certificate = function() { - return this.getTypedRuleContext(Drop_certificateContext,0); -}; - -Ddl_clauseContext.prototype.drop_column_encryption_key = function() { - return this.getTypedRuleContext(Drop_column_encryption_keyContext,0); -}; - -Ddl_clauseContext.prototype.drop_column_master_key = function() { - return this.getTypedRuleContext(Drop_column_master_keyContext,0); -}; - -Ddl_clauseContext.prototype.drop_contract = function() { - return this.getTypedRuleContext(Drop_contractContext,0); -}; - -Ddl_clauseContext.prototype.drop_credential = function() { - return this.getTypedRuleContext(Drop_credentialContext,0); -}; - -Ddl_clauseContext.prototype.drop_cryptograhic_provider = function() { - return this.getTypedRuleContext(Drop_cryptograhic_providerContext,0); -}; - -Ddl_clauseContext.prototype.drop_database = function() { - return this.getTypedRuleContext(Drop_databaseContext,0); -}; - -Ddl_clauseContext.prototype.drop_database_audit_specification = function() { - return this.getTypedRuleContext(Drop_database_audit_specificationContext,0); -}; - -Ddl_clauseContext.prototype.drop_database_scoped_credential = function() { - return this.getTypedRuleContext(Drop_database_scoped_credentialContext,0); -}; - -Ddl_clauseContext.prototype.drop_db_role = function() { - return this.getTypedRuleContext(Drop_db_roleContext,0); -}; - -Ddl_clauseContext.prototype.drop_default = function() { - return this.getTypedRuleContext(Drop_defaultContext,0); -}; - -Ddl_clauseContext.prototype.drop_endpoint = function() { - return this.getTypedRuleContext(Drop_endpointContext,0); -}; - -Ddl_clauseContext.prototype.drop_event_notifications = function() { - return this.getTypedRuleContext(Drop_event_notificationsContext,0); -}; - -Ddl_clauseContext.prototype.drop_event_session = function() { - return this.getTypedRuleContext(Drop_event_sessionContext,0); -}; - -Ddl_clauseContext.prototype.drop_external_data_source = function() { - return this.getTypedRuleContext(Drop_external_data_sourceContext,0); -}; - -Ddl_clauseContext.prototype.drop_external_file_format = function() { - return this.getTypedRuleContext(Drop_external_file_formatContext,0); -}; - -Ddl_clauseContext.prototype.drop_external_library = function() { - return this.getTypedRuleContext(Drop_external_libraryContext,0); -}; - -Ddl_clauseContext.prototype.drop_external_resource_pool = function() { - return this.getTypedRuleContext(Drop_external_resource_poolContext,0); -}; - -Ddl_clauseContext.prototype.drop_external_table = function() { - return this.getTypedRuleContext(Drop_external_tableContext,0); -}; - -Ddl_clauseContext.prototype.drop_fulltext_catalog = function() { - return this.getTypedRuleContext(Drop_fulltext_catalogContext,0); -}; - -Ddl_clauseContext.prototype.drop_fulltext_index = function() { - return this.getTypedRuleContext(Drop_fulltext_indexContext,0); -}; - -Ddl_clauseContext.prototype.drop_fulltext_stoplist = function() { - return this.getTypedRuleContext(Drop_fulltext_stoplistContext,0); -}; - -Ddl_clauseContext.prototype.drop_function = function() { - return this.getTypedRuleContext(Drop_functionContext,0); -}; - -Ddl_clauseContext.prototype.drop_index = function() { - return this.getTypedRuleContext(Drop_indexContext,0); -}; - -Ddl_clauseContext.prototype.drop_login = function() { - return this.getTypedRuleContext(Drop_loginContext,0); -}; - -Ddl_clauseContext.prototype.drop_master_key = function() { - return this.getTypedRuleContext(Drop_master_keyContext,0); -}; - -Ddl_clauseContext.prototype.drop_message_type = function() { - return this.getTypedRuleContext(Drop_message_typeContext,0); -}; - -Ddl_clauseContext.prototype.drop_partition_function = function() { - return this.getTypedRuleContext(Drop_partition_functionContext,0); -}; - -Ddl_clauseContext.prototype.drop_partition_scheme = function() { - return this.getTypedRuleContext(Drop_partition_schemeContext,0); -}; - -Ddl_clauseContext.prototype.drop_procedure = function() { - return this.getTypedRuleContext(Drop_procedureContext,0); -}; - -Ddl_clauseContext.prototype.drop_queue = function() { - return this.getTypedRuleContext(Drop_queueContext,0); -}; - -Ddl_clauseContext.prototype.drop_remote_service_binding = function() { - return this.getTypedRuleContext(Drop_remote_service_bindingContext,0); -}; - -Ddl_clauseContext.prototype.drop_resource_pool = function() { - return this.getTypedRuleContext(Drop_resource_poolContext,0); -}; - -Ddl_clauseContext.prototype.drop_route = function() { - return this.getTypedRuleContext(Drop_routeContext,0); -}; - -Ddl_clauseContext.prototype.drop_rule = function() { - return this.getTypedRuleContext(Drop_ruleContext,0); -}; - -Ddl_clauseContext.prototype.drop_schema = function() { - return this.getTypedRuleContext(Drop_schemaContext,0); -}; - -Ddl_clauseContext.prototype.drop_search_property_list = function() { - return this.getTypedRuleContext(Drop_search_property_listContext,0); -}; - -Ddl_clauseContext.prototype.drop_security_policy = function() { - return this.getTypedRuleContext(Drop_security_policyContext,0); -}; - -Ddl_clauseContext.prototype.drop_sequence = function() { - return this.getTypedRuleContext(Drop_sequenceContext,0); -}; - -Ddl_clauseContext.prototype.drop_server_audit = function() { - return this.getTypedRuleContext(Drop_server_auditContext,0); -}; - -Ddl_clauseContext.prototype.drop_server_audit_specification = function() { - return this.getTypedRuleContext(Drop_server_audit_specificationContext,0); -}; - -Ddl_clauseContext.prototype.drop_server_role = function() { - return this.getTypedRuleContext(Drop_server_roleContext,0); -}; - -Ddl_clauseContext.prototype.drop_service = function() { - return this.getTypedRuleContext(Drop_serviceContext,0); -}; - -Ddl_clauseContext.prototype.drop_signature = function() { - return this.getTypedRuleContext(Drop_signatureContext,0); -}; - -Ddl_clauseContext.prototype.drop_statistics = function() { - return this.getTypedRuleContext(Drop_statisticsContext,0); -}; - -Ddl_clauseContext.prototype.drop_statistics_name_azure_dw_and_pdw = function() { - return this.getTypedRuleContext(Drop_statistics_name_azure_dw_and_pdwContext,0); -}; - -Ddl_clauseContext.prototype.drop_symmetric_key = function() { - return this.getTypedRuleContext(Drop_symmetric_keyContext,0); -}; - -Ddl_clauseContext.prototype.drop_synonym = function() { - return this.getTypedRuleContext(Drop_synonymContext,0); -}; - -Ddl_clauseContext.prototype.drop_table = function() { - return this.getTypedRuleContext(Drop_tableContext,0); -}; - -Ddl_clauseContext.prototype.drop_trigger = function() { - return this.getTypedRuleContext(Drop_triggerContext,0); -}; - -Ddl_clauseContext.prototype.drop_type = function() { - return this.getTypedRuleContext(Drop_typeContext,0); -}; - -Ddl_clauseContext.prototype.drop_user = function() { - return this.getTypedRuleContext(Drop_userContext,0); -}; - -Ddl_clauseContext.prototype.drop_view = function() { - return this.getTypedRuleContext(Drop_viewContext,0); -}; - -Ddl_clauseContext.prototype.drop_workload_group = function() { - return this.getTypedRuleContext(Drop_workload_groupContext,0); -}; - -Ddl_clauseContext.prototype.drop_xml_schema_collection = function() { - return this.getTypedRuleContext(Drop_xml_schema_collectionContext,0); -}; - -Ddl_clauseContext.prototype.disable_trigger = function() { - return this.getTypedRuleContext(Disable_triggerContext,0); -}; - -Ddl_clauseContext.prototype.enable_trigger = function() { - return this.getTypedRuleContext(Enable_triggerContext,0); -}; - -Ddl_clauseContext.prototype.lock_table = function() { - return this.getTypedRuleContext(Lock_tableContext,0); -}; - -Ddl_clauseContext.prototype.truncate_table = function() { - return this.getTypedRuleContext(Truncate_tableContext,0); -}; - -Ddl_clauseContext.prototype.update_statistics = function() { - return this.getTypedRuleContext(Update_statisticsContext,0); -}; - -Ddl_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDdl_clause(this); - } -}; - -Ddl_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDdl_clause(this); - } -}; - -Ddl_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDdl_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Ddl_clauseContext = Ddl_clauseContext; - -TSqlParser.prototype.ddl_clause = function() { - - var localctx = new Ddl_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 10, TSqlParser.RULE_ddl_clause); - try { - this.state = 1184; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,9,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1025; - this.alter_application_role(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1026; - this.alter_assembly(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1027; - this.alter_asymmetric_key(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1028; - this.alter_authorization(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1029; - this.alter_authorization_for_azure_dw(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 1030; - this.alter_authorization_for_parallel_dw(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 1031; - this.alter_authorization_for_sql_database(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 1032; - this.alter_availability_group(); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 1033; - this.alter_certificate(); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 1034; - this.alter_column_encryption_key(); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 1035; - this.alter_credential(); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 1036; - this.alter_cryptographic_provider(); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 1037; - this.alter_database(); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 1038; - this.alter_db_role(); - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 1039; - this.alter_endpoint(); - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 1040; - this.create_or_alter_event_session(); - break; - - case 17: - this.enterOuterAlt(localctx, 17); - this.state = 1041; - this.alter_external_data_source(); - break; - - case 18: - this.enterOuterAlt(localctx, 18); - this.state = 1042; - this.alter_external_library(); - break; - - case 19: - this.enterOuterAlt(localctx, 19); - this.state = 1043; - this.alter_external_resource_pool(); - break; - - case 20: - this.enterOuterAlt(localctx, 20); - this.state = 1044; - this.alter_fulltext_catalog(); - break; - - case 21: - this.enterOuterAlt(localctx, 21); - this.state = 1045; - this.alter_fulltext_stoplist(); - break; - - case 22: - this.enterOuterAlt(localctx, 22); - this.state = 1046; - this.alter_login_azure_sql(); - break; - - case 23: - this.enterOuterAlt(localctx, 23); - this.state = 1047; - this.alter_login_azure_sql_dw_and_pdw(); - break; - - case 24: - this.enterOuterAlt(localctx, 24); - this.state = 1048; - this.alter_login_sql_server(); - break; - - case 25: - this.enterOuterAlt(localctx, 25); - this.state = 1049; - this.alter_master_key_azure_sql(); - break; - - case 26: - this.enterOuterAlt(localctx, 26); - this.state = 1050; - this.alter_master_key_sql_server(); - break; - - case 27: - this.enterOuterAlt(localctx, 27); - this.state = 1051; - this.alter_message_type(); - break; - - case 28: - this.enterOuterAlt(localctx, 28); - this.state = 1052; - this.alter_partition_function(); - break; - - case 29: - this.enterOuterAlt(localctx, 29); - this.state = 1053; - this.alter_partition_scheme(); - break; - - case 30: - this.enterOuterAlt(localctx, 30); - this.state = 1054; - this.alter_remote_service_binding(); - break; - - case 31: - this.enterOuterAlt(localctx, 31); - this.state = 1055; - this.alter_resource_governor(); - break; - - case 32: - this.enterOuterAlt(localctx, 32); - this.state = 1056; - this.alter_schema_azure_sql_dw_and_pdw(); - break; - - case 33: - this.enterOuterAlt(localctx, 33); - this.state = 1057; - this.alter_schema_sql(); - break; - - case 34: - this.enterOuterAlt(localctx, 34); - this.state = 1058; - this.alter_sequence(); - break; - - case 35: - this.enterOuterAlt(localctx, 35); - this.state = 1059; - this.alter_server_audit(); - break; - - case 36: - this.enterOuterAlt(localctx, 36); - this.state = 1060; - this.alter_server_audit_specification(); - break; - - case 37: - this.enterOuterAlt(localctx, 37); - this.state = 1061; - this.alter_server_configuration(); - break; - - case 38: - this.enterOuterAlt(localctx, 38); - this.state = 1062; - this.alter_server_role(); - break; - - case 39: - this.enterOuterAlt(localctx, 39); - this.state = 1063; - this.alter_server_role_pdw(); - break; - - case 40: - this.enterOuterAlt(localctx, 40); - this.state = 1064; - this.alter_service(); - break; - - case 41: - this.enterOuterAlt(localctx, 41); - this.state = 1065; - this.alter_service_master_key(); - break; - - case 42: - this.enterOuterAlt(localctx, 42); - this.state = 1066; - this.alter_symmetric_key(); - break; - - case 43: - this.enterOuterAlt(localctx, 43); - this.state = 1067; - this.alter_table(); - break; - - case 44: - this.enterOuterAlt(localctx, 44); - this.state = 1068; - this.alter_user(); - break; - - case 45: - this.enterOuterAlt(localctx, 45); - this.state = 1069; - this.alter_user_azure_sql(); - break; - - case 46: - this.enterOuterAlt(localctx, 46); - this.state = 1070; - this.alter_workload_group(); - break; - - case 47: - this.enterOuterAlt(localctx, 47); - this.state = 1071; - this.create_application_role(); - break; - - case 48: - this.enterOuterAlt(localctx, 48); - this.state = 1072; - this.create_assembly(); - break; - - case 49: - this.enterOuterAlt(localctx, 49); - this.state = 1073; - this.create_asymmetric_key(); - break; - - case 50: - this.enterOuterAlt(localctx, 50); - this.state = 1074; - this.create_column_encryption_key(); - break; - - case 51: - this.enterOuterAlt(localctx, 51); - this.state = 1075; - this.create_column_master_key(); - break; - - case 52: - this.enterOuterAlt(localctx, 52); - this.state = 1076; - this.create_credential(); - break; - - case 53: - this.enterOuterAlt(localctx, 53); - this.state = 1077; - this.create_cryptographic_provider(); - break; - - case 54: - this.enterOuterAlt(localctx, 54); - this.state = 1078; - this.create_database(); - break; - - case 55: - this.enterOuterAlt(localctx, 55); - this.state = 1079; - this.create_db_role(); - break; - - case 56: - this.enterOuterAlt(localctx, 56); - this.state = 1080; - this.create_event_notification(); - break; - - case 57: - this.enterOuterAlt(localctx, 57); - this.state = 1081; - this.create_external_library(); - break; - - case 58: - this.enterOuterAlt(localctx, 58); - this.state = 1082; - this.create_external_resource_pool(); - break; - - case 59: - this.enterOuterAlt(localctx, 59); - this.state = 1083; - this.create_fulltext_catalog(); - break; - - case 60: - this.enterOuterAlt(localctx, 60); - this.state = 1084; - this.create_fulltext_stoplist(); - break; - - case 61: - this.enterOuterAlt(localctx, 61); - this.state = 1085; - this.create_index(); - break; - - case 62: - this.enterOuterAlt(localctx, 62); - this.state = 1086; - this.create_login_azure_sql(); - break; - - case 63: - this.enterOuterAlt(localctx, 63); - this.state = 1087; - this.create_login_pdw(); - break; - - case 64: - this.enterOuterAlt(localctx, 64); - this.state = 1088; - this.create_login_sql_server(); - break; - - case 65: - this.enterOuterAlt(localctx, 65); - this.state = 1089; - this.create_master_key_azure_sql(); - break; - - case 66: - this.enterOuterAlt(localctx, 66); - this.state = 1090; - this.create_master_key_sql_server(); - break; - - case 67: - this.enterOuterAlt(localctx, 67); - this.state = 1091; - this.create_or_alter_broker_priority(); - break; - - case 68: - this.enterOuterAlt(localctx, 68); - this.state = 1092; - this.create_or_alter_function(); - break; - - case 69: - this.enterOuterAlt(localctx, 69); - this.state = 1093; - this.create_or_alter_procedure(); - break; - - case 70: - this.enterOuterAlt(localctx, 70); - this.state = 1094; - this.create_or_alter_trigger(); - break; - - case 71: - this.enterOuterAlt(localctx, 71); - this.state = 1095; - this.create_remote_service_binding(); - break; - - case 72: - this.enterOuterAlt(localctx, 72); - this.state = 1096; - this.create_resource_pool(); - break; - - case 73: - this.enterOuterAlt(localctx, 73); - this.state = 1097; - this.create_route(); - break; - - case 74: - this.enterOuterAlt(localctx, 74); - this.state = 1098; - this.create_rule(); - break; - - case 75: - this.enterOuterAlt(localctx, 75); - this.state = 1099; - this.create_schema(); - break; - - case 76: - this.enterOuterAlt(localctx, 76); - this.state = 1100; - this.create_schema_azure_sql_dw_and_pdw(); - break; - - case 77: - this.enterOuterAlt(localctx, 77); - this.state = 1101; - this.create_search_property_list(); - break; - - case 78: - this.enterOuterAlt(localctx, 78); - this.state = 1102; - this.create_security_policy(); - break; - - case 79: - this.enterOuterAlt(localctx, 79); - this.state = 1103; - this.create_sequence(); - break; - - case 80: - this.enterOuterAlt(localctx, 80); - this.state = 1104; - this.create_server_audit(); - break; - - case 81: - this.enterOuterAlt(localctx, 81); - this.state = 1105; - this.create_server_audit_specification(); - break; - - case 82: - this.enterOuterAlt(localctx, 82); - this.state = 1106; - this.create_server_role(); - break; - - case 83: - this.enterOuterAlt(localctx, 83); - this.state = 1107; - this.create_service(); - break; - - case 84: - this.enterOuterAlt(localctx, 84); - this.state = 1108; - this.create_statistics(); - break; - - case 85: - this.enterOuterAlt(localctx, 85); - this.state = 1109; - this.create_symmetric_key(); - break; - - case 86: - this.enterOuterAlt(localctx, 86); - this.state = 1110; - this.create_synonym(); - break; - - case 87: - this.enterOuterAlt(localctx, 87); - this.state = 1111; - this.create_table(); - break; - - case 88: - this.enterOuterAlt(localctx, 88); - this.state = 1112; - this.create_type(); - break; - - case 89: - this.enterOuterAlt(localctx, 89); - this.state = 1113; - this.create_user(); - break; - - case 90: - this.enterOuterAlt(localctx, 90); - this.state = 1114; - this.create_user_azure_sql_dw(); - break; - - case 91: - this.enterOuterAlt(localctx, 91); - this.state = 1115; - this.create_view(); - break; - - case 92: - this.enterOuterAlt(localctx, 92); - this.state = 1116; - this.create_workload_group(); - break; - - case 93: - this.enterOuterAlt(localctx, 93); - this.state = 1117; - this.create_xml_schema_collection(); - break; - - case 94: - this.enterOuterAlt(localctx, 94); - this.state = 1118; - this.drop_aggregate(); - break; - - case 95: - this.enterOuterAlt(localctx, 95); - this.state = 1119; - this.drop_application_role(); - break; - - case 96: - this.enterOuterAlt(localctx, 96); - this.state = 1120; - this.drop_assembly(); - break; - - case 97: - this.enterOuterAlt(localctx, 97); - this.state = 1121; - this.drop_asymmetric_key(); - break; - - case 98: - this.enterOuterAlt(localctx, 98); - this.state = 1122; - this.drop_availability_group(); - break; - - case 99: - this.enterOuterAlt(localctx, 99); - this.state = 1123; - this.drop_broker_priority(); - break; - - case 100: - this.enterOuterAlt(localctx, 100); - this.state = 1124; - this.drop_certificate(); - break; - - case 101: - this.enterOuterAlt(localctx, 101); - this.state = 1125; - this.drop_column_encryption_key(); - break; - - case 102: - this.enterOuterAlt(localctx, 102); - this.state = 1126; - this.drop_column_master_key(); - break; - - case 103: - this.enterOuterAlt(localctx, 103); - this.state = 1127; - this.drop_contract(); - break; - - case 104: - this.enterOuterAlt(localctx, 104); - this.state = 1128; - this.drop_credential(); - break; - - case 105: - this.enterOuterAlt(localctx, 105); - this.state = 1129; - this.drop_cryptograhic_provider(); - break; - - case 106: - this.enterOuterAlt(localctx, 106); - this.state = 1130; - this.drop_database(); - break; - - case 107: - this.enterOuterAlt(localctx, 107); - this.state = 1131; - this.drop_database_audit_specification(); - break; - - case 108: - this.enterOuterAlt(localctx, 108); - this.state = 1132; - this.drop_database_scoped_credential(); - break; - - case 109: - this.enterOuterAlt(localctx, 109); - this.state = 1133; - this.drop_db_role(); - break; - - case 110: - this.enterOuterAlt(localctx, 110); - this.state = 1134; - this.drop_default(); - break; - - case 111: - this.enterOuterAlt(localctx, 111); - this.state = 1135; - this.drop_endpoint(); - break; - - case 112: - this.enterOuterAlt(localctx, 112); - this.state = 1136; - this.drop_event_notifications(); - break; - - case 113: - this.enterOuterAlt(localctx, 113); - this.state = 1137; - this.drop_event_session(); - break; - - case 114: - this.enterOuterAlt(localctx, 114); - this.state = 1138; - this.drop_external_data_source(); - break; - - case 115: - this.enterOuterAlt(localctx, 115); - this.state = 1139; - this.drop_external_file_format(); - break; - - case 116: - this.enterOuterAlt(localctx, 116); - this.state = 1140; - this.drop_external_library(); - break; - - case 117: - this.enterOuterAlt(localctx, 117); - this.state = 1141; - this.drop_external_resource_pool(); - break; - - case 118: - this.enterOuterAlt(localctx, 118); - this.state = 1142; - this.drop_external_table(); - break; - - case 119: - this.enterOuterAlt(localctx, 119); - this.state = 1143; - this.drop_fulltext_catalog(); - break; - - case 120: - this.enterOuterAlt(localctx, 120); - this.state = 1144; - this.drop_fulltext_index(); - break; - - case 121: - this.enterOuterAlt(localctx, 121); - this.state = 1145; - this.drop_fulltext_stoplist(); - break; - - case 122: - this.enterOuterAlt(localctx, 122); - this.state = 1146; - this.drop_function(); - break; - - case 123: - this.enterOuterAlt(localctx, 123); - this.state = 1147; - this.drop_index(); - break; - - case 124: - this.enterOuterAlt(localctx, 124); - this.state = 1148; - this.drop_login(); - break; - - case 125: - this.enterOuterAlt(localctx, 125); - this.state = 1149; - this.drop_master_key(); - break; - - case 126: - this.enterOuterAlt(localctx, 126); - this.state = 1150; - this.drop_message_type(); - break; - - case 127: - this.enterOuterAlt(localctx, 127); - this.state = 1151; - this.drop_partition_function(); - break; - - case 128: - this.enterOuterAlt(localctx, 128); - this.state = 1152; - this.drop_partition_scheme(); - break; - - case 129: - this.enterOuterAlt(localctx, 129); - this.state = 1153; - this.drop_procedure(); - break; - - case 130: - this.enterOuterAlt(localctx, 130); - this.state = 1154; - this.drop_queue(); - break; - - case 131: - this.enterOuterAlt(localctx, 131); - this.state = 1155; - this.drop_remote_service_binding(); - break; - - case 132: - this.enterOuterAlt(localctx, 132); - this.state = 1156; - this.drop_resource_pool(); - break; - - case 133: - this.enterOuterAlt(localctx, 133); - this.state = 1157; - this.drop_route(); - break; - - case 134: - this.enterOuterAlt(localctx, 134); - this.state = 1158; - this.drop_rule(); - break; - - case 135: - this.enterOuterAlt(localctx, 135); - this.state = 1159; - this.drop_schema(); - break; - - case 136: - this.enterOuterAlt(localctx, 136); - this.state = 1160; - this.drop_search_property_list(); - break; - - case 137: - this.enterOuterAlt(localctx, 137); - this.state = 1161; - this.drop_security_policy(); - break; - - case 138: - this.enterOuterAlt(localctx, 138); - this.state = 1162; - this.drop_sequence(); - break; - - case 139: - this.enterOuterAlt(localctx, 139); - this.state = 1163; - this.drop_server_audit(); - break; - - case 140: - this.enterOuterAlt(localctx, 140); - this.state = 1164; - this.drop_server_audit_specification(); - break; - - case 141: - this.enterOuterAlt(localctx, 141); - this.state = 1165; - this.drop_server_role(); - break; - - case 142: - this.enterOuterAlt(localctx, 142); - this.state = 1166; - this.drop_service(); - break; - - case 143: - this.enterOuterAlt(localctx, 143); - this.state = 1167; - this.drop_signature(); - break; - - case 144: - this.enterOuterAlt(localctx, 144); - this.state = 1168; - this.drop_statistics(); - break; - - case 145: - this.enterOuterAlt(localctx, 145); - this.state = 1169; - this.drop_statistics_name_azure_dw_and_pdw(); - break; - - case 146: - this.enterOuterAlt(localctx, 146); - this.state = 1170; - this.drop_symmetric_key(); - break; - - case 147: - this.enterOuterAlt(localctx, 147); - this.state = 1171; - this.drop_synonym(); - break; - - case 148: - this.enterOuterAlt(localctx, 148); - this.state = 1172; - this.drop_table(); - break; - - case 149: - this.enterOuterAlt(localctx, 149); - this.state = 1173; - this.drop_trigger(); - break; - - case 150: - this.enterOuterAlt(localctx, 150); - this.state = 1174; - this.drop_type(); - break; - - case 151: - this.enterOuterAlt(localctx, 151); - this.state = 1175; - this.drop_user(); - break; - - case 152: - this.enterOuterAlt(localctx, 152); - this.state = 1176; - this.drop_view(); - break; - - case 153: - this.enterOuterAlt(localctx, 153); - this.state = 1177; - this.drop_workload_group(); - break; - - case 154: - this.enterOuterAlt(localctx, 154); - this.state = 1178; - this.drop_xml_schema_collection(); - break; - - case 155: - this.enterOuterAlt(localctx, 155); - this.state = 1179; - this.disable_trigger(); - break; - - case 156: - this.enterOuterAlt(localctx, 156); - this.state = 1180; - this.enable_trigger(); - break; - - case 157: - this.enterOuterAlt(localctx, 157); - this.state = 1181; - this.lock_table(); - break; - - case 158: - this.enterOuterAlt(localctx, 158); - this.state = 1182; - this.truncate_table(); - break; - - case 159: - this.enterOuterAlt(localctx, 159); - this.state = 1183; - this.update_statistics(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Backup_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_backup_statement; - return this; -} - -Backup_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Backup_statementContext.prototype.constructor = Backup_statementContext; - -Backup_statementContext.prototype.backup_database = function() { - return this.getTypedRuleContext(Backup_databaseContext,0); -}; - -Backup_statementContext.prototype.backup_log = function() { - return this.getTypedRuleContext(Backup_logContext,0); -}; - -Backup_statementContext.prototype.backup_certificate = function() { - return this.getTypedRuleContext(Backup_certificateContext,0); -}; - -Backup_statementContext.prototype.backup_master_key = function() { - return this.getTypedRuleContext(Backup_master_keyContext,0); -}; - -Backup_statementContext.prototype.backup_service_master_key = function() { - return this.getTypedRuleContext(Backup_service_master_keyContext,0); -}; - -Backup_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBackup_statement(this); - } -}; - -Backup_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBackup_statement(this); - } -}; - -Backup_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBackup_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Backup_statementContext = Backup_statementContext; - -TSqlParser.prototype.backup_statement = function() { - - var localctx = new Backup_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 12, TSqlParser.RULE_backup_statement); - try { - this.state = 1191; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,10,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1186; - this.backup_database(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1187; - this.backup_log(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1188; - this.backup_certificate(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1189; - this.backup_master_key(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1190; - this.backup_service_master_key(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Cfl_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_cfl_statement; - return this; -} - -Cfl_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Cfl_statementContext.prototype.constructor = Cfl_statementContext; - -Cfl_statementContext.prototype.block_statement = function() { - return this.getTypedRuleContext(Block_statementContext,0); -}; - -Cfl_statementContext.prototype.break_statement = function() { - return this.getTypedRuleContext(Break_statementContext,0); -}; - -Cfl_statementContext.prototype.continue_statement = function() { - return this.getTypedRuleContext(Continue_statementContext,0); -}; - -Cfl_statementContext.prototype.goto_statement = function() { - return this.getTypedRuleContext(Goto_statementContext,0); -}; - -Cfl_statementContext.prototype.if_statement = function() { - return this.getTypedRuleContext(If_statementContext,0); -}; - -Cfl_statementContext.prototype.return_statement = function() { - return this.getTypedRuleContext(Return_statementContext,0); -}; - -Cfl_statementContext.prototype.throw_statement = function() { - return this.getTypedRuleContext(Throw_statementContext,0); -}; - -Cfl_statementContext.prototype.try_catch_statement = function() { - return this.getTypedRuleContext(Try_catch_statementContext,0); -}; - -Cfl_statementContext.prototype.waitfor_statement = function() { - return this.getTypedRuleContext(Waitfor_statementContext,0); -}; - -Cfl_statementContext.prototype.while_statement = function() { - return this.getTypedRuleContext(While_statementContext,0); -}; - -Cfl_statementContext.prototype.print_statement = function() { - return this.getTypedRuleContext(Print_statementContext,0); -}; - -Cfl_statementContext.prototype.raiseerror_statement = function() { - return this.getTypedRuleContext(Raiseerror_statementContext,0); -}; - -Cfl_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCfl_statement(this); - } -}; - -Cfl_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCfl_statement(this); - } -}; - -Cfl_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCfl_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Cfl_statementContext = Cfl_statementContext; - -TSqlParser.prototype.cfl_statement = function() { - - var localctx = new Cfl_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 14, TSqlParser.RULE_cfl_statement); - try { - this.state = 1205; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,11,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1193; - this.block_statement(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1194; - this.break_statement(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1195; - this.continue_statement(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1196; - this.goto_statement(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1197; - this.if_statement(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 1198; - this.return_statement(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 1199; - this.throw_statement(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 1200; - this.try_catch_statement(); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 1201; - this.waitfor_statement(); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 1202; - this.while_statement(); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 1203; - this.print_statement(); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 1204; - this.raiseerror_statement(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Block_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_block_statement; - return this; -} - -Block_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Block_statementContext.prototype.constructor = Block_statementContext; - -Block_statementContext.prototype.BEGIN = function() { - return this.getToken(TSqlParser.BEGIN, 0); -}; - -Block_statementContext.prototype.END = function() { - return this.getToken(TSqlParser.END, 0); -}; - -Block_statementContext.prototype.SEMI = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SEMI); - } else { - return this.getToken(TSqlParser.SEMI, i); - } -}; - - -Block_statementContext.prototype.sql_clauses = function() { - return this.getTypedRuleContext(Sql_clausesContext,0); -}; - -Block_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBlock_statement(this); - } -}; - -Block_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBlock_statement(this); - } -}; - -Block_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBlock_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Block_statementContext = Block_statementContext; - -TSqlParser.prototype.block_statement = function() { - - var localctx = new Block_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 16, TSqlParser.RULE_block_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1207; - this.match(TSqlParser.BEGIN); - this.state = 1209; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,12,this._ctx); - if(la_===1) { - this.state = 1208; - this.match(TSqlParser.SEMI); - - } - this.state = 1212; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,13,this._ctx); - if(la_===1) { - this.state = 1211; - this.sql_clauses(); - - } - this.state = 1214; - this.match(TSqlParser.END); - this.state = 1216; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,14,this._ctx); - if(la_===1) { - this.state = 1215; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Break_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_break_statement; - return this; -} - -Break_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Break_statementContext.prototype.constructor = Break_statementContext; - -Break_statementContext.prototype.BREAK = function() { - return this.getToken(TSqlParser.BREAK, 0); -}; - -Break_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Break_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBreak_statement(this); - } -}; - -Break_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBreak_statement(this); - } -}; - -Break_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBreak_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Break_statementContext = Break_statementContext; - -TSqlParser.prototype.break_statement = function() { - - var localctx = new Break_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 18, TSqlParser.RULE_break_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1218; - this.match(TSqlParser.BREAK); - this.state = 1220; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,15,this._ctx); - if(la_===1) { - this.state = 1219; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Continue_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_continue_statement; - return this; -} - -Continue_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Continue_statementContext.prototype.constructor = Continue_statementContext; - -Continue_statementContext.prototype.CONTINUE = function() { - return this.getToken(TSqlParser.CONTINUE, 0); -}; - -Continue_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Continue_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterContinue_statement(this); - } -}; - -Continue_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitContinue_statement(this); - } -}; - -Continue_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitContinue_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Continue_statementContext = Continue_statementContext; - -TSqlParser.prototype.continue_statement = function() { - - var localctx = new Continue_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 20, TSqlParser.RULE_continue_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1222; - this.match(TSqlParser.CONTINUE); - this.state = 1224; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,16,this._ctx); - if(la_===1) { - this.state = 1223; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Goto_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_goto_statement; - return this; -} - -Goto_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Goto_statementContext.prototype.constructor = Goto_statementContext; - -Goto_statementContext.prototype.GOTO = function() { - return this.getToken(TSqlParser.GOTO, 0); -}; - -Goto_statementContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Goto_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Goto_statementContext.prototype.COLON = function() { - return this.getToken(TSqlParser.COLON, 0); -}; - -Goto_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterGoto_statement(this); - } -}; - -Goto_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitGoto_statement(this); - } -}; - -Goto_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitGoto_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Goto_statementContext = Goto_statementContext; - -TSqlParser.prototype.goto_statement = function() { - - var localctx = new Goto_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 22, TSqlParser.RULE_goto_statement); - try { - this.state = 1236; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.GOTO: - this.enterOuterAlt(localctx, 1); - this.state = 1226; - this.match(TSqlParser.GOTO); - this.state = 1227; - this.id(); - this.state = 1229; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,17,this._ctx); - if(la_===1) { - this.state = 1228; - this.match(TSqlParser.SEMI); - - } - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 2); - this.state = 1231; - this.id(); - this.state = 1232; - this.match(TSqlParser.COLON); - this.state = 1234; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,18,this._ctx); - if(la_===1) { - this.state = 1233; - this.match(TSqlParser.SEMI); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Return_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_return_statement; - return this; -} - -Return_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Return_statementContext.prototype.constructor = Return_statementContext; - -Return_statementContext.prototype.RETURN = function() { - return this.getToken(TSqlParser.RETURN, 0); -}; - -Return_statementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Return_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Return_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterReturn_statement(this); - } -}; - -Return_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitReturn_statement(this); - } -}; - -Return_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitReturn_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Return_statementContext = Return_statementContext; - -TSqlParser.prototype.return_statement = function() { - - var localctx = new Return_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 24, TSqlParser.RULE_return_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1238; - this.match(TSqlParser.RETURN); - this.state = 1240; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,20,this._ctx); - if(la_===1) { - this.state = 1239; - this.expression(0); - - } - this.state = 1243; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,21,this._ctx); - if(la_===1) { - this.state = 1242; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function If_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_if_statement; - return this; -} - -If_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -If_statementContext.prototype.constructor = If_statementContext; - -If_statementContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -If_statementContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -If_statementContext.prototype.sql_clause = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Sql_clauseContext); - } else { - return this.getTypedRuleContext(Sql_clauseContext,i); - } -}; - -If_statementContext.prototype.ELSE = function() { - return this.getToken(TSqlParser.ELSE, 0); -}; - -If_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -If_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterIf_statement(this); - } -}; - -If_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitIf_statement(this); - } -}; - -If_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitIf_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.If_statementContext = If_statementContext; - -TSqlParser.prototype.if_statement = function() { - - var localctx = new If_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 26, TSqlParser.RULE_if_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1245; - this.match(TSqlParser.IF); - this.state = 1246; - this.search_condition(); - this.state = 1247; - this.sql_clause(); - this.state = 1250; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,22,this._ctx); - if(la_===1) { - this.state = 1248; - this.match(TSqlParser.ELSE); - this.state = 1249; - this.sql_clause(); - - } - this.state = 1253; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,23,this._ctx); - if(la_===1) { - this.state = 1252; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Throw_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_throw_statement; - return this; -} - -Throw_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Throw_statementContext.prototype.constructor = Throw_statementContext; - -Throw_statementContext.prototype.THROW = function() { - return this.getToken(TSqlParser.THROW, 0); -}; - -Throw_statementContext.prototype.throw_error_number = function() { - return this.getTypedRuleContext(Throw_error_numberContext,0); -}; - -Throw_statementContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Throw_statementContext.prototype.throw_message = function() { - return this.getTypedRuleContext(Throw_messageContext,0); -}; - -Throw_statementContext.prototype.throw_state = function() { - return this.getTypedRuleContext(Throw_stateContext,0); -}; - -Throw_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Throw_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterThrow_statement(this); - } -}; - -Throw_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitThrow_statement(this); - } -}; - -Throw_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitThrow_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Throw_statementContext = Throw_statementContext; - -TSqlParser.prototype.throw_statement = function() { - - var localctx = new Throw_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 28, TSqlParser.RULE_throw_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1255; - this.match(TSqlParser.THROW); - this.state = 1262; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,24,this._ctx); - if(la_===1) { - this.state = 1256; - this.throw_error_number(); - this.state = 1257; - this.match(TSqlParser.COMMA); - this.state = 1258; - this.throw_message(); - this.state = 1259; - this.match(TSqlParser.COMMA); - this.state = 1260; - this.throw_state(); - - } - this.state = 1265; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,25,this._ctx); - if(la_===1) { - this.state = 1264; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Throw_error_numberContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_throw_error_number; - return this; -} - -Throw_error_numberContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Throw_error_numberContext.prototype.constructor = Throw_error_numberContext; - -Throw_error_numberContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Throw_error_numberContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Throw_error_numberContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterThrow_error_number(this); - } -}; - -Throw_error_numberContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitThrow_error_number(this); - } -}; - -Throw_error_numberContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitThrow_error_number(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Throw_error_numberContext = Throw_error_numberContext; - -TSqlParser.prototype.throw_error_number = function() { - - var localctx = new Throw_error_numberContext(this, this._ctx, this.state); - this.enterRule(localctx, 30, TSqlParser.RULE_throw_error_number); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1267; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.DECIMAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Throw_messageContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_throw_message; - return this; -} - -Throw_messageContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Throw_messageContext.prototype.constructor = Throw_messageContext; - -Throw_messageContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Throw_messageContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Throw_messageContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterThrow_message(this); - } -}; - -Throw_messageContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitThrow_message(this); - } -}; - -Throw_messageContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitThrow_message(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Throw_messageContext = Throw_messageContext; - -TSqlParser.prototype.throw_message = function() { - - var localctx = new Throw_messageContext(this, this._ctx, this.state); - this.enterRule(localctx, 32, TSqlParser.RULE_throw_message); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1269; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Throw_stateContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_throw_state; - return this; -} - -Throw_stateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Throw_stateContext.prototype.constructor = Throw_stateContext; - -Throw_stateContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Throw_stateContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Throw_stateContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterThrow_state(this); - } -}; - -Throw_stateContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitThrow_state(this); - } -}; - -Throw_stateContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitThrow_state(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Throw_stateContext = Throw_stateContext; - -TSqlParser.prototype.throw_state = function() { - - var localctx = new Throw_stateContext(this, this._ctx, this.state); - this.enterRule(localctx, 34, TSqlParser.RULE_throw_state); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1271; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.DECIMAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Try_catch_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_try_catch_statement; - this.try_clauses = null; // Sql_clausesContext - this.catch_clauses = null; // Sql_clausesContext - return this; -} - -Try_catch_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Try_catch_statementContext.prototype.constructor = Try_catch_statementContext; - -Try_catch_statementContext.prototype.BEGIN = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BEGIN); - } else { - return this.getToken(TSqlParser.BEGIN, i); - } -}; - - -Try_catch_statementContext.prototype.TRY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TRY); - } else { - return this.getToken(TSqlParser.TRY, i); - } -}; - - -Try_catch_statementContext.prototype.END = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.END); - } else { - return this.getToken(TSqlParser.END, i); - } -}; - - -Try_catch_statementContext.prototype.CATCH = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CATCH); - } else { - return this.getToken(TSqlParser.CATCH, i); - } -}; - - -Try_catch_statementContext.prototype.SEMI = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SEMI); - } else { - return this.getToken(TSqlParser.SEMI, i); - } -}; - - -Try_catch_statementContext.prototype.sql_clauses = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Sql_clausesContext); - } else { - return this.getTypedRuleContext(Sql_clausesContext,i); - } -}; - -Try_catch_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTry_catch_statement(this); - } -}; - -Try_catch_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTry_catch_statement(this); - } -}; - -Try_catch_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTry_catch_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Try_catch_statementContext = Try_catch_statementContext; - -TSqlParser.prototype.try_catch_statement = function() { - - var localctx = new Try_catch_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 36, TSqlParser.RULE_try_catch_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1273; - this.match(TSqlParser.BEGIN); - this.state = 1274; - this.match(TSqlParser.TRY); - this.state = 1276; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,26,this._ctx); - if(la_===1) { - this.state = 1275; - this.match(TSqlParser.SEMI); - - } - this.state = 1279; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,27,this._ctx); - if(la_===1) { - this.state = 1278; - localctx.try_clauses = this.sql_clauses(); - - } - this.state = 1281; - this.match(TSqlParser.END); - this.state = 1282; - this.match(TSqlParser.TRY); - this.state = 1284; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SEMI) { - this.state = 1283; - this.match(TSqlParser.SEMI); - } - - this.state = 1286; - this.match(TSqlParser.BEGIN); - this.state = 1287; - this.match(TSqlParser.CATCH); - this.state = 1289; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,29,this._ctx); - if(la_===1) { - this.state = 1288; - this.match(TSqlParser.SEMI); - - } - this.state = 1292; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,30,this._ctx); - if(la_===1) { - this.state = 1291; - localctx.catch_clauses = this.sql_clauses(); - - } - this.state = 1294; - this.match(TSqlParser.END); - this.state = 1295; - this.match(TSqlParser.CATCH); - this.state = 1297; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,31,this._ctx); - if(la_===1) { - this.state = 1296; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Waitfor_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_waitfor_statement; - return this; -} - -Waitfor_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Waitfor_statementContext.prototype.constructor = Waitfor_statementContext; - -Waitfor_statementContext.prototype.WAITFOR = function() { - return this.getToken(TSqlParser.WAITFOR, 0); -}; - -Waitfor_statementContext.prototype.receive_statement = function() { - return this.getTypedRuleContext(Receive_statementContext,0); -}; - -Waitfor_statementContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Waitfor_statementContext.prototype.time = function() { - return this.getTypedRuleContext(TimeContext,0); -}; - -Waitfor_statementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Waitfor_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Waitfor_statementContext.prototype.DELAY = function() { - return this.getToken(TSqlParser.DELAY, 0); -}; - -Waitfor_statementContext.prototype.TIME = function() { - return this.getToken(TSqlParser.TIME, 0); -}; - -Waitfor_statementContext.prototype.TIMEOUT = function() { - return this.getToken(TSqlParser.TIMEOUT, 0); -}; - -Waitfor_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWaitfor_statement(this); - } -}; - -Waitfor_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWaitfor_statement(this); - } -}; - -Waitfor_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWaitfor_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Waitfor_statementContext = Waitfor_statementContext; - -TSqlParser.prototype.waitfor_statement = function() { - - var localctx = new Waitfor_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 38, TSqlParser.RULE_waitfor_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1299; - this.match(TSqlParser.WAITFOR); - this.state = 1301; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,32,this._ctx); - if(la_===1) { - this.state = 1300; - this.receive_statement(); - - } - this.state = 1304; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1303; - this.match(TSqlParser.COMMA); - } - - this.state = 1308; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,34,this._ctx); - if(la_===1) { - this.state = 1306; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DELAY || _la===TSqlParser.TIME || _la===TSqlParser.TIMEOUT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1307; - this.time(); - - } - this.state = 1311; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,35,this._ctx); - if(la_===1) { - this.state = 1310; - this.expression(0); - - } - this.state = 1314; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,36,this._ctx); - if(la_===1) { - this.state = 1313; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function While_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_while_statement; - return this; -} - -While_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -While_statementContext.prototype.constructor = While_statementContext; - -While_statementContext.prototype.WHILE = function() { - return this.getToken(TSqlParser.WHILE, 0); -}; - -While_statementContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -While_statementContext.prototype.sql_clause = function() { - return this.getTypedRuleContext(Sql_clauseContext,0); -}; - -While_statementContext.prototype.BREAK = function() { - return this.getToken(TSqlParser.BREAK, 0); -}; - -While_statementContext.prototype.CONTINUE = function() { - return this.getToken(TSqlParser.CONTINUE, 0); -}; - -While_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -While_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWhile_statement(this); - } -}; - -While_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWhile_statement(this); - } -}; - -While_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWhile_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.While_statementContext = While_statementContext; - -TSqlParser.prototype.while_statement = function() { - - var localctx = new While_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 40, TSqlParser.RULE_while_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1316; - this.match(TSqlParser.WHILE); - this.state = 1317; - this.search_condition(); - this.state = 1327; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,39,this._ctx); - switch(la_) { - case 1: - this.state = 1318; - this.sql_clause(); - break; - - case 2: - this.state = 1319; - this.match(TSqlParser.BREAK); - this.state = 1321; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,37,this._ctx); - if(la_===1) { - this.state = 1320; - this.match(TSqlParser.SEMI); - - } - break; - - case 3: - this.state = 1323; - this.match(TSqlParser.CONTINUE); - this.state = 1325; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,38,this._ctx); - if(la_===1) { - this.state = 1324; - this.match(TSqlParser.SEMI); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Print_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_print_statement; - return this; -} - -Print_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Print_statementContext.prototype.constructor = Print_statementContext; - -Print_statementContext.prototype.PRINT = function() { - return this.getToken(TSqlParser.PRINT, 0); -}; - -Print_statementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Print_statementContext.prototype.DOUBLE_QUOTE_ID = function() { - return this.getToken(TSqlParser.DOUBLE_QUOTE_ID, 0); -}; - -Print_statementContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Print_statementContext.prototype.LOCAL_ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOCAL_ID); - } else { - return this.getToken(TSqlParser.LOCAL_ID, i); - } -}; - - -Print_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Print_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPrint_statement(this); - } -}; - -Print_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPrint_statement(this); - } -}; - -Print_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPrint_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Print_statementContext = Print_statementContext; - -TSqlParser.prototype.print_statement = function() { - - var localctx = new Print_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 42, TSqlParser.RULE_print_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1329; - this.match(TSqlParser.PRINT); - this.state = 1332; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,40,this._ctx); - switch(la_) { - case 1: - this.state = 1330; - this.expression(0); - break; - - case 2: - this.state = 1331; - this.match(TSqlParser.DOUBLE_QUOTE_ID); - break; - - } - this.state = 1338; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 1334; - this.match(TSqlParser.COMMA); - this.state = 1335; - this.match(TSqlParser.LOCAL_ID); - this.state = 1340; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1342; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,42,this._ctx); - if(la_===1) { - this.state = 1341; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Raiseerror_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_raiseerror_statement; - this.msg = null; // Token - this.severity = null; // Constant_LOCAL_IDContext - this.state = null; // Constant_LOCAL_IDContext - this.formatstring = null; // Token - this.argument = null; // Token - return this; -} - -Raiseerror_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Raiseerror_statementContext.prototype.constructor = Raiseerror_statementContext; - -Raiseerror_statementContext.prototype.RAISERROR = function() { - return this.getToken(TSqlParser.RAISERROR, 0); -}; - -Raiseerror_statementContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Raiseerror_statementContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Raiseerror_statementContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Raiseerror_statementContext.prototype.constant_LOCAL_ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Constant_LOCAL_IDContext); - } else { - return this.getTypedRuleContext(Constant_LOCAL_IDContext,i); - } -}; - -Raiseerror_statementContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Raiseerror_statementContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Raiseerror_statementContext.prototype.LOCAL_ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOCAL_ID); - } else { - return this.getToken(TSqlParser.LOCAL_ID, i); - } -}; - - -Raiseerror_statementContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Raiseerror_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Raiseerror_statementContext.prototype.LOG = function() { - return this.getToken(TSqlParser.LOG, 0); -}; - -Raiseerror_statementContext.prototype.SETERROR = function() { - return this.getToken(TSqlParser.SETERROR, 0); -}; - -Raiseerror_statementContext.prototype.DOUBLE_QUOTE_ID = function() { - return this.getToken(TSqlParser.DOUBLE_QUOTE_ID, 0); -}; - -Raiseerror_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterRaiseerror_statement(this); - } -}; - -Raiseerror_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitRaiseerror_statement(this); - } -}; - -Raiseerror_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitRaiseerror_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Raiseerror_statementContext = Raiseerror_statementContext; - -TSqlParser.prototype.raiseerror_statement = function() { - - var localctx = new Raiseerror_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 44, TSqlParser.RULE_raiseerror_statement); - var _la = 0; // Token type - try { - this.state = 1376; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,47,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1344; - this.match(TSqlParser.RAISERROR); - this.state = 1345; - this.match(TSqlParser.LR_BRACKET); - this.state = 1346; - localctx.msg = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 799)) & ~0x1f) == 0 && ((1 << (_la - 799)) & ((1 << (TSqlParser.LOCAL_ID - 799)) | (1 << (TSqlParser.DECIMAL - 799)) | (1 << (TSqlParser.STRING - 799)))) !== 0))) { - localctx.msg = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1347; - this.match(TSqlParser.COMMA); - this.state = 1348; - localctx.severity = this.constant_LOCAL_ID(); - this.state = 1349; - this.match(TSqlParser.COMMA); - this.state = 1350; - localctx.state = this.constant_LOCAL_ID(); - this.state = 1355; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 1351; - this.match(TSqlParser.COMMA); - this.state = 1352; - this.constant_LOCAL_ID(); - this.state = 1357; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1358; - this.match(TSqlParser.RR_BRACKET); - this.state = 1361; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,44,this._ctx); - if(la_===1) { - this.state = 1359; - this.match(TSqlParser.WITH); - this.state = 1360; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOG || _la===TSqlParser.SETERROR)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 1364; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,45,this._ctx); - if(la_===1) { - this.state = 1363; - this.match(TSqlParser.SEMI); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1366; - this.match(TSqlParser.RAISERROR); - this.state = 1367; - this.match(TSqlParser.DECIMAL); - this.state = 1368; - localctx.formatstring = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.LOCAL_ID - 796)) | (1 << (TSqlParser.STRING - 796)))) !== 0))) { - localctx.formatstring = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1373; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 1369; - this.match(TSqlParser.COMMA); - this.state = 1370; - localctx.argument = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 799)) & ~0x1f) == 0 && ((1 << (_la - 799)) & ((1 << (TSqlParser.LOCAL_ID - 799)) | (1 << (TSqlParser.DECIMAL - 799)) | (1 << (TSqlParser.STRING - 799)))) !== 0))) { - localctx.argument = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1375; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Empty_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_empty_statement; - return this; -} - -Empty_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Empty_statementContext.prototype.constructor = Empty_statementContext; - -Empty_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Empty_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEmpty_statement(this); - } -}; - -Empty_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEmpty_statement(this); - } -}; - -Empty_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEmpty_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Empty_statementContext = Empty_statementContext; - -TSqlParser.prototype.empty_statement = function() { - - var localctx = new Empty_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 46, TSqlParser.RULE_empty_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1378; - this.match(TSqlParser.SEMI); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Another_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_another_statement; - return this; -} - -Another_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Another_statementContext.prototype.constructor = Another_statementContext; - -Another_statementContext.prototype.declare_statement = function() { - return this.getTypedRuleContext(Declare_statementContext,0); -}; - -Another_statementContext.prototype.cursor_statement = function() { - return this.getTypedRuleContext(Cursor_statementContext,0); -}; - -Another_statementContext.prototype.conversation_statement = function() { - return this.getTypedRuleContext(Conversation_statementContext,0); -}; - -Another_statementContext.prototype.create_contract = function() { - return this.getTypedRuleContext(Create_contractContext,0); -}; - -Another_statementContext.prototype.create_queue = function() { - return this.getTypedRuleContext(Create_queueContext,0); -}; - -Another_statementContext.prototype.alter_queue = function() { - return this.getTypedRuleContext(Alter_queueContext,0); -}; - -Another_statementContext.prototype.execute_statement = function() { - return this.getTypedRuleContext(Execute_statementContext,0); -}; - -Another_statementContext.prototype.kill_statement = function() { - return this.getTypedRuleContext(Kill_statementContext,0); -}; - -Another_statementContext.prototype.message_statement = function() { - return this.getTypedRuleContext(Message_statementContext,0); -}; - -Another_statementContext.prototype.security_statement = function() { - return this.getTypedRuleContext(Security_statementContext,0); -}; - -Another_statementContext.prototype.set_statement = function() { - return this.getTypedRuleContext(Set_statementContext,0); -}; - -Another_statementContext.prototype.transaction_statement = function() { - return this.getTypedRuleContext(Transaction_statementContext,0); -}; - -Another_statementContext.prototype.use_statement = function() { - return this.getTypedRuleContext(Use_statementContext,0); -}; - -Another_statementContext.prototype.setuser_statement = function() { - return this.getTypedRuleContext(Setuser_statementContext,0); -}; - -Another_statementContext.prototype.reconfigure_statement = function() { - return this.getTypedRuleContext(Reconfigure_statementContext,0); -}; - -Another_statementContext.prototype.shutdown_statement = function() { - return this.getTypedRuleContext(Shutdown_statementContext,0); -}; - -Another_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAnother_statement(this); - } -}; - -Another_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAnother_statement(this); - } -}; - -Another_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAnother_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Another_statementContext = Another_statementContext; - -TSqlParser.prototype.another_statement = function() { - - var localctx = new Another_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 48, TSqlParser.RULE_another_statement); - try { - this.state = 1396; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,48,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1380; - this.declare_statement(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1381; - this.cursor_statement(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1382; - this.conversation_statement(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1383; - this.create_contract(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1384; - this.create_queue(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 1385; - this.alter_queue(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 1386; - this.execute_statement(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 1387; - this.kill_statement(); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 1388; - this.message_statement(); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 1389; - this.security_statement(); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 1390; - this.set_statement(); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 1391; - this.transaction_statement(); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 1392; - this.use_statement(); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 1393; - this.setuser_statement(); - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 1394; - this.reconfigure_statement(); - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 1395; - this.shutdown_statement(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_application_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_application_role; - this.appliction_role = null; // IdContext - this.new_application_role_name = null; // IdContext - this.application_role_password = null; // Token - this.app_role_default_schema = null; // IdContext - return this; -} - -Alter_application_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_application_roleContext.prototype.constructor = Alter_application_roleContext; - -Alter_application_roleContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_application_roleContext.prototype.APPLICATION = function() { - return this.getToken(TSqlParser.APPLICATION, 0); -}; - -Alter_application_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Alter_application_roleContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_application_roleContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_application_roleContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Alter_application_roleContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_application_roleContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Alter_application_roleContext.prototype.DEFAULT_SCHEMA = function() { - return this.getToken(TSqlParser.DEFAULT_SCHEMA, 0); -}; - -Alter_application_roleContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_application_roleContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_application_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_application_role(this); - } -}; - -Alter_application_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_application_role(this); - } -}; - -Alter_application_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_application_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_application_roleContext = Alter_application_roleContext; - -TSqlParser.prototype.alter_application_role = function() { - - var localctx = new Alter_application_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 50, TSqlParser.RULE_alter_application_role); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1398; - this.match(TSqlParser.ALTER); - this.state = 1399; - this.match(TSqlParser.APPLICATION); - this.state = 1400; - this.match(TSqlParser.ROLE); - this.state = 1401; - localctx.appliction_role = this.id(); - this.state = 1402; - this.match(TSqlParser.WITH); - this.state = 1409; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,50,this._ctx); - if(la_===1) { - this.state = 1404; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1403; - this.match(TSqlParser.COMMA); - } - - this.state = 1406; - this.match(TSqlParser.NAME); - this.state = 1407; - this.match(TSqlParser.EQUAL); - this.state = 1408; - localctx.new_application_role_name = this.id(); - - } - this.state = 1417; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,52,this._ctx); - if(la_===1) { - this.state = 1412; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1411; - this.match(TSqlParser.COMMA); - } - - this.state = 1414; - this.match(TSqlParser.PASSWORD); - this.state = 1415; - this.match(TSqlParser.EQUAL); - this.state = 1416; - localctx.application_role_password = this.match(TSqlParser.STRING); - - } - this.state = 1425; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.DEFAULT_SCHEMA || _la===TSqlParser.COMMA) { - this.state = 1420; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1419; - this.match(TSqlParser.COMMA); - } - - this.state = 1422; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 1423; - this.match(TSqlParser.EQUAL); - this.state = 1424; - localctx.app_role_default_schema = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_application_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_application_role; - this.appliction_role = null; // IdContext - this.application_role_password = null; // Token - this.app_role_default_schema = null; // IdContext - return this; -} - -Create_application_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_application_roleContext.prototype.constructor = Create_application_roleContext; - -Create_application_roleContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_application_roleContext.prototype.APPLICATION = function() { - return this.getToken(TSqlParser.APPLICATION, 0); -}; - -Create_application_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Create_application_roleContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_application_roleContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_application_roleContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_application_roleContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_application_roleContext.prototype.DEFAULT_SCHEMA = function() { - return this.getToken(TSqlParser.DEFAULT_SCHEMA, 0); -}; - -Create_application_roleContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_application_roleContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_application_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_application_role(this); - } -}; - -Create_application_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_application_role(this); - } -}; - -Create_application_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_application_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_application_roleContext = Create_application_roleContext; - -TSqlParser.prototype.create_application_role = function() { - - var localctx = new Create_application_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 52, TSqlParser.RULE_create_application_role); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1427; - this.match(TSqlParser.CREATE); - this.state = 1428; - this.match(TSqlParser.APPLICATION); - this.state = 1429; - this.match(TSqlParser.ROLE); - this.state = 1430; - localctx.appliction_role = this.id(); - this.state = 1431; - this.match(TSqlParser.WITH); - this.state = 1438; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,56,this._ctx); - if(la_===1) { - this.state = 1433; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1432; - this.match(TSqlParser.COMMA); - } - - this.state = 1435; - this.match(TSqlParser.PASSWORD); - this.state = 1436; - this.match(TSqlParser.EQUAL); - this.state = 1437; - localctx.application_role_password = this.match(TSqlParser.STRING); - - } - this.state = 1446; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.DEFAULT_SCHEMA || _la===TSqlParser.COMMA) { - this.state = 1441; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1440; - this.match(TSqlParser.COMMA); - } - - this.state = 1443; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 1444; - this.match(TSqlParser.EQUAL); - this.state = 1445; - localctx.app_role_default_schema = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_aggregateContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_aggregate; - this.schema_name = null; // IdContext - this.aggregate_name = null; // IdContext - return this; -} - -Drop_aggregateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_aggregateContext.prototype.constructor = Drop_aggregateContext; - -Drop_aggregateContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_aggregateContext.prototype.AGGREGATE = function() { - return this.getToken(TSqlParser.AGGREGATE, 0); -}; - -Drop_aggregateContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_aggregateContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_aggregateContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_aggregateContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Drop_aggregateContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_aggregate(this); - } -}; - -Drop_aggregateContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_aggregate(this); - } -}; - -Drop_aggregateContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_aggregate(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_aggregateContext = Drop_aggregateContext; - -TSqlParser.prototype.drop_aggregate = function() { - - var localctx = new Drop_aggregateContext(this, this._ctx, this.state); - this.enterRule(localctx, 54, TSqlParser.RULE_drop_aggregate); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1448; - this.match(TSqlParser.DROP); - this.state = 1449; - this.match(TSqlParser.AGGREGATE); - this.state = 1452; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 1450; - this.match(TSqlParser.IF); - this.state = 1451; - this.match(TSqlParser.EXISTS); - } - - this.state = 1457; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,60,this._ctx); - if(la_===1) { - this.state = 1454; - localctx.schema_name = this.id(); - this.state = 1455; - this.match(TSqlParser.DOT); - - } - this.state = 1459; - localctx.aggregate_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_application_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_application_role; - this.rolename = null; // IdContext - return this; -} - -Drop_application_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_application_roleContext.prototype.constructor = Drop_application_roleContext; - -Drop_application_roleContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_application_roleContext.prototype.APPLICATION = function() { - return this.getToken(TSqlParser.APPLICATION, 0); -}; - -Drop_application_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Drop_application_roleContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_application_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_application_role(this); - } -}; - -Drop_application_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_application_role(this); - } -}; - -Drop_application_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_application_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_application_roleContext = Drop_application_roleContext; - -TSqlParser.prototype.drop_application_role = function() { - - var localctx = new Drop_application_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 56, TSqlParser.RULE_drop_application_role); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1461; - this.match(TSqlParser.DROP); - this.state = 1462; - this.match(TSqlParser.APPLICATION); - this.state = 1463; - this.match(TSqlParser.ROLE); - this.state = 1464; - localctx.rolename = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assemblyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly; - this.assembly_name = null; // IdContext - return this; -} - -Alter_assemblyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assemblyContext.prototype.constructor = Alter_assemblyContext; - -Alter_assemblyContext.prototype.alter_assembly_start = function() { - return this.getTypedRuleContext(Alter_assembly_startContext,0); -}; - -Alter_assemblyContext.prototype.alter_assembly_clause = function() { - return this.getTypedRuleContext(Alter_assembly_clauseContext,0); -}; - -Alter_assemblyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_assemblyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly(this); - } -}; - -Alter_assemblyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly(this); - } -}; - -Alter_assemblyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assemblyContext = Alter_assemblyContext; - -TSqlParser.prototype.alter_assembly = function() { - - var localctx = new Alter_assemblyContext(this, this._ctx, this.state); - this.enterRule(localctx, 58, TSqlParser.RULE_alter_assembly); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1466; - this.alter_assembly_start(); - this.state = 1467; - localctx.assembly_name = this.id(); - this.state = 1468; - this.alter_assembly_clause(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_start; - return this; -} - -Alter_assembly_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_startContext.prototype.constructor = Alter_assembly_startContext; - -Alter_assembly_startContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_assembly_startContext.prototype.ASSEMBLY = function() { - return this.getToken(TSqlParser.ASSEMBLY, 0); -}; - -Alter_assembly_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_start(this); - } -}; - -Alter_assembly_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_start(this); - } -}; - -Alter_assembly_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_startContext = Alter_assembly_startContext; - -TSqlParser.prototype.alter_assembly_start = function() { - - var localctx = new Alter_assembly_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 60, TSqlParser.RULE_alter_assembly_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1470; - this.match(TSqlParser.ALTER); - this.state = 1471; - this.match(TSqlParser.ASSEMBLY); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_clause; - return this; -} - -Alter_assembly_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_clauseContext.prototype.constructor = Alter_assembly_clauseContext; - -Alter_assembly_clauseContext.prototype.alter_assembly_from_clause = function() { - return this.getTypedRuleContext(Alter_assembly_from_clauseContext,0); -}; - -Alter_assembly_clauseContext.prototype.alter_assembly_with_clause = function() { - return this.getTypedRuleContext(Alter_assembly_with_clauseContext,0); -}; - -Alter_assembly_clauseContext.prototype.alter_assembly_drop_clause = function() { - return this.getTypedRuleContext(Alter_assembly_drop_clauseContext,0); -}; - -Alter_assembly_clauseContext.prototype.alter_assembly_add_clause = function() { - return this.getTypedRuleContext(Alter_assembly_add_clauseContext,0); -}; - -Alter_assembly_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_clause(this); - } -}; - -Alter_assembly_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_clause(this); - } -}; - -Alter_assembly_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_clauseContext = Alter_assembly_clauseContext; - -TSqlParser.prototype.alter_assembly_clause = function() { - - var localctx = new Alter_assembly_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 62, TSqlParser.RULE_alter_assembly_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1474; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 1473; - this.alter_assembly_from_clause(); - } - - this.state = 1477; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,62,this._ctx); - if(la_===1) { - this.state = 1476; - this.alter_assembly_with_clause(); - - } - this.state = 1480; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,63,this._ctx); - if(la_===1) { - this.state = 1479; - this.alter_assembly_drop_clause(); - - } - this.state = 1483; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ADD) { - this.state = 1482; - this.alter_assembly_add_clause(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_from_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_from_clause; - return this; -} - -Alter_assembly_from_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_from_clauseContext.prototype.constructor = Alter_assembly_from_clauseContext; - -Alter_assembly_from_clauseContext.prototype.alter_assembly_from_clause_start = function() { - return this.getTypedRuleContext(Alter_assembly_from_clause_startContext,0); -}; - -Alter_assembly_from_clauseContext.prototype.client_assembly_specifier = function() { - return this.getTypedRuleContext(Client_assembly_specifierContext,0); -}; - -Alter_assembly_from_clauseContext.prototype.alter_assembly_file_bits = function() { - return this.getTypedRuleContext(Alter_assembly_file_bitsContext,0); -}; - -Alter_assembly_from_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_from_clause(this); - } -}; - -Alter_assembly_from_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_from_clause(this); - } -}; - -Alter_assembly_from_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_from_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_from_clauseContext = Alter_assembly_from_clauseContext; - -TSqlParser.prototype.alter_assembly_from_clause = function() { - - var localctx = new Alter_assembly_from_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 64, TSqlParser.RULE_alter_assembly_from_clause); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1485; - this.alter_assembly_from_clause_start(); - this.state = 1488; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DOUBLE_BACK_SLASH: - case TSqlParser.DISK_DRIVE: - case TSqlParser.STRING: - this.state = 1486; - this.client_assembly_specifier(); - break; - case TSqlParser.AS: - this.state = 1487; - this.alter_assembly_file_bits(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_from_clause_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_from_clause_start; - return this; -} - -Alter_assembly_from_clause_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_from_clause_startContext.prototype.constructor = Alter_assembly_from_clause_startContext; - -Alter_assembly_from_clause_startContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Alter_assembly_from_clause_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_from_clause_start(this); - } -}; - -Alter_assembly_from_clause_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_from_clause_start(this); - } -}; - -Alter_assembly_from_clause_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_from_clause_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_from_clause_startContext = Alter_assembly_from_clause_startContext; - -TSqlParser.prototype.alter_assembly_from_clause_start = function() { - - var localctx = new Alter_assembly_from_clause_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 66, TSqlParser.RULE_alter_assembly_from_clause_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1490; - this.match(TSqlParser.FROM); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_drop_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_drop_clause; - return this; -} - -Alter_assembly_drop_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_drop_clauseContext.prototype.constructor = Alter_assembly_drop_clauseContext; - -Alter_assembly_drop_clauseContext.prototype.alter_assembly_drop = function() { - return this.getTypedRuleContext(Alter_assembly_dropContext,0); -}; - -Alter_assembly_drop_clauseContext.prototype.alter_assembly_drop_multiple_files = function() { - return this.getTypedRuleContext(Alter_assembly_drop_multiple_filesContext,0); -}; - -Alter_assembly_drop_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_drop_clause(this); - } -}; - -Alter_assembly_drop_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_drop_clause(this); - } -}; - -Alter_assembly_drop_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_drop_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_drop_clauseContext = Alter_assembly_drop_clauseContext; - -TSqlParser.prototype.alter_assembly_drop_clause = function() { - - var localctx = new Alter_assembly_drop_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 68, TSqlParser.RULE_alter_assembly_drop_clause); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1492; - this.alter_assembly_drop(); - this.state = 1493; - this.alter_assembly_drop_multiple_files(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_drop_multiple_filesContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_drop_multiple_files; - return this; -} - -Alter_assembly_drop_multiple_filesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_drop_multiple_filesContext.prototype.constructor = Alter_assembly_drop_multiple_filesContext; - -Alter_assembly_drop_multiple_filesContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Alter_assembly_drop_multiple_filesContext.prototype.multiple_local_files = function() { - return this.getTypedRuleContext(Multiple_local_filesContext,0); -}; - -Alter_assembly_drop_multiple_filesContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_drop_multiple_files(this); - } -}; - -Alter_assembly_drop_multiple_filesContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_drop_multiple_files(this); - } -}; - -Alter_assembly_drop_multiple_filesContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_drop_multiple_files(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_drop_multiple_filesContext = Alter_assembly_drop_multiple_filesContext; - -TSqlParser.prototype.alter_assembly_drop_multiple_files = function() { - - var localctx = new Alter_assembly_drop_multiple_filesContext(this, this._ctx, this.state); - this.enterRule(localctx, 70, TSqlParser.RULE_alter_assembly_drop_multiple_files); - try { - this.state = 1497; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALL: - this.enterOuterAlt(localctx, 1); - this.state = 1495; - this.match(TSqlParser.ALL); - break; - case TSqlParser.DISK_DRIVE: - case TSqlParser.SINGLE_QUOTE: - this.enterOuterAlt(localctx, 2); - this.state = 1496; - this.multiple_local_files(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_dropContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_drop; - return this; -} - -Alter_assembly_dropContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_dropContext.prototype.constructor = Alter_assembly_dropContext; - -Alter_assembly_dropContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_assembly_dropContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_drop(this); - } -}; - -Alter_assembly_dropContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_drop(this); - } -}; - -Alter_assembly_dropContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_drop(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_dropContext = Alter_assembly_dropContext; - -TSqlParser.prototype.alter_assembly_drop = function() { - - var localctx = new Alter_assembly_dropContext(this, this._ctx, this.state); - this.enterRule(localctx, 72, TSqlParser.RULE_alter_assembly_drop); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1499; - this.match(TSqlParser.DROP); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_add_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_add_clause; - return this; -} - -Alter_assembly_add_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_add_clauseContext.prototype.constructor = Alter_assembly_add_clauseContext; - -Alter_assembly_add_clauseContext.prototype.alter_asssembly_add_clause_start = function() { - return this.getTypedRuleContext(Alter_asssembly_add_clause_startContext,0); -}; - -Alter_assembly_add_clauseContext.prototype.alter_assembly_client_file_clause = function() { - return this.getTypedRuleContext(Alter_assembly_client_file_clauseContext,0); -}; - -Alter_assembly_add_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_add_clause(this); - } -}; - -Alter_assembly_add_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_add_clause(this); - } -}; - -Alter_assembly_add_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_add_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_add_clauseContext = Alter_assembly_add_clauseContext; - -TSqlParser.prototype.alter_assembly_add_clause = function() { - - var localctx = new Alter_assembly_add_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 74, TSqlParser.RULE_alter_assembly_add_clause); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1501; - this.alter_asssembly_add_clause_start(); - this.state = 1502; - this.alter_assembly_client_file_clause(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_asssembly_add_clause_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_asssembly_add_clause_start; - return this; -} - -Alter_asssembly_add_clause_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_asssembly_add_clause_startContext.prototype.constructor = Alter_asssembly_add_clause_startContext; - -Alter_asssembly_add_clause_startContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_asssembly_add_clause_startContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Alter_asssembly_add_clause_startContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Alter_asssembly_add_clause_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_asssembly_add_clause_start(this); - } -}; - -Alter_asssembly_add_clause_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_asssembly_add_clause_start(this); - } -}; - -Alter_asssembly_add_clause_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_asssembly_add_clause_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_asssembly_add_clause_startContext = Alter_asssembly_add_clause_startContext; - -TSqlParser.prototype.alter_asssembly_add_clause_start = function() { - - var localctx = new Alter_asssembly_add_clause_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 76, TSqlParser.RULE_alter_asssembly_add_clause_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1504; - this.match(TSqlParser.ADD); - this.state = 1505; - this.match(TSqlParser.FILE); - this.state = 1506; - this.match(TSqlParser.FROM); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_client_file_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_client_file_clause; - return this; -} - -Alter_assembly_client_file_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_client_file_clauseContext.prototype.constructor = Alter_assembly_client_file_clauseContext; - -Alter_assembly_client_file_clauseContext.prototype.alter_assembly_file_name = function() { - return this.getTypedRuleContext(Alter_assembly_file_nameContext,0); -}; - -Alter_assembly_client_file_clauseContext.prototype.alter_assembly_as = function() { - return this.getTypedRuleContext(Alter_assembly_asContext,0); -}; - -Alter_assembly_client_file_clauseContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_assembly_client_file_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_client_file_clause(this); - } -}; - -Alter_assembly_client_file_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_client_file_clause(this); - } -}; - -Alter_assembly_client_file_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_client_file_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_client_file_clauseContext = Alter_assembly_client_file_clauseContext; - -TSqlParser.prototype.alter_assembly_client_file_clause = function() { - - var localctx = new Alter_assembly_client_file_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 78, TSqlParser.RULE_alter_assembly_client_file_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1508; - this.alter_assembly_file_name(); - this.state = 1512; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 1509; - this.alter_assembly_as(); - this.state = 1510; - this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_file_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_file_name; - return this; -} - -Alter_assembly_file_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_file_nameContext.prototype.constructor = Alter_assembly_file_nameContext; - -Alter_assembly_file_nameContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_assembly_file_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_file_name(this); - } -}; - -Alter_assembly_file_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_file_name(this); - } -}; - -Alter_assembly_file_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_file_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_file_nameContext = Alter_assembly_file_nameContext; - -TSqlParser.prototype.alter_assembly_file_name = function() { - - var localctx = new Alter_assembly_file_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 80, TSqlParser.RULE_alter_assembly_file_name); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1514; - this.match(TSqlParser.STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_file_bitsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_file_bits; - return this; -} - -Alter_assembly_file_bitsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_file_bitsContext.prototype.constructor = Alter_assembly_file_bitsContext; - -Alter_assembly_file_bitsContext.prototype.alter_assembly_as = function() { - return this.getTypedRuleContext(Alter_assembly_asContext,0); -}; - -Alter_assembly_file_bitsContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_assembly_file_bitsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_file_bits(this); - } -}; - -Alter_assembly_file_bitsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_file_bits(this); - } -}; - -Alter_assembly_file_bitsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_file_bits(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_file_bitsContext = Alter_assembly_file_bitsContext; - -TSqlParser.prototype.alter_assembly_file_bits = function() { - - var localctx = new Alter_assembly_file_bitsContext(this, this._ctx, this.state); - this.enterRule(localctx, 82, TSqlParser.RULE_alter_assembly_file_bits); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1516; - this.alter_assembly_as(); - this.state = 1517; - this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_asContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_as; - return this; -} - -Alter_assembly_asContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_asContext.prototype.constructor = Alter_assembly_asContext; - -Alter_assembly_asContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Alter_assembly_asContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_as(this); - } -}; - -Alter_assembly_asContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_as(this); - } -}; - -Alter_assembly_asContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_as(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_asContext = Alter_assembly_asContext; - -TSqlParser.prototype.alter_assembly_as = function() { - - var localctx = new Alter_assembly_asContext(this, this._ctx, this.state); - this.enterRule(localctx, 84, TSqlParser.RULE_alter_assembly_as); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1519; - this.match(TSqlParser.AS); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_with_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_with_clause; - return this; -} - -Alter_assembly_with_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_with_clauseContext.prototype.constructor = Alter_assembly_with_clauseContext; - -Alter_assembly_with_clauseContext.prototype.alter_assembly_with = function() { - return this.getTypedRuleContext(Alter_assembly_withContext,0); -}; - -Alter_assembly_with_clauseContext.prototype.assembly_option = function() { - return this.getTypedRuleContext(Assembly_optionContext,0); -}; - -Alter_assembly_with_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_with_clause(this); - } -}; - -Alter_assembly_with_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_with_clause(this); - } -}; - -Alter_assembly_with_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_with_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_with_clauseContext = Alter_assembly_with_clauseContext; - -TSqlParser.prototype.alter_assembly_with_clause = function() { - - var localctx = new Alter_assembly_with_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 86, TSqlParser.RULE_alter_assembly_with_clause); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1521; - this.alter_assembly_with(); - this.state = 1522; - this.assembly_option(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_assembly_withContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_assembly_with; - return this; -} - -Alter_assembly_withContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_assembly_withContext.prototype.constructor = Alter_assembly_withContext; - -Alter_assembly_withContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_assembly_withContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_assembly_with(this); - } -}; - -Alter_assembly_withContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_assembly_with(this); - } -}; - -Alter_assembly_withContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_assembly_with(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_assembly_withContext = Alter_assembly_withContext; - -TSqlParser.prototype.alter_assembly_with = function() { - - var localctx = new Alter_assembly_withContext(this, this._ctx, this.state); - this.enterRule(localctx, 88, TSqlParser.RULE_alter_assembly_with); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1524; - this.match(TSqlParser.WITH); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Client_assembly_specifierContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_client_assembly_specifier; - return this; -} - -Client_assembly_specifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Client_assembly_specifierContext.prototype.constructor = Client_assembly_specifierContext; - -Client_assembly_specifierContext.prototype.network_file_share = function() { - return this.getTypedRuleContext(Network_file_shareContext,0); -}; - -Client_assembly_specifierContext.prototype.local_file = function() { - return this.getTypedRuleContext(Local_fileContext,0); -}; - -Client_assembly_specifierContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Client_assembly_specifierContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterClient_assembly_specifier(this); - } -}; - -Client_assembly_specifierContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitClient_assembly_specifier(this); - } -}; - -Client_assembly_specifierContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitClient_assembly_specifier(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Client_assembly_specifierContext = Client_assembly_specifierContext; - -TSqlParser.prototype.client_assembly_specifier = function() { - - var localctx = new Client_assembly_specifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 90, TSqlParser.RULE_client_assembly_specifier); - try { - this.state = 1529; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DOUBLE_BACK_SLASH: - this.enterOuterAlt(localctx, 1); - this.state = 1526; - this.network_file_share(); - break; - case TSqlParser.DISK_DRIVE: - this.enterOuterAlt(localctx, 2); - this.state = 1527; - this.local_file(); - break; - case TSqlParser.STRING: - this.enterOuterAlt(localctx, 3); - this.state = 1528; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Assembly_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_assembly_option; - return this; -} - -Assembly_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Assembly_optionContext.prototype.constructor = Assembly_optionContext; - -Assembly_optionContext.prototype.PERMISSION_SET = function() { - return this.getToken(TSqlParser.PERMISSION_SET, 0); -}; - -Assembly_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Assembly_optionContext.prototype.SAFE = function() { - return this.getToken(TSqlParser.SAFE, 0); -}; - -Assembly_optionContext.prototype.EXTERNAL_ACCESS = function() { - return this.getToken(TSqlParser.EXTERNAL_ACCESS, 0); -}; - -Assembly_optionContext.prototype.UNSAFE = function() { - return this.getToken(TSqlParser.UNSAFE, 0); -}; - -Assembly_optionContext.prototype.VISIBILITY = function() { - return this.getToken(TSqlParser.VISIBILITY, 0); -}; - -Assembly_optionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Assembly_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Assembly_optionContext.prototype.UNCHECKED = function() { - return this.getToken(TSqlParser.UNCHECKED, 0); -}; - -Assembly_optionContext.prototype.DATA = function() { - return this.getToken(TSqlParser.DATA, 0); -}; - -Assembly_optionContext.prototype.assembly_option = function() { - return this.getTypedRuleContext(Assembly_optionContext,0); -}; - -Assembly_optionContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Assembly_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAssembly_option(this); - } -}; - -Assembly_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAssembly_option(this); - } -}; - -Assembly_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAssembly_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - -TSqlParser.prototype.assembly_option = function(_p) { - if(_p===undefined) { - _p = 0; - } - var _parentctx = this._ctx; - var _parentState = this.state; - var localctx = new Assembly_optionContext(this, this._ctx, _parentState); - var _prevctx = localctx; - var _startState = 92; - this.enterRecursionRule(localctx, 92, TSqlParser.RULE_assembly_option, _p); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1540; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PERMISSION_SET: - this.state = 1532; - this.match(TSqlParser.PERMISSION_SET); - this.state = 1533; - this.match(TSqlParser.EQUAL); - this.state = 1534; - _la = this._input.LA(1); - if(!(_la===TSqlParser.EXTERNAL_ACCESS || _la===TSqlParser.SAFE || _la===TSqlParser.UNSAFE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.VISIBILITY: - this.state = 1535; - this.match(TSqlParser.VISIBILITY); - this.state = 1536; - this.match(TSqlParser.EQUAL); - this.state = 1537; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.UNCHECKED: - this.state = 1538; - this.match(TSqlParser.UNCHECKED); - this.state = 1539; - this.match(TSqlParser.DATA); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this._ctx.stop = this._input.LT(-1); - this.state = 1546; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,70,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - localctx = new Assembly_optionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, TSqlParser.RULE_assembly_option); - this.state = 1542; - if (!( this.precpred(this._ctx, 1))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)"); - } - this.state = 1543; - this.match(TSqlParser.COMMA); - } - this.state = 1548; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,70,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; -}; - - -function Network_file_shareContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_network_file_share; - return this; -} - -Network_file_shareContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Network_file_shareContext.prototype.constructor = Network_file_shareContext; - -Network_file_shareContext.prototype.network_file_start = function() { - return this.getTypedRuleContext(Network_file_startContext,0); -}; - -Network_file_shareContext.prototype.network_computer = function() { - return this.getTypedRuleContext(Network_computerContext,0); -}; - -Network_file_shareContext.prototype.file_path = function() { - return this.getTypedRuleContext(File_pathContext,0); -}; - -Network_file_shareContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterNetwork_file_share(this); - } -}; - -Network_file_shareContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitNetwork_file_share(this); - } -}; - -Network_file_shareContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitNetwork_file_share(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Network_file_shareContext = Network_file_shareContext; - -TSqlParser.prototype.network_file_share = function() { - - var localctx = new Network_file_shareContext(this, this._ctx, this.state); - this.enterRule(localctx, 94, TSqlParser.RULE_network_file_share); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1549; - this.network_file_start(); - this.state = 1550; - this.network_computer(); - this.state = 1551; - this.file_path(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Network_computerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_network_computer; - this.computer_name = null; // IdContext - return this; -} - -Network_computerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Network_computerContext.prototype.constructor = Network_computerContext; - -Network_computerContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Network_computerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterNetwork_computer(this); - } -}; - -Network_computerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitNetwork_computer(this); - } -}; - -Network_computerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitNetwork_computer(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Network_computerContext = Network_computerContext; - -TSqlParser.prototype.network_computer = function() { - - var localctx = new Network_computerContext(this, this._ctx, this.state); - this.enterRule(localctx, 96, TSqlParser.RULE_network_computer); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1553; - localctx.computer_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Network_file_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_network_file_start; - return this; -} - -Network_file_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Network_file_startContext.prototype.constructor = Network_file_startContext; - -Network_file_startContext.prototype.DOUBLE_BACK_SLASH = function() { - return this.getToken(TSqlParser.DOUBLE_BACK_SLASH, 0); -}; - -Network_file_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterNetwork_file_start(this); - } -}; - -Network_file_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitNetwork_file_start(this); - } -}; - -Network_file_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitNetwork_file_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Network_file_startContext = Network_file_startContext; - -TSqlParser.prototype.network_file_start = function() { - - var localctx = new Network_file_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 98, TSqlParser.RULE_network_file_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1555; - this.match(TSqlParser.DOUBLE_BACK_SLASH); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function File_pathContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_file_path; - return this; -} - -File_pathContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -File_pathContext.prototype.constructor = File_pathContext; - -File_pathContext.prototype.file_directory_path_separator = function() { - return this.getTypedRuleContext(File_directory_path_separatorContext,0); -}; - -File_pathContext.prototype.file_path = function() { - return this.getTypedRuleContext(File_pathContext,0); -}; - -File_pathContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -File_pathContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFile_path(this); - } -}; - -File_pathContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFile_path(this); - } -}; - -File_pathContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFile_path(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.File_pathContext = File_pathContext; - -TSqlParser.prototype.file_path = function() { - - var localctx = new File_pathContext(this, this._ctx, this.state); - this.enterRule(localctx, 100, TSqlParser.RULE_file_path); - try { - this.state = 1561; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.BACKSLASH: - this.enterOuterAlt(localctx, 1); - this.state = 1557; - this.file_directory_path_separator(); - this.state = 1558; - this.file_path(); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 2); - this.state = 1560; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function File_directory_path_separatorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_file_directory_path_separator; - return this; -} - -File_directory_path_separatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -File_directory_path_separatorContext.prototype.constructor = File_directory_path_separatorContext; - -File_directory_path_separatorContext.prototype.BACKSLASH = function() { - return this.getToken(TSqlParser.BACKSLASH, 0); -}; - -File_directory_path_separatorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFile_directory_path_separator(this); - } -}; - -File_directory_path_separatorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFile_directory_path_separator(this); - } -}; - -File_directory_path_separatorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFile_directory_path_separator(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.File_directory_path_separatorContext = File_directory_path_separatorContext; - -TSqlParser.prototype.file_directory_path_separator = function() { - - var localctx = new File_directory_path_separatorContext(this, this._ctx, this.state); - this.enterRule(localctx, 102, TSqlParser.RULE_file_directory_path_separator); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1563; - this.match(TSqlParser.BACKSLASH); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Local_fileContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_local_file; - return this; -} - -Local_fileContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Local_fileContext.prototype.constructor = Local_fileContext; - -Local_fileContext.prototype.local_drive = function() { - return this.getTypedRuleContext(Local_driveContext,0); -}; - -Local_fileContext.prototype.file_path = function() { - return this.getTypedRuleContext(File_pathContext,0); -}; - -Local_fileContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterLocal_file(this); - } -}; - -Local_fileContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitLocal_file(this); - } -}; - -Local_fileContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitLocal_file(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Local_fileContext = Local_fileContext; - -TSqlParser.prototype.local_file = function() { - - var localctx = new Local_fileContext(this, this._ctx, this.state); - this.enterRule(localctx, 104, TSqlParser.RULE_local_file); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1565; - this.local_drive(); - this.state = 1566; - this.file_path(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Local_driveContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_local_drive; - return this; -} - -Local_driveContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Local_driveContext.prototype.constructor = Local_driveContext; - -Local_driveContext.prototype.DISK_DRIVE = function() { - return this.getToken(TSqlParser.DISK_DRIVE, 0); -}; - -Local_driveContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterLocal_drive(this); - } -}; - -Local_driveContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitLocal_drive(this); - } -}; - -Local_driveContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitLocal_drive(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Local_driveContext = Local_driveContext; - -TSqlParser.prototype.local_drive = function() { - - var localctx = new Local_driveContext(this, this._ctx, this.state); - this.enterRule(localctx, 106, TSqlParser.RULE_local_drive); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1568; - this.match(TSqlParser.DISK_DRIVE); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Multiple_local_filesContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_multiple_local_files; - return this; -} - -Multiple_local_filesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Multiple_local_filesContext.prototype.constructor = Multiple_local_filesContext; - -Multiple_local_filesContext.prototype.multiple_local_file_start = function() { - return this.getTypedRuleContext(Multiple_local_file_startContext,0); -}; - -Multiple_local_filesContext.prototype.local_file = function() { - return this.getTypedRuleContext(Local_fileContext,0); -}; - -Multiple_local_filesContext.prototype.SINGLE_QUOTE = function() { - return this.getToken(TSqlParser.SINGLE_QUOTE, 0); -}; - -Multiple_local_filesContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Multiple_local_filesContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMultiple_local_files(this); - } -}; - -Multiple_local_filesContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMultiple_local_files(this); - } -}; - -Multiple_local_filesContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMultiple_local_files(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Multiple_local_filesContext = Multiple_local_filesContext; - -TSqlParser.prototype.multiple_local_files = function() { - - var localctx = new Multiple_local_filesContext(this, this._ctx, this.state); - this.enterRule(localctx, 108, TSqlParser.RULE_multiple_local_files); - try { - this.state = 1576; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.SINGLE_QUOTE: - this.enterOuterAlt(localctx, 1); - this.state = 1570; - this.multiple_local_file_start(); - this.state = 1571; - this.local_file(); - this.state = 1572; - this.match(TSqlParser.SINGLE_QUOTE); - this.state = 1573; - this.match(TSqlParser.COMMA); - break; - case TSqlParser.DISK_DRIVE: - this.enterOuterAlt(localctx, 2); - this.state = 1575; - this.local_file(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Multiple_local_file_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_multiple_local_file_start; - return this; -} - -Multiple_local_file_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Multiple_local_file_startContext.prototype.constructor = Multiple_local_file_startContext; - -Multiple_local_file_startContext.prototype.SINGLE_QUOTE = function() { - return this.getToken(TSqlParser.SINGLE_QUOTE, 0); -}; - -Multiple_local_file_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMultiple_local_file_start(this); - } -}; - -Multiple_local_file_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMultiple_local_file_start(this); - } -}; - -Multiple_local_file_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMultiple_local_file_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Multiple_local_file_startContext = Multiple_local_file_startContext; - -TSqlParser.prototype.multiple_local_file_start = function() { - - var localctx = new Multiple_local_file_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 110, TSqlParser.RULE_multiple_local_file_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1578; - this.match(TSqlParser.SINGLE_QUOTE); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_assemblyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_assembly; - this.assembly_name = null; // IdContext - this.owner_name = null; // IdContext - return this; -} - -Create_assemblyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_assemblyContext.prototype.constructor = Create_assemblyContext; - -Create_assemblyContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_assemblyContext.prototype.ASSEMBLY = function() { - return this.getToken(TSqlParser.ASSEMBLY, 0); -}; - -Create_assemblyContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_assemblyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_assemblyContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_assemblyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_assemblyContext.prototype.PERMISSION_SET = function() { - return this.getToken(TSqlParser.PERMISSION_SET, 0); -}; - -Create_assemblyContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_assemblyContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_assemblyContext.prototype.BINARY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BINARY); - } else { - return this.getToken(TSqlParser.BINARY, i); - } -}; - - -Create_assemblyContext.prototype.SAFE = function() { - return this.getToken(TSqlParser.SAFE, 0); -}; - -Create_assemblyContext.prototype.EXTERNAL_ACCESS = function() { - return this.getToken(TSqlParser.EXTERNAL_ACCESS, 0); -}; - -Create_assemblyContext.prototype.UNSAFE = function() { - return this.getToken(TSqlParser.UNSAFE, 0); -}; - -Create_assemblyContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_assemblyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_assembly(this); - } -}; - -Create_assemblyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_assembly(this); - } -}; - -Create_assemblyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_assembly(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_assemblyContext = Create_assemblyContext; - -TSqlParser.prototype.create_assembly = function() { - - var localctx = new Create_assemblyContext(this, this._ctx, this.state); - this.enterRule(localctx, 112, TSqlParser.RULE_create_assembly); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1580; - this.match(TSqlParser.CREATE); - this.state = 1581; - this.match(TSqlParser.ASSEMBLY); - this.state = 1582; - localctx.assembly_name = this.id(); - this.state = 1585; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 1583; - this.match(TSqlParser.AUTHORIZATION); - this.state = 1584; - localctx.owner_name = this.id(); - } - - this.state = 1587; - this.match(TSqlParser.FROM); - this.state = 1592; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 1589; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1588; - this.match(TSqlParser.COMMA); - } - - this.state = 1591; - _la = this._input.LA(1); - if(!(_la===TSqlParser.STRING || _la===TSqlParser.BINARY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1594; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,75, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - this.state = 1600; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,76,this._ctx); - if(la_===1) { - this.state = 1596; - this.match(TSqlParser.WITH); - this.state = 1597; - this.match(TSqlParser.PERMISSION_SET); - this.state = 1598; - this.match(TSqlParser.EQUAL); - this.state = 1599; - _la = this._input.LA(1); - if(!(_la===TSqlParser.EXTERNAL_ACCESS || _la===TSqlParser.SAFE || _la===TSqlParser.UNSAFE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_assemblyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_assembly; - this.assembly_name = null; // IdContext - return this; -} - -Drop_assemblyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_assemblyContext.prototype.constructor = Drop_assemblyContext; - -Drop_assemblyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_assemblyContext.prototype.ASSEMBLY = function() { - return this.getToken(TSqlParser.ASSEMBLY, 0); -}; - -Drop_assemblyContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_assemblyContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_assemblyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Drop_assemblyContext.prototype.NO = function() { - return this.getToken(TSqlParser.NO, 0); -}; - -Drop_assemblyContext.prototype.DEPENDENTS = function() { - return this.getToken(TSqlParser.DEPENDENTS, 0); -}; - -Drop_assemblyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_assemblyContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_assemblyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_assembly(this); - } -}; - -Drop_assemblyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_assembly(this); - } -}; - -Drop_assemblyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_assembly(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_assemblyContext = Drop_assemblyContext; - -TSqlParser.prototype.drop_assembly = function() { - - var localctx = new Drop_assemblyContext(this, this._ctx, this.state); - this.enterRule(localctx, 114, TSqlParser.RULE_drop_assembly); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1602; - this.match(TSqlParser.DROP); - this.state = 1603; - this.match(TSqlParser.ASSEMBLY); - this.state = 1606; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 1604; - this.match(TSqlParser.IF); - this.state = 1605; - this.match(TSqlParser.EXISTS); - } - - this.state = 1612; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 1609; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1608; - this.match(TSqlParser.COMMA); - } - - this.state = 1611; - localctx.assembly_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1614; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,79, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - this.state = 1619; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,80,this._ctx); - if(la_===1) { - this.state = 1616; - this.match(TSqlParser.WITH); - this.state = 1617; - this.match(TSqlParser.NO); - this.state = 1618; - this.match(TSqlParser.DEPENDENTS); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_asymmetric_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_asymmetric_key; - this.Asym_Key_Name = null; // IdContext - return this; -} - -Alter_asymmetric_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_asymmetric_keyContext.prototype.constructor = Alter_asymmetric_keyContext; - -Alter_asymmetric_keyContext.prototype.alter_asymmetric_key_start = function() { - return this.getTypedRuleContext(Alter_asymmetric_key_startContext,0); -}; - -Alter_asymmetric_keyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_asymmetric_keyContext.prototype.asymmetric_key_option = function() { - return this.getTypedRuleContext(Asymmetric_key_optionContext,0); -}; - -Alter_asymmetric_keyContext.prototype.REMOVE = function() { - return this.getToken(TSqlParser.REMOVE, 0); -}; - -Alter_asymmetric_keyContext.prototype.PRIVATE = function() { - return this.getToken(TSqlParser.PRIVATE, 0); -}; - -Alter_asymmetric_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Alter_asymmetric_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_asymmetric_key(this); - } -}; - -Alter_asymmetric_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_asymmetric_key(this); - } -}; - -Alter_asymmetric_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_asymmetric_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_asymmetric_keyContext = Alter_asymmetric_keyContext; - -TSqlParser.prototype.alter_asymmetric_key = function() { - - var localctx = new Alter_asymmetric_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 116, TSqlParser.RULE_alter_asymmetric_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1621; - this.alter_asymmetric_key_start(); - this.state = 1622; - localctx.Asym_Key_Name = this.id(); - this.state = 1627; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.WITH: - this.state = 1623; - this.asymmetric_key_option(); - break; - case TSqlParser.REMOVE: - this.state = 1624; - this.match(TSqlParser.REMOVE); - this.state = 1625; - this.match(TSqlParser.PRIVATE); - this.state = 1626; - this.match(TSqlParser.KEY); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_asymmetric_key_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_asymmetric_key_start; - return this; -} - -Alter_asymmetric_key_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_asymmetric_key_startContext.prototype.constructor = Alter_asymmetric_key_startContext; - -Alter_asymmetric_key_startContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_asymmetric_key_startContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Alter_asymmetric_key_startContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Alter_asymmetric_key_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_asymmetric_key_start(this); - } -}; - -Alter_asymmetric_key_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_asymmetric_key_start(this); - } -}; - -Alter_asymmetric_key_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_asymmetric_key_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_asymmetric_key_startContext = Alter_asymmetric_key_startContext; - -TSqlParser.prototype.alter_asymmetric_key_start = function() { - - var localctx = new Alter_asymmetric_key_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 118, TSqlParser.RULE_alter_asymmetric_key_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1629; - this.match(TSqlParser.ALTER); - this.state = 1630; - this.match(TSqlParser.ASYMMETRIC); - this.state = 1631; - this.match(TSqlParser.KEY); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Asymmetric_key_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_asymmetric_key_option; - return this; -} - -Asymmetric_key_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Asymmetric_key_optionContext.prototype.constructor = Asymmetric_key_optionContext; - -Asymmetric_key_optionContext.prototype.asymmetric_key_option_start = function() { - return this.getTypedRuleContext(Asymmetric_key_option_startContext,0); -}; - -Asymmetric_key_optionContext.prototype.asymmetric_key_password_change_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Asymmetric_key_password_change_optionContext); - } else { - return this.getTypedRuleContext(Asymmetric_key_password_change_optionContext,i); - } -}; - -Asymmetric_key_optionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Asymmetric_key_optionContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Asymmetric_key_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAsymmetric_key_option(this); - } -}; - -Asymmetric_key_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAsymmetric_key_option(this); - } -}; - -Asymmetric_key_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAsymmetric_key_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Asymmetric_key_optionContext = Asymmetric_key_optionContext; - -TSqlParser.prototype.asymmetric_key_option = function() { - - var localctx = new Asymmetric_key_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 120, TSqlParser.RULE_asymmetric_key_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1633; - this.asymmetric_key_option_start(); - this.state = 1634; - this.asymmetric_key_password_change_option(); - this.state = 1637; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1635; - this.match(TSqlParser.COMMA); - this.state = 1636; - this.asymmetric_key_password_change_option(); - } - - this.state = 1639; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Asymmetric_key_option_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_asymmetric_key_option_start; - return this; -} - -Asymmetric_key_option_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Asymmetric_key_option_startContext.prototype.constructor = Asymmetric_key_option_startContext; - -Asymmetric_key_option_startContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Asymmetric_key_option_startContext.prototype.PRIVATE = function() { - return this.getToken(TSqlParser.PRIVATE, 0); -}; - -Asymmetric_key_option_startContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Asymmetric_key_option_startContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Asymmetric_key_option_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAsymmetric_key_option_start(this); - } -}; - -Asymmetric_key_option_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAsymmetric_key_option_start(this); - } -}; - -Asymmetric_key_option_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAsymmetric_key_option_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Asymmetric_key_option_startContext = Asymmetric_key_option_startContext; - -TSqlParser.prototype.asymmetric_key_option_start = function() { - - var localctx = new Asymmetric_key_option_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 122, TSqlParser.RULE_asymmetric_key_option_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1641; - this.match(TSqlParser.WITH); - this.state = 1642; - this.match(TSqlParser.PRIVATE); - this.state = 1643; - this.match(TSqlParser.KEY); - this.state = 1644; - this.match(TSqlParser.LR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Asymmetric_key_password_change_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_asymmetric_key_password_change_option; - return this; -} - -Asymmetric_key_password_change_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Asymmetric_key_password_change_optionContext.prototype.constructor = Asymmetric_key_password_change_optionContext; - -Asymmetric_key_password_change_optionContext.prototype.DECRYPTION = function() { - return this.getToken(TSqlParser.DECRYPTION, 0); -}; - -Asymmetric_key_password_change_optionContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Asymmetric_key_password_change_optionContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Asymmetric_key_password_change_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Asymmetric_key_password_change_optionContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Asymmetric_key_password_change_optionContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Asymmetric_key_password_change_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAsymmetric_key_password_change_option(this); - } -}; - -Asymmetric_key_password_change_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAsymmetric_key_password_change_option(this); - } -}; - -Asymmetric_key_password_change_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAsymmetric_key_password_change_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Asymmetric_key_password_change_optionContext = Asymmetric_key_password_change_optionContext; - -TSqlParser.prototype.asymmetric_key_password_change_option = function() { - - var localctx = new Asymmetric_key_password_change_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 124, TSqlParser.RULE_asymmetric_key_password_change_option); - try { - this.state = 1656; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECRYPTION: - this.enterOuterAlt(localctx, 1); - this.state = 1646; - this.match(TSqlParser.DECRYPTION); - this.state = 1647; - this.match(TSqlParser.BY); - this.state = 1648; - this.match(TSqlParser.PASSWORD); - this.state = 1649; - this.match(TSqlParser.EQUAL); - this.state = 1650; - this.match(TSqlParser.STRING); - break; - case TSqlParser.ENCRYPTION: - this.enterOuterAlt(localctx, 2); - this.state = 1651; - this.match(TSqlParser.ENCRYPTION); - this.state = 1652; - this.match(TSqlParser.BY); - this.state = 1653; - this.match(TSqlParser.PASSWORD); - this.state = 1654; - this.match(TSqlParser.EQUAL); - this.state = 1655; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_asymmetric_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_asymmetric_key; - this.Asym_Key_Nam = null; // IdContext - this.database_principal_name = null; // IdContext - this.Assembly_Name = null; // IdContext - this.Provider_Name = null; // IdContext - this.provider_key_name = null; // Token - this.asymmetric_key_password = null; // Token - return this; -} - -Create_asymmetric_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_asymmetric_keyContext.prototype.constructor = Create_asymmetric_keyContext; - -Create_asymmetric_keyContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_asymmetric_keyContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Create_asymmetric_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Create_asymmetric_keyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_asymmetric_keyContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_asymmetric_keyContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_asymmetric_keyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_asymmetric_keyContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Create_asymmetric_keyContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Create_asymmetric_keyContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_asymmetric_keyContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_asymmetric_keyContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_asymmetric_keyContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Create_asymmetric_keyContext.prototype.EXECUTABLE_FILE = function() { - return this.getToken(TSqlParser.EXECUTABLE_FILE, 0); -}; - -Create_asymmetric_keyContext.prototype.ASSEMBLY = function() { - return this.getToken(TSqlParser.ASSEMBLY, 0); -}; - -Create_asymmetric_keyContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Create_asymmetric_keyContext.prototype.ALGORITHM = function() { - return this.getToken(TSqlParser.ALGORITHM, 0); -}; - -Create_asymmetric_keyContext.prototype.PROVIDER_KEY_NAME = function() { - return this.getToken(TSqlParser.PROVIDER_KEY_NAME, 0); -}; - -Create_asymmetric_keyContext.prototype.CREATION_DISPOSITION = function() { - return this.getToken(TSqlParser.CREATION_DISPOSITION, 0); -}; - -Create_asymmetric_keyContext.prototype.RSA_4096 = function() { - return this.getToken(TSqlParser.RSA_4096, 0); -}; - -Create_asymmetric_keyContext.prototype.RSA_3072 = function() { - return this.getToken(TSqlParser.RSA_3072, 0); -}; - -Create_asymmetric_keyContext.prototype.RSA_2048 = function() { - return this.getToken(TSqlParser.RSA_2048, 0); -}; - -Create_asymmetric_keyContext.prototype.RSA_1024 = function() { - return this.getToken(TSqlParser.RSA_1024, 0); -}; - -Create_asymmetric_keyContext.prototype.RSA_512 = function() { - return this.getToken(TSqlParser.RSA_512, 0); -}; - -Create_asymmetric_keyContext.prototype.CREATE_NEW = function() { - return this.getToken(TSqlParser.CREATE_NEW, 0); -}; - -Create_asymmetric_keyContext.prototype.OPEN_EXISTING = function() { - return this.getToken(TSqlParser.OPEN_EXISTING, 0); -}; - -Create_asymmetric_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_asymmetric_key(this); - } -}; - -Create_asymmetric_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_asymmetric_key(this); - } -}; - -Create_asymmetric_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_asymmetric_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_asymmetric_keyContext = Create_asymmetric_keyContext; - -TSqlParser.prototype.create_asymmetric_key = function() { - - var localctx = new Create_asymmetric_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 126, TSqlParser.RULE_create_asymmetric_key); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1658; - this.match(TSqlParser.CREATE); - this.state = 1659; - this.match(TSqlParser.ASYMMETRIC); - this.state = 1660; - this.match(TSqlParser.KEY); - this.state = 1661; - localctx.Asym_Key_Nam = this.id(); - this.state = 1664; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 1662; - this.match(TSqlParser.AUTHORIZATION); - this.state = 1663; - localctx.database_principal_name = this.id(); - } - - this.state = 1679; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 1666; - this.match(TSqlParser.FROM); - this.state = 1677; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FILE: - this.state = 1667; - this.match(TSqlParser.FILE); - this.state = 1668; - this.match(TSqlParser.EQUAL); - this.state = 1669; - this.match(TSqlParser.STRING); - break; - case TSqlParser.EXECUTABLE_FILE: - this.state = 1670; - this.match(TSqlParser.EXECUTABLE_FILE); - this.state = 1671; - this.match(TSqlParser.EQUAL); - this.state = 1672; - this.match(TSqlParser.STRING); - break; - case TSqlParser.ASSEMBLY: - this.state = 1673; - this.match(TSqlParser.ASSEMBLY); - this.state = 1674; - localctx.Assembly_Name = this.id(); - break; - case TSqlParser.PROVIDER: - this.state = 1675; - this.match(TSqlParser.PROVIDER); - this.state = 1676; - localctx.Provider_Name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - this.state = 1693; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,88,this._ctx); - if(la_===1) { - this.state = 1681; - this.match(TSqlParser.WITH); - this.state = 1691; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALGORITHM: - this.state = 1682; - this.match(TSqlParser.ALGORITHM); - this.state = 1683; - this.match(TSqlParser.EQUAL); - this.state = 1684; - _la = this._input.LA(1); - if(!(((((_la - 290)) & ~0x1f) == 0 && ((1 << (_la - 290)) & ((1 << (TSqlParser.RSA_512 - 290)) | (1 << (TSqlParser.RSA_1024 - 290)) | (1 << (TSqlParser.RSA_2048 - 290)) | (1 << (TSqlParser.RSA_3072 - 290)) | (1 << (TSqlParser.RSA_4096 - 290)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.PROVIDER_KEY_NAME: - this.state = 1685; - this.match(TSqlParser.PROVIDER_KEY_NAME); - this.state = 1686; - this.match(TSqlParser.EQUAL); - this.state = 1687; - localctx.provider_key_name = this.match(TSqlParser.STRING); - break; - case TSqlParser.CREATION_DISPOSITION: - this.state = 1688; - this.match(TSqlParser.CREATION_DISPOSITION); - this.state = 1689; - this.match(TSqlParser.EQUAL); - this.state = 1690; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CREATE_NEW || _la===TSqlParser.OPEN_EXISTING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - - } - this.state = 1700; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,89,this._ctx); - if(la_===1) { - this.state = 1695; - this.match(TSqlParser.ENCRYPTION); - this.state = 1696; - this.match(TSqlParser.BY); - this.state = 1697; - this.match(TSqlParser.PASSWORD); - this.state = 1698; - this.match(TSqlParser.EQUAL); - this.state = 1699; - localctx.asymmetric_key_password = this.match(TSqlParser.STRING); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_asymmetric_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_asymmetric_key; - this.key_name = null; // IdContext - return this; -} - -Drop_asymmetric_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_asymmetric_keyContext.prototype.constructor = Drop_asymmetric_keyContext; - -Drop_asymmetric_keyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_asymmetric_keyContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Drop_asymmetric_keyContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Drop_asymmetric_keyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_asymmetric_keyContext.prototype.REMOVE = function() { - return this.getToken(TSqlParser.REMOVE, 0); -}; - -Drop_asymmetric_keyContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Drop_asymmetric_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_asymmetric_key(this); - } -}; - -Drop_asymmetric_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_asymmetric_key(this); - } -}; - -Drop_asymmetric_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_asymmetric_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_asymmetric_keyContext = Drop_asymmetric_keyContext; - -TSqlParser.prototype.drop_asymmetric_key = function() { - - var localctx = new Drop_asymmetric_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 128, TSqlParser.RULE_drop_asymmetric_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1702; - this.match(TSqlParser.DROP); - this.state = 1703; - this.match(TSqlParser.ASYMMETRIC); - this.state = 1704; - this.match(TSqlParser.KEY); - this.state = 1705; - localctx.key_name = this.id(); - this.state = 1709; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,90,this._ctx); - if(la_===1) { - this.state = 1706; - this.match(TSqlParser.REMOVE); - this.state = 1707; - this.match(TSqlParser.PROVIDER); - this.state = 1708; - this.match(TSqlParser.KEY); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_authorizationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_authorization; - this.entity = null; // Entity_nameContext - return this; -} - -Alter_authorizationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_authorizationContext.prototype.constructor = Alter_authorizationContext; - -Alter_authorizationContext.prototype.alter_authorization_start = function() { - return this.getTypedRuleContext(Alter_authorization_startContext,0); -}; - -Alter_authorizationContext.prototype.entity_to = function() { - return this.getTypedRuleContext(Entity_toContext,0); -}; - -Alter_authorizationContext.prototype.authorization_grantee = function() { - return this.getTypedRuleContext(Authorization_granteeContext,0); -}; - -Alter_authorizationContext.prototype.entity_name = function() { - return this.getTypedRuleContext(Entity_nameContext,0); -}; - -Alter_authorizationContext.prototype.class_type = function() { - return this.getTypedRuleContext(Class_typeContext,0); -}; - -Alter_authorizationContext.prototype.colon_colon = function() { - return this.getTypedRuleContext(Colon_colonContext,0); -}; - -Alter_authorizationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_authorization(this); - } -}; - -Alter_authorizationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_authorization(this); - } -}; - -Alter_authorizationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_authorization(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_authorizationContext = Alter_authorizationContext; - -TSqlParser.prototype.alter_authorization = function() { - - var localctx = new Alter_authorizationContext(this, this._ctx, this.state); - this.enterRule(localctx, 130, TSqlParser.RULE_alter_authorization); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1711; - this.alter_authorization_start(); - this.state = 1715; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,91,this._ctx); - if(la_===1) { - this.state = 1712; - this.class_type(); - this.state = 1713; - this.colon_colon(); - - } - this.state = 1717; - localctx.entity = this.entity_name(); - this.state = 1718; - this.entity_to(); - this.state = 1719; - this.authorization_grantee(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Authorization_granteeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_authorization_grantee; - this.principal_name = null; // IdContext - return this; -} - -Authorization_granteeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Authorization_granteeContext.prototype.constructor = Authorization_granteeContext; - -Authorization_granteeContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Authorization_granteeContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Authorization_granteeContext.prototype.OWNER = function() { - return this.getToken(TSqlParser.OWNER, 0); -}; - -Authorization_granteeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAuthorization_grantee(this); - } -}; - -Authorization_granteeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAuthorization_grantee(this); - } -}; - -Authorization_granteeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAuthorization_grantee(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Authorization_granteeContext = Authorization_granteeContext; - -TSqlParser.prototype.authorization_grantee = function() { - - var localctx = new Authorization_granteeContext(this, this._ctx, this.state); - this.enterRule(localctx, 132, TSqlParser.RULE_authorization_grantee); - try { - this.state = 1724; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 1); - this.state = 1721; - localctx.principal_name = this.id(); - break; - case TSqlParser.SCHEMA: - this.enterOuterAlt(localctx, 2); - this.state = 1722; - this.match(TSqlParser.SCHEMA); - this.state = 1723; - this.match(TSqlParser.OWNER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Entity_toContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_entity_to; - return this; -} - -Entity_toContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Entity_toContext.prototype.constructor = Entity_toContext; - -Entity_toContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Entity_toContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEntity_to(this); - } -}; - -Entity_toContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEntity_to(this); - } -}; - -Entity_toContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEntity_to(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Entity_toContext = Entity_toContext; - -TSqlParser.prototype.entity_to = function() { - - var localctx = new Entity_toContext(this, this._ctx, this.state); - this.enterRule(localctx, 134, TSqlParser.RULE_entity_to); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1726; - this.match(TSqlParser.TO); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Colon_colonContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_colon_colon; - return this; -} - -Colon_colonContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Colon_colonContext.prototype.constructor = Colon_colonContext; - -Colon_colonContext.prototype.COLON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COLON); - } else { - return this.getToken(TSqlParser.COLON, i); - } -}; - - -Colon_colonContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColon_colon(this); - } -}; - -Colon_colonContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColon_colon(this); - } -}; - -Colon_colonContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColon_colon(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Colon_colonContext = Colon_colonContext; - -TSqlParser.prototype.colon_colon = function() { - - var localctx = new Colon_colonContext(this, this._ctx, this.state); - this.enterRule(localctx, 136, TSqlParser.RULE_colon_colon); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1728; - this.match(TSqlParser.COLON); - this.state = 1729; - this.match(TSqlParser.COLON); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_authorization_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_authorization_start; - return this; -} - -Alter_authorization_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_authorization_startContext.prototype.constructor = Alter_authorization_startContext; - -Alter_authorization_startContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_authorization_startContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Alter_authorization_startContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Alter_authorization_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_authorization_start(this); - } -}; - -Alter_authorization_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_authorization_start(this); - } -}; - -Alter_authorization_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_authorization_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_authorization_startContext = Alter_authorization_startContext; - -TSqlParser.prototype.alter_authorization_start = function() { - - var localctx = new Alter_authorization_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 138, TSqlParser.RULE_alter_authorization_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1731; - this.match(TSqlParser.ALTER); - this.state = 1732; - this.match(TSqlParser.AUTHORIZATION); - this.state = 1733; - this.match(TSqlParser.ON); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_authorization_for_sql_databaseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_authorization_for_sql_database; - this.entity = null; // Entity_nameContext - return this; -} - -Alter_authorization_for_sql_databaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_authorization_for_sql_databaseContext.prototype.constructor = Alter_authorization_for_sql_databaseContext; - -Alter_authorization_for_sql_databaseContext.prototype.alter_authorization_start = function() { - return this.getTypedRuleContext(Alter_authorization_startContext,0); -}; - -Alter_authorization_for_sql_databaseContext.prototype.entity_to = function() { - return this.getTypedRuleContext(Entity_toContext,0); -}; - -Alter_authorization_for_sql_databaseContext.prototype.authorization_grantee = function() { - return this.getTypedRuleContext(Authorization_granteeContext,0); -}; - -Alter_authorization_for_sql_databaseContext.prototype.entity_name = function() { - return this.getTypedRuleContext(Entity_nameContext,0); -}; - -Alter_authorization_for_sql_databaseContext.prototype.class_type_for_sql_database = function() { - return this.getTypedRuleContext(Class_type_for_sql_databaseContext,0); -}; - -Alter_authorization_for_sql_databaseContext.prototype.colon_colon = function() { - return this.getTypedRuleContext(Colon_colonContext,0); -}; - -Alter_authorization_for_sql_databaseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_authorization_for_sql_database(this); - } -}; - -Alter_authorization_for_sql_databaseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_authorization_for_sql_database(this); - } -}; - -Alter_authorization_for_sql_databaseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_authorization_for_sql_database(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_authorization_for_sql_databaseContext = Alter_authorization_for_sql_databaseContext; - -TSqlParser.prototype.alter_authorization_for_sql_database = function() { - - var localctx = new Alter_authorization_for_sql_databaseContext(this, this._ctx, this.state); - this.enterRule(localctx, 140, TSqlParser.RULE_alter_authorization_for_sql_database); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1735; - this.alter_authorization_start(); - this.state = 1739; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,93,this._ctx); - if(la_===1) { - this.state = 1736; - this.class_type_for_sql_database(); - this.state = 1737; - this.colon_colon(); - - } - this.state = 1741; - localctx.entity = this.entity_name(); - this.state = 1742; - this.entity_to(); - this.state = 1743; - this.authorization_grantee(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_authorization_for_azure_dwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_authorization_for_azure_dw; - this.entity = null; // Entity_name_for_azure_dwContext - return this; -} - -Alter_authorization_for_azure_dwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_authorization_for_azure_dwContext.prototype.constructor = Alter_authorization_for_azure_dwContext; - -Alter_authorization_for_azure_dwContext.prototype.alter_authorization_start = function() { - return this.getTypedRuleContext(Alter_authorization_startContext,0); -}; - -Alter_authorization_for_azure_dwContext.prototype.entity_to = function() { - return this.getTypedRuleContext(Entity_toContext,0); -}; - -Alter_authorization_for_azure_dwContext.prototype.authorization_grantee = function() { - return this.getTypedRuleContext(Authorization_granteeContext,0); -}; - -Alter_authorization_for_azure_dwContext.prototype.entity_name_for_azure_dw = function() { - return this.getTypedRuleContext(Entity_name_for_azure_dwContext,0); -}; - -Alter_authorization_for_azure_dwContext.prototype.class_type_for_azure_dw = function() { - return this.getTypedRuleContext(Class_type_for_azure_dwContext,0); -}; - -Alter_authorization_for_azure_dwContext.prototype.colon_colon = function() { - return this.getTypedRuleContext(Colon_colonContext,0); -}; - -Alter_authorization_for_azure_dwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_authorization_for_azure_dw(this); - } -}; - -Alter_authorization_for_azure_dwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_authorization_for_azure_dw(this); - } -}; - -Alter_authorization_for_azure_dwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_authorization_for_azure_dw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_authorization_for_azure_dwContext = Alter_authorization_for_azure_dwContext; - -TSqlParser.prototype.alter_authorization_for_azure_dw = function() { - - var localctx = new Alter_authorization_for_azure_dwContext(this, this._ctx, this.state); - this.enterRule(localctx, 142, TSqlParser.RULE_alter_authorization_for_azure_dw); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1745; - this.alter_authorization_start(); - this.state = 1749; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,94,this._ctx); - if(la_===1) { - this.state = 1746; - this.class_type_for_azure_dw(); - this.state = 1747; - this.colon_colon(); - - } - this.state = 1751; - localctx.entity = this.entity_name_for_azure_dw(); - this.state = 1752; - this.entity_to(); - this.state = 1753; - this.authorization_grantee(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_authorization_for_parallel_dwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_authorization_for_parallel_dw; - this.entity = null; // Entity_name_for_parallel_dwContext - return this; -} - -Alter_authorization_for_parallel_dwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_authorization_for_parallel_dwContext.prototype.constructor = Alter_authorization_for_parallel_dwContext; - -Alter_authorization_for_parallel_dwContext.prototype.alter_authorization_start = function() { - return this.getTypedRuleContext(Alter_authorization_startContext,0); -}; - -Alter_authorization_for_parallel_dwContext.prototype.entity_to = function() { - return this.getTypedRuleContext(Entity_toContext,0); -}; - -Alter_authorization_for_parallel_dwContext.prototype.authorization_grantee = function() { - return this.getTypedRuleContext(Authorization_granteeContext,0); -}; - -Alter_authorization_for_parallel_dwContext.prototype.entity_name_for_parallel_dw = function() { - return this.getTypedRuleContext(Entity_name_for_parallel_dwContext,0); -}; - -Alter_authorization_for_parallel_dwContext.prototype.class_type_for_parallel_dw = function() { - return this.getTypedRuleContext(Class_type_for_parallel_dwContext,0); -}; - -Alter_authorization_for_parallel_dwContext.prototype.colon_colon = function() { - return this.getTypedRuleContext(Colon_colonContext,0); -}; - -Alter_authorization_for_parallel_dwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_authorization_for_parallel_dw(this); - } -}; - -Alter_authorization_for_parallel_dwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_authorization_for_parallel_dw(this); - } -}; - -Alter_authorization_for_parallel_dwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_authorization_for_parallel_dw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_authorization_for_parallel_dwContext = Alter_authorization_for_parallel_dwContext; - -TSqlParser.prototype.alter_authorization_for_parallel_dw = function() { - - var localctx = new Alter_authorization_for_parallel_dwContext(this, this._ctx, this.state); - this.enterRule(localctx, 144, TSqlParser.RULE_alter_authorization_for_parallel_dw); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1755; - this.alter_authorization_start(); - this.state = 1759; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,95,this._ctx); - if(la_===1) { - this.state = 1756; - this.class_type_for_parallel_dw(); - this.state = 1757; - this.colon_colon(); - - } - this.state = 1761; - localctx.entity = this.entity_name_for_parallel_dw(); - this.state = 1762; - this.entity_to(); - this.state = 1763; - this.authorization_grantee(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Class_typeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_class_type; - return this; -} - -Class_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Class_typeContext.prototype.constructor = Class_typeContext; - -Class_typeContext.prototype.OBJECT = function() { - return this.getToken(TSqlParser.OBJECT, 0); -}; - -Class_typeContext.prototype.ASSEMBLY = function() { - return this.getToken(TSqlParser.ASSEMBLY, 0); -}; - -Class_typeContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Class_typeContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Class_typeContext.prototype.AVAILABILITY = function() { - return this.getToken(TSqlParser.AVAILABILITY, 0); -}; - -Class_typeContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Class_typeContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Class_typeContext.prototype.CONTRACT = function() { - return this.getToken(TSqlParser.CONTRACT, 0); -}; - -Class_typeContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Class_typeContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Class_typeContext.prototype.ENDPOINT = function() { - return this.getToken(TSqlParser.ENDPOINT, 0); -}; - -Class_typeContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Class_typeContext.prototype.CATALOG = function() { - return this.getToken(TSqlParser.CATALOG, 0); -}; - -Class_typeContext.prototype.STOPLIST = function() { - return this.getToken(TSqlParser.STOPLIST, 0); -}; - -Class_typeContext.prototype.MESSAGE = function() { - return this.getToken(TSqlParser.MESSAGE, 0); -}; - -Class_typeContext.prototype.REMOTE = function() { - return this.getToken(TSqlParser.REMOTE, 0); -}; - -Class_typeContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Class_typeContext.prototype.BINDING = function() { - return this.getToken(TSqlParser.BINDING, 0); -}; - -Class_typeContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Class_typeContext.prototype.ROUTE = function() { - return this.getToken(TSqlParser.ROUTE, 0); -}; - -Class_typeContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Class_typeContext.prototype.SEARCH = function() { - return this.getToken(TSqlParser.SEARCH, 0); -}; - -Class_typeContext.prototype.PROPERTY = function() { - return this.getToken(TSqlParser.PROPERTY, 0); -}; - -Class_typeContext.prototype.LIST = function() { - return this.getToken(TSqlParser.LIST, 0); -}; - -Class_typeContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Class_typeContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Class_typeContext.prototype.XML = function() { - return this.getToken(TSqlParser.XML, 0); -}; - -Class_typeContext.prototype.COLLECTION = function() { - return this.getToken(TSqlParser.COLLECTION, 0); -}; - -Class_typeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterClass_type(this); - } -}; - -Class_typeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitClass_type(this); - } -}; - -Class_typeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitClass_type(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Class_typeContext = Class_typeContext; - -TSqlParser.prototype.class_type = function() { - - var localctx = new Class_typeContext(this, this._ctx, this.state); - this.enterRule(localctx, 146, TSqlParser.RULE_class_type); - try { - this.state = 1799; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,96,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1765; - this.match(TSqlParser.OBJECT); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1766; - this.match(TSqlParser.ASSEMBLY); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1767; - this.match(TSqlParser.ASYMMETRIC); - this.state = 1768; - this.match(TSqlParser.KEY); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1769; - this.match(TSqlParser.AVAILABILITY); - this.state = 1770; - this.match(TSqlParser.GROUP); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1771; - this.match(TSqlParser.CERTIFICATE); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 1772; - this.match(TSqlParser.CONTRACT); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 1773; - this.match(TSqlParser.TYPE); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 1774; - this.match(TSqlParser.DATABASE); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 1775; - this.match(TSqlParser.ENDPOINT); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 1776; - this.match(TSqlParser.FULLTEXT); - this.state = 1777; - this.match(TSqlParser.CATALOG); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 1778; - this.match(TSqlParser.FULLTEXT); - this.state = 1779; - this.match(TSqlParser.STOPLIST); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 1780; - this.match(TSqlParser.MESSAGE); - this.state = 1781; - this.match(TSqlParser.TYPE); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 1782; - this.match(TSqlParser.REMOTE); - this.state = 1783; - this.match(TSqlParser.SERVICE); - this.state = 1784; - this.match(TSqlParser.BINDING); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 1785; - this.match(TSqlParser.ROLE); - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 1786; - this.match(TSqlParser.ROUTE); - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 1787; - this.match(TSqlParser.SCHEMA); - break; - - case 17: - this.enterOuterAlt(localctx, 17); - this.state = 1788; - this.match(TSqlParser.SEARCH); - this.state = 1789; - this.match(TSqlParser.PROPERTY); - this.state = 1790; - this.match(TSqlParser.LIST); - break; - - case 18: - this.enterOuterAlt(localctx, 18); - this.state = 1791; - this.match(TSqlParser.SERVER); - this.state = 1792; - this.match(TSqlParser.ROLE); - break; - - case 19: - this.enterOuterAlt(localctx, 19); - this.state = 1793; - this.match(TSqlParser.SERVICE); - break; - - case 20: - this.enterOuterAlt(localctx, 20); - this.state = 1794; - this.match(TSqlParser.SYMMETRIC); - this.state = 1795; - this.match(TSqlParser.KEY); - break; - - case 21: - this.enterOuterAlt(localctx, 21); - this.state = 1796; - this.match(TSqlParser.XML); - this.state = 1797; - this.match(TSqlParser.SCHEMA); - this.state = 1798; - this.match(TSqlParser.COLLECTION); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Class_type_for_sql_databaseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_class_type_for_sql_database; - return this; -} - -Class_type_for_sql_databaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Class_type_for_sql_databaseContext.prototype.constructor = Class_type_for_sql_databaseContext; - -Class_type_for_sql_databaseContext.prototype.OBJECT = function() { - return this.getToken(TSqlParser.OBJECT, 0); -}; - -Class_type_for_sql_databaseContext.prototype.ASSEMBLY = function() { - return this.getToken(TSqlParser.ASSEMBLY, 0); -}; - -Class_type_for_sql_databaseContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Class_type_for_sql_databaseContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Class_type_for_sql_databaseContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Class_type_for_sql_databaseContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Class_type_for_sql_databaseContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Class_type_for_sql_databaseContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Class_type_for_sql_databaseContext.prototype.CATALOG = function() { - return this.getToken(TSqlParser.CATALOG, 0); -}; - -Class_type_for_sql_databaseContext.prototype.STOPLIST = function() { - return this.getToken(TSqlParser.STOPLIST, 0); -}; - -Class_type_for_sql_databaseContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Class_type_for_sql_databaseContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Class_type_for_sql_databaseContext.prototype.SEARCH = function() { - return this.getToken(TSqlParser.SEARCH, 0); -}; - -Class_type_for_sql_databaseContext.prototype.PROPERTY = function() { - return this.getToken(TSqlParser.PROPERTY, 0); -}; - -Class_type_for_sql_databaseContext.prototype.LIST = function() { - return this.getToken(TSqlParser.LIST, 0); -}; - -Class_type_for_sql_databaseContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Class_type_for_sql_databaseContext.prototype.XML = function() { - return this.getToken(TSqlParser.XML, 0); -}; - -Class_type_for_sql_databaseContext.prototype.COLLECTION = function() { - return this.getToken(TSqlParser.COLLECTION, 0); -}; - -Class_type_for_sql_databaseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterClass_type_for_sql_database(this); - } -}; - -Class_type_for_sql_databaseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitClass_type_for_sql_database(this); - } -}; - -Class_type_for_sql_databaseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitClass_type_for_sql_database(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Class_type_for_sql_databaseContext = Class_type_for_sql_databaseContext; - -TSqlParser.prototype.class_type_for_sql_database = function() { - - var localctx = new Class_type_for_sql_databaseContext(this, this._ctx, this.state); - this.enterRule(localctx, 148, TSqlParser.RULE_class_type_for_sql_database); - try { - this.state = 1822; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,97,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1801; - this.match(TSqlParser.OBJECT); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1802; - this.match(TSqlParser.ASSEMBLY); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1803; - this.match(TSqlParser.ASYMMETRIC); - this.state = 1804; - this.match(TSqlParser.KEY); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1805; - this.match(TSqlParser.CERTIFICATE); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1806; - this.match(TSqlParser.TYPE); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 1807; - this.match(TSqlParser.DATABASE); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 1808; - this.match(TSqlParser.FULLTEXT); - this.state = 1809; - this.match(TSqlParser.CATALOG); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 1810; - this.match(TSqlParser.FULLTEXT); - this.state = 1811; - this.match(TSqlParser.STOPLIST); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 1812; - this.match(TSqlParser.ROLE); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 1813; - this.match(TSqlParser.SCHEMA); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 1814; - this.match(TSqlParser.SEARCH); - this.state = 1815; - this.match(TSqlParser.PROPERTY); - this.state = 1816; - this.match(TSqlParser.LIST); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 1817; - this.match(TSqlParser.SYMMETRIC); - this.state = 1818; - this.match(TSqlParser.KEY); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 1819; - this.match(TSqlParser.XML); - this.state = 1820; - this.match(TSqlParser.SCHEMA); - this.state = 1821; - this.match(TSqlParser.COLLECTION); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Class_type_for_azure_dwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_class_type_for_azure_dw; - return this; -} - -Class_type_for_azure_dwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Class_type_for_azure_dwContext.prototype.constructor = Class_type_for_azure_dwContext; - -Class_type_for_azure_dwContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Class_type_for_azure_dwContext.prototype.OBJECT = function() { - return this.getToken(TSqlParser.OBJECT, 0); -}; - -Class_type_for_azure_dwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterClass_type_for_azure_dw(this); - } -}; - -Class_type_for_azure_dwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitClass_type_for_azure_dw(this); - } -}; - -Class_type_for_azure_dwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitClass_type_for_azure_dw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Class_type_for_azure_dwContext = Class_type_for_azure_dwContext; - -TSqlParser.prototype.class_type_for_azure_dw = function() { - - var localctx = new Class_type_for_azure_dwContext(this, this._ctx, this.state); - this.enterRule(localctx, 150, TSqlParser.RULE_class_type_for_azure_dw); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1824; - _la = this._input.LA(1); - if(!(_la===TSqlParser.SCHEMA || _la===TSqlParser.OBJECT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Class_type_for_parallel_dwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_class_type_for_parallel_dw; - return this; -} - -Class_type_for_parallel_dwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Class_type_for_parallel_dwContext.prototype.constructor = Class_type_for_parallel_dwContext; - -Class_type_for_parallel_dwContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Class_type_for_parallel_dwContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Class_type_for_parallel_dwContext.prototype.OBJECT = function() { - return this.getToken(TSqlParser.OBJECT, 0); -}; - -Class_type_for_parallel_dwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterClass_type_for_parallel_dw(this); - } -}; - -Class_type_for_parallel_dwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitClass_type_for_parallel_dw(this); - } -}; - -Class_type_for_parallel_dwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitClass_type_for_parallel_dw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Class_type_for_parallel_dwContext = Class_type_for_parallel_dwContext; - -TSqlParser.prototype.class_type_for_parallel_dw = function() { - - var localctx = new Class_type_for_parallel_dwContext(this, this._ctx, this.state); - this.enterRule(localctx, 152, TSqlParser.RULE_class_type_for_parallel_dw); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1826; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DATABASE || _la===TSqlParser.SCHEMA || _la===TSqlParser.OBJECT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_availability_groupContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_availability_group; - this.group_name = null; // IdContext - return this; -} - -Drop_availability_groupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_availability_groupContext.prototype.constructor = Drop_availability_groupContext; - -Drop_availability_groupContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_availability_groupContext.prototype.AVAILABILITY = function() { - return this.getToken(TSqlParser.AVAILABILITY, 0); -}; - -Drop_availability_groupContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Drop_availability_groupContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_availability_groupContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_availability_group(this); - } -}; - -Drop_availability_groupContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_availability_group(this); - } -}; - -Drop_availability_groupContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_availability_group(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_availability_groupContext = Drop_availability_groupContext; - -TSqlParser.prototype.drop_availability_group = function() { - - var localctx = new Drop_availability_groupContext(this, this._ctx, this.state); - this.enterRule(localctx, 154, TSqlParser.RULE_drop_availability_group); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1828; - this.match(TSqlParser.DROP); - this.state = 1829; - this.match(TSqlParser.AVAILABILITY); - this.state = 1830; - this.match(TSqlParser.GROUP); - this.state = 1831; - localctx.group_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_availability_groupContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_availability_group; - return this; -} - -Alter_availability_groupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_availability_groupContext.prototype.constructor = Alter_availability_groupContext; - -Alter_availability_groupContext.prototype.alter_availability_group_start = function() { - return this.getTypedRuleContext(Alter_availability_group_startContext,0); -}; - -Alter_availability_groupContext.prototype.alter_availability_group_options = function() { - return this.getTypedRuleContext(Alter_availability_group_optionsContext,0); -}; - -Alter_availability_groupContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_availability_group(this); - } -}; - -Alter_availability_groupContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_availability_group(this); - } -}; - -Alter_availability_groupContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_availability_group(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_availability_groupContext = Alter_availability_groupContext; - -TSqlParser.prototype.alter_availability_group = function() { - - var localctx = new Alter_availability_groupContext(this, this._ctx, this.state); - this.enterRule(localctx, 156, TSqlParser.RULE_alter_availability_group); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1833; - this.alter_availability_group_start(); - this.state = 1834; - this.alter_availability_group_options(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_availability_group_startContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_availability_group_start; - this.group_name = null; // IdContext - return this; -} - -Alter_availability_group_startContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_availability_group_startContext.prototype.constructor = Alter_availability_group_startContext; - -Alter_availability_group_startContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_availability_group_startContext.prototype.AVAILABILITY = function() { - return this.getToken(TSqlParser.AVAILABILITY, 0); -}; - -Alter_availability_group_startContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Alter_availability_group_startContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_availability_group_startContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_availability_group_start(this); - } -}; - -Alter_availability_group_startContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_availability_group_start(this); - } -}; - -Alter_availability_group_startContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_availability_group_start(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_availability_group_startContext = Alter_availability_group_startContext; - -TSqlParser.prototype.alter_availability_group_start = function() { - - var localctx = new Alter_availability_group_startContext(this, this._ctx, this.state); - this.enterRule(localctx, 158, TSqlParser.RULE_alter_availability_group_start); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1836; - this.match(TSqlParser.ALTER); - this.state = 1837; - this.match(TSqlParser.AVAILABILITY); - this.state = 1838; - this.match(TSqlParser.GROUP); - this.state = 1839; - localctx.group_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_availability_group_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_availability_group_options; - this.milliseconds = null; // Token - this.database_name = null; // IdContext - this.server_instance = null; // Token - this.session_timeout = null; // Token - this.ag_name = null; // Token - this.ag_name_modified = null; // Token - this.listener_name = null; // Token - return this; -} - -Alter_availability_group_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_availability_group_optionsContext.prototype.constructor = Alter_availability_group_optionsContext; - -Alter_availability_group_optionsContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Alter_availability_group_optionsContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.AUTOMATED_BACKUP_PREFERENCE = function() { - return this.getToken(TSqlParser.AUTOMATED_BACKUP_PREFERENCE, 0); -}; - -Alter_availability_group_optionsContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.FAILURE_CONDITION_LEVEL = function() { - return this.getToken(TSqlParser.FAILURE_CONDITION_LEVEL, 0); -}; - -Alter_availability_group_optionsContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Alter_availability_group_optionsContext.prototype.HEALTH_CHECK_TIMEOUT = function() { - return this.getToken(TSqlParser.HEALTH_CHECK_TIMEOUT, 0); -}; - -Alter_availability_group_optionsContext.prototype.DB_FAILOVER = function() { - return this.getToken(TSqlParser.DB_FAILOVER, 0); -}; - -Alter_availability_group_optionsContext.prototype.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = function() { - return this.getToken(TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT, 0); -}; - -Alter_availability_group_optionsContext.prototype.PRIMARY = function() { - return this.getToken(TSqlParser.PRIMARY, 0); -}; - -Alter_availability_group_optionsContext.prototype.SECONDARY_ONLY = function() { - return this.getToken(TSqlParser.SECONDARY_ONLY, 0); -}; - -Alter_availability_group_optionsContext.prototype.SECONDARY = function() { - return this.getToken(TSqlParser.SECONDARY, 0); -}; - -Alter_availability_group_optionsContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Alter_availability_group_optionsContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Alter_availability_group_optionsContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Alter_availability_group_optionsContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_availability_group_optionsContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Alter_availability_group_optionsContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_availability_group_optionsContext.prototype.REMOVE = function() { - return this.getToken(TSqlParser.REMOVE, 0); -}; - -Alter_availability_group_optionsContext.prototype.REPLICA = function() { - return this.getToken(TSqlParser.REPLICA, 0); -}; - -Alter_availability_group_optionsContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.WITH = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.WITH); - } else { - return this.getToken(TSqlParser.WITH, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.ENDPOINT_URL = function() { - return this.getToken(TSqlParser.ENDPOINT_URL, 0); -}; - -Alter_availability_group_optionsContext.prototype.AVAILABILITY_MODE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AVAILABILITY_MODE); - } else { - return this.getToken(TSqlParser.AVAILABILITY_MODE, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.FAILOVER_MODE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FAILOVER_MODE); - } else { - return this.getToken(TSqlParser.FAILOVER_MODE, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.SEEDING_MODE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SEEDING_MODE); - } else { - return this.getToken(TSqlParser.SEEDING_MODE, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.BACKUP_PRIORITY = function() { - return this.getToken(TSqlParser.BACKUP_PRIORITY, 0); -}; - -Alter_availability_group_optionsContext.prototype.PRIMARY_ROLE = function() { - return this.getToken(TSqlParser.PRIMARY_ROLE, 0); -}; - -Alter_availability_group_optionsContext.prototype.ALLOW_CONNECTIONS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALLOW_CONNECTIONS); - } else { - return this.getToken(TSqlParser.ALLOW_CONNECTIONS, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.SECONDARY_ROLE = function() { - return this.getToken(TSqlParser.SECONDARY_ROLE, 0); -}; - -Alter_availability_group_optionsContext.prototype.SYNCHRONOUS_COMMIT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SYNCHRONOUS_COMMIT); - } else { - return this.getToken(TSqlParser.SYNCHRONOUS_COMMIT, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.ASYNCHRONOUS_COMMIT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ASYNCHRONOUS_COMMIT); - } else { - return this.getToken(TSqlParser.ASYNCHRONOUS_COMMIT, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.AUTOMATIC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AUTOMATIC); - } else { - return this.getToken(TSqlParser.AUTOMATIC, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.MANUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MANUAL); - } else { - return this.getToken(TSqlParser.MANUAL, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.READ_WRITE = function() { - return this.getToken(TSqlParser.READ_WRITE, 0); -}; - -Alter_availability_group_optionsContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Alter_availability_group_optionsContext.prototype.READ_ONLY = function() { - return this.getToken(TSqlParser.READ_ONLY, 0); -}; - -Alter_availability_group_optionsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.READ_ONLY_ROUTING_LIST = function() { - return this.getToken(TSqlParser.READ_ONLY_ROUTING_LIST, 0); -}; - -Alter_availability_group_optionsContext.prototype.NO = function() { - return this.getToken(TSqlParser.NO, 0); -}; - -Alter_availability_group_optionsContext.prototype.SESSION_TIMEOUT = function() { - return this.getToken(TSqlParser.SESSION_TIMEOUT, 0); -}; - -Alter_availability_group_optionsContext.prototype.MODIFY = function() { - return this.getToken(TSqlParser.MODIFY, 0); -}; - -Alter_availability_group_optionsContext.prototype.JOIN = function() { - return this.getToken(TSqlParser.JOIN, 0); -}; - -Alter_availability_group_optionsContext.prototype.AVAILABILITY = function() { - return this.getToken(TSqlParser.AVAILABILITY, 0); -}; - -Alter_availability_group_optionsContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Alter_availability_group_optionsContext.prototype.LISTENER_URL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LISTENER_URL); - } else { - return this.getToken(TSqlParser.LISTENER_URL, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.GRANT = function() { - return this.getToken(TSqlParser.GRANT, 0); -}; - -Alter_availability_group_optionsContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Alter_availability_group_optionsContext.prototype.ANY = function() { - return this.getToken(TSqlParser.ANY, 0); -}; - -Alter_availability_group_optionsContext.prototype.DENY = function() { - return this.getToken(TSqlParser.DENY, 0); -}; - -Alter_availability_group_optionsContext.prototype.FAILOVER = function() { - return this.getToken(TSqlParser.FAILOVER, 0); -}; - -Alter_availability_group_optionsContext.prototype.FORCE_FAILOVER_ALLOW_DATA_LOSS = function() { - return this.getToken(TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); -}; - -Alter_availability_group_optionsContext.prototype.LISTENER = function() { - return this.getToken(TSqlParser.LISTENER, 0); -}; - -Alter_availability_group_optionsContext.prototype.DHCP = function() { - return this.getToken(TSqlParser.DHCP, 0); -}; - -Alter_availability_group_optionsContext.prototype.IP = function() { - return this.getToken(TSqlParser.IP, 0); -}; - -Alter_availability_group_optionsContext.prototype.IPV4_ADDR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.IPV4_ADDR); - } else { - return this.getToken(TSqlParser.IPV4_ADDR, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.PORT = function() { - return this.getToken(TSqlParser.PORT, 0); -}; - -Alter_availability_group_optionsContext.prototype.IPV6_ADDR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.IPV6_ADDR); - } else { - return this.getToken(TSqlParser.IPV6_ADDR, i); - } -}; - - -Alter_availability_group_optionsContext.prototype.RESTART = function() { - return this.getToken(TSqlParser.RESTART, 0); -}; - -Alter_availability_group_optionsContext.prototype.OFFLINE = function() { - return this.getToken(TSqlParser.OFFLINE, 0); -}; - -Alter_availability_group_optionsContext.prototype.DTC_SUPPORT = function() { - return this.getToken(TSqlParser.DTC_SUPPORT, 0); -}; - -Alter_availability_group_optionsContext.prototype.PER_DB = function() { - return this.getToken(TSqlParser.PER_DB, 0); -}; - -Alter_availability_group_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_availability_group_options(this); - } -}; - -Alter_availability_group_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_availability_group_options(this); - } -}; - -Alter_availability_group_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_availability_group_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_availability_group_optionsContext = Alter_availability_group_optionsContext; - -TSqlParser.prototype.alter_availability_group_options = function() { - - var localctx = new Alter_availability_group_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 160, TSqlParser.RULE_alter_availability_group_options); - var _la = 0; // Token type - try { - this.state = 2191; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,141,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1841; - this.match(TSqlParser.SET); - this.state = 1842; - this.match(TSqlParser.LR_BRACKET); - - this.state = 1858; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AUTOMATED_BACKUP_PREFERENCE: - this.state = 1843; - this.match(TSqlParser.AUTOMATED_BACKUP_PREFERENCE); - this.state = 1844; - this.match(TSqlParser.EQUAL); - this.state = 1845; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NONE || _la===TSqlParser.PRIMARY || _la===TSqlParser.SECONDARY || _la===TSqlParser.SECONDARY_ONLY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.FAILURE_CONDITION_LEVEL: - this.state = 1846; - this.match(TSqlParser.FAILURE_CONDITION_LEVEL); - this.state = 1847; - this.match(TSqlParser.EQUAL); - this.state = 1848; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.HEALTH_CHECK_TIMEOUT: - this.state = 1849; - this.match(TSqlParser.HEALTH_CHECK_TIMEOUT); - this.state = 1850; - this.match(TSqlParser.EQUAL); - this.state = 1851; - localctx.milliseconds = this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.DB_FAILOVER: - this.state = 1852; - this.match(TSqlParser.DB_FAILOVER); - this.state = 1853; - this.match(TSqlParser.EQUAL); - this.state = 1854; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - this.state = 1855; - this.match(TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT); - this.state = 1856; - this.match(TSqlParser.EQUAL); - this.state = 1857; - this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1860; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1861; - this.match(TSqlParser.ADD); - this.state = 1862; - this.match(TSqlParser.DATABASE); - this.state = 1863; - localctx.database_name = this.id(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1864; - this.match(TSqlParser.REMOVE); - this.state = 1865; - this.match(TSqlParser.DATABASE); - this.state = 1866; - localctx.database_name = this.id(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1867; - this.match(TSqlParser.ADD); - this.state = 1868; - this.match(TSqlParser.REPLICA); - this.state = 1869; - this.match(TSqlParser.ON); - this.state = 1870; - localctx.server_instance = this.match(TSqlParser.STRING); - - this.state = 1871; - this.match(TSqlParser.WITH); - this.state = 1872; - this.match(TSqlParser.LR_BRACKET); - - this.state = 1876; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ENDPOINT_URL) { - this.state = 1873; - this.match(TSqlParser.ENDPOINT_URL); - this.state = 1874; - this.match(TSqlParser.EQUAL); - this.state = 1875; - this.match(TSqlParser.STRING); - } - - this.state = 1884; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,101,this._ctx); - if(la_===1) { - this.state = 1879; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1878; - this.match(TSqlParser.COMMA); - } - - this.state = 1881; - this.match(TSqlParser.AVAILABILITY_MODE); - this.state = 1882; - this.match(TSqlParser.EQUAL); - this.state = 1883; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ASYNCHRONOUS_COMMIT || _la===TSqlParser.SYNCHRONOUS_COMMIT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 1892; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,103,this._ctx); - if(la_===1) { - this.state = 1887; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1886; - this.match(TSqlParser.COMMA); - } - - this.state = 1889; - this.match(TSqlParser.FAILOVER_MODE); - this.state = 1890; - this.match(TSqlParser.EQUAL); - this.state = 1891; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AUTOMATIC || _la===TSqlParser.MANUAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 1900; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,105,this._ctx); - if(la_===1) { - this.state = 1895; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1894; - this.match(TSqlParser.COMMA); - } - - this.state = 1897; - this.match(TSqlParser.SEEDING_MODE); - this.state = 1898; - this.match(TSqlParser.EQUAL); - this.state = 1899; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AUTOMATIC || _la===TSqlParser.MANUAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 1908; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,107,this._ctx); - if(la_===1) { - this.state = 1903; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1902; - this.match(TSqlParser.COMMA); - } - - this.state = 1905; - this.match(TSqlParser.BACKUP_PRIORITY); - this.state = 1906; - this.match(TSqlParser.EQUAL); - this.state = 1907; - this.match(TSqlParser.DECIMAL); - - } - this.state = 1919; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,109,this._ctx); - if(la_===1) { - this.state = 1911; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1910; - this.match(TSqlParser.COMMA); - } - - this.state = 1913; - this.match(TSqlParser.PRIMARY_ROLE); - this.state = 1914; - this.match(TSqlParser.LR_BRACKET); - this.state = 1915; - this.match(TSqlParser.ALLOW_CONNECTIONS); - this.state = 1916; - this.match(TSqlParser.EQUAL); - this.state = 1917; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.READ_WRITE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1918; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 1930; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SECONDARY_ROLE || _la===TSqlParser.COMMA) { - this.state = 1922; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1921; - this.match(TSqlParser.COMMA); - } - - this.state = 1924; - this.match(TSqlParser.SECONDARY_ROLE); - this.state = 1925; - this.match(TSqlParser.LR_BRACKET); - this.state = 1926; - this.match(TSqlParser.ALLOW_CONNECTIONS); - this.state = 1927; - this.match(TSqlParser.EQUAL); - - this.state = 1928; - this.match(TSqlParser.READ_ONLY); - this.state = 1929; - this.match(TSqlParser.RR_BRACKET); - } - - this.state = 1932; - this.match(TSqlParser.RR_BRACKET); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 1933; - this.match(TSqlParser.SECONDARY_ROLE); - this.state = 1934; - this.match(TSqlParser.LR_BRACKET); - this.state = 1943; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALLOW_CONNECTIONS: - this.state = 1935; - this.match(TSqlParser.ALLOW_CONNECTIONS); - this.state = 1936; - this.match(TSqlParser.EQUAL); - this.state = 1937; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.NO || _la===TSqlParser.READ_ONLY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.READ_ONLY_ROUTING_LIST: - this.state = 1938; - this.match(TSqlParser.READ_ONLY_ROUTING_LIST); - this.state = 1939; - this.match(TSqlParser.EQUAL); - - this.state = 1940; - this.match(TSqlParser.LR_BRACKET); - - this.state = 1941; - this.match(TSqlParser.STRING); - this.state = 1942; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 1945; - this.match(TSqlParser.PRIMARY_ROLE); - this.state = 1946; - this.match(TSqlParser.LR_BRACKET); - this.state = 1969; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALLOW_CONNECTIONS: - this.state = 1947; - this.match(TSqlParser.ALLOW_CONNECTIONS); - this.state = 1948; - this.match(TSqlParser.EQUAL); - this.state = 1949; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.NO || _la===TSqlParser.READ_ONLY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.READ_ONLY_ROUTING_LIST: - this.state = 1950; - this.match(TSqlParser.READ_ONLY_ROUTING_LIST); - this.state = 1951; - this.match(TSqlParser.EQUAL); - - this.state = 1952; - this.match(TSqlParser.LR_BRACKET); - this.state = 1963; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - case TSqlParser.RR_BRACKET: - case TSqlParser.COMMA: - this.state = 1959; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.STRING || _la===TSqlParser.COMMA) { - this.state = 1954; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 1953; - this.match(TSqlParser.COMMA); - } - - this.state = 1956; - this.match(TSqlParser.STRING); - this.state = 1961; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - case TSqlParser.NONE: - this.state = 1962; - this.match(TSqlParser.NONE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1965; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.SESSION_TIMEOUT: - this.state = 1966; - this.match(TSqlParser.SESSION_TIMEOUT); - this.state = 1967; - this.match(TSqlParser.EQUAL); - this.state = 1968; - localctx.session_timeout = this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 1971; - this.match(TSqlParser.MODIFY); - this.state = 1972; - this.match(TSqlParser.REPLICA); - this.state = 1973; - this.match(TSqlParser.ON); - this.state = 1974; - localctx.server_instance = this.match(TSqlParser.STRING); - this.state = 2032; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.WITH: - this.state = 1975; - this.match(TSqlParser.WITH); - this.state = 1976; - this.match(TSqlParser.LR_BRACKET); - this.state = 1992; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ENDPOINT_URL: - this.state = 1977; - this.match(TSqlParser.ENDPOINT_URL); - this.state = 1978; - this.match(TSqlParser.EQUAL); - this.state = 1979; - this.match(TSqlParser.STRING); - break; - case TSqlParser.AVAILABILITY_MODE: - this.state = 1980; - this.match(TSqlParser.AVAILABILITY_MODE); - this.state = 1981; - this.match(TSqlParser.EQUAL); - this.state = 1982; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ASYNCHRONOUS_COMMIT || _la===TSqlParser.SYNCHRONOUS_COMMIT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.FAILOVER_MODE: - this.state = 1983; - this.match(TSqlParser.FAILOVER_MODE); - this.state = 1984; - this.match(TSqlParser.EQUAL); - this.state = 1985; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AUTOMATIC || _la===TSqlParser.MANUAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.SEEDING_MODE: - this.state = 1986; - this.match(TSqlParser.SEEDING_MODE); - this.state = 1987; - this.match(TSqlParser.EQUAL); - this.state = 1988; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AUTOMATIC || _la===TSqlParser.MANUAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.BACKUP_PRIORITY: - this.state = 1989; - this.match(TSqlParser.BACKUP_PRIORITY); - this.state = 1990; - this.match(TSqlParser.EQUAL); - this.state = 1991; - this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.SECONDARY_ROLE: - this.state = 1994; - this.match(TSqlParser.SECONDARY_ROLE); - this.state = 1995; - this.match(TSqlParser.LR_BRACKET); - this.state = 2004; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALLOW_CONNECTIONS: - this.state = 1996; - this.match(TSqlParser.ALLOW_CONNECTIONS); - this.state = 1997; - this.match(TSqlParser.EQUAL); - this.state = 1998; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.NO || _la===TSqlParser.READ_ONLY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.READ_ONLY_ROUTING_LIST: - this.state = 1999; - this.match(TSqlParser.READ_ONLY_ROUTING_LIST); - this.state = 2000; - this.match(TSqlParser.EQUAL); - - this.state = 2001; - this.match(TSqlParser.LR_BRACKET); - - this.state = 2002; - this.match(TSqlParser.STRING); - this.state = 2003; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.PRIMARY_ROLE: - this.state = 2006; - this.match(TSqlParser.PRIMARY_ROLE); - this.state = 2007; - this.match(TSqlParser.LR_BRACKET); - this.state = 2030; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALLOW_CONNECTIONS: - this.state = 2008; - this.match(TSqlParser.ALLOW_CONNECTIONS); - this.state = 2009; - this.match(TSqlParser.EQUAL); - this.state = 2010; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.NO || _la===TSqlParser.READ_ONLY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.READ_ONLY_ROUTING_LIST: - this.state = 2011; - this.match(TSqlParser.READ_ONLY_ROUTING_LIST); - this.state = 2012; - this.match(TSqlParser.EQUAL); - - this.state = 2013; - this.match(TSqlParser.LR_BRACKET); - this.state = 2024; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - case TSqlParser.RR_BRACKET: - case TSqlParser.COMMA: - this.state = 2020; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.STRING || _la===TSqlParser.COMMA) { - this.state = 2015; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2014; - this.match(TSqlParser.COMMA); - } - - this.state = 2017; - this.match(TSqlParser.STRING); - this.state = 2022; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - case TSqlParser.NONE: - this.state = 2023; - this.match(TSqlParser.NONE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2026; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.SESSION_TIMEOUT: - this.state = 2027; - this.match(TSqlParser.SESSION_TIMEOUT); - this.state = 2028; - this.match(TSqlParser.EQUAL); - this.state = 2029; - localctx.session_timeout = this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2034; - this.match(TSqlParser.RR_BRACKET); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 2035; - this.match(TSqlParser.REMOVE); - this.state = 2036; - this.match(TSqlParser.REPLICA); - this.state = 2037; - this.match(TSqlParser.ON); - this.state = 2038; - this.match(TSqlParser.STRING); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 2039; - this.match(TSqlParser.JOIN); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 2040; - this.match(TSqlParser.JOIN); - this.state = 2041; - this.match(TSqlParser.AVAILABILITY); - this.state = 2042; - this.match(TSqlParser.GROUP); - this.state = 2043; - this.match(TSqlParser.ON); - this.state = 2066; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 2045; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2044; - this.match(TSqlParser.COMMA); - } - - this.state = 2047; - localctx.ag_name = this.match(TSqlParser.STRING); - this.state = 2048; - this.match(TSqlParser.WITH); - this.state = 2049; - this.match(TSqlParser.LR_BRACKET); - - this.state = 2050; - this.match(TSqlParser.LISTENER_URL); - this.state = 2051; - this.match(TSqlParser.EQUAL); - this.state = 2052; - this.match(TSqlParser.STRING); - this.state = 2053; - this.match(TSqlParser.COMMA); - this.state = 2054; - this.match(TSqlParser.AVAILABILITY_MODE); - this.state = 2055; - this.match(TSqlParser.EQUAL); - this.state = 2056; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ASYNCHRONOUS_COMMIT || _la===TSqlParser.SYNCHRONOUS_COMMIT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2057; - this.match(TSqlParser.COMMA); - this.state = 2058; - this.match(TSqlParser.FAILOVER_MODE); - this.state = 2059; - this.match(TSqlParser.EQUAL); - this.state = 2060; - this.match(TSqlParser.MANUAL); - this.state = 2061; - this.match(TSqlParser.COMMA); - this.state = 2062; - this.match(TSqlParser.SEEDING_MODE); - this.state = 2063; - this.match(TSqlParser.EQUAL); - this.state = 2064; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AUTOMATIC || _la===TSqlParser.MANUAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2065; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2068; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,125, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 2070; - this.match(TSqlParser.MODIFY); - this.state = 2071; - this.match(TSqlParser.AVAILABILITY); - this.state = 2072; - this.match(TSqlParser.GROUP); - this.state = 2073; - this.match(TSqlParser.ON); - this.state = 2108; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 2075; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2074; - this.match(TSqlParser.COMMA); - } - - this.state = 2077; - localctx.ag_name_modified = this.match(TSqlParser.STRING); - this.state = 2078; - this.match(TSqlParser.WITH); - this.state = 2079; - this.match(TSqlParser.LR_BRACKET); - - this.state = 2080; - this.match(TSqlParser.LISTENER_URL); - this.state = 2081; - this.match(TSqlParser.EQUAL); - this.state = 2082; - this.match(TSqlParser.STRING); - this.state = 2089; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,128,this._ctx); - if(la_===1) { - this.state = 2084; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2083; - this.match(TSqlParser.COMMA); - } - - this.state = 2086; - this.match(TSqlParser.AVAILABILITY_MODE); - this.state = 2087; - this.match(TSqlParser.EQUAL); - this.state = 2088; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ASYNCHRONOUS_COMMIT || _la===TSqlParser.SYNCHRONOUS_COMMIT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 2097; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,130,this._ctx); - if(la_===1) { - this.state = 2092; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2091; - this.match(TSqlParser.COMMA); - } - - this.state = 2094; - this.match(TSqlParser.FAILOVER_MODE); - this.state = 2095; - this.match(TSqlParser.EQUAL); - this.state = 2096; - this.match(TSqlParser.MANUAL); - - } - this.state = 2105; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SEEDING_MODE || _la===TSqlParser.COMMA) { - this.state = 2100; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2099; - this.match(TSqlParser.COMMA); - } - - this.state = 2102; - this.match(TSqlParser.SEEDING_MODE); - this.state = 2103; - this.match(TSqlParser.EQUAL); - this.state = 2104; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AUTOMATIC || _la===TSqlParser.MANUAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 2107; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2110; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,133, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 2112; - this.match(TSqlParser.GRANT); - this.state = 2113; - this.match(TSqlParser.CREATE); - this.state = 2114; - this.match(TSqlParser.ANY); - this.state = 2115; - this.match(TSqlParser.DATABASE); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 2116; - this.match(TSqlParser.DENY); - this.state = 2117; - this.match(TSqlParser.CREATE); - this.state = 2118; - this.match(TSqlParser.ANY); - this.state = 2119; - this.match(TSqlParser.DATABASE); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 2120; - this.match(TSqlParser.FAILOVER); - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 2121; - this.match(TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS); - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 2122; - this.match(TSqlParser.ADD); - this.state = 2123; - this.match(TSqlParser.LISTENER); - this.state = 2124; - localctx.listener_name = this.match(TSqlParser.STRING); - this.state = 2125; - this.match(TSqlParser.LR_BRACKET); - this.state = 2159; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,138,this._ctx); - switch(la_) { - case 1: - this.state = 2126; - this.match(TSqlParser.WITH); - this.state = 2127; - this.match(TSqlParser.DHCP); - - this.state = 2128; - this.match(TSqlParser.ON); - this.state = 2129; - this.match(TSqlParser.LR_BRACKET); - - this.state = 2130; - this.match(TSqlParser.IPV4_ADDR); - this.state = 2131; - this.match(TSqlParser.IPV4_ADDR); - this.state = 2133; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.state = 2134; - this.match(TSqlParser.WITH); - this.state = 2135; - this.match(TSqlParser.IP); - this.state = 2136; - this.match(TSqlParser.LR_BRACKET); - - this.state = 2148; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2138; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2137; - this.match(TSqlParser.COMMA); - } - - this.state = 2140; - this.match(TSqlParser.LR_BRACKET); - this.state = 2145; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.IPV4_ADDR: - this.state = 2141; - this.match(TSqlParser.IPV4_ADDR); - this.state = 2142; - this.match(TSqlParser.COMMA); - this.state = 2143; - this.match(TSqlParser.IPV4_ADDR); - break; - case TSqlParser.IPV6_ADDR: - this.state = 2144; - this.match(TSqlParser.IPV6_ADDR); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2147; - this.match(TSqlParser.RR_BRACKET); - this.state = 2150; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.LR_BRACKET || _la===TSqlParser.COMMA); - this.state = 2152; - this.match(TSqlParser.RR_BRACKET); - this.state = 2157; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2153; - this.match(TSqlParser.COMMA); - this.state = 2154; - this.match(TSqlParser.PORT); - this.state = 2155; - this.match(TSqlParser.EQUAL); - this.state = 2156; - this.match(TSqlParser.DECIMAL); - } - - break; - - } - this.state = 2161; - this.match(TSqlParser.RR_BRACKET); - break; - - case 17: - this.enterOuterAlt(localctx, 17); - this.state = 2162; - this.match(TSqlParser.MODIFY); - this.state = 2163; - this.match(TSqlParser.LISTENER); - this.state = 2176; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ADD: - this.state = 2164; - this.match(TSqlParser.ADD); - this.state = 2165; - this.match(TSqlParser.IP); - this.state = 2166; - this.match(TSqlParser.LR_BRACKET); - this.state = 2170; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.IPV4_ADDR: - this.state = 2167; - this.match(TSqlParser.IPV4_ADDR); - this.state = 2168; - this.match(TSqlParser.IPV4_ADDR); - break; - case TSqlParser.IPV6_ADDR: - this.state = 2169; - this.match(TSqlParser.IPV6_ADDR); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2172; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.PORT: - this.state = 2173; - this.match(TSqlParser.PORT); - this.state = 2174; - this.match(TSqlParser.EQUAL); - this.state = 2175; - this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 18: - this.enterOuterAlt(localctx, 18); - this.state = 2178; - this.match(TSqlParser.RESTART); - this.state = 2179; - this.match(TSqlParser.LISTENER); - this.state = 2180; - this.match(TSqlParser.STRING); - break; - - case 19: - this.enterOuterAlt(localctx, 19); - this.state = 2181; - this.match(TSqlParser.REMOVE); - this.state = 2182; - this.match(TSqlParser.LISTENER); - this.state = 2183; - this.match(TSqlParser.STRING); - break; - - case 20: - this.enterOuterAlt(localctx, 20); - this.state = 2184; - this.match(TSqlParser.OFFLINE); - break; - - case 21: - this.enterOuterAlt(localctx, 21); - this.state = 2185; - this.match(TSqlParser.WITH); - this.state = 2186; - this.match(TSqlParser.LR_BRACKET); - this.state = 2187; - this.match(TSqlParser.DTC_SUPPORT); - this.state = 2188; - this.match(TSqlParser.EQUAL); - this.state = 2189; - this.match(TSqlParser.PER_DB); - this.state = 2190; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_or_alter_broker_priorityContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_or_alter_broker_priority; - this.ConversationPriorityName = null; // IdContext - this.RemoteServiceName = null; // Token - this.PriorityValue = null; // Token - return this; -} - -Create_or_alter_broker_priorityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_or_alter_broker_priorityContext.prototype.constructor = Create_or_alter_broker_priorityContext; - -Create_or_alter_broker_priorityContext.prototype.BROKER = function() { - return this.getToken(TSqlParser.BROKER, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.PRIORITY = function() { - return this.getToken(TSqlParser.PRIORITY, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.CONVERSATION = function() { - return this.getToken(TSqlParser.CONVERSATION, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_or_alter_broker_priorityContext.prototype.CONTRACT_NAME = function() { - return this.getToken(TSqlParser.CONTRACT_NAME, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_or_alter_broker_priorityContext.prototype.LOCAL_SERVICE_NAME = function() { - return this.getToken(TSqlParser.LOCAL_SERVICE_NAME, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.REMOTE_SERVICE_NAME = function() { - return this.getToken(TSqlParser.REMOTE_SERVICE_NAME, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.PRIORITY_LEVEL = function() { - return this.getToken(TSqlParser.PRIORITY_LEVEL, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.ANY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ANY); - } else { - return this.getToken(TSqlParser.ANY, i); - } -}; - - -Create_or_alter_broker_priorityContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_or_alter_broker_priorityContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.DOUBLE_FORWARD_SLASH = function() { - return this.getToken(TSqlParser.DOUBLE_FORWARD_SLASH, 0); -}; - -Create_or_alter_broker_priorityContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_or_alter_broker_priority(this); - } -}; - -Create_or_alter_broker_priorityContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_or_alter_broker_priority(this); - } -}; - -Create_or_alter_broker_priorityContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_or_alter_broker_priority(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_or_alter_broker_priorityContext = Create_or_alter_broker_priorityContext; - -TSqlParser.prototype.create_or_alter_broker_priority = function() { - - var localctx = new Create_or_alter_broker_priorityContext(this, this._ctx, this.state); - this.enterRule(localctx, 162, TSqlParser.RULE_create_or_alter_broker_priority); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2193; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALTER || _la===TSqlParser.CREATE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2194; - this.match(TSqlParser.BROKER); - this.state = 2195; - this.match(TSqlParser.PRIORITY); - this.state = 2196; - localctx.ConversationPriorityName = this.id(); - this.state = 2197; - this.match(TSqlParser.FOR); - this.state = 2198; - this.match(TSqlParser.CONVERSATION); - this.state = 2199; - this.match(TSqlParser.SET); - this.state = 2200; - this.match(TSqlParser.LR_BRACKET); - this.state = 2210; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONTRACT_NAME) { - this.state = 2201; - this.match(TSqlParser.CONTRACT_NAME); - this.state = 2202; - this.match(TSqlParser.EQUAL); - this.state = 2205; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 2203; - this.id(); - break; - case TSqlParser.ANY: - this.state = 2204; - this.match(TSqlParser.ANY); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2208; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2207; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 2224; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LOCAL_SERVICE_NAME) { - this.state = 2212; - this.match(TSqlParser.LOCAL_SERVICE_NAME); - this.state = 2213; - this.match(TSqlParser.EQUAL); - this.state = 2219; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.DOUBLE_FORWARD_SLASH: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 2215; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.DOUBLE_FORWARD_SLASH) { - this.state = 2214; - this.match(TSqlParser.DOUBLE_FORWARD_SLASH); - } - - this.state = 2217; - this.id(); - break; - case TSqlParser.ANY: - this.state = 2218; - this.match(TSqlParser.ANY); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2222; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2221; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 2235; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.REMOTE_SERVICE_NAME) { - this.state = 2226; - this.match(TSqlParser.REMOTE_SERVICE_NAME); - this.state = 2227; - this.match(TSqlParser.EQUAL); - this.state = 2230; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 2228; - localctx.RemoteServiceName = this.match(TSqlParser.STRING); - break; - case TSqlParser.ANY: - this.state = 2229; - this.match(TSqlParser.ANY); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2233; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2232; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 2243; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PRIORITY_LEVEL) { - this.state = 2237; - this.match(TSqlParser.PRIORITY_LEVEL); - this.state = 2238; - this.match(TSqlParser.EQUAL); - this.state = 2241; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 2239; - localctx.PriorityValue = this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.DEFAULT: - this.state = 2240; - this.match(TSqlParser.DEFAULT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - this.state = 2245; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_broker_priorityContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_broker_priority; - this.ConversationPriorityName = null; // IdContext - return this; -} - -Drop_broker_priorityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_broker_priorityContext.prototype.constructor = Drop_broker_priorityContext; - -Drop_broker_priorityContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_broker_priorityContext.prototype.BROKER = function() { - return this.getToken(TSqlParser.BROKER, 0); -}; - -Drop_broker_priorityContext.prototype.PRIORITY = function() { - return this.getToken(TSqlParser.PRIORITY, 0); -}; - -Drop_broker_priorityContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_broker_priorityContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_broker_priority(this); - } -}; - -Drop_broker_priorityContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_broker_priority(this); - } -}; - -Drop_broker_priorityContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_broker_priority(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_broker_priorityContext = Drop_broker_priorityContext; - -TSqlParser.prototype.drop_broker_priority = function() { - - var localctx = new Drop_broker_priorityContext(this, this._ctx, this.state); - this.enterRule(localctx, 164, TSqlParser.RULE_drop_broker_priority); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2247; - this.match(TSqlParser.DROP); - this.state = 2248; - this.match(TSqlParser.BROKER); - this.state = 2249; - this.match(TSqlParser.PRIORITY); - this.state = 2250; - localctx.ConversationPriorityName = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_certificateContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_certificate; - this.certificate_name = null; // IdContext - return this; -} - -Alter_certificateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_certificateContext.prototype.constructor = Alter_certificateContext; - -Alter_certificateContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_certificateContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Alter_certificateContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_certificateContext.prototype.REMOVE = function() { - return this.getToken(TSqlParser.REMOVE, 0); -}; - -Alter_certificateContext.prototype.PRIVATE_KEY = function() { - return this.getToken(TSqlParser.PRIVATE_KEY, 0); -}; - -Alter_certificateContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_certificateContext.prototype.PRIVATE = function() { - return this.getToken(TSqlParser.PRIVATE, 0); -}; - -Alter_certificateContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Alter_certificateContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Alter_certificateContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Alter_certificateContext.prototype.ACTIVE = function() { - return this.getToken(TSqlParser.ACTIVE, 0); -}; - -Alter_certificateContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Alter_certificateContext.prototype.BEGIN_DIALOG = function() { - return this.getToken(TSqlParser.BEGIN_DIALOG, 0); -}; - -Alter_certificateContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_certificateContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Alter_certificateContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Alter_certificateContext.prototype.FILE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILE); - } else { - return this.getToken(TSqlParser.FILE, i); - } -}; - - -Alter_certificateContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_certificateContext.prototype.DECRYPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECRYPTION); - } else { - return this.getToken(TSqlParser.DECRYPTION, i); - } -}; - - -Alter_certificateContext.prototype.BY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BY); - } else { - return this.getToken(TSqlParser.BY, i); - } -}; - - -Alter_certificateContext.prototype.PASSWORD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.PASSWORD); - } else { - return this.getToken(TSqlParser.PASSWORD, i); - } -}; - - -Alter_certificateContext.prototype.ENCRYPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ENCRYPTION); - } else { - return this.getToken(TSqlParser.ENCRYPTION, i); - } -}; - - -Alter_certificateContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_certificateContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_certificate(this); - } -}; - -Alter_certificateContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_certificate(this); - } -}; - -Alter_certificateContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_certificate(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_certificateContext = Alter_certificateContext; - -TSqlParser.prototype.alter_certificate = function() { - - var localctx = new Alter_certificateContext(this, this._ctx, this.state); - this.enterRule(localctx, 166, TSqlParser.RULE_alter_certificate); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2252; - this.match(TSqlParser.ALTER); - this.state = 2253; - this.match(TSqlParser.CERTIFICATE); - this.state = 2254; - localctx.certificate_name = this.id(); - this.state = 2294; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,159,this._ctx); - switch(la_) { - case 1: - this.state = 2255; - this.match(TSqlParser.REMOVE); - this.state = 2256; - this.match(TSqlParser.PRIVATE_KEY); - break; - - case 2: - this.state = 2257; - this.match(TSqlParser.WITH); - this.state = 2258; - this.match(TSqlParser.PRIVATE); - this.state = 2259; - this.match(TSqlParser.KEY); - this.state = 2260; - this.match(TSqlParser.LR_BRACKET); - this.state = 2283; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2283; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FILE: - this.state = 2261; - this.match(TSqlParser.FILE); - this.state = 2262; - this.match(TSqlParser.EQUAL); - this.state = 2263; - this.match(TSqlParser.STRING); - this.state = 2265; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2264; - this.match(TSqlParser.COMMA); - } - - break; - case TSqlParser.DECRYPTION: - this.state = 2267; - this.match(TSqlParser.DECRYPTION); - this.state = 2268; - this.match(TSqlParser.BY); - this.state = 2269; - this.match(TSqlParser.PASSWORD); - this.state = 2270; - this.match(TSqlParser.EQUAL); - this.state = 2271; - this.match(TSqlParser.STRING); - this.state = 2273; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2272; - this.match(TSqlParser.COMMA); - } - - break; - case TSqlParser.ENCRYPTION: - this.state = 2275; - this.match(TSqlParser.ENCRYPTION); - this.state = 2276; - this.match(TSqlParser.BY); - this.state = 2277; - this.match(TSqlParser.PASSWORD); - this.state = 2278; - this.match(TSqlParser.EQUAL); - this.state = 2279; - this.match(TSqlParser.STRING); - this.state = 2281; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2280; - this.match(TSqlParser.COMMA); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2285; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.FILE || _la===TSqlParser.DECRYPTION || _la===TSqlParser.ENCRYPTION); - this.state = 2287; - this.match(TSqlParser.RR_BRACKET); - break; - - case 3: - this.state = 2288; - this.match(TSqlParser.WITH); - this.state = 2289; - this.match(TSqlParser.ACTIVE); - this.state = 2290; - this.match(TSqlParser.FOR); - this.state = 2291; - this.match(TSqlParser.BEGIN_DIALOG); - this.state = 2292; - this.match(TSqlParser.EQUAL); - this.state = 2293; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_column_encryption_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_column_encryption_key; - this.column_encryption_key = null; // IdContext - this.column_master_key_name = null; // IdContext - this.algorithm_name = null; // Token - return this; -} - -Alter_column_encryption_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_column_encryption_keyContext.prototype.constructor = Alter_column_encryption_keyContext; - -Alter_column_encryption_keyContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_column_encryption_keyContext.prototype.COLUMN = function() { - return this.getToken(TSqlParser.COLUMN, 0); -}; - -Alter_column_encryption_keyContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Alter_column_encryption_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Alter_column_encryption_keyContext.prototype.VALUE = function() { - return this.getToken(TSqlParser.VALUE, 0); -}; - -Alter_column_encryption_keyContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Alter_column_encryption_keyContext.prototype.COLUMN_MASTER_KEY = function() { - return this.getToken(TSqlParser.COLUMN_MASTER_KEY, 0); -}; - -Alter_column_encryption_keyContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_column_encryption_keyContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Alter_column_encryption_keyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_column_encryption_keyContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_column_encryption_keyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_column_encryption_keyContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_column_encryption_keyContext.prototype.ALGORITHM = function() { - return this.getToken(TSqlParser.ALGORITHM, 0); -}; - -Alter_column_encryption_keyContext.prototype.ENCRYPTED_VALUE = function() { - return this.getToken(TSqlParser.ENCRYPTED_VALUE, 0); -}; - -Alter_column_encryption_keyContext.prototype.BINARY = function() { - return this.getToken(TSqlParser.BINARY, 0); -}; - -Alter_column_encryption_keyContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_column_encryption_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_column_encryption_key(this); - } -}; - -Alter_column_encryption_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_column_encryption_key(this); - } -}; - -Alter_column_encryption_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_column_encryption_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_column_encryption_keyContext = Alter_column_encryption_keyContext; - -TSqlParser.prototype.alter_column_encryption_key = function() { - - var localctx = new Alter_column_encryption_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 168, TSqlParser.RULE_alter_column_encryption_key); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2296; - this.match(TSqlParser.ALTER); - this.state = 2297; - this.match(TSqlParser.COLUMN); - this.state = 2298; - this.match(TSqlParser.ENCRYPTION); - this.state = 2299; - this.match(TSqlParser.KEY); - this.state = 2300; - localctx.column_encryption_key = this.id(); - this.state = 2301; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2302; - this.match(TSqlParser.VALUE); - this.state = 2303; - this.match(TSqlParser.LR_BRACKET); - this.state = 2304; - this.match(TSqlParser.COLUMN_MASTER_KEY); - this.state = 2305; - this.match(TSqlParser.EQUAL); - this.state = 2306; - localctx.column_master_key_name = this.id(); - this.state = 2315; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2307; - this.match(TSqlParser.COMMA); - this.state = 2308; - this.match(TSqlParser.ALGORITHM); - this.state = 2309; - this.match(TSqlParser.EQUAL); - this.state = 2310; - localctx.algorithm_name = this.match(TSqlParser.STRING); - this.state = 2311; - this.match(TSqlParser.COMMA); - this.state = 2312; - this.match(TSqlParser.ENCRYPTED_VALUE); - this.state = 2313; - this.match(TSqlParser.EQUAL); - this.state = 2314; - this.match(TSqlParser.BINARY); - } - - this.state = 2317; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_column_encryption_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_column_encryption_key; - this.column_encryption_key = null; // IdContext - this.column_master_key_name = null; // IdContext - this.algorithm_name = null; // Token - this.encrypted_value = null; // Token - return this; -} - -Create_column_encryption_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_column_encryption_keyContext.prototype.constructor = Create_column_encryption_keyContext; - -Create_column_encryption_keyContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_column_encryption_keyContext.prototype.COLUMN = function() { - return this.getToken(TSqlParser.COLUMN, 0); -}; - -Create_column_encryption_keyContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Create_column_encryption_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Create_column_encryption_keyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_column_encryption_keyContext.prototype.VALUES = function() { - return this.getToken(TSqlParser.VALUES, 0); -}; - -Create_column_encryption_keyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_column_encryption_keyContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Create_column_encryption_keyContext.prototype.COLUMN_MASTER_KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COLUMN_MASTER_KEY); - } else { - return this.getToken(TSqlParser.COLUMN_MASTER_KEY, i); - } -}; - - -Create_column_encryption_keyContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_column_encryption_keyContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_column_encryption_keyContext.prototype.ALGORITHM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALGORITHM); - } else { - return this.getToken(TSqlParser.ALGORITHM, i); - } -}; - - -Create_column_encryption_keyContext.prototype.ENCRYPTED_VALUE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ENCRYPTED_VALUE); - } else { - return this.getToken(TSqlParser.ENCRYPTED_VALUE, i); - } -}; - - -Create_column_encryption_keyContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Create_column_encryption_keyContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_column_encryption_keyContext.prototype.BINARY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BINARY); - } else { - return this.getToken(TSqlParser.BINARY, i); - } -}; - - -Create_column_encryption_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_column_encryption_key(this); - } -}; - -Create_column_encryption_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_column_encryption_key(this); - } -}; - -Create_column_encryption_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_column_encryption_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_column_encryption_keyContext = Create_column_encryption_keyContext; - -TSqlParser.prototype.create_column_encryption_key = function() { - - var localctx = new Create_column_encryption_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 170, TSqlParser.RULE_create_column_encryption_key); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2319; - this.match(TSqlParser.CREATE); - this.state = 2320; - this.match(TSqlParser.COLUMN); - this.state = 2321; - this.match(TSqlParser.ENCRYPTION); - this.state = 2322; - this.match(TSqlParser.KEY); - this.state = 2323; - localctx.column_encryption_key = this.id(); - this.state = 2324; - this.match(TSqlParser.WITH); - this.state = 2325; - this.match(TSqlParser.VALUES); - this.state = 2345; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 2326; - this.match(TSqlParser.LR_BRACKET); - this.state = 2328; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2327; - this.match(TSqlParser.COMMA); - } - - this.state = 2330; - this.match(TSqlParser.COLUMN_MASTER_KEY); - this.state = 2331; - this.match(TSqlParser.EQUAL); - this.state = 2332; - localctx.column_master_key_name = this.id(); - this.state = 2333; - this.match(TSqlParser.COMMA); - this.state = 2334; - this.match(TSqlParser.ALGORITHM); - this.state = 2335; - this.match(TSqlParser.EQUAL); - this.state = 2336; - localctx.algorithm_name = this.match(TSqlParser.STRING); - this.state = 2337; - this.match(TSqlParser.COMMA); - this.state = 2338; - this.match(TSqlParser.ENCRYPTED_VALUE); - this.state = 2339; - this.match(TSqlParser.EQUAL); - this.state = 2340; - localctx.encrypted_value = this.match(TSqlParser.BINARY); - this.state = 2341; - this.match(TSqlParser.RR_BRACKET); - this.state = 2343; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2342; - this.match(TSqlParser.COMMA); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2347; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,163, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_certificateContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_certificate; - this.certificate_name = null; // IdContext - return this; -} - -Drop_certificateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_certificateContext.prototype.constructor = Drop_certificateContext; - -Drop_certificateContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_certificateContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Drop_certificateContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_certificateContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_certificate(this); - } -}; - -Drop_certificateContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_certificate(this); - } -}; - -Drop_certificateContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_certificate(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_certificateContext = Drop_certificateContext; - -TSqlParser.prototype.drop_certificate = function() { - - var localctx = new Drop_certificateContext(this, this._ctx, this.state); - this.enterRule(localctx, 172, TSqlParser.RULE_drop_certificate); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2349; - this.match(TSqlParser.DROP); - this.state = 2350; - this.match(TSqlParser.CERTIFICATE); - this.state = 2351; - localctx.certificate_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_column_encryption_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_column_encryption_key; - this.key_name = null; // IdContext - return this; -} - -Drop_column_encryption_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_column_encryption_keyContext.prototype.constructor = Drop_column_encryption_keyContext; - -Drop_column_encryption_keyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_column_encryption_keyContext.prototype.COLUMN = function() { - return this.getToken(TSqlParser.COLUMN, 0); -}; - -Drop_column_encryption_keyContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Drop_column_encryption_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Drop_column_encryption_keyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_column_encryption_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_column_encryption_key(this); - } -}; - -Drop_column_encryption_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_column_encryption_key(this); - } -}; - -Drop_column_encryption_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_column_encryption_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_column_encryption_keyContext = Drop_column_encryption_keyContext; - -TSqlParser.prototype.drop_column_encryption_key = function() { - - var localctx = new Drop_column_encryption_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 174, TSqlParser.RULE_drop_column_encryption_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2353; - this.match(TSqlParser.DROP); - this.state = 2354; - this.match(TSqlParser.COLUMN); - this.state = 2355; - this.match(TSqlParser.ENCRYPTION); - this.state = 2356; - this.match(TSqlParser.KEY); - this.state = 2357; - localctx.key_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_column_master_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_column_master_key; - this.key_name = null; // IdContext - return this; -} - -Drop_column_master_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_column_master_keyContext.prototype.constructor = Drop_column_master_keyContext; - -Drop_column_master_keyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_column_master_keyContext.prototype.COLUMN = function() { - return this.getToken(TSqlParser.COLUMN, 0); -}; - -Drop_column_master_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Drop_column_master_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Drop_column_master_keyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_column_master_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_column_master_key(this); - } -}; - -Drop_column_master_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_column_master_key(this); - } -}; - -Drop_column_master_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_column_master_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_column_master_keyContext = Drop_column_master_keyContext; - -TSqlParser.prototype.drop_column_master_key = function() { - - var localctx = new Drop_column_master_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 176, TSqlParser.RULE_drop_column_master_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2359; - this.match(TSqlParser.DROP); - this.state = 2360; - this.match(TSqlParser.COLUMN); - this.state = 2361; - this.match(TSqlParser.MASTER); - this.state = 2362; - this.match(TSqlParser.KEY); - this.state = 2363; - localctx.key_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_contractContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_contract; - this.dropped_contract_name = null; // IdContext - return this; -} - -Drop_contractContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_contractContext.prototype.constructor = Drop_contractContext; - -Drop_contractContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_contractContext.prototype.CONTRACT = function() { - return this.getToken(TSqlParser.CONTRACT, 0); -}; - -Drop_contractContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_contractContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_contract(this); - } -}; - -Drop_contractContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_contract(this); - } -}; - -Drop_contractContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_contract(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_contractContext = Drop_contractContext; - -TSqlParser.prototype.drop_contract = function() { - - var localctx = new Drop_contractContext(this, this._ctx, this.state); - this.enterRule(localctx, 178, TSqlParser.RULE_drop_contract); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2365; - this.match(TSqlParser.DROP); - this.state = 2366; - this.match(TSqlParser.CONTRACT); - this.state = 2367; - localctx.dropped_contract_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_credentialContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_credential; - this.credential_name = null; // IdContext - return this; -} - -Drop_credentialContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_credentialContext.prototype.constructor = Drop_credentialContext; - -Drop_credentialContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_credentialContext.prototype.CREDENTIAL = function() { - return this.getToken(TSqlParser.CREDENTIAL, 0); -}; - -Drop_credentialContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_credentialContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_credential(this); - } -}; - -Drop_credentialContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_credential(this); - } -}; - -Drop_credentialContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_credential(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_credentialContext = Drop_credentialContext; - -TSqlParser.prototype.drop_credential = function() { - - var localctx = new Drop_credentialContext(this, this._ctx, this.state); - this.enterRule(localctx, 180, TSqlParser.RULE_drop_credential); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2369; - this.match(TSqlParser.DROP); - this.state = 2370; - this.match(TSqlParser.CREDENTIAL); - this.state = 2371; - localctx.credential_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_cryptograhic_providerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_cryptograhic_provider; - this.provider_name = null; // IdContext - return this; -} - -Drop_cryptograhic_providerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_cryptograhic_providerContext.prototype.constructor = Drop_cryptograhic_providerContext; - -Drop_cryptograhic_providerContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_cryptograhic_providerContext.prototype.CRYPTOGRAPHIC = function() { - return this.getToken(TSqlParser.CRYPTOGRAPHIC, 0); -}; - -Drop_cryptograhic_providerContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Drop_cryptograhic_providerContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_cryptograhic_providerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_cryptograhic_provider(this); - } -}; - -Drop_cryptograhic_providerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_cryptograhic_provider(this); - } -}; - -Drop_cryptograhic_providerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_cryptograhic_provider(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_cryptograhic_providerContext = Drop_cryptograhic_providerContext; - -TSqlParser.prototype.drop_cryptograhic_provider = function() { - - var localctx = new Drop_cryptograhic_providerContext(this, this._ctx, this.state); - this.enterRule(localctx, 182, TSqlParser.RULE_drop_cryptograhic_provider); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2373; - this.match(TSqlParser.DROP); - this.state = 2374; - this.match(TSqlParser.CRYPTOGRAPHIC); - this.state = 2375; - this.match(TSqlParser.PROVIDER); - this.state = 2376; - localctx.provider_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_databaseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_database; - this.database_name_or_database_snapshot_name = null; // IdContext - return this; -} - -Drop_databaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_databaseContext.prototype.constructor = Drop_databaseContext; - -Drop_databaseContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_databaseContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Drop_databaseContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_databaseContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_databaseContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_databaseContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_databaseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_database(this); - } -}; - -Drop_databaseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_database(this); - } -}; - -Drop_databaseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_database(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_databaseContext = Drop_databaseContext; - -TSqlParser.prototype.drop_database = function() { - - var localctx = new Drop_databaseContext(this, this._ctx, this.state); - this.enterRule(localctx, 184, TSqlParser.RULE_drop_database); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2378; - this.match(TSqlParser.DROP); - this.state = 2379; - this.match(TSqlParser.DATABASE); - this.state = 2382; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 2380; - this.match(TSqlParser.IF); - this.state = 2381; - this.match(TSqlParser.EXISTS); - } - - this.state = 2388; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 2385; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2384; - this.match(TSqlParser.COMMA); - } - - this.state = 2387; - localctx.database_name_or_database_snapshot_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2390; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,166, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_database_audit_specificationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_database_audit_specification; - this.audit_specification_name = null; // IdContext - return this; -} - -Drop_database_audit_specificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_database_audit_specificationContext.prototype.constructor = Drop_database_audit_specificationContext; - -Drop_database_audit_specificationContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_database_audit_specificationContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Drop_database_audit_specificationContext.prototype.AUDIT = function() { - return this.getToken(TSqlParser.AUDIT, 0); -}; - -Drop_database_audit_specificationContext.prototype.SPECIFICATION = function() { - return this.getToken(TSqlParser.SPECIFICATION, 0); -}; - -Drop_database_audit_specificationContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_database_audit_specificationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_database_audit_specification(this); - } -}; - -Drop_database_audit_specificationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_database_audit_specification(this); - } -}; - -Drop_database_audit_specificationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_database_audit_specification(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_database_audit_specificationContext = Drop_database_audit_specificationContext; - -TSqlParser.prototype.drop_database_audit_specification = function() { - - var localctx = new Drop_database_audit_specificationContext(this, this._ctx, this.state); - this.enterRule(localctx, 186, TSqlParser.RULE_drop_database_audit_specification); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2392; - this.match(TSqlParser.DROP); - this.state = 2393; - this.match(TSqlParser.DATABASE); - this.state = 2394; - this.match(TSqlParser.AUDIT); - this.state = 2395; - this.match(TSqlParser.SPECIFICATION); - this.state = 2396; - localctx.audit_specification_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_database_scoped_credentialContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_database_scoped_credential; - this.credential_name = null; // IdContext - return this; -} - -Drop_database_scoped_credentialContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_database_scoped_credentialContext.prototype.constructor = Drop_database_scoped_credentialContext; - -Drop_database_scoped_credentialContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_database_scoped_credentialContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Drop_database_scoped_credentialContext.prototype.SCOPED = function() { - return this.getToken(TSqlParser.SCOPED, 0); -}; - -Drop_database_scoped_credentialContext.prototype.CREDENTIAL = function() { - return this.getToken(TSqlParser.CREDENTIAL, 0); -}; - -Drop_database_scoped_credentialContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_database_scoped_credentialContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_database_scoped_credential(this); - } -}; - -Drop_database_scoped_credentialContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_database_scoped_credential(this); - } -}; - -Drop_database_scoped_credentialContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_database_scoped_credential(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_database_scoped_credentialContext = Drop_database_scoped_credentialContext; - -TSqlParser.prototype.drop_database_scoped_credential = function() { - - var localctx = new Drop_database_scoped_credentialContext(this, this._ctx, this.state); - this.enterRule(localctx, 188, TSqlParser.RULE_drop_database_scoped_credential); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2398; - this.match(TSqlParser.DROP); - this.state = 2399; - this.match(TSqlParser.DATABASE); - this.state = 2400; - this.match(TSqlParser.SCOPED); - this.state = 2401; - this.match(TSqlParser.CREDENTIAL); - this.state = 2402; - localctx.credential_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_defaultContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_default; - this.schema_name = null; // IdContext - this.default_name = null; // IdContext - return this; -} - -Drop_defaultContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_defaultContext.prototype.constructor = Drop_defaultContext; - -Drop_defaultContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_defaultContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Drop_defaultContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_defaultContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_defaultContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_defaultContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Drop_defaultContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Drop_defaultContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_default(this); - } -}; - -Drop_defaultContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_default(this); - } -}; - -Drop_defaultContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_default(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_defaultContext = Drop_defaultContext; - -TSqlParser.prototype.drop_default = function() { - - var localctx = new Drop_defaultContext(this, this._ctx, this.state); - this.enterRule(localctx, 190, TSqlParser.RULE_drop_default); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2404; - this.match(TSqlParser.DROP); - this.state = 2405; - this.match(TSqlParser.DEFAULT); - this.state = 2408; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 2406; - this.match(TSqlParser.IF); - this.state = 2407; - this.match(TSqlParser.EXISTS); - } - - this.state = 2411; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2410; - this.match(TSqlParser.COMMA); - } - - this.state = 2416; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,169,this._ctx); - if(la_===1) { - this.state = 2413; - localctx.schema_name = this.id(); - this.state = 2414; - this.match(TSqlParser.DOT); - - } - this.state = 2418; - localctx.default_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_endpointContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_endpoint; - this.endPointName = null; // IdContext - return this; -} - -Drop_endpointContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_endpointContext.prototype.constructor = Drop_endpointContext; - -Drop_endpointContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_endpointContext.prototype.ENDPOINT = function() { - return this.getToken(TSqlParser.ENDPOINT, 0); -}; - -Drop_endpointContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_endpointContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_endpoint(this); - } -}; - -Drop_endpointContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_endpoint(this); - } -}; - -Drop_endpointContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_endpoint(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_endpointContext = Drop_endpointContext; - -TSqlParser.prototype.drop_endpoint = function() { - - var localctx = new Drop_endpointContext(this, this._ctx, this.state); - this.enterRule(localctx, 192, TSqlParser.RULE_drop_endpoint); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2420; - this.match(TSqlParser.DROP); - this.state = 2421; - this.match(TSqlParser.ENDPOINT); - this.state = 2422; - localctx.endPointName = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_external_data_sourceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_external_data_source; - this.external_data_source_name = null; // IdContext - return this; -} - -Drop_external_data_sourceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_external_data_sourceContext.prototype.constructor = Drop_external_data_sourceContext; - -Drop_external_data_sourceContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_external_data_sourceContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Drop_external_data_sourceContext.prototype.DATA = function() { - return this.getToken(TSqlParser.DATA, 0); -}; - -Drop_external_data_sourceContext.prototype.SOURCE = function() { - return this.getToken(TSqlParser.SOURCE, 0); -}; - -Drop_external_data_sourceContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_external_data_sourceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_external_data_source(this); - } -}; - -Drop_external_data_sourceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_external_data_source(this); - } -}; - -Drop_external_data_sourceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_external_data_source(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_external_data_sourceContext = Drop_external_data_sourceContext; - -TSqlParser.prototype.drop_external_data_source = function() { - - var localctx = new Drop_external_data_sourceContext(this, this._ctx, this.state); - this.enterRule(localctx, 194, TSqlParser.RULE_drop_external_data_source); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2424; - this.match(TSqlParser.DROP); - this.state = 2425; - this.match(TSqlParser.EXTERNAL); - this.state = 2426; - this.match(TSqlParser.DATA); - this.state = 2427; - this.match(TSqlParser.SOURCE); - this.state = 2428; - localctx.external_data_source_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_external_file_formatContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_external_file_format; - this.external_file_format_name = null; // IdContext - return this; -} - -Drop_external_file_formatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_external_file_formatContext.prototype.constructor = Drop_external_file_formatContext; - -Drop_external_file_formatContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_external_file_formatContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Drop_external_file_formatContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Drop_external_file_formatContext.prototype.FORMAT = function() { - return this.getToken(TSqlParser.FORMAT, 0); -}; - -Drop_external_file_formatContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_external_file_formatContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_external_file_format(this); - } -}; - -Drop_external_file_formatContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_external_file_format(this); - } -}; - -Drop_external_file_formatContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_external_file_format(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_external_file_formatContext = Drop_external_file_formatContext; - -TSqlParser.prototype.drop_external_file_format = function() { - - var localctx = new Drop_external_file_formatContext(this, this._ctx, this.state); - this.enterRule(localctx, 196, TSqlParser.RULE_drop_external_file_format); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2430; - this.match(TSqlParser.DROP); - this.state = 2431; - this.match(TSqlParser.EXTERNAL); - this.state = 2432; - this.match(TSqlParser.FILE); - this.state = 2433; - this.match(TSqlParser.FORMAT); - this.state = 2434; - localctx.external_file_format_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_external_libraryContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_external_library; - this.library_name = null; // IdContext - this.owner_name = null; // IdContext - return this; -} - -Drop_external_libraryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_external_libraryContext.prototype.constructor = Drop_external_libraryContext; - -Drop_external_libraryContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_external_libraryContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Drop_external_libraryContext.prototype.LIBRARY = function() { - return this.getToken(TSqlParser.LIBRARY, 0); -}; - -Drop_external_libraryContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_external_libraryContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Drop_external_libraryContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_external_library(this); - } -}; - -Drop_external_libraryContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_external_library(this); - } -}; - -Drop_external_libraryContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_external_library(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_external_libraryContext = Drop_external_libraryContext; - -TSqlParser.prototype.drop_external_library = function() { - - var localctx = new Drop_external_libraryContext(this, this._ctx, this.state); - this.enterRule(localctx, 198, TSqlParser.RULE_drop_external_library); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2436; - this.match(TSqlParser.DROP); - this.state = 2437; - this.match(TSqlParser.EXTERNAL); - this.state = 2438; - this.match(TSqlParser.LIBRARY); - this.state = 2439; - localctx.library_name = this.id(); - this.state = 2442; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 2440; - this.match(TSqlParser.AUTHORIZATION); - this.state = 2441; - localctx.owner_name = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_external_resource_poolContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_external_resource_pool; - this.pool_name = null; // IdContext - return this; -} - -Drop_external_resource_poolContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_external_resource_poolContext.prototype.constructor = Drop_external_resource_poolContext; - -Drop_external_resource_poolContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_external_resource_poolContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Drop_external_resource_poolContext.prototype.RESOURCE = function() { - return this.getToken(TSqlParser.RESOURCE, 0); -}; - -Drop_external_resource_poolContext.prototype.POOL = function() { - return this.getToken(TSqlParser.POOL, 0); -}; - -Drop_external_resource_poolContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_external_resource_poolContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_external_resource_pool(this); - } -}; - -Drop_external_resource_poolContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_external_resource_pool(this); - } -}; - -Drop_external_resource_poolContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_external_resource_pool(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_external_resource_poolContext = Drop_external_resource_poolContext; - -TSqlParser.prototype.drop_external_resource_pool = function() { - - var localctx = new Drop_external_resource_poolContext(this, this._ctx, this.state); - this.enterRule(localctx, 200, TSqlParser.RULE_drop_external_resource_pool); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2444; - this.match(TSqlParser.DROP); - this.state = 2445; - this.match(TSqlParser.EXTERNAL); - this.state = 2446; - this.match(TSqlParser.RESOURCE); - this.state = 2447; - this.match(TSqlParser.POOL); - this.state = 2448; - localctx.pool_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_external_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_external_table; - this.database_name = null; // IdContext - this.schema_name = null; // IdContext - this.table = null; // IdContext - return this; -} - -Drop_external_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_external_tableContext.prototype.constructor = Drop_external_tableContext; - -Drop_external_tableContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_external_tableContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Drop_external_tableContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Drop_external_tableContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_external_tableContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Drop_external_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_external_table(this); - } -}; - -Drop_external_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_external_table(this); - } -}; - -Drop_external_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_external_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_external_tableContext = Drop_external_tableContext; - -TSqlParser.prototype.drop_external_table = function() { - - var localctx = new Drop_external_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 202, TSqlParser.RULE_drop_external_table); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2450; - this.match(TSqlParser.DROP); - this.state = 2451; - this.match(TSqlParser.EXTERNAL); - this.state = 2452; - this.match(TSqlParser.TABLE); - this.state = 2456; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,171,this._ctx); - if(la_===1) { - this.state = 2453; - localctx.database_name = this.id(); - this.state = 2454; - this.match(TSqlParser.DOT); - - } - this.state = 2461; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,172,this._ctx); - if(la_===1) { - this.state = 2458; - localctx.schema_name = this.id(); - this.state = 2459; - this.match(TSqlParser.DOT); - - } - this.state = 2463; - localctx.table = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_event_notificationsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_event_notifications; - this.notification_name = null; // IdContext - this.queue_name = null; // IdContext - return this; -} - -Drop_event_notificationsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_event_notificationsContext.prototype.constructor = Drop_event_notificationsContext; - -Drop_event_notificationsContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_event_notificationsContext.prototype.EVENT = function() { - return this.getToken(TSqlParser.EVENT, 0); -}; - -Drop_event_notificationsContext.prototype.NOTIFICATION = function() { - return this.getToken(TSqlParser.NOTIFICATION, 0); -}; - -Drop_event_notificationsContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Drop_event_notificationsContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Drop_event_notificationsContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Drop_event_notificationsContext.prototype.QUEUE = function() { - return this.getToken(TSqlParser.QUEUE, 0); -}; - -Drop_event_notificationsContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_event_notificationsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_event_notificationsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_event_notifications(this); - } -}; - -Drop_event_notificationsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_event_notifications(this); - } -}; - -Drop_event_notificationsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_event_notifications(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_event_notificationsContext = Drop_event_notificationsContext; - -TSqlParser.prototype.drop_event_notifications = function() { - - var localctx = new Drop_event_notificationsContext(this, this._ctx, this.state); - this.enterRule(localctx, 204, TSqlParser.RULE_drop_event_notifications); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2465; - this.match(TSqlParser.DROP); - this.state = 2466; - this.match(TSqlParser.EVENT); - this.state = 2467; - this.match(TSqlParser.NOTIFICATION); - this.state = 2472; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2469; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2468; - this.match(TSqlParser.COMMA); - } - - this.state = 2471; - localctx.notification_name = this.id(); - this.state = 2474; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 2476; - this.match(TSqlParser.ON); - this.state = 2481; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.SERVER: - this.state = 2477; - this.match(TSqlParser.SERVER); - break; - case TSqlParser.DATABASE: - this.state = 2478; - this.match(TSqlParser.DATABASE); - break; - case TSqlParser.QUEUE: - this.state = 2479; - this.match(TSqlParser.QUEUE); - this.state = 2480; - localctx.queue_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_event_sessionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_event_session; - this.event_session_name = null; // IdContext - return this; -} - -Drop_event_sessionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_event_sessionContext.prototype.constructor = Drop_event_sessionContext; - -Drop_event_sessionContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_event_sessionContext.prototype.EVENT = function() { - return this.getToken(TSqlParser.EVENT, 0); -}; - -Drop_event_sessionContext.prototype.SESSION = function() { - return this.getToken(TSqlParser.SESSION, 0); -}; - -Drop_event_sessionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Drop_event_sessionContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Drop_event_sessionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_event_sessionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_event_session(this); - } -}; - -Drop_event_sessionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_event_session(this); - } -}; - -Drop_event_sessionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_event_session(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_event_sessionContext = Drop_event_sessionContext; - -TSqlParser.prototype.drop_event_session = function() { - - var localctx = new Drop_event_sessionContext(this, this._ctx, this.state); - this.enterRule(localctx, 206, TSqlParser.RULE_drop_event_session); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2483; - this.match(TSqlParser.DROP); - this.state = 2484; - this.match(TSqlParser.EVENT); - this.state = 2485; - this.match(TSqlParser.SESSION); - this.state = 2486; - localctx.event_session_name = this.id(); - this.state = 2487; - this.match(TSqlParser.ON); - this.state = 2488; - this.match(TSqlParser.SERVER); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_fulltext_catalogContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_fulltext_catalog; - this.catalog_name = null; // IdContext - return this; -} - -Drop_fulltext_catalogContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_fulltext_catalogContext.prototype.constructor = Drop_fulltext_catalogContext; - -Drop_fulltext_catalogContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_fulltext_catalogContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Drop_fulltext_catalogContext.prototype.CATALOG = function() { - return this.getToken(TSqlParser.CATALOG, 0); -}; - -Drop_fulltext_catalogContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_fulltext_catalogContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_fulltext_catalog(this); - } -}; - -Drop_fulltext_catalogContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_fulltext_catalog(this); - } -}; - -Drop_fulltext_catalogContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_fulltext_catalog(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_fulltext_catalogContext = Drop_fulltext_catalogContext; - -TSqlParser.prototype.drop_fulltext_catalog = function() { - - var localctx = new Drop_fulltext_catalogContext(this, this._ctx, this.state); - this.enterRule(localctx, 208, TSqlParser.RULE_drop_fulltext_catalog); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2490; - this.match(TSqlParser.DROP); - this.state = 2491; - this.match(TSqlParser.FULLTEXT); - this.state = 2492; - this.match(TSqlParser.CATALOG); - this.state = 2493; - localctx.catalog_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_fulltext_indexContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_fulltext_index; - this.schema = null; // IdContext - this.table = null; // IdContext - return this; -} - -Drop_fulltext_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_fulltext_indexContext.prototype.constructor = Drop_fulltext_indexContext; - -Drop_fulltext_indexContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_fulltext_indexContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Drop_fulltext_indexContext.prototype.INDEX = function() { - return this.getToken(TSqlParser.INDEX, 0); -}; - -Drop_fulltext_indexContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Drop_fulltext_indexContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_fulltext_indexContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Drop_fulltext_indexContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_fulltext_index(this); - } -}; - -Drop_fulltext_indexContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_fulltext_index(this); - } -}; - -Drop_fulltext_indexContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_fulltext_index(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_fulltext_indexContext = Drop_fulltext_indexContext; - -TSqlParser.prototype.drop_fulltext_index = function() { - - var localctx = new Drop_fulltext_indexContext(this, this._ctx, this.state); - this.enterRule(localctx, 210, TSqlParser.RULE_drop_fulltext_index); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2495; - this.match(TSqlParser.DROP); - this.state = 2496; - this.match(TSqlParser.FULLTEXT); - this.state = 2497; - this.match(TSqlParser.INDEX); - this.state = 2498; - this.match(TSqlParser.ON); - this.state = 2502; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,176,this._ctx); - if(la_===1) { - this.state = 2499; - localctx.schema = this.id(); - this.state = 2500; - this.match(TSqlParser.DOT); - - } - this.state = 2504; - localctx.table = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_fulltext_stoplistContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_fulltext_stoplist; - this.stoplist_name = null; // IdContext - return this; -} - -Drop_fulltext_stoplistContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_fulltext_stoplistContext.prototype.constructor = Drop_fulltext_stoplistContext; - -Drop_fulltext_stoplistContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_fulltext_stoplistContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Drop_fulltext_stoplistContext.prototype.STOPLIST = function() { - return this.getToken(TSqlParser.STOPLIST, 0); -}; - -Drop_fulltext_stoplistContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_fulltext_stoplistContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_fulltext_stoplist(this); - } -}; - -Drop_fulltext_stoplistContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_fulltext_stoplist(this); - } -}; - -Drop_fulltext_stoplistContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_fulltext_stoplist(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_fulltext_stoplistContext = Drop_fulltext_stoplistContext; - -TSqlParser.prototype.drop_fulltext_stoplist = function() { - - var localctx = new Drop_fulltext_stoplistContext(this, this._ctx, this.state); - this.enterRule(localctx, 212, TSqlParser.RULE_drop_fulltext_stoplist); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2506; - this.match(TSqlParser.DROP); - this.state = 2507; - this.match(TSqlParser.FULLTEXT); - this.state = 2508; - this.match(TSqlParser.STOPLIST); - this.state = 2509; - localctx.stoplist_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_loginContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_login; - this.login_name = null; // IdContext - return this; -} - -Drop_loginContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_loginContext.prototype.constructor = Drop_loginContext; - -Drop_loginContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_loginContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Drop_loginContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_loginContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_login(this); - } -}; - -Drop_loginContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_login(this); - } -}; - -Drop_loginContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_login(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_loginContext = Drop_loginContext; - -TSqlParser.prototype.drop_login = function() { - - var localctx = new Drop_loginContext(this, this._ctx, this.state); - this.enterRule(localctx, 214, TSqlParser.RULE_drop_login); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2511; - this.match(TSqlParser.DROP); - this.state = 2512; - this.match(TSqlParser.LOGIN); - this.state = 2513; - localctx.login_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_master_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_master_key; - return this; -} - -Drop_master_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_master_keyContext.prototype.constructor = Drop_master_keyContext; - -Drop_master_keyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_master_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Drop_master_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Drop_master_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_master_key(this); - } -}; - -Drop_master_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_master_key(this); - } -}; - -Drop_master_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_master_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_master_keyContext = Drop_master_keyContext; - -TSqlParser.prototype.drop_master_key = function() { - - var localctx = new Drop_master_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 216, TSqlParser.RULE_drop_master_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2515; - this.match(TSqlParser.DROP); - this.state = 2516; - this.match(TSqlParser.MASTER); - this.state = 2517; - this.match(TSqlParser.KEY); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_message_typeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_message_type; - this.message_type_name = null; // IdContext - return this; -} - -Drop_message_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_message_typeContext.prototype.constructor = Drop_message_typeContext; - -Drop_message_typeContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_message_typeContext.prototype.MESSAGE = function() { - return this.getToken(TSqlParser.MESSAGE, 0); -}; - -Drop_message_typeContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Drop_message_typeContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_message_typeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_message_type(this); - } -}; - -Drop_message_typeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_message_type(this); - } -}; - -Drop_message_typeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_message_type(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_message_typeContext = Drop_message_typeContext; - -TSqlParser.prototype.drop_message_type = function() { - - var localctx = new Drop_message_typeContext(this, this._ctx, this.state); - this.enterRule(localctx, 218, TSqlParser.RULE_drop_message_type); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2519; - this.match(TSqlParser.DROP); - this.state = 2520; - this.match(TSqlParser.MESSAGE); - this.state = 2521; - this.match(TSqlParser.TYPE); - this.state = 2522; - localctx.message_type_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_partition_functionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_partition_function; - this.partition_function_name = null; // IdContext - return this; -} - -Drop_partition_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_partition_functionContext.prototype.constructor = Drop_partition_functionContext; - -Drop_partition_functionContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_partition_functionContext.prototype.PARTITION = function() { - return this.getToken(TSqlParser.PARTITION, 0); -}; - -Drop_partition_functionContext.prototype.FUNCTION = function() { - return this.getToken(TSqlParser.FUNCTION, 0); -}; - -Drop_partition_functionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_partition_functionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_partition_function(this); - } -}; - -Drop_partition_functionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_partition_function(this); - } -}; - -Drop_partition_functionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_partition_function(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_partition_functionContext = Drop_partition_functionContext; - -TSqlParser.prototype.drop_partition_function = function() { - - var localctx = new Drop_partition_functionContext(this, this._ctx, this.state); - this.enterRule(localctx, 220, TSqlParser.RULE_drop_partition_function); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2524; - this.match(TSqlParser.DROP); - this.state = 2525; - this.match(TSqlParser.PARTITION); - this.state = 2526; - this.match(TSqlParser.FUNCTION); - this.state = 2527; - localctx.partition_function_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_partition_schemeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_partition_scheme; - this.partition_scheme_name = null; // IdContext - return this; -} - -Drop_partition_schemeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_partition_schemeContext.prototype.constructor = Drop_partition_schemeContext; - -Drop_partition_schemeContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_partition_schemeContext.prototype.PARTITION = function() { - return this.getToken(TSqlParser.PARTITION, 0); -}; - -Drop_partition_schemeContext.prototype.SCHEME = function() { - return this.getToken(TSqlParser.SCHEME, 0); -}; - -Drop_partition_schemeContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_partition_schemeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_partition_scheme(this); - } -}; - -Drop_partition_schemeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_partition_scheme(this); - } -}; - -Drop_partition_schemeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_partition_scheme(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_partition_schemeContext = Drop_partition_schemeContext; - -TSqlParser.prototype.drop_partition_scheme = function() { - - var localctx = new Drop_partition_schemeContext(this, this._ctx, this.state); - this.enterRule(localctx, 222, TSqlParser.RULE_drop_partition_scheme); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2529; - this.match(TSqlParser.DROP); - this.state = 2530; - this.match(TSqlParser.PARTITION); - this.state = 2531; - this.match(TSqlParser.SCHEME); - this.state = 2532; - localctx.partition_scheme_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_queueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_queue; - this.database_name = null; // IdContext - this.schema_name = null; // IdContext - this.queue_name = null; // IdContext - return this; -} - -Drop_queueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_queueContext.prototype.constructor = Drop_queueContext; - -Drop_queueContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_queueContext.prototype.QUEUE = function() { - return this.getToken(TSqlParser.QUEUE, 0); -}; - -Drop_queueContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_queueContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Drop_queueContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_queue(this); - } -}; - -Drop_queueContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_queue(this); - } -}; - -Drop_queueContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_queue(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_queueContext = Drop_queueContext; - -TSqlParser.prototype.drop_queue = function() { - - var localctx = new Drop_queueContext(this, this._ctx, this.state); - this.enterRule(localctx, 224, TSqlParser.RULE_drop_queue); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2534; - this.match(TSqlParser.DROP); - this.state = 2535; - this.match(TSqlParser.QUEUE); - this.state = 2539; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,177,this._ctx); - if(la_===1) { - this.state = 2536; - localctx.database_name = this.id(); - this.state = 2537; - this.match(TSqlParser.DOT); - - } - this.state = 2544; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,178,this._ctx); - if(la_===1) { - this.state = 2541; - localctx.schema_name = this.id(); - this.state = 2542; - this.match(TSqlParser.DOT); - - } - this.state = 2546; - localctx.queue_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_remote_service_bindingContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_remote_service_binding; - this.binding_name = null; // IdContext - return this; -} - -Drop_remote_service_bindingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_remote_service_bindingContext.prototype.constructor = Drop_remote_service_bindingContext; - -Drop_remote_service_bindingContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_remote_service_bindingContext.prototype.REMOTE = function() { - return this.getToken(TSqlParser.REMOTE, 0); -}; - -Drop_remote_service_bindingContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Drop_remote_service_bindingContext.prototype.BINDING = function() { - return this.getToken(TSqlParser.BINDING, 0); -}; - -Drop_remote_service_bindingContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_remote_service_bindingContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_remote_service_binding(this); - } -}; - -Drop_remote_service_bindingContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_remote_service_binding(this); - } -}; - -Drop_remote_service_bindingContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_remote_service_binding(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_remote_service_bindingContext = Drop_remote_service_bindingContext; - -TSqlParser.prototype.drop_remote_service_binding = function() { - - var localctx = new Drop_remote_service_bindingContext(this, this._ctx, this.state); - this.enterRule(localctx, 226, TSqlParser.RULE_drop_remote_service_binding); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2548; - this.match(TSqlParser.DROP); - this.state = 2549; - this.match(TSqlParser.REMOTE); - this.state = 2550; - this.match(TSqlParser.SERVICE); - this.state = 2551; - this.match(TSqlParser.BINDING); - this.state = 2552; - localctx.binding_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_resource_poolContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_resource_pool; - this.pool_name = null; // IdContext - return this; -} - -Drop_resource_poolContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_resource_poolContext.prototype.constructor = Drop_resource_poolContext; - -Drop_resource_poolContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_resource_poolContext.prototype.RESOURCE = function() { - return this.getToken(TSqlParser.RESOURCE, 0); -}; - -Drop_resource_poolContext.prototype.POOL = function() { - return this.getToken(TSqlParser.POOL, 0); -}; - -Drop_resource_poolContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_resource_poolContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_resource_pool(this); - } -}; - -Drop_resource_poolContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_resource_pool(this); - } -}; - -Drop_resource_poolContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_resource_pool(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_resource_poolContext = Drop_resource_poolContext; - -TSqlParser.prototype.drop_resource_pool = function() { - - var localctx = new Drop_resource_poolContext(this, this._ctx, this.state); - this.enterRule(localctx, 228, TSqlParser.RULE_drop_resource_pool); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2554; - this.match(TSqlParser.DROP); - this.state = 2555; - this.match(TSqlParser.RESOURCE); - this.state = 2556; - this.match(TSqlParser.POOL); - this.state = 2557; - localctx.pool_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_db_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_db_role; - this.role_name = null; // IdContext - return this; -} - -Drop_db_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_db_roleContext.prototype.constructor = Drop_db_roleContext; - -Drop_db_roleContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_db_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Drop_db_roleContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_db_roleContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_db_roleContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_db_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_db_role(this); - } -}; - -Drop_db_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_db_role(this); - } -}; - -Drop_db_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_db_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_db_roleContext = Drop_db_roleContext; - -TSqlParser.prototype.drop_db_role = function() { - - var localctx = new Drop_db_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 230, TSqlParser.RULE_drop_db_role); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2559; - this.match(TSqlParser.DROP); - this.state = 2560; - this.match(TSqlParser.ROLE); - this.state = 2563; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 2561; - this.match(TSqlParser.IF); - this.state = 2562; - this.match(TSqlParser.EXISTS); - } - - this.state = 2565; - localctx.role_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_routeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_route; - this.route_name = null; // IdContext - return this; -} - -Drop_routeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_routeContext.prototype.constructor = Drop_routeContext; - -Drop_routeContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_routeContext.prototype.ROUTE = function() { - return this.getToken(TSqlParser.ROUTE, 0); -}; - -Drop_routeContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_routeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_route(this); - } -}; - -Drop_routeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_route(this); - } -}; - -Drop_routeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_route(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_routeContext = Drop_routeContext; - -TSqlParser.prototype.drop_route = function() { - - var localctx = new Drop_routeContext(this, this._ctx, this.state); - this.enterRule(localctx, 232, TSqlParser.RULE_drop_route); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2567; - this.match(TSqlParser.DROP); - this.state = 2568; - this.match(TSqlParser.ROUTE); - this.state = 2569; - localctx.route_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_ruleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_rule; - this.schema_name = null; // IdContext - this.rule_name = null; // IdContext - return this; -} - -Drop_ruleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_ruleContext.prototype.constructor = Drop_ruleContext; - -Drop_ruleContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_ruleContext.prototype.RULE = function() { - return this.getToken(TSqlParser.RULE, 0); -}; - -Drop_ruleContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_ruleContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_ruleContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_ruleContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Drop_ruleContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Drop_ruleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_rule(this); - } -}; - -Drop_ruleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_rule(this); - } -}; - -Drop_ruleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_rule(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_ruleContext = Drop_ruleContext; - -TSqlParser.prototype.drop_rule = function() { - - var localctx = new Drop_ruleContext(this, this._ctx, this.state); - this.enterRule(localctx, 234, TSqlParser.RULE_drop_rule); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2571; - this.match(TSqlParser.DROP); - this.state = 2572; - this.match(TSqlParser.RULE); - this.state = 2575; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,180,this._ctx); - if(la_===1) { - this.state = 2573; - this.match(TSqlParser.IF); - this.state = 2574; - this.match(TSqlParser.EXISTS); - - } - this.state = 2586; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,183,this._ctx); - if(la_===1) { - this.state = 2578; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2577; - this.match(TSqlParser.COMMA); - } - - this.state = 2583; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,182,this._ctx); - if(la_===1) { - this.state = 2580; - localctx.schema_name = this.id(); - this.state = 2581; - this.match(TSqlParser.DOT); - - } - this.state = 2585; - localctx.rule_name = this.id(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_schemaContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_schema; - this.schema_name = null; // IdContext - return this; -} - -Drop_schemaContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_schemaContext.prototype.constructor = Drop_schemaContext; - -Drop_schemaContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_schemaContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Drop_schemaContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_schemaContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_schemaContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_schemaContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_schema(this); - } -}; - -Drop_schemaContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_schema(this); - } -}; - -Drop_schemaContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_schema(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_schemaContext = Drop_schemaContext; - -TSqlParser.prototype.drop_schema = function() { - - var localctx = new Drop_schemaContext(this, this._ctx, this.state); - this.enterRule(localctx, 236, TSqlParser.RULE_drop_schema); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2588; - this.match(TSqlParser.DROP); - this.state = 2589; - this.match(TSqlParser.SCHEMA); - this.state = 2592; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 2590; - this.match(TSqlParser.IF); - this.state = 2591; - this.match(TSqlParser.EXISTS); - } - - this.state = 2594; - localctx.schema_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_search_property_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_search_property_list; - this.property_list_name = null; // IdContext - return this; -} - -Drop_search_property_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_search_property_listContext.prototype.constructor = Drop_search_property_listContext; - -Drop_search_property_listContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_search_property_listContext.prototype.SEARCH = function() { - return this.getToken(TSqlParser.SEARCH, 0); -}; - -Drop_search_property_listContext.prototype.PROPERTY = function() { - return this.getToken(TSqlParser.PROPERTY, 0); -}; - -Drop_search_property_listContext.prototype.LIST = function() { - return this.getToken(TSqlParser.LIST, 0); -}; - -Drop_search_property_listContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_search_property_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_search_property_list(this); - } -}; - -Drop_search_property_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_search_property_list(this); - } -}; - -Drop_search_property_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_search_property_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_search_property_listContext = Drop_search_property_listContext; - -TSqlParser.prototype.drop_search_property_list = function() { - - var localctx = new Drop_search_property_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 238, TSqlParser.RULE_drop_search_property_list); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2596; - this.match(TSqlParser.DROP); - this.state = 2597; - this.match(TSqlParser.SEARCH); - this.state = 2598; - this.match(TSqlParser.PROPERTY); - this.state = 2599; - this.match(TSqlParser.LIST); - this.state = 2600; - localctx.property_list_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_security_policyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_security_policy; - this.schema_name = null; // IdContext - this.security_policy_name = null; // IdContext - return this; -} - -Drop_security_policyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_security_policyContext.prototype.constructor = Drop_security_policyContext; - -Drop_security_policyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_security_policyContext.prototype.SECURITY = function() { - return this.getToken(TSqlParser.SECURITY, 0); -}; - -Drop_security_policyContext.prototype.POLICY = function() { - return this.getToken(TSqlParser.POLICY, 0); -}; - -Drop_security_policyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_security_policyContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_security_policyContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_security_policyContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Drop_security_policyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_security_policy(this); - } -}; - -Drop_security_policyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_security_policy(this); - } -}; - -Drop_security_policyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_security_policy(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_security_policyContext = Drop_security_policyContext; - -TSqlParser.prototype.drop_security_policy = function() { - - var localctx = new Drop_security_policyContext(this, this._ctx, this.state); - this.enterRule(localctx, 240, TSqlParser.RULE_drop_security_policy); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2602; - this.match(TSqlParser.DROP); - this.state = 2603; - this.match(TSqlParser.SECURITY); - this.state = 2604; - this.match(TSqlParser.POLICY); - this.state = 2607; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 2605; - this.match(TSqlParser.IF); - this.state = 2606; - this.match(TSqlParser.EXISTS); - } - - this.state = 2612; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,186,this._ctx); - if(la_===1) { - this.state = 2609; - localctx.schema_name = this.id(); - this.state = 2610; - this.match(TSqlParser.DOT); - - } - this.state = 2614; - localctx.security_policy_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_sequenceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_sequence; - this.database_name = null; // IdContext - this.schema_name = null; // IdContext - this.sequence_name = null; // IdContext - return this; -} - -Drop_sequenceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_sequenceContext.prototype.constructor = Drop_sequenceContext; - -Drop_sequenceContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_sequenceContext.prototype.SEQUENCE = function() { - return this.getToken(TSqlParser.SEQUENCE, 0); -}; - -Drop_sequenceContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_sequenceContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_sequenceContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_sequenceContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Drop_sequenceContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Drop_sequenceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_sequence(this); - } -}; - -Drop_sequenceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_sequence(this); - } -}; - -Drop_sequenceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_sequence(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_sequenceContext = Drop_sequenceContext; - -TSqlParser.prototype.drop_sequence = function() { - - var localctx = new Drop_sequenceContext(this, this._ctx, this.state); - this.enterRule(localctx, 242, TSqlParser.RULE_drop_sequence); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2616; - this.match(TSqlParser.DROP); - this.state = 2617; - this.match(TSqlParser.SEQUENCE); - this.state = 2620; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,187,this._ctx); - if(la_===1) { - this.state = 2618; - this.match(TSqlParser.IF); - this.state = 2619; - this.match(TSqlParser.EXISTS); - - } - this.state = 2636; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,191,this._ctx); - if(la_===1) { - this.state = 2623; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2622; - this.match(TSqlParser.COMMA); - } - - this.state = 2628; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,189,this._ctx); - if(la_===1) { - this.state = 2625; - localctx.database_name = this.id(); - this.state = 2626; - this.match(TSqlParser.DOT); - - } - this.state = 2633; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,190,this._ctx); - if(la_===1) { - this.state = 2630; - localctx.schema_name = this.id(); - this.state = 2631; - this.match(TSqlParser.DOT); - - } - this.state = 2635; - localctx.sequence_name = this.id(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_server_auditContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_server_audit; - this.audit_name = null; // IdContext - return this; -} - -Drop_server_auditContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_server_auditContext.prototype.constructor = Drop_server_auditContext; - -Drop_server_auditContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_server_auditContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Drop_server_auditContext.prototype.AUDIT = function() { - return this.getToken(TSqlParser.AUDIT, 0); -}; - -Drop_server_auditContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_server_auditContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_server_audit(this); - } -}; - -Drop_server_auditContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_server_audit(this); - } -}; - -Drop_server_auditContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_server_audit(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_server_auditContext = Drop_server_auditContext; - -TSqlParser.prototype.drop_server_audit = function() { - - var localctx = new Drop_server_auditContext(this, this._ctx, this.state); - this.enterRule(localctx, 244, TSqlParser.RULE_drop_server_audit); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2638; - this.match(TSqlParser.DROP); - this.state = 2639; - this.match(TSqlParser.SERVER); - this.state = 2640; - this.match(TSqlParser.AUDIT); - this.state = 2641; - localctx.audit_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_server_audit_specificationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_server_audit_specification; - this.audit_specification_name = null; // IdContext - return this; -} - -Drop_server_audit_specificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_server_audit_specificationContext.prototype.constructor = Drop_server_audit_specificationContext; - -Drop_server_audit_specificationContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_server_audit_specificationContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Drop_server_audit_specificationContext.prototype.AUDIT = function() { - return this.getToken(TSqlParser.AUDIT, 0); -}; - -Drop_server_audit_specificationContext.prototype.SPECIFICATION = function() { - return this.getToken(TSqlParser.SPECIFICATION, 0); -}; - -Drop_server_audit_specificationContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_server_audit_specificationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_server_audit_specification(this); - } -}; - -Drop_server_audit_specificationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_server_audit_specification(this); - } -}; - -Drop_server_audit_specificationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_server_audit_specification(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_server_audit_specificationContext = Drop_server_audit_specificationContext; - -TSqlParser.prototype.drop_server_audit_specification = function() { - - var localctx = new Drop_server_audit_specificationContext(this, this._ctx, this.state); - this.enterRule(localctx, 246, TSqlParser.RULE_drop_server_audit_specification); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2643; - this.match(TSqlParser.DROP); - this.state = 2644; - this.match(TSqlParser.SERVER); - this.state = 2645; - this.match(TSqlParser.AUDIT); - this.state = 2646; - this.match(TSqlParser.SPECIFICATION); - this.state = 2647; - localctx.audit_specification_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_server_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_server_role; - this.role_name = null; // IdContext - return this; -} - -Drop_server_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_server_roleContext.prototype.constructor = Drop_server_roleContext; - -Drop_server_roleContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_server_roleContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Drop_server_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Drop_server_roleContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_server_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_server_role(this); - } -}; - -Drop_server_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_server_role(this); - } -}; - -Drop_server_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_server_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_server_roleContext = Drop_server_roleContext; - -TSqlParser.prototype.drop_server_role = function() { - - var localctx = new Drop_server_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 248, TSqlParser.RULE_drop_server_role); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2649; - this.match(TSqlParser.DROP); - this.state = 2650; - this.match(TSqlParser.SERVER); - this.state = 2651; - this.match(TSqlParser.ROLE); - this.state = 2652; - localctx.role_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_serviceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_service; - this.dropped_service_name = null; // IdContext - return this; -} - -Drop_serviceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_serviceContext.prototype.constructor = Drop_serviceContext; - -Drop_serviceContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_serviceContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Drop_serviceContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_serviceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_service(this); - } -}; - -Drop_serviceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_service(this); - } -}; - -Drop_serviceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_service(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_serviceContext = Drop_serviceContext; - -TSqlParser.prototype.drop_service = function() { - - var localctx = new Drop_serviceContext(this, this._ctx, this.state); - this.enterRule(localctx, 250, TSqlParser.RULE_drop_service); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2654; - this.match(TSqlParser.DROP); - this.state = 2655; - this.match(TSqlParser.SERVICE); - this.state = 2656; - localctx.dropped_service_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_signatureContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_signature; - this.schema_name = null; // IdContext - this.module_name = null; // IdContext - this.cert_name = null; // IdContext - this.Asym_key_name = null; // IdContext - return this; -} - -Drop_signatureContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_signatureContext.prototype.constructor = Drop_signatureContext; - -Drop_signatureContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_signatureContext.prototype.SIGNATURE = function() { - return this.getToken(TSqlParser.SIGNATURE, 0); -}; - -Drop_signatureContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Drop_signatureContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Drop_signatureContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_signatureContext.prototype.COUNTER = function() { - return this.getToken(TSqlParser.COUNTER, 0); -}; - -Drop_signatureContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Drop_signatureContext.prototype.CERTIFICATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CERTIFICATE); - } else { - return this.getToken(TSqlParser.CERTIFICATE, i); - } -}; - - -Drop_signatureContext.prototype.ASYMMETRIC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ASYMMETRIC); - } else { - return this.getToken(TSqlParser.ASYMMETRIC, i); - } -}; - - -Drop_signatureContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Drop_signatureContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_signatureContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_signature(this); - } -}; - -Drop_signatureContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_signature(this); - } -}; - -Drop_signatureContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_signature(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_signatureContext = Drop_signatureContext; - -TSqlParser.prototype.drop_signature = function() { - - var localctx = new Drop_signatureContext(this, this._ctx, this.state); - this.enterRule(localctx, 252, TSqlParser.RULE_drop_signature); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2658; - this.match(TSqlParser.DROP); - this.state = 2660; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COUNTER) { - this.state = 2659; - this.match(TSqlParser.COUNTER); - } - - this.state = 2662; - this.match(TSqlParser.SIGNATURE); - this.state = 2663; - this.match(TSqlParser.FROM); - this.state = 2667; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,193,this._ctx); - if(la_===1) { - this.state = 2664; - localctx.schema_name = this.id(); - this.state = 2665; - this.match(TSqlParser.DOT); - - } - this.state = 2669; - localctx.module_name = this.id(); - this.state = 2670; - this.match(TSqlParser.BY); - this.state = 2682; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2682; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,196,this._ctx); - switch(la_) { - case 1: - this.state = 2672; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2671; - this.match(TSqlParser.COMMA); - } - - this.state = 2674; - this.match(TSqlParser.CERTIFICATE); - this.state = 2675; - localctx.cert_name = this.id(); - break; - - case 2: - this.state = 2677; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2676; - this.match(TSqlParser.COMMA); - } - - this.state = 2679; - this.match(TSqlParser.ASYMMETRIC); - this.state = 2680; - this.match(TSqlParser.KEY); - this.state = 2681; - localctx.Asym_key_name = this.id(); - break; - - } - this.state = 2684; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.ASYMMETRIC || _la===TSqlParser.CERTIFICATE || _la===TSqlParser.COMMA); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_statistics_name_azure_dw_and_pdwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_statistics_name_azure_dw_and_pdw; - this.schema_name = null; // IdContext - this.object_name = null; // IdContext - this.statistics_name = null; // IdContext - return this; -} - -Drop_statistics_name_azure_dw_and_pdwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_statistics_name_azure_dw_and_pdwContext.prototype.constructor = Drop_statistics_name_azure_dw_and_pdwContext; - -Drop_statistics_name_azure_dw_and_pdwContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_statistics_name_azure_dw_and_pdwContext.prototype.STATISTICS = function() { - return this.getToken(TSqlParser.STATISTICS, 0); -}; - -Drop_statistics_name_azure_dw_and_pdwContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Drop_statistics_name_azure_dw_and_pdwContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_statistics_name_azure_dw_and_pdwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_statistics_name_azure_dw_and_pdw(this); - } -}; - -Drop_statistics_name_azure_dw_and_pdwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_statistics_name_azure_dw_and_pdw(this); - } -}; - -Drop_statistics_name_azure_dw_and_pdwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_statistics_name_azure_dw_and_pdw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_statistics_name_azure_dw_and_pdwContext = Drop_statistics_name_azure_dw_and_pdwContext; - -TSqlParser.prototype.drop_statistics_name_azure_dw_and_pdw = function() { - - var localctx = new Drop_statistics_name_azure_dw_and_pdwContext(this, this._ctx, this.state); - this.enterRule(localctx, 254, TSqlParser.RULE_drop_statistics_name_azure_dw_and_pdw); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2686; - this.match(TSqlParser.DROP); - this.state = 2687; - this.match(TSqlParser.STATISTICS); - this.state = 2691; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,198,this._ctx); - if(la_===1) { - this.state = 2688; - localctx.schema_name = this.id(); - this.state = 2689; - this.match(TSqlParser.DOT); - - } - this.state = 2693; - localctx.object_name = this.id(); - this.state = 2694; - this.match(TSqlParser.DOT); - this.state = 2695; - localctx.statistics_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_symmetric_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_symmetric_key; - this.symmetric_key_name = null; // IdContext - return this; -} - -Drop_symmetric_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_symmetric_keyContext.prototype.constructor = Drop_symmetric_keyContext; - -Drop_symmetric_keyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_symmetric_keyContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Drop_symmetric_keyContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Drop_symmetric_keyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_symmetric_keyContext.prototype.REMOVE = function() { - return this.getToken(TSqlParser.REMOVE, 0); -}; - -Drop_symmetric_keyContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Drop_symmetric_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_symmetric_key(this); - } -}; - -Drop_symmetric_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_symmetric_key(this); - } -}; - -Drop_symmetric_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_symmetric_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_symmetric_keyContext = Drop_symmetric_keyContext; - -TSqlParser.prototype.drop_symmetric_key = function() { - - var localctx = new Drop_symmetric_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 256, TSqlParser.RULE_drop_symmetric_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2697; - this.match(TSqlParser.DROP); - this.state = 2698; - this.match(TSqlParser.SYMMETRIC); - this.state = 2699; - this.match(TSqlParser.KEY); - this.state = 2700; - localctx.symmetric_key_name = this.id(); - this.state = 2704; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,199,this._ctx); - if(la_===1) { - this.state = 2701; - this.match(TSqlParser.REMOVE); - this.state = 2702; - this.match(TSqlParser.PROVIDER); - this.state = 2703; - this.match(TSqlParser.KEY); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_synonymContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_synonym; - this.schema = null; // IdContext - this.synonym_name = null; // IdContext - return this; -} - -Drop_synonymContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_synonymContext.prototype.constructor = Drop_synonymContext; - -Drop_synonymContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_synonymContext.prototype.SYNONYM = function() { - return this.getToken(TSqlParser.SYNONYM, 0); -}; - -Drop_synonymContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_synonymContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_synonymContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_synonymContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Drop_synonymContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_synonym(this); - } -}; - -Drop_synonymContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_synonym(this); - } -}; - -Drop_synonymContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_synonym(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_synonymContext = Drop_synonymContext; - -TSqlParser.prototype.drop_synonym = function() { - - var localctx = new Drop_synonymContext(this, this._ctx, this.state); - this.enterRule(localctx, 258, TSqlParser.RULE_drop_synonym); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2706; - this.match(TSqlParser.DROP); - this.state = 2707; - this.match(TSqlParser.SYNONYM); - this.state = 2710; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 2708; - this.match(TSqlParser.IF); - this.state = 2709; - this.match(TSqlParser.EXISTS); - } - - this.state = 2715; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,201,this._ctx); - if(la_===1) { - this.state = 2712; - localctx.schema = this.id(); - this.state = 2713; - this.match(TSqlParser.DOT); - - } - this.state = 2717; - localctx.synonym_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_userContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_user; - this.user_name = null; // IdContext - return this; -} - -Drop_userContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_userContext.prototype.constructor = Drop_userContext; - -Drop_userContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_userContext.prototype.USER = function() { - return this.getToken(TSqlParser.USER, 0); -}; - -Drop_userContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_userContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_userContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_userContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_user(this); - } -}; - -Drop_userContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_user(this); - } -}; - -Drop_userContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_user(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_userContext = Drop_userContext; - -TSqlParser.prototype.drop_user = function() { - - var localctx = new Drop_userContext(this, this._ctx, this.state); - this.enterRule(localctx, 260, TSqlParser.RULE_drop_user); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2719; - this.match(TSqlParser.DROP); - this.state = 2720; - this.match(TSqlParser.USER); - this.state = 2723; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 2721; - this.match(TSqlParser.IF); - this.state = 2722; - this.match(TSqlParser.EXISTS); - } - - this.state = 2725; - localctx.user_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_workload_groupContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_workload_group; - this.group_name = null; // IdContext - return this; -} - -Drop_workload_groupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_workload_groupContext.prototype.constructor = Drop_workload_groupContext; - -Drop_workload_groupContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_workload_groupContext.prototype.WORKLOAD = function() { - return this.getToken(TSqlParser.WORKLOAD, 0); -}; - -Drop_workload_groupContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Drop_workload_groupContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_workload_groupContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_workload_group(this); - } -}; - -Drop_workload_groupContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_workload_group(this); - } -}; - -Drop_workload_groupContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_workload_group(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_workload_groupContext = Drop_workload_groupContext; - -TSqlParser.prototype.drop_workload_group = function() { - - var localctx = new Drop_workload_groupContext(this, this._ctx, this.state); - this.enterRule(localctx, 262, TSqlParser.RULE_drop_workload_group); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2727; - this.match(TSqlParser.DROP); - this.state = 2728; - this.match(TSqlParser.WORKLOAD); - this.state = 2729; - this.match(TSqlParser.GROUP); - this.state = 2730; - localctx.group_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_xml_schema_collectionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_xml_schema_collection; - this.relational_schema = null; // IdContext - this.sql_identifier = null; // IdContext - return this; -} - -Drop_xml_schema_collectionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_xml_schema_collectionContext.prototype.constructor = Drop_xml_schema_collectionContext; - -Drop_xml_schema_collectionContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_xml_schema_collectionContext.prototype.XML = function() { - return this.getToken(TSqlParser.XML, 0); -}; - -Drop_xml_schema_collectionContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Drop_xml_schema_collectionContext.prototype.COLLECTION = function() { - return this.getToken(TSqlParser.COLLECTION, 0); -}; - -Drop_xml_schema_collectionContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_xml_schema_collectionContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Drop_xml_schema_collectionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_xml_schema_collection(this); - } -}; - -Drop_xml_schema_collectionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_xml_schema_collection(this); - } -}; - -Drop_xml_schema_collectionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_xml_schema_collection(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_xml_schema_collectionContext = Drop_xml_schema_collectionContext; - -TSqlParser.prototype.drop_xml_schema_collection = function() { - - var localctx = new Drop_xml_schema_collectionContext(this, this._ctx, this.state); - this.enterRule(localctx, 264, TSqlParser.RULE_drop_xml_schema_collection); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2732; - this.match(TSqlParser.DROP); - this.state = 2733; - this.match(TSqlParser.XML); - this.state = 2734; - this.match(TSqlParser.SCHEMA); - this.state = 2735; - this.match(TSqlParser.COLLECTION); - this.state = 2739; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,203,this._ctx); - if(la_===1) { - this.state = 2736; - localctx.relational_schema = this.id(); - this.state = 2737; - this.match(TSqlParser.DOT); - - } - this.state = 2741; - localctx.sql_identifier = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Disable_triggerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_disable_trigger; - this.schema_name = null; // IdContext - this.trigger_name = null; // IdContext - this.schema_id = null; // IdContext - this.object_name = null; // IdContext - return this; -} - -Disable_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Disable_triggerContext.prototype.constructor = Disable_triggerContext; - -Disable_triggerContext.prototype.DISABLE = function() { - return this.getToken(TSqlParser.DISABLE, 0); -}; - -Disable_triggerContext.prototype.TRIGGER = function() { - return this.getToken(TSqlParser.TRIGGER, 0); -}; - -Disable_triggerContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Disable_triggerContext.prototype.ALL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALL); - } else { - return this.getToken(TSqlParser.ALL, i); - } -}; - - -Disable_triggerContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Disable_triggerContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Disable_triggerContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Disable_triggerContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Disable_triggerContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Disable_triggerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDisable_trigger(this); - } -}; - -Disable_triggerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDisable_trigger(this); - } -}; - -Disable_triggerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDisable_trigger(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Disable_triggerContext = Disable_triggerContext; - -TSqlParser.prototype.disable_trigger = function() { - - var localctx = new Disable_triggerContext(this, this._ctx, this.state); - this.enterRule(localctx, 266, TSqlParser.RULE_disable_trigger); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2743; - this.match(TSqlParser.DISABLE); - this.state = 2744; - this.match(TSqlParser.TRIGGER); - this.state = 2759; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - case TSqlParser.COMMA: - this.state = 2754; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2746; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2745; - this.match(TSqlParser.COMMA); - } - - this.state = 2751; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,205,this._ctx); - if(la_===1) { - this.state = 2748; - localctx.schema_name = this.id(); - this.state = 2749; - this.match(TSqlParser.DOT); - - } - this.state = 2753; - localctx.trigger_name = this.id(); - this.state = 2756; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - break; - case TSqlParser.ALL: - this.state = 2758; - this.match(TSqlParser.ALL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2761; - this.match(TSqlParser.ON); - this.state = 2771; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 2765; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,208,this._ctx); - if(la_===1) { - this.state = 2762; - localctx.schema_id = this.id(); - this.state = 2763; - this.match(TSqlParser.DOT); - - } - this.state = 2767; - localctx.object_name = this.id(); - break; - case TSqlParser.DATABASE: - this.state = 2768; - this.match(TSqlParser.DATABASE); - break; - case TSqlParser.ALL: - this.state = 2769; - this.match(TSqlParser.ALL); - this.state = 2770; - this.match(TSqlParser.SERVER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Enable_triggerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_enable_trigger; - this.schema_name = null; // IdContext - this.trigger_name = null; // IdContext - this.schema_id = null; // IdContext - this.object_name = null; // IdContext - return this; -} - -Enable_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Enable_triggerContext.prototype.constructor = Enable_triggerContext; - -Enable_triggerContext.prototype.ENABLE = function() { - return this.getToken(TSqlParser.ENABLE, 0); -}; - -Enable_triggerContext.prototype.TRIGGER = function() { - return this.getToken(TSqlParser.TRIGGER, 0); -}; - -Enable_triggerContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Enable_triggerContext.prototype.ALL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALL); - } else { - return this.getToken(TSqlParser.ALL, i); - } -}; - - -Enable_triggerContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Enable_triggerContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Enable_triggerContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Enable_triggerContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Enable_triggerContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Enable_triggerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEnable_trigger(this); - } -}; - -Enable_triggerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEnable_trigger(this); - } -}; - -Enable_triggerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEnable_trigger(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Enable_triggerContext = Enable_triggerContext; - -TSqlParser.prototype.enable_trigger = function() { - - var localctx = new Enable_triggerContext(this, this._ctx, this.state); - this.enterRule(localctx, 268, TSqlParser.RULE_enable_trigger); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2773; - this.match(TSqlParser.ENABLE); - this.state = 2774; - this.match(TSqlParser.TRIGGER); - this.state = 2789; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - case TSqlParser.COMMA: - this.state = 2784; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2776; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2775; - this.match(TSqlParser.COMMA); - } - - this.state = 2781; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,211,this._ctx); - if(la_===1) { - this.state = 2778; - localctx.schema_name = this.id(); - this.state = 2779; - this.match(TSqlParser.DOT); - - } - this.state = 2783; - localctx.trigger_name = this.id(); - this.state = 2786; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - break; - case TSqlParser.ALL: - this.state = 2788; - this.match(TSqlParser.ALL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2791; - this.match(TSqlParser.ON); - this.state = 2801; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 2795; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,214,this._ctx); - if(la_===1) { - this.state = 2792; - localctx.schema_id = this.id(); - this.state = 2793; - this.match(TSqlParser.DOT); - - } - this.state = 2797; - localctx.object_name = this.id(); - break; - case TSqlParser.DATABASE: - this.state = 2798; - this.match(TSqlParser.DATABASE); - break; - case TSqlParser.ALL: - this.state = 2799; - this.match(TSqlParser.ALL); - this.state = 2800; - this.match(TSqlParser.SERVER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Lock_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_lock_table; - this.seconds = null; // Token - return this; -} - -Lock_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Lock_tableContext.prototype.constructor = Lock_tableContext; - -Lock_tableContext.prototype.LOCK = function() { - return this.getToken(TSqlParser.LOCK, 0); -}; - -Lock_tableContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Lock_tableContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Lock_tableContext.prototype.IN = function() { - return this.getToken(TSqlParser.IN, 0); -}; - -Lock_tableContext.prototype.MODE = function() { - return this.getToken(TSqlParser.MODE, 0); -}; - -Lock_tableContext.prototype.SHARE = function() { - return this.getToken(TSqlParser.SHARE, 0); -}; - -Lock_tableContext.prototype.EXCLUSIVE = function() { - return this.getToken(TSqlParser.EXCLUSIVE, 0); -}; - -Lock_tableContext.prototype.WAIT = function() { - return this.getToken(TSqlParser.WAIT, 0); -}; - -Lock_tableContext.prototype.NOWAIT = function() { - return this.getToken(TSqlParser.NOWAIT, 0); -}; - -Lock_tableContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Lock_tableContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Lock_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterLock_table(this); - } -}; - -Lock_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitLock_table(this); - } -}; - -Lock_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitLock_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Lock_tableContext = Lock_tableContext; - -TSqlParser.prototype.lock_table = function() { - - var localctx = new Lock_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 270, TSqlParser.RULE_lock_table); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2803; - this.match(TSqlParser.LOCK); - this.state = 2804; - this.match(TSqlParser.TABLE); - this.state = 2805; - this.table_name(); - this.state = 2806; - this.match(TSqlParser.IN); - this.state = 2807; - _la = this._input.LA(1); - if(!(_la===TSqlParser.EXCLUSIVE || _la===TSqlParser.SHARE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2808; - this.match(TSqlParser.MODE); - this.state = 2812; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,216,this._ctx); - if(la_===1) { - this.state = 2809; - this.match(TSqlParser.WAIT); - this.state = 2810; - localctx.seconds = this.match(TSqlParser.DECIMAL); - - } else if(la_===2) { - this.state = 2811; - this.match(TSqlParser.NOWAIT); - - } - this.state = 2815; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,217,this._ctx); - if(la_===1) { - this.state = 2814; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Truncate_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_truncate_table; - return this; -} - -Truncate_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Truncate_tableContext.prototype.constructor = Truncate_tableContext; - -Truncate_tableContext.prototype.TRUNCATE = function() { - return this.getToken(TSqlParser.TRUNCATE, 0); -}; - -Truncate_tableContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Truncate_tableContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Truncate_tableContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Truncate_tableContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Truncate_tableContext.prototype.PARTITIONS = function() { - return this.getToken(TSqlParser.PARTITIONS, 0); -}; - -Truncate_tableContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Truncate_tableContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Truncate_tableContext.prototype.TO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TO); - } else { - return this.getToken(TSqlParser.TO, i); - } -}; - - -Truncate_tableContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Truncate_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTruncate_table(this); - } -}; - -Truncate_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTruncate_table(this); - } -}; - -Truncate_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTruncate_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Truncate_tableContext = Truncate_tableContext; - -TSqlParser.prototype.truncate_table = function() { - - var localctx = new Truncate_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 272, TSqlParser.RULE_truncate_table); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2817; - this.match(TSqlParser.TRUNCATE); - this.state = 2818; - this.match(TSqlParser.TABLE); - this.state = 2819; - this.table_name(); - this.state = 2839; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,221,this._ctx); - if(la_===1) { - this.state = 2820; - this.match(TSqlParser.WITH); - this.state = 2821; - this.match(TSqlParser.LR_BRACKET); - this.state = 2822; - this.match(TSqlParser.PARTITIONS); - this.state = 2823; - this.match(TSqlParser.LR_BRACKET); - this.state = 2833; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2825; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2824; - this.match(TSqlParser.COMMA); - } - - this.state = 2831; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,219,this._ctx); - switch(la_) { - case 1: - this.state = 2827; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 2828; - this.match(TSqlParser.DECIMAL); - this.state = 2829; - this.match(TSqlParser.TO); - this.state = 2830; - this.match(TSqlParser.DECIMAL); - break; - - } - this.state = 2835; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DECIMAL || _la===TSqlParser.COMMA); - this.state = 2837; - this.match(TSqlParser.RR_BRACKET); - this.state = 2838; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_column_master_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_column_master_key; - this.key_name = null; // IdContext - this.key_store_provider_name = null; // Token - this.key_path = null; // Token - return this; -} - -Create_column_master_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_column_master_keyContext.prototype.constructor = Create_column_master_keyContext; - -Create_column_master_keyContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_column_master_keyContext.prototype.COLUMN = function() { - return this.getToken(TSqlParser.COLUMN, 0); -}; - -Create_column_master_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Create_column_master_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Create_column_master_keyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_column_master_keyContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_column_master_keyContext.prototype.KEY_STORE_PROVIDER_NAME = function() { - return this.getToken(TSqlParser.KEY_STORE_PROVIDER_NAME, 0); -}; - -Create_column_master_keyContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_column_master_keyContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Create_column_master_keyContext.prototype.KEY_PATH = function() { - return this.getToken(TSqlParser.KEY_PATH, 0); -}; - -Create_column_master_keyContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_column_master_keyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Create_column_master_keyContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_column_master_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_column_master_key(this); - } -}; - -Create_column_master_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_column_master_key(this); - } -}; - -Create_column_master_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_column_master_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_column_master_keyContext = Create_column_master_keyContext; - -TSqlParser.prototype.create_column_master_key = function() { - - var localctx = new Create_column_master_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 274, TSqlParser.RULE_create_column_master_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2841; - this.match(TSqlParser.CREATE); - this.state = 2842; - this.match(TSqlParser.COLUMN); - this.state = 2843; - this.match(TSqlParser.MASTER); - this.state = 2844; - this.match(TSqlParser.KEY); - this.state = 2845; - localctx.key_name = this.id(); - this.state = 2846; - this.match(TSqlParser.WITH); - this.state = 2847; - this.match(TSqlParser.LR_BRACKET); - this.state = 2848; - this.match(TSqlParser.KEY_STORE_PROVIDER_NAME); - this.state = 2849; - this.match(TSqlParser.EQUAL); - this.state = 2850; - localctx.key_store_provider_name = this.match(TSqlParser.STRING); - this.state = 2851; - this.match(TSqlParser.COMMA); - this.state = 2852; - this.match(TSqlParser.KEY_PATH); - this.state = 2853; - this.match(TSqlParser.EQUAL); - this.state = 2854; - localctx.key_path = this.match(TSqlParser.STRING); - this.state = 2855; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_credentialContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_credential; - this.credential_name = null; // IdContext - this.identity_name = null; // Token - this.secret = null; // Token - return this; -} - -Alter_credentialContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_credentialContext.prototype.constructor = Alter_credentialContext; - -Alter_credentialContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_credentialContext.prototype.CREDENTIAL = function() { - return this.getToken(TSqlParser.CREDENTIAL, 0); -}; - -Alter_credentialContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_credentialContext.prototype.IDENTITY = function() { - return this.getToken(TSqlParser.IDENTITY, 0); -}; - -Alter_credentialContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_credentialContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_credentialContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_credentialContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Alter_credentialContext.prototype.SECRET = function() { - return this.getToken(TSqlParser.SECRET, 0); -}; - -Alter_credentialContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_credential(this); - } -}; - -Alter_credentialContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_credential(this); - } -}; - -Alter_credentialContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_credential(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_credentialContext = Alter_credentialContext; - -TSqlParser.prototype.alter_credential = function() { - - var localctx = new Alter_credentialContext(this, this._ctx, this.state); - this.enterRule(localctx, 276, TSqlParser.RULE_alter_credential); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2857; - this.match(TSqlParser.ALTER); - this.state = 2858; - this.match(TSqlParser.CREDENTIAL); - this.state = 2859; - localctx.credential_name = this.id(); - this.state = 2860; - this.match(TSqlParser.WITH); - this.state = 2861; - this.match(TSqlParser.IDENTITY); - this.state = 2862; - this.match(TSqlParser.EQUAL); - this.state = 2863; - localctx.identity_name = this.match(TSqlParser.STRING); - this.state = 2868; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2864; - this.match(TSqlParser.COMMA); - this.state = 2865; - this.match(TSqlParser.SECRET); - this.state = 2866; - this.match(TSqlParser.EQUAL); - this.state = 2867; - localctx.secret = this.match(TSqlParser.STRING); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_credentialContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_credential; - this.credential_name = null; // IdContext - this.identity_name = null; // Token - this.secret = null; // Token - this.cryptographic_provider_name = null; // IdContext - return this; -} - -Create_credentialContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_credentialContext.prototype.constructor = Create_credentialContext; - -Create_credentialContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_credentialContext.prototype.CREDENTIAL = function() { - return this.getToken(TSqlParser.CREDENTIAL, 0); -}; - -Create_credentialContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_credentialContext.prototype.IDENTITY = function() { - return this.getToken(TSqlParser.IDENTITY, 0); -}; - -Create_credentialContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_credentialContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_credentialContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_credentialContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Create_credentialContext.prototype.SECRET = function() { - return this.getToken(TSqlParser.SECRET, 0); -}; - -Create_credentialContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_credentialContext.prototype.CRYPTOGRAPHIC = function() { - return this.getToken(TSqlParser.CRYPTOGRAPHIC, 0); -}; - -Create_credentialContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Create_credentialContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_credential(this); - } -}; - -Create_credentialContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_credential(this); - } -}; - -Create_credentialContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_credential(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_credentialContext = Create_credentialContext; - -TSqlParser.prototype.create_credential = function() { - - var localctx = new Create_credentialContext(this, this._ctx, this.state); - this.enterRule(localctx, 278, TSqlParser.RULE_create_credential); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2870; - this.match(TSqlParser.CREATE); - this.state = 2871; - this.match(TSqlParser.CREDENTIAL); - this.state = 2872; - localctx.credential_name = this.id(); - this.state = 2873; - this.match(TSqlParser.WITH); - this.state = 2874; - this.match(TSqlParser.IDENTITY); - this.state = 2875; - this.match(TSqlParser.EQUAL); - this.state = 2876; - localctx.identity_name = this.match(TSqlParser.STRING); - this.state = 2881; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2877; - this.match(TSqlParser.COMMA); - this.state = 2878; - this.match(TSqlParser.SECRET); - this.state = 2879; - this.match(TSqlParser.EQUAL); - this.state = 2880; - localctx.secret = this.match(TSqlParser.STRING); - } - - this.state = 2887; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 2883; - this.match(TSqlParser.FOR); - this.state = 2884; - this.match(TSqlParser.CRYPTOGRAPHIC); - this.state = 2885; - this.match(TSqlParser.PROVIDER); - this.state = 2886; - localctx.cryptographic_provider_name = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_cryptographic_providerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_cryptographic_provider; - this.provider_name = null; // IdContext - this.crypto_provider_ddl_file = null; // Token - return this; -} - -Alter_cryptographic_providerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_cryptographic_providerContext.prototype.constructor = Alter_cryptographic_providerContext; - -Alter_cryptographic_providerContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_cryptographic_providerContext.prototype.CRYPTOGRAPHIC = function() { - return this.getToken(TSqlParser.CRYPTOGRAPHIC, 0); -}; - -Alter_cryptographic_providerContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Alter_cryptographic_providerContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_cryptographic_providerContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Alter_cryptographic_providerContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Alter_cryptographic_providerContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_cryptographic_providerContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_cryptographic_providerContext.prototype.ENABLE = function() { - return this.getToken(TSqlParser.ENABLE, 0); -}; - -Alter_cryptographic_providerContext.prototype.DISABLE = function() { - return this.getToken(TSqlParser.DISABLE, 0); -}; - -Alter_cryptographic_providerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_cryptographic_provider(this); - } -}; - -Alter_cryptographic_providerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_cryptographic_provider(this); - } -}; - -Alter_cryptographic_providerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_cryptographic_provider(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_cryptographic_providerContext = Alter_cryptographic_providerContext; - -TSqlParser.prototype.alter_cryptographic_provider = function() { - - var localctx = new Alter_cryptographic_providerContext(this, this._ctx, this.state); - this.enterRule(localctx, 280, TSqlParser.RULE_alter_cryptographic_provider); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2889; - this.match(TSqlParser.ALTER); - this.state = 2890; - this.match(TSqlParser.CRYPTOGRAPHIC); - this.state = 2891; - this.match(TSqlParser.PROVIDER); - this.state = 2892; - localctx.provider_name = this.id(); - this.state = 2897; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 2893; - this.match(TSqlParser.FROM); - this.state = 2894; - this.match(TSqlParser.FILE); - this.state = 2895; - this.match(TSqlParser.EQUAL); - this.state = 2896; - localctx.crypto_provider_ddl_file = this.match(TSqlParser.STRING); - } - - this.state = 2900; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,226,this._ctx); - if(la_===1) { - this.state = 2899; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISABLE || _la===TSqlParser.ENABLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_cryptographic_providerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_cryptographic_provider; - this.provider_name = null; // IdContext - this.path_of_DLL = null; // Token - return this; -} - -Create_cryptographic_providerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_cryptographic_providerContext.prototype.constructor = Create_cryptographic_providerContext; - -Create_cryptographic_providerContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_cryptographic_providerContext.prototype.CRYPTOGRAPHIC = function() { - return this.getToken(TSqlParser.CRYPTOGRAPHIC, 0); -}; - -Create_cryptographic_providerContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Create_cryptographic_providerContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_cryptographic_providerContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Create_cryptographic_providerContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_cryptographic_providerContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Create_cryptographic_providerContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_cryptographic_providerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_cryptographic_provider(this); - } -}; - -Create_cryptographic_providerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_cryptographic_provider(this); - } -}; - -Create_cryptographic_providerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_cryptographic_provider(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_cryptographic_providerContext = Create_cryptographic_providerContext; - -TSqlParser.prototype.create_cryptographic_provider = function() { - - var localctx = new Create_cryptographic_providerContext(this, this._ctx, this.state); - this.enterRule(localctx, 282, TSqlParser.RULE_create_cryptographic_provider); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2902; - this.match(TSqlParser.CREATE); - this.state = 2903; - this.match(TSqlParser.CRYPTOGRAPHIC); - this.state = 2904; - this.match(TSqlParser.PROVIDER); - this.state = 2905; - localctx.provider_name = this.id(); - this.state = 2906; - this.match(TSqlParser.FROM); - this.state = 2907; - this.match(TSqlParser.FILE); - this.state = 2908; - this.match(TSqlParser.EQUAL); - this.state = 2909; - localctx.path_of_DLL = this.match(TSqlParser.STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_event_notificationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_event_notification; - this.event_notification_name = null; // IdContext - this.queue_name = null; // IdContext - this.event_type_or_group = null; // IdContext - this.broker_service = null; // Token - this.broker_service_specifier_or_current_database = null; // Token - return this; -} - -Create_event_notificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_event_notificationContext.prototype.constructor = Create_event_notificationContext; - -Create_event_notificationContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_event_notificationContext.prototype.EVENT = function() { - return this.getToken(TSqlParser.EVENT, 0); -}; - -Create_event_notificationContext.prototype.NOTIFICATION = function() { - return this.getToken(TSqlParser.NOTIFICATION, 0); -}; - -Create_event_notificationContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_event_notificationContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_event_notificationContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Create_event_notificationContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Create_event_notificationContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_event_notificationContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_event_notificationContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_event_notificationContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Create_event_notificationContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Create_event_notificationContext.prototype.QUEUE = function() { - return this.getToken(TSqlParser.QUEUE, 0); -}; - -Create_event_notificationContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_event_notificationContext.prototype.FAN_IN = function() { - return this.getToken(TSqlParser.FAN_IN, 0); -}; - -Create_event_notificationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_event_notification(this); - } -}; - -Create_event_notificationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_event_notification(this); - } -}; - -Create_event_notificationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_event_notification(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_event_notificationContext = Create_event_notificationContext; - -TSqlParser.prototype.create_event_notification = function() { - - var localctx = new Create_event_notificationContext(this, this._ctx, this.state); - this.enterRule(localctx, 284, TSqlParser.RULE_create_event_notification); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2911; - this.match(TSqlParser.CREATE); - this.state = 2912; - this.match(TSqlParser.EVENT); - this.state = 2913; - this.match(TSqlParser.NOTIFICATION); - this.state = 2914; - localctx.event_notification_name = this.id(); - this.state = 2915; - this.match(TSqlParser.ON); - this.state = 2920; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.SERVER: - this.state = 2916; - this.match(TSqlParser.SERVER); - break; - case TSqlParser.DATABASE: - this.state = 2917; - this.match(TSqlParser.DATABASE); - break; - case TSqlParser.QUEUE: - this.state = 2918; - this.match(TSqlParser.QUEUE); - this.state = 2919; - localctx.queue_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2924; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 2922; - this.match(TSqlParser.WITH); - this.state = 2923; - this.match(TSqlParser.FAN_IN); - } - - this.state = 2926; - this.match(TSqlParser.FOR); - this.state = 2931; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2928; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2927; - this.match(TSqlParser.COMMA); - } - - this.state = 2930; - localctx.event_type_or_group = this.id(); - this.state = 2933; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 2935; - this.match(TSqlParser.TO); - this.state = 2936; - this.match(TSqlParser.SERVICE); - this.state = 2937; - localctx.broker_service = this.match(TSqlParser.STRING); - this.state = 2938; - this.match(TSqlParser.COMMA); - this.state = 2939; - localctx.broker_service_specifier_or_current_database = this.match(TSqlParser.STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_or_alter_event_sessionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_or_alter_event_session; - this.event_session_name = null; // IdContext - this.event_module_guid = null; // IdContext - this.event_package_name = null; // IdContext - this.event_name = null; // IdContext - this.event_customizable_attributue = null; // IdContext - this.action_name = null; // IdContext - this.target_name = null; // IdContext - this.target_parameter_name = null; // IdContext - this.max_memory = null; // Token - this.max_dispatch_latency_seconds = null; // Token - this.max_event_size = null; // Token - return this; -} - -Create_or_alter_event_sessionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_or_alter_event_sessionContext.prototype.constructor = Create_or_alter_event_sessionContext; - -Create_or_alter_event_sessionContext.prototype.EVENT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EVENT); - } else { - return this.getToken(TSqlParser.EVENT, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.SESSION = function() { - return this.getToken(TSqlParser.SESSION, 0); -}; - -Create_or_alter_event_sessionContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Create_or_alter_event_sessionContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Create_or_alter_event_sessionContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_or_alter_event_sessionContext.prototype.ADD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ADD); - } else { - return this.getToken(TSqlParser.ADD, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.DROP = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DROP); - } else { - return this.getToken(TSqlParser.DROP, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.TARGET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TARGET); - } else { - return this.getToken(TSqlParser.TARGET, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_or_alter_event_sessionContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.STATE = function() { - return this.getToken(TSqlParser.STATE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.START = function() { - return this.getToken(TSqlParser.START, 0); -}; - -Create_or_alter_event_sessionContext.prototype.STOP = function() { - return this.getToken(TSqlParser.STOP, 0); -}; - -Create_or_alter_event_sessionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.SET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SET); - } else { - return this.getToken(TSqlParser.SET, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.MAX_MEMORY = function() { - return this.getToken(TSqlParser.MAX_MEMORY, 0); -}; - -Create_or_alter_event_sessionContext.prototype.EVENT_RETENTION_MODE = function() { - return this.getToken(TSqlParser.EVENT_RETENTION_MODE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.MAX_DISPATCH_LATENCY = function() { - return this.getToken(TSqlParser.MAX_DISPATCH_LATENCY, 0); -}; - -Create_or_alter_event_sessionContext.prototype.MAX_EVENT_SIZE = function() { - return this.getToken(TSqlParser.MAX_EVENT_SIZE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.MEMORY_PARTITION_MODE = function() { - return this.getToken(TSqlParser.MEMORY_PARTITION_MODE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.TRACK_CAUSALITY = function() { - return this.getToken(TSqlParser.TRACK_CAUSALITY, 0); -}; - -Create_or_alter_event_sessionContext.prototype.STARTUP_STATE = function() { - return this.getToken(TSqlParser.STARTUP_STATE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.KB = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KB); - } else { - return this.getToken(TSqlParser.KB, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.MB = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MB); - } else { - return this.getToken(TSqlParser.MB, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.ALLOW_SINGLE_EVENT_LOSS = function() { - return this.getToken(TSqlParser.ALLOW_SINGLE_EVENT_LOSS, 0); -}; - -Create_or_alter_event_sessionContext.prototype.ALLOW_MULTIPLE_EVENT_LOSS = function() { - return this.getToken(TSqlParser.ALLOW_MULTIPLE_EVENT_LOSS, 0); -}; - -Create_or_alter_event_sessionContext.prototype.NO_EVENT_LOSS = function() { - return this.getToken(TSqlParser.NO_EVENT_LOSS, 0); -}; - -Create_or_alter_event_sessionContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.PER_NODE = function() { - return this.getToken(TSqlParser.PER_NODE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.PER_CPU = function() { - return this.getToken(TSqlParser.PER_CPU, 0); -}; - -Create_or_alter_event_sessionContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.SECONDS = function() { - return this.getToken(TSqlParser.SECONDS, 0); -}; - -Create_or_alter_event_sessionContext.prototype.INFINITE = function() { - return this.getToken(TSqlParser.INFINITE, 0); -}; - -Create_or_alter_event_sessionContext.prototype.ACTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ACTION); - } else { - return this.getToken(TSqlParser.ACTION, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.WHERE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.WHERE); - } else { - return this.getToken(TSqlParser.WHERE, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.event_session_predicate_expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Event_session_predicate_expressionContext); - } else { - return this.getTypedRuleContext(Event_session_predicate_expressionContext,i); - } -}; - -Create_or_alter_event_sessionContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_or_alter_event_sessionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_or_alter_event_session(this); - } -}; - -Create_or_alter_event_sessionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_or_alter_event_session(this); - } -}; - -Create_or_alter_event_sessionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_or_alter_event_session(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_or_alter_event_sessionContext = Create_or_alter_event_sessionContext; - -TSqlParser.prototype.create_or_alter_event_session = function() { - - var localctx = new Create_or_alter_event_sessionContext(this, this._ctx, this.state); - this.enterRule(localctx, 286, TSqlParser.RULE_create_or_alter_event_session); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2941; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALTER || _la===TSqlParser.CREATE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2942; - this.match(TSqlParser.EVENT); - this.state = 2943; - this.match(TSqlParser.SESSION); - this.state = 2944; - localctx.event_session_name = this.id(); - this.state = 2945; - this.match(TSqlParser.ON); - this.state = 2946; - this.match(TSqlParser.SERVER); - this.state = 3014; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,242,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 2948; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2947; - this.match(TSqlParser.COMMA); - } - - this.state = 2950; - this.match(TSqlParser.ADD); - this.state = 2951; - this.match(TSqlParser.EVENT); - - this.state = 2955; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,232,this._ctx); - if(la_===1) { - this.state = 2952; - localctx.event_module_guid = this.id(); - this.state = 2953; - this.match(TSqlParser.DOT); - - } - this.state = 2957; - localctx.event_package_name = this.id(); - this.state = 2958; - this.match(TSqlParser.DOT); - this.state = 2959; - localctx.event_name = this.id(); - this.state = 3009; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,241,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 2961; - this.match(TSqlParser.LR_BRACKET); - this.state = 2975; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SET) { - this.state = 2962; - this.match(TSqlParser.SET); - this.state = 2972; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,234,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 2964; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2963; - this.match(TSqlParser.COMMA); - } - - this.state = 2966; - localctx.event_customizable_attributue = this.id(); - this.state = 2967; - this.match(TSqlParser.EQUAL); - this.state = 2968; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - this.state = 2974; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,234,this._ctx); - } - - } - - this.state = 2997; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2977; - this.match(TSqlParser.ACTION); - this.state = 2978; - this.match(TSqlParser.LR_BRACKET); - this.state = 2991; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 2980; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 2979; - this.match(TSqlParser.COMMA); - } - - this.state = 2985; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,237,this._ctx); - if(la_===1) { - this.state = 2982; - localctx.event_module_guid = this.id(); - this.state = 2983; - this.match(TSqlParser.DOT); - - } - this.state = 2987; - localctx.event_package_name = this.id(); - this.state = 2988; - this.match(TSqlParser.DOT); - this.state = 2989; - localctx.action_name = this.id(); - this.state = 2993; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 2995; - this.match(TSqlParser.RR_BRACKET); - this.state = 2999; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.ACTION); - this.state = 3003; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WHERE) { - this.state = 3001; - this.match(TSqlParser.WHERE); - this.state = 3002; - this.event_session_predicate_expression(); - } - - this.state = 3005; - this.match(TSqlParser.RR_BRACKET); - } - this.state = 3011; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,241,this._ctx); - } - - } - this.state = 3016; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,242,this._ctx); - } - - this.state = 3033; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,245,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 3018; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3017; - this.match(TSqlParser.COMMA); - } - - this.state = 3020; - this.match(TSqlParser.DROP); - this.state = 3021; - this.match(TSqlParser.EVENT); - this.state = 3025; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,244,this._ctx); - if(la_===1) { - this.state = 3022; - localctx.event_module_guid = this.id(); - this.state = 3023; - this.match(TSqlParser.DOT); - - } - this.state = 3027; - localctx.event_package_name = this.id(); - this.state = 3028; - this.match(TSqlParser.DOT); - this.state = 3029; - localctx.event_name = this.id(); - } - this.state = 3035; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,245,this._ctx); - } - - this.state = 3077; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.ADD) { - this.state = 3036; - this.match(TSqlParser.ADD); - this.state = 3037; - this.match(TSqlParser.TARGET); - this.state = 3041; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,246,this._ctx); - if(la_===1) { - this.state = 3038; - localctx.event_module_guid = this.id(); - this.state = 3039; - this.match(TSqlParser.DOT); - - } - this.state = 3043; - localctx.event_package_name = this.id(); - this.state = 3044; - this.match(TSqlParser.DOT); - this.state = 3045; - localctx.target_name = this.id(); - this.state = 3072; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,252,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 3047; - this.match(TSqlParser.LR_BRACKET); - this.state = 3048; - this.match(TSqlParser.SET); - this.state = 3064; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 3050; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3049; - this.match(TSqlParser.COMMA); - } - - this.state = 3052; - localctx.target_parameter_name = this.id(); - this.state = 3053; - this.match(TSqlParser.EQUAL); - this.state = 3062; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - case TSqlParser.LR_BRACKET: - this.state = 3055; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 3054; - this.match(TSqlParser.LR_BRACKET); - } - - this.state = 3057; - this.match(TSqlParser.DECIMAL); - this.state = 3059; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,249,this._ctx); - if(la_===1) { - this.state = 3058; - this.match(TSqlParser.RR_BRACKET); - - } - break; - case TSqlParser.STRING: - this.state = 3061; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3066; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 3068; - this.match(TSqlParser.RR_BRACKET); - } - this.state = 3074; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,252,this._ctx); - } - - this.state = 3079; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 3093; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,255,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 3080; - this.match(TSqlParser.DROP); - this.state = 3081; - this.match(TSqlParser.TARGET); - this.state = 3085; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,254,this._ctx); - if(la_===1) { - this.state = 3082; - localctx.event_module_guid = this.id(); - this.state = 3083; - this.match(TSqlParser.DOT); - - } - this.state = 3087; - localctx.event_package_name = this.id(); - this.state = 3088; - this.match(TSqlParser.DOT); - this.state = 3089; - localctx.target_name = this.id(); - } - this.state = 3095; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,255,this._ctx); - } - - this.state = 3161; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,271,this._ctx); - if(la_===1) { - this.state = 3096; - this.match(TSqlParser.WITH); - this.state = 3097; - this.match(TSqlParser.LR_BRACKET); - this.state = 3105; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,257,this._ctx); - if(la_===1) { - this.state = 3099; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3098; - this.match(TSqlParser.COMMA); - } - - this.state = 3101; - this.match(TSqlParser.MAX_MEMORY); - this.state = 3102; - this.match(TSqlParser.EQUAL); - this.state = 3103; - localctx.max_memory = this.match(TSqlParser.DECIMAL); - this.state = 3104; - _la = this._input.LA(1); - if(!(_la===TSqlParser.KB || _la===TSqlParser.MB)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 3113; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,259,this._ctx); - if(la_===1) { - this.state = 3108; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3107; - this.match(TSqlParser.COMMA); - } - - this.state = 3110; - this.match(TSqlParser.EVENT_RETENTION_MODE); - this.state = 3111; - this.match(TSqlParser.EQUAL); - this.state = 3112; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALLOW_MULTIPLE_EVENT_LOSS || _la===TSqlParser.ALLOW_SINGLE_EVENT_LOSS || _la===TSqlParser.NO_EVENT_LOSS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 3125; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,262,this._ctx); - if(la_===1) { - this.state = 3116; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3115; - this.match(TSqlParser.COMMA); - } - - this.state = 3118; - this.match(TSqlParser.MAX_DISPATCH_LATENCY); - this.state = 3119; - this.match(TSqlParser.EQUAL); - this.state = 3123; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 3120; - localctx.max_dispatch_latency_seconds = this.match(TSqlParser.DECIMAL); - this.state = 3121; - this.match(TSqlParser.SECONDS); - break; - case TSqlParser.INFINITE: - this.state = 3122; - this.match(TSqlParser.INFINITE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - - } - this.state = 3134; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,264,this._ctx); - if(la_===1) { - this.state = 3128; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3127; - this.match(TSqlParser.COMMA); - } - - this.state = 3130; - this.match(TSqlParser.MAX_EVENT_SIZE); - this.state = 3131; - this.match(TSqlParser.EQUAL); - this.state = 3132; - localctx.max_event_size = this.match(TSqlParser.DECIMAL); - this.state = 3133; - _la = this._input.LA(1); - if(!(_la===TSqlParser.KB || _la===TSqlParser.MB)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 3142; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,266,this._ctx); - if(la_===1) { - this.state = 3137; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3136; - this.match(TSqlParser.COMMA); - } - - this.state = 3139; - this.match(TSqlParser.MEMORY_PARTITION_MODE); - this.state = 3140; - this.match(TSqlParser.EQUAL); - this.state = 3141; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NONE || _la===TSqlParser.PER_CPU || _la===TSqlParser.PER_NODE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 3150; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,268,this._ctx); - if(la_===1) { - this.state = 3145; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3144; - this.match(TSqlParser.COMMA); - } - - this.state = 3147; - this.match(TSqlParser.TRACK_CAUSALITY); - this.state = 3148; - this.match(TSqlParser.EQUAL); - this.state = 3149; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 3158; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.STARTUP_STATE || _la===TSqlParser.COMMA) { - this.state = 3153; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3152; - this.match(TSqlParser.COMMA); - } - - this.state = 3155; - this.match(TSqlParser.STARTUP_STATE); - this.state = 3156; - this.match(TSqlParser.EQUAL); - this.state = 3157; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 3160; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 3166; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,272,this._ctx); - if(la_===1) { - this.state = 3163; - this.match(TSqlParser.STATE); - this.state = 3164; - this.match(TSqlParser.EQUAL); - this.state = 3165; - _la = this._input.LA(1); - if(!(_la===TSqlParser.START || _la===TSqlParser.STOP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Event_session_predicate_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_event_session_predicate_expression; - return this; -} - -Event_session_predicate_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Event_session_predicate_expressionContext.prototype.constructor = Event_session_predicate_expressionContext; - -Event_session_predicate_expressionContext.prototype.event_session_predicate_factor = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Event_session_predicate_factorContext); - } else { - return this.getTypedRuleContext(Event_session_predicate_factorContext,i); - } -}; - -Event_session_predicate_expressionContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Event_session_predicate_expressionContext.prototype.event_session_predicate_expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Event_session_predicate_expressionContext); - } else { - return this.getTypedRuleContext(Event_session_predicate_expressionContext,i); - } -}; - -Event_session_predicate_expressionContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Event_session_predicate_expressionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Event_session_predicate_expressionContext.prototype.NOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOT); - } else { - return this.getToken(TSqlParser.NOT, i); - } -}; - - -Event_session_predicate_expressionContext.prototype.AND = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AND); - } else { - return this.getToken(TSqlParser.AND, i); - } -}; - - -Event_session_predicate_expressionContext.prototype.OR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OR); - } else { - return this.getToken(TSqlParser.OR, i); - } -}; - - -Event_session_predicate_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEvent_session_predicate_expression(this); - } -}; - -Event_session_predicate_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEvent_session_predicate_expression(this); - } -}; - -Event_session_predicate_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEvent_session_predicate_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Event_session_predicate_expressionContext = Event_session_predicate_expressionContext; - -TSqlParser.prototype.event_session_predicate_expression = function() { - - var localctx = new Event_session_predicate_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 288, TSqlParser.RULE_event_session_predicate_expression); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3184; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 3169; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3168; - this.match(TSqlParser.COMMA); - } - - this.state = 3172; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AND || _la===TSqlParser.OR) { - this.state = 3171; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AND || _la===TSqlParser.OR)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 3175; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 3174; - this.match(TSqlParser.NOT); - } - - this.state = 3182; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,276,this._ctx); - switch(la_) { - case 1: - this.state = 3177; - this.event_session_predicate_factor(); - break; - - case 2: - this.state = 3178; - this.match(TSqlParser.LR_BRACKET); - this.state = 3179; - this.event_session_predicate_expression(); - this.state = 3180; - this.match(TSqlParser.RR_BRACKET); - break; - - } - this.state = 3186; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.AND || _la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || ((((_la - 218)) & ~0x1f) == 0 && ((1 << (_la - 218)) & ((1 << (TSqlParser.NOT - 218)) | (1 << (TSqlParser.OFFSETS - 218)) | (1 << (TSqlParser.OR - 218)) | (1 << (TSqlParser.PAGE - 218)))) !== 0) || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)) | (1 << (TSqlParser.LR_BRACKET - 796)))) !== 0) || _la===TSqlParser.COMMA); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Event_session_predicate_factorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_event_session_predicate_factor; - return this; -} - -Event_session_predicate_factorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Event_session_predicate_factorContext.prototype.constructor = Event_session_predicate_factorContext; - -Event_session_predicate_factorContext.prototype.event_session_predicate_leaf = function() { - return this.getTypedRuleContext(Event_session_predicate_leafContext,0); -}; - -Event_session_predicate_factorContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Event_session_predicate_factorContext.prototype.event_session_predicate_expression = function() { - return this.getTypedRuleContext(Event_session_predicate_expressionContext,0); -}; - -Event_session_predicate_factorContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Event_session_predicate_factorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEvent_session_predicate_factor(this); - } -}; - -Event_session_predicate_factorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEvent_session_predicate_factor(this); - } -}; - -Event_session_predicate_factorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEvent_session_predicate_factor(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Event_session_predicate_factorContext = Event_session_predicate_factorContext; - -TSqlParser.prototype.event_session_predicate_factor = function() { - - var localctx = new Event_session_predicate_factorContext(this, this._ctx, this.state); - this.enterRule(localctx, 290, TSqlParser.RULE_event_session_predicate_factor); - try { - this.state = 3193; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 1); - this.state = 3188; - this.event_session_predicate_leaf(); - break; - case TSqlParser.LR_BRACKET: - this.enterOuterAlt(localctx, 2); - this.state = 3189; - this.match(TSqlParser.LR_BRACKET); - this.state = 3190; - this.event_session_predicate_expression(); - this.state = 3191; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Event_session_predicate_leafContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_event_session_predicate_leaf; - this.event_field_name = null; // IdContext - this.event_module_guid = null; // IdContext - this.event_package_name = null; // IdContext - this.predicate_source_name = null; // IdContext - this.predicate_compare_name = null; // IdContext - return this; -} - -Event_session_predicate_leafContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Event_session_predicate_leafContext.prototype.constructor = Event_session_predicate_leafContext; - -Event_session_predicate_leafContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Event_session_predicate_leafContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Event_session_predicate_leafContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Event_session_predicate_leafContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Event_session_predicate_leafContext.prototype.GREATER = function() { - return this.getToken(TSqlParser.GREATER, 0); -}; - -Event_session_predicate_leafContext.prototype.LESS = function() { - return this.getToken(TSqlParser.LESS, 0); -}; - -Event_session_predicate_leafContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Event_session_predicate_leafContext.prototype.EXCLAMATION = function() { - return this.getToken(TSqlParser.EXCLAMATION, 0); -}; - -Event_session_predicate_leafContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Event_session_predicate_leafContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Event_session_predicate_leafContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Event_session_predicate_leafContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEvent_session_predicate_leaf(this); - } -}; - -Event_session_predicate_leafContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEvent_session_predicate_leaf(this); - } -}; - -Event_session_predicate_leafContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEvent_session_predicate_leaf(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Event_session_predicate_leafContext = Event_session_predicate_leafContext; - -TSqlParser.prototype.event_session_predicate_leaf = function() { - - var localctx = new Event_session_predicate_leafContext(this, this._ctx, this.state); - this.enterRule(localctx, 292, TSqlParser.RULE_event_session_predicate_leaf); - var _la = 0; // Token type - try { - this.state = 3251; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,286,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 3223; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,282,this._ctx); - switch(la_) { - case 1: - this.state = 3195; - localctx.event_field_name = this.id(); - break; - - case 2: - this.state = 3206; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,280,this._ctx); - switch(la_) { - case 1: - this.state = 3196; - localctx.event_field_name = this.id(); - break; - - case 2: - this.state = 3200; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,279,this._ctx); - if(la_===1) { - this.state = 3197; - localctx.event_module_guid = this.id(); - this.state = 3198; - this.match(TSqlParser.DOT); - - } - this.state = 3202; - localctx.event_package_name = this.id(); - this.state = 3203; - this.match(TSqlParser.DOT); - this.state = 3204; - localctx.predicate_source_name = this.id(); - break; - - } - this.state = 3219; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,281,this._ctx); - switch(la_) { - case 1: - this.state = 3208; - this.match(TSqlParser.EQUAL); - break; - - case 2: - this.state = 3209; - this.match(TSqlParser.LESS); - this.state = 3210; - this.match(TSqlParser.GREATER); - break; - - case 3: - this.state = 3211; - this.match(TSqlParser.EXCLAMATION); - this.state = 3212; - this.match(TSqlParser.EQUAL); - break; - - case 4: - this.state = 3213; - this.match(TSqlParser.GREATER); - break; - - case 5: - this.state = 3214; - this.match(TSqlParser.GREATER); - this.state = 3215; - this.match(TSqlParser.EQUAL); - break; - - case 6: - this.state = 3216; - this.match(TSqlParser.LESS); - break; - - case 7: - this.state = 3217; - this.match(TSqlParser.LESS); - this.state = 3218; - this.match(TSqlParser.EQUAL); - break; - - } - this.state = 3221; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 3228; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,283,this._ctx); - if(la_===1) { - this.state = 3225; - localctx.event_module_guid = this.id(); - this.state = 3226; - this.match(TSqlParser.DOT); - - } - this.state = 3230; - localctx.event_package_name = this.id(); - this.state = 3231; - this.match(TSqlParser.DOT); - this.state = 3232; - localctx.predicate_compare_name = this.id(); - this.state = 3233; - this.match(TSqlParser.LR_BRACKET); - this.state = 3247; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,285,this._ctx); - switch(la_) { - case 1: - this.state = 3234; - localctx.event_field_name = this.id(); - break; - - case 2: - this.state = 3238; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,284,this._ctx); - if(la_===1) { - this.state = 3235; - localctx.event_module_guid = this.id(); - this.state = 3236; - this.match(TSqlParser.DOT); - - } - this.state = 3240; - localctx.event_package_name = this.id(); - this.state = 3241; - this.match(TSqlParser.DOT); - this.state = 3242; - localctx.predicate_source_name = this.id(); - this.state = 3244; - this.match(TSqlParser.COMMA); - this.state = 3245; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - this.state = 3249; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_external_data_sourceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_external_data_source; - this.data_source_name = null; // IdContext - this.location = null; // Token - this.resource_manager_location = null; // Token - this.credential_name = null; // IdContext - return this; -} - -Alter_external_data_sourceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_external_data_sourceContext.prototype.constructor = Alter_external_data_sourceContext; - -Alter_external_data_sourceContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_external_data_sourceContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Alter_external_data_sourceContext.prototype.DATA = function() { - return this.getToken(TSqlParser.DATA, 0); -}; - -Alter_external_data_sourceContext.prototype.SOURCE = function() { - return this.getToken(TSqlParser.SOURCE, 0); -}; - -Alter_external_data_sourceContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Alter_external_data_sourceContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_external_data_sourceContext.prototype.LOCATION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOCATION); - } else { - return this.getToken(TSqlParser.LOCATION, i); - } -}; - - -Alter_external_data_sourceContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_external_data_sourceContext.prototype.RESOURCE_MANAGER_LOCATION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RESOURCE_MANAGER_LOCATION); - } else { - return this.getToken(TSqlParser.RESOURCE_MANAGER_LOCATION, i); - } -}; - - -Alter_external_data_sourceContext.prototype.CREDENTIAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CREDENTIAL); - } else { - return this.getToken(TSqlParser.CREDENTIAL, i); - } -}; - - -Alter_external_data_sourceContext.prototype.QUOTED_URL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.QUOTED_URL); - } else { - return this.getToken(TSqlParser.QUOTED_URL, i); - } -}; - - -Alter_external_data_sourceContext.prototype.QUOTED_HOST_AND_PORT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.QUOTED_HOST_AND_PORT); - } else { - return this.getToken(TSqlParser.QUOTED_HOST_AND_PORT, i); - } -}; - - -Alter_external_data_sourceContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_external_data_sourceContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_external_data_sourceContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Alter_external_data_sourceContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Alter_external_data_sourceContext.prototype.BLOB_STORAGE = function() { - return this.getToken(TSqlParser.BLOB_STORAGE, 0); -}; - -Alter_external_data_sourceContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Alter_external_data_sourceContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_external_data_sourceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_external_data_source(this); - } -}; - -Alter_external_data_sourceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_external_data_source(this); - } -}; - -Alter_external_data_sourceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_external_data_source(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_external_data_sourceContext = Alter_external_data_sourceContext; - -TSqlParser.prototype.alter_external_data_source = function() { - - var localctx = new Alter_external_data_sourceContext(this, this._ctx, this.state); - this.enterRule(localctx, 294, TSqlParser.RULE_alter_external_data_source); - var _la = 0; // Token type - try { - this.state = 3300; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,292,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 3253; - this.match(TSqlParser.ALTER); - this.state = 3254; - this.match(TSqlParser.EXTERNAL); - this.state = 3255; - this.match(TSqlParser.DATA); - this.state = 3256; - this.match(TSqlParser.SOURCE); - this.state = 3257; - localctx.data_source_name = this.id(); - this.state = 3258; - this.match(TSqlParser.SET); - this.state = 3274; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 3274; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.LOCATION: - this.state = 3259; - this.match(TSqlParser.LOCATION); - this.state = 3260; - this.match(TSqlParser.EQUAL); - this.state = 3261; - localctx.location = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.QUOTED_URL || _la===TSqlParser.QUOTED_HOST_AND_PORT)) { - localctx.location = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3263; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3262; - this.match(TSqlParser.COMMA); - } - - break; - case TSqlParser.RESOURCE_MANAGER_LOCATION: - this.state = 3265; - this.match(TSqlParser.RESOURCE_MANAGER_LOCATION); - this.state = 3266; - this.match(TSqlParser.EQUAL); - this.state = 3267; - localctx.resource_manager_location = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.QUOTED_URL || _la===TSqlParser.QUOTED_HOST_AND_PORT)) { - localctx.resource_manager_location = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3269; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3268; - this.match(TSqlParser.COMMA); - } - - break; - case TSqlParser.CREDENTIAL: - this.state = 3271; - this.match(TSqlParser.CREDENTIAL); - this.state = 3272; - this.match(TSqlParser.EQUAL); - this.state = 3273; - localctx.credential_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3276; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,290, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 3278; - this.match(TSqlParser.ALTER); - this.state = 3279; - this.match(TSqlParser.EXTERNAL); - this.state = 3280; - this.match(TSqlParser.DATA); - this.state = 3281; - this.match(TSqlParser.SOURCE); - this.state = 3282; - localctx.data_source_name = this.id(); - this.state = 3283; - this.match(TSqlParser.WITH); - this.state = 3284; - this.match(TSqlParser.LR_BRACKET); - this.state = 3285; - this.match(TSqlParser.TYPE); - this.state = 3286; - this.match(TSqlParser.EQUAL); - this.state = 3287; - this.match(TSqlParser.BLOB_STORAGE); - this.state = 3288; - this.match(TSqlParser.COMMA); - this.state = 3289; - this.match(TSqlParser.LOCATION); - this.state = 3290; - this.match(TSqlParser.EQUAL); - this.state = 3291; - localctx.location = this.match(TSqlParser.STRING); - this.state = 3296; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3292; - this.match(TSqlParser.COMMA); - this.state = 3293; - this.match(TSqlParser.CREDENTIAL); - this.state = 3294; - this.match(TSqlParser.EQUAL); - this.state = 3295; - localctx.credential_name = this.id(); - } - - this.state = 3298; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_external_libraryContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_external_library; - this.library_name = null; // IdContext - this.owner_name = null; // IdContext - this.client_library = null; // Token - this.external_data_source_name = null; // IdContext - return this; -} - -Alter_external_libraryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_external_libraryContext.prototype.constructor = Alter_external_libraryContext; - -Alter_external_libraryContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_external_libraryContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Alter_external_libraryContext.prototype.LIBRARY = function() { - return this.getToken(TSqlParser.LIBRARY, 0); -}; - -Alter_external_libraryContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_external_libraryContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Alter_external_libraryContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_external_libraryContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Alter_external_libraryContext.prototype.CONTENT = function() { - return this.getToken(TSqlParser.CONTENT, 0); -}; - -Alter_external_libraryContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_external_libraryContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_external_libraryContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Alter_external_libraryContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Alter_external_libraryContext.prototype.BINARY = function() { - return this.getToken(TSqlParser.BINARY, 0); -}; - -Alter_external_libraryContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Alter_external_libraryContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_external_libraryContext.prototype.PLATFORM = function() { - return this.getToken(TSqlParser.PLATFORM, 0); -}; - -Alter_external_libraryContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_external_libraryContext.prototype.LANGUAGE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LANGUAGE); - } else { - return this.getToken(TSqlParser.LANGUAGE, i); - } -}; - - -Alter_external_libraryContext.prototype.DATA_SOURCE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DATA_SOURCE); - } else { - return this.getToken(TSqlParser.DATA_SOURCE, i); - } -}; - - -Alter_external_libraryContext.prototype.R = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.R); - } else { - return this.getToken(TSqlParser.R, i); - } -}; - - -Alter_external_libraryContext.prototype.PYTHON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.PYTHON); - } else { - return this.getToken(TSqlParser.PYTHON, i); - } -}; - - -Alter_external_libraryContext.prototype.WINDOWS = function() { - return this.getToken(TSqlParser.WINDOWS, 0); -}; - -Alter_external_libraryContext.prototype.LINUX = function() { - return this.getToken(TSqlParser.LINUX, 0); -}; - -Alter_external_libraryContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_external_library(this); - } -}; - -Alter_external_libraryContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_external_library(this); - } -}; - -Alter_external_libraryContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_external_library(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_external_libraryContext = Alter_external_libraryContext; - -TSqlParser.prototype.alter_external_library = function() { - - var localctx = new Alter_external_libraryContext(this, this._ctx, this.state); - this.enterRule(localctx, 296, TSqlParser.RULE_alter_external_library); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3302; - this.match(TSqlParser.ALTER); - this.state = 3303; - this.match(TSqlParser.EXTERNAL); - this.state = 3304; - this.match(TSqlParser.LIBRARY); - this.state = 3305; - localctx.library_name = this.id(); - this.state = 3308; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 3306; - this.match(TSqlParser.AUTHORIZATION); - this.state = 3307; - localctx.owner_name = this.id(); - } - - this.state = 3310; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.SET)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - this.state = 3311; - this.match(TSqlParser.LR_BRACKET); - this.state = 3312; - this.match(TSqlParser.CONTENT); - this.state = 3313; - this.match(TSqlParser.EQUAL); - this.state = 3317; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 3314; - localctx.client_library = this.match(TSqlParser.STRING); - break; - case TSqlParser.BINARY: - this.state = 3315; - this.match(TSqlParser.BINARY); - break; - case TSqlParser.NONE: - this.state = 3316; - this.match(TSqlParser.NONE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - - this.state = 3319; - this.match(TSqlParser.COMMA); - this.state = 3320; - this.match(TSqlParser.PLATFORM); - this.state = 3321; - this.match(TSqlParser.EQUAL); - this.state = 3323; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LINUX || _la===TSqlParser.WINDOWS) { - this.state = 3322; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LINUX || _la===TSqlParser.WINDOWS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 3325; - this.match(TSqlParser.RR_BRACKET); - this.state = 3327; - this.match(TSqlParser.WITH); - this.state = 3337; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 3337; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.LANGUAGE: - case TSqlParser.COMMA: - this.state = 3329; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3328; - this.match(TSqlParser.COMMA); - } - - this.state = 3331; - this.match(TSqlParser.LANGUAGE); - this.state = 3332; - this.match(TSqlParser.EQUAL); - this.state = 3333; - _la = this._input.LA(1); - if(!(_la===TSqlParser.PYTHON || _la===TSqlParser.R)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.DATA_SOURCE: - this.state = 3334; - this.match(TSqlParser.DATA_SOURCE); - this.state = 3335; - this.match(TSqlParser.EQUAL); - this.state = 3336; - localctx.external_data_source_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3339; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DATA_SOURCE || _la===TSqlParser.LANGUAGE || _la===TSqlParser.COMMA); - this.state = 3341; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_external_libraryContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_external_library; - this.library_name = null; // IdContext - this.owner_name = null; // IdContext - this.client_library = null; // Token - this.external_data_source_name = null; // IdContext - return this; -} - -Create_external_libraryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_external_libraryContext.prototype.constructor = Create_external_libraryContext; - -Create_external_libraryContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_external_libraryContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Create_external_libraryContext.prototype.LIBRARY = function() { - return this.getToken(TSqlParser.LIBRARY, 0); -}; - -Create_external_libraryContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_external_libraryContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_external_libraryContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_external_libraryContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_external_libraryContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Create_external_libraryContext.prototype.BINARY = function() { - return this.getToken(TSqlParser.BINARY, 0); -}; - -Create_external_libraryContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Create_external_libraryContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_external_libraryContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_external_libraryContext.prototype.CONTENT = function() { - return this.getToken(TSqlParser.CONTENT, 0); -}; - -Create_external_libraryContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_external_libraryContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_external_libraryContext.prototype.PLATFORM = function() { - return this.getToken(TSqlParser.PLATFORM, 0); -}; - -Create_external_libraryContext.prototype.LANGUAGE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LANGUAGE); - } else { - return this.getToken(TSqlParser.LANGUAGE, i); - } -}; - - -Create_external_libraryContext.prototype.DATA_SOURCE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DATA_SOURCE); - } else { - return this.getToken(TSqlParser.DATA_SOURCE, i); - } -}; - - -Create_external_libraryContext.prototype.R = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.R); - } else { - return this.getToken(TSqlParser.R, i); - } -}; - - -Create_external_libraryContext.prototype.PYTHON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.PYTHON); - } else { - return this.getToken(TSqlParser.PYTHON, i); - } -}; - - -Create_external_libraryContext.prototype.WINDOWS = function() { - return this.getToken(TSqlParser.WINDOWS, 0); -}; - -Create_external_libraryContext.prototype.LINUX = function() { - return this.getToken(TSqlParser.LINUX, 0); -}; - -Create_external_libraryContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_external_library(this); - } -}; - -Create_external_libraryContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_external_library(this); - } -}; - -Create_external_libraryContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_external_library(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_external_libraryContext = Create_external_libraryContext; - -TSqlParser.prototype.create_external_library = function() { - - var localctx = new Create_external_libraryContext(this, this._ctx, this.state); - this.enterRule(localctx, 298, TSqlParser.RULE_create_external_library); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3343; - this.match(TSqlParser.CREATE); - this.state = 3344; - this.match(TSqlParser.EXTERNAL); - this.state = 3345; - this.match(TSqlParser.LIBRARY); - this.state = 3346; - localctx.library_name = this.id(); - this.state = 3349; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 3347; - this.match(TSqlParser.AUTHORIZATION); - this.state = 3348; - localctx.owner_name = this.id(); - } - - this.state = 3351; - this.match(TSqlParser.FROM); - - this.state = 3353; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3352; - this.match(TSqlParser.COMMA); - } - - this.state = 3356; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 3355; - this.match(TSqlParser.LR_BRACKET); - } - - this.state = 3360; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONTENT) { - this.state = 3358; - this.match(TSqlParser.CONTENT); - this.state = 3359; - this.match(TSqlParser.EQUAL); - } - - this.state = 3365; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 3362; - localctx.client_library = this.match(TSqlParser.STRING); - break; - case TSqlParser.BINARY: - this.state = 3363; - this.match(TSqlParser.BINARY); - break; - case TSqlParser.NONE: - this.state = 3364; - this.match(TSqlParser.NONE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3374; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3367; - this.match(TSqlParser.COMMA); - this.state = 3368; - this.match(TSqlParser.PLATFORM); - this.state = 3369; - this.match(TSqlParser.EQUAL); - this.state = 3371; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LINUX || _la===TSqlParser.WINDOWS) { - this.state = 3370; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LINUX || _la===TSqlParser.WINDOWS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 3373; - this.match(TSqlParser.RR_BRACKET); - } - - this.state = 3391; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,309,this._ctx); - if(la_===1) { - this.state = 3376; - this.match(TSqlParser.WITH); - this.state = 3386; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 3386; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.LANGUAGE: - case TSqlParser.COMMA: - this.state = 3378; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3377; - this.match(TSqlParser.COMMA); - } - - this.state = 3380; - this.match(TSqlParser.LANGUAGE); - this.state = 3381; - this.match(TSqlParser.EQUAL); - this.state = 3382; - _la = this._input.LA(1); - if(!(_la===TSqlParser.PYTHON || _la===TSqlParser.R)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.DATA_SOURCE: - this.state = 3383; - this.match(TSqlParser.DATA_SOURCE); - this.state = 3384; - this.match(TSqlParser.EQUAL); - this.state = 3385; - localctx.external_data_source_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3388; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DATA_SOURCE || _la===TSqlParser.LANGUAGE || _la===TSqlParser.COMMA); - this.state = 3390; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_external_resource_poolContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_external_resource_pool; - this.pool_name = null; // IdContext - this.max_cpu_percent = null; // Token - this.max_memory_percent = null; // Token - this.max_processes = null; // Token - return this; -} - -Alter_external_resource_poolContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_external_resource_poolContext.prototype.constructor = Alter_external_resource_poolContext; - -Alter_external_resource_poolContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_external_resource_poolContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Alter_external_resource_poolContext.prototype.RESOURCE = function() { - return this.getToken(TSqlParser.RESOURCE, 0); -}; - -Alter_external_resource_poolContext.prototype.POOL = function() { - return this.getToken(TSqlParser.POOL, 0); -}; - -Alter_external_resource_poolContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_external_resource_poolContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Alter_external_resource_poolContext.prototype.MAX_CPU_PERCENT = function() { - return this.getToken(TSqlParser.MAX_CPU_PERCENT, 0); -}; - -Alter_external_resource_poolContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_external_resource_poolContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Alter_external_resource_poolContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Alter_external_resource_poolContext.prototype.DEFAULT_DOUBLE_QUOTE = function() { - return this.getToken(TSqlParser.DEFAULT_DOUBLE_QUOTE, 0); -}; - -Alter_external_resource_poolContext.prototype.AFFINITY = function() { - return this.getToken(TSqlParser.AFFINITY, 0); -}; - -Alter_external_resource_poolContext.prototype.CPU = function() { - return this.getToken(TSqlParser.CPU, 0); -}; - -Alter_external_resource_poolContext.prototype.NUMANODE = function() { - return this.getToken(TSqlParser.NUMANODE, 0); -}; - -Alter_external_resource_poolContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_external_resource_poolContext.prototype.MAX_MEMORY_PERCENT = function() { - return this.getToken(TSqlParser.MAX_MEMORY_PERCENT, 0); -}; - -Alter_external_resource_poolContext.prototype.MAX_PROCESSES = function() { - return this.getToken(TSqlParser.MAX_PROCESSES, 0); -}; - -Alter_external_resource_poolContext.prototype.AUTO = function() { - return this.getToken(TSqlParser.AUTO, 0); -}; - -Alter_external_resource_poolContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_external_resource_poolContext.prototype.TO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TO); - } else { - return this.getToken(TSqlParser.TO, i); - } -}; - - -Alter_external_resource_poolContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_external_resource_pool(this); - } -}; - -Alter_external_resource_poolContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_external_resource_pool(this); - } -}; - -Alter_external_resource_poolContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_external_resource_pool(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_external_resource_poolContext = Alter_external_resource_poolContext; - -TSqlParser.prototype.alter_external_resource_pool = function() { - - var localctx = new Alter_external_resource_poolContext(this, this._ctx, this.state); - this.enterRule(localctx, 300, TSqlParser.RULE_alter_external_resource_pool); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3393; - this.match(TSqlParser.ALTER); - this.state = 3394; - this.match(TSqlParser.EXTERNAL); - this.state = 3395; - this.match(TSqlParser.RESOURCE); - this.state = 3396; - this.match(TSqlParser.POOL); - this.state = 3399; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,310,this._ctx); - switch(la_) { - case 1: - this.state = 3397; - localctx.pool_name = this.id(); - break; - - case 2: - this.state = 3398; - this.match(TSqlParser.DEFAULT_DOUBLE_QUOTE); - break; - - } - this.state = 3401; - this.match(TSqlParser.WITH); - this.state = 3402; - this.match(TSqlParser.LR_BRACKET); - this.state = 3403; - this.match(TSqlParser.MAX_CPU_PERCENT); - this.state = 3404; - this.match(TSqlParser.EQUAL); - this.state = 3405; - localctx.max_cpu_percent = this.match(TSqlParser.DECIMAL); - this.state = 3443; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AFFINITY: - case TSqlParser.COMMA: - this.state = 3407; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3406; - this.match(TSqlParser.COMMA); - } - - this.state = 3409; - this.match(TSqlParser.AFFINITY); - this.state = 3410; - this.match(TSqlParser.CPU); - this.state = 3411; - this.match(TSqlParser.EQUAL); - this.state = 3425; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AUTO: - this.state = 3412; - this.match(TSqlParser.AUTO); - break; - case TSqlParser.DECIMAL: - case TSqlParser.COMMA: - this.state = 3421; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 3421; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,313,this._ctx); - switch(la_) { - case 1: - this.state = 3414; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3413; - this.match(TSqlParser.COMMA); - } - - this.state = 3416; - this.match(TSqlParser.DECIMAL); - this.state = 3417; - this.match(TSqlParser.TO); - this.state = 3418; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 3419; - this.match(TSqlParser.COMMA); - this.state = 3420; - this.match(TSqlParser.DECIMAL); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3423; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,314, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.NUMANODE: - this.state = 3427; - this.match(TSqlParser.NUMANODE); - this.state = 3428; - this.match(TSqlParser.EQUAL); - this.state = 3439; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 3439; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,318,this._ctx); - switch(la_) { - case 1: - this.state = 3430; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3429; - this.match(TSqlParser.COMMA); - } - - this.state = 3432; - this.match(TSqlParser.DECIMAL); - this.state = 3433; - this.match(TSqlParser.TO); - this.state = 3434; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 3436; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3435; - this.match(TSqlParser.COMMA); - } - - this.state = 3438; - this.match(TSqlParser.DECIMAL); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3441; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,319, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3451; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,322,this._ctx); - if(la_===1) { - this.state = 3446; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3445; - this.match(TSqlParser.COMMA); - } - - this.state = 3448; - this.match(TSqlParser.MAX_MEMORY_PERCENT); - this.state = 3449; - this.match(TSqlParser.EQUAL); - this.state = 3450; - localctx.max_memory_percent = this.match(TSqlParser.DECIMAL); - - } - this.state = 3459; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MAX_PROCESSES || _la===TSqlParser.COMMA) { - this.state = 3454; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3453; - this.match(TSqlParser.COMMA); - } - - this.state = 3456; - this.match(TSqlParser.MAX_PROCESSES); - this.state = 3457; - this.match(TSqlParser.EQUAL); - this.state = 3458; - localctx.max_processes = this.match(TSqlParser.DECIMAL); - } - - this.state = 3461; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_external_resource_poolContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_external_resource_pool; - this.pool_name = null; // IdContext - this.max_cpu_percent = null; // Token - this.max_memory_percent = null; // Token - this.max_processes = null; // Token - return this; -} - -Create_external_resource_poolContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_external_resource_poolContext.prototype.constructor = Create_external_resource_poolContext; - -Create_external_resource_poolContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_external_resource_poolContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Create_external_resource_poolContext.prototype.RESOURCE = function() { - return this.getToken(TSqlParser.RESOURCE, 0); -}; - -Create_external_resource_poolContext.prototype.POOL = function() { - return this.getToken(TSqlParser.POOL, 0); -}; - -Create_external_resource_poolContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_external_resource_poolContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_external_resource_poolContext.prototype.MAX_CPU_PERCENT = function() { - return this.getToken(TSqlParser.MAX_CPU_PERCENT, 0); -}; - -Create_external_resource_poolContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_external_resource_poolContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_external_resource_poolContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Create_external_resource_poolContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Create_external_resource_poolContext.prototype.AFFINITY = function() { - return this.getToken(TSqlParser.AFFINITY, 0); -}; - -Create_external_resource_poolContext.prototype.CPU = function() { - return this.getToken(TSqlParser.CPU, 0); -}; - -Create_external_resource_poolContext.prototype.NUMANODE = function() { - return this.getToken(TSqlParser.NUMANODE, 0); -}; - -Create_external_resource_poolContext.prototype.MAX_MEMORY_PERCENT = function() { - return this.getToken(TSqlParser.MAX_MEMORY_PERCENT, 0); -}; - -Create_external_resource_poolContext.prototype.MAX_PROCESSES = function() { - return this.getToken(TSqlParser.MAX_PROCESSES, 0); -}; - -Create_external_resource_poolContext.prototype.AUTO = function() { - return this.getToken(TSqlParser.AUTO, 0); -}; - -Create_external_resource_poolContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_external_resource_poolContext.prototype.TO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TO); - } else { - return this.getToken(TSqlParser.TO, i); - } -}; - - -Create_external_resource_poolContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_external_resource_pool(this); - } -}; - -Create_external_resource_poolContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_external_resource_pool(this); - } -}; - -Create_external_resource_poolContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_external_resource_pool(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_external_resource_poolContext = Create_external_resource_poolContext; - -TSqlParser.prototype.create_external_resource_pool = function() { - - var localctx = new Create_external_resource_poolContext(this, this._ctx, this.state); - this.enterRule(localctx, 302, TSqlParser.RULE_create_external_resource_pool); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3463; - this.match(TSqlParser.CREATE); - this.state = 3464; - this.match(TSqlParser.EXTERNAL); - this.state = 3465; - this.match(TSqlParser.RESOURCE); - this.state = 3466; - this.match(TSqlParser.POOL); - this.state = 3467; - localctx.pool_name = this.id(); - this.state = 3468; - this.match(TSqlParser.WITH); - this.state = 3469; - this.match(TSqlParser.LR_BRACKET); - this.state = 3470; - this.match(TSqlParser.MAX_CPU_PERCENT); - this.state = 3471; - this.match(TSqlParser.EQUAL); - this.state = 3472; - localctx.max_cpu_percent = this.match(TSqlParser.DECIMAL); - this.state = 3510; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AFFINITY: - case TSqlParser.COMMA: - this.state = 3474; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3473; - this.match(TSqlParser.COMMA); - } - - this.state = 3476; - this.match(TSqlParser.AFFINITY); - this.state = 3477; - this.match(TSqlParser.CPU); - this.state = 3478; - this.match(TSqlParser.EQUAL); - this.state = 3492; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AUTO: - this.state = 3479; - this.match(TSqlParser.AUTO); - break; - case TSqlParser.DECIMAL: - case TSqlParser.COMMA: - this.state = 3488; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 3488; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,327,this._ctx); - switch(la_) { - case 1: - this.state = 3481; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3480; - this.match(TSqlParser.COMMA); - } - - this.state = 3483; - this.match(TSqlParser.DECIMAL); - this.state = 3484; - this.match(TSqlParser.TO); - this.state = 3485; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 3486; - this.match(TSqlParser.COMMA); - this.state = 3487; - this.match(TSqlParser.DECIMAL); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3490; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,328, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.NUMANODE: - this.state = 3494; - this.match(TSqlParser.NUMANODE); - this.state = 3495; - this.match(TSqlParser.EQUAL); - this.state = 3506; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 3506; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,332,this._ctx); - switch(la_) { - case 1: - this.state = 3497; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3496; - this.match(TSqlParser.COMMA); - } - - this.state = 3499; - this.match(TSqlParser.DECIMAL); - this.state = 3500; - this.match(TSqlParser.TO); - this.state = 3501; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 3503; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3502; - this.match(TSqlParser.COMMA); - } - - this.state = 3505; - this.match(TSqlParser.DECIMAL); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3508; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,333, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3518; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,336,this._ctx); - if(la_===1) { - this.state = 3513; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3512; - this.match(TSqlParser.COMMA); - } - - this.state = 3515; - this.match(TSqlParser.MAX_MEMORY_PERCENT); - this.state = 3516; - this.match(TSqlParser.EQUAL); - this.state = 3517; - localctx.max_memory_percent = this.match(TSqlParser.DECIMAL); - - } - this.state = 3526; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MAX_PROCESSES || _la===TSqlParser.COMMA) { - this.state = 3521; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3520; - this.match(TSqlParser.COMMA); - } - - this.state = 3523; - this.match(TSqlParser.MAX_PROCESSES); - this.state = 3524; - this.match(TSqlParser.EQUAL); - this.state = 3525; - localctx.max_processes = this.match(TSqlParser.DECIMAL); - } - - this.state = 3528; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_fulltext_catalogContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_fulltext_catalog; - this.catalog_name = null; // IdContext - return this; -} - -Alter_fulltext_catalogContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_fulltext_catalogContext.prototype.constructor = Alter_fulltext_catalogContext; - -Alter_fulltext_catalogContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_fulltext_catalogContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Alter_fulltext_catalogContext.prototype.CATALOG = function() { - return this.getToken(TSqlParser.CATALOG, 0); -}; - -Alter_fulltext_catalogContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_fulltext_catalogContext.prototype.REBUILD = function() { - return this.getToken(TSqlParser.REBUILD, 0); -}; - -Alter_fulltext_catalogContext.prototype.REORGANIZE = function() { - return this.getToken(TSqlParser.REORGANIZE, 0); -}; - -Alter_fulltext_catalogContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Alter_fulltext_catalogContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Alter_fulltext_catalogContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_fulltext_catalogContext.prototype.ACCENT_SENSITIVITY = function() { - return this.getToken(TSqlParser.ACCENT_SENSITIVITY, 0); -}; - -Alter_fulltext_catalogContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_fulltext_catalogContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Alter_fulltext_catalogContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Alter_fulltext_catalogContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_fulltext_catalog(this); - } -}; - -Alter_fulltext_catalogContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_fulltext_catalog(this); - } -}; - -Alter_fulltext_catalogContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_fulltext_catalog(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_fulltext_catalogContext = Alter_fulltext_catalogContext; - -TSqlParser.prototype.alter_fulltext_catalog = function() { - - var localctx = new Alter_fulltext_catalogContext(this, this._ctx, this.state); - this.enterRule(localctx, 304, TSqlParser.RULE_alter_fulltext_catalog); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3530; - this.match(TSqlParser.ALTER); - this.state = 3531; - this.match(TSqlParser.FULLTEXT); - this.state = 3532; - this.match(TSqlParser.CATALOG); - this.state = 3533; - localctx.catalog_name = this.id(); - this.state = 3544; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.REBUILD: - this.state = 3534; - this.match(TSqlParser.REBUILD); - this.state = 3539; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,339,this._ctx); - if(la_===1) { - this.state = 3535; - this.match(TSqlParser.WITH); - this.state = 3536; - this.match(TSqlParser.ACCENT_SENSITIVITY); - this.state = 3537; - this.match(TSqlParser.EQUAL); - this.state = 3538; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - break; - case TSqlParser.REORGANIZE: - this.state = 3541; - this.match(TSqlParser.REORGANIZE); - break; - case TSqlParser.AS: - this.state = 3542; - this.match(TSqlParser.AS); - this.state = 3543; - this.match(TSqlParser.DEFAULT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_fulltext_catalogContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_fulltext_catalog; - this.catalog_name = null; // IdContext - this.filegroup = null; // IdContext - this.rootpath = null; // Token - this.owner_name = null; // IdContext - return this; -} - -Create_fulltext_catalogContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_fulltext_catalogContext.prototype.constructor = Create_fulltext_catalogContext; - -Create_fulltext_catalogContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_fulltext_catalogContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Create_fulltext_catalogContext.prototype.CATALOG = function() { - return this.getToken(TSqlParser.CATALOG, 0); -}; - -Create_fulltext_catalogContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_fulltext_catalogContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_fulltext_catalogContext.prototype.FILEGROUP = function() { - return this.getToken(TSqlParser.FILEGROUP, 0); -}; - -Create_fulltext_catalogContext.prototype.IN = function() { - return this.getToken(TSqlParser.IN, 0); -}; - -Create_fulltext_catalogContext.prototype.PATH = function() { - return this.getToken(TSqlParser.PATH, 0); -}; - -Create_fulltext_catalogContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_fulltext_catalogContext.prototype.ACCENT_SENSITIVITY = function() { - return this.getToken(TSqlParser.ACCENT_SENSITIVITY, 0); -}; - -Create_fulltext_catalogContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_fulltext_catalogContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_fulltext_catalogContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Create_fulltext_catalogContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_fulltext_catalogContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_fulltext_catalogContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Create_fulltext_catalogContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_fulltext_catalog(this); - } -}; - -Create_fulltext_catalogContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_fulltext_catalog(this); - } -}; - -Create_fulltext_catalogContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_fulltext_catalog(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_fulltext_catalogContext = Create_fulltext_catalogContext; - -TSqlParser.prototype.create_fulltext_catalog = function() { - - var localctx = new Create_fulltext_catalogContext(this, this._ctx, this.state); - this.enterRule(localctx, 306, TSqlParser.RULE_create_fulltext_catalog); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3546; - this.match(TSqlParser.CREATE); - this.state = 3547; - this.match(TSqlParser.FULLTEXT); - this.state = 3548; - this.match(TSqlParser.CATALOG); - this.state = 3549; - localctx.catalog_name = this.id(); - this.state = 3553; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ON) { - this.state = 3550; - this.match(TSqlParser.ON); - this.state = 3551; - this.match(TSqlParser.FILEGROUP); - this.state = 3552; - localctx.filegroup = this.id(); - } - - this.state = 3558; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IN) { - this.state = 3555; - this.match(TSqlParser.IN); - this.state = 3556; - this.match(TSqlParser.PATH); - this.state = 3557; - localctx.rootpath = this.match(TSqlParser.STRING); - } - - this.state = 3564; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,343,this._ctx); - if(la_===1) { - this.state = 3560; - this.match(TSqlParser.WITH); - this.state = 3561; - this.match(TSqlParser.ACCENT_SENSITIVITY); - this.state = 3562; - this.match(TSqlParser.EQUAL); - this.state = 3563; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 3568; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 3566; - this.match(TSqlParser.AS); - this.state = 3567; - this.match(TSqlParser.DEFAULT); - } - - this.state = 3572; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 3570; - this.match(TSqlParser.AUTHORIZATION); - this.state = 3571; - localctx.owner_name = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_fulltext_stoplistContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_fulltext_stoplist; - this.stoplist_name = null; // IdContext - this.stopword = null; // Token - return this; -} - -Alter_fulltext_stoplistContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_fulltext_stoplistContext.prototype.constructor = Alter_fulltext_stoplistContext; - -Alter_fulltext_stoplistContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_fulltext_stoplistContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Alter_fulltext_stoplistContext.prototype.STOPLIST = function() { - return this.getToken(TSqlParser.STOPLIST, 0); -}; - -Alter_fulltext_stoplistContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_fulltext_stoplistContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_fulltext_stoplistContext.prototype.LANGUAGE = function() { - return this.getToken(TSqlParser.LANGUAGE, 0); -}; - -Alter_fulltext_stoplistContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_fulltext_stoplistContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_fulltext_stoplistContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Alter_fulltext_stoplistContext.prototype.BINARY = function() { - return this.getToken(TSqlParser.BINARY, 0); -}; - -Alter_fulltext_stoplistContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Alter_fulltext_stoplistContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_fulltext_stoplist(this); - } -}; - -Alter_fulltext_stoplistContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_fulltext_stoplist(this); - } -}; - -Alter_fulltext_stoplistContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_fulltext_stoplist(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_fulltext_stoplistContext = Alter_fulltext_stoplistContext; - -TSqlParser.prototype.alter_fulltext_stoplist = function() { - - var localctx = new Alter_fulltext_stoplistContext(this, this._ctx, this.state); - this.enterRule(localctx, 308, TSqlParser.RULE_alter_fulltext_stoplist); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3574; - this.match(TSqlParser.ALTER); - this.state = 3575; - this.match(TSqlParser.FULLTEXT); - this.state = 3576; - this.match(TSqlParser.STOPLIST); - this.state = 3577; - localctx.stoplist_name = this.id(); - this.state = 3591; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ADD: - this.state = 3578; - this.match(TSqlParser.ADD); - this.state = 3579; - localctx.stopword = this.match(TSqlParser.STRING); - this.state = 3580; - this.match(TSqlParser.LANGUAGE); - this.state = 3581; - _la = this._input.LA(1); - if(!(((((_la - 800)) & ~0x1f) == 0 && ((1 << (_la - 800)) & ((1 << (TSqlParser.DECIMAL - 800)) | (1 << (TSqlParser.STRING - 800)) | (1 << (TSqlParser.BINARY - 800)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.DROP: - this.state = 3582; - this.match(TSqlParser.DROP); - this.state = 3589; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,346,this._ctx); - switch(la_) { - case 1: - this.state = 3583; - localctx.stopword = this.match(TSqlParser.STRING); - this.state = 3584; - this.match(TSqlParser.LANGUAGE); - this.state = 3585; - _la = this._input.LA(1); - if(!(((((_la - 800)) & ~0x1f) == 0 && ((1 << (_la - 800)) & ((1 << (TSqlParser.DECIMAL - 800)) | (1 << (TSqlParser.STRING - 800)) | (1 << (TSqlParser.BINARY - 800)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 2: - this.state = 3586; - this.match(TSqlParser.ALL); - this.state = 3587; - _la = this._input.LA(1); - if(!(((((_la - 800)) & ~0x1f) == 0 && ((1 << (_la - 800)) & ((1 << (TSqlParser.DECIMAL - 800)) | (1 << (TSqlParser.STRING - 800)) | (1 << (TSqlParser.BINARY - 800)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 3: - this.state = 3588; - this.match(TSqlParser.ALL); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_fulltext_stoplistContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_fulltext_stoplist; - this.stoplist_name = null; // IdContext - this.database_name = null; // IdContext - this.source_stoplist_name = null; // IdContext - this.owner_name = null; // IdContext - return this; -} - -Create_fulltext_stoplistContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_fulltext_stoplistContext.prototype.constructor = Create_fulltext_stoplistContext; - -Create_fulltext_stoplistContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_fulltext_stoplistContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Create_fulltext_stoplistContext.prototype.STOPLIST = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STOPLIST); - } else { - return this.getToken(TSqlParser.STOPLIST, i); - } -}; - - -Create_fulltext_stoplistContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_fulltext_stoplistContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_fulltext_stoplistContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_fulltext_stoplistContext.prototype.SYSTEM = function() { - return this.getToken(TSqlParser.SYSTEM, 0); -}; - -Create_fulltext_stoplistContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Create_fulltext_stoplistContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_fulltext_stoplist(this); - } -}; - -Create_fulltext_stoplistContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_fulltext_stoplist(this); - } -}; - -Create_fulltext_stoplistContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_fulltext_stoplist(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_fulltext_stoplistContext = Create_fulltext_stoplistContext; - -TSqlParser.prototype.create_fulltext_stoplist = function() { - - var localctx = new Create_fulltext_stoplistContext(this, this._ctx, this.state); - this.enterRule(localctx, 310, TSqlParser.RULE_create_fulltext_stoplist); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3593; - this.match(TSqlParser.CREATE); - this.state = 3594; - this.match(TSqlParser.FULLTEXT); - this.state = 3595; - this.match(TSqlParser.STOPLIST); - this.state = 3596; - localctx.stoplist_name = this.id(); - this.state = 3608; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 3597; - this.match(TSqlParser.FROM); - this.state = 3606; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,349,this._ctx); - switch(la_) { - case 1: - this.state = 3601; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,348,this._ctx); - if(la_===1) { - this.state = 3598; - localctx.database_name = this.id(); - this.state = 3599; - this.match(TSqlParser.DOT); - - } - this.state = 3603; - localctx.source_stoplist_name = this.id(); - break; - - case 2: - this.state = 3604; - this.match(TSqlParser.SYSTEM); - this.state = 3605; - this.match(TSqlParser.STOPLIST); - break; - - } - } - - this.state = 3612; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 3610; - this.match(TSqlParser.AUTHORIZATION); - this.state = 3611; - localctx.owner_name = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_login_sql_serverContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_login_sql_server; - this.login_name = null; // IdContext - this.password = null; // Token - this.password_hash = null; // Token - this.old_password = null; // Token - this.default_database = null; // IdContext - this.default_laguage = null; // IdContext - this.credential_name = null; // IdContext - return this; -} - -Alter_login_sql_serverContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_login_sql_serverContext.prototype.constructor = Alter_login_sql_serverContext; - -Alter_login_sql_serverContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_login_sql_serverContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Alter_login_sql_serverContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_login_sql_serverContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_login_sql_serverContext.prototype.CREDENTIAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CREDENTIAL); - } else { - return this.getToken(TSqlParser.CREDENTIAL, i); - } -}; - - -Alter_login_sql_serverContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_login_sql_serverContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_login_sql_serverContext.prototype.OLD_PASSWORD = function() { - return this.getToken(TSqlParser.OLD_PASSWORD, 0); -}; - -Alter_login_sql_serverContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_login_sql_serverContext.prototype.DEFAULT_DATABASE = function() { - return this.getToken(TSqlParser.DEFAULT_DATABASE, 0); -}; - -Alter_login_sql_serverContext.prototype.DEFAULT_LANGUAGE = function() { - return this.getToken(TSqlParser.DEFAULT_LANGUAGE, 0); -}; - -Alter_login_sql_serverContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Alter_login_sql_serverContext.prototype.CHECK_POLICY = function() { - return this.getToken(TSqlParser.CHECK_POLICY, 0); -}; - -Alter_login_sql_serverContext.prototype.CHECK_EXPIRATION = function() { - return this.getToken(TSqlParser.CHECK_EXPIRATION, 0); -}; - -Alter_login_sql_serverContext.prototype.NO = function() { - return this.getToken(TSqlParser.NO, 0); -}; - -Alter_login_sql_serverContext.prototype.ENABLE = function() { - return this.getToken(TSqlParser.ENABLE, 0); -}; - -Alter_login_sql_serverContext.prototype.DISABLE = function() { - return this.getToken(TSqlParser.DISABLE, 0); -}; - -Alter_login_sql_serverContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_login_sql_serverContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Alter_login_sql_serverContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Alter_login_sql_serverContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Alter_login_sql_serverContext.prototype.HASHED = function() { - return this.getToken(TSqlParser.HASHED, 0); -}; - -Alter_login_sql_serverContext.prototype.MUST_CHANGE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MUST_CHANGE); - } else { - return this.getToken(TSqlParser.MUST_CHANGE, i); - } -}; - - -Alter_login_sql_serverContext.prototype.UNLOCK = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.UNLOCK); - } else { - return this.getToken(TSqlParser.UNLOCK, i); - } -}; - - -Alter_login_sql_serverContext.prototype.BINARY = function() { - return this.getToken(TSqlParser.BINARY, 0); -}; - -Alter_login_sql_serverContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_login_sql_server(this); - } -}; - -Alter_login_sql_serverContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_login_sql_server(this); - } -}; - -Alter_login_sql_serverContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_login_sql_server(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_login_sql_serverContext = Alter_login_sql_serverContext; - -TSqlParser.prototype.alter_login_sql_server = function() { - - var localctx = new Alter_login_sql_serverContext(this, this._ctx, this.state); - this.enterRule(localctx, 312, TSqlParser.RULE_alter_login_sql_server); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3614; - this.match(TSqlParser.ALTER); - this.state = 3615; - this.match(TSqlParser.LOGIN); - this.state = 3616; - localctx.login_name = this.id(); - this.state = 3684; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,365,this._ctx); - switch(la_) { - case 1: - this.state = 3618; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,352,this._ctx); - if(la_===1) { - this.state = 3617; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISABLE || _la===TSqlParser.ENABLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - break; - - case 2: - this.state = 3620; - this.match(TSqlParser.WITH); - this.state = 3634; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PASSWORD) { - this.state = 3621; - this.match(TSqlParser.PASSWORD); - this.state = 3622; - this.match(TSqlParser.EQUAL); - this.state = 3626; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 3623; - localctx.password = this.match(TSqlParser.STRING); - break; - case TSqlParser.BINARY: - this.state = 3624; - localctx.password_hash = this.match(TSqlParser.BINARY); - this.state = 3625; - this.match(TSqlParser.HASHED); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3631; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.MUST_CHANGE || _la===TSqlParser.UNLOCK) { - this.state = 3628; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MUST_CHANGE || _la===TSqlParser.UNLOCK)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3633; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 3645; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OLD_PASSWORD) { - this.state = 3636; - this.match(TSqlParser.OLD_PASSWORD); - this.state = 3637; - this.match(TSqlParser.EQUAL); - this.state = 3638; - localctx.old_password = this.match(TSqlParser.STRING); - this.state = 3642; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.MUST_CHANGE || _la===TSqlParser.UNLOCK) { - this.state = 3639; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MUST_CHANGE || _la===TSqlParser.UNLOCK)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3644; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 3650; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.DEFAULT_DATABASE) { - this.state = 3647; - this.match(TSqlParser.DEFAULT_DATABASE); - this.state = 3648; - this.match(TSqlParser.EQUAL); - this.state = 3649; - localctx.default_database = this.id(); - } - - this.state = 3655; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,359,this._ctx); - if(la_===1) { - this.state = 3652; - this.match(TSqlParser.DEFAULT_LANGUAGE); - this.state = 3653; - this.match(TSqlParser.EQUAL); - this.state = 3654; - localctx.default_laguage = this.id(); - - } - this.state = 3660; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,360,this._ctx); - if(la_===1) { - this.state = 3657; - this.match(TSqlParser.NAME); - this.state = 3658; - this.match(TSqlParser.EQUAL); - this.state = 3659; - localctx.login_name = this.id(); - - } - this.state = 3665; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CHECK_POLICY) { - this.state = 3662; - this.match(TSqlParser.CHECK_POLICY); - this.state = 3663; - this.match(TSqlParser.EQUAL); - this.state = 3664; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 3670; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CHECK_EXPIRATION) { - this.state = 3667; - this.match(TSqlParser.CHECK_EXPIRATION); - this.state = 3668; - this.match(TSqlParser.EQUAL); - this.state = 3669; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 3675; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,363,this._ctx); - if(la_===1) { - this.state = 3672; - this.match(TSqlParser.CREDENTIAL); - this.state = 3673; - this.match(TSqlParser.EQUAL); - this.state = 3674; - localctx.credential_name = this.id(); - - } - this.state = 3679; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,364,this._ctx); - if(la_===1) { - this.state = 3677; - this.match(TSqlParser.NO); - this.state = 3678; - this.match(TSqlParser.CREDENTIAL); - - } - break; - - case 3: - this.state = 3681; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3682; - this.match(TSqlParser.CREDENTIAL); - this.state = 3683; - localctx.credential_name = this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_login_sql_serverContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_login_sql_server; - this.login_name = null; // IdContext - this.password = null; // Token - this.password_hash = null; // Token - this.sid = null; // Token - this.default_database = null; // IdContext - this.default_laguage = null; // IdContext - this.credential_name = null; // IdContext - this.default_language = null; // Token - this.certname = null; // IdContext - this.asym_key_name = null; // IdContext - return this; -} - -Create_login_sql_serverContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_login_sql_serverContext.prototype.constructor = Create_login_sql_serverContext; - -Create_login_sql_serverContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_login_sql_serverContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Create_login_sql_serverContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_login_sql_serverContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_login_sql_serverContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_login_sql_serverContext.prototype.SID = function() { - return this.getToken(TSqlParser.SID, 0); -}; - -Create_login_sql_serverContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_login_sql_serverContext.prototype.DEFAULT_DATABASE = function() { - return this.getToken(TSqlParser.DEFAULT_DATABASE, 0); -}; - -Create_login_sql_serverContext.prototype.DEFAULT_LANGUAGE = function() { - return this.getToken(TSqlParser.DEFAULT_LANGUAGE, 0); -}; - -Create_login_sql_serverContext.prototype.CHECK_EXPIRATION = function() { - return this.getToken(TSqlParser.CHECK_EXPIRATION, 0); -}; - -Create_login_sql_serverContext.prototype.CHECK_POLICY = function() { - return this.getToken(TSqlParser.CHECK_POLICY, 0); -}; - -Create_login_sql_serverContext.prototype.CREDENTIAL = function() { - return this.getToken(TSqlParser.CREDENTIAL, 0); -}; - -Create_login_sql_serverContext.prototype.BINARY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BINARY); - } else { - return this.getToken(TSqlParser.BINARY, i); - } -}; - - -Create_login_sql_serverContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_login_sql_serverContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Create_login_sql_serverContext.prototype.WINDOWS = function() { - return this.getToken(TSqlParser.WINDOWS, 0); -}; - -Create_login_sql_serverContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Create_login_sql_serverContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Create_login_sql_serverContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Create_login_sql_serverContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_login_sql_serverContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_login_sql_serverContext.prototype.HASHED = function() { - return this.getToken(TSqlParser.HASHED, 0); -}; - -Create_login_sql_serverContext.prototype.MUST_CHANGE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MUST_CHANGE); - } else { - return this.getToken(TSqlParser.MUST_CHANGE, i); - } -}; - - -Create_login_sql_serverContext.prototype.UNLOCK = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.UNLOCK); - } else { - return this.getToken(TSqlParser.UNLOCK, i); - } -}; - - -Create_login_sql_serverContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_login_sql_serverContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_login_sql_server(this); - } -}; - -Create_login_sql_serverContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_login_sql_server(this); - } -}; - -Create_login_sql_serverContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_login_sql_server(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_login_sql_serverContext = Create_login_sql_serverContext; - -TSqlParser.prototype.create_login_sql_server = function() { - - var localctx = new Create_login_sql_serverContext(this, this._ctx, this.state); - this.enterRule(localctx, 314, TSqlParser.RULE_create_login_sql_server); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3686; - this.match(TSqlParser.CREATE); - this.state = 3687; - this.match(TSqlParser.LOGIN); - this.state = 3688; - localctx.login_name = this.id(); - this.state = 3779; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.WITH: - this.state = 3689; - this.match(TSqlParser.WITH); - this.state = 3703; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PASSWORD) { - this.state = 3690; - this.match(TSqlParser.PASSWORD); - this.state = 3691; - this.match(TSqlParser.EQUAL); - this.state = 3695; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 3692; - localctx.password = this.match(TSqlParser.STRING); - break; - case TSqlParser.BINARY: - this.state = 3693; - localctx.password_hash = this.match(TSqlParser.BINARY); - this.state = 3694; - this.match(TSqlParser.HASHED); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 3700; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.MUST_CHANGE || _la===TSqlParser.UNLOCK) { - this.state = 3697; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MUST_CHANGE || _la===TSqlParser.UNLOCK)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3702; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 3711; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,370,this._ctx); - if(la_===1) { - this.state = 3706; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3705; - this.match(TSqlParser.COMMA); - } - - this.state = 3708; - this.match(TSqlParser.SID); - this.state = 3709; - this.match(TSqlParser.EQUAL); - this.state = 3710; - localctx.sid = this.match(TSqlParser.BINARY); - - } - this.state = 3719; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,372,this._ctx); - if(la_===1) { - this.state = 3714; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3713; - this.match(TSqlParser.COMMA); - } - - this.state = 3716; - this.match(TSqlParser.DEFAULT_DATABASE); - this.state = 3717; - this.match(TSqlParser.EQUAL); - this.state = 3718; - localctx.default_database = this.id(); - - } - this.state = 3727; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,374,this._ctx); - if(la_===1) { - this.state = 3722; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3721; - this.match(TSqlParser.COMMA); - } - - this.state = 3724; - this.match(TSqlParser.DEFAULT_LANGUAGE); - this.state = 3725; - this.match(TSqlParser.EQUAL); - this.state = 3726; - localctx.default_laguage = this.id(); - - } - this.state = 3735; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,376,this._ctx); - if(la_===1) { - this.state = 3730; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3729; - this.match(TSqlParser.COMMA); - } - - this.state = 3732; - this.match(TSqlParser.CHECK_EXPIRATION); - this.state = 3733; - this.match(TSqlParser.EQUAL); - this.state = 3734; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 3743; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,378,this._ctx); - if(la_===1) { - this.state = 3738; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3737; - this.match(TSqlParser.COMMA); - } - - this.state = 3740; - this.match(TSqlParser.CHECK_POLICY); - this.state = 3741; - this.match(TSqlParser.EQUAL); - this.state = 3742; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 3751; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,380,this._ctx); - if(la_===1) { - this.state = 3746; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3745; - this.match(TSqlParser.COMMA); - } - - this.state = 3748; - this.match(TSqlParser.CREDENTIAL); - this.state = 3749; - this.match(TSqlParser.EQUAL); - this.state = 3750; - localctx.credential_name = this.id(); - - } - break; - case TSqlParser.FROM: - this.state = 3753; - this.match(TSqlParser.FROM); - this.state = 3777; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.WINDOWS: - this.state = 3754; - this.match(TSqlParser.WINDOWS); - - this.state = 3755; - this.match(TSqlParser.WITH); - this.state = 3762; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,382,this._ctx); - if(la_===1) { - this.state = 3757; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3756; - this.match(TSqlParser.COMMA); - } - - this.state = 3759; - this.match(TSqlParser.DEFAULT_DATABASE); - this.state = 3760; - this.match(TSqlParser.EQUAL); - this.state = 3761; - localctx.default_database = this.id(); - - } - this.state = 3770; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,384,this._ctx); - if(la_===1) { - this.state = 3765; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3764; - this.match(TSqlParser.COMMA); - } - - this.state = 3767; - this.match(TSqlParser.DEFAULT_LANGUAGE); - this.state = 3768; - this.match(TSqlParser.EQUAL); - this.state = 3769; - localctx.default_language = this.match(TSqlParser.STRING); - - } - break; - case TSqlParser.CERTIFICATE: - this.state = 3772; - this.match(TSqlParser.CERTIFICATE); - this.state = 3773; - localctx.certname = this.id(); - break; - case TSqlParser.ASYMMETRIC: - this.state = 3774; - this.match(TSqlParser.ASYMMETRIC); - this.state = 3775; - this.match(TSqlParser.KEY); - this.state = 3776; - localctx.asym_key_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_login_azure_sqlContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_login_azure_sql; - this.login_name = null; // IdContext - this.password = null; // Token - this.old_password = null; // Token - return this; -} - -Alter_login_azure_sqlContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_login_azure_sqlContext.prototype.constructor = Alter_login_azure_sqlContext; - -Alter_login_azure_sqlContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_login_azure_sqlContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Alter_login_azure_sqlContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_login_azure_sqlContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_login_azure_sqlContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Alter_login_azure_sqlContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_login_azure_sqlContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Alter_login_azure_sqlContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_login_azure_sqlContext.prototype.ENABLE = function() { - return this.getToken(TSqlParser.ENABLE, 0); -}; - -Alter_login_azure_sqlContext.prototype.DISABLE = function() { - return this.getToken(TSqlParser.DISABLE, 0); -}; - -Alter_login_azure_sqlContext.prototype.OLD_PASSWORD = function() { - return this.getToken(TSqlParser.OLD_PASSWORD, 0); -}; - -Alter_login_azure_sqlContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_login_azure_sql(this); - } -}; - -Alter_login_azure_sqlContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_login_azure_sql(this); - } -}; - -Alter_login_azure_sqlContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_login_azure_sql(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_login_azure_sqlContext = Alter_login_azure_sqlContext; - -TSqlParser.prototype.alter_login_azure_sql = function() { - - var localctx = new Alter_login_azure_sqlContext(this, this._ctx, this.state); - this.enterRule(localctx, 316, TSqlParser.RULE_alter_login_azure_sql); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3781; - this.match(TSqlParser.ALTER); - this.state = 3782; - this.match(TSqlParser.LOGIN); - this.state = 3783; - localctx.login_name = this.id(); - this.state = 3801; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,390,this._ctx); - switch(la_) { - case 1: - this.state = 3785; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,387,this._ctx); - if(la_===1) { - this.state = 3784; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISABLE || _la===TSqlParser.ENABLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - break; - - case 2: - this.state = 3787; - this.match(TSqlParser.WITH); - this.state = 3799; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PASSWORD: - this.state = 3788; - this.match(TSqlParser.PASSWORD); - this.state = 3789; - this.match(TSqlParser.EQUAL); - this.state = 3790; - localctx.password = this.match(TSqlParser.STRING); - this.state = 3794; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OLD_PASSWORD) { - this.state = 3791; - this.match(TSqlParser.OLD_PASSWORD); - this.state = 3792; - this.match(TSqlParser.EQUAL); - this.state = 3793; - localctx.old_password = this.match(TSqlParser.STRING); - } - - break; - case TSqlParser.NAME: - this.state = 3796; - this.match(TSqlParser.NAME); - this.state = 3797; - this.match(TSqlParser.EQUAL); - this.state = 3798; - localctx.login_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_login_azure_sqlContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_login_azure_sql; - this.login_name = null; // IdContext - this.sid = null; // Token - return this; -} - -Create_login_azure_sqlContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_login_azure_sqlContext.prototype.constructor = Create_login_azure_sqlContext; - -Create_login_azure_sqlContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_login_azure_sqlContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Create_login_azure_sqlContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_login_azure_sqlContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_login_azure_sqlContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_login_azure_sqlContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_login_azure_sqlContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Create_login_azure_sqlContext.prototype.SID = function() { - return this.getToken(TSqlParser.SID, 0); -}; - -Create_login_azure_sqlContext.prototype.BINARY = function() { - return this.getToken(TSqlParser.BINARY, 0); -}; - -Create_login_azure_sqlContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_login_azure_sql(this); - } -}; - -Create_login_azure_sqlContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_login_azure_sql(this); - } -}; - -Create_login_azure_sqlContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_login_azure_sql(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_login_azure_sqlContext = Create_login_azure_sqlContext; - -TSqlParser.prototype.create_login_azure_sql = function() { - - var localctx = new Create_login_azure_sqlContext(this, this._ctx, this.state); - this.enterRule(localctx, 318, TSqlParser.RULE_create_login_azure_sql); - try { - this.enterOuterAlt(localctx, 1); - this.state = 3803; - this.match(TSqlParser.CREATE); - this.state = 3804; - this.match(TSqlParser.LOGIN); - this.state = 3805; - localctx.login_name = this.id(); - this.state = 3806; - this.match(TSqlParser.WITH); - this.state = 3807; - this.match(TSqlParser.PASSWORD); - this.state = 3808; - this.match(TSqlParser.EQUAL); - this.state = 3809; - this.match(TSqlParser.STRING); - this.state = 3813; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,391,this._ctx); - if(la_===1) { - this.state = 3810; - this.match(TSqlParser.SID); - this.state = 3811; - this.match(TSqlParser.EQUAL); - this.state = 3812; - localctx.sid = this.match(TSqlParser.BINARY); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_login_azure_sql_dw_and_pdwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_login_azure_sql_dw_and_pdw; - this.login_name = null; // IdContext - this.password = null; // Token - this.old_password = null; // Token - return this; -} - -Alter_login_azure_sql_dw_and_pdwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_login_azure_sql_dw_and_pdwContext.prototype.constructor = Alter_login_azure_sql_dw_and_pdwContext; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_login_azure_sql_dw_and_pdwContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_login_azure_sql_dw_and_pdwContext.prototype.ENABLE = function() { - return this.getToken(TSqlParser.ENABLE, 0); -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.DISABLE = function() { - return this.getToken(TSqlParser.DISABLE, 0); -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.OLD_PASSWORD = function() { - return this.getToken(TSqlParser.OLD_PASSWORD, 0); -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.MUST_CHANGE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MUST_CHANGE); - } else { - return this.getToken(TSqlParser.MUST_CHANGE, i); - } -}; - - -Alter_login_azure_sql_dw_and_pdwContext.prototype.UNLOCK = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.UNLOCK); - } else { - return this.getToken(TSqlParser.UNLOCK, i); - } -}; - - -Alter_login_azure_sql_dw_and_pdwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_login_azure_sql_dw_and_pdw(this); - } -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_login_azure_sql_dw_and_pdw(this); - } -}; - -Alter_login_azure_sql_dw_and_pdwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_login_azure_sql_dw_and_pdw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_login_azure_sql_dw_and_pdwContext = Alter_login_azure_sql_dw_and_pdwContext; - -TSqlParser.prototype.alter_login_azure_sql_dw_and_pdw = function() { - - var localctx = new Alter_login_azure_sql_dw_and_pdwContext(this, this._ctx, this.state); - this.enterRule(localctx, 320, TSqlParser.RULE_alter_login_azure_sql_dw_and_pdw); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3815; - this.match(TSqlParser.ALTER); - this.state = 3816; - this.match(TSqlParser.LOGIN); - this.state = 3817; - localctx.login_name = this.id(); - this.state = 3841; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,396,this._ctx); - switch(la_) { - case 1: - this.state = 3819; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,392,this._ctx); - if(la_===1) { - this.state = 3818; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISABLE || _la===TSqlParser.ENABLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - break; - - case 2: - this.state = 3821; - this.match(TSqlParser.WITH); - this.state = 3839; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PASSWORD: - this.state = 3822; - this.match(TSqlParser.PASSWORD); - this.state = 3823; - this.match(TSqlParser.EQUAL); - this.state = 3824; - localctx.password = this.match(TSqlParser.STRING); - this.state = 3834; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OLD_PASSWORD) { - this.state = 3825; - this.match(TSqlParser.OLD_PASSWORD); - this.state = 3826; - this.match(TSqlParser.EQUAL); - this.state = 3827; - localctx.old_password = this.match(TSqlParser.STRING); - this.state = 3831; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.MUST_CHANGE || _la===TSqlParser.UNLOCK) { - this.state = 3828; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MUST_CHANGE || _la===TSqlParser.UNLOCK)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3833; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - break; - case TSqlParser.NAME: - this.state = 3836; - this.match(TSqlParser.NAME); - this.state = 3837; - this.match(TSqlParser.EQUAL); - this.state = 3838; - localctx.login_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_login_pdwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_login_pdw; - this.loginName = null; // IdContext - this.password = null; // Token - return this; -} - -Create_login_pdwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_login_pdwContext.prototype.constructor = Create_login_pdwContext; - -Create_login_pdwContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_login_pdwContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Create_login_pdwContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Create_login_pdwContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_login_pdwContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_login_pdwContext.prototype.WINDOWS = function() { - return this.getToken(TSqlParser.WINDOWS, 0); -}; - -Create_login_pdwContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_login_pdwContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_login_pdwContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_login_pdwContext.prototype.MUST_CHANGE = function() { - return this.getToken(TSqlParser.MUST_CHANGE, 0); -}; - -Create_login_pdwContext.prototype.CHECK_POLICY = function() { - return this.getToken(TSqlParser.CHECK_POLICY, 0); -}; - -Create_login_pdwContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_login_pdwContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Create_login_pdwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_login_pdw(this); - } -}; - -Create_login_pdwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_login_pdw(this); - } -}; - -Create_login_pdwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_login_pdw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_login_pdwContext = Create_login_pdwContext; - -TSqlParser.prototype.create_login_pdw = function() { - - var localctx = new Create_login_pdwContext(this, this._ctx, this.state); - this.enterRule(localctx, 322, TSqlParser.RULE_create_login_pdw); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3843; - this.match(TSqlParser.CREATE); - this.state = 3844; - this.match(TSqlParser.LOGIN); - this.state = 3845; - localctx.loginName = this.id(); - this.state = 3862; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.WITH: - this.state = 3846; - this.match(TSqlParser.WITH); - - this.state = 3847; - this.match(TSqlParser.PASSWORD); - this.state = 3848; - this.match(TSqlParser.EQUAL); - this.state = 3849; - localctx.password = this.match(TSqlParser.STRING); - this.state = 3851; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MUST_CHANGE) { - this.state = 3850; - this.match(TSqlParser.MUST_CHANGE); - } - - this.state = 3858; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CHECK_POLICY) { - this.state = 3853; - this.match(TSqlParser.CHECK_POLICY); - this.state = 3854; - this.match(TSqlParser.EQUAL); - this.state = 3856; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OFF || _la===TSqlParser.ON) { - this.state = 3855; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } - - break; - case TSqlParser.FROM: - this.state = 3860; - this.match(TSqlParser.FROM); - this.state = 3861; - this.match(TSqlParser.WINDOWS); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_master_key_sql_serverContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_master_key_sql_server; - this.password = null; // Token - this.encryption_password = null; // Token - return this; -} - -Alter_master_key_sql_serverContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_master_key_sql_serverContext.prototype.constructor = Alter_master_key_sql_serverContext; - -Alter_master_key_sql_serverContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_master_key_sql_serverContext.prototype.MASTER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MASTER); - } else { - return this.getToken(TSqlParser.MASTER, i); - } -}; - - -Alter_master_key_sql_serverContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Alter_master_key_sql_serverContext.prototype.REGENERATE = function() { - return this.getToken(TSqlParser.REGENERATE, 0); -}; - -Alter_master_key_sql_serverContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_master_key_sql_serverContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Alter_master_key_sql_serverContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Alter_master_key_sql_serverContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Alter_master_key_sql_serverContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_master_key_sql_serverContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_master_key_sql_serverContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_master_key_sql_serverContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_master_key_sql_serverContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Alter_master_key_sql_serverContext.prototype.FORCE = function() { - return this.getToken(TSqlParser.FORCE, 0); -}; - -Alter_master_key_sql_serverContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_master_key_sql_server(this); - } -}; - -Alter_master_key_sql_serverContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_master_key_sql_server(this); - } -}; - -Alter_master_key_sql_serverContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_master_key_sql_server(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_master_key_sql_serverContext = Alter_master_key_sql_serverContext; - -TSqlParser.prototype.alter_master_key_sql_server = function() { - - var localctx = new Alter_master_key_sql_serverContext(this, this._ctx, this.state); - this.enterRule(localctx, 324, TSqlParser.RULE_alter_master_key_sql_server); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3864; - this.match(TSqlParser.ALTER); - this.state = 3865; - this.match(TSqlParser.MASTER); - this.state = 3866; - this.match(TSqlParser.KEY); - this.state = 3888; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.REGENERATE: - case TSqlParser.FORCE: - this.state = 3868; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FORCE) { - this.state = 3867; - this.match(TSqlParser.FORCE); - } - - this.state = 3870; - this.match(TSqlParser.REGENERATE); - this.state = 3871; - this.match(TSqlParser.WITH); - this.state = 3872; - this.match(TSqlParser.ENCRYPTION); - this.state = 3873; - this.match(TSqlParser.BY); - this.state = 3874; - this.match(TSqlParser.PASSWORD); - this.state = 3875; - this.match(TSqlParser.EQUAL); - this.state = 3876; - localctx.password = this.match(TSqlParser.STRING); - break; - case TSqlParser.ADD: - case TSqlParser.DROP: - this.state = 3877; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3878; - this.match(TSqlParser.ENCRYPTION); - this.state = 3879; - this.match(TSqlParser.BY); - this.state = 3886; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.SERVICE: - this.state = 3880; - this.match(TSqlParser.SERVICE); - this.state = 3881; - this.match(TSqlParser.MASTER); - this.state = 3882; - this.match(TSqlParser.KEY); - break; - case TSqlParser.PASSWORD: - this.state = 3883; - this.match(TSqlParser.PASSWORD); - this.state = 3884; - this.match(TSqlParser.EQUAL); - this.state = 3885; - localctx.encryption_password = this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_master_key_sql_serverContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_master_key_sql_server; - this.password = null; // Token - return this; -} - -Create_master_key_sql_serverContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_master_key_sql_serverContext.prototype.constructor = Create_master_key_sql_serverContext; - -Create_master_key_sql_serverContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_master_key_sql_serverContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Create_master_key_sql_serverContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Create_master_key_sql_serverContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Create_master_key_sql_serverContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Create_master_key_sql_serverContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_master_key_sql_serverContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_master_key_sql_serverContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_master_key_sql_serverContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_master_key_sql_server(this); - } -}; - -Create_master_key_sql_serverContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_master_key_sql_server(this); - } -}; - -Create_master_key_sql_serverContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_master_key_sql_server(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_master_key_sql_serverContext = Create_master_key_sql_serverContext; - -TSqlParser.prototype.create_master_key_sql_server = function() { - - var localctx = new Create_master_key_sql_serverContext(this, this._ctx, this.state); - this.enterRule(localctx, 326, TSqlParser.RULE_create_master_key_sql_server); - try { - this.enterOuterAlt(localctx, 1); - this.state = 3890; - this.match(TSqlParser.CREATE); - this.state = 3891; - this.match(TSqlParser.MASTER); - this.state = 3892; - this.match(TSqlParser.KEY); - this.state = 3893; - this.match(TSqlParser.ENCRYPTION); - this.state = 3894; - this.match(TSqlParser.BY); - this.state = 3895; - this.match(TSqlParser.PASSWORD); - this.state = 3896; - this.match(TSqlParser.EQUAL); - this.state = 3897; - localctx.password = this.match(TSqlParser.STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_master_key_azure_sqlContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_master_key_azure_sql; - this.password = null; // Token - this.encryption_password = null; // Token - return this; -} - -Alter_master_key_azure_sqlContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_master_key_azure_sqlContext.prototype.constructor = Alter_master_key_azure_sqlContext; - -Alter_master_key_azure_sqlContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.MASTER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MASTER); - } else { - return this.getToken(TSqlParser.MASTER, i); - } -}; - - -Alter_master_key_azure_sqlContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Alter_master_key_azure_sqlContext.prototype.REGENERATE = function() { - return this.getToken(TSqlParser.REGENERATE, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.FORCE = function() { - return this.getToken(TSqlParser.FORCE, 0); -}; - -Alter_master_key_azure_sqlContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_master_key_azure_sql(this); - } -}; - -Alter_master_key_azure_sqlContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_master_key_azure_sql(this); - } -}; - -Alter_master_key_azure_sqlContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_master_key_azure_sql(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_master_key_azure_sqlContext = Alter_master_key_azure_sqlContext; - -TSqlParser.prototype.alter_master_key_azure_sql = function() { - - var localctx = new Alter_master_key_azure_sqlContext(this, this._ctx, this.state); - this.enterRule(localctx, 328, TSqlParser.RULE_alter_master_key_azure_sql); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3899; - this.match(TSqlParser.ALTER); - this.state = 3900; - this.match(TSqlParser.MASTER); - this.state = 3901; - this.match(TSqlParser.KEY); - this.state = 3929; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.REGENERATE: - case TSqlParser.FORCE: - this.state = 3903; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FORCE) { - this.state = 3902; - this.match(TSqlParser.FORCE); - } - - this.state = 3905; - this.match(TSqlParser.REGENERATE); - this.state = 3906; - this.match(TSqlParser.WITH); - this.state = 3907; - this.match(TSqlParser.ENCRYPTION); - this.state = 3908; - this.match(TSqlParser.BY); - this.state = 3909; - this.match(TSqlParser.PASSWORD); - this.state = 3910; - this.match(TSqlParser.EQUAL); - this.state = 3911; - localctx.password = this.match(TSqlParser.STRING); - break; - case TSqlParser.ADD: - this.state = 3912; - this.match(TSqlParser.ADD); - this.state = 3913; - this.match(TSqlParser.ENCRYPTION); - this.state = 3914; - this.match(TSqlParser.BY); - this.state = 3921; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.SERVICE: - this.state = 3915; - this.match(TSqlParser.SERVICE); - this.state = 3916; - this.match(TSqlParser.MASTER); - this.state = 3917; - this.match(TSqlParser.KEY); - break; - case TSqlParser.PASSWORD: - this.state = 3918; - this.match(TSqlParser.PASSWORD); - this.state = 3919; - this.match(TSqlParser.EQUAL); - this.state = 3920; - localctx.encryption_password = this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.DROP: - this.state = 3923; - this.match(TSqlParser.DROP); - this.state = 3924; - this.match(TSqlParser.ENCRYPTION); - this.state = 3925; - this.match(TSqlParser.BY); - this.state = 3926; - this.match(TSqlParser.PASSWORD); - this.state = 3927; - this.match(TSqlParser.EQUAL); - this.state = 3928; - localctx.encryption_password = this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_master_key_azure_sqlContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_master_key_azure_sql; - this.password = null; // Token - return this; -} - -Create_master_key_azure_sqlContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_master_key_azure_sqlContext.prototype.constructor = Create_master_key_azure_sqlContext; - -Create_master_key_azure_sqlContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_master_key_azure_sqlContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Create_master_key_azure_sqlContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Create_master_key_azure_sqlContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Create_master_key_azure_sqlContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Create_master_key_azure_sqlContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_master_key_azure_sqlContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_master_key_azure_sqlContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_master_key_azure_sqlContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_master_key_azure_sql(this); - } -}; - -Create_master_key_azure_sqlContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_master_key_azure_sql(this); - } -}; - -Create_master_key_azure_sqlContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_master_key_azure_sql(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_master_key_azure_sqlContext = Create_master_key_azure_sqlContext; - -TSqlParser.prototype.create_master_key_azure_sql = function() { - - var localctx = new Create_master_key_azure_sqlContext(this, this._ctx, this.state); - this.enterRule(localctx, 330, TSqlParser.RULE_create_master_key_azure_sql); - try { - this.enterOuterAlt(localctx, 1); - this.state = 3931; - this.match(TSqlParser.CREATE); - this.state = 3932; - this.match(TSqlParser.MASTER); - this.state = 3933; - this.match(TSqlParser.KEY); - this.state = 3939; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,407,this._ctx); - if(la_===1) { - this.state = 3934; - this.match(TSqlParser.ENCRYPTION); - this.state = 3935; - this.match(TSqlParser.BY); - this.state = 3936; - this.match(TSqlParser.PASSWORD); - this.state = 3937; - this.match(TSqlParser.EQUAL); - this.state = 3938; - localctx.password = this.match(TSqlParser.STRING); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_message_typeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_message_type; - this.message_type_name = null; // IdContext - this.schema_collection_name = null; // IdContext - return this; -} - -Alter_message_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_message_typeContext.prototype.constructor = Alter_message_typeContext; - -Alter_message_typeContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_message_typeContext.prototype.MESSAGE = function() { - return this.getToken(TSqlParser.MESSAGE, 0); -}; - -Alter_message_typeContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Alter_message_typeContext.prototype.VALIDATION = function() { - return this.getToken(TSqlParser.VALIDATION, 0); -}; - -Alter_message_typeContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_message_typeContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_message_typeContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Alter_message_typeContext.prototype.EMPTY = function() { - return this.getToken(TSqlParser.EMPTY, 0); -}; - -Alter_message_typeContext.prototype.WELL_FORMED_XML = function() { - return this.getToken(TSqlParser.WELL_FORMED_XML, 0); -}; - -Alter_message_typeContext.prototype.VALID_XML = function() { - return this.getToken(TSqlParser.VALID_XML, 0); -}; - -Alter_message_typeContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_message_typeContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Alter_message_typeContext.prototype.COLLECTION = function() { - return this.getToken(TSqlParser.COLLECTION, 0); -}; - -Alter_message_typeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_message_type(this); - } -}; - -Alter_message_typeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_message_type(this); - } -}; - -Alter_message_typeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_message_type(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_message_typeContext = Alter_message_typeContext; - -TSqlParser.prototype.alter_message_type = function() { - - var localctx = new Alter_message_typeContext(this, this._ctx, this.state); - this.enterRule(localctx, 332, TSqlParser.RULE_alter_message_type); - try { - this.enterOuterAlt(localctx, 1); - this.state = 3941; - this.match(TSqlParser.ALTER); - this.state = 3942; - this.match(TSqlParser.MESSAGE); - this.state = 3943; - this.match(TSqlParser.TYPE); - this.state = 3944; - localctx.message_type_name = this.id(); - this.state = 3945; - this.match(TSqlParser.VALIDATION); - this.state = 3946; - this.match(TSqlParser.EQUAL); - this.state = 3955; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NONE: - this.state = 3947; - this.match(TSqlParser.NONE); - break; - case TSqlParser.EMPTY: - this.state = 3948; - this.match(TSqlParser.EMPTY); - break; - case TSqlParser.WELL_FORMED_XML: - this.state = 3949; - this.match(TSqlParser.WELL_FORMED_XML); - break; - case TSqlParser.VALID_XML: - this.state = 3950; - this.match(TSqlParser.VALID_XML); - this.state = 3951; - this.match(TSqlParser.WITH); - this.state = 3952; - this.match(TSqlParser.SCHEMA); - this.state = 3953; - this.match(TSqlParser.COLLECTION); - this.state = 3954; - localctx.schema_collection_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_partition_functionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_partition_function; - this.partition_function_name = null; // IdContext - return this; -} - -Alter_partition_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_partition_functionContext.prototype.constructor = Alter_partition_functionContext; - -Alter_partition_functionContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_partition_functionContext.prototype.PARTITION = function() { - return this.getToken(TSqlParser.PARTITION, 0); -}; - -Alter_partition_functionContext.prototype.FUNCTION = function() { - return this.getToken(TSqlParser.FUNCTION, 0); -}; - -Alter_partition_functionContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Alter_partition_functionContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Alter_partition_functionContext.prototype.RANGE = function() { - return this.getToken(TSqlParser.RANGE, 0); -}; - -Alter_partition_functionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Alter_partition_functionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_partition_functionContext.prototype.SPLIT = function() { - return this.getToken(TSqlParser.SPLIT, 0); -}; - -Alter_partition_functionContext.prototype.MERGE = function() { - return this.getToken(TSqlParser.MERGE, 0); -}; - -Alter_partition_functionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_partition_function(this); - } -}; - -Alter_partition_functionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_partition_function(this); - } -}; - -Alter_partition_functionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_partition_function(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_partition_functionContext = Alter_partition_functionContext; - -TSqlParser.prototype.alter_partition_function = function() { - - var localctx = new Alter_partition_functionContext(this, this._ctx, this.state); - this.enterRule(localctx, 334, TSqlParser.RULE_alter_partition_function); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3957; - this.match(TSqlParser.ALTER); - this.state = 3958; - this.match(TSqlParser.PARTITION); - this.state = 3959; - this.match(TSqlParser.FUNCTION); - this.state = 3960; - localctx.partition_function_name = this.id(); - this.state = 3961; - this.match(TSqlParser.LR_BRACKET); - this.state = 3962; - this.match(TSqlParser.RR_BRACKET); - this.state = 3963; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MERGE || _la===TSqlParser.SPLIT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 3964; - this.match(TSqlParser.RANGE); - this.state = 3965; - this.match(TSqlParser.LR_BRACKET); - this.state = 3966; - this.match(TSqlParser.DECIMAL); - this.state = 3967; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_partition_schemeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_partition_scheme; - this.partition_scheme_name = null; // IdContext - this.file_group_name = null; // IdContext - return this; -} - -Alter_partition_schemeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_partition_schemeContext.prototype.constructor = Alter_partition_schemeContext; - -Alter_partition_schemeContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_partition_schemeContext.prototype.PARTITION = function() { - return this.getToken(TSqlParser.PARTITION, 0); -}; - -Alter_partition_schemeContext.prototype.SCHEME = function() { - return this.getToken(TSqlParser.SCHEME, 0); -}; - -Alter_partition_schemeContext.prototype.NEXT = function() { - return this.getToken(TSqlParser.NEXT, 0); -}; - -Alter_partition_schemeContext.prototype.USED = function() { - return this.getToken(TSqlParser.USED, 0); -}; - -Alter_partition_schemeContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_partition_schemeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_partition_scheme(this); - } -}; - -Alter_partition_schemeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_partition_scheme(this); - } -}; - -Alter_partition_schemeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_partition_scheme(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_partition_schemeContext = Alter_partition_schemeContext; - -TSqlParser.prototype.alter_partition_scheme = function() { - - var localctx = new Alter_partition_schemeContext(this, this._ctx, this.state); - this.enterRule(localctx, 336, TSqlParser.RULE_alter_partition_scheme); - try { - this.enterOuterAlt(localctx, 1); - this.state = 3969; - this.match(TSqlParser.ALTER); - this.state = 3970; - this.match(TSqlParser.PARTITION); - this.state = 3971; - this.match(TSqlParser.SCHEME); - this.state = 3972; - localctx.partition_scheme_name = this.id(); - this.state = 3973; - this.match(TSqlParser.NEXT); - this.state = 3974; - this.match(TSqlParser.USED); - this.state = 3976; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,409,this._ctx); - if(la_===1) { - this.state = 3975; - localctx.file_group_name = this.id(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_remote_service_bindingContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_remote_service_binding; - this.binding_name = null; // IdContext - this.user_name = null; // IdContext - return this; -} - -Alter_remote_service_bindingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_remote_service_bindingContext.prototype.constructor = Alter_remote_service_bindingContext; - -Alter_remote_service_bindingContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_remote_service_bindingContext.prototype.REMOTE = function() { - return this.getToken(TSqlParser.REMOTE, 0); -}; - -Alter_remote_service_bindingContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Alter_remote_service_bindingContext.prototype.BINDING = function() { - return this.getToken(TSqlParser.BINDING, 0); -}; - -Alter_remote_service_bindingContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_remote_service_bindingContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_remote_service_bindingContext.prototype.USER = function() { - return this.getToken(TSqlParser.USER, 0); -}; - -Alter_remote_service_bindingContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_remote_service_bindingContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Alter_remote_service_bindingContext.prototype.ANONYMOUS = function() { - return this.getToken(TSqlParser.ANONYMOUS, 0); -}; - -Alter_remote_service_bindingContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Alter_remote_service_bindingContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Alter_remote_service_bindingContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_remote_service_binding(this); - } -}; - -Alter_remote_service_bindingContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_remote_service_binding(this); - } -}; - -Alter_remote_service_bindingContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_remote_service_binding(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_remote_service_bindingContext = Alter_remote_service_bindingContext; - -TSqlParser.prototype.alter_remote_service_binding = function() { - - var localctx = new Alter_remote_service_bindingContext(this, this._ctx, this.state); - this.enterRule(localctx, 338, TSqlParser.RULE_alter_remote_service_binding); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3978; - this.match(TSqlParser.ALTER); - this.state = 3979; - this.match(TSqlParser.REMOTE); - this.state = 3980; - this.match(TSqlParser.SERVICE); - this.state = 3981; - this.match(TSqlParser.BINDING); - this.state = 3982; - localctx.binding_name = this.id(); - this.state = 3983; - this.match(TSqlParser.WITH); - this.state = 3987; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.USER) { - this.state = 3984; - this.match(TSqlParser.USER); - this.state = 3985; - this.match(TSqlParser.EQUAL); - this.state = 3986; - localctx.user_name = this.id(); - } - - this.state = 3993; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 3989; - this.match(TSqlParser.COMMA); - this.state = 3990; - this.match(TSqlParser.ANONYMOUS); - this.state = 3991; - this.match(TSqlParser.EQUAL); - this.state = 3992; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_remote_service_bindingContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_remote_service_binding; - this.binding_name = null; // IdContext - this.owner_name = null; // IdContext - this.remote_service_name = null; // Token - this.user_name = null; // IdContext - return this; -} - -Create_remote_service_bindingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_remote_service_bindingContext.prototype.constructor = Create_remote_service_bindingContext; - -Create_remote_service_bindingContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_remote_service_bindingContext.prototype.REMOTE = function() { - return this.getToken(TSqlParser.REMOTE, 0); -}; - -Create_remote_service_bindingContext.prototype.SERVICE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SERVICE); - } else { - return this.getToken(TSqlParser.SERVICE, i); - } -}; - - -Create_remote_service_bindingContext.prototype.BINDING = function() { - return this.getToken(TSqlParser.BINDING, 0); -}; - -Create_remote_service_bindingContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Create_remote_service_bindingContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_remote_service_bindingContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_remote_service_bindingContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_remote_service_bindingContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_remote_service_bindingContext.prototype.USER = function() { - return this.getToken(TSqlParser.USER, 0); -}; - -Create_remote_service_bindingContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_remote_service_bindingContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Create_remote_service_bindingContext.prototype.ANONYMOUS = function() { - return this.getToken(TSqlParser.ANONYMOUS, 0); -}; - -Create_remote_service_bindingContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_remote_service_bindingContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Create_remote_service_bindingContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_remote_service_binding(this); - } -}; - -Create_remote_service_bindingContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_remote_service_binding(this); - } -}; - -Create_remote_service_bindingContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_remote_service_binding(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_remote_service_bindingContext = Create_remote_service_bindingContext; - -TSqlParser.prototype.create_remote_service_binding = function() { - - var localctx = new Create_remote_service_bindingContext(this, this._ctx, this.state); - this.enterRule(localctx, 340, TSqlParser.RULE_create_remote_service_binding); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 3995; - this.match(TSqlParser.CREATE); - this.state = 3996; - this.match(TSqlParser.REMOTE); - this.state = 3997; - this.match(TSqlParser.SERVICE); - this.state = 3998; - this.match(TSqlParser.BINDING); - this.state = 3999; - localctx.binding_name = this.id(); - this.state = 4002; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 4000; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4001; - localctx.owner_name = this.id(); - } - - this.state = 4004; - this.match(TSqlParser.TO); - this.state = 4005; - this.match(TSqlParser.SERVICE); - this.state = 4006; - localctx.remote_service_name = this.match(TSqlParser.STRING); - this.state = 4007; - this.match(TSqlParser.WITH); - this.state = 4011; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.USER) { - this.state = 4008; - this.match(TSqlParser.USER); - this.state = 4009; - this.match(TSqlParser.EQUAL); - this.state = 4010; - localctx.user_name = this.id(); - } - - this.state = 4017; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4013; - this.match(TSqlParser.COMMA); - this.state = 4014; - this.match(TSqlParser.ANONYMOUS); - this.state = 4015; - this.match(TSqlParser.EQUAL); - this.state = 4016; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_resource_poolContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_resource_pool; - this.pool_name = null; // IdContext - return this; -} - -Create_resource_poolContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_resource_poolContext.prototype.constructor = Create_resource_poolContext; - -Create_resource_poolContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_resource_poolContext.prototype.RESOURCE = function() { - return this.getToken(TSqlParser.RESOURCE, 0); -}; - -Create_resource_poolContext.prototype.POOL = function() { - return this.getToken(TSqlParser.POOL, 0); -}; - -Create_resource_poolContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Create_resource_poolContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_resource_poolContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Create_resource_poolContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Create_resource_poolContext.prototype.MIN_CPU_PERCENT = function() { - return this.getToken(TSqlParser.MIN_CPU_PERCENT, 0); -}; - -Create_resource_poolContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_resource_poolContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Create_resource_poolContext.prototype.MAX_CPU_PERCENT = function() { - return this.getToken(TSqlParser.MAX_CPU_PERCENT, 0); -}; - -Create_resource_poolContext.prototype.CAP_CPU_PERCENT = function() { - return this.getToken(TSqlParser.CAP_CPU_PERCENT, 0); -}; - -Create_resource_poolContext.prototype.AFFINITY = function() { - return this.getToken(TSqlParser.AFFINITY, 0); -}; - -Create_resource_poolContext.prototype.SCHEDULER = function() { - return this.getToken(TSqlParser.SCHEDULER, 0); -}; - -Create_resource_poolContext.prototype.MIN_MEMORY_PERCENT = function() { - return this.getToken(TSqlParser.MIN_MEMORY_PERCENT, 0); -}; - -Create_resource_poolContext.prototype.MAX_MEMORY_PERCENT = function() { - return this.getToken(TSqlParser.MAX_MEMORY_PERCENT, 0); -}; - -Create_resource_poolContext.prototype.MIN_IOPS_PER_VOLUME = function() { - return this.getToken(TSqlParser.MIN_IOPS_PER_VOLUME, 0); -}; - -Create_resource_poolContext.prototype.MAX_IOPS_PER_VOLUME = function() { - return this.getToken(TSqlParser.MAX_IOPS_PER_VOLUME, 0); -}; - -Create_resource_poolContext.prototype.AUTO = function() { - return this.getToken(TSqlParser.AUTO, 0); -}; - -Create_resource_poolContext.prototype.NUMANODE = function() { - return this.getToken(TSqlParser.NUMANODE, 0); -}; - -Create_resource_poolContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_resource_poolContext.prototype.TO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TO); - } else { - return this.getToken(TSqlParser.TO, i); - } -}; - - -Create_resource_poolContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_resource_pool(this); - } -}; - -Create_resource_poolContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_resource_pool(this); - } -}; - -Create_resource_poolContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_resource_pool(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_resource_poolContext = Create_resource_poolContext; - -TSqlParser.prototype.create_resource_pool = function() { - - var localctx = new Create_resource_poolContext(this, this._ctx, this.state); - this.enterRule(localctx, 342, TSqlParser.RULE_create_resource_pool); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4019; - this.match(TSqlParser.CREATE); - this.state = 4020; - this.match(TSqlParser.RESOURCE); - this.state = 4021; - this.match(TSqlParser.POOL); - this.state = 4022; - localctx.pool_name = this.id(); - this.state = 4125; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,438,this._ctx); - if(la_===1) { - this.state = 4023; - this.match(TSqlParser.WITH); - this.state = 4024; - this.match(TSqlParser.LR_BRACKET); - this.state = 4031; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,416,this._ctx); - if(la_===1) { - this.state = 4026; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4025; - this.match(TSqlParser.COMMA); - } - - this.state = 4028; - this.match(TSqlParser.MIN_CPU_PERCENT); - this.state = 4029; - this.match(TSqlParser.EQUAL); - this.state = 4030; - this.match(TSqlParser.DECIMAL); - - } - this.state = 4039; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,418,this._ctx); - if(la_===1) { - this.state = 4034; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4033; - this.match(TSqlParser.COMMA); - } - - this.state = 4036; - this.match(TSqlParser.MAX_CPU_PERCENT); - this.state = 4037; - this.match(TSqlParser.EQUAL); - this.state = 4038; - this.match(TSqlParser.DECIMAL); - - } - this.state = 4047; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,420,this._ctx); - if(la_===1) { - this.state = 4042; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4041; - this.match(TSqlParser.COMMA); - } - - this.state = 4044; - this.match(TSqlParser.CAP_CPU_PERCENT); - this.state = 4045; - this.match(TSqlParser.EQUAL); - this.state = 4046; - this.match(TSqlParser.DECIMAL); - - } - this.state = 4090; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,429,this._ctx); - if(la_===1) { - this.state = 4050; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4049; - this.match(TSqlParser.COMMA); - } - - this.state = 4052; - this.match(TSqlParser.AFFINITY); - this.state = 4053; - this.match(TSqlParser.SCHEDULER); - this.state = 4054; - this.match(TSqlParser.EQUAL); - this.state = 4088; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AUTO: - this.state = 4055; - this.match(TSqlParser.AUTO); - break; - case TSqlParser.LR_BRACKET: - this.state = 4056; - this.match(TSqlParser.LR_BRACKET); - this.state = 4066; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 4058; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4057; - this.match(TSqlParser.COMMA); - } - - this.state = 4064; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,423,this._ctx); - switch(la_) { - case 1: - this.state = 4060; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 4061; - this.match(TSqlParser.DECIMAL); - this.state = 4062; - this.match(TSqlParser.TO); - this.state = 4063; - this.match(TSqlParser.DECIMAL); - break; - - } - this.state = 4068; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DECIMAL || _la===TSqlParser.COMMA); - this.state = 4070; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.NUMANODE: - this.state = 4071; - this.match(TSqlParser.NUMANODE); - this.state = 4072; - this.match(TSqlParser.EQUAL); - this.state = 4073; - this.match(TSqlParser.LR_BRACKET); - this.state = 4083; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 4075; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4074; - this.match(TSqlParser.COMMA); - } - - this.state = 4081; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,426,this._ctx); - switch(la_) { - case 1: - this.state = 4077; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 4078; - this.match(TSqlParser.DECIMAL); - this.state = 4079; - this.match(TSqlParser.TO); - this.state = 4080; - this.match(TSqlParser.DECIMAL); - break; - - } - this.state = 4085; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DECIMAL || _la===TSqlParser.COMMA); - this.state = 4087; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - - } - this.state = 4098; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,431,this._ctx); - if(la_===1) { - this.state = 4093; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4092; - this.match(TSqlParser.COMMA); - } - - this.state = 4095; - this.match(TSqlParser.MIN_MEMORY_PERCENT); - this.state = 4096; - this.match(TSqlParser.EQUAL); - this.state = 4097; - this.match(TSqlParser.DECIMAL); - - } - this.state = 4106; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,433,this._ctx); - if(la_===1) { - this.state = 4101; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4100; - this.match(TSqlParser.COMMA); - } - - this.state = 4103; - this.match(TSqlParser.MAX_MEMORY_PERCENT); - this.state = 4104; - this.match(TSqlParser.EQUAL); - this.state = 4105; - this.match(TSqlParser.DECIMAL); - - } - this.state = 4114; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,435,this._ctx); - if(la_===1) { - this.state = 4109; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4108; - this.match(TSqlParser.COMMA); - } - - this.state = 4111; - this.match(TSqlParser.MIN_IOPS_PER_VOLUME); - this.state = 4112; - this.match(TSqlParser.EQUAL); - this.state = 4113; - this.match(TSqlParser.DECIMAL); - - } - this.state = 4122; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MAX_IOPS_PER_VOLUME || _la===TSqlParser.COMMA) { - this.state = 4117; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4116; - this.match(TSqlParser.COMMA); - } - - this.state = 4119; - this.match(TSqlParser.MAX_IOPS_PER_VOLUME); - this.state = 4120; - this.match(TSqlParser.EQUAL); - this.state = 4121; - this.match(TSqlParser.DECIMAL); - } - - this.state = 4124; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_resource_governorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_resource_governor; - this.schema_name = null; // IdContext - this.function_name = null; // IdContext - this.max_outstanding_io_per_volume = null; // Token - return this; -} - -Alter_resource_governorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_resource_governorContext.prototype.constructor = Alter_resource_governorContext; - -Alter_resource_governorContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_resource_governorContext.prototype.RESOURCE = function() { - return this.getToken(TSqlParser.RESOURCE, 0); -}; - -Alter_resource_governorContext.prototype.GOVERNOR = function() { - return this.getToken(TSqlParser.GOVERNOR, 0); -}; - -Alter_resource_governorContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_resource_governorContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Alter_resource_governorContext.prototype.CLASSIFIER_FUNCTION = function() { - return this.getToken(TSqlParser.CLASSIFIER_FUNCTION, 0); -}; - -Alter_resource_governorContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_resource_governorContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Alter_resource_governorContext.prototype.RESET = function() { - return this.getToken(TSqlParser.RESET, 0); -}; - -Alter_resource_governorContext.prototype.STATISTICS = function() { - return this.getToken(TSqlParser.STATISTICS, 0); -}; - -Alter_resource_governorContext.prototype.MAX_OUTSTANDING_IO_PER_VOLUME = function() { - return this.getToken(TSqlParser.MAX_OUTSTANDING_IO_PER_VOLUME, 0); -}; - -Alter_resource_governorContext.prototype.DISABLE = function() { - return this.getToken(TSqlParser.DISABLE, 0); -}; - -Alter_resource_governorContext.prototype.RECONFIGURE = function() { - return this.getToken(TSqlParser.RECONFIGURE, 0); -}; - -Alter_resource_governorContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Alter_resource_governorContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Alter_resource_governorContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Alter_resource_governorContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_resource_governorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_resource_governor(this); - } -}; - -Alter_resource_governorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_resource_governor(this); - } -}; - -Alter_resource_governorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_resource_governor(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_resource_governorContext = Alter_resource_governorContext; - -TSqlParser.prototype.alter_resource_governor = function() { - - var localctx = new Alter_resource_governorContext(this, this._ctx, this.state); - this.enterRule(localctx, 344, TSqlParser.RULE_alter_resource_governor); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4127; - this.match(TSqlParser.ALTER); - this.state = 4128; - this.match(TSqlParser.RESOURCE); - this.state = 4129; - this.match(TSqlParser.GOVERNOR); - this.state = 4151; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,440,this._ctx); - switch(la_) { - case 1: - this.state = 4130; - _la = this._input.LA(1); - if(!(_la===TSqlParser.RECONFIGURE || _la===TSqlParser.DISABLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 2: - this.state = 4131; - this.match(TSqlParser.WITH); - this.state = 4132; - this.match(TSqlParser.LR_BRACKET); - this.state = 4133; - this.match(TSqlParser.CLASSIFIER_FUNCTION); - this.state = 4134; - this.match(TSqlParser.EQUAL); - this.state = 4140; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 4135; - localctx.schema_name = this.id(); - this.state = 4136; - this.match(TSqlParser.DOT); - this.state = 4137; - localctx.function_name = this.id(); - break; - case TSqlParser.NULL: - this.state = 4139; - this.match(TSqlParser.NULL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 4142; - this.match(TSqlParser.RR_BRACKET); - break; - - case 3: - this.state = 4143; - this.match(TSqlParser.RESET); - this.state = 4144; - this.match(TSqlParser.STATISTICS); - break; - - case 4: - this.state = 4145; - this.match(TSqlParser.WITH); - this.state = 4146; - this.match(TSqlParser.LR_BRACKET); - this.state = 4147; - this.match(TSqlParser.MAX_OUTSTANDING_IO_PER_VOLUME); - this.state = 4148; - this.match(TSqlParser.EQUAL); - this.state = 4149; - localctx.max_outstanding_io_per_volume = this.match(TSqlParser.DECIMAL); - this.state = 4150; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_db_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_db_role; - this.role_name = null; // IdContext - this.database_principal = null; // IdContext - this.new_role_name = null; // IdContext - return this; -} - -Alter_db_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_db_roleContext.prototype.constructor = Alter_db_roleContext; - -Alter_db_roleContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_db_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Alter_db_roleContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_db_roleContext.prototype.MEMBER = function() { - return this.getToken(TSqlParser.MEMBER, 0); -}; - -Alter_db_roleContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_db_roleContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Alter_db_roleContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_db_roleContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_db_roleContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_db_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_db_role(this); - } -}; - -Alter_db_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_db_role(this); - } -}; - -Alter_db_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_db_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_db_roleContext = Alter_db_roleContext; - -TSqlParser.prototype.alter_db_role = function() { - - var localctx = new Alter_db_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 346, TSqlParser.RULE_alter_db_role); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4153; - this.match(TSqlParser.ALTER); - this.state = 4154; - this.match(TSqlParser.ROLE); - this.state = 4155; - localctx.role_name = this.id(); - this.state = 4163; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ADD: - case TSqlParser.DROP: - this.state = 4156; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4157; - this.match(TSqlParser.MEMBER); - this.state = 4158; - localctx.database_principal = this.id(); - break; - case TSqlParser.WITH: - this.state = 4159; - this.match(TSqlParser.WITH); - this.state = 4160; - this.match(TSqlParser.NAME); - this.state = 4161; - this.match(TSqlParser.EQUAL); - this.state = 4162; - localctx.new_role_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_db_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_db_role; - this.role_name = null; // IdContext - this.owner_name = null; // IdContext - return this; -} - -Create_db_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_db_roleContext.prototype.constructor = Create_db_roleContext; - -Create_db_roleContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_db_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Create_db_roleContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_db_roleContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_db_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_db_role(this); - } -}; - -Create_db_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_db_role(this); - } -}; - -Create_db_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_db_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_db_roleContext = Create_db_roleContext; - -TSqlParser.prototype.create_db_role = function() { - - var localctx = new Create_db_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 348, TSqlParser.RULE_create_db_role); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4165; - this.match(TSqlParser.CREATE); - this.state = 4166; - this.match(TSqlParser.ROLE); - this.state = 4167; - localctx.role_name = this.id(); - this.state = 4170; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 4168; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4169; - localctx.owner_name = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_routeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_route; - this.route_name = null; // IdContext - this.owner_name = null; // IdContext - this.route_service_name = null; // Token - this.broker_instance_identifier = null; // Token - return this; -} - -Create_routeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_routeContext.prototype.constructor = Create_routeContext; - -Create_routeContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_routeContext.prototype.ROUTE = function() { - return this.getToken(TSqlParser.ROUTE, 0); -}; - -Create_routeContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_routeContext.prototype.ADDRESS = function() { - return this.getToken(TSqlParser.ADDRESS, 0); -}; - -Create_routeContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_routeContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_routeContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_routeContext.prototype.QUOTED_URL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.QUOTED_URL); - } else { - return this.getToken(TSqlParser.QUOTED_URL, i); - } -}; - - -Create_routeContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_routeContext.prototype.SERVICE_NAME = function() { - return this.getToken(TSqlParser.SERVICE_NAME, 0); -}; - -Create_routeContext.prototype.BROKER_INSTANCE = function() { - return this.getToken(TSqlParser.BROKER_INSTANCE, 0); -}; - -Create_routeContext.prototype.LIFETIME = function() { - return this.getToken(TSqlParser.LIFETIME, 0); -}; - -Create_routeContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Create_routeContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_routeContext.prototype.MIRROR_ADDRESS = function() { - return this.getToken(TSqlParser.MIRROR_ADDRESS, 0); -}; - -Create_routeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_route(this); - } -}; - -Create_routeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_route(this); - } -}; - -Create_routeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_route(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_routeContext = Create_routeContext; - -TSqlParser.prototype.create_route = function() { - - var localctx = new Create_routeContext(this, this._ctx, this.state); - this.enterRule(localctx, 350, TSqlParser.RULE_create_route); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4172; - this.match(TSqlParser.CREATE); - this.state = 4173; - this.match(TSqlParser.ROUTE); - this.state = 4174; - localctx.route_name = this.id(); - this.state = 4177; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 4175; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4176; - localctx.owner_name = this.id(); - } - - this.state = 4179; - this.match(TSqlParser.WITH); - this.state = 4186; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,445,this._ctx); - if(la_===1) { - this.state = 4181; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4180; - this.match(TSqlParser.COMMA); - } - - this.state = 4183; - this.match(TSqlParser.SERVICE_NAME); - this.state = 4184; - this.match(TSqlParser.EQUAL); - this.state = 4185; - localctx.route_service_name = this.match(TSqlParser.STRING); - - } - this.state = 4194; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,447,this._ctx); - if(la_===1) { - this.state = 4189; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4188; - this.match(TSqlParser.COMMA); - } - - this.state = 4191; - this.match(TSqlParser.BROKER_INSTANCE); - this.state = 4192; - this.match(TSqlParser.EQUAL); - this.state = 4193; - localctx.broker_instance_identifier = this.match(TSqlParser.STRING); - - } - this.state = 4202; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,449,this._ctx); - if(la_===1) { - this.state = 4197; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4196; - this.match(TSqlParser.COMMA); - } - - this.state = 4199; - this.match(TSqlParser.LIFETIME); - this.state = 4200; - this.match(TSqlParser.EQUAL); - this.state = 4201; - this.match(TSqlParser.DECIMAL); - - } - this.state = 4205; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4204; - this.match(TSqlParser.COMMA); - } - - this.state = 4207; - this.match(TSqlParser.ADDRESS); - this.state = 4208; - this.match(TSqlParser.EQUAL); - this.state = 4209; - _la = this._input.LA(1); - if(!(_la===TSqlParser.QUOTED_URL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4214; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4210; - this.match(TSqlParser.COMMA); - this.state = 4211; - this.match(TSqlParser.MIRROR_ADDRESS); - this.state = 4212; - this.match(TSqlParser.EQUAL); - this.state = 4213; - _la = this._input.LA(1); - if(!(_la===TSqlParser.QUOTED_URL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_ruleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_rule; - this.schema_name = null; // IdContext - this.rule_name = null; // IdContext - return this; -} - -Create_ruleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_ruleContext.prototype.constructor = Create_ruleContext; - -Create_ruleContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_ruleContext.prototype.RULE = function() { - return this.getToken(TSqlParser.RULE, 0); -}; - -Create_ruleContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_ruleContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -Create_ruleContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_ruleContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Create_ruleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_rule(this); - } -}; - -Create_ruleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_rule(this); - } -}; - -Create_ruleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_rule(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_ruleContext = Create_ruleContext; - -TSqlParser.prototype.create_rule = function() { - - var localctx = new Create_ruleContext(this, this._ctx, this.state); - this.enterRule(localctx, 352, TSqlParser.RULE_create_rule); - try { - this.enterOuterAlt(localctx, 1); - this.state = 4216; - this.match(TSqlParser.CREATE); - this.state = 4217; - this.match(TSqlParser.RULE); - this.state = 4221; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,452,this._ctx); - if(la_===1) { - this.state = 4218; - localctx.schema_name = this.id(); - this.state = 4219; - this.match(TSqlParser.DOT); - - } - this.state = 4223; - localctx.rule_name = this.id(); - this.state = 4224; - this.match(TSqlParser.AS); - this.state = 4225; - this.search_condition(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_schema_sqlContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_schema_sql; - this.schema_name = null; // IdContext - return this; -} - -Alter_schema_sqlContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_schema_sqlContext.prototype.constructor = Alter_schema_sqlContext; - -Alter_schema_sqlContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_schema_sqlContext.prototype.SCHEMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SCHEMA); - } else { - return this.getToken(TSqlParser.SCHEMA, i); - } -}; - - -Alter_schema_sqlContext.prototype.TRANSFER = function() { - return this.getToken(TSqlParser.TRANSFER, 0); -}; - -Alter_schema_sqlContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_schema_sqlContext.prototype.COLON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COLON); - } else { - return this.getToken(TSqlParser.COLON, i); - } -}; - - -Alter_schema_sqlContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Alter_schema_sqlContext.prototype.OBJECT = function() { - return this.getToken(TSqlParser.OBJECT, 0); -}; - -Alter_schema_sqlContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Alter_schema_sqlContext.prototype.XML = function() { - return this.getToken(TSqlParser.XML, 0); -}; - -Alter_schema_sqlContext.prototype.COLLECTION = function() { - return this.getToken(TSqlParser.COLLECTION, 0); -}; - -Alter_schema_sqlContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_schema_sql(this); - } -}; - -Alter_schema_sqlContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_schema_sql(this); - } -}; - -Alter_schema_sqlContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_schema_sql(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_schema_sqlContext = Alter_schema_sqlContext; - -TSqlParser.prototype.alter_schema_sql = function() { - - var localctx = new Alter_schema_sqlContext(this, this._ctx, this.state); - this.enterRule(localctx, 354, TSqlParser.RULE_alter_schema_sql); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4227; - this.match(TSqlParser.ALTER); - this.state = 4228; - this.match(TSqlParser.SCHEMA); - this.state = 4229; - localctx.schema_name = this.id(); - this.state = 4230; - this.match(TSqlParser.TRANSFER); - this.state = 4240; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,454,this._ctx); - if(la_===1) { - this.state = 4236; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.OBJECT: - this.state = 4231; - this.match(TSqlParser.OBJECT); - break; - case TSqlParser.TYPE: - this.state = 4232; - this.match(TSqlParser.TYPE); - break; - case TSqlParser.XML: - this.state = 4233; - this.match(TSqlParser.XML); - this.state = 4234; - this.match(TSqlParser.SCHEMA); - this.state = 4235; - this.match(TSqlParser.COLLECTION); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 4238; - this.match(TSqlParser.COLON); - this.state = 4239; - this.match(TSqlParser.COLON); - - } - this.state = 4242; - this.id(); - this.state = 4245; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.DOT) { - this.state = 4243; - this.match(TSqlParser.DOT); - this.state = 4244; - this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_schemaContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_schema; - this.schema_name = null; // IdContext - this.owner_name = null; // IdContext - this.object_name = null; // IdContext - return this; -} - -Create_schemaContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_schemaContext.prototype.constructor = Create_schemaContext; - -Create_schemaContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_schemaContext.prototype.SCHEMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SCHEMA); - } else { - return this.getToken(TSqlParser.SCHEMA, i); - } -}; - - -Create_schemaContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_schemaContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_schemaContext.prototype.create_table = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Create_tableContext); - } else { - return this.getTypedRuleContext(Create_tableContext,i); - } -}; - -Create_schemaContext.prototype.create_view = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Create_viewContext); - } else { - return this.getTypedRuleContext(Create_viewContext,i); - } -}; - -Create_schemaContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_schemaContext.prototype.TO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TO); - } else { - return this.getToken(TSqlParser.TO, i); - } -}; - - -Create_schemaContext.prototype.REVOKE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REVOKE); - } else { - return this.getToken(TSqlParser.REVOKE, i); - } -}; - - -Create_schemaContext.prototype.FROM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FROM); - } else { - return this.getToken(TSqlParser.FROM, i); - } -}; - - -Create_schemaContext.prototype.GRANT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.GRANT); - } else { - return this.getToken(TSqlParser.GRANT, i); - } -}; - - -Create_schemaContext.prototype.DENY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DENY); - } else { - return this.getToken(TSqlParser.DENY, i); - } -}; - - -Create_schemaContext.prototype.SELECT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SELECT); - } else { - return this.getToken(TSqlParser.SELECT, i); - } -}; - - -Create_schemaContext.prototype.INSERT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.INSERT); - } else { - return this.getToken(TSqlParser.INSERT, i); - } -}; - - -Create_schemaContext.prototype.DELETE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DELETE); - } else { - return this.getToken(TSqlParser.DELETE, i); - } -}; - - -Create_schemaContext.prototype.UPDATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.UPDATE); - } else { - return this.getToken(TSqlParser.UPDATE, i); - } -}; - - -Create_schemaContext.prototype.COLON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COLON); - } else { - return this.getToken(TSqlParser.COLON, i); - } -}; - - -Create_schemaContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_schema(this); - } -}; - -Create_schemaContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_schema(this); - } -}; - -Create_schemaContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_schema(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_schemaContext = Create_schemaContext; - -TSqlParser.prototype.create_schema = function() { - - var localctx = new Create_schemaContext(this, this._ctx, this.state); - this.enterRule(localctx, 356, TSqlParser.RULE_create_schema); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4247; - this.match(TSqlParser.CREATE); - this.state = 4248; - this.match(TSqlParser.SCHEMA); - this.state = 4256; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,456,this._ctx); - switch(la_) { - case 1: - this.state = 4249; - localctx.schema_name = this.id(); - break; - - case 2: - this.state = 4250; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4251; - localctx.owner_name = this.id(); - break; - - case 3: - this.state = 4252; - localctx.schema_name = this.id(); - this.state = 4253; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4254; - localctx.owner_name = this.id(); - break; - - } - this.state = 4286; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,460,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 4284; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,459,this._ctx); - switch(la_) { - case 1: - this.state = 4258; - this.create_table(); - break; - - case 2: - this.state = 4259; - this.create_view(); - break; - - case 3: - this.state = 4260; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DENY || _la===TSqlParser.GRANT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4261; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DELETE || _la===TSqlParser.INSERT || _la===TSqlParser.SELECT || _la===TSqlParser.UPDATE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4262; - this.match(TSqlParser.ON); - this.state = 4266; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SCHEMA) { - this.state = 4263; - this.match(TSqlParser.SCHEMA); - this.state = 4264; - this.match(TSqlParser.COLON); - this.state = 4265; - this.match(TSqlParser.COLON); - } - - this.state = 4268; - localctx.object_name = this.id(); - this.state = 4269; - this.match(TSqlParser.TO); - this.state = 4270; - localctx.owner_name = this.id(); - break; - - case 4: - this.state = 4272; - this.match(TSqlParser.REVOKE); - this.state = 4273; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DELETE || _la===TSqlParser.INSERT || _la===TSqlParser.SELECT || _la===TSqlParser.UPDATE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4274; - this.match(TSqlParser.ON); - this.state = 4278; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SCHEMA) { - this.state = 4275; - this.match(TSqlParser.SCHEMA); - this.state = 4276; - this.match(TSqlParser.COLON); - this.state = 4277; - this.match(TSqlParser.COLON); - } - - this.state = 4280; - localctx.object_name = this.id(); - this.state = 4281; - this.match(TSqlParser.FROM); - this.state = 4282; - localctx.owner_name = this.id(); - break; - - } - } - this.state = 4288; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,460,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_schema_azure_sql_dw_and_pdwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_schema_azure_sql_dw_and_pdw; - this.schema_name = null; // IdContext - this.owner_name = null; // IdContext - return this; -} - -Create_schema_azure_sql_dw_and_pdwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_schema_azure_sql_dw_and_pdwContext.prototype.constructor = Create_schema_azure_sql_dw_and_pdwContext; - -Create_schema_azure_sql_dw_and_pdwContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_schema_azure_sql_dw_and_pdwContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Create_schema_azure_sql_dw_and_pdwContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_schema_azure_sql_dw_and_pdwContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_schema_azure_sql_dw_and_pdwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_schema_azure_sql_dw_and_pdw(this); - } -}; - -Create_schema_azure_sql_dw_and_pdwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_schema_azure_sql_dw_and_pdw(this); - } -}; - -Create_schema_azure_sql_dw_and_pdwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_schema_azure_sql_dw_and_pdw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_schema_azure_sql_dw_and_pdwContext = Create_schema_azure_sql_dw_and_pdwContext; - -TSqlParser.prototype.create_schema_azure_sql_dw_and_pdw = function() { - - var localctx = new Create_schema_azure_sql_dw_and_pdwContext(this, this._ctx, this.state); - this.enterRule(localctx, 358, TSqlParser.RULE_create_schema_azure_sql_dw_and_pdw); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4289; - this.match(TSqlParser.CREATE); - this.state = 4290; - this.match(TSqlParser.SCHEMA); - this.state = 4291; - localctx.schema_name = this.id(); - this.state = 4294; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 4292; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4293; - localctx.owner_name = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_schema_azure_sql_dw_and_pdwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_schema_azure_sql_dw_and_pdw; - this.schema_name = null; // IdContext - return this; -} - -Alter_schema_azure_sql_dw_and_pdwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_schema_azure_sql_dw_and_pdwContext.prototype.constructor = Alter_schema_azure_sql_dw_and_pdwContext; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.TRANSFER = function() { - return this.getToken(TSqlParser.TRANSFER, 0); -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.OBJECT = function() { - return this.getToken(TSqlParser.OBJECT, 0); -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.COLON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COLON); - } else { - return this.getToken(TSqlParser.COLON, i); - } -}; - - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_schema_azure_sql_dw_and_pdw(this); - } -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_schema_azure_sql_dw_and_pdw(this); - } -}; - -Alter_schema_azure_sql_dw_and_pdwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_schema_azure_sql_dw_and_pdw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_schema_azure_sql_dw_and_pdwContext = Alter_schema_azure_sql_dw_and_pdwContext; - -TSqlParser.prototype.alter_schema_azure_sql_dw_and_pdw = function() { - - var localctx = new Alter_schema_azure_sql_dw_and_pdwContext(this, this._ctx, this.state); - this.enterRule(localctx, 360, TSqlParser.RULE_alter_schema_azure_sql_dw_and_pdw); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4296; - this.match(TSqlParser.ALTER); - this.state = 4297; - this.match(TSqlParser.SCHEMA); - this.state = 4298; - localctx.schema_name = this.id(); - this.state = 4299; - this.match(TSqlParser.TRANSFER); - this.state = 4303; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,462,this._ctx); - if(la_===1) { - this.state = 4300; - this.match(TSqlParser.OBJECT); - this.state = 4301; - this.match(TSqlParser.COLON); - this.state = 4302; - this.match(TSqlParser.COLON); - - } - this.state = 4305; - this.id(); - this.state = 4308; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.DOT) { - this.state = 4306; - this.match(TSqlParser.DOT); - this.state = 4307; - this.match(TSqlParser.ID); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_search_property_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_search_property_list; - this.new_list_name = null; // IdContext - this.database_name = null; // IdContext - this.source_list_name = null; // IdContext - this.owner_name = null; // IdContext - return this; -} - -Create_search_property_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_search_property_listContext.prototype.constructor = Create_search_property_listContext; - -Create_search_property_listContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_search_property_listContext.prototype.SEARCH = function() { - return this.getToken(TSqlParser.SEARCH, 0); -}; - -Create_search_property_listContext.prototype.PROPERTY = function() { - return this.getToken(TSqlParser.PROPERTY, 0); -}; - -Create_search_property_listContext.prototype.LIST = function() { - return this.getToken(TSqlParser.LIST, 0); -}; - -Create_search_property_listContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_search_property_listContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_search_property_listContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_search_property_listContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Create_search_property_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_search_property_list(this); - } -}; - -Create_search_property_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_search_property_list(this); - } -}; - -Create_search_property_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_search_property_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_search_property_listContext = Create_search_property_listContext; - -TSqlParser.prototype.create_search_property_list = function() { - - var localctx = new Create_search_property_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 362, TSqlParser.RULE_create_search_property_list); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4310; - this.match(TSqlParser.CREATE); - this.state = 4311; - this.match(TSqlParser.SEARCH); - this.state = 4312; - this.match(TSqlParser.PROPERTY); - this.state = 4313; - this.match(TSqlParser.LIST); - this.state = 4314; - localctx.new_list_name = this.id(); - this.state = 4322; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 4315; - this.match(TSqlParser.FROM); - this.state = 4319; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,464,this._ctx); - if(la_===1) { - this.state = 4316; - localctx.database_name = this.id(); - this.state = 4317; - this.match(TSqlParser.DOT); - - } - this.state = 4321; - localctx.source_list_name = this.id(); - } - - this.state = 4326; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 4324; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4325; - localctx.owner_name = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_security_policyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_security_policy; - this.schema_name = null; // IdContext - this.security_policy_name = null; // IdContext - this.tvf_schema_name = null; // IdContext - this.security_predicate_function_name = null; // IdContext - this.column_name_or_arguments = null; // IdContext - this.table_schema_name = null; // IdContext - this.name = null; // IdContext - return this; -} - -Create_security_policyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_security_policyContext.prototype.constructor = Create_security_policyContext; - -Create_security_policyContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_security_policyContext.prototype.SECURITY = function() { - return this.getToken(TSqlParser.SECURITY, 0); -}; - -Create_security_policyContext.prototype.POLICY = function() { - return this.getToken(TSqlParser.POLICY, 0); -}; - -Create_security_policyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_security_policyContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Create_security_policyContext.prototype.ADD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ADD); - } else { - return this.getToken(TSqlParser.ADD, i); - } -}; - - -Create_security_policyContext.prototype.PREDICATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.PREDICATE); - } else { - return this.getToken(TSqlParser.PREDICATE, i); - } -}; - - -Create_security_policyContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Create_security_policyContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Create_security_policyContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_security_policyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_security_policyContext.prototype.STATE = function() { - return this.getToken(TSqlParser.STATE, 0); -}; - -Create_security_policyContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_security_policyContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Create_security_policyContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_security_policyContext.prototype.REPLICATION = function() { - return this.getToken(TSqlParser.REPLICATION, 0); -}; - -Create_security_policyContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Create_security_policyContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_security_policyContext.prototype.AFTER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AFTER); - } else { - return this.getToken(TSqlParser.AFTER, i); - } -}; - - -Create_security_policyContext.prototype.BEFORE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BEFORE); - } else { - return this.getToken(TSqlParser.BEFORE, i); - } -}; - - -Create_security_policyContext.prototype.SCHEMABINDING = function() { - return this.getToken(TSqlParser.SCHEMABINDING, 0); -}; - -Create_security_policyContext.prototype.FILTER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILTER); - } else { - return this.getToken(TSqlParser.FILTER, i); - } -}; - - -Create_security_policyContext.prototype.BLOCK = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BLOCK); - } else { - return this.getToken(TSqlParser.BLOCK, i); - } -}; - - -Create_security_policyContext.prototype.INSERT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.INSERT); - } else { - return this.getToken(TSqlParser.INSERT, i); - } -}; - - -Create_security_policyContext.prototype.UPDATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.UPDATE); - } else { - return this.getToken(TSqlParser.UPDATE, i); - } -}; - - -Create_security_policyContext.prototype.DELETE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DELETE); - } else { - return this.getToken(TSqlParser.DELETE, i); - } -}; - - -Create_security_policyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_security_policy(this); - } -}; - -Create_security_policyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_security_policy(this); - } -}; - -Create_security_policyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_security_policy(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_security_policyContext = Create_security_policyContext; - -TSqlParser.prototype.create_security_policy = function() { - - var localctx = new Create_security_policyContext(this, this._ctx, this.state); - this.enterRule(localctx, 364, TSqlParser.RULE_create_security_policy); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4328; - this.match(TSqlParser.CREATE); - this.state = 4329; - this.match(TSqlParser.SECURITY); - this.state = 4330; - this.match(TSqlParser.POLICY); - this.state = 4334; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,467,this._ctx); - if(la_===1) { - this.state = 4331; - localctx.schema_name = this.id(); - this.state = 4332; - this.match(TSqlParser.DOT); - - } - this.state = 4336; - localctx.security_policy_name = this.id(); - this.state = 4377; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 4338; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4337; - this.match(TSqlParser.COMMA); - } - - this.state = 4340; - this.match(TSqlParser.ADD); - this.state = 4342; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.BLOCK || _la===TSqlParser.FILTER) { - this.state = 4341; - _la = this._input.LA(1); - if(!(_la===TSqlParser.BLOCK || _la===TSqlParser.FILTER)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 4344; - this.match(TSqlParser.PREDICATE); - this.state = 4345; - localctx.tvf_schema_name = this.id(); - this.state = 4346; - this.match(TSqlParser.DOT); - this.state = 4347; - localctx.security_predicate_function_name = this.id(); - this.state = 4348; - this.match(TSqlParser.LR_BRACKET); - this.state = 4353; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 4350; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4349; - this.match(TSqlParser.COMMA); - } - - this.state = 4352; - localctx.column_name_or_arguments = this.id(); - this.state = 4355; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 4357; - this.match(TSqlParser.RR_BRACKET); - this.state = 4358; - this.match(TSqlParser.ON); - this.state = 4359; - localctx.table_schema_name = this.id(); - this.state = 4360; - this.match(TSqlParser.DOT); - this.state = 4361; - localctx.name = this.id(); - this.state = 4374; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,475,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 4372; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,474,this._ctx); - switch(la_) { - case 1: - this.state = 4363; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4362; - this.match(TSqlParser.COMMA); - } - - this.state = 4365; - this.match(TSqlParser.AFTER); - this.state = 4366; - _la = this._input.LA(1); - if(!(_la===TSqlParser.INSERT || _la===TSqlParser.UPDATE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 2: - this.state = 4368; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4367; - this.match(TSqlParser.COMMA); - } - - this.state = 4370; - this.match(TSqlParser.BEFORE); - this.state = 4371; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DELETE || _la===TSqlParser.UPDATE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } - this.state = 4376; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,475,this._ctx); - } - - this.state = 4379; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.ADD || _la===TSqlParser.COMMA); - this.state = 4391; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,478,this._ctx); - if(la_===1) { - this.state = 4381; - this.match(TSqlParser.WITH); - this.state = 4382; - this.match(TSqlParser.LR_BRACKET); - this.state = 4383; - this.match(TSqlParser.STATE); - this.state = 4384; - this.match(TSqlParser.EQUAL); - this.state = 4385; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4388; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SCHEMABINDING) { - this.state = 4386; - this.match(TSqlParser.SCHEMABINDING); - this.state = 4387; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 4390; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 4396; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 4393; - this.match(TSqlParser.NOT); - this.state = 4394; - this.match(TSqlParser.FOR); - this.state = 4395; - this.match(TSqlParser.REPLICATION); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_sequenceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_sequence; - this.schema_name = null; // IdContext - this.sequence_name = null; // IdContext - this.sequnce_increment = null; // Token - return this; -} - -Alter_sequenceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_sequenceContext.prototype.constructor = Alter_sequenceContext; - -Alter_sequenceContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_sequenceContext.prototype.SEQUENCE = function() { - return this.getToken(TSqlParser.SEQUENCE, 0); -}; - -Alter_sequenceContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_sequenceContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Alter_sequenceContext.prototype.RESTART = function() { - return this.getToken(TSqlParser.RESTART, 0); -}; - -Alter_sequenceContext.prototype.INCREMENT = function() { - return this.getToken(TSqlParser.INCREMENT, 0); -}; - -Alter_sequenceContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Alter_sequenceContext.prototype.MINVALUE = function() { - return this.getToken(TSqlParser.MINVALUE, 0); -}; - -Alter_sequenceContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Alter_sequenceContext.prototype.NO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NO); - } else { - return this.getToken(TSqlParser.NO, i); - } -}; - - -Alter_sequenceContext.prototype.MAXVALUE = function() { - return this.getToken(TSqlParser.MAXVALUE, 0); -}; - -Alter_sequenceContext.prototype.CYCLE = function() { - return this.getToken(TSqlParser.CYCLE, 0); -}; - -Alter_sequenceContext.prototype.CACHE = function() { - return this.getToken(TSqlParser.CACHE, 0); -}; - -Alter_sequenceContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_sequenceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_sequence(this); - } -}; - -Alter_sequenceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_sequence(this); - } -}; - -Alter_sequenceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_sequence(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_sequenceContext = Alter_sequenceContext; - -TSqlParser.prototype.alter_sequence = function() { - - var localctx = new Alter_sequenceContext(this, this._ctx, this.state); - this.enterRule(localctx, 366, TSqlParser.RULE_alter_sequence); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4398; - this.match(TSqlParser.ALTER); - this.state = 4399; - this.match(TSqlParser.SEQUENCE); - this.state = 4403; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,480,this._ctx); - if(la_===1) { - this.state = 4400; - localctx.schema_name = this.id(); - this.state = 4401; - this.match(TSqlParser.DOT); - - } - this.state = 4405; - localctx.sequence_name = this.id(); - this.state = 4411; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.RESTART) { - this.state = 4406; - this.match(TSqlParser.RESTART); - this.state = 4409; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,481,this._ctx); - if(la_===1) { - this.state = 4407; - this.match(TSqlParser.WITH); - this.state = 4408; - this.match(TSqlParser.DECIMAL); - - } - } - - this.state = 4416; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INCREMENT) { - this.state = 4413; - this.match(TSqlParser.INCREMENT); - this.state = 4414; - this.match(TSqlParser.BY); - this.state = 4415; - localctx.sequnce_increment = this.match(TSqlParser.DECIMAL); - } - - this.state = 4422; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,484,this._ctx); - if(la_===1) { - this.state = 4418; - this.match(TSqlParser.MINVALUE); - this.state = 4419; - this.match(TSqlParser.DECIMAL); - - } else if(la_===2) { - this.state = 4420; - this.match(TSqlParser.NO); - this.state = 4421; - this.match(TSqlParser.MINVALUE); - - } - this.state = 4428; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,485,this._ctx); - if(la_===1) { - this.state = 4424; - this.match(TSqlParser.MAXVALUE); - this.state = 4425; - this.match(TSqlParser.DECIMAL); - - } else if(la_===2) { - this.state = 4426; - this.match(TSqlParser.NO); - this.state = 4427; - this.match(TSqlParser.MAXVALUE); - - } - this.state = 4433; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,486,this._ctx); - if(la_===1) { - this.state = 4430; - this.match(TSqlParser.CYCLE); - - } else if(la_===2) { - this.state = 4431; - this.match(TSqlParser.NO); - this.state = 4432; - this.match(TSqlParser.CYCLE); - - } - this.state = 4439; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,487,this._ctx); - if(la_===1) { - this.state = 4435; - this.match(TSqlParser.CACHE); - this.state = 4436; - this.match(TSqlParser.DECIMAL); - - } else if(la_===2) { - this.state = 4437; - this.match(TSqlParser.NO); - this.state = 4438; - this.match(TSqlParser.CACHE); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_sequenceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_sequence; - this.schema_name = null; // IdContext - this.sequence_name = null; // IdContext - return this; -} - -Create_sequenceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_sequenceContext.prototype.constructor = Create_sequenceContext; - -Create_sequenceContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_sequenceContext.prototype.SEQUENCE = function() { - return this.getToken(TSqlParser.SEQUENCE, 0); -}; - -Create_sequenceContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_sequenceContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Create_sequenceContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_sequenceContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -Create_sequenceContext.prototype.START = function() { - return this.getToken(TSqlParser.START, 0); -}; - -Create_sequenceContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_sequenceContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Create_sequenceContext.prototype.INCREMENT = function() { - return this.getToken(TSqlParser.INCREMENT, 0); -}; - -Create_sequenceContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Create_sequenceContext.prototype.MINVALUE = function() { - return this.getToken(TSqlParser.MINVALUE, 0); -}; - -Create_sequenceContext.prototype.NO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NO); - } else { - return this.getToken(TSqlParser.NO, i); - } -}; - - -Create_sequenceContext.prototype.MAXVALUE = function() { - return this.getToken(TSqlParser.MAXVALUE, 0); -}; - -Create_sequenceContext.prototype.CYCLE = function() { - return this.getToken(TSqlParser.CYCLE, 0); -}; - -Create_sequenceContext.prototype.CACHE = function() { - return this.getToken(TSqlParser.CACHE, 0); -}; - -Create_sequenceContext.prototype.MINUS = function() { - return this.getToken(TSqlParser.MINUS, 0); -}; - -Create_sequenceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_sequence(this); - } -}; - -Create_sequenceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_sequence(this); - } -}; - -Create_sequenceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_sequence(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_sequenceContext = Create_sequenceContext; - -TSqlParser.prototype.create_sequence = function() { - - var localctx = new Create_sequenceContext(this, this._ctx, this.state); - this.enterRule(localctx, 368, TSqlParser.RULE_create_sequence); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4441; - this.match(TSqlParser.CREATE); - this.state = 4442; - this.match(TSqlParser.SEQUENCE); - this.state = 4446; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,488,this._ctx); - if(la_===1) { - this.state = 4443; - localctx.schema_name = this.id(); - this.state = 4444; - this.match(TSqlParser.DOT); - - } - this.state = 4448; - localctx.sequence_name = this.id(); - this.state = 4451; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 4449; - this.match(TSqlParser.AS); - this.state = 4450; - this.data_type(); - } - - this.state = 4456; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,490,this._ctx); - if(la_===1) { - this.state = 4453; - this.match(TSqlParser.START); - this.state = 4454; - this.match(TSqlParser.WITH); - this.state = 4455; - this.match(TSqlParser.DECIMAL); - - } - this.state = 4464; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INCREMENT) { - this.state = 4458; - this.match(TSqlParser.INCREMENT); - this.state = 4459; - this.match(TSqlParser.BY); - this.state = 4461; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MINUS) { - this.state = 4460; - this.match(TSqlParser.MINUS); - } - - this.state = 4463; - this.match(TSqlParser.DECIMAL); - } - - this.state = 4472; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,494,this._ctx); - if(la_===1) { - this.state = 4466; - this.match(TSqlParser.MINVALUE); - this.state = 4468; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,493,this._ctx); - if(la_===1) { - this.state = 4467; - this.match(TSqlParser.DECIMAL); - - } - - } else if(la_===2) { - this.state = 4470; - this.match(TSqlParser.NO); - this.state = 4471; - this.match(TSqlParser.MINVALUE); - - } - this.state = 4480; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,496,this._ctx); - if(la_===1) { - this.state = 4474; - this.match(TSqlParser.MAXVALUE); - this.state = 4476; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,495,this._ctx); - if(la_===1) { - this.state = 4475; - this.match(TSqlParser.DECIMAL); - - } - - } else if(la_===2) { - this.state = 4478; - this.match(TSqlParser.NO); - this.state = 4479; - this.match(TSqlParser.MAXVALUE); - - } - this.state = 4485; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,497,this._ctx); - if(la_===1) { - this.state = 4482; - this.match(TSqlParser.CYCLE); - - } else if(la_===2) { - this.state = 4483; - this.match(TSqlParser.NO); - this.state = 4484; - this.match(TSqlParser.CYCLE); - - } - this.state = 4493; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,499,this._ctx); - if(la_===1) { - this.state = 4487; - this.match(TSqlParser.CACHE); - this.state = 4489; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,498,this._ctx); - if(la_===1) { - this.state = 4488; - this.match(TSqlParser.DECIMAL); - - } - - } else if(la_===2) { - this.state = 4491; - this.match(TSqlParser.NO); - this.state = 4492; - this.match(TSqlParser.CACHE); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_server_auditContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_server_audit; - this.audit_name = null; // IdContext - this.filepath = null; // Token - this.max_rollover_files = null; // Token - this.max_files = null; // Token - this.queue_delay = null; // Token - this.event_field_name = null; // IdContext - this.new_audit_name = null; // IdContext - return this; -} - -Alter_server_auditContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_server_auditContext.prototype.constructor = Alter_server_auditContext; - -Alter_server_auditContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_server_auditContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Alter_server_auditContext.prototype.AUDIT = function() { - return this.getToken(TSqlParser.AUDIT, 0); -}; - -Alter_server_auditContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_server_auditContext.prototype.REMOVE = function() { - return this.getToken(TSqlParser.REMOVE, 0); -}; - -Alter_server_auditContext.prototype.WHERE = function() { - return this.getToken(TSqlParser.WHERE, 0); -}; - -Alter_server_auditContext.prototype.MODIFY = function() { - return this.getToken(TSqlParser.MODIFY, 0); -}; - -Alter_server_auditContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Alter_server_auditContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_server_auditContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Alter_server_auditContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_server_auditContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Alter_server_auditContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Alter_server_auditContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Alter_server_auditContext.prototype.APPLICATION_LOG = function() { - return this.getToken(TSqlParser.APPLICATION_LOG, 0); -}; - -Alter_server_auditContext.prototype.SECURITY_LOG = function() { - return this.getToken(TSqlParser.SECURITY_LOG, 0); -}; - -Alter_server_auditContext.prototype.QUEUE_DELAY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.QUEUE_DELAY); - } else { - return this.getToken(TSqlParser.QUEUE_DELAY, i); - } -}; - - -Alter_server_auditContext.prototype.ON_FAILURE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON_FAILURE); - } else { - return this.getToken(TSqlParser.ON_FAILURE, i); - } -}; - - -Alter_server_auditContext.prototype.STATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STATE); - } else { - return this.getToken(TSqlParser.STATE, i); - } -}; - - -Alter_server_auditContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Alter_server_auditContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_server_auditContext.prototype.AND = function() { - return this.getToken(TSqlParser.AND, 0); -}; - -Alter_server_auditContext.prototype.OR = function() { - return this.getToken(TSqlParser.OR, 0); -}; - -Alter_server_auditContext.prototype.CONTINUE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CONTINUE); - } else { - return this.getToken(TSqlParser.CONTINUE, i); - } -}; - - -Alter_server_auditContext.prototype.SHUTDOWN = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SHUTDOWN); - } else { - return this.getToken(TSqlParser.SHUTDOWN, i); - } -}; - - -Alter_server_auditContext.prototype.FAIL_OPERATION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FAIL_OPERATION); - } else { - return this.getToken(TSqlParser.FAIL_OPERATION, i); - } -}; - - -Alter_server_auditContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Alter_server_auditContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Alter_server_auditContext.prototype.GREATER = function() { - return this.getToken(TSqlParser.GREATER, 0); -}; - -Alter_server_auditContext.prototype.LESS = function() { - return this.getToken(TSqlParser.LESS, 0); -}; - -Alter_server_auditContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_server_auditContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Alter_server_auditContext.prototype.EXCLAMATION = function() { - return this.getToken(TSqlParser.EXCLAMATION, 0); -}; - -Alter_server_auditContext.prototype.FILEPATH = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILEPATH); - } else { - return this.getToken(TSqlParser.FILEPATH, i); - } -}; - - -Alter_server_auditContext.prototype.MAXSIZE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAXSIZE); - } else { - return this.getToken(TSqlParser.MAXSIZE, i); - } -}; - - -Alter_server_auditContext.prototype.MAX_ROLLOVER_FILES = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAX_ROLLOVER_FILES); - } else { - return this.getToken(TSqlParser.MAX_ROLLOVER_FILES, i); - } -}; - - -Alter_server_auditContext.prototype.MAX_FILES = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAX_FILES); - } else { - return this.getToken(TSqlParser.MAX_FILES, i); - } -}; - - -Alter_server_auditContext.prototype.RESERVE_DISK_SPACE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RESERVE_DISK_SPACE); - } else { - return this.getToken(TSqlParser.RESERVE_DISK_SPACE, i); - } -}; - - -Alter_server_auditContext.prototype.UNLIMITED = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.UNLIMITED); - } else { - return this.getToken(TSqlParser.UNLIMITED, i); - } -}; - - -Alter_server_auditContext.prototype.MB = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MB); - } else { - return this.getToken(TSqlParser.MB, i); - } -}; - - -Alter_server_auditContext.prototype.GB = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.GB); - } else { - return this.getToken(TSqlParser.GB, i); - } -}; - - -Alter_server_auditContext.prototype.TB = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TB); - } else { - return this.getToken(TSqlParser.TB, i); - } -}; - - -Alter_server_auditContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_server_audit(this); - } -}; - -Alter_server_auditContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_server_audit(this); - } -}; - -Alter_server_auditContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_server_audit(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_server_auditContext = Alter_server_auditContext; - -TSqlParser.prototype.alter_server_audit = function() { - - var localctx = new Alter_server_auditContext(this, this._ctx, this.state); - this.enterRule(localctx, 370, TSqlParser.RULE_alter_server_audit); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4495; - this.match(TSqlParser.ALTER); - this.state = 4496; - this.match(TSqlParser.SERVER); - this.state = 4497; - this.match(TSqlParser.AUDIT); - this.state = 4498; - localctx.audit_name = this.id(); - this.state = 4630; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,524,this._ctx); - switch(la_) { - case 1: - this.state = 4546; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.TO) { - this.state = 4499; - this.match(TSqlParser.TO); - this.state = 4544; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FILE: - this.state = 4500; - this.match(TSqlParser.FILE); - - this.state = 4501; - this.match(TSqlParser.LR_BRACKET); - this.state = 4538; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.FILEPATH || ((((_la - 578)) & ~0x1f) == 0 && ((1 << (_la - 578)) & ((1 << (TSqlParser.MAX_FILES - 578)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 578)) | (1 << (TSqlParser.MAXSIZE - 578)))) !== 0) || _la===TSqlParser.RESERVE_DISK_SPACE || _la===TSqlParser.COMMA) { - this.state = 4536; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,506,this._ctx); - switch(la_) { - case 1: - this.state = 4503; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4502; - this.match(TSqlParser.COMMA); - } - - this.state = 4505; - this.match(TSqlParser.FILEPATH); - this.state = 4506; - this.match(TSqlParser.EQUAL); - this.state = 4507; - localctx.filepath = this.match(TSqlParser.STRING); - break; - - case 2: - this.state = 4509; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4508; - this.match(TSqlParser.COMMA); - } - - this.state = 4511; - this.match(TSqlParser.MAXSIZE); - this.state = 4512; - this.match(TSqlParser.EQUAL); - this.state = 4516; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 4513; - this.match(TSqlParser.DECIMAL); - this.state = 4514; - _la = this._input.LA(1); - if(!(_la===TSqlParser.GB || _la===TSqlParser.MB || _la===TSqlParser.TB)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.UNLIMITED: - this.state = 4515; - this.match(TSqlParser.UNLIMITED); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 3: - this.state = 4519; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4518; - this.match(TSqlParser.COMMA); - } - - this.state = 4521; - this.match(TSqlParser.MAX_ROLLOVER_FILES); - this.state = 4522; - this.match(TSqlParser.EQUAL); - this.state = 4523; - localctx.max_rollover_files = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.UNLIMITED || _la===TSqlParser.DECIMAL)) { - localctx.max_rollover_files = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 4: - this.state = 4525; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4524; - this.match(TSqlParser.COMMA); - } - - this.state = 4527; - this.match(TSqlParser.MAX_FILES); - this.state = 4528; - this.match(TSqlParser.EQUAL); - this.state = 4529; - localctx.max_files = this.match(TSqlParser.DECIMAL); - break; - - case 5: - this.state = 4531; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4530; - this.match(TSqlParser.COMMA); - } - - this.state = 4533; - this.match(TSqlParser.RESERVE_DISK_SPACE); - this.state = 4534; - this.match(TSqlParser.EQUAL); - this.state = 4535; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - this.state = 4540; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 4541; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.APPLICATION_LOG: - this.state = 4542; - this.match(TSqlParser.APPLICATION_LOG); - break; - case TSqlParser.SECURITY_LOG: - this.state = 4543; - this.match(TSqlParser.SECURITY_LOG); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - this.state = 4574; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,515,this._ctx); - if(la_===1) { - this.state = 4548; - this.match(TSqlParser.WITH); - this.state = 4549; - this.match(TSqlParser.LR_BRACKET); - this.state = 4570; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.ON_FAILURE || _la===TSqlParser.STATE || _la===TSqlParser.QUEUE_DELAY || _la===TSqlParser.COMMA) { - this.state = 4568; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,513,this._ctx); - switch(la_) { - case 1: - this.state = 4551; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4550; - this.match(TSqlParser.COMMA); - } - - this.state = 4553; - this.match(TSqlParser.QUEUE_DELAY); - this.state = 4554; - this.match(TSqlParser.EQUAL); - this.state = 4555; - localctx.queue_delay = this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 4557; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4556; - this.match(TSqlParser.COMMA); - } - - this.state = 4559; - this.match(TSqlParser.ON_FAILURE); - this.state = 4560; - this.match(TSqlParser.EQUAL); - this.state = 4561; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CONTINUE || _la===TSqlParser.SHUTDOWN || _la===TSqlParser.FAIL_OPERATION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 3: - this.state = 4563; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4562; - this.match(TSqlParser.COMMA); - } - - this.state = 4565; - this.match(TSqlParser.STATE); - this.state = 4566; - this.match(TSqlParser.EQUAL); - this.state = 4567; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - this.state = 4572; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 4573; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 4622; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WHERE) { - this.state = 4576; - this.match(TSqlParser.WHERE); - this.state = 4620; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,522,this._ctx); - switch(la_) { - case 1: - this.state = 4578; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4577; - this.match(TSqlParser.COMMA); - } - - this.state = 4581; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 4580; - this.match(TSqlParser.NOT); - } - - this.state = 4583; - localctx.event_field_name = this.id(); - this.state = 4595; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,518,this._ctx); - switch(la_) { - case 1: - this.state = 4584; - this.match(TSqlParser.EQUAL); - break; - - case 2: - this.state = 4585; - this.match(TSqlParser.LESS); - this.state = 4586; - this.match(TSqlParser.GREATER); - break; - - case 3: - this.state = 4587; - this.match(TSqlParser.EXCLAMATION); - this.state = 4588; - this.match(TSqlParser.EQUAL); - break; - - case 4: - this.state = 4589; - this.match(TSqlParser.GREATER); - break; - - case 5: - this.state = 4590; - this.match(TSqlParser.GREATER); - this.state = 4591; - this.match(TSqlParser.EQUAL); - break; - - case 6: - this.state = 4592; - this.match(TSqlParser.LESS); - break; - - case 7: - this.state = 4593; - this.match(TSqlParser.LESS); - this.state = 4594; - this.match(TSqlParser.EQUAL); - break; - - } - this.state = 4597; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 2: - this.state = 4600; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4599; - this.match(TSqlParser.COMMA); - } - - this.state = 4602; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AND || _la===TSqlParser.OR)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4604; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 4603; - this.match(TSqlParser.NOT); - } - - this.state = 4617; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,521,this._ctx); - switch(la_) { - case 1: - this.state = 4606; - this.match(TSqlParser.EQUAL); - break; - - case 2: - this.state = 4607; - this.match(TSqlParser.LESS); - this.state = 4608; - this.match(TSqlParser.GREATER); - break; - - case 3: - this.state = 4609; - this.match(TSqlParser.EXCLAMATION); - this.state = 4610; - this.match(TSqlParser.EQUAL); - break; - - case 4: - this.state = 4611; - this.match(TSqlParser.GREATER); - break; - - case 5: - this.state = 4612; - this.match(TSqlParser.GREATER); - this.state = 4613; - this.match(TSqlParser.EQUAL); - break; - - case 6: - this.state = 4614; - this.match(TSqlParser.LESS); - break; - - case 7: - this.state = 4615; - this.match(TSqlParser.LESS); - this.state = 4616; - this.match(TSqlParser.EQUAL); - break; - - } - this.state = 4619; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } - - break; - - case 2: - this.state = 4624; - this.match(TSqlParser.REMOVE); - this.state = 4625; - this.match(TSqlParser.WHERE); - break; - - case 3: - this.state = 4626; - this.match(TSqlParser.MODIFY); - this.state = 4627; - this.match(TSqlParser.NAME); - this.state = 4628; - this.match(TSqlParser.EQUAL); - this.state = 4629; - localctx.new_audit_name = this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_server_auditContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_server_audit; - this.audit_name = null; // IdContext - this.filepath = null; // Token - this.max_rollover_files = null; // Token - this.max_files = null; // Token - this.queue_delay = null; // Token - this.audit_guid = null; // IdContext - this.event_field_name = null; // IdContext - this.new_audit_name = null; // IdContext - return this; -} - -Create_server_auditContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_server_auditContext.prototype.constructor = Create_server_auditContext; - -Create_server_auditContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_server_auditContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Create_server_auditContext.prototype.AUDIT = function() { - return this.getToken(TSqlParser.AUDIT, 0); -}; - -Create_server_auditContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_server_auditContext.prototype.REMOVE = function() { - return this.getToken(TSqlParser.REMOVE, 0); -}; - -Create_server_auditContext.prototype.WHERE = function() { - return this.getToken(TSqlParser.WHERE, 0); -}; - -Create_server_auditContext.prototype.MODIFY = function() { - return this.getToken(TSqlParser.MODIFY, 0); -}; - -Create_server_auditContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Create_server_auditContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_server_auditContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Create_server_auditContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_server_auditContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Create_server_auditContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Create_server_auditContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Create_server_auditContext.prototype.APPLICATION_LOG = function() { - return this.getToken(TSqlParser.APPLICATION_LOG, 0); -}; - -Create_server_auditContext.prototype.SECURITY_LOG = function() { - return this.getToken(TSqlParser.SECURITY_LOG, 0); -}; - -Create_server_auditContext.prototype.QUEUE_DELAY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.QUEUE_DELAY); - } else { - return this.getToken(TSqlParser.QUEUE_DELAY, i); - } -}; - - -Create_server_auditContext.prototype.ON_FAILURE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON_FAILURE); - } else { - return this.getToken(TSqlParser.ON_FAILURE, i); - } -}; - - -Create_server_auditContext.prototype.STATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STATE); - } else { - return this.getToken(TSqlParser.STATE, i); - } -}; - - -Create_server_auditContext.prototype.AUDIT_GUID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AUDIT_GUID); - } else { - return this.getToken(TSqlParser.AUDIT_GUID, i); - } -}; - - -Create_server_auditContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Create_server_auditContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Create_server_auditContext.prototype.AND = function() { - return this.getToken(TSqlParser.AND, 0); -}; - -Create_server_auditContext.prototype.OR = function() { - return this.getToken(TSqlParser.OR, 0); -}; - -Create_server_auditContext.prototype.CONTINUE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CONTINUE); - } else { - return this.getToken(TSqlParser.CONTINUE, i); - } -}; - - -Create_server_auditContext.prototype.SHUTDOWN = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SHUTDOWN); - } else { - return this.getToken(TSqlParser.SHUTDOWN, i); - } -}; - - -Create_server_auditContext.prototype.FAIL_OPERATION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FAIL_OPERATION); - } else { - return this.getToken(TSqlParser.FAIL_OPERATION, i); - } -}; - - -Create_server_auditContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_server_auditContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Create_server_auditContext.prototype.GREATER = function() { - return this.getToken(TSqlParser.GREATER, 0); -}; - -Create_server_auditContext.prototype.LESS = function() { - return this.getToken(TSqlParser.LESS, 0); -}; - -Create_server_auditContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_server_auditContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Create_server_auditContext.prototype.EXCLAMATION = function() { - return this.getToken(TSqlParser.EXCLAMATION, 0); -}; - -Create_server_auditContext.prototype.FILEPATH = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILEPATH); - } else { - return this.getToken(TSqlParser.FILEPATH, i); - } -}; - - -Create_server_auditContext.prototype.MAXSIZE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAXSIZE); - } else { - return this.getToken(TSqlParser.MAXSIZE, i); - } -}; - - -Create_server_auditContext.prototype.MAX_ROLLOVER_FILES = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAX_ROLLOVER_FILES); - } else { - return this.getToken(TSqlParser.MAX_ROLLOVER_FILES, i); - } -}; - - -Create_server_auditContext.prototype.MAX_FILES = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAX_FILES); - } else { - return this.getToken(TSqlParser.MAX_FILES, i); - } -}; - - -Create_server_auditContext.prototype.RESERVE_DISK_SPACE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RESERVE_DISK_SPACE); - } else { - return this.getToken(TSqlParser.RESERVE_DISK_SPACE, i); - } -}; - - -Create_server_auditContext.prototype.UNLIMITED = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.UNLIMITED); - } else { - return this.getToken(TSqlParser.UNLIMITED, i); - } -}; - - -Create_server_auditContext.prototype.MB = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MB); - } else { - return this.getToken(TSqlParser.MB, i); - } -}; - - -Create_server_auditContext.prototype.GB = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.GB); - } else { - return this.getToken(TSqlParser.GB, i); - } -}; - - -Create_server_auditContext.prototype.TB = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TB); - } else { - return this.getToken(TSqlParser.TB, i); - } -}; - - -Create_server_auditContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_server_audit(this); - } -}; - -Create_server_auditContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_server_audit(this); - } -}; - -Create_server_auditContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_server_audit(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_server_auditContext = Create_server_auditContext; - -TSqlParser.prototype.create_server_audit = function() { - - var localctx = new Create_server_auditContext(this, this._ctx, this.state); - this.enterRule(localctx, 372, TSqlParser.RULE_create_server_audit); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4632; - this.match(TSqlParser.CREATE); - this.state = 4633; - this.match(TSqlParser.SERVER); - this.state = 4634; - this.match(TSqlParser.AUDIT); - this.state = 4635; - localctx.audit_name = this.id(); - this.state = 4773; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,550,this._ctx); - switch(la_) { - case 1: - this.state = 4683; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.TO) { - this.state = 4636; - this.match(TSqlParser.TO); - this.state = 4681; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FILE: - this.state = 4637; - this.match(TSqlParser.FILE); - - this.state = 4638; - this.match(TSqlParser.LR_BRACKET); - this.state = 4675; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.FILEPATH || ((((_la - 578)) & ~0x1f) == 0 && ((1 << (_la - 578)) & ((1 << (TSqlParser.MAX_FILES - 578)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 578)) | (1 << (TSqlParser.MAXSIZE - 578)))) !== 0) || _la===TSqlParser.RESERVE_DISK_SPACE || _la===TSqlParser.COMMA) { - this.state = 4673; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,531,this._ctx); - switch(la_) { - case 1: - this.state = 4640; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4639; - this.match(TSqlParser.COMMA); - } - - this.state = 4642; - this.match(TSqlParser.FILEPATH); - this.state = 4643; - this.match(TSqlParser.EQUAL); - this.state = 4644; - localctx.filepath = this.match(TSqlParser.STRING); - break; - - case 2: - this.state = 4646; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4645; - this.match(TSqlParser.COMMA); - } - - this.state = 4648; - this.match(TSqlParser.MAXSIZE); - this.state = 4649; - this.match(TSqlParser.EQUAL); - this.state = 4653; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 4650; - this.match(TSqlParser.DECIMAL); - this.state = 4651; - _la = this._input.LA(1); - if(!(_la===TSqlParser.GB || _la===TSqlParser.MB || _la===TSqlParser.TB)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.UNLIMITED: - this.state = 4652; - this.match(TSqlParser.UNLIMITED); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 3: - this.state = 4656; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4655; - this.match(TSqlParser.COMMA); - } - - this.state = 4658; - this.match(TSqlParser.MAX_ROLLOVER_FILES); - this.state = 4659; - this.match(TSqlParser.EQUAL); - this.state = 4660; - localctx.max_rollover_files = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.UNLIMITED || _la===TSqlParser.DECIMAL)) { - localctx.max_rollover_files = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 4: - this.state = 4662; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4661; - this.match(TSqlParser.COMMA); - } - - this.state = 4664; - this.match(TSqlParser.MAX_FILES); - this.state = 4665; - this.match(TSqlParser.EQUAL); - this.state = 4666; - localctx.max_files = this.match(TSqlParser.DECIMAL); - break; - - case 5: - this.state = 4668; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4667; - this.match(TSqlParser.COMMA); - } - - this.state = 4670; - this.match(TSqlParser.RESERVE_DISK_SPACE); - this.state = 4671; - this.match(TSqlParser.EQUAL); - this.state = 4672; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - this.state = 4677; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 4678; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.APPLICATION_LOG: - this.state = 4679; - this.match(TSqlParser.APPLICATION_LOG); - break; - case TSqlParser.SECURITY_LOG: - this.state = 4680; - this.match(TSqlParser.SECURITY_LOG); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - this.state = 4717; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,541,this._ctx); - if(la_===1) { - this.state = 4685; - this.match(TSqlParser.WITH); - this.state = 4686; - this.match(TSqlParser.LR_BRACKET); - this.state = 4713; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.ON_FAILURE || _la===TSqlParser.STATE || _la===TSqlParser.AUDIT_GUID || _la===TSqlParser.QUEUE_DELAY || _la===TSqlParser.COMMA) { - this.state = 4711; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,539,this._ctx); - switch(la_) { - case 1: - this.state = 4688; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4687; - this.match(TSqlParser.COMMA); - } - - this.state = 4690; - this.match(TSqlParser.QUEUE_DELAY); - this.state = 4691; - this.match(TSqlParser.EQUAL); - this.state = 4692; - localctx.queue_delay = this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 4694; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4693; - this.match(TSqlParser.COMMA); - } - - this.state = 4696; - this.match(TSqlParser.ON_FAILURE); - this.state = 4697; - this.match(TSqlParser.EQUAL); - this.state = 4698; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CONTINUE || _la===TSqlParser.SHUTDOWN || _la===TSqlParser.FAIL_OPERATION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 3: - this.state = 4700; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4699; - this.match(TSqlParser.COMMA); - } - - this.state = 4702; - this.match(TSqlParser.STATE); - this.state = 4703; - this.match(TSqlParser.EQUAL); - this.state = 4704; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 4: - this.state = 4706; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4705; - this.match(TSqlParser.COMMA); - } - - this.state = 4708; - this.match(TSqlParser.AUDIT_GUID); - this.state = 4709; - this.match(TSqlParser.EQUAL); - this.state = 4710; - localctx.audit_guid = this.id(); - break; - - } - this.state = 4715; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 4716; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 4765; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WHERE) { - this.state = 4719; - this.match(TSqlParser.WHERE); - this.state = 4763; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,548,this._ctx); - switch(la_) { - case 1: - this.state = 4721; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4720; - this.match(TSqlParser.COMMA); - } - - this.state = 4724; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 4723; - this.match(TSqlParser.NOT); - } - - this.state = 4726; - localctx.event_field_name = this.id(); - this.state = 4738; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,544,this._ctx); - switch(la_) { - case 1: - this.state = 4727; - this.match(TSqlParser.EQUAL); - break; - - case 2: - this.state = 4728; - this.match(TSqlParser.LESS); - this.state = 4729; - this.match(TSqlParser.GREATER); - break; - - case 3: - this.state = 4730; - this.match(TSqlParser.EXCLAMATION); - this.state = 4731; - this.match(TSqlParser.EQUAL); - break; - - case 4: - this.state = 4732; - this.match(TSqlParser.GREATER); - break; - - case 5: - this.state = 4733; - this.match(TSqlParser.GREATER); - this.state = 4734; - this.match(TSqlParser.EQUAL); - break; - - case 6: - this.state = 4735; - this.match(TSqlParser.LESS); - break; - - case 7: - this.state = 4736; - this.match(TSqlParser.LESS); - this.state = 4737; - this.match(TSqlParser.EQUAL); - break; - - } - this.state = 4740; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 2: - this.state = 4743; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4742; - this.match(TSqlParser.COMMA); - } - - this.state = 4745; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AND || _la===TSqlParser.OR)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4747; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 4746; - this.match(TSqlParser.NOT); - } - - this.state = 4760; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,547,this._ctx); - switch(la_) { - case 1: - this.state = 4749; - this.match(TSqlParser.EQUAL); - break; - - case 2: - this.state = 4750; - this.match(TSqlParser.LESS); - this.state = 4751; - this.match(TSqlParser.GREATER); - break; - - case 3: - this.state = 4752; - this.match(TSqlParser.EXCLAMATION); - this.state = 4753; - this.match(TSqlParser.EQUAL); - break; - - case 4: - this.state = 4754; - this.match(TSqlParser.GREATER); - break; - - case 5: - this.state = 4755; - this.match(TSqlParser.GREATER); - this.state = 4756; - this.match(TSqlParser.EQUAL); - break; - - case 6: - this.state = 4757; - this.match(TSqlParser.LESS); - break; - - case 7: - this.state = 4758; - this.match(TSqlParser.LESS); - this.state = 4759; - this.match(TSqlParser.EQUAL); - break; - - } - this.state = 4762; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } - - break; - - case 2: - this.state = 4767; - this.match(TSqlParser.REMOVE); - this.state = 4768; - this.match(TSqlParser.WHERE); - break; - - case 3: - this.state = 4769; - this.match(TSqlParser.MODIFY); - this.state = 4770; - this.match(TSqlParser.NAME); - this.state = 4771; - this.match(TSqlParser.EQUAL); - this.state = 4772; - localctx.new_audit_name = this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_server_audit_specificationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_server_audit_specification; - this.audit_specification_name = null; // IdContext - this.audit_name = null; // IdContext - this.audit_action_group_name = null; // IdContext - return this; -} - -Alter_server_audit_specificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_server_audit_specificationContext.prototype.constructor = Alter_server_audit_specificationContext; - -Alter_server_audit_specificationContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_server_audit_specificationContext.prototype.SERVER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SERVER); - } else { - return this.getToken(TSqlParser.SERVER, i); - } -}; - - -Alter_server_audit_specificationContext.prototype.AUDIT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AUDIT); - } else { - return this.getToken(TSqlParser.AUDIT, i); - } -}; - - -Alter_server_audit_specificationContext.prototype.SPECIFICATION = function() { - return this.getToken(TSqlParser.SPECIFICATION, 0); -}; - -Alter_server_audit_specificationContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_server_audit_specificationContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Alter_server_audit_specificationContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Alter_server_audit_specificationContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Alter_server_audit_specificationContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_server_audit_specificationContext.prototype.STATE = function() { - return this.getToken(TSqlParser.STATE, 0); -}; - -Alter_server_audit_specificationContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_server_audit_specificationContext.prototype.ADD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ADD); - } else { - return this.getToken(TSqlParser.ADD, i); - } -}; - - -Alter_server_audit_specificationContext.prototype.DROP = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DROP); - } else { - return this.getToken(TSqlParser.DROP, i); - } -}; - - -Alter_server_audit_specificationContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Alter_server_audit_specificationContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Alter_server_audit_specificationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_server_audit_specification(this); - } -}; - -Alter_server_audit_specificationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_server_audit_specification(this); - } -}; - -Alter_server_audit_specificationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_server_audit_specification(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_server_audit_specificationContext = Alter_server_audit_specificationContext; - -TSqlParser.prototype.alter_server_audit_specification = function() { - - var localctx = new Alter_server_audit_specificationContext(this, this._ctx, this.state); - this.enterRule(localctx, 374, TSqlParser.RULE_alter_server_audit_specification); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4775; - this.match(TSqlParser.ALTER); - this.state = 4776; - this.match(TSqlParser.SERVER); - this.state = 4777; - this.match(TSqlParser.AUDIT); - this.state = 4778; - this.match(TSqlParser.SPECIFICATION); - this.state = 4779; - localctx.audit_specification_name = this.id(); - this.state = 4784; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 4780; - this.match(TSqlParser.FOR); - this.state = 4781; - this.match(TSqlParser.SERVER); - this.state = 4782; - this.match(TSqlParser.AUDIT); - this.state = 4783; - localctx.audit_name = this.id(); - } - - this.state = 4793; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,552,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 4786; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4787; - this.match(TSqlParser.LR_BRACKET); - this.state = 4788; - localctx.audit_action_group_name = this.id(); - this.state = 4789; - this.match(TSqlParser.RR_BRACKET); - } - this.state = 4795; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,552,this._ctx); - } - - this.state = 4802; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,553,this._ctx); - if(la_===1) { - this.state = 4796; - this.match(TSqlParser.WITH); - this.state = 4797; - this.match(TSqlParser.LR_BRACKET); - this.state = 4798; - this.match(TSqlParser.STATE); - this.state = 4799; - this.match(TSqlParser.EQUAL); - this.state = 4800; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4801; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_server_audit_specificationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_server_audit_specification; - this.audit_specification_name = null; // IdContext - this.audit_name = null; // IdContext - this.audit_action_group_name = null; // IdContext - return this; -} - -Create_server_audit_specificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_server_audit_specificationContext.prototype.constructor = Create_server_audit_specificationContext; - -Create_server_audit_specificationContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_server_audit_specificationContext.prototype.SERVER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SERVER); - } else { - return this.getToken(TSqlParser.SERVER, i); - } -}; - - -Create_server_audit_specificationContext.prototype.AUDIT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AUDIT); - } else { - return this.getToken(TSqlParser.AUDIT, i); - } -}; - - -Create_server_audit_specificationContext.prototype.SPECIFICATION = function() { - return this.getToken(TSqlParser.SPECIFICATION, 0); -}; - -Create_server_audit_specificationContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_server_audit_specificationContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_server_audit_specificationContext.prototype.ADD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ADD); - } else { - return this.getToken(TSqlParser.ADD, i); - } -}; - - -Create_server_audit_specificationContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Create_server_audit_specificationContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Create_server_audit_specificationContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_server_audit_specificationContext.prototype.STATE = function() { - return this.getToken(TSqlParser.STATE, 0); -}; - -Create_server_audit_specificationContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_server_audit_specificationContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_server_audit_specificationContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Create_server_audit_specificationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_server_audit_specification(this); - } -}; - -Create_server_audit_specificationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_server_audit_specification(this); - } -}; - -Create_server_audit_specificationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_server_audit_specification(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_server_audit_specificationContext = Create_server_audit_specificationContext; - -TSqlParser.prototype.create_server_audit_specification = function() { - - var localctx = new Create_server_audit_specificationContext(this, this._ctx, this.state); - this.enterRule(localctx, 376, TSqlParser.RULE_create_server_audit_specification); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4804; - this.match(TSqlParser.CREATE); - this.state = 4805; - this.match(TSqlParser.SERVER); - this.state = 4806; - this.match(TSqlParser.AUDIT); - this.state = 4807; - this.match(TSqlParser.SPECIFICATION); - this.state = 4808; - localctx.audit_specification_name = this.id(); - this.state = 4813; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 4809; - this.match(TSqlParser.FOR); - this.state = 4810; - this.match(TSqlParser.SERVER); - this.state = 4811; - this.match(TSqlParser.AUDIT); - this.state = 4812; - localctx.audit_name = this.id(); - } - - this.state = 4822; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.ADD) { - this.state = 4815; - this.match(TSqlParser.ADD); - this.state = 4816; - this.match(TSqlParser.LR_BRACKET); - this.state = 4817; - localctx.audit_action_group_name = this.id(); - this.state = 4818; - this.match(TSqlParser.RR_BRACKET); - this.state = 4824; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 4831; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,556,this._ctx); - if(la_===1) { - this.state = 4825; - this.match(TSqlParser.WITH); - this.state = 4826; - this.match(TSqlParser.LR_BRACKET); - this.state = 4827; - this.match(TSqlParser.STATE); - this.state = 4828; - this.match(TSqlParser.EQUAL); - this.state = 4829; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4830; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_server_configurationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_server_configuration; - return this; -} - -Alter_server_configurationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_server_configurationContext.prototype.constructor = Alter_server_configurationContext; - -Alter_server_configurationContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_server_configurationContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Alter_server_configurationContext.prototype.CONFIGURATION = function() { - return this.getToken(TSqlParser.CONFIGURATION, 0); -}; - -Alter_server_configurationContext.prototype.SET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SET); - } else { - return this.getToken(TSqlParser.SET, i); - } -}; - - -Alter_server_configurationContext.prototype.PROCESS = function() { - return this.getToken(TSqlParser.PROCESS, 0); -}; - -Alter_server_configurationContext.prototype.AFFINITY = function() { - return this.getToken(TSqlParser.AFFINITY, 0); -}; - -Alter_server_configurationContext.prototype.DIAGNOSTICS = function() { - return this.getToken(TSqlParser.DIAGNOSTICS, 0); -}; - -Alter_server_configurationContext.prototype.LOG = function() { - return this.getToken(TSqlParser.LOG, 0); -}; - -Alter_server_configurationContext.prototype.FAILOVER = function() { - return this.getToken(TSqlParser.FAILOVER, 0); -}; - -Alter_server_configurationContext.prototype.CLUSTER = function() { - return this.getToken(TSqlParser.CLUSTER, 0); -}; - -Alter_server_configurationContext.prototype.PROPERTY = function() { - return this.getToken(TSqlParser.PROPERTY, 0); -}; - -Alter_server_configurationContext.prototype.HADR = function() { - return this.getToken(TSqlParser.HADR, 0); -}; - -Alter_server_configurationContext.prototype.CONTEXT = function() { - return this.getToken(TSqlParser.CONTEXT, 0); -}; - -Alter_server_configurationContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_server_configurationContext.prototype.BUFFER = function() { - return this.getToken(TSqlParser.BUFFER, 0); -}; - -Alter_server_configurationContext.prototype.POOL = function() { - return this.getToken(TSqlParser.POOL, 0); -}; - -Alter_server_configurationContext.prototype.EXTENSION = function() { - return this.getToken(TSqlParser.EXTENSION, 0); -}; - -Alter_server_configurationContext.prototype.SOFTNUMA = function() { - return this.getToken(TSqlParser.SOFTNUMA, 0); -}; - -Alter_server_configurationContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_server_configurationContext.prototype.LOCAL = function() { - return this.getToken(TSqlParser.LOCAL, 0); -}; - -Alter_server_configurationContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Alter_server_configurationContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Alter_server_configurationContext.prototype.CPU = function() { - return this.getToken(TSqlParser.CPU, 0); -}; - -Alter_server_configurationContext.prototype.NUMANODE = function() { - return this.getToken(TSqlParser.NUMANODE, 0); -}; - -Alter_server_configurationContext.prototype.PATH = function() { - return this.getToken(TSqlParser.PATH, 0); -}; - -Alter_server_configurationContext.prototype.MAX_SIZE = function() { - return this.getToken(TSqlParser.MAX_SIZE, 0); -}; - -Alter_server_configurationContext.prototype.MAX_FILES = function() { - return this.getToken(TSqlParser.MAX_FILES, 0); -}; - -Alter_server_configurationContext.prototype.VERBOSELOGGING = function() { - return this.getToken(TSqlParser.VERBOSELOGGING, 0); -}; - -Alter_server_configurationContext.prototype.SQLDUMPERFLAGS = function() { - return this.getToken(TSqlParser.SQLDUMPERFLAGS, 0); -}; - -Alter_server_configurationContext.prototype.SQLDUMPERPATH = function() { - return this.getToken(TSqlParser.SQLDUMPERPATH, 0); -}; - -Alter_server_configurationContext.prototype.SQLDUMPERTIMEOUT = function() { - return this.getToken(TSqlParser.SQLDUMPERTIMEOUT, 0); -}; - -Alter_server_configurationContext.prototype.FAILURECONDITIONLEVEL = function() { - return this.getToken(TSqlParser.FAILURECONDITIONLEVEL, 0); -}; - -Alter_server_configurationContext.prototype.HEALTHCHECKTIMEOUT = function() { - return this.getToken(TSqlParser.HEALTHCHECKTIMEOUT, 0); -}; - -Alter_server_configurationContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Alter_server_configurationContext.prototype.FILENAME = function() { - return this.getToken(TSqlParser.FILENAME, 0); -}; - -Alter_server_configurationContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_server_configurationContext.prototype.SIZE = function() { - return this.getToken(TSqlParser.SIZE, 0); -}; - -Alter_server_configurationContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Alter_server_configurationContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Alter_server_configurationContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Alter_server_configurationContext.prototype.KB = function() { - return this.getToken(TSqlParser.KB, 0); -}; - -Alter_server_configurationContext.prototype.MB = function() { - return this.getToken(TSqlParser.MB, 0); -}; - -Alter_server_configurationContext.prototype.GB = function() { - return this.getToken(TSqlParser.GB, 0); -}; - -Alter_server_configurationContext.prototype.AUTO = function() { - return this.getToken(TSqlParser.AUTO, 0); -}; - -Alter_server_configurationContext.prototype.TO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TO); - } else { - return this.getToken(TSqlParser.TO, i); - } -}; - - -Alter_server_configurationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_server_configuration(this); - } -}; - -Alter_server_configurationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_server_configuration(this); - } -}; - -Alter_server_configurationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_server_configuration(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_server_configurationContext = Alter_server_configurationContext; - -TSqlParser.prototype.alter_server_configuration = function() { - - var localctx = new Alter_server_configurationContext(this, this._ctx, this.state); - this.enterRule(localctx, 378, TSqlParser.RULE_alter_server_configuration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4833; - this.match(TSqlParser.ALTER); - this.state = 4834; - this.match(TSqlParser.SERVER); - this.state = 4835; - this.match(TSqlParser.CONFIGURATION); - this.state = 4836; - this.match(TSqlParser.SET); - - this.state = 4942; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PROCESS: - this.state = 4837; - this.match(TSqlParser.PROCESS); - this.state = 4838; - this.match(TSqlParser.AFFINITY); - this.state = 4874; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CPU: - this.state = 4839; - this.match(TSqlParser.CPU); - this.state = 4840; - this.match(TSqlParser.EQUAL); - this.state = 4856; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AUTO: - this.state = 4841; - this.match(TSqlParser.AUTO); - break; - case TSqlParser.DECIMAL: - case TSqlParser.COMMA: - this.state = 4852; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 4852; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,559,this._ctx); - switch(la_) { - case 1: - this.state = 4843; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4842; - this.match(TSqlParser.COMMA); - } - - this.state = 4845; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 4847; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4846; - this.match(TSqlParser.COMMA); - } - - this.state = 4849; - this.match(TSqlParser.DECIMAL); - this.state = 4850; - this.match(TSqlParser.TO); - this.state = 4851; - this.match(TSqlParser.DECIMAL); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 4854; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,560, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.NUMANODE: - this.state = 4858; - this.match(TSqlParser.NUMANODE); - this.state = 4859; - this.match(TSqlParser.EQUAL); - this.state = 4870; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 4870; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,564,this._ctx); - switch(la_) { - case 1: - this.state = 4861; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4860; - this.match(TSqlParser.COMMA); - } - - this.state = 4863; - this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.state = 4865; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4864; - this.match(TSqlParser.COMMA); - } - - this.state = 4867; - this.match(TSqlParser.DECIMAL); - this.state = 4868; - this.match(TSqlParser.TO); - this.state = 4869; - this.match(TSqlParser.DECIMAL); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 4872; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,565, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.DIAGNOSTICS: - this.state = 4876; - this.match(TSqlParser.DIAGNOSTICS); - this.state = 4877; - this.match(TSqlParser.LOG); - this.state = 4893; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ON: - this.state = 4878; - this.match(TSqlParser.ON); - break; - case TSqlParser.OFF: - this.state = 4879; - this.match(TSqlParser.OFF); - break; - case TSqlParser.PATH: - this.state = 4880; - this.match(TSqlParser.PATH); - this.state = 4881; - this.match(TSqlParser.EQUAL); - this.state = 4882; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DEFAULT || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.MAX_SIZE: - this.state = 4883; - this.match(TSqlParser.MAX_SIZE); - this.state = 4884; - this.match(TSqlParser.EQUAL); - this.state = 4888; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 4885; - this.match(TSqlParser.DECIMAL); - this.state = 4886; - this.match(TSqlParser.MB); - break; - case TSqlParser.DEFAULT: - this.state = 4887; - this.match(TSqlParser.DEFAULT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.MAX_FILES: - this.state = 4890; - this.match(TSqlParser.MAX_FILES); - this.state = 4891; - this.match(TSqlParser.EQUAL); - this.state = 4892; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DEFAULT || _la===TSqlParser.DECIMAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.FAILOVER: - this.state = 4895; - this.match(TSqlParser.FAILOVER); - this.state = 4896; - this.match(TSqlParser.CLUSTER); - this.state = 4897; - this.match(TSqlParser.PROPERTY); - this.state = 4915; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.VERBOSELOGGING: - this.state = 4898; - this.match(TSqlParser.VERBOSELOGGING); - this.state = 4899; - this.match(TSqlParser.EQUAL); - this.state = 4900; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DEFAULT || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.SQLDUMPERFLAGS: - this.state = 4901; - this.match(TSqlParser.SQLDUMPERFLAGS); - this.state = 4902; - this.match(TSqlParser.EQUAL); - this.state = 4903; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DEFAULT || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.SQLDUMPERPATH: - this.state = 4904; - this.match(TSqlParser.SQLDUMPERPATH); - this.state = 4905; - this.match(TSqlParser.EQUAL); - this.state = 4906; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DEFAULT || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.SQLDUMPERTIMEOUT: - this.state = 4907; - this.match(TSqlParser.SQLDUMPERTIMEOUT); - this.state = 4908; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DEFAULT || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.FAILURECONDITIONLEVEL: - this.state = 4909; - this.match(TSqlParser.FAILURECONDITIONLEVEL); - this.state = 4910; - this.match(TSqlParser.EQUAL); - this.state = 4911; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DEFAULT || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.HEALTHCHECKTIMEOUT: - this.state = 4912; - this.match(TSqlParser.HEALTHCHECKTIMEOUT); - this.state = 4913; - this.match(TSqlParser.EQUAL); - this.state = 4914; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DEFAULT || _la===TSqlParser.DECIMAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.HADR: - this.state = 4917; - this.match(TSqlParser.HADR); - this.state = 4918; - this.match(TSqlParser.CLUSTER); - this.state = 4919; - this.match(TSqlParser.CONTEXT); - this.state = 4920; - this.match(TSqlParser.EQUAL); - this.state = 4921; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.BUFFER: - this.state = 4922; - this.match(TSqlParser.BUFFER); - this.state = 4923; - this.match(TSqlParser.POOL); - this.state = 4924; - this.match(TSqlParser.EXTENSION); - this.state = 4937; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ON: - this.state = 4925; - this.match(TSqlParser.ON); - this.state = 4926; - this.match(TSqlParser.LR_BRACKET); - this.state = 4927; - this.match(TSqlParser.FILENAME); - this.state = 4928; - this.match(TSqlParser.EQUAL); - this.state = 4929; - this.match(TSqlParser.STRING); - this.state = 4930; - this.match(TSqlParser.COMMA); - this.state = 4931; - this.match(TSqlParser.SIZE); - this.state = 4932; - this.match(TSqlParser.EQUAL); - this.state = 4933; - this.match(TSqlParser.DECIMAL); - this.state = 4934; - _la = this._input.LA(1); - if(!(_la===TSqlParser.GB || _la===TSqlParser.KB || _la===TSqlParser.MB)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4935; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.OFF: - this.state = 4936; - this.match(TSqlParser.OFF); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.SET: - this.state = 4939; - this.match(TSqlParser.SET); - this.state = 4940; - this.match(TSqlParser.SOFTNUMA); - this.state = 4941; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_server_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_server_role; - this.server_role_name = null; // IdContext - this.server_principal = null; // IdContext - this.new_server_role_name = null; // IdContext - return this; -} - -Alter_server_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_server_roleContext.prototype.constructor = Alter_server_roleContext; - -Alter_server_roleContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_server_roleContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Alter_server_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Alter_server_roleContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_server_roleContext.prototype.MEMBER = function() { - return this.getToken(TSqlParser.MEMBER, 0); -}; - -Alter_server_roleContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_server_roleContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Alter_server_roleContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_server_roleContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_server_roleContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_server_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_server_role(this); - } -}; - -Alter_server_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_server_role(this); - } -}; - -Alter_server_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_server_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_server_roleContext = Alter_server_roleContext; - -TSqlParser.prototype.alter_server_role = function() { - - var localctx = new Alter_server_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 380, TSqlParser.RULE_alter_server_role); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4944; - this.match(TSqlParser.ALTER); - this.state = 4945; - this.match(TSqlParser.SERVER); - this.state = 4946; - this.match(TSqlParser.ROLE); - this.state = 4947; - localctx.server_role_name = this.id(); - this.state = 4955; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ADD: - case TSqlParser.DROP: - this.state = 4948; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4949; - this.match(TSqlParser.MEMBER); - this.state = 4950; - localctx.server_principal = this.id(); - break; - case TSqlParser.WITH: - this.state = 4951; - this.match(TSqlParser.WITH); - this.state = 4952; - this.match(TSqlParser.NAME); - this.state = 4953; - this.match(TSqlParser.EQUAL); - this.state = 4954; - localctx.new_server_role_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_server_roleContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_server_role; - this.server_role = null; // IdContext - this.server_principal = null; // IdContext - return this; -} - -Create_server_roleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_server_roleContext.prototype.constructor = Create_server_roleContext; - -Create_server_roleContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_server_roleContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Create_server_roleContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Create_server_roleContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_server_roleContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_server_roleContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_server_role(this); - } -}; - -Create_server_roleContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_server_role(this); - } -}; - -Create_server_roleContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_server_role(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_server_roleContext = Create_server_roleContext; - -TSqlParser.prototype.create_server_role = function() { - - var localctx = new Create_server_roleContext(this, this._ctx, this.state); - this.enterRule(localctx, 382, TSqlParser.RULE_create_server_role); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4957; - this.match(TSqlParser.CREATE); - this.state = 4958; - this.match(TSqlParser.SERVER); - this.state = 4959; - this.match(TSqlParser.ROLE); - this.state = 4960; - localctx.server_role = this.id(); - this.state = 4963; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 4961; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4962; - localctx.server_principal = this.id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_server_role_pdwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_server_role_pdw; - this.server_role_name = null; // IdContext - this.login = null; // IdContext - return this; -} - -Alter_server_role_pdwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_server_role_pdwContext.prototype.constructor = Alter_server_role_pdwContext; - -Alter_server_role_pdwContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_server_role_pdwContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Alter_server_role_pdwContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Alter_server_role_pdwContext.prototype.MEMBER = function() { - return this.getToken(TSqlParser.MEMBER, 0); -}; - -Alter_server_role_pdwContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_server_role_pdwContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_server_role_pdwContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_server_role_pdwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_server_role_pdw(this); - } -}; - -Alter_server_role_pdwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_server_role_pdw(this); - } -}; - -Alter_server_role_pdwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_server_role_pdw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_server_role_pdwContext = Alter_server_role_pdwContext; - -TSqlParser.prototype.alter_server_role_pdw = function() { - - var localctx = new Alter_server_role_pdwContext(this, this._ctx, this.state); - this.enterRule(localctx, 384, TSqlParser.RULE_alter_server_role_pdw); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4965; - this.match(TSqlParser.ALTER); - this.state = 4966; - this.match(TSqlParser.SERVER); - this.state = 4967; - this.match(TSqlParser.ROLE); - this.state = 4968; - localctx.server_role_name = this.id(); - this.state = 4969; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4970; - this.match(TSqlParser.MEMBER); - this.state = 4971; - localctx.login = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_serviceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_service; - this.modified_service_name = null; // IdContext - this.schema_name = null; // IdContext - this.queue_name = null; // IdContext - this.modified_contract_name = null; // IdContext - return this; -} - -Alter_serviceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_serviceContext.prototype.constructor = Alter_serviceContext; - -Alter_serviceContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_serviceContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Alter_serviceContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_serviceContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Alter_serviceContext.prototype.QUEUE = function() { - return this.getToken(TSqlParser.QUEUE, 0); -}; - -Alter_serviceContext.prototype.ADD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ADD); - } else { - return this.getToken(TSqlParser.ADD, i); - } -}; - - -Alter_serviceContext.prototype.DROP = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DROP); - } else { - return this.getToken(TSqlParser.DROP, i); - } -}; - - -Alter_serviceContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Alter_serviceContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_serviceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_service(this); - } -}; - -Alter_serviceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_service(this); - } -}; - -Alter_serviceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_service(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_serviceContext = Alter_serviceContext; - -TSqlParser.prototype.alter_service = function() { - - var localctx = new Alter_serviceContext(this, this._ctx, this.state); - this.enterRule(localctx, 386, TSqlParser.RULE_alter_service); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4973; - this.match(TSqlParser.ALTER); - this.state = 4974; - this.match(TSqlParser.SERVICE); - this.state = 4975; - localctx.modified_service_name = this.id(); - this.state = 4983; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ON) { - this.state = 4976; - this.match(TSqlParser.ON); - this.state = 4977; - this.match(TSqlParser.QUEUE); - - this.state = 4978; - localctx.schema_name = this.id(); - this.state = 4979; - this.match(TSqlParser.DOT); - this.state = 4981; - localctx.queue_name = this.id(); - } - - this.state = 4992; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,576,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 4986; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 4985; - this.match(TSqlParser.COMMA); - } - - this.state = 4988; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 4989; - localctx.modified_contract_name = this.id(); - } - this.state = 4994; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,576,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_serviceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_service; - this.create_service_name = null; // IdContext - this.owner_name = null; // IdContext - this.schema_name = null; // IdContext - this.queue_name = null; // IdContext - return this; -} - -Create_serviceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_serviceContext.prototype.constructor = Create_serviceContext; - -Create_serviceContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_serviceContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Create_serviceContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_serviceContext.prototype.QUEUE = function() { - return this.getToken(TSqlParser.QUEUE, 0); -}; - -Create_serviceContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_serviceContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_serviceContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Create_serviceContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_serviceContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_serviceContext.prototype.DEFAULT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT); - } else { - return this.getToken(TSqlParser.DEFAULT, i); - } -}; - - -Create_serviceContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_serviceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_service(this); - } -}; - -Create_serviceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_service(this); - } -}; - -Create_serviceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_service(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_serviceContext = Create_serviceContext; - -TSqlParser.prototype.create_service = function() { - - var localctx = new Create_serviceContext(this, this._ctx, this.state); - this.enterRule(localctx, 388, TSqlParser.RULE_create_service); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 4995; - this.match(TSqlParser.CREATE); - this.state = 4996; - this.match(TSqlParser.SERVICE); - this.state = 4997; - localctx.create_service_name = this.id(); - this.state = 5000; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 4998; - this.match(TSqlParser.AUTHORIZATION); - this.state = 4999; - localctx.owner_name = this.id(); - } - - this.state = 5002; - this.match(TSqlParser.ON); - this.state = 5003; - this.match(TSqlParser.QUEUE); - this.state = 5007; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,578,this._ctx); - if(la_===1) { - this.state = 5004; - localctx.schema_name = this.id(); - this.state = 5005; - this.match(TSqlParser.DOT); - - } - this.state = 5009; - localctx.queue_name = this.id(); - this.state = 5023; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,582,this._ctx); - if(la_===1) { - this.state = 5010; - this.match(TSqlParser.LR_BRACKET); - this.state = 5018; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 5012; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5011; - this.match(TSqlParser.COMMA); - } - - this.state = 5016; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 5014; - this.id(); - break; - case TSqlParser.DEFAULT: - this.state = 5015; - this.match(TSqlParser.DEFAULT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5020; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || _la===TSqlParser.DEFAULT || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 5022; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_service_master_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_service_master_key; - this.acold_account_name = null; // Token - this.old_password = null; // Token - this.new_account_name = null; // Token - this.new_password = null; // Token - return this; -} - -Alter_service_master_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_service_master_keyContext.prototype.constructor = Alter_service_master_keyContext; - -Alter_service_master_keyContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_service_master_keyContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Alter_service_master_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Alter_service_master_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Alter_service_master_keyContext.prototype.REGENERATE = function() { - return this.getToken(TSqlParser.REGENERATE, 0); -}; - -Alter_service_master_keyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_service_master_keyContext.prototype.FORCE = function() { - return this.getToken(TSqlParser.FORCE, 0); -}; - -Alter_service_master_keyContext.prototype.OLD_ACCOUNT = function() { - return this.getToken(TSqlParser.OLD_ACCOUNT, 0); -}; - -Alter_service_master_keyContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_service_master_keyContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Alter_service_master_keyContext.prototype.OLD_PASSWORD = function() { - return this.getToken(TSqlParser.OLD_PASSWORD, 0); -}; - -Alter_service_master_keyContext.prototype.NEW_ACCOUNT = function() { - return this.getToken(TSqlParser.NEW_ACCOUNT, 0); -}; - -Alter_service_master_keyContext.prototype.NEW_PASSWORD = function() { - return this.getToken(TSqlParser.NEW_PASSWORD, 0); -}; - -Alter_service_master_keyContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_service_master_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_service_master_key(this); - } -}; - -Alter_service_master_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_service_master_key(this); - } -}; - -Alter_service_master_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_service_master_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_service_master_keyContext = Alter_service_master_keyContext; - -TSqlParser.prototype.alter_service_master_key = function() { - - var localctx = new Alter_service_master_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 390, TSqlParser.RULE_alter_service_master_key); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5025; - this.match(TSqlParser.ALTER); - this.state = 5026; - this.match(TSqlParser.SERVICE); - this.state = 5027; - this.match(TSqlParser.MASTER); - this.state = 5028; - this.match(TSqlParser.KEY); - this.state = 5050; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.REGENERATE: - case TSqlParser.FORCE: - this.state = 5030; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FORCE) { - this.state = 5029; - this.match(TSqlParser.FORCE); - } - - this.state = 5032; - this.match(TSqlParser.REGENERATE); - break; - case TSqlParser.WITH: - this.state = 5033; - this.match(TSqlParser.WITH); - this.state = 5048; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,584,this._ctx); - if(la_===1) { - this.state = 5034; - this.match(TSqlParser.OLD_ACCOUNT); - this.state = 5035; - this.match(TSqlParser.EQUAL); - this.state = 5036; - localctx.acold_account_name = this.match(TSqlParser.STRING); - this.state = 5037; - this.match(TSqlParser.COMMA); - this.state = 5038; - this.match(TSqlParser.OLD_PASSWORD); - this.state = 5039; - this.match(TSqlParser.EQUAL); - this.state = 5040; - localctx.old_password = this.match(TSqlParser.STRING); - - } else if(la_===2) { - this.state = 5041; - this.match(TSqlParser.NEW_ACCOUNT); - this.state = 5042; - this.match(TSqlParser.EQUAL); - this.state = 5043; - localctx.new_account_name = this.match(TSqlParser.STRING); - this.state = 5044; - this.match(TSqlParser.COMMA); - this.state = 5045; - this.match(TSqlParser.NEW_PASSWORD); - this.state = 5046; - this.match(TSqlParser.EQUAL); - this.state = 5047; - localctx.new_password = this.match(TSqlParser.STRING); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_symmetric_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_symmetric_key; - this.key_name = null; // IdContext - this.certificate_name = null; // IdContext - this.password = null; // Token - this.symmetric_key_name = null; // IdContext - this.Asym_key_name = null; // IdContext - return this; -} - -Alter_symmetric_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_symmetric_keyContext.prototype.constructor = Alter_symmetric_keyContext; - -Alter_symmetric_keyContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_symmetric_keyContext.prototype.SYMMETRIC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SYMMETRIC); - } else { - return this.getToken(TSqlParser.SYMMETRIC, i); - } -}; - - -Alter_symmetric_keyContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Alter_symmetric_keyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_symmetric_keyContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Alter_symmetric_keyContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Alter_symmetric_keyContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_symmetric_keyContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_symmetric_keyContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Alter_symmetric_keyContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Alter_symmetric_keyContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_symmetric_keyContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Alter_symmetric_keyContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Alter_symmetric_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_symmetric_key(this); - } -}; - -Alter_symmetric_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_symmetric_key(this); - } -}; - -Alter_symmetric_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_symmetric_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_symmetric_keyContext = Alter_symmetric_keyContext; - -TSqlParser.prototype.alter_symmetric_key = function() { - - var localctx = new Alter_symmetric_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 392, TSqlParser.RULE_alter_symmetric_key); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5052; - this.match(TSqlParser.ALTER); - this.state = 5053; - this.match(TSqlParser.SYMMETRIC); - this.state = 5054; - this.match(TSqlParser.KEY); - this.state = 5055; - localctx.key_name = this.id(); - - this.state = 5056; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ADD || _la===TSqlParser.DROP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5057; - this.match(TSqlParser.ENCRYPTION); - this.state = 5058; - this.match(TSqlParser.BY); - this.state = 5070; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CERTIFICATE: - this.state = 5059; - this.match(TSqlParser.CERTIFICATE); - this.state = 5060; - localctx.certificate_name = this.id(); - break; - case TSqlParser.PASSWORD: - this.state = 5061; - this.match(TSqlParser.PASSWORD); - this.state = 5062; - this.match(TSqlParser.EQUAL); - this.state = 5063; - localctx.password = this.match(TSqlParser.STRING); - break; - case TSqlParser.SYMMETRIC: - this.state = 5064; - this.match(TSqlParser.SYMMETRIC); - this.state = 5065; - this.match(TSqlParser.KEY); - this.state = 5066; - localctx.symmetric_key_name = this.id(); - break; - case TSqlParser.ASYMMETRIC: - this.state = 5067; - this.match(TSqlParser.ASYMMETRIC); - this.state = 5068; - this.match(TSqlParser.KEY); - this.state = 5069; - localctx.Asym_key_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_symmetric_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_symmetric_key; - this.key_name = null; // IdContext - this.owner_name = null; // IdContext - this.provider_name = null; // IdContext - this.key_pass_phrase = null; // Token - this.identity_phrase = null; // Token - this.provider_key_name = null; // Token - this.certificate_name = null; // IdContext - this.password = null; // Token - this.symmetric_key_name = null; // IdContext - this.asym_key_name = null; // IdContext - return this; -} - -Create_symmetric_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_symmetric_keyContext.prototype.constructor = Create_symmetric_keyContext; - -Create_symmetric_keyContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Create_symmetric_keyContext.prototype.SYMMETRIC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SYMMETRIC); - } else { - return this.getToken(TSqlParser.SYMMETRIC, i); - } -}; - - -Create_symmetric_keyContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Create_symmetric_keyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_symmetric_keyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_symmetric_keyContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_symmetric_keyContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_symmetric_keyContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Create_symmetric_keyContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Create_symmetric_keyContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Create_symmetric_keyContext.prototype.KEY_SOURCE = function() { - return this.getToken(TSqlParser.KEY_SOURCE, 0); -}; - -Create_symmetric_keyContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_symmetric_keyContext.prototype.ALGORITHM = function() { - return this.getToken(TSqlParser.ALGORITHM, 0); -}; - -Create_symmetric_keyContext.prototype.IDENTITY_VALUE = function() { - return this.getToken(TSqlParser.IDENTITY_VALUE, 0); -}; - -Create_symmetric_keyContext.prototype.PROVIDER_KEY_NAME = function() { - return this.getToken(TSqlParser.PROVIDER_KEY_NAME, 0); -}; - -Create_symmetric_keyContext.prototype.CREATION_DISPOSITION = function() { - return this.getToken(TSqlParser.CREATION_DISPOSITION, 0); -}; - -Create_symmetric_keyContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Create_symmetric_keyContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_symmetric_keyContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Create_symmetric_keyContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_symmetric_keyContext.prototype.DES = function() { - return this.getToken(TSqlParser.DES, 0); -}; - -Create_symmetric_keyContext.prototype.TRIPLE_DES = function() { - return this.getToken(TSqlParser.TRIPLE_DES, 0); -}; - -Create_symmetric_keyContext.prototype.TRIPLE_DES_3KEY = function() { - return this.getToken(TSqlParser.TRIPLE_DES_3KEY, 0); -}; - -Create_symmetric_keyContext.prototype.RC2 = function() { - return this.getToken(TSqlParser.RC2, 0); -}; - -Create_symmetric_keyContext.prototype.RC4 = function() { - return this.getToken(TSqlParser.RC4, 0); -}; - -Create_symmetric_keyContext.prototype.RC4_128 = function() { - return this.getToken(TSqlParser.RC4_128, 0); -}; - -Create_symmetric_keyContext.prototype.DESX = function() { - return this.getToken(TSqlParser.DESX, 0); -}; - -Create_symmetric_keyContext.prototype.AES_128 = function() { - return this.getToken(TSqlParser.AES_128, 0); -}; - -Create_symmetric_keyContext.prototype.AES_192 = function() { - return this.getToken(TSqlParser.AES_192, 0); -}; - -Create_symmetric_keyContext.prototype.AES_256 = function() { - return this.getToken(TSqlParser.AES_256, 0); -}; - -Create_symmetric_keyContext.prototype.CREATE_NEW = function() { - return this.getToken(TSqlParser.CREATE_NEW, 0); -}; - -Create_symmetric_keyContext.prototype.OPEN_EXISTING = function() { - return this.getToken(TSqlParser.OPEN_EXISTING, 0); -}; - -Create_symmetric_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_symmetric_key(this); - } -}; - -Create_symmetric_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_symmetric_key(this); - } -}; - -Create_symmetric_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_symmetric_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_symmetric_keyContext = Create_symmetric_keyContext; - -TSqlParser.prototype.create_symmetric_key = function() { - - var localctx = new Create_symmetric_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 394, TSqlParser.RULE_create_symmetric_key); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5072; - this.match(TSqlParser.ALTER); - this.state = 5073; - this.match(TSqlParser.SYMMETRIC); - this.state = 5074; - this.match(TSqlParser.KEY); - this.state = 5075; - localctx.key_name = this.id(); - this.state = 5078; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 5076; - this.match(TSqlParser.AUTHORIZATION); - this.state = 5077; - localctx.owner_name = this.id(); - } - - this.state = 5083; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 5080; - this.match(TSqlParser.FROM); - this.state = 5081; - this.match(TSqlParser.PROVIDER); - this.state = 5082; - localctx.provider_name = this.id(); - } - - this.state = 5085; - this.match(TSqlParser.WITH); - this.state = 5118; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALGORITHM: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.KEY_SOURCE: - case TSqlParser.PROVIDER_KEY_NAME: - this.state = 5101; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.KEY_SOURCE: - this.state = 5086; - this.match(TSqlParser.KEY_SOURCE); - this.state = 5087; - this.match(TSqlParser.EQUAL); - this.state = 5088; - localctx.key_pass_phrase = this.match(TSqlParser.STRING); - break; - case TSqlParser.ALGORITHM: - this.state = 5089; - this.match(TSqlParser.ALGORITHM); - this.state = 5090; - this.match(TSqlParser.EQUAL); - this.state = 5091; - _la = this._input.LA(1); - if(!(((((_la - 386)) & ~0x1f) == 0 && ((1 << (_la - 386)) & ((1 << (TSqlParser.AES_128 - 386)) | (1 << (TSqlParser.AES_192 - 386)) | (1 << (TSqlParser.AES_256 - 386)))) !== 0) || _la===TSqlParser.DES || _la===TSqlParser.DESX || ((((_la - 663)) & ~0x1f) == 0 && ((1 << (_la - 663)) & ((1 << (TSqlParser.RC2 - 663)) | (1 << (TSqlParser.RC4 - 663)) | (1 << (TSqlParser.RC4_128 - 663)))) !== 0) || _la===TSqlParser.TRIPLE_DES || _la===TSqlParser.TRIPLE_DES_3KEY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.IDENTITY_VALUE: - this.state = 5092; - this.match(TSqlParser.IDENTITY_VALUE); - this.state = 5093; - this.match(TSqlParser.EQUAL); - this.state = 5094; - localctx.identity_phrase = this.match(TSqlParser.STRING); - break; - case TSqlParser.PROVIDER_KEY_NAME: - this.state = 5095; - this.match(TSqlParser.PROVIDER_KEY_NAME); - this.state = 5096; - this.match(TSqlParser.EQUAL); - this.state = 5097; - localctx.provider_key_name = this.match(TSqlParser.STRING); - break; - case TSqlParser.CREATION_DISPOSITION: - this.state = 5098; - this.match(TSqlParser.CREATION_DISPOSITION); - this.state = 5099; - this.match(TSqlParser.EQUAL); - this.state = 5100; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CREATE_NEW || _la===TSqlParser.OPEN_EXISTING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.ENCRYPTION: - this.state = 5103; - this.match(TSqlParser.ENCRYPTION); - this.state = 5104; - this.match(TSqlParser.BY); - this.state = 5116; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CERTIFICATE: - this.state = 5105; - this.match(TSqlParser.CERTIFICATE); - this.state = 5106; - localctx.certificate_name = this.id(); - break; - case TSqlParser.PASSWORD: - this.state = 5107; - this.match(TSqlParser.PASSWORD); - this.state = 5108; - this.match(TSqlParser.EQUAL); - this.state = 5109; - localctx.password = this.match(TSqlParser.STRING); - break; - case TSqlParser.SYMMETRIC: - this.state = 5110; - this.match(TSqlParser.SYMMETRIC); - this.state = 5111; - this.match(TSqlParser.KEY); - this.state = 5112; - localctx.symmetric_key_name = this.id(); - break; - case TSqlParser.ASYMMETRIC: - this.state = 5113; - this.match(TSqlParser.ASYMMETRIC); - this.state = 5114; - this.match(TSqlParser.KEY); - this.state = 5115; - localctx.asym_key_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_synonymContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_synonym; - this.schema_name_1 = null; // IdContext - this.synonym_name = null; // IdContext - this.server_name = null; // IdContext - this.database_name = null; // IdContext - this.schema_name_2 = null; // IdContext - this.object_name = null; // IdContext - this.database_or_schema2 = null; // IdContext - this.schema_id_2_or_object_name = null; // IdContext - return this; -} - -Create_synonymContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_synonymContext.prototype.constructor = Create_synonymContext; - -Create_synonymContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_synonymContext.prototype.SYNONYM = function() { - return this.getToken(TSqlParser.SYNONYM, 0); -}; - -Create_synonymContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_synonymContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_synonymContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Create_synonymContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_synonym(this); - } -}; - -Create_synonymContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_synonym(this); - } -}; - -Create_synonymContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_synonym(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_synonymContext = Create_synonymContext; - -TSqlParser.prototype.create_synonym = function() { - - var localctx = new Create_synonymContext(this, this._ctx, this.state); - this.enterRule(localctx, 396, TSqlParser.RULE_create_synonym); - try { - this.enterOuterAlt(localctx, 1); - this.state = 5120; - this.match(TSqlParser.CREATE); - this.state = 5121; - this.match(TSqlParser.SYNONYM); - this.state = 5125; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,592,this._ctx); - if(la_===1) { - this.state = 5122; - localctx.schema_name_1 = this.id(); - this.state = 5123; - this.match(TSqlParser.DOT); - - } - this.state = 5127; - localctx.synonym_name = this.id(); - this.state = 5128; - this.match(TSqlParser.FOR); - this.state = 5155; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,598,this._ctx); - switch(la_) { - case 1: - this.state = 5132; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,593,this._ctx); - if(la_===1) { - this.state = 5129; - localctx.server_name = this.id(); - this.state = 5130; - this.match(TSqlParser.DOT); - - } - this.state = 5137; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,594,this._ctx); - if(la_===1) { - this.state = 5134; - localctx.database_name = this.id(); - this.state = 5135; - this.match(TSqlParser.DOT); - - } - this.state = 5142; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,595,this._ctx); - if(la_===1) { - this.state = 5139; - localctx.schema_name_2 = this.id(); - this.state = 5140; - this.match(TSqlParser.DOT); - - } - this.state = 5144; - localctx.object_name = this.id(); - break; - - case 2: - this.state = 5148; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,596,this._ctx); - if(la_===1) { - this.state = 5145; - localctx.database_or_schema2 = this.id(); - this.state = 5146; - this.match(TSqlParser.DOT); - - } - this.state = 5153; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,597,this._ctx); - if(la_===1) { - this.state = 5150; - localctx.schema_id_2_or_object_name = this.id(); - this.state = 5151; - this.match(TSqlParser.DOT); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_userContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_user; - this.username = null; // IdContext - this.newusername = null; // IdContext - this.schema_name = null; // IdContext - this.loginame = null; // IdContext - this.lcid = null; // Token - this.language_name_or_alias = null; // IdContext - return this; -} - -Alter_userContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_userContext.prototype.constructor = Alter_userContext; - -Alter_userContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_userContext.prototype.USER = function() { - return this.getToken(TSqlParser.USER, 0); -}; - -Alter_userContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_userContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_userContext.prototype.NAME = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NAME); - } else { - return this.getToken(TSqlParser.NAME, i); - } -}; - - -Alter_userContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_userContext.prototype.DEFAULT_SCHEMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT_SCHEMA); - } else { - return this.getToken(TSqlParser.DEFAULT_SCHEMA, i); - } -}; - - -Alter_userContext.prototype.LOGIN = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOGIN); - } else { - return this.getToken(TSqlParser.LOGIN, i); - } -}; - - -Alter_userContext.prototype.PASSWORD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.PASSWORD); - } else { - return this.getToken(TSqlParser.PASSWORD, i); - } -}; - - -Alter_userContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Alter_userContext.prototype.DEFAULT_LANGUAGE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT_LANGUAGE); - } else { - return this.getToken(TSqlParser.DEFAULT_LANGUAGE, i); - } -}; - - -Alter_userContext.prototype.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - } else { - return this.getToken(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, i); - } -}; - - -Alter_userContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Alter_userContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Alter_userContext.prototype.NULL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NULL); - } else { - return this.getToken(TSqlParser.NULL, i); - } -}; - - -Alter_userContext.prototype.NONE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NONE); - } else { - return this.getToken(TSqlParser.NONE, i); - } -}; - - -Alter_userContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_userContext.prototype.OLD_PASSWORD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OLD_PASSWORD); - } else { - return this.getToken(TSqlParser.OLD_PASSWORD, i); - } -}; - - -Alter_userContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Alter_userContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_user(this); - } -}; - -Alter_userContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_user(this); - } -}; - -Alter_userContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_user(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_userContext = Alter_userContext; - -TSqlParser.prototype.alter_user = function() { - - var localctx = new Alter_userContext(this, this._ctx, this.state); - this.enterRule(localctx, 398, TSqlParser.RULE_alter_user); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5157; - this.match(TSqlParser.ALTER); - this.state = 5158; - this.match(TSqlParser.USER); - this.state = 5159; - localctx.username = this.id(); - this.state = 5160; - this.match(TSqlParser.WITH); - this.state = 5211; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 5211; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,608,this._ctx); - switch(la_) { - case 1: - this.state = 5162; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5161; - this.match(TSqlParser.COMMA); - } - - this.state = 5164; - this.match(TSqlParser.NAME); - this.state = 5165; - this.match(TSqlParser.EQUAL); - this.state = 5166; - localctx.newusername = this.id(); - break; - - case 2: - this.state = 5168; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5167; - this.match(TSqlParser.COMMA); - } - - this.state = 5170; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 5171; - this.match(TSqlParser.EQUAL); - this.state = 5174; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 5172; - localctx.schema_name = this.id(); - break; - case TSqlParser.NULL: - this.state = 5173; - this.match(TSqlParser.NULL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 3: - this.state = 5177; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5176; - this.match(TSqlParser.COMMA); - } - - this.state = 5179; - this.match(TSqlParser.LOGIN); - this.state = 5180; - this.match(TSqlParser.EQUAL); - this.state = 5181; - localctx.loginame = this.id(); - break; - - case 4: - this.state = 5183; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5182; - this.match(TSqlParser.COMMA); - } - - this.state = 5185; - this.match(TSqlParser.PASSWORD); - this.state = 5186; - this.match(TSqlParser.EQUAL); - this.state = 5187; - this.match(TSqlParser.STRING); - this.state = 5191; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 5188; - this.match(TSqlParser.OLD_PASSWORD); - this.state = 5189; - this.match(TSqlParser.EQUAL); - this.state = 5190; - this.match(TSqlParser.STRING); - this.state = 5193; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.OLD_PASSWORD); - break; - - case 5: - this.state = 5196; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5195; - this.match(TSqlParser.COMMA); - } - - this.state = 5198; - this.match(TSqlParser.DEFAULT_LANGUAGE); - this.state = 5199; - this.match(TSqlParser.EQUAL); - this.state = 5203; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NONE: - this.state = 5200; - this.match(TSqlParser.NONE); - break; - case TSqlParser.DECIMAL: - this.state = 5201; - localctx.lcid = this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 5202; - localctx.language_name_or_alias = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 6: - this.state = 5206; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5205; - this.match(TSqlParser.COMMA); - } - - this.state = 5208; - this.match(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - this.state = 5209; - this.match(TSqlParser.EQUAL); - this.state = 5210; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5213; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,609, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_userContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_user; - this.user_name = null; // IdContext - this.login_name = null; // IdContext - this.schema_name = null; // IdContext - this.windows_principal = null; // IdContext - this.language_name_or_alias = null; // IdContext - this.password = null; // Token - this.Azure_Active_Directory_principal = null; // IdContext - this.cert_name = null; // IdContext - this.asym_key_name = null; // IdContext - return this; -} - -Create_userContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_userContext.prototype.constructor = Create_userContext; - -Create_userContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_userContext.prototype.USER = function() { - return this.getToken(TSqlParser.USER, 0); -}; - -Create_userContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_userContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Create_userContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_userContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_userContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_userContext.prototype.DEFAULT_SCHEMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT_SCHEMA); - } else { - return this.getToken(TSqlParser.DEFAULT_SCHEMA, i); - } -}; - - -Create_userContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_userContext.prototype.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - } else { - return this.getToken(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, i); - } -}; - - -Create_userContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_userContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Create_userContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_userContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_userContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Create_userContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Create_userContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_userContext.prototype.DEFAULT_LANGUAGE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT_LANGUAGE); - } else { - return this.getToken(TSqlParser.DEFAULT_LANGUAGE, i); - } -}; - - -Create_userContext.prototype.SID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SID); - } else { - return this.getToken(TSqlParser.SID, i); - } -}; - - -Create_userContext.prototype.BINARY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BINARY); - } else { - return this.getToken(TSqlParser.BINARY, i); - } -}; - - -Create_userContext.prototype.NONE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NONE); - } else { - return this.getToken(TSqlParser.NONE, i); - } -}; - - -Create_userContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Create_userContext.prototype.WITHOUT = function() { - return this.getToken(TSqlParser.WITHOUT, 0); -}; - -Create_userContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Create_userContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Create_userContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Create_userContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_user(this); - } -}; - -Create_userContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_user(this); - } -}; - -Create_userContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_user(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_userContext = Create_userContext; - -TSqlParser.prototype.create_user = function() { - - var localctx = new Create_userContext(this, this._ctx, this.state); - this.enterRule(localctx, 400, TSqlParser.RULE_create_user); - var _la = 0; // Token type - try { - this.state = 5361; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,637,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 5215; - this.match(TSqlParser.CREATE); - this.state = 5216; - this.match(TSqlParser.USER); - this.state = 5217; - localctx.user_name = this.id(); - this.state = 5221; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR || _la===TSqlParser.FROM) { - this.state = 5218; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FOR || _la===TSqlParser.FROM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5219; - this.match(TSqlParser.LOGIN); - this.state = 5220; - localctx.login_name = this.id(); - } - - this.state = 5241; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,615,this._ctx); - if(la_===1) { - this.state = 5223; - this.match(TSqlParser.WITH); - this.state = 5238; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,614,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 5236; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,613,this._ctx); - switch(la_) { - case 1: - this.state = 5225; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5224; - this.match(TSqlParser.COMMA); - } - - this.state = 5227; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 5228; - this.match(TSqlParser.EQUAL); - this.state = 5229; - localctx.schema_name = this.id(); - break; - - case 2: - this.state = 5231; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5230; - this.match(TSqlParser.COMMA); - } - - this.state = 5233; - this.match(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - this.state = 5234; - this.match(TSqlParser.EQUAL); - this.state = 5235; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } - this.state = 5240; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,614,this._ctx); - } - - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 5243; - this.match(TSqlParser.CREATE); - this.state = 5244; - this.match(TSqlParser.USER); - this.state = 5325; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,631,this._ctx); - switch(la_) { - case 1: - this.state = 5245; - localctx.windows_principal = this.id(); - this.state = 5280; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,623,this._ctx); - if(la_===1) { - this.state = 5246; - this.match(TSqlParser.WITH); - this.state = 5277; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,622,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 5275; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,621,this._ctx); - switch(la_) { - case 1: - this.state = 5248; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5247; - this.match(TSqlParser.COMMA); - } - - this.state = 5250; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 5251; - this.match(TSqlParser.EQUAL); - this.state = 5252; - localctx.schema_name = this.id(); - break; - - case 2: - this.state = 5254; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5253; - this.match(TSqlParser.COMMA); - } - - this.state = 5256; - this.match(TSqlParser.DEFAULT_LANGUAGE); - this.state = 5257; - this.match(TSqlParser.EQUAL); - this.state = 5261; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NONE: - this.state = 5258; - this.match(TSqlParser.NONE); - break; - case TSqlParser.DECIMAL: - this.state = 5259; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 5260; - localctx.language_name_or_alias = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 3: - this.state = 5264; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5263; - this.match(TSqlParser.COMMA); - } - - this.state = 5266; - this.match(TSqlParser.SID); - this.state = 5267; - this.match(TSqlParser.EQUAL); - this.state = 5268; - this.match(TSqlParser.BINARY); - break; - - case 4: - this.state = 5270; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5269; - this.match(TSqlParser.COMMA); - } - - this.state = 5272; - this.match(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - this.state = 5273; - this.match(TSqlParser.EQUAL); - this.state = 5274; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } - this.state = 5279; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,622,this._ctx); - } - - - } - break; - - case 2: - this.state = 5282; - localctx.user_name = this.id(); - this.state = 5283; - this.match(TSqlParser.WITH); - this.state = 5284; - this.match(TSqlParser.PASSWORD); - this.state = 5285; - this.match(TSqlParser.EQUAL); - this.state = 5286; - localctx.password = this.match(TSqlParser.STRING); - this.state = 5317; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,630,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 5315; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,629,this._ctx); - switch(la_) { - case 1: - this.state = 5288; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5287; - this.match(TSqlParser.COMMA); - } - - this.state = 5290; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 5291; - this.match(TSqlParser.EQUAL); - this.state = 5292; - localctx.schema_name = this.id(); - break; - - case 2: - this.state = 5294; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5293; - this.match(TSqlParser.COMMA); - } - - this.state = 5296; - this.match(TSqlParser.DEFAULT_LANGUAGE); - this.state = 5297; - this.match(TSqlParser.EQUAL); - this.state = 5301; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NONE: - this.state = 5298; - this.match(TSqlParser.NONE); - break; - case TSqlParser.DECIMAL: - this.state = 5299; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 5300; - localctx.language_name_or_alias = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 3: - this.state = 5304; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5303; - this.match(TSqlParser.COMMA); - } - - this.state = 5306; - this.match(TSqlParser.SID); - this.state = 5307; - this.match(TSqlParser.EQUAL); - this.state = 5308; - this.match(TSqlParser.BINARY); - break; - - case 4: - this.state = 5310; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5309; - this.match(TSqlParser.COMMA); - } - - this.state = 5312; - this.match(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - this.state = 5313; - this.match(TSqlParser.EQUAL); - this.state = 5314; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } - this.state = 5319; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,630,this._ctx); - } - - break; - - case 3: - this.state = 5320; - localctx.Azure_Active_Directory_principal = this.id(); - this.state = 5321; - this.match(TSqlParser.FROM); - this.state = 5322; - this.match(TSqlParser.EXTERNAL); - this.state = 5323; - this.match(TSqlParser.PROVIDER); - break; - - } - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 5327; - this.match(TSqlParser.CREATE); - this.state = 5328; - this.match(TSqlParser.USER); - this.state = 5329; - localctx.user_name = this.id(); - this.state = 5356; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,636,this._ctx); - switch(la_) { - case 1: - this.state = 5330; - this.match(TSqlParser.WITHOUT); - this.state = 5331; - this.match(TSqlParser.LOGIN); - this.state = 5346; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,635,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 5344; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,634,this._ctx); - switch(la_) { - case 1: - this.state = 5333; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5332; - this.match(TSqlParser.COMMA); - } - - this.state = 5335; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 5336; - this.match(TSqlParser.EQUAL); - this.state = 5337; - localctx.schema_name = this.id(); - break; - - case 2: - this.state = 5339; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5338; - this.match(TSqlParser.COMMA); - } - - this.state = 5341; - this.match(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - this.state = 5342; - this.match(TSqlParser.EQUAL); - this.state = 5343; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } - this.state = 5348; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,635,this._ctx); - } - - break; - - case 2: - this.state = 5349; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FOR || _la===TSqlParser.FROM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5350; - this.match(TSqlParser.CERTIFICATE); - this.state = 5351; - localctx.cert_name = this.id(); - break; - - case 3: - this.state = 5352; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FOR || _la===TSqlParser.FROM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5353; - this.match(TSqlParser.ASYMMETRIC); - this.state = 5354; - this.match(TSqlParser.KEY); - this.state = 5355; - localctx.asym_key_name = this.id(); - break; - - } - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 5358; - this.match(TSqlParser.CREATE); - this.state = 5359; - this.match(TSqlParser.USER); - this.state = 5360; - localctx.user_name = this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_user_azure_sql_dwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_user_azure_sql_dw; - this.user_name = null; // IdContext - this.login_name = null; // IdContext - this.schema_name = null; // IdContext - this.Azure_Active_Directory_principal = null; // IdContext - return this; -} - -Create_user_azure_sql_dwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_user_azure_sql_dwContext.prototype.constructor = Create_user_azure_sql_dwContext; - -Create_user_azure_sql_dwContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_user_azure_sql_dwContext.prototype.USER = function() { - return this.getToken(TSqlParser.USER, 0); -}; - -Create_user_azure_sql_dwContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_user_azure_sql_dwContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Create_user_azure_sql_dwContext.prototype.WITHOUT = function() { - return this.getToken(TSqlParser.WITHOUT, 0); -}; - -Create_user_azure_sql_dwContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_user_azure_sql_dwContext.prototype.DEFAULT_SCHEMA = function() { - return this.getToken(TSqlParser.DEFAULT_SCHEMA, 0); -}; - -Create_user_azure_sql_dwContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_user_azure_sql_dwContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_user_azure_sql_dwContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_user_azure_sql_dwContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Create_user_azure_sql_dwContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Create_user_azure_sql_dwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_user_azure_sql_dw(this); - } -}; - -Create_user_azure_sql_dwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_user_azure_sql_dw(this); - } -}; - -Create_user_azure_sql_dwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_user_azure_sql_dw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_user_azure_sql_dwContext = Create_user_azure_sql_dwContext; - -TSqlParser.prototype.create_user_azure_sql_dw = function() { - - var localctx = new Create_user_azure_sql_dwContext(this, this._ctx, this.state); - this.enterRule(localctx, 402, TSqlParser.RULE_create_user_azure_sql_dw); - var _la = 0; // Token type - try { - this.state = 5391; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,641,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 5363; - this.match(TSqlParser.CREATE); - this.state = 5364; - this.match(TSqlParser.USER); - this.state = 5365; - localctx.user_name = this.id(); - this.state = 5371; - this._errHandler.sync(this); - switch (this._input.LA(1)) { - case TSqlParser.FOR: - case TSqlParser.FROM: - this.state = 5366; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FOR || _la===TSqlParser.FROM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5367; - this.match(TSqlParser.LOGIN); - this.state = 5368; - localctx.login_name = this.id(); - break; - case TSqlParser.WITHOUT: - this.state = 5369; - this.match(TSqlParser.WITHOUT); - this.state = 5370; - this.match(TSqlParser.LOGIN); - break; - case TSqlParser.EOF: - case TSqlParser.ALTER: - case TSqlParser.BACKUP: - case TSqlParser.BEGIN: - case TSqlParser.BLOCKING_HIERARCHY: - case TSqlParser.BREAK: - case TSqlParser.CALLED: - case TSqlParser.CASE: - case TSqlParser.CLOSE: - case TSqlParser.COALESCE: - case TSqlParser.COMMIT: - case TSqlParser.CONTINUE: - case TSqlParser.CONVERT: - case TSqlParser.CREATE: - case TSqlParser.CURRENT_TIMESTAMP: - case TSqlParser.CURRENT_USER: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.DBCC: - case TSqlParser.DEALLOCATE: - case TSqlParser.DECLARE: - case TSqlParser.DEFAULT: - case TSqlParser.DELETE: - case TSqlParser.DROP: - case TSqlParser.ELSE: - case TSqlParser.END: - case TSqlParser.EVENTDATA: - case TSqlParser.EXECUTE: - case TSqlParser.FETCH: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.GET: - case TSqlParser.GOTO: - case TSqlParser.GRANT: - case TSqlParser.IDENTITY: - case TSqlParser.IF: - case TSqlParser.IIF: - case TSqlParser.INIT: - case TSqlParser.INSERT: - case TSqlParser.ISNULL: - case TSqlParser.KEY: - case TSqlParser.KILL: - case TSqlParser.LEFT: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.MERGE: - case TSqlParser.NULL: - case TSqlParser.NULLIF: - case TSqlParser.OFFSETS: - case TSqlParser.OPEN: - case TSqlParser.OVER: - case TSqlParser.PAGE: - case TSqlParser.PRINT: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAISERROR: - case TSqlParser.RAW: - case TSqlParser.RECONFIGURE: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.REVERT: - case TSqlParser.RIGHT: - case TSqlParser.ROLLBACK: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SAVE: - case TSqlParser.SELECT: - case TSqlParser.SERVER: - case TSqlParser.SESSION_USER: - case TSqlParser.SET: - case TSqlParser.SETUSER: - case TSqlParser.SHUTDOWN: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.SYSTEM_USER: - case TSqlParser.TARGET: - case TSqlParser.TRUNCATE: - case TSqlParser.UPDATE: - case TSqlParser.USE: - case TSqlParser.WAITFOR: - case TSqlParser.WHILE: - case TSqlParser.WITH: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.LOCAL_ID: - case TSqlParser.DECIMAL: - case TSqlParser.ID: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.LR_BRACKET: - case TSqlParser.SEMI: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - case TSqlParser.BIT_NOT: - break; - default: - break; - } - this.state = 5377; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,639,this._ctx); - if(la_===1) { - this.state = 5373; - this.match(TSqlParser.WITH); - this.state = 5374; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 5375; - this.match(TSqlParser.EQUAL); - this.state = 5376; - localctx.schema_name = this.id(); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 5379; - this.match(TSqlParser.CREATE); - this.state = 5380; - this.match(TSqlParser.USER); - this.state = 5381; - localctx.Azure_Active_Directory_principal = this.id(); - this.state = 5382; - this.match(TSqlParser.FROM); - this.state = 5383; - this.match(TSqlParser.EXTERNAL); - this.state = 5384; - this.match(TSqlParser.PROVIDER); - this.state = 5389; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,640,this._ctx); - if(la_===1) { - this.state = 5385; - this.match(TSqlParser.WITH); - this.state = 5386; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 5387; - this.match(TSqlParser.EQUAL); - this.state = 5388; - localctx.schema_name = this.id(); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_user_azure_sqlContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_user_azure_sql; - this.username = null; // IdContext - this.newusername = null; // IdContext - this.schema_name = null; // IdContext - this.loginame = null; // IdContext - return this; -} - -Alter_user_azure_sqlContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_user_azure_sqlContext.prototype.constructor = Alter_user_azure_sqlContext; - -Alter_user_azure_sqlContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_user_azure_sqlContext.prototype.USER = function() { - return this.getToken(TSqlParser.USER, 0); -}; - -Alter_user_azure_sqlContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_user_azure_sqlContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_user_azure_sqlContext.prototype.NAME = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NAME); - } else { - return this.getToken(TSqlParser.NAME, i); - } -}; - - -Alter_user_azure_sqlContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_user_azure_sqlContext.prototype.DEFAULT_SCHEMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT_SCHEMA); - } else { - return this.getToken(TSqlParser.DEFAULT_SCHEMA, i); - } -}; - - -Alter_user_azure_sqlContext.prototype.LOGIN = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOGIN); - } else { - return this.getToken(TSqlParser.LOGIN, i); - } -}; - - -Alter_user_azure_sqlContext.prototype.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - } else { - return this.getToken(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, i); - } -}; - - -Alter_user_azure_sqlContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Alter_user_azure_sqlContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Alter_user_azure_sqlContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_user_azure_sqlContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_user_azure_sql(this); - } -}; - -Alter_user_azure_sqlContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_user_azure_sql(this); - } -}; - -Alter_user_azure_sqlContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_user_azure_sql(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_user_azure_sqlContext = Alter_user_azure_sqlContext; - -TSqlParser.prototype.alter_user_azure_sql = function() { - - var localctx = new Alter_user_azure_sqlContext(this, this._ctx, this.state); - this.enterRule(localctx, 404, TSqlParser.RULE_alter_user_azure_sql); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5393; - this.match(TSqlParser.ALTER); - this.state = 5394; - this.match(TSqlParser.USER); - this.state = 5395; - localctx.username = this.id(); - this.state = 5396; - this.match(TSqlParser.WITH); - this.state = 5421; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 5421; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,646,this._ctx); - switch(la_) { - case 1: - this.state = 5398; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5397; - this.match(TSqlParser.COMMA); - } - - this.state = 5400; - this.match(TSqlParser.NAME); - this.state = 5401; - this.match(TSqlParser.EQUAL); - this.state = 5402; - localctx.newusername = this.id(); - break; - - case 2: - this.state = 5404; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5403; - this.match(TSqlParser.COMMA); - } - - this.state = 5406; - this.match(TSqlParser.DEFAULT_SCHEMA); - this.state = 5407; - this.match(TSqlParser.EQUAL); - this.state = 5408; - localctx.schema_name = this.id(); - break; - - case 3: - this.state = 5410; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5409; - this.match(TSqlParser.COMMA); - } - - this.state = 5412; - this.match(TSqlParser.LOGIN); - this.state = 5413; - this.match(TSqlParser.EQUAL); - this.state = 5414; - localctx.loginame = this.id(); - break; - - case 4: - this.state = 5416; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5415; - this.match(TSqlParser.COMMA); - } - - this.state = 5418; - this.match(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS); - this.state = 5419; - this.match(TSqlParser.EQUAL); - this.state = 5420; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5423; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,647, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_workload_groupContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_workload_group; - this.workload_group_group_name = null; // IdContext - this.request_max_memory_grant = null; // Token - this.request_max_cpu_time_sec = null; // Token - this.request_memory_grant_timeout_sec = null; // Token - this.max_dop = null; // Token - this.group_max_requests = null; // Token - this.workload_group_pool_name = null; // IdContext - return this; -} - -Alter_workload_groupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_workload_groupContext.prototype.constructor = Alter_workload_groupContext; - -Alter_workload_groupContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_workload_groupContext.prototype.WORKLOAD = function() { - return this.getToken(TSqlParser.WORKLOAD, 0); -}; - -Alter_workload_groupContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Alter_workload_groupContext.prototype.DEFAULT_DOUBLE_QUOTE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT_DOUBLE_QUOTE); - } else { - return this.getToken(TSqlParser.DEFAULT_DOUBLE_QUOTE, i); - } -}; - - -Alter_workload_groupContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_workload_groupContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_workload_groupContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Alter_workload_groupContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Alter_workload_groupContext.prototype.USING = function() { - return this.getToken(TSqlParser.USING, 0); -}; - -Alter_workload_groupContext.prototype.IMPORTANCE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.IMPORTANCE); - } else { - return this.getToken(TSqlParser.IMPORTANCE, i); - } -}; - - -Alter_workload_groupContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_workload_groupContext.prototype.REQUEST_MAX_MEMORY_GRANT_PERCENT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT); - } else { - return this.getToken(TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT, i); - } -}; - - -Alter_workload_groupContext.prototype.REQUEST_MAX_CPU_TIME_SEC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REQUEST_MAX_CPU_TIME_SEC); - } else { - return this.getToken(TSqlParser.REQUEST_MAX_CPU_TIME_SEC, i); - } -}; - - -Alter_workload_groupContext.prototype.REQUEST_MEMORY_GRANT_TIMEOUT_SEC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC); - } else { - return this.getToken(TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC, i); - } -}; - - -Alter_workload_groupContext.prototype.MAX_DOP = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAX_DOP); - } else { - return this.getToken(TSqlParser.MAX_DOP, i); - } -}; - - -Alter_workload_groupContext.prototype.GROUP_MAX_REQUESTS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.GROUP_MAX_REQUESTS); - } else { - return this.getToken(TSqlParser.GROUP_MAX_REQUESTS, i); - } -}; - - -Alter_workload_groupContext.prototype.LOW = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOW); - } else { - return this.getToken(TSqlParser.LOW, i); - } -}; - - -Alter_workload_groupContext.prototype.MEDIUM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MEDIUM); - } else { - return this.getToken(TSqlParser.MEDIUM, i); - } -}; - - -Alter_workload_groupContext.prototype.HIGH = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.HIGH); - } else { - return this.getToken(TSqlParser.HIGH, i); - } -}; - - -Alter_workload_groupContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Alter_workload_groupContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_workload_groupContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_workload_group(this); - } -}; - -Alter_workload_groupContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_workload_group(this); - } -}; - -Alter_workload_groupContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_workload_group(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_workload_groupContext = Alter_workload_groupContext; - -TSqlParser.prototype.alter_workload_group = function() { - - var localctx = new Alter_workload_groupContext(this, this._ctx, this.state); - this.enterRule(localctx, 406, TSqlParser.RULE_alter_workload_group); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5425; - this.match(TSqlParser.ALTER); - this.state = 5426; - this.match(TSqlParser.WORKLOAD); - this.state = 5427; - this.match(TSqlParser.GROUP); - this.state = 5430; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,648,this._ctx); - switch(la_) { - case 1: - this.state = 5428; - localctx.workload_group_group_name = this.id(); - break; - - case 2: - this.state = 5429; - this.match(TSqlParser.DEFAULT_DOUBLE_QUOTE); - break; - - } - this.state = 5463; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,653,this._ctx); - if(la_===1) { - this.state = 5432; - this.match(TSqlParser.WITH); - this.state = 5433; - this.match(TSqlParser.LR_BRACKET); - this.state = 5458; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 5458; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,651,this._ctx); - switch(la_) { - case 1: - this.state = 5434; - this.match(TSqlParser.IMPORTANCE); - this.state = 5435; - this.match(TSqlParser.EQUAL); - this.state = 5436; - _la = this._input.LA(1); - if(!(_la===TSqlParser.HIGH || _la===TSqlParser.LOW || _la===TSqlParser.MEDIUM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 2: - this.state = 5438; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5437; - this.match(TSqlParser.COMMA); - } - - this.state = 5440; - this.match(TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT); - this.state = 5441; - this.match(TSqlParser.EQUAL); - this.state = 5442; - localctx.request_max_memory_grant = this.match(TSqlParser.DECIMAL); - break; - - case 3: - this.state = 5444; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5443; - this.match(TSqlParser.COMMA); - } - - this.state = 5446; - this.match(TSqlParser.REQUEST_MAX_CPU_TIME_SEC); - this.state = 5447; - this.match(TSqlParser.EQUAL); - this.state = 5448; - localctx.request_max_cpu_time_sec = this.match(TSqlParser.DECIMAL); - break; - - case 4: - this.state = 5449; - this.match(TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC); - this.state = 5450; - this.match(TSqlParser.EQUAL); - this.state = 5451; - localctx.request_memory_grant_timeout_sec = this.match(TSqlParser.DECIMAL); - break; - - case 5: - this.state = 5452; - this.match(TSqlParser.MAX_DOP); - this.state = 5453; - this.match(TSqlParser.EQUAL); - this.state = 5454; - localctx.max_dop = this.match(TSqlParser.DECIMAL); - break; - - case 6: - this.state = 5455; - this.match(TSqlParser.GROUP_MAX_REQUESTS); - this.state = 5456; - this.match(TSqlParser.EQUAL); - this.state = 5457; - localctx.group_max_requests = this.match(TSqlParser.DECIMAL); - break; - - } - this.state = 5460; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.GROUP_MAX_REQUESTS || _la===TSqlParser.IMPORTANCE || _la===TSqlParser.MAX_DOP || ((((_la - 683)) & ~0x1f) == 0 && ((1 << (_la - 683)) & ((1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 683)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 683)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 683)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 5462; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 5470; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,655,this._ctx); - if(la_===1) { - this.state = 5465; - this.match(TSqlParser.USING); - this.state = 5468; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,654,this._ctx); - switch(la_) { - case 1: - this.state = 5466; - localctx.workload_group_pool_name = this.id(); - break; - - case 2: - this.state = 5467; - this.match(TSqlParser.DEFAULT_DOUBLE_QUOTE); - break; - - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_workload_groupContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_workload_group; - this.workload_group_group_name = null; // IdContext - this.request_max_memory_grant = null; // Token - this.request_max_cpu_time_sec = null; // Token - this.request_memory_grant_timeout_sec = null; // Token - this.max_dop = null; // Token - this.group_max_requests = null; // Token - this.workload_group_pool_name = null; // IdContext - this.external_pool_name = null; // IdContext - return this; -} - -Create_workload_groupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_workload_groupContext.prototype.constructor = Create_workload_groupContext; - -Create_workload_groupContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_workload_groupContext.prototype.WORKLOAD = function() { - return this.getToken(TSqlParser.WORKLOAD, 0); -}; - -Create_workload_groupContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Create_workload_groupContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_workload_groupContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_workload_groupContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_workload_groupContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_workload_groupContext.prototype.USING = function() { - return this.getToken(TSqlParser.USING, 0); -}; - -Create_workload_groupContext.prototype.IMPORTANCE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.IMPORTANCE); - } else { - return this.getToken(TSqlParser.IMPORTANCE, i); - } -}; - - -Create_workload_groupContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Create_workload_groupContext.prototype.REQUEST_MAX_MEMORY_GRANT_PERCENT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT); - } else { - return this.getToken(TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT, i); - } -}; - - -Create_workload_groupContext.prototype.REQUEST_MAX_CPU_TIME_SEC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REQUEST_MAX_CPU_TIME_SEC); - } else { - return this.getToken(TSqlParser.REQUEST_MAX_CPU_TIME_SEC, i); - } -}; - - -Create_workload_groupContext.prototype.REQUEST_MEMORY_GRANT_TIMEOUT_SEC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC); - } else { - return this.getToken(TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC, i); - } -}; - - -Create_workload_groupContext.prototype.MAX_DOP = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAX_DOP); - } else { - return this.getToken(TSqlParser.MAX_DOP, i); - } -}; - - -Create_workload_groupContext.prototype.GROUP_MAX_REQUESTS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.GROUP_MAX_REQUESTS); - } else { - return this.getToken(TSqlParser.GROUP_MAX_REQUESTS, i); - } -}; - - -Create_workload_groupContext.prototype.DEFAULT_DOUBLE_QUOTE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT_DOUBLE_QUOTE); - } else { - return this.getToken(TSqlParser.DEFAULT_DOUBLE_QUOTE, i); - } -}; - - -Create_workload_groupContext.prototype.EXTERNAL = function() { - return this.getToken(TSqlParser.EXTERNAL, 0); -}; - -Create_workload_groupContext.prototype.LOW = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOW); - } else { - return this.getToken(TSqlParser.LOW, i); - } -}; - - -Create_workload_groupContext.prototype.MEDIUM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MEDIUM); - } else { - return this.getToken(TSqlParser.MEDIUM, i); - } -}; - - -Create_workload_groupContext.prototype.HIGH = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.HIGH); - } else { - return this.getToken(TSqlParser.HIGH, i); - } -}; - - -Create_workload_groupContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Create_workload_groupContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_workload_groupContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_workload_group(this); - } -}; - -Create_workload_groupContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_workload_group(this); - } -}; - -Create_workload_groupContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_workload_group(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_workload_groupContext = Create_workload_groupContext; - -TSqlParser.prototype.create_workload_group = function() { - - var localctx = new Create_workload_groupContext(this, this._ctx, this.state); - this.enterRule(localctx, 408, TSqlParser.RULE_create_workload_group); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5472; - this.match(TSqlParser.CREATE); - this.state = 5473; - this.match(TSqlParser.WORKLOAD); - this.state = 5474; - this.match(TSqlParser.GROUP); - this.state = 5475; - localctx.workload_group_group_name = this.id(); - this.state = 5507; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,660,this._ctx); - if(la_===1) { - this.state = 5476; - this.match(TSqlParser.WITH); - this.state = 5477; - this.match(TSqlParser.LR_BRACKET); - this.state = 5502; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 5502; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,658,this._ctx); - switch(la_) { - case 1: - this.state = 5478; - this.match(TSqlParser.IMPORTANCE); - this.state = 5479; - this.match(TSqlParser.EQUAL); - this.state = 5480; - _la = this._input.LA(1); - if(!(_la===TSqlParser.HIGH || _la===TSqlParser.LOW || _la===TSqlParser.MEDIUM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 2: - this.state = 5482; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5481; - this.match(TSqlParser.COMMA); - } - - this.state = 5484; - this.match(TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT); - this.state = 5485; - this.match(TSqlParser.EQUAL); - this.state = 5486; - localctx.request_max_memory_grant = this.match(TSqlParser.DECIMAL); - break; - - case 3: - this.state = 5488; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5487; - this.match(TSqlParser.COMMA); - } - - this.state = 5490; - this.match(TSqlParser.REQUEST_MAX_CPU_TIME_SEC); - this.state = 5491; - this.match(TSqlParser.EQUAL); - this.state = 5492; - localctx.request_max_cpu_time_sec = this.match(TSqlParser.DECIMAL); - break; - - case 4: - this.state = 5493; - this.match(TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC); - this.state = 5494; - this.match(TSqlParser.EQUAL); - this.state = 5495; - localctx.request_memory_grant_timeout_sec = this.match(TSqlParser.DECIMAL); - break; - - case 5: - this.state = 5496; - this.match(TSqlParser.MAX_DOP); - this.state = 5497; - this.match(TSqlParser.EQUAL); - this.state = 5498; - localctx.max_dop = this.match(TSqlParser.DECIMAL); - break; - - case 6: - this.state = 5499; - this.match(TSqlParser.GROUP_MAX_REQUESTS); - this.state = 5500; - this.match(TSqlParser.EQUAL); - this.state = 5501; - localctx.group_max_requests = this.match(TSqlParser.DECIMAL); - break; - - } - this.state = 5504; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.GROUP_MAX_REQUESTS || _la===TSqlParser.IMPORTANCE || _la===TSqlParser.MAX_DOP || ((((_la - 683)) & ~0x1f) == 0 && ((1 << (_la - 683)) & ((1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 683)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 683)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 683)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 5506; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 5522; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,664,this._ctx); - if(la_===1) { - this.state = 5509; - this.match(TSqlParser.USING); - this.state = 5512; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,661,this._ctx); - if(la_===1) { - this.state = 5510; - localctx.workload_group_pool_name = this.id(); - - } else if(la_===2) { - this.state = 5511; - this.match(TSqlParser.DEFAULT_DOUBLE_QUOTE); - - } - this.state = 5520; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,663,this._ctx); - if(la_===1) { - this.state = 5515; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5514; - this.match(TSqlParser.COMMA); - } - - this.state = 5517; - this.match(TSqlParser.EXTERNAL); - this.state = 5518; - localctx.external_pool_name = this.id(); - - } else if(la_===2) { - this.state = 5519; - this.match(TSqlParser.DEFAULT_DOUBLE_QUOTE); - - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_xml_schema_collectionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_xml_schema_collection; - this.relational_schema = null; // IdContext - this.sql_identifier = null; // IdContext - return this; -} - -Create_xml_schema_collectionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_xml_schema_collectionContext.prototype.constructor = Create_xml_schema_collectionContext; - -Create_xml_schema_collectionContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_xml_schema_collectionContext.prototype.XML = function() { - return this.getToken(TSqlParser.XML, 0); -}; - -Create_xml_schema_collectionContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Create_xml_schema_collectionContext.prototype.COLLECTION = function() { - return this.getToken(TSqlParser.COLLECTION, 0); -}; - -Create_xml_schema_collectionContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_xml_schema_collectionContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_xml_schema_collectionContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_xml_schema_collectionContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Create_xml_schema_collectionContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Create_xml_schema_collectionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_xml_schema_collection(this); - } -}; - -Create_xml_schema_collectionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_xml_schema_collection(this); - } -}; - -Create_xml_schema_collectionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_xml_schema_collection(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_xml_schema_collectionContext = Create_xml_schema_collectionContext; - -TSqlParser.prototype.create_xml_schema_collection = function() { - - var localctx = new Create_xml_schema_collectionContext(this, this._ctx, this.state); - this.enterRule(localctx, 410, TSqlParser.RULE_create_xml_schema_collection); - try { - this.enterOuterAlt(localctx, 1); - this.state = 5524; - this.match(TSqlParser.CREATE); - this.state = 5525; - this.match(TSqlParser.XML); - this.state = 5526; - this.match(TSqlParser.SCHEMA); - this.state = 5527; - this.match(TSqlParser.COLLECTION); - this.state = 5531; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,665,this._ctx); - if(la_===1) { - this.state = 5528; - localctx.relational_schema = this.id(); - this.state = 5529; - this.match(TSqlParser.DOT); - - } - this.state = 5533; - localctx.sql_identifier = this.id(); - this.state = 5534; - this.match(TSqlParser.AS); - this.state = 5538; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 5535; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 5536; - this.id(); - break; - case TSqlParser.LOCAL_ID: - this.state = 5537; - this.match(TSqlParser.LOCAL_ID); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_queueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_queue; - this.queue_name = null; // IdContext - this.filegroup = null; // IdContext - return this; -} - -Create_queueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_queueContext.prototype.constructor = Create_queueContext; - -Create_queueContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_queueContext.prototype.QUEUE = function() { - return this.getToken(TSqlParser.QUEUE, 0); -}; - -Create_queueContext.prototype.full_table_name = function() { - return this.getTypedRuleContext(Full_table_nameContext,0); -}; - -Create_queueContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_queueContext.prototype.queue_settings = function() { - return this.getTypedRuleContext(Queue_settingsContext,0); -}; - -Create_queueContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_queueContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Create_queueContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_queue(this); - } -}; - -Create_queueContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_queue(this); - } -}; - -Create_queueContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_queue(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_queueContext = Create_queueContext; - -TSqlParser.prototype.create_queue = function() { - - var localctx = new Create_queueContext(this, this._ctx, this.state); - this.enterRule(localctx, 412, TSqlParser.RULE_create_queue); - try { - this.enterOuterAlt(localctx, 1); - this.state = 5540; - this.match(TSqlParser.CREATE); - this.state = 5541; - this.match(TSqlParser.QUEUE); - this.state = 5544; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,667,this._ctx); - switch(la_) { - case 1: - this.state = 5542; - this.full_table_name(); - break; - - case 2: - this.state = 5543; - localctx.queue_name = this.id(); - break; - - } - this.state = 5547; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,668,this._ctx); - if(la_===1) { - this.state = 5546; - this.queue_settings(); - - } - this.state = 5552; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,669,this._ctx); - if(la_===1) { - this.state = 5549; - this.match(TSqlParser.ON); - this.state = 5550; - localctx.filegroup = this.id(); - - } else if(la_===2) { - this.state = 5551; - this.match(TSqlParser.DEFAULT); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Queue_settingsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_queue_settings; - this.max_readers = null; // Token - this.user_name = null; // Token - return this; -} - -Queue_settingsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Queue_settingsContext.prototype.constructor = Queue_settingsContext; - -Queue_settingsContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Queue_settingsContext.prototype.STATUS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STATUS); - } else { - return this.getToken(TSqlParser.STATUS, i); - } -}; - - -Queue_settingsContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Queue_settingsContext.prototype.RETENTION = function() { - return this.getToken(TSqlParser.RETENTION, 0); -}; - -Queue_settingsContext.prototype.ACTIVATION = function() { - return this.getToken(TSqlParser.ACTIVATION, 0); -}; - -Queue_settingsContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Queue_settingsContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Queue_settingsContext.prototype.POISON_MESSAGE_HANDLING = function() { - return this.getToken(TSqlParser.POISON_MESSAGE_HANDLING, 0); -}; - -Queue_settingsContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Queue_settingsContext.prototype.OFF = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OFF); - } else { - return this.getToken(TSqlParser.OFF, i); - } -}; - - -Queue_settingsContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Queue_settingsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Queue_settingsContext.prototype.PROCEDURE_NAME = function() { - return this.getToken(TSqlParser.PROCEDURE_NAME, 0); -}; - -Queue_settingsContext.prototype.func_proc_name_database_schema = function() { - return this.getTypedRuleContext(Func_proc_name_database_schemaContext,0); -}; - -Queue_settingsContext.prototype.MAX_QUEUE_READERS = function() { - return this.getToken(TSqlParser.MAX_QUEUE_READERS, 0); -}; - -Queue_settingsContext.prototype.EXECUTE = function() { - return this.getToken(TSqlParser.EXECUTE, 0); -}; - -Queue_settingsContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Queue_settingsContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Queue_settingsContext.prototype.SELF = function() { - return this.getToken(TSqlParser.SELF, 0); -}; - -Queue_settingsContext.prototype.OWNER = function() { - return this.getToken(TSqlParser.OWNER, 0); -}; - -Queue_settingsContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Queue_settingsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterQueue_settings(this); - } -}; - -Queue_settingsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitQueue_settings(this); - } -}; - -Queue_settingsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitQueue_settings(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Queue_settingsContext = Queue_settingsContext; - -TSqlParser.prototype.queue_settings = function() { - - var localctx = new Queue_settingsContext(this, this._ctx, this.state); - this.enterRule(localctx, 414, TSqlParser.RULE_queue_settings); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5554; - this.match(TSqlParser.WITH); - this.state = 5561; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,671,this._ctx); - if(la_===1) { - this.state = 5555; - this.match(TSqlParser.STATUS); - this.state = 5556; - this.match(TSqlParser.EQUAL); - this.state = 5557; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5559; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5558; - this.match(TSqlParser.COMMA); - } - - - } - this.state = 5569; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,673,this._ctx); - if(la_===1) { - this.state = 5563; - this.match(TSqlParser.RETENTION); - this.state = 5564; - this.match(TSqlParser.EQUAL); - this.state = 5565; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5567; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5566; - this.match(TSqlParser.COMMA); - } - - - } - this.state = 5616; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,685,this._ctx); - if(la_===1) { - this.state = 5571; - this.match(TSqlParser.ACTIVATION); - this.state = 5572; - this.match(TSqlParser.LR_BRACKET); - this.state = 5610; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.EXECUTE: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.STATUS: - case TSqlParser.RR_BRACKET: - this.state = 5579; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.STATUS) { - this.state = 5573; - this.match(TSqlParser.STATUS); - this.state = 5574; - this.match(TSqlParser.EQUAL); - this.state = 5575; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5577; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5576; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 5587; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PROCEDURE_NAME) { - this.state = 5581; - this.match(TSqlParser.PROCEDURE_NAME); - this.state = 5582; - this.match(TSqlParser.EQUAL); - this.state = 5583; - this.func_proc_name_database_schema(); - this.state = 5585; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5584; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 5595; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MAX_QUEUE_READERS) { - this.state = 5589; - this.match(TSqlParser.MAX_QUEUE_READERS); - this.state = 5590; - this.match(TSqlParser.EQUAL); - this.state = 5591; - localctx.max_readers = this.match(TSqlParser.DECIMAL); - this.state = 5593; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5592; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 5607; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.EXECUTE) { - this.state = 5597; - this.match(TSqlParser.EXECUTE); - this.state = 5598; - this.match(TSqlParser.AS); - this.state = 5602; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.SELF: - this.state = 5599; - this.match(TSqlParser.SELF); - break; - case TSqlParser.STRING: - this.state = 5600; - localctx.user_name = this.match(TSqlParser.STRING); - break; - case TSqlParser.OWNER: - this.state = 5601; - this.match(TSqlParser.OWNER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5605; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5604; - this.match(TSqlParser.COMMA); - } - - } - - break; - case TSqlParser.DROP: - this.state = 5609; - this.match(TSqlParser.DROP); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5612; - this.match(TSqlParser.RR_BRACKET); - this.state = 5614; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5613; - this.match(TSqlParser.COMMA); - } - - - } - this.state = 5625; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,686,this._ctx); - if(la_===1) { - this.state = 5618; - this.match(TSqlParser.POISON_MESSAGE_HANDLING); - this.state = 5619; - this.match(TSqlParser.LR_BRACKET); - - this.state = 5620; - this.match(TSqlParser.STATUS); - this.state = 5621; - this.match(TSqlParser.EQUAL); - this.state = 5622; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5624; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_queueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_queue; - this.queue_name = null; // IdContext - return this; -} - -Alter_queueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_queueContext.prototype.constructor = Alter_queueContext; - -Alter_queueContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_queueContext.prototype.QUEUE = function() { - return this.getToken(TSqlParser.QUEUE, 0); -}; - -Alter_queueContext.prototype.full_table_name = function() { - return this.getTypedRuleContext(Full_table_nameContext,0); -}; - -Alter_queueContext.prototype.queue_settings = function() { - return this.getTypedRuleContext(Queue_settingsContext,0); -}; - -Alter_queueContext.prototype.queue_action = function() { - return this.getTypedRuleContext(Queue_actionContext,0); -}; - -Alter_queueContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_queueContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_queue(this); - } -}; - -Alter_queueContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_queue(this); - } -}; - -Alter_queueContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_queue(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_queueContext = Alter_queueContext; - -TSqlParser.prototype.alter_queue = function() { - - var localctx = new Alter_queueContext(this, this._ctx, this.state); - this.enterRule(localctx, 416, TSqlParser.RULE_alter_queue); - try { - this.enterOuterAlt(localctx, 1); - this.state = 5627; - this.match(TSqlParser.ALTER); - this.state = 5628; - this.match(TSqlParser.QUEUE); - this.state = 5631; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,687,this._ctx); - switch(la_) { - case 1: - this.state = 5629; - this.full_table_name(); - break; - - case 2: - this.state = 5630; - localctx.queue_name = this.id(); - break; - - } - this.state = 5635; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.WITH: - this.state = 5633; - this.queue_settings(); - break; - case TSqlParser.MOVE: - case TSqlParser.REBUILD: - case TSqlParser.REORGANIZE: - this.state = 5634; - this.queue_action(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Queue_actionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_queue_action; - return this; -} - -Queue_actionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Queue_actionContext.prototype.constructor = Queue_actionContext; - -Queue_actionContext.prototype.REBUILD = function() { - return this.getToken(TSqlParser.REBUILD, 0); -}; - -Queue_actionContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Queue_actionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Queue_actionContext.prototype.queue_rebuild_options = function() { - return this.getTypedRuleContext(Queue_rebuild_optionsContext,0); -}; - -Queue_actionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Queue_actionContext.prototype.REORGANIZE = function() { - return this.getToken(TSqlParser.REORGANIZE, 0); -}; - -Queue_actionContext.prototype.LOB_COMPACTION = function() { - return this.getToken(TSqlParser.LOB_COMPACTION, 0); -}; - -Queue_actionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Queue_actionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Queue_actionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Queue_actionContext.prototype.MOVE = function() { - return this.getToken(TSqlParser.MOVE, 0); -}; - -Queue_actionContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Queue_actionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Queue_actionContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Queue_actionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterQueue_action(this); - } -}; - -Queue_actionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitQueue_action(this); - } -}; - -Queue_actionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitQueue_action(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Queue_actionContext = Queue_actionContext; - -TSqlParser.prototype.queue_action = function() { - - var localctx = new Queue_actionContext(this, this._ctx, this.state); - this.enterRule(localctx, 418, TSqlParser.RULE_queue_action); - var _la = 0; // Token type - try { - this.state = 5658; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.REBUILD: - this.enterOuterAlt(localctx, 1); - this.state = 5637; - this.match(TSqlParser.REBUILD); - this.state = 5643; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,689,this._ctx); - if(la_===1) { - this.state = 5638; - this.match(TSqlParser.WITH); - this.state = 5639; - this.match(TSqlParser.LR_BRACKET); - this.state = 5640; - this.queue_rebuild_options(); - this.state = 5641; - this.match(TSqlParser.RR_BRACKET); - - } - break; - case TSqlParser.REORGANIZE: - this.enterOuterAlt(localctx, 2); - this.state = 5645; - this.match(TSqlParser.REORGANIZE); - this.state = 5650; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,690,this._ctx); - if(la_===1) { - this.state = 5646; - this.match(TSqlParser.WITH); - this.state = 5647; - this.match(TSqlParser.LOB_COMPACTION); - this.state = 5648; - this.match(TSqlParser.EQUAL); - this.state = 5649; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - break; - case TSqlParser.MOVE: - this.enterOuterAlt(localctx, 3); - this.state = 5652; - this.match(TSqlParser.MOVE); - this.state = 5653; - this.match(TSqlParser.TO); - this.state = 5656; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 5654; - this.id(); - break; - case TSqlParser.DEFAULT: - this.state = 5655; - this.match(TSqlParser.DEFAULT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Queue_rebuild_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_queue_rebuild_options; - return this; -} - -Queue_rebuild_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Queue_rebuild_optionsContext.prototype.constructor = Queue_rebuild_optionsContext; - -Queue_rebuild_optionsContext.prototype.MAXDOP = function() { - return this.getToken(TSqlParser.MAXDOP, 0); -}; - -Queue_rebuild_optionsContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Queue_rebuild_optionsContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Queue_rebuild_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterQueue_rebuild_options(this); - } -}; - -Queue_rebuild_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitQueue_rebuild_options(this); - } -}; - -Queue_rebuild_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitQueue_rebuild_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Queue_rebuild_optionsContext = Queue_rebuild_optionsContext; - -TSqlParser.prototype.queue_rebuild_options = function() { - - var localctx = new Queue_rebuild_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 420, TSqlParser.RULE_queue_rebuild_options); - try { - this.enterOuterAlt(localctx, 1); - this.state = 5660; - this.match(TSqlParser.MAXDOP); - this.state = 5661; - this.match(TSqlParser.EQUAL); - this.state = 5662; - this.match(TSqlParser.DECIMAL); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_contractContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_contract; - this.owner_name = null; // IdContext - this.message_type_name = null; // IdContext - return this; -} - -Create_contractContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_contractContext.prototype.constructor = Create_contractContext; - -Create_contractContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_contractContext.prototype.CONTRACT = function() { - return this.getToken(TSqlParser.CONTRACT, 0); -}; - -Create_contractContext.prototype.contract_name = function() { - return this.getTypedRuleContext(Contract_nameContext,0); -}; - -Create_contractContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_contractContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_contractContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_contractContext.prototype.SENT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SENT); - } else { - return this.getToken(TSqlParser.SENT, i); - } -}; - - -Create_contractContext.prototype.BY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BY); - } else { - return this.getToken(TSqlParser.BY, i); - } -}; - - -Create_contractContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_contractContext.prototype.INITIATOR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.INITIATOR); - } else { - return this.getToken(TSqlParser.INITIATOR, i); - } -}; - - -Create_contractContext.prototype.TARGET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TARGET); - } else { - return this.getToken(TSqlParser.TARGET, i); - } -}; - - -Create_contractContext.prototype.ANY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ANY); - } else { - return this.getToken(TSqlParser.ANY, i); - } -}; - - -Create_contractContext.prototype.DEFAULT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT); - } else { - return this.getToken(TSqlParser.DEFAULT, i); - } -}; - - -Create_contractContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_contractContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_contract(this); - } -}; - -Create_contractContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_contract(this); - } -}; - -Create_contractContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_contract(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_contractContext = Create_contractContext; - -TSqlParser.prototype.create_contract = function() { - - var localctx = new Create_contractContext(this, this._ctx, this.state); - this.enterRule(localctx, 422, TSqlParser.RULE_create_contract); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5664; - this.match(TSqlParser.CREATE); - this.state = 5665; - this.match(TSqlParser.CONTRACT); - this.state = 5666; - this.contract_name(); - this.state = 5669; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 5667; - this.match(TSqlParser.AUTHORIZATION); - this.state = 5668; - localctx.owner_name = this.id(); - } - - this.state = 5671; - this.match(TSqlParser.LR_BRACKET); - this.state = 5682; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 5674; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 5672; - localctx.message_type_name = this.id(); - break; - case TSqlParser.DEFAULT: - this.state = 5673; - this.match(TSqlParser.DEFAULT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5676; - this.match(TSqlParser.SENT); - this.state = 5677; - this.match(TSqlParser.BY); - this.state = 5678; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ANY || _la===TSqlParser.TARGET || _la===TSqlParser.INITIATOR)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 5680; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5679; - this.match(TSqlParser.COMMA); - } - - this.state = 5684; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || _la===TSqlParser.DEFAULT || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)); - this.state = 5686; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Conversation_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_conversation_statement; - return this; -} - -Conversation_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Conversation_statementContext.prototype.constructor = Conversation_statementContext; - -Conversation_statementContext.prototype.begin_conversation_timer = function() { - return this.getTypedRuleContext(Begin_conversation_timerContext,0); -}; - -Conversation_statementContext.prototype.begin_conversation_dialog = function() { - return this.getTypedRuleContext(Begin_conversation_dialogContext,0); -}; - -Conversation_statementContext.prototype.end_conversation = function() { - return this.getTypedRuleContext(End_conversationContext,0); -}; - -Conversation_statementContext.prototype.get_conversation = function() { - return this.getTypedRuleContext(Get_conversationContext,0); -}; - -Conversation_statementContext.prototype.send_conversation = function() { - return this.getTypedRuleContext(Send_conversationContext,0); -}; - -Conversation_statementContext.prototype.waitfor_conversation = function() { - return this.getTypedRuleContext(Waitfor_conversationContext,0); -}; - -Conversation_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterConversation_statement(this); - } -}; - -Conversation_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitConversation_statement(this); - } -}; - -Conversation_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitConversation_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Conversation_statementContext = Conversation_statementContext; - -TSqlParser.prototype.conversation_statement = function() { - - var localctx = new Conversation_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 424, TSqlParser.RULE_conversation_statement); - try { - this.state = 5694; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,697,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 5688; - this.begin_conversation_timer(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 5689; - this.begin_conversation_dialog(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 5690; - this.end_conversation(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 5691; - this.get_conversation(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 5692; - this.send_conversation(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 5693; - this.waitfor_conversation(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Message_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_message_statement; - this.message_type_name = null; // IdContext - this.owner_name = null; // IdContext - this.schema_collection_name = null; // IdContext - return this; -} - -Message_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Message_statementContext.prototype.constructor = Message_statementContext; - -Message_statementContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Message_statementContext.prototype.MESSAGE = function() { - return this.getToken(TSqlParser.MESSAGE, 0); -}; - -Message_statementContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Message_statementContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Message_statementContext.prototype.VALIDATION = function() { - return this.getToken(TSqlParser.VALIDATION, 0); -}; - -Message_statementContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Message_statementContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Message_statementContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Message_statementContext.prototype.EMPTY = function() { - return this.getToken(TSqlParser.EMPTY, 0); -}; - -Message_statementContext.prototype.WELL_FORMED_XML = function() { - return this.getToken(TSqlParser.WELL_FORMED_XML, 0); -}; - -Message_statementContext.prototype.VALID_XML = function() { - return this.getToken(TSqlParser.VALID_XML, 0); -}; - -Message_statementContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Message_statementContext.prototype.SCHEMA = function() { - return this.getToken(TSqlParser.SCHEMA, 0); -}; - -Message_statementContext.prototype.COLLECTION = function() { - return this.getToken(TSqlParser.COLLECTION, 0); -}; - -Message_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMessage_statement(this); - } -}; - -Message_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMessage_statement(this); - } -}; - -Message_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMessage_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Message_statementContext = Message_statementContext; - -TSqlParser.prototype.message_statement = function() { - - var localctx = new Message_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 426, TSqlParser.RULE_message_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5696; - this.match(TSqlParser.CREATE); - this.state = 5697; - this.match(TSqlParser.MESSAGE); - this.state = 5698; - this.match(TSqlParser.TYPE); - this.state = 5699; - localctx.message_type_name = this.id(); - this.state = 5702; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 5700; - this.match(TSqlParser.AUTHORIZATION); - this.state = 5701; - localctx.owner_name = this.id(); - } - - this.state = 5704; - this.match(TSqlParser.VALIDATION); - this.state = 5705; - this.match(TSqlParser.EQUAL); - this.state = 5714; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NONE: - this.state = 5706; - this.match(TSqlParser.NONE); - break; - case TSqlParser.EMPTY: - this.state = 5707; - this.match(TSqlParser.EMPTY); - break; - case TSqlParser.WELL_FORMED_XML: - this.state = 5708; - this.match(TSqlParser.WELL_FORMED_XML); - break; - case TSqlParser.VALID_XML: - this.state = 5709; - this.match(TSqlParser.VALID_XML); - this.state = 5710; - this.match(TSqlParser.WITH); - this.state = 5711; - this.match(TSqlParser.SCHEMA); - this.state = 5712; - this.match(TSqlParser.COLLECTION); - this.state = 5713; - localctx.schema_collection_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Merge_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_merge_statement; - return this; -} - -Merge_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Merge_statementContext.prototype.constructor = Merge_statementContext; - -Merge_statementContext.prototype.MERGE = function() { - return this.getToken(TSqlParser.MERGE, 0); -}; - -Merge_statementContext.prototype.ddl_object = function() { - return this.getTypedRuleContext(Ddl_objectContext,0); -}; - -Merge_statementContext.prototype.USING = function() { - return this.getToken(TSqlParser.USING, 0); -}; - -Merge_statementContext.prototype.table_sources = function() { - return this.getTypedRuleContext(Table_sourcesContext,0); -}; - -Merge_statementContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Merge_statementContext.prototype.search_condition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Search_conditionContext); - } else { - return this.getTypedRuleContext(Search_conditionContext,i); - } -}; - -Merge_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Merge_statementContext.prototype.with_expression = function() { - return this.getTypedRuleContext(With_expressionContext,0); -}; - -Merge_statementContext.prototype.TOP = function() { - return this.getToken(TSqlParser.TOP, 0); -}; - -Merge_statementContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Merge_statementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Merge_statementContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Merge_statementContext.prototype.INTO = function() { - return this.getToken(TSqlParser.INTO, 0); -}; - -Merge_statementContext.prototype.insert_with_table_hints = function() { - return this.getTypedRuleContext(Insert_with_table_hintsContext,0); -}; - -Merge_statementContext.prototype.as_table_alias = function() { - return this.getTypedRuleContext(As_table_aliasContext,0); -}; - -Merge_statementContext.prototype.WHEN = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.WHEN); - } else { - return this.getToken(TSqlParser.WHEN, i); - } -}; - - -Merge_statementContext.prototype.MATCHED = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MATCHED); - } else { - return this.getToken(TSqlParser.MATCHED, i); - } -}; - - -Merge_statementContext.prototype.THEN = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.THEN); - } else { - return this.getToken(TSqlParser.THEN, i); - } -}; - - -Merge_statementContext.prototype.merge_matched = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Merge_matchedContext); - } else { - return this.getTypedRuleContext(Merge_matchedContext,i); - } -}; - -Merge_statementContext.prototype.NOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOT); - } else { - return this.getToken(TSqlParser.NOT, i); - } -}; - - -Merge_statementContext.prototype.merge_not_matched = function() { - return this.getTypedRuleContext(Merge_not_matchedContext,0); -}; - -Merge_statementContext.prototype.BY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BY); - } else { - return this.getToken(TSqlParser.BY, i); - } -}; - - -Merge_statementContext.prototype.SOURCE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SOURCE); - } else { - return this.getToken(TSqlParser.SOURCE, i); - } -}; - - -Merge_statementContext.prototype.output_clause = function() { - return this.getTypedRuleContext(Output_clauseContext,0); -}; - -Merge_statementContext.prototype.option_clause = function() { - return this.getTypedRuleContext(Option_clauseContext,0); -}; - -Merge_statementContext.prototype.PERCENT = function() { - return this.getToken(TSqlParser.PERCENT, 0); -}; - -Merge_statementContext.prototype.AND = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AND); - } else { - return this.getToken(TSqlParser.AND, i); - } -}; - - -Merge_statementContext.prototype.TARGET = function() { - return this.getToken(TSqlParser.TARGET, 0); -}; - -Merge_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMerge_statement(this); - } -}; - -Merge_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMerge_statement(this); - } -}; - -Merge_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMerge_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Merge_statementContext = Merge_statementContext; - -TSqlParser.prototype.merge_statement = function() { - - var localctx = new Merge_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 428, TSqlParser.RULE_merge_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5717; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 5716; - this.with_expression(); - } - - this.state = 5719; - this.match(TSqlParser.MERGE); - this.state = 5727; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.TOP) { - this.state = 5720; - this.match(TSqlParser.TOP); - this.state = 5721; - this.match(TSqlParser.LR_BRACKET); - this.state = 5722; - this.expression(0); - this.state = 5723; - this.match(TSqlParser.RR_BRACKET); - this.state = 5725; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PERCENT) { - this.state = 5724; - this.match(TSqlParser.PERCENT); - } - - } - - this.state = 5730; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INTO) { - this.state = 5729; - this.match(TSqlParser.INTO); - } - - this.state = 5732; - this.ddl_object(); - this.state = 5734; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 5733; - this.insert_with_table_hints(); - } - - this.state = 5737; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,705,this._ctx); - if(la_===1) { - this.state = 5736; - this.as_table_alias(); - - } - this.state = 5739; - this.match(TSqlParser.USING); - this.state = 5740; - this.table_sources(); - this.state = 5741; - this.match(TSqlParser.ON); - this.state = 5742; - this.search_condition(); - this.state = 5753; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,707,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 5743; - this.match(TSqlParser.WHEN); - this.state = 5744; - this.match(TSqlParser.MATCHED); - this.state = 5747; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AND) { - this.state = 5745; - this.match(TSqlParser.AND); - this.state = 5746; - this.search_condition(); - } - - this.state = 5749; - this.match(TSqlParser.THEN); - this.state = 5750; - this.merge_matched(); - } - this.state = 5755; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,707,this._ctx); - } - - this.state = 5769; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,710,this._ctx); - if(la_===1) { - this.state = 5756; - this.match(TSqlParser.WHEN); - this.state = 5757; - this.match(TSqlParser.NOT); - this.state = 5758; - this.match(TSqlParser.MATCHED); - this.state = 5761; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.BY) { - this.state = 5759; - this.match(TSqlParser.BY); - this.state = 5760; - this.match(TSqlParser.TARGET); - } - - this.state = 5765; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AND) { - this.state = 5763; - this.match(TSqlParser.AND); - this.state = 5764; - this.search_condition(); - } - - this.state = 5767; - this.match(TSqlParser.THEN); - this.state = 5768; - this.merge_not_matched(); - - } - this.state = 5784; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.WHEN) { - this.state = 5771; - this.match(TSqlParser.WHEN); - this.state = 5772; - this.match(TSqlParser.NOT); - this.state = 5773; - this.match(TSqlParser.MATCHED); - this.state = 5774; - this.match(TSqlParser.BY); - this.state = 5775; - this.match(TSqlParser.SOURCE); - this.state = 5778; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AND) { - this.state = 5776; - this.match(TSqlParser.AND); - this.state = 5777; - this.search_condition(); - } - - this.state = 5780; - this.match(TSqlParser.THEN); - this.state = 5781; - this.merge_matched(); - this.state = 5786; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 5788; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OUTPUT) { - this.state = 5787; - this.output_clause(); - } - - this.state = 5791; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OPTION) { - this.state = 5790; - this.option_clause(); - } - - this.state = 5793; - this.match(TSqlParser.SEMI); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Merge_matchedContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_merge_matched; - return this; -} - -Merge_matchedContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Merge_matchedContext.prototype.constructor = Merge_matchedContext; - -Merge_matchedContext.prototype.UPDATE = function() { - return this.getToken(TSqlParser.UPDATE, 0); -}; - -Merge_matchedContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Merge_matchedContext.prototype.update_elem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Update_elemContext); - } else { - return this.getTypedRuleContext(Update_elemContext,i); - } -}; - -Merge_matchedContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Merge_matchedContext.prototype.DELETE = function() { - return this.getToken(TSqlParser.DELETE, 0); -}; - -Merge_matchedContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMerge_matched(this); - } -}; - -Merge_matchedContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMerge_matched(this); - } -}; - -Merge_matchedContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMerge_matched(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Merge_matchedContext = Merge_matchedContext; - -TSqlParser.prototype.merge_matched = function() { - - var localctx = new Merge_matchedContext(this, this._ctx, this.state); - this.enterRule(localctx, 430, TSqlParser.RULE_merge_matched); - var _la = 0; // Token type - try { - this.state = 5806; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.UPDATE: - this.enterOuterAlt(localctx, 1); - this.state = 5795; - this.match(TSqlParser.UPDATE); - this.state = 5796; - this.match(TSqlParser.SET); - this.state = 5797; - this.update_elem(); - this.state = 5802; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 5798; - this.match(TSqlParser.COMMA); - this.state = 5799; - this.update_elem(); - this.state = 5804; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - case TSqlParser.DELETE: - this.enterOuterAlt(localctx, 2); - this.state = 5805; - this.match(TSqlParser.DELETE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Merge_not_matchedContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_merge_not_matched; - return this; -} - -Merge_not_matchedContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Merge_not_matchedContext.prototype.constructor = Merge_not_matchedContext; - -Merge_not_matchedContext.prototype.INSERT = function() { - return this.getToken(TSqlParser.INSERT, 0); -}; - -Merge_not_matchedContext.prototype.table_value_constructor = function() { - return this.getTypedRuleContext(Table_value_constructorContext,0); -}; - -Merge_not_matchedContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Merge_not_matchedContext.prototype.VALUES = function() { - return this.getToken(TSqlParser.VALUES, 0); -}; - -Merge_not_matchedContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Merge_not_matchedContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Merge_not_matchedContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Merge_not_matchedContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMerge_not_matched(this); - } -}; - -Merge_not_matchedContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMerge_not_matched(this); - } -}; - -Merge_not_matchedContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMerge_not_matched(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Merge_not_matchedContext = Merge_not_matchedContext; - -TSqlParser.prototype.merge_not_matched = function() { - - var localctx = new Merge_not_matchedContext(this, this._ctx, this.state); - this.enterRule(localctx, 432, TSqlParser.RULE_merge_not_matched); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5808; - this.match(TSqlParser.INSERT); - this.state = 5813; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 5809; - this.match(TSqlParser.LR_BRACKET); - this.state = 5810; - this.column_name_list(); - this.state = 5811; - this.match(TSqlParser.RR_BRACKET); - } - - this.state = 5818; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.VALUES: - this.state = 5815; - this.table_value_constructor(); - break; - case TSqlParser.DEFAULT: - this.state = 5816; - this.match(TSqlParser.DEFAULT); - this.state = 5817; - this.match(TSqlParser.VALUES); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Delete_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_delete_statement; - this.cursor_var = null; // Token - return this; -} - -Delete_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Delete_statementContext.prototype.constructor = Delete_statementContext; - -Delete_statementContext.prototype.DELETE = function() { - return this.getToken(TSqlParser.DELETE, 0); -}; - -Delete_statementContext.prototype.delete_statement_from = function() { - return this.getTypedRuleContext(Delete_statement_fromContext,0); -}; - -Delete_statementContext.prototype.with_expression = function() { - return this.getTypedRuleContext(With_expressionContext,0); -}; - -Delete_statementContext.prototype.TOP = function() { - return this.getToken(TSqlParser.TOP, 0); -}; - -Delete_statementContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Delete_statementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Delete_statementContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Delete_statementContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Delete_statementContext.prototype.FROM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FROM); - } else { - return this.getToken(TSqlParser.FROM, i); - } -}; - - -Delete_statementContext.prototype.insert_with_table_hints = function() { - return this.getTypedRuleContext(Insert_with_table_hintsContext,0); -}; - -Delete_statementContext.prototype.output_clause = function() { - return this.getTypedRuleContext(Output_clauseContext,0); -}; - -Delete_statementContext.prototype.table_sources = function() { - return this.getTypedRuleContext(Table_sourcesContext,0); -}; - -Delete_statementContext.prototype.WHERE = function() { - return this.getToken(TSqlParser.WHERE, 0); -}; - -Delete_statementContext.prototype.for_clause = function() { - return this.getTypedRuleContext(For_clauseContext,0); -}; - -Delete_statementContext.prototype.option_clause = function() { - return this.getTypedRuleContext(Option_clauseContext,0); -}; - -Delete_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Delete_statementContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -Delete_statementContext.prototype.CURRENT = function() { - return this.getToken(TSqlParser.CURRENT, 0); -}; - -Delete_statementContext.prototype.OF = function() { - return this.getToken(TSqlParser.OF, 0); -}; - -Delete_statementContext.prototype.PERCENT = function() { - return this.getToken(TSqlParser.PERCENT, 0); -}; - -Delete_statementContext.prototype.cursor_name = function() { - return this.getTypedRuleContext(Cursor_nameContext,0); -}; - -Delete_statementContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Delete_statementContext.prototype.GLOBAL = function() { - return this.getToken(TSqlParser.GLOBAL, 0); -}; - -Delete_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDelete_statement(this); - } -}; - -Delete_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDelete_statement(this); - } -}; - -Delete_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDelete_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Delete_statementContext = Delete_statementContext; - -TSqlParser.prototype.delete_statement = function() { - - var localctx = new Delete_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 434, TSqlParser.RULE_delete_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5821; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 5820; - this.with_expression(); - } - - this.state = 5823; - this.match(TSqlParser.DELETE); - this.state = 5833; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,721,this._ctx); - if(la_===1) { - this.state = 5824; - this.match(TSqlParser.TOP); - this.state = 5825; - this.match(TSqlParser.LR_BRACKET); - this.state = 5826; - this.expression(0); - this.state = 5827; - this.match(TSqlParser.RR_BRACKET); - this.state = 5829; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PERCENT) { - this.state = 5828; - this.match(TSqlParser.PERCENT); - } - - - } else if(la_===2) { - this.state = 5831; - this.match(TSqlParser.TOP); - this.state = 5832; - this.match(TSqlParser.DECIMAL); - - } - this.state = 5836; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 5835; - this.match(TSqlParser.FROM); - } - - this.state = 5838; - this.delete_statement_from(); - this.state = 5840; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,723,this._ctx); - if(la_===1) { - this.state = 5839; - this.insert_with_table_hints(); - - } - this.state = 5843; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,724,this._ctx); - if(la_===1) { - this.state = 5842; - this.output_clause(); - - } - this.state = 5847; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 5845; - this.match(TSqlParser.FROM); - this.state = 5846; - this.table_sources(); - } - - this.state = 5862; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WHERE) { - this.state = 5849; - this.match(TSqlParser.WHERE); - this.state = 5860; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.BLOCKING_HIERARCHY: - case TSqlParser.CALLED: - case TSqlParser.CASE: - case TSqlParser.COALESCE: - case TSqlParser.CONVERT: - case TSqlParser.CURRENT_TIMESTAMP: - case TSqlParser.CURRENT_USER: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.DEFAULT: - case TSqlParser.EVENTDATA: - case TSqlParser.EXISTS: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.IDENTITY: - case TSqlParser.IIF: - case TSqlParser.INIT: - case TSqlParser.ISNULL: - case TSqlParser.KEY: - case TSqlParser.LEFT: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.NOT: - case TSqlParser.NULL: - case TSqlParser.NULLIF: - case TSqlParser.OFFSETS: - case TSqlParser.OVER: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.RIGHT: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SESSION_USER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.SYSTEM_USER: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.LOCAL_ID: - case TSqlParser.DECIMAL: - case TSqlParser.ID: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.LR_BRACKET: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - case TSqlParser.BIT_NOT: - this.state = 5850; - this.search_condition(); - break; - case TSqlParser.CURRENT: - this.state = 5851; - this.match(TSqlParser.CURRENT); - this.state = 5852; - this.match(TSqlParser.OF); - this.state = 5858; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,727,this._ctx); - switch(la_) { - case 1: - this.state = 5854; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,726,this._ctx); - if(la_===1) { - this.state = 5853; - this.match(TSqlParser.GLOBAL); - - } - this.state = 5856; - this.cursor_name(); - break; - - case 2: - this.state = 5857; - localctx.cursor_var = this.match(TSqlParser.LOCAL_ID); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - this.state = 5865; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 5864; - this.for_clause(); - } - - this.state = 5868; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OPTION) { - this.state = 5867; - this.option_clause(); - } - - this.state = 5871; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,732,this._ctx); - if(la_===1) { - this.state = 5870; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Delete_statement_fromContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_delete_statement_from; - this.table_var = null; // Token - return this; -} - -Delete_statement_fromContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Delete_statement_fromContext.prototype.constructor = Delete_statement_fromContext; - -Delete_statement_fromContext.prototype.ddl_object = function() { - return this.getTypedRuleContext(Ddl_objectContext,0); -}; - -Delete_statement_fromContext.prototype.table_alias = function() { - return this.getTypedRuleContext(Table_aliasContext,0); -}; - -Delete_statement_fromContext.prototype.rowset_function_limited = function() { - return this.getTypedRuleContext(Rowset_function_limitedContext,0); -}; - -Delete_statement_fromContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Delete_statement_fromContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDelete_statement_from(this); - } -}; - -Delete_statement_fromContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDelete_statement_from(this); - } -}; - -Delete_statement_fromContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDelete_statement_from(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Delete_statement_fromContext = Delete_statement_fromContext; - -TSqlParser.prototype.delete_statement_from = function() { - - var localctx = new Delete_statement_fromContext(this, this._ctx, this.state); - this.enterRule(localctx, 436, TSqlParser.RULE_delete_statement_from); - try { - this.state = 5877; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,733,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 5873; - this.ddl_object(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 5874; - this.table_alias(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 5875; - this.rowset_function_limited(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 5876; - localctx.table_var = this.match(TSqlParser.LOCAL_ID); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Insert_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_insert_statement; - return this; -} - -Insert_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Insert_statementContext.prototype.constructor = Insert_statementContext; - -Insert_statementContext.prototype.INSERT = function() { - return this.getToken(TSqlParser.INSERT, 0); -}; - -Insert_statementContext.prototype.insert_statement_value = function() { - return this.getTypedRuleContext(Insert_statement_valueContext,0); -}; - -Insert_statementContext.prototype.ddl_object = function() { - return this.getTypedRuleContext(Ddl_objectContext,0); -}; - -Insert_statementContext.prototype.rowset_function_limited = function() { - return this.getTypedRuleContext(Rowset_function_limitedContext,0); -}; - -Insert_statementContext.prototype.with_expression = function() { - return this.getTypedRuleContext(With_expressionContext,0); -}; - -Insert_statementContext.prototype.TOP = function() { - return this.getToken(TSqlParser.TOP, 0); -}; - -Insert_statementContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Insert_statementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Insert_statementContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Insert_statementContext.prototype.INTO = function() { - return this.getToken(TSqlParser.INTO, 0); -}; - -Insert_statementContext.prototype.insert_with_table_hints = function() { - return this.getTypedRuleContext(Insert_with_table_hintsContext,0); -}; - -Insert_statementContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Insert_statementContext.prototype.output_clause = function() { - return this.getTypedRuleContext(Output_clauseContext,0); -}; - -Insert_statementContext.prototype.for_clause = function() { - return this.getTypedRuleContext(For_clauseContext,0); -}; - -Insert_statementContext.prototype.option_clause = function() { - return this.getTypedRuleContext(Option_clauseContext,0); -}; - -Insert_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Insert_statementContext.prototype.PERCENT = function() { - return this.getToken(TSqlParser.PERCENT, 0); -}; - -Insert_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterInsert_statement(this); - } -}; - -Insert_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitInsert_statement(this); - } -}; - -Insert_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitInsert_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Insert_statementContext = Insert_statementContext; - -TSqlParser.prototype.insert_statement = function() { - - var localctx = new Insert_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 438, TSqlParser.RULE_insert_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5880; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 5879; - this.with_expression(); - } - - this.state = 5882; - this.match(TSqlParser.INSERT); - this.state = 5890; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.TOP) { - this.state = 5883; - this.match(TSqlParser.TOP); - this.state = 5884; - this.match(TSqlParser.LR_BRACKET); - this.state = 5885; - this.expression(0); - this.state = 5886; - this.match(TSqlParser.RR_BRACKET); - this.state = 5888; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PERCENT) { - this.state = 5887; - this.match(TSqlParser.PERCENT); - } - - } - - this.state = 5893; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INTO) { - this.state = 5892; - this.match(TSqlParser.INTO); - } - - this.state = 5897; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.LOCAL_ID: - case TSqlParser.ID: - this.state = 5895; - this.ddl_object(); - break; - case TSqlParser.OPENDATASOURCE: - case TSqlParser.OPENQUERY: - this.state = 5896; - this.rowset_function_limited(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5900; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,739,this._ctx); - if(la_===1) { - this.state = 5899; - this.insert_with_table_hints(); - - } - this.state = 5906; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,740,this._ctx); - if(la_===1) { - this.state = 5902; - this.match(TSqlParser.LR_BRACKET); - this.state = 5903; - this.column_name_list(); - this.state = 5904; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 5909; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OUTPUT) { - this.state = 5908; - this.output_clause(); - } - - this.state = 5911; - this.insert_statement_value(); - this.state = 5913; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 5912; - this.for_clause(); - } - - this.state = 5916; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OPTION) { - this.state = 5915; - this.option_clause(); - } - - this.state = 5919; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,744,this._ctx); - if(la_===1) { - this.state = 5918; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Insert_statement_valueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_insert_statement_value; - return this; -} - -Insert_statement_valueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Insert_statement_valueContext.prototype.constructor = Insert_statement_valueContext; - -Insert_statement_valueContext.prototype.table_value_constructor = function() { - return this.getTypedRuleContext(Table_value_constructorContext,0); -}; - -Insert_statement_valueContext.prototype.derived_table = function() { - return this.getTypedRuleContext(Derived_tableContext,0); -}; - -Insert_statement_valueContext.prototype.execute_statement = function() { - return this.getTypedRuleContext(Execute_statementContext,0); -}; - -Insert_statement_valueContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Insert_statement_valueContext.prototype.VALUES = function() { - return this.getToken(TSqlParser.VALUES, 0); -}; - -Insert_statement_valueContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterInsert_statement_value(this); - } -}; - -Insert_statement_valueContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitInsert_statement_value(this); - } -}; - -Insert_statement_valueContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitInsert_statement_value(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Insert_statement_valueContext = Insert_statement_valueContext; - -TSqlParser.prototype.insert_statement_value = function() { - - var localctx = new Insert_statement_valueContext(this, this._ctx, this.state); - this.enterRule(localctx, 440, TSqlParser.RULE_insert_statement_value); - try { - this.state = 5926; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,745,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 5921; - this.table_value_constructor(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 5922; - this.derived_table(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 5923; - this.execute_statement(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 5924; - this.match(TSqlParser.DEFAULT); - this.state = 5925; - this.match(TSqlParser.VALUES); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Receive_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_receive_statement; - this.table_variable = null; // IdContext - this.where = null; // Search_conditionContext - return this; -} - -Receive_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Receive_statementContext.prototype.constructor = Receive_statementContext; - -Receive_statementContext.prototype.RECEIVE = function() { - return this.getToken(TSqlParser.RECEIVE, 0); -}; - -Receive_statementContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Receive_statementContext.prototype.full_table_name = function() { - return this.getTypedRuleContext(Full_table_nameContext,0); -}; - -Receive_statementContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Receive_statementContext.prototype.DISTINCT = function() { - return this.getToken(TSqlParser.DISTINCT, 0); -}; - -Receive_statementContext.prototype.top_clause = function() { - return this.getTypedRuleContext(Top_clauseContext,0); -}; - -Receive_statementContext.prototype.STAR = function() { - return this.getToken(TSqlParser.STAR, 0); -}; - -Receive_statementContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Receive_statementContext.prototype.LOCAL_ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOCAL_ID); - } else { - return this.getToken(TSqlParser.LOCAL_ID, i); - } -}; - - -Receive_statementContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Receive_statementContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -Receive_statementContext.prototype.INTO = function() { - return this.getToken(TSqlParser.INTO, 0); -}; - -Receive_statementContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Receive_statementContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Receive_statementContext.prototype.WHERE = function() { - return this.getToken(TSqlParser.WHERE, 0); -}; - -Receive_statementContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Receive_statementContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -Receive_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterReceive_statement(this); - } -}; - -Receive_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitReceive_statement(this); - } -}; - -Receive_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitReceive_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Receive_statementContext = Receive_statementContext; - -TSqlParser.prototype.receive_statement = function() { - - var localctx = new Receive_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 442, TSqlParser.RULE_receive_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5929; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 5928; - this.match(TSqlParser.LR_BRACKET); - } - - this.state = 5931; - this.match(TSqlParser.RECEIVE); - this.state = 5936; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALL: - this.state = 5932; - this.match(TSqlParser.ALL); - break; - case TSqlParser.DISTINCT: - this.state = 5933; - this.match(TSqlParser.DISTINCT); - break; - case TSqlParser.TOP: - this.state = 5934; - this.top_clause(); - break; - case TSqlParser.STAR: - this.state = 5935; - this.match(TSqlParser.STAR); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5946; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.LOCAL_ID) { - this.state = 5938; - this.match(TSqlParser.LOCAL_ID); - this.state = 5939; - this.match(TSqlParser.EQUAL); - this.state = 5940; - this.expression(0); - this.state = 5942; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 5941; - this.match(TSqlParser.COMMA); - } - - this.state = 5948; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 5949; - this.match(TSqlParser.FROM); - this.state = 5950; - this.full_table_name(); - this.state = 5956; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INTO) { - this.state = 5951; - this.match(TSqlParser.INTO); - this.state = 5952; - localctx.table_variable = this.id(); - - this.state = 5953; - this.match(TSqlParser.WHERE); - this.state = 5954; - localctx.where = this.search_condition(); - } - - this.state = 5959; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.RR_BRACKET) { - this.state = 5958; - this.match(TSqlParser.RR_BRACKET); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Select_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_select_statement; - return this; -} - -Select_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Select_statementContext.prototype.constructor = Select_statementContext; - -Select_statementContext.prototype.query_expression = function() { - return this.getTypedRuleContext(Query_expressionContext,0); -}; - -Select_statementContext.prototype.with_expression = function() { - return this.getTypedRuleContext(With_expressionContext,0); -}; - -Select_statementContext.prototype.order_by_clause = function() { - return this.getTypedRuleContext(Order_by_clauseContext,0); -}; - -Select_statementContext.prototype.for_clause = function() { - return this.getTypedRuleContext(For_clauseContext,0); -}; - -Select_statementContext.prototype.option_clause = function() { - return this.getTypedRuleContext(Option_clauseContext,0); -}; - -Select_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Select_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSelect_statement(this); - } -}; - -Select_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSelect_statement(this); - } -}; - -Select_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSelect_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Select_statementContext = Select_statementContext; - -TSqlParser.prototype.select_statement = function() { - - var localctx = new Select_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 444, TSqlParser.RULE_select_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5962; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 5961; - this.with_expression(); - } - - this.state = 5964; - this.query_expression(); - this.state = 5966; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,753,this._ctx); - if(la_===1) { - this.state = 5965; - this.order_by_clause(); - - } - this.state = 5969; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,754,this._ctx); - if(la_===1) { - this.state = 5968; - this.for_clause(); - - } - this.state = 5972; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,755,this._ctx); - if(la_===1) { - this.state = 5971; - this.option_clause(); - - } - this.state = 5975; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,756,this._ctx); - if(la_===1) { - this.state = 5974; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function TimeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_time; - return this; -} - -TimeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -TimeContext.prototype.constructor = TimeContext; - -TimeContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -TimeContext.prototype.constant = function() { - return this.getTypedRuleContext(ConstantContext,0); -}; - -TimeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTime(this); - } -}; - -TimeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTime(this); - } -}; - -TimeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTime(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.TimeContext = TimeContext; - -TSqlParser.prototype.time = function() { - - var localctx = new TimeContext(this, this._ctx, this.state); - this.enterRule(localctx, 446, TSqlParser.RULE_time); - try { - this.enterOuterAlt(localctx, 1); - this.state = 5979; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.LOCAL_ID: - this.state = 5977; - this.match(TSqlParser.LOCAL_ID); - break; - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.state = 5978; - this.constant(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Update_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_update_statement; - this.cursor_var = null; // Token - return this; -} - -Update_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Update_statementContext.prototype.constructor = Update_statementContext; - -Update_statementContext.prototype.UPDATE = function() { - return this.getToken(TSqlParser.UPDATE, 0); -}; - -Update_statementContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Update_statementContext.prototype.update_elem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Update_elemContext); - } else { - return this.getTypedRuleContext(Update_elemContext,i); - } -}; - -Update_statementContext.prototype.ddl_object = function() { - return this.getTypedRuleContext(Ddl_objectContext,0); -}; - -Update_statementContext.prototype.rowset_function_limited = function() { - return this.getTypedRuleContext(Rowset_function_limitedContext,0); -}; - -Update_statementContext.prototype.with_expression = function() { - return this.getTypedRuleContext(With_expressionContext,0); -}; - -Update_statementContext.prototype.TOP = function() { - return this.getToken(TSqlParser.TOP, 0); -}; - -Update_statementContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Update_statementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Update_statementContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Update_statementContext.prototype.with_table_hints = function() { - return this.getTypedRuleContext(With_table_hintsContext,0); -}; - -Update_statementContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Update_statementContext.prototype.output_clause = function() { - return this.getTypedRuleContext(Output_clauseContext,0); -}; - -Update_statementContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Update_statementContext.prototype.table_sources = function() { - return this.getTypedRuleContext(Table_sourcesContext,0); -}; - -Update_statementContext.prototype.WHERE = function() { - return this.getToken(TSqlParser.WHERE, 0); -}; - -Update_statementContext.prototype.for_clause = function() { - return this.getTypedRuleContext(For_clauseContext,0); -}; - -Update_statementContext.prototype.option_clause = function() { - return this.getTypedRuleContext(Option_clauseContext,0); -}; - -Update_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Update_statementContext.prototype.search_condition_list = function() { - return this.getTypedRuleContext(Search_condition_listContext,0); -}; - -Update_statementContext.prototype.CURRENT = function() { - return this.getToken(TSqlParser.CURRENT, 0); -}; - -Update_statementContext.prototype.OF = function() { - return this.getToken(TSqlParser.OF, 0); -}; - -Update_statementContext.prototype.PERCENT = function() { - return this.getToken(TSqlParser.PERCENT, 0); -}; - -Update_statementContext.prototype.cursor_name = function() { - return this.getTypedRuleContext(Cursor_nameContext,0); -}; - -Update_statementContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Update_statementContext.prototype.GLOBAL = function() { - return this.getToken(TSqlParser.GLOBAL, 0); -}; - -Update_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterUpdate_statement(this); - } -}; - -Update_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitUpdate_statement(this); - } -}; - -Update_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitUpdate_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Update_statementContext = Update_statementContext; - -TSqlParser.prototype.update_statement = function() { - - var localctx = new Update_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 448, TSqlParser.RULE_update_statement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 5982; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 5981; - this.with_expression(); - } - - this.state = 5984; - this.match(TSqlParser.UPDATE); - this.state = 5992; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.TOP) { - this.state = 5985; - this.match(TSqlParser.TOP); - this.state = 5986; - this.match(TSqlParser.LR_BRACKET); - this.state = 5987; - this.expression(0); - this.state = 5988; - this.match(TSqlParser.RR_BRACKET); - this.state = 5990; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PERCENT) { - this.state = 5989; - this.match(TSqlParser.PERCENT); - } - - } - - this.state = 5996; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.LOCAL_ID: - case TSqlParser.ID: - this.state = 5994; - this.ddl_object(); - break; - case TSqlParser.OPENDATASOURCE: - case TSqlParser.OPENQUERY: - this.state = 5995; - this.rowset_function_limited(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 5999; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH || _la===TSqlParser.LR_BRACKET) { - this.state = 5998; - this.with_table_hints(); - } - - this.state = 6001; - this.match(TSqlParser.SET); - this.state = 6002; - this.update_elem(); - this.state = 6007; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6003; - this.match(TSqlParser.COMMA); - this.state = 6004; - this.update_elem(); - this.state = 6009; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 6011; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,764,this._ctx); - if(la_===1) { - this.state = 6010; - this.output_clause(); - - } - this.state = 6015; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 6013; - this.match(TSqlParser.FROM); - this.state = 6014; - this.table_sources(); - } - - this.state = 6030; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WHERE) { - this.state = 6017; - this.match(TSqlParser.WHERE); - this.state = 6028; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.BLOCKING_HIERARCHY: - case TSqlParser.CALLED: - case TSqlParser.CASE: - case TSqlParser.COALESCE: - case TSqlParser.CONVERT: - case TSqlParser.CURRENT_TIMESTAMP: - case TSqlParser.CURRENT_USER: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.DEFAULT: - case TSqlParser.EVENTDATA: - case TSqlParser.EXISTS: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.IDENTITY: - case TSqlParser.IIF: - case TSqlParser.INIT: - case TSqlParser.ISNULL: - case TSqlParser.KEY: - case TSqlParser.LEFT: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.NOT: - case TSqlParser.NULL: - case TSqlParser.NULLIF: - case TSqlParser.OFFSETS: - case TSqlParser.OVER: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.RIGHT: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SESSION_USER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.SYSTEM_USER: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.LOCAL_ID: - case TSqlParser.DECIMAL: - case TSqlParser.ID: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.LR_BRACKET: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - case TSqlParser.BIT_NOT: - this.state = 6018; - this.search_condition_list(); - break; - case TSqlParser.CURRENT: - this.state = 6019; - this.match(TSqlParser.CURRENT); - this.state = 6020; - this.match(TSqlParser.OF); - this.state = 6026; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,767,this._ctx); - switch(la_) { - case 1: - this.state = 6022; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,766,this._ctx); - if(la_===1) { - this.state = 6021; - this.match(TSqlParser.GLOBAL); - - } - this.state = 6024; - this.cursor_name(); - break; - - case 2: - this.state = 6025; - localctx.cursor_var = this.match(TSqlParser.LOCAL_ID); - break; - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - this.state = 6033; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 6032; - this.for_clause(); - } - - this.state = 6036; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OPTION) { - this.state = 6035; - this.option_clause(); - } - - this.state = 6039; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,772,this._ctx); - if(la_===1) { - this.state = 6038; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Output_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_output_clause; - return this; -} - -Output_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Output_clauseContext.prototype.constructor = Output_clauseContext; - -Output_clauseContext.prototype.OUTPUT = function() { - return this.getToken(TSqlParser.OUTPUT, 0); -}; - -Output_clauseContext.prototype.output_dml_list_elem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Output_dml_list_elemContext); - } else { - return this.getTypedRuleContext(Output_dml_list_elemContext,i); - } -}; - -Output_clauseContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Output_clauseContext.prototype.INTO = function() { - return this.getToken(TSqlParser.INTO, 0); -}; - -Output_clauseContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Output_clauseContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Output_clauseContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Output_clauseContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Output_clauseContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Output_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOutput_clause(this); - } -}; - -Output_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOutput_clause(this); - } -}; - -Output_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOutput_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Output_clauseContext = Output_clauseContext; - -TSqlParser.prototype.output_clause = function() { - - var localctx = new Output_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 450, TSqlParser.RULE_output_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6041; - this.match(TSqlParser.OUTPUT); - this.state = 6042; - this.output_dml_list_elem(); - this.state = 6047; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6043; - this.match(TSqlParser.COMMA); - this.state = 6044; - this.output_dml_list_elem(); - this.state = 6049; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 6061; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INTO) { - this.state = 6050; - this.match(TSqlParser.INTO); - this.state = 6053; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.LOCAL_ID: - this.state = 6051; - this.match(TSqlParser.LOCAL_ID); - break; - case TSqlParser.BLOCKING_HIERARCHY: - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 6052; - this.table_name(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6059; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,775,this._ctx); - if(la_===1) { - this.state = 6055; - this.match(TSqlParser.LR_BRACKET); - this.state = 6056; - this.column_name_list(); - this.state = 6057; - this.match(TSqlParser.RR_BRACKET); - - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Output_dml_list_elemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_output_dml_list_elem; - return this; -} - -Output_dml_list_elemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Output_dml_list_elemContext.prototype.constructor = Output_dml_list_elemContext; - -Output_dml_list_elemContext.prototype.output_column_name = function() { - return this.getTypedRuleContext(Output_column_nameContext,0); -}; - -Output_dml_list_elemContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Output_dml_list_elemContext.prototype.as_column_alias = function() { - return this.getTypedRuleContext(As_column_aliasContext,0); -}; - -Output_dml_list_elemContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOutput_dml_list_elem(this); - } -}; - -Output_dml_list_elemContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOutput_dml_list_elem(this); - } -}; - -Output_dml_list_elemContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOutput_dml_list_elem(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Output_dml_list_elemContext = Output_dml_list_elemContext; - -TSqlParser.prototype.output_dml_list_elem = function() { - - var localctx = new Output_dml_list_elemContext(this, this._ctx, this.state); - this.enterRule(localctx, 452, TSqlParser.RULE_output_dml_list_elem); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6065; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,777,this._ctx); - switch(la_) { - case 1: - this.state = 6063; - this.output_column_name(); - break; - - case 2: - this.state = 6064; - this.expression(0); - break; - - } - this.state = 6068; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,778,this._ctx); - if(la_===1) { - this.state = 6067; - this.as_column_alias(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Output_column_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_output_column_name; - return this; -} - -Output_column_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Output_column_nameContext.prototype.constructor = Output_column_nameContext; - -Output_column_nameContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Output_column_nameContext.prototype.DELETED = function() { - return this.getToken(TSqlParser.DELETED, 0); -}; - -Output_column_nameContext.prototype.INSERTED = function() { - return this.getToken(TSqlParser.INSERTED, 0); -}; - -Output_column_nameContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Output_column_nameContext.prototype.STAR = function() { - return this.getToken(TSqlParser.STAR, 0); -}; - -Output_column_nameContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Output_column_nameContext.prototype.DOLLAR_ACTION = function() { - return this.getToken(TSqlParser.DOLLAR_ACTION, 0); -}; - -Output_column_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOutput_column_name(this); - } -}; - -Output_column_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOutput_column_name(this); - } -}; - -Output_column_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOutput_column_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Output_column_nameContext = Output_column_nameContext; - -TSqlParser.prototype.output_column_name = function() { - - var localctx = new Output_column_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 454, TSqlParser.RULE_output_column_name); - try { - this.state = 6081; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.BLOCKING_HIERARCHY: - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 1); - this.state = 6073; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,779,this._ctx); - switch(la_) { - case 1: - this.state = 6070; - this.match(TSqlParser.DELETED); - break; - - case 2: - this.state = 6071; - this.match(TSqlParser.INSERTED); - break; - - case 3: - this.state = 6072; - this.table_name(); - break; - - } - this.state = 6075; - this.match(TSqlParser.DOT); - this.state = 6078; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STAR: - this.state = 6076; - this.match(TSqlParser.STAR); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 6077; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.DOLLAR_ACTION: - this.enterOuterAlt(localctx, 2); - this.state = 6080; - this.match(TSqlParser.DOLLAR_ACTION); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_databaseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_database; - this.database = null; // IdContext - this.collation_name = null; // IdContext - return this; -} - -Create_databaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_databaseContext.prototype.constructor = Create_databaseContext; - -Create_databaseContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_databaseContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Create_databaseContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_databaseContext.prototype.CONTAINMENT = function() { - return this.getToken(TSqlParser.CONTAINMENT, 0); -}; - -Create_databaseContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_databaseContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_databaseContext.prototype.database_file_spec = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Database_file_specContext); - } else { - return this.getTypedRuleContext(Database_file_specContext,i); - } -}; - -Create_databaseContext.prototype.LOG = function() { - return this.getToken(TSqlParser.LOG, 0); -}; - -Create_databaseContext.prototype.COLLATE = function() { - return this.getToken(TSqlParser.COLLATE, 0); -}; - -Create_databaseContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_databaseContext.prototype.create_database_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Create_database_optionContext); - } else { - return this.getTypedRuleContext(Create_database_optionContext,i); - } -}; - -Create_databaseContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Create_databaseContext.prototype.PARTIAL = function() { - return this.getToken(TSqlParser.PARTIAL, 0); -}; - -Create_databaseContext.prototype.PRIMARY = function() { - return this.getToken(TSqlParser.PRIMARY, 0); -}; - -Create_databaseContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_databaseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_database(this); - } -}; - -Create_databaseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_database(this); - } -}; - -Create_databaseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_database(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_databaseContext = Create_databaseContext; - -TSqlParser.prototype.create_database = function() { - - var localctx = new Create_databaseContext(this, this._ctx, this.state); - this.enterRule(localctx, 456, TSqlParser.RULE_create_database); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6083; - this.match(TSqlParser.CREATE); - this.state = 6084; - this.match(TSqlParser.DATABASE); - - this.state = 6085; - localctx.database = this.id(); - this.state = 6089; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONTAINMENT) { - this.state = 6086; - this.match(TSqlParser.CONTAINMENT); - this.state = 6087; - this.match(TSqlParser.EQUAL); - this.state = 6088; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NONE || _la===TSqlParser.PARTIAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 6103; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ON) { - this.state = 6091; - this.match(TSqlParser.ON); - this.state = 6093; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PRIMARY) { - this.state = 6092; - this.match(TSqlParser.PRIMARY); - } - - this.state = 6095; - this.database_file_spec(); - this.state = 6100; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6096; - this.match(TSqlParser.COMMA); - this.state = 6097; - this.database_file_spec(); - this.state = 6102; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6115; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LOG) { - this.state = 6105; - this.match(TSqlParser.LOG); - this.state = 6106; - this.match(TSqlParser.ON); - this.state = 6107; - this.database_file_spec(); - this.state = 6112; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6108; - this.match(TSqlParser.COMMA); - this.state = 6109; - this.database_file_spec(); - this.state = 6114; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6119; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COLLATE) { - this.state = 6117; - this.match(TSqlParser.COLLATE); - this.state = 6118; - localctx.collation_name = this.id(); - } - - this.state = 6130; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,790,this._ctx); - if(la_===1) { - this.state = 6121; - this.match(TSqlParser.WITH); - this.state = 6122; - this.create_database_option(); - this.state = 6127; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6123; - this.match(TSqlParser.COMMA); - this.state = 6124; - this.create_database_option(); - this.state = 6129; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_indexContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_index; - this.where = null; // Search_conditionContext - return this; -} - -Create_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_indexContext.prototype.constructor = Create_indexContext; - -Create_indexContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_indexContext.prototype.INDEX = function() { - return this.getToken(TSqlParser.INDEX, 0); -}; - -Create_indexContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_indexContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Create_indexContext.prototype.table_name_with_hint = function() { - return this.getTypedRuleContext(Table_name_with_hintContext,0); -}; - -Create_indexContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Create_indexContext.prototype.column_name_list_with_order = function() { - return this.getTypedRuleContext(Column_name_list_with_orderContext,0); -}; - -Create_indexContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Create_indexContext.prototype.UNIQUE = function() { - return this.getToken(TSqlParser.UNIQUE, 0); -}; - -Create_indexContext.prototype.clustered = function() { - return this.getTypedRuleContext(ClusteredContext,0); -}; - -Create_indexContext.prototype.INCLUDE = function() { - return this.getToken(TSqlParser.INCLUDE, 0); -}; - -Create_indexContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Create_indexContext.prototype.WHERE = function() { - return this.getToken(TSqlParser.WHERE, 0); -}; - -Create_indexContext.prototype.index_options = function() { - return this.getTypedRuleContext(Index_optionsContext,0); -}; - -Create_indexContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Create_indexContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -Create_indexContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_index(this); - } -}; - -Create_indexContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_index(this); - } -}; - -Create_indexContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_index(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_indexContext = Create_indexContext; - -TSqlParser.prototype.create_index = function() { - - var localctx = new Create_indexContext(this, this._ctx, this.state); - this.enterRule(localctx, 458, TSqlParser.RULE_create_index); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6132; - this.match(TSqlParser.CREATE); - this.state = 6134; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.UNIQUE) { - this.state = 6133; - this.match(TSqlParser.UNIQUE); - } - - this.state = 6137; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CLUSTERED || _la===TSqlParser.NONCLUSTERED) { - this.state = 6136; - this.clustered(); - } - - this.state = 6139; - this.match(TSqlParser.INDEX); - this.state = 6140; - this.id(); - this.state = 6141; - this.match(TSqlParser.ON); - this.state = 6142; - this.table_name_with_hint(); - this.state = 6143; - this.match(TSqlParser.LR_BRACKET); - this.state = 6144; - this.column_name_list_with_order(); - this.state = 6145; - this.match(TSqlParser.RR_BRACKET); - this.state = 6151; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INCLUDE) { - this.state = 6146; - this.match(TSqlParser.INCLUDE); - this.state = 6147; - this.match(TSqlParser.LR_BRACKET); - this.state = 6148; - this.column_name_list(); - this.state = 6149; - this.match(TSqlParser.RR_BRACKET); - } - - this.state = 6155; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WHERE) { - this.state = 6153; - this.match(TSqlParser.WHERE); - this.state = 6154; - localctx.where = this.search_condition(); - } - - this.state = 6158; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,795,this._ctx); - if(la_===1) { - this.state = 6157; - this.index_options(); - - } - this.state = 6162; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ON) { - this.state = 6160; - this.match(TSqlParser.ON); - this.state = 6161; - this.id(); - } - - this.state = 6165; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,797,this._ctx); - if(la_===1) { - this.state = 6164; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_or_alter_procedureContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_or_alter_procedure; - this.proc = null; // Token - return this; -} - -Create_or_alter_procedureContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_or_alter_procedureContext.prototype.constructor = Create_or_alter_procedureContext; - -Create_or_alter_procedureContext.prototype.func_proc_name_schema = function() { - return this.getTypedRuleContext(Func_proc_name_schemaContext,0); -}; - -Create_or_alter_procedureContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_or_alter_procedureContext.prototype.sql_clauses = function() { - return this.getTypedRuleContext(Sql_clausesContext,0); -}; - -Create_or_alter_procedureContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Create_or_alter_procedureContext.prototype.PROC = function() { - return this.getToken(TSqlParser.PROC, 0); -}; - -Create_or_alter_procedureContext.prototype.PROCEDURE = function() { - return this.getToken(TSqlParser.PROCEDURE, 0); -}; - -Create_or_alter_procedureContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Create_or_alter_procedureContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Create_or_alter_procedureContext.prototype.procedure_param = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Procedure_paramContext); - } else { - return this.getTypedRuleContext(Procedure_paramContext,i); - } -}; - -Create_or_alter_procedureContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_or_alter_procedureContext.prototype.procedure_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Procedure_optionContext); - } else { - return this.getTypedRuleContext(Procedure_optionContext,i); - } -}; - -Create_or_alter_procedureContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_or_alter_procedureContext.prototype.REPLICATION = function() { - return this.getToken(TSqlParser.REPLICATION, 0); -}; - -Create_or_alter_procedureContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_or_alter_procedureContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_or_alter_procedureContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_or_alter_procedureContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_or_alter_procedureContext.prototype.OR = function() { - return this.getToken(TSqlParser.OR, 0); -}; - -Create_or_alter_procedureContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_or_alter_procedure(this); - } -}; - -Create_or_alter_procedureContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_or_alter_procedure(this); - } -}; - -Create_or_alter_procedureContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_or_alter_procedure(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_or_alter_procedureContext = Create_or_alter_procedureContext; - -TSqlParser.prototype.create_or_alter_procedure = function() { - - var localctx = new Create_or_alter_procedureContext(this, this._ctx, this.state); - this.enterRule(localctx, 460, TSqlParser.RULE_create_or_alter_procedure); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6173; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CREATE: - this.state = 6167; - this.match(TSqlParser.CREATE); - this.state = 6170; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OR) { - this.state = 6168; - this.match(TSqlParser.OR); - this.state = 6169; - this.match(TSqlParser.ALTER); - } - - break; - case TSqlParser.ALTER: - this.state = 6172; - this.match(TSqlParser.ALTER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6175; - localctx.proc = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.PROC || _la===TSqlParser.PROCEDURE)) { - localctx.proc = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 6176; - this.func_proc_name_schema(); - this.state = 6179; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SEMI) { - this.state = 6177; - this.match(TSqlParser.SEMI); - this.state = 6178; - this.match(TSqlParser.DECIMAL); - } - - this.state = 6195; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.LR_BRACKET) { - this.state = 6182; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 6181; - this.match(TSqlParser.LR_BRACKET); - } - - this.state = 6184; - this.procedure_param(); - this.state = 6189; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6185; - this.match(TSqlParser.COMMA); - this.state = 6186; - this.procedure_param(); - this.state = 6191; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 6193; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.RR_BRACKET) { - this.state = 6192; - this.match(TSqlParser.RR_BRACKET); - } - - } - - this.state = 6206; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 6197; - this.match(TSqlParser.WITH); - this.state = 6198; - this.procedure_option(); - this.state = 6203; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6199; - this.match(TSqlParser.COMMA); - this.state = 6200; - this.procedure_option(); - this.state = 6205; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6210; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 6208; - this.match(TSqlParser.FOR); - this.state = 6209; - this.match(TSqlParser.REPLICATION); - } - - this.state = 6212; - this.match(TSqlParser.AS); - this.state = 6213; - this.sql_clauses(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_or_alter_triggerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_or_alter_trigger; - return this; -} - -Create_or_alter_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_or_alter_triggerContext.prototype.constructor = Create_or_alter_triggerContext; - -Create_or_alter_triggerContext.prototype.create_or_alter_dml_trigger = function() { - return this.getTypedRuleContext(Create_or_alter_dml_triggerContext,0); -}; - -Create_or_alter_triggerContext.prototype.create_or_alter_ddl_trigger = function() { - return this.getTypedRuleContext(Create_or_alter_ddl_triggerContext,0); -}; - -Create_or_alter_triggerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_or_alter_trigger(this); - } -}; - -Create_or_alter_triggerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_or_alter_trigger(this); - } -}; - -Create_or_alter_triggerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_or_alter_trigger(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_or_alter_triggerContext = Create_or_alter_triggerContext; - -TSqlParser.prototype.create_or_alter_trigger = function() { - - var localctx = new Create_or_alter_triggerContext(this, this._ctx, this.state); - this.enterRule(localctx, 462, TSqlParser.RULE_create_or_alter_trigger); - try { - this.state = 6217; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,808,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 6215; - this.create_or_alter_dml_trigger(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 6216; - this.create_or_alter_ddl_trigger(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_or_alter_dml_triggerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_or_alter_dml_trigger; - return this; -} - -Create_or_alter_dml_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_or_alter_dml_triggerContext.prototype.constructor = Create_or_alter_dml_triggerContext; - -Create_or_alter_dml_triggerContext.prototype.TRIGGER = function() { - return this.getToken(TSqlParser.TRIGGER, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.simple_name = function() { - return this.getTypedRuleContext(Simple_nameContext,0); -}; - -Create_or_alter_dml_triggerContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Create_or_alter_dml_triggerContext.prototype.dml_trigger_operation = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Dml_trigger_operationContext); - } else { - return this.getTypedRuleContext(Dml_trigger_operationContext,i); - } -}; - -Create_or_alter_dml_triggerContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.sql_clauses = function() { - return this.getTypedRuleContext(Sql_clausesContext,0); -}; - -Create_or_alter_dml_triggerContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.FOR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FOR); - } else { - return this.getToken(TSqlParser.FOR, i); - } -}; - - -Create_or_alter_dml_triggerContext.prototype.AFTER = function() { - return this.getToken(TSqlParser.AFTER, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.INSTEAD = function() { - return this.getToken(TSqlParser.INSTEAD, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.OF = function() { - return this.getToken(TSqlParser.OF, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.WITH = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.WITH); - } else { - return this.getToken(TSqlParser.WITH, i); - } -}; - - -Create_or_alter_dml_triggerContext.prototype.dml_trigger_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Dml_trigger_optionContext); - } else { - return this.getTypedRuleContext(Dml_trigger_optionContext,i); - } -}; - -Create_or_alter_dml_triggerContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_or_alter_dml_triggerContext.prototype.APPEND = function() { - return this.getToken(TSqlParser.APPEND, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.REPLICATION = function() { - return this.getToken(TSqlParser.REPLICATION, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.OR = function() { - return this.getToken(TSqlParser.OR, 0); -}; - -Create_or_alter_dml_triggerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_or_alter_dml_trigger(this); - } -}; - -Create_or_alter_dml_triggerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_or_alter_dml_trigger(this); - } -}; - -Create_or_alter_dml_triggerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_or_alter_dml_trigger(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_or_alter_dml_triggerContext = Create_or_alter_dml_triggerContext; - -TSqlParser.prototype.create_or_alter_dml_trigger = function() { - - var localctx = new Create_or_alter_dml_triggerContext(this, this._ctx, this.state); - this.enterRule(localctx, 464, TSqlParser.RULE_create_or_alter_dml_trigger); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6225; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CREATE: - this.state = 6219; - this.match(TSqlParser.CREATE); - this.state = 6222; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OR) { - this.state = 6220; - this.match(TSqlParser.OR); - this.state = 6221; - this.match(TSqlParser.ALTER); - } - - break; - case TSqlParser.ALTER: - this.state = 6224; - this.match(TSqlParser.ALTER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6227; - this.match(TSqlParser.TRIGGER); - this.state = 6228; - this.simple_name(); - this.state = 6229; - this.match(TSqlParser.ON); - this.state = 6230; - this.table_name(); - this.state = 6240; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 6231; - this.match(TSqlParser.WITH); - this.state = 6232; - this.dml_trigger_option(); - this.state = 6237; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6233; - this.match(TSqlParser.COMMA); - this.state = 6234; - this.dml_trigger_option(); - this.state = 6239; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6246; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FOR: - this.state = 6242; - this.match(TSqlParser.FOR); - break; - case TSqlParser.AFTER: - this.state = 6243; - this.match(TSqlParser.AFTER); - break; - case TSqlParser.INSTEAD: - this.state = 6244; - this.match(TSqlParser.INSTEAD); - this.state = 6245; - this.match(TSqlParser.OF); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6248; - this.dml_trigger_operation(); - this.state = 6253; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6249; - this.match(TSqlParser.COMMA); - this.state = 6250; - this.dml_trigger_operation(); - this.state = 6255; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 6258; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 6256; - this.match(TSqlParser.WITH); - this.state = 6257; - this.match(TSqlParser.APPEND); - } - - this.state = 6263; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 6260; - this.match(TSqlParser.NOT); - this.state = 6261; - this.match(TSqlParser.FOR); - this.state = 6262; - this.match(TSqlParser.REPLICATION); - } - - this.state = 6265; - this.match(TSqlParser.AS); - this.state = 6266; - this.sql_clauses(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Dml_trigger_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_dml_trigger_option; - return this; -} - -Dml_trigger_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Dml_trigger_optionContext.prototype.constructor = Dml_trigger_optionContext; - -Dml_trigger_optionContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Dml_trigger_optionContext.prototype.execute_clause = function() { - return this.getTypedRuleContext(Execute_clauseContext,0); -}; - -Dml_trigger_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDml_trigger_option(this); - } -}; - -Dml_trigger_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDml_trigger_option(this); - } -}; - -Dml_trigger_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDml_trigger_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Dml_trigger_optionContext = Dml_trigger_optionContext; - -TSqlParser.prototype.dml_trigger_option = function() { - - var localctx = new Dml_trigger_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 466, TSqlParser.RULE_dml_trigger_option); - try { - this.state = 6270; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ENCRYPTION: - this.enterOuterAlt(localctx, 1); - this.state = 6268; - this.match(TSqlParser.ENCRYPTION); - break; - case TSqlParser.EXECUTE: - this.enterOuterAlt(localctx, 2); - this.state = 6269; - this.execute_clause(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Dml_trigger_operationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_dml_trigger_operation; - return this; -} - -Dml_trigger_operationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Dml_trigger_operationContext.prototype.constructor = Dml_trigger_operationContext; - -Dml_trigger_operationContext.prototype.INSERT = function() { - return this.getToken(TSqlParser.INSERT, 0); -}; - -Dml_trigger_operationContext.prototype.UPDATE = function() { - return this.getToken(TSqlParser.UPDATE, 0); -}; - -Dml_trigger_operationContext.prototype.DELETE = function() { - return this.getToken(TSqlParser.DELETE, 0); -}; - -Dml_trigger_operationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDml_trigger_operation(this); - } -}; - -Dml_trigger_operationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDml_trigger_operation(this); - } -}; - -Dml_trigger_operationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDml_trigger_operation(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Dml_trigger_operationContext = Dml_trigger_operationContext; - -TSqlParser.prototype.dml_trigger_operation = function() { - - var localctx = new Dml_trigger_operationContext(this, this._ctx, this.state); - this.enterRule(localctx, 468, TSqlParser.RULE_dml_trigger_operation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6272; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DELETE || _la===TSqlParser.INSERT || _la===TSqlParser.UPDATE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_or_alter_ddl_triggerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_or_alter_ddl_trigger; - return this; -} - -Create_or_alter_ddl_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_or_alter_ddl_triggerContext.prototype.constructor = Create_or_alter_ddl_triggerContext; - -Create_or_alter_ddl_triggerContext.prototype.TRIGGER = function() { - return this.getToken(TSqlParser.TRIGGER, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.simple_id = function() { - return this.getTypedRuleContext(Simple_idContext,0); -}; - -Create_or_alter_ddl_triggerContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.ddl_trigger_operation = function() { - return this.getTypedRuleContext(Ddl_trigger_operationContext,0); -}; - -Create_or_alter_ddl_triggerContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.sql_clauses = function() { - return this.getTypedRuleContext(Sql_clausesContext,0); -}; - -Create_or_alter_ddl_triggerContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.AFTER = function() { - return this.getToken(TSqlParser.AFTER, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.dml_trigger_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Dml_trigger_optionContext); - } else { - return this.getTypedRuleContext(Dml_trigger_optionContext,i); - } -}; - -Create_or_alter_ddl_triggerContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_or_alter_ddl_triggerContext.prototype.dml_trigger_operation = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Dml_trigger_operationContext); - } else { - return this.getTypedRuleContext(Dml_trigger_operationContext,i); - } -}; - -Create_or_alter_ddl_triggerContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.OR = function() { - return this.getToken(TSqlParser.OR, 0); -}; - -Create_or_alter_ddl_triggerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_or_alter_ddl_trigger(this); - } -}; - -Create_or_alter_ddl_triggerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_or_alter_ddl_trigger(this); - } -}; - -Create_or_alter_ddl_triggerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_or_alter_ddl_trigger(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_or_alter_ddl_triggerContext = Create_or_alter_ddl_triggerContext; - -TSqlParser.prototype.create_or_alter_ddl_trigger = function() { - - var localctx = new Create_or_alter_ddl_triggerContext(this, this._ctx, this.state); - this.enterRule(localctx, 470, TSqlParser.RULE_create_or_alter_ddl_trigger); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6280; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CREATE: - this.state = 6274; - this.match(TSqlParser.CREATE); - this.state = 6277; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OR) { - this.state = 6275; - this.match(TSqlParser.OR); - this.state = 6276; - this.match(TSqlParser.ALTER); - } - - break; - case TSqlParser.ALTER: - this.state = 6279; - this.match(TSqlParser.ALTER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6282; - this.match(TSqlParser.TRIGGER); - this.state = 6283; - this.simple_id(); - this.state = 6284; - this.match(TSqlParser.ON); - this.state = 6288; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALL: - this.state = 6285; - this.match(TSqlParser.ALL); - this.state = 6286; - this.match(TSqlParser.SERVER); - break; - case TSqlParser.DATABASE: - this.state = 6287; - this.match(TSqlParser.DATABASE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6299; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 6290; - this.match(TSqlParser.WITH); - this.state = 6291; - this.dml_trigger_option(); - this.state = 6296; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6292; - this.match(TSqlParser.COMMA); - this.state = 6293; - this.dml_trigger_option(); - this.state = 6298; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6301; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FOR || _la===TSqlParser.AFTER)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 6302; - this.ddl_trigger_operation(); - this.state = 6307; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6303; - this.match(TSqlParser.COMMA); - this.state = 6304; - this.dml_trigger_operation(); - this.state = 6309; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 6310; - this.match(TSqlParser.AS); - this.state = 6311; - this.sql_clauses(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Ddl_trigger_operationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_ddl_trigger_operation; - return this; -} - -Ddl_trigger_operationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Ddl_trigger_operationContext.prototype.constructor = Ddl_trigger_operationContext; - -Ddl_trigger_operationContext.prototype.simple_id = function() { - return this.getTypedRuleContext(Simple_idContext,0); -}; - -Ddl_trigger_operationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDdl_trigger_operation(this); - } -}; - -Ddl_trigger_operationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDdl_trigger_operation(this); - } -}; - -Ddl_trigger_operationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDdl_trigger_operation(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Ddl_trigger_operationContext = Ddl_trigger_operationContext; - -TSqlParser.prototype.ddl_trigger_operation = function() { - - var localctx = new Ddl_trigger_operationContext(this, this._ctx, this.state); - this.enterRule(localctx, 472, TSqlParser.RULE_ddl_trigger_operation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6313; - this.simple_id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_or_alter_functionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_or_alter_function; - return this; -} - -Create_or_alter_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_or_alter_functionContext.prototype.constructor = Create_or_alter_functionContext; - -Create_or_alter_functionContext.prototype.FUNCTION = function() { - return this.getToken(TSqlParser.FUNCTION, 0); -}; - -Create_or_alter_functionContext.prototype.func_proc_name_schema = function() { - return this.getTypedRuleContext(Func_proc_name_schemaContext,0); -}; - -Create_or_alter_functionContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Create_or_alter_functionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_or_alter_functionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_or_alter_functionContext.prototype.func_body_returns_select = function() { - return this.getTypedRuleContext(Func_body_returns_selectContext,0); -}; - -Create_or_alter_functionContext.prototype.func_body_returns_table = function() { - return this.getTypedRuleContext(Func_body_returns_tableContext,0); -}; - -Create_or_alter_functionContext.prototype.func_body_returns_scalar = function() { - return this.getTypedRuleContext(Func_body_returns_scalarContext,0); -}; - -Create_or_alter_functionContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Create_or_alter_functionContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_or_alter_functionContext.prototype.procedure_param = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Procedure_paramContext); - } else { - return this.getTypedRuleContext(Procedure_paramContext,i); - } -}; - -Create_or_alter_functionContext.prototype.OR = function() { - return this.getToken(TSqlParser.OR, 0); -}; - -Create_or_alter_functionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_or_alter_functionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_or_alter_function(this); - } -}; - -Create_or_alter_functionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_or_alter_function(this); - } -}; - -Create_or_alter_functionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_or_alter_function(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_or_alter_functionContext = Create_or_alter_functionContext; - -TSqlParser.prototype.create_or_alter_function = function() { - - var localctx = new Create_or_alter_functionContext(this, this._ctx, this.state); - this.enterRule(localctx, 474, TSqlParser.RULE_create_or_alter_function); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6321; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CREATE: - this.state = 6315; - this.match(TSqlParser.CREATE); - this.state = 6318; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OR) { - this.state = 6316; - this.match(TSqlParser.OR); - this.state = 6317; - this.match(TSqlParser.ALTER); - } - - break; - case TSqlParser.ALTER: - this.state = 6320; - this.match(TSqlParser.ALTER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6323; - this.match(TSqlParser.FUNCTION); - this.state = 6324; - this.func_proc_name_schema(); - this.state = 6338; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,827,this._ctx); - switch(la_) { - case 1: - this.state = 6325; - this.match(TSqlParser.LR_BRACKET); - this.state = 6326; - this.procedure_param(); - this.state = 6331; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6327; - this.match(TSqlParser.COMMA); - this.state = 6328; - this.procedure_param(); - this.state = 6333; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 6334; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.state = 6336; - this.match(TSqlParser.LR_BRACKET); - this.state = 6337; - this.match(TSqlParser.RR_BRACKET); - break; - - } - this.state = 6343; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,828,this._ctx); - switch(la_) { - case 1: - this.state = 6340; - this.func_body_returns_select(); - break; - - case 2: - this.state = 6341; - this.func_body_returns_table(); - break; - - case 3: - this.state = 6342; - this.func_body_returns_scalar(); - break; - - } - this.state = 6346; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,829,this._ctx); - if(la_===1) { - this.state = 6345; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Func_body_returns_selectContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_func_body_returns_select; - return this; -} - -Func_body_returns_selectContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Func_body_returns_selectContext.prototype.constructor = Func_body_returns_selectContext; - -Func_body_returns_selectContext.prototype.RETURNS = function() { - return this.getToken(TSqlParser.RETURNS, 0); -}; - -Func_body_returns_selectContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Func_body_returns_selectContext.prototype.RETURN = function() { - return this.getToken(TSqlParser.RETURN, 0); -}; - -Func_body_returns_selectContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Func_body_returns_selectContext.prototype.select_statement = function() { - return this.getTypedRuleContext(Select_statementContext,0); -}; - -Func_body_returns_selectContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Func_body_returns_selectContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Func_body_returns_selectContext.prototype.function_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Function_optionContext); - } else { - return this.getTypedRuleContext(Function_optionContext,i); - } -}; - -Func_body_returns_selectContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Func_body_returns_selectContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Func_body_returns_selectContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFunc_body_returns_select(this); - } -}; - -Func_body_returns_selectContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFunc_body_returns_select(this); - } -}; - -Func_body_returns_selectContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFunc_body_returns_select(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Func_body_returns_selectContext = Func_body_returns_selectContext; - -TSqlParser.prototype.func_body_returns_select = function() { - - var localctx = new Func_body_returns_selectContext(this, this._ctx, this.state); - this.enterRule(localctx, 476, TSqlParser.RULE_func_body_returns_select); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6348; - this.match(TSqlParser.RETURNS); - this.state = 6349; - this.match(TSqlParser.TABLE); - this.state = 6359; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 6350; - this.match(TSqlParser.WITH); - this.state = 6351; - this.function_option(); - this.state = 6356; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6352; - this.match(TSqlParser.COMMA); - this.state = 6353; - this.function_option(); - this.state = 6358; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6362; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 6361; - this.match(TSqlParser.AS); - } - - this.state = 6364; - this.match(TSqlParser.RETURN); - this.state = 6370; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,833,this._ctx); - switch(la_) { - case 1: - this.state = 6365; - this.match(TSqlParser.LR_BRACKET); - this.state = 6366; - this.select_statement(); - this.state = 6367; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.state = 6369; - this.select_statement(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Func_body_returns_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_func_body_returns_table; - return this; -} - -Func_body_returns_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Func_body_returns_tableContext.prototype.constructor = Func_body_returns_tableContext; - -Func_body_returns_tableContext.prototype.RETURNS = function() { - return this.getToken(TSqlParser.RETURNS, 0); -}; - -Func_body_returns_tableContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Func_body_returns_tableContext.prototype.table_type_definition = function() { - return this.getTypedRuleContext(Table_type_definitionContext,0); -}; - -Func_body_returns_tableContext.prototype.BEGIN = function() { - return this.getToken(TSqlParser.BEGIN, 0); -}; - -Func_body_returns_tableContext.prototype.RETURN = function() { - return this.getToken(TSqlParser.RETURN, 0); -}; - -Func_body_returns_tableContext.prototype.END = function() { - return this.getToken(TSqlParser.END, 0); -}; - -Func_body_returns_tableContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Func_body_returns_tableContext.prototype.function_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Function_optionContext); - } else { - return this.getTypedRuleContext(Function_optionContext,i); - } -}; - -Func_body_returns_tableContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Func_body_returns_tableContext.prototype.sql_clause = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Sql_clauseContext); - } else { - return this.getTypedRuleContext(Sql_clauseContext,i); - } -}; - -Func_body_returns_tableContext.prototype.SEMI = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SEMI); - } else { - return this.getToken(TSqlParser.SEMI, i); - } -}; - - -Func_body_returns_tableContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Func_body_returns_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFunc_body_returns_table(this); - } -}; - -Func_body_returns_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFunc_body_returns_table(this); - } -}; - -Func_body_returns_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFunc_body_returns_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Func_body_returns_tableContext = Func_body_returns_tableContext; - -TSqlParser.prototype.func_body_returns_table = function() { - - var localctx = new Func_body_returns_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 478, TSqlParser.RULE_func_body_returns_table); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6372; - this.match(TSqlParser.RETURNS); - this.state = 6373; - this.match(TSqlParser.LOCAL_ID); - this.state = 6374; - this.table_type_definition(); - this.state = 6384; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 6375; - this.match(TSqlParser.WITH); - this.state = 6376; - this.function_option(); - this.state = 6381; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6377; - this.match(TSqlParser.COMMA); - this.state = 6378; - this.function_option(); - this.state = 6383; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6387; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 6386; - this.match(TSqlParser.AS); - } - - this.state = 6389; - this.match(TSqlParser.BEGIN); - this.state = 6393; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,837,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 6390; - this.sql_clause(); - } - this.state = 6395; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,837,this._ctx); - } - - this.state = 6396; - this.match(TSqlParser.RETURN); - this.state = 6398; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SEMI) { - this.state = 6397; - this.match(TSqlParser.SEMI); - } - - this.state = 6400; - this.match(TSqlParser.END); - this.state = 6402; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,839,this._ctx); - if(la_===1) { - this.state = 6401; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Func_body_returns_scalarContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_func_body_returns_scalar; - this.ret = null; // ExpressionContext - return this; -} - -Func_body_returns_scalarContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Func_body_returns_scalarContext.prototype.constructor = Func_body_returns_scalarContext; - -Func_body_returns_scalarContext.prototype.RETURNS = function() { - return this.getToken(TSqlParser.RETURNS, 0); -}; - -Func_body_returns_scalarContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -Func_body_returns_scalarContext.prototype.BEGIN = function() { - return this.getToken(TSqlParser.BEGIN, 0); -}; - -Func_body_returns_scalarContext.prototype.RETURN = function() { - return this.getToken(TSqlParser.RETURN, 0); -}; - -Func_body_returns_scalarContext.prototype.END = function() { - return this.getToken(TSqlParser.END, 0); -}; - -Func_body_returns_scalarContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Func_body_returns_scalarContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Func_body_returns_scalarContext.prototype.function_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Function_optionContext); - } else { - return this.getTypedRuleContext(Function_optionContext,i); - } -}; - -Func_body_returns_scalarContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Func_body_returns_scalarContext.prototype.sql_clause = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Sql_clauseContext); - } else { - return this.getTypedRuleContext(Sql_clauseContext,i); - } -}; - -Func_body_returns_scalarContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Func_body_returns_scalarContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Func_body_returns_scalarContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFunc_body_returns_scalar(this); - } -}; - -Func_body_returns_scalarContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFunc_body_returns_scalar(this); - } -}; - -Func_body_returns_scalarContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFunc_body_returns_scalar(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Func_body_returns_scalarContext = Func_body_returns_scalarContext; - -TSqlParser.prototype.func_body_returns_scalar = function() { - - var localctx = new Func_body_returns_scalarContext(this, this._ctx, this.state); - this.enterRule(localctx, 480, TSqlParser.RULE_func_body_returns_scalar); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6404; - this.match(TSqlParser.RETURNS); - this.state = 6405; - this.data_type(); - this.state = 6415; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 6406; - this.match(TSqlParser.WITH); - this.state = 6407; - this.function_option(); - this.state = 6412; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6408; - this.match(TSqlParser.COMMA); - this.state = 6409; - this.function_option(); - this.state = 6414; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6418; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 6417; - this.match(TSqlParser.AS); - } - - this.state = 6420; - this.match(TSqlParser.BEGIN); - this.state = 6424; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,843,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 6421; - this.sql_clause(); - } - this.state = 6426; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,843,this._ctx); - } - - this.state = 6427; - this.match(TSqlParser.RETURN); - this.state = 6428; - localctx.ret = this.expression(0); - this.state = 6430; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SEMI) { - this.state = 6429; - this.match(TSqlParser.SEMI); - } - - this.state = 6432; - this.match(TSqlParser.END); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Procedure_paramContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_procedure_param; - this.default_val = null; // Default_valueContext - return this; -} - -Procedure_paramContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Procedure_paramContext.prototype.constructor = Procedure_paramContext; - -Procedure_paramContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Procedure_paramContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -Procedure_paramContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Procedure_paramContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Procedure_paramContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Procedure_paramContext.prototype.VARYING = function() { - return this.getToken(TSqlParser.VARYING, 0); -}; - -Procedure_paramContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Procedure_paramContext.prototype.default_value = function() { - return this.getTypedRuleContext(Default_valueContext,0); -}; - -Procedure_paramContext.prototype.OUT = function() { - return this.getToken(TSqlParser.OUT, 0); -}; - -Procedure_paramContext.prototype.OUTPUT = function() { - return this.getToken(TSqlParser.OUTPUT, 0); -}; - -Procedure_paramContext.prototype.READONLY = function() { - return this.getToken(TSqlParser.READONLY, 0); -}; - -Procedure_paramContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterProcedure_param(this); - } -}; - -Procedure_paramContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitProcedure_param(this); - } -}; - -Procedure_paramContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitProcedure_param(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Procedure_paramContext = Procedure_paramContext; - -TSqlParser.prototype.procedure_param = function() { - - var localctx = new Procedure_paramContext(this, this._ctx, this.state); - this.enterRule(localctx, 482, TSqlParser.RULE_procedure_param); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6434; - this.match(TSqlParser.LOCAL_ID); - this.state = 6438; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,845,this._ctx); - if(la_===1) { - this.state = 6435; - this.id(); - this.state = 6436; - this.match(TSqlParser.DOT); - - } - this.state = 6441; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 6440; - this.match(TSqlParser.AS); - } - - this.state = 6443; - this.data_type(); - this.state = 6445; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.VARYING) { - this.state = 6444; - this.match(TSqlParser.VARYING); - } - - this.state = 6449; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.EQUAL) { - this.state = 6447; - this.match(TSqlParser.EQUAL); - this.state = 6448; - localctx.default_val = this.default_value(); - } - - this.state = 6452; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OUT || _la===TSqlParser.OUTPUT || _la===TSqlParser.READONLY) { - this.state = 6451; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OUT || _la===TSqlParser.OUTPUT || _la===TSqlParser.READONLY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Procedure_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_procedure_option; - return this; -} - -Procedure_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Procedure_optionContext.prototype.constructor = Procedure_optionContext; - -Procedure_optionContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Procedure_optionContext.prototype.RECOMPILE = function() { - return this.getToken(TSqlParser.RECOMPILE, 0); -}; - -Procedure_optionContext.prototype.execute_clause = function() { - return this.getTypedRuleContext(Execute_clauseContext,0); -}; - -Procedure_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterProcedure_option(this); - } -}; - -Procedure_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitProcedure_option(this); - } -}; - -Procedure_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitProcedure_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Procedure_optionContext = Procedure_optionContext; - -TSqlParser.prototype.procedure_option = function() { - - var localctx = new Procedure_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 484, TSqlParser.RULE_procedure_option); - try { - this.state = 6457; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ENCRYPTION: - this.enterOuterAlt(localctx, 1); - this.state = 6454; - this.match(TSqlParser.ENCRYPTION); - break; - case TSqlParser.RECOMPILE: - this.enterOuterAlt(localctx, 2); - this.state = 6455; - this.match(TSqlParser.RECOMPILE); - break; - case TSqlParser.EXECUTE: - this.enterOuterAlt(localctx, 3); - this.state = 6456; - this.execute_clause(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Function_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_function_option; - return this; -} - -Function_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Function_optionContext.prototype.constructor = Function_optionContext; - -Function_optionContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Function_optionContext.prototype.SCHEMABINDING = function() { - return this.getToken(TSqlParser.SCHEMABINDING, 0); -}; - -Function_optionContext.prototype.RETURNS = function() { - return this.getToken(TSqlParser.RETURNS, 0); -}; - -Function_optionContext.prototype.NULL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NULL); - } else { - return this.getToken(TSqlParser.NULL, i); - } -}; - - -Function_optionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Function_optionContext.prototype.INPUT = function() { - return this.getToken(TSqlParser.INPUT, 0); -}; - -Function_optionContext.prototype.CALLED = function() { - return this.getToken(TSqlParser.CALLED, 0); -}; - -Function_optionContext.prototype.execute_clause = function() { - return this.getTypedRuleContext(Execute_clauseContext,0); -}; - -Function_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFunction_option(this); - } -}; - -Function_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFunction_option(this); - } -}; - -Function_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFunction_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Function_optionContext = Function_optionContext; - -TSqlParser.prototype.function_option = function() { - - var localctx = new Function_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 486, TSqlParser.RULE_function_option); - try { - this.state = 6471; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ENCRYPTION: - this.enterOuterAlt(localctx, 1); - this.state = 6459; - this.match(TSqlParser.ENCRYPTION); - break; - case TSqlParser.SCHEMABINDING: - this.enterOuterAlt(localctx, 2); - this.state = 6460; - this.match(TSqlParser.SCHEMABINDING); - break; - case TSqlParser.RETURNS: - this.enterOuterAlt(localctx, 3); - this.state = 6461; - this.match(TSqlParser.RETURNS); - this.state = 6462; - this.match(TSqlParser.NULL); - this.state = 6463; - this.match(TSqlParser.ON); - this.state = 6464; - this.match(TSqlParser.NULL); - this.state = 6465; - this.match(TSqlParser.INPUT); - break; - case TSqlParser.CALLED: - this.enterOuterAlt(localctx, 4); - this.state = 6466; - this.match(TSqlParser.CALLED); - this.state = 6467; - this.match(TSqlParser.ON); - this.state = 6468; - this.match(TSqlParser.NULL); - this.state = 6469; - this.match(TSqlParser.INPUT); - break; - case TSqlParser.EXECUTE: - this.enterOuterAlt(localctx, 5); - this.state = 6470; - this.execute_clause(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_statisticsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_statistics; - return this; -} - -Create_statisticsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_statisticsContext.prototype.constructor = Create_statisticsContext; - -Create_statisticsContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_statisticsContext.prototype.STATISTICS = function() { - return this.getToken(TSqlParser.STATISTICS, 0); -}; - -Create_statisticsContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Create_statisticsContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_statisticsContext.prototype.table_name_with_hint = function() { - return this.getTypedRuleContext(Table_name_with_hintContext,0); -}; - -Create_statisticsContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_statisticsContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Create_statisticsContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_statisticsContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_statisticsContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Create_statisticsContext.prototype.FULLSCAN = function() { - return this.getToken(TSqlParser.FULLSCAN, 0); -}; - -Create_statisticsContext.prototype.SAMPLE = function() { - return this.getToken(TSqlParser.SAMPLE, 0); -}; - -Create_statisticsContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Create_statisticsContext.prototype.STATS_STREAM = function() { - return this.getToken(TSqlParser.STATS_STREAM, 0); -}; - -Create_statisticsContext.prototype.PERCENT = function() { - return this.getToken(TSqlParser.PERCENT, 0); -}; - -Create_statisticsContext.prototype.ROWS = function() { - return this.getToken(TSqlParser.ROWS, 0); -}; - -Create_statisticsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_statisticsContext.prototype.NORECOMPUTE = function() { - return this.getToken(TSqlParser.NORECOMPUTE, 0); -}; - -Create_statisticsContext.prototype.INCREMENTAL = function() { - return this.getToken(TSqlParser.INCREMENTAL, 0); -}; - -Create_statisticsContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_statisticsContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Create_statisticsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_statistics(this); - } -}; - -Create_statisticsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_statistics(this); - } -}; - -Create_statisticsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_statistics(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_statisticsContext = Create_statisticsContext; - -TSqlParser.prototype.create_statistics = function() { - - var localctx = new Create_statisticsContext(this, this._ctx, this.state); - this.enterRule(localctx, 488, TSqlParser.RULE_create_statistics); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6473; - this.match(TSqlParser.CREATE); - this.state = 6474; - this.match(TSqlParser.STATISTICS); - this.state = 6475; - this.id(); - this.state = 6476; - this.match(TSqlParser.ON); - this.state = 6477; - this.table_name_with_hint(); - this.state = 6478; - this.match(TSqlParser.LR_BRACKET); - this.state = 6479; - this.column_name_list(); - this.state = 6480; - this.match(TSqlParser.RR_BRACKET); - this.state = 6499; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,855,this._ctx); - if(la_===1) { - this.state = 6481; - this.match(TSqlParser.WITH); - this.state = 6487; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FULLSCAN: - this.state = 6482; - this.match(TSqlParser.FULLSCAN); - break; - case TSqlParser.SAMPLE: - this.state = 6483; - this.match(TSqlParser.SAMPLE); - this.state = 6484; - this.match(TSqlParser.DECIMAL); - this.state = 6485; - _la = this._input.LA(1); - if(!(_la===TSqlParser.PERCENT || _la===TSqlParser.ROWS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.STATS_STREAM: - this.state = 6486; - this.match(TSqlParser.STATS_STREAM); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6491; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,853,this._ctx); - if(la_===1) { - this.state = 6489; - this.match(TSqlParser.COMMA); - this.state = 6490; - this.match(TSqlParser.NORECOMPUTE); - - } - this.state = 6497; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 6493; - this.match(TSqlParser.COMMA); - this.state = 6494; - this.match(TSqlParser.INCREMENTAL); - this.state = 6495; - this.match(TSqlParser.EQUAL); - this.state = 6496; - this.on_off(); - } - - - } - this.state = 6502; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,856,this._ctx); - if(la_===1) { - this.state = 6501; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Update_statisticsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_update_statistics; - return this; -} - -Update_statisticsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Update_statisticsContext.prototype.constructor = Update_statisticsContext; - -Update_statisticsContext.prototype.UPDATE = function() { - return this.getToken(TSqlParser.UPDATE, 0); -}; - -Update_statisticsContext.prototype.STATISTICS = function() { - return this.getToken(TSqlParser.STATISTICS, 0); -}; - -Update_statisticsContext.prototype.full_table_name = function() { - return this.getTypedRuleContext(Full_table_nameContext,0); -}; - -Update_statisticsContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Update_statisticsContext.prototype.USING = function() { - return this.getToken(TSqlParser.USING, 0); -}; - -Update_statisticsContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Update_statisticsContext.prototype.VALUES = function() { - return this.getToken(TSqlParser.VALUES, 0); -}; - -Update_statisticsContext.prototype.INDEX = function() { - return this.getToken(TSqlParser.INDEX, 0); -}; - -Update_statisticsContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Update_statisticsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterUpdate_statistics(this); - } -}; - -Update_statisticsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitUpdate_statistics(this); - } -}; - -Update_statisticsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitUpdate_statistics(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Update_statisticsContext = Update_statisticsContext; - -TSqlParser.prototype.update_statistics = function() { - - var localctx = new Update_statisticsContext(this, this._ctx, this.state); - this.enterRule(localctx, 490, TSqlParser.RULE_update_statistics); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6504; - this.match(TSqlParser.UPDATE); - this.state = 6506; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ALL || _la===TSqlParser.INDEX) { - this.state = 6505; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.INDEX)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 6508; - this.match(TSqlParser.STATISTICS); - this.state = 6509; - this.full_table_name(); - this.state = 6511; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,858,this._ctx); - if(la_===1) { - this.state = 6510; - this.id(); - - } - this.state = 6516; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,859,this._ctx); - if(la_===1) { - this.state = 6513; - this.match(TSqlParser.USING); - this.state = 6514; - this.match(TSqlParser.DECIMAL); - this.state = 6515; - this.match(TSqlParser.VALUES); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_table; - return this; -} - -Create_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_tableContext.prototype.constructor = Create_tableContext; - -Create_tableContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_tableContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Create_tableContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Create_tableContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_tableContext.prototype.column_def_table_constraints = function() { - return this.getTypedRuleContext(Column_def_table_constraintsContext,0); -}; - -Create_tableContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_tableContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Create_tableContext.prototype.LOCK = function() { - return this.getToken(TSqlParser.LOCK, 0); -}; - -Create_tableContext.prototype.simple_id = function() { - return this.getTypedRuleContext(Simple_idContext,0); -}; - -Create_tableContext.prototype.table_options = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Table_optionsContext); - } else { - return this.getTypedRuleContext(Table_optionsContext,i); - } -}; - -Create_tableContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_tableContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_tableContext.prototype.DEFAULT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DEFAULT); - } else { - return this.getToken(TSqlParser.DEFAULT, i); - } -}; - - -Create_tableContext.prototype.TEXTIMAGE_ON = function() { - return this.getToken(TSqlParser.TEXTIMAGE_ON, 0); -}; - -Create_tableContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Create_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_table(this); - } -}; - -Create_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_table(this); - } -}; - -Create_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_tableContext = Create_tableContext; - -TSqlParser.prototype.create_table = function() { - - var localctx = new Create_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 492, TSqlParser.RULE_create_table); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6518; - this.match(TSqlParser.CREATE); - this.state = 6519; - this.match(TSqlParser.TABLE); - this.state = 6520; - this.table_name(); - this.state = 6521; - this.match(TSqlParser.LR_BRACKET); - this.state = 6522; - this.column_def_table_constraints(); - this.state = 6524; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 6523; - this.match(TSqlParser.COMMA); - } - - this.state = 6526; - this.match(TSqlParser.RR_BRACKET); - this.state = 6529; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,861,this._ctx); - if(la_===1) { - this.state = 6527; - this.match(TSqlParser.LOCK); - this.state = 6528; - this.simple_id(); - - } - this.state = 6534; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,862,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 6531; - this.table_options(); - } - this.state = 6536; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,862,this._ctx); - } - - this.state = 6540; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,863,this._ctx); - if(la_===1) { - this.state = 6537; - this.match(TSqlParser.ON); - this.state = 6538; - this.id(); - - } else if(la_===2) { - this.state = 6539; - this.match(TSqlParser.DEFAULT); - - } - this.state = 6545; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,864,this._ctx); - if(la_===1) { - this.state = 6542; - this.match(TSqlParser.TEXTIMAGE_ON); - this.state = 6543; - this.id(); - - } else if(la_===2) { - this.state = 6544; - this.match(TSqlParser.DEFAULT); - - } - this.state = 6548; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,865,this._ctx); - if(la_===1) { - this.state = 6547; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_options; - return this; -} - -Table_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_optionsContext.prototype.constructor = Table_optionsContext; - -Table_optionsContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Table_optionsContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Table_optionsContext.prototype.index_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Index_optionContext); - } else { - return this.getTypedRuleContext(Index_optionContext,i); - } -}; - -Table_optionsContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Table_optionsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Table_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_options(this); - } -}; - -Table_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_options(this); - } -}; - -Table_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_optionsContext = Table_optionsContext; - -TSqlParser.prototype.table_options = function() { - - var localctx = new Table_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 494, TSqlParser.RULE_table_options); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6550; - this.match(TSqlParser.WITH); - this.state = 6570; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.LR_BRACKET: - this.state = 6551; - this.match(TSqlParser.LR_BRACKET); - this.state = 6552; - this.index_option(); - this.state = 6557; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6553; - this.match(TSqlParser.COMMA); - this.state = 6554; - this.index_option(); - this.state = 6559; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 6560; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.ID: - this.state = 6562; - this.index_option(); - this.state = 6567; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6563; - this.match(TSqlParser.COMMA); - this.state = 6564; - this.index_option(); - this.state = 6569; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_viewContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_view; - return this; -} - -Create_viewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_viewContext.prototype.constructor = Create_viewContext; - -Create_viewContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_viewContext.prototype.VIEW = function() { - return this.getToken(TSqlParser.VIEW, 0); -}; - -Create_viewContext.prototype.simple_name = function() { - return this.getTypedRuleContext(Simple_nameContext,0); -}; - -Create_viewContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_viewContext.prototype.select_statement = function() { - return this.getTypedRuleContext(Select_statementContext,0); -}; - -Create_viewContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_viewContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Create_viewContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_viewContext.prototype.WITH = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.WITH); - } else { - return this.getToken(TSqlParser.WITH, i); - } -}; - - -Create_viewContext.prototype.view_attribute = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(View_attributeContext); - } else { - return this.getTypedRuleContext(View_attributeContext,i); - } -}; - -Create_viewContext.prototype.CHECK = function() { - return this.getToken(TSqlParser.CHECK, 0); -}; - -Create_viewContext.prototype.OPTION = function() { - return this.getToken(TSqlParser.OPTION, 0); -}; - -Create_viewContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Create_viewContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_viewContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_view(this); - } -}; - -Create_viewContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_view(this); - } -}; - -Create_viewContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_view(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_viewContext = Create_viewContext; - -TSqlParser.prototype.create_view = function() { - - var localctx = new Create_viewContext(this, this._ctx, this.state); - this.enterRule(localctx, 496, TSqlParser.RULE_create_view); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6572; - this.match(TSqlParser.CREATE); - this.state = 6573; - this.match(TSqlParser.VIEW); - this.state = 6574; - this.simple_name(); - this.state = 6579; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 6575; - this.match(TSqlParser.LR_BRACKET); - this.state = 6576; - this.column_name_list(); - this.state = 6577; - this.match(TSqlParser.RR_BRACKET); - } - - this.state = 6590; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 6581; - this.match(TSqlParser.WITH); - this.state = 6582; - this.view_attribute(); - this.state = 6587; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6583; - this.match(TSqlParser.COMMA); - this.state = 6584; - this.view_attribute(); - this.state = 6589; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 6592; - this.match(TSqlParser.AS); - this.state = 6593; - this.select_statement(); - this.state = 6597; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,872,this._ctx); - if(la_===1) { - this.state = 6594; - this.match(TSqlParser.WITH); - this.state = 6595; - this.match(TSqlParser.CHECK); - this.state = 6596; - this.match(TSqlParser.OPTION); - - } - this.state = 6600; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,873,this._ctx); - if(la_===1) { - this.state = 6599; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function View_attributeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_view_attribute; - return this; -} - -View_attributeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -View_attributeContext.prototype.constructor = View_attributeContext; - -View_attributeContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -View_attributeContext.prototype.SCHEMABINDING = function() { - return this.getToken(TSqlParser.SCHEMABINDING, 0); -}; - -View_attributeContext.prototype.VIEW_METADATA = function() { - return this.getToken(TSqlParser.VIEW_METADATA, 0); -}; - -View_attributeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterView_attribute(this); - } -}; - -View_attributeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitView_attribute(this); - } -}; - -View_attributeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitView_attribute(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.View_attributeContext = View_attributeContext; - -TSqlParser.prototype.view_attribute = function() { - - var localctx = new View_attributeContext(this, this._ctx, this.state); - this.enterRule(localctx, 498, TSqlParser.RULE_view_attribute); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6602; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ENCRYPTION || _la===TSqlParser.SCHEMABINDING || _la===TSqlParser.VIEW_METADATA)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_table; - this.constraint = null; // IdContext - this.fk = null; // Column_name_listContext - this.pk = null; // Column_name_listContext - return this; -} - -Alter_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_tableContext.prototype.constructor = Alter_tableContext; - -Alter_tableContext.prototype.ALTER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALTER); - } else { - return this.getToken(TSqlParser.ALTER, i); - } -}; - - -Alter_tableContext.prototype.TABLE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TABLE); - } else { - return this.getToken(TSqlParser.TABLE, i); - } -}; - - -Alter_tableContext.prototype.table_name = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Table_nameContext); - } else { - return this.getTypedRuleContext(Table_nameContext,i); - } -}; - -Alter_tableContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Alter_tableContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Alter_tableContext.prototype.LOCK_ESCALATION = function() { - return this.getToken(TSqlParser.LOCK_ESCALATION, 0); -}; - -Alter_tableContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_tableContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Alter_tableContext.prototype.ADD = function() { - return this.getToken(TSqlParser.ADD, 0); -}; - -Alter_tableContext.prototype.column_def_table_constraint = function() { - return this.getTypedRuleContext(Column_def_table_constraintContext,0); -}; - -Alter_tableContext.prototype.COLUMN = function() { - return this.getToken(TSqlParser.COLUMN, 0); -}; - -Alter_tableContext.prototype.column_definition = function() { - return this.getTypedRuleContext(Column_definitionContext,0); -}; - -Alter_tableContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Alter_tableContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Alter_tableContext.prototype.CONSTRAINT = function() { - return this.getToken(TSqlParser.CONSTRAINT, 0); -}; - -Alter_tableContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_tableContext.prototype.CHECK = function() { - return this.getToken(TSqlParser.CHECK, 0); -}; - -Alter_tableContext.prototype.FOREIGN = function() { - return this.getToken(TSqlParser.FOREIGN, 0); -}; - -Alter_tableContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Alter_tableContext.prototype.REFERENCES = function() { - return this.getToken(TSqlParser.REFERENCES, 0); -}; - -Alter_tableContext.prototype.TRIGGER = function() { - return this.getToken(TSqlParser.TRIGGER, 0); -}; - -Alter_tableContext.prototype.REBUILD = function() { - return this.getToken(TSqlParser.REBUILD, 0); -}; - -Alter_tableContext.prototype.table_options = function() { - return this.getTypedRuleContext(Table_optionsContext,0); -}; - -Alter_tableContext.prototype.AUTO = function() { - return this.getToken(TSqlParser.AUTO, 0); -}; - -Alter_tableContext.prototype.DISABLE = function() { - return this.getToken(TSqlParser.DISABLE, 0); -}; - -Alter_tableContext.prototype.column_name_list = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Column_name_listContext); - } else { - return this.getTypedRuleContext(Column_name_listContext,i); - } -}; - -Alter_tableContext.prototype.ENABLE = function() { - return this.getToken(TSqlParser.ENABLE, 0); -}; - -Alter_tableContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Alter_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_table(this); - } -}; - -Alter_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_table(this); - } -}; - -Alter_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_tableContext = Alter_tableContext; - -TSqlParser.prototype.alter_table = function() { - - var localctx = new Alter_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 500, TSqlParser.RULE_alter_table); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6604; - this.match(TSqlParser.ALTER); - this.state = 6605; - this.match(TSqlParser.TABLE); - this.state = 6606; - this.table_name(); - this.state = 6650; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,875,this._ctx); - switch(la_) { - case 1: - this.state = 6607; - this.match(TSqlParser.SET); - this.state = 6608; - this.match(TSqlParser.LR_BRACKET); - this.state = 6609; - this.match(TSqlParser.LOCK_ESCALATION); - this.state = 6610; - this.match(TSqlParser.EQUAL); - this.state = 6611; - _la = this._input.LA(1); - if(!(_la===TSqlParser.TABLE || _la===TSqlParser.AUTO || _la===TSqlParser.DISABLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 6612; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.state = 6613; - this.match(TSqlParser.ADD); - this.state = 6614; - this.column_def_table_constraint(); - break; - - case 3: - this.state = 6615; - this.match(TSqlParser.ALTER); - this.state = 6616; - this.match(TSqlParser.COLUMN); - this.state = 6617; - this.column_definition(); - break; - - case 4: - this.state = 6618; - this.match(TSqlParser.DROP); - this.state = 6619; - this.match(TSqlParser.COLUMN); - this.state = 6620; - this.id(); - break; - - case 5: - this.state = 6621; - this.match(TSqlParser.DROP); - this.state = 6622; - this.match(TSqlParser.CONSTRAINT); - this.state = 6623; - localctx.constraint = this.id(); - break; - - case 6: - this.state = 6624; - this.match(TSqlParser.WITH); - this.state = 6625; - this.match(TSqlParser.CHECK); - this.state = 6626; - this.match(TSqlParser.ADD); - this.state = 6627; - this.match(TSqlParser.CONSTRAINT); - this.state = 6628; - localctx.constraint = this.id(); - this.state = 6629; - this.match(TSqlParser.FOREIGN); - this.state = 6630; - this.match(TSqlParser.KEY); - this.state = 6631; - this.match(TSqlParser.LR_BRACKET); - this.state = 6632; - localctx.fk = this.column_name_list(); - this.state = 6633; - this.match(TSqlParser.RR_BRACKET); - this.state = 6634; - this.match(TSqlParser.REFERENCES); - this.state = 6635; - this.table_name(); - this.state = 6636; - this.match(TSqlParser.LR_BRACKET); - this.state = 6637; - localctx.pk = this.column_name_list(); - this.state = 6638; - this.match(TSqlParser.RR_BRACKET); - break; - - case 7: - this.state = 6640; - this.match(TSqlParser.CHECK); - this.state = 6641; - this.match(TSqlParser.CONSTRAINT); - this.state = 6642; - localctx.constraint = this.id(); - break; - - case 8: - this.state = 6643; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISABLE || _la===TSqlParser.ENABLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 6644; - this.match(TSqlParser.TRIGGER); - this.state = 6646; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,874,this._ctx); - if(la_===1) { - this.state = 6645; - this.id(); - - } - break; - - case 9: - this.state = 6648; - this.match(TSqlParser.REBUILD); - this.state = 6649; - this.table_options(); - break; - - } - this.state = 6653; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,876,this._ctx); - if(la_===1) { - this.state = 6652; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_databaseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_database; - this.database = null; // IdContext - this.new_name = null; // IdContext - this.collation = null; // IdContext - return this; -} - -Alter_databaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_databaseContext.prototype.constructor = Alter_databaseContext; - -Alter_databaseContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_databaseContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Alter_databaseContext.prototype.CURRENT = function() { - return this.getToken(TSqlParser.CURRENT, 0); -}; - -Alter_databaseContext.prototype.MODIFY = function() { - return this.getToken(TSqlParser.MODIFY, 0); -}; - -Alter_databaseContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Alter_databaseContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Alter_databaseContext.prototype.COLLATE = function() { - return this.getToken(TSqlParser.COLLATE, 0); -}; - -Alter_databaseContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Alter_databaseContext.prototype.database_optionspec = function() { - return this.getTypedRuleContext(Database_optionspecContext,0); -}; - -Alter_databaseContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_databaseContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Alter_databaseContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Alter_databaseContext.prototype.termination = function() { - return this.getTypedRuleContext(TerminationContext,0); -}; - -Alter_databaseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_database(this); - } -}; - -Alter_databaseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_database(this); - } -}; - -Alter_databaseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_database(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_databaseContext = Alter_databaseContext; - -TSqlParser.prototype.alter_database = function() { - - var localctx = new Alter_databaseContext(this, this._ctx, this.state); - this.enterRule(localctx, 502, TSqlParser.RULE_alter_database); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6655; - this.match(TSqlParser.ALTER); - this.state = 6656; - this.match(TSqlParser.DATABASE); - this.state = 6659; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 6657; - localctx.database = this.id(); - break; - case TSqlParser.CURRENT: - this.state = 6658; - this.match(TSqlParser.CURRENT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6673; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.MODIFY: - this.state = 6661; - this.match(TSqlParser.MODIFY); - this.state = 6662; - this.match(TSqlParser.NAME); - this.state = 6663; - this.match(TSqlParser.EQUAL); - this.state = 6664; - localctx.new_name = this.id(); - break; - case TSqlParser.COLLATE: - this.state = 6665; - this.match(TSqlParser.COLLATE); - this.state = 6666; - localctx.collation = this.id(); - break; - case TSqlParser.SET: - this.state = 6667; - this.match(TSqlParser.SET); - this.state = 6668; - this.database_optionspec(); - this.state = 6671; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,878,this._ctx); - if(la_===1) { - this.state = 6669; - this.match(TSqlParser.WITH); - this.state = 6670; - this.termination(); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6676; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,880,this._ctx); - if(la_===1) { - this.state = 6675; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Database_optionspecContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_database_optionspec; - return this; -} - -Database_optionspecContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Database_optionspecContext.prototype.constructor = Database_optionspecContext; - -Database_optionspecContext.prototype.auto_option = function() { - return this.getTypedRuleContext(Auto_optionContext,0); -}; - -Database_optionspecContext.prototype.change_tracking_option = function() { - return this.getTypedRuleContext(Change_tracking_optionContext,0); -}; - -Database_optionspecContext.prototype.containment_option = function() { - return this.getTypedRuleContext(Containment_optionContext,0); -}; - -Database_optionspecContext.prototype.cursor_option = function() { - return this.getTypedRuleContext(Cursor_optionContext,0); -}; - -Database_optionspecContext.prototype.database_mirroring_option = function() { - return this.getTypedRuleContext(Database_mirroring_optionContext,0); -}; - -Database_optionspecContext.prototype.date_correlation_optimization_option = function() { - return this.getTypedRuleContext(Date_correlation_optimization_optionContext,0); -}; - -Database_optionspecContext.prototype.db_encryption_option = function() { - return this.getTypedRuleContext(Db_encryption_optionContext,0); -}; - -Database_optionspecContext.prototype.db_state_option = function() { - return this.getTypedRuleContext(Db_state_optionContext,0); -}; - -Database_optionspecContext.prototype.db_update_option = function() { - return this.getTypedRuleContext(Db_update_optionContext,0); -}; - -Database_optionspecContext.prototype.db_user_access_option = function() { - return this.getTypedRuleContext(Db_user_access_optionContext,0); -}; - -Database_optionspecContext.prototype.delayed_durability_option = function() { - return this.getTypedRuleContext(Delayed_durability_optionContext,0); -}; - -Database_optionspecContext.prototype.external_access_option = function() { - return this.getTypedRuleContext(External_access_optionContext,0); -}; - -Database_optionspecContext.prototype.FILESTREAM = function() { - return this.getToken(TSqlParser.FILESTREAM, 0); -}; - -Database_optionspecContext.prototype.database_filestream_option = function() { - return this.getTypedRuleContext(Database_filestream_optionContext,0); -}; - -Database_optionspecContext.prototype.hadr_options = function() { - return this.getTypedRuleContext(Hadr_optionsContext,0); -}; - -Database_optionspecContext.prototype.mixed_page_allocation_option = function() { - return this.getTypedRuleContext(Mixed_page_allocation_optionContext,0); -}; - -Database_optionspecContext.prototype.parameterization_option = function() { - return this.getTypedRuleContext(Parameterization_optionContext,0); -}; - -Database_optionspecContext.prototype.recovery_option = function() { - return this.getTypedRuleContext(Recovery_optionContext,0); -}; - -Database_optionspecContext.prototype.service_broker_option = function() { - return this.getTypedRuleContext(Service_broker_optionContext,0); -}; - -Database_optionspecContext.prototype.snapshot_option = function() { - return this.getTypedRuleContext(Snapshot_optionContext,0); -}; - -Database_optionspecContext.prototype.sql_option = function() { - return this.getTypedRuleContext(Sql_optionContext,0); -}; - -Database_optionspecContext.prototype.target_recovery_time_option = function() { - return this.getTypedRuleContext(Target_recovery_time_optionContext,0); -}; - -Database_optionspecContext.prototype.termination = function() { - return this.getTypedRuleContext(TerminationContext,0); -}; - -Database_optionspecContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDatabase_optionspec(this); - } -}; - -Database_optionspecContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDatabase_optionspec(this); - } -}; - -Database_optionspecContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDatabase_optionspec(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Database_optionspecContext = Database_optionspecContext; - -TSqlParser.prototype.database_optionspec = function() { - - var localctx = new Database_optionspecContext(this, this._ctx, this.state); - this.enterRule(localctx, 504, TSqlParser.RULE_database_optionspec); - try { - this.state = 6701; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,881,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 6678; - this.auto_option(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 6679; - this.change_tracking_option(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 6680; - this.containment_option(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 6681; - this.cursor_option(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 6682; - this.database_mirroring_option(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 6683; - this.date_correlation_optimization_option(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 6684; - this.db_encryption_option(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 6685; - this.db_state_option(); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 6686; - this.db_update_option(); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 6687; - this.db_user_access_option(); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 6688; - this.delayed_durability_option(); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 6689; - this.external_access_option(); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 6690; - this.match(TSqlParser.FILESTREAM); - this.state = 6691; - this.database_filestream_option(); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 6692; - this.hadr_options(); - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 6693; - this.mixed_page_allocation_option(); - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 6694; - this.parameterization_option(); - break; - - case 17: - this.enterOuterAlt(localctx, 17); - this.state = 6695; - this.recovery_option(); - break; - - case 18: - this.enterOuterAlt(localctx, 18); - this.state = 6696; - this.service_broker_option(); - break; - - case 19: - this.enterOuterAlt(localctx, 19); - this.state = 6697; - this.snapshot_option(); - break; - - case 20: - this.enterOuterAlt(localctx, 20); - this.state = 6698; - this.sql_option(); - break; - - case 21: - this.enterOuterAlt(localctx, 21); - this.state = 6699; - this.target_recovery_time_option(); - break; - - case 22: - this.enterOuterAlt(localctx, 22); - this.state = 6700; - this.termination(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Auto_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_auto_option; - return this; -} - -Auto_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Auto_optionContext.prototype.constructor = Auto_optionContext; - -Auto_optionContext.prototype.AUTO_CLOSE = function() { - return this.getToken(TSqlParser.AUTO_CLOSE, 0); -}; - -Auto_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Auto_optionContext.prototype.AUTO_CREATE_STATISTICS = function() { - return this.getToken(TSqlParser.AUTO_CREATE_STATISTICS, 0); -}; - -Auto_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Auto_optionContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Auto_optionContext.prototype.INCREMENTAL = function() { - return this.getToken(TSqlParser.INCREMENTAL, 0); -}; - -Auto_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Auto_optionContext.prototype.AUTO_SHRINK = function() { - return this.getToken(TSqlParser.AUTO_SHRINK, 0); -}; - -Auto_optionContext.prototype.AUTO_UPDATE_STATISTICS = function() { - return this.getToken(TSqlParser.AUTO_UPDATE_STATISTICS, 0); -}; - -Auto_optionContext.prototype.AUTO_UPDATE_STATISTICS_ASYNC = function() { - return this.getToken(TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); -}; - -Auto_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAuto_option(this); - } -}; - -Auto_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAuto_option(this); - } -}; - -Auto_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAuto_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Auto_optionContext = Auto_optionContext; - -TSqlParser.prototype.auto_option = function() { - - var localctx = new Auto_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 506, TSqlParser.RULE_auto_option); - var _la = 0; // Token type - try { - this.state = 6720; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AUTO_CLOSE: - this.enterOuterAlt(localctx, 1); - this.state = 6703; - this.match(TSqlParser.AUTO_CLOSE); - this.state = 6704; - this.on_off(); - break; - case TSqlParser.AUTO_CREATE_STATISTICS: - this.enterOuterAlt(localctx, 2); - this.state = 6705; - this.match(TSqlParser.AUTO_CREATE_STATISTICS); - this.state = 6706; - this.match(TSqlParser.OFF); - break; - case TSqlParser.ON: - this.enterOuterAlt(localctx, 3); - this.state = 6707; - this.match(TSqlParser.ON); - this.state = 6712; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.INCREMENTAL: - this.state = 6708; - this.match(TSqlParser.INCREMENTAL); - this.state = 6709; - this.match(TSqlParser.EQUAL); - this.state = 6710; - this.match(TSqlParser.ON); - break; - case TSqlParser.OFF: - this.state = 6711; - this.match(TSqlParser.OFF); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.AUTO_SHRINK: - this.enterOuterAlt(localctx, 4); - this.state = 6714; - this.match(TSqlParser.AUTO_SHRINK); - this.state = 6715; - this.on_off(); - break; - case TSqlParser.AUTO_UPDATE_STATISTICS: - this.enterOuterAlt(localctx, 5); - this.state = 6716; - this.match(TSqlParser.AUTO_UPDATE_STATISTICS); - this.state = 6717; - this.on_off(); - break; - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - this.enterOuterAlt(localctx, 6); - this.state = 6718; - this.match(TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC); - this.state = 6719; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Change_tracking_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_change_tracking_option; - return this; -} - -Change_tracking_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Change_tracking_optionContext.prototype.constructor = Change_tracking_optionContext; - -Change_tracking_optionContext.prototype.CHANGE_TRACKING = function() { - return this.getToken(TSqlParser.CHANGE_TRACKING, 0); -}; - -Change_tracking_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Change_tracking_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Change_tracking_optionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Change_tracking_optionContext.prototype.change_tracking_option_list = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Change_tracking_option_listContext); - } else { - return this.getTypedRuleContext(Change_tracking_option_listContext,i); - } -}; - -Change_tracking_optionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Change_tracking_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterChange_tracking_option(this); - } -}; - -Change_tracking_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitChange_tracking_option(this); - } -}; - -Change_tracking_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitChange_tracking_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Change_tracking_optionContext = Change_tracking_optionContext; - -TSqlParser.prototype.change_tracking_option = function() { - - var localctx = new Change_tracking_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 508, TSqlParser.RULE_change_tracking_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6722; - this.match(TSqlParser.CHANGE_TRACKING); - this.state = 6723; - this.match(TSqlParser.EQUAL); - this.state = 6739; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.OFF: - this.state = 6724; - this.match(TSqlParser.OFF); - break; - case TSqlParser.ON: - this.state = 6725; - this.match(TSqlParser.ON); - this.state = 6736; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,885,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 6726; - this.change_tracking_option_list(); - this.state = 6731; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 6727; - this.match(TSqlParser.COMMA); - this.state = 6728; - this.change_tracking_option_list(); - this.state = 6733; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - this.state = 6738; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,885,this._ctx); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Change_tracking_option_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_change_tracking_option_list; - return this; -} - -Change_tracking_option_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Change_tracking_option_listContext.prototype.constructor = Change_tracking_option_listContext; - -Change_tracking_option_listContext.prototype.AUTO_CLEANUP = function() { - return this.getToken(TSqlParser.AUTO_CLEANUP, 0); -}; - -Change_tracking_option_listContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Change_tracking_option_listContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Change_tracking_option_listContext.prototype.CHANGE_RETENTION = function() { - return this.getToken(TSqlParser.CHANGE_RETENTION, 0); -}; - -Change_tracking_option_listContext.prototype.DAYS = function() { - return this.getToken(TSqlParser.DAYS, 0); -}; - -Change_tracking_option_listContext.prototype.HOURS = function() { - return this.getToken(TSqlParser.HOURS, 0); -}; - -Change_tracking_option_listContext.prototype.MINUTES = function() { - return this.getToken(TSqlParser.MINUTES, 0); -}; - -Change_tracking_option_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterChange_tracking_option_list(this); - } -}; - -Change_tracking_option_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitChange_tracking_option_list(this); - } -}; - -Change_tracking_option_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitChange_tracking_option_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Change_tracking_option_listContext = Change_tracking_option_listContext; - -TSqlParser.prototype.change_tracking_option_list = function() { - - var localctx = new Change_tracking_option_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 510, TSqlParser.RULE_change_tracking_option_list); - var _la = 0; // Token type - try { - this.state = 6747; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AUTO_CLEANUP: - this.enterOuterAlt(localctx, 1); - this.state = 6741; - this.match(TSqlParser.AUTO_CLEANUP); - this.state = 6742; - this.match(TSqlParser.EQUAL); - this.state = 6743; - this.on_off(); - break; - case TSqlParser.CHANGE_RETENTION: - this.enterOuterAlt(localctx, 2); - this.state = 6744; - this.match(TSqlParser.CHANGE_RETENTION); - this.state = 6745; - this.match(TSqlParser.EQUAL); - this.state = 6746; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DAYS || _la===TSqlParser.HOURS || _la===TSqlParser.MINUTES)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Containment_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_containment_option; - return this; -} - -Containment_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Containment_optionContext.prototype.constructor = Containment_optionContext; - -Containment_optionContext.prototype.CONTAINMENT = function() { - return this.getToken(TSqlParser.CONTAINMENT, 0); -}; - -Containment_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Containment_optionContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Containment_optionContext.prototype.PARTIAL = function() { - return this.getToken(TSqlParser.PARTIAL, 0); -}; - -Containment_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterContainment_option(this); - } -}; - -Containment_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitContainment_option(this); - } -}; - -Containment_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitContainment_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Containment_optionContext = Containment_optionContext; - -TSqlParser.prototype.containment_option = function() { - - var localctx = new Containment_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 512, TSqlParser.RULE_containment_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6749; - this.match(TSqlParser.CONTAINMENT); - this.state = 6750; - this.match(TSqlParser.EQUAL); - this.state = 6751; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NONE || _la===TSqlParser.PARTIAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Cursor_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_cursor_option; - return this; -} - -Cursor_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Cursor_optionContext.prototype.constructor = Cursor_optionContext; - -Cursor_optionContext.prototype.CURSOR_CLOSE_ON_COMMIT = function() { - return this.getToken(TSqlParser.CURSOR_CLOSE_ON_COMMIT, 0); -}; - -Cursor_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Cursor_optionContext.prototype.CURSOR_DEFAULT = function() { - return this.getToken(TSqlParser.CURSOR_DEFAULT, 0); -}; - -Cursor_optionContext.prototype.LOCAL = function() { - return this.getToken(TSqlParser.LOCAL, 0); -}; - -Cursor_optionContext.prototype.GLOBAL = function() { - return this.getToken(TSqlParser.GLOBAL, 0); -}; - -Cursor_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCursor_option(this); - } -}; - -Cursor_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCursor_option(this); - } -}; - -Cursor_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCursor_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Cursor_optionContext = Cursor_optionContext; - -TSqlParser.prototype.cursor_option = function() { - - var localctx = new Cursor_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 514, TSqlParser.RULE_cursor_option); - var _la = 0; // Token type - try { - this.state = 6757; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - this.enterOuterAlt(localctx, 1); - this.state = 6753; - this.match(TSqlParser.CURSOR_CLOSE_ON_COMMIT); - this.state = 6754; - this.on_off(); - break; - case TSqlParser.CURSOR_DEFAULT: - this.enterOuterAlt(localctx, 2); - this.state = 6755; - this.match(TSqlParser.CURSOR_DEFAULT); - this.state = 6756; - _la = this._input.LA(1); - if(!(_la===TSqlParser.GLOBAL || _la===TSqlParser.LOCAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Alter_endpointContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_alter_endpoint; - this.endpointname = null; // IdContext - this.login = null; // IdContext - this.state = null; // Token - this.port = null; // Token - this.cert_name = null; // IdContext - return this; -} - -Alter_endpointContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Alter_endpointContext.prototype.constructor = Alter_endpointContext; - -Alter_endpointContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Alter_endpointContext.prototype.ENDPOINT = function() { - return this.getToken(TSqlParser.ENDPOINT, 0); -}; - -Alter_endpointContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Alter_endpointContext.prototype.TCP = function() { - return this.getToken(TSqlParser.TCP, 0); -}; - -Alter_endpointContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Alter_endpointContext.prototype.LISTENER_PORT = function() { - return this.getToken(TSqlParser.LISTENER_PORT, 0); -}; - -Alter_endpointContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Alter_endpointContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Alter_endpointContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Alter_endpointContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Alter_endpointContext.prototype.TSQL = function() { - return this.getToken(TSqlParser.TSQL, 0); -}; - -Alter_endpointContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Alter_endpointContext.prototype.SERVICE_BROKER = function() { - return this.getToken(TSqlParser.SERVICE_BROKER, 0); -}; - -Alter_endpointContext.prototype.AUTHENTICATION = function() { - return this.getToken(TSqlParser.AUTHENTICATION, 0); -}; - -Alter_endpointContext.prototype.DATABASE_MIRRORING = function() { - return this.getToken(TSqlParser.DATABASE_MIRRORING, 0); -}; - -Alter_endpointContext.prototype.ROLE = function() { - return this.getToken(TSqlParser.ROLE, 0); -}; - -Alter_endpointContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Alter_endpointContext.prototype.STATE = function() { - return this.getToken(TSqlParser.STATE, 0); -}; - -Alter_endpointContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Alter_endpointContext.prototype.LISTENER_IP = function() { - return this.getToken(TSqlParser.LISTENER_IP, 0); -}; - -Alter_endpointContext.prototype.WITNESS = function() { - return this.getToken(TSqlParser.WITNESS, 0); -}; - -Alter_endpointContext.prototype.PARTNER = function() { - return this.getToken(TSqlParser.PARTNER, 0); -}; - -Alter_endpointContext.prototype.ALL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALL); - } else { - return this.getToken(TSqlParser.ALL, i); - } -}; - - -Alter_endpointContext.prototype.IPV4_ADDR = function() { - return this.getToken(TSqlParser.IPV4_ADDR, 0); -}; - -Alter_endpointContext.prototype.IPV6_ADDR = function() { - return this.getToken(TSqlParser.IPV6_ADDR, 0); -}; - -Alter_endpointContext.prototype.WINDOWS = function() { - return this.getToken(TSqlParser.WINDOWS, 0); -}; - -Alter_endpointContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Alter_endpointContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Alter_endpointContext.prototype.MESSAGE_FORWARDING = function() { - return this.getToken(TSqlParser.MESSAGE_FORWARDING, 0); -}; - -Alter_endpointContext.prototype.MESSAGE_FORWARD_SIZE = function() { - return this.getToken(TSqlParser.MESSAGE_FORWARD_SIZE, 0); -}; - -Alter_endpointContext.prototype.STARTED = function() { - return this.getToken(TSqlParser.STARTED, 0); -}; - -Alter_endpointContext.prototype.STOPPED = function() { - return this.getToken(TSqlParser.STOPPED, 0); -}; - -Alter_endpointContext.prototype.DISABLED = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DISABLED); - } else { - return this.getToken(TSqlParser.DISABLED, i); - } -}; - - -Alter_endpointContext.prototype.SUPPORTED = function() { - return this.getToken(TSqlParser.SUPPORTED, 0); -}; - -Alter_endpointContext.prototype.REQUIRED = function() { - return this.getToken(TSqlParser.REQUIRED, 0); -}; - -Alter_endpointContext.prototype.ENABLED = function() { - return this.getToken(TSqlParser.ENABLED, 0); -}; - -Alter_endpointContext.prototype.NTLM = function() { - return this.getToken(TSqlParser.NTLM, 0); -}; - -Alter_endpointContext.prototype.KERBEROS = function() { - return this.getToken(TSqlParser.KERBEROS, 0); -}; - -Alter_endpointContext.prototype.NEGOTIATE = function() { - return this.getToken(TSqlParser.NEGOTIATE, 0); -}; - -Alter_endpointContext.prototype.ALGORITHM = function() { - return this.getToken(TSqlParser.ALGORITHM, 0); -}; - -Alter_endpointContext.prototype.AES = function() { - return this.getToken(TSqlParser.AES, 0); -}; - -Alter_endpointContext.prototype.RC4 = function() { - return this.getToken(TSqlParser.RC4, 0); -}; - -Alter_endpointContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlter_endpoint(this); - } -}; - -Alter_endpointContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlter_endpoint(this); - } -}; - -Alter_endpointContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlter_endpoint(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Alter_endpointContext = Alter_endpointContext; - -TSqlParser.prototype.alter_endpoint = function() { - - var localctx = new Alter_endpointContext(this, this._ctx, this.state); - this.enterRule(localctx, 516, TSqlParser.RULE_alter_endpoint); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6759; - this.match(TSqlParser.ALTER); - this.state = 6760; - this.match(TSqlParser.ENDPOINT); - this.state = 6761; - localctx.endpointname = this.id(); - this.state = 6764; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 6762; - this.match(TSqlParser.AUTHORIZATION); - this.state = 6763; - localctx.login = this.id(); - } - - this.state = 6773; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.STATE) { - this.state = 6766; - this.match(TSqlParser.STATE); - this.state = 6767; - this.match(TSqlParser.EQUAL); - this.state = 6771; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STARTED: - this.state = 6768; - localctx.state = this.match(TSqlParser.STARTED); - break; - case TSqlParser.STOPPED: - this.state = 6769; - localctx.state = this.match(TSqlParser.STOPPED); - break; - case TSqlParser.DISABLED: - this.state = 6770; - localctx.state = this.match(TSqlParser.DISABLED); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - this.state = 6775; - this.match(TSqlParser.AS); - this.state = 6776; - this.match(TSqlParser.TCP); - this.state = 6777; - this.match(TSqlParser.LR_BRACKET); - this.state = 6778; - this.match(TSqlParser.LISTENER_PORT); - this.state = 6779; - this.match(TSqlParser.EQUAL); - this.state = 6780; - localctx.port = this.match(TSqlParser.DECIMAL); - this.state = 6785; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 6781; - this.match(TSqlParser.COMMA); - this.state = 6782; - this.match(TSqlParser.LISTENER_IP); - this.state = 6783; - this.match(TSqlParser.EQUAL); - this.state = 6784; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.IPV4_ADDR || _la===TSqlParser.IPV6_ADDR)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 6787; - this.match(TSqlParser.RR_BRACKET); - this.state = 6897; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,916,this._ctx); - switch(la_) { - case 1: - this.state = 6788; - this.match(TSqlParser.TSQL); - break; - - case 2: - this.state = 6789; - this.match(TSqlParser.FOR); - this.state = 6790; - this.match(TSqlParser.SERVICE_BROKER); - this.state = 6791; - this.match(TSqlParser.LR_BRACKET); - this.state = 6792; - this.match(TSqlParser.AUTHENTICATION); - this.state = 6793; - this.match(TSqlParser.EQUAL); - this.state = 6810; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.WINDOWS: - this.state = 6794; - this.match(TSqlParser.WINDOWS); - this.state = 6796; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.KERBEROS || _la===TSqlParser.NEGOTIATE || _la===TSqlParser.NTLM) { - this.state = 6795; - _la = this._input.LA(1); - if(!(_la===TSqlParser.KERBEROS || _la===TSqlParser.NEGOTIATE || _la===TSqlParser.NTLM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 6800; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CERTIFICATE) { - this.state = 6798; - this.match(TSqlParser.CERTIFICATE); - this.state = 6799; - localctx.cert_name = this.id(); - } - - break; - case TSqlParser.CERTIFICATE: - this.state = 6802; - this.match(TSqlParser.CERTIFICATE); - this.state = 6803; - localctx.cert_name = this.id(); - this.state = 6805; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WINDOWS) { - this.state = 6804; - this.match(TSqlParser.WINDOWS); - } - - this.state = 6808; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.KERBEROS || _la===TSqlParser.NEGOTIATE || _la===TSqlParser.NTLM) { - this.state = 6807; - _la = this._input.LA(1); - if(!(_la===TSqlParser.KERBEROS || _la===TSqlParser.NEGOTIATE || _la===TSqlParser.NTLM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6829; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,901,this._ctx); - if(la_===1) { - this.state = 6813; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 6812; - this.match(TSqlParser.COMMA); - } - - this.state = 6815; - this.match(TSqlParser.ENCRYPTION); - this.state = 6816; - this.match(TSqlParser.EQUAL); - this.state = 6817; - _la = this._input.LA(1); - if(!(_la===TSqlParser.REQUIRED || _la===TSqlParser.SUPPORTED || _la===TSqlParser.DISABLED)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 6827; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ALGORITHM) { - this.state = 6818; - this.match(TSqlParser.ALGORITHM); - this.state = 6825; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,899,this._ctx); - switch(la_) { - case 1: - this.state = 6819; - this.match(TSqlParser.AES); - break; - - case 2: - this.state = 6820; - this.match(TSqlParser.RC4); - break; - - case 3: - this.state = 6821; - this.match(TSqlParser.AES); - this.state = 6822; - this.match(TSqlParser.RC4); - break; - - case 4: - this.state = 6823; - this.match(TSqlParser.RC4); - this.state = 6824; - this.match(TSqlParser.AES); - break; - - } - } - - - } - this.state = 6837; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,903,this._ctx); - if(la_===1) { - this.state = 6832; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 6831; - this.match(TSqlParser.COMMA); - } - - this.state = 6834; - this.match(TSqlParser.MESSAGE_FORWARDING); - this.state = 6835; - this.match(TSqlParser.EQUAL); - this.state = 6836; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ENABLED || _la===TSqlParser.DISABLED)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 6845; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MESSAGE_FORWARD_SIZE || _la===TSqlParser.COMMA) { - this.state = 6840; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 6839; - this.match(TSqlParser.COMMA); - } - - this.state = 6842; - this.match(TSqlParser.MESSAGE_FORWARD_SIZE); - this.state = 6843; - this.match(TSqlParser.EQUAL); - this.state = 6844; - this.match(TSqlParser.DECIMAL); - } - - this.state = 6847; - this.match(TSqlParser.RR_BRACKET); - break; - - case 3: - this.state = 6848; - this.match(TSqlParser.FOR); - this.state = 6849; - this.match(TSqlParser.DATABASE_MIRRORING); - this.state = 6850; - this.match(TSqlParser.LR_BRACKET); - this.state = 6851; - this.match(TSqlParser.AUTHENTICATION); - this.state = 6852; - this.match(TSqlParser.EQUAL); - this.state = 6869; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.WINDOWS: - this.state = 6853; - this.match(TSqlParser.WINDOWS); - this.state = 6855; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.KERBEROS || _la===TSqlParser.NEGOTIATE || _la===TSqlParser.NTLM) { - this.state = 6854; - _la = this._input.LA(1); - if(!(_la===TSqlParser.KERBEROS || _la===TSqlParser.NEGOTIATE || _la===TSqlParser.NTLM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 6859; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CERTIFICATE) { - this.state = 6857; - this.match(TSqlParser.CERTIFICATE); - this.state = 6858; - localctx.cert_name = this.id(); - } - - break; - case TSqlParser.CERTIFICATE: - this.state = 6861; - this.match(TSqlParser.CERTIFICATE); - this.state = 6862; - localctx.cert_name = this.id(); - this.state = 6864; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WINDOWS) { - this.state = 6863; - this.match(TSqlParser.WINDOWS); - } - - this.state = 6867; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.KERBEROS || _la===TSqlParser.NEGOTIATE || _la===TSqlParser.NTLM) { - this.state = 6866; - _la = this._input.LA(1); - if(!(_la===TSqlParser.KERBEROS || _la===TSqlParser.NEGOTIATE || _la===TSqlParser.NTLM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 6888; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,914,this._ctx); - if(la_===1) { - this.state = 6872; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 6871; - this.match(TSqlParser.COMMA); - } - - this.state = 6874; - this.match(TSqlParser.ENCRYPTION); - this.state = 6875; - this.match(TSqlParser.EQUAL); - this.state = 6876; - _la = this._input.LA(1); - if(!(_la===TSqlParser.REQUIRED || _la===TSqlParser.SUPPORTED || _la===TSqlParser.DISABLED)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 6886; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ALGORITHM) { - this.state = 6877; - this.match(TSqlParser.ALGORITHM); - this.state = 6884; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,912,this._ctx); - switch(la_) { - case 1: - this.state = 6878; - this.match(TSqlParser.AES); - break; - - case 2: - this.state = 6879; - this.match(TSqlParser.RC4); - break; - - case 3: - this.state = 6880; - this.match(TSqlParser.AES); - this.state = 6881; - this.match(TSqlParser.RC4); - break; - - case 4: - this.state = 6882; - this.match(TSqlParser.RC4); - this.state = 6883; - this.match(TSqlParser.AES); - break; - - } - } - - - } - this.state = 6891; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 6890; - this.match(TSqlParser.COMMA); - } - - this.state = 6893; - this.match(TSqlParser.ROLE); - this.state = 6894; - this.match(TSqlParser.EQUAL); - this.state = 6895; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.WITNESS || _la===TSqlParser.PARTNER)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 6896; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Database_mirroring_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_database_mirroring_option; - return this; -} - -Database_mirroring_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Database_mirroring_optionContext.prototype.constructor = Database_mirroring_optionContext; - -Database_mirroring_optionContext.prototype.mirroring_set_option = function() { - return this.getTypedRuleContext(Mirroring_set_optionContext,0); -}; - -Database_mirroring_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDatabase_mirroring_option(this); - } -}; - -Database_mirroring_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDatabase_mirroring_option(this); - } -}; - -Database_mirroring_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDatabase_mirroring_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Database_mirroring_optionContext = Database_mirroring_optionContext; - -TSqlParser.prototype.database_mirroring_option = function() { - - var localctx = new Database_mirroring_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 518, TSqlParser.RULE_database_mirroring_option); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6899; - this.mirroring_set_option(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Mirroring_set_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_mirroring_set_option; - return this; -} - -Mirroring_set_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Mirroring_set_optionContext.prototype.constructor = Mirroring_set_optionContext; - -Mirroring_set_optionContext.prototype.mirroring_partner = function() { - return this.getTypedRuleContext(Mirroring_partnerContext,0); -}; - -Mirroring_set_optionContext.prototype.partner_option = function() { - return this.getTypedRuleContext(Partner_optionContext,0); -}; - -Mirroring_set_optionContext.prototype.mirroring_witness = function() { - return this.getTypedRuleContext(Mirroring_witnessContext,0); -}; - -Mirroring_set_optionContext.prototype.witness_option = function() { - return this.getTypedRuleContext(Witness_optionContext,0); -}; - -Mirroring_set_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMirroring_set_option(this); - } -}; - -Mirroring_set_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMirroring_set_option(this); - } -}; - -Mirroring_set_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMirroring_set_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Mirroring_set_optionContext = Mirroring_set_optionContext; - -TSqlParser.prototype.mirroring_set_option = function() { - - var localctx = new Mirroring_set_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 520, TSqlParser.RULE_mirroring_set_option); - try { - this.state = 6907; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PARTNER: - this.enterOuterAlt(localctx, 1); - this.state = 6901; - this.mirroring_partner(); - this.state = 6902; - this.partner_option(); - break; - case TSqlParser.WITNESS: - this.enterOuterAlt(localctx, 2); - this.state = 6904; - this.mirroring_witness(); - this.state = 6905; - this.witness_option(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Mirroring_partnerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_mirroring_partner; - return this; -} - -Mirroring_partnerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Mirroring_partnerContext.prototype.constructor = Mirroring_partnerContext; - -Mirroring_partnerContext.prototype.PARTNER = function() { - return this.getToken(TSqlParser.PARTNER, 0); -}; - -Mirroring_partnerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMirroring_partner(this); - } -}; - -Mirroring_partnerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMirroring_partner(this); - } -}; - -Mirroring_partnerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMirroring_partner(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Mirroring_partnerContext = Mirroring_partnerContext; - -TSqlParser.prototype.mirroring_partner = function() { - - var localctx = new Mirroring_partnerContext(this, this._ctx, this.state); - this.enterRule(localctx, 522, TSqlParser.RULE_mirroring_partner); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6909; - this.match(TSqlParser.PARTNER); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Mirroring_witnessContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_mirroring_witness; - return this; -} - -Mirroring_witnessContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Mirroring_witnessContext.prototype.constructor = Mirroring_witnessContext; - -Mirroring_witnessContext.prototype.WITNESS = function() { - return this.getToken(TSqlParser.WITNESS, 0); -}; - -Mirroring_witnessContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMirroring_witness(this); - } -}; - -Mirroring_witnessContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMirroring_witness(this); - } -}; - -Mirroring_witnessContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMirroring_witness(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Mirroring_witnessContext = Mirroring_witnessContext; - -TSqlParser.prototype.mirroring_witness = function() { - - var localctx = new Mirroring_witnessContext(this, this._ctx, this.state); - this.enterRule(localctx, 524, TSqlParser.RULE_mirroring_witness); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6911; - this.match(TSqlParser.WITNESS); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Witness_partner_equalContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_witness_partner_equal; - return this; -} - -Witness_partner_equalContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Witness_partner_equalContext.prototype.constructor = Witness_partner_equalContext; - -Witness_partner_equalContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Witness_partner_equalContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWitness_partner_equal(this); - } -}; - -Witness_partner_equalContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWitness_partner_equal(this); - } -}; - -Witness_partner_equalContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWitness_partner_equal(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Witness_partner_equalContext = Witness_partner_equalContext; - -TSqlParser.prototype.witness_partner_equal = function() { - - var localctx = new Witness_partner_equalContext(this, this._ctx, this.state); - this.enterRule(localctx, 526, TSqlParser.RULE_witness_partner_equal); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6913; - this.match(TSqlParser.EQUAL); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Partner_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_partner_option; - return this; -} - -Partner_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Partner_optionContext.prototype.constructor = Partner_optionContext; - -Partner_optionContext.prototype.witness_partner_equal = function() { - return this.getTypedRuleContext(Witness_partner_equalContext,0); -}; - -Partner_optionContext.prototype.partner_server = function() { - return this.getTypedRuleContext(Partner_serverContext,0); -}; - -Partner_optionContext.prototype.FAILOVER = function() { - return this.getToken(TSqlParser.FAILOVER, 0); -}; - -Partner_optionContext.prototype.FORCE_SERVICE_ALLOW_DATA_LOSS = function() { - return this.getToken(TSqlParser.FORCE_SERVICE_ALLOW_DATA_LOSS, 0); -}; - -Partner_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Partner_optionContext.prototype.RESUME = function() { - return this.getToken(TSqlParser.RESUME, 0); -}; - -Partner_optionContext.prototype.SAFETY = function() { - return this.getToken(TSqlParser.SAFETY, 0); -}; - -Partner_optionContext.prototype.FULL = function() { - return this.getToken(TSqlParser.FULL, 0); -}; - -Partner_optionContext.prototype.SUSPEND = function() { - return this.getToken(TSqlParser.SUSPEND, 0); -}; - -Partner_optionContext.prototype.TIMEOUT = function() { - return this.getToken(TSqlParser.TIMEOUT, 0); -}; - -Partner_optionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Partner_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPartner_option(this); - } -}; - -Partner_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPartner_option(this); - } -}; - -Partner_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPartner_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Partner_optionContext = Partner_optionContext; - -TSqlParser.prototype.partner_option = function() { - - var localctx = new Partner_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 528, TSqlParser.RULE_partner_option); - var _la = 0; // Token type - try { - this.state = 6927; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.EQUAL: - this.enterOuterAlt(localctx, 1); - this.state = 6915; - this.witness_partner_equal(); - this.state = 6916; - this.partner_server(); - break; - case TSqlParser.FAILOVER: - this.enterOuterAlt(localctx, 2); - this.state = 6918; - this.match(TSqlParser.FAILOVER); - break; - case TSqlParser.FORCE_SERVICE_ALLOW_DATA_LOSS: - this.enterOuterAlt(localctx, 3); - this.state = 6919; - this.match(TSqlParser.FORCE_SERVICE_ALLOW_DATA_LOSS); - break; - case TSqlParser.OFF: - this.enterOuterAlt(localctx, 4); - this.state = 6920; - this.match(TSqlParser.OFF); - break; - case TSqlParser.RESUME: - this.enterOuterAlt(localctx, 5); - this.state = 6921; - this.match(TSqlParser.RESUME); - break; - case TSqlParser.SAFETY: - this.enterOuterAlt(localctx, 6); - this.state = 6922; - this.match(TSqlParser.SAFETY); - this.state = 6923; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FULL || _la===TSqlParser.OFF)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.SUSPEND: - this.enterOuterAlt(localctx, 7); - this.state = 6924; - this.match(TSqlParser.SUSPEND); - break; - case TSqlParser.TIMEOUT: - this.enterOuterAlt(localctx, 8); - this.state = 6925; - this.match(TSqlParser.TIMEOUT); - this.state = 6926; - this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Witness_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_witness_option; - return this; -} - -Witness_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Witness_optionContext.prototype.constructor = Witness_optionContext; - -Witness_optionContext.prototype.witness_partner_equal = function() { - return this.getTypedRuleContext(Witness_partner_equalContext,0); -}; - -Witness_optionContext.prototype.witness_server = function() { - return this.getTypedRuleContext(Witness_serverContext,0); -}; - -Witness_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Witness_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWitness_option(this); - } -}; - -Witness_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWitness_option(this); - } -}; - -Witness_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWitness_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Witness_optionContext = Witness_optionContext; - -TSqlParser.prototype.witness_option = function() { - - var localctx = new Witness_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 530, TSqlParser.RULE_witness_option); - try { - this.state = 6933; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.EQUAL: - this.enterOuterAlt(localctx, 1); - this.state = 6929; - this.witness_partner_equal(); - this.state = 6930; - this.witness_server(); - break; - case TSqlParser.OFF: - this.enterOuterAlt(localctx, 2); - this.state = 6932; - this.match(TSqlParser.OFF); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Witness_serverContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_witness_server; - return this; -} - -Witness_serverContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Witness_serverContext.prototype.constructor = Witness_serverContext; - -Witness_serverContext.prototype.partner_server = function() { - return this.getTypedRuleContext(Partner_serverContext,0); -}; - -Witness_serverContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWitness_server(this); - } -}; - -Witness_serverContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWitness_server(this); - } -}; - -Witness_serverContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWitness_server(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Witness_serverContext = Witness_serverContext; - -TSqlParser.prototype.witness_server = function() { - - var localctx = new Witness_serverContext(this, this._ctx, this.state); - this.enterRule(localctx, 532, TSqlParser.RULE_witness_server); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6935; - this.partner_server(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Partner_serverContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_partner_server; - return this; -} - -Partner_serverContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Partner_serverContext.prototype.constructor = Partner_serverContext; - -Partner_serverContext.prototype.partner_server_tcp_prefix = function() { - return this.getTypedRuleContext(Partner_server_tcp_prefixContext,0); -}; - -Partner_serverContext.prototype.host = function() { - return this.getTypedRuleContext(HostContext,0); -}; - -Partner_serverContext.prototype.mirroring_host_port_seperator = function() { - return this.getTypedRuleContext(Mirroring_host_port_seperatorContext,0); -}; - -Partner_serverContext.prototype.port_number = function() { - return this.getTypedRuleContext(Port_numberContext,0); -}; - -Partner_serverContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPartner_server(this); - } -}; - -Partner_serverContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPartner_server(this); - } -}; - -Partner_serverContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPartner_server(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Partner_serverContext = Partner_serverContext; - -TSqlParser.prototype.partner_server = function() { - - var localctx = new Partner_serverContext(this, this._ctx, this.state); - this.enterRule(localctx, 534, TSqlParser.RULE_partner_server); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6937; - this.partner_server_tcp_prefix(); - this.state = 6938; - this.host(); - this.state = 6939; - this.mirroring_host_port_seperator(); - this.state = 6940; - this.port_number(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Mirroring_host_port_seperatorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_mirroring_host_port_seperator; - return this; -} - -Mirroring_host_port_seperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Mirroring_host_port_seperatorContext.prototype.constructor = Mirroring_host_port_seperatorContext; - -Mirroring_host_port_seperatorContext.prototype.COLON = function() { - return this.getToken(TSqlParser.COLON, 0); -}; - -Mirroring_host_port_seperatorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMirroring_host_port_seperator(this); - } -}; - -Mirroring_host_port_seperatorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMirroring_host_port_seperator(this); - } -}; - -Mirroring_host_port_seperatorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMirroring_host_port_seperator(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Mirroring_host_port_seperatorContext = Mirroring_host_port_seperatorContext; - -TSqlParser.prototype.mirroring_host_port_seperator = function() { - - var localctx = new Mirroring_host_port_seperatorContext(this, this._ctx, this.state); - this.enterRule(localctx, 536, TSqlParser.RULE_mirroring_host_port_seperator); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6942; - this.match(TSqlParser.COLON); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Partner_server_tcp_prefixContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_partner_server_tcp_prefix; - return this; -} - -Partner_server_tcp_prefixContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Partner_server_tcp_prefixContext.prototype.constructor = Partner_server_tcp_prefixContext; - -Partner_server_tcp_prefixContext.prototype.TCP = function() { - return this.getToken(TSqlParser.TCP, 0); -}; - -Partner_server_tcp_prefixContext.prototype.COLON = function() { - return this.getToken(TSqlParser.COLON, 0); -}; - -Partner_server_tcp_prefixContext.prototype.DOUBLE_FORWARD_SLASH = function() { - return this.getToken(TSqlParser.DOUBLE_FORWARD_SLASH, 0); -}; - -Partner_server_tcp_prefixContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPartner_server_tcp_prefix(this); - } -}; - -Partner_server_tcp_prefixContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPartner_server_tcp_prefix(this); - } -}; - -Partner_server_tcp_prefixContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPartner_server_tcp_prefix(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Partner_server_tcp_prefixContext = Partner_server_tcp_prefixContext; - -TSqlParser.prototype.partner_server_tcp_prefix = function() { - - var localctx = new Partner_server_tcp_prefixContext(this, this._ctx, this.state); - this.enterRule(localctx, 538, TSqlParser.RULE_partner_server_tcp_prefix); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6944; - this.match(TSqlParser.TCP); - this.state = 6945; - this.match(TSqlParser.COLON); - this.state = 6946; - this.match(TSqlParser.DOUBLE_FORWARD_SLASH); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Port_numberContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_port_number; - this.port = null; // Token - return this; -} - -Port_numberContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Port_numberContext.prototype.constructor = Port_numberContext; - -Port_numberContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Port_numberContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPort_number(this); - } -}; - -Port_numberContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPort_number(this); - } -}; - -Port_numberContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPort_number(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Port_numberContext = Port_numberContext; - -TSqlParser.prototype.port_number = function() { - - var localctx = new Port_numberContext(this, this._ctx, this.state); - this.enterRule(localctx, 540, TSqlParser.RULE_port_number); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6948; - localctx.port = this.match(TSqlParser.DECIMAL); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function HostContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_host; - return this; -} - -HostContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -HostContext.prototype.constructor = HostContext; - -HostContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -HostContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -HostContext.prototype.host = function() { - return this.getTypedRuleContext(HostContext,0); -}; - -HostContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterHost(this); - } -}; - -HostContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitHost(this); - } -}; - -HostContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitHost(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.HostContext = HostContext; - -TSqlParser.prototype.host = function() { - - var localctx = new HostContext(this, this._ctx, this.state); - this.enterRule(localctx, 542, TSqlParser.RULE_host); - try { - this.state = 6960; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,921,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 6950; - this.id(); - this.state = 6951; - this.match(TSqlParser.DOT); - this.state = 6952; - this.host(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 6958; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,920,this._ctx); - switch(la_) { - case 1: - this.state = 6954; - this.id(); - this.state = 6955; - this.match(TSqlParser.DOT); - break; - - case 2: - this.state = 6957; - this.id(); - break; - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Date_correlation_optimization_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_date_correlation_optimization_option; - return this; -} - -Date_correlation_optimization_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Date_correlation_optimization_optionContext.prototype.constructor = Date_correlation_optimization_optionContext; - -Date_correlation_optimization_optionContext.prototype.DATE_CORRELATION_OPTIMIZATION = function() { - return this.getToken(TSqlParser.DATE_CORRELATION_OPTIMIZATION, 0); -}; - -Date_correlation_optimization_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Date_correlation_optimization_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDate_correlation_optimization_option(this); - } -}; - -Date_correlation_optimization_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDate_correlation_optimization_option(this); - } -}; - -Date_correlation_optimization_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDate_correlation_optimization_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Date_correlation_optimization_optionContext = Date_correlation_optimization_optionContext; - -TSqlParser.prototype.date_correlation_optimization_option = function() { - - var localctx = new Date_correlation_optimization_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 544, TSqlParser.RULE_date_correlation_optimization_option); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6962; - this.match(TSqlParser.DATE_CORRELATION_OPTIMIZATION); - this.state = 6963; - this.on_off(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Db_encryption_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_db_encryption_option; - return this; -} - -Db_encryption_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Db_encryption_optionContext.prototype.constructor = Db_encryption_optionContext; - -Db_encryption_optionContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Db_encryption_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Db_encryption_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDb_encryption_option(this); - } -}; - -Db_encryption_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDb_encryption_option(this); - } -}; - -Db_encryption_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDb_encryption_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Db_encryption_optionContext = Db_encryption_optionContext; - -TSqlParser.prototype.db_encryption_option = function() { - - var localctx = new Db_encryption_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 546, TSqlParser.RULE_db_encryption_option); - try { - this.enterOuterAlt(localctx, 1); - this.state = 6965; - this.match(TSqlParser.ENCRYPTION); - this.state = 6966; - this.on_off(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Db_state_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_db_state_option; - return this; -} - -Db_state_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Db_state_optionContext.prototype.constructor = Db_state_optionContext; - -Db_state_optionContext.prototype.ONLINE = function() { - return this.getToken(TSqlParser.ONLINE, 0); -}; - -Db_state_optionContext.prototype.OFFLINE = function() { - return this.getToken(TSqlParser.OFFLINE, 0); -}; - -Db_state_optionContext.prototype.EMERGENCY = function() { - return this.getToken(TSqlParser.EMERGENCY, 0); -}; - -Db_state_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDb_state_option(this); - } -}; - -Db_state_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDb_state_option(this); - } -}; - -Db_state_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDb_state_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Db_state_optionContext = Db_state_optionContext; - -TSqlParser.prototype.db_state_option = function() { - - var localctx = new Db_state_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 548, TSqlParser.RULE_db_state_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6968; - _la = this._input.LA(1); - if(!(_la===TSqlParser.EMERGENCY || _la===TSqlParser.OFFLINE || _la===TSqlParser.ONLINE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Db_update_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_db_update_option; - return this; -} - -Db_update_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Db_update_optionContext.prototype.constructor = Db_update_optionContext; - -Db_update_optionContext.prototype.READ_ONLY = function() { - return this.getToken(TSqlParser.READ_ONLY, 0); -}; - -Db_update_optionContext.prototype.READ_WRITE = function() { - return this.getToken(TSqlParser.READ_WRITE, 0); -}; - -Db_update_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDb_update_option(this); - } -}; - -Db_update_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDb_update_option(this); - } -}; - -Db_update_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDb_update_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Db_update_optionContext = Db_update_optionContext; - -TSqlParser.prototype.db_update_option = function() { - - var localctx = new Db_update_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 550, TSqlParser.RULE_db_update_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6970; - _la = this._input.LA(1); - if(!(_la===TSqlParser.READ_ONLY || _la===TSqlParser.READ_WRITE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Db_user_access_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_db_user_access_option; - return this; -} - -Db_user_access_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Db_user_access_optionContext.prototype.constructor = Db_user_access_optionContext; - -Db_user_access_optionContext.prototype.SINGLE_USER = function() { - return this.getToken(TSqlParser.SINGLE_USER, 0); -}; - -Db_user_access_optionContext.prototype.RESTRICTED_USER = function() { - return this.getToken(TSqlParser.RESTRICTED_USER, 0); -}; - -Db_user_access_optionContext.prototype.MULTI_USER = function() { - return this.getToken(TSqlParser.MULTI_USER, 0); -}; - -Db_user_access_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDb_user_access_option(this); - } -}; - -Db_user_access_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDb_user_access_option(this); - } -}; - -Db_user_access_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDb_user_access_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Db_user_access_optionContext = Db_user_access_optionContext; - -TSqlParser.prototype.db_user_access_option = function() { - - var localctx = new Db_user_access_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 552, TSqlParser.RULE_db_user_access_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6972; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MULTI_USER || _la===TSqlParser.RESTRICTED_USER || _la===TSqlParser.SINGLE_USER)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Delayed_durability_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_delayed_durability_option; - return this; -} - -Delayed_durability_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Delayed_durability_optionContext.prototype.constructor = Delayed_durability_optionContext; - -Delayed_durability_optionContext.prototype.DELAYED_DURABILITY = function() { - return this.getToken(TSqlParser.DELAYED_DURABILITY, 0); -}; - -Delayed_durability_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Delayed_durability_optionContext.prototype.DISABLED = function() { - return this.getToken(TSqlParser.DISABLED, 0); -}; - -Delayed_durability_optionContext.prototype.ALLOWED = function() { - return this.getToken(TSqlParser.ALLOWED, 0); -}; - -Delayed_durability_optionContext.prototype.FORCED = function() { - return this.getToken(TSqlParser.FORCED, 0); -}; - -Delayed_durability_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDelayed_durability_option(this); - } -}; - -Delayed_durability_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDelayed_durability_option(this); - } -}; - -Delayed_durability_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDelayed_durability_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Delayed_durability_optionContext = Delayed_durability_optionContext; - -TSqlParser.prototype.delayed_durability_option = function() { - - var localctx = new Delayed_durability_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 554, TSqlParser.RULE_delayed_durability_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 6974; - this.match(TSqlParser.DELAYED_DURABILITY); - this.state = 6975; - this.match(TSqlParser.EQUAL); - this.state = 6976; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALLOWED || _la===TSqlParser.DISABLED || _la===TSqlParser.FORCED)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function External_access_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_external_access_option; - return this; -} - -External_access_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -External_access_optionContext.prototype.constructor = External_access_optionContext; - -External_access_optionContext.prototype.DB_CHAINING = function() { - return this.getToken(TSqlParser.DB_CHAINING, 0); -}; - -External_access_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -External_access_optionContext.prototype.TRUSTWORTHY = function() { - return this.getToken(TSqlParser.TRUSTWORTHY, 0); -}; - -External_access_optionContext.prototype.DEFAULT_LANGUAGE = function() { - return this.getToken(TSqlParser.DEFAULT_LANGUAGE, 0); -}; - -External_access_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -External_access_optionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -External_access_optionContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -External_access_optionContext.prototype.DEFAULT_FULLTEXT_LANGUAGE = function() { - return this.getToken(TSqlParser.DEFAULT_FULLTEXT_LANGUAGE, 0); -}; - -External_access_optionContext.prototype.NESTED_TRIGGERS = function() { - return this.getToken(TSqlParser.NESTED_TRIGGERS, 0); -}; - -External_access_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -External_access_optionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -External_access_optionContext.prototype.TRANSFORM_NOISE_WORDS = function() { - return this.getToken(TSqlParser.TRANSFORM_NOISE_WORDS, 0); -}; - -External_access_optionContext.prototype.TWO_DIGIT_YEAR_CUTOFF = function() { - return this.getToken(TSqlParser.TWO_DIGIT_YEAR_CUTOFF, 0); -}; - -External_access_optionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -External_access_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExternal_access_option(this); - } -}; - -External_access_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExternal_access_option(this); - } -}; - -External_access_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExternal_access_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.External_access_optionContext = External_access_optionContext; - -TSqlParser.prototype.external_access_option = function() { - - var localctx = new External_access_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 556, TSqlParser.RULE_external_access_option); - var _la = 0; // Token type - try { - this.state = 7003; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DB_CHAINING: - this.enterOuterAlt(localctx, 1); - this.state = 6978; - this.match(TSqlParser.DB_CHAINING); - this.state = 6979; - this.on_off(); - break; - case TSqlParser.TRUSTWORTHY: - this.enterOuterAlt(localctx, 2); - this.state = 6980; - this.match(TSqlParser.TRUSTWORTHY); - this.state = 6981; - this.on_off(); - break; - case TSqlParser.DEFAULT_LANGUAGE: - this.enterOuterAlt(localctx, 3); - this.state = 6982; - this.match(TSqlParser.DEFAULT_LANGUAGE); - this.state = 6983; - this.match(TSqlParser.EQUAL); - this.state = 6986; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 6984; - this.id(); - break; - case TSqlParser.STRING: - this.state = 6985; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - this.enterOuterAlt(localctx, 4); - this.state = 6988; - this.match(TSqlParser.DEFAULT_FULLTEXT_LANGUAGE); - this.state = 6989; - this.match(TSqlParser.EQUAL); - this.state = 6992; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 6990; - this.id(); - break; - case TSqlParser.STRING: - this.state = 6991; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.NESTED_TRIGGERS: - this.enterOuterAlt(localctx, 5); - this.state = 6994; - this.match(TSqlParser.NESTED_TRIGGERS); - this.state = 6995; - this.match(TSqlParser.EQUAL); - this.state = 6996; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.TRANSFORM_NOISE_WORDS: - this.enterOuterAlt(localctx, 6); - this.state = 6997; - this.match(TSqlParser.TRANSFORM_NOISE_WORDS); - this.state = 6998; - this.match(TSqlParser.EQUAL); - this.state = 6999; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - this.enterOuterAlt(localctx, 7); - this.state = 7000; - this.match(TSqlParser.TWO_DIGIT_YEAR_CUTOFF); - this.state = 7001; - this.match(TSqlParser.EQUAL); - this.state = 7002; - this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Hadr_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_hadr_options; - this.availability_group_name = null; // IdContext - return this; -} - -Hadr_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Hadr_optionsContext.prototype.constructor = Hadr_optionsContext; - -Hadr_optionsContext.prototype.HADR = function() { - return this.getToken(TSqlParser.HADR, 0); -}; - -Hadr_optionsContext.prototype.SUSPEND = function() { - return this.getToken(TSqlParser.SUSPEND, 0); -}; - -Hadr_optionsContext.prototype.RESUME = function() { - return this.getToken(TSqlParser.RESUME, 0); -}; - -Hadr_optionsContext.prototype.AVAILABILITY = function() { - return this.getToken(TSqlParser.AVAILABILITY, 0); -}; - -Hadr_optionsContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Hadr_optionsContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Hadr_optionsContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Hadr_optionsContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Hadr_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterHadr_options(this); - } -}; - -Hadr_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitHadr_options(this); - } -}; - -Hadr_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitHadr_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Hadr_optionsContext = Hadr_optionsContext; - -TSqlParser.prototype.hadr_options = function() { - - var localctx = new Hadr_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 558, TSqlParser.RULE_hadr_options); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7005; - this.match(TSqlParser.HADR); - this.state = 7014; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.OFF: - case TSqlParser.AVAILABILITY: - this.state = 7011; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AVAILABILITY: - this.state = 7006; - this.match(TSqlParser.AVAILABILITY); - this.state = 7007; - this.match(TSqlParser.GROUP); - this.state = 7008; - this.match(TSqlParser.EQUAL); - this.state = 7009; - localctx.availability_group_name = this.id(); - break; - case TSqlParser.OFF: - this.state = 7010; - this.match(TSqlParser.OFF); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.RESUME: - case TSqlParser.SUSPEND: - this.state = 7013; - _la = this._input.LA(1); - if(!(_la===TSqlParser.RESUME || _la===TSqlParser.SUSPEND)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Mixed_page_allocation_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_mixed_page_allocation_option; - return this; -} - -Mixed_page_allocation_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Mixed_page_allocation_optionContext.prototype.constructor = Mixed_page_allocation_optionContext; - -Mixed_page_allocation_optionContext.prototype.MIXED_PAGE_ALLOCATION = function() { - return this.getToken(TSqlParser.MIXED_PAGE_ALLOCATION, 0); -}; - -Mixed_page_allocation_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Mixed_page_allocation_optionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Mixed_page_allocation_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMixed_page_allocation_option(this); - } -}; - -Mixed_page_allocation_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMixed_page_allocation_option(this); - } -}; - -Mixed_page_allocation_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMixed_page_allocation_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Mixed_page_allocation_optionContext = Mixed_page_allocation_optionContext; - -TSqlParser.prototype.mixed_page_allocation_option = function() { - - var localctx = new Mixed_page_allocation_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 560, TSqlParser.RULE_mixed_page_allocation_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7016; - this.match(TSqlParser.MIXED_PAGE_ALLOCATION); - this.state = 7017; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Parameterization_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_parameterization_option; - return this; -} - -Parameterization_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Parameterization_optionContext.prototype.constructor = Parameterization_optionContext; - -Parameterization_optionContext.prototype.PARAMETERIZATION = function() { - return this.getToken(TSqlParser.PARAMETERIZATION, 0); -}; - -Parameterization_optionContext.prototype.SIMPLE = function() { - return this.getToken(TSqlParser.SIMPLE, 0); -}; - -Parameterization_optionContext.prototype.FORCED = function() { - return this.getToken(TSqlParser.FORCED, 0); -}; - -Parameterization_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterParameterization_option(this); - } -}; - -Parameterization_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitParameterization_option(this); - } -}; - -Parameterization_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitParameterization_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Parameterization_optionContext = Parameterization_optionContext; - -TSqlParser.prototype.parameterization_option = function() { - - var localctx = new Parameterization_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 562, TSqlParser.RULE_parameterization_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7019; - this.match(TSqlParser.PARAMETERIZATION); - this.state = 7020; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FORCED || _la===TSqlParser.SIMPLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Recovery_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_recovery_option; - return this; -} - -Recovery_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Recovery_optionContext.prototype.constructor = Recovery_optionContext; - -Recovery_optionContext.prototype.RECOVERY = function() { - return this.getToken(TSqlParser.RECOVERY, 0); -}; - -Recovery_optionContext.prototype.FULL = function() { - return this.getToken(TSqlParser.FULL, 0); -}; - -Recovery_optionContext.prototype.BULK_LOGGED = function() { - return this.getToken(TSqlParser.BULK_LOGGED, 0); -}; - -Recovery_optionContext.prototype.SIMPLE = function() { - return this.getToken(TSqlParser.SIMPLE, 0); -}; - -Recovery_optionContext.prototype.TORN_PAGE_DETECTION = function() { - return this.getToken(TSqlParser.TORN_PAGE_DETECTION, 0); -}; - -Recovery_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Recovery_optionContext.prototype.PAGE_VERIFY = function() { - return this.getToken(TSqlParser.PAGE_VERIFY, 0); -}; - -Recovery_optionContext.prototype.CHECKSUM = function() { - return this.getToken(TSqlParser.CHECKSUM, 0); -}; - -Recovery_optionContext.prototype.NONE = function() { - return this.getToken(TSqlParser.NONE, 0); -}; - -Recovery_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterRecovery_option(this); - } -}; - -Recovery_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitRecovery_option(this); - } -}; - -Recovery_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitRecovery_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Recovery_optionContext = Recovery_optionContext; - -TSqlParser.prototype.recovery_option = function() { - - var localctx = new Recovery_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 564, TSqlParser.RULE_recovery_option); - var _la = 0; // Token type - try { - this.state = 7028; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.RECOVERY: - this.enterOuterAlt(localctx, 1); - this.state = 7022; - this.match(TSqlParser.RECOVERY); - this.state = 7023; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FULL || _la===TSqlParser.BULK_LOGGED || _la===TSqlParser.SIMPLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.TORN_PAGE_DETECTION: - this.enterOuterAlt(localctx, 2); - this.state = 7024; - this.match(TSqlParser.TORN_PAGE_DETECTION); - this.state = 7025; - this.on_off(); - break; - case TSqlParser.PAGE_VERIFY: - this.enterOuterAlt(localctx, 3); - this.state = 7026; - this.match(TSqlParser.PAGE_VERIFY); - this.state = 7027; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NONE || _la===TSqlParser.CHECKSUM || _la===TSqlParser.TORN_PAGE_DETECTION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Service_broker_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_service_broker_option; - return this; -} - -Service_broker_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Service_broker_optionContext.prototype.constructor = Service_broker_optionContext; - -Service_broker_optionContext.prototype.ENABLE_BROKER = function() { - return this.getToken(TSqlParser.ENABLE_BROKER, 0); -}; - -Service_broker_optionContext.prototype.DISABLE_BROKER = function() { - return this.getToken(TSqlParser.DISABLE_BROKER, 0); -}; - -Service_broker_optionContext.prototype.NEW_BROKER = function() { - return this.getToken(TSqlParser.NEW_BROKER, 0); -}; - -Service_broker_optionContext.prototype.ERROR_BROKER_CONVERSATIONS = function() { - return this.getToken(TSqlParser.ERROR_BROKER_CONVERSATIONS, 0); -}; - -Service_broker_optionContext.prototype.HONOR_BROKER_PRIORITY = function() { - return this.getToken(TSqlParser.HONOR_BROKER_PRIORITY, 0); -}; - -Service_broker_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Service_broker_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterService_broker_option(this); - } -}; - -Service_broker_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitService_broker_option(this); - } -}; - -Service_broker_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitService_broker_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Service_broker_optionContext = Service_broker_optionContext; - -TSqlParser.prototype.service_broker_option = function() { - - var localctx = new Service_broker_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 566, TSqlParser.RULE_service_broker_option); - try { - this.state = 7036; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ENABLE_BROKER: - this.enterOuterAlt(localctx, 1); - this.state = 7030; - this.match(TSqlParser.ENABLE_BROKER); - break; - case TSqlParser.DISABLE_BROKER: - this.enterOuterAlt(localctx, 2); - this.state = 7031; - this.match(TSqlParser.DISABLE_BROKER); - break; - case TSqlParser.NEW_BROKER: - this.enterOuterAlt(localctx, 3); - this.state = 7032; - this.match(TSqlParser.NEW_BROKER); - break; - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - this.enterOuterAlt(localctx, 4); - this.state = 7033; - this.match(TSqlParser.ERROR_BROKER_CONVERSATIONS); - break; - case TSqlParser.HONOR_BROKER_PRIORITY: - this.enterOuterAlt(localctx, 5); - this.state = 7034; - this.match(TSqlParser.HONOR_BROKER_PRIORITY); - this.state = 7035; - this.on_off(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Snapshot_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_snapshot_option; - this.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = null; // Token - return this; -} - -Snapshot_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Snapshot_optionContext.prototype.constructor = Snapshot_optionContext; - -Snapshot_optionContext.prototype.ALLOW_SNAPSHOT_ISOLATION = function() { - return this.getToken(TSqlParser.ALLOW_SNAPSHOT_ISOLATION, 0); -}; - -Snapshot_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Snapshot_optionContext.prototype.READ_COMMITTED_SNAPSHOT = function() { - return this.getToken(TSqlParser.READ_COMMITTED_SNAPSHOT, 0); -}; - -Snapshot_optionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Snapshot_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Snapshot_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSnapshot_option(this); - } -}; - -Snapshot_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSnapshot_option(this); - } -}; - -Snapshot_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSnapshot_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Snapshot_optionContext = Snapshot_optionContext; - -TSqlParser.prototype.snapshot_option = function() { - - var localctx = new Snapshot_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 568, TSqlParser.RULE_snapshot_option); - var _la = 0; // Token type - try { - this.state = 7043; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - this.enterOuterAlt(localctx, 1); - this.state = 7038; - this.match(TSqlParser.ALLOW_SNAPSHOT_ISOLATION); - this.state = 7039; - this.on_off(); - break; - case TSqlParser.READ_COMMITTED_SNAPSHOT: - this.enterOuterAlt(localctx, 2); - this.state = 7040; - this.match(TSqlParser.READ_COMMITTED_SNAPSHOT); - this.state = 7041; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.OFF: - case TSqlParser.ON: - this.enterOuterAlt(localctx, 3); - this.state = 7042; - localctx.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - localctx.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Sql_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_sql_option; - return this; -} - -Sql_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Sql_optionContext.prototype.constructor = Sql_optionContext; - -Sql_optionContext.prototype.ANSI_NULL_DEFAULT = function() { - return this.getToken(TSqlParser.ANSI_NULL_DEFAULT, 0); -}; - -Sql_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Sql_optionContext.prototype.ANSI_NULLS = function() { - return this.getToken(TSqlParser.ANSI_NULLS, 0); -}; - -Sql_optionContext.prototype.ANSI_PADDING = function() { - return this.getToken(TSqlParser.ANSI_PADDING, 0); -}; - -Sql_optionContext.prototype.ANSI_WARNINGS = function() { - return this.getToken(TSqlParser.ANSI_WARNINGS, 0); -}; - -Sql_optionContext.prototype.ARITHABORT = function() { - return this.getToken(TSqlParser.ARITHABORT, 0); -}; - -Sql_optionContext.prototype.COMPATIBILITY_LEVEL = function() { - return this.getToken(TSqlParser.COMPATIBILITY_LEVEL, 0); -}; - -Sql_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Sql_optionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Sql_optionContext.prototype.CONCAT_NULL_YIELDS_NULL = function() { - return this.getToken(TSqlParser.CONCAT_NULL_YIELDS_NULL, 0); -}; - -Sql_optionContext.prototype.NUMERIC_ROUNDABORT = function() { - return this.getToken(TSqlParser.NUMERIC_ROUNDABORT, 0); -}; - -Sql_optionContext.prototype.QUOTED_IDENTIFIER = function() { - return this.getToken(TSqlParser.QUOTED_IDENTIFIER, 0); -}; - -Sql_optionContext.prototype.RECURSIVE_TRIGGERS = function() { - return this.getToken(TSqlParser.RECURSIVE_TRIGGERS, 0); -}; - -Sql_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSql_option(this); - } -}; - -Sql_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSql_option(this); - } -}; - -Sql_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSql_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Sql_optionContext = Sql_optionContext; - -TSqlParser.prototype.sql_option = function() { - - var localctx = new Sql_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 570, TSqlParser.RULE_sql_option); - try { - this.state = 7066; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ANSI_NULL_DEFAULT: - this.enterOuterAlt(localctx, 1); - this.state = 7045; - this.match(TSqlParser.ANSI_NULL_DEFAULT); - this.state = 7046; - this.on_off(); - break; - case TSqlParser.ANSI_NULLS: - this.enterOuterAlt(localctx, 2); - this.state = 7047; - this.match(TSqlParser.ANSI_NULLS); - this.state = 7048; - this.on_off(); - break; - case TSqlParser.ANSI_PADDING: - this.enterOuterAlt(localctx, 3); - this.state = 7049; - this.match(TSqlParser.ANSI_PADDING); - this.state = 7050; - this.on_off(); - break; - case TSqlParser.ANSI_WARNINGS: - this.enterOuterAlt(localctx, 4); - this.state = 7051; - this.match(TSqlParser.ANSI_WARNINGS); - this.state = 7052; - this.on_off(); - break; - case TSqlParser.ARITHABORT: - this.enterOuterAlt(localctx, 5); - this.state = 7053; - this.match(TSqlParser.ARITHABORT); - this.state = 7054; - this.on_off(); - break; - case TSqlParser.COMPATIBILITY_LEVEL: - this.enterOuterAlt(localctx, 6); - this.state = 7055; - this.match(TSqlParser.COMPATIBILITY_LEVEL); - this.state = 7056; - this.match(TSqlParser.EQUAL); - this.state = 7057; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - this.enterOuterAlt(localctx, 7); - this.state = 7058; - this.match(TSqlParser.CONCAT_NULL_YIELDS_NULL); - this.state = 7059; - this.on_off(); - break; - case TSqlParser.NUMERIC_ROUNDABORT: - this.enterOuterAlt(localctx, 8); - this.state = 7060; - this.match(TSqlParser.NUMERIC_ROUNDABORT); - this.state = 7061; - this.on_off(); - break; - case TSqlParser.QUOTED_IDENTIFIER: - this.enterOuterAlt(localctx, 9); - this.state = 7062; - this.match(TSqlParser.QUOTED_IDENTIFIER); - this.state = 7063; - this.on_off(); - break; - case TSqlParser.RECURSIVE_TRIGGERS: - this.enterOuterAlt(localctx, 10); - this.state = 7064; - this.match(TSqlParser.RECURSIVE_TRIGGERS); - this.state = 7065; - this.on_off(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Target_recovery_time_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_target_recovery_time_option; - return this; -} - -Target_recovery_time_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Target_recovery_time_optionContext.prototype.constructor = Target_recovery_time_optionContext; - -Target_recovery_time_optionContext.prototype.TARGET_RECOVERY_TIME = function() { - return this.getToken(TSqlParser.TARGET_RECOVERY_TIME, 0); -}; - -Target_recovery_time_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Target_recovery_time_optionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Target_recovery_time_optionContext.prototype.SECONDS = function() { - return this.getToken(TSqlParser.SECONDS, 0); -}; - -Target_recovery_time_optionContext.prototype.MINUTES = function() { - return this.getToken(TSqlParser.MINUTES, 0); -}; - -Target_recovery_time_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTarget_recovery_time_option(this); - } -}; - -Target_recovery_time_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTarget_recovery_time_option(this); - } -}; - -Target_recovery_time_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTarget_recovery_time_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Target_recovery_time_optionContext = Target_recovery_time_optionContext; - -TSqlParser.prototype.target_recovery_time_option = function() { - - var localctx = new Target_recovery_time_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 572, TSqlParser.RULE_target_recovery_time_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7068; - this.match(TSqlParser.TARGET_RECOVERY_TIME); - this.state = 7069; - this.match(TSqlParser.EQUAL); - this.state = 7070; - this.match(TSqlParser.DECIMAL); - this.state = 7071; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MINUTES || _la===TSqlParser.SECONDS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function TerminationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_termination; - this.seconds = null; // Token - return this; -} - -TerminationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -TerminationContext.prototype.constructor = TerminationContext; - -TerminationContext.prototype.ROLLBACK = function() { - return this.getToken(TSqlParser.ROLLBACK, 0); -}; - -TerminationContext.prototype.AFTER = function() { - return this.getToken(TSqlParser.AFTER, 0); -}; - -TerminationContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -TerminationContext.prototype.IMMEDIATE = function() { - return this.getToken(TSqlParser.IMMEDIATE, 0); -}; - -TerminationContext.prototype.NO_WAIT = function() { - return this.getToken(TSqlParser.NO_WAIT, 0); -}; - -TerminationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTermination(this); - } -}; - -TerminationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTermination(this); - } -}; - -TerminationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTermination(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.TerminationContext = TerminationContext; - -TSqlParser.prototype.termination = function() { - - var localctx = new TerminationContext(this, this._ctx, this.state); - this.enterRule(localctx, 574, TSqlParser.RULE_termination); - try { - this.state = 7079; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,931,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 7073; - this.match(TSqlParser.ROLLBACK); - this.state = 7074; - this.match(TSqlParser.AFTER); - this.state = 7075; - localctx.seconds = this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 7076; - this.match(TSqlParser.ROLLBACK); - this.state = 7077; - this.match(TSqlParser.IMMEDIATE); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 7078; - this.match(TSqlParser.NO_WAIT); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_indexContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_index; - return this; -} - -Drop_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_indexContext.prototype.constructor = Drop_indexContext; - -Drop_indexContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_indexContext.prototype.INDEX = function() { - return this.getToken(TSqlParser.INDEX, 0); -}; - -Drop_indexContext.prototype.drop_relational_or_xml_or_spatial_index = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Drop_relational_or_xml_or_spatial_indexContext); - } else { - return this.getTypedRuleContext(Drop_relational_or_xml_or_spatial_indexContext,i); - } -}; - -Drop_indexContext.prototype.drop_backward_compatible_index = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Drop_backward_compatible_indexContext); - } else { - return this.getTypedRuleContext(Drop_backward_compatible_indexContext,i); - } -}; - -Drop_indexContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_indexContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_indexContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Drop_indexContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_indexContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_index(this); - } -}; - -Drop_indexContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_index(this); - } -}; - -Drop_indexContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_index(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_indexContext = Drop_indexContext; - -TSqlParser.prototype.drop_index = function() { - - var localctx = new Drop_indexContext(this, this._ctx, this.state); - this.enterRule(localctx, 576, TSqlParser.RULE_drop_index); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7081; - this.match(TSqlParser.DROP); - this.state = 7082; - this.match(TSqlParser.INDEX); - this.state = 7085; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 7083; - this.match(TSqlParser.IF); - this.state = 7084; - this.match(TSqlParser.EXISTS); - } - - this.state = 7103; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,935,this._ctx); - switch(la_) { - case 1: - this.state = 7087; - this.drop_relational_or_xml_or_spatial_index(); - this.state = 7092; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7088; - this.match(TSqlParser.COMMA); - this.state = 7089; - this.drop_relational_or_xml_or_spatial_index(); - this.state = 7094; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 2: - this.state = 7095; - this.drop_backward_compatible_index(); - this.state = 7100; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7096; - this.match(TSqlParser.COMMA); - this.state = 7097; - this.drop_backward_compatible_index(); - this.state = 7102; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - } - this.state = 7106; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,936,this._ctx); - if(la_===1) { - this.state = 7105; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_relational_or_xml_or_spatial_indexContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_relational_or_xml_or_spatial_index; - this.index_name = null; // IdContext - return this; -} - -Drop_relational_or_xml_or_spatial_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_relational_or_xml_or_spatial_indexContext.prototype.constructor = Drop_relational_or_xml_or_spatial_indexContext; - -Drop_relational_or_xml_or_spatial_indexContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Drop_relational_or_xml_or_spatial_indexContext.prototype.full_table_name = function() { - return this.getTypedRuleContext(Full_table_nameContext,0); -}; - -Drop_relational_or_xml_or_spatial_indexContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Drop_relational_or_xml_or_spatial_indexContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_relational_or_xml_or_spatial_index(this); - } -}; - -Drop_relational_or_xml_or_spatial_indexContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_relational_or_xml_or_spatial_index(this); - } -}; - -Drop_relational_or_xml_or_spatial_indexContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_relational_or_xml_or_spatial_index(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_relational_or_xml_or_spatial_indexContext = Drop_relational_or_xml_or_spatial_indexContext; - -TSqlParser.prototype.drop_relational_or_xml_or_spatial_index = function() { - - var localctx = new Drop_relational_or_xml_or_spatial_indexContext(this, this._ctx, this.state); - this.enterRule(localctx, 578, TSqlParser.RULE_drop_relational_or_xml_or_spatial_index); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7108; - localctx.index_name = this.id(); - this.state = 7109; - this.match(TSqlParser.ON); - this.state = 7110; - this.full_table_name(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_backward_compatible_indexContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_backward_compatible_index; - this.owner_name = null; // IdContext - this.table_or_view_name = null; // IdContext - this.index_name = null; // IdContext - return this; -} - -Drop_backward_compatible_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_backward_compatible_indexContext.prototype.constructor = Drop_backward_compatible_indexContext; - -Drop_backward_compatible_indexContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Drop_backward_compatible_indexContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_backward_compatible_indexContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_backward_compatible_index(this); - } -}; - -Drop_backward_compatible_indexContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_backward_compatible_index(this); - } -}; - -Drop_backward_compatible_indexContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_backward_compatible_index(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_backward_compatible_indexContext = Drop_backward_compatible_indexContext; - -TSqlParser.prototype.drop_backward_compatible_index = function() { - - var localctx = new Drop_backward_compatible_indexContext(this, this._ctx, this.state); - this.enterRule(localctx, 580, TSqlParser.RULE_drop_backward_compatible_index); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7115; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,937,this._ctx); - if(la_===1) { - this.state = 7112; - localctx.owner_name = this.id(); - this.state = 7113; - this.match(TSqlParser.DOT); - - } - this.state = 7117; - localctx.table_or_view_name = this.id(); - this.state = 7118; - this.match(TSqlParser.DOT); - this.state = 7119; - localctx.index_name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_procedureContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_procedure; - this.proc = null; // Token - return this; -} - -Drop_procedureContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_procedureContext.prototype.constructor = Drop_procedureContext; - -Drop_procedureContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_procedureContext.prototype.func_proc_name_schema = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Func_proc_name_schemaContext); - } else { - return this.getTypedRuleContext(Func_proc_name_schemaContext,i); - } -}; - -Drop_procedureContext.prototype.PROC = function() { - return this.getToken(TSqlParser.PROC, 0); -}; - -Drop_procedureContext.prototype.PROCEDURE = function() { - return this.getToken(TSqlParser.PROCEDURE, 0); -}; - -Drop_procedureContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_procedureContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_procedureContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_procedureContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Drop_procedureContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_procedure(this); - } -}; - -Drop_procedureContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_procedure(this); - } -}; - -Drop_procedureContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_procedure(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_procedureContext = Drop_procedureContext; - -TSqlParser.prototype.drop_procedure = function() { - - var localctx = new Drop_procedureContext(this, this._ctx, this.state); - this.enterRule(localctx, 582, TSqlParser.RULE_drop_procedure); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7121; - this.match(TSqlParser.DROP); - this.state = 7122; - localctx.proc = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.PROC || _la===TSqlParser.PROCEDURE)) { - localctx.proc = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7125; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 7123; - this.match(TSqlParser.IF); - this.state = 7124; - this.match(TSqlParser.EXISTS); - } - - this.state = 7127; - this.func_proc_name_schema(); - this.state = 7132; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7128; - this.match(TSqlParser.COMMA); - this.state = 7129; - this.func_proc_name_schema(); - this.state = 7134; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 7136; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,940,this._ctx); - if(la_===1) { - this.state = 7135; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_triggerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_trigger; - return this; -} - -Drop_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_triggerContext.prototype.constructor = Drop_triggerContext; - -Drop_triggerContext.prototype.drop_dml_trigger = function() { - return this.getTypedRuleContext(Drop_dml_triggerContext,0); -}; - -Drop_triggerContext.prototype.drop_ddl_trigger = function() { - return this.getTypedRuleContext(Drop_ddl_triggerContext,0); -}; - -Drop_triggerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_trigger(this); - } -}; - -Drop_triggerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_trigger(this); - } -}; - -Drop_triggerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_trigger(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_triggerContext = Drop_triggerContext; - -TSqlParser.prototype.drop_trigger = function() { - - var localctx = new Drop_triggerContext(this, this._ctx, this.state); - this.enterRule(localctx, 584, TSqlParser.RULE_drop_trigger); - try { - this.state = 7140; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,941,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 7138; - this.drop_dml_trigger(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 7139; - this.drop_ddl_trigger(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_dml_triggerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_dml_trigger; - return this; -} - -Drop_dml_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_dml_triggerContext.prototype.constructor = Drop_dml_triggerContext; - -Drop_dml_triggerContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_dml_triggerContext.prototype.TRIGGER = function() { - return this.getToken(TSqlParser.TRIGGER, 0); -}; - -Drop_dml_triggerContext.prototype.simple_name = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Simple_nameContext); - } else { - return this.getTypedRuleContext(Simple_nameContext,i); - } -}; - -Drop_dml_triggerContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_dml_triggerContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_dml_triggerContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_dml_triggerContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Drop_dml_triggerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_dml_trigger(this); - } -}; - -Drop_dml_triggerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_dml_trigger(this); - } -}; - -Drop_dml_triggerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_dml_trigger(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_dml_triggerContext = Drop_dml_triggerContext; - -TSqlParser.prototype.drop_dml_trigger = function() { - - var localctx = new Drop_dml_triggerContext(this, this._ctx, this.state); - this.enterRule(localctx, 586, TSqlParser.RULE_drop_dml_trigger); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7142; - this.match(TSqlParser.DROP); - this.state = 7143; - this.match(TSqlParser.TRIGGER); - this.state = 7146; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 7144; - this.match(TSqlParser.IF); - this.state = 7145; - this.match(TSqlParser.EXISTS); - } - - this.state = 7148; - this.simple_name(); - this.state = 7153; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7149; - this.match(TSqlParser.COMMA); - this.state = 7150; - this.simple_name(); - this.state = 7155; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 7157; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,944,this._ctx); - if(la_===1) { - this.state = 7156; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_ddl_triggerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_ddl_trigger; - return this; -} - -Drop_ddl_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_ddl_triggerContext.prototype.constructor = Drop_ddl_triggerContext; - -Drop_ddl_triggerContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_ddl_triggerContext.prototype.TRIGGER = function() { - return this.getToken(TSqlParser.TRIGGER, 0); -}; - -Drop_ddl_triggerContext.prototype.simple_name = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Simple_nameContext); - } else { - return this.getTypedRuleContext(Simple_nameContext,i); - } -}; - -Drop_ddl_triggerContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Drop_ddl_triggerContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Drop_ddl_triggerContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Drop_ddl_triggerContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Drop_ddl_triggerContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_ddl_triggerContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_ddl_triggerContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_ddl_triggerContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Drop_ddl_triggerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_ddl_trigger(this); - } -}; - -Drop_ddl_triggerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_ddl_trigger(this); - } -}; - -Drop_ddl_triggerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_ddl_trigger(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_ddl_triggerContext = Drop_ddl_triggerContext; - -TSqlParser.prototype.drop_ddl_trigger = function() { - - var localctx = new Drop_ddl_triggerContext(this, this._ctx, this.state); - this.enterRule(localctx, 588, TSqlParser.RULE_drop_ddl_trigger); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7159; - this.match(TSqlParser.DROP); - this.state = 7160; - this.match(TSqlParser.TRIGGER); - this.state = 7163; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 7161; - this.match(TSqlParser.IF); - this.state = 7162; - this.match(TSqlParser.EXISTS); - } - - this.state = 7165; - this.simple_name(); - this.state = 7170; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7166; - this.match(TSqlParser.COMMA); - this.state = 7167; - this.simple_name(); - this.state = 7172; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 7173; - this.match(TSqlParser.ON); - this.state = 7177; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DATABASE: - this.state = 7174; - this.match(TSqlParser.DATABASE); - break; - case TSqlParser.ALL: - this.state = 7175; - this.match(TSqlParser.ALL); - this.state = 7176; - this.match(TSqlParser.SERVER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7180; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,948,this._ctx); - if(la_===1) { - this.state = 7179; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_functionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_function; - return this; -} - -Drop_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_functionContext.prototype.constructor = Drop_functionContext; - -Drop_functionContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_functionContext.prototype.FUNCTION = function() { - return this.getToken(TSqlParser.FUNCTION, 0); -}; - -Drop_functionContext.prototype.func_proc_name_schema = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Func_proc_name_schemaContext); - } else { - return this.getTypedRuleContext(Func_proc_name_schemaContext,i); - } -}; - -Drop_functionContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_functionContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_functionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_functionContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Drop_functionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_function(this); - } -}; - -Drop_functionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_function(this); - } -}; - -Drop_functionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_function(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_functionContext = Drop_functionContext; - -TSqlParser.prototype.drop_function = function() { - - var localctx = new Drop_functionContext(this, this._ctx, this.state); - this.enterRule(localctx, 590, TSqlParser.RULE_drop_function); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7182; - this.match(TSqlParser.DROP); - this.state = 7183; - this.match(TSqlParser.FUNCTION); - this.state = 7186; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 7184; - this.match(TSqlParser.IF); - this.state = 7185; - this.match(TSqlParser.EXISTS); - } - - this.state = 7188; - this.func_proc_name_schema(); - this.state = 7193; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7189; - this.match(TSqlParser.COMMA); - this.state = 7190; - this.func_proc_name_schema(); - this.state = 7195; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 7197; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,951,this._ctx); - if(la_===1) { - this.state = 7196; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_statisticsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_statistics; - this.name = null; // IdContext - return this; -} - -Drop_statisticsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_statisticsContext.prototype.constructor = Drop_statisticsContext; - -Drop_statisticsContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_statisticsContext.prototype.STATISTICS = function() { - return this.getToken(TSqlParser.STATISTICS, 0); -}; - -Drop_statisticsContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Drop_statisticsContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Drop_statisticsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_statisticsContext.prototype.table_name = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Table_nameContext); - } else { - return this.getTypedRuleContext(Table_nameContext,i); - } -}; - -Drop_statisticsContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Drop_statisticsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_statistics(this); - } -}; - -Drop_statisticsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_statistics(this); - } -}; - -Drop_statisticsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_statistics(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_statisticsContext = Drop_statisticsContext; - -TSqlParser.prototype.drop_statistics = function() { - - var localctx = new Drop_statisticsContext(this, this._ctx, this.state); - this.enterRule(localctx, 592, TSqlParser.RULE_drop_statistics); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7199; - this.match(TSqlParser.DROP); - this.state = 7200; - this.match(TSqlParser.STATISTICS); - this.state = 7210; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7202; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7201; - this.match(TSqlParser.COMMA); - } - - this.state = 7207; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,953,this._ctx); - if(la_===1) { - this.state = 7204; - this.table_name(); - this.state = 7205; - this.match(TSqlParser.DOT); - - } - this.state = 7209; - localctx.name = this.id(); - this.state = 7212; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.BLOCKING_HIERARCHY || _la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0) || _la===TSqlParser.COMMA); - this.state = 7214; - this.match(TSqlParser.SEMI); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_table; - return this; -} - -Drop_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_tableContext.prototype.constructor = Drop_tableContext; - -Drop_tableContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_tableContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Drop_tableContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Drop_tableContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_tableContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_tableContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Drop_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_table(this); - } -}; - -Drop_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_table(this); - } -}; - -Drop_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_tableContext = Drop_tableContext; - -TSqlParser.prototype.drop_table = function() { - - var localctx = new Drop_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 594, TSqlParser.RULE_drop_table); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7216; - this.match(TSqlParser.DROP); - this.state = 7217; - this.match(TSqlParser.TABLE); - this.state = 7220; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 7218; - this.match(TSqlParser.IF); - this.state = 7219; - this.match(TSqlParser.EXISTS); - } - - this.state = 7222; - this.table_name(); - this.state = 7224; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,956,this._ctx); - if(la_===1) { - this.state = 7223; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_viewContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_view; - return this; -} - -Drop_viewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_viewContext.prototype.constructor = Drop_viewContext; - -Drop_viewContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_viewContext.prototype.VIEW = function() { - return this.getToken(TSqlParser.VIEW, 0); -}; - -Drop_viewContext.prototype.simple_name = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Simple_nameContext); - } else { - return this.getTypedRuleContext(Simple_nameContext,i); - } -}; - -Drop_viewContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_viewContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_viewContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Drop_viewContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Drop_viewContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_view(this); - } -}; - -Drop_viewContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_view(this); - } -}; - -Drop_viewContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_view(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_viewContext = Drop_viewContext; - -TSqlParser.prototype.drop_view = function() { - - var localctx = new Drop_viewContext(this, this._ctx, this.state); - this.enterRule(localctx, 596, TSqlParser.RULE_drop_view); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7226; - this.match(TSqlParser.DROP); - this.state = 7227; - this.match(TSqlParser.VIEW); - this.state = 7230; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 7228; - this.match(TSqlParser.IF); - this.state = 7229; - this.match(TSqlParser.EXISTS); - } - - this.state = 7232; - this.simple_name(); - this.state = 7237; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7233; - this.match(TSqlParser.COMMA); - this.state = 7234; - this.simple_name(); - this.state = 7239; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 7241; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,959,this._ctx); - if(la_===1) { - this.state = 7240; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_typeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_type; - this.name = null; // Simple_nameContext - return this; -} - -Create_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_typeContext.prototype.constructor = Create_typeContext; - -Create_typeContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_typeContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Create_typeContext.prototype.simple_name = function() { - return this.getTypedRuleContext(Simple_nameContext,0); -}; - -Create_typeContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_typeContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -Create_typeContext.prototype.default_value = function() { - return this.getTypedRuleContext(Default_valueContext,0); -}; - -Create_typeContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Create_typeContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Create_typeContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Create_typeContext.prototype.column_def_table_constraints = function() { - return this.getTypedRuleContext(Column_def_table_constraintsContext,0); -}; - -Create_typeContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Create_typeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_type(this); - } -}; - -Create_typeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_type(this); - } -}; - -Create_typeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_type(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_typeContext = Create_typeContext; - -TSqlParser.prototype.create_type = function() { - - var localctx = new Create_typeContext(this, this._ctx, this.state); - this.enterRule(localctx, 598, TSqlParser.RULE_create_type); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7243; - this.match(TSqlParser.CREATE); - this.state = 7244; - this.match(TSqlParser.TYPE); - this.state = 7245; - localctx.name = this.simple_name(); - this.state = 7250; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 7246; - this.match(TSqlParser.FROM); - this.state = 7247; - this.data_type(); - this.state = 7248; - this.default_value(); - } - - this.state = 7258; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 7252; - this.match(TSqlParser.AS); - this.state = 7253; - this.match(TSqlParser.TABLE); - this.state = 7254; - this.match(TSqlParser.LR_BRACKET); - this.state = 7255; - this.column_def_table_constraints(); - this.state = 7256; - this.match(TSqlParser.RR_BRACKET); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Drop_typeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_drop_type; - this.name = null; // Simple_nameContext - return this; -} - -Drop_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Drop_typeContext.prototype.constructor = Drop_typeContext; - -Drop_typeContext.prototype.DROP = function() { - return this.getToken(TSqlParser.DROP, 0); -}; - -Drop_typeContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Drop_typeContext.prototype.simple_name = function() { - return this.getTypedRuleContext(Simple_nameContext,0); -}; - -Drop_typeContext.prototype.IF = function() { - return this.getToken(TSqlParser.IF, 0); -}; - -Drop_typeContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -Drop_typeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDrop_type(this); - } -}; - -Drop_typeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDrop_type(this); - } -}; - -Drop_typeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDrop_type(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Drop_typeContext = Drop_typeContext; - -TSqlParser.prototype.drop_type = function() { - - var localctx = new Drop_typeContext(this, this._ctx, this.state); - this.enterRule(localctx, 600, TSqlParser.RULE_drop_type); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7260; - this.match(TSqlParser.DROP); - this.state = 7261; - this.match(TSqlParser.TYPE); - this.state = 7264; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.IF) { - this.state = 7262; - this.match(TSqlParser.IF); - this.state = 7263; - this.match(TSqlParser.EXISTS); - } - - this.state = 7266; - localctx.name = this.simple_name(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Rowset_function_limitedContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_rowset_function_limited; - return this; -} - -Rowset_function_limitedContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Rowset_function_limitedContext.prototype.constructor = Rowset_function_limitedContext; - -Rowset_function_limitedContext.prototype.openquery = function() { - return this.getTypedRuleContext(OpenqueryContext,0); -}; - -Rowset_function_limitedContext.prototype.opendatasource = function() { - return this.getTypedRuleContext(OpendatasourceContext,0); -}; - -Rowset_function_limitedContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterRowset_function_limited(this); - } -}; - -Rowset_function_limitedContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitRowset_function_limited(this); - } -}; - -Rowset_function_limitedContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitRowset_function_limited(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Rowset_function_limitedContext = Rowset_function_limitedContext; - -TSqlParser.prototype.rowset_function_limited = function() { - - var localctx = new Rowset_function_limitedContext(this, this._ctx, this.state); - this.enterRule(localctx, 602, TSqlParser.RULE_rowset_function_limited); - try { - this.state = 7270; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.OPENQUERY: - this.enterOuterAlt(localctx, 1); - this.state = 7268; - this.openquery(); - break; - case TSqlParser.OPENDATASOURCE: - this.enterOuterAlt(localctx, 2); - this.state = 7269; - this.opendatasource(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function OpenqueryContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_openquery; - this.linked_server = null; // IdContext - this.query = null; // Token - return this; -} - -OpenqueryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -OpenqueryContext.prototype.constructor = OpenqueryContext; - -OpenqueryContext.prototype.OPENQUERY = function() { - return this.getToken(TSqlParser.OPENQUERY, 0); -}; - -OpenqueryContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -OpenqueryContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -OpenqueryContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -OpenqueryContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -OpenqueryContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -OpenqueryContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOpenquery(this); - } -}; - -OpenqueryContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOpenquery(this); - } -}; - -OpenqueryContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOpenquery(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.OpenqueryContext = OpenqueryContext; - -TSqlParser.prototype.openquery = function() { - - var localctx = new OpenqueryContext(this, this._ctx, this.state); - this.enterRule(localctx, 604, TSqlParser.RULE_openquery); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7272; - this.match(TSqlParser.OPENQUERY); - this.state = 7273; - this.match(TSqlParser.LR_BRACKET); - this.state = 7274; - localctx.linked_server = this.id(); - this.state = 7275; - this.match(TSqlParser.COMMA); - this.state = 7276; - localctx.query = this.match(TSqlParser.STRING); - this.state = 7277; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function OpendatasourceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_opendatasource; - this.provider = null; // Token - this.init = null; // Token - this.database = null; // IdContext - this.scheme = null; // IdContext - this.table = null; // IdContext - return this; -} - -OpendatasourceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -OpendatasourceContext.prototype.constructor = OpendatasourceContext; - -OpendatasourceContext.prototype.OPENDATASOURCE = function() { - return this.getToken(TSqlParser.OPENDATASOURCE, 0); -}; - -OpendatasourceContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -OpendatasourceContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -OpendatasourceContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -OpendatasourceContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -OpendatasourceContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -OpendatasourceContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -OpendatasourceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOpendatasource(this); - } -}; - -OpendatasourceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOpendatasource(this); - } -}; - -OpendatasourceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOpendatasource(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.OpendatasourceContext = OpendatasourceContext; - -TSqlParser.prototype.opendatasource = function() { - - var localctx = new OpendatasourceContext(this, this._ctx, this.state); - this.enterRule(localctx, 606, TSqlParser.RULE_opendatasource); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7279; - this.match(TSqlParser.OPENDATASOURCE); - this.state = 7280; - this.match(TSqlParser.LR_BRACKET); - this.state = 7281; - localctx.provider = this.match(TSqlParser.STRING); - this.state = 7282; - this.match(TSqlParser.COMMA); - this.state = 7283; - localctx.init = this.match(TSqlParser.STRING); - this.state = 7284; - this.match(TSqlParser.RR_BRACKET); - this.state = 7285; - this.match(TSqlParser.DOT); - this.state = 7287; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 7286; - localctx.database = this.id(); - } - - this.state = 7289; - this.match(TSqlParser.DOT); - this.state = 7291; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 7290; - localctx.scheme = this.id(); - } - - this.state = 7293; - this.match(TSqlParser.DOT); - - this.state = 7294; - localctx.table = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Declare_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_declare_statement; - this.xml_namespace_uri = null; // Token - return this; -} - -Declare_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Declare_statementContext.prototype.constructor = Declare_statementContext; - -Declare_statementContext.prototype.DECLARE = function() { - return this.getToken(TSqlParser.DECLARE, 0); -}; - -Declare_statementContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Declare_statementContext.prototype.table_type_definition = function() { - return this.getTypedRuleContext(Table_type_definitionContext,0); -}; - -Declare_statementContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Declare_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Declare_statementContext.prototype.declare_local = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Declare_localContext); - } else { - return this.getTypedRuleContext(Declare_localContext,i); - } -}; - -Declare_statementContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Declare_statementContext.prototype.xml_type_definition = function() { - return this.getTypedRuleContext(Xml_type_definitionContext,0); -}; - -Declare_statementContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Declare_statementContext.prototype.XMLNAMESPACES = function() { - return this.getToken(TSqlParser.XMLNAMESPACES, 0); -}; - -Declare_statementContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Declare_statementContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Declare_statementContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Declare_statementContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Declare_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDeclare_statement(this); - } -}; - -Declare_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDeclare_statement(this); - } -}; - -Declare_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDeclare_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Declare_statementContext = Declare_statementContext; - -TSqlParser.prototype.declare_statement = function() { - - var localctx = new Declare_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 608, TSqlParser.RULE_declare_statement); - var _la = 0; // Token type - try { - this.state = 7339; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,974,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 7296; - this.match(TSqlParser.DECLARE); - this.state = 7297; - this.match(TSqlParser.LOCAL_ID); - this.state = 7299; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 7298; - this.match(TSqlParser.AS); - } - - this.state = 7301; - this.table_type_definition(); - this.state = 7303; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,967,this._ctx); - if(la_===1) { - this.state = 7302; - this.match(TSqlParser.SEMI); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 7305; - this.match(TSqlParser.DECLARE); - this.state = 7306; - this.declare_local(); - this.state = 7311; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7307; - this.match(TSqlParser.COMMA); - this.state = 7308; - this.declare_local(); - this.state = 7313; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 7315; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,969,this._ctx); - if(la_===1) { - this.state = 7314; - this.match(TSqlParser.SEMI); - - } - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 7317; - this.match(TSqlParser.DECLARE); - this.state = 7318; - this.match(TSqlParser.LOCAL_ID); - this.state = 7320; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 7319; - this.match(TSqlParser.AS); - } - - this.state = 7322; - this.xml_type_definition(); - this.state = 7324; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,971,this._ctx); - if(la_===1) { - this.state = 7323; - this.match(TSqlParser.SEMI); - - } - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 7326; - this.match(TSqlParser.WITH); - this.state = 7327; - this.match(TSqlParser.XMLNAMESPACES); - this.state = 7328; - this.match(TSqlParser.LR_BRACKET); - this.state = 7329; - localctx.xml_namespace_uri = this.match(TSqlParser.STRING); - this.state = 7331; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7330; - this.match(TSqlParser.COMMA); - } - - this.state = 7333; - this.match(TSqlParser.AS); - this.state = 7334; - this.id(); - this.state = 7335; - this.match(TSqlParser.RR_BRACKET); - this.state = 7337; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,973,this._ctx); - if(la_===1) { - this.state = 7336; - this.match(TSqlParser.SEMI); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Cursor_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_cursor_statement; - return this; -} - -Cursor_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Cursor_statementContext.prototype.constructor = Cursor_statementContext; - -Cursor_statementContext.prototype.CLOSE = function() { - return this.getToken(TSqlParser.CLOSE, 0); -}; - -Cursor_statementContext.prototype.cursor_name = function() { - return this.getTypedRuleContext(Cursor_nameContext,0); -}; - -Cursor_statementContext.prototype.GLOBAL = function() { - return this.getToken(TSqlParser.GLOBAL, 0); -}; - -Cursor_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Cursor_statementContext.prototype.DEALLOCATE = function() { - return this.getToken(TSqlParser.DEALLOCATE, 0); -}; - -Cursor_statementContext.prototype.CURSOR = function() { - return this.getToken(TSqlParser.CURSOR, 0); -}; - -Cursor_statementContext.prototype.declare_cursor = function() { - return this.getTypedRuleContext(Declare_cursorContext,0); -}; - -Cursor_statementContext.prototype.fetch_cursor = function() { - return this.getTypedRuleContext(Fetch_cursorContext,0); -}; - -Cursor_statementContext.prototype.OPEN = function() { - return this.getToken(TSqlParser.OPEN, 0); -}; - -Cursor_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCursor_statement(this); - } -}; - -Cursor_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCursor_statement(this); - } -}; - -Cursor_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCursor_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Cursor_statementContext = Cursor_statementContext; - -TSqlParser.prototype.cursor_statement = function() { - - var localctx = new Cursor_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 610, TSqlParser.RULE_cursor_statement); - var _la = 0; // Token type - try { - this.state = 7370; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CLOSE: - this.enterOuterAlt(localctx, 1); - this.state = 7341; - this.match(TSqlParser.CLOSE); - this.state = 7343; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,975,this._ctx); - if(la_===1) { - this.state = 7342; - this.match(TSqlParser.GLOBAL); - - } - this.state = 7345; - this.cursor_name(); - this.state = 7347; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,976,this._ctx); - if(la_===1) { - this.state = 7346; - this.match(TSqlParser.SEMI); - - } - break; - case TSqlParser.DEALLOCATE: - this.enterOuterAlt(localctx, 2); - this.state = 7349; - this.match(TSqlParser.DEALLOCATE); - this.state = 7351; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,977,this._ctx); - if(la_===1) { - this.state = 7350; - this.match(TSqlParser.GLOBAL); - - } - this.state = 7354; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CURSOR) { - this.state = 7353; - this.match(TSqlParser.CURSOR); - } - - this.state = 7356; - this.cursor_name(); - this.state = 7358; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,979,this._ctx); - if(la_===1) { - this.state = 7357; - this.match(TSqlParser.SEMI); - - } - break; - case TSqlParser.DECLARE: - this.enterOuterAlt(localctx, 3); - this.state = 7360; - this.declare_cursor(); - break; - case TSqlParser.FETCH: - this.enterOuterAlt(localctx, 4); - this.state = 7361; - this.fetch_cursor(); - break; - case TSqlParser.OPEN: - this.enterOuterAlt(localctx, 5); - this.state = 7362; - this.match(TSqlParser.OPEN); - this.state = 7364; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,980,this._ctx); - if(la_===1) { - this.state = 7363; - this.match(TSqlParser.GLOBAL); - - } - this.state = 7366; - this.cursor_name(); - this.state = 7368; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,981,this._ctx); - if(la_===1) { - this.state = 7367; - this.match(TSqlParser.SEMI); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Backup_databaseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_backup_database; - this.database_name = null; // IdContext - this.file_or_filegroup = null; // Token - this.logical_device_name = null; // IdContext - this.backup_set_name = null; // IdContext - this.medianame = null; // Token - this.stats_percent = null; // Token - this.encryptor_name = null; // IdContext - return this; -} - -Backup_databaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Backup_databaseContext.prototype.constructor = Backup_databaseContext; - -Backup_databaseContext.prototype.BACKUP = function() { - return this.getToken(TSqlParser.BACKUP, 0); -}; - -Backup_databaseContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Backup_databaseContext.prototype.TO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TO); - } else { - return this.getToken(TSqlParser.TO, i); - } -}; - - -Backup_databaseContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Backup_databaseContext.prototype.READ_WRITE_FILEGROUPS = function() { - return this.getToken(TSqlParser.READ_WRITE_FILEGROUPS, 0); -}; - -Backup_databaseContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Backup_databaseContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Backup_databaseContext.prototype.FILE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILE); - } else { - return this.getToken(TSqlParser.FILE, i); - } -}; - - -Backup_databaseContext.prototype.FILEGROUP = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILEGROUP); - } else { - return this.getToken(TSqlParser.FILEGROUP, i); - } -}; - - -Backup_databaseContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Backup_databaseContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Backup_databaseContext.prototype.DISK = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DISK); - } else { - return this.getToken(TSqlParser.DISK, i); - } -}; - - -Backup_databaseContext.prototype.TAPE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TAPE); - } else { - return this.getToken(TSqlParser.TAPE, i); - } -}; - - -Backup_databaseContext.prototype.URL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.URL); - } else { - return this.getToken(TSqlParser.URL, i); - } -}; - - -Backup_databaseContext.prototype.MIRROR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MIRROR); - } else { - return this.getToken(TSqlParser.MIRROR, i); - } -}; - - -Backup_databaseContext.prototype.DIFFERENTIAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DIFFERENTIAL); - } else { - return this.getToken(TSqlParser.DIFFERENTIAL, i); - } -}; - - -Backup_databaseContext.prototype.COPY_ONLY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COPY_ONLY); - } else { - return this.getToken(TSqlParser.COPY_ONLY, i); - } -}; - - -Backup_databaseContext.prototype.DESCRIPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DESCRIPTION); - } else { - return this.getToken(TSqlParser.DESCRIPTION, i); - } -}; - - -Backup_databaseContext.prototype.NAME = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NAME); - } else { - return this.getToken(TSqlParser.NAME, i); - } -}; - - -Backup_databaseContext.prototype.CREDENTIAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CREDENTIAL); - } else { - return this.getToken(TSqlParser.CREDENTIAL, i); - } -}; - - -Backup_databaseContext.prototype.FILE_SNAPSHOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILE_SNAPSHOT); - } else { - return this.getToken(TSqlParser.FILE_SNAPSHOT, i); - } -}; - - -Backup_databaseContext.prototype.MEDIADESCRIPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MEDIADESCRIPTION); - } else { - return this.getToken(TSqlParser.MEDIADESCRIPTION, i); - } -}; - - -Backup_databaseContext.prototype.MEDIANAME = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MEDIANAME); - } else { - return this.getToken(TSqlParser.MEDIANAME, i); - } -}; - - -Backup_databaseContext.prototype.BLOCKSIZE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BLOCKSIZE); - } else { - return this.getToken(TSqlParser.BLOCKSIZE, i); - } -}; - - -Backup_databaseContext.prototype.BUFFERCOUNT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BUFFERCOUNT); - } else { - return this.getToken(TSqlParser.BUFFERCOUNT, i); - } -}; - - -Backup_databaseContext.prototype.MAXTRANSFER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAXTRANSFER); - } else { - return this.getToken(TSqlParser.MAXTRANSFER, i); - } -}; - - -Backup_databaseContext.prototype.RESTART = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RESTART); - } else { - return this.getToken(TSqlParser.RESTART, i); - } -}; - - -Backup_databaseContext.prototype.STATS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STATS); - } else { - return this.getToken(TSqlParser.STATS, i); - } -}; - - -Backup_databaseContext.prototype.ENCRYPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ENCRYPTION); - } else { - return this.getToken(TSqlParser.ENCRYPTION, i); - } -}; - - -Backup_databaseContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Backup_databaseContext.prototype.ALGORITHM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALGORITHM); - } else { - return this.getToken(TSqlParser.ALGORITHM, i); - } -}; - - -Backup_databaseContext.prototype.SERVER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SERVER); - } else { - return this.getToken(TSqlParser.SERVER, i); - } -}; - - -Backup_databaseContext.prototype.CERTIFICATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CERTIFICATE); - } else { - return this.getToken(TSqlParser.CERTIFICATE, i); - } -}; - - -Backup_databaseContext.prototype.COMPRESSION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMPRESSION); - } else { - return this.getToken(TSqlParser.COMPRESSION, i); - } -}; - - -Backup_databaseContext.prototype.NO_COMPRESSION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NO_COMPRESSION); - } else { - return this.getToken(TSqlParser.NO_COMPRESSION, i); - } -}; - - -Backup_databaseContext.prototype.NOINIT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOINIT); - } else { - return this.getToken(TSqlParser.NOINIT, i); - } -}; - - -Backup_databaseContext.prototype.INIT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.INIT); - } else { - return this.getToken(TSqlParser.INIT, i); - } -}; - - -Backup_databaseContext.prototype.NOSKIP = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOSKIP); - } else { - return this.getToken(TSqlParser.NOSKIP, i); - } -}; - - -Backup_databaseContext.prototype.SKIP_KEYWORD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SKIP_KEYWORD); - } else { - return this.getToken(TSqlParser.SKIP_KEYWORD, i); - } -}; - - -Backup_databaseContext.prototype.NOFORMAT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOFORMAT); - } else { - return this.getToken(TSqlParser.NOFORMAT, i); - } -}; - - -Backup_databaseContext.prototype.FORMAT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FORMAT); - } else { - return this.getToken(TSqlParser.FORMAT, i); - } -}; - - -Backup_databaseContext.prototype.NO_CHECKSUM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NO_CHECKSUM); - } else { - return this.getToken(TSqlParser.NO_CHECKSUM, i); - } -}; - - -Backup_databaseContext.prototype.CHECKSUM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CHECKSUM); - } else { - return this.getToken(TSqlParser.CHECKSUM, i); - } -}; - - -Backup_databaseContext.prototype.STOP_ON_ERROR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STOP_ON_ERROR); - } else { - return this.getToken(TSqlParser.STOP_ON_ERROR, i); - } -}; - - -Backup_databaseContext.prototype.CONTINUE_AFTER_ERROR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CONTINUE_AFTER_ERROR); - } else { - return this.getToken(TSqlParser.CONTINUE_AFTER_ERROR, i); - } -}; - - -Backup_databaseContext.prototype.REWIND = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REWIND); - } else { - return this.getToken(TSqlParser.REWIND, i); - } -}; - - -Backup_databaseContext.prototype.NOREWIND = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOREWIND); - } else { - return this.getToken(TSqlParser.NOREWIND, i); - } -}; - - -Backup_databaseContext.prototype.LOAD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOAD); - } else { - return this.getToken(TSqlParser.LOAD, i); - } -}; - - -Backup_databaseContext.prototype.NOUNLOAD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOUNLOAD); - } else { - return this.getToken(TSqlParser.NOUNLOAD, i); - } -}; - - -Backup_databaseContext.prototype.AES_128 = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AES_128); - } else { - return this.getToken(TSqlParser.AES_128, i); - } -}; - - -Backup_databaseContext.prototype.AES_192 = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AES_192); - } else { - return this.getToken(TSqlParser.AES_192, i); - } -}; - - -Backup_databaseContext.prototype.AES_256 = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AES_256); - } else { - return this.getToken(TSqlParser.AES_256, i); - } -}; - - -Backup_databaseContext.prototype.TRIPLE_DES_3KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TRIPLE_DES_3KEY); - } else { - return this.getToken(TSqlParser.TRIPLE_DES_3KEY, i); - } -}; - - -Backup_databaseContext.prototype.EXPIREDATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EXPIREDATE); - } else { - return this.getToken(TSqlParser.EXPIREDATE, i); - } -}; - - -Backup_databaseContext.prototype.RETAINDAYS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RETAINDAYS); - } else { - return this.getToken(TSqlParser.RETAINDAYS, i); - } -}; - - -Backup_databaseContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Backup_databaseContext.prototype.ASYMMETRIC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ASYMMETRIC); - } else { - return this.getToken(TSqlParser.ASYMMETRIC, i); - } -}; - - -Backup_databaseContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Backup_databaseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBackup_database(this); - } -}; - -Backup_databaseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBackup_database(this); - } -}; - -Backup_databaseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBackup_database(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Backup_databaseContext = Backup_databaseContext; - -TSqlParser.prototype.backup_database = function() { - - var localctx = new Backup_databaseContext(this, this._ctx, this.state); - this.enterRule(localctx, 612, TSqlParser.RULE_backup_database); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7372; - this.match(TSqlParser.BACKUP); - this.state = 7373; - this.match(TSqlParser.DATABASE); - - this.state = 7374; - localctx.database_name = this.id(); - this.state = 7387; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.READ_WRITE_FILEGROUPS) { - this.state = 7375; - this.match(TSqlParser.READ_WRITE_FILEGROUPS); - this.state = 7384; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,984,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 7377; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7376; - this.match(TSqlParser.COMMA); - } - - this.state = 7379; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FILE || _la===TSqlParser.FILEGROUP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7380; - this.match(TSqlParser.EQUAL); - this.state = 7381; - localctx.file_or_filegroup = this.match(TSqlParser.STRING); - } - this.state = 7386; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,984,this._ctx); - } - - } - - this.state = 7397; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.FILE || _la===TSqlParser.FILEGROUP || _la===TSqlParser.COMMA) { - this.state = 7390; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7389; - this.match(TSqlParser.COMMA); - } - - this.state = 7392; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FILE || _la===TSqlParser.FILEGROUP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7393; - this.match(TSqlParser.EQUAL); - this.state = 7394; - localctx.file_or_filegroup = this.match(TSqlParser.STRING); - this.state = 7399; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 7423; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,993,this._ctx); - switch(la_) { - case 1: - this.state = 7400; - this.match(TSqlParser.TO); - this.state = 7405; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 7402; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7401; - this.match(TSqlParser.COMMA); - } - - this.state = 7404; - localctx.logical_device_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7407; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,989, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - - case 2: - this.state = 7409; - this.match(TSqlParser.TO); - this.state = 7419; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7411; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7410; - this.match(TSqlParser.COMMA); - } - - this.state = 7413; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISK || _la===TSqlParser.TAPE || _la===TSqlParser.URL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7414; - this.match(TSqlParser.EQUAL); - this.state = 7417; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7415; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7416; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7421; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DISK || _la===TSqlParser.TAPE || _la===TSqlParser.URL || _la===TSqlParser.COMMA); - break; - - } - this.state = 7458; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1001,this._ctx); - if(la_===1) { - this.state = 7435; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7425; - this.match(TSqlParser.MIRROR); - this.state = 7426; - this.match(TSqlParser.TO); - this.state = 7431; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 7428; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7427; - this.match(TSqlParser.COMMA); - } - - this.state = 7430; - localctx.logical_device_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7433; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,995, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - this.state = 7437; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.MIRROR); - - } else if(la_===2) { - this.state = 7454; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7439; - this.match(TSqlParser.MIRROR); - this.state = 7440; - this.match(TSqlParser.TO); - this.state = 7450; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7442; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7441; - this.match(TSqlParser.COMMA); - } - - this.state = 7444; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISK || _la===TSqlParser.TAPE || _la===TSqlParser.URL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7445; - this.match(TSqlParser.EQUAL); - this.state = 7448; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7446; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7447; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7452; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DISK || _la===TSqlParser.TAPE || _la===TSqlParser.URL || _la===TSqlParser.COMMA); - this.state = 7456; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.MIRROR); - - } - this.state = 7620; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1037,this._ctx); - if(la_===1) { - this.state = 7460; - this.match(TSqlParser.WITH); - this.state = 7617; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1036,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 7615; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1035,this._ctx); - switch(la_) { - case 1: - this.state = 7462; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7461; - this.match(TSqlParser.COMMA); - } - - this.state = 7464; - this.match(TSqlParser.DIFFERENTIAL); - break; - - case 2: - this.state = 7466; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7465; - this.match(TSqlParser.COMMA); - } - - this.state = 7468; - this.match(TSqlParser.COPY_ONLY); - break; - - case 3: - this.state = 7470; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7469; - this.match(TSqlParser.COMMA); - } - - this.state = 7472; - _la = this._input.LA(1); - if(!(_la===TSqlParser.COMPRESSION || _la===TSqlParser.NO_COMPRESSION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 4: - this.state = 7474; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7473; - this.match(TSqlParser.COMMA); - } - - this.state = 7476; - this.match(TSqlParser.DESCRIPTION); - this.state = 7477; - this.match(TSqlParser.EQUAL); - this.state = 7480; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7478; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7479; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 5: - this.state = 7483; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7482; - this.match(TSqlParser.COMMA); - } - - this.state = 7485; - this.match(TSqlParser.NAME); - this.state = 7486; - this.match(TSqlParser.EQUAL); - this.state = 7487; - localctx.backup_set_name = this.id(); - break; - - case 6: - this.state = 7489; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7488; - this.match(TSqlParser.COMMA); - } - - this.state = 7491; - this.match(TSqlParser.CREDENTIAL); - break; - - case 7: - this.state = 7493; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7492; - this.match(TSqlParser.COMMA); - } - - this.state = 7495; - this.match(TSqlParser.FILE_SNAPSHOT); - break; - - case 8: - this.state = 7497; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7496; - this.match(TSqlParser.COMMA); - } - - this.state = 7511; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.EXPIREDATE: - this.state = 7499; - this.match(TSqlParser.EXPIREDATE); - this.state = 7500; - this.match(TSqlParser.EQUAL); - this.state = 7503; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7501; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7502; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.RETAINDAYS: - this.state = 7505; - this.match(TSqlParser.RETAINDAYS); - this.state = 7506; - this.match(TSqlParser.EQUAL); - this.state = 7509; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 7507; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7508; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 9: - this.state = 7514; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7513; - this.match(TSqlParser.COMMA); - } - - this.state = 7516; - _la = this._input.LA(1); - if(!(_la===TSqlParser.INIT || _la===TSqlParser.NOINIT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 10: - this.state = 7518; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7517; - this.match(TSqlParser.COMMA); - } - - this.state = 7520; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NOSKIP || _la===TSqlParser.SKIP_KEYWORD)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 11: - this.state = 7522; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7521; - this.match(TSqlParser.COMMA); - } - - this.state = 7524; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NOFORMAT || _la===TSqlParser.FORMAT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 12: - this.state = 7526; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7525; - this.match(TSqlParser.COMMA); - } - - this.state = 7528; - this.match(TSqlParser.MEDIADESCRIPTION); - this.state = 7529; - this.match(TSqlParser.EQUAL); - this.state = 7532; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7530; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7531; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 13: - this.state = 7535; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7534; - this.match(TSqlParser.COMMA); - } - - this.state = 7537; - this.match(TSqlParser.MEDIANAME); - this.state = 7538; - this.match(TSqlParser.EQUAL); - - this.state = 7539; - localctx.medianame = this.match(TSqlParser.STRING); - break; - - case 14: - this.state = 7541; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7540; - this.match(TSqlParser.COMMA); - } - - this.state = 7543; - this.match(TSqlParser.BLOCKSIZE); - this.state = 7544; - this.match(TSqlParser.EQUAL); - this.state = 7547; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 7545; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7546; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 15: - this.state = 7550; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7549; - this.match(TSqlParser.COMMA); - } - - this.state = 7552; - this.match(TSqlParser.BUFFERCOUNT); - this.state = 7553; - this.match(TSqlParser.EQUAL); - this.state = 7556; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 7554; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7555; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 16: - this.state = 7559; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7558; - this.match(TSqlParser.COMMA); - } - - this.state = 7561; - this.match(TSqlParser.MAXTRANSFER); - this.state = 7562; - this.match(TSqlParser.EQUAL); - this.state = 7565; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 7563; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7564; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 17: - this.state = 7568; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7567; - this.match(TSqlParser.COMMA); - } - - this.state = 7570; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NO_CHECKSUM || _la===TSqlParser.CHECKSUM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 18: - this.state = 7572; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7571; - this.match(TSqlParser.COMMA); - } - - this.state = 7574; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CONTINUE_AFTER_ERROR || _la===TSqlParser.STOP_ON_ERROR)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 19: - this.state = 7576; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7575; - this.match(TSqlParser.COMMA); - } - - this.state = 7578; - this.match(TSqlParser.RESTART); - break; - - case 20: - this.state = 7580; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7579; - this.match(TSqlParser.COMMA); - } - - this.state = 7582; - this.match(TSqlParser.STATS); - this.state = 7585; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.EQUAL) { - this.state = 7583; - this.match(TSqlParser.EQUAL); - this.state = 7584; - localctx.stats_percent = this.match(TSqlParser.DECIMAL); - } - - break; - - case 21: - this.state = 7588; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7587; - this.match(TSqlParser.COMMA); - } - - this.state = 7590; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NOREWIND || _la===TSqlParser.REWIND)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 22: - this.state = 7592; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7591; - this.match(TSqlParser.COMMA); - } - - this.state = 7594; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOAD || _la===TSqlParser.NOUNLOAD)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 23: - this.state = 7596; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7595; - this.match(TSqlParser.COMMA); - } - - this.state = 7598; - this.match(TSqlParser.ENCRYPTION); - this.state = 7599; - this.match(TSqlParser.LR_BRACKET); - this.state = 7600; - this.match(TSqlParser.ALGORITHM); - this.state = 7601; - this.match(TSqlParser.EQUAL); - this.state = 7602; - _la = this._input.LA(1); - if(!(((((_la - 386)) & ~0x1f) == 0 && ((1 << (_la - 386)) & ((1 << (TSqlParser.AES_128 - 386)) | (1 << (TSqlParser.AES_192 - 386)) | (1 << (TSqlParser.AES_256 - 386)))) !== 0) || _la===TSqlParser.TRIPLE_DES_3KEY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7603; - this.match(TSqlParser.COMMA); - this.state = 7604; - this.match(TSqlParser.SERVER); - this.state = 7605; - this.match(TSqlParser.CERTIFICATE); - this.state = 7606; - this.match(TSqlParser.EQUAL); - this.state = 7613; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1034,this._ctx); - switch(la_) { - case 1: - this.state = 7607; - localctx.encryptor_name = this.id(); - break; - - case 2: - this.state = 7608; - this.match(TSqlParser.SERVER); - this.state = 7609; - this.match(TSqlParser.ASYMMETRIC); - this.state = 7610; - this.match(TSqlParser.KEY); - this.state = 7611; - this.match(TSqlParser.EQUAL); - this.state = 7612; - localctx.encryptor_name = this.id(); - break; - - } - break; - - } - } - this.state = 7619; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1036,this._ctx); - } - - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Backup_logContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_backup_log; - this.database_name = null; // IdContext - this.logical_device_name = null; // IdContext - this.backup_set_name = null; // IdContext - this.medianame = null; // Token - this.stats_percent = null; // Token - this.undo_file_name = null; // Token - this.encryptor_name = null; // IdContext - return this; -} - -Backup_logContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Backup_logContext.prototype.constructor = Backup_logContext; - -Backup_logContext.prototype.BACKUP = function() { - return this.getToken(TSqlParser.BACKUP, 0); -}; - -Backup_logContext.prototype.LOG = function() { - return this.getToken(TSqlParser.LOG, 0); -}; - -Backup_logContext.prototype.TO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TO); - } else { - return this.getToken(TSqlParser.TO, i); - } -}; - - -Backup_logContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Backup_logContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Backup_logContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Backup_logContext.prototype.DISK = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DISK); - } else { - return this.getToken(TSqlParser.DISK, i); - } -}; - - -Backup_logContext.prototype.TAPE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TAPE); - } else { - return this.getToken(TSqlParser.TAPE, i); - } -}; - - -Backup_logContext.prototype.URL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.URL); - } else { - return this.getToken(TSqlParser.URL, i); - } -}; - - -Backup_logContext.prototype.MIRROR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MIRROR); - } else { - return this.getToken(TSqlParser.MIRROR, i); - } -}; - - -Backup_logContext.prototype.DIFFERENTIAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DIFFERENTIAL); - } else { - return this.getToken(TSqlParser.DIFFERENTIAL, i); - } -}; - - -Backup_logContext.prototype.COPY_ONLY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COPY_ONLY); - } else { - return this.getToken(TSqlParser.COPY_ONLY, i); - } -}; - - -Backup_logContext.prototype.DESCRIPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DESCRIPTION); - } else { - return this.getToken(TSqlParser.DESCRIPTION, i); - } -}; - - -Backup_logContext.prototype.NAME = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NAME); - } else { - return this.getToken(TSqlParser.NAME, i); - } -}; - - -Backup_logContext.prototype.CREDENTIAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CREDENTIAL); - } else { - return this.getToken(TSqlParser.CREDENTIAL, i); - } -}; - - -Backup_logContext.prototype.FILE_SNAPSHOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILE_SNAPSHOT); - } else { - return this.getToken(TSqlParser.FILE_SNAPSHOT, i); - } -}; - - -Backup_logContext.prototype.MEDIADESCRIPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MEDIADESCRIPTION); - } else { - return this.getToken(TSqlParser.MEDIADESCRIPTION, i); - } -}; - - -Backup_logContext.prototype.MEDIANAME = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MEDIANAME); - } else { - return this.getToken(TSqlParser.MEDIANAME, i); - } -}; - - -Backup_logContext.prototype.BLOCKSIZE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BLOCKSIZE); - } else { - return this.getToken(TSqlParser.BLOCKSIZE, i); - } -}; - - -Backup_logContext.prototype.BUFFERCOUNT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BUFFERCOUNT); - } else { - return this.getToken(TSqlParser.BUFFERCOUNT, i); - } -}; - - -Backup_logContext.prototype.MAXTRANSFER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.MAXTRANSFER); - } else { - return this.getToken(TSqlParser.MAXTRANSFER, i); - } -}; - - -Backup_logContext.prototype.RESTART = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RESTART); - } else { - return this.getToken(TSqlParser.RESTART, i); - } -}; - - -Backup_logContext.prototype.STATS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STATS); - } else { - return this.getToken(TSqlParser.STATS, i); - } -}; - - -Backup_logContext.prototype.NO_TRUNCATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NO_TRUNCATE); - } else { - return this.getToken(TSqlParser.NO_TRUNCATE, i); - } -}; - - -Backup_logContext.prototype.ENCRYPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ENCRYPTION); - } else { - return this.getToken(TSqlParser.ENCRYPTION, i); - } -}; - - -Backup_logContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Backup_logContext.prototype.ALGORITHM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALGORITHM); - } else { - return this.getToken(TSqlParser.ALGORITHM, i); - } -}; - - -Backup_logContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Backup_logContext.prototype.SERVER = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SERVER); - } else { - return this.getToken(TSqlParser.SERVER, i); - } -}; - - -Backup_logContext.prototype.CERTIFICATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CERTIFICATE); - } else { - return this.getToken(TSqlParser.CERTIFICATE, i); - } -}; - - -Backup_logContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Backup_logContext.prototype.COMPRESSION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMPRESSION); - } else { - return this.getToken(TSqlParser.COMPRESSION, i); - } -}; - - -Backup_logContext.prototype.NO_COMPRESSION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NO_COMPRESSION); - } else { - return this.getToken(TSqlParser.NO_COMPRESSION, i); - } -}; - - -Backup_logContext.prototype.NOINIT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOINIT); - } else { - return this.getToken(TSqlParser.NOINIT, i); - } -}; - - -Backup_logContext.prototype.INIT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.INIT); - } else { - return this.getToken(TSqlParser.INIT, i); - } -}; - - -Backup_logContext.prototype.NOSKIP = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOSKIP); - } else { - return this.getToken(TSqlParser.NOSKIP, i); - } -}; - - -Backup_logContext.prototype.SKIP_KEYWORD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SKIP_KEYWORD); - } else { - return this.getToken(TSqlParser.SKIP_KEYWORD, i); - } -}; - - -Backup_logContext.prototype.NOFORMAT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOFORMAT); - } else { - return this.getToken(TSqlParser.NOFORMAT, i); - } -}; - - -Backup_logContext.prototype.FORMAT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FORMAT); - } else { - return this.getToken(TSqlParser.FORMAT, i); - } -}; - - -Backup_logContext.prototype.NO_CHECKSUM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NO_CHECKSUM); - } else { - return this.getToken(TSqlParser.NO_CHECKSUM, i); - } -}; - - -Backup_logContext.prototype.CHECKSUM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CHECKSUM); - } else { - return this.getToken(TSqlParser.CHECKSUM, i); - } -}; - - -Backup_logContext.prototype.STOP_ON_ERROR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STOP_ON_ERROR); - } else { - return this.getToken(TSqlParser.STOP_ON_ERROR, i); - } -}; - - -Backup_logContext.prototype.CONTINUE_AFTER_ERROR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CONTINUE_AFTER_ERROR); - } else { - return this.getToken(TSqlParser.CONTINUE_AFTER_ERROR, i); - } -}; - - -Backup_logContext.prototype.REWIND = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.REWIND); - } else { - return this.getToken(TSqlParser.REWIND, i); - } -}; - - -Backup_logContext.prototype.NOREWIND = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOREWIND); - } else { - return this.getToken(TSqlParser.NOREWIND, i); - } -}; - - -Backup_logContext.prototype.LOAD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOAD); - } else { - return this.getToken(TSqlParser.LOAD, i); - } -}; - - -Backup_logContext.prototype.NOUNLOAD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NOUNLOAD); - } else { - return this.getToken(TSqlParser.NOUNLOAD, i); - } -}; - - -Backup_logContext.prototype.AES_128 = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AES_128); - } else { - return this.getToken(TSqlParser.AES_128, i); - } -}; - - -Backup_logContext.prototype.AES_192 = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AES_192); - } else { - return this.getToken(TSqlParser.AES_192, i); - } -}; - - -Backup_logContext.prototype.AES_256 = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AES_256); - } else { - return this.getToken(TSqlParser.AES_256, i); - } -}; - - -Backup_logContext.prototype.TRIPLE_DES_3KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.TRIPLE_DES_3KEY); - } else { - return this.getToken(TSqlParser.TRIPLE_DES_3KEY, i); - } -}; - - -Backup_logContext.prototype.EXPIREDATE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EXPIREDATE); - } else { - return this.getToken(TSqlParser.EXPIREDATE, i); - } -}; - - -Backup_logContext.prototype.RETAINDAYS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RETAINDAYS); - } else { - return this.getToken(TSqlParser.RETAINDAYS, i); - } -}; - - -Backup_logContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Backup_logContext.prototype.NORECOVERY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.NORECOVERY); - } else { - return this.getToken(TSqlParser.NORECOVERY, i); - } -}; - - -Backup_logContext.prototype.STANDBY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STANDBY); - } else { - return this.getToken(TSqlParser.STANDBY, i); - } -}; - - -Backup_logContext.prototype.ASYMMETRIC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ASYMMETRIC); - } else { - return this.getToken(TSqlParser.ASYMMETRIC, i); - } -}; - - -Backup_logContext.prototype.KEY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.KEY); - } else { - return this.getToken(TSqlParser.KEY, i); - } -}; - - -Backup_logContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBackup_log(this); - } -}; - -Backup_logContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBackup_log(this); - } -}; - -Backup_logContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBackup_log(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Backup_logContext = Backup_logContext; - -TSqlParser.prototype.backup_log = function() { - - var localctx = new Backup_logContext(this, this._ctx, this.state); - this.enterRule(localctx, 614, TSqlParser.RULE_backup_log); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7622; - this.match(TSqlParser.BACKUP); - this.state = 7623; - this.match(TSqlParser.LOG); - - this.state = 7624; - localctx.database_name = this.id(); - this.state = 7648; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1043,this._ctx); - switch(la_) { - case 1: - this.state = 7625; - this.match(TSqlParser.TO); - this.state = 7630; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 7627; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7626; - this.match(TSqlParser.COMMA); - } - - this.state = 7629; - localctx.logical_device_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7632; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1039, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - - case 2: - this.state = 7634; - this.match(TSqlParser.TO); - this.state = 7644; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7636; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7635; - this.match(TSqlParser.COMMA); - } - - this.state = 7638; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISK || _la===TSqlParser.TAPE || _la===TSqlParser.URL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7639; - this.match(TSqlParser.EQUAL); - this.state = 7642; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7640; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7641; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7646; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DISK || _la===TSqlParser.TAPE || _la===TSqlParser.URL || _la===TSqlParser.COMMA); - break; - - } - this.state = 7683; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1051,this._ctx); - if(la_===1) { - this.state = 7660; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7650; - this.match(TSqlParser.MIRROR); - this.state = 7651; - this.match(TSqlParser.TO); - this.state = 7656; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 7653; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7652; - this.match(TSqlParser.COMMA); - } - - this.state = 7655; - localctx.logical_device_name = this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7658; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1045, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - this.state = 7662; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.MIRROR); - - } else if(la_===2) { - this.state = 7679; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7664; - this.match(TSqlParser.MIRROR); - this.state = 7665; - this.match(TSqlParser.TO); - this.state = 7675; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7667; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7666; - this.match(TSqlParser.COMMA); - } - - this.state = 7669; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DISK || _la===TSqlParser.TAPE || _la===TSqlParser.URL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7670; - this.match(TSqlParser.EQUAL); - this.state = 7673; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7671; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7672; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7677; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.DISK || _la===TSqlParser.TAPE || _la===TSqlParser.URL || _la===TSqlParser.COMMA); - this.state = 7681; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.MIRROR); - - } - this.state = 7858; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1090,this._ctx); - if(la_===1) { - this.state = 7685; - this.match(TSqlParser.WITH); - this.state = 7855; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1089,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 7853; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1088,this._ctx); - switch(la_) { - case 1: - this.state = 7687; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7686; - this.match(TSqlParser.COMMA); - } - - this.state = 7689; - this.match(TSqlParser.DIFFERENTIAL); - break; - - case 2: - this.state = 7691; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7690; - this.match(TSqlParser.COMMA); - } - - this.state = 7693; - this.match(TSqlParser.COPY_ONLY); - break; - - case 3: - this.state = 7695; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7694; - this.match(TSqlParser.COMMA); - } - - this.state = 7697; - _la = this._input.LA(1); - if(!(_la===TSqlParser.COMPRESSION || _la===TSqlParser.NO_COMPRESSION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 4: - this.state = 7699; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7698; - this.match(TSqlParser.COMMA); - } - - this.state = 7701; - this.match(TSqlParser.DESCRIPTION); - this.state = 7702; - this.match(TSqlParser.EQUAL); - this.state = 7705; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7703; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7704; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 5: - this.state = 7708; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7707; - this.match(TSqlParser.COMMA); - } - - this.state = 7710; - this.match(TSqlParser.NAME); - this.state = 7711; - this.match(TSqlParser.EQUAL); - this.state = 7712; - localctx.backup_set_name = this.id(); - break; - - case 6: - this.state = 7714; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7713; - this.match(TSqlParser.COMMA); - } - - this.state = 7716; - this.match(TSqlParser.CREDENTIAL); - break; - - case 7: - this.state = 7718; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7717; - this.match(TSqlParser.COMMA); - } - - this.state = 7720; - this.match(TSqlParser.FILE_SNAPSHOT); - break; - - case 8: - this.state = 7722; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7721; - this.match(TSqlParser.COMMA); - } - - this.state = 7736; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.EXPIREDATE: - this.state = 7724; - this.match(TSqlParser.EXPIREDATE); - this.state = 7725; - this.match(TSqlParser.EQUAL); - this.state = 7728; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7726; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7727; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.RETAINDAYS: - this.state = 7730; - this.match(TSqlParser.RETAINDAYS); - this.state = 7731; - this.match(TSqlParser.EQUAL); - this.state = 7734; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 7732; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7733; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 9: - this.state = 7739; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7738; - this.match(TSqlParser.COMMA); - } - - this.state = 7741; - _la = this._input.LA(1); - if(!(_la===TSqlParser.INIT || _la===TSqlParser.NOINIT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 10: - this.state = 7743; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7742; - this.match(TSqlParser.COMMA); - } - - this.state = 7745; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NOSKIP || _la===TSqlParser.SKIP_KEYWORD)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 11: - this.state = 7747; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7746; - this.match(TSqlParser.COMMA); - } - - this.state = 7749; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NOFORMAT || _la===TSqlParser.FORMAT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 12: - this.state = 7751; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7750; - this.match(TSqlParser.COMMA); - } - - this.state = 7753; - this.match(TSqlParser.MEDIADESCRIPTION); - this.state = 7754; - this.match(TSqlParser.EQUAL); - this.state = 7757; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 7755; - this.match(TSqlParser.STRING); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7756; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 13: - this.state = 7760; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7759; - this.match(TSqlParser.COMMA); - } - - this.state = 7762; - this.match(TSqlParser.MEDIANAME); - this.state = 7763; - this.match(TSqlParser.EQUAL); - - this.state = 7764; - localctx.medianame = this.match(TSqlParser.STRING); - break; - - case 14: - this.state = 7766; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7765; - this.match(TSqlParser.COMMA); - } - - this.state = 7768; - this.match(TSqlParser.BLOCKSIZE); - this.state = 7769; - this.match(TSqlParser.EQUAL); - this.state = 7772; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 7770; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7771; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 15: - this.state = 7775; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7774; - this.match(TSqlParser.COMMA); - } - - this.state = 7777; - this.match(TSqlParser.BUFFERCOUNT); - this.state = 7778; - this.match(TSqlParser.EQUAL); - this.state = 7781; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 7779; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7780; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 16: - this.state = 7784; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7783; - this.match(TSqlParser.COMMA); - } - - this.state = 7786; - this.match(TSqlParser.MAXTRANSFER); - this.state = 7787; - this.match(TSqlParser.EQUAL); - this.state = 7790; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 7788; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 7789; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 17: - this.state = 7793; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7792; - this.match(TSqlParser.COMMA); - } - - this.state = 7795; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NO_CHECKSUM || _la===TSqlParser.CHECKSUM)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 18: - this.state = 7797; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7796; - this.match(TSqlParser.COMMA); - } - - this.state = 7799; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CONTINUE_AFTER_ERROR || _la===TSqlParser.STOP_ON_ERROR)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 19: - this.state = 7801; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7800; - this.match(TSqlParser.COMMA); - } - - this.state = 7803; - this.match(TSqlParser.RESTART); - break; - - case 20: - this.state = 7805; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7804; - this.match(TSqlParser.COMMA); - } - - this.state = 7807; - this.match(TSqlParser.STATS); - this.state = 7810; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.EQUAL) { - this.state = 7808; - this.match(TSqlParser.EQUAL); - this.state = 7809; - localctx.stats_percent = this.match(TSqlParser.DECIMAL); - } - - break; - - case 21: - this.state = 7813; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7812; - this.match(TSqlParser.COMMA); - } - - this.state = 7815; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NOREWIND || _la===TSqlParser.REWIND)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 22: - this.state = 7817; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7816; - this.match(TSqlParser.COMMA); - } - - this.state = 7819; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOAD || _la===TSqlParser.NOUNLOAD)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 23: - this.state = 7821; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7820; - this.match(TSqlParser.COMMA); - } - - this.state = 7827; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NORECOVERY: - this.state = 7823; - this.match(TSqlParser.NORECOVERY); - break; - case TSqlParser.STANDBY: - this.state = 7824; - this.match(TSqlParser.STANDBY); - this.state = 7825; - this.match(TSqlParser.EQUAL); - this.state = 7826; - localctx.undo_file_name = this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 24: - this.state = 7830; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7829; - this.match(TSqlParser.COMMA); - } - - this.state = 7832; - this.match(TSqlParser.NO_TRUNCATE); - break; - - case 25: - this.state = 7834; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7833; - this.match(TSqlParser.COMMA); - } - - this.state = 7836; - this.match(TSqlParser.ENCRYPTION); - this.state = 7837; - this.match(TSqlParser.LR_BRACKET); - this.state = 7838; - this.match(TSqlParser.ALGORITHM); - this.state = 7839; - this.match(TSqlParser.EQUAL); - this.state = 7840; - _la = this._input.LA(1); - if(!(((((_la - 386)) & ~0x1f) == 0 && ((1 << (_la - 386)) & ((1 << (TSqlParser.AES_128 - 386)) | (1 << (TSqlParser.AES_192 - 386)) | (1 << (TSqlParser.AES_256 - 386)))) !== 0) || _la===TSqlParser.TRIPLE_DES_3KEY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7841; - this.match(TSqlParser.COMMA); - this.state = 7842; - this.match(TSqlParser.SERVER); - this.state = 7843; - this.match(TSqlParser.CERTIFICATE); - this.state = 7844; - this.match(TSqlParser.EQUAL); - this.state = 7851; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1087,this._ctx); - switch(la_) { - case 1: - this.state = 7845; - localctx.encryptor_name = this.id(); - break; - - case 2: - this.state = 7846; - this.match(TSqlParser.SERVER); - this.state = 7847; - this.match(TSqlParser.ASYMMETRIC); - this.state = 7848; - this.match(TSqlParser.KEY); - this.state = 7849; - this.match(TSqlParser.EQUAL); - this.state = 7850; - localctx.encryptor_name = this.id(); - break; - - } - break; - - } - } - this.state = 7857; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1089,this._ctx); - } - - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Backup_certificateContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_backup_certificate; - this.certname = null; // IdContext - this.cert_file = null; // Token - this.private_key_file = null; // Token - this.encryption_password = null; // Token - this.decryption_pasword = null; // Token - return this; -} - -Backup_certificateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Backup_certificateContext.prototype.constructor = Backup_certificateContext; - -Backup_certificateContext.prototype.BACKUP = function() { - return this.getToken(TSqlParser.BACKUP, 0); -}; - -Backup_certificateContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Backup_certificateContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Backup_certificateContext.prototype.FILE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FILE); - } else { - return this.getToken(TSqlParser.FILE, i); - } -}; - - -Backup_certificateContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Backup_certificateContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Backup_certificateContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Backup_certificateContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Backup_certificateContext.prototype.PRIVATE = function() { - return this.getToken(TSqlParser.PRIVATE, 0); -}; - -Backup_certificateContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Backup_certificateContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Backup_certificateContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Backup_certificateContext.prototype.ENCRYPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ENCRYPTION); - } else { - return this.getToken(TSqlParser.ENCRYPTION, i); - } -}; - - -Backup_certificateContext.prototype.BY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BY); - } else { - return this.getToken(TSqlParser.BY, i); - } -}; - - -Backup_certificateContext.prototype.PASSWORD = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.PASSWORD); - } else { - return this.getToken(TSqlParser.PASSWORD, i); - } -}; - - -Backup_certificateContext.prototype.DECRYPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECRYPTION); - } else { - return this.getToken(TSqlParser.DECRYPTION, i); - } -}; - - -Backup_certificateContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Backup_certificateContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBackup_certificate(this); - } -}; - -Backup_certificateContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBackup_certificate(this); - } -}; - -Backup_certificateContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBackup_certificate(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Backup_certificateContext = Backup_certificateContext; - -TSqlParser.prototype.backup_certificate = function() { - - var localctx = new Backup_certificateContext(this, this._ctx, this.state); - this.enterRule(localctx, 616, TSqlParser.RULE_backup_certificate); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7860; - this.match(TSqlParser.BACKUP); - this.state = 7861; - this.match(TSqlParser.CERTIFICATE); - this.state = 7862; - localctx.certname = this.id(); - this.state = 7863; - this.match(TSqlParser.TO); - this.state = 7864; - this.match(TSqlParser.FILE); - this.state = 7865; - this.match(TSqlParser.EQUAL); - this.state = 7866; - localctx.cert_file = this.match(TSqlParser.STRING); - this.state = 7898; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1096,this._ctx); - if(la_===1) { - this.state = 7867; - this.match(TSqlParser.WITH); - this.state = 7868; - this.match(TSqlParser.PRIVATE); - this.state = 7869; - this.match(TSqlParser.KEY); - this.state = 7870; - this.match(TSqlParser.LR_BRACKET); - this.state = 7893; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 7893; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1094,this._ctx); - switch(la_) { - case 1: - this.state = 7872; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7871; - this.match(TSqlParser.COMMA); - } - - this.state = 7874; - this.match(TSqlParser.FILE); - this.state = 7875; - this.match(TSqlParser.EQUAL); - this.state = 7876; - localctx.private_key_file = this.match(TSqlParser.STRING); - break; - - case 2: - this.state = 7878; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7877; - this.match(TSqlParser.COMMA); - } - - this.state = 7880; - this.match(TSqlParser.ENCRYPTION); - this.state = 7881; - this.match(TSqlParser.BY); - this.state = 7882; - this.match(TSqlParser.PASSWORD); - this.state = 7883; - this.match(TSqlParser.EQUAL); - this.state = 7884; - localctx.encryption_password = this.match(TSqlParser.STRING); - break; - - case 3: - this.state = 7886; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 7885; - this.match(TSqlParser.COMMA); - } - - this.state = 7888; - this.match(TSqlParser.DECRYPTION); - this.state = 7889; - this.match(TSqlParser.BY); - this.state = 7890; - this.match(TSqlParser.PASSWORD); - this.state = 7891; - this.match(TSqlParser.EQUAL); - this.state = 7892; - localctx.decryption_pasword = this.match(TSqlParser.STRING); - break; - - } - this.state = 7895; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.FILE || _la===TSqlParser.DECRYPTION || _la===TSqlParser.ENCRYPTION || _la===TSqlParser.COMMA); - this.state = 7897; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Backup_master_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_backup_master_key; - this.master_key_backup_file = null; // Token - this.encryption_password = null; // Token - return this; -} - -Backup_master_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Backup_master_keyContext.prototype.constructor = Backup_master_keyContext; - -Backup_master_keyContext.prototype.BACKUP = function() { - return this.getToken(TSqlParser.BACKUP, 0); -}; - -Backup_master_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Backup_master_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Backup_master_keyContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Backup_master_keyContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Backup_master_keyContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Backup_master_keyContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Backup_master_keyContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Backup_master_keyContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Backup_master_keyContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Backup_master_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBackup_master_key(this); - } -}; - -Backup_master_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBackup_master_key(this); - } -}; - -Backup_master_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBackup_master_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Backup_master_keyContext = Backup_master_keyContext; - -TSqlParser.prototype.backup_master_key = function() { - - var localctx = new Backup_master_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 618, TSqlParser.RULE_backup_master_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7900; - this.match(TSqlParser.BACKUP); - this.state = 7901; - this.match(TSqlParser.MASTER); - this.state = 7902; - this.match(TSqlParser.KEY); - this.state = 7903; - this.match(TSqlParser.TO); - this.state = 7904; - this.match(TSqlParser.FILE); - this.state = 7905; - this.match(TSqlParser.EQUAL); - this.state = 7906; - localctx.master_key_backup_file = this.match(TSqlParser.STRING); - this.state = 7907; - this.match(TSqlParser.ENCRYPTION); - this.state = 7908; - this.match(TSqlParser.BY); - this.state = 7909; - this.match(TSqlParser.PASSWORD); - this.state = 7910; - this.match(TSqlParser.EQUAL); - this.state = 7911; - localctx.encryption_password = this.match(TSqlParser.STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Backup_service_master_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_backup_service_master_key; - this.service_master_key_backup_file = null; // Token - this.encryption_password = null; // Token - return this; -} - -Backup_service_master_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Backup_service_master_keyContext.prototype.constructor = Backup_service_master_keyContext; - -Backup_service_master_keyContext.prototype.BACKUP = function() { - return this.getToken(TSqlParser.BACKUP, 0); -}; - -Backup_service_master_keyContext.prototype.SERVICE = function() { - return this.getToken(TSqlParser.SERVICE, 0); -}; - -Backup_service_master_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Backup_service_master_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Backup_service_master_keyContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Backup_service_master_keyContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Backup_service_master_keyContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Backup_service_master_keyContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Backup_service_master_keyContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Backup_service_master_keyContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Backup_service_master_keyContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Backup_service_master_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBackup_service_master_key(this); - } -}; - -Backup_service_master_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBackup_service_master_key(this); - } -}; - -Backup_service_master_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBackup_service_master_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Backup_service_master_keyContext = Backup_service_master_keyContext; - -TSqlParser.prototype.backup_service_master_key = function() { - - var localctx = new Backup_service_master_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 620, TSqlParser.RULE_backup_service_master_key); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7913; - this.match(TSqlParser.BACKUP); - this.state = 7914; - this.match(TSqlParser.SERVICE); - this.state = 7915; - this.match(TSqlParser.MASTER); - this.state = 7916; - this.match(TSqlParser.KEY); - this.state = 7917; - this.match(TSqlParser.TO); - this.state = 7918; - this.match(TSqlParser.FILE); - this.state = 7919; - this.match(TSqlParser.EQUAL); - this.state = 7920; - localctx.service_master_key_backup_file = this.match(TSqlParser.STRING); - this.state = 7921; - this.match(TSqlParser.ENCRYPTION); - this.state = 7922; - this.match(TSqlParser.BY); - this.state = 7923; - this.match(TSqlParser.PASSWORD); - this.state = 7924; - this.match(TSqlParser.EQUAL); - this.state = 7925; - localctx.encryption_password = this.match(TSqlParser.STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Kill_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_kill_statement; - return this; -} - -Kill_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Kill_statementContext.prototype.constructor = Kill_statementContext; - -Kill_statementContext.prototype.KILL = function() { - return this.getToken(TSqlParser.KILL, 0); -}; - -Kill_statementContext.prototype.kill_process = function() { - return this.getTypedRuleContext(Kill_processContext,0); -}; - -Kill_statementContext.prototype.kill_query_notification = function() { - return this.getTypedRuleContext(Kill_query_notificationContext,0); -}; - -Kill_statementContext.prototype.kill_stats_job = function() { - return this.getTypedRuleContext(Kill_stats_jobContext,0); -}; - -Kill_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterKill_statement(this); - } -}; - -Kill_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitKill_statement(this); - } -}; - -Kill_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitKill_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Kill_statementContext = Kill_statementContext; - -TSqlParser.prototype.kill_statement = function() { - - var localctx = new Kill_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 622, TSqlParser.RULE_kill_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7927; - this.match(TSqlParser.KILL); - this.state = 7931; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.UOW: - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - this.state = 7928; - this.kill_process(); - break; - case TSqlParser.QUERY: - this.state = 7929; - this.kill_query_notification(); - break; - case TSqlParser.STATS: - this.state = 7930; - this.kill_stats_job(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Kill_processContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_kill_process; - this.session_id = null; // Token - return this; -} - -Kill_processContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Kill_processContext.prototype.constructor = Kill_processContext; - -Kill_processContext.prototype.UOW = function() { - return this.getToken(TSqlParser.UOW, 0); -}; - -Kill_processContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Kill_processContext.prototype.STATUSONLY = function() { - return this.getToken(TSqlParser.STATUSONLY, 0); -}; - -Kill_processContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Kill_processContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Kill_processContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterKill_process(this); - } -}; - -Kill_processContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitKill_process(this); - } -}; - -Kill_processContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitKill_process(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Kill_processContext = Kill_processContext; - -TSqlParser.prototype.kill_process = function() { - - var localctx = new Kill_processContext(this, this._ctx, this.state); - this.enterRule(localctx, 624, TSqlParser.RULE_kill_process); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 7935; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - this.state = 7933; - localctx.session_id = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - localctx.session_id = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.UOW: - this.state = 7934; - this.match(TSqlParser.UOW); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 7939; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1099,this._ctx); - if(la_===1) { - this.state = 7937; - this.match(TSqlParser.WITH); - this.state = 7938; - this.match(TSqlParser.STATUSONLY); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Kill_query_notificationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_kill_query_notification; - this.subscription_id = null; // Token - return this; -} - -Kill_query_notificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Kill_query_notificationContext.prototype.constructor = Kill_query_notificationContext; - -Kill_query_notificationContext.prototype.QUERY = function() { - return this.getToken(TSqlParser.QUERY, 0); -}; - -Kill_query_notificationContext.prototype.NOTIFICATION = function() { - return this.getToken(TSqlParser.NOTIFICATION, 0); -}; - -Kill_query_notificationContext.prototype.SUBSCRIPTION = function() { - return this.getToken(TSqlParser.SUBSCRIPTION, 0); -}; - -Kill_query_notificationContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Kill_query_notificationContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Kill_query_notificationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterKill_query_notification(this); - } -}; - -Kill_query_notificationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitKill_query_notification(this); - } -}; - -Kill_query_notificationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitKill_query_notification(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Kill_query_notificationContext = Kill_query_notificationContext; - -TSqlParser.prototype.kill_query_notification = function() { - - var localctx = new Kill_query_notificationContext(this, this._ctx, this.state); - this.enterRule(localctx, 626, TSqlParser.RULE_kill_query_notification); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7941; - this.match(TSqlParser.QUERY); - this.state = 7942; - this.match(TSqlParser.NOTIFICATION); - this.state = 7943; - this.match(TSqlParser.SUBSCRIPTION); - this.state = 7946; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALL: - this.state = 7944; - this.match(TSqlParser.ALL); - break; - case TSqlParser.DECIMAL: - this.state = 7945; - localctx.subscription_id = this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Kill_stats_jobContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_kill_stats_job; - this.job_id = null; // Token - return this; -} - -Kill_stats_jobContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Kill_stats_jobContext.prototype.constructor = Kill_stats_jobContext; - -Kill_stats_jobContext.prototype.STATS = function() { - return this.getToken(TSqlParser.STATS, 0); -}; - -Kill_stats_jobContext.prototype.JOB = function() { - return this.getToken(TSqlParser.JOB, 0); -}; - -Kill_stats_jobContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Kill_stats_jobContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterKill_stats_job(this); - } -}; - -Kill_stats_jobContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitKill_stats_job(this); - } -}; - -Kill_stats_jobContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitKill_stats_job(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Kill_stats_jobContext = Kill_stats_jobContext; - -TSqlParser.prototype.kill_stats_job = function() { - - var localctx = new Kill_stats_jobContext(this, this._ctx, this.state); - this.enterRule(localctx, 628, TSqlParser.RULE_kill_stats_job); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7948; - this.match(TSqlParser.STATS); - this.state = 7949; - this.match(TSqlParser.JOB); - this.state = 7950; - localctx.job_id = this.match(TSqlParser.DECIMAL); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Execute_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_execute_statement; - return this; -} - -Execute_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Execute_statementContext.prototype.constructor = Execute_statementContext; - -Execute_statementContext.prototype.EXECUTE = function() { - return this.getToken(TSqlParser.EXECUTE, 0); -}; - -Execute_statementContext.prototype.execute_body = function() { - return this.getTypedRuleContext(Execute_bodyContext,0); -}; - -Execute_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExecute_statement(this); - } -}; - -Execute_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExecute_statement(this); - } -}; - -Execute_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExecute_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Execute_statementContext = Execute_statementContext; - -TSqlParser.prototype.execute_statement = function() { - - var localctx = new Execute_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 630, TSqlParser.RULE_execute_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 7952; - this.match(TSqlParser.EXECUTE); - this.state = 7953; - this.execute_body(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Execute_bodyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_execute_body; - this.return_status = null; // Token - return this; -} - -Execute_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Execute_bodyContext.prototype.constructor = Execute_bodyContext; - -Execute_bodyContext.prototype.func_proc_name_server_database_schema = function() { - return this.getTypedRuleContext(Func_proc_name_server_database_schemaContext,0); -}; - -Execute_bodyContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Execute_bodyContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Execute_bodyContext.prototype.execute_statement_arg = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Execute_statement_argContext); - } else { - return this.getTypedRuleContext(Execute_statement_argContext,i); - } -}; - -Execute_bodyContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Execute_bodyContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Execute_bodyContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Execute_bodyContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Execute_bodyContext.prototype.execute_var_string = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Execute_var_stringContext); - } else { - return this.getTypedRuleContext(Execute_var_stringContext,i); - } -}; - -Execute_bodyContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Execute_bodyContext.prototype.PLUS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.PLUS); - } else { - return this.getToken(TSqlParser.PLUS, i); - } -}; - - -Execute_bodyContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Execute_bodyContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Execute_bodyContext.prototype.USER = function() { - return this.getToken(TSqlParser.USER, 0); -}; - -Execute_bodyContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Execute_bodyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExecute_body(this); - } -}; - -Execute_bodyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExecute_body(this); - } -}; - -Execute_bodyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExecute_body(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Execute_bodyContext = Execute_bodyContext; - -TSqlParser.prototype.execute_body = function() { - - var localctx = new Execute_bodyContext(this, this._ctx, this.state); - this.enterRule(localctx, 632, TSqlParser.RULE_execute_body); - var _la = 0; // Token type - try { - this.state = 7997; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1110,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 7957; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1101,this._ctx); - if(la_===1) { - this.state = 7955; - localctx.return_status = this.match(TSqlParser.LOCAL_ID); - this.state = 7956; - this.match(TSqlParser.EQUAL); - - } - this.state = 7961; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1102,this._ctx); - switch(la_) { - case 1: - this.state = 7959; - this.func_proc_name_server_database_schema(); - break; - - case 2: - this.state = 7960; - this.expression(0); - break; - - } - this.state = 7971; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1104,this._ctx); - if(la_===1) { - this.state = 7963; - this.execute_statement_arg(); - this.state = 7968; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 7964; - this.match(TSqlParser.COMMA); - this.state = 7965; - this.execute_statement_arg(); - this.state = 7970; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - - } - this.state = 7974; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1105,this._ctx); - if(la_===1) { - this.state = 7973; - this.match(TSqlParser.SEMI); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 7976; - this.match(TSqlParser.LR_BRACKET); - this.state = 7977; - this.execute_var_string(); - this.state = 7982; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.PLUS) { - this.state = 7978; - this.match(TSqlParser.PLUS); - this.state = 7979; - this.execute_var_string(); - this.state = 7984; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 7985; - this.match(TSqlParser.RR_BRACKET); - this.state = 7992; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1108,this._ctx); - if(la_===1) { - this.state = 7987; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 7986; - this.match(TSqlParser.AS); - } - - this.state = 7989; - _la = this._input.LA(1); - if(!(_la===TSqlParser.USER || _la===TSqlParser.LOGIN)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 7990; - this.match(TSqlParser.EQUAL); - this.state = 7991; - this.match(TSqlParser.STRING); - - } - this.state = 7995; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1109,this._ctx); - if(la_===1) { - this.state = 7994; - this.match(TSqlParser.SEMI); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Execute_statement_argContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_execute_statement_arg; - this.parameter = null; // Token - return this; -} - -Execute_statement_argContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Execute_statement_argContext.prototype.constructor = Execute_statement_argContext; - -Execute_statement_argContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Execute_statement_argContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Execute_statement_argContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Execute_statement_argContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Execute_statement_argContext.prototype.constant_LOCAL_ID = function() { - return this.getTypedRuleContext(Constant_LOCAL_IDContext,0); -}; - -Execute_statement_argContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Execute_statement_argContext.prototype.OUTPUT = function() { - return this.getToken(TSqlParser.OUTPUT, 0); -}; - -Execute_statement_argContext.prototype.OUT = function() { - return this.getToken(TSqlParser.OUT, 0); -}; - -Execute_statement_argContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExecute_statement_arg(this); - } -}; - -Execute_statement_argContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExecute_statement_arg(this); - } -}; - -Execute_statement_argContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExecute_statement_arg(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Execute_statement_argContext = Execute_statement_argContext; - -TSqlParser.prototype.execute_statement_arg = function() { - - var localctx = new Execute_statement_argContext(this, this._ctx, this.state); - this.enterRule(localctx, 634, TSqlParser.RULE_execute_statement_arg); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8001; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1111,this._ctx); - if(la_===1) { - this.state = 7999; - localctx.parameter = this.match(TSqlParser.LOCAL_ID); - this.state = 8000; - this.match(TSqlParser.EQUAL); - - } - this.state = 8012; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.LOCAL_ID: - case TSqlParser.DECIMAL: - case TSqlParser.ID: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.state = 8005; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.LOCAL_ID: - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.state = 8003; - this.constant_LOCAL_ID(); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 8004; - this.id(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8008; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1113,this._ctx); - if(la_===1) { - this.state = 8007; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OUT || _la===TSqlParser.OUTPUT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - break; - case TSqlParser.DEFAULT: - this.state = 8010; - this.match(TSqlParser.DEFAULT); - break; - case TSqlParser.NULL: - this.state = 8011; - this.match(TSqlParser.NULL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Execute_var_stringContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_execute_var_string; - return this; -} - -Execute_var_stringContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Execute_var_stringContext.prototype.constructor = Execute_var_stringContext; - -Execute_var_stringContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Execute_var_stringContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Execute_var_stringContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExecute_var_string(this); - } -}; - -Execute_var_stringContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExecute_var_string(this); - } -}; - -Execute_var_stringContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExecute_var_string(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Execute_var_stringContext = Execute_var_stringContext; - -TSqlParser.prototype.execute_var_string = function() { - - var localctx = new Execute_var_stringContext(this, this._ctx, this.state); - this.enterRule(localctx, 636, TSqlParser.RULE_execute_var_string); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8014; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.STRING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Security_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_security_statement; - this.on_id = null; // Table_nameContext - this._id = null; // IdContext - this.to_principal = []; // of IdContexts - this.as_principal = null; // IdContext - return this; -} - -Security_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Security_statementContext.prototype.constructor = Security_statementContext; - -Security_statementContext.prototype.execute_clause = function() { - return this.getTypedRuleContext(Execute_clauseContext,0); -}; - -Security_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Security_statementContext.prototype.GRANT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.GRANT); - } else { - return this.getToken(TSqlParser.GRANT, i); - } -}; - - -Security_statementContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Security_statementContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Security_statementContext.prototype.grant_permission = function() { - return this.getTypedRuleContext(Grant_permissionContext,0); -}; - -Security_statementContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Security_statementContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Security_statementContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Security_statementContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Security_statementContext.prototype.OPTION = function() { - return this.getToken(TSqlParser.OPTION, 0); -}; - -Security_statementContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Security_statementContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Security_statementContext.prototype.PRIVILEGES = function() { - return this.getToken(TSqlParser.PRIVILEGES, 0); -}; - -Security_statementContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Security_statementContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Security_statementContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Security_statementContext.prototype.REVERT = function() { - return this.getToken(TSqlParser.REVERT, 0); -}; - -Security_statementContext.prototype.COOKIE = function() { - return this.getToken(TSqlParser.COOKIE, 0); -}; - -Security_statementContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Security_statementContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Security_statementContext.prototype.open_key = function() { - return this.getTypedRuleContext(Open_keyContext,0); -}; - -Security_statementContext.prototype.close_key = function() { - return this.getTypedRuleContext(Close_keyContext,0); -}; - -Security_statementContext.prototype.create_key = function() { - return this.getTypedRuleContext(Create_keyContext,0); -}; - -Security_statementContext.prototype.create_certificate = function() { - return this.getTypedRuleContext(Create_certificateContext,0); -}; - -Security_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSecurity_statement(this); - } -}; - -Security_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSecurity_statement(this); - } -}; - -Security_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSecurity_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Security_statementContext = Security_statementContext; - -TSqlParser.prototype.security_statement = function() { - - var localctx = new Security_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 638, TSqlParser.RULE_security_statement); - var _la = 0; // Token type - try { - this.state = 8075; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1126,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8016; - this.execute_clause(); - this.state = 8018; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1115,this._ctx); - if(la_===1) { - this.state = 8017; - this.match(TSqlParser.SEMI); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8020; - this.match(TSqlParser.GRANT); - this.state = 8032; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALL: - this.state = 8021; - this.match(TSqlParser.ALL); - this.state = 8023; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PRIVILEGES) { - this.state = 8022; - this.match(TSqlParser.PRIVILEGES); - } - - break; - case TSqlParser.ALTER: - case TSqlParser.CREATE: - case TSqlParser.EXECUTE: - case TSqlParser.INSERT: - case TSqlParser.REFERENCES: - case TSqlParser.SELECT: - case TSqlParser.VIEW: - case TSqlParser.CONTROL: - case TSqlParser.IMPERSONATE: - case TSqlParser.SHOWPLAN: - case TSqlParser.TAKE: - this.state = 8025; - this.grant_permission(); - this.state = 8030; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 8026; - this.match(TSqlParser.LR_BRACKET); - this.state = 8027; - this.column_name_list(); - this.state = 8028; - this.match(TSqlParser.RR_BRACKET); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8036; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ON) { - this.state = 8034; - this.match(TSqlParser.ON); - this.state = 8035; - localctx.on_id = this.table_name(); - } - - this.state = 8038; - this.match(TSqlParser.TO); - - this.state = 8039; - localctx._id = this.id(); - localctx.to_principal.push(localctx._id); - this.state = 8044; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 8040; - this.match(TSqlParser.COMMA); - this.state = 8041; - localctx._id = this.id(); - localctx.to_principal.push(localctx._id); - this.state = 8046; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 8050; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1121,this._ctx); - if(la_===1) { - this.state = 8047; - this.match(TSqlParser.WITH); - this.state = 8048; - this.match(TSqlParser.GRANT); - this.state = 8049; - this.match(TSqlParser.OPTION); - - } - this.state = 8054; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 8052; - this.match(TSqlParser.AS); - this.state = 8053; - localctx.as_principal = this.id(); - } - - this.state = 8057; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1123,this._ctx); - if(la_===1) { - this.state = 8056; - this.match(TSqlParser.SEMI); - - } - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 8059; - this.match(TSqlParser.REVERT); - this.state = 8066; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1124,this._ctx); - if(la_===1) { - this.state = 8060; - this.match(TSqlParser.LR_BRACKET); - this.state = 8061; - this.match(TSqlParser.WITH); - this.state = 8062; - this.match(TSqlParser.COOKIE); - this.state = 8063; - this.match(TSqlParser.EQUAL); - this.state = 8064; - this.match(TSqlParser.LOCAL_ID); - this.state = 8065; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 8069; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1125,this._ctx); - if(la_===1) { - this.state = 8068; - this.match(TSqlParser.SEMI); - - } - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 8071; - this.open_key(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 8072; - this.close_key(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 8073; - this.create_key(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 8074; - this.create_certificate(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_certificateContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_certificate; - this.certificate_name = null; // IdContext - this.user_name = null; // IdContext - return this; -} - -Create_certificateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_certificateContext.prototype.constructor = Create_certificateContext; - -Create_certificateContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_certificateContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Create_certificateContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_certificateContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_certificateContext.prototype.existing_keys = function() { - return this.getTypedRuleContext(Existing_keysContext,0); -}; - -Create_certificateContext.prototype.generate_new_keys = function() { - return this.getTypedRuleContext(Generate_new_keysContext,0); -}; - -Create_certificateContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_certificateContext.prototype.ACTIVE = function() { - return this.getToken(TSqlParser.ACTIVE, 0); -}; - -Create_certificateContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Create_certificateContext.prototype.BEGIN = function() { - return this.getToken(TSqlParser.BEGIN, 0); -}; - -Create_certificateContext.prototype.DIALOG = function() { - return this.getToken(TSqlParser.DIALOG, 0); -}; - -Create_certificateContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_certificateContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_certificateContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Create_certificateContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_certificate(this); - } -}; - -Create_certificateContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_certificate(this); - } -}; - -Create_certificateContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_certificate(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_certificateContext = Create_certificateContext; - -TSqlParser.prototype.create_certificate = function() { - - var localctx = new Create_certificateContext(this, this._ctx, this.state); - this.enterRule(localctx, 640, TSqlParser.RULE_create_certificate); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8077; - this.match(TSqlParser.CREATE); - this.state = 8078; - this.match(TSqlParser.CERTIFICATE); - this.state = 8079; - localctx.certificate_name = this.id(); - this.state = 8082; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 8080; - this.match(TSqlParser.AUTHORIZATION); - this.state = 8081; - localctx.user_name = this.id(); - } - - this.state = 8087; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FROM: - this.state = 8084; - this.match(TSqlParser.FROM); - this.state = 8085; - this.existing_keys(); - break; - case TSqlParser.WITH: - case TSqlParser.ENCRYPTION: - this.state = 8086; - this.generate_new_keys(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8095; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1129,this._ctx); - if(la_===1) { - this.state = 8089; - this.match(TSqlParser.ACTIVE); - this.state = 8090; - this.match(TSqlParser.FOR); - this.state = 8091; - this.match(TSqlParser.BEGIN); - this.state = 8092; - this.match(TSqlParser.DIALOG); - this.state = 8093; - this.match(TSqlParser.EQUAL); - this.state = 8094; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Existing_keysContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_existing_keys; - this.assembly_name = null; // IdContext - this.path_to_file = null; // Token - return this; -} - -Existing_keysContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Existing_keysContext.prototype.constructor = Existing_keysContext; - -Existing_keysContext.prototype.ASSEMBLY = function() { - return this.getToken(TSqlParser.ASSEMBLY, 0); -}; - -Existing_keysContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Existing_keysContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Existing_keysContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Existing_keysContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Existing_keysContext.prototype.EXECUTABLE = function() { - return this.getToken(TSqlParser.EXECUTABLE, 0); -}; - -Existing_keysContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Existing_keysContext.prototype.PRIVATE = function() { - return this.getToken(TSqlParser.PRIVATE, 0); -}; - -Existing_keysContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Existing_keysContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Existing_keysContext.prototype.private_key_options = function() { - return this.getTypedRuleContext(Private_key_optionsContext,0); -}; - -Existing_keysContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Existing_keysContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExisting_keys(this); - } -}; - -Existing_keysContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExisting_keys(this); - } -}; - -Existing_keysContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExisting_keys(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Existing_keysContext = Existing_keysContext; - -TSqlParser.prototype.existing_keys = function() { - - var localctx = new Existing_keysContext(this, this._ctx, this.state); - this.enterRule(localctx, 642, TSqlParser.RULE_existing_keys); - var _la = 0; // Token type - try { - this.state = 8114; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ASSEMBLY: - this.enterOuterAlt(localctx, 1); - this.state = 8097; - this.match(TSqlParser.ASSEMBLY); - this.state = 8098; - localctx.assembly_name = this.id(); - break; - case TSqlParser.FILE: - case TSqlParser.EXECUTABLE: - this.enterOuterAlt(localctx, 2); - this.state = 8100; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.EXECUTABLE) { - this.state = 8099; - this.match(TSqlParser.EXECUTABLE); - } - - this.state = 8102; - this.match(TSqlParser.FILE); - this.state = 8103; - this.match(TSqlParser.EQUAL); - this.state = 8104; - localctx.path_to_file = this.match(TSqlParser.STRING); - this.state = 8112; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1131,this._ctx); - if(la_===1) { - this.state = 8105; - this.match(TSqlParser.WITH); - this.state = 8106; - this.match(TSqlParser.PRIVATE); - this.state = 8107; - this.match(TSqlParser.KEY); - this.state = 8108; - this.match(TSqlParser.LR_BRACKET); - this.state = 8109; - this.private_key_options(); - this.state = 8110; - this.match(TSqlParser.RR_BRACKET); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Private_key_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_private_key_options; - this.path = null; // Token - this.password = null; // Token - return this; -} - -Private_key_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Private_key_optionsContext.prototype.constructor = Private_key_optionsContext; - -Private_key_optionsContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Private_key_optionsContext.prototype.FILE = function() { - return this.getToken(TSqlParser.FILE, 0); -}; - -Private_key_optionsContext.prototype.BINARY = function() { - return this.getToken(TSqlParser.BINARY, 0); -}; - -Private_key_optionsContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Private_key_optionsContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Private_key_optionsContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Private_key_optionsContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Private_key_optionsContext.prototype.DECRYPTION = function() { - return this.getToken(TSqlParser.DECRYPTION, 0); -}; - -Private_key_optionsContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Private_key_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPrivate_key_options(this); - } -}; - -Private_key_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPrivate_key_options(this); - } -}; - -Private_key_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPrivate_key_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Private_key_optionsContext = Private_key_optionsContext; - -TSqlParser.prototype.private_key_options = function() { - - var localctx = new Private_key_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 644, TSqlParser.RULE_private_key_options); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8116; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FILE || _la===TSqlParser.BINARY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8117; - this.match(TSqlParser.EQUAL); - this.state = 8118; - localctx.path = this.match(TSqlParser.STRING); - this.state = 8125; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 8119; - this.match(TSqlParser.COMMA); - this.state = 8120; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECRYPTION || _la===TSqlParser.ENCRYPTION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8121; - this.match(TSqlParser.BY); - this.state = 8122; - this.match(TSqlParser.PASSWORD); - this.state = 8123; - this.match(TSqlParser.EQUAL); - this.state = 8124; - localctx.password = this.match(TSqlParser.STRING); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Generate_new_keysContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_generate_new_keys; - this.password = null; // Token - this.certificate_subject_name = null; // Token - return this; -} - -Generate_new_keysContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Generate_new_keysContext.prototype.constructor = Generate_new_keysContext; - -Generate_new_keysContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Generate_new_keysContext.prototype.SUBJECT = function() { - return this.getToken(TSqlParser.SUBJECT, 0); -}; - -Generate_new_keysContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Generate_new_keysContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Generate_new_keysContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Generate_new_keysContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Generate_new_keysContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Generate_new_keysContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Generate_new_keysContext.prototype.date_options = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Date_optionsContext); - } else { - return this.getTypedRuleContext(Date_optionsContext,i); - } -}; - -Generate_new_keysContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterGenerate_new_keys(this); - } -}; - -Generate_new_keysContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitGenerate_new_keys(this); - } -}; - -Generate_new_keysContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitGenerate_new_keys(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Generate_new_keysContext = Generate_new_keysContext; - -TSqlParser.prototype.generate_new_keys = function() { - - var localctx = new Generate_new_keysContext(this, this._ctx, this.state); - this.enterRule(localctx, 646, TSqlParser.RULE_generate_new_keys); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8132; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ENCRYPTION) { - this.state = 8127; - this.match(TSqlParser.ENCRYPTION); - this.state = 8128; - this.match(TSqlParser.BY); - this.state = 8129; - this.match(TSqlParser.PASSWORD); - this.state = 8130; - this.match(TSqlParser.EQUAL); - this.state = 8131; - localctx.password = this.match(TSqlParser.STRING); - } - - this.state = 8134; - this.match(TSqlParser.WITH); - this.state = 8135; - this.match(TSqlParser.SUBJECT); - this.state = 8136; - this.match(TSqlParser.EQUAL); - this.state = 8137; - localctx.certificate_subject_name = this.match(TSqlParser.STRING); - this.state = 8142; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 8138; - this.match(TSqlParser.COMMA); - this.state = 8139; - this.date_options(); - this.state = 8144; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Date_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_date_options; - return this; -} - -Date_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Date_optionsContext.prototype.constructor = Date_optionsContext; - -Date_optionsContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Date_optionsContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Date_optionsContext.prototype.START_DATE = function() { - return this.getToken(TSqlParser.START_DATE, 0); -}; - -Date_optionsContext.prototype.EXPIRY_DATE = function() { - return this.getToken(TSqlParser.EXPIRY_DATE, 0); -}; - -Date_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDate_options(this); - } -}; - -Date_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDate_options(this); - } -}; - -Date_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDate_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Date_optionsContext = Date_optionsContext; - -TSqlParser.prototype.date_options = function() { - - var localctx = new Date_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 648, TSqlParser.RULE_date_options); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8145; - _la = this._input.LA(1); - if(!(_la===TSqlParser.EXPIRY_DATE || _la===TSqlParser.START_DATE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8146; - this.match(TSqlParser.EQUAL); - this.state = 8147; - this.match(TSqlParser.STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Open_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_open_key; - this.key_name = null; // IdContext - this.password = null; // Token - return this; -} - -Open_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Open_keyContext.prototype.constructor = Open_keyContext; - -Open_keyContext.prototype.OPEN = function() { - return this.getToken(TSqlParser.OPEN, 0); -}; - -Open_keyContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Open_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Open_keyContext.prototype.DECRYPTION = function() { - return this.getToken(TSqlParser.DECRYPTION, 0); -}; - -Open_keyContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Open_keyContext.prototype.decryption_mechanism = function() { - return this.getTypedRuleContext(Decryption_mechanismContext,0); -}; - -Open_keyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Open_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Open_keyContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Open_keyContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Open_keyContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Open_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOpen_key(this); - } -}; - -Open_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOpen_key(this); - } -}; - -Open_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOpen_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Open_keyContext = Open_keyContext; - -TSqlParser.prototype.open_key = function() { - - var localctx = new Open_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 650, TSqlParser.RULE_open_key); - try { - this.state = 8165; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1136,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8149; - this.match(TSqlParser.OPEN); - this.state = 8150; - this.match(TSqlParser.SYMMETRIC); - this.state = 8151; - this.match(TSqlParser.KEY); - this.state = 8152; - localctx.key_name = this.id(); - this.state = 8153; - this.match(TSqlParser.DECRYPTION); - this.state = 8154; - this.match(TSqlParser.BY); - this.state = 8155; - this.decryption_mechanism(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8157; - this.match(TSqlParser.OPEN); - this.state = 8158; - this.match(TSqlParser.MASTER); - this.state = 8159; - this.match(TSqlParser.KEY); - this.state = 8160; - this.match(TSqlParser.DECRYPTION); - this.state = 8161; - this.match(TSqlParser.BY); - this.state = 8162; - this.match(TSqlParser.PASSWORD); - this.state = 8163; - this.match(TSqlParser.EQUAL); - this.state = 8164; - localctx.password = this.match(TSqlParser.STRING); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Close_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_close_key; - this.key_name = null; // IdContext - return this; -} - -Close_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Close_keyContext.prototype.constructor = Close_keyContext; - -Close_keyContext.prototype.CLOSE = function() { - return this.getToken(TSqlParser.CLOSE, 0); -}; - -Close_keyContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Close_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Close_keyContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Close_keyContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Close_keyContext.prototype.KEYS = function() { - return this.getToken(TSqlParser.KEYS, 0); -}; - -Close_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Close_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterClose_key(this); - } -}; - -Close_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitClose_key(this); - } -}; - -Close_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitClose_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Close_keyContext = Close_keyContext; - -TSqlParser.prototype.close_key = function() { - - var localctx = new Close_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 652, TSqlParser.RULE_close_key); - try { - this.state = 8178; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1137,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8167; - this.match(TSqlParser.CLOSE); - this.state = 8168; - this.match(TSqlParser.SYMMETRIC); - this.state = 8169; - this.match(TSqlParser.KEY); - this.state = 8170; - localctx.key_name = this.id(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8171; - this.match(TSqlParser.CLOSE); - this.state = 8172; - this.match(TSqlParser.ALL); - this.state = 8173; - this.match(TSqlParser.SYMMETRIC); - this.state = 8174; - this.match(TSqlParser.KEYS); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 8175; - this.match(TSqlParser.CLOSE); - this.state = 8176; - this.match(TSqlParser.MASTER); - this.state = 8177; - this.match(TSqlParser.KEY); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_keyContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_key; - this.password = null; // Token - this.key_name = null; // IdContext - this.user_name = null; // IdContext - this.provider_name = null; // IdContext - return this; -} - -Create_keyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_keyContext.prototype.constructor = Create_keyContext; - -Create_keyContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Create_keyContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Create_keyContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Create_keyContext.prototype.ENCRYPTION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ENCRYPTION); - } else { - return this.getToken(TSqlParser.ENCRYPTION, i); - } -}; - - -Create_keyContext.prototype.BY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.BY); - } else { - return this.getToken(TSqlParser.BY, i); - } -}; - - -Create_keyContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Create_keyContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_keyContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_keyContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Create_keyContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Create_keyContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Create_keyContext.prototype.AUTHORIZATION = function() { - return this.getToken(TSqlParser.AUTHORIZATION, 0); -}; - -Create_keyContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Create_keyContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Create_keyContext.prototype.key_options = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Key_optionsContext); - } else { - return this.getTypedRuleContext(Key_optionsContext,i); - } -}; - -Create_keyContext.prototype.encryption_mechanism = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Encryption_mechanismContext); - } else { - return this.getTypedRuleContext(Encryption_mechanismContext,i); - } -}; - -Create_keyContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_keyContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_key(this); - } -}; - -Create_keyContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_key(this); - } -}; - -Create_keyContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_key(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_keyContext = Create_keyContext; - -TSqlParser.prototype.create_key = function() { - - var localctx = new Create_keyContext(this, this._ctx, this.state); - this.enterRule(localctx, 654, TSqlParser.RULE_create_key); - var _la = 0; // Token type - try { - this.state = 8215; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1143,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8180; - this.match(TSqlParser.CREATE); - this.state = 8181; - this.match(TSqlParser.MASTER); - this.state = 8182; - this.match(TSqlParser.KEY); - this.state = 8183; - this.match(TSqlParser.ENCRYPTION); - this.state = 8184; - this.match(TSqlParser.BY); - this.state = 8185; - this.match(TSqlParser.PASSWORD); - this.state = 8186; - this.match(TSqlParser.EQUAL); - this.state = 8187; - localctx.password = this.match(TSqlParser.STRING); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8188; - this.match(TSqlParser.CREATE); - this.state = 8189; - this.match(TSqlParser.SYMMETRIC); - this.state = 8190; - this.match(TSqlParser.KEY); - this.state = 8191; - localctx.key_name = this.id(); - this.state = 8194; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AUTHORIZATION) { - this.state = 8192; - this.match(TSqlParser.AUTHORIZATION); - this.state = 8193; - localctx.user_name = this.id(); - } - - this.state = 8199; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 8196; - this.match(TSqlParser.FROM); - this.state = 8197; - this.match(TSqlParser.PROVIDER); - this.state = 8198; - localctx.provider_name = this.id(); - } - - this.state = 8201; - this.match(TSqlParser.WITH); - this.state = 8211; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 8206; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.ALGORITHM: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.KEY_SOURCE: - case TSqlParser.PROVIDER_KEY_NAME: - this.state = 8202; - this.key_options(); - break; - case TSqlParser.ENCRYPTION: - this.state = 8203; - this.match(TSqlParser.ENCRYPTION); - this.state = 8204; - this.match(TSqlParser.BY); - this.state = 8205; - this.encryption_mechanism(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8209; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 8208; - this.match(TSqlParser.COMMA); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8213; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1142, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Key_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_key_options; - this.pass_phrase = null; // Token - this.identity_phrase = null; // Token - this.key_name_in_provider = null; // Token - return this; -} - -Key_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Key_optionsContext.prototype.constructor = Key_optionsContext; - -Key_optionsContext.prototype.KEY_SOURCE = function() { - return this.getToken(TSqlParser.KEY_SOURCE, 0); -}; - -Key_optionsContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Key_optionsContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Key_optionsContext.prototype.ALGORITHM = function() { - return this.getToken(TSqlParser.ALGORITHM, 0); -}; - -Key_optionsContext.prototype.algorithm = function() { - return this.getTypedRuleContext(AlgorithmContext,0); -}; - -Key_optionsContext.prototype.IDENTITY_VALUE = function() { - return this.getToken(TSqlParser.IDENTITY_VALUE, 0); -}; - -Key_optionsContext.prototype.PROVIDER_KEY_NAME = function() { - return this.getToken(TSqlParser.PROVIDER_KEY_NAME, 0); -}; - -Key_optionsContext.prototype.CREATION_DISPOSITION = function() { - return this.getToken(TSqlParser.CREATION_DISPOSITION, 0); -}; - -Key_optionsContext.prototype.CREATE_NEW = function() { - return this.getToken(TSqlParser.CREATE_NEW, 0); -}; - -Key_optionsContext.prototype.OPEN_EXISTING = function() { - return this.getToken(TSqlParser.OPEN_EXISTING, 0); -}; - -Key_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterKey_options(this); - } -}; - -Key_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitKey_options(this); - } -}; - -Key_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitKey_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Key_optionsContext = Key_optionsContext; - -TSqlParser.prototype.key_options = function() { - - var localctx = new Key_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 656, TSqlParser.RULE_key_options); - var _la = 0; // Token type - try { - this.state = 8232; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.KEY_SOURCE: - this.enterOuterAlt(localctx, 1); - this.state = 8217; - this.match(TSqlParser.KEY_SOURCE); - this.state = 8218; - this.match(TSqlParser.EQUAL); - this.state = 8219; - localctx.pass_phrase = this.match(TSqlParser.STRING); - break; - case TSqlParser.ALGORITHM: - this.enterOuterAlt(localctx, 2); - this.state = 8220; - this.match(TSqlParser.ALGORITHM); - this.state = 8221; - this.match(TSqlParser.EQUAL); - this.state = 8222; - this.algorithm(); - break; - case TSqlParser.IDENTITY_VALUE: - this.enterOuterAlt(localctx, 3); - this.state = 8223; - this.match(TSqlParser.IDENTITY_VALUE); - this.state = 8224; - this.match(TSqlParser.EQUAL); - this.state = 8225; - localctx.identity_phrase = this.match(TSqlParser.STRING); - break; - case TSqlParser.PROVIDER_KEY_NAME: - this.enterOuterAlt(localctx, 4); - this.state = 8226; - this.match(TSqlParser.PROVIDER_KEY_NAME); - this.state = 8227; - this.match(TSqlParser.EQUAL); - this.state = 8228; - localctx.key_name_in_provider = this.match(TSqlParser.STRING); - break; - case TSqlParser.CREATION_DISPOSITION: - this.enterOuterAlt(localctx, 5); - this.state = 8229; - this.match(TSqlParser.CREATION_DISPOSITION); - this.state = 8230; - this.match(TSqlParser.EQUAL); - this.state = 8231; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CREATE_NEW || _la===TSqlParser.OPEN_EXISTING)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function AlgorithmContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_algorithm; - return this; -} - -AlgorithmContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AlgorithmContext.prototype.constructor = AlgorithmContext; - -AlgorithmContext.prototype.DES = function() { - return this.getToken(TSqlParser.DES, 0); -}; - -AlgorithmContext.prototype.TRIPLE_DES = function() { - return this.getToken(TSqlParser.TRIPLE_DES, 0); -}; - -AlgorithmContext.prototype.TRIPLE_DES_3KEY = function() { - return this.getToken(TSqlParser.TRIPLE_DES_3KEY, 0); -}; - -AlgorithmContext.prototype.RC2 = function() { - return this.getToken(TSqlParser.RC2, 0); -}; - -AlgorithmContext.prototype.RC4 = function() { - return this.getToken(TSqlParser.RC4, 0); -}; - -AlgorithmContext.prototype.RC4_128 = function() { - return this.getToken(TSqlParser.RC4_128, 0); -}; - -AlgorithmContext.prototype.DESX = function() { - return this.getToken(TSqlParser.DESX, 0); -}; - -AlgorithmContext.prototype.AES_128 = function() { - return this.getToken(TSqlParser.AES_128, 0); -}; - -AlgorithmContext.prototype.AES_192 = function() { - return this.getToken(TSqlParser.AES_192, 0); -}; - -AlgorithmContext.prototype.AES_256 = function() { - return this.getToken(TSqlParser.AES_256, 0); -}; - -AlgorithmContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAlgorithm(this); - } -}; - -AlgorithmContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAlgorithm(this); - } -}; - -AlgorithmContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAlgorithm(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.AlgorithmContext = AlgorithmContext; - -TSqlParser.prototype.algorithm = function() { - - var localctx = new AlgorithmContext(this, this._ctx, this.state); - this.enterRule(localctx, 658, TSqlParser.RULE_algorithm); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8234; - _la = this._input.LA(1); - if(!(((((_la - 386)) & ~0x1f) == 0 && ((1 << (_la - 386)) & ((1 << (TSqlParser.AES_128 - 386)) | (1 << (TSqlParser.AES_192 - 386)) | (1 << (TSqlParser.AES_256 - 386)))) !== 0) || _la===TSqlParser.DES || _la===TSqlParser.DESX || ((((_la - 663)) & ~0x1f) == 0 && ((1 << (_la - 663)) & ((1 << (TSqlParser.RC2 - 663)) | (1 << (TSqlParser.RC4 - 663)) | (1 << (TSqlParser.RC4_128 - 663)))) !== 0) || _la===TSqlParser.TRIPLE_DES || _la===TSqlParser.TRIPLE_DES_3KEY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Encryption_mechanismContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_encryption_mechanism; - this.certificate_name = null; // IdContext - this.asym_key_name = null; // IdContext - this.decrypting_Key_name = null; // IdContext - return this; -} - -Encryption_mechanismContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Encryption_mechanismContext.prototype.constructor = Encryption_mechanismContext; - -Encryption_mechanismContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Encryption_mechanismContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Encryption_mechanismContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Encryption_mechanismContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Encryption_mechanismContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Encryption_mechanismContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Encryption_mechanismContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Encryption_mechanismContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Encryption_mechanismContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEncryption_mechanism(this); - } -}; - -Encryption_mechanismContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEncryption_mechanism(this); - } -}; - -Encryption_mechanismContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEncryption_mechanism(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Encryption_mechanismContext = Encryption_mechanismContext; - -TSqlParser.prototype.encryption_mechanism = function() { - - var localctx = new Encryption_mechanismContext(this, this._ctx, this.state); - this.enterRule(localctx, 660, TSqlParser.RULE_encryption_mechanism); - try { - this.state = 8247; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CERTIFICATE: - this.enterOuterAlt(localctx, 1); - this.state = 8236; - this.match(TSqlParser.CERTIFICATE); - this.state = 8237; - localctx.certificate_name = this.id(); - break; - case TSqlParser.ASYMMETRIC: - this.enterOuterAlt(localctx, 2); - this.state = 8238; - this.match(TSqlParser.ASYMMETRIC); - this.state = 8239; - this.match(TSqlParser.KEY); - this.state = 8240; - localctx.asym_key_name = this.id(); - break; - case TSqlParser.SYMMETRIC: - this.enterOuterAlt(localctx, 3); - this.state = 8241; - this.match(TSqlParser.SYMMETRIC); - this.state = 8242; - this.match(TSqlParser.KEY); - this.state = 8243; - localctx.decrypting_Key_name = this.id(); - break; - case TSqlParser.PASSWORD: - this.enterOuterAlt(localctx, 4); - this.state = 8244; - this.match(TSqlParser.PASSWORD); - this.state = 8245; - this.match(TSqlParser.EQUAL); - this.state = 8246; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Decryption_mechanismContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_decryption_mechanism; - this.certificate_name = null; // IdContext - this.asym_key_name = null; // IdContext - this.decrypting_Key_name = null; // IdContext - return this; -} - -Decryption_mechanismContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Decryption_mechanismContext.prototype.constructor = Decryption_mechanismContext; - -Decryption_mechanismContext.prototype.CERTIFICATE = function() { - return this.getToken(TSqlParser.CERTIFICATE, 0); -}; - -Decryption_mechanismContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Decryption_mechanismContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Decryption_mechanismContext.prototype.PASSWORD = function() { - return this.getToken(TSqlParser.PASSWORD, 0); -}; - -Decryption_mechanismContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Decryption_mechanismContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Decryption_mechanismContext.prototype.ASYMMETRIC = function() { - return this.getToken(TSqlParser.ASYMMETRIC, 0); -}; - -Decryption_mechanismContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Decryption_mechanismContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Decryption_mechanismContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDecryption_mechanism(this); - } -}; - -Decryption_mechanismContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDecryption_mechanism(this); - } -}; - -Decryption_mechanismContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDecryption_mechanism(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Decryption_mechanismContext = Decryption_mechanismContext; - -TSqlParser.prototype.decryption_mechanism = function() { - - var localctx = new Decryption_mechanismContext(this, this._ctx, this.state); - this.enterRule(localctx, 662, TSqlParser.RULE_decryption_mechanism); - try { - this.state = 8272; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CERTIFICATE: - this.enterOuterAlt(localctx, 1); - this.state = 8249; - this.match(TSqlParser.CERTIFICATE); - this.state = 8250; - localctx.certificate_name = this.id(); - this.state = 8255; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1146,this._ctx); - if(la_===1) { - this.state = 8251; - this.match(TSqlParser.WITH); - this.state = 8252; - this.match(TSqlParser.PASSWORD); - this.state = 8253; - this.match(TSqlParser.EQUAL); - this.state = 8254; - this.match(TSqlParser.STRING); - - } - break; - case TSqlParser.ASYMMETRIC: - this.enterOuterAlt(localctx, 2); - this.state = 8257; - this.match(TSqlParser.ASYMMETRIC); - this.state = 8258; - this.match(TSqlParser.KEY); - this.state = 8259; - localctx.asym_key_name = this.id(); - this.state = 8264; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1147,this._ctx); - if(la_===1) { - this.state = 8260; - this.match(TSqlParser.WITH); - this.state = 8261; - this.match(TSqlParser.PASSWORD); - this.state = 8262; - this.match(TSqlParser.EQUAL); - this.state = 8263; - this.match(TSqlParser.STRING); - - } - break; - case TSqlParser.SYMMETRIC: - this.enterOuterAlt(localctx, 3); - this.state = 8266; - this.match(TSqlParser.SYMMETRIC); - this.state = 8267; - this.match(TSqlParser.KEY); - this.state = 8268; - localctx.decrypting_Key_name = this.id(); - break; - case TSqlParser.PASSWORD: - this.enterOuterAlt(localctx, 4); - this.state = 8269; - this.match(TSqlParser.PASSWORD); - this.state = 8270; - this.match(TSqlParser.EQUAL); - this.state = 8271; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Grant_permissionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_grant_permission; - return this; -} - -Grant_permissionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Grant_permissionContext.prototype.constructor = Grant_permissionContext; - -Grant_permissionContext.prototype.EXECUTE = function() { - return this.getToken(TSqlParser.EXECUTE, 0); -}; - -Grant_permissionContext.prototype.VIEW = function() { - return this.getToken(TSqlParser.VIEW, 0); -}; - -Grant_permissionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Grant_permissionContext.prototype.TAKE = function() { - return this.getToken(TSqlParser.TAKE, 0); -}; - -Grant_permissionContext.prototype.CONTROL = function() { - return this.getToken(TSqlParser.CONTROL, 0); -}; - -Grant_permissionContext.prototype.CREATE = function() { - return this.getToken(TSqlParser.CREATE, 0); -}; - -Grant_permissionContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Grant_permissionContext.prototype.SHOWPLAN = function() { - return this.getToken(TSqlParser.SHOWPLAN, 0); -}; - -Grant_permissionContext.prototype.IMPERSONATE = function() { - return this.getToken(TSqlParser.IMPERSONATE, 0); -}; - -Grant_permissionContext.prototype.SELECT = function() { - return this.getToken(TSqlParser.SELECT, 0); -}; - -Grant_permissionContext.prototype.REFERENCES = function() { - return this.getToken(TSqlParser.REFERENCES, 0); -}; - -Grant_permissionContext.prototype.INSERT = function() { - return this.getToken(TSqlParser.INSERT, 0); -}; - -Grant_permissionContext.prototype.ALTER = function() { - return this.getToken(TSqlParser.ALTER, 0); -}; - -Grant_permissionContext.prototype.DATABASE = function() { - return this.getToken(TSqlParser.DATABASE, 0); -}; - -Grant_permissionContext.prototype.ANY = function() { - return this.getToken(TSqlParser.ANY, 0); -}; - -Grant_permissionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterGrant_permission(this); - } -}; - -Grant_permissionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitGrant_permission(this); - } -}; - -Grant_permissionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitGrant_permission(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Grant_permissionContext = Grant_permissionContext; - -TSqlParser.prototype.grant_permission = function() { - - var localctx = new Grant_permissionContext(this, this._ctx, this.state); - this.enterRule(localctx, 664, TSqlParser.RULE_grant_permission); - var _la = 0; // Token type - try { - this.state = 8300; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.EXECUTE: - this.enterOuterAlt(localctx, 1); - this.state = 8274; - this.match(TSqlParser.EXECUTE); - break; - case TSqlParser.VIEW: - this.enterOuterAlt(localctx, 2); - this.state = 8275; - this.match(TSqlParser.VIEW); - this.state = 8276; - this.id(); - break; - case TSqlParser.TAKE: - this.enterOuterAlt(localctx, 3); - this.state = 8277; - this.match(TSqlParser.TAKE); - this.state = 8278; - this.id(); - break; - case TSqlParser.CONTROL: - this.enterOuterAlt(localctx, 4); - this.state = 8279; - this.match(TSqlParser.CONTROL); - this.state = 8281; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 8280; - this.id(); - } - - break; - case TSqlParser.CREATE: - this.enterOuterAlt(localctx, 5); - this.state = 8283; - this.match(TSqlParser.CREATE); - this.state = 8284; - _la = this._input.LA(1); - if(!(_la===TSqlParser.TABLE || _la===TSqlParser.VIEW)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.SHOWPLAN: - this.enterOuterAlt(localctx, 6); - this.state = 8285; - this.match(TSqlParser.SHOWPLAN); - break; - case TSqlParser.IMPERSONATE: - this.enterOuterAlt(localctx, 7); - this.state = 8286; - this.match(TSqlParser.IMPERSONATE); - break; - case TSqlParser.SELECT: - this.enterOuterAlt(localctx, 8); - this.state = 8287; - this.match(TSqlParser.SELECT); - break; - case TSqlParser.REFERENCES: - this.enterOuterAlt(localctx, 9); - this.state = 8288; - this.match(TSqlParser.REFERENCES); - break; - case TSqlParser.INSERT: - this.enterOuterAlt(localctx, 10); - this.state = 8289; - this.match(TSqlParser.INSERT); - break; - case TSqlParser.ALTER: - this.enterOuterAlt(localctx, 11); - this.state = 8290; - this.match(TSqlParser.ALTER); - this.state = 8298; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ANY || _la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || _la===TSqlParser.DATABASE || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 8292; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ANY) { - this.state = 8291; - this.match(TSqlParser.ANY); - } - - this.state = 8296; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 8294; - this.id(); - break; - case TSqlParser.DATABASE: - this.state = 8295; - this.match(TSqlParser.DATABASE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Set_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_set_statement; - this.member_name = null; // IdContext - return this; -} - -Set_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Set_statementContext.prototype.constructor = Set_statementContext; - -Set_statementContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Set_statementContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Set_statementContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Set_statementContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Set_statementContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Set_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Set_statementContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Set_statementContext.prototype.assignment_operator = function() { - return this.getTypedRuleContext(Assignment_operatorContext,0); -}; - -Set_statementContext.prototype.CURSOR = function() { - return this.getToken(TSqlParser.CURSOR, 0); -}; - -Set_statementContext.prototype.declare_set_cursor_common = function() { - return this.getTypedRuleContext(Declare_set_cursor_commonContext,0); -}; - -Set_statementContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Set_statementContext.prototype.READ = function() { - return this.getToken(TSqlParser.READ, 0); -}; - -Set_statementContext.prototype.ONLY = function() { - return this.getToken(TSqlParser.ONLY, 0); -}; - -Set_statementContext.prototype.UPDATE = function() { - return this.getToken(TSqlParser.UPDATE, 0); -}; - -Set_statementContext.prototype.OF = function() { - return this.getToken(TSqlParser.OF, 0); -}; - -Set_statementContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Set_statementContext.prototype.set_special = function() { - return this.getTypedRuleContext(Set_specialContext,0); -}; - -Set_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSet_statement(this); - } -}; - -Set_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSet_statement(this); - } -}; - -Set_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSet_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Set_statementContext = Set_statementContext; - -TSqlParser.prototype.set_statement = function() { - - var localctx = new Set_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 666, TSqlParser.RULE_set_statement); - var _la = 0; // Token type - try { - this.state = 8341; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1161,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8302; - this.match(TSqlParser.SET); - this.state = 8303; - this.match(TSqlParser.LOCAL_ID); - this.state = 8306; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.DOT) { - this.state = 8304; - this.match(TSqlParser.DOT); - this.state = 8305; - localctx.member_name = this.id(); - } - - this.state = 8308; - this.match(TSqlParser.EQUAL); - this.state = 8309; - this.expression(0); - this.state = 8311; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1155,this._ctx); - if(la_===1) { - this.state = 8310; - this.match(TSqlParser.SEMI); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8313; - this.match(TSqlParser.SET); - this.state = 8314; - this.match(TSqlParser.LOCAL_ID); - this.state = 8315; - this.assignment_operator(); - this.state = 8316; - this.expression(0); - this.state = 8318; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1156,this._ctx); - if(la_===1) { - this.state = 8317; - this.match(TSqlParser.SEMI); - - } - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 8320; - this.match(TSqlParser.SET); - this.state = 8321; - this.match(TSqlParser.LOCAL_ID); - this.state = 8322; - this.match(TSqlParser.EQUAL); - this.state = 8323; - this.match(TSqlParser.CURSOR); - this.state = 8324; - this.declare_set_cursor_common(); - this.state = 8335; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 8325; - this.match(TSqlParser.FOR); - this.state = 8333; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.READ: - this.state = 8326; - this.match(TSqlParser.READ); - this.state = 8327; - this.match(TSqlParser.ONLY); - break; - case TSqlParser.UPDATE: - this.state = 8328; - this.match(TSqlParser.UPDATE); - this.state = 8331; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OF) { - this.state = 8329; - this.match(TSqlParser.OF); - this.state = 8330; - this.column_name_list(); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - this.state = 8338; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1160,this._ctx); - if(la_===1) { - this.state = 8337; - this.match(TSqlParser.SEMI); - - } - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 8340; - this.set_special(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Transaction_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_transaction_statement; - return this; -} - -Transaction_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Transaction_statementContext.prototype.constructor = Transaction_statementContext; - -Transaction_statementContext.prototype.BEGIN = function() { - return this.getToken(TSqlParser.BEGIN, 0); -}; - -Transaction_statementContext.prototype.DISTRIBUTED = function() { - return this.getToken(TSqlParser.DISTRIBUTED, 0); -}; - -Transaction_statementContext.prototype.TRAN = function() { - return this.getToken(TSqlParser.TRAN, 0); -}; - -Transaction_statementContext.prototype.TRANSACTION = function() { - return this.getToken(TSqlParser.TRANSACTION, 0); -}; - -Transaction_statementContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Transaction_statementContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Transaction_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Transaction_statementContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Transaction_statementContext.prototype.MARK = function() { - return this.getToken(TSqlParser.MARK, 0); -}; - -Transaction_statementContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Transaction_statementContext.prototype.COMMIT = function() { - return this.getToken(TSqlParser.COMMIT, 0); -}; - -Transaction_statementContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Transaction_statementContext.prototype.DELAYED_DURABILITY = function() { - return this.getToken(TSqlParser.DELAYED_DURABILITY, 0); -}; - -Transaction_statementContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Transaction_statementContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Transaction_statementContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Transaction_statementContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Transaction_statementContext.prototype.WORK = function() { - return this.getToken(TSqlParser.WORK, 0); -}; - -Transaction_statementContext.prototype.ROLLBACK = function() { - return this.getToken(TSqlParser.ROLLBACK, 0); -}; - -Transaction_statementContext.prototype.SAVE = function() { - return this.getToken(TSqlParser.SAVE, 0); -}; - -Transaction_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTransaction_statement(this); - } -}; - -Transaction_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTransaction_statement(this); - } -}; - -Transaction_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTransaction_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Transaction_statementContext = Transaction_statementContext; - -TSqlParser.prototype.transaction_statement = function() { - - var localctx = new Transaction_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 668, TSqlParser.RULE_transaction_statement); - var _la = 0; // Token type - try { - this.state = 8424; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1180,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8343; - this.match(TSqlParser.BEGIN); - this.state = 8344; - this.match(TSqlParser.DISTRIBUTED); - this.state = 8345; - _la = this._input.LA(1); - if(!(_la===TSqlParser.TRAN || _la===TSqlParser.TRANSACTION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8348; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1162,this._ctx); - if(la_===1) { - this.state = 8346; - this.id(); - - } else if(la_===2) { - this.state = 8347; - this.match(TSqlParser.LOCAL_ID); - - } - this.state = 8351; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1163,this._ctx); - if(la_===1) { - this.state = 8350; - this.match(TSqlParser.SEMI); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8353; - this.match(TSqlParser.BEGIN); - this.state = 8354; - _la = this._input.LA(1); - if(!(_la===TSqlParser.TRAN || _la===TSqlParser.TRANSACTION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8364; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1166,this._ctx); - if(la_===1) { - this.state = 8357; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 8355; - this.id(); - break; - case TSqlParser.LOCAL_ID: - this.state = 8356; - this.match(TSqlParser.LOCAL_ID); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8362; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1165,this._ctx); - if(la_===1) { - this.state = 8359; - this.match(TSqlParser.WITH); - this.state = 8360; - this.match(TSqlParser.MARK); - this.state = 8361; - this.match(TSqlParser.STRING); - - } - - } - this.state = 8367; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1167,this._ctx); - if(la_===1) { - this.state = 8366; - this.match(TSqlParser.SEMI); - - } - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 8369; - this.match(TSqlParser.COMMIT); - this.state = 8370; - _la = this._input.LA(1); - if(!(_la===TSqlParser.TRAN || _la===TSqlParser.TRANSACTION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8383; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1170,this._ctx); - if(la_===1) { - this.state = 8373; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 8371; - this.id(); - break; - case TSqlParser.LOCAL_ID: - this.state = 8372; - this.match(TSqlParser.LOCAL_ID); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8381; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1169,this._ctx); - if(la_===1) { - this.state = 8375; - this.match(TSqlParser.WITH); - this.state = 8376; - this.match(TSqlParser.LR_BRACKET); - this.state = 8377; - this.match(TSqlParser.DELAYED_DURABILITY); - this.state = 8378; - this.match(TSqlParser.EQUAL); - this.state = 8379; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8380; - this.match(TSqlParser.RR_BRACKET); - - } - - } - this.state = 8386; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1171,this._ctx); - if(la_===1) { - this.state = 8385; - this.match(TSqlParser.SEMI); - - } - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 8388; - this.match(TSqlParser.COMMIT); - this.state = 8390; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1172,this._ctx); - if(la_===1) { - this.state = 8389; - this.match(TSqlParser.WORK); - - } - this.state = 8393; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1173,this._ctx); - if(la_===1) { - this.state = 8392; - this.match(TSqlParser.SEMI); - - } - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 8395; - this.match(TSqlParser.COMMIT); - this.state = 8396; - this.id(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 8397; - this.match(TSqlParser.ROLLBACK); - this.state = 8398; - this.id(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 8399; - this.match(TSqlParser.ROLLBACK); - this.state = 8400; - _la = this._input.LA(1); - if(!(_la===TSqlParser.TRAN || _la===TSqlParser.TRANSACTION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8403; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1174,this._ctx); - if(la_===1) { - this.state = 8401; - this.id(); - - } else if(la_===2) { - this.state = 8402; - this.match(TSqlParser.LOCAL_ID); - - } - this.state = 8406; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1175,this._ctx); - if(la_===1) { - this.state = 8405; - this.match(TSqlParser.SEMI); - - } - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 8408; - this.match(TSqlParser.ROLLBACK); - this.state = 8410; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1176,this._ctx); - if(la_===1) { - this.state = 8409; - this.match(TSqlParser.WORK); - - } - this.state = 8413; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1177,this._ctx); - if(la_===1) { - this.state = 8412; - this.match(TSqlParser.SEMI); - - } - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 8415; - this.match(TSqlParser.SAVE); - this.state = 8416; - _la = this._input.LA(1); - if(!(_la===TSqlParser.TRAN || _la===TSqlParser.TRANSACTION)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8419; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1178,this._ctx); - if(la_===1) { - this.state = 8417; - this.id(); - - } else if(la_===2) { - this.state = 8418; - this.match(TSqlParser.LOCAL_ID); - - } - this.state = 8422; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1179,this._ctx); - if(la_===1) { - this.state = 8421; - this.match(TSqlParser.SEMI); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Go_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_go_statement; - this.count = null; // Token - return this; -} - -Go_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Go_statementContext.prototype.constructor = Go_statementContext; - -Go_statementContext.prototype.GO = function() { - return this.getToken(TSqlParser.GO, 0); -}; - -Go_statementContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Go_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterGo_statement(this); - } -}; - -Go_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitGo_statement(this); - } -}; - -Go_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitGo_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Go_statementContext = Go_statementContext; - -TSqlParser.prototype.go_statement = function() { - - var localctx = new Go_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 670, TSqlParser.RULE_go_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8426; - this.match(TSqlParser.GO); - this.state = 8428; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1181,this._ctx); - if(la_===1) { - this.state = 8427; - localctx.count = this.match(TSqlParser.DECIMAL); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Use_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_use_statement; - this.database = null; // IdContext - return this; -} - -Use_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Use_statementContext.prototype.constructor = Use_statementContext; - -Use_statementContext.prototype.USE = function() { - return this.getToken(TSqlParser.USE, 0); -}; - -Use_statementContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Use_statementContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Use_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterUse_statement(this); - } -}; - -Use_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitUse_statement(this); - } -}; - -Use_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitUse_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Use_statementContext = Use_statementContext; - -TSqlParser.prototype.use_statement = function() { - - var localctx = new Use_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 672, TSqlParser.RULE_use_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8430; - this.match(TSqlParser.USE); - this.state = 8431; - localctx.database = this.id(); - this.state = 8433; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1182,this._ctx); - if(la_===1) { - this.state = 8432; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Setuser_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_setuser_statement; - this.user = null; // Token - return this; -} - -Setuser_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Setuser_statementContext.prototype.constructor = Setuser_statementContext; - -Setuser_statementContext.prototype.SETUSER = function() { - return this.getToken(TSqlParser.SETUSER, 0); -}; - -Setuser_statementContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Setuser_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSetuser_statement(this); - } -}; - -Setuser_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSetuser_statement(this); - } -}; - -Setuser_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSetuser_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Setuser_statementContext = Setuser_statementContext; - -TSqlParser.prototype.setuser_statement = function() { - - var localctx = new Setuser_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 674, TSqlParser.RULE_setuser_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8435; - this.match(TSqlParser.SETUSER); - this.state = 8437; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1183,this._ctx); - if(la_===1) { - this.state = 8436; - localctx.user = this.match(TSqlParser.STRING); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Reconfigure_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_reconfigure_statement; - return this; -} - -Reconfigure_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Reconfigure_statementContext.prototype.constructor = Reconfigure_statementContext; - -Reconfigure_statementContext.prototype.RECONFIGURE = function() { - return this.getToken(TSqlParser.RECONFIGURE, 0); -}; - -Reconfigure_statementContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Reconfigure_statementContext.prototype.OVERRIDE = function() { - return this.getToken(TSqlParser.OVERRIDE, 0); -}; - -Reconfigure_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterReconfigure_statement(this); - } -}; - -Reconfigure_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitReconfigure_statement(this); - } -}; - -Reconfigure_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitReconfigure_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Reconfigure_statementContext = Reconfigure_statementContext; - -TSqlParser.prototype.reconfigure_statement = function() { - - var localctx = new Reconfigure_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 676, TSqlParser.RULE_reconfigure_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8439; - this.match(TSqlParser.RECONFIGURE); - this.state = 8442; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1184,this._ctx); - if(la_===1) { - this.state = 8440; - this.match(TSqlParser.WITH); - this.state = 8441; - this.match(TSqlParser.OVERRIDE); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Shutdown_statementContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_shutdown_statement; - return this; -} - -Shutdown_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Shutdown_statementContext.prototype.constructor = Shutdown_statementContext; - -Shutdown_statementContext.prototype.SHUTDOWN = function() { - return this.getToken(TSqlParser.SHUTDOWN, 0); -}; - -Shutdown_statementContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Shutdown_statementContext.prototype.NOWAIT = function() { - return this.getToken(TSqlParser.NOWAIT, 0); -}; - -Shutdown_statementContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterShutdown_statement(this); - } -}; - -Shutdown_statementContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitShutdown_statement(this); - } -}; - -Shutdown_statementContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitShutdown_statement(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Shutdown_statementContext = Shutdown_statementContext; - -TSqlParser.prototype.shutdown_statement = function() { - - var localctx = new Shutdown_statementContext(this, this._ctx, this.state); - this.enterRule(localctx, 678, TSqlParser.RULE_shutdown_statement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8444; - this.match(TSqlParser.SHUTDOWN); - this.state = 8447; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1185,this._ctx); - if(la_===1) { - this.state = 8445; - this.match(TSqlParser.WITH); - this.state = 8446; - this.match(TSqlParser.NOWAIT); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Dbcc_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_dbcc_clause; - this.name = null; // Simple_idContext - return this; -} - -Dbcc_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Dbcc_clauseContext.prototype.constructor = Dbcc_clauseContext; - -Dbcc_clauseContext.prototype.DBCC = function() { - return this.getToken(TSqlParser.DBCC, 0); -}; - -Dbcc_clauseContext.prototype.simple_id = function() { - return this.getTypedRuleContext(Simple_idContext,0); -}; - -Dbcc_clauseContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Dbcc_clauseContext.prototype.expression_list = function() { - return this.getTypedRuleContext(Expression_listContext,0); -}; - -Dbcc_clauseContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Dbcc_clauseContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Dbcc_clauseContext.prototype.dbcc_options = function() { - return this.getTypedRuleContext(Dbcc_optionsContext,0); -}; - -Dbcc_clauseContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Dbcc_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDbcc_clause(this); - } -}; - -Dbcc_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDbcc_clause(this); - } -}; - -Dbcc_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDbcc_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Dbcc_clauseContext = Dbcc_clauseContext; - -TSqlParser.prototype.dbcc_clause = function() { - - var localctx = new Dbcc_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 680, TSqlParser.RULE_dbcc_clause); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8449; - this.match(TSqlParser.DBCC); - this.state = 8450; - localctx.name = this.simple_id(); - this.state = 8455; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1186,this._ctx); - if(la_===1) { - this.state = 8451; - this.match(TSqlParser.LR_BRACKET); - this.state = 8452; - this.expression_list(); - this.state = 8453; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 8459; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1187,this._ctx); - if(la_===1) { - this.state = 8457; - this.match(TSqlParser.WITH); - this.state = 8458; - this.dbcc_options(); - - } - this.state = 8462; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1188,this._ctx); - if(la_===1) { - this.state = 8461; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Dbcc_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_dbcc_options; - return this; -} - -Dbcc_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Dbcc_optionsContext.prototype.constructor = Dbcc_optionsContext; - -Dbcc_optionsContext.prototype.simple_id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Simple_idContext); - } else { - return this.getTypedRuleContext(Simple_idContext,i); - } -}; - -Dbcc_optionsContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Dbcc_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDbcc_options(this); - } -}; - -Dbcc_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDbcc_options(this); - } -}; - -Dbcc_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDbcc_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Dbcc_optionsContext = Dbcc_optionsContext; - -TSqlParser.prototype.dbcc_options = function() { - - var localctx = new Dbcc_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 682, TSqlParser.RULE_dbcc_options); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8464; - this.simple_id(); - this.state = 8467; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 8465; - this.match(TSqlParser.COMMA); - this.state = 8466; - this.simple_id(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Execute_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_execute_clause; - this.clause = null; // Token - return this; -} - -Execute_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Execute_clauseContext.prototype.constructor = Execute_clauseContext; - -Execute_clauseContext.prototype.EXECUTE = function() { - return this.getToken(TSqlParser.EXECUTE, 0); -}; - -Execute_clauseContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Execute_clauseContext.prototype.CALLER = function() { - return this.getToken(TSqlParser.CALLER, 0); -}; - -Execute_clauseContext.prototype.SELF = function() { - return this.getToken(TSqlParser.SELF, 0); -}; - -Execute_clauseContext.prototype.OWNER = function() { - return this.getToken(TSqlParser.OWNER, 0); -}; - -Execute_clauseContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Execute_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExecute_clause(this); - } -}; - -Execute_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExecute_clause(this); - } -}; - -Execute_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExecute_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Execute_clauseContext = Execute_clauseContext; - -TSqlParser.prototype.execute_clause = function() { - - var localctx = new Execute_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 684, TSqlParser.RULE_execute_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8469; - this.match(TSqlParser.EXECUTE); - this.state = 8470; - this.match(TSqlParser.AS); - this.state = 8471; - localctx.clause = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.CALLER || _la===TSqlParser.OWNER || _la===TSqlParser.SELF || _la===TSqlParser.STRING)) { - localctx.clause = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Declare_localContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_declare_local; - return this; -} - -Declare_localContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Declare_localContext.prototype.constructor = Declare_localContext; - -Declare_localContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Declare_localContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -Declare_localContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Declare_localContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Declare_localContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Declare_localContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDeclare_local(this); - } -}; - -Declare_localContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDeclare_local(this); - } -}; - -Declare_localContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDeclare_local(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Declare_localContext = Declare_localContext; - -TSqlParser.prototype.declare_local = function() { - - var localctx = new Declare_localContext(this, this._ctx, this.state); - this.enterRule(localctx, 686, TSqlParser.RULE_declare_local); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8473; - this.match(TSqlParser.LOCAL_ID); - this.state = 8475; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 8474; - this.match(TSqlParser.AS); - } - - this.state = 8477; - this.data_type(); - this.state = 8480; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.EQUAL) { - this.state = 8478; - this.match(TSqlParser.EQUAL); - this.state = 8479; - this.expression(0); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_type_definitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_type_definition; - return this; -} - -Table_type_definitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_type_definitionContext.prototype.constructor = Table_type_definitionContext; - -Table_type_definitionContext.prototype.TABLE = function() { - return this.getToken(TSqlParser.TABLE, 0); -}; - -Table_type_definitionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Table_type_definitionContext.prototype.column_def_table_constraints = function() { - return this.getTypedRuleContext(Column_def_table_constraintsContext,0); -}; - -Table_type_definitionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Table_type_definitionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_type_definition(this); - } -}; - -Table_type_definitionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_type_definition(this); - } -}; - -Table_type_definitionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_type_definition(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_type_definitionContext = Table_type_definitionContext; - -TSqlParser.prototype.table_type_definition = function() { - - var localctx = new Table_type_definitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 688, TSqlParser.RULE_table_type_definition); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8482; - this.match(TSqlParser.TABLE); - this.state = 8483; - this.match(TSqlParser.LR_BRACKET); - this.state = 8484; - this.column_def_table_constraints(); - this.state = 8485; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Xml_type_definitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_xml_type_definition; - return this; -} - -Xml_type_definitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Xml_type_definitionContext.prototype.constructor = Xml_type_definitionContext; - -Xml_type_definitionContext.prototype.XML = function() { - return this.getToken(TSqlParser.XML, 0); -}; - -Xml_type_definitionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Xml_type_definitionContext.prototype.xml_schema_collection = function() { - return this.getTypedRuleContext(Xml_schema_collectionContext,0); -}; - -Xml_type_definitionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Xml_type_definitionContext.prototype.CONTENT = function() { - return this.getToken(TSqlParser.CONTENT, 0); -}; - -Xml_type_definitionContext.prototype.DOCUMENT = function() { - return this.getToken(TSqlParser.DOCUMENT, 0); -}; - -Xml_type_definitionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterXml_type_definition(this); - } -}; - -Xml_type_definitionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitXml_type_definition(this); - } -}; - -Xml_type_definitionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitXml_type_definition(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Xml_type_definitionContext = Xml_type_definitionContext; - -TSqlParser.prototype.xml_type_definition = function() { - - var localctx = new Xml_type_definitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 690, TSqlParser.RULE_xml_type_definition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8487; - this.match(TSqlParser.XML); - this.state = 8488; - this.match(TSqlParser.LR_BRACKET); - this.state = 8490; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONTENT || _la===TSqlParser.DOCUMENT) { - this.state = 8489; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CONTENT || _la===TSqlParser.DOCUMENT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 8492; - this.xml_schema_collection(); - this.state = 8493; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Xml_schema_collectionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_xml_schema_collection; - return this; -} - -Xml_schema_collectionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Xml_schema_collectionContext.prototype.constructor = Xml_schema_collectionContext; - -Xml_schema_collectionContext.prototype.ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ID); - } else { - return this.getToken(TSqlParser.ID, i); - } -}; - - -Xml_schema_collectionContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Xml_schema_collectionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterXml_schema_collection(this); - } -}; - -Xml_schema_collectionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitXml_schema_collection(this); - } -}; - -Xml_schema_collectionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitXml_schema_collection(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Xml_schema_collectionContext = Xml_schema_collectionContext; - -TSqlParser.prototype.xml_schema_collection = function() { - - var localctx = new Xml_schema_collectionContext(this, this._ctx, this.state); - this.enterRule(localctx, 692, TSqlParser.RULE_xml_schema_collection); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8495; - this.match(TSqlParser.ID); - this.state = 8496; - this.match(TSqlParser.DOT); - this.state = 8497; - this.match(TSqlParser.ID); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_def_table_constraintsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_def_table_constraints; - return this; -} - -Column_def_table_constraintsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_def_table_constraintsContext.prototype.constructor = Column_def_table_constraintsContext; - -Column_def_table_constraintsContext.prototype.column_def_table_constraint = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Column_def_table_constraintContext); - } else { - return this.getTypedRuleContext(Column_def_table_constraintContext,i); - } -}; - -Column_def_table_constraintsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Column_def_table_constraintsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_def_table_constraints(this); - } -}; - -Column_def_table_constraintsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_def_table_constraints(this); - } -}; - -Column_def_table_constraintsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_def_table_constraints(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_def_table_constraintsContext = Column_def_table_constraintsContext; - -TSqlParser.prototype.column_def_table_constraints = function() { - - var localctx = new Column_def_table_constraintsContext(this, this._ctx, this.state); - this.enterRule(localctx, 694, TSqlParser.RULE_column_def_table_constraints); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8499; - this.column_def_table_constraint(); - this.state = 8506; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1194,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 8501; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 8500; - this.match(TSqlParser.COMMA); - } - - this.state = 8503; - this.column_def_table_constraint(); - } - this.state = 8508; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1194,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_def_table_constraintContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_def_table_constraint; - return this; -} - -Column_def_table_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_def_table_constraintContext.prototype.constructor = Column_def_table_constraintContext; - -Column_def_table_constraintContext.prototype.column_definition = function() { - return this.getTypedRuleContext(Column_definitionContext,0); -}; - -Column_def_table_constraintContext.prototype.materialized_column_definition = function() { - return this.getTypedRuleContext(Materialized_column_definitionContext,0); -}; - -Column_def_table_constraintContext.prototype.table_constraint = function() { - return this.getTypedRuleContext(Table_constraintContext,0); -}; - -Column_def_table_constraintContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_def_table_constraint(this); - } -}; - -Column_def_table_constraintContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_def_table_constraint(this); - } -}; - -Column_def_table_constraintContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_def_table_constraint(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_def_table_constraintContext = Column_def_table_constraintContext; - -TSqlParser.prototype.column_def_table_constraint = function() { - - var localctx = new Column_def_table_constraintContext(this, this._ctx, this.state); - this.enterRule(localctx, 696, TSqlParser.RULE_column_def_table_constraint); - try { - this.state = 8512; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1195,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8509; - this.column_definition(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8510; - this.materialized_column_definition(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 8511; - this.table_constraint(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_definitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_definition; - this.constraint = null; // IdContext - this.seed = null; // Token - this.increment = null; // Token - return this; -} - -Column_definitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_definitionContext.prototype.constructor = Column_definitionContext; - -Column_definitionContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Column_definitionContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -Column_definitionContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Column_definitionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Column_definitionContext.prototype.COLLATE = function() { - return this.getToken(TSqlParser.COLLATE, 0); -}; - -Column_definitionContext.prototype.null_notnull = function() { - return this.getTypedRuleContext(Null_notnullContext,0); -}; - -Column_definitionContext.prototype.null_or_default = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Null_or_defaultContext); - } else { - return this.getTypedRuleContext(Null_or_defaultContext,i); - } -}; - -Column_definitionContext.prototype.IDENTITY = function() { - return this.getToken(TSqlParser.IDENTITY, 0); -}; - -Column_definitionContext.prototype.ROWGUIDCOL = function() { - return this.getToken(TSqlParser.ROWGUIDCOL, 0); -}; - -Column_definitionContext.prototype.column_constraint = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Column_constraintContext); - } else { - return this.getTypedRuleContext(Column_constraintContext,i); - } -}; - -Column_definitionContext.prototype.CONSTRAINT = function() { - return this.getToken(TSqlParser.CONSTRAINT, 0); -}; - -Column_definitionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Column_definitionContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Column_definitionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Column_definitionContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Column_definitionContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Column_definitionContext.prototype.REPLICATION = function() { - return this.getToken(TSqlParser.REPLICATION, 0); -}; - -Column_definitionContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Column_definitionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_definition(this); - } -}; - -Column_definitionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_definition(this); - } -}; - -Column_definitionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_definition(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_definitionContext = Column_definitionContext; - -TSqlParser.prototype.column_definition = function() { - - var localctx = new Column_definitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 698, TSqlParser.RULE_column_definition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8514; - this.id(); - this.state = 8518; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.DOUBLE: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 8515; - this.data_type(); - break; - case TSqlParser.AS: - this.state = 8516; - this.match(TSqlParser.AS); - this.state = 8517; - this.expression(0); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8522; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COLLATE) { - this.state = 8520; - this.match(TSqlParser.COLLATE); - this.state = 8521; - this.id(); - } - - this.state = 8525; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1198,this._ctx); - if(la_===1) { - this.state = 8524; - this.null_notnull(); - - } - this.state = 8548; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1203,this._ctx); - if(la_===1) { - this.state = 8529; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONSTRAINT) { - this.state = 8527; - this.match(TSqlParser.CONSTRAINT); - this.state = 8528; - localctx.constraint = this.id(); - } - - this.state = 8531; - this.null_or_default(); - this.state = 8533; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1200,this._ctx); - if(la_===1) { - this.state = 8532; - this.null_or_default(); - - } - - } else if(la_===2) { - this.state = 8535; - this.match(TSqlParser.IDENTITY); - this.state = 8541; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1201,this._ctx); - if(la_===1) { - this.state = 8536; - this.match(TSqlParser.LR_BRACKET); - this.state = 8537; - localctx.seed = this.match(TSqlParser.DECIMAL); - this.state = 8538; - this.match(TSqlParser.COMMA); - this.state = 8539; - localctx.increment = this.match(TSqlParser.DECIMAL); - this.state = 8540; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 8546; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1202,this._ctx); - if(la_===1) { - this.state = 8543; - this.match(TSqlParser.NOT); - this.state = 8544; - this.match(TSqlParser.FOR); - this.state = 8545; - this.match(TSqlParser.REPLICATION); - - } - - } - this.state = 8551; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ROWGUIDCOL) { - this.state = 8550; - this.match(TSqlParser.ROWGUIDCOL); - } - - this.state = 8556; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1205,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 8553; - this.column_constraint(); - } - this.state = 8558; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1205,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Materialized_column_definitionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_materialized_column_definition; - return this; -} - -Materialized_column_definitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Materialized_column_definitionContext.prototype.constructor = Materialized_column_definitionContext; - -Materialized_column_definitionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Materialized_column_definitionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Materialized_column_definitionContext.prototype.COMPUTE = function() { - return this.getToken(TSqlParser.COMPUTE, 0); -}; - -Materialized_column_definitionContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Materialized_column_definitionContext.prototype.MATERIALIZED = function() { - return this.getToken(TSqlParser.MATERIALIZED, 0); -}; - -Materialized_column_definitionContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Materialized_column_definitionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMaterialized_column_definition(this); - } -}; - -Materialized_column_definitionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMaterialized_column_definition(this); - } -}; - -Materialized_column_definitionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMaterialized_column_definition(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Materialized_column_definitionContext = Materialized_column_definitionContext; - -TSqlParser.prototype.materialized_column_definition = function() { - - var localctx = new Materialized_column_definitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 700, TSqlParser.RULE_materialized_column_definition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8559; - this.id(); - this.state = 8560; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AS || _la===TSqlParser.COMPUTE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8561; - this.expression(0); - this.state = 8565; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1206,this._ctx); - if(la_===1) { - this.state = 8562; - this.match(TSqlParser.MATERIALIZED); - - } else if(la_===2) { - this.state = 8563; - this.match(TSqlParser.NOT); - this.state = 8564; - this.match(TSqlParser.MATERIALIZED); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_constraintContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_constraint; - this.constraint = null; // IdContext - this.pk = null; // Column_name_listContext - return this; -} - -Column_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_constraintContext.prototype.constructor = Column_constraintContext; - -Column_constraintContext.prototype.CHECK = function() { - return this.getToken(TSqlParser.CHECK, 0); -}; - -Column_constraintContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Column_constraintContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -Column_constraintContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Column_constraintContext.prototype.REFERENCES = function() { - return this.getToken(TSqlParser.REFERENCES, 0); -}; - -Column_constraintContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Column_constraintContext.prototype.null_notnull = function() { - return this.getTypedRuleContext(Null_notnullContext,0); -}; - -Column_constraintContext.prototype.CONSTRAINT = function() { - return this.getToken(TSqlParser.CONSTRAINT, 0); -}; - -Column_constraintContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Column_constraintContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Column_constraintContext.prototype.PRIMARY = function() { - return this.getToken(TSqlParser.PRIMARY, 0); -}; - -Column_constraintContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Column_constraintContext.prototype.UNIQUE = function() { - return this.getToken(TSqlParser.UNIQUE, 0); -}; - -Column_constraintContext.prototype.clustered = function() { - return this.getTypedRuleContext(ClusteredContext,0); -}; - -Column_constraintContext.prototype.index_options = function() { - return this.getTypedRuleContext(Index_optionsContext,0); -}; - -Column_constraintContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Column_constraintContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Column_constraintContext.prototype.REPLICATION = function() { - return this.getToken(TSqlParser.REPLICATION, 0); -}; - -Column_constraintContext.prototype.FOREIGN = function() { - return this.getToken(TSqlParser.FOREIGN, 0); -}; - -Column_constraintContext.prototype.on_delete = function() { - return this.getTypedRuleContext(On_deleteContext,0); -}; - -Column_constraintContext.prototype.on_update = function() { - return this.getTypedRuleContext(On_updateContext,0); -}; - -Column_constraintContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_constraint(this); - } -}; - -Column_constraintContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_constraint(this); - } -}; - -Column_constraintContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_constraint(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_constraintContext = Column_constraintContext; - -TSqlParser.prototype.column_constraint = function() { - - var localctx = new Column_constraintContext(this, this._ctx, this.state); - this.enterRule(localctx, 702, TSqlParser.RULE_column_constraint); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8569; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONSTRAINT) { - this.state = 8567; - this.match(TSqlParser.CONSTRAINT); - this.state = 8568; - localctx.constraint = this.id(); - } - - this.state = 8608; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PRIMARY: - case TSqlParser.UNIQUE: - this.state = 8574; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PRIMARY: - this.state = 8571; - this.match(TSqlParser.PRIMARY); - this.state = 8572; - this.match(TSqlParser.KEY); - break; - case TSqlParser.UNIQUE: - this.state = 8573; - this.match(TSqlParser.UNIQUE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8577; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CLUSTERED || _la===TSqlParser.NONCLUSTERED) { - this.state = 8576; - this.clustered(); - } - - this.state = 8580; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1210,this._ctx); - if(la_===1) { - this.state = 8579; - this.index_options(); - - } - break; - case TSqlParser.CHECK: - this.state = 8582; - this.match(TSqlParser.CHECK); - this.state = 8586; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 8583; - this.match(TSqlParser.NOT); - this.state = 8584; - this.match(TSqlParser.FOR); - this.state = 8585; - this.match(TSqlParser.REPLICATION); - } - - this.state = 8588; - this.match(TSqlParser.LR_BRACKET); - this.state = 8589; - this.search_condition(); - this.state = 8590; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.FOREIGN: - case TSqlParser.REFERENCES: - this.state = 8594; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOREIGN) { - this.state = 8592; - this.match(TSqlParser.FOREIGN); - this.state = 8593; - this.match(TSqlParser.KEY); - } - - this.state = 8596; - this.match(TSqlParser.REFERENCES); - this.state = 8597; - this.table_name(); - this.state = 8598; - this.match(TSqlParser.LR_BRACKET); - this.state = 8599; - localctx.pk = this.column_name_list(); - this.state = 8600; - this.match(TSqlParser.RR_BRACKET); - this.state = 8602; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1213,this._ctx); - if(la_===1) { - this.state = 8601; - this.on_delete(); - - } - this.state = 8605; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ON) { - this.state = 8604; - this.on_update(); - } - - break; - case TSqlParser.NOT: - case TSqlParser.NULL: - this.state = 8607; - this.null_notnull(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_constraintContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_constraint; - this.constraint = null; // IdContext - this.fk = null; // Column_name_listContext - this.pk = null; // Column_name_listContext - return this; -} - -Table_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_constraintContext.prototype.constructor = Table_constraintContext; - -Table_constraintContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Table_constraintContext.prototype.column_name_list_with_order = function() { - return this.getTypedRuleContext(Column_name_list_with_orderContext,0); -}; - -Table_constraintContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Table_constraintContext.prototype.CHECK = function() { - return this.getToken(TSqlParser.CHECK, 0); -}; - -Table_constraintContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -Table_constraintContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Table_constraintContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Table_constraintContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Table_constraintContext.prototype.FOREIGN = function() { - return this.getToken(TSqlParser.FOREIGN, 0); -}; - -Table_constraintContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Table_constraintContext.prototype.REFERENCES = function() { - return this.getToken(TSqlParser.REFERENCES, 0); -}; - -Table_constraintContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Table_constraintContext.prototype.CONSTRAINT = function() { - return this.getToken(TSqlParser.CONSTRAINT, 0); -}; - -Table_constraintContext.prototype.column_name_list = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Column_name_listContext); - } else { - return this.getTypedRuleContext(Column_name_listContext,i); - } -}; - -Table_constraintContext.prototype.PRIMARY = function() { - return this.getToken(TSqlParser.PRIMARY, 0); -}; - -Table_constraintContext.prototype.UNIQUE = function() { - return this.getToken(TSqlParser.UNIQUE, 0); -}; - -Table_constraintContext.prototype.clustered = function() { - return this.getTypedRuleContext(ClusteredContext,0); -}; - -Table_constraintContext.prototype.index_options = function() { - return this.getTypedRuleContext(Index_optionsContext,0); -}; - -Table_constraintContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Table_constraintContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Table_constraintContext.prototype.REPLICATION = function() { - return this.getToken(TSqlParser.REPLICATION, 0); -}; - -Table_constraintContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Table_constraintContext.prototype.PLUS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.PLUS); - } else { - return this.getToken(TSqlParser.PLUS, i); - } -}; - - -Table_constraintContext.prototype.function_call = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Function_callContext); - } else { - return this.getTypedRuleContext(Function_callContext,i); - } -}; - -Table_constraintContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Table_constraintContext.prototype.on_delete = function() { - return this.getTypedRuleContext(On_deleteContext,0); -}; - -Table_constraintContext.prototype.on_update = function() { - return this.getTypedRuleContext(On_updateContext,0); -}; - -Table_constraintContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_constraint(this); - } -}; - -Table_constraintContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_constraint(this); - } -}; - -Table_constraintContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_constraint(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_constraintContext = Table_constraintContext; - -TSqlParser.prototype.table_constraint = function() { - - var localctx = new Table_constraintContext(this, this._ctx, this.state); - this.enterRule(localctx, 704, TSqlParser.RULE_table_constraint); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8612; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONSTRAINT) { - this.state = 8610; - this.match(TSqlParser.CONSTRAINT); - this.state = 8611; - localctx.constraint = this.id(); - } - - this.state = 8678; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PRIMARY: - case TSqlParser.UNIQUE: - this.state = 8617; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.PRIMARY: - this.state = 8614; - this.match(TSqlParser.PRIMARY); - this.state = 8615; - this.match(TSqlParser.KEY); - break; - case TSqlParser.UNIQUE: - this.state = 8616; - this.match(TSqlParser.UNIQUE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8620; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CLUSTERED || _la===TSqlParser.NONCLUSTERED) { - this.state = 8619; - this.clustered(); - } - - this.state = 8622; - this.match(TSqlParser.LR_BRACKET); - this.state = 8623; - this.column_name_list_with_order(); - this.state = 8624; - this.match(TSqlParser.RR_BRACKET); - this.state = 8626; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1219,this._ctx); - if(la_===1) { - this.state = 8625; - this.index_options(); - - } - this.state = 8630; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ON) { - this.state = 8628; - this.match(TSqlParser.ON); - this.state = 8629; - this.id(); - } - - break; - case TSqlParser.CHECK: - this.state = 8632; - this.match(TSqlParser.CHECK); - this.state = 8636; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 8633; - this.match(TSqlParser.NOT); - this.state = 8634; - this.match(TSqlParser.FOR); - this.state = 8635; - this.match(TSqlParser.REPLICATION); - } - - this.state = 8638; - this.match(TSqlParser.LR_BRACKET); - this.state = 8639; - this.search_condition(); - this.state = 8640; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.DEFAULT: - this.state = 8642; - this.match(TSqlParser.DEFAULT); - this.state = 8644; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 8643; - this.match(TSqlParser.LR_BRACKET); - } - - this.state = 8650; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 8650; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STRING: - this.state = 8646; - this.match(TSqlParser.STRING); - break; - case TSqlParser.PLUS: - this.state = 8647; - this.match(TSqlParser.PLUS); - break; - case TSqlParser.CALLED: - case TSqlParser.COALESCE: - case TSqlParser.CONVERT: - case TSqlParser.CURRENT_TIMESTAMP: - case TSqlParser.CURRENT_USER: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.IDENTITY: - case TSqlParser.IIF: - case TSqlParser.INIT: - case TSqlParser.ISNULL: - case TSqlParser.KEY: - case TSqlParser.LEFT: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.NULLIF: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.RIGHT: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SESSION_USER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.SYSTEM_USER: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.LOCAL_ID: - case TSqlParser.ID: - this.state = 8648; - this.function_call(); - break; - case TSqlParser.DECIMAL: - this.state = 8649; - this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8652; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(((((_la - 38)) & ~0x1f) == 0 && ((1 << (_la - 38)) & ((1 << (TSqlParser.CALLED - 38)) | (1 << (TSqlParser.COALESCE - 38)) | (1 << (TSqlParser.CONVERT - 38)))) !== 0) || ((((_la - 76)) & ~0x1f) == 0 && ((1 << (_la - 76)) & ((1 << (TSqlParser.CURRENT_TIMESTAMP - 76)) | (1 << (TSqlParser.CURRENT_USER - 76)) | (1 << (TSqlParser.DATA_COMPRESSION - 76)))) !== 0) || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 148)) & ~0x1f) == 0 && ((1 << (_la - 148)) & ((1 << (TSqlParser.IDENTITY - 148)) | (1 << (TSqlParser.IIF - 148)) | (1 << (TSqlParser.INIT - 148)) | (1 << (TSqlParser.ISNULL - 148)) | (1 << (TSqlParser.KEY - 148)) | (1 << (TSqlParser.LEFT - 148)))) !== 0) || _la===TSqlParser.MASTER || _la===TSqlParser.MAX_MEMORY || ((((_la - 222)) & ~0x1f) == 0 && ((1 << (_la - 222)) & ((1 << (TSqlParser.NULLIF - 222)) | (1 << (TSqlParser.OFFSETS - 222)) | (1 << (TSqlParser.PAGE - 222)))) !== 0) || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.RIGHT - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SESSION_USER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.SYSTEM_USER - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.LOCAL_ID - 796)) | (1 << (TSqlParser.DECIMAL - 796)) | (1 << (TSqlParser.ID - 796)) | (1 << (TSqlParser.STRING - 796)))) !== 0) || _la===TSqlParser.PLUS); - this.state = 8655; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.RR_BRACKET) { - this.state = 8654; - this.match(TSqlParser.RR_BRACKET); - } - - this.state = 8657; - this.match(TSqlParser.FOR); - this.state = 8658; - this.id(); - break; - case TSqlParser.FOREIGN: - this.state = 8659; - this.match(TSqlParser.FOREIGN); - this.state = 8660; - this.match(TSqlParser.KEY); - this.state = 8661; - this.match(TSqlParser.LR_BRACKET); - this.state = 8662; - localctx.fk = this.column_name_list(); - this.state = 8663; - this.match(TSqlParser.RR_BRACKET); - this.state = 8664; - this.match(TSqlParser.REFERENCES); - this.state = 8665; - this.table_name(); - this.state = 8670; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1226,this._ctx); - if(la_===1) { - this.state = 8666; - this.match(TSqlParser.LR_BRACKET); - this.state = 8667; - localctx.pk = this.column_name_list(); - this.state = 8668; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 8673; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1227,this._ctx); - if(la_===1) { - this.state = 8672; - this.on_delete(); - - } - this.state = 8676; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ON) { - this.state = 8675; - this.on_update(); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function On_deleteContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_on_delete; - return this; -} - -On_deleteContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -On_deleteContext.prototype.constructor = On_deleteContext; - -On_deleteContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -On_deleteContext.prototype.DELETE = function() { - return this.getToken(TSqlParser.DELETE, 0); -}; - -On_deleteContext.prototype.NO = function() { - return this.getToken(TSqlParser.NO, 0); -}; - -On_deleteContext.prototype.ACTION = function() { - return this.getToken(TSqlParser.ACTION, 0); -}; - -On_deleteContext.prototype.CASCADE = function() { - return this.getToken(TSqlParser.CASCADE, 0); -}; - -On_deleteContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -On_deleteContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -On_deleteContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -On_deleteContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOn_delete(this); - } -}; - -On_deleteContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOn_delete(this); - } -}; - -On_deleteContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOn_delete(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.On_deleteContext = On_deleteContext; - -TSqlParser.prototype.on_delete = function() { - - var localctx = new On_deleteContext(this, this._ctx, this.state); - this.enterRule(localctx, 706, TSqlParser.RULE_on_delete); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8680; - this.match(TSqlParser.ON); - this.state = 8681; - this.match(TSqlParser.DELETE); - this.state = 8689; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1230,this._ctx); - switch(la_) { - case 1: - this.state = 8682; - this.match(TSqlParser.NO); - this.state = 8683; - this.match(TSqlParser.ACTION); - break; - - case 2: - this.state = 8684; - this.match(TSqlParser.CASCADE); - break; - - case 3: - this.state = 8685; - this.match(TSqlParser.SET); - this.state = 8686; - this.match(TSqlParser.NULL); - break; - - case 4: - this.state = 8687; - this.match(TSqlParser.SET); - this.state = 8688; - this.match(TSqlParser.DEFAULT); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function On_updateContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_on_update; - return this; -} - -On_updateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -On_updateContext.prototype.constructor = On_updateContext; - -On_updateContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -On_updateContext.prototype.UPDATE = function() { - return this.getToken(TSqlParser.UPDATE, 0); -}; - -On_updateContext.prototype.NO = function() { - return this.getToken(TSqlParser.NO, 0); -}; - -On_updateContext.prototype.ACTION = function() { - return this.getToken(TSqlParser.ACTION, 0); -}; - -On_updateContext.prototype.CASCADE = function() { - return this.getToken(TSqlParser.CASCADE, 0); -}; - -On_updateContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -On_updateContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -On_updateContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -On_updateContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOn_update(this); - } -}; - -On_updateContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOn_update(this); - } -}; - -On_updateContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOn_update(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.On_updateContext = On_updateContext; - -TSqlParser.prototype.on_update = function() { - - var localctx = new On_updateContext(this, this._ctx, this.state); - this.enterRule(localctx, 708, TSqlParser.RULE_on_update); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8691; - this.match(TSqlParser.ON); - this.state = 8692; - this.match(TSqlParser.UPDATE); - this.state = 8700; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1231,this._ctx); - switch(la_) { - case 1: - this.state = 8693; - this.match(TSqlParser.NO); - this.state = 8694; - this.match(TSqlParser.ACTION); - break; - - case 2: - this.state = 8695; - this.match(TSqlParser.CASCADE); - break; - - case 3: - this.state = 8696; - this.match(TSqlParser.SET); - this.state = 8697; - this.match(TSqlParser.NULL); - break; - - case 4: - this.state = 8698; - this.match(TSqlParser.SET); - this.state = 8699; - this.match(TSqlParser.DEFAULT); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Index_optionsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_index_options; - return this; -} - -Index_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Index_optionsContext.prototype.constructor = Index_optionsContext; - -Index_optionsContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Index_optionsContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Index_optionsContext.prototype.index_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Index_optionContext); - } else { - return this.getTypedRuleContext(Index_optionContext,i); - } -}; - -Index_optionsContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Index_optionsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Index_optionsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterIndex_options(this); - } -}; - -Index_optionsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitIndex_options(this); - } -}; - -Index_optionsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitIndex_options(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Index_optionsContext = Index_optionsContext; - -TSqlParser.prototype.index_options = function() { - - var localctx = new Index_optionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 710, TSqlParser.RULE_index_options); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8702; - this.match(TSqlParser.WITH); - this.state = 8703; - this.match(TSqlParser.LR_BRACKET); - this.state = 8704; - this.index_option(); - this.state = 8709; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 8705; - this.match(TSqlParser.COMMA); - this.state = 8706; - this.index_option(); - this.state = 8711; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 8712; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Index_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_index_option; - return this; -} - -Index_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Index_optionContext.prototype.constructor = Index_optionContext; - -Index_optionContext.prototype.simple_id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Simple_idContext); - } else { - return this.getTypedRuleContext(Simple_idContext,i); - } -}; - -Index_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Index_optionContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Index_optionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Index_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterIndex_option(this); - } -}; - -Index_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitIndex_option(this); - } -}; - -Index_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitIndex_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Index_optionContext = Index_optionContext; - -TSqlParser.prototype.index_option = function() { - - var localctx = new Index_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 712, TSqlParser.RULE_index_option); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8714; - this.simple_id(); - this.state = 8715; - this.match(TSqlParser.EQUAL); - this.state = 8719; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.ID: - this.state = 8716; - this.simple_id(); - break; - case TSqlParser.OFF: - case TSqlParser.ON: - this.state = 8717; - this.on_off(); - break; - case TSqlParser.DECIMAL: - this.state = 8718; - this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Declare_cursorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_declare_cursor; - return this; -} - -Declare_cursorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Declare_cursorContext.prototype.constructor = Declare_cursorContext; - -Declare_cursorContext.prototype.DECLARE = function() { - return this.getToken(TSqlParser.DECLARE, 0); -}; - -Declare_cursorContext.prototype.cursor_name = function() { - return this.getTypedRuleContext(Cursor_nameContext,0); -}; - -Declare_cursorContext.prototype.CURSOR = function() { - return this.getToken(TSqlParser.CURSOR, 0); -}; - -Declare_cursorContext.prototype.FOR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.FOR); - } else { - return this.getToken(TSqlParser.FOR, i); - } -}; - - -Declare_cursorContext.prototype.select_statement = function() { - return this.getTypedRuleContext(Select_statementContext,0); -}; - -Declare_cursorContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Declare_cursorContext.prototype.declare_set_cursor_common = function() { - return this.getTypedRuleContext(Declare_set_cursor_commonContext,0); -}; - -Declare_cursorContext.prototype.SCROLL = function() { - return this.getToken(TSqlParser.SCROLL, 0); -}; - -Declare_cursorContext.prototype.SEMI_SENSITIVE = function() { - return this.getToken(TSqlParser.SEMI_SENSITIVE, 0); -}; - -Declare_cursorContext.prototype.INSENSITIVE = function() { - return this.getToken(TSqlParser.INSENSITIVE, 0); -}; - -Declare_cursorContext.prototype.READ = function() { - return this.getToken(TSqlParser.READ, 0); -}; - -Declare_cursorContext.prototype.ONLY = function() { - return this.getToken(TSqlParser.ONLY, 0); -}; - -Declare_cursorContext.prototype.UPDATE = function() { - return this.getToken(TSqlParser.UPDATE, 0); -}; - -Declare_cursorContext.prototype.OF = function() { - return this.getToken(TSqlParser.OF, 0); -}; - -Declare_cursorContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Declare_cursorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDeclare_cursor(this); - } -}; - -Declare_cursorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDeclare_cursor(this); - } -}; - -Declare_cursorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDeclare_cursor(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Declare_cursorContext = Declare_cursorContext; - -TSqlParser.prototype.declare_cursor = function() { - - var localctx = new Declare_cursorContext(this, this._ctx, this.state); - this.enterRule(localctx, 714, TSqlParser.RULE_declare_cursor); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8721; - this.match(TSqlParser.DECLARE); - this.state = 8722; - this.cursor_name(); - this.state = 8754; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1241,this._ctx); - switch(la_) { - case 1: - this.state = 8723; - this.match(TSqlParser.CURSOR); - this.state = 8733; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1236,this._ctx); - if(la_===1) { - this.state = 8724; - this.declare_set_cursor_common(); - this.state = 8731; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 8725; - this.match(TSqlParser.FOR); - this.state = 8726; - this.match(TSqlParser.UPDATE); - this.state = 8729; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OF) { - this.state = 8727; - this.match(TSqlParser.OF); - this.state = 8728; - this.column_name_list(); - } - - } - - - } - break; - - case 2: - this.state = 8736; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INSENSITIVE || _la===TSqlParser.SEMI_SENSITIVE) { - this.state = 8735; - _la = this._input.LA(1); - if(!(_la===TSqlParser.INSENSITIVE || _la===TSqlParser.SEMI_SENSITIVE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 8739; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SCROLL) { - this.state = 8738; - this.match(TSqlParser.SCROLL); - } - - this.state = 8741; - this.match(TSqlParser.CURSOR); - this.state = 8742; - this.match(TSqlParser.FOR); - this.state = 8743; - this.select_statement(); - this.state = 8752; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FOR) { - this.state = 8744; - this.match(TSqlParser.FOR); - this.state = 8750; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.READ: - this.state = 8745; - this.match(TSqlParser.READ); - this.state = 8746; - this.match(TSqlParser.ONLY); - break; - case TSqlParser.UPDATE: - this.state = 8747; - this.match(TSqlParser.UPDATE); - break; - case TSqlParser.OF: - this.state = 8748; - this.match(TSqlParser.OF); - this.state = 8749; - this.column_name_list(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - - break; - - } - this.state = 8757; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1242,this._ctx); - if(la_===1) { - this.state = 8756; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Declare_set_cursor_commonContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_declare_set_cursor_common; - return this; -} - -Declare_set_cursor_commonContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Declare_set_cursor_commonContext.prototype.constructor = Declare_set_cursor_commonContext; - -Declare_set_cursor_commonContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Declare_set_cursor_commonContext.prototype.select_statement = function() { - return this.getTypedRuleContext(Select_statementContext,0); -}; - -Declare_set_cursor_commonContext.prototype.declare_set_cursor_common_partial = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Declare_set_cursor_common_partialContext); - } else { - return this.getTypedRuleContext(Declare_set_cursor_common_partialContext,i); - } -}; - -Declare_set_cursor_commonContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDeclare_set_cursor_common(this); - } -}; - -Declare_set_cursor_commonContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDeclare_set_cursor_common(this); - } -}; - -Declare_set_cursor_commonContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDeclare_set_cursor_common(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Declare_set_cursor_commonContext = Declare_set_cursor_commonContext; - -TSqlParser.prototype.declare_set_cursor_common = function() { - - var localctx = new Declare_set_cursor_commonContext(this, this._ctx, this.state); - this.enterRule(localctx, 716, TSqlParser.RULE_declare_set_cursor_common); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8762; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.DYNAMIC || _la===TSqlParser.FAST_FORWARD || _la===TSqlParser.FORWARD_ONLY || _la===TSqlParser.GLOBAL || _la===TSqlParser.KEYSET || _la===TSqlParser.LOCAL || _la===TSqlParser.OPTIMISTIC || _la===TSqlParser.READ_ONLY || ((((_la - 702)) & ~0x1f) == 0 && ((1 << (_la - 702)) & ((1 << (TSqlParser.SCROLL - 702)) | (1 << (TSqlParser.SCROLL_LOCKS - 702)) | (1 << (TSqlParser.STATIC - 702)))) !== 0) || _la===TSqlParser.TYPE_WARNING) { - this.state = 8759; - this.declare_set_cursor_common_partial(); - this.state = 8764; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 8765; - this.match(TSqlParser.FOR); - this.state = 8766; - this.select_statement(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Declare_set_cursor_common_partialContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_declare_set_cursor_common_partial; - return this; -} - -Declare_set_cursor_common_partialContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Declare_set_cursor_common_partialContext.prototype.constructor = Declare_set_cursor_common_partialContext; - -Declare_set_cursor_common_partialContext.prototype.LOCAL = function() { - return this.getToken(TSqlParser.LOCAL, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.GLOBAL = function() { - return this.getToken(TSqlParser.GLOBAL, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.FORWARD_ONLY = function() { - return this.getToken(TSqlParser.FORWARD_ONLY, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.SCROLL = function() { - return this.getToken(TSqlParser.SCROLL, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.STATIC = function() { - return this.getToken(TSqlParser.STATIC, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.KEYSET = function() { - return this.getToken(TSqlParser.KEYSET, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.DYNAMIC = function() { - return this.getToken(TSqlParser.DYNAMIC, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.FAST_FORWARD = function() { - return this.getToken(TSqlParser.FAST_FORWARD, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.READ_ONLY = function() { - return this.getToken(TSqlParser.READ_ONLY, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.SCROLL_LOCKS = function() { - return this.getToken(TSqlParser.SCROLL_LOCKS, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.OPTIMISTIC = function() { - return this.getToken(TSqlParser.OPTIMISTIC, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.TYPE_WARNING = function() { - return this.getToken(TSqlParser.TYPE_WARNING, 0); -}; - -Declare_set_cursor_common_partialContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDeclare_set_cursor_common_partial(this); - } -}; - -Declare_set_cursor_common_partialContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDeclare_set_cursor_common_partial(this); - } -}; - -Declare_set_cursor_common_partialContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDeclare_set_cursor_common_partial(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Declare_set_cursor_common_partialContext = Declare_set_cursor_common_partialContext; - -TSqlParser.prototype.declare_set_cursor_common_partial = function() { - - var localctx = new Declare_set_cursor_common_partialContext(this, this._ctx, this.state); - this.enterRule(localctx, 718, TSqlParser.RULE_declare_set_cursor_common_partial); - var _la = 0; // Token type - try { - this.state = 8773; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.GLOBAL: - case TSqlParser.LOCAL: - this.enterOuterAlt(localctx, 1); - this.state = 8768; - _la = this._input.LA(1); - if(!(_la===TSqlParser.GLOBAL || _la===TSqlParser.LOCAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.FORWARD_ONLY: - case TSqlParser.SCROLL: - this.enterOuterAlt(localctx, 2); - this.state = 8769; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FORWARD_ONLY || _la===TSqlParser.SCROLL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.DYNAMIC: - case TSqlParser.FAST_FORWARD: - case TSqlParser.KEYSET: - case TSqlParser.STATIC: - this.enterOuterAlt(localctx, 3); - this.state = 8770; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DYNAMIC || _la===TSqlParser.FAST_FORWARD || _la===TSqlParser.KEYSET || _la===TSqlParser.STATIC)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.OPTIMISTIC: - case TSqlParser.READ_ONLY: - case TSqlParser.SCROLL_LOCKS: - this.enterOuterAlt(localctx, 4); - this.state = 8771; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OPTIMISTIC || _la===TSqlParser.READ_ONLY || _la===TSqlParser.SCROLL_LOCKS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.TYPE_WARNING: - this.enterOuterAlt(localctx, 5); - this.state = 8772; - this.match(TSqlParser.TYPE_WARNING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Fetch_cursorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_fetch_cursor; - return this; -} - -Fetch_cursorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Fetch_cursorContext.prototype.constructor = Fetch_cursorContext; - -Fetch_cursorContext.prototype.FETCH = function() { - return this.getToken(TSqlParser.FETCH, 0); -}; - -Fetch_cursorContext.prototype.cursor_name = function() { - return this.getTypedRuleContext(Cursor_nameContext,0); -}; - -Fetch_cursorContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Fetch_cursorContext.prototype.GLOBAL = function() { - return this.getToken(TSqlParser.GLOBAL, 0); -}; - -Fetch_cursorContext.prototype.INTO = function() { - return this.getToken(TSqlParser.INTO, 0); -}; - -Fetch_cursorContext.prototype.LOCAL_ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOCAL_ID); - } else { - return this.getToken(TSqlParser.LOCAL_ID, i); - } -}; - - -Fetch_cursorContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Fetch_cursorContext.prototype.NEXT = function() { - return this.getToken(TSqlParser.NEXT, 0); -}; - -Fetch_cursorContext.prototype.PRIOR = function() { - return this.getToken(TSqlParser.PRIOR, 0); -}; - -Fetch_cursorContext.prototype.FIRST = function() { - return this.getToken(TSqlParser.FIRST, 0); -}; - -Fetch_cursorContext.prototype.LAST = function() { - return this.getToken(TSqlParser.LAST, 0); -}; - -Fetch_cursorContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Fetch_cursorContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Fetch_cursorContext.prototype.ABSOLUTE = function() { - return this.getToken(TSqlParser.ABSOLUTE, 0); -}; - -Fetch_cursorContext.prototype.RELATIVE = function() { - return this.getToken(TSqlParser.RELATIVE, 0); -}; - -Fetch_cursorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFetch_cursor(this); - } -}; - -Fetch_cursorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFetch_cursor(this); - } -}; - -Fetch_cursorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFetch_cursor(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Fetch_cursorContext = Fetch_cursorContext; - -TSqlParser.prototype.fetch_cursor = function() { - - var localctx = new Fetch_cursorContext(this, this._ctx, this.state); - this.enterRule(localctx, 720, TSqlParser.RULE_fetch_cursor); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8775; - this.match(TSqlParser.FETCH); - this.state = 8785; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1246,this._ctx); - if(la_===1) { - this.state = 8782; - this._errHandler.sync(this); - switch (this._input.LA(1)) { - case TSqlParser.NEXT: - this.state = 8776; - this.match(TSqlParser.NEXT); - break; - case TSqlParser.PRIOR: - this.state = 8777; - this.match(TSqlParser.PRIOR); - break; - case TSqlParser.FIRST: - this.state = 8778; - this.match(TSqlParser.FIRST); - break; - case TSqlParser.LAST: - this.state = 8779; - this.match(TSqlParser.LAST); - break; - case TSqlParser.ABSOLUTE: - case TSqlParser.RELATIVE: - this.state = 8780; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ABSOLUTE || _la===TSqlParser.RELATIVE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8781; - this.expression(0); - break; - case TSqlParser.FROM: - break; - default: - break; - } - this.state = 8784; - this.match(TSqlParser.FROM); - - } - this.state = 8788; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1247,this._ctx); - if(la_===1) { - this.state = 8787; - this.match(TSqlParser.GLOBAL); - - } - this.state = 8790; - this.cursor_name(); - this.state = 8800; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INTO) { - this.state = 8791; - this.match(TSqlParser.INTO); - this.state = 8792; - this.match(TSqlParser.LOCAL_ID); - this.state = 8797; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 8793; - this.match(TSqlParser.COMMA); - this.state = 8794; - this.match(TSqlParser.LOCAL_ID); - this.state = 8799; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 8803; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1250,this._ctx); - if(la_===1) { - this.state = 8802; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Set_specialContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_set_special; - return this; -} - -Set_specialContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Set_specialContext.prototype.constructor = Set_specialContext; - -Set_specialContext.prototype.SET = function() { - return this.getToken(TSqlParser.SET, 0); -}; - -Set_specialContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Set_specialContext.prototype.constant_LOCAL_ID = function() { - return this.getTypedRuleContext(Constant_LOCAL_IDContext,0); -}; - -Set_specialContext.prototype.on_off = function() { - return this.getTypedRuleContext(On_offContext,0); -}; - -Set_specialContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Set_specialContext.prototype.TRANSACTION = function() { - return this.getToken(TSqlParser.TRANSACTION, 0); -}; - -Set_specialContext.prototype.ISOLATION = function() { - return this.getToken(TSqlParser.ISOLATION, 0); -}; - -Set_specialContext.prototype.LEVEL = function() { - return this.getToken(TSqlParser.LEVEL, 0); -}; - -Set_specialContext.prototype.READ = function() { - return this.getToken(TSqlParser.READ, 0); -}; - -Set_specialContext.prototype.UNCOMMITTED = function() { - return this.getToken(TSqlParser.UNCOMMITTED, 0); -}; - -Set_specialContext.prototype.COMMITTED = function() { - return this.getToken(TSqlParser.COMMITTED, 0); -}; - -Set_specialContext.prototype.REPEATABLE = function() { - return this.getToken(TSqlParser.REPEATABLE, 0); -}; - -Set_specialContext.prototype.SNAPSHOT = function() { - return this.getToken(TSqlParser.SNAPSHOT, 0); -}; - -Set_specialContext.prototype.SERIALIZABLE = function() { - return this.getToken(TSqlParser.SERIALIZABLE, 0); -}; - -Set_specialContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Set_specialContext.prototype.IDENTITY_INSERT = function() { - return this.getToken(TSqlParser.IDENTITY_INSERT, 0); -}; - -Set_specialContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Set_specialContext.prototype.ANSI_NULLS = function() { - return this.getToken(TSqlParser.ANSI_NULLS, 0); -}; - -Set_specialContext.prototype.QUOTED_IDENTIFIER = function() { - return this.getToken(TSqlParser.QUOTED_IDENTIFIER, 0); -}; - -Set_specialContext.prototype.ANSI_PADDING = function() { - return this.getToken(TSqlParser.ANSI_PADDING, 0); -}; - -Set_specialContext.prototype.ANSI_WARNINGS = function() { - return this.getToken(TSqlParser.ANSI_WARNINGS, 0); -}; - -Set_specialContext.prototype.modify_method = function() { - return this.getTypedRuleContext(Modify_methodContext,0); -}; - -Set_specialContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSet_special(this); - } -}; - -Set_specialContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSet_special(this); - } -}; - -Set_specialContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSet_special(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Set_specialContext = Set_specialContext; - -TSqlParser.prototype.set_special = function() { - - var localctx = new Set_specialContext(this, this._ctx, this.state); - this.enterRule(localctx, 722, TSqlParser.RULE_set_special); - try { - this.state = 8854; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1256,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8805; - this.match(TSqlParser.SET); - this.state = 8806; - this.id(); - this.state = 8810; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 8807; - this.id(); - break; - case TSqlParser.LOCAL_ID: - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.state = 8808; - this.constant_LOCAL_ID(); - break; - case TSqlParser.OFF: - case TSqlParser.ON: - this.state = 8809; - this.on_off(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8813; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1252,this._ctx); - if(la_===1) { - this.state = 8812; - this.match(TSqlParser.SEMI); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8815; - this.match(TSqlParser.SET); - this.state = 8816; - this.match(TSqlParser.TRANSACTION); - this.state = 8817; - this.match(TSqlParser.ISOLATION); - this.state = 8818; - this.match(TSqlParser.LEVEL); - this.state = 8828; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1253,this._ctx); - switch(la_) { - case 1: - this.state = 8819; - this.match(TSqlParser.READ); - this.state = 8820; - this.match(TSqlParser.UNCOMMITTED); - break; - - case 2: - this.state = 8821; - this.match(TSqlParser.READ); - this.state = 8822; - this.match(TSqlParser.COMMITTED); - break; - - case 3: - this.state = 8823; - this.match(TSqlParser.REPEATABLE); - this.state = 8824; - this.match(TSqlParser.READ); - break; - - case 4: - this.state = 8825; - this.match(TSqlParser.SNAPSHOT); - break; - - case 5: - this.state = 8826; - this.match(TSqlParser.SERIALIZABLE); - break; - - case 6: - this.state = 8827; - this.match(TSqlParser.DECIMAL); - break; - - } - this.state = 8831; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1254,this._ctx); - if(la_===1) { - this.state = 8830; - this.match(TSqlParser.SEMI); - - } - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 8833; - this.match(TSqlParser.SET); - this.state = 8834; - this.match(TSqlParser.IDENTITY_INSERT); - this.state = 8835; - this.table_name(); - this.state = 8836; - this.on_off(); - this.state = 8838; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1255,this._ctx); - if(la_===1) { - this.state = 8837; - this.match(TSqlParser.SEMI); - - } - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 8840; - this.match(TSqlParser.SET); - this.state = 8841; - this.match(TSqlParser.ANSI_NULLS); - this.state = 8842; - this.on_off(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 8843; - this.match(TSqlParser.SET); - this.state = 8844; - this.match(TSqlParser.QUOTED_IDENTIFIER); - this.state = 8845; - this.on_off(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 8846; - this.match(TSqlParser.SET); - this.state = 8847; - this.match(TSqlParser.ANSI_PADDING); - this.state = 8848; - this.on_off(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 8849; - this.match(TSqlParser.SET); - this.state = 8850; - this.match(TSqlParser.ANSI_WARNINGS); - this.state = 8851; - this.on_off(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 8852; - this.match(TSqlParser.SET); - this.state = 8853; - this.modify_method(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Constant_LOCAL_IDContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_constant_LOCAL_ID; - return this; -} - -Constant_LOCAL_IDContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Constant_LOCAL_IDContext.prototype.constructor = Constant_LOCAL_IDContext; - -Constant_LOCAL_IDContext.prototype.constant = function() { - return this.getTypedRuleContext(ConstantContext,0); -}; - -Constant_LOCAL_IDContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Constant_LOCAL_IDContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterConstant_LOCAL_ID(this); - } -}; - -Constant_LOCAL_IDContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitConstant_LOCAL_ID(this); - } -}; - -Constant_LOCAL_IDContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitConstant_LOCAL_ID(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Constant_LOCAL_IDContext = Constant_LOCAL_IDContext; - -TSqlParser.prototype.constant_LOCAL_ID = function() { - - var localctx = new Constant_LOCAL_IDContext(this, this._ctx, this.state); - this.enterRule(localctx, 724, TSqlParser.RULE_constant_LOCAL_ID); - try { - this.state = 8858; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.enterOuterAlt(localctx, 1); - this.state = 8856; - this.constant(); - break; - case TSqlParser.LOCAL_ID: - this.enterOuterAlt(localctx, 2); - this.state = 8857; - this.match(TSqlParser.LOCAL_ID); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function ExpressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_expression; - this.op = null; // Token - return this; -} - -ExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ExpressionContext.prototype.constructor = ExpressionContext; - -ExpressionContext.prototype.primitive_expression = function() { - return this.getTypedRuleContext(Primitive_expressionContext,0); -}; - -ExpressionContext.prototype.function_call = function() { - return this.getTypedRuleContext(Function_callContext,0); -}; - -ExpressionContext.prototype.case_expression = function() { - return this.getTypedRuleContext(Case_expressionContext,0); -}; - -ExpressionContext.prototype.full_column_name = function() { - return this.getTypedRuleContext(Full_column_nameContext,0); -}; - -ExpressionContext.prototype.bracket_expression = function() { - return this.getTypedRuleContext(Bracket_expressionContext,0); -}; - -ExpressionContext.prototype.unary_operator_expression = function() { - return this.getTypedRuleContext(Unary_operator_expressionContext,0); -}; - -ExpressionContext.prototype.over_clause = function() { - return this.getTypedRuleContext(Over_clauseContext,0); -}; - -ExpressionContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -ExpressionContext.prototype.STAR = function() { - return this.getToken(TSqlParser.STAR, 0); -}; - -ExpressionContext.prototype.DIVIDE = function() { - return this.getToken(TSqlParser.DIVIDE, 0); -}; - -ExpressionContext.prototype.MODULE = function() { - return this.getToken(TSqlParser.MODULE, 0); -}; - -ExpressionContext.prototype.PLUS = function() { - return this.getToken(TSqlParser.PLUS, 0); -}; - -ExpressionContext.prototype.MINUS = function() { - return this.getToken(TSqlParser.MINUS, 0); -}; - -ExpressionContext.prototype.BIT_AND = function() { - return this.getToken(TSqlParser.BIT_AND, 0); -}; - -ExpressionContext.prototype.BIT_XOR = function() { - return this.getToken(TSqlParser.BIT_XOR, 0); -}; - -ExpressionContext.prototype.BIT_OR = function() { - return this.getToken(TSqlParser.BIT_OR, 0); -}; - -ExpressionContext.prototype.DOUBLE_BAR = function() { - return this.getToken(TSqlParser.DOUBLE_BAR, 0); -}; - -ExpressionContext.prototype.comparison_operator = function() { - return this.getTypedRuleContext(Comparison_operatorContext,0); -}; - -ExpressionContext.prototype.assignment_operator = function() { - return this.getTypedRuleContext(Assignment_operatorContext,0); -}; - -ExpressionContext.prototype.COLLATE = function() { - return this.getToken(TSqlParser.COLLATE, 0); -}; - -ExpressionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -ExpressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExpression(this); - } -}; - -ExpressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExpression(this); - } -}; - -ExpressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExpression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - -TSqlParser.prototype.expression = function(_p) { - if(_p===undefined) { - _p = 0; - } - var _parentctx = this._ctx; - var _parentState = this.state; - var localctx = new ExpressionContext(this, this._ctx, _parentState); - var _prevctx = localctx; - var _startState = 726; - this.enterRecursionRule(localctx, 726, TSqlParser.RULE_expression, _p); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8868; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1258,this._ctx); - switch(la_) { - case 1: - this.state = 8861; - this.primitive_expression(); - break; - - case 2: - this.state = 8862; - this.function_call(); - break; - - case 3: - this.state = 8863; - this.case_expression(); - break; - - case 4: - this.state = 8864; - this.full_column_name(); - break; - - case 5: - this.state = 8865; - this.bracket_expression(); - break; - - case 6: - this.state = 8866; - this.unary_operator_expression(); - break; - - case 7: - this.state = 8867; - this.over_clause(); - break; - - } - this._ctx.stop = this._input.LT(-1); - this.state = 8889; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1260,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - this.state = 8887; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1259,this._ctx); - switch(la_) { - case 1: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, TSqlParser.RULE_expression); - this.state = 8870; - if (!( this.precpred(this._ctx, 5))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 5)"); - } - this.state = 8871; - localctx.op = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 831)) & ~0x1f) == 0 && ((1 << (_la - 831)) & ((1 << (TSqlParser.STAR - 831)) | (1 << (TSqlParser.DIVIDE - 831)) | (1 << (TSqlParser.MODULE - 831)))) !== 0))) { - localctx.op = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8872; - this.expression(6); - break; - - case 2: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, TSqlParser.RULE_expression); - this.state = 8873; - if (!( this.precpred(this._ctx, 4))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 4)"); - } - this.state = 8874; - localctx.op = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 820)) & ~0x1f) == 0 && ((1 << (_la - 820)) & ((1 << (TSqlParser.DOUBLE_BAR - 820)) | (1 << (TSqlParser.PLUS - 820)) | (1 << (TSqlParser.MINUS - 820)) | (1 << (TSqlParser.BIT_OR - 820)) | (1 << (TSqlParser.BIT_AND - 820)) | (1 << (TSqlParser.BIT_XOR - 820)))) !== 0))) { - localctx.op = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8875; - this.expression(5); - break; - - case 3: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, TSqlParser.RULE_expression); - this.state = 8876; - if (!( this.precpred(this._ctx, 3))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); - } - this.state = 8877; - this.comparison_operator(); - this.state = 8878; - this.expression(4); - break; - - case 4: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, TSqlParser.RULE_expression); - this.state = 8880; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 8881; - this.assignment_operator(); - this.state = 8882; - this.expression(3); - break; - - case 5: - localctx = new ExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, TSqlParser.RULE_expression); - this.state = 8884; - if (!( this.precpred(this._ctx, 10))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 10)"); - } - this.state = 8885; - this.match(TSqlParser.COLLATE); - this.state = 8886; - this.id(); - break; - - } - } - this.state = 8891; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1260,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; -}; - - -function Primitive_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_primitive_expression; - return this; -} - -Primitive_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Primitive_expressionContext.prototype.constructor = Primitive_expressionContext; - -Primitive_expressionContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Primitive_expressionContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Primitive_expressionContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Primitive_expressionContext.prototype.constant = function() { - return this.getTypedRuleContext(ConstantContext,0); -}; - -Primitive_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPrimitive_expression(this); - } -}; - -Primitive_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPrimitive_expression(this); - } -}; - -Primitive_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPrimitive_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Primitive_expressionContext = Primitive_expressionContext; - -TSqlParser.prototype.primitive_expression = function() { - - var localctx = new Primitive_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 728, TSqlParser.RULE_primitive_expression); - try { - this.state = 8896; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DEFAULT: - this.enterOuterAlt(localctx, 1); - this.state = 8892; - this.match(TSqlParser.DEFAULT); - break; - case TSqlParser.NULL: - this.enterOuterAlt(localctx, 2); - this.state = 8893; - this.match(TSqlParser.NULL); - break; - case TSqlParser.LOCAL_ID: - this.enterOuterAlt(localctx, 3); - this.state = 8894; - this.match(TSqlParser.LOCAL_ID); - break; - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.enterOuterAlt(localctx, 4); - this.state = 8895; - this.constant(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Case_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_case_expression; - this.caseExpr = null; // ExpressionContext - this.elseExpr = null; // ExpressionContext - return this; -} - -Case_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Case_expressionContext.prototype.constructor = Case_expressionContext; - -Case_expressionContext.prototype.CASE = function() { - return this.getToken(TSqlParser.CASE, 0); -}; - -Case_expressionContext.prototype.END = function() { - return this.getToken(TSqlParser.END, 0); -}; - -Case_expressionContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -Case_expressionContext.prototype.switch_section = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Switch_sectionContext); - } else { - return this.getTypedRuleContext(Switch_sectionContext,i); - } -}; - -Case_expressionContext.prototype.ELSE = function() { - return this.getToken(TSqlParser.ELSE, 0); -}; - -Case_expressionContext.prototype.switch_search_condition_section = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Switch_search_condition_sectionContext); - } else { - return this.getTypedRuleContext(Switch_search_condition_sectionContext,i); - } -}; - -Case_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCase_expression(this); - } -}; - -Case_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCase_expression(this); - } -}; - -Case_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCase_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Case_expressionContext = Case_expressionContext; - -TSqlParser.prototype.case_expression = function() { - - var localctx = new Case_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 730, TSqlParser.RULE_case_expression); - var _la = 0; // Token type - try { - this.state = 8923; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1266,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8898; - this.match(TSqlParser.CASE); - this.state = 8899; - localctx.caseExpr = this.expression(0); - this.state = 8901; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 8900; - this.switch_section(); - this.state = 8903; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.WHEN); - this.state = 8907; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ELSE) { - this.state = 8905; - this.match(TSqlParser.ELSE); - this.state = 8906; - localctx.elseExpr = this.expression(0); - } - - this.state = 8909; - this.match(TSqlParser.END); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8911; - this.match(TSqlParser.CASE); - this.state = 8913; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 8912; - this.switch_search_condition_section(); - this.state = 8915; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===TSqlParser.WHEN); - this.state = 8919; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ELSE) { - this.state = 8917; - this.match(TSqlParser.ELSE); - this.state = 8918; - localctx.elseExpr = this.expression(0); - } - - this.state = 8921; - this.match(TSqlParser.END); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Unary_operator_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_unary_operator_expression; - this.op = null; // Token - return this; -} - -Unary_operator_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Unary_operator_expressionContext.prototype.constructor = Unary_operator_expressionContext; - -Unary_operator_expressionContext.prototype.BIT_NOT = function() { - return this.getToken(TSqlParser.BIT_NOT, 0); -}; - -Unary_operator_expressionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Unary_operator_expressionContext.prototype.PLUS = function() { - return this.getToken(TSqlParser.PLUS, 0); -}; - -Unary_operator_expressionContext.prototype.MINUS = function() { - return this.getToken(TSqlParser.MINUS, 0); -}; - -Unary_operator_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterUnary_operator_expression(this); - } -}; - -Unary_operator_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitUnary_operator_expression(this); - } -}; - -Unary_operator_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitUnary_operator_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Unary_operator_expressionContext = Unary_operator_expressionContext; - -TSqlParser.prototype.unary_operator_expression = function() { - - var localctx = new Unary_operator_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 732, TSqlParser.RULE_unary_operator_expression); - var _la = 0; // Token type - try { - this.state = 8929; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.BIT_NOT: - this.enterOuterAlt(localctx, 1); - this.state = 8925; - this.match(TSqlParser.BIT_NOT); - this.state = 8926; - this.expression(0); - break; - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.enterOuterAlt(localctx, 2); - this.state = 8927; - localctx.op = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.PLUS || _la===TSqlParser.MINUS)) { - localctx.op = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 8928; - this.expression(0); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Bracket_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_bracket_expression; - return this; -} - -Bracket_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Bracket_expressionContext.prototype.constructor = Bracket_expressionContext; - -Bracket_expressionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Bracket_expressionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Bracket_expressionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Bracket_expressionContext.prototype.subquery = function() { - return this.getTypedRuleContext(SubqueryContext,0); -}; - -Bracket_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBracket_expression(this); - } -}; - -Bracket_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBracket_expression(this); - } -}; - -Bracket_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBracket_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Bracket_expressionContext = Bracket_expressionContext; - -TSqlParser.prototype.bracket_expression = function() { - - var localctx = new Bracket_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 734, TSqlParser.RULE_bracket_expression); - try { - this.state = 8939; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1268,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8931; - this.match(TSqlParser.LR_BRACKET); - this.state = 8932; - this.expression(0); - this.state = 8933; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8935; - this.match(TSqlParser.LR_BRACKET); - this.state = 8936; - this.subquery(); - this.state = 8937; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Constant_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_constant_expression; - return this; -} - -Constant_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Constant_expressionContext.prototype.constructor = Constant_expressionContext; - -Constant_expressionContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Constant_expressionContext.prototype.constant = function() { - return this.getTypedRuleContext(ConstantContext,0); -}; - -Constant_expressionContext.prototype.function_call = function() { - return this.getTypedRuleContext(Function_callContext,0); -}; - -Constant_expressionContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Constant_expressionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Constant_expressionContext.prototype.constant_expression = function() { - return this.getTypedRuleContext(Constant_expressionContext,0); -}; - -Constant_expressionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Constant_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterConstant_expression(this); - } -}; - -Constant_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitConstant_expression(this); - } -}; - -Constant_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitConstant_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Constant_expressionContext = Constant_expressionContext; - -TSqlParser.prototype.constant_expression = function() { - - var localctx = new Constant_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 736, TSqlParser.RULE_constant_expression); - try { - this.state = 8949; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1269,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8941; - this.match(TSqlParser.NULL); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8942; - this.constant(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 8943; - this.function_call(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 8944; - this.match(TSqlParser.LOCAL_ID); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 8945; - this.match(TSqlParser.LR_BRACKET); - this.state = 8946; - this.constant_expression(); - this.state = 8947; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function SubqueryContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_subquery; - return this; -} - -SubqueryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -SubqueryContext.prototype.constructor = SubqueryContext; - -SubqueryContext.prototype.select_statement = function() { - return this.getTypedRuleContext(Select_statementContext,0); -}; - -SubqueryContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSubquery(this); - } -}; - -SubqueryContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSubquery(this); - } -}; - -SubqueryContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSubquery(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.SubqueryContext = SubqueryContext; - -TSqlParser.prototype.subquery = function() { - - var localctx = new SubqueryContext(this, this._ctx, this.state); - this.enterRule(localctx, 738, TSqlParser.RULE_subquery); - try { - this.enterOuterAlt(localctx, 1); - this.state = 8951; - this.select_statement(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function With_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_with_expression; - return this; -} - -With_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -With_expressionContext.prototype.constructor = With_expressionContext; - -With_expressionContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -With_expressionContext.prototype.common_table_expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Common_table_expressionContext); - } else { - return this.getTypedRuleContext(Common_table_expressionContext,i); - } -}; - -With_expressionContext.prototype.XMLNAMESPACES = function() { - return this.getToken(TSqlParser.XMLNAMESPACES, 0); -}; - -With_expressionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -With_expressionContext.prototype.BLOCKING_HIERARCHY = function() { - return this.getToken(TSqlParser.BLOCKING_HIERARCHY, 0); -}; - -With_expressionContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -With_expressionContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -With_expressionContext.prototype.select_statement = function() { - return this.getTypedRuleContext(Select_statementContext,0); -}; - -With_expressionContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -With_expressionContext.prototype.full_column_name_list = function() { - return this.getTypedRuleContext(Full_column_name_listContext,0); -}; - -With_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWith_expression(this); - } -}; - -With_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWith_expression(this); - } -}; - -With_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWith_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.With_expressionContext = With_expressionContext; - -TSqlParser.prototype.with_expression = function() { - - var localctx = new With_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 740, TSqlParser.RULE_with_expression); - var _la = 0; // Token type - try { - this.state = 8979; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1273,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8953; - this.match(TSqlParser.WITH); - this.state = 8956; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1270,this._ctx); - if(la_===1) { - this.state = 8954; - this.match(TSqlParser.XMLNAMESPACES); - this.state = 8955; - this.match(TSqlParser.COMMA); - - } - this.state = 8958; - this.common_table_expression(); - this.state = 8963; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 8959; - this.match(TSqlParser.COMMA); - this.state = 8960; - this.common_table_expression(); - this.state = 8965; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 8966; - this.match(TSqlParser.WITH); - this.state = 8967; - this.match(TSqlParser.BLOCKING_HIERARCHY); - this.state = 8972; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 8968; - this.match(TSqlParser.LR_BRACKET); - this.state = 8969; - this.full_column_name_list(); - this.state = 8970; - this.match(TSqlParser.RR_BRACKET); - } - - this.state = 8974; - this.match(TSqlParser.AS); - this.state = 8975; - this.match(TSqlParser.LR_BRACKET); - this.state = 8976; - this.select_statement(); - this.state = 8977; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Common_table_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_common_table_expression; - this.expression_name = null; // IdContext - return this; -} - -Common_table_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Common_table_expressionContext.prototype.constructor = Common_table_expressionContext; - -Common_table_expressionContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -Common_table_expressionContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Common_table_expressionContext.prototype.select_statement = function() { - return this.getTypedRuleContext(Select_statementContext,0); -}; - -Common_table_expressionContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Common_table_expressionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Common_table_expressionContext.prototype.column_name_list = function() { - return this.getTypedRuleContext(Column_name_listContext,0); -}; - -Common_table_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCommon_table_expression(this); - } -}; - -Common_table_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCommon_table_expression(this); - } -}; - -Common_table_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCommon_table_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Common_table_expressionContext = Common_table_expressionContext; - -TSqlParser.prototype.common_table_expression = function() { - - var localctx = new Common_table_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 742, TSqlParser.RULE_common_table_expression); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 8981; - localctx.expression_name = this.id(); - this.state = 8986; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 8982; - this.match(TSqlParser.LR_BRACKET); - this.state = 8983; - this.column_name_list(); - this.state = 8984; - this.match(TSqlParser.RR_BRACKET); - } - - this.state = 8988; - this.match(TSqlParser.AS); - this.state = 8989; - this.match(TSqlParser.LR_BRACKET); - this.state = 8990; - this.select_statement(); - this.state = 8991; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Update_elemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_update_elem; - this.udt_column_name = null; // IdContext - this.method_name = null; // IdContext - return this; -} - -Update_elemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Update_elemContext.prototype.constructor = Update_elemContext; - -Update_elemContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Update_elemContext.prototype.full_column_name = function() { - return this.getTypedRuleContext(Full_column_nameContext,0); -}; - -Update_elemContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Update_elemContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Update_elemContext.prototype.assignment_operator = function() { - return this.getTypedRuleContext(Assignment_operatorContext,0); -}; - -Update_elemContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Update_elemContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Update_elemContext.prototype.expression_list = function() { - return this.getTypedRuleContext(Expression_listContext,0); -}; - -Update_elemContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Update_elemContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Update_elemContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterUpdate_elem(this); - } -}; - -Update_elemContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitUpdate_elem(this); - } -}; - -Update_elemContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitUpdate_elem(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Update_elemContext = Update_elemContext; - -TSqlParser.prototype.update_elem = function() { - - var localctx = new Update_elemContext(this, this._ctx, this.state); - this.enterRule(localctx, 744, TSqlParser.RULE_update_elem); - try { - this.state = 9009; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1277,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 8995; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.BLOCKING_HIERARCHY: - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 8993; - this.full_column_name(); - break; - case TSqlParser.LOCAL_ID: - this.state = 8994; - this.match(TSqlParser.LOCAL_ID); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 8999; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.EQUAL: - this.state = 8997; - this.match(TSqlParser.EQUAL); - break; - case TSqlParser.PLUS_ASSIGN: - case TSqlParser.MINUS_ASSIGN: - case TSqlParser.MULT_ASSIGN: - case TSqlParser.DIV_ASSIGN: - case TSqlParser.MOD_ASSIGN: - case TSqlParser.AND_ASSIGN: - case TSqlParser.XOR_ASSIGN: - case TSqlParser.OR_ASSIGN: - this.state = 8998; - this.assignment_operator(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 9001; - this.expression(0); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9002; - localctx.udt_column_name = this.id(); - this.state = 9003; - this.match(TSqlParser.DOT); - this.state = 9004; - localctx.method_name = this.id(); - this.state = 9005; - this.match(TSqlParser.LR_BRACKET); - this.state = 9006; - this.expression_list(); - this.state = 9007; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Search_condition_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_search_condition_list; - return this; -} - -Search_condition_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Search_condition_listContext.prototype.constructor = Search_condition_listContext; - -Search_condition_listContext.prototype.search_condition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Search_conditionContext); - } else { - return this.getTypedRuleContext(Search_conditionContext,i); - } -}; - -Search_condition_listContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Search_condition_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSearch_condition_list(this); - } -}; - -Search_condition_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSearch_condition_list(this); - } -}; - -Search_condition_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSearch_condition_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Search_condition_listContext = Search_condition_listContext; - -TSqlParser.prototype.search_condition_list = function() { - - var localctx = new Search_condition_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 746, TSqlParser.RULE_search_condition_list); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9011; - this.search_condition(); - this.state = 9016; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 9012; - this.match(TSqlParser.COMMA); - this.state = 9013; - this.search_condition(); - this.state = 9018; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Search_conditionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_search_condition; - return this; -} - -Search_conditionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Search_conditionContext.prototype.constructor = Search_conditionContext; - -Search_conditionContext.prototype.search_condition_and = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Search_condition_andContext); - } else { - return this.getTypedRuleContext(Search_condition_andContext,i); - } -}; - -Search_conditionContext.prototype.OR = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.OR); - } else { - return this.getToken(TSqlParser.OR, i); - } -}; - - -Search_conditionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSearch_condition(this); - } -}; - -Search_conditionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSearch_condition(this); - } -}; - -Search_conditionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSearch_condition(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Search_conditionContext = Search_conditionContext; - -TSqlParser.prototype.search_condition = function() { - - var localctx = new Search_conditionContext(this, this._ctx, this.state); - this.enterRule(localctx, 748, TSqlParser.RULE_search_condition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9019; - this.search_condition_and(); - this.state = 9024; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.OR) { - this.state = 9020; - this.match(TSqlParser.OR); - this.state = 9021; - this.search_condition_and(); - this.state = 9026; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Search_condition_andContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_search_condition_and; - return this; -} - -Search_condition_andContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Search_condition_andContext.prototype.constructor = Search_condition_andContext; - -Search_condition_andContext.prototype.search_condition_not = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Search_condition_notContext); - } else { - return this.getTypedRuleContext(Search_condition_notContext,i); - } -}; - -Search_condition_andContext.prototype.AND = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.AND); - } else { - return this.getToken(TSqlParser.AND, i); - } -}; - - -Search_condition_andContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSearch_condition_and(this); - } -}; - -Search_condition_andContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSearch_condition_and(this); - } -}; - -Search_condition_andContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSearch_condition_and(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Search_condition_andContext = Search_condition_andContext; - -TSqlParser.prototype.search_condition_and = function() { - - var localctx = new Search_condition_andContext(this, this._ctx, this.state); - this.enterRule(localctx, 750, TSqlParser.RULE_search_condition_and); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9027; - this.search_condition_not(); - this.state = 9032; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.AND) { - this.state = 9028; - this.match(TSqlParser.AND); - this.state = 9029; - this.search_condition_not(); - this.state = 9034; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Search_condition_notContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_search_condition_not; - return this; -} - -Search_condition_notContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Search_condition_notContext.prototype.constructor = Search_condition_notContext; - -Search_condition_notContext.prototype.predicate = function() { - return this.getTypedRuleContext(PredicateContext,0); -}; - -Search_condition_notContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Search_condition_notContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSearch_condition_not(this); - } -}; - -Search_condition_notContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSearch_condition_not(this); - } -}; - -Search_condition_notContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSearch_condition_not(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Search_condition_notContext = Search_condition_notContext; - -TSqlParser.prototype.search_condition_not = function() { - - var localctx = new Search_condition_notContext(this, this._ctx, this.state); - this.enterRule(localctx, 752, TSqlParser.RULE_search_condition_not); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9036; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 9035; - this.match(TSqlParser.NOT); - } - - this.state = 9038; - this.predicate(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function PredicateContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_predicate; - return this; -} - -PredicateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -PredicateContext.prototype.constructor = PredicateContext; - -PredicateContext.prototype.EXISTS = function() { - return this.getToken(TSqlParser.EXISTS, 0); -}; - -PredicateContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -PredicateContext.prototype.subquery = function() { - return this.getTypedRuleContext(SubqueryContext,0); -}; - -PredicateContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -PredicateContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -PredicateContext.prototype.comparison_operator = function() { - return this.getTypedRuleContext(Comparison_operatorContext,0); -}; - -PredicateContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -PredicateContext.prototype.SOME = function() { - return this.getToken(TSqlParser.SOME, 0); -}; - -PredicateContext.prototype.ANY = function() { - return this.getToken(TSqlParser.ANY, 0); -}; - -PredicateContext.prototype.BETWEEN = function() { - return this.getToken(TSqlParser.BETWEEN, 0); -}; - -PredicateContext.prototype.AND = function() { - return this.getToken(TSqlParser.AND, 0); -}; - -PredicateContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -PredicateContext.prototype.IN = function() { - return this.getToken(TSqlParser.IN, 0); -}; - -PredicateContext.prototype.expression_list = function() { - return this.getTypedRuleContext(Expression_listContext,0); -}; - -PredicateContext.prototype.LIKE = function() { - return this.getToken(TSqlParser.LIKE, 0); -}; - -PredicateContext.prototype.ESCAPE = function() { - return this.getToken(TSqlParser.ESCAPE, 0); -}; - -PredicateContext.prototype.IS = function() { - return this.getToken(TSqlParser.IS, 0); -}; - -PredicateContext.prototype.null_notnull = function() { - return this.getTypedRuleContext(Null_notnullContext,0); -}; - -PredicateContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -PredicateContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPredicate(this); - } -}; - -PredicateContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPredicate(this); - } -}; - -PredicateContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPredicate(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.PredicateContext = PredicateContext; - -TSqlParser.prototype.predicate = function() { - - var localctx = new PredicateContext(this, this._ctx, this.state); - this.enterRule(localctx, 754, TSqlParser.RULE_predicate); - var _la = 0; // Token type - try { - this.state = 9095; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1287,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9040; - this.match(TSqlParser.EXISTS); - this.state = 9041; - this.match(TSqlParser.LR_BRACKET); - this.state = 9042; - this.subquery(); - this.state = 9043; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9045; - this.expression(0); - this.state = 9046; - this.comparison_operator(); - this.state = 9047; - this.expression(0); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9049; - this.expression(0); - this.state = 9050; - this.comparison_operator(); - this.state = 9051; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.ANY || _la===TSqlParser.SOME)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9052; - this.match(TSqlParser.LR_BRACKET); - this.state = 9053; - this.subquery(); - this.state = 9054; - this.match(TSqlParser.RR_BRACKET); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 9056; - this.expression(0); - this.state = 9058; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 9057; - this.match(TSqlParser.NOT); - } - - this.state = 9060; - this.match(TSqlParser.BETWEEN); - this.state = 9061; - this.expression(0); - this.state = 9062; - this.match(TSqlParser.AND); - this.state = 9063; - this.expression(0); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 9065; - this.expression(0); - this.state = 9067; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 9066; - this.match(TSqlParser.NOT); - } - - this.state = 9069; - this.match(TSqlParser.IN); - this.state = 9070; - this.match(TSqlParser.LR_BRACKET); - this.state = 9073; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1284,this._ctx); - switch(la_) { - case 1: - this.state = 9071; - this.subquery(); - break; - - case 2: - this.state = 9072; - this.expression_list(); - break; - - } - this.state = 9075; - this.match(TSqlParser.RR_BRACKET); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 9077; - this.expression(0); - this.state = 9079; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 9078; - this.match(TSqlParser.NOT); - } - - this.state = 9081; - this.match(TSqlParser.LIKE); - this.state = 9082; - this.expression(0); - this.state = 9085; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ESCAPE) { - this.state = 9083; - this.match(TSqlParser.ESCAPE); - this.state = 9084; - this.expression(0); - } - - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 9087; - this.expression(0); - this.state = 9088; - this.match(TSqlParser.IS); - this.state = 9089; - this.null_notnull(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 9091; - this.match(TSqlParser.LR_BRACKET); - this.state = 9092; - this.search_condition(); - this.state = 9093; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Query_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_query_expression; - return this; -} - -Query_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Query_expressionContext.prototype.constructor = Query_expressionContext; - -Query_expressionContext.prototype.query_specification = function() { - return this.getTypedRuleContext(Query_specificationContext,0); -}; - -Query_expressionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Query_expressionContext.prototype.query_expression = function() { - return this.getTypedRuleContext(Query_expressionContext,0); -}; - -Query_expressionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Query_expressionContext.prototype.sql_union = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Sql_unionContext); - } else { - return this.getTypedRuleContext(Sql_unionContext,i); - } -}; - -Query_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterQuery_expression(this); - } -}; - -Query_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitQuery_expression(this); - } -}; - -Query_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitQuery_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Query_expressionContext = Query_expressionContext; - -TSqlParser.prototype.query_expression = function() { - - var localctx = new Query_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 756, TSqlParser.RULE_query_expression); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9102; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.SELECT: - this.state = 9097; - this.query_specification(); - break; - case TSqlParser.LR_BRACKET: - this.state = 9098; - this.match(TSqlParser.LR_BRACKET); - this.state = 9099; - this.query_expression(); - this.state = 9100; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 9107; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1289,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9104; - this.sql_union(); - } - this.state = 9109; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1289,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Sql_unionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_sql_union; - return this; -} - -Sql_unionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Sql_unionContext.prototype.constructor = Sql_unionContext; - -Sql_unionContext.prototype.UNION = function() { - return this.getToken(TSqlParser.UNION, 0); -}; - -Sql_unionContext.prototype.EXCEPT = function() { - return this.getToken(TSqlParser.EXCEPT, 0); -}; - -Sql_unionContext.prototype.INTERSECT = function() { - return this.getToken(TSqlParser.INTERSECT, 0); -}; - -Sql_unionContext.prototype.query_specification = function() { - return this.getTypedRuleContext(Query_specificationContext,0); -}; - -Sql_unionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Sql_unionContext.prototype.query_expression = function() { - return this.getTypedRuleContext(Query_expressionContext,0); -}; - -Sql_unionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Sql_unionContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -Sql_unionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSql_union(this); - } -}; - -Sql_unionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSql_union(this); - } -}; - -Sql_unionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSql_union(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Sql_unionContext = Sql_unionContext; - -TSqlParser.prototype.sql_union = function() { - - var localctx = new Sql_unionContext(this, this._ctx, this.state); - this.enterRule(localctx, 758, TSqlParser.RULE_sql_union); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9116; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.UNION: - this.state = 9110; - this.match(TSqlParser.UNION); - this.state = 9112; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ALL) { - this.state = 9111; - this.match(TSqlParser.ALL); - } - - break; - case TSqlParser.EXCEPT: - this.state = 9114; - this.match(TSqlParser.EXCEPT); - break; - case TSqlParser.INTERSECT: - this.state = 9115; - this.match(TSqlParser.INTERSECT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 9123; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.SELECT: - this.state = 9118; - this.query_specification(); - break; - case TSqlParser.LR_BRACKET: - this.state = 9119; - this.match(TSqlParser.LR_BRACKET); - this.state = 9120; - this.query_expression(); - this.state = 9121; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Query_specificationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_query_specification; - this.where = null; // Search_conditionContext - this.having = null; // Search_conditionContext - return this; -} - -Query_specificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Query_specificationContext.prototype.constructor = Query_specificationContext; - -Query_specificationContext.prototype.SELECT = function() { - return this.getToken(TSqlParser.SELECT, 0); -}; - -Query_specificationContext.prototype.select_list = function() { - return this.getTypedRuleContext(Select_listContext,0); -}; - -Query_specificationContext.prototype.top_clause = function() { - return this.getTypedRuleContext(Top_clauseContext,0); -}; - -Query_specificationContext.prototype.INTO = function() { - return this.getToken(TSqlParser.INTO, 0); -}; - -Query_specificationContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Query_specificationContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Query_specificationContext.prototype.table_sources = function() { - return this.getTypedRuleContext(Table_sourcesContext,0); -}; - -Query_specificationContext.prototype.WHERE = function() { - return this.getToken(TSqlParser.WHERE, 0); -}; - -Query_specificationContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Query_specificationContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Query_specificationContext.prototype.group_by_item = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Group_by_itemContext); - } else { - return this.getTypedRuleContext(Group_by_itemContext,i); - } -}; - -Query_specificationContext.prototype.HAVING = function() { - return this.getToken(TSqlParser.HAVING, 0); -}; - -Query_specificationContext.prototype.ALL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ALL); - } else { - return this.getToken(TSqlParser.ALL, i); - } -}; - - -Query_specificationContext.prototype.DISTINCT = function() { - return this.getToken(TSqlParser.DISTINCT, 0); -}; - -Query_specificationContext.prototype.search_condition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Search_conditionContext); - } else { - return this.getTypedRuleContext(Search_conditionContext,i); - } -}; - -Query_specificationContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Query_specificationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterQuery_specification(this); - } -}; - -Query_specificationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitQuery_specification(this); - } -}; - -Query_specificationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitQuery_specification(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Query_specificationContext = Query_specificationContext; - -TSqlParser.prototype.query_specification = function() { - - var localctx = new Query_specificationContext(this, this._ctx, this.state); - this.enterRule(localctx, 760, TSqlParser.RULE_query_specification); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9125; - this.match(TSqlParser.SELECT); - this.state = 9127; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ALL || _la===TSqlParser.DISTINCT) { - this.state = 9126; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.DISTINCT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 9130; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.TOP) { - this.state = 9129; - this.top_clause(); - } - - this.state = 9132; - this.select_list(); - this.state = 9135; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INTO) { - this.state = 9133; - this.match(TSqlParser.INTO); - this.state = 9134; - this.table_name(); - } - - this.state = 9139; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FROM) { - this.state = 9137; - this.match(TSqlParser.FROM); - this.state = 9138; - this.table_sources(); - } - - this.state = 9143; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1297,this._ctx); - if(la_===1) { - this.state = 9141; - this.match(TSqlParser.WHERE); - this.state = 9142; - localctx.where = this.search_condition(); - - } - this.state = 9158; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1300,this._ctx); - if(la_===1) { - this.state = 9145; - this.match(TSqlParser.GROUP); - this.state = 9146; - this.match(TSqlParser.BY); - this.state = 9148; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ALL) { - this.state = 9147; - this.match(TSqlParser.ALL); - } - - this.state = 9150; - this.group_by_item(); - this.state = 9155; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1299,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9151; - this.match(TSqlParser.COMMA); - this.state = 9152; - this.group_by_item(); - } - this.state = 9157; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1299,this._ctx); - } - - - } - this.state = 9162; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1301,this._ctx); - if(la_===1) { - this.state = 9160; - this.match(TSqlParser.HAVING); - this.state = 9161; - localctx.having = this.search_condition(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Top_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_top_clause; - return this; -} - -Top_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Top_clauseContext.prototype.constructor = Top_clauseContext; - -Top_clauseContext.prototype.TOP = function() { - return this.getToken(TSqlParser.TOP, 0); -}; - -Top_clauseContext.prototype.top_percent = function() { - return this.getTypedRuleContext(Top_percentContext,0); -}; - -Top_clauseContext.prototype.top_count = function() { - return this.getTypedRuleContext(Top_countContext,0); -}; - -Top_clauseContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Top_clauseContext.prototype.TIES = function() { - return this.getToken(TSqlParser.TIES, 0); -}; - -Top_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTop_clause(this); - } -}; - -Top_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTop_clause(this); - } -}; - -Top_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTop_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Top_clauseContext = Top_clauseContext; - -TSqlParser.prototype.top_clause = function() { - - var localctx = new Top_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 762, TSqlParser.RULE_top_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9164; - this.match(TSqlParser.TOP); - this.state = 9167; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1302,this._ctx); - switch(la_) { - case 1: - this.state = 9165; - this.top_percent(); - break; - - case 2: - this.state = 9166; - this.top_count(); - break; - - } - this.state = 9171; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 9169; - this.match(TSqlParser.WITH); - this.state = 9170; - this.match(TSqlParser.TIES); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Top_percentContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_top_percent; - return this; -} - -Top_percentContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Top_percentContext.prototype.constructor = Top_percentContext; - -Top_percentContext.prototype.PERCENT = function() { - return this.getToken(TSqlParser.PERCENT, 0); -}; - -Top_percentContext.prototype.REAL = function() { - return this.getToken(TSqlParser.REAL, 0); -}; - -Top_percentContext.prototype.FLOAT = function() { - return this.getToken(TSqlParser.FLOAT, 0); -}; - -Top_percentContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Top_percentContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Top_percentContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Top_percentContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTop_percent(this); - } -}; - -Top_percentContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTop_percent(this); - } -}; - -Top_percentContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTop_percent(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Top_percentContext = Top_percentContext; - -TSqlParser.prototype.top_percent = function() { - - var localctx = new Top_percentContext(this, this._ctx, this.state); - this.enterRule(localctx, 764, TSqlParser.RULE_top_percent); - var _la = 0; // Token type - try { - this.state = 9180; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FLOAT: - case TSqlParser.REAL: - this.enterOuterAlt(localctx, 1); - this.state = 9173; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FLOAT || _la===TSqlParser.REAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9174; - this.match(TSqlParser.PERCENT); - break; - case TSqlParser.LR_BRACKET: - this.enterOuterAlt(localctx, 2); - this.state = 9175; - this.match(TSqlParser.LR_BRACKET); - this.state = 9176; - this.expression(0); - this.state = 9177; - this.match(TSqlParser.RR_BRACKET); - this.state = 9178; - this.match(TSqlParser.PERCENT); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Top_countContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_top_count; - return this; -} - -Top_countContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Top_countContext.prototype.constructor = Top_countContext; - -Top_countContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Top_countContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Top_countContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Top_countContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Top_countContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTop_count(this); - } -}; - -Top_countContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTop_count(this); - } -}; - -Top_countContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTop_count(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Top_countContext = Top_countContext; - -TSqlParser.prototype.top_count = function() { - - var localctx = new Top_countContext(this, this._ctx, this.state); - this.enterRule(localctx, 766, TSqlParser.RULE_top_count); - try { - this.state = 9187; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.enterOuterAlt(localctx, 1); - this.state = 9182; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.LR_BRACKET: - this.enterOuterAlt(localctx, 2); - this.state = 9183; - this.match(TSqlParser.LR_BRACKET); - this.state = 9184; - this.expression(0); - this.state = 9185; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Order_by_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_order_by_clause; - return this; -} - -Order_by_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Order_by_clauseContext.prototype.constructor = Order_by_clauseContext; - -Order_by_clauseContext.prototype.ORDER = function() { - return this.getToken(TSqlParser.ORDER, 0); -}; - -Order_by_clauseContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Order_by_clauseContext.prototype.order_by_expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Order_by_expressionContext); - } else { - return this.getTypedRuleContext(Order_by_expressionContext,i); - } -}; - -Order_by_clauseContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Order_by_clauseContext.prototype.OFFSET = function() { - return this.getToken(TSqlParser.OFFSET, 0); -}; - -Order_by_clauseContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -Order_by_clauseContext.prototype.ROW = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ROW); - } else { - return this.getToken(TSqlParser.ROW, i); - } -}; - - -Order_by_clauseContext.prototype.ROWS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ROWS); - } else { - return this.getToken(TSqlParser.ROWS, i); - } -}; - - -Order_by_clauseContext.prototype.FETCH = function() { - return this.getToken(TSqlParser.FETCH, 0); -}; - -Order_by_clauseContext.prototype.ONLY = function() { - return this.getToken(TSqlParser.ONLY, 0); -}; - -Order_by_clauseContext.prototype.FIRST = function() { - return this.getToken(TSqlParser.FIRST, 0); -}; - -Order_by_clauseContext.prototype.NEXT = function() { - return this.getToken(TSqlParser.NEXT, 0); -}; - -Order_by_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOrder_by_clause(this); - } -}; - -Order_by_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOrder_by_clause(this); - } -}; - -Order_by_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOrder_by_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Order_by_clauseContext = Order_by_clauseContext; - -TSqlParser.prototype.order_by_clause = function() { - - var localctx = new Order_by_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 768, TSqlParser.RULE_order_by_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9189; - this.match(TSqlParser.ORDER); - this.state = 9190; - this.match(TSqlParser.BY); - this.state = 9191; - this.order_by_expression(); - this.state = 9196; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1306,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9192; - this.match(TSqlParser.COMMA); - this.state = 9193; - this.order_by_expression(); - } - this.state = 9198; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1306,this._ctx); - } - - this.state = 9210; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1308,this._ctx); - if(la_===1) { - this.state = 9199; - this.match(TSqlParser.OFFSET); - this.state = 9200; - this.expression(0); - this.state = 9201; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ROW || _la===TSqlParser.ROWS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9208; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1307,this._ctx); - if(la_===1) { - this.state = 9202; - this.match(TSqlParser.FETCH); - this.state = 9203; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FIRST || _la===TSqlParser.NEXT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9204; - this.expression(0); - this.state = 9205; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ROW || _la===TSqlParser.ROWS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9206; - this.match(TSqlParser.ONLY); - - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function For_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_for_clause; - return this; -} - -For_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -For_clauseContext.prototype.constructor = For_clauseContext; - -For_clauseContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -For_clauseContext.prototype.BROWSE = function() { - return this.getToken(TSqlParser.BROWSE, 0); -}; - -For_clauseContext.prototype.XML = function() { - return this.getToken(TSqlParser.XML, 0); -}; - -For_clauseContext.prototype.RAW = function() { - return this.getToken(TSqlParser.RAW, 0); -}; - -For_clauseContext.prototype.AUTO = function() { - return this.getToken(TSqlParser.AUTO, 0); -}; - -For_clauseContext.prototype.xml_common_directives = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Xml_common_directivesContext); - } else { - return this.getTypedRuleContext(Xml_common_directivesContext,i); - } -}; - -For_clauseContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -For_clauseContext.prototype.ELEMENTS = function() { - return this.getToken(TSqlParser.ELEMENTS, 0); -}; - -For_clauseContext.prototype.XSINIL = function() { - return this.getToken(TSqlParser.XSINIL, 0); -}; - -For_clauseContext.prototype.ABSENT = function() { - return this.getToken(TSqlParser.ABSENT, 0); -}; - -For_clauseContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -For_clauseContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -For_clauseContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -For_clauseContext.prototype.XMLDATA = function() { - return this.getToken(TSqlParser.XMLDATA, 0); -}; - -For_clauseContext.prototype.XMLSCHEMA = function() { - return this.getToken(TSqlParser.XMLSCHEMA, 0); -}; - -For_clauseContext.prototype.EXPLICIT = function() { - return this.getToken(TSqlParser.EXPLICIT, 0); -}; - -For_clauseContext.prototype.PATH = function() { - return this.getToken(TSqlParser.PATH, 0); -}; - -For_clauseContext.prototype.JSON = function() { - return this.getToken(TSqlParser.JSON, 0); -}; - -For_clauseContext.prototype.ROOT = function() { - return this.getToken(TSqlParser.ROOT, 0); -}; - -For_clauseContext.prototype.INCLUDE_NULL_VALUES = function() { - return this.getToken(TSqlParser.INCLUDE_NULL_VALUES, 0); -}; - -For_clauseContext.prototype.WITHOUT_ARRAY_WRAPPER = function() { - return this.getToken(TSqlParser.WITHOUT_ARRAY_WRAPPER, 0); -}; - -For_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFor_clause(this); - } -}; - -For_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFor_clause(this); - } -}; - -For_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFor_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.For_clauseContext = For_clauseContext; - -TSqlParser.prototype.for_clause = function() { - - var localctx = new For_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 770, TSqlParser.RULE_for_clause); - var _la = 0; // Token type - try { - this.state = 9300; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1325,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9212; - this.match(TSqlParser.FOR); - this.state = 9213; - this.match(TSqlParser.BROWSE); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9214; - this.match(TSqlParser.FOR); - this.state = 9215; - this.match(TSqlParser.XML); - this.state = 9223; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.RAW: - this.state = 9216; - this.match(TSqlParser.RAW); - this.state = 9220; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1309,this._ctx); - if(la_===1) { - this.state = 9217; - this.match(TSqlParser.LR_BRACKET); - this.state = 9218; - this.match(TSqlParser.STRING); - this.state = 9219; - this.match(TSqlParser.RR_BRACKET); - - } - break; - case TSqlParser.AUTO: - this.state = 9222; - this.match(TSqlParser.AUTO); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 9228; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1311,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9225; - this.xml_common_directives(); - } - this.state = 9230; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1311,this._ctx); - } - - this.state = 9241; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1314,this._ctx); - if(la_===1) { - this.state = 9231; - this.match(TSqlParser.COMMA); - this.state = 9239; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.XMLDATA: - this.state = 9232; - this.match(TSqlParser.XMLDATA); - break; - case TSqlParser.XMLSCHEMA: - this.state = 9233; - this.match(TSqlParser.XMLSCHEMA); - this.state = 9237; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1312,this._ctx); - if(la_===1) { - this.state = 9234; - this.match(TSqlParser.LR_BRACKET); - this.state = 9235; - this.match(TSqlParser.STRING); - this.state = 9236; - this.match(TSqlParser.RR_BRACKET); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - - } - this.state = 9246; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1315,this._ctx); - if(la_===1) { - this.state = 9243; - this.match(TSqlParser.COMMA); - this.state = 9244; - this.match(TSqlParser.ELEMENTS); - this.state = 9245; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ABSENT || _la===TSqlParser.XSINIL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9248; - this.match(TSqlParser.FOR); - this.state = 9249; - this.match(TSqlParser.XML); - this.state = 9250; - this.match(TSqlParser.EXPLICIT); - this.state = 9254; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1316,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9251; - this.xml_common_directives(); - } - this.state = 9256; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1316,this._ctx); - } - - this.state = 9259; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1317,this._ctx); - if(la_===1) { - this.state = 9257; - this.match(TSqlParser.COMMA); - this.state = 9258; - this.match(TSqlParser.XMLDATA); - - } - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 9261; - this.match(TSqlParser.FOR); - this.state = 9262; - this.match(TSqlParser.XML); - this.state = 9263; - this.match(TSqlParser.PATH); - this.state = 9267; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1318,this._ctx); - if(la_===1) { - this.state = 9264; - this.match(TSqlParser.LR_BRACKET); - this.state = 9265; - this.match(TSqlParser.STRING); - this.state = 9266; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 9272; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1319,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9269; - this.xml_common_directives(); - } - this.state = 9274; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1319,this._ctx); - } - - this.state = 9278; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1320,this._ctx); - if(la_===1) { - this.state = 9275; - this.match(TSqlParser.COMMA); - this.state = 9276; - this.match(TSqlParser.ELEMENTS); - this.state = 9277; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ABSENT || _la===TSqlParser.XSINIL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 9280; - this.match(TSqlParser.FOR); - this.state = 9281; - this.match(TSqlParser.JSON); - this.state = 9282; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AUTO || _la===TSqlParser.PATH)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9290; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1322,this._ctx); - if(la_===1) { - this.state = 9283; - this.match(TSqlParser.COMMA); - this.state = 9284; - this.match(TSqlParser.ROOT); - this.state = 9288; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1321,this._ctx); - if(la_===1) { - this.state = 9285; - this.match(TSqlParser.LR_BRACKET); - this.state = 9286; - this.match(TSqlParser.STRING); - this.state = 9287; - this.match(TSqlParser.RR_BRACKET); - - } - - } - this.state = 9294; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1323,this._ctx); - if(la_===1) { - this.state = 9292; - this.match(TSqlParser.COMMA); - this.state = 9293; - this.match(TSqlParser.INCLUDE_NULL_VALUES); - - } - this.state = 9298; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1324,this._ctx); - if(la_===1) { - this.state = 9296; - this.match(TSqlParser.COMMA); - this.state = 9297; - this.match(TSqlParser.WITHOUT_ARRAY_WRAPPER); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Xml_common_directivesContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_xml_common_directives; - return this; -} - -Xml_common_directivesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Xml_common_directivesContext.prototype.constructor = Xml_common_directivesContext; - -Xml_common_directivesContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Xml_common_directivesContext.prototype.BINARY_BASE64 = function() { - return this.getToken(TSqlParser.BINARY_BASE64, 0); -}; - -Xml_common_directivesContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Xml_common_directivesContext.prototype.ROOT = function() { - return this.getToken(TSqlParser.ROOT, 0); -}; - -Xml_common_directivesContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Xml_common_directivesContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Xml_common_directivesContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Xml_common_directivesContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterXml_common_directives(this); - } -}; - -Xml_common_directivesContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitXml_common_directives(this); - } -}; - -Xml_common_directivesContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitXml_common_directives(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Xml_common_directivesContext = Xml_common_directivesContext; - -TSqlParser.prototype.xml_common_directives = function() { - - var localctx = new Xml_common_directivesContext(this, this._ctx, this.state); - this.enterRule(localctx, 772, TSqlParser.RULE_xml_common_directives); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9302; - this.match(TSqlParser.COMMA); - this.state = 9311; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.BINARY_BASE64: - this.state = 9303; - this.match(TSqlParser.BINARY_BASE64); - break; - case TSqlParser.TYPE: - this.state = 9304; - this.match(TSqlParser.TYPE); - break; - case TSqlParser.ROOT: - this.state = 9305; - this.match(TSqlParser.ROOT); - this.state = 9309; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1326,this._ctx); - if(la_===1) { - this.state = 9306; - this.match(TSqlParser.LR_BRACKET); - this.state = 9307; - this.match(TSqlParser.STRING); - this.state = 9308; - this.match(TSqlParser.RR_BRACKET); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Order_by_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_order_by_expression; - return this; -} - -Order_by_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Order_by_expressionContext.prototype.constructor = Order_by_expressionContext; - -Order_by_expressionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Order_by_expressionContext.prototype.ASC = function() { - return this.getToken(TSqlParser.ASC, 0); -}; - -Order_by_expressionContext.prototype.DESC = function() { - return this.getToken(TSqlParser.DESC, 0); -}; - -Order_by_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOrder_by_expression(this); - } -}; - -Order_by_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOrder_by_expression(this); - } -}; - -Order_by_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOrder_by_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Order_by_expressionContext = Order_by_expressionContext; - -TSqlParser.prototype.order_by_expression = function() { - - var localctx = new Order_by_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 774, TSqlParser.RULE_order_by_expression); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9313; - this.expression(0); - this.state = 9315; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ASC || _la===TSqlParser.DESC) { - this.state = 9314; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ASC || _la===TSqlParser.DESC)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Group_by_itemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_group_by_item; - return this; -} - -Group_by_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Group_by_itemContext.prototype.constructor = Group_by_itemContext; - -Group_by_itemContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Group_by_itemContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterGroup_by_item(this); - } -}; - -Group_by_itemContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitGroup_by_item(this); - } -}; - -Group_by_itemContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitGroup_by_item(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Group_by_itemContext = Group_by_itemContext; - -TSqlParser.prototype.group_by_item = function() { - - var localctx = new Group_by_itemContext(this, this._ctx, this.state); - this.enterRule(localctx, 776, TSqlParser.RULE_group_by_item); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9317; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Option_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_option_clause; - return this; -} - -Option_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Option_clauseContext.prototype.constructor = Option_clauseContext; - -Option_clauseContext.prototype.OPTION = function() { - return this.getToken(TSqlParser.OPTION, 0); -}; - -Option_clauseContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Option_clauseContext.prototype.option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(OptionContext); - } else { - return this.getTypedRuleContext(OptionContext,i); - } -}; - -Option_clauseContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Option_clauseContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Option_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOption_clause(this); - } -}; - -Option_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOption_clause(this); - } -}; - -Option_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOption_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Option_clauseContext = Option_clauseContext; - -TSqlParser.prototype.option_clause = function() { - - var localctx = new Option_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 778, TSqlParser.RULE_option_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9319; - this.match(TSqlParser.OPTION); - this.state = 9320; - this.match(TSqlParser.LR_BRACKET); - this.state = 9321; - this.option(); - this.state = 9326; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 9322; - this.match(TSqlParser.COMMA); - this.state = 9323; - this.option(); - this.state = 9328; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 9329; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function OptionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_option; - this.number_rows = null; // Token - this.number_of_processors = null; // Token - this.number_recursion = null; // Token - return this; -} - -OptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -OptionContext.prototype.constructor = OptionContext; - -OptionContext.prototype.FAST = function() { - return this.getToken(TSqlParser.FAST, 0); -}; - -OptionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -OptionContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -OptionContext.prototype.HASH = function() { - return this.getToken(TSqlParser.HASH, 0); -}; - -OptionContext.prototype.ORDER = function() { - return this.getToken(TSqlParser.ORDER, 0); -}; - -OptionContext.prototype.UNION = function() { - return this.getToken(TSqlParser.UNION, 0); -}; - -OptionContext.prototype.MERGE = function() { - return this.getToken(TSqlParser.MERGE, 0); -}; - -OptionContext.prototype.CONCAT = function() { - return this.getToken(TSqlParser.CONCAT, 0); -}; - -OptionContext.prototype.JOIN = function() { - return this.getToken(TSqlParser.JOIN, 0); -}; - -OptionContext.prototype.LOOP = function() { - return this.getToken(TSqlParser.LOOP, 0); -}; - -OptionContext.prototype.EXPAND = function() { - return this.getToken(TSqlParser.EXPAND, 0); -}; - -OptionContext.prototype.VIEWS = function() { - return this.getToken(TSqlParser.VIEWS, 0); -}; - -OptionContext.prototype.FORCE = function() { - return this.getToken(TSqlParser.FORCE, 0); -}; - -OptionContext.prototype.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX = function() { - return this.getToken(TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX, 0); -}; - -OptionContext.prototype.KEEP = function() { - return this.getToken(TSqlParser.KEEP, 0); -}; - -OptionContext.prototype.PLAN = function() { - return this.getToken(TSqlParser.PLAN, 0); -}; - -OptionContext.prototype.KEEPFIXED = function() { - return this.getToken(TSqlParser.KEEPFIXED, 0); -}; - -OptionContext.prototype.MAXDOP = function() { - return this.getToken(TSqlParser.MAXDOP, 0); -}; - -OptionContext.prototype.MAXRECURSION = function() { - return this.getToken(TSqlParser.MAXRECURSION, 0); -}; - -OptionContext.prototype.OPTIMIZE = function() { - return this.getToken(TSqlParser.OPTIMIZE, 0); -}; - -OptionContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -OptionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -OptionContext.prototype.optimize_for_arg = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Optimize_for_argContext); - } else { - return this.getTypedRuleContext(Optimize_for_argContext,i); - } -}; - -OptionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -OptionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -OptionContext.prototype.UNKNOWN = function() { - return this.getToken(TSqlParser.UNKNOWN, 0); -}; - -OptionContext.prototype.PARAMETERIZATION = function() { - return this.getToken(TSqlParser.PARAMETERIZATION, 0); -}; - -OptionContext.prototype.SIMPLE = function() { - return this.getToken(TSqlParser.SIMPLE, 0); -}; - -OptionContext.prototype.FORCED = function() { - return this.getToken(TSqlParser.FORCED, 0); -}; - -OptionContext.prototype.RECOMPILE = function() { - return this.getToken(TSqlParser.RECOMPILE, 0); -}; - -OptionContext.prototype.ROBUST = function() { - return this.getToken(TSqlParser.ROBUST, 0); -}; - -OptionContext.prototype.USE = function() { - return this.getToken(TSqlParser.USE, 0); -}; - -OptionContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -OptionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOption(this); - } -}; - -OptionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOption(this); - } -}; - -OptionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOption(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.OptionContext = OptionContext; - -TSqlParser.prototype.option = function() { - - var localctx = new OptionContext(this, this._ctx, this.state); - this.enterRule(localctx, 780, TSqlParser.RULE_option); - var _la = 0; // Token type - try { - this.state = 9376; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1331,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9331; - this.match(TSqlParser.FAST); - this.state = 9332; - localctx.number_rows = this.match(TSqlParser.DECIMAL); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9333; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ORDER || _la===TSqlParser.HASH)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9334; - this.match(TSqlParser.GROUP); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9335; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MERGE || _la===TSqlParser.CONCAT || _la===TSqlParser.HASH)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9336; - this.match(TSqlParser.UNION); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 9337; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MERGE || _la===TSqlParser.HASH || _la===TSqlParser.LOOP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9338; - this.match(TSqlParser.JOIN); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 9339; - this.match(TSqlParser.EXPAND); - this.state = 9340; - this.match(TSqlParser.VIEWS); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 9341; - this.match(TSqlParser.FORCE); - this.state = 9342; - this.match(TSqlParser.ORDER); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 9343; - this.match(TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 9344; - this.match(TSqlParser.KEEP); - this.state = 9345; - this.match(TSqlParser.PLAN); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 9346; - this.match(TSqlParser.KEEPFIXED); - this.state = 9347; - this.match(TSqlParser.PLAN); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 9348; - this.match(TSqlParser.MAXDOP); - this.state = 9349; - localctx.number_of_processors = this.match(TSqlParser.DECIMAL); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 9350; - this.match(TSqlParser.MAXRECURSION); - this.state = 9351; - localctx.number_recursion = this.match(TSqlParser.DECIMAL); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 9352; - this.match(TSqlParser.OPTIMIZE); - this.state = 9353; - this.match(TSqlParser.FOR); - this.state = 9354; - this.match(TSqlParser.LR_BRACKET); - this.state = 9355; - this.optimize_for_arg(); - this.state = 9360; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 9356; - this.match(TSqlParser.COMMA); - this.state = 9357; - this.optimize_for_arg(); - this.state = 9362; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 9363; - this.match(TSqlParser.RR_BRACKET); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 9365; - this.match(TSqlParser.OPTIMIZE); - this.state = 9366; - this.match(TSqlParser.FOR); - this.state = 9367; - this.match(TSqlParser.UNKNOWN); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 9368; - this.match(TSqlParser.PARAMETERIZATION); - this.state = 9369; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FORCED || _la===TSqlParser.SIMPLE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 9370; - this.match(TSqlParser.RECOMPILE); - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 9371; - this.match(TSqlParser.ROBUST); - this.state = 9372; - this.match(TSqlParser.PLAN); - break; - - case 17: - this.enterOuterAlt(localctx, 17); - this.state = 9373; - this.match(TSqlParser.USE); - this.state = 9374; - this.match(TSqlParser.PLAN); - this.state = 9375; - this.match(TSqlParser.STRING); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Optimize_for_argContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_optimize_for_arg; - return this; -} - -Optimize_for_argContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Optimize_for_argContext.prototype.constructor = Optimize_for_argContext; - -Optimize_for_argContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Optimize_for_argContext.prototype.UNKNOWN = function() { - return this.getToken(TSqlParser.UNKNOWN, 0); -}; - -Optimize_for_argContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Optimize_for_argContext.prototype.constant = function() { - return this.getTypedRuleContext(ConstantContext,0); -}; - -Optimize_for_argContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Optimize_for_argContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOptimize_for_arg(this); - } -}; - -Optimize_for_argContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOptimize_for_arg(this); - } -}; - -Optimize_for_argContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOptimize_for_arg(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Optimize_for_argContext = Optimize_for_argContext; - -TSqlParser.prototype.optimize_for_arg = function() { - - var localctx = new Optimize_for_argContext(this, this._ctx, this.state); - this.enterRule(localctx, 782, TSqlParser.RULE_optimize_for_arg); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9378; - this.match(TSqlParser.LOCAL_ID); - this.state = 9385; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.UNKNOWN: - this.state = 9379; - this.match(TSqlParser.UNKNOWN); - break; - case TSqlParser.EQUAL: - this.state = 9380; - this.match(TSqlParser.EQUAL); - this.state = 9383; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.state = 9381; - this.constant(); - break; - case TSqlParser.NULL: - this.state = 9382; - this.match(TSqlParser.NULL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Select_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_select_list; - return this; -} - -Select_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Select_listContext.prototype.constructor = Select_listContext; - -Select_listContext.prototype.select_list_elem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Select_list_elemContext); - } else { - return this.getTypedRuleContext(Select_list_elemContext,i); - } -}; - -Select_listContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Select_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSelect_list(this); - } -}; - -Select_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSelect_list(this); - } -}; - -Select_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSelect_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Select_listContext = Select_listContext; - -TSqlParser.prototype.select_list = function() { - - var localctx = new Select_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 784, TSqlParser.RULE_select_list); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9387; - this.select_list_elem(); - this.state = 9392; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1334,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9388; - this.match(TSqlParser.COMMA); - this.state = 9389; - this.select_list_elem(); - } - this.state = 9394; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1334,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Udt_method_argumentsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_udt_method_arguments; - return this; -} - -Udt_method_argumentsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Udt_method_argumentsContext.prototype.constructor = Udt_method_argumentsContext; - -Udt_method_argumentsContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Udt_method_argumentsContext.prototype.execute_var_string = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Execute_var_stringContext); - } else { - return this.getTypedRuleContext(Execute_var_stringContext,i); - } -}; - -Udt_method_argumentsContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Udt_method_argumentsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Udt_method_argumentsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterUdt_method_arguments(this); - } -}; - -Udt_method_argumentsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitUdt_method_arguments(this); - } -}; - -Udt_method_argumentsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitUdt_method_arguments(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Udt_method_argumentsContext = Udt_method_argumentsContext; - -TSqlParser.prototype.udt_method_arguments = function() { - - var localctx = new Udt_method_argumentsContext(this, this._ctx, this.state); - this.enterRule(localctx, 786, TSqlParser.RULE_udt_method_arguments); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9395; - this.match(TSqlParser.LR_BRACKET); - this.state = 9396; - this.execute_var_string(); - this.state = 9401; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 9397; - this.match(TSqlParser.COMMA); - this.state = 9398; - this.execute_var_string(); - this.state = 9403; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 9404; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function AsteriskContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_asterisk; - return this; -} - -AsteriskContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -AsteriskContext.prototype.constructor = AsteriskContext; - -AsteriskContext.prototype.STAR = function() { - return this.getToken(TSqlParser.STAR, 0); -}; - -AsteriskContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -AsteriskContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -AsteriskContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAsterisk(this); - } -}; - -AsteriskContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAsterisk(this); - } -}; - -AsteriskContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAsterisk(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.AsteriskContext = AsteriskContext; - -TSqlParser.prototype.asterisk = function() { - - var localctx = new AsteriskContext(this, this._ctx, this.state); - this.enterRule(localctx, 788, TSqlParser.RULE_asterisk); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9409; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.BLOCKING_HIERARCHY || _la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 9406; - this.table_name(); - this.state = 9407; - this.match(TSqlParser.DOT); - } - - this.state = 9411; - this.match(TSqlParser.STAR); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_elemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_elem; - this.column_name = null; // IdContext - return this; -} - -Column_elemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_elemContext.prototype.constructor = Column_elemContext; - -Column_elemContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Column_elemContext.prototype.as_column_alias = function() { - return this.getTypedRuleContext(As_column_aliasContext,0); -}; - -Column_elemContext.prototype.DOLLAR = function() { - return this.getToken(TSqlParser.DOLLAR, 0); -}; - -Column_elemContext.prototype.IDENTITY = function() { - return this.getToken(TSqlParser.IDENTITY, 0); -}; - -Column_elemContext.prototype.ROWGUID = function() { - return this.getToken(TSqlParser.ROWGUID, 0); -}; - -Column_elemContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Column_elemContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Column_elemContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Column_elemContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_elem(this); - } -}; - -Column_elemContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_elem(this); - } -}; - -Column_elemContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_elem(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_elemContext = Column_elemContext; - -TSqlParser.prototype.column_elem = function() { - - var localctx = new Column_elemContext(this, this._ctx, this.state); - this.enterRule(localctx, 790, TSqlParser.RULE_column_elem); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9426; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.BLOCKING_HIERARCHY: - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - case TSqlParser.DOLLAR: - this.state = 9416; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1337,this._ctx); - if(la_===1) { - this.state = 9413; - this.table_name(); - this.state = 9414; - this.match(TSqlParser.DOT); - - } - this.state = 9423; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1338,this._ctx); - switch(la_) { - case 1: - this.state = 9418; - localctx.column_name = this.id(); - break; - - case 2: - this.state = 9419; - this.match(TSqlParser.DOLLAR); - this.state = 9420; - this.match(TSqlParser.IDENTITY); - break; - - case 3: - this.state = 9421; - this.match(TSqlParser.DOLLAR); - this.state = 9422; - this.match(TSqlParser.ROWGUID); - break; - - } - break; - case TSqlParser.NULL: - this.state = 9425; - this.match(TSqlParser.NULL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 9429; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1340,this._ctx); - if(la_===1) { - this.state = 9428; - this.as_column_alias(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Udt_elemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_udt_elem; - this.udt_column_name = null; // IdContext - this.non_static_attr = null; // IdContext - this.static_attr = null; // IdContext - return this; -} - -Udt_elemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Udt_elemContext.prototype.constructor = Udt_elemContext; - -Udt_elemContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Udt_elemContext.prototype.udt_method_arguments = function() { - return this.getTypedRuleContext(Udt_method_argumentsContext,0); -}; - -Udt_elemContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Udt_elemContext.prototype.as_column_alias = function() { - return this.getTypedRuleContext(As_column_aliasContext,0); -}; - -Udt_elemContext.prototype.COLON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COLON); - } else { - return this.getToken(TSqlParser.COLON, i); - } -}; - - -Udt_elemContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterUdt_elem(this); - } -}; - -Udt_elemContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitUdt_elem(this); - } -}; - -Udt_elemContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitUdt_elem(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Udt_elemContext = Udt_elemContext; - -TSqlParser.prototype.udt_elem = function() { - - var localctx = new Udt_elemContext(this, this._ctx, this.state); - this.enterRule(localctx, 792, TSqlParser.RULE_udt_elem); - try { - this.state = 9448; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1344,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9431; - localctx.udt_column_name = this.id(); - this.state = 9432; - this.match(TSqlParser.DOT); - this.state = 9433; - localctx.non_static_attr = this.id(); - this.state = 9434; - this.udt_method_arguments(); - this.state = 9436; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1341,this._ctx); - if(la_===1) { - this.state = 9435; - this.as_column_alias(); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9438; - localctx.udt_column_name = this.id(); - this.state = 9439; - this.match(TSqlParser.COLON); - this.state = 9440; - this.match(TSqlParser.COLON); - this.state = 9441; - localctx.static_attr = this.id(); - this.state = 9443; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1342,this._ctx); - if(la_===1) { - this.state = 9442; - this.udt_method_arguments(); - - } - this.state = 9446; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1343,this._ctx); - if(la_===1) { - this.state = 9445; - this.as_column_alias(); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Expression_elemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_expression_elem; - this.eq = null; // Token - return this; -} - -Expression_elemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Expression_elemContext.prototype.constructor = Expression_elemContext; - -Expression_elemContext.prototype.column_alias = function() { - return this.getTypedRuleContext(Column_aliasContext,0); -}; - -Expression_elemContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Expression_elemContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Expression_elemContext.prototype.as_column_alias = function() { - return this.getTypedRuleContext(As_column_aliasContext,0); -}; - -Expression_elemContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExpression_elem(this); - } -}; - -Expression_elemContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExpression_elem(this); - } -}; - -Expression_elemContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExpression_elem(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Expression_elemContext = Expression_elemContext; - -TSqlParser.prototype.expression_elem = function() { - - var localctx = new Expression_elemContext(this, this._ctx, this.state); - this.enterRule(localctx, 794, TSqlParser.RULE_expression_elem); - try { - this.state = 9458; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1346,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9450; - this.column_alias(); - this.state = 9451; - localctx.eq = this.match(TSqlParser.EQUAL); - this.state = 9452; - this.expression(0); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9454; - this.expression(0); - this.state = 9456; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1345,this._ctx); - if(la_===1) { - this.state = 9455; - this.as_column_alias(); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Select_list_elemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_select_list_elem; - return this; -} - -Select_list_elemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Select_list_elemContext.prototype.constructor = Select_list_elemContext; - -Select_list_elemContext.prototype.asterisk = function() { - return this.getTypedRuleContext(AsteriskContext,0); -}; - -Select_list_elemContext.prototype.column_elem = function() { - return this.getTypedRuleContext(Column_elemContext,0); -}; - -Select_list_elemContext.prototype.udt_elem = function() { - return this.getTypedRuleContext(Udt_elemContext,0); -}; - -Select_list_elemContext.prototype.expression_elem = function() { - return this.getTypedRuleContext(Expression_elemContext,0); -}; - -Select_list_elemContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSelect_list_elem(this); - } -}; - -Select_list_elemContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSelect_list_elem(this); - } -}; - -Select_list_elemContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSelect_list_elem(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Select_list_elemContext = Select_list_elemContext; - -TSqlParser.prototype.select_list_elem = function() { - - var localctx = new Select_list_elemContext(this, this._ctx, this.state); - this.enterRule(localctx, 796, TSqlParser.RULE_select_list_elem); - try { - this.state = 9464; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1347,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9460; - this.asterisk(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9461; - this.column_elem(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9462; - this.udt_elem(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 9463; - this.expression_elem(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_sourcesContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_sources; - return this; -} - -Table_sourcesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_sourcesContext.prototype.constructor = Table_sourcesContext; - -Table_sourcesContext.prototype.table_source = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Table_sourceContext); - } else { - return this.getTypedRuleContext(Table_sourceContext,i); - } -}; - -Table_sourcesContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Table_sourcesContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_sources(this); - } -}; - -Table_sourcesContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_sources(this); - } -}; - -Table_sourcesContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_sources(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_sourcesContext = Table_sourcesContext; - -TSqlParser.prototype.table_sources = function() { - - var localctx = new Table_sourcesContext(this, this._ctx, this.state); - this.enterRule(localctx, 798, TSqlParser.RULE_table_sources); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9466; - this.table_source(); - this.state = 9471; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1348,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9467; - this.match(TSqlParser.COMMA); - this.state = 9468; - this.table_source(); - } - this.state = 9473; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1348,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_sourceContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_source; - return this; -} - -Table_sourceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_sourceContext.prototype.constructor = Table_sourceContext; - -Table_sourceContext.prototype.table_source_item_joined = function() { - return this.getTypedRuleContext(Table_source_item_joinedContext,0); -}; - -Table_sourceContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Table_sourceContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Table_sourceContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_source(this); - } -}; - -Table_sourceContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_source(this); - } -}; - -Table_sourceContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_source(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_sourceContext = Table_sourceContext; - -TSqlParser.prototype.table_source = function() { - - var localctx = new Table_sourceContext(this, this._ctx, this.state); - this.enterRule(localctx, 800, TSqlParser.RULE_table_source); - try { - this.state = 9479; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1349,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9474; - this.table_source_item_joined(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9475; - this.match(TSqlParser.LR_BRACKET); - this.state = 9476; - this.table_source_item_joined(); - this.state = 9477; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_source_item_joinedContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_source_item_joined; - return this; -} - -Table_source_item_joinedContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_source_item_joinedContext.prototype.constructor = Table_source_item_joinedContext; - -Table_source_item_joinedContext.prototype.table_source_item = function() { - return this.getTypedRuleContext(Table_source_itemContext,0); -}; - -Table_source_item_joinedContext.prototype.join_part = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Join_partContext); - } else { - return this.getTypedRuleContext(Join_partContext,i); - } -}; - -Table_source_item_joinedContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_source_item_joined(this); - } -}; - -Table_source_item_joinedContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_source_item_joined(this); - } -}; - -Table_source_item_joinedContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_source_item_joined(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_source_item_joinedContext = Table_source_item_joinedContext; - -TSqlParser.prototype.table_source_item_joined = function() { - - var localctx = new Table_source_item_joinedContext(this, this._ctx, this.state); - this.enterRule(localctx, 802, TSqlParser.RULE_table_source_item_joined); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9481; - this.table_source_item(); - this.state = 9485; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1350,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 9482; - this.join_part(); - } - this.state = 9487; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1350,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_source_itemContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_source_item; - return this; -} - -Table_source_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_source_itemContext.prototype.constructor = Table_source_itemContext; - -Table_source_itemContext.prototype.table_name_with_hint = function() { - return this.getTypedRuleContext(Table_name_with_hintContext,0); -}; - -Table_source_itemContext.prototype.as_table_alias = function() { - return this.getTypedRuleContext(As_table_aliasContext,0); -}; - -Table_source_itemContext.prototype.full_table_name = function() { - return this.getTypedRuleContext(Full_table_nameContext,0); -}; - -Table_source_itemContext.prototype.rowset_function = function() { - return this.getTypedRuleContext(Rowset_functionContext,0); -}; - -Table_source_itemContext.prototype.derived_table = function() { - return this.getTypedRuleContext(Derived_tableContext,0); -}; - -Table_source_itemContext.prototype.column_alias_list = function() { - return this.getTypedRuleContext(Column_alias_listContext,0); -}; - -Table_source_itemContext.prototype.change_table = function() { - return this.getTypedRuleContext(Change_tableContext,0); -}; - -Table_source_itemContext.prototype.function_call = function() { - return this.getTypedRuleContext(Function_callContext,0); -}; - -Table_source_itemContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Table_source_itemContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Table_source_itemContext.prototype.open_xml = function() { - return this.getTypedRuleContext(Open_xmlContext,0); -}; - -Table_source_itemContext.prototype.COLON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COLON); - } else { - return this.getToken(TSqlParser.COLON, i); - } -}; - - -Table_source_itemContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_source_item(this); - } -}; - -Table_source_itemContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_source_item(this); - } -}; - -Table_source_itemContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_source_item(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_source_itemContext = Table_source_itemContext; - -TSqlParser.prototype.table_source_item = function() { - - var localctx = new Table_source_itemContext(this, this._ctx, this.state); - this.enterRule(localctx, 804, TSqlParser.RULE_table_source_item); - try { - this.state = 9537; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1362,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9488; - this.table_name_with_hint(); - this.state = 9490; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1351,this._ctx); - if(la_===1) { - this.state = 9489; - this.as_table_alias(); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9492; - this.full_table_name(); - this.state = 9494; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1352,this._ctx); - if(la_===1) { - this.state = 9493; - this.as_table_alias(); - - } - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9496; - this.rowset_function(); - this.state = 9498; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1353,this._ctx); - if(la_===1) { - this.state = 9497; - this.as_table_alias(); - - } - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 9500; - this.derived_table(); - this.state = 9505; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1355,this._ctx); - if(la_===1) { - this.state = 9501; - this.as_table_alias(); - this.state = 9503; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1354,this._ctx); - if(la_===1) { - this.state = 9502; - this.column_alias_list(); - - } - - } - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 9507; - this.change_table(); - this.state = 9508; - this.as_table_alias(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 9510; - this.function_call(); - this.state = 9515; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1357,this._ctx); - if(la_===1) { - this.state = 9511; - this.as_table_alias(); - this.state = 9513; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1356,this._ctx); - if(la_===1) { - this.state = 9512; - this.column_alias_list(); - - } - - } - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 9517; - this.match(TSqlParser.LOCAL_ID); - this.state = 9519; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1358,this._ctx); - if(la_===1) { - this.state = 9518; - this.as_table_alias(); - - } - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 9521; - this.match(TSqlParser.LOCAL_ID); - this.state = 9522; - this.match(TSqlParser.DOT); - this.state = 9523; - this.function_call(); - this.state = 9528; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1360,this._ctx); - if(la_===1) { - this.state = 9524; - this.as_table_alias(); - this.state = 9526; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1359,this._ctx); - if(la_===1) { - this.state = 9525; - this.column_alias_list(); - - } - - } - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 9530; - this.open_xml(); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 9531; - this.match(TSqlParser.COLON); - this.state = 9532; - this.match(TSqlParser.COLON); - this.state = 9533; - this.function_call(); - this.state = 9535; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1361,this._ctx); - if(la_===1) { - this.state = 9534; - this.as_table_alias(); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Open_xmlContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_open_xml; - return this; -} - -Open_xmlContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Open_xmlContext.prototype.constructor = Open_xmlContext; - -Open_xmlContext.prototype.OPENXML = function() { - return this.getToken(TSqlParser.OPENXML, 0); -}; - -Open_xmlContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Open_xmlContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -Open_xmlContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Open_xmlContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Open_xmlContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Open_xmlContext.prototype.schema_declaration = function() { - return this.getTypedRuleContext(Schema_declarationContext,0); -}; - -Open_xmlContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOpen_xml(this); - } -}; - -Open_xmlContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOpen_xml(this); - } -}; - -Open_xmlContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOpen_xml(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Open_xmlContext = Open_xmlContext; - -TSqlParser.prototype.open_xml = function() { - - var localctx = new Open_xmlContext(this, this._ctx, this.state); - this.enterRule(localctx, 806, TSqlParser.RULE_open_xml); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9539; - this.match(TSqlParser.OPENXML); - this.state = 9540; - this.match(TSqlParser.LR_BRACKET); - this.state = 9541; - this.expression(0); - this.state = 9542; - this.match(TSqlParser.COMMA); - this.state = 9543; - this.expression(0); - this.state = 9546; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 9544; - this.match(TSqlParser.COMMA); - this.state = 9545; - this.expression(0); - } - - this.state = 9548; - this.match(TSqlParser.RR_BRACKET); - this.state = 9554; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1364,this._ctx); - if(la_===1) { - this.state = 9549; - this.match(TSqlParser.WITH); - this.state = 9550; - this.match(TSqlParser.LR_BRACKET); - this.state = 9551; - this.schema_declaration(); - this.state = 9552; - this.match(TSqlParser.RR_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Schema_declarationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_schema_declaration; - return this; -} - -Schema_declarationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Schema_declarationContext.prototype.constructor = Schema_declarationContext; - -Schema_declarationContext.prototype.column_declaration = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Column_declarationContext); - } else { - return this.getTypedRuleContext(Column_declarationContext,i); - } -}; - -Schema_declarationContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Schema_declarationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSchema_declaration(this); - } -}; - -Schema_declarationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSchema_declaration(this); - } -}; - -Schema_declarationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSchema_declaration(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Schema_declarationContext = Schema_declarationContext; - -TSqlParser.prototype.schema_declaration = function() { - - var localctx = new Schema_declarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 808, TSqlParser.RULE_schema_declaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9556; - this.column_declaration(); - this.state = 9561; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 9557; - this.match(TSqlParser.COMMA); - this.state = 9558; - this.column_declaration(); - this.state = 9563; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_declarationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_declaration; - return this; -} - -Column_declarationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_declarationContext.prototype.constructor = Column_declarationContext; - -Column_declarationContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -Column_declarationContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -Column_declarationContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Column_declarationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_declaration(this); - } -}; - -Column_declarationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_declaration(this); - } -}; - -Column_declarationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_declaration(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_declarationContext = Column_declarationContext; - -TSqlParser.prototype.column_declaration = function() { - - var localctx = new Column_declarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 810, TSqlParser.RULE_column_declaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9564; - this.match(TSqlParser.ID); - this.state = 9565; - this.data_type(); - this.state = 9567; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.STRING) { - this.state = 9566; - this.match(TSqlParser.STRING); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Change_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_change_table; - return this; -} - -Change_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Change_tableContext.prototype.constructor = Change_tableContext; - -Change_tableContext.prototype.CHANGETABLE = function() { - return this.getToken(TSqlParser.CHANGETABLE, 0); -}; - -Change_tableContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Change_tableContext.prototype.CHANGES = function() { - return this.getToken(TSqlParser.CHANGES, 0); -}; - -Change_tableContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Change_tableContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Change_tableContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Change_tableContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Change_tableContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Change_tableContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Change_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterChange_table(this); - } -}; - -Change_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitChange_table(this); - } -}; - -Change_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitChange_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Change_tableContext = Change_tableContext; - -TSqlParser.prototype.change_table = function() { - - var localctx = new Change_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 812, TSqlParser.RULE_change_table); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9569; - this.match(TSqlParser.CHANGETABLE); - this.state = 9570; - this.match(TSqlParser.LR_BRACKET); - this.state = 9571; - this.match(TSqlParser.CHANGES); - this.state = 9572; - this.table_name(); - this.state = 9573; - this.match(TSqlParser.COMMA); - this.state = 9574; - _la = this._input.LA(1); - if(!(_la===TSqlParser.NULL || _la===TSqlParser.LOCAL_ID || _la===TSqlParser.DECIMAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9575; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Join_partContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_join_part; - this.join_type = null; // Token - this.join_hint = null; // Token - return this; -} - -Join_partContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Join_partContext.prototype.constructor = Join_partContext; - -Join_partContext.prototype.JOIN = function() { - return this.getToken(TSqlParser.JOIN, 0); -}; - -Join_partContext.prototype.table_source = function() { - return this.getTypedRuleContext(Table_sourceContext,0); -}; - -Join_partContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Join_partContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -Join_partContext.prototype.LEFT = function() { - return this.getToken(TSqlParser.LEFT, 0); -}; - -Join_partContext.prototype.RIGHT = function() { - return this.getToken(TSqlParser.RIGHT, 0); -}; - -Join_partContext.prototype.FULL = function() { - return this.getToken(TSqlParser.FULL, 0); -}; - -Join_partContext.prototype.INNER = function() { - return this.getToken(TSqlParser.INNER, 0); -}; - -Join_partContext.prototype.OUTER = function() { - return this.getToken(TSqlParser.OUTER, 0); -}; - -Join_partContext.prototype.LOOP = function() { - return this.getToken(TSqlParser.LOOP, 0); -}; - -Join_partContext.prototype.HASH = function() { - return this.getToken(TSqlParser.HASH, 0); -}; - -Join_partContext.prototype.MERGE = function() { - return this.getToken(TSqlParser.MERGE, 0); -}; - -Join_partContext.prototype.REMOTE = function() { - return this.getToken(TSqlParser.REMOTE, 0); -}; - -Join_partContext.prototype.CROSS = function() { - return this.getToken(TSqlParser.CROSS, 0); -}; - -Join_partContext.prototype.APPLY = function() { - return this.getToken(TSqlParser.APPLY, 0); -}; - -Join_partContext.prototype.PIVOT = function() { - return this.getToken(TSqlParser.PIVOT, 0); -}; - -Join_partContext.prototype.pivot_clause = function() { - return this.getTypedRuleContext(Pivot_clauseContext,0); -}; - -Join_partContext.prototype.as_table_alias = function() { - return this.getTypedRuleContext(As_table_aliasContext,0); -}; - -Join_partContext.prototype.UNPIVOT = function() { - return this.getToken(TSqlParser.UNPIVOT, 0); -}; - -Join_partContext.prototype.unpivot_clause = function() { - return this.getTypedRuleContext(Unpivot_clauseContext,0); -}; - -Join_partContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterJoin_part(this); - } -}; - -Join_partContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitJoin_part(this); - } -}; - -Join_partContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitJoin_part(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Join_partContext = Join_partContext; - -TSqlParser.prototype.join_part = function() { - - var localctx = new Join_partContext(this, this._ctx, this.state); - this.enterRule(localctx, 814, TSqlParser.RULE_join_part); - var _la = 0; // Token type - try { - this.state = 9611; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1371,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9584; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.INNER: - case TSqlParser.JOIN: - case TSqlParser.MERGE: - case TSqlParser.HASH: - case TSqlParser.LOOP: - case TSqlParser.REMOTE: - this.state = 9578; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.INNER) { - this.state = 9577; - this.match(TSqlParser.INNER); - } - - break; - case TSqlParser.FULL: - case TSqlParser.LEFT: - case TSqlParser.RIGHT: - this.state = 9580; - localctx.join_type = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.FULL || _la===TSqlParser.LEFT || _la===TSqlParser.RIGHT)) { - localctx.join_type = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9582; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.OUTER) { - this.state = 9581; - this.match(TSqlParser.OUTER); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 9587; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MERGE || _la===TSqlParser.HASH || _la===TSqlParser.LOOP || _la===TSqlParser.REMOTE) { - this.state = 9586; - localctx.join_hint = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.MERGE || _la===TSqlParser.HASH || _la===TSqlParser.LOOP || _la===TSqlParser.REMOTE)) { - localctx.join_hint = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 9589; - this.match(TSqlParser.JOIN); - this.state = 9590; - this.table_source(); - this.state = 9591; - this.match(TSqlParser.ON); - this.state = 9592; - this.search_condition(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9594; - this.match(TSqlParser.CROSS); - this.state = 9595; - this.match(TSqlParser.JOIN); - this.state = 9596; - this.table_source(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9597; - this.match(TSqlParser.CROSS); - this.state = 9598; - this.match(TSqlParser.APPLY); - this.state = 9599; - this.table_source(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 9600; - this.match(TSqlParser.OUTER); - this.state = 9601; - this.match(TSqlParser.APPLY); - this.state = 9602; - this.table_source(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 9603; - this.match(TSqlParser.PIVOT); - this.state = 9604; - this.pivot_clause(); - this.state = 9605; - this.as_table_alias(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 9607; - this.match(TSqlParser.UNPIVOT); - this.state = 9608; - this.unpivot_clause(); - this.state = 9609; - this.as_table_alias(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Pivot_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_pivot_clause; - return this; -} - -Pivot_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Pivot_clauseContext.prototype.constructor = Pivot_clauseContext; - -Pivot_clauseContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Pivot_clauseContext.prototype.aggregate_windowed_function = function() { - return this.getTypedRuleContext(Aggregate_windowed_functionContext,0); -}; - -Pivot_clauseContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Pivot_clauseContext.prototype.full_column_name = function() { - return this.getTypedRuleContext(Full_column_nameContext,0); -}; - -Pivot_clauseContext.prototype.IN = function() { - return this.getToken(TSqlParser.IN, 0); -}; - -Pivot_clauseContext.prototype.column_alias_list = function() { - return this.getTypedRuleContext(Column_alias_listContext,0); -}; - -Pivot_clauseContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Pivot_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterPivot_clause(this); - } -}; - -Pivot_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitPivot_clause(this); - } -}; - -Pivot_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitPivot_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Pivot_clauseContext = Pivot_clauseContext; - -TSqlParser.prototype.pivot_clause = function() { - - var localctx = new Pivot_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 816, TSqlParser.RULE_pivot_clause); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9613; - this.match(TSqlParser.LR_BRACKET); - this.state = 9614; - this.aggregate_windowed_function(); - this.state = 9615; - this.match(TSqlParser.FOR); - this.state = 9616; - this.full_column_name(); - this.state = 9617; - this.match(TSqlParser.IN); - this.state = 9618; - this.column_alias_list(); - this.state = 9619; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Unpivot_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_unpivot_clause; - return this; -} - -Unpivot_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Unpivot_clauseContext.prototype.constructor = Unpivot_clauseContext; - -Unpivot_clauseContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Unpivot_clauseContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Unpivot_clauseContext.prototype.FOR = function() { - return this.getToken(TSqlParser.FOR, 0); -}; - -Unpivot_clauseContext.prototype.full_column_name = function() { - return this.getTypedRuleContext(Full_column_nameContext,0); -}; - -Unpivot_clauseContext.prototype.IN = function() { - return this.getToken(TSqlParser.IN, 0); -}; - -Unpivot_clauseContext.prototype.full_column_name_list = function() { - return this.getTypedRuleContext(Full_column_name_listContext,0); -}; - -Unpivot_clauseContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Unpivot_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterUnpivot_clause(this); - } -}; - -Unpivot_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitUnpivot_clause(this); - } -}; - -Unpivot_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitUnpivot_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Unpivot_clauseContext = Unpivot_clauseContext; - -TSqlParser.prototype.unpivot_clause = function() { - - var localctx = new Unpivot_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 818, TSqlParser.RULE_unpivot_clause); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9621; - this.match(TSqlParser.LR_BRACKET); - this.state = 9622; - this.expression(0); - this.state = 9623; - this.match(TSqlParser.FOR); - this.state = 9624; - this.full_column_name(); - this.state = 9625; - this.match(TSqlParser.IN); - this.state = 9626; - this.match(TSqlParser.LR_BRACKET); - this.state = 9627; - this.full_column_name_list(); - this.state = 9628; - this.match(TSqlParser.RR_BRACKET); - this.state = 9629; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Full_column_name_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_full_column_name_list; - return this; -} - -Full_column_name_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Full_column_name_listContext.prototype.constructor = Full_column_name_listContext; - -Full_column_name_listContext.prototype.full_column_name = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Full_column_nameContext); - } else { - return this.getTypedRuleContext(Full_column_nameContext,i); - } -}; - -Full_column_name_listContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Full_column_name_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFull_column_name_list(this); - } -}; - -Full_column_name_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFull_column_name_list(this); - } -}; - -Full_column_name_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFull_column_name_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Full_column_name_listContext = Full_column_name_listContext; - -TSqlParser.prototype.full_column_name_list = function() { - - var localctx = new Full_column_name_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 820, TSqlParser.RULE_full_column_name_list); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9631; - this.full_column_name(); - this.state = 9636; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 9632; - this.match(TSqlParser.COMMA); - this.state = 9633; - this.full_column_name(); - this.state = 9638; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_name_with_hintContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_name_with_hint; - return this; -} - -Table_name_with_hintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_name_with_hintContext.prototype.constructor = Table_name_with_hintContext; - -Table_name_with_hintContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Table_name_with_hintContext.prototype.with_table_hints = function() { - return this.getTypedRuleContext(With_table_hintsContext,0); -}; - -Table_name_with_hintContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_name_with_hint(this); - } -}; - -Table_name_with_hintContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_name_with_hint(this); - } -}; - -Table_name_with_hintContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_name_with_hint(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_name_with_hintContext = Table_name_with_hintContext; - -TSqlParser.prototype.table_name_with_hint = function() { - - var localctx = new Table_name_with_hintContext(this, this._ctx, this.state); - this.enterRule(localctx, 822, TSqlParser.RULE_table_name_with_hint); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9639; - this.table_name(); - this.state = 9641; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1373,this._ctx); - if(la_===1) { - this.state = 9640; - this.with_table_hints(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Rowset_functionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_rowset_function; - this.provider_name = null; // Token - this.connectionString = null; // Token - this.sql = null; // Token - this.data_file = null; // Token - return this; -} - -Rowset_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Rowset_functionContext.prototype.constructor = Rowset_functionContext; - -Rowset_functionContext.prototype.OPENROWSET = function() { - return this.getToken(TSqlParser.OPENROWSET, 0); -}; - -Rowset_functionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Rowset_functionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Rowset_functionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Rowset_functionContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Rowset_functionContext.prototype.BULK = function() { - return this.getToken(TSqlParser.BULK, 0); -}; - -Rowset_functionContext.prototype.bulk_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Bulk_optionContext); - } else { - return this.getTypedRuleContext(Bulk_optionContext,i); - } -}; - -Rowset_functionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Rowset_functionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterRowset_function(this); - } -}; - -Rowset_functionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitRowset_function(this); - } -}; - -Rowset_functionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitRowset_function(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Rowset_functionContext = Rowset_functionContext; - -TSqlParser.prototype.rowset_function = function() { - - var localctx = new Rowset_functionContext(this, this._ctx, this.state); - this.enterRule(localctx, 824, TSqlParser.RULE_rowset_function); - var _la = 0; // Token type - try { - this.state = 9669; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1376,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9643; - this.match(TSqlParser.OPENROWSET); - this.state = 9644; - this.match(TSqlParser.LR_BRACKET); - this.state = 9645; - localctx.provider_name = this.match(TSqlParser.STRING); - this.state = 9646; - this.match(TSqlParser.COMMA); - this.state = 9647; - localctx.connectionString = this.match(TSqlParser.STRING); - this.state = 9648; - this.match(TSqlParser.COMMA); - this.state = 9649; - localctx.sql = this.match(TSqlParser.STRING); - this.state = 9650; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9651; - this.match(TSqlParser.OPENROWSET); - this.state = 9652; - this.match(TSqlParser.LR_BRACKET); - this.state = 9653; - this.match(TSqlParser.BULK); - this.state = 9654; - localctx.data_file = this.match(TSqlParser.STRING); - this.state = 9655; - this.match(TSqlParser.COMMA); - this.state = 9665; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1375,this._ctx); - switch(la_) { - case 1: - this.state = 9656; - this.bulk_option(); - this.state = 9661; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 9657; - this.match(TSqlParser.COMMA); - this.state = 9658; - this.bulk_option(); - this.state = 9663; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 2: - this.state = 9664; - this.id(); - break; - - } - this.state = 9667; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Bulk_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_bulk_option; - this.bulk_option_value = null; // Token - return this; -} - -Bulk_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Bulk_optionContext.prototype.constructor = Bulk_optionContext; - -Bulk_optionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Bulk_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Bulk_optionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Bulk_optionContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Bulk_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBulk_option(this); - } -}; - -Bulk_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBulk_option(this); - } -}; - -Bulk_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBulk_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Bulk_optionContext = Bulk_optionContext; - -TSqlParser.prototype.bulk_option = function() { - - var localctx = new Bulk_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 826, TSqlParser.RULE_bulk_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9671; - this.id(); - this.state = 9672; - this.match(TSqlParser.EQUAL); - this.state = 9673; - localctx.bulk_option_value = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.STRING)) { - localctx.bulk_option_value = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Derived_tableContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_derived_table; - return this; -} - -Derived_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Derived_tableContext.prototype.constructor = Derived_tableContext; - -Derived_tableContext.prototype.subquery = function() { - return this.getTypedRuleContext(SubqueryContext,0); -}; - -Derived_tableContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Derived_tableContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Derived_tableContext.prototype.table_value_constructor = function() { - return this.getTypedRuleContext(Table_value_constructorContext,0); -}; - -Derived_tableContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDerived_table(this); - } -}; - -Derived_tableContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDerived_table(this); - } -}; - -Derived_tableContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDerived_table(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Derived_tableContext = Derived_tableContext; - -TSqlParser.prototype.derived_table = function() { - - var localctx = new Derived_tableContext(this, this._ctx, this.state); - this.enterRule(localctx, 828, TSqlParser.RULE_derived_table); - try { - this.state = 9685; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1377,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9675; - this.subquery(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9676; - this.match(TSqlParser.LR_BRACKET); - this.state = 9677; - this.subquery(); - this.state = 9678; - this.match(TSqlParser.RR_BRACKET); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9680; - this.table_value_constructor(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 9681; - this.match(TSqlParser.LR_BRACKET); - this.state = 9682; - this.table_value_constructor(); - this.state = 9683; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Function_callContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_function_call; - return this; -} - -Function_callContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Function_callContext.prototype.constructor = Function_callContext; - - - -Function_callContext.prototype.copyFrom = function(ctx) { - antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); -}; - - -function CURRENT_USERContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -CURRENT_USERContext.prototype = Object.create(Function_callContext.prototype); -CURRENT_USERContext.prototype.constructor = CURRENT_USERContext; - -TSqlParser.CURRENT_USERContext = CURRENT_USERContext; - -CURRENT_USERContext.prototype.CURRENT_USER = function() { - return this.getToken(TSqlParser.CURRENT_USER, 0); -}; -CURRENT_USERContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCURRENT_USER(this); - } -}; - -CURRENT_USERContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCURRENT_USER(this); - } -}; - -CURRENT_USERContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCURRENT_USER(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function DATEADDContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -DATEADDContext.prototype = Object.create(Function_callContext.prototype); -DATEADDContext.prototype.constructor = DATEADDContext; - -TSqlParser.DATEADDContext = DATEADDContext; - -DATEADDContext.prototype.DATEADD = function() { - return this.getToken(TSqlParser.DATEADD, 0); -}; - -DATEADDContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -DATEADDContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -DATEADDContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -DATEADDContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -DATEADDContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -DATEADDContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDATEADD(this); - } -}; - -DATEADDContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDATEADD(this); - } -}; - -DATEADDContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDATEADD(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function CHECKSUMContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -CHECKSUMContext.prototype = Object.create(Function_callContext.prototype); -CHECKSUMContext.prototype.constructor = CHECKSUMContext; - -TSqlParser.CHECKSUMContext = CHECKSUMContext; - -CHECKSUMContext.prototype.CHECKSUM = function() { - return this.getToken(TSqlParser.CHECKSUM, 0); -}; - -CHECKSUMContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -CHECKSUMContext.prototype.STAR = function() { - return this.getToken(TSqlParser.STAR, 0); -}; - -CHECKSUMContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -CHECKSUMContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCHECKSUM(this); - } -}; - -CHECKSUMContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCHECKSUM(this); - } -}; - -CHECKSUMContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCHECKSUM(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function CURRENT_TIMESTAMPContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -CURRENT_TIMESTAMPContext.prototype = Object.create(Function_callContext.prototype); -CURRENT_TIMESTAMPContext.prototype.constructor = CURRENT_TIMESTAMPContext; - -TSqlParser.CURRENT_TIMESTAMPContext = CURRENT_TIMESTAMPContext; - -CURRENT_TIMESTAMPContext.prototype.CURRENT_TIMESTAMP = function() { - return this.getToken(TSqlParser.CURRENT_TIMESTAMP, 0); -}; -CURRENT_TIMESTAMPContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCURRENT_TIMESTAMP(this); - } -}; - -CURRENT_TIMESTAMPContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCURRENT_TIMESTAMP(this); - } -}; - -CURRENT_TIMESTAMPContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCURRENT_TIMESTAMP(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function BINARY_CHECKSUMContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -BINARY_CHECKSUMContext.prototype = Object.create(Function_callContext.prototype); -BINARY_CHECKSUMContext.prototype.constructor = BINARY_CHECKSUMContext; - -TSqlParser.BINARY_CHECKSUMContext = BINARY_CHECKSUMContext; - -BINARY_CHECKSUMContext.prototype.BINARY_CHECKSUM = function() { - return this.getToken(TSqlParser.BINARY_CHECKSUM, 0); -}; - -BINARY_CHECKSUMContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -BINARY_CHECKSUMContext.prototype.STAR = function() { - return this.getToken(TSqlParser.STAR, 0); -}; - -BINARY_CHECKSUMContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -BINARY_CHECKSUMContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBINARY_CHECKSUM(this); - } -}; - -BINARY_CHECKSUMContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBINARY_CHECKSUM(this); - } -}; - -BINARY_CHECKSUMContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBINARY_CHECKSUM(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function IFFContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -IFFContext.prototype = Object.create(Function_callContext.prototype); -IFFContext.prototype.constructor = IFFContext; - -TSqlParser.IFFContext = IFFContext; - -IFFContext.prototype.IIF = function() { - return this.getToken(TSqlParser.IIF, 0); -}; - -IFFContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -IFFContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -IFFContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -IFFContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -IFFContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -IFFContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterIFF(this); - } -}; - -IFFContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitIFF(this); - } -}; - -IFFContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitIFF(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function SYSTEM_USERContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -SYSTEM_USERContext.prototype = Object.create(Function_callContext.prototype); -SYSTEM_USERContext.prototype.constructor = SYSTEM_USERContext; - -TSqlParser.SYSTEM_USERContext = SYSTEM_USERContext; - -SYSTEM_USERContext.prototype.SYSTEM_USER = function() { - return this.getToken(TSqlParser.SYSTEM_USER, 0); -}; -SYSTEM_USERContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSYSTEM_USER(this); - } -}; - -SYSTEM_USERContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSYSTEM_USER(this); - } -}; - -SYSTEM_USERContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSYSTEM_USER(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function NULLIFContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -NULLIFContext.prototype = Object.create(Function_callContext.prototype); -NULLIFContext.prototype.constructor = NULLIFContext; - -TSqlParser.NULLIFContext = NULLIFContext; - -NULLIFContext.prototype.NULLIF = function() { - return this.getToken(TSqlParser.NULLIF, 0); -}; - -NULLIFContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -NULLIFContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -NULLIFContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -NULLIFContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -NULLIFContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterNULLIF(this); - } -}; - -NULLIFContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitNULLIF(this); - } -}; - -NULLIFContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitNULLIF(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function SESSION_USERContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -SESSION_USERContext.prototype = Object.create(Function_callContext.prototype); -SESSION_USERContext.prototype.constructor = SESSION_USERContext; - -TSqlParser.SESSION_USERContext = SESSION_USERContext; - -SESSION_USERContext.prototype.SESSION_USER = function() { - return this.getToken(TSqlParser.SESSION_USER, 0); -}; -SESSION_USERContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSESSION_USER(this); - } -}; - -SESSION_USERContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSESSION_USER(this); - } -}; - -SESSION_USERContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSESSION_USER(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function CONVERTContext(parser, ctx) { - Function_callContext.call(this, parser); - this.convert_data_type = null; // Data_typeContext; - this.convert_expression = null; // ExpressionContext; - this.style = null; // ExpressionContext; - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -CONVERTContext.prototype = Object.create(Function_callContext.prototype); -CONVERTContext.prototype.constructor = CONVERTContext; - -TSqlParser.CONVERTContext = CONVERTContext; - -CONVERTContext.prototype.CONVERT = function() { - return this.getToken(TSqlParser.CONVERT, 0); -}; - -CONVERTContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -CONVERTContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -CONVERTContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -CONVERTContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -CONVERTContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; -CONVERTContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCONVERT(this); - } -}; - -CONVERTContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCONVERT(this); - } -}; - -CONVERTContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCONVERT(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function XML_DATA_TYPE_FUNCContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -XML_DATA_TYPE_FUNCContext.prototype = Object.create(Function_callContext.prototype); -XML_DATA_TYPE_FUNCContext.prototype.constructor = XML_DATA_TYPE_FUNCContext; - -TSqlParser.XML_DATA_TYPE_FUNCContext = XML_DATA_TYPE_FUNCContext; - -XML_DATA_TYPE_FUNCContext.prototype.xml_data_type_methods = function() { - return this.getTypedRuleContext(Xml_data_type_methodsContext,0); -}; -XML_DATA_TYPE_FUNCContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterXML_DATA_TYPE_FUNC(this); - } -}; - -XML_DATA_TYPE_FUNCContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitXML_DATA_TYPE_FUNC(this); - } -}; - -XML_DATA_TYPE_FUNCContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitXML_DATA_TYPE_FUNC(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function COALESCEContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -COALESCEContext.prototype = Object.create(Function_callContext.prototype); -COALESCEContext.prototype.constructor = COALESCEContext; - -TSqlParser.COALESCEContext = COALESCEContext; - -COALESCEContext.prototype.COALESCE = function() { - return this.getToken(TSqlParser.COALESCE, 0); -}; - -COALESCEContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -COALESCEContext.prototype.expression_list = function() { - return this.getTypedRuleContext(Expression_listContext,0); -}; - -COALESCEContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -COALESCEContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCOALESCE(this); - } -}; - -COALESCEContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCOALESCE(this); - } -}; - -COALESCEContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCOALESCE(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function CASTContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -CASTContext.prototype = Object.create(Function_callContext.prototype); -CASTContext.prototype.constructor = CASTContext; - -TSqlParser.CASTContext = CASTContext; - -CASTContext.prototype.CAST = function() { - return this.getToken(TSqlParser.CAST, 0); -}; - -CASTContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -CASTContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -CASTContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -CASTContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -CASTContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -CASTContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCAST(this); - } -}; - -CASTContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCAST(this); - } -}; - -CASTContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCAST(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function MIN_ACTIVE_ROWVERSIONContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -MIN_ACTIVE_ROWVERSIONContext.prototype = Object.create(Function_callContext.prototype); -MIN_ACTIVE_ROWVERSIONContext.prototype.constructor = MIN_ACTIVE_ROWVERSIONContext; - -TSqlParser.MIN_ACTIVE_ROWVERSIONContext = MIN_ACTIVE_ROWVERSIONContext; - -MIN_ACTIVE_ROWVERSIONContext.prototype.MIN_ACTIVE_ROWVERSION = function() { - return this.getToken(TSqlParser.MIN_ACTIVE_ROWVERSION, 0); -}; -MIN_ACTIVE_ROWVERSIONContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterMIN_ACTIVE_ROWVERSION(this); - } -}; - -MIN_ACTIVE_ROWVERSIONContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitMIN_ACTIVE_ROWVERSION(this); - } -}; - -MIN_ACTIVE_ROWVERSIONContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitMIN_ACTIVE_ROWVERSION(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function SCALAR_FUNCTIONContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -SCALAR_FUNCTIONContext.prototype = Object.create(Function_callContext.prototype); -SCALAR_FUNCTIONContext.prototype.constructor = SCALAR_FUNCTIONContext; - -TSqlParser.SCALAR_FUNCTIONContext = SCALAR_FUNCTIONContext; - -SCALAR_FUNCTIONContext.prototype.scalar_function_name = function() { - return this.getTypedRuleContext(Scalar_function_nameContext,0); -}; - -SCALAR_FUNCTIONContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -SCALAR_FUNCTIONContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -SCALAR_FUNCTIONContext.prototype.expression_list = function() { - return this.getTypedRuleContext(Expression_listContext,0); -}; -SCALAR_FUNCTIONContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSCALAR_FUNCTION(this); - } -}; - -SCALAR_FUNCTIONContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSCALAR_FUNCTION(this); - } -}; - -SCALAR_FUNCTIONContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSCALAR_FUNCTION(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function DATEPARTContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -DATEPARTContext.prototype = Object.create(Function_callContext.prototype); -DATEPARTContext.prototype.constructor = DATEPARTContext; - -TSqlParser.DATEPARTContext = DATEPARTContext; - -DATEPARTContext.prototype.DATEPART = function() { - return this.getToken(TSqlParser.DATEPART, 0); -}; - -DATEPARTContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -DATEPARTContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -DATEPARTContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -DATEPARTContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -DATEPARTContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -DATEPARTContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDATEPART(this); - } -}; - -DATEPARTContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDATEPART(this); - } -}; - -DATEPARTContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDATEPART(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function STUFFContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -STUFFContext.prototype = Object.create(Function_callContext.prototype); -STUFFContext.prototype.constructor = STUFFContext; - -TSqlParser.STUFFContext = STUFFContext; - -STUFFContext.prototype.STUFF = function() { - return this.getToken(TSqlParser.STUFF, 0); -}; - -STUFFContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -STUFFContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -STUFFContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -STUFFContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -STUFFContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -STUFFContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSTUFF(this); - } -}; - -STUFFContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSTUFF(this); - } -}; - -STUFFContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSTUFF(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function AGGREGATE_WINDOWED_FUNCContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -AGGREGATE_WINDOWED_FUNCContext.prototype = Object.create(Function_callContext.prototype); -AGGREGATE_WINDOWED_FUNCContext.prototype.constructor = AGGREGATE_WINDOWED_FUNCContext; - -TSqlParser.AGGREGATE_WINDOWED_FUNCContext = AGGREGATE_WINDOWED_FUNCContext; - -AGGREGATE_WINDOWED_FUNCContext.prototype.aggregate_windowed_function = function() { - return this.getTypedRuleContext(Aggregate_windowed_functionContext,0); -}; -AGGREGATE_WINDOWED_FUNCContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAGGREGATE_WINDOWED_FUNC(this); - } -}; - -AGGREGATE_WINDOWED_FUNCContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAGGREGATE_WINDOWED_FUNC(this); - } -}; - -AGGREGATE_WINDOWED_FUNCContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAGGREGATE_WINDOWED_FUNC(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function IDENTITYContext(parser, ctx) { - Function_callContext.call(this, parser); - this.seed = null; // Token; - this.increment = null; // Token; - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -IDENTITYContext.prototype = Object.create(Function_callContext.prototype); -IDENTITYContext.prototype.constructor = IDENTITYContext; - -TSqlParser.IDENTITYContext = IDENTITYContext; - -IDENTITYContext.prototype.IDENTITY = function() { - return this.getToken(TSqlParser.IDENTITY, 0); -}; - -IDENTITYContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -IDENTITYContext.prototype.data_type = function() { - return this.getTypedRuleContext(Data_typeContext,0); -}; - -IDENTITYContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -IDENTITYContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -IDENTITYContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - -IDENTITYContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterIDENTITY(this); - } -}; - -IDENTITYContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitIDENTITY(this); - } -}; - -IDENTITYContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitIDENTITY(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function RANKING_WINDOWED_FUNCContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -RANKING_WINDOWED_FUNCContext.prototype = Object.create(Function_callContext.prototype); -RANKING_WINDOWED_FUNCContext.prototype.constructor = RANKING_WINDOWED_FUNCContext; - -TSqlParser.RANKING_WINDOWED_FUNCContext = RANKING_WINDOWED_FUNCContext; - -RANKING_WINDOWED_FUNCContext.prototype.ranking_windowed_function = function() { - return this.getTypedRuleContext(Ranking_windowed_functionContext,0); -}; -RANKING_WINDOWED_FUNCContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterRANKING_WINDOWED_FUNC(this); - } -}; - -RANKING_WINDOWED_FUNCContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitRANKING_WINDOWED_FUNC(this); - } -}; - -RANKING_WINDOWED_FUNCContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitRANKING_WINDOWED_FUNC(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function DATENAMEContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -DATENAMEContext.prototype = Object.create(Function_callContext.prototype); -DATENAMEContext.prototype.constructor = DATENAMEContext; - -TSqlParser.DATENAMEContext = DATENAMEContext; - -DATENAMEContext.prototype.DATENAME = function() { - return this.getToken(TSqlParser.DATENAME, 0); -}; - -DATENAMEContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -DATENAMEContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -DATENAMEContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -DATENAMEContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -DATENAMEContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -DATENAMEContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDATENAME(this); - } -}; - -DATENAMEContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDATENAME(this); - } -}; - -DATENAMEContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDATENAME(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function GETUTCDATEContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -GETUTCDATEContext.prototype = Object.create(Function_callContext.prototype); -GETUTCDATEContext.prototype.constructor = GETUTCDATEContext; - -TSqlParser.GETUTCDATEContext = GETUTCDATEContext; - -GETUTCDATEContext.prototype.GETUTCDATE = function() { - return this.getToken(TSqlParser.GETUTCDATE, 0); -}; - -GETUTCDATEContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -GETUTCDATEContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -GETUTCDATEContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterGETUTCDATE(this); - } -}; - -GETUTCDATEContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitGETUTCDATE(this); - } -}; - -GETUTCDATEContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitGETUTCDATE(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function ANALYTIC_WINDOWED_FUNCContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -ANALYTIC_WINDOWED_FUNCContext.prototype = Object.create(Function_callContext.prototype); -ANALYTIC_WINDOWED_FUNCContext.prototype.constructor = ANALYTIC_WINDOWED_FUNCContext; - -TSqlParser.ANALYTIC_WINDOWED_FUNCContext = ANALYTIC_WINDOWED_FUNCContext; - -ANALYTIC_WINDOWED_FUNCContext.prototype.analytic_windowed_function = function() { - return this.getTypedRuleContext(Analytic_windowed_functionContext,0); -}; -ANALYTIC_WINDOWED_FUNCContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterANALYTIC_WINDOWED_FUNC(this); - } -}; - -ANALYTIC_WINDOWED_FUNCContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitANALYTIC_WINDOWED_FUNC(this); - } -}; - -ANALYTIC_WINDOWED_FUNCContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitANALYTIC_WINDOWED_FUNC(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function ISNULLContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -ISNULLContext.prototype = Object.create(Function_callContext.prototype); -ISNULLContext.prototype.constructor = ISNULLContext; - -TSqlParser.ISNULLContext = ISNULLContext; - -ISNULLContext.prototype.ISNULL = function() { - return this.getToken(TSqlParser.ISNULL, 0); -}; - -ISNULLContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -ISNULLContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -ISNULLContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -ISNULLContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -ISNULLContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterISNULL(this); - } -}; - -ISNULLContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitISNULL(this); - } -}; - -ISNULLContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitISNULL(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function DATEDIFFContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -DATEDIFFContext.prototype = Object.create(Function_callContext.prototype); -DATEDIFFContext.prototype.constructor = DATEDIFFContext; - -TSqlParser.DATEDIFFContext = DATEDIFFContext; - -DATEDIFFContext.prototype.DATEDIFF = function() { - return this.getToken(TSqlParser.DATEDIFF, 0); -}; - -DATEDIFFContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -DATEDIFFContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -DATEDIFFContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -DATEDIFFContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -DATEDIFFContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -DATEDIFFContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDATEDIFF(this); - } -}; - -DATEDIFFContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDATEDIFF(this); - } -}; - -DATEDIFFContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDATEDIFF(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function GETDATEContext(parser, ctx) { - Function_callContext.call(this, parser); - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -GETDATEContext.prototype = Object.create(Function_callContext.prototype); -GETDATEContext.prototype.constructor = GETDATEContext; - -TSqlParser.GETDATEContext = GETDATEContext; - -GETDATEContext.prototype.GETDATE = function() { - return this.getToken(TSqlParser.GETDATE, 0); -}; - -GETDATEContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -GETDATEContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; -GETDATEContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterGETDATE(this); - } -}; - -GETDATEContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitGETDATE(this); - } -}; - -GETDATEContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitGETDATE(this); - } else { - return visitor.visitChildren(this); - } -}; - - -function STRINGAGGContext(parser, ctx) { - Function_callContext.call(this, parser); - this.expr = null; // ExpressionContext; - this.separator = null; // ExpressionContext; - Function_callContext.prototype.copyFrom.call(this, ctx); - return this; -} - -STRINGAGGContext.prototype = Object.create(Function_callContext.prototype); -STRINGAGGContext.prototype.constructor = STRINGAGGContext; - -TSqlParser.STRINGAGGContext = STRINGAGGContext; - -STRINGAGGContext.prototype.STRING_AGG = function() { - return this.getToken(TSqlParser.STRING_AGG, 0); -}; - -STRINGAGGContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -STRINGAGGContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -STRINGAGGContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -STRINGAGGContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -STRINGAGGContext.prototype.WITHIN = function() { - return this.getToken(TSqlParser.WITHIN, 0); -}; - -STRINGAGGContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -STRINGAGGContext.prototype.order_by_clause = function() { - return this.getTypedRuleContext(Order_by_clauseContext,0); -}; -STRINGAGGContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSTRINGAGG(this); - } -}; - -STRINGAGGContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSTRINGAGG(this); - } -}; - -STRINGAGGContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSTRINGAGG(this); - } else { - return visitor.visitChildren(this); - } -}; - - - -TSqlParser.Function_callContext = Function_callContext; - -TSqlParser.prototype.function_call = function() { - - var localctx = new Function_callContext(this, this._ctx, this.state); - this.enterRule(localctx, 830, TSqlParser.RULE_function_call); - var _la = 0; // Token type - try { - this.state = 9833; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1383,this._ctx); - switch(la_) { - case 1: - localctx = new BINARY_CHECKSUMContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 9687; - this.match(TSqlParser.BINARY_CHECKSUM); - this.state = 9688; - this.match(TSqlParser.LR_BRACKET); - this.state = 9689; - this.match(TSqlParser.STAR); - this.state = 9690; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - localctx = new CASTContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 9691; - this.match(TSqlParser.CAST); - this.state = 9692; - this.match(TSqlParser.LR_BRACKET); - this.state = 9693; - this.expression(0); - this.state = 9694; - this.match(TSqlParser.AS); - this.state = 9695; - this.data_type(); - this.state = 9696; - this.match(TSqlParser.RR_BRACKET); - break; - - case 3: - localctx = new CONVERTContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 9698; - this.match(TSqlParser.CONVERT); - this.state = 9699; - this.match(TSqlParser.LR_BRACKET); - this.state = 9700; - localctx.convert_data_type = this.data_type(); - this.state = 9701; - this.match(TSqlParser.COMMA); - this.state = 9702; - localctx.convert_expression = this.expression(0); - this.state = 9705; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 9703; - this.match(TSqlParser.COMMA); - this.state = 9704; - localctx.style = this.expression(0); - } - - this.state = 9707; - this.match(TSqlParser.RR_BRACKET); - break; - - case 4: - localctx = new CHECKSUMContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 9709; - this.match(TSqlParser.CHECKSUM); - this.state = 9710; - this.match(TSqlParser.LR_BRACKET); - this.state = 9711; - this.match(TSqlParser.STAR); - this.state = 9712; - this.match(TSqlParser.RR_BRACKET); - break; - - case 5: - localctx = new COALESCEContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 9713; - this.match(TSqlParser.COALESCE); - this.state = 9714; - this.match(TSqlParser.LR_BRACKET); - this.state = 9715; - this.expression_list(); - this.state = 9716; - this.match(TSqlParser.RR_BRACKET); - break; - - case 6: - localctx = new CURRENT_TIMESTAMPContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 9718; - this.match(TSqlParser.CURRENT_TIMESTAMP); - break; - - case 7: - localctx = new CURRENT_USERContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 9719; - this.match(TSqlParser.CURRENT_USER); - break; - - case 8: - localctx = new DATEADDContext(this, localctx); - this.enterOuterAlt(localctx, 8); - this.state = 9720; - this.match(TSqlParser.DATEADD); - this.state = 9721; - this.match(TSqlParser.LR_BRACKET); - this.state = 9722; - this.match(TSqlParser.ID); - this.state = 9723; - this.match(TSqlParser.COMMA); - this.state = 9724; - this.expression(0); - this.state = 9725; - this.match(TSqlParser.COMMA); - this.state = 9726; - this.expression(0); - this.state = 9727; - this.match(TSqlParser.RR_BRACKET); - break; - - case 9: - localctx = new DATEDIFFContext(this, localctx); - this.enterOuterAlt(localctx, 9); - this.state = 9729; - this.match(TSqlParser.DATEDIFF); - this.state = 9730; - this.match(TSqlParser.LR_BRACKET); - this.state = 9731; - this.match(TSqlParser.ID); - this.state = 9732; - this.match(TSqlParser.COMMA); - this.state = 9733; - this.expression(0); - this.state = 9734; - this.match(TSqlParser.COMMA); - this.state = 9735; - this.expression(0); - this.state = 9736; - this.match(TSqlParser.RR_BRACKET); - break; - - case 10: - localctx = new DATENAMEContext(this, localctx); - this.enterOuterAlt(localctx, 10); - this.state = 9738; - this.match(TSqlParser.DATENAME); - this.state = 9739; - this.match(TSqlParser.LR_BRACKET); - this.state = 9740; - this.match(TSqlParser.ID); - this.state = 9741; - this.match(TSqlParser.COMMA); - this.state = 9742; - this.expression(0); - this.state = 9743; - this.match(TSqlParser.RR_BRACKET); - break; - - case 11: - localctx = new DATEPARTContext(this, localctx); - this.enterOuterAlt(localctx, 11); - this.state = 9745; - this.match(TSqlParser.DATEPART); - this.state = 9746; - this.match(TSqlParser.LR_BRACKET); - this.state = 9747; - this.match(TSqlParser.ID); - this.state = 9748; - this.match(TSqlParser.COMMA); - this.state = 9749; - this.expression(0); - this.state = 9750; - this.match(TSqlParser.RR_BRACKET); - break; - - case 12: - localctx = new GETDATEContext(this, localctx); - this.enterOuterAlt(localctx, 12); - this.state = 9752; - this.match(TSqlParser.GETDATE); - this.state = 9753; - this.match(TSqlParser.LR_BRACKET); - this.state = 9754; - this.match(TSqlParser.RR_BRACKET); - break; - - case 13: - localctx = new GETUTCDATEContext(this, localctx); - this.enterOuterAlt(localctx, 13); - this.state = 9755; - this.match(TSqlParser.GETUTCDATE); - this.state = 9756; - this.match(TSqlParser.LR_BRACKET); - this.state = 9757; - this.match(TSqlParser.RR_BRACKET); - break; - - case 14: - localctx = new IDENTITYContext(this, localctx); - this.enterOuterAlt(localctx, 14); - this.state = 9758; - this.match(TSqlParser.IDENTITY); - this.state = 9759; - this.match(TSqlParser.LR_BRACKET); - this.state = 9760; - this.data_type(); - this.state = 9763; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1379,this._ctx); - if(la_===1) { - this.state = 9761; - this.match(TSqlParser.COMMA); - this.state = 9762; - localctx.seed = this.match(TSqlParser.DECIMAL); - - } - this.state = 9767; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 9765; - this.match(TSqlParser.COMMA); - this.state = 9766; - localctx.increment = this.match(TSqlParser.DECIMAL); - } - - this.state = 9769; - this.match(TSqlParser.RR_BRACKET); - break; - - case 15: - localctx = new MIN_ACTIVE_ROWVERSIONContext(this, localctx); - this.enterOuterAlt(localctx, 15); - this.state = 9771; - this.match(TSqlParser.MIN_ACTIVE_ROWVERSION); - break; - - case 16: - localctx = new NULLIFContext(this, localctx); - this.enterOuterAlt(localctx, 16); - this.state = 9772; - this.match(TSqlParser.NULLIF); - this.state = 9773; - this.match(TSqlParser.LR_BRACKET); - this.state = 9774; - this.expression(0); - this.state = 9775; - this.match(TSqlParser.COMMA); - this.state = 9776; - this.expression(0); - this.state = 9777; - this.match(TSqlParser.RR_BRACKET); - break; - - case 17: - localctx = new STUFFContext(this, localctx); - this.enterOuterAlt(localctx, 17); - this.state = 9779; - this.match(TSqlParser.STUFF); - this.state = 9780; - this.match(TSqlParser.LR_BRACKET); - this.state = 9781; - this.expression(0); - this.state = 9782; - this.match(TSqlParser.COMMA); - this.state = 9783; - this.match(TSqlParser.DECIMAL); - this.state = 9784; - this.match(TSqlParser.COMMA); - this.state = 9785; - this.match(TSqlParser.DECIMAL); - this.state = 9786; - this.match(TSqlParser.COMMA); - this.state = 9787; - this.expression(0); - this.state = 9788; - this.match(TSqlParser.RR_BRACKET); - break; - - case 18: - localctx = new SESSION_USERContext(this, localctx); - this.enterOuterAlt(localctx, 18); - this.state = 9790; - this.match(TSqlParser.SESSION_USER); - break; - - case 19: - localctx = new SYSTEM_USERContext(this, localctx); - this.enterOuterAlt(localctx, 19); - this.state = 9791; - this.match(TSqlParser.SYSTEM_USER); - break; - - case 20: - localctx = new ISNULLContext(this, localctx); - this.enterOuterAlt(localctx, 20); - this.state = 9792; - this.match(TSqlParser.ISNULL); - this.state = 9793; - this.match(TSqlParser.LR_BRACKET); - this.state = 9794; - this.expression(0); - this.state = 9795; - this.match(TSqlParser.COMMA); - this.state = 9796; - this.expression(0); - this.state = 9797; - this.match(TSqlParser.RR_BRACKET); - break; - - case 21: - localctx = new XML_DATA_TYPE_FUNCContext(this, localctx); - this.enterOuterAlt(localctx, 21); - this.state = 9799; - this.xml_data_type_methods(); - break; - - case 22: - localctx = new IFFContext(this, localctx); - this.enterOuterAlt(localctx, 22); - this.state = 9800; - this.match(TSqlParser.IIF); - this.state = 9801; - this.match(TSqlParser.LR_BRACKET); - this.state = 9802; - this.search_condition(); - this.state = 9803; - this.match(TSqlParser.COMMA); - this.state = 9804; - this.expression(0); - this.state = 9805; - this.match(TSqlParser.COMMA); - this.state = 9806; - this.expression(0); - this.state = 9807; - this.match(TSqlParser.RR_BRACKET); - break; - - case 23: - localctx = new RANKING_WINDOWED_FUNCContext(this, localctx); - this.enterOuterAlt(localctx, 23); - this.state = 9809; - this.ranking_windowed_function(); - break; - - case 24: - localctx = new AGGREGATE_WINDOWED_FUNCContext(this, localctx); - this.enterOuterAlt(localctx, 24); - this.state = 9810; - this.aggregate_windowed_function(); - break; - - case 25: - localctx = new ANALYTIC_WINDOWED_FUNCContext(this, localctx); - this.enterOuterAlt(localctx, 25); - this.state = 9811; - this.analytic_windowed_function(); - break; - - case 26: - localctx = new SCALAR_FUNCTIONContext(this, localctx); - this.enterOuterAlt(localctx, 26); - this.state = 9812; - this.scalar_function_name(); - this.state = 9813; - this.match(TSqlParser.LR_BRACKET); - this.state = 9815; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(((((_la - 30)) & ~0x1f) == 0 && ((1 << (_la - 30)) & ((1 << (TSqlParser.BLOCKING_HIERARCHY - 30)) | (1 << (TSqlParser.CALLED - 30)) | (1 << (TSqlParser.CASE - 30)) | (1 << (TSqlParser.COALESCE - 30)))) !== 0) || ((((_la - 69)) & ~0x1f) == 0 && ((1 << (_la - 69)) & ((1 << (TSqlParser.CONVERT - 69)) | (1 << (TSqlParser.CURRENT_TIMESTAMP - 69)) | (1 << (TSqlParser.CURRENT_USER - 69)) | (1 << (TSqlParser.DATA_COMPRESSION - 69)) | (1 << (TSqlParser.DEFAULT - 69)))) !== 0) || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 148)) & ~0x1f) == 0 && ((1 << (_la - 148)) & ((1 << (TSqlParser.IDENTITY - 148)) | (1 << (TSqlParser.IIF - 148)) | (1 << (TSqlParser.INIT - 148)) | (1 << (TSqlParser.ISNULL - 148)) | (1 << (TSqlParser.KEY - 148)) | (1 << (TSqlParser.LEFT - 148)))) !== 0) || _la===TSqlParser.MASTER || _la===TSqlParser.MAX_MEMORY || ((((_la - 221)) & ~0x1f) == 0 && ((1 << (_la - 221)) & ((1 << (TSqlParser.NULL - 221)) | (1 << (TSqlParser.NULLIF - 221)) | (1 << (TSqlParser.OFFSETS - 221)) | (1 << (TSqlParser.OVER - 221)) | (1 << (TSqlParser.PAGE - 221)))) !== 0) || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.RIGHT - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SESSION_USER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.SYSTEM_USER - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.LOCAL_ID - 796)) | (1 << (TSqlParser.DECIMAL - 796)) | (1 << (TSqlParser.ID - 796)) | (1 << (TSqlParser.STRING - 796)) | (1 << (TSqlParser.BINARY - 796)) | (1 << (TSqlParser.FLOAT - 796)) | (1 << (TSqlParser.REAL - 796)) | (1 << (TSqlParser.DOLLAR - 796)) | (1 << (TSqlParser.LR_BRACKET - 796)))) !== 0) || ((((_la - 834)) & ~0x1f) == 0 && ((1 << (_la - 834)) & ((1 << (TSqlParser.PLUS - 834)) | (1 << (TSqlParser.MINUS - 834)) | (1 << (TSqlParser.BIT_NOT - 834)))) !== 0)) { - this.state = 9814; - this.expression_list(); - } - - this.state = 9817; - this.match(TSqlParser.RR_BRACKET); - break; - - case 27: - localctx = new STRINGAGGContext(this, localctx); - this.enterOuterAlt(localctx, 27); - this.state = 9819; - this.match(TSqlParser.STRING_AGG); - this.state = 9820; - this.match(TSqlParser.LR_BRACKET); - this.state = 9821; - localctx.expr = this.expression(0); - this.state = 9822; - this.match(TSqlParser.COMMA); - this.state = 9823; - localctx.separator = this.expression(0); - this.state = 9824; - this.match(TSqlParser.RR_BRACKET); - this.state = 9831; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1382,this._ctx); - if(la_===1) { - this.state = 9825; - this.match(TSqlParser.WITHIN); - this.state = 9826; - this.match(TSqlParser.GROUP); - this.state = 9827; - this.match(TSqlParser.LR_BRACKET); - this.state = 9828; - this.order_by_clause(); - this.state = 9829; - this.match(TSqlParser.RR_BRACKET); - - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Xml_data_type_methodsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_xml_data_type_methods; - return this; -} - -Xml_data_type_methodsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Xml_data_type_methodsContext.prototype.constructor = Xml_data_type_methodsContext; - -Xml_data_type_methodsContext.prototype.value_method = function() { - return this.getTypedRuleContext(Value_methodContext,0); -}; - -Xml_data_type_methodsContext.prototype.query_method = function() { - return this.getTypedRuleContext(Query_methodContext,0); -}; - -Xml_data_type_methodsContext.prototype.exist_method = function() { - return this.getTypedRuleContext(Exist_methodContext,0); -}; - -Xml_data_type_methodsContext.prototype.modify_method = function() { - return this.getTypedRuleContext(Modify_methodContext,0); -}; - -Xml_data_type_methodsContext.prototype.nodes_method = function() { - return this.getTypedRuleContext(Nodes_methodContext,0); -}; - -Xml_data_type_methodsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterXml_data_type_methods(this); - } -}; - -Xml_data_type_methodsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitXml_data_type_methods(this); - } -}; - -Xml_data_type_methodsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitXml_data_type_methods(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Xml_data_type_methodsContext = Xml_data_type_methodsContext; - -TSqlParser.prototype.xml_data_type_methods = function() { - - var localctx = new Xml_data_type_methodsContext(this, this._ctx, this.state); - this.enterRule(localctx, 832, TSqlParser.RULE_xml_data_type_methods); - try { - this.state = 9840; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1384,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9835; - this.value_method(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9836; - this.query_method(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9837; - this.exist_method(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 9838; - this.modify_method(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 9839; - this.nodes_method(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Value_methodContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_value_method; - this.xquery = null; // Token - this.sqltype = null; // Token - return this; -} - -Value_methodContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Value_methodContext.prototype.constructor = Value_methodContext; - -Value_methodContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Value_methodContext.prototype.VALUE = function() { - return this.getToken(TSqlParser.VALUE, 0); -}; - -Value_methodContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Value_methodContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Value_methodContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Value_methodContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Value_methodContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Value_methodContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -Value_methodContext.prototype.EVENTDATA = function() { - return this.getToken(TSqlParser.EVENTDATA, 0); -}; - -Value_methodContext.prototype.query_method = function() { - return this.getTypedRuleContext(Query_methodContext,0); -}; - -Value_methodContext.prototype.ROW = function() { - return this.getToken(TSqlParser.ROW, 0); -}; - -Value_methodContext.prototype.PARAM_NODE = function() { - return this.getToken(TSqlParser.PARAM_NODE, 0); -}; - -Value_methodContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterValue_method(this); - } -}; - -Value_methodContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitValue_method(this); - } -}; - -Value_methodContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitValue_method(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Value_methodContext = Value_methodContext; - -TSqlParser.prototype.value_method = function() { - - var localctx = new Value_methodContext(this, this._ctx, this.state); - this.enterRule(localctx, 834, TSqlParser.RULE_value_method); - try { - this.state = 9885; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1388,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9846; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1385,this._ctx); - switch(la_) { - case 1: - this.state = 9842; - this.match(TSqlParser.LOCAL_ID); - break; - - case 2: - this.state = 9843; - this.match(TSqlParser.ID); - break; - - case 3: - this.state = 9844; - this.match(TSqlParser.EVENTDATA); - break; - - case 4: - this.state = 9845; - this.query_method(); - break; - - } - this.state = 9848; - this.match(TSqlParser.DOT); - this.state = 9849; - this.match(TSqlParser.VALUE); - this.state = 9850; - this.match(TSqlParser.LR_BRACKET); - this.state = 9851; - localctx.xquery = this.match(TSqlParser.STRING); - this.state = 9852; - this.match(TSqlParser.COMMA); - this.state = 9853; - localctx.sqltype = this.match(TSqlParser.STRING); - this.state = 9854; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9859; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1386,this._ctx); - switch(la_) { - case 1: - this.state = 9855; - this.match(TSqlParser.LOCAL_ID); - break; - - case 2: - this.state = 9856; - this.match(TSqlParser.ID); - break; - - case 3: - this.state = 9857; - this.match(TSqlParser.EVENTDATA); - break; - - case 4: - this.state = 9858; - this.query_method(); - break; - - } - this.state = 9861; - this.match(TSqlParser.DOT); - this.state = 9862; - this.match(TSqlParser.ROW); - this.state = 9863; - this.match(TSqlParser.DOT); - this.state = 9864; - this.match(TSqlParser.VALUE); - this.state = 9865; - this.match(TSqlParser.LR_BRACKET); - this.state = 9866; - localctx.xquery = this.match(TSqlParser.STRING); - this.state = 9867; - this.match(TSqlParser.COMMA); - this.state = 9868; - localctx.sqltype = this.match(TSqlParser.STRING); - this.state = 9869; - this.match(TSqlParser.RR_BRACKET); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 9874; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1387,this._ctx); - switch(la_) { - case 1: - this.state = 9870; - this.match(TSqlParser.LOCAL_ID); - break; - - case 2: - this.state = 9871; - this.match(TSqlParser.ID); - break; - - case 3: - this.state = 9872; - this.match(TSqlParser.EVENTDATA); - break; - - case 4: - this.state = 9873; - this.query_method(); - break; - - } - this.state = 9876; - this.match(TSqlParser.DOT); - this.state = 9877; - this.match(TSqlParser.PARAM_NODE); - this.state = 9878; - this.match(TSqlParser.DOT); - this.state = 9879; - this.match(TSqlParser.VALUE); - this.state = 9880; - this.match(TSqlParser.LR_BRACKET); - this.state = 9881; - localctx.xquery = this.match(TSqlParser.STRING); - this.state = 9882; - this.match(TSqlParser.COMMA); - this.state = 9883; - localctx.sqltype = this.match(TSqlParser.STRING); - this.state = 9884; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Query_methodContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_query_method; - this.xquery = null; // Token - return this; -} - -Query_methodContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Query_methodContext.prototype.constructor = Query_methodContext; - -Query_methodContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Query_methodContext.prototype.QUERY = function() { - return this.getToken(TSqlParser.QUERY, 0); -}; - -Query_methodContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Query_methodContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Query_methodContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Query_methodContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Query_methodContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -Query_methodContext.prototype.full_table_name = function() { - return this.getTypedRuleContext(Full_table_nameContext,0); -}; - -Query_methodContext.prototype.ROW = function() { - return this.getToken(TSqlParser.ROW, 0); -}; - -Query_methodContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterQuery_method(this); - } -}; - -Query_methodContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitQuery_method(this); - } -}; - -Query_methodContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitQuery_method(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Query_methodContext = Query_methodContext; - -TSqlParser.prototype.query_method = function() { - - var localctx = new Query_methodContext(this, this._ctx, this.state); - this.enterRule(localctx, 836, TSqlParser.RULE_query_method); - try { - this.state = 9909; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1391,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 9890; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1389,this._ctx); - switch(la_) { - case 1: - this.state = 9887; - this.match(TSqlParser.LOCAL_ID); - break; - - case 2: - this.state = 9888; - this.match(TSqlParser.ID); - break; - - case 3: - this.state = 9889; - this.full_table_name(); - break; - - } - this.state = 9892; - this.match(TSqlParser.DOT); - this.state = 9893; - this.match(TSqlParser.QUERY); - this.state = 9894; - this.match(TSqlParser.LR_BRACKET); - this.state = 9895; - localctx.xquery = this.match(TSqlParser.STRING); - this.state = 9896; - this.match(TSqlParser.RR_BRACKET); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 9900; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1390,this._ctx); - switch(la_) { - case 1: - this.state = 9897; - this.match(TSqlParser.LOCAL_ID); - break; - - case 2: - this.state = 9898; - this.match(TSqlParser.ID); - break; - - case 3: - this.state = 9899; - this.full_table_name(); - break; - - } - this.state = 9902; - this.match(TSqlParser.DOT); - this.state = 9903; - this.match(TSqlParser.ROW); - this.state = 9904; - this.match(TSqlParser.DOT); - this.state = 9905; - this.match(TSqlParser.QUERY); - this.state = 9906; - this.match(TSqlParser.LR_BRACKET); - this.state = 9907; - localctx.xquery = this.match(TSqlParser.STRING); - this.state = 9908; - this.match(TSqlParser.RR_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Exist_methodContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_exist_method; - this.xquery = null; // Token - return this; -} - -Exist_methodContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Exist_methodContext.prototype.constructor = Exist_methodContext; - -Exist_methodContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Exist_methodContext.prototype.EXIST = function() { - return this.getToken(TSqlParser.EXIST, 0); -}; - -Exist_methodContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Exist_methodContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Exist_methodContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Exist_methodContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -Exist_methodContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Exist_methodContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExist_method(this); - } -}; - -Exist_methodContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExist_method(this); - } -}; - -Exist_methodContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExist_method(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Exist_methodContext = Exist_methodContext; - -TSqlParser.prototype.exist_method = function() { - - var localctx = new Exist_methodContext(this, this._ctx, this.state); - this.enterRule(localctx, 838, TSqlParser.RULE_exist_method); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9911; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.ID)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9912; - this.match(TSqlParser.DOT); - this.state = 9913; - this.match(TSqlParser.EXIST); - this.state = 9914; - this.match(TSqlParser.LR_BRACKET); - this.state = 9915; - localctx.xquery = this.match(TSqlParser.STRING); - this.state = 9916; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Modify_methodContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_modify_method; - this.xml_dml = null; // Token - return this; -} - -Modify_methodContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Modify_methodContext.prototype.constructor = Modify_methodContext; - -Modify_methodContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Modify_methodContext.prototype.MODIFY = function() { - return this.getToken(TSqlParser.MODIFY, 0); -}; - -Modify_methodContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Modify_methodContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Modify_methodContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Modify_methodContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -Modify_methodContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Modify_methodContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterModify_method(this); - } -}; - -Modify_methodContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitModify_method(this); - } -}; - -Modify_methodContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitModify_method(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Modify_methodContext = Modify_methodContext; - -TSqlParser.prototype.modify_method = function() { - - var localctx = new Modify_methodContext(this, this._ctx, this.state); - this.enterRule(localctx, 840, TSqlParser.RULE_modify_method); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9918; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.ID)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9919; - this.match(TSqlParser.DOT); - this.state = 9920; - this.match(TSqlParser.MODIFY); - this.state = 9921; - this.match(TSqlParser.LR_BRACKET); - this.state = 9922; - localctx.xml_dml = this.match(TSqlParser.STRING); - this.state = 9923; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Nodes_methodContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_nodes_method; - this.xquery = null; // Token - return this; -} - -Nodes_methodContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Nodes_methodContext.prototype.constructor = Nodes_methodContext; - -Nodes_methodContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Nodes_methodContext.prototype.NODES = function() { - return this.getToken(TSqlParser.NODES, 0); -}; - -Nodes_methodContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Nodes_methodContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Nodes_methodContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Nodes_methodContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -Nodes_methodContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Nodes_methodContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterNodes_method(this); - } -}; - -Nodes_methodContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitNodes_method(this); - } -}; - -Nodes_methodContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitNodes_method(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Nodes_methodContext = Nodes_methodContext; - -TSqlParser.prototype.nodes_method = function() { - - var localctx = new Nodes_methodContext(this, this._ctx, this.state); - this.enterRule(localctx, 842, TSqlParser.RULE_nodes_method); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9925; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.ID)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 9926; - this.match(TSqlParser.DOT); - this.state = 9927; - this.match(TSqlParser.NODES); - this.state = 9928; - this.match(TSqlParser.LR_BRACKET); - this.state = 9929; - localctx.xquery = this.match(TSqlParser.STRING); - this.state = 9930; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Switch_sectionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_switch_section; - return this; -} - -Switch_sectionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Switch_sectionContext.prototype.constructor = Switch_sectionContext; - -Switch_sectionContext.prototype.WHEN = function() { - return this.getToken(TSqlParser.WHEN, 0); -}; - -Switch_sectionContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -Switch_sectionContext.prototype.THEN = function() { - return this.getToken(TSqlParser.THEN, 0); -}; - -Switch_sectionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSwitch_section(this); - } -}; - -Switch_sectionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSwitch_section(this); - } -}; - -Switch_sectionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSwitch_section(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Switch_sectionContext = Switch_sectionContext; - -TSqlParser.prototype.switch_section = function() { - - var localctx = new Switch_sectionContext(this, this._ctx, this.state); - this.enterRule(localctx, 844, TSqlParser.RULE_switch_section); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9932; - this.match(TSqlParser.WHEN); - this.state = 9933; - this.expression(0); - this.state = 9934; - this.match(TSqlParser.THEN); - this.state = 9935; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Switch_search_condition_sectionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_switch_search_condition_section; - return this; -} - -Switch_search_condition_sectionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Switch_search_condition_sectionContext.prototype.constructor = Switch_search_condition_sectionContext; - -Switch_search_condition_sectionContext.prototype.WHEN = function() { - return this.getToken(TSqlParser.WHEN, 0); -}; - -Switch_search_condition_sectionContext.prototype.search_condition = function() { - return this.getTypedRuleContext(Search_conditionContext,0); -}; - -Switch_search_condition_sectionContext.prototype.THEN = function() { - return this.getToken(TSqlParser.THEN, 0); -}; - -Switch_search_condition_sectionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Switch_search_condition_sectionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSwitch_search_condition_section(this); - } -}; - -Switch_search_condition_sectionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSwitch_search_condition_section(this); - } -}; - -Switch_search_condition_sectionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSwitch_search_condition_section(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Switch_search_condition_sectionContext = Switch_search_condition_sectionContext; - -TSqlParser.prototype.switch_search_condition_section = function() { - - var localctx = new Switch_search_condition_sectionContext(this, this._ctx, this.state); - this.enterRule(localctx, 846, TSqlParser.RULE_switch_search_condition_section); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9937; - this.match(TSqlParser.WHEN); - this.state = 9938; - this.search_condition(); - this.state = 9939; - this.match(TSqlParser.THEN); - this.state = 9940; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function As_column_aliasContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_as_column_alias; - return this; -} - -As_column_aliasContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -As_column_aliasContext.prototype.constructor = As_column_aliasContext; - -As_column_aliasContext.prototype.column_alias = function() { - return this.getTypedRuleContext(Column_aliasContext,0); -}; - -As_column_aliasContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -As_column_aliasContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAs_column_alias(this); - } -}; - -As_column_aliasContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAs_column_alias(this); - } -}; - -As_column_aliasContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAs_column_alias(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.As_column_aliasContext = As_column_aliasContext; - -TSqlParser.prototype.as_column_alias = function() { - - var localctx = new As_column_aliasContext(this, this._ctx, this.state); - this.enterRule(localctx, 848, TSqlParser.RULE_as_column_alias); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9943; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 9942; - this.match(TSqlParser.AS); - } - - this.state = 9945; - this.column_alias(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function As_table_aliasContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_as_table_alias; - return this; -} - -As_table_aliasContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -As_table_aliasContext.prototype.constructor = As_table_aliasContext; - -As_table_aliasContext.prototype.table_alias = function() { - return this.getTypedRuleContext(Table_aliasContext,0); -}; - -As_table_aliasContext.prototype.AS = function() { - return this.getToken(TSqlParser.AS, 0); -}; - -As_table_aliasContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAs_table_alias(this); - } -}; - -As_table_aliasContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAs_table_alias(this); - } -}; - -As_table_aliasContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAs_table_alias(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.As_table_aliasContext = As_table_aliasContext; - -TSqlParser.prototype.as_table_alias = function() { - - var localctx = new As_table_aliasContext(this, this._ctx, this.state); - this.enterRule(localctx, 850, TSqlParser.RULE_as_table_alias); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9948; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.AS) { - this.state = 9947; - this.match(TSqlParser.AS); - } - - this.state = 9950; - this.table_alias(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_aliasContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_alias; - return this; -} - -Table_aliasContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_aliasContext.prototype.constructor = Table_aliasContext; - -Table_aliasContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Table_aliasContext.prototype.with_table_hints = function() { - return this.getTypedRuleContext(With_table_hintsContext,0); -}; - -Table_aliasContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_alias(this); - } -}; - -Table_aliasContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_alias(this); - } -}; - -Table_aliasContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_alias(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_aliasContext = Table_aliasContext; - -TSqlParser.prototype.table_alias = function() { - - var localctx = new Table_aliasContext(this, this._ctx, this.state); - this.enterRule(localctx, 852, TSqlParser.RULE_table_alias); - try { - this.enterOuterAlt(localctx, 1); - this.state = 9952; - this.id(); - this.state = 9954; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1394,this._ctx); - if(la_===1) { - this.state = 9953; - this.with_table_hints(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function With_table_hintsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_with_table_hints; - return this; -} - -With_table_hintsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -With_table_hintsContext.prototype.constructor = With_table_hintsContext; - -With_table_hintsContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -With_table_hintsContext.prototype.table_hint = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Table_hintContext); - } else { - return this.getTypedRuleContext(Table_hintContext,i); - } -}; - -With_table_hintsContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -With_table_hintsContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -With_table_hintsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -With_table_hintsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWith_table_hints(this); - } -}; - -With_table_hintsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWith_table_hints(this); - } -}; - -With_table_hintsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWith_table_hints(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.With_table_hintsContext = With_table_hintsContext; - -TSqlParser.prototype.with_table_hints = function() { - - var localctx = new With_table_hintsContext(this, this._ctx, this.state); - this.enterRule(localctx, 854, TSqlParser.RULE_with_table_hints); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9957; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WITH) { - this.state = 9956; - this.match(TSqlParser.WITH); - } - - this.state = 9959; - this.match(TSqlParser.LR_BRACKET); - this.state = 9960; - this.table_hint(); - this.state = 9967; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.FORCESEEK || _la===TSqlParser.INDEX || _la===TSqlParser.NOEXPAND || ((((_la - 718)) & ~0x1f) == 0 && ((1 << (_la - 718)) & ((1 << (TSqlParser.SERIALIZABLE - 718)) | (1 << (TSqlParser.SNAPSHOT - 718)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 718)))) !== 0) || _la===TSqlParser.ID || _la===TSqlParser.COMMA) { - this.state = 9962; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 9961; - this.match(TSqlParser.COMMA); - } - - this.state = 9964; - this.table_hint(); - this.state = 9969; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 9970; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Insert_with_table_hintsContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_insert_with_table_hints; - return this; -} - -Insert_with_table_hintsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Insert_with_table_hintsContext.prototype.constructor = Insert_with_table_hintsContext; - -Insert_with_table_hintsContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Insert_with_table_hintsContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Insert_with_table_hintsContext.prototype.table_hint = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Table_hintContext); - } else { - return this.getTypedRuleContext(Table_hintContext,i); - } -}; - -Insert_with_table_hintsContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Insert_with_table_hintsContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Insert_with_table_hintsContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterInsert_with_table_hints(this); - } -}; - -Insert_with_table_hintsContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitInsert_with_table_hints(this); - } -}; - -Insert_with_table_hintsContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitInsert_with_table_hints(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Insert_with_table_hintsContext = Insert_with_table_hintsContext; - -TSqlParser.prototype.insert_with_table_hints = function() { - - var localctx = new Insert_with_table_hintsContext(this, this._ctx, this.state); - this.enterRule(localctx, 856, TSqlParser.RULE_insert_with_table_hints); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9972; - this.match(TSqlParser.WITH); - this.state = 9973; - this.match(TSqlParser.LR_BRACKET); - this.state = 9974; - this.table_hint(); - this.state = 9981; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.FORCESEEK || _la===TSqlParser.INDEX || _la===TSqlParser.NOEXPAND || ((((_la - 718)) & ~0x1f) == 0 && ((1 << (_la - 718)) & ((1 << (TSqlParser.SERIALIZABLE - 718)) | (1 << (TSqlParser.SNAPSHOT - 718)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 718)))) !== 0) || _la===TSqlParser.ID || _la===TSqlParser.COMMA) { - this.state = 9976; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 9975; - this.match(TSqlParser.COMMA); - } - - this.state = 9978; - this.table_hint(); - this.state = 9983; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 9984; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_hintContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_hint; - return this; -} - -Table_hintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_hintContext.prototype.constructor = Table_hintContext; - -Table_hintContext.prototype.INDEX = function() { - return this.getToken(TSqlParser.INDEX, 0); -}; - -Table_hintContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Table_hintContext.prototype.index_value = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Index_valueContext); - } else { - return this.getTypedRuleContext(Index_valueContext,i); - } -}; - -Table_hintContext.prototype.FORCESEEK = function() { - return this.getToken(TSqlParser.FORCESEEK, 0); -}; - -Table_hintContext.prototype.SERIALIZABLE = function() { - return this.getToken(TSqlParser.SERIALIZABLE, 0); -}; - -Table_hintContext.prototype.SNAPSHOT = function() { - return this.getToken(TSqlParser.SNAPSHOT, 0); -}; - -Table_hintContext.prototype.SPATIAL_WINDOW_MAX_CELLS = function() { - return this.getToken(TSqlParser.SPATIAL_WINDOW_MAX_CELLS, 0); -}; - -Table_hintContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Table_hintContext.prototype.ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ID); - } else { - return this.getToken(TSqlParser.ID, i); - } -}; - - -Table_hintContext.prototype.NOEXPAND = function() { - return this.getToken(TSqlParser.NOEXPAND, 0); -}; - -Table_hintContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Table_hintContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Table_hintContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Table_hintContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_hint(this); - } -}; - -Table_hintContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_hint(this); - } -}; - -Table_hintContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_hint(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_hintContext = Table_hintContext; - -TSqlParser.prototype.table_hint = function() { - - var localctx = new Table_hintContext(this, this._ctx, this.state); - this.enterRule(localctx, 858, TSqlParser.RULE_table_hint); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 9987; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOEXPAND) { - this.state = 9986; - this.match(TSqlParser.NOEXPAND); - } - - this.state = 10037; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1406,this._ctx); - switch(la_) { - case 1: - this.state = 9989; - this.match(TSqlParser.INDEX); - this.state = 10009; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.LR_BRACKET: - this.state = 9990; - this.match(TSqlParser.LR_BRACKET); - this.state = 9991; - this.index_value(); - this.state = 9996; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 9992; - this.match(TSqlParser.COMMA); - this.state = 9993; - this.index_value(); - this.state = 9998; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 9999; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.DECIMAL: - case TSqlParser.ID: - this.state = 10001; - this.index_value(); - this.state = 10006; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1402,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 10002; - this.match(TSqlParser.COMMA); - this.state = 10003; - this.index_value(); - } - this.state = 10008; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1402,this._ctx); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 2: - this.state = 10011; - this.match(TSqlParser.INDEX); - this.state = 10012; - this.match(TSqlParser.EQUAL); - this.state = 10013; - this.index_value(); - break; - - case 3: - this.state = 10014; - this.match(TSqlParser.FORCESEEK); - this.state = 10029; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LR_BRACKET) { - this.state = 10015; - this.match(TSqlParser.LR_BRACKET); - this.state = 10016; - this.index_value(); - this.state = 10017; - this.match(TSqlParser.LR_BRACKET); - this.state = 10018; - this.match(TSqlParser.ID); - this.state = 10023; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 10019; - this.match(TSqlParser.COMMA); - this.state = 10020; - this.match(TSqlParser.ID); - this.state = 10025; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 10026; - this.match(TSqlParser.RR_BRACKET); - this.state = 10027; - this.match(TSqlParser.RR_BRACKET); - } - - break; - - case 4: - this.state = 10031; - this.match(TSqlParser.SERIALIZABLE); - break; - - case 5: - this.state = 10032; - this.match(TSqlParser.SNAPSHOT); - break; - - case 6: - this.state = 10033; - this.match(TSqlParser.SPATIAL_WINDOW_MAX_CELLS); - this.state = 10034; - this.match(TSqlParser.EQUAL); - this.state = 10035; - this.match(TSqlParser.DECIMAL); - break; - - case 7: - this.state = 10036; - this.match(TSqlParser.ID); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Index_valueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_index_value; - return this; -} - -Index_valueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Index_valueContext.prototype.constructor = Index_valueContext; - -Index_valueContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Index_valueContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Index_valueContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterIndex_value(this); - } -}; - -Index_valueContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitIndex_value(this); - } -}; - -Index_valueContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitIndex_value(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Index_valueContext = Index_valueContext; - -TSqlParser.prototype.index_value = function() { - - var localctx = new Index_valueContext(this, this._ctx, this.state); - this.enterRule(localctx, 860, TSqlParser.RULE_index_value); - try { - this.state = 10041; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 1); - this.state = 10039; - this.id(); - break; - case TSqlParser.DECIMAL: - this.enterOuterAlt(localctx, 2); - this.state = 10040; - this.match(TSqlParser.DECIMAL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_alias_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_alias_list; - return this; -} - -Column_alias_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_alias_listContext.prototype.constructor = Column_alias_listContext; - -Column_alias_listContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Column_alias_listContext.prototype.column_alias = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Column_aliasContext); - } else { - return this.getTypedRuleContext(Column_aliasContext,i); - } -}; - -Column_alias_listContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Column_alias_listContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Column_alias_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_alias_list(this); - } -}; - -Column_alias_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_alias_list(this); - } -}; - -Column_alias_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_alias_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_alias_listContext = Column_alias_listContext; - -TSqlParser.prototype.column_alias_list = function() { - - var localctx = new Column_alias_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 862, TSqlParser.RULE_column_alias_list); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10043; - this.match(TSqlParser.LR_BRACKET); - this.state = 10044; - this.column_alias(); - this.state = 10049; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 10045; - this.match(TSqlParser.COMMA); - this.state = 10046; - this.column_alias(); - this.state = 10051; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 10052; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_aliasContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_alias; - return this; -} - -Column_aliasContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_aliasContext.prototype.constructor = Column_aliasContext; - -Column_aliasContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Column_aliasContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Column_aliasContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_alias(this); - } -}; - -Column_aliasContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_alias(this); - } -}; - -Column_aliasContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_alias(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_aliasContext = Column_aliasContext; - -TSqlParser.prototype.column_alias = function() { - - var localctx = new Column_aliasContext(this, this._ctx, this.state); - this.enterRule(localctx, 864, TSqlParser.RULE_column_alias); - try { - this.state = 10056; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 1); - this.state = 10054; - this.id(); - break; - case TSqlParser.STRING: - this.enterOuterAlt(localctx, 2); - this.state = 10055; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_value_constructorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_value_constructor; - return this; -} - -Table_value_constructorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_value_constructorContext.prototype.constructor = Table_value_constructorContext; - -Table_value_constructorContext.prototype.VALUES = function() { - return this.getToken(TSqlParser.VALUES, 0); -}; - -Table_value_constructorContext.prototype.LR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LR_BRACKET); - } else { - return this.getToken(TSqlParser.LR_BRACKET, i); - } -}; - - -Table_value_constructorContext.prototype.expression_list = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Expression_listContext); - } else { - return this.getTypedRuleContext(Expression_listContext,i); - } -}; - -Table_value_constructorContext.prototype.RR_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.RR_BRACKET); - } else { - return this.getToken(TSqlParser.RR_BRACKET, i); - } -}; - - -Table_value_constructorContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Table_value_constructorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_value_constructor(this); - } -}; - -Table_value_constructorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_value_constructor(this); - } -}; - -Table_value_constructorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_value_constructor(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_value_constructorContext = Table_value_constructorContext; - -TSqlParser.prototype.table_value_constructor = function() { - - var localctx = new Table_value_constructorContext(this, this._ctx, this.state); - this.enterRule(localctx, 866, TSqlParser.RULE_table_value_constructor); - try { - this.enterOuterAlt(localctx, 1); - this.state = 10058; - this.match(TSqlParser.VALUES); - this.state = 10059; - this.match(TSqlParser.LR_BRACKET); - this.state = 10060; - this.expression_list(); - this.state = 10061; - this.match(TSqlParser.RR_BRACKET); - this.state = 10069; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1410,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 10062; - this.match(TSqlParser.COMMA); - this.state = 10063; - this.match(TSqlParser.LR_BRACKET); - this.state = 10064; - this.expression_list(); - this.state = 10065; - this.match(TSqlParser.RR_BRACKET); - } - this.state = 10071; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1410,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Expression_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_expression_list; - return this; -} - -Expression_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Expression_listContext.prototype.constructor = Expression_listContext; - -Expression_listContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -Expression_listContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Expression_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterExpression_list(this); - } -}; - -Expression_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitExpression_list(this); - } -}; - -Expression_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitExpression_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Expression_listContext = Expression_listContext; - -TSqlParser.prototype.expression_list = function() { - - var localctx = new Expression_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 868, TSqlParser.RULE_expression_list); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10072; - this.expression(0); - this.state = 10077; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 10073; - this.match(TSqlParser.COMMA); - this.state = 10074; - this.expression(0); - this.state = 10079; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Ranking_windowed_functionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_ranking_windowed_function; - return this; -} - -Ranking_windowed_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Ranking_windowed_functionContext.prototype.constructor = Ranking_windowed_functionContext; - -Ranking_windowed_functionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Ranking_windowed_functionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Ranking_windowed_functionContext.prototype.over_clause = function() { - return this.getTypedRuleContext(Over_clauseContext,0); -}; - -Ranking_windowed_functionContext.prototype.RANK = function() { - return this.getToken(TSqlParser.RANK, 0); -}; - -Ranking_windowed_functionContext.prototype.DENSE_RANK = function() { - return this.getToken(TSqlParser.DENSE_RANK, 0); -}; - -Ranking_windowed_functionContext.prototype.ROW_NUMBER = function() { - return this.getToken(TSqlParser.ROW_NUMBER, 0); -}; - -Ranking_windowed_functionContext.prototype.NTILE = function() { - return this.getToken(TSqlParser.NTILE, 0); -}; - -Ranking_windowed_functionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Ranking_windowed_functionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterRanking_windowed_function(this); - } -}; - -Ranking_windowed_functionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitRanking_windowed_function(this); - } -}; - -Ranking_windowed_functionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitRanking_windowed_function(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Ranking_windowed_functionContext = Ranking_windowed_functionContext; - -TSqlParser.prototype.ranking_windowed_function = function() { - - var localctx = new Ranking_windowed_functionContext(this, this._ctx, this.state); - this.enterRule(localctx, 870, TSqlParser.RULE_ranking_windowed_function); - var _la = 0; // Token type - try { - this.state = 10090; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DENSE_RANK: - case TSqlParser.RANK: - case TSqlParser.ROW_NUMBER: - this.enterOuterAlt(localctx, 1); - this.state = 10080; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DENSE_RANK || _la===TSqlParser.RANK || _la===TSqlParser.ROW_NUMBER)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10081; - this.match(TSqlParser.LR_BRACKET); - this.state = 10082; - this.match(TSqlParser.RR_BRACKET); - this.state = 10083; - this.over_clause(); - break; - case TSqlParser.NTILE: - this.enterOuterAlt(localctx, 2); - this.state = 10084; - this.match(TSqlParser.NTILE); - this.state = 10085; - this.match(TSqlParser.LR_BRACKET); - this.state = 10086; - this.expression(0); - this.state = 10087; - this.match(TSqlParser.RR_BRACKET); - this.state = 10088; - this.over_clause(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Aggregate_windowed_functionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_aggregate_windowed_function; - return this; -} - -Aggregate_windowed_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Aggregate_windowed_functionContext.prototype.constructor = Aggregate_windowed_functionContext; - -Aggregate_windowed_functionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Aggregate_windowed_functionContext.prototype.all_distinct_expression = function() { - return this.getTypedRuleContext(All_distinct_expressionContext,0); -}; - -Aggregate_windowed_functionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Aggregate_windowed_functionContext.prototype.AVG = function() { - return this.getToken(TSqlParser.AVG, 0); -}; - -Aggregate_windowed_functionContext.prototype.MAX = function() { - return this.getToken(TSqlParser.MAX, 0); -}; - -Aggregate_windowed_functionContext.prototype.MIN = function() { - return this.getToken(TSqlParser.MIN, 0); -}; - -Aggregate_windowed_functionContext.prototype.SUM = function() { - return this.getToken(TSqlParser.SUM, 0); -}; - -Aggregate_windowed_functionContext.prototype.STDEV = function() { - return this.getToken(TSqlParser.STDEV, 0); -}; - -Aggregate_windowed_functionContext.prototype.STDEVP = function() { - return this.getToken(TSqlParser.STDEVP, 0); -}; - -Aggregate_windowed_functionContext.prototype.VAR = function() { - return this.getToken(TSqlParser.VAR, 0); -}; - -Aggregate_windowed_functionContext.prototype.VARP = function() { - return this.getToken(TSqlParser.VARP, 0); -}; - -Aggregate_windowed_functionContext.prototype.over_clause = function() { - return this.getTypedRuleContext(Over_clauseContext,0); -}; - -Aggregate_windowed_functionContext.prototype.COUNT = function() { - return this.getToken(TSqlParser.COUNT, 0); -}; - -Aggregate_windowed_functionContext.prototype.COUNT_BIG = function() { - return this.getToken(TSqlParser.COUNT_BIG, 0); -}; - -Aggregate_windowed_functionContext.prototype.STAR = function() { - return this.getToken(TSqlParser.STAR, 0); -}; - -Aggregate_windowed_functionContext.prototype.CHECKSUM_AGG = function() { - return this.getToken(TSqlParser.CHECKSUM_AGG, 0); -}; - -Aggregate_windowed_functionContext.prototype.GROUPING = function() { - return this.getToken(TSqlParser.GROUPING, 0); -}; - -Aggregate_windowed_functionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Aggregate_windowed_functionContext.prototype.GROUPING_ID = function() { - return this.getToken(TSqlParser.GROUPING_ID, 0); -}; - -Aggregate_windowed_functionContext.prototype.expression_list = function() { - return this.getTypedRuleContext(Expression_listContext,0); -}; - -Aggregate_windowed_functionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAggregate_windowed_function(this); - } -}; - -Aggregate_windowed_functionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAggregate_windowed_function(this); - } -}; - -Aggregate_windowed_functionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAggregate_windowed_function(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Aggregate_windowed_functionContext = Aggregate_windowed_functionContext; - -TSqlParser.prototype.aggregate_windowed_function = function() { - - var localctx = new Aggregate_windowed_functionContext(this, this._ctx, this.state); - this.enterRule(localctx, 872, TSqlParser.RULE_aggregate_windowed_function); - var _la = 0; // Token type - try { - this.state = 10124; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.AVG: - case TSqlParser.MAX: - case TSqlParser.MIN: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.SUM: - case TSqlParser.VAR: - case TSqlParser.VARP: - this.enterOuterAlt(localctx, 1); - this.state = 10092; - _la = this._input.LA(1); - if(!(_la===TSqlParser.AVG || _la===TSqlParser.MAX || _la===TSqlParser.MIN || ((((_la - 736)) & ~0x1f) == 0 && ((1 << (_la - 736)) & ((1 << (TSqlParser.STDEV - 736)) | (1 << (TSqlParser.STDEVP - 736)) | (1 << (TSqlParser.SUM - 736)))) !== 0) || _la===TSqlParser.VAR || _la===TSqlParser.VARP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10093; - this.match(TSqlParser.LR_BRACKET); - this.state = 10094; - this.all_distinct_expression(); - this.state = 10095; - this.match(TSqlParser.RR_BRACKET); - this.state = 10097; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1413,this._ctx); - if(la_===1) { - this.state = 10096; - this.over_clause(); - - } - break; - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - this.enterOuterAlt(localctx, 2); - this.state = 10099; - _la = this._input.LA(1); - if(!(_la===TSqlParser.COUNT || _la===TSqlParser.COUNT_BIG)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10100; - this.match(TSqlParser.LR_BRACKET); - this.state = 10103; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.STAR: - this.state = 10101; - this.match(TSqlParser.STAR); - break; - case TSqlParser.ALL: - case TSqlParser.BLOCKING_HIERARCHY: - case TSqlParser.CALLED: - case TSqlParser.CASE: - case TSqlParser.COALESCE: - case TSqlParser.CONVERT: - case TSqlParser.CURRENT_TIMESTAMP: - case TSqlParser.CURRENT_USER: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.DEFAULT: - case TSqlParser.DISTINCT: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.IDENTITY: - case TSqlParser.IIF: - case TSqlParser.INIT: - case TSqlParser.ISNULL: - case TSqlParser.KEY: - case TSqlParser.LEFT: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.NULL: - case TSqlParser.NULLIF: - case TSqlParser.OFFSETS: - case TSqlParser.OVER: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.RIGHT: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SESSION_USER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.SYSTEM_USER: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.LOCAL_ID: - case TSqlParser.DECIMAL: - case TSqlParser.ID: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.LR_BRACKET: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - case TSqlParser.BIT_NOT: - this.state = 10102; - this.all_distinct_expression(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 10105; - this.match(TSqlParser.RR_BRACKET); - this.state = 10107; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1415,this._ctx); - if(la_===1) { - this.state = 10106; - this.over_clause(); - - } - break; - case TSqlParser.CHECKSUM_AGG: - this.enterOuterAlt(localctx, 3); - this.state = 10109; - this.match(TSqlParser.CHECKSUM_AGG); - this.state = 10110; - this.match(TSqlParser.LR_BRACKET); - this.state = 10111; - this.all_distinct_expression(); - this.state = 10112; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.GROUPING: - this.enterOuterAlt(localctx, 4); - this.state = 10114; - this.match(TSqlParser.GROUPING); - this.state = 10115; - this.match(TSqlParser.LR_BRACKET); - this.state = 10116; - this.expression(0); - this.state = 10117; - this.match(TSqlParser.RR_BRACKET); - break; - case TSqlParser.GROUPING_ID: - this.enterOuterAlt(localctx, 5); - this.state = 10119; - this.match(TSqlParser.GROUPING_ID); - this.state = 10120; - this.match(TSqlParser.LR_BRACKET); - this.state = 10121; - this.expression_list(); - this.state = 10122; - this.match(TSqlParser.RR_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Analytic_windowed_functionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_analytic_windowed_function; - return this; -} - -Analytic_windowed_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Analytic_windowed_functionContext.prototype.constructor = Analytic_windowed_functionContext; - -Analytic_windowed_functionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Analytic_windowed_functionContext.prototype.expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } -}; - -Analytic_windowed_functionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Analytic_windowed_functionContext.prototype.over_clause = function() { - return this.getTypedRuleContext(Over_clauseContext,0); -}; - -Analytic_windowed_functionContext.prototype.FIRST_VALUE = function() { - return this.getToken(TSqlParser.FIRST_VALUE, 0); -}; - -Analytic_windowed_functionContext.prototype.LAST_VALUE = function() { - return this.getToken(TSqlParser.LAST_VALUE, 0); -}; - -Analytic_windowed_functionContext.prototype.LAG = function() { - return this.getToken(TSqlParser.LAG, 0); -}; - -Analytic_windowed_functionContext.prototype.LEAD = function() { - return this.getToken(TSqlParser.LEAD, 0); -}; - -Analytic_windowed_functionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Analytic_windowed_functionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAnalytic_windowed_function(this); - } -}; - -Analytic_windowed_functionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAnalytic_windowed_function(this); - } -}; - -Analytic_windowed_functionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAnalytic_windowed_function(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Analytic_windowed_functionContext = Analytic_windowed_functionContext; - -TSqlParser.prototype.analytic_windowed_function = function() { - - var localctx = new Analytic_windowed_functionContext(this, this._ctx, this.state); - this.enterRule(localctx, 874, TSqlParser.RULE_analytic_windowed_function); - var _la = 0; // Token type - try { - this.state = 10146; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FIRST_VALUE: - case TSqlParser.LAST_VALUE: - this.enterOuterAlt(localctx, 1); - this.state = 10126; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FIRST_VALUE || _la===TSqlParser.LAST_VALUE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10127; - this.match(TSqlParser.LR_BRACKET); - this.state = 10128; - this.expression(0); - this.state = 10129; - this.match(TSqlParser.RR_BRACKET); - this.state = 10130; - this.over_clause(); - break; - case TSqlParser.LAG: - case TSqlParser.LEAD: - this.enterOuterAlt(localctx, 2); - this.state = 10132; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LAG || _la===TSqlParser.LEAD)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10133; - this.match(TSqlParser.LR_BRACKET); - this.state = 10134; - this.expression(0); - this.state = 10141; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10135; - this.match(TSqlParser.COMMA); - this.state = 10136; - this.expression(0); - this.state = 10139; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10137; - this.match(TSqlParser.COMMA); - this.state = 10138; - this.expression(0); - } - - } - - this.state = 10143; - this.match(TSqlParser.RR_BRACKET); - this.state = 10144; - this.over_clause(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function All_distinct_expressionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_all_distinct_expression; - return this; -} - -All_distinct_expressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -All_distinct_expressionContext.prototype.constructor = All_distinct_expressionContext; - -All_distinct_expressionContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -All_distinct_expressionContext.prototype.ALL = function() { - return this.getToken(TSqlParser.ALL, 0); -}; - -All_distinct_expressionContext.prototype.DISTINCT = function() { - return this.getToken(TSqlParser.DISTINCT, 0); -}; - -All_distinct_expressionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAll_distinct_expression(this); - } -}; - -All_distinct_expressionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAll_distinct_expression(this); - } -}; - -All_distinct_expressionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAll_distinct_expression(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.All_distinct_expressionContext = All_distinct_expressionContext; - -TSqlParser.prototype.all_distinct_expression = function() { - - var localctx = new All_distinct_expressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 876, TSqlParser.RULE_all_distinct_expression); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10149; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ALL || _la===TSqlParser.DISTINCT) { - this.state = 10148; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ALL || _la===TSqlParser.DISTINCT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 10151; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Over_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_over_clause; - return this; -} - -Over_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Over_clauseContext.prototype.constructor = Over_clauseContext; - -Over_clauseContext.prototype.OVER = function() { - return this.getToken(TSqlParser.OVER, 0); -}; - -Over_clauseContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Over_clauseContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Over_clauseContext.prototype.PARTITION = function() { - return this.getToken(TSqlParser.PARTITION, 0); -}; - -Over_clauseContext.prototype.BY = function() { - return this.getToken(TSqlParser.BY, 0); -}; - -Over_clauseContext.prototype.expression_list = function() { - return this.getTypedRuleContext(Expression_listContext,0); -}; - -Over_clauseContext.prototype.order_by_clause = function() { - return this.getTypedRuleContext(Order_by_clauseContext,0); -}; - -Over_clauseContext.prototype.row_or_range_clause = function() { - return this.getTypedRuleContext(Row_or_range_clauseContext,0); -}; - -Over_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOver_clause(this); - } -}; - -Over_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOver_clause(this); - } -}; - -Over_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOver_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Over_clauseContext = Over_clauseContext; - -TSqlParser.prototype.over_clause = function() { - - var localctx = new Over_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 878, TSqlParser.RULE_over_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10153; - this.match(TSqlParser.OVER); - this.state = 10154; - this.match(TSqlParser.LR_BRACKET); - this.state = 10158; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PARTITION) { - this.state = 10155; - this.match(TSqlParser.PARTITION); - this.state = 10156; - this.match(TSqlParser.BY); - this.state = 10157; - this.expression_list(); - } - - this.state = 10161; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ORDER) { - this.state = 10160; - this.order_by_clause(); - } - - this.state = 10164; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.RANGE || _la===TSqlParser.ROWS) { - this.state = 10163; - this.row_or_range_clause(); - } - - this.state = 10166; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Row_or_range_clauseContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_row_or_range_clause; - return this; -} - -Row_or_range_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Row_or_range_clauseContext.prototype.constructor = Row_or_range_clauseContext; - -Row_or_range_clauseContext.prototype.window_frame_extent = function() { - return this.getTypedRuleContext(Window_frame_extentContext,0); -}; - -Row_or_range_clauseContext.prototype.ROWS = function() { - return this.getToken(TSqlParser.ROWS, 0); -}; - -Row_or_range_clauseContext.prototype.RANGE = function() { - return this.getToken(TSqlParser.RANGE, 0); -}; - -Row_or_range_clauseContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterRow_or_range_clause(this); - } -}; - -Row_or_range_clauseContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitRow_or_range_clause(this); - } -}; - -Row_or_range_clauseContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitRow_or_range_clause(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Row_or_range_clauseContext = Row_or_range_clauseContext; - -TSqlParser.prototype.row_or_range_clause = function() { - - var localctx = new Row_or_range_clauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 880, TSqlParser.RULE_row_or_range_clause); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10168; - _la = this._input.LA(1); - if(!(_la===TSqlParser.RANGE || _la===TSqlParser.ROWS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10169; - this.window_frame_extent(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Window_frame_extentContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_window_frame_extent; - return this; -} - -Window_frame_extentContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Window_frame_extentContext.prototype.constructor = Window_frame_extentContext; - -Window_frame_extentContext.prototype.window_frame_preceding = function() { - return this.getTypedRuleContext(Window_frame_precedingContext,0); -}; - -Window_frame_extentContext.prototype.BETWEEN = function() { - return this.getToken(TSqlParser.BETWEEN, 0); -}; - -Window_frame_extentContext.prototype.window_frame_bound = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Window_frame_boundContext); - } else { - return this.getTypedRuleContext(Window_frame_boundContext,i); - } -}; - -Window_frame_extentContext.prototype.AND = function() { - return this.getToken(TSqlParser.AND, 0); -}; - -Window_frame_extentContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWindow_frame_extent(this); - } -}; - -Window_frame_extentContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWindow_frame_extent(this); - } -}; - -Window_frame_extentContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWindow_frame_extent(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Window_frame_extentContext = Window_frame_extentContext; - -TSqlParser.prototype.window_frame_extent = function() { - - var localctx = new Window_frame_extentContext(this, this._ctx, this.state); - this.enterRule(localctx, 882, TSqlParser.RULE_window_frame_extent); - try { - this.state = 10177; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CURRENT: - case TSqlParser.UNBOUNDED: - case TSqlParser.DECIMAL: - this.enterOuterAlt(localctx, 1); - this.state = 10171; - this.window_frame_preceding(); - break; - case TSqlParser.BETWEEN: - this.enterOuterAlt(localctx, 2); - this.state = 10172; - this.match(TSqlParser.BETWEEN); - this.state = 10173; - this.window_frame_bound(); - this.state = 10174; - this.match(TSqlParser.AND); - this.state = 10175; - this.window_frame_bound(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Window_frame_boundContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_window_frame_bound; - return this; -} - -Window_frame_boundContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Window_frame_boundContext.prototype.constructor = Window_frame_boundContext; - -Window_frame_boundContext.prototype.window_frame_preceding = function() { - return this.getTypedRuleContext(Window_frame_precedingContext,0); -}; - -Window_frame_boundContext.prototype.window_frame_following = function() { - return this.getTypedRuleContext(Window_frame_followingContext,0); -}; - -Window_frame_boundContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWindow_frame_bound(this); - } -}; - -Window_frame_boundContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWindow_frame_bound(this); - } -}; - -Window_frame_boundContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWindow_frame_bound(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Window_frame_boundContext = Window_frame_boundContext; - -TSqlParser.prototype.window_frame_bound = function() { - - var localctx = new Window_frame_boundContext(this, this._ctx, this.state); - this.enterRule(localctx, 884, TSqlParser.RULE_window_frame_bound); - try { - this.state = 10181; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1425,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10179; - this.window_frame_preceding(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10180; - this.window_frame_following(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Window_frame_precedingContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_window_frame_preceding; - return this; -} - -Window_frame_precedingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Window_frame_precedingContext.prototype.constructor = Window_frame_precedingContext; - -Window_frame_precedingContext.prototype.UNBOUNDED = function() { - return this.getToken(TSqlParser.UNBOUNDED, 0); -}; - -Window_frame_precedingContext.prototype.PRECEDING = function() { - return this.getToken(TSqlParser.PRECEDING, 0); -}; - -Window_frame_precedingContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Window_frame_precedingContext.prototype.CURRENT = function() { - return this.getToken(TSqlParser.CURRENT, 0); -}; - -Window_frame_precedingContext.prototype.ROW = function() { - return this.getToken(TSqlParser.ROW, 0); -}; - -Window_frame_precedingContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWindow_frame_preceding(this); - } -}; - -Window_frame_precedingContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWindow_frame_preceding(this); - } -}; - -Window_frame_precedingContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWindow_frame_preceding(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Window_frame_precedingContext = Window_frame_precedingContext; - -TSqlParser.prototype.window_frame_preceding = function() { - - var localctx = new Window_frame_precedingContext(this, this._ctx, this.state); - this.enterRule(localctx, 886, TSqlParser.RULE_window_frame_preceding); - try { - this.state = 10189; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.UNBOUNDED: - this.enterOuterAlt(localctx, 1); - this.state = 10183; - this.match(TSqlParser.UNBOUNDED); - this.state = 10184; - this.match(TSqlParser.PRECEDING); - break; - case TSqlParser.DECIMAL: - this.enterOuterAlt(localctx, 2); - this.state = 10185; - this.match(TSqlParser.DECIMAL); - this.state = 10186; - this.match(TSqlParser.PRECEDING); - break; - case TSqlParser.CURRENT: - this.enterOuterAlt(localctx, 3); - this.state = 10187; - this.match(TSqlParser.CURRENT); - this.state = 10188; - this.match(TSqlParser.ROW); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Window_frame_followingContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_window_frame_following; - return this; -} - -Window_frame_followingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Window_frame_followingContext.prototype.constructor = Window_frame_followingContext; - -Window_frame_followingContext.prototype.UNBOUNDED = function() { - return this.getToken(TSqlParser.UNBOUNDED, 0); -}; - -Window_frame_followingContext.prototype.FOLLOWING = function() { - return this.getToken(TSqlParser.FOLLOWING, 0); -}; - -Window_frame_followingContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Window_frame_followingContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWindow_frame_following(this); - } -}; - -Window_frame_followingContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWindow_frame_following(this); - } -}; - -Window_frame_followingContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWindow_frame_following(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Window_frame_followingContext = Window_frame_followingContext; - -TSqlParser.prototype.window_frame_following = function() { - - var localctx = new Window_frame_followingContext(this, this._ctx, this.state); - this.enterRule(localctx, 888, TSqlParser.RULE_window_frame_following); - try { - this.state = 10195; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.UNBOUNDED: - this.enterOuterAlt(localctx, 1); - this.state = 10191; - this.match(TSqlParser.UNBOUNDED); - this.state = 10192; - this.match(TSqlParser.FOLLOWING); - break; - case TSqlParser.DECIMAL: - this.enterOuterAlt(localctx, 2); - this.state = 10193; - this.match(TSqlParser.DECIMAL); - this.state = 10194; - this.match(TSqlParser.FOLLOWING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Create_database_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_create_database_option; - return this; -} - -Create_database_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Create_database_optionContext.prototype.constructor = Create_database_optionContext; - -Create_database_optionContext.prototype.FILESTREAM = function() { - return this.getToken(TSqlParser.FILESTREAM, 0); -}; - -Create_database_optionContext.prototype.database_filestream_option = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Database_filestream_optionContext); - } else { - return this.getTypedRuleContext(Database_filestream_optionContext,i); - } -}; - -Create_database_optionContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Create_database_optionContext.prototype.DEFAULT_LANGUAGE = function() { - return this.getToken(TSqlParser.DEFAULT_LANGUAGE, 0); -}; - -Create_database_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Create_database_optionContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Create_database_optionContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Create_database_optionContext.prototype.DEFAULT_FULLTEXT_LANGUAGE = function() { - return this.getToken(TSqlParser.DEFAULT_FULLTEXT_LANGUAGE, 0); -}; - -Create_database_optionContext.prototype.NESTED_TRIGGERS = function() { - return this.getToken(TSqlParser.NESTED_TRIGGERS, 0); -}; - -Create_database_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Create_database_optionContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Create_database_optionContext.prototype.TRANSFORM_NOISE_WORDS = function() { - return this.getToken(TSqlParser.TRANSFORM_NOISE_WORDS, 0); -}; - -Create_database_optionContext.prototype.TWO_DIGIT_YEAR_CUTOFF = function() { - return this.getToken(TSqlParser.TWO_DIGIT_YEAR_CUTOFF, 0); -}; - -Create_database_optionContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Create_database_optionContext.prototype.DB_CHAINING = function() { - return this.getToken(TSqlParser.DB_CHAINING, 0); -}; - -Create_database_optionContext.prototype.TRUSTWORTHY = function() { - return this.getToken(TSqlParser.TRUSTWORTHY, 0); -}; - -Create_database_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCreate_database_option(this); - } -}; - -Create_database_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCreate_database_option(this); - } -}; - -Create_database_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCreate_database_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Create_database_optionContext = Create_database_optionContext; - -TSqlParser.prototype.create_database_option = function() { - - var localctx = new Create_database_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 890, TSqlParser.RULE_create_database_option); - var _la = 0; // Token type - try { - this.state = 10231; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FILESTREAM: - this.enterOuterAlt(localctx, 1); - this.state = 10197; - this.match(TSqlParser.FILESTREAM); - - this.state = 10198; - this.database_filestream_option(); - this.state = 10203; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1428,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 10199; - this.match(TSqlParser.COMMA); - this.state = 10200; - this.database_filestream_option(); - } - this.state = 10205; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1428,this._ctx); - } - - break; - case TSqlParser.DEFAULT_LANGUAGE: - this.enterOuterAlt(localctx, 2); - this.state = 10206; - this.match(TSqlParser.DEFAULT_LANGUAGE); - this.state = 10207; - this.match(TSqlParser.EQUAL); - this.state = 10210; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 10208; - this.id(); - break; - case TSqlParser.STRING: - this.state = 10209; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - this.enterOuterAlt(localctx, 3); - this.state = 10212; - this.match(TSqlParser.DEFAULT_FULLTEXT_LANGUAGE); - this.state = 10213; - this.match(TSqlParser.EQUAL); - this.state = 10216; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 10214; - this.id(); - break; - case TSqlParser.STRING: - this.state = 10215; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case TSqlParser.NESTED_TRIGGERS: - this.enterOuterAlt(localctx, 4); - this.state = 10218; - this.match(TSqlParser.NESTED_TRIGGERS); - this.state = 10219; - this.match(TSqlParser.EQUAL); - this.state = 10220; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.TRANSFORM_NOISE_WORDS: - this.enterOuterAlt(localctx, 5); - this.state = 10221; - this.match(TSqlParser.TRANSFORM_NOISE_WORDS); - this.state = 10222; - this.match(TSqlParser.EQUAL); - this.state = 10223; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - this.enterOuterAlt(localctx, 6); - this.state = 10224; - this.match(TSqlParser.TWO_DIGIT_YEAR_CUTOFF); - this.state = 10225; - this.match(TSqlParser.EQUAL); - this.state = 10226; - this.match(TSqlParser.DECIMAL); - break; - case TSqlParser.DB_CHAINING: - this.enterOuterAlt(localctx, 7); - this.state = 10227; - this.match(TSqlParser.DB_CHAINING); - this.state = 10228; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.TRUSTWORTHY: - this.enterOuterAlt(localctx, 8); - this.state = 10229; - this.match(TSqlParser.TRUSTWORTHY); - this.state = 10230; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Database_filestream_optionContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_database_filestream_option; - return this; -} - -Database_filestream_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Database_filestream_optionContext.prototype.constructor = Database_filestream_optionContext; - -Database_filestream_optionContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Database_filestream_optionContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Database_filestream_optionContext.prototype.NON_TRANSACTED_ACCESS = function() { - return this.getToken(TSqlParser.NON_TRANSACTED_ACCESS, 0); -}; - -Database_filestream_optionContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Database_filestream_optionContext.prototype.DIRECTORY_NAME = function() { - return this.getToken(TSqlParser.DIRECTORY_NAME, 0); -}; - -Database_filestream_optionContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Database_filestream_optionContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Database_filestream_optionContext.prototype.READ_ONLY = function() { - return this.getToken(TSqlParser.READ_ONLY, 0); -}; - -Database_filestream_optionContext.prototype.FULL = function() { - return this.getToken(TSqlParser.FULL, 0); -}; - -Database_filestream_optionContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDatabase_filestream_option(this); - } -}; - -Database_filestream_optionContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDatabase_filestream_option(this); - } -}; - -Database_filestream_optionContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDatabase_filestream_option(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Database_filestream_optionContext = Database_filestream_optionContext; - -TSqlParser.prototype.database_filestream_option = function() { - - var localctx = new Database_filestream_optionContext(this, this._ctx, this.state); - this.enterRule(localctx, 892, TSqlParser.RULE_database_filestream_option); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10233; - this.match(TSqlParser.LR_BRACKET); - this.state = 10240; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NON_TRANSACTED_ACCESS: - this.state = 10234; - this.match(TSqlParser.NON_TRANSACTED_ACCESS); - this.state = 10235; - this.match(TSqlParser.EQUAL); - this.state = 10236; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FULL || _la===TSqlParser.OFF || _la===TSqlParser.READ_ONLY)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - case TSqlParser.DIRECTORY_NAME: - this.state = 10237; - this.match(TSqlParser.DIRECTORY_NAME); - this.state = 10238; - this.match(TSqlParser.EQUAL); - this.state = 10239; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 10242; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Database_file_specContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_database_file_spec; - return this; -} - -Database_file_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Database_file_specContext.prototype.constructor = Database_file_specContext; - -Database_file_specContext.prototype.file_group = function() { - return this.getTypedRuleContext(File_groupContext,0); -}; - -Database_file_specContext.prototype.file_spec = function() { - return this.getTypedRuleContext(File_specContext,0); -}; - -Database_file_specContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDatabase_file_spec(this); - } -}; - -Database_file_specContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDatabase_file_spec(this); - } -}; - -Database_file_specContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDatabase_file_spec(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Database_file_specContext = Database_file_specContext; - -TSqlParser.prototype.database_file_spec = function() { - - var localctx = new Database_file_specContext(this, this._ctx, this.state); - this.enterRule(localctx, 894, TSqlParser.RULE_database_file_spec); - try { - this.state = 10246; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.FILEGROUP: - this.enterOuterAlt(localctx, 1); - this.state = 10244; - this.file_group(); - break; - case TSqlParser.LR_BRACKET: - this.enterOuterAlt(localctx, 2); - this.state = 10245; - this.file_spec(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function File_groupContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_file_group; - return this; -} - -File_groupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -File_groupContext.prototype.constructor = File_groupContext; - -File_groupContext.prototype.FILEGROUP = function() { - return this.getToken(TSqlParser.FILEGROUP, 0); -}; - -File_groupContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -File_groupContext.prototype.file_spec = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(File_specContext); - } else { - return this.getTypedRuleContext(File_specContext,i); - } -}; - -File_groupContext.prototype.CONTAINS = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.CONTAINS); - } else { - return this.getToken(TSqlParser.CONTAINS, i); - } -}; - - -File_groupContext.prototype.FILESTREAM = function() { - return this.getToken(TSqlParser.FILESTREAM, 0); -}; - -File_groupContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -File_groupContext.prototype.MEMORY_OPTIMIZED_DATA = function() { - return this.getToken(TSqlParser.MEMORY_OPTIMIZED_DATA, 0); -}; - -File_groupContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -File_groupContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFile_group(this); - } -}; - -File_groupContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFile_group(this); - } -}; - -File_groupContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFile_group(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.File_groupContext = File_groupContext; - -TSqlParser.prototype.file_group = function() { - - var localctx = new File_groupContext(this, this._ctx, this.state); - this.enterRule(localctx, 896, TSqlParser.RULE_file_group); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10248; - this.match(TSqlParser.FILEGROUP); - this.state = 10249; - this.id(); - this.state = 10252; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1434,this._ctx); - if(la_===1) { - this.state = 10250; - this.match(TSqlParser.CONTAINS); - this.state = 10251; - this.match(TSqlParser.FILESTREAM); - - } - this.state = 10255; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.DEFAULT) { - this.state = 10254; - this.match(TSqlParser.DEFAULT); - } - - this.state = 10259; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONTAINS) { - this.state = 10257; - this.match(TSqlParser.CONTAINS); - this.state = 10258; - this.match(TSqlParser.MEMORY_OPTIMIZED_DATA); - } - - this.state = 10261; - this.file_spec(); - this.state = 10266; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1437,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 10262; - this.match(TSqlParser.COMMA); - this.state = 10263; - this.file_spec(); - } - this.state = 10268; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1437,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function File_specContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_file_spec; - this.file = null; // Token - return this; -} - -File_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -File_specContext.prototype.constructor = File_specContext; - -File_specContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -File_specContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -File_specContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -File_specContext.prototype.FILENAME = function() { - return this.getToken(TSqlParser.FILENAME, 0); -}; - -File_specContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -File_specContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -File_specContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -File_specContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -File_specContext.prototype.SIZE = function() { - return this.getToken(TSqlParser.SIZE, 0); -}; - -File_specContext.prototype.file_size = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(File_sizeContext); - } else { - return this.getTypedRuleContext(File_sizeContext,i); - } -}; - -File_specContext.prototype.MAXSIZE = function() { - return this.getToken(TSqlParser.MAXSIZE, 0); -}; - -File_specContext.prototype.FILEGROWTH = function() { - return this.getToken(TSqlParser.FILEGROWTH, 0); -}; - -File_specContext.prototype.UNLIMITED = function() { - return this.getToken(TSqlParser.UNLIMITED, 0); -}; - -File_specContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFile_spec(this); - } -}; - -File_specContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFile_spec(this); - } -}; - -File_specContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFile_spec(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.File_specContext = File_specContext; - -TSqlParser.prototype.file_spec = function() { - - var localctx = new File_specContext(this, this._ctx, this.state); - this.enterRule(localctx, 898, TSqlParser.RULE_file_spec); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10269; - this.match(TSqlParser.LR_BRACKET); - this.state = 10270; - this.match(TSqlParser.NAME); - this.state = 10271; - this.match(TSqlParser.EQUAL); - this.state = 10274; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.state = 10272; - this.id(); - break; - case TSqlParser.STRING: - this.state = 10273; - this.match(TSqlParser.STRING); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 10277; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10276; - this.match(TSqlParser.COMMA); - } - - this.state = 10279; - this.match(TSqlParser.FILENAME); - this.state = 10280; - this.match(TSqlParser.EQUAL); - this.state = 10281; - localctx.file = this.match(TSqlParser.STRING); - this.state = 10283; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10282; - this.match(TSqlParser.COMMA); - } - - this.state = 10291; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.SIZE) { - this.state = 10285; - this.match(TSqlParser.SIZE); - this.state = 10286; - this.match(TSqlParser.EQUAL); - this.state = 10287; - this.file_size(); - this.state = 10289; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10288; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 10302; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.MAXSIZE) { - this.state = 10293; - this.match(TSqlParser.MAXSIZE); - this.state = 10294; - this.match(TSqlParser.EQUAL); - this.state = 10297; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.DECIMAL: - this.state = 10295; - this.file_size(); - break; - case TSqlParser.UNLIMITED: - this.state = 10296; - this.match(TSqlParser.UNLIMITED); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 10300; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10299; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 10310; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.FILEGROWTH) { - this.state = 10304; - this.match(TSqlParser.FILEGROWTH); - this.state = 10305; - this.match(TSqlParser.EQUAL); - this.state = 10306; - this.file_size(); - this.state = 10308; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10307; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 10312; - this.match(TSqlParser.RR_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Entity_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_entity_name; - this.server = null; // IdContext - this.database = null; // IdContext - this.schema = null; // IdContext - this.table = null; // IdContext - return this; -} - -Entity_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Entity_nameContext.prototype.constructor = Entity_nameContext; - -Entity_nameContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Entity_nameContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Entity_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEntity_name(this); - } -}; - -Entity_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEntity_name(this); - } -}; - -Entity_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEntity_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Entity_nameContext = Entity_nameContext; - -TSqlParser.prototype.entity_name = function() { - - var localctx = new Entity_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 900, TSqlParser.RULE_entity_name); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10331; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1449,this._ctx); - if(la_===1) { - this.state = 10314; - localctx.server = this.id(); - this.state = 10315; - this.match(TSqlParser.DOT); - this.state = 10316; - localctx.database = this.id(); - this.state = 10317; - this.match(TSqlParser.DOT); - this.state = 10318; - localctx.schema = this.id(); - this.state = 10319; - this.match(TSqlParser.DOT); - - } else if(la_===2) { - this.state = 10321; - localctx.database = this.id(); - this.state = 10322; - this.match(TSqlParser.DOT); - this.state = 10324; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 10323; - localctx.schema = this.id(); - } - - this.state = 10326; - this.match(TSqlParser.DOT); - - } else if(la_===3) { - this.state = 10328; - localctx.schema = this.id(); - this.state = 10329; - this.match(TSqlParser.DOT); - - } - this.state = 10333; - localctx.table = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Entity_name_for_azure_dwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_entity_name_for_azure_dw; - this.schema = null; // IdContext - this.object_name = null; // IdContext - return this; -} - -Entity_name_for_azure_dwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Entity_name_for_azure_dwContext.prototype.constructor = Entity_name_for_azure_dwContext; - -Entity_name_for_azure_dwContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Entity_name_for_azure_dwContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Entity_name_for_azure_dwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEntity_name_for_azure_dw(this); - } -}; - -Entity_name_for_azure_dwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEntity_name_for_azure_dw(this); - } -}; - -Entity_name_for_azure_dwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEntity_name_for_azure_dw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Entity_name_for_azure_dwContext = Entity_name_for_azure_dwContext; - -TSqlParser.prototype.entity_name_for_azure_dw = function() { - - var localctx = new Entity_name_for_azure_dwContext(this, this._ctx, this.state); - this.enterRule(localctx, 902, TSqlParser.RULE_entity_name_for_azure_dw); - try { - this.state = 10340; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1450,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10335; - localctx.schema = this.id(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10336; - localctx.schema = this.id(); - this.state = 10337; - this.match(TSqlParser.DOT); - this.state = 10338; - localctx.object_name = this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Entity_name_for_parallel_dwContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_entity_name_for_parallel_dw; - this.schema_database = null; // IdContext - this.schema = null; // IdContext - this.object_name = null; // IdContext - return this; -} - -Entity_name_for_parallel_dwContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Entity_name_for_parallel_dwContext.prototype.constructor = Entity_name_for_parallel_dwContext; - -Entity_name_for_parallel_dwContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Entity_name_for_parallel_dwContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Entity_name_for_parallel_dwContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEntity_name_for_parallel_dw(this); - } -}; - -Entity_name_for_parallel_dwContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEntity_name_for_parallel_dw(this); - } -}; - -Entity_name_for_parallel_dwContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEntity_name_for_parallel_dw(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Entity_name_for_parallel_dwContext = Entity_name_for_parallel_dwContext; - -TSqlParser.prototype.entity_name_for_parallel_dw = function() { - - var localctx = new Entity_name_for_parallel_dwContext(this, this._ctx, this.state); - this.enterRule(localctx, 904, TSqlParser.RULE_entity_name_for_parallel_dw); - try { - this.state = 10347; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1451,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10342; - localctx.schema_database = this.id(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10343; - localctx.schema = this.id(); - this.state = 10344; - this.match(TSqlParser.DOT); - this.state = 10345; - localctx.object_name = this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Full_table_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_full_table_name; - this.server = null; // IdContext - this.database = null; // IdContext - this.schema = null; // IdContext - this.table = null; // IdContext - return this; -} - -Full_table_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Full_table_nameContext.prototype.constructor = Full_table_nameContext; - -Full_table_nameContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Full_table_nameContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Full_table_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFull_table_name(this); - } -}; - -Full_table_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFull_table_name(this); - } -}; - -Full_table_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFull_table_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Full_table_nameContext = Full_table_nameContext; - -TSqlParser.prototype.full_table_name = function() { - - var localctx = new Full_table_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 906, TSqlParser.RULE_full_table_name); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10366; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1453,this._ctx); - if(la_===1) { - this.state = 10349; - localctx.server = this.id(); - this.state = 10350; - this.match(TSqlParser.DOT); - this.state = 10351; - localctx.database = this.id(); - this.state = 10352; - this.match(TSqlParser.DOT); - this.state = 10353; - localctx.schema = this.id(); - this.state = 10354; - this.match(TSqlParser.DOT); - - } else if(la_===2) { - this.state = 10356; - localctx.database = this.id(); - this.state = 10357; - this.match(TSqlParser.DOT); - this.state = 10359; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 10358; - localctx.schema = this.id(); - } - - this.state = 10361; - this.match(TSqlParser.DOT); - - } else if(la_===3) { - this.state = 10363; - localctx.schema = this.id(); - this.state = 10364; - this.match(TSqlParser.DOT); - - } - this.state = 10368; - localctx.table = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Table_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_table_name; - this.database = null; // IdContext - this.schema = null; // IdContext - this.table = null; // IdContext - return this; -} - -Table_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Table_nameContext.prototype.constructor = Table_nameContext; - -Table_nameContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Table_nameContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Table_nameContext.prototype.BLOCKING_HIERARCHY = function() { - return this.getToken(TSqlParser.BLOCKING_HIERARCHY, 0); -}; - -Table_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterTable_name(this); - } -}; - -Table_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitTable_name(this); - } -}; - -Table_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitTable_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Table_nameContext = Table_nameContext; - -TSqlParser.prototype.table_name = function() { - - var localctx = new Table_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 908, TSqlParser.RULE_table_name); - var _la = 0; // Token type - try { - this.state = 10396; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1458,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10380; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1455,this._ctx); - if(la_===1) { - this.state = 10370; - localctx.database = this.id(); - this.state = 10371; - this.match(TSqlParser.DOT); - this.state = 10373; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 10372; - localctx.schema = this.id(); - } - - this.state = 10375; - this.match(TSqlParser.DOT); - - } else if(la_===2) { - this.state = 10377; - localctx.schema = this.id(); - this.state = 10378; - this.match(TSqlParser.DOT); - - } - this.state = 10382; - localctx.table = this.id(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10393; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1457,this._ctx); - if(la_===1) { - this.state = 10383; - localctx.database = this.id(); - this.state = 10384; - this.match(TSqlParser.DOT); - this.state = 10386; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 10385; - localctx.schema = this.id(); - } - - this.state = 10388; - this.match(TSqlParser.DOT); - - } else if(la_===2) { - this.state = 10390; - localctx.schema = this.id(); - this.state = 10391; - this.match(TSqlParser.DOT); - - } - this.state = 10395; - this.match(TSqlParser.BLOCKING_HIERARCHY); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Simple_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_simple_name; - this.schema = null; // IdContext - this.name = null; // IdContext - return this; -} - -Simple_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Simple_nameContext.prototype.constructor = Simple_nameContext; - -Simple_nameContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Simple_nameContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Simple_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSimple_name(this); - } -}; - -Simple_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSimple_name(this); - } -}; - -Simple_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSimple_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Simple_nameContext = Simple_nameContext; - -TSqlParser.prototype.simple_name = function() { - - var localctx = new Simple_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 910, TSqlParser.RULE_simple_name); - try { - this.enterOuterAlt(localctx, 1); - this.state = 10401; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1459,this._ctx); - if(la_===1) { - this.state = 10398; - localctx.schema = this.id(); - this.state = 10399; - this.match(TSqlParser.DOT); - - } - this.state = 10403; - localctx.name = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Func_proc_name_schemaContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_func_proc_name_schema; - this.schema = null; // IdContext - this.procedure = null; // IdContext - return this; -} - -Func_proc_name_schemaContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Func_proc_name_schemaContext.prototype.constructor = Func_proc_name_schemaContext; - -Func_proc_name_schemaContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Func_proc_name_schemaContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Func_proc_name_schemaContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFunc_proc_name_schema(this); - } -}; - -Func_proc_name_schemaContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFunc_proc_name_schema(this); - } -}; - -Func_proc_name_schemaContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFunc_proc_name_schema(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Func_proc_name_schemaContext = Func_proc_name_schemaContext; - -TSqlParser.prototype.func_proc_name_schema = function() { - - var localctx = new Func_proc_name_schemaContext(this, this._ctx, this.state); - this.enterRule(localctx, 912, TSqlParser.RULE_func_proc_name_schema); - try { - this.enterOuterAlt(localctx, 1); - this.state = 10408; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1460,this._ctx); - if(la_===1) { - this.state = 10405; - localctx.schema = this.id(); - this.state = 10406; - this.match(TSqlParser.DOT); - - } - this.state = 10410; - localctx.procedure = this.id(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Func_proc_name_database_schemaContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_func_proc_name_database_schema; - this.database = null; // IdContext - this.schema = null; // IdContext - this.procedure = null; // IdContext - return this; -} - -Func_proc_name_database_schemaContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Func_proc_name_database_schemaContext.prototype.constructor = Func_proc_name_database_schemaContext; - -Func_proc_name_database_schemaContext.prototype.func_proc_name_schema = function() { - return this.getTypedRuleContext(Func_proc_name_schemaContext,0); -}; - -Func_proc_name_database_schemaContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Func_proc_name_database_schemaContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Func_proc_name_database_schemaContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFunc_proc_name_database_schema(this); - } -}; - -Func_proc_name_database_schemaContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFunc_proc_name_database_schema(this); - } -}; - -Func_proc_name_database_schemaContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFunc_proc_name_database_schema(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Func_proc_name_database_schemaContext = Func_proc_name_database_schemaContext; - -TSqlParser.prototype.func_proc_name_database_schema = function() { - - var localctx = new Func_proc_name_database_schemaContext(this, this._ctx, this.state); - this.enterRule(localctx, 914, TSqlParser.RULE_func_proc_name_database_schema); - var _la = 0; // Token type - try { - this.state = 10423; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1463,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10412; - this.func_proc_name_schema(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10420; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1462,this._ctx); - if(la_===1) { - this.state = 10413; - localctx.database = this.id(); - this.state = 10414; - this.match(TSqlParser.DOT); - this.state = 10416; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 10415; - localctx.schema = this.id(); - } - - this.state = 10418; - this.match(TSqlParser.DOT); - - } - this.state = 10422; - localctx.procedure = this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Func_proc_name_server_database_schemaContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_func_proc_name_server_database_schema; - this.server = null; // IdContext - this.database = null; // IdContext - this.schema = null; // IdContext - this.procedure = null; // IdContext - return this; -} - -Func_proc_name_server_database_schemaContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Func_proc_name_server_database_schemaContext.prototype.constructor = Func_proc_name_server_database_schemaContext; - -Func_proc_name_server_database_schemaContext.prototype.func_proc_name_database_schema = function() { - return this.getTypedRuleContext(Func_proc_name_database_schemaContext,0); -}; - -Func_proc_name_server_database_schemaContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Func_proc_name_server_database_schemaContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Func_proc_name_server_database_schemaContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFunc_proc_name_server_database_schema(this); - } -}; - -Func_proc_name_server_database_schemaContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFunc_proc_name_server_database_schema(this); - } -}; - -Func_proc_name_server_database_schemaContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFunc_proc_name_server_database_schema(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Func_proc_name_server_database_schemaContext = Func_proc_name_server_database_schemaContext; - -TSqlParser.prototype.func_proc_name_server_database_schema = function() { - - var localctx = new Func_proc_name_server_database_schemaContext(this, this._ctx, this.state); - this.enterRule(localctx, 916, TSqlParser.RULE_func_proc_name_server_database_schema); - var _la = 0; // Token type - try { - this.state = 10438; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1466,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10425; - this.func_proc_name_database_schema(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10435; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1465,this._ctx); - if(la_===1) { - this.state = 10426; - localctx.server = this.id(); - this.state = 10427; - this.match(TSqlParser.DOT); - this.state = 10428; - localctx.database = this.id(); - this.state = 10429; - this.match(TSqlParser.DOT); - this.state = 10431; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || ((((_la - 796)) & ~0x1f) == 0 && ((1 << (_la - 796)) & ((1 << (TSqlParser.DOUBLE_QUOTE_ID - 796)) | (1 << (TSqlParser.SQUARE_BRACKET_ID - 796)) | (1 << (TSqlParser.ID - 796)))) !== 0)) { - this.state = 10430; - localctx.schema = this.id(); - } - - this.state = 10433; - this.match(TSqlParser.DOT); - - } - this.state = 10437; - localctx.procedure = this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Ddl_objectContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_ddl_object; - return this; -} - -Ddl_objectContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Ddl_objectContext.prototype.constructor = Ddl_objectContext; - -Ddl_objectContext.prototype.full_table_name = function() { - return this.getTypedRuleContext(Full_table_nameContext,0); -}; - -Ddl_objectContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Ddl_objectContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDdl_object(this); - } -}; - -Ddl_objectContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDdl_object(this); - } -}; - -Ddl_objectContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDdl_object(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Ddl_objectContext = Ddl_objectContext; - -TSqlParser.prototype.ddl_object = function() { - - var localctx = new Ddl_objectContext(this, this._ctx, this.state); - this.enterRule(localctx, 918, TSqlParser.RULE_ddl_object); - try { - this.state = 10442; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 1); - this.state = 10440; - this.full_table_name(); - break; - case TSqlParser.LOCAL_ID: - this.enterOuterAlt(localctx, 2); - this.state = 10441; - this.match(TSqlParser.LOCAL_ID); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Full_column_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_full_column_name; - this.column_name = null; // IdContext - return this; -} - -Full_column_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Full_column_nameContext.prototype.constructor = Full_column_nameContext; - -Full_column_nameContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Full_column_nameContext.prototype.table_name = function() { - return this.getTypedRuleContext(Table_nameContext,0); -}; - -Full_column_nameContext.prototype.DOT = function() { - return this.getToken(TSqlParser.DOT, 0); -}; - -Full_column_nameContext.prototype.COMPATIBILITY_LEVEL = function() { - return this.getToken(TSqlParser.COMPATIBILITY_LEVEL, 0); -}; - -Full_column_nameContext.prototype.STATUS = function() { - return this.getToken(TSqlParser.STATUS, 0); -}; - -Full_column_nameContext.prototype.QUOTED_IDENTIFIER = function() { - return this.getToken(TSqlParser.QUOTED_IDENTIFIER, 0); -}; - -Full_column_nameContext.prototype.ARITHABORT = function() { - return this.getToken(TSqlParser.ARITHABORT, 0); -}; - -Full_column_nameContext.prototype.ANSI_WARNINGS = function() { - return this.getToken(TSqlParser.ANSI_WARNINGS, 0); -}; - -Full_column_nameContext.prototype.ANSI_PADDING = function() { - return this.getToken(TSqlParser.ANSI_PADDING, 0); -}; - -Full_column_nameContext.prototype.ANSI_NULLS = function() { - return this.getToken(TSqlParser.ANSI_NULLS, 0); -}; - -Full_column_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFull_column_name(this); - } -}; - -Full_column_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFull_column_name(this); - } -}; - -Full_column_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFull_column_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Full_column_nameContext = Full_column_nameContext; - -TSqlParser.prototype.full_column_name = function() { - - var localctx = new Full_column_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 920, TSqlParser.RULE_full_column_name); - try { - this.state = 10492; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1476,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10447; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1468,this._ctx); - if(la_===1) { - this.state = 10444; - this.table_name(); - this.state = 10445; - this.match(TSqlParser.DOT); - - } - this.state = 10449; - localctx.column_name = this.id(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10453; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1469,this._ctx); - if(la_===1) { - this.state = 10450; - this.table_name(); - this.state = 10451; - this.match(TSqlParser.DOT); - - } - this.state = 10455; - this.match(TSqlParser.COMPATIBILITY_LEVEL); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 10459; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1470,this._ctx); - if(la_===1) { - this.state = 10456; - this.table_name(); - this.state = 10457; - this.match(TSqlParser.DOT); - - } - this.state = 10461; - this.match(TSqlParser.STATUS); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 10465; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1471,this._ctx); - if(la_===1) { - this.state = 10462; - this.table_name(); - this.state = 10463; - this.match(TSqlParser.DOT); - - } - this.state = 10467; - this.match(TSqlParser.QUOTED_IDENTIFIER); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 10471; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1472,this._ctx); - if(la_===1) { - this.state = 10468; - this.table_name(); - this.state = 10469; - this.match(TSqlParser.DOT); - - } - this.state = 10473; - this.match(TSqlParser.ARITHABORT); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 10477; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1473,this._ctx); - if(la_===1) { - this.state = 10474; - this.table_name(); - this.state = 10475; - this.match(TSqlParser.DOT); - - } - this.state = 10479; - this.match(TSqlParser.ANSI_WARNINGS); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 10483; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1474,this._ctx); - if(la_===1) { - this.state = 10480; - this.table_name(); - this.state = 10481; - this.match(TSqlParser.DOT); - - } - this.state = 10485; - this.match(TSqlParser.ANSI_PADDING); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 10489; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1475,this._ctx); - if(la_===1) { - this.state = 10486; - this.table_name(); - this.state = 10487; - this.match(TSqlParser.DOT); - - } - this.state = 10491; - this.match(TSqlParser.ANSI_NULLS); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_name_list_with_orderContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_name_list_with_order; - return this; -} - -Column_name_list_with_orderContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_name_list_with_orderContext.prototype.constructor = Column_name_list_with_orderContext; - -Column_name_list_with_orderContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Column_name_list_with_orderContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Column_name_list_with_orderContext.prototype.ASC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ASC); - } else { - return this.getToken(TSqlParser.ASC, i); - } -}; - - -Column_name_list_with_orderContext.prototype.DESC = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DESC); - } else { - return this.getToken(TSqlParser.DESC, i); - } -}; - - -Column_name_list_with_orderContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_name_list_with_order(this); - } -}; - -Column_name_list_with_orderContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_name_list_with_order(this); - } -}; - -Column_name_list_with_orderContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_name_list_with_order(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_name_list_with_orderContext = Column_name_list_with_orderContext; - -TSqlParser.prototype.column_name_list_with_order = function() { - - var localctx = new Column_name_list_with_orderContext(this, this._ctx, this.state); - this.enterRule(localctx, 922, TSqlParser.RULE_column_name_list_with_order); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10494; - this.id(); - this.state = 10496; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ASC || _la===TSqlParser.DESC) { - this.state = 10495; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ASC || _la===TSqlParser.DESC)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 10505; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 10498; - this.match(TSqlParser.COMMA); - this.state = 10499; - this.id(); - this.state = 10501; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ASC || _la===TSqlParser.DESC) { - this.state = 10500; - _la = this._input.LA(1); - if(!(_la===TSqlParser.ASC || _la===TSqlParser.DESC)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 10507; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Column_name_listContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_column_name_list; - return this; -} - -Column_name_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Column_name_listContext.prototype.constructor = Column_name_listContext; - -Column_name_listContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Column_name_listContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Column_name_listContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterColumn_name_list(this); - } -}; - -Column_name_listContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitColumn_name_list(this); - } -}; - -Column_name_listContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitColumn_name_list(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Column_name_listContext = Column_name_listContext; - -TSqlParser.prototype.column_name_list = function() { - - var localctx = new Column_name_listContext(this, this._ctx, this.state); - this.enterRule(localctx, 924, TSqlParser.RULE_column_name_list); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10508; - this.id(); - this.state = 10513; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===TSqlParser.COMMA) { - this.state = 10509; - this.match(TSqlParser.COMMA); - this.state = 10510; - this.id(); - this.state = 10515; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Cursor_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_cursor_name; - return this; -} - -Cursor_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Cursor_nameContext.prototype.constructor = Cursor_nameContext; - -Cursor_nameContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Cursor_nameContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Cursor_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterCursor_name(this); - } -}; - -Cursor_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitCursor_name(this); - } -}; - -Cursor_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitCursor_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Cursor_nameContext = Cursor_nameContext; - -TSqlParser.prototype.cursor_name = function() { - - var localctx = new Cursor_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 926, TSqlParser.RULE_cursor_name); - try { - this.state = 10518; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.DOUBLE_QUOTE_ID: - case TSqlParser.SQUARE_BRACKET_ID: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 1); - this.state = 10516; - this.id(); - break; - case TSqlParser.LOCAL_ID: - this.enterOuterAlt(localctx, 2); - this.state = 10517; - this.match(TSqlParser.LOCAL_ID); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function On_offContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_on_off; - return this; -} - -On_offContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -On_offContext.prototype.constructor = On_offContext; - -On_offContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -On_offContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -On_offContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterOn_off(this); - } -}; - -On_offContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitOn_off(this); - } -}; - -On_offContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitOn_off(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.On_offContext = On_offContext; - -TSqlParser.prototype.on_off = function() { - - var localctx = new On_offContext(this, this._ctx, this.state); - this.enterRule(localctx, 928, TSqlParser.RULE_on_off); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10520; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function ClusteredContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_clustered; - return this; -} - -ClusteredContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ClusteredContext.prototype.constructor = ClusteredContext; - -ClusteredContext.prototype.CLUSTERED = function() { - return this.getToken(TSqlParser.CLUSTERED, 0); -}; - -ClusteredContext.prototype.NONCLUSTERED = function() { - return this.getToken(TSqlParser.NONCLUSTERED, 0); -}; - -ClusteredContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterClustered(this); - } -}; - -ClusteredContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitClustered(this); - } -}; - -ClusteredContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitClustered(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.ClusteredContext = ClusteredContext; - -TSqlParser.prototype.clustered = function() { - - var localctx = new ClusteredContext(this, this._ctx, this.state); - this.enterRule(localctx, 930, TSqlParser.RULE_clustered); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10522; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CLUSTERED || _la===TSqlParser.NONCLUSTERED)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Null_notnullContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_null_notnull; - return this; -} - -Null_notnullContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Null_notnullContext.prototype.constructor = Null_notnullContext; - -Null_notnullContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Null_notnullContext.prototype.NOT = function() { - return this.getToken(TSqlParser.NOT, 0); -}; - -Null_notnullContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterNull_notnull(this); - } -}; - -Null_notnullContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitNull_notnull(this); - } -}; - -Null_notnullContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitNull_notnull(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Null_notnullContext = Null_notnullContext; - -TSqlParser.prototype.null_notnull = function() { - - var localctx = new Null_notnullContext(this, this._ctx, this.state); - this.enterRule(localctx, 932, TSqlParser.RULE_null_notnull); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10525; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.NOT) { - this.state = 10524; - this.match(TSqlParser.NOT); - } - - this.state = 10527; - this.match(TSqlParser.NULL); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Null_or_defaultContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_null_or_default; - return this; -} - -Null_or_defaultContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Null_or_defaultContext.prototype.constructor = Null_or_defaultContext; - -Null_or_defaultContext.prototype.null_notnull = function() { - return this.getTypedRuleContext(Null_notnullContext,0); -}; - -Null_or_defaultContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Null_or_defaultContext.prototype.constant_expression = function() { - return this.getTypedRuleContext(Constant_expressionContext,0); -}; - -Null_or_defaultContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Null_or_defaultContext.prototype.VALUES = function() { - return this.getToken(TSqlParser.VALUES, 0); -}; - -Null_or_defaultContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterNull_or_default(this); - } -}; - -Null_or_defaultContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitNull_or_default(this); - } -}; - -Null_or_defaultContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitNull_or_default(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Null_or_defaultContext = Null_or_defaultContext; - -TSqlParser.prototype.null_or_default = function() { - - var localctx = new Null_or_defaultContext(this, this._ctx, this.state); - this.enterRule(localctx, 934, TSqlParser.RULE_null_or_default); - try { - this.enterOuterAlt(localctx, 1); - this.state = 10536; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NOT: - case TSqlParser.NULL: - this.state = 10529; - this.null_notnull(); - break; - case TSqlParser.DEFAULT: - this.state = 10530; - this.match(TSqlParser.DEFAULT); - this.state = 10531; - this.constant_expression(); - this.state = 10534; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1483,this._ctx); - if(la_===1) { - this.state = 10532; - this.match(TSqlParser.WITH); - this.state = 10533; - this.match(TSqlParser.VALUES); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Scalar_function_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_scalar_function_name; - return this; -} - -Scalar_function_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Scalar_function_nameContext.prototype.constructor = Scalar_function_nameContext; - -Scalar_function_nameContext.prototype.func_proc_name_server_database_schema = function() { - return this.getTypedRuleContext(Func_proc_name_server_database_schemaContext,0); -}; - -Scalar_function_nameContext.prototype.RIGHT = function() { - return this.getToken(TSqlParser.RIGHT, 0); -}; - -Scalar_function_nameContext.prototype.LEFT = function() { - return this.getToken(TSqlParser.LEFT, 0); -}; - -Scalar_function_nameContext.prototype.BINARY_CHECKSUM = function() { - return this.getToken(TSqlParser.BINARY_CHECKSUM, 0); -}; - -Scalar_function_nameContext.prototype.CHECKSUM = function() { - return this.getToken(TSqlParser.CHECKSUM, 0); -}; - -Scalar_function_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterScalar_function_name(this); - } -}; - -Scalar_function_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitScalar_function_name(this); - } -}; - -Scalar_function_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitScalar_function_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Scalar_function_nameContext = Scalar_function_nameContext; - -TSqlParser.prototype.scalar_function_name = function() { - - var localctx = new Scalar_function_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 936, TSqlParser.RULE_scalar_function_name); - try { - this.state = 10543; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1485,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10538; - this.func_proc_name_server_database_schema(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10539; - this.match(TSqlParser.RIGHT); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 10540; - this.match(TSqlParser.LEFT); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 10541; - this.match(TSqlParser.BINARY_CHECKSUM); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 10542; - this.match(TSqlParser.CHECKSUM); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Begin_conversation_timerContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_begin_conversation_timer; - return this; -} - -Begin_conversation_timerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Begin_conversation_timerContext.prototype.constructor = Begin_conversation_timerContext; - -Begin_conversation_timerContext.prototype.BEGIN = function() { - return this.getToken(TSqlParser.BEGIN, 0); -}; - -Begin_conversation_timerContext.prototype.CONVERSATION = function() { - return this.getToken(TSqlParser.CONVERSATION, 0); -}; - -Begin_conversation_timerContext.prototype.TIMER = function() { - return this.getToken(TSqlParser.TIMER, 0); -}; - -Begin_conversation_timerContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Begin_conversation_timerContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Begin_conversation_timerContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Begin_conversation_timerContext.prototype.TIMEOUT = function() { - return this.getToken(TSqlParser.TIMEOUT, 0); -}; - -Begin_conversation_timerContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Begin_conversation_timerContext.prototype.time = function() { - return this.getTypedRuleContext(TimeContext,0); -}; - -Begin_conversation_timerContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Begin_conversation_timerContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBegin_conversation_timer(this); - } -}; - -Begin_conversation_timerContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBegin_conversation_timer(this); - } -}; - -Begin_conversation_timerContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBegin_conversation_timer(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Begin_conversation_timerContext = Begin_conversation_timerContext; - -TSqlParser.prototype.begin_conversation_timer = function() { - - var localctx = new Begin_conversation_timerContext(this, this._ctx, this.state); - this.enterRule(localctx, 938, TSqlParser.RULE_begin_conversation_timer); - try { - this.enterOuterAlt(localctx, 1); - this.state = 10545; - this.match(TSqlParser.BEGIN); - this.state = 10546; - this.match(TSqlParser.CONVERSATION); - this.state = 10547; - this.match(TSqlParser.TIMER); - this.state = 10548; - this.match(TSqlParser.LR_BRACKET); - this.state = 10549; - this.match(TSqlParser.LOCAL_ID); - this.state = 10550; - this.match(TSqlParser.RR_BRACKET); - this.state = 10551; - this.match(TSqlParser.TIMEOUT); - this.state = 10552; - this.match(TSqlParser.EQUAL); - this.state = 10553; - this.time(); - this.state = 10555; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1486,this._ctx); - if(la_===1) { - this.state = 10554; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Begin_conversation_dialogContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_begin_conversation_dialog; - this.dialog_handle = null; // Token - this.initiator_service_name = null; // Service_nameContext - this.target_service_name = null; // Service_nameContext - this.service_broker_guid = null; // Token - return this; -} - -Begin_conversation_dialogContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Begin_conversation_dialogContext.prototype.constructor = Begin_conversation_dialogContext; - -Begin_conversation_dialogContext.prototype.BEGIN = function() { - return this.getToken(TSqlParser.BEGIN, 0); -}; - -Begin_conversation_dialogContext.prototype.DIALOG = function() { - return this.getToken(TSqlParser.DIALOG, 0); -}; - -Begin_conversation_dialogContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Begin_conversation_dialogContext.prototype.SERVICE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.SERVICE); - } else { - return this.getToken(TSqlParser.SERVICE, i); - } -}; - - -Begin_conversation_dialogContext.prototype.TO = function() { - return this.getToken(TSqlParser.TO, 0); -}; - -Begin_conversation_dialogContext.prototype.ON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.ON); - } else { - return this.getToken(TSqlParser.ON, i); - } -}; - - -Begin_conversation_dialogContext.prototype.CONTRACT = function() { - return this.getToken(TSqlParser.CONTRACT, 0); -}; - -Begin_conversation_dialogContext.prototype.contract_name = function() { - return this.getTypedRuleContext(Contract_nameContext,0); -}; - -Begin_conversation_dialogContext.prototype.LOCAL_ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOCAL_ID); - } else { - return this.getToken(TSqlParser.LOCAL_ID, i); - } -}; - - -Begin_conversation_dialogContext.prototype.service_name = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(Service_nameContext); - } else { - return this.getTypedRuleContext(Service_nameContext,i); - } -}; - -Begin_conversation_dialogContext.prototype.CONVERSATION = function() { - return this.getToken(TSqlParser.CONVERSATION, 0); -}; - -Begin_conversation_dialogContext.prototype.COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.COMMA); - } else { - return this.getToken(TSqlParser.COMMA, i); - } -}; - - -Begin_conversation_dialogContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -Begin_conversation_dialogContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Begin_conversation_dialogContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Begin_conversation_dialogContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -Begin_conversation_dialogContext.prototype.LIFETIME = function() { - return this.getToken(TSqlParser.LIFETIME, 0); -}; - -Begin_conversation_dialogContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Begin_conversation_dialogContext.prototype.RELATED_CONVERSATION = function() { - return this.getToken(TSqlParser.RELATED_CONVERSATION, 0); -}; - -Begin_conversation_dialogContext.prototype.RELATED_CONVERSATION_GROUP = function() { - return this.getToken(TSqlParser.RELATED_CONVERSATION_GROUP, 0); -}; - -Begin_conversation_dialogContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -Begin_conversation_dialogContext.prototype.OFF = function() { - return this.getToken(TSqlParser.OFF, 0); -}; - -Begin_conversation_dialogContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterBegin_conversation_dialog(this); - } -}; - -Begin_conversation_dialogContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitBegin_conversation_dialog(this); - } -}; - -Begin_conversation_dialogContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitBegin_conversation_dialog(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Begin_conversation_dialogContext = Begin_conversation_dialogContext; - -TSqlParser.prototype.begin_conversation_dialog = function() { - - var localctx = new Begin_conversation_dialogContext(this, this._ctx, this.state); - this.enterRule(localctx, 940, TSqlParser.RULE_begin_conversation_dialog); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10557; - this.match(TSqlParser.BEGIN); - this.state = 10558; - this.match(TSqlParser.DIALOG); - this.state = 10560; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.CONVERSATION) { - this.state = 10559; - this.match(TSqlParser.CONVERSATION); - } - - this.state = 10562; - localctx.dialog_handle = this.match(TSqlParser.LOCAL_ID); - this.state = 10563; - this.match(TSqlParser.FROM); - this.state = 10564; - this.match(TSqlParser.SERVICE); - this.state = 10565; - localctx.initiator_service_name = this.service_name(); - this.state = 10566; - this.match(TSqlParser.TO); - this.state = 10567; - this.match(TSqlParser.SERVICE); - this.state = 10568; - localctx.target_service_name = this.service_name(); - this.state = 10571; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10569; - this.match(TSqlParser.COMMA); - this.state = 10570; - localctx.service_broker_guid = this.match(TSqlParser.STRING); - } - - this.state = 10573; - this.match(TSqlParser.ON); - this.state = 10574; - this.match(TSqlParser.CONTRACT); - this.state = 10575; - this.contract_name(); - this.state = 10598; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1494,this._ctx); - if(la_===1) { - this.state = 10576; - this.match(TSqlParser.WITH); - this.state = 10583; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.RELATED_CONVERSATION || _la===TSqlParser.RELATED_CONVERSATION_GROUP) { - this.state = 10577; - _la = this._input.LA(1); - if(!(_la===TSqlParser.RELATED_CONVERSATION || _la===TSqlParser.RELATED_CONVERSATION_GROUP)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10578; - this.match(TSqlParser.EQUAL); - this.state = 10579; - this.match(TSqlParser.LOCAL_ID); - this.state = 10581; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10580; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 10591; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.LIFETIME) { - this.state = 10585; - this.match(TSqlParser.LIFETIME); - this.state = 10586; - this.match(TSqlParser.EQUAL); - this.state = 10587; - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.DECIMAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10589; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10588; - this.match(TSqlParser.COMMA); - } - - } - - this.state = 10596; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1493,this._ctx); - if(la_===1) { - this.state = 10593; - this.match(TSqlParser.ENCRYPTION); - this.state = 10594; - this.match(TSqlParser.EQUAL); - this.state = 10595; - _la = this._input.LA(1); - if(!(_la===TSqlParser.OFF || _la===TSqlParser.ON)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - - } - this.state = 10601; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1495,this._ctx); - if(la_===1) { - this.state = 10600; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Contract_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_contract_name; - return this; -} - -Contract_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Contract_nameContext.prototype.constructor = Contract_nameContext; - -Contract_nameContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Contract_nameContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Contract_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterContract_name(this); - } -}; - -Contract_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitContract_name(this); - } -}; - -Contract_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitContract_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Contract_nameContext = Contract_nameContext; - -TSqlParser.prototype.contract_name = function() { - - var localctx = new Contract_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 942, TSqlParser.RULE_contract_name); - try { - this.enterOuterAlt(localctx, 1); - this.state = 10605; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1496,this._ctx); - switch(la_) { - case 1: - this.state = 10603; - this.id(); - break; - - case 2: - this.state = 10604; - this.expression(0); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Service_nameContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_service_name; - return this; -} - -Service_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Service_nameContext.prototype.constructor = Service_nameContext; - -Service_nameContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Service_nameContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Service_nameContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterService_name(this); - } -}; - -Service_nameContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitService_name(this); - } -}; - -Service_nameContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitService_name(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Service_nameContext = Service_nameContext; - -TSqlParser.prototype.service_name = function() { - - var localctx = new Service_nameContext(this, this._ctx, this.state); - this.enterRule(localctx, 944, TSqlParser.RULE_service_name); - try { - this.enterOuterAlt(localctx, 1); - this.state = 10609; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1497,this._ctx); - switch(la_) { - case 1: - this.state = 10607; - this.id(); - break; - - case 2: - this.state = 10608; - this.expression(0); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function End_conversationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_end_conversation; - this.conversation_handle = null; // Token - this.faliure_code = null; // Token - this.failure_text = null; // Token - return this; -} - -End_conversationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -End_conversationContext.prototype.constructor = End_conversationContext; - -End_conversationContext.prototype.END = function() { - return this.getToken(TSqlParser.END, 0); -}; - -End_conversationContext.prototype.CONVERSATION = function() { - return this.getToken(TSqlParser.CONVERSATION, 0); -}; - -End_conversationContext.prototype.LOCAL_ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOCAL_ID); - } else { - return this.getToken(TSqlParser.LOCAL_ID, i); - } -}; - - -End_conversationContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -End_conversationContext.prototype.WITH = function() { - return this.getToken(TSqlParser.WITH, 0); -}; - -End_conversationContext.prototype.ERROR = function() { - return this.getToken(TSqlParser.ERROR, 0); -}; - -End_conversationContext.prototype.EQUAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.EQUAL); - } else { - return this.getToken(TSqlParser.EQUAL, i); - } -}; - - -End_conversationContext.prototype.DESCRIPTION = function() { - return this.getToken(TSqlParser.DESCRIPTION, 0); -}; - -End_conversationContext.prototype.CLEANUP = function() { - return this.getToken(TSqlParser.CLEANUP, 0); -}; - -End_conversationContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -End_conversationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterEnd_conversation(this); - } -}; - -End_conversationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitEnd_conversation(this); - } -}; - -End_conversationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitEnd_conversation(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.End_conversationContext = End_conversationContext; - -TSqlParser.prototype.end_conversation = function() { - - var localctx = new End_conversationContext(this, this._ctx, this.state); - this.enterRule(localctx, 946, TSqlParser.RULE_end_conversation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10611; - this.match(TSqlParser.END); - this.state = 10612; - this.match(TSqlParser.CONVERSATION); - this.state = 10613; - localctx.conversation_handle = this.match(TSqlParser.LOCAL_ID); - this.state = 10615; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1498,this._ctx); - if(la_===1) { - this.state = 10614; - this.match(TSqlParser.SEMI); - - } - this.state = 10629; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1501,this._ctx); - if(la_===1) { - this.state = 10617; - this.match(TSqlParser.WITH); - this.state = 10624; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.ERROR) { - this.state = 10618; - this.match(TSqlParser.ERROR); - this.state = 10619; - this.match(TSqlParser.EQUAL); - this.state = 10620; - localctx.faliure_code = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.STRING)) { - localctx.faliure_code = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10621; - this.match(TSqlParser.DESCRIPTION); - this.state = 10622; - this.match(TSqlParser.EQUAL); - this.state = 10623; - localctx.failure_text = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.STRING)) { - localctx.failure_text = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 10627; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1500,this._ctx); - if(la_===1) { - this.state = 10626; - this.match(TSqlParser.CLEANUP); - - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Waitfor_conversationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_waitfor_conversation; - this.timeout = null; // TimeContext - return this; -} - -Waitfor_conversationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Waitfor_conversationContext.prototype.constructor = Waitfor_conversationContext; - -Waitfor_conversationContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Waitfor_conversationContext.prototype.get_conversation = function() { - return this.getTypedRuleContext(Get_conversationContext,0); -}; - -Waitfor_conversationContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Waitfor_conversationContext.prototype.WAITFOR = function() { - return this.getToken(TSqlParser.WAITFOR, 0); -}; - -Waitfor_conversationContext.prototype.TIMEOUT = function() { - return this.getToken(TSqlParser.TIMEOUT, 0); -}; - -Waitfor_conversationContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Waitfor_conversationContext.prototype.time = function() { - return this.getTypedRuleContext(TimeContext,0); -}; - -Waitfor_conversationContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Waitfor_conversationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterWaitfor_conversation(this); - } -}; - -Waitfor_conversationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitWaitfor_conversation(this); - } -}; - -Waitfor_conversationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitWaitfor_conversation(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Waitfor_conversationContext = Waitfor_conversationContext; - -TSqlParser.prototype.waitfor_conversation = function() { - - var localctx = new Waitfor_conversationContext(this, this._ctx, this.state); - this.enterRule(localctx, 948, TSqlParser.RULE_waitfor_conversation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10632; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.WAITFOR) { - this.state = 10631; - this.match(TSqlParser.WAITFOR); - } - - this.state = 10634; - this.match(TSqlParser.LR_BRACKET); - this.state = 10635; - this.get_conversation(); - this.state = 10636; - this.match(TSqlParser.RR_BRACKET); - this.state = 10642; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1504,this._ctx); - if(la_===1) { - this.state = 10638; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10637; - this.match(TSqlParser.COMMA); - } - - this.state = 10640; - this.match(TSqlParser.TIMEOUT); - this.state = 10641; - localctx.timeout = this.time(); - - } - this.state = 10645; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1505,this._ctx); - if(la_===1) { - this.state = 10644; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Get_conversationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_get_conversation; - this.conversation_group_id = null; // Token - this.queue = null; // Queue_idContext - return this; -} - -Get_conversationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Get_conversationContext.prototype.constructor = Get_conversationContext; - -Get_conversationContext.prototype.GET = function() { - return this.getToken(TSqlParser.GET, 0); -}; - -Get_conversationContext.prototype.CONVERSATION = function() { - return this.getToken(TSqlParser.CONVERSATION, 0); -}; - -Get_conversationContext.prototype.GROUP = function() { - return this.getToken(TSqlParser.GROUP, 0); -}; - -Get_conversationContext.prototype.FROM = function() { - return this.getToken(TSqlParser.FROM, 0); -}; - -Get_conversationContext.prototype.queue_id = function() { - return this.getTypedRuleContext(Queue_idContext,0); -}; - -Get_conversationContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -Get_conversationContext.prototype.LOCAL_ID = function() { - return this.getToken(TSqlParser.LOCAL_ID, 0); -}; - -Get_conversationContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Get_conversationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterGet_conversation(this); - } -}; - -Get_conversationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitGet_conversation(this); - } -}; - -Get_conversationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitGet_conversation(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Get_conversationContext = Get_conversationContext; - -TSqlParser.prototype.get_conversation = function() { - - var localctx = new Get_conversationContext(this, this._ctx, this.state); - this.enterRule(localctx, 950, TSqlParser.RULE_get_conversation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10647; - this.match(TSqlParser.GET); - this.state = 10648; - this.match(TSqlParser.CONVERSATION); - this.state = 10649; - this.match(TSqlParser.GROUP); - this.state = 10650; - localctx.conversation_group_id = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.STRING)) { - localctx.conversation_group_id = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10651; - this.match(TSqlParser.FROM); - this.state = 10652; - localctx.queue = this.queue_id(); - this.state = 10654; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1506,this._ctx); - if(la_===1) { - this.state = 10653; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Queue_idContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_queue_id; - this.database_name = null; // IdContext - this.schema_name = null; // IdContext - this.name = null; // IdContext - return this; -} - -Queue_idContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Queue_idContext.prototype.constructor = Queue_idContext; - -Queue_idContext.prototype.DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DOT); - } else { - return this.getToken(TSqlParser.DOT, i); - } -}; - - -Queue_idContext.prototype.id = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdContext); - } else { - return this.getTypedRuleContext(IdContext,i); - } -}; - -Queue_idContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterQueue_id(this); - } -}; - -Queue_idContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitQueue_id(this); - } -}; - -Queue_idContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitQueue_id(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Queue_idContext = Queue_idContext; - -TSqlParser.prototype.queue_id = function() { - - var localctx = new Queue_idContext(this, this._ctx, this.state); - this.enterRule(localctx, 952, TSqlParser.RULE_queue_id); - try { - this.state = 10663; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1507,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10656; - localctx.database_name = this.id(); - this.state = 10657; - this.match(TSqlParser.DOT); - this.state = 10658; - localctx.schema_name = this.id(); - this.state = 10659; - this.match(TSqlParser.DOT); - this.state = 10660; - localctx.name = this.id(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10662; - this.id(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Send_conversationContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_send_conversation; - this.conversation_handle = null; // Token - this.message_type_name = null; // ExpressionContext - this.message_body_expression = null; // Token - return this; -} - -Send_conversationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Send_conversationContext.prototype.constructor = Send_conversationContext; - -Send_conversationContext.prototype.SEND = function() { - return this.getToken(TSqlParser.SEND, 0); -}; - -Send_conversationContext.prototype.ON = function() { - return this.getToken(TSqlParser.ON, 0); -}; - -Send_conversationContext.prototype.CONVERSATION = function() { - return this.getToken(TSqlParser.CONVERSATION, 0); -}; - -Send_conversationContext.prototype.MESSAGE = function() { - return this.getToken(TSqlParser.MESSAGE, 0); -}; - -Send_conversationContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Send_conversationContext.prototype.expression = function() { - return this.getTypedRuleContext(ExpressionContext,0); -}; - -Send_conversationContext.prototype.STRING = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.STRING); - } else { - return this.getToken(TSqlParser.STRING, i); - } -}; - - -Send_conversationContext.prototype.LOCAL_ID = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.LOCAL_ID); - } else { - return this.getToken(TSqlParser.LOCAL_ID, i); - } -}; - - -Send_conversationContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Send_conversationContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Send_conversationContext.prototype.SEMI = function() { - return this.getToken(TSqlParser.SEMI, 0); -}; - -Send_conversationContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSend_conversation(this); - } -}; - -Send_conversationContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSend_conversation(this); - } -}; - -Send_conversationContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSend_conversation(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Send_conversationContext = Send_conversationContext; - -TSqlParser.prototype.send_conversation = function() { - - var localctx = new Send_conversationContext(this, this._ctx, this.state); - this.enterRule(localctx, 954, TSqlParser.RULE_send_conversation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10665; - this.match(TSqlParser.SEND); - this.state = 10666; - this.match(TSqlParser.ON); - this.state = 10667; - this.match(TSqlParser.CONVERSATION); - this.state = 10668; - localctx.conversation_handle = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.STRING)) { - localctx.conversation_handle = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10669; - this.match(TSqlParser.MESSAGE); - this.state = 10670; - this.match(TSqlParser.TYPE); - this.state = 10671; - localctx.message_type_name = this.expression(0); - this.state = 10675; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1508,this._ctx); - if(la_===1) { - this.state = 10672; - this.match(TSqlParser.LR_BRACKET); - this.state = 10673; - localctx.message_body_expression = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===TSqlParser.LOCAL_ID || _la===TSqlParser.STRING)) { - localctx.message_body_expression = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10674; - this.match(TSqlParser.RR_BRACKET); - - } - this.state = 10678; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1509,this._ctx); - if(la_===1) { - this.state = 10677; - this.match(TSqlParser.SEMI); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Data_typeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_data_type; - return this; -} - -Data_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Data_typeContext.prototype.constructor = Data_typeContext; - -Data_typeContext.prototype.id = function() { - return this.getTypedRuleContext(IdContext,0); -}; - -Data_typeContext.prototype.IDENTITY = function() { - return this.getToken(TSqlParser.IDENTITY, 0); -}; - -Data_typeContext.prototype.LR_BRACKET = function() { - return this.getToken(TSqlParser.LR_BRACKET, 0); -}; - -Data_typeContext.prototype.RR_BRACKET = function() { - return this.getToken(TSqlParser.RR_BRACKET, 0); -}; - -Data_typeContext.prototype.DECIMAL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(TSqlParser.DECIMAL); - } else { - return this.getToken(TSqlParser.DECIMAL, i); - } -}; - - -Data_typeContext.prototype.MAX = function() { - return this.getToken(TSqlParser.MAX, 0); -}; - -Data_typeContext.prototype.COMMA = function() { - return this.getToken(TSqlParser.COMMA, 0); -}; - -Data_typeContext.prototype.DOUBLE = function() { - return this.getToken(TSqlParser.DOUBLE, 0); -}; - -Data_typeContext.prototype.PRECISION = function() { - return this.getToken(TSqlParser.PRECISION, 0); -}; - -Data_typeContext.prototype.INT = function() { - return this.getToken(TSqlParser.INT, 0); -}; - -Data_typeContext.prototype.TINYINT = function() { - return this.getToken(TSqlParser.TINYINT, 0); -}; - -Data_typeContext.prototype.SMALLINT = function() { - return this.getToken(TSqlParser.SMALLINT, 0); -}; - -Data_typeContext.prototype.BIGINT = function() { - return this.getToken(TSqlParser.BIGINT, 0); -}; - -Data_typeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterData_type(this); - } -}; - -Data_typeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitData_type(this); - } -}; - -Data_typeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitData_type(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Data_typeContext = Data_typeContext; - -TSqlParser.prototype.data_type = function() { - - var localctx = new Data_typeContext(this, this._ctx, this.state); - this.enterRule(localctx, 956, TSqlParser.RULE_data_type); - var _la = 0; // Token type - try { - this.state = 10701; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1514,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10680; - this.id(); - this.state = 10682; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1510,this._ctx); - if(la_===1) { - this.state = 10681; - this.match(TSqlParser.IDENTITY); - - } - this.state = 10691; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1512,this._ctx); - if(la_===1) { - this.state = 10684; - this.match(TSqlParser.LR_BRACKET); - this.state = 10685; - _la = this._input.LA(1); - if(!(_la===TSqlParser.MAX || _la===TSqlParser.DECIMAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 10688; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.COMMA) { - this.state = 10686; - this.match(TSqlParser.COMMA); - this.state = 10687; - this.match(TSqlParser.DECIMAL); - } - - this.state = 10690; - this.match(TSqlParser.RR_BRACKET); - - } - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10693; - this.match(TSqlParser.DOUBLE); - this.state = 10695; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PRECISION) { - this.state = 10694; - this.match(TSqlParser.PRECISION); - } - - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 10697; - this.match(TSqlParser.INT); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 10698; - this.match(TSqlParser.TINYINT); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 10699; - this.match(TSqlParser.SMALLINT); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 10700; - this.match(TSqlParser.BIGINT); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Default_valueContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_default_value; - return this; -} - -Default_valueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Default_valueContext.prototype.constructor = Default_valueContext; - -Default_valueContext.prototype.NULL = function() { - return this.getToken(TSqlParser.NULL, 0); -}; - -Default_valueContext.prototype.DEFAULT = function() { - return this.getToken(TSqlParser.DEFAULT, 0); -}; - -Default_valueContext.prototype.constant = function() { - return this.getTypedRuleContext(ConstantContext,0); -}; - -Default_valueContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterDefault_value(this); - } -}; - -Default_valueContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitDefault_value(this); - } -}; - -Default_valueContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitDefault_value(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Default_valueContext = Default_valueContext; - -TSqlParser.prototype.default_value = function() { - - var localctx = new Default_valueContext(this, this._ctx, this.state); - this.enterRule(localctx, 958, TSqlParser.RULE_default_value); - try { - this.state = 10706; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.NULL: - this.enterOuterAlt(localctx, 1); - this.state = 10703; - this.match(TSqlParser.NULL); - break; - case TSqlParser.DEFAULT: - this.enterOuterAlt(localctx, 2); - this.state = 10704; - this.match(TSqlParser.DEFAULT); - break; - case TSqlParser.DECIMAL: - case TSqlParser.STRING: - case TSqlParser.BINARY: - case TSqlParser.FLOAT: - case TSqlParser.REAL: - case TSqlParser.DOLLAR: - case TSqlParser.PLUS: - case TSqlParser.MINUS: - this.enterOuterAlt(localctx, 3); - this.state = 10705; - this.constant(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function ConstantContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_constant; - this.dollar = null; // Token - return this; -} - -ConstantContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -ConstantContext.prototype.constructor = ConstantContext; - -ConstantContext.prototype.STRING = function() { - return this.getToken(TSqlParser.STRING, 0); -}; - -ConstantContext.prototype.BINARY = function() { - return this.getToken(TSqlParser.BINARY, 0); -}; - -ConstantContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -ConstantContext.prototype.sign = function() { - return this.getTypedRuleContext(SignContext,0); -}; - -ConstantContext.prototype.REAL = function() { - return this.getToken(TSqlParser.REAL, 0); -}; - -ConstantContext.prototype.FLOAT = function() { - return this.getToken(TSqlParser.FLOAT, 0); -}; - -ConstantContext.prototype.DOLLAR = function() { - return this.getToken(TSqlParser.DOLLAR, 0); -}; - -ConstantContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterConstant(this); - } -}; - -ConstantContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitConstant(this); - } -}; - -ConstantContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitConstant(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.ConstantContext = ConstantContext; - -TSqlParser.prototype.constant = function() { - - var localctx = new ConstantContext(this, this._ctx, this.state); - this.enterRule(localctx, 960, TSqlParser.RULE_constant); - var _la = 0; // Token type - try { - this.state = 10723; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1519,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10708; - this.match(TSqlParser.STRING); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10709; - this.match(TSqlParser.BINARY); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 10711; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PLUS || _la===TSqlParser.MINUS) { - this.state = 10710; - this.sign(); - } - - this.state = 10713; - this.match(TSqlParser.DECIMAL); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 10715; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PLUS || _la===TSqlParser.MINUS) { - this.state = 10714; - this.sign(); - } - - this.state = 10717; - _la = this._input.LA(1); - if(!(_la===TSqlParser.FLOAT || _la===TSqlParser.REAL)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 10719; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.PLUS || _la===TSqlParser.MINUS) { - this.state = 10718; - this.sign(); - } - - this.state = 10721; - localctx.dollar = this.match(TSqlParser.DOLLAR); - this.state = 10722; - _la = this._input.LA(1); - if(!(_la===TSqlParser.DECIMAL || _la===TSqlParser.FLOAT)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function SignContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_sign; - return this; -} - -SignContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -SignContext.prototype.constructor = SignContext; - -SignContext.prototype.PLUS = function() { - return this.getToken(TSqlParser.PLUS, 0); -}; - -SignContext.prototype.MINUS = function() { - return this.getToken(TSqlParser.MINUS, 0); -}; - -SignContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSign(this); - } -}; - -SignContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSign(this); - } -}; - -SignContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSign(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.SignContext = SignContext; - -TSqlParser.prototype.sign = function() { - - var localctx = new SignContext(this, this._ctx, this.state); - this.enterRule(localctx, 962, TSqlParser.RULE_sign); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10725; - _la = this._input.LA(1); - if(!(_la===TSqlParser.PLUS || _la===TSqlParser.MINUS)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function IdContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_id; - return this; -} - -IdContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -IdContext.prototype.constructor = IdContext; - -IdContext.prototype.simple_id = function() { - return this.getTypedRuleContext(Simple_idContext,0); -}; - -IdContext.prototype.DOUBLE_QUOTE_ID = function() { - return this.getToken(TSqlParser.DOUBLE_QUOTE_ID, 0); -}; - -IdContext.prototype.SQUARE_BRACKET_ID = function() { - return this.getToken(TSqlParser.SQUARE_BRACKET_ID, 0); -}; - -IdContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterId(this); - } -}; - -IdContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitId(this); - } -}; - -IdContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitId(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.IdContext = IdContext; - -TSqlParser.prototype.id = function() { - - var localctx = new IdContext(this, this._ctx, this.state); - this.enterRule(localctx, 964, TSqlParser.RULE_id); - try { - this.state = 10730; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case TSqlParser.CALLED: - case TSqlParser.DATA_COMPRESSION: - case TSqlParser.EVENTDATA: - case TSqlParser.FILENAME: - case TSqlParser.FILLFACTOR: - case TSqlParser.FORCESEEK: - case TSqlParser.INIT: - case TSqlParser.KEY: - case TSqlParser.MASTER: - case TSqlParser.MAX_MEMORY: - case TSqlParser.OFFSETS: - case TSqlParser.PAGE: - case TSqlParser.PUBLIC: - case TSqlParser.R: - case TSqlParser.RAW: - case TSqlParser.RETURN: - case TSqlParser.RETURNS: - case TSqlParser.ROWCOUNT: - case TSqlParser.SAFETY: - case TSqlParser.SERVER: - case TSqlParser.SID: - case TSqlParser.SOURCE: - case TSqlParser.SPLIT: - case TSqlParser.STATE: - case TSqlParser.START: - case TSqlParser.TARGET: - case TSqlParser.ABSOLUTE: - case TSqlParser.ACCENT_SENSITIVITY: - case TSqlParser.ACTION: - case TSqlParser.ACTIVATION: - case TSqlParser.ACTIVE: - case TSqlParser.ADDRESS: - case TSqlParser.AES_128: - case TSqlParser.AES_192: - case TSqlParser.AES_256: - case TSqlParser.AFFINITY: - case TSqlParser.AFTER: - case TSqlParser.AGGREGATE: - case TSqlParser.ALGORITHM: - case TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: - case TSqlParser.ALLOW_SNAPSHOT_ISOLATION: - case TSqlParser.ALLOWED: - case TSqlParser.ANSI_NULL_DEFAULT: - case TSqlParser.ANSI_NULLS: - case TSqlParser.ANSI_PADDING: - case TSqlParser.ANSI_WARNINGS: - case TSqlParser.APPLICATION_LOG: - case TSqlParser.APPLY: - case TSqlParser.ARITHABORT: - case TSqlParser.ASSEMBLY: - case TSqlParser.AUDIT: - case TSqlParser.AUDIT_GUID: - case TSqlParser.AUTO: - case TSqlParser.AUTO_CLEANUP: - case TSqlParser.AUTO_CLOSE: - case TSqlParser.AUTO_CREATE_STATISTICS: - case TSqlParser.AUTO_SHRINK: - case TSqlParser.AUTO_UPDATE_STATISTICS: - case TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC: - case TSqlParser.AVAILABILITY: - case TSqlParser.AVG: - case TSqlParser.BACKUP_PRIORITY: - case TSqlParser.BEGIN_DIALOG: - case TSqlParser.BIGINT: - case TSqlParser.BINARY_BASE64: - case TSqlParser.BINARY_CHECKSUM: - case TSqlParser.BINDING: - case TSqlParser.BLOB_STORAGE: - case TSqlParser.BROKER: - case TSqlParser.BROKER_INSTANCE: - case TSqlParser.BULK_LOGGED: - case TSqlParser.CALLER: - case TSqlParser.CAP_CPU_PERCENT: - case TSqlParser.CAST: - case TSqlParser.CATALOG: - case TSqlParser.CATCH: - case TSqlParser.CHANGE_RETENTION: - case TSqlParser.CHANGE_TRACKING: - case TSqlParser.CHECKSUM: - case TSqlParser.CHECKSUM_AGG: - case TSqlParser.CLEANUP: - case TSqlParser.COLLECTION: - case TSqlParser.COLUMN_MASTER_KEY: - case TSqlParser.COMMITTED: - case TSqlParser.COMPATIBILITY_LEVEL: - case TSqlParser.CONCAT: - case TSqlParser.CONCAT_NULL_YIELDS_NULL: - case TSqlParser.CONTENT: - case TSqlParser.CONTROL: - case TSqlParser.COOKIE: - case TSqlParser.COUNT: - case TSqlParser.COUNT_BIG: - case TSqlParser.COUNTER: - case TSqlParser.CPU: - case TSqlParser.CREATE_NEW: - case TSqlParser.CREATION_DISPOSITION: - case TSqlParser.CREDENTIAL: - case TSqlParser.CRYPTOGRAPHIC: - case TSqlParser.CURSOR_CLOSE_ON_COMMIT: - case TSqlParser.CURSOR_DEFAULT: - case TSqlParser.DATA: - case TSqlParser.DATE_CORRELATION_OPTIMIZATION: - case TSqlParser.DATEADD: - case TSqlParser.DATEDIFF: - case TSqlParser.DATENAME: - case TSqlParser.DATEPART: - case TSqlParser.DAYS: - case TSqlParser.DB_CHAINING: - case TSqlParser.DB_FAILOVER: - case TSqlParser.DECRYPTION: - case TSqlParser.DEFAULT_DOUBLE_QUOTE: - case TSqlParser.DEFAULT_FULLTEXT_LANGUAGE: - case TSqlParser.DEFAULT_LANGUAGE: - case TSqlParser.DELAY: - case TSqlParser.DELAYED_DURABILITY: - case TSqlParser.DELETED: - case TSqlParser.DENSE_RANK: - case TSqlParser.DEPENDENTS: - case TSqlParser.DES: - case TSqlParser.DESCRIPTION: - case TSqlParser.DESX: - case TSqlParser.DHCP: - case TSqlParser.DIALOG: - case TSqlParser.DIRECTORY_NAME: - case TSqlParser.DISABLE: - case TSqlParser.DISABLE_BROKER: - case TSqlParser.DISABLED: - case TSqlParser.DISK_DRIVE: - case TSqlParser.DOCUMENT: - case TSqlParser.DYNAMIC: - case TSqlParser.EMERGENCY: - case TSqlParser.EMPTY: - case TSqlParser.ENABLE: - case TSqlParser.ENABLE_BROKER: - case TSqlParser.ENCRYPTED_VALUE: - case TSqlParser.ENCRYPTION: - case TSqlParser.ENDPOINT_URL: - case TSqlParser.ERROR_BROKER_CONVERSATIONS: - case TSqlParser.EXCLUSIVE: - case TSqlParser.EXECUTABLE: - case TSqlParser.EXIST: - case TSqlParser.EXPAND: - case TSqlParser.EXPIRY_DATE: - case TSqlParser.EXPLICIT: - case TSqlParser.FAIL_OPERATION: - case TSqlParser.FAILOVER_MODE: - case TSqlParser.FAILURE: - case TSqlParser.FAILURE_CONDITION_LEVEL: - case TSqlParser.FAST: - case TSqlParser.FAST_FORWARD: - case TSqlParser.FILEGROUP: - case TSqlParser.FILEGROWTH: - case TSqlParser.FILEPATH: - case TSqlParser.FILESTREAM: - case TSqlParser.FILTER: - case TSqlParser.FIRST: - case TSqlParser.FIRST_VALUE: - case TSqlParser.FOLLOWING: - case TSqlParser.FORCE: - case TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS: - case TSqlParser.FORCED: - case TSqlParser.FORMAT: - case TSqlParser.FORWARD_ONLY: - case TSqlParser.FULLSCAN: - case TSqlParser.FULLTEXT: - case TSqlParser.GB: - case TSqlParser.GETDATE: - case TSqlParser.GETUTCDATE: - case TSqlParser.GLOBAL: - case TSqlParser.GO: - case TSqlParser.GROUP_MAX_REQUESTS: - case TSqlParser.GROUPING: - case TSqlParser.GROUPING_ID: - case TSqlParser.HADR: - case TSqlParser.HASH: - case TSqlParser.HEALTH_CHECK_TIMEOUT: - case TSqlParser.HIGH: - case TSqlParser.HONOR_BROKER_PRIORITY: - case TSqlParser.HOURS: - case TSqlParser.IDENTITY_VALUE: - case TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: - case TSqlParser.IMMEDIATE: - case TSqlParser.IMPERSONATE: - case TSqlParser.IMPORTANCE: - case TSqlParser.INCREMENTAL: - case TSqlParser.INITIATOR: - case TSqlParser.INPUT: - case TSqlParser.INSENSITIVE: - case TSqlParser.INSERTED: - case TSqlParser.INT: - case TSqlParser.IP: - case TSqlParser.ISOLATION: - case TSqlParser.KB: - case TSqlParser.KEEP: - case TSqlParser.KEEPFIXED: - case TSqlParser.KEY_SOURCE: - case TSqlParser.KEYS: - case TSqlParser.KEYSET: - case TSqlParser.LAG: - case TSqlParser.LAST: - case TSqlParser.LAST_VALUE: - case TSqlParser.LEAD: - case TSqlParser.LEVEL: - case TSqlParser.LIST: - case TSqlParser.LISTENER: - case TSqlParser.LISTENER_URL: - case TSqlParser.LOB_COMPACTION: - case TSqlParser.LOCAL: - case TSqlParser.LOCATION: - case TSqlParser.LOCK: - case TSqlParser.LOCK_ESCALATION: - case TSqlParser.LOGIN: - case TSqlParser.LOOP: - case TSqlParser.LOW: - case TSqlParser.MANUAL: - case TSqlParser.MARK: - case TSqlParser.MATERIALIZED: - case TSqlParser.MAX: - case TSqlParser.MAX_CPU_PERCENT: - case TSqlParser.MAX_DOP: - case TSqlParser.MAX_FILES: - case TSqlParser.MAX_IOPS_PER_VOLUME: - case TSqlParser.MAX_MEMORY_PERCENT: - case TSqlParser.MAX_PROCESSES: - case TSqlParser.MAX_QUEUE_READERS: - case TSqlParser.MAX_ROLLOVER_FILES: - case TSqlParser.MAXDOP: - case TSqlParser.MAXRECURSION: - case TSqlParser.MAXSIZE: - case TSqlParser.MB: - case TSqlParser.MEDIUM: - case TSqlParser.MEMORY_OPTIMIZED_DATA: - case TSqlParser.MESSAGE: - case TSqlParser.MIN: - case TSqlParser.MIN_ACTIVE_ROWVERSION: - case TSqlParser.MIN_CPU_PERCENT: - case TSqlParser.MIN_IOPS_PER_VOLUME: - case TSqlParser.MIN_MEMORY_PERCENT: - case TSqlParser.MINUTES: - case TSqlParser.MIRROR_ADDRESS: - case TSqlParser.MIXED_PAGE_ALLOCATION: - case TSqlParser.MODE: - case TSqlParser.MODIFY: - case TSqlParser.MOVE: - case TSqlParser.MULTI_USER: - case TSqlParser.NAME: - case TSqlParser.NESTED_TRIGGERS: - case TSqlParser.NEW_ACCOUNT: - case TSqlParser.NEW_BROKER: - case TSqlParser.NEW_PASSWORD: - case TSqlParser.NEXT: - case TSqlParser.NO: - case TSqlParser.NO_TRUNCATE: - case TSqlParser.NO_WAIT: - case TSqlParser.NOCOUNT: - case TSqlParser.NODES: - case TSqlParser.NOEXPAND: - case TSqlParser.NON_TRANSACTED_ACCESS: - case TSqlParser.NORECOMPUTE: - case TSqlParser.NORECOVERY: - case TSqlParser.NOWAIT: - case TSqlParser.NTILE: - case TSqlParser.NUMANODE: - case TSqlParser.NUMBER: - case TSqlParser.NUMERIC_ROUNDABORT: - case TSqlParser.OBJECT: - case TSqlParser.OFFLINE: - case TSqlParser.OFFSET: - case TSqlParser.OLD_ACCOUNT: - case TSqlParser.ONLINE: - case TSqlParser.ONLY: - case TSqlParser.OPEN_EXISTING: - case TSqlParser.OPTIMISTIC: - case TSqlParser.OPTIMIZE: - case TSqlParser.OUT: - case TSqlParser.OUTPUT: - case TSqlParser.OWNER: - case TSqlParser.PAGE_VERIFY: - case TSqlParser.PARAMETERIZATION: - case TSqlParser.PARTITION: - case TSqlParser.PARTITIONS: - case TSqlParser.PARTNER: - case TSqlParser.PATH: - case TSqlParser.POISON_MESSAGE_HANDLING: - case TSqlParser.POOL: - case TSqlParser.PORT: - case TSqlParser.PRECEDING: - case TSqlParser.PRIMARY_ROLE: - case TSqlParser.PRIOR: - case TSqlParser.PRIORITY: - case TSqlParser.PRIORITY_LEVEL: - case TSqlParser.PRIVATE: - case TSqlParser.PRIVATE_KEY: - case TSqlParser.PRIVILEGES: - case TSqlParser.PROCEDURE_NAME: - case TSqlParser.PROPERTY: - case TSqlParser.PROVIDER: - case TSqlParser.PROVIDER_KEY_NAME: - case TSqlParser.QUERY: - case TSqlParser.QUEUE: - case TSqlParser.QUEUE_DELAY: - case TSqlParser.QUOTED_IDENTIFIER: - case TSqlParser.RANGE: - case TSqlParser.RANK: - case TSqlParser.RC2: - case TSqlParser.RC4: - case TSqlParser.RC4_128: - case TSqlParser.READ_COMMITTED_SNAPSHOT: - case TSqlParser.READ_ONLY: - case TSqlParser.READ_ONLY_ROUTING_LIST: - case TSqlParser.READ_WRITE: - case TSqlParser.READONLY: - case TSqlParser.REBUILD: - case TSqlParser.RECEIVE: - case TSqlParser.RECOMPILE: - case TSqlParser.RECOVERY: - case TSqlParser.RECURSIVE_TRIGGERS: - case TSqlParser.RELATIVE: - case TSqlParser.REMOTE: - case TSqlParser.REMOTE_SERVICE_NAME: - case TSqlParser.REMOVE: - case TSqlParser.REORGANIZE: - case TSqlParser.REPEATABLE: - case TSqlParser.REPLICA: - case TSqlParser.REQUEST_MAX_CPU_TIME_SEC: - case TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT: - case TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC: - case TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: - case TSqlParser.RESERVE_DISK_SPACE: - case TSqlParser.RESOURCE: - case TSqlParser.RESOURCE_MANAGER_LOCATION: - case TSqlParser.RESTRICTED_USER: - case TSqlParser.RETENTION: - case TSqlParser.ROBUST: - case TSqlParser.ROOT: - case TSqlParser.ROUTE: - case TSqlParser.ROW: - case TSqlParser.ROW_NUMBER: - case TSqlParser.ROWGUID: - case TSqlParser.ROWS: - case TSqlParser.SAMPLE: - case TSqlParser.SCHEMABINDING: - case TSqlParser.SCOPED: - case TSqlParser.SCROLL: - case TSqlParser.SCROLL_LOCKS: - case TSqlParser.SEARCH: - case TSqlParser.SECONDARY: - case TSqlParser.SECONDARY_ONLY: - case TSqlParser.SECONDARY_ROLE: - case TSqlParser.SECONDS: - case TSqlParser.SECRET: - case TSqlParser.SECURITY: - case TSqlParser.SECURITY_LOG: - case TSqlParser.SEEDING_MODE: - case TSqlParser.SELF: - case TSqlParser.SEMI_SENSITIVE: - case TSqlParser.SEND: - case TSqlParser.SENT: - case TSqlParser.SEQUENCE: - case TSqlParser.SERIALIZABLE: - case TSqlParser.SESSION_TIMEOUT: - case TSqlParser.SETERROR: - case TSqlParser.SHARE: - case TSqlParser.SHOWPLAN: - case TSqlParser.SIGNATURE: - case TSqlParser.SIMPLE: - case TSqlParser.SINGLE_USER: - case TSqlParser.SIZE: - case TSqlParser.SMALLINT: - case TSqlParser.SNAPSHOT: - case TSqlParser.SPATIAL_WINDOW_MAX_CELLS: - case TSqlParser.STANDBY: - case TSqlParser.START_DATE: - case TSqlParser.STATIC: - case TSqlParser.STATS_STREAM: - case TSqlParser.STATUS: - case TSqlParser.STDEV: - case TSqlParser.STDEVP: - case TSqlParser.STOPLIST: - case TSqlParser.STRING_AGG: - case TSqlParser.STUFF: - case TSqlParser.SUBJECT: - case TSqlParser.SUM: - case TSqlParser.SUSPEND: - case TSqlParser.SYMMETRIC: - case TSqlParser.SYNCHRONOUS_COMMIT: - case TSqlParser.SYNONYM: - case TSqlParser.SYSTEM: - case TSqlParser.TAKE: - case TSqlParser.TARGET_RECOVERY_TIME: - case TSqlParser.TB: - case TSqlParser.TEXTIMAGE_ON: - case TSqlParser.THROW: - case TSqlParser.TIES: - case TSqlParser.TIME: - case TSqlParser.TIMEOUT: - case TSqlParser.TIMER: - case TSqlParser.TINYINT: - case TSqlParser.TORN_PAGE_DETECTION: - case TSqlParser.TRANSFORM_NOISE_WORDS: - case TSqlParser.TRIPLE_DES: - case TSqlParser.TRIPLE_DES_3KEY: - case TSqlParser.TRUSTWORTHY: - case TSqlParser.TRY: - case TSqlParser.TSQL: - case TSqlParser.TWO_DIGIT_YEAR_CUTOFF: - case TSqlParser.TYPE: - case TSqlParser.TYPE_WARNING: - case TSqlParser.UNBOUNDED: - case TSqlParser.UNCOMMITTED: - case TSqlParser.UNKNOWN: - case TSqlParser.UNLIMITED: - case TSqlParser.USING: - case TSqlParser.VALID_XML: - case TSqlParser.VALIDATION: - case TSqlParser.VALUE: - case TSqlParser.VAR: - case TSqlParser.VARP: - case TSqlParser.VIEW_METADATA: - case TSqlParser.VIEWS: - case TSqlParser.WAIT: - case TSqlParser.WELL_FORMED_XML: - case TSqlParser.WORK: - case TSqlParser.WORKLOAD: - case TSqlParser.XML: - case TSqlParser.XMLNAMESPACES: - case TSqlParser.ID: - this.enterOuterAlt(localctx, 1); - this.state = 10727; - this.simple_id(); - break; - case TSqlParser.DOUBLE_QUOTE_ID: - this.enterOuterAlt(localctx, 2); - this.state = 10728; - this.match(TSqlParser.DOUBLE_QUOTE_ID); - break; - case TSqlParser.SQUARE_BRACKET_ID: - this.enterOuterAlt(localctx, 3); - this.state = 10729; - this.match(TSqlParser.SQUARE_BRACKET_ID); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Simple_idContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_simple_id; - return this; -} - -Simple_idContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Simple_idContext.prototype.constructor = Simple_idContext; - -Simple_idContext.prototype.ID = function() { - return this.getToken(TSqlParser.ID, 0); -}; - -Simple_idContext.prototype.ABSOLUTE = function() { - return this.getToken(TSqlParser.ABSOLUTE, 0); -}; - -Simple_idContext.prototype.ACCENT_SENSITIVITY = function() { - return this.getToken(TSqlParser.ACCENT_SENSITIVITY, 0); -}; - -Simple_idContext.prototype.ACTION = function() { - return this.getToken(TSqlParser.ACTION, 0); -}; - -Simple_idContext.prototype.ACTIVATION = function() { - return this.getToken(TSqlParser.ACTIVATION, 0); -}; - -Simple_idContext.prototype.ACTIVE = function() { - return this.getToken(TSqlParser.ACTIVE, 0); -}; - -Simple_idContext.prototype.ADDRESS = function() { - return this.getToken(TSqlParser.ADDRESS, 0); -}; - -Simple_idContext.prototype.AES_128 = function() { - return this.getToken(TSqlParser.AES_128, 0); -}; - -Simple_idContext.prototype.AES_192 = function() { - return this.getToken(TSqlParser.AES_192, 0); -}; - -Simple_idContext.prototype.AES_256 = function() { - return this.getToken(TSqlParser.AES_256, 0); -}; - -Simple_idContext.prototype.AFFINITY = function() { - return this.getToken(TSqlParser.AFFINITY, 0); -}; - -Simple_idContext.prototype.AFTER = function() { - return this.getToken(TSqlParser.AFTER, 0); -}; - -Simple_idContext.prototype.AGGREGATE = function() { - return this.getToken(TSqlParser.AGGREGATE, 0); -}; - -Simple_idContext.prototype.ALGORITHM = function() { - return this.getToken(TSqlParser.ALGORITHM, 0); -}; - -Simple_idContext.prototype.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = function() { - return this.getToken(TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); -}; - -Simple_idContext.prototype.ALLOW_SNAPSHOT_ISOLATION = function() { - return this.getToken(TSqlParser.ALLOW_SNAPSHOT_ISOLATION, 0); -}; - -Simple_idContext.prototype.ALLOWED = function() { - return this.getToken(TSqlParser.ALLOWED, 0); -}; - -Simple_idContext.prototype.ANSI_NULL_DEFAULT = function() { - return this.getToken(TSqlParser.ANSI_NULL_DEFAULT, 0); -}; - -Simple_idContext.prototype.ANSI_NULLS = function() { - return this.getToken(TSqlParser.ANSI_NULLS, 0); -}; - -Simple_idContext.prototype.ANSI_PADDING = function() { - return this.getToken(TSqlParser.ANSI_PADDING, 0); -}; - -Simple_idContext.prototype.ANSI_WARNINGS = function() { - return this.getToken(TSqlParser.ANSI_WARNINGS, 0); -}; - -Simple_idContext.prototype.APPLICATION_LOG = function() { - return this.getToken(TSqlParser.APPLICATION_LOG, 0); -}; - -Simple_idContext.prototype.APPLY = function() { - return this.getToken(TSqlParser.APPLY, 0); -}; - -Simple_idContext.prototype.ARITHABORT = function() { - return this.getToken(TSqlParser.ARITHABORT, 0); -}; - -Simple_idContext.prototype.ASSEMBLY = function() { - return this.getToken(TSqlParser.ASSEMBLY, 0); -}; - -Simple_idContext.prototype.AUDIT = function() { - return this.getToken(TSqlParser.AUDIT, 0); -}; - -Simple_idContext.prototype.AUDIT_GUID = function() { - return this.getToken(TSqlParser.AUDIT_GUID, 0); -}; - -Simple_idContext.prototype.AUTO = function() { - return this.getToken(TSqlParser.AUTO, 0); -}; - -Simple_idContext.prototype.AUTO_CLEANUP = function() { - return this.getToken(TSqlParser.AUTO_CLEANUP, 0); -}; - -Simple_idContext.prototype.AUTO_CLOSE = function() { - return this.getToken(TSqlParser.AUTO_CLOSE, 0); -}; - -Simple_idContext.prototype.AUTO_CREATE_STATISTICS = function() { - return this.getToken(TSqlParser.AUTO_CREATE_STATISTICS, 0); -}; - -Simple_idContext.prototype.AUTO_SHRINK = function() { - return this.getToken(TSqlParser.AUTO_SHRINK, 0); -}; - -Simple_idContext.prototype.AUTO_UPDATE_STATISTICS = function() { - return this.getToken(TSqlParser.AUTO_UPDATE_STATISTICS, 0); -}; - -Simple_idContext.prototype.AUTO_UPDATE_STATISTICS_ASYNC = function() { - return this.getToken(TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); -}; - -Simple_idContext.prototype.AVAILABILITY = function() { - return this.getToken(TSqlParser.AVAILABILITY, 0); -}; - -Simple_idContext.prototype.AVG = function() { - return this.getToken(TSqlParser.AVG, 0); -}; - -Simple_idContext.prototype.BACKUP_PRIORITY = function() { - return this.getToken(TSqlParser.BACKUP_PRIORITY, 0); -}; - -Simple_idContext.prototype.BEGIN_DIALOG = function() { - return this.getToken(TSqlParser.BEGIN_DIALOG, 0); -}; - -Simple_idContext.prototype.BIGINT = function() { - return this.getToken(TSqlParser.BIGINT, 0); -}; - -Simple_idContext.prototype.BINARY_BASE64 = function() { - return this.getToken(TSqlParser.BINARY_BASE64, 0); -}; - -Simple_idContext.prototype.BINARY_CHECKSUM = function() { - return this.getToken(TSqlParser.BINARY_CHECKSUM, 0); -}; - -Simple_idContext.prototype.BINDING = function() { - return this.getToken(TSqlParser.BINDING, 0); -}; - -Simple_idContext.prototype.BLOB_STORAGE = function() { - return this.getToken(TSqlParser.BLOB_STORAGE, 0); -}; - -Simple_idContext.prototype.BROKER = function() { - return this.getToken(TSqlParser.BROKER, 0); -}; - -Simple_idContext.prototype.BROKER_INSTANCE = function() { - return this.getToken(TSqlParser.BROKER_INSTANCE, 0); -}; - -Simple_idContext.prototype.BULK_LOGGED = function() { - return this.getToken(TSqlParser.BULK_LOGGED, 0); -}; - -Simple_idContext.prototype.CALLED = function() { - return this.getToken(TSqlParser.CALLED, 0); -}; - -Simple_idContext.prototype.CALLER = function() { - return this.getToken(TSqlParser.CALLER, 0); -}; - -Simple_idContext.prototype.CAP_CPU_PERCENT = function() { - return this.getToken(TSqlParser.CAP_CPU_PERCENT, 0); -}; - -Simple_idContext.prototype.CAST = function() { - return this.getToken(TSqlParser.CAST, 0); -}; - -Simple_idContext.prototype.CATALOG = function() { - return this.getToken(TSqlParser.CATALOG, 0); -}; - -Simple_idContext.prototype.CATCH = function() { - return this.getToken(TSqlParser.CATCH, 0); -}; - -Simple_idContext.prototype.CHANGE_RETENTION = function() { - return this.getToken(TSqlParser.CHANGE_RETENTION, 0); -}; - -Simple_idContext.prototype.CHANGE_TRACKING = function() { - return this.getToken(TSqlParser.CHANGE_TRACKING, 0); -}; - -Simple_idContext.prototype.CHECKSUM = function() { - return this.getToken(TSqlParser.CHECKSUM, 0); -}; - -Simple_idContext.prototype.CHECKSUM_AGG = function() { - return this.getToken(TSqlParser.CHECKSUM_AGG, 0); -}; - -Simple_idContext.prototype.CLEANUP = function() { - return this.getToken(TSqlParser.CLEANUP, 0); -}; - -Simple_idContext.prototype.COLLECTION = function() { - return this.getToken(TSqlParser.COLLECTION, 0); -}; - -Simple_idContext.prototype.COLUMN_MASTER_KEY = function() { - return this.getToken(TSqlParser.COLUMN_MASTER_KEY, 0); -}; - -Simple_idContext.prototype.COMMITTED = function() { - return this.getToken(TSqlParser.COMMITTED, 0); -}; - -Simple_idContext.prototype.COMPATIBILITY_LEVEL = function() { - return this.getToken(TSqlParser.COMPATIBILITY_LEVEL, 0); -}; - -Simple_idContext.prototype.CONCAT = function() { - return this.getToken(TSqlParser.CONCAT, 0); -}; - -Simple_idContext.prototype.CONCAT_NULL_YIELDS_NULL = function() { - return this.getToken(TSqlParser.CONCAT_NULL_YIELDS_NULL, 0); -}; - -Simple_idContext.prototype.CONTENT = function() { - return this.getToken(TSqlParser.CONTENT, 0); -}; - -Simple_idContext.prototype.CONTROL = function() { - return this.getToken(TSqlParser.CONTROL, 0); -}; - -Simple_idContext.prototype.COOKIE = function() { - return this.getToken(TSqlParser.COOKIE, 0); -}; - -Simple_idContext.prototype.COUNT = function() { - return this.getToken(TSqlParser.COUNT, 0); -}; - -Simple_idContext.prototype.COUNT_BIG = function() { - return this.getToken(TSqlParser.COUNT_BIG, 0); -}; - -Simple_idContext.prototype.COUNTER = function() { - return this.getToken(TSqlParser.COUNTER, 0); -}; - -Simple_idContext.prototype.CPU = function() { - return this.getToken(TSqlParser.CPU, 0); -}; - -Simple_idContext.prototype.CREATE_NEW = function() { - return this.getToken(TSqlParser.CREATE_NEW, 0); -}; - -Simple_idContext.prototype.CREATION_DISPOSITION = function() { - return this.getToken(TSqlParser.CREATION_DISPOSITION, 0); -}; - -Simple_idContext.prototype.CREDENTIAL = function() { - return this.getToken(TSqlParser.CREDENTIAL, 0); -}; - -Simple_idContext.prototype.CRYPTOGRAPHIC = function() { - return this.getToken(TSqlParser.CRYPTOGRAPHIC, 0); -}; - -Simple_idContext.prototype.CURSOR_CLOSE_ON_COMMIT = function() { - return this.getToken(TSqlParser.CURSOR_CLOSE_ON_COMMIT, 0); -}; - -Simple_idContext.prototype.CURSOR_DEFAULT = function() { - return this.getToken(TSqlParser.CURSOR_DEFAULT, 0); -}; - -Simple_idContext.prototype.DATA = function() { - return this.getToken(TSqlParser.DATA, 0); -}; - -Simple_idContext.prototype.DATA_COMPRESSION = function() { - return this.getToken(TSqlParser.DATA_COMPRESSION, 0); -}; - -Simple_idContext.prototype.DATE_CORRELATION_OPTIMIZATION = function() { - return this.getToken(TSqlParser.DATE_CORRELATION_OPTIMIZATION, 0); -}; - -Simple_idContext.prototype.DATEADD = function() { - return this.getToken(TSqlParser.DATEADD, 0); -}; - -Simple_idContext.prototype.DATEDIFF = function() { - return this.getToken(TSqlParser.DATEDIFF, 0); -}; - -Simple_idContext.prototype.DATENAME = function() { - return this.getToken(TSqlParser.DATENAME, 0); -}; - -Simple_idContext.prototype.DATEPART = function() { - return this.getToken(TSqlParser.DATEPART, 0); -}; - -Simple_idContext.prototype.DAYS = function() { - return this.getToken(TSqlParser.DAYS, 0); -}; - -Simple_idContext.prototype.DB_CHAINING = function() { - return this.getToken(TSqlParser.DB_CHAINING, 0); -}; - -Simple_idContext.prototype.DB_FAILOVER = function() { - return this.getToken(TSqlParser.DB_FAILOVER, 0); -}; - -Simple_idContext.prototype.DECRYPTION = function() { - return this.getToken(TSqlParser.DECRYPTION, 0); -}; - -Simple_idContext.prototype.DEFAULT_DOUBLE_QUOTE = function() { - return this.getToken(TSqlParser.DEFAULT_DOUBLE_QUOTE, 0); -}; - -Simple_idContext.prototype.DEFAULT_FULLTEXT_LANGUAGE = function() { - return this.getToken(TSqlParser.DEFAULT_FULLTEXT_LANGUAGE, 0); -}; - -Simple_idContext.prototype.DEFAULT_LANGUAGE = function() { - return this.getToken(TSqlParser.DEFAULT_LANGUAGE, 0); -}; - -Simple_idContext.prototype.DELAY = function() { - return this.getToken(TSqlParser.DELAY, 0); -}; - -Simple_idContext.prototype.DELAYED_DURABILITY = function() { - return this.getToken(TSqlParser.DELAYED_DURABILITY, 0); -}; - -Simple_idContext.prototype.DELETED = function() { - return this.getToken(TSqlParser.DELETED, 0); -}; - -Simple_idContext.prototype.DENSE_RANK = function() { - return this.getToken(TSqlParser.DENSE_RANK, 0); -}; - -Simple_idContext.prototype.DEPENDENTS = function() { - return this.getToken(TSqlParser.DEPENDENTS, 0); -}; - -Simple_idContext.prototype.DES = function() { - return this.getToken(TSqlParser.DES, 0); -}; - -Simple_idContext.prototype.DESCRIPTION = function() { - return this.getToken(TSqlParser.DESCRIPTION, 0); -}; - -Simple_idContext.prototype.DESX = function() { - return this.getToken(TSqlParser.DESX, 0); -}; - -Simple_idContext.prototype.DHCP = function() { - return this.getToken(TSqlParser.DHCP, 0); -}; - -Simple_idContext.prototype.DIALOG = function() { - return this.getToken(TSqlParser.DIALOG, 0); -}; - -Simple_idContext.prototype.DIRECTORY_NAME = function() { - return this.getToken(TSqlParser.DIRECTORY_NAME, 0); -}; - -Simple_idContext.prototype.DISABLE = function() { - return this.getToken(TSqlParser.DISABLE, 0); -}; - -Simple_idContext.prototype.DISABLE_BROKER = function() { - return this.getToken(TSqlParser.DISABLE_BROKER, 0); -}; - -Simple_idContext.prototype.DISABLED = function() { - return this.getToken(TSqlParser.DISABLED, 0); -}; - -Simple_idContext.prototype.DISK_DRIVE = function() { - return this.getToken(TSqlParser.DISK_DRIVE, 0); -}; - -Simple_idContext.prototype.DOCUMENT = function() { - return this.getToken(TSqlParser.DOCUMENT, 0); -}; - -Simple_idContext.prototype.DYNAMIC = function() { - return this.getToken(TSqlParser.DYNAMIC, 0); -}; - -Simple_idContext.prototype.EMERGENCY = function() { - return this.getToken(TSqlParser.EMERGENCY, 0); -}; - -Simple_idContext.prototype.EMPTY = function() { - return this.getToken(TSqlParser.EMPTY, 0); -}; - -Simple_idContext.prototype.ENABLE = function() { - return this.getToken(TSqlParser.ENABLE, 0); -}; - -Simple_idContext.prototype.ENABLE_BROKER = function() { - return this.getToken(TSqlParser.ENABLE_BROKER, 0); -}; - -Simple_idContext.prototype.ENCRYPTED_VALUE = function() { - return this.getToken(TSqlParser.ENCRYPTED_VALUE, 0); -}; - -Simple_idContext.prototype.ENCRYPTION = function() { - return this.getToken(TSqlParser.ENCRYPTION, 0); -}; - -Simple_idContext.prototype.ENDPOINT_URL = function() { - return this.getToken(TSqlParser.ENDPOINT_URL, 0); -}; - -Simple_idContext.prototype.ERROR_BROKER_CONVERSATIONS = function() { - return this.getToken(TSqlParser.ERROR_BROKER_CONVERSATIONS, 0); -}; - -Simple_idContext.prototype.EVENTDATA = function() { - return this.getToken(TSqlParser.EVENTDATA, 0); -}; - -Simple_idContext.prototype.EXCLUSIVE = function() { - return this.getToken(TSqlParser.EXCLUSIVE, 0); -}; - -Simple_idContext.prototype.EXECUTABLE = function() { - return this.getToken(TSqlParser.EXECUTABLE, 0); -}; - -Simple_idContext.prototype.EXIST = function() { - return this.getToken(TSqlParser.EXIST, 0); -}; - -Simple_idContext.prototype.EXPAND = function() { - return this.getToken(TSqlParser.EXPAND, 0); -}; - -Simple_idContext.prototype.EXPIRY_DATE = function() { - return this.getToken(TSqlParser.EXPIRY_DATE, 0); -}; - -Simple_idContext.prototype.EXPLICIT = function() { - return this.getToken(TSqlParser.EXPLICIT, 0); -}; - -Simple_idContext.prototype.FAIL_OPERATION = function() { - return this.getToken(TSqlParser.FAIL_OPERATION, 0); -}; - -Simple_idContext.prototype.FAILOVER_MODE = function() { - return this.getToken(TSqlParser.FAILOVER_MODE, 0); -}; - -Simple_idContext.prototype.FAILURE = function() { - return this.getToken(TSqlParser.FAILURE, 0); -}; - -Simple_idContext.prototype.FAILURE_CONDITION_LEVEL = function() { - return this.getToken(TSqlParser.FAILURE_CONDITION_LEVEL, 0); -}; - -Simple_idContext.prototype.FAST = function() { - return this.getToken(TSqlParser.FAST, 0); -}; - -Simple_idContext.prototype.FAST_FORWARD = function() { - return this.getToken(TSqlParser.FAST_FORWARD, 0); -}; - -Simple_idContext.prototype.FILEGROUP = function() { - return this.getToken(TSqlParser.FILEGROUP, 0); -}; - -Simple_idContext.prototype.FILEGROWTH = function() { - return this.getToken(TSqlParser.FILEGROWTH, 0); -}; - -Simple_idContext.prototype.FILENAME = function() { - return this.getToken(TSqlParser.FILENAME, 0); -}; - -Simple_idContext.prototype.FILEPATH = function() { - return this.getToken(TSqlParser.FILEPATH, 0); -}; - -Simple_idContext.prototype.FILESTREAM = function() { - return this.getToken(TSqlParser.FILESTREAM, 0); -}; - -Simple_idContext.prototype.FILLFACTOR = function() { - return this.getToken(TSqlParser.FILLFACTOR, 0); -}; - -Simple_idContext.prototype.FILTER = function() { - return this.getToken(TSqlParser.FILTER, 0); -}; - -Simple_idContext.prototype.FIRST = function() { - return this.getToken(TSqlParser.FIRST, 0); -}; - -Simple_idContext.prototype.FIRST_VALUE = function() { - return this.getToken(TSqlParser.FIRST_VALUE, 0); -}; - -Simple_idContext.prototype.FOLLOWING = function() { - return this.getToken(TSqlParser.FOLLOWING, 0); -}; - -Simple_idContext.prototype.FORCE = function() { - return this.getToken(TSqlParser.FORCE, 0); -}; - -Simple_idContext.prototype.FORCE_FAILOVER_ALLOW_DATA_LOSS = function() { - return this.getToken(TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); -}; - -Simple_idContext.prototype.FORCED = function() { - return this.getToken(TSqlParser.FORCED, 0); -}; - -Simple_idContext.prototype.FORCESEEK = function() { - return this.getToken(TSqlParser.FORCESEEK, 0); -}; - -Simple_idContext.prototype.FORMAT = function() { - return this.getToken(TSqlParser.FORMAT, 0); -}; - -Simple_idContext.prototype.FORWARD_ONLY = function() { - return this.getToken(TSqlParser.FORWARD_ONLY, 0); -}; - -Simple_idContext.prototype.FULLSCAN = function() { - return this.getToken(TSqlParser.FULLSCAN, 0); -}; - -Simple_idContext.prototype.FULLTEXT = function() { - return this.getToken(TSqlParser.FULLTEXT, 0); -}; - -Simple_idContext.prototype.GB = function() { - return this.getToken(TSqlParser.GB, 0); -}; - -Simple_idContext.prototype.GETDATE = function() { - return this.getToken(TSqlParser.GETDATE, 0); -}; - -Simple_idContext.prototype.GETUTCDATE = function() { - return this.getToken(TSqlParser.GETUTCDATE, 0); -}; - -Simple_idContext.prototype.GLOBAL = function() { - return this.getToken(TSqlParser.GLOBAL, 0); -}; - -Simple_idContext.prototype.GO = function() { - return this.getToken(TSqlParser.GO, 0); -}; - -Simple_idContext.prototype.GROUP_MAX_REQUESTS = function() { - return this.getToken(TSqlParser.GROUP_MAX_REQUESTS, 0); -}; - -Simple_idContext.prototype.GROUPING = function() { - return this.getToken(TSqlParser.GROUPING, 0); -}; - -Simple_idContext.prototype.GROUPING_ID = function() { - return this.getToken(TSqlParser.GROUPING_ID, 0); -}; - -Simple_idContext.prototype.HADR = function() { - return this.getToken(TSqlParser.HADR, 0); -}; - -Simple_idContext.prototype.HASH = function() { - return this.getToken(TSqlParser.HASH, 0); -}; - -Simple_idContext.prototype.HEALTH_CHECK_TIMEOUT = function() { - return this.getToken(TSqlParser.HEALTH_CHECK_TIMEOUT, 0); -}; - -Simple_idContext.prototype.HIGH = function() { - return this.getToken(TSqlParser.HIGH, 0); -}; - -Simple_idContext.prototype.HONOR_BROKER_PRIORITY = function() { - return this.getToken(TSqlParser.HONOR_BROKER_PRIORITY, 0); -}; - -Simple_idContext.prototype.HOURS = function() { - return this.getToken(TSqlParser.HOURS, 0); -}; - -Simple_idContext.prototype.IDENTITY_VALUE = function() { - return this.getToken(TSqlParser.IDENTITY_VALUE, 0); -}; - -Simple_idContext.prototype.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX = function() { - return this.getToken(TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX, 0); -}; - -Simple_idContext.prototype.IMMEDIATE = function() { - return this.getToken(TSqlParser.IMMEDIATE, 0); -}; - -Simple_idContext.prototype.IMPERSONATE = function() { - return this.getToken(TSqlParser.IMPERSONATE, 0); -}; - -Simple_idContext.prototype.IMPORTANCE = function() { - return this.getToken(TSqlParser.IMPORTANCE, 0); -}; - -Simple_idContext.prototype.INCREMENTAL = function() { - return this.getToken(TSqlParser.INCREMENTAL, 0); -}; - -Simple_idContext.prototype.INIT = function() { - return this.getToken(TSqlParser.INIT, 0); -}; - -Simple_idContext.prototype.INITIATOR = function() { - return this.getToken(TSqlParser.INITIATOR, 0); -}; - -Simple_idContext.prototype.INPUT = function() { - return this.getToken(TSqlParser.INPUT, 0); -}; - -Simple_idContext.prototype.INSENSITIVE = function() { - return this.getToken(TSqlParser.INSENSITIVE, 0); -}; - -Simple_idContext.prototype.INSERTED = function() { - return this.getToken(TSqlParser.INSERTED, 0); -}; - -Simple_idContext.prototype.INT = function() { - return this.getToken(TSqlParser.INT, 0); -}; - -Simple_idContext.prototype.IP = function() { - return this.getToken(TSqlParser.IP, 0); -}; - -Simple_idContext.prototype.ISOLATION = function() { - return this.getToken(TSqlParser.ISOLATION, 0); -}; - -Simple_idContext.prototype.KB = function() { - return this.getToken(TSqlParser.KB, 0); -}; - -Simple_idContext.prototype.KEEP = function() { - return this.getToken(TSqlParser.KEEP, 0); -}; - -Simple_idContext.prototype.KEEPFIXED = function() { - return this.getToken(TSqlParser.KEEPFIXED, 0); -}; - -Simple_idContext.prototype.KEY = function() { - return this.getToken(TSqlParser.KEY, 0); -}; - -Simple_idContext.prototype.KEY_SOURCE = function() { - return this.getToken(TSqlParser.KEY_SOURCE, 0); -}; - -Simple_idContext.prototype.KEYS = function() { - return this.getToken(TSqlParser.KEYS, 0); -}; - -Simple_idContext.prototype.KEYSET = function() { - return this.getToken(TSqlParser.KEYSET, 0); -}; - -Simple_idContext.prototype.LAG = function() { - return this.getToken(TSqlParser.LAG, 0); -}; - -Simple_idContext.prototype.LAST = function() { - return this.getToken(TSqlParser.LAST, 0); -}; - -Simple_idContext.prototype.LAST_VALUE = function() { - return this.getToken(TSqlParser.LAST_VALUE, 0); -}; - -Simple_idContext.prototype.LEAD = function() { - return this.getToken(TSqlParser.LEAD, 0); -}; - -Simple_idContext.prototype.LEVEL = function() { - return this.getToken(TSqlParser.LEVEL, 0); -}; - -Simple_idContext.prototype.LIST = function() { - return this.getToken(TSqlParser.LIST, 0); -}; - -Simple_idContext.prototype.LISTENER = function() { - return this.getToken(TSqlParser.LISTENER, 0); -}; - -Simple_idContext.prototype.LISTENER_URL = function() { - return this.getToken(TSqlParser.LISTENER_URL, 0); -}; - -Simple_idContext.prototype.LOB_COMPACTION = function() { - return this.getToken(TSqlParser.LOB_COMPACTION, 0); -}; - -Simple_idContext.prototype.LOCAL = function() { - return this.getToken(TSqlParser.LOCAL, 0); -}; - -Simple_idContext.prototype.LOCATION = function() { - return this.getToken(TSqlParser.LOCATION, 0); -}; - -Simple_idContext.prototype.LOCK = function() { - return this.getToken(TSqlParser.LOCK, 0); -}; - -Simple_idContext.prototype.LOCK_ESCALATION = function() { - return this.getToken(TSqlParser.LOCK_ESCALATION, 0); -}; - -Simple_idContext.prototype.LOGIN = function() { - return this.getToken(TSqlParser.LOGIN, 0); -}; - -Simple_idContext.prototype.LOOP = function() { - return this.getToken(TSqlParser.LOOP, 0); -}; - -Simple_idContext.prototype.LOW = function() { - return this.getToken(TSqlParser.LOW, 0); -}; - -Simple_idContext.prototype.MANUAL = function() { - return this.getToken(TSqlParser.MANUAL, 0); -}; - -Simple_idContext.prototype.MARK = function() { - return this.getToken(TSqlParser.MARK, 0); -}; - -Simple_idContext.prototype.MASTER = function() { - return this.getToken(TSqlParser.MASTER, 0); -}; - -Simple_idContext.prototype.MATERIALIZED = function() { - return this.getToken(TSqlParser.MATERIALIZED, 0); -}; - -Simple_idContext.prototype.MAX = function() { - return this.getToken(TSqlParser.MAX, 0); -}; - -Simple_idContext.prototype.MAX_CPU_PERCENT = function() { - return this.getToken(TSqlParser.MAX_CPU_PERCENT, 0); -}; - -Simple_idContext.prototype.MAX_DOP = function() { - return this.getToken(TSqlParser.MAX_DOP, 0); -}; - -Simple_idContext.prototype.MAX_FILES = function() { - return this.getToken(TSqlParser.MAX_FILES, 0); -}; - -Simple_idContext.prototype.MAX_IOPS_PER_VOLUME = function() { - return this.getToken(TSqlParser.MAX_IOPS_PER_VOLUME, 0); -}; - -Simple_idContext.prototype.MAX_MEMORY = function() { - return this.getToken(TSqlParser.MAX_MEMORY, 0); -}; - -Simple_idContext.prototype.MAX_MEMORY_PERCENT = function() { - return this.getToken(TSqlParser.MAX_MEMORY_PERCENT, 0); -}; - -Simple_idContext.prototype.MAX_PROCESSES = function() { - return this.getToken(TSqlParser.MAX_PROCESSES, 0); -}; - -Simple_idContext.prototype.MAX_QUEUE_READERS = function() { - return this.getToken(TSqlParser.MAX_QUEUE_READERS, 0); -}; - -Simple_idContext.prototype.MAX_ROLLOVER_FILES = function() { - return this.getToken(TSqlParser.MAX_ROLLOVER_FILES, 0); -}; - -Simple_idContext.prototype.MAXDOP = function() { - return this.getToken(TSqlParser.MAXDOP, 0); -}; - -Simple_idContext.prototype.MAXRECURSION = function() { - return this.getToken(TSqlParser.MAXRECURSION, 0); -}; - -Simple_idContext.prototype.MAXSIZE = function() { - return this.getToken(TSqlParser.MAXSIZE, 0); -}; - -Simple_idContext.prototype.MB = function() { - return this.getToken(TSqlParser.MB, 0); -}; - -Simple_idContext.prototype.MEDIUM = function() { - return this.getToken(TSqlParser.MEDIUM, 0); -}; - -Simple_idContext.prototype.MEMORY_OPTIMIZED_DATA = function() { - return this.getToken(TSqlParser.MEMORY_OPTIMIZED_DATA, 0); -}; - -Simple_idContext.prototype.MESSAGE = function() { - return this.getToken(TSqlParser.MESSAGE, 0); -}; - -Simple_idContext.prototype.MIN = function() { - return this.getToken(TSqlParser.MIN, 0); -}; - -Simple_idContext.prototype.MIN_ACTIVE_ROWVERSION = function() { - return this.getToken(TSqlParser.MIN_ACTIVE_ROWVERSION, 0); -}; - -Simple_idContext.prototype.MIN_CPU_PERCENT = function() { - return this.getToken(TSqlParser.MIN_CPU_PERCENT, 0); -}; - -Simple_idContext.prototype.MIN_IOPS_PER_VOLUME = function() { - return this.getToken(TSqlParser.MIN_IOPS_PER_VOLUME, 0); -}; - -Simple_idContext.prototype.MIN_MEMORY_PERCENT = function() { - return this.getToken(TSqlParser.MIN_MEMORY_PERCENT, 0); -}; - -Simple_idContext.prototype.MINUTES = function() { - return this.getToken(TSqlParser.MINUTES, 0); -}; - -Simple_idContext.prototype.MIRROR_ADDRESS = function() { - return this.getToken(TSqlParser.MIRROR_ADDRESS, 0); -}; - -Simple_idContext.prototype.MIXED_PAGE_ALLOCATION = function() { - return this.getToken(TSqlParser.MIXED_PAGE_ALLOCATION, 0); -}; - -Simple_idContext.prototype.MODE = function() { - return this.getToken(TSqlParser.MODE, 0); -}; - -Simple_idContext.prototype.MODIFY = function() { - return this.getToken(TSqlParser.MODIFY, 0); -}; - -Simple_idContext.prototype.MOVE = function() { - return this.getToken(TSqlParser.MOVE, 0); -}; - -Simple_idContext.prototype.MULTI_USER = function() { - return this.getToken(TSqlParser.MULTI_USER, 0); -}; - -Simple_idContext.prototype.NAME = function() { - return this.getToken(TSqlParser.NAME, 0); -}; - -Simple_idContext.prototype.NESTED_TRIGGERS = function() { - return this.getToken(TSqlParser.NESTED_TRIGGERS, 0); -}; - -Simple_idContext.prototype.NEW_ACCOUNT = function() { - return this.getToken(TSqlParser.NEW_ACCOUNT, 0); -}; - -Simple_idContext.prototype.NEW_BROKER = function() { - return this.getToken(TSqlParser.NEW_BROKER, 0); -}; - -Simple_idContext.prototype.NEW_PASSWORD = function() { - return this.getToken(TSqlParser.NEW_PASSWORD, 0); -}; - -Simple_idContext.prototype.NEXT = function() { - return this.getToken(TSqlParser.NEXT, 0); -}; - -Simple_idContext.prototype.NO = function() { - return this.getToken(TSqlParser.NO, 0); -}; - -Simple_idContext.prototype.NO_TRUNCATE = function() { - return this.getToken(TSqlParser.NO_TRUNCATE, 0); -}; - -Simple_idContext.prototype.NO_WAIT = function() { - return this.getToken(TSqlParser.NO_WAIT, 0); -}; - -Simple_idContext.prototype.NOCOUNT = function() { - return this.getToken(TSqlParser.NOCOUNT, 0); -}; - -Simple_idContext.prototype.NODES = function() { - return this.getToken(TSqlParser.NODES, 0); -}; - -Simple_idContext.prototype.NOEXPAND = function() { - return this.getToken(TSqlParser.NOEXPAND, 0); -}; - -Simple_idContext.prototype.NON_TRANSACTED_ACCESS = function() { - return this.getToken(TSqlParser.NON_TRANSACTED_ACCESS, 0); -}; - -Simple_idContext.prototype.NORECOMPUTE = function() { - return this.getToken(TSqlParser.NORECOMPUTE, 0); -}; - -Simple_idContext.prototype.NORECOVERY = function() { - return this.getToken(TSqlParser.NORECOVERY, 0); -}; - -Simple_idContext.prototype.NOWAIT = function() { - return this.getToken(TSqlParser.NOWAIT, 0); -}; - -Simple_idContext.prototype.NTILE = function() { - return this.getToken(TSqlParser.NTILE, 0); -}; - -Simple_idContext.prototype.NUMANODE = function() { - return this.getToken(TSqlParser.NUMANODE, 0); -}; - -Simple_idContext.prototype.NUMBER = function() { - return this.getToken(TSqlParser.NUMBER, 0); -}; - -Simple_idContext.prototype.NUMERIC_ROUNDABORT = function() { - return this.getToken(TSqlParser.NUMERIC_ROUNDABORT, 0); -}; - -Simple_idContext.prototype.OBJECT = function() { - return this.getToken(TSqlParser.OBJECT, 0); -}; - -Simple_idContext.prototype.OFFLINE = function() { - return this.getToken(TSqlParser.OFFLINE, 0); -}; - -Simple_idContext.prototype.OFFSET = function() { - return this.getToken(TSqlParser.OFFSET, 0); -}; - -Simple_idContext.prototype.OFFSETS = function() { - return this.getToken(TSqlParser.OFFSETS, 0); -}; - -Simple_idContext.prototype.OLD_ACCOUNT = function() { - return this.getToken(TSqlParser.OLD_ACCOUNT, 0); -}; - -Simple_idContext.prototype.ONLINE = function() { - return this.getToken(TSqlParser.ONLINE, 0); -}; - -Simple_idContext.prototype.ONLY = function() { - return this.getToken(TSqlParser.ONLY, 0); -}; - -Simple_idContext.prototype.OPEN_EXISTING = function() { - return this.getToken(TSqlParser.OPEN_EXISTING, 0); -}; - -Simple_idContext.prototype.OPTIMISTIC = function() { - return this.getToken(TSqlParser.OPTIMISTIC, 0); -}; - -Simple_idContext.prototype.OPTIMIZE = function() { - return this.getToken(TSqlParser.OPTIMIZE, 0); -}; - -Simple_idContext.prototype.OUT = function() { - return this.getToken(TSqlParser.OUT, 0); -}; - -Simple_idContext.prototype.OUTPUT = function() { - return this.getToken(TSqlParser.OUTPUT, 0); -}; - -Simple_idContext.prototype.OWNER = function() { - return this.getToken(TSqlParser.OWNER, 0); -}; - -Simple_idContext.prototype.PAGE = function() { - return this.getToken(TSqlParser.PAGE, 0); -}; - -Simple_idContext.prototype.PAGE_VERIFY = function() { - return this.getToken(TSqlParser.PAGE_VERIFY, 0); -}; - -Simple_idContext.prototype.PARAMETERIZATION = function() { - return this.getToken(TSqlParser.PARAMETERIZATION, 0); -}; - -Simple_idContext.prototype.PARTITION = function() { - return this.getToken(TSqlParser.PARTITION, 0); -}; - -Simple_idContext.prototype.PARTITIONS = function() { - return this.getToken(TSqlParser.PARTITIONS, 0); -}; - -Simple_idContext.prototype.PARTNER = function() { - return this.getToken(TSqlParser.PARTNER, 0); -}; - -Simple_idContext.prototype.PATH = function() { - return this.getToken(TSqlParser.PATH, 0); -}; - -Simple_idContext.prototype.POISON_MESSAGE_HANDLING = function() { - return this.getToken(TSqlParser.POISON_MESSAGE_HANDLING, 0); -}; - -Simple_idContext.prototype.POOL = function() { - return this.getToken(TSqlParser.POOL, 0); -}; - -Simple_idContext.prototype.PORT = function() { - return this.getToken(TSqlParser.PORT, 0); -}; - -Simple_idContext.prototype.PRECEDING = function() { - return this.getToken(TSqlParser.PRECEDING, 0); -}; - -Simple_idContext.prototype.PRIMARY_ROLE = function() { - return this.getToken(TSqlParser.PRIMARY_ROLE, 0); -}; - -Simple_idContext.prototype.PRIOR = function() { - return this.getToken(TSqlParser.PRIOR, 0); -}; - -Simple_idContext.prototype.PRIORITY = function() { - return this.getToken(TSqlParser.PRIORITY, 0); -}; - -Simple_idContext.prototype.PRIORITY_LEVEL = function() { - return this.getToken(TSqlParser.PRIORITY_LEVEL, 0); -}; - -Simple_idContext.prototype.PRIVATE = function() { - return this.getToken(TSqlParser.PRIVATE, 0); -}; - -Simple_idContext.prototype.PRIVATE_KEY = function() { - return this.getToken(TSqlParser.PRIVATE_KEY, 0); -}; - -Simple_idContext.prototype.PRIVILEGES = function() { - return this.getToken(TSqlParser.PRIVILEGES, 0); -}; - -Simple_idContext.prototype.PROCEDURE_NAME = function() { - return this.getToken(TSqlParser.PROCEDURE_NAME, 0); -}; - -Simple_idContext.prototype.PROPERTY = function() { - return this.getToken(TSqlParser.PROPERTY, 0); -}; - -Simple_idContext.prototype.PROVIDER = function() { - return this.getToken(TSqlParser.PROVIDER, 0); -}; - -Simple_idContext.prototype.PROVIDER_KEY_NAME = function() { - return this.getToken(TSqlParser.PROVIDER_KEY_NAME, 0); -}; - -Simple_idContext.prototype.PUBLIC = function() { - return this.getToken(TSqlParser.PUBLIC, 0); -}; - -Simple_idContext.prototype.QUERY = function() { - return this.getToken(TSqlParser.QUERY, 0); -}; - -Simple_idContext.prototype.QUEUE = function() { - return this.getToken(TSqlParser.QUEUE, 0); -}; - -Simple_idContext.prototype.QUEUE_DELAY = function() { - return this.getToken(TSqlParser.QUEUE_DELAY, 0); -}; - -Simple_idContext.prototype.QUOTED_IDENTIFIER = function() { - return this.getToken(TSqlParser.QUOTED_IDENTIFIER, 0); -}; - -Simple_idContext.prototype.R = function() { - return this.getToken(TSqlParser.R, 0); -}; - -Simple_idContext.prototype.RANGE = function() { - return this.getToken(TSqlParser.RANGE, 0); -}; - -Simple_idContext.prototype.RANK = function() { - return this.getToken(TSqlParser.RANK, 0); -}; - -Simple_idContext.prototype.RAW = function() { - return this.getToken(TSqlParser.RAW, 0); -}; - -Simple_idContext.prototype.RC2 = function() { - return this.getToken(TSqlParser.RC2, 0); -}; - -Simple_idContext.prototype.RC4 = function() { - return this.getToken(TSqlParser.RC4, 0); -}; - -Simple_idContext.prototype.RC4_128 = function() { - return this.getToken(TSqlParser.RC4_128, 0); -}; - -Simple_idContext.prototype.READ_COMMITTED_SNAPSHOT = function() { - return this.getToken(TSqlParser.READ_COMMITTED_SNAPSHOT, 0); -}; - -Simple_idContext.prototype.READ_ONLY = function() { - return this.getToken(TSqlParser.READ_ONLY, 0); -}; - -Simple_idContext.prototype.READ_ONLY_ROUTING_LIST = function() { - return this.getToken(TSqlParser.READ_ONLY_ROUTING_LIST, 0); -}; - -Simple_idContext.prototype.READ_WRITE = function() { - return this.getToken(TSqlParser.READ_WRITE, 0); -}; - -Simple_idContext.prototype.READONLY = function() { - return this.getToken(TSqlParser.READONLY, 0); -}; - -Simple_idContext.prototype.REBUILD = function() { - return this.getToken(TSqlParser.REBUILD, 0); -}; - -Simple_idContext.prototype.RECEIVE = function() { - return this.getToken(TSqlParser.RECEIVE, 0); -}; - -Simple_idContext.prototype.RECOMPILE = function() { - return this.getToken(TSqlParser.RECOMPILE, 0); -}; - -Simple_idContext.prototype.RECOVERY = function() { - return this.getToken(TSqlParser.RECOVERY, 0); -}; - -Simple_idContext.prototype.RECURSIVE_TRIGGERS = function() { - return this.getToken(TSqlParser.RECURSIVE_TRIGGERS, 0); -}; - -Simple_idContext.prototype.RELATIVE = function() { - return this.getToken(TSqlParser.RELATIVE, 0); -}; - -Simple_idContext.prototype.REMOTE = function() { - return this.getToken(TSqlParser.REMOTE, 0); -}; - -Simple_idContext.prototype.REMOTE_SERVICE_NAME = function() { - return this.getToken(TSqlParser.REMOTE_SERVICE_NAME, 0); -}; - -Simple_idContext.prototype.REMOVE = function() { - return this.getToken(TSqlParser.REMOVE, 0); -}; - -Simple_idContext.prototype.REORGANIZE = function() { - return this.getToken(TSqlParser.REORGANIZE, 0); -}; - -Simple_idContext.prototype.REPEATABLE = function() { - return this.getToken(TSqlParser.REPEATABLE, 0); -}; - -Simple_idContext.prototype.REPLICA = function() { - return this.getToken(TSqlParser.REPLICA, 0); -}; - -Simple_idContext.prototype.REQUEST_MAX_CPU_TIME_SEC = function() { - return this.getToken(TSqlParser.REQUEST_MAX_CPU_TIME_SEC, 0); -}; - -Simple_idContext.prototype.REQUEST_MAX_MEMORY_GRANT_PERCENT = function() { - return this.getToken(TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT, 0); -}; - -Simple_idContext.prototype.REQUEST_MEMORY_GRANT_TIMEOUT_SEC = function() { - return this.getToken(TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC, 0); -}; - -Simple_idContext.prototype.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = function() { - return this.getToken(TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT, 0); -}; - -Simple_idContext.prototype.RESERVE_DISK_SPACE = function() { - return this.getToken(TSqlParser.RESERVE_DISK_SPACE, 0); -}; - -Simple_idContext.prototype.RESOURCE = function() { - return this.getToken(TSqlParser.RESOURCE, 0); -}; - -Simple_idContext.prototype.RESOURCE_MANAGER_LOCATION = function() { - return this.getToken(TSqlParser.RESOURCE_MANAGER_LOCATION, 0); -}; - -Simple_idContext.prototype.RESTRICTED_USER = function() { - return this.getToken(TSqlParser.RESTRICTED_USER, 0); -}; - -Simple_idContext.prototype.RETENTION = function() { - return this.getToken(TSqlParser.RETENTION, 0); -}; - -Simple_idContext.prototype.RETURN = function() { - return this.getToken(TSqlParser.RETURN, 0); -}; - -Simple_idContext.prototype.RETURNS = function() { - return this.getToken(TSqlParser.RETURNS, 0); -}; - -Simple_idContext.prototype.ROBUST = function() { - return this.getToken(TSqlParser.ROBUST, 0); -}; - -Simple_idContext.prototype.ROOT = function() { - return this.getToken(TSqlParser.ROOT, 0); -}; - -Simple_idContext.prototype.ROUTE = function() { - return this.getToken(TSqlParser.ROUTE, 0); -}; - -Simple_idContext.prototype.ROW = function() { - return this.getToken(TSqlParser.ROW, 0); -}; - -Simple_idContext.prototype.ROW_NUMBER = function() { - return this.getToken(TSqlParser.ROW_NUMBER, 0); -}; - -Simple_idContext.prototype.ROWCOUNT = function() { - return this.getToken(TSqlParser.ROWCOUNT, 0); -}; - -Simple_idContext.prototype.ROWGUID = function() { - return this.getToken(TSqlParser.ROWGUID, 0); -}; - -Simple_idContext.prototype.ROWS = function() { - return this.getToken(TSqlParser.ROWS, 0); -}; - -Simple_idContext.prototype.SAFETY = function() { - return this.getToken(TSqlParser.SAFETY, 0); -}; - -Simple_idContext.prototype.SAMPLE = function() { - return this.getToken(TSqlParser.SAMPLE, 0); -}; - -Simple_idContext.prototype.SCHEMABINDING = function() { - return this.getToken(TSqlParser.SCHEMABINDING, 0); -}; - -Simple_idContext.prototype.SCOPED = function() { - return this.getToken(TSqlParser.SCOPED, 0); -}; - -Simple_idContext.prototype.SCROLL = function() { - return this.getToken(TSqlParser.SCROLL, 0); -}; - -Simple_idContext.prototype.SCROLL_LOCKS = function() { - return this.getToken(TSqlParser.SCROLL_LOCKS, 0); -}; - -Simple_idContext.prototype.SEARCH = function() { - return this.getToken(TSqlParser.SEARCH, 0); -}; - -Simple_idContext.prototype.SECONDARY = function() { - return this.getToken(TSqlParser.SECONDARY, 0); -}; - -Simple_idContext.prototype.SECONDARY_ONLY = function() { - return this.getToken(TSqlParser.SECONDARY_ONLY, 0); -}; - -Simple_idContext.prototype.SECONDARY_ROLE = function() { - return this.getToken(TSqlParser.SECONDARY_ROLE, 0); -}; - -Simple_idContext.prototype.SECONDS = function() { - return this.getToken(TSqlParser.SECONDS, 0); -}; - -Simple_idContext.prototype.SECRET = function() { - return this.getToken(TSqlParser.SECRET, 0); -}; - -Simple_idContext.prototype.SECURITY = function() { - return this.getToken(TSqlParser.SECURITY, 0); -}; - -Simple_idContext.prototype.SECURITY_LOG = function() { - return this.getToken(TSqlParser.SECURITY_LOG, 0); -}; - -Simple_idContext.prototype.SEEDING_MODE = function() { - return this.getToken(TSqlParser.SEEDING_MODE, 0); -}; - -Simple_idContext.prototype.SELF = function() { - return this.getToken(TSqlParser.SELF, 0); -}; - -Simple_idContext.prototype.SEMI_SENSITIVE = function() { - return this.getToken(TSqlParser.SEMI_SENSITIVE, 0); -}; - -Simple_idContext.prototype.SEND = function() { - return this.getToken(TSqlParser.SEND, 0); -}; - -Simple_idContext.prototype.SENT = function() { - return this.getToken(TSqlParser.SENT, 0); -}; - -Simple_idContext.prototype.SEQUENCE = function() { - return this.getToken(TSqlParser.SEQUENCE, 0); -}; - -Simple_idContext.prototype.SERIALIZABLE = function() { - return this.getToken(TSqlParser.SERIALIZABLE, 0); -}; - -Simple_idContext.prototype.SERVER = function() { - return this.getToken(TSqlParser.SERVER, 0); -}; - -Simple_idContext.prototype.SESSION_TIMEOUT = function() { - return this.getToken(TSqlParser.SESSION_TIMEOUT, 0); -}; - -Simple_idContext.prototype.SETERROR = function() { - return this.getToken(TSqlParser.SETERROR, 0); -}; - -Simple_idContext.prototype.SHARE = function() { - return this.getToken(TSqlParser.SHARE, 0); -}; - -Simple_idContext.prototype.SHOWPLAN = function() { - return this.getToken(TSqlParser.SHOWPLAN, 0); -}; - -Simple_idContext.prototype.SID = function() { - return this.getToken(TSqlParser.SID, 0); -}; - -Simple_idContext.prototype.SIGNATURE = function() { - return this.getToken(TSqlParser.SIGNATURE, 0); -}; - -Simple_idContext.prototype.SIMPLE = function() { - return this.getToken(TSqlParser.SIMPLE, 0); -}; - -Simple_idContext.prototype.SINGLE_USER = function() { - return this.getToken(TSqlParser.SINGLE_USER, 0); -}; - -Simple_idContext.prototype.SIZE = function() { - return this.getToken(TSqlParser.SIZE, 0); -}; - -Simple_idContext.prototype.SMALLINT = function() { - return this.getToken(TSqlParser.SMALLINT, 0); -}; - -Simple_idContext.prototype.SNAPSHOT = function() { - return this.getToken(TSqlParser.SNAPSHOT, 0); -}; - -Simple_idContext.prototype.SOURCE = function() { - return this.getToken(TSqlParser.SOURCE, 0); -}; - -Simple_idContext.prototype.SPATIAL_WINDOW_MAX_CELLS = function() { - return this.getToken(TSqlParser.SPATIAL_WINDOW_MAX_CELLS, 0); -}; - -Simple_idContext.prototype.SPLIT = function() { - return this.getToken(TSqlParser.SPLIT, 0); -}; - -Simple_idContext.prototype.STANDBY = function() { - return this.getToken(TSqlParser.STANDBY, 0); -}; - -Simple_idContext.prototype.START = function() { - return this.getToken(TSqlParser.START, 0); -}; - -Simple_idContext.prototype.START_DATE = function() { - return this.getToken(TSqlParser.START_DATE, 0); -}; - -Simple_idContext.prototype.STATE = function() { - return this.getToken(TSqlParser.STATE, 0); -}; - -Simple_idContext.prototype.STATIC = function() { - return this.getToken(TSqlParser.STATIC, 0); -}; - -Simple_idContext.prototype.STATS_STREAM = function() { - return this.getToken(TSqlParser.STATS_STREAM, 0); -}; - -Simple_idContext.prototype.STATUS = function() { - return this.getToken(TSqlParser.STATUS, 0); -}; - -Simple_idContext.prototype.STDEV = function() { - return this.getToken(TSqlParser.STDEV, 0); -}; - -Simple_idContext.prototype.STDEVP = function() { - return this.getToken(TSqlParser.STDEVP, 0); -}; - -Simple_idContext.prototype.STOPLIST = function() { - return this.getToken(TSqlParser.STOPLIST, 0); -}; - -Simple_idContext.prototype.STRING_AGG = function() { - return this.getToken(TSqlParser.STRING_AGG, 0); -}; - -Simple_idContext.prototype.STUFF = function() { - return this.getToken(TSqlParser.STUFF, 0); -}; - -Simple_idContext.prototype.SUBJECT = function() { - return this.getToken(TSqlParser.SUBJECT, 0); -}; - -Simple_idContext.prototype.SUM = function() { - return this.getToken(TSqlParser.SUM, 0); -}; - -Simple_idContext.prototype.SUSPEND = function() { - return this.getToken(TSqlParser.SUSPEND, 0); -}; - -Simple_idContext.prototype.SYMMETRIC = function() { - return this.getToken(TSqlParser.SYMMETRIC, 0); -}; - -Simple_idContext.prototype.SYNCHRONOUS_COMMIT = function() { - return this.getToken(TSqlParser.SYNCHRONOUS_COMMIT, 0); -}; - -Simple_idContext.prototype.SYNONYM = function() { - return this.getToken(TSqlParser.SYNONYM, 0); -}; - -Simple_idContext.prototype.SYSTEM = function() { - return this.getToken(TSqlParser.SYSTEM, 0); -}; - -Simple_idContext.prototype.TAKE = function() { - return this.getToken(TSqlParser.TAKE, 0); -}; - -Simple_idContext.prototype.TARGET = function() { - return this.getToken(TSqlParser.TARGET, 0); -}; - -Simple_idContext.prototype.TARGET_RECOVERY_TIME = function() { - return this.getToken(TSqlParser.TARGET_RECOVERY_TIME, 0); -}; - -Simple_idContext.prototype.TB = function() { - return this.getToken(TSqlParser.TB, 0); -}; - -Simple_idContext.prototype.TEXTIMAGE_ON = function() { - return this.getToken(TSqlParser.TEXTIMAGE_ON, 0); -}; - -Simple_idContext.prototype.THROW = function() { - return this.getToken(TSqlParser.THROW, 0); -}; - -Simple_idContext.prototype.TIES = function() { - return this.getToken(TSqlParser.TIES, 0); -}; - -Simple_idContext.prototype.TIME = function() { - return this.getToken(TSqlParser.TIME, 0); -}; - -Simple_idContext.prototype.TIMEOUT = function() { - return this.getToken(TSqlParser.TIMEOUT, 0); -}; - -Simple_idContext.prototype.TIMER = function() { - return this.getToken(TSqlParser.TIMER, 0); -}; - -Simple_idContext.prototype.TINYINT = function() { - return this.getToken(TSqlParser.TINYINT, 0); -}; - -Simple_idContext.prototype.TORN_PAGE_DETECTION = function() { - return this.getToken(TSqlParser.TORN_PAGE_DETECTION, 0); -}; - -Simple_idContext.prototype.TRANSFORM_NOISE_WORDS = function() { - return this.getToken(TSqlParser.TRANSFORM_NOISE_WORDS, 0); -}; - -Simple_idContext.prototype.TRIPLE_DES = function() { - return this.getToken(TSqlParser.TRIPLE_DES, 0); -}; - -Simple_idContext.prototype.TRIPLE_DES_3KEY = function() { - return this.getToken(TSqlParser.TRIPLE_DES_3KEY, 0); -}; - -Simple_idContext.prototype.TRUSTWORTHY = function() { - return this.getToken(TSqlParser.TRUSTWORTHY, 0); -}; - -Simple_idContext.prototype.TRY = function() { - return this.getToken(TSqlParser.TRY, 0); -}; - -Simple_idContext.prototype.TSQL = function() { - return this.getToken(TSqlParser.TSQL, 0); -}; - -Simple_idContext.prototype.TWO_DIGIT_YEAR_CUTOFF = function() { - return this.getToken(TSqlParser.TWO_DIGIT_YEAR_CUTOFF, 0); -}; - -Simple_idContext.prototype.TYPE = function() { - return this.getToken(TSqlParser.TYPE, 0); -}; - -Simple_idContext.prototype.TYPE_WARNING = function() { - return this.getToken(TSqlParser.TYPE_WARNING, 0); -}; - -Simple_idContext.prototype.UNBOUNDED = function() { - return this.getToken(TSqlParser.UNBOUNDED, 0); -}; - -Simple_idContext.prototype.UNCOMMITTED = function() { - return this.getToken(TSqlParser.UNCOMMITTED, 0); -}; - -Simple_idContext.prototype.UNKNOWN = function() { - return this.getToken(TSqlParser.UNKNOWN, 0); -}; - -Simple_idContext.prototype.UNLIMITED = function() { - return this.getToken(TSqlParser.UNLIMITED, 0); -}; - -Simple_idContext.prototype.USING = function() { - return this.getToken(TSqlParser.USING, 0); -}; - -Simple_idContext.prototype.VALID_XML = function() { - return this.getToken(TSqlParser.VALID_XML, 0); -}; - -Simple_idContext.prototype.VALIDATION = function() { - return this.getToken(TSqlParser.VALIDATION, 0); -}; - -Simple_idContext.prototype.VALUE = function() { - return this.getToken(TSqlParser.VALUE, 0); -}; - -Simple_idContext.prototype.VAR = function() { - return this.getToken(TSqlParser.VAR, 0); -}; - -Simple_idContext.prototype.VARP = function() { - return this.getToken(TSqlParser.VARP, 0); -}; - -Simple_idContext.prototype.VIEW_METADATA = function() { - return this.getToken(TSqlParser.VIEW_METADATA, 0); -}; - -Simple_idContext.prototype.VIEWS = function() { - return this.getToken(TSqlParser.VIEWS, 0); -}; - -Simple_idContext.prototype.WAIT = function() { - return this.getToken(TSqlParser.WAIT, 0); -}; - -Simple_idContext.prototype.WELL_FORMED_XML = function() { - return this.getToken(TSqlParser.WELL_FORMED_XML, 0); -}; - -Simple_idContext.prototype.WORK = function() { - return this.getToken(TSqlParser.WORK, 0); -}; - -Simple_idContext.prototype.WORKLOAD = function() { - return this.getToken(TSqlParser.WORKLOAD, 0); -}; - -Simple_idContext.prototype.XML = function() { - return this.getToken(TSqlParser.XML, 0); -}; - -Simple_idContext.prototype.XMLNAMESPACES = function() { - return this.getToken(TSqlParser.XMLNAMESPACES, 0); -}; - -Simple_idContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterSimple_id(this); - } -}; - -Simple_idContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitSimple_id(this); - } -}; - -Simple_idContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitSimple_id(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Simple_idContext = Simple_idContext; - -TSqlParser.prototype.simple_id = function() { - - var localctx = new Simple_idContext(this, this._ctx, this.state); - this.enterRule(localctx, 966, TSqlParser.RULE_simple_id); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10732; - _la = this._input.LA(1); - if(!(_la===TSqlParser.CALLED || _la===TSqlParser.DATA_COMPRESSION || ((((_la - 112)) & ~0x1f) == 0 && ((1 << (_la - 112)) & ((1 << (TSqlParser.EVENTDATA - 112)) | (1 << (TSqlParser.FILENAME - 112)) | (1 << (TSqlParser.FILLFACTOR - 112)) | (1 << (TSqlParser.FORCESEEK - 112)))) !== 0) || ((((_la - 158)) & ~0x1f) == 0 && ((1 << (_la - 158)) & ((1 << (TSqlParser.INIT - 158)) | (1 << (TSqlParser.KEY - 158)) | (1 << (TSqlParser.MASTER - 158)) | (1 << (TSqlParser.MAX_MEMORY - 158)))) !== 0) || _la===TSqlParser.OFFSETS || _la===TSqlParser.PAGE || ((((_la - 259)) & ~0x1f) == 0 && ((1 << (_la - 259)) & ((1 << (TSqlParser.PUBLIC - 259)) | (1 << (TSqlParser.R - 259)) | (1 << (TSqlParser.RAW - 259)) | (1 << (TSqlParser.RETURN - 259)) | (1 << (TSqlParser.RETURNS - 259)) | (1 << (TSqlParser.ROWCOUNT - 259)))) !== 0) || ((((_la - 295)) & ~0x1f) == 0 && ((1 << (_la - 295)) & ((1 << (TSqlParser.SAFETY - 295)) | (1 << (TSqlParser.SERVER - 295)) | (1 << (TSqlParser.SID - 295)) | (1 << (TSqlParser.SOURCE - 295)) | (1 << (TSqlParser.SPLIT - 295)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (TSqlParser.STATE - 327)) | (1 << (TSqlParser.START - 327)) | (1 << (TSqlParser.TARGET - 327)))) !== 0) || ((((_la - 380)) & ~0x1f) == 0 && ((1 << (_la - 380)) & ((1 << (TSqlParser.ABSOLUTE - 380)) | (1 << (TSqlParser.ACCENT_SENSITIVITY - 380)) | (1 << (TSqlParser.ACTION - 380)) | (1 << (TSqlParser.ACTIVATION - 380)) | (1 << (TSqlParser.ACTIVE - 380)) | (1 << (TSqlParser.ADDRESS - 380)) | (1 << (TSqlParser.AES_128 - 380)) | (1 << (TSqlParser.AES_192 - 380)) | (1 << (TSqlParser.AES_256 - 380)) | (1 << (TSqlParser.AFFINITY - 380)) | (1 << (TSqlParser.AFTER - 380)) | (1 << (TSqlParser.AGGREGATE - 380)) | (1 << (TSqlParser.ALGORITHM - 380)) | (1 << (TSqlParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS - 380)) | (1 << (TSqlParser.ALLOW_SNAPSHOT_ISOLATION - 380)) | (1 << (TSqlParser.ALLOWED - 380)) | (1 << (TSqlParser.ANSI_NULL_DEFAULT - 380)) | (1 << (TSqlParser.ANSI_NULLS - 380)) | (1 << (TSqlParser.ANSI_PADDING - 380)) | (1 << (TSqlParser.ANSI_WARNINGS - 380)) | (1 << (TSqlParser.APPLICATION_LOG - 380)) | (1 << (TSqlParser.APPLY - 380)) | (1 << (TSqlParser.ARITHABORT - 380)) | (1 << (TSqlParser.ASSEMBLY - 380)) | (1 << (TSqlParser.AUDIT - 380)) | (1 << (TSqlParser.AUDIT_GUID - 380)) | (1 << (TSqlParser.AUTO - 380)) | (1 << (TSqlParser.AUTO_CLEANUP - 380)) | (1 << (TSqlParser.AUTO_CLOSE - 380)) | (1 << (TSqlParser.AUTO_CREATE_STATISTICS - 380)) | (1 << (TSqlParser.AUTO_SHRINK - 380)) | (1 << (TSqlParser.AUTO_UPDATE_STATISTICS - 380)))) !== 0) || ((((_la - 412)) & ~0x1f) == 0 && ((1 << (_la - 412)) & ((1 << (TSqlParser.AUTO_UPDATE_STATISTICS_ASYNC - 412)) | (1 << (TSqlParser.AVAILABILITY - 412)) | (1 << (TSqlParser.AVG - 412)) | (1 << (TSqlParser.BACKUP_PRIORITY - 412)) | (1 << (TSqlParser.BEGIN_DIALOG - 412)) | (1 << (TSqlParser.BIGINT - 412)) | (1 << (TSqlParser.BINARY_BASE64 - 412)) | (1 << (TSqlParser.BINARY_CHECKSUM - 412)) | (1 << (TSqlParser.BINDING - 412)) | (1 << (TSqlParser.BLOB_STORAGE - 412)) | (1 << (TSqlParser.BROKER - 412)) | (1 << (TSqlParser.BROKER_INSTANCE - 412)) | (1 << (TSqlParser.BULK_LOGGED - 412)) | (1 << (TSqlParser.CALLER - 412)) | (1 << (TSqlParser.CAP_CPU_PERCENT - 412)) | (1 << (TSqlParser.CAST - 412)) | (1 << (TSqlParser.CATALOG - 412)) | (1 << (TSqlParser.CATCH - 412)) | (1 << (TSqlParser.CHANGE_RETENTION - 412)) | (1 << (TSqlParser.CHANGE_TRACKING - 412)) | (1 << (TSqlParser.CHECKSUM - 412)) | (1 << (TSqlParser.CHECKSUM_AGG - 412)) | (1 << (TSqlParser.CLEANUP - 412)) | (1 << (TSqlParser.COLLECTION - 412)) | (1 << (TSqlParser.COLUMN_MASTER_KEY - 412)) | (1 << (TSqlParser.COMMITTED - 412)) | (1 << (TSqlParser.COMPATIBILITY_LEVEL - 412)) | (1 << (TSqlParser.CONCAT - 412)) | (1 << (TSqlParser.CONCAT_NULL_YIELDS_NULL - 412)) | (1 << (TSqlParser.CONTENT - 412)) | (1 << (TSqlParser.CONTROL - 412)) | (1 << (TSqlParser.COOKIE - 412)))) !== 0) || ((((_la - 444)) & ~0x1f) == 0 && ((1 << (_la - 444)) & ((1 << (TSqlParser.COUNT - 444)) | (1 << (TSqlParser.COUNT_BIG - 444)) | (1 << (TSqlParser.COUNTER - 444)) | (1 << (TSqlParser.CPU - 444)) | (1 << (TSqlParser.CREATE_NEW - 444)) | (1 << (TSqlParser.CREATION_DISPOSITION - 444)) | (1 << (TSqlParser.CREDENTIAL - 444)) | (1 << (TSqlParser.CRYPTOGRAPHIC - 444)) | (1 << (TSqlParser.CURSOR_CLOSE_ON_COMMIT - 444)) | (1 << (TSqlParser.CURSOR_DEFAULT - 444)) | (1 << (TSqlParser.DATA - 444)) | (1 << (TSqlParser.DATE_CORRELATION_OPTIMIZATION - 444)) | (1 << (TSqlParser.DATEADD - 444)) | (1 << (TSqlParser.DATEDIFF - 444)) | (1 << (TSqlParser.DATENAME - 444)) | (1 << (TSqlParser.DATEPART - 444)) | (1 << (TSqlParser.DAYS - 444)) | (1 << (TSqlParser.DB_CHAINING - 444)) | (1 << (TSqlParser.DB_FAILOVER - 444)) | (1 << (TSqlParser.DECRYPTION - 444)) | (1 << (TSqlParser.DEFAULT_DOUBLE_QUOTE - 444)) | (1 << (TSqlParser.DEFAULT_FULLTEXT_LANGUAGE - 444)) | (1 << (TSqlParser.DEFAULT_LANGUAGE - 444)) | (1 << (TSqlParser.DELAY - 444)) | (1 << (TSqlParser.DELAYED_DURABILITY - 444)) | (1 << (TSqlParser.DELETED - 444)) | (1 << (TSqlParser.DENSE_RANK - 444)) | (1 << (TSqlParser.DEPENDENTS - 444)) | (1 << (TSqlParser.DES - 444)) | (1 << (TSqlParser.DESCRIPTION - 444)) | (1 << (TSqlParser.DESX - 444)) | (1 << (TSqlParser.DHCP - 444)))) !== 0) || ((((_la - 476)) & ~0x1f) == 0 && ((1 << (_la - 476)) & ((1 << (TSqlParser.DIALOG - 476)) | (1 << (TSqlParser.DIRECTORY_NAME - 476)) | (1 << (TSqlParser.DISABLE - 476)) | (1 << (TSqlParser.DISABLE_BROKER - 476)) | (1 << (TSqlParser.DISABLED - 476)) | (1 << (TSqlParser.DISK_DRIVE - 476)) | (1 << (TSqlParser.DOCUMENT - 476)) | (1 << (TSqlParser.DYNAMIC - 476)) | (1 << (TSqlParser.EMERGENCY - 476)) | (1 << (TSqlParser.EMPTY - 476)) | (1 << (TSqlParser.ENABLE - 476)) | (1 << (TSqlParser.ENABLE_BROKER - 476)) | (1 << (TSqlParser.ENCRYPTED_VALUE - 476)) | (1 << (TSqlParser.ENCRYPTION - 476)) | (1 << (TSqlParser.ENDPOINT_URL - 476)) | (1 << (TSqlParser.ERROR_BROKER_CONVERSATIONS - 476)) | (1 << (TSqlParser.EXCLUSIVE - 476)) | (1 << (TSqlParser.EXECUTABLE - 476)) | (1 << (TSqlParser.EXIST - 476)) | (1 << (TSqlParser.EXPAND - 476)) | (1 << (TSqlParser.EXPIRY_DATE - 476)) | (1 << (TSqlParser.EXPLICIT - 476)) | (1 << (TSqlParser.FAIL_OPERATION - 476)) | (1 << (TSqlParser.FAILOVER_MODE - 476)) | (1 << (TSqlParser.FAILURE - 476)) | (1 << (TSqlParser.FAILURE_CONDITION_LEVEL - 476)) | (1 << (TSqlParser.FAST - 476)) | (1 << (TSqlParser.FAST_FORWARD - 476)) | (1 << (TSqlParser.FILEGROUP - 476)) | (1 << (TSqlParser.FILEGROWTH - 476)) | (1 << (TSqlParser.FILEPATH - 476)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (TSqlParser.FILESTREAM - 508)) | (1 << (TSqlParser.FILTER - 508)) | (1 << (TSqlParser.FIRST - 508)) | (1 << (TSqlParser.FIRST_VALUE - 508)) | (1 << (TSqlParser.FOLLOWING - 508)) | (1 << (TSqlParser.FORCE - 508)) | (1 << (TSqlParser.FORCE_FAILOVER_ALLOW_DATA_LOSS - 508)) | (1 << (TSqlParser.FORCED - 508)) | (1 << (TSqlParser.FORMAT - 508)) | (1 << (TSqlParser.FORWARD_ONLY - 508)) | (1 << (TSqlParser.FULLSCAN - 508)) | (1 << (TSqlParser.FULLTEXT - 508)) | (1 << (TSqlParser.GB - 508)) | (1 << (TSqlParser.GETDATE - 508)) | (1 << (TSqlParser.GETUTCDATE - 508)) | (1 << (TSqlParser.GLOBAL - 508)) | (1 << (TSqlParser.GO - 508)) | (1 << (TSqlParser.GROUP_MAX_REQUESTS - 508)) | (1 << (TSqlParser.GROUPING - 508)) | (1 << (TSqlParser.GROUPING_ID - 508)) | (1 << (TSqlParser.HADR - 508)) | (1 << (TSqlParser.HASH - 508)) | (1 << (TSqlParser.HEALTH_CHECK_TIMEOUT - 508)) | (1 << (TSqlParser.HIGH - 508)) | (1 << (TSqlParser.HONOR_BROKER_PRIORITY - 508)) | (1 << (TSqlParser.HOURS - 508)) | (1 << (TSqlParser.IDENTITY_VALUE - 508)) | (1 << (TSqlParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX - 508)) | (1 << (TSqlParser.IMMEDIATE - 508)) | (1 << (TSqlParser.IMPERSONATE - 508)) | (1 << (TSqlParser.IMPORTANCE - 508)))) !== 0) || ((((_la - 540)) & ~0x1f) == 0 && ((1 << (_la - 540)) & ((1 << (TSqlParser.INCREMENTAL - 540)) | (1 << (TSqlParser.INITIATOR - 540)) | (1 << (TSqlParser.INPUT - 540)) | (1 << (TSqlParser.INSENSITIVE - 540)) | (1 << (TSqlParser.INSERTED - 540)) | (1 << (TSqlParser.INT - 540)) | (1 << (TSqlParser.IP - 540)) | (1 << (TSqlParser.ISOLATION - 540)) | (1 << (TSqlParser.KB - 540)) | (1 << (TSqlParser.KEEP - 540)) | (1 << (TSqlParser.KEEPFIXED - 540)) | (1 << (TSqlParser.KEY_SOURCE - 540)) | (1 << (TSqlParser.KEYS - 540)) | (1 << (TSqlParser.KEYSET - 540)) | (1 << (TSqlParser.LAG - 540)) | (1 << (TSqlParser.LAST - 540)) | (1 << (TSqlParser.LAST_VALUE - 540)) | (1 << (TSqlParser.LEAD - 540)) | (1 << (TSqlParser.LEVEL - 540)) | (1 << (TSqlParser.LIST - 540)) | (1 << (TSqlParser.LISTENER - 540)) | (1 << (TSqlParser.LISTENER_URL - 540)) | (1 << (TSqlParser.LOB_COMPACTION - 540)) | (1 << (TSqlParser.LOCAL - 540)) | (1 << (TSqlParser.LOCATION - 540)) | (1 << (TSqlParser.LOCK - 540)) | (1 << (TSqlParser.LOCK_ESCALATION - 540)) | (1 << (TSqlParser.LOGIN - 540)) | (1 << (TSqlParser.LOOP - 540)) | (1 << (TSqlParser.LOW - 540)))) !== 0) || ((((_la - 572)) & ~0x1f) == 0 && ((1 << (_la - 572)) & ((1 << (TSqlParser.MANUAL - 572)) | (1 << (TSqlParser.MARK - 572)) | (1 << (TSqlParser.MATERIALIZED - 572)) | (1 << (TSqlParser.MAX - 572)) | (1 << (TSqlParser.MAX_CPU_PERCENT - 572)) | (1 << (TSqlParser.MAX_DOP - 572)) | (1 << (TSqlParser.MAX_FILES - 572)) | (1 << (TSqlParser.MAX_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MAX_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MAX_PROCESSES - 572)) | (1 << (TSqlParser.MAX_QUEUE_READERS - 572)) | (1 << (TSqlParser.MAX_ROLLOVER_FILES - 572)) | (1 << (TSqlParser.MAXDOP - 572)) | (1 << (TSqlParser.MAXRECURSION - 572)) | (1 << (TSqlParser.MAXSIZE - 572)) | (1 << (TSqlParser.MB - 572)) | (1 << (TSqlParser.MEDIUM - 572)) | (1 << (TSqlParser.MEMORY_OPTIMIZED_DATA - 572)) | (1 << (TSqlParser.MESSAGE - 572)) | (1 << (TSqlParser.MIN - 572)) | (1 << (TSqlParser.MIN_ACTIVE_ROWVERSION - 572)) | (1 << (TSqlParser.MIN_CPU_PERCENT - 572)) | (1 << (TSqlParser.MIN_IOPS_PER_VOLUME - 572)) | (1 << (TSqlParser.MIN_MEMORY_PERCENT - 572)) | (1 << (TSqlParser.MINUTES - 572)) | (1 << (TSqlParser.MIRROR_ADDRESS - 572)) | (1 << (TSqlParser.MIXED_PAGE_ALLOCATION - 572)) | (1 << (TSqlParser.MODE - 572)) | (1 << (TSqlParser.MODIFY - 572)) | (1 << (TSqlParser.MOVE - 572)) | (1 << (TSqlParser.MULTI_USER - 572)) | (1 << (TSqlParser.NAME - 572)))) !== 0) || ((((_la - 604)) & ~0x1f) == 0 && ((1 << (_la - 604)) & ((1 << (TSqlParser.NESTED_TRIGGERS - 604)) | (1 << (TSqlParser.NEW_ACCOUNT - 604)) | (1 << (TSqlParser.NEW_BROKER - 604)) | (1 << (TSqlParser.NEW_PASSWORD - 604)) | (1 << (TSqlParser.NEXT - 604)) | (1 << (TSqlParser.NO - 604)) | (1 << (TSqlParser.NO_TRUNCATE - 604)) | (1 << (TSqlParser.NO_WAIT - 604)) | (1 << (TSqlParser.NOCOUNT - 604)) | (1 << (TSqlParser.NODES - 604)) | (1 << (TSqlParser.NOEXPAND - 604)) | (1 << (TSqlParser.NON_TRANSACTED_ACCESS - 604)) | (1 << (TSqlParser.NORECOMPUTE - 604)) | (1 << (TSqlParser.NORECOVERY - 604)) | (1 << (TSqlParser.NOWAIT - 604)) | (1 << (TSqlParser.NTILE - 604)) | (1 << (TSqlParser.NUMANODE - 604)) | (1 << (TSqlParser.NUMBER - 604)) | (1 << (TSqlParser.NUMERIC_ROUNDABORT - 604)) | (1 << (TSqlParser.OBJECT - 604)) | (1 << (TSqlParser.OFFLINE - 604)) | (1 << (TSqlParser.OFFSET - 604)) | (1 << (TSqlParser.OLD_ACCOUNT - 604)) | (1 << (TSqlParser.ONLINE - 604)) | (1 << (TSqlParser.ONLY - 604)) | (1 << (TSqlParser.OPEN_EXISTING - 604)) | (1 << (TSqlParser.OPTIMISTIC - 604)) | (1 << (TSqlParser.OPTIMIZE - 604)) | (1 << (TSqlParser.OUT - 604)) | (1 << (TSqlParser.OUTPUT - 604)) | (1 << (TSqlParser.OWNER - 604)))) !== 0) || ((((_la - 636)) & ~0x1f) == 0 && ((1 << (_la - 636)) & ((1 << (TSqlParser.PAGE_VERIFY - 636)) | (1 << (TSqlParser.PARAMETERIZATION - 636)) | (1 << (TSqlParser.PARTITION - 636)) | (1 << (TSqlParser.PARTITIONS - 636)) | (1 << (TSqlParser.PARTNER - 636)) | (1 << (TSqlParser.PATH - 636)) | (1 << (TSqlParser.POISON_MESSAGE_HANDLING - 636)) | (1 << (TSqlParser.POOL - 636)) | (1 << (TSqlParser.PORT - 636)) | (1 << (TSqlParser.PRECEDING - 636)) | (1 << (TSqlParser.PRIMARY_ROLE - 636)) | (1 << (TSqlParser.PRIOR - 636)) | (1 << (TSqlParser.PRIORITY - 636)) | (1 << (TSqlParser.PRIORITY_LEVEL - 636)) | (1 << (TSqlParser.PRIVATE - 636)) | (1 << (TSqlParser.PRIVATE_KEY - 636)) | (1 << (TSqlParser.PRIVILEGES - 636)) | (1 << (TSqlParser.PROCEDURE_NAME - 636)) | (1 << (TSqlParser.PROPERTY - 636)) | (1 << (TSqlParser.PROVIDER - 636)) | (1 << (TSqlParser.PROVIDER_KEY_NAME - 636)) | (1 << (TSqlParser.QUERY - 636)) | (1 << (TSqlParser.QUEUE - 636)) | (1 << (TSqlParser.QUEUE_DELAY - 636)) | (1 << (TSqlParser.QUOTED_IDENTIFIER - 636)) | (1 << (TSqlParser.RANGE - 636)) | (1 << (TSqlParser.RANK - 636)) | (1 << (TSqlParser.RC2 - 636)) | (1 << (TSqlParser.RC4 - 636)) | (1 << (TSqlParser.RC4_128 - 636)) | (1 << (TSqlParser.READ_COMMITTED_SNAPSHOT - 636)) | (1 << (TSqlParser.READ_ONLY - 636)))) !== 0) || ((((_la - 668)) & ~0x1f) == 0 && ((1 << (_la - 668)) & ((1 << (TSqlParser.READ_ONLY_ROUTING_LIST - 668)) | (1 << (TSqlParser.READ_WRITE - 668)) | (1 << (TSqlParser.READONLY - 668)) | (1 << (TSqlParser.REBUILD - 668)) | (1 << (TSqlParser.RECEIVE - 668)) | (1 << (TSqlParser.RECOMPILE - 668)) | (1 << (TSqlParser.RECOVERY - 668)) | (1 << (TSqlParser.RECURSIVE_TRIGGERS - 668)) | (1 << (TSqlParser.RELATIVE - 668)) | (1 << (TSqlParser.REMOTE - 668)) | (1 << (TSqlParser.REMOTE_SERVICE_NAME - 668)) | (1 << (TSqlParser.REMOVE - 668)) | (1 << (TSqlParser.REORGANIZE - 668)) | (1 << (TSqlParser.REPEATABLE - 668)) | (1 << (TSqlParser.REPLICA - 668)) | (1 << (TSqlParser.REQUEST_MAX_CPU_TIME_SEC - 668)) | (1 << (TSqlParser.REQUEST_MAX_MEMORY_GRANT_PERCENT - 668)) | (1 << (TSqlParser.REQUEST_MEMORY_GRANT_TIMEOUT_SEC - 668)) | (1 << (TSqlParser.REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT - 668)) | (1 << (TSqlParser.RESERVE_DISK_SPACE - 668)) | (1 << (TSqlParser.RESOURCE - 668)) | (1 << (TSqlParser.RESOURCE_MANAGER_LOCATION - 668)) | (1 << (TSqlParser.RESTRICTED_USER - 668)) | (1 << (TSqlParser.RETENTION - 668)) | (1 << (TSqlParser.ROBUST - 668)) | (1 << (TSqlParser.ROOT - 668)) | (1 << (TSqlParser.ROUTE - 668)) | (1 << (TSqlParser.ROW - 668)) | (1 << (TSqlParser.ROW_NUMBER - 668)) | (1 << (TSqlParser.ROWGUID - 668)) | (1 << (TSqlParser.ROWS - 668)) | (1 << (TSqlParser.SAMPLE - 668)))) !== 0) || ((((_la - 700)) & ~0x1f) == 0 && ((1 << (_la - 700)) & ((1 << (TSqlParser.SCHEMABINDING - 700)) | (1 << (TSqlParser.SCOPED - 700)) | (1 << (TSqlParser.SCROLL - 700)) | (1 << (TSqlParser.SCROLL_LOCKS - 700)) | (1 << (TSqlParser.SEARCH - 700)) | (1 << (TSqlParser.SECONDARY - 700)) | (1 << (TSqlParser.SECONDARY_ONLY - 700)) | (1 << (TSqlParser.SECONDARY_ROLE - 700)) | (1 << (TSqlParser.SECONDS - 700)) | (1 << (TSqlParser.SECRET - 700)) | (1 << (TSqlParser.SECURITY - 700)) | (1 << (TSqlParser.SECURITY_LOG - 700)) | (1 << (TSqlParser.SEEDING_MODE - 700)) | (1 << (TSqlParser.SELF - 700)) | (1 << (TSqlParser.SEMI_SENSITIVE - 700)) | (1 << (TSqlParser.SEND - 700)) | (1 << (TSqlParser.SENT - 700)) | (1 << (TSqlParser.SEQUENCE - 700)) | (1 << (TSqlParser.SERIALIZABLE - 700)) | (1 << (TSqlParser.SESSION_TIMEOUT - 700)) | (1 << (TSqlParser.SETERROR - 700)) | (1 << (TSqlParser.SHARE - 700)) | (1 << (TSqlParser.SHOWPLAN - 700)) | (1 << (TSqlParser.SIGNATURE - 700)) | (1 << (TSqlParser.SIMPLE - 700)) | (1 << (TSqlParser.SINGLE_USER - 700)) | (1 << (TSqlParser.SIZE - 700)) | (1 << (TSqlParser.SMALLINT - 700)) | (1 << (TSqlParser.SNAPSHOT - 700)) | (1 << (TSqlParser.SPATIAL_WINDOW_MAX_CELLS - 700)) | (1 << (TSqlParser.STANDBY - 700)) | (1 << (TSqlParser.START_DATE - 700)))) !== 0) || ((((_la - 732)) & ~0x1f) == 0 && ((1 << (_la - 732)) & ((1 << (TSqlParser.STATIC - 732)) | (1 << (TSqlParser.STATS_STREAM - 732)) | (1 << (TSqlParser.STATUS - 732)) | (1 << (TSqlParser.STDEV - 732)) | (1 << (TSqlParser.STDEVP - 732)) | (1 << (TSqlParser.STOPLIST - 732)) | (1 << (TSqlParser.STRING_AGG - 732)) | (1 << (TSqlParser.STUFF - 732)) | (1 << (TSqlParser.SUBJECT - 732)) | (1 << (TSqlParser.SUM - 732)) | (1 << (TSqlParser.SUSPEND - 732)) | (1 << (TSqlParser.SYMMETRIC - 732)) | (1 << (TSqlParser.SYNCHRONOUS_COMMIT - 732)) | (1 << (TSqlParser.SYNONYM - 732)) | (1 << (TSqlParser.SYSTEM - 732)) | (1 << (TSqlParser.TAKE - 732)) | (1 << (TSqlParser.TARGET_RECOVERY_TIME - 732)) | (1 << (TSqlParser.TB - 732)) | (1 << (TSqlParser.TEXTIMAGE_ON - 732)) | (1 << (TSqlParser.THROW - 732)) | (1 << (TSqlParser.TIES - 732)) | (1 << (TSqlParser.TIME - 732)) | (1 << (TSqlParser.TIMEOUT - 732)) | (1 << (TSqlParser.TIMER - 732)) | (1 << (TSqlParser.TINYINT - 732)) | (1 << (TSqlParser.TORN_PAGE_DETECTION - 732)) | (1 << (TSqlParser.TRANSFORM_NOISE_WORDS - 732)) | (1 << (TSqlParser.TRIPLE_DES - 732)) | (1 << (TSqlParser.TRIPLE_DES_3KEY - 732)) | (1 << (TSqlParser.TRUSTWORTHY - 732)))) !== 0) || ((((_la - 764)) & ~0x1f) == 0 && ((1 << (_la - 764)) & ((1 << (TSqlParser.TRY - 764)) | (1 << (TSqlParser.TSQL - 764)) | (1 << (TSqlParser.TWO_DIGIT_YEAR_CUTOFF - 764)) | (1 << (TSqlParser.TYPE - 764)) | (1 << (TSqlParser.TYPE_WARNING - 764)) | (1 << (TSqlParser.UNBOUNDED - 764)) | (1 << (TSqlParser.UNCOMMITTED - 764)) | (1 << (TSqlParser.UNKNOWN - 764)) | (1 << (TSqlParser.UNLIMITED - 764)) | (1 << (TSqlParser.USING - 764)) | (1 << (TSqlParser.VALID_XML - 764)) | (1 << (TSqlParser.VALIDATION - 764)) | (1 << (TSqlParser.VALUE - 764)) | (1 << (TSqlParser.VAR - 764)) | (1 << (TSqlParser.VARP - 764)) | (1 << (TSqlParser.VIEW_METADATA - 764)) | (1 << (TSqlParser.VIEWS - 764)) | (1 << (TSqlParser.WAIT - 764)) | (1 << (TSqlParser.WELL_FORMED_XML - 764)) | (1 << (TSqlParser.WORK - 764)) | (1 << (TSqlParser.WORKLOAD - 764)) | (1 << (TSqlParser.XML - 764)) | (1 << (TSqlParser.XMLNAMESPACES - 764)))) !== 0) || _la===TSqlParser.ID)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Comparison_operatorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_comparison_operator; - return this; -} - -Comparison_operatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Comparison_operatorContext.prototype.constructor = Comparison_operatorContext; - -Comparison_operatorContext.prototype.EQUAL = function() { - return this.getToken(TSqlParser.EQUAL, 0); -}; - -Comparison_operatorContext.prototype.GREATER = function() { - return this.getToken(TSqlParser.GREATER, 0); -}; - -Comparison_operatorContext.prototype.LESS = function() { - return this.getToken(TSqlParser.LESS, 0); -}; - -Comparison_operatorContext.prototype.EXCLAMATION = function() { - return this.getToken(TSqlParser.EXCLAMATION, 0); -}; - -Comparison_operatorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterComparison_operator(this); - } -}; - -Comparison_operatorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitComparison_operator(this); - } -}; - -Comparison_operatorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitComparison_operator(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Comparison_operatorContext = Comparison_operatorContext; - -TSqlParser.prototype.comparison_operator = function() { - - var localctx = new Comparison_operatorContext(this, this._ctx, this.state); - this.enterRule(localctx, 968, TSqlParser.RULE_comparison_operator); - try { - this.state = 10749; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,1521,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 10734; - this.match(TSqlParser.EQUAL); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 10735; - this.match(TSqlParser.GREATER); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 10736; - this.match(TSqlParser.LESS); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 10737; - this.match(TSqlParser.LESS); - this.state = 10738; - this.match(TSqlParser.EQUAL); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 10739; - this.match(TSqlParser.GREATER); - this.state = 10740; - this.match(TSqlParser.EQUAL); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 10741; - this.match(TSqlParser.LESS); - this.state = 10742; - this.match(TSqlParser.GREATER); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 10743; - this.match(TSqlParser.EXCLAMATION); - this.state = 10744; - this.match(TSqlParser.EQUAL); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 10745; - this.match(TSqlParser.EXCLAMATION); - this.state = 10746; - this.match(TSqlParser.GREATER); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 10747; - this.match(TSqlParser.EXCLAMATION); - this.state = 10748; - this.match(TSqlParser.LESS); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function Assignment_operatorContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_assignment_operator; - return this; -} - -Assignment_operatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -Assignment_operatorContext.prototype.constructor = Assignment_operatorContext; - -Assignment_operatorContext.prototype.PLUS_ASSIGN = function() { - return this.getToken(TSqlParser.PLUS_ASSIGN, 0); -}; - -Assignment_operatorContext.prototype.MINUS_ASSIGN = function() { - return this.getToken(TSqlParser.MINUS_ASSIGN, 0); -}; - -Assignment_operatorContext.prototype.MULT_ASSIGN = function() { - return this.getToken(TSqlParser.MULT_ASSIGN, 0); -}; - -Assignment_operatorContext.prototype.DIV_ASSIGN = function() { - return this.getToken(TSqlParser.DIV_ASSIGN, 0); -}; - -Assignment_operatorContext.prototype.MOD_ASSIGN = function() { - return this.getToken(TSqlParser.MOD_ASSIGN, 0); -}; - -Assignment_operatorContext.prototype.AND_ASSIGN = function() { - return this.getToken(TSqlParser.AND_ASSIGN, 0); -}; - -Assignment_operatorContext.prototype.XOR_ASSIGN = function() { - return this.getToken(TSqlParser.XOR_ASSIGN, 0); -}; - -Assignment_operatorContext.prototype.OR_ASSIGN = function() { - return this.getToken(TSqlParser.OR_ASSIGN, 0); -}; - -Assignment_operatorContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterAssignment_operator(this); - } -}; - -Assignment_operatorContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitAssignment_operator(this); - } -}; - -Assignment_operatorContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitAssignment_operator(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.Assignment_operatorContext = Assignment_operatorContext; - -TSqlParser.prototype.assignment_operator = function() { - - var localctx = new Assignment_operatorContext(this, this._ctx, this.state); - this.enterRule(localctx, 970, TSqlParser.RULE_assignment_operator); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10751; - _la = this._input.LA(1); - if(!(((((_la - 812)) & ~0x1f) == 0 && ((1 << (_la - 812)) & ((1 << (TSqlParser.PLUS_ASSIGN - 812)) | (1 << (TSqlParser.MINUS_ASSIGN - 812)) | (1 << (TSqlParser.MULT_ASSIGN - 812)) | (1 << (TSqlParser.DIV_ASSIGN - 812)) | (1 << (TSqlParser.MOD_ASSIGN - 812)) | (1 << (TSqlParser.AND_ASSIGN - 812)) | (1 << (TSqlParser.XOR_ASSIGN - 812)) | (1 << (TSqlParser.OR_ASSIGN - 812)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -function File_sizeContext(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - antlr4.ParserRuleContext.call(this, parent, invokingState); - this.parser = parser; - this.ruleIndex = TSqlParser.RULE_file_size; - return this; -} - -File_sizeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); -File_sizeContext.prototype.constructor = File_sizeContext; - -File_sizeContext.prototype.DECIMAL = function() { - return this.getToken(TSqlParser.DECIMAL, 0); -}; - -File_sizeContext.prototype.KB = function() { - return this.getToken(TSqlParser.KB, 0); -}; - -File_sizeContext.prototype.MB = function() { - return this.getToken(TSqlParser.MB, 0); -}; - -File_sizeContext.prototype.GB = function() { - return this.getToken(TSqlParser.GB, 0); -}; - -File_sizeContext.prototype.TB = function() { - return this.getToken(TSqlParser.TB, 0); -}; - -File_sizeContext.prototype.MODULE = function() { - return this.getToken(TSqlParser.MODULE, 0); -}; - -File_sizeContext.prototype.enterRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.enterFile_size(this); - } -}; - -File_sizeContext.prototype.exitRule = function(listener) { - if(listener instanceof TSqlParserListener ) { - listener.exitFile_size(this); - } -}; - -File_sizeContext.prototype.accept = function(visitor) { - if ( visitor instanceof TSqlParserVisitor ) { - return visitor.visitFile_size(this); - } else { - return visitor.visitChildren(this); - } -}; - - - - -TSqlParser.File_sizeContext = File_sizeContext; - -TSqlParser.prototype.file_size = function() { - - var localctx = new File_sizeContext(this, this._ctx, this.state); - this.enterRule(localctx, 972, TSqlParser.RULE_file_size); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 10753; - this.match(TSqlParser.DECIMAL); - this.state = 10755; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===TSqlParser.GB || _la===TSqlParser.KB || _la===TSqlParser.MB || _la===TSqlParser.TB || _la===TSqlParser.MODULE) { - this.state = 10754; - _la = this._input.LA(1); - if(!(_la===TSqlParser.GB || _la===TSqlParser.KB || _la===TSqlParser.MB || _la===TSqlParser.TB || _la===TSqlParser.MODULE)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; -}; - - -TSqlParser.prototype.sempred = function(localctx, ruleIndex, predIndex) { - switch(ruleIndex) { - case 46: - return this.assembly_option_sempred(localctx, predIndex); - case 363: - return this.expression_sempred(localctx, predIndex); - default: - throw "No predicate with index:" + ruleIndex; - } -}; - -TSqlParser.prototype.assembly_option_sempred = function(localctx, predIndex) { - switch(predIndex) { - case 0: - return this.precpred(this._ctx, 1); - default: - throw "No predicate with index:" + predIndex; - } -}; - -TSqlParser.prototype.expression_sempred = function(localctx, predIndex) { - switch(predIndex) { - case 1: - return this.precpred(this._ctx, 5); - case 2: - return this.precpred(this._ctx, 4); - case 3: - return this.precpred(this._ctx, 3); - case 4: - return this.precpred(this._ctx, 2); - case 5: - return this.precpred(this._ctx, 10); - default: - throw "No predicate with index:" + predIndex; - } -}; - - -exports.TSqlParser = TSqlParser; diff --git a/src/grammar/tsql/parser/TSqlParser.tokens b/src/grammar/tsql/parser/TSqlParser.tokens deleted file mode 100644 index 5d9475f..0000000 --- a/src/grammar/tsql/parser/TSqlParser.tokens +++ /dev/null @@ -1,1657 +0,0 @@ -ABSENT=1 -ADD=2 -AES=3 -ALL=4 -ALLOW_CONNECTIONS=5 -ALLOW_MULTIPLE_EVENT_LOSS=6 -ALLOW_SINGLE_EVENT_LOSS=7 -ALTER=8 -AND=9 -ANONYMOUS=10 -ANY=11 -APPEND=12 -APPLICATION=13 -AS=14 -ASC=15 -ASYMMETRIC=16 -ASYNCHRONOUS_COMMIT=17 -AUTHORIZATION=18 -AUTHENTICATION=19 -AUTOMATED_BACKUP_PREFERENCE=20 -AUTOMATIC=21 -AVAILABILITY_MODE=22 -BACKSLASH=23 -BACKUP=24 -BEFORE=25 -BEGIN=26 -BETWEEN=27 -BLOCK=28 -BLOCKSIZE=29 -BLOCKING_HIERARCHY=30 -BREAK=31 -BROWSE=32 -BUFFER=33 -BUFFERCOUNT=34 -BULK=35 -BY=36 -CACHE=37 -CALLED=38 -CASCADE=39 -CASE=40 -CERTIFICATE=41 -CHANGETABLE=42 -CHANGES=43 -CHECK=44 -CHECKPOINT=45 -CHECK_POLICY=46 -CHECK_EXPIRATION=47 -CLASSIFIER_FUNCTION=48 -CLOSE=49 -CLUSTER=50 -CLUSTERED=51 -COALESCE=52 -COLLATE=53 -COLUMN=54 -COMPRESSION=55 -COMMIT=56 -COMPUTE=57 -CONFIGURATION=58 -CONSTRAINT=59 -CONTAINMENT=60 -CONTAINS=61 -CONTAINSTABLE=62 -CONTEXT=63 -CONTINUE=64 -CONTINUE_AFTER_ERROR=65 -CONTRACT=66 -CONTRACT_NAME=67 -CONVERSATION=68 -CONVERT=69 -COPY_ONLY=70 -CREATE=71 -CROSS=72 -CURRENT=73 -CURRENT_DATE=74 -CURRENT_TIME=75 -CURRENT_TIMESTAMP=76 -CURRENT_USER=77 -CURSOR=78 -CYCLE=79 -DATA_COMPRESSION=80 -DATA_SOURCE=81 -DATABASE=82 -DATABASE_MIRRORING=83 -DBCC=84 -DEALLOCATE=85 -DECLARE=86 -DEFAULT=87 -DEFAULT_DATABASE=88 -DEFAULT_SCHEMA=89 -DELETE=90 -DENY=91 -DESC=92 -DIAGNOSTICS=93 -DIFFERENTIAL=94 -DISK=95 -DISTINCT=96 -DISTRIBUTED=97 -DOUBLE=98 -DOUBLE_BACK_SLASH=99 -DOUBLE_FORWARD_SLASH=100 -DROP=101 -DTC_SUPPORT=102 -DUMP=103 -ELSE=104 -ENABLED=105 -END=106 -ENDPOINT=107 -ERRLVL=108 -ESCAPE=109 -ERROR=110 -EVENT=111 -EVENTDATA=112 -EVENT_RETENTION_MODE=113 -EXCEPT=114 -EXECUTABLE_FILE=115 -EXECUTE=116 -EXISTS=117 -EXPIREDATE=118 -EXIT=119 -EXTENSION=120 -EXTERNAL=121 -EXTERNAL_ACCESS=122 -FAILOVER=123 -FAILURECONDITIONLEVEL=124 -FAN_IN=125 -FETCH=126 -FILE=127 -FILENAME=128 -FILLFACTOR=129 -FILE_SNAPSHOT=130 -FOR=131 -FORCESEEK=132 -FORCE_SERVICE_ALLOW_DATA_LOSS=133 -FOREIGN=134 -FREETEXT=135 -FREETEXTTABLE=136 -FROM=137 -FULL=138 -FUNCTION=139 -GET=140 -GOTO=141 -GOVERNOR=142 -GRANT=143 -GROUP=144 -HAVING=145 -HASHED=146 -HEALTHCHECKTIMEOUT=147 -IDENTITY=148 -IDENTITYCOL=149 -IDENTITY_INSERT=150 -IF=151 -IIF=152 -IN=153 -INCLUDE=154 -INCREMENT=155 -INDEX=156 -INFINITE=157 -INIT=158 -INNER=159 -INSERT=160 -INSTEAD=161 -INTERSECT=162 -INTO=163 -IPV4_ADDR=164 -IPV6_ADDR=165 -IS=166 -ISNULL=167 -JOIN=168 -KERBEROS=169 -KEY=170 -KEY_PATH=171 -KEY_STORE_PROVIDER_NAME=172 -KILL=173 -LANGUAGE=174 -LEFT=175 -LIBRARY=176 -LIFETIME=177 -LIKE=178 -LINENO=179 -LINUX=180 -LISTENER_IP=181 -LISTENER_PORT=182 -LOAD=183 -LOCAL_SERVICE_NAME=184 -LOG=185 -MATCHED=186 -MASTER=187 -MAX_MEMORY=188 -MAXTRANSFER=189 -MAXVALUE=190 -MAX_DISPATCH_LATENCY=191 -MAX_EVENT_SIZE=192 -MAX_SIZE=193 -MAX_OUTSTANDING_IO_PER_VOLUME=194 -MEDIADESCRIPTION=195 -MEDIANAME=196 -MEMBER=197 -MEMORY_PARTITION_MODE=198 -MERGE=199 -MESSAGE_FORWARDING=200 -MESSAGE_FORWARD_SIZE=201 -MINVALUE=202 -MIRROR=203 -MUST_CHANGE=204 -NATIONAL=205 -NEGOTIATE=206 -NOCHECK=207 -NOFORMAT=208 -NOINIT=209 -NONCLUSTERED=210 -NONE=211 -NOREWIND=212 -NOSKIP=213 -NOUNLOAD=214 -NO_CHECKSUM=215 -NO_COMPRESSION=216 -NO_EVENT_LOSS=217 -NOT=218 -NOTIFICATION=219 -NTLM=220 -NULL=221 -NULLIF=222 -OF=223 -OFF=224 -OFFSETS=225 -OLD_PASSWORD=226 -ON=227 -ON_FAILURE=228 -OPEN=229 -OPENDATASOURCE=230 -OPENQUERY=231 -OPENROWSET=232 -OPENXML=233 -OPTION=234 -OR=235 -ORDER=236 -OUTER=237 -OVER=238 -PAGE=239 -PARAM_NODE=240 -PARTIAL=241 -PASSWORD=242 -PERCENT=243 -PERMISSION_SET=244 -PER_CPU=245 -PER_DB=246 -PER_NODE=247 -PIVOT=248 -PLAN=249 -PLATFORM=250 -POLICY=251 -PRECISION=252 -PREDICATE=253 -PRIMARY=254 -PRINT=255 -PROC=256 -PROCEDURE=257 -PROCESS=258 -PUBLIC=259 -PYTHON=260 -R=261 -RAISERROR=262 -RAW=263 -READ=264 -READTEXT=265 -READ_WRITE_FILEGROUPS=266 -RECONFIGURE=267 -REFERENCES=268 -REGENERATE=269 -RELATED_CONVERSATION=270 -RELATED_CONVERSATION_GROUP=271 -REPLICATION=272 -REQUIRED=273 -RESET=274 -RESTART=275 -RESTORE=276 -RESTRICT=277 -RESUME=278 -RETAINDAYS=279 -RETURN=280 -RETURNS=281 -REVERT=282 -REVOKE=283 -REWIND=284 -RIGHT=285 -ROLLBACK=286 -ROLE=287 -ROWCOUNT=288 -ROWGUIDCOL=289 -RSA_512=290 -RSA_1024=291 -RSA_2048=292 -RSA_3072=293 -RSA_4096=294 -SAFETY=295 -RULE=296 -SAFE=297 -SAVE=298 -SCHEDULER=299 -SCHEMA=300 -SCHEME=301 -SECURITYAUDIT=302 -SELECT=303 -SEMANTICKEYPHRASETABLE=304 -SEMANTICSIMILARITYDETAILSTABLE=305 -SEMANTICSIMILARITYTABLE=306 -SERVER=307 -SERVICE=308 -SERVICE_BROKER=309 -SERVICE_NAME=310 -SESSION=311 -SESSION_USER=312 -SET=313 -SETUSER=314 -SHUTDOWN=315 -SID=316 -SKIP_KEYWORD=317 -SOFTNUMA=318 -SOME=319 -SOURCE=320 -SPECIFICATION=321 -SPLIT=322 -SQLDUMPERFLAGS=323 -SQLDUMPERPATH=324 -SQLDUMPERTIMEOUT=325 -STATISTICS=326 -STATE=327 -STATS=328 -START=329 -STARTED=330 -STARTUP_STATE=331 -STOP=332 -STOPPED=333 -STOP_ON_ERROR=334 -SUPPORTED=335 -SYSTEM_USER=336 -TABLE=337 -TABLESAMPLE=338 -TAPE=339 -TARGET=340 -TCP=341 -TEXTSIZE=342 -THEN=343 -TO=344 -TOP=345 -TRACK_CAUSALITY=346 -TRAN=347 -TRANSACTION=348 -TRANSFER=349 -TRIGGER=350 -TRUNCATE=351 -TSEQUAL=352 -UNCHECKED=353 -UNION=354 -UNIQUE=355 -UNLOCK=356 -UNPIVOT=357 -UNSAFE=358 -UPDATE=359 -UPDATETEXT=360 -URL=361 -USE=362 -USED=363 -USER=364 -VALUES=365 -VARYING=366 -VERBOSELOGGING=367 -VIEW=368 -VISIBILITY=369 -WAITFOR=370 -WHEN=371 -WHERE=372 -WHILE=373 -WINDOWS=374 -WITH=375 -WITHIN=376 -WITHOUT=377 -WITNESS=378 -WRITETEXT=379 -ABSOLUTE=380 -ACCENT_SENSITIVITY=381 -ACTION=382 -ACTIVATION=383 -ACTIVE=384 -ADDRESS=385 -AES_128=386 -AES_192=387 -AES_256=388 -AFFINITY=389 -AFTER=390 -AGGREGATE=391 -ALGORITHM=392 -ALLOW_ENCRYPTED_VALUE_MODIFICATIONS=393 -ALLOW_SNAPSHOT_ISOLATION=394 -ALLOWED=395 -ANSI_NULL_DEFAULT=396 -ANSI_NULLS=397 -ANSI_PADDING=398 -ANSI_WARNINGS=399 -APPLICATION_LOG=400 -APPLY=401 -ARITHABORT=402 -ASSEMBLY=403 -AUDIT=404 -AUDIT_GUID=405 -AUTO=406 -AUTO_CLEANUP=407 -AUTO_CLOSE=408 -AUTO_CREATE_STATISTICS=409 -AUTO_SHRINK=410 -AUTO_UPDATE_STATISTICS=411 -AUTO_UPDATE_STATISTICS_ASYNC=412 -AVAILABILITY=413 -AVG=414 -BACKUP_PRIORITY=415 -BEGIN_DIALOG=416 -BIGINT=417 -BINARY_BASE64=418 -BINARY_CHECKSUM=419 -BINDING=420 -BLOB_STORAGE=421 -BROKER=422 -BROKER_INSTANCE=423 -BULK_LOGGED=424 -CALLER=425 -CAP_CPU_PERCENT=426 -CAST=427 -CATALOG=428 -CATCH=429 -CHANGE_RETENTION=430 -CHANGE_TRACKING=431 -CHECKSUM=432 -CHECKSUM_AGG=433 -CLEANUP=434 -COLLECTION=435 -COLUMN_MASTER_KEY=436 -COMMITTED=437 -COMPATIBILITY_LEVEL=438 -CONCAT=439 -CONCAT_NULL_YIELDS_NULL=440 -CONTENT=441 -CONTROL=442 -COOKIE=443 -COUNT=444 -COUNT_BIG=445 -COUNTER=446 -CPU=447 -CREATE_NEW=448 -CREATION_DISPOSITION=449 -CREDENTIAL=450 -CRYPTOGRAPHIC=451 -CURSOR_CLOSE_ON_COMMIT=452 -CURSOR_DEFAULT=453 -DATA=454 -DATE_CORRELATION_OPTIMIZATION=455 -DATEADD=456 -DATEDIFF=457 -DATENAME=458 -DATEPART=459 -DAYS=460 -DB_CHAINING=461 -DB_FAILOVER=462 -DECRYPTION=463 -DEFAULT_DOUBLE_QUOTE=464 -DEFAULT_FULLTEXT_LANGUAGE=465 -DEFAULT_LANGUAGE=466 -DELAY=467 -DELAYED_DURABILITY=468 -DELETED=469 -DENSE_RANK=470 -DEPENDENTS=471 -DES=472 -DESCRIPTION=473 -DESX=474 -DHCP=475 -DIALOG=476 -DIRECTORY_NAME=477 -DISABLE=478 -DISABLE_BROKER=479 -DISABLED=480 -DISK_DRIVE=481 -DOCUMENT=482 -DYNAMIC=483 -ELEMENTS=484 -EMERGENCY=485 -EMPTY=486 -ENABLE=487 -ENABLE_BROKER=488 -ENCRYPTED_VALUE=489 -ENCRYPTION=490 -ENDPOINT_URL=491 -ERROR_BROKER_CONVERSATIONS=492 -EXCLUSIVE=493 -EXECUTABLE=494 -EXIST=495 -EXPAND=496 -EXPIRY_DATE=497 -EXPLICIT=498 -FAIL_OPERATION=499 -FAILOVER_MODE=500 -FAILURE=501 -FAILURE_CONDITION_LEVEL=502 -FAST=503 -FAST_FORWARD=504 -FILEGROUP=505 -FILEGROWTH=506 -FILEPATH=507 -FILESTREAM=508 -FILTER=509 -FIRST=510 -FIRST_VALUE=511 -FOLLOWING=512 -FORCE=513 -FORCE_FAILOVER_ALLOW_DATA_LOSS=514 -FORCED=515 -FORMAT=516 -FORWARD_ONLY=517 -FULLSCAN=518 -FULLTEXT=519 -GB=520 -GETDATE=521 -GETUTCDATE=522 -GLOBAL=523 -GO=524 -GROUP_MAX_REQUESTS=525 -GROUPING=526 -GROUPING_ID=527 -HADR=528 -HASH=529 -HEALTH_CHECK_TIMEOUT=530 -HIGH=531 -HONOR_BROKER_PRIORITY=532 -HOURS=533 -IDENTITY_VALUE=534 -IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX=535 -IMMEDIATE=536 -IMPERSONATE=537 -IMPORTANCE=538 -INCLUDE_NULL_VALUES=539 -INCREMENTAL=540 -INITIATOR=541 -INPUT=542 -INSENSITIVE=543 -INSERTED=544 -INT=545 -IP=546 -ISOLATION=547 -JOB=548 -JSON=549 -KB=550 -KEEP=551 -KEEPFIXED=552 -KEY_SOURCE=553 -KEYS=554 -KEYSET=555 -LAG=556 -LAST=557 -LAST_VALUE=558 -LEAD=559 -LEVEL=560 -LIST=561 -LISTENER=562 -LISTENER_URL=563 -LOB_COMPACTION=564 -LOCAL=565 -LOCATION=566 -LOCK=567 -LOCK_ESCALATION=568 -LOGIN=569 -LOOP=570 -LOW=571 -MANUAL=572 -MARK=573 -MATERIALIZED=574 -MAX=575 -MAX_CPU_PERCENT=576 -MAX_DOP=577 -MAX_FILES=578 -MAX_IOPS_PER_VOLUME=579 -MAX_MEMORY_PERCENT=580 -MAX_PROCESSES=581 -MAX_QUEUE_READERS=582 -MAX_ROLLOVER_FILES=583 -MAXDOP=584 -MAXRECURSION=585 -MAXSIZE=586 -MB=587 -MEDIUM=588 -MEMORY_OPTIMIZED_DATA=589 -MESSAGE=590 -MIN=591 -MIN_ACTIVE_ROWVERSION=592 -MIN_CPU_PERCENT=593 -MIN_IOPS_PER_VOLUME=594 -MIN_MEMORY_PERCENT=595 -MINUTES=596 -MIRROR_ADDRESS=597 -MIXED_PAGE_ALLOCATION=598 -MODE=599 -MODIFY=600 -MOVE=601 -MULTI_USER=602 -NAME=603 -NESTED_TRIGGERS=604 -NEW_ACCOUNT=605 -NEW_BROKER=606 -NEW_PASSWORD=607 -NEXT=608 -NO=609 -NO_TRUNCATE=610 -NO_WAIT=611 -NOCOUNT=612 -NODES=613 -NOEXPAND=614 -NON_TRANSACTED_ACCESS=615 -NORECOMPUTE=616 -NORECOVERY=617 -NOWAIT=618 -NTILE=619 -NUMANODE=620 -NUMBER=621 -NUMERIC_ROUNDABORT=622 -OBJECT=623 -OFFLINE=624 -OFFSET=625 -OLD_ACCOUNT=626 -ONLINE=627 -ONLY=628 -OPEN_EXISTING=629 -OPTIMISTIC=630 -OPTIMIZE=631 -OUT=632 -OUTPUT=633 -OVERRIDE=634 -OWNER=635 -PAGE_VERIFY=636 -PARAMETERIZATION=637 -PARTITION=638 -PARTITIONS=639 -PARTNER=640 -PATH=641 -POISON_MESSAGE_HANDLING=642 -POOL=643 -PORT=644 -PRECEDING=645 -PRIMARY_ROLE=646 -PRIOR=647 -PRIORITY=648 -PRIORITY_LEVEL=649 -PRIVATE=650 -PRIVATE_KEY=651 -PRIVILEGES=652 -PROCEDURE_NAME=653 -PROPERTY=654 -PROVIDER=655 -PROVIDER_KEY_NAME=656 -QUERY=657 -QUEUE=658 -QUEUE_DELAY=659 -QUOTED_IDENTIFIER=660 -RANGE=661 -RANK=662 -RC2=663 -RC4=664 -RC4_128=665 -READ_COMMITTED_SNAPSHOT=666 -READ_ONLY=667 -READ_ONLY_ROUTING_LIST=668 -READ_WRITE=669 -READONLY=670 -REBUILD=671 -RECEIVE=672 -RECOMPILE=673 -RECOVERY=674 -RECURSIVE_TRIGGERS=675 -RELATIVE=676 -REMOTE=677 -REMOTE_SERVICE_NAME=678 -REMOVE=679 -REORGANIZE=680 -REPEATABLE=681 -REPLICA=682 -REQUEST_MAX_CPU_TIME_SEC=683 -REQUEST_MAX_MEMORY_GRANT_PERCENT=684 -REQUEST_MEMORY_GRANT_TIMEOUT_SEC=685 -REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT=686 -RESERVE_DISK_SPACE=687 -RESOURCE=688 -RESOURCE_MANAGER_LOCATION=689 -RESTRICTED_USER=690 -RETENTION=691 -ROBUST=692 -ROOT=693 -ROUTE=694 -ROW=695 -ROW_NUMBER=696 -ROWGUID=697 -ROWS=698 -SAMPLE=699 -SCHEMABINDING=700 -SCOPED=701 -SCROLL=702 -SCROLL_LOCKS=703 -SEARCH=704 -SECONDARY=705 -SECONDARY_ONLY=706 -SECONDARY_ROLE=707 -SECONDS=708 -SECRET=709 -SECURITY=710 -SECURITY_LOG=711 -SEEDING_MODE=712 -SELF=713 -SEMI_SENSITIVE=714 -SEND=715 -SENT=716 -SEQUENCE=717 -SERIALIZABLE=718 -SESSION_TIMEOUT=719 -SETERROR=720 -SHARE=721 -SHOWPLAN=722 -SIGNATURE=723 -SIMPLE=724 -SINGLE_USER=725 -SIZE=726 -SMALLINT=727 -SNAPSHOT=728 -SPATIAL_WINDOW_MAX_CELLS=729 -STANDBY=730 -START_DATE=731 -STATIC=732 -STATS_STREAM=733 -STATUS=734 -STATUSONLY=735 -STDEV=736 -STDEVP=737 -STOPLIST=738 -STRING_AGG=739 -STUFF=740 -SUBJECT=741 -SUBSCRIPTION=742 -SUM=743 -SUSPEND=744 -SYMMETRIC=745 -SYNCHRONOUS_COMMIT=746 -SYNONYM=747 -SYSTEM=748 -TAKE=749 -TARGET_RECOVERY_TIME=750 -TB=751 -TEXTIMAGE_ON=752 -THROW=753 -TIES=754 -TIME=755 -TIMEOUT=756 -TIMER=757 -TINYINT=758 -TORN_PAGE_DETECTION=759 -TRANSFORM_NOISE_WORDS=760 -TRIPLE_DES=761 -TRIPLE_DES_3KEY=762 -TRUSTWORTHY=763 -TRY=764 -TSQL=765 -TWO_DIGIT_YEAR_CUTOFF=766 -TYPE=767 -TYPE_WARNING=768 -UNBOUNDED=769 -UNCOMMITTED=770 -UNKNOWN=771 -UNLIMITED=772 -UOW=773 -USING=774 -VALID_XML=775 -VALIDATION=776 -VALUE=777 -VAR=778 -VARP=779 -VIEW_METADATA=780 -VIEWS=781 -WAIT=782 -WELL_FORMED_XML=783 -WITHOUT_ARRAY_WRAPPER=784 -WORK=785 -WORKLOAD=786 -XML=787 -XMLDATA=788 -XMLNAMESPACES=789 -XMLSCHEMA=790 -XSINIL=791 -DOLLAR_ACTION=792 -SPACE=793 -COMMENT=794 -LINE_COMMENT=795 -DOUBLE_QUOTE_ID=796 -SINGLE_QUOTE=797 -SQUARE_BRACKET_ID=798 -LOCAL_ID=799 -DECIMAL=800 -ID=801 -QUOTED_URL=802 -QUOTED_HOST_AND_PORT=803 -STRING=804 -BINARY=805 -FLOAT=806 -REAL=807 -EQUAL=808 -GREATER=809 -LESS=810 -EXCLAMATION=811 -PLUS_ASSIGN=812 -MINUS_ASSIGN=813 -MULT_ASSIGN=814 -DIV_ASSIGN=815 -MOD_ASSIGN=816 -AND_ASSIGN=817 -XOR_ASSIGN=818 -OR_ASSIGN=819 -DOUBLE_BAR=820 -DOT=821 -UNDERLINE=822 -AT=823 -SHARP=824 -DOLLAR=825 -LR_BRACKET=826 -RR_BRACKET=827 -COMMA=828 -SEMI=829 -COLON=830 -STAR=831 -DIVIDE=832 -MODULE=833 -PLUS=834 -MINUS=835 -BIT_NOT=836 -BIT_OR=837 -BIT_AND=838 -BIT_XOR=839 -IPV4_OCTECT=840 -'ABSENT'=1 -'ADD'=2 -'AES'=3 -'ALL'=4 -'ALLOW_CONNECTIONS'=5 -'ALLOW_MULTIPLE_EVENT_LOSS'=6 -'ALLOW_SINGLE_EVENT_LOSS'=7 -'ALTER'=8 -'AND'=9 -'ANONYMOUS'=10 -'ANY'=11 -'APPEND'=12 -'APPLICATION'=13 -'AS'=14 -'ASC'=15 -'ASYMMETRIC'=16 -'ASYNCHRONOUS_COMMIT'=17 -'AUTHORIZATION'=18 -'AUTHENTICATION'=19 -'AUTOMATED_BACKUP_PREFERENCE'=20 -'AUTOMATIC'=21 -'AVAILABILITY_MODE'=22 -'\\'=23 -'BACKUP'=24 -'BEFORE'=25 -'BEGIN'=26 -'BETWEEN'=27 -'BLOCK'=28 -'BLOCKSIZE'=29 -'BLOCKING_HIERARCHY'=30 -'BREAK'=31 -'BROWSE'=32 -'BUFFER'=33 -'BUFFERCOUNT'=34 -'BULK'=35 -'BY'=36 -'CACHE'=37 -'CALLED'=38 -'CASCADE'=39 -'CASE'=40 -'CERTIFICATE'=41 -'CHANGETABLE'=42 -'CHANGES'=43 -'CHECK'=44 -'CHECKPOINT'=45 -'CHECK_POLICY'=46 -'CHECK_EXPIRATION'=47 -'CLASSIFIER_FUNCTION'=48 -'CLOSE'=49 -'CLUSTER'=50 -'CLUSTERED'=51 -'COALESCE'=52 -'COLLATE'=53 -'COLUMN'=54 -'COMPRESSION'=55 -'COMMIT'=56 -'COMPUTE'=57 -'CONFIGURATION'=58 -'CONSTRAINT'=59 -'CONTAINMENT'=60 -'CONTAINS'=61 -'CONTAINSTABLE'=62 -'CONTEXT'=63 -'CONTINUE'=64 -'CONTINUE_AFTER_ERROR'=65 -'CONTRACT'=66 -'CONTRACT_NAME'=67 -'CONVERSATION'=68 -'COPY_ONLY'=70 -'CREATE'=71 -'CROSS'=72 -'CURRENT'=73 -'CURRENT_DATE'=74 -'CURRENT_TIME'=75 -'CURRENT_TIMESTAMP'=76 -'CURRENT_USER'=77 -'CURSOR'=78 -'CYCLE'=79 -'DATA_COMPRESSION'=80 -'DATA_SOURCE'=81 -'DATABASE'=82 -'DATABASE_MIRRORING'=83 -'DBCC'=84 -'DEALLOCATE'=85 -'DECLARE'=86 -'DEFAULT'=87 -'DEFAULT_DATABASE'=88 -'DEFAULT_SCHEMA'=89 -'DELETE'=90 -'DENY'=91 -'DESC'=92 -'DIAGNOSTICS'=93 -'DIFFERENTIAL'=94 -'DISK'=95 -'DISTINCT'=96 -'DISTRIBUTED'=97 -'DOUBLE'=98 -'\\\\'=99 -'//'=100 -'DROP'=101 -'DTC_SUPPORT'=102 -'DUMP'=103 -'ELSE'=104 -'ENABLED'=105 -'END'=106 -'ENDPOINT'=107 -'ERRLVL'=108 -'ESCAPE'=109 -'ERROR'=110 -'EVENT'=111 -'EVENT_RETENTION_MODE'=113 -'EXCEPT'=114 -'EXECUTABLE_FILE'=115 -'EXISTS'=117 -'EXPIREDATE'=118 -'EXIT'=119 -'EXTENSION'=120 -'EXTERNAL'=121 -'EXTERNAL_ACCESS'=122 -'FAILOVER'=123 -'FAILURECONDITIONLEVEL'=124 -'FAN_IN'=125 -'FETCH'=126 -'FILE'=127 -'FILENAME'=128 -'FILLFACTOR'=129 -'FILE_SNAPSHOT'=130 -'FOR'=131 -'FORCESEEK'=132 -'FORCE_SERVICE_ALLOW_DATA_LOSS'=133 -'FOREIGN'=134 -'FREETEXT'=135 -'FREETEXTTABLE'=136 -'FROM'=137 -'FULL'=138 -'FUNCTION'=139 -'GET'=140 -'GOTO'=141 -'GOVERNOR'=142 -'GRANT'=143 -'GROUP'=144 -'HAVING'=145 -'HASHED'=146 -'HEALTHCHECKTIMEOUT'=147 -'IDENTITY'=148 -'IDENTITYCOL'=149 -'IDENTITY_INSERT'=150 -'IF'=151 -'IIF'=152 -'IN'=153 -'INCLUDE'=154 -'INCREMENT'=155 -'INDEX'=156 -'INFINITE'=157 -'INIT'=158 -'INNER'=159 -'INSERT'=160 -'INSTEAD'=161 -'INTERSECT'=162 -'INTO'=163 -'IS'=166 -'ISNULL'=167 -'JOIN'=168 -'KERBEROS'=169 -'KEY'=170 -'KEY_PATH'=171 -'KEY_STORE_PROVIDER_NAME'=172 -'KILL'=173 -'LANGUAGE'=174 -'LEFT'=175 -'LIBRARY'=176 -'LIFETIME'=177 -'LIKE'=178 -'LINENO'=179 -'LINUX'=180 -'LISTENER_IP'=181 -'LISTENER_PORT'=182 -'LOAD'=183 -'LOCAL_SERVICE_NAME'=184 -'LOG'=185 -'MATCHED'=186 -'MASTER'=187 -'MAX_MEMORY'=188 -'MAXTRANSFER'=189 -'MAXVALUE'=190 -'MAX_DISPATCH_LATENCY'=191 -'MAX_EVENT_SIZE'=192 -'MAX_SIZE'=193 -'MAX_OUTSTANDING_IO_PER_VOLUME'=194 -'MEDIADESCRIPTION'=195 -'MEDIANAME'=196 -'MEMBER'=197 -'MEMORY_PARTITION_MODE'=198 -'MERGE'=199 -'MESSAGE_FORWARDING'=200 -'MESSAGE_FORWARD_SIZE'=201 -'MINVALUE'=202 -'MIRROR'=203 -'MUST_CHANGE'=204 -'NATIONAL'=205 -'NEGOTIATE'=206 -'NOCHECK'=207 -'NOFORMAT'=208 -'NOINIT'=209 -'NONCLUSTERED'=210 -'NONE'=211 -'NOREWIND'=212 -'NOSKIP'=213 -'NOUNLOAD'=214 -'NO_CHECKSUM'=215 -'NO_COMPRESSION'=216 -'NO_EVENT_LOSS'=217 -'NOT'=218 -'NOTIFICATION'=219 -'NTLM'=220 -'NULL'=221 -'NULLIF'=222 -'OF'=223 -'OFF'=224 -'OFFSETS'=225 -'OLD_PASSWORD'=226 -'ON'=227 -'ON_FAILURE'=228 -'OPEN'=229 -'OPENDATASOURCE'=230 -'OPENQUERY'=231 -'OPENROWSET'=232 -'OPENXML'=233 -'OPTION'=234 -'OR'=235 -'ORDER'=236 -'OUTER'=237 -'OVER'=238 -'PAGE'=239 -'PARAM_NODE'=240 -'PARTIAL'=241 -'PASSWORD'=242 -'PERCENT'=243 -'PERMISSION_SET'=244 -'PER_CPU'=245 -'PER_DB'=246 -'PER_NODE'=247 -'PIVOT'=248 -'PLAN'=249 -'PLATFORM'=250 -'POLICY'=251 -'PRECISION'=252 -'PREDICATE'=253 -'PRIMARY'=254 -'PRINT'=255 -'PROC'=256 -'PROCEDURE'=257 -'PROCESS'=258 -'PUBLIC'=259 -'PYTHON'=260 -'R'=261 -'RAISERROR'=262 -'RAW'=263 -'READ'=264 -'READTEXT'=265 -'READ_WRITE_FILEGROUPS'=266 -'RECONFIGURE'=267 -'REFERENCES'=268 -'REGENERATE'=269 -'RELATED_CONVERSATION'=270 -'RELATED_CONVERSATION_GROUP'=271 -'REPLICATION'=272 -'REQUIRED'=273 -'RESET'=274 -'RESTART'=275 -'RESTORE'=276 -'RESTRICT'=277 -'RESUME'=278 -'RETAINDAYS'=279 -'RETURN'=280 -'RETURNS'=281 -'REVERT'=282 -'REVOKE'=283 -'REWIND'=284 -'RIGHT'=285 -'ROLLBACK'=286 -'ROLE'=287 -'ROWCOUNT'=288 -'ROWGUIDCOL'=289 -'RSA_512'=290 -'RSA_1024'=291 -'RSA_2048'=292 -'RSA_3072'=293 -'RSA_4096'=294 -'SAFETY'=295 -'RULE'=296 -'SAFE'=297 -'SAVE'=298 -'SCHEDULER'=299 -'SCHEMA'=300 -'SCHEME'=301 -'SECURITYAUDIT'=302 -'SELECT'=303 -'SEMANTICKEYPHRASETABLE'=304 -'SEMANTICSIMILARITYDETAILSTABLE'=305 -'SEMANTICSIMILARITYTABLE'=306 -'SERVER'=307 -'SERVICE'=308 -'SERVICE_BROKER'=309 -'SERVICE_NAME'=310 -'SESSION'=311 -'SESSION_USER'=312 -'SET'=313 -'SETUSER'=314 -'SHUTDOWN'=315 -'SID'=316 -'SKIP'=317 -'SOFTNUMA'=318 -'SOME'=319 -'SOURCE'=320 -'SPECIFICATION'=321 -'SPLIT'=322 -'SQLDUMPERFLAGS'=323 -'SQLDUMPERPATH'=324 -'SQLDUMPERTIMEOUTS'=325 -'STATISTICS'=326 -'STATE'=327 -'STATS'=328 -'START'=329 -'STARTED'=330 -'STARTUP_STATE'=331 -'STOP'=332 -'STOPPED'=333 -'STOP_ON_ERROR'=334 -'SUPPORTED'=335 -'SYSTEM_USER'=336 -'TABLE'=337 -'TABLESAMPLE'=338 -'TAPE'=339 -'TARGET'=340 -'TCP'=341 -'TEXTSIZE'=342 -'THEN'=343 -'TO'=344 -'TOP'=345 -'TRACK_CAUSALITY'=346 -'TRAN'=347 -'TRANSACTION'=348 -'TRANSFER'=349 -'TRIGGER'=350 -'TRUNCATE'=351 -'TSEQUAL'=352 -'UNCHECKED'=353 -'UNION'=354 -'UNIQUE'=355 -'UNLOCK'=356 -'UNPIVOT'=357 -'UNSAFE'=358 -'UPDATE'=359 -'UPDATETEXT'=360 -'URL'=361 -'USE'=362 -'USED'=363 -'USER'=364 -'VALUES'=365 -'VARYING'=366 -'VERBOSELOGGING'=367 -'VIEW'=368 -'VISIBILITY'=369 -'WAITFOR'=370 -'WHEN'=371 -'WHERE'=372 -'WHILE'=373 -'WINDOWS'=374 -'WITH'=375 -'WITHIN'=376 -'WITHOUT'=377 -'WITNESS'=378 -'WRITETEXT'=379 -'ABSOLUTE'=380 -'ACCENT_SENSITIVITY'=381 -'ACTION'=382 -'ACTIVATION'=383 -'ACTIVE'=384 -'ADDRESS'=385 -'AES_128'=386 -'AES_192'=387 -'AES_256'=388 -'AFFINITY'=389 -'AFTER'=390 -'AGGREGATE'=391 -'ALGORITHM'=392 -'ALLOW_ENCRYPTED_VALUE_MODIFICATIONS'=393 -'ALLOW_SNAPSHOT_ISOLATION'=394 -'ALLOWED'=395 -'ANSI_NULL_DEFAULT'=396 -'ANSI_NULLS'=397 -'ANSI_PADDING'=398 -'ANSI_WARNINGS'=399 -'APPLICATION_LOG'=400 -'APPLY'=401 -'ARITHABORT'=402 -'ASSEMBLY'=403 -'AUDIT'=404 -'AUDIT_GUID'=405 -'AUTO'=406 -'AUTO_CLEANUP'=407 -'AUTO_CLOSE'=408 -'AUTO_CREATE_STATISTICS'=409 -'AUTO_SHRINK'=410 -'AUTO_UPDATE_STATISTICS'=411 -'AUTO_UPDATE_STATISTICS_ASYNC'=412 -'AVAILABILITY'=413 -'AVG'=414 -'BACKUP_PRIORITY'=415 -'BEGIN_DIALOG'=416 -'BIGINT'=417 -'BINARY BASE64'=418 -'BINARY_CHECKSUM'=419 -'BINDING'=420 -'BLOB_STORAGE'=421 -'BROKER'=422 -'BROKER_INSTANCE'=423 -'BULK_LOGGED'=424 -'CALLER'=425 -'CAP_CPU_PERCENT'=426 -'CATALOG'=428 -'CATCH'=429 -'CHANGE_RETENTION'=430 -'CHANGE_TRACKING'=431 -'CHECKSUM'=432 -'CHECKSUM_AGG'=433 -'CLEANUP'=434 -'COLLECTION'=435 -'COLUMN_MASTER_KEY'=436 -'COMMITTED'=437 -'COMPATIBILITY_LEVEL'=438 -'CONCAT'=439 -'CONCAT_NULL_YIELDS_NULL'=440 -'CONTENT'=441 -'CONTROL'=442 -'COOKIE'=443 -'COUNT'=444 -'COUNT_BIG'=445 -'COUNTER'=446 -'CPU'=447 -'CREATE_NEW'=448 -'CREATION_DISPOSITION'=449 -'CREDENTIAL'=450 -'CRYPTOGRAPHIC'=451 -'CURSOR_CLOSE_ON_COMMIT'=452 -'CURSOR_DEFAULT'=453 -'DATA'=454 -'DATE_CORRELATION_OPTIMIZATION'=455 -'DATEADD'=456 -'DATEDIFF'=457 -'DATENAME'=458 -'DATEPART'=459 -'DAYS'=460 -'DB_CHAINING'=461 -'DB_FAILOVER'=462 -'DECRYPTION'=463 -'DEFAULT_FULLTEXT_LANGUAGE'=465 -'DEFAULT_LANGUAGE'=466 -'DELAY'=467 -'DELAYED_DURABILITY'=468 -'DELETED'=469 -'DENSE_RANK'=470 -'DEPENDENTS'=471 -'DES'=472 -'DESCRIPTION'=473 -'DESX'=474 -'DHCP'=475 -'DIALOG'=476 -'DIRECTORY_NAME'=477 -'DISABLE'=478 -'DISABLE_BROKER'=479 -'DISABLED'=480 -'DOCUMENT'=482 -'DYNAMIC'=483 -'ELEMENTS'=484 -'EMERGENCY'=485 -'EMPTY'=486 -'ENABLE'=487 -'ENABLE_BROKER'=488 -'ENCRYPTED_VALUE'=489 -'ENCRYPTION'=490 -'ENDPOINT_URL'=491 -'ERROR_BROKER_CONVERSATIONS'=492 -'EXCLUSIVE'=493 -'EXECUTABLE'=494 -'EXIST'=495 -'EXPAND'=496 -'EXPIRY_DATE'=497 -'EXPLICIT'=498 -'FAIL_OPERATION'=499 -'FAILOVER_MODE'=500 -'FAILURE'=501 -'FAILURE_CONDITION_LEVEL'=502 -'FAST'=503 -'FAST_FORWARD'=504 -'FILEGROUP'=505 -'FILEGROWTH'=506 -'FILEPATH'=507 -'FILESTREAM'=508 -'FILTER'=509 -'FIRST'=510 -'FIRST_VALUE'=511 -'FOLLOWING'=512 -'FORCE'=513 -'FORCE_FAILOVER_ALLOW_DATA_LOSS'=514 -'FORCED'=515 -'FORMAT'=516 -'FORWARD_ONLY'=517 -'FULLSCAN'=518 -'FULLTEXT'=519 -'GB'=520 -'GETDATE'=521 -'GETUTCDATE'=522 -'GLOBAL'=523 -'GO'=524 -'GROUP_MAX_REQUESTS'=525 -'GROUPING'=526 -'GROUPING_ID'=527 -'HADR'=528 -'HASH'=529 -'HEALTH_CHECK_TIMEOUT'=530 -'HIGH'=531 -'HONOR_BROKER_PRIORITY'=532 -'HOURS'=533 -'IDENTITY_VALUE'=534 -'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX'=535 -'IMMEDIATE'=536 -'IMPERSONATE'=537 -'IMPORTANCE'=538 -'INCLUDE_NULL_VALUES'=539 -'INCREMENTAL'=540 -'INITIATOR'=541 -'INPUT'=542 -'INSENSITIVE'=543 -'INSERTED'=544 -'INT'=545 -'IP'=546 -'ISOLATION'=547 -'JOB'=548 -'JSON'=549 -'KB'=550 -'KEEP'=551 -'KEEPFIXED'=552 -'KEY_SOURCE'=553 -'KEYS'=554 -'KEYSET'=555 -'LAG'=556 -'LAST'=557 -'LAST_VALUE'=558 -'LEAD'=559 -'LEVEL'=560 -'LIST'=561 -'LISTENER'=562 -'LISTENER_URL'=563 -'LOB_COMPACTION'=564 -'LOCAL'=565 -'LOCATION'=566 -'LOCK'=567 -'LOCK_ESCALATION'=568 -'LOGIN'=569 -'LOOP'=570 -'LOW'=571 -'MANUAL'=572 -'MARK'=573 -'MATERIALIZED'=574 -'MAX'=575 -'MAX_CPU_PERCENT'=576 -'MAX_DOP'=577 -'MAX_FILES'=578 -'MAX_IOPS_PER_VOLUME'=579 -'MAX_MEMORY_PERCENT'=580 -'MAX_PROCESSES'=581 -'MAX_QUEUE_READERS'=582 -'MAX_ROLLOVER_FILES'=583 -'MAXDOP'=584 -'MAXRECURSION'=585 -'MAXSIZE'=586 -'MB'=587 -'MEDIUM'=588 -'MEMORY_OPTIMIZED_DATA'=589 -'MESSAGE'=590 -'MIN'=591 -'MIN_ACTIVE_ROWVERSION'=592 -'MIN_CPU_PERCENT'=593 -'MIN_IOPS_PER_VOLUME'=594 -'MIN_MEMORY_PERCENT'=595 -'MINUTES'=596 -'MIRROR_ADDRESS'=597 -'MIXED_PAGE_ALLOCATION'=598 -'MODE'=599 -'MODIFY'=600 -'MOVE'=601 -'MULTI_USER'=602 -'NAME'=603 -'NESTED_TRIGGERS'=604 -'NEW_ACCOUNT'=605 -'NEW_BROKER'=606 -'NEW_PASSWORD'=607 -'NEXT'=608 -'NO'=609 -'NO_TRUNCATE'=610 -'NO_WAIT'=611 -'NOCOUNT'=612 -'NODES'=613 -'NOEXPAND'=614 -'NON_TRANSACTED_ACCESS'=615 -'NORECOMPUTE'=616 -'NORECOVERY'=617 -'NOWAIT'=618 -'NTILE'=619 -'NUMANODE'=620 -'NUMBER'=621 -'NUMERIC_ROUNDABORT'=622 -'OBJECT'=623 -'OFFLINE'=624 -'OFFSET'=625 -'OLD_ACCOUNT'=626 -'ONLINE'=627 -'ONLY'=628 -'OPEN_EXISTING'=629 -'OPTIMISTIC'=630 -'OPTIMIZE'=631 -'OUT'=632 -'OUTPUT'=633 -'OVERRIDE'=634 -'OWNER'=635 -'PAGE_VERIFY'=636 -'PARAMETERIZATION'=637 -'PARTITION'=638 -'PARTITIONS'=639 -'PARTNER'=640 -'PATH'=641 -'POISON_MESSAGE_HANDLING'=642 -'POOL'=643 -'PORT'=644 -'PRECEDING'=645 -'PRIMARY_ROLE'=646 -'PRIOR'=647 -'PRIORITY'=648 -'PRIORITY_LEVEL'=649 -'PRIVATE'=650 -'PRIVATE_KEY'=651 -'PRIVILEGES'=652 -'PROCEDURE_NAME'=653 -'PROPERTY'=654 -'PROVIDER'=655 -'PROVIDER_KEY_NAME'=656 -'QUERY'=657 -'QUEUE'=658 -'QUEUE_DELAY'=659 -'QUOTED_IDENTIFIER'=660 -'RANGE'=661 -'RANK'=662 -'RC2'=663 -'RC4'=664 -'RC4_128'=665 -'READ_COMMITTED_SNAPSHOT'=666 -'READ_ONLY'=667 -'READ_ONLY_ROUTING_LIST'=668 -'READ_WRITE'=669 -'READONLY'=670 -'REBUILD'=671 -'RECEIVE'=672 -'RECOMPILE'=673 -'RECOVERY'=674 -'RECURSIVE_TRIGGERS'=675 -'RELATIVE'=676 -'REMOTE'=677 -'REMOTE_SERVICE_NAME'=678 -'REMOVE'=679 -'REORGANIZE'=680 -'REPEATABLE'=681 -'REPLICA'=682 -'REQUEST_MAX_CPU_TIME_SEC'=683 -'REQUEST_MAX_MEMORY_GRANT_PERCENT'=684 -'REQUEST_MEMORY_GRANT_TIMEOUT_SEC'=685 -'REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT'=686 -'RESERVE_DISK_SPACE'=687 -'RESOURCE'=688 -'RESOURCE_MANAGER_LOCATION'=689 -'RESTRICTED_USER'=690 -'RETENTION'=691 -'ROBUST'=692 -'ROOT'=693 -'ROUTE'=694 -'ROW'=695 -'ROW_NUMBER'=696 -'ROWGUID'=697 -'ROWS'=698 -'SAMPLE'=699 -'SCHEMABINDING'=700 -'SCOPED'=701 -'SCROLL'=702 -'SCROLL_LOCKS'=703 -'SEARCH'=704 -'SECONDARY'=705 -'SECONDARY_ONLY'=706 -'SECONDARY_ROLE'=707 -'SECONDS'=708 -'SECRET'=709 -'SECURITY'=710 -'SECURITY_LOG'=711 -'SEEDING_MODE'=712 -'SELF'=713 -'SEMI_SENSITIVE'=714 -'SEND'=715 -'SENT'=716 -'SEQUENCE'=717 -'SERIALIZABLE'=718 -'SESSION_TIMEOUT'=719 -'SETERROR'=720 -'SHARE'=721 -'SHOWPLAN'=722 -'SIGNATURE'=723 -'SIMPLE'=724 -'SINGLE_USER'=725 -'SIZE'=726 -'SMALLINT'=727 -'SNAPSHOT'=728 -'SPATIAL_WINDOW_MAX_CELLS'=729 -'STANDBY'=730 -'START_DATE'=731 -'STATIC'=732 -'STATS_STREAM'=733 -'STATUS'=734 -'STATUSONLY'=735 -'STDEV'=736 -'STDEVP'=737 -'STOPLIST'=738 -'STRING_AGG'=739 -'STUFF'=740 -'SUBJECT'=741 -'SUBSCRIPTION'=742 -'SUM'=743 -'SUSPEND'=744 -'SYMMETRIC'=745 -'SYNCHRONOUS_COMMIT'=746 -'SYNONYM'=747 -'SYSTEM'=748 -'TAKE'=749 -'TARGET_RECOVERY_TIME'=750 -'TB'=751 -'TEXTIMAGE_ON'=752 -'THROW'=753 -'TIES'=754 -'TIME'=755 -'TIMEOUT'=756 -'TIMER'=757 -'TINYINT'=758 -'TORN_PAGE_DETECTION'=759 -'TRANSFORM_NOISE_WORDS'=760 -'TRIPLE_DES'=761 -'TRIPLE_DES_3KEY'=762 -'TRUSTWORTHY'=763 -'TRY'=764 -'TSQL'=765 -'TWO_DIGIT_YEAR_CUTOFF'=766 -'TYPE'=767 -'TYPE_WARNING'=768 -'UNBOUNDED'=769 -'UNCOMMITTED'=770 -'UNKNOWN'=771 -'UNLIMITED'=772 -'UOW'=773 -'USING'=774 -'VALID_XML'=775 -'VALIDATION'=776 -'VALUE'=777 -'VAR'=778 -'VARP'=779 -'VIEW_METADATA'=780 -'VIEWS'=781 -'WAIT'=782 -'WELL_FORMED_XML'=783 -'WITHOUT_ARRAY_WRAPPER'=784 -'WORK'=785 -'WORKLOAD'=786 -'XML'=787 -'XMLDATA'=788 -'XMLNAMESPACES'=789 -'XMLSCHEMA'=790 -'XSINIL'=791 -'$ACTION'=792 -'\''=797 -'='=808 -'>'=809 -'<'=810 -'!'=811 -'+='=812 -'-='=813 -'*='=814 -'/='=815 -'%='=816 -'&='=817 -'^='=818 -'|='=819 -'||'=820 -'.'=821 -'_'=822 -'@'=823 -'#'=824 -'$'=825 -'('=826 -')'=827 -','=828 -';'=829 -':'=830 -'*'=831 -'/'=832 -'%'=833 -'+'=834 -'-'=835 -'~'=836 -'|'=837 -'&'=838 -'^'=839 diff --git a/src/grammar/tsql/parser/TSqlParserListener.js b/src/grammar/tsql/parser/TSqlParserListener.js deleted file mode 100644 index 9538ce5..0000000 --- a/src/grammar/tsql/parser/TSqlParserListener.js +++ /dev/null @@ -1,4632 +0,0 @@ -// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/tsql/TSqlParser.g4 by ANTLR 4.8 -// jshint ignore: start -var antlr4 = require('antlr4/index'); - -// This class defines a complete listener for a parse tree produced by TSqlParser. -function TSqlParserListener() { - antlr4.tree.ParseTreeListener.call(this); - return this; -} - -TSqlParserListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype); -TSqlParserListener.prototype.constructor = TSqlParserListener; - -// Enter a parse tree produced by TSqlParser#tsql_file. -TSqlParserListener.prototype.enterTsql_file = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#tsql_file. -TSqlParserListener.prototype.exitTsql_file = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#batch. -TSqlParserListener.prototype.enterBatch = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#batch. -TSqlParserListener.prototype.exitBatch = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#sql_clauses. -TSqlParserListener.prototype.enterSql_clauses = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#sql_clauses. -TSqlParserListener.prototype.exitSql_clauses = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#sql_clause. -TSqlParserListener.prototype.enterSql_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#sql_clause. -TSqlParserListener.prototype.exitSql_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#dml_clause. -TSqlParserListener.prototype.enterDml_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#dml_clause. -TSqlParserListener.prototype.exitDml_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#ddl_clause. -TSqlParserListener.prototype.enterDdl_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#ddl_clause. -TSqlParserListener.prototype.exitDdl_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#backup_statement. -TSqlParserListener.prototype.enterBackup_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#backup_statement. -TSqlParserListener.prototype.exitBackup_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#cfl_statement. -TSqlParserListener.prototype.enterCfl_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#cfl_statement. -TSqlParserListener.prototype.exitCfl_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#block_statement. -TSqlParserListener.prototype.enterBlock_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#block_statement. -TSqlParserListener.prototype.exitBlock_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#break_statement. -TSqlParserListener.prototype.enterBreak_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#break_statement. -TSqlParserListener.prototype.exitBreak_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#continue_statement. -TSqlParserListener.prototype.enterContinue_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#continue_statement. -TSqlParserListener.prototype.exitContinue_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#goto_statement. -TSqlParserListener.prototype.enterGoto_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#goto_statement. -TSqlParserListener.prototype.exitGoto_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#return_statement. -TSqlParserListener.prototype.enterReturn_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#return_statement. -TSqlParserListener.prototype.exitReturn_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#if_statement. -TSqlParserListener.prototype.enterIf_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#if_statement. -TSqlParserListener.prototype.exitIf_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#throw_statement. -TSqlParserListener.prototype.enterThrow_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#throw_statement. -TSqlParserListener.prototype.exitThrow_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#throw_error_number. -TSqlParserListener.prototype.enterThrow_error_number = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#throw_error_number. -TSqlParserListener.prototype.exitThrow_error_number = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#throw_message. -TSqlParserListener.prototype.enterThrow_message = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#throw_message. -TSqlParserListener.prototype.exitThrow_message = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#throw_state. -TSqlParserListener.prototype.enterThrow_state = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#throw_state. -TSqlParserListener.prototype.exitThrow_state = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#try_catch_statement. -TSqlParserListener.prototype.enterTry_catch_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#try_catch_statement. -TSqlParserListener.prototype.exitTry_catch_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#waitfor_statement. -TSqlParserListener.prototype.enterWaitfor_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#waitfor_statement. -TSqlParserListener.prototype.exitWaitfor_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#while_statement. -TSqlParserListener.prototype.enterWhile_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#while_statement. -TSqlParserListener.prototype.exitWhile_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#print_statement. -TSqlParserListener.prototype.enterPrint_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#print_statement. -TSqlParserListener.prototype.exitPrint_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#raiseerror_statement. -TSqlParserListener.prototype.enterRaiseerror_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#raiseerror_statement. -TSqlParserListener.prototype.exitRaiseerror_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#empty_statement. -TSqlParserListener.prototype.enterEmpty_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#empty_statement. -TSqlParserListener.prototype.exitEmpty_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#another_statement. -TSqlParserListener.prototype.enterAnother_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#another_statement. -TSqlParserListener.prototype.exitAnother_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_application_role. -TSqlParserListener.prototype.enterAlter_application_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_application_role. -TSqlParserListener.prototype.exitAlter_application_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_application_role. -TSqlParserListener.prototype.enterCreate_application_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_application_role. -TSqlParserListener.prototype.exitCreate_application_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_aggregate. -TSqlParserListener.prototype.enterDrop_aggregate = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_aggregate. -TSqlParserListener.prototype.exitDrop_aggregate = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_application_role. -TSqlParserListener.prototype.enterDrop_application_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_application_role. -TSqlParserListener.prototype.exitDrop_application_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly. -TSqlParserListener.prototype.enterAlter_assembly = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly. -TSqlParserListener.prototype.exitAlter_assembly = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_start. -TSqlParserListener.prototype.enterAlter_assembly_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_start. -TSqlParserListener.prototype.exitAlter_assembly_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_clause. -TSqlParserListener.prototype.enterAlter_assembly_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_clause. -TSqlParserListener.prototype.exitAlter_assembly_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_from_clause. -TSqlParserListener.prototype.enterAlter_assembly_from_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_from_clause. -TSqlParserListener.prototype.exitAlter_assembly_from_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_from_clause_start. -TSqlParserListener.prototype.enterAlter_assembly_from_clause_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_from_clause_start. -TSqlParserListener.prototype.exitAlter_assembly_from_clause_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_drop_clause. -TSqlParserListener.prototype.enterAlter_assembly_drop_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_drop_clause. -TSqlParserListener.prototype.exitAlter_assembly_drop_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_drop_multiple_files. -TSqlParserListener.prototype.enterAlter_assembly_drop_multiple_files = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_drop_multiple_files. -TSqlParserListener.prototype.exitAlter_assembly_drop_multiple_files = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_drop. -TSqlParserListener.prototype.enterAlter_assembly_drop = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_drop. -TSqlParserListener.prototype.exitAlter_assembly_drop = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_add_clause. -TSqlParserListener.prototype.enterAlter_assembly_add_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_add_clause. -TSqlParserListener.prototype.exitAlter_assembly_add_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_asssembly_add_clause_start. -TSqlParserListener.prototype.enterAlter_asssembly_add_clause_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_asssembly_add_clause_start. -TSqlParserListener.prototype.exitAlter_asssembly_add_clause_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_client_file_clause. -TSqlParserListener.prototype.enterAlter_assembly_client_file_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_client_file_clause. -TSqlParserListener.prototype.exitAlter_assembly_client_file_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_file_name. -TSqlParserListener.prototype.enterAlter_assembly_file_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_file_name. -TSqlParserListener.prototype.exitAlter_assembly_file_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_file_bits. -TSqlParserListener.prototype.enterAlter_assembly_file_bits = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_file_bits. -TSqlParserListener.prototype.exitAlter_assembly_file_bits = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_as. -TSqlParserListener.prototype.enterAlter_assembly_as = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_as. -TSqlParserListener.prototype.exitAlter_assembly_as = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_with_clause. -TSqlParserListener.prototype.enterAlter_assembly_with_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_with_clause. -TSqlParserListener.prototype.exitAlter_assembly_with_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_assembly_with. -TSqlParserListener.prototype.enterAlter_assembly_with = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_assembly_with. -TSqlParserListener.prototype.exitAlter_assembly_with = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#client_assembly_specifier. -TSqlParserListener.prototype.enterClient_assembly_specifier = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#client_assembly_specifier. -TSqlParserListener.prototype.exitClient_assembly_specifier = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#assembly_option. -TSqlParserListener.prototype.enterAssembly_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#assembly_option. -TSqlParserListener.prototype.exitAssembly_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#network_file_share. -TSqlParserListener.prototype.enterNetwork_file_share = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#network_file_share. -TSqlParserListener.prototype.exitNetwork_file_share = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#network_computer. -TSqlParserListener.prototype.enterNetwork_computer = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#network_computer. -TSqlParserListener.prototype.exitNetwork_computer = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#network_file_start. -TSqlParserListener.prototype.enterNetwork_file_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#network_file_start. -TSqlParserListener.prototype.exitNetwork_file_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#file_path. -TSqlParserListener.prototype.enterFile_path = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#file_path. -TSqlParserListener.prototype.exitFile_path = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#file_directory_path_separator. -TSqlParserListener.prototype.enterFile_directory_path_separator = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#file_directory_path_separator. -TSqlParserListener.prototype.exitFile_directory_path_separator = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#local_file. -TSqlParserListener.prototype.enterLocal_file = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#local_file. -TSqlParserListener.prototype.exitLocal_file = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#local_drive. -TSqlParserListener.prototype.enterLocal_drive = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#local_drive. -TSqlParserListener.prototype.exitLocal_drive = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#multiple_local_files. -TSqlParserListener.prototype.enterMultiple_local_files = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#multiple_local_files. -TSqlParserListener.prototype.exitMultiple_local_files = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#multiple_local_file_start. -TSqlParserListener.prototype.enterMultiple_local_file_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#multiple_local_file_start. -TSqlParserListener.prototype.exitMultiple_local_file_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_assembly. -TSqlParserListener.prototype.enterCreate_assembly = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_assembly. -TSqlParserListener.prototype.exitCreate_assembly = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_assembly. -TSqlParserListener.prototype.enterDrop_assembly = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_assembly. -TSqlParserListener.prototype.exitDrop_assembly = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_asymmetric_key. -TSqlParserListener.prototype.enterAlter_asymmetric_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_asymmetric_key. -TSqlParserListener.prototype.exitAlter_asymmetric_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_asymmetric_key_start. -TSqlParserListener.prototype.enterAlter_asymmetric_key_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_asymmetric_key_start. -TSqlParserListener.prototype.exitAlter_asymmetric_key_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#asymmetric_key_option. -TSqlParserListener.prototype.enterAsymmetric_key_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#asymmetric_key_option. -TSqlParserListener.prototype.exitAsymmetric_key_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#asymmetric_key_option_start. -TSqlParserListener.prototype.enterAsymmetric_key_option_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#asymmetric_key_option_start. -TSqlParserListener.prototype.exitAsymmetric_key_option_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#asymmetric_key_password_change_option. -TSqlParserListener.prototype.enterAsymmetric_key_password_change_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#asymmetric_key_password_change_option. -TSqlParserListener.prototype.exitAsymmetric_key_password_change_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_asymmetric_key. -TSqlParserListener.prototype.enterCreate_asymmetric_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_asymmetric_key. -TSqlParserListener.prototype.exitCreate_asymmetric_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_asymmetric_key. -TSqlParserListener.prototype.enterDrop_asymmetric_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_asymmetric_key. -TSqlParserListener.prototype.exitDrop_asymmetric_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_authorization. -TSqlParserListener.prototype.enterAlter_authorization = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_authorization. -TSqlParserListener.prototype.exitAlter_authorization = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#authorization_grantee. -TSqlParserListener.prototype.enterAuthorization_grantee = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#authorization_grantee. -TSqlParserListener.prototype.exitAuthorization_grantee = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#entity_to. -TSqlParserListener.prototype.enterEntity_to = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#entity_to. -TSqlParserListener.prototype.exitEntity_to = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#colon_colon. -TSqlParserListener.prototype.enterColon_colon = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#colon_colon. -TSqlParserListener.prototype.exitColon_colon = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_authorization_start. -TSqlParserListener.prototype.enterAlter_authorization_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_authorization_start. -TSqlParserListener.prototype.exitAlter_authorization_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_authorization_for_sql_database. -TSqlParserListener.prototype.enterAlter_authorization_for_sql_database = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_authorization_for_sql_database. -TSqlParserListener.prototype.exitAlter_authorization_for_sql_database = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_authorization_for_azure_dw. -TSqlParserListener.prototype.enterAlter_authorization_for_azure_dw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_authorization_for_azure_dw. -TSqlParserListener.prototype.exitAlter_authorization_for_azure_dw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_authorization_for_parallel_dw. -TSqlParserListener.prototype.enterAlter_authorization_for_parallel_dw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_authorization_for_parallel_dw. -TSqlParserListener.prototype.exitAlter_authorization_for_parallel_dw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#class_type. -TSqlParserListener.prototype.enterClass_type = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#class_type. -TSqlParserListener.prototype.exitClass_type = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#class_type_for_sql_database. -TSqlParserListener.prototype.enterClass_type_for_sql_database = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#class_type_for_sql_database. -TSqlParserListener.prototype.exitClass_type_for_sql_database = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#class_type_for_azure_dw. -TSqlParserListener.prototype.enterClass_type_for_azure_dw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#class_type_for_azure_dw. -TSqlParserListener.prototype.exitClass_type_for_azure_dw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#class_type_for_parallel_dw. -TSqlParserListener.prototype.enterClass_type_for_parallel_dw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#class_type_for_parallel_dw. -TSqlParserListener.prototype.exitClass_type_for_parallel_dw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_availability_group. -TSqlParserListener.prototype.enterDrop_availability_group = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_availability_group. -TSqlParserListener.prototype.exitDrop_availability_group = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_availability_group. -TSqlParserListener.prototype.enterAlter_availability_group = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_availability_group. -TSqlParserListener.prototype.exitAlter_availability_group = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_availability_group_start. -TSqlParserListener.prototype.enterAlter_availability_group_start = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_availability_group_start. -TSqlParserListener.prototype.exitAlter_availability_group_start = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_availability_group_options. -TSqlParserListener.prototype.enterAlter_availability_group_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_availability_group_options. -TSqlParserListener.prototype.exitAlter_availability_group_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_or_alter_broker_priority. -TSqlParserListener.prototype.enterCreate_or_alter_broker_priority = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_or_alter_broker_priority. -TSqlParserListener.prototype.exitCreate_or_alter_broker_priority = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_broker_priority. -TSqlParserListener.prototype.enterDrop_broker_priority = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_broker_priority. -TSqlParserListener.prototype.exitDrop_broker_priority = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_certificate. -TSqlParserListener.prototype.enterAlter_certificate = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_certificate. -TSqlParserListener.prototype.exitAlter_certificate = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_column_encryption_key. -TSqlParserListener.prototype.enterAlter_column_encryption_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_column_encryption_key. -TSqlParserListener.prototype.exitAlter_column_encryption_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_column_encryption_key. -TSqlParserListener.prototype.enterCreate_column_encryption_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_column_encryption_key. -TSqlParserListener.prototype.exitCreate_column_encryption_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_certificate. -TSqlParserListener.prototype.enterDrop_certificate = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_certificate. -TSqlParserListener.prototype.exitDrop_certificate = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_column_encryption_key. -TSqlParserListener.prototype.enterDrop_column_encryption_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_column_encryption_key. -TSqlParserListener.prototype.exitDrop_column_encryption_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_column_master_key. -TSqlParserListener.prototype.enterDrop_column_master_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_column_master_key. -TSqlParserListener.prototype.exitDrop_column_master_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_contract. -TSqlParserListener.prototype.enterDrop_contract = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_contract. -TSqlParserListener.prototype.exitDrop_contract = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_credential. -TSqlParserListener.prototype.enterDrop_credential = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_credential. -TSqlParserListener.prototype.exitDrop_credential = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_cryptograhic_provider. -TSqlParserListener.prototype.enterDrop_cryptograhic_provider = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_cryptograhic_provider. -TSqlParserListener.prototype.exitDrop_cryptograhic_provider = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_database. -TSqlParserListener.prototype.enterDrop_database = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_database. -TSqlParserListener.prototype.exitDrop_database = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_database_audit_specification. -TSqlParserListener.prototype.enterDrop_database_audit_specification = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_database_audit_specification. -TSqlParserListener.prototype.exitDrop_database_audit_specification = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_database_scoped_credential. -TSqlParserListener.prototype.enterDrop_database_scoped_credential = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_database_scoped_credential. -TSqlParserListener.prototype.exitDrop_database_scoped_credential = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_default. -TSqlParserListener.prototype.enterDrop_default = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_default. -TSqlParserListener.prototype.exitDrop_default = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_endpoint. -TSqlParserListener.prototype.enterDrop_endpoint = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_endpoint. -TSqlParserListener.prototype.exitDrop_endpoint = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_external_data_source. -TSqlParserListener.prototype.enterDrop_external_data_source = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_external_data_source. -TSqlParserListener.prototype.exitDrop_external_data_source = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_external_file_format. -TSqlParserListener.prototype.enterDrop_external_file_format = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_external_file_format. -TSqlParserListener.prototype.exitDrop_external_file_format = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_external_library. -TSqlParserListener.prototype.enterDrop_external_library = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_external_library. -TSqlParserListener.prototype.exitDrop_external_library = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_external_resource_pool. -TSqlParserListener.prototype.enterDrop_external_resource_pool = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_external_resource_pool. -TSqlParserListener.prototype.exitDrop_external_resource_pool = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_external_table. -TSqlParserListener.prototype.enterDrop_external_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_external_table. -TSqlParserListener.prototype.exitDrop_external_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_event_notifications. -TSqlParserListener.prototype.enterDrop_event_notifications = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_event_notifications. -TSqlParserListener.prototype.exitDrop_event_notifications = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_event_session. -TSqlParserListener.prototype.enterDrop_event_session = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_event_session. -TSqlParserListener.prototype.exitDrop_event_session = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_fulltext_catalog. -TSqlParserListener.prototype.enterDrop_fulltext_catalog = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_fulltext_catalog. -TSqlParserListener.prototype.exitDrop_fulltext_catalog = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_fulltext_index. -TSqlParserListener.prototype.enterDrop_fulltext_index = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_fulltext_index. -TSqlParserListener.prototype.exitDrop_fulltext_index = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_fulltext_stoplist. -TSqlParserListener.prototype.enterDrop_fulltext_stoplist = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_fulltext_stoplist. -TSqlParserListener.prototype.exitDrop_fulltext_stoplist = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_login. -TSqlParserListener.prototype.enterDrop_login = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_login. -TSqlParserListener.prototype.exitDrop_login = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_master_key. -TSqlParserListener.prototype.enterDrop_master_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_master_key. -TSqlParserListener.prototype.exitDrop_master_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_message_type. -TSqlParserListener.prototype.enterDrop_message_type = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_message_type. -TSqlParserListener.prototype.exitDrop_message_type = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_partition_function. -TSqlParserListener.prototype.enterDrop_partition_function = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_partition_function. -TSqlParserListener.prototype.exitDrop_partition_function = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_partition_scheme. -TSqlParserListener.prototype.enterDrop_partition_scheme = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_partition_scheme. -TSqlParserListener.prototype.exitDrop_partition_scheme = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_queue. -TSqlParserListener.prototype.enterDrop_queue = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_queue. -TSqlParserListener.prototype.exitDrop_queue = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_remote_service_binding. -TSqlParserListener.prototype.enterDrop_remote_service_binding = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_remote_service_binding. -TSqlParserListener.prototype.exitDrop_remote_service_binding = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_resource_pool. -TSqlParserListener.prototype.enterDrop_resource_pool = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_resource_pool. -TSqlParserListener.prototype.exitDrop_resource_pool = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_db_role. -TSqlParserListener.prototype.enterDrop_db_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_db_role. -TSqlParserListener.prototype.exitDrop_db_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_route. -TSqlParserListener.prototype.enterDrop_route = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_route. -TSqlParserListener.prototype.exitDrop_route = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_rule. -TSqlParserListener.prototype.enterDrop_rule = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_rule. -TSqlParserListener.prototype.exitDrop_rule = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_schema. -TSqlParserListener.prototype.enterDrop_schema = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_schema. -TSqlParserListener.prototype.exitDrop_schema = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_search_property_list. -TSqlParserListener.prototype.enterDrop_search_property_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_search_property_list. -TSqlParserListener.prototype.exitDrop_search_property_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_security_policy. -TSqlParserListener.prototype.enterDrop_security_policy = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_security_policy. -TSqlParserListener.prototype.exitDrop_security_policy = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_sequence. -TSqlParserListener.prototype.enterDrop_sequence = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_sequence. -TSqlParserListener.prototype.exitDrop_sequence = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_server_audit. -TSqlParserListener.prototype.enterDrop_server_audit = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_server_audit. -TSqlParserListener.prototype.exitDrop_server_audit = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_server_audit_specification. -TSqlParserListener.prototype.enterDrop_server_audit_specification = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_server_audit_specification. -TSqlParserListener.prototype.exitDrop_server_audit_specification = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_server_role. -TSqlParserListener.prototype.enterDrop_server_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_server_role. -TSqlParserListener.prototype.exitDrop_server_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_service. -TSqlParserListener.prototype.enterDrop_service = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_service. -TSqlParserListener.prototype.exitDrop_service = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_signature. -TSqlParserListener.prototype.enterDrop_signature = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_signature. -TSqlParserListener.prototype.exitDrop_signature = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_statistics_name_azure_dw_and_pdw. -TSqlParserListener.prototype.enterDrop_statistics_name_azure_dw_and_pdw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_statistics_name_azure_dw_and_pdw. -TSqlParserListener.prototype.exitDrop_statistics_name_azure_dw_and_pdw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_symmetric_key. -TSqlParserListener.prototype.enterDrop_symmetric_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_symmetric_key. -TSqlParserListener.prototype.exitDrop_symmetric_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_synonym. -TSqlParserListener.prototype.enterDrop_synonym = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_synonym. -TSqlParserListener.prototype.exitDrop_synonym = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_user. -TSqlParserListener.prototype.enterDrop_user = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_user. -TSqlParserListener.prototype.exitDrop_user = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_workload_group. -TSqlParserListener.prototype.enterDrop_workload_group = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_workload_group. -TSqlParserListener.prototype.exitDrop_workload_group = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_xml_schema_collection. -TSqlParserListener.prototype.enterDrop_xml_schema_collection = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_xml_schema_collection. -TSqlParserListener.prototype.exitDrop_xml_schema_collection = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#disable_trigger. -TSqlParserListener.prototype.enterDisable_trigger = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#disable_trigger. -TSqlParserListener.prototype.exitDisable_trigger = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#enable_trigger. -TSqlParserListener.prototype.enterEnable_trigger = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#enable_trigger. -TSqlParserListener.prototype.exitEnable_trigger = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#lock_table. -TSqlParserListener.prototype.enterLock_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#lock_table. -TSqlParserListener.prototype.exitLock_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#truncate_table. -TSqlParserListener.prototype.enterTruncate_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#truncate_table. -TSqlParserListener.prototype.exitTruncate_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_column_master_key. -TSqlParserListener.prototype.enterCreate_column_master_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_column_master_key. -TSqlParserListener.prototype.exitCreate_column_master_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_credential. -TSqlParserListener.prototype.enterAlter_credential = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_credential. -TSqlParserListener.prototype.exitAlter_credential = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_credential. -TSqlParserListener.prototype.enterCreate_credential = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_credential. -TSqlParserListener.prototype.exitCreate_credential = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_cryptographic_provider. -TSqlParserListener.prototype.enterAlter_cryptographic_provider = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_cryptographic_provider. -TSqlParserListener.prototype.exitAlter_cryptographic_provider = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_cryptographic_provider. -TSqlParserListener.prototype.enterCreate_cryptographic_provider = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_cryptographic_provider. -TSqlParserListener.prototype.exitCreate_cryptographic_provider = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_event_notification. -TSqlParserListener.prototype.enterCreate_event_notification = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_event_notification. -TSqlParserListener.prototype.exitCreate_event_notification = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_or_alter_event_session. -TSqlParserListener.prototype.enterCreate_or_alter_event_session = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_or_alter_event_session. -TSqlParserListener.prototype.exitCreate_or_alter_event_session = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#event_session_predicate_expression. -TSqlParserListener.prototype.enterEvent_session_predicate_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#event_session_predicate_expression. -TSqlParserListener.prototype.exitEvent_session_predicate_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#event_session_predicate_factor. -TSqlParserListener.prototype.enterEvent_session_predicate_factor = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#event_session_predicate_factor. -TSqlParserListener.prototype.exitEvent_session_predicate_factor = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#event_session_predicate_leaf. -TSqlParserListener.prototype.enterEvent_session_predicate_leaf = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#event_session_predicate_leaf. -TSqlParserListener.prototype.exitEvent_session_predicate_leaf = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_external_data_source. -TSqlParserListener.prototype.enterAlter_external_data_source = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_external_data_source. -TSqlParserListener.prototype.exitAlter_external_data_source = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_external_library. -TSqlParserListener.prototype.enterAlter_external_library = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_external_library. -TSqlParserListener.prototype.exitAlter_external_library = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_external_library. -TSqlParserListener.prototype.enterCreate_external_library = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_external_library. -TSqlParserListener.prototype.exitCreate_external_library = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_external_resource_pool. -TSqlParserListener.prototype.enterAlter_external_resource_pool = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_external_resource_pool. -TSqlParserListener.prototype.exitAlter_external_resource_pool = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_external_resource_pool. -TSqlParserListener.prototype.enterCreate_external_resource_pool = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_external_resource_pool. -TSqlParserListener.prototype.exitCreate_external_resource_pool = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_fulltext_catalog. -TSqlParserListener.prototype.enterAlter_fulltext_catalog = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_fulltext_catalog. -TSqlParserListener.prototype.exitAlter_fulltext_catalog = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_fulltext_catalog. -TSqlParserListener.prototype.enterCreate_fulltext_catalog = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_fulltext_catalog. -TSqlParserListener.prototype.exitCreate_fulltext_catalog = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_fulltext_stoplist. -TSqlParserListener.prototype.enterAlter_fulltext_stoplist = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_fulltext_stoplist. -TSqlParserListener.prototype.exitAlter_fulltext_stoplist = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_fulltext_stoplist. -TSqlParserListener.prototype.enterCreate_fulltext_stoplist = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_fulltext_stoplist. -TSqlParserListener.prototype.exitCreate_fulltext_stoplist = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_login_sql_server. -TSqlParserListener.prototype.enterAlter_login_sql_server = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_login_sql_server. -TSqlParserListener.prototype.exitAlter_login_sql_server = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_login_sql_server. -TSqlParserListener.prototype.enterCreate_login_sql_server = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_login_sql_server. -TSqlParserListener.prototype.exitCreate_login_sql_server = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_login_azure_sql. -TSqlParserListener.prototype.enterAlter_login_azure_sql = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_login_azure_sql. -TSqlParserListener.prototype.exitAlter_login_azure_sql = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_login_azure_sql. -TSqlParserListener.prototype.enterCreate_login_azure_sql = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_login_azure_sql. -TSqlParserListener.prototype.exitCreate_login_azure_sql = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_login_azure_sql_dw_and_pdw. -TSqlParserListener.prototype.enterAlter_login_azure_sql_dw_and_pdw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_login_azure_sql_dw_and_pdw. -TSqlParserListener.prototype.exitAlter_login_azure_sql_dw_and_pdw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_login_pdw. -TSqlParserListener.prototype.enterCreate_login_pdw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_login_pdw. -TSqlParserListener.prototype.exitCreate_login_pdw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_master_key_sql_server. -TSqlParserListener.prototype.enterAlter_master_key_sql_server = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_master_key_sql_server. -TSqlParserListener.prototype.exitAlter_master_key_sql_server = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_master_key_sql_server. -TSqlParserListener.prototype.enterCreate_master_key_sql_server = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_master_key_sql_server. -TSqlParserListener.prototype.exitCreate_master_key_sql_server = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_master_key_azure_sql. -TSqlParserListener.prototype.enterAlter_master_key_azure_sql = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_master_key_azure_sql. -TSqlParserListener.prototype.exitAlter_master_key_azure_sql = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_master_key_azure_sql. -TSqlParserListener.prototype.enterCreate_master_key_azure_sql = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_master_key_azure_sql. -TSqlParserListener.prototype.exitCreate_master_key_azure_sql = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_message_type. -TSqlParserListener.prototype.enterAlter_message_type = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_message_type. -TSqlParserListener.prototype.exitAlter_message_type = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_partition_function. -TSqlParserListener.prototype.enterAlter_partition_function = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_partition_function. -TSqlParserListener.prototype.exitAlter_partition_function = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_partition_scheme. -TSqlParserListener.prototype.enterAlter_partition_scheme = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_partition_scheme. -TSqlParserListener.prototype.exitAlter_partition_scheme = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_remote_service_binding. -TSqlParserListener.prototype.enterAlter_remote_service_binding = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_remote_service_binding. -TSqlParserListener.prototype.exitAlter_remote_service_binding = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_remote_service_binding. -TSqlParserListener.prototype.enterCreate_remote_service_binding = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_remote_service_binding. -TSqlParserListener.prototype.exitCreate_remote_service_binding = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_resource_pool. -TSqlParserListener.prototype.enterCreate_resource_pool = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_resource_pool. -TSqlParserListener.prototype.exitCreate_resource_pool = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_resource_governor. -TSqlParserListener.prototype.enterAlter_resource_governor = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_resource_governor. -TSqlParserListener.prototype.exitAlter_resource_governor = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_db_role. -TSqlParserListener.prototype.enterAlter_db_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_db_role. -TSqlParserListener.prototype.exitAlter_db_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_db_role. -TSqlParserListener.prototype.enterCreate_db_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_db_role. -TSqlParserListener.prototype.exitCreate_db_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_route. -TSqlParserListener.prototype.enterCreate_route = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_route. -TSqlParserListener.prototype.exitCreate_route = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_rule. -TSqlParserListener.prototype.enterCreate_rule = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_rule. -TSqlParserListener.prototype.exitCreate_rule = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_schema_sql. -TSqlParserListener.prototype.enterAlter_schema_sql = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_schema_sql. -TSqlParserListener.prototype.exitAlter_schema_sql = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_schema. -TSqlParserListener.prototype.enterCreate_schema = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_schema. -TSqlParserListener.prototype.exitCreate_schema = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_schema_azure_sql_dw_and_pdw. -TSqlParserListener.prototype.enterCreate_schema_azure_sql_dw_and_pdw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_schema_azure_sql_dw_and_pdw. -TSqlParserListener.prototype.exitCreate_schema_azure_sql_dw_and_pdw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_schema_azure_sql_dw_and_pdw. -TSqlParserListener.prototype.enterAlter_schema_azure_sql_dw_and_pdw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_schema_azure_sql_dw_and_pdw. -TSqlParserListener.prototype.exitAlter_schema_azure_sql_dw_and_pdw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_search_property_list. -TSqlParserListener.prototype.enterCreate_search_property_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_search_property_list. -TSqlParserListener.prototype.exitCreate_search_property_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_security_policy. -TSqlParserListener.prototype.enterCreate_security_policy = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_security_policy. -TSqlParserListener.prototype.exitCreate_security_policy = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_sequence. -TSqlParserListener.prototype.enterAlter_sequence = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_sequence. -TSqlParserListener.prototype.exitAlter_sequence = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_sequence. -TSqlParserListener.prototype.enterCreate_sequence = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_sequence. -TSqlParserListener.prototype.exitCreate_sequence = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_server_audit. -TSqlParserListener.prototype.enterAlter_server_audit = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_server_audit. -TSqlParserListener.prototype.exitAlter_server_audit = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_server_audit. -TSqlParserListener.prototype.enterCreate_server_audit = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_server_audit. -TSqlParserListener.prototype.exitCreate_server_audit = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_server_audit_specification. -TSqlParserListener.prototype.enterAlter_server_audit_specification = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_server_audit_specification. -TSqlParserListener.prototype.exitAlter_server_audit_specification = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_server_audit_specification. -TSqlParserListener.prototype.enterCreate_server_audit_specification = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_server_audit_specification. -TSqlParserListener.prototype.exitCreate_server_audit_specification = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_server_configuration. -TSqlParserListener.prototype.enterAlter_server_configuration = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_server_configuration. -TSqlParserListener.prototype.exitAlter_server_configuration = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_server_role. -TSqlParserListener.prototype.enterAlter_server_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_server_role. -TSqlParserListener.prototype.exitAlter_server_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_server_role. -TSqlParserListener.prototype.enterCreate_server_role = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_server_role. -TSqlParserListener.prototype.exitCreate_server_role = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_server_role_pdw. -TSqlParserListener.prototype.enterAlter_server_role_pdw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_server_role_pdw. -TSqlParserListener.prototype.exitAlter_server_role_pdw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_service. -TSqlParserListener.prototype.enterAlter_service = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_service. -TSqlParserListener.prototype.exitAlter_service = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_service. -TSqlParserListener.prototype.enterCreate_service = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_service. -TSqlParserListener.prototype.exitCreate_service = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_service_master_key. -TSqlParserListener.prototype.enterAlter_service_master_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_service_master_key. -TSqlParserListener.prototype.exitAlter_service_master_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_symmetric_key. -TSqlParserListener.prototype.enterAlter_symmetric_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_symmetric_key. -TSqlParserListener.prototype.exitAlter_symmetric_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_symmetric_key. -TSqlParserListener.prototype.enterCreate_symmetric_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_symmetric_key. -TSqlParserListener.prototype.exitCreate_symmetric_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_synonym. -TSqlParserListener.prototype.enterCreate_synonym = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_synonym. -TSqlParserListener.prototype.exitCreate_synonym = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_user. -TSqlParserListener.prototype.enterAlter_user = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_user. -TSqlParserListener.prototype.exitAlter_user = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_user. -TSqlParserListener.prototype.enterCreate_user = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_user. -TSqlParserListener.prototype.exitCreate_user = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_user_azure_sql_dw. -TSqlParserListener.prototype.enterCreate_user_azure_sql_dw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_user_azure_sql_dw. -TSqlParserListener.prototype.exitCreate_user_azure_sql_dw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_user_azure_sql. -TSqlParserListener.prototype.enterAlter_user_azure_sql = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_user_azure_sql. -TSqlParserListener.prototype.exitAlter_user_azure_sql = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_workload_group. -TSqlParserListener.prototype.enterAlter_workload_group = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_workload_group. -TSqlParserListener.prototype.exitAlter_workload_group = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_workload_group. -TSqlParserListener.prototype.enterCreate_workload_group = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_workload_group. -TSqlParserListener.prototype.exitCreate_workload_group = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_xml_schema_collection. -TSqlParserListener.prototype.enterCreate_xml_schema_collection = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_xml_schema_collection. -TSqlParserListener.prototype.exitCreate_xml_schema_collection = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_queue. -TSqlParserListener.prototype.enterCreate_queue = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_queue. -TSqlParserListener.prototype.exitCreate_queue = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#queue_settings. -TSqlParserListener.prototype.enterQueue_settings = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#queue_settings. -TSqlParserListener.prototype.exitQueue_settings = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_queue. -TSqlParserListener.prototype.enterAlter_queue = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_queue. -TSqlParserListener.prototype.exitAlter_queue = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#queue_action. -TSqlParserListener.prototype.enterQueue_action = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#queue_action. -TSqlParserListener.prototype.exitQueue_action = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#queue_rebuild_options. -TSqlParserListener.prototype.enterQueue_rebuild_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#queue_rebuild_options. -TSqlParserListener.prototype.exitQueue_rebuild_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_contract. -TSqlParserListener.prototype.enterCreate_contract = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_contract. -TSqlParserListener.prototype.exitCreate_contract = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#conversation_statement. -TSqlParserListener.prototype.enterConversation_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#conversation_statement. -TSqlParserListener.prototype.exitConversation_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#message_statement. -TSqlParserListener.prototype.enterMessage_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#message_statement. -TSqlParserListener.prototype.exitMessage_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#merge_statement. -TSqlParserListener.prototype.enterMerge_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#merge_statement. -TSqlParserListener.prototype.exitMerge_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#merge_matched. -TSqlParserListener.prototype.enterMerge_matched = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#merge_matched. -TSqlParserListener.prototype.exitMerge_matched = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#merge_not_matched. -TSqlParserListener.prototype.enterMerge_not_matched = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#merge_not_matched. -TSqlParserListener.prototype.exitMerge_not_matched = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#delete_statement. -TSqlParserListener.prototype.enterDelete_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#delete_statement. -TSqlParserListener.prototype.exitDelete_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#delete_statement_from. -TSqlParserListener.prototype.enterDelete_statement_from = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#delete_statement_from. -TSqlParserListener.prototype.exitDelete_statement_from = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#insert_statement. -TSqlParserListener.prototype.enterInsert_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#insert_statement. -TSqlParserListener.prototype.exitInsert_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#insert_statement_value. -TSqlParserListener.prototype.enterInsert_statement_value = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#insert_statement_value. -TSqlParserListener.prototype.exitInsert_statement_value = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#receive_statement. -TSqlParserListener.prototype.enterReceive_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#receive_statement. -TSqlParserListener.prototype.exitReceive_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#select_statement. -TSqlParserListener.prototype.enterSelect_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#select_statement. -TSqlParserListener.prototype.exitSelect_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#time. -TSqlParserListener.prototype.enterTime = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#time. -TSqlParserListener.prototype.exitTime = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#update_statement. -TSqlParserListener.prototype.enterUpdate_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#update_statement. -TSqlParserListener.prototype.exitUpdate_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#output_clause. -TSqlParserListener.prototype.enterOutput_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#output_clause. -TSqlParserListener.prototype.exitOutput_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#output_dml_list_elem. -TSqlParserListener.prototype.enterOutput_dml_list_elem = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#output_dml_list_elem. -TSqlParserListener.prototype.exitOutput_dml_list_elem = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#output_column_name. -TSqlParserListener.prototype.enterOutput_column_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#output_column_name. -TSqlParserListener.prototype.exitOutput_column_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_database. -TSqlParserListener.prototype.enterCreate_database = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_database. -TSqlParserListener.prototype.exitCreate_database = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_index. -TSqlParserListener.prototype.enterCreate_index = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_index. -TSqlParserListener.prototype.exitCreate_index = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_or_alter_procedure. -TSqlParserListener.prototype.enterCreate_or_alter_procedure = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_or_alter_procedure. -TSqlParserListener.prototype.exitCreate_or_alter_procedure = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_or_alter_trigger. -TSqlParserListener.prototype.enterCreate_or_alter_trigger = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_or_alter_trigger. -TSqlParserListener.prototype.exitCreate_or_alter_trigger = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_or_alter_dml_trigger. -TSqlParserListener.prototype.enterCreate_or_alter_dml_trigger = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_or_alter_dml_trigger. -TSqlParserListener.prototype.exitCreate_or_alter_dml_trigger = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#dml_trigger_option. -TSqlParserListener.prototype.enterDml_trigger_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#dml_trigger_option. -TSqlParserListener.prototype.exitDml_trigger_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#dml_trigger_operation. -TSqlParserListener.prototype.enterDml_trigger_operation = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#dml_trigger_operation. -TSqlParserListener.prototype.exitDml_trigger_operation = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_or_alter_ddl_trigger. -TSqlParserListener.prototype.enterCreate_or_alter_ddl_trigger = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_or_alter_ddl_trigger. -TSqlParserListener.prototype.exitCreate_or_alter_ddl_trigger = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#ddl_trigger_operation. -TSqlParserListener.prototype.enterDdl_trigger_operation = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#ddl_trigger_operation. -TSqlParserListener.prototype.exitDdl_trigger_operation = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_or_alter_function. -TSqlParserListener.prototype.enterCreate_or_alter_function = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_or_alter_function. -TSqlParserListener.prototype.exitCreate_or_alter_function = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#func_body_returns_select. -TSqlParserListener.prototype.enterFunc_body_returns_select = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#func_body_returns_select. -TSqlParserListener.prototype.exitFunc_body_returns_select = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#func_body_returns_table. -TSqlParserListener.prototype.enterFunc_body_returns_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#func_body_returns_table. -TSqlParserListener.prototype.exitFunc_body_returns_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#func_body_returns_scalar. -TSqlParserListener.prototype.enterFunc_body_returns_scalar = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#func_body_returns_scalar. -TSqlParserListener.prototype.exitFunc_body_returns_scalar = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#procedure_param. -TSqlParserListener.prototype.enterProcedure_param = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#procedure_param. -TSqlParserListener.prototype.exitProcedure_param = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#procedure_option. -TSqlParserListener.prototype.enterProcedure_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#procedure_option. -TSqlParserListener.prototype.exitProcedure_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#function_option. -TSqlParserListener.prototype.enterFunction_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#function_option. -TSqlParserListener.prototype.exitFunction_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_statistics. -TSqlParserListener.prototype.enterCreate_statistics = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_statistics. -TSqlParserListener.prototype.exitCreate_statistics = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#update_statistics. -TSqlParserListener.prototype.enterUpdate_statistics = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#update_statistics. -TSqlParserListener.prototype.exitUpdate_statistics = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_table. -TSqlParserListener.prototype.enterCreate_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_table. -TSqlParserListener.prototype.exitCreate_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_options. -TSqlParserListener.prototype.enterTable_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_options. -TSqlParserListener.prototype.exitTable_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_view. -TSqlParserListener.prototype.enterCreate_view = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_view. -TSqlParserListener.prototype.exitCreate_view = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#view_attribute. -TSqlParserListener.prototype.enterView_attribute = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#view_attribute. -TSqlParserListener.prototype.exitView_attribute = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_table. -TSqlParserListener.prototype.enterAlter_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_table. -TSqlParserListener.prototype.exitAlter_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_database. -TSqlParserListener.prototype.enterAlter_database = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_database. -TSqlParserListener.prototype.exitAlter_database = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#database_optionspec. -TSqlParserListener.prototype.enterDatabase_optionspec = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#database_optionspec. -TSqlParserListener.prototype.exitDatabase_optionspec = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#auto_option. -TSqlParserListener.prototype.enterAuto_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#auto_option. -TSqlParserListener.prototype.exitAuto_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#change_tracking_option. -TSqlParserListener.prototype.enterChange_tracking_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#change_tracking_option. -TSqlParserListener.prototype.exitChange_tracking_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#change_tracking_option_list. -TSqlParserListener.prototype.enterChange_tracking_option_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#change_tracking_option_list. -TSqlParserListener.prototype.exitChange_tracking_option_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#containment_option. -TSqlParserListener.prototype.enterContainment_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#containment_option. -TSqlParserListener.prototype.exitContainment_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#cursor_option. -TSqlParserListener.prototype.enterCursor_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#cursor_option. -TSqlParserListener.prototype.exitCursor_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#alter_endpoint. -TSqlParserListener.prototype.enterAlter_endpoint = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#alter_endpoint. -TSqlParserListener.prototype.exitAlter_endpoint = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#database_mirroring_option. -TSqlParserListener.prototype.enterDatabase_mirroring_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#database_mirroring_option. -TSqlParserListener.prototype.exitDatabase_mirroring_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#mirroring_set_option. -TSqlParserListener.prototype.enterMirroring_set_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#mirroring_set_option. -TSqlParserListener.prototype.exitMirroring_set_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#mirroring_partner. -TSqlParserListener.prototype.enterMirroring_partner = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#mirroring_partner. -TSqlParserListener.prototype.exitMirroring_partner = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#mirroring_witness. -TSqlParserListener.prototype.enterMirroring_witness = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#mirroring_witness. -TSqlParserListener.prototype.exitMirroring_witness = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#witness_partner_equal. -TSqlParserListener.prototype.enterWitness_partner_equal = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#witness_partner_equal. -TSqlParserListener.prototype.exitWitness_partner_equal = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#partner_option. -TSqlParserListener.prototype.enterPartner_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#partner_option. -TSqlParserListener.prototype.exitPartner_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#witness_option. -TSqlParserListener.prototype.enterWitness_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#witness_option. -TSqlParserListener.prototype.exitWitness_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#witness_server. -TSqlParserListener.prototype.enterWitness_server = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#witness_server. -TSqlParserListener.prototype.exitWitness_server = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#partner_server. -TSqlParserListener.prototype.enterPartner_server = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#partner_server. -TSqlParserListener.prototype.exitPartner_server = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#mirroring_host_port_seperator. -TSqlParserListener.prototype.enterMirroring_host_port_seperator = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#mirroring_host_port_seperator. -TSqlParserListener.prototype.exitMirroring_host_port_seperator = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#partner_server_tcp_prefix. -TSqlParserListener.prototype.enterPartner_server_tcp_prefix = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#partner_server_tcp_prefix. -TSqlParserListener.prototype.exitPartner_server_tcp_prefix = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#port_number. -TSqlParserListener.prototype.enterPort_number = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#port_number. -TSqlParserListener.prototype.exitPort_number = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#host. -TSqlParserListener.prototype.enterHost = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#host. -TSqlParserListener.prototype.exitHost = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#date_correlation_optimization_option. -TSqlParserListener.prototype.enterDate_correlation_optimization_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#date_correlation_optimization_option. -TSqlParserListener.prototype.exitDate_correlation_optimization_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#db_encryption_option. -TSqlParserListener.prototype.enterDb_encryption_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#db_encryption_option. -TSqlParserListener.prototype.exitDb_encryption_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#db_state_option. -TSqlParserListener.prototype.enterDb_state_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#db_state_option. -TSqlParserListener.prototype.exitDb_state_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#db_update_option. -TSqlParserListener.prototype.enterDb_update_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#db_update_option. -TSqlParserListener.prototype.exitDb_update_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#db_user_access_option. -TSqlParserListener.prototype.enterDb_user_access_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#db_user_access_option. -TSqlParserListener.prototype.exitDb_user_access_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#delayed_durability_option. -TSqlParserListener.prototype.enterDelayed_durability_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#delayed_durability_option. -TSqlParserListener.prototype.exitDelayed_durability_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#external_access_option. -TSqlParserListener.prototype.enterExternal_access_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#external_access_option. -TSqlParserListener.prototype.exitExternal_access_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#hadr_options. -TSqlParserListener.prototype.enterHadr_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#hadr_options. -TSqlParserListener.prototype.exitHadr_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#mixed_page_allocation_option. -TSqlParserListener.prototype.enterMixed_page_allocation_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#mixed_page_allocation_option. -TSqlParserListener.prototype.exitMixed_page_allocation_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#parameterization_option. -TSqlParserListener.prototype.enterParameterization_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#parameterization_option. -TSqlParserListener.prototype.exitParameterization_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#recovery_option. -TSqlParserListener.prototype.enterRecovery_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#recovery_option. -TSqlParserListener.prototype.exitRecovery_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#service_broker_option. -TSqlParserListener.prototype.enterService_broker_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#service_broker_option. -TSqlParserListener.prototype.exitService_broker_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#snapshot_option. -TSqlParserListener.prototype.enterSnapshot_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#snapshot_option. -TSqlParserListener.prototype.exitSnapshot_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#sql_option. -TSqlParserListener.prototype.enterSql_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#sql_option. -TSqlParserListener.prototype.exitSql_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#target_recovery_time_option. -TSqlParserListener.prototype.enterTarget_recovery_time_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#target_recovery_time_option. -TSqlParserListener.prototype.exitTarget_recovery_time_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#termination. -TSqlParserListener.prototype.enterTermination = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#termination. -TSqlParserListener.prototype.exitTermination = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_index. -TSqlParserListener.prototype.enterDrop_index = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_index. -TSqlParserListener.prototype.exitDrop_index = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_relational_or_xml_or_spatial_index. -TSqlParserListener.prototype.enterDrop_relational_or_xml_or_spatial_index = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_relational_or_xml_or_spatial_index. -TSqlParserListener.prototype.exitDrop_relational_or_xml_or_spatial_index = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_backward_compatible_index. -TSqlParserListener.prototype.enterDrop_backward_compatible_index = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_backward_compatible_index. -TSqlParserListener.prototype.exitDrop_backward_compatible_index = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_procedure. -TSqlParserListener.prototype.enterDrop_procedure = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_procedure. -TSqlParserListener.prototype.exitDrop_procedure = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_trigger. -TSqlParserListener.prototype.enterDrop_trigger = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_trigger. -TSqlParserListener.prototype.exitDrop_trigger = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_dml_trigger. -TSqlParserListener.prototype.enterDrop_dml_trigger = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_dml_trigger. -TSqlParserListener.prototype.exitDrop_dml_trigger = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_ddl_trigger. -TSqlParserListener.prototype.enterDrop_ddl_trigger = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_ddl_trigger. -TSqlParserListener.prototype.exitDrop_ddl_trigger = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_function. -TSqlParserListener.prototype.enterDrop_function = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_function. -TSqlParserListener.prototype.exitDrop_function = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_statistics. -TSqlParserListener.prototype.enterDrop_statistics = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_statistics. -TSqlParserListener.prototype.exitDrop_statistics = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_table. -TSqlParserListener.prototype.enterDrop_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_table. -TSqlParserListener.prototype.exitDrop_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_view. -TSqlParserListener.prototype.enterDrop_view = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_view. -TSqlParserListener.prototype.exitDrop_view = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_type. -TSqlParserListener.prototype.enterCreate_type = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_type. -TSqlParserListener.prototype.exitCreate_type = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#drop_type. -TSqlParserListener.prototype.enterDrop_type = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#drop_type. -TSqlParserListener.prototype.exitDrop_type = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#rowset_function_limited. -TSqlParserListener.prototype.enterRowset_function_limited = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#rowset_function_limited. -TSqlParserListener.prototype.exitRowset_function_limited = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#openquery. -TSqlParserListener.prototype.enterOpenquery = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#openquery. -TSqlParserListener.prototype.exitOpenquery = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#opendatasource. -TSqlParserListener.prototype.enterOpendatasource = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#opendatasource. -TSqlParserListener.prototype.exitOpendatasource = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#declare_statement. -TSqlParserListener.prototype.enterDeclare_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#declare_statement. -TSqlParserListener.prototype.exitDeclare_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#cursor_statement. -TSqlParserListener.prototype.enterCursor_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#cursor_statement. -TSqlParserListener.prototype.exitCursor_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#backup_database. -TSqlParserListener.prototype.enterBackup_database = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#backup_database. -TSqlParserListener.prototype.exitBackup_database = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#backup_log. -TSqlParserListener.prototype.enterBackup_log = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#backup_log. -TSqlParserListener.prototype.exitBackup_log = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#backup_certificate. -TSqlParserListener.prototype.enterBackup_certificate = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#backup_certificate. -TSqlParserListener.prototype.exitBackup_certificate = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#backup_master_key. -TSqlParserListener.prototype.enterBackup_master_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#backup_master_key. -TSqlParserListener.prototype.exitBackup_master_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#backup_service_master_key. -TSqlParserListener.prototype.enterBackup_service_master_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#backup_service_master_key. -TSqlParserListener.prototype.exitBackup_service_master_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#kill_statement. -TSqlParserListener.prototype.enterKill_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#kill_statement. -TSqlParserListener.prototype.exitKill_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#kill_process. -TSqlParserListener.prototype.enterKill_process = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#kill_process. -TSqlParserListener.prototype.exitKill_process = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#kill_query_notification. -TSqlParserListener.prototype.enterKill_query_notification = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#kill_query_notification. -TSqlParserListener.prototype.exitKill_query_notification = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#kill_stats_job. -TSqlParserListener.prototype.enterKill_stats_job = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#kill_stats_job. -TSqlParserListener.prototype.exitKill_stats_job = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#execute_statement. -TSqlParserListener.prototype.enterExecute_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#execute_statement. -TSqlParserListener.prototype.exitExecute_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#execute_body. -TSqlParserListener.prototype.enterExecute_body = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#execute_body. -TSqlParserListener.prototype.exitExecute_body = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#execute_statement_arg. -TSqlParserListener.prototype.enterExecute_statement_arg = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#execute_statement_arg. -TSqlParserListener.prototype.exitExecute_statement_arg = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#execute_var_string. -TSqlParserListener.prototype.enterExecute_var_string = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#execute_var_string. -TSqlParserListener.prototype.exitExecute_var_string = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#security_statement. -TSqlParserListener.prototype.enterSecurity_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#security_statement. -TSqlParserListener.prototype.exitSecurity_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_certificate. -TSqlParserListener.prototype.enterCreate_certificate = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_certificate. -TSqlParserListener.prototype.exitCreate_certificate = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#existing_keys. -TSqlParserListener.prototype.enterExisting_keys = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#existing_keys. -TSqlParserListener.prototype.exitExisting_keys = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#private_key_options. -TSqlParserListener.prototype.enterPrivate_key_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#private_key_options. -TSqlParserListener.prototype.exitPrivate_key_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#generate_new_keys. -TSqlParserListener.prototype.enterGenerate_new_keys = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#generate_new_keys. -TSqlParserListener.prototype.exitGenerate_new_keys = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#date_options. -TSqlParserListener.prototype.enterDate_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#date_options. -TSqlParserListener.prototype.exitDate_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#open_key. -TSqlParserListener.prototype.enterOpen_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#open_key. -TSqlParserListener.prototype.exitOpen_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#close_key. -TSqlParserListener.prototype.enterClose_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#close_key. -TSqlParserListener.prototype.exitClose_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_key. -TSqlParserListener.prototype.enterCreate_key = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_key. -TSqlParserListener.prototype.exitCreate_key = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#key_options. -TSqlParserListener.prototype.enterKey_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#key_options. -TSqlParserListener.prototype.exitKey_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#algorithm. -TSqlParserListener.prototype.enterAlgorithm = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#algorithm. -TSqlParserListener.prototype.exitAlgorithm = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#encryption_mechanism. -TSqlParserListener.prototype.enterEncryption_mechanism = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#encryption_mechanism. -TSqlParserListener.prototype.exitEncryption_mechanism = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#decryption_mechanism. -TSqlParserListener.prototype.enterDecryption_mechanism = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#decryption_mechanism. -TSqlParserListener.prototype.exitDecryption_mechanism = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#grant_permission. -TSqlParserListener.prototype.enterGrant_permission = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#grant_permission. -TSqlParserListener.prototype.exitGrant_permission = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#set_statement. -TSqlParserListener.prototype.enterSet_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#set_statement. -TSqlParserListener.prototype.exitSet_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#transaction_statement. -TSqlParserListener.prototype.enterTransaction_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#transaction_statement. -TSqlParserListener.prototype.exitTransaction_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#go_statement. -TSqlParserListener.prototype.enterGo_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#go_statement. -TSqlParserListener.prototype.exitGo_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#use_statement. -TSqlParserListener.prototype.enterUse_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#use_statement. -TSqlParserListener.prototype.exitUse_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#setuser_statement. -TSqlParserListener.prototype.enterSetuser_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#setuser_statement. -TSqlParserListener.prototype.exitSetuser_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#reconfigure_statement. -TSqlParserListener.prototype.enterReconfigure_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#reconfigure_statement. -TSqlParserListener.prototype.exitReconfigure_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#shutdown_statement. -TSqlParserListener.prototype.enterShutdown_statement = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#shutdown_statement. -TSqlParserListener.prototype.exitShutdown_statement = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#dbcc_clause. -TSqlParserListener.prototype.enterDbcc_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#dbcc_clause. -TSqlParserListener.prototype.exitDbcc_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#dbcc_options. -TSqlParserListener.prototype.enterDbcc_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#dbcc_options. -TSqlParserListener.prototype.exitDbcc_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#execute_clause. -TSqlParserListener.prototype.enterExecute_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#execute_clause. -TSqlParserListener.prototype.exitExecute_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#declare_local. -TSqlParserListener.prototype.enterDeclare_local = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#declare_local. -TSqlParserListener.prototype.exitDeclare_local = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_type_definition. -TSqlParserListener.prototype.enterTable_type_definition = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_type_definition. -TSqlParserListener.prototype.exitTable_type_definition = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#xml_type_definition. -TSqlParserListener.prototype.enterXml_type_definition = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#xml_type_definition. -TSqlParserListener.prototype.exitXml_type_definition = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#xml_schema_collection. -TSqlParserListener.prototype.enterXml_schema_collection = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#xml_schema_collection. -TSqlParserListener.prototype.exitXml_schema_collection = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_def_table_constraints. -TSqlParserListener.prototype.enterColumn_def_table_constraints = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_def_table_constraints. -TSqlParserListener.prototype.exitColumn_def_table_constraints = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_def_table_constraint. -TSqlParserListener.prototype.enterColumn_def_table_constraint = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_def_table_constraint. -TSqlParserListener.prototype.exitColumn_def_table_constraint = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_definition. -TSqlParserListener.prototype.enterColumn_definition = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_definition. -TSqlParserListener.prototype.exitColumn_definition = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#materialized_column_definition. -TSqlParserListener.prototype.enterMaterialized_column_definition = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#materialized_column_definition. -TSqlParserListener.prototype.exitMaterialized_column_definition = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_constraint. -TSqlParserListener.prototype.enterColumn_constraint = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_constraint. -TSqlParserListener.prototype.exitColumn_constraint = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_constraint. -TSqlParserListener.prototype.enterTable_constraint = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_constraint. -TSqlParserListener.prototype.exitTable_constraint = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#on_delete. -TSqlParserListener.prototype.enterOn_delete = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#on_delete. -TSqlParserListener.prototype.exitOn_delete = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#on_update. -TSqlParserListener.prototype.enterOn_update = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#on_update. -TSqlParserListener.prototype.exitOn_update = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#index_options. -TSqlParserListener.prototype.enterIndex_options = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#index_options. -TSqlParserListener.prototype.exitIndex_options = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#index_option. -TSqlParserListener.prototype.enterIndex_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#index_option. -TSqlParserListener.prototype.exitIndex_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#declare_cursor. -TSqlParserListener.prototype.enterDeclare_cursor = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#declare_cursor. -TSqlParserListener.prototype.exitDeclare_cursor = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#declare_set_cursor_common. -TSqlParserListener.prototype.enterDeclare_set_cursor_common = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#declare_set_cursor_common. -TSqlParserListener.prototype.exitDeclare_set_cursor_common = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#declare_set_cursor_common_partial. -TSqlParserListener.prototype.enterDeclare_set_cursor_common_partial = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#declare_set_cursor_common_partial. -TSqlParserListener.prototype.exitDeclare_set_cursor_common_partial = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#fetch_cursor. -TSqlParserListener.prototype.enterFetch_cursor = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#fetch_cursor. -TSqlParserListener.prototype.exitFetch_cursor = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#set_special. -TSqlParserListener.prototype.enterSet_special = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#set_special. -TSqlParserListener.prototype.exitSet_special = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#constant_LOCAL_ID. -TSqlParserListener.prototype.enterConstant_LOCAL_ID = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#constant_LOCAL_ID. -TSqlParserListener.prototype.exitConstant_LOCAL_ID = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#expression. -TSqlParserListener.prototype.enterExpression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#expression. -TSqlParserListener.prototype.exitExpression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#primitive_expression. -TSqlParserListener.prototype.enterPrimitive_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#primitive_expression. -TSqlParserListener.prototype.exitPrimitive_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#case_expression. -TSqlParserListener.prototype.enterCase_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#case_expression. -TSqlParserListener.prototype.exitCase_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#unary_operator_expression. -TSqlParserListener.prototype.enterUnary_operator_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#unary_operator_expression. -TSqlParserListener.prototype.exitUnary_operator_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#bracket_expression. -TSqlParserListener.prototype.enterBracket_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#bracket_expression. -TSqlParserListener.prototype.exitBracket_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#constant_expression. -TSqlParserListener.prototype.enterConstant_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#constant_expression. -TSqlParserListener.prototype.exitConstant_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#subquery. -TSqlParserListener.prototype.enterSubquery = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#subquery. -TSqlParserListener.prototype.exitSubquery = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#with_expression. -TSqlParserListener.prototype.enterWith_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#with_expression. -TSqlParserListener.prototype.exitWith_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#common_table_expression. -TSqlParserListener.prototype.enterCommon_table_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#common_table_expression. -TSqlParserListener.prototype.exitCommon_table_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#update_elem. -TSqlParserListener.prototype.enterUpdate_elem = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#update_elem. -TSqlParserListener.prototype.exitUpdate_elem = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#search_condition_list. -TSqlParserListener.prototype.enterSearch_condition_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#search_condition_list. -TSqlParserListener.prototype.exitSearch_condition_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#search_condition. -TSqlParserListener.prototype.enterSearch_condition = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#search_condition. -TSqlParserListener.prototype.exitSearch_condition = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#search_condition_and. -TSqlParserListener.prototype.enterSearch_condition_and = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#search_condition_and. -TSqlParserListener.prototype.exitSearch_condition_and = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#search_condition_not. -TSqlParserListener.prototype.enterSearch_condition_not = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#search_condition_not. -TSqlParserListener.prototype.exitSearch_condition_not = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#predicate. -TSqlParserListener.prototype.enterPredicate = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#predicate. -TSqlParserListener.prototype.exitPredicate = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#query_expression. -TSqlParserListener.prototype.enterQuery_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#query_expression. -TSqlParserListener.prototype.exitQuery_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#sql_union. -TSqlParserListener.prototype.enterSql_union = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#sql_union. -TSqlParserListener.prototype.exitSql_union = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#query_specification. -TSqlParserListener.prototype.enterQuery_specification = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#query_specification. -TSqlParserListener.prototype.exitQuery_specification = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#top_clause. -TSqlParserListener.prototype.enterTop_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#top_clause. -TSqlParserListener.prototype.exitTop_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#top_percent. -TSqlParserListener.prototype.enterTop_percent = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#top_percent. -TSqlParserListener.prototype.exitTop_percent = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#top_count. -TSqlParserListener.prototype.enterTop_count = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#top_count. -TSqlParserListener.prototype.exitTop_count = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#order_by_clause. -TSqlParserListener.prototype.enterOrder_by_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#order_by_clause. -TSqlParserListener.prototype.exitOrder_by_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#for_clause. -TSqlParserListener.prototype.enterFor_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#for_clause. -TSqlParserListener.prototype.exitFor_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#xml_common_directives. -TSqlParserListener.prototype.enterXml_common_directives = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#xml_common_directives. -TSqlParserListener.prototype.exitXml_common_directives = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#order_by_expression. -TSqlParserListener.prototype.enterOrder_by_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#order_by_expression. -TSqlParserListener.prototype.exitOrder_by_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#group_by_item. -TSqlParserListener.prototype.enterGroup_by_item = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#group_by_item. -TSqlParserListener.prototype.exitGroup_by_item = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#option_clause. -TSqlParserListener.prototype.enterOption_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#option_clause. -TSqlParserListener.prototype.exitOption_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#option. -TSqlParserListener.prototype.enterOption = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#option. -TSqlParserListener.prototype.exitOption = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#optimize_for_arg. -TSqlParserListener.prototype.enterOptimize_for_arg = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#optimize_for_arg. -TSqlParserListener.prototype.exitOptimize_for_arg = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#select_list. -TSqlParserListener.prototype.enterSelect_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#select_list. -TSqlParserListener.prototype.exitSelect_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#udt_method_arguments. -TSqlParserListener.prototype.enterUdt_method_arguments = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#udt_method_arguments. -TSqlParserListener.prototype.exitUdt_method_arguments = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#asterisk. -TSqlParserListener.prototype.enterAsterisk = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#asterisk. -TSqlParserListener.prototype.exitAsterisk = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_elem. -TSqlParserListener.prototype.enterColumn_elem = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_elem. -TSqlParserListener.prototype.exitColumn_elem = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#udt_elem. -TSqlParserListener.prototype.enterUdt_elem = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#udt_elem. -TSqlParserListener.prototype.exitUdt_elem = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#expression_elem. -TSqlParserListener.prototype.enterExpression_elem = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#expression_elem. -TSqlParserListener.prototype.exitExpression_elem = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#select_list_elem. -TSqlParserListener.prototype.enterSelect_list_elem = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#select_list_elem. -TSqlParserListener.prototype.exitSelect_list_elem = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_sources. -TSqlParserListener.prototype.enterTable_sources = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_sources. -TSqlParserListener.prototype.exitTable_sources = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_source. -TSqlParserListener.prototype.enterTable_source = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_source. -TSqlParserListener.prototype.exitTable_source = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_source_item_joined. -TSqlParserListener.prototype.enterTable_source_item_joined = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_source_item_joined. -TSqlParserListener.prototype.exitTable_source_item_joined = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_source_item. -TSqlParserListener.prototype.enterTable_source_item = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_source_item. -TSqlParserListener.prototype.exitTable_source_item = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#open_xml. -TSqlParserListener.prototype.enterOpen_xml = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#open_xml. -TSqlParserListener.prototype.exitOpen_xml = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#schema_declaration. -TSqlParserListener.prototype.enterSchema_declaration = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#schema_declaration. -TSqlParserListener.prototype.exitSchema_declaration = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_declaration. -TSqlParserListener.prototype.enterColumn_declaration = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_declaration. -TSqlParserListener.prototype.exitColumn_declaration = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#change_table. -TSqlParserListener.prototype.enterChange_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#change_table. -TSqlParserListener.prototype.exitChange_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#join_part. -TSqlParserListener.prototype.enterJoin_part = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#join_part. -TSqlParserListener.prototype.exitJoin_part = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#pivot_clause. -TSqlParserListener.prototype.enterPivot_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#pivot_clause. -TSqlParserListener.prototype.exitPivot_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#unpivot_clause. -TSqlParserListener.prototype.enterUnpivot_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#unpivot_clause. -TSqlParserListener.prototype.exitUnpivot_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#full_column_name_list. -TSqlParserListener.prototype.enterFull_column_name_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#full_column_name_list. -TSqlParserListener.prototype.exitFull_column_name_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_name_with_hint. -TSqlParserListener.prototype.enterTable_name_with_hint = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_name_with_hint. -TSqlParserListener.prototype.exitTable_name_with_hint = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#rowset_function. -TSqlParserListener.prototype.enterRowset_function = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#rowset_function. -TSqlParserListener.prototype.exitRowset_function = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#bulk_option. -TSqlParserListener.prototype.enterBulk_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#bulk_option. -TSqlParserListener.prototype.exitBulk_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#derived_table. -TSqlParserListener.prototype.enterDerived_table = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#derived_table. -TSqlParserListener.prototype.exitDerived_table = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#BINARY_CHECKSUM. -TSqlParserListener.prototype.enterBINARY_CHECKSUM = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#BINARY_CHECKSUM. -TSqlParserListener.prototype.exitBINARY_CHECKSUM = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#CAST. -TSqlParserListener.prototype.enterCAST = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#CAST. -TSqlParserListener.prototype.exitCAST = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#CONVERT. -TSqlParserListener.prototype.enterCONVERT = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#CONVERT. -TSqlParserListener.prototype.exitCONVERT = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#CHECKSUM. -TSqlParserListener.prototype.enterCHECKSUM = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#CHECKSUM. -TSqlParserListener.prototype.exitCHECKSUM = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#COALESCE. -TSqlParserListener.prototype.enterCOALESCE = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#COALESCE. -TSqlParserListener.prototype.exitCOALESCE = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#CURRENT_TIMESTAMP. -TSqlParserListener.prototype.enterCURRENT_TIMESTAMP = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#CURRENT_TIMESTAMP. -TSqlParserListener.prototype.exitCURRENT_TIMESTAMP = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#CURRENT_USER. -TSqlParserListener.prototype.enterCURRENT_USER = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#CURRENT_USER. -TSqlParserListener.prototype.exitCURRENT_USER = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#DATEADD. -TSqlParserListener.prototype.enterDATEADD = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#DATEADD. -TSqlParserListener.prototype.exitDATEADD = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#DATEDIFF. -TSqlParserListener.prototype.enterDATEDIFF = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#DATEDIFF. -TSqlParserListener.prototype.exitDATEDIFF = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#DATENAME. -TSqlParserListener.prototype.enterDATENAME = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#DATENAME. -TSqlParserListener.prototype.exitDATENAME = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#DATEPART. -TSqlParserListener.prototype.enterDATEPART = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#DATEPART. -TSqlParserListener.prototype.exitDATEPART = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#GETDATE. -TSqlParserListener.prototype.enterGETDATE = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#GETDATE. -TSqlParserListener.prototype.exitGETDATE = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#GETUTCDATE. -TSqlParserListener.prototype.enterGETUTCDATE = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#GETUTCDATE. -TSqlParserListener.prototype.exitGETUTCDATE = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#IDENTITY. -TSqlParserListener.prototype.enterIDENTITY = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#IDENTITY. -TSqlParserListener.prototype.exitIDENTITY = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#MIN_ACTIVE_ROWVERSION. -TSqlParserListener.prototype.enterMIN_ACTIVE_ROWVERSION = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#MIN_ACTIVE_ROWVERSION. -TSqlParserListener.prototype.exitMIN_ACTIVE_ROWVERSION = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#NULLIF. -TSqlParserListener.prototype.enterNULLIF = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#NULLIF. -TSqlParserListener.prototype.exitNULLIF = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#STUFF. -TSqlParserListener.prototype.enterSTUFF = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#STUFF. -TSqlParserListener.prototype.exitSTUFF = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#SESSION_USER. -TSqlParserListener.prototype.enterSESSION_USER = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#SESSION_USER. -TSqlParserListener.prototype.exitSESSION_USER = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#SYSTEM_USER. -TSqlParserListener.prototype.enterSYSTEM_USER = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#SYSTEM_USER. -TSqlParserListener.prototype.exitSYSTEM_USER = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#ISNULL. -TSqlParserListener.prototype.enterISNULL = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#ISNULL. -TSqlParserListener.prototype.exitISNULL = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#XML_DATA_TYPE_FUNC. -TSqlParserListener.prototype.enterXML_DATA_TYPE_FUNC = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#XML_DATA_TYPE_FUNC. -TSqlParserListener.prototype.exitXML_DATA_TYPE_FUNC = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#IFF. -TSqlParserListener.prototype.enterIFF = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#IFF. -TSqlParserListener.prototype.exitIFF = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#RANKING_WINDOWED_FUNC. -TSqlParserListener.prototype.enterRANKING_WINDOWED_FUNC = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#RANKING_WINDOWED_FUNC. -TSqlParserListener.prototype.exitRANKING_WINDOWED_FUNC = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#AGGREGATE_WINDOWED_FUNC. -TSqlParserListener.prototype.enterAGGREGATE_WINDOWED_FUNC = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#AGGREGATE_WINDOWED_FUNC. -TSqlParserListener.prototype.exitAGGREGATE_WINDOWED_FUNC = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#ANALYTIC_WINDOWED_FUNC. -TSqlParserListener.prototype.enterANALYTIC_WINDOWED_FUNC = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#ANALYTIC_WINDOWED_FUNC. -TSqlParserListener.prototype.exitANALYTIC_WINDOWED_FUNC = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#SCALAR_FUNCTION. -TSqlParserListener.prototype.enterSCALAR_FUNCTION = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#SCALAR_FUNCTION. -TSqlParserListener.prototype.exitSCALAR_FUNCTION = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#STRINGAGG. -TSqlParserListener.prototype.enterSTRINGAGG = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#STRINGAGG. -TSqlParserListener.prototype.exitSTRINGAGG = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#xml_data_type_methods. -TSqlParserListener.prototype.enterXml_data_type_methods = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#xml_data_type_methods. -TSqlParserListener.prototype.exitXml_data_type_methods = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#value_method. -TSqlParserListener.prototype.enterValue_method = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#value_method. -TSqlParserListener.prototype.exitValue_method = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#query_method. -TSqlParserListener.prototype.enterQuery_method = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#query_method. -TSqlParserListener.prototype.exitQuery_method = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#exist_method. -TSqlParserListener.prototype.enterExist_method = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#exist_method. -TSqlParserListener.prototype.exitExist_method = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#modify_method. -TSqlParserListener.prototype.enterModify_method = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#modify_method. -TSqlParserListener.prototype.exitModify_method = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#nodes_method. -TSqlParserListener.prototype.enterNodes_method = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#nodes_method. -TSqlParserListener.prototype.exitNodes_method = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#switch_section. -TSqlParserListener.prototype.enterSwitch_section = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#switch_section. -TSqlParserListener.prototype.exitSwitch_section = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#switch_search_condition_section. -TSqlParserListener.prototype.enterSwitch_search_condition_section = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#switch_search_condition_section. -TSqlParserListener.prototype.exitSwitch_search_condition_section = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#as_column_alias. -TSqlParserListener.prototype.enterAs_column_alias = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#as_column_alias. -TSqlParserListener.prototype.exitAs_column_alias = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#as_table_alias. -TSqlParserListener.prototype.enterAs_table_alias = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#as_table_alias. -TSqlParserListener.prototype.exitAs_table_alias = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_alias. -TSqlParserListener.prototype.enterTable_alias = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_alias. -TSqlParserListener.prototype.exitTable_alias = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#with_table_hints. -TSqlParserListener.prototype.enterWith_table_hints = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#with_table_hints. -TSqlParserListener.prototype.exitWith_table_hints = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#insert_with_table_hints. -TSqlParserListener.prototype.enterInsert_with_table_hints = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#insert_with_table_hints. -TSqlParserListener.prototype.exitInsert_with_table_hints = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_hint. -TSqlParserListener.prototype.enterTable_hint = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_hint. -TSqlParserListener.prototype.exitTable_hint = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#index_value. -TSqlParserListener.prototype.enterIndex_value = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#index_value. -TSqlParserListener.prototype.exitIndex_value = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_alias_list. -TSqlParserListener.prototype.enterColumn_alias_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_alias_list. -TSqlParserListener.prototype.exitColumn_alias_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_alias. -TSqlParserListener.prototype.enterColumn_alias = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_alias. -TSqlParserListener.prototype.exitColumn_alias = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_value_constructor. -TSqlParserListener.prototype.enterTable_value_constructor = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_value_constructor. -TSqlParserListener.prototype.exitTable_value_constructor = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#expression_list. -TSqlParserListener.prototype.enterExpression_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#expression_list. -TSqlParserListener.prototype.exitExpression_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#ranking_windowed_function. -TSqlParserListener.prototype.enterRanking_windowed_function = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#ranking_windowed_function. -TSqlParserListener.prototype.exitRanking_windowed_function = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#aggregate_windowed_function. -TSqlParserListener.prototype.enterAggregate_windowed_function = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#aggregate_windowed_function. -TSqlParserListener.prototype.exitAggregate_windowed_function = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#analytic_windowed_function. -TSqlParserListener.prototype.enterAnalytic_windowed_function = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#analytic_windowed_function. -TSqlParserListener.prototype.exitAnalytic_windowed_function = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#all_distinct_expression. -TSqlParserListener.prototype.enterAll_distinct_expression = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#all_distinct_expression. -TSqlParserListener.prototype.exitAll_distinct_expression = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#over_clause. -TSqlParserListener.prototype.enterOver_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#over_clause. -TSqlParserListener.prototype.exitOver_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#row_or_range_clause. -TSqlParserListener.prototype.enterRow_or_range_clause = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#row_or_range_clause. -TSqlParserListener.prototype.exitRow_or_range_clause = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#window_frame_extent. -TSqlParserListener.prototype.enterWindow_frame_extent = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#window_frame_extent. -TSqlParserListener.prototype.exitWindow_frame_extent = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#window_frame_bound. -TSqlParserListener.prototype.enterWindow_frame_bound = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#window_frame_bound. -TSqlParserListener.prototype.exitWindow_frame_bound = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#window_frame_preceding. -TSqlParserListener.prototype.enterWindow_frame_preceding = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#window_frame_preceding. -TSqlParserListener.prototype.exitWindow_frame_preceding = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#window_frame_following. -TSqlParserListener.prototype.enterWindow_frame_following = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#window_frame_following. -TSqlParserListener.prototype.exitWindow_frame_following = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#create_database_option. -TSqlParserListener.prototype.enterCreate_database_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#create_database_option. -TSqlParserListener.prototype.exitCreate_database_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#database_filestream_option. -TSqlParserListener.prototype.enterDatabase_filestream_option = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#database_filestream_option. -TSqlParserListener.prototype.exitDatabase_filestream_option = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#database_file_spec. -TSqlParserListener.prototype.enterDatabase_file_spec = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#database_file_spec. -TSqlParserListener.prototype.exitDatabase_file_spec = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#file_group. -TSqlParserListener.prototype.enterFile_group = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#file_group. -TSqlParserListener.prototype.exitFile_group = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#file_spec. -TSqlParserListener.prototype.enterFile_spec = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#file_spec. -TSqlParserListener.prototype.exitFile_spec = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#entity_name. -TSqlParserListener.prototype.enterEntity_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#entity_name. -TSqlParserListener.prototype.exitEntity_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#entity_name_for_azure_dw. -TSqlParserListener.prototype.enterEntity_name_for_azure_dw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#entity_name_for_azure_dw. -TSqlParserListener.prototype.exitEntity_name_for_azure_dw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#entity_name_for_parallel_dw. -TSqlParserListener.prototype.enterEntity_name_for_parallel_dw = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#entity_name_for_parallel_dw. -TSqlParserListener.prototype.exitEntity_name_for_parallel_dw = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#full_table_name. -TSqlParserListener.prototype.enterFull_table_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#full_table_name. -TSqlParserListener.prototype.exitFull_table_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#table_name. -TSqlParserListener.prototype.enterTable_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#table_name. -TSqlParserListener.prototype.exitTable_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#simple_name. -TSqlParserListener.prototype.enterSimple_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#simple_name. -TSqlParserListener.prototype.exitSimple_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#func_proc_name_schema. -TSqlParserListener.prototype.enterFunc_proc_name_schema = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#func_proc_name_schema. -TSqlParserListener.prototype.exitFunc_proc_name_schema = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#func_proc_name_database_schema. -TSqlParserListener.prototype.enterFunc_proc_name_database_schema = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#func_proc_name_database_schema. -TSqlParserListener.prototype.exitFunc_proc_name_database_schema = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#func_proc_name_server_database_schema. -TSqlParserListener.prototype.enterFunc_proc_name_server_database_schema = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#func_proc_name_server_database_schema. -TSqlParserListener.prototype.exitFunc_proc_name_server_database_schema = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#ddl_object. -TSqlParserListener.prototype.enterDdl_object = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#ddl_object. -TSqlParserListener.prototype.exitDdl_object = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#full_column_name. -TSqlParserListener.prototype.enterFull_column_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#full_column_name. -TSqlParserListener.prototype.exitFull_column_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_name_list_with_order. -TSqlParserListener.prototype.enterColumn_name_list_with_order = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_name_list_with_order. -TSqlParserListener.prototype.exitColumn_name_list_with_order = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#column_name_list. -TSqlParserListener.prototype.enterColumn_name_list = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#column_name_list. -TSqlParserListener.prototype.exitColumn_name_list = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#cursor_name. -TSqlParserListener.prototype.enterCursor_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#cursor_name. -TSqlParserListener.prototype.exitCursor_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#on_off. -TSqlParserListener.prototype.enterOn_off = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#on_off. -TSqlParserListener.prototype.exitOn_off = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#clustered. -TSqlParserListener.prototype.enterClustered = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#clustered. -TSqlParserListener.prototype.exitClustered = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#null_notnull. -TSqlParserListener.prototype.enterNull_notnull = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#null_notnull. -TSqlParserListener.prototype.exitNull_notnull = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#null_or_default. -TSqlParserListener.prototype.enterNull_or_default = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#null_or_default. -TSqlParserListener.prototype.exitNull_or_default = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#scalar_function_name. -TSqlParserListener.prototype.enterScalar_function_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#scalar_function_name. -TSqlParserListener.prototype.exitScalar_function_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#begin_conversation_timer. -TSqlParserListener.prototype.enterBegin_conversation_timer = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#begin_conversation_timer. -TSqlParserListener.prototype.exitBegin_conversation_timer = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#begin_conversation_dialog. -TSqlParserListener.prototype.enterBegin_conversation_dialog = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#begin_conversation_dialog. -TSqlParserListener.prototype.exitBegin_conversation_dialog = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#contract_name. -TSqlParserListener.prototype.enterContract_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#contract_name. -TSqlParserListener.prototype.exitContract_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#service_name. -TSqlParserListener.prototype.enterService_name = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#service_name. -TSqlParserListener.prototype.exitService_name = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#end_conversation. -TSqlParserListener.prototype.enterEnd_conversation = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#end_conversation. -TSqlParserListener.prototype.exitEnd_conversation = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#waitfor_conversation. -TSqlParserListener.prototype.enterWaitfor_conversation = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#waitfor_conversation. -TSqlParserListener.prototype.exitWaitfor_conversation = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#get_conversation. -TSqlParserListener.prototype.enterGet_conversation = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#get_conversation. -TSqlParserListener.prototype.exitGet_conversation = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#queue_id. -TSqlParserListener.prototype.enterQueue_id = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#queue_id. -TSqlParserListener.prototype.exitQueue_id = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#send_conversation. -TSqlParserListener.prototype.enterSend_conversation = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#send_conversation. -TSqlParserListener.prototype.exitSend_conversation = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#data_type. -TSqlParserListener.prototype.enterData_type = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#data_type. -TSqlParserListener.prototype.exitData_type = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#default_value. -TSqlParserListener.prototype.enterDefault_value = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#default_value. -TSqlParserListener.prototype.exitDefault_value = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#constant. -TSqlParserListener.prototype.enterConstant = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#constant. -TSqlParserListener.prototype.exitConstant = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#sign. -TSqlParserListener.prototype.enterSign = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#sign. -TSqlParserListener.prototype.exitSign = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#id. -TSqlParserListener.prototype.enterId = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#id. -TSqlParserListener.prototype.exitId = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#simple_id. -TSqlParserListener.prototype.enterSimple_id = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#simple_id. -TSqlParserListener.prototype.exitSimple_id = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#comparison_operator. -TSqlParserListener.prototype.enterComparison_operator = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#comparison_operator. -TSqlParserListener.prototype.exitComparison_operator = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#assignment_operator. -TSqlParserListener.prototype.enterAssignment_operator = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#assignment_operator. -TSqlParserListener.prototype.exitAssignment_operator = function(ctx) { -}; - - -// Enter a parse tree produced by TSqlParser#file_size. -TSqlParserListener.prototype.enterFile_size = function(ctx) { -}; - -// Exit a parse tree produced by TSqlParser#file_size. -TSqlParserListener.prototype.exitFile_size = function(ctx) { -}; - - - -exports.TSqlParserListener = TSqlParserListener; \ No newline at end of file diff --git a/src/grammar/tsql/parser/TSqlParserVisitor.js b/src/grammar/tsql/parser/TSqlParserVisitor.js deleted file mode 100644 index c3e5e91..0000000 --- a/src/grammar/tsql/parser/TSqlParserVisitor.js +++ /dev/null @@ -1,3094 +0,0 @@ -// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/tsql/TSqlParser.g4 by ANTLR 4.8 -// jshint ignore: start -var antlr4 = require('antlr4/index'); - -// This class defines a complete generic visitor for a parse tree produced by TSqlParser. - -function TSqlParserVisitor() { - antlr4.tree.ParseTreeVisitor.call(this); - return this; -} - -TSqlParserVisitor.prototype = Object.create(antlr4.tree.ParseTreeVisitor.prototype); -TSqlParserVisitor.prototype.constructor = TSqlParserVisitor; - -// Visit a parse tree produced by TSqlParser#tsql_file. -TSqlParserVisitor.prototype.visitTsql_file = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#batch. -TSqlParserVisitor.prototype.visitBatch = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#sql_clauses. -TSqlParserVisitor.prototype.visitSql_clauses = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#sql_clause. -TSqlParserVisitor.prototype.visitSql_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#dml_clause. -TSqlParserVisitor.prototype.visitDml_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#ddl_clause. -TSqlParserVisitor.prototype.visitDdl_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#backup_statement. -TSqlParserVisitor.prototype.visitBackup_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#cfl_statement. -TSqlParserVisitor.prototype.visitCfl_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#block_statement. -TSqlParserVisitor.prototype.visitBlock_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#break_statement. -TSqlParserVisitor.prototype.visitBreak_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#continue_statement. -TSqlParserVisitor.prototype.visitContinue_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#goto_statement. -TSqlParserVisitor.prototype.visitGoto_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#return_statement. -TSqlParserVisitor.prototype.visitReturn_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#if_statement. -TSqlParserVisitor.prototype.visitIf_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#throw_statement. -TSqlParserVisitor.prototype.visitThrow_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#throw_error_number. -TSqlParserVisitor.prototype.visitThrow_error_number = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#throw_message. -TSqlParserVisitor.prototype.visitThrow_message = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#throw_state. -TSqlParserVisitor.prototype.visitThrow_state = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#try_catch_statement. -TSqlParserVisitor.prototype.visitTry_catch_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#waitfor_statement. -TSqlParserVisitor.prototype.visitWaitfor_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#while_statement. -TSqlParserVisitor.prototype.visitWhile_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#print_statement. -TSqlParserVisitor.prototype.visitPrint_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#raiseerror_statement. -TSqlParserVisitor.prototype.visitRaiseerror_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#empty_statement. -TSqlParserVisitor.prototype.visitEmpty_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#another_statement. -TSqlParserVisitor.prototype.visitAnother_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_application_role. -TSqlParserVisitor.prototype.visitAlter_application_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_application_role. -TSqlParserVisitor.prototype.visitCreate_application_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_aggregate. -TSqlParserVisitor.prototype.visitDrop_aggregate = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_application_role. -TSqlParserVisitor.prototype.visitDrop_application_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly. -TSqlParserVisitor.prototype.visitAlter_assembly = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_start. -TSqlParserVisitor.prototype.visitAlter_assembly_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_clause. -TSqlParserVisitor.prototype.visitAlter_assembly_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_from_clause. -TSqlParserVisitor.prototype.visitAlter_assembly_from_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_from_clause_start. -TSqlParserVisitor.prototype.visitAlter_assembly_from_clause_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_drop_clause. -TSqlParserVisitor.prototype.visitAlter_assembly_drop_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_drop_multiple_files. -TSqlParserVisitor.prototype.visitAlter_assembly_drop_multiple_files = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_drop. -TSqlParserVisitor.prototype.visitAlter_assembly_drop = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_add_clause. -TSqlParserVisitor.prototype.visitAlter_assembly_add_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_asssembly_add_clause_start. -TSqlParserVisitor.prototype.visitAlter_asssembly_add_clause_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_client_file_clause. -TSqlParserVisitor.prototype.visitAlter_assembly_client_file_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_file_name. -TSqlParserVisitor.prototype.visitAlter_assembly_file_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_file_bits. -TSqlParserVisitor.prototype.visitAlter_assembly_file_bits = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_as. -TSqlParserVisitor.prototype.visitAlter_assembly_as = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_with_clause. -TSqlParserVisitor.prototype.visitAlter_assembly_with_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_assembly_with. -TSqlParserVisitor.prototype.visitAlter_assembly_with = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#client_assembly_specifier. -TSqlParserVisitor.prototype.visitClient_assembly_specifier = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#assembly_option. -TSqlParserVisitor.prototype.visitAssembly_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#network_file_share. -TSqlParserVisitor.prototype.visitNetwork_file_share = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#network_computer. -TSqlParserVisitor.prototype.visitNetwork_computer = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#network_file_start. -TSqlParserVisitor.prototype.visitNetwork_file_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#file_path. -TSqlParserVisitor.prototype.visitFile_path = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#file_directory_path_separator. -TSqlParserVisitor.prototype.visitFile_directory_path_separator = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#local_file. -TSqlParserVisitor.prototype.visitLocal_file = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#local_drive. -TSqlParserVisitor.prototype.visitLocal_drive = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#multiple_local_files. -TSqlParserVisitor.prototype.visitMultiple_local_files = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#multiple_local_file_start. -TSqlParserVisitor.prototype.visitMultiple_local_file_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_assembly. -TSqlParserVisitor.prototype.visitCreate_assembly = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_assembly. -TSqlParserVisitor.prototype.visitDrop_assembly = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_asymmetric_key. -TSqlParserVisitor.prototype.visitAlter_asymmetric_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_asymmetric_key_start. -TSqlParserVisitor.prototype.visitAlter_asymmetric_key_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#asymmetric_key_option. -TSqlParserVisitor.prototype.visitAsymmetric_key_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#asymmetric_key_option_start. -TSqlParserVisitor.prototype.visitAsymmetric_key_option_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#asymmetric_key_password_change_option. -TSqlParserVisitor.prototype.visitAsymmetric_key_password_change_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_asymmetric_key. -TSqlParserVisitor.prototype.visitCreate_asymmetric_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_asymmetric_key. -TSqlParserVisitor.prototype.visitDrop_asymmetric_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_authorization. -TSqlParserVisitor.prototype.visitAlter_authorization = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#authorization_grantee. -TSqlParserVisitor.prototype.visitAuthorization_grantee = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#entity_to. -TSqlParserVisitor.prototype.visitEntity_to = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#colon_colon. -TSqlParserVisitor.prototype.visitColon_colon = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_authorization_start. -TSqlParserVisitor.prototype.visitAlter_authorization_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_authorization_for_sql_database. -TSqlParserVisitor.prototype.visitAlter_authorization_for_sql_database = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_authorization_for_azure_dw. -TSqlParserVisitor.prototype.visitAlter_authorization_for_azure_dw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_authorization_for_parallel_dw. -TSqlParserVisitor.prototype.visitAlter_authorization_for_parallel_dw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#class_type. -TSqlParserVisitor.prototype.visitClass_type = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#class_type_for_sql_database. -TSqlParserVisitor.prototype.visitClass_type_for_sql_database = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#class_type_for_azure_dw. -TSqlParserVisitor.prototype.visitClass_type_for_azure_dw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#class_type_for_parallel_dw. -TSqlParserVisitor.prototype.visitClass_type_for_parallel_dw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_availability_group. -TSqlParserVisitor.prototype.visitDrop_availability_group = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_availability_group. -TSqlParserVisitor.prototype.visitAlter_availability_group = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_availability_group_start. -TSqlParserVisitor.prototype.visitAlter_availability_group_start = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_availability_group_options. -TSqlParserVisitor.prototype.visitAlter_availability_group_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_or_alter_broker_priority. -TSqlParserVisitor.prototype.visitCreate_or_alter_broker_priority = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_broker_priority. -TSqlParserVisitor.prototype.visitDrop_broker_priority = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_certificate. -TSqlParserVisitor.prototype.visitAlter_certificate = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_column_encryption_key. -TSqlParserVisitor.prototype.visitAlter_column_encryption_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_column_encryption_key. -TSqlParserVisitor.prototype.visitCreate_column_encryption_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_certificate. -TSqlParserVisitor.prototype.visitDrop_certificate = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_column_encryption_key. -TSqlParserVisitor.prototype.visitDrop_column_encryption_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_column_master_key. -TSqlParserVisitor.prototype.visitDrop_column_master_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_contract. -TSqlParserVisitor.prototype.visitDrop_contract = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_credential. -TSqlParserVisitor.prototype.visitDrop_credential = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_cryptograhic_provider. -TSqlParserVisitor.prototype.visitDrop_cryptograhic_provider = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_database. -TSqlParserVisitor.prototype.visitDrop_database = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_database_audit_specification. -TSqlParserVisitor.prototype.visitDrop_database_audit_specification = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_database_scoped_credential. -TSqlParserVisitor.prototype.visitDrop_database_scoped_credential = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_default. -TSqlParserVisitor.prototype.visitDrop_default = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_endpoint. -TSqlParserVisitor.prototype.visitDrop_endpoint = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_external_data_source. -TSqlParserVisitor.prototype.visitDrop_external_data_source = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_external_file_format. -TSqlParserVisitor.prototype.visitDrop_external_file_format = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_external_library. -TSqlParserVisitor.prototype.visitDrop_external_library = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_external_resource_pool. -TSqlParserVisitor.prototype.visitDrop_external_resource_pool = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_external_table. -TSqlParserVisitor.prototype.visitDrop_external_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_event_notifications. -TSqlParserVisitor.prototype.visitDrop_event_notifications = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_event_session. -TSqlParserVisitor.prototype.visitDrop_event_session = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_fulltext_catalog. -TSqlParserVisitor.prototype.visitDrop_fulltext_catalog = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_fulltext_index. -TSqlParserVisitor.prototype.visitDrop_fulltext_index = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_fulltext_stoplist. -TSqlParserVisitor.prototype.visitDrop_fulltext_stoplist = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_login. -TSqlParserVisitor.prototype.visitDrop_login = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_master_key. -TSqlParserVisitor.prototype.visitDrop_master_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_message_type. -TSqlParserVisitor.prototype.visitDrop_message_type = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_partition_function. -TSqlParserVisitor.prototype.visitDrop_partition_function = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_partition_scheme. -TSqlParserVisitor.prototype.visitDrop_partition_scheme = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_queue. -TSqlParserVisitor.prototype.visitDrop_queue = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_remote_service_binding. -TSqlParserVisitor.prototype.visitDrop_remote_service_binding = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_resource_pool. -TSqlParserVisitor.prototype.visitDrop_resource_pool = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_db_role. -TSqlParserVisitor.prototype.visitDrop_db_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_route. -TSqlParserVisitor.prototype.visitDrop_route = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_rule. -TSqlParserVisitor.prototype.visitDrop_rule = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_schema. -TSqlParserVisitor.prototype.visitDrop_schema = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_search_property_list. -TSqlParserVisitor.prototype.visitDrop_search_property_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_security_policy. -TSqlParserVisitor.prototype.visitDrop_security_policy = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_sequence. -TSqlParserVisitor.prototype.visitDrop_sequence = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_server_audit. -TSqlParserVisitor.prototype.visitDrop_server_audit = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_server_audit_specification. -TSqlParserVisitor.prototype.visitDrop_server_audit_specification = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_server_role. -TSqlParserVisitor.prototype.visitDrop_server_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_service. -TSqlParserVisitor.prototype.visitDrop_service = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_signature. -TSqlParserVisitor.prototype.visitDrop_signature = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_statistics_name_azure_dw_and_pdw. -TSqlParserVisitor.prototype.visitDrop_statistics_name_azure_dw_and_pdw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_symmetric_key. -TSqlParserVisitor.prototype.visitDrop_symmetric_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_synonym. -TSqlParserVisitor.prototype.visitDrop_synonym = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_user. -TSqlParserVisitor.prototype.visitDrop_user = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_workload_group. -TSqlParserVisitor.prototype.visitDrop_workload_group = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_xml_schema_collection. -TSqlParserVisitor.prototype.visitDrop_xml_schema_collection = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#disable_trigger. -TSqlParserVisitor.prototype.visitDisable_trigger = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#enable_trigger. -TSqlParserVisitor.prototype.visitEnable_trigger = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#lock_table. -TSqlParserVisitor.prototype.visitLock_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#truncate_table. -TSqlParserVisitor.prototype.visitTruncate_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_column_master_key. -TSqlParserVisitor.prototype.visitCreate_column_master_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_credential. -TSqlParserVisitor.prototype.visitAlter_credential = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_credential. -TSqlParserVisitor.prototype.visitCreate_credential = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_cryptographic_provider. -TSqlParserVisitor.prototype.visitAlter_cryptographic_provider = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_cryptographic_provider. -TSqlParserVisitor.prototype.visitCreate_cryptographic_provider = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_event_notification. -TSqlParserVisitor.prototype.visitCreate_event_notification = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_or_alter_event_session. -TSqlParserVisitor.prototype.visitCreate_or_alter_event_session = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#event_session_predicate_expression. -TSqlParserVisitor.prototype.visitEvent_session_predicate_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#event_session_predicate_factor. -TSqlParserVisitor.prototype.visitEvent_session_predicate_factor = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#event_session_predicate_leaf. -TSqlParserVisitor.prototype.visitEvent_session_predicate_leaf = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_external_data_source. -TSqlParserVisitor.prototype.visitAlter_external_data_source = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_external_library. -TSqlParserVisitor.prototype.visitAlter_external_library = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_external_library. -TSqlParserVisitor.prototype.visitCreate_external_library = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_external_resource_pool. -TSqlParserVisitor.prototype.visitAlter_external_resource_pool = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_external_resource_pool. -TSqlParserVisitor.prototype.visitCreate_external_resource_pool = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_fulltext_catalog. -TSqlParserVisitor.prototype.visitAlter_fulltext_catalog = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_fulltext_catalog. -TSqlParserVisitor.prototype.visitCreate_fulltext_catalog = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_fulltext_stoplist. -TSqlParserVisitor.prototype.visitAlter_fulltext_stoplist = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_fulltext_stoplist. -TSqlParserVisitor.prototype.visitCreate_fulltext_stoplist = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_login_sql_server. -TSqlParserVisitor.prototype.visitAlter_login_sql_server = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_login_sql_server. -TSqlParserVisitor.prototype.visitCreate_login_sql_server = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_login_azure_sql. -TSqlParserVisitor.prototype.visitAlter_login_azure_sql = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_login_azure_sql. -TSqlParserVisitor.prototype.visitCreate_login_azure_sql = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_login_azure_sql_dw_and_pdw. -TSqlParserVisitor.prototype.visitAlter_login_azure_sql_dw_and_pdw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_login_pdw. -TSqlParserVisitor.prototype.visitCreate_login_pdw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_master_key_sql_server. -TSqlParserVisitor.prototype.visitAlter_master_key_sql_server = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_master_key_sql_server. -TSqlParserVisitor.prototype.visitCreate_master_key_sql_server = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_master_key_azure_sql. -TSqlParserVisitor.prototype.visitAlter_master_key_azure_sql = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_master_key_azure_sql. -TSqlParserVisitor.prototype.visitCreate_master_key_azure_sql = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_message_type. -TSqlParserVisitor.prototype.visitAlter_message_type = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_partition_function. -TSqlParserVisitor.prototype.visitAlter_partition_function = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_partition_scheme. -TSqlParserVisitor.prototype.visitAlter_partition_scheme = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_remote_service_binding. -TSqlParserVisitor.prototype.visitAlter_remote_service_binding = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_remote_service_binding. -TSqlParserVisitor.prototype.visitCreate_remote_service_binding = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_resource_pool. -TSqlParserVisitor.prototype.visitCreate_resource_pool = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_resource_governor. -TSqlParserVisitor.prototype.visitAlter_resource_governor = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_db_role. -TSqlParserVisitor.prototype.visitAlter_db_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_db_role. -TSqlParserVisitor.prototype.visitCreate_db_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_route. -TSqlParserVisitor.prototype.visitCreate_route = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_rule. -TSqlParserVisitor.prototype.visitCreate_rule = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_schema_sql. -TSqlParserVisitor.prototype.visitAlter_schema_sql = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_schema. -TSqlParserVisitor.prototype.visitCreate_schema = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_schema_azure_sql_dw_and_pdw. -TSqlParserVisitor.prototype.visitCreate_schema_azure_sql_dw_and_pdw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_schema_azure_sql_dw_and_pdw. -TSqlParserVisitor.prototype.visitAlter_schema_azure_sql_dw_and_pdw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_search_property_list. -TSqlParserVisitor.prototype.visitCreate_search_property_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_security_policy. -TSqlParserVisitor.prototype.visitCreate_security_policy = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_sequence. -TSqlParserVisitor.prototype.visitAlter_sequence = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_sequence. -TSqlParserVisitor.prototype.visitCreate_sequence = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_server_audit. -TSqlParserVisitor.prototype.visitAlter_server_audit = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_server_audit. -TSqlParserVisitor.prototype.visitCreate_server_audit = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_server_audit_specification. -TSqlParserVisitor.prototype.visitAlter_server_audit_specification = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_server_audit_specification. -TSqlParserVisitor.prototype.visitCreate_server_audit_specification = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_server_configuration. -TSqlParserVisitor.prototype.visitAlter_server_configuration = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_server_role. -TSqlParserVisitor.prototype.visitAlter_server_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_server_role. -TSqlParserVisitor.prototype.visitCreate_server_role = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_server_role_pdw. -TSqlParserVisitor.prototype.visitAlter_server_role_pdw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_service. -TSqlParserVisitor.prototype.visitAlter_service = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_service. -TSqlParserVisitor.prototype.visitCreate_service = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_service_master_key. -TSqlParserVisitor.prototype.visitAlter_service_master_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_symmetric_key. -TSqlParserVisitor.prototype.visitAlter_symmetric_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_symmetric_key. -TSqlParserVisitor.prototype.visitCreate_symmetric_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_synonym. -TSqlParserVisitor.prototype.visitCreate_synonym = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_user. -TSqlParserVisitor.prototype.visitAlter_user = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_user. -TSqlParserVisitor.prototype.visitCreate_user = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_user_azure_sql_dw. -TSqlParserVisitor.prototype.visitCreate_user_azure_sql_dw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_user_azure_sql. -TSqlParserVisitor.prototype.visitAlter_user_azure_sql = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_workload_group. -TSqlParserVisitor.prototype.visitAlter_workload_group = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_workload_group. -TSqlParserVisitor.prototype.visitCreate_workload_group = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_xml_schema_collection. -TSqlParserVisitor.prototype.visitCreate_xml_schema_collection = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_queue. -TSqlParserVisitor.prototype.visitCreate_queue = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#queue_settings. -TSqlParserVisitor.prototype.visitQueue_settings = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_queue. -TSqlParserVisitor.prototype.visitAlter_queue = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#queue_action. -TSqlParserVisitor.prototype.visitQueue_action = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#queue_rebuild_options. -TSqlParserVisitor.prototype.visitQueue_rebuild_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_contract. -TSqlParserVisitor.prototype.visitCreate_contract = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#conversation_statement. -TSqlParserVisitor.prototype.visitConversation_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#message_statement. -TSqlParserVisitor.prototype.visitMessage_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#merge_statement. -TSqlParserVisitor.prototype.visitMerge_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#merge_matched. -TSqlParserVisitor.prototype.visitMerge_matched = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#merge_not_matched. -TSqlParserVisitor.prototype.visitMerge_not_matched = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#delete_statement. -TSqlParserVisitor.prototype.visitDelete_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#delete_statement_from. -TSqlParserVisitor.prototype.visitDelete_statement_from = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#insert_statement. -TSqlParserVisitor.prototype.visitInsert_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#insert_statement_value. -TSqlParserVisitor.prototype.visitInsert_statement_value = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#receive_statement. -TSqlParserVisitor.prototype.visitReceive_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#select_statement. -TSqlParserVisitor.prototype.visitSelect_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#time. -TSqlParserVisitor.prototype.visitTime = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#update_statement. -TSqlParserVisitor.prototype.visitUpdate_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#output_clause. -TSqlParserVisitor.prototype.visitOutput_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#output_dml_list_elem. -TSqlParserVisitor.prototype.visitOutput_dml_list_elem = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#output_column_name. -TSqlParserVisitor.prototype.visitOutput_column_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_database. -TSqlParserVisitor.prototype.visitCreate_database = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_index. -TSqlParserVisitor.prototype.visitCreate_index = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_or_alter_procedure. -TSqlParserVisitor.prototype.visitCreate_or_alter_procedure = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_or_alter_trigger. -TSqlParserVisitor.prototype.visitCreate_or_alter_trigger = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_or_alter_dml_trigger. -TSqlParserVisitor.prototype.visitCreate_or_alter_dml_trigger = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#dml_trigger_option. -TSqlParserVisitor.prototype.visitDml_trigger_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#dml_trigger_operation. -TSqlParserVisitor.prototype.visitDml_trigger_operation = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_or_alter_ddl_trigger. -TSqlParserVisitor.prototype.visitCreate_or_alter_ddl_trigger = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#ddl_trigger_operation. -TSqlParserVisitor.prototype.visitDdl_trigger_operation = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_or_alter_function. -TSqlParserVisitor.prototype.visitCreate_or_alter_function = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#func_body_returns_select. -TSqlParserVisitor.prototype.visitFunc_body_returns_select = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#func_body_returns_table. -TSqlParserVisitor.prototype.visitFunc_body_returns_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#func_body_returns_scalar. -TSqlParserVisitor.prototype.visitFunc_body_returns_scalar = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#procedure_param. -TSqlParserVisitor.prototype.visitProcedure_param = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#procedure_option. -TSqlParserVisitor.prototype.visitProcedure_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#function_option. -TSqlParserVisitor.prototype.visitFunction_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_statistics. -TSqlParserVisitor.prototype.visitCreate_statistics = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#update_statistics. -TSqlParserVisitor.prototype.visitUpdate_statistics = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_table. -TSqlParserVisitor.prototype.visitCreate_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_options. -TSqlParserVisitor.prototype.visitTable_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_view. -TSqlParserVisitor.prototype.visitCreate_view = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#view_attribute. -TSqlParserVisitor.prototype.visitView_attribute = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_table. -TSqlParserVisitor.prototype.visitAlter_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_database. -TSqlParserVisitor.prototype.visitAlter_database = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#database_optionspec. -TSqlParserVisitor.prototype.visitDatabase_optionspec = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#auto_option. -TSqlParserVisitor.prototype.visitAuto_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#change_tracking_option. -TSqlParserVisitor.prototype.visitChange_tracking_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#change_tracking_option_list. -TSqlParserVisitor.prototype.visitChange_tracking_option_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#containment_option. -TSqlParserVisitor.prototype.visitContainment_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#cursor_option. -TSqlParserVisitor.prototype.visitCursor_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#alter_endpoint. -TSqlParserVisitor.prototype.visitAlter_endpoint = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#database_mirroring_option. -TSqlParserVisitor.prototype.visitDatabase_mirroring_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#mirroring_set_option. -TSqlParserVisitor.prototype.visitMirroring_set_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#mirroring_partner. -TSqlParserVisitor.prototype.visitMirroring_partner = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#mirroring_witness. -TSqlParserVisitor.prototype.visitMirroring_witness = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#witness_partner_equal. -TSqlParserVisitor.prototype.visitWitness_partner_equal = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#partner_option. -TSqlParserVisitor.prototype.visitPartner_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#witness_option. -TSqlParserVisitor.prototype.visitWitness_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#witness_server. -TSqlParserVisitor.prototype.visitWitness_server = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#partner_server. -TSqlParserVisitor.prototype.visitPartner_server = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#mirroring_host_port_seperator. -TSqlParserVisitor.prototype.visitMirroring_host_port_seperator = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#partner_server_tcp_prefix. -TSqlParserVisitor.prototype.visitPartner_server_tcp_prefix = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#port_number. -TSqlParserVisitor.prototype.visitPort_number = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#host. -TSqlParserVisitor.prototype.visitHost = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#date_correlation_optimization_option. -TSqlParserVisitor.prototype.visitDate_correlation_optimization_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#db_encryption_option. -TSqlParserVisitor.prototype.visitDb_encryption_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#db_state_option. -TSqlParserVisitor.prototype.visitDb_state_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#db_update_option. -TSqlParserVisitor.prototype.visitDb_update_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#db_user_access_option. -TSqlParserVisitor.prototype.visitDb_user_access_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#delayed_durability_option. -TSqlParserVisitor.prototype.visitDelayed_durability_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#external_access_option. -TSqlParserVisitor.prototype.visitExternal_access_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#hadr_options. -TSqlParserVisitor.prototype.visitHadr_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#mixed_page_allocation_option. -TSqlParserVisitor.prototype.visitMixed_page_allocation_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#parameterization_option. -TSqlParserVisitor.prototype.visitParameterization_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#recovery_option. -TSqlParserVisitor.prototype.visitRecovery_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#service_broker_option. -TSqlParserVisitor.prototype.visitService_broker_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#snapshot_option. -TSqlParserVisitor.prototype.visitSnapshot_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#sql_option. -TSqlParserVisitor.prototype.visitSql_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#target_recovery_time_option. -TSqlParserVisitor.prototype.visitTarget_recovery_time_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#termination. -TSqlParserVisitor.prototype.visitTermination = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_index. -TSqlParserVisitor.prototype.visitDrop_index = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_relational_or_xml_or_spatial_index. -TSqlParserVisitor.prototype.visitDrop_relational_or_xml_or_spatial_index = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_backward_compatible_index. -TSqlParserVisitor.prototype.visitDrop_backward_compatible_index = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_procedure. -TSqlParserVisitor.prototype.visitDrop_procedure = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_trigger. -TSqlParserVisitor.prototype.visitDrop_trigger = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_dml_trigger. -TSqlParserVisitor.prototype.visitDrop_dml_trigger = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_ddl_trigger. -TSqlParserVisitor.prototype.visitDrop_ddl_trigger = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_function. -TSqlParserVisitor.prototype.visitDrop_function = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_statistics. -TSqlParserVisitor.prototype.visitDrop_statistics = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_table. -TSqlParserVisitor.prototype.visitDrop_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_view. -TSqlParserVisitor.prototype.visitDrop_view = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_type. -TSqlParserVisitor.prototype.visitCreate_type = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#drop_type. -TSqlParserVisitor.prototype.visitDrop_type = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#rowset_function_limited. -TSqlParserVisitor.prototype.visitRowset_function_limited = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#openquery. -TSqlParserVisitor.prototype.visitOpenquery = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#opendatasource. -TSqlParserVisitor.prototype.visitOpendatasource = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#declare_statement. -TSqlParserVisitor.prototype.visitDeclare_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#cursor_statement. -TSqlParserVisitor.prototype.visitCursor_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#backup_database. -TSqlParserVisitor.prototype.visitBackup_database = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#backup_log. -TSqlParserVisitor.prototype.visitBackup_log = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#backup_certificate. -TSqlParserVisitor.prototype.visitBackup_certificate = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#backup_master_key. -TSqlParserVisitor.prototype.visitBackup_master_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#backup_service_master_key. -TSqlParserVisitor.prototype.visitBackup_service_master_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#kill_statement. -TSqlParserVisitor.prototype.visitKill_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#kill_process. -TSqlParserVisitor.prototype.visitKill_process = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#kill_query_notification. -TSqlParserVisitor.prototype.visitKill_query_notification = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#kill_stats_job. -TSqlParserVisitor.prototype.visitKill_stats_job = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#execute_statement. -TSqlParserVisitor.prototype.visitExecute_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#execute_body. -TSqlParserVisitor.prototype.visitExecute_body = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#execute_statement_arg. -TSqlParserVisitor.prototype.visitExecute_statement_arg = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#execute_var_string. -TSqlParserVisitor.prototype.visitExecute_var_string = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#security_statement. -TSqlParserVisitor.prototype.visitSecurity_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_certificate. -TSqlParserVisitor.prototype.visitCreate_certificate = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#existing_keys. -TSqlParserVisitor.prototype.visitExisting_keys = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#private_key_options. -TSqlParserVisitor.prototype.visitPrivate_key_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#generate_new_keys. -TSqlParserVisitor.prototype.visitGenerate_new_keys = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#date_options. -TSqlParserVisitor.prototype.visitDate_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#open_key. -TSqlParserVisitor.prototype.visitOpen_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#close_key. -TSqlParserVisitor.prototype.visitClose_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_key. -TSqlParserVisitor.prototype.visitCreate_key = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#key_options. -TSqlParserVisitor.prototype.visitKey_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#algorithm. -TSqlParserVisitor.prototype.visitAlgorithm = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#encryption_mechanism. -TSqlParserVisitor.prototype.visitEncryption_mechanism = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#decryption_mechanism. -TSqlParserVisitor.prototype.visitDecryption_mechanism = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#grant_permission. -TSqlParserVisitor.prototype.visitGrant_permission = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#set_statement. -TSqlParserVisitor.prototype.visitSet_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#transaction_statement. -TSqlParserVisitor.prototype.visitTransaction_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#go_statement. -TSqlParserVisitor.prototype.visitGo_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#use_statement. -TSqlParserVisitor.prototype.visitUse_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#setuser_statement. -TSqlParserVisitor.prototype.visitSetuser_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#reconfigure_statement. -TSqlParserVisitor.prototype.visitReconfigure_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#shutdown_statement. -TSqlParserVisitor.prototype.visitShutdown_statement = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#dbcc_clause. -TSqlParserVisitor.prototype.visitDbcc_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#dbcc_options. -TSqlParserVisitor.prototype.visitDbcc_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#execute_clause. -TSqlParserVisitor.prototype.visitExecute_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#declare_local. -TSqlParserVisitor.prototype.visitDeclare_local = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_type_definition. -TSqlParserVisitor.prototype.visitTable_type_definition = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#xml_type_definition. -TSqlParserVisitor.prototype.visitXml_type_definition = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#xml_schema_collection. -TSqlParserVisitor.prototype.visitXml_schema_collection = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_def_table_constraints. -TSqlParserVisitor.prototype.visitColumn_def_table_constraints = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_def_table_constraint. -TSqlParserVisitor.prototype.visitColumn_def_table_constraint = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_definition. -TSqlParserVisitor.prototype.visitColumn_definition = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#materialized_column_definition. -TSqlParserVisitor.prototype.visitMaterialized_column_definition = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_constraint. -TSqlParserVisitor.prototype.visitColumn_constraint = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_constraint. -TSqlParserVisitor.prototype.visitTable_constraint = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#on_delete. -TSqlParserVisitor.prototype.visitOn_delete = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#on_update. -TSqlParserVisitor.prototype.visitOn_update = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#index_options. -TSqlParserVisitor.prototype.visitIndex_options = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#index_option. -TSqlParserVisitor.prototype.visitIndex_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#declare_cursor. -TSqlParserVisitor.prototype.visitDeclare_cursor = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#declare_set_cursor_common. -TSqlParserVisitor.prototype.visitDeclare_set_cursor_common = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#declare_set_cursor_common_partial. -TSqlParserVisitor.prototype.visitDeclare_set_cursor_common_partial = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#fetch_cursor. -TSqlParserVisitor.prototype.visitFetch_cursor = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#set_special. -TSqlParserVisitor.prototype.visitSet_special = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#constant_LOCAL_ID. -TSqlParserVisitor.prototype.visitConstant_LOCAL_ID = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#expression. -TSqlParserVisitor.prototype.visitExpression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#primitive_expression. -TSqlParserVisitor.prototype.visitPrimitive_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#case_expression. -TSqlParserVisitor.prototype.visitCase_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#unary_operator_expression. -TSqlParserVisitor.prototype.visitUnary_operator_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#bracket_expression. -TSqlParserVisitor.prototype.visitBracket_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#constant_expression. -TSqlParserVisitor.prototype.visitConstant_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#subquery. -TSqlParserVisitor.prototype.visitSubquery = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#with_expression. -TSqlParserVisitor.prototype.visitWith_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#common_table_expression. -TSqlParserVisitor.prototype.visitCommon_table_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#update_elem. -TSqlParserVisitor.prototype.visitUpdate_elem = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#search_condition_list. -TSqlParserVisitor.prototype.visitSearch_condition_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#search_condition. -TSqlParserVisitor.prototype.visitSearch_condition = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#search_condition_and. -TSqlParserVisitor.prototype.visitSearch_condition_and = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#search_condition_not. -TSqlParserVisitor.prototype.visitSearch_condition_not = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#predicate. -TSqlParserVisitor.prototype.visitPredicate = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#query_expression. -TSqlParserVisitor.prototype.visitQuery_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#sql_union. -TSqlParserVisitor.prototype.visitSql_union = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#query_specification. -TSqlParserVisitor.prototype.visitQuery_specification = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#top_clause. -TSqlParserVisitor.prototype.visitTop_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#top_percent. -TSqlParserVisitor.prototype.visitTop_percent = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#top_count. -TSqlParserVisitor.prototype.visitTop_count = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#order_by_clause. -TSqlParserVisitor.prototype.visitOrder_by_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#for_clause. -TSqlParserVisitor.prototype.visitFor_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#xml_common_directives. -TSqlParserVisitor.prototype.visitXml_common_directives = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#order_by_expression. -TSqlParserVisitor.prototype.visitOrder_by_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#group_by_item. -TSqlParserVisitor.prototype.visitGroup_by_item = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#option_clause. -TSqlParserVisitor.prototype.visitOption_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#option. -TSqlParserVisitor.prototype.visitOption = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#optimize_for_arg. -TSqlParserVisitor.prototype.visitOptimize_for_arg = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#select_list. -TSqlParserVisitor.prototype.visitSelect_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#udt_method_arguments. -TSqlParserVisitor.prototype.visitUdt_method_arguments = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#asterisk. -TSqlParserVisitor.prototype.visitAsterisk = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_elem. -TSqlParserVisitor.prototype.visitColumn_elem = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#udt_elem. -TSqlParserVisitor.prototype.visitUdt_elem = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#expression_elem. -TSqlParserVisitor.prototype.visitExpression_elem = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#select_list_elem. -TSqlParserVisitor.prototype.visitSelect_list_elem = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_sources. -TSqlParserVisitor.prototype.visitTable_sources = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_source. -TSqlParserVisitor.prototype.visitTable_source = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_source_item_joined. -TSqlParserVisitor.prototype.visitTable_source_item_joined = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_source_item. -TSqlParserVisitor.prototype.visitTable_source_item = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#open_xml. -TSqlParserVisitor.prototype.visitOpen_xml = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#schema_declaration. -TSqlParserVisitor.prototype.visitSchema_declaration = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_declaration. -TSqlParserVisitor.prototype.visitColumn_declaration = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#change_table. -TSqlParserVisitor.prototype.visitChange_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#join_part. -TSqlParserVisitor.prototype.visitJoin_part = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#pivot_clause. -TSqlParserVisitor.prototype.visitPivot_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#unpivot_clause. -TSqlParserVisitor.prototype.visitUnpivot_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#full_column_name_list. -TSqlParserVisitor.prototype.visitFull_column_name_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_name_with_hint. -TSqlParserVisitor.prototype.visitTable_name_with_hint = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#rowset_function. -TSqlParserVisitor.prototype.visitRowset_function = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#bulk_option. -TSqlParserVisitor.prototype.visitBulk_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#derived_table. -TSqlParserVisitor.prototype.visitDerived_table = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#BINARY_CHECKSUM. -TSqlParserVisitor.prototype.visitBINARY_CHECKSUM = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#CAST. -TSqlParserVisitor.prototype.visitCAST = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#CONVERT. -TSqlParserVisitor.prototype.visitCONVERT = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#CHECKSUM. -TSqlParserVisitor.prototype.visitCHECKSUM = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#COALESCE. -TSqlParserVisitor.prototype.visitCOALESCE = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#CURRENT_TIMESTAMP. -TSqlParserVisitor.prototype.visitCURRENT_TIMESTAMP = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#CURRENT_USER. -TSqlParserVisitor.prototype.visitCURRENT_USER = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#DATEADD. -TSqlParserVisitor.prototype.visitDATEADD = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#DATEDIFF. -TSqlParserVisitor.prototype.visitDATEDIFF = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#DATENAME. -TSqlParserVisitor.prototype.visitDATENAME = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#DATEPART. -TSqlParserVisitor.prototype.visitDATEPART = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#GETDATE. -TSqlParserVisitor.prototype.visitGETDATE = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#GETUTCDATE. -TSqlParserVisitor.prototype.visitGETUTCDATE = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#IDENTITY. -TSqlParserVisitor.prototype.visitIDENTITY = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#MIN_ACTIVE_ROWVERSION. -TSqlParserVisitor.prototype.visitMIN_ACTIVE_ROWVERSION = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#NULLIF. -TSqlParserVisitor.prototype.visitNULLIF = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#STUFF. -TSqlParserVisitor.prototype.visitSTUFF = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#SESSION_USER. -TSqlParserVisitor.prototype.visitSESSION_USER = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#SYSTEM_USER. -TSqlParserVisitor.prototype.visitSYSTEM_USER = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#ISNULL. -TSqlParserVisitor.prototype.visitISNULL = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#XML_DATA_TYPE_FUNC. -TSqlParserVisitor.prototype.visitXML_DATA_TYPE_FUNC = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#IFF. -TSqlParserVisitor.prototype.visitIFF = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#RANKING_WINDOWED_FUNC. -TSqlParserVisitor.prototype.visitRANKING_WINDOWED_FUNC = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#AGGREGATE_WINDOWED_FUNC. -TSqlParserVisitor.prototype.visitAGGREGATE_WINDOWED_FUNC = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#ANALYTIC_WINDOWED_FUNC. -TSqlParserVisitor.prototype.visitANALYTIC_WINDOWED_FUNC = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#SCALAR_FUNCTION. -TSqlParserVisitor.prototype.visitSCALAR_FUNCTION = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#STRINGAGG. -TSqlParserVisitor.prototype.visitSTRINGAGG = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#xml_data_type_methods. -TSqlParserVisitor.prototype.visitXml_data_type_methods = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#value_method. -TSqlParserVisitor.prototype.visitValue_method = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#query_method. -TSqlParserVisitor.prototype.visitQuery_method = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#exist_method. -TSqlParserVisitor.prototype.visitExist_method = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#modify_method. -TSqlParserVisitor.prototype.visitModify_method = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#nodes_method. -TSqlParserVisitor.prototype.visitNodes_method = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#switch_section. -TSqlParserVisitor.prototype.visitSwitch_section = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#switch_search_condition_section. -TSqlParserVisitor.prototype.visitSwitch_search_condition_section = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#as_column_alias. -TSqlParserVisitor.prototype.visitAs_column_alias = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#as_table_alias. -TSqlParserVisitor.prototype.visitAs_table_alias = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_alias. -TSqlParserVisitor.prototype.visitTable_alias = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#with_table_hints. -TSqlParserVisitor.prototype.visitWith_table_hints = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#insert_with_table_hints. -TSqlParserVisitor.prototype.visitInsert_with_table_hints = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_hint. -TSqlParserVisitor.prototype.visitTable_hint = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#index_value. -TSqlParserVisitor.prototype.visitIndex_value = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_alias_list. -TSqlParserVisitor.prototype.visitColumn_alias_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_alias. -TSqlParserVisitor.prototype.visitColumn_alias = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_value_constructor. -TSqlParserVisitor.prototype.visitTable_value_constructor = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#expression_list. -TSqlParserVisitor.prototype.visitExpression_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#ranking_windowed_function. -TSqlParserVisitor.prototype.visitRanking_windowed_function = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#aggregate_windowed_function. -TSqlParserVisitor.prototype.visitAggregate_windowed_function = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#analytic_windowed_function. -TSqlParserVisitor.prototype.visitAnalytic_windowed_function = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#all_distinct_expression. -TSqlParserVisitor.prototype.visitAll_distinct_expression = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#over_clause. -TSqlParserVisitor.prototype.visitOver_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#row_or_range_clause. -TSqlParserVisitor.prototype.visitRow_or_range_clause = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#window_frame_extent. -TSqlParserVisitor.prototype.visitWindow_frame_extent = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#window_frame_bound. -TSqlParserVisitor.prototype.visitWindow_frame_bound = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#window_frame_preceding. -TSqlParserVisitor.prototype.visitWindow_frame_preceding = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#window_frame_following. -TSqlParserVisitor.prototype.visitWindow_frame_following = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#create_database_option. -TSqlParserVisitor.prototype.visitCreate_database_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#database_filestream_option. -TSqlParserVisitor.prototype.visitDatabase_filestream_option = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#database_file_spec. -TSqlParserVisitor.prototype.visitDatabase_file_spec = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#file_group. -TSqlParserVisitor.prototype.visitFile_group = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#file_spec. -TSqlParserVisitor.prototype.visitFile_spec = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#entity_name. -TSqlParserVisitor.prototype.visitEntity_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#entity_name_for_azure_dw. -TSqlParserVisitor.prototype.visitEntity_name_for_azure_dw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#entity_name_for_parallel_dw. -TSqlParserVisitor.prototype.visitEntity_name_for_parallel_dw = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#full_table_name. -TSqlParserVisitor.prototype.visitFull_table_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#table_name. -TSqlParserVisitor.prototype.visitTable_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#simple_name. -TSqlParserVisitor.prototype.visitSimple_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#func_proc_name_schema. -TSqlParserVisitor.prototype.visitFunc_proc_name_schema = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#func_proc_name_database_schema. -TSqlParserVisitor.prototype.visitFunc_proc_name_database_schema = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#func_proc_name_server_database_schema. -TSqlParserVisitor.prototype.visitFunc_proc_name_server_database_schema = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#ddl_object. -TSqlParserVisitor.prototype.visitDdl_object = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#full_column_name. -TSqlParserVisitor.prototype.visitFull_column_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_name_list_with_order. -TSqlParserVisitor.prototype.visitColumn_name_list_with_order = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#column_name_list. -TSqlParserVisitor.prototype.visitColumn_name_list = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#cursor_name. -TSqlParserVisitor.prototype.visitCursor_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#on_off. -TSqlParserVisitor.prototype.visitOn_off = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#clustered. -TSqlParserVisitor.prototype.visitClustered = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#null_notnull. -TSqlParserVisitor.prototype.visitNull_notnull = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#null_or_default. -TSqlParserVisitor.prototype.visitNull_or_default = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#scalar_function_name. -TSqlParserVisitor.prototype.visitScalar_function_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#begin_conversation_timer. -TSqlParserVisitor.prototype.visitBegin_conversation_timer = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#begin_conversation_dialog. -TSqlParserVisitor.prototype.visitBegin_conversation_dialog = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#contract_name. -TSqlParserVisitor.prototype.visitContract_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#service_name. -TSqlParserVisitor.prototype.visitService_name = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#end_conversation. -TSqlParserVisitor.prototype.visitEnd_conversation = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#waitfor_conversation. -TSqlParserVisitor.prototype.visitWaitfor_conversation = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#get_conversation. -TSqlParserVisitor.prototype.visitGet_conversation = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#queue_id. -TSqlParserVisitor.prototype.visitQueue_id = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#send_conversation. -TSqlParserVisitor.prototype.visitSend_conversation = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#data_type. -TSqlParserVisitor.prototype.visitData_type = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#default_value. -TSqlParserVisitor.prototype.visitDefault_value = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#constant. -TSqlParserVisitor.prototype.visitConstant = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#sign. -TSqlParserVisitor.prototype.visitSign = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#id. -TSqlParserVisitor.prototype.visitId = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#simple_id. -TSqlParserVisitor.prototype.visitSimple_id = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#comparison_operator. -TSqlParserVisitor.prototype.visitComparison_operator = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#assignment_operator. -TSqlParserVisitor.prototype.visitAssignment_operator = function(ctx) { - return this.visitChildren(ctx); -}; - - -// Visit a parse tree produced by TSqlParser#file_size. -TSqlParserVisitor.prototype.visitFile_size = function(ctx) { - return this.visitChildren(ctx); -}; - - - -exports.TSqlParserVisitor = TSqlParserVisitor; \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 2e2bc2c..5a766da 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,2 +1,2 @@ -export * from './core'; +export * from './parser'; export * from './utils'; diff --git a/src/lib/generic/SqlLexer.interp b/src/lib/generic/SqlLexer.interp new file mode 100644 index 0000000..2274f88 --- /dev/null +++ b/src/lib/generic/SqlLexer.interp @@ -0,0 +1,3175 @@ +token literal names: +null +null +null +null +null +'ADD' +'ALL' +'ALTER' +'ALWAYS' +'ANALYZE' +'AND' +'AS' +'ASC' +'BEFORE' +'BETWEEN' +'BOTH' +'BY' +'CALL' +'CASCADE' +'CASE' +'CAST' +'CHANGE' +'CHARACTER' +'CHECK' +'COLLATE' +'COLUMN' +'CONDITION' +'CONSTRAINT' +'CONTINUE' +'CONVERT' +'CREATE' +'CROSS' +'CURRENT' +'CURRENT_USER' +'CURSOR' +'DATABASE' +'DATABASES' +'DECLARE' +'DEFAULT' +'DELAYED' +'DELETE' +'DESC' +'DESCRIBE' +'DETERMINISTIC' +'DIAGNOSTICS' +'DISTINCT' +'DISTINCTROW' +'DROP' +'EACH' +'ELSE' +'ELSEIF' +'ENCLOSED' +'ESCAPED' +'EXISTS' +'EXIT' +'EXPLAIN' +'FALSE' +'FETCH' +'FOR' +'FORCE' +'FOREIGN' +'FROM' +'FULLTEXT' +'GENERATED' +'GET' +'GRANT' +'GROUP' +'HAVING' +'HIGH_PRIORITY' +'IF' +'IGNORE' +'IN' +'INDEX' +'INFILE' +'INNER' +'INOUT' +'INSERT' +'INTERVAL' +'INTO' +'IS' +'ITERATE' +'JOIN' +'KEY' +'KEYS' +'KILL' +'LEADING' +'LEAVE' +'LEFT' +'LIKE' +'LIMIT' +'LINEAR' +'LINES' +'LOAD' +'LOCK' +'LOOP' +'LOW_PRIORITY' +'MASTER_BIND' +'MASTER_SSL_VERIFY_SERVER_CERT' +'MATCH' +'MAXVALUE' +'MODIFIES' +'NATURAL' +'NOT' +'NO_WRITE_TO_BINLOG' +'NULL' +'NUMBER' +'ON' +'OPTIMIZE' +'OPTION' +'OPTIONALLY' +'OR' +'ORDER' +'OUT' +'OUTER' +'OUTFILE' +'PARTITION' +'PRIMARY' +'PROCEDURE' +'PURGE' +'RANGE' +'READ' +'READS' +'REFERENCES' +'REGEXP' +'RELEASE' +'RENAME' +'REPEAT' +'REPLACE' +'REQUIRE' +'RESIGNAL' +'RESTRICT' +'RETURN' +'REVOKE' +'RIGHT' +'RLIKE' +'SCHEMA' +'SCHEMAS' +'SELECT' +'SET' +'SEPARATOR' +'SHOW' +'SIGNAL' +'SPATIAL' +'SQL' +'SQLEXCEPTION' +'SQLSTATE' +'SQLWARNING' +'SQL_BIG_RESULT' +'SQL_CALC_FOUND_ROWS' +'SQL_SMALL_RESULT' +'SSL' +'STACKED' +'STARTING' +'STRAIGHT_JOIN' +'TABLE' +'TERMINATED' +'THEN' +'TO' +'TRAILING' +'TRIGGER' +'TRUE' +'UNDO' +'UNION' +'UNIQUE' +'UNLOCK' +'UNSIGNED' +'UPDATE' +'USAGE' +'USE' +'USING' +'VALUES' +'WHEN' +'WHERE' +'WHILE' +'WITH' +'WRITE' +'XOR' +'ZEROFILL' +'TINYINT' +'SMALLINT' +'MEDIUMINT' +'MIDDLEINT' +'INT' +'INT1' +'INT2' +'INT3' +'INT4' +'INT8' +'INTEGER' +'BIGINT' +'REAL' +'DOUBLE' +'PRECISION' +'FLOAT' +'FLOAT4' +'FLOAT8' +'DECIMAL' +'DEC' +'NUMERIC' +'DATE' +'TIME' +'TIMESTAMP' +'DATETIME' +'YEAR' +'CHAR' +'VARCHAR' +'NVARCHAR' +'NATIONAL' +'BINARY' +'VARBINARY' +'TINYBLOB' +'BLOB' +'MEDIUMBLOB' +'LONG' +'LONGBLOB' +'TINYTEXT' +'TEXT' +'MEDIUMTEXT' +'LONGTEXT' +'ENUM' +'VARYING' +'SERIAL' +'YEAR_MONTH' +'DAY_HOUR' +'DAY_MINUTE' +'DAY_SECOND' +'HOUR_MINUTE' +'HOUR_SECOND' +'MINUTE_SECOND' +'SECOND_MICROSECOND' +'MINUTE_MICROSECOND' +'HOUR_MICROSECOND' +'DAY_MICROSECOND' +'JSON_VALID' +'JSON_SCHEMA_VALID' +'AVG' +'BIT_AND' +'BIT_OR' +'BIT_XOR' +'COUNT' +'GROUP_CONCAT' +'MAX' +'MIN' +'STD' +'STDDEV' +'STDDEV_POP' +'STDDEV_SAMP' +'SUM' +'VAR_POP' +'VAR_SAMP' +'VARIANCE' +'CURRENT_DATE' +'CURRENT_TIME' +'CURRENT_TIMESTAMP' +'LOCALTIME' +'CURDATE' +'CURTIME' +'DATE_ADD' +'DATE_SUB' +'EXTRACT' +'LOCALTIMESTAMP' +'NOW' +'POSITION' +'SUBSTR' +'SUBSTRING' +'SYSDATE' +'TRIM' +'UTC_DATE' +'UTC_TIME' +'UTC_TIMESTAMP' +'ACCOUNT' +'ACTION' +'AFTER' +'AGGREGATE' +'ALGORITHM' +'ANY' +'AT' +'AUTHORS' +'AUTOCOMMIT' +'AUTOEXTEND_SIZE' +'AUTO_INCREMENT' +'AVG_ROW_LENGTH' +'BEGIN' +'BINLOG' +'BIT' +'BLOCK' +'BOOL' +'BOOLEAN' +'BTREE' +'CACHE' +'CASCADED' +'CHAIN' +'CHANGED' +'CHANNEL' +'CHECKSUM' +'PAGE_CHECKSUM' +'CIPHER' +'CLASS_ORIGIN' +'CLIENT' +'CLOSE' +'COALESCE' +'CODE' +'COLUMNS' +'COLUMN_FORMAT' +'COLUMN_NAME' +'COMMENT' +'COMMIT' +'COMPACT' +'COMPLETION' +'COMPRESSED' +'COMPRESSION' +'CONCURRENT' +'CONNECTION' +'CONSISTENT' +'CONSTRAINT_CATALOG' +'CONSTRAINT_SCHEMA' +'CONSTRAINT_NAME' +'CONTAINS' +'CONTEXT' +'CONTRIBUTORS' +'COPY' +'CPU' +'CURSOR_NAME' +'DATA' +'DATAFILE' +'DEALLOCATE' +'DEFAULT_AUTH' +'DEFINER' +'DELAY_KEY_WRITE' +'DES_KEY_FILE' +'DIRECTORY' +'DISABLE' +'DISCARD' +'DISK' +'DO' +'DUMPFILE' +'DUPLICATE' +'DYNAMIC' +'ENABLE' +'ENCRYPTION' +'END' +'ENDS' +'ENGINE' +'ENGINES' +'ERROR' +'ERRORS' +'ESCAPE' +'EVEN' +'EVENT' +'EVENTS' +'EVERY' +'EXCHANGE' +'EXCLUSIVE' +'EXPIRE' +'EXPORT' +'EXTENDED' +'EXTENT_SIZE' +'FAST' +'FAULTS' +'FIELDS' +'FILE_BLOCK_SIZE' +'FILTER' +'FIRST' +'FIXED' +'FLUSH' +'FOLLOWS' +'FOUND' +'FULL' +'FUNCTION' +'GENERAL' +'GLOBAL' +'GRANTS' +'GROUP_REPLICATION' +'HANDLER' +'HASH' +'HELP' +'HOST' +'HOSTS' +'IDENTIFIED' +'IGNORE_SERVER_IDS' +'IMPORT' +'INDEXES' +'INITIAL_SIZE' +'INPLACE' +'INSERT_METHOD' +'INSTALL' +'INSTANCE' +'INVISIBLE' +'INVOKER' +'IO' +'IO_THREAD' +'IPC' +'ISOLATION' +'ISSUER' +'JSON' +'KEY_BLOCK_SIZE' +'LANGUAGE' +'LAST' +'LEAVES' +'LESS' +'LEVEL' +'LIST' +'LOCAL' +'LOGFILE' +'LOGS' +'MASTER' +'MASTER_AUTO_POSITION' +'MASTER_CONNECT_RETRY' +'MASTER_DELAY' +'MASTER_HEARTBEAT_PERIOD' +'MASTER_HOST' +'MASTER_LOG_FILE' +'MASTER_LOG_POS' +'MASTER_PASSWORD' +'MASTER_PORT' +'MASTER_RETRY_COUNT' +'MASTER_SSL' +'MASTER_SSL_CA' +'MASTER_SSL_CAPATH' +'MASTER_SSL_CERT' +'MASTER_SSL_CIPHER' +'MASTER_SSL_CRL' +'MASTER_SSL_CRLPATH' +'MASTER_SSL_KEY' +'MASTER_TLS_VERSION' +'MASTER_USER' +'MAX_CONNECTIONS_PER_HOUR' +'MAX_QUERIES_PER_HOUR' +'MAX_ROWS' +'MAX_SIZE' +'MAX_UPDATES_PER_HOUR' +'MAX_USER_CONNECTIONS' +'MEDIUM' +'MERGE' +'MESSAGE_TEXT' +'MID' +'MIGRATE' +'MIN_ROWS' +'MODE' +'MODIFY' +'MUTEX' +'MYSQL' +'MYSQL_ERRNO' +'NAME' +'NAMES' +'NCHAR' +'NEVER' +'NEXT' +'NO' +'NODEGROUP' +'NONE' +'OFFLINE' +'OFFSET' +'OJ' +'OLD_PASSWORD' +'ONE' +'ONLINE' +'ONLY' +'OPEN' +'OPTIMIZER_COSTS' +'OPTIONS' +'OWNER' +'PACK_KEYS' +'PAGE' +'PARSER' +'PARTIAL' +'PARTITIONING' +'PARTITIONS' +'PASSWORD' +'PHASE' +'PLUGIN' +'PLUGIN_DIR' +'PLUGINS' +'PORT' +'PRECEDES' +'PREPARE' +'PRESERVE' +'PREV' +'PROCESSLIST' +'PROFILE' +'PROFILES' +'PROXY' +'QUERY' +'QUICK' +'REBUILD' +'RECOVER' +'REDO_BUFFER_SIZE' +'REDUNDANT' +'RELAY' +'RELAY_LOG_FILE' +'RELAY_LOG_POS' +'RELAYLOG' +'REMOVE' +'REORGANIZE' +'REPAIR' +'REPLICATE_DO_DB' +'REPLICATE_DO_TABLE' +'REPLICATE_IGNORE_DB' +'REPLICATE_IGNORE_TABLE' +'REPLICATE_REWRITE_DB' +'REPLICATE_WILD_DO_TABLE' +'REPLICATE_WILD_IGNORE_TABLE' +'REPLICATION' +'RESET' +'RESUME' +'RETURNED_SQLSTATE' +'RETURNS' +'ROLE' +'ROLLBACK' +'ROLLUP' +'ROTATE' +'ROW' +'ROWS' +'ROW_FORMAT' +'SAVEPOINT' +'SCHEDULE' +'SECURITY' +'SERVER' +'SESSION' +'SHARE' +'SHARED' +'SIGNED' +'SIMPLE' +'SLAVE' +'SLOW' +'SNAPSHOT' +'SOCKET' +'SOME' +'SONAME' +'SOUNDS' +'SOURCE' +'SQL_AFTER_GTIDS' +'SQL_AFTER_MTS_GAPS' +'SQL_BEFORE_GTIDS' +'SQL_BUFFER_RESULT' +'SQL_CACHE' +'SQL_NO_CACHE' +'SQL_THREAD' +'START' +'STARTS' +'STATS_AUTO_RECALC' +'STATS_PERSISTENT' +'STATS_SAMPLE_PAGES' +'STATUS' +'STOP' +'STORAGE' +'STORED' +'STRING' +'SUBCLASS_ORIGIN' +'SUBJECT' +'SUBPARTITION' +'SUBPARTITIONS' +'SUSPEND' +'SWAPS' +'SWITCHES' +'TABLE_NAME' +'TABLESPACE' +'TEMPORARY' +'TEMPTABLE' +'THAN' +'TRADITIONAL' +'TRANSACTION' +'TRANSACTIONAL' +'TRIGGERS' +'TRUNCATE' +'UNDEFINED' +'UNDOFILE' +'UNDO_BUFFER_SIZE' +'UNINSTALL' +'UNKNOWN' +'UNTIL' +'UPGRADE' +'USER' +'USE_FRM' +'USER_RESOURCES' +'VALIDATION' +'VALUE' +'VARIABLES' +'VIEW' +'VIRTUAL' +'VISIBLE' +'WAIT' +'WARNINGS' +'WITHOUT' +'WORK' +'WRAPPER' +'X509' +'XA' +'XML' +'EUR' +'USA' +'JIS' +'ISO' +'INTERNAL' +'QUARTER' +'MONTH' +'DAY' +'HOUR' +'MINUTE' +'WEEK' +'SECOND' +'MICROSECOND' +'TABLES' +'ROUTINE' +'EXECUTE' +'FILE' +'PROCESS' +'RELOAD' +'SHUTDOWN' +'SUPER' +'PRIVILEGES' +'APPLICATION_PASSWORD_ADMIN' +'AUDIT_ADMIN' +'BACKUP_ADMIN' +'BINLOG_ADMIN' +'BINLOG_ENCRYPTION_ADMIN' +'CLONE_ADMIN' +'CONNECTION_ADMIN' +'ENCRYPTION_KEY_ADMIN' +'FIREWALL_ADMIN' +'FIREWALL_USER' +'GROUP_REPLICATION_ADMIN' +'INNODB_REDO_LOG_ARCHIVE' +'NDB_STORED_USER' +'PERSIST_RO_VARIABLES_ADMIN' +'REPLICATION_APPLIER' +'REPLICATION_SLAVE_ADMIN' +'RESOURCE_GROUP_ADMIN' +'RESOURCE_GROUP_USER' +'ROLE_ADMIN' +null +'SET_USER_ID' +'SHOW_ROUTINE' +'SYSTEM_VARIABLES_ADMIN' +'TABLE_ENCRYPTION_ADMIN' +'VERSION_TOKEN_ADMIN' +'XA_RECOVER_ADMIN' +'ARMSCII8' +'ASCII' +'BIG5' +'CP1250' +'CP1251' +'CP1256' +'CP1257' +'CP850' +'CP852' +'CP866' +'CP932' +'DEC8' +'EUCJPMS' +'EUCKR' +'GB2312' +'GBK' +'GEOSTD8' +'GREEK' +'HEBREW' +'HP8' +'KEYBCS2' +'KOI8R' +'KOI8U' +'LATIN1' +'LATIN2' +'LATIN5' +'LATIN7' +'MACCE' +'MACROMAN' +'SJIS' +'SWE7' +'TIS620' +'UCS2' +'UJIS' +'UTF16' +'UTF16LE' +'UTF32' +'UTF8' +'UTF8MB3' +'UTF8MB4' +'ARCHIVE' +'BLACKHOLE' +'CSV' +'FEDERATED' +'INNODB' +'MEMORY' +'MRG_MYISAM' +'MYISAM' +'NDB' +'NDBCLUSTER' +'PERFORMANCE_SCHEMA' +'TOKUDB' +'REPEATABLE' +'COMMITTED' +'UNCOMMITTED' +'SERIALIZABLE' +'GEOMETRYCOLLECTION' +'GEOMCOLLECTION' +'GEOMETRY' +'LINESTRING' +'MULTILINESTRING' +'MULTIPOINT' +'MULTIPOLYGON' +'POINT' +'POLYGON' +'ABS' +'ACOS' +'ADDDATE' +'ADDTIME' +'AES_DECRYPT' +'AES_ENCRYPT' +'AREA' +'ASBINARY' +'ASIN' +'ASTEXT' +'ASWKB' +'ASWKT' +'ASYMMETRIC_DECRYPT' +'ASYMMETRIC_DERIVE' +'ASYMMETRIC_ENCRYPT' +'ASYMMETRIC_SIGN' +'ASYMMETRIC_VERIFY' +'ATAN' +'ATAN2' +'BENCHMARK' +'BIN' +'BIT_COUNT' +'BIT_LENGTH' +'BUFFER' +'CATALOG_NAME' +'CEIL' +'CEILING' +'CENTROID' +'CHARACTER_LENGTH' +'CHARSET' +'CHAR_LENGTH' +'COERCIBILITY' +'COLLATION' +'COMPRESS' +'CONCAT' +'CONCAT_WS' +'CONNECTION_ID' +'CONV' +'CONVERT_TZ' +'COS' +'COT' +'CRC32' +'CREATE_ASYMMETRIC_PRIV_KEY' +'CREATE_ASYMMETRIC_PUB_KEY' +'CREATE_DH_PARAMETERS' +'CREATE_DIGEST' +'CROSSES' +'DATEDIFF' +'DATE_FORMAT' +'DAYNAME' +'DAYOFMONTH' +'DAYOFWEEK' +'DAYOFYEAR' +'DECODE' +'DEGREES' +'DES_DECRYPT' +'DES_ENCRYPT' +'DIMENSION' +'DISJOINT' +'ELT' +'ENCODE' +'ENCRYPT' +'ENDPOINT' +'ENVELOPE' +'EQUALS' +'EXP' +'EXPORT_SET' +'EXTERIORRING' +'EXTRACTVALUE' +'FIELD' +'FIND_IN_SET' +'FLOOR' +'FORMAT' +'FOUND_ROWS' +'FROM_BASE64' +'FROM_DAYS' +'FROM_UNIXTIME' +'GEOMCOLLFROMTEXT' +'GEOMCOLLFROMWKB' +'GEOMETRYCOLLECTIONFROMTEXT' +'GEOMETRYCOLLECTIONFROMWKB' +'GEOMETRYFROMTEXT' +'GEOMETRYFROMWKB' +'GEOMETRYN' +'GEOMETRYTYPE' +'GEOMFROMTEXT' +'GEOMFROMWKB' +'GET_FORMAT' +'GET_LOCK' +'GLENGTH' +'GREATEST' +'GTID_SUBSET' +'GTID_SUBTRACT' +'HEX' +'IFNULL' +'INET6_ATON' +'INET6_NTOA' +'INET_ATON' +'INET_NTOA' +'INSTR' +'INTERIORRINGN' +'INTERSECTS' +'ISCLOSED' +'ISEMPTY' +'ISNULL' +'ISSIMPLE' +'IS_FREE_LOCK' +'IS_IPV4' +'IS_IPV4_COMPAT' +'IS_IPV4_MAPPED' +'IS_IPV6' +'IS_USED_LOCK' +'LAST_INSERT_ID' +'LCASE' +'LEAST' +'LENGTH' +'LINEFROMTEXT' +'LINEFROMWKB' +'LINESTRINGFROMTEXT' +'LINESTRINGFROMWKB' +'LN' +'LOAD_FILE' +'LOCATE' +'LOG' +'LOG10' +'LOG2' +'LOWER' +'LPAD' +'LTRIM' +'MAKEDATE' +'MAKETIME' +'MAKE_SET' +'MASTER_POS_WAIT' +'MBRCONTAINS' +'MBRDISJOINT' +'MBREQUAL' +'MBRINTERSECTS' +'MBROVERLAPS' +'MBRTOUCHES' +'MBRWITHIN' +'MD5' +'MLINEFROMTEXT' +'MLINEFROMWKB' +'MONTHNAME' +'MPOINTFROMTEXT' +'MPOINTFROMWKB' +'MPOLYFROMTEXT' +'MPOLYFROMWKB' +'MULTILINESTRINGFROMTEXT' +'MULTILINESTRINGFROMWKB' +'MULTIPOINTFROMTEXT' +'MULTIPOINTFROMWKB' +'MULTIPOLYGONFROMTEXT' +'MULTIPOLYGONFROMWKB' +'NAME_CONST' +'NULLIF' +'NUMGEOMETRIES' +'NUMINTERIORRINGS' +'NUMPOINTS' +'OCT' +'OCTET_LENGTH' +'ORD' +'OVERLAPS' +'PERIOD_ADD' +'PERIOD_DIFF' +'PI' +'POINTFROMTEXT' +'POINTFROMWKB' +'POINTN' +'POLYFROMTEXT' +'POLYFROMWKB' +'POLYGONFROMTEXT' +'POLYGONFROMWKB' +'POW' +'POWER' +'QUOTE' +'RADIANS' +'RAND' +'RANDOM_BYTES' +'RELEASE_LOCK' +'REVERSE' +'ROUND' +'ROW_COUNT' +'RPAD' +'RTRIM' +'SEC_TO_TIME' +'SESSION_USER' +'SHA' +'SHA1' +'SHA2' +'SCHEMA_NAME' +'SIGN' +'SIN' +'SLEEP' +'SOUNDEX' +'SQL_THREAD_WAIT_AFTER_GTIDS' +'SQRT' +'SRID' +'STARTPOINT' +'STRCMP' +'STR_TO_DATE' +'ST_AREA' +'ST_ASBINARY' +'ST_ASTEXT' +'ST_ASWKB' +'ST_ASWKT' +'ST_BUFFER' +'ST_CENTROID' +'ST_CONTAINS' +'ST_CROSSES' +'ST_DIFFERENCE' +'ST_DIMENSION' +'ST_DISJOINT' +'ST_DISTANCE' +'ST_ENDPOINT' +'ST_ENVELOPE' +'ST_EQUALS' +'ST_EXTERIORRING' +'ST_GEOMCOLLFROMTEXT' +'ST_GEOMCOLLFROMTXT' +'ST_GEOMCOLLFROMWKB' +'ST_GEOMETRYCOLLECTIONFROMTEXT' +'ST_GEOMETRYCOLLECTIONFROMWKB' +'ST_GEOMETRYFROMTEXT' +'ST_GEOMETRYFROMWKB' +'ST_GEOMETRYN' +'ST_GEOMETRYTYPE' +'ST_GEOMFROMTEXT' +'ST_GEOMFROMWKB' +'ST_INTERIORRINGN' +'ST_INTERSECTION' +'ST_INTERSECTS' +'ST_ISCLOSED' +'ST_ISEMPTY' +'ST_ISSIMPLE' +'ST_LINEFROMTEXT' +'ST_LINEFROMWKB' +'ST_LINESTRINGFROMTEXT' +'ST_LINESTRINGFROMWKB' +'ST_NUMGEOMETRIES' +'ST_NUMINTERIORRING' +'ST_NUMINTERIORRINGS' +'ST_NUMPOINTS' +'ST_OVERLAPS' +'ST_POINTFROMTEXT' +'ST_POINTFROMWKB' +'ST_POINTN' +'ST_POLYFROMTEXT' +'ST_POLYFROMWKB' +'ST_POLYGONFROMTEXT' +'ST_POLYGONFROMWKB' +'ST_SRID' +'ST_STARTPOINT' +'ST_SYMDIFFERENCE' +'ST_TOUCHES' +'ST_UNION' +'ST_WITHIN' +'ST_X' +'ST_Y' +'SUBDATE' +'SUBSTRING_INDEX' +'SUBTIME' +'SYSTEM_USER' +'TAN' +'TIMEDIFF' +'TIMESTAMPADD' +'TIMESTAMPDIFF' +'TIME_FORMAT' +'TIME_TO_SEC' +'TOUCHES' +'TO_BASE64' +'TO_DAYS' +'TO_SECONDS' +'UCASE' +'UNCOMPRESS' +'UNCOMPRESSED_LENGTH' +'UNHEX' +'UNIX_TIMESTAMP' +'UPDATEXML' +'UPPER' +'UUID' +'UUID_SHORT' +'VALIDATE_PASSWORD_STRENGTH' +'VERSION' +'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' +'WEEKDAY' +'WEEKOFYEAR' +'WEIGHT_STRING' +'WITHIN' +'YEARWEEK' +'Y' +'X' +':=' +'+=' +'-=' +'*=' +'/=' +'%=' +'&=' +'^=' +'|=' +'*' +'/' +'%' +'+' +'--' +'-' +'DIV' +'MOD' +'=' +'>' +'<' +'!' +'~' +'|' +'&' +'^' +'.' +'(' +')' +',' +';' +'@' +'0' +'1' +'2' +'\'' +'"' +'`' +':' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null + +token symbolic names: +null +SPACE +SPEC_MYSQL_COMMENT +COMMENT_INPUT +LINE_COMMENT +ADD +ALL +ALTER +ALWAYS +ANALYZE +AND +AS +ASC +BEFORE +BETWEEN +BOTH +BY +CALL +CASCADE +CASE +CAST +CHANGE +CHARACTER +CHECK +COLLATE +COLUMN +CONDITION +CONSTRAINT +CONTINUE +CONVERT +CREATE +CROSS +CURRENT +CURRENT_USER +CURSOR +DATABASE +DATABASES +DECLARE +DEFAULT +DELAYED +DELETE +DESC +DESCRIBE +DETERMINISTIC +DIAGNOSTICS +DISTINCT +DISTINCTROW +DROP +EACH +ELSE +ELSEIF +ENCLOSED +ESCAPED +EXISTS +EXIT +EXPLAIN +FALSE +FETCH +FOR +FORCE +FOREIGN +FROM +FULLTEXT +GENERATED +GET +GRANT +GROUP +HAVING +HIGH_PRIORITY +IF +IGNORE +IN +INDEX +INFILE +INNER +INOUT +INSERT +INTERVAL +INTO +IS +ITERATE +JOIN +KEY +KEYS +KILL +LEADING +LEAVE +LEFT +LIKE +LIMIT +LINEAR +LINES +LOAD +LOCK +LOOP +LOW_PRIORITY +MASTER_BIND +MASTER_SSL_VERIFY_SERVER_CERT +MATCH +MAXVALUE +MODIFIES +NATURAL +NOT +NO_WRITE_TO_BINLOG +NULL_LITERAL +NUMBER +ON +OPTIMIZE +OPTION +OPTIONALLY +OR +ORDER +OUT +OUTER +OUTFILE +PARTITION +PRIMARY +PROCEDURE +PURGE +RANGE +READ +READS +REFERENCES +REGEXP +RELEASE +RENAME +REPEAT +REPLACE +REQUIRE +RESIGNAL +RESTRICT +RETURN +REVOKE +RIGHT +RLIKE +SCHEMA +SCHEMAS +SELECT +SET +SEPARATOR +SHOW +SIGNAL +SPATIAL +SQL +SQLEXCEPTION +SQLSTATE +SQLWARNING +SQL_BIG_RESULT +SQL_CALC_FOUND_ROWS +SQL_SMALL_RESULT +SSL +STACKED +STARTING +STRAIGHT_JOIN +TABLE +TERMINATED +THEN +TO +TRAILING +TRIGGER +TRUE +UNDO +UNION +UNIQUE +UNLOCK +UNSIGNED +UPDATE +USAGE +USE +USING +VALUES +WHEN +WHERE +WHILE +WITH +WRITE +XOR +ZEROFILL +TINYINT +SMALLINT +MEDIUMINT +MIDDLEINT +INT +INT1 +INT2 +INT3 +INT4 +INT8 +INTEGER +BIGINT +REAL +DOUBLE +PRECISION +FLOAT +FLOAT4 +FLOAT8 +DECIMAL +DEC +NUMERIC +DATE +TIME +TIMESTAMP +DATETIME +YEAR +CHAR +VARCHAR +NVARCHAR +NATIONAL +BINARY +VARBINARY +TINYBLOB +BLOB +MEDIUMBLOB +LONG +LONGBLOB +TINYTEXT +TEXT +MEDIUMTEXT +LONGTEXT +ENUM +VARYING +SERIAL +YEAR_MONTH +DAY_HOUR +DAY_MINUTE +DAY_SECOND +HOUR_MINUTE +HOUR_SECOND +MINUTE_SECOND +SECOND_MICROSECOND +MINUTE_MICROSECOND +HOUR_MICROSECOND +DAY_MICROSECOND +JSON_VALID +JSON_SCHEMA_VALID +AVG +BIT_AND +BIT_OR +BIT_XOR +COUNT +GROUP_CONCAT +MAX +MIN +STD +STDDEV +STDDEV_POP +STDDEV_SAMP +SUM +VAR_POP +VAR_SAMP +VARIANCE +CURRENT_DATE +CURRENT_TIME +CURRENT_TIMESTAMP +LOCALTIME +CURDATE +CURTIME +DATE_ADD +DATE_SUB +EXTRACT +LOCALTIMESTAMP +NOW +POSITION +SUBSTR +SUBSTRING +SYSDATE +TRIM +UTC_DATE +UTC_TIME +UTC_TIMESTAMP +ACCOUNT +ACTION +AFTER +AGGREGATE +ALGORITHM +ANY +AT +AUTHORS +AUTOCOMMIT +AUTOEXTEND_SIZE +AUTO_INCREMENT +AVG_ROW_LENGTH +BEGIN +BINLOG +BIT +BLOCK +BOOL +BOOLEAN +BTREE +CACHE +CASCADED +CHAIN +CHANGED +CHANNEL +CHECKSUM +PAGE_CHECKSUM +CIPHER +CLASS_ORIGIN +CLIENT +CLOSE +COALESCE +CODE +COLUMNS +COLUMN_FORMAT +COLUMN_NAME +COMMENT +COMMIT +COMPACT +COMPLETION +COMPRESSED +COMPRESSION +CONCURRENT +CONNECTION +CONSISTENT +CONSTRAINT_CATALOG +CONSTRAINT_SCHEMA +CONSTRAINT_NAME +CONTAINS +CONTEXT +CONTRIBUTORS +COPY +CPU +CURSOR_NAME +DATA +DATAFILE +DEALLOCATE +DEFAULT_AUTH +DEFINER +DELAY_KEY_WRITE +DES_KEY_FILE +DIRECTORY +DISABLE +DISCARD +DISK +DO +DUMPFILE +DUPLICATE +DYNAMIC +ENABLE +ENCRYPTION +END +ENDS +ENGINE +ENGINES +ERROR +ERRORS +ESCAPE +EVEN +EVENT +EVENTS +EVERY +EXCHANGE +EXCLUSIVE +EXPIRE +EXPORT +EXTENDED +EXTENT_SIZE +FAST +FAULTS +FIELDS +FILE_BLOCK_SIZE +FILTER +FIRST +FIXED +FLUSH +FOLLOWS +FOUND +FULL +FUNCTION +GENERAL +GLOBAL +GRANTS +GROUP_REPLICATION +HANDLER +HASH +HELP +HOST +HOSTS +IDENTIFIED +IGNORE_SERVER_IDS +IMPORT +INDEXES +INITIAL_SIZE +INPLACE +INSERT_METHOD +INSTALL +INSTANCE +INVISIBLE +INVOKER +IO +IO_THREAD +IPC +ISOLATION +ISSUER +JSON +KEY_BLOCK_SIZE +LANGUAGE +LAST +LEAVES +LESS +LEVEL +LIST +LOCAL +LOGFILE +LOGS +MASTER +MASTER_AUTO_POSITION +MASTER_CONNECT_RETRY +MASTER_DELAY +MASTER_HEARTBEAT_PERIOD +MASTER_HOST +MASTER_LOG_FILE +MASTER_LOG_POS +MASTER_PASSWORD +MASTER_PORT +MASTER_RETRY_COUNT +MASTER_SSL +MASTER_SSL_CA +MASTER_SSL_CAPATH +MASTER_SSL_CERT +MASTER_SSL_CIPHER +MASTER_SSL_CRL +MASTER_SSL_CRLPATH +MASTER_SSL_KEY +MASTER_TLS_VERSION +MASTER_USER +MAX_CONNECTIONS_PER_HOUR +MAX_QUERIES_PER_HOUR +MAX_ROWS +MAX_SIZE +MAX_UPDATES_PER_HOUR +MAX_USER_CONNECTIONS +MEDIUM +MERGE +MESSAGE_TEXT +MID +MIGRATE +MIN_ROWS +MODE +MODIFY +MUTEX +MYSQL +MYSQL_ERRNO +NAME +NAMES +NCHAR +NEVER +NEXT +NO +NODEGROUP +NONE +OFFLINE +OFFSET +OJ +OLD_PASSWORD +ONE +ONLINE +ONLY +OPEN +OPTIMIZER_COSTS +OPTIONS +OWNER +PACK_KEYS +PAGE +PARSER +PARTIAL +PARTITIONING +PARTITIONS +PASSWORD +PHASE +PLUGIN +PLUGIN_DIR +PLUGINS +PORT +PRECEDES +PREPARE +PRESERVE +PREV +PROCESSLIST +PROFILE +PROFILES +PROXY +QUERY +QUICK +REBUILD +RECOVER +REDO_BUFFER_SIZE +REDUNDANT +RELAY +RELAY_LOG_FILE +RELAY_LOG_POS +RELAYLOG +REMOVE +REORGANIZE +REPAIR +REPLICATE_DO_DB +REPLICATE_DO_TABLE +REPLICATE_IGNORE_DB +REPLICATE_IGNORE_TABLE +REPLICATE_REWRITE_DB +REPLICATE_WILD_DO_TABLE +REPLICATE_WILD_IGNORE_TABLE +REPLICATION +RESET +RESUME +RETURNED_SQLSTATE +RETURNS +ROLE +ROLLBACK +ROLLUP +ROTATE +ROW +ROWS +ROW_FORMAT +SAVEPOINT +SCHEDULE +SECURITY +SERVER +SESSION +SHARE +SHARED +SIGNED +SIMPLE +SLAVE +SLOW +SNAPSHOT +SOCKET +SOME +SONAME +SOUNDS +SOURCE +SQL_AFTER_GTIDS +SQL_AFTER_MTS_GAPS +SQL_BEFORE_GTIDS +SQL_BUFFER_RESULT +SQL_CACHE +SQL_NO_CACHE +SQL_THREAD +START +STARTS +STATS_AUTO_RECALC +STATS_PERSISTENT +STATS_SAMPLE_PAGES +STATUS +STOP +STORAGE +STORED +STRING +SUBCLASS_ORIGIN +SUBJECT +SUBPARTITION +SUBPARTITIONS +SUSPEND +SWAPS +SWITCHES +TABLE_NAME +TABLESPACE +TEMPORARY +TEMPTABLE +THAN +TRADITIONAL +TRANSACTION +TRANSACTIONAL +TRIGGERS +TRUNCATE +UNDEFINED +UNDOFILE +UNDO_BUFFER_SIZE +UNINSTALL +UNKNOWN +UNTIL +UPGRADE +USER +USE_FRM +USER_RESOURCES +VALIDATION +VALUE +VARIABLES +VIEW +VIRTUAL +VISIBLE +WAIT +WARNINGS +WITHOUT +WORK +WRAPPER +X509 +XA +XML +EUR +USA +JIS +ISO +INTERNAL +QUARTER +MONTH +DAY +HOUR +MINUTE +WEEK +SECOND +MICROSECOND +TABLES +ROUTINE +EXECUTE +FILE +PROCESS +RELOAD +SHUTDOWN +SUPER +PRIVILEGES +APPLICATION_PASSWORD_ADMIN +AUDIT_ADMIN +BACKUP_ADMIN +BINLOG_ADMIN +BINLOG_ENCRYPTION_ADMIN +CLONE_ADMIN +CONNECTION_ADMIN +ENCRYPTION_KEY_ADMIN +FIREWALL_ADMIN +FIREWALL_USER +GROUP_REPLICATION_ADMIN +INNODB_REDO_LOG_ARCHIVE +NDB_STORED_USER +PERSIST_RO_VARIABLES_ADMIN +REPLICATION_APPLIER +REPLICATION_SLAVE_ADMIN +RESOURCE_GROUP_ADMIN +RESOURCE_GROUP_USER +ROLE_ADMIN +SESSION_VARIABLES_ADMIN +SET_USER_ID +SHOW_ROUTINE +SYSTEM_VARIABLES_ADMIN +TABLE_ENCRYPTION_ADMIN +VERSION_TOKEN_ADMIN +XA_RECOVER_ADMIN +ARMSCII8 +ASCII +BIG5 +CP1250 +CP1251 +CP1256 +CP1257 +CP850 +CP852 +CP866 +CP932 +DEC8 +EUCJPMS +EUCKR +GB2312 +GBK +GEOSTD8 +GREEK +HEBREW +HP8 +KEYBCS2 +KOI8R +KOI8U +LATIN1 +LATIN2 +LATIN5 +LATIN7 +MACCE +MACROMAN +SJIS +SWE7 +TIS620 +UCS2 +UJIS +UTF16 +UTF16LE +UTF32 +UTF8 +UTF8MB3 +UTF8MB4 +ARCHIVE +BLACKHOLE +CSV +FEDERATED +INNODB +MEMORY +MRG_MYISAM +MYISAM +NDB +NDBCLUSTER +PERFORMANCE_SCHEMA +TOKUDB +REPEATABLE +COMMITTED +UNCOMMITTED +SERIALIZABLE +GEOMETRYCOLLECTION +GEOMCOLLECTION +GEOMETRY +LINESTRING +MULTILINESTRING +MULTIPOINT +MULTIPOLYGON +POINT +POLYGON +ABS +ACOS +ADDDATE +ADDTIME +AES_DECRYPT +AES_ENCRYPT +AREA +ASBINARY +ASIN +ASTEXT +ASWKB +ASWKT +ASYMMETRIC_DECRYPT +ASYMMETRIC_DERIVE +ASYMMETRIC_ENCRYPT +ASYMMETRIC_SIGN +ASYMMETRIC_VERIFY +ATAN +ATAN2 +BENCHMARK +BIN +BIT_COUNT +BIT_LENGTH +BUFFER +CATALOG_NAME +CEIL +CEILING +CENTROID +CHARACTER_LENGTH +CHARSET +CHAR_LENGTH +COERCIBILITY +COLLATION +COMPRESS +CONCAT +CONCAT_WS +CONNECTION_ID +CONV +CONVERT_TZ +COS +COT +CRC32 +CREATE_ASYMMETRIC_PRIV_KEY +CREATE_ASYMMETRIC_PUB_KEY +CREATE_DH_PARAMETERS +CREATE_DIGEST +CROSSES +DATEDIFF +DATE_FORMAT +DAYNAME +DAYOFMONTH +DAYOFWEEK +DAYOFYEAR +DECODE +DEGREES +DES_DECRYPT +DES_ENCRYPT +DIMENSION +DISJOINT +ELT +ENCODE +ENCRYPT +ENDPOINT +ENVELOPE +EQUALS +EXP +EXPORT_SET +EXTERIORRING +EXTRACTVALUE +FIELD +FIND_IN_SET +FLOOR +FORMAT +FOUND_ROWS +FROM_BASE64 +FROM_DAYS +FROM_UNIXTIME +GEOMCOLLFROMTEXT +GEOMCOLLFROMWKB +GEOMETRYCOLLECTIONFROMTEXT +GEOMETRYCOLLECTIONFROMWKB +GEOMETRYFROMTEXT +GEOMETRYFROMWKB +GEOMETRYN +GEOMETRYTYPE +GEOMFROMTEXT +GEOMFROMWKB +GET_FORMAT +GET_LOCK +GLENGTH +GREATEST +GTID_SUBSET +GTID_SUBTRACT +HEX +IFNULL +INET6_ATON +INET6_NTOA +INET_ATON +INET_NTOA +INSTR +INTERIORRINGN +INTERSECTS +ISCLOSED +ISEMPTY +ISNULL +ISSIMPLE +IS_FREE_LOCK +IS_IPV4 +IS_IPV4_COMPAT +IS_IPV4_MAPPED +IS_IPV6 +IS_USED_LOCK +LAST_INSERT_ID +LCASE +LEAST +LENGTH +LINEFROMTEXT +LINEFROMWKB +LINESTRINGFROMTEXT +LINESTRINGFROMWKB +LN +LOAD_FILE +LOCATE +LOG +LOG10 +LOG2 +LOWER +LPAD +LTRIM +MAKEDATE +MAKETIME +MAKE_SET +MASTER_POS_WAIT +MBRCONTAINS +MBRDISJOINT +MBREQUAL +MBRINTERSECTS +MBROVERLAPS +MBRTOUCHES +MBRWITHIN +MD5 +MLINEFROMTEXT +MLINEFROMWKB +MONTHNAME +MPOINTFROMTEXT +MPOINTFROMWKB +MPOLYFROMTEXT +MPOLYFROMWKB +MULTILINESTRINGFROMTEXT +MULTILINESTRINGFROMWKB +MULTIPOINTFROMTEXT +MULTIPOINTFROMWKB +MULTIPOLYGONFROMTEXT +MULTIPOLYGONFROMWKB +NAME_CONST +NULLIF +NUMGEOMETRIES +NUMINTERIORRINGS +NUMPOINTS +OCT +OCTET_LENGTH +ORD +OVERLAPS +PERIOD_ADD +PERIOD_DIFF +PI +POINTFROMTEXT +POINTFROMWKB +POINTN +POLYFROMTEXT +POLYFROMWKB +POLYGONFROMTEXT +POLYGONFROMWKB +POW +POWER +QUOTE +RADIANS +RAND +RANDOM_BYTES +RELEASE_LOCK +REVERSE +ROUND +ROW_COUNT +RPAD +RTRIM +SEC_TO_TIME +SESSION_USER +SHA +SHA1 +SHA2 +SCHEMA_NAME +SIGN +SIN +SLEEP +SOUNDEX +SQL_THREAD_WAIT_AFTER_GTIDS +SQRT +SRID +STARTPOINT +STRCMP +STR_TO_DATE +ST_AREA +ST_ASBINARY +ST_ASTEXT +ST_ASWKB +ST_ASWKT +ST_BUFFER +ST_CENTROID +ST_CONTAINS +ST_CROSSES +ST_DIFFERENCE +ST_DIMENSION +ST_DISJOINT +ST_DISTANCE +ST_ENDPOINT +ST_ENVELOPE +ST_EQUALS +ST_EXTERIORRING +ST_GEOMCOLLFROMTEXT +ST_GEOMCOLLFROMTXT +ST_GEOMCOLLFROMWKB +ST_GEOMETRYCOLLECTIONFROMTEXT +ST_GEOMETRYCOLLECTIONFROMWKB +ST_GEOMETRYFROMTEXT +ST_GEOMETRYFROMWKB +ST_GEOMETRYN +ST_GEOMETRYTYPE +ST_GEOMFROMTEXT +ST_GEOMFROMWKB +ST_INTERIORRINGN +ST_INTERSECTION +ST_INTERSECTS +ST_ISCLOSED +ST_ISEMPTY +ST_ISSIMPLE +ST_LINEFROMTEXT +ST_LINEFROMWKB +ST_LINESTRINGFROMTEXT +ST_LINESTRINGFROMWKB +ST_NUMGEOMETRIES +ST_NUMINTERIORRING +ST_NUMINTERIORRINGS +ST_NUMPOINTS +ST_OVERLAPS +ST_POINTFROMTEXT +ST_POINTFROMWKB +ST_POINTN +ST_POLYFROMTEXT +ST_POLYFROMWKB +ST_POLYGONFROMTEXT +ST_POLYGONFROMWKB +ST_SRID +ST_STARTPOINT +ST_SYMDIFFERENCE +ST_TOUCHES +ST_UNION +ST_WITHIN +ST_X +ST_Y +SUBDATE +SUBSTRING_INDEX +SUBTIME +SYSTEM_USER +TAN +TIMEDIFF +TIMESTAMPADD +TIMESTAMPDIFF +TIME_FORMAT +TIME_TO_SEC +TOUCHES +TO_BASE64 +TO_DAYS +TO_SECONDS +UCASE +UNCOMPRESS +UNCOMPRESSED_LENGTH +UNHEX +UNIX_TIMESTAMP +UPDATEXML +UPPER +UUID +UUID_SHORT +VALIDATE_PASSWORD_STRENGTH +VERSION +WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS +WEEKDAY +WEEKOFYEAR +WEIGHT_STRING +WITHIN +YEARWEEK +Y_FUNCTION +X_FUNCTION +VAR_ASSIGN +PLUS_ASSIGN +MINUS_ASSIGN +MULT_ASSIGN +DIV_ASSIGN +MOD_ASSIGN +AND_ASSIGN +XOR_ASSIGN +OR_ASSIGN +STAR +DIVIDE +MODULE +PLUS +MINUSMINUS +MINUS +DIV +MOD +EQUAL_SYMBOL +GREATER_SYMBOL +LESS_SYMBOL +EXCLAMATION_SYMBOL +BIT_NOT_OP +BIT_OR_OP +BIT_AND_OP +BIT_XOR_OP +DOT +LR_BRACKET +RR_BRACKET +COMMA +SEMI +AT_SIGN +ZERO_DECIMAL +ONE_DECIMAL +TWO_DECIMAL +SINGLE_QUOTE_SYMB +DOUBLE_QUOTE_SYMB +REVERSE_QUOTE_SYMB +COLON_SYMB +CHARSET_REVERSE_QOUTE_STRING +FILESIZE_LITERAL +START_NATIONAL_STRING_LITERAL +STRING_LITERAL +DECIMAL_LITERAL +HEXADECIMAL_LITERAL +REAL_LITERAL +NULL_SPEC_LITERAL +BIT_STRING +STRING_CHARSET_NAME +DOT_ID +ID +REVERSE_QUOTE_ID +STRING_USER_NAME +LOCAL_ID +GLOBAL_ID +ERROR_RECONGNIGION + +rule names: +SPACE +SPEC_MYSQL_COMMENT +COMMENT_INPUT +LINE_COMMENT +ADD +ALL +ALTER +ALWAYS +ANALYZE +AND +AS +ASC +BEFORE +BETWEEN +BOTH +BY +CALL +CASCADE +CASE +CAST +CHANGE +CHARACTER +CHECK +COLLATE +COLUMN +CONDITION +CONSTRAINT +CONTINUE +CONVERT +CREATE +CROSS +CURRENT +CURRENT_USER +CURSOR +DATABASE +DATABASES +DECLARE +DEFAULT +DELAYED +DELETE +DESC +DESCRIBE +DETERMINISTIC +DIAGNOSTICS +DISTINCT +DISTINCTROW +DROP +EACH +ELSE +ELSEIF +ENCLOSED +ESCAPED +EXISTS +EXIT +EXPLAIN +FALSE +FETCH +FOR +FORCE +FOREIGN +FROM +FULLTEXT +GENERATED +GET +GRANT +GROUP +HAVING +HIGH_PRIORITY +IF +IGNORE +IN +INDEX +INFILE +INNER +INOUT +INSERT +INTERVAL +INTO +IS +ITERATE +JOIN +KEY +KEYS +KILL +LEADING +LEAVE +LEFT +LIKE +LIMIT +LINEAR +LINES +LOAD +LOCK +LOOP +LOW_PRIORITY +MASTER_BIND +MASTER_SSL_VERIFY_SERVER_CERT +MATCH +MAXVALUE +MODIFIES +NATURAL +NOT +NO_WRITE_TO_BINLOG +NULL_LITERAL +NUMBER +ON +OPTIMIZE +OPTION +OPTIONALLY +OR +ORDER +OUT +OUTER +OUTFILE +PARTITION +PRIMARY +PROCEDURE +PURGE +RANGE +READ +READS +REFERENCES +REGEXP +RELEASE +RENAME +REPEAT +REPLACE +REQUIRE +RESIGNAL +RESTRICT +RETURN +REVOKE +RIGHT +RLIKE +SCHEMA +SCHEMAS +SELECT +SET +SEPARATOR +SHOW +SIGNAL +SPATIAL +SQL +SQLEXCEPTION +SQLSTATE +SQLWARNING +SQL_BIG_RESULT +SQL_CALC_FOUND_ROWS +SQL_SMALL_RESULT +SSL +STACKED +STARTING +STRAIGHT_JOIN +TABLE +TERMINATED +THEN +TO +TRAILING +TRIGGER +TRUE +UNDO +UNION +UNIQUE +UNLOCK +UNSIGNED +UPDATE +USAGE +USE +USING +VALUES +WHEN +WHERE +WHILE +WITH +WRITE +XOR +ZEROFILL +TINYINT +SMALLINT +MEDIUMINT +MIDDLEINT +INT +INT1 +INT2 +INT3 +INT4 +INT8 +INTEGER +BIGINT +REAL +DOUBLE +PRECISION +FLOAT +FLOAT4 +FLOAT8 +DECIMAL +DEC +NUMERIC +DATE +TIME +TIMESTAMP +DATETIME +YEAR +CHAR +VARCHAR +NVARCHAR +NATIONAL +BINARY +VARBINARY +TINYBLOB +BLOB +MEDIUMBLOB +LONG +LONGBLOB +TINYTEXT +TEXT +MEDIUMTEXT +LONGTEXT +ENUM +VARYING +SERIAL +YEAR_MONTH +DAY_HOUR +DAY_MINUTE +DAY_SECOND +HOUR_MINUTE +HOUR_SECOND +MINUTE_SECOND +SECOND_MICROSECOND +MINUTE_MICROSECOND +HOUR_MICROSECOND +DAY_MICROSECOND +JSON_VALID +JSON_SCHEMA_VALID +AVG +BIT_AND +BIT_OR +BIT_XOR +COUNT +GROUP_CONCAT +MAX +MIN +STD +STDDEV +STDDEV_POP +STDDEV_SAMP +SUM +VAR_POP +VAR_SAMP +VARIANCE +CURRENT_DATE +CURRENT_TIME +CURRENT_TIMESTAMP +LOCALTIME +CURDATE +CURTIME +DATE_ADD +DATE_SUB +EXTRACT +LOCALTIMESTAMP +NOW +POSITION +SUBSTR +SUBSTRING +SYSDATE +TRIM +UTC_DATE +UTC_TIME +UTC_TIMESTAMP +ACCOUNT +ACTION +AFTER +AGGREGATE +ALGORITHM +ANY +AT +AUTHORS +AUTOCOMMIT +AUTOEXTEND_SIZE +AUTO_INCREMENT +AVG_ROW_LENGTH +BEGIN +BINLOG +BIT +BLOCK +BOOL +BOOLEAN +BTREE +CACHE +CASCADED +CHAIN +CHANGED +CHANNEL +CHECKSUM +PAGE_CHECKSUM +CIPHER +CLASS_ORIGIN +CLIENT +CLOSE +COALESCE +CODE +COLUMNS +COLUMN_FORMAT +COLUMN_NAME +COMMENT +COMMIT +COMPACT +COMPLETION +COMPRESSED +COMPRESSION +CONCURRENT +CONNECTION +CONSISTENT +CONSTRAINT_CATALOG +CONSTRAINT_SCHEMA +CONSTRAINT_NAME +CONTAINS +CONTEXT +CONTRIBUTORS +COPY +CPU +CURSOR_NAME +DATA +DATAFILE +DEALLOCATE +DEFAULT_AUTH +DEFINER +DELAY_KEY_WRITE +DES_KEY_FILE +DIRECTORY +DISABLE +DISCARD +DISK +DO +DUMPFILE +DUPLICATE +DYNAMIC +ENABLE +ENCRYPTION +END +ENDS +ENGINE +ENGINES +ERROR +ERRORS +ESCAPE +EVEN +EVENT +EVENTS +EVERY +EXCHANGE +EXCLUSIVE +EXPIRE +EXPORT +EXTENDED +EXTENT_SIZE +FAST +FAULTS +FIELDS +FILE_BLOCK_SIZE +FILTER +FIRST +FIXED +FLUSH +FOLLOWS +FOUND +FULL +FUNCTION +GENERAL +GLOBAL +GRANTS +GROUP_REPLICATION +HANDLER +HASH +HELP +HOST +HOSTS +IDENTIFIED +IGNORE_SERVER_IDS +IMPORT +INDEXES +INITIAL_SIZE +INPLACE +INSERT_METHOD +INSTALL +INSTANCE +INVISIBLE +INVOKER +IO +IO_THREAD +IPC +ISOLATION +ISSUER +JSON +KEY_BLOCK_SIZE +LANGUAGE +LAST +LEAVES +LESS +LEVEL +LIST +LOCAL +LOGFILE +LOGS +MASTER +MASTER_AUTO_POSITION +MASTER_CONNECT_RETRY +MASTER_DELAY +MASTER_HEARTBEAT_PERIOD +MASTER_HOST +MASTER_LOG_FILE +MASTER_LOG_POS +MASTER_PASSWORD +MASTER_PORT +MASTER_RETRY_COUNT +MASTER_SSL +MASTER_SSL_CA +MASTER_SSL_CAPATH +MASTER_SSL_CERT +MASTER_SSL_CIPHER +MASTER_SSL_CRL +MASTER_SSL_CRLPATH +MASTER_SSL_KEY +MASTER_TLS_VERSION +MASTER_USER +MAX_CONNECTIONS_PER_HOUR +MAX_QUERIES_PER_HOUR +MAX_ROWS +MAX_SIZE +MAX_UPDATES_PER_HOUR +MAX_USER_CONNECTIONS +MEDIUM +MERGE +MESSAGE_TEXT +MID +MIGRATE +MIN_ROWS +MODE +MODIFY +MUTEX +MYSQL +MYSQL_ERRNO +NAME +NAMES +NCHAR +NEVER +NEXT +NO +NODEGROUP +NONE +OFFLINE +OFFSET +OJ +OLD_PASSWORD +ONE +ONLINE +ONLY +OPEN +OPTIMIZER_COSTS +OPTIONS +OWNER +PACK_KEYS +PAGE +PARSER +PARTIAL +PARTITIONING +PARTITIONS +PASSWORD +PHASE +PLUGIN +PLUGIN_DIR +PLUGINS +PORT +PRECEDES +PREPARE +PRESERVE +PREV +PROCESSLIST +PROFILE +PROFILES +PROXY +QUERY +QUICK +REBUILD +RECOVER +REDO_BUFFER_SIZE +REDUNDANT +RELAY +RELAY_LOG_FILE +RELAY_LOG_POS +RELAYLOG +REMOVE +REORGANIZE +REPAIR +REPLICATE_DO_DB +REPLICATE_DO_TABLE +REPLICATE_IGNORE_DB +REPLICATE_IGNORE_TABLE +REPLICATE_REWRITE_DB +REPLICATE_WILD_DO_TABLE +REPLICATE_WILD_IGNORE_TABLE +REPLICATION +RESET +RESUME +RETURNED_SQLSTATE +RETURNS +ROLE +ROLLBACK +ROLLUP +ROTATE +ROW +ROWS +ROW_FORMAT +SAVEPOINT +SCHEDULE +SECURITY +SERVER +SESSION +SHARE +SHARED +SIGNED +SIMPLE +SLAVE +SLOW +SNAPSHOT +SOCKET +SOME +SONAME +SOUNDS +SOURCE +SQL_AFTER_GTIDS +SQL_AFTER_MTS_GAPS +SQL_BEFORE_GTIDS +SQL_BUFFER_RESULT +SQL_CACHE +SQL_NO_CACHE +SQL_THREAD +START +STARTS +STATS_AUTO_RECALC +STATS_PERSISTENT +STATS_SAMPLE_PAGES +STATUS +STOP +STORAGE +STORED +STRING +SUBCLASS_ORIGIN +SUBJECT +SUBPARTITION +SUBPARTITIONS +SUSPEND +SWAPS +SWITCHES +TABLE_NAME +TABLESPACE +TEMPORARY +TEMPTABLE +THAN +TRADITIONAL +TRANSACTION +TRANSACTIONAL +TRIGGERS +TRUNCATE +UNDEFINED +UNDOFILE +UNDO_BUFFER_SIZE +UNINSTALL +UNKNOWN +UNTIL +UPGRADE +USER +USE_FRM +USER_RESOURCES +VALIDATION +VALUE +VARIABLES +VIEW +VIRTUAL +VISIBLE +WAIT +WARNINGS +WITHOUT +WORK +WRAPPER +X509 +XA +XML +EUR +USA +JIS +ISO +INTERNAL +QUARTER +MONTH +DAY +HOUR +MINUTE +WEEK +SECOND +MICROSECOND +TABLES +ROUTINE +EXECUTE +FILE +PROCESS +RELOAD +SHUTDOWN +SUPER +PRIVILEGES +APPLICATION_PASSWORD_ADMIN +AUDIT_ADMIN +BACKUP_ADMIN +BINLOG_ADMIN +BINLOG_ENCRYPTION_ADMIN +CLONE_ADMIN +CONNECTION_ADMIN +ENCRYPTION_KEY_ADMIN +FIREWALL_ADMIN +FIREWALL_USER +GROUP_REPLICATION_ADMIN +INNODB_REDO_LOG_ARCHIVE +NDB_STORED_USER +PERSIST_RO_VARIABLES_ADMIN +REPLICATION_APPLIER +REPLICATION_SLAVE_ADMIN +RESOURCE_GROUP_ADMIN +RESOURCE_GROUP_USER +ROLE_ADMIN +SESSION_VARIABLES_ADMIN +SET_USER_ID +SHOW_ROUTINE +SYSTEM_VARIABLES_ADMIN +TABLE_ENCRYPTION_ADMIN +VERSION_TOKEN_ADMIN +XA_RECOVER_ADMIN +ARMSCII8 +ASCII +BIG5 +CP1250 +CP1251 +CP1256 +CP1257 +CP850 +CP852 +CP866 +CP932 +DEC8 +EUCJPMS +EUCKR +GB2312 +GBK +GEOSTD8 +GREEK +HEBREW +HP8 +KEYBCS2 +KOI8R +KOI8U +LATIN1 +LATIN2 +LATIN5 +LATIN7 +MACCE +MACROMAN +SJIS +SWE7 +TIS620 +UCS2 +UJIS +UTF16 +UTF16LE +UTF32 +UTF8 +UTF8MB3 +UTF8MB4 +ARCHIVE +BLACKHOLE +CSV +FEDERATED +INNODB +MEMORY +MRG_MYISAM +MYISAM +NDB +NDBCLUSTER +PERFORMANCE_SCHEMA +TOKUDB +REPEATABLE +COMMITTED +UNCOMMITTED +SERIALIZABLE +GEOMETRYCOLLECTION +GEOMCOLLECTION +GEOMETRY +LINESTRING +MULTILINESTRING +MULTIPOINT +MULTIPOLYGON +POINT +POLYGON +ABS +ACOS +ADDDATE +ADDTIME +AES_DECRYPT +AES_ENCRYPT +AREA +ASBINARY +ASIN +ASTEXT +ASWKB +ASWKT +ASYMMETRIC_DECRYPT +ASYMMETRIC_DERIVE +ASYMMETRIC_ENCRYPT +ASYMMETRIC_SIGN +ASYMMETRIC_VERIFY +ATAN +ATAN2 +BENCHMARK +BIN +BIT_COUNT +BIT_LENGTH +BUFFER +CATALOG_NAME +CEIL +CEILING +CENTROID +CHARACTER_LENGTH +CHARSET +CHAR_LENGTH +COERCIBILITY +COLLATION +COMPRESS +CONCAT +CONCAT_WS +CONNECTION_ID +CONV +CONVERT_TZ +COS +COT +CRC32 +CREATE_ASYMMETRIC_PRIV_KEY +CREATE_ASYMMETRIC_PUB_KEY +CREATE_DH_PARAMETERS +CREATE_DIGEST +CROSSES +DATEDIFF +DATE_FORMAT +DAYNAME +DAYOFMONTH +DAYOFWEEK +DAYOFYEAR +DECODE +DEGREES +DES_DECRYPT +DES_ENCRYPT +DIMENSION +DISJOINT +ELT +ENCODE +ENCRYPT +ENDPOINT +ENVELOPE +EQUALS +EXP +EXPORT_SET +EXTERIORRING +EXTRACTVALUE +FIELD +FIND_IN_SET +FLOOR +FORMAT +FOUND_ROWS +FROM_BASE64 +FROM_DAYS +FROM_UNIXTIME +GEOMCOLLFROMTEXT +GEOMCOLLFROMWKB +GEOMETRYCOLLECTIONFROMTEXT +GEOMETRYCOLLECTIONFROMWKB +GEOMETRYFROMTEXT +GEOMETRYFROMWKB +GEOMETRYN +GEOMETRYTYPE +GEOMFROMTEXT +GEOMFROMWKB +GET_FORMAT +GET_LOCK +GLENGTH +GREATEST +GTID_SUBSET +GTID_SUBTRACT +HEX +IFNULL +INET6_ATON +INET6_NTOA +INET_ATON +INET_NTOA +INSTR +INTERIORRINGN +INTERSECTS +ISCLOSED +ISEMPTY +ISNULL +ISSIMPLE +IS_FREE_LOCK +IS_IPV4 +IS_IPV4_COMPAT +IS_IPV4_MAPPED +IS_IPV6 +IS_USED_LOCK +LAST_INSERT_ID +LCASE +LEAST +LENGTH +LINEFROMTEXT +LINEFROMWKB +LINESTRINGFROMTEXT +LINESTRINGFROMWKB +LN +LOAD_FILE +LOCATE +LOG +LOG10 +LOG2 +LOWER +LPAD +LTRIM +MAKEDATE +MAKETIME +MAKE_SET +MASTER_POS_WAIT +MBRCONTAINS +MBRDISJOINT +MBREQUAL +MBRINTERSECTS +MBROVERLAPS +MBRTOUCHES +MBRWITHIN +MD5 +MLINEFROMTEXT +MLINEFROMWKB +MONTHNAME +MPOINTFROMTEXT +MPOINTFROMWKB +MPOLYFROMTEXT +MPOLYFROMWKB +MULTILINESTRINGFROMTEXT +MULTILINESTRINGFROMWKB +MULTIPOINTFROMTEXT +MULTIPOINTFROMWKB +MULTIPOLYGONFROMTEXT +MULTIPOLYGONFROMWKB +NAME_CONST +NULLIF +NUMGEOMETRIES +NUMINTERIORRINGS +NUMPOINTS +OCT +OCTET_LENGTH +ORD +OVERLAPS +PERIOD_ADD +PERIOD_DIFF +PI +POINTFROMTEXT +POINTFROMWKB +POINTN +POLYFROMTEXT +POLYFROMWKB +POLYGONFROMTEXT +POLYGONFROMWKB +POW +POWER +QUOTE +RADIANS +RAND +RANDOM_BYTES +RELEASE_LOCK +REVERSE +ROUND +ROW_COUNT +RPAD +RTRIM +SEC_TO_TIME +SESSION_USER +SHA +SHA1 +SHA2 +SCHEMA_NAME +SIGN +SIN +SLEEP +SOUNDEX +SQL_THREAD_WAIT_AFTER_GTIDS +SQRT +SRID +STARTPOINT +STRCMP +STR_TO_DATE +ST_AREA +ST_ASBINARY +ST_ASTEXT +ST_ASWKB +ST_ASWKT +ST_BUFFER +ST_CENTROID +ST_CONTAINS +ST_CROSSES +ST_DIFFERENCE +ST_DIMENSION +ST_DISJOINT +ST_DISTANCE +ST_ENDPOINT +ST_ENVELOPE +ST_EQUALS +ST_EXTERIORRING +ST_GEOMCOLLFROMTEXT +ST_GEOMCOLLFROMTXT +ST_GEOMCOLLFROMWKB +ST_GEOMETRYCOLLECTIONFROMTEXT +ST_GEOMETRYCOLLECTIONFROMWKB +ST_GEOMETRYFROMTEXT +ST_GEOMETRYFROMWKB +ST_GEOMETRYN +ST_GEOMETRYTYPE +ST_GEOMFROMTEXT +ST_GEOMFROMWKB +ST_INTERIORRINGN +ST_INTERSECTION +ST_INTERSECTS +ST_ISCLOSED +ST_ISEMPTY +ST_ISSIMPLE +ST_LINEFROMTEXT +ST_LINEFROMWKB +ST_LINESTRINGFROMTEXT +ST_LINESTRINGFROMWKB +ST_NUMGEOMETRIES +ST_NUMINTERIORRING +ST_NUMINTERIORRINGS +ST_NUMPOINTS +ST_OVERLAPS +ST_POINTFROMTEXT +ST_POINTFROMWKB +ST_POINTN +ST_POLYFROMTEXT +ST_POLYFROMWKB +ST_POLYGONFROMTEXT +ST_POLYGONFROMWKB +ST_SRID +ST_STARTPOINT +ST_SYMDIFFERENCE +ST_TOUCHES +ST_UNION +ST_WITHIN +ST_X +ST_Y +SUBDATE +SUBSTRING_INDEX +SUBTIME +SYSTEM_USER +TAN +TIMEDIFF +TIMESTAMPADD +TIMESTAMPDIFF +TIME_FORMAT +TIME_TO_SEC +TOUCHES +TO_BASE64 +TO_DAYS +TO_SECONDS +UCASE +UNCOMPRESS +UNCOMPRESSED_LENGTH +UNHEX +UNIX_TIMESTAMP +UPDATEXML +UPPER +UUID +UUID_SHORT +VALIDATE_PASSWORD_STRENGTH +VERSION +WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS +WEEKDAY +WEEKOFYEAR +WEIGHT_STRING +WITHIN +YEARWEEK +Y_FUNCTION +X_FUNCTION +VAR_ASSIGN +PLUS_ASSIGN +MINUS_ASSIGN +MULT_ASSIGN +DIV_ASSIGN +MOD_ASSIGN +AND_ASSIGN +XOR_ASSIGN +OR_ASSIGN +STAR +DIVIDE +MODULE +PLUS +MINUSMINUS +MINUS +DIV +MOD +EQUAL_SYMBOL +GREATER_SYMBOL +LESS_SYMBOL +EXCLAMATION_SYMBOL +BIT_NOT_OP +BIT_OR_OP +BIT_AND_OP +BIT_XOR_OP +DOT +LR_BRACKET +RR_BRACKET +COMMA +SEMI +AT_SIGN +ZERO_DECIMAL +ONE_DECIMAL +TWO_DECIMAL +SINGLE_QUOTE_SYMB +DOUBLE_QUOTE_SYMB +REVERSE_QUOTE_SYMB +COLON_SYMB +QUOTE_SYMB +CHARSET_REVERSE_QOUTE_STRING +FILESIZE_LITERAL +START_NATIONAL_STRING_LITERAL +STRING_LITERAL +DECIMAL_LITERAL +HEXADECIMAL_LITERAL +REAL_LITERAL +NULL_SPEC_LITERAL +BIT_STRING +STRING_CHARSET_NAME +DOT_ID +ID +REVERSE_QUOTE_ID +STRING_USER_NAME +LOCAL_ID +GLOBAL_ID +CHARSET_NAME +EXPONENT_NUM_PART +ID_LITERAL +DQUOTA_STRING +SQUOTA_STRING +BQUOTA_STRING +HEX_DIGIT +DEC_DIGIT +BIT_STRING_L +ERROR_RECONGNIGION + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN +null +null +MYSQLCOMMENT +ERRORCHANNEL + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 1050, 12133, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318, 9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322, 4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327, 9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331, 4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336, 9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340, 4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345, 9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 4, 348, 9, 348, 4, 349, 9, 349, 4, 350, 9, 350, 4, 351, 9, 351, 4, 352, 9, 352, 4, 353, 9, 353, 4, 354, 9, 354, 4, 355, 9, 355, 4, 356, 9, 356, 4, 357, 9, 357, 4, 358, 9, 358, 4, 359, 9, 359, 4, 360, 9, 360, 4, 361, 9, 361, 4, 362, 9, 362, 4, 363, 9, 363, 4, 364, 9, 364, 4, 365, 9, 365, 4, 366, 9, 366, 4, 367, 9, 367, 4, 368, 9, 368, 4, 369, 9, 369, 4, 370, 9, 370, 4, 371, 9, 371, 4, 372, 9, 372, 4, 373, 9, 373, 4, 374, 9, 374, 4, 375, 9, 375, 4, 376, 9, 376, 4, 377, 9, 377, 4, 378, 9, 378, 4, 379, 9, 379, 4, 380, 9, 380, 4, 381, 9, 381, 4, 382, 9, 382, 4, 383, 9, 383, 4, 384, 9, 384, 4, 385, 9, 385, 4, 386, 9, 386, 4, 387, 9, 387, 4, 388, 9, 388, 4, 389, 9, 389, 4, 390, 9, 390, 4, 391, 9, 391, 4, 392, 9, 392, 4, 393, 9, 393, 4, 394, 9, 394, 4, 395, 9, 395, 4, 396, 9, 396, 4, 397, 9, 397, 4, 398, 9, 398, 4, 399, 9, 399, 4, 400, 9, 400, 4, 401, 9, 401, 4, 402, 9, 402, 4, 403, 9, 403, 4, 404, 9, 404, 4, 405, 9, 405, 4, 406, 9, 406, 4, 407, 9, 407, 4, 408, 9, 408, 4, 409, 9, 409, 4, 410, 9, 410, 4, 411, 9, 411, 4, 412, 9, 412, 4, 413, 9, 413, 4, 414, 9, 414, 4, 415, 9, 415, 4, 416, 9, 416, 4, 417, 9, 417, 4, 418, 9, 418, 4, 419, 9, 419, 4, 420, 9, 420, 4, 421, 9, 421, 4, 422, 9, 422, 4, 423, 9, 423, 4, 424, 9, 424, 4, 425, 9, 425, 4, 426, 9, 426, 4, 427, 9, 427, 4, 428, 9, 428, 4, 429, 9, 429, 4, 430, 9, 430, 4, 431, 9, 431, 4, 432, 9, 432, 4, 433, 9, 433, 4, 434, 9, 434, 4, 435, 9, 435, 4, 436, 9, 436, 4, 437, 9, 437, 4, 438, 9, 438, 4, 439, 9, 439, 4, 440, 9, 440, 4, 441, 9, 441, 4, 442, 9, 442, 4, 443, 9, 443, 4, 444, 9, 444, 4, 445, 9, 445, 4, 446, 9, 446, 4, 447, 9, 447, 4, 448, 9, 448, 4, 449, 9, 449, 4, 450, 9, 450, 4, 451, 9, 451, 4, 452, 9, 452, 4, 453, 9, 453, 4, 454, 9, 454, 4, 455, 9, 455, 4, 456, 9, 456, 4, 457, 9, 457, 4, 458, 9, 458, 4, 459, 9, 459, 4, 460, 9, 460, 4, 461, 9, 461, 4, 462, 9, 462, 4, 463, 9, 463, 4, 464, 9, 464, 4, 465, 9, 465, 4, 466, 9, 466, 4, 467, 9, 467, 4, 468, 9, 468, 4, 469, 9, 469, 4, 470, 9, 470, 4, 471, 9, 471, 4, 472, 9, 472, 4, 473, 9, 473, 4, 474, 9, 474, 4, 475, 9, 475, 4, 476, 9, 476, 4, 477, 9, 477, 4, 478, 9, 478, 4, 479, 9, 479, 4, 480, 9, 480, 4, 481, 9, 481, 4, 482, 9, 482, 4, 483, 9, 483, 4, 484, 9, 484, 4, 485, 9, 485, 4, 486, 9, 486, 4, 487, 9, 487, 4, 488, 9, 488, 4, 489, 9, 489, 4, 490, 9, 490, 4, 491, 9, 491, 4, 492, 9, 492, 4, 493, 9, 493, 4, 494, 9, 494, 4, 495, 9, 495, 4, 496, 9, 496, 4, 497, 9, 497, 4, 498, 9, 498, 4, 499, 9, 499, 4, 500, 9, 500, 4, 501, 9, 501, 4, 502, 9, 502, 4, 503, 9, 503, 4, 504, 9, 504, 4, 505, 9, 505, 4, 506, 9, 506, 4, 507, 9, 507, 4, 508, 9, 508, 4, 509, 9, 509, 4, 510, 9, 510, 4, 511, 9, 511, 4, 512, 9, 512, 4, 513, 9, 513, 4, 514, 9, 514, 4, 515, 9, 515, 4, 516, 9, 516, 4, 517, 9, 517, 4, 518, 9, 518, 4, 519, 9, 519, 4, 520, 9, 520, 4, 521, 9, 521, 4, 522, 9, 522, 4, 523, 9, 523, 4, 524, 9, 524, 4, 525, 9, 525, 4, 526, 9, 526, 4, 527, 9, 527, 4, 528, 9, 528, 4, 529, 9, 529, 4, 530, 9, 530, 4, 531, 9, 531, 4, 532, 9, 532, 4, 533, 9, 533, 4, 534, 9, 534, 4, 535, 9, 535, 4, 536, 9, 536, 4, 537, 9, 537, 4, 538, 9, 538, 4, 539, 9, 539, 4, 540, 9, 540, 4, 541, 9, 541, 4, 542, 9, 542, 4, 543, 9, 543, 4, 544, 9, 544, 4, 545, 9, 545, 4, 546, 9, 546, 4, 547, 9, 547, 4, 548, 9, 548, 4, 549, 9, 549, 4, 550, 9, 550, 4, 551, 9, 551, 4, 552, 9, 552, 4, 553, 9, 553, 4, 554, 9, 554, 4, 555, 9, 555, 4, 556, 9, 556, 4, 557, 9, 557, 4, 558, 9, 558, 4, 559, 9, 559, 4, 560, 9, 560, 4, 561, 9, 561, 4, 562, 9, 562, 4, 563, 9, 563, 4, 564, 9, 564, 4, 565, 9, 565, 4, 566, 9, 566, 4, 567, 9, 567, 4, 568, 9, 568, 4, 569, 9, 569, 4, 570, 9, 570, 4, 571, 9, 571, 4, 572, 9, 572, 4, 573, 9, 573, 4, 574, 9, 574, 4, 575, 9, 575, 4, 576, 9, 576, 4, 577, 9, 577, 4, 578, 9, 578, 4, 579, 9, 579, 4, 580, 9, 580, 4, 581, 9, 581, 4, 582, 9, 582, 4, 583, 9, 583, 4, 584, 9, 584, 4, 585, 9, 585, 4, 586, 9, 586, 4, 587, 9, 587, 4, 588, 9, 588, 4, 589, 9, 589, 4, 590, 9, 590, 4, 591, 9, 591, 4, 592, 9, 592, 4, 593, 9, 593, 4, 594, 9, 594, 4, 595, 9, 595, 4, 596, 9, 596, 4, 597, 9, 597, 4, 598, 9, 598, 4, 599, 9, 599, 4, 600, 9, 600, 4, 601, 9, 601, 4, 602, 9, 602, 4, 603, 9, 603, 4, 604, 9, 604, 4, 605, 9, 605, 4, 606, 9, 606, 4, 607, 9, 607, 4, 608, 9, 608, 4, 609, 9, 609, 4, 610, 9, 610, 4, 611, 9, 611, 4, 612, 9, 612, 4, 613, 9, 613, 4, 614, 9, 614, 4, 615, 9, 615, 4, 616, 9, 616, 4, 617, 9, 617, 4, 618, 9, 618, 4, 619, 9, 619, 4, 620, 9, 620, 4, 621, 9, 621, 4, 622, 9, 622, 4, 623, 9, 623, 4, 624, 9, 624, 4, 625, 9, 625, 4, 626, 9, 626, 4, 627, 9, 627, 4, 628, 9, 628, 4, 629, 9, 629, 4, 630, 9, 630, 4, 631, 9, 631, 4, 632, 9, 632, 4, 633, 9, 633, 4, 634, 9, 634, 4, 635, 9, 635, 4, 636, 9, 636, 4, 637, 9, 637, 4, 638, 9, 638, 4, 639, 9, 639, 4, 640, 9, 640, 4, 641, 9, 641, 4, 642, 9, 642, 4, 643, 9, 643, 4, 644, 9, 644, 4, 645, 9, 645, 4, 646, 9, 646, 4, 647, 9, 647, 4, 648, 9, 648, 4, 649, 9, 649, 4, 650, 9, 650, 4, 651, 9, 651, 4, 652, 9, 652, 4, 653, 9, 653, 4, 654, 9, 654, 4, 655, 9, 655, 4, 656, 9, 656, 4, 657, 9, 657, 4, 658, 9, 658, 4, 659, 9, 659, 4, 660, 9, 660, 4, 661, 9, 661, 4, 662, 9, 662, 4, 663, 9, 663, 4, 664, 9, 664, 4, 665, 9, 665, 4, 666, 9, 666, 4, 667, 9, 667, 4, 668, 9, 668, 4, 669, 9, 669, 4, 670, 9, 670, 4, 671, 9, 671, 4, 672, 9, 672, 4, 673, 9, 673, 4, 674, 9, 674, 4, 675, 9, 675, 4, 676, 9, 676, 4, 677, 9, 677, 4, 678, 9, 678, 4, 679, 9, 679, 4, 680, 9, 680, 4, 681, 9, 681, 4, 682, 9, 682, 4, 683, 9, 683, 4, 684, 9, 684, 4, 685, 9, 685, 4, 686, 9, 686, 4, 687, 9, 687, 4, 688, 9, 688, 4, 689, 9, 689, 4, 690, 9, 690, 4, 691, 9, 691, 4, 692, 9, 692, 4, 693, 9, 693, 4, 694, 9, 694, 4, 695, 9, 695, 4, 696, 9, 696, 4, 697, 9, 697, 4, 698, 9, 698, 4, 699, 9, 699, 4, 700, 9, 700, 4, 701, 9, 701, 4, 702, 9, 702, 4, 703, 9, 703, 4, 704, 9, 704, 4, 705, 9, 705, 4, 706, 9, 706, 4, 707, 9, 707, 4, 708, 9, 708, 4, 709, 9, 709, 4, 710, 9, 710, 4, 711, 9, 711, 4, 712, 9, 712, 4, 713, 9, 713, 4, 714, 9, 714, 4, 715, 9, 715, 4, 716, 9, 716, 4, 717, 9, 717, 4, 718, 9, 718, 4, 719, 9, 719, 4, 720, 9, 720, 4, 721, 9, 721, 4, 722, 9, 722, 4, 723, 9, 723, 4, 724, 9, 724, 4, 725, 9, 725, 4, 726, 9, 726, 4, 727, 9, 727, 4, 728, 9, 728, 4, 729, 9, 729, 4, 730, 9, 730, 4, 731, 9, 731, 4, 732, 9, 732, 4, 733, 9, 733, 4, 734, 9, 734, 4, 735, 9, 735, 4, 736, 9, 736, 4, 737, 9, 737, 4, 738, 9, 738, 4, 739, 9, 739, 4, 740, 9, 740, 4, 741, 9, 741, 4, 742, 9, 742, 4, 743, 9, 743, 4, 744, 9, 744, 4, 745, 9, 745, 4, 746, 9, 746, 4, 747, 9, 747, 4, 748, 9, 748, 4, 749, 9, 749, 4, 750, 9, 750, 4, 751, 9, 751, 4, 752, 9, 752, 4, 753, 9, 753, 4, 754, 9, 754, 4, 755, 9, 755, 4, 756, 9, 756, 4, 757, 9, 757, 4, 758, 9, 758, 4, 759, 9, 759, 4, 760, 9, 760, 4, 761, 9, 761, 4, 762, 9, 762, 4, 763, 9, 763, 4, 764, 9, 764, 4, 765, 9, 765, 4, 766, 9, 766, 4, 767, 9, 767, 4, 768, 9, 768, 4, 769, 9, 769, 4, 770, 9, 770, 4, 771, 9, 771, 4, 772, 9, 772, 4, 773, 9, 773, 4, 774, 9, 774, 4, 775, 9, 775, 4, 776, 9, 776, 4, 777, 9, 777, 4, 778, 9, 778, 4, 779, 9, 779, 4, 780, 9, 780, 4, 781, 9, 781, 4, 782, 9, 782, 4, 783, 9, 783, 4, 784, 9, 784, 4, 785, 9, 785, 4, 786, 9, 786, 4, 787, 9, 787, 4, 788, 9, 788, 4, 789, 9, 789, 4, 790, 9, 790, 4, 791, 9, 791, 4, 792, 9, 792, 4, 793, 9, 793, 4, 794, 9, 794, 4, 795, 9, 795, 4, 796, 9, 796, 4, 797, 9, 797, 4, 798, 9, 798, 4, 799, 9, 799, 4, 800, 9, 800, 4, 801, 9, 801, 4, 802, 9, 802, 4, 803, 9, 803, 4, 804, 9, 804, 4, 805, 9, 805, 4, 806, 9, 806, 4, 807, 9, 807, 4, 808, 9, 808, 4, 809, 9, 809, 4, 810, 9, 810, 4, 811, 9, 811, 4, 812, 9, 812, 4, 813, 9, 813, 4, 814, 9, 814, 4, 815, 9, 815, 4, 816, 9, 816, 4, 817, 9, 817, 4, 818, 9, 818, 4, 819, 9, 819, 4, 820, 9, 820, 4, 821, 9, 821, 4, 822, 9, 822, 4, 823, 9, 823, 4, 824, 9, 824, 4, 825, 9, 825, 4, 826, 9, 826, 4, 827, 9, 827, 4, 828, 9, 828, 4, 829, 9, 829, 4, 830, 9, 830, 4, 831, 9, 831, 4, 832, 9, 832, 4, 833, 9, 833, 4, 834, 9, 834, 4, 835, 9, 835, 4, 836, 9, 836, 4, 837, 9, 837, 4, 838, 9, 838, 4, 839, 9, 839, 4, 840, 9, 840, 4, 841, 9, 841, 4, 842, 9, 842, 4, 843, 9, 843, 4, 844, 9, 844, 4, 845, 9, 845, 4, 846, 9, 846, 4, 847, 9, 847, 4, 848, 9, 848, 4, 849, 9, 849, 4, 850, 9, 850, 4, 851, 9, 851, 4, 852, 9, 852, 4, 853, 9, 853, 4, 854, 9, 854, 4, 855, 9, 855, 4, 856, 9, 856, 4, 857, 9, 857, 4, 858, 9, 858, 4, 859, 9, 859, 4, 860, 9, 860, 4, 861, 9, 861, 4, 862, 9, 862, 4, 863, 9, 863, 4, 864, 9, 864, 4, 865, 9, 865, 4, 866, 9, 866, 4, 867, 9, 867, 4, 868, 9, 868, 4, 869, 9, 869, 4, 870, 9, 870, 4, 871, 9, 871, 4, 872, 9, 872, 4, 873, 9, 873, 4, 874, 9, 874, 4, 875, 9, 875, 4, 876, 9, 876, 4, 877, 9, 877, 4, 878, 9, 878, 4, 879, 9, 879, 4, 880, 9, 880, 4, 881, 9, 881, 4, 882, 9, 882, 4, 883, 9, 883, 4, 884, 9, 884, 4, 885, 9, 885, 4, 886, 9, 886, 4, 887, 9, 887, 4, 888, 9, 888, 4, 889, 9, 889, 4, 890, 9, 890, 4, 891, 9, 891, 4, 892, 9, 892, 4, 893, 9, 893, 4, 894, 9, 894, 4, 895, 9, 895, 4, 896, 9, 896, 4, 897, 9, 897, 4, 898, 9, 898, 4, 899, 9, 899, 4, 900, 9, 900, 4, 901, 9, 901, 4, 902, 9, 902, 4, 903, 9, 903, 4, 904, 9, 904, 4, 905, 9, 905, 4, 906, 9, 906, 4, 907, 9, 907, 4, 908, 9, 908, 4, 909, 9, 909, 4, 910, 9, 910, 4, 911, 9, 911, 4, 912, 9, 912, 4, 913, 9, 913, 4, 914, 9, 914, 4, 915, 9, 915, 4, 916, 9, 916, 4, 917, 9, 917, 4, 918, 9, 918, 4, 919, 9, 919, 4, 920, 9, 920, 4, 921, 9, 921, 4, 922, 9, 922, 4, 923, 9, 923, 4, 924, 9, 924, 4, 925, 9, 925, 4, 926, 9, 926, 4, 927, 9, 927, 4, 928, 9, 928, 4, 929, 9, 929, 4, 930, 9, 930, 4, 931, 9, 931, 4, 932, 9, 932, 4, 933, 9, 933, 4, 934, 9, 934, 4, 935, 9, 935, 4, 936, 9, 936, 4, 937, 9, 937, 4, 938, 9, 938, 4, 939, 9, 939, 4, 940, 9, 940, 4, 941, 9, 941, 4, 942, 9, 942, 4, 943, 9, 943, 4, 944, 9, 944, 4, 945, 9, 945, 4, 946, 9, 946, 4, 947, 9, 947, 4, 948, 9, 948, 4, 949, 9, 949, 4, 950, 9, 950, 4, 951, 9, 951, 4, 952, 9, 952, 4, 953, 9, 953, 4, 954, 9, 954, 4, 955, 9, 955, 4, 956, 9, 956, 4, 957, 9, 957, 4, 958, 9, 958, 4, 959, 9, 959, 4, 960, 9, 960, 4, 961, 9, 961, 4, 962, 9, 962, 4, 963, 9, 963, 4, 964, 9, 964, 4, 965, 9, 965, 4, 966, 9, 966, 4, 967, 9, 967, 4, 968, 9, 968, 4, 969, 9, 969, 4, 970, 9, 970, 4, 971, 9, 971, 4, 972, 9, 972, 4, 973, 9, 973, 4, 974, 9, 974, 4, 975, 9, 975, 4, 976, 9, 976, 4, 977, 9, 977, 4, 978, 9, 978, 4, 979, 9, 979, 4, 980, 9, 980, 4, 981, 9, 981, 4, 982, 9, 982, 4, 983, 9, 983, 4, 984, 9, 984, 4, 985, 9, 985, 4, 986, 9, 986, 4, 987, 9, 987, 4, 988, 9, 988, 4, 989, 9, 989, 4, 990, 9, 990, 4, 991, 9, 991, 4, 992, 9, 992, 4, 993, 9, 993, 4, 994, 9, 994, 4, 995, 9, 995, 4, 996, 9, 996, 4, 997, 9, 997, 4, 998, 9, 998, 4, 999, 9, 999, 4, 1000, 9, 1000, 4, 1001, 9, 1001, 4, 1002, 9, 1002, 4, 1003, 9, 1003, 4, 1004, 9, 1004, 4, 1005, 9, 1005, 4, 1006, 9, 1006, 4, 1007, 9, 1007, 4, 1008, 9, 1008, 4, 1009, 9, 1009, 4, 1010, 9, 1010, 4, 1011, 9, 1011, 4, 1012, 9, 1012, 4, 1013, 9, 1013, 4, 1014, 9, 1014, 4, 1015, 9, 1015, 4, 1016, 9, 1016, 4, 1017, 9, 1017, 4, 1018, 9, 1018, 4, 1019, 9, 1019, 4, 1020, 9, 1020, 4, 1021, 9, 1021, 4, 1022, 9, 1022, 4, 1023, 9, 1023, 4, 1024, 9, 1024, 4, 1025, 9, 1025, 4, 1026, 9, 1026, 4, 1027, 9, 1027, 4, 1028, 9, 1028, 4, 1029, 9, 1029, 4, 1030, 9, 1030, 4, 1031, 9, 1031, 4, 1032, 9, 1032, 4, 1033, 9, 1033, 4, 1034, 9, 1034, 4, 1035, 9, 1035, 4, 1036, 9, 1036, 4, 1037, 9, 1037, 4, 1038, 9, 1038, 4, 1039, 9, 1039, 4, 1040, 9, 1040, 4, 1041, 9, 1041, 4, 1042, 9, 1042, 4, 1043, 9, 1043, 4, 1044, 9, 1044, 4, 1045, 9, 1045, 4, 1046, 9, 1046, 4, 1047, 9, 1047, 4, 1048, 9, 1048, 4, 1049, 9, 1049, 4, 1050, 9, 1050, 4, 1051, 9, 1051, 4, 1052, 9, 1052, 4, 1053, 9, 1053, 4, 1054, 9, 1054, 4, 1055, 9, 1055, 4, 1056, 9, 1056, 4, 1057, 9, 1057, 4, 1058, 9, 1058, 4, 1059, 9, 1059, 3, 2, 6, 2, 2121, 10, 2, 13, 2, 14, 2, 2122, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 2132, 10, 3, 13, 3, 14, 3, 2133, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 7, 4, 2145, 10, 4, 12, 4, 14, 4, 2148, 11, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 2159, 10, 5, 3, 5, 7, 5, 2162, 10, 5, 12, 5, 14, 5, 2165, 11, 5, 3, 5, 5, 5, 2168, 10, 5, 3, 5, 3, 5, 5, 5, 2172, 10, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 2178, 10, 5, 3, 5, 3, 5, 5, 5, 2182, 10, 5, 5, 5, 2184, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 158, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 177, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 183, 3, 183, 3, 183, 3, 183, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 236, 3, 236, 3, 236, 3, 236, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 242, 3, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 262, 3, 262, 3, 262, 3, 262, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 276, 3, 276, 3, 276, 3, 276, 3, 277, 3, 277, 3, 277, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 285, 3, 285, 3, 285, 3, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 314, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 322, 3, 322, 3, 322, 3, 322, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 332, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 335, 3, 335, 3, 335, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 341, 3, 341, 3, 341, 3, 341, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 390, 3, 390, 3, 390, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 392, 3, 392, 3, 392, 3, 392, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 419, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 435, 3, 436, 3, 436, 3, 436, 3, 436, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 446, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 449, 3, 449, 3, 449, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 454, 3, 454, 3, 454, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 455, 3, 456, 3, 456, 3, 456, 3, 456, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 484, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 511, 3, 512, 3, 512, 3, 512, 3, 512, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 525, 3, 525, 3, 525, 3, 525, 3, 525, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 547, 3, 547, 3, 547, 3, 547, 3, 547, 3, 547, 3, 547, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 555, 3, 555, 3, 555, 3, 555, 3, 555, 3, 555, 3, 555, 3, 555, 3, 555, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 557, 3, 557, 3, 557, 3, 557, 3, 557, 3, 557, 3, 557, 3, 557, 3, 557, 3, 557, 3, 557, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 566, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 571, 3, 571, 3, 571, 3, 571, 3, 571, 3, 571, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 588, 3, 588, 3, 588, 3, 589, 3, 589, 3, 589, 3, 589, 3, 590, 3, 590, 3, 590, 3, 590, 3, 591, 3, 591, 3, 591, 3, 591, 3, 592, 3, 592, 3, 592, 3, 592, 3, 593, 3, 593, 3, 593, 3, 593, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 597, 3, 597, 3, 597, 3, 597, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 608, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 631, 5, 631, 7800, 10, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 5, 631, 7827, 10, 631, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 653, 3, 653, 3, 653, 3, 653, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 657, 3, 657, 3, 657, 3, 657, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 680, 3, 680, 3, 680, 3, 680, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 686, 3, 686, 3, 686, 3, 686, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 691, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 696, 3, 696, 3, 696, 3, 696, 3, 696, 3, 696, 3, 696, 3, 696, 3, 696, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 702, 3, 702, 3, 702, 3, 702, 3, 702, 3, 702, 3, 702, 3, 702, 3, 703, 3, 703, 3, 703, 3, 703, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 723, 3, 723, 3, 723, 3, 723, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 735, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 742, 3, 742, 3, 742, 3, 742, 3, 743, 3, 743, 3, 743, 3, 743, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 752, 3, 752, 3, 752, 3, 752, 3, 752, 3, 752, 3, 752, 3, 752, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 762, 3, 762, 3, 762, 3, 762, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 763, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 765, 3, 765, 3, 765, 3, 765, 3, 765, 3, 765, 3, 765, 3, 765, 3, 765, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 766, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 768, 3, 768, 3, 768, 3, 768, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 784, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 792, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 796, 3, 796, 3, 796, 3, 796, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 802, 3, 802, 3, 802, 3, 802, 3, 802, 3, 802, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 823, 3, 823, 3, 823, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 826, 3, 826, 3, 826, 3, 826, 3, 827, 3, 827, 3, 827, 3, 827, 3, 827, 3, 827, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 829, 3, 829, 3, 829, 3, 829, 3, 829, 3, 829, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 833, 3, 833, 3, 833, 3, 833, 3, 833, 3, 833, 3, 833, 3, 833, 3, 833, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 843, 3, 843, 3, 843, 3, 843, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 862, 3, 862, 3, 862, 3, 862, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 864, 3, 864, 3, 864, 3, 864, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 865, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 868, 3, 868, 3, 868, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 876, 3, 876, 3, 876, 3, 876, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 882, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 889, 3, 890, 3, 890, 3, 890, 3, 890, 3, 891, 3, 891, 3, 891, 3, 891, 3, 891, 3, 892, 3, 892, 3, 892, 3, 892, 3, 892, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 894, 3, 894, 3, 894, 3, 894, 3, 894, 3, 895, 3, 895, 3, 895, 3, 895, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 904, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 960, 3, 960, 3, 960, 3, 960, 3, 960, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 964, 3, 964, 3, 964, 3, 964, 3, 964, 3, 964, 3, 964, 3, 964, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 966, 3, 966, 3, 966, 3, 966, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 976, 3, 976, 3, 976, 3, 976, 3, 976, 3, 976, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 991, 3, 991, 3, 991, 3, 991, 3, 991, 3, 991, 3, 991, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 993, 3, 993, 3, 994, 3, 994, 3, 995, 3, 995, 3, 995, 3, 996, 3, 996, 3, 996, 3, 997, 3, 997, 3, 997, 3, 998, 3, 998, 3, 998, 3, 999, 3, 999, 3, 999, 3, 1000, 3, 1000, 3, 1000, 3, 1001, 3, 1001, 3, 1001, 3, 1002, 3, 1002, 3, 1002, 3, 1003, 3, 1003, 3, 1003, 3, 1004, 3, 1004, 3, 1005, 3, 1005, 3, 1006, 3, 1006, 3, 1007, 3, 1007, 3, 1008, 3, 1008, 3, 1008, 3, 1009, 3, 1009, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1011, 3, 1011, 3, 1011, 3, 1011, 3, 1012, 3, 1012, 3, 1013, 3, 1013, 3, 1014, 3, 1014, 3, 1015, 3, 1015, 3, 1016, 3, 1016, 3, 1017, 3, 1017, 3, 1018, 3, 1018, 3, 1019, 3, 1019, 3, 1020, 3, 1020, 3, 1021, 3, 1021, 3, 1022, 3, 1022, 3, 1023, 3, 1023, 3, 1024, 3, 1024, 3, 1025, 3, 1025, 3, 1026, 3, 1026, 3, 1027, 3, 1027, 3, 1028, 3, 1028, 3, 1029, 3, 1029, 3, 1030, 3, 1030, 3, 1031, 3, 1031, 3, 1032, 3, 1032, 3, 1033, 3, 1033, 3, 1033, 5, 1033, 11862, 10, 1033, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1035, 6, 1035, 11869, 10, 1035, 13, 1035, 14, 1035, 11870, 3, 1035, 3, 1035, 3, 1036, 3, 1036, 3, 1036, 3, 1037, 3, 1037, 3, 1037, 5, 1037, 11881, 10, 1037, 3, 1038, 6, 1038, 11884, 10, 1038, 13, 1038, 14, 1038, 11885, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 6, 1039, 11893, 10, 1039, 13, 1039, 14, 1039, 11894, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 6, 1039, 11903, 10, 1039, 13, 1039, 14, 1039, 11904, 5, 1039, 11907, 10, 1039, 3, 1040, 6, 1040, 11910, 10, 1040, 13, 1040, 14, 1040, 11911, 5, 1040, 11914, 10, 1040, 3, 1040, 3, 1040, 6, 1040, 11918, 10, 1040, 13, 1040, 14, 1040, 11919, 3, 1040, 6, 1040, 11923, 10, 1040, 13, 1040, 14, 1040, 11924, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 6, 1040, 11931, 10, 1040, 13, 1040, 14, 1040, 11932, 5, 1040, 11935, 10, 1040, 3, 1040, 3, 1040, 6, 1040, 11939, 10, 1040, 13, 1040, 14, 1040, 11940, 3, 1040, 3, 1040, 3, 1040, 6, 1040, 11946, 10, 1040, 13, 1040, 14, 1040, 11947, 3, 1040, 3, 1040, 5, 1040, 11952, 10, 1040, 3, 1041, 3, 1041, 3, 1041, 3, 1042, 3, 1042, 3, 1043, 3, 1043, 3, 1043, 3, 1044, 3, 1044, 3, 1044, 3, 1045, 3, 1045, 3, 1046, 3, 1046, 6, 1046, 11969, 10, 1046, 13, 1046, 14, 1046, 11970, 3, 1046, 3, 1046, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 5, 1047, 11979, 10, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 5, 1047, 11986, 10, 1047, 3, 1048, 3, 1048, 6, 1048, 11990, 10, 1048, 13, 1048, 14, 1048, 11991, 3, 1048, 3, 1048, 3, 1048, 5, 1048, 11997, 10, 1048, 3, 1049, 3, 1049, 3, 1049, 6, 1049, 12002, 10, 1049, 13, 1049, 14, 1049, 12003, 3, 1049, 5, 1049, 12007, 10, 1049, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 5, 1050, 12050, 10, 1050, 3, 1051, 3, 1051, 5, 1051, 12054, 10, 1051, 3, 1051, 6, 1051, 12057, 10, 1051, 13, 1051, 14, 1051, 12058, 3, 1052, 7, 1052, 12062, 10, 1052, 12, 1052, 14, 1052, 12065, 11, 1052, 3, 1052, 6, 1052, 12068, 10, 1052, 13, 1052, 14, 1052, 12069, 3, 1052, 7, 1052, 12073, 10, 1052, 12, 1052, 14, 1052, 12076, 11, 1052, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 7, 1053, 12084, 10, 1053, 12, 1053, 14, 1053, 12087, 11, 1053, 3, 1053, 3, 1053, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 7, 1054, 12097, 10, 1054, 12, 1054, 14, 1054, 12100, 11, 1054, 3, 1054, 3, 1054, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 7, 1055, 12110, 10, 1055, 12, 1055, 14, 1055, 12113, 11, 1055, 3, 1055, 3, 1055, 3, 1056, 3, 1056, 3, 1057, 3, 1057, 3, 1058, 3, 1058, 3, 1058, 6, 1058, 12124, 10, 1058, 13, 1058, 14, 1058, 12125, 3, 1058, 3, 1058, 3, 1059, 3, 1059, 3, 1059, 3, 1059, 6, 2133, 2146, 12063, 12069, 2, 1060, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 87, 173, 88, 175, 89, 177, 90, 179, 91, 181, 92, 183, 93, 185, 94, 187, 95, 189, 96, 191, 97, 193, 98, 195, 99, 197, 100, 199, 101, 201, 102, 203, 103, 205, 104, 207, 105, 209, 106, 211, 107, 213, 108, 215, 109, 217, 110, 219, 111, 221, 112, 223, 113, 225, 114, 227, 115, 229, 116, 231, 117, 233, 118, 235, 119, 237, 120, 239, 121, 241, 122, 243, 123, 245, 124, 247, 125, 249, 126, 251, 127, 253, 128, 255, 129, 257, 130, 259, 131, 261, 132, 263, 133, 265, 134, 267, 135, 269, 136, 271, 137, 273, 138, 275, 139, 277, 140, 279, 141, 281, 142, 283, 143, 285, 144, 287, 145, 289, 146, 291, 147, 293, 148, 295, 149, 297, 150, 299, 151, 301, 152, 303, 153, 305, 154, 307, 155, 309, 156, 311, 157, 313, 158, 315, 159, 317, 160, 319, 161, 321, 162, 323, 163, 325, 164, 327, 165, 329, 166, 331, 167, 333, 168, 335, 169, 337, 170, 339, 171, 341, 172, 343, 173, 345, 174, 347, 175, 349, 176, 351, 177, 353, 178, 355, 179, 357, 180, 359, 181, 361, 182, 363, 183, 365, 184, 367, 185, 369, 186, 371, 187, 373, 188, 375, 189, 377, 190, 379, 191, 381, 192, 383, 193, 385, 194, 387, 195, 389, 196, 391, 197, 393, 198, 395, 199, 397, 200, 399, 201, 401, 202, 403, 203, 405, 204, 407, 205, 409, 206, 411, 207, 413, 208, 415, 209, 417, 210, 419, 211, 421, 212, 423, 213, 425, 214, 427, 215, 429, 216, 431, 217, 433, 218, 435, 219, 437, 220, 439, 221, 441, 222, 443, 223, 445, 224, 447, 225, 449, 226, 451, 227, 453, 228, 455, 229, 457, 230, 459, 231, 461, 232, 463, 233, 465, 234, 467, 235, 469, 236, 471, 237, 473, 238, 475, 239, 477, 240, 479, 241, 481, 242, 483, 243, 485, 244, 487, 245, 489, 246, 491, 247, 493, 248, 495, 249, 497, 250, 499, 251, 501, 252, 503, 253, 505, 254, 507, 255, 509, 256, 511, 257, 513, 258, 515, 259, 517, 260, 519, 261, 521, 262, 523, 263, 525, 264, 527, 265, 529, 266, 531, 267, 533, 268, 535, 269, 537, 270, 539, 271, 541, 272, 543, 273, 545, 274, 547, 275, 549, 276, 551, 277, 553, 278, 555, 279, 557, 280, 559, 281, 561, 282, 563, 283, 565, 284, 567, 285, 569, 286, 571, 287, 573, 288, 575, 289, 577, 290, 579, 291, 581, 292, 583, 293, 585, 294, 587, 295, 589, 296, 591, 297, 593, 298, 595, 299, 597, 300, 599, 301, 601, 302, 603, 303, 605, 304, 607, 305, 609, 306, 611, 307, 613, 308, 615, 309, 617, 310, 619, 311, 621, 312, 623, 313, 625, 314, 627, 315, 629, 316, 631, 317, 633, 318, 635, 319, 637, 320, 639, 321, 641, 322, 643, 323, 645, 324, 647, 325, 649, 326, 651, 327, 653, 328, 655, 329, 657, 330, 659, 331, 661, 332, 663, 333, 665, 334, 667, 335, 669, 336, 671, 337, 673, 338, 675, 339, 677, 340, 679, 341, 681, 342, 683, 343, 685, 344, 687, 345, 689, 346, 691, 347, 693, 348, 695, 349, 697, 350, 699, 351, 701, 352, 703, 353, 705, 354, 707, 355, 709, 356, 711, 357, 713, 358, 715, 359, 717, 360, 719, 361, 721, 362, 723, 363, 725, 364, 727, 365, 729, 366, 731, 367, 733, 368, 735, 369, 737, 370, 739, 371, 741, 372, 743, 373, 745, 374, 747, 375, 749, 376, 751, 377, 753, 378, 755, 379, 757, 380, 759, 381, 761, 382, 763, 383, 765, 384, 767, 385, 769, 386, 771, 387, 773, 388, 775, 389, 777, 390, 779, 391, 781, 392, 783, 393, 785, 394, 787, 395, 789, 396, 791, 397, 793, 398, 795, 399, 797, 400, 799, 401, 801, 402, 803, 403, 805, 404, 807, 405, 809, 406, 811, 407, 813, 408, 815, 409, 817, 410, 819, 411, 821, 412, 823, 413, 825, 414, 827, 415, 829, 416, 831, 417, 833, 418, 835, 419, 837, 420, 839, 421, 841, 422, 843, 423, 845, 424, 847, 425, 849, 426, 851, 427, 853, 428, 855, 429, 857, 430, 859, 431, 861, 432, 863, 433, 865, 434, 867, 435, 869, 436, 871, 437, 873, 438, 875, 439, 877, 440, 879, 441, 881, 442, 883, 443, 885, 444, 887, 445, 889, 446, 891, 447, 893, 448, 895, 449, 897, 450, 899, 451, 901, 452, 903, 453, 905, 454, 907, 455, 909, 456, 911, 457, 913, 458, 915, 459, 917, 460, 919, 461, 921, 462, 923, 463, 925, 464, 927, 465, 929, 466, 931, 467, 933, 468, 935, 469, 937, 470, 939, 471, 941, 472, 943, 473, 945, 474, 947, 475, 949, 476, 951, 477, 953, 478, 955, 479, 957, 480, 959, 481, 961, 482, 963, 483, 965, 484, 967, 485, 969, 486, 971, 487, 973, 488, 975, 489, 977, 490, 979, 491, 981, 492, 983, 493, 985, 494, 987, 495, 989, 496, 991, 497, 993, 498, 995, 499, 997, 500, 999, 501, 1001, 502, 1003, 503, 1005, 504, 1007, 505, 1009, 506, 1011, 507, 1013, 508, 1015, 509, 1017, 510, 1019, 511, 1021, 512, 1023, 513, 1025, 514, 1027, 515, 1029, 516, 1031, 517, 1033, 518, 1035, 519, 1037, 520, 1039, 521, 1041, 522, 1043, 523, 1045, 524, 1047, 525, 1049, 526, 1051, 527, 1053, 528, 1055, 529, 1057, 530, 1059, 531, 1061, 532, 1063, 533, 1065, 534, 1067, 535, 1069, 536, 1071, 537, 1073, 538, 1075, 539, 1077, 540, 1079, 541, 1081, 542, 1083, 543, 1085, 544, 1087, 545, 1089, 546, 1091, 547, 1093, 548, 1095, 549, 1097, 550, 1099, 551, 1101, 552, 1103, 553, 1105, 554, 1107, 555, 1109, 556, 1111, 557, 1113, 558, 1115, 559, 1117, 560, 1119, 561, 1121, 562, 1123, 563, 1125, 564, 1127, 565, 1129, 566, 1131, 567, 1133, 568, 1135, 569, 1137, 570, 1139, 571, 1141, 572, 1143, 573, 1145, 574, 1147, 575, 1149, 576, 1151, 577, 1153, 578, 1155, 579, 1157, 580, 1159, 581, 1161, 582, 1163, 583, 1165, 584, 1167, 585, 1169, 586, 1171, 587, 1173, 588, 1175, 589, 1177, 590, 1179, 591, 1181, 592, 1183, 593, 1185, 594, 1187, 595, 1189, 596, 1191, 597, 1193, 598, 1195, 599, 1197, 600, 1199, 601, 1201, 602, 1203, 603, 1205, 604, 1207, 605, 1209, 606, 1211, 607, 1213, 608, 1215, 609, 1217, 610, 1219, 611, 1221, 612, 1223, 613, 1225, 614, 1227, 615, 1229, 616, 1231, 617, 1233, 618, 1235, 619, 1237, 620, 1239, 621, 1241, 622, 1243, 623, 1245, 624, 1247, 625, 1249, 626, 1251, 627, 1253, 628, 1255, 629, 1257, 630, 1259, 631, 1261, 632, 1263, 633, 1265, 634, 1267, 635, 1269, 636, 1271, 637, 1273, 638, 1275, 639, 1277, 640, 1279, 641, 1281, 642, 1283, 643, 1285, 644, 1287, 645, 1289, 646, 1291, 647, 1293, 648, 1295, 649, 1297, 650, 1299, 651, 1301, 652, 1303, 653, 1305, 654, 1307, 655, 1309, 656, 1311, 657, 1313, 658, 1315, 659, 1317, 660, 1319, 661, 1321, 662, 1323, 663, 1325, 664, 1327, 665, 1329, 666, 1331, 667, 1333, 668, 1335, 669, 1337, 670, 1339, 671, 1341, 672, 1343, 673, 1345, 674, 1347, 675, 1349, 676, 1351, 677, 1353, 678, 1355, 679, 1357, 680, 1359, 681, 1361, 682, 1363, 683, 1365, 684, 1367, 685, 1369, 686, 1371, 687, 1373, 688, 1375, 689, 1377, 690, 1379, 691, 1381, 692, 1383, 693, 1385, 694, 1387, 695, 1389, 696, 1391, 697, 1393, 698, 1395, 699, 1397, 700, 1399, 701, 1401, 702, 1403, 703, 1405, 704, 1407, 705, 1409, 706, 1411, 707, 1413, 708, 1415, 709, 1417, 710, 1419, 711, 1421, 712, 1423, 713, 1425, 714, 1427, 715, 1429, 716, 1431, 717, 1433, 718, 1435, 719, 1437, 720, 1439, 721, 1441, 722, 1443, 723, 1445, 724, 1447, 725, 1449, 726, 1451, 727, 1453, 728, 1455, 729, 1457, 730, 1459, 731, 1461, 732, 1463, 733, 1465, 734, 1467, 735, 1469, 736, 1471, 737, 1473, 738, 1475, 739, 1477, 740, 1479, 741, 1481, 742, 1483, 743, 1485, 744, 1487, 745, 1489, 746, 1491, 747, 1493, 748, 1495, 749, 1497, 750, 1499, 751, 1501, 752, 1503, 753, 1505, 754, 1507, 755, 1509, 756, 1511, 757, 1513, 758, 1515, 759, 1517, 760, 1519, 761, 1521, 762, 1523, 763, 1525, 764, 1527, 765, 1529, 766, 1531, 767, 1533, 768, 1535, 769, 1537, 770, 1539, 771, 1541, 772, 1543, 773, 1545, 774, 1547, 775, 1549, 776, 1551, 777, 1553, 778, 1555, 779, 1557, 780, 1559, 781, 1561, 782, 1563, 783, 1565, 784, 1567, 785, 1569, 786, 1571, 787, 1573, 788, 1575, 789, 1577, 790, 1579, 791, 1581, 792, 1583, 793, 1585, 794, 1587, 795, 1589, 796, 1591, 797, 1593, 798, 1595, 799, 1597, 800, 1599, 801, 1601, 802, 1603, 803, 1605, 804, 1607, 805, 1609, 806, 1611, 807, 1613, 808, 1615, 809, 1617, 810, 1619, 811, 1621, 812, 1623, 813, 1625, 814, 1627, 815, 1629, 816, 1631, 817, 1633, 818, 1635, 819, 1637, 820, 1639, 821, 1641, 822, 1643, 823, 1645, 824, 1647, 825, 1649, 826, 1651, 827, 1653, 828, 1655, 829, 1657, 830, 1659, 831, 1661, 832, 1663, 833, 1665, 834, 1667, 835, 1669, 836, 1671, 837, 1673, 838, 1675, 839, 1677, 840, 1679, 841, 1681, 842, 1683, 843, 1685, 844, 1687, 845, 1689, 846, 1691, 847, 1693, 848, 1695, 849, 1697, 850, 1699, 851, 1701, 852, 1703, 853, 1705, 854, 1707, 855, 1709, 856, 1711, 857, 1713, 858, 1715, 859, 1717, 860, 1719, 861, 1721, 862, 1723, 863, 1725, 864, 1727, 865, 1729, 866, 1731, 867, 1733, 868, 1735, 869, 1737, 870, 1739, 871, 1741, 872, 1743, 873, 1745, 874, 1747, 875, 1749, 876, 1751, 877, 1753, 878, 1755, 879, 1757, 880, 1759, 881, 1761, 882, 1763, 883, 1765, 884, 1767, 885, 1769, 886, 1771, 887, 1773, 888, 1775, 889, 1777, 890, 1779, 891, 1781, 892, 1783, 893, 1785, 894, 1787, 895, 1789, 896, 1791, 897, 1793, 898, 1795, 899, 1797, 900, 1799, 901, 1801, 902, 1803, 903, 1805, 904, 1807, 905, 1809, 906, 1811, 907, 1813, 908, 1815, 909, 1817, 910, 1819, 911, 1821, 912, 1823, 913, 1825, 914, 1827, 915, 1829, 916, 1831, 917, 1833, 918, 1835, 919, 1837, 920, 1839, 921, 1841, 922, 1843, 923, 1845, 924, 1847, 925, 1849, 926, 1851, 927, 1853, 928, 1855, 929, 1857, 930, 1859, 931, 1861, 932, 1863, 933, 1865, 934, 1867, 935, 1869, 936, 1871, 937, 1873, 938, 1875, 939, 1877, 940, 1879, 941, 1881, 942, 1883, 943, 1885, 944, 1887, 945, 1889, 946, 1891, 947, 1893, 948, 1895, 949, 1897, 950, 1899, 951, 1901, 952, 1903, 953, 1905, 954, 1907, 955, 1909, 956, 1911, 957, 1913, 958, 1915, 959, 1917, 960, 1919, 961, 1921, 962, 1923, 963, 1925, 964, 1927, 965, 1929, 966, 1931, 967, 1933, 968, 1935, 969, 1937, 970, 1939, 971, 1941, 972, 1943, 973, 1945, 974, 1947, 975, 1949, 976, 1951, 977, 1953, 978, 1955, 979, 1957, 980, 1959, 981, 1961, 982, 1963, 983, 1965, 984, 1967, 985, 1969, 986, 1971, 987, 1973, 988, 1975, 989, 1977, 990, 1979, 991, 1981, 992, 1983, 993, 1985, 994, 1987, 995, 1989, 996, 1991, 997, 1993, 998, 1995, 999, 1997, 1000, 1999, 1001, 2001, 1002, 2003, 1003, 2005, 1004, 2007, 1005, 2009, 1006, 2011, 1007, 2013, 1008, 2015, 1009, 2017, 1010, 2019, 1011, 2021, 1012, 2023, 1013, 2025, 1014, 2027, 1015, 2029, 1016, 2031, 1017, 2033, 1018, 2035, 1019, 2037, 1020, 2039, 1021, 2041, 1022, 2043, 1023, 2045, 1024, 2047, 1025, 2049, 1026, 2051, 1027, 2053, 1028, 2055, 1029, 2057, 1030, 2059, 1031, 2061, 1032, 2063, 1033, 2065, 2, 2067, 1034, 2069, 1035, 2071, 1036, 2073, 1037, 2075, 1038, 2077, 1039, 2079, 1040, 2081, 1041, 2083, 1042, 2085, 1043, 2087, 1044, 2089, 1045, 2091, 1046, 2093, 1047, 2095, 1048, 2097, 1049, 2099, 2, 2101, 2, 2103, 2, 2105, 2, 2107, 2, 2109, 2, 2111, 2, 2113, 2, 2115, 2, 2117, 1050, 3, 2, 16, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 12, 12, 15, 15, 6, 2, 73, 73, 77, 77, 79, 79, 86, 86, 3, 2, 98, 98, 7, 2, 38, 38, 48, 48, 50, 59, 67, 92, 97, 97, 4, 2, 45, 45, 47, 47, 6, 2, 38, 38, 50, 59, 67, 92, 97, 97, 5, 2, 38, 38, 67, 92, 97, 97, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 4, 2, 94, 94, 98, 98, 4, 2, 50, 59, 67, 72, 3, 2, 50, 59, 3, 2, 50, 51, 2, 12222, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2, 2, 121, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3, 2, 2, 2, 2, 129, 3, 2, 2, 2, 2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2, 145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 151, 3, 2, 2, 2, 2, 153, 3, 2, 2, 2, 2, 155, 3, 2, 2, 2, 2, 157, 3, 2, 2, 2, 2, 159, 3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 163, 3, 2, 2, 2, 2, 165, 3, 2, 2, 2, 2, 167, 3, 2, 2, 2, 2, 169, 3, 2, 2, 2, 2, 171, 3, 2, 2, 2, 2, 173, 3, 2, 2, 2, 2, 175, 3, 2, 2, 2, 2, 177, 3, 2, 2, 2, 2, 179, 3, 2, 2, 2, 2, 181, 3, 2, 2, 2, 2, 183, 3, 2, 2, 2, 2, 185, 3, 2, 2, 2, 2, 187, 3, 2, 2, 2, 2, 189, 3, 2, 2, 2, 2, 191, 3, 2, 2, 2, 2, 193, 3, 2, 2, 2, 2, 195, 3, 2, 2, 2, 2, 197, 3, 2, 2, 2, 2, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 2, 237, 3, 2, 2, 2, 2, 239, 3, 2, 2, 2, 2, 241, 3, 2, 2, 2, 2, 243, 3, 2, 2, 2, 2, 245, 3, 2, 2, 2, 2, 247, 3, 2, 2, 2, 2, 249, 3, 2, 2, 2, 2, 251, 3, 2, 2, 2, 2, 253, 3, 2, 2, 2, 2, 255, 3, 2, 2, 2, 2, 257, 3, 2, 2, 2, 2, 259, 3, 2, 2, 2, 2, 261, 3, 2, 2, 2, 2, 263, 3, 2, 2, 2, 2, 265, 3, 2, 2, 2, 2, 267, 3, 2, 2, 2, 2, 269, 3, 2, 2, 2, 2, 271, 3, 2, 2, 2, 2, 273, 3, 2, 2, 2, 2, 275, 3, 2, 2, 2, 2, 277, 3, 2, 2, 2, 2, 279, 3, 2, 2, 2, 2, 281, 3, 2, 2, 2, 2, 283, 3, 2, 2, 2, 2, 285, 3, 2, 2, 2, 2, 287, 3, 2, 2, 2, 2, 289, 3, 2, 2, 2, 2, 291, 3, 2, 2, 2, 2, 293, 3, 2, 2, 2, 2, 295, 3, 2, 2, 2, 2, 297, 3, 2, 2, 2, 2, 299, 3, 2, 2, 2, 2, 301, 3, 2, 2, 2, 2, 303, 3, 2, 2, 2, 2, 305, 3, 2, 2, 2, 2, 307, 3, 2, 2, 2, 2, 309, 3, 2, 2, 2, 2, 311, 3, 2, 2, 2, 2, 313, 3, 2, 2, 2, 2, 315, 3, 2, 2, 2, 2, 317, 3, 2, 2, 2, 2, 319, 3, 2, 2, 2, 2, 321, 3, 2, 2, 2, 2, 323, 3, 2, 2, 2, 2, 325, 3, 2, 2, 2, 2, 327, 3, 2, 2, 2, 2, 329, 3, 2, 2, 2, 2, 331, 3, 2, 2, 2, 2, 333, 3, 2, 2, 2, 2, 335, 3, 2, 2, 2, 2, 337, 3, 2, 2, 2, 2, 339, 3, 2, 2, 2, 2, 341, 3, 2, 2, 2, 2, 343, 3, 2, 2, 2, 2, 345, 3, 2, 2, 2, 2, 347, 3, 2, 2, 2, 2, 349, 3, 2, 2, 2, 2, 351, 3, 2, 2, 2, 2, 353, 3, 2, 2, 2, 2, 355, 3, 2, 2, 2, 2, 357, 3, 2, 2, 2, 2, 359, 3, 2, 2, 2, 2, 361, 3, 2, 2, 2, 2, 363, 3, 2, 2, 2, 2, 365, 3, 2, 2, 2, 2, 367, 3, 2, 2, 2, 2, 369, 3, 2, 2, 2, 2, 371, 3, 2, 2, 2, 2, 373, 3, 2, 2, 2, 2, 375, 3, 2, 2, 2, 2, 377, 3, 2, 2, 2, 2, 379, 3, 2, 2, 2, 2, 381, 3, 2, 2, 2, 2, 383, 3, 2, 2, 2, 2, 385, 3, 2, 2, 2, 2, 387, 3, 2, 2, 2, 2, 389, 3, 2, 2, 2, 2, 391, 3, 2, 2, 2, 2, 393, 3, 2, 2, 2, 2, 395, 3, 2, 2, 2, 2, 397, 3, 2, 2, 2, 2, 399, 3, 2, 2, 2, 2, 401, 3, 2, 2, 2, 2, 403, 3, 2, 2, 2, 2, 405, 3, 2, 2, 2, 2, 407, 3, 2, 2, 2, 2, 409, 3, 2, 2, 2, 2, 411, 3, 2, 2, 2, 2, 413, 3, 2, 2, 2, 2, 415, 3, 2, 2, 2, 2, 417, 3, 2, 2, 2, 2, 419, 3, 2, 2, 2, 2, 421, 3, 2, 2, 2, 2, 423, 3, 2, 2, 2, 2, 425, 3, 2, 2, 2, 2, 427, 3, 2, 2, 2, 2, 429, 3, 2, 2, 2, 2, 431, 3, 2, 2, 2, 2, 433, 3, 2, 2, 2, 2, 435, 3, 2, 2, 2, 2, 437, 3, 2, 2, 2, 2, 439, 3, 2, 2, 2, 2, 441, 3, 2, 2, 2, 2, 443, 3, 2, 2, 2, 2, 445, 3, 2, 2, 2, 2, 447, 3, 2, 2, 2, 2, 449, 3, 2, 2, 2, 2, 451, 3, 2, 2, 2, 2, 453, 3, 2, 2, 2, 2, 455, 3, 2, 2, 2, 2, 457, 3, 2, 2, 2, 2, 459, 3, 2, 2, 2, 2, 461, 3, 2, 2, 2, 2, 463, 3, 2, 2, 2, 2, 465, 3, 2, 2, 2, 2, 467, 3, 2, 2, 2, 2, 469, 3, 2, 2, 2, 2, 471, 3, 2, 2, 2, 2, 473, 3, 2, 2, 2, 2, 475, 3, 2, 2, 2, 2, 477, 3, 2, 2, 2, 2, 479, 3, 2, 2, 2, 2, 481, 3, 2, 2, 2, 2, 483, 3, 2, 2, 2, 2, 485, 3, 2, 2, 2, 2, 487, 3, 2, 2, 2, 2, 489, 3, 2, 2, 2, 2, 491, 3, 2, 2, 2, 2, 493, 3, 2, 2, 2, 2, 495, 3, 2, 2, 2, 2, 497, 3, 2, 2, 2, 2, 499, 3, 2, 2, 2, 2, 501, 3, 2, 2, 2, 2, 503, 3, 2, 2, 2, 2, 505, 3, 2, 2, 2, 2, 507, 3, 2, 2, 2, 2, 509, 3, 2, 2, 2, 2, 511, 3, 2, 2, 2, 2, 513, 3, 2, 2, 2, 2, 515, 3, 2, 2, 2, 2, 517, 3, 2, 2, 2, 2, 519, 3, 2, 2, 2, 2, 521, 3, 2, 2, 2, 2, 523, 3, 2, 2, 2, 2, 525, 3, 2, 2, 2, 2, 527, 3, 2, 2, 2, 2, 529, 3, 2, 2, 2, 2, 531, 3, 2, 2, 2, 2, 533, 3, 2, 2, 2, 2, 535, 3, 2, 2, 2, 2, 537, 3, 2, 2, 2, 2, 539, 3, 2, 2, 2, 2, 541, 3, 2, 2, 2, 2, 543, 3, 2, 2, 2, 2, 545, 3, 2, 2, 2, 2, 547, 3, 2, 2, 2, 2, 549, 3, 2, 2, 2, 2, 551, 3, 2, 2, 2, 2, 553, 3, 2, 2, 2, 2, 555, 3, 2, 2, 2, 2, 557, 3, 2, 2, 2, 2, 559, 3, 2, 2, 2, 2, 561, 3, 2, 2, 2, 2, 563, 3, 2, 2, 2, 2, 565, 3, 2, 2, 2, 2, 567, 3, 2, 2, 2, 2, 569, 3, 2, 2, 2, 2, 571, 3, 2, 2, 2, 2, 573, 3, 2, 2, 2, 2, 575, 3, 2, 2, 2, 2, 577, 3, 2, 2, 2, 2, 579, 3, 2, 2, 2, 2, 581, 3, 2, 2, 2, 2, 583, 3, 2, 2, 2, 2, 585, 3, 2, 2, 2, 2, 587, 3, 2, 2, 2, 2, 589, 3, 2, 2, 2, 2, 591, 3, 2, 2, 2, 2, 593, 3, 2, 2, 2, 2, 595, 3, 2, 2, 2, 2, 597, 3, 2, 2, 2, 2, 599, 3, 2, 2, 2, 2, 601, 3, 2, 2, 2, 2, 603, 3, 2, 2, 2, 2, 605, 3, 2, 2, 2, 2, 607, 3, 2, 2, 2, 2, 609, 3, 2, 2, 2, 2, 611, 3, 2, 2, 2, 2, 613, 3, 2, 2, 2, 2, 615, 3, 2, 2, 2, 2, 617, 3, 2, 2, 2, 2, 619, 3, 2, 2, 2, 2, 621, 3, 2, 2, 2, 2, 623, 3, 2, 2, 2, 2, 625, 3, 2, 2, 2, 2, 627, 3, 2, 2, 2, 2, 629, 3, 2, 2, 2, 2, 631, 3, 2, 2, 2, 2, 633, 3, 2, 2, 2, 2, 635, 3, 2, 2, 2, 2, 637, 3, 2, 2, 2, 2, 639, 3, 2, 2, 2, 2, 641, 3, 2, 2, 2, 2, 643, 3, 2, 2, 2, 2, 645, 3, 2, 2, 2, 2, 647, 3, 2, 2, 2, 2, 649, 3, 2, 2, 2, 2, 651, 3, 2, 2, 2, 2, 653, 3, 2, 2, 2, 2, 655, 3, 2, 2, 2, 2, 657, 3, 2, 2, 2, 2, 659, 3, 2, 2, 2, 2, 661, 3, 2, 2, 2, 2, 663, 3, 2, 2, 2, 2, 665, 3, 2, 2, 2, 2, 667, 3, 2, 2, 2, 2, 669, 3, 2, 2, 2, 2, 671, 3, 2, 2, 2, 2, 673, 3, 2, 2, 2, 2, 675, 3, 2, 2, 2, 2, 677, 3, 2, 2, 2, 2, 679, 3, 2, 2, 2, 2, 681, 3, 2, 2, 2, 2, 683, 3, 2, 2, 2, 2, 685, 3, 2, 2, 2, 2, 687, 3, 2, 2, 2, 2, 689, 3, 2, 2, 2, 2, 691, 3, 2, 2, 2, 2, 693, 3, 2, 2, 2, 2, 695, 3, 2, 2, 2, 2, 697, 3, 2, 2, 2, 2, 699, 3, 2, 2, 2, 2, 701, 3, 2, 2, 2, 2, 703, 3, 2, 2, 2, 2, 705, 3, 2, 2, 2, 2, 707, 3, 2, 2, 2, 2, 709, 3, 2, 2, 2, 2, 711, 3, 2, 2, 2, 2, 713, 3, 2, 2, 2, 2, 715, 3, 2, 2, 2, 2, 717, 3, 2, 2, 2, 2, 719, 3, 2, 2, 2, 2, 721, 3, 2, 2, 2, 2, 723, 3, 2, 2, 2, 2, 725, 3, 2, 2, 2, 2, 727, 3, 2, 2, 2, 2, 729, 3, 2, 2, 2, 2, 731, 3, 2, 2, 2, 2, 733, 3, 2, 2, 2, 2, 735, 3, 2, 2, 2, 2, 737, 3, 2, 2, 2, 2, 739, 3, 2, 2, 2, 2, 741, 3, 2, 2, 2, 2, 743, 3, 2, 2, 2, 2, 745, 3, 2, 2, 2, 2, 747, 3, 2, 2, 2, 2, 749, 3, 2, 2, 2, 2, 751, 3, 2, 2, 2, 2, 753, 3, 2, 2, 2, 2, 755, 3, 2, 2, 2, 2, 757, 3, 2, 2, 2, 2, 759, 3, 2, 2, 2, 2, 761, 3, 2, 2, 2, 2, 763, 3, 2, 2, 2, 2, 765, 3, 2, 2, 2, 2, 767, 3, 2, 2, 2, 2, 769, 3, 2, 2, 2, 2, 771, 3, 2, 2, 2, 2, 773, 3, 2, 2, 2, 2, 775, 3, 2, 2, 2, 2, 777, 3, 2, 2, 2, 2, 779, 3, 2, 2, 2, 2, 781, 3, 2, 2, 2, 2, 783, 3, 2, 2, 2, 2, 785, 3, 2, 2, 2, 2, 787, 3, 2, 2, 2, 2, 789, 3, 2, 2, 2, 2, 791, 3, 2, 2, 2, 2, 793, 3, 2, 2, 2, 2, 795, 3, 2, 2, 2, 2, 797, 3, 2, 2, 2, 2, 799, 3, 2, 2, 2, 2, 801, 3, 2, 2, 2, 2, 803, 3, 2, 2, 2, 2, 805, 3, 2, 2, 2, 2, 807, 3, 2, 2, 2, 2, 809, 3, 2, 2, 2, 2, 811, 3, 2, 2, 2, 2, 813, 3, 2, 2, 2, 2, 815, 3, 2, 2, 2, 2, 817, 3, 2, 2, 2, 2, 819, 3, 2, 2, 2, 2, 821, 3, 2, 2, 2, 2, 823, 3, 2, 2, 2, 2, 825, 3, 2, 2, 2, 2, 827, 3, 2, 2, 2, 2, 829, 3, 2, 2, 2, 2, 831, 3, 2, 2, 2, 2, 833, 3, 2, 2, 2, 2, 835, 3, 2, 2, 2, 2, 837, 3, 2, 2, 2, 2, 839, 3, 2, 2, 2, 2, 841, 3, 2, 2, 2, 2, 843, 3, 2, 2, 2, 2, 845, 3, 2, 2, 2, 2, 847, 3, 2, 2, 2, 2, 849, 3, 2, 2, 2, 2, 851, 3, 2, 2, 2, 2, 853, 3, 2, 2, 2, 2, 855, 3, 2, 2, 2, 2, 857, 3, 2, 2, 2, 2, 859, 3, 2, 2, 2, 2, 861, 3, 2, 2, 2, 2, 863, 3, 2, 2, 2, 2, 865, 3, 2, 2, 2, 2, 867, 3, 2, 2, 2, 2, 869, 3, 2, 2, 2, 2, 871, 3, 2, 2, 2, 2, 873, 3, 2, 2, 2, 2, 875, 3, 2, 2, 2, 2, 877, 3, 2, 2, 2, 2, 879, 3, 2, 2, 2, 2, 881, 3, 2, 2, 2, 2, 883, 3, 2, 2, 2, 2, 885, 3, 2, 2, 2, 2, 887, 3, 2, 2, 2, 2, 889, 3, 2, 2, 2, 2, 891, 3, 2, 2, 2, 2, 893, 3, 2, 2, 2, 2, 895, 3, 2, 2, 2, 2, 897, 3, 2, 2, 2, 2, 899, 3, 2, 2, 2, 2, 901, 3, 2, 2, 2, 2, 903, 3, 2, 2, 2, 2, 905, 3, 2, 2, 2, 2, 907, 3, 2, 2, 2, 2, 909, 3, 2, 2, 2, 2, 911, 3, 2, 2, 2, 2, 913, 3, 2, 2, 2, 2, 915, 3, 2, 2, 2, 2, 917, 3, 2, 2, 2, 2, 919, 3, 2, 2, 2, 2, 921, 3, 2, 2, 2, 2, 923, 3, 2, 2, 2, 2, 925, 3, 2, 2, 2, 2, 927, 3, 2, 2, 2, 2, 929, 3, 2, 2, 2, 2, 931, 3, 2, 2, 2, 2, 933, 3, 2, 2, 2, 2, 935, 3, 2, 2, 2, 2, 937, 3, 2, 2, 2, 2, 939, 3, 2, 2, 2, 2, 941, 3, 2, 2, 2, 2, 943, 3, 2, 2, 2, 2, 945, 3, 2, 2, 2, 2, 947, 3, 2, 2, 2, 2, 949, 3, 2, 2, 2, 2, 951, 3, 2, 2, 2, 2, 953, 3, 2, 2, 2, 2, 955, 3, 2, 2, 2, 2, 957, 3, 2, 2, 2, 2, 959, 3, 2, 2, 2, 2, 961, 3, 2, 2, 2, 2, 963, 3, 2, 2, 2, 2, 965, 3, 2, 2, 2, 2, 967, 3, 2, 2, 2, 2, 969, 3, 2, 2, 2, 2, 971, 3, 2, 2, 2, 2, 973, 3, 2, 2, 2, 2, 975, 3, 2, 2, 2, 2, 977, 3, 2, 2, 2, 2, 979, 3, 2, 2, 2, 2, 981, 3, 2, 2, 2, 2, 983, 3, 2, 2, 2, 2, 985, 3, 2, 2, 2, 2, 987, 3, 2, 2, 2, 2, 989, 3, 2, 2, 2, 2, 991, 3, 2, 2, 2, 2, 993, 3, 2, 2, 2, 2, 995, 3, 2, 2, 2, 2, 997, 3, 2, 2, 2, 2, 999, 3, 2, 2, 2, 2, 1001, 3, 2, 2, 2, 2, 1003, 3, 2, 2, 2, 2, 1005, 3, 2, 2, 2, 2, 1007, 3, 2, 2, 2, 2, 1009, 3, 2, 2, 2, 2, 1011, 3, 2, 2, 2, 2, 1013, 3, 2, 2, 2, 2, 1015, 3, 2, 2, 2, 2, 1017, 3, 2, 2, 2, 2, 1019, 3, 2, 2, 2, 2, 1021, 3, 2, 2, 2, 2, 1023, 3, 2, 2, 2, 2, 1025, 3, 2, 2, 2, 2, 1027, 3, 2, 2, 2, 2, 1029, 3, 2, 2, 2, 2, 1031, 3, 2, 2, 2, 2, 1033, 3, 2, 2, 2, 2, 1035, 3, 2, 2, 2, 2, 1037, 3, 2, 2, 2, 2, 1039, 3, 2, 2, 2, 2, 1041, 3, 2, 2, 2, 2, 1043, 3, 2, 2, 2, 2, 1045, 3, 2, 2, 2, 2, 1047, 3, 2, 2, 2, 2, 1049, 3, 2, 2, 2, 2, 1051, 3, 2, 2, 2, 2, 1053, 3, 2, 2, 2, 2, 1055, 3, 2, 2, 2, 2, 1057, 3, 2, 2, 2, 2, 1059, 3, 2, 2, 2, 2, 1061, 3, 2, 2, 2, 2, 1063, 3, 2, 2, 2, 2, 1065, 3, 2, 2, 2, 2, 1067, 3, 2, 2, 2, 2, 1069, 3, 2, 2, 2, 2, 1071, 3, 2, 2, 2, 2, 1073, 3, 2, 2, 2, 2, 1075, 3, 2, 2, 2, 2, 1077, 3, 2, 2, 2, 2, 1079, 3, 2, 2, 2, 2, 1081, 3, 2, 2, 2, 2, 1083, 3, 2, 2, 2, 2, 1085, 3, 2, 2, 2, 2, 1087, 3, 2, 2, 2, 2, 1089, 3, 2, 2, 2, 2, 1091, 3, 2, 2, 2, 2, 1093, 3, 2, 2, 2, 2, 1095, 3, 2, 2, 2, 2, 1097, 3, 2, 2, 2, 2, 1099, 3, 2, 2, 2, 2, 1101, 3, 2, 2, 2, 2, 1103, 3, 2, 2, 2, 2, 1105, 3, 2, 2, 2, 2, 1107, 3, 2, 2, 2, 2, 1109, 3, 2, 2, 2, 2, 1111, 3, 2, 2, 2, 2, 1113, 3, 2, 2, 2, 2, 1115, 3, 2, 2, 2, 2, 1117, 3, 2, 2, 2, 2, 1119, 3, 2, 2, 2, 2, 1121, 3, 2, 2, 2, 2, 1123, 3, 2, 2, 2, 2, 1125, 3, 2, 2, 2, 2, 1127, 3, 2, 2, 2, 2, 1129, 3, 2, 2, 2, 2, 1131, 3, 2, 2, 2, 2, 1133, 3, 2, 2, 2, 2, 1135, 3, 2, 2, 2, 2, 1137, 3, 2, 2, 2, 2, 1139, 3, 2, 2, 2, 2, 1141, 3, 2, 2, 2, 2, 1143, 3, 2, 2, 2, 2, 1145, 3, 2, 2, 2, 2, 1147, 3, 2, 2, 2, 2, 1149, 3, 2, 2, 2, 2, 1151, 3, 2, 2, 2, 2, 1153, 3, 2, 2, 2, 2, 1155, 3, 2, 2, 2, 2, 1157, 3, 2, 2, 2, 2, 1159, 3, 2, 2, 2, 2, 1161, 3, 2, 2, 2, 2, 1163, 3, 2, 2, 2, 2, 1165, 3, 2, 2, 2, 2, 1167, 3, 2, 2, 2, 2, 1169, 3, 2, 2, 2, 2, 1171, 3, 2, 2, 2, 2, 1173, 3, 2, 2, 2, 2, 1175, 3, 2, 2, 2, 2, 1177, 3, 2, 2, 2, 2, 1179, 3, 2, 2, 2, 2, 1181, 3, 2, 2, 2, 2, 1183, 3, 2, 2, 2, 2, 1185, 3, 2, 2, 2, 2, 1187, 3, 2, 2, 2, 2, 1189, 3, 2, 2, 2, 2, 1191, 3, 2, 2, 2, 2, 1193, 3, 2, 2, 2, 2, 1195, 3, 2, 2, 2, 2, 1197, 3, 2, 2, 2, 2, 1199, 3, 2, 2, 2, 2, 1201, 3, 2, 2, 2, 2, 1203, 3, 2, 2, 2, 2, 1205, 3, 2, 2, 2, 2, 1207, 3, 2, 2, 2, 2, 1209, 3, 2, 2, 2, 2, 1211, 3, 2, 2, 2, 2, 1213, 3, 2, 2, 2, 2, 1215, 3, 2, 2, 2, 2, 1217, 3, 2, 2, 2, 2, 1219, 3, 2, 2, 2, 2, 1221, 3, 2, 2, 2, 2, 1223, 3, 2, 2, 2, 2, 1225, 3, 2, 2, 2, 2, 1227, 3, 2, 2, 2, 2, 1229, 3, 2, 2, 2, 2, 1231, 3, 2, 2, 2, 2, 1233, 3, 2, 2, 2, 2, 1235, 3, 2, 2, 2, 2, 1237, 3, 2, 2, 2, 2, 1239, 3, 2, 2, 2, 2, 1241, 3, 2, 2, 2, 2, 1243, 3, 2, 2, 2, 2, 1245, 3, 2, 2, 2, 2, 1247, 3, 2, 2, 2, 2, 1249, 3, 2, 2, 2, 2, 1251, 3, 2, 2, 2, 2, 1253, 3, 2, 2, 2, 2, 1255, 3, 2, 2, 2, 2, 1257, 3, 2, 2, 2, 2, 1259, 3, 2, 2, 2, 2, 1261, 3, 2, 2, 2, 2, 1263, 3, 2, 2, 2, 2, 1265, 3, 2, 2, 2, 2, 1267, 3, 2, 2, 2, 2, 1269, 3, 2, 2, 2, 2, 1271, 3, 2, 2, 2, 2, 1273, 3, 2, 2, 2, 2, 1275, 3, 2, 2, 2, 2, 1277, 3, 2, 2, 2, 2, 1279, 3, 2, 2, 2, 2, 1281, 3, 2, 2, 2, 2, 1283, 3, 2, 2, 2, 2, 1285, 3, 2, 2, 2, 2, 1287, 3, 2, 2, 2, 2, 1289, 3, 2, 2, 2, 2, 1291, 3, 2, 2, 2, 2, 1293, 3, 2, 2, 2, 2, 1295, 3, 2, 2, 2, 2, 1297, 3, 2, 2, 2, 2, 1299, 3, 2, 2, 2, 2, 1301, 3, 2, 2, 2, 2, 1303, 3, 2, 2, 2, 2, 1305, 3, 2, 2, 2, 2, 1307, 3, 2, 2, 2, 2, 1309, 3, 2, 2, 2, 2, 1311, 3, 2, 2, 2, 2, 1313, 3, 2, 2, 2, 2, 1315, 3, 2, 2, 2, 2, 1317, 3, 2, 2, 2, 2, 1319, 3, 2, 2, 2, 2, 1321, 3, 2, 2, 2, 2, 1323, 3, 2, 2, 2, 2, 1325, 3, 2, 2, 2, 2, 1327, 3, 2, 2, 2, 2, 1329, 3, 2, 2, 2, 2, 1331, 3, 2, 2, 2, 2, 1333, 3, 2, 2, 2, 2, 1335, 3, 2, 2, 2, 2, 1337, 3, 2, 2, 2, 2, 1339, 3, 2, 2, 2, 2, 1341, 3, 2, 2, 2, 2, 1343, 3, 2, 2, 2, 2, 1345, 3, 2, 2, 2, 2, 1347, 3, 2, 2, 2, 2, 1349, 3, 2, 2, 2, 2, 1351, 3, 2, 2, 2, 2, 1353, 3, 2, 2, 2, 2, 1355, 3, 2, 2, 2, 2, 1357, 3, 2, 2, 2, 2, 1359, 3, 2, 2, 2, 2, 1361, 3, 2, 2, 2, 2, 1363, 3, 2, 2, 2, 2, 1365, 3, 2, 2, 2, 2, 1367, 3, 2, 2, 2, 2, 1369, 3, 2, 2, 2, 2, 1371, 3, 2, 2, 2, 2, 1373, 3, 2, 2, 2, 2, 1375, 3, 2, 2, 2, 2, 1377, 3, 2, 2, 2, 2, 1379, 3, 2, 2, 2, 2, 1381, 3, 2, 2, 2, 2, 1383, 3, 2, 2, 2, 2, 1385, 3, 2, 2, 2, 2, 1387, 3, 2, 2, 2, 2, 1389, 3, 2, 2, 2, 2, 1391, 3, 2, 2, 2, 2, 1393, 3, 2, 2, 2, 2, 1395, 3, 2, 2, 2, 2, 1397, 3, 2, 2, 2, 2, 1399, 3, 2, 2, 2, 2, 1401, 3, 2, 2, 2, 2, 1403, 3, 2, 2, 2, 2, 1405, 3, 2, 2, 2, 2, 1407, 3, 2, 2, 2, 2, 1409, 3, 2, 2, 2, 2, 1411, 3, 2, 2, 2, 2, 1413, 3, 2, 2, 2, 2, 1415, 3, 2, 2, 2, 2, 1417, 3, 2, 2, 2, 2, 1419, 3, 2, 2, 2, 2, 1421, 3, 2, 2, 2, 2, 1423, 3, 2, 2, 2, 2, 1425, 3, 2, 2, 2, 2, 1427, 3, 2, 2, 2, 2, 1429, 3, 2, 2, 2, 2, 1431, 3, 2, 2, 2, 2, 1433, 3, 2, 2, 2, 2, 1435, 3, 2, 2, 2, 2, 1437, 3, 2, 2, 2, 2, 1439, 3, 2, 2, 2, 2, 1441, 3, 2, 2, 2, 2, 1443, 3, 2, 2, 2, 2, 1445, 3, 2, 2, 2, 2, 1447, 3, 2, 2, 2, 2, 1449, 3, 2, 2, 2, 2, 1451, 3, 2, 2, 2, 2, 1453, 3, 2, 2, 2, 2, 1455, 3, 2, 2, 2, 2, 1457, 3, 2, 2, 2, 2, 1459, 3, 2, 2, 2, 2, 1461, 3, 2, 2, 2, 2, 1463, 3, 2, 2, 2, 2, 1465, 3, 2, 2, 2, 2, 1467, 3, 2, 2, 2, 2, 1469, 3, 2, 2, 2, 2, 1471, 3, 2, 2, 2, 2, 1473, 3, 2, 2, 2, 2, 1475, 3, 2, 2, 2, 2, 1477, 3, 2, 2, 2, 2, 1479, 3, 2, 2, 2, 2, 1481, 3, 2, 2, 2, 2, 1483, 3, 2, 2, 2, 2, 1485, 3, 2, 2, 2, 2, 1487, 3, 2, 2, 2, 2, 1489, 3, 2, 2, 2, 2, 1491, 3, 2, 2, 2, 2, 1493, 3, 2, 2, 2, 2, 1495, 3, 2, 2, 2, 2, 1497, 3, 2, 2, 2, 2, 1499, 3, 2, 2, 2, 2, 1501, 3, 2, 2, 2, 2, 1503, 3, 2, 2, 2, 2, 1505, 3, 2, 2, 2, 2, 1507, 3, 2, 2, 2, 2, 1509, 3, 2, 2, 2, 2, 1511, 3, 2, 2, 2, 2, 1513, 3, 2, 2, 2, 2, 1515, 3, 2, 2, 2, 2, 1517, 3, 2, 2, 2, 2, 1519, 3, 2, 2, 2, 2, 1521, 3, 2, 2, 2, 2, 1523, 3, 2, 2, 2, 2, 1525, 3, 2, 2, 2, 2, 1527, 3, 2, 2, 2, 2, 1529, 3, 2, 2, 2, 2, 1531, 3, 2, 2, 2, 2, 1533, 3, 2, 2, 2, 2, 1535, 3, 2, 2, 2, 2, 1537, 3, 2, 2, 2, 2, 1539, 3, 2, 2, 2, 2, 1541, 3, 2, 2, 2, 2, 1543, 3, 2, 2, 2, 2, 1545, 3, 2, 2, 2, 2, 1547, 3, 2, 2, 2, 2, 1549, 3, 2, 2, 2, 2, 1551, 3, 2, 2, 2, 2, 1553, 3, 2, 2, 2, 2, 1555, 3, 2, 2, 2, 2, 1557, 3, 2, 2, 2, 2, 1559, 3, 2, 2, 2, 2, 1561, 3, 2, 2, 2, 2, 1563, 3, 2, 2, 2, 2, 1565, 3, 2, 2, 2, 2, 1567, 3, 2, 2, 2, 2, 1569, 3, 2, 2, 2, 2, 1571, 3, 2, 2, 2, 2, 1573, 3, 2, 2, 2, 2, 1575, 3, 2, 2, 2, 2, 1577, 3, 2, 2, 2, 2, 1579, 3, 2, 2, 2, 2, 1581, 3, 2, 2, 2, 2, 1583, 3, 2, 2, 2, 2, 1585, 3, 2, 2, 2, 2, 1587, 3, 2, 2, 2, 2, 1589, 3, 2, 2, 2, 2, 1591, 3, 2, 2, 2, 2, 1593, 3, 2, 2, 2, 2, 1595, 3, 2, 2, 2, 2, 1597, 3, 2, 2, 2, 2, 1599, 3, 2, 2, 2, 2, 1601, 3, 2, 2, 2, 2, 1603, 3, 2, 2, 2, 2, 1605, 3, 2, 2, 2, 2, 1607, 3, 2, 2, 2, 2, 1609, 3, 2, 2, 2, 2, 1611, 3, 2, 2, 2, 2, 1613, 3, 2, 2, 2, 2, 1615, 3, 2, 2, 2, 2, 1617, 3, 2, 2, 2, 2, 1619, 3, 2, 2, 2, 2, 1621, 3, 2, 2, 2, 2, 1623, 3, 2, 2, 2, 2, 1625, 3, 2, 2, 2, 2, 1627, 3, 2, 2, 2, 2, 1629, 3, 2, 2, 2, 2, 1631, 3, 2, 2, 2, 2, 1633, 3, 2, 2, 2, 2, 1635, 3, 2, 2, 2, 2, 1637, 3, 2, 2, 2, 2, 1639, 3, 2, 2, 2, 2, 1641, 3, 2, 2, 2, 2, 1643, 3, 2, 2, 2, 2, 1645, 3, 2, 2, 2, 2, 1647, 3, 2, 2, 2, 2, 1649, 3, 2, 2, 2, 2, 1651, 3, 2, 2, 2, 2, 1653, 3, 2, 2, 2, 2, 1655, 3, 2, 2, 2, 2, 1657, 3, 2, 2, 2, 2, 1659, 3, 2, 2, 2, 2, 1661, 3, 2, 2, 2, 2, 1663, 3, 2, 2, 2, 2, 1665, 3, 2, 2, 2, 2, 1667, 3, 2, 2, 2, 2, 1669, 3, 2, 2, 2, 2, 1671, 3, 2, 2, 2, 2, 1673, 3, 2, 2, 2, 2, 1675, 3, 2, 2, 2, 2, 1677, 3, 2, 2, 2, 2, 1679, 3, 2, 2, 2, 2, 1681, 3, 2, 2, 2, 2, 1683, 3, 2, 2, 2, 2, 1685, 3, 2, 2, 2, 2, 1687, 3, 2, 2, 2, 2, 1689, 3, 2, 2, 2, 2, 1691, 3, 2, 2, 2, 2, 1693, 3, 2, 2, 2, 2, 1695, 3, 2, 2, 2, 2, 1697, 3, 2, 2, 2, 2, 1699, 3, 2, 2, 2, 2, 1701, 3, 2, 2, 2, 2, 1703, 3, 2, 2, 2, 2, 1705, 3, 2, 2, 2, 2, 1707, 3, 2, 2, 2, 2, 1709, 3, 2, 2, 2, 2, 1711, 3, 2, 2, 2, 2, 1713, 3, 2, 2, 2, 2, 1715, 3, 2, 2, 2, 2, 1717, 3, 2, 2, 2, 2, 1719, 3, 2, 2, 2, 2, 1721, 3, 2, 2, 2, 2, 1723, 3, 2, 2, 2, 2, 1725, 3, 2, 2, 2, 2, 1727, 3, 2, 2, 2, 2, 1729, 3, 2, 2, 2, 2, 1731, 3, 2, 2, 2, 2, 1733, 3, 2, 2, 2, 2, 1735, 3, 2, 2, 2, 2, 1737, 3, 2, 2, 2, 2, 1739, 3, 2, 2, 2, 2, 1741, 3, 2, 2, 2, 2, 1743, 3, 2, 2, 2, 2, 1745, 3, 2, 2, 2, 2, 1747, 3, 2, 2, 2, 2, 1749, 3, 2, 2, 2, 2, 1751, 3, 2, 2, 2, 2, 1753, 3, 2, 2, 2, 2, 1755, 3, 2, 2, 2, 2, 1757, 3, 2, 2, 2, 2, 1759, 3, 2, 2, 2, 2, 1761, 3, 2, 2, 2, 2, 1763, 3, 2, 2, 2, 2, 1765, 3, 2, 2, 2, 2, 1767, 3, 2, 2, 2, 2, 1769, 3, 2, 2, 2, 2, 1771, 3, 2, 2, 2, 2, 1773, 3, 2, 2, 2, 2, 1775, 3, 2, 2, 2, 2, 1777, 3, 2, 2, 2, 2, 1779, 3, 2, 2, 2, 2, 1781, 3, 2, 2, 2, 2, 1783, 3, 2, 2, 2, 2, 1785, 3, 2, 2, 2, 2, 1787, 3, 2, 2, 2, 2, 1789, 3, 2, 2, 2, 2, 1791, 3, 2, 2, 2, 2, 1793, 3, 2, 2, 2, 2, 1795, 3, 2, 2, 2, 2, 1797, 3, 2, 2, 2, 2, 1799, 3, 2, 2, 2, 2, 1801, 3, 2, 2, 2, 2, 1803, 3, 2, 2, 2, 2, 1805, 3, 2, 2, 2, 2, 1807, 3, 2, 2, 2, 2, 1809, 3, 2, 2, 2, 2, 1811, 3, 2, 2, 2, 2, 1813, 3, 2, 2, 2, 2, 1815, 3, 2, 2, 2, 2, 1817, 3, 2, 2, 2, 2, 1819, 3, 2, 2, 2, 2, 1821, 3, 2, 2, 2, 2, 1823, 3, 2, 2, 2, 2, 1825, 3, 2, 2, 2, 2, 1827, 3, 2, 2, 2, 2, 1829, 3, 2, 2, 2, 2, 1831, 3, 2, 2, 2, 2, 1833, 3, 2, 2, 2, 2, 1835, 3, 2, 2, 2, 2, 1837, 3, 2, 2, 2, 2, 1839, 3, 2, 2, 2, 2, 1841, 3, 2, 2, 2, 2, 1843, 3, 2, 2, 2, 2, 1845, 3, 2, 2, 2, 2, 1847, 3, 2, 2, 2, 2, 1849, 3, 2, 2, 2, 2, 1851, 3, 2, 2, 2, 2, 1853, 3, 2, 2, 2, 2, 1855, 3, 2, 2, 2, 2, 1857, 3, 2, 2, 2, 2, 1859, 3, 2, 2, 2, 2, 1861, 3, 2, 2, 2, 2, 1863, 3, 2, 2, 2, 2, 1865, 3, 2, 2, 2, 2, 1867, 3, 2, 2, 2, 2, 1869, 3, 2, 2, 2, 2, 1871, 3, 2, 2, 2, 2, 1873, 3, 2, 2, 2, 2, 1875, 3, 2, 2, 2, 2, 1877, 3, 2, 2, 2, 2, 1879, 3, 2, 2, 2, 2, 1881, 3, 2, 2, 2, 2, 1883, 3, 2, 2, 2, 2, 1885, 3, 2, 2, 2, 2, 1887, 3, 2, 2, 2, 2, 1889, 3, 2, 2, 2, 2, 1891, 3, 2, 2, 2, 2, 1893, 3, 2, 2, 2, 2, 1895, 3, 2, 2, 2, 2, 1897, 3, 2, 2, 2, 2, 1899, 3, 2, 2, 2, 2, 1901, 3, 2, 2, 2, 2, 1903, 3, 2, 2, 2, 2, 1905, 3, 2, 2, 2, 2, 1907, 3, 2, 2, 2, 2, 1909, 3, 2, 2, 2, 2, 1911, 3, 2, 2, 2, 2, 1913, 3, 2, 2, 2, 2, 1915, 3, 2, 2, 2, 2, 1917, 3, 2, 2, 2, 2, 1919, 3, 2, 2, 2, 2, 1921, 3, 2, 2, 2, 2, 1923, 3, 2, 2, 2, 2, 1925, 3, 2, 2, 2, 2, 1927, 3, 2, 2, 2, 2, 1929, 3, 2, 2, 2, 2, 1931, 3, 2, 2, 2, 2, 1933, 3, 2, 2, 2, 2, 1935, 3, 2, 2, 2, 2, 1937, 3, 2, 2, 2, 2, 1939, 3, 2, 2, 2, 2, 1941, 3, 2, 2, 2, 2, 1943, 3, 2, 2, 2, 2, 1945, 3, 2, 2, 2, 2, 1947, 3, 2, 2, 2, 2, 1949, 3, 2, 2, 2, 2, 1951, 3, 2, 2, 2, 2, 1953, 3, 2, 2, 2, 2, 1955, 3, 2, 2, 2, 2, 1957, 3, 2, 2, 2, 2, 1959, 3, 2, 2, 2, 2, 1961, 3, 2, 2, 2, 2, 1963, 3, 2, 2, 2, 2, 1965, 3, 2, 2, 2, 2, 1967, 3, 2, 2, 2, 2, 1969, 3, 2, 2, 2, 2, 1971, 3, 2, 2, 2, 2, 1973, 3, 2, 2, 2, 2, 1975, 3, 2, 2, 2, 2, 1977, 3, 2, 2, 2, 2, 1979, 3, 2, 2, 2, 2, 1981, 3, 2, 2, 2, 2, 1983, 3, 2, 2, 2, 2, 1985, 3, 2, 2, 2, 2, 1987, 3, 2, 2, 2, 2, 1989, 3, 2, 2, 2, 2, 1991, 3, 2, 2, 2, 2, 1993, 3, 2, 2, 2, 2, 1995, 3, 2, 2, 2, 2, 1997, 3, 2, 2, 2, 2, 1999, 3, 2, 2, 2, 2, 2001, 3, 2, 2, 2, 2, 2003, 3, 2, 2, 2, 2, 2005, 3, 2, 2, 2, 2, 2007, 3, 2, 2, 2, 2, 2009, 3, 2, 2, 2, 2, 2011, 3, 2, 2, 2, 2, 2013, 3, 2, 2, 2, 2, 2015, 3, 2, 2, 2, 2, 2017, 3, 2, 2, 2, 2, 2019, 3, 2, 2, 2, 2, 2021, 3, 2, 2, 2, 2, 2023, 3, 2, 2, 2, 2, 2025, 3, 2, 2, 2, 2, 2027, 3, 2, 2, 2, 2, 2029, 3, 2, 2, 2, 2, 2031, 3, 2, 2, 2, 2, 2033, 3, 2, 2, 2, 2, 2035, 3, 2, 2, 2, 2, 2037, 3, 2, 2, 2, 2, 2039, 3, 2, 2, 2, 2, 2041, 3, 2, 2, 2, 2, 2043, 3, 2, 2, 2, 2, 2045, 3, 2, 2, 2, 2, 2047, 3, 2, 2, 2, 2, 2049, 3, 2, 2, 2, 2, 2051, 3, 2, 2, 2, 2, 2053, 3, 2, 2, 2, 2, 2055, 3, 2, 2, 2, 2, 2057, 3, 2, 2, 2, 2, 2059, 3, 2, 2, 2, 2, 2061, 3, 2, 2, 2, 2, 2063, 3, 2, 2, 2, 2, 2067, 3, 2, 2, 2, 2, 2069, 3, 2, 2, 2, 2, 2071, 3, 2, 2, 2, 2, 2073, 3, 2, 2, 2, 2, 2075, 3, 2, 2, 2, 2, 2077, 3, 2, 2, 2, 2, 2079, 3, 2, 2, 2, 2, 2081, 3, 2, 2, 2, 2, 2083, 3, 2, 2, 2, 2, 2085, 3, 2, 2, 2, 2, 2087, 3, 2, 2, 2, 2, 2089, 3, 2, 2, 2, 2, 2091, 3, 2, 2, 2, 2, 2093, 3, 2, 2, 2, 2, 2095, 3, 2, 2, 2, 2, 2097, 3, 2, 2, 2, 2, 2117, 3, 2, 2, 2, 3, 2120, 3, 2, 2, 2, 5, 2126, 3, 2, 2, 2, 7, 2140, 3, 2, 2, 2, 9, 2183, 3, 2, 2, 2, 11, 2187, 3, 2, 2, 2, 13, 2191, 3, 2, 2, 2, 15, 2195, 3, 2, 2, 2, 17, 2201, 3, 2, 2, 2, 19, 2208, 3, 2, 2, 2, 21, 2216, 3, 2, 2, 2, 23, 2220, 3, 2, 2, 2, 25, 2223, 3, 2, 2, 2, 27, 2227, 3, 2, 2, 2, 29, 2234, 3, 2, 2, 2, 31, 2242, 3, 2, 2, 2, 33, 2247, 3, 2, 2, 2, 35, 2250, 3, 2, 2, 2, 37, 2255, 3, 2, 2, 2, 39, 2263, 3, 2, 2, 2, 41, 2268, 3, 2, 2, 2, 43, 2273, 3, 2, 2, 2, 45, 2280, 3, 2, 2, 2, 47, 2290, 3, 2, 2, 2, 49, 2296, 3, 2, 2, 2, 51, 2304, 3, 2, 2, 2, 53, 2311, 3, 2, 2, 2, 55, 2321, 3, 2, 2, 2, 57, 2332, 3, 2, 2, 2, 59, 2341, 3, 2, 2, 2, 61, 2349, 3, 2, 2, 2, 63, 2356, 3, 2, 2, 2, 65, 2362, 3, 2, 2, 2, 67, 2370, 3, 2, 2, 2, 69, 2383, 3, 2, 2, 2, 71, 2390, 3, 2, 2, 2, 73, 2399, 3, 2, 2, 2, 75, 2409, 3, 2, 2, 2, 77, 2417, 3, 2, 2, 2, 79, 2425, 3, 2, 2, 2, 81, 2433, 3, 2, 2, 2, 83, 2440, 3, 2, 2, 2, 85, 2445, 3, 2, 2, 2, 87, 2454, 3, 2, 2, 2, 89, 2468, 3, 2, 2, 2, 91, 2480, 3, 2, 2, 2, 93, 2489, 3, 2, 2, 2, 95, 2501, 3, 2, 2, 2, 97, 2506, 3, 2, 2, 2, 99, 2511, 3, 2, 2, 2, 101, 2516, 3, 2, 2, 2, 103, 2523, 3, 2, 2, 2, 105, 2532, 3, 2, 2, 2, 107, 2540, 3, 2, 2, 2, 109, 2547, 3, 2, 2, 2, 111, 2552, 3, 2, 2, 2, 113, 2560, 3, 2, 2, 2, 115, 2566, 3, 2, 2, 2, 117, 2572, 3, 2, 2, 2, 119, 2576, 3, 2, 2, 2, 121, 2582, 3, 2, 2, 2, 123, 2590, 3, 2, 2, 2, 125, 2595, 3, 2, 2, 2, 127, 2604, 3, 2, 2, 2, 129, 2614, 3, 2, 2, 2, 131, 2618, 3, 2, 2, 2, 133, 2624, 3, 2, 2, 2, 135, 2630, 3, 2, 2, 2, 137, 2637, 3, 2, 2, 2, 139, 2651, 3, 2, 2, 2, 141, 2654, 3, 2, 2, 2, 143, 2661, 3, 2, 2, 2, 145, 2664, 3, 2, 2, 2, 147, 2670, 3, 2, 2, 2, 149, 2677, 3, 2, 2, 2, 151, 2683, 3, 2, 2, 2, 153, 2689, 3, 2, 2, 2, 155, 2696, 3, 2, 2, 2, 157, 2705, 3, 2, 2, 2, 159, 2710, 3, 2, 2, 2, 161, 2713, 3, 2, 2, 2, 163, 2721, 3, 2, 2, 2, 165, 2726, 3, 2, 2, 2, 167, 2730, 3, 2, 2, 2, 169, 2735, 3, 2, 2, 2, 171, 2740, 3, 2, 2, 2, 173, 2748, 3, 2, 2, 2, 175, 2754, 3, 2, 2, 2, 177, 2759, 3, 2, 2, 2, 179, 2764, 3, 2, 2, 2, 181, 2770, 3, 2, 2, 2, 183, 2777, 3, 2, 2, 2, 185, 2783, 3, 2, 2, 2, 187, 2788, 3, 2, 2, 2, 189, 2793, 3, 2, 2, 2, 191, 2798, 3, 2, 2, 2, 193, 2811, 3, 2, 2, 2, 195, 2823, 3, 2, 2, 2, 197, 2853, 3, 2, 2, 2, 199, 2859, 3, 2, 2, 2, 201, 2868, 3, 2, 2, 2, 203, 2877, 3, 2, 2, 2, 205, 2885, 3, 2, 2, 2, 207, 2889, 3, 2, 2, 2, 209, 2908, 3, 2, 2, 2, 211, 2913, 3, 2, 2, 2, 213, 2920, 3, 2, 2, 2, 215, 2923, 3, 2, 2, 2, 217, 2932, 3, 2, 2, 2, 219, 2939, 3, 2, 2, 2, 221, 2950, 3, 2, 2, 2, 223, 2953, 3, 2, 2, 2, 225, 2959, 3, 2, 2, 2, 227, 2963, 3, 2, 2, 2, 229, 2969, 3, 2, 2, 2, 231, 2977, 3, 2, 2, 2, 233, 2987, 3, 2, 2, 2, 235, 2995, 3, 2, 2, 2, 237, 3005, 3, 2, 2, 2, 239, 3011, 3, 2, 2, 2, 241, 3017, 3, 2, 2, 2, 243, 3022, 3, 2, 2, 2, 245, 3028, 3, 2, 2, 2, 247, 3039, 3, 2, 2, 2, 249, 3046, 3, 2, 2, 2, 251, 3054, 3, 2, 2, 2, 253, 3061, 3, 2, 2, 2, 255, 3068, 3, 2, 2, 2, 257, 3076, 3, 2, 2, 2, 259, 3084, 3, 2, 2, 2, 261, 3093, 3, 2, 2, 2, 263, 3102, 3, 2, 2, 2, 265, 3109, 3, 2, 2, 2, 267, 3116, 3, 2, 2, 2, 269, 3122, 3, 2, 2, 2, 271, 3128, 3, 2, 2, 2, 273, 3135, 3, 2, 2, 2, 275, 3143, 3, 2, 2, 2, 277, 3150, 3, 2, 2, 2, 279, 3154, 3, 2, 2, 2, 281, 3164, 3, 2, 2, 2, 283, 3169, 3, 2, 2, 2, 285, 3176, 3, 2, 2, 2, 287, 3184, 3, 2, 2, 2, 289, 3188, 3, 2, 2, 2, 291, 3201, 3, 2, 2, 2, 293, 3210, 3, 2, 2, 2, 295, 3221, 3, 2, 2, 2, 297, 3236, 3, 2, 2, 2, 299, 3256, 3, 2, 2, 2, 301, 3273, 3, 2, 2, 2, 303, 3277, 3, 2, 2, 2, 305, 3285, 3, 2, 2, 2, 307, 3294, 3, 2, 2, 2, 309, 3308, 3, 2, 2, 2, 311, 3314, 3, 2, 2, 2, 313, 3325, 3, 2, 2, 2, 315, 3330, 3, 2, 2, 2, 317, 3333, 3, 2, 2, 2, 319, 3342, 3, 2, 2, 2, 321, 3350, 3, 2, 2, 2, 323, 3355, 3, 2, 2, 2, 325, 3360, 3, 2, 2, 2, 327, 3366, 3, 2, 2, 2, 329, 3373, 3, 2, 2, 2, 331, 3380, 3, 2, 2, 2, 333, 3389, 3, 2, 2, 2, 335, 3396, 3, 2, 2, 2, 337, 3402, 3, 2, 2, 2, 339, 3406, 3, 2, 2, 2, 341, 3412, 3, 2, 2, 2, 343, 3419, 3, 2, 2, 2, 345, 3424, 3, 2, 2, 2, 347, 3430, 3, 2, 2, 2, 349, 3436, 3, 2, 2, 2, 351, 3441, 3, 2, 2, 2, 353, 3447, 3, 2, 2, 2, 355, 3451, 3, 2, 2, 2, 357, 3460, 3, 2, 2, 2, 359, 3468, 3, 2, 2, 2, 361, 3477, 3, 2, 2, 2, 363, 3487, 3, 2, 2, 2, 365, 3497, 3, 2, 2, 2, 367, 3501, 3, 2, 2, 2, 369, 3506, 3, 2, 2, 2, 371, 3511, 3, 2, 2, 2, 373, 3516, 3, 2, 2, 2, 375, 3521, 3, 2, 2, 2, 377, 3526, 3, 2, 2, 2, 379, 3534, 3, 2, 2, 2, 381, 3541, 3, 2, 2, 2, 383, 3546, 3, 2, 2, 2, 385, 3553, 3, 2, 2, 2, 387, 3563, 3, 2, 2, 2, 389, 3569, 3, 2, 2, 2, 391, 3576, 3, 2, 2, 2, 393, 3583, 3, 2, 2, 2, 395, 3591, 3, 2, 2, 2, 397, 3595, 3, 2, 2, 2, 399, 3603, 3, 2, 2, 2, 401, 3608, 3, 2, 2, 2, 403, 3613, 3, 2, 2, 2, 405, 3623, 3, 2, 2, 2, 407, 3632, 3, 2, 2, 2, 409, 3637, 3, 2, 2, 2, 411, 3642, 3, 2, 2, 2, 413, 3650, 3, 2, 2, 2, 415, 3659, 3, 2, 2, 2, 417, 3668, 3, 2, 2, 2, 419, 3675, 3, 2, 2, 2, 421, 3685, 3, 2, 2, 2, 423, 3694, 3, 2, 2, 2, 425, 3699, 3, 2, 2, 2, 427, 3710, 3, 2, 2, 2, 429, 3715, 3, 2, 2, 2, 431, 3724, 3, 2, 2, 2, 433, 3733, 3, 2, 2, 2, 435, 3738, 3, 2, 2, 2, 437, 3749, 3, 2, 2, 2, 439, 3758, 3, 2, 2, 2, 441, 3763, 3, 2, 2, 2, 443, 3771, 3, 2, 2, 2, 445, 3778, 3, 2, 2, 2, 447, 3789, 3, 2, 2, 2, 449, 3798, 3, 2, 2, 2, 451, 3809, 3, 2, 2, 2, 453, 3820, 3, 2, 2, 2, 455, 3832, 3, 2, 2, 2, 457, 3844, 3, 2, 2, 2, 459, 3858, 3, 2, 2, 2, 461, 3877, 3, 2, 2, 2, 463, 3896, 3, 2, 2, 2, 465, 3913, 3, 2, 2, 2, 467, 3929, 3, 2, 2, 2, 469, 3940, 3, 2, 2, 2, 471, 3958, 3, 2, 2, 2, 473, 3962, 3, 2, 2, 2, 475, 3970, 3, 2, 2, 2, 477, 3977, 3, 2, 2, 2, 479, 3985, 3, 2, 2, 2, 481, 3991, 3, 2, 2, 2, 483, 4004, 3, 2, 2, 2, 485, 4008, 3, 2, 2, 2, 487, 4012, 3, 2, 2, 2, 489, 4016, 3, 2, 2, 2, 491, 4023, 3, 2, 2, 2, 493, 4034, 3, 2, 2, 2, 495, 4046, 3, 2, 2, 2, 497, 4050, 3, 2, 2, 2, 499, 4058, 3, 2, 2, 2, 501, 4067, 3, 2, 2, 2, 503, 4076, 3, 2, 2, 2, 505, 4089, 3, 2, 2, 2, 507, 4102, 3, 2, 2, 2, 509, 4120, 3, 2, 2, 2, 511, 4130, 3, 2, 2, 2, 513, 4138, 3, 2, 2, 2, 515, 4146, 3, 2, 2, 2, 517, 4155, 3, 2, 2, 2, 519, 4164, 3, 2, 2, 2, 521, 4172, 3, 2, 2, 2, 523, 4187, 3, 2, 2, 2, 525, 4191, 3, 2, 2, 2, 527, 4200, 3, 2, 2, 2, 529, 4207, 3, 2, 2, 2, 531, 4217, 3, 2, 2, 2, 533, 4225, 3, 2, 2, 2, 535, 4230, 3, 2, 2, 2, 537, 4239, 3, 2, 2, 2, 539, 4248, 3, 2, 2, 2, 541, 4262, 3, 2, 2, 2, 543, 4270, 3, 2, 2, 2, 545, 4277, 3, 2, 2, 2, 547, 4283, 3, 2, 2, 2, 549, 4293, 3, 2, 2, 2, 551, 4303, 3, 2, 2, 2, 553, 4307, 3, 2, 2, 2, 555, 4310, 3, 2, 2, 2, 557, 4318, 3, 2, 2, 2, 559, 4329, 3, 2, 2, 2, 561, 4345, 3, 2, 2, 2, 563, 4360, 3, 2, 2, 2, 565, 4375, 3, 2, 2, 2, 567, 4381, 3, 2, 2, 2, 569, 4388, 3, 2, 2, 2, 571, 4392, 3, 2, 2, 2, 573, 4398, 3, 2, 2, 2, 575, 4403, 3, 2, 2, 2, 577, 4411, 3, 2, 2, 2, 579, 4417, 3, 2, 2, 2, 581, 4423, 3, 2, 2, 2, 583, 4432, 3, 2, 2, 2, 585, 4438, 3, 2, 2, 2, 587, 4446, 3, 2, 2, 2, 589, 4454, 3, 2, 2, 2, 591, 4463, 3, 2, 2, 2, 593, 4477, 3, 2, 2, 2, 595, 4484, 3, 2, 2, 2, 597, 4497, 3, 2, 2, 2, 599, 4504, 3, 2, 2, 2, 601, 4510, 3, 2, 2, 2, 603, 4519, 3, 2, 2, 2, 605, 4524, 3, 2, 2, 2, 607, 4532, 3, 2, 2, 2, 609, 4546, 3, 2, 2, 2, 611, 4558, 3, 2, 2, 2, 613, 4566, 3, 2, 2, 2, 615, 4573, 3, 2, 2, 2, 617, 4581, 3, 2, 2, 2, 619, 4592, 3, 2, 2, 2, 621, 4603, 3, 2, 2, 2, 623, 4615, 3, 2, 2, 2, 625, 4626, 3, 2, 2, 2, 627, 4637, 3, 2, 2, 2, 629, 4648, 3, 2, 2, 2, 631, 4667, 3, 2, 2, 2, 633, 4685, 3, 2, 2, 2, 635, 4701, 3, 2, 2, 2, 637, 4710, 3, 2, 2, 2, 639, 4718, 3, 2, 2, 2, 641, 4731, 3, 2, 2, 2, 643, 4736, 3, 2, 2, 2, 645, 4740, 3, 2, 2, 2, 647, 4752, 3, 2, 2, 2, 649, 4757, 3, 2, 2, 2, 651, 4766, 3, 2, 2, 2, 653, 4777, 3, 2, 2, 2, 655, 4790, 3, 2, 2, 2, 657, 4798, 3, 2, 2, 2, 659, 4814, 3, 2, 2, 2, 661, 4827, 3, 2, 2, 2, 663, 4837, 3, 2, 2, 2, 665, 4845, 3, 2, 2, 2, 667, 4853, 3, 2, 2, 2, 669, 4858, 3, 2, 2, 2, 671, 4861, 3, 2, 2, 2, 673, 4870, 3, 2, 2, 2, 675, 4880, 3, 2, 2, 2, 677, 4888, 3, 2, 2, 2, 679, 4895, 3, 2, 2, 2, 681, 4906, 3, 2, 2, 2, 683, 4910, 3, 2, 2, 2, 685, 4915, 3, 2, 2, 2, 687, 4922, 3, 2, 2, 2, 689, 4930, 3, 2, 2, 2, 691, 4936, 3, 2, 2, 2, 693, 4943, 3, 2, 2, 2, 695, 4950, 3, 2, 2, 2, 697, 4955, 3, 2, 2, 2, 699, 4961, 3, 2, 2, 2, 701, 4968, 3, 2, 2, 2, 703, 4974, 3, 2, 2, 2, 705, 4983, 3, 2, 2, 2, 707, 4993, 3, 2, 2, 2, 709, 5000, 3, 2, 2, 2, 711, 5007, 3, 2, 2, 2, 713, 5016, 3, 2, 2, 2, 715, 5028, 3, 2, 2, 2, 717, 5033, 3, 2, 2, 2, 719, 5040, 3, 2, 2, 2, 721, 5047, 3, 2, 2, 2, 723, 5063, 3, 2, 2, 2, 725, 5070, 3, 2, 2, 2, 727, 5076, 3, 2, 2, 2, 729, 5082, 3, 2, 2, 2, 731, 5088, 3, 2, 2, 2, 733, 5096, 3, 2, 2, 2, 735, 5102, 3, 2, 2, 2, 737, 5107, 3, 2, 2, 2, 739, 5116, 3, 2, 2, 2, 741, 5124, 3, 2, 2, 2, 743, 5131, 3, 2, 2, 2, 745, 5138, 3, 2, 2, 2, 747, 5156, 3, 2, 2, 2, 749, 5164, 3, 2, 2, 2, 751, 5169, 3, 2, 2, 2, 753, 5174, 3, 2, 2, 2, 755, 5179, 3, 2, 2, 2, 757, 5185, 3, 2, 2, 2, 759, 5196, 3, 2, 2, 2, 761, 5214, 3, 2, 2, 2, 763, 5221, 3, 2, 2, 2, 765, 5229, 3, 2, 2, 2, 767, 5242, 3, 2, 2, 2, 769, 5250, 3, 2, 2, 2, 771, 5264, 3, 2, 2, 2, 773, 5272, 3, 2, 2, 2, 775, 5281, 3, 2, 2, 2, 777, 5291, 3, 2, 2, 2, 779, 5299, 3, 2, 2, 2, 781, 5302, 3, 2, 2, 2, 783, 5312, 3, 2, 2, 2, 785, 5316, 3, 2, 2, 2, 787, 5326, 3, 2, 2, 2, 789, 5333, 3, 2, 2, 2, 791, 5338, 3, 2, 2, 2, 793, 5353, 3, 2, 2, 2, 795, 5362, 3, 2, 2, 2, 797, 5367, 3, 2, 2, 2, 799, 5374, 3, 2, 2, 2, 801, 5379, 3, 2, 2, 2, 803, 5385, 3, 2, 2, 2, 805, 5390, 3, 2, 2, 2, 807, 5396, 3, 2, 2, 2, 809, 5404, 3, 2, 2, 2, 811, 5409, 3, 2, 2, 2, 813, 5416, 3, 2, 2, 2, 815, 5437, 3, 2, 2, 2, 817, 5458, 3, 2, 2, 2, 819, 5471, 3, 2, 2, 2, 821, 5495, 3, 2, 2, 2, 823, 5507, 3, 2, 2, 2, 825, 5523, 3, 2, 2, 2, 827, 5538, 3, 2, 2, 2, 829, 5554, 3, 2, 2, 2, 831, 5566, 3, 2, 2, 2, 833, 5585, 3, 2, 2, 2, 835, 5596, 3, 2, 2, 2, 837, 5610, 3, 2, 2, 2, 839, 5628, 3, 2, 2, 2, 841, 5644, 3, 2, 2, 2, 843, 5662, 3, 2, 2, 2, 845, 5677, 3, 2, 2, 2, 847, 5696, 3, 2, 2, 2, 849, 5711, 3, 2, 2, 2, 851, 5730, 3, 2, 2, 2, 853, 5742, 3, 2, 2, 2, 855, 5767, 3, 2, 2, 2, 857, 5788, 3, 2, 2, 2, 859, 5797, 3, 2, 2, 2, 861, 5806, 3, 2, 2, 2, 863, 5827, 3, 2, 2, 2, 865, 5848, 3, 2, 2, 2, 867, 5855, 3, 2, 2, 2, 869, 5861, 3, 2, 2, 2, 871, 5874, 3, 2, 2, 2, 873, 5878, 3, 2, 2, 2, 875, 5886, 3, 2, 2, 2, 877, 5895, 3, 2, 2, 2, 879, 5900, 3, 2, 2, 2, 881, 5907, 3, 2, 2, 2, 883, 5913, 3, 2, 2, 2, 885, 5919, 3, 2, 2, 2, 887, 5931, 3, 2, 2, 2, 889, 5936, 3, 2, 2, 2, 891, 5942, 3, 2, 2, 2, 893, 5948, 3, 2, 2, 2, 895, 5954, 3, 2, 2, 2, 897, 5959, 3, 2, 2, 2, 899, 5962, 3, 2, 2, 2, 901, 5972, 3, 2, 2, 2, 903, 5977, 3, 2, 2, 2, 905, 5985, 3, 2, 2, 2, 907, 5992, 3, 2, 2, 2, 909, 5995, 3, 2, 2, 2, 911, 6008, 3, 2, 2, 2, 913, 6012, 3, 2, 2, 2, 915, 6019, 3, 2, 2, 2, 917, 6024, 3, 2, 2, 2, 919, 6029, 3, 2, 2, 2, 921, 6045, 3, 2, 2, 2, 923, 6053, 3, 2, 2, 2, 925, 6059, 3, 2, 2, 2, 927, 6069, 3, 2, 2, 2, 929, 6074, 3, 2, 2, 2, 931, 6081, 3, 2, 2, 2, 933, 6089, 3, 2, 2, 2, 935, 6102, 3, 2, 2, 2, 937, 6113, 3, 2, 2, 2, 939, 6122, 3, 2, 2, 2, 941, 6128, 3, 2, 2, 2, 943, 6135, 3, 2, 2, 2, 945, 6146, 3, 2, 2, 2, 947, 6154, 3, 2, 2, 2, 949, 6159, 3, 2, 2, 2, 951, 6168, 3, 2, 2, 2, 953, 6176, 3, 2, 2, 2, 955, 6185, 3, 2, 2, 2, 957, 6190, 3, 2, 2, 2, 959, 6202, 3, 2, 2, 2, 961, 6210, 3, 2, 2, 2, 963, 6219, 3, 2, 2, 2, 965, 6225, 3, 2, 2, 2, 967, 6231, 3, 2, 2, 2, 969, 6237, 3, 2, 2, 2, 971, 6245, 3, 2, 2, 2, 973, 6253, 3, 2, 2, 2, 975, 6270, 3, 2, 2, 2, 977, 6280, 3, 2, 2, 2, 979, 6286, 3, 2, 2, 2, 981, 6301, 3, 2, 2, 2, 983, 6315, 3, 2, 2, 2, 985, 6324, 3, 2, 2, 2, 987, 6331, 3, 2, 2, 2, 989, 6342, 3, 2, 2, 2, 991, 6349, 3, 2, 2, 2, 993, 6365, 3, 2, 2, 2, 995, 6384, 3, 2, 2, 2, 997, 6404, 3, 2, 2, 2, 999, 6427, 3, 2, 2, 2, 1001, 6448, 3, 2, 2, 2, 1003, 6472, 3, 2, 2, 2, 1005, 6500, 3, 2, 2, 2, 1007, 6512, 3, 2, 2, 2, 1009, 6518, 3, 2, 2, 2, 1011, 6525, 3, 2, 2, 2, 1013, 6543, 3, 2, 2, 2, 1015, 6551, 3, 2, 2, 2, 1017, 6556, 3, 2, 2, 2, 1019, 6565, 3, 2, 2, 2, 1021, 6572, 3, 2, 2, 2, 1023, 6579, 3, 2, 2, 2, 1025, 6583, 3, 2, 2, 2, 1027, 6588, 3, 2, 2, 2, 1029, 6599, 3, 2, 2, 2, 1031, 6609, 3, 2, 2, 2, 1033, 6618, 3, 2, 2, 2, 1035, 6627, 3, 2, 2, 2, 1037, 6634, 3, 2, 2, 2, 1039, 6642, 3, 2, 2, 2, 1041, 6648, 3, 2, 2, 2, 1043, 6655, 3, 2, 2, 2, 1045, 6662, 3, 2, 2, 2, 1047, 6669, 3, 2, 2, 2, 1049, 6675, 3, 2, 2, 2, 1051, 6680, 3, 2, 2, 2, 1053, 6689, 3, 2, 2, 2, 1055, 6696, 3, 2, 2, 2, 1057, 6701, 3, 2, 2, 2, 1059, 6708, 3, 2, 2, 2, 1061, 6715, 3, 2, 2, 2, 1063, 6722, 3, 2, 2, 2, 1065, 6738, 3, 2, 2, 2, 1067, 6757, 3, 2, 2, 2, 1069, 6774, 3, 2, 2, 2, 1071, 6792, 3, 2, 2, 2, 1073, 6802, 3, 2, 2, 2, 1075, 6815, 3, 2, 2, 2, 1077, 6826, 3, 2, 2, 2, 1079, 6832, 3, 2, 2, 2, 1081, 6839, 3, 2, 2, 2, 1083, 6857, 3, 2, 2, 2, 1085, 6874, 3, 2, 2, 2, 1087, 6893, 3, 2, 2, 2, 1089, 6900, 3, 2, 2, 2, 1091, 6905, 3, 2, 2, 2, 1093, 6913, 3, 2, 2, 2, 1095, 6920, 3, 2, 2, 2, 1097, 6927, 3, 2, 2, 2, 1099, 6943, 3, 2, 2, 2, 1101, 6951, 3, 2, 2, 2, 1103, 6964, 3, 2, 2, 2, 1105, 6978, 3, 2, 2, 2, 1107, 6986, 3, 2, 2, 2, 1109, 6992, 3, 2, 2, 2, 1111, 7001, 3, 2, 2, 2, 1113, 7012, 3, 2, 2, 2, 1115, 7023, 3, 2, 2, 2, 1117, 7033, 3, 2, 2, 2, 1119, 7043, 3, 2, 2, 2, 1121, 7048, 3, 2, 2, 2, 1123, 7060, 3, 2, 2, 2, 1125, 7072, 3, 2, 2, 2, 1127, 7086, 3, 2, 2, 2, 1129, 7095, 3, 2, 2, 2, 1131, 7104, 3, 2, 2, 2, 1133, 7114, 3, 2, 2, 2, 1135, 7123, 3, 2, 2, 2, 1137, 7140, 3, 2, 2, 2, 1139, 7150, 3, 2, 2, 2, 1141, 7158, 3, 2, 2, 2, 1143, 7164, 3, 2, 2, 2, 1145, 7172, 3, 2, 2, 2, 1147, 7177, 3, 2, 2, 2, 1149, 7185, 3, 2, 2, 2, 1151, 7200, 3, 2, 2, 2, 1153, 7211, 3, 2, 2, 2, 1155, 7217, 3, 2, 2, 2, 1157, 7227, 3, 2, 2, 2, 1159, 7232, 3, 2, 2, 2, 1161, 7240, 3, 2, 2, 2, 1163, 7248, 3, 2, 2, 2, 1165, 7253, 3, 2, 2, 2, 1167, 7262, 3, 2, 2, 2, 1169, 7270, 3, 2, 2, 2, 1171, 7275, 3, 2, 2, 2, 1173, 7283, 3, 2, 2, 2, 1175, 7288, 3, 2, 2, 2, 1177, 7291, 3, 2, 2, 2, 1179, 7295, 3, 2, 2, 2, 1181, 7299, 3, 2, 2, 2, 1183, 7303, 3, 2, 2, 2, 1185, 7307, 3, 2, 2, 2, 1187, 7311, 3, 2, 2, 2, 1189, 7320, 3, 2, 2, 2, 1191, 7328, 3, 2, 2, 2, 1193, 7334, 3, 2, 2, 2, 1195, 7338, 3, 2, 2, 2, 1197, 7343, 3, 2, 2, 2, 1199, 7350, 3, 2, 2, 2, 1201, 7355, 3, 2, 2, 2, 1203, 7362, 3, 2, 2, 2, 1205, 7374, 3, 2, 2, 2, 1207, 7381, 3, 2, 2, 2, 1209, 7389, 3, 2, 2, 2, 1211, 7397, 3, 2, 2, 2, 1213, 7402, 3, 2, 2, 2, 1215, 7410, 3, 2, 2, 2, 1217, 7417, 3, 2, 2, 2, 1219, 7426, 3, 2, 2, 2, 1221, 7432, 3, 2, 2, 2, 1223, 7443, 3, 2, 2, 2, 1225, 7470, 3, 2, 2, 2, 1227, 7482, 3, 2, 2, 2, 1229, 7495, 3, 2, 2, 2, 1231, 7508, 3, 2, 2, 2, 1233, 7532, 3, 2, 2, 2, 1235, 7544, 3, 2, 2, 2, 1237, 7561, 3, 2, 2, 2, 1239, 7582, 3, 2, 2, 2, 1241, 7597, 3, 2, 2, 2, 1243, 7611, 3, 2, 2, 2, 1245, 7635, 3, 2, 2, 2, 1247, 7659, 3, 2, 2, 2, 1249, 7675, 3, 2, 2, 2, 1251, 7702, 3, 2, 2, 2, 1253, 7722, 3, 2, 2, 2, 1255, 7746, 3, 2, 2, 2, 1257, 7767, 3, 2, 2, 2, 1259, 7787, 3, 2, 2, 2, 1261, 7799, 3, 2, 2, 2, 1263, 7828, 3, 2, 2, 2, 1265, 7840, 3, 2, 2, 2, 1267, 7853, 3, 2, 2, 2, 1269, 7876, 3, 2, 2, 2, 1271, 7899, 3, 2, 2, 2, 1273, 7919, 3, 2, 2, 2, 1275, 7936, 3, 2, 2, 2, 1277, 7945, 3, 2, 2, 2, 1279, 7951, 3, 2, 2, 2, 1281, 7956, 3, 2, 2, 2, 1283, 7963, 3, 2, 2, 2, 1285, 7970, 3, 2, 2, 2, 1287, 7977, 3, 2, 2, 2, 1289, 7984, 3, 2, 2, 2, 1291, 7990, 3, 2, 2, 2, 1293, 7996, 3, 2, 2, 2, 1295, 8002, 3, 2, 2, 2, 1297, 8008, 3, 2, 2, 2, 1299, 8013, 3, 2, 2, 2, 1301, 8021, 3, 2, 2, 2, 1303, 8027, 3, 2, 2, 2, 1305, 8034, 3, 2, 2, 2, 1307, 8038, 3, 2, 2, 2, 1309, 8046, 3, 2, 2, 2, 1311, 8052, 3, 2, 2, 2, 1313, 8059, 3, 2, 2, 2, 1315, 8063, 3, 2, 2, 2, 1317, 8071, 3, 2, 2, 2, 1319, 8077, 3, 2, 2, 2, 1321, 8083, 3, 2, 2, 2, 1323, 8090, 3, 2, 2, 2, 1325, 8097, 3, 2, 2, 2, 1327, 8104, 3, 2, 2, 2, 1329, 8111, 3, 2, 2, 2, 1331, 8117, 3, 2, 2, 2, 1333, 8126, 3, 2, 2, 2, 1335, 8131, 3, 2, 2, 2, 1337, 8136, 3, 2, 2, 2, 1339, 8143, 3, 2, 2, 2, 1341, 8148, 3, 2, 2, 2, 1343, 8153, 3, 2, 2, 2, 1345, 8159, 3, 2, 2, 2, 1347, 8167, 3, 2, 2, 2, 1349, 8173, 3, 2, 2, 2, 1351, 8178, 3, 2, 2, 2, 1353, 8186, 3, 2, 2, 2, 1355, 8194, 3, 2, 2, 2, 1357, 8202, 3, 2, 2, 2, 1359, 8212, 3, 2, 2, 2, 1361, 8216, 3, 2, 2, 2, 1363, 8226, 3, 2, 2, 2, 1365, 8233, 3, 2, 2, 2, 1367, 8240, 3, 2, 2, 2, 1369, 8251, 3, 2, 2, 2, 1371, 8258, 3, 2, 2, 2, 1373, 8262, 3, 2, 2, 2, 1375, 8273, 3, 2, 2, 2, 1377, 8292, 3, 2, 2, 2, 1379, 8299, 3, 2, 2, 2, 1381, 8310, 3, 2, 2, 2, 1383, 8320, 3, 2, 2, 2, 1385, 8332, 3, 2, 2, 2, 1387, 8345, 3, 2, 2, 2, 1389, 8364, 3, 2, 2, 2, 1391, 8379, 3, 2, 2, 2, 1393, 8388, 3, 2, 2, 2, 1395, 8399, 3, 2, 2, 2, 1397, 8415, 3, 2, 2, 2, 1399, 8426, 3, 2, 2, 2, 1401, 8439, 3, 2, 2, 2, 1403, 8445, 3, 2, 2, 2, 1405, 8453, 3, 2, 2, 2, 1407, 8457, 3, 2, 2, 2, 1409, 8462, 3, 2, 2, 2, 1411, 8470, 3, 2, 2, 2, 1413, 8478, 3, 2, 2, 2, 1415, 8490, 3, 2, 2, 2, 1417, 8502, 3, 2, 2, 2, 1419, 8507, 3, 2, 2, 2, 1421, 8516, 3, 2, 2, 2, 1423, 8521, 3, 2, 2, 2, 1425, 8528, 3, 2, 2, 2, 1427, 8534, 3, 2, 2, 2, 1429, 8540, 3, 2, 2, 2, 1431, 8559, 3, 2, 2, 2, 1433, 8577, 3, 2, 2, 2, 1435, 8596, 3, 2, 2, 2, 1437, 8612, 3, 2, 2, 2, 1439, 8630, 3, 2, 2, 2, 1441, 8635, 3, 2, 2, 2, 1443, 8641, 3, 2, 2, 2, 1445, 8651, 3, 2, 2, 2, 1447, 8655, 3, 2, 2, 2, 1449, 8665, 3, 2, 2, 2, 1451, 8676, 3, 2, 2, 2, 1453, 8683, 3, 2, 2, 2, 1455, 8696, 3, 2, 2, 2, 1457, 8701, 3, 2, 2, 2, 1459, 8709, 3, 2, 2, 2, 1461, 8718, 3, 2, 2, 2, 1463, 8735, 3, 2, 2, 2, 1465, 8743, 3, 2, 2, 2, 1467, 8755, 3, 2, 2, 2, 1469, 8768, 3, 2, 2, 2, 1471, 8778, 3, 2, 2, 2, 1473, 8787, 3, 2, 2, 2, 1475, 8794, 3, 2, 2, 2, 1477, 8804, 3, 2, 2, 2, 1479, 8818, 3, 2, 2, 2, 1481, 8823, 3, 2, 2, 2, 1483, 8834, 3, 2, 2, 2, 1485, 8838, 3, 2, 2, 2, 1487, 8842, 3, 2, 2, 2, 1489, 8848, 3, 2, 2, 2, 1491, 8875, 3, 2, 2, 2, 1493, 8901, 3, 2, 2, 2, 1495, 8922, 3, 2, 2, 2, 1497, 8936, 3, 2, 2, 2, 1499, 8944, 3, 2, 2, 2, 1501, 8953, 3, 2, 2, 2, 1503, 8965, 3, 2, 2, 2, 1505, 8973, 3, 2, 2, 2, 1507, 8984, 3, 2, 2, 2, 1509, 8994, 3, 2, 2, 2, 1511, 9004, 3, 2, 2, 2, 1513, 9011, 3, 2, 2, 2, 1515, 9019, 3, 2, 2, 2, 1517, 9031, 3, 2, 2, 2, 1519, 9043, 3, 2, 2, 2, 1521, 9053, 3, 2, 2, 2, 1523, 9062, 3, 2, 2, 2, 1525, 9066, 3, 2, 2, 2, 1527, 9073, 3, 2, 2, 2, 1529, 9081, 3, 2, 2, 2, 1531, 9090, 3, 2, 2, 2, 1533, 9099, 3, 2, 2, 2, 1535, 9106, 3, 2, 2, 2, 1537, 9110, 3, 2, 2, 2, 1539, 9121, 3, 2, 2, 2, 1541, 9134, 3, 2, 2, 2, 1543, 9147, 3, 2, 2, 2, 1545, 9153, 3, 2, 2, 2, 1547, 9165, 3, 2, 2, 2, 1549, 9171, 3, 2, 2, 2, 1551, 9178, 3, 2, 2, 2, 1553, 9189, 3, 2, 2, 2, 1555, 9201, 3, 2, 2, 2, 1557, 9211, 3, 2, 2, 2, 1559, 9225, 3, 2, 2, 2, 1561, 9242, 3, 2, 2, 2, 1563, 9258, 3, 2, 2, 2, 1565, 9285, 3, 2, 2, 2, 1567, 9311, 3, 2, 2, 2, 1569, 9328, 3, 2, 2, 2, 1571, 9344, 3, 2, 2, 2, 1573, 9354, 3, 2, 2, 2, 1575, 9367, 3, 2, 2, 2, 1577, 9380, 3, 2, 2, 2, 1579, 9392, 3, 2, 2, 2, 1581, 9403, 3, 2, 2, 2, 1583, 9412, 3, 2, 2, 2, 1585, 9420, 3, 2, 2, 2, 1587, 9429, 3, 2, 2, 2, 1589, 9441, 3, 2, 2, 2, 1591, 9455, 3, 2, 2, 2, 1593, 9459, 3, 2, 2, 2, 1595, 9466, 3, 2, 2, 2, 1597, 9477, 3, 2, 2, 2, 1599, 9488, 3, 2, 2, 2, 1601, 9498, 3, 2, 2, 2, 1603, 9508, 3, 2, 2, 2, 1605, 9514, 3, 2, 2, 2, 1607, 9528, 3, 2, 2, 2, 1609, 9539, 3, 2, 2, 2, 1611, 9548, 3, 2, 2, 2, 1613, 9556, 3, 2, 2, 2, 1615, 9563, 3, 2, 2, 2, 1617, 9572, 3, 2, 2, 2, 1619, 9585, 3, 2, 2, 2, 1621, 9593, 3, 2, 2, 2, 1623, 9608, 3, 2, 2, 2, 1625, 9623, 3, 2, 2, 2, 1627, 9631, 3, 2, 2, 2, 1629, 9644, 3, 2, 2, 2, 1631, 9659, 3, 2, 2, 2, 1633, 9665, 3, 2, 2, 2, 1635, 9671, 3, 2, 2, 2, 1637, 9678, 3, 2, 2, 2, 1639, 9691, 3, 2, 2, 2, 1641, 9703, 3, 2, 2, 2, 1643, 9722, 3, 2, 2, 2, 1645, 9740, 3, 2, 2, 2, 1647, 9743, 3, 2, 2, 2, 1649, 9753, 3, 2, 2, 2, 1651, 9760, 3, 2, 2, 2, 1653, 9764, 3, 2, 2, 2, 1655, 9770, 3, 2, 2, 2, 1657, 9775, 3, 2, 2, 2, 1659, 9781, 3, 2, 2, 2, 1661, 9786, 3, 2, 2, 2, 1663, 9792, 3, 2, 2, 2, 1665, 9801, 3, 2, 2, 2, 1667, 9810, 3, 2, 2, 2, 1669, 9819, 3, 2, 2, 2, 1671, 9835, 3, 2, 2, 2, 1673, 9847, 3, 2, 2, 2, 1675, 9859, 3, 2, 2, 2, 1677, 9868, 3, 2, 2, 2, 1679, 9882, 3, 2, 2, 2, 1681, 9894, 3, 2, 2, 2, 1683, 9905, 3, 2, 2, 2, 1685, 9915, 3, 2, 2, 2, 1687, 9919, 3, 2, 2, 2, 1689, 9933, 3, 2, 2, 2, 1691, 9946, 3, 2, 2, 2, 1693, 9956, 3, 2, 2, 2, 1695, 9971, 3, 2, 2, 2, 1697, 9985, 3, 2, 2, 2, 1699, 9999, 3, 2, 2, 2, 1701, 10012, 3, 2, 2, 2, 1703, 10036, 3, 2, 2, 2, 1705, 10059, 3, 2, 2, 2, 1707, 10078, 3, 2, 2, 2, 1709, 10096, 3, 2, 2, 2, 1711, 10117, 3, 2, 2, 2, 1713, 10137, 3, 2, 2, 2, 1715, 10148, 3, 2, 2, 2, 1717, 10155, 3, 2, 2, 2, 1719, 10169, 3, 2, 2, 2, 1721, 10186, 3, 2, 2, 2, 1723, 10196, 3, 2, 2, 2, 1725, 10200, 3, 2, 2, 2, 1727, 10213, 3, 2, 2, 2, 1729, 10217, 3, 2, 2, 2, 1731, 10226, 3, 2, 2, 2, 1733, 10237, 3, 2, 2, 2, 1735, 10249, 3, 2, 2, 2, 1737, 10252, 3, 2, 2, 2, 1739, 10266, 3, 2, 2, 2, 1741, 10279, 3, 2, 2, 2, 1743, 10286, 3, 2, 2, 2, 1745, 10299, 3, 2, 2, 2, 1747, 10311, 3, 2, 2, 2, 1749, 10327, 3, 2, 2, 2, 1751, 10342, 3, 2, 2, 2, 1753, 10346, 3, 2, 2, 2, 1755, 10352, 3, 2, 2, 2, 1757, 10358, 3, 2, 2, 2, 1759, 10366, 3, 2, 2, 2, 1761, 10371, 3, 2, 2, 2, 1763, 10384, 3, 2, 2, 2, 1765, 10397, 3, 2, 2, 2, 1767, 10405, 3, 2, 2, 2, 1769, 10411, 3, 2, 2, 2, 1771, 10421, 3, 2, 2, 2, 1773, 10426, 3, 2, 2, 2, 1775, 10432, 3, 2, 2, 2, 1777, 10444, 3, 2, 2, 2, 1779, 10457, 3, 2, 2, 2, 1781, 10461, 3, 2, 2, 2, 1783, 10466, 3, 2, 2, 2, 1785, 10471, 3, 2, 2, 2, 1787, 10483, 3, 2, 2, 2, 1789, 10488, 3, 2, 2, 2, 1791, 10492, 3, 2, 2, 2, 1793, 10498, 3, 2, 2, 2, 1795, 10506, 3, 2, 2, 2, 1797, 10534, 3, 2, 2, 2, 1799, 10539, 3, 2, 2, 2, 1801, 10544, 3, 2, 2, 2, 1803, 10555, 3, 2, 2, 2, 1805, 10562, 3, 2, 2, 2, 1807, 10574, 3, 2, 2, 2, 1809, 10582, 3, 2, 2, 2, 1811, 10594, 3, 2, 2, 2, 1813, 10604, 3, 2, 2, 2, 1815, 10613, 3, 2, 2, 2, 1817, 10622, 3, 2, 2, 2, 1819, 10632, 3, 2, 2, 2, 1821, 10644, 3, 2, 2, 2, 1823, 10656, 3, 2, 2, 2, 1825, 10667, 3, 2, 2, 2, 1827, 10681, 3, 2, 2, 2, 1829, 10694, 3, 2, 2, 2, 1831, 10706, 3, 2, 2, 2, 1833, 10718, 3, 2, 2, 2, 1835, 10730, 3, 2, 2, 2, 1837, 10742, 3, 2, 2, 2, 1839, 10752, 3, 2, 2, 2, 1841, 10768, 3, 2, 2, 2, 1843, 10788, 3, 2, 2, 2, 1845, 10807, 3, 2, 2, 2, 1847, 10826, 3, 2, 2, 2, 1849, 10856, 3, 2, 2, 2, 1851, 10885, 3, 2, 2, 2, 1853, 10905, 3, 2, 2, 2, 1855, 10924, 3, 2, 2, 2, 1857, 10937, 3, 2, 2, 2, 1859, 10953, 3, 2, 2, 2, 1861, 10969, 3, 2, 2, 2, 1863, 10984, 3, 2, 2, 2, 1865, 11001, 3, 2, 2, 2, 1867, 11017, 3, 2, 2, 2, 1869, 11031, 3, 2, 2, 2, 1871, 11043, 3, 2, 2, 2, 1873, 11054, 3, 2, 2, 2, 1875, 11066, 3, 2, 2, 2, 1877, 11082, 3, 2, 2, 2, 1879, 11097, 3, 2, 2, 2, 1881, 11119, 3, 2, 2, 2, 1883, 11140, 3, 2, 2, 2, 1885, 11157, 3, 2, 2, 2, 1887, 11176, 3, 2, 2, 2, 1889, 11196, 3, 2, 2, 2, 1891, 11209, 3, 2, 2, 2, 1893, 11221, 3, 2, 2, 2, 1895, 11238, 3, 2, 2, 2, 1897, 11254, 3, 2, 2, 2, 1899, 11264, 3, 2, 2, 2, 1901, 11280, 3, 2, 2, 2, 1903, 11295, 3, 2, 2, 2, 1905, 11314, 3, 2, 2, 2, 1907, 11332, 3, 2, 2, 2, 1909, 11340, 3, 2, 2, 2, 1911, 11354, 3, 2, 2, 2, 1913, 11371, 3, 2, 2, 2, 1915, 11382, 3, 2, 2, 2, 1917, 11391, 3, 2, 2, 2, 1919, 11401, 3, 2, 2, 2, 1921, 11406, 3, 2, 2, 2, 1923, 11411, 3, 2, 2, 2, 1925, 11419, 3, 2, 2, 2, 1927, 11435, 3, 2, 2, 2, 1929, 11443, 3, 2, 2, 2, 1931, 11455, 3, 2, 2, 2, 1933, 11459, 3, 2, 2, 2, 1935, 11468, 3, 2, 2, 2, 1937, 11481, 3, 2, 2, 2, 1939, 11495, 3, 2, 2, 2, 1941, 11507, 3, 2, 2, 2, 1943, 11519, 3, 2, 2, 2, 1945, 11527, 3, 2, 2, 2, 1947, 11537, 3, 2, 2, 2, 1949, 11545, 3, 2, 2, 2, 1951, 11556, 3, 2, 2, 2, 1953, 11562, 3, 2, 2, 2, 1955, 11573, 3, 2, 2, 2, 1957, 11593, 3, 2, 2, 2, 1959, 11599, 3, 2, 2, 2, 1961, 11614, 3, 2, 2, 2, 1963, 11624, 3, 2, 2, 2, 1965, 11630, 3, 2, 2, 2, 1967, 11635, 3, 2, 2, 2, 1969, 11646, 3, 2, 2, 2, 1971, 11673, 3, 2, 2, 2, 1973, 11681, 3, 2, 2, 2, 1975, 11715, 3, 2, 2, 2, 1977, 11723, 3, 2, 2, 2, 1979, 11734, 3, 2, 2, 2, 1981, 11748, 3, 2, 2, 2, 1983, 11755, 3, 2, 2, 2, 1985, 11764, 3, 2, 2, 2, 1987, 11766, 3, 2, 2, 2, 1989, 11768, 3, 2, 2, 2, 1991, 11771, 3, 2, 2, 2, 1993, 11774, 3, 2, 2, 2, 1995, 11777, 3, 2, 2, 2, 1997, 11780, 3, 2, 2, 2, 1999, 11783, 3, 2, 2, 2, 2001, 11786, 3, 2, 2, 2, 2003, 11789, 3, 2, 2, 2, 2005, 11792, 3, 2, 2, 2, 2007, 11795, 3, 2, 2, 2, 2009, 11797, 3, 2, 2, 2, 2011, 11799, 3, 2, 2, 2, 2013, 11801, 3, 2, 2, 2, 2015, 11803, 3, 2, 2, 2, 2017, 11806, 3, 2, 2, 2, 2019, 11808, 3, 2, 2, 2, 2021, 11812, 3, 2, 2, 2, 2023, 11816, 3, 2, 2, 2, 2025, 11818, 3, 2, 2, 2, 2027, 11820, 3, 2, 2, 2, 2029, 11822, 3, 2, 2, 2, 2031, 11824, 3, 2, 2, 2, 2033, 11826, 3, 2, 2, 2, 2035, 11828, 3, 2, 2, 2, 2037, 11830, 3, 2, 2, 2, 2039, 11832, 3, 2, 2, 2, 2041, 11834, 3, 2, 2, 2, 2043, 11836, 3, 2, 2, 2, 2045, 11838, 3, 2, 2, 2, 2047, 11840, 3, 2, 2, 2, 2049, 11842, 3, 2, 2, 2, 2051, 11844, 3, 2, 2, 2, 2053, 11846, 3, 2, 2, 2, 2055, 11848, 3, 2, 2, 2, 2057, 11850, 3, 2, 2, 2, 2059, 11852, 3, 2, 2, 2, 2061, 11854, 3, 2, 2, 2, 2063, 11856, 3, 2, 2, 2, 2065, 11861, 3, 2, 2, 2, 2067, 11863, 3, 2, 2, 2, 2069, 11868, 3, 2, 2, 2, 2071, 11874, 3, 2, 2, 2, 2073, 11880, 3, 2, 2, 2, 2075, 11883, 3, 2, 2, 2, 2077, 11906, 3, 2, 2, 2, 2079, 11951, 3, 2, 2, 2, 2081, 11953, 3, 2, 2, 2, 2083, 11956, 3, 2, 2, 2, 2085, 11958, 3, 2, 2, 2, 2087, 11961, 3, 2, 2, 2, 2089, 11964, 3, 2, 2, 2, 2091, 11966, 3, 2, 2, 2, 2093, 11978, 3, 2, 2, 2, 2095, 11987, 3, 2, 2, 2, 2097, 11998, 3, 2, 2, 2, 2099, 12049, 3, 2, 2, 2, 2101, 12051, 3, 2, 2, 2, 2103, 12063, 3, 2, 2, 2, 2105, 12077, 3, 2, 2, 2, 2107, 12090, 3, 2, 2, 2, 2109, 12103, 3, 2, 2, 2, 2111, 12116, 3, 2, 2, 2, 2113, 12118, 3, 2, 2, 2, 2115, 12120, 3, 2, 2, 2, 2117, 12129, 3, 2, 2, 2, 2119, 2121, 9, 2, 2, 2, 2120, 2119, 3, 2, 2, 2, 2121, 2122, 3, 2, 2, 2, 2122, 2120, 3, 2, 2, 2, 2122, 2123, 3, 2, 2, 2, 2123, 2124, 3, 2, 2, 2, 2124, 2125, 8, 2, 2, 2, 2125, 4, 3, 2, 2, 2, 2126, 2127, 7, 49, 2, 2, 2127, 2128, 7, 44, 2, 2, 2128, 2129, 7, 35, 2, 2, 2129, 2131, 3, 2, 2, 2, 2130, 2132, 11, 2, 2, 2, 2131, 2130, 3, 2, 2, 2, 2132, 2133, 3, 2, 2, 2, 2133, 2134, 3, 2, 2, 2, 2133, 2131, 3, 2, 2, 2, 2134, 2135, 3, 2, 2, 2, 2135, 2136, 7, 44, 2, 2, 2136, 2137, 7, 49, 2, 2, 2137, 2138, 3, 2, 2, 2, 2138, 2139, 8, 3, 3, 2, 2139, 6, 3, 2, 2, 2, 2140, 2141, 7, 49, 2, 2, 2141, 2142, 7, 44, 2, 2, 2142, 2146, 3, 2, 2, 2, 2143, 2145, 11, 2, 2, 2, 2144, 2143, 3, 2, 2, 2, 2145, 2148, 3, 2, 2, 2, 2146, 2147, 3, 2, 2, 2, 2146, 2144, 3, 2, 2, 2, 2147, 2149, 3, 2, 2, 2, 2148, 2146, 3, 2, 2, 2, 2149, 2150, 7, 44, 2, 2, 2150, 2151, 7, 49, 2, 2, 2151, 2152, 3, 2, 2, 2, 2152, 2153, 8, 4, 2, 2, 2153, 8, 3, 2, 2, 2, 2154, 2155, 7, 47, 2, 2, 2155, 2156, 7, 47, 2, 2, 2156, 2159, 7, 34, 2, 2, 2157, 2159, 7, 37, 2, 2, 2158, 2154, 3, 2, 2, 2, 2158, 2157, 3, 2, 2, 2, 2159, 2163, 3, 2, 2, 2, 2160, 2162, 10, 3, 2, 2, 2161, 2160, 3, 2, 2, 2, 2162, 2165, 3, 2, 2, 2, 2163, 2161, 3, 2, 2, 2, 2163, 2164, 3, 2, 2, 2, 2164, 2171, 3, 2, 2, 2, 2165, 2163, 3, 2, 2, 2, 2166, 2168, 7, 15, 2, 2, 2167, 2166, 3, 2, 2, 2, 2167, 2168, 3, 2, 2, 2, 2168, 2169, 3, 2, 2, 2, 2169, 2172, 7, 12, 2, 2, 2170, 2172, 7, 2, 2, 3, 2171, 2167, 3, 2, 2, 2, 2171, 2170, 3, 2, 2, 2, 2172, 2184, 3, 2, 2, 2, 2173, 2174, 7, 47, 2, 2, 2174, 2175, 7, 47, 2, 2, 2175, 2181, 3, 2, 2, 2, 2176, 2178, 7, 15, 2, 2, 2177, 2176, 3, 2, 2, 2, 2177, 2178, 3, 2, 2, 2, 2178, 2179, 3, 2, 2, 2, 2179, 2182, 7, 12, 2, 2, 2180, 2182, 7, 2, 2, 3, 2181, 2177, 3, 2, 2, 2, 2181, 2180, 3, 2, 2, 2, 2182, 2184, 3, 2, 2, 2, 2183, 2158, 3, 2, 2, 2, 2183, 2173, 3, 2, 2, 2, 2184, 2185, 3, 2, 2, 2, 2185, 2186, 8, 5, 2, 2, 2186, 10, 3, 2, 2, 2, 2187, 2188, 7, 67, 2, 2, 2188, 2189, 7, 70, 2, 2, 2189, 2190, 7, 70, 2, 2, 2190, 12, 3, 2, 2, 2, 2191, 2192, 7, 67, 2, 2, 2192, 2193, 7, 78, 2, 2, 2193, 2194, 7, 78, 2, 2, 2194, 14, 3, 2, 2, 2, 2195, 2196, 7, 67, 2, 2, 2196, 2197, 7, 78, 2, 2, 2197, 2198, 7, 86, 2, 2, 2198, 2199, 7, 71, 2, 2, 2199, 2200, 7, 84, 2, 2, 2200, 16, 3, 2, 2, 2, 2201, 2202, 7, 67, 2, 2, 2202, 2203, 7, 78, 2, 2, 2203, 2204, 7, 89, 2, 2, 2204, 2205, 7, 67, 2, 2, 2205, 2206, 7, 91, 2, 2, 2206, 2207, 7, 85, 2, 2, 2207, 18, 3, 2, 2, 2, 2208, 2209, 7, 67, 2, 2, 2209, 2210, 7, 80, 2, 2, 2210, 2211, 7, 67, 2, 2, 2211, 2212, 7, 78, 2, 2, 2212, 2213, 7, 91, 2, 2, 2213, 2214, 7, 92, 2, 2, 2214, 2215, 7, 71, 2, 2, 2215, 20, 3, 2, 2, 2, 2216, 2217, 7, 67, 2, 2, 2217, 2218, 7, 80, 2, 2, 2218, 2219, 7, 70, 2, 2, 2219, 22, 3, 2, 2, 2, 2220, 2221, 7, 67, 2, 2, 2221, 2222, 7, 85, 2, 2, 2222, 24, 3, 2, 2, 2, 2223, 2224, 7, 67, 2, 2, 2224, 2225, 7, 85, 2, 2, 2225, 2226, 7, 69, 2, 2, 2226, 26, 3, 2, 2, 2, 2227, 2228, 7, 68, 2, 2, 2228, 2229, 7, 71, 2, 2, 2229, 2230, 7, 72, 2, 2, 2230, 2231, 7, 81, 2, 2, 2231, 2232, 7, 84, 2, 2, 2232, 2233, 7, 71, 2, 2, 2233, 28, 3, 2, 2, 2, 2234, 2235, 7, 68, 2, 2, 2235, 2236, 7, 71, 2, 2, 2236, 2237, 7, 86, 2, 2, 2237, 2238, 7, 89, 2, 2, 2238, 2239, 7, 71, 2, 2, 2239, 2240, 7, 71, 2, 2, 2240, 2241, 7, 80, 2, 2, 2241, 30, 3, 2, 2, 2, 2242, 2243, 7, 68, 2, 2, 2243, 2244, 7, 81, 2, 2, 2244, 2245, 7, 86, 2, 2, 2245, 2246, 7, 74, 2, 2, 2246, 32, 3, 2, 2, 2, 2247, 2248, 7, 68, 2, 2, 2248, 2249, 7, 91, 2, 2, 2249, 34, 3, 2, 2, 2, 2250, 2251, 7, 69, 2, 2, 2251, 2252, 7, 67, 2, 2, 2252, 2253, 7, 78, 2, 2, 2253, 2254, 7, 78, 2, 2, 2254, 36, 3, 2, 2, 2, 2255, 2256, 7, 69, 2, 2, 2256, 2257, 7, 67, 2, 2, 2257, 2258, 7, 85, 2, 2, 2258, 2259, 7, 69, 2, 2, 2259, 2260, 7, 67, 2, 2, 2260, 2261, 7, 70, 2, 2, 2261, 2262, 7, 71, 2, 2, 2262, 38, 3, 2, 2, 2, 2263, 2264, 7, 69, 2, 2, 2264, 2265, 7, 67, 2, 2, 2265, 2266, 7, 85, 2, 2, 2266, 2267, 7, 71, 2, 2, 2267, 40, 3, 2, 2, 2, 2268, 2269, 7, 69, 2, 2, 2269, 2270, 7, 67, 2, 2, 2270, 2271, 7, 85, 2, 2, 2271, 2272, 7, 86, 2, 2, 2272, 42, 3, 2, 2, 2, 2273, 2274, 7, 69, 2, 2, 2274, 2275, 7, 74, 2, 2, 2275, 2276, 7, 67, 2, 2, 2276, 2277, 7, 80, 2, 2, 2277, 2278, 7, 73, 2, 2, 2278, 2279, 7, 71, 2, 2, 2279, 44, 3, 2, 2, 2, 2280, 2281, 7, 69, 2, 2, 2281, 2282, 7, 74, 2, 2, 2282, 2283, 7, 67, 2, 2, 2283, 2284, 7, 84, 2, 2, 2284, 2285, 7, 67, 2, 2, 2285, 2286, 7, 69, 2, 2, 2286, 2287, 7, 86, 2, 2, 2287, 2288, 7, 71, 2, 2, 2288, 2289, 7, 84, 2, 2, 2289, 46, 3, 2, 2, 2, 2290, 2291, 7, 69, 2, 2, 2291, 2292, 7, 74, 2, 2, 2292, 2293, 7, 71, 2, 2, 2293, 2294, 7, 69, 2, 2, 2294, 2295, 7, 77, 2, 2, 2295, 48, 3, 2, 2, 2, 2296, 2297, 7, 69, 2, 2, 2297, 2298, 7, 81, 2, 2, 2298, 2299, 7, 78, 2, 2, 2299, 2300, 7, 78, 2, 2, 2300, 2301, 7, 67, 2, 2, 2301, 2302, 7, 86, 2, 2, 2302, 2303, 7, 71, 2, 2, 2303, 50, 3, 2, 2, 2, 2304, 2305, 7, 69, 2, 2, 2305, 2306, 7, 81, 2, 2, 2306, 2307, 7, 78, 2, 2, 2307, 2308, 7, 87, 2, 2, 2308, 2309, 7, 79, 2, 2, 2309, 2310, 7, 80, 2, 2, 2310, 52, 3, 2, 2, 2, 2311, 2312, 7, 69, 2, 2, 2312, 2313, 7, 81, 2, 2, 2313, 2314, 7, 80, 2, 2, 2314, 2315, 7, 70, 2, 2, 2315, 2316, 7, 75, 2, 2, 2316, 2317, 7, 86, 2, 2, 2317, 2318, 7, 75, 2, 2, 2318, 2319, 7, 81, 2, 2, 2319, 2320, 7, 80, 2, 2, 2320, 54, 3, 2, 2, 2, 2321, 2322, 7, 69, 2, 2, 2322, 2323, 7, 81, 2, 2, 2323, 2324, 7, 80, 2, 2, 2324, 2325, 7, 85, 2, 2, 2325, 2326, 7, 86, 2, 2, 2326, 2327, 7, 84, 2, 2, 2327, 2328, 7, 67, 2, 2, 2328, 2329, 7, 75, 2, 2, 2329, 2330, 7, 80, 2, 2, 2330, 2331, 7, 86, 2, 2, 2331, 56, 3, 2, 2, 2, 2332, 2333, 7, 69, 2, 2, 2333, 2334, 7, 81, 2, 2, 2334, 2335, 7, 80, 2, 2, 2335, 2336, 7, 86, 2, 2, 2336, 2337, 7, 75, 2, 2, 2337, 2338, 7, 80, 2, 2, 2338, 2339, 7, 87, 2, 2, 2339, 2340, 7, 71, 2, 2, 2340, 58, 3, 2, 2, 2, 2341, 2342, 7, 69, 2, 2, 2342, 2343, 7, 81, 2, 2, 2343, 2344, 7, 80, 2, 2, 2344, 2345, 7, 88, 2, 2, 2345, 2346, 7, 71, 2, 2, 2346, 2347, 7, 84, 2, 2, 2347, 2348, 7, 86, 2, 2, 2348, 60, 3, 2, 2, 2, 2349, 2350, 7, 69, 2, 2, 2350, 2351, 7, 84, 2, 2, 2351, 2352, 7, 71, 2, 2, 2352, 2353, 7, 67, 2, 2, 2353, 2354, 7, 86, 2, 2, 2354, 2355, 7, 71, 2, 2, 2355, 62, 3, 2, 2, 2, 2356, 2357, 7, 69, 2, 2, 2357, 2358, 7, 84, 2, 2, 2358, 2359, 7, 81, 2, 2, 2359, 2360, 7, 85, 2, 2, 2360, 2361, 7, 85, 2, 2, 2361, 64, 3, 2, 2, 2, 2362, 2363, 7, 69, 2, 2, 2363, 2364, 7, 87, 2, 2, 2364, 2365, 7, 84, 2, 2, 2365, 2366, 7, 84, 2, 2, 2366, 2367, 7, 71, 2, 2, 2367, 2368, 7, 80, 2, 2, 2368, 2369, 7, 86, 2, 2, 2369, 66, 3, 2, 2, 2, 2370, 2371, 7, 69, 2, 2, 2371, 2372, 7, 87, 2, 2, 2372, 2373, 7, 84, 2, 2, 2373, 2374, 7, 84, 2, 2, 2374, 2375, 7, 71, 2, 2, 2375, 2376, 7, 80, 2, 2, 2376, 2377, 7, 86, 2, 2, 2377, 2378, 7, 97, 2, 2, 2378, 2379, 7, 87, 2, 2, 2379, 2380, 7, 85, 2, 2, 2380, 2381, 7, 71, 2, 2, 2381, 2382, 7, 84, 2, 2, 2382, 68, 3, 2, 2, 2, 2383, 2384, 7, 69, 2, 2, 2384, 2385, 7, 87, 2, 2, 2385, 2386, 7, 84, 2, 2, 2386, 2387, 7, 85, 2, 2, 2387, 2388, 7, 81, 2, 2, 2388, 2389, 7, 84, 2, 2, 2389, 70, 3, 2, 2, 2, 2390, 2391, 7, 70, 2, 2, 2391, 2392, 7, 67, 2, 2, 2392, 2393, 7, 86, 2, 2, 2393, 2394, 7, 67, 2, 2, 2394, 2395, 7, 68, 2, 2, 2395, 2396, 7, 67, 2, 2, 2396, 2397, 7, 85, 2, 2, 2397, 2398, 7, 71, 2, 2, 2398, 72, 3, 2, 2, 2, 2399, 2400, 7, 70, 2, 2, 2400, 2401, 7, 67, 2, 2, 2401, 2402, 7, 86, 2, 2, 2402, 2403, 7, 67, 2, 2, 2403, 2404, 7, 68, 2, 2, 2404, 2405, 7, 67, 2, 2, 2405, 2406, 7, 85, 2, 2, 2406, 2407, 7, 71, 2, 2, 2407, 2408, 7, 85, 2, 2, 2408, 74, 3, 2, 2, 2, 2409, 2410, 7, 70, 2, 2, 2410, 2411, 7, 71, 2, 2, 2411, 2412, 7, 69, 2, 2, 2412, 2413, 7, 78, 2, 2, 2413, 2414, 7, 67, 2, 2, 2414, 2415, 7, 84, 2, 2, 2415, 2416, 7, 71, 2, 2, 2416, 76, 3, 2, 2, 2, 2417, 2418, 7, 70, 2, 2, 2418, 2419, 7, 71, 2, 2, 2419, 2420, 7, 72, 2, 2, 2420, 2421, 7, 67, 2, 2, 2421, 2422, 7, 87, 2, 2, 2422, 2423, 7, 78, 2, 2, 2423, 2424, 7, 86, 2, 2, 2424, 78, 3, 2, 2, 2, 2425, 2426, 7, 70, 2, 2, 2426, 2427, 7, 71, 2, 2, 2427, 2428, 7, 78, 2, 2, 2428, 2429, 7, 67, 2, 2, 2429, 2430, 7, 91, 2, 2, 2430, 2431, 7, 71, 2, 2, 2431, 2432, 7, 70, 2, 2, 2432, 80, 3, 2, 2, 2, 2433, 2434, 7, 70, 2, 2, 2434, 2435, 7, 71, 2, 2, 2435, 2436, 7, 78, 2, 2, 2436, 2437, 7, 71, 2, 2, 2437, 2438, 7, 86, 2, 2, 2438, 2439, 7, 71, 2, 2, 2439, 82, 3, 2, 2, 2, 2440, 2441, 7, 70, 2, 2, 2441, 2442, 7, 71, 2, 2, 2442, 2443, 7, 85, 2, 2, 2443, 2444, 7, 69, 2, 2, 2444, 84, 3, 2, 2, 2, 2445, 2446, 7, 70, 2, 2, 2446, 2447, 7, 71, 2, 2, 2447, 2448, 7, 85, 2, 2, 2448, 2449, 7, 69, 2, 2, 2449, 2450, 7, 84, 2, 2, 2450, 2451, 7, 75, 2, 2, 2451, 2452, 7, 68, 2, 2, 2452, 2453, 7, 71, 2, 2, 2453, 86, 3, 2, 2, 2, 2454, 2455, 7, 70, 2, 2, 2455, 2456, 7, 71, 2, 2, 2456, 2457, 7, 86, 2, 2, 2457, 2458, 7, 71, 2, 2, 2458, 2459, 7, 84, 2, 2, 2459, 2460, 7, 79, 2, 2, 2460, 2461, 7, 75, 2, 2, 2461, 2462, 7, 80, 2, 2, 2462, 2463, 7, 75, 2, 2, 2463, 2464, 7, 85, 2, 2, 2464, 2465, 7, 86, 2, 2, 2465, 2466, 7, 75, 2, 2, 2466, 2467, 7, 69, 2, 2, 2467, 88, 3, 2, 2, 2, 2468, 2469, 7, 70, 2, 2, 2469, 2470, 7, 75, 2, 2, 2470, 2471, 7, 67, 2, 2, 2471, 2472, 7, 73, 2, 2, 2472, 2473, 7, 80, 2, 2, 2473, 2474, 7, 81, 2, 2, 2474, 2475, 7, 85, 2, 2, 2475, 2476, 7, 86, 2, 2, 2476, 2477, 7, 75, 2, 2, 2477, 2478, 7, 69, 2, 2, 2478, 2479, 7, 85, 2, 2, 2479, 90, 3, 2, 2, 2, 2480, 2481, 7, 70, 2, 2, 2481, 2482, 7, 75, 2, 2, 2482, 2483, 7, 85, 2, 2, 2483, 2484, 7, 86, 2, 2, 2484, 2485, 7, 75, 2, 2, 2485, 2486, 7, 80, 2, 2, 2486, 2487, 7, 69, 2, 2, 2487, 2488, 7, 86, 2, 2, 2488, 92, 3, 2, 2, 2, 2489, 2490, 7, 70, 2, 2, 2490, 2491, 7, 75, 2, 2, 2491, 2492, 7, 85, 2, 2, 2492, 2493, 7, 86, 2, 2, 2493, 2494, 7, 75, 2, 2, 2494, 2495, 7, 80, 2, 2, 2495, 2496, 7, 69, 2, 2, 2496, 2497, 7, 86, 2, 2, 2497, 2498, 7, 84, 2, 2, 2498, 2499, 7, 81, 2, 2, 2499, 2500, 7, 89, 2, 2, 2500, 94, 3, 2, 2, 2, 2501, 2502, 7, 70, 2, 2, 2502, 2503, 7, 84, 2, 2, 2503, 2504, 7, 81, 2, 2, 2504, 2505, 7, 82, 2, 2, 2505, 96, 3, 2, 2, 2, 2506, 2507, 7, 71, 2, 2, 2507, 2508, 7, 67, 2, 2, 2508, 2509, 7, 69, 2, 2, 2509, 2510, 7, 74, 2, 2, 2510, 98, 3, 2, 2, 2, 2511, 2512, 7, 71, 2, 2, 2512, 2513, 7, 78, 2, 2, 2513, 2514, 7, 85, 2, 2, 2514, 2515, 7, 71, 2, 2, 2515, 100, 3, 2, 2, 2, 2516, 2517, 7, 71, 2, 2, 2517, 2518, 7, 78, 2, 2, 2518, 2519, 7, 85, 2, 2, 2519, 2520, 7, 71, 2, 2, 2520, 2521, 7, 75, 2, 2, 2521, 2522, 7, 72, 2, 2, 2522, 102, 3, 2, 2, 2, 2523, 2524, 7, 71, 2, 2, 2524, 2525, 7, 80, 2, 2, 2525, 2526, 7, 69, 2, 2, 2526, 2527, 7, 78, 2, 2, 2527, 2528, 7, 81, 2, 2, 2528, 2529, 7, 85, 2, 2, 2529, 2530, 7, 71, 2, 2, 2530, 2531, 7, 70, 2, 2, 2531, 104, 3, 2, 2, 2, 2532, 2533, 7, 71, 2, 2, 2533, 2534, 7, 85, 2, 2, 2534, 2535, 7, 69, 2, 2, 2535, 2536, 7, 67, 2, 2, 2536, 2537, 7, 82, 2, 2, 2537, 2538, 7, 71, 2, 2, 2538, 2539, 7, 70, 2, 2, 2539, 106, 3, 2, 2, 2, 2540, 2541, 7, 71, 2, 2, 2541, 2542, 7, 90, 2, 2, 2542, 2543, 7, 75, 2, 2, 2543, 2544, 7, 85, 2, 2, 2544, 2545, 7, 86, 2, 2, 2545, 2546, 7, 85, 2, 2, 2546, 108, 3, 2, 2, 2, 2547, 2548, 7, 71, 2, 2, 2548, 2549, 7, 90, 2, 2, 2549, 2550, 7, 75, 2, 2, 2550, 2551, 7, 86, 2, 2, 2551, 110, 3, 2, 2, 2, 2552, 2553, 7, 71, 2, 2, 2553, 2554, 7, 90, 2, 2, 2554, 2555, 7, 82, 2, 2, 2555, 2556, 7, 78, 2, 2, 2556, 2557, 7, 67, 2, 2, 2557, 2558, 7, 75, 2, 2, 2558, 2559, 7, 80, 2, 2, 2559, 112, 3, 2, 2, 2, 2560, 2561, 7, 72, 2, 2, 2561, 2562, 7, 67, 2, 2, 2562, 2563, 7, 78, 2, 2, 2563, 2564, 7, 85, 2, 2, 2564, 2565, 7, 71, 2, 2, 2565, 114, 3, 2, 2, 2, 2566, 2567, 7, 72, 2, 2, 2567, 2568, 7, 71, 2, 2, 2568, 2569, 7, 86, 2, 2, 2569, 2570, 7, 69, 2, 2, 2570, 2571, 7, 74, 2, 2, 2571, 116, 3, 2, 2, 2, 2572, 2573, 7, 72, 2, 2, 2573, 2574, 7, 81, 2, 2, 2574, 2575, 7, 84, 2, 2, 2575, 118, 3, 2, 2, 2, 2576, 2577, 7, 72, 2, 2, 2577, 2578, 7, 81, 2, 2, 2578, 2579, 7, 84, 2, 2, 2579, 2580, 7, 69, 2, 2, 2580, 2581, 7, 71, 2, 2, 2581, 120, 3, 2, 2, 2, 2582, 2583, 7, 72, 2, 2, 2583, 2584, 7, 81, 2, 2, 2584, 2585, 7, 84, 2, 2, 2585, 2586, 7, 71, 2, 2, 2586, 2587, 7, 75, 2, 2, 2587, 2588, 7, 73, 2, 2, 2588, 2589, 7, 80, 2, 2, 2589, 122, 3, 2, 2, 2, 2590, 2591, 7, 72, 2, 2, 2591, 2592, 7, 84, 2, 2, 2592, 2593, 7, 81, 2, 2, 2593, 2594, 7, 79, 2, 2, 2594, 124, 3, 2, 2, 2, 2595, 2596, 7, 72, 2, 2, 2596, 2597, 7, 87, 2, 2, 2597, 2598, 7, 78, 2, 2, 2598, 2599, 7, 78, 2, 2, 2599, 2600, 7, 86, 2, 2, 2600, 2601, 7, 71, 2, 2, 2601, 2602, 7, 90, 2, 2, 2602, 2603, 7, 86, 2, 2, 2603, 126, 3, 2, 2, 2, 2604, 2605, 7, 73, 2, 2, 2605, 2606, 7, 71, 2, 2, 2606, 2607, 7, 80, 2, 2, 2607, 2608, 7, 71, 2, 2, 2608, 2609, 7, 84, 2, 2, 2609, 2610, 7, 67, 2, 2, 2610, 2611, 7, 86, 2, 2, 2611, 2612, 7, 71, 2, 2, 2612, 2613, 7, 70, 2, 2, 2613, 128, 3, 2, 2, 2, 2614, 2615, 7, 73, 2, 2, 2615, 2616, 7, 71, 2, 2, 2616, 2617, 7, 86, 2, 2, 2617, 130, 3, 2, 2, 2, 2618, 2619, 7, 73, 2, 2, 2619, 2620, 7, 84, 2, 2, 2620, 2621, 7, 67, 2, 2, 2621, 2622, 7, 80, 2, 2, 2622, 2623, 7, 86, 2, 2, 2623, 132, 3, 2, 2, 2, 2624, 2625, 7, 73, 2, 2, 2625, 2626, 7, 84, 2, 2, 2626, 2627, 7, 81, 2, 2, 2627, 2628, 7, 87, 2, 2, 2628, 2629, 7, 82, 2, 2, 2629, 134, 3, 2, 2, 2, 2630, 2631, 7, 74, 2, 2, 2631, 2632, 7, 67, 2, 2, 2632, 2633, 7, 88, 2, 2, 2633, 2634, 7, 75, 2, 2, 2634, 2635, 7, 80, 2, 2, 2635, 2636, 7, 73, 2, 2, 2636, 136, 3, 2, 2, 2, 2637, 2638, 7, 74, 2, 2, 2638, 2639, 7, 75, 2, 2, 2639, 2640, 7, 73, 2, 2, 2640, 2641, 7, 74, 2, 2, 2641, 2642, 7, 97, 2, 2, 2642, 2643, 7, 82, 2, 2, 2643, 2644, 7, 84, 2, 2, 2644, 2645, 7, 75, 2, 2, 2645, 2646, 7, 81, 2, 2, 2646, 2647, 7, 84, 2, 2, 2647, 2648, 7, 75, 2, 2, 2648, 2649, 7, 86, 2, 2, 2649, 2650, 7, 91, 2, 2, 2650, 138, 3, 2, 2, 2, 2651, 2652, 7, 75, 2, 2, 2652, 2653, 7, 72, 2, 2, 2653, 140, 3, 2, 2, 2, 2654, 2655, 7, 75, 2, 2, 2655, 2656, 7, 73, 2, 2, 2656, 2657, 7, 80, 2, 2, 2657, 2658, 7, 81, 2, 2, 2658, 2659, 7, 84, 2, 2, 2659, 2660, 7, 71, 2, 2, 2660, 142, 3, 2, 2, 2, 2661, 2662, 7, 75, 2, 2, 2662, 2663, 7, 80, 2, 2, 2663, 144, 3, 2, 2, 2, 2664, 2665, 7, 75, 2, 2, 2665, 2666, 7, 80, 2, 2, 2666, 2667, 7, 70, 2, 2, 2667, 2668, 7, 71, 2, 2, 2668, 2669, 7, 90, 2, 2, 2669, 146, 3, 2, 2, 2, 2670, 2671, 7, 75, 2, 2, 2671, 2672, 7, 80, 2, 2, 2672, 2673, 7, 72, 2, 2, 2673, 2674, 7, 75, 2, 2, 2674, 2675, 7, 78, 2, 2, 2675, 2676, 7, 71, 2, 2, 2676, 148, 3, 2, 2, 2, 2677, 2678, 7, 75, 2, 2, 2678, 2679, 7, 80, 2, 2, 2679, 2680, 7, 80, 2, 2, 2680, 2681, 7, 71, 2, 2, 2681, 2682, 7, 84, 2, 2, 2682, 150, 3, 2, 2, 2, 2683, 2684, 7, 75, 2, 2, 2684, 2685, 7, 80, 2, 2, 2685, 2686, 7, 81, 2, 2, 2686, 2687, 7, 87, 2, 2, 2687, 2688, 7, 86, 2, 2, 2688, 152, 3, 2, 2, 2, 2689, 2690, 7, 75, 2, 2, 2690, 2691, 7, 80, 2, 2, 2691, 2692, 7, 85, 2, 2, 2692, 2693, 7, 71, 2, 2, 2693, 2694, 7, 84, 2, 2, 2694, 2695, 7, 86, 2, 2, 2695, 154, 3, 2, 2, 2, 2696, 2697, 7, 75, 2, 2, 2697, 2698, 7, 80, 2, 2, 2698, 2699, 7, 86, 2, 2, 2699, 2700, 7, 71, 2, 2, 2700, 2701, 7, 84, 2, 2, 2701, 2702, 7, 88, 2, 2, 2702, 2703, 7, 67, 2, 2, 2703, 2704, 7, 78, 2, 2, 2704, 156, 3, 2, 2, 2, 2705, 2706, 7, 75, 2, 2, 2706, 2707, 7, 80, 2, 2, 2707, 2708, 7, 86, 2, 2, 2708, 2709, 7, 81, 2, 2, 2709, 158, 3, 2, 2, 2, 2710, 2711, 7, 75, 2, 2, 2711, 2712, 7, 85, 2, 2, 2712, 160, 3, 2, 2, 2, 2713, 2714, 7, 75, 2, 2, 2714, 2715, 7, 86, 2, 2, 2715, 2716, 7, 71, 2, 2, 2716, 2717, 7, 84, 2, 2, 2717, 2718, 7, 67, 2, 2, 2718, 2719, 7, 86, 2, 2, 2719, 2720, 7, 71, 2, 2, 2720, 162, 3, 2, 2, 2, 2721, 2722, 7, 76, 2, 2, 2722, 2723, 7, 81, 2, 2, 2723, 2724, 7, 75, 2, 2, 2724, 2725, 7, 80, 2, 2, 2725, 164, 3, 2, 2, 2, 2726, 2727, 7, 77, 2, 2, 2727, 2728, 7, 71, 2, 2, 2728, 2729, 7, 91, 2, 2, 2729, 166, 3, 2, 2, 2, 2730, 2731, 7, 77, 2, 2, 2731, 2732, 7, 71, 2, 2, 2732, 2733, 7, 91, 2, 2, 2733, 2734, 7, 85, 2, 2, 2734, 168, 3, 2, 2, 2, 2735, 2736, 7, 77, 2, 2, 2736, 2737, 7, 75, 2, 2, 2737, 2738, 7, 78, 2, 2, 2738, 2739, 7, 78, 2, 2, 2739, 170, 3, 2, 2, 2, 2740, 2741, 7, 78, 2, 2, 2741, 2742, 7, 71, 2, 2, 2742, 2743, 7, 67, 2, 2, 2743, 2744, 7, 70, 2, 2, 2744, 2745, 7, 75, 2, 2, 2745, 2746, 7, 80, 2, 2, 2746, 2747, 7, 73, 2, 2, 2747, 172, 3, 2, 2, 2, 2748, 2749, 7, 78, 2, 2, 2749, 2750, 7, 71, 2, 2, 2750, 2751, 7, 67, 2, 2, 2751, 2752, 7, 88, 2, 2, 2752, 2753, 7, 71, 2, 2, 2753, 174, 3, 2, 2, 2, 2754, 2755, 7, 78, 2, 2, 2755, 2756, 7, 71, 2, 2, 2756, 2757, 7, 72, 2, 2, 2757, 2758, 7, 86, 2, 2, 2758, 176, 3, 2, 2, 2, 2759, 2760, 7, 78, 2, 2, 2760, 2761, 7, 75, 2, 2, 2761, 2762, 7, 77, 2, 2, 2762, 2763, 7, 71, 2, 2, 2763, 178, 3, 2, 2, 2, 2764, 2765, 7, 78, 2, 2, 2765, 2766, 7, 75, 2, 2, 2766, 2767, 7, 79, 2, 2, 2767, 2768, 7, 75, 2, 2, 2768, 2769, 7, 86, 2, 2, 2769, 180, 3, 2, 2, 2, 2770, 2771, 7, 78, 2, 2, 2771, 2772, 7, 75, 2, 2, 2772, 2773, 7, 80, 2, 2, 2773, 2774, 7, 71, 2, 2, 2774, 2775, 7, 67, 2, 2, 2775, 2776, 7, 84, 2, 2, 2776, 182, 3, 2, 2, 2, 2777, 2778, 7, 78, 2, 2, 2778, 2779, 7, 75, 2, 2, 2779, 2780, 7, 80, 2, 2, 2780, 2781, 7, 71, 2, 2, 2781, 2782, 7, 85, 2, 2, 2782, 184, 3, 2, 2, 2, 2783, 2784, 7, 78, 2, 2, 2784, 2785, 7, 81, 2, 2, 2785, 2786, 7, 67, 2, 2, 2786, 2787, 7, 70, 2, 2, 2787, 186, 3, 2, 2, 2, 2788, 2789, 7, 78, 2, 2, 2789, 2790, 7, 81, 2, 2, 2790, 2791, 7, 69, 2, 2, 2791, 2792, 7, 77, 2, 2, 2792, 188, 3, 2, 2, 2, 2793, 2794, 7, 78, 2, 2, 2794, 2795, 7, 81, 2, 2, 2795, 2796, 7, 81, 2, 2, 2796, 2797, 7, 82, 2, 2, 2797, 190, 3, 2, 2, 2, 2798, 2799, 7, 78, 2, 2, 2799, 2800, 7, 81, 2, 2, 2800, 2801, 7, 89, 2, 2, 2801, 2802, 7, 97, 2, 2, 2802, 2803, 7, 82, 2, 2, 2803, 2804, 7, 84, 2, 2, 2804, 2805, 7, 75, 2, 2, 2805, 2806, 7, 81, 2, 2, 2806, 2807, 7, 84, 2, 2, 2807, 2808, 7, 75, 2, 2, 2808, 2809, 7, 86, 2, 2, 2809, 2810, 7, 91, 2, 2, 2810, 192, 3, 2, 2, 2, 2811, 2812, 7, 79, 2, 2, 2812, 2813, 7, 67, 2, 2, 2813, 2814, 7, 85, 2, 2, 2814, 2815, 7, 86, 2, 2, 2815, 2816, 7, 71, 2, 2, 2816, 2817, 7, 84, 2, 2, 2817, 2818, 7, 97, 2, 2, 2818, 2819, 7, 68, 2, 2, 2819, 2820, 7, 75, 2, 2, 2820, 2821, 7, 80, 2, 2, 2821, 2822, 7, 70, 2, 2, 2822, 194, 3, 2, 2, 2, 2823, 2824, 7, 79, 2, 2, 2824, 2825, 7, 67, 2, 2, 2825, 2826, 7, 85, 2, 2, 2826, 2827, 7, 86, 2, 2, 2827, 2828, 7, 71, 2, 2, 2828, 2829, 7, 84, 2, 2, 2829, 2830, 7, 97, 2, 2, 2830, 2831, 7, 85, 2, 2, 2831, 2832, 7, 85, 2, 2, 2832, 2833, 7, 78, 2, 2, 2833, 2834, 7, 97, 2, 2, 2834, 2835, 7, 88, 2, 2, 2835, 2836, 7, 71, 2, 2, 2836, 2837, 7, 84, 2, 2, 2837, 2838, 7, 75, 2, 2, 2838, 2839, 7, 72, 2, 2, 2839, 2840, 7, 91, 2, 2, 2840, 2841, 7, 97, 2, 2, 2841, 2842, 7, 85, 2, 2, 2842, 2843, 7, 71, 2, 2, 2843, 2844, 7, 84, 2, 2, 2844, 2845, 7, 88, 2, 2, 2845, 2846, 7, 71, 2, 2, 2846, 2847, 7, 84, 2, 2, 2847, 2848, 7, 97, 2, 2, 2848, 2849, 7, 69, 2, 2, 2849, 2850, 7, 71, 2, 2, 2850, 2851, 7, 84, 2, 2, 2851, 2852, 7, 86, 2, 2, 2852, 196, 3, 2, 2, 2, 2853, 2854, 7, 79, 2, 2, 2854, 2855, 7, 67, 2, 2, 2855, 2856, 7, 86, 2, 2, 2856, 2857, 7, 69, 2, 2, 2857, 2858, 7, 74, 2, 2, 2858, 198, 3, 2, 2, 2, 2859, 2860, 7, 79, 2, 2, 2860, 2861, 7, 67, 2, 2, 2861, 2862, 7, 90, 2, 2, 2862, 2863, 7, 88, 2, 2, 2863, 2864, 7, 67, 2, 2, 2864, 2865, 7, 78, 2, 2, 2865, 2866, 7, 87, 2, 2, 2866, 2867, 7, 71, 2, 2, 2867, 200, 3, 2, 2, 2, 2868, 2869, 7, 79, 2, 2, 2869, 2870, 7, 81, 2, 2, 2870, 2871, 7, 70, 2, 2, 2871, 2872, 7, 75, 2, 2, 2872, 2873, 7, 72, 2, 2, 2873, 2874, 7, 75, 2, 2, 2874, 2875, 7, 71, 2, 2, 2875, 2876, 7, 85, 2, 2, 2876, 202, 3, 2, 2, 2, 2877, 2878, 7, 80, 2, 2, 2878, 2879, 7, 67, 2, 2, 2879, 2880, 7, 86, 2, 2, 2880, 2881, 7, 87, 2, 2, 2881, 2882, 7, 84, 2, 2, 2882, 2883, 7, 67, 2, 2, 2883, 2884, 7, 78, 2, 2, 2884, 204, 3, 2, 2, 2, 2885, 2886, 7, 80, 2, 2, 2886, 2887, 7, 81, 2, 2, 2887, 2888, 7, 86, 2, 2, 2888, 206, 3, 2, 2, 2, 2889, 2890, 7, 80, 2, 2, 2890, 2891, 7, 81, 2, 2, 2891, 2892, 7, 97, 2, 2, 2892, 2893, 7, 89, 2, 2, 2893, 2894, 7, 84, 2, 2, 2894, 2895, 7, 75, 2, 2, 2895, 2896, 7, 86, 2, 2, 2896, 2897, 7, 71, 2, 2, 2897, 2898, 7, 97, 2, 2, 2898, 2899, 7, 86, 2, 2, 2899, 2900, 7, 81, 2, 2, 2900, 2901, 7, 97, 2, 2, 2901, 2902, 7, 68, 2, 2, 2902, 2903, 7, 75, 2, 2, 2903, 2904, 7, 80, 2, 2, 2904, 2905, 7, 78, 2, 2, 2905, 2906, 7, 81, 2, 2, 2906, 2907, 7, 73, 2, 2, 2907, 208, 3, 2, 2, 2, 2908, 2909, 7, 80, 2, 2, 2909, 2910, 7, 87, 2, 2, 2910, 2911, 7, 78, 2, 2, 2911, 2912, 7, 78, 2, 2, 2912, 210, 3, 2, 2, 2, 2913, 2914, 7, 80, 2, 2, 2914, 2915, 7, 87, 2, 2, 2915, 2916, 7, 79, 2, 2, 2916, 2917, 7, 68, 2, 2, 2917, 2918, 7, 71, 2, 2, 2918, 2919, 7, 84, 2, 2, 2919, 212, 3, 2, 2, 2, 2920, 2921, 7, 81, 2, 2, 2921, 2922, 7, 80, 2, 2, 2922, 214, 3, 2, 2, 2, 2923, 2924, 7, 81, 2, 2, 2924, 2925, 7, 82, 2, 2, 2925, 2926, 7, 86, 2, 2, 2926, 2927, 7, 75, 2, 2, 2927, 2928, 7, 79, 2, 2, 2928, 2929, 7, 75, 2, 2, 2929, 2930, 7, 92, 2, 2, 2930, 2931, 7, 71, 2, 2, 2931, 216, 3, 2, 2, 2, 2932, 2933, 7, 81, 2, 2, 2933, 2934, 7, 82, 2, 2, 2934, 2935, 7, 86, 2, 2, 2935, 2936, 7, 75, 2, 2, 2936, 2937, 7, 81, 2, 2, 2937, 2938, 7, 80, 2, 2, 2938, 218, 3, 2, 2, 2, 2939, 2940, 7, 81, 2, 2, 2940, 2941, 7, 82, 2, 2, 2941, 2942, 7, 86, 2, 2, 2942, 2943, 7, 75, 2, 2, 2943, 2944, 7, 81, 2, 2, 2944, 2945, 7, 80, 2, 2, 2945, 2946, 7, 67, 2, 2, 2946, 2947, 7, 78, 2, 2, 2947, 2948, 7, 78, 2, 2, 2948, 2949, 7, 91, 2, 2, 2949, 220, 3, 2, 2, 2, 2950, 2951, 7, 81, 2, 2, 2951, 2952, 7, 84, 2, 2, 2952, 222, 3, 2, 2, 2, 2953, 2954, 7, 81, 2, 2, 2954, 2955, 7, 84, 2, 2, 2955, 2956, 7, 70, 2, 2, 2956, 2957, 7, 71, 2, 2, 2957, 2958, 7, 84, 2, 2, 2958, 224, 3, 2, 2, 2, 2959, 2960, 7, 81, 2, 2, 2960, 2961, 7, 87, 2, 2, 2961, 2962, 7, 86, 2, 2, 2962, 226, 3, 2, 2, 2, 2963, 2964, 7, 81, 2, 2, 2964, 2965, 7, 87, 2, 2, 2965, 2966, 7, 86, 2, 2, 2966, 2967, 7, 71, 2, 2, 2967, 2968, 7, 84, 2, 2, 2968, 228, 3, 2, 2, 2, 2969, 2970, 7, 81, 2, 2, 2970, 2971, 7, 87, 2, 2, 2971, 2972, 7, 86, 2, 2, 2972, 2973, 7, 72, 2, 2, 2973, 2974, 7, 75, 2, 2, 2974, 2975, 7, 78, 2, 2, 2975, 2976, 7, 71, 2, 2, 2976, 230, 3, 2, 2, 2, 2977, 2978, 7, 82, 2, 2, 2978, 2979, 7, 67, 2, 2, 2979, 2980, 7, 84, 2, 2, 2980, 2981, 7, 86, 2, 2, 2981, 2982, 7, 75, 2, 2, 2982, 2983, 7, 86, 2, 2, 2983, 2984, 7, 75, 2, 2, 2984, 2985, 7, 81, 2, 2, 2985, 2986, 7, 80, 2, 2, 2986, 232, 3, 2, 2, 2, 2987, 2988, 7, 82, 2, 2, 2988, 2989, 7, 84, 2, 2, 2989, 2990, 7, 75, 2, 2, 2990, 2991, 7, 79, 2, 2, 2991, 2992, 7, 67, 2, 2, 2992, 2993, 7, 84, 2, 2, 2993, 2994, 7, 91, 2, 2, 2994, 234, 3, 2, 2, 2, 2995, 2996, 7, 82, 2, 2, 2996, 2997, 7, 84, 2, 2, 2997, 2998, 7, 81, 2, 2, 2998, 2999, 7, 69, 2, 2, 2999, 3000, 7, 71, 2, 2, 3000, 3001, 7, 70, 2, 2, 3001, 3002, 7, 87, 2, 2, 3002, 3003, 7, 84, 2, 2, 3003, 3004, 7, 71, 2, 2, 3004, 236, 3, 2, 2, 2, 3005, 3006, 7, 82, 2, 2, 3006, 3007, 7, 87, 2, 2, 3007, 3008, 7, 84, 2, 2, 3008, 3009, 7, 73, 2, 2, 3009, 3010, 7, 71, 2, 2, 3010, 238, 3, 2, 2, 2, 3011, 3012, 7, 84, 2, 2, 3012, 3013, 7, 67, 2, 2, 3013, 3014, 7, 80, 2, 2, 3014, 3015, 7, 73, 2, 2, 3015, 3016, 7, 71, 2, 2, 3016, 240, 3, 2, 2, 2, 3017, 3018, 7, 84, 2, 2, 3018, 3019, 7, 71, 2, 2, 3019, 3020, 7, 67, 2, 2, 3020, 3021, 7, 70, 2, 2, 3021, 242, 3, 2, 2, 2, 3022, 3023, 7, 84, 2, 2, 3023, 3024, 7, 71, 2, 2, 3024, 3025, 7, 67, 2, 2, 3025, 3026, 7, 70, 2, 2, 3026, 3027, 7, 85, 2, 2, 3027, 244, 3, 2, 2, 2, 3028, 3029, 7, 84, 2, 2, 3029, 3030, 7, 71, 2, 2, 3030, 3031, 7, 72, 2, 2, 3031, 3032, 7, 71, 2, 2, 3032, 3033, 7, 84, 2, 2, 3033, 3034, 7, 71, 2, 2, 3034, 3035, 7, 80, 2, 2, 3035, 3036, 7, 69, 2, 2, 3036, 3037, 7, 71, 2, 2, 3037, 3038, 7, 85, 2, 2, 3038, 246, 3, 2, 2, 2, 3039, 3040, 7, 84, 2, 2, 3040, 3041, 7, 71, 2, 2, 3041, 3042, 7, 73, 2, 2, 3042, 3043, 7, 71, 2, 2, 3043, 3044, 7, 90, 2, 2, 3044, 3045, 7, 82, 2, 2, 3045, 248, 3, 2, 2, 2, 3046, 3047, 7, 84, 2, 2, 3047, 3048, 7, 71, 2, 2, 3048, 3049, 7, 78, 2, 2, 3049, 3050, 7, 71, 2, 2, 3050, 3051, 7, 67, 2, 2, 3051, 3052, 7, 85, 2, 2, 3052, 3053, 7, 71, 2, 2, 3053, 250, 3, 2, 2, 2, 3054, 3055, 7, 84, 2, 2, 3055, 3056, 7, 71, 2, 2, 3056, 3057, 7, 80, 2, 2, 3057, 3058, 7, 67, 2, 2, 3058, 3059, 7, 79, 2, 2, 3059, 3060, 7, 71, 2, 2, 3060, 252, 3, 2, 2, 2, 3061, 3062, 7, 84, 2, 2, 3062, 3063, 7, 71, 2, 2, 3063, 3064, 7, 82, 2, 2, 3064, 3065, 7, 71, 2, 2, 3065, 3066, 7, 67, 2, 2, 3066, 3067, 7, 86, 2, 2, 3067, 254, 3, 2, 2, 2, 3068, 3069, 7, 84, 2, 2, 3069, 3070, 7, 71, 2, 2, 3070, 3071, 7, 82, 2, 2, 3071, 3072, 7, 78, 2, 2, 3072, 3073, 7, 67, 2, 2, 3073, 3074, 7, 69, 2, 2, 3074, 3075, 7, 71, 2, 2, 3075, 256, 3, 2, 2, 2, 3076, 3077, 7, 84, 2, 2, 3077, 3078, 7, 71, 2, 2, 3078, 3079, 7, 83, 2, 2, 3079, 3080, 7, 87, 2, 2, 3080, 3081, 7, 75, 2, 2, 3081, 3082, 7, 84, 2, 2, 3082, 3083, 7, 71, 2, 2, 3083, 258, 3, 2, 2, 2, 3084, 3085, 7, 84, 2, 2, 3085, 3086, 7, 71, 2, 2, 3086, 3087, 7, 85, 2, 2, 3087, 3088, 7, 75, 2, 2, 3088, 3089, 7, 73, 2, 2, 3089, 3090, 7, 80, 2, 2, 3090, 3091, 7, 67, 2, 2, 3091, 3092, 7, 78, 2, 2, 3092, 260, 3, 2, 2, 2, 3093, 3094, 7, 84, 2, 2, 3094, 3095, 7, 71, 2, 2, 3095, 3096, 7, 85, 2, 2, 3096, 3097, 7, 86, 2, 2, 3097, 3098, 7, 84, 2, 2, 3098, 3099, 7, 75, 2, 2, 3099, 3100, 7, 69, 2, 2, 3100, 3101, 7, 86, 2, 2, 3101, 262, 3, 2, 2, 2, 3102, 3103, 7, 84, 2, 2, 3103, 3104, 7, 71, 2, 2, 3104, 3105, 7, 86, 2, 2, 3105, 3106, 7, 87, 2, 2, 3106, 3107, 7, 84, 2, 2, 3107, 3108, 7, 80, 2, 2, 3108, 264, 3, 2, 2, 2, 3109, 3110, 7, 84, 2, 2, 3110, 3111, 7, 71, 2, 2, 3111, 3112, 7, 88, 2, 2, 3112, 3113, 7, 81, 2, 2, 3113, 3114, 7, 77, 2, 2, 3114, 3115, 7, 71, 2, 2, 3115, 266, 3, 2, 2, 2, 3116, 3117, 7, 84, 2, 2, 3117, 3118, 7, 75, 2, 2, 3118, 3119, 7, 73, 2, 2, 3119, 3120, 7, 74, 2, 2, 3120, 3121, 7, 86, 2, 2, 3121, 268, 3, 2, 2, 2, 3122, 3123, 7, 84, 2, 2, 3123, 3124, 7, 78, 2, 2, 3124, 3125, 7, 75, 2, 2, 3125, 3126, 7, 77, 2, 2, 3126, 3127, 7, 71, 2, 2, 3127, 270, 3, 2, 2, 2, 3128, 3129, 7, 85, 2, 2, 3129, 3130, 7, 69, 2, 2, 3130, 3131, 7, 74, 2, 2, 3131, 3132, 7, 71, 2, 2, 3132, 3133, 7, 79, 2, 2, 3133, 3134, 7, 67, 2, 2, 3134, 272, 3, 2, 2, 2, 3135, 3136, 7, 85, 2, 2, 3136, 3137, 7, 69, 2, 2, 3137, 3138, 7, 74, 2, 2, 3138, 3139, 7, 71, 2, 2, 3139, 3140, 7, 79, 2, 2, 3140, 3141, 7, 67, 2, 2, 3141, 3142, 7, 85, 2, 2, 3142, 274, 3, 2, 2, 2, 3143, 3144, 7, 85, 2, 2, 3144, 3145, 7, 71, 2, 2, 3145, 3146, 7, 78, 2, 2, 3146, 3147, 7, 71, 2, 2, 3147, 3148, 7, 69, 2, 2, 3148, 3149, 7, 86, 2, 2, 3149, 276, 3, 2, 2, 2, 3150, 3151, 7, 85, 2, 2, 3151, 3152, 7, 71, 2, 2, 3152, 3153, 7, 86, 2, 2, 3153, 278, 3, 2, 2, 2, 3154, 3155, 7, 85, 2, 2, 3155, 3156, 7, 71, 2, 2, 3156, 3157, 7, 82, 2, 2, 3157, 3158, 7, 67, 2, 2, 3158, 3159, 7, 84, 2, 2, 3159, 3160, 7, 67, 2, 2, 3160, 3161, 7, 86, 2, 2, 3161, 3162, 7, 81, 2, 2, 3162, 3163, 7, 84, 2, 2, 3163, 280, 3, 2, 2, 2, 3164, 3165, 7, 85, 2, 2, 3165, 3166, 7, 74, 2, 2, 3166, 3167, 7, 81, 2, 2, 3167, 3168, 7, 89, 2, 2, 3168, 282, 3, 2, 2, 2, 3169, 3170, 7, 85, 2, 2, 3170, 3171, 7, 75, 2, 2, 3171, 3172, 7, 73, 2, 2, 3172, 3173, 7, 80, 2, 2, 3173, 3174, 7, 67, 2, 2, 3174, 3175, 7, 78, 2, 2, 3175, 284, 3, 2, 2, 2, 3176, 3177, 7, 85, 2, 2, 3177, 3178, 7, 82, 2, 2, 3178, 3179, 7, 67, 2, 2, 3179, 3180, 7, 86, 2, 2, 3180, 3181, 7, 75, 2, 2, 3181, 3182, 7, 67, 2, 2, 3182, 3183, 7, 78, 2, 2, 3183, 286, 3, 2, 2, 2, 3184, 3185, 7, 85, 2, 2, 3185, 3186, 7, 83, 2, 2, 3186, 3187, 7, 78, 2, 2, 3187, 288, 3, 2, 2, 2, 3188, 3189, 7, 85, 2, 2, 3189, 3190, 7, 83, 2, 2, 3190, 3191, 7, 78, 2, 2, 3191, 3192, 7, 71, 2, 2, 3192, 3193, 7, 90, 2, 2, 3193, 3194, 7, 69, 2, 2, 3194, 3195, 7, 71, 2, 2, 3195, 3196, 7, 82, 2, 2, 3196, 3197, 7, 86, 2, 2, 3197, 3198, 7, 75, 2, 2, 3198, 3199, 7, 81, 2, 2, 3199, 3200, 7, 80, 2, 2, 3200, 290, 3, 2, 2, 2, 3201, 3202, 7, 85, 2, 2, 3202, 3203, 7, 83, 2, 2, 3203, 3204, 7, 78, 2, 2, 3204, 3205, 7, 85, 2, 2, 3205, 3206, 7, 86, 2, 2, 3206, 3207, 7, 67, 2, 2, 3207, 3208, 7, 86, 2, 2, 3208, 3209, 7, 71, 2, 2, 3209, 292, 3, 2, 2, 2, 3210, 3211, 7, 85, 2, 2, 3211, 3212, 7, 83, 2, 2, 3212, 3213, 7, 78, 2, 2, 3213, 3214, 7, 89, 2, 2, 3214, 3215, 7, 67, 2, 2, 3215, 3216, 7, 84, 2, 2, 3216, 3217, 7, 80, 2, 2, 3217, 3218, 7, 75, 2, 2, 3218, 3219, 7, 80, 2, 2, 3219, 3220, 7, 73, 2, 2, 3220, 294, 3, 2, 2, 2, 3221, 3222, 7, 85, 2, 2, 3222, 3223, 7, 83, 2, 2, 3223, 3224, 7, 78, 2, 2, 3224, 3225, 7, 97, 2, 2, 3225, 3226, 7, 68, 2, 2, 3226, 3227, 7, 75, 2, 2, 3227, 3228, 7, 73, 2, 2, 3228, 3229, 7, 97, 2, 2, 3229, 3230, 7, 84, 2, 2, 3230, 3231, 7, 71, 2, 2, 3231, 3232, 7, 85, 2, 2, 3232, 3233, 7, 87, 2, 2, 3233, 3234, 7, 78, 2, 2, 3234, 3235, 7, 86, 2, 2, 3235, 296, 3, 2, 2, 2, 3236, 3237, 7, 85, 2, 2, 3237, 3238, 7, 83, 2, 2, 3238, 3239, 7, 78, 2, 2, 3239, 3240, 7, 97, 2, 2, 3240, 3241, 7, 69, 2, 2, 3241, 3242, 7, 67, 2, 2, 3242, 3243, 7, 78, 2, 2, 3243, 3244, 7, 69, 2, 2, 3244, 3245, 7, 97, 2, 2, 3245, 3246, 7, 72, 2, 2, 3246, 3247, 7, 81, 2, 2, 3247, 3248, 7, 87, 2, 2, 3248, 3249, 7, 80, 2, 2, 3249, 3250, 7, 70, 2, 2, 3250, 3251, 7, 97, 2, 2, 3251, 3252, 7, 84, 2, 2, 3252, 3253, 7, 81, 2, 2, 3253, 3254, 7, 89, 2, 2, 3254, 3255, 7, 85, 2, 2, 3255, 298, 3, 2, 2, 2, 3256, 3257, 7, 85, 2, 2, 3257, 3258, 7, 83, 2, 2, 3258, 3259, 7, 78, 2, 2, 3259, 3260, 7, 97, 2, 2, 3260, 3261, 7, 85, 2, 2, 3261, 3262, 7, 79, 2, 2, 3262, 3263, 7, 67, 2, 2, 3263, 3264, 7, 78, 2, 2, 3264, 3265, 7, 78, 2, 2, 3265, 3266, 7, 97, 2, 2, 3266, 3267, 7, 84, 2, 2, 3267, 3268, 7, 71, 2, 2, 3268, 3269, 7, 85, 2, 2, 3269, 3270, 7, 87, 2, 2, 3270, 3271, 7, 78, 2, 2, 3271, 3272, 7, 86, 2, 2, 3272, 300, 3, 2, 2, 2, 3273, 3274, 7, 85, 2, 2, 3274, 3275, 7, 85, 2, 2, 3275, 3276, 7, 78, 2, 2, 3276, 302, 3, 2, 2, 2, 3277, 3278, 7, 85, 2, 2, 3278, 3279, 7, 86, 2, 2, 3279, 3280, 7, 67, 2, 2, 3280, 3281, 7, 69, 2, 2, 3281, 3282, 7, 77, 2, 2, 3282, 3283, 7, 71, 2, 2, 3283, 3284, 7, 70, 2, 2, 3284, 304, 3, 2, 2, 2, 3285, 3286, 7, 85, 2, 2, 3286, 3287, 7, 86, 2, 2, 3287, 3288, 7, 67, 2, 2, 3288, 3289, 7, 84, 2, 2, 3289, 3290, 7, 86, 2, 2, 3290, 3291, 7, 75, 2, 2, 3291, 3292, 7, 80, 2, 2, 3292, 3293, 7, 73, 2, 2, 3293, 306, 3, 2, 2, 2, 3294, 3295, 7, 85, 2, 2, 3295, 3296, 7, 86, 2, 2, 3296, 3297, 7, 84, 2, 2, 3297, 3298, 7, 67, 2, 2, 3298, 3299, 7, 75, 2, 2, 3299, 3300, 7, 73, 2, 2, 3300, 3301, 7, 74, 2, 2, 3301, 3302, 7, 86, 2, 2, 3302, 3303, 7, 97, 2, 2, 3303, 3304, 7, 76, 2, 2, 3304, 3305, 7, 81, 2, 2, 3305, 3306, 7, 75, 2, 2, 3306, 3307, 7, 80, 2, 2, 3307, 308, 3, 2, 2, 2, 3308, 3309, 7, 86, 2, 2, 3309, 3310, 7, 67, 2, 2, 3310, 3311, 7, 68, 2, 2, 3311, 3312, 7, 78, 2, 2, 3312, 3313, 7, 71, 2, 2, 3313, 310, 3, 2, 2, 2, 3314, 3315, 7, 86, 2, 2, 3315, 3316, 7, 71, 2, 2, 3316, 3317, 7, 84, 2, 2, 3317, 3318, 7, 79, 2, 2, 3318, 3319, 7, 75, 2, 2, 3319, 3320, 7, 80, 2, 2, 3320, 3321, 7, 67, 2, 2, 3321, 3322, 7, 86, 2, 2, 3322, 3323, 7, 71, 2, 2, 3323, 3324, 7, 70, 2, 2, 3324, 312, 3, 2, 2, 2, 3325, 3326, 7, 86, 2, 2, 3326, 3327, 7, 74, 2, 2, 3327, 3328, 7, 71, 2, 2, 3328, 3329, 7, 80, 2, 2, 3329, 314, 3, 2, 2, 2, 3330, 3331, 7, 86, 2, 2, 3331, 3332, 7, 81, 2, 2, 3332, 316, 3, 2, 2, 2, 3333, 3334, 7, 86, 2, 2, 3334, 3335, 7, 84, 2, 2, 3335, 3336, 7, 67, 2, 2, 3336, 3337, 7, 75, 2, 2, 3337, 3338, 7, 78, 2, 2, 3338, 3339, 7, 75, 2, 2, 3339, 3340, 7, 80, 2, 2, 3340, 3341, 7, 73, 2, 2, 3341, 318, 3, 2, 2, 2, 3342, 3343, 7, 86, 2, 2, 3343, 3344, 7, 84, 2, 2, 3344, 3345, 7, 75, 2, 2, 3345, 3346, 7, 73, 2, 2, 3346, 3347, 7, 73, 2, 2, 3347, 3348, 7, 71, 2, 2, 3348, 3349, 7, 84, 2, 2, 3349, 320, 3, 2, 2, 2, 3350, 3351, 7, 86, 2, 2, 3351, 3352, 7, 84, 2, 2, 3352, 3353, 7, 87, 2, 2, 3353, 3354, 7, 71, 2, 2, 3354, 322, 3, 2, 2, 2, 3355, 3356, 7, 87, 2, 2, 3356, 3357, 7, 80, 2, 2, 3357, 3358, 7, 70, 2, 2, 3358, 3359, 7, 81, 2, 2, 3359, 324, 3, 2, 2, 2, 3360, 3361, 7, 87, 2, 2, 3361, 3362, 7, 80, 2, 2, 3362, 3363, 7, 75, 2, 2, 3363, 3364, 7, 81, 2, 2, 3364, 3365, 7, 80, 2, 2, 3365, 326, 3, 2, 2, 2, 3366, 3367, 7, 87, 2, 2, 3367, 3368, 7, 80, 2, 2, 3368, 3369, 7, 75, 2, 2, 3369, 3370, 7, 83, 2, 2, 3370, 3371, 7, 87, 2, 2, 3371, 3372, 7, 71, 2, 2, 3372, 328, 3, 2, 2, 2, 3373, 3374, 7, 87, 2, 2, 3374, 3375, 7, 80, 2, 2, 3375, 3376, 7, 78, 2, 2, 3376, 3377, 7, 81, 2, 2, 3377, 3378, 7, 69, 2, 2, 3378, 3379, 7, 77, 2, 2, 3379, 330, 3, 2, 2, 2, 3380, 3381, 7, 87, 2, 2, 3381, 3382, 7, 80, 2, 2, 3382, 3383, 7, 85, 2, 2, 3383, 3384, 7, 75, 2, 2, 3384, 3385, 7, 73, 2, 2, 3385, 3386, 7, 80, 2, 2, 3386, 3387, 7, 71, 2, 2, 3387, 3388, 7, 70, 2, 2, 3388, 332, 3, 2, 2, 2, 3389, 3390, 7, 87, 2, 2, 3390, 3391, 7, 82, 2, 2, 3391, 3392, 7, 70, 2, 2, 3392, 3393, 7, 67, 2, 2, 3393, 3394, 7, 86, 2, 2, 3394, 3395, 7, 71, 2, 2, 3395, 334, 3, 2, 2, 2, 3396, 3397, 7, 87, 2, 2, 3397, 3398, 7, 85, 2, 2, 3398, 3399, 7, 67, 2, 2, 3399, 3400, 7, 73, 2, 2, 3400, 3401, 7, 71, 2, 2, 3401, 336, 3, 2, 2, 2, 3402, 3403, 7, 87, 2, 2, 3403, 3404, 7, 85, 2, 2, 3404, 3405, 7, 71, 2, 2, 3405, 338, 3, 2, 2, 2, 3406, 3407, 7, 87, 2, 2, 3407, 3408, 7, 85, 2, 2, 3408, 3409, 7, 75, 2, 2, 3409, 3410, 7, 80, 2, 2, 3410, 3411, 7, 73, 2, 2, 3411, 340, 3, 2, 2, 2, 3412, 3413, 7, 88, 2, 2, 3413, 3414, 7, 67, 2, 2, 3414, 3415, 7, 78, 2, 2, 3415, 3416, 7, 87, 2, 2, 3416, 3417, 7, 71, 2, 2, 3417, 3418, 7, 85, 2, 2, 3418, 342, 3, 2, 2, 2, 3419, 3420, 7, 89, 2, 2, 3420, 3421, 7, 74, 2, 2, 3421, 3422, 7, 71, 2, 2, 3422, 3423, 7, 80, 2, 2, 3423, 344, 3, 2, 2, 2, 3424, 3425, 7, 89, 2, 2, 3425, 3426, 7, 74, 2, 2, 3426, 3427, 7, 71, 2, 2, 3427, 3428, 7, 84, 2, 2, 3428, 3429, 7, 71, 2, 2, 3429, 346, 3, 2, 2, 2, 3430, 3431, 7, 89, 2, 2, 3431, 3432, 7, 74, 2, 2, 3432, 3433, 7, 75, 2, 2, 3433, 3434, 7, 78, 2, 2, 3434, 3435, 7, 71, 2, 2, 3435, 348, 3, 2, 2, 2, 3436, 3437, 7, 89, 2, 2, 3437, 3438, 7, 75, 2, 2, 3438, 3439, 7, 86, 2, 2, 3439, 3440, 7, 74, 2, 2, 3440, 350, 3, 2, 2, 2, 3441, 3442, 7, 89, 2, 2, 3442, 3443, 7, 84, 2, 2, 3443, 3444, 7, 75, 2, 2, 3444, 3445, 7, 86, 2, 2, 3445, 3446, 7, 71, 2, 2, 3446, 352, 3, 2, 2, 2, 3447, 3448, 7, 90, 2, 2, 3448, 3449, 7, 81, 2, 2, 3449, 3450, 7, 84, 2, 2, 3450, 354, 3, 2, 2, 2, 3451, 3452, 7, 92, 2, 2, 3452, 3453, 7, 71, 2, 2, 3453, 3454, 7, 84, 2, 2, 3454, 3455, 7, 81, 2, 2, 3455, 3456, 7, 72, 2, 2, 3456, 3457, 7, 75, 2, 2, 3457, 3458, 7, 78, 2, 2, 3458, 3459, 7, 78, 2, 2, 3459, 356, 3, 2, 2, 2, 3460, 3461, 7, 86, 2, 2, 3461, 3462, 7, 75, 2, 2, 3462, 3463, 7, 80, 2, 2, 3463, 3464, 7, 91, 2, 2, 3464, 3465, 7, 75, 2, 2, 3465, 3466, 7, 80, 2, 2, 3466, 3467, 7, 86, 2, 2, 3467, 358, 3, 2, 2, 2, 3468, 3469, 7, 85, 2, 2, 3469, 3470, 7, 79, 2, 2, 3470, 3471, 7, 67, 2, 2, 3471, 3472, 7, 78, 2, 2, 3472, 3473, 7, 78, 2, 2, 3473, 3474, 7, 75, 2, 2, 3474, 3475, 7, 80, 2, 2, 3475, 3476, 7, 86, 2, 2, 3476, 360, 3, 2, 2, 2, 3477, 3478, 7, 79, 2, 2, 3478, 3479, 7, 71, 2, 2, 3479, 3480, 7, 70, 2, 2, 3480, 3481, 7, 75, 2, 2, 3481, 3482, 7, 87, 2, 2, 3482, 3483, 7, 79, 2, 2, 3483, 3484, 7, 75, 2, 2, 3484, 3485, 7, 80, 2, 2, 3485, 3486, 7, 86, 2, 2, 3486, 362, 3, 2, 2, 2, 3487, 3488, 7, 79, 2, 2, 3488, 3489, 7, 75, 2, 2, 3489, 3490, 7, 70, 2, 2, 3490, 3491, 7, 70, 2, 2, 3491, 3492, 7, 78, 2, 2, 3492, 3493, 7, 71, 2, 2, 3493, 3494, 7, 75, 2, 2, 3494, 3495, 7, 80, 2, 2, 3495, 3496, 7, 86, 2, 2, 3496, 364, 3, 2, 2, 2, 3497, 3498, 7, 75, 2, 2, 3498, 3499, 7, 80, 2, 2, 3499, 3500, 7, 86, 2, 2, 3500, 366, 3, 2, 2, 2, 3501, 3502, 7, 75, 2, 2, 3502, 3503, 7, 80, 2, 2, 3503, 3504, 7, 86, 2, 2, 3504, 3505, 7, 51, 2, 2, 3505, 368, 3, 2, 2, 2, 3506, 3507, 7, 75, 2, 2, 3507, 3508, 7, 80, 2, 2, 3508, 3509, 7, 86, 2, 2, 3509, 3510, 7, 52, 2, 2, 3510, 370, 3, 2, 2, 2, 3511, 3512, 7, 75, 2, 2, 3512, 3513, 7, 80, 2, 2, 3513, 3514, 7, 86, 2, 2, 3514, 3515, 7, 53, 2, 2, 3515, 372, 3, 2, 2, 2, 3516, 3517, 7, 75, 2, 2, 3517, 3518, 7, 80, 2, 2, 3518, 3519, 7, 86, 2, 2, 3519, 3520, 7, 54, 2, 2, 3520, 374, 3, 2, 2, 2, 3521, 3522, 7, 75, 2, 2, 3522, 3523, 7, 80, 2, 2, 3523, 3524, 7, 86, 2, 2, 3524, 3525, 7, 58, 2, 2, 3525, 376, 3, 2, 2, 2, 3526, 3527, 7, 75, 2, 2, 3527, 3528, 7, 80, 2, 2, 3528, 3529, 7, 86, 2, 2, 3529, 3530, 7, 71, 2, 2, 3530, 3531, 7, 73, 2, 2, 3531, 3532, 7, 71, 2, 2, 3532, 3533, 7, 84, 2, 2, 3533, 378, 3, 2, 2, 2, 3534, 3535, 7, 68, 2, 2, 3535, 3536, 7, 75, 2, 2, 3536, 3537, 7, 73, 2, 2, 3537, 3538, 7, 75, 2, 2, 3538, 3539, 7, 80, 2, 2, 3539, 3540, 7, 86, 2, 2, 3540, 380, 3, 2, 2, 2, 3541, 3542, 7, 84, 2, 2, 3542, 3543, 7, 71, 2, 2, 3543, 3544, 7, 67, 2, 2, 3544, 3545, 7, 78, 2, 2, 3545, 382, 3, 2, 2, 2, 3546, 3547, 7, 70, 2, 2, 3547, 3548, 7, 81, 2, 2, 3548, 3549, 7, 87, 2, 2, 3549, 3550, 7, 68, 2, 2, 3550, 3551, 7, 78, 2, 2, 3551, 3552, 7, 71, 2, 2, 3552, 384, 3, 2, 2, 2, 3553, 3554, 7, 82, 2, 2, 3554, 3555, 7, 84, 2, 2, 3555, 3556, 7, 71, 2, 2, 3556, 3557, 7, 69, 2, 2, 3557, 3558, 7, 75, 2, 2, 3558, 3559, 7, 85, 2, 2, 3559, 3560, 7, 75, 2, 2, 3560, 3561, 7, 81, 2, 2, 3561, 3562, 7, 80, 2, 2, 3562, 386, 3, 2, 2, 2, 3563, 3564, 7, 72, 2, 2, 3564, 3565, 7, 78, 2, 2, 3565, 3566, 7, 81, 2, 2, 3566, 3567, 7, 67, 2, 2, 3567, 3568, 7, 86, 2, 2, 3568, 388, 3, 2, 2, 2, 3569, 3570, 7, 72, 2, 2, 3570, 3571, 7, 78, 2, 2, 3571, 3572, 7, 81, 2, 2, 3572, 3573, 7, 67, 2, 2, 3573, 3574, 7, 86, 2, 2, 3574, 3575, 7, 54, 2, 2, 3575, 390, 3, 2, 2, 2, 3576, 3577, 7, 72, 2, 2, 3577, 3578, 7, 78, 2, 2, 3578, 3579, 7, 81, 2, 2, 3579, 3580, 7, 67, 2, 2, 3580, 3581, 7, 86, 2, 2, 3581, 3582, 7, 58, 2, 2, 3582, 392, 3, 2, 2, 2, 3583, 3584, 7, 70, 2, 2, 3584, 3585, 7, 71, 2, 2, 3585, 3586, 7, 69, 2, 2, 3586, 3587, 7, 75, 2, 2, 3587, 3588, 7, 79, 2, 2, 3588, 3589, 7, 67, 2, 2, 3589, 3590, 7, 78, 2, 2, 3590, 394, 3, 2, 2, 2, 3591, 3592, 7, 70, 2, 2, 3592, 3593, 7, 71, 2, 2, 3593, 3594, 7, 69, 2, 2, 3594, 396, 3, 2, 2, 2, 3595, 3596, 7, 80, 2, 2, 3596, 3597, 7, 87, 2, 2, 3597, 3598, 7, 79, 2, 2, 3598, 3599, 7, 71, 2, 2, 3599, 3600, 7, 84, 2, 2, 3600, 3601, 7, 75, 2, 2, 3601, 3602, 7, 69, 2, 2, 3602, 398, 3, 2, 2, 2, 3603, 3604, 7, 70, 2, 2, 3604, 3605, 7, 67, 2, 2, 3605, 3606, 7, 86, 2, 2, 3606, 3607, 7, 71, 2, 2, 3607, 400, 3, 2, 2, 2, 3608, 3609, 7, 86, 2, 2, 3609, 3610, 7, 75, 2, 2, 3610, 3611, 7, 79, 2, 2, 3611, 3612, 7, 71, 2, 2, 3612, 402, 3, 2, 2, 2, 3613, 3614, 7, 86, 2, 2, 3614, 3615, 7, 75, 2, 2, 3615, 3616, 7, 79, 2, 2, 3616, 3617, 7, 71, 2, 2, 3617, 3618, 7, 85, 2, 2, 3618, 3619, 7, 86, 2, 2, 3619, 3620, 7, 67, 2, 2, 3620, 3621, 7, 79, 2, 2, 3621, 3622, 7, 82, 2, 2, 3622, 404, 3, 2, 2, 2, 3623, 3624, 7, 70, 2, 2, 3624, 3625, 7, 67, 2, 2, 3625, 3626, 7, 86, 2, 2, 3626, 3627, 7, 71, 2, 2, 3627, 3628, 7, 86, 2, 2, 3628, 3629, 7, 75, 2, 2, 3629, 3630, 7, 79, 2, 2, 3630, 3631, 7, 71, 2, 2, 3631, 406, 3, 2, 2, 2, 3632, 3633, 7, 91, 2, 2, 3633, 3634, 7, 71, 2, 2, 3634, 3635, 7, 67, 2, 2, 3635, 3636, 7, 84, 2, 2, 3636, 408, 3, 2, 2, 2, 3637, 3638, 7, 69, 2, 2, 3638, 3639, 7, 74, 2, 2, 3639, 3640, 7, 67, 2, 2, 3640, 3641, 7, 84, 2, 2, 3641, 410, 3, 2, 2, 2, 3642, 3643, 7, 88, 2, 2, 3643, 3644, 7, 67, 2, 2, 3644, 3645, 7, 84, 2, 2, 3645, 3646, 7, 69, 2, 2, 3646, 3647, 7, 74, 2, 2, 3647, 3648, 7, 67, 2, 2, 3648, 3649, 7, 84, 2, 2, 3649, 412, 3, 2, 2, 2, 3650, 3651, 7, 80, 2, 2, 3651, 3652, 7, 88, 2, 2, 3652, 3653, 7, 67, 2, 2, 3653, 3654, 7, 84, 2, 2, 3654, 3655, 7, 69, 2, 2, 3655, 3656, 7, 74, 2, 2, 3656, 3657, 7, 67, 2, 2, 3657, 3658, 7, 84, 2, 2, 3658, 414, 3, 2, 2, 2, 3659, 3660, 7, 80, 2, 2, 3660, 3661, 7, 67, 2, 2, 3661, 3662, 7, 86, 2, 2, 3662, 3663, 7, 75, 2, 2, 3663, 3664, 7, 81, 2, 2, 3664, 3665, 7, 80, 2, 2, 3665, 3666, 7, 67, 2, 2, 3666, 3667, 7, 78, 2, 2, 3667, 416, 3, 2, 2, 2, 3668, 3669, 7, 68, 2, 2, 3669, 3670, 7, 75, 2, 2, 3670, 3671, 7, 80, 2, 2, 3671, 3672, 7, 67, 2, 2, 3672, 3673, 7, 84, 2, 2, 3673, 3674, 7, 91, 2, 2, 3674, 418, 3, 2, 2, 2, 3675, 3676, 7, 88, 2, 2, 3676, 3677, 7, 67, 2, 2, 3677, 3678, 7, 84, 2, 2, 3678, 3679, 7, 68, 2, 2, 3679, 3680, 7, 75, 2, 2, 3680, 3681, 7, 80, 2, 2, 3681, 3682, 7, 67, 2, 2, 3682, 3683, 7, 84, 2, 2, 3683, 3684, 7, 91, 2, 2, 3684, 420, 3, 2, 2, 2, 3685, 3686, 7, 86, 2, 2, 3686, 3687, 7, 75, 2, 2, 3687, 3688, 7, 80, 2, 2, 3688, 3689, 7, 91, 2, 2, 3689, 3690, 7, 68, 2, 2, 3690, 3691, 7, 78, 2, 2, 3691, 3692, 7, 81, 2, 2, 3692, 3693, 7, 68, 2, 2, 3693, 422, 3, 2, 2, 2, 3694, 3695, 7, 68, 2, 2, 3695, 3696, 7, 78, 2, 2, 3696, 3697, 7, 81, 2, 2, 3697, 3698, 7, 68, 2, 2, 3698, 424, 3, 2, 2, 2, 3699, 3700, 7, 79, 2, 2, 3700, 3701, 7, 71, 2, 2, 3701, 3702, 7, 70, 2, 2, 3702, 3703, 7, 75, 2, 2, 3703, 3704, 7, 87, 2, 2, 3704, 3705, 7, 79, 2, 2, 3705, 3706, 7, 68, 2, 2, 3706, 3707, 7, 78, 2, 2, 3707, 3708, 7, 81, 2, 2, 3708, 3709, 7, 68, 2, 2, 3709, 426, 3, 2, 2, 2, 3710, 3711, 7, 78, 2, 2, 3711, 3712, 7, 81, 2, 2, 3712, 3713, 7, 80, 2, 2, 3713, 3714, 7, 73, 2, 2, 3714, 428, 3, 2, 2, 2, 3715, 3716, 7, 78, 2, 2, 3716, 3717, 7, 81, 2, 2, 3717, 3718, 7, 80, 2, 2, 3718, 3719, 7, 73, 2, 2, 3719, 3720, 7, 68, 2, 2, 3720, 3721, 7, 78, 2, 2, 3721, 3722, 7, 81, 2, 2, 3722, 3723, 7, 68, 2, 2, 3723, 430, 3, 2, 2, 2, 3724, 3725, 7, 86, 2, 2, 3725, 3726, 7, 75, 2, 2, 3726, 3727, 7, 80, 2, 2, 3727, 3728, 7, 91, 2, 2, 3728, 3729, 7, 86, 2, 2, 3729, 3730, 7, 71, 2, 2, 3730, 3731, 7, 90, 2, 2, 3731, 3732, 7, 86, 2, 2, 3732, 432, 3, 2, 2, 2, 3733, 3734, 7, 86, 2, 2, 3734, 3735, 7, 71, 2, 2, 3735, 3736, 7, 90, 2, 2, 3736, 3737, 7, 86, 2, 2, 3737, 434, 3, 2, 2, 2, 3738, 3739, 7, 79, 2, 2, 3739, 3740, 7, 71, 2, 2, 3740, 3741, 7, 70, 2, 2, 3741, 3742, 7, 75, 2, 2, 3742, 3743, 7, 87, 2, 2, 3743, 3744, 7, 79, 2, 2, 3744, 3745, 7, 86, 2, 2, 3745, 3746, 7, 71, 2, 2, 3746, 3747, 7, 90, 2, 2, 3747, 3748, 7, 86, 2, 2, 3748, 436, 3, 2, 2, 2, 3749, 3750, 7, 78, 2, 2, 3750, 3751, 7, 81, 2, 2, 3751, 3752, 7, 80, 2, 2, 3752, 3753, 7, 73, 2, 2, 3753, 3754, 7, 86, 2, 2, 3754, 3755, 7, 71, 2, 2, 3755, 3756, 7, 90, 2, 2, 3756, 3757, 7, 86, 2, 2, 3757, 438, 3, 2, 2, 2, 3758, 3759, 7, 71, 2, 2, 3759, 3760, 7, 80, 2, 2, 3760, 3761, 7, 87, 2, 2, 3761, 3762, 7, 79, 2, 2, 3762, 440, 3, 2, 2, 2, 3763, 3764, 7, 88, 2, 2, 3764, 3765, 7, 67, 2, 2, 3765, 3766, 7, 84, 2, 2, 3766, 3767, 7, 91, 2, 2, 3767, 3768, 7, 75, 2, 2, 3768, 3769, 7, 80, 2, 2, 3769, 3770, 7, 73, 2, 2, 3770, 442, 3, 2, 2, 2, 3771, 3772, 7, 85, 2, 2, 3772, 3773, 7, 71, 2, 2, 3773, 3774, 7, 84, 2, 2, 3774, 3775, 7, 75, 2, 2, 3775, 3776, 7, 67, 2, 2, 3776, 3777, 7, 78, 2, 2, 3777, 444, 3, 2, 2, 2, 3778, 3779, 7, 91, 2, 2, 3779, 3780, 7, 71, 2, 2, 3780, 3781, 7, 67, 2, 2, 3781, 3782, 7, 84, 2, 2, 3782, 3783, 7, 97, 2, 2, 3783, 3784, 7, 79, 2, 2, 3784, 3785, 7, 81, 2, 2, 3785, 3786, 7, 80, 2, 2, 3786, 3787, 7, 86, 2, 2, 3787, 3788, 7, 74, 2, 2, 3788, 446, 3, 2, 2, 2, 3789, 3790, 7, 70, 2, 2, 3790, 3791, 7, 67, 2, 2, 3791, 3792, 7, 91, 2, 2, 3792, 3793, 7, 97, 2, 2, 3793, 3794, 7, 74, 2, 2, 3794, 3795, 7, 81, 2, 2, 3795, 3796, 7, 87, 2, 2, 3796, 3797, 7, 84, 2, 2, 3797, 448, 3, 2, 2, 2, 3798, 3799, 7, 70, 2, 2, 3799, 3800, 7, 67, 2, 2, 3800, 3801, 7, 91, 2, 2, 3801, 3802, 7, 97, 2, 2, 3802, 3803, 7, 79, 2, 2, 3803, 3804, 7, 75, 2, 2, 3804, 3805, 7, 80, 2, 2, 3805, 3806, 7, 87, 2, 2, 3806, 3807, 7, 86, 2, 2, 3807, 3808, 7, 71, 2, 2, 3808, 450, 3, 2, 2, 2, 3809, 3810, 7, 70, 2, 2, 3810, 3811, 7, 67, 2, 2, 3811, 3812, 7, 91, 2, 2, 3812, 3813, 7, 97, 2, 2, 3813, 3814, 7, 85, 2, 2, 3814, 3815, 7, 71, 2, 2, 3815, 3816, 7, 69, 2, 2, 3816, 3817, 7, 81, 2, 2, 3817, 3818, 7, 80, 2, 2, 3818, 3819, 7, 70, 2, 2, 3819, 452, 3, 2, 2, 2, 3820, 3821, 7, 74, 2, 2, 3821, 3822, 7, 81, 2, 2, 3822, 3823, 7, 87, 2, 2, 3823, 3824, 7, 84, 2, 2, 3824, 3825, 7, 97, 2, 2, 3825, 3826, 7, 79, 2, 2, 3826, 3827, 7, 75, 2, 2, 3827, 3828, 7, 80, 2, 2, 3828, 3829, 7, 87, 2, 2, 3829, 3830, 7, 86, 2, 2, 3830, 3831, 7, 71, 2, 2, 3831, 454, 3, 2, 2, 2, 3832, 3833, 7, 74, 2, 2, 3833, 3834, 7, 81, 2, 2, 3834, 3835, 7, 87, 2, 2, 3835, 3836, 7, 84, 2, 2, 3836, 3837, 7, 97, 2, 2, 3837, 3838, 7, 85, 2, 2, 3838, 3839, 7, 71, 2, 2, 3839, 3840, 7, 69, 2, 2, 3840, 3841, 7, 81, 2, 2, 3841, 3842, 7, 80, 2, 2, 3842, 3843, 7, 70, 2, 2, 3843, 456, 3, 2, 2, 2, 3844, 3845, 7, 79, 2, 2, 3845, 3846, 7, 75, 2, 2, 3846, 3847, 7, 80, 2, 2, 3847, 3848, 7, 87, 2, 2, 3848, 3849, 7, 86, 2, 2, 3849, 3850, 7, 71, 2, 2, 3850, 3851, 7, 97, 2, 2, 3851, 3852, 7, 85, 2, 2, 3852, 3853, 7, 71, 2, 2, 3853, 3854, 7, 69, 2, 2, 3854, 3855, 7, 81, 2, 2, 3855, 3856, 7, 80, 2, 2, 3856, 3857, 7, 70, 2, 2, 3857, 458, 3, 2, 2, 2, 3858, 3859, 7, 85, 2, 2, 3859, 3860, 7, 71, 2, 2, 3860, 3861, 7, 69, 2, 2, 3861, 3862, 7, 81, 2, 2, 3862, 3863, 7, 80, 2, 2, 3863, 3864, 7, 70, 2, 2, 3864, 3865, 7, 97, 2, 2, 3865, 3866, 7, 79, 2, 2, 3866, 3867, 7, 75, 2, 2, 3867, 3868, 7, 69, 2, 2, 3868, 3869, 7, 84, 2, 2, 3869, 3870, 7, 81, 2, 2, 3870, 3871, 7, 85, 2, 2, 3871, 3872, 7, 71, 2, 2, 3872, 3873, 7, 69, 2, 2, 3873, 3874, 7, 81, 2, 2, 3874, 3875, 7, 80, 2, 2, 3875, 3876, 7, 70, 2, 2, 3876, 460, 3, 2, 2, 2, 3877, 3878, 7, 79, 2, 2, 3878, 3879, 7, 75, 2, 2, 3879, 3880, 7, 80, 2, 2, 3880, 3881, 7, 87, 2, 2, 3881, 3882, 7, 86, 2, 2, 3882, 3883, 7, 71, 2, 2, 3883, 3884, 7, 97, 2, 2, 3884, 3885, 7, 79, 2, 2, 3885, 3886, 7, 75, 2, 2, 3886, 3887, 7, 69, 2, 2, 3887, 3888, 7, 84, 2, 2, 3888, 3889, 7, 81, 2, 2, 3889, 3890, 7, 85, 2, 2, 3890, 3891, 7, 71, 2, 2, 3891, 3892, 7, 69, 2, 2, 3892, 3893, 7, 81, 2, 2, 3893, 3894, 7, 80, 2, 2, 3894, 3895, 7, 70, 2, 2, 3895, 462, 3, 2, 2, 2, 3896, 3897, 7, 74, 2, 2, 3897, 3898, 7, 81, 2, 2, 3898, 3899, 7, 87, 2, 2, 3899, 3900, 7, 84, 2, 2, 3900, 3901, 7, 97, 2, 2, 3901, 3902, 7, 79, 2, 2, 3902, 3903, 7, 75, 2, 2, 3903, 3904, 7, 69, 2, 2, 3904, 3905, 7, 84, 2, 2, 3905, 3906, 7, 81, 2, 2, 3906, 3907, 7, 85, 2, 2, 3907, 3908, 7, 71, 2, 2, 3908, 3909, 7, 69, 2, 2, 3909, 3910, 7, 81, 2, 2, 3910, 3911, 7, 80, 2, 2, 3911, 3912, 7, 70, 2, 2, 3912, 464, 3, 2, 2, 2, 3913, 3914, 7, 70, 2, 2, 3914, 3915, 7, 67, 2, 2, 3915, 3916, 7, 91, 2, 2, 3916, 3917, 7, 97, 2, 2, 3917, 3918, 7, 79, 2, 2, 3918, 3919, 7, 75, 2, 2, 3919, 3920, 7, 69, 2, 2, 3920, 3921, 7, 84, 2, 2, 3921, 3922, 7, 81, 2, 2, 3922, 3923, 7, 85, 2, 2, 3923, 3924, 7, 71, 2, 2, 3924, 3925, 7, 69, 2, 2, 3925, 3926, 7, 81, 2, 2, 3926, 3927, 7, 80, 2, 2, 3927, 3928, 7, 70, 2, 2, 3928, 466, 3, 2, 2, 2, 3929, 3930, 7, 76, 2, 2, 3930, 3931, 7, 85, 2, 2, 3931, 3932, 7, 81, 2, 2, 3932, 3933, 7, 80, 2, 2, 3933, 3934, 7, 97, 2, 2, 3934, 3935, 7, 88, 2, 2, 3935, 3936, 7, 67, 2, 2, 3936, 3937, 7, 78, 2, 2, 3937, 3938, 7, 75, 2, 2, 3938, 3939, 7, 70, 2, 2, 3939, 468, 3, 2, 2, 2, 3940, 3941, 7, 76, 2, 2, 3941, 3942, 7, 85, 2, 2, 3942, 3943, 7, 81, 2, 2, 3943, 3944, 7, 80, 2, 2, 3944, 3945, 7, 97, 2, 2, 3945, 3946, 7, 85, 2, 2, 3946, 3947, 7, 69, 2, 2, 3947, 3948, 7, 74, 2, 2, 3948, 3949, 7, 71, 2, 2, 3949, 3950, 7, 79, 2, 2, 3950, 3951, 7, 67, 2, 2, 3951, 3952, 7, 97, 2, 2, 3952, 3953, 7, 88, 2, 2, 3953, 3954, 7, 67, 2, 2, 3954, 3955, 7, 78, 2, 2, 3955, 3956, 7, 75, 2, 2, 3956, 3957, 7, 70, 2, 2, 3957, 470, 3, 2, 2, 2, 3958, 3959, 7, 67, 2, 2, 3959, 3960, 7, 88, 2, 2, 3960, 3961, 7, 73, 2, 2, 3961, 472, 3, 2, 2, 2, 3962, 3963, 7, 68, 2, 2, 3963, 3964, 7, 75, 2, 2, 3964, 3965, 7, 86, 2, 2, 3965, 3966, 7, 97, 2, 2, 3966, 3967, 7, 67, 2, 2, 3967, 3968, 7, 80, 2, 2, 3968, 3969, 7, 70, 2, 2, 3969, 474, 3, 2, 2, 2, 3970, 3971, 7, 68, 2, 2, 3971, 3972, 7, 75, 2, 2, 3972, 3973, 7, 86, 2, 2, 3973, 3974, 7, 97, 2, 2, 3974, 3975, 7, 81, 2, 2, 3975, 3976, 7, 84, 2, 2, 3976, 476, 3, 2, 2, 2, 3977, 3978, 7, 68, 2, 2, 3978, 3979, 7, 75, 2, 2, 3979, 3980, 7, 86, 2, 2, 3980, 3981, 7, 97, 2, 2, 3981, 3982, 7, 90, 2, 2, 3982, 3983, 7, 81, 2, 2, 3983, 3984, 7, 84, 2, 2, 3984, 478, 3, 2, 2, 2, 3985, 3986, 7, 69, 2, 2, 3986, 3987, 7, 81, 2, 2, 3987, 3988, 7, 87, 2, 2, 3988, 3989, 7, 80, 2, 2, 3989, 3990, 7, 86, 2, 2, 3990, 480, 3, 2, 2, 2, 3991, 3992, 7, 73, 2, 2, 3992, 3993, 7, 84, 2, 2, 3993, 3994, 7, 81, 2, 2, 3994, 3995, 7, 87, 2, 2, 3995, 3996, 7, 82, 2, 2, 3996, 3997, 7, 97, 2, 2, 3997, 3998, 7, 69, 2, 2, 3998, 3999, 7, 81, 2, 2, 3999, 4000, 7, 80, 2, 2, 4000, 4001, 7, 69, 2, 2, 4001, 4002, 7, 67, 2, 2, 4002, 4003, 7, 86, 2, 2, 4003, 482, 3, 2, 2, 2, 4004, 4005, 7, 79, 2, 2, 4005, 4006, 7, 67, 2, 2, 4006, 4007, 7, 90, 2, 2, 4007, 484, 3, 2, 2, 2, 4008, 4009, 7, 79, 2, 2, 4009, 4010, 7, 75, 2, 2, 4010, 4011, 7, 80, 2, 2, 4011, 486, 3, 2, 2, 2, 4012, 4013, 7, 85, 2, 2, 4013, 4014, 7, 86, 2, 2, 4014, 4015, 7, 70, 2, 2, 4015, 488, 3, 2, 2, 2, 4016, 4017, 7, 85, 2, 2, 4017, 4018, 7, 86, 2, 2, 4018, 4019, 7, 70, 2, 2, 4019, 4020, 7, 70, 2, 2, 4020, 4021, 7, 71, 2, 2, 4021, 4022, 7, 88, 2, 2, 4022, 490, 3, 2, 2, 2, 4023, 4024, 7, 85, 2, 2, 4024, 4025, 7, 86, 2, 2, 4025, 4026, 7, 70, 2, 2, 4026, 4027, 7, 70, 2, 2, 4027, 4028, 7, 71, 2, 2, 4028, 4029, 7, 88, 2, 2, 4029, 4030, 7, 97, 2, 2, 4030, 4031, 7, 82, 2, 2, 4031, 4032, 7, 81, 2, 2, 4032, 4033, 7, 82, 2, 2, 4033, 492, 3, 2, 2, 2, 4034, 4035, 7, 85, 2, 2, 4035, 4036, 7, 86, 2, 2, 4036, 4037, 7, 70, 2, 2, 4037, 4038, 7, 70, 2, 2, 4038, 4039, 7, 71, 2, 2, 4039, 4040, 7, 88, 2, 2, 4040, 4041, 7, 97, 2, 2, 4041, 4042, 7, 85, 2, 2, 4042, 4043, 7, 67, 2, 2, 4043, 4044, 7, 79, 2, 2, 4044, 4045, 7, 82, 2, 2, 4045, 494, 3, 2, 2, 2, 4046, 4047, 7, 85, 2, 2, 4047, 4048, 7, 87, 2, 2, 4048, 4049, 7, 79, 2, 2, 4049, 496, 3, 2, 2, 2, 4050, 4051, 7, 88, 2, 2, 4051, 4052, 7, 67, 2, 2, 4052, 4053, 7, 84, 2, 2, 4053, 4054, 7, 97, 2, 2, 4054, 4055, 7, 82, 2, 2, 4055, 4056, 7, 81, 2, 2, 4056, 4057, 7, 82, 2, 2, 4057, 498, 3, 2, 2, 2, 4058, 4059, 7, 88, 2, 2, 4059, 4060, 7, 67, 2, 2, 4060, 4061, 7, 84, 2, 2, 4061, 4062, 7, 97, 2, 2, 4062, 4063, 7, 85, 2, 2, 4063, 4064, 7, 67, 2, 2, 4064, 4065, 7, 79, 2, 2, 4065, 4066, 7, 82, 2, 2, 4066, 500, 3, 2, 2, 2, 4067, 4068, 7, 88, 2, 2, 4068, 4069, 7, 67, 2, 2, 4069, 4070, 7, 84, 2, 2, 4070, 4071, 7, 75, 2, 2, 4071, 4072, 7, 67, 2, 2, 4072, 4073, 7, 80, 2, 2, 4073, 4074, 7, 69, 2, 2, 4074, 4075, 7, 71, 2, 2, 4075, 502, 3, 2, 2, 2, 4076, 4077, 7, 69, 2, 2, 4077, 4078, 7, 87, 2, 2, 4078, 4079, 7, 84, 2, 2, 4079, 4080, 7, 84, 2, 2, 4080, 4081, 7, 71, 2, 2, 4081, 4082, 7, 80, 2, 2, 4082, 4083, 7, 86, 2, 2, 4083, 4084, 7, 97, 2, 2, 4084, 4085, 7, 70, 2, 2, 4085, 4086, 7, 67, 2, 2, 4086, 4087, 7, 86, 2, 2, 4087, 4088, 7, 71, 2, 2, 4088, 504, 3, 2, 2, 2, 4089, 4090, 7, 69, 2, 2, 4090, 4091, 7, 87, 2, 2, 4091, 4092, 7, 84, 2, 2, 4092, 4093, 7, 84, 2, 2, 4093, 4094, 7, 71, 2, 2, 4094, 4095, 7, 80, 2, 2, 4095, 4096, 7, 86, 2, 2, 4096, 4097, 7, 97, 2, 2, 4097, 4098, 7, 86, 2, 2, 4098, 4099, 7, 75, 2, 2, 4099, 4100, 7, 79, 2, 2, 4100, 4101, 7, 71, 2, 2, 4101, 506, 3, 2, 2, 2, 4102, 4103, 7, 69, 2, 2, 4103, 4104, 7, 87, 2, 2, 4104, 4105, 7, 84, 2, 2, 4105, 4106, 7, 84, 2, 2, 4106, 4107, 7, 71, 2, 2, 4107, 4108, 7, 80, 2, 2, 4108, 4109, 7, 86, 2, 2, 4109, 4110, 7, 97, 2, 2, 4110, 4111, 7, 86, 2, 2, 4111, 4112, 7, 75, 2, 2, 4112, 4113, 7, 79, 2, 2, 4113, 4114, 7, 71, 2, 2, 4114, 4115, 7, 85, 2, 2, 4115, 4116, 7, 86, 2, 2, 4116, 4117, 7, 67, 2, 2, 4117, 4118, 7, 79, 2, 2, 4118, 4119, 7, 82, 2, 2, 4119, 508, 3, 2, 2, 2, 4120, 4121, 7, 78, 2, 2, 4121, 4122, 7, 81, 2, 2, 4122, 4123, 7, 69, 2, 2, 4123, 4124, 7, 67, 2, 2, 4124, 4125, 7, 78, 2, 2, 4125, 4126, 7, 86, 2, 2, 4126, 4127, 7, 75, 2, 2, 4127, 4128, 7, 79, 2, 2, 4128, 4129, 7, 71, 2, 2, 4129, 510, 3, 2, 2, 2, 4130, 4131, 7, 69, 2, 2, 4131, 4132, 7, 87, 2, 2, 4132, 4133, 7, 84, 2, 2, 4133, 4134, 7, 70, 2, 2, 4134, 4135, 7, 67, 2, 2, 4135, 4136, 7, 86, 2, 2, 4136, 4137, 7, 71, 2, 2, 4137, 512, 3, 2, 2, 2, 4138, 4139, 7, 69, 2, 2, 4139, 4140, 7, 87, 2, 2, 4140, 4141, 7, 84, 2, 2, 4141, 4142, 7, 86, 2, 2, 4142, 4143, 7, 75, 2, 2, 4143, 4144, 7, 79, 2, 2, 4144, 4145, 7, 71, 2, 2, 4145, 514, 3, 2, 2, 2, 4146, 4147, 7, 70, 2, 2, 4147, 4148, 7, 67, 2, 2, 4148, 4149, 7, 86, 2, 2, 4149, 4150, 7, 71, 2, 2, 4150, 4151, 7, 97, 2, 2, 4151, 4152, 7, 67, 2, 2, 4152, 4153, 7, 70, 2, 2, 4153, 4154, 7, 70, 2, 2, 4154, 516, 3, 2, 2, 2, 4155, 4156, 7, 70, 2, 2, 4156, 4157, 7, 67, 2, 2, 4157, 4158, 7, 86, 2, 2, 4158, 4159, 7, 71, 2, 2, 4159, 4160, 7, 97, 2, 2, 4160, 4161, 7, 85, 2, 2, 4161, 4162, 7, 87, 2, 2, 4162, 4163, 7, 68, 2, 2, 4163, 518, 3, 2, 2, 2, 4164, 4165, 7, 71, 2, 2, 4165, 4166, 7, 90, 2, 2, 4166, 4167, 7, 86, 2, 2, 4167, 4168, 7, 84, 2, 2, 4168, 4169, 7, 67, 2, 2, 4169, 4170, 7, 69, 2, 2, 4170, 4171, 7, 86, 2, 2, 4171, 520, 3, 2, 2, 2, 4172, 4173, 7, 78, 2, 2, 4173, 4174, 7, 81, 2, 2, 4174, 4175, 7, 69, 2, 2, 4175, 4176, 7, 67, 2, 2, 4176, 4177, 7, 78, 2, 2, 4177, 4178, 7, 86, 2, 2, 4178, 4179, 7, 75, 2, 2, 4179, 4180, 7, 79, 2, 2, 4180, 4181, 7, 71, 2, 2, 4181, 4182, 7, 85, 2, 2, 4182, 4183, 7, 86, 2, 2, 4183, 4184, 7, 67, 2, 2, 4184, 4185, 7, 79, 2, 2, 4185, 4186, 7, 82, 2, 2, 4186, 522, 3, 2, 2, 2, 4187, 4188, 7, 80, 2, 2, 4188, 4189, 7, 81, 2, 2, 4189, 4190, 7, 89, 2, 2, 4190, 524, 3, 2, 2, 2, 4191, 4192, 7, 82, 2, 2, 4192, 4193, 7, 81, 2, 2, 4193, 4194, 7, 85, 2, 2, 4194, 4195, 7, 75, 2, 2, 4195, 4196, 7, 86, 2, 2, 4196, 4197, 7, 75, 2, 2, 4197, 4198, 7, 81, 2, 2, 4198, 4199, 7, 80, 2, 2, 4199, 526, 3, 2, 2, 2, 4200, 4201, 7, 85, 2, 2, 4201, 4202, 7, 87, 2, 2, 4202, 4203, 7, 68, 2, 2, 4203, 4204, 7, 85, 2, 2, 4204, 4205, 7, 86, 2, 2, 4205, 4206, 7, 84, 2, 2, 4206, 528, 3, 2, 2, 2, 4207, 4208, 7, 85, 2, 2, 4208, 4209, 7, 87, 2, 2, 4209, 4210, 7, 68, 2, 2, 4210, 4211, 7, 85, 2, 2, 4211, 4212, 7, 86, 2, 2, 4212, 4213, 7, 84, 2, 2, 4213, 4214, 7, 75, 2, 2, 4214, 4215, 7, 80, 2, 2, 4215, 4216, 7, 73, 2, 2, 4216, 530, 3, 2, 2, 2, 4217, 4218, 7, 85, 2, 2, 4218, 4219, 7, 91, 2, 2, 4219, 4220, 7, 85, 2, 2, 4220, 4221, 7, 70, 2, 2, 4221, 4222, 7, 67, 2, 2, 4222, 4223, 7, 86, 2, 2, 4223, 4224, 7, 71, 2, 2, 4224, 532, 3, 2, 2, 2, 4225, 4226, 7, 86, 2, 2, 4226, 4227, 7, 84, 2, 2, 4227, 4228, 7, 75, 2, 2, 4228, 4229, 7, 79, 2, 2, 4229, 534, 3, 2, 2, 2, 4230, 4231, 7, 87, 2, 2, 4231, 4232, 7, 86, 2, 2, 4232, 4233, 7, 69, 2, 2, 4233, 4234, 7, 97, 2, 2, 4234, 4235, 7, 70, 2, 2, 4235, 4236, 7, 67, 2, 2, 4236, 4237, 7, 86, 2, 2, 4237, 4238, 7, 71, 2, 2, 4238, 536, 3, 2, 2, 2, 4239, 4240, 7, 87, 2, 2, 4240, 4241, 7, 86, 2, 2, 4241, 4242, 7, 69, 2, 2, 4242, 4243, 7, 97, 2, 2, 4243, 4244, 7, 86, 2, 2, 4244, 4245, 7, 75, 2, 2, 4245, 4246, 7, 79, 2, 2, 4246, 4247, 7, 71, 2, 2, 4247, 538, 3, 2, 2, 2, 4248, 4249, 7, 87, 2, 2, 4249, 4250, 7, 86, 2, 2, 4250, 4251, 7, 69, 2, 2, 4251, 4252, 7, 97, 2, 2, 4252, 4253, 7, 86, 2, 2, 4253, 4254, 7, 75, 2, 2, 4254, 4255, 7, 79, 2, 2, 4255, 4256, 7, 71, 2, 2, 4256, 4257, 7, 85, 2, 2, 4257, 4258, 7, 86, 2, 2, 4258, 4259, 7, 67, 2, 2, 4259, 4260, 7, 79, 2, 2, 4260, 4261, 7, 82, 2, 2, 4261, 540, 3, 2, 2, 2, 4262, 4263, 7, 67, 2, 2, 4263, 4264, 7, 69, 2, 2, 4264, 4265, 7, 69, 2, 2, 4265, 4266, 7, 81, 2, 2, 4266, 4267, 7, 87, 2, 2, 4267, 4268, 7, 80, 2, 2, 4268, 4269, 7, 86, 2, 2, 4269, 542, 3, 2, 2, 2, 4270, 4271, 7, 67, 2, 2, 4271, 4272, 7, 69, 2, 2, 4272, 4273, 7, 86, 2, 2, 4273, 4274, 7, 75, 2, 2, 4274, 4275, 7, 81, 2, 2, 4275, 4276, 7, 80, 2, 2, 4276, 544, 3, 2, 2, 2, 4277, 4278, 7, 67, 2, 2, 4278, 4279, 7, 72, 2, 2, 4279, 4280, 7, 86, 2, 2, 4280, 4281, 7, 71, 2, 2, 4281, 4282, 7, 84, 2, 2, 4282, 546, 3, 2, 2, 2, 4283, 4284, 7, 67, 2, 2, 4284, 4285, 7, 73, 2, 2, 4285, 4286, 7, 73, 2, 2, 4286, 4287, 7, 84, 2, 2, 4287, 4288, 7, 71, 2, 2, 4288, 4289, 7, 73, 2, 2, 4289, 4290, 7, 67, 2, 2, 4290, 4291, 7, 86, 2, 2, 4291, 4292, 7, 71, 2, 2, 4292, 548, 3, 2, 2, 2, 4293, 4294, 7, 67, 2, 2, 4294, 4295, 7, 78, 2, 2, 4295, 4296, 7, 73, 2, 2, 4296, 4297, 7, 81, 2, 2, 4297, 4298, 7, 84, 2, 2, 4298, 4299, 7, 75, 2, 2, 4299, 4300, 7, 86, 2, 2, 4300, 4301, 7, 74, 2, 2, 4301, 4302, 7, 79, 2, 2, 4302, 550, 3, 2, 2, 2, 4303, 4304, 7, 67, 2, 2, 4304, 4305, 7, 80, 2, 2, 4305, 4306, 7, 91, 2, 2, 4306, 552, 3, 2, 2, 2, 4307, 4308, 7, 67, 2, 2, 4308, 4309, 7, 86, 2, 2, 4309, 554, 3, 2, 2, 2, 4310, 4311, 7, 67, 2, 2, 4311, 4312, 7, 87, 2, 2, 4312, 4313, 7, 86, 2, 2, 4313, 4314, 7, 74, 2, 2, 4314, 4315, 7, 81, 2, 2, 4315, 4316, 7, 84, 2, 2, 4316, 4317, 7, 85, 2, 2, 4317, 556, 3, 2, 2, 2, 4318, 4319, 7, 67, 2, 2, 4319, 4320, 7, 87, 2, 2, 4320, 4321, 7, 86, 2, 2, 4321, 4322, 7, 81, 2, 2, 4322, 4323, 7, 69, 2, 2, 4323, 4324, 7, 81, 2, 2, 4324, 4325, 7, 79, 2, 2, 4325, 4326, 7, 79, 2, 2, 4326, 4327, 7, 75, 2, 2, 4327, 4328, 7, 86, 2, 2, 4328, 558, 3, 2, 2, 2, 4329, 4330, 7, 67, 2, 2, 4330, 4331, 7, 87, 2, 2, 4331, 4332, 7, 86, 2, 2, 4332, 4333, 7, 81, 2, 2, 4333, 4334, 7, 71, 2, 2, 4334, 4335, 7, 90, 2, 2, 4335, 4336, 7, 86, 2, 2, 4336, 4337, 7, 71, 2, 2, 4337, 4338, 7, 80, 2, 2, 4338, 4339, 7, 70, 2, 2, 4339, 4340, 7, 97, 2, 2, 4340, 4341, 7, 85, 2, 2, 4341, 4342, 7, 75, 2, 2, 4342, 4343, 7, 92, 2, 2, 4343, 4344, 7, 71, 2, 2, 4344, 560, 3, 2, 2, 2, 4345, 4346, 7, 67, 2, 2, 4346, 4347, 7, 87, 2, 2, 4347, 4348, 7, 86, 2, 2, 4348, 4349, 7, 81, 2, 2, 4349, 4350, 7, 97, 2, 2, 4350, 4351, 7, 75, 2, 2, 4351, 4352, 7, 80, 2, 2, 4352, 4353, 7, 69, 2, 2, 4353, 4354, 7, 84, 2, 2, 4354, 4355, 7, 71, 2, 2, 4355, 4356, 7, 79, 2, 2, 4356, 4357, 7, 71, 2, 2, 4357, 4358, 7, 80, 2, 2, 4358, 4359, 7, 86, 2, 2, 4359, 562, 3, 2, 2, 2, 4360, 4361, 7, 67, 2, 2, 4361, 4362, 7, 88, 2, 2, 4362, 4363, 7, 73, 2, 2, 4363, 4364, 7, 97, 2, 2, 4364, 4365, 7, 84, 2, 2, 4365, 4366, 7, 81, 2, 2, 4366, 4367, 7, 89, 2, 2, 4367, 4368, 7, 97, 2, 2, 4368, 4369, 7, 78, 2, 2, 4369, 4370, 7, 71, 2, 2, 4370, 4371, 7, 80, 2, 2, 4371, 4372, 7, 73, 2, 2, 4372, 4373, 7, 86, 2, 2, 4373, 4374, 7, 74, 2, 2, 4374, 564, 3, 2, 2, 2, 4375, 4376, 7, 68, 2, 2, 4376, 4377, 7, 71, 2, 2, 4377, 4378, 7, 73, 2, 2, 4378, 4379, 7, 75, 2, 2, 4379, 4380, 7, 80, 2, 2, 4380, 566, 3, 2, 2, 2, 4381, 4382, 7, 68, 2, 2, 4382, 4383, 7, 75, 2, 2, 4383, 4384, 7, 80, 2, 2, 4384, 4385, 7, 78, 2, 2, 4385, 4386, 7, 81, 2, 2, 4386, 4387, 7, 73, 2, 2, 4387, 568, 3, 2, 2, 2, 4388, 4389, 7, 68, 2, 2, 4389, 4390, 7, 75, 2, 2, 4390, 4391, 7, 86, 2, 2, 4391, 570, 3, 2, 2, 2, 4392, 4393, 7, 68, 2, 2, 4393, 4394, 7, 78, 2, 2, 4394, 4395, 7, 81, 2, 2, 4395, 4396, 7, 69, 2, 2, 4396, 4397, 7, 77, 2, 2, 4397, 572, 3, 2, 2, 2, 4398, 4399, 7, 68, 2, 2, 4399, 4400, 7, 81, 2, 2, 4400, 4401, 7, 81, 2, 2, 4401, 4402, 7, 78, 2, 2, 4402, 574, 3, 2, 2, 2, 4403, 4404, 7, 68, 2, 2, 4404, 4405, 7, 81, 2, 2, 4405, 4406, 7, 81, 2, 2, 4406, 4407, 7, 78, 2, 2, 4407, 4408, 7, 71, 2, 2, 4408, 4409, 7, 67, 2, 2, 4409, 4410, 7, 80, 2, 2, 4410, 576, 3, 2, 2, 2, 4411, 4412, 7, 68, 2, 2, 4412, 4413, 7, 86, 2, 2, 4413, 4414, 7, 84, 2, 2, 4414, 4415, 7, 71, 2, 2, 4415, 4416, 7, 71, 2, 2, 4416, 578, 3, 2, 2, 2, 4417, 4418, 7, 69, 2, 2, 4418, 4419, 7, 67, 2, 2, 4419, 4420, 7, 69, 2, 2, 4420, 4421, 7, 74, 2, 2, 4421, 4422, 7, 71, 2, 2, 4422, 580, 3, 2, 2, 2, 4423, 4424, 7, 69, 2, 2, 4424, 4425, 7, 67, 2, 2, 4425, 4426, 7, 85, 2, 2, 4426, 4427, 7, 69, 2, 2, 4427, 4428, 7, 67, 2, 2, 4428, 4429, 7, 70, 2, 2, 4429, 4430, 7, 71, 2, 2, 4430, 4431, 7, 70, 2, 2, 4431, 582, 3, 2, 2, 2, 4432, 4433, 7, 69, 2, 2, 4433, 4434, 7, 74, 2, 2, 4434, 4435, 7, 67, 2, 2, 4435, 4436, 7, 75, 2, 2, 4436, 4437, 7, 80, 2, 2, 4437, 584, 3, 2, 2, 2, 4438, 4439, 7, 69, 2, 2, 4439, 4440, 7, 74, 2, 2, 4440, 4441, 7, 67, 2, 2, 4441, 4442, 7, 80, 2, 2, 4442, 4443, 7, 73, 2, 2, 4443, 4444, 7, 71, 2, 2, 4444, 4445, 7, 70, 2, 2, 4445, 586, 3, 2, 2, 2, 4446, 4447, 7, 69, 2, 2, 4447, 4448, 7, 74, 2, 2, 4448, 4449, 7, 67, 2, 2, 4449, 4450, 7, 80, 2, 2, 4450, 4451, 7, 80, 2, 2, 4451, 4452, 7, 71, 2, 2, 4452, 4453, 7, 78, 2, 2, 4453, 588, 3, 2, 2, 2, 4454, 4455, 7, 69, 2, 2, 4455, 4456, 7, 74, 2, 2, 4456, 4457, 7, 71, 2, 2, 4457, 4458, 7, 69, 2, 2, 4458, 4459, 7, 77, 2, 2, 4459, 4460, 7, 85, 2, 2, 4460, 4461, 7, 87, 2, 2, 4461, 4462, 7, 79, 2, 2, 4462, 590, 3, 2, 2, 2, 4463, 4464, 7, 82, 2, 2, 4464, 4465, 7, 67, 2, 2, 4465, 4466, 7, 73, 2, 2, 4466, 4467, 7, 71, 2, 2, 4467, 4468, 7, 97, 2, 2, 4468, 4469, 7, 69, 2, 2, 4469, 4470, 7, 74, 2, 2, 4470, 4471, 7, 71, 2, 2, 4471, 4472, 7, 69, 2, 2, 4472, 4473, 7, 77, 2, 2, 4473, 4474, 7, 85, 2, 2, 4474, 4475, 7, 87, 2, 2, 4475, 4476, 7, 79, 2, 2, 4476, 592, 3, 2, 2, 2, 4477, 4478, 7, 69, 2, 2, 4478, 4479, 7, 75, 2, 2, 4479, 4480, 7, 82, 2, 2, 4480, 4481, 7, 74, 2, 2, 4481, 4482, 7, 71, 2, 2, 4482, 4483, 7, 84, 2, 2, 4483, 594, 3, 2, 2, 2, 4484, 4485, 7, 69, 2, 2, 4485, 4486, 7, 78, 2, 2, 4486, 4487, 7, 67, 2, 2, 4487, 4488, 7, 85, 2, 2, 4488, 4489, 7, 85, 2, 2, 4489, 4490, 7, 97, 2, 2, 4490, 4491, 7, 81, 2, 2, 4491, 4492, 7, 84, 2, 2, 4492, 4493, 7, 75, 2, 2, 4493, 4494, 7, 73, 2, 2, 4494, 4495, 7, 75, 2, 2, 4495, 4496, 7, 80, 2, 2, 4496, 596, 3, 2, 2, 2, 4497, 4498, 7, 69, 2, 2, 4498, 4499, 7, 78, 2, 2, 4499, 4500, 7, 75, 2, 2, 4500, 4501, 7, 71, 2, 2, 4501, 4502, 7, 80, 2, 2, 4502, 4503, 7, 86, 2, 2, 4503, 598, 3, 2, 2, 2, 4504, 4505, 7, 69, 2, 2, 4505, 4506, 7, 78, 2, 2, 4506, 4507, 7, 81, 2, 2, 4507, 4508, 7, 85, 2, 2, 4508, 4509, 7, 71, 2, 2, 4509, 600, 3, 2, 2, 2, 4510, 4511, 7, 69, 2, 2, 4511, 4512, 7, 81, 2, 2, 4512, 4513, 7, 67, 2, 2, 4513, 4514, 7, 78, 2, 2, 4514, 4515, 7, 71, 2, 2, 4515, 4516, 7, 85, 2, 2, 4516, 4517, 7, 69, 2, 2, 4517, 4518, 7, 71, 2, 2, 4518, 602, 3, 2, 2, 2, 4519, 4520, 7, 69, 2, 2, 4520, 4521, 7, 81, 2, 2, 4521, 4522, 7, 70, 2, 2, 4522, 4523, 7, 71, 2, 2, 4523, 604, 3, 2, 2, 2, 4524, 4525, 7, 69, 2, 2, 4525, 4526, 7, 81, 2, 2, 4526, 4527, 7, 78, 2, 2, 4527, 4528, 7, 87, 2, 2, 4528, 4529, 7, 79, 2, 2, 4529, 4530, 7, 80, 2, 2, 4530, 4531, 7, 85, 2, 2, 4531, 606, 3, 2, 2, 2, 4532, 4533, 7, 69, 2, 2, 4533, 4534, 7, 81, 2, 2, 4534, 4535, 7, 78, 2, 2, 4535, 4536, 7, 87, 2, 2, 4536, 4537, 7, 79, 2, 2, 4537, 4538, 7, 80, 2, 2, 4538, 4539, 7, 97, 2, 2, 4539, 4540, 7, 72, 2, 2, 4540, 4541, 7, 81, 2, 2, 4541, 4542, 7, 84, 2, 2, 4542, 4543, 7, 79, 2, 2, 4543, 4544, 7, 67, 2, 2, 4544, 4545, 7, 86, 2, 2, 4545, 608, 3, 2, 2, 2, 4546, 4547, 7, 69, 2, 2, 4547, 4548, 7, 81, 2, 2, 4548, 4549, 7, 78, 2, 2, 4549, 4550, 7, 87, 2, 2, 4550, 4551, 7, 79, 2, 2, 4551, 4552, 7, 80, 2, 2, 4552, 4553, 7, 97, 2, 2, 4553, 4554, 7, 80, 2, 2, 4554, 4555, 7, 67, 2, 2, 4555, 4556, 7, 79, 2, 2, 4556, 4557, 7, 71, 2, 2, 4557, 610, 3, 2, 2, 2, 4558, 4559, 7, 69, 2, 2, 4559, 4560, 7, 81, 2, 2, 4560, 4561, 7, 79, 2, 2, 4561, 4562, 7, 79, 2, 2, 4562, 4563, 7, 71, 2, 2, 4563, 4564, 7, 80, 2, 2, 4564, 4565, 7, 86, 2, 2, 4565, 612, 3, 2, 2, 2, 4566, 4567, 7, 69, 2, 2, 4567, 4568, 7, 81, 2, 2, 4568, 4569, 7, 79, 2, 2, 4569, 4570, 7, 79, 2, 2, 4570, 4571, 7, 75, 2, 2, 4571, 4572, 7, 86, 2, 2, 4572, 614, 3, 2, 2, 2, 4573, 4574, 7, 69, 2, 2, 4574, 4575, 7, 81, 2, 2, 4575, 4576, 7, 79, 2, 2, 4576, 4577, 7, 82, 2, 2, 4577, 4578, 7, 67, 2, 2, 4578, 4579, 7, 69, 2, 2, 4579, 4580, 7, 86, 2, 2, 4580, 616, 3, 2, 2, 2, 4581, 4582, 7, 69, 2, 2, 4582, 4583, 7, 81, 2, 2, 4583, 4584, 7, 79, 2, 2, 4584, 4585, 7, 82, 2, 2, 4585, 4586, 7, 78, 2, 2, 4586, 4587, 7, 71, 2, 2, 4587, 4588, 7, 86, 2, 2, 4588, 4589, 7, 75, 2, 2, 4589, 4590, 7, 81, 2, 2, 4590, 4591, 7, 80, 2, 2, 4591, 618, 3, 2, 2, 2, 4592, 4593, 7, 69, 2, 2, 4593, 4594, 7, 81, 2, 2, 4594, 4595, 7, 79, 2, 2, 4595, 4596, 7, 82, 2, 2, 4596, 4597, 7, 84, 2, 2, 4597, 4598, 7, 71, 2, 2, 4598, 4599, 7, 85, 2, 2, 4599, 4600, 7, 85, 2, 2, 4600, 4601, 7, 71, 2, 2, 4601, 4602, 7, 70, 2, 2, 4602, 620, 3, 2, 2, 2, 4603, 4604, 7, 69, 2, 2, 4604, 4605, 7, 81, 2, 2, 4605, 4606, 7, 79, 2, 2, 4606, 4607, 7, 82, 2, 2, 4607, 4608, 7, 84, 2, 2, 4608, 4609, 7, 71, 2, 2, 4609, 4610, 7, 85, 2, 2, 4610, 4611, 7, 85, 2, 2, 4611, 4612, 7, 75, 2, 2, 4612, 4613, 7, 81, 2, 2, 4613, 4614, 7, 80, 2, 2, 4614, 622, 3, 2, 2, 2, 4615, 4616, 7, 69, 2, 2, 4616, 4617, 7, 81, 2, 2, 4617, 4618, 7, 80, 2, 2, 4618, 4619, 7, 69, 2, 2, 4619, 4620, 7, 87, 2, 2, 4620, 4621, 7, 84, 2, 2, 4621, 4622, 7, 84, 2, 2, 4622, 4623, 7, 71, 2, 2, 4623, 4624, 7, 80, 2, 2, 4624, 4625, 7, 86, 2, 2, 4625, 624, 3, 2, 2, 2, 4626, 4627, 7, 69, 2, 2, 4627, 4628, 7, 81, 2, 2, 4628, 4629, 7, 80, 2, 2, 4629, 4630, 7, 80, 2, 2, 4630, 4631, 7, 71, 2, 2, 4631, 4632, 7, 69, 2, 2, 4632, 4633, 7, 86, 2, 2, 4633, 4634, 7, 75, 2, 2, 4634, 4635, 7, 81, 2, 2, 4635, 4636, 7, 80, 2, 2, 4636, 626, 3, 2, 2, 2, 4637, 4638, 7, 69, 2, 2, 4638, 4639, 7, 81, 2, 2, 4639, 4640, 7, 80, 2, 2, 4640, 4641, 7, 85, 2, 2, 4641, 4642, 7, 75, 2, 2, 4642, 4643, 7, 85, 2, 2, 4643, 4644, 7, 86, 2, 2, 4644, 4645, 7, 71, 2, 2, 4645, 4646, 7, 80, 2, 2, 4646, 4647, 7, 86, 2, 2, 4647, 628, 3, 2, 2, 2, 4648, 4649, 7, 69, 2, 2, 4649, 4650, 7, 81, 2, 2, 4650, 4651, 7, 80, 2, 2, 4651, 4652, 7, 85, 2, 2, 4652, 4653, 7, 86, 2, 2, 4653, 4654, 7, 84, 2, 2, 4654, 4655, 7, 67, 2, 2, 4655, 4656, 7, 75, 2, 2, 4656, 4657, 7, 80, 2, 2, 4657, 4658, 7, 86, 2, 2, 4658, 4659, 7, 97, 2, 2, 4659, 4660, 7, 69, 2, 2, 4660, 4661, 7, 67, 2, 2, 4661, 4662, 7, 86, 2, 2, 4662, 4663, 7, 67, 2, 2, 4663, 4664, 7, 78, 2, 2, 4664, 4665, 7, 81, 2, 2, 4665, 4666, 7, 73, 2, 2, 4666, 630, 3, 2, 2, 2, 4667, 4668, 7, 69, 2, 2, 4668, 4669, 7, 81, 2, 2, 4669, 4670, 7, 80, 2, 2, 4670, 4671, 7, 85, 2, 2, 4671, 4672, 7, 86, 2, 2, 4672, 4673, 7, 84, 2, 2, 4673, 4674, 7, 67, 2, 2, 4674, 4675, 7, 75, 2, 2, 4675, 4676, 7, 80, 2, 2, 4676, 4677, 7, 86, 2, 2, 4677, 4678, 7, 97, 2, 2, 4678, 4679, 7, 85, 2, 2, 4679, 4680, 7, 69, 2, 2, 4680, 4681, 7, 74, 2, 2, 4681, 4682, 7, 71, 2, 2, 4682, 4683, 7, 79, 2, 2, 4683, 4684, 7, 67, 2, 2, 4684, 632, 3, 2, 2, 2, 4685, 4686, 7, 69, 2, 2, 4686, 4687, 7, 81, 2, 2, 4687, 4688, 7, 80, 2, 2, 4688, 4689, 7, 85, 2, 2, 4689, 4690, 7, 86, 2, 2, 4690, 4691, 7, 84, 2, 2, 4691, 4692, 7, 67, 2, 2, 4692, 4693, 7, 75, 2, 2, 4693, 4694, 7, 80, 2, 2, 4694, 4695, 7, 86, 2, 2, 4695, 4696, 7, 97, 2, 2, 4696, 4697, 7, 80, 2, 2, 4697, 4698, 7, 67, 2, 2, 4698, 4699, 7, 79, 2, 2, 4699, 4700, 7, 71, 2, 2, 4700, 634, 3, 2, 2, 2, 4701, 4702, 7, 69, 2, 2, 4702, 4703, 7, 81, 2, 2, 4703, 4704, 7, 80, 2, 2, 4704, 4705, 7, 86, 2, 2, 4705, 4706, 7, 67, 2, 2, 4706, 4707, 7, 75, 2, 2, 4707, 4708, 7, 80, 2, 2, 4708, 4709, 7, 85, 2, 2, 4709, 636, 3, 2, 2, 2, 4710, 4711, 7, 69, 2, 2, 4711, 4712, 7, 81, 2, 2, 4712, 4713, 7, 80, 2, 2, 4713, 4714, 7, 86, 2, 2, 4714, 4715, 7, 71, 2, 2, 4715, 4716, 7, 90, 2, 2, 4716, 4717, 7, 86, 2, 2, 4717, 638, 3, 2, 2, 2, 4718, 4719, 7, 69, 2, 2, 4719, 4720, 7, 81, 2, 2, 4720, 4721, 7, 80, 2, 2, 4721, 4722, 7, 86, 2, 2, 4722, 4723, 7, 84, 2, 2, 4723, 4724, 7, 75, 2, 2, 4724, 4725, 7, 68, 2, 2, 4725, 4726, 7, 87, 2, 2, 4726, 4727, 7, 86, 2, 2, 4727, 4728, 7, 81, 2, 2, 4728, 4729, 7, 84, 2, 2, 4729, 4730, 7, 85, 2, 2, 4730, 640, 3, 2, 2, 2, 4731, 4732, 7, 69, 2, 2, 4732, 4733, 7, 81, 2, 2, 4733, 4734, 7, 82, 2, 2, 4734, 4735, 7, 91, 2, 2, 4735, 642, 3, 2, 2, 2, 4736, 4737, 7, 69, 2, 2, 4737, 4738, 7, 82, 2, 2, 4738, 4739, 7, 87, 2, 2, 4739, 644, 3, 2, 2, 2, 4740, 4741, 7, 69, 2, 2, 4741, 4742, 7, 87, 2, 2, 4742, 4743, 7, 84, 2, 2, 4743, 4744, 7, 85, 2, 2, 4744, 4745, 7, 81, 2, 2, 4745, 4746, 7, 84, 2, 2, 4746, 4747, 7, 97, 2, 2, 4747, 4748, 7, 80, 2, 2, 4748, 4749, 7, 67, 2, 2, 4749, 4750, 7, 79, 2, 2, 4750, 4751, 7, 71, 2, 2, 4751, 646, 3, 2, 2, 2, 4752, 4753, 7, 70, 2, 2, 4753, 4754, 7, 67, 2, 2, 4754, 4755, 7, 86, 2, 2, 4755, 4756, 7, 67, 2, 2, 4756, 648, 3, 2, 2, 2, 4757, 4758, 7, 70, 2, 2, 4758, 4759, 7, 67, 2, 2, 4759, 4760, 7, 86, 2, 2, 4760, 4761, 7, 67, 2, 2, 4761, 4762, 7, 72, 2, 2, 4762, 4763, 7, 75, 2, 2, 4763, 4764, 7, 78, 2, 2, 4764, 4765, 7, 71, 2, 2, 4765, 650, 3, 2, 2, 2, 4766, 4767, 7, 70, 2, 2, 4767, 4768, 7, 71, 2, 2, 4768, 4769, 7, 67, 2, 2, 4769, 4770, 7, 78, 2, 2, 4770, 4771, 7, 78, 2, 2, 4771, 4772, 7, 81, 2, 2, 4772, 4773, 7, 69, 2, 2, 4773, 4774, 7, 67, 2, 2, 4774, 4775, 7, 86, 2, 2, 4775, 4776, 7, 71, 2, 2, 4776, 652, 3, 2, 2, 2, 4777, 4778, 7, 70, 2, 2, 4778, 4779, 7, 71, 2, 2, 4779, 4780, 7, 72, 2, 2, 4780, 4781, 7, 67, 2, 2, 4781, 4782, 7, 87, 2, 2, 4782, 4783, 7, 78, 2, 2, 4783, 4784, 7, 86, 2, 2, 4784, 4785, 7, 97, 2, 2, 4785, 4786, 7, 67, 2, 2, 4786, 4787, 7, 87, 2, 2, 4787, 4788, 7, 86, 2, 2, 4788, 4789, 7, 74, 2, 2, 4789, 654, 3, 2, 2, 2, 4790, 4791, 7, 70, 2, 2, 4791, 4792, 7, 71, 2, 2, 4792, 4793, 7, 72, 2, 2, 4793, 4794, 7, 75, 2, 2, 4794, 4795, 7, 80, 2, 2, 4795, 4796, 7, 71, 2, 2, 4796, 4797, 7, 84, 2, 2, 4797, 656, 3, 2, 2, 2, 4798, 4799, 7, 70, 2, 2, 4799, 4800, 7, 71, 2, 2, 4800, 4801, 7, 78, 2, 2, 4801, 4802, 7, 67, 2, 2, 4802, 4803, 7, 91, 2, 2, 4803, 4804, 7, 97, 2, 2, 4804, 4805, 7, 77, 2, 2, 4805, 4806, 7, 71, 2, 2, 4806, 4807, 7, 91, 2, 2, 4807, 4808, 7, 97, 2, 2, 4808, 4809, 7, 89, 2, 2, 4809, 4810, 7, 84, 2, 2, 4810, 4811, 7, 75, 2, 2, 4811, 4812, 7, 86, 2, 2, 4812, 4813, 7, 71, 2, 2, 4813, 658, 3, 2, 2, 2, 4814, 4815, 7, 70, 2, 2, 4815, 4816, 7, 71, 2, 2, 4816, 4817, 7, 85, 2, 2, 4817, 4818, 7, 97, 2, 2, 4818, 4819, 7, 77, 2, 2, 4819, 4820, 7, 71, 2, 2, 4820, 4821, 7, 91, 2, 2, 4821, 4822, 7, 97, 2, 2, 4822, 4823, 7, 72, 2, 2, 4823, 4824, 7, 75, 2, 2, 4824, 4825, 7, 78, 2, 2, 4825, 4826, 7, 71, 2, 2, 4826, 660, 3, 2, 2, 2, 4827, 4828, 7, 70, 2, 2, 4828, 4829, 7, 75, 2, 2, 4829, 4830, 7, 84, 2, 2, 4830, 4831, 7, 71, 2, 2, 4831, 4832, 7, 69, 2, 2, 4832, 4833, 7, 86, 2, 2, 4833, 4834, 7, 81, 2, 2, 4834, 4835, 7, 84, 2, 2, 4835, 4836, 7, 91, 2, 2, 4836, 662, 3, 2, 2, 2, 4837, 4838, 7, 70, 2, 2, 4838, 4839, 7, 75, 2, 2, 4839, 4840, 7, 85, 2, 2, 4840, 4841, 7, 67, 2, 2, 4841, 4842, 7, 68, 2, 2, 4842, 4843, 7, 78, 2, 2, 4843, 4844, 7, 71, 2, 2, 4844, 664, 3, 2, 2, 2, 4845, 4846, 7, 70, 2, 2, 4846, 4847, 7, 75, 2, 2, 4847, 4848, 7, 85, 2, 2, 4848, 4849, 7, 69, 2, 2, 4849, 4850, 7, 67, 2, 2, 4850, 4851, 7, 84, 2, 2, 4851, 4852, 7, 70, 2, 2, 4852, 666, 3, 2, 2, 2, 4853, 4854, 7, 70, 2, 2, 4854, 4855, 7, 75, 2, 2, 4855, 4856, 7, 85, 2, 2, 4856, 4857, 7, 77, 2, 2, 4857, 668, 3, 2, 2, 2, 4858, 4859, 7, 70, 2, 2, 4859, 4860, 7, 81, 2, 2, 4860, 670, 3, 2, 2, 2, 4861, 4862, 7, 70, 2, 2, 4862, 4863, 7, 87, 2, 2, 4863, 4864, 7, 79, 2, 2, 4864, 4865, 7, 82, 2, 2, 4865, 4866, 7, 72, 2, 2, 4866, 4867, 7, 75, 2, 2, 4867, 4868, 7, 78, 2, 2, 4868, 4869, 7, 71, 2, 2, 4869, 672, 3, 2, 2, 2, 4870, 4871, 7, 70, 2, 2, 4871, 4872, 7, 87, 2, 2, 4872, 4873, 7, 82, 2, 2, 4873, 4874, 7, 78, 2, 2, 4874, 4875, 7, 75, 2, 2, 4875, 4876, 7, 69, 2, 2, 4876, 4877, 7, 67, 2, 2, 4877, 4878, 7, 86, 2, 2, 4878, 4879, 7, 71, 2, 2, 4879, 674, 3, 2, 2, 2, 4880, 4881, 7, 70, 2, 2, 4881, 4882, 7, 91, 2, 2, 4882, 4883, 7, 80, 2, 2, 4883, 4884, 7, 67, 2, 2, 4884, 4885, 7, 79, 2, 2, 4885, 4886, 7, 75, 2, 2, 4886, 4887, 7, 69, 2, 2, 4887, 676, 3, 2, 2, 2, 4888, 4889, 7, 71, 2, 2, 4889, 4890, 7, 80, 2, 2, 4890, 4891, 7, 67, 2, 2, 4891, 4892, 7, 68, 2, 2, 4892, 4893, 7, 78, 2, 2, 4893, 4894, 7, 71, 2, 2, 4894, 678, 3, 2, 2, 2, 4895, 4896, 7, 71, 2, 2, 4896, 4897, 7, 80, 2, 2, 4897, 4898, 7, 69, 2, 2, 4898, 4899, 7, 84, 2, 2, 4899, 4900, 7, 91, 2, 2, 4900, 4901, 7, 82, 2, 2, 4901, 4902, 7, 86, 2, 2, 4902, 4903, 7, 75, 2, 2, 4903, 4904, 7, 81, 2, 2, 4904, 4905, 7, 80, 2, 2, 4905, 680, 3, 2, 2, 2, 4906, 4907, 7, 71, 2, 2, 4907, 4908, 7, 80, 2, 2, 4908, 4909, 7, 70, 2, 2, 4909, 682, 3, 2, 2, 2, 4910, 4911, 7, 71, 2, 2, 4911, 4912, 7, 80, 2, 2, 4912, 4913, 7, 70, 2, 2, 4913, 4914, 7, 85, 2, 2, 4914, 684, 3, 2, 2, 2, 4915, 4916, 7, 71, 2, 2, 4916, 4917, 7, 80, 2, 2, 4917, 4918, 7, 73, 2, 2, 4918, 4919, 7, 75, 2, 2, 4919, 4920, 7, 80, 2, 2, 4920, 4921, 7, 71, 2, 2, 4921, 686, 3, 2, 2, 2, 4922, 4923, 7, 71, 2, 2, 4923, 4924, 7, 80, 2, 2, 4924, 4925, 7, 73, 2, 2, 4925, 4926, 7, 75, 2, 2, 4926, 4927, 7, 80, 2, 2, 4927, 4928, 7, 71, 2, 2, 4928, 4929, 7, 85, 2, 2, 4929, 688, 3, 2, 2, 2, 4930, 4931, 7, 71, 2, 2, 4931, 4932, 7, 84, 2, 2, 4932, 4933, 7, 84, 2, 2, 4933, 4934, 7, 81, 2, 2, 4934, 4935, 7, 84, 2, 2, 4935, 690, 3, 2, 2, 2, 4936, 4937, 7, 71, 2, 2, 4937, 4938, 7, 84, 2, 2, 4938, 4939, 7, 84, 2, 2, 4939, 4940, 7, 81, 2, 2, 4940, 4941, 7, 84, 2, 2, 4941, 4942, 7, 85, 2, 2, 4942, 692, 3, 2, 2, 2, 4943, 4944, 7, 71, 2, 2, 4944, 4945, 7, 85, 2, 2, 4945, 4946, 7, 69, 2, 2, 4946, 4947, 7, 67, 2, 2, 4947, 4948, 7, 82, 2, 2, 4948, 4949, 7, 71, 2, 2, 4949, 694, 3, 2, 2, 2, 4950, 4951, 7, 71, 2, 2, 4951, 4952, 7, 88, 2, 2, 4952, 4953, 7, 71, 2, 2, 4953, 4954, 7, 80, 2, 2, 4954, 696, 3, 2, 2, 2, 4955, 4956, 7, 71, 2, 2, 4956, 4957, 7, 88, 2, 2, 4957, 4958, 7, 71, 2, 2, 4958, 4959, 7, 80, 2, 2, 4959, 4960, 7, 86, 2, 2, 4960, 698, 3, 2, 2, 2, 4961, 4962, 7, 71, 2, 2, 4962, 4963, 7, 88, 2, 2, 4963, 4964, 7, 71, 2, 2, 4964, 4965, 7, 80, 2, 2, 4965, 4966, 7, 86, 2, 2, 4966, 4967, 7, 85, 2, 2, 4967, 700, 3, 2, 2, 2, 4968, 4969, 7, 71, 2, 2, 4969, 4970, 7, 88, 2, 2, 4970, 4971, 7, 71, 2, 2, 4971, 4972, 7, 84, 2, 2, 4972, 4973, 7, 91, 2, 2, 4973, 702, 3, 2, 2, 2, 4974, 4975, 7, 71, 2, 2, 4975, 4976, 7, 90, 2, 2, 4976, 4977, 7, 69, 2, 2, 4977, 4978, 7, 74, 2, 2, 4978, 4979, 7, 67, 2, 2, 4979, 4980, 7, 80, 2, 2, 4980, 4981, 7, 73, 2, 2, 4981, 4982, 7, 71, 2, 2, 4982, 704, 3, 2, 2, 2, 4983, 4984, 7, 71, 2, 2, 4984, 4985, 7, 90, 2, 2, 4985, 4986, 7, 69, 2, 2, 4986, 4987, 7, 78, 2, 2, 4987, 4988, 7, 87, 2, 2, 4988, 4989, 7, 85, 2, 2, 4989, 4990, 7, 75, 2, 2, 4990, 4991, 7, 88, 2, 2, 4991, 4992, 7, 71, 2, 2, 4992, 706, 3, 2, 2, 2, 4993, 4994, 7, 71, 2, 2, 4994, 4995, 7, 90, 2, 2, 4995, 4996, 7, 82, 2, 2, 4996, 4997, 7, 75, 2, 2, 4997, 4998, 7, 84, 2, 2, 4998, 4999, 7, 71, 2, 2, 4999, 708, 3, 2, 2, 2, 5000, 5001, 7, 71, 2, 2, 5001, 5002, 7, 90, 2, 2, 5002, 5003, 7, 82, 2, 2, 5003, 5004, 7, 81, 2, 2, 5004, 5005, 7, 84, 2, 2, 5005, 5006, 7, 86, 2, 2, 5006, 710, 3, 2, 2, 2, 5007, 5008, 7, 71, 2, 2, 5008, 5009, 7, 90, 2, 2, 5009, 5010, 7, 86, 2, 2, 5010, 5011, 7, 71, 2, 2, 5011, 5012, 7, 80, 2, 2, 5012, 5013, 7, 70, 2, 2, 5013, 5014, 7, 71, 2, 2, 5014, 5015, 7, 70, 2, 2, 5015, 712, 3, 2, 2, 2, 5016, 5017, 7, 71, 2, 2, 5017, 5018, 7, 90, 2, 2, 5018, 5019, 7, 86, 2, 2, 5019, 5020, 7, 71, 2, 2, 5020, 5021, 7, 80, 2, 2, 5021, 5022, 7, 86, 2, 2, 5022, 5023, 7, 97, 2, 2, 5023, 5024, 7, 85, 2, 2, 5024, 5025, 7, 75, 2, 2, 5025, 5026, 7, 92, 2, 2, 5026, 5027, 7, 71, 2, 2, 5027, 714, 3, 2, 2, 2, 5028, 5029, 7, 72, 2, 2, 5029, 5030, 7, 67, 2, 2, 5030, 5031, 7, 85, 2, 2, 5031, 5032, 7, 86, 2, 2, 5032, 716, 3, 2, 2, 2, 5033, 5034, 7, 72, 2, 2, 5034, 5035, 7, 67, 2, 2, 5035, 5036, 7, 87, 2, 2, 5036, 5037, 7, 78, 2, 2, 5037, 5038, 7, 86, 2, 2, 5038, 5039, 7, 85, 2, 2, 5039, 718, 3, 2, 2, 2, 5040, 5041, 7, 72, 2, 2, 5041, 5042, 7, 75, 2, 2, 5042, 5043, 7, 71, 2, 2, 5043, 5044, 7, 78, 2, 2, 5044, 5045, 7, 70, 2, 2, 5045, 5046, 7, 85, 2, 2, 5046, 720, 3, 2, 2, 2, 5047, 5048, 7, 72, 2, 2, 5048, 5049, 7, 75, 2, 2, 5049, 5050, 7, 78, 2, 2, 5050, 5051, 7, 71, 2, 2, 5051, 5052, 7, 97, 2, 2, 5052, 5053, 7, 68, 2, 2, 5053, 5054, 7, 78, 2, 2, 5054, 5055, 7, 81, 2, 2, 5055, 5056, 7, 69, 2, 2, 5056, 5057, 7, 77, 2, 2, 5057, 5058, 7, 97, 2, 2, 5058, 5059, 7, 85, 2, 2, 5059, 5060, 7, 75, 2, 2, 5060, 5061, 7, 92, 2, 2, 5061, 5062, 7, 71, 2, 2, 5062, 722, 3, 2, 2, 2, 5063, 5064, 7, 72, 2, 2, 5064, 5065, 7, 75, 2, 2, 5065, 5066, 7, 78, 2, 2, 5066, 5067, 7, 86, 2, 2, 5067, 5068, 7, 71, 2, 2, 5068, 5069, 7, 84, 2, 2, 5069, 724, 3, 2, 2, 2, 5070, 5071, 7, 72, 2, 2, 5071, 5072, 7, 75, 2, 2, 5072, 5073, 7, 84, 2, 2, 5073, 5074, 7, 85, 2, 2, 5074, 5075, 7, 86, 2, 2, 5075, 726, 3, 2, 2, 2, 5076, 5077, 7, 72, 2, 2, 5077, 5078, 7, 75, 2, 2, 5078, 5079, 7, 90, 2, 2, 5079, 5080, 7, 71, 2, 2, 5080, 5081, 7, 70, 2, 2, 5081, 728, 3, 2, 2, 2, 5082, 5083, 7, 72, 2, 2, 5083, 5084, 7, 78, 2, 2, 5084, 5085, 7, 87, 2, 2, 5085, 5086, 7, 85, 2, 2, 5086, 5087, 7, 74, 2, 2, 5087, 730, 3, 2, 2, 2, 5088, 5089, 7, 72, 2, 2, 5089, 5090, 7, 81, 2, 2, 5090, 5091, 7, 78, 2, 2, 5091, 5092, 7, 78, 2, 2, 5092, 5093, 7, 81, 2, 2, 5093, 5094, 7, 89, 2, 2, 5094, 5095, 7, 85, 2, 2, 5095, 732, 3, 2, 2, 2, 5096, 5097, 7, 72, 2, 2, 5097, 5098, 7, 81, 2, 2, 5098, 5099, 7, 87, 2, 2, 5099, 5100, 7, 80, 2, 2, 5100, 5101, 7, 70, 2, 2, 5101, 734, 3, 2, 2, 2, 5102, 5103, 7, 72, 2, 2, 5103, 5104, 7, 87, 2, 2, 5104, 5105, 7, 78, 2, 2, 5105, 5106, 7, 78, 2, 2, 5106, 736, 3, 2, 2, 2, 5107, 5108, 7, 72, 2, 2, 5108, 5109, 7, 87, 2, 2, 5109, 5110, 7, 80, 2, 2, 5110, 5111, 7, 69, 2, 2, 5111, 5112, 7, 86, 2, 2, 5112, 5113, 7, 75, 2, 2, 5113, 5114, 7, 81, 2, 2, 5114, 5115, 7, 80, 2, 2, 5115, 738, 3, 2, 2, 2, 5116, 5117, 7, 73, 2, 2, 5117, 5118, 7, 71, 2, 2, 5118, 5119, 7, 80, 2, 2, 5119, 5120, 7, 71, 2, 2, 5120, 5121, 7, 84, 2, 2, 5121, 5122, 7, 67, 2, 2, 5122, 5123, 7, 78, 2, 2, 5123, 740, 3, 2, 2, 2, 5124, 5125, 7, 73, 2, 2, 5125, 5126, 7, 78, 2, 2, 5126, 5127, 7, 81, 2, 2, 5127, 5128, 7, 68, 2, 2, 5128, 5129, 7, 67, 2, 2, 5129, 5130, 7, 78, 2, 2, 5130, 742, 3, 2, 2, 2, 5131, 5132, 7, 73, 2, 2, 5132, 5133, 7, 84, 2, 2, 5133, 5134, 7, 67, 2, 2, 5134, 5135, 7, 80, 2, 2, 5135, 5136, 7, 86, 2, 2, 5136, 5137, 7, 85, 2, 2, 5137, 744, 3, 2, 2, 2, 5138, 5139, 7, 73, 2, 2, 5139, 5140, 7, 84, 2, 2, 5140, 5141, 7, 81, 2, 2, 5141, 5142, 7, 87, 2, 2, 5142, 5143, 7, 82, 2, 2, 5143, 5144, 7, 97, 2, 2, 5144, 5145, 7, 84, 2, 2, 5145, 5146, 7, 71, 2, 2, 5146, 5147, 7, 82, 2, 2, 5147, 5148, 7, 78, 2, 2, 5148, 5149, 7, 75, 2, 2, 5149, 5150, 7, 69, 2, 2, 5150, 5151, 7, 67, 2, 2, 5151, 5152, 7, 86, 2, 2, 5152, 5153, 7, 75, 2, 2, 5153, 5154, 7, 81, 2, 2, 5154, 5155, 7, 80, 2, 2, 5155, 746, 3, 2, 2, 2, 5156, 5157, 7, 74, 2, 2, 5157, 5158, 7, 67, 2, 2, 5158, 5159, 7, 80, 2, 2, 5159, 5160, 7, 70, 2, 2, 5160, 5161, 7, 78, 2, 2, 5161, 5162, 7, 71, 2, 2, 5162, 5163, 7, 84, 2, 2, 5163, 748, 3, 2, 2, 2, 5164, 5165, 7, 74, 2, 2, 5165, 5166, 7, 67, 2, 2, 5166, 5167, 7, 85, 2, 2, 5167, 5168, 7, 74, 2, 2, 5168, 750, 3, 2, 2, 2, 5169, 5170, 7, 74, 2, 2, 5170, 5171, 7, 71, 2, 2, 5171, 5172, 7, 78, 2, 2, 5172, 5173, 7, 82, 2, 2, 5173, 752, 3, 2, 2, 2, 5174, 5175, 7, 74, 2, 2, 5175, 5176, 7, 81, 2, 2, 5176, 5177, 7, 85, 2, 2, 5177, 5178, 7, 86, 2, 2, 5178, 754, 3, 2, 2, 2, 5179, 5180, 7, 74, 2, 2, 5180, 5181, 7, 81, 2, 2, 5181, 5182, 7, 85, 2, 2, 5182, 5183, 7, 86, 2, 2, 5183, 5184, 7, 85, 2, 2, 5184, 756, 3, 2, 2, 2, 5185, 5186, 7, 75, 2, 2, 5186, 5187, 7, 70, 2, 2, 5187, 5188, 7, 71, 2, 2, 5188, 5189, 7, 80, 2, 2, 5189, 5190, 7, 86, 2, 2, 5190, 5191, 7, 75, 2, 2, 5191, 5192, 7, 72, 2, 2, 5192, 5193, 7, 75, 2, 2, 5193, 5194, 7, 71, 2, 2, 5194, 5195, 7, 70, 2, 2, 5195, 758, 3, 2, 2, 2, 5196, 5197, 7, 75, 2, 2, 5197, 5198, 7, 73, 2, 2, 5198, 5199, 7, 80, 2, 2, 5199, 5200, 7, 81, 2, 2, 5200, 5201, 7, 84, 2, 2, 5201, 5202, 7, 71, 2, 2, 5202, 5203, 7, 97, 2, 2, 5203, 5204, 7, 85, 2, 2, 5204, 5205, 7, 71, 2, 2, 5205, 5206, 7, 84, 2, 2, 5206, 5207, 7, 88, 2, 2, 5207, 5208, 7, 71, 2, 2, 5208, 5209, 7, 84, 2, 2, 5209, 5210, 7, 97, 2, 2, 5210, 5211, 7, 75, 2, 2, 5211, 5212, 7, 70, 2, 2, 5212, 5213, 7, 85, 2, 2, 5213, 760, 3, 2, 2, 2, 5214, 5215, 7, 75, 2, 2, 5215, 5216, 7, 79, 2, 2, 5216, 5217, 7, 82, 2, 2, 5217, 5218, 7, 81, 2, 2, 5218, 5219, 7, 84, 2, 2, 5219, 5220, 7, 86, 2, 2, 5220, 762, 3, 2, 2, 2, 5221, 5222, 7, 75, 2, 2, 5222, 5223, 7, 80, 2, 2, 5223, 5224, 7, 70, 2, 2, 5224, 5225, 7, 71, 2, 2, 5225, 5226, 7, 90, 2, 2, 5226, 5227, 7, 71, 2, 2, 5227, 5228, 7, 85, 2, 2, 5228, 764, 3, 2, 2, 2, 5229, 5230, 7, 75, 2, 2, 5230, 5231, 7, 80, 2, 2, 5231, 5232, 7, 75, 2, 2, 5232, 5233, 7, 86, 2, 2, 5233, 5234, 7, 75, 2, 2, 5234, 5235, 7, 67, 2, 2, 5235, 5236, 7, 78, 2, 2, 5236, 5237, 7, 97, 2, 2, 5237, 5238, 7, 85, 2, 2, 5238, 5239, 7, 75, 2, 2, 5239, 5240, 7, 92, 2, 2, 5240, 5241, 7, 71, 2, 2, 5241, 766, 3, 2, 2, 2, 5242, 5243, 7, 75, 2, 2, 5243, 5244, 7, 80, 2, 2, 5244, 5245, 7, 82, 2, 2, 5245, 5246, 7, 78, 2, 2, 5246, 5247, 7, 67, 2, 2, 5247, 5248, 7, 69, 2, 2, 5248, 5249, 7, 71, 2, 2, 5249, 768, 3, 2, 2, 2, 5250, 5251, 7, 75, 2, 2, 5251, 5252, 7, 80, 2, 2, 5252, 5253, 7, 85, 2, 2, 5253, 5254, 7, 71, 2, 2, 5254, 5255, 7, 84, 2, 2, 5255, 5256, 7, 86, 2, 2, 5256, 5257, 7, 97, 2, 2, 5257, 5258, 7, 79, 2, 2, 5258, 5259, 7, 71, 2, 2, 5259, 5260, 7, 86, 2, 2, 5260, 5261, 7, 74, 2, 2, 5261, 5262, 7, 81, 2, 2, 5262, 5263, 7, 70, 2, 2, 5263, 770, 3, 2, 2, 2, 5264, 5265, 7, 75, 2, 2, 5265, 5266, 7, 80, 2, 2, 5266, 5267, 7, 85, 2, 2, 5267, 5268, 7, 86, 2, 2, 5268, 5269, 7, 67, 2, 2, 5269, 5270, 7, 78, 2, 2, 5270, 5271, 7, 78, 2, 2, 5271, 772, 3, 2, 2, 2, 5272, 5273, 7, 75, 2, 2, 5273, 5274, 7, 80, 2, 2, 5274, 5275, 7, 85, 2, 2, 5275, 5276, 7, 86, 2, 2, 5276, 5277, 7, 67, 2, 2, 5277, 5278, 7, 80, 2, 2, 5278, 5279, 7, 69, 2, 2, 5279, 5280, 7, 71, 2, 2, 5280, 774, 3, 2, 2, 2, 5281, 5282, 7, 75, 2, 2, 5282, 5283, 7, 80, 2, 2, 5283, 5284, 7, 88, 2, 2, 5284, 5285, 7, 75, 2, 2, 5285, 5286, 7, 85, 2, 2, 5286, 5287, 7, 75, 2, 2, 5287, 5288, 7, 68, 2, 2, 5288, 5289, 7, 78, 2, 2, 5289, 5290, 7, 71, 2, 2, 5290, 776, 3, 2, 2, 2, 5291, 5292, 7, 75, 2, 2, 5292, 5293, 7, 80, 2, 2, 5293, 5294, 7, 88, 2, 2, 5294, 5295, 7, 81, 2, 2, 5295, 5296, 7, 77, 2, 2, 5296, 5297, 7, 71, 2, 2, 5297, 5298, 7, 84, 2, 2, 5298, 778, 3, 2, 2, 2, 5299, 5300, 7, 75, 2, 2, 5300, 5301, 7, 81, 2, 2, 5301, 780, 3, 2, 2, 2, 5302, 5303, 7, 75, 2, 2, 5303, 5304, 7, 81, 2, 2, 5304, 5305, 7, 97, 2, 2, 5305, 5306, 7, 86, 2, 2, 5306, 5307, 7, 74, 2, 2, 5307, 5308, 7, 84, 2, 2, 5308, 5309, 7, 71, 2, 2, 5309, 5310, 7, 67, 2, 2, 5310, 5311, 7, 70, 2, 2, 5311, 782, 3, 2, 2, 2, 5312, 5313, 7, 75, 2, 2, 5313, 5314, 7, 82, 2, 2, 5314, 5315, 7, 69, 2, 2, 5315, 784, 3, 2, 2, 2, 5316, 5317, 7, 75, 2, 2, 5317, 5318, 7, 85, 2, 2, 5318, 5319, 7, 81, 2, 2, 5319, 5320, 7, 78, 2, 2, 5320, 5321, 7, 67, 2, 2, 5321, 5322, 7, 86, 2, 2, 5322, 5323, 7, 75, 2, 2, 5323, 5324, 7, 81, 2, 2, 5324, 5325, 7, 80, 2, 2, 5325, 786, 3, 2, 2, 2, 5326, 5327, 7, 75, 2, 2, 5327, 5328, 7, 85, 2, 2, 5328, 5329, 7, 85, 2, 2, 5329, 5330, 7, 87, 2, 2, 5330, 5331, 7, 71, 2, 2, 5331, 5332, 7, 84, 2, 2, 5332, 788, 3, 2, 2, 2, 5333, 5334, 7, 76, 2, 2, 5334, 5335, 7, 85, 2, 2, 5335, 5336, 7, 81, 2, 2, 5336, 5337, 7, 80, 2, 2, 5337, 790, 3, 2, 2, 2, 5338, 5339, 7, 77, 2, 2, 5339, 5340, 7, 71, 2, 2, 5340, 5341, 7, 91, 2, 2, 5341, 5342, 7, 97, 2, 2, 5342, 5343, 7, 68, 2, 2, 5343, 5344, 7, 78, 2, 2, 5344, 5345, 7, 81, 2, 2, 5345, 5346, 7, 69, 2, 2, 5346, 5347, 7, 77, 2, 2, 5347, 5348, 7, 97, 2, 2, 5348, 5349, 7, 85, 2, 2, 5349, 5350, 7, 75, 2, 2, 5350, 5351, 7, 92, 2, 2, 5351, 5352, 7, 71, 2, 2, 5352, 792, 3, 2, 2, 2, 5353, 5354, 7, 78, 2, 2, 5354, 5355, 7, 67, 2, 2, 5355, 5356, 7, 80, 2, 2, 5356, 5357, 7, 73, 2, 2, 5357, 5358, 7, 87, 2, 2, 5358, 5359, 7, 67, 2, 2, 5359, 5360, 7, 73, 2, 2, 5360, 5361, 7, 71, 2, 2, 5361, 794, 3, 2, 2, 2, 5362, 5363, 7, 78, 2, 2, 5363, 5364, 7, 67, 2, 2, 5364, 5365, 7, 85, 2, 2, 5365, 5366, 7, 86, 2, 2, 5366, 796, 3, 2, 2, 2, 5367, 5368, 7, 78, 2, 2, 5368, 5369, 7, 71, 2, 2, 5369, 5370, 7, 67, 2, 2, 5370, 5371, 7, 88, 2, 2, 5371, 5372, 7, 71, 2, 2, 5372, 5373, 7, 85, 2, 2, 5373, 798, 3, 2, 2, 2, 5374, 5375, 7, 78, 2, 2, 5375, 5376, 7, 71, 2, 2, 5376, 5377, 7, 85, 2, 2, 5377, 5378, 7, 85, 2, 2, 5378, 800, 3, 2, 2, 2, 5379, 5380, 7, 78, 2, 2, 5380, 5381, 7, 71, 2, 2, 5381, 5382, 7, 88, 2, 2, 5382, 5383, 7, 71, 2, 2, 5383, 5384, 7, 78, 2, 2, 5384, 802, 3, 2, 2, 2, 5385, 5386, 7, 78, 2, 2, 5386, 5387, 7, 75, 2, 2, 5387, 5388, 7, 85, 2, 2, 5388, 5389, 7, 86, 2, 2, 5389, 804, 3, 2, 2, 2, 5390, 5391, 7, 78, 2, 2, 5391, 5392, 7, 81, 2, 2, 5392, 5393, 7, 69, 2, 2, 5393, 5394, 7, 67, 2, 2, 5394, 5395, 7, 78, 2, 2, 5395, 806, 3, 2, 2, 2, 5396, 5397, 7, 78, 2, 2, 5397, 5398, 7, 81, 2, 2, 5398, 5399, 7, 73, 2, 2, 5399, 5400, 7, 72, 2, 2, 5400, 5401, 7, 75, 2, 2, 5401, 5402, 7, 78, 2, 2, 5402, 5403, 7, 71, 2, 2, 5403, 808, 3, 2, 2, 2, 5404, 5405, 7, 78, 2, 2, 5405, 5406, 7, 81, 2, 2, 5406, 5407, 7, 73, 2, 2, 5407, 5408, 7, 85, 2, 2, 5408, 810, 3, 2, 2, 2, 5409, 5410, 7, 79, 2, 2, 5410, 5411, 7, 67, 2, 2, 5411, 5412, 7, 85, 2, 2, 5412, 5413, 7, 86, 2, 2, 5413, 5414, 7, 71, 2, 2, 5414, 5415, 7, 84, 2, 2, 5415, 812, 3, 2, 2, 2, 5416, 5417, 7, 79, 2, 2, 5417, 5418, 7, 67, 2, 2, 5418, 5419, 7, 85, 2, 2, 5419, 5420, 7, 86, 2, 2, 5420, 5421, 7, 71, 2, 2, 5421, 5422, 7, 84, 2, 2, 5422, 5423, 7, 97, 2, 2, 5423, 5424, 7, 67, 2, 2, 5424, 5425, 7, 87, 2, 2, 5425, 5426, 7, 86, 2, 2, 5426, 5427, 7, 81, 2, 2, 5427, 5428, 7, 97, 2, 2, 5428, 5429, 7, 82, 2, 2, 5429, 5430, 7, 81, 2, 2, 5430, 5431, 7, 85, 2, 2, 5431, 5432, 7, 75, 2, 2, 5432, 5433, 7, 86, 2, 2, 5433, 5434, 7, 75, 2, 2, 5434, 5435, 7, 81, 2, 2, 5435, 5436, 7, 80, 2, 2, 5436, 814, 3, 2, 2, 2, 5437, 5438, 7, 79, 2, 2, 5438, 5439, 7, 67, 2, 2, 5439, 5440, 7, 85, 2, 2, 5440, 5441, 7, 86, 2, 2, 5441, 5442, 7, 71, 2, 2, 5442, 5443, 7, 84, 2, 2, 5443, 5444, 7, 97, 2, 2, 5444, 5445, 7, 69, 2, 2, 5445, 5446, 7, 81, 2, 2, 5446, 5447, 7, 80, 2, 2, 5447, 5448, 7, 80, 2, 2, 5448, 5449, 7, 71, 2, 2, 5449, 5450, 7, 69, 2, 2, 5450, 5451, 7, 86, 2, 2, 5451, 5452, 7, 97, 2, 2, 5452, 5453, 7, 84, 2, 2, 5453, 5454, 7, 71, 2, 2, 5454, 5455, 7, 86, 2, 2, 5455, 5456, 7, 84, 2, 2, 5456, 5457, 7, 91, 2, 2, 5457, 816, 3, 2, 2, 2, 5458, 5459, 7, 79, 2, 2, 5459, 5460, 7, 67, 2, 2, 5460, 5461, 7, 85, 2, 2, 5461, 5462, 7, 86, 2, 2, 5462, 5463, 7, 71, 2, 2, 5463, 5464, 7, 84, 2, 2, 5464, 5465, 7, 97, 2, 2, 5465, 5466, 7, 70, 2, 2, 5466, 5467, 7, 71, 2, 2, 5467, 5468, 7, 78, 2, 2, 5468, 5469, 7, 67, 2, 2, 5469, 5470, 7, 91, 2, 2, 5470, 818, 3, 2, 2, 2, 5471, 5472, 7, 79, 2, 2, 5472, 5473, 7, 67, 2, 2, 5473, 5474, 7, 85, 2, 2, 5474, 5475, 7, 86, 2, 2, 5475, 5476, 7, 71, 2, 2, 5476, 5477, 7, 84, 2, 2, 5477, 5478, 7, 97, 2, 2, 5478, 5479, 7, 74, 2, 2, 5479, 5480, 7, 71, 2, 2, 5480, 5481, 7, 67, 2, 2, 5481, 5482, 7, 84, 2, 2, 5482, 5483, 7, 86, 2, 2, 5483, 5484, 7, 68, 2, 2, 5484, 5485, 7, 71, 2, 2, 5485, 5486, 7, 67, 2, 2, 5486, 5487, 7, 86, 2, 2, 5487, 5488, 7, 97, 2, 2, 5488, 5489, 7, 82, 2, 2, 5489, 5490, 7, 71, 2, 2, 5490, 5491, 7, 84, 2, 2, 5491, 5492, 7, 75, 2, 2, 5492, 5493, 7, 81, 2, 2, 5493, 5494, 7, 70, 2, 2, 5494, 820, 3, 2, 2, 2, 5495, 5496, 7, 79, 2, 2, 5496, 5497, 7, 67, 2, 2, 5497, 5498, 7, 85, 2, 2, 5498, 5499, 7, 86, 2, 2, 5499, 5500, 7, 71, 2, 2, 5500, 5501, 7, 84, 2, 2, 5501, 5502, 7, 97, 2, 2, 5502, 5503, 7, 74, 2, 2, 5503, 5504, 7, 81, 2, 2, 5504, 5505, 7, 85, 2, 2, 5505, 5506, 7, 86, 2, 2, 5506, 822, 3, 2, 2, 2, 5507, 5508, 7, 79, 2, 2, 5508, 5509, 7, 67, 2, 2, 5509, 5510, 7, 85, 2, 2, 5510, 5511, 7, 86, 2, 2, 5511, 5512, 7, 71, 2, 2, 5512, 5513, 7, 84, 2, 2, 5513, 5514, 7, 97, 2, 2, 5514, 5515, 7, 78, 2, 2, 5515, 5516, 7, 81, 2, 2, 5516, 5517, 7, 73, 2, 2, 5517, 5518, 7, 97, 2, 2, 5518, 5519, 7, 72, 2, 2, 5519, 5520, 7, 75, 2, 2, 5520, 5521, 7, 78, 2, 2, 5521, 5522, 7, 71, 2, 2, 5522, 824, 3, 2, 2, 2, 5523, 5524, 7, 79, 2, 2, 5524, 5525, 7, 67, 2, 2, 5525, 5526, 7, 85, 2, 2, 5526, 5527, 7, 86, 2, 2, 5527, 5528, 7, 71, 2, 2, 5528, 5529, 7, 84, 2, 2, 5529, 5530, 7, 97, 2, 2, 5530, 5531, 7, 78, 2, 2, 5531, 5532, 7, 81, 2, 2, 5532, 5533, 7, 73, 2, 2, 5533, 5534, 7, 97, 2, 2, 5534, 5535, 7, 82, 2, 2, 5535, 5536, 7, 81, 2, 2, 5536, 5537, 7, 85, 2, 2, 5537, 826, 3, 2, 2, 2, 5538, 5539, 7, 79, 2, 2, 5539, 5540, 7, 67, 2, 2, 5540, 5541, 7, 85, 2, 2, 5541, 5542, 7, 86, 2, 2, 5542, 5543, 7, 71, 2, 2, 5543, 5544, 7, 84, 2, 2, 5544, 5545, 7, 97, 2, 2, 5545, 5546, 7, 82, 2, 2, 5546, 5547, 7, 67, 2, 2, 5547, 5548, 7, 85, 2, 2, 5548, 5549, 7, 85, 2, 2, 5549, 5550, 7, 89, 2, 2, 5550, 5551, 7, 81, 2, 2, 5551, 5552, 7, 84, 2, 2, 5552, 5553, 7, 70, 2, 2, 5553, 828, 3, 2, 2, 2, 5554, 5555, 7, 79, 2, 2, 5555, 5556, 7, 67, 2, 2, 5556, 5557, 7, 85, 2, 2, 5557, 5558, 7, 86, 2, 2, 5558, 5559, 7, 71, 2, 2, 5559, 5560, 7, 84, 2, 2, 5560, 5561, 7, 97, 2, 2, 5561, 5562, 7, 82, 2, 2, 5562, 5563, 7, 81, 2, 2, 5563, 5564, 7, 84, 2, 2, 5564, 5565, 7, 86, 2, 2, 5565, 830, 3, 2, 2, 2, 5566, 5567, 7, 79, 2, 2, 5567, 5568, 7, 67, 2, 2, 5568, 5569, 7, 85, 2, 2, 5569, 5570, 7, 86, 2, 2, 5570, 5571, 7, 71, 2, 2, 5571, 5572, 7, 84, 2, 2, 5572, 5573, 7, 97, 2, 2, 5573, 5574, 7, 84, 2, 2, 5574, 5575, 7, 71, 2, 2, 5575, 5576, 7, 86, 2, 2, 5576, 5577, 7, 84, 2, 2, 5577, 5578, 7, 91, 2, 2, 5578, 5579, 7, 97, 2, 2, 5579, 5580, 7, 69, 2, 2, 5580, 5581, 7, 81, 2, 2, 5581, 5582, 7, 87, 2, 2, 5582, 5583, 7, 80, 2, 2, 5583, 5584, 7, 86, 2, 2, 5584, 832, 3, 2, 2, 2, 5585, 5586, 7, 79, 2, 2, 5586, 5587, 7, 67, 2, 2, 5587, 5588, 7, 85, 2, 2, 5588, 5589, 7, 86, 2, 2, 5589, 5590, 7, 71, 2, 2, 5590, 5591, 7, 84, 2, 2, 5591, 5592, 7, 97, 2, 2, 5592, 5593, 7, 85, 2, 2, 5593, 5594, 7, 85, 2, 2, 5594, 5595, 7, 78, 2, 2, 5595, 834, 3, 2, 2, 2, 5596, 5597, 7, 79, 2, 2, 5597, 5598, 7, 67, 2, 2, 5598, 5599, 7, 85, 2, 2, 5599, 5600, 7, 86, 2, 2, 5600, 5601, 7, 71, 2, 2, 5601, 5602, 7, 84, 2, 2, 5602, 5603, 7, 97, 2, 2, 5603, 5604, 7, 85, 2, 2, 5604, 5605, 7, 85, 2, 2, 5605, 5606, 7, 78, 2, 2, 5606, 5607, 7, 97, 2, 2, 5607, 5608, 7, 69, 2, 2, 5608, 5609, 7, 67, 2, 2, 5609, 836, 3, 2, 2, 2, 5610, 5611, 7, 79, 2, 2, 5611, 5612, 7, 67, 2, 2, 5612, 5613, 7, 85, 2, 2, 5613, 5614, 7, 86, 2, 2, 5614, 5615, 7, 71, 2, 2, 5615, 5616, 7, 84, 2, 2, 5616, 5617, 7, 97, 2, 2, 5617, 5618, 7, 85, 2, 2, 5618, 5619, 7, 85, 2, 2, 5619, 5620, 7, 78, 2, 2, 5620, 5621, 7, 97, 2, 2, 5621, 5622, 7, 69, 2, 2, 5622, 5623, 7, 67, 2, 2, 5623, 5624, 7, 82, 2, 2, 5624, 5625, 7, 67, 2, 2, 5625, 5626, 7, 86, 2, 2, 5626, 5627, 7, 74, 2, 2, 5627, 838, 3, 2, 2, 2, 5628, 5629, 7, 79, 2, 2, 5629, 5630, 7, 67, 2, 2, 5630, 5631, 7, 85, 2, 2, 5631, 5632, 7, 86, 2, 2, 5632, 5633, 7, 71, 2, 2, 5633, 5634, 7, 84, 2, 2, 5634, 5635, 7, 97, 2, 2, 5635, 5636, 7, 85, 2, 2, 5636, 5637, 7, 85, 2, 2, 5637, 5638, 7, 78, 2, 2, 5638, 5639, 7, 97, 2, 2, 5639, 5640, 7, 69, 2, 2, 5640, 5641, 7, 71, 2, 2, 5641, 5642, 7, 84, 2, 2, 5642, 5643, 7, 86, 2, 2, 5643, 840, 3, 2, 2, 2, 5644, 5645, 7, 79, 2, 2, 5645, 5646, 7, 67, 2, 2, 5646, 5647, 7, 85, 2, 2, 5647, 5648, 7, 86, 2, 2, 5648, 5649, 7, 71, 2, 2, 5649, 5650, 7, 84, 2, 2, 5650, 5651, 7, 97, 2, 2, 5651, 5652, 7, 85, 2, 2, 5652, 5653, 7, 85, 2, 2, 5653, 5654, 7, 78, 2, 2, 5654, 5655, 7, 97, 2, 2, 5655, 5656, 7, 69, 2, 2, 5656, 5657, 7, 75, 2, 2, 5657, 5658, 7, 82, 2, 2, 5658, 5659, 7, 74, 2, 2, 5659, 5660, 7, 71, 2, 2, 5660, 5661, 7, 84, 2, 2, 5661, 842, 3, 2, 2, 2, 5662, 5663, 7, 79, 2, 2, 5663, 5664, 7, 67, 2, 2, 5664, 5665, 7, 85, 2, 2, 5665, 5666, 7, 86, 2, 2, 5666, 5667, 7, 71, 2, 2, 5667, 5668, 7, 84, 2, 2, 5668, 5669, 7, 97, 2, 2, 5669, 5670, 7, 85, 2, 2, 5670, 5671, 7, 85, 2, 2, 5671, 5672, 7, 78, 2, 2, 5672, 5673, 7, 97, 2, 2, 5673, 5674, 7, 69, 2, 2, 5674, 5675, 7, 84, 2, 2, 5675, 5676, 7, 78, 2, 2, 5676, 844, 3, 2, 2, 2, 5677, 5678, 7, 79, 2, 2, 5678, 5679, 7, 67, 2, 2, 5679, 5680, 7, 85, 2, 2, 5680, 5681, 7, 86, 2, 2, 5681, 5682, 7, 71, 2, 2, 5682, 5683, 7, 84, 2, 2, 5683, 5684, 7, 97, 2, 2, 5684, 5685, 7, 85, 2, 2, 5685, 5686, 7, 85, 2, 2, 5686, 5687, 7, 78, 2, 2, 5687, 5688, 7, 97, 2, 2, 5688, 5689, 7, 69, 2, 2, 5689, 5690, 7, 84, 2, 2, 5690, 5691, 7, 78, 2, 2, 5691, 5692, 7, 82, 2, 2, 5692, 5693, 7, 67, 2, 2, 5693, 5694, 7, 86, 2, 2, 5694, 5695, 7, 74, 2, 2, 5695, 846, 3, 2, 2, 2, 5696, 5697, 7, 79, 2, 2, 5697, 5698, 7, 67, 2, 2, 5698, 5699, 7, 85, 2, 2, 5699, 5700, 7, 86, 2, 2, 5700, 5701, 7, 71, 2, 2, 5701, 5702, 7, 84, 2, 2, 5702, 5703, 7, 97, 2, 2, 5703, 5704, 7, 85, 2, 2, 5704, 5705, 7, 85, 2, 2, 5705, 5706, 7, 78, 2, 2, 5706, 5707, 7, 97, 2, 2, 5707, 5708, 7, 77, 2, 2, 5708, 5709, 7, 71, 2, 2, 5709, 5710, 7, 91, 2, 2, 5710, 848, 3, 2, 2, 2, 5711, 5712, 7, 79, 2, 2, 5712, 5713, 7, 67, 2, 2, 5713, 5714, 7, 85, 2, 2, 5714, 5715, 7, 86, 2, 2, 5715, 5716, 7, 71, 2, 2, 5716, 5717, 7, 84, 2, 2, 5717, 5718, 7, 97, 2, 2, 5718, 5719, 7, 86, 2, 2, 5719, 5720, 7, 78, 2, 2, 5720, 5721, 7, 85, 2, 2, 5721, 5722, 7, 97, 2, 2, 5722, 5723, 7, 88, 2, 2, 5723, 5724, 7, 71, 2, 2, 5724, 5725, 7, 84, 2, 2, 5725, 5726, 7, 85, 2, 2, 5726, 5727, 7, 75, 2, 2, 5727, 5728, 7, 81, 2, 2, 5728, 5729, 7, 80, 2, 2, 5729, 850, 3, 2, 2, 2, 5730, 5731, 7, 79, 2, 2, 5731, 5732, 7, 67, 2, 2, 5732, 5733, 7, 85, 2, 2, 5733, 5734, 7, 86, 2, 2, 5734, 5735, 7, 71, 2, 2, 5735, 5736, 7, 84, 2, 2, 5736, 5737, 7, 97, 2, 2, 5737, 5738, 7, 87, 2, 2, 5738, 5739, 7, 85, 2, 2, 5739, 5740, 7, 71, 2, 2, 5740, 5741, 7, 84, 2, 2, 5741, 852, 3, 2, 2, 2, 5742, 5743, 7, 79, 2, 2, 5743, 5744, 7, 67, 2, 2, 5744, 5745, 7, 90, 2, 2, 5745, 5746, 7, 97, 2, 2, 5746, 5747, 7, 69, 2, 2, 5747, 5748, 7, 81, 2, 2, 5748, 5749, 7, 80, 2, 2, 5749, 5750, 7, 80, 2, 2, 5750, 5751, 7, 71, 2, 2, 5751, 5752, 7, 69, 2, 2, 5752, 5753, 7, 86, 2, 2, 5753, 5754, 7, 75, 2, 2, 5754, 5755, 7, 81, 2, 2, 5755, 5756, 7, 80, 2, 2, 5756, 5757, 7, 85, 2, 2, 5757, 5758, 7, 97, 2, 2, 5758, 5759, 7, 82, 2, 2, 5759, 5760, 7, 71, 2, 2, 5760, 5761, 7, 84, 2, 2, 5761, 5762, 7, 97, 2, 2, 5762, 5763, 7, 74, 2, 2, 5763, 5764, 7, 81, 2, 2, 5764, 5765, 7, 87, 2, 2, 5765, 5766, 7, 84, 2, 2, 5766, 854, 3, 2, 2, 2, 5767, 5768, 7, 79, 2, 2, 5768, 5769, 7, 67, 2, 2, 5769, 5770, 7, 90, 2, 2, 5770, 5771, 7, 97, 2, 2, 5771, 5772, 7, 83, 2, 2, 5772, 5773, 7, 87, 2, 2, 5773, 5774, 7, 71, 2, 2, 5774, 5775, 7, 84, 2, 2, 5775, 5776, 7, 75, 2, 2, 5776, 5777, 7, 71, 2, 2, 5777, 5778, 7, 85, 2, 2, 5778, 5779, 7, 97, 2, 2, 5779, 5780, 7, 82, 2, 2, 5780, 5781, 7, 71, 2, 2, 5781, 5782, 7, 84, 2, 2, 5782, 5783, 7, 97, 2, 2, 5783, 5784, 7, 74, 2, 2, 5784, 5785, 7, 81, 2, 2, 5785, 5786, 7, 87, 2, 2, 5786, 5787, 7, 84, 2, 2, 5787, 856, 3, 2, 2, 2, 5788, 5789, 7, 79, 2, 2, 5789, 5790, 7, 67, 2, 2, 5790, 5791, 7, 90, 2, 2, 5791, 5792, 7, 97, 2, 2, 5792, 5793, 7, 84, 2, 2, 5793, 5794, 7, 81, 2, 2, 5794, 5795, 7, 89, 2, 2, 5795, 5796, 7, 85, 2, 2, 5796, 858, 3, 2, 2, 2, 5797, 5798, 7, 79, 2, 2, 5798, 5799, 7, 67, 2, 2, 5799, 5800, 7, 90, 2, 2, 5800, 5801, 7, 97, 2, 2, 5801, 5802, 7, 85, 2, 2, 5802, 5803, 7, 75, 2, 2, 5803, 5804, 7, 92, 2, 2, 5804, 5805, 7, 71, 2, 2, 5805, 860, 3, 2, 2, 2, 5806, 5807, 7, 79, 2, 2, 5807, 5808, 7, 67, 2, 2, 5808, 5809, 7, 90, 2, 2, 5809, 5810, 7, 97, 2, 2, 5810, 5811, 7, 87, 2, 2, 5811, 5812, 7, 82, 2, 2, 5812, 5813, 7, 70, 2, 2, 5813, 5814, 7, 67, 2, 2, 5814, 5815, 7, 86, 2, 2, 5815, 5816, 7, 71, 2, 2, 5816, 5817, 7, 85, 2, 2, 5817, 5818, 7, 97, 2, 2, 5818, 5819, 7, 82, 2, 2, 5819, 5820, 7, 71, 2, 2, 5820, 5821, 7, 84, 2, 2, 5821, 5822, 7, 97, 2, 2, 5822, 5823, 7, 74, 2, 2, 5823, 5824, 7, 81, 2, 2, 5824, 5825, 7, 87, 2, 2, 5825, 5826, 7, 84, 2, 2, 5826, 862, 3, 2, 2, 2, 5827, 5828, 7, 79, 2, 2, 5828, 5829, 7, 67, 2, 2, 5829, 5830, 7, 90, 2, 2, 5830, 5831, 7, 97, 2, 2, 5831, 5832, 7, 87, 2, 2, 5832, 5833, 7, 85, 2, 2, 5833, 5834, 7, 71, 2, 2, 5834, 5835, 7, 84, 2, 2, 5835, 5836, 7, 97, 2, 2, 5836, 5837, 7, 69, 2, 2, 5837, 5838, 7, 81, 2, 2, 5838, 5839, 7, 80, 2, 2, 5839, 5840, 7, 80, 2, 2, 5840, 5841, 7, 71, 2, 2, 5841, 5842, 7, 69, 2, 2, 5842, 5843, 7, 86, 2, 2, 5843, 5844, 7, 75, 2, 2, 5844, 5845, 7, 81, 2, 2, 5845, 5846, 7, 80, 2, 2, 5846, 5847, 7, 85, 2, 2, 5847, 864, 3, 2, 2, 2, 5848, 5849, 7, 79, 2, 2, 5849, 5850, 7, 71, 2, 2, 5850, 5851, 7, 70, 2, 2, 5851, 5852, 7, 75, 2, 2, 5852, 5853, 7, 87, 2, 2, 5853, 5854, 7, 79, 2, 2, 5854, 866, 3, 2, 2, 2, 5855, 5856, 7, 79, 2, 2, 5856, 5857, 7, 71, 2, 2, 5857, 5858, 7, 84, 2, 2, 5858, 5859, 7, 73, 2, 2, 5859, 5860, 7, 71, 2, 2, 5860, 868, 3, 2, 2, 2, 5861, 5862, 7, 79, 2, 2, 5862, 5863, 7, 71, 2, 2, 5863, 5864, 7, 85, 2, 2, 5864, 5865, 7, 85, 2, 2, 5865, 5866, 7, 67, 2, 2, 5866, 5867, 7, 73, 2, 2, 5867, 5868, 7, 71, 2, 2, 5868, 5869, 7, 97, 2, 2, 5869, 5870, 7, 86, 2, 2, 5870, 5871, 7, 71, 2, 2, 5871, 5872, 7, 90, 2, 2, 5872, 5873, 7, 86, 2, 2, 5873, 870, 3, 2, 2, 2, 5874, 5875, 7, 79, 2, 2, 5875, 5876, 7, 75, 2, 2, 5876, 5877, 7, 70, 2, 2, 5877, 872, 3, 2, 2, 2, 5878, 5879, 7, 79, 2, 2, 5879, 5880, 7, 75, 2, 2, 5880, 5881, 7, 73, 2, 2, 5881, 5882, 7, 84, 2, 2, 5882, 5883, 7, 67, 2, 2, 5883, 5884, 7, 86, 2, 2, 5884, 5885, 7, 71, 2, 2, 5885, 874, 3, 2, 2, 2, 5886, 5887, 7, 79, 2, 2, 5887, 5888, 7, 75, 2, 2, 5888, 5889, 7, 80, 2, 2, 5889, 5890, 7, 97, 2, 2, 5890, 5891, 7, 84, 2, 2, 5891, 5892, 7, 81, 2, 2, 5892, 5893, 7, 89, 2, 2, 5893, 5894, 7, 85, 2, 2, 5894, 876, 3, 2, 2, 2, 5895, 5896, 7, 79, 2, 2, 5896, 5897, 7, 81, 2, 2, 5897, 5898, 7, 70, 2, 2, 5898, 5899, 7, 71, 2, 2, 5899, 878, 3, 2, 2, 2, 5900, 5901, 7, 79, 2, 2, 5901, 5902, 7, 81, 2, 2, 5902, 5903, 7, 70, 2, 2, 5903, 5904, 7, 75, 2, 2, 5904, 5905, 7, 72, 2, 2, 5905, 5906, 7, 91, 2, 2, 5906, 880, 3, 2, 2, 2, 5907, 5908, 7, 79, 2, 2, 5908, 5909, 7, 87, 2, 2, 5909, 5910, 7, 86, 2, 2, 5910, 5911, 7, 71, 2, 2, 5911, 5912, 7, 90, 2, 2, 5912, 882, 3, 2, 2, 2, 5913, 5914, 7, 79, 2, 2, 5914, 5915, 7, 91, 2, 2, 5915, 5916, 7, 85, 2, 2, 5916, 5917, 7, 83, 2, 2, 5917, 5918, 7, 78, 2, 2, 5918, 884, 3, 2, 2, 2, 5919, 5920, 7, 79, 2, 2, 5920, 5921, 7, 91, 2, 2, 5921, 5922, 7, 85, 2, 2, 5922, 5923, 7, 83, 2, 2, 5923, 5924, 7, 78, 2, 2, 5924, 5925, 7, 97, 2, 2, 5925, 5926, 7, 71, 2, 2, 5926, 5927, 7, 84, 2, 2, 5927, 5928, 7, 84, 2, 2, 5928, 5929, 7, 80, 2, 2, 5929, 5930, 7, 81, 2, 2, 5930, 886, 3, 2, 2, 2, 5931, 5932, 7, 80, 2, 2, 5932, 5933, 7, 67, 2, 2, 5933, 5934, 7, 79, 2, 2, 5934, 5935, 7, 71, 2, 2, 5935, 888, 3, 2, 2, 2, 5936, 5937, 7, 80, 2, 2, 5937, 5938, 7, 67, 2, 2, 5938, 5939, 7, 79, 2, 2, 5939, 5940, 7, 71, 2, 2, 5940, 5941, 7, 85, 2, 2, 5941, 890, 3, 2, 2, 2, 5942, 5943, 7, 80, 2, 2, 5943, 5944, 7, 69, 2, 2, 5944, 5945, 7, 74, 2, 2, 5945, 5946, 7, 67, 2, 2, 5946, 5947, 7, 84, 2, 2, 5947, 892, 3, 2, 2, 2, 5948, 5949, 7, 80, 2, 2, 5949, 5950, 7, 71, 2, 2, 5950, 5951, 7, 88, 2, 2, 5951, 5952, 7, 71, 2, 2, 5952, 5953, 7, 84, 2, 2, 5953, 894, 3, 2, 2, 2, 5954, 5955, 7, 80, 2, 2, 5955, 5956, 7, 71, 2, 2, 5956, 5957, 7, 90, 2, 2, 5957, 5958, 7, 86, 2, 2, 5958, 896, 3, 2, 2, 2, 5959, 5960, 7, 80, 2, 2, 5960, 5961, 7, 81, 2, 2, 5961, 898, 3, 2, 2, 2, 5962, 5963, 7, 80, 2, 2, 5963, 5964, 7, 81, 2, 2, 5964, 5965, 7, 70, 2, 2, 5965, 5966, 7, 71, 2, 2, 5966, 5967, 7, 73, 2, 2, 5967, 5968, 7, 84, 2, 2, 5968, 5969, 7, 81, 2, 2, 5969, 5970, 7, 87, 2, 2, 5970, 5971, 7, 82, 2, 2, 5971, 900, 3, 2, 2, 2, 5972, 5973, 7, 80, 2, 2, 5973, 5974, 7, 81, 2, 2, 5974, 5975, 7, 80, 2, 2, 5975, 5976, 7, 71, 2, 2, 5976, 902, 3, 2, 2, 2, 5977, 5978, 7, 81, 2, 2, 5978, 5979, 7, 72, 2, 2, 5979, 5980, 7, 72, 2, 2, 5980, 5981, 7, 78, 2, 2, 5981, 5982, 7, 75, 2, 2, 5982, 5983, 7, 80, 2, 2, 5983, 5984, 7, 71, 2, 2, 5984, 904, 3, 2, 2, 2, 5985, 5986, 7, 81, 2, 2, 5986, 5987, 7, 72, 2, 2, 5987, 5988, 7, 72, 2, 2, 5988, 5989, 7, 85, 2, 2, 5989, 5990, 7, 71, 2, 2, 5990, 5991, 7, 86, 2, 2, 5991, 906, 3, 2, 2, 2, 5992, 5993, 7, 81, 2, 2, 5993, 5994, 7, 76, 2, 2, 5994, 908, 3, 2, 2, 2, 5995, 5996, 7, 81, 2, 2, 5996, 5997, 7, 78, 2, 2, 5997, 5998, 7, 70, 2, 2, 5998, 5999, 7, 97, 2, 2, 5999, 6000, 7, 82, 2, 2, 6000, 6001, 7, 67, 2, 2, 6001, 6002, 7, 85, 2, 2, 6002, 6003, 7, 85, 2, 2, 6003, 6004, 7, 89, 2, 2, 6004, 6005, 7, 81, 2, 2, 6005, 6006, 7, 84, 2, 2, 6006, 6007, 7, 70, 2, 2, 6007, 910, 3, 2, 2, 2, 6008, 6009, 7, 81, 2, 2, 6009, 6010, 7, 80, 2, 2, 6010, 6011, 7, 71, 2, 2, 6011, 912, 3, 2, 2, 2, 6012, 6013, 7, 81, 2, 2, 6013, 6014, 7, 80, 2, 2, 6014, 6015, 7, 78, 2, 2, 6015, 6016, 7, 75, 2, 2, 6016, 6017, 7, 80, 2, 2, 6017, 6018, 7, 71, 2, 2, 6018, 914, 3, 2, 2, 2, 6019, 6020, 7, 81, 2, 2, 6020, 6021, 7, 80, 2, 2, 6021, 6022, 7, 78, 2, 2, 6022, 6023, 7, 91, 2, 2, 6023, 916, 3, 2, 2, 2, 6024, 6025, 7, 81, 2, 2, 6025, 6026, 7, 82, 2, 2, 6026, 6027, 7, 71, 2, 2, 6027, 6028, 7, 80, 2, 2, 6028, 918, 3, 2, 2, 2, 6029, 6030, 7, 81, 2, 2, 6030, 6031, 7, 82, 2, 2, 6031, 6032, 7, 86, 2, 2, 6032, 6033, 7, 75, 2, 2, 6033, 6034, 7, 79, 2, 2, 6034, 6035, 7, 75, 2, 2, 6035, 6036, 7, 92, 2, 2, 6036, 6037, 7, 71, 2, 2, 6037, 6038, 7, 84, 2, 2, 6038, 6039, 7, 97, 2, 2, 6039, 6040, 7, 69, 2, 2, 6040, 6041, 7, 81, 2, 2, 6041, 6042, 7, 85, 2, 2, 6042, 6043, 7, 86, 2, 2, 6043, 6044, 7, 85, 2, 2, 6044, 920, 3, 2, 2, 2, 6045, 6046, 7, 81, 2, 2, 6046, 6047, 7, 82, 2, 2, 6047, 6048, 7, 86, 2, 2, 6048, 6049, 7, 75, 2, 2, 6049, 6050, 7, 81, 2, 2, 6050, 6051, 7, 80, 2, 2, 6051, 6052, 7, 85, 2, 2, 6052, 922, 3, 2, 2, 2, 6053, 6054, 7, 81, 2, 2, 6054, 6055, 7, 89, 2, 2, 6055, 6056, 7, 80, 2, 2, 6056, 6057, 7, 71, 2, 2, 6057, 6058, 7, 84, 2, 2, 6058, 924, 3, 2, 2, 2, 6059, 6060, 7, 82, 2, 2, 6060, 6061, 7, 67, 2, 2, 6061, 6062, 7, 69, 2, 2, 6062, 6063, 7, 77, 2, 2, 6063, 6064, 7, 97, 2, 2, 6064, 6065, 7, 77, 2, 2, 6065, 6066, 7, 71, 2, 2, 6066, 6067, 7, 91, 2, 2, 6067, 6068, 7, 85, 2, 2, 6068, 926, 3, 2, 2, 2, 6069, 6070, 7, 82, 2, 2, 6070, 6071, 7, 67, 2, 2, 6071, 6072, 7, 73, 2, 2, 6072, 6073, 7, 71, 2, 2, 6073, 928, 3, 2, 2, 2, 6074, 6075, 7, 82, 2, 2, 6075, 6076, 7, 67, 2, 2, 6076, 6077, 7, 84, 2, 2, 6077, 6078, 7, 85, 2, 2, 6078, 6079, 7, 71, 2, 2, 6079, 6080, 7, 84, 2, 2, 6080, 930, 3, 2, 2, 2, 6081, 6082, 7, 82, 2, 2, 6082, 6083, 7, 67, 2, 2, 6083, 6084, 7, 84, 2, 2, 6084, 6085, 7, 86, 2, 2, 6085, 6086, 7, 75, 2, 2, 6086, 6087, 7, 67, 2, 2, 6087, 6088, 7, 78, 2, 2, 6088, 932, 3, 2, 2, 2, 6089, 6090, 7, 82, 2, 2, 6090, 6091, 7, 67, 2, 2, 6091, 6092, 7, 84, 2, 2, 6092, 6093, 7, 86, 2, 2, 6093, 6094, 7, 75, 2, 2, 6094, 6095, 7, 86, 2, 2, 6095, 6096, 7, 75, 2, 2, 6096, 6097, 7, 81, 2, 2, 6097, 6098, 7, 80, 2, 2, 6098, 6099, 7, 75, 2, 2, 6099, 6100, 7, 80, 2, 2, 6100, 6101, 7, 73, 2, 2, 6101, 934, 3, 2, 2, 2, 6102, 6103, 7, 82, 2, 2, 6103, 6104, 7, 67, 2, 2, 6104, 6105, 7, 84, 2, 2, 6105, 6106, 7, 86, 2, 2, 6106, 6107, 7, 75, 2, 2, 6107, 6108, 7, 86, 2, 2, 6108, 6109, 7, 75, 2, 2, 6109, 6110, 7, 81, 2, 2, 6110, 6111, 7, 80, 2, 2, 6111, 6112, 7, 85, 2, 2, 6112, 936, 3, 2, 2, 2, 6113, 6114, 7, 82, 2, 2, 6114, 6115, 7, 67, 2, 2, 6115, 6116, 7, 85, 2, 2, 6116, 6117, 7, 85, 2, 2, 6117, 6118, 7, 89, 2, 2, 6118, 6119, 7, 81, 2, 2, 6119, 6120, 7, 84, 2, 2, 6120, 6121, 7, 70, 2, 2, 6121, 938, 3, 2, 2, 2, 6122, 6123, 7, 82, 2, 2, 6123, 6124, 7, 74, 2, 2, 6124, 6125, 7, 67, 2, 2, 6125, 6126, 7, 85, 2, 2, 6126, 6127, 7, 71, 2, 2, 6127, 940, 3, 2, 2, 2, 6128, 6129, 7, 82, 2, 2, 6129, 6130, 7, 78, 2, 2, 6130, 6131, 7, 87, 2, 2, 6131, 6132, 7, 73, 2, 2, 6132, 6133, 7, 75, 2, 2, 6133, 6134, 7, 80, 2, 2, 6134, 942, 3, 2, 2, 2, 6135, 6136, 7, 82, 2, 2, 6136, 6137, 7, 78, 2, 2, 6137, 6138, 7, 87, 2, 2, 6138, 6139, 7, 73, 2, 2, 6139, 6140, 7, 75, 2, 2, 6140, 6141, 7, 80, 2, 2, 6141, 6142, 7, 97, 2, 2, 6142, 6143, 7, 70, 2, 2, 6143, 6144, 7, 75, 2, 2, 6144, 6145, 7, 84, 2, 2, 6145, 944, 3, 2, 2, 2, 6146, 6147, 7, 82, 2, 2, 6147, 6148, 7, 78, 2, 2, 6148, 6149, 7, 87, 2, 2, 6149, 6150, 7, 73, 2, 2, 6150, 6151, 7, 75, 2, 2, 6151, 6152, 7, 80, 2, 2, 6152, 6153, 7, 85, 2, 2, 6153, 946, 3, 2, 2, 2, 6154, 6155, 7, 82, 2, 2, 6155, 6156, 7, 81, 2, 2, 6156, 6157, 7, 84, 2, 2, 6157, 6158, 7, 86, 2, 2, 6158, 948, 3, 2, 2, 2, 6159, 6160, 7, 82, 2, 2, 6160, 6161, 7, 84, 2, 2, 6161, 6162, 7, 71, 2, 2, 6162, 6163, 7, 69, 2, 2, 6163, 6164, 7, 71, 2, 2, 6164, 6165, 7, 70, 2, 2, 6165, 6166, 7, 71, 2, 2, 6166, 6167, 7, 85, 2, 2, 6167, 950, 3, 2, 2, 2, 6168, 6169, 7, 82, 2, 2, 6169, 6170, 7, 84, 2, 2, 6170, 6171, 7, 71, 2, 2, 6171, 6172, 7, 82, 2, 2, 6172, 6173, 7, 67, 2, 2, 6173, 6174, 7, 84, 2, 2, 6174, 6175, 7, 71, 2, 2, 6175, 952, 3, 2, 2, 2, 6176, 6177, 7, 82, 2, 2, 6177, 6178, 7, 84, 2, 2, 6178, 6179, 7, 71, 2, 2, 6179, 6180, 7, 85, 2, 2, 6180, 6181, 7, 71, 2, 2, 6181, 6182, 7, 84, 2, 2, 6182, 6183, 7, 88, 2, 2, 6183, 6184, 7, 71, 2, 2, 6184, 954, 3, 2, 2, 2, 6185, 6186, 7, 82, 2, 2, 6186, 6187, 7, 84, 2, 2, 6187, 6188, 7, 71, 2, 2, 6188, 6189, 7, 88, 2, 2, 6189, 956, 3, 2, 2, 2, 6190, 6191, 7, 82, 2, 2, 6191, 6192, 7, 84, 2, 2, 6192, 6193, 7, 81, 2, 2, 6193, 6194, 7, 69, 2, 2, 6194, 6195, 7, 71, 2, 2, 6195, 6196, 7, 85, 2, 2, 6196, 6197, 7, 85, 2, 2, 6197, 6198, 7, 78, 2, 2, 6198, 6199, 7, 75, 2, 2, 6199, 6200, 7, 85, 2, 2, 6200, 6201, 7, 86, 2, 2, 6201, 958, 3, 2, 2, 2, 6202, 6203, 7, 82, 2, 2, 6203, 6204, 7, 84, 2, 2, 6204, 6205, 7, 81, 2, 2, 6205, 6206, 7, 72, 2, 2, 6206, 6207, 7, 75, 2, 2, 6207, 6208, 7, 78, 2, 2, 6208, 6209, 7, 71, 2, 2, 6209, 960, 3, 2, 2, 2, 6210, 6211, 7, 82, 2, 2, 6211, 6212, 7, 84, 2, 2, 6212, 6213, 7, 81, 2, 2, 6213, 6214, 7, 72, 2, 2, 6214, 6215, 7, 75, 2, 2, 6215, 6216, 7, 78, 2, 2, 6216, 6217, 7, 71, 2, 2, 6217, 6218, 7, 85, 2, 2, 6218, 962, 3, 2, 2, 2, 6219, 6220, 7, 82, 2, 2, 6220, 6221, 7, 84, 2, 2, 6221, 6222, 7, 81, 2, 2, 6222, 6223, 7, 90, 2, 2, 6223, 6224, 7, 91, 2, 2, 6224, 964, 3, 2, 2, 2, 6225, 6226, 7, 83, 2, 2, 6226, 6227, 7, 87, 2, 2, 6227, 6228, 7, 71, 2, 2, 6228, 6229, 7, 84, 2, 2, 6229, 6230, 7, 91, 2, 2, 6230, 966, 3, 2, 2, 2, 6231, 6232, 7, 83, 2, 2, 6232, 6233, 7, 87, 2, 2, 6233, 6234, 7, 75, 2, 2, 6234, 6235, 7, 69, 2, 2, 6235, 6236, 7, 77, 2, 2, 6236, 968, 3, 2, 2, 2, 6237, 6238, 7, 84, 2, 2, 6238, 6239, 7, 71, 2, 2, 6239, 6240, 7, 68, 2, 2, 6240, 6241, 7, 87, 2, 2, 6241, 6242, 7, 75, 2, 2, 6242, 6243, 7, 78, 2, 2, 6243, 6244, 7, 70, 2, 2, 6244, 970, 3, 2, 2, 2, 6245, 6246, 7, 84, 2, 2, 6246, 6247, 7, 71, 2, 2, 6247, 6248, 7, 69, 2, 2, 6248, 6249, 7, 81, 2, 2, 6249, 6250, 7, 88, 2, 2, 6250, 6251, 7, 71, 2, 2, 6251, 6252, 7, 84, 2, 2, 6252, 972, 3, 2, 2, 2, 6253, 6254, 7, 84, 2, 2, 6254, 6255, 7, 71, 2, 2, 6255, 6256, 7, 70, 2, 2, 6256, 6257, 7, 81, 2, 2, 6257, 6258, 7, 97, 2, 2, 6258, 6259, 7, 68, 2, 2, 6259, 6260, 7, 87, 2, 2, 6260, 6261, 7, 72, 2, 2, 6261, 6262, 7, 72, 2, 2, 6262, 6263, 7, 71, 2, 2, 6263, 6264, 7, 84, 2, 2, 6264, 6265, 7, 97, 2, 2, 6265, 6266, 7, 85, 2, 2, 6266, 6267, 7, 75, 2, 2, 6267, 6268, 7, 92, 2, 2, 6268, 6269, 7, 71, 2, 2, 6269, 974, 3, 2, 2, 2, 6270, 6271, 7, 84, 2, 2, 6271, 6272, 7, 71, 2, 2, 6272, 6273, 7, 70, 2, 2, 6273, 6274, 7, 87, 2, 2, 6274, 6275, 7, 80, 2, 2, 6275, 6276, 7, 70, 2, 2, 6276, 6277, 7, 67, 2, 2, 6277, 6278, 7, 80, 2, 2, 6278, 6279, 7, 86, 2, 2, 6279, 976, 3, 2, 2, 2, 6280, 6281, 7, 84, 2, 2, 6281, 6282, 7, 71, 2, 2, 6282, 6283, 7, 78, 2, 2, 6283, 6284, 7, 67, 2, 2, 6284, 6285, 7, 91, 2, 2, 6285, 978, 3, 2, 2, 2, 6286, 6287, 7, 84, 2, 2, 6287, 6288, 7, 71, 2, 2, 6288, 6289, 7, 78, 2, 2, 6289, 6290, 7, 67, 2, 2, 6290, 6291, 7, 91, 2, 2, 6291, 6292, 7, 97, 2, 2, 6292, 6293, 7, 78, 2, 2, 6293, 6294, 7, 81, 2, 2, 6294, 6295, 7, 73, 2, 2, 6295, 6296, 7, 97, 2, 2, 6296, 6297, 7, 72, 2, 2, 6297, 6298, 7, 75, 2, 2, 6298, 6299, 7, 78, 2, 2, 6299, 6300, 7, 71, 2, 2, 6300, 980, 3, 2, 2, 2, 6301, 6302, 7, 84, 2, 2, 6302, 6303, 7, 71, 2, 2, 6303, 6304, 7, 78, 2, 2, 6304, 6305, 7, 67, 2, 2, 6305, 6306, 7, 91, 2, 2, 6306, 6307, 7, 97, 2, 2, 6307, 6308, 7, 78, 2, 2, 6308, 6309, 7, 81, 2, 2, 6309, 6310, 7, 73, 2, 2, 6310, 6311, 7, 97, 2, 2, 6311, 6312, 7, 82, 2, 2, 6312, 6313, 7, 81, 2, 2, 6313, 6314, 7, 85, 2, 2, 6314, 982, 3, 2, 2, 2, 6315, 6316, 7, 84, 2, 2, 6316, 6317, 7, 71, 2, 2, 6317, 6318, 7, 78, 2, 2, 6318, 6319, 7, 67, 2, 2, 6319, 6320, 7, 91, 2, 2, 6320, 6321, 7, 78, 2, 2, 6321, 6322, 7, 81, 2, 2, 6322, 6323, 7, 73, 2, 2, 6323, 984, 3, 2, 2, 2, 6324, 6325, 7, 84, 2, 2, 6325, 6326, 7, 71, 2, 2, 6326, 6327, 7, 79, 2, 2, 6327, 6328, 7, 81, 2, 2, 6328, 6329, 7, 88, 2, 2, 6329, 6330, 7, 71, 2, 2, 6330, 986, 3, 2, 2, 2, 6331, 6332, 7, 84, 2, 2, 6332, 6333, 7, 71, 2, 2, 6333, 6334, 7, 81, 2, 2, 6334, 6335, 7, 84, 2, 2, 6335, 6336, 7, 73, 2, 2, 6336, 6337, 7, 67, 2, 2, 6337, 6338, 7, 80, 2, 2, 6338, 6339, 7, 75, 2, 2, 6339, 6340, 7, 92, 2, 2, 6340, 6341, 7, 71, 2, 2, 6341, 988, 3, 2, 2, 2, 6342, 6343, 7, 84, 2, 2, 6343, 6344, 7, 71, 2, 2, 6344, 6345, 7, 82, 2, 2, 6345, 6346, 7, 67, 2, 2, 6346, 6347, 7, 75, 2, 2, 6347, 6348, 7, 84, 2, 2, 6348, 990, 3, 2, 2, 2, 6349, 6350, 7, 84, 2, 2, 6350, 6351, 7, 71, 2, 2, 6351, 6352, 7, 82, 2, 2, 6352, 6353, 7, 78, 2, 2, 6353, 6354, 7, 75, 2, 2, 6354, 6355, 7, 69, 2, 2, 6355, 6356, 7, 67, 2, 2, 6356, 6357, 7, 86, 2, 2, 6357, 6358, 7, 71, 2, 2, 6358, 6359, 7, 97, 2, 2, 6359, 6360, 7, 70, 2, 2, 6360, 6361, 7, 81, 2, 2, 6361, 6362, 7, 97, 2, 2, 6362, 6363, 7, 70, 2, 2, 6363, 6364, 7, 68, 2, 2, 6364, 992, 3, 2, 2, 2, 6365, 6366, 7, 84, 2, 2, 6366, 6367, 7, 71, 2, 2, 6367, 6368, 7, 82, 2, 2, 6368, 6369, 7, 78, 2, 2, 6369, 6370, 7, 75, 2, 2, 6370, 6371, 7, 69, 2, 2, 6371, 6372, 7, 67, 2, 2, 6372, 6373, 7, 86, 2, 2, 6373, 6374, 7, 71, 2, 2, 6374, 6375, 7, 97, 2, 2, 6375, 6376, 7, 70, 2, 2, 6376, 6377, 7, 81, 2, 2, 6377, 6378, 7, 97, 2, 2, 6378, 6379, 7, 86, 2, 2, 6379, 6380, 7, 67, 2, 2, 6380, 6381, 7, 68, 2, 2, 6381, 6382, 7, 78, 2, 2, 6382, 6383, 7, 71, 2, 2, 6383, 994, 3, 2, 2, 2, 6384, 6385, 7, 84, 2, 2, 6385, 6386, 7, 71, 2, 2, 6386, 6387, 7, 82, 2, 2, 6387, 6388, 7, 78, 2, 2, 6388, 6389, 7, 75, 2, 2, 6389, 6390, 7, 69, 2, 2, 6390, 6391, 7, 67, 2, 2, 6391, 6392, 7, 86, 2, 2, 6392, 6393, 7, 71, 2, 2, 6393, 6394, 7, 97, 2, 2, 6394, 6395, 7, 75, 2, 2, 6395, 6396, 7, 73, 2, 2, 6396, 6397, 7, 80, 2, 2, 6397, 6398, 7, 81, 2, 2, 6398, 6399, 7, 84, 2, 2, 6399, 6400, 7, 71, 2, 2, 6400, 6401, 7, 97, 2, 2, 6401, 6402, 7, 70, 2, 2, 6402, 6403, 7, 68, 2, 2, 6403, 996, 3, 2, 2, 2, 6404, 6405, 7, 84, 2, 2, 6405, 6406, 7, 71, 2, 2, 6406, 6407, 7, 82, 2, 2, 6407, 6408, 7, 78, 2, 2, 6408, 6409, 7, 75, 2, 2, 6409, 6410, 7, 69, 2, 2, 6410, 6411, 7, 67, 2, 2, 6411, 6412, 7, 86, 2, 2, 6412, 6413, 7, 71, 2, 2, 6413, 6414, 7, 97, 2, 2, 6414, 6415, 7, 75, 2, 2, 6415, 6416, 7, 73, 2, 2, 6416, 6417, 7, 80, 2, 2, 6417, 6418, 7, 81, 2, 2, 6418, 6419, 7, 84, 2, 2, 6419, 6420, 7, 71, 2, 2, 6420, 6421, 7, 97, 2, 2, 6421, 6422, 7, 86, 2, 2, 6422, 6423, 7, 67, 2, 2, 6423, 6424, 7, 68, 2, 2, 6424, 6425, 7, 78, 2, 2, 6425, 6426, 7, 71, 2, 2, 6426, 998, 3, 2, 2, 2, 6427, 6428, 7, 84, 2, 2, 6428, 6429, 7, 71, 2, 2, 6429, 6430, 7, 82, 2, 2, 6430, 6431, 7, 78, 2, 2, 6431, 6432, 7, 75, 2, 2, 6432, 6433, 7, 69, 2, 2, 6433, 6434, 7, 67, 2, 2, 6434, 6435, 7, 86, 2, 2, 6435, 6436, 7, 71, 2, 2, 6436, 6437, 7, 97, 2, 2, 6437, 6438, 7, 84, 2, 2, 6438, 6439, 7, 71, 2, 2, 6439, 6440, 7, 89, 2, 2, 6440, 6441, 7, 84, 2, 2, 6441, 6442, 7, 75, 2, 2, 6442, 6443, 7, 86, 2, 2, 6443, 6444, 7, 71, 2, 2, 6444, 6445, 7, 97, 2, 2, 6445, 6446, 7, 70, 2, 2, 6446, 6447, 7, 68, 2, 2, 6447, 1000, 3, 2, 2, 2, 6448, 6449, 7, 84, 2, 2, 6449, 6450, 7, 71, 2, 2, 6450, 6451, 7, 82, 2, 2, 6451, 6452, 7, 78, 2, 2, 6452, 6453, 7, 75, 2, 2, 6453, 6454, 7, 69, 2, 2, 6454, 6455, 7, 67, 2, 2, 6455, 6456, 7, 86, 2, 2, 6456, 6457, 7, 71, 2, 2, 6457, 6458, 7, 97, 2, 2, 6458, 6459, 7, 89, 2, 2, 6459, 6460, 7, 75, 2, 2, 6460, 6461, 7, 78, 2, 2, 6461, 6462, 7, 70, 2, 2, 6462, 6463, 7, 97, 2, 2, 6463, 6464, 7, 70, 2, 2, 6464, 6465, 7, 81, 2, 2, 6465, 6466, 7, 97, 2, 2, 6466, 6467, 7, 86, 2, 2, 6467, 6468, 7, 67, 2, 2, 6468, 6469, 7, 68, 2, 2, 6469, 6470, 7, 78, 2, 2, 6470, 6471, 7, 71, 2, 2, 6471, 1002, 3, 2, 2, 2, 6472, 6473, 7, 84, 2, 2, 6473, 6474, 7, 71, 2, 2, 6474, 6475, 7, 82, 2, 2, 6475, 6476, 7, 78, 2, 2, 6476, 6477, 7, 75, 2, 2, 6477, 6478, 7, 69, 2, 2, 6478, 6479, 7, 67, 2, 2, 6479, 6480, 7, 86, 2, 2, 6480, 6481, 7, 71, 2, 2, 6481, 6482, 7, 97, 2, 2, 6482, 6483, 7, 89, 2, 2, 6483, 6484, 7, 75, 2, 2, 6484, 6485, 7, 78, 2, 2, 6485, 6486, 7, 70, 2, 2, 6486, 6487, 7, 97, 2, 2, 6487, 6488, 7, 75, 2, 2, 6488, 6489, 7, 73, 2, 2, 6489, 6490, 7, 80, 2, 2, 6490, 6491, 7, 81, 2, 2, 6491, 6492, 7, 84, 2, 2, 6492, 6493, 7, 71, 2, 2, 6493, 6494, 7, 97, 2, 2, 6494, 6495, 7, 86, 2, 2, 6495, 6496, 7, 67, 2, 2, 6496, 6497, 7, 68, 2, 2, 6497, 6498, 7, 78, 2, 2, 6498, 6499, 7, 71, 2, 2, 6499, 1004, 3, 2, 2, 2, 6500, 6501, 7, 84, 2, 2, 6501, 6502, 7, 71, 2, 2, 6502, 6503, 7, 82, 2, 2, 6503, 6504, 7, 78, 2, 2, 6504, 6505, 7, 75, 2, 2, 6505, 6506, 7, 69, 2, 2, 6506, 6507, 7, 67, 2, 2, 6507, 6508, 7, 86, 2, 2, 6508, 6509, 7, 75, 2, 2, 6509, 6510, 7, 81, 2, 2, 6510, 6511, 7, 80, 2, 2, 6511, 1006, 3, 2, 2, 2, 6512, 6513, 7, 84, 2, 2, 6513, 6514, 7, 71, 2, 2, 6514, 6515, 7, 85, 2, 2, 6515, 6516, 7, 71, 2, 2, 6516, 6517, 7, 86, 2, 2, 6517, 1008, 3, 2, 2, 2, 6518, 6519, 7, 84, 2, 2, 6519, 6520, 7, 71, 2, 2, 6520, 6521, 7, 85, 2, 2, 6521, 6522, 7, 87, 2, 2, 6522, 6523, 7, 79, 2, 2, 6523, 6524, 7, 71, 2, 2, 6524, 1010, 3, 2, 2, 2, 6525, 6526, 7, 84, 2, 2, 6526, 6527, 7, 71, 2, 2, 6527, 6528, 7, 86, 2, 2, 6528, 6529, 7, 87, 2, 2, 6529, 6530, 7, 84, 2, 2, 6530, 6531, 7, 80, 2, 2, 6531, 6532, 7, 71, 2, 2, 6532, 6533, 7, 70, 2, 2, 6533, 6534, 7, 97, 2, 2, 6534, 6535, 7, 85, 2, 2, 6535, 6536, 7, 83, 2, 2, 6536, 6537, 7, 78, 2, 2, 6537, 6538, 7, 85, 2, 2, 6538, 6539, 7, 86, 2, 2, 6539, 6540, 7, 67, 2, 2, 6540, 6541, 7, 86, 2, 2, 6541, 6542, 7, 71, 2, 2, 6542, 1012, 3, 2, 2, 2, 6543, 6544, 7, 84, 2, 2, 6544, 6545, 7, 71, 2, 2, 6545, 6546, 7, 86, 2, 2, 6546, 6547, 7, 87, 2, 2, 6547, 6548, 7, 84, 2, 2, 6548, 6549, 7, 80, 2, 2, 6549, 6550, 7, 85, 2, 2, 6550, 1014, 3, 2, 2, 2, 6551, 6552, 7, 84, 2, 2, 6552, 6553, 7, 81, 2, 2, 6553, 6554, 7, 78, 2, 2, 6554, 6555, 7, 71, 2, 2, 6555, 1016, 3, 2, 2, 2, 6556, 6557, 7, 84, 2, 2, 6557, 6558, 7, 81, 2, 2, 6558, 6559, 7, 78, 2, 2, 6559, 6560, 7, 78, 2, 2, 6560, 6561, 7, 68, 2, 2, 6561, 6562, 7, 67, 2, 2, 6562, 6563, 7, 69, 2, 2, 6563, 6564, 7, 77, 2, 2, 6564, 1018, 3, 2, 2, 2, 6565, 6566, 7, 84, 2, 2, 6566, 6567, 7, 81, 2, 2, 6567, 6568, 7, 78, 2, 2, 6568, 6569, 7, 78, 2, 2, 6569, 6570, 7, 87, 2, 2, 6570, 6571, 7, 82, 2, 2, 6571, 1020, 3, 2, 2, 2, 6572, 6573, 7, 84, 2, 2, 6573, 6574, 7, 81, 2, 2, 6574, 6575, 7, 86, 2, 2, 6575, 6576, 7, 67, 2, 2, 6576, 6577, 7, 86, 2, 2, 6577, 6578, 7, 71, 2, 2, 6578, 1022, 3, 2, 2, 2, 6579, 6580, 7, 84, 2, 2, 6580, 6581, 7, 81, 2, 2, 6581, 6582, 7, 89, 2, 2, 6582, 1024, 3, 2, 2, 2, 6583, 6584, 7, 84, 2, 2, 6584, 6585, 7, 81, 2, 2, 6585, 6586, 7, 89, 2, 2, 6586, 6587, 7, 85, 2, 2, 6587, 1026, 3, 2, 2, 2, 6588, 6589, 7, 84, 2, 2, 6589, 6590, 7, 81, 2, 2, 6590, 6591, 7, 89, 2, 2, 6591, 6592, 7, 97, 2, 2, 6592, 6593, 7, 72, 2, 2, 6593, 6594, 7, 81, 2, 2, 6594, 6595, 7, 84, 2, 2, 6595, 6596, 7, 79, 2, 2, 6596, 6597, 7, 67, 2, 2, 6597, 6598, 7, 86, 2, 2, 6598, 1028, 3, 2, 2, 2, 6599, 6600, 7, 85, 2, 2, 6600, 6601, 7, 67, 2, 2, 6601, 6602, 7, 88, 2, 2, 6602, 6603, 7, 71, 2, 2, 6603, 6604, 7, 82, 2, 2, 6604, 6605, 7, 81, 2, 2, 6605, 6606, 7, 75, 2, 2, 6606, 6607, 7, 80, 2, 2, 6607, 6608, 7, 86, 2, 2, 6608, 1030, 3, 2, 2, 2, 6609, 6610, 7, 85, 2, 2, 6610, 6611, 7, 69, 2, 2, 6611, 6612, 7, 74, 2, 2, 6612, 6613, 7, 71, 2, 2, 6613, 6614, 7, 70, 2, 2, 6614, 6615, 7, 87, 2, 2, 6615, 6616, 7, 78, 2, 2, 6616, 6617, 7, 71, 2, 2, 6617, 1032, 3, 2, 2, 2, 6618, 6619, 7, 85, 2, 2, 6619, 6620, 7, 71, 2, 2, 6620, 6621, 7, 69, 2, 2, 6621, 6622, 7, 87, 2, 2, 6622, 6623, 7, 84, 2, 2, 6623, 6624, 7, 75, 2, 2, 6624, 6625, 7, 86, 2, 2, 6625, 6626, 7, 91, 2, 2, 6626, 1034, 3, 2, 2, 2, 6627, 6628, 7, 85, 2, 2, 6628, 6629, 7, 71, 2, 2, 6629, 6630, 7, 84, 2, 2, 6630, 6631, 7, 88, 2, 2, 6631, 6632, 7, 71, 2, 2, 6632, 6633, 7, 84, 2, 2, 6633, 1036, 3, 2, 2, 2, 6634, 6635, 7, 85, 2, 2, 6635, 6636, 7, 71, 2, 2, 6636, 6637, 7, 85, 2, 2, 6637, 6638, 7, 85, 2, 2, 6638, 6639, 7, 75, 2, 2, 6639, 6640, 7, 81, 2, 2, 6640, 6641, 7, 80, 2, 2, 6641, 1038, 3, 2, 2, 2, 6642, 6643, 7, 85, 2, 2, 6643, 6644, 7, 74, 2, 2, 6644, 6645, 7, 67, 2, 2, 6645, 6646, 7, 84, 2, 2, 6646, 6647, 7, 71, 2, 2, 6647, 1040, 3, 2, 2, 2, 6648, 6649, 7, 85, 2, 2, 6649, 6650, 7, 74, 2, 2, 6650, 6651, 7, 67, 2, 2, 6651, 6652, 7, 84, 2, 2, 6652, 6653, 7, 71, 2, 2, 6653, 6654, 7, 70, 2, 2, 6654, 1042, 3, 2, 2, 2, 6655, 6656, 7, 85, 2, 2, 6656, 6657, 7, 75, 2, 2, 6657, 6658, 7, 73, 2, 2, 6658, 6659, 7, 80, 2, 2, 6659, 6660, 7, 71, 2, 2, 6660, 6661, 7, 70, 2, 2, 6661, 1044, 3, 2, 2, 2, 6662, 6663, 7, 85, 2, 2, 6663, 6664, 7, 75, 2, 2, 6664, 6665, 7, 79, 2, 2, 6665, 6666, 7, 82, 2, 2, 6666, 6667, 7, 78, 2, 2, 6667, 6668, 7, 71, 2, 2, 6668, 1046, 3, 2, 2, 2, 6669, 6670, 7, 85, 2, 2, 6670, 6671, 7, 78, 2, 2, 6671, 6672, 7, 67, 2, 2, 6672, 6673, 7, 88, 2, 2, 6673, 6674, 7, 71, 2, 2, 6674, 1048, 3, 2, 2, 2, 6675, 6676, 7, 85, 2, 2, 6676, 6677, 7, 78, 2, 2, 6677, 6678, 7, 81, 2, 2, 6678, 6679, 7, 89, 2, 2, 6679, 1050, 3, 2, 2, 2, 6680, 6681, 7, 85, 2, 2, 6681, 6682, 7, 80, 2, 2, 6682, 6683, 7, 67, 2, 2, 6683, 6684, 7, 82, 2, 2, 6684, 6685, 7, 85, 2, 2, 6685, 6686, 7, 74, 2, 2, 6686, 6687, 7, 81, 2, 2, 6687, 6688, 7, 86, 2, 2, 6688, 1052, 3, 2, 2, 2, 6689, 6690, 7, 85, 2, 2, 6690, 6691, 7, 81, 2, 2, 6691, 6692, 7, 69, 2, 2, 6692, 6693, 7, 77, 2, 2, 6693, 6694, 7, 71, 2, 2, 6694, 6695, 7, 86, 2, 2, 6695, 1054, 3, 2, 2, 2, 6696, 6697, 7, 85, 2, 2, 6697, 6698, 7, 81, 2, 2, 6698, 6699, 7, 79, 2, 2, 6699, 6700, 7, 71, 2, 2, 6700, 1056, 3, 2, 2, 2, 6701, 6702, 7, 85, 2, 2, 6702, 6703, 7, 81, 2, 2, 6703, 6704, 7, 80, 2, 2, 6704, 6705, 7, 67, 2, 2, 6705, 6706, 7, 79, 2, 2, 6706, 6707, 7, 71, 2, 2, 6707, 1058, 3, 2, 2, 2, 6708, 6709, 7, 85, 2, 2, 6709, 6710, 7, 81, 2, 2, 6710, 6711, 7, 87, 2, 2, 6711, 6712, 7, 80, 2, 2, 6712, 6713, 7, 70, 2, 2, 6713, 6714, 7, 85, 2, 2, 6714, 1060, 3, 2, 2, 2, 6715, 6716, 7, 85, 2, 2, 6716, 6717, 7, 81, 2, 2, 6717, 6718, 7, 87, 2, 2, 6718, 6719, 7, 84, 2, 2, 6719, 6720, 7, 69, 2, 2, 6720, 6721, 7, 71, 2, 2, 6721, 1062, 3, 2, 2, 2, 6722, 6723, 7, 85, 2, 2, 6723, 6724, 7, 83, 2, 2, 6724, 6725, 7, 78, 2, 2, 6725, 6726, 7, 97, 2, 2, 6726, 6727, 7, 67, 2, 2, 6727, 6728, 7, 72, 2, 2, 6728, 6729, 7, 86, 2, 2, 6729, 6730, 7, 71, 2, 2, 6730, 6731, 7, 84, 2, 2, 6731, 6732, 7, 97, 2, 2, 6732, 6733, 7, 73, 2, 2, 6733, 6734, 7, 86, 2, 2, 6734, 6735, 7, 75, 2, 2, 6735, 6736, 7, 70, 2, 2, 6736, 6737, 7, 85, 2, 2, 6737, 1064, 3, 2, 2, 2, 6738, 6739, 7, 85, 2, 2, 6739, 6740, 7, 83, 2, 2, 6740, 6741, 7, 78, 2, 2, 6741, 6742, 7, 97, 2, 2, 6742, 6743, 7, 67, 2, 2, 6743, 6744, 7, 72, 2, 2, 6744, 6745, 7, 86, 2, 2, 6745, 6746, 7, 71, 2, 2, 6746, 6747, 7, 84, 2, 2, 6747, 6748, 7, 97, 2, 2, 6748, 6749, 7, 79, 2, 2, 6749, 6750, 7, 86, 2, 2, 6750, 6751, 7, 85, 2, 2, 6751, 6752, 7, 97, 2, 2, 6752, 6753, 7, 73, 2, 2, 6753, 6754, 7, 67, 2, 2, 6754, 6755, 7, 82, 2, 2, 6755, 6756, 7, 85, 2, 2, 6756, 1066, 3, 2, 2, 2, 6757, 6758, 7, 85, 2, 2, 6758, 6759, 7, 83, 2, 2, 6759, 6760, 7, 78, 2, 2, 6760, 6761, 7, 97, 2, 2, 6761, 6762, 7, 68, 2, 2, 6762, 6763, 7, 71, 2, 2, 6763, 6764, 7, 72, 2, 2, 6764, 6765, 7, 81, 2, 2, 6765, 6766, 7, 84, 2, 2, 6766, 6767, 7, 71, 2, 2, 6767, 6768, 7, 97, 2, 2, 6768, 6769, 7, 73, 2, 2, 6769, 6770, 7, 86, 2, 2, 6770, 6771, 7, 75, 2, 2, 6771, 6772, 7, 70, 2, 2, 6772, 6773, 7, 85, 2, 2, 6773, 1068, 3, 2, 2, 2, 6774, 6775, 7, 85, 2, 2, 6775, 6776, 7, 83, 2, 2, 6776, 6777, 7, 78, 2, 2, 6777, 6778, 7, 97, 2, 2, 6778, 6779, 7, 68, 2, 2, 6779, 6780, 7, 87, 2, 2, 6780, 6781, 7, 72, 2, 2, 6781, 6782, 7, 72, 2, 2, 6782, 6783, 7, 71, 2, 2, 6783, 6784, 7, 84, 2, 2, 6784, 6785, 7, 97, 2, 2, 6785, 6786, 7, 84, 2, 2, 6786, 6787, 7, 71, 2, 2, 6787, 6788, 7, 85, 2, 2, 6788, 6789, 7, 87, 2, 2, 6789, 6790, 7, 78, 2, 2, 6790, 6791, 7, 86, 2, 2, 6791, 1070, 3, 2, 2, 2, 6792, 6793, 7, 85, 2, 2, 6793, 6794, 7, 83, 2, 2, 6794, 6795, 7, 78, 2, 2, 6795, 6796, 7, 97, 2, 2, 6796, 6797, 7, 69, 2, 2, 6797, 6798, 7, 67, 2, 2, 6798, 6799, 7, 69, 2, 2, 6799, 6800, 7, 74, 2, 2, 6800, 6801, 7, 71, 2, 2, 6801, 1072, 3, 2, 2, 2, 6802, 6803, 7, 85, 2, 2, 6803, 6804, 7, 83, 2, 2, 6804, 6805, 7, 78, 2, 2, 6805, 6806, 7, 97, 2, 2, 6806, 6807, 7, 80, 2, 2, 6807, 6808, 7, 81, 2, 2, 6808, 6809, 7, 97, 2, 2, 6809, 6810, 7, 69, 2, 2, 6810, 6811, 7, 67, 2, 2, 6811, 6812, 7, 69, 2, 2, 6812, 6813, 7, 74, 2, 2, 6813, 6814, 7, 71, 2, 2, 6814, 1074, 3, 2, 2, 2, 6815, 6816, 7, 85, 2, 2, 6816, 6817, 7, 83, 2, 2, 6817, 6818, 7, 78, 2, 2, 6818, 6819, 7, 97, 2, 2, 6819, 6820, 7, 86, 2, 2, 6820, 6821, 7, 74, 2, 2, 6821, 6822, 7, 84, 2, 2, 6822, 6823, 7, 71, 2, 2, 6823, 6824, 7, 67, 2, 2, 6824, 6825, 7, 70, 2, 2, 6825, 1076, 3, 2, 2, 2, 6826, 6827, 7, 85, 2, 2, 6827, 6828, 7, 86, 2, 2, 6828, 6829, 7, 67, 2, 2, 6829, 6830, 7, 84, 2, 2, 6830, 6831, 7, 86, 2, 2, 6831, 1078, 3, 2, 2, 2, 6832, 6833, 7, 85, 2, 2, 6833, 6834, 7, 86, 2, 2, 6834, 6835, 7, 67, 2, 2, 6835, 6836, 7, 84, 2, 2, 6836, 6837, 7, 86, 2, 2, 6837, 6838, 7, 85, 2, 2, 6838, 1080, 3, 2, 2, 2, 6839, 6840, 7, 85, 2, 2, 6840, 6841, 7, 86, 2, 2, 6841, 6842, 7, 67, 2, 2, 6842, 6843, 7, 86, 2, 2, 6843, 6844, 7, 85, 2, 2, 6844, 6845, 7, 97, 2, 2, 6845, 6846, 7, 67, 2, 2, 6846, 6847, 7, 87, 2, 2, 6847, 6848, 7, 86, 2, 2, 6848, 6849, 7, 81, 2, 2, 6849, 6850, 7, 97, 2, 2, 6850, 6851, 7, 84, 2, 2, 6851, 6852, 7, 71, 2, 2, 6852, 6853, 7, 69, 2, 2, 6853, 6854, 7, 67, 2, 2, 6854, 6855, 7, 78, 2, 2, 6855, 6856, 7, 69, 2, 2, 6856, 1082, 3, 2, 2, 2, 6857, 6858, 7, 85, 2, 2, 6858, 6859, 7, 86, 2, 2, 6859, 6860, 7, 67, 2, 2, 6860, 6861, 7, 86, 2, 2, 6861, 6862, 7, 85, 2, 2, 6862, 6863, 7, 97, 2, 2, 6863, 6864, 7, 82, 2, 2, 6864, 6865, 7, 71, 2, 2, 6865, 6866, 7, 84, 2, 2, 6866, 6867, 7, 85, 2, 2, 6867, 6868, 7, 75, 2, 2, 6868, 6869, 7, 85, 2, 2, 6869, 6870, 7, 86, 2, 2, 6870, 6871, 7, 71, 2, 2, 6871, 6872, 7, 80, 2, 2, 6872, 6873, 7, 86, 2, 2, 6873, 1084, 3, 2, 2, 2, 6874, 6875, 7, 85, 2, 2, 6875, 6876, 7, 86, 2, 2, 6876, 6877, 7, 67, 2, 2, 6877, 6878, 7, 86, 2, 2, 6878, 6879, 7, 85, 2, 2, 6879, 6880, 7, 97, 2, 2, 6880, 6881, 7, 85, 2, 2, 6881, 6882, 7, 67, 2, 2, 6882, 6883, 7, 79, 2, 2, 6883, 6884, 7, 82, 2, 2, 6884, 6885, 7, 78, 2, 2, 6885, 6886, 7, 71, 2, 2, 6886, 6887, 7, 97, 2, 2, 6887, 6888, 7, 82, 2, 2, 6888, 6889, 7, 67, 2, 2, 6889, 6890, 7, 73, 2, 2, 6890, 6891, 7, 71, 2, 2, 6891, 6892, 7, 85, 2, 2, 6892, 1086, 3, 2, 2, 2, 6893, 6894, 7, 85, 2, 2, 6894, 6895, 7, 86, 2, 2, 6895, 6896, 7, 67, 2, 2, 6896, 6897, 7, 86, 2, 2, 6897, 6898, 7, 87, 2, 2, 6898, 6899, 7, 85, 2, 2, 6899, 1088, 3, 2, 2, 2, 6900, 6901, 7, 85, 2, 2, 6901, 6902, 7, 86, 2, 2, 6902, 6903, 7, 81, 2, 2, 6903, 6904, 7, 82, 2, 2, 6904, 1090, 3, 2, 2, 2, 6905, 6906, 7, 85, 2, 2, 6906, 6907, 7, 86, 2, 2, 6907, 6908, 7, 81, 2, 2, 6908, 6909, 7, 84, 2, 2, 6909, 6910, 7, 67, 2, 2, 6910, 6911, 7, 73, 2, 2, 6911, 6912, 7, 71, 2, 2, 6912, 1092, 3, 2, 2, 2, 6913, 6914, 7, 85, 2, 2, 6914, 6915, 7, 86, 2, 2, 6915, 6916, 7, 81, 2, 2, 6916, 6917, 7, 84, 2, 2, 6917, 6918, 7, 71, 2, 2, 6918, 6919, 7, 70, 2, 2, 6919, 1094, 3, 2, 2, 2, 6920, 6921, 7, 85, 2, 2, 6921, 6922, 7, 86, 2, 2, 6922, 6923, 7, 84, 2, 2, 6923, 6924, 7, 75, 2, 2, 6924, 6925, 7, 80, 2, 2, 6925, 6926, 7, 73, 2, 2, 6926, 1096, 3, 2, 2, 2, 6927, 6928, 7, 85, 2, 2, 6928, 6929, 7, 87, 2, 2, 6929, 6930, 7, 68, 2, 2, 6930, 6931, 7, 69, 2, 2, 6931, 6932, 7, 78, 2, 2, 6932, 6933, 7, 67, 2, 2, 6933, 6934, 7, 85, 2, 2, 6934, 6935, 7, 85, 2, 2, 6935, 6936, 7, 97, 2, 2, 6936, 6937, 7, 81, 2, 2, 6937, 6938, 7, 84, 2, 2, 6938, 6939, 7, 75, 2, 2, 6939, 6940, 7, 73, 2, 2, 6940, 6941, 7, 75, 2, 2, 6941, 6942, 7, 80, 2, 2, 6942, 1098, 3, 2, 2, 2, 6943, 6944, 7, 85, 2, 2, 6944, 6945, 7, 87, 2, 2, 6945, 6946, 7, 68, 2, 2, 6946, 6947, 7, 76, 2, 2, 6947, 6948, 7, 71, 2, 2, 6948, 6949, 7, 69, 2, 2, 6949, 6950, 7, 86, 2, 2, 6950, 1100, 3, 2, 2, 2, 6951, 6952, 7, 85, 2, 2, 6952, 6953, 7, 87, 2, 2, 6953, 6954, 7, 68, 2, 2, 6954, 6955, 7, 82, 2, 2, 6955, 6956, 7, 67, 2, 2, 6956, 6957, 7, 84, 2, 2, 6957, 6958, 7, 86, 2, 2, 6958, 6959, 7, 75, 2, 2, 6959, 6960, 7, 86, 2, 2, 6960, 6961, 7, 75, 2, 2, 6961, 6962, 7, 81, 2, 2, 6962, 6963, 7, 80, 2, 2, 6963, 1102, 3, 2, 2, 2, 6964, 6965, 7, 85, 2, 2, 6965, 6966, 7, 87, 2, 2, 6966, 6967, 7, 68, 2, 2, 6967, 6968, 7, 82, 2, 2, 6968, 6969, 7, 67, 2, 2, 6969, 6970, 7, 84, 2, 2, 6970, 6971, 7, 86, 2, 2, 6971, 6972, 7, 75, 2, 2, 6972, 6973, 7, 86, 2, 2, 6973, 6974, 7, 75, 2, 2, 6974, 6975, 7, 81, 2, 2, 6975, 6976, 7, 80, 2, 2, 6976, 6977, 7, 85, 2, 2, 6977, 1104, 3, 2, 2, 2, 6978, 6979, 7, 85, 2, 2, 6979, 6980, 7, 87, 2, 2, 6980, 6981, 7, 85, 2, 2, 6981, 6982, 7, 82, 2, 2, 6982, 6983, 7, 71, 2, 2, 6983, 6984, 7, 80, 2, 2, 6984, 6985, 7, 70, 2, 2, 6985, 1106, 3, 2, 2, 2, 6986, 6987, 7, 85, 2, 2, 6987, 6988, 7, 89, 2, 2, 6988, 6989, 7, 67, 2, 2, 6989, 6990, 7, 82, 2, 2, 6990, 6991, 7, 85, 2, 2, 6991, 1108, 3, 2, 2, 2, 6992, 6993, 7, 85, 2, 2, 6993, 6994, 7, 89, 2, 2, 6994, 6995, 7, 75, 2, 2, 6995, 6996, 7, 86, 2, 2, 6996, 6997, 7, 69, 2, 2, 6997, 6998, 7, 74, 2, 2, 6998, 6999, 7, 71, 2, 2, 6999, 7000, 7, 85, 2, 2, 7000, 1110, 3, 2, 2, 2, 7001, 7002, 7, 86, 2, 2, 7002, 7003, 7, 67, 2, 2, 7003, 7004, 7, 68, 2, 2, 7004, 7005, 7, 78, 2, 2, 7005, 7006, 7, 71, 2, 2, 7006, 7007, 7, 97, 2, 2, 7007, 7008, 7, 80, 2, 2, 7008, 7009, 7, 67, 2, 2, 7009, 7010, 7, 79, 2, 2, 7010, 7011, 7, 71, 2, 2, 7011, 1112, 3, 2, 2, 2, 7012, 7013, 7, 86, 2, 2, 7013, 7014, 7, 67, 2, 2, 7014, 7015, 7, 68, 2, 2, 7015, 7016, 7, 78, 2, 2, 7016, 7017, 7, 71, 2, 2, 7017, 7018, 7, 85, 2, 2, 7018, 7019, 7, 82, 2, 2, 7019, 7020, 7, 67, 2, 2, 7020, 7021, 7, 69, 2, 2, 7021, 7022, 7, 71, 2, 2, 7022, 1114, 3, 2, 2, 2, 7023, 7024, 7, 86, 2, 2, 7024, 7025, 7, 71, 2, 2, 7025, 7026, 7, 79, 2, 2, 7026, 7027, 7, 82, 2, 2, 7027, 7028, 7, 81, 2, 2, 7028, 7029, 7, 84, 2, 2, 7029, 7030, 7, 67, 2, 2, 7030, 7031, 7, 84, 2, 2, 7031, 7032, 7, 91, 2, 2, 7032, 1116, 3, 2, 2, 2, 7033, 7034, 7, 86, 2, 2, 7034, 7035, 7, 71, 2, 2, 7035, 7036, 7, 79, 2, 2, 7036, 7037, 7, 82, 2, 2, 7037, 7038, 7, 86, 2, 2, 7038, 7039, 7, 67, 2, 2, 7039, 7040, 7, 68, 2, 2, 7040, 7041, 7, 78, 2, 2, 7041, 7042, 7, 71, 2, 2, 7042, 1118, 3, 2, 2, 2, 7043, 7044, 7, 86, 2, 2, 7044, 7045, 7, 74, 2, 2, 7045, 7046, 7, 67, 2, 2, 7046, 7047, 7, 80, 2, 2, 7047, 1120, 3, 2, 2, 2, 7048, 7049, 7, 86, 2, 2, 7049, 7050, 7, 84, 2, 2, 7050, 7051, 7, 67, 2, 2, 7051, 7052, 7, 70, 2, 2, 7052, 7053, 7, 75, 2, 2, 7053, 7054, 7, 86, 2, 2, 7054, 7055, 7, 75, 2, 2, 7055, 7056, 7, 81, 2, 2, 7056, 7057, 7, 80, 2, 2, 7057, 7058, 7, 67, 2, 2, 7058, 7059, 7, 78, 2, 2, 7059, 1122, 3, 2, 2, 2, 7060, 7061, 7, 86, 2, 2, 7061, 7062, 7, 84, 2, 2, 7062, 7063, 7, 67, 2, 2, 7063, 7064, 7, 80, 2, 2, 7064, 7065, 7, 85, 2, 2, 7065, 7066, 7, 67, 2, 2, 7066, 7067, 7, 69, 2, 2, 7067, 7068, 7, 86, 2, 2, 7068, 7069, 7, 75, 2, 2, 7069, 7070, 7, 81, 2, 2, 7070, 7071, 7, 80, 2, 2, 7071, 1124, 3, 2, 2, 2, 7072, 7073, 7, 86, 2, 2, 7073, 7074, 7, 84, 2, 2, 7074, 7075, 7, 67, 2, 2, 7075, 7076, 7, 80, 2, 2, 7076, 7077, 7, 85, 2, 2, 7077, 7078, 7, 67, 2, 2, 7078, 7079, 7, 69, 2, 2, 7079, 7080, 7, 86, 2, 2, 7080, 7081, 7, 75, 2, 2, 7081, 7082, 7, 81, 2, 2, 7082, 7083, 7, 80, 2, 2, 7083, 7084, 7, 67, 2, 2, 7084, 7085, 7, 78, 2, 2, 7085, 1126, 3, 2, 2, 2, 7086, 7087, 7, 86, 2, 2, 7087, 7088, 7, 84, 2, 2, 7088, 7089, 7, 75, 2, 2, 7089, 7090, 7, 73, 2, 2, 7090, 7091, 7, 73, 2, 2, 7091, 7092, 7, 71, 2, 2, 7092, 7093, 7, 84, 2, 2, 7093, 7094, 7, 85, 2, 2, 7094, 1128, 3, 2, 2, 2, 7095, 7096, 7, 86, 2, 2, 7096, 7097, 7, 84, 2, 2, 7097, 7098, 7, 87, 2, 2, 7098, 7099, 7, 80, 2, 2, 7099, 7100, 7, 69, 2, 2, 7100, 7101, 7, 67, 2, 2, 7101, 7102, 7, 86, 2, 2, 7102, 7103, 7, 71, 2, 2, 7103, 1130, 3, 2, 2, 2, 7104, 7105, 7, 87, 2, 2, 7105, 7106, 7, 80, 2, 2, 7106, 7107, 7, 70, 2, 2, 7107, 7108, 7, 71, 2, 2, 7108, 7109, 7, 72, 2, 2, 7109, 7110, 7, 75, 2, 2, 7110, 7111, 7, 80, 2, 2, 7111, 7112, 7, 71, 2, 2, 7112, 7113, 7, 70, 2, 2, 7113, 1132, 3, 2, 2, 2, 7114, 7115, 7, 87, 2, 2, 7115, 7116, 7, 80, 2, 2, 7116, 7117, 7, 70, 2, 2, 7117, 7118, 7, 81, 2, 2, 7118, 7119, 7, 72, 2, 2, 7119, 7120, 7, 75, 2, 2, 7120, 7121, 7, 78, 2, 2, 7121, 7122, 7, 71, 2, 2, 7122, 1134, 3, 2, 2, 2, 7123, 7124, 7, 87, 2, 2, 7124, 7125, 7, 80, 2, 2, 7125, 7126, 7, 70, 2, 2, 7126, 7127, 7, 81, 2, 2, 7127, 7128, 7, 97, 2, 2, 7128, 7129, 7, 68, 2, 2, 7129, 7130, 7, 87, 2, 2, 7130, 7131, 7, 72, 2, 2, 7131, 7132, 7, 72, 2, 2, 7132, 7133, 7, 71, 2, 2, 7133, 7134, 7, 84, 2, 2, 7134, 7135, 7, 97, 2, 2, 7135, 7136, 7, 85, 2, 2, 7136, 7137, 7, 75, 2, 2, 7137, 7138, 7, 92, 2, 2, 7138, 7139, 7, 71, 2, 2, 7139, 1136, 3, 2, 2, 2, 7140, 7141, 7, 87, 2, 2, 7141, 7142, 7, 80, 2, 2, 7142, 7143, 7, 75, 2, 2, 7143, 7144, 7, 80, 2, 2, 7144, 7145, 7, 85, 2, 2, 7145, 7146, 7, 86, 2, 2, 7146, 7147, 7, 67, 2, 2, 7147, 7148, 7, 78, 2, 2, 7148, 7149, 7, 78, 2, 2, 7149, 1138, 3, 2, 2, 2, 7150, 7151, 7, 87, 2, 2, 7151, 7152, 7, 80, 2, 2, 7152, 7153, 7, 77, 2, 2, 7153, 7154, 7, 80, 2, 2, 7154, 7155, 7, 81, 2, 2, 7155, 7156, 7, 89, 2, 2, 7156, 7157, 7, 80, 2, 2, 7157, 1140, 3, 2, 2, 2, 7158, 7159, 7, 87, 2, 2, 7159, 7160, 7, 80, 2, 2, 7160, 7161, 7, 86, 2, 2, 7161, 7162, 7, 75, 2, 2, 7162, 7163, 7, 78, 2, 2, 7163, 1142, 3, 2, 2, 2, 7164, 7165, 7, 87, 2, 2, 7165, 7166, 7, 82, 2, 2, 7166, 7167, 7, 73, 2, 2, 7167, 7168, 7, 84, 2, 2, 7168, 7169, 7, 67, 2, 2, 7169, 7170, 7, 70, 2, 2, 7170, 7171, 7, 71, 2, 2, 7171, 1144, 3, 2, 2, 2, 7172, 7173, 7, 87, 2, 2, 7173, 7174, 7, 85, 2, 2, 7174, 7175, 7, 71, 2, 2, 7175, 7176, 7, 84, 2, 2, 7176, 1146, 3, 2, 2, 2, 7177, 7178, 7, 87, 2, 2, 7178, 7179, 7, 85, 2, 2, 7179, 7180, 7, 71, 2, 2, 7180, 7181, 7, 97, 2, 2, 7181, 7182, 7, 72, 2, 2, 7182, 7183, 7, 84, 2, 2, 7183, 7184, 7, 79, 2, 2, 7184, 1148, 3, 2, 2, 2, 7185, 7186, 7, 87, 2, 2, 7186, 7187, 7, 85, 2, 2, 7187, 7188, 7, 71, 2, 2, 7188, 7189, 7, 84, 2, 2, 7189, 7190, 7, 97, 2, 2, 7190, 7191, 7, 84, 2, 2, 7191, 7192, 7, 71, 2, 2, 7192, 7193, 7, 85, 2, 2, 7193, 7194, 7, 81, 2, 2, 7194, 7195, 7, 87, 2, 2, 7195, 7196, 7, 84, 2, 2, 7196, 7197, 7, 69, 2, 2, 7197, 7198, 7, 71, 2, 2, 7198, 7199, 7, 85, 2, 2, 7199, 1150, 3, 2, 2, 2, 7200, 7201, 7, 88, 2, 2, 7201, 7202, 7, 67, 2, 2, 7202, 7203, 7, 78, 2, 2, 7203, 7204, 7, 75, 2, 2, 7204, 7205, 7, 70, 2, 2, 7205, 7206, 7, 67, 2, 2, 7206, 7207, 7, 86, 2, 2, 7207, 7208, 7, 75, 2, 2, 7208, 7209, 7, 81, 2, 2, 7209, 7210, 7, 80, 2, 2, 7210, 1152, 3, 2, 2, 2, 7211, 7212, 7, 88, 2, 2, 7212, 7213, 7, 67, 2, 2, 7213, 7214, 7, 78, 2, 2, 7214, 7215, 7, 87, 2, 2, 7215, 7216, 7, 71, 2, 2, 7216, 1154, 3, 2, 2, 2, 7217, 7218, 7, 88, 2, 2, 7218, 7219, 7, 67, 2, 2, 7219, 7220, 7, 84, 2, 2, 7220, 7221, 7, 75, 2, 2, 7221, 7222, 7, 67, 2, 2, 7222, 7223, 7, 68, 2, 2, 7223, 7224, 7, 78, 2, 2, 7224, 7225, 7, 71, 2, 2, 7225, 7226, 7, 85, 2, 2, 7226, 1156, 3, 2, 2, 2, 7227, 7228, 7, 88, 2, 2, 7228, 7229, 7, 75, 2, 2, 7229, 7230, 7, 71, 2, 2, 7230, 7231, 7, 89, 2, 2, 7231, 1158, 3, 2, 2, 2, 7232, 7233, 7, 88, 2, 2, 7233, 7234, 7, 75, 2, 2, 7234, 7235, 7, 84, 2, 2, 7235, 7236, 7, 86, 2, 2, 7236, 7237, 7, 87, 2, 2, 7237, 7238, 7, 67, 2, 2, 7238, 7239, 7, 78, 2, 2, 7239, 1160, 3, 2, 2, 2, 7240, 7241, 7, 88, 2, 2, 7241, 7242, 7, 75, 2, 2, 7242, 7243, 7, 85, 2, 2, 7243, 7244, 7, 75, 2, 2, 7244, 7245, 7, 68, 2, 2, 7245, 7246, 7, 78, 2, 2, 7246, 7247, 7, 71, 2, 2, 7247, 1162, 3, 2, 2, 2, 7248, 7249, 7, 89, 2, 2, 7249, 7250, 7, 67, 2, 2, 7250, 7251, 7, 75, 2, 2, 7251, 7252, 7, 86, 2, 2, 7252, 1164, 3, 2, 2, 2, 7253, 7254, 7, 89, 2, 2, 7254, 7255, 7, 67, 2, 2, 7255, 7256, 7, 84, 2, 2, 7256, 7257, 7, 80, 2, 2, 7257, 7258, 7, 75, 2, 2, 7258, 7259, 7, 80, 2, 2, 7259, 7260, 7, 73, 2, 2, 7260, 7261, 7, 85, 2, 2, 7261, 1166, 3, 2, 2, 2, 7262, 7263, 7, 89, 2, 2, 7263, 7264, 7, 75, 2, 2, 7264, 7265, 7, 86, 2, 2, 7265, 7266, 7, 74, 2, 2, 7266, 7267, 7, 81, 2, 2, 7267, 7268, 7, 87, 2, 2, 7268, 7269, 7, 86, 2, 2, 7269, 1168, 3, 2, 2, 2, 7270, 7271, 7, 89, 2, 2, 7271, 7272, 7, 81, 2, 2, 7272, 7273, 7, 84, 2, 2, 7273, 7274, 7, 77, 2, 2, 7274, 1170, 3, 2, 2, 2, 7275, 7276, 7, 89, 2, 2, 7276, 7277, 7, 84, 2, 2, 7277, 7278, 7, 67, 2, 2, 7278, 7279, 7, 82, 2, 2, 7279, 7280, 7, 82, 2, 2, 7280, 7281, 7, 71, 2, 2, 7281, 7282, 7, 84, 2, 2, 7282, 1172, 3, 2, 2, 2, 7283, 7284, 7, 90, 2, 2, 7284, 7285, 7, 55, 2, 2, 7285, 7286, 7, 50, 2, 2, 7286, 7287, 7, 59, 2, 2, 7287, 1174, 3, 2, 2, 2, 7288, 7289, 7, 90, 2, 2, 7289, 7290, 7, 67, 2, 2, 7290, 1176, 3, 2, 2, 2, 7291, 7292, 7, 90, 2, 2, 7292, 7293, 7, 79, 2, 2, 7293, 7294, 7, 78, 2, 2, 7294, 1178, 3, 2, 2, 2, 7295, 7296, 7, 71, 2, 2, 7296, 7297, 7, 87, 2, 2, 7297, 7298, 7, 84, 2, 2, 7298, 1180, 3, 2, 2, 2, 7299, 7300, 7, 87, 2, 2, 7300, 7301, 7, 85, 2, 2, 7301, 7302, 7, 67, 2, 2, 7302, 1182, 3, 2, 2, 2, 7303, 7304, 7, 76, 2, 2, 7304, 7305, 7, 75, 2, 2, 7305, 7306, 7, 85, 2, 2, 7306, 1184, 3, 2, 2, 2, 7307, 7308, 7, 75, 2, 2, 7308, 7309, 7, 85, 2, 2, 7309, 7310, 7, 81, 2, 2, 7310, 1186, 3, 2, 2, 2, 7311, 7312, 7, 75, 2, 2, 7312, 7313, 7, 80, 2, 2, 7313, 7314, 7, 86, 2, 2, 7314, 7315, 7, 71, 2, 2, 7315, 7316, 7, 84, 2, 2, 7316, 7317, 7, 80, 2, 2, 7317, 7318, 7, 67, 2, 2, 7318, 7319, 7, 78, 2, 2, 7319, 1188, 3, 2, 2, 2, 7320, 7321, 7, 83, 2, 2, 7321, 7322, 7, 87, 2, 2, 7322, 7323, 7, 67, 2, 2, 7323, 7324, 7, 84, 2, 2, 7324, 7325, 7, 86, 2, 2, 7325, 7326, 7, 71, 2, 2, 7326, 7327, 7, 84, 2, 2, 7327, 1190, 3, 2, 2, 2, 7328, 7329, 7, 79, 2, 2, 7329, 7330, 7, 81, 2, 2, 7330, 7331, 7, 80, 2, 2, 7331, 7332, 7, 86, 2, 2, 7332, 7333, 7, 74, 2, 2, 7333, 1192, 3, 2, 2, 2, 7334, 7335, 7, 70, 2, 2, 7335, 7336, 7, 67, 2, 2, 7336, 7337, 7, 91, 2, 2, 7337, 1194, 3, 2, 2, 2, 7338, 7339, 7, 74, 2, 2, 7339, 7340, 7, 81, 2, 2, 7340, 7341, 7, 87, 2, 2, 7341, 7342, 7, 84, 2, 2, 7342, 1196, 3, 2, 2, 2, 7343, 7344, 7, 79, 2, 2, 7344, 7345, 7, 75, 2, 2, 7345, 7346, 7, 80, 2, 2, 7346, 7347, 7, 87, 2, 2, 7347, 7348, 7, 86, 2, 2, 7348, 7349, 7, 71, 2, 2, 7349, 1198, 3, 2, 2, 2, 7350, 7351, 7, 89, 2, 2, 7351, 7352, 7, 71, 2, 2, 7352, 7353, 7, 71, 2, 2, 7353, 7354, 7, 77, 2, 2, 7354, 1200, 3, 2, 2, 2, 7355, 7356, 7, 85, 2, 2, 7356, 7357, 7, 71, 2, 2, 7357, 7358, 7, 69, 2, 2, 7358, 7359, 7, 81, 2, 2, 7359, 7360, 7, 80, 2, 2, 7360, 7361, 7, 70, 2, 2, 7361, 1202, 3, 2, 2, 2, 7362, 7363, 7, 79, 2, 2, 7363, 7364, 7, 75, 2, 2, 7364, 7365, 7, 69, 2, 2, 7365, 7366, 7, 84, 2, 2, 7366, 7367, 7, 81, 2, 2, 7367, 7368, 7, 85, 2, 2, 7368, 7369, 7, 71, 2, 2, 7369, 7370, 7, 69, 2, 2, 7370, 7371, 7, 81, 2, 2, 7371, 7372, 7, 80, 2, 2, 7372, 7373, 7, 70, 2, 2, 7373, 1204, 3, 2, 2, 2, 7374, 7375, 7, 86, 2, 2, 7375, 7376, 7, 67, 2, 2, 7376, 7377, 7, 68, 2, 2, 7377, 7378, 7, 78, 2, 2, 7378, 7379, 7, 71, 2, 2, 7379, 7380, 7, 85, 2, 2, 7380, 1206, 3, 2, 2, 2, 7381, 7382, 7, 84, 2, 2, 7382, 7383, 7, 81, 2, 2, 7383, 7384, 7, 87, 2, 2, 7384, 7385, 7, 86, 2, 2, 7385, 7386, 7, 75, 2, 2, 7386, 7387, 7, 80, 2, 2, 7387, 7388, 7, 71, 2, 2, 7388, 1208, 3, 2, 2, 2, 7389, 7390, 7, 71, 2, 2, 7390, 7391, 7, 90, 2, 2, 7391, 7392, 7, 71, 2, 2, 7392, 7393, 7, 69, 2, 2, 7393, 7394, 7, 87, 2, 2, 7394, 7395, 7, 86, 2, 2, 7395, 7396, 7, 71, 2, 2, 7396, 1210, 3, 2, 2, 2, 7397, 7398, 7, 72, 2, 2, 7398, 7399, 7, 75, 2, 2, 7399, 7400, 7, 78, 2, 2, 7400, 7401, 7, 71, 2, 2, 7401, 1212, 3, 2, 2, 2, 7402, 7403, 7, 82, 2, 2, 7403, 7404, 7, 84, 2, 2, 7404, 7405, 7, 81, 2, 2, 7405, 7406, 7, 69, 2, 2, 7406, 7407, 7, 71, 2, 2, 7407, 7408, 7, 85, 2, 2, 7408, 7409, 7, 85, 2, 2, 7409, 1214, 3, 2, 2, 2, 7410, 7411, 7, 84, 2, 2, 7411, 7412, 7, 71, 2, 2, 7412, 7413, 7, 78, 2, 2, 7413, 7414, 7, 81, 2, 2, 7414, 7415, 7, 67, 2, 2, 7415, 7416, 7, 70, 2, 2, 7416, 1216, 3, 2, 2, 2, 7417, 7418, 7, 85, 2, 2, 7418, 7419, 7, 74, 2, 2, 7419, 7420, 7, 87, 2, 2, 7420, 7421, 7, 86, 2, 2, 7421, 7422, 7, 70, 2, 2, 7422, 7423, 7, 81, 2, 2, 7423, 7424, 7, 89, 2, 2, 7424, 7425, 7, 80, 2, 2, 7425, 1218, 3, 2, 2, 2, 7426, 7427, 7, 85, 2, 2, 7427, 7428, 7, 87, 2, 2, 7428, 7429, 7, 82, 2, 2, 7429, 7430, 7, 71, 2, 2, 7430, 7431, 7, 84, 2, 2, 7431, 1220, 3, 2, 2, 2, 7432, 7433, 7, 82, 2, 2, 7433, 7434, 7, 84, 2, 2, 7434, 7435, 7, 75, 2, 2, 7435, 7436, 7, 88, 2, 2, 7436, 7437, 7, 75, 2, 2, 7437, 7438, 7, 78, 2, 2, 7438, 7439, 7, 71, 2, 2, 7439, 7440, 7, 73, 2, 2, 7440, 7441, 7, 71, 2, 2, 7441, 7442, 7, 85, 2, 2, 7442, 1222, 3, 2, 2, 2, 7443, 7444, 7, 67, 2, 2, 7444, 7445, 7, 82, 2, 2, 7445, 7446, 7, 82, 2, 2, 7446, 7447, 7, 78, 2, 2, 7447, 7448, 7, 75, 2, 2, 7448, 7449, 7, 69, 2, 2, 7449, 7450, 7, 67, 2, 2, 7450, 7451, 7, 86, 2, 2, 7451, 7452, 7, 75, 2, 2, 7452, 7453, 7, 81, 2, 2, 7453, 7454, 7, 80, 2, 2, 7454, 7455, 7, 97, 2, 2, 7455, 7456, 7, 82, 2, 2, 7456, 7457, 7, 67, 2, 2, 7457, 7458, 7, 85, 2, 2, 7458, 7459, 7, 85, 2, 2, 7459, 7460, 7, 89, 2, 2, 7460, 7461, 7, 81, 2, 2, 7461, 7462, 7, 84, 2, 2, 7462, 7463, 7, 70, 2, 2, 7463, 7464, 7, 97, 2, 2, 7464, 7465, 7, 67, 2, 2, 7465, 7466, 7, 70, 2, 2, 7466, 7467, 7, 79, 2, 2, 7467, 7468, 7, 75, 2, 2, 7468, 7469, 7, 80, 2, 2, 7469, 1224, 3, 2, 2, 2, 7470, 7471, 7, 67, 2, 2, 7471, 7472, 7, 87, 2, 2, 7472, 7473, 7, 70, 2, 2, 7473, 7474, 7, 75, 2, 2, 7474, 7475, 7, 86, 2, 2, 7475, 7476, 7, 97, 2, 2, 7476, 7477, 7, 67, 2, 2, 7477, 7478, 7, 70, 2, 2, 7478, 7479, 7, 79, 2, 2, 7479, 7480, 7, 75, 2, 2, 7480, 7481, 7, 80, 2, 2, 7481, 1226, 3, 2, 2, 2, 7482, 7483, 7, 68, 2, 2, 7483, 7484, 7, 67, 2, 2, 7484, 7485, 7, 69, 2, 2, 7485, 7486, 7, 77, 2, 2, 7486, 7487, 7, 87, 2, 2, 7487, 7488, 7, 82, 2, 2, 7488, 7489, 7, 97, 2, 2, 7489, 7490, 7, 67, 2, 2, 7490, 7491, 7, 70, 2, 2, 7491, 7492, 7, 79, 2, 2, 7492, 7493, 7, 75, 2, 2, 7493, 7494, 7, 80, 2, 2, 7494, 1228, 3, 2, 2, 2, 7495, 7496, 7, 68, 2, 2, 7496, 7497, 7, 75, 2, 2, 7497, 7498, 7, 80, 2, 2, 7498, 7499, 7, 78, 2, 2, 7499, 7500, 7, 81, 2, 2, 7500, 7501, 7, 73, 2, 2, 7501, 7502, 7, 97, 2, 2, 7502, 7503, 7, 67, 2, 2, 7503, 7504, 7, 70, 2, 2, 7504, 7505, 7, 79, 2, 2, 7505, 7506, 7, 75, 2, 2, 7506, 7507, 7, 80, 2, 2, 7507, 1230, 3, 2, 2, 2, 7508, 7509, 7, 68, 2, 2, 7509, 7510, 7, 75, 2, 2, 7510, 7511, 7, 80, 2, 2, 7511, 7512, 7, 78, 2, 2, 7512, 7513, 7, 81, 2, 2, 7513, 7514, 7, 73, 2, 2, 7514, 7515, 7, 97, 2, 2, 7515, 7516, 7, 71, 2, 2, 7516, 7517, 7, 80, 2, 2, 7517, 7518, 7, 69, 2, 2, 7518, 7519, 7, 84, 2, 2, 7519, 7520, 7, 91, 2, 2, 7520, 7521, 7, 82, 2, 2, 7521, 7522, 7, 86, 2, 2, 7522, 7523, 7, 75, 2, 2, 7523, 7524, 7, 81, 2, 2, 7524, 7525, 7, 80, 2, 2, 7525, 7526, 7, 97, 2, 2, 7526, 7527, 7, 67, 2, 2, 7527, 7528, 7, 70, 2, 2, 7528, 7529, 7, 79, 2, 2, 7529, 7530, 7, 75, 2, 2, 7530, 7531, 7, 80, 2, 2, 7531, 1232, 3, 2, 2, 2, 7532, 7533, 7, 69, 2, 2, 7533, 7534, 7, 78, 2, 2, 7534, 7535, 7, 81, 2, 2, 7535, 7536, 7, 80, 2, 2, 7536, 7537, 7, 71, 2, 2, 7537, 7538, 7, 97, 2, 2, 7538, 7539, 7, 67, 2, 2, 7539, 7540, 7, 70, 2, 2, 7540, 7541, 7, 79, 2, 2, 7541, 7542, 7, 75, 2, 2, 7542, 7543, 7, 80, 2, 2, 7543, 1234, 3, 2, 2, 2, 7544, 7545, 7, 69, 2, 2, 7545, 7546, 7, 81, 2, 2, 7546, 7547, 7, 80, 2, 2, 7547, 7548, 7, 80, 2, 2, 7548, 7549, 7, 71, 2, 2, 7549, 7550, 7, 69, 2, 2, 7550, 7551, 7, 86, 2, 2, 7551, 7552, 7, 75, 2, 2, 7552, 7553, 7, 81, 2, 2, 7553, 7554, 7, 80, 2, 2, 7554, 7555, 7, 97, 2, 2, 7555, 7556, 7, 67, 2, 2, 7556, 7557, 7, 70, 2, 2, 7557, 7558, 7, 79, 2, 2, 7558, 7559, 7, 75, 2, 2, 7559, 7560, 7, 80, 2, 2, 7560, 1236, 3, 2, 2, 2, 7561, 7562, 7, 71, 2, 2, 7562, 7563, 7, 80, 2, 2, 7563, 7564, 7, 69, 2, 2, 7564, 7565, 7, 84, 2, 2, 7565, 7566, 7, 91, 2, 2, 7566, 7567, 7, 82, 2, 2, 7567, 7568, 7, 86, 2, 2, 7568, 7569, 7, 75, 2, 2, 7569, 7570, 7, 81, 2, 2, 7570, 7571, 7, 80, 2, 2, 7571, 7572, 7, 97, 2, 2, 7572, 7573, 7, 77, 2, 2, 7573, 7574, 7, 71, 2, 2, 7574, 7575, 7, 91, 2, 2, 7575, 7576, 7, 97, 2, 2, 7576, 7577, 7, 67, 2, 2, 7577, 7578, 7, 70, 2, 2, 7578, 7579, 7, 79, 2, 2, 7579, 7580, 7, 75, 2, 2, 7580, 7581, 7, 80, 2, 2, 7581, 1238, 3, 2, 2, 2, 7582, 7583, 7, 72, 2, 2, 7583, 7584, 7, 75, 2, 2, 7584, 7585, 7, 84, 2, 2, 7585, 7586, 7, 71, 2, 2, 7586, 7587, 7, 89, 2, 2, 7587, 7588, 7, 67, 2, 2, 7588, 7589, 7, 78, 2, 2, 7589, 7590, 7, 78, 2, 2, 7590, 7591, 7, 97, 2, 2, 7591, 7592, 7, 67, 2, 2, 7592, 7593, 7, 70, 2, 2, 7593, 7594, 7, 79, 2, 2, 7594, 7595, 7, 75, 2, 2, 7595, 7596, 7, 80, 2, 2, 7596, 1240, 3, 2, 2, 2, 7597, 7598, 7, 72, 2, 2, 7598, 7599, 7, 75, 2, 2, 7599, 7600, 7, 84, 2, 2, 7600, 7601, 7, 71, 2, 2, 7601, 7602, 7, 89, 2, 2, 7602, 7603, 7, 67, 2, 2, 7603, 7604, 7, 78, 2, 2, 7604, 7605, 7, 78, 2, 2, 7605, 7606, 7, 97, 2, 2, 7606, 7607, 7, 87, 2, 2, 7607, 7608, 7, 85, 2, 2, 7608, 7609, 7, 71, 2, 2, 7609, 7610, 7, 84, 2, 2, 7610, 1242, 3, 2, 2, 2, 7611, 7612, 7, 73, 2, 2, 7612, 7613, 7, 84, 2, 2, 7613, 7614, 7, 81, 2, 2, 7614, 7615, 7, 87, 2, 2, 7615, 7616, 7, 82, 2, 2, 7616, 7617, 7, 97, 2, 2, 7617, 7618, 7, 84, 2, 2, 7618, 7619, 7, 71, 2, 2, 7619, 7620, 7, 82, 2, 2, 7620, 7621, 7, 78, 2, 2, 7621, 7622, 7, 75, 2, 2, 7622, 7623, 7, 69, 2, 2, 7623, 7624, 7, 67, 2, 2, 7624, 7625, 7, 86, 2, 2, 7625, 7626, 7, 75, 2, 2, 7626, 7627, 7, 81, 2, 2, 7627, 7628, 7, 80, 2, 2, 7628, 7629, 7, 97, 2, 2, 7629, 7630, 7, 67, 2, 2, 7630, 7631, 7, 70, 2, 2, 7631, 7632, 7, 79, 2, 2, 7632, 7633, 7, 75, 2, 2, 7633, 7634, 7, 80, 2, 2, 7634, 1244, 3, 2, 2, 2, 7635, 7636, 7, 75, 2, 2, 7636, 7637, 7, 80, 2, 2, 7637, 7638, 7, 80, 2, 2, 7638, 7639, 7, 81, 2, 2, 7639, 7640, 7, 70, 2, 2, 7640, 7641, 7, 68, 2, 2, 7641, 7642, 7, 97, 2, 2, 7642, 7643, 7, 84, 2, 2, 7643, 7644, 7, 71, 2, 2, 7644, 7645, 7, 70, 2, 2, 7645, 7646, 7, 81, 2, 2, 7646, 7647, 7, 97, 2, 2, 7647, 7648, 7, 78, 2, 2, 7648, 7649, 7, 81, 2, 2, 7649, 7650, 7, 73, 2, 2, 7650, 7651, 7, 97, 2, 2, 7651, 7652, 7, 67, 2, 2, 7652, 7653, 7, 84, 2, 2, 7653, 7654, 7, 69, 2, 2, 7654, 7655, 7, 74, 2, 2, 7655, 7656, 7, 75, 2, 2, 7656, 7657, 7, 88, 2, 2, 7657, 7658, 7, 71, 2, 2, 7658, 1246, 3, 2, 2, 2, 7659, 7660, 7, 80, 2, 2, 7660, 7661, 7, 70, 2, 2, 7661, 7662, 7, 68, 2, 2, 7662, 7663, 7, 97, 2, 2, 7663, 7664, 7, 85, 2, 2, 7664, 7665, 7, 86, 2, 2, 7665, 7666, 7, 81, 2, 2, 7666, 7667, 7, 84, 2, 2, 7667, 7668, 7, 71, 2, 2, 7668, 7669, 7, 70, 2, 2, 7669, 7670, 7, 97, 2, 2, 7670, 7671, 7, 87, 2, 2, 7671, 7672, 7, 85, 2, 2, 7672, 7673, 7, 71, 2, 2, 7673, 7674, 7, 84, 2, 2, 7674, 1248, 3, 2, 2, 2, 7675, 7676, 7, 82, 2, 2, 7676, 7677, 7, 71, 2, 2, 7677, 7678, 7, 84, 2, 2, 7678, 7679, 7, 85, 2, 2, 7679, 7680, 7, 75, 2, 2, 7680, 7681, 7, 85, 2, 2, 7681, 7682, 7, 86, 2, 2, 7682, 7683, 7, 97, 2, 2, 7683, 7684, 7, 84, 2, 2, 7684, 7685, 7, 81, 2, 2, 7685, 7686, 7, 97, 2, 2, 7686, 7687, 7, 88, 2, 2, 7687, 7688, 7, 67, 2, 2, 7688, 7689, 7, 84, 2, 2, 7689, 7690, 7, 75, 2, 2, 7690, 7691, 7, 67, 2, 2, 7691, 7692, 7, 68, 2, 2, 7692, 7693, 7, 78, 2, 2, 7693, 7694, 7, 71, 2, 2, 7694, 7695, 7, 85, 2, 2, 7695, 7696, 7, 97, 2, 2, 7696, 7697, 7, 67, 2, 2, 7697, 7698, 7, 70, 2, 2, 7698, 7699, 7, 79, 2, 2, 7699, 7700, 7, 75, 2, 2, 7700, 7701, 7, 80, 2, 2, 7701, 1250, 3, 2, 2, 2, 7702, 7703, 7, 84, 2, 2, 7703, 7704, 7, 71, 2, 2, 7704, 7705, 7, 82, 2, 2, 7705, 7706, 7, 78, 2, 2, 7706, 7707, 7, 75, 2, 2, 7707, 7708, 7, 69, 2, 2, 7708, 7709, 7, 67, 2, 2, 7709, 7710, 7, 86, 2, 2, 7710, 7711, 7, 75, 2, 2, 7711, 7712, 7, 81, 2, 2, 7712, 7713, 7, 80, 2, 2, 7713, 7714, 7, 97, 2, 2, 7714, 7715, 7, 67, 2, 2, 7715, 7716, 7, 82, 2, 2, 7716, 7717, 7, 82, 2, 2, 7717, 7718, 7, 78, 2, 2, 7718, 7719, 7, 75, 2, 2, 7719, 7720, 7, 71, 2, 2, 7720, 7721, 7, 84, 2, 2, 7721, 1252, 3, 2, 2, 2, 7722, 7723, 7, 84, 2, 2, 7723, 7724, 7, 71, 2, 2, 7724, 7725, 7, 82, 2, 2, 7725, 7726, 7, 78, 2, 2, 7726, 7727, 7, 75, 2, 2, 7727, 7728, 7, 69, 2, 2, 7728, 7729, 7, 67, 2, 2, 7729, 7730, 7, 86, 2, 2, 7730, 7731, 7, 75, 2, 2, 7731, 7732, 7, 81, 2, 2, 7732, 7733, 7, 80, 2, 2, 7733, 7734, 7, 97, 2, 2, 7734, 7735, 7, 85, 2, 2, 7735, 7736, 7, 78, 2, 2, 7736, 7737, 7, 67, 2, 2, 7737, 7738, 7, 88, 2, 2, 7738, 7739, 7, 71, 2, 2, 7739, 7740, 7, 97, 2, 2, 7740, 7741, 7, 67, 2, 2, 7741, 7742, 7, 70, 2, 2, 7742, 7743, 7, 79, 2, 2, 7743, 7744, 7, 75, 2, 2, 7744, 7745, 7, 80, 2, 2, 7745, 1254, 3, 2, 2, 2, 7746, 7747, 7, 84, 2, 2, 7747, 7748, 7, 71, 2, 2, 7748, 7749, 7, 85, 2, 2, 7749, 7750, 7, 81, 2, 2, 7750, 7751, 7, 87, 2, 2, 7751, 7752, 7, 84, 2, 2, 7752, 7753, 7, 69, 2, 2, 7753, 7754, 7, 71, 2, 2, 7754, 7755, 7, 97, 2, 2, 7755, 7756, 7, 73, 2, 2, 7756, 7757, 7, 84, 2, 2, 7757, 7758, 7, 81, 2, 2, 7758, 7759, 7, 87, 2, 2, 7759, 7760, 7, 82, 2, 2, 7760, 7761, 7, 97, 2, 2, 7761, 7762, 7, 67, 2, 2, 7762, 7763, 7, 70, 2, 2, 7763, 7764, 7, 79, 2, 2, 7764, 7765, 7, 75, 2, 2, 7765, 7766, 7, 80, 2, 2, 7766, 1256, 3, 2, 2, 2, 7767, 7768, 7, 84, 2, 2, 7768, 7769, 7, 71, 2, 2, 7769, 7770, 7, 85, 2, 2, 7770, 7771, 7, 81, 2, 2, 7771, 7772, 7, 87, 2, 2, 7772, 7773, 7, 84, 2, 2, 7773, 7774, 7, 69, 2, 2, 7774, 7775, 7, 71, 2, 2, 7775, 7776, 7, 97, 2, 2, 7776, 7777, 7, 73, 2, 2, 7777, 7778, 7, 84, 2, 2, 7778, 7779, 7, 81, 2, 2, 7779, 7780, 7, 87, 2, 2, 7780, 7781, 7, 82, 2, 2, 7781, 7782, 7, 97, 2, 2, 7782, 7783, 7, 87, 2, 2, 7783, 7784, 7, 85, 2, 2, 7784, 7785, 7, 71, 2, 2, 7785, 7786, 7, 84, 2, 2, 7786, 1258, 3, 2, 2, 2, 7787, 7788, 7, 84, 2, 2, 7788, 7789, 7, 81, 2, 2, 7789, 7790, 7, 78, 2, 2, 7790, 7791, 7, 71, 2, 2, 7791, 7792, 7, 97, 2, 2, 7792, 7793, 7, 67, 2, 2, 7793, 7794, 7, 70, 2, 2, 7794, 7795, 7, 79, 2, 2, 7795, 7796, 7, 75, 2, 2, 7796, 7797, 7, 80, 2, 2, 7797, 1260, 3, 2, 2, 2, 7798, 7800, 5, 2065, 1033, 2, 7799, 7798, 3, 2, 2, 2, 7799, 7800, 3, 2, 2, 2, 7800, 7801, 3, 2, 2, 2, 7801, 7802, 7, 85, 2, 2, 7802, 7803, 7, 71, 2, 2, 7803, 7804, 7, 85, 2, 2, 7804, 7805, 7, 85, 2, 2, 7805, 7806, 7, 75, 2, 2, 7806, 7807, 7, 81, 2, 2, 7807, 7808, 7, 80, 2, 2, 7808, 7809, 7, 97, 2, 2, 7809, 7810, 7, 88, 2, 2, 7810, 7811, 7, 67, 2, 2, 7811, 7812, 7, 84, 2, 2, 7812, 7813, 7, 75, 2, 2, 7813, 7814, 7, 67, 2, 2, 7814, 7815, 7, 68, 2, 2, 7815, 7816, 7, 78, 2, 2, 7816, 7817, 7, 71, 2, 2, 7817, 7818, 7, 85, 2, 2, 7818, 7819, 7, 97, 2, 2, 7819, 7820, 7, 67, 2, 2, 7820, 7821, 7, 70, 2, 2, 7821, 7822, 7, 79, 2, 2, 7822, 7823, 7, 75, 2, 2, 7823, 7824, 7, 80, 2, 2, 7824, 7826, 3, 2, 2, 2, 7825, 7827, 5, 2065, 1033, 2, 7826, 7825, 3, 2, 2, 2, 7826, 7827, 3, 2, 2, 2, 7827, 1262, 3, 2, 2, 2, 7828, 7829, 7, 85, 2, 2, 7829, 7830, 7, 71, 2, 2, 7830, 7831, 7, 86, 2, 2, 7831, 7832, 7, 97, 2, 2, 7832, 7833, 7, 87, 2, 2, 7833, 7834, 7, 85, 2, 2, 7834, 7835, 7, 71, 2, 2, 7835, 7836, 7, 84, 2, 2, 7836, 7837, 7, 97, 2, 2, 7837, 7838, 7, 75, 2, 2, 7838, 7839, 7, 70, 2, 2, 7839, 1264, 3, 2, 2, 2, 7840, 7841, 7, 85, 2, 2, 7841, 7842, 7, 74, 2, 2, 7842, 7843, 7, 81, 2, 2, 7843, 7844, 7, 89, 2, 2, 7844, 7845, 7, 97, 2, 2, 7845, 7846, 7, 84, 2, 2, 7846, 7847, 7, 81, 2, 2, 7847, 7848, 7, 87, 2, 2, 7848, 7849, 7, 86, 2, 2, 7849, 7850, 7, 75, 2, 2, 7850, 7851, 7, 80, 2, 2, 7851, 7852, 7, 71, 2, 2, 7852, 1266, 3, 2, 2, 2, 7853, 7854, 7, 85, 2, 2, 7854, 7855, 7, 91, 2, 2, 7855, 7856, 7, 85, 2, 2, 7856, 7857, 7, 86, 2, 2, 7857, 7858, 7, 71, 2, 2, 7858, 7859, 7, 79, 2, 2, 7859, 7860, 7, 97, 2, 2, 7860, 7861, 7, 88, 2, 2, 7861, 7862, 7, 67, 2, 2, 7862, 7863, 7, 84, 2, 2, 7863, 7864, 7, 75, 2, 2, 7864, 7865, 7, 67, 2, 2, 7865, 7866, 7, 68, 2, 2, 7866, 7867, 7, 78, 2, 2, 7867, 7868, 7, 71, 2, 2, 7868, 7869, 7, 85, 2, 2, 7869, 7870, 7, 97, 2, 2, 7870, 7871, 7, 67, 2, 2, 7871, 7872, 7, 70, 2, 2, 7872, 7873, 7, 79, 2, 2, 7873, 7874, 7, 75, 2, 2, 7874, 7875, 7, 80, 2, 2, 7875, 1268, 3, 2, 2, 2, 7876, 7877, 7, 86, 2, 2, 7877, 7878, 7, 67, 2, 2, 7878, 7879, 7, 68, 2, 2, 7879, 7880, 7, 78, 2, 2, 7880, 7881, 7, 71, 2, 2, 7881, 7882, 7, 97, 2, 2, 7882, 7883, 7, 71, 2, 2, 7883, 7884, 7, 80, 2, 2, 7884, 7885, 7, 69, 2, 2, 7885, 7886, 7, 84, 2, 2, 7886, 7887, 7, 91, 2, 2, 7887, 7888, 7, 82, 2, 2, 7888, 7889, 7, 86, 2, 2, 7889, 7890, 7, 75, 2, 2, 7890, 7891, 7, 81, 2, 2, 7891, 7892, 7, 80, 2, 2, 7892, 7893, 7, 97, 2, 2, 7893, 7894, 7, 67, 2, 2, 7894, 7895, 7, 70, 2, 2, 7895, 7896, 7, 79, 2, 2, 7896, 7897, 7, 75, 2, 2, 7897, 7898, 7, 80, 2, 2, 7898, 1270, 3, 2, 2, 2, 7899, 7900, 7, 88, 2, 2, 7900, 7901, 7, 71, 2, 2, 7901, 7902, 7, 84, 2, 2, 7902, 7903, 7, 85, 2, 2, 7903, 7904, 7, 75, 2, 2, 7904, 7905, 7, 81, 2, 2, 7905, 7906, 7, 80, 2, 2, 7906, 7907, 7, 97, 2, 2, 7907, 7908, 7, 86, 2, 2, 7908, 7909, 7, 81, 2, 2, 7909, 7910, 7, 77, 2, 2, 7910, 7911, 7, 71, 2, 2, 7911, 7912, 7, 80, 2, 2, 7912, 7913, 7, 97, 2, 2, 7913, 7914, 7, 67, 2, 2, 7914, 7915, 7, 70, 2, 2, 7915, 7916, 7, 79, 2, 2, 7916, 7917, 7, 75, 2, 2, 7917, 7918, 7, 80, 2, 2, 7918, 1272, 3, 2, 2, 2, 7919, 7920, 7, 90, 2, 2, 7920, 7921, 7, 67, 2, 2, 7921, 7922, 7, 97, 2, 2, 7922, 7923, 7, 84, 2, 2, 7923, 7924, 7, 71, 2, 2, 7924, 7925, 7, 69, 2, 2, 7925, 7926, 7, 81, 2, 2, 7926, 7927, 7, 88, 2, 2, 7927, 7928, 7, 71, 2, 2, 7928, 7929, 7, 84, 2, 2, 7929, 7930, 7, 97, 2, 2, 7930, 7931, 7, 67, 2, 2, 7931, 7932, 7, 70, 2, 2, 7932, 7933, 7, 79, 2, 2, 7933, 7934, 7, 75, 2, 2, 7934, 7935, 7, 80, 2, 2, 7935, 1274, 3, 2, 2, 2, 7936, 7937, 7, 67, 2, 2, 7937, 7938, 7, 84, 2, 2, 7938, 7939, 7, 79, 2, 2, 7939, 7940, 7, 85, 2, 2, 7940, 7941, 7, 69, 2, 2, 7941, 7942, 7, 75, 2, 2, 7942, 7943, 7, 75, 2, 2, 7943, 7944, 7, 58, 2, 2, 7944, 1276, 3, 2, 2, 2, 7945, 7946, 7, 67, 2, 2, 7946, 7947, 7, 85, 2, 2, 7947, 7948, 7, 69, 2, 2, 7948, 7949, 7, 75, 2, 2, 7949, 7950, 7, 75, 2, 2, 7950, 1278, 3, 2, 2, 2, 7951, 7952, 7, 68, 2, 2, 7952, 7953, 7, 75, 2, 2, 7953, 7954, 7, 73, 2, 2, 7954, 7955, 7, 55, 2, 2, 7955, 1280, 3, 2, 2, 2, 7956, 7957, 7, 69, 2, 2, 7957, 7958, 7, 82, 2, 2, 7958, 7959, 7, 51, 2, 2, 7959, 7960, 7, 52, 2, 2, 7960, 7961, 7, 55, 2, 2, 7961, 7962, 7, 50, 2, 2, 7962, 1282, 3, 2, 2, 2, 7963, 7964, 7, 69, 2, 2, 7964, 7965, 7, 82, 2, 2, 7965, 7966, 7, 51, 2, 2, 7966, 7967, 7, 52, 2, 2, 7967, 7968, 7, 55, 2, 2, 7968, 7969, 7, 51, 2, 2, 7969, 1284, 3, 2, 2, 2, 7970, 7971, 7, 69, 2, 2, 7971, 7972, 7, 82, 2, 2, 7972, 7973, 7, 51, 2, 2, 7973, 7974, 7, 52, 2, 2, 7974, 7975, 7, 55, 2, 2, 7975, 7976, 7, 56, 2, 2, 7976, 1286, 3, 2, 2, 2, 7977, 7978, 7, 69, 2, 2, 7978, 7979, 7, 82, 2, 2, 7979, 7980, 7, 51, 2, 2, 7980, 7981, 7, 52, 2, 2, 7981, 7982, 7, 55, 2, 2, 7982, 7983, 7, 57, 2, 2, 7983, 1288, 3, 2, 2, 2, 7984, 7985, 7, 69, 2, 2, 7985, 7986, 7, 82, 2, 2, 7986, 7987, 7, 58, 2, 2, 7987, 7988, 7, 55, 2, 2, 7988, 7989, 7, 50, 2, 2, 7989, 1290, 3, 2, 2, 2, 7990, 7991, 7, 69, 2, 2, 7991, 7992, 7, 82, 2, 2, 7992, 7993, 7, 58, 2, 2, 7993, 7994, 7, 55, 2, 2, 7994, 7995, 7, 52, 2, 2, 7995, 1292, 3, 2, 2, 2, 7996, 7997, 7, 69, 2, 2, 7997, 7998, 7, 82, 2, 2, 7998, 7999, 7, 58, 2, 2, 7999, 8000, 7, 56, 2, 2, 8000, 8001, 7, 56, 2, 2, 8001, 1294, 3, 2, 2, 2, 8002, 8003, 7, 69, 2, 2, 8003, 8004, 7, 82, 2, 2, 8004, 8005, 7, 59, 2, 2, 8005, 8006, 7, 53, 2, 2, 8006, 8007, 7, 52, 2, 2, 8007, 1296, 3, 2, 2, 2, 8008, 8009, 7, 70, 2, 2, 8009, 8010, 7, 71, 2, 2, 8010, 8011, 7, 69, 2, 2, 8011, 8012, 7, 58, 2, 2, 8012, 1298, 3, 2, 2, 2, 8013, 8014, 7, 71, 2, 2, 8014, 8015, 7, 87, 2, 2, 8015, 8016, 7, 69, 2, 2, 8016, 8017, 7, 76, 2, 2, 8017, 8018, 7, 82, 2, 2, 8018, 8019, 7, 79, 2, 2, 8019, 8020, 7, 85, 2, 2, 8020, 1300, 3, 2, 2, 2, 8021, 8022, 7, 71, 2, 2, 8022, 8023, 7, 87, 2, 2, 8023, 8024, 7, 69, 2, 2, 8024, 8025, 7, 77, 2, 2, 8025, 8026, 7, 84, 2, 2, 8026, 1302, 3, 2, 2, 2, 8027, 8028, 7, 73, 2, 2, 8028, 8029, 7, 68, 2, 2, 8029, 8030, 7, 52, 2, 2, 8030, 8031, 7, 53, 2, 2, 8031, 8032, 7, 51, 2, 2, 8032, 8033, 7, 52, 2, 2, 8033, 1304, 3, 2, 2, 2, 8034, 8035, 7, 73, 2, 2, 8035, 8036, 7, 68, 2, 2, 8036, 8037, 7, 77, 2, 2, 8037, 1306, 3, 2, 2, 2, 8038, 8039, 7, 73, 2, 2, 8039, 8040, 7, 71, 2, 2, 8040, 8041, 7, 81, 2, 2, 8041, 8042, 7, 85, 2, 2, 8042, 8043, 7, 86, 2, 2, 8043, 8044, 7, 70, 2, 2, 8044, 8045, 7, 58, 2, 2, 8045, 1308, 3, 2, 2, 2, 8046, 8047, 7, 73, 2, 2, 8047, 8048, 7, 84, 2, 2, 8048, 8049, 7, 71, 2, 2, 8049, 8050, 7, 71, 2, 2, 8050, 8051, 7, 77, 2, 2, 8051, 1310, 3, 2, 2, 2, 8052, 8053, 7, 74, 2, 2, 8053, 8054, 7, 71, 2, 2, 8054, 8055, 7, 68, 2, 2, 8055, 8056, 7, 84, 2, 2, 8056, 8057, 7, 71, 2, 2, 8057, 8058, 7, 89, 2, 2, 8058, 1312, 3, 2, 2, 2, 8059, 8060, 7, 74, 2, 2, 8060, 8061, 7, 82, 2, 2, 8061, 8062, 7, 58, 2, 2, 8062, 1314, 3, 2, 2, 2, 8063, 8064, 7, 77, 2, 2, 8064, 8065, 7, 71, 2, 2, 8065, 8066, 7, 91, 2, 2, 8066, 8067, 7, 68, 2, 2, 8067, 8068, 7, 69, 2, 2, 8068, 8069, 7, 85, 2, 2, 8069, 8070, 7, 52, 2, 2, 8070, 1316, 3, 2, 2, 2, 8071, 8072, 7, 77, 2, 2, 8072, 8073, 7, 81, 2, 2, 8073, 8074, 7, 75, 2, 2, 8074, 8075, 7, 58, 2, 2, 8075, 8076, 7, 84, 2, 2, 8076, 1318, 3, 2, 2, 2, 8077, 8078, 7, 77, 2, 2, 8078, 8079, 7, 81, 2, 2, 8079, 8080, 7, 75, 2, 2, 8080, 8081, 7, 58, 2, 2, 8081, 8082, 7, 87, 2, 2, 8082, 1320, 3, 2, 2, 2, 8083, 8084, 7, 78, 2, 2, 8084, 8085, 7, 67, 2, 2, 8085, 8086, 7, 86, 2, 2, 8086, 8087, 7, 75, 2, 2, 8087, 8088, 7, 80, 2, 2, 8088, 8089, 7, 51, 2, 2, 8089, 1322, 3, 2, 2, 2, 8090, 8091, 7, 78, 2, 2, 8091, 8092, 7, 67, 2, 2, 8092, 8093, 7, 86, 2, 2, 8093, 8094, 7, 75, 2, 2, 8094, 8095, 7, 80, 2, 2, 8095, 8096, 7, 52, 2, 2, 8096, 1324, 3, 2, 2, 2, 8097, 8098, 7, 78, 2, 2, 8098, 8099, 7, 67, 2, 2, 8099, 8100, 7, 86, 2, 2, 8100, 8101, 7, 75, 2, 2, 8101, 8102, 7, 80, 2, 2, 8102, 8103, 7, 55, 2, 2, 8103, 1326, 3, 2, 2, 2, 8104, 8105, 7, 78, 2, 2, 8105, 8106, 7, 67, 2, 2, 8106, 8107, 7, 86, 2, 2, 8107, 8108, 7, 75, 2, 2, 8108, 8109, 7, 80, 2, 2, 8109, 8110, 7, 57, 2, 2, 8110, 1328, 3, 2, 2, 2, 8111, 8112, 7, 79, 2, 2, 8112, 8113, 7, 67, 2, 2, 8113, 8114, 7, 69, 2, 2, 8114, 8115, 7, 69, 2, 2, 8115, 8116, 7, 71, 2, 2, 8116, 1330, 3, 2, 2, 2, 8117, 8118, 7, 79, 2, 2, 8118, 8119, 7, 67, 2, 2, 8119, 8120, 7, 69, 2, 2, 8120, 8121, 7, 84, 2, 2, 8121, 8122, 7, 81, 2, 2, 8122, 8123, 7, 79, 2, 2, 8123, 8124, 7, 67, 2, 2, 8124, 8125, 7, 80, 2, 2, 8125, 1332, 3, 2, 2, 2, 8126, 8127, 7, 85, 2, 2, 8127, 8128, 7, 76, 2, 2, 8128, 8129, 7, 75, 2, 2, 8129, 8130, 7, 85, 2, 2, 8130, 1334, 3, 2, 2, 2, 8131, 8132, 7, 85, 2, 2, 8132, 8133, 7, 89, 2, 2, 8133, 8134, 7, 71, 2, 2, 8134, 8135, 7, 57, 2, 2, 8135, 1336, 3, 2, 2, 2, 8136, 8137, 7, 86, 2, 2, 8137, 8138, 7, 75, 2, 2, 8138, 8139, 7, 85, 2, 2, 8139, 8140, 7, 56, 2, 2, 8140, 8141, 7, 52, 2, 2, 8141, 8142, 7, 50, 2, 2, 8142, 1338, 3, 2, 2, 2, 8143, 8144, 7, 87, 2, 2, 8144, 8145, 7, 69, 2, 2, 8145, 8146, 7, 85, 2, 2, 8146, 8147, 7, 52, 2, 2, 8147, 1340, 3, 2, 2, 2, 8148, 8149, 7, 87, 2, 2, 8149, 8150, 7, 76, 2, 2, 8150, 8151, 7, 75, 2, 2, 8151, 8152, 7, 85, 2, 2, 8152, 1342, 3, 2, 2, 2, 8153, 8154, 7, 87, 2, 2, 8154, 8155, 7, 86, 2, 2, 8155, 8156, 7, 72, 2, 2, 8156, 8157, 7, 51, 2, 2, 8157, 8158, 7, 56, 2, 2, 8158, 1344, 3, 2, 2, 2, 8159, 8160, 7, 87, 2, 2, 8160, 8161, 7, 86, 2, 2, 8161, 8162, 7, 72, 2, 2, 8162, 8163, 7, 51, 2, 2, 8163, 8164, 7, 56, 2, 2, 8164, 8165, 7, 78, 2, 2, 8165, 8166, 7, 71, 2, 2, 8166, 1346, 3, 2, 2, 2, 8167, 8168, 7, 87, 2, 2, 8168, 8169, 7, 86, 2, 2, 8169, 8170, 7, 72, 2, 2, 8170, 8171, 7, 53, 2, 2, 8171, 8172, 7, 52, 2, 2, 8172, 1348, 3, 2, 2, 2, 8173, 8174, 7, 87, 2, 2, 8174, 8175, 7, 86, 2, 2, 8175, 8176, 7, 72, 2, 2, 8176, 8177, 7, 58, 2, 2, 8177, 1350, 3, 2, 2, 2, 8178, 8179, 7, 87, 2, 2, 8179, 8180, 7, 86, 2, 2, 8180, 8181, 7, 72, 2, 2, 8181, 8182, 7, 58, 2, 2, 8182, 8183, 7, 79, 2, 2, 8183, 8184, 7, 68, 2, 2, 8184, 8185, 7, 53, 2, 2, 8185, 1352, 3, 2, 2, 2, 8186, 8187, 7, 87, 2, 2, 8187, 8188, 7, 86, 2, 2, 8188, 8189, 7, 72, 2, 2, 8189, 8190, 7, 58, 2, 2, 8190, 8191, 7, 79, 2, 2, 8191, 8192, 7, 68, 2, 2, 8192, 8193, 7, 54, 2, 2, 8193, 1354, 3, 2, 2, 2, 8194, 8195, 7, 67, 2, 2, 8195, 8196, 7, 84, 2, 2, 8196, 8197, 7, 69, 2, 2, 8197, 8198, 7, 74, 2, 2, 8198, 8199, 7, 75, 2, 2, 8199, 8200, 7, 88, 2, 2, 8200, 8201, 7, 71, 2, 2, 8201, 1356, 3, 2, 2, 2, 8202, 8203, 7, 68, 2, 2, 8203, 8204, 7, 78, 2, 2, 8204, 8205, 7, 67, 2, 2, 8205, 8206, 7, 69, 2, 2, 8206, 8207, 7, 77, 2, 2, 8207, 8208, 7, 74, 2, 2, 8208, 8209, 7, 81, 2, 2, 8209, 8210, 7, 78, 2, 2, 8210, 8211, 7, 71, 2, 2, 8211, 1358, 3, 2, 2, 2, 8212, 8213, 7, 69, 2, 2, 8213, 8214, 7, 85, 2, 2, 8214, 8215, 7, 88, 2, 2, 8215, 1360, 3, 2, 2, 2, 8216, 8217, 7, 72, 2, 2, 8217, 8218, 7, 71, 2, 2, 8218, 8219, 7, 70, 2, 2, 8219, 8220, 7, 71, 2, 2, 8220, 8221, 7, 84, 2, 2, 8221, 8222, 7, 67, 2, 2, 8222, 8223, 7, 86, 2, 2, 8223, 8224, 7, 71, 2, 2, 8224, 8225, 7, 70, 2, 2, 8225, 1362, 3, 2, 2, 2, 8226, 8227, 7, 75, 2, 2, 8227, 8228, 7, 80, 2, 2, 8228, 8229, 7, 80, 2, 2, 8229, 8230, 7, 81, 2, 2, 8230, 8231, 7, 70, 2, 2, 8231, 8232, 7, 68, 2, 2, 8232, 1364, 3, 2, 2, 2, 8233, 8234, 7, 79, 2, 2, 8234, 8235, 7, 71, 2, 2, 8235, 8236, 7, 79, 2, 2, 8236, 8237, 7, 81, 2, 2, 8237, 8238, 7, 84, 2, 2, 8238, 8239, 7, 91, 2, 2, 8239, 1366, 3, 2, 2, 2, 8240, 8241, 7, 79, 2, 2, 8241, 8242, 7, 84, 2, 2, 8242, 8243, 7, 73, 2, 2, 8243, 8244, 7, 97, 2, 2, 8244, 8245, 7, 79, 2, 2, 8245, 8246, 7, 91, 2, 2, 8246, 8247, 7, 75, 2, 2, 8247, 8248, 7, 85, 2, 2, 8248, 8249, 7, 67, 2, 2, 8249, 8250, 7, 79, 2, 2, 8250, 1368, 3, 2, 2, 2, 8251, 8252, 7, 79, 2, 2, 8252, 8253, 7, 91, 2, 2, 8253, 8254, 7, 75, 2, 2, 8254, 8255, 7, 85, 2, 2, 8255, 8256, 7, 67, 2, 2, 8256, 8257, 7, 79, 2, 2, 8257, 1370, 3, 2, 2, 2, 8258, 8259, 7, 80, 2, 2, 8259, 8260, 7, 70, 2, 2, 8260, 8261, 7, 68, 2, 2, 8261, 1372, 3, 2, 2, 2, 8262, 8263, 7, 80, 2, 2, 8263, 8264, 7, 70, 2, 2, 8264, 8265, 7, 68, 2, 2, 8265, 8266, 7, 69, 2, 2, 8266, 8267, 7, 78, 2, 2, 8267, 8268, 7, 87, 2, 2, 8268, 8269, 7, 85, 2, 2, 8269, 8270, 7, 86, 2, 2, 8270, 8271, 7, 71, 2, 2, 8271, 8272, 7, 84, 2, 2, 8272, 1374, 3, 2, 2, 2, 8273, 8274, 7, 82, 2, 2, 8274, 8275, 7, 71, 2, 2, 8275, 8276, 7, 84, 2, 2, 8276, 8277, 7, 72, 2, 2, 8277, 8278, 7, 81, 2, 2, 8278, 8279, 7, 84, 2, 2, 8279, 8280, 7, 79, 2, 2, 8280, 8281, 7, 67, 2, 2, 8281, 8282, 7, 80, 2, 2, 8282, 8283, 7, 69, 2, 2, 8283, 8284, 7, 71, 2, 2, 8284, 8285, 7, 97, 2, 2, 8285, 8286, 7, 85, 2, 2, 8286, 8287, 7, 69, 2, 2, 8287, 8288, 7, 74, 2, 2, 8288, 8289, 7, 71, 2, 2, 8289, 8290, 7, 79, 2, 2, 8290, 8291, 7, 67, 2, 2, 8291, 1376, 3, 2, 2, 2, 8292, 8293, 7, 86, 2, 2, 8293, 8294, 7, 81, 2, 2, 8294, 8295, 7, 77, 2, 2, 8295, 8296, 7, 87, 2, 2, 8296, 8297, 7, 70, 2, 2, 8297, 8298, 7, 68, 2, 2, 8298, 1378, 3, 2, 2, 2, 8299, 8300, 7, 84, 2, 2, 8300, 8301, 7, 71, 2, 2, 8301, 8302, 7, 82, 2, 2, 8302, 8303, 7, 71, 2, 2, 8303, 8304, 7, 67, 2, 2, 8304, 8305, 7, 86, 2, 2, 8305, 8306, 7, 67, 2, 2, 8306, 8307, 7, 68, 2, 2, 8307, 8308, 7, 78, 2, 2, 8308, 8309, 7, 71, 2, 2, 8309, 1380, 3, 2, 2, 2, 8310, 8311, 7, 69, 2, 2, 8311, 8312, 7, 81, 2, 2, 8312, 8313, 7, 79, 2, 2, 8313, 8314, 7, 79, 2, 2, 8314, 8315, 7, 75, 2, 2, 8315, 8316, 7, 86, 2, 2, 8316, 8317, 7, 86, 2, 2, 8317, 8318, 7, 71, 2, 2, 8318, 8319, 7, 70, 2, 2, 8319, 1382, 3, 2, 2, 2, 8320, 8321, 7, 87, 2, 2, 8321, 8322, 7, 80, 2, 2, 8322, 8323, 7, 69, 2, 2, 8323, 8324, 7, 81, 2, 2, 8324, 8325, 7, 79, 2, 2, 8325, 8326, 7, 79, 2, 2, 8326, 8327, 7, 75, 2, 2, 8327, 8328, 7, 86, 2, 2, 8328, 8329, 7, 86, 2, 2, 8329, 8330, 7, 71, 2, 2, 8330, 8331, 7, 70, 2, 2, 8331, 1384, 3, 2, 2, 2, 8332, 8333, 7, 85, 2, 2, 8333, 8334, 7, 71, 2, 2, 8334, 8335, 7, 84, 2, 2, 8335, 8336, 7, 75, 2, 2, 8336, 8337, 7, 67, 2, 2, 8337, 8338, 7, 78, 2, 2, 8338, 8339, 7, 75, 2, 2, 8339, 8340, 7, 92, 2, 2, 8340, 8341, 7, 67, 2, 2, 8341, 8342, 7, 68, 2, 2, 8342, 8343, 7, 78, 2, 2, 8343, 8344, 7, 71, 2, 2, 8344, 1386, 3, 2, 2, 2, 8345, 8346, 7, 73, 2, 2, 8346, 8347, 7, 71, 2, 2, 8347, 8348, 7, 81, 2, 2, 8348, 8349, 7, 79, 2, 2, 8349, 8350, 7, 71, 2, 2, 8350, 8351, 7, 86, 2, 2, 8351, 8352, 7, 84, 2, 2, 8352, 8353, 7, 91, 2, 2, 8353, 8354, 7, 69, 2, 2, 8354, 8355, 7, 81, 2, 2, 8355, 8356, 7, 78, 2, 2, 8356, 8357, 7, 78, 2, 2, 8357, 8358, 7, 71, 2, 2, 8358, 8359, 7, 69, 2, 2, 8359, 8360, 7, 86, 2, 2, 8360, 8361, 7, 75, 2, 2, 8361, 8362, 7, 81, 2, 2, 8362, 8363, 7, 80, 2, 2, 8363, 1388, 3, 2, 2, 2, 8364, 8365, 7, 73, 2, 2, 8365, 8366, 7, 71, 2, 2, 8366, 8367, 7, 81, 2, 2, 8367, 8368, 7, 79, 2, 2, 8368, 8369, 7, 69, 2, 2, 8369, 8370, 7, 81, 2, 2, 8370, 8371, 7, 78, 2, 2, 8371, 8372, 7, 78, 2, 2, 8372, 8373, 7, 71, 2, 2, 8373, 8374, 7, 69, 2, 2, 8374, 8375, 7, 86, 2, 2, 8375, 8376, 7, 75, 2, 2, 8376, 8377, 7, 81, 2, 2, 8377, 8378, 7, 80, 2, 2, 8378, 1390, 3, 2, 2, 2, 8379, 8380, 7, 73, 2, 2, 8380, 8381, 7, 71, 2, 2, 8381, 8382, 7, 81, 2, 2, 8382, 8383, 7, 79, 2, 2, 8383, 8384, 7, 71, 2, 2, 8384, 8385, 7, 86, 2, 2, 8385, 8386, 7, 84, 2, 2, 8386, 8387, 7, 91, 2, 2, 8387, 1392, 3, 2, 2, 2, 8388, 8389, 7, 78, 2, 2, 8389, 8390, 7, 75, 2, 2, 8390, 8391, 7, 80, 2, 2, 8391, 8392, 7, 71, 2, 2, 8392, 8393, 7, 85, 2, 2, 8393, 8394, 7, 86, 2, 2, 8394, 8395, 7, 84, 2, 2, 8395, 8396, 7, 75, 2, 2, 8396, 8397, 7, 80, 2, 2, 8397, 8398, 7, 73, 2, 2, 8398, 1394, 3, 2, 2, 2, 8399, 8400, 7, 79, 2, 2, 8400, 8401, 7, 87, 2, 2, 8401, 8402, 7, 78, 2, 2, 8402, 8403, 7, 86, 2, 2, 8403, 8404, 7, 75, 2, 2, 8404, 8405, 7, 78, 2, 2, 8405, 8406, 7, 75, 2, 2, 8406, 8407, 7, 80, 2, 2, 8407, 8408, 7, 71, 2, 2, 8408, 8409, 7, 85, 2, 2, 8409, 8410, 7, 86, 2, 2, 8410, 8411, 7, 84, 2, 2, 8411, 8412, 7, 75, 2, 2, 8412, 8413, 7, 80, 2, 2, 8413, 8414, 7, 73, 2, 2, 8414, 1396, 3, 2, 2, 2, 8415, 8416, 7, 79, 2, 2, 8416, 8417, 7, 87, 2, 2, 8417, 8418, 7, 78, 2, 2, 8418, 8419, 7, 86, 2, 2, 8419, 8420, 7, 75, 2, 2, 8420, 8421, 7, 82, 2, 2, 8421, 8422, 7, 81, 2, 2, 8422, 8423, 7, 75, 2, 2, 8423, 8424, 7, 80, 2, 2, 8424, 8425, 7, 86, 2, 2, 8425, 1398, 3, 2, 2, 2, 8426, 8427, 7, 79, 2, 2, 8427, 8428, 7, 87, 2, 2, 8428, 8429, 7, 78, 2, 2, 8429, 8430, 7, 86, 2, 2, 8430, 8431, 7, 75, 2, 2, 8431, 8432, 7, 82, 2, 2, 8432, 8433, 7, 81, 2, 2, 8433, 8434, 7, 78, 2, 2, 8434, 8435, 7, 91, 2, 2, 8435, 8436, 7, 73, 2, 2, 8436, 8437, 7, 81, 2, 2, 8437, 8438, 7, 80, 2, 2, 8438, 1400, 3, 2, 2, 2, 8439, 8440, 7, 82, 2, 2, 8440, 8441, 7, 81, 2, 2, 8441, 8442, 7, 75, 2, 2, 8442, 8443, 7, 80, 2, 2, 8443, 8444, 7, 86, 2, 2, 8444, 1402, 3, 2, 2, 2, 8445, 8446, 7, 82, 2, 2, 8446, 8447, 7, 81, 2, 2, 8447, 8448, 7, 78, 2, 2, 8448, 8449, 7, 91, 2, 2, 8449, 8450, 7, 73, 2, 2, 8450, 8451, 7, 81, 2, 2, 8451, 8452, 7, 80, 2, 2, 8452, 1404, 3, 2, 2, 2, 8453, 8454, 7, 67, 2, 2, 8454, 8455, 7, 68, 2, 2, 8455, 8456, 7, 85, 2, 2, 8456, 1406, 3, 2, 2, 2, 8457, 8458, 7, 67, 2, 2, 8458, 8459, 7, 69, 2, 2, 8459, 8460, 7, 81, 2, 2, 8460, 8461, 7, 85, 2, 2, 8461, 1408, 3, 2, 2, 2, 8462, 8463, 7, 67, 2, 2, 8463, 8464, 7, 70, 2, 2, 8464, 8465, 7, 70, 2, 2, 8465, 8466, 7, 70, 2, 2, 8466, 8467, 7, 67, 2, 2, 8467, 8468, 7, 86, 2, 2, 8468, 8469, 7, 71, 2, 2, 8469, 1410, 3, 2, 2, 2, 8470, 8471, 7, 67, 2, 2, 8471, 8472, 7, 70, 2, 2, 8472, 8473, 7, 70, 2, 2, 8473, 8474, 7, 86, 2, 2, 8474, 8475, 7, 75, 2, 2, 8475, 8476, 7, 79, 2, 2, 8476, 8477, 7, 71, 2, 2, 8477, 1412, 3, 2, 2, 2, 8478, 8479, 7, 67, 2, 2, 8479, 8480, 7, 71, 2, 2, 8480, 8481, 7, 85, 2, 2, 8481, 8482, 7, 97, 2, 2, 8482, 8483, 7, 70, 2, 2, 8483, 8484, 7, 71, 2, 2, 8484, 8485, 7, 69, 2, 2, 8485, 8486, 7, 84, 2, 2, 8486, 8487, 7, 91, 2, 2, 8487, 8488, 7, 82, 2, 2, 8488, 8489, 7, 86, 2, 2, 8489, 1414, 3, 2, 2, 2, 8490, 8491, 7, 67, 2, 2, 8491, 8492, 7, 71, 2, 2, 8492, 8493, 7, 85, 2, 2, 8493, 8494, 7, 97, 2, 2, 8494, 8495, 7, 71, 2, 2, 8495, 8496, 7, 80, 2, 2, 8496, 8497, 7, 69, 2, 2, 8497, 8498, 7, 84, 2, 2, 8498, 8499, 7, 91, 2, 2, 8499, 8500, 7, 82, 2, 2, 8500, 8501, 7, 86, 2, 2, 8501, 1416, 3, 2, 2, 2, 8502, 8503, 7, 67, 2, 2, 8503, 8504, 7, 84, 2, 2, 8504, 8505, 7, 71, 2, 2, 8505, 8506, 7, 67, 2, 2, 8506, 1418, 3, 2, 2, 2, 8507, 8508, 7, 67, 2, 2, 8508, 8509, 7, 85, 2, 2, 8509, 8510, 7, 68, 2, 2, 8510, 8511, 7, 75, 2, 2, 8511, 8512, 7, 80, 2, 2, 8512, 8513, 7, 67, 2, 2, 8513, 8514, 7, 84, 2, 2, 8514, 8515, 7, 91, 2, 2, 8515, 1420, 3, 2, 2, 2, 8516, 8517, 7, 67, 2, 2, 8517, 8518, 7, 85, 2, 2, 8518, 8519, 7, 75, 2, 2, 8519, 8520, 7, 80, 2, 2, 8520, 1422, 3, 2, 2, 2, 8521, 8522, 7, 67, 2, 2, 8522, 8523, 7, 85, 2, 2, 8523, 8524, 7, 86, 2, 2, 8524, 8525, 7, 71, 2, 2, 8525, 8526, 7, 90, 2, 2, 8526, 8527, 7, 86, 2, 2, 8527, 1424, 3, 2, 2, 2, 8528, 8529, 7, 67, 2, 2, 8529, 8530, 7, 85, 2, 2, 8530, 8531, 7, 89, 2, 2, 8531, 8532, 7, 77, 2, 2, 8532, 8533, 7, 68, 2, 2, 8533, 1426, 3, 2, 2, 2, 8534, 8535, 7, 67, 2, 2, 8535, 8536, 7, 85, 2, 2, 8536, 8537, 7, 89, 2, 2, 8537, 8538, 7, 77, 2, 2, 8538, 8539, 7, 86, 2, 2, 8539, 1428, 3, 2, 2, 2, 8540, 8541, 7, 67, 2, 2, 8541, 8542, 7, 85, 2, 2, 8542, 8543, 7, 91, 2, 2, 8543, 8544, 7, 79, 2, 2, 8544, 8545, 7, 79, 2, 2, 8545, 8546, 7, 71, 2, 2, 8546, 8547, 7, 86, 2, 2, 8547, 8548, 7, 84, 2, 2, 8548, 8549, 7, 75, 2, 2, 8549, 8550, 7, 69, 2, 2, 8550, 8551, 7, 97, 2, 2, 8551, 8552, 7, 70, 2, 2, 8552, 8553, 7, 71, 2, 2, 8553, 8554, 7, 69, 2, 2, 8554, 8555, 7, 84, 2, 2, 8555, 8556, 7, 91, 2, 2, 8556, 8557, 7, 82, 2, 2, 8557, 8558, 7, 86, 2, 2, 8558, 1430, 3, 2, 2, 2, 8559, 8560, 7, 67, 2, 2, 8560, 8561, 7, 85, 2, 2, 8561, 8562, 7, 91, 2, 2, 8562, 8563, 7, 79, 2, 2, 8563, 8564, 7, 79, 2, 2, 8564, 8565, 7, 71, 2, 2, 8565, 8566, 7, 86, 2, 2, 8566, 8567, 7, 84, 2, 2, 8567, 8568, 7, 75, 2, 2, 8568, 8569, 7, 69, 2, 2, 8569, 8570, 7, 97, 2, 2, 8570, 8571, 7, 70, 2, 2, 8571, 8572, 7, 71, 2, 2, 8572, 8573, 7, 84, 2, 2, 8573, 8574, 7, 75, 2, 2, 8574, 8575, 7, 88, 2, 2, 8575, 8576, 7, 71, 2, 2, 8576, 1432, 3, 2, 2, 2, 8577, 8578, 7, 67, 2, 2, 8578, 8579, 7, 85, 2, 2, 8579, 8580, 7, 91, 2, 2, 8580, 8581, 7, 79, 2, 2, 8581, 8582, 7, 79, 2, 2, 8582, 8583, 7, 71, 2, 2, 8583, 8584, 7, 86, 2, 2, 8584, 8585, 7, 84, 2, 2, 8585, 8586, 7, 75, 2, 2, 8586, 8587, 7, 69, 2, 2, 8587, 8588, 7, 97, 2, 2, 8588, 8589, 7, 71, 2, 2, 8589, 8590, 7, 80, 2, 2, 8590, 8591, 7, 69, 2, 2, 8591, 8592, 7, 84, 2, 2, 8592, 8593, 7, 91, 2, 2, 8593, 8594, 7, 82, 2, 2, 8594, 8595, 7, 86, 2, 2, 8595, 1434, 3, 2, 2, 2, 8596, 8597, 7, 67, 2, 2, 8597, 8598, 7, 85, 2, 2, 8598, 8599, 7, 91, 2, 2, 8599, 8600, 7, 79, 2, 2, 8600, 8601, 7, 79, 2, 2, 8601, 8602, 7, 71, 2, 2, 8602, 8603, 7, 86, 2, 2, 8603, 8604, 7, 84, 2, 2, 8604, 8605, 7, 75, 2, 2, 8605, 8606, 7, 69, 2, 2, 8606, 8607, 7, 97, 2, 2, 8607, 8608, 7, 85, 2, 2, 8608, 8609, 7, 75, 2, 2, 8609, 8610, 7, 73, 2, 2, 8610, 8611, 7, 80, 2, 2, 8611, 1436, 3, 2, 2, 2, 8612, 8613, 7, 67, 2, 2, 8613, 8614, 7, 85, 2, 2, 8614, 8615, 7, 91, 2, 2, 8615, 8616, 7, 79, 2, 2, 8616, 8617, 7, 79, 2, 2, 8617, 8618, 7, 71, 2, 2, 8618, 8619, 7, 86, 2, 2, 8619, 8620, 7, 84, 2, 2, 8620, 8621, 7, 75, 2, 2, 8621, 8622, 7, 69, 2, 2, 8622, 8623, 7, 97, 2, 2, 8623, 8624, 7, 88, 2, 2, 8624, 8625, 7, 71, 2, 2, 8625, 8626, 7, 84, 2, 2, 8626, 8627, 7, 75, 2, 2, 8627, 8628, 7, 72, 2, 2, 8628, 8629, 7, 91, 2, 2, 8629, 1438, 3, 2, 2, 2, 8630, 8631, 7, 67, 2, 2, 8631, 8632, 7, 86, 2, 2, 8632, 8633, 7, 67, 2, 2, 8633, 8634, 7, 80, 2, 2, 8634, 1440, 3, 2, 2, 2, 8635, 8636, 7, 67, 2, 2, 8636, 8637, 7, 86, 2, 2, 8637, 8638, 7, 67, 2, 2, 8638, 8639, 7, 80, 2, 2, 8639, 8640, 7, 52, 2, 2, 8640, 1442, 3, 2, 2, 2, 8641, 8642, 7, 68, 2, 2, 8642, 8643, 7, 71, 2, 2, 8643, 8644, 7, 80, 2, 2, 8644, 8645, 7, 69, 2, 2, 8645, 8646, 7, 74, 2, 2, 8646, 8647, 7, 79, 2, 2, 8647, 8648, 7, 67, 2, 2, 8648, 8649, 7, 84, 2, 2, 8649, 8650, 7, 77, 2, 2, 8650, 1444, 3, 2, 2, 2, 8651, 8652, 7, 68, 2, 2, 8652, 8653, 7, 75, 2, 2, 8653, 8654, 7, 80, 2, 2, 8654, 1446, 3, 2, 2, 2, 8655, 8656, 7, 68, 2, 2, 8656, 8657, 7, 75, 2, 2, 8657, 8658, 7, 86, 2, 2, 8658, 8659, 7, 97, 2, 2, 8659, 8660, 7, 69, 2, 2, 8660, 8661, 7, 81, 2, 2, 8661, 8662, 7, 87, 2, 2, 8662, 8663, 7, 80, 2, 2, 8663, 8664, 7, 86, 2, 2, 8664, 1448, 3, 2, 2, 2, 8665, 8666, 7, 68, 2, 2, 8666, 8667, 7, 75, 2, 2, 8667, 8668, 7, 86, 2, 2, 8668, 8669, 7, 97, 2, 2, 8669, 8670, 7, 78, 2, 2, 8670, 8671, 7, 71, 2, 2, 8671, 8672, 7, 80, 2, 2, 8672, 8673, 7, 73, 2, 2, 8673, 8674, 7, 86, 2, 2, 8674, 8675, 7, 74, 2, 2, 8675, 1450, 3, 2, 2, 2, 8676, 8677, 7, 68, 2, 2, 8677, 8678, 7, 87, 2, 2, 8678, 8679, 7, 72, 2, 2, 8679, 8680, 7, 72, 2, 2, 8680, 8681, 7, 71, 2, 2, 8681, 8682, 7, 84, 2, 2, 8682, 1452, 3, 2, 2, 2, 8683, 8684, 7, 69, 2, 2, 8684, 8685, 7, 67, 2, 2, 8685, 8686, 7, 86, 2, 2, 8686, 8687, 7, 67, 2, 2, 8687, 8688, 7, 78, 2, 2, 8688, 8689, 7, 81, 2, 2, 8689, 8690, 7, 73, 2, 2, 8690, 8691, 7, 97, 2, 2, 8691, 8692, 7, 80, 2, 2, 8692, 8693, 7, 67, 2, 2, 8693, 8694, 7, 79, 2, 2, 8694, 8695, 7, 71, 2, 2, 8695, 1454, 3, 2, 2, 2, 8696, 8697, 7, 69, 2, 2, 8697, 8698, 7, 71, 2, 2, 8698, 8699, 7, 75, 2, 2, 8699, 8700, 7, 78, 2, 2, 8700, 1456, 3, 2, 2, 2, 8701, 8702, 7, 69, 2, 2, 8702, 8703, 7, 71, 2, 2, 8703, 8704, 7, 75, 2, 2, 8704, 8705, 7, 78, 2, 2, 8705, 8706, 7, 75, 2, 2, 8706, 8707, 7, 80, 2, 2, 8707, 8708, 7, 73, 2, 2, 8708, 1458, 3, 2, 2, 2, 8709, 8710, 7, 69, 2, 2, 8710, 8711, 7, 71, 2, 2, 8711, 8712, 7, 80, 2, 2, 8712, 8713, 7, 86, 2, 2, 8713, 8714, 7, 84, 2, 2, 8714, 8715, 7, 81, 2, 2, 8715, 8716, 7, 75, 2, 2, 8716, 8717, 7, 70, 2, 2, 8717, 1460, 3, 2, 2, 2, 8718, 8719, 7, 69, 2, 2, 8719, 8720, 7, 74, 2, 2, 8720, 8721, 7, 67, 2, 2, 8721, 8722, 7, 84, 2, 2, 8722, 8723, 7, 67, 2, 2, 8723, 8724, 7, 69, 2, 2, 8724, 8725, 7, 86, 2, 2, 8725, 8726, 7, 71, 2, 2, 8726, 8727, 7, 84, 2, 2, 8727, 8728, 7, 97, 2, 2, 8728, 8729, 7, 78, 2, 2, 8729, 8730, 7, 71, 2, 2, 8730, 8731, 7, 80, 2, 2, 8731, 8732, 7, 73, 2, 2, 8732, 8733, 7, 86, 2, 2, 8733, 8734, 7, 74, 2, 2, 8734, 1462, 3, 2, 2, 2, 8735, 8736, 7, 69, 2, 2, 8736, 8737, 7, 74, 2, 2, 8737, 8738, 7, 67, 2, 2, 8738, 8739, 7, 84, 2, 2, 8739, 8740, 7, 85, 2, 2, 8740, 8741, 7, 71, 2, 2, 8741, 8742, 7, 86, 2, 2, 8742, 1464, 3, 2, 2, 2, 8743, 8744, 7, 69, 2, 2, 8744, 8745, 7, 74, 2, 2, 8745, 8746, 7, 67, 2, 2, 8746, 8747, 7, 84, 2, 2, 8747, 8748, 7, 97, 2, 2, 8748, 8749, 7, 78, 2, 2, 8749, 8750, 7, 71, 2, 2, 8750, 8751, 7, 80, 2, 2, 8751, 8752, 7, 73, 2, 2, 8752, 8753, 7, 86, 2, 2, 8753, 8754, 7, 74, 2, 2, 8754, 1466, 3, 2, 2, 2, 8755, 8756, 7, 69, 2, 2, 8756, 8757, 7, 81, 2, 2, 8757, 8758, 7, 71, 2, 2, 8758, 8759, 7, 84, 2, 2, 8759, 8760, 7, 69, 2, 2, 8760, 8761, 7, 75, 2, 2, 8761, 8762, 7, 68, 2, 2, 8762, 8763, 7, 75, 2, 2, 8763, 8764, 7, 78, 2, 2, 8764, 8765, 7, 75, 2, 2, 8765, 8766, 7, 86, 2, 2, 8766, 8767, 7, 91, 2, 2, 8767, 1468, 3, 2, 2, 2, 8768, 8769, 7, 69, 2, 2, 8769, 8770, 7, 81, 2, 2, 8770, 8771, 7, 78, 2, 2, 8771, 8772, 7, 78, 2, 2, 8772, 8773, 7, 67, 2, 2, 8773, 8774, 7, 86, 2, 2, 8774, 8775, 7, 75, 2, 2, 8775, 8776, 7, 81, 2, 2, 8776, 8777, 7, 80, 2, 2, 8777, 1470, 3, 2, 2, 2, 8778, 8779, 7, 69, 2, 2, 8779, 8780, 7, 81, 2, 2, 8780, 8781, 7, 79, 2, 2, 8781, 8782, 7, 82, 2, 2, 8782, 8783, 7, 84, 2, 2, 8783, 8784, 7, 71, 2, 2, 8784, 8785, 7, 85, 2, 2, 8785, 8786, 7, 85, 2, 2, 8786, 1472, 3, 2, 2, 2, 8787, 8788, 7, 69, 2, 2, 8788, 8789, 7, 81, 2, 2, 8789, 8790, 7, 80, 2, 2, 8790, 8791, 7, 69, 2, 2, 8791, 8792, 7, 67, 2, 2, 8792, 8793, 7, 86, 2, 2, 8793, 1474, 3, 2, 2, 2, 8794, 8795, 7, 69, 2, 2, 8795, 8796, 7, 81, 2, 2, 8796, 8797, 7, 80, 2, 2, 8797, 8798, 7, 69, 2, 2, 8798, 8799, 7, 67, 2, 2, 8799, 8800, 7, 86, 2, 2, 8800, 8801, 7, 97, 2, 2, 8801, 8802, 7, 89, 2, 2, 8802, 8803, 7, 85, 2, 2, 8803, 1476, 3, 2, 2, 2, 8804, 8805, 7, 69, 2, 2, 8805, 8806, 7, 81, 2, 2, 8806, 8807, 7, 80, 2, 2, 8807, 8808, 7, 80, 2, 2, 8808, 8809, 7, 71, 2, 2, 8809, 8810, 7, 69, 2, 2, 8810, 8811, 7, 86, 2, 2, 8811, 8812, 7, 75, 2, 2, 8812, 8813, 7, 81, 2, 2, 8813, 8814, 7, 80, 2, 2, 8814, 8815, 7, 97, 2, 2, 8815, 8816, 7, 75, 2, 2, 8816, 8817, 7, 70, 2, 2, 8817, 1478, 3, 2, 2, 2, 8818, 8819, 7, 69, 2, 2, 8819, 8820, 7, 81, 2, 2, 8820, 8821, 7, 80, 2, 2, 8821, 8822, 7, 88, 2, 2, 8822, 1480, 3, 2, 2, 2, 8823, 8824, 7, 69, 2, 2, 8824, 8825, 7, 81, 2, 2, 8825, 8826, 7, 80, 2, 2, 8826, 8827, 7, 88, 2, 2, 8827, 8828, 7, 71, 2, 2, 8828, 8829, 7, 84, 2, 2, 8829, 8830, 7, 86, 2, 2, 8830, 8831, 7, 97, 2, 2, 8831, 8832, 7, 86, 2, 2, 8832, 8833, 7, 92, 2, 2, 8833, 1482, 3, 2, 2, 2, 8834, 8835, 7, 69, 2, 2, 8835, 8836, 7, 81, 2, 2, 8836, 8837, 7, 85, 2, 2, 8837, 1484, 3, 2, 2, 2, 8838, 8839, 7, 69, 2, 2, 8839, 8840, 7, 81, 2, 2, 8840, 8841, 7, 86, 2, 2, 8841, 1486, 3, 2, 2, 2, 8842, 8843, 7, 69, 2, 2, 8843, 8844, 7, 84, 2, 2, 8844, 8845, 7, 69, 2, 2, 8845, 8846, 7, 53, 2, 2, 8846, 8847, 7, 52, 2, 2, 8847, 1488, 3, 2, 2, 2, 8848, 8849, 7, 69, 2, 2, 8849, 8850, 7, 84, 2, 2, 8850, 8851, 7, 71, 2, 2, 8851, 8852, 7, 67, 2, 2, 8852, 8853, 7, 86, 2, 2, 8853, 8854, 7, 71, 2, 2, 8854, 8855, 7, 97, 2, 2, 8855, 8856, 7, 67, 2, 2, 8856, 8857, 7, 85, 2, 2, 8857, 8858, 7, 91, 2, 2, 8858, 8859, 7, 79, 2, 2, 8859, 8860, 7, 79, 2, 2, 8860, 8861, 7, 71, 2, 2, 8861, 8862, 7, 86, 2, 2, 8862, 8863, 7, 84, 2, 2, 8863, 8864, 7, 75, 2, 2, 8864, 8865, 7, 69, 2, 2, 8865, 8866, 7, 97, 2, 2, 8866, 8867, 7, 82, 2, 2, 8867, 8868, 7, 84, 2, 2, 8868, 8869, 7, 75, 2, 2, 8869, 8870, 7, 88, 2, 2, 8870, 8871, 7, 97, 2, 2, 8871, 8872, 7, 77, 2, 2, 8872, 8873, 7, 71, 2, 2, 8873, 8874, 7, 91, 2, 2, 8874, 1490, 3, 2, 2, 2, 8875, 8876, 7, 69, 2, 2, 8876, 8877, 7, 84, 2, 2, 8877, 8878, 7, 71, 2, 2, 8878, 8879, 7, 67, 2, 2, 8879, 8880, 7, 86, 2, 2, 8880, 8881, 7, 71, 2, 2, 8881, 8882, 7, 97, 2, 2, 8882, 8883, 7, 67, 2, 2, 8883, 8884, 7, 85, 2, 2, 8884, 8885, 7, 91, 2, 2, 8885, 8886, 7, 79, 2, 2, 8886, 8887, 7, 79, 2, 2, 8887, 8888, 7, 71, 2, 2, 8888, 8889, 7, 86, 2, 2, 8889, 8890, 7, 84, 2, 2, 8890, 8891, 7, 75, 2, 2, 8891, 8892, 7, 69, 2, 2, 8892, 8893, 7, 97, 2, 2, 8893, 8894, 7, 82, 2, 2, 8894, 8895, 7, 87, 2, 2, 8895, 8896, 7, 68, 2, 2, 8896, 8897, 7, 97, 2, 2, 8897, 8898, 7, 77, 2, 2, 8898, 8899, 7, 71, 2, 2, 8899, 8900, 7, 91, 2, 2, 8900, 1492, 3, 2, 2, 2, 8901, 8902, 7, 69, 2, 2, 8902, 8903, 7, 84, 2, 2, 8903, 8904, 7, 71, 2, 2, 8904, 8905, 7, 67, 2, 2, 8905, 8906, 7, 86, 2, 2, 8906, 8907, 7, 71, 2, 2, 8907, 8908, 7, 97, 2, 2, 8908, 8909, 7, 70, 2, 2, 8909, 8910, 7, 74, 2, 2, 8910, 8911, 7, 97, 2, 2, 8911, 8912, 7, 82, 2, 2, 8912, 8913, 7, 67, 2, 2, 8913, 8914, 7, 84, 2, 2, 8914, 8915, 7, 67, 2, 2, 8915, 8916, 7, 79, 2, 2, 8916, 8917, 7, 71, 2, 2, 8917, 8918, 7, 86, 2, 2, 8918, 8919, 7, 71, 2, 2, 8919, 8920, 7, 84, 2, 2, 8920, 8921, 7, 85, 2, 2, 8921, 1494, 3, 2, 2, 2, 8922, 8923, 7, 69, 2, 2, 8923, 8924, 7, 84, 2, 2, 8924, 8925, 7, 71, 2, 2, 8925, 8926, 7, 67, 2, 2, 8926, 8927, 7, 86, 2, 2, 8927, 8928, 7, 71, 2, 2, 8928, 8929, 7, 97, 2, 2, 8929, 8930, 7, 70, 2, 2, 8930, 8931, 7, 75, 2, 2, 8931, 8932, 7, 73, 2, 2, 8932, 8933, 7, 71, 2, 2, 8933, 8934, 7, 85, 2, 2, 8934, 8935, 7, 86, 2, 2, 8935, 1496, 3, 2, 2, 2, 8936, 8937, 7, 69, 2, 2, 8937, 8938, 7, 84, 2, 2, 8938, 8939, 7, 81, 2, 2, 8939, 8940, 7, 85, 2, 2, 8940, 8941, 7, 85, 2, 2, 8941, 8942, 7, 71, 2, 2, 8942, 8943, 7, 85, 2, 2, 8943, 1498, 3, 2, 2, 2, 8944, 8945, 7, 70, 2, 2, 8945, 8946, 7, 67, 2, 2, 8946, 8947, 7, 86, 2, 2, 8947, 8948, 7, 71, 2, 2, 8948, 8949, 7, 70, 2, 2, 8949, 8950, 7, 75, 2, 2, 8950, 8951, 7, 72, 2, 2, 8951, 8952, 7, 72, 2, 2, 8952, 1500, 3, 2, 2, 2, 8953, 8954, 7, 70, 2, 2, 8954, 8955, 7, 67, 2, 2, 8955, 8956, 7, 86, 2, 2, 8956, 8957, 7, 71, 2, 2, 8957, 8958, 7, 97, 2, 2, 8958, 8959, 7, 72, 2, 2, 8959, 8960, 7, 81, 2, 2, 8960, 8961, 7, 84, 2, 2, 8961, 8962, 7, 79, 2, 2, 8962, 8963, 7, 67, 2, 2, 8963, 8964, 7, 86, 2, 2, 8964, 1502, 3, 2, 2, 2, 8965, 8966, 7, 70, 2, 2, 8966, 8967, 7, 67, 2, 2, 8967, 8968, 7, 91, 2, 2, 8968, 8969, 7, 80, 2, 2, 8969, 8970, 7, 67, 2, 2, 8970, 8971, 7, 79, 2, 2, 8971, 8972, 7, 71, 2, 2, 8972, 1504, 3, 2, 2, 2, 8973, 8974, 7, 70, 2, 2, 8974, 8975, 7, 67, 2, 2, 8975, 8976, 7, 91, 2, 2, 8976, 8977, 7, 81, 2, 2, 8977, 8978, 7, 72, 2, 2, 8978, 8979, 7, 79, 2, 2, 8979, 8980, 7, 81, 2, 2, 8980, 8981, 7, 80, 2, 2, 8981, 8982, 7, 86, 2, 2, 8982, 8983, 7, 74, 2, 2, 8983, 1506, 3, 2, 2, 2, 8984, 8985, 7, 70, 2, 2, 8985, 8986, 7, 67, 2, 2, 8986, 8987, 7, 91, 2, 2, 8987, 8988, 7, 81, 2, 2, 8988, 8989, 7, 72, 2, 2, 8989, 8990, 7, 89, 2, 2, 8990, 8991, 7, 71, 2, 2, 8991, 8992, 7, 71, 2, 2, 8992, 8993, 7, 77, 2, 2, 8993, 1508, 3, 2, 2, 2, 8994, 8995, 7, 70, 2, 2, 8995, 8996, 7, 67, 2, 2, 8996, 8997, 7, 91, 2, 2, 8997, 8998, 7, 81, 2, 2, 8998, 8999, 7, 72, 2, 2, 8999, 9000, 7, 91, 2, 2, 9000, 9001, 7, 71, 2, 2, 9001, 9002, 7, 67, 2, 2, 9002, 9003, 7, 84, 2, 2, 9003, 1510, 3, 2, 2, 2, 9004, 9005, 7, 70, 2, 2, 9005, 9006, 7, 71, 2, 2, 9006, 9007, 7, 69, 2, 2, 9007, 9008, 7, 81, 2, 2, 9008, 9009, 7, 70, 2, 2, 9009, 9010, 7, 71, 2, 2, 9010, 1512, 3, 2, 2, 2, 9011, 9012, 7, 70, 2, 2, 9012, 9013, 7, 71, 2, 2, 9013, 9014, 7, 73, 2, 2, 9014, 9015, 7, 84, 2, 2, 9015, 9016, 7, 71, 2, 2, 9016, 9017, 7, 71, 2, 2, 9017, 9018, 7, 85, 2, 2, 9018, 1514, 3, 2, 2, 2, 9019, 9020, 7, 70, 2, 2, 9020, 9021, 7, 71, 2, 2, 9021, 9022, 7, 85, 2, 2, 9022, 9023, 7, 97, 2, 2, 9023, 9024, 7, 70, 2, 2, 9024, 9025, 7, 71, 2, 2, 9025, 9026, 7, 69, 2, 2, 9026, 9027, 7, 84, 2, 2, 9027, 9028, 7, 91, 2, 2, 9028, 9029, 7, 82, 2, 2, 9029, 9030, 7, 86, 2, 2, 9030, 1516, 3, 2, 2, 2, 9031, 9032, 7, 70, 2, 2, 9032, 9033, 7, 71, 2, 2, 9033, 9034, 7, 85, 2, 2, 9034, 9035, 7, 97, 2, 2, 9035, 9036, 7, 71, 2, 2, 9036, 9037, 7, 80, 2, 2, 9037, 9038, 7, 69, 2, 2, 9038, 9039, 7, 84, 2, 2, 9039, 9040, 7, 91, 2, 2, 9040, 9041, 7, 82, 2, 2, 9041, 9042, 7, 86, 2, 2, 9042, 1518, 3, 2, 2, 2, 9043, 9044, 7, 70, 2, 2, 9044, 9045, 7, 75, 2, 2, 9045, 9046, 7, 79, 2, 2, 9046, 9047, 7, 71, 2, 2, 9047, 9048, 7, 80, 2, 2, 9048, 9049, 7, 85, 2, 2, 9049, 9050, 7, 75, 2, 2, 9050, 9051, 7, 81, 2, 2, 9051, 9052, 7, 80, 2, 2, 9052, 1520, 3, 2, 2, 2, 9053, 9054, 7, 70, 2, 2, 9054, 9055, 7, 75, 2, 2, 9055, 9056, 7, 85, 2, 2, 9056, 9057, 7, 76, 2, 2, 9057, 9058, 7, 81, 2, 2, 9058, 9059, 7, 75, 2, 2, 9059, 9060, 7, 80, 2, 2, 9060, 9061, 7, 86, 2, 2, 9061, 1522, 3, 2, 2, 2, 9062, 9063, 7, 71, 2, 2, 9063, 9064, 7, 78, 2, 2, 9064, 9065, 7, 86, 2, 2, 9065, 1524, 3, 2, 2, 2, 9066, 9067, 7, 71, 2, 2, 9067, 9068, 7, 80, 2, 2, 9068, 9069, 7, 69, 2, 2, 9069, 9070, 7, 81, 2, 2, 9070, 9071, 7, 70, 2, 2, 9071, 9072, 7, 71, 2, 2, 9072, 1526, 3, 2, 2, 2, 9073, 9074, 7, 71, 2, 2, 9074, 9075, 7, 80, 2, 2, 9075, 9076, 7, 69, 2, 2, 9076, 9077, 7, 84, 2, 2, 9077, 9078, 7, 91, 2, 2, 9078, 9079, 7, 82, 2, 2, 9079, 9080, 7, 86, 2, 2, 9080, 1528, 3, 2, 2, 2, 9081, 9082, 7, 71, 2, 2, 9082, 9083, 7, 80, 2, 2, 9083, 9084, 7, 70, 2, 2, 9084, 9085, 7, 82, 2, 2, 9085, 9086, 7, 81, 2, 2, 9086, 9087, 7, 75, 2, 2, 9087, 9088, 7, 80, 2, 2, 9088, 9089, 7, 86, 2, 2, 9089, 1530, 3, 2, 2, 2, 9090, 9091, 7, 71, 2, 2, 9091, 9092, 7, 80, 2, 2, 9092, 9093, 7, 88, 2, 2, 9093, 9094, 7, 71, 2, 2, 9094, 9095, 7, 78, 2, 2, 9095, 9096, 7, 81, 2, 2, 9096, 9097, 7, 82, 2, 2, 9097, 9098, 7, 71, 2, 2, 9098, 1532, 3, 2, 2, 2, 9099, 9100, 7, 71, 2, 2, 9100, 9101, 7, 83, 2, 2, 9101, 9102, 7, 87, 2, 2, 9102, 9103, 7, 67, 2, 2, 9103, 9104, 7, 78, 2, 2, 9104, 9105, 7, 85, 2, 2, 9105, 1534, 3, 2, 2, 2, 9106, 9107, 7, 71, 2, 2, 9107, 9108, 7, 90, 2, 2, 9108, 9109, 7, 82, 2, 2, 9109, 1536, 3, 2, 2, 2, 9110, 9111, 7, 71, 2, 2, 9111, 9112, 7, 90, 2, 2, 9112, 9113, 7, 82, 2, 2, 9113, 9114, 7, 81, 2, 2, 9114, 9115, 7, 84, 2, 2, 9115, 9116, 7, 86, 2, 2, 9116, 9117, 7, 97, 2, 2, 9117, 9118, 7, 85, 2, 2, 9118, 9119, 7, 71, 2, 2, 9119, 9120, 7, 86, 2, 2, 9120, 1538, 3, 2, 2, 2, 9121, 9122, 7, 71, 2, 2, 9122, 9123, 7, 90, 2, 2, 9123, 9124, 7, 86, 2, 2, 9124, 9125, 7, 71, 2, 2, 9125, 9126, 7, 84, 2, 2, 9126, 9127, 7, 75, 2, 2, 9127, 9128, 7, 81, 2, 2, 9128, 9129, 7, 84, 2, 2, 9129, 9130, 7, 84, 2, 2, 9130, 9131, 7, 75, 2, 2, 9131, 9132, 7, 80, 2, 2, 9132, 9133, 7, 73, 2, 2, 9133, 1540, 3, 2, 2, 2, 9134, 9135, 7, 71, 2, 2, 9135, 9136, 7, 90, 2, 2, 9136, 9137, 7, 86, 2, 2, 9137, 9138, 7, 84, 2, 2, 9138, 9139, 7, 67, 2, 2, 9139, 9140, 7, 69, 2, 2, 9140, 9141, 7, 86, 2, 2, 9141, 9142, 7, 88, 2, 2, 9142, 9143, 7, 67, 2, 2, 9143, 9144, 7, 78, 2, 2, 9144, 9145, 7, 87, 2, 2, 9145, 9146, 7, 71, 2, 2, 9146, 1542, 3, 2, 2, 2, 9147, 9148, 7, 72, 2, 2, 9148, 9149, 7, 75, 2, 2, 9149, 9150, 7, 71, 2, 2, 9150, 9151, 7, 78, 2, 2, 9151, 9152, 7, 70, 2, 2, 9152, 1544, 3, 2, 2, 2, 9153, 9154, 7, 72, 2, 2, 9154, 9155, 7, 75, 2, 2, 9155, 9156, 7, 80, 2, 2, 9156, 9157, 7, 70, 2, 2, 9157, 9158, 7, 97, 2, 2, 9158, 9159, 7, 75, 2, 2, 9159, 9160, 7, 80, 2, 2, 9160, 9161, 7, 97, 2, 2, 9161, 9162, 7, 85, 2, 2, 9162, 9163, 7, 71, 2, 2, 9163, 9164, 7, 86, 2, 2, 9164, 1546, 3, 2, 2, 2, 9165, 9166, 7, 72, 2, 2, 9166, 9167, 7, 78, 2, 2, 9167, 9168, 7, 81, 2, 2, 9168, 9169, 7, 81, 2, 2, 9169, 9170, 7, 84, 2, 2, 9170, 1548, 3, 2, 2, 2, 9171, 9172, 7, 72, 2, 2, 9172, 9173, 7, 81, 2, 2, 9173, 9174, 7, 84, 2, 2, 9174, 9175, 7, 79, 2, 2, 9175, 9176, 7, 67, 2, 2, 9176, 9177, 7, 86, 2, 2, 9177, 1550, 3, 2, 2, 2, 9178, 9179, 7, 72, 2, 2, 9179, 9180, 7, 81, 2, 2, 9180, 9181, 7, 87, 2, 2, 9181, 9182, 7, 80, 2, 2, 9182, 9183, 7, 70, 2, 2, 9183, 9184, 7, 97, 2, 2, 9184, 9185, 7, 84, 2, 2, 9185, 9186, 7, 81, 2, 2, 9186, 9187, 7, 89, 2, 2, 9187, 9188, 7, 85, 2, 2, 9188, 1552, 3, 2, 2, 2, 9189, 9190, 7, 72, 2, 2, 9190, 9191, 7, 84, 2, 2, 9191, 9192, 7, 81, 2, 2, 9192, 9193, 7, 79, 2, 2, 9193, 9194, 7, 97, 2, 2, 9194, 9195, 7, 68, 2, 2, 9195, 9196, 7, 67, 2, 2, 9196, 9197, 7, 85, 2, 2, 9197, 9198, 7, 71, 2, 2, 9198, 9199, 7, 56, 2, 2, 9199, 9200, 7, 54, 2, 2, 9200, 1554, 3, 2, 2, 2, 9201, 9202, 7, 72, 2, 2, 9202, 9203, 7, 84, 2, 2, 9203, 9204, 7, 81, 2, 2, 9204, 9205, 7, 79, 2, 2, 9205, 9206, 7, 97, 2, 2, 9206, 9207, 7, 70, 2, 2, 9207, 9208, 7, 67, 2, 2, 9208, 9209, 7, 91, 2, 2, 9209, 9210, 7, 85, 2, 2, 9210, 1556, 3, 2, 2, 2, 9211, 9212, 7, 72, 2, 2, 9212, 9213, 7, 84, 2, 2, 9213, 9214, 7, 81, 2, 2, 9214, 9215, 7, 79, 2, 2, 9215, 9216, 7, 97, 2, 2, 9216, 9217, 7, 87, 2, 2, 9217, 9218, 7, 80, 2, 2, 9218, 9219, 7, 75, 2, 2, 9219, 9220, 7, 90, 2, 2, 9220, 9221, 7, 86, 2, 2, 9221, 9222, 7, 75, 2, 2, 9222, 9223, 7, 79, 2, 2, 9223, 9224, 7, 71, 2, 2, 9224, 1558, 3, 2, 2, 2, 9225, 9226, 7, 73, 2, 2, 9226, 9227, 7, 71, 2, 2, 9227, 9228, 7, 81, 2, 2, 9228, 9229, 7, 79, 2, 2, 9229, 9230, 7, 69, 2, 2, 9230, 9231, 7, 81, 2, 2, 9231, 9232, 7, 78, 2, 2, 9232, 9233, 7, 78, 2, 2, 9233, 9234, 7, 72, 2, 2, 9234, 9235, 7, 84, 2, 2, 9235, 9236, 7, 81, 2, 2, 9236, 9237, 7, 79, 2, 2, 9237, 9238, 7, 86, 2, 2, 9238, 9239, 7, 71, 2, 2, 9239, 9240, 7, 90, 2, 2, 9240, 9241, 7, 86, 2, 2, 9241, 1560, 3, 2, 2, 2, 9242, 9243, 7, 73, 2, 2, 9243, 9244, 7, 71, 2, 2, 9244, 9245, 7, 81, 2, 2, 9245, 9246, 7, 79, 2, 2, 9246, 9247, 7, 69, 2, 2, 9247, 9248, 7, 81, 2, 2, 9248, 9249, 7, 78, 2, 2, 9249, 9250, 7, 78, 2, 2, 9250, 9251, 7, 72, 2, 2, 9251, 9252, 7, 84, 2, 2, 9252, 9253, 7, 81, 2, 2, 9253, 9254, 7, 79, 2, 2, 9254, 9255, 7, 89, 2, 2, 9255, 9256, 7, 77, 2, 2, 9256, 9257, 7, 68, 2, 2, 9257, 1562, 3, 2, 2, 2, 9258, 9259, 7, 73, 2, 2, 9259, 9260, 7, 71, 2, 2, 9260, 9261, 7, 81, 2, 2, 9261, 9262, 7, 79, 2, 2, 9262, 9263, 7, 71, 2, 2, 9263, 9264, 7, 86, 2, 2, 9264, 9265, 7, 84, 2, 2, 9265, 9266, 7, 91, 2, 2, 9266, 9267, 7, 69, 2, 2, 9267, 9268, 7, 81, 2, 2, 9268, 9269, 7, 78, 2, 2, 9269, 9270, 7, 78, 2, 2, 9270, 9271, 7, 71, 2, 2, 9271, 9272, 7, 69, 2, 2, 9272, 9273, 7, 86, 2, 2, 9273, 9274, 7, 75, 2, 2, 9274, 9275, 7, 81, 2, 2, 9275, 9276, 7, 80, 2, 2, 9276, 9277, 7, 72, 2, 2, 9277, 9278, 7, 84, 2, 2, 9278, 9279, 7, 81, 2, 2, 9279, 9280, 7, 79, 2, 2, 9280, 9281, 7, 86, 2, 2, 9281, 9282, 7, 71, 2, 2, 9282, 9283, 7, 90, 2, 2, 9283, 9284, 7, 86, 2, 2, 9284, 1564, 3, 2, 2, 2, 9285, 9286, 7, 73, 2, 2, 9286, 9287, 7, 71, 2, 2, 9287, 9288, 7, 81, 2, 2, 9288, 9289, 7, 79, 2, 2, 9289, 9290, 7, 71, 2, 2, 9290, 9291, 7, 86, 2, 2, 9291, 9292, 7, 84, 2, 2, 9292, 9293, 7, 91, 2, 2, 9293, 9294, 7, 69, 2, 2, 9294, 9295, 7, 81, 2, 2, 9295, 9296, 7, 78, 2, 2, 9296, 9297, 7, 78, 2, 2, 9297, 9298, 7, 71, 2, 2, 9298, 9299, 7, 69, 2, 2, 9299, 9300, 7, 86, 2, 2, 9300, 9301, 7, 75, 2, 2, 9301, 9302, 7, 81, 2, 2, 9302, 9303, 7, 80, 2, 2, 9303, 9304, 7, 72, 2, 2, 9304, 9305, 7, 84, 2, 2, 9305, 9306, 7, 81, 2, 2, 9306, 9307, 7, 79, 2, 2, 9307, 9308, 7, 89, 2, 2, 9308, 9309, 7, 77, 2, 2, 9309, 9310, 7, 68, 2, 2, 9310, 1566, 3, 2, 2, 2, 9311, 9312, 7, 73, 2, 2, 9312, 9313, 7, 71, 2, 2, 9313, 9314, 7, 81, 2, 2, 9314, 9315, 7, 79, 2, 2, 9315, 9316, 7, 71, 2, 2, 9316, 9317, 7, 86, 2, 2, 9317, 9318, 7, 84, 2, 2, 9318, 9319, 7, 91, 2, 2, 9319, 9320, 7, 72, 2, 2, 9320, 9321, 7, 84, 2, 2, 9321, 9322, 7, 81, 2, 2, 9322, 9323, 7, 79, 2, 2, 9323, 9324, 7, 86, 2, 2, 9324, 9325, 7, 71, 2, 2, 9325, 9326, 7, 90, 2, 2, 9326, 9327, 7, 86, 2, 2, 9327, 1568, 3, 2, 2, 2, 9328, 9329, 7, 73, 2, 2, 9329, 9330, 7, 71, 2, 2, 9330, 9331, 7, 81, 2, 2, 9331, 9332, 7, 79, 2, 2, 9332, 9333, 7, 71, 2, 2, 9333, 9334, 7, 86, 2, 2, 9334, 9335, 7, 84, 2, 2, 9335, 9336, 7, 91, 2, 2, 9336, 9337, 7, 72, 2, 2, 9337, 9338, 7, 84, 2, 2, 9338, 9339, 7, 81, 2, 2, 9339, 9340, 7, 79, 2, 2, 9340, 9341, 7, 89, 2, 2, 9341, 9342, 7, 77, 2, 2, 9342, 9343, 7, 68, 2, 2, 9343, 1570, 3, 2, 2, 2, 9344, 9345, 7, 73, 2, 2, 9345, 9346, 7, 71, 2, 2, 9346, 9347, 7, 81, 2, 2, 9347, 9348, 7, 79, 2, 2, 9348, 9349, 7, 71, 2, 2, 9349, 9350, 7, 86, 2, 2, 9350, 9351, 7, 84, 2, 2, 9351, 9352, 7, 91, 2, 2, 9352, 9353, 7, 80, 2, 2, 9353, 1572, 3, 2, 2, 2, 9354, 9355, 7, 73, 2, 2, 9355, 9356, 7, 71, 2, 2, 9356, 9357, 7, 81, 2, 2, 9357, 9358, 7, 79, 2, 2, 9358, 9359, 7, 71, 2, 2, 9359, 9360, 7, 86, 2, 2, 9360, 9361, 7, 84, 2, 2, 9361, 9362, 7, 91, 2, 2, 9362, 9363, 7, 86, 2, 2, 9363, 9364, 7, 91, 2, 2, 9364, 9365, 7, 82, 2, 2, 9365, 9366, 7, 71, 2, 2, 9366, 1574, 3, 2, 2, 2, 9367, 9368, 7, 73, 2, 2, 9368, 9369, 7, 71, 2, 2, 9369, 9370, 7, 81, 2, 2, 9370, 9371, 7, 79, 2, 2, 9371, 9372, 7, 72, 2, 2, 9372, 9373, 7, 84, 2, 2, 9373, 9374, 7, 81, 2, 2, 9374, 9375, 7, 79, 2, 2, 9375, 9376, 7, 86, 2, 2, 9376, 9377, 7, 71, 2, 2, 9377, 9378, 7, 90, 2, 2, 9378, 9379, 7, 86, 2, 2, 9379, 1576, 3, 2, 2, 2, 9380, 9381, 7, 73, 2, 2, 9381, 9382, 7, 71, 2, 2, 9382, 9383, 7, 81, 2, 2, 9383, 9384, 7, 79, 2, 2, 9384, 9385, 7, 72, 2, 2, 9385, 9386, 7, 84, 2, 2, 9386, 9387, 7, 81, 2, 2, 9387, 9388, 7, 79, 2, 2, 9388, 9389, 7, 89, 2, 2, 9389, 9390, 7, 77, 2, 2, 9390, 9391, 7, 68, 2, 2, 9391, 1578, 3, 2, 2, 2, 9392, 9393, 7, 73, 2, 2, 9393, 9394, 7, 71, 2, 2, 9394, 9395, 7, 86, 2, 2, 9395, 9396, 7, 97, 2, 2, 9396, 9397, 7, 72, 2, 2, 9397, 9398, 7, 81, 2, 2, 9398, 9399, 7, 84, 2, 2, 9399, 9400, 7, 79, 2, 2, 9400, 9401, 7, 67, 2, 2, 9401, 9402, 7, 86, 2, 2, 9402, 1580, 3, 2, 2, 2, 9403, 9404, 7, 73, 2, 2, 9404, 9405, 7, 71, 2, 2, 9405, 9406, 7, 86, 2, 2, 9406, 9407, 7, 97, 2, 2, 9407, 9408, 7, 78, 2, 2, 9408, 9409, 7, 81, 2, 2, 9409, 9410, 7, 69, 2, 2, 9410, 9411, 7, 77, 2, 2, 9411, 1582, 3, 2, 2, 2, 9412, 9413, 7, 73, 2, 2, 9413, 9414, 7, 78, 2, 2, 9414, 9415, 7, 71, 2, 2, 9415, 9416, 7, 80, 2, 2, 9416, 9417, 7, 73, 2, 2, 9417, 9418, 7, 86, 2, 2, 9418, 9419, 7, 74, 2, 2, 9419, 1584, 3, 2, 2, 2, 9420, 9421, 7, 73, 2, 2, 9421, 9422, 7, 84, 2, 2, 9422, 9423, 7, 71, 2, 2, 9423, 9424, 7, 67, 2, 2, 9424, 9425, 7, 86, 2, 2, 9425, 9426, 7, 71, 2, 2, 9426, 9427, 7, 85, 2, 2, 9427, 9428, 7, 86, 2, 2, 9428, 1586, 3, 2, 2, 2, 9429, 9430, 7, 73, 2, 2, 9430, 9431, 7, 86, 2, 2, 9431, 9432, 7, 75, 2, 2, 9432, 9433, 7, 70, 2, 2, 9433, 9434, 7, 97, 2, 2, 9434, 9435, 7, 85, 2, 2, 9435, 9436, 7, 87, 2, 2, 9436, 9437, 7, 68, 2, 2, 9437, 9438, 7, 85, 2, 2, 9438, 9439, 7, 71, 2, 2, 9439, 9440, 7, 86, 2, 2, 9440, 1588, 3, 2, 2, 2, 9441, 9442, 7, 73, 2, 2, 9442, 9443, 7, 86, 2, 2, 9443, 9444, 7, 75, 2, 2, 9444, 9445, 7, 70, 2, 2, 9445, 9446, 7, 97, 2, 2, 9446, 9447, 7, 85, 2, 2, 9447, 9448, 7, 87, 2, 2, 9448, 9449, 7, 68, 2, 2, 9449, 9450, 7, 86, 2, 2, 9450, 9451, 7, 84, 2, 2, 9451, 9452, 7, 67, 2, 2, 9452, 9453, 7, 69, 2, 2, 9453, 9454, 7, 86, 2, 2, 9454, 1590, 3, 2, 2, 2, 9455, 9456, 7, 74, 2, 2, 9456, 9457, 7, 71, 2, 2, 9457, 9458, 7, 90, 2, 2, 9458, 1592, 3, 2, 2, 2, 9459, 9460, 7, 75, 2, 2, 9460, 9461, 7, 72, 2, 2, 9461, 9462, 7, 80, 2, 2, 9462, 9463, 7, 87, 2, 2, 9463, 9464, 7, 78, 2, 2, 9464, 9465, 7, 78, 2, 2, 9465, 1594, 3, 2, 2, 2, 9466, 9467, 7, 75, 2, 2, 9467, 9468, 7, 80, 2, 2, 9468, 9469, 7, 71, 2, 2, 9469, 9470, 7, 86, 2, 2, 9470, 9471, 7, 56, 2, 2, 9471, 9472, 7, 97, 2, 2, 9472, 9473, 7, 67, 2, 2, 9473, 9474, 7, 86, 2, 2, 9474, 9475, 7, 81, 2, 2, 9475, 9476, 7, 80, 2, 2, 9476, 1596, 3, 2, 2, 2, 9477, 9478, 7, 75, 2, 2, 9478, 9479, 7, 80, 2, 2, 9479, 9480, 7, 71, 2, 2, 9480, 9481, 7, 86, 2, 2, 9481, 9482, 7, 56, 2, 2, 9482, 9483, 7, 97, 2, 2, 9483, 9484, 7, 80, 2, 2, 9484, 9485, 7, 86, 2, 2, 9485, 9486, 7, 81, 2, 2, 9486, 9487, 7, 67, 2, 2, 9487, 1598, 3, 2, 2, 2, 9488, 9489, 7, 75, 2, 2, 9489, 9490, 7, 80, 2, 2, 9490, 9491, 7, 71, 2, 2, 9491, 9492, 7, 86, 2, 2, 9492, 9493, 7, 97, 2, 2, 9493, 9494, 7, 67, 2, 2, 9494, 9495, 7, 86, 2, 2, 9495, 9496, 7, 81, 2, 2, 9496, 9497, 7, 80, 2, 2, 9497, 1600, 3, 2, 2, 2, 9498, 9499, 7, 75, 2, 2, 9499, 9500, 7, 80, 2, 2, 9500, 9501, 7, 71, 2, 2, 9501, 9502, 7, 86, 2, 2, 9502, 9503, 7, 97, 2, 2, 9503, 9504, 7, 80, 2, 2, 9504, 9505, 7, 86, 2, 2, 9505, 9506, 7, 81, 2, 2, 9506, 9507, 7, 67, 2, 2, 9507, 1602, 3, 2, 2, 2, 9508, 9509, 7, 75, 2, 2, 9509, 9510, 7, 80, 2, 2, 9510, 9511, 7, 85, 2, 2, 9511, 9512, 7, 86, 2, 2, 9512, 9513, 7, 84, 2, 2, 9513, 1604, 3, 2, 2, 2, 9514, 9515, 7, 75, 2, 2, 9515, 9516, 7, 80, 2, 2, 9516, 9517, 7, 86, 2, 2, 9517, 9518, 7, 71, 2, 2, 9518, 9519, 7, 84, 2, 2, 9519, 9520, 7, 75, 2, 2, 9520, 9521, 7, 81, 2, 2, 9521, 9522, 7, 84, 2, 2, 9522, 9523, 7, 84, 2, 2, 9523, 9524, 7, 75, 2, 2, 9524, 9525, 7, 80, 2, 2, 9525, 9526, 7, 73, 2, 2, 9526, 9527, 7, 80, 2, 2, 9527, 1606, 3, 2, 2, 2, 9528, 9529, 7, 75, 2, 2, 9529, 9530, 7, 80, 2, 2, 9530, 9531, 7, 86, 2, 2, 9531, 9532, 7, 71, 2, 2, 9532, 9533, 7, 84, 2, 2, 9533, 9534, 7, 85, 2, 2, 9534, 9535, 7, 71, 2, 2, 9535, 9536, 7, 69, 2, 2, 9536, 9537, 7, 86, 2, 2, 9537, 9538, 7, 85, 2, 2, 9538, 1608, 3, 2, 2, 2, 9539, 9540, 7, 75, 2, 2, 9540, 9541, 7, 85, 2, 2, 9541, 9542, 7, 69, 2, 2, 9542, 9543, 7, 78, 2, 2, 9543, 9544, 7, 81, 2, 2, 9544, 9545, 7, 85, 2, 2, 9545, 9546, 7, 71, 2, 2, 9546, 9547, 7, 70, 2, 2, 9547, 1610, 3, 2, 2, 2, 9548, 9549, 7, 75, 2, 2, 9549, 9550, 7, 85, 2, 2, 9550, 9551, 7, 71, 2, 2, 9551, 9552, 7, 79, 2, 2, 9552, 9553, 7, 82, 2, 2, 9553, 9554, 7, 86, 2, 2, 9554, 9555, 7, 91, 2, 2, 9555, 1612, 3, 2, 2, 2, 9556, 9557, 7, 75, 2, 2, 9557, 9558, 7, 85, 2, 2, 9558, 9559, 7, 80, 2, 2, 9559, 9560, 7, 87, 2, 2, 9560, 9561, 7, 78, 2, 2, 9561, 9562, 7, 78, 2, 2, 9562, 1614, 3, 2, 2, 2, 9563, 9564, 7, 75, 2, 2, 9564, 9565, 7, 85, 2, 2, 9565, 9566, 7, 85, 2, 2, 9566, 9567, 7, 75, 2, 2, 9567, 9568, 7, 79, 2, 2, 9568, 9569, 7, 82, 2, 2, 9569, 9570, 7, 78, 2, 2, 9570, 9571, 7, 71, 2, 2, 9571, 1616, 3, 2, 2, 2, 9572, 9573, 7, 75, 2, 2, 9573, 9574, 7, 85, 2, 2, 9574, 9575, 7, 97, 2, 2, 9575, 9576, 7, 72, 2, 2, 9576, 9577, 7, 84, 2, 2, 9577, 9578, 7, 71, 2, 2, 9578, 9579, 7, 71, 2, 2, 9579, 9580, 7, 97, 2, 2, 9580, 9581, 7, 78, 2, 2, 9581, 9582, 7, 81, 2, 2, 9582, 9583, 7, 69, 2, 2, 9583, 9584, 7, 77, 2, 2, 9584, 1618, 3, 2, 2, 2, 9585, 9586, 7, 75, 2, 2, 9586, 9587, 7, 85, 2, 2, 9587, 9588, 7, 97, 2, 2, 9588, 9589, 7, 75, 2, 2, 9589, 9590, 7, 82, 2, 2, 9590, 9591, 7, 88, 2, 2, 9591, 9592, 7, 54, 2, 2, 9592, 1620, 3, 2, 2, 2, 9593, 9594, 7, 75, 2, 2, 9594, 9595, 7, 85, 2, 2, 9595, 9596, 7, 97, 2, 2, 9596, 9597, 7, 75, 2, 2, 9597, 9598, 7, 82, 2, 2, 9598, 9599, 7, 88, 2, 2, 9599, 9600, 7, 54, 2, 2, 9600, 9601, 7, 97, 2, 2, 9601, 9602, 7, 69, 2, 2, 9602, 9603, 7, 81, 2, 2, 9603, 9604, 7, 79, 2, 2, 9604, 9605, 7, 82, 2, 2, 9605, 9606, 7, 67, 2, 2, 9606, 9607, 7, 86, 2, 2, 9607, 1622, 3, 2, 2, 2, 9608, 9609, 7, 75, 2, 2, 9609, 9610, 7, 85, 2, 2, 9610, 9611, 7, 97, 2, 2, 9611, 9612, 7, 75, 2, 2, 9612, 9613, 7, 82, 2, 2, 9613, 9614, 7, 88, 2, 2, 9614, 9615, 7, 54, 2, 2, 9615, 9616, 7, 97, 2, 2, 9616, 9617, 7, 79, 2, 2, 9617, 9618, 7, 67, 2, 2, 9618, 9619, 7, 82, 2, 2, 9619, 9620, 7, 82, 2, 2, 9620, 9621, 7, 71, 2, 2, 9621, 9622, 7, 70, 2, 2, 9622, 1624, 3, 2, 2, 2, 9623, 9624, 7, 75, 2, 2, 9624, 9625, 7, 85, 2, 2, 9625, 9626, 7, 97, 2, 2, 9626, 9627, 7, 75, 2, 2, 9627, 9628, 7, 82, 2, 2, 9628, 9629, 7, 88, 2, 2, 9629, 9630, 7, 56, 2, 2, 9630, 1626, 3, 2, 2, 2, 9631, 9632, 7, 75, 2, 2, 9632, 9633, 7, 85, 2, 2, 9633, 9634, 7, 97, 2, 2, 9634, 9635, 7, 87, 2, 2, 9635, 9636, 7, 85, 2, 2, 9636, 9637, 7, 71, 2, 2, 9637, 9638, 7, 70, 2, 2, 9638, 9639, 7, 97, 2, 2, 9639, 9640, 7, 78, 2, 2, 9640, 9641, 7, 81, 2, 2, 9641, 9642, 7, 69, 2, 2, 9642, 9643, 7, 77, 2, 2, 9643, 1628, 3, 2, 2, 2, 9644, 9645, 7, 78, 2, 2, 9645, 9646, 7, 67, 2, 2, 9646, 9647, 7, 85, 2, 2, 9647, 9648, 7, 86, 2, 2, 9648, 9649, 7, 97, 2, 2, 9649, 9650, 7, 75, 2, 2, 9650, 9651, 7, 80, 2, 2, 9651, 9652, 7, 85, 2, 2, 9652, 9653, 7, 71, 2, 2, 9653, 9654, 7, 84, 2, 2, 9654, 9655, 7, 86, 2, 2, 9655, 9656, 7, 97, 2, 2, 9656, 9657, 7, 75, 2, 2, 9657, 9658, 7, 70, 2, 2, 9658, 1630, 3, 2, 2, 2, 9659, 9660, 7, 78, 2, 2, 9660, 9661, 7, 69, 2, 2, 9661, 9662, 7, 67, 2, 2, 9662, 9663, 7, 85, 2, 2, 9663, 9664, 7, 71, 2, 2, 9664, 1632, 3, 2, 2, 2, 9665, 9666, 7, 78, 2, 2, 9666, 9667, 7, 71, 2, 2, 9667, 9668, 7, 67, 2, 2, 9668, 9669, 7, 85, 2, 2, 9669, 9670, 7, 86, 2, 2, 9670, 1634, 3, 2, 2, 2, 9671, 9672, 7, 78, 2, 2, 9672, 9673, 7, 71, 2, 2, 9673, 9674, 7, 80, 2, 2, 9674, 9675, 7, 73, 2, 2, 9675, 9676, 7, 86, 2, 2, 9676, 9677, 7, 74, 2, 2, 9677, 1636, 3, 2, 2, 2, 9678, 9679, 7, 78, 2, 2, 9679, 9680, 7, 75, 2, 2, 9680, 9681, 7, 80, 2, 2, 9681, 9682, 7, 71, 2, 2, 9682, 9683, 7, 72, 2, 2, 9683, 9684, 7, 84, 2, 2, 9684, 9685, 7, 81, 2, 2, 9685, 9686, 7, 79, 2, 2, 9686, 9687, 7, 86, 2, 2, 9687, 9688, 7, 71, 2, 2, 9688, 9689, 7, 90, 2, 2, 9689, 9690, 7, 86, 2, 2, 9690, 1638, 3, 2, 2, 2, 9691, 9692, 7, 78, 2, 2, 9692, 9693, 7, 75, 2, 2, 9693, 9694, 7, 80, 2, 2, 9694, 9695, 7, 71, 2, 2, 9695, 9696, 7, 72, 2, 2, 9696, 9697, 7, 84, 2, 2, 9697, 9698, 7, 81, 2, 2, 9698, 9699, 7, 79, 2, 2, 9699, 9700, 7, 89, 2, 2, 9700, 9701, 7, 77, 2, 2, 9701, 9702, 7, 68, 2, 2, 9702, 1640, 3, 2, 2, 2, 9703, 9704, 7, 78, 2, 2, 9704, 9705, 7, 75, 2, 2, 9705, 9706, 7, 80, 2, 2, 9706, 9707, 7, 71, 2, 2, 9707, 9708, 7, 85, 2, 2, 9708, 9709, 7, 86, 2, 2, 9709, 9710, 7, 84, 2, 2, 9710, 9711, 7, 75, 2, 2, 9711, 9712, 7, 80, 2, 2, 9712, 9713, 7, 73, 2, 2, 9713, 9714, 7, 72, 2, 2, 9714, 9715, 7, 84, 2, 2, 9715, 9716, 7, 81, 2, 2, 9716, 9717, 7, 79, 2, 2, 9717, 9718, 7, 86, 2, 2, 9718, 9719, 7, 71, 2, 2, 9719, 9720, 7, 90, 2, 2, 9720, 9721, 7, 86, 2, 2, 9721, 1642, 3, 2, 2, 2, 9722, 9723, 7, 78, 2, 2, 9723, 9724, 7, 75, 2, 2, 9724, 9725, 7, 80, 2, 2, 9725, 9726, 7, 71, 2, 2, 9726, 9727, 7, 85, 2, 2, 9727, 9728, 7, 86, 2, 2, 9728, 9729, 7, 84, 2, 2, 9729, 9730, 7, 75, 2, 2, 9730, 9731, 7, 80, 2, 2, 9731, 9732, 7, 73, 2, 2, 9732, 9733, 7, 72, 2, 2, 9733, 9734, 7, 84, 2, 2, 9734, 9735, 7, 81, 2, 2, 9735, 9736, 7, 79, 2, 2, 9736, 9737, 7, 89, 2, 2, 9737, 9738, 7, 77, 2, 2, 9738, 9739, 7, 68, 2, 2, 9739, 1644, 3, 2, 2, 2, 9740, 9741, 7, 78, 2, 2, 9741, 9742, 7, 80, 2, 2, 9742, 1646, 3, 2, 2, 2, 9743, 9744, 7, 78, 2, 2, 9744, 9745, 7, 81, 2, 2, 9745, 9746, 7, 67, 2, 2, 9746, 9747, 7, 70, 2, 2, 9747, 9748, 7, 97, 2, 2, 9748, 9749, 7, 72, 2, 2, 9749, 9750, 7, 75, 2, 2, 9750, 9751, 7, 78, 2, 2, 9751, 9752, 7, 71, 2, 2, 9752, 1648, 3, 2, 2, 2, 9753, 9754, 7, 78, 2, 2, 9754, 9755, 7, 81, 2, 2, 9755, 9756, 7, 69, 2, 2, 9756, 9757, 7, 67, 2, 2, 9757, 9758, 7, 86, 2, 2, 9758, 9759, 7, 71, 2, 2, 9759, 1650, 3, 2, 2, 2, 9760, 9761, 7, 78, 2, 2, 9761, 9762, 7, 81, 2, 2, 9762, 9763, 7, 73, 2, 2, 9763, 1652, 3, 2, 2, 2, 9764, 9765, 7, 78, 2, 2, 9765, 9766, 7, 81, 2, 2, 9766, 9767, 7, 73, 2, 2, 9767, 9768, 7, 51, 2, 2, 9768, 9769, 7, 50, 2, 2, 9769, 1654, 3, 2, 2, 2, 9770, 9771, 7, 78, 2, 2, 9771, 9772, 7, 81, 2, 2, 9772, 9773, 7, 73, 2, 2, 9773, 9774, 7, 52, 2, 2, 9774, 1656, 3, 2, 2, 2, 9775, 9776, 7, 78, 2, 2, 9776, 9777, 7, 81, 2, 2, 9777, 9778, 7, 89, 2, 2, 9778, 9779, 7, 71, 2, 2, 9779, 9780, 7, 84, 2, 2, 9780, 1658, 3, 2, 2, 2, 9781, 9782, 7, 78, 2, 2, 9782, 9783, 7, 82, 2, 2, 9783, 9784, 7, 67, 2, 2, 9784, 9785, 7, 70, 2, 2, 9785, 1660, 3, 2, 2, 2, 9786, 9787, 7, 78, 2, 2, 9787, 9788, 7, 86, 2, 2, 9788, 9789, 7, 84, 2, 2, 9789, 9790, 7, 75, 2, 2, 9790, 9791, 7, 79, 2, 2, 9791, 1662, 3, 2, 2, 2, 9792, 9793, 7, 79, 2, 2, 9793, 9794, 7, 67, 2, 2, 9794, 9795, 7, 77, 2, 2, 9795, 9796, 7, 71, 2, 2, 9796, 9797, 7, 70, 2, 2, 9797, 9798, 7, 67, 2, 2, 9798, 9799, 7, 86, 2, 2, 9799, 9800, 7, 71, 2, 2, 9800, 1664, 3, 2, 2, 2, 9801, 9802, 7, 79, 2, 2, 9802, 9803, 7, 67, 2, 2, 9803, 9804, 7, 77, 2, 2, 9804, 9805, 7, 71, 2, 2, 9805, 9806, 7, 86, 2, 2, 9806, 9807, 7, 75, 2, 2, 9807, 9808, 7, 79, 2, 2, 9808, 9809, 7, 71, 2, 2, 9809, 1666, 3, 2, 2, 2, 9810, 9811, 7, 79, 2, 2, 9811, 9812, 7, 67, 2, 2, 9812, 9813, 7, 77, 2, 2, 9813, 9814, 7, 71, 2, 2, 9814, 9815, 7, 97, 2, 2, 9815, 9816, 7, 85, 2, 2, 9816, 9817, 7, 71, 2, 2, 9817, 9818, 7, 86, 2, 2, 9818, 1668, 3, 2, 2, 2, 9819, 9820, 7, 79, 2, 2, 9820, 9821, 7, 67, 2, 2, 9821, 9822, 7, 85, 2, 2, 9822, 9823, 7, 86, 2, 2, 9823, 9824, 7, 71, 2, 2, 9824, 9825, 7, 84, 2, 2, 9825, 9826, 7, 97, 2, 2, 9826, 9827, 7, 82, 2, 2, 9827, 9828, 7, 81, 2, 2, 9828, 9829, 7, 85, 2, 2, 9829, 9830, 7, 97, 2, 2, 9830, 9831, 7, 89, 2, 2, 9831, 9832, 7, 67, 2, 2, 9832, 9833, 7, 75, 2, 2, 9833, 9834, 7, 86, 2, 2, 9834, 1670, 3, 2, 2, 2, 9835, 9836, 7, 79, 2, 2, 9836, 9837, 7, 68, 2, 2, 9837, 9838, 7, 84, 2, 2, 9838, 9839, 7, 69, 2, 2, 9839, 9840, 7, 81, 2, 2, 9840, 9841, 7, 80, 2, 2, 9841, 9842, 7, 86, 2, 2, 9842, 9843, 7, 67, 2, 2, 9843, 9844, 7, 75, 2, 2, 9844, 9845, 7, 80, 2, 2, 9845, 9846, 7, 85, 2, 2, 9846, 1672, 3, 2, 2, 2, 9847, 9848, 7, 79, 2, 2, 9848, 9849, 7, 68, 2, 2, 9849, 9850, 7, 84, 2, 2, 9850, 9851, 7, 70, 2, 2, 9851, 9852, 7, 75, 2, 2, 9852, 9853, 7, 85, 2, 2, 9853, 9854, 7, 76, 2, 2, 9854, 9855, 7, 81, 2, 2, 9855, 9856, 7, 75, 2, 2, 9856, 9857, 7, 80, 2, 2, 9857, 9858, 7, 86, 2, 2, 9858, 1674, 3, 2, 2, 2, 9859, 9860, 7, 79, 2, 2, 9860, 9861, 7, 68, 2, 2, 9861, 9862, 7, 84, 2, 2, 9862, 9863, 7, 71, 2, 2, 9863, 9864, 7, 83, 2, 2, 9864, 9865, 7, 87, 2, 2, 9865, 9866, 7, 67, 2, 2, 9866, 9867, 7, 78, 2, 2, 9867, 1676, 3, 2, 2, 2, 9868, 9869, 7, 79, 2, 2, 9869, 9870, 7, 68, 2, 2, 9870, 9871, 7, 84, 2, 2, 9871, 9872, 7, 75, 2, 2, 9872, 9873, 7, 80, 2, 2, 9873, 9874, 7, 86, 2, 2, 9874, 9875, 7, 71, 2, 2, 9875, 9876, 7, 84, 2, 2, 9876, 9877, 7, 85, 2, 2, 9877, 9878, 7, 71, 2, 2, 9878, 9879, 7, 69, 2, 2, 9879, 9880, 7, 86, 2, 2, 9880, 9881, 7, 85, 2, 2, 9881, 1678, 3, 2, 2, 2, 9882, 9883, 7, 79, 2, 2, 9883, 9884, 7, 68, 2, 2, 9884, 9885, 7, 84, 2, 2, 9885, 9886, 7, 81, 2, 2, 9886, 9887, 7, 88, 2, 2, 9887, 9888, 7, 71, 2, 2, 9888, 9889, 7, 84, 2, 2, 9889, 9890, 7, 78, 2, 2, 9890, 9891, 7, 67, 2, 2, 9891, 9892, 7, 82, 2, 2, 9892, 9893, 7, 85, 2, 2, 9893, 1680, 3, 2, 2, 2, 9894, 9895, 7, 79, 2, 2, 9895, 9896, 7, 68, 2, 2, 9896, 9897, 7, 84, 2, 2, 9897, 9898, 7, 86, 2, 2, 9898, 9899, 7, 81, 2, 2, 9899, 9900, 7, 87, 2, 2, 9900, 9901, 7, 69, 2, 2, 9901, 9902, 7, 74, 2, 2, 9902, 9903, 7, 71, 2, 2, 9903, 9904, 7, 85, 2, 2, 9904, 1682, 3, 2, 2, 2, 9905, 9906, 7, 79, 2, 2, 9906, 9907, 7, 68, 2, 2, 9907, 9908, 7, 84, 2, 2, 9908, 9909, 7, 89, 2, 2, 9909, 9910, 7, 75, 2, 2, 9910, 9911, 7, 86, 2, 2, 9911, 9912, 7, 74, 2, 2, 9912, 9913, 7, 75, 2, 2, 9913, 9914, 7, 80, 2, 2, 9914, 1684, 3, 2, 2, 2, 9915, 9916, 7, 79, 2, 2, 9916, 9917, 7, 70, 2, 2, 9917, 9918, 7, 55, 2, 2, 9918, 1686, 3, 2, 2, 2, 9919, 9920, 7, 79, 2, 2, 9920, 9921, 7, 78, 2, 2, 9921, 9922, 7, 75, 2, 2, 9922, 9923, 7, 80, 2, 2, 9923, 9924, 7, 71, 2, 2, 9924, 9925, 7, 72, 2, 2, 9925, 9926, 7, 84, 2, 2, 9926, 9927, 7, 81, 2, 2, 9927, 9928, 7, 79, 2, 2, 9928, 9929, 7, 86, 2, 2, 9929, 9930, 7, 71, 2, 2, 9930, 9931, 7, 90, 2, 2, 9931, 9932, 7, 86, 2, 2, 9932, 1688, 3, 2, 2, 2, 9933, 9934, 7, 79, 2, 2, 9934, 9935, 7, 78, 2, 2, 9935, 9936, 7, 75, 2, 2, 9936, 9937, 7, 80, 2, 2, 9937, 9938, 7, 71, 2, 2, 9938, 9939, 7, 72, 2, 2, 9939, 9940, 7, 84, 2, 2, 9940, 9941, 7, 81, 2, 2, 9941, 9942, 7, 79, 2, 2, 9942, 9943, 7, 89, 2, 2, 9943, 9944, 7, 77, 2, 2, 9944, 9945, 7, 68, 2, 2, 9945, 1690, 3, 2, 2, 2, 9946, 9947, 7, 79, 2, 2, 9947, 9948, 7, 81, 2, 2, 9948, 9949, 7, 80, 2, 2, 9949, 9950, 7, 86, 2, 2, 9950, 9951, 7, 74, 2, 2, 9951, 9952, 7, 80, 2, 2, 9952, 9953, 7, 67, 2, 2, 9953, 9954, 7, 79, 2, 2, 9954, 9955, 7, 71, 2, 2, 9955, 1692, 3, 2, 2, 2, 9956, 9957, 7, 79, 2, 2, 9957, 9958, 7, 82, 2, 2, 9958, 9959, 7, 81, 2, 2, 9959, 9960, 7, 75, 2, 2, 9960, 9961, 7, 80, 2, 2, 9961, 9962, 7, 86, 2, 2, 9962, 9963, 7, 72, 2, 2, 9963, 9964, 7, 84, 2, 2, 9964, 9965, 7, 81, 2, 2, 9965, 9966, 7, 79, 2, 2, 9966, 9967, 7, 86, 2, 2, 9967, 9968, 7, 71, 2, 2, 9968, 9969, 7, 90, 2, 2, 9969, 9970, 7, 86, 2, 2, 9970, 1694, 3, 2, 2, 2, 9971, 9972, 7, 79, 2, 2, 9972, 9973, 7, 82, 2, 2, 9973, 9974, 7, 81, 2, 2, 9974, 9975, 7, 75, 2, 2, 9975, 9976, 7, 80, 2, 2, 9976, 9977, 7, 86, 2, 2, 9977, 9978, 7, 72, 2, 2, 9978, 9979, 7, 84, 2, 2, 9979, 9980, 7, 81, 2, 2, 9980, 9981, 7, 79, 2, 2, 9981, 9982, 7, 89, 2, 2, 9982, 9983, 7, 77, 2, 2, 9983, 9984, 7, 68, 2, 2, 9984, 1696, 3, 2, 2, 2, 9985, 9986, 7, 79, 2, 2, 9986, 9987, 7, 82, 2, 2, 9987, 9988, 7, 81, 2, 2, 9988, 9989, 7, 78, 2, 2, 9989, 9990, 7, 91, 2, 2, 9990, 9991, 7, 72, 2, 2, 9991, 9992, 7, 84, 2, 2, 9992, 9993, 7, 81, 2, 2, 9993, 9994, 7, 79, 2, 2, 9994, 9995, 7, 86, 2, 2, 9995, 9996, 7, 71, 2, 2, 9996, 9997, 7, 90, 2, 2, 9997, 9998, 7, 86, 2, 2, 9998, 1698, 3, 2, 2, 2, 9999, 10000, 7, 79, 2, 2, 10000, 10001, 7, 82, 2, 2, 10001, 10002, 7, 81, 2, 2, 10002, 10003, 7, 78, 2, 2, 10003, 10004, 7, 91, 2, 2, 10004, 10005, 7, 72, 2, 2, 10005, 10006, 7, 84, 2, 2, 10006, 10007, 7, 81, 2, 2, 10007, 10008, 7, 79, 2, 2, 10008, 10009, 7, 89, 2, 2, 10009, 10010, 7, 77, 2, 2, 10010, 10011, 7, 68, 2, 2, 10011, 1700, 3, 2, 2, 2, 10012, 10013, 7, 79, 2, 2, 10013, 10014, 7, 87, 2, 2, 10014, 10015, 7, 78, 2, 2, 10015, 10016, 7, 86, 2, 2, 10016, 10017, 7, 75, 2, 2, 10017, 10018, 7, 78, 2, 2, 10018, 10019, 7, 75, 2, 2, 10019, 10020, 7, 80, 2, 2, 10020, 10021, 7, 71, 2, 2, 10021, 10022, 7, 85, 2, 2, 10022, 10023, 7, 86, 2, 2, 10023, 10024, 7, 84, 2, 2, 10024, 10025, 7, 75, 2, 2, 10025, 10026, 7, 80, 2, 2, 10026, 10027, 7, 73, 2, 2, 10027, 10028, 7, 72, 2, 2, 10028, 10029, 7, 84, 2, 2, 10029, 10030, 7, 81, 2, 2, 10030, 10031, 7, 79, 2, 2, 10031, 10032, 7, 86, 2, 2, 10032, 10033, 7, 71, 2, 2, 10033, 10034, 7, 90, 2, 2, 10034, 10035, 7, 86, 2, 2, 10035, 1702, 3, 2, 2, 2, 10036, 10037, 7, 79, 2, 2, 10037, 10038, 7, 87, 2, 2, 10038, 10039, 7, 78, 2, 2, 10039, 10040, 7, 86, 2, 2, 10040, 10041, 7, 75, 2, 2, 10041, 10042, 7, 78, 2, 2, 10042, 10043, 7, 75, 2, 2, 10043, 10044, 7, 80, 2, 2, 10044, 10045, 7, 71, 2, 2, 10045, 10046, 7, 85, 2, 2, 10046, 10047, 7, 86, 2, 2, 10047, 10048, 7, 84, 2, 2, 10048, 10049, 7, 75, 2, 2, 10049, 10050, 7, 80, 2, 2, 10050, 10051, 7, 73, 2, 2, 10051, 10052, 7, 72, 2, 2, 10052, 10053, 7, 84, 2, 2, 10053, 10054, 7, 81, 2, 2, 10054, 10055, 7, 79, 2, 2, 10055, 10056, 7, 89, 2, 2, 10056, 10057, 7, 77, 2, 2, 10057, 10058, 7, 68, 2, 2, 10058, 1704, 3, 2, 2, 2, 10059, 10060, 7, 79, 2, 2, 10060, 10061, 7, 87, 2, 2, 10061, 10062, 7, 78, 2, 2, 10062, 10063, 7, 86, 2, 2, 10063, 10064, 7, 75, 2, 2, 10064, 10065, 7, 82, 2, 2, 10065, 10066, 7, 81, 2, 2, 10066, 10067, 7, 75, 2, 2, 10067, 10068, 7, 80, 2, 2, 10068, 10069, 7, 86, 2, 2, 10069, 10070, 7, 72, 2, 2, 10070, 10071, 7, 84, 2, 2, 10071, 10072, 7, 81, 2, 2, 10072, 10073, 7, 79, 2, 2, 10073, 10074, 7, 86, 2, 2, 10074, 10075, 7, 71, 2, 2, 10075, 10076, 7, 90, 2, 2, 10076, 10077, 7, 86, 2, 2, 10077, 1706, 3, 2, 2, 2, 10078, 10079, 7, 79, 2, 2, 10079, 10080, 7, 87, 2, 2, 10080, 10081, 7, 78, 2, 2, 10081, 10082, 7, 86, 2, 2, 10082, 10083, 7, 75, 2, 2, 10083, 10084, 7, 82, 2, 2, 10084, 10085, 7, 81, 2, 2, 10085, 10086, 7, 75, 2, 2, 10086, 10087, 7, 80, 2, 2, 10087, 10088, 7, 86, 2, 2, 10088, 10089, 7, 72, 2, 2, 10089, 10090, 7, 84, 2, 2, 10090, 10091, 7, 81, 2, 2, 10091, 10092, 7, 79, 2, 2, 10092, 10093, 7, 89, 2, 2, 10093, 10094, 7, 77, 2, 2, 10094, 10095, 7, 68, 2, 2, 10095, 1708, 3, 2, 2, 2, 10096, 10097, 7, 79, 2, 2, 10097, 10098, 7, 87, 2, 2, 10098, 10099, 7, 78, 2, 2, 10099, 10100, 7, 86, 2, 2, 10100, 10101, 7, 75, 2, 2, 10101, 10102, 7, 82, 2, 2, 10102, 10103, 7, 81, 2, 2, 10103, 10104, 7, 78, 2, 2, 10104, 10105, 7, 91, 2, 2, 10105, 10106, 7, 73, 2, 2, 10106, 10107, 7, 81, 2, 2, 10107, 10108, 7, 80, 2, 2, 10108, 10109, 7, 72, 2, 2, 10109, 10110, 7, 84, 2, 2, 10110, 10111, 7, 81, 2, 2, 10111, 10112, 7, 79, 2, 2, 10112, 10113, 7, 86, 2, 2, 10113, 10114, 7, 71, 2, 2, 10114, 10115, 7, 90, 2, 2, 10115, 10116, 7, 86, 2, 2, 10116, 1710, 3, 2, 2, 2, 10117, 10118, 7, 79, 2, 2, 10118, 10119, 7, 87, 2, 2, 10119, 10120, 7, 78, 2, 2, 10120, 10121, 7, 86, 2, 2, 10121, 10122, 7, 75, 2, 2, 10122, 10123, 7, 82, 2, 2, 10123, 10124, 7, 81, 2, 2, 10124, 10125, 7, 78, 2, 2, 10125, 10126, 7, 91, 2, 2, 10126, 10127, 7, 73, 2, 2, 10127, 10128, 7, 81, 2, 2, 10128, 10129, 7, 80, 2, 2, 10129, 10130, 7, 72, 2, 2, 10130, 10131, 7, 84, 2, 2, 10131, 10132, 7, 81, 2, 2, 10132, 10133, 7, 79, 2, 2, 10133, 10134, 7, 89, 2, 2, 10134, 10135, 7, 77, 2, 2, 10135, 10136, 7, 68, 2, 2, 10136, 1712, 3, 2, 2, 2, 10137, 10138, 7, 80, 2, 2, 10138, 10139, 7, 67, 2, 2, 10139, 10140, 7, 79, 2, 2, 10140, 10141, 7, 71, 2, 2, 10141, 10142, 7, 97, 2, 2, 10142, 10143, 7, 69, 2, 2, 10143, 10144, 7, 81, 2, 2, 10144, 10145, 7, 80, 2, 2, 10145, 10146, 7, 85, 2, 2, 10146, 10147, 7, 86, 2, 2, 10147, 1714, 3, 2, 2, 2, 10148, 10149, 7, 80, 2, 2, 10149, 10150, 7, 87, 2, 2, 10150, 10151, 7, 78, 2, 2, 10151, 10152, 7, 78, 2, 2, 10152, 10153, 7, 75, 2, 2, 10153, 10154, 7, 72, 2, 2, 10154, 1716, 3, 2, 2, 2, 10155, 10156, 7, 80, 2, 2, 10156, 10157, 7, 87, 2, 2, 10157, 10158, 7, 79, 2, 2, 10158, 10159, 7, 73, 2, 2, 10159, 10160, 7, 71, 2, 2, 10160, 10161, 7, 81, 2, 2, 10161, 10162, 7, 79, 2, 2, 10162, 10163, 7, 71, 2, 2, 10163, 10164, 7, 86, 2, 2, 10164, 10165, 7, 84, 2, 2, 10165, 10166, 7, 75, 2, 2, 10166, 10167, 7, 71, 2, 2, 10167, 10168, 7, 85, 2, 2, 10168, 1718, 3, 2, 2, 2, 10169, 10170, 7, 80, 2, 2, 10170, 10171, 7, 87, 2, 2, 10171, 10172, 7, 79, 2, 2, 10172, 10173, 7, 75, 2, 2, 10173, 10174, 7, 80, 2, 2, 10174, 10175, 7, 86, 2, 2, 10175, 10176, 7, 71, 2, 2, 10176, 10177, 7, 84, 2, 2, 10177, 10178, 7, 75, 2, 2, 10178, 10179, 7, 81, 2, 2, 10179, 10180, 7, 84, 2, 2, 10180, 10181, 7, 84, 2, 2, 10181, 10182, 7, 75, 2, 2, 10182, 10183, 7, 80, 2, 2, 10183, 10184, 7, 73, 2, 2, 10184, 10185, 7, 85, 2, 2, 10185, 1720, 3, 2, 2, 2, 10186, 10187, 7, 80, 2, 2, 10187, 10188, 7, 87, 2, 2, 10188, 10189, 7, 79, 2, 2, 10189, 10190, 7, 82, 2, 2, 10190, 10191, 7, 81, 2, 2, 10191, 10192, 7, 75, 2, 2, 10192, 10193, 7, 80, 2, 2, 10193, 10194, 7, 86, 2, 2, 10194, 10195, 7, 85, 2, 2, 10195, 1722, 3, 2, 2, 2, 10196, 10197, 7, 81, 2, 2, 10197, 10198, 7, 69, 2, 2, 10198, 10199, 7, 86, 2, 2, 10199, 1724, 3, 2, 2, 2, 10200, 10201, 7, 81, 2, 2, 10201, 10202, 7, 69, 2, 2, 10202, 10203, 7, 86, 2, 2, 10203, 10204, 7, 71, 2, 2, 10204, 10205, 7, 86, 2, 2, 10205, 10206, 7, 97, 2, 2, 10206, 10207, 7, 78, 2, 2, 10207, 10208, 7, 71, 2, 2, 10208, 10209, 7, 80, 2, 2, 10209, 10210, 7, 73, 2, 2, 10210, 10211, 7, 86, 2, 2, 10211, 10212, 7, 74, 2, 2, 10212, 1726, 3, 2, 2, 2, 10213, 10214, 7, 81, 2, 2, 10214, 10215, 7, 84, 2, 2, 10215, 10216, 7, 70, 2, 2, 10216, 1728, 3, 2, 2, 2, 10217, 10218, 7, 81, 2, 2, 10218, 10219, 7, 88, 2, 2, 10219, 10220, 7, 71, 2, 2, 10220, 10221, 7, 84, 2, 2, 10221, 10222, 7, 78, 2, 2, 10222, 10223, 7, 67, 2, 2, 10223, 10224, 7, 82, 2, 2, 10224, 10225, 7, 85, 2, 2, 10225, 1730, 3, 2, 2, 2, 10226, 10227, 7, 82, 2, 2, 10227, 10228, 7, 71, 2, 2, 10228, 10229, 7, 84, 2, 2, 10229, 10230, 7, 75, 2, 2, 10230, 10231, 7, 81, 2, 2, 10231, 10232, 7, 70, 2, 2, 10232, 10233, 7, 97, 2, 2, 10233, 10234, 7, 67, 2, 2, 10234, 10235, 7, 70, 2, 2, 10235, 10236, 7, 70, 2, 2, 10236, 1732, 3, 2, 2, 2, 10237, 10238, 7, 82, 2, 2, 10238, 10239, 7, 71, 2, 2, 10239, 10240, 7, 84, 2, 2, 10240, 10241, 7, 75, 2, 2, 10241, 10242, 7, 81, 2, 2, 10242, 10243, 7, 70, 2, 2, 10243, 10244, 7, 97, 2, 2, 10244, 10245, 7, 70, 2, 2, 10245, 10246, 7, 75, 2, 2, 10246, 10247, 7, 72, 2, 2, 10247, 10248, 7, 72, 2, 2, 10248, 1734, 3, 2, 2, 2, 10249, 10250, 7, 82, 2, 2, 10250, 10251, 7, 75, 2, 2, 10251, 1736, 3, 2, 2, 2, 10252, 10253, 7, 82, 2, 2, 10253, 10254, 7, 81, 2, 2, 10254, 10255, 7, 75, 2, 2, 10255, 10256, 7, 80, 2, 2, 10256, 10257, 7, 86, 2, 2, 10257, 10258, 7, 72, 2, 2, 10258, 10259, 7, 84, 2, 2, 10259, 10260, 7, 81, 2, 2, 10260, 10261, 7, 79, 2, 2, 10261, 10262, 7, 86, 2, 2, 10262, 10263, 7, 71, 2, 2, 10263, 10264, 7, 90, 2, 2, 10264, 10265, 7, 86, 2, 2, 10265, 1738, 3, 2, 2, 2, 10266, 10267, 7, 82, 2, 2, 10267, 10268, 7, 81, 2, 2, 10268, 10269, 7, 75, 2, 2, 10269, 10270, 7, 80, 2, 2, 10270, 10271, 7, 86, 2, 2, 10271, 10272, 7, 72, 2, 2, 10272, 10273, 7, 84, 2, 2, 10273, 10274, 7, 81, 2, 2, 10274, 10275, 7, 79, 2, 2, 10275, 10276, 7, 89, 2, 2, 10276, 10277, 7, 77, 2, 2, 10277, 10278, 7, 68, 2, 2, 10278, 1740, 3, 2, 2, 2, 10279, 10280, 7, 82, 2, 2, 10280, 10281, 7, 81, 2, 2, 10281, 10282, 7, 75, 2, 2, 10282, 10283, 7, 80, 2, 2, 10283, 10284, 7, 86, 2, 2, 10284, 10285, 7, 80, 2, 2, 10285, 1742, 3, 2, 2, 2, 10286, 10287, 7, 82, 2, 2, 10287, 10288, 7, 81, 2, 2, 10288, 10289, 7, 78, 2, 2, 10289, 10290, 7, 91, 2, 2, 10290, 10291, 7, 72, 2, 2, 10291, 10292, 7, 84, 2, 2, 10292, 10293, 7, 81, 2, 2, 10293, 10294, 7, 79, 2, 2, 10294, 10295, 7, 86, 2, 2, 10295, 10296, 7, 71, 2, 2, 10296, 10297, 7, 90, 2, 2, 10297, 10298, 7, 86, 2, 2, 10298, 1744, 3, 2, 2, 2, 10299, 10300, 7, 82, 2, 2, 10300, 10301, 7, 81, 2, 2, 10301, 10302, 7, 78, 2, 2, 10302, 10303, 7, 91, 2, 2, 10303, 10304, 7, 72, 2, 2, 10304, 10305, 7, 84, 2, 2, 10305, 10306, 7, 81, 2, 2, 10306, 10307, 7, 79, 2, 2, 10307, 10308, 7, 89, 2, 2, 10308, 10309, 7, 77, 2, 2, 10309, 10310, 7, 68, 2, 2, 10310, 1746, 3, 2, 2, 2, 10311, 10312, 7, 82, 2, 2, 10312, 10313, 7, 81, 2, 2, 10313, 10314, 7, 78, 2, 2, 10314, 10315, 7, 91, 2, 2, 10315, 10316, 7, 73, 2, 2, 10316, 10317, 7, 81, 2, 2, 10317, 10318, 7, 80, 2, 2, 10318, 10319, 7, 72, 2, 2, 10319, 10320, 7, 84, 2, 2, 10320, 10321, 7, 81, 2, 2, 10321, 10322, 7, 79, 2, 2, 10322, 10323, 7, 86, 2, 2, 10323, 10324, 7, 71, 2, 2, 10324, 10325, 7, 90, 2, 2, 10325, 10326, 7, 86, 2, 2, 10326, 1748, 3, 2, 2, 2, 10327, 10328, 7, 82, 2, 2, 10328, 10329, 7, 81, 2, 2, 10329, 10330, 7, 78, 2, 2, 10330, 10331, 7, 91, 2, 2, 10331, 10332, 7, 73, 2, 2, 10332, 10333, 7, 81, 2, 2, 10333, 10334, 7, 80, 2, 2, 10334, 10335, 7, 72, 2, 2, 10335, 10336, 7, 84, 2, 2, 10336, 10337, 7, 81, 2, 2, 10337, 10338, 7, 79, 2, 2, 10338, 10339, 7, 89, 2, 2, 10339, 10340, 7, 77, 2, 2, 10340, 10341, 7, 68, 2, 2, 10341, 1750, 3, 2, 2, 2, 10342, 10343, 7, 82, 2, 2, 10343, 10344, 7, 81, 2, 2, 10344, 10345, 7, 89, 2, 2, 10345, 1752, 3, 2, 2, 2, 10346, 10347, 7, 82, 2, 2, 10347, 10348, 7, 81, 2, 2, 10348, 10349, 7, 89, 2, 2, 10349, 10350, 7, 71, 2, 2, 10350, 10351, 7, 84, 2, 2, 10351, 1754, 3, 2, 2, 2, 10352, 10353, 7, 83, 2, 2, 10353, 10354, 7, 87, 2, 2, 10354, 10355, 7, 81, 2, 2, 10355, 10356, 7, 86, 2, 2, 10356, 10357, 7, 71, 2, 2, 10357, 1756, 3, 2, 2, 2, 10358, 10359, 7, 84, 2, 2, 10359, 10360, 7, 67, 2, 2, 10360, 10361, 7, 70, 2, 2, 10361, 10362, 7, 75, 2, 2, 10362, 10363, 7, 67, 2, 2, 10363, 10364, 7, 80, 2, 2, 10364, 10365, 7, 85, 2, 2, 10365, 1758, 3, 2, 2, 2, 10366, 10367, 7, 84, 2, 2, 10367, 10368, 7, 67, 2, 2, 10368, 10369, 7, 80, 2, 2, 10369, 10370, 7, 70, 2, 2, 10370, 1760, 3, 2, 2, 2, 10371, 10372, 7, 84, 2, 2, 10372, 10373, 7, 67, 2, 2, 10373, 10374, 7, 80, 2, 2, 10374, 10375, 7, 70, 2, 2, 10375, 10376, 7, 81, 2, 2, 10376, 10377, 7, 79, 2, 2, 10377, 10378, 7, 97, 2, 2, 10378, 10379, 7, 68, 2, 2, 10379, 10380, 7, 91, 2, 2, 10380, 10381, 7, 86, 2, 2, 10381, 10382, 7, 71, 2, 2, 10382, 10383, 7, 85, 2, 2, 10383, 1762, 3, 2, 2, 2, 10384, 10385, 7, 84, 2, 2, 10385, 10386, 7, 71, 2, 2, 10386, 10387, 7, 78, 2, 2, 10387, 10388, 7, 71, 2, 2, 10388, 10389, 7, 67, 2, 2, 10389, 10390, 7, 85, 2, 2, 10390, 10391, 7, 71, 2, 2, 10391, 10392, 7, 97, 2, 2, 10392, 10393, 7, 78, 2, 2, 10393, 10394, 7, 81, 2, 2, 10394, 10395, 7, 69, 2, 2, 10395, 10396, 7, 77, 2, 2, 10396, 1764, 3, 2, 2, 2, 10397, 10398, 7, 84, 2, 2, 10398, 10399, 7, 71, 2, 2, 10399, 10400, 7, 88, 2, 2, 10400, 10401, 7, 71, 2, 2, 10401, 10402, 7, 84, 2, 2, 10402, 10403, 7, 85, 2, 2, 10403, 10404, 7, 71, 2, 2, 10404, 1766, 3, 2, 2, 2, 10405, 10406, 7, 84, 2, 2, 10406, 10407, 7, 81, 2, 2, 10407, 10408, 7, 87, 2, 2, 10408, 10409, 7, 80, 2, 2, 10409, 10410, 7, 70, 2, 2, 10410, 1768, 3, 2, 2, 2, 10411, 10412, 7, 84, 2, 2, 10412, 10413, 7, 81, 2, 2, 10413, 10414, 7, 89, 2, 2, 10414, 10415, 7, 97, 2, 2, 10415, 10416, 7, 69, 2, 2, 10416, 10417, 7, 81, 2, 2, 10417, 10418, 7, 87, 2, 2, 10418, 10419, 7, 80, 2, 2, 10419, 10420, 7, 86, 2, 2, 10420, 1770, 3, 2, 2, 2, 10421, 10422, 7, 84, 2, 2, 10422, 10423, 7, 82, 2, 2, 10423, 10424, 7, 67, 2, 2, 10424, 10425, 7, 70, 2, 2, 10425, 1772, 3, 2, 2, 2, 10426, 10427, 7, 84, 2, 2, 10427, 10428, 7, 86, 2, 2, 10428, 10429, 7, 84, 2, 2, 10429, 10430, 7, 75, 2, 2, 10430, 10431, 7, 79, 2, 2, 10431, 1774, 3, 2, 2, 2, 10432, 10433, 7, 85, 2, 2, 10433, 10434, 7, 71, 2, 2, 10434, 10435, 7, 69, 2, 2, 10435, 10436, 7, 97, 2, 2, 10436, 10437, 7, 86, 2, 2, 10437, 10438, 7, 81, 2, 2, 10438, 10439, 7, 97, 2, 2, 10439, 10440, 7, 86, 2, 2, 10440, 10441, 7, 75, 2, 2, 10441, 10442, 7, 79, 2, 2, 10442, 10443, 7, 71, 2, 2, 10443, 1776, 3, 2, 2, 2, 10444, 10445, 7, 85, 2, 2, 10445, 10446, 7, 71, 2, 2, 10446, 10447, 7, 85, 2, 2, 10447, 10448, 7, 85, 2, 2, 10448, 10449, 7, 75, 2, 2, 10449, 10450, 7, 81, 2, 2, 10450, 10451, 7, 80, 2, 2, 10451, 10452, 7, 97, 2, 2, 10452, 10453, 7, 87, 2, 2, 10453, 10454, 7, 85, 2, 2, 10454, 10455, 7, 71, 2, 2, 10455, 10456, 7, 84, 2, 2, 10456, 1778, 3, 2, 2, 2, 10457, 10458, 7, 85, 2, 2, 10458, 10459, 7, 74, 2, 2, 10459, 10460, 7, 67, 2, 2, 10460, 1780, 3, 2, 2, 2, 10461, 10462, 7, 85, 2, 2, 10462, 10463, 7, 74, 2, 2, 10463, 10464, 7, 67, 2, 2, 10464, 10465, 7, 51, 2, 2, 10465, 1782, 3, 2, 2, 2, 10466, 10467, 7, 85, 2, 2, 10467, 10468, 7, 74, 2, 2, 10468, 10469, 7, 67, 2, 2, 10469, 10470, 7, 52, 2, 2, 10470, 1784, 3, 2, 2, 2, 10471, 10472, 7, 85, 2, 2, 10472, 10473, 7, 69, 2, 2, 10473, 10474, 7, 74, 2, 2, 10474, 10475, 7, 71, 2, 2, 10475, 10476, 7, 79, 2, 2, 10476, 10477, 7, 67, 2, 2, 10477, 10478, 7, 97, 2, 2, 10478, 10479, 7, 80, 2, 2, 10479, 10480, 7, 67, 2, 2, 10480, 10481, 7, 79, 2, 2, 10481, 10482, 7, 71, 2, 2, 10482, 1786, 3, 2, 2, 2, 10483, 10484, 7, 85, 2, 2, 10484, 10485, 7, 75, 2, 2, 10485, 10486, 7, 73, 2, 2, 10486, 10487, 7, 80, 2, 2, 10487, 1788, 3, 2, 2, 2, 10488, 10489, 7, 85, 2, 2, 10489, 10490, 7, 75, 2, 2, 10490, 10491, 7, 80, 2, 2, 10491, 1790, 3, 2, 2, 2, 10492, 10493, 7, 85, 2, 2, 10493, 10494, 7, 78, 2, 2, 10494, 10495, 7, 71, 2, 2, 10495, 10496, 7, 71, 2, 2, 10496, 10497, 7, 82, 2, 2, 10497, 1792, 3, 2, 2, 2, 10498, 10499, 7, 85, 2, 2, 10499, 10500, 7, 81, 2, 2, 10500, 10501, 7, 87, 2, 2, 10501, 10502, 7, 80, 2, 2, 10502, 10503, 7, 70, 2, 2, 10503, 10504, 7, 71, 2, 2, 10504, 10505, 7, 90, 2, 2, 10505, 1794, 3, 2, 2, 2, 10506, 10507, 7, 85, 2, 2, 10507, 10508, 7, 83, 2, 2, 10508, 10509, 7, 78, 2, 2, 10509, 10510, 7, 97, 2, 2, 10510, 10511, 7, 86, 2, 2, 10511, 10512, 7, 74, 2, 2, 10512, 10513, 7, 84, 2, 2, 10513, 10514, 7, 71, 2, 2, 10514, 10515, 7, 67, 2, 2, 10515, 10516, 7, 70, 2, 2, 10516, 10517, 7, 97, 2, 2, 10517, 10518, 7, 89, 2, 2, 10518, 10519, 7, 67, 2, 2, 10519, 10520, 7, 75, 2, 2, 10520, 10521, 7, 86, 2, 2, 10521, 10522, 7, 97, 2, 2, 10522, 10523, 7, 67, 2, 2, 10523, 10524, 7, 72, 2, 2, 10524, 10525, 7, 86, 2, 2, 10525, 10526, 7, 71, 2, 2, 10526, 10527, 7, 84, 2, 2, 10527, 10528, 7, 97, 2, 2, 10528, 10529, 7, 73, 2, 2, 10529, 10530, 7, 86, 2, 2, 10530, 10531, 7, 75, 2, 2, 10531, 10532, 7, 70, 2, 2, 10532, 10533, 7, 85, 2, 2, 10533, 1796, 3, 2, 2, 2, 10534, 10535, 7, 85, 2, 2, 10535, 10536, 7, 83, 2, 2, 10536, 10537, 7, 84, 2, 2, 10537, 10538, 7, 86, 2, 2, 10538, 1798, 3, 2, 2, 2, 10539, 10540, 7, 85, 2, 2, 10540, 10541, 7, 84, 2, 2, 10541, 10542, 7, 75, 2, 2, 10542, 10543, 7, 70, 2, 2, 10543, 1800, 3, 2, 2, 2, 10544, 10545, 7, 85, 2, 2, 10545, 10546, 7, 86, 2, 2, 10546, 10547, 7, 67, 2, 2, 10547, 10548, 7, 84, 2, 2, 10548, 10549, 7, 86, 2, 2, 10549, 10550, 7, 82, 2, 2, 10550, 10551, 7, 81, 2, 2, 10551, 10552, 7, 75, 2, 2, 10552, 10553, 7, 80, 2, 2, 10553, 10554, 7, 86, 2, 2, 10554, 1802, 3, 2, 2, 2, 10555, 10556, 7, 85, 2, 2, 10556, 10557, 7, 86, 2, 2, 10557, 10558, 7, 84, 2, 2, 10558, 10559, 7, 69, 2, 2, 10559, 10560, 7, 79, 2, 2, 10560, 10561, 7, 82, 2, 2, 10561, 1804, 3, 2, 2, 2, 10562, 10563, 7, 85, 2, 2, 10563, 10564, 7, 86, 2, 2, 10564, 10565, 7, 84, 2, 2, 10565, 10566, 7, 97, 2, 2, 10566, 10567, 7, 86, 2, 2, 10567, 10568, 7, 81, 2, 2, 10568, 10569, 7, 97, 2, 2, 10569, 10570, 7, 70, 2, 2, 10570, 10571, 7, 67, 2, 2, 10571, 10572, 7, 86, 2, 2, 10572, 10573, 7, 71, 2, 2, 10573, 1806, 3, 2, 2, 2, 10574, 10575, 7, 85, 2, 2, 10575, 10576, 7, 86, 2, 2, 10576, 10577, 7, 97, 2, 2, 10577, 10578, 7, 67, 2, 2, 10578, 10579, 7, 84, 2, 2, 10579, 10580, 7, 71, 2, 2, 10580, 10581, 7, 67, 2, 2, 10581, 1808, 3, 2, 2, 2, 10582, 10583, 7, 85, 2, 2, 10583, 10584, 7, 86, 2, 2, 10584, 10585, 7, 97, 2, 2, 10585, 10586, 7, 67, 2, 2, 10586, 10587, 7, 85, 2, 2, 10587, 10588, 7, 68, 2, 2, 10588, 10589, 7, 75, 2, 2, 10589, 10590, 7, 80, 2, 2, 10590, 10591, 7, 67, 2, 2, 10591, 10592, 7, 84, 2, 2, 10592, 10593, 7, 91, 2, 2, 10593, 1810, 3, 2, 2, 2, 10594, 10595, 7, 85, 2, 2, 10595, 10596, 7, 86, 2, 2, 10596, 10597, 7, 97, 2, 2, 10597, 10598, 7, 67, 2, 2, 10598, 10599, 7, 85, 2, 2, 10599, 10600, 7, 86, 2, 2, 10600, 10601, 7, 71, 2, 2, 10601, 10602, 7, 90, 2, 2, 10602, 10603, 7, 86, 2, 2, 10603, 1812, 3, 2, 2, 2, 10604, 10605, 7, 85, 2, 2, 10605, 10606, 7, 86, 2, 2, 10606, 10607, 7, 97, 2, 2, 10607, 10608, 7, 67, 2, 2, 10608, 10609, 7, 85, 2, 2, 10609, 10610, 7, 89, 2, 2, 10610, 10611, 7, 77, 2, 2, 10611, 10612, 7, 68, 2, 2, 10612, 1814, 3, 2, 2, 2, 10613, 10614, 7, 85, 2, 2, 10614, 10615, 7, 86, 2, 2, 10615, 10616, 7, 97, 2, 2, 10616, 10617, 7, 67, 2, 2, 10617, 10618, 7, 85, 2, 2, 10618, 10619, 7, 89, 2, 2, 10619, 10620, 7, 77, 2, 2, 10620, 10621, 7, 86, 2, 2, 10621, 1816, 3, 2, 2, 2, 10622, 10623, 7, 85, 2, 2, 10623, 10624, 7, 86, 2, 2, 10624, 10625, 7, 97, 2, 2, 10625, 10626, 7, 68, 2, 2, 10626, 10627, 7, 87, 2, 2, 10627, 10628, 7, 72, 2, 2, 10628, 10629, 7, 72, 2, 2, 10629, 10630, 7, 71, 2, 2, 10630, 10631, 7, 84, 2, 2, 10631, 1818, 3, 2, 2, 2, 10632, 10633, 7, 85, 2, 2, 10633, 10634, 7, 86, 2, 2, 10634, 10635, 7, 97, 2, 2, 10635, 10636, 7, 69, 2, 2, 10636, 10637, 7, 71, 2, 2, 10637, 10638, 7, 80, 2, 2, 10638, 10639, 7, 86, 2, 2, 10639, 10640, 7, 84, 2, 2, 10640, 10641, 7, 81, 2, 2, 10641, 10642, 7, 75, 2, 2, 10642, 10643, 7, 70, 2, 2, 10643, 1820, 3, 2, 2, 2, 10644, 10645, 7, 85, 2, 2, 10645, 10646, 7, 86, 2, 2, 10646, 10647, 7, 97, 2, 2, 10647, 10648, 7, 69, 2, 2, 10648, 10649, 7, 81, 2, 2, 10649, 10650, 7, 80, 2, 2, 10650, 10651, 7, 86, 2, 2, 10651, 10652, 7, 67, 2, 2, 10652, 10653, 7, 75, 2, 2, 10653, 10654, 7, 80, 2, 2, 10654, 10655, 7, 85, 2, 2, 10655, 1822, 3, 2, 2, 2, 10656, 10657, 7, 85, 2, 2, 10657, 10658, 7, 86, 2, 2, 10658, 10659, 7, 97, 2, 2, 10659, 10660, 7, 69, 2, 2, 10660, 10661, 7, 84, 2, 2, 10661, 10662, 7, 81, 2, 2, 10662, 10663, 7, 85, 2, 2, 10663, 10664, 7, 85, 2, 2, 10664, 10665, 7, 71, 2, 2, 10665, 10666, 7, 85, 2, 2, 10666, 1824, 3, 2, 2, 2, 10667, 10668, 7, 85, 2, 2, 10668, 10669, 7, 86, 2, 2, 10669, 10670, 7, 97, 2, 2, 10670, 10671, 7, 70, 2, 2, 10671, 10672, 7, 75, 2, 2, 10672, 10673, 7, 72, 2, 2, 10673, 10674, 7, 72, 2, 2, 10674, 10675, 7, 71, 2, 2, 10675, 10676, 7, 84, 2, 2, 10676, 10677, 7, 71, 2, 2, 10677, 10678, 7, 80, 2, 2, 10678, 10679, 7, 69, 2, 2, 10679, 10680, 7, 71, 2, 2, 10680, 1826, 3, 2, 2, 2, 10681, 10682, 7, 85, 2, 2, 10682, 10683, 7, 86, 2, 2, 10683, 10684, 7, 97, 2, 2, 10684, 10685, 7, 70, 2, 2, 10685, 10686, 7, 75, 2, 2, 10686, 10687, 7, 79, 2, 2, 10687, 10688, 7, 71, 2, 2, 10688, 10689, 7, 80, 2, 2, 10689, 10690, 7, 85, 2, 2, 10690, 10691, 7, 75, 2, 2, 10691, 10692, 7, 81, 2, 2, 10692, 10693, 7, 80, 2, 2, 10693, 1828, 3, 2, 2, 2, 10694, 10695, 7, 85, 2, 2, 10695, 10696, 7, 86, 2, 2, 10696, 10697, 7, 97, 2, 2, 10697, 10698, 7, 70, 2, 2, 10698, 10699, 7, 75, 2, 2, 10699, 10700, 7, 85, 2, 2, 10700, 10701, 7, 76, 2, 2, 10701, 10702, 7, 81, 2, 2, 10702, 10703, 7, 75, 2, 2, 10703, 10704, 7, 80, 2, 2, 10704, 10705, 7, 86, 2, 2, 10705, 1830, 3, 2, 2, 2, 10706, 10707, 7, 85, 2, 2, 10707, 10708, 7, 86, 2, 2, 10708, 10709, 7, 97, 2, 2, 10709, 10710, 7, 70, 2, 2, 10710, 10711, 7, 75, 2, 2, 10711, 10712, 7, 85, 2, 2, 10712, 10713, 7, 86, 2, 2, 10713, 10714, 7, 67, 2, 2, 10714, 10715, 7, 80, 2, 2, 10715, 10716, 7, 69, 2, 2, 10716, 10717, 7, 71, 2, 2, 10717, 1832, 3, 2, 2, 2, 10718, 10719, 7, 85, 2, 2, 10719, 10720, 7, 86, 2, 2, 10720, 10721, 7, 97, 2, 2, 10721, 10722, 7, 71, 2, 2, 10722, 10723, 7, 80, 2, 2, 10723, 10724, 7, 70, 2, 2, 10724, 10725, 7, 82, 2, 2, 10725, 10726, 7, 81, 2, 2, 10726, 10727, 7, 75, 2, 2, 10727, 10728, 7, 80, 2, 2, 10728, 10729, 7, 86, 2, 2, 10729, 1834, 3, 2, 2, 2, 10730, 10731, 7, 85, 2, 2, 10731, 10732, 7, 86, 2, 2, 10732, 10733, 7, 97, 2, 2, 10733, 10734, 7, 71, 2, 2, 10734, 10735, 7, 80, 2, 2, 10735, 10736, 7, 88, 2, 2, 10736, 10737, 7, 71, 2, 2, 10737, 10738, 7, 78, 2, 2, 10738, 10739, 7, 81, 2, 2, 10739, 10740, 7, 82, 2, 2, 10740, 10741, 7, 71, 2, 2, 10741, 1836, 3, 2, 2, 2, 10742, 10743, 7, 85, 2, 2, 10743, 10744, 7, 86, 2, 2, 10744, 10745, 7, 97, 2, 2, 10745, 10746, 7, 71, 2, 2, 10746, 10747, 7, 83, 2, 2, 10747, 10748, 7, 87, 2, 2, 10748, 10749, 7, 67, 2, 2, 10749, 10750, 7, 78, 2, 2, 10750, 10751, 7, 85, 2, 2, 10751, 1838, 3, 2, 2, 2, 10752, 10753, 7, 85, 2, 2, 10753, 10754, 7, 86, 2, 2, 10754, 10755, 7, 97, 2, 2, 10755, 10756, 7, 71, 2, 2, 10756, 10757, 7, 90, 2, 2, 10757, 10758, 7, 86, 2, 2, 10758, 10759, 7, 71, 2, 2, 10759, 10760, 7, 84, 2, 2, 10760, 10761, 7, 75, 2, 2, 10761, 10762, 7, 81, 2, 2, 10762, 10763, 7, 84, 2, 2, 10763, 10764, 7, 84, 2, 2, 10764, 10765, 7, 75, 2, 2, 10765, 10766, 7, 80, 2, 2, 10766, 10767, 7, 73, 2, 2, 10767, 1840, 3, 2, 2, 2, 10768, 10769, 7, 85, 2, 2, 10769, 10770, 7, 86, 2, 2, 10770, 10771, 7, 97, 2, 2, 10771, 10772, 7, 73, 2, 2, 10772, 10773, 7, 71, 2, 2, 10773, 10774, 7, 81, 2, 2, 10774, 10775, 7, 79, 2, 2, 10775, 10776, 7, 69, 2, 2, 10776, 10777, 7, 81, 2, 2, 10777, 10778, 7, 78, 2, 2, 10778, 10779, 7, 78, 2, 2, 10779, 10780, 7, 72, 2, 2, 10780, 10781, 7, 84, 2, 2, 10781, 10782, 7, 81, 2, 2, 10782, 10783, 7, 79, 2, 2, 10783, 10784, 7, 86, 2, 2, 10784, 10785, 7, 71, 2, 2, 10785, 10786, 7, 90, 2, 2, 10786, 10787, 7, 86, 2, 2, 10787, 1842, 3, 2, 2, 2, 10788, 10789, 7, 85, 2, 2, 10789, 10790, 7, 86, 2, 2, 10790, 10791, 7, 97, 2, 2, 10791, 10792, 7, 73, 2, 2, 10792, 10793, 7, 71, 2, 2, 10793, 10794, 7, 81, 2, 2, 10794, 10795, 7, 79, 2, 2, 10795, 10796, 7, 69, 2, 2, 10796, 10797, 7, 81, 2, 2, 10797, 10798, 7, 78, 2, 2, 10798, 10799, 7, 78, 2, 2, 10799, 10800, 7, 72, 2, 2, 10800, 10801, 7, 84, 2, 2, 10801, 10802, 7, 81, 2, 2, 10802, 10803, 7, 79, 2, 2, 10803, 10804, 7, 86, 2, 2, 10804, 10805, 7, 90, 2, 2, 10805, 10806, 7, 86, 2, 2, 10806, 1844, 3, 2, 2, 2, 10807, 10808, 7, 85, 2, 2, 10808, 10809, 7, 86, 2, 2, 10809, 10810, 7, 97, 2, 2, 10810, 10811, 7, 73, 2, 2, 10811, 10812, 7, 71, 2, 2, 10812, 10813, 7, 81, 2, 2, 10813, 10814, 7, 79, 2, 2, 10814, 10815, 7, 69, 2, 2, 10815, 10816, 7, 81, 2, 2, 10816, 10817, 7, 78, 2, 2, 10817, 10818, 7, 78, 2, 2, 10818, 10819, 7, 72, 2, 2, 10819, 10820, 7, 84, 2, 2, 10820, 10821, 7, 81, 2, 2, 10821, 10822, 7, 79, 2, 2, 10822, 10823, 7, 89, 2, 2, 10823, 10824, 7, 77, 2, 2, 10824, 10825, 7, 68, 2, 2, 10825, 1846, 3, 2, 2, 2, 10826, 10827, 7, 85, 2, 2, 10827, 10828, 7, 86, 2, 2, 10828, 10829, 7, 97, 2, 2, 10829, 10830, 7, 73, 2, 2, 10830, 10831, 7, 71, 2, 2, 10831, 10832, 7, 81, 2, 2, 10832, 10833, 7, 79, 2, 2, 10833, 10834, 7, 71, 2, 2, 10834, 10835, 7, 86, 2, 2, 10835, 10836, 7, 84, 2, 2, 10836, 10837, 7, 91, 2, 2, 10837, 10838, 7, 69, 2, 2, 10838, 10839, 7, 81, 2, 2, 10839, 10840, 7, 78, 2, 2, 10840, 10841, 7, 78, 2, 2, 10841, 10842, 7, 71, 2, 2, 10842, 10843, 7, 69, 2, 2, 10843, 10844, 7, 86, 2, 2, 10844, 10845, 7, 75, 2, 2, 10845, 10846, 7, 81, 2, 2, 10846, 10847, 7, 80, 2, 2, 10847, 10848, 7, 72, 2, 2, 10848, 10849, 7, 84, 2, 2, 10849, 10850, 7, 81, 2, 2, 10850, 10851, 7, 79, 2, 2, 10851, 10852, 7, 86, 2, 2, 10852, 10853, 7, 71, 2, 2, 10853, 10854, 7, 90, 2, 2, 10854, 10855, 7, 86, 2, 2, 10855, 1848, 3, 2, 2, 2, 10856, 10857, 7, 85, 2, 2, 10857, 10858, 7, 86, 2, 2, 10858, 10859, 7, 97, 2, 2, 10859, 10860, 7, 73, 2, 2, 10860, 10861, 7, 71, 2, 2, 10861, 10862, 7, 81, 2, 2, 10862, 10863, 7, 79, 2, 2, 10863, 10864, 7, 71, 2, 2, 10864, 10865, 7, 86, 2, 2, 10865, 10866, 7, 84, 2, 2, 10866, 10867, 7, 91, 2, 2, 10867, 10868, 7, 69, 2, 2, 10868, 10869, 7, 81, 2, 2, 10869, 10870, 7, 78, 2, 2, 10870, 10871, 7, 78, 2, 2, 10871, 10872, 7, 71, 2, 2, 10872, 10873, 7, 69, 2, 2, 10873, 10874, 7, 86, 2, 2, 10874, 10875, 7, 75, 2, 2, 10875, 10876, 7, 81, 2, 2, 10876, 10877, 7, 80, 2, 2, 10877, 10878, 7, 72, 2, 2, 10878, 10879, 7, 84, 2, 2, 10879, 10880, 7, 81, 2, 2, 10880, 10881, 7, 79, 2, 2, 10881, 10882, 7, 89, 2, 2, 10882, 10883, 7, 77, 2, 2, 10883, 10884, 7, 68, 2, 2, 10884, 1850, 3, 2, 2, 2, 10885, 10886, 7, 85, 2, 2, 10886, 10887, 7, 86, 2, 2, 10887, 10888, 7, 97, 2, 2, 10888, 10889, 7, 73, 2, 2, 10889, 10890, 7, 71, 2, 2, 10890, 10891, 7, 81, 2, 2, 10891, 10892, 7, 79, 2, 2, 10892, 10893, 7, 71, 2, 2, 10893, 10894, 7, 86, 2, 2, 10894, 10895, 7, 84, 2, 2, 10895, 10896, 7, 91, 2, 2, 10896, 10897, 7, 72, 2, 2, 10897, 10898, 7, 84, 2, 2, 10898, 10899, 7, 81, 2, 2, 10899, 10900, 7, 79, 2, 2, 10900, 10901, 7, 86, 2, 2, 10901, 10902, 7, 71, 2, 2, 10902, 10903, 7, 90, 2, 2, 10903, 10904, 7, 86, 2, 2, 10904, 1852, 3, 2, 2, 2, 10905, 10906, 7, 85, 2, 2, 10906, 10907, 7, 86, 2, 2, 10907, 10908, 7, 97, 2, 2, 10908, 10909, 7, 73, 2, 2, 10909, 10910, 7, 71, 2, 2, 10910, 10911, 7, 81, 2, 2, 10911, 10912, 7, 79, 2, 2, 10912, 10913, 7, 71, 2, 2, 10913, 10914, 7, 86, 2, 2, 10914, 10915, 7, 84, 2, 2, 10915, 10916, 7, 91, 2, 2, 10916, 10917, 7, 72, 2, 2, 10917, 10918, 7, 84, 2, 2, 10918, 10919, 7, 81, 2, 2, 10919, 10920, 7, 79, 2, 2, 10920, 10921, 7, 89, 2, 2, 10921, 10922, 7, 77, 2, 2, 10922, 10923, 7, 68, 2, 2, 10923, 1854, 3, 2, 2, 2, 10924, 10925, 7, 85, 2, 2, 10925, 10926, 7, 86, 2, 2, 10926, 10927, 7, 97, 2, 2, 10927, 10928, 7, 73, 2, 2, 10928, 10929, 7, 71, 2, 2, 10929, 10930, 7, 81, 2, 2, 10930, 10931, 7, 79, 2, 2, 10931, 10932, 7, 71, 2, 2, 10932, 10933, 7, 86, 2, 2, 10933, 10934, 7, 84, 2, 2, 10934, 10935, 7, 91, 2, 2, 10935, 10936, 7, 80, 2, 2, 10936, 1856, 3, 2, 2, 2, 10937, 10938, 7, 85, 2, 2, 10938, 10939, 7, 86, 2, 2, 10939, 10940, 7, 97, 2, 2, 10940, 10941, 7, 73, 2, 2, 10941, 10942, 7, 71, 2, 2, 10942, 10943, 7, 81, 2, 2, 10943, 10944, 7, 79, 2, 2, 10944, 10945, 7, 71, 2, 2, 10945, 10946, 7, 86, 2, 2, 10946, 10947, 7, 84, 2, 2, 10947, 10948, 7, 91, 2, 2, 10948, 10949, 7, 86, 2, 2, 10949, 10950, 7, 91, 2, 2, 10950, 10951, 7, 82, 2, 2, 10951, 10952, 7, 71, 2, 2, 10952, 1858, 3, 2, 2, 2, 10953, 10954, 7, 85, 2, 2, 10954, 10955, 7, 86, 2, 2, 10955, 10956, 7, 97, 2, 2, 10956, 10957, 7, 73, 2, 2, 10957, 10958, 7, 71, 2, 2, 10958, 10959, 7, 81, 2, 2, 10959, 10960, 7, 79, 2, 2, 10960, 10961, 7, 72, 2, 2, 10961, 10962, 7, 84, 2, 2, 10962, 10963, 7, 81, 2, 2, 10963, 10964, 7, 79, 2, 2, 10964, 10965, 7, 86, 2, 2, 10965, 10966, 7, 71, 2, 2, 10966, 10967, 7, 90, 2, 2, 10967, 10968, 7, 86, 2, 2, 10968, 1860, 3, 2, 2, 2, 10969, 10970, 7, 85, 2, 2, 10970, 10971, 7, 86, 2, 2, 10971, 10972, 7, 97, 2, 2, 10972, 10973, 7, 73, 2, 2, 10973, 10974, 7, 71, 2, 2, 10974, 10975, 7, 81, 2, 2, 10975, 10976, 7, 79, 2, 2, 10976, 10977, 7, 72, 2, 2, 10977, 10978, 7, 84, 2, 2, 10978, 10979, 7, 81, 2, 2, 10979, 10980, 7, 79, 2, 2, 10980, 10981, 7, 89, 2, 2, 10981, 10982, 7, 77, 2, 2, 10982, 10983, 7, 68, 2, 2, 10983, 1862, 3, 2, 2, 2, 10984, 10985, 7, 85, 2, 2, 10985, 10986, 7, 86, 2, 2, 10986, 10987, 7, 97, 2, 2, 10987, 10988, 7, 75, 2, 2, 10988, 10989, 7, 80, 2, 2, 10989, 10990, 7, 86, 2, 2, 10990, 10991, 7, 71, 2, 2, 10991, 10992, 7, 84, 2, 2, 10992, 10993, 7, 75, 2, 2, 10993, 10994, 7, 81, 2, 2, 10994, 10995, 7, 84, 2, 2, 10995, 10996, 7, 84, 2, 2, 10996, 10997, 7, 75, 2, 2, 10997, 10998, 7, 80, 2, 2, 10998, 10999, 7, 73, 2, 2, 10999, 11000, 7, 80, 2, 2, 11000, 1864, 3, 2, 2, 2, 11001, 11002, 7, 85, 2, 2, 11002, 11003, 7, 86, 2, 2, 11003, 11004, 7, 97, 2, 2, 11004, 11005, 7, 75, 2, 2, 11005, 11006, 7, 80, 2, 2, 11006, 11007, 7, 86, 2, 2, 11007, 11008, 7, 71, 2, 2, 11008, 11009, 7, 84, 2, 2, 11009, 11010, 7, 85, 2, 2, 11010, 11011, 7, 71, 2, 2, 11011, 11012, 7, 69, 2, 2, 11012, 11013, 7, 86, 2, 2, 11013, 11014, 7, 75, 2, 2, 11014, 11015, 7, 81, 2, 2, 11015, 11016, 7, 80, 2, 2, 11016, 1866, 3, 2, 2, 2, 11017, 11018, 7, 85, 2, 2, 11018, 11019, 7, 86, 2, 2, 11019, 11020, 7, 97, 2, 2, 11020, 11021, 7, 75, 2, 2, 11021, 11022, 7, 80, 2, 2, 11022, 11023, 7, 86, 2, 2, 11023, 11024, 7, 71, 2, 2, 11024, 11025, 7, 84, 2, 2, 11025, 11026, 7, 85, 2, 2, 11026, 11027, 7, 71, 2, 2, 11027, 11028, 7, 69, 2, 2, 11028, 11029, 7, 86, 2, 2, 11029, 11030, 7, 85, 2, 2, 11030, 1868, 3, 2, 2, 2, 11031, 11032, 7, 85, 2, 2, 11032, 11033, 7, 86, 2, 2, 11033, 11034, 7, 97, 2, 2, 11034, 11035, 7, 75, 2, 2, 11035, 11036, 7, 85, 2, 2, 11036, 11037, 7, 69, 2, 2, 11037, 11038, 7, 78, 2, 2, 11038, 11039, 7, 81, 2, 2, 11039, 11040, 7, 85, 2, 2, 11040, 11041, 7, 71, 2, 2, 11041, 11042, 7, 70, 2, 2, 11042, 1870, 3, 2, 2, 2, 11043, 11044, 7, 85, 2, 2, 11044, 11045, 7, 86, 2, 2, 11045, 11046, 7, 97, 2, 2, 11046, 11047, 7, 75, 2, 2, 11047, 11048, 7, 85, 2, 2, 11048, 11049, 7, 71, 2, 2, 11049, 11050, 7, 79, 2, 2, 11050, 11051, 7, 82, 2, 2, 11051, 11052, 7, 86, 2, 2, 11052, 11053, 7, 91, 2, 2, 11053, 1872, 3, 2, 2, 2, 11054, 11055, 7, 85, 2, 2, 11055, 11056, 7, 86, 2, 2, 11056, 11057, 7, 97, 2, 2, 11057, 11058, 7, 75, 2, 2, 11058, 11059, 7, 85, 2, 2, 11059, 11060, 7, 85, 2, 2, 11060, 11061, 7, 75, 2, 2, 11061, 11062, 7, 79, 2, 2, 11062, 11063, 7, 82, 2, 2, 11063, 11064, 7, 78, 2, 2, 11064, 11065, 7, 71, 2, 2, 11065, 1874, 3, 2, 2, 2, 11066, 11067, 7, 85, 2, 2, 11067, 11068, 7, 86, 2, 2, 11068, 11069, 7, 97, 2, 2, 11069, 11070, 7, 78, 2, 2, 11070, 11071, 7, 75, 2, 2, 11071, 11072, 7, 80, 2, 2, 11072, 11073, 7, 71, 2, 2, 11073, 11074, 7, 72, 2, 2, 11074, 11075, 7, 84, 2, 2, 11075, 11076, 7, 81, 2, 2, 11076, 11077, 7, 79, 2, 2, 11077, 11078, 7, 86, 2, 2, 11078, 11079, 7, 71, 2, 2, 11079, 11080, 7, 90, 2, 2, 11080, 11081, 7, 86, 2, 2, 11081, 1876, 3, 2, 2, 2, 11082, 11083, 7, 85, 2, 2, 11083, 11084, 7, 86, 2, 2, 11084, 11085, 7, 97, 2, 2, 11085, 11086, 7, 78, 2, 2, 11086, 11087, 7, 75, 2, 2, 11087, 11088, 7, 80, 2, 2, 11088, 11089, 7, 71, 2, 2, 11089, 11090, 7, 72, 2, 2, 11090, 11091, 7, 84, 2, 2, 11091, 11092, 7, 81, 2, 2, 11092, 11093, 7, 79, 2, 2, 11093, 11094, 7, 89, 2, 2, 11094, 11095, 7, 77, 2, 2, 11095, 11096, 7, 68, 2, 2, 11096, 1878, 3, 2, 2, 2, 11097, 11098, 7, 85, 2, 2, 11098, 11099, 7, 86, 2, 2, 11099, 11100, 7, 97, 2, 2, 11100, 11101, 7, 78, 2, 2, 11101, 11102, 7, 75, 2, 2, 11102, 11103, 7, 80, 2, 2, 11103, 11104, 7, 71, 2, 2, 11104, 11105, 7, 85, 2, 2, 11105, 11106, 7, 86, 2, 2, 11106, 11107, 7, 84, 2, 2, 11107, 11108, 7, 75, 2, 2, 11108, 11109, 7, 80, 2, 2, 11109, 11110, 7, 73, 2, 2, 11110, 11111, 7, 72, 2, 2, 11111, 11112, 7, 84, 2, 2, 11112, 11113, 7, 81, 2, 2, 11113, 11114, 7, 79, 2, 2, 11114, 11115, 7, 86, 2, 2, 11115, 11116, 7, 71, 2, 2, 11116, 11117, 7, 90, 2, 2, 11117, 11118, 7, 86, 2, 2, 11118, 1880, 3, 2, 2, 2, 11119, 11120, 7, 85, 2, 2, 11120, 11121, 7, 86, 2, 2, 11121, 11122, 7, 97, 2, 2, 11122, 11123, 7, 78, 2, 2, 11123, 11124, 7, 75, 2, 2, 11124, 11125, 7, 80, 2, 2, 11125, 11126, 7, 71, 2, 2, 11126, 11127, 7, 85, 2, 2, 11127, 11128, 7, 86, 2, 2, 11128, 11129, 7, 84, 2, 2, 11129, 11130, 7, 75, 2, 2, 11130, 11131, 7, 80, 2, 2, 11131, 11132, 7, 73, 2, 2, 11132, 11133, 7, 72, 2, 2, 11133, 11134, 7, 84, 2, 2, 11134, 11135, 7, 81, 2, 2, 11135, 11136, 7, 79, 2, 2, 11136, 11137, 7, 89, 2, 2, 11137, 11138, 7, 77, 2, 2, 11138, 11139, 7, 68, 2, 2, 11139, 1882, 3, 2, 2, 2, 11140, 11141, 7, 85, 2, 2, 11141, 11142, 7, 86, 2, 2, 11142, 11143, 7, 97, 2, 2, 11143, 11144, 7, 80, 2, 2, 11144, 11145, 7, 87, 2, 2, 11145, 11146, 7, 79, 2, 2, 11146, 11147, 7, 73, 2, 2, 11147, 11148, 7, 71, 2, 2, 11148, 11149, 7, 81, 2, 2, 11149, 11150, 7, 79, 2, 2, 11150, 11151, 7, 71, 2, 2, 11151, 11152, 7, 86, 2, 2, 11152, 11153, 7, 84, 2, 2, 11153, 11154, 7, 75, 2, 2, 11154, 11155, 7, 71, 2, 2, 11155, 11156, 7, 85, 2, 2, 11156, 1884, 3, 2, 2, 2, 11157, 11158, 7, 85, 2, 2, 11158, 11159, 7, 86, 2, 2, 11159, 11160, 7, 97, 2, 2, 11160, 11161, 7, 80, 2, 2, 11161, 11162, 7, 87, 2, 2, 11162, 11163, 7, 79, 2, 2, 11163, 11164, 7, 75, 2, 2, 11164, 11165, 7, 80, 2, 2, 11165, 11166, 7, 86, 2, 2, 11166, 11167, 7, 71, 2, 2, 11167, 11168, 7, 84, 2, 2, 11168, 11169, 7, 75, 2, 2, 11169, 11170, 7, 81, 2, 2, 11170, 11171, 7, 84, 2, 2, 11171, 11172, 7, 84, 2, 2, 11172, 11173, 7, 75, 2, 2, 11173, 11174, 7, 80, 2, 2, 11174, 11175, 7, 73, 2, 2, 11175, 1886, 3, 2, 2, 2, 11176, 11177, 7, 85, 2, 2, 11177, 11178, 7, 86, 2, 2, 11178, 11179, 7, 97, 2, 2, 11179, 11180, 7, 80, 2, 2, 11180, 11181, 7, 87, 2, 2, 11181, 11182, 7, 79, 2, 2, 11182, 11183, 7, 75, 2, 2, 11183, 11184, 7, 80, 2, 2, 11184, 11185, 7, 86, 2, 2, 11185, 11186, 7, 71, 2, 2, 11186, 11187, 7, 84, 2, 2, 11187, 11188, 7, 75, 2, 2, 11188, 11189, 7, 81, 2, 2, 11189, 11190, 7, 84, 2, 2, 11190, 11191, 7, 84, 2, 2, 11191, 11192, 7, 75, 2, 2, 11192, 11193, 7, 80, 2, 2, 11193, 11194, 7, 73, 2, 2, 11194, 11195, 7, 85, 2, 2, 11195, 1888, 3, 2, 2, 2, 11196, 11197, 7, 85, 2, 2, 11197, 11198, 7, 86, 2, 2, 11198, 11199, 7, 97, 2, 2, 11199, 11200, 7, 80, 2, 2, 11200, 11201, 7, 87, 2, 2, 11201, 11202, 7, 79, 2, 2, 11202, 11203, 7, 82, 2, 2, 11203, 11204, 7, 81, 2, 2, 11204, 11205, 7, 75, 2, 2, 11205, 11206, 7, 80, 2, 2, 11206, 11207, 7, 86, 2, 2, 11207, 11208, 7, 85, 2, 2, 11208, 1890, 3, 2, 2, 2, 11209, 11210, 7, 85, 2, 2, 11210, 11211, 7, 86, 2, 2, 11211, 11212, 7, 97, 2, 2, 11212, 11213, 7, 81, 2, 2, 11213, 11214, 7, 88, 2, 2, 11214, 11215, 7, 71, 2, 2, 11215, 11216, 7, 84, 2, 2, 11216, 11217, 7, 78, 2, 2, 11217, 11218, 7, 67, 2, 2, 11218, 11219, 7, 82, 2, 2, 11219, 11220, 7, 85, 2, 2, 11220, 1892, 3, 2, 2, 2, 11221, 11222, 7, 85, 2, 2, 11222, 11223, 7, 86, 2, 2, 11223, 11224, 7, 97, 2, 2, 11224, 11225, 7, 82, 2, 2, 11225, 11226, 7, 81, 2, 2, 11226, 11227, 7, 75, 2, 2, 11227, 11228, 7, 80, 2, 2, 11228, 11229, 7, 86, 2, 2, 11229, 11230, 7, 72, 2, 2, 11230, 11231, 7, 84, 2, 2, 11231, 11232, 7, 81, 2, 2, 11232, 11233, 7, 79, 2, 2, 11233, 11234, 7, 86, 2, 2, 11234, 11235, 7, 71, 2, 2, 11235, 11236, 7, 90, 2, 2, 11236, 11237, 7, 86, 2, 2, 11237, 1894, 3, 2, 2, 2, 11238, 11239, 7, 85, 2, 2, 11239, 11240, 7, 86, 2, 2, 11240, 11241, 7, 97, 2, 2, 11241, 11242, 7, 82, 2, 2, 11242, 11243, 7, 81, 2, 2, 11243, 11244, 7, 75, 2, 2, 11244, 11245, 7, 80, 2, 2, 11245, 11246, 7, 86, 2, 2, 11246, 11247, 7, 72, 2, 2, 11247, 11248, 7, 84, 2, 2, 11248, 11249, 7, 81, 2, 2, 11249, 11250, 7, 79, 2, 2, 11250, 11251, 7, 89, 2, 2, 11251, 11252, 7, 77, 2, 2, 11252, 11253, 7, 68, 2, 2, 11253, 1896, 3, 2, 2, 2, 11254, 11255, 7, 85, 2, 2, 11255, 11256, 7, 86, 2, 2, 11256, 11257, 7, 97, 2, 2, 11257, 11258, 7, 82, 2, 2, 11258, 11259, 7, 81, 2, 2, 11259, 11260, 7, 75, 2, 2, 11260, 11261, 7, 80, 2, 2, 11261, 11262, 7, 86, 2, 2, 11262, 11263, 7, 80, 2, 2, 11263, 1898, 3, 2, 2, 2, 11264, 11265, 7, 85, 2, 2, 11265, 11266, 7, 86, 2, 2, 11266, 11267, 7, 97, 2, 2, 11267, 11268, 7, 82, 2, 2, 11268, 11269, 7, 81, 2, 2, 11269, 11270, 7, 78, 2, 2, 11270, 11271, 7, 91, 2, 2, 11271, 11272, 7, 72, 2, 2, 11272, 11273, 7, 84, 2, 2, 11273, 11274, 7, 81, 2, 2, 11274, 11275, 7, 79, 2, 2, 11275, 11276, 7, 86, 2, 2, 11276, 11277, 7, 71, 2, 2, 11277, 11278, 7, 90, 2, 2, 11278, 11279, 7, 86, 2, 2, 11279, 1900, 3, 2, 2, 2, 11280, 11281, 7, 85, 2, 2, 11281, 11282, 7, 86, 2, 2, 11282, 11283, 7, 97, 2, 2, 11283, 11284, 7, 82, 2, 2, 11284, 11285, 7, 81, 2, 2, 11285, 11286, 7, 78, 2, 2, 11286, 11287, 7, 91, 2, 2, 11287, 11288, 7, 72, 2, 2, 11288, 11289, 7, 84, 2, 2, 11289, 11290, 7, 81, 2, 2, 11290, 11291, 7, 79, 2, 2, 11291, 11292, 7, 89, 2, 2, 11292, 11293, 7, 77, 2, 2, 11293, 11294, 7, 68, 2, 2, 11294, 1902, 3, 2, 2, 2, 11295, 11296, 7, 85, 2, 2, 11296, 11297, 7, 86, 2, 2, 11297, 11298, 7, 97, 2, 2, 11298, 11299, 7, 82, 2, 2, 11299, 11300, 7, 81, 2, 2, 11300, 11301, 7, 78, 2, 2, 11301, 11302, 7, 91, 2, 2, 11302, 11303, 7, 73, 2, 2, 11303, 11304, 7, 81, 2, 2, 11304, 11305, 7, 80, 2, 2, 11305, 11306, 7, 72, 2, 2, 11306, 11307, 7, 84, 2, 2, 11307, 11308, 7, 81, 2, 2, 11308, 11309, 7, 79, 2, 2, 11309, 11310, 7, 86, 2, 2, 11310, 11311, 7, 71, 2, 2, 11311, 11312, 7, 90, 2, 2, 11312, 11313, 7, 86, 2, 2, 11313, 1904, 3, 2, 2, 2, 11314, 11315, 7, 85, 2, 2, 11315, 11316, 7, 86, 2, 2, 11316, 11317, 7, 97, 2, 2, 11317, 11318, 7, 82, 2, 2, 11318, 11319, 7, 81, 2, 2, 11319, 11320, 7, 78, 2, 2, 11320, 11321, 7, 91, 2, 2, 11321, 11322, 7, 73, 2, 2, 11322, 11323, 7, 81, 2, 2, 11323, 11324, 7, 80, 2, 2, 11324, 11325, 7, 72, 2, 2, 11325, 11326, 7, 84, 2, 2, 11326, 11327, 7, 81, 2, 2, 11327, 11328, 7, 79, 2, 2, 11328, 11329, 7, 89, 2, 2, 11329, 11330, 7, 77, 2, 2, 11330, 11331, 7, 68, 2, 2, 11331, 1906, 3, 2, 2, 2, 11332, 11333, 7, 85, 2, 2, 11333, 11334, 7, 86, 2, 2, 11334, 11335, 7, 97, 2, 2, 11335, 11336, 7, 85, 2, 2, 11336, 11337, 7, 84, 2, 2, 11337, 11338, 7, 75, 2, 2, 11338, 11339, 7, 70, 2, 2, 11339, 1908, 3, 2, 2, 2, 11340, 11341, 7, 85, 2, 2, 11341, 11342, 7, 86, 2, 2, 11342, 11343, 7, 97, 2, 2, 11343, 11344, 7, 85, 2, 2, 11344, 11345, 7, 86, 2, 2, 11345, 11346, 7, 67, 2, 2, 11346, 11347, 7, 84, 2, 2, 11347, 11348, 7, 86, 2, 2, 11348, 11349, 7, 82, 2, 2, 11349, 11350, 7, 81, 2, 2, 11350, 11351, 7, 75, 2, 2, 11351, 11352, 7, 80, 2, 2, 11352, 11353, 7, 86, 2, 2, 11353, 1910, 3, 2, 2, 2, 11354, 11355, 7, 85, 2, 2, 11355, 11356, 7, 86, 2, 2, 11356, 11357, 7, 97, 2, 2, 11357, 11358, 7, 85, 2, 2, 11358, 11359, 7, 91, 2, 2, 11359, 11360, 7, 79, 2, 2, 11360, 11361, 7, 70, 2, 2, 11361, 11362, 7, 75, 2, 2, 11362, 11363, 7, 72, 2, 2, 11363, 11364, 7, 72, 2, 2, 11364, 11365, 7, 71, 2, 2, 11365, 11366, 7, 84, 2, 2, 11366, 11367, 7, 71, 2, 2, 11367, 11368, 7, 80, 2, 2, 11368, 11369, 7, 69, 2, 2, 11369, 11370, 7, 71, 2, 2, 11370, 1912, 3, 2, 2, 2, 11371, 11372, 7, 85, 2, 2, 11372, 11373, 7, 86, 2, 2, 11373, 11374, 7, 97, 2, 2, 11374, 11375, 7, 86, 2, 2, 11375, 11376, 7, 81, 2, 2, 11376, 11377, 7, 87, 2, 2, 11377, 11378, 7, 69, 2, 2, 11378, 11379, 7, 74, 2, 2, 11379, 11380, 7, 71, 2, 2, 11380, 11381, 7, 85, 2, 2, 11381, 1914, 3, 2, 2, 2, 11382, 11383, 7, 85, 2, 2, 11383, 11384, 7, 86, 2, 2, 11384, 11385, 7, 97, 2, 2, 11385, 11386, 7, 87, 2, 2, 11386, 11387, 7, 80, 2, 2, 11387, 11388, 7, 75, 2, 2, 11388, 11389, 7, 81, 2, 2, 11389, 11390, 7, 80, 2, 2, 11390, 1916, 3, 2, 2, 2, 11391, 11392, 7, 85, 2, 2, 11392, 11393, 7, 86, 2, 2, 11393, 11394, 7, 97, 2, 2, 11394, 11395, 7, 89, 2, 2, 11395, 11396, 7, 75, 2, 2, 11396, 11397, 7, 86, 2, 2, 11397, 11398, 7, 74, 2, 2, 11398, 11399, 7, 75, 2, 2, 11399, 11400, 7, 80, 2, 2, 11400, 1918, 3, 2, 2, 2, 11401, 11402, 7, 85, 2, 2, 11402, 11403, 7, 86, 2, 2, 11403, 11404, 7, 97, 2, 2, 11404, 11405, 7, 90, 2, 2, 11405, 1920, 3, 2, 2, 2, 11406, 11407, 7, 85, 2, 2, 11407, 11408, 7, 86, 2, 2, 11408, 11409, 7, 97, 2, 2, 11409, 11410, 7, 91, 2, 2, 11410, 1922, 3, 2, 2, 2, 11411, 11412, 7, 85, 2, 2, 11412, 11413, 7, 87, 2, 2, 11413, 11414, 7, 68, 2, 2, 11414, 11415, 7, 70, 2, 2, 11415, 11416, 7, 67, 2, 2, 11416, 11417, 7, 86, 2, 2, 11417, 11418, 7, 71, 2, 2, 11418, 1924, 3, 2, 2, 2, 11419, 11420, 7, 85, 2, 2, 11420, 11421, 7, 87, 2, 2, 11421, 11422, 7, 68, 2, 2, 11422, 11423, 7, 85, 2, 2, 11423, 11424, 7, 86, 2, 2, 11424, 11425, 7, 84, 2, 2, 11425, 11426, 7, 75, 2, 2, 11426, 11427, 7, 80, 2, 2, 11427, 11428, 7, 73, 2, 2, 11428, 11429, 7, 97, 2, 2, 11429, 11430, 7, 75, 2, 2, 11430, 11431, 7, 80, 2, 2, 11431, 11432, 7, 70, 2, 2, 11432, 11433, 7, 71, 2, 2, 11433, 11434, 7, 90, 2, 2, 11434, 1926, 3, 2, 2, 2, 11435, 11436, 7, 85, 2, 2, 11436, 11437, 7, 87, 2, 2, 11437, 11438, 7, 68, 2, 2, 11438, 11439, 7, 86, 2, 2, 11439, 11440, 7, 75, 2, 2, 11440, 11441, 7, 79, 2, 2, 11441, 11442, 7, 71, 2, 2, 11442, 1928, 3, 2, 2, 2, 11443, 11444, 7, 85, 2, 2, 11444, 11445, 7, 91, 2, 2, 11445, 11446, 7, 85, 2, 2, 11446, 11447, 7, 86, 2, 2, 11447, 11448, 7, 71, 2, 2, 11448, 11449, 7, 79, 2, 2, 11449, 11450, 7, 97, 2, 2, 11450, 11451, 7, 87, 2, 2, 11451, 11452, 7, 85, 2, 2, 11452, 11453, 7, 71, 2, 2, 11453, 11454, 7, 84, 2, 2, 11454, 1930, 3, 2, 2, 2, 11455, 11456, 7, 86, 2, 2, 11456, 11457, 7, 67, 2, 2, 11457, 11458, 7, 80, 2, 2, 11458, 1932, 3, 2, 2, 2, 11459, 11460, 7, 86, 2, 2, 11460, 11461, 7, 75, 2, 2, 11461, 11462, 7, 79, 2, 2, 11462, 11463, 7, 71, 2, 2, 11463, 11464, 7, 70, 2, 2, 11464, 11465, 7, 75, 2, 2, 11465, 11466, 7, 72, 2, 2, 11466, 11467, 7, 72, 2, 2, 11467, 1934, 3, 2, 2, 2, 11468, 11469, 7, 86, 2, 2, 11469, 11470, 7, 75, 2, 2, 11470, 11471, 7, 79, 2, 2, 11471, 11472, 7, 71, 2, 2, 11472, 11473, 7, 85, 2, 2, 11473, 11474, 7, 86, 2, 2, 11474, 11475, 7, 67, 2, 2, 11475, 11476, 7, 79, 2, 2, 11476, 11477, 7, 82, 2, 2, 11477, 11478, 7, 67, 2, 2, 11478, 11479, 7, 70, 2, 2, 11479, 11480, 7, 70, 2, 2, 11480, 1936, 3, 2, 2, 2, 11481, 11482, 7, 86, 2, 2, 11482, 11483, 7, 75, 2, 2, 11483, 11484, 7, 79, 2, 2, 11484, 11485, 7, 71, 2, 2, 11485, 11486, 7, 85, 2, 2, 11486, 11487, 7, 86, 2, 2, 11487, 11488, 7, 67, 2, 2, 11488, 11489, 7, 79, 2, 2, 11489, 11490, 7, 82, 2, 2, 11490, 11491, 7, 70, 2, 2, 11491, 11492, 7, 75, 2, 2, 11492, 11493, 7, 72, 2, 2, 11493, 11494, 7, 72, 2, 2, 11494, 1938, 3, 2, 2, 2, 11495, 11496, 7, 86, 2, 2, 11496, 11497, 7, 75, 2, 2, 11497, 11498, 7, 79, 2, 2, 11498, 11499, 7, 71, 2, 2, 11499, 11500, 7, 97, 2, 2, 11500, 11501, 7, 72, 2, 2, 11501, 11502, 7, 81, 2, 2, 11502, 11503, 7, 84, 2, 2, 11503, 11504, 7, 79, 2, 2, 11504, 11505, 7, 67, 2, 2, 11505, 11506, 7, 86, 2, 2, 11506, 1940, 3, 2, 2, 2, 11507, 11508, 7, 86, 2, 2, 11508, 11509, 7, 75, 2, 2, 11509, 11510, 7, 79, 2, 2, 11510, 11511, 7, 71, 2, 2, 11511, 11512, 7, 97, 2, 2, 11512, 11513, 7, 86, 2, 2, 11513, 11514, 7, 81, 2, 2, 11514, 11515, 7, 97, 2, 2, 11515, 11516, 7, 85, 2, 2, 11516, 11517, 7, 71, 2, 2, 11517, 11518, 7, 69, 2, 2, 11518, 1942, 3, 2, 2, 2, 11519, 11520, 7, 86, 2, 2, 11520, 11521, 7, 81, 2, 2, 11521, 11522, 7, 87, 2, 2, 11522, 11523, 7, 69, 2, 2, 11523, 11524, 7, 74, 2, 2, 11524, 11525, 7, 71, 2, 2, 11525, 11526, 7, 85, 2, 2, 11526, 1944, 3, 2, 2, 2, 11527, 11528, 7, 86, 2, 2, 11528, 11529, 7, 81, 2, 2, 11529, 11530, 7, 97, 2, 2, 11530, 11531, 7, 68, 2, 2, 11531, 11532, 7, 67, 2, 2, 11532, 11533, 7, 85, 2, 2, 11533, 11534, 7, 71, 2, 2, 11534, 11535, 7, 56, 2, 2, 11535, 11536, 7, 54, 2, 2, 11536, 1946, 3, 2, 2, 2, 11537, 11538, 7, 86, 2, 2, 11538, 11539, 7, 81, 2, 2, 11539, 11540, 7, 97, 2, 2, 11540, 11541, 7, 70, 2, 2, 11541, 11542, 7, 67, 2, 2, 11542, 11543, 7, 91, 2, 2, 11543, 11544, 7, 85, 2, 2, 11544, 1948, 3, 2, 2, 2, 11545, 11546, 7, 86, 2, 2, 11546, 11547, 7, 81, 2, 2, 11547, 11548, 7, 97, 2, 2, 11548, 11549, 7, 85, 2, 2, 11549, 11550, 7, 71, 2, 2, 11550, 11551, 7, 69, 2, 2, 11551, 11552, 7, 81, 2, 2, 11552, 11553, 7, 80, 2, 2, 11553, 11554, 7, 70, 2, 2, 11554, 11555, 7, 85, 2, 2, 11555, 1950, 3, 2, 2, 2, 11556, 11557, 7, 87, 2, 2, 11557, 11558, 7, 69, 2, 2, 11558, 11559, 7, 67, 2, 2, 11559, 11560, 7, 85, 2, 2, 11560, 11561, 7, 71, 2, 2, 11561, 1952, 3, 2, 2, 2, 11562, 11563, 7, 87, 2, 2, 11563, 11564, 7, 80, 2, 2, 11564, 11565, 7, 69, 2, 2, 11565, 11566, 7, 81, 2, 2, 11566, 11567, 7, 79, 2, 2, 11567, 11568, 7, 82, 2, 2, 11568, 11569, 7, 84, 2, 2, 11569, 11570, 7, 71, 2, 2, 11570, 11571, 7, 85, 2, 2, 11571, 11572, 7, 85, 2, 2, 11572, 1954, 3, 2, 2, 2, 11573, 11574, 7, 87, 2, 2, 11574, 11575, 7, 80, 2, 2, 11575, 11576, 7, 69, 2, 2, 11576, 11577, 7, 81, 2, 2, 11577, 11578, 7, 79, 2, 2, 11578, 11579, 7, 82, 2, 2, 11579, 11580, 7, 84, 2, 2, 11580, 11581, 7, 71, 2, 2, 11581, 11582, 7, 85, 2, 2, 11582, 11583, 7, 85, 2, 2, 11583, 11584, 7, 71, 2, 2, 11584, 11585, 7, 70, 2, 2, 11585, 11586, 7, 97, 2, 2, 11586, 11587, 7, 78, 2, 2, 11587, 11588, 7, 71, 2, 2, 11588, 11589, 7, 80, 2, 2, 11589, 11590, 7, 73, 2, 2, 11590, 11591, 7, 86, 2, 2, 11591, 11592, 7, 74, 2, 2, 11592, 1956, 3, 2, 2, 2, 11593, 11594, 7, 87, 2, 2, 11594, 11595, 7, 80, 2, 2, 11595, 11596, 7, 74, 2, 2, 11596, 11597, 7, 71, 2, 2, 11597, 11598, 7, 90, 2, 2, 11598, 1958, 3, 2, 2, 2, 11599, 11600, 7, 87, 2, 2, 11600, 11601, 7, 80, 2, 2, 11601, 11602, 7, 75, 2, 2, 11602, 11603, 7, 90, 2, 2, 11603, 11604, 7, 97, 2, 2, 11604, 11605, 7, 86, 2, 2, 11605, 11606, 7, 75, 2, 2, 11606, 11607, 7, 79, 2, 2, 11607, 11608, 7, 71, 2, 2, 11608, 11609, 7, 85, 2, 2, 11609, 11610, 7, 86, 2, 2, 11610, 11611, 7, 67, 2, 2, 11611, 11612, 7, 79, 2, 2, 11612, 11613, 7, 82, 2, 2, 11613, 1960, 3, 2, 2, 2, 11614, 11615, 7, 87, 2, 2, 11615, 11616, 7, 82, 2, 2, 11616, 11617, 7, 70, 2, 2, 11617, 11618, 7, 67, 2, 2, 11618, 11619, 7, 86, 2, 2, 11619, 11620, 7, 71, 2, 2, 11620, 11621, 7, 90, 2, 2, 11621, 11622, 7, 79, 2, 2, 11622, 11623, 7, 78, 2, 2, 11623, 1962, 3, 2, 2, 2, 11624, 11625, 7, 87, 2, 2, 11625, 11626, 7, 82, 2, 2, 11626, 11627, 7, 82, 2, 2, 11627, 11628, 7, 71, 2, 2, 11628, 11629, 7, 84, 2, 2, 11629, 1964, 3, 2, 2, 2, 11630, 11631, 7, 87, 2, 2, 11631, 11632, 7, 87, 2, 2, 11632, 11633, 7, 75, 2, 2, 11633, 11634, 7, 70, 2, 2, 11634, 1966, 3, 2, 2, 2, 11635, 11636, 7, 87, 2, 2, 11636, 11637, 7, 87, 2, 2, 11637, 11638, 7, 75, 2, 2, 11638, 11639, 7, 70, 2, 2, 11639, 11640, 7, 97, 2, 2, 11640, 11641, 7, 85, 2, 2, 11641, 11642, 7, 74, 2, 2, 11642, 11643, 7, 81, 2, 2, 11643, 11644, 7, 84, 2, 2, 11644, 11645, 7, 86, 2, 2, 11645, 1968, 3, 2, 2, 2, 11646, 11647, 7, 88, 2, 2, 11647, 11648, 7, 67, 2, 2, 11648, 11649, 7, 78, 2, 2, 11649, 11650, 7, 75, 2, 2, 11650, 11651, 7, 70, 2, 2, 11651, 11652, 7, 67, 2, 2, 11652, 11653, 7, 86, 2, 2, 11653, 11654, 7, 71, 2, 2, 11654, 11655, 7, 97, 2, 2, 11655, 11656, 7, 82, 2, 2, 11656, 11657, 7, 67, 2, 2, 11657, 11658, 7, 85, 2, 2, 11658, 11659, 7, 85, 2, 2, 11659, 11660, 7, 89, 2, 2, 11660, 11661, 7, 81, 2, 2, 11661, 11662, 7, 84, 2, 2, 11662, 11663, 7, 70, 2, 2, 11663, 11664, 7, 97, 2, 2, 11664, 11665, 7, 85, 2, 2, 11665, 11666, 7, 86, 2, 2, 11666, 11667, 7, 84, 2, 2, 11667, 11668, 7, 71, 2, 2, 11668, 11669, 7, 80, 2, 2, 11669, 11670, 7, 73, 2, 2, 11670, 11671, 7, 86, 2, 2, 11671, 11672, 7, 74, 2, 2, 11672, 1970, 3, 2, 2, 2, 11673, 11674, 7, 88, 2, 2, 11674, 11675, 7, 71, 2, 2, 11675, 11676, 7, 84, 2, 2, 11676, 11677, 7, 85, 2, 2, 11677, 11678, 7, 75, 2, 2, 11678, 11679, 7, 81, 2, 2, 11679, 11680, 7, 80, 2, 2, 11680, 1972, 3, 2, 2, 2, 11681, 11682, 7, 89, 2, 2, 11682, 11683, 7, 67, 2, 2, 11683, 11684, 7, 75, 2, 2, 11684, 11685, 7, 86, 2, 2, 11685, 11686, 7, 97, 2, 2, 11686, 11687, 7, 87, 2, 2, 11687, 11688, 7, 80, 2, 2, 11688, 11689, 7, 86, 2, 2, 11689, 11690, 7, 75, 2, 2, 11690, 11691, 7, 78, 2, 2, 11691, 11692, 7, 97, 2, 2, 11692, 11693, 7, 85, 2, 2, 11693, 11694, 7, 83, 2, 2, 11694, 11695, 7, 78, 2, 2, 11695, 11696, 7, 97, 2, 2, 11696, 11697, 7, 86, 2, 2, 11697, 11698, 7, 74, 2, 2, 11698, 11699, 7, 84, 2, 2, 11699, 11700, 7, 71, 2, 2, 11700, 11701, 7, 67, 2, 2, 11701, 11702, 7, 70, 2, 2, 11702, 11703, 7, 97, 2, 2, 11703, 11704, 7, 67, 2, 2, 11704, 11705, 7, 72, 2, 2, 11705, 11706, 7, 86, 2, 2, 11706, 11707, 7, 71, 2, 2, 11707, 11708, 7, 84, 2, 2, 11708, 11709, 7, 97, 2, 2, 11709, 11710, 7, 73, 2, 2, 11710, 11711, 7, 86, 2, 2, 11711, 11712, 7, 75, 2, 2, 11712, 11713, 7, 70, 2, 2, 11713, 11714, 7, 85, 2, 2, 11714, 1974, 3, 2, 2, 2, 11715, 11716, 7, 89, 2, 2, 11716, 11717, 7, 71, 2, 2, 11717, 11718, 7, 71, 2, 2, 11718, 11719, 7, 77, 2, 2, 11719, 11720, 7, 70, 2, 2, 11720, 11721, 7, 67, 2, 2, 11721, 11722, 7, 91, 2, 2, 11722, 1976, 3, 2, 2, 2, 11723, 11724, 7, 89, 2, 2, 11724, 11725, 7, 71, 2, 2, 11725, 11726, 7, 71, 2, 2, 11726, 11727, 7, 77, 2, 2, 11727, 11728, 7, 81, 2, 2, 11728, 11729, 7, 72, 2, 2, 11729, 11730, 7, 91, 2, 2, 11730, 11731, 7, 71, 2, 2, 11731, 11732, 7, 67, 2, 2, 11732, 11733, 7, 84, 2, 2, 11733, 1978, 3, 2, 2, 2, 11734, 11735, 7, 89, 2, 2, 11735, 11736, 7, 71, 2, 2, 11736, 11737, 7, 75, 2, 2, 11737, 11738, 7, 73, 2, 2, 11738, 11739, 7, 74, 2, 2, 11739, 11740, 7, 86, 2, 2, 11740, 11741, 7, 97, 2, 2, 11741, 11742, 7, 85, 2, 2, 11742, 11743, 7, 86, 2, 2, 11743, 11744, 7, 84, 2, 2, 11744, 11745, 7, 75, 2, 2, 11745, 11746, 7, 80, 2, 2, 11746, 11747, 7, 73, 2, 2, 11747, 1980, 3, 2, 2, 2, 11748, 11749, 7, 89, 2, 2, 11749, 11750, 7, 75, 2, 2, 11750, 11751, 7, 86, 2, 2, 11751, 11752, 7, 74, 2, 2, 11752, 11753, 7, 75, 2, 2, 11753, 11754, 7, 80, 2, 2, 11754, 1982, 3, 2, 2, 2, 11755, 11756, 7, 91, 2, 2, 11756, 11757, 7, 71, 2, 2, 11757, 11758, 7, 67, 2, 2, 11758, 11759, 7, 84, 2, 2, 11759, 11760, 7, 89, 2, 2, 11760, 11761, 7, 71, 2, 2, 11761, 11762, 7, 71, 2, 2, 11762, 11763, 7, 77, 2, 2, 11763, 1984, 3, 2, 2, 2, 11764, 11765, 7, 91, 2, 2, 11765, 1986, 3, 2, 2, 2, 11766, 11767, 7, 90, 2, 2, 11767, 1988, 3, 2, 2, 2, 11768, 11769, 7, 60, 2, 2, 11769, 11770, 7, 63, 2, 2, 11770, 1990, 3, 2, 2, 2, 11771, 11772, 7, 45, 2, 2, 11772, 11773, 7, 63, 2, 2, 11773, 1992, 3, 2, 2, 2, 11774, 11775, 7, 47, 2, 2, 11775, 11776, 7, 63, 2, 2, 11776, 1994, 3, 2, 2, 2, 11777, 11778, 7, 44, 2, 2, 11778, 11779, 7, 63, 2, 2, 11779, 1996, 3, 2, 2, 2, 11780, 11781, 7, 49, 2, 2, 11781, 11782, 7, 63, 2, 2, 11782, 1998, 3, 2, 2, 2, 11783, 11784, 7, 39, 2, 2, 11784, 11785, 7, 63, 2, 2, 11785, 2000, 3, 2, 2, 2, 11786, 11787, 7, 40, 2, 2, 11787, 11788, 7, 63, 2, 2, 11788, 2002, 3, 2, 2, 2, 11789, 11790, 7, 96, 2, 2, 11790, 11791, 7, 63, 2, 2, 11791, 2004, 3, 2, 2, 2, 11792, 11793, 7, 126, 2, 2, 11793, 11794, 7, 63, 2, 2, 11794, 2006, 3, 2, 2, 2, 11795, 11796, 7, 44, 2, 2, 11796, 2008, 3, 2, 2, 2, 11797, 11798, 7, 49, 2, 2, 11798, 2010, 3, 2, 2, 2, 11799, 11800, 7, 39, 2, 2, 11800, 2012, 3, 2, 2, 2, 11801, 11802, 7, 45, 2, 2, 11802, 2014, 3, 2, 2, 2, 11803, 11804, 7, 47, 2, 2, 11804, 11805, 7, 47, 2, 2, 11805, 2016, 3, 2, 2, 2, 11806, 11807, 7, 47, 2, 2, 11807, 2018, 3, 2, 2, 2, 11808, 11809, 7, 70, 2, 2, 11809, 11810, 7, 75, 2, 2, 11810, 11811, 7, 88, 2, 2, 11811, 2020, 3, 2, 2, 2, 11812, 11813, 7, 79, 2, 2, 11813, 11814, 7, 81, 2, 2, 11814, 11815, 7, 70, 2, 2, 11815, 2022, 3, 2, 2, 2, 11816, 11817, 7, 63, 2, 2, 11817, 2024, 3, 2, 2, 2, 11818, 11819, 7, 64, 2, 2, 11819, 2026, 3, 2, 2, 2, 11820, 11821, 7, 62, 2, 2, 11821, 2028, 3, 2, 2, 2, 11822, 11823, 7, 35, 2, 2, 11823, 2030, 3, 2, 2, 2, 11824, 11825, 7, 128, 2, 2, 11825, 2032, 3, 2, 2, 2, 11826, 11827, 7, 126, 2, 2, 11827, 2034, 3, 2, 2, 2, 11828, 11829, 7, 40, 2, 2, 11829, 2036, 3, 2, 2, 2, 11830, 11831, 7, 96, 2, 2, 11831, 2038, 3, 2, 2, 2, 11832, 11833, 7, 48, 2, 2, 11833, 2040, 3, 2, 2, 2, 11834, 11835, 7, 42, 2, 2, 11835, 2042, 3, 2, 2, 2, 11836, 11837, 7, 43, 2, 2, 11837, 2044, 3, 2, 2, 2, 11838, 11839, 7, 46, 2, 2, 11839, 2046, 3, 2, 2, 2, 11840, 11841, 7, 61, 2, 2, 11841, 2048, 3, 2, 2, 2, 11842, 11843, 7, 66, 2, 2, 11843, 2050, 3, 2, 2, 2, 11844, 11845, 7, 50, 2, 2, 11845, 2052, 3, 2, 2, 2, 11846, 11847, 7, 51, 2, 2, 11847, 2054, 3, 2, 2, 2, 11848, 11849, 7, 52, 2, 2, 11849, 2056, 3, 2, 2, 2, 11850, 11851, 7, 41, 2, 2, 11851, 2058, 3, 2, 2, 2, 11852, 11853, 7, 36, 2, 2, 11853, 2060, 3, 2, 2, 2, 11854, 11855, 7, 98, 2, 2, 11855, 2062, 3, 2, 2, 2, 11856, 11857, 7, 60, 2, 2, 11857, 2064, 3, 2, 2, 2, 11858, 11862, 5, 2057, 1029, 2, 11859, 11862, 5, 2059, 1030, 2, 11860, 11862, 5, 2061, 1031, 2, 11861, 11858, 3, 2, 2, 2, 11861, 11859, 3, 2, 2, 2, 11861, 11860, 3, 2, 2, 2, 11862, 2066, 3, 2, 2, 2, 11863, 11864, 7, 98, 2, 2, 11864, 11865, 5, 2099, 1050, 2, 11865, 11866, 7, 98, 2, 2, 11866, 2068, 3, 2, 2, 2, 11867, 11869, 5, 2113, 1057, 2, 11868, 11867, 3, 2, 2, 2, 11869, 11870, 3, 2, 2, 2, 11870, 11868, 3, 2, 2, 2, 11870, 11871, 3, 2, 2, 2, 11871, 11872, 3, 2, 2, 2, 11872, 11873, 9, 4, 2, 2, 11873, 2070, 3, 2, 2, 2, 11874, 11875, 7, 80, 2, 2, 11875, 11876, 5, 2107, 1054, 2, 11876, 2072, 3, 2, 2, 2, 11877, 11881, 5, 2105, 1053, 2, 11878, 11881, 5, 2107, 1054, 2, 11879, 11881, 5, 2109, 1055, 2, 11880, 11877, 3, 2, 2, 2, 11880, 11878, 3, 2, 2, 2, 11880, 11879, 3, 2, 2, 2, 11881, 2074, 3, 2, 2, 2, 11882, 11884, 5, 2113, 1057, 2, 11883, 11882, 3, 2, 2, 2, 11884, 11885, 3, 2, 2, 2, 11885, 11883, 3, 2, 2, 2, 11885, 11886, 3, 2, 2, 2, 11886, 2076, 3, 2, 2, 2, 11887, 11888, 7, 90, 2, 2, 11888, 11892, 7, 41, 2, 2, 11889, 11890, 5, 2111, 1056, 2, 11890, 11891, 5, 2111, 1056, 2, 11891, 11893, 3, 2, 2, 2, 11892, 11889, 3, 2, 2, 2, 11893, 11894, 3, 2, 2, 2, 11894, 11892, 3, 2, 2, 2, 11894, 11895, 3, 2, 2, 2, 11895, 11896, 3, 2, 2, 2, 11896, 11897, 7, 41, 2, 2, 11897, 11907, 3, 2, 2, 2, 11898, 11899, 7, 50, 2, 2, 11899, 11900, 7, 90, 2, 2, 11900, 11902, 3, 2, 2, 2, 11901, 11903, 5, 2111, 1056, 2, 11902, 11901, 3, 2, 2, 2, 11903, 11904, 3, 2, 2, 2, 11904, 11902, 3, 2, 2, 2, 11904, 11905, 3, 2, 2, 2, 11905, 11907, 3, 2, 2, 2, 11906, 11887, 3, 2, 2, 2, 11906, 11898, 3, 2, 2, 2, 11907, 2078, 3, 2, 2, 2, 11908, 11910, 5, 2113, 1057, 2, 11909, 11908, 3, 2, 2, 2, 11910, 11911, 3, 2, 2, 2, 11911, 11909, 3, 2, 2, 2, 11911, 11912, 3, 2, 2, 2, 11912, 11914, 3, 2, 2, 2, 11913, 11909, 3, 2, 2, 2, 11913, 11914, 3, 2, 2, 2, 11914, 11915, 3, 2, 2, 2, 11915, 11917, 7, 48, 2, 2, 11916, 11918, 5, 2113, 1057, 2, 11917, 11916, 3, 2, 2, 2, 11918, 11919, 3, 2, 2, 2, 11919, 11917, 3, 2, 2, 2, 11919, 11920, 3, 2, 2, 2, 11920, 11952, 3, 2, 2, 2, 11921, 11923, 5, 2113, 1057, 2, 11922, 11921, 3, 2, 2, 2, 11923, 11924, 3, 2, 2, 2, 11924, 11922, 3, 2, 2, 2, 11924, 11925, 3, 2, 2, 2, 11925, 11926, 3, 2, 2, 2, 11926, 11927, 7, 48, 2, 2, 11927, 11928, 5, 2101, 1051, 2, 11928, 11952, 3, 2, 2, 2, 11929, 11931, 5, 2113, 1057, 2, 11930, 11929, 3, 2, 2, 2, 11931, 11932, 3, 2, 2, 2, 11932, 11930, 3, 2, 2, 2, 11932, 11933, 3, 2, 2, 2, 11933, 11935, 3, 2, 2, 2, 11934, 11930, 3, 2, 2, 2, 11934, 11935, 3, 2, 2, 2, 11935, 11936, 3, 2, 2, 2, 11936, 11938, 7, 48, 2, 2, 11937, 11939, 5, 2113, 1057, 2, 11938, 11937, 3, 2, 2, 2, 11939, 11940, 3, 2, 2, 2, 11940, 11938, 3, 2, 2, 2, 11940, 11941, 3, 2, 2, 2, 11941, 11942, 3, 2, 2, 2, 11942, 11943, 5, 2101, 1051, 2, 11943, 11952, 3, 2, 2, 2, 11944, 11946, 5, 2113, 1057, 2, 11945, 11944, 3, 2, 2, 2, 11946, 11947, 3, 2, 2, 2, 11947, 11945, 3, 2, 2, 2, 11947, 11948, 3, 2, 2, 2, 11948, 11949, 3, 2, 2, 2, 11949, 11950, 5, 2101, 1051, 2, 11950, 11952, 3, 2, 2, 2, 11951, 11913, 3, 2, 2, 2, 11951, 11922, 3, 2, 2, 2, 11951, 11934, 3, 2, 2, 2, 11951, 11945, 3, 2, 2, 2, 11952, 2080, 3, 2, 2, 2, 11953, 11954, 7, 94, 2, 2, 11954, 11955, 7, 80, 2, 2, 11955, 2082, 3, 2, 2, 2, 11956, 11957, 5, 2115, 1058, 2, 11957, 2084, 3, 2, 2, 2, 11958, 11959, 7, 97, 2, 2, 11959, 11960, 5, 2099, 1050, 2, 11960, 2086, 3, 2, 2, 2, 11961, 11962, 7, 48, 2, 2, 11962, 11963, 5, 2103, 1052, 2, 11963, 2088, 3, 2, 2, 2, 11964, 11965, 5, 2103, 1052, 2, 11965, 2090, 3, 2, 2, 2, 11966, 11968, 7, 98, 2, 2, 11967, 11969, 10, 5, 2, 2, 11968, 11967, 3, 2, 2, 2, 11969, 11970, 3, 2, 2, 2, 11970, 11968, 3, 2, 2, 2, 11970, 11971, 3, 2, 2, 2, 11971, 11972, 3, 2, 2, 2, 11972, 11973, 7, 98, 2, 2, 11973, 2092, 3, 2, 2, 2, 11974, 11979, 5, 2107, 1054, 2, 11975, 11979, 5, 2105, 1053, 2, 11976, 11979, 5, 2109, 1055, 2, 11977, 11979, 5, 2103, 1052, 2, 11978, 11974, 3, 2, 2, 2, 11978, 11975, 3, 2, 2, 2, 11978, 11976, 3, 2, 2, 2, 11978, 11977, 3, 2, 2, 2, 11979, 11980, 3, 2, 2, 2, 11980, 11985, 7, 66, 2, 2, 11981, 11986, 5, 2107, 1054, 2, 11982, 11986, 5, 2105, 1053, 2, 11983, 11986, 5, 2109, 1055, 2, 11984, 11986, 5, 2103, 1052, 2, 11985, 11981, 3, 2, 2, 2, 11985, 11982, 3, 2, 2, 2, 11985, 11983, 3, 2, 2, 2, 11985, 11984, 3, 2, 2, 2, 11986, 2094, 3, 2, 2, 2, 11987, 11996, 7, 66, 2, 2, 11988, 11990, 9, 6, 2, 2, 11989, 11988, 3, 2, 2, 2, 11990, 11991, 3, 2, 2, 2, 11991, 11989, 3, 2, 2, 2, 11991, 11992, 3, 2, 2, 2, 11992, 11997, 3, 2, 2, 2, 11993, 11997, 5, 2107, 1054, 2, 11994, 11997, 5, 2105, 1053, 2, 11995, 11997, 5, 2109, 1055, 2, 11996, 11989, 3, 2, 2, 2, 11996, 11993, 3, 2, 2, 2, 11996, 11994, 3, 2, 2, 2, 11996, 11995, 3, 2, 2, 2, 11997, 2096, 3, 2, 2, 2, 11998, 11999, 7, 66, 2, 2, 11999, 12006, 7, 66, 2, 2, 12000, 12002, 9, 6, 2, 2, 12001, 12000, 3, 2, 2, 2, 12002, 12003, 3, 2, 2, 2, 12003, 12001, 3, 2, 2, 2, 12003, 12004, 3, 2, 2, 2, 12004, 12007, 3, 2, 2, 2, 12005, 12007, 5, 2109, 1055, 2, 12006, 12001, 3, 2, 2, 2, 12006, 12005, 3, 2, 2, 2, 12007, 2098, 3, 2, 2, 2, 12008, 12050, 5, 1275, 638, 2, 12009, 12050, 5, 1277, 639, 2, 12010, 12050, 5, 1279, 640, 2, 12011, 12050, 5, 417, 209, 2, 12012, 12050, 5, 1281, 641, 2, 12013, 12050, 5, 1283, 642, 2, 12014, 12050, 5, 1285, 643, 2, 12015, 12050, 5, 1287, 644, 2, 12016, 12050, 5, 1289, 645, 2, 12017, 12050, 5, 1291, 646, 2, 12018, 12050, 5, 1293, 647, 2, 12019, 12050, 5, 1295, 648, 2, 12020, 12050, 5, 1297, 649, 2, 12021, 12050, 5, 1299, 650, 2, 12022, 12050, 5, 1301, 651, 2, 12023, 12050, 5, 1303, 652, 2, 12024, 12050, 5, 1305, 653, 2, 12025, 12050, 5, 1307, 654, 2, 12026, 12050, 5, 1309, 655, 2, 12027, 12050, 5, 1311, 656, 2, 12028, 12050, 5, 1313, 657, 2, 12029, 12050, 5, 1315, 658, 2, 12030, 12050, 5, 1317, 659, 2, 12031, 12050, 5, 1319, 660, 2, 12032, 12050, 5, 1321, 661, 2, 12033, 12050, 5, 1323, 662, 2, 12034, 12050, 5, 1325, 663, 2, 12035, 12050, 5, 1327, 664, 2, 12036, 12050, 5, 1329, 665, 2, 12037, 12050, 5, 1331, 666, 2, 12038, 12050, 5, 1333, 667, 2, 12039, 12050, 5, 1335, 668, 2, 12040, 12050, 5, 1337, 669, 2, 12041, 12050, 5, 1339, 670, 2, 12042, 12050, 5, 1341, 671, 2, 12043, 12050, 5, 1343, 672, 2, 12044, 12050, 5, 1345, 673, 2, 12045, 12050, 5, 1347, 674, 2, 12046, 12050, 5, 1349, 675, 2, 12047, 12050, 5, 1351, 676, 2, 12048, 12050, 5, 1353, 677, 2, 12049, 12008, 3, 2, 2, 2, 12049, 12009, 3, 2, 2, 2, 12049, 12010, 3, 2, 2, 2, 12049, 12011, 3, 2, 2, 2, 12049, 12012, 3, 2, 2, 2, 12049, 12013, 3, 2, 2, 2, 12049, 12014, 3, 2, 2, 2, 12049, 12015, 3, 2, 2, 2, 12049, 12016, 3, 2, 2, 2, 12049, 12017, 3, 2, 2, 2, 12049, 12018, 3, 2, 2, 2, 12049, 12019, 3, 2, 2, 2, 12049, 12020, 3, 2, 2, 2, 12049, 12021, 3, 2, 2, 2, 12049, 12022, 3, 2, 2, 2, 12049, 12023, 3, 2, 2, 2, 12049, 12024, 3, 2, 2, 2, 12049, 12025, 3, 2, 2, 2, 12049, 12026, 3, 2, 2, 2, 12049, 12027, 3, 2, 2, 2, 12049, 12028, 3, 2, 2, 2, 12049, 12029, 3, 2, 2, 2, 12049, 12030, 3, 2, 2, 2, 12049, 12031, 3, 2, 2, 2, 12049, 12032, 3, 2, 2, 2, 12049, 12033, 3, 2, 2, 2, 12049, 12034, 3, 2, 2, 2, 12049, 12035, 3, 2, 2, 2, 12049, 12036, 3, 2, 2, 2, 12049, 12037, 3, 2, 2, 2, 12049, 12038, 3, 2, 2, 2, 12049, 12039, 3, 2, 2, 2, 12049, 12040, 3, 2, 2, 2, 12049, 12041, 3, 2, 2, 2, 12049, 12042, 3, 2, 2, 2, 12049, 12043, 3, 2, 2, 2, 12049, 12044, 3, 2, 2, 2, 12049, 12045, 3, 2, 2, 2, 12049, 12046, 3, 2, 2, 2, 12049, 12047, 3, 2, 2, 2, 12049, 12048, 3, 2, 2, 2, 12050, 2100, 3, 2, 2, 2, 12051, 12053, 7, 71, 2, 2, 12052, 12054, 9, 7, 2, 2, 12053, 12052, 3, 2, 2, 2, 12053, 12054, 3, 2, 2, 2, 12054, 12056, 3, 2, 2, 2, 12055, 12057, 5, 2113, 1057, 2, 12056, 12055, 3, 2, 2, 2, 12057, 12058, 3, 2, 2, 2, 12058, 12056, 3, 2, 2, 2, 12058, 12059, 3, 2, 2, 2, 12059, 2102, 3, 2, 2, 2, 12060, 12062, 9, 8, 2, 2, 12061, 12060, 3, 2, 2, 2, 12062, 12065, 3, 2, 2, 2, 12063, 12064, 3, 2, 2, 2, 12063, 12061, 3, 2, 2, 2, 12064, 12067, 3, 2, 2, 2, 12065, 12063, 3, 2, 2, 2, 12066, 12068, 9, 9, 2, 2, 12067, 12066, 3, 2, 2, 2, 12068, 12069, 3, 2, 2, 2, 12069, 12070, 3, 2, 2, 2, 12069, 12067, 3, 2, 2, 2, 12070, 12074, 3, 2, 2, 2, 12071, 12073, 9, 8, 2, 2, 12072, 12071, 3, 2, 2, 2, 12073, 12076, 3, 2, 2, 2, 12074, 12072, 3, 2, 2, 2, 12074, 12075, 3, 2, 2, 2, 12075, 2104, 3, 2, 2, 2, 12076, 12074, 3, 2, 2, 2, 12077, 12085, 7, 36, 2, 2, 12078, 12079, 7, 94, 2, 2, 12079, 12084, 11, 2, 2, 2, 12080, 12081, 7, 36, 2, 2, 12081, 12084, 7, 36, 2, 2, 12082, 12084, 10, 10, 2, 2, 12083, 12078, 3, 2, 2, 2, 12083, 12080, 3, 2, 2, 2, 12083, 12082, 3, 2, 2, 2, 12084, 12087, 3, 2, 2, 2, 12085, 12083, 3, 2, 2, 2, 12085, 12086, 3, 2, 2, 2, 12086, 12088, 3, 2, 2, 2, 12087, 12085, 3, 2, 2, 2, 12088, 12089, 7, 36, 2, 2, 12089, 2106, 3, 2, 2, 2, 12090, 12098, 7, 41, 2, 2, 12091, 12092, 7, 94, 2, 2, 12092, 12097, 11, 2, 2, 2, 12093, 12094, 7, 41, 2, 2, 12094, 12097, 7, 41, 2, 2, 12095, 12097, 10, 11, 2, 2, 12096, 12091, 3, 2, 2, 2, 12096, 12093, 3, 2, 2, 2, 12096, 12095, 3, 2, 2, 2, 12097, 12100, 3, 2, 2, 2, 12098, 12096, 3, 2, 2, 2, 12098, 12099, 3, 2, 2, 2, 12099, 12101, 3, 2, 2, 2, 12100, 12098, 3, 2, 2, 2, 12101, 12102, 7, 41, 2, 2, 12102, 2108, 3, 2, 2, 2, 12103, 12111, 7, 98, 2, 2, 12104, 12105, 7, 94, 2, 2, 12105, 12110, 11, 2, 2, 2, 12106, 12107, 7, 98, 2, 2, 12107, 12110, 7, 98, 2, 2, 12108, 12110, 10, 12, 2, 2, 12109, 12104, 3, 2, 2, 2, 12109, 12106, 3, 2, 2, 2, 12109, 12108, 3, 2, 2, 2, 12110, 12113, 3, 2, 2, 2, 12111, 12109, 3, 2, 2, 2, 12111, 12112, 3, 2, 2, 2, 12112, 12114, 3, 2, 2, 2, 12113, 12111, 3, 2, 2, 2, 12114, 12115, 7, 98, 2, 2, 12115, 2110, 3, 2, 2, 2, 12116, 12117, 9, 13, 2, 2, 12117, 2112, 3, 2, 2, 2, 12118, 12119, 9, 14, 2, 2, 12119, 2114, 3, 2, 2, 2, 12120, 12121, 7, 68, 2, 2, 12121, 12123, 7, 41, 2, 2, 12122, 12124, 9, 15, 2, 2, 12123, 12122, 3, 2, 2, 2, 12124, 12125, 3, 2, 2, 2, 12125, 12123, 3, 2, 2, 2, 12125, 12126, 3, 2, 2, 2, 12126, 12127, 3, 2, 2, 2, 12127, 12128, 7, 41, 2, 2, 12128, 2116, 3, 2, 2, 2, 12129, 12130, 11, 2, 2, 2, 12130, 12131, 3, 2, 2, 2, 12131, 12132, 8, 1059, 4, 2, 12132, 2118, 3, 2, 2, 2, 51, 2, 2122, 2133, 2146, 2158, 2163, 2167, 2171, 2177, 2181, 2183, 7799, 7826, 11861, 11870, 11880, 11885, 11894, 11904, 11906, 11911, 11913, 11919, 11924, 11932, 11934, 11940, 11947, 11951, 11970, 11978, 11985, 11991, 11996, 12003, 12006, 12049, 12053, 12058, 12063, 12069, 12074, 12083, 12085, 12096, 12098, 12109, 12111, 12125, 5, 2, 3, 2, 2, 4, 2, 2, 5, 2] \ No newline at end of file diff --git a/src/lib/generic/SqlLexer.js b/src/lib/generic/SqlLexer.js new file mode 100644 index 0000000..95a31ac --- /dev/null +++ b/src/lib/generic/SqlLexer.js @@ -0,0 +1,9901 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/generic/SqlLexer.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + + + +var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", + "\u0002\u041a\u2f65\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004", + "\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t", + "\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004", + "\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010", + "\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013", + "\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017", + "\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a", + "\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e", + "\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#", + "\t#\u0004$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004", + "*\t*\u0004+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u0004", + "1\t1\u00042\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u0004", + "8\t8\u00049\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004", + "?\t?\u0004@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004", + "F\tF\u0004G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004", + "M\tM\u0004N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004", + "T\tT\u0004U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004", + "[\t[\u0004\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004", + "b\tb\u0004c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004", + "i\ti\u0004j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004", + "p\tp\u0004q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004", + "w\tw\u0004x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004", + "~\t~\u0004\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004", + "\u0082\t\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t", + "\u0085\u0004\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004", + "\u0089\t\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t", + "\u008c\u0004\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004", + "\u0090\t\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t", + "\u0093\u0004\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004", + "\u0097\t\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t", + "\u009a\u0004\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004", + "\u009e\t\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t", + "\u00a1\u0004\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004", + "\u00a5\t\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t", + "\u00a8\u0004\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004", + "\u00ac\t\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t", + "\u00af\u0004\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004", + "\u00b3\t\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t", + "\u00b6\u0004\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004", + "\u00ba\t\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t", + "\u00bd\u0004\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004", + "\u00c1\t\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t", + "\u00c4\u0004\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004", + "\u00c8\t\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t", + "\u00cb\u0004\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004", + "\u00cf\t\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t", + "\u00d2\u0004\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004", + "\u00d6\t\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t", + "\u00d9\u0004\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004", + "\u00dd\t\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t", + "\u00e0\u0004\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0004", + "\u00e4\t\u00e4\u0004\u00e5\t\u00e5\u0004\u00e6\t\u00e6\u0004\u00e7\t", + "\u00e7\u0004\u00e8\t\u00e8\u0004\u00e9\t\u00e9\u0004\u00ea\t\u00ea\u0004", + "\u00eb\t\u00eb\u0004\u00ec\t\u00ec\u0004\u00ed\t\u00ed\u0004\u00ee\t", + "\u00ee\u0004\u00ef\t\u00ef\u0004\u00f0\t\u00f0\u0004\u00f1\t\u00f1\u0004", + "\u00f2\t\u00f2\u0004\u00f3\t\u00f3\u0004\u00f4\t\u00f4\u0004\u00f5\t", + "\u00f5\u0004\u00f6\t\u00f6\u0004\u00f7\t\u00f7\u0004\u00f8\t\u00f8\u0004", + "\u00f9\t\u00f9\u0004\u00fa\t\u00fa\u0004\u00fb\t\u00fb\u0004\u00fc\t", + "\u00fc\u0004\u00fd\t\u00fd\u0004\u00fe\t\u00fe\u0004\u00ff\t\u00ff\u0004", + "\u0100\t\u0100\u0004\u0101\t\u0101\u0004\u0102\t\u0102\u0004\u0103\t", + "\u0103\u0004\u0104\t\u0104\u0004\u0105\t\u0105\u0004\u0106\t\u0106\u0004", + "\u0107\t\u0107\u0004\u0108\t\u0108\u0004\u0109\t\u0109\u0004\u010a\t", + "\u010a\u0004\u010b\t\u010b\u0004\u010c\t\u010c\u0004\u010d\t\u010d\u0004", + "\u010e\t\u010e\u0004\u010f\t\u010f\u0004\u0110\t\u0110\u0004\u0111\t", + "\u0111\u0004\u0112\t\u0112\u0004\u0113\t\u0113\u0004\u0114\t\u0114\u0004", + "\u0115\t\u0115\u0004\u0116\t\u0116\u0004\u0117\t\u0117\u0004\u0118\t", + "\u0118\u0004\u0119\t\u0119\u0004\u011a\t\u011a\u0004\u011b\t\u011b\u0004", + "\u011c\t\u011c\u0004\u011d\t\u011d\u0004\u011e\t\u011e\u0004\u011f\t", + "\u011f\u0004\u0120\t\u0120\u0004\u0121\t\u0121\u0004\u0122\t\u0122\u0004", + "\u0123\t\u0123\u0004\u0124\t\u0124\u0004\u0125\t\u0125\u0004\u0126\t", + "\u0126\u0004\u0127\t\u0127\u0004\u0128\t\u0128\u0004\u0129\t\u0129\u0004", + "\u012a\t\u012a\u0004\u012b\t\u012b\u0004\u012c\t\u012c\u0004\u012d\t", + "\u012d\u0004\u012e\t\u012e\u0004\u012f\t\u012f\u0004\u0130\t\u0130\u0004", + "\u0131\t\u0131\u0004\u0132\t\u0132\u0004\u0133\t\u0133\u0004\u0134\t", + "\u0134\u0004\u0135\t\u0135\u0004\u0136\t\u0136\u0004\u0137\t\u0137\u0004", + "\u0138\t\u0138\u0004\u0139\t\u0139\u0004\u013a\t\u013a\u0004\u013b\t", + "\u013b\u0004\u013c\t\u013c\u0004\u013d\t\u013d\u0004\u013e\t\u013e\u0004", + "\u013f\t\u013f\u0004\u0140\t\u0140\u0004\u0141\t\u0141\u0004\u0142\t", + "\u0142\u0004\u0143\t\u0143\u0004\u0144\t\u0144\u0004\u0145\t\u0145\u0004", + "\u0146\t\u0146\u0004\u0147\t\u0147\u0004\u0148\t\u0148\u0004\u0149\t", + "\u0149\u0004\u014a\t\u014a\u0004\u014b\t\u014b\u0004\u014c\t\u014c\u0004", + "\u014d\t\u014d\u0004\u014e\t\u014e\u0004\u014f\t\u014f\u0004\u0150\t", + "\u0150\u0004\u0151\t\u0151\u0004\u0152\t\u0152\u0004\u0153\t\u0153\u0004", + "\u0154\t\u0154\u0004\u0155\t\u0155\u0004\u0156\t\u0156\u0004\u0157\t", + "\u0157\u0004\u0158\t\u0158\u0004\u0159\t\u0159\u0004\u015a\t\u015a\u0004", + "\u015b\t\u015b\u0004\u015c\t\u015c\u0004\u015d\t\u015d\u0004\u015e\t", + "\u015e\u0004\u015f\t\u015f\u0004\u0160\t\u0160\u0004\u0161\t\u0161\u0004", + "\u0162\t\u0162\u0004\u0163\t\u0163\u0004\u0164\t\u0164\u0004\u0165\t", + "\u0165\u0004\u0166\t\u0166\u0004\u0167\t\u0167\u0004\u0168\t\u0168\u0004", + "\u0169\t\u0169\u0004\u016a\t\u016a\u0004\u016b\t\u016b\u0004\u016c\t", + "\u016c\u0004\u016d\t\u016d\u0004\u016e\t\u016e\u0004\u016f\t\u016f\u0004", + "\u0170\t\u0170\u0004\u0171\t\u0171\u0004\u0172\t\u0172\u0004\u0173\t", + "\u0173\u0004\u0174\t\u0174\u0004\u0175\t\u0175\u0004\u0176\t\u0176\u0004", + "\u0177\t\u0177\u0004\u0178\t\u0178\u0004\u0179\t\u0179\u0004\u017a\t", + "\u017a\u0004\u017b\t\u017b\u0004\u017c\t\u017c\u0004\u017d\t\u017d\u0004", + "\u017e\t\u017e\u0004\u017f\t\u017f\u0004\u0180\t\u0180\u0004\u0181\t", + "\u0181\u0004\u0182\t\u0182\u0004\u0183\t\u0183\u0004\u0184\t\u0184\u0004", + "\u0185\t\u0185\u0004\u0186\t\u0186\u0004\u0187\t\u0187\u0004\u0188\t", + "\u0188\u0004\u0189\t\u0189\u0004\u018a\t\u018a\u0004\u018b\t\u018b\u0004", + "\u018c\t\u018c\u0004\u018d\t\u018d\u0004\u018e\t\u018e\u0004\u018f\t", + "\u018f\u0004\u0190\t\u0190\u0004\u0191\t\u0191\u0004\u0192\t\u0192\u0004", + "\u0193\t\u0193\u0004\u0194\t\u0194\u0004\u0195\t\u0195\u0004\u0196\t", + "\u0196\u0004\u0197\t\u0197\u0004\u0198\t\u0198\u0004\u0199\t\u0199\u0004", + "\u019a\t\u019a\u0004\u019b\t\u019b\u0004\u019c\t\u019c\u0004\u019d\t", + "\u019d\u0004\u019e\t\u019e\u0004\u019f\t\u019f\u0004\u01a0\t\u01a0\u0004", + "\u01a1\t\u01a1\u0004\u01a2\t\u01a2\u0004\u01a3\t\u01a3\u0004\u01a4\t", + "\u01a4\u0004\u01a5\t\u01a5\u0004\u01a6\t\u01a6\u0004\u01a7\t\u01a7\u0004", + "\u01a8\t\u01a8\u0004\u01a9\t\u01a9\u0004\u01aa\t\u01aa\u0004\u01ab\t", + "\u01ab\u0004\u01ac\t\u01ac\u0004\u01ad\t\u01ad\u0004\u01ae\t\u01ae\u0004", + "\u01af\t\u01af\u0004\u01b0\t\u01b0\u0004\u01b1\t\u01b1\u0004\u01b2\t", + "\u01b2\u0004\u01b3\t\u01b3\u0004\u01b4\t\u01b4\u0004\u01b5\t\u01b5\u0004", + "\u01b6\t\u01b6\u0004\u01b7\t\u01b7\u0004\u01b8\t\u01b8\u0004\u01b9\t", + "\u01b9\u0004\u01ba\t\u01ba\u0004\u01bb\t\u01bb\u0004\u01bc\t\u01bc\u0004", + "\u01bd\t\u01bd\u0004\u01be\t\u01be\u0004\u01bf\t\u01bf\u0004\u01c0\t", + "\u01c0\u0004\u01c1\t\u01c1\u0004\u01c2\t\u01c2\u0004\u01c3\t\u01c3\u0004", + "\u01c4\t\u01c4\u0004\u01c5\t\u01c5\u0004\u01c6\t\u01c6\u0004\u01c7\t", + "\u01c7\u0004\u01c8\t\u01c8\u0004\u01c9\t\u01c9\u0004\u01ca\t\u01ca\u0004", + "\u01cb\t\u01cb\u0004\u01cc\t\u01cc\u0004\u01cd\t\u01cd\u0004\u01ce\t", + "\u01ce\u0004\u01cf\t\u01cf\u0004\u01d0\t\u01d0\u0004\u01d1\t\u01d1\u0004", + "\u01d2\t\u01d2\u0004\u01d3\t\u01d3\u0004\u01d4\t\u01d4\u0004\u01d5\t", + "\u01d5\u0004\u01d6\t\u01d6\u0004\u01d7\t\u01d7\u0004\u01d8\t\u01d8\u0004", + "\u01d9\t\u01d9\u0004\u01da\t\u01da\u0004\u01db\t\u01db\u0004\u01dc\t", + "\u01dc\u0004\u01dd\t\u01dd\u0004\u01de\t\u01de\u0004\u01df\t\u01df\u0004", + "\u01e0\t\u01e0\u0004\u01e1\t\u01e1\u0004\u01e2\t\u01e2\u0004\u01e3\t", + "\u01e3\u0004\u01e4\t\u01e4\u0004\u01e5\t\u01e5\u0004\u01e6\t\u01e6\u0004", + "\u01e7\t\u01e7\u0004\u01e8\t\u01e8\u0004\u01e9\t\u01e9\u0004\u01ea\t", + "\u01ea\u0004\u01eb\t\u01eb\u0004\u01ec\t\u01ec\u0004\u01ed\t\u01ed\u0004", + "\u01ee\t\u01ee\u0004\u01ef\t\u01ef\u0004\u01f0\t\u01f0\u0004\u01f1\t", + "\u01f1\u0004\u01f2\t\u01f2\u0004\u01f3\t\u01f3\u0004\u01f4\t\u01f4\u0004", + "\u01f5\t\u01f5\u0004\u01f6\t\u01f6\u0004\u01f7\t\u01f7\u0004\u01f8\t", + "\u01f8\u0004\u01f9\t\u01f9\u0004\u01fa\t\u01fa\u0004\u01fb\t\u01fb\u0004", + "\u01fc\t\u01fc\u0004\u01fd\t\u01fd\u0004\u01fe\t\u01fe\u0004\u01ff\t", + "\u01ff\u0004\u0200\t\u0200\u0004\u0201\t\u0201\u0004\u0202\t\u0202\u0004", + "\u0203\t\u0203\u0004\u0204\t\u0204\u0004\u0205\t\u0205\u0004\u0206\t", + "\u0206\u0004\u0207\t\u0207\u0004\u0208\t\u0208\u0004\u0209\t\u0209\u0004", + "\u020a\t\u020a\u0004\u020b\t\u020b\u0004\u020c\t\u020c\u0004\u020d\t", + "\u020d\u0004\u020e\t\u020e\u0004\u020f\t\u020f\u0004\u0210\t\u0210\u0004", + "\u0211\t\u0211\u0004\u0212\t\u0212\u0004\u0213\t\u0213\u0004\u0214\t", + "\u0214\u0004\u0215\t\u0215\u0004\u0216\t\u0216\u0004\u0217\t\u0217\u0004", + "\u0218\t\u0218\u0004\u0219\t\u0219\u0004\u021a\t\u021a\u0004\u021b\t", + "\u021b\u0004\u021c\t\u021c\u0004\u021d\t\u021d\u0004\u021e\t\u021e\u0004", + "\u021f\t\u021f\u0004\u0220\t\u0220\u0004\u0221\t\u0221\u0004\u0222\t", + "\u0222\u0004\u0223\t\u0223\u0004\u0224\t\u0224\u0004\u0225\t\u0225\u0004", + "\u0226\t\u0226\u0004\u0227\t\u0227\u0004\u0228\t\u0228\u0004\u0229\t", + "\u0229\u0004\u022a\t\u022a\u0004\u022b\t\u022b\u0004\u022c\t\u022c\u0004", + "\u022d\t\u022d\u0004\u022e\t\u022e\u0004\u022f\t\u022f\u0004\u0230\t", + "\u0230\u0004\u0231\t\u0231\u0004\u0232\t\u0232\u0004\u0233\t\u0233\u0004", + "\u0234\t\u0234\u0004\u0235\t\u0235\u0004\u0236\t\u0236\u0004\u0237\t", + "\u0237\u0004\u0238\t\u0238\u0004\u0239\t\u0239\u0004\u023a\t\u023a\u0004", + "\u023b\t\u023b\u0004\u023c\t\u023c\u0004\u023d\t\u023d\u0004\u023e\t", + "\u023e\u0004\u023f\t\u023f\u0004\u0240\t\u0240\u0004\u0241\t\u0241\u0004", + "\u0242\t\u0242\u0004\u0243\t\u0243\u0004\u0244\t\u0244\u0004\u0245\t", + "\u0245\u0004\u0246\t\u0246\u0004\u0247\t\u0247\u0004\u0248\t\u0248\u0004", + "\u0249\t\u0249\u0004\u024a\t\u024a\u0004\u024b\t\u024b\u0004\u024c\t", + "\u024c\u0004\u024d\t\u024d\u0004\u024e\t\u024e\u0004\u024f\t\u024f\u0004", + "\u0250\t\u0250\u0004\u0251\t\u0251\u0004\u0252\t\u0252\u0004\u0253\t", + "\u0253\u0004\u0254\t\u0254\u0004\u0255\t\u0255\u0004\u0256\t\u0256\u0004", + "\u0257\t\u0257\u0004\u0258\t\u0258\u0004\u0259\t\u0259\u0004\u025a\t", + "\u025a\u0004\u025b\t\u025b\u0004\u025c\t\u025c\u0004\u025d\t\u025d\u0004", + "\u025e\t\u025e\u0004\u025f\t\u025f\u0004\u0260\t\u0260\u0004\u0261\t", + "\u0261\u0004\u0262\t\u0262\u0004\u0263\t\u0263\u0004\u0264\t\u0264\u0004", + "\u0265\t\u0265\u0004\u0266\t\u0266\u0004\u0267\t\u0267\u0004\u0268\t", + "\u0268\u0004\u0269\t\u0269\u0004\u026a\t\u026a\u0004\u026b\t\u026b\u0004", + "\u026c\t\u026c\u0004\u026d\t\u026d\u0004\u026e\t\u026e\u0004\u026f\t", + "\u026f\u0004\u0270\t\u0270\u0004\u0271\t\u0271\u0004\u0272\t\u0272\u0004", + "\u0273\t\u0273\u0004\u0274\t\u0274\u0004\u0275\t\u0275\u0004\u0276\t", + "\u0276\u0004\u0277\t\u0277\u0004\u0278\t\u0278\u0004\u0279\t\u0279\u0004", + "\u027a\t\u027a\u0004\u027b\t\u027b\u0004\u027c\t\u027c\u0004\u027d\t", + "\u027d\u0004\u027e\t\u027e\u0004\u027f\t\u027f\u0004\u0280\t\u0280\u0004", + "\u0281\t\u0281\u0004\u0282\t\u0282\u0004\u0283\t\u0283\u0004\u0284\t", + "\u0284\u0004\u0285\t\u0285\u0004\u0286\t\u0286\u0004\u0287\t\u0287\u0004", + "\u0288\t\u0288\u0004\u0289\t\u0289\u0004\u028a\t\u028a\u0004\u028b\t", + "\u028b\u0004\u028c\t\u028c\u0004\u028d\t\u028d\u0004\u028e\t\u028e\u0004", + "\u028f\t\u028f\u0004\u0290\t\u0290\u0004\u0291\t\u0291\u0004\u0292\t", + "\u0292\u0004\u0293\t\u0293\u0004\u0294\t\u0294\u0004\u0295\t\u0295\u0004", + "\u0296\t\u0296\u0004\u0297\t\u0297\u0004\u0298\t\u0298\u0004\u0299\t", + "\u0299\u0004\u029a\t\u029a\u0004\u029b\t\u029b\u0004\u029c\t\u029c\u0004", + "\u029d\t\u029d\u0004\u029e\t\u029e\u0004\u029f\t\u029f\u0004\u02a0\t", + "\u02a0\u0004\u02a1\t\u02a1\u0004\u02a2\t\u02a2\u0004\u02a3\t\u02a3\u0004", + "\u02a4\t\u02a4\u0004\u02a5\t\u02a5\u0004\u02a6\t\u02a6\u0004\u02a7\t", + "\u02a7\u0004\u02a8\t\u02a8\u0004\u02a9\t\u02a9\u0004\u02aa\t\u02aa\u0004", + "\u02ab\t\u02ab\u0004\u02ac\t\u02ac\u0004\u02ad\t\u02ad\u0004\u02ae\t", + "\u02ae\u0004\u02af\t\u02af\u0004\u02b0\t\u02b0\u0004\u02b1\t\u02b1\u0004", + "\u02b2\t\u02b2\u0004\u02b3\t\u02b3\u0004\u02b4\t\u02b4\u0004\u02b5\t", + "\u02b5\u0004\u02b6\t\u02b6\u0004\u02b7\t\u02b7\u0004\u02b8\t\u02b8\u0004", + "\u02b9\t\u02b9\u0004\u02ba\t\u02ba\u0004\u02bb\t\u02bb\u0004\u02bc\t", + "\u02bc\u0004\u02bd\t\u02bd\u0004\u02be\t\u02be\u0004\u02bf\t\u02bf\u0004", + "\u02c0\t\u02c0\u0004\u02c1\t\u02c1\u0004\u02c2\t\u02c2\u0004\u02c3\t", + "\u02c3\u0004\u02c4\t\u02c4\u0004\u02c5\t\u02c5\u0004\u02c6\t\u02c6\u0004", + "\u02c7\t\u02c7\u0004\u02c8\t\u02c8\u0004\u02c9\t\u02c9\u0004\u02ca\t", + "\u02ca\u0004\u02cb\t\u02cb\u0004\u02cc\t\u02cc\u0004\u02cd\t\u02cd\u0004", + "\u02ce\t\u02ce\u0004\u02cf\t\u02cf\u0004\u02d0\t\u02d0\u0004\u02d1\t", + "\u02d1\u0004\u02d2\t\u02d2\u0004\u02d3\t\u02d3\u0004\u02d4\t\u02d4\u0004", + "\u02d5\t\u02d5\u0004\u02d6\t\u02d6\u0004\u02d7\t\u02d7\u0004\u02d8\t", + "\u02d8\u0004\u02d9\t\u02d9\u0004\u02da\t\u02da\u0004\u02db\t\u02db\u0004", + "\u02dc\t\u02dc\u0004\u02dd\t\u02dd\u0004\u02de\t\u02de\u0004\u02df\t", + "\u02df\u0004\u02e0\t\u02e0\u0004\u02e1\t\u02e1\u0004\u02e2\t\u02e2\u0004", + "\u02e3\t\u02e3\u0004\u02e4\t\u02e4\u0004\u02e5\t\u02e5\u0004\u02e6\t", + "\u02e6\u0004\u02e7\t\u02e7\u0004\u02e8\t\u02e8\u0004\u02e9\t\u02e9\u0004", + "\u02ea\t\u02ea\u0004\u02eb\t\u02eb\u0004\u02ec\t\u02ec\u0004\u02ed\t", + "\u02ed\u0004\u02ee\t\u02ee\u0004\u02ef\t\u02ef\u0004\u02f0\t\u02f0\u0004", + "\u02f1\t\u02f1\u0004\u02f2\t\u02f2\u0004\u02f3\t\u02f3\u0004\u02f4\t", + "\u02f4\u0004\u02f5\t\u02f5\u0004\u02f6\t\u02f6\u0004\u02f7\t\u02f7\u0004", + "\u02f8\t\u02f8\u0004\u02f9\t\u02f9\u0004\u02fa\t\u02fa\u0004\u02fb\t", + "\u02fb\u0004\u02fc\t\u02fc\u0004\u02fd\t\u02fd\u0004\u02fe\t\u02fe\u0004", + "\u02ff\t\u02ff\u0004\u0300\t\u0300\u0004\u0301\t\u0301\u0004\u0302\t", + "\u0302\u0004\u0303\t\u0303\u0004\u0304\t\u0304\u0004\u0305\t\u0305\u0004", + "\u0306\t\u0306\u0004\u0307\t\u0307\u0004\u0308\t\u0308\u0004\u0309\t", + "\u0309\u0004\u030a\t\u030a\u0004\u030b\t\u030b\u0004\u030c\t\u030c\u0004", + "\u030d\t\u030d\u0004\u030e\t\u030e\u0004\u030f\t\u030f\u0004\u0310\t", + "\u0310\u0004\u0311\t\u0311\u0004\u0312\t\u0312\u0004\u0313\t\u0313\u0004", + "\u0314\t\u0314\u0004\u0315\t\u0315\u0004\u0316\t\u0316\u0004\u0317\t", + "\u0317\u0004\u0318\t\u0318\u0004\u0319\t\u0319\u0004\u031a\t\u031a\u0004", + "\u031b\t\u031b\u0004\u031c\t\u031c\u0004\u031d\t\u031d\u0004\u031e\t", + "\u031e\u0004\u031f\t\u031f\u0004\u0320\t\u0320\u0004\u0321\t\u0321\u0004", + "\u0322\t\u0322\u0004\u0323\t\u0323\u0004\u0324\t\u0324\u0004\u0325\t", + "\u0325\u0004\u0326\t\u0326\u0004\u0327\t\u0327\u0004\u0328\t\u0328\u0004", + "\u0329\t\u0329\u0004\u032a\t\u032a\u0004\u032b\t\u032b\u0004\u032c\t", + "\u032c\u0004\u032d\t\u032d\u0004\u032e\t\u032e\u0004\u032f\t\u032f\u0004", + "\u0330\t\u0330\u0004\u0331\t\u0331\u0004\u0332\t\u0332\u0004\u0333\t", + "\u0333\u0004\u0334\t\u0334\u0004\u0335\t\u0335\u0004\u0336\t\u0336\u0004", + "\u0337\t\u0337\u0004\u0338\t\u0338\u0004\u0339\t\u0339\u0004\u033a\t", + "\u033a\u0004\u033b\t\u033b\u0004\u033c\t\u033c\u0004\u033d\t\u033d\u0004", + "\u033e\t\u033e\u0004\u033f\t\u033f\u0004\u0340\t\u0340\u0004\u0341\t", + "\u0341\u0004\u0342\t\u0342\u0004\u0343\t\u0343\u0004\u0344\t\u0344\u0004", + "\u0345\t\u0345\u0004\u0346\t\u0346\u0004\u0347\t\u0347\u0004\u0348\t", + "\u0348\u0004\u0349\t\u0349\u0004\u034a\t\u034a\u0004\u034b\t\u034b\u0004", + "\u034c\t\u034c\u0004\u034d\t\u034d\u0004\u034e\t\u034e\u0004\u034f\t", + "\u034f\u0004\u0350\t\u0350\u0004\u0351\t\u0351\u0004\u0352\t\u0352\u0004", + "\u0353\t\u0353\u0004\u0354\t\u0354\u0004\u0355\t\u0355\u0004\u0356\t", + "\u0356\u0004\u0357\t\u0357\u0004\u0358\t\u0358\u0004\u0359\t\u0359\u0004", + "\u035a\t\u035a\u0004\u035b\t\u035b\u0004\u035c\t\u035c\u0004\u035d\t", + "\u035d\u0004\u035e\t\u035e\u0004\u035f\t\u035f\u0004\u0360\t\u0360\u0004", + "\u0361\t\u0361\u0004\u0362\t\u0362\u0004\u0363\t\u0363\u0004\u0364\t", + "\u0364\u0004\u0365\t\u0365\u0004\u0366\t\u0366\u0004\u0367\t\u0367\u0004", + "\u0368\t\u0368\u0004\u0369\t\u0369\u0004\u036a\t\u036a\u0004\u036b\t", + "\u036b\u0004\u036c\t\u036c\u0004\u036d\t\u036d\u0004\u036e\t\u036e\u0004", + "\u036f\t\u036f\u0004\u0370\t\u0370\u0004\u0371\t\u0371\u0004\u0372\t", + "\u0372\u0004\u0373\t\u0373\u0004\u0374\t\u0374\u0004\u0375\t\u0375\u0004", + "\u0376\t\u0376\u0004\u0377\t\u0377\u0004\u0378\t\u0378\u0004\u0379\t", + "\u0379\u0004\u037a\t\u037a\u0004\u037b\t\u037b\u0004\u037c\t\u037c\u0004", + "\u037d\t\u037d\u0004\u037e\t\u037e\u0004\u037f\t\u037f\u0004\u0380\t", + "\u0380\u0004\u0381\t\u0381\u0004\u0382\t\u0382\u0004\u0383\t\u0383\u0004", + "\u0384\t\u0384\u0004\u0385\t\u0385\u0004\u0386\t\u0386\u0004\u0387\t", + "\u0387\u0004\u0388\t\u0388\u0004\u0389\t\u0389\u0004\u038a\t\u038a\u0004", + "\u038b\t\u038b\u0004\u038c\t\u038c\u0004\u038d\t\u038d\u0004\u038e\t", + "\u038e\u0004\u038f\t\u038f\u0004\u0390\t\u0390\u0004\u0391\t\u0391\u0004", + "\u0392\t\u0392\u0004\u0393\t\u0393\u0004\u0394\t\u0394\u0004\u0395\t", + "\u0395\u0004\u0396\t\u0396\u0004\u0397\t\u0397\u0004\u0398\t\u0398\u0004", + "\u0399\t\u0399\u0004\u039a\t\u039a\u0004\u039b\t\u039b\u0004\u039c\t", + "\u039c\u0004\u039d\t\u039d\u0004\u039e\t\u039e\u0004\u039f\t\u039f\u0004", + "\u03a0\t\u03a0\u0004\u03a1\t\u03a1\u0004\u03a2\t\u03a2\u0004\u03a3\t", + "\u03a3\u0004\u03a4\t\u03a4\u0004\u03a5\t\u03a5\u0004\u03a6\t\u03a6\u0004", + "\u03a7\t\u03a7\u0004\u03a8\t\u03a8\u0004\u03a9\t\u03a9\u0004\u03aa\t", + "\u03aa\u0004\u03ab\t\u03ab\u0004\u03ac\t\u03ac\u0004\u03ad\t\u03ad\u0004", + "\u03ae\t\u03ae\u0004\u03af\t\u03af\u0004\u03b0\t\u03b0\u0004\u03b1\t", + "\u03b1\u0004\u03b2\t\u03b2\u0004\u03b3\t\u03b3\u0004\u03b4\t\u03b4\u0004", + "\u03b5\t\u03b5\u0004\u03b6\t\u03b6\u0004\u03b7\t\u03b7\u0004\u03b8\t", + "\u03b8\u0004\u03b9\t\u03b9\u0004\u03ba\t\u03ba\u0004\u03bb\t\u03bb\u0004", + "\u03bc\t\u03bc\u0004\u03bd\t\u03bd\u0004\u03be\t\u03be\u0004\u03bf\t", + "\u03bf\u0004\u03c0\t\u03c0\u0004\u03c1\t\u03c1\u0004\u03c2\t\u03c2\u0004", + "\u03c3\t\u03c3\u0004\u03c4\t\u03c4\u0004\u03c5\t\u03c5\u0004\u03c6\t", + "\u03c6\u0004\u03c7\t\u03c7\u0004\u03c8\t\u03c8\u0004\u03c9\t\u03c9\u0004", + "\u03ca\t\u03ca\u0004\u03cb\t\u03cb\u0004\u03cc\t\u03cc\u0004\u03cd\t", + "\u03cd\u0004\u03ce\t\u03ce\u0004\u03cf\t\u03cf\u0004\u03d0\t\u03d0\u0004", + "\u03d1\t\u03d1\u0004\u03d2\t\u03d2\u0004\u03d3\t\u03d3\u0004\u03d4\t", + "\u03d4\u0004\u03d5\t\u03d5\u0004\u03d6\t\u03d6\u0004\u03d7\t\u03d7\u0004", + "\u03d8\t\u03d8\u0004\u03d9\t\u03d9\u0004\u03da\t\u03da\u0004\u03db\t", + "\u03db\u0004\u03dc\t\u03dc\u0004\u03dd\t\u03dd\u0004\u03de\t\u03de\u0004", + "\u03df\t\u03df\u0004\u03e0\t\u03e0\u0004\u03e1\t\u03e1\u0004\u03e2\t", + "\u03e2\u0004\u03e3\t\u03e3\u0004\u03e4\t\u03e4\u0004\u03e5\t\u03e5\u0004", + "\u03e6\t\u03e6\u0004\u03e7\t\u03e7\u0004\u03e8\t\u03e8\u0004\u03e9\t", + "\u03e9\u0004\u03ea\t\u03ea\u0004\u03eb\t\u03eb\u0004\u03ec\t\u03ec\u0004", + "\u03ed\t\u03ed\u0004\u03ee\t\u03ee\u0004\u03ef\t\u03ef\u0004\u03f0\t", + "\u03f0\u0004\u03f1\t\u03f1\u0004\u03f2\t\u03f2\u0004\u03f3\t\u03f3\u0004", + "\u03f4\t\u03f4\u0004\u03f5\t\u03f5\u0004\u03f6\t\u03f6\u0004\u03f7\t", + "\u03f7\u0004\u03f8\t\u03f8\u0004\u03f9\t\u03f9\u0004\u03fa\t\u03fa\u0004", + "\u03fb\t\u03fb\u0004\u03fc\t\u03fc\u0004\u03fd\t\u03fd\u0004\u03fe\t", + "\u03fe\u0004\u03ff\t\u03ff\u0004\u0400\t\u0400\u0004\u0401\t\u0401\u0004", + "\u0402\t\u0402\u0004\u0403\t\u0403\u0004\u0404\t\u0404\u0004\u0405\t", + "\u0405\u0004\u0406\t\u0406\u0004\u0407\t\u0407\u0004\u0408\t\u0408\u0004", + "\u0409\t\u0409\u0004\u040a\t\u040a\u0004\u040b\t\u040b\u0004\u040c\t", + "\u040c\u0004\u040d\t\u040d\u0004\u040e\t\u040e\u0004\u040f\t\u040f\u0004", + "\u0410\t\u0410\u0004\u0411\t\u0411\u0004\u0412\t\u0412\u0004\u0413\t", + "\u0413\u0004\u0414\t\u0414\u0004\u0415\t\u0415\u0004\u0416\t\u0416\u0004", + "\u0417\t\u0417\u0004\u0418\t\u0418\u0004\u0419\t\u0419\u0004\u041a\t", + "\u041a\u0004\u041b\t\u041b\u0004\u041c\t\u041c\u0004\u041d\t\u041d\u0004", + "\u041e\t\u041e\u0004\u041f\t\u041f\u0004\u0420\t\u0420\u0004\u0421\t", + "\u0421\u0004\u0422\t\u0422\u0004\u0423\t\u0423\u0003\u0002\u0006\u0002", + "\u0849\n\u0002\r\u0002\u000e\u0002\u084a\u0003\u0002\u0003\u0002\u0003", + "\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0006\u0003\u0854", + "\n\u0003\r\u0003\u000e\u0003\u0855\u0003\u0003\u0003\u0003\u0003\u0003", + "\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004", + "\u0007\u0004\u0861\n\u0004\f\u0004\u000e\u0004\u0864\u000b\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0005\u0003", + "\u0005\u0003\u0005\u0003\u0005\u0005\u0005\u086f\n\u0005\u0003\u0005", + "\u0007\u0005\u0872\n\u0005\f\u0005\u000e\u0005\u0875\u000b\u0005\u0003", + "\u0005\u0005\u0005\u0878\n\u0005\u0003\u0005\u0003\u0005\u0005\u0005", + "\u087c\n\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0005", + "\u0005\u0882\n\u0005\u0003\u0005\u0003\u0005\u0005\u0005\u0886\n\u0005", + "\u0005\u0005\u0888\n\u0005\u0003\u0005\u0003\u0005\u0003\u0006\u0003", + "\u0006\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003\u0007\u0003", + "\u0007\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\t\u0003", + "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\n\u0003\n\u0003\n\u0003", + "\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\u000b\u0003\u000b\u0003\u000b", + "\u0003\u000b\u0003\f\u0003\f\u0003\f\u0003\r\u0003\r\u0003\r\u0003\r", + "\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e", + "\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f", + "\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010\u0003\u0010", + "\u0003\u0010\u0003\u0010\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0012", + "\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013", + "\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013", + "\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0015", + "\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0016\u0003\u0016", + "\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0017", + "\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017", + "\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018", + "\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u0019", + "\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u001a", + "\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a", + "\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b", + "\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001c\u0003\u001c", + "\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c", + "\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001d\u0003\u001d\u0003\u001d", + "\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d", + "\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e", + "\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f", + "\u0003\u001f\u0003\u001f\u0003\u001f\u0003 \u0003 \u0003 \u0003 \u0003", + " \u0003 \u0003!\u0003!\u0003!\u0003!\u0003!\u0003!\u0003!\u0003!\u0003", + "\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003", + "\"\u0003\"\u0003\"\u0003\"\u0003#\u0003#\u0003#\u0003#\u0003#\u0003", + "#\u0003#\u0003$\u0003$\u0003$\u0003$\u0003$\u0003$\u0003$\u0003$\u0003", + "$\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003", + "%\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003\'\u0003", + "\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003(\u0003(\u0003", + "(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003)\u0003)\u0003)\u0003)\u0003", + ")\u0003)\u0003)\u0003*\u0003*\u0003*\u0003*\u0003*\u0003+\u0003+\u0003", + "+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003,\u0003,\u0003,\u0003", + ",\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003", + ",\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003", + "-\u0003-\u0003-\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003", + ".\u0003.\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003", + "/\u0003/\u0003/\u0003/\u00030\u00030\u00030\u00030\u00030\u00031\u0003", + "1\u00031\u00031\u00031\u00032\u00032\u00032\u00032\u00032\u00033\u0003", + "3\u00033\u00033\u00033\u00033\u00033\u00034\u00034\u00034\u00034\u0003", + "4\u00034\u00034\u00034\u00034\u00035\u00035\u00035\u00035\u00035\u0003", + "5\u00035\u00035\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u0003", + "7\u00037\u00037\u00037\u00037\u00038\u00038\u00038\u00038\u00038\u0003", + "8\u00038\u00038\u00039\u00039\u00039\u00039\u00039\u00039\u0003:\u0003", + ":\u0003:\u0003:\u0003:\u0003:\u0003;\u0003;\u0003;\u0003;\u0003<\u0003", + "<\u0003<\u0003<\u0003<\u0003<\u0003=\u0003=\u0003=\u0003=\u0003=\u0003", + "=\u0003=\u0003=\u0003>\u0003>\u0003>\u0003>\u0003>\u0003?\u0003?\u0003", + "?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003@\u0003@\u0003@\u0003", + "@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003A\u0003A\u0003A\u0003", + "A\u0003B\u0003B\u0003B\u0003B\u0003B\u0003B\u0003C\u0003C\u0003C\u0003", + "C\u0003C\u0003C\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003F\u0003F\u0003F\u0003G\u0003G\u0003G\u0003", + "G\u0003G\u0003G\u0003G\u0003H\u0003H\u0003H\u0003I\u0003I\u0003I\u0003", + "I\u0003I\u0003I\u0003J\u0003J\u0003J\u0003J\u0003J\u0003J\u0003J\u0003", + "K\u0003K\u0003K\u0003K\u0003K\u0003K\u0003L\u0003L\u0003L\u0003L\u0003", + "L\u0003L\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003N\u0003", + "N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003O\u0003O\u0003", + "O\u0003O\u0003O\u0003P\u0003P\u0003P\u0003Q\u0003Q\u0003Q\u0003Q\u0003", + "Q\u0003Q\u0003Q\u0003Q\u0003R\u0003R\u0003R\u0003R\u0003R\u0003S\u0003", + "S\u0003S\u0003S\u0003T\u0003T\u0003T\u0003T\u0003T\u0003U\u0003U\u0003", + "U\u0003U\u0003U\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003", + "V\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003X\u0003X\u0003X\u0003", + "X\u0003X\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Z\u0003Z\u0003Z\u0003", + "Z\u0003Z\u0003Z\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003", + "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003]\u0003]\u0003]\u0003", + "]\u0003]\u0003^\u0003^\u0003^\u0003^\u0003^\u0003_\u0003_\u0003_\u0003", + "_\u0003_\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003", + "`\u0003`\u0003`\u0003`\u0003`\u0003a\u0003a\u0003a\u0003a\u0003a\u0003", + "a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003b\u0003b\u0003b\u0003", + "b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003", + "b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003", + "b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003c\u0003c\u0003c\u0003", + "c\u0003c\u0003c\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003", + "d\u0003d\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003", + "e\u0003f\u0003f\u0003f\u0003f\u0003f\u0003f\u0003f\u0003f\u0003g\u0003", + "g\u0003g\u0003g\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003", + "h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003", + "h\u0003h\u0003i\u0003i\u0003i\u0003i\u0003i\u0003j\u0003j\u0003j\u0003", + "j\u0003j\u0003j\u0003j\u0003k\u0003k\u0003k\u0003l\u0003l\u0003l\u0003", + "l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003m\u0003m\u0003m\u0003m\u0003", + "m\u0003m\u0003m\u0003n\u0003n\u0003n\u0003n\u0003n\u0003n\u0003n\u0003", + "n\u0003n\u0003n\u0003n\u0003o\u0003o\u0003o\u0003p\u0003p\u0003p\u0003", + "p\u0003p\u0003p\u0003q\u0003q\u0003q\u0003q\u0003r\u0003r\u0003r\u0003", + "r\u0003r\u0003r\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003", + "s\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003", + "t\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003v\u0003", + "v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003w\u0003", + "w\u0003w\u0003w\u0003w\u0003w\u0003x\u0003x\u0003x\u0003x\u0003x\u0003", + "x\u0003y\u0003y\u0003y\u0003y\u0003y\u0003z\u0003z\u0003z\u0003z\u0003", + "z\u0003z\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003", + "{\u0003{\u0003{\u0003|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003", + "}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0003~\u0003~\u0003", + "~\u0003~\u0003~\u0003~\u0003~\u0003\u007f\u0003\u007f\u0003\u007f\u0003", + "\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u0080\u0003\u0080\u0003", + "\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003", + "\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003", + "\u0081\u0003\u0081\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003", + "\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0083\u0003", + "\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003", + "\u0083\u0003\u0083\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003", + "\u0084\u0003\u0084\u0003\u0084\u0003\u0085\u0003\u0085\u0003\u0085\u0003", + "\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0086\u0003\u0086\u0003", + "\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0087\u0003\u0087\u0003", + "\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0088\u0003\u0088\u0003", + "\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0089\u0003", + "\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003", + "\u0089\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003", + "\u008a\u0003\u008a\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003", + "\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003", + "\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008d\u0003\u008d\u0003", + "\u008d\u0003\u008d\u0003\u008d\u0003\u008e\u0003\u008e\u0003\u008e\u0003", + "\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008f\u0003\u008f\u0003", + "\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003", + "\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0091\u0003\u0091\u0003", + "\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003", + "\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0092\u0003", + "\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003", + "\u0092\u0003\u0092\u0003\u0093\u0003\u0093\u0003\u0093\u0003\u0093\u0003", + "\u0093\u0003\u0093\u0003\u0093\u0003\u0093\u0003\u0093\u0003\u0093\u0003", + "\u0093\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", + "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", + "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0095\u0003\u0095\u0003", + "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", + "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", + "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", + "\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003", + "\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003", + "\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0097\u0003", + "\u0097\u0003\u0097\u0003\u0097\u0003\u0098\u0003\u0098\u0003\u0098\u0003", + "\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0099\u0003", + "\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003", + "\u0099\u0003\u0099\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003", + "\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003", + "\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009b\u0003\u009b\u0003", + "\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009c\u0003\u009c\u0003", + "\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003", + "\u009c\u0003\u009c\u0003\u009c\u0003\u009d\u0003\u009d\u0003\u009d\u0003", + "\u009d\u0003\u009d\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009f\u0003", + "\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003", + "\u009f\u0003\u009f\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a1\u0003\u00a1\u0003", + "\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003", + "\u00a2\u0003\u00a2\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003", + "\u00a3\u0003\u00a3\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003", + "\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003", + "\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a6\u0003\u00a6\u0003", + "\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003", + "\u00a6\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003", + "\u00a7\u0003\u00a7\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003", + "\u00a8\u0003\u00a8\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003", + "\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003", + "\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003", + "\u00ab\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003", + "\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003", + "\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003", + "\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00b0\u0003", + "\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b1\u0003", + "\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003", + "\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003", + "\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003", + "\u00b3\u0003\u00b3\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003", + "\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b5\u0003", + "\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003", + "\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003", + "\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003", + "\u00b6\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b8\u0003", + "\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b9\u0003\u00b9\u0003", + "\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003", + "\u00ba\u0003\u00ba\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003", + "\u00bb\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003", + "\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003", + "\u00bd\u0003\u00bd\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003", + "\u00be\u0003\u00be\u0003\u00be\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003", + "\u00bf\u0003\u00bf\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003", + "\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003", + "\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003", + "\u00c1\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003", + "\u00c2\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", + "\u00c3\u0003\u00c3\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003", + "\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", + "\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c6\u0003", + "\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", + "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c8\u0003", + "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c9\u0003\u00c9\u0003", + "\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", + "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", + "\u00ca\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003", + "\u00cd\u0003\u00cd\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003", + "\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00cf\u0003\u00cf\u0003", + "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", + "\u00cf\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003", + "\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d1\u0003\u00d1\u0003", + "\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003", + "\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003", + "\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d5\u0003", + "\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003", + "\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d6\u0003\u00d6\u0003", + "\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003", + "\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003", + "\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003", + "\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003", + "\u00d9\u0003\u00d9\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003", + "\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003", + "\u00da\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003", + "\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00dc\u0003\u00dc\u0003", + "\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003", + "\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00de\u0003", + "\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003", + "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00e0\u0003", + "\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003", + "\u00e0\u0003\u00e0\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003", + "\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003", + "\u00e1\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003", + "\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003", + "\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003", + "\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003", + "\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003", + "\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003", + "\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003", + "\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003", + "\u00e5\u0003\u00e5\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003", + "\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003", + "\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003", + "\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003", + "\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003", + "\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003", + "\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e8\u0003\u00e8\u0003", + "\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003", + "\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003", + "\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003", + "\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003", + "\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003", + "\u00e9\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003", + "\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003", + "\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003", + "\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003", + "\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003", + "\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ed\u0003\u00ed\u0003", + "\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003", + "\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003", + "\u00ee\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003", + "\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003", + "\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003", + "\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003", + "\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f2\u0003\u00f2\u0003", + "\u00f2\u0003\u00f2\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003", + "\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f5\u0003\u00f5\u0003", + "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f6\u0003", + "\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003", + "\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f7\u0003\u00f7\u0003", + "\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003", + "\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f8\u0003\u00f8\u0003", + "\u00f8\u0003\u00f8\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003", + "\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00fa\u0003\u00fa\u0003", + "\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003", + "\u00fa\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003", + "\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fc\u0003\u00fc\u0003", + "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", + "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fd\u0003", + "\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003", + "\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003", + "\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003", + "\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003", + "\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003", + "\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003", + "\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u0100\u0003\u0100\u0003", + "\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003", + "\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003", + "\u0101\u0003\u0101\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003", + "\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0103\u0003", + "\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003", + "\u0103\u0003\u0103\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", + "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0105\u0003\u0105\u0003", + "\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003", + "\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003", + "\u0105\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0107\u0003", + "\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003", + "\u0107\u0003\u0107\u0003\u0108\u0003\u0108\u0003\u0108\u0003\u0108\u0003", + "\u0108\u0003\u0108\u0003\u0108\u0003\u0109\u0003\u0109\u0003\u0109\u0003", + "\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003", + "\u0109\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003", + "\u010a\u0003\u010a\u0003\u010a\u0003\u010b\u0003\u010b\u0003\u010b\u0003", + "\u010b\u0003\u010b\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003", + "\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010d\u0003", + "\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003", + "\u010d\u0003\u010d\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003", + "\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003", + "\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010f\u0003\u010f\u0003", + "\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003", + "\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003", + "\u0110\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003", + "\u0111\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003", + "\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0113\u0003", + "\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003", + "\u0113\u0003\u0113\u0003\u0113\u0003\u0114\u0003\u0114\u0003\u0114\u0003", + "\u0114\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0116\u0003\u0116\u0003", + "\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003", + "\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003", + "\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0118\u0003", + "\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003", + "\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003", + "\u0118\u0003\u0118\u0003\u0118\u0003\u0119\u0003\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003", + "\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003", + "\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003", + "\u011a\u0003\u011a\u0003\u011a\u0003\u011b\u0003\u011b\u0003\u011b\u0003", + "\u011b\u0003\u011b\u0003\u011b\u0003\u011c\u0003\u011c\u0003\u011c\u0003", + "\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011d\u0003\u011d\u0003", + "\u011d\u0003\u011d\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003", + "\u011e\u0003\u011e\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003", + "\u011f\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003", + "\u0120\u0003\u0120\u0003\u0120\u0003\u0121\u0003\u0121\u0003\u0121\u0003", + "\u0121\u0003\u0121\u0003\u0121\u0003\u0122\u0003\u0122\u0003\u0122\u0003", + "\u0122\u0003\u0122\u0003\u0122\u0003\u0123\u0003\u0123\u0003\u0123\u0003", + "\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003", + "\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003", + "\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003", + "\u0125\u0003\u0125\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0127\u0003\u0127\u0003", + "\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003", + "\u0127\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003", + "\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003", + "\u0128\u0003\u0128\u0003\u0128\u0003\u0129\u0003\u0129\u0003\u0129\u0003", + "\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003\u012a\u0003\u012a\u0003", + "\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003", + "\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012b\u0003", + "\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003", + "\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003", + "\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003", + "\u012d\u0003\u012d\u0003\u012d\u0003\u012e\u0003\u012e\u0003\u012e\u0003", + "\u012e\u0003\u012e\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003", + "\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u0130\u0003\u0130\u0003", + "\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", + "\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", + "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", + "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", + "\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003", + "\u0132\u0003\u0132\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003", + "\u0133\u0003\u0133\u0003\u0133\u0003\u0134\u0003\u0134\u0003\u0134\u0003", + "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0135\u0003", + "\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003", + "\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0136\u0003\u0136\u0003", + "\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003", + "\u0136\u0003\u0136\u0003\u0136\u0003\u0137\u0003\u0137\u0003\u0137\u0003", + "\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003", + "\u0137\u0003\u0137\u0003\u0137\u0003\u0138\u0003\u0138\u0003\u0138\u0003", + "\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003", + "\u0138\u0003\u0138\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003", + "\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003", + "\u0139\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003", + "\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003\u013a\u0003", + "\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003", + "\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003", + "\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003", + "\u013b\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003", + "\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003", + "\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003", + "\u013c\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003", + "\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003", + "\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013e\u0003", + "\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003", + "\u013e\u0003\u013e\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003", + "\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u0140\u0003\u0140\u0003", + "\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003", + "\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0141\u0003", + "\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0142\u0003\u0142\u0003", + "\u0142\u0003\u0142\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003", + "\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003", + "\u0143\u0003\u0143\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003", + "\u0144\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003", + "\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0146\u0003\u0146\u0003", + "\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003", + "\u0146\u0003\u0146\u0003\u0146\u0003\u0147\u0003\u0147\u0003\u0147\u0003", + "\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003", + "\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0148\u0003\u0148\u0003", + "\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003", + "\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003", + "\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003", + "\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u014a\u0003\u014a\u0003", + "\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003", + "\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014b\u0003", + "\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003\u014b\u0003", + "\u014b\u0003\u014b\u0003\u014b\u0003\u014c\u0003\u014c\u0003\u014c\u0003", + "\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014d\u0003", + "\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003", + "\u014d\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003", + "\u014f\u0003\u014f\u0003\u014f\u0003\u0150\u0003\u0150\u0003\u0150\u0003", + "\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003", + "\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003", + "\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0152\u0003\u0152\u0003", + "\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003", + "\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003", + "\u0153\u0003\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003", + "\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003", + "\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003\u0156\u0003\u0156\u0003", + "\u0156\u0003\u0156\u0003\u0156\u0003\u0157\u0003\u0157\u0003\u0157\u0003", + "\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0158\u0003\u0158\u0003", + "\u0158\u0003\u0158\u0003\u0158\u0003\u0158\u0003\u0158\u0003\u0158\u0003", + "\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003", + "\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003", + "\u015a\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003", + "\u015b\u0003\u015b\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0003", + "\u015c\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003", + "\u015d\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003", + "\u015e\u0003\u015e\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003", + "\u015f\u0003\u015f\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003", + "\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0161\u0003", + "\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003", + "\u0161\u0003\u0161\u0003\u0161\u0003\u0162\u0003\u0162\u0003\u0162\u0003", + "\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0163\u0003\u0163\u0003", + "\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0164\u0003", + "\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003", + "\u0164\u0003\u0164\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003", + "\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003", + "\u0165\u0003\u0165\u0003\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0003", + "\u0166\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003", + "\u0167\u0003\u0167\u0003\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003", + "\u0168\u0003\u0168\u0003\u0168\u0003\u0169\u0003\u0169\u0003\u0169\u0003", + "\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003", + "\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003", + "\u0169\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003", + "\u016a\u0003\u016a\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003", + "\u016b\u0003\u016b\u0003\u016c\u0003\u016c\u0003\u016c\u0003\u016c\u0003", + "\u016c\u0003\u016c\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003", + "\u016d\u0003\u016d\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003", + "\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016f\u0003\u016f\u0003", + "\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0003\u0170\u0003\u0170\u0003", + "\u0170\u0003\u0170\u0003\u0170\u0003\u0171\u0003\u0171\u0003\u0171\u0003", + "\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003", + "\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003", + "\u0172\u0003\u0172\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003", + "\u0173\u0003\u0173\u0003\u0173\u0003\u0174\u0003\u0174\u0003\u0174\u0003", + "\u0174\u0003\u0174\u0003\u0174\u0003\u0174\u0003\u0175\u0003\u0175\u0003", + "\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003", + "\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003", + "\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0176\u0003\u0176\u0003", + "\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003", + "\u0177\u0003\u0177\u0003\u0177\u0003\u0177\u0003\u0177\u0003\u0178\u0003", + "\u0178\u0003\u0178\u0003\u0178\u0003\u0178\u0003\u0179\u0003\u0179\u0003", + "\u0179\u0003\u0179\u0003\u0179\u0003\u017a\u0003\u017a\u0003\u017a\u0003", + "\u017a\u0003\u017a\u0003\u017a\u0003\u017b\u0003\u017b\u0003\u017b\u0003", + "\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003", + "\u017b\u0003\u017b\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003", + "\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003", + "\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003", + "\u017c\u0003\u017c\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003", + "\u017d\u0003\u017d\u0003\u017d\u0003\u017e\u0003\u017e\u0003\u017e\u0003", + "\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017f\u0003", + "\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003", + "\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003", + "\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003", + "\u0180\u0003\u0180\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003", + "\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003", + "\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0182\u0003\u0182\u0003", + "\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003", + "\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003", + "\u0183\u0003\u0183\u0003\u0183\u0003\u0184\u0003\u0184\u0003\u0184\u0003", + "\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003", + "\u0184\u0003\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003", + "\u0185\u0003\u0185\u0003\u0185\u0003\u0186\u0003\u0186\u0003\u0186\u0003", + "\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003", + "\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0188\u0003\u0188\u0003", + "\u0188\u0003\u0188\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003", + "\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003", + "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003", + "\u018a\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003", + "\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003", + "\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003", + "\u018c\u0003\u018c\u0003\u018c\u0003\u018d\u0003\u018d\u0003\u018d\u0003", + "\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003", + "\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018f\u0003", + "\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003", + "\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0191\u0003", + "\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0192\u0003", + "\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0003\u0193\u0003\u0193\u0003", + "\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0194\u0003\u0194\u0003", + "\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003", + "\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0196\u0003", + "\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003", + "\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003", + "\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003", + "\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003", + "\u0197\u0003\u0197\u0003\u0197\u0003\u0198\u0003\u0198\u0003\u0198\u0003", + "\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003", + "\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003", + "\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003", + "\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003", + "\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003", + "\u0199\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", + "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", + "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", + "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", + "\u019a\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003", + "\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003", + "\u019b\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003", + "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003", + "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019d\u0003", + "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003", + "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003", + "\u019d\u0003\u019d\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", + "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", + "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003", + "\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003", + "\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003", + "\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003", + "\u01a0\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", + "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", + "\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003", + "\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003", + "\u01a2\u0003\u01a2\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003", + "\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003", + "\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003\u01a3\u0003", + "\u01a3\u0003\u01a3\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003", + "\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003", + "\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003", + "\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003", + "\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003", + "\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003", + "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", + "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", + "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003", + "\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003", + "\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003", + "\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a8\u0003\u01a8\u0003", + "\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003", + "\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003", + "\u01a8\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003", + "\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003", + "\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003", + "\u01a9\u0003\u01a9\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003", + "\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003", + "\u01aa\u0003\u01aa\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003", + "\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003", + "\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003", + "\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003", + "\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003", + "\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003", + "\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003", + "\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003", + "\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003", + "\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003", + "\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003", + "\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003", + "\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003", + "\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003", + "\u01af\u0003\u01af\u0003\u01af\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003", + "\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003", + "\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003", + "\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003", + "\u01b1\u0003\u01b1\u0003\u01b1\u0003\u01b1\u0003\u01b1\u0003\u01b1\u0003", + "\u01b1\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003", + "\u01b2\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003", + "\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003\u01b3\u0003", + "\u01b3\u0003\u01b3\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003", + "\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003", + "\u01b5\u0003\u01b5\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003", + "\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b7\u0003", + "\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b8\u0003\u01b8\u0003", + "\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b9\u0003", + "\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01ba\u0003", + "\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01bb\u0003", + "\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003", + "\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bc\u0003", + "\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bd\u0003\u01bd\u0003", + "\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01be\u0003\u01be\u0003", + "\u01be\u0003\u01be\u0003\u01be\u0003\u01be\u0003\u01bf\u0003\u01bf\u0003", + "\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01c0\u0003\u01c0\u0003", + "\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003", + "\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003", + "\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c3\u0003\u01c3\u0003", + "\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003", + "\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c5\u0003", + "\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003", + "\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003", + "\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003", + "\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c7\u0003\u01c8\u0003\u01c8\u0003", + "\u01c8\u0003\u01c8\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0003", + "\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003", + "\u01ca\u0003\u01ca\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003", + "\u01cb\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003", + "\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003", + "\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cd\u0003", + "\u01cd\u0003\u01cd\u0003\u01cd\u0003\u01cd\u0003\u01cd\u0003\u01cd\u0003", + "\u01cd\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003", + "\u01ce\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003", + "\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01d0\u0003", + "\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d1\u0003\u01d1\u0003", + "\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d2\u0003", + "\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003", + "\u01d2\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003", + "\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003", + "\u01d3\u0003\u01d3\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003", + "\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003", + "\u01d4\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003", + "\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d6\u0003\u01d6\u0003", + "\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d7\u0003\u01d7\u0003", + "\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d8\u0003", + "\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003", + "\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d9\u0003\u01d9\u0003", + "\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003", + "\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01db\u0003", + "\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003", + "\u01db\u0003\u01db\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003", + "\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dd\u0003\u01dd\u0003", + "\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003", + "\u01dd\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003", + "\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003", + "\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003", + "\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003", + "\u01e0\u0003\u01e0\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003", + "\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e2\u0003", + "\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e3\u0003", + "\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e4\u0003", + "\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e5\u0003", + "\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003", + "\u01e5\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003", + "\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003", + "\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003", + "\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003", + "\u01e7\u0003\u01e7\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003", + "\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003", + "\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003", + "\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003", + "\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003", + "\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003", + "\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003", + "\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01ec\u0003", + "\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003", + "\u01ec\u0003\u01ec\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003", + "\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003", + "\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003", + "\u01ee\u0003\u01ee\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003", + "\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003", + "\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003", + "\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003", + "\u01f0\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003", + "\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003", + "\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003", + "\u01f1\u0003\u01f1\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003", + "\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003", + "\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003", + "\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f3\u0003\u01f3\u0003", + "\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003", + "\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003", + "\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003", + "\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003", + "\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003", + "\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003", + "\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003", + "\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003", + "\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003", + "\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003", + "\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0003", + "\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003", + "\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003", + "\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003", + "\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003", + "\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f7\u0003\u01f7\u0003", + "\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003", + "\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f8\u0003\u01f8\u0003", + "\u01f8\u0003\u01f8\u0003\u01f8\u0003\u01f8\u0003\u01f9\u0003\u01f9\u0003", + "\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01fa\u0003", + "\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003", + "\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003", + "\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fb\u0003", + "\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003", + "\u01fb\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003", + "\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003", + "\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fe\u0003\u01fe\u0003\u01fe\u0003", + "\u01fe\u0003\u01fe\u0003\u01fe\u0003\u01fe\u0003\u01ff\u0003\u01ff\u0003", + "\u01ff\u0003\u01ff\u0003\u01ff\u0003\u01ff\u0003\u01ff\u0003\u0200\u0003", + "\u0200\u0003\u0200\u0003\u0200\u0003\u0201\u0003\u0201\u0003\u0201\u0003", + "\u0201\u0003\u0201\u0003\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003", + "\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003", + "\u0202\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003", + "\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0204\u0003", + "\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003", + "\u0204\u0003\u0204\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003", + "\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0206\u0003", + "\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003", + "\u0207\u0003\u0207\u0003\u0207\u0003\u0207\u0003\u0207\u0003\u0207\u0003", + "\u0207\u0003\u0207\u0003\u0208\u0003\u0208\u0003\u0208\u0003\u0208\u0003", + "\u0208\u0003\u0208\u0003\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003", + "\u0209\u0003\u0209\u0003\u0209\u0003\u020a\u0003\u020a\u0003\u020a\u0003", + "\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020b\u0003\u020b\u0003", + "\u020b\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020c\u0003", + "\u020c\u0003\u020c\u0003\u020c\u0003\u020c\u0003\u020c\u0003\u020d\u0003", + "\u020d\u0003\u020d\u0003\u020d\u0003\u020d\u0003\u020e\u0003\u020e\u0003", + "\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003", + "\u020e\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003", + "\u020f\u0003\u020f\u0003\u0210\u0003\u0210\u0003\u0210\u0003\u0210\u0003", + "\u0210\u0003\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0003", + "\u0211\u0003\u0211\u0003\u0212\u0003\u0212\u0003\u0212\u0003\u0212\u0003", + "\u0212\u0003\u0212\u0003\u0212\u0003\u0213\u0003\u0213\u0003\u0213\u0003", + "\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0214\u0003\u0214\u0003", + "\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003", + "\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003", + "\u0214\u0003\u0214\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003", + "\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003", + "\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003", + "\u0215\u0003\u0215\u0003\u0215\u0003\u0216\u0003\u0216\u0003\u0216\u0003", + "\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003", + "\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003", + "\u0216\u0003\u0216\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003", + "\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003", + "\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003", + "\u0217\u0003\u0217\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003", + "\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003\u0218\u0003", + "\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003", + "\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003\u0219\u0003", + "\u0219\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003", + "\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003", + "\u021b\u0003\u021b\u0003\u021b\u0003\u021b\u0003\u021b\u0003\u021b\u0003", + "\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003", + "\u021c\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003", + "\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003", + "\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003", + "\u021d\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003", + "\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003", + "\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003", + "\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003", + "\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003", + "\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003", + "\u021f\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003", + "\u0220\u0003\u0220\u0003\u0221\u0003\u0221\u0003\u0221\u0003\u0221\u0003", + "\u0221\u0003\u0222\u0003\u0222\u0003\u0222\u0003\u0222\u0003\u0222\u0003", + "\u0222\u0003\u0222\u0003\u0222\u0003\u0223\u0003\u0223\u0003\u0223\u0003", + "\u0223\u0003\u0223\u0003\u0223\u0003\u0223\u0003\u0224\u0003\u0224\u0003", + "\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0225\u0003", + "\u0225\u0003\u0225\u0003\u0225\u0003\u0225\u0003\u0225\u0003\u0225\u0003", + "\u0225\u0003\u0225\u0003\u0225\u0003\u0225\u0003\u0225\u0003\u0225\u0003", + "\u0225\u0003\u0225\u0003\u0225\u0003\u0226\u0003\u0226\u0003\u0226\u0003", + "\u0226\u0003\u0226\u0003\u0226\u0003\u0226\u0003\u0226\u0003\u0227\u0003", + "\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003", + "\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003", + "\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003", + "\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003", + "\u0228\u0003\u0228\u0003\u0229\u0003\u0229\u0003\u0229\u0003\u0229\u0003", + "\u0229\u0003\u0229\u0003\u0229\u0003\u0229\u0003\u022a\u0003\u022a\u0003", + "\u022a\u0003\u022a\u0003\u022a\u0003\u022a\u0003\u022b\u0003\u022b\u0003", + "\u022b\u0003\u022b\u0003\u022b\u0003\u022b\u0003\u022b\u0003\u022b\u0003", + "\u022b\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003", + "\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003", + "\u022d\u0003\u022d\u0003\u022d\u0003\u022d\u0003\u022d\u0003\u022d\u0003", + "\u022d\u0003\u022d\u0003\u022d\u0003\u022d\u0003\u022d\u0003\u022e\u0003", + "\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003", + "\u022e\u0003\u022e\u0003\u022e\u0003\u022f\u0003\u022f\u0003\u022f\u0003", + "\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0003", + "\u022f\u0003\u0230\u0003\u0230\u0003\u0230\u0003\u0230\u0003\u0230\u0003", + "\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003", + "\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003", + "\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003", + "\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003", + "\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003", + "\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003", + "\u0233\u0003\u0233\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003", + "\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0235\u0003", + "\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003", + "\u0235\u0003\u0235\u0003\u0236\u0003\u0236\u0003\u0236\u0003\u0236\u0003", + "\u0236\u0003\u0236\u0003\u0236\u0003\u0236\u0003\u0236\u0003\u0236\u0003", + "\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003", + "\u0237\u0003\u0237\u0003\u0237\u0003\u0238\u0003\u0238\u0003\u0238\u0003", + "\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003", + "\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003", + "\u0238\u0003\u0238\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003", + "\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003", + "\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003", + "\u023a\u0003\u023a\u0003\u023b\u0003\u023b\u0003\u023b\u0003\u023b\u0003", + "\u023b\u0003\u023b\u0003\u023c\u0003\u023c\u0003\u023c\u0003\u023c\u0003", + "\u023c\u0003\u023c\u0003\u023c\u0003\u023c\u0003\u023d\u0003\u023d\u0003", + "\u023d\u0003\u023d\u0003\u023d\u0003\u023e\u0003\u023e\u0003\u023e\u0003", + "\u023e\u0003\u023e\u0003\u023e\u0003\u023e\u0003\u023e\u0003\u023f\u0003", + "\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003", + "\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003", + "\u023f\u0003\u023f\u0003\u0240\u0003\u0240\u0003\u0240\u0003\u0240\u0003", + "\u0240\u0003\u0240\u0003\u0240\u0003\u0240\u0003\u0240\u0003\u0240\u0003", + "\u0240\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003", + "\u0241\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0242\u0003", + "\u0242\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0243\u0003", + "\u0243\u0003\u0243\u0003\u0243\u0003\u0243\u0003\u0244\u0003\u0244\u0003", + "\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003", + "\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003", + "\u0245\u0003\u0245\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0246\u0003", + "\u0246\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0247\u0003", + "\u0247\u0003\u0247\u0003\u0247\u0003\u0247\u0003\u0248\u0003\u0248\u0003", + "\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003", + "\u0249\u0003\u0249\u0003\u0249\u0003\u0249\u0003\u0249\u0003\u024a\u0003", + "\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003", + "\u024a\u0003\u024b\u0003\u024b\u0003\u024b\u0003\u024b\u0003\u024b\u0003", + "\u024c\u0003\u024c\u0003\u024c\u0003\u024d\u0003\u024d\u0003\u024d\u0003", + "\u024d\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024f\u0003", + "\u024f\u0003\u024f\u0003\u024f\u0003\u0250\u0003\u0250\u0003\u0250\u0003", + "\u0250\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0251\u0003\u0252\u0003", + "\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003", + "\u0252\u0003\u0252\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003", + "\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0254\u0003\u0254\u0003", + "\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0255\u0003\u0255\u0003", + "\u0255\u0003\u0255\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256\u0003", + "\u0256\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003", + "\u0257\u0003\u0257\u0003\u0258\u0003\u0258\u0003\u0258\u0003\u0258\u0003", + "\u0258\u0003\u0259\u0003\u0259\u0003\u0259\u0003\u0259\u0003\u0259\u0003", + "\u0259\u0003\u0259\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003", + "\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003", + "\u025a\u0003\u025a\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0003", + "\u025b\u0003\u025b\u0003\u025b\u0003\u025c\u0003\u025c\u0003\u025c\u0003", + "\u025c\u0003\u025c\u0003\u025c\u0003\u025c\u0003\u025c\u0003\u025d\u0003", + "\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003", + "\u025d\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025e\u0003", + "\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003", + "\u025f\u0003\u025f\u0003\u0260\u0003\u0260\u0003\u0260\u0003\u0260\u0003", + "\u0260\u0003\u0260\u0003\u0260\u0003\u0261\u0003\u0261\u0003\u0261\u0003", + "\u0261\u0003\u0261\u0003\u0261\u0003\u0261\u0003\u0261\u0003\u0261\u0003", + "\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003", + "\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003", + "\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0264\u0003", + "\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003", + "\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003", + "\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003", + "\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003", + "\u0264\u0003\u0264\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0265\u0003", + "\u0265\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0265\u0003", + "\u0265\u0003\u0265\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003", + "\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003", + "\u0266\u0003\u0266\u0003\u0266\u0003\u0267\u0003\u0267\u0003\u0267\u0003", + "\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003", + "\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003\u0268\u0003\u0268\u0003", + "\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003", + "\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003", + "\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003", + "\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0269\u0003\u0269\u0003", + "\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003", + "\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u026a\u0003\u026a\u0003", + "\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003", + "\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003", + "\u026a\u0003\u026a\u0003\u026a\u0003\u026b\u0003\u026b\u0003\u026b\u0003", + "\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003", + "\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003", + "\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003", + "\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003", + "\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003", + "\u026c\u0003\u026c\u0003\u026c\u0003\u026d\u0003\u026d\u0003\u026d\u0003", + "\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003", + "\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026e\u0003", + "\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003", + "\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003", + "\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003", + "\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026f\u0003", + "\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003", + "\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003", + "\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003", + "\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u0270\u0003", + "\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003", + "\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003", + "\u0270\u0003\u0270\u0003\u0270\u0003\u0271\u0003\u0271\u0003\u0271\u0003", + "\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003", + "\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003", + "\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003", + "\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003", + "\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003", + "\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003", + "\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003", + "\u0272\u0003\u0272\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003", + "\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003", + "\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003", + "\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003", + "\u0273\u0003\u0273\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003", + "\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003", + "\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003", + "\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0275\u0003", + "\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003", + "\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003", + "\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003", + "\u0275\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003", + "\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003", + "\u0277\u0005\u0277\u1e78\n\u0277\u0003\u0277\u0003\u0277\u0003\u0277", + "\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277", + "\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277", + "\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277", + "\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0005\u0277\u1e93\n", + "\u0277\u0003\u0278\u0003\u0278\u0003\u0278\u0003\u0278\u0003\u0278\u0003", + "\u0278\u0003\u0278\u0003\u0278\u0003\u0278\u0003\u0278\u0003\u0278\u0003", + "\u0278\u0003\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003", + "\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003", + "\u0279\u0003\u0279\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003", + "\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003", + "\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003", + "\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003", + "\u027a\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003", + "\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003", + "\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003", + "\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003", + "\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003", + "\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003", + "\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003", + "\u027c\u0003\u027c\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003", + "\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003", + "\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003", + "\u027d\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003", + "\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027f\u0003\u027f\u0003", + "\u027f\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u0280\u0003\u0280\u0003", + "\u0280\u0003\u0280\u0003\u0280\u0003\u0281\u0003\u0281\u0003\u0281\u0003", + "\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0282\u0003\u0282\u0003", + "\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003\u0283\u0003", + "\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003", + "\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003", + "\u0284\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003", + "\u0285\u0003\u0286\u0003\u0286\u0003\u0286\u0003\u0286\u0003\u0286\u0003", + "\u0286\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0287\u0003", + "\u0287\u0003\u0288\u0003\u0288\u0003\u0288\u0003\u0288\u0003\u0288\u0003", + "\u0288\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003", + "\u028b\u0003\u028b\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028c\u0003", + "\u028c\u0003\u028c\u0003\u028c\u0003\u028d\u0003\u028d\u0003\u028d\u0003", + "\u028d\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003", + "\u028e\u0003\u028e\u0003\u028e\u0003\u028f\u0003\u028f\u0003\u028f\u0003", + "\u028f\u0003\u028f\u0003\u028f\u0003\u0290\u0003\u0290\u0003\u0290\u0003", + "\u0290\u0003\u0290\u0003\u0290\u0003\u0290\u0003\u0291\u0003\u0291\u0003", + "\u0291\u0003\u0291\u0003\u0292\u0003\u0292\u0003\u0292\u0003\u0292\u0003", + "\u0292\u0003\u0292\u0003\u0292\u0003\u0292\u0003\u0293\u0003\u0293\u0003", + "\u0293\u0003\u0293\u0003\u0293\u0003\u0293\u0003\u0294\u0003\u0294\u0003", + "\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0295\u0003\u0295\u0003", + "\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0296\u0003", + "\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003", + "\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003", + "\u0297\u0003\u0298\u0003\u0298\u0003\u0298\u0003\u0298\u0003\u0298\u0003", + "\u0298\u0003\u0298\u0003\u0299\u0003\u0299\u0003\u0299\u0003\u0299\u0003", + "\u0299\u0003\u0299\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029a\u0003", + "\u029a\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029b\u0003", + "\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029c\u0003\u029c\u0003", + "\u029c\u0003\u029c\u0003\u029c\u0003\u029d\u0003\u029d\u0003\u029d\u0003", + "\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029e\u0003\u029e\u0003", + "\u029e\u0003\u029e\u0003\u029e\u0003\u029f\u0003\u029f\u0003\u029f\u0003", + "\u029f\u0003\u029f\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003", + "\u02a0\u0003\u02a0\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003", + "\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a2\u0003\u02a2\u0003", + "\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a3\u0003\u02a3\u0003", + "\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003", + "\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a5\u0003", + "\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003", + "\u02a5\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003", + "\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003", + "\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003", + "\u02a7\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003\u02a9\u0003", + "\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003", + "\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02aa\u0003\u02aa\u0003\u02aa\u0003", + "\u02aa\u0003\u02aa\u0003\u02aa\u0003\u02aa\u0003\u02ab\u0003\u02ab\u0003", + "\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ac\u0003", + "\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003", + "\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ad\u0003\u02ad\u0003", + "\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ae\u0003", + "\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02af\u0003\u02af\u0003\u02af\u0003", + "\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003", + "\u02af\u0003\u02af\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003", + "\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003", + "\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003", + "\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003", + "\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b2\u0003\u02b2\u0003", + "\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003", + "\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003", + "\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003", + "\u02b3\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003", + "\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003", + "\u02b4\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003", + "\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003", + "\u02b5\u0003\u02b5\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003", + "\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003", + "\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003", + "\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003", + "\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003", + "\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003", + "\u02b8\u0003\u02b8\u0003\u02b8\u0003\u02b8\u0003\u02b8\u0003\u02b8\u0003", + "\u02b8\u0003\u02b8\u0003\u02b8\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003", + "\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003", + "\u02b9\u0003\u02b9\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003", + "\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003", + "\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003", + "\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003", + "\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bc\u0003", + "\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003", + "\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003", + "\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003", + "\u02be\u0003\u02be\u0003\u02be\u0003\u02be\u0003\u02be\u0003\u02be\u0003", + "\u02be\u0003\u02be\u0003\u02bf\u0003\u02bf\u0003\u02bf\u0003\u02bf\u0003", + "\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c1\u0003", + "\u02c1\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003", + "\u02c1\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003", + "\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003", + "\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003", + "\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003", + "\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003", + "\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c5\u0003\u02c5\u0003\u02c5\u0003", + "\u02c5\u0003\u02c5\u0003\u02c6\u0003\u02c6\u0003\u02c6\u0003\u02c6\u0003", + "\u02c6\u0003\u02c6\u0003\u02c6\u0003\u02c6\u0003\u02c6\u0003\u02c7\u0003", + "\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c8\u0003\u02c8\u0003", + "\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c9\u0003", + "\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02ca\u0003", + "\u02ca\u0003\u02ca\u0003\u02ca\u0003\u02ca\u0003\u02ca\u0003\u02cb\u0003", + "\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003", + "\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003", + "\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003", + "\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003", + "\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003", + "\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003", + "\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003", + "\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003", + "\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003", + "\u02cd\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003", + "\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003", + "\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02cf\u0003", + "\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003", + "\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003", + "\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02d0\u0003", + "\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d1\u0003\u02d1\u0003", + "\u02d1\u0003\u02d1\u0003\u02d1\u0003\u02d1\u0003\u02d2\u0003\u02d2\u0003", + "\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003", + "\u02d2\u0003\u02d2\u0003\u02d3\u0003\u02d3\u0003\u02d3\u0003\u02d3\u0003", + "\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003", + "\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d5\u0003\u02d5\u0003", + "\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003", + "\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d6\u0003\u02d6\u0003\u02d6\u0003", + "\u02d6\u0003\u02d6\u0003\u02d6\u0003\u02d6\u0003\u02d7\u0003\u02d7\u0003", + "\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003", + "\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d8\u0003", + "\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d9\u0003\u02d9\u0003", + "\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003", + "\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003", + "\u02da\u0003\u02da\u0003\u02da\u0003\u02db\u0003\u02db\u0003\u02db\u0003", + "\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003", + "\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003", + "\u02db\u0003\u02db\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003", + "\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dd\u0003\u02dd\u0003", + "\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003", + "\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02de\u0003\u02de\u0003", + "\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003", + "\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02df\u0003", + "\u02df\u0003\u02df\u0003\u02df\u0003\u02df\u0003\u02df\u0003\u02df\u0003", + "\u02df\u0003\u02df\u0003\u02df\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003", + "\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003", + "\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003", + "\u02e1\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003", + "\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e3\u0003", + "\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003", + "\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003", + "\u02e3\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003", + "\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e6\u0003", + "\u02e6\u0003\u02e6\u0003\u02e6\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003", + "\u02e7\u0003\u02e8\u0003\u02e8\u0003\u02e8\u0003\u02e8\u0003\u02e8\u0003", + "\u02e8\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003", + "\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003", + "\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003", + "\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003", + "\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02ea\u0003\u02ea\u0003", + "\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003", + "\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003", + "\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003", + "\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003", + "\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003", + "\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003", + "\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003", + "\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003", + "\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003", + "\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ed\u0003", + "\u02ed\u0003\u02ed\u0003\u02ed\u0003\u02ed\u0003\u02ed\u0003\u02ed\u0003", + "\u02ed\u0003\u02ee\u0003\u02ee\u0003\u02ee\u0003\u02ee\u0003\u02ee\u0003", + "\u02ee\u0003\u02ee\u0003\u02ee\u0003\u02ee\u0003\u02ef\u0003\u02ef\u0003", + "\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003", + "\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02f0\u0003\u02f0\u0003", + "\u02f0\u0003\u02f0\u0003\u02f0\u0003\u02f0\u0003\u02f0\u0003\u02f0\u0003", + "\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003", + "\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f2\u0003", + "\u02f2\u0003\u02f2\u0003\u02f2\u0003\u02f2\u0003\u02f2\u0003\u02f2\u0003", + "\u02f2\u0003\u02f2\u0003\u02f2\u0003\u02f3\u0003\u02f3\u0003\u02f3\u0003", + "\u02f3\u0003\u02f3\u0003\u02f3\u0003\u02f3\u0003\u02f3\u0003\u02f3\u0003", + "\u02f3\u0003\u02f4\u0003\u02f4\u0003\u02f4\u0003\u02f4\u0003\u02f4\u0003", + "\u02f4\u0003\u02f4\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003", + "\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f6\u0003\u02f6\u0003", + "\u02f6\u0003\u02f6\u0003\u02f6\u0003\u02f6\u0003\u02f6\u0003\u02f6\u0003", + "\u02f6\u0003\u02f6\u0003\u02f6\u0003\u02f6\u0003\u02f7\u0003\u02f7\u0003", + "\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f7\u0003", + "\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f8\u0003\u02f8\u0003", + "\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003", + "\u02f8\u0003\u02f8\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003", + "\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02fa\u0003", + "\u02fa\u0003\u02fa\u0003\u02fa\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003", + "\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fc\u0003\u02fc\u0003", + "\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003", + "\u02fd\u0003\u02fd\u0003\u02fd\u0003\u02fd\u0003\u02fd\u0003\u02fd\u0003", + "\u02fd\u0003\u02fd\u0003\u02fd\u0003\u02fe\u0003\u02fe\u0003\u02fe\u0003", + "\u02fe\u0003\u02fe\u0003\u02fe\u0003\u02fe\u0003\u02fe\u0003\u02fe\u0003", + "\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003", + "\u02ff\u0003\u0300\u0003\u0300\u0003\u0300\u0003\u0300\u0003\u0301\u0003", + "\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003", + "\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0302\u0003\u0302\u0003", + "\u0302\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0302\u0003", + "\u0302\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0303\u0003", + "\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003", + "\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003", + "\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003", + "\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003", + "\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003", + "\u0306\u0003\u0306\u0003\u0306\u0003\u0306\u0003\u0306\u0003\u0306\u0003", + "\u0307\u0003\u0307\u0003\u0307\u0003\u0307\u0003\u0307\u0003\u0307\u0003", + "\u0307\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003", + "\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003", + "\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003", + "\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003", + "\u030a\u0003\u030a\u0003\u030a\u0003\u030a\u0003\u030a\u0003\u030a\u0003", + "\u030a\u0003\u030a\u0003\u030a\u0003\u030a\u0003\u030b\u0003\u030b\u0003", + "\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003", + "\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003", + "\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003", + "\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003", + "\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030d\u0003", + "\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003", + "\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003", + "\u030d\u0003\u030d\u0003\u030d\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003", + "\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003", + "\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003", + "\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003", + "\u030f\u0003\u030f\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003", + "\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003", + "\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003\u0310\u0003", + "\u0310\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003", + "\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003", + "\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0312\u0003", + "\u0312\u0003\u0312\u0003\u0312\u0003\u0312\u0003\u0312\u0003\u0312\u0003", + "\u0312\u0003\u0312\u0003\u0312\u0003\u0313\u0003\u0313\u0003\u0313\u0003", + "\u0313\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0313\u0003", + "\u0313\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0314\u0003\u0314\u0003", + "\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003", + "\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0315\u0003", + "\u0315\u0003\u0315\u0003\u0315\u0003\u0315\u0003\u0315\u0003\u0315\u0003", + "\u0315\u0003\u0315\u0003\u0315\u0003\u0315\u0003\u0315\u0003\u0316\u0003", + "\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003", + "\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0317\u0003\u0317\u0003", + "\u0317\u0003\u0317\u0003\u0317\u0003\u0317\u0003\u0317\u0003\u0317\u0003", + "\u0317\u0003\u0318\u0003\u0318\u0003\u0318\u0003\u0318\u0003\u0318\u0003", + "\u0318\u0003\u0318\u0003\u0318\u0003\u0319\u0003\u0319\u0003\u0319\u0003", + "\u0319\u0003\u0319\u0003\u0319\u0003\u0319\u0003\u0319\u0003\u0319\u0003", + "\u031a\u0003\u031a\u0003\u031a\u0003\u031a\u0003\u031a\u0003\u031a\u0003", + "\u031a\u0003\u031a\u0003\u031a\u0003\u031a\u0003\u031a\u0003\u031a\u0003", + "\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003", + "\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003\u031b\u0003", + "\u031b\u0003\u031b\u0003\u031c\u0003\u031c\u0003\u031c\u0003\u031c\u0003", + "\u031d\u0003\u031d\u0003\u031d\u0003\u031d\u0003\u031d\u0003\u031d\u0003", + "\u031d\u0003\u031e\u0003\u031e\u0003\u031e\u0003\u031e\u0003\u031e\u0003", + "\u031e\u0003\u031e\u0003\u031e\u0003\u031e\u0003\u031e\u0003\u031e\u0003", + "\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003", + "\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003\u0320\u0003", + "\u0320\u0003\u0320\u0003\u0320\u0003\u0320\u0003\u0320\u0003\u0320\u0003", + "\u0320\u0003\u0320\u0003\u0320\u0003\u0321\u0003\u0321\u0003\u0321\u0003", + "\u0321\u0003\u0321\u0003\u0321\u0003\u0321\u0003\u0321\u0003\u0321\u0003", + "\u0321\u0003\u0322\u0003\u0322\u0003\u0322\u0003\u0322\u0003\u0322\u0003", + "\u0322\u0003\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003", + "\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003", + "\u0323\u0003\u0323\u0003\u0323\u0003\u0324\u0003\u0324\u0003\u0324\u0003", + "\u0324\u0003\u0324\u0003\u0324\u0003\u0324\u0003\u0324\u0003\u0324\u0003", + "\u0324\u0003\u0324\u0003\u0325\u0003\u0325\u0003\u0325\u0003\u0325\u0003", + "\u0325\u0003\u0325\u0003\u0325\u0003\u0325\u0003\u0325\u0003\u0326\u0003", + "\u0326\u0003\u0326\u0003\u0326\u0003\u0326\u0003\u0326\u0003\u0326\u0003", + "\u0326\u0003\u0327\u0003\u0327\u0003\u0327\u0003\u0327\u0003\u0327\u0003", + "\u0327\u0003\u0327\u0003\u0328\u0003\u0328\u0003\u0328\u0003\u0328\u0003", + "\u0328\u0003\u0328\u0003\u0328\u0003\u0328\u0003\u0328\u0003\u0329\u0003", + "\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003", + "\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003", + "\u032a\u0003\u032a\u0003\u032a\u0003\u032a\u0003\u032a\u0003\u032a\u0003", + "\u032a\u0003\u032a\u0003\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003", + "\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003", + "\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003\u032c\u0003", + "\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003", + "\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003", + "\u032c\u0003\u032c\u0003\u032d\u0003\u032d\u0003\u032d\u0003\u032d\u0003", + "\u032d\u0003\u032d\u0003\u032d\u0003\u032d\u0003\u032e\u0003\u032e\u0003", + "\u032e\u0003\u032e\u0003\u032e\u0003\u032e\u0003\u032e\u0003\u032e\u0003", + "\u032e\u0003\u032e\u0003\u032e\u0003\u032e\u0003\u032e\u0003\u032f\u0003", + "\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003", + "\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003", + "\u032f\u0003\u032f\u0003\u0330\u0003\u0330\u0003\u0330\u0003\u0330\u0003", + "\u0330\u0003\u0330\u0003\u0331\u0003\u0331\u0003\u0331\u0003\u0331\u0003", + "\u0331\u0003\u0331\u0003\u0332\u0003\u0332\u0003\u0332\u0003\u0332\u0003", + "\u0332\u0003\u0332\u0003\u0332\u0003\u0333\u0003\u0333\u0003\u0333\u0003", + "\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003", + "\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003\u0334\u0003\u0334\u0003", + "\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003", + "\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0335\u0003\u0335\u0003", + "\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003", + "\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003", + "\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003\u0336\u0003", + "\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003", + "\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003", + "\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003\u0337\u0003", + "\u0337\u0003\u0337\u0003\u0338\u0003\u0338\u0003\u0338\u0003\u0338\u0003", + "\u0338\u0003\u0338\u0003\u0338\u0003\u0338\u0003\u0338\u0003\u0338\u0003", + "\u0339\u0003\u0339\u0003\u0339\u0003\u0339\u0003\u0339\u0003\u0339\u0003", + "\u0339\u0003\u033a\u0003\u033a\u0003\u033a\u0003\u033a\u0003\u033b\u0003", + "\u033b\u0003\u033b\u0003\u033b\u0003\u033b\u0003\u033b\u0003\u033c\u0003", + "\u033c\u0003\u033c\u0003\u033c\u0003\u033c\u0003\u033d\u0003\u033d\u0003", + "\u033d\u0003\u033d\u0003\u033d\u0003\u033d\u0003\u033e\u0003\u033e\u0003", + "\u033e\u0003\u033e\u0003\u033e\u0003\u033f\u0003\u033f\u0003\u033f\u0003", + "\u033f\u0003\u033f\u0003\u033f\u0003\u0340\u0003\u0340\u0003\u0340\u0003", + "\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003", + "\u0341\u0003\u0341\u0003\u0341\u0003\u0341\u0003\u0341\u0003\u0341\u0003", + "\u0341\u0003\u0341\u0003\u0341\u0003\u0342\u0003\u0342\u0003\u0342\u0003", + "\u0342\u0003\u0342\u0003\u0342\u0003\u0342\u0003\u0342\u0003\u0342\u0003", + "\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003", + "\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003", + "\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003\u0344\u0003\u0344\u0003", + "\u0344\u0003\u0344\u0003\u0344\u0003\u0344\u0003\u0344\u0003\u0344\u0003", + "\u0344\u0003\u0344\u0003\u0344\u0003\u0344\u0003\u0345\u0003\u0345\u0003", + "\u0345\u0003\u0345\u0003\u0345\u0003\u0345\u0003\u0345\u0003\u0345\u0003", + "\u0345\u0003\u0345\u0003\u0345\u0003\u0345\u0003\u0346\u0003\u0346\u0003", + "\u0346\u0003\u0346\u0003\u0346\u0003\u0346\u0003\u0346\u0003\u0346\u0003", + "\u0346\u0003\u0347\u0003\u0347\u0003\u0347\u0003\u0347\u0003\u0347\u0003", + "\u0347\u0003\u0347\u0003\u0347\u0003\u0347\u0003\u0347\u0003\u0347\u0003", + "\u0347\u0003\u0347\u0003\u0347\u0003\u0348\u0003\u0348\u0003\u0348\u0003", + "\u0348\u0003\u0348\u0003\u0348\u0003\u0348\u0003\u0348\u0003\u0348\u0003", + "\u0348\u0003\u0348\u0003\u0348\u0003\u0349\u0003\u0349\u0003\u0349\u0003", + "\u0349\u0003\u0349\u0003\u0349\u0003\u0349\u0003\u0349\u0003\u0349\u0003", + "\u0349\u0003\u0349\u0003\u034a\u0003\u034a\u0003\u034a\u0003\u034a\u0003", + "\u034a\u0003\u034a\u0003\u034a\u0003\u034a\u0003\u034a\u0003\u034a\u0003", + "\u034b\u0003\u034b\u0003\u034b\u0003\u034b\u0003\u034c\u0003\u034c\u0003", + "\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003", + "\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003", + "\u034d\u0003\u034d\u0003\u034d\u0003\u034d\u0003\u034d\u0003\u034d\u0003", + "\u034d\u0003\u034d\u0003\u034d\u0003\u034d\u0003\u034d\u0003\u034d\u0003", + "\u034d\u0003\u034e\u0003\u034e\u0003\u034e\u0003\u034e\u0003\u034e\u0003", + "\u034e\u0003\u034e\u0003\u034e\u0003\u034e\u0003\u034e\u0003\u034f\u0003", + "\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003", + "\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003", + "\u034f\u0003\u034f\u0003\u0350\u0003\u0350\u0003\u0350\u0003\u0350\u0003", + "\u0350\u0003\u0350\u0003\u0350\u0003\u0350\u0003\u0350\u0003\u0350\u0003", + "\u0350\u0003\u0350\u0003\u0350\u0003\u0350\u0003\u0351\u0003\u0351\u0003", + "\u0351\u0003\u0351\u0003\u0351\u0003\u0351\u0003\u0351\u0003\u0351\u0003", + "\u0351\u0003\u0351\u0003\u0351\u0003\u0351\u0003\u0351\u0003\u0351\u0003", + "\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003", + "\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003", + "\u0352\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003", + "\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003", + "\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003", + "\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003", + "\u0353\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003", + "\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003", + "\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003", + "\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003", + "\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003", + "\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003", + "\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003", + "\u0355\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003", + "\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003", + "\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003", + "\u0356\u0003\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003", + "\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003", + "\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003", + "\u0357\u0003\u0357\u0003\u0357\u0003\u0357\u0003\u0358\u0003\u0358\u0003", + "\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003", + "\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003", + "\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003", + "\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003", + "\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u035a\u0003", + "\u035a\u0003\u035a\u0003\u035a\u0003\u035a\u0003\u035a\u0003\u035a\u0003", + "\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003", + "\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003", + "\u035b\u0003\u035b\u0003\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003", + "\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003", + "\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003", + "\u035c\u0003\u035d\u0003\u035d\u0003\u035d\u0003\u035d\u0003\u035d\u0003", + "\u035d\u0003\u035d\u0003\u035d\u0003\u035d\u0003\u035d\u0003\u035e\u0003", + "\u035e\u0003\u035e\u0003\u035e\u0003\u035f\u0003\u035f\u0003\u035f\u0003", + "\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003", + "\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u0360\u0003\u0360\u0003", + "\u0360\u0003\u0360\u0003\u0361\u0003\u0361\u0003\u0361\u0003\u0361\u0003", + "\u0361\u0003\u0361\u0003\u0361\u0003\u0361\u0003\u0361\u0003\u0362\u0003", + "\u0362\u0003\u0362\u0003\u0362\u0003\u0362\u0003\u0362\u0003\u0362\u0003", + "\u0362\u0003\u0362\u0003\u0362\u0003\u0362\u0003\u0363\u0003\u0363\u0003", + "\u0363\u0003\u0363\u0003\u0363\u0003\u0363\u0003\u0363\u0003\u0363\u0003", + "\u0363\u0003\u0363\u0003\u0363\u0003\u0363\u0003\u0364\u0003\u0364\u0003", + "\u0364\u0003\u0365\u0003\u0365\u0003\u0365\u0003\u0365\u0003\u0365\u0003", + "\u0365\u0003\u0365\u0003\u0365\u0003\u0365\u0003\u0365\u0003\u0365\u0003", + "\u0365\u0003\u0365\u0003\u0365\u0003\u0366\u0003\u0366\u0003\u0366\u0003", + "\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003", + "\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003\u0367\u0003\u0367\u0003", + "\u0367\u0003\u0367\u0003\u0367\u0003\u0367\u0003\u0367\u0003\u0368\u0003", + "\u0368\u0003\u0368\u0003\u0368\u0003\u0368\u0003\u0368\u0003\u0368\u0003", + "\u0368\u0003\u0368\u0003\u0368\u0003\u0368\u0003\u0368\u0003\u0368\u0003", + "\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003", + "\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003", + "\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003", + "\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003", + "\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003\u036b\u0003\u036b\u0003", + "\u036b\u0003\u036b\u0003\u036b\u0003\u036b\u0003\u036b\u0003\u036b\u0003", + "\u036b\u0003\u036b\u0003\u036b\u0003\u036b\u0003\u036b\u0003\u036b\u0003", + "\u036b\u0003\u036c\u0003\u036c\u0003\u036c\u0003\u036c\u0003\u036d\u0003", + "\u036d\u0003\u036d\u0003\u036d\u0003\u036d\u0003\u036d\u0003\u036e\u0003", + "\u036e\u0003\u036e\u0003\u036e\u0003\u036e\u0003\u036e\u0003\u036f\u0003", + "\u036f\u0003\u036f\u0003\u036f\u0003\u036f\u0003\u036f\u0003\u036f\u0003", + "\u036f\u0003\u0370\u0003\u0370\u0003\u0370\u0003\u0370\u0003\u0370\u0003", + "\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003", + "\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003", + "\u0371\u0003\u0372\u0003\u0372\u0003\u0372\u0003\u0372\u0003\u0372\u0003", + "\u0372\u0003\u0372\u0003\u0372\u0003\u0372\u0003\u0372\u0003\u0372\u0003", + "\u0372\u0003\u0372\u0003\u0373\u0003\u0373\u0003\u0373\u0003\u0373\u0003", + "\u0373\u0003\u0373\u0003\u0373\u0003\u0373\u0003\u0374\u0003\u0374\u0003", + "\u0374\u0003\u0374\u0003\u0374\u0003\u0374\u0003\u0375\u0003\u0375\u0003", + "\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003", + "\u0375\u0003\u0375\u0003\u0376\u0003\u0376\u0003\u0376\u0003\u0376\u0003", + "\u0376\u0003\u0377\u0003\u0377\u0003\u0377\u0003\u0377\u0003\u0377\u0003", + "\u0377\u0003\u0378\u0003\u0378\u0003\u0378\u0003\u0378\u0003\u0378\u0003", + "\u0378\u0003\u0378\u0003\u0378\u0003\u0378\u0003\u0378\u0003\u0378\u0003", + "\u0378\u0003\u0379\u0003\u0379\u0003\u0379\u0003\u0379\u0003\u0379\u0003", + "\u0379\u0003\u0379\u0003\u0379\u0003\u0379\u0003\u0379\u0003\u0379\u0003", + "\u0379\u0003\u0379\u0003\u037a\u0003\u037a\u0003\u037a\u0003\u037a\u0003", + "\u037b\u0003\u037b\u0003\u037b\u0003\u037b\u0003\u037b\u0003\u037c\u0003", + "\u037c\u0003\u037c\u0003\u037c\u0003\u037c\u0003\u037d\u0003\u037d\u0003", + "\u037d\u0003\u037d\u0003\u037d\u0003\u037d\u0003\u037d\u0003\u037d\u0003", + "\u037d\u0003\u037d\u0003\u037d\u0003\u037d\u0003\u037e\u0003\u037e\u0003", + "\u037e\u0003\u037e\u0003\u037e\u0003\u037f\u0003\u037f\u0003\u037f\u0003", + "\u037f\u0003\u0380\u0003\u0380\u0003\u0380\u0003\u0380\u0003\u0380\u0003", + "\u0380\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003", + "\u0381\u0003\u0381\u0003\u0381\u0003\u0382\u0003\u0382\u0003\u0382\u0003", + "\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003", + "\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003", + "\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003", + "\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003", + "\u0382\u0003\u0383\u0003\u0383\u0003\u0383\u0003\u0383\u0003\u0383\u0003", + "\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003\u0385\u0003", + "\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003", + "\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0386\u0003\u0386\u0003", + "\u0386\u0003\u0386\u0003\u0386\u0003\u0386\u0003\u0386\u0003\u0387\u0003", + "\u0387\u0003\u0387\u0003\u0387\u0003\u0387\u0003\u0387\u0003\u0387\u0003", + "\u0387\u0003\u0387\u0003\u0387\u0003\u0387\u0003\u0387\u0003\u0388\u0003", + "\u0388\u0003\u0388\u0003\u0388\u0003\u0388\u0003\u0388\u0003\u0388\u0003", + "\u0388\u0003\u0389\u0003\u0389\u0003\u0389\u0003\u0389\u0003\u0389\u0003", + "\u0389\u0003\u0389\u0003\u0389\u0003\u0389\u0003\u0389\u0003\u0389\u0003", + "\u0389\u0003\u038a\u0003\u038a\u0003\u038a\u0003\u038a\u0003\u038a\u0003", + "\u038a\u0003\u038a\u0003\u038a\u0003\u038a\u0003\u038a\u0003\u038b\u0003", + "\u038b\u0003\u038b\u0003\u038b\u0003\u038b\u0003\u038b\u0003\u038b\u0003", + "\u038b\u0003\u038b\u0003\u038c\u0003\u038c\u0003\u038c\u0003\u038c\u0003", + "\u038c\u0003\u038c\u0003\u038c\u0003\u038c\u0003\u038c\u0003\u038d\u0003", + "\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003", + "\u038d\u0003\u038d\u0003\u038d\u0003\u038e\u0003\u038e\u0003\u038e\u0003", + "\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003", + "\u038e\u0003\u038e\u0003\u038e\u0003\u038f\u0003\u038f\u0003\u038f\u0003", + "\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003", + "\u038f\u0003\u038f\u0003\u038f\u0003\u0390\u0003\u0390\u0003\u0390\u0003", + "\u0390\u0003\u0390\u0003\u0390\u0003\u0390\u0003\u0390\u0003\u0390\u0003", + "\u0390\u0003\u0390\u0003\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003", + "\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003", + "\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003\u0392\u0003\u0392\u0003", + "\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003", + "\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003\u0393\u0003", + "\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003", + "\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0394\u0003", + "\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003", + "\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003\u0395\u0003", + "\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003", + "\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003\u0396\u0003", + "\u0396\u0003\u0396\u0003\u0396\u0003\u0396\u0003\u0396\u0003\u0396\u0003", + "\u0396\u0003\u0396\u0003\u0396\u0003\u0396\u0003\u0396\u0003\u0397\u0003", + "\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003", + "\u0397\u0003\u0397\u0003\u0397\u0003\u0398\u0003\u0398\u0003\u0398\u0003", + "\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003", + "\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003", + "\u0398\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003", + "\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003", + "\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003", + "\u0399\u0003\u0399\u0003\u0399\u0003\u039a\u0003\u039a\u0003\u039a\u0003", + "\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003", + "\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003", + "\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003\u039b\u0003\u039b\u0003", + "\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003", + "\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003", + "\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039c\u0003", + "\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003", + "\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003", + "\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003", + "\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003", + "\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039c\u0003\u039d\u0003", + "\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003", + "\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003", + "\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003", + "\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003", + "\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039e\u0003\u039e\u0003", + "\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003", + "\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003", + "\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003", + "\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003", + "\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003", + "\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003", + "\u039f\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003", + "\u03a0\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003", + "\u03a0\u0003\u03a0\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003", + "\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003", + "\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003", + "\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003", + "\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003", + "\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a3\u0003\u03a3\u0003", + "\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003", + "\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003", + "\u03a3\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003", + "\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003", + "\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003", + "\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003", + "\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003", + "\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a6\u0003\u03a6\u0003", + "\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003", + "\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003", + "\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003", + "\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003", + "\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003", + "\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a9\u0003", + "\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003", + "\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03aa\u0003", + "\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003", + "\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003", + "\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003", + "\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003", + "\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003", + "\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003", + "\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003", + "\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003", + "\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ad\u0003\u03ad\u0003", + "\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003", + "\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003", + "\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003", + "\u03ad\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003", + "\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003", + "\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003", + "\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003", + "\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003", + "\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003", + "\u03af\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003", + "\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003", + "\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003", + "\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003", + "\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003", + "\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b2\u0003\u03b2\u0003", + "\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b2\u0003", + "\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b3\u0003\u03b3\u0003", + "\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003", + "\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003", + "\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003", + "\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003", + "\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003", + "\u03b4\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003", + "\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b6\u0003", + "\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003", + "\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003", + "\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003", + "\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003", + "\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003", + "\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003", + "\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003", + "\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003", + "\u03b8\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003", + "\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003", + "\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003", + "\u03b9\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003", + "\u03ba\u0003\u03ba\u0003\u03ba\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003", + "\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003", + "\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bc\u0003", + "\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003", + "\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003", + "\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bd\u0003\u03bd\u0003", + "\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003", + "\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03be\u0003\u03be\u0003\u03be\u0003", + "\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003", + "\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003", + "\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03c0\u0003\u03c0\u0003", + "\u03c0\u0003\u03c0\u0003\u03c0\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003", + "\u03c1\u0003\u03c1\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003", + "\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c3\u0003\u03c3\u0003", + "\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003", + "\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003", + "\u03c3\u0003\u03c3\u0003\u03c4\u0003\u03c4\u0003\u03c4\u0003\u03c4\u0003", + "\u03c4\u0003\u03c4\u0003\u03c4\u0003\u03c4\u0003\u03c5\u0003\u03c5\u0003", + "\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003", + "\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c6\u0003\u03c6\u0003", + "\u03c6\u0003\u03c6\u0003\u03c7\u0003\u03c7\u0003\u03c7\u0003\u03c7\u0003", + "\u03c7\u0003\u03c7\u0003\u03c7\u0003\u03c7\u0003\u03c7\u0003\u03c8\u0003", + "\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003", + "\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003", + "\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003", + "\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003", + "\u03c9\u0003\u03c9\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003", + "\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003", + "\u03ca\u0003\u03ca\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003", + "\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003", + "\u03cb\u0003\u03cb\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003", + "\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cd\u0003\u03cd\u0003", + "\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003", + "\u03cd\u0003\u03cd\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003", + "\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03cf\u0003\u03cf\u0003", + "\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003", + "\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03d0\u0003\u03d0\u0003\u03d0\u0003", + "\u03d0\u0003\u03d0\u0003\u03d0\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003", + "\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003", + "\u03d1\u0003\u03d1\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003", + "\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003", + "\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003", + "\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d3\u0003\u03d3\u0003", + "\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d4\u0003\u03d4\u0003", + "\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003", + "\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003", + "\u03d4\u0003\u03d5\u0003\u03d5\u0003\u03d5\u0003\u03d5\u0003\u03d5\u0003", + "\u03d5\u0003\u03d5\u0003\u03d5\u0003\u03d5\u0003\u03d5\u0003\u03d6\u0003", + "\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d7\u0003", + "\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d8\u0003\u03d8\u0003", + "\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003", + "\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003", + "\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003", + "\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003", + "\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003", + "\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003", + "\u03da\u0003\u03da\u0003\u03da\u0003\u03da\u0003\u03da\u0003\u03da\u0003", + "\u03da\u0003\u03da\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003", + "\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003", + "\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003", + "\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003", + "\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003", + "\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003", + "\u03dc\u0003\u03dc\u0003\u03dc\u0003\u03dc\u0003\u03dc\u0003\u03dc\u0003", + "\u03dc\u0003\u03dc\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003", + "\u03dd\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003", + "\u03dd\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003", + "\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003", + "\u03de\u0003\u03de\u0003\u03de\u0003\u03df\u0003\u03df\u0003\u03df\u0003", + "\u03df\u0003\u03df\u0003\u03df\u0003\u03df\u0003\u03e0\u0003\u03e0\u0003", + "\u03e0\u0003\u03e0\u0003\u03e0\u0003\u03e0\u0003\u03e0\u0003\u03e0\u0003", + "\u03e0\u0003\u03e1\u0003\u03e1\u0003\u03e2\u0003\u03e2\u0003\u03e3\u0003", + "\u03e3\u0003\u03e3\u0003\u03e4\u0003\u03e4\u0003\u03e4\u0003\u03e5\u0003", + "\u03e5\u0003\u03e5\u0003\u03e6\u0003\u03e6\u0003\u03e6\u0003\u03e7\u0003", + "\u03e7\u0003\u03e7\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e9\u0003", + "\u03e9\u0003\u03e9\u0003\u03ea\u0003\u03ea\u0003\u03ea\u0003\u03eb\u0003", + "\u03eb\u0003\u03eb\u0003\u03ec\u0003\u03ec\u0003\u03ed\u0003\u03ed\u0003", + "\u03ee\u0003\u03ee\u0003\u03ef\u0003\u03ef\u0003\u03f0\u0003\u03f0\u0003", + "\u03f0\u0003\u03f1\u0003\u03f1\u0003\u03f2\u0003\u03f2\u0003\u03f2\u0003", + "\u03f2\u0003\u03f3\u0003\u03f3\u0003\u03f3\u0003\u03f3\u0003\u03f4\u0003", + "\u03f4\u0003\u03f5\u0003\u03f5\u0003\u03f6\u0003\u03f6\u0003\u03f7\u0003", + "\u03f7\u0003\u03f8\u0003\u03f8\u0003\u03f9\u0003\u03f9\u0003\u03fa\u0003", + "\u03fa\u0003\u03fb\u0003\u03fb\u0003\u03fc\u0003\u03fc\u0003\u03fd\u0003", + "\u03fd\u0003\u03fe\u0003\u03fe\u0003\u03ff\u0003\u03ff\u0003\u0400\u0003", + "\u0400\u0003\u0401\u0003\u0401\u0003\u0402\u0003\u0402\u0003\u0403\u0003", + "\u0403\u0003\u0404\u0003\u0404\u0003\u0405\u0003\u0405\u0003\u0406\u0003", + "\u0406\u0003\u0407\u0003\u0407\u0003\u0408\u0003\u0408\u0003\u0409\u0003", + "\u0409\u0003\u0409\u0005\u0409\u2e56\n\u0409\u0003\u040a\u0003\u040a", + "\u0003\u040a\u0003\u040a\u0003\u040b\u0006\u040b\u2e5d\n\u040b\r\u040b", + "\u000e\u040b\u2e5e\u0003\u040b\u0003\u040b\u0003\u040c\u0003\u040c\u0003", + "\u040c\u0003\u040d\u0003\u040d\u0003\u040d\u0005\u040d\u2e69\n\u040d", + "\u0003\u040e\u0006\u040e\u2e6c\n\u040e\r\u040e\u000e\u040e\u2e6d\u0003", + "\u040f\u0003\u040f\u0003\u040f\u0003\u040f\u0003\u040f\u0006\u040f\u2e75", + "\n\u040f\r\u040f\u000e\u040f\u2e76\u0003\u040f\u0003\u040f\u0003\u040f", + "\u0003\u040f\u0003\u040f\u0003\u040f\u0006\u040f\u2e7f\n\u040f\r\u040f", + "\u000e\u040f\u2e80\u0005\u040f\u2e83\n\u040f\u0003\u0410\u0006\u0410", + "\u2e86\n\u0410\r\u0410\u000e\u0410\u2e87\u0005\u0410\u2e8a\n\u0410\u0003", + "\u0410\u0003\u0410\u0006\u0410\u2e8e\n\u0410\r\u0410\u000e\u0410\u2e8f", + "\u0003\u0410\u0006\u0410\u2e93\n\u0410\r\u0410\u000e\u0410\u2e94\u0003", + "\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0006\u0410\u2e9b\n\u0410", + "\r\u0410\u000e\u0410\u2e9c\u0005\u0410\u2e9f\n\u0410\u0003\u0410\u0003", + "\u0410\u0006\u0410\u2ea3\n\u0410\r\u0410\u000e\u0410\u2ea4\u0003\u0410", + "\u0003\u0410\u0003\u0410\u0006\u0410\u2eaa\n\u0410\r\u0410\u000e\u0410", + "\u2eab\u0003\u0410\u0003\u0410\u0005\u0410\u2eb0\n\u0410\u0003\u0411", + "\u0003\u0411\u0003\u0411\u0003\u0412\u0003\u0412\u0003\u0413\u0003\u0413", + "\u0003\u0413\u0003\u0414\u0003\u0414\u0003\u0414\u0003\u0415\u0003\u0415", + "\u0003\u0416\u0003\u0416\u0006\u0416\u2ec1\n\u0416\r\u0416\u000e\u0416", + "\u2ec2\u0003\u0416\u0003\u0416\u0003\u0417\u0003\u0417\u0003\u0417\u0003", + "\u0417\u0005\u0417\u2ecb\n\u0417\u0003\u0417\u0003\u0417\u0003\u0417", + "\u0003\u0417\u0003\u0417\u0005\u0417\u2ed2\n\u0417\u0003\u0418\u0003", + "\u0418\u0006\u0418\u2ed6\n\u0418\r\u0418\u000e\u0418\u2ed7\u0003\u0418", + "\u0003\u0418\u0003\u0418\u0005\u0418\u2edd\n\u0418\u0003\u0419\u0003", + "\u0419\u0003\u0419\u0006\u0419\u2ee2\n\u0419\r\u0419\u000e\u0419\u2ee3", + "\u0003\u0419\u0005\u0419\u2ee7\n\u0419\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041a\u0005\u041a\u2f12\n\u041a\u0003\u041b", + "\u0003\u041b\u0005\u041b\u2f16\n\u041b\u0003\u041b\u0006\u041b\u2f19", + "\n\u041b\r\u041b\u000e\u041b\u2f1a\u0003\u041c\u0007\u041c\u2f1e\n\u041c", + "\f\u041c\u000e\u041c\u2f21\u000b\u041c\u0003\u041c\u0006\u041c\u2f24", + "\n\u041c\r\u041c\u000e\u041c\u2f25\u0003\u041c\u0007\u041c\u2f29\n\u041c", + "\f\u041c\u000e\u041c\u2f2c\u000b\u041c\u0003\u041d\u0003\u041d\u0003", + "\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0007\u041d\u2f34\n\u041d", + "\f\u041d\u000e\u041d\u2f37\u000b\u041d\u0003\u041d\u0003\u041d\u0003", + "\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0007", + "\u041e\u2f41\n\u041e\f\u041e\u000e\u041e\u2f44\u000b\u041e\u0003\u041e", + "\u0003\u041e\u0003\u041f\u0003\u041f\u0003\u041f\u0003\u041f\u0003\u041f", + "\u0003\u041f\u0007\u041f\u2f4e\n\u041f\f\u041f\u000e\u041f\u2f51\u000b", + "\u041f\u0003\u041f\u0003\u041f\u0003\u0420\u0003\u0420\u0003\u0421\u0003", + "\u0421\u0003\u0422\u0003\u0422\u0003\u0422\u0006\u0422\u2f5c\n\u0422", + "\r\u0422\u000e\u0422\u2f5d\u0003\u0422\u0003\u0422\u0003\u0423\u0003", + "\u0423\u0003\u0423\u0003\u0423\u0006\u0855\u0862\u2f1f\u2f25\u0002\u0424", + "\u0003\u0003\u0005\u0004\u0007\u0005\t\u0006\u000b\u0007\r\b\u000f\t", + "\u0011\n\u0013\u000b\u0015\f\u0017\r\u0019\u000e\u001b\u000f\u001d\u0010", + "\u001f\u0011!\u0012#\u0013%\u0014\'\u0015)\u0016+\u0017-\u0018/\u0019", + "1\u001a3\u001b5\u001c7\u001d9\u001e;\u001f= ?!A\"C#E$G%I&K\'M(O)Q*S", + "+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:s;u{?}@\u007fA\u0081B\u0083C\u0085", + "D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097M\u0099", + "N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00abW\u00ad", + "X\u00afY\u00b1Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bfa\u00c1", + "b\u00c3c\u00c5d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1j\u00d3k\u00d5", + "l\u00d7m\u00d9n\u00dbo\u00ddp\u00dfq\u00e1r\u00e3s\u00e5t\u00e7u\u00e9", + "v\u00ebw\u00edx\u00efy\u00f1z\u00f3{\u00f5|\u00f7}\u00f9~\u00fb\u007f", + "\u00fd\u0080\u00ff\u0081\u0101\u0082\u0103\u0083\u0105\u0084\u0107\u0085", + "\u0109\u0086\u010b\u0087\u010d\u0088\u010f\u0089\u0111\u008a\u0113\u008b", + "\u0115\u008c\u0117\u008d\u0119\u008e\u011b\u008f\u011d\u0090\u011f\u0091", + "\u0121\u0092\u0123\u0093\u0125\u0094\u0127\u0095\u0129\u0096\u012b\u0097", + "\u012d\u0098\u012f\u0099\u0131\u009a\u0133\u009b\u0135\u009c\u0137\u009d", + "\u0139\u009e\u013b\u009f\u013d\u00a0\u013f\u00a1\u0141\u00a2\u0143\u00a3", + "\u0145\u00a4\u0147\u00a5\u0149\u00a6\u014b\u00a7\u014d\u00a8\u014f\u00a9", + "\u0151\u00aa\u0153\u00ab\u0155\u00ac\u0157\u00ad\u0159\u00ae\u015b\u00af", + "\u015d\u00b0\u015f\u00b1\u0161\u00b2\u0163\u00b3\u0165\u00b4\u0167\u00b5", + "\u0169\u00b6\u016b\u00b7\u016d\u00b8\u016f\u00b9\u0171\u00ba\u0173\u00bb", + "\u0175\u00bc\u0177\u00bd\u0179\u00be\u017b\u00bf\u017d\u00c0\u017f\u00c1", + "\u0181\u00c2\u0183\u00c3\u0185\u00c4\u0187\u00c5\u0189\u00c6\u018b\u00c7", + "\u018d\u00c8\u018f\u00c9\u0191\u00ca\u0193\u00cb\u0195\u00cc\u0197\u00cd", + "\u0199\u00ce\u019b\u00cf\u019d\u00d0\u019f\u00d1\u01a1\u00d2\u01a3\u00d3", + "\u01a5\u00d4\u01a7\u00d5\u01a9\u00d6\u01ab\u00d7\u01ad\u00d8\u01af\u00d9", + "\u01b1\u00da\u01b3\u00db\u01b5\u00dc\u01b7\u00dd\u01b9\u00de\u01bb\u00df", + "\u01bd\u00e0\u01bf\u00e1\u01c1\u00e2\u01c3\u00e3\u01c5\u00e4\u01c7\u00e5", + "\u01c9\u00e6\u01cb\u00e7\u01cd\u00e8\u01cf\u00e9\u01d1\u00ea\u01d3\u00eb", + "\u01d5\u00ec\u01d7\u00ed\u01d9\u00ee\u01db\u00ef\u01dd\u00f0\u01df\u00f1", + "\u01e1\u00f2\u01e3\u00f3\u01e5\u00f4\u01e7\u00f5\u01e9\u00f6\u01eb\u00f7", + "\u01ed\u00f8\u01ef\u00f9\u01f1\u00fa\u01f3\u00fb\u01f5\u00fc\u01f7\u00fd", + "\u01f9\u00fe\u01fb\u00ff\u01fd\u0100\u01ff\u0101\u0201\u0102\u0203\u0103", + "\u0205\u0104\u0207\u0105\u0209\u0106\u020b\u0107\u020d\u0108\u020f\u0109", + "\u0211\u010a\u0213\u010b\u0215\u010c\u0217\u010d\u0219\u010e\u021b\u010f", + "\u021d\u0110\u021f\u0111\u0221\u0112\u0223\u0113\u0225\u0114\u0227\u0115", + "\u0229\u0116\u022b\u0117\u022d\u0118\u022f\u0119\u0231\u011a\u0233\u011b", + "\u0235\u011c\u0237\u011d\u0239\u011e\u023b\u011f\u023d\u0120\u023f\u0121", + "\u0241\u0122\u0243\u0123\u0245\u0124\u0247\u0125\u0249\u0126\u024b\u0127", + "\u024d\u0128\u024f\u0129\u0251\u012a\u0253\u012b\u0255\u012c\u0257\u012d", + "\u0259\u012e\u025b\u012f\u025d\u0130\u025f\u0131\u0261\u0132\u0263\u0133", + "\u0265\u0134\u0267\u0135\u0269\u0136\u026b\u0137\u026d\u0138\u026f\u0139", + "\u0271\u013a\u0273\u013b\u0275\u013c\u0277\u013d\u0279\u013e\u027b\u013f", + "\u027d\u0140\u027f\u0141\u0281\u0142\u0283\u0143\u0285\u0144\u0287\u0145", + "\u0289\u0146\u028b\u0147\u028d\u0148\u028f\u0149\u0291\u014a\u0293\u014b", + "\u0295\u014c\u0297\u014d\u0299\u014e\u029b\u014f\u029d\u0150\u029f\u0151", + "\u02a1\u0152\u02a3\u0153\u02a5\u0154\u02a7\u0155\u02a9\u0156\u02ab\u0157", + "\u02ad\u0158\u02af\u0159\u02b1\u015a\u02b3\u015b\u02b5\u015c\u02b7\u015d", + "\u02b9\u015e\u02bb\u015f\u02bd\u0160\u02bf\u0161\u02c1\u0162\u02c3\u0163", + "\u02c5\u0164\u02c7\u0165\u02c9\u0166\u02cb\u0167\u02cd\u0168\u02cf\u0169", + "\u02d1\u016a\u02d3\u016b\u02d5\u016c\u02d7\u016d\u02d9\u016e\u02db\u016f", + "\u02dd\u0170\u02df\u0171\u02e1\u0172\u02e3\u0173\u02e5\u0174\u02e7\u0175", + "\u02e9\u0176\u02eb\u0177\u02ed\u0178\u02ef\u0179\u02f1\u017a\u02f3\u017b", + "\u02f5\u017c\u02f7\u017d\u02f9\u017e\u02fb\u017f\u02fd\u0180\u02ff\u0181", + "\u0301\u0182\u0303\u0183\u0305\u0184\u0307\u0185\u0309\u0186\u030b\u0187", + "\u030d\u0188\u030f\u0189\u0311\u018a\u0313\u018b\u0315\u018c\u0317\u018d", + "\u0319\u018e\u031b\u018f\u031d\u0190\u031f\u0191\u0321\u0192\u0323\u0193", + "\u0325\u0194\u0327\u0195\u0329\u0196\u032b\u0197\u032d\u0198\u032f\u0199", + "\u0331\u019a\u0333\u019b\u0335\u019c\u0337\u019d\u0339\u019e\u033b\u019f", + "\u033d\u01a0\u033f\u01a1\u0341\u01a2\u0343\u01a3\u0345\u01a4\u0347\u01a5", + "\u0349\u01a6\u034b\u01a7\u034d\u01a8\u034f\u01a9\u0351\u01aa\u0353\u01ab", + "\u0355\u01ac\u0357\u01ad\u0359\u01ae\u035b\u01af\u035d\u01b0\u035f\u01b1", + "\u0361\u01b2\u0363\u01b3\u0365\u01b4\u0367\u01b5\u0369\u01b6\u036b\u01b7", + "\u036d\u01b8\u036f\u01b9\u0371\u01ba\u0373\u01bb\u0375\u01bc\u0377\u01bd", + "\u0379\u01be\u037b\u01bf\u037d\u01c0\u037f\u01c1\u0381\u01c2\u0383\u01c3", + "\u0385\u01c4\u0387\u01c5\u0389\u01c6\u038b\u01c7\u038d\u01c8\u038f\u01c9", + "\u0391\u01ca\u0393\u01cb\u0395\u01cc\u0397\u01cd\u0399\u01ce\u039b\u01cf", + "\u039d\u01d0\u039f\u01d1\u03a1\u01d2\u03a3\u01d3\u03a5\u01d4\u03a7\u01d5", + "\u03a9\u01d6\u03ab\u01d7\u03ad\u01d8\u03af\u01d9\u03b1\u01da\u03b3\u01db", + "\u03b5\u01dc\u03b7\u01dd\u03b9\u01de\u03bb\u01df\u03bd\u01e0\u03bf\u01e1", + "\u03c1\u01e2\u03c3\u01e3\u03c5\u01e4\u03c7\u01e5\u03c9\u01e6\u03cb\u01e7", + "\u03cd\u01e8\u03cf\u01e9\u03d1\u01ea\u03d3\u01eb\u03d5\u01ec\u03d7\u01ed", + "\u03d9\u01ee\u03db\u01ef\u03dd\u01f0\u03df\u01f1\u03e1\u01f2\u03e3\u01f3", + "\u03e5\u01f4\u03e7\u01f5\u03e9\u01f6\u03eb\u01f7\u03ed\u01f8\u03ef\u01f9", + "\u03f1\u01fa\u03f3\u01fb\u03f5\u01fc\u03f7\u01fd\u03f9\u01fe\u03fb\u01ff", + "\u03fd\u0200\u03ff\u0201\u0401\u0202\u0403\u0203\u0405\u0204\u0407\u0205", + "\u0409\u0206\u040b\u0207\u040d\u0208\u040f\u0209\u0411\u020a\u0413\u020b", + "\u0415\u020c\u0417\u020d\u0419\u020e\u041b\u020f\u041d\u0210\u041f\u0211", + "\u0421\u0212\u0423\u0213\u0425\u0214\u0427\u0215\u0429\u0216\u042b\u0217", + "\u042d\u0218\u042f\u0219\u0431\u021a\u0433\u021b\u0435\u021c\u0437\u021d", + "\u0439\u021e\u043b\u021f\u043d\u0220\u043f\u0221\u0441\u0222\u0443\u0223", + "\u0445\u0224\u0447\u0225\u0449\u0226\u044b\u0227\u044d\u0228\u044f\u0229", + "\u0451\u022a\u0453\u022b\u0455\u022c\u0457\u022d\u0459\u022e\u045b\u022f", + "\u045d\u0230\u045f\u0231\u0461\u0232\u0463\u0233\u0465\u0234\u0467\u0235", + "\u0469\u0236\u046b\u0237\u046d\u0238\u046f\u0239\u0471\u023a\u0473\u023b", + "\u0475\u023c\u0477\u023d\u0479\u023e\u047b\u023f\u047d\u0240\u047f\u0241", + "\u0481\u0242\u0483\u0243\u0485\u0244\u0487\u0245\u0489\u0246\u048b\u0247", + "\u048d\u0248\u048f\u0249\u0491\u024a\u0493\u024b\u0495\u024c\u0497\u024d", + "\u0499\u024e\u049b\u024f\u049d\u0250\u049f\u0251\u04a1\u0252\u04a3\u0253", + "\u04a5\u0254\u04a7\u0255\u04a9\u0256\u04ab\u0257\u04ad\u0258\u04af\u0259", + "\u04b1\u025a\u04b3\u025b\u04b5\u025c\u04b7\u025d\u04b9\u025e\u04bb\u025f", + "\u04bd\u0260\u04bf\u0261\u04c1\u0262\u04c3\u0263\u04c5\u0264\u04c7\u0265", + "\u04c9\u0266\u04cb\u0267\u04cd\u0268\u04cf\u0269\u04d1\u026a\u04d3\u026b", + "\u04d5\u026c\u04d7\u026d\u04d9\u026e\u04db\u026f\u04dd\u0270\u04df\u0271", + "\u04e1\u0272\u04e3\u0273\u04e5\u0274\u04e7\u0275\u04e9\u0276\u04eb\u0277", + "\u04ed\u0278\u04ef\u0279\u04f1\u027a\u04f3\u027b\u04f5\u027c\u04f7\u027d", + "\u04f9\u027e\u04fb\u027f\u04fd\u0280\u04ff\u0281\u0501\u0282\u0503\u0283", + "\u0505\u0284\u0507\u0285\u0509\u0286\u050b\u0287\u050d\u0288\u050f\u0289", + "\u0511\u028a\u0513\u028b\u0515\u028c\u0517\u028d\u0519\u028e\u051b\u028f", + "\u051d\u0290\u051f\u0291\u0521\u0292\u0523\u0293\u0525\u0294\u0527\u0295", + "\u0529\u0296\u052b\u0297\u052d\u0298\u052f\u0299\u0531\u029a\u0533\u029b", + "\u0535\u029c\u0537\u029d\u0539\u029e\u053b\u029f\u053d\u02a0\u053f\u02a1", + "\u0541\u02a2\u0543\u02a3\u0545\u02a4\u0547\u02a5\u0549\u02a6\u054b\u02a7", + "\u054d\u02a8\u054f\u02a9\u0551\u02aa\u0553\u02ab\u0555\u02ac\u0557\u02ad", + "\u0559\u02ae\u055b\u02af\u055d\u02b0\u055f\u02b1\u0561\u02b2\u0563\u02b3", + "\u0565\u02b4\u0567\u02b5\u0569\u02b6\u056b\u02b7\u056d\u02b8\u056f\u02b9", + "\u0571\u02ba\u0573\u02bb\u0575\u02bc\u0577\u02bd\u0579\u02be\u057b\u02bf", + "\u057d\u02c0\u057f\u02c1\u0581\u02c2\u0583\u02c3\u0585\u02c4\u0587\u02c5", + "\u0589\u02c6\u058b\u02c7\u058d\u02c8\u058f\u02c9\u0591\u02ca\u0593\u02cb", + "\u0595\u02cc\u0597\u02cd\u0599\u02ce\u059b\u02cf\u059d\u02d0\u059f\u02d1", + "\u05a1\u02d2\u05a3\u02d3\u05a5\u02d4\u05a7\u02d5\u05a9\u02d6\u05ab\u02d7", + "\u05ad\u02d8\u05af\u02d9\u05b1\u02da\u05b3\u02db\u05b5\u02dc\u05b7\u02dd", + "\u05b9\u02de\u05bb\u02df\u05bd\u02e0\u05bf\u02e1\u05c1\u02e2\u05c3\u02e3", + "\u05c5\u02e4\u05c7\u02e5\u05c9\u02e6\u05cb\u02e7\u05cd\u02e8\u05cf\u02e9", + "\u05d1\u02ea\u05d3\u02eb\u05d5\u02ec\u05d7\u02ed\u05d9\u02ee\u05db\u02ef", + "\u05dd\u02f0\u05df\u02f1\u05e1\u02f2\u05e3\u02f3\u05e5\u02f4\u05e7\u02f5", + "\u05e9\u02f6\u05eb\u02f7\u05ed\u02f8\u05ef\u02f9\u05f1\u02fa\u05f3\u02fb", + "\u05f5\u02fc\u05f7\u02fd\u05f9\u02fe\u05fb\u02ff\u05fd\u0300\u05ff\u0301", + "\u0601\u0302\u0603\u0303\u0605\u0304\u0607\u0305\u0609\u0306\u060b\u0307", + "\u060d\u0308\u060f\u0309\u0611\u030a\u0613\u030b\u0615\u030c\u0617\u030d", + "\u0619\u030e\u061b\u030f\u061d\u0310\u061f\u0311\u0621\u0312\u0623\u0313", + "\u0625\u0314\u0627\u0315\u0629\u0316\u062b\u0317\u062d\u0318\u062f\u0319", + "\u0631\u031a\u0633\u031b\u0635\u031c\u0637\u031d\u0639\u031e\u063b\u031f", + "\u063d\u0320\u063f\u0321\u0641\u0322\u0643\u0323\u0645\u0324\u0647\u0325", + "\u0649\u0326\u064b\u0327\u064d\u0328\u064f\u0329\u0651\u032a\u0653\u032b", + "\u0655\u032c\u0657\u032d\u0659\u032e\u065b\u032f\u065d\u0330\u065f\u0331", + "\u0661\u0332\u0663\u0333\u0665\u0334\u0667\u0335\u0669\u0336\u066b\u0337", + "\u066d\u0338\u066f\u0339\u0671\u033a\u0673\u033b\u0675\u033c\u0677\u033d", + "\u0679\u033e\u067b\u033f\u067d\u0340\u067f\u0341\u0681\u0342\u0683\u0343", + "\u0685\u0344\u0687\u0345\u0689\u0346\u068b\u0347\u068d\u0348\u068f\u0349", + "\u0691\u034a\u0693\u034b\u0695\u034c\u0697\u034d\u0699\u034e\u069b\u034f", + "\u069d\u0350\u069f\u0351\u06a1\u0352\u06a3\u0353\u06a5\u0354\u06a7\u0355", + "\u06a9\u0356\u06ab\u0357\u06ad\u0358\u06af\u0359\u06b1\u035a\u06b3\u035b", + "\u06b5\u035c\u06b7\u035d\u06b9\u035e\u06bb\u035f\u06bd\u0360\u06bf\u0361", + "\u06c1\u0362\u06c3\u0363\u06c5\u0364\u06c7\u0365\u06c9\u0366\u06cb\u0367", + "\u06cd\u0368\u06cf\u0369\u06d1\u036a\u06d3\u036b\u06d5\u036c\u06d7\u036d", + "\u06d9\u036e\u06db\u036f\u06dd\u0370\u06df\u0371\u06e1\u0372\u06e3\u0373", + "\u06e5\u0374\u06e7\u0375\u06e9\u0376\u06eb\u0377\u06ed\u0378\u06ef\u0379", + "\u06f1\u037a\u06f3\u037b\u06f5\u037c\u06f7\u037d\u06f9\u037e\u06fb\u037f", + "\u06fd\u0380\u06ff\u0381\u0701\u0382\u0703\u0383\u0705\u0384\u0707\u0385", + "\u0709\u0386\u070b\u0387\u070d\u0388\u070f\u0389\u0711\u038a\u0713\u038b", + "\u0715\u038c\u0717\u038d\u0719\u038e\u071b\u038f\u071d\u0390\u071f\u0391", + "\u0721\u0392\u0723\u0393\u0725\u0394\u0727\u0395\u0729\u0396\u072b\u0397", + "\u072d\u0398\u072f\u0399\u0731\u039a\u0733\u039b\u0735\u039c\u0737\u039d", + "\u0739\u039e\u073b\u039f\u073d\u03a0\u073f\u03a1\u0741\u03a2\u0743\u03a3", + "\u0745\u03a4\u0747\u03a5\u0749\u03a6\u074b\u03a7\u074d\u03a8\u074f\u03a9", + "\u0751\u03aa\u0753\u03ab\u0755\u03ac\u0757\u03ad\u0759\u03ae\u075b\u03af", + "\u075d\u03b0\u075f\u03b1\u0761\u03b2\u0763\u03b3\u0765\u03b4\u0767\u03b5", + "\u0769\u03b6\u076b\u03b7\u076d\u03b8\u076f\u03b9\u0771\u03ba\u0773\u03bb", + "\u0775\u03bc\u0777\u03bd\u0779\u03be\u077b\u03bf\u077d\u03c0\u077f\u03c1", + "\u0781\u03c2\u0783\u03c3\u0785\u03c4\u0787\u03c5\u0789\u03c6\u078b\u03c7", + "\u078d\u03c8\u078f\u03c9\u0791\u03ca\u0793\u03cb\u0795\u03cc\u0797\u03cd", + "\u0799\u03ce\u079b\u03cf\u079d\u03d0\u079f\u03d1\u07a1\u03d2\u07a3\u03d3", + "\u07a5\u03d4\u07a7\u03d5\u07a9\u03d6\u07ab\u03d7\u07ad\u03d8\u07af\u03d9", + "\u07b1\u03da\u07b3\u03db\u07b5\u03dc\u07b7\u03dd\u07b9\u03de\u07bb\u03df", + "\u07bd\u03e0\u07bf\u03e1\u07c1\u03e2\u07c3\u03e3\u07c5\u03e4\u07c7\u03e5", + "\u07c9\u03e6\u07cb\u03e7\u07cd\u03e8\u07cf\u03e9\u07d1\u03ea\u07d3\u03eb", + "\u07d5\u03ec\u07d7\u03ed\u07d9\u03ee\u07db\u03ef\u07dd\u03f0\u07df\u03f1", + "\u07e1\u03f2\u07e3\u03f3\u07e5\u03f4\u07e7\u03f5\u07e9\u03f6\u07eb\u03f7", + "\u07ed\u03f8\u07ef\u03f9\u07f1\u03fa\u07f3\u03fb\u07f5\u03fc\u07f7\u03fd", + "\u07f9\u03fe\u07fb\u03ff\u07fd\u0400\u07ff\u0401\u0801\u0402\u0803\u0403", + "\u0805\u0404\u0807\u0405\u0809\u0406\u080b\u0407\u080d\u0408\u080f\u0409", + "\u0811\u0002\u0813\u040a\u0815\u040b\u0817\u040c\u0819\u040d\u081b\u040e", + "\u081d\u040f\u081f\u0410\u0821\u0411\u0823\u0412\u0825\u0413\u0827\u0414", + "\u0829\u0415\u082b\u0416\u082d\u0417\u082f\u0418\u0831\u0419\u0833\u0002", + "\u0835\u0002\u0837\u0002\u0839\u0002\u083b\u0002\u083d\u0002\u083f\u0002", + "\u0841\u0002\u0843\u0002\u0845\u041a\u0003\u0002\u0010\u0005\u0002\u000b", + "\f\u000f\u000f\"\"\u0004\u0002\f\f\u000f\u000f\u0006\u0002IIMMOOVV\u0003", + "\u0002bb\u0007\u0002&&002;C\\aa\u0004\u0002--//\u0006\u0002&&2;C\\a", + "a\u0005\u0002&&C\\aa\u0004\u0002$$^^\u0004\u0002))^^\u0004\u0002^^b", + "b\u0004\u00022;CH\u0003\u00022;\u0003\u000223\u0002\u2fbe\u0002\u0003", + "\u0003\u0002\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002\u0002\u0007", + "\u0003\u0002\u0002\u0002\u0002\t\u0003\u0002\u0002\u0002\u0002\u000b", + "\u0003\u0002\u0002\u0002\u0002\r\u0003\u0002\u0002\u0002\u0002\u000f", + "\u0003\u0002\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002\u0002\u0013", + "\u0003\u0002\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002\u0002\u0017", + "\u0003\u0002\u0002\u0002\u0002\u0019\u0003\u0002\u0002\u0002\u0002\u001b", + "\u0003\u0002\u0002\u0002\u0002\u001d\u0003\u0002\u0002\u0002\u0002\u001f", + "\u0003\u0002\u0002\u0002\u0002!\u0003\u0002\u0002\u0002\u0002#\u0003", + "\u0002\u0002\u0002\u0002%\u0003\u0002\u0002\u0002\u0002\'\u0003\u0002", + "\u0002\u0002\u0002)\u0003\u0002\u0002\u0002\u0002+\u0003\u0002\u0002", + "\u0002\u0002-\u0003\u0002\u0002\u0002\u0002/\u0003\u0002\u0002\u0002", + "\u00021\u0003\u0002\u0002\u0002\u00023\u0003\u0002\u0002\u0002\u0002", + "5\u0003\u0002\u0002\u0002\u00027\u0003\u0002\u0002\u0002\u00029\u0003", + "\u0002\u0002\u0002\u0002;\u0003\u0002\u0002\u0002\u0002=\u0003\u0002", + "\u0002\u0002\u0002?\u0003\u0002\u0002\u0002\u0002A\u0003\u0002\u0002", + "\u0002\u0002C\u0003\u0002\u0002\u0002\u0002E\u0003\u0002\u0002\u0002", + "\u0002G\u0003\u0002\u0002\u0002\u0002I\u0003\u0002\u0002\u0002\u0002", + "K\u0003\u0002\u0002\u0002\u0002M\u0003\u0002\u0002\u0002\u0002O\u0003", + "\u0002\u0002\u0002\u0002Q\u0003\u0002\u0002\u0002\u0002S\u0003\u0002", + "\u0002\u0002\u0002U\u0003\u0002\u0002\u0002\u0002W\u0003\u0002\u0002", + "\u0002\u0002Y\u0003\u0002\u0002\u0002\u0002[\u0003\u0002\u0002\u0002", + "\u0002]\u0003\u0002\u0002\u0002\u0002_\u0003\u0002\u0002\u0002\u0002", + "a\u0003\u0002\u0002\u0002\u0002c\u0003\u0002\u0002\u0002\u0002e\u0003", + "\u0002\u0002\u0002\u0002g\u0003\u0002\u0002\u0002\u0002i\u0003\u0002", + "\u0002\u0002\u0002k\u0003\u0002\u0002\u0002\u0002m\u0003\u0002\u0002", + "\u0002\u0002o\u0003\u0002\u0002\u0002\u0002q\u0003\u0002\u0002\u0002", + "\u0002s\u0003\u0002\u0002\u0002\u0002u\u0003\u0002\u0002\u0002\u0002", + "w\u0003\u0002\u0002\u0002\u0002y\u0003\u0002\u0002\u0002\u0002{\u0003", + "\u0002\u0002\u0002\u0002}\u0003\u0002\u0002\u0002\u0002\u007f\u0003", + "\u0002\u0002\u0002\u0002\u0081\u0003\u0002\u0002\u0002\u0002\u0083\u0003", + "\u0002\u0002\u0002\u0002\u0085\u0003\u0002\u0002\u0002\u0002\u0087\u0003", + "\u0002\u0002\u0002\u0002\u0089\u0003\u0002\u0002\u0002\u0002\u008b\u0003", + "\u0002\u0002\u0002\u0002\u008d\u0003\u0002\u0002\u0002\u0002\u008f\u0003", + "\u0002\u0002\u0002\u0002\u0091\u0003\u0002\u0002\u0002\u0002\u0093\u0003", + "\u0002\u0002\u0002\u0002\u0095\u0003\u0002\u0002\u0002\u0002\u0097\u0003", + "\u0002\u0002\u0002\u0002\u0099\u0003\u0002\u0002\u0002\u0002\u009b\u0003", + "\u0002\u0002\u0002\u0002\u009d\u0003\u0002\u0002\u0002\u0002\u009f\u0003", + "\u0002\u0002\u0002\u0002\u00a1\u0003\u0002\u0002\u0002\u0002\u00a3\u0003", + "\u0002\u0002\u0002\u0002\u00a5\u0003\u0002\u0002\u0002\u0002\u00a7\u0003", + "\u0002\u0002\u0002\u0002\u00a9\u0003\u0002\u0002\u0002\u0002\u00ab\u0003", + "\u0002\u0002\u0002\u0002\u00ad\u0003\u0002\u0002\u0002\u0002\u00af\u0003", + "\u0002\u0002\u0002\u0002\u00b1\u0003\u0002\u0002\u0002\u0002\u00b3\u0003", + "\u0002\u0002\u0002\u0002\u00b5\u0003\u0002\u0002\u0002\u0002\u00b7\u0003", + "\u0002\u0002\u0002\u0002\u00b9\u0003\u0002\u0002\u0002\u0002\u00bb\u0003", + "\u0002\u0002\u0002\u0002\u00bd\u0003\u0002\u0002\u0002\u0002\u00bf\u0003", + "\u0002\u0002\u0002\u0002\u00c1\u0003\u0002\u0002\u0002\u0002\u00c3\u0003", + "\u0002\u0002\u0002\u0002\u00c5\u0003\u0002\u0002\u0002\u0002\u00c7\u0003", + "\u0002\u0002\u0002\u0002\u00c9\u0003\u0002\u0002\u0002\u0002\u00cb\u0003", + "\u0002\u0002\u0002\u0002\u00cd\u0003\u0002\u0002\u0002\u0002\u00cf\u0003", + "\u0002\u0002\u0002\u0002\u00d1\u0003\u0002\u0002\u0002\u0002\u00d3\u0003", + "\u0002\u0002\u0002\u0002\u00d5\u0003\u0002\u0002\u0002\u0002\u00d7\u0003", + "\u0002\u0002\u0002\u0002\u00d9\u0003\u0002\u0002\u0002\u0002\u00db\u0003", + "\u0002\u0002\u0002\u0002\u00dd\u0003\u0002\u0002\u0002\u0002\u00df\u0003", + "\u0002\u0002\u0002\u0002\u00e1\u0003\u0002\u0002\u0002\u0002\u00e3\u0003", + "\u0002\u0002\u0002\u0002\u00e5\u0003\u0002\u0002\u0002\u0002\u00e7\u0003", + "\u0002\u0002\u0002\u0002\u00e9\u0003\u0002\u0002\u0002\u0002\u00eb\u0003", + "\u0002\u0002\u0002\u0002\u00ed\u0003\u0002\u0002\u0002\u0002\u00ef\u0003", + "\u0002\u0002\u0002\u0002\u00f1\u0003\u0002\u0002\u0002\u0002\u00f3\u0003", + "\u0002\u0002\u0002\u0002\u00f5\u0003\u0002\u0002\u0002\u0002\u00f7\u0003", + "\u0002\u0002\u0002\u0002\u00f9\u0003\u0002\u0002\u0002\u0002\u00fb\u0003", + "\u0002\u0002\u0002\u0002\u00fd\u0003\u0002\u0002\u0002\u0002\u00ff\u0003", + "\u0002\u0002\u0002\u0002\u0101\u0003\u0002\u0002\u0002\u0002\u0103\u0003", + "\u0002\u0002\u0002\u0002\u0105\u0003\u0002\u0002\u0002\u0002\u0107\u0003", + "\u0002\u0002\u0002\u0002\u0109\u0003\u0002\u0002\u0002\u0002\u010b\u0003", + "\u0002\u0002\u0002\u0002\u010d\u0003\u0002\u0002\u0002\u0002\u010f\u0003", + "\u0002\u0002\u0002\u0002\u0111\u0003\u0002\u0002\u0002\u0002\u0113\u0003", + "\u0002\u0002\u0002\u0002\u0115\u0003\u0002\u0002\u0002\u0002\u0117\u0003", + "\u0002\u0002\u0002\u0002\u0119\u0003\u0002\u0002\u0002\u0002\u011b\u0003", + "\u0002\u0002\u0002\u0002\u011d\u0003\u0002\u0002\u0002\u0002\u011f\u0003", + "\u0002\u0002\u0002\u0002\u0121\u0003\u0002\u0002\u0002\u0002\u0123\u0003", + "\u0002\u0002\u0002\u0002\u0125\u0003\u0002\u0002\u0002\u0002\u0127\u0003", + "\u0002\u0002\u0002\u0002\u0129\u0003\u0002\u0002\u0002\u0002\u012b\u0003", + "\u0002\u0002\u0002\u0002\u012d\u0003\u0002\u0002\u0002\u0002\u012f\u0003", + "\u0002\u0002\u0002\u0002\u0131\u0003\u0002\u0002\u0002\u0002\u0133\u0003", + "\u0002\u0002\u0002\u0002\u0135\u0003\u0002\u0002\u0002\u0002\u0137\u0003", + "\u0002\u0002\u0002\u0002\u0139\u0003\u0002\u0002\u0002\u0002\u013b\u0003", + "\u0002\u0002\u0002\u0002\u013d\u0003\u0002\u0002\u0002\u0002\u013f\u0003", + "\u0002\u0002\u0002\u0002\u0141\u0003\u0002\u0002\u0002\u0002\u0143\u0003", + "\u0002\u0002\u0002\u0002\u0145\u0003\u0002\u0002\u0002\u0002\u0147\u0003", + "\u0002\u0002\u0002\u0002\u0149\u0003\u0002\u0002\u0002\u0002\u014b\u0003", + "\u0002\u0002\u0002\u0002\u014d\u0003\u0002\u0002\u0002\u0002\u014f\u0003", + "\u0002\u0002\u0002\u0002\u0151\u0003\u0002\u0002\u0002\u0002\u0153\u0003", + "\u0002\u0002\u0002\u0002\u0155\u0003\u0002\u0002\u0002\u0002\u0157\u0003", + "\u0002\u0002\u0002\u0002\u0159\u0003\u0002\u0002\u0002\u0002\u015b\u0003", + "\u0002\u0002\u0002\u0002\u015d\u0003\u0002\u0002\u0002\u0002\u015f\u0003", + "\u0002\u0002\u0002\u0002\u0161\u0003\u0002\u0002\u0002\u0002\u0163\u0003", + "\u0002\u0002\u0002\u0002\u0165\u0003\u0002\u0002\u0002\u0002\u0167\u0003", + "\u0002\u0002\u0002\u0002\u0169\u0003\u0002\u0002\u0002\u0002\u016b\u0003", + "\u0002\u0002\u0002\u0002\u016d\u0003\u0002\u0002\u0002\u0002\u016f\u0003", + "\u0002\u0002\u0002\u0002\u0171\u0003\u0002\u0002\u0002\u0002\u0173\u0003", + "\u0002\u0002\u0002\u0002\u0175\u0003\u0002\u0002\u0002\u0002\u0177\u0003", + "\u0002\u0002\u0002\u0002\u0179\u0003\u0002\u0002\u0002\u0002\u017b\u0003", + "\u0002\u0002\u0002\u0002\u017d\u0003\u0002\u0002\u0002\u0002\u017f\u0003", + "\u0002\u0002\u0002\u0002\u0181\u0003\u0002\u0002\u0002\u0002\u0183\u0003", + "\u0002\u0002\u0002\u0002\u0185\u0003\u0002\u0002\u0002\u0002\u0187\u0003", + "\u0002\u0002\u0002\u0002\u0189\u0003\u0002\u0002\u0002\u0002\u018b\u0003", + "\u0002\u0002\u0002\u0002\u018d\u0003\u0002\u0002\u0002\u0002\u018f\u0003", + "\u0002\u0002\u0002\u0002\u0191\u0003\u0002\u0002\u0002\u0002\u0193\u0003", + "\u0002\u0002\u0002\u0002\u0195\u0003\u0002\u0002\u0002\u0002\u0197\u0003", + "\u0002\u0002\u0002\u0002\u0199\u0003\u0002\u0002\u0002\u0002\u019b\u0003", + "\u0002\u0002\u0002\u0002\u019d\u0003\u0002\u0002\u0002\u0002\u019f\u0003", + "\u0002\u0002\u0002\u0002\u01a1\u0003\u0002\u0002\u0002\u0002\u01a3\u0003", + "\u0002\u0002\u0002\u0002\u01a5\u0003\u0002\u0002\u0002\u0002\u01a7\u0003", + "\u0002\u0002\u0002\u0002\u01a9\u0003\u0002\u0002\u0002\u0002\u01ab\u0003", + "\u0002\u0002\u0002\u0002\u01ad\u0003\u0002\u0002\u0002\u0002\u01af\u0003", + "\u0002\u0002\u0002\u0002\u01b1\u0003\u0002\u0002\u0002\u0002\u01b3\u0003", + "\u0002\u0002\u0002\u0002\u01b5\u0003\u0002\u0002\u0002\u0002\u01b7\u0003", + "\u0002\u0002\u0002\u0002\u01b9\u0003\u0002\u0002\u0002\u0002\u01bb\u0003", + "\u0002\u0002\u0002\u0002\u01bd\u0003\u0002\u0002\u0002\u0002\u01bf\u0003", + "\u0002\u0002\u0002\u0002\u01c1\u0003\u0002\u0002\u0002\u0002\u01c3\u0003", + "\u0002\u0002\u0002\u0002\u01c5\u0003\u0002\u0002\u0002\u0002\u01c7\u0003", + "\u0002\u0002\u0002\u0002\u01c9\u0003\u0002\u0002\u0002\u0002\u01cb\u0003", + "\u0002\u0002\u0002\u0002\u01cd\u0003\u0002\u0002\u0002\u0002\u01cf\u0003", + "\u0002\u0002\u0002\u0002\u01d1\u0003\u0002\u0002\u0002\u0002\u01d3\u0003", + "\u0002\u0002\u0002\u0002\u01d5\u0003\u0002\u0002\u0002\u0002\u01d7\u0003", + "\u0002\u0002\u0002\u0002\u01d9\u0003\u0002\u0002\u0002\u0002\u01db\u0003", + "\u0002\u0002\u0002\u0002\u01dd\u0003\u0002\u0002\u0002\u0002\u01df\u0003", + "\u0002\u0002\u0002\u0002\u01e1\u0003\u0002\u0002\u0002\u0002\u01e3\u0003", + "\u0002\u0002\u0002\u0002\u01e5\u0003\u0002\u0002\u0002\u0002\u01e7\u0003", + "\u0002\u0002\u0002\u0002\u01e9\u0003\u0002\u0002\u0002\u0002\u01eb\u0003", + "\u0002\u0002\u0002\u0002\u01ed\u0003\u0002\u0002\u0002\u0002\u01ef\u0003", + "\u0002\u0002\u0002\u0002\u01f1\u0003\u0002\u0002\u0002\u0002\u01f3\u0003", + "\u0002\u0002\u0002\u0002\u01f5\u0003\u0002\u0002\u0002\u0002\u01f7\u0003", + "\u0002\u0002\u0002\u0002\u01f9\u0003\u0002\u0002\u0002\u0002\u01fb\u0003", + "\u0002\u0002\u0002\u0002\u01fd\u0003\u0002\u0002\u0002\u0002\u01ff\u0003", + "\u0002\u0002\u0002\u0002\u0201\u0003\u0002\u0002\u0002\u0002\u0203\u0003", + "\u0002\u0002\u0002\u0002\u0205\u0003\u0002\u0002\u0002\u0002\u0207\u0003", + "\u0002\u0002\u0002\u0002\u0209\u0003\u0002\u0002\u0002\u0002\u020b\u0003", + "\u0002\u0002\u0002\u0002\u020d\u0003\u0002\u0002\u0002\u0002\u020f\u0003", + "\u0002\u0002\u0002\u0002\u0211\u0003\u0002\u0002\u0002\u0002\u0213\u0003", + "\u0002\u0002\u0002\u0002\u0215\u0003\u0002\u0002\u0002\u0002\u0217\u0003", + "\u0002\u0002\u0002\u0002\u0219\u0003\u0002\u0002\u0002\u0002\u021b\u0003", + "\u0002\u0002\u0002\u0002\u021d\u0003\u0002\u0002\u0002\u0002\u021f\u0003", + "\u0002\u0002\u0002\u0002\u0221\u0003\u0002\u0002\u0002\u0002\u0223\u0003", + "\u0002\u0002\u0002\u0002\u0225\u0003\u0002\u0002\u0002\u0002\u0227\u0003", + "\u0002\u0002\u0002\u0002\u0229\u0003\u0002\u0002\u0002\u0002\u022b\u0003", + "\u0002\u0002\u0002\u0002\u022d\u0003\u0002\u0002\u0002\u0002\u022f\u0003", + "\u0002\u0002\u0002\u0002\u0231\u0003\u0002\u0002\u0002\u0002\u0233\u0003", + "\u0002\u0002\u0002\u0002\u0235\u0003\u0002\u0002\u0002\u0002\u0237\u0003", + "\u0002\u0002\u0002\u0002\u0239\u0003\u0002\u0002\u0002\u0002\u023b\u0003", + "\u0002\u0002\u0002\u0002\u023d\u0003\u0002\u0002\u0002\u0002\u023f\u0003", + "\u0002\u0002\u0002\u0002\u0241\u0003\u0002\u0002\u0002\u0002\u0243\u0003", + "\u0002\u0002\u0002\u0002\u0245\u0003\u0002\u0002\u0002\u0002\u0247\u0003", + "\u0002\u0002\u0002\u0002\u0249\u0003\u0002\u0002\u0002\u0002\u024b\u0003", + "\u0002\u0002\u0002\u0002\u024d\u0003\u0002\u0002\u0002\u0002\u024f\u0003", + "\u0002\u0002\u0002\u0002\u0251\u0003\u0002\u0002\u0002\u0002\u0253\u0003", + "\u0002\u0002\u0002\u0002\u0255\u0003\u0002\u0002\u0002\u0002\u0257\u0003", + "\u0002\u0002\u0002\u0002\u0259\u0003\u0002\u0002\u0002\u0002\u025b\u0003", + "\u0002\u0002\u0002\u0002\u025d\u0003\u0002\u0002\u0002\u0002\u025f\u0003", + "\u0002\u0002\u0002\u0002\u0261\u0003\u0002\u0002\u0002\u0002\u0263\u0003", + "\u0002\u0002\u0002\u0002\u0265\u0003\u0002\u0002\u0002\u0002\u0267\u0003", + "\u0002\u0002\u0002\u0002\u0269\u0003\u0002\u0002\u0002\u0002\u026b\u0003", + "\u0002\u0002\u0002\u0002\u026d\u0003\u0002\u0002\u0002\u0002\u026f\u0003", + "\u0002\u0002\u0002\u0002\u0271\u0003\u0002\u0002\u0002\u0002\u0273\u0003", + "\u0002\u0002\u0002\u0002\u0275\u0003\u0002\u0002\u0002\u0002\u0277\u0003", + "\u0002\u0002\u0002\u0002\u0279\u0003\u0002\u0002\u0002\u0002\u027b\u0003", + "\u0002\u0002\u0002\u0002\u027d\u0003\u0002\u0002\u0002\u0002\u027f\u0003", + "\u0002\u0002\u0002\u0002\u0281\u0003\u0002\u0002\u0002\u0002\u0283\u0003", + "\u0002\u0002\u0002\u0002\u0285\u0003\u0002\u0002\u0002\u0002\u0287\u0003", + "\u0002\u0002\u0002\u0002\u0289\u0003\u0002\u0002\u0002\u0002\u028b\u0003", + "\u0002\u0002\u0002\u0002\u028d\u0003\u0002\u0002\u0002\u0002\u028f\u0003", + "\u0002\u0002\u0002\u0002\u0291\u0003\u0002\u0002\u0002\u0002\u0293\u0003", + "\u0002\u0002\u0002\u0002\u0295\u0003\u0002\u0002\u0002\u0002\u0297\u0003", + "\u0002\u0002\u0002\u0002\u0299\u0003\u0002\u0002\u0002\u0002\u029b\u0003", + "\u0002\u0002\u0002\u0002\u029d\u0003\u0002\u0002\u0002\u0002\u029f\u0003", + "\u0002\u0002\u0002\u0002\u02a1\u0003\u0002\u0002\u0002\u0002\u02a3\u0003", + "\u0002\u0002\u0002\u0002\u02a5\u0003\u0002\u0002\u0002\u0002\u02a7\u0003", + "\u0002\u0002\u0002\u0002\u02a9\u0003\u0002\u0002\u0002\u0002\u02ab\u0003", + "\u0002\u0002\u0002\u0002\u02ad\u0003\u0002\u0002\u0002\u0002\u02af\u0003", + "\u0002\u0002\u0002\u0002\u02b1\u0003\u0002\u0002\u0002\u0002\u02b3\u0003", + "\u0002\u0002\u0002\u0002\u02b5\u0003\u0002\u0002\u0002\u0002\u02b7\u0003", + "\u0002\u0002\u0002\u0002\u02b9\u0003\u0002\u0002\u0002\u0002\u02bb\u0003", + "\u0002\u0002\u0002\u0002\u02bd\u0003\u0002\u0002\u0002\u0002\u02bf\u0003", + "\u0002\u0002\u0002\u0002\u02c1\u0003\u0002\u0002\u0002\u0002\u02c3\u0003", + "\u0002\u0002\u0002\u0002\u02c5\u0003\u0002\u0002\u0002\u0002\u02c7\u0003", + "\u0002\u0002\u0002\u0002\u02c9\u0003\u0002\u0002\u0002\u0002\u02cb\u0003", + "\u0002\u0002\u0002\u0002\u02cd\u0003\u0002\u0002\u0002\u0002\u02cf\u0003", + "\u0002\u0002\u0002\u0002\u02d1\u0003\u0002\u0002\u0002\u0002\u02d3\u0003", + "\u0002\u0002\u0002\u0002\u02d5\u0003\u0002\u0002\u0002\u0002\u02d7\u0003", + "\u0002\u0002\u0002\u0002\u02d9\u0003\u0002\u0002\u0002\u0002\u02db\u0003", + "\u0002\u0002\u0002\u0002\u02dd\u0003\u0002\u0002\u0002\u0002\u02df\u0003", + "\u0002\u0002\u0002\u0002\u02e1\u0003\u0002\u0002\u0002\u0002\u02e3\u0003", + "\u0002\u0002\u0002\u0002\u02e5\u0003\u0002\u0002\u0002\u0002\u02e7\u0003", + "\u0002\u0002\u0002\u0002\u02e9\u0003\u0002\u0002\u0002\u0002\u02eb\u0003", + "\u0002\u0002\u0002\u0002\u02ed\u0003\u0002\u0002\u0002\u0002\u02ef\u0003", + "\u0002\u0002\u0002\u0002\u02f1\u0003\u0002\u0002\u0002\u0002\u02f3\u0003", + "\u0002\u0002\u0002\u0002\u02f5\u0003\u0002\u0002\u0002\u0002\u02f7\u0003", + "\u0002\u0002\u0002\u0002\u02f9\u0003\u0002\u0002\u0002\u0002\u02fb\u0003", + "\u0002\u0002\u0002\u0002\u02fd\u0003\u0002\u0002\u0002\u0002\u02ff\u0003", + "\u0002\u0002\u0002\u0002\u0301\u0003\u0002\u0002\u0002\u0002\u0303\u0003", + "\u0002\u0002\u0002\u0002\u0305\u0003\u0002\u0002\u0002\u0002\u0307\u0003", + "\u0002\u0002\u0002\u0002\u0309\u0003\u0002\u0002\u0002\u0002\u030b\u0003", + "\u0002\u0002\u0002\u0002\u030d\u0003\u0002\u0002\u0002\u0002\u030f\u0003", + "\u0002\u0002\u0002\u0002\u0311\u0003\u0002\u0002\u0002\u0002\u0313\u0003", + "\u0002\u0002\u0002\u0002\u0315\u0003\u0002\u0002\u0002\u0002\u0317\u0003", + "\u0002\u0002\u0002\u0002\u0319\u0003\u0002\u0002\u0002\u0002\u031b\u0003", + "\u0002\u0002\u0002\u0002\u031d\u0003\u0002\u0002\u0002\u0002\u031f\u0003", + "\u0002\u0002\u0002\u0002\u0321\u0003\u0002\u0002\u0002\u0002\u0323\u0003", + "\u0002\u0002\u0002\u0002\u0325\u0003\u0002\u0002\u0002\u0002\u0327\u0003", + "\u0002\u0002\u0002\u0002\u0329\u0003\u0002\u0002\u0002\u0002\u032b\u0003", + "\u0002\u0002\u0002\u0002\u032d\u0003\u0002\u0002\u0002\u0002\u032f\u0003", + "\u0002\u0002\u0002\u0002\u0331\u0003\u0002\u0002\u0002\u0002\u0333\u0003", + "\u0002\u0002\u0002\u0002\u0335\u0003\u0002\u0002\u0002\u0002\u0337\u0003", + "\u0002\u0002\u0002\u0002\u0339\u0003\u0002\u0002\u0002\u0002\u033b\u0003", + "\u0002\u0002\u0002\u0002\u033d\u0003\u0002\u0002\u0002\u0002\u033f\u0003", + "\u0002\u0002\u0002\u0002\u0341\u0003\u0002\u0002\u0002\u0002\u0343\u0003", + "\u0002\u0002\u0002\u0002\u0345\u0003\u0002\u0002\u0002\u0002\u0347\u0003", + "\u0002\u0002\u0002\u0002\u0349\u0003\u0002\u0002\u0002\u0002\u034b\u0003", + "\u0002\u0002\u0002\u0002\u034d\u0003\u0002\u0002\u0002\u0002\u034f\u0003", + "\u0002\u0002\u0002\u0002\u0351\u0003\u0002\u0002\u0002\u0002\u0353\u0003", + "\u0002\u0002\u0002\u0002\u0355\u0003\u0002\u0002\u0002\u0002\u0357\u0003", + "\u0002\u0002\u0002\u0002\u0359\u0003\u0002\u0002\u0002\u0002\u035b\u0003", + "\u0002\u0002\u0002\u0002\u035d\u0003\u0002\u0002\u0002\u0002\u035f\u0003", + "\u0002\u0002\u0002\u0002\u0361\u0003\u0002\u0002\u0002\u0002\u0363\u0003", + "\u0002\u0002\u0002\u0002\u0365\u0003\u0002\u0002\u0002\u0002\u0367\u0003", + "\u0002\u0002\u0002\u0002\u0369\u0003\u0002\u0002\u0002\u0002\u036b\u0003", + "\u0002\u0002\u0002\u0002\u036d\u0003\u0002\u0002\u0002\u0002\u036f\u0003", + "\u0002\u0002\u0002\u0002\u0371\u0003\u0002\u0002\u0002\u0002\u0373\u0003", + "\u0002\u0002\u0002\u0002\u0375\u0003\u0002\u0002\u0002\u0002\u0377\u0003", + "\u0002\u0002\u0002\u0002\u0379\u0003\u0002\u0002\u0002\u0002\u037b\u0003", + "\u0002\u0002\u0002\u0002\u037d\u0003\u0002\u0002\u0002\u0002\u037f\u0003", + "\u0002\u0002\u0002\u0002\u0381\u0003\u0002\u0002\u0002\u0002\u0383\u0003", + "\u0002\u0002\u0002\u0002\u0385\u0003\u0002\u0002\u0002\u0002\u0387\u0003", + "\u0002\u0002\u0002\u0002\u0389\u0003\u0002\u0002\u0002\u0002\u038b\u0003", + "\u0002\u0002\u0002\u0002\u038d\u0003\u0002\u0002\u0002\u0002\u038f\u0003", + "\u0002\u0002\u0002\u0002\u0391\u0003\u0002\u0002\u0002\u0002\u0393\u0003", + "\u0002\u0002\u0002\u0002\u0395\u0003\u0002\u0002\u0002\u0002\u0397\u0003", + "\u0002\u0002\u0002\u0002\u0399\u0003\u0002\u0002\u0002\u0002\u039b\u0003", + "\u0002\u0002\u0002\u0002\u039d\u0003\u0002\u0002\u0002\u0002\u039f\u0003", + "\u0002\u0002\u0002\u0002\u03a1\u0003\u0002\u0002\u0002\u0002\u03a3\u0003", + "\u0002\u0002\u0002\u0002\u03a5\u0003\u0002\u0002\u0002\u0002\u03a7\u0003", + "\u0002\u0002\u0002\u0002\u03a9\u0003\u0002\u0002\u0002\u0002\u03ab\u0003", + "\u0002\u0002\u0002\u0002\u03ad\u0003\u0002\u0002\u0002\u0002\u03af\u0003", + "\u0002\u0002\u0002\u0002\u03b1\u0003\u0002\u0002\u0002\u0002\u03b3\u0003", + "\u0002\u0002\u0002\u0002\u03b5\u0003\u0002\u0002\u0002\u0002\u03b7\u0003", + "\u0002\u0002\u0002\u0002\u03b9\u0003\u0002\u0002\u0002\u0002\u03bb\u0003", + "\u0002\u0002\u0002\u0002\u03bd\u0003\u0002\u0002\u0002\u0002\u03bf\u0003", + "\u0002\u0002\u0002\u0002\u03c1\u0003\u0002\u0002\u0002\u0002\u03c3\u0003", + "\u0002\u0002\u0002\u0002\u03c5\u0003\u0002\u0002\u0002\u0002\u03c7\u0003", + "\u0002\u0002\u0002\u0002\u03c9\u0003\u0002\u0002\u0002\u0002\u03cb\u0003", + "\u0002\u0002\u0002\u0002\u03cd\u0003\u0002\u0002\u0002\u0002\u03cf\u0003", + "\u0002\u0002\u0002\u0002\u03d1\u0003\u0002\u0002\u0002\u0002\u03d3\u0003", + "\u0002\u0002\u0002\u0002\u03d5\u0003\u0002\u0002\u0002\u0002\u03d7\u0003", + "\u0002\u0002\u0002\u0002\u03d9\u0003\u0002\u0002\u0002\u0002\u03db\u0003", + "\u0002\u0002\u0002\u0002\u03dd\u0003\u0002\u0002\u0002\u0002\u03df\u0003", + "\u0002\u0002\u0002\u0002\u03e1\u0003\u0002\u0002\u0002\u0002\u03e3\u0003", + "\u0002\u0002\u0002\u0002\u03e5\u0003\u0002\u0002\u0002\u0002\u03e7\u0003", + "\u0002\u0002\u0002\u0002\u03e9\u0003\u0002\u0002\u0002\u0002\u03eb\u0003", + "\u0002\u0002\u0002\u0002\u03ed\u0003\u0002\u0002\u0002\u0002\u03ef\u0003", + "\u0002\u0002\u0002\u0002\u03f1\u0003\u0002\u0002\u0002\u0002\u03f3\u0003", + "\u0002\u0002\u0002\u0002\u03f5\u0003\u0002\u0002\u0002\u0002\u03f7\u0003", + "\u0002\u0002\u0002\u0002\u03f9\u0003\u0002\u0002\u0002\u0002\u03fb\u0003", + "\u0002\u0002\u0002\u0002\u03fd\u0003\u0002\u0002\u0002\u0002\u03ff\u0003", + "\u0002\u0002\u0002\u0002\u0401\u0003\u0002\u0002\u0002\u0002\u0403\u0003", + "\u0002\u0002\u0002\u0002\u0405\u0003\u0002\u0002\u0002\u0002\u0407\u0003", + "\u0002\u0002\u0002\u0002\u0409\u0003\u0002\u0002\u0002\u0002\u040b\u0003", + "\u0002\u0002\u0002\u0002\u040d\u0003\u0002\u0002\u0002\u0002\u040f\u0003", + "\u0002\u0002\u0002\u0002\u0411\u0003\u0002\u0002\u0002\u0002\u0413\u0003", + "\u0002\u0002\u0002\u0002\u0415\u0003\u0002\u0002\u0002\u0002\u0417\u0003", + "\u0002\u0002\u0002\u0002\u0419\u0003\u0002\u0002\u0002\u0002\u041b\u0003", + "\u0002\u0002\u0002\u0002\u041d\u0003\u0002\u0002\u0002\u0002\u041f\u0003", + "\u0002\u0002\u0002\u0002\u0421\u0003\u0002\u0002\u0002\u0002\u0423\u0003", + "\u0002\u0002\u0002\u0002\u0425\u0003\u0002\u0002\u0002\u0002\u0427\u0003", + "\u0002\u0002\u0002\u0002\u0429\u0003\u0002\u0002\u0002\u0002\u042b\u0003", + "\u0002\u0002\u0002\u0002\u042d\u0003\u0002\u0002\u0002\u0002\u042f\u0003", + "\u0002\u0002\u0002\u0002\u0431\u0003\u0002\u0002\u0002\u0002\u0433\u0003", + "\u0002\u0002\u0002\u0002\u0435\u0003\u0002\u0002\u0002\u0002\u0437\u0003", + "\u0002\u0002\u0002\u0002\u0439\u0003\u0002\u0002\u0002\u0002\u043b\u0003", + "\u0002\u0002\u0002\u0002\u043d\u0003\u0002\u0002\u0002\u0002\u043f\u0003", + "\u0002\u0002\u0002\u0002\u0441\u0003\u0002\u0002\u0002\u0002\u0443\u0003", + "\u0002\u0002\u0002\u0002\u0445\u0003\u0002\u0002\u0002\u0002\u0447\u0003", + "\u0002\u0002\u0002\u0002\u0449\u0003\u0002\u0002\u0002\u0002\u044b\u0003", + "\u0002\u0002\u0002\u0002\u044d\u0003\u0002\u0002\u0002\u0002\u044f\u0003", + "\u0002\u0002\u0002\u0002\u0451\u0003\u0002\u0002\u0002\u0002\u0453\u0003", + "\u0002\u0002\u0002\u0002\u0455\u0003\u0002\u0002\u0002\u0002\u0457\u0003", + "\u0002\u0002\u0002\u0002\u0459\u0003\u0002\u0002\u0002\u0002\u045b\u0003", + "\u0002\u0002\u0002\u0002\u045d\u0003\u0002\u0002\u0002\u0002\u045f\u0003", + "\u0002\u0002\u0002\u0002\u0461\u0003\u0002\u0002\u0002\u0002\u0463\u0003", + "\u0002\u0002\u0002\u0002\u0465\u0003\u0002\u0002\u0002\u0002\u0467\u0003", + "\u0002\u0002\u0002\u0002\u0469\u0003\u0002\u0002\u0002\u0002\u046b\u0003", + "\u0002\u0002\u0002\u0002\u046d\u0003\u0002\u0002\u0002\u0002\u046f\u0003", + "\u0002\u0002\u0002\u0002\u0471\u0003\u0002\u0002\u0002\u0002\u0473\u0003", + "\u0002\u0002\u0002\u0002\u0475\u0003\u0002\u0002\u0002\u0002\u0477\u0003", + "\u0002\u0002\u0002\u0002\u0479\u0003\u0002\u0002\u0002\u0002\u047b\u0003", + "\u0002\u0002\u0002\u0002\u047d\u0003\u0002\u0002\u0002\u0002\u047f\u0003", + "\u0002\u0002\u0002\u0002\u0481\u0003\u0002\u0002\u0002\u0002\u0483\u0003", + "\u0002\u0002\u0002\u0002\u0485\u0003\u0002\u0002\u0002\u0002\u0487\u0003", + "\u0002\u0002\u0002\u0002\u0489\u0003\u0002\u0002\u0002\u0002\u048b\u0003", + "\u0002\u0002\u0002\u0002\u048d\u0003\u0002\u0002\u0002\u0002\u048f\u0003", + "\u0002\u0002\u0002\u0002\u0491\u0003\u0002\u0002\u0002\u0002\u0493\u0003", + "\u0002\u0002\u0002\u0002\u0495\u0003\u0002\u0002\u0002\u0002\u0497\u0003", + "\u0002\u0002\u0002\u0002\u0499\u0003\u0002\u0002\u0002\u0002\u049b\u0003", + "\u0002\u0002\u0002\u0002\u049d\u0003\u0002\u0002\u0002\u0002\u049f\u0003", + "\u0002\u0002\u0002\u0002\u04a1\u0003\u0002\u0002\u0002\u0002\u04a3\u0003", + "\u0002\u0002\u0002\u0002\u04a5\u0003\u0002\u0002\u0002\u0002\u04a7\u0003", + "\u0002\u0002\u0002\u0002\u04a9\u0003\u0002\u0002\u0002\u0002\u04ab\u0003", + "\u0002\u0002\u0002\u0002\u04ad\u0003\u0002\u0002\u0002\u0002\u04af\u0003", + "\u0002\u0002\u0002\u0002\u04b1\u0003\u0002\u0002\u0002\u0002\u04b3\u0003", + "\u0002\u0002\u0002\u0002\u04b5\u0003\u0002\u0002\u0002\u0002\u04b7\u0003", + "\u0002\u0002\u0002\u0002\u04b9\u0003\u0002\u0002\u0002\u0002\u04bb\u0003", + "\u0002\u0002\u0002\u0002\u04bd\u0003\u0002\u0002\u0002\u0002\u04bf\u0003", + "\u0002\u0002\u0002\u0002\u04c1\u0003\u0002\u0002\u0002\u0002\u04c3\u0003", + "\u0002\u0002\u0002\u0002\u04c5\u0003\u0002\u0002\u0002\u0002\u04c7\u0003", + "\u0002\u0002\u0002\u0002\u04c9\u0003\u0002\u0002\u0002\u0002\u04cb\u0003", + "\u0002\u0002\u0002\u0002\u04cd\u0003\u0002\u0002\u0002\u0002\u04cf\u0003", + "\u0002\u0002\u0002\u0002\u04d1\u0003\u0002\u0002\u0002\u0002\u04d3\u0003", + "\u0002\u0002\u0002\u0002\u04d5\u0003\u0002\u0002\u0002\u0002\u04d7\u0003", + "\u0002\u0002\u0002\u0002\u04d9\u0003\u0002\u0002\u0002\u0002\u04db\u0003", + "\u0002\u0002\u0002\u0002\u04dd\u0003\u0002\u0002\u0002\u0002\u04df\u0003", + "\u0002\u0002\u0002\u0002\u04e1\u0003\u0002\u0002\u0002\u0002\u04e3\u0003", + "\u0002\u0002\u0002\u0002\u04e5\u0003\u0002\u0002\u0002\u0002\u04e7\u0003", + "\u0002\u0002\u0002\u0002\u04e9\u0003\u0002\u0002\u0002\u0002\u04eb\u0003", + "\u0002\u0002\u0002\u0002\u04ed\u0003\u0002\u0002\u0002\u0002\u04ef\u0003", + "\u0002\u0002\u0002\u0002\u04f1\u0003\u0002\u0002\u0002\u0002\u04f3\u0003", + "\u0002\u0002\u0002\u0002\u04f5\u0003\u0002\u0002\u0002\u0002\u04f7\u0003", + "\u0002\u0002\u0002\u0002\u04f9\u0003\u0002\u0002\u0002\u0002\u04fb\u0003", + "\u0002\u0002\u0002\u0002\u04fd\u0003\u0002\u0002\u0002\u0002\u04ff\u0003", + "\u0002\u0002\u0002\u0002\u0501\u0003\u0002\u0002\u0002\u0002\u0503\u0003", + "\u0002\u0002\u0002\u0002\u0505\u0003\u0002\u0002\u0002\u0002\u0507\u0003", + "\u0002\u0002\u0002\u0002\u0509\u0003\u0002\u0002\u0002\u0002\u050b\u0003", + "\u0002\u0002\u0002\u0002\u050d\u0003\u0002\u0002\u0002\u0002\u050f\u0003", + "\u0002\u0002\u0002\u0002\u0511\u0003\u0002\u0002\u0002\u0002\u0513\u0003", + "\u0002\u0002\u0002\u0002\u0515\u0003\u0002\u0002\u0002\u0002\u0517\u0003", + "\u0002\u0002\u0002\u0002\u0519\u0003\u0002\u0002\u0002\u0002\u051b\u0003", + "\u0002\u0002\u0002\u0002\u051d\u0003\u0002\u0002\u0002\u0002\u051f\u0003", + "\u0002\u0002\u0002\u0002\u0521\u0003\u0002\u0002\u0002\u0002\u0523\u0003", + "\u0002\u0002\u0002\u0002\u0525\u0003\u0002\u0002\u0002\u0002\u0527\u0003", + "\u0002\u0002\u0002\u0002\u0529\u0003\u0002\u0002\u0002\u0002\u052b\u0003", + "\u0002\u0002\u0002\u0002\u052d\u0003\u0002\u0002\u0002\u0002\u052f\u0003", + "\u0002\u0002\u0002\u0002\u0531\u0003\u0002\u0002\u0002\u0002\u0533\u0003", + "\u0002\u0002\u0002\u0002\u0535\u0003\u0002\u0002\u0002\u0002\u0537\u0003", + "\u0002\u0002\u0002\u0002\u0539\u0003\u0002\u0002\u0002\u0002\u053b\u0003", + "\u0002\u0002\u0002\u0002\u053d\u0003\u0002\u0002\u0002\u0002\u053f\u0003", + "\u0002\u0002\u0002\u0002\u0541\u0003\u0002\u0002\u0002\u0002\u0543\u0003", + "\u0002\u0002\u0002\u0002\u0545\u0003\u0002\u0002\u0002\u0002\u0547\u0003", + "\u0002\u0002\u0002\u0002\u0549\u0003\u0002\u0002\u0002\u0002\u054b\u0003", + "\u0002\u0002\u0002\u0002\u054d\u0003\u0002\u0002\u0002\u0002\u054f\u0003", + "\u0002\u0002\u0002\u0002\u0551\u0003\u0002\u0002\u0002\u0002\u0553\u0003", + "\u0002\u0002\u0002\u0002\u0555\u0003\u0002\u0002\u0002\u0002\u0557\u0003", + "\u0002\u0002\u0002\u0002\u0559\u0003\u0002\u0002\u0002\u0002\u055b\u0003", + "\u0002\u0002\u0002\u0002\u055d\u0003\u0002\u0002\u0002\u0002\u055f\u0003", + "\u0002\u0002\u0002\u0002\u0561\u0003\u0002\u0002\u0002\u0002\u0563\u0003", + "\u0002\u0002\u0002\u0002\u0565\u0003\u0002\u0002\u0002\u0002\u0567\u0003", + "\u0002\u0002\u0002\u0002\u0569\u0003\u0002\u0002\u0002\u0002\u056b\u0003", + "\u0002\u0002\u0002\u0002\u056d\u0003\u0002\u0002\u0002\u0002\u056f\u0003", + "\u0002\u0002\u0002\u0002\u0571\u0003\u0002\u0002\u0002\u0002\u0573\u0003", + "\u0002\u0002\u0002\u0002\u0575\u0003\u0002\u0002\u0002\u0002\u0577\u0003", + "\u0002\u0002\u0002\u0002\u0579\u0003\u0002\u0002\u0002\u0002\u057b\u0003", + "\u0002\u0002\u0002\u0002\u057d\u0003\u0002\u0002\u0002\u0002\u057f\u0003", + "\u0002\u0002\u0002\u0002\u0581\u0003\u0002\u0002\u0002\u0002\u0583\u0003", + "\u0002\u0002\u0002\u0002\u0585\u0003\u0002\u0002\u0002\u0002\u0587\u0003", + "\u0002\u0002\u0002\u0002\u0589\u0003\u0002\u0002\u0002\u0002\u058b\u0003", + "\u0002\u0002\u0002\u0002\u058d\u0003\u0002\u0002\u0002\u0002\u058f\u0003", + "\u0002\u0002\u0002\u0002\u0591\u0003\u0002\u0002\u0002\u0002\u0593\u0003", + "\u0002\u0002\u0002\u0002\u0595\u0003\u0002\u0002\u0002\u0002\u0597\u0003", + "\u0002\u0002\u0002\u0002\u0599\u0003\u0002\u0002\u0002\u0002\u059b\u0003", + "\u0002\u0002\u0002\u0002\u059d\u0003\u0002\u0002\u0002\u0002\u059f\u0003", + "\u0002\u0002\u0002\u0002\u05a1\u0003\u0002\u0002\u0002\u0002\u05a3\u0003", + "\u0002\u0002\u0002\u0002\u05a5\u0003\u0002\u0002\u0002\u0002\u05a7\u0003", + "\u0002\u0002\u0002\u0002\u05a9\u0003\u0002\u0002\u0002\u0002\u05ab\u0003", + "\u0002\u0002\u0002\u0002\u05ad\u0003\u0002\u0002\u0002\u0002\u05af\u0003", + "\u0002\u0002\u0002\u0002\u05b1\u0003\u0002\u0002\u0002\u0002\u05b3\u0003", + "\u0002\u0002\u0002\u0002\u05b5\u0003\u0002\u0002\u0002\u0002\u05b7\u0003", + "\u0002\u0002\u0002\u0002\u05b9\u0003\u0002\u0002\u0002\u0002\u05bb\u0003", + "\u0002\u0002\u0002\u0002\u05bd\u0003\u0002\u0002\u0002\u0002\u05bf\u0003", + "\u0002\u0002\u0002\u0002\u05c1\u0003\u0002\u0002\u0002\u0002\u05c3\u0003", + "\u0002\u0002\u0002\u0002\u05c5\u0003\u0002\u0002\u0002\u0002\u05c7\u0003", + "\u0002\u0002\u0002\u0002\u05c9\u0003\u0002\u0002\u0002\u0002\u05cb\u0003", + "\u0002\u0002\u0002\u0002\u05cd\u0003\u0002\u0002\u0002\u0002\u05cf\u0003", + "\u0002\u0002\u0002\u0002\u05d1\u0003\u0002\u0002\u0002\u0002\u05d3\u0003", + "\u0002\u0002\u0002\u0002\u05d5\u0003\u0002\u0002\u0002\u0002\u05d7\u0003", + "\u0002\u0002\u0002\u0002\u05d9\u0003\u0002\u0002\u0002\u0002\u05db\u0003", + "\u0002\u0002\u0002\u0002\u05dd\u0003\u0002\u0002\u0002\u0002\u05df\u0003", + "\u0002\u0002\u0002\u0002\u05e1\u0003\u0002\u0002\u0002\u0002\u05e3\u0003", + "\u0002\u0002\u0002\u0002\u05e5\u0003\u0002\u0002\u0002\u0002\u05e7\u0003", + "\u0002\u0002\u0002\u0002\u05e9\u0003\u0002\u0002\u0002\u0002\u05eb\u0003", + "\u0002\u0002\u0002\u0002\u05ed\u0003\u0002\u0002\u0002\u0002\u05ef\u0003", + "\u0002\u0002\u0002\u0002\u05f1\u0003\u0002\u0002\u0002\u0002\u05f3\u0003", + "\u0002\u0002\u0002\u0002\u05f5\u0003\u0002\u0002\u0002\u0002\u05f7\u0003", + "\u0002\u0002\u0002\u0002\u05f9\u0003\u0002\u0002\u0002\u0002\u05fb\u0003", + "\u0002\u0002\u0002\u0002\u05fd\u0003\u0002\u0002\u0002\u0002\u05ff\u0003", + "\u0002\u0002\u0002\u0002\u0601\u0003\u0002\u0002\u0002\u0002\u0603\u0003", + "\u0002\u0002\u0002\u0002\u0605\u0003\u0002\u0002\u0002\u0002\u0607\u0003", + "\u0002\u0002\u0002\u0002\u0609\u0003\u0002\u0002\u0002\u0002\u060b\u0003", + "\u0002\u0002\u0002\u0002\u060d\u0003\u0002\u0002\u0002\u0002\u060f\u0003", + "\u0002\u0002\u0002\u0002\u0611\u0003\u0002\u0002\u0002\u0002\u0613\u0003", + "\u0002\u0002\u0002\u0002\u0615\u0003\u0002\u0002\u0002\u0002\u0617\u0003", + "\u0002\u0002\u0002\u0002\u0619\u0003\u0002\u0002\u0002\u0002\u061b\u0003", + "\u0002\u0002\u0002\u0002\u061d\u0003\u0002\u0002\u0002\u0002\u061f\u0003", + "\u0002\u0002\u0002\u0002\u0621\u0003\u0002\u0002\u0002\u0002\u0623\u0003", + "\u0002\u0002\u0002\u0002\u0625\u0003\u0002\u0002\u0002\u0002\u0627\u0003", + "\u0002\u0002\u0002\u0002\u0629\u0003\u0002\u0002\u0002\u0002\u062b\u0003", + "\u0002\u0002\u0002\u0002\u062d\u0003\u0002\u0002\u0002\u0002\u062f\u0003", + "\u0002\u0002\u0002\u0002\u0631\u0003\u0002\u0002\u0002\u0002\u0633\u0003", + "\u0002\u0002\u0002\u0002\u0635\u0003\u0002\u0002\u0002\u0002\u0637\u0003", + "\u0002\u0002\u0002\u0002\u0639\u0003\u0002\u0002\u0002\u0002\u063b\u0003", + "\u0002\u0002\u0002\u0002\u063d\u0003\u0002\u0002\u0002\u0002\u063f\u0003", + "\u0002\u0002\u0002\u0002\u0641\u0003\u0002\u0002\u0002\u0002\u0643\u0003", + "\u0002\u0002\u0002\u0002\u0645\u0003\u0002\u0002\u0002\u0002\u0647\u0003", + "\u0002\u0002\u0002\u0002\u0649\u0003\u0002\u0002\u0002\u0002\u064b\u0003", + "\u0002\u0002\u0002\u0002\u064d\u0003\u0002\u0002\u0002\u0002\u064f\u0003", + "\u0002\u0002\u0002\u0002\u0651\u0003\u0002\u0002\u0002\u0002\u0653\u0003", + "\u0002\u0002\u0002\u0002\u0655\u0003\u0002\u0002\u0002\u0002\u0657\u0003", + "\u0002\u0002\u0002\u0002\u0659\u0003\u0002\u0002\u0002\u0002\u065b\u0003", + "\u0002\u0002\u0002\u0002\u065d\u0003\u0002\u0002\u0002\u0002\u065f\u0003", + "\u0002\u0002\u0002\u0002\u0661\u0003\u0002\u0002\u0002\u0002\u0663\u0003", + "\u0002\u0002\u0002\u0002\u0665\u0003\u0002\u0002\u0002\u0002\u0667\u0003", + "\u0002\u0002\u0002\u0002\u0669\u0003\u0002\u0002\u0002\u0002\u066b\u0003", + "\u0002\u0002\u0002\u0002\u066d\u0003\u0002\u0002\u0002\u0002\u066f\u0003", + "\u0002\u0002\u0002\u0002\u0671\u0003\u0002\u0002\u0002\u0002\u0673\u0003", + "\u0002\u0002\u0002\u0002\u0675\u0003\u0002\u0002\u0002\u0002\u0677\u0003", + "\u0002\u0002\u0002\u0002\u0679\u0003\u0002\u0002\u0002\u0002\u067b\u0003", + "\u0002\u0002\u0002\u0002\u067d\u0003\u0002\u0002\u0002\u0002\u067f\u0003", + "\u0002\u0002\u0002\u0002\u0681\u0003\u0002\u0002\u0002\u0002\u0683\u0003", + "\u0002\u0002\u0002\u0002\u0685\u0003\u0002\u0002\u0002\u0002\u0687\u0003", + "\u0002\u0002\u0002\u0002\u0689\u0003\u0002\u0002\u0002\u0002\u068b\u0003", + "\u0002\u0002\u0002\u0002\u068d\u0003\u0002\u0002\u0002\u0002\u068f\u0003", + "\u0002\u0002\u0002\u0002\u0691\u0003\u0002\u0002\u0002\u0002\u0693\u0003", + "\u0002\u0002\u0002\u0002\u0695\u0003\u0002\u0002\u0002\u0002\u0697\u0003", + "\u0002\u0002\u0002\u0002\u0699\u0003\u0002\u0002\u0002\u0002\u069b\u0003", + "\u0002\u0002\u0002\u0002\u069d\u0003\u0002\u0002\u0002\u0002\u069f\u0003", + "\u0002\u0002\u0002\u0002\u06a1\u0003\u0002\u0002\u0002\u0002\u06a3\u0003", + "\u0002\u0002\u0002\u0002\u06a5\u0003\u0002\u0002\u0002\u0002\u06a7\u0003", + "\u0002\u0002\u0002\u0002\u06a9\u0003\u0002\u0002\u0002\u0002\u06ab\u0003", + "\u0002\u0002\u0002\u0002\u06ad\u0003\u0002\u0002\u0002\u0002\u06af\u0003", + "\u0002\u0002\u0002\u0002\u06b1\u0003\u0002\u0002\u0002\u0002\u06b3\u0003", + "\u0002\u0002\u0002\u0002\u06b5\u0003\u0002\u0002\u0002\u0002\u06b7\u0003", + "\u0002\u0002\u0002\u0002\u06b9\u0003\u0002\u0002\u0002\u0002\u06bb\u0003", + "\u0002\u0002\u0002\u0002\u06bd\u0003\u0002\u0002\u0002\u0002\u06bf\u0003", + "\u0002\u0002\u0002\u0002\u06c1\u0003\u0002\u0002\u0002\u0002\u06c3\u0003", + "\u0002\u0002\u0002\u0002\u06c5\u0003\u0002\u0002\u0002\u0002\u06c7\u0003", + "\u0002\u0002\u0002\u0002\u06c9\u0003\u0002\u0002\u0002\u0002\u06cb\u0003", + "\u0002\u0002\u0002\u0002\u06cd\u0003\u0002\u0002\u0002\u0002\u06cf\u0003", + "\u0002\u0002\u0002\u0002\u06d1\u0003\u0002\u0002\u0002\u0002\u06d3\u0003", + "\u0002\u0002\u0002\u0002\u06d5\u0003\u0002\u0002\u0002\u0002\u06d7\u0003", + "\u0002\u0002\u0002\u0002\u06d9\u0003\u0002\u0002\u0002\u0002\u06db\u0003", + "\u0002\u0002\u0002\u0002\u06dd\u0003\u0002\u0002\u0002\u0002\u06df\u0003", + "\u0002\u0002\u0002\u0002\u06e1\u0003\u0002\u0002\u0002\u0002\u06e3\u0003", + "\u0002\u0002\u0002\u0002\u06e5\u0003\u0002\u0002\u0002\u0002\u06e7\u0003", + "\u0002\u0002\u0002\u0002\u06e9\u0003\u0002\u0002\u0002\u0002\u06eb\u0003", + "\u0002\u0002\u0002\u0002\u06ed\u0003\u0002\u0002\u0002\u0002\u06ef\u0003", + "\u0002\u0002\u0002\u0002\u06f1\u0003\u0002\u0002\u0002\u0002\u06f3\u0003", + "\u0002\u0002\u0002\u0002\u06f5\u0003\u0002\u0002\u0002\u0002\u06f7\u0003", + "\u0002\u0002\u0002\u0002\u06f9\u0003\u0002\u0002\u0002\u0002\u06fb\u0003", + "\u0002\u0002\u0002\u0002\u06fd\u0003\u0002\u0002\u0002\u0002\u06ff\u0003", + "\u0002\u0002\u0002\u0002\u0701\u0003\u0002\u0002\u0002\u0002\u0703\u0003", + "\u0002\u0002\u0002\u0002\u0705\u0003\u0002\u0002\u0002\u0002\u0707\u0003", + "\u0002\u0002\u0002\u0002\u0709\u0003\u0002\u0002\u0002\u0002\u070b\u0003", + "\u0002\u0002\u0002\u0002\u070d\u0003\u0002\u0002\u0002\u0002\u070f\u0003", + "\u0002\u0002\u0002\u0002\u0711\u0003\u0002\u0002\u0002\u0002\u0713\u0003", + "\u0002\u0002\u0002\u0002\u0715\u0003\u0002\u0002\u0002\u0002\u0717\u0003", + "\u0002\u0002\u0002\u0002\u0719\u0003\u0002\u0002\u0002\u0002\u071b\u0003", + "\u0002\u0002\u0002\u0002\u071d\u0003\u0002\u0002\u0002\u0002\u071f\u0003", + "\u0002\u0002\u0002\u0002\u0721\u0003\u0002\u0002\u0002\u0002\u0723\u0003", + "\u0002\u0002\u0002\u0002\u0725\u0003\u0002\u0002\u0002\u0002\u0727\u0003", + "\u0002\u0002\u0002\u0002\u0729\u0003\u0002\u0002\u0002\u0002\u072b\u0003", + "\u0002\u0002\u0002\u0002\u072d\u0003\u0002\u0002\u0002\u0002\u072f\u0003", + "\u0002\u0002\u0002\u0002\u0731\u0003\u0002\u0002\u0002\u0002\u0733\u0003", + "\u0002\u0002\u0002\u0002\u0735\u0003\u0002\u0002\u0002\u0002\u0737\u0003", + "\u0002\u0002\u0002\u0002\u0739\u0003\u0002\u0002\u0002\u0002\u073b\u0003", + "\u0002\u0002\u0002\u0002\u073d\u0003\u0002\u0002\u0002\u0002\u073f\u0003", + "\u0002\u0002\u0002\u0002\u0741\u0003\u0002\u0002\u0002\u0002\u0743\u0003", + "\u0002\u0002\u0002\u0002\u0745\u0003\u0002\u0002\u0002\u0002\u0747\u0003", + "\u0002\u0002\u0002\u0002\u0749\u0003\u0002\u0002\u0002\u0002\u074b\u0003", + "\u0002\u0002\u0002\u0002\u074d\u0003\u0002\u0002\u0002\u0002\u074f\u0003", + "\u0002\u0002\u0002\u0002\u0751\u0003\u0002\u0002\u0002\u0002\u0753\u0003", + "\u0002\u0002\u0002\u0002\u0755\u0003\u0002\u0002\u0002\u0002\u0757\u0003", + "\u0002\u0002\u0002\u0002\u0759\u0003\u0002\u0002\u0002\u0002\u075b\u0003", + "\u0002\u0002\u0002\u0002\u075d\u0003\u0002\u0002\u0002\u0002\u075f\u0003", + "\u0002\u0002\u0002\u0002\u0761\u0003\u0002\u0002\u0002\u0002\u0763\u0003", + "\u0002\u0002\u0002\u0002\u0765\u0003\u0002\u0002\u0002\u0002\u0767\u0003", + "\u0002\u0002\u0002\u0002\u0769\u0003\u0002\u0002\u0002\u0002\u076b\u0003", + "\u0002\u0002\u0002\u0002\u076d\u0003\u0002\u0002\u0002\u0002\u076f\u0003", + "\u0002\u0002\u0002\u0002\u0771\u0003\u0002\u0002\u0002\u0002\u0773\u0003", + "\u0002\u0002\u0002\u0002\u0775\u0003\u0002\u0002\u0002\u0002\u0777\u0003", + "\u0002\u0002\u0002\u0002\u0779\u0003\u0002\u0002\u0002\u0002\u077b\u0003", + "\u0002\u0002\u0002\u0002\u077d\u0003\u0002\u0002\u0002\u0002\u077f\u0003", + "\u0002\u0002\u0002\u0002\u0781\u0003\u0002\u0002\u0002\u0002\u0783\u0003", + "\u0002\u0002\u0002\u0002\u0785\u0003\u0002\u0002\u0002\u0002\u0787\u0003", + "\u0002\u0002\u0002\u0002\u0789\u0003\u0002\u0002\u0002\u0002\u078b\u0003", + "\u0002\u0002\u0002\u0002\u078d\u0003\u0002\u0002\u0002\u0002\u078f\u0003", + "\u0002\u0002\u0002\u0002\u0791\u0003\u0002\u0002\u0002\u0002\u0793\u0003", + "\u0002\u0002\u0002\u0002\u0795\u0003\u0002\u0002\u0002\u0002\u0797\u0003", + "\u0002\u0002\u0002\u0002\u0799\u0003\u0002\u0002\u0002\u0002\u079b\u0003", + "\u0002\u0002\u0002\u0002\u079d\u0003\u0002\u0002\u0002\u0002\u079f\u0003", + "\u0002\u0002\u0002\u0002\u07a1\u0003\u0002\u0002\u0002\u0002\u07a3\u0003", + "\u0002\u0002\u0002\u0002\u07a5\u0003\u0002\u0002\u0002\u0002\u07a7\u0003", + "\u0002\u0002\u0002\u0002\u07a9\u0003\u0002\u0002\u0002\u0002\u07ab\u0003", + "\u0002\u0002\u0002\u0002\u07ad\u0003\u0002\u0002\u0002\u0002\u07af\u0003", + "\u0002\u0002\u0002\u0002\u07b1\u0003\u0002\u0002\u0002\u0002\u07b3\u0003", + "\u0002\u0002\u0002\u0002\u07b5\u0003\u0002\u0002\u0002\u0002\u07b7\u0003", + "\u0002\u0002\u0002\u0002\u07b9\u0003\u0002\u0002\u0002\u0002\u07bb\u0003", + "\u0002\u0002\u0002\u0002\u07bd\u0003\u0002\u0002\u0002\u0002\u07bf\u0003", + "\u0002\u0002\u0002\u0002\u07c1\u0003\u0002\u0002\u0002\u0002\u07c3\u0003", + "\u0002\u0002\u0002\u0002\u07c5\u0003\u0002\u0002\u0002\u0002\u07c7\u0003", + "\u0002\u0002\u0002\u0002\u07c9\u0003\u0002\u0002\u0002\u0002\u07cb\u0003", + "\u0002\u0002\u0002\u0002\u07cd\u0003\u0002\u0002\u0002\u0002\u07cf\u0003", + "\u0002\u0002\u0002\u0002\u07d1\u0003\u0002\u0002\u0002\u0002\u07d3\u0003", + "\u0002\u0002\u0002\u0002\u07d5\u0003\u0002\u0002\u0002\u0002\u07d7\u0003", + "\u0002\u0002\u0002\u0002\u07d9\u0003\u0002\u0002\u0002\u0002\u07db\u0003", + "\u0002\u0002\u0002\u0002\u07dd\u0003\u0002\u0002\u0002\u0002\u07df\u0003", + "\u0002\u0002\u0002\u0002\u07e1\u0003\u0002\u0002\u0002\u0002\u07e3\u0003", + "\u0002\u0002\u0002\u0002\u07e5\u0003\u0002\u0002\u0002\u0002\u07e7\u0003", + "\u0002\u0002\u0002\u0002\u07e9\u0003\u0002\u0002\u0002\u0002\u07eb\u0003", + "\u0002\u0002\u0002\u0002\u07ed\u0003\u0002\u0002\u0002\u0002\u07ef\u0003", + "\u0002\u0002\u0002\u0002\u07f1\u0003\u0002\u0002\u0002\u0002\u07f3\u0003", + "\u0002\u0002\u0002\u0002\u07f5\u0003\u0002\u0002\u0002\u0002\u07f7\u0003", + "\u0002\u0002\u0002\u0002\u07f9\u0003\u0002\u0002\u0002\u0002\u07fb\u0003", + "\u0002\u0002\u0002\u0002\u07fd\u0003\u0002\u0002\u0002\u0002\u07ff\u0003", + "\u0002\u0002\u0002\u0002\u0801\u0003\u0002\u0002\u0002\u0002\u0803\u0003", + "\u0002\u0002\u0002\u0002\u0805\u0003\u0002\u0002\u0002\u0002\u0807\u0003", + "\u0002\u0002\u0002\u0002\u0809\u0003\u0002\u0002\u0002\u0002\u080b\u0003", + "\u0002\u0002\u0002\u0002\u080d\u0003\u0002\u0002\u0002\u0002\u080f\u0003", + "\u0002\u0002\u0002\u0002\u0813\u0003\u0002\u0002\u0002\u0002\u0815\u0003", + "\u0002\u0002\u0002\u0002\u0817\u0003\u0002\u0002\u0002\u0002\u0819\u0003", + "\u0002\u0002\u0002\u0002\u081b\u0003\u0002\u0002\u0002\u0002\u081d\u0003", + "\u0002\u0002\u0002\u0002\u081f\u0003\u0002\u0002\u0002\u0002\u0821\u0003", + "\u0002\u0002\u0002\u0002\u0823\u0003\u0002\u0002\u0002\u0002\u0825\u0003", + "\u0002\u0002\u0002\u0002\u0827\u0003\u0002\u0002\u0002\u0002\u0829\u0003", + "\u0002\u0002\u0002\u0002\u082b\u0003\u0002\u0002\u0002\u0002\u082d\u0003", + "\u0002\u0002\u0002\u0002\u082f\u0003\u0002\u0002\u0002\u0002\u0831\u0003", + "\u0002\u0002\u0002\u0002\u0845\u0003\u0002\u0002\u0002\u0003\u0848\u0003", + "\u0002\u0002\u0002\u0005\u084e\u0003\u0002\u0002\u0002\u0007\u085c\u0003", + "\u0002\u0002\u0002\t\u0887\u0003\u0002\u0002\u0002\u000b\u088b\u0003", + "\u0002\u0002\u0002\r\u088f\u0003\u0002\u0002\u0002\u000f\u0893\u0003", + "\u0002\u0002\u0002\u0011\u0899\u0003\u0002\u0002\u0002\u0013\u08a0\u0003", + "\u0002\u0002\u0002\u0015\u08a8\u0003\u0002\u0002\u0002\u0017\u08ac\u0003", + "\u0002\u0002\u0002\u0019\u08af\u0003\u0002\u0002\u0002\u001b\u08b3\u0003", + "\u0002\u0002\u0002\u001d\u08ba\u0003\u0002\u0002\u0002\u001f\u08c2\u0003", + "\u0002\u0002\u0002!\u08c7\u0003\u0002\u0002\u0002#\u08ca\u0003\u0002", + "\u0002\u0002%\u08cf\u0003\u0002\u0002\u0002\'\u08d7\u0003\u0002\u0002", + "\u0002)\u08dc\u0003\u0002\u0002\u0002+\u08e1\u0003\u0002\u0002\u0002", + "-\u08e8\u0003\u0002\u0002\u0002/\u08f2\u0003\u0002\u0002\u00021\u08f8", + "\u0003\u0002\u0002\u00023\u0900\u0003\u0002\u0002\u00025\u0907\u0003", + "\u0002\u0002\u00027\u0911\u0003\u0002\u0002\u00029\u091c\u0003\u0002", + "\u0002\u0002;\u0925\u0003\u0002\u0002\u0002=\u092d\u0003\u0002\u0002", + "\u0002?\u0934\u0003\u0002\u0002\u0002A\u093a\u0003\u0002\u0002\u0002", + "C\u0942\u0003\u0002\u0002\u0002E\u094f\u0003\u0002\u0002\u0002G\u0956", + "\u0003\u0002\u0002\u0002I\u095f\u0003\u0002\u0002\u0002K\u0969\u0003", + "\u0002\u0002\u0002M\u0971\u0003\u0002\u0002\u0002O\u0979\u0003\u0002", + "\u0002\u0002Q\u0981\u0003\u0002\u0002\u0002S\u0988\u0003\u0002\u0002", + "\u0002U\u098d\u0003\u0002\u0002\u0002W\u0996\u0003\u0002\u0002\u0002", + "Y\u09a4\u0003\u0002\u0002\u0002[\u09b0\u0003\u0002\u0002\u0002]\u09b9", + "\u0003\u0002\u0002\u0002_\u09c5\u0003\u0002\u0002\u0002a\u09ca\u0003", + "\u0002\u0002\u0002c\u09cf\u0003\u0002\u0002\u0002e\u09d4\u0003\u0002", + "\u0002\u0002g\u09db\u0003\u0002\u0002\u0002i\u09e4\u0003\u0002\u0002", + "\u0002k\u09ec\u0003\u0002\u0002\u0002m\u09f3\u0003\u0002\u0002\u0002", + "o\u09f8\u0003\u0002\u0002\u0002q\u0a00\u0003\u0002\u0002\u0002s\u0a06", + "\u0003\u0002\u0002\u0002u\u0a0c\u0003\u0002\u0002\u0002w\u0a10\u0003", + "\u0002\u0002\u0002y\u0a16\u0003\u0002\u0002\u0002{\u0a1e\u0003\u0002", + "\u0002\u0002}\u0a23\u0003\u0002\u0002\u0002\u007f\u0a2c\u0003\u0002", + "\u0002\u0002\u0081\u0a36\u0003\u0002\u0002\u0002\u0083\u0a3a\u0003\u0002", + "\u0002\u0002\u0085\u0a40\u0003\u0002\u0002\u0002\u0087\u0a46\u0003\u0002", + "\u0002\u0002\u0089\u0a4d\u0003\u0002\u0002\u0002\u008b\u0a5b\u0003\u0002", + "\u0002\u0002\u008d\u0a5e\u0003\u0002\u0002\u0002\u008f\u0a65\u0003\u0002", + "\u0002\u0002\u0091\u0a68\u0003\u0002\u0002\u0002\u0093\u0a6e\u0003\u0002", + "\u0002\u0002\u0095\u0a75\u0003\u0002\u0002\u0002\u0097\u0a7b\u0003\u0002", + "\u0002\u0002\u0099\u0a81\u0003\u0002\u0002\u0002\u009b\u0a88\u0003\u0002", + "\u0002\u0002\u009d\u0a91\u0003\u0002\u0002\u0002\u009f\u0a96\u0003\u0002", + "\u0002\u0002\u00a1\u0a99\u0003\u0002\u0002\u0002\u00a3\u0aa1\u0003\u0002", + "\u0002\u0002\u00a5\u0aa6\u0003\u0002\u0002\u0002\u00a7\u0aaa\u0003\u0002", + "\u0002\u0002\u00a9\u0aaf\u0003\u0002\u0002\u0002\u00ab\u0ab4\u0003\u0002", + "\u0002\u0002\u00ad\u0abc\u0003\u0002\u0002\u0002\u00af\u0ac2\u0003\u0002", + "\u0002\u0002\u00b1\u0ac7\u0003\u0002\u0002\u0002\u00b3\u0acc\u0003\u0002", + "\u0002\u0002\u00b5\u0ad2\u0003\u0002\u0002\u0002\u00b7\u0ad9\u0003\u0002", + "\u0002\u0002\u00b9\u0adf\u0003\u0002\u0002\u0002\u00bb\u0ae4\u0003\u0002", + "\u0002\u0002\u00bd\u0ae9\u0003\u0002\u0002\u0002\u00bf\u0aee\u0003\u0002", + "\u0002\u0002\u00c1\u0afb\u0003\u0002\u0002\u0002\u00c3\u0b07\u0003\u0002", + "\u0002\u0002\u00c5\u0b25\u0003\u0002\u0002\u0002\u00c7\u0b2b\u0003\u0002", + "\u0002\u0002\u00c9\u0b34\u0003\u0002\u0002\u0002\u00cb\u0b3d\u0003\u0002", + "\u0002\u0002\u00cd\u0b45\u0003\u0002\u0002\u0002\u00cf\u0b49\u0003\u0002", + "\u0002\u0002\u00d1\u0b5c\u0003\u0002\u0002\u0002\u00d3\u0b61\u0003\u0002", + "\u0002\u0002\u00d5\u0b68\u0003\u0002\u0002\u0002\u00d7\u0b6b\u0003\u0002", + "\u0002\u0002\u00d9\u0b74\u0003\u0002\u0002\u0002\u00db\u0b7b\u0003\u0002", + "\u0002\u0002\u00dd\u0b86\u0003\u0002\u0002\u0002\u00df\u0b89\u0003\u0002", + "\u0002\u0002\u00e1\u0b8f\u0003\u0002\u0002\u0002\u00e3\u0b93\u0003\u0002", + "\u0002\u0002\u00e5\u0b99\u0003\u0002\u0002\u0002\u00e7\u0ba1\u0003\u0002", + "\u0002\u0002\u00e9\u0bab\u0003\u0002\u0002\u0002\u00eb\u0bb3\u0003\u0002", + "\u0002\u0002\u00ed\u0bbd\u0003\u0002\u0002\u0002\u00ef\u0bc3\u0003\u0002", + "\u0002\u0002\u00f1\u0bc9\u0003\u0002\u0002\u0002\u00f3\u0bce\u0003\u0002", + "\u0002\u0002\u00f5\u0bd4\u0003\u0002\u0002\u0002\u00f7\u0bdf\u0003\u0002", + "\u0002\u0002\u00f9\u0be6\u0003\u0002\u0002\u0002\u00fb\u0bee\u0003\u0002", + "\u0002\u0002\u00fd\u0bf5\u0003\u0002\u0002\u0002\u00ff\u0bfc\u0003\u0002", + "\u0002\u0002\u0101\u0c04\u0003\u0002\u0002\u0002\u0103\u0c0c\u0003\u0002", + "\u0002\u0002\u0105\u0c15\u0003\u0002\u0002\u0002\u0107\u0c1e\u0003\u0002", + "\u0002\u0002\u0109\u0c25\u0003\u0002\u0002\u0002\u010b\u0c2c\u0003\u0002", + "\u0002\u0002\u010d\u0c32\u0003\u0002\u0002\u0002\u010f\u0c38\u0003\u0002", + "\u0002\u0002\u0111\u0c3f\u0003\u0002\u0002\u0002\u0113\u0c47\u0003\u0002", + "\u0002\u0002\u0115\u0c4e\u0003\u0002\u0002\u0002\u0117\u0c52\u0003\u0002", + "\u0002\u0002\u0119\u0c5c\u0003\u0002\u0002\u0002\u011b\u0c61\u0003\u0002", + "\u0002\u0002\u011d\u0c68\u0003\u0002\u0002\u0002\u011f\u0c70\u0003\u0002", + "\u0002\u0002\u0121\u0c74\u0003\u0002\u0002\u0002\u0123\u0c81\u0003\u0002", + "\u0002\u0002\u0125\u0c8a\u0003\u0002\u0002\u0002\u0127\u0c95\u0003\u0002", + "\u0002\u0002\u0129\u0ca4\u0003\u0002\u0002\u0002\u012b\u0cb8\u0003\u0002", + "\u0002\u0002\u012d\u0cc9\u0003\u0002\u0002\u0002\u012f\u0ccd\u0003\u0002", + "\u0002\u0002\u0131\u0cd5\u0003\u0002\u0002\u0002\u0133\u0cde\u0003\u0002", + "\u0002\u0002\u0135\u0cec\u0003\u0002\u0002\u0002\u0137\u0cf2\u0003\u0002", + "\u0002\u0002\u0139\u0cfd\u0003\u0002\u0002\u0002\u013b\u0d02\u0003\u0002", + "\u0002\u0002\u013d\u0d05\u0003\u0002\u0002\u0002\u013f\u0d0e\u0003\u0002", + "\u0002\u0002\u0141\u0d16\u0003\u0002\u0002\u0002\u0143\u0d1b\u0003\u0002", + "\u0002\u0002\u0145\u0d20\u0003\u0002\u0002\u0002\u0147\u0d26\u0003\u0002", + "\u0002\u0002\u0149\u0d2d\u0003\u0002\u0002\u0002\u014b\u0d34\u0003\u0002", + "\u0002\u0002\u014d\u0d3d\u0003\u0002\u0002\u0002\u014f\u0d44\u0003\u0002", + "\u0002\u0002\u0151\u0d4a\u0003\u0002\u0002\u0002\u0153\u0d4e\u0003\u0002", + "\u0002\u0002\u0155\u0d54\u0003\u0002\u0002\u0002\u0157\u0d5b\u0003\u0002", + "\u0002\u0002\u0159\u0d60\u0003\u0002\u0002\u0002\u015b\u0d66\u0003\u0002", + "\u0002\u0002\u015d\u0d6c\u0003\u0002\u0002\u0002\u015f\u0d71\u0003\u0002", + "\u0002\u0002\u0161\u0d77\u0003\u0002\u0002\u0002\u0163\u0d7b\u0003\u0002", + "\u0002\u0002\u0165\u0d84\u0003\u0002\u0002\u0002\u0167\u0d8c\u0003\u0002", + "\u0002\u0002\u0169\u0d95\u0003\u0002\u0002\u0002\u016b\u0d9f\u0003\u0002", + "\u0002\u0002\u016d\u0da9\u0003\u0002\u0002\u0002\u016f\u0dad\u0003\u0002", + "\u0002\u0002\u0171\u0db2\u0003\u0002\u0002\u0002\u0173\u0db7\u0003\u0002", + "\u0002\u0002\u0175\u0dbc\u0003\u0002\u0002\u0002\u0177\u0dc1\u0003\u0002", + "\u0002\u0002\u0179\u0dc6\u0003\u0002\u0002\u0002\u017b\u0dce\u0003\u0002", + "\u0002\u0002\u017d\u0dd5\u0003\u0002\u0002\u0002\u017f\u0dda\u0003\u0002", + "\u0002\u0002\u0181\u0de1\u0003\u0002\u0002\u0002\u0183\u0deb\u0003\u0002", + "\u0002\u0002\u0185\u0df1\u0003\u0002\u0002\u0002\u0187\u0df8\u0003\u0002", + "\u0002\u0002\u0189\u0dff\u0003\u0002\u0002\u0002\u018b\u0e07\u0003\u0002", + "\u0002\u0002\u018d\u0e0b\u0003\u0002\u0002\u0002\u018f\u0e13\u0003\u0002", + "\u0002\u0002\u0191\u0e18\u0003\u0002\u0002\u0002\u0193\u0e1d\u0003\u0002", + "\u0002\u0002\u0195\u0e27\u0003\u0002\u0002\u0002\u0197\u0e30\u0003\u0002", + "\u0002\u0002\u0199\u0e35\u0003\u0002\u0002\u0002\u019b\u0e3a\u0003\u0002", + "\u0002\u0002\u019d\u0e42\u0003\u0002\u0002\u0002\u019f\u0e4b\u0003\u0002", + "\u0002\u0002\u01a1\u0e54\u0003\u0002\u0002\u0002\u01a3\u0e5b\u0003\u0002", + "\u0002\u0002\u01a5\u0e65\u0003\u0002\u0002\u0002\u01a7\u0e6e\u0003\u0002", + "\u0002\u0002\u01a9\u0e73\u0003\u0002\u0002\u0002\u01ab\u0e7e\u0003\u0002", + "\u0002\u0002\u01ad\u0e83\u0003\u0002\u0002\u0002\u01af\u0e8c\u0003\u0002", + "\u0002\u0002\u01b1\u0e95\u0003\u0002\u0002\u0002\u01b3\u0e9a\u0003\u0002", + "\u0002\u0002\u01b5\u0ea5\u0003\u0002\u0002\u0002\u01b7\u0eae\u0003\u0002", + "\u0002\u0002\u01b9\u0eb3\u0003\u0002\u0002\u0002\u01bb\u0ebb\u0003\u0002", + "\u0002\u0002\u01bd\u0ec2\u0003\u0002\u0002\u0002\u01bf\u0ecd\u0003\u0002", + "\u0002\u0002\u01c1\u0ed6\u0003\u0002\u0002\u0002\u01c3\u0ee1\u0003\u0002", + "\u0002\u0002\u01c5\u0eec\u0003\u0002\u0002\u0002\u01c7\u0ef8\u0003\u0002", + "\u0002\u0002\u01c9\u0f04\u0003\u0002\u0002\u0002\u01cb\u0f12\u0003\u0002", + "\u0002\u0002\u01cd\u0f25\u0003\u0002\u0002\u0002\u01cf\u0f38\u0003\u0002", + "\u0002\u0002\u01d1\u0f49\u0003\u0002\u0002\u0002\u01d3\u0f59\u0003\u0002", + "\u0002\u0002\u01d5\u0f64\u0003\u0002\u0002\u0002\u01d7\u0f76\u0003\u0002", + "\u0002\u0002\u01d9\u0f7a\u0003\u0002\u0002\u0002\u01db\u0f82\u0003\u0002", + "\u0002\u0002\u01dd\u0f89\u0003\u0002\u0002\u0002\u01df\u0f91\u0003\u0002", + "\u0002\u0002\u01e1\u0f97\u0003\u0002\u0002\u0002\u01e3\u0fa4\u0003\u0002", + "\u0002\u0002\u01e5\u0fa8\u0003\u0002\u0002\u0002\u01e7\u0fac\u0003\u0002", + "\u0002\u0002\u01e9\u0fb0\u0003\u0002\u0002\u0002\u01eb\u0fb7\u0003\u0002", + "\u0002\u0002\u01ed\u0fc2\u0003\u0002\u0002\u0002\u01ef\u0fce\u0003\u0002", + "\u0002\u0002\u01f1\u0fd2\u0003\u0002\u0002\u0002\u01f3\u0fda\u0003\u0002", + "\u0002\u0002\u01f5\u0fe3\u0003\u0002\u0002\u0002\u01f7\u0fec\u0003\u0002", + "\u0002\u0002\u01f9\u0ff9\u0003\u0002\u0002\u0002\u01fb\u1006\u0003\u0002", + "\u0002\u0002\u01fd\u1018\u0003\u0002\u0002\u0002\u01ff\u1022\u0003\u0002", + "\u0002\u0002\u0201\u102a\u0003\u0002\u0002\u0002\u0203\u1032\u0003\u0002", + "\u0002\u0002\u0205\u103b\u0003\u0002\u0002\u0002\u0207\u1044\u0003\u0002", + "\u0002\u0002\u0209\u104c\u0003\u0002\u0002\u0002\u020b\u105b\u0003\u0002", + "\u0002\u0002\u020d\u105f\u0003\u0002\u0002\u0002\u020f\u1068\u0003\u0002", + "\u0002\u0002\u0211\u106f\u0003\u0002\u0002\u0002\u0213\u1079\u0003\u0002", + "\u0002\u0002\u0215\u1081\u0003\u0002\u0002\u0002\u0217\u1086\u0003\u0002", + "\u0002\u0002\u0219\u108f\u0003\u0002\u0002\u0002\u021b\u1098\u0003\u0002", + "\u0002\u0002\u021d\u10a6\u0003\u0002\u0002\u0002\u021f\u10ae\u0003\u0002", + "\u0002\u0002\u0221\u10b5\u0003\u0002\u0002\u0002\u0223\u10bb\u0003\u0002", + "\u0002\u0002\u0225\u10c5\u0003\u0002\u0002\u0002\u0227\u10cf\u0003\u0002", + "\u0002\u0002\u0229\u10d3\u0003\u0002\u0002\u0002\u022b\u10d6\u0003\u0002", + "\u0002\u0002\u022d\u10de\u0003\u0002\u0002\u0002\u022f\u10e9\u0003\u0002", + "\u0002\u0002\u0231\u10f9\u0003\u0002\u0002\u0002\u0233\u1108\u0003\u0002", + "\u0002\u0002\u0235\u1117\u0003\u0002\u0002\u0002\u0237\u111d\u0003\u0002", + "\u0002\u0002\u0239\u1124\u0003\u0002\u0002\u0002\u023b\u1128\u0003\u0002", + "\u0002\u0002\u023d\u112e\u0003\u0002\u0002\u0002\u023f\u1133\u0003\u0002", + "\u0002\u0002\u0241\u113b\u0003\u0002\u0002\u0002\u0243\u1141\u0003\u0002", + "\u0002\u0002\u0245\u1147\u0003\u0002\u0002\u0002\u0247\u1150\u0003\u0002", + "\u0002\u0002\u0249\u1156\u0003\u0002\u0002\u0002\u024b\u115e\u0003\u0002", + "\u0002\u0002\u024d\u1166\u0003\u0002\u0002\u0002\u024f\u116f\u0003\u0002", + "\u0002\u0002\u0251\u117d\u0003\u0002\u0002\u0002\u0253\u1184\u0003\u0002", + "\u0002\u0002\u0255\u1191\u0003\u0002\u0002\u0002\u0257\u1198\u0003\u0002", + "\u0002\u0002\u0259\u119e\u0003\u0002\u0002\u0002\u025b\u11a7\u0003\u0002", + "\u0002\u0002\u025d\u11ac\u0003\u0002\u0002\u0002\u025f\u11b4\u0003\u0002", + "\u0002\u0002\u0261\u11c2\u0003\u0002\u0002\u0002\u0263\u11ce\u0003\u0002", + "\u0002\u0002\u0265\u11d6\u0003\u0002\u0002\u0002\u0267\u11dd\u0003\u0002", + "\u0002\u0002\u0269\u11e5\u0003\u0002\u0002\u0002\u026b\u11f0\u0003\u0002", + "\u0002\u0002\u026d\u11fb\u0003\u0002\u0002\u0002\u026f\u1207\u0003\u0002", + "\u0002\u0002\u0271\u1212\u0003\u0002\u0002\u0002\u0273\u121d\u0003\u0002", + "\u0002\u0002\u0275\u1228\u0003\u0002\u0002\u0002\u0277\u123b\u0003\u0002", + "\u0002\u0002\u0279\u124d\u0003\u0002\u0002\u0002\u027b\u125d\u0003\u0002", + "\u0002\u0002\u027d\u1266\u0003\u0002\u0002\u0002\u027f\u126e\u0003\u0002", + "\u0002\u0002\u0281\u127b\u0003\u0002\u0002\u0002\u0283\u1280\u0003\u0002", + "\u0002\u0002\u0285\u1284\u0003\u0002\u0002\u0002\u0287\u1290\u0003\u0002", + "\u0002\u0002\u0289\u1295\u0003\u0002\u0002\u0002\u028b\u129e\u0003\u0002", + "\u0002\u0002\u028d\u12a9\u0003\u0002\u0002\u0002\u028f\u12b6\u0003\u0002", + "\u0002\u0002\u0291\u12be\u0003\u0002\u0002\u0002\u0293\u12ce\u0003\u0002", + "\u0002\u0002\u0295\u12db\u0003\u0002\u0002\u0002\u0297\u12e5\u0003\u0002", + "\u0002\u0002\u0299\u12ed\u0003\u0002\u0002\u0002\u029b\u12f5\u0003\u0002", + "\u0002\u0002\u029d\u12fa\u0003\u0002\u0002\u0002\u029f\u12fd\u0003\u0002", + "\u0002\u0002\u02a1\u1306\u0003\u0002\u0002\u0002\u02a3\u1310\u0003\u0002", + "\u0002\u0002\u02a5\u1318\u0003\u0002\u0002\u0002\u02a7\u131f\u0003\u0002", + "\u0002\u0002\u02a9\u132a\u0003\u0002\u0002\u0002\u02ab\u132e\u0003\u0002", + "\u0002\u0002\u02ad\u1333\u0003\u0002\u0002\u0002\u02af\u133a\u0003\u0002", + "\u0002\u0002\u02b1\u1342\u0003\u0002\u0002\u0002\u02b3\u1348\u0003\u0002", + "\u0002\u0002\u02b5\u134f\u0003\u0002\u0002\u0002\u02b7\u1356\u0003\u0002", + "\u0002\u0002\u02b9\u135b\u0003\u0002\u0002\u0002\u02bb\u1361\u0003\u0002", + "\u0002\u0002\u02bd\u1368\u0003\u0002\u0002\u0002\u02bf\u136e\u0003\u0002", + "\u0002\u0002\u02c1\u1377\u0003\u0002\u0002\u0002\u02c3\u1381\u0003\u0002", + "\u0002\u0002\u02c5\u1388\u0003\u0002\u0002\u0002\u02c7\u138f\u0003\u0002", + "\u0002\u0002\u02c9\u1398\u0003\u0002\u0002\u0002\u02cb\u13a4\u0003\u0002", + "\u0002\u0002\u02cd\u13a9\u0003\u0002\u0002\u0002\u02cf\u13b0\u0003\u0002", + "\u0002\u0002\u02d1\u13b7\u0003\u0002\u0002\u0002\u02d3\u13c7\u0003\u0002", + "\u0002\u0002\u02d5\u13ce\u0003\u0002\u0002\u0002\u02d7\u13d4\u0003\u0002", + "\u0002\u0002\u02d9\u13da\u0003\u0002\u0002\u0002\u02db\u13e0\u0003\u0002", + "\u0002\u0002\u02dd\u13e8\u0003\u0002\u0002\u0002\u02df\u13ee\u0003\u0002", + "\u0002\u0002\u02e1\u13f3\u0003\u0002\u0002\u0002\u02e3\u13fc\u0003\u0002", + "\u0002\u0002\u02e5\u1404\u0003\u0002\u0002\u0002\u02e7\u140b\u0003\u0002", + "\u0002\u0002\u02e9\u1412\u0003\u0002\u0002\u0002\u02eb\u1424\u0003\u0002", + "\u0002\u0002\u02ed\u142c\u0003\u0002\u0002\u0002\u02ef\u1431\u0003\u0002", + "\u0002\u0002\u02f1\u1436\u0003\u0002\u0002\u0002\u02f3\u143b\u0003\u0002", + "\u0002\u0002\u02f5\u1441\u0003\u0002\u0002\u0002\u02f7\u144c\u0003\u0002", + "\u0002\u0002\u02f9\u145e\u0003\u0002\u0002\u0002\u02fb\u1465\u0003\u0002", + "\u0002\u0002\u02fd\u146d\u0003\u0002\u0002\u0002\u02ff\u147a\u0003\u0002", + "\u0002\u0002\u0301\u1482\u0003\u0002\u0002\u0002\u0303\u1490\u0003\u0002", + "\u0002\u0002\u0305\u1498\u0003\u0002\u0002\u0002\u0307\u14a1\u0003\u0002", + "\u0002\u0002\u0309\u14ab\u0003\u0002\u0002\u0002\u030b\u14b3\u0003\u0002", + "\u0002\u0002\u030d\u14b6\u0003\u0002\u0002\u0002\u030f\u14c0\u0003\u0002", + "\u0002\u0002\u0311\u14c4\u0003\u0002\u0002\u0002\u0313\u14ce\u0003\u0002", + "\u0002\u0002\u0315\u14d5\u0003\u0002\u0002\u0002\u0317\u14da\u0003\u0002", + "\u0002\u0002\u0319\u14e9\u0003\u0002\u0002\u0002\u031b\u14f2\u0003\u0002", + "\u0002\u0002\u031d\u14f7\u0003\u0002\u0002\u0002\u031f\u14fe\u0003\u0002", + "\u0002\u0002\u0321\u1503\u0003\u0002\u0002\u0002\u0323\u1509\u0003\u0002", + "\u0002\u0002\u0325\u150e\u0003\u0002\u0002\u0002\u0327\u1514\u0003\u0002", + "\u0002\u0002\u0329\u151c\u0003\u0002\u0002\u0002\u032b\u1521\u0003\u0002", + "\u0002\u0002\u032d\u1528\u0003\u0002\u0002\u0002\u032f\u153d\u0003\u0002", + "\u0002\u0002\u0331\u1552\u0003\u0002\u0002\u0002\u0333\u155f\u0003\u0002", + "\u0002\u0002\u0335\u1577\u0003\u0002\u0002\u0002\u0337\u1583\u0003\u0002", + "\u0002\u0002\u0339\u1593\u0003\u0002\u0002\u0002\u033b\u15a2\u0003\u0002", + "\u0002\u0002\u033d\u15b2\u0003\u0002\u0002\u0002\u033f\u15be\u0003\u0002", + "\u0002\u0002\u0341\u15d1\u0003\u0002\u0002\u0002\u0343\u15dc\u0003\u0002", + "\u0002\u0002\u0345\u15ea\u0003\u0002\u0002\u0002\u0347\u15fc\u0003\u0002", + "\u0002\u0002\u0349\u160c\u0003\u0002\u0002\u0002\u034b\u161e\u0003\u0002", + "\u0002\u0002\u034d\u162d\u0003\u0002\u0002\u0002\u034f\u1640\u0003\u0002", + "\u0002\u0002\u0351\u164f\u0003\u0002\u0002\u0002\u0353\u1662\u0003\u0002", + "\u0002\u0002\u0355\u166e\u0003\u0002\u0002\u0002\u0357\u1687\u0003\u0002", + "\u0002\u0002\u0359\u169c\u0003\u0002\u0002\u0002\u035b\u16a5\u0003\u0002", + "\u0002\u0002\u035d\u16ae\u0003\u0002\u0002\u0002\u035f\u16c3\u0003\u0002", + "\u0002\u0002\u0361\u16d8\u0003\u0002\u0002\u0002\u0363\u16df\u0003\u0002", + "\u0002\u0002\u0365\u16e5\u0003\u0002\u0002\u0002\u0367\u16f2\u0003\u0002", + "\u0002\u0002\u0369\u16f6\u0003\u0002\u0002\u0002\u036b\u16fe\u0003\u0002", + "\u0002\u0002\u036d\u1707\u0003\u0002\u0002\u0002\u036f\u170c\u0003\u0002", + "\u0002\u0002\u0371\u1713\u0003\u0002\u0002\u0002\u0373\u1719\u0003\u0002", + "\u0002\u0002\u0375\u171f\u0003\u0002\u0002\u0002\u0377\u172b\u0003\u0002", + "\u0002\u0002\u0379\u1730\u0003\u0002\u0002\u0002\u037b\u1736\u0003\u0002", + "\u0002\u0002\u037d\u173c\u0003\u0002\u0002\u0002\u037f\u1742\u0003\u0002", + "\u0002\u0002\u0381\u1747\u0003\u0002\u0002\u0002\u0383\u174a\u0003\u0002", + "\u0002\u0002\u0385\u1754\u0003\u0002\u0002\u0002\u0387\u1759\u0003\u0002", + "\u0002\u0002\u0389\u1761\u0003\u0002\u0002\u0002\u038b\u1768\u0003\u0002", + "\u0002\u0002\u038d\u176b\u0003\u0002\u0002\u0002\u038f\u1778\u0003\u0002", + "\u0002\u0002\u0391\u177c\u0003\u0002\u0002\u0002\u0393\u1783\u0003\u0002", + "\u0002\u0002\u0395\u1788\u0003\u0002\u0002\u0002\u0397\u178d\u0003\u0002", + "\u0002\u0002\u0399\u179d\u0003\u0002\u0002\u0002\u039b\u17a5\u0003\u0002", + "\u0002\u0002\u039d\u17ab\u0003\u0002\u0002\u0002\u039f\u17b5\u0003\u0002", + "\u0002\u0002\u03a1\u17ba\u0003\u0002\u0002\u0002\u03a3\u17c1\u0003\u0002", + "\u0002\u0002\u03a5\u17c9\u0003\u0002\u0002\u0002\u03a7\u17d6\u0003\u0002", + "\u0002\u0002\u03a9\u17e1\u0003\u0002\u0002\u0002\u03ab\u17ea\u0003\u0002", + "\u0002\u0002\u03ad\u17f0\u0003\u0002\u0002\u0002\u03af\u17f7\u0003\u0002", + "\u0002\u0002\u03b1\u1802\u0003\u0002\u0002\u0002\u03b3\u180a\u0003\u0002", + "\u0002\u0002\u03b5\u180f\u0003\u0002\u0002\u0002\u03b7\u1818\u0003\u0002", + "\u0002\u0002\u03b9\u1820\u0003\u0002\u0002\u0002\u03bb\u1829\u0003\u0002", + "\u0002\u0002\u03bd\u182e\u0003\u0002\u0002\u0002\u03bf\u183a\u0003\u0002", + "\u0002\u0002\u03c1\u1842\u0003\u0002\u0002\u0002\u03c3\u184b\u0003\u0002", + "\u0002\u0002\u03c5\u1851\u0003\u0002\u0002\u0002\u03c7\u1857\u0003\u0002", + "\u0002\u0002\u03c9\u185d\u0003\u0002\u0002\u0002\u03cb\u1865\u0003\u0002", + "\u0002\u0002\u03cd\u186d\u0003\u0002\u0002\u0002\u03cf\u187e\u0003\u0002", + "\u0002\u0002\u03d1\u1888\u0003\u0002\u0002\u0002\u03d3\u188e\u0003\u0002", + "\u0002\u0002\u03d5\u189d\u0003\u0002\u0002\u0002\u03d7\u18ab\u0003\u0002", + "\u0002\u0002\u03d9\u18b4\u0003\u0002\u0002\u0002\u03db\u18bb\u0003\u0002", + "\u0002\u0002\u03dd\u18c6\u0003\u0002\u0002\u0002\u03df\u18cd\u0003\u0002", + "\u0002\u0002\u03e1\u18dd\u0003\u0002\u0002\u0002\u03e3\u18f0\u0003\u0002", + "\u0002\u0002\u03e5\u1904\u0003\u0002\u0002\u0002\u03e7\u191b\u0003\u0002", + "\u0002\u0002\u03e9\u1930\u0003\u0002\u0002\u0002\u03eb\u1948\u0003\u0002", + "\u0002\u0002\u03ed\u1964\u0003\u0002\u0002\u0002\u03ef\u1970\u0003\u0002", + "\u0002\u0002\u03f1\u1976\u0003\u0002\u0002\u0002\u03f3\u197d\u0003\u0002", + "\u0002\u0002\u03f5\u198f\u0003\u0002\u0002\u0002\u03f7\u1997\u0003\u0002", + "\u0002\u0002\u03f9\u199c\u0003\u0002\u0002\u0002\u03fb\u19a5\u0003\u0002", + "\u0002\u0002\u03fd\u19ac\u0003\u0002\u0002\u0002\u03ff\u19b3\u0003\u0002", + "\u0002\u0002\u0401\u19b7\u0003\u0002\u0002\u0002\u0403\u19bc\u0003\u0002", + "\u0002\u0002\u0405\u19c7\u0003\u0002\u0002\u0002\u0407\u19d1\u0003\u0002", + "\u0002\u0002\u0409\u19da\u0003\u0002\u0002\u0002\u040b\u19e3\u0003\u0002", + "\u0002\u0002\u040d\u19ea\u0003\u0002\u0002\u0002\u040f\u19f2\u0003\u0002", + "\u0002\u0002\u0411\u19f8\u0003\u0002\u0002\u0002\u0413\u19ff\u0003\u0002", + "\u0002\u0002\u0415\u1a06\u0003\u0002\u0002\u0002\u0417\u1a0d\u0003\u0002", + "\u0002\u0002\u0419\u1a13\u0003\u0002\u0002\u0002\u041b\u1a18\u0003\u0002", + "\u0002\u0002\u041d\u1a21\u0003\u0002\u0002\u0002\u041f\u1a28\u0003\u0002", + "\u0002\u0002\u0421\u1a2d\u0003\u0002\u0002\u0002\u0423\u1a34\u0003\u0002", + "\u0002\u0002\u0425\u1a3b\u0003\u0002\u0002\u0002\u0427\u1a42\u0003\u0002", + "\u0002\u0002\u0429\u1a52\u0003\u0002\u0002\u0002\u042b\u1a65\u0003\u0002", + "\u0002\u0002\u042d\u1a76\u0003\u0002\u0002\u0002\u042f\u1a88\u0003\u0002", + "\u0002\u0002\u0431\u1a92\u0003\u0002\u0002\u0002\u0433\u1a9f\u0003\u0002", + "\u0002\u0002\u0435\u1aaa\u0003\u0002\u0002\u0002\u0437\u1ab0\u0003\u0002", + "\u0002\u0002\u0439\u1ab7\u0003\u0002\u0002\u0002\u043b\u1ac9\u0003\u0002", + "\u0002\u0002\u043d\u1ada\u0003\u0002\u0002\u0002\u043f\u1aed\u0003\u0002", + "\u0002\u0002\u0441\u1af4\u0003\u0002\u0002\u0002\u0443\u1af9\u0003\u0002", + "\u0002\u0002\u0445\u1b01\u0003\u0002\u0002\u0002\u0447\u1b08\u0003\u0002", + "\u0002\u0002\u0449\u1b0f\u0003\u0002\u0002\u0002\u044b\u1b1f\u0003\u0002", + "\u0002\u0002\u044d\u1b27\u0003\u0002\u0002\u0002\u044f\u1b34\u0003\u0002", + "\u0002\u0002\u0451\u1b42\u0003\u0002\u0002\u0002\u0453\u1b4a\u0003\u0002", + "\u0002\u0002\u0455\u1b50\u0003\u0002\u0002\u0002\u0457\u1b59\u0003\u0002", + "\u0002\u0002\u0459\u1b64\u0003\u0002\u0002\u0002\u045b\u1b6f\u0003\u0002", + "\u0002\u0002\u045d\u1b79\u0003\u0002\u0002\u0002\u045f\u1b83\u0003\u0002", + "\u0002\u0002\u0461\u1b88\u0003\u0002\u0002\u0002\u0463\u1b94\u0003\u0002", + "\u0002\u0002\u0465\u1ba0\u0003\u0002\u0002\u0002\u0467\u1bae\u0003\u0002", + "\u0002\u0002\u0469\u1bb7\u0003\u0002\u0002\u0002\u046b\u1bc0\u0003\u0002", + "\u0002\u0002\u046d\u1bca\u0003\u0002\u0002\u0002\u046f\u1bd3\u0003\u0002", + "\u0002\u0002\u0471\u1be4\u0003\u0002\u0002\u0002\u0473\u1bee\u0003\u0002", + "\u0002\u0002\u0475\u1bf6\u0003\u0002\u0002\u0002\u0477\u1bfc\u0003\u0002", + "\u0002\u0002\u0479\u1c04\u0003\u0002\u0002\u0002\u047b\u1c09\u0003\u0002", + "\u0002\u0002\u047d\u1c11\u0003\u0002\u0002\u0002\u047f\u1c20\u0003\u0002", + "\u0002\u0002\u0481\u1c2b\u0003\u0002\u0002\u0002\u0483\u1c31\u0003\u0002", + "\u0002\u0002\u0485\u1c3b\u0003\u0002\u0002\u0002\u0487\u1c40\u0003\u0002", + "\u0002\u0002\u0489\u1c48\u0003\u0002\u0002\u0002\u048b\u1c50\u0003\u0002", + "\u0002\u0002\u048d\u1c55\u0003\u0002\u0002\u0002\u048f\u1c5e\u0003\u0002", + "\u0002\u0002\u0491\u1c66\u0003\u0002\u0002\u0002\u0493\u1c6b\u0003\u0002", + "\u0002\u0002\u0495\u1c73\u0003\u0002\u0002\u0002\u0497\u1c78\u0003\u0002", + "\u0002\u0002\u0499\u1c7b\u0003\u0002\u0002\u0002\u049b\u1c7f\u0003\u0002", + "\u0002\u0002\u049d\u1c83\u0003\u0002\u0002\u0002\u049f\u1c87\u0003\u0002", + "\u0002\u0002\u04a1\u1c8b\u0003\u0002\u0002\u0002\u04a3\u1c8f\u0003\u0002", + "\u0002\u0002\u04a5\u1c98\u0003\u0002\u0002\u0002\u04a7\u1ca0\u0003\u0002", + "\u0002\u0002\u04a9\u1ca6\u0003\u0002\u0002\u0002\u04ab\u1caa\u0003\u0002", + "\u0002\u0002\u04ad\u1caf\u0003\u0002\u0002\u0002\u04af\u1cb6\u0003\u0002", + "\u0002\u0002\u04b1\u1cbb\u0003\u0002\u0002\u0002\u04b3\u1cc2\u0003\u0002", + "\u0002\u0002\u04b5\u1cce\u0003\u0002\u0002\u0002\u04b7\u1cd5\u0003\u0002", + "\u0002\u0002\u04b9\u1cdd\u0003\u0002\u0002\u0002\u04bb\u1ce5\u0003\u0002", + "\u0002\u0002\u04bd\u1cea\u0003\u0002\u0002\u0002\u04bf\u1cf2\u0003\u0002", + "\u0002\u0002\u04c1\u1cf9\u0003\u0002\u0002\u0002\u04c3\u1d02\u0003\u0002", + "\u0002\u0002\u04c5\u1d08\u0003\u0002\u0002\u0002\u04c7\u1d13\u0003\u0002", + "\u0002\u0002\u04c9\u1d2e\u0003\u0002\u0002\u0002\u04cb\u1d3a\u0003\u0002", + "\u0002\u0002\u04cd\u1d47\u0003\u0002\u0002\u0002\u04cf\u1d54\u0003\u0002", + "\u0002\u0002\u04d1\u1d6c\u0003\u0002\u0002\u0002\u04d3\u1d78\u0003\u0002", + "\u0002\u0002\u04d5\u1d89\u0003\u0002\u0002\u0002\u04d7\u1d9e\u0003\u0002", + "\u0002\u0002\u04d9\u1dad\u0003\u0002\u0002\u0002\u04db\u1dbb\u0003\u0002", + "\u0002\u0002\u04dd\u1dd3\u0003\u0002\u0002\u0002\u04df\u1deb\u0003\u0002", + "\u0002\u0002\u04e1\u1dfb\u0003\u0002\u0002\u0002\u04e3\u1e16\u0003\u0002", + "\u0002\u0002\u04e5\u1e2a\u0003\u0002\u0002\u0002\u04e7\u1e42\u0003\u0002", + "\u0002\u0002\u04e9\u1e57\u0003\u0002\u0002\u0002\u04eb\u1e6b\u0003\u0002", + "\u0002\u0002\u04ed\u1e77\u0003\u0002\u0002\u0002\u04ef\u1e94\u0003\u0002", + "\u0002\u0002\u04f1\u1ea0\u0003\u0002\u0002\u0002\u04f3\u1ead\u0003\u0002", + "\u0002\u0002\u04f5\u1ec4\u0003\u0002\u0002\u0002\u04f7\u1edb\u0003\u0002", + "\u0002\u0002\u04f9\u1eef\u0003\u0002\u0002\u0002\u04fb\u1f00\u0003\u0002", + "\u0002\u0002\u04fd\u1f09\u0003\u0002\u0002\u0002\u04ff\u1f0f\u0003\u0002", + "\u0002\u0002\u0501\u1f14\u0003\u0002\u0002\u0002\u0503\u1f1b\u0003\u0002", + "\u0002\u0002\u0505\u1f22\u0003\u0002\u0002\u0002\u0507\u1f29\u0003\u0002", + "\u0002\u0002\u0509\u1f30\u0003\u0002\u0002\u0002\u050b\u1f36\u0003\u0002", + "\u0002\u0002\u050d\u1f3c\u0003\u0002\u0002\u0002\u050f\u1f42\u0003\u0002", + "\u0002\u0002\u0511\u1f48\u0003\u0002\u0002\u0002\u0513\u1f4d\u0003\u0002", + "\u0002\u0002\u0515\u1f55\u0003\u0002\u0002\u0002\u0517\u1f5b\u0003\u0002", + "\u0002\u0002\u0519\u1f62\u0003\u0002\u0002\u0002\u051b\u1f66\u0003\u0002", + "\u0002\u0002\u051d\u1f6e\u0003\u0002\u0002\u0002\u051f\u1f74\u0003\u0002", + "\u0002\u0002\u0521\u1f7b\u0003\u0002\u0002\u0002\u0523\u1f7f\u0003\u0002", + "\u0002\u0002\u0525\u1f87\u0003\u0002\u0002\u0002\u0527\u1f8d\u0003\u0002", + "\u0002\u0002\u0529\u1f93\u0003\u0002\u0002\u0002\u052b\u1f9a\u0003\u0002", + "\u0002\u0002\u052d\u1fa1\u0003\u0002\u0002\u0002\u052f\u1fa8\u0003\u0002", + "\u0002\u0002\u0531\u1faf\u0003\u0002\u0002\u0002\u0533\u1fb5\u0003\u0002", + "\u0002\u0002\u0535\u1fbe\u0003\u0002\u0002\u0002\u0537\u1fc3\u0003\u0002", + "\u0002\u0002\u0539\u1fc8\u0003\u0002\u0002\u0002\u053b\u1fcf\u0003\u0002", + "\u0002\u0002\u053d\u1fd4\u0003\u0002\u0002\u0002\u053f\u1fd9\u0003\u0002", + "\u0002\u0002\u0541\u1fdf\u0003\u0002\u0002\u0002\u0543\u1fe7\u0003\u0002", + "\u0002\u0002\u0545\u1fed\u0003\u0002\u0002\u0002\u0547\u1ff2\u0003\u0002", + "\u0002\u0002\u0549\u1ffa\u0003\u0002\u0002\u0002\u054b\u2002\u0003\u0002", + "\u0002\u0002\u054d\u200a\u0003\u0002\u0002\u0002\u054f\u2014\u0003\u0002", + "\u0002\u0002\u0551\u2018\u0003\u0002\u0002\u0002\u0553\u2022\u0003\u0002", + "\u0002\u0002\u0555\u2029\u0003\u0002\u0002\u0002\u0557\u2030\u0003\u0002", + "\u0002\u0002\u0559\u203b\u0003\u0002\u0002\u0002\u055b\u2042\u0003\u0002", + "\u0002\u0002\u055d\u2046\u0003\u0002\u0002\u0002\u055f\u2051\u0003\u0002", + "\u0002\u0002\u0561\u2064\u0003\u0002\u0002\u0002\u0563\u206b\u0003\u0002", + "\u0002\u0002\u0565\u2076\u0003\u0002\u0002\u0002\u0567\u2080\u0003\u0002", + "\u0002\u0002\u0569\u208c\u0003\u0002\u0002\u0002\u056b\u2099\u0003\u0002", + "\u0002\u0002\u056d\u20ac\u0003\u0002\u0002\u0002\u056f\u20bb\u0003\u0002", + "\u0002\u0002\u0571\u20c4\u0003\u0002\u0002\u0002\u0573\u20cf\u0003\u0002", + "\u0002\u0002\u0575\u20df\u0003\u0002\u0002\u0002\u0577\u20ea\u0003\u0002", + "\u0002\u0002\u0579\u20f7\u0003\u0002\u0002\u0002\u057b\u20fd\u0003\u0002", + "\u0002\u0002\u057d\u2105\u0003\u0002\u0002\u0002\u057f\u2109\u0003\u0002", + "\u0002\u0002\u0581\u210e\u0003\u0002\u0002\u0002\u0583\u2116\u0003\u0002", + "\u0002\u0002\u0585\u211e\u0003\u0002\u0002\u0002\u0587\u212a\u0003\u0002", + "\u0002\u0002\u0589\u2136\u0003\u0002\u0002\u0002\u058b\u213b\u0003\u0002", + "\u0002\u0002\u058d\u2144\u0003\u0002\u0002\u0002\u058f\u2149\u0003\u0002", + "\u0002\u0002\u0591\u2150\u0003\u0002\u0002\u0002\u0593\u2156\u0003\u0002", + "\u0002\u0002\u0595\u215c\u0003\u0002\u0002\u0002\u0597\u216f\u0003\u0002", + "\u0002\u0002\u0599\u2181\u0003\u0002\u0002\u0002\u059b\u2194\u0003\u0002", + "\u0002\u0002\u059d\u21a4\u0003\u0002\u0002\u0002\u059f\u21b6\u0003\u0002", + "\u0002\u0002\u05a1\u21bb\u0003\u0002\u0002\u0002\u05a3\u21c1\u0003\u0002", + "\u0002\u0002\u05a5\u21cb\u0003\u0002\u0002\u0002\u05a7\u21cf\u0003\u0002", + "\u0002\u0002\u05a9\u21d9\u0003\u0002\u0002\u0002\u05ab\u21e4\u0003\u0002", + "\u0002\u0002\u05ad\u21eb\u0003\u0002\u0002\u0002\u05af\u21f8\u0003\u0002", + "\u0002\u0002\u05b1\u21fd\u0003\u0002\u0002\u0002\u05b3\u2205\u0003\u0002", + "\u0002\u0002\u05b5\u220e\u0003\u0002\u0002\u0002\u05b7\u221f\u0003\u0002", + "\u0002\u0002\u05b9\u2227\u0003\u0002\u0002\u0002\u05bb\u2233\u0003\u0002", + "\u0002\u0002\u05bd\u2240\u0003\u0002\u0002\u0002\u05bf\u224a\u0003\u0002", + "\u0002\u0002\u05c1\u2253\u0003\u0002\u0002\u0002\u05c3\u225a\u0003\u0002", + "\u0002\u0002\u05c5\u2264\u0003\u0002\u0002\u0002\u05c7\u2272\u0003\u0002", + "\u0002\u0002\u05c9\u2277\u0003\u0002\u0002\u0002\u05cb\u2282\u0003\u0002", + "\u0002\u0002\u05cd\u2286\u0003\u0002\u0002\u0002\u05cf\u228a\u0003\u0002", + "\u0002\u0002\u05d1\u2290\u0003\u0002\u0002\u0002\u05d3\u22ab\u0003\u0002", + "\u0002\u0002\u05d5\u22c5\u0003\u0002\u0002\u0002\u05d7\u22da\u0003\u0002", + "\u0002\u0002\u05d9\u22e8\u0003\u0002\u0002\u0002\u05db\u22f0\u0003\u0002", + "\u0002\u0002\u05dd\u22f9\u0003\u0002\u0002\u0002\u05df\u2305\u0003\u0002", + "\u0002\u0002\u05e1\u230d\u0003\u0002\u0002\u0002\u05e3\u2318\u0003\u0002", + "\u0002\u0002\u05e5\u2322\u0003\u0002\u0002\u0002\u05e7\u232c\u0003\u0002", + "\u0002\u0002\u05e9\u2333\u0003\u0002\u0002\u0002\u05eb\u233b\u0003\u0002", + "\u0002\u0002\u05ed\u2347\u0003\u0002\u0002\u0002\u05ef\u2353\u0003\u0002", + "\u0002\u0002\u05f1\u235d\u0003\u0002\u0002\u0002\u05f3\u2366\u0003\u0002", + "\u0002\u0002\u05f5\u236a\u0003\u0002\u0002\u0002\u05f7\u2371\u0003\u0002", + "\u0002\u0002\u05f9\u2379\u0003\u0002\u0002\u0002\u05fb\u2382\u0003\u0002", + "\u0002\u0002\u05fd\u238b\u0003\u0002\u0002\u0002\u05ff\u2392\u0003\u0002", + "\u0002\u0002\u0601\u2396\u0003\u0002\u0002\u0002\u0603\u23a1\u0003\u0002", + "\u0002\u0002\u0605\u23ae\u0003\u0002\u0002\u0002\u0607\u23bb\u0003\u0002", + "\u0002\u0002\u0609\u23c1\u0003\u0002\u0002\u0002\u060b\u23cd\u0003\u0002", + "\u0002\u0002\u060d\u23d3\u0003\u0002\u0002\u0002\u060f\u23da\u0003\u0002", + "\u0002\u0002\u0611\u23e5\u0003\u0002\u0002\u0002\u0613\u23f1\u0003\u0002", + "\u0002\u0002\u0615\u23fb\u0003\u0002\u0002\u0002\u0617\u2409\u0003\u0002", + "\u0002\u0002\u0619\u241a\u0003\u0002\u0002\u0002\u061b\u242a\u0003\u0002", + "\u0002\u0002\u061d\u2445\u0003\u0002\u0002\u0002\u061f\u245f\u0003\u0002", + "\u0002\u0002\u0621\u2470\u0003\u0002\u0002\u0002\u0623\u2480\u0003\u0002", + "\u0002\u0002\u0625\u248a\u0003\u0002\u0002\u0002\u0627\u2497\u0003\u0002", + "\u0002\u0002\u0629\u24a4\u0003\u0002\u0002\u0002\u062b\u24b0\u0003\u0002", + "\u0002\u0002\u062d\u24bb\u0003\u0002\u0002\u0002\u062f\u24c4\u0003\u0002", + "\u0002\u0002\u0631\u24cc\u0003\u0002\u0002\u0002\u0633\u24d5\u0003\u0002", + "\u0002\u0002\u0635\u24e1\u0003\u0002\u0002\u0002\u0637\u24ef\u0003\u0002", + "\u0002\u0002\u0639\u24f3\u0003\u0002\u0002\u0002\u063b\u24fa\u0003\u0002", + "\u0002\u0002\u063d\u2505\u0003\u0002\u0002\u0002\u063f\u2510\u0003\u0002", + "\u0002\u0002\u0641\u251a\u0003\u0002\u0002\u0002\u0643\u2524\u0003\u0002", + "\u0002\u0002\u0645\u252a\u0003\u0002\u0002\u0002\u0647\u2538\u0003\u0002", + "\u0002\u0002\u0649\u2543\u0003\u0002\u0002\u0002\u064b\u254c\u0003\u0002", + "\u0002\u0002\u064d\u2554\u0003\u0002\u0002\u0002\u064f\u255b\u0003\u0002", + "\u0002\u0002\u0651\u2564\u0003\u0002\u0002\u0002\u0653\u2571\u0003\u0002", + "\u0002\u0002\u0655\u2579\u0003\u0002\u0002\u0002\u0657\u2588\u0003\u0002", + "\u0002\u0002\u0659\u2597\u0003\u0002\u0002\u0002\u065b\u259f\u0003\u0002", + "\u0002\u0002\u065d\u25ac\u0003\u0002\u0002\u0002\u065f\u25bb\u0003\u0002", + "\u0002\u0002\u0661\u25c1\u0003\u0002\u0002\u0002\u0663\u25c7\u0003\u0002", + "\u0002\u0002\u0665\u25ce\u0003\u0002\u0002\u0002\u0667\u25db\u0003\u0002", + "\u0002\u0002\u0669\u25e7\u0003\u0002\u0002\u0002\u066b\u25fa\u0003\u0002", + "\u0002\u0002\u066d\u260c\u0003\u0002\u0002\u0002\u066f\u260f\u0003\u0002", + "\u0002\u0002\u0671\u2619\u0003\u0002\u0002\u0002\u0673\u2620\u0003\u0002", + "\u0002\u0002\u0675\u2624\u0003\u0002\u0002\u0002\u0677\u262a\u0003\u0002", + "\u0002\u0002\u0679\u262f\u0003\u0002\u0002\u0002\u067b\u2635\u0003\u0002", + "\u0002\u0002\u067d\u263a\u0003\u0002\u0002\u0002\u067f\u2640\u0003\u0002", + "\u0002\u0002\u0681\u2649\u0003\u0002\u0002\u0002\u0683\u2652\u0003\u0002", + "\u0002\u0002\u0685\u265b\u0003\u0002\u0002\u0002\u0687\u266b\u0003\u0002", + "\u0002\u0002\u0689\u2677\u0003\u0002\u0002\u0002\u068b\u2683\u0003\u0002", + "\u0002\u0002\u068d\u268c\u0003\u0002\u0002\u0002\u068f\u269a\u0003\u0002", + "\u0002\u0002\u0691\u26a6\u0003\u0002\u0002\u0002\u0693\u26b1\u0003\u0002", + "\u0002\u0002\u0695\u26bb\u0003\u0002\u0002\u0002\u0697\u26bf\u0003\u0002", + "\u0002\u0002\u0699\u26cd\u0003\u0002\u0002\u0002\u069b\u26da\u0003\u0002", + "\u0002\u0002\u069d\u26e4\u0003\u0002\u0002\u0002\u069f\u26f3\u0003\u0002", + "\u0002\u0002\u06a1\u2701\u0003\u0002\u0002\u0002\u06a3\u270f\u0003\u0002", + "\u0002\u0002\u06a5\u271c\u0003\u0002\u0002\u0002\u06a7\u2734\u0003\u0002", + "\u0002\u0002\u06a9\u274b\u0003\u0002\u0002\u0002\u06ab\u275e\u0003\u0002", + "\u0002\u0002\u06ad\u2770\u0003\u0002\u0002\u0002\u06af\u2785\u0003\u0002", + "\u0002\u0002\u06b1\u2799\u0003\u0002\u0002\u0002\u06b3\u27a4\u0003\u0002", + "\u0002\u0002\u06b5\u27ab\u0003\u0002\u0002\u0002\u06b7\u27b9\u0003\u0002", + "\u0002\u0002\u06b9\u27ca\u0003\u0002\u0002\u0002\u06bb\u27d4\u0003\u0002", + "\u0002\u0002\u06bd\u27d8\u0003\u0002\u0002\u0002\u06bf\u27e5\u0003\u0002", + "\u0002\u0002\u06c1\u27e9\u0003\u0002\u0002\u0002\u06c3\u27f2\u0003\u0002", + "\u0002\u0002\u06c5\u27fd\u0003\u0002\u0002\u0002\u06c7\u2809\u0003\u0002", + "\u0002\u0002\u06c9\u280c\u0003\u0002\u0002\u0002\u06cb\u281a\u0003\u0002", + "\u0002\u0002\u06cd\u2827\u0003\u0002\u0002\u0002\u06cf\u282e\u0003\u0002", + "\u0002\u0002\u06d1\u283b\u0003\u0002\u0002\u0002\u06d3\u2847\u0003\u0002", + "\u0002\u0002\u06d5\u2857\u0003\u0002\u0002\u0002\u06d7\u2866\u0003\u0002", + "\u0002\u0002\u06d9\u286a\u0003\u0002\u0002\u0002\u06db\u2870\u0003\u0002", + "\u0002\u0002\u06dd\u2876\u0003\u0002\u0002\u0002\u06df\u287e\u0003\u0002", + "\u0002\u0002\u06e1\u2883\u0003\u0002\u0002\u0002\u06e3\u2890\u0003\u0002", + "\u0002\u0002\u06e5\u289d\u0003\u0002\u0002\u0002\u06e7\u28a5\u0003\u0002", + "\u0002\u0002\u06e9\u28ab\u0003\u0002\u0002\u0002\u06eb\u28b5\u0003\u0002", + "\u0002\u0002\u06ed\u28ba\u0003\u0002\u0002\u0002\u06ef\u28c0\u0003\u0002", + "\u0002\u0002\u06f1\u28cc\u0003\u0002\u0002\u0002\u06f3\u28d9\u0003\u0002", + "\u0002\u0002\u06f5\u28dd\u0003\u0002\u0002\u0002\u06f7\u28e2\u0003\u0002", + "\u0002\u0002\u06f9\u28e7\u0003\u0002\u0002\u0002\u06fb\u28f3\u0003\u0002", + "\u0002\u0002\u06fd\u28f8\u0003\u0002\u0002\u0002\u06ff\u28fc\u0003\u0002", + "\u0002\u0002\u0701\u2902\u0003\u0002\u0002\u0002\u0703\u290a\u0003\u0002", + "\u0002\u0002\u0705\u2926\u0003\u0002\u0002\u0002\u0707\u292b\u0003\u0002", + "\u0002\u0002\u0709\u2930\u0003\u0002\u0002\u0002\u070b\u293b\u0003\u0002", + "\u0002\u0002\u070d\u2942\u0003\u0002\u0002\u0002\u070f\u294e\u0003\u0002", + "\u0002\u0002\u0711\u2956\u0003\u0002\u0002\u0002\u0713\u2962\u0003\u0002", + "\u0002\u0002\u0715\u296c\u0003\u0002\u0002\u0002\u0717\u2975\u0003\u0002", + "\u0002\u0002\u0719\u297e\u0003\u0002\u0002\u0002\u071b\u2988\u0003\u0002", + "\u0002\u0002\u071d\u2994\u0003\u0002\u0002\u0002\u071f\u29a0\u0003\u0002", + "\u0002\u0002\u0721\u29ab\u0003\u0002\u0002\u0002\u0723\u29b9\u0003\u0002", + "\u0002\u0002\u0725\u29c6\u0003\u0002\u0002\u0002\u0727\u29d2\u0003\u0002", + "\u0002\u0002\u0729\u29de\u0003\u0002\u0002\u0002\u072b\u29ea\u0003\u0002", + "\u0002\u0002\u072d\u29f6\u0003\u0002\u0002\u0002\u072f\u2a00\u0003\u0002", + "\u0002\u0002\u0731\u2a10\u0003\u0002\u0002\u0002\u0733\u2a24\u0003\u0002", + "\u0002\u0002\u0735\u2a37\u0003\u0002\u0002\u0002\u0737\u2a4a\u0003\u0002", + "\u0002\u0002\u0739\u2a68\u0003\u0002\u0002\u0002\u073b\u2a85\u0003\u0002", + "\u0002\u0002\u073d\u2a99\u0003\u0002\u0002\u0002\u073f\u2aac\u0003\u0002", + "\u0002\u0002\u0741\u2ab9\u0003\u0002\u0002\u0002\u0743\u2ac9\u0003\u0002", + "\u0002\u0002\u0745\u2ad9\u0003\u0002\u0002\u0002\u0747\u2ae8\u0003\u0002", + "\u0002\u0002\u0749\u2af9\u0003\u0002\u0002\u0002\u074b\u2b09\u0003\u0002", + "\u0002\u0002\u074d\u2b17\u0003\u0002\u0002\u0002\u074f\u2b23\u0003\u0002", + "\u0002\u0002\u0751\u2b2e\u0003\u0002\u0002\u0002\u0753\u2b3a\u0003\u0002", + "\u0002\u0002\u0755\u2b4a\u0003\u0002\u0002\u0002\u0757\u2b59\u0003\u0002", + "\u0002\u0002\u0759\u2b6f\u0003\u0002\u0002\u0002\u075b\u2b84\u0003\u0002", + "\u0002\u0002\u075d\u2b95\u0003\u0002\u0002\u0002\u075f\u2ba8\u0003\u0002", + "\u0002\u0002\u0761\u2bbc\u0003\u0002\u0002\u0002\u0763\u2bc9\u0003\u0002", + "\u0002\u0002\u0765\u2bd5\u0003\u0002\u0002\u0002\u0767\u2be6\u0003\u0002", + "\u0002\u0002\u0769\u2bf6\u0003\u0002\u0002\u0002\u076b\u2c00\u0003\u0002", + "\u0002\u0002\u076d\u2c10\u0003\u0002\u0002\u0002\u076f\u2c1f\u0003\u0002", + "\u0002\u0002\u0771\u2c32\u0003\u0002\u0002\u0002\u0773\u2c44\u0003\u0002", + "\u0002\u0002\u0775\u2c4c\u0003\u0002\u0002\u0002\u0777\u2c5a\u0003\u0002", + "\u0002\u0002\u0779\u2c6b\u0003\u0002\u0002\u0002\u077b\u2c76\u0003\u0002", + "\u0002\u0002\u077d\u2c7f\u0003\u0002\u0002\u0002\u077f\u2c89\u0003\u0002", + "\u0002\u0002\u0781\u2c8e\u0003\u0002\u0002\u0002\u0783\u2c93\u0003\u0002", + "\u0002\u0002\u0785\u2c9b\u0003\u0002\u0002\u0002\u0787\u2cab\u0003\u0002", + "\u0002\u0002\u0789\u2cb3\u0003\u0002\u0002\u0002\u078b\u2cbf\u0003\u0002", + "\u0002\u0002\u078d\u2cc3\u0003\u0002\u0002\u0002\u078f\u2ccc\u0003\u0002", + "\u0002\u0002\u0791\u2cd9\u0003\u0002\u0002\u0002\u0793\u2ce7\u0003\u0002", + "\u0002\u0002\u0795\u2cf3\u0003\u0002\u0002\u0002\u0797\u2cff\u0003\u0002", + "\u0002\u0002\u0799\u2d07\u0003\u0002\u0002\u0002\u079b\u2d11\u0003\u0002", + "\u0002\u0002\u079d\u2d19\u0003\u0002\u0002\u0002\u079f\u2d24\u0003\u0002", + "\u0002\u0002\u07a1\u2d2a\u0003\u0002\u0002\u0002\u07a3\u2d35\u0003\u0002", + "\u0002\u0002\u07a5\u2d49\u0003\u0002\u0002\u0002\u07a7\u2d4f\u0003\u0002", + "\u0002\u0002\u07a9\u2d5e\u0003\u0002\u0002\u0002\u07ab\u2d68\u0003\u0002", + "\u0002\u0002\u07ad\u2d6e\u0003\u0002\u0002\u0002\u07af\u2d73\u0003\u0002", + "\u0002\u0002\u07b1\u2d7e\u0003\u0002\u0002\u0002\u07b3\u2d99\u0003\u0002", + "\u0002\u0002\u07b5\u2da1\u0003\u0002\u0002\u0002\u07b7\u2dc3\u0003\u0002", + "\u0002\u0002\u07b9\u2dcb\u0003\u0002\u0002\u0002\u07bb\u2dd6\u0003\u0002", + "\u0002\u0002\u07bd\u2de4\u0003\u0002\u0002\u0002\u07bf\u2deb\u0003\u0002", + "\u0002\u0002\u07c1\u2df4\u0003\u0002\u0002\u0002\u07c3\u2df6\u0003\u0002", + "\u0002\u0002\u07c5\u2df8\u0003\u0002\u0002\u0002\u07c7\u2dfb\u0003\u0002", + "\u0002\u0002\u07c9\u2dfe\u0003\u0002\u0002\u0002\u07cb\u2e01\u0003\u0002", + "\u0002\u0002\u07cd\u2e04\u0003\u0002\u0002\u0002\u07cf\u2e07\u0003\u0002", + "\u0002\u0002\u07d1\u2e0a\u0003\u0002\u0002\u0002\u07d3\u2e0d\u0003\u0002", + "\u0002\u0002\u07d5\u2e10\u0003\u0002\u0002\u0002\u07d7\u2e13\u0003\u0002", + "\u0002\u0002\u07d9\u2e15\u0003\u0002\u0002\u0002\u07db\u2e17\u0003\u0002", + "\u0002\u0002\u07dd\u2e19\u0003\u0002\u0002\u0002\u07df\u2e1b\u0003\u0002", + "\u0002\u0002\u07e1\u2e1e\u0003\u0002\u0002\u0002\u07e3\u2e20\u0003\u0002", + "\u0002\u0002\u07e5\u2e24\u0003\u0002\u0002\u0002\u07e7\u2e28\u0003\u0002", + "\u0002\u0002\u07e9\u2e2a\u0003\u0002\u0002\u0002\u07eb\u2e2c\u0003\u0002", + "\u0002\u0002\u07ed\u2e2e\u0003\u0002\u0002\u0002\u07ef\u2e30\u0003\u0002", + "\u0002\u0002\u07f1\u2e32\u0003\u0002\u0002\u0002\u07f3\u2e34\u0003\u0002", + "\u0002\u0002\u07f5\u2e36\u0003\u0002\u0002\u0002\u07f7\u2e38\u0003\u0002", + "\u0002\u0002\u07f9\u2e3a\u0003\u0002\u0002\u0002\u07fb\u2e3c\u0003\u0002", + "\u0002\u0002\u07fd\u2e3e\u0003\u0002\u0002\u0002\u07ff\u2e40\u0003\u0002", + "\u0002\u0002\u0801\u2e42\u0003\u0002\u0002\u0002\u0803\u2e44\u0003\u0002", + "\u0002\u0002\u0805\u2e46\u0003\u0002\u0002\u0002\u0807\u2e48\u0003\u0002", + "\u0002\u0002\u0809\u2e4a\u0003\u0002\u0002\u0002\u080b\u2e4c\u0003\u0002", + "\u0002\u0002\u080d\u2e4e\u0003\u0002\u0002\u0002\u080f\u2e50\u0003\u0002", + "\u0002\u0002\u0811\u2e55\u0003\u0002\u0002\u0002\u0813\u2e57\u0003\u0002", + "\u0002\u0002\u0815\u2e5c\u0003\u0002\u0002\u0002\u0817\u2e62\u0003\u0002", + "\u0002\u0002\u0819\u2e68\u0003\u0002\u0002\u0002\u081b\u2e6b\u0003\u0002", + "\u0002\u0002\u081d\u2e82\u0003\u0002\u0002\u0002\u081f\u2eaf\u0003\u0002", + "\u0002\u0002\u0821\u2eb1\u0003\u0002\u0002\u0002\u0823\u2eb4\u0003\u0002", + "\u0002\u0002\u0825\u2eb6\u0003\u0002\u0002\u0002\u0827\u2eb9\u0003\u0002", + "\u0002\u0002\u0829\u2ebc\u0003\u0002\u0002\u0002\u082b\u2ebe\u0003\u0002", + "\u0002\u0002\u082d\u2eca\u0003\u0002\u0002\u0002\u082f\u2ed3\u0003\u0002", + "\u0002\u0002\u0831\u2ede\u0003\u0002\u0002\u0002\u0833\u2f11\u0003\u0002", + "\u0002\u0002\u0835\u2f13\u0003\u0002\u0002\u0002\u0837\u2f1f\u0003\u0002", + "\u0002\u0002\u0839\u2f2d\u0003\u0002\u0002\u0002\u083b\u2f3a\u0003\u0002", + "\u0002\u0002\u083d\u2f47\u0003\u0002\u0002\u0002\u083f\u2f54\u0003\u0002", + "\u0002\u0002\u0841\u2f56\u0003\u0002\u0002\u0002\u0843\u2f58\u0003\u0002", + "\u0002\u0002\u0845\u2f61\u0003\u0002\u0002\u0002\u0847\u0849\t\u0002", + "\u0002\u0002\u0848\u0847\u0003\u0002\u0002\u0002\u0849\u084a\u0003\u0002", + "\u0002\u0002\u084a\u0848\u0003\u0002\u0002\u0002\u084a\u084b\u0003\u0002", + "\u0002\u0002\u084b\u084c\u0003\u0002\u0002\u0002\u084c\u084d\b\u0002", + "\u0002\u0002\u084d\u0004\u0003\u0002\u0002\u0002\u084e\u084f\u00071", + "\u0002\u0002\u084f\u0850\u0007,\u0002\u0002\u0850\u0851\u0007#\u0002", + "\u0002\u0851\u0853\u0003\u0002\u0002\u0002\u0852\u0854\u000b\u0002\u0002", + "\u0002\u0853\u0852\u0003\u0002\u0002\u0002\u0854\u0855\u0003\u0002\u0002", + "\u0002\u0855\u0856\u0003\u0002\u0002\u0002\u0855\u0853\u0003\u0002\u0002", + "\u0002\u0856\u0857\u0003\u0002\u0002\u0002\u0857\u0858\u0007,\u0002", + "\u0002\u0858\u0859\u00071\u0002\u0002\u0859\u085a\u0003\u0002\u0002", + "\u0002\u085a\u085b\b\u0003\u0003\u0002\u085b\u0006\u0003\u0002\u0002", + "\u0002\u085c\u085d\u00071\u0002\u0002\u085d\u085e\u0007,\u0002\u0002", + "\u085e\u0862\u0003\u0002\u0002\u0002\u085f\u0861\u000b\u0002\u0002\u0002", + "\u0860\u085f\u0003\u0002\u0002\u0002\u0861\u0864\u0003\u0002\u0002\u0002", + "\u0862\u0863\u0003\u0002\u0002\u0002\u0862\u0860\u0003\u0002\u0002\u0002", + "\u0863\u0865\u0003\u0002\u0002\u0002\u0864\u0862\u0003\u0002\u0002\u0002", + "\u0865\u0866\u0007,\u0002\u0002\u0866\u0867\u00071\u0002\u0002\u0867", + "\u0868\u0003\u0002\u0002\u0002\u0868\u0869\b\u0004\u0002\u0002\u0869", + "\b\u0003\u0002\u0002\u0002\u086a\u086b\u0007/\u0002\u0002\u086b\u086c", + "\u0007/\u0002\u0002\u086c\u086f\u0007\"\u0002\u0002\u086d\u086f\u0007", + "%\u0002\u0002\u086e\u086a\u0003\u0002\u0002\u0002\u086e\u086d\u0003", + "\u0002\u0002\u0002\u086f\u0873\u0003\u0002\u0002\u0002\u0870\u0872\n", + "\u0003\u0002\u0002\u0871\u0870\u0003\u0002\u0002\u0002\u0872\u0875\u0003", + "\u0002\u0002\u0002\u0873\u0871\u0003\u0002\u0002\u0002\u0873\u0874\u0003", + "\u0002\u0002\u0002\u0874\u087b\u0003\u0002\u0002\u0002\u0875\u0873\u0003", + "\u0002\u0002\u0002\u0876\u0878\u0007\u000f\u0002\u0002\u0877\u0876\u0003", + "\u0002\u0002\u0002\u0877\u0878\u0003\u0002\u0002\u0002\u0878\u0879\u0003", + "\u0002\u0002\u0002\u0879\u087c\u0007\f\u0002\u0002\u087a\u087c\u0007", + "\u0002\u0002\u0003\u087b\u0877\u0003\u0002\u0002\u0002\u087b\u087a\u0003", + "\u0002\u0002\u0002\u087c\u0888\u0003\u0002\u0002\u0002\u087d\u087e\u0007", + "/\u0002\u0002\u087e\u087f\u0007/\u0002\u0002\u087f\u0885\u0003\u0002", + "\u0002\u0002\u0880\u0882\u0007\u000f\u0002\u0002\u0881\u0880\u0003\u0002", + "\u0002\u0002\u0881\u0882\u0003\u0002\u0002\u0002\u0882\u0883\u0003\u0002", + "\u0002\u0002\u0883\u0886\u0007\f\u0002\u0002\u0884\u0886\u0007\u0002", + "\u0002\u0003\u0885\u0881\u0003\u0002\u0002\u0002\u0885\u0884\u0003\u0002", + "\u0002\u0002\u0886\u0888\u0003\u0002\u0002\u0002\u0887\u086e\u0003\u0002", + "\u0002\u0002\u0887\u087d\u0003\u0002\u0002\u0002\u0888\u0889\u0003\u0002", + "\u0002\u0002\u0889\u088a\b\u0005\u0002\u0002\u088a\n\u0003\u0002\u0002", + "\u0002\u088b\u088c\u0007C\u0002\u0002\u088c\u088d\u0007F\u0002\u0002", + "\u088d\u088e\u0007F\u0002\u0002\u088e\f\u0003\u0002\u0002\u0002\u088f", + "\u0890\u0007C\u0002\u0002\u0890\u0891\u0007N\u0002\u0002\u0891\u0892", + "\u0007N\u0002\u0002\u0892\u000e\u0003\u0002\u0002\u0002\u0893\u0894", + "\u0007C\u0002\u0002\u0894\u0895\u0007N\u0002\u0002\u0895\u0896\u0007", + "V\u0002\u0002\u0896\u0897\u0007G\u0002\u0002\u0897\u0898\u0007T\u0002", + "\u0002\u0898\u0010\u0003\u0002\u0002\u0002\u0899\u089a\u0007C\u0002", + "\u0002\u089a\u089b\u0007N\u0002\u0002\u089b\u089c\u0007Y\u0002\u0002", + "\u089c\u089d\u0007C\u0002\u0002\u089d\u089e\u0007[\u0002\u0002\u089e", + "\u089f\u0007U\u0002\u0002\u089f\u0012\u0003\u0002\u0002\u0002\u08a0", + "\u08a1\u0007C\u0002\u0002\u08a1\u08a2\u0007P\u0002\u0002\u08a2\u08a3", + "\u0007C\u0002\u0002\u08a3\u08a4\u0007N\u0002\u0002\u08a4\u08a5\u0007", + "[\u0002\u0002\u08a5\u08a6\u0007\\\u0002\u0002\u08a6\u08a7\u0007G\u0002", + "\u0002\u08a7\u0014\u0003\u0002\u0002\u0002\u08a8\u08a9\u0007C\u0002", + "\u0002\u08a9\u08aa\u0007P\u0002\u0002\u08aa\u08ab\u0007F\u0002\u0002", + "\u08ab\u0016\u0003\u0002\u0002\u0002\u08ac\u08ad\u0007C\u0002\u0002", + "\u08ad\u08ae\u0007U\u0002\u0002\u08ae\u0018\u0003\u0002\u0002\u0002", + "\u08af\u08b0\u0007C\u0002\u0002\u08b0\u08b1\u0007U\u0002\u0002\u08b1", + "\u08b2\u0007E\u0002\u0002\u08b2\u001a\u0003\u0002\u0002\u0002\u08b3", + "\u08b4\u0007D\u0002\u0002\u08b4\u08b5\u0007G\u0002\u0002\u08b5\u08b6", + "\u0007H\u0002\u0002\u08b6\u08b7\u0007Q\u0002\u0002\u08b7\u08b8\u0007", + "T\u0002\u0002\u08b8\u08b9\u0007G\u0002\u0002\u08b9\u001c\u0003\u0002", + "\u0002\u0002\u08ba\u08bb\u0007D\u0002\u0002\u08bb\u08bc\u0007G\u0002", + "\u0002\u08bc\u08bd\u0007V\u0002\u0002\u08bd\u08be\u0007Y\u0002\u0002", + "\u08be\u08bf\u0007G\u0002\u0002\u08bf\u08c0\u0007G\u0002\u0002\u08c0", + "\u08c1\u0007P\u0002\u0002\u08c1\u001e\u0003\u0002\u0002\u0002\u08c2", + "\u08c3\u0007D\u0002\u0002\u08c3\u08c4\u0007Q\u0002\u0002\u08c4\u08c5", + "\u0007V\u0002\u0002\u08c5\u08c6\u0007J\u0002\u0002\u08c6 \u0003\u0002", + "\u0002\u0002\u08c7\u08c8\u0007D\u0002\u0002\u08c8\u08c9\u0007[\u0002", + "\u0002\u08c9\"\u0003\u0002\u0002\u0002\u08ca\u08cb\u0007E\u0002\u0002", + "\u08cb\u08cc\u0007C\u0002\u0002\u08cc\u08cd\u0007N\u0002\u0002\u08cd", + "\u08ce\u0007N\u0002\u0002\u08ce$\u0003\u0002\u0002\u0002\u08cf\u08d0", + "\u0007E\u0002\u0002\u08d0\u08d1\u0007C\u0002\u0002\u08d1\u08d2\u0007", + "U\u0002\u0002\u08d2\u08d3\u0007E\u0002\u0002\u08d3\u08d4\u0007C\u0002", + "\u0002\u08d4\u08d5\u0007F\u0002\u0002\u08d5\u08d6\u0007G\u0002\u0002", + "\u08d6&\u0003\u0002\u0002\u0002\u08d7\u08d8\u0007E\u0002\u0002\u08d8", + "\u08d9\u0007C\u0002\u0002\u08d9\u08da\u0007U\u0002\u0002\u08da\u08db", + "\u0007G\u0002\u0002\u08db(\u0003\u0002\u0002\u0002\u08dc\u08dd\u0007", + "E\u0002\u0002\u08dd\u08de\u0007C\u0002\u0002\u08de\u08df\u0007U\u0002", + "\u0002\u08df\u08e0\u0007V\u0002\u0002\u08e0*\u0003\u0002\u0002\u0002", + "\u08e1\u08e2\u0007E\u0002\u0002\u08e2\u08e3\u0007J\u0002\u0002\u08e3", + "\u08e4\u0007C\u0002\u0002\u08e4\u08e5\u0007P\u0002\u0002\u08e5\u08e6", + "\u0007I\u0002\u0002\u08e6\u08e7\u0007G\u0002\u0002\u08e7,\u0003\u0002", + "\u0002\u0002\u08e8\u08e9\u0007E\u0002\u0002\u08e9\u08ea\u0007J\u0002", + "\u0002\u08ea\u08eb\u0007C\u0002\u0002\u08eb\u08ec\u0007T\u0002\u0002", + "\u08ec\u08ed\u0007C\u0002\u0002\u08ed\u08ee\u0007E\u0002\u0002\u08ee", + "\u08ef\u0007V\u0002\u0002\u08ef\u08f0\u0007G\u0002\u0002\u08f0\u08f1", + "\u0007T\u0002\u0002\u08f1.\u0003\u0002\u0002\u0002\u08f2\u08f3\u0007", + "E\u0002\u0002\u08f3\u08f4\u0007J\u0002\u0002\u08f4\u08f5\u0007G\u0002", + "\u0002\u08f5\u08f6\u0007E\u0002\u0002\u08f6\u08f7\u0007M\u0002\u0002", + "\u08f70\u0003\u0002\u0002\u0002\u08f8\u08f9\u0007E\u0002\u0002\u08f9", + "\u08fa\u0007Q\u0002\u0002\u08fa\u08fb\u0007N\u0002\u0002\u08fb\u08fc", + "\u0007N\u0002\u0002\u08fc\u08fd\u0007C\u0002\u0002\u08fd\u08fe\u0007", + "V\u0002\u0002\u08fe\u08ff\u0007G\u0002\u0002\u08ff2\u0003\u0002\u0002", + "\u0002\u0900\u0901\u0007E\u0002\u0002\u0901\u0902\u0007Q\u0002\u0002", + "\u0902\u0903\u0007N\u0002\u0002\u0903\u0904\u0007W\u0002\u0002\u0904", + "\u0905\u0007O\u0002\u0002\u0905\u0906\u0007P\u0002\u0002\u09064\u0003", + "\u0002\u0002\u0002\u0907\u0908\u0007E\u0002\u0002\u0908\u0909\u0007", + "Q\u0002\u0002\u0909\u090a\u0007P\u0002\u0002\u090a\u090b\u0007F\u0002", + "\u0002\u090b\u090c\u0007K\u0002\u0002\u090c\u090d\u0007V\u0002\u0002", + "\u090d\u090e\u0007K\u0002\u0002\u090e\u090f\u0007Q\u0002\u0002\u090f", + "\u0910\u0007P\u0002\u0002\u09106\u0003\u0002\u0002\u0002\u0911\u0912", + "\u0007E\u0002\u0002\u0912\u0913\u0007Q\u0002\u0002\u0913\u0914\u0007", + "P\u0002\u0002\u0914\u0915\u0007U\u0002\u0002\u0915\u0916\u0007V\u0002", + "\u0002\u0916\u0917\u0007T\u0002\u0002\u0917\u0918\u0007C\u0002\u0002", + "\u0918\u0919\u0007K\u0002\u0002\u0919\u091a\u0007P\u0002\u0002\u091a", + "\u091b\u0007V\u0002\u0002\u091b8\u0003\u0002\u0002\u0002\u091c\u091d", + "\u0007E\u0002\u0002\u091d\u091e\u0007Q\u0002\u0002\u091e\u091f\u0007", + "P\u0002\u0002\u091f\u0920\u0007V\u0002\u0002\u0920\u0921\u0007K\u0002", + "\u0002\u0921\u0922\u0007P\u0002\u0002\u0922\u0923\u0007W\u0002\u0002", + "\u0923\u0924\u0007G\u0002\u0002\u0924:\u0003\u0002\u0002\u0002\u0925", + "\u0926\u0007E\u0002\u0002\u0926\u0927\u0007Q\u0002\u0002\u0927\u0928", + "\u0007P\u0002\u0002\u0928\u0929\u0007X\u0002\u0002\u0929\u092a\u0007", + "G\u0002\u0002\u092a\u092b\u0007T\u0002\u0002\u092b\u092c\u0007V\u0002", + "\u0002\u092c<\u0003\u0002\u0002\u0002\u092d\u092e\u0007E\u0002\u0002", + "\u092e\u092f\u0007T\u0002\u0002\u092f\u0930\u0007G\u0002\u0002\u0930", + "\u0931\u0007C\u0002\u0002\u0931\u0932\u0007V\u0002\u0002\u0932\u0933", + "\u0007G\u0002\u0002\u0933>\u0003\u0002\u0002\u0002\u0934\u0935\u0007", + "E\u0002\u0002\u0935\u0936\u0007T\u0002\u0002\u0936\u0937\u0007Q\u0002", + "\u0002\u0937\u0938\u0007U\u0002\u0002\u0938\u0939\u0007U\u0002\u0002", + "\u0939@\u0003\u0002\u0002\u0002\u093a\u093b\u0007E\u0002\u0002\u093b", + "\u093c\u0007W\u0002\u0002\u093c\u093d\u0007T\u0002\u0002\u093d\u093e", + "\u0007T\u0002\u0002\u093e\u093f\u0007G\u0002\u0002\u093f\u0940\u0007", + "P\u0002\u0002\u0940\u0941\u0007V\u0002\u0002\u0941B\u0003\u0002\u0002", + "\u0002\u0942\u0943\u0007E\u0002\u0002\u0943\u0944\u0007W\u0002\u0002", + "\u0944\u0945\u0007T\u0002\u0002\u0945\u0946\u0007T\u0002\u0002\u0946", + "\u0947\u0007G\u0002\u0002\u0947\u0948\u0007P\u0002\u0002\u0948\u0949", + "\u0007V\u0002\u0002\u0949\u094a\u0007a\u0002\u0002\u094a\u094b\u0007", + "W\u0002\u0002\u094b\u094c\u0007U\u0002\u0002\u094c\u094d\u0007G\u0002", + "\u0002\u094d\u094e\u0007T\u0002\u0002\u094eD\u0003\u0002\u0002\u0002", + "\u094f\u0950\u0007E\u0002\u0002\u0950\u0951\u0007W\u0002\u0002\u0951", + "\u0952\u0007T\u0002\u0002\u0952\u0953\u0007U\u0002\u0002\u0953\u0954", + "\u0007Q\u0002\u0002\u0954\u0955\u0007T\u0002\u0002\u0955F\u0003\u0002", + "\u0002\u0002\u0956\u0957\u0007F\u0002\u0002\u0957\u0958\u0007C\u0002", + "\u0002\u0958\u0959\u0007V\u0002\u0002\u0959\u095a\u0007C\u0002\u0002", + "\u095a\u095b\u0007D\u0002\u0002\u095b\u095c\u0007C\u0002\u0002\u095c", + "\u095d\u0007U\u0002\u0002\u095d\u095e\u0007G\u0002\u0002\u095eH\u0003", + "\u0002\u0002\u0002\u095f\u0960\u0007F\u0002\u0002\u0960\u0961\u0007", + "C\u0002\u0002\u0961\u0962\u0007V\u0002\u0002\u0962\u0963\u0007C\u0002", + "\u0002\u0963\u0964\u0007D\u0002\u0002\u0964\u0965\u0007C\u0002\u0002", + "\u0965\u0966\u0007U\u0002\u0002\u0966\u0967\u0007G\u0002\u0002\u0967", + "\u0968\u0007U\u0002\u0002\u0968J\u0003\u0002\u0002\u0002\u0969\u096a", + "\u0007F\u0002\u0002\u096a\u096b\u0007G\u0002\u0002\u096b\u096c\u0007", + "E\u0002\u0002\u096c\u096d\u0007N\u0002\u0002\u096d\u096e\u0007C\u0002", + "\u0002\u096e\u096f\u0007T\u0002\u0002\u096f\u0970\u0007G\u0002\u0002", + "\u0970L\u0003\u0002\u0002\u0002\u0971\u0972\u0007F\u0002\u0002\u0972", + "\u0973\u0007G\u0002\u0002\u0973\u0974\u0007H\u0002\u0002\u0974\u0975", + "\u0007C\u0002\u0002\u0975\u0976\u0007W\u0002\u0002\u0976\u0977\u0007", + "N\u0002\u0002\u0977\u0978\u0007V\u0002\u0002\u0978N\u0003\u0002\u0002", + "\u0002\u0979\u097a\u0007F\u0002\u0002\u097a\u097b\u0007G\u0002\u0002", + "\u097b\u097c\u0007N\u0002\u0002\u097c\u097d\u0007C\u0002\u0002\u097d", + "\u097e\u0007[\u0002\u0002\u097e\u097f\u0007G\u0002\u0002\u097f\u0980", + "\u0007F\u0002\u0002\u0980P\u0003\u0002\u0002\u0002\u0981\u0982\u0007", + "F\u0002\u0002\u0982\u0983\u0007G\u0002\u0002\u0983\u0984\u0007N\u0002", + "\u0002\u0984\u0985\u0007G\u0002\u0002\u0985\u0986\u0007V\u0002\u0002", + "\u0986\u0987\u0007G\u0002\u0002\u0987R\u0003\u0002\u0002\u0002\u0988", + "\u0989\u0007F\u0002\u0002\u0989\u098a\u0007G\u0002\u0002\u098a\u098b", + "\u0007U\u0002\u0002\u098b\u098c\u0007E\u0002\u0002\u098cT\u0003\u0002", + "\u0002\u0002\u098d\u098e\u0007F\u0002\u0002\u098e\u098f\u0007G\u0002", + "\u0002\u098f\u0990\u0007U\u0002\u0002\u0990\u0991\u0007E\u0002\u0002", + "\u0991\u0992\u0007T\u0002\u0002\u0992\u0993\u0007K\u0002\u0002\u0993", + "\u0994\u0007D\u0002\u0002\u0994\u0995\u0007G\u0002\u0002\u0995V\u0003", + "\u0002\u0002\u0002\u0996\u0997\u0007F\u0002\u0002\u0997\u0998\u0007", + "G\u0002\u0002\u0998\u0999\u0007V\u0002\u0002\u0999\u099a\u0007G\u0002", + "\u0002\u099a\u099b\u0007T\u0002\u0002\u099b\u099c\u0007O\u0002\u0002", + "\u099c\u099d\u0007K\u0002\u0002\u099d\u099e\u0007P\u0002\u0002\u099e", + "\u099f\u0007K\u0002\u0002\u099f\u09a0\u0007U\u0002\u0002\u09a0\u09a1", + "\u0007V\u0002\u0002\u09a1\u09a2\u0007K\u0002\u0002\u09a2\u09a3\u0007", + "E\u0002\u0002\u09a3X\u0003\u0002\u0002\u0002\u09a4\u09a5\u0007F\u0002", + "\u0002\u09a5\u09a6\u0007K\u0002\u0002\u09a6\u09a7\u0007C\u0002\u0002", + "\u09a7\u09a8\u0007I\u0002\u0002\u09a8\u09a9\u0007P\u0002\u0002\u09a9", + "\u09aa\u0007Q\u0002\u0002\u09aa\u09ab\u0007U\u0002\u0002\u09ab\u09ac", + "\u0007V\u0002\u0002\u09ac\u09ad\u0007K\u0002\u0002\u09ad\u09ae\u0007", + "E\u0002\u0002\u09ae\u09af\u0007U\u0002\u0002\u09afZ\u0003\u0002\u0002", + "\u0002\u09b0\u09b1\u0007F\u0002\u0002\u09b1\u09b2\u0007K\u0002\u0002", + "\u09b2\u09b3\u0007U\u0002\u0002\u09b3\u09b4\u0007V\u0002\u0002\u09b4", + "\u09b5\u0007K\u0002\u0002\u09b5\u09b6\u0007P\u0002\u0002\u09b6\u09b7", + "\u0007E\u0002\u0002\u09b7\u09b8\u0007V\u0002\u0002\u09b8\\\u0003\u0002", + "\u0002\u0002\u09b9\u09ba\u0007F\u0002\u0002\u09ba\u09bb\u0007K\u0002", + "\u0002\u09bb\u09bc\u0007U\u0002\u0002\u09bc\u09bd\u0007V\u0002\u0002", + "\u09bd\u09be\u0007K\u0002\u0002\u09be\u09bf\u0007P\u0002\u0002\u09bf", + "\u09c0\u0007E\u0002\u0002\u09c0\u09c1\u0007V\u0002\u0002\u09c1\u09c2", + "\u0007T\u0002\u0002\u09c2\u09c3\u0007Q\u0002\u0002\u09c3\u09c4\u0007", + "Y\u0002\u0002\u09c4^\u0003\u0002\u0002\u0002\u09c5\u09c6\u0007F\u0002", + "\u0002\u09c6\u09c7\u0007T\u0002\u0002\u09c7\u09c8\u0007Q\u0002\u0002", + "\u09c8\u09c9\u0007R\u0002\u0002\u09c9`\u0003\u0002\u0002\u0002\u09ca", + "\u09cb\u0007G\u0002\u0002\u09cb\u09cc\u0007C\u0002\u0002\u09cc\u09cd", + "\u0007E\u0002\u0002\u09cd\u09ce\u0007J\u0002\u0002\u09ceb\u0003\u0002", + "\u0002\u0002\u09cf\u09d0\u0007G\u0002\u0002\u09d0\u09d1\u0007N\u0002", + "\u0002\u09d1\u09d2\u0007U\u0002\u0002\u09d2\u09d3\u0007G\u0002\u0002", + "\u09d3d\u0003\u0002\u0002\u0002\u09d4\u09d5\u0007G\u0002\u0002\u09d5", + "\u09d6\u0007N\u0002\u0002\u09d6\u09d7\u0007U\u0002\u0002\u09d7\u09d8", + "\u0007G\u0002\u0002\u09d8\u09d9\u0007K\u0002\u0002\u09d9\u09da\u0007", + "H\u0002\u0002\u09daf\u0003\u0002\u0002\u0002\u09db\u09dc\u0007G\u0002", + "\u0002\u09dc\u09dd\u0007P\u0002\u0002\u09dd\u09de\u0007E\u0002\u0002", + "\u09de\u09df\u0007N\u0002\u0002\u09df\u09e0\u0007Q\u0002\u0002\u09e0", + "\u09e1\u0007U\u0002\u0002\u09e1\u09e2\u0007G\u0002\u0002\u09e2\u09e3", + "\u0007F\u0002\u0002\u09e3h\u0003\u0002\u0002\u0002\u09e4\u09e5\u0007", + "G\u0002\u0002\u09e5\u09e6\u0007U\u0002\u0002\u09e6\u09e7\u0007E\u0002", + "\u0002\u09e7\u09e8\u0007C\u0002\u0002\u09e8\u09e9\u0007R\u0002\u0002", + "\u09e9\u09ea\u0007G\u0002\u0002\u09ea\u09eb\u0007F\u0002\u0002\u09eb", + "j\u0003\u0002\u0002\u0002\u09ec\u09ed\u0007G\u0002\u0002\u09ed\u09ee", + "\u0007Z\u0002\u0002\u09ee\u09ef\u0007K\u0002\u0002\u09ef\u09f0\u0007", + "U\u0002\u0002\u09f0\u09f1\u0007V\u0002\u0002\u09f1\u09f2\u0007U\u0002", + "\u0002\u09f2l\u0003\u0002\u0002\u0002\u09f3\u09f4\u0007G\u0002\u0002", + "\u09f4\u09f5\u0007Z\u0002\u0002\u09f5\u09f6\u0007K\u0002\u0002\u09f6", + "\u09f7\u0007V\u0002\u0002\u09f7n\u0003\u0002\u0002\u0002\u09f8\u09f9", + "\u0007G\u0002\u0002\u09f9\u09fa\u0007Z\u0002\u0002\u09fa\u09fb\u0007", + "R\u0002\u0002\u09fb\u09fc\u0007N\u0002\u0002\u09fc\u09fd\u0007C\u0002", + "\u0002\u09fd\u09fe\u0007K\u0002\u0002\u09fe\u09ff\u0007P\u0002\u0002", + "\u09ffp\u0003\u0002\u0002\u0002\u0a00\u0a01\u0007H\u0002\u0002\u0a01", + "\u0a02\u0007C\u0002\u0002\u0a02\u0a03\u0007N\u0002\u0002\u0a03\u0a04", + "\u0007U\u0002\u0002\u0a04\u0a05\u0007G\u0002\u0002\u0a05r\u0003\u0002", + "\u0002\u0002\u0a06\u0a07\u0007H\u0002\u0002\u0a07\u0a08\u0007G\u0002", + "\u0002\u0a08\u0a09\u0007V\u0002\u0002\u0a09\u0a0a\u0007E\u0002\u0002", + "\u0a0a\u0a0b\u0007J\u0002\u0002\u0a0bt\u0003\u0002\u0002\u0002\u0a0c", + "\u0a0d\u0007H\u0002\u0002\u0a0d\u0a0e\u0007Q\u0002\u0002\u0a0e\u0a0f", + "\u0007T\u0002\u0002\u0a0fv\u0003\u0002\u0002\u0002\u0a10\u0a11\u0007", + "H\u0002\u0002\u0a11\u0a12\u0007Q\u0002\u0002\u0a12\u0a13\u0007T\u0002", + "\u0002\u0a13\u0a14\u0007E\u0002\u0002\u0a14\u0a15\u0007G\u0002\u0002", + "\u0a15x\u0003\u0002\u0002\u0002\u0a16\u0a17\u0007H\u0002\u0002\u0a17", + "\u0a18\u0007Q\u0002\u0002\u0a18\u0a19\u0007T\u0002\u0002\u0a19\u0a1a", + "\u0007G\u0002\u0002\u0a1a\u0a1b\u0007K\u0002\u0002\u0a1b\u0a1c\u0007", + "I\u0002\u0002\u0a1c\u0a1d\u0007P\u0002\u0002\u0a1dz\u0003\u0002\u0002", + "\u0002\u0a1e\u0a1f\u0007H\u0002\u0002\u0a1f\u0a20\u0007T\u0002\u0002", + "\u0a20\u0a21\u0007Q\u0002\u0002\u0a21\u0a22\u0007O\u0002\u0002\u0a22", + "|\u0003\u0002\u0002\u0002\u0a23\u0a24\u0007H\u0002\u0002\u0a24\u0a25", + "\u0007W\u0002\u0002\u0a25\u0a26\u0007N\u0002\u0002\u0a26\u0a27\u0007", + "N\u0002\u0002\u0a27\u0a28\u0007V\u0002\u0002\u0a28\u0a29\u0007G\u0002", + "\u0002\u0a29\u0a2a\u0007Z\u0002\u0002\u0a2a\u0a2b\u0007V\u0002\u0002", + "\u0a2b~\u0003\u0002\u0002\u0002\u0a2c\u0a2d\u0007I\u0002\u0002\u0a2d", + "\u0a2e\u0007G\u0002\u0002\u0a2e\u0a2f\u0007P\u0002\u0002\u0a2f\u0a30", + "\u0007G\u0002\u0002\u0a30\u0a31\u0007T\u0002\u0002\u0a31\u0a32\u0007", + "C\u0002\u0002\u0a32\u0a33\u0007V\u0002\u0002\u0a33\u0a34\u0007G\u0002", + "\u0002\u0a34\u0a35\u0007F\u0002\u0002\u0a35\u0080\u0003\u0002\u0002", + "\u0002\u0a36\u0a37\u0007I\u0002\u0002\u0a37\u0a38\u0007G\u0002\u0002", + "\u0a38\u0a39\u0007V\u0002\u0002\u0a39\u0082\u0003\u0002\u0002\u0002", + "\u0a3a\u0a3b\u0007I\u0002\u0002\u0a3b\u0a3c\u0007T\u0002\u0002\u0a3c", + "\u0a3d\u0007C\u0002\u0002\u0a3d\u0a3e\u0007P\u0002\u0002\u0a3e\u0a3f", + "\u0007V\u0002\u0002\u0a3f\u0084\u0003\u0002\u0002\u0002\u0a40\u0a41", + "\u0007I\u0002\u0002\u0a41\u0a42\u0007T\u0002\u0002\u0a42\u0a43\u0007", + "Q\u0002\u0002\u0a43\u0a44\u0007W\u0002\u0002\u0a44\u0a45\u0007R\u0002", + "\u0002\u0a45\u0086\u0003\u0002\u0002\u0002\u0a46\u0a47\u0007J\u0002", + "\u0002\u0a47\u0a48\u0007C\u0002\u0002\u0a48\u0a49\u0007X\u0002\u0002", + "\u0a49\u0a4a\u0007K\u0002\u0002\u0a4a\u0a4b\u0007P\u0002\u0002\u0a4b", + "\u0a4c\u0007I\u0002\u0002\u0a4c\u0088\u0003\u0002\u0002\u0002\u0a4d", + "\u0a4e\u0007J\u0002\u0002\u0a4e\u0a4f\u0007K\u0002\u0002\u0a4f\u0a50", + "\u0007I\u0002\u0002\u0a50\u0a51\u0007J\u0002\u0002\u0a51\u0a52\u0007", + "a\u0002\u0002\u0a52\u0a53\u0007R\u0002\u0002\u0a53\u0a54\u0007T\u0002", + "\u0002\u0a54\u0a55\u0007K\u0002\u0002\u0a55\u0a56\u0007Q\u0002\u0002", + "\u0a56\u0a57\u0007T\u0002\u0002\u0a57\u0a58\u0007K\u0002\u0002\u0a58", + "\u0a59\u0007V\u0002\u0002\u0a59\u0a5a\u0007[\u0002\u0002\u0a5a\u008a", + "\u0003\u0002\u0002\u0002\u0a5b\u0a5c\u0007K\u0002\u0002\u0a5c\u0a5d", + "\u0007H\u0002\u0002\u0a5d\u008c\u0003\u0002\u0002\u0002\u0a5e\u0a5f", + "\u0007K\u0002\u0002\u0a5f\u0a60\u0007I\u0002\u0002\u0a60\u0a61\u0007", + "P\u0002\u0002\u0a61\u0a62\u0007Q\u0002\u0002\u0a62\u0a63\u0007T\u0002", + "\u0002\u0a63\u0a64\u0007G\u0002\u0002\u0a64\u008e\u0003\u0002\u0002", + "\u0002\u0a65\u0a66\u0007K\u0002\u0002\u0a66\u0a67\u0007P\u0002\u0002", + "\u0a67\u0090\u0003\u0002\u0002\u0002\u0a68\u0a69\u0007K\u0002\u0002", + "\u0a69\u0a6a\u0007P\u0002\u0002\u0a6a\u0a6b\u0007F\u0002\u0002\u0a6b", + "\u0a6c\u0007G\u0002\u0002\u0a6c\u0a6d\u0007Z\u0002\u0002\u0a6d\u0092", + "\u0003\u0002\u0002\u0002\u0a6e\u0a6f\u0007K\u0002\u0002\u0a6f\u0a70", + "\u0007P\u0002\u0002\u0a70\u0a71\u0007H\u0002\u0002\u0a71\u0a72\u0007", + "K\u0002\u0002\u0a72\u0a73\u0007N\u0002\u0002\u0a73\u0a74\u0007G\u0002", + "\u0002\u0a74\u0094\u0003\u0002\u0002\u0002\u0a75\u0a76\u0007K\u0002", + "\u0002\u0a76\u0a77\u0007P\u0002\u0002\u0a77\u0a78\u0007P\u0002\u0002", + "\u0a78\u0a79\u0007G\u0002\u0002\u0a79\u0a7a\u0007T\u0002\u0002\u0a7a", + "\u0096\u0003\u0002\u0002\u0002\u0a7b\u0a7c\u0007K\u0002\u0002\u0a7c", + "\u0a7d\u0007P\u0002\u0002\u0a7d\u0a7e\u0007Q\u0002\u0002\u0a7e\u0a7f", + "\u0007W\u0002\u0002\u0a7f\u0a80\u0007V\u0002\u0002\u0a80\u0098\u0003", + "\u0002\u0002\u0002\u0a81\u0a82\u0007K\u0002\u0002\u0a82\u0a83\u0007", + "P\u0002\u0002\u0a83\u0a84\u0007U\u0002\u0002\u0a84\u0a85\u0007G\u0002", + "\u0002\u0a85\u0a86\u0007T\u0002\u0002\u0a86\u0a87\u0007V\u0002\u0002", + "\u0a87\u009a\u0003\u0002\u0002\u0002\u0a88\u0a89\u0007K\u0002\u0002", + "\u0a89\u0a8a\u0007P\u0002\u0002\u0a8a\u0a8b\u0007V\u0002\u0002\u0a8b", + "\u0a8c\u0007G\u0002\u0002\u0a8c\u0a8d\u0007T\u0002\u0002\u0a8d\u0a8e", + "\u0007X\u0002\u0002\u0a8e\u0a8f\u0007C\u0002\u0002\u0a8f\u0a90\u0007", + "N\u0002\u0002\u0a90\u009c\u0003\u0002\u0002\u0002\u0a91\u0a92\u0007", + "K\u0002\u0002\u0a92\u0a93\u0007P\u0002\u0002\u0a93\u0a94\u0007V\u0002", + "\u0002\u0a94\u0a95\u0007Q\u0002\u0002\u0a95\u009e\u0003\u0002\u0002", + "\u0002\u0a96\u0a97\u0007K\u0002\u0002\u0a97\u0a98\u0007U\u0002\u0002", + "\u0a98\u00a0\u0003\u0002\u0002\u0002\u0a99\u0a9a\u0007K\u0002\u0002", + "\u0a9a\u0a9b\u0007V\u0002\u0002\u0a9b\u0a9c\u0007G\u0002\u0002\u0a9c", + "\u0a9d\u0007T\u0002\u0002\u0a9d\u0a9e\u0007C\u0002\u0002\u0a9e\u0a9f", + "\u0007V\u0002\u0002\u0a9f\u0aa0\u0007G\u0002\u0002\u0aa0\u00a2\u0003", + "\u0002\u0002\u0002\u0aa1\u0aa2\u0007L\u0002\u0002\u0aa2\u0aa3\u0007", + "Q\u0002\u0002\u0aa3\u0aa4\u0007K\u0002\u0002\u0aa4\u0aa5\u0007P\u0002", + "\u0002\u0aa5\u00a4\u0003\u0002\u0002\u0002\u0aa6\u0aa7\u0007M\u0002", + "\u0002\u0aa7\u0aa8\u0007G\u0002\u0002\u0aa8\u0aa9\u0007[\u0002\u0002", + "\u0aa9\u00a6\u0003\u0002\u0002\u0002\u0aaa\u0aab\u0007M\u0002\u0002", + "\u0aab\u0aac\u0007G\u0002\u0002\u0aac\u0aad\u0007[\u0002\u0002\u0aad", + "\u0aae\u0007U\u0002\u0002\u0aae\u00a8\u0003\u0002\u0002\u0002\u0aaf", + "\u0ab0\u0007M\u0002\u0002\u0ab0\u0ab1\u0007K\u0002\u0002\u0ab1\u0ab2", + "\u0007N\u0002\u0002\u0ab2\u0ab3\u0007N\u0002\u0002\u0ab3\u00aa\u0003", + "\u0002\u0002\u0002\u0ab4\u0ab5\u0007N\u0002\u0002\u0ab5\u0ab6\u0007", + "G\u0002\u0002\u0ab6\u0ab7\u0007C\u0002\u0002\u0ab7\u0ab8\u0007F\u0002", + "\u0002\u0ab8\u0ab9\u0007K\u0002\u0002\u0ab9\u0aba\u0007P\u0002\u0002", + "\u0aba\u0abb\u0007I\u0002\u0002\u0abb\u00ac\u0003\u0002\u0002\u0002", + "\u0abc\u0abd\u0007N\u0002\u0002\u0abd\u0abe\u0007G\u0002\u0002\u0abe", + "\u0abf\u0007C\u0002\u0002\u0abf\u0ac0\u0007X\u0002\u0002\u0ac0\u0ac1", + "\u0007G\u0002\u0002\u0ac1\u00ae\u0003\u0002\u0002\u0002\u0ac2\u0ac3", + "\u0007N\u0002\u0002\u0ac3\u0ac4\u0007G\u0002\u0002\u0ac4\u0ac5\u0007", + "H\u0002\u0002\u0ac5\u0ac6\u0007V\u0002\u0002\u0ac6\u00b0\u0003\u0002", + "\u0002\u0002\u0ac7\u0ac8\u0007N\u0002\u0002\u0ac8\u0ac9\u0007K\u0002", + "\u0002\u0ac9\u0aca\u0007M\u0002\u0002\u0aca\u0acb\u0007G\u0002\u0002", + "\u0acb\u00b2\u0003\u0002\u0002\u0002\u0acc\u0acd\u0007N\u0002\u0002", + "\u0acd\u0ace\u0007K\u0002\u0002\u0ace\u0acf\u0007O\u0002\u0002\u0acf", + "\u0ad0\u0007K\u0002\u0002\u0ad0\u0ad1\u0007V\u0002\u0002\u0ad1\u00b4", + "\u0003\u0002\u0002\u0002\u0ad2\u0ad3\u0007N\u0002\u0002\u0ad3\u0ad4", + "\u0007K\u0002\u0002\u0ad4\u0ad5\u0007P\u0002\u0002\u0ad5\u0ad6\u0007", + "G\u0002\u0002\u0ad6\u0ad7\u0007C\u0002\u0002\u0ad7\u0ad8\u0007T\u0002", + "\u0002\u0ad8\u00b6\u0003\u0002\u0002\u0002\u0ad9\u0ada\u0007N\u0002", + "\u0002\u0ada\u0adb\u0007K\u0002\u0002\u0adb\u0adc\u0007P\u0002\u0002", + "\u0adc\u0add\u0007G\u0002\u0002\u0add\u0ade\u0007U\u0002\u0002\u0ade", + "\u00b8\u0003\u0002\u0002\u0002\u0adf\u0ae0\u0007N\u0002\u0002\u0ae0", + "\u0ae1\u0007Q\u0002\u0002\u0ae1\u0ae2\u0007C\u0002\u0002\u0ae2\u0ae3", + "\u0007F\u0002\u0002\u0ae3\u00ba\u0003\u0002\u0002\u0002\u0ae4\u0ae5", + "\u0007N\u0002\u0002\u0ae5\u0ae6\u0007Q\u0002\u0002\u0ae6\u0ae7\u0007", + "E\u0002\u0002\u0ae7\u0ae8\u0007M\u0002\u0002\u0ae8\u00bc\u0003\u0002", + "\u0002\u0002\u0ae9\u0aea\u0007N\u0002\u0002\u0aea\u0aeb\u0007Q\u0002", + "\u0002\u0aeb\u0aec\u0007Q\u0002\u0002\u0aec\u0aed\u0007R\u0002\u0002", + "\u0aed\u00be\u0003\u0002\u0002\u0002\u0aee\u0aef\u0007N\u0002\u0002", + "\u0aef\u0af0\u0007Q\u0002\u0002\u0af0\u0af1\u0007Y\u0002\u0002\u0af1", + "\u0af2\u0007a\u0002\u0002\u0af2\u0af3\u0007R\u0002\u0002\u0af3\u0af4", + "\u0007T\u0002\u0002\u0af4\u0af5\u0007K\u0002\u0002\u0af5\u0af6\u0007", + "Q\u0002\u0002\u0af6\u0af7\u0007T\u0002\u0002\u0af7\u0af8\u0007K\u0002", + "\u0002\u0af8\u0af9\u0007V\u0002\u0002\u0af9\u0afa\u0007[\u0002\u0002", + "\u0afa\u00c0\u0003\u0002\u0002\u0002\u0afb\u0afc\u0007O\u0002\u0002", + "\u0afc\u0afd\u0007C\u0002\u0002\u0afd\u0afe\u0007U\u0002\u0002\u0afe", + "\u0aff\u0007V\u0002\u0002\u0aff\u0b00\u0007G\u0002\u0002\u0b00\u0b01", + "\u0007T\u0002\u0002\u0b01\u0b02\u0007a\u0002\u0002\u0b02\u0b03\u0007", + "D\u0002\u0002\u0b03\u0b04\u0007K\u0002\u0002\u0b04\u0b05\u0007P\u0002", + "\u0002\u0b05\u0b06\u0007F\u0002\u0002\u0b06\u00c2\u0003\u0002\u0002", + "\u0002\u0b07\u0b08\u0007O\u0002\u0002\u0b08\u0b09\u0007C\u0002\u0002", + "\u0b09\u0b0a\u0007U\u0002\u0002\u0b0a\u0b0b\u0007V\u0002\u0002\u0b0b", + "\u0b0c\u0007G\u0002\u0002\u0b0c\u0b0d\u0007T\u0002\u0002\u0b0d\u0b0e", + "\u0007a\u0002\u0002\u0b0e\u0b0f\u0007U\u0002\u0002\u0b0f\u0b10\u0007", + "U\u0002\u0002\u0b10\u0b11\u0007N\u0002\u0002\u0b11\u0b12\u0007a\u0002", + "\u0002\u0b12\u0b13\u0007X\u0002\u0002\u0b13\u0b14\u0007G\u0002\u0002", + "\u0b14\u0b15\u0007T\u0002\u0002\u0b15\u0b16\u0007K\u0002\u0002\u0b16", + "\u0b17\u0007H\u0002\u0002\u0b17\u0b18\u0007[\u0002\u0002\u0b18\u0b19", + "\u0007a\u0002\u0002\u0b19\u0b1a\u0007U\u0002\u0002\u0b1a\u0b1b\u0007", + "G\u0002\u0002\u0b1b\u0b1c\u0007T\u0002\u0002\u0b1c\u0b1d\u0007X\u0002", + "\u0002\u0b1d\u0b1e\u0007G\u0002\u0002\u0b1e\u0b1f\u0007T\u0002\u0002", + "\u0b1f\u0b20\u0007a\u0002\u0002\u0b20\u0b21\u0007E\u0002\u0002\u0b21", + "\u0b22\u0007G\u0002\u0002\u0b22\u0b23\u0007T\u0002\u0002\u0b23\u0b24", + "\u0007V\u0002\u0002\u0b24\u00c4\u0003\u0002\u0002\u0002\u0b25\u0b26", + "\u0007O\u0002\u0002\u0b26\u0b27\u0007C\u0002\u0002\u0b27\u0b28\u0007", + "V\u0002\u0002\u0b28\u0b29\u0007E\u0002\u0002\u0b29\u0b2a\u0007J\u0002", + "\u0002\u0b2a\u00c6\u0003\u0002\u0002\u0002\u0b2b\u0b2c\u0007O\u0002", + "\u0002\u0b2c\u0b2d\u0007C\u0002\u0002\u0b2d\u0b2e\u0007Z\u0002\u0002", + "\u0b2e\u0b2f\u0007X\u0002\u0002\u0b2f\u0b30\u0007C\u0002\u0002\u0b30", + "\u0b31\u0007N\u0002\u0002\u0b31\u0b32\u0007W\u0002\u0002\u0b32\u0b33", + "\u0007G\u0002\u0002\u0b33\u00c8\u0003\u0002\u0002\u0002\u0b34\u0b35", + "\u0007O\u0002\u0002\u0b35\u0b36\u0007Q\u0002\u0002\u0b36\u0b37\u0007", + "F\u0002\u0002\u0b37\u0b38\u0007K\u0002\u0002\u0b38\u0b39\u0007H\u0002", + "\u0002\u0b39\u0b3a\u0007K\u0002\u0002\u0b3a\u0b3b\u0007G\u0002\u0002", + "\u0b3b\u0b3c\u0007U\u0002\u0002\u0b3c\u00ca\u0003\u0002\u0002\u0002", + "\u0b3d\u0b3e\u0007P\u0002\u0002\u0b3e\u0b3f\u0007C\u0002\u0002\u0b3f", + "\u0b40\u0007V\u0002\u0002\u0b40\u0b41\u0007W\u0002\u0002\u0b41\u0b42", + "\u0007T\u0002\u0002\u0b42\u0b43\u0007C\u0002\u0002\u0b43\u0b44\u0007", + "N\u0002\u0002\u0b44\u00cc\u0003\u0002\u0002\u0002\u0b45\u0b46\u0007", + "P\u0002\u0002\u0b46\u0b47\u0007Q\u0002\u0002\u0b47\u0b48\u0007V\u0002", + "\u0002\u0b48\u00ce\u0003\u0002\u0002\u0002\u0b49\u0b4a\u0007P\u0002", + "\u0002\u0b4a\u0b4b\u0007Q\u0002\u0002\u0b4b\u0b4c\u0007a\u0002\u0002", + "\u0b4c\u0b4d\u0007Y\u0002\u0002\u0b4d\u0b4e\u0007T\u0002\u0002\u0b4e", + "\u0b4f\u0007K\u0002\u0002\u0b4f\u0b50\u0007V\u0002\u0002\u0b50\u0b51", + "\u0007G\u0002\u0002\u0b51\u0b52\u0007a\u0002\u0002\u0b52\u0b53\u0007", + "V\u0002\u0002\u0b53\u0b54\u0007Q\u0002\u0002\u0b54\u0b55\u0007a\u0002", + "\u0002\u0b55\u0b56\u0007D\u0002\u0002\u0b56\u0b57\u0007K\u0002\u0002", + "\u0b57\u0b58\u0007P\u0002\u0002\u0b58\u0b59\u0007N\u0002\u0002\u0b59", + "\u0b5a\u0007Q\u0002\u0002\u0b5a\u0b5b\u0007I\u0002\u0002\u0b5b\u00d0", + "\u0003\u0002\u0002\u0002\u0b5c\u0b5d\u0007P\u0002\u0002\u0b5d\u0b5e", + "\u0007W\u0002\u0002\u0b5e\u0b5f\u0007N\u0002\u0002\u0b5f\u0b60\u0007", + "N\u0002\u0002\u0b60\u00d2\u0003\u0002\u0002\u0002\u0b61\u0b62\u0007", + "P\u0002\u0002\u0b62\u0b63\u0007W\u0002\u0002\u0b63\u0b64\u0007O\u0002", + "\u0002\u0b64\u0b65\u0007D\u0002\u0002\u0b65\u0b66\u0007G\u0002\u0002", + "\u0b66\u0b67\u0007T\u0002\u0002\u0b67\u00d4\u0003\u0002\u0002\u0002", + "\u0b68\u0b69\u0007Q\u0002\u0002\u0b69\u0b6a\u0007P\u0002\u0002\u0b6a", + "\u00d6\u0003\u0002\u0002\u0002\u0b6b\u0b6c\u0007Q\u0002\u0002\u0b6c", + "\u0b6d\u0007R\u0002\u0002\u0b6d\u0b6e\u0007V\u0002\u0002\u0b6e\u0b6f", + "\u0007K\u0002\u0002\u0b6f\u0b70\u0007O\u0002\u0002\u0b70\u0b71\u0007", + "K\u0002\u0002\u0b71\u0b72\u0007\\\u0002\u0002\u0b72\u0b73\u0007G\u0002", + "\u0002\u0b73\u00d8\u0003\u0002\u0002\u0002\u0b74\u0b75\u0007Q\u0002", + "\u0002\u0b75\u0b76\u0007R\u0002\u0002\u0b76\u0b77\u0007V\u0002\u0002", + "\u0b77\u0b78\u0007K\u0002\u0002\u0b78\u0b79\u0007Q\u0002\u0002\u0b79", + "\u0b7a\u0007P\u0002\u0002\u0b7a\u00da\u0003\u0002\u0002\u0002\u0b7b", + "\u0b7c\u0007Q\u0002\u0002\u0b7c\u0b7d\u0007R\u0002\u0002\u0b7d\u0b7e", + "\u0007V\u0002\u0002\u0b7e\u0b7f\u0007K\u0002\u0002\u0b7f\u0b80\u0007", + "Q\u0002\u0002\u0b80\u0b81\u0007P\u0002\u0002\u0b81\u0b82\u0007C\u0002", + "\u0002\u0b82\u0b83\u0007N\u0002\u0002\u0b83\u0b84\u0007N\u0002\u0002", + "\u0b84\u0b85\u0007[\u0002\u0002\u0b85\u00dc\u0003\u0002\u0002\u0002", + "\u0b86\u0b87\u0007Q\u0002\u0002\u0b87\u0b88\u0007T\u0002\u0002\u0b88", + "\u00de\u0003\u0002\u0002\u0002\u0b89\u0b8a\u0007Q\u0002\u0002\u0b8a", + "\u0b8b\u0007T\u0002\u0002\u0b8b\u0b8c\u0007F\u0002\u0002\u0b8c\u0b8d", + "\u0007G\u0002\u0002\u0b8d\u0b8e\u0007T\u0002\u0002\u0b8e\u00e0\u0003", + "\u0002\u0002\u0002\u0b8f\u0b90\u0007Q\u0002\u0002\u0b90\u0b91\u0007", + "W\u0002\u0002\u0b91\u0b92\u0007V\u0002\u0002\u0b92\u00e2\u0003\u0002", + "\u0002\u0002\u0b93\u0b94\u0007Q\u0002\u0002\u0b94\u0b95\u0007W\u0002", + "\u0002\u0b95\u0b96\u0007V\u0002\u0002\u0b96\u0b97\u0007G\u0002\u0002", + "\u0b97\u0b98\u0007T\u0002\u0002\u0b98\u00e4\u0003\u0002\u0002\u0002", + "\u0b99\u0b9a\u0007Q\u0002\u0002\u0b9a\u0b9b\u0007W\u0002\u0002\u0b9b", + "\u0b9c\u0007V\u0002\u0002\u0b9c\u0b9d\u0007H\u0002\u0002\u0b9d\u0b9e", + "\u0007K\u0002\u0002\u0b9e\u0b9f\u0007N\u0002\u0002\u0b9f\u0ba0\u0007", + "G\u0002\u0002\u0ba0\u00e6\u0003\u0002\u0002\u0002\u0ba1\u0ba2\u0007", + "R\u0002\u0002\u0ba2\u0ba3\u0007C\u0002\u0002\u0ba3\u0ba4\u0007T\u0002", + "\u0002\u0ba4\u0ba5\u0007V\u0002\u0002\u0ba5\u0ba6\u0007K\u0002\u0002", + "\u0ba6\u0ba7\u0007V\u0002\u0002\u0ba7\u0ba8\u0007K\u0002\u0002\u0ba8", + "\u0ba9\u0007Q\u0002\u0002\u0ba9\u0baa\u0007P\u0002\u0002\u0baa\u00e8", + "\u0003\u0002\u0002\u0002\u0bab\u0bac\u0007R\u0002\u0002\u0bac\u0bad", + "\u0007T\u0002\u0002\u0bad\u0bae\u0007K\u0002\u0002\u0bae\u0baf\u0007", + "O\u0002\u0002\u0baf\u0bb0\u0007C\u0002\u0002\u0bb0\u0bb1\u0007T\u0002", + "\u0002\u0bb1\u0bb2\u0007[\u0002\u0002\u0bb2\u00ea\u0003\u0002\u0002", + "\u0002\u0bb3\u0bb4\u0007R\u0002\u0002\u0bb4\u0bb5\u0007T\u0002\u0002", + "\u0bb5\u0bb6\u0007Q\u0002\u0002\u0bb6\u0bb7\u0007E\u0002\u0002\u0bb7", + "\u0bb8\u0007G\u0002\u0002\u0bb8\u0bb9\u0007F\u0002\u0002\u0bb9\u0bba", + "\u0007W\u0002\u0002\u0bba\u0bbb\u0007T\u0002\u0002\u0bbb\u0bbc\u0007", + "G\u0002\u0002\u0bbc\u00ec\u0003\u0002\u0002\u0002\u0bbd\u0bbe\u0007", + "R\u0002\u0002\u0bbe\u0bbf\u0007W\u0002\u0002\u0bbf\u0bc0\u0007T\u0002", + "\u0002\u0bc0\u0bc1\u0007I\u0002\u0002\u0bc1\u0bc2\u0007G\u0002\u0002", + "\u0bc2\u00ee\u0003\u0002\u0002\u0002\u0bc3\u0bc4\u0007T\u0002\u0002", + "\u0bc4\u0bc5\u0007C\u0002\u0002\u0bc5\u0bc6\u0007P\u0002\u0002\u0bc6", + "\u0bc7\u0007I\u0002\u0002\u0bc7\u0bc8\u0007G\u0002\u0002\u0bc8\u00f0", + "\u0003\u0002\u0002\u0002\u0bc9\u0bca\u0007T\u0002\u0002\u0bca\u0bcb", + "\u0007G\u0002\u0002\u0bcb\u0bcc\u0007C\u0002\u0002\u0bcc\u0bcd\u0007", + "F\u0002\u0002\u0bcd\u00f2\u0003\u0002\u0002\u0002\u0bce\u0bcf\u0007", + "T\u0002\u0002\u0bcf\u0bd0\u0007G\u0002\u0002\u0bd0\u0bd1\u0007C\u0002", + "\u0002\u0bd1\u0bd2\u0007F\u0002\u0002\u0bd2\u0bd3\u0007U\u0002\u0002", + "\u0bd3\u00f4\u0003\u0002\u0002\u0002\u0bd4\u0bd5\u0007T\u0002\u0002", + "\u0bd5\u0bd6\u0007G\u0002\u0002\u0bd6\u0bd7\u0007H\u0002\u0002\u0bd7", + "\u0bd8\u0007G\u0002\u0002\u0bd8\u0bd9\u0007T\u0002\u0002\u0bd9\u0bda", + "\u0007G\u0002\u0002\u0bda\u0bdb\u0007P\u0002\u0002\u0bdb\u0bdc\u0007", + "E\u0002\u0002\u0bdc\u0bdd\u0007G\u0002\u0002\u0bdd\u0bde\u0007U\u0002", + "\u0002\u0bde\u00f6\u0003\u0002\u0002\u0002\u0bdf\u0be0\u0007T\u0002", + "\u0002\u0be0\u0be1\u0007G\u0002\u0002\u0be1\u0be2\u0007I\u0002\u0002", + "\u0be2\u0be3\u0007G\u0002\u0002\u0be3\u0be4\u0007Z\u0002\u0002\u0be4", + "\u0be5\u0007R\u0002\u0002\u0be5\u00f8\u0003\u0002\u0002\u0002\u0be6", + "\u0be7\u0007T\u0002\u0002\u0be7\u0be8\u0007G\u0002\u0002\u0be8\u0be9", + "\u0007N\u0002\u0002\u0be9\u0bea\u0007G\u0002\u0002\u0bea\u0beb\u0007", + "C\u0002\u0002\u0beb\u0bec\u0007U\u0002\u0002\u0bec\u0bed\u0007G\u0002", + "\u0002\u0bed\u00fa\u0003\u0002\u0002\u0002\u0bee\u0bef\u0007T\u0002", + "\u0002\u0bef\u0bf0\u0007G\u0002\u0002\u0bf0\u0bf1\u0007P\u0002\u0002", + "\u0bf1\u0bf2\u0007C\u0002\u0002\u0bf2\u0bf3\u0007O\u0002\u0002\u0bf3", + "\u0bf4\u0007G\u0002\u0002\u0bf4\u00fc\u0003\u0002\u0002\u0002\u0bf5", + "\u0bf6\u0007T\u0002\u0002\u0bf6\u0bf7\u0007G\u0002\u0002\u0bf7\u0bf8", + "\u0007R\u0002\u0002\u0bf8\u0bf9\u0007G\u0002\u0002\u0bf9\u0bfa\u0007", + "C\u0002\u0002\u0bfa\u0bfb\u0007V\u0002\u0002\u0bfb\u00fe\u0003\u0002", + "\u0002\u0002\u0bfc\u0bfd\u0007T\u0002\u0002\u0bfd\u0bfe\u0007G\u0002", + "\u0002\u0bfe\u0bff\u0007R\u0002\u0002\u0bff\u0c00\u0007N\u0002\u0002", + "\u0c00\u0c01\u0007C\u0002\u0002\u0c01\u0c02\u0007E\u0002\u0002\u0c02", + "\u0c03\u0007G\u0002\u0002\u0c03\u0100\u0003\u0002\u0002\u0002\u0c04", + "\u0c05\u0007T\u0002\u0002\u0c05\u0c06\u0007G\u0002\u0002\u0c06\u0c07", + "\u0007S\u0002\u0002\u0c07\u0c08\u0007W\u0002\u0002\u0c08\u0c09\u0007", + "K\u0002\u0002\u0c09\u0c0a\u0007T\u0002\u0002\u0c0a\u0c0b\u0007G\u0002", + "\u0002\u0c0b\u0102\u0003\u0002\u0002\u0002\u0c0c\u0c0d\u0007T\u0002", + "\u0002\u0c0d\u0c0e\u0007G\u0002\u0002\u0c0e\u0c0f\u0007U\u0002\u0002", + "\u0c0f\u0c10\u0007K\u0002\u0002\u0c10\u0c11\u0007I\u0002\u0002\u0c11", + "\u0c12\u0007P\u0002\u0002\u0c12\u0c13\u0007C\u0002\u0002\u0c13\u0c14", + "\u0007N\u0002\u0002\u0c14\u0104\u0003\u0002\u0002\u0002\u0c15\u0c16", + "\u0007T\u0002\u0002\u0c16\u0c17\u0007G\u0002\u0002\u0c17\u0c18\u0007", + "U\u0002\u0002\u0c18\u0c19\u0007V\u0002\u0002\u0c19\u0c1a\u0007T\u0002", + "\u0002\u0c1a\u0c1b\u0007K\u0002\u0002\u0c1b\u0c1c\u0007E\u0002\u0002", + "\u0c1c\u0c1d\u0007V\u0002\u0002\u0c1d\u0106\u0003\u0002\u0002\u0002", + "\u0c1e\u0c1f\u0007T\u0002\u0002\u0c1f\u0c20\u0007G\u0002\u0002\u0c20", + "\u0c21\u0007V\u0002\u0002\u0c21\u0c22\u0007W\u0002\u0002\u0c22\u0c23", + "\u0007T\u0002\u0002\u0c23\u0c24\u0007P\u0002\u0002\u0c24\u0108\u0003", + "\u0002\u0002\u0002\u0c25\u0c26\u0007T\u0002\u0002\u0c26\u0c27\u0007", + "G\u0002\u0002\u0c27\u0c28\u0007X\u0002\u0002\u0c28\u0c29\u0007Q\u0002", + "\u0002\u0c29\u0c2a\u0007M\u0002\u0002\u0c2a\u0c2b\u0007G\u0002\u0002", + "\u0c2b\u010a\u0003\u0002\u0002\u0002\u0c2c\u0c2d\u0007T\u0002\u0002", + "\u0c2d\u0c2e\u0007K\u0002\u0002\u0c2e\u0c2f\u0007I\u0002\u0002\u0c2f", + "\u0c30\u0007J\u0002\u0002\u0c30\u0c31\u0007V\u0002\u0002\u0c31\u010c", + "\u0003\u0002\u0002\u0002\u0c32\u0c33\u0007T\u0002\u0002\u0c33\u0c34", + "\u0007N\u0002\u0002\u0c34\u0c35\u0007K\u0002\u0002\u0c35\u0c36\u0007", + "M\u0002\u0002\u0c36\u0c37\u0007G\u0002\u0002\u0c37\u010e\u0003\u0002", + "\u0002\u0002\u0c38\u0c39\u0007U\u0002\u0002\u0c39\u0c3a\u0007E\u0002", + "\u0002\u0c3a\u0c3b\u0007J\u0002\u0002\u0c3b\u0c3c\u0007G\u0002\u0002", + "\u0c3c\u0c3d\u0007O\u0002\u0002\u0c3d\u0c3e\u0007C\u0002\u0002\u0c3e", + "\u0110\u0003\u0002\u0002\u0002\u0c3f\u0c40\u0007U\u0002\u0002\u0c40", + "\u0c41\u0007E\u0002\u0002\u0c41\u0c42\u0007J\u0002\u0002\u0c42\u0c43", + "\u0007G\u0002\u0002\u0c43\u0c44\u0007O\u0002\u0002\u0c44\u0c45\u0007", + "C\u0002\u0002\u0c45\u0c46\u0007U\u0002\u0002\u0c46\u0112\u0003\u0002", + "\u0002\u0002\u0c47\u0c48\u0007U\u0002\u0002\u0c48\u0c49\u0007G\u0002", + "\u0002\u0c49\u0c4a\u0007N\u0002\u0002\u0c4a\u0c4b\u0007G\u0002\u0002", + "\u0c4b\u0c4c\u0007E\u0002\u0002\u0c4c\u0c4d\u0007V\u0002\u0002\u0c4d", + "\u0114\u0003\u0002\u0002\u0002\u0c4e\u0c4f\u0007U\u0002\u0002\u0c4f", + "\u0c50\u0007G\u0002\u0002\u0c50\u0c51\u0007V\u0002\u0002\u0c51\u0116", + "\u0003\u0002\u0002\u0002\u0c52\u0c53\u0007U\u0002\u0002\u0c53\u0c54", + "\u0007G\u0002\u0002\u0c54\u0c55\u0007R\u0002\u0002\u0c55\u0c56\u0007", + "C\u0002\u0002\u0c56\u0c57\u0007T\u0002\u0002\u0c57\u0c58\u0007C\u0002", + "\u0002\u0c58\u0c59\u0007V\u0002\u0002\u0c59\u0c5a\u0007Q\u0002\u0002", + "\u0c5a\u0c5b\u0007T\u0002\u0002\u0c5b\u0118\u0003\u0002\u0002\u0002", + "\u0c5c\u0c5d\u0007U\u0002\u0002\u0c5d\u0c5e\u0007J\u0002\u0002\u0c5e", + "\u0c5f\u0007Q\u0002\u0002\u0c5f\u0c60\u0007Y\u0002\u0002\u0c60\u011a", + "\u0003\u0002\u0002\u0002\u0c61\u0c62\u0007U\u0002\u0002\u0c62\u0c63", + "\u0007K\u0002\u0002\u0c63\u0c64\u0007I\u0002\u0002\u0c64\u0c65\u0007", + "P\u0002\u0002\u0c65\u0c66\u0007C\u0002\u0002\u0c66\u0c67\u0007N\u0002", + "\u0002\u0c67\u011c\u0003\u0002\u0002\u0002\u0c68\u0c69\u0007U\u0002", + "\u0002\u0c69\u0c6a\u0007R\u0002\u0002\u0c6a\u0c6b\u0007C\u0002\u0002", + "\u0c6b\u0c6c\u0007V\u0002\u0002\u0c6c\u0c6d\u0007K\u0002\u0002\u0c6d", + "\u0c6e\u0007C\u0002\u0002\u0c6e\u0c6f\u0007N\u0002\u0002\u0c6f\u011e", + "\u0003\u0002\u0002\u0002\u0c70\u0c71\u0007U\u0002\u0002\u0c71\u0c72", + "\u0007S\u0002\u0002\u0c72\u0c73\u0007N\u0002\u0002\u0c73\u0120\u0003", + "\u0002\u0002\u0002\u0c74\u0c75\u0007U\u0002\u0002\u0c75\u0c76\u0007", + "S\u0002\u0002\u0c76\u0c77\u0007N\u0002\u0002\u0c77\u0c78\u0007G\u0002", + "\u0002\u0c78\u0c79\u0007Z\u0002\u0002\u0c79\u0c7a\u0007E\u0002\u0002", + "\u0c7a\u0c7b\u0007G\u0002\u0002\u0c7b\u0c7c\u0007R\u0002\u0002\u0c7c", + "\u0c7d\u0007V\u0002\u0002\u0c7d\u0c7e\u0007K\u0002\u0002\u0c7e\u0c7f", + "\u0007Q\u0002\u0002\u0c7f\u0c80\u0007P\u0002\u0002\u0c80\u0122\u0003", + "\u0002\u0002\u0002\u0c81\u0c82\u0007U\u0002\u0002\u0c82\u0c83\u0007", + "S\u0002\u0002\u0c83\u0c84\u0007N\u0002\u0002\u0c84\u0c85\u0007U\u0002", + "\u0002\u0c85\u0c86\u0007V\u0002\u0002\u0c86\u0c87\u0007C\u0002\u0002", + "\u0c87\u0c88\u0007V\u0002\u0002\u0c88\u0c89\u0007G\u0002\u0002\u0c89", + "\u0124\u0003\u0002\u0002\u0002\u0c8a\u0c8b\u0007U\u0002\u0002\u0c8b", + "\u0c8c\u0007S\u0002\u0002\u0c8c\u0c8d\u0007N\u0002\u0002\u0c8d\u0c8e", + "\u0007Y\u0002\u0002\u0c8e\u0c8f\u0007C\u0002\u0002\u0c8f\u0c90\u0007", + "T\u0002\u0002\u0c90\u0c91\u0007P\u0002\u0002\u0c91\u0c92\u0007K\u0002", + "\u0002\u0c92\u0c93\u0007P\u0002\u0002\u0c93\u0c94\u0007I\u0002\u0002", + "\u0c94\u0126\u0003\u0002\u0002\u0002\u0c95\u0c96\u0007U\u0002\u0002", + "\u0c96\u0c97\u0007S\u0002\u0002\u0c97\u0c98\u0007N\u0002\u0002\u0c98", + "\u0c99\u0007a\u0002\u0002\u0c99\u0c9a\u0007D\u0002\u0002\u0c9a\u0c9b", + "\u0007K\u0002\u0002\u0c9b\u0c9c\u0007I\u0002\u0002\u0c9c\u0c9d\u0007", + "a\u0002\u0002\u0c9d\u0c9e\u0007T\u0002\u0002\u0c9e\u0c9f\u0007G\u0002", + "\u0002\u0c9f\u0ca0\u0007U\u0002\u0002\u0ca0\u0ca1\u0007W\u0002\u0002", + "\u0ca1\u0ca2\u0007N\u0002\u0002\u0ca2\u0ca3\u0007V\u0002\u0002\u0ca3", + "\u0128\u0003\u0002\u0002\u0002\u0ca4\u0ca5\u0007U\u0002\u0002\u0ca5", + "\u0ca6\u0007S\u0002\u0002\u0ca6\u0ca7\u0007N\u0002\u0002\u0ca7\u0ca8", + "\u0007a\u0002\u0002\u0ca8\u0ca9\u0007E\u0002\u0002\u0ca9\u0caa\u0007", + "C\u0002\u0002\u0caa\u0cab\u0007N\u0002\u0002\u0cab\u0cac\u0007E\u0002", + "\u0002\u0cac\u0cad\u0007a\u0002\u0002\u0cad\u0cae\u0007H\u0002\u0002", + "\u0cae\u0caf\u0007Q\u0002\u0002\u0caf\u0cb0\u0007W\u0002\u0002\u0cb0", + "\u0cb1\u0007P\u0002\u0002\u0cb1\u0cb2\u0007F\u0002\u0002\u0cb2\u0cb3", + "\u0007a\u0002\u0002\u0cb3\u0cb4\u0007T\u0002\u0002\u0cb4\u0cb5\u0007", + "Q\u0002\u0002\u0cb5\u0cb6\u0007Y\u0002\u0002\u0cb6\u0cb7\u0007U\u0002", + "\u0002\u0cb7\u012a\u0003\u0002\u0002\u0002\u0cb8\u0cb9\u0007U\u0002", + "\u0002\u0cb9\u0cba\u0007S\u0002\u0002\u0cba\u0cbb\u0007N\u0002\u0002", + "\u0cbb\u0cbc\u0007a\u0002\u0002\u0cbc\u0cbd\u0007U\u0002\u0002\u0cbd", + "\u0cbe\u0007O\u0002\u0002\u0cbe\u0cbf\u0007C\u0002\u0002\u0cbf\u0cc0", + "\u0007N\u0002\u0002\u0cc0\u0cc1\u0007N\u0002\u0002\u0cc1\u0cc2\u0007", + "a\u0002\u0002\u0cc2\u0cc3\u0007T\u0002\u0002\u0cc3\u0cc4\u0007G\u0002", + "\u0002\u0cc4\u0cc5\u0007U\u0002\u0002\u0cc5\u0cc6\u0007W\u0002\u0002", + "\u0cc6\u0cc7\u0007N\u0002\u0002\u0cc7\u0cc8\u0007V\u0002\u0002\u0cc8", + "\u012c\u0003\u0002\u0002\u0002\u0cc9\u0cca\u0007U\u0002\u0002\u0cca", + "\u0ccb\u0007U\u0002\u0002\u0ccb\u0ccc\u0007N\u0002\u0002\u0ccc\u012e", + "\u0003\u0002\u0002\u0002\u0ccd\u0cce\u0007U\u0002\u0002\u0cce\u0ccf", + "\u0007V\u0002\u0002\u0ccf\u0cd0\u0007C\u0002\u0002\u0cd0\u0cd1\u0007", + "E\u0002\u0002\u0cd1\u0cd2\u0007M\u0002\u0002\u0cd2\u0cd3\u0007G\u0002", + "\u0002\u0cd3\u0cd4\u0007F\u0002\u0002\u0cd4\u0130\u0003\u0002\u0002", + "\u0002\u0cd5\u0cd6\u0007U\u0002\u0002\u0cd6\u0cd7\u0007V\u0002\u0002", + "\u0cd7\u0cd8\u0007C\u0002\u0002\u0cd8\u0cd9\u0007T\u0002\u0002\u0cd9", + "\u0cda\u0007V\u0002\u0002\u0cda\u0cdb\u0007K\u0002\u0002\u0cdb\u0cdc", + "\u0007P\u0002\u0002\u0cdc\u0cdd\u0007I\u0002\u0002\u0cdd\u0132\u0003", + "\u0002\u0002\u0002\u0cde\u0cdf\u0007U\u0002\u0002\u0cdf\u0ce0\u0007", + "V\u0002\u0002\u0ce0\u0ce1\u0007T\u0002\u0002\u0ce1\u0ce2\u0007C\u0002", + "\u0002\u0ce2\u0ce3\u0007K\u0002\u0002\u0ce3\u0ce4\u0007I\u0002\u0002", + "\u0ce4\u0ce5\u0007J\u0002\u0002\u0ce5\u0ce6\u0007V\u0002\u0002\u0ce6", + "\u0ce7\u0007a\u0002\u0002\u0ce7\u0ce8\u0007L\u0002\u0002\u0ce8\u0ce9", + "\u0007Q\u0002\u0002\u0ce9\u0cea\u0007K\u0002\u0002\u0cea\u0ceb\u0007", + "P\u0002\u0002\u0ceb\u0134\u0003\u0002\u0002\u0002\u0cec\u0ced\u0007", + "V\u0002\u0002\u0ced\u0cee\u0007C\u0002\u0002\u0cee\u0cef\u0007D\u0002", + "\u0002\u0cef\u0cf0\u0007N\u0002\u0002\u0cf0\u0cf1\u0007G\u0002\u0002", + "\u0cf1\u0136\u0003\u0002\u0002\u0002\u0cf2\u0cf3\u0007V\u0002\u0002", + "\u0cf3\u0cf4\u0007G\u0002\u0002\u0cf4\u0cf5\u0007T\u0002\u0002\u0cf5", + "\u0cf6\u0007O\u0002\u0002\u0cf6\u0cf7\u0007K\u0002\u0002\u0cf7\u0cf8", + "\u0007P\u0002\u0002\u0cf8\u0cf9\u0007C\u0002\u0002\u0cf9\u0cfa\u0007", + "V\u0002\u0002\u0cfa\u0cfb\u0007G\u0002\u0002\u0cfb\u0cfc\u0007F\u0002", + "\u0002\u0cfc\u0138\u0003\u0002\u0002\u0002\u0cfd\u0cfe\u0007V\u0002", + "\u0002\u0cfe\u0cff\u0007J\u0002\u0002\u0cff\u0d00\u0007G\u0002\u0002", + "\u0d00\u0d01\u0007P\u0002\u0002\u0d01\u013a\u0003\u0002\u0002\u0002", + "\u0d02\u0d03\u0007V\u0002\u0002\u0d03\u0d04\u0007Q\u0002\u0002\u0d04", + "\u013c\u0003\u0002\u0002\u0002\u0d05\u0d06\u0007V\u0002\u0002\u0d06", + "\u0d07\u0007T\u0002\u0002\u0d07\u0d08\u0007C\u0002\u0002\u0d08\u0d09", + "\u0007K\u0002\u0002\u0d09\u0d0a\u0007N\u0002\u0002\u0d0a\u0d0b\u0007", + "K\u0002\u0002\u0d0b\u0d0c\u0007P\u0002\u0002\u0d0c\u0d0d\u0007I\u0002", + "\u0002\u0d0d\u013e\u0003\u0002\u0002\u0002\u0d0e\u0d0f\u0007V\u0002", + "\u0002\u0d0f\u0d10\u0007T\u0002\u0002\u0d10\u0d11\u0007K\u0002\u0002", + "\u0d11\u0d12\u0007I\u0002\u0002\u0d12\u0d13\u0007I\u0002\u0002\u0d13", + "\u0d14\u0007G\u0002\u0002\u0d14\u0d15\u0007T\u0002\u0002\u0d15\u0140", + "\u0003\u0002\u0002\u0002\u0d16\u0d17\u0007V\u0002\u0002\u0d17\u0d18", + "\u0007T\u0002\u0002\u0d18\u0d19\u0007W\u0002\u0002\u0d19\u0d1a\u0007", + "G\u0002\u0002\u0d1a\u0142\u0003\u0002\u0002\u0002\u0d1b\u0d1c\u0007", + "W\u0002\u0002\u0d1c\u0d1d\u0007P\u0002\u0002\u0d1d\u0d1e\u0007F\u0002", + "\u0002\u0d1e\u0d1f\u0007Q\u0002\u0002\u0d1f\u0144\u0003\u0002\u0002", + "\u0002\u0d20\u0d21\u0007W\u0002\u0002\u0d21\u0d22\u0007P\u0002\u0002", + "\u0d22\u0d23\u0007K\u0002\u0002\u0d23\u0d24\u0007Q\u0002\u0002\u0d24", + "\u0d25\u0007P\u0002\u0002\u0d25\u0146\u0003\u0002\u0002\u0002\u0d26", + "\u0d27\u0007W\u0002\u0002\u0d27\u0d28\u0007P\u0002\u0002\u0d28\u0d29", + "\u0007K\u0002\u0002\u0d29\u0d2a\u0007S\u0002\u0002\u0d2a\u0d2b\u0007", + "W\u0002\u0002\u0d2b\u0d2c\u0007G\u0002\u0002\u0d2c\u0148\u0003\u0002", + "\u0002\u0002\u0d2d\u0d2e\u0007W\u0002\u0002\u0d2e\u0d2f\u0007P\u0002", + "\u0002\u0d2f\u0d30\u0007N\u0002\u0002\u0d30\u0d31\u0007Q\u0002\u0002", + "\u0d31\u0d32\u0007E\u0002\u0002\u0d32\u0d33\u0007M\u0002\u0002\u0d33", + "\u014a\u0003\u0002\u0002\u0002\u0d34\u0d35\u0007W\u0002\u0002\u0d35", + "\u0d36\u0007P\u0002\u0002\u0d36\u0d37\u0007U\u0002\u0002\u0d37\u0d38", + "\u0007K\u0002\u0002\u0d38\u0d39\u0007I\u0002\u0002\u0d39\u0d3a\u0007", + "P\u0002\u0002\u0d3a\u0d3b\u0007G\u0002\u0002\u0d3b\u0d3c\u0007F\u0002", + "\u0002\u0d3c\u014c\u0003\u0002\u0002\u0002\u0d3d\u0d3e\u0007W\u0002", + "\u0002\u0d3e\u0d3f\u0007R\u0002\u0002\u0d3f\u0d40\u0007F\u0002\u0002", + "\u0d40\u0d41\u0007C\u0002\u0002\u0d41\u0d42\u0007V\u0002\u0002\u0d42", + "\u0d43\u0007G\u0002\u0002\u0d43\u014e\u0003\u0002\u0002\u0002\u0d44", + "\u0d45\u0007W\u0002\u0002\u0d45\u0d46\u0007U\u0002\u0002\u0d46\u0d47", + "\u0007C\u0002\u0002\u0d47\u0d48\u0007I\u0002\u0002\u0d48\u0d49\u0007", + "G\u0002\u0002\u0d49\u0150\u0003\u0002\u0002\u0002\u0d4a\u0d4b\u0007", + "W\u0002\u0002\u0d4b\u0d4c\u0007U\u0002\u0002\u0d4c\u0d4d\u0007G\u0002", + "\u0002\u0d4d\u0152\u0003\u0002\u0002\u0002\u0d4e\u0d4f\u0007W\u0002", + "\u0002\u0d4f\u0d50\u0007U\u0002\u0002\u0d50\u0d51\u0007K\u0002\u0002", + "\u0d51\u0d52\u0007P\u0002\u0002\u0d52\u0d53\u0007I\u0002\u0002\u0d53", + "\u0154\u0003\u0002\u0002\u0002\u0d54\u0d55\u0007X\u0002\u0002\u0d55", + "\u0d56\u0007C\u0002\u0002\u0d56\u0d57\u0007N\u0002\u0002\u0d57\u0d58", + "\u0007W\u0002\u0002\u0d58\u0d59\u0007G\u0002\u0002\u0d59\u0d5a\u0007", + "U\u0002\u0002\u0d5a\u0156\u0003\u0002\u0002\u0002\u0d5b\u0d5c\u0007", + "Y\u0002\u0002\u0d5c\u0d5d\u0007J\u0002\u0002\u0d5d\u0d5e\u0007G\u0002", + "\u0002\u0d5e\u0d5f\u0007P\u0002\u0002\u0d5f\u0158\u0003\u0002\u0002", + "\u0002\u0d60\u0d61\u0007Y\u0002\u0002\u0d61\u0d62\u0007J\u0002\u0002", + "\u0d62\u0d63\u0007G\u0002\u0002\u0d63\u0d64\u0007T\u0002\u0002\u0d64", + "\u0d65\u0007G\u0002\u0002\u0d65\u015a\u0003\u0002\u0002\u0002\u0d66", + "\u0d67\u0007Y\u0002\u0002\u0d67\u0d68\u0007J\u0002\u0002\u0d68\u0d69", + "\u0007K\u0002\u0002\u0d69\u0d6a\u0007N\u0002\u0002\u0d6a\u0d6b\u0007", + "G\u0002\u0002\u0d6b\u015c\u0003\u0002\u0002\u0002\u0d6c\u0d6d\u0007", + "Y\u0002\u0002\u0d6d\u0d6e\u0007K\u0002\u0002\u0d6e\u0d6f\u0007V\u0002", + "\u0002\u0d6f\u0d70\u0007J\u0002\u0002\u0d70\u015e\u0003\u0002\u0002", + "\u0002\u0d71\u0d72\u0007Y\u0002\u0002\u0d72\u0d73\u0007T\u0002\u0002", + "\u0d73\u0d74\u0007K\u0002\u0002\u0d74\u0d75\u0007V\u0002\u0002\u0d75", + "\u0d76\u0007G\u0002\u0002\u0d76\u0160\u0003\u0002\u0002\u0002\u0d77", + "\u0d78\u0007Z\u0002\u0002\u0d78\u0d79\u0007Q\u0002\u0002\u0d79\u0d7a", + "\u0007T\u0002\u0002\u0d7a\u0162\u0003\u0002\u0002\u0002\u0d7b\u0d7c", + "\u0007\\\u0002\u0002\u0d7c\u0d7d\u0007G\u0002\u0002\u0d7d\u0d7e\u0007", + "T\u0002\u0002\u0d7e\u0d7f\u0007Q\u0002\u0002\u0d7f\u0d80\u0007H\u0002", + "\u0002\u0d80\u0d81\u0007K\u0002\u0002\u0d81\u0d82\u0007N\u0002\u0002", + "\u0d82\u0d83\u0007N\u0002\u0002\u0d83\u0164\u0003\u0002\u0002\u0002", + "\u0d84\u0d85\u0007V\u0002\u0002\u0d85\u0d86\u0007K\u0002\u0002\u0d86", + "\u0d87\u0007P\u0002\u0002\u0d87\u0d88\u0007[\u0002\u0002\u0d88\u0d89", + "\u0007K\u0002\u0002\u0d89\u0d8a\u0007P\u0002\u0002\u0d8a\u0d8b\u0007", + "V\u0002\u0002\u0d8b\u0166\u0003\u0002\u0002\u0002\u0d8c\u0d8d\u0007", + "U\u0002\u0002\u0d8d\u0d8e\u0007O\u0002\u0002\u0d8e\u0d8f\u0007C\u0002", + "\u0002\u0d8f\u0d90\u0007N\u0002\u0002\u0d90\u0d91\u0007N\u0002\u0002", + "\u0d91\u0d92\u0007K\u0002\u0002\u0d92\u0d93\u0007P\u0002\u0002\u0d93", + "\u0d94\u0007V\u0002\u0002\u0d94\u0168\u0003\u0002\u0002\u0002\u0d95", + "\u0d96\u0007O\u0002\u0002\u0d96\u0d97\u0007G\u0002\u0002\u0d97\u0d98", + "\u0007F\u0002\u0002\u0d98\u0d99\u0007K\u0002\u0002\u0d99\u0d9a\u0007", + "W\u0002\u0002\u0d9a\u0d9b\u0007O\u0002\u0002\u0d9b\u0d9c\u0007K\u0002", + "\u0002\u0d9c\u0d9d\u0007P\u0002\u0002\u0d9d\u0d9e\u0007V\u0002\u0002", + "\u0d9e\u016a\u0003\u0002\u0002\u0002\u0d9f\u0da0\u0007O\u0002\u0002", + "\u0da0\u0da1\u0007K\u0002\u0002\u0da1\u0da2\u0007F\u0002\u0002\u0da2", + "\u0da3\u0007F\u0002\u0002\u0da3\u0da4\u0007N\u0002\u0002\u0da4\u0da5", + "\u0007G\u0002\u0002\u0da5\u0da6\u0007K\u0002\u0002\u0da6\u0da7\u0007", + "P\u0002\u0002\u0da7\u0da8\u0007V\u0002\u0002\u0da8\u016c\u0003\u0002", + "\u0002\u0002\u0da9\u0daa\u0007K\u0002\u0002\u0daa\u0dab\u0007P\u0002", + "\u0002\u0dab\u0dac\u0007V\u0002\u0002\u0dac\u016e\u0003\u0002\u0002", + "\u0002\u0dad\u0dae\u0007K\u0002\u0002\u0dae\u0daf\u0007P\u0002\u0002", + "\u0daf\u0db0\u0007V\u0002\u0002\u0db0\u0db1\u00073\u0002\u0002\u0db1", + "\u0170\u0003\u0002\u0002\u0002\u0db2\u0db3\u0007K\u0002\u0002\u0db3", + "\u0db4\u0007P\u0002\u0002\u0db4\u0db5\u0007V\u0002\u0002\u0db5\u0db6", + "\u00074\u0002\u0002\u0db6\u0172\u0003\u0002\u0002\u0002\u0db7\u0db8", + "\u0007K\u0002\u0002\u0db8\u0db9\u0007P\u0002\u0002\u0db9\u0dba\u0007", + "V\u0002\u0002\u0dba\u0dbb\u00075\u0002\u0002\u0dbb\u0174\u0003\u0002", + "\u0002\u0002\u0dbc\u0dbd\u0007K\u0002\u0002\u0dbd\u0dbe\u0007P\u0002", + "\u0002\u0dbe\u0dbf\u0007V\u0002\u0002\u0dbf\u0dc0\u00076\u0002\u0002", + "\u0dc0\u0176\u0003\u0002\u0002\u0002\u0dc1\u0dc2\u0007K\u0002\u0002", + "\u0dc2\u0dc3\u0007P\u0002\u0002\u0dc3\u0dc4\u0007V\u0002\u0002\u0dc4", + "\u0dc5\u0007:\u0002\u0002\u0dc5\u0178\u0003\u0002\u0002\u0002\u0dc6", + "\u0dc7\u0007K\u0002\u0002\u0dc7\u0dc8\u0007P\u0002\u0002\u0dc8\u0dc9", + "\u0007V\u0002\u0002\u0dc9\u0dca\u0007G\u0002\u0002\u0dca\u0dcb\u0007", + "I\u0002\u0002\u0dcb\u0dcc\u0007G\u0002\u0002\u0dcc\u0dcd\u0007T\u0002", + "\u0002\u0dcd\u017a\u0003\u0002\u0002\u0002\u0dce\u0dcf\u0007D\u0002", + "\u0002\u0dcf\u0dd0\u0007K\u0002\u0002\u0dd0\u0dd1\u0007I\u0002\u0002", + "\u0dd1\u0dd2\u0007K\u0002\u0002\u0dd2\u0dd3\u0007P\u0002\u0002\u0dd3", + "\u0dd4\u0007V\u0002\u0002\u0dd4\u017c\u0003\u0002\u0002\u0002\u0dd5", + "\u0dd6\u0007T\u0002\u0002\u0dd6\u0dd7\u0007G\u0002\u0002\u0dd7\u0dd8", + "\u0007C\u0002\u0002\u0dd8\u0dd9\u0007N\u0002\u0002\u0dd9\u017e\u0003", + "\u0002\u0002\u0002\u0dda\u0ddb\u0007F\u0002\u0002\u0ddb\u0ddc\u0007", + "Q\u0002\u0002\u0ddc\u0ddd\u0007W\u0002\u0002\u0ddd\u0dde\u0007D\u0002", + "\u0002\u0dde\u0ddf\u0007N\u0002\u0002\u0ddf\u0de0\u0007G\u0002\u0002", + "\u0de0\u0180\u0003\u0002\u0002\u0002\u0de1\u0de2\u0007R\u0002\u0002", + "\u0de2\u0de3\u0007T\u0002\u0002\u0de3\u0de4\u0007G\u0002\u0002\u0de4", + "\u0de5\u0007E\u0002\u0002\u0de5\u0de6\u0007K\u0002\u0002\u0de6\u0de7", + "\u0007U\u0002\u0002\u0de7\u0de8\u0007K\u0002\u0002\u0de8\u0de9\u0007", + "Q\u0002\u0002\u0de9\u0dea\u0007P\u0002\u0002\u0dea\u0182\u0003\u0002", + "\u0002\u0002\u0deb\u0dec\u0007H\u0002\u0002\u0dec\u0ded\u0007N\u0002", + "\u0002\u0ded\u0dee\u0007Q\u0002\u0002\u0dee\u0def\u0007C\u0002\u0002", + "\u0def\u0df0\u0007V\u0002\u0002\u0df0\u0184\u0003\u0002\u0002\u0002", + "\u0df1\u0df2\u0007H\u0002\u0002\u0df2\u0df3\u0007N\u0002\u0002\u0df3", + "\u0df4\u0007Q\u0002\u0002\u0df4\u0df5\u0007C\u0002\u0002\u0df5\u0df6", + "\u0007V\u0002\u0002\u0df6\u0df7\u00076\u0002\u0002\u0df7\u0186\u0003", + "\u0002\u0002\u0002\u0df8\u0df9\u0007H\u0002\u0002\u0df9\u0dfa\u0007", + "N\u0002\u0002\u0dfa\u0dfb\u0007Q\u0002\u0002\u0dfb\u0dfc\u0007C\u0002", + "\u0002\u0dfc\u0dfd\u0007V\u0002\u0002\u0dfd\u0dfe\u0007:\u0002\u0002", + "\u0dfe\u0188\u0003\u0002\u0002\u0002\u0dff\u0e00\u0007F\u0002\u0002", + "\u0e00\u0e01\u0007G\u0002\u0002\u0e01\u0e02\u0007E\u0002\u0002\u0e02", + "\u0e03\u0007K\u0002\u0002\u0e03\u0e04\u0007O\u0002\u0002\u0e04\u0e05", + "\u0007C\u0002\u0002\u0e05\u0e06\u0007N\u0002\u0002\u0e06\u018a\u0003", + "\u0002\u0002\u0002\u0e07\u0e08\u0007F\u0002\u0002\u0e08\u0e09\u0007", + "G\u0002\u0002\u0e09\u0e0a\u0007E\u0002\u0002\u0e0a\u018c\u0003\u0002", + "\u0002\u0002\u0e0b\u0e0c\u0007P\u0002\u0002\u0e0c\u0e0d\u0007W\u0002", + "\u0002\u0e0d\u0e0e\u0007O\u0002\u0002\u0e0e\u0e0f\u0007G\u0002\u0002", + "\u0e0f\u0e10\u0007T\u0002\u0002\u0e10\u0e11\u0007K\u0002\u0002\u0e11", + "\u0e12\u0007E\u0002\u0002\u0e12\u018e\u0003\u0002\u0002\u0002\u0e13", + "\u0e14\u0007F\u0002\u0002\u0e14\u0e15\u0007C\u0002\u0002\u0e15\u0e16", + "\u0007V\u0002\u0002\u0e16\u0e17\u0007G\u0002\u0002\u0e17\u0190\u0003", + "\u0002\u0002\u0002\u0e18\u0e19\u0007V\u0002\u0002\u0e19\u0e1a\u0007", + "K\u0002\u0002\u0e1a\u0e1b\u0007O\u0002\u0002\u0e1b\u0e1c\u0007G\u0002", + "\u0002\u0e1c\u0192\u0003\u0002\u0002\u0002\u0e1d\u0e1e\u0007V\u0002", + "\u0002\u0e1e\u0e1f\u0007K\u0002\u0002\u0e1f\u0e20\u0007O\u0002\u0002", + "\u0e20\u0e21\u0007G\u0002\u0002\u0e21\u0e22\u0007U\u0002\u0002\u0e22", + "\u0e23\u0007V\u0002\u0002\u0e23\u0e24\u0007C\u0002\u0002\u0e24\u0e25", + "\u0007O\u0002\u0002\u0e25\u0e26\u0007R\u0002\u0002\u0e26\u0194\u0003", + "\u0002\u0002\u0002\u0e27\u0e28\u0007F\u0002\u0002\u0e28\u0e29\u0007", + "C\u0002\u0002\u0e29\u0e2a\u0007V\u0002\u0002\u0e2a\u0e2b\u0007G\u0002", + "\u0002\u0e2b\u0e2c\u0007V\u0002\u0002\u0e2c\u0e2d\u0007K\u0002\u0002", + "\u0e2d\u0e2e\u0007O\u0002\u0002\u0e2e\u0e2f\u0007G\u0002\u0002\u0e2f", + "\u0196\u0003\u0002\u0002\u0002\u0e30\u0e31\u0007[\u0002\u0002\u0e31", + "\u0e32\u0007G\u0002\u0002\u0e32\u0e33\u0007C\u0002\u0002\u0e33\u0e34", + "\u0007T\u0002\u0002\u0e34\u0198\u0003\u0002\u0002\u0002\u0e35\u0e36", + "\u0007E\u0002\u0002\u0e36\u0e37\u0007J\u0002\u0002\u0e37\u0e38\u0007", + "C\u0002\u0002\u0e38\u0e39\u0007T\u0002\u0002\u0e39\u019a\u0003\u0002", + "\u0002\u0002\u0e3a\u0e3b\u0007X\u0002\u0002\u0e3b\u0e3c\u0007C\u0002", + "\u0002\u0e3c\u0e3d\u0007T\u0002\u0002\u0e3d\u0e3e\u0007E\u0002\u0002", + "\u0e3e\u0e3f\u0007J\u0002\u0002\u0e3f\u0e40\u0007C\u0002\u0002\u0e40", + "\u0e41\u0007T\u0002\u0002\u0e41\u019c\u0003\u0002\u0002\u0002\u0e42", + "\u0e43\u0007P\u0002\u0002\u0e43\u0e44\u0007X\u0002\u0002\u0e44\u0e45", + "\u0007C\u0002\u0002\u0e45\u0e46\u0007T\u0002\u0002\u0e46\u0e47\u0007", + "E\u0002\u0002\u0e47\u0e48\u0007J\u0002\u0002\u0e48\u0e49\u0007C\u0002", + "\u0002\u0e49\u0e4a\u0007T\u0002\u0002\u0e4a\u019e\u0003\u0002\u0002", + "\u0002\u0e4b\u0e4c\u0007P\u0002\u0002\u0e4c\u0e4d\u0007C\u0002\u0002", + "\u0e4d\u0e4e\u0007V\u0002\u0002\u0e4e\u0e4f\u0007K\u0002\u0002\u0e4f", + "\u0e50\u0007Q\u0002\u0002\u0e50\u0e51\u0007P\u0002\u0002\u0e51\u0e52", + "\u0007C\u0002\u0002\u0e52\u0e53\u0007N\u0002\u0002\u0e53\u01a0\u0003", + "\u0002\u0002\u0002\u0e54\u0e55\u0007D\u0002\u0002\u0e55\u0e56\u0007", + "K\u0002\u0002\u0e56\u0e57\u0007P\u0002\u0002\u0e57\u0e58\u0007C\u0002", + "\u0002\u0e58\u0e59\u0007T\u0002\u0002\u0e59\u0e5a\u0007[\u0002\u0002", + "\u0e5a\u01a2\u0003\u0002\u0002\u0002\u0e5b\u0e5c\u0007X\u0002\u0002", + "\u0e5c\u0e5d\u0007C\u0002\u0002\u0e5d\u0e5e\u0007T\u0002\u0002\u0e5e", + "\u0e5f\u0007D\u0002\u0002\u0e5f\u0e60\u0007K\u0002\u0002\u0e60\u0e61", + "\u0007P\u0002\u0002\u0e61\u0e62\u0007C\u0002\u0002\u0e62\u0e63\u0007", + "T\u0002\u0002\u0e63\u0e64\u0007[\u0002\u0002\u0e64\u01a4\u0003\u0002", + "\u0002\u0002\u0e65\u0e66\u0007V\u0002\u0002\u0e66\u0e67\u0007K\u0002", + "\u0002\u0e67\u0e68\u0007P\u0002\u0002\u0e68\u0e69\u0007[\u0002\u0002", + "\u0e69\u0e6a\u0007D\u0002\u0002\u0e6a\u0e6b\u0007N\u0002\u0002\u0e6b", + "\u0e6c\u0007Q\u0002\u0002\u0e6c\u0e6d\u0007D\u0002\u0002\u0e6d\u01a6", + "\u0003\u0002\u0002\u0002\u0e6e\u0e6f\u0007D\u0002\u0002\u0e6f\u0e70", + "\u0007N\u0002\u0002\u0e70\u0e71\u0007Q\u0002\u0002\u0e71\u0e72\u0007", + "D\u0002\u0002\u0e72\u01a8\u0003\u0002\u0002\u0002\u0e73\u0e74\u0007", + "O\u0002\u0002\u0e74\u0e75\u0007G\u0002\u0002\u0e75\u0e76\u0007F\u0002", + "\u0002\u0e76\u0e77\u0007K\u0002\u0002\u0e77\u0e78\u0007W\u0002\u0002", + "\u0e78\u0e79\u0007O\u0002\u0002\u0e79\u0e7a\u0007D\u0002\u0002\u0e7a", + "\u0e7b\u0007N\u0002\u0002\u0e7b\u0e7c\u0007Q\u0002\u0002\u0e7c\u0e7d", + "\u0007D\u0002\u0002\u0e7d\u01aa\u0003\u0002\u0002\u0002\u0e7e\u0e7f", + "\u0007N\u0002\u0002\u0e7f\u0e80\u0007Q\u0002\u0002\u0e80\u0e81\u0007", + "P\u0002\u0002\u0e81\u0e82\u0007I\u0002\u0002\u0e82\u01ac\u0003\u0002", + "\u0002\u0002\u0e83\u0e84\u0007N\u0002\u0002\u0e84\u0e85\u0007Q\u0002", + "\u0002\u0e85\u0e86\u0007P\u0002\u0002\u0e86\u0e87\u0007I\u0002\u0002", + "\u0e87\u0e88\u0007D\u0002\u0002\u0e88\u0e89\u0007N\u0002\u0002\u0e89", + "\u0e8a\u0007Q\u0002\u0002\u0e8a\u0e8b\u0007D\u0002\u0002\u0e8b\u01ae", + "\u0003\u0002\u0002\u0002\u0e8c\u0e8d\u0007V\u0002\u0002\u0e8d\u0e8e", + "\u0007K\u0002\u0002\u0e8e\u0e8f\u0007P\u0002\u0002\u0e8f\u0e90\u0007", + "[\u0002\u0002\u0e90\u0e91\u0007V\u0002\u0002\u0e91\u0e92\u0007G\u0002", + "\u0002\u0e92\u0e93\u0007Z\u0002\u0002\u0e93\u0e94\u0007V\u0002\u0002", + "\u0e94\u01b0\u0003\u0002\u0002\u0002\u0e95\u0e96\u0007V\u0002\u0002", + "\u0e96\u0e97\u0007G\u0002\u0002\u0e97\u0e98\u0007Z\u0002\u0002\u0e98", + "\u0e99\u0007V\u0002\u0002\u0e99\u01b2\u0003\u0002\u0002\u0002\u0e9a", + "\u0e9b\u0007O\u0002\u0002\u0e9b\u0e9c\u0007G\u0002\u0002\u0e9c\u0e9d", + "\u0007F\u0002\u0002\u0e9d\u0e9e\u0007K\u0002\u0002\u0e9e\u0e9f\u0007", + "W\u0002\u0002\u0e9f\u0ea0\u0007O\u0002\u0002\u0ea0\u0ea1\u0007V\u0002", + "\u0002\u0ea1\u0ea2\u0007G\u0002\u0002\u0ea2\u0ea3\u0007Z\u0002\u0002", + "\u0ea3\u0ea4\u0007V\u0002\u0002\u0ea4\u01b4\u0003\u0002\u0002\u0002", + "\u0ea5\u0ea6\u0007N\u0002\u0002\u0ea6\u0ea7\u0007Q\u0002\u0002\u0ea7", + "\u0ea8\u0007P\u0002\u0002\u0ea8\u0ea9\u0007I\u0002\u0002\u0ea9\u0eaa", + "\u0007V\u0002\u0002\u0eaa\u0eab\u0007G\u0002\u0002\u0eab\u0eac\u0007", + "Z\u0002\u0002\u0eac\u0ead\u0007V\u0002\u0002\u0ead\u01b6\u0003\u0002", + "\u0002\u0002\u0eae\u0eaf\u0007G\u0002\u0002\u0eaf\u0eb0\u0007P\u0002", + "\u0002\u0eb0\u0eb1\u0007W\u0002\u0002\u0eb1\u0eb2\u0007O\u0002\u0002", + "\u0eb2\u01b8\u0003\u0002\u0002\u0002\u0eb3\u0eb4\u0007X\u0002\u0002", + "\u0eb4\u0eb5\u0007C\u0002\u0002\u0eb5\u0eb6\u0007T\u0002\u0002\u0eb6", + "\u0eb7\u0007[\u0002\u0002\u0eb7\u0eb8\u0007K\u0002\u0002\u0eb8\u0eb9", + "\u0007P\u0002\u0002\u0eb9\u0eba\u0007I\u0002\u0002\u0eba\u01ba\u0003", + "\u0002\u0002\u0002\u0ebb\u0ebc\u0007U\u0002\u0002\u0ebc\u0ebd\u0007", + "G\u0002\u0002\u0ebd\u0ebe\u0007T\u0002\u0002\u0ebe\u0ebf\u0007K\u0002", + "\u0002\u0ebf\u0ec0\u0007C\u0002\u0002\u0ec0\u0ec1\u0007N\u0002\u0002", + "\u0ec1\u01bc\u0003\u0002\u0002\u0002\u0ec2\u0ec3\u0007[\u0002\u0002", + "\u0ec3\u0ec4\u0007G\u0002\u0002\u0ec4\u0ec5\u0007C\u0002\u0002\u0ec5", + "\u0ec6\u0007T\u0002\u0002\u0ec6\u0ec7\u0007a\u0002\u0002\u0ec7\u0ec8", + "\u0007O\u0002\u0002\u0ec8\u0ec9\u0007Q\u0002\u0002\u0ec9\u0eca\u0007", + "P\u0002\u0002\u0eca\u0ecb\u0007V\u0002\u0002\u0ecb\u0ecc\u0007J\u0002", + "\u0002\u0ecc\u01be\u0003\u0002\u0002\u0002\u0ecd\u0ece\u0007F\u0002", + "\u0002\u0ece\u0ecf\u0007C\u0002\u0002\u0ecf\u0ed0\u0007[\u0002\u0002", + "\u0ed0\u0ed1\u0007a\u0002\u0002\u0ed1\u0ed2\u0007J\u0002\u0002\u0ed2", + "\u0ed3\u0007Q\u0002\u0002\u0ed3\u0ed4\u0007W\u0002\u0002\u0ed4\u0ed5", + "\u0007T\u0002\u0002\u0ed5\u01c0\u0003\u0002\u0002\u0002\u0ed6\u0ed7", + "\u0007F\u0002\u0002\u0ed7\u0ed8\u0007C\u0002\u0002\u0ed8\u0ed9\u0007", + "[\u0002\u0002\u0ed9\u0eda\u0007a\u0002\u0002\u0eda\u0edb\u0007O\u0002", + "\u0002\u0edb\u0edc\u0007K\u0002\u0002\u0edc\u0edd\u0007P\u0002\u0002", + "\u0edd\u0ede\u0007W\u0002\u0002\u0ede\u0edf\u0007V\u0002\u0002\u0edf", + "\u0ee0\u0007G\u0002\u0002\u0ee0\u01c2\u0003\u0002\u0002\u0002\u0ee1", + "\u0ee2\u0007F\u0002\u0002\u0ee2\u0ee3\u0007C\u0002\u0002\u0ee3\u0ee4", + "\u0007[\u0002\u0002\u0ee4\u0ee5\u0007a\u0002\u0002\u0ee5\u0ee6\u0007", + "U\u0002\u0002\u0ee6\u0ee7\u0007G\u0002\u0002\u0ee7\u0ee8\u0007E\u0002", + "\u0002\u0ee8\u0ee9\u0007Q\u0002\u0002\u0ee9\u0eea\u0007P\u0002\u0002", + "\u0eea\u0eeb\u0007F\u0002\u0002\u0eeb\u01c4\u0003\u0002\u0002\u0002", + "\u0eec\u0eed\u0007J\u0002\u0002\u0eed\u0eee\u0007Q\u0002\u0002\u0eee", + "\u0eef\u0007W\u0002\u0002\u0eef\u0ef0\u0007T\u0002\u0002\u0ef0\u0ef1", + "\u0007a\u0002\u0002\u0ef1\u0ef2\u0007O\u0002\u0002\u0ef2\u0ef3\u0007", + "K\u0002\u0002\u0ef3\u0ef4\u0007P\u0002\u0002\u0ef4\u0ef5\u0007W\u0002", + "\u0002\u0ef5\u0ef6\u0007V\u0002\u0002\u0ef6\u0ef7\u0007G\u0002\u0002", + "\u0ef7\u01c6\u0003\u0002\u0002\u0002\u0ef8\u0ef9\u0007J\u0002\u0002", + "\u0ef9\u0efa\u0007Q\u0002\u0002\u0efa\u0efb\u0007W\u0002\u0002\u0efb", + "\u0efc\u0007T\u0002\u0002\u0efc\u0efd\u0007a\u0002\u0002\u0efd\u0efe", + "\u0007U\u0002\u0002\u0efe\u0eff\u0007G\u0002\u0002\u0eff\u0f00\u0007", + "E\u0002\u0002\u0f00\u0f01\u0007Q\u0002\u0002\u0f01\u0f02\u0007P\u0002", + "\u0002\u0f02\u0f03\u0007F\u0002\u0002\u0f03\u01c8\u0003\u0002\u0002", + "\u0002\u0f04\u0f05\u0007O\u0002\u0002\u0f05\u0f06\u0007K\u0002\u0002", + "\u0f06\u0f07\u0007P\u0002\u0002\u0f07\u0f08\u0007W\u0002\u0002\u0f08", + "\u0f09\u0007V\u0002\u0002\u0f09\u0f0a\u0007G\u0002\u0002\u0f0a\u0f0b", + "\u0007a\u0002\u0002\u0f0b\u0f0c\u0007U\u0002\u0002\u0f0c\u0f0d\u0007", + "G\u0002\u0002\u0f0d\u0f0e\u0007E\u0002\u0002\u0f0e\u0f0f\u0007Q\u0002", + "\u0002\u0f0f\u0f10\u0007P\u0002\u0002\u0f10\u0f11\u0007F\u0002\u0002", + "\u0f11\u01ca\u0003\u0002\u0002\u0002\u0f12\u0f13\u0007U\u0002\u0002", + "\u0f13\u0f14\u0007G\u0002\u0002\u0f14\u0f15\u0007E\u0002\u0002\u0f15", + "\u0f16\u0007Q\u0002\u0002\u0f16\u0f17\u0007P\u0002\u0002\u0f17\u0f18", + "\u0007F\u0002\u0002\u0f18\u0f19\u0007a\u0002\u0002\u0f19\u0f1a\u0007", + "O\u0002\u0002\u0f1a\u0f1b\u0007K\u0002\u0002\u0f1b\u0f1c\u0007E\u0002", + "\u0002\u0f1c\u0f1d\u0007T\u0002\u0002\u0f1d\u0f1e\u0007Q\u0002\u0002", + "\u0f1e\u0f1f\u0007U\u0002\u0002\u0f1f\u0f20\u0007G\u0002\u0002\u0f20", + "\u0f21\u0007E\u0002\u0002\u0f21\u0f22\u0007Q\u0002\u0002\u0f22\u0f23", + "\u0007P\u0002\u0002\u0f23\u0f24\u0007F\u0002\u0002\u0f24\u01cc\u0003", + "\u0002\u0002\u0002\u0f25\u0f26\u0007O\u0002\u0002\u0f26\u0f27\u0007", + "K\u0002\u0002\u0f27\u0f28\u0007P\u0002\u0002\u0f28\u0f29\u0007W\u0002", + "\u0002\u0f29\u0f2a\u0007V\u0002\u0002\u0f2a\u0f2b\u0007G\u0002\u0002", + "\u0f2b\u0f2c\u0007a\u0002\u0002\u0f2c\u0f2d\u0007O\u0002\u0002\u0f2d", + "\u0f2e\u0007K\u0002\u0002\u0f2e\u0f2f\u0007E\u0002\u0002\u0f2f\u0f30", + "\u0007T\u0002\u0002\u0f30\u0f31\u0007Q\u0002\u0002\u0f31\u0f32\u0007", + "U\u0002\u0002\u0f32\u0f33\u0007G\u0002\u0002\u0f33\u0f34\u0007E\u0002", + "\u0002\u0f34\u0f35\u0007Q\u0002\u0002\u0f35\u0f36\u0007P\u0002\u0002", + "\u0f36\u0f37\u0007F\u0002\u0002\u0f37\u01ce\u0003\u0002\u0002\u0002", + "\u0f38\u0f39\u0007J\u0002\u0002\u0f39\u0f3a\u0007Q\u0002\u0002\u0f3a", + "\u0f3b\u0007W\u0002\u0002\u0f3b\u0f3c\u0007T\u0002\u0002\u0f3c\u0f3d", + "\u0007a\u0002\u0002\u0f3d\u0f3e\u0007O\u0002\u0002\u0f3e\u0f3f\u0007", + "K\u0002\u0002\u0f3f\u0f40\u0007E\u0002\u0002\u0f40\u0f41\u0007T\u0002", + "\u0002\u0f41\u0f42\u0007Q\u0002\u0002\u0f42\u0f43\u0007U\u0002\u0002", + "\u0f43\u0f44\u0007G\u0002\u0002\u0f44\u0f45\u0007E\u0002\u0002\u0f45", + "\u0f46\u0007Q\u0002\u0002\u0f46\u0f47\u0007P\u0002\u0002\u0f47\u0f48", + "\u0007F\u0002\u0002\u0f48\u01d0\u0003\u0002\u0002\u0002\u0f49\u0f4a", + "\u0007F\u0002\u0002\u0f4a\u0f4b\u0007C\u0002\u0002\u0f4b\u0f4c\u0007", + "[\u0002\u0002\u0f4c\u0f4d\u0007a\u0002\u0002\u0f4d\u0f4e\u0007O\u0002", + "\u0002\u0f4e\u0f4f\u0007K\u0002\u0002\u0f4f\u0f50\u0007E\u0002\u0002", + "\u0f50\u0f51\u0007T\u0002\u0002\u0f51\u0f52\u0007Q\u0002\u0002\u0f52", + "\u0f53\u0007U\u0002\u0002\u0f53\u0f54\u0007G\u0002\u0002\u0f54\u0f55", + "\u0007E\u0002\u0002\u0f55\u0f56\u0007Q\u0002\u0002\u0f56\u0f57\u0007", + "P\u0002\u0002\u0f57\u0f58\u0007F\u0002\u0002\u0f58\u01d2\u0003\u0002", + "\u0002\u0002\u0f59\u0f5a\u0007L\u0002\u0002\u0f5a\u0f5b\u0007U\u0002", + "\u0002\u0f5b\u0f5c\u0007Q\u0002\u0002\u0f5c\u0f5d\u0007P\u0002\u0002", + "\u0f5d\u0f5e\u0007a\u0002\u0002\u0f5e\u0f5f\u0007X\u0002\u0002\u0f5f", + "\u0f60\u0007C\u0002\u0002\u0f60\u0f61\u0007N\u0002\u0002\u0f61\u0f62", + "\u0007K\u0002\u0002\u0f62\u0f63\u0007F\u0002\u0002\u0f63\u01d4\u0003", + "\u0002\u0002\u0002\u0f64\u0f65\u0007L\u0002\u0002\u0f65\u0f66\u0007", + "U\u0002\u0002\u0f66\u0f67\u0007Q\u0002\u0002\u0f67\u0f68\u0007P\u0002", + "\u0002\u0f68\u0f69\u0007a\u0002\u0002\u0f69\u0f6a\u0007U\u0002\u0002", + "\u0f6a\u0f6b\u0007E\u0002\u0002\u0f6b\u0f6c\u0007J\u0002\u0002\u0f6c", + "\u0f6d\u0007G\u0002\u0002\u0f6d\u0f6e\u0007O\u0002\u0002\u0f6e\u0f6f", + "\u0007C\u0002\u0002\u0f6f\u0f70\u0007a\u0002\u0002\u0f70\u0f71\u0007", + "X\u0002\u0002\u0f71\u0f72\u0007C\u0002\u0002\u0f72\u0f73\u0007N\u0002", + "\u0002\u0f73\u0f74\u0007K\u0002\u0002\u0f74\u0f75\u0007F\u0002\u0002", + "\u0f75\u01d6\u0003\u0002\u0002\u0002\u0f76\u0f77\u0007C\u0002\u0002", + "\u0f77\u0f78\u0007X\u0002\u0002\u0f78\u0f79\u0007I\u0002\u0002\u0f79", + "\u01d8\u0003\u0002\u0002\u0002\u0f7a\u0f7b\u0007D\u0002\u0002\u0f7b", + "\u0f7c\u0007K\u0002\u0002\u0f7c\u0f7d\u0007V\u0002\u0002\u0f7d\u0f7e", + "\u0007a\u0002\u0002\u0f7e\u0f7f\u0007C\u0002\u0002\u0f7f\u0f80\u0007", + "P\u0002\u0002\u0f80\u0f81\u0007F\u0002\u0002\u0f81\u01da\u0003\u0002", + "\u0002\u0002\u0f82\u0f83\u0007D\u0002\u0002\u0f83\u0f84\u0007K\u0002", + "\u0002\u0f84\u0f85\u0007V\u0002\u0002\u0f85\u0f86\u0007a\u0002\u0002", + "\u0f86\u0f87\u0007Q\u0002\u0002\u0f87\u0f88\u0007T\u0002\u0002\u0f88", + "\u01dc\u0003\u0002\u0002\u0002\u0f89\u0f8a\u0007D\u0002\u0002\u0f8a", + "\u0f8b\u0007K\u0002\u0002\u0f8b\u0f8c\u0007V\u0002\u0002\u0f8c\u0f8d", + "\u0007a\u0002\u0002\u0f8d\u0f8e\u0007Z\u0002\u0002\u0f8e\u0f8f\u0007", + "Q\u0002\u0002\u0f8f\u0f90\u0007T\u0002\u0002\u0f90\u01de\u0003\u0002", + "\u0002\u0002\u0f91\u0f92\u0007E\u0002\u0002\u0f92\u0f93\u0007Q\u0002", + "\u0002\u0f93\u0f94\u0007W\u0002\u0002\u0f94\u0f95\u0007P\u0002\u0002", + "\u0f95\u0f96\u0007V\u0002\u0002\u0f96\u01e0\u0003\u0002\u0002\u0002", + "\u0f97\u0f98\u0007I\u0002\u0002\u0f98\u0f99\u0007T\u0002\u0002\u0f99", + "\u0f9a\u0007Q\u0002\u0002\u0f9a\u0f9b\u0007W\u0002\u0002\u0f9b\u0f9c", + "\u0007R\u0002\u0002\u0f9c\u0f9d\u0007a\u0002\u0002\u0f9d\u0f9e\u0007", + "E\u0002\u0002\u0f9e\u0f9f\u0007Q\u0002\u0002\u0f9f\u0fa0\u0007P\u0002", + "\u0002\u0fa0\u0fa1\u0007E\u0002\u0002\u0fa1\u0fa2\u0007C\u0002\u0002", + "\u0fa2\u0fa3\u0007V\u0002\u0002\u0fa3\u01e2\u0003\u0002\u0002\u0002", + "\u0fa4\u0fa5\u0007O\u0002\u0002\u0fa5\u0fa6\u0007C\u0002\u0002\u0fa6", + "\u0fa7\u0007Z\u0002\u0002\u0fa7\u01e4\u0003\u0002\u0002\u0002\u0fa8", + "\u0fa9\u0007O\u0002\u0002\u0fa9\u0faa\u0007K\u0002\u0002\u0faa\u0fab", + "\u0007P\u0002\u0002\u0fab\u01e6\u0003\u0002\u0002\u0002\u0fac\u0fad", + "\u0007U\u0002\u0002\u0fad\u0fae\u0007V\u0002\u0002\u0fae\u0faf\u0007", + "F\u0002\u0002\u0faf\u01e8\u0003\u0002\u0002\u0002\u0fb0\u0fb1\u0007", + "U\u0002\u0002\u0fb1\u0fb2\u0007V\u0002\u0002\u0fb2\u0fb3\u0007F\u0002", + "\u0002\u0fb3\u0fb4\u0007F\u0002\u0002\u0fb4\u0fb5\u0007G\u0002\u0002", + "\u0fb5\u0fb6\u0007X\u0002\u0002\u0fb6\u01ea\u0003\u0002\u0002\u0002", + "\u0fb7\u0fb8\u0007U\u0002\u0002\u0fb8\u0fb9\u0007V\u0002\u0002\u0fb9", + "\u0fba\u0007F\u0002\u0002\u0fba\u0fbb\u0007F\u0002\u0002\u0fbb\u0fbc", + "\u0007G\u0002\u0002\u0fbc\u0fbd\u0007X\u0002\u0002\u0fbd\u0fbe\u0007", + "a\u0002\u0002\u0fbe\u0fbf\u0007R\u0002\u0002\u0fbf\u0fc0\u0007Q\u0002", + "\u0002\u0fc0\u0fc1\u0007R\u0002\u0002\u0fc1\u01ec\u0003\u0002\u0002", + "\u0002\u0fc2\u0fc3\u0007U\u0002\u0002\u0fc3\u0fc4\u0007V\u0002\u0002", + "\u0fc4\u0fc5\u0007F\u0002\u0002\u0fc5\u0fc6\u0007F\u0002\u0002\u0fc6", + "\u0fc7\u0007G\u0002\u0002\u0fc7\u0fc8\u0007X\u0002\u0002\u0fc8\u0fc9", + "\u0007a\u0002\u0002\u0fc9\u0fca\u0007U\u0002\u0002\u0fca\u0fcb\u0007", + "C\u0002\u0002\u0fcb\u0fcc\u0007O\u0002\u0002\u0fcc\u0fcd\u0007R\u0002", + "\u0002\u0fcd\u01ee\u0003\u0002\u0002\u0002\u0fce\u0fcf\u0007U\u0002", + "\u0002\u0fcf\u0fd0\u0007W\u0002\u0002\u0fd0\u0fd1\u0007O\u0002\u0002", + "\u0fd1\u01f0\u0003\u0002\u0002\u0002\u0fd2\u0fd3\u0007X\u0002\u0002", + "\u0fd3\u0fd4\u0007C\u0002\u0002\u0fd4\u0fd5\u0007T\u0002\u0002\u0fd5", + "\u0fd6\u0007a\u0002\u0002\u0fd6\u0fd7\u0007R\u0002\u0002\u0fd7\u0fd8", + "\u0007Q\u0002\u0002\u0fd8\u0fd9\u0007R\u0002\u0002\u0fd9\u01f2\u0003", + "\u0002\u0002\u0002\u0fda\u0fdb\u0007X\u0002\u0002\u0fdb\u0fdc\u0007", + "C\u0002\u0002\u0fdc\u0fdd\u0007T\u0002\u0002\u0fdd\u0fde\u0007a\u0002", + "\u0002\u0fde\u0fdf\u0007U\u0002\u0002\u0fdf\u0fe0\u0007C\u0002\u0002", + "\u0fe0\u0fe1\u0007O\u0002\u0002\u0fe1\u0fe2\u0007R\u0002\u0002\u0fe2", + "\u01f4\u0003\u0002\u0002\u0002\u0fe3\u0fe4\u0007X\u0002\u0002\u0fe4", + "\u0fe5\u0007C\u0002\u0002\u0fe5\u0fe6\u0007T\u0002\u0002\u0fe6\u0fe7", + "\u0007K\u0002\u0002\u0fe7\u0fe8\u0007C\u0002\u0002\u0fe8\u0fe9\u0007", + "P\u0002\u0002\u0fe9\u0fea\u0007E\u0002\u0002\u0fea\u0feb\u0007G\u0002", + "\u0002\u0feb\u01f6\u0003\u0002\u0002\u0002\u0fec\u0fed\u0007E\u0002", + "\u0002\u0fed\u0fee\u0007W\u0002\u0002\u0fee\u0fef\u0007T\u0002\u0002", + "\u0fef\u0ff0\u0007T\u0002\u0002\u0ff0\u0ff1\u0007G\u0002\u0002\u0ff1", + "\u0ff2\u0007P\u0002\u0002\u0ff2\u0ff3\u0007V\u0002\u0002\u0ff3\u0ff4", + "\u0007a\u0002\u0002\u0ff4\u0ff5\u0007F\u0002\u0002\u0ff5\u0ff6\u0007", + "C\u0002\u0002\u0ff6\u0ff7\u0007V\u0002\u0002\u0ff7\u0ff8\u0007G\u0002", + "\u0002\u0ff8\u01f8\u0003\u0002\u0002\u0002\u0ff9\u0ffa\u0007E\u0002", + "\u0002\u0ffa\u0ffb\u0007W\u0002\u0002\u0ffb\u0ffc\u0007T\u0002\u0002", + "\u0ffc\u0ffd\u0007T\u0002\u0002\u0ffd\u0ffe\u0007G\u0002\u0002\u0ffe", + "\u0fff\u0007P\u0002\u0002\u0fff\u1000\u0007V\u0002\u0002\u1000\u1001", + "\u0007a\u0002\u0002\u1001\u1002\u0007V\u0002\u0002\u1002\u1003\u0007", + "K\u0002\u0002\u1003\u1004\u0007O\u0002\u0002\u1004\u1005\u0007G\u0002", + "\u0002\u1005\u01fa\u0003\u0002\u0002\u0002\u1006\u1007\u0007E\u0002", + "\u0002\u1007\u1008\u0007W\u0002\u0002\u1008\u1009\u0007T\u0002\u0002", + "\u1009\u100a\u0007T\u0002\u0002\u100a\u100b\u0007G\u0002\u0002\u100b", + "\u100c\u0007P\u0002\u0002\u100c\u100d\u0007V\u0002\u0002\u100d\u100e", + "\u0007a\u0002\u0002\u100e\u100f\u0007V\u0002\u0002\u100f\u1010\u0007", + "K\u0002\u0002\u1010\u1011\u0007O\u0002\u0002\u1011\u1012\u0007G\u0002", + "\u0002\u1012\u1013\u0007U\u0002\u0002\u1013\u1014\u0007V\u0002\u0002", + "\u1014\u1015\u0007C\u0002\u0002\u1015\u1016\u0007O\u0002\u0002\u1016", + "\u1017\u0007R\u0002\u0002\u1017\u01fc\u0003\u0002\u0002\u0002\u1018", + "\u1019\u0007N\u0002\u0002\u1019\u101a\u0007Q\u0002\u0002\u101a\u101b", + "\u0007E\u0002\u0002\u101b\u101c\u0007C\u0002\u0002\u101c\u101d\u0007", + "N\u0002\u0002\u101d\u101e\u0007V\u0002\u0002\u101e\u101f\u0007K\u0002", + "\u0002\u101f\u1020\u0007O\u0002\u0002\u1020\u1021\u0007G\u0002\u0002", + "\u1021\u01fe\u0003\u0002\u0002\u0002\u1022\u1023\u0007E\u0002\u0002", + "\u1023\u1024\u0007W\u0002\u0002\u1024\u1025\u0007T\u0002\u0002\u1025", + "\u1026\u0007F\u0002\u0002\u1026\u1027\u0007C\u0002\u0002\u1027\u1028", + "\u0007V\u0002\u0002\u1028\u1029\u0007G\u0002\u0002\u1029\u0200\u0003", + "\u0002\u0002\u0002\u102a\u102b\u0007E\u0002\u0002\u102b\u102c\u0007", + "W\u0002\u0002\u102c\u102d\u0007T\u0002\u0002\u102d\u102e\u0007V\u0002", + "\u0002\u102e\u102f\u0007K\u0002\u0002\u102f\u1030\u0007O\u0002\u0002", + "\u1030\u1031\u0007G\u0002\u0002\u1031\u0202\u0003\u0002\u0002\u0002", + "\u1032\u1033\u0007F\u0002\u0002\u1033\u1034\u0007C\u0002\u0002\u1034", + "\u1035\u0007V\u0002\u0002\u1035\u1036\u0007G\u0002\u0002\u1036\u1037", + "\u0007a\u0002\u0002\u1037\u1038\u0007C\u0002\u0002\u1038\u1039\u0007", + "F\u0002\u0002\u1039\u103a\u0007F\u0002\u0002\u103a\u0204\u0003\u0002", + "\u0002\u0002\u103b\u103c\u0007F\u0002\u0002\u103c\u103d\u0007C\u0002", + "\u0002\u103d\u103e\u0007V\u0002\u0002\u103e\u103f\u0007G\u0002\u0002", + "\u103f\u1040\u0007a\u0002\u0002\u1040\u1041\u0007U\u0002\u0002\u1041", + "\u1042\u0007W\u0002\u0002\u1042\u1043\u0007D\u0002\u0002\u1043\u0206", + "\u0003\u0002\u0002\u0002\u1044\u1045\u0007G\u0002\u0002\u1045\u1046", + "\u0007Z\u0002\u0002\u1046\u1047\u0007V\u0002\u0002\u1047\u1048\u0007", + "T\u0002\u0002\u1048\u1049\u0007C\u0002\u0002\u1049\u104a\u0007E\u0002", + "\u0002\u104a\u104b\u0007V\u0002\u0002\u104b\u0208\u0003\u0002\u0002", + "\u0002\u104c\u104d\u0007N\u0002\u0002\u104d\u104e\u0007Q\u0002\u0002", + "\u104e\u104f\u0007E\u0002\u0002\u104f\u1050\u0007C\u0002\u0002\u1050", + "\u1051\u0007N\u0002\u0002\u1051\u1052\u0007V\u0002\u0002\u1052\u1053", + "\u0007K\u0002\u0002\u1053\u1054\u0007O\u0002\u0002\u1054\u1055\u0007", + "G\u0002\u0002\u1055\u1056\u0007U\u0002\u0002\u1056\u1057\u0007V\u0002", + "\u0002\u1057\u1058\u0007C\u0002\u0002\u1058\u1059\u0007O\u0002\u0002", + "\u1059\u105a\u0007R\u0002\u0002\u105a\u020a\u0003\u0002\u0002\u0002", + "\u105b\u105c\u0007P\u0002\u0002\u105c\u105d\u0007Q\u0002\u0002\u105d", + "\u105e\u0007Y\u0002\u0002\u105e\u020c\u0003\u0002\u0002\u0002\u105f", + "\u1060\u0007R\u0002\u0002\u1060\u1061\u0007Q\u0002\u0002\u1061\u1062", + "\u0007U\u0002\u0002\u1062\u1063\u0007K\u0002\u0002\u1063\u1064\u0007", + "V\u0002\u0002\u1064\u1065\u0007K\u0002\u0002\u1065\u1066\u0007Q\u0002", + "\u0002\u1066\u1067\u0007P\u0002\u0002\u1067\u020e\u0003\u0002\u0002", + "\u0002\u1068\u1069\u0007U\u0002\u0002\u1069\u106a\u0007W\u0002\u0002", + "\u106a\u106b\u0007D\u0002\u0002\u106b\u106c\u0007U\u0002\u0002\u106c", + "\u106d\u0007V\u0002\u0002\u106d\u106e\u0007T\u0002\u0002\u106e\u0210", + "\u0003\u0002\u0002\u0002\u106f\u1070\u0007U\u0002\u0002\u1070\u1071", + "\u0007W\u0002\u0002\u1071\u1072\u0007D\u0002\u0002\u1072\u1073\u0007", + "U\u0002\u0002\u1073\u1074\u0007V\u0002\u0002\u1074\u1075\u0007T\u0002", + "\u0002\u1075\u1076\u0007K\u0002\u0002\u1076\u1077\u0007P\u0002\u0002", + "\u1077\u1078\u0007I\u0002\u0002\u1078\u0212\u0003\u0002\u0002\u0002", + "\u1079\u107a\u0007U\u0002\u0002\u107a\u107b\u0007[\u0002\u0002\u107b", + "\u107c\u0007U\u0002\u0002\u107c\u107d\u0007F\u0002\u0002\u107d\u107e", + "\u0007C\u0002\u0002\u107e\u107f\u0007V\u0002\u0002\u107f\u1080\u0007", + "G\u0002\u0002\u1080\u0214\u0003\u0002\u0002\u0002\u1081\u1082\u0007", + "V\u0002\u0002\u1082\u1083\u0007T\u0002\u0002\u1083\u1084\u0007K\u0002", + "\u0002\u1084\u1085\u0007O\u0002\u0002\u1085\u0216\u0003\u0002\u0002", + "\u0002\u1086\u1087\u0007W\u0002\u0002\u1087\u1088\u0007V\u0002\u0002", + "\u1088\u1089\u0007E\u0002\u0002\u1089\u108a\u0007a\u0002\u0002\u108a", + "\u108b\u0007F\u0002\u0002\u108b\u108c\u0007C\u0002\u0002\u108c\u108d", + "\u0007V\u0002\u0002\u108d\u108e\u0007G\u0002\u0002\u108e\u0218\u0003", + "\u0002\u0002\u0002\u108f\u1090\u0007W\u0002\u0002\u1090\u1091\u0007", + "V\u0002\u0002\u1091\u1092\u0007E\u0002\u0002\u1092\u1093\u0007a\u0002", + "\u0002\u1093\u1094\u0007V\u0002\u0002\u1094\u1095\u0007K\u0002\u0002", + "\u1095\u1096\u0007O\u0002\u0002\u1096\u1097\u0007G\u0002\u0002\u1097", + "\u021a\u0003\u0002\u0002\u0002\u1098\u1099\u0007W\u0002\u0002\u1099", + "\u109a\u0007V\u0002\u0002\u109a\u109b\u0007E\u0002\u0002\u109b\u109c", + "\u0007a\u0002\u0002\u109c\u109d\u0007V\u0002\u0002\u109d\u109e\u0007", + "K\u0002\u0002\u109e\u109f\u0007O\u0002\u0002\u109f\u10a0\u0007G\u0002", + "\u0002\u10a0\u10a1\u0007U\u0002\u0002\u10a1\u10a2\u0007V\u0002\u0002", + "\u10a2\u10a3\u0007C\u0002\u0002\u10a3\u10a4\u0007O\u0002\u0002\u10a4", + "\u10a5\u0007R\u0002\u0002\u10a5\u021c\u0003\u0002\u0002\u0002\u10a6", + "\u10a7\u0007C\u0002\u0002\u10a7\u10a8\u0007E\u0002\u0002\u10a8\u10a9", + "\u0007E\u0002\u0002\u10a9\u10aa\u0007Q\u0002\u0002\u10aa\u10ab\u0007", + "W\u0002\u0002\u10ab\u10ac\u0007P\u0002\u0002\u10ac\u10ad\u0007V\u0002", + "\u0002\u10ad\u021e\u0003\u0002\u0002\u0002\u10ae\u10af\u0007C\u0002", + "\u0002\u10af\u10b0\u0007E\u0002\u0002\u10b0\u10b1\u0007V\u0002\u0002", + "\u10b1\u10b2\u0007K\u0002\u0002\u10b2\u10b3\u0007Q\u0002\u0002\u10b3", + "\u10b4\u0007P\u0002\u0002\u10b4\u0220\u0003\u0002\u0002\u0002\u10b5", + "\u10b6\u0007C\u0002\u0002\u10b6\u10b7\u0007H\u0002\u0002\u10b7\u10b8", + "\u0007V\u0002\u0002\u10b8\u10b9\u0007G\u0002\u0002\u10b9\u10ba\u0007", + "T\u0002\u0002\u10ba\u0222\u0003\u0002\u0002\u0002\u10bb\u10bc\u0007", + "C\u0002\u0002\u10bc\u10bd\u0007I\u0002\u0002\u10bd\u10be\u0007I\u0002", + "\u0002\u10be\u10bf\u0007T\u0002\u0002\u10bf\u10c0\u0007G\u0002\u0002", + "\u10c0\u10c1\u0007I\u0002\u0002\u10c1\u10c2\u0007C\u0002\u0002\u10c2", + "\u10c3\u0007V\u0002\u0002\u10c3\u10c4\u0007G\u0002\u0002\u10c4\u0224", + "\u0003\u0002\u0002\u0002\u10c5\u10c6\u0007C\u0002\u0002\u10c6\u10c7", + "\u0007N\u0002\u0002\u10c7\u10c8\u0007I\u0002\u0002\u10c8\u10c9\u0007", + "Q\u0002\u0002\u10c9\u10ca\u0007T\u0002\u0002\u10ca\u10cb\u0007K\u0002", + "\u0002\u10cb\u10cc\u0007V\u0002\u0002\u10cc\u10cd\u0007J\u0002\u0002", + "\u10cd\u10ce\u0007O\u0002\u0002\u10ce\u0226\u0003\u0002\u0002\u0002", + "\u10cf\u10d0\u0007C\u0002\u0002\u10d0\u10d1\u0007P\u0002\u0002\u10d1", + "\u10d2\u0007[\u0002\u0002\u10d2\u0228\u0003\u0002\u0002\u0002\u10d3", + "\u10d4\u0007C\u0002\u0002\u10d4\u10d5\u0007V\u0002\u0002\u10d5\u022a", + "\u0003\u0002\u0002\u0002\u10d6\u10d7\u0007C\u0002\u0002\u10d7\u10d8", + "\u0007W\u0002\u0002\u10d8\u10d9\u0007V\u0002\u0002\u10d9\u10da\u0007", + "J\u0002\u0002\u10da\u10db\u0007Q\u0002\u0002\u10db\u10dc\u0007T\u0002", + "\u0002\u10dc\u10dd\u0007U\u0002\u0002\u10dd\u022c\u0003\u0002\u0002", + "\u0002\u10de\u10df\u0007C\u0002\u0002\u10df\u10e0\u0007W\u0002\u0002", + "\u10e0\u10e1\u0007V\u0002\u0002\u10e1\u10e2\u0007Q\u0002\u0002\u10e2", + "\u10e3\u0007E\u0002\u0002\u10e3\u10e4\u0007Q\u0002\u0002\u10e4\u10e5", + "\u0007O\u0002\u0002\u10e5\u10e6\u0007O\u0002\u0002\u10e6\u10e7\u0007", + "K\u0002\u0002\u10e7\u10e8\u0007V\u0002\u0002\u10e8\u022e\u0003\u0002", + "\u0002\u0002\u10e9\u10ea\u0007C\u0002\u0002\u10ea\u10eb\u0007W\u0002", + "\u0002\u10eb\u10ec\u0007V\u0002\u0002\u10ec\u10ed\u0007Q\u0002\u0002", + "\u10ed\u10ee\u0007G\u0002\u0002\u10ee\u10ef\u0007Z\u0002\u0002\u10ef", + "\u10f0\u0007V\u0002\u0002\u10f0\u10f1\u0007G\u0002\u0002\u10f1\u10f2", + "\u0007P\u0002\u0002\u10f2\u10f3\u0007F\u0002\u0002\u10f3\u10f4\u0007", + "a\u0002\u0002\u10f4\u10f5\u0007U\u0002\u0002\u10f5\u10f6\u0007K\u0002", + "\u0002\u10f6\u10f7\u0007\\\u0002\u0002\u10f7\u10f8\u0007G\u0002\u0002", + "\u10f8\u0230\u0003\u0002\u0002\u0002\u10f9\u10fa\u0007C\u0002\u0002", + "\u10fa\u10fb\u0007W\u0002\u0002\u10fb\u10fc\u0007V\u0002\u0002\u10fc", + "\u10fd\u0007Q\u0002\u0002\u10fd\u10fe\u0007a\u0002\u0002\u10fe\u10ff", + "\u0007K\u0002\u0002\u10ff\u1100\u0007P\u0002\u0002\u1100\u1101\u0007", + "E\u0002\u0002\u1101\u1102\u0007T\u0002\u0002\u1102\u1103\u0007G\u0002", + "\u0002\u1103\u1104\u0007O\u0002\u0002\u1104\u1105\u0007G\u0002\u0002", + "\u1105\u1106\u0007P\u0002\u0002\u1106\u1107\u0007V\u0002\u0002\u1107", + "\u0232\u0003\u0002\u0002\u0002\u1108\u1109\u0007C\u0002\u0002\u1109", + "\u110a\u0007X\u0002\u0002\u110a\u110b\u0007I\u0002\u0002\u110b\u110c", + "\u0007a\u0002\u0002\u110c\u110d\u0007T\u0002\u0002\u110d\u110e\u0007", + "Q\u0002\u0002\u110e\u110f\u0007Y\u0002\u0002\u110f\u1110\u0007a\u0002", + "\u0002\u1110\u1111\u0007N\u0002\u0002\u1111\u1112\u0007G\u0002\u0002", + "\u1112\u1113\u0007P\u0002\u0002\u1113\u1114\u0007I\u0002\u0002\u1114", + "\u1115\u0007V\u0002\u0002\u1115\u1116\u0007J\u0002\u0002\u1116\u0234", + "\u0003\u0002\u0002\u0002\u1117\u1118\u0007D\u0002\u0002\u1118\u1119", + "\u0007G\u0002\u0002\u1119\u111a\u0007I\u0002\u0002\u111a\u111b\u0007", + "K\u0002\u0002\u111b\u111c\u0007P\u0002\u0002\u111c\u0236\u0003\u0002", + "\u0002\u0002\u111d\u111e\u0007D\u0002\u0002\u111e\u111f\u0007K\u0002", + "\u0002\u111f\u1120\u0007P\u0002\u0002\u1120\u1121\u0007N\u0002\u0002", + "\u1121\u1122\u0007Q\u0002\u0002\u1122\u1123\u0007I\u0002\u0002\u1123", + "\u0238\u0003\u0002\u0002\u0002\u1124\u1125\u0007D\u0002\u0002\u1125", + "\u1126\u0007K\u0002\u0002\u1126\u1127\u0007V\u0002\u0002\u1127\u023a", + "\u0003\u0002\u0002\u0002\u1128\u1129\u0007D\u0002\u0002\u1129\u112a", + "\u0007N\u0002\u0002\u112a\u112b\u0007Q\u0002\u0002\u112b\u112c\u0007", + "E\u0002\u0002\u112c\u112d\u0007M\u0002\u0002\u112d\u023c\u0003\u0002", + "\u0002\u0002\u112e\u112f\u0007D\u0002\u0002\u112f\u1130\u0007Q\u0002", + "\u0002\u1130\u1131\u0007Q\u0002\u0002\u1131\u1132\u0007N\u0002\u0002", + "\u1132\u023e\u0003\u0002\u0002\u0002\u1133\u1134\u0007D\u0002\u0002", + "\u1134\u1135\u0007Q\u0002\u0002\u1135\u1136\u0007Q\u0002\u0002\u1136", + "\u1137\u0007N\u0002\u0002\u1137\u1138\u0007G\u0002\u0002\u1138\u1139", + "\u0007C\u0002\u0002\u1139\u113a\u0007P\u0002\u0002\u113a\u0240\u0003", + "\u0002\u0002\u0002\u113b\u113c\u0007D\u0002\u0002\u113c\u113d\u0007", + "V\u0002\u0002\u113d\u113e\u0007T\u0002\u0002\u113e\u113f\u0007G\u0002", + "\u0002\u113f\u1140\u0007G\u0002\u0002\u1140\u0242\u0003\u0002\u0002", + "\u0002\u1141\u1142\u0007E\u0002\u0002\u1142\u1143\u0007C\u0002\u0002", + "\u1143\u1144\u0007E\u0002\u0002\u1144\u1145\u0007J\u0002\u0002\u1145", + "\u1146\u0007G\u0002\u0002\u1146\u0244\u0003\u0002\u0002\u0002\u1147", + "\u1148\u0007E\u0002\u0002\u1148\u1149\u0007C\u0002\u0002\u1149\u114a", + "\u0007U\u0002\u0002\u114a\u114b\u0007E\u0002\u0002\u114b\u114c\u0007", + "C\u0002\u0002\u114c\u114d\u0007F\u0002\u0002\u114d\u114e\u0007G\u0002", + "\u0002\u114e\u114f\u0007F\u0002\u0002\u114f\u0246\u0003\u0002\u0002", + "\u0002\u1150\u1151\u0007E\u0002\u0002\u1151\u1152\u0007J\u0002\u0002", + "\u1152\u1153\u0007C\u0002\u0002\u1153\u1154\u0007K\u0002\u0002\u1154", + "\u1155\u0007P\u0002\u0002\u1155\u0248\u0003\u0002\u0002\u0002\u1156", + "\u1157\u0007E\u0002\u0002\u1157\u1158\u0007J\u0002\u0002\u1158\u1159", + "\u0007C\u0002\u0002\u1159\u115a\u0007P\u0002\u0002\u115a\u115b\u0007", + "I\u0002\u0002\u115b\u115c\u0007G\u0002\u0002\u115c\u115d\u0007F\u0002", + "\u0002\u115d\u024a\u0003\u0002\u0002\u0002\u115e\u115f\u0007E\u0002", + "\u0002\u115f\u1160\u0007J\u0002\u0002\u1160\u1161\u0007C\u0002\u0002", + "\u1161\u1162\u0007P\u0002\u0002\u1162\u1163\u0007P\u0002\u0002\u1163", + "\u1164\u0007G\u0002\u0002\u1164\u1165\u0007N\u0002\u0002\u1165\u024c", + "\u0003\u0002\u0002\u0002\u1166\u1167\u0007E\u0002\u0002\u1167\u1168", + "\u0007J\u0002\u0002\u1168\u1169\u0007G\u0002\u0002\u1169\u116a\u0007", + "E\u0002\u0002\u116a\u116b\u0007M\u0002\u0002\u116b\u116c\u0007U\u0002", + "\u0002\u116c\u116d\u0007W\u0002\u0002\u116d\u116e\u0007O\u0002\u0002", + "\u116e\u024e\u0003\u0002\u0002\u0002\u116f\u1170\u0007R\u0002\u0002", + "\u1170\u1171\u0007C\u0002\u0002\u1171\u1172\u0007I\u0002\u0002\u1172", + "\u1173\u0007G\u0002\u0002\u1173\u1174\u0007a\u0002\u0002\u1174\u1175", + "\u0007E\u0002\u0002\u1175\u1176\u0007J\u0002\u0002\u1176\u1177\u0007", + "G\u0002\u0002\u1177\u1178\u0007E\u0002\u0002\u1178\u1179\u0007M\u0002", + "\u0002\u1179\u117a\u0007U\u0002\u0002\u117a\u117b\u0007W\u0002\u0002", + "\u117b\u117c\u0007O\u0002\u0002\u117c\u0250\u0003\u0002\u0002\u0002", + "\u117d\u117e\u0007E\u0002\u0002\u117e\u117f\u0007K\u0002\u0002\u117f", + "\u1180\u0007R\u0002\u0002\u1180\u1181\u0007J\u0002\u0002\u1181\u1182", + "\u0007G\u0002\u0002\u1182\u1183\u0007T\u0002\u0002\u1183\u0252\u0003", + "\u0002\u0002\u0002\u1184\u1185\u0007E\u0002\u0002\u1185\u1186\u0007", + "N\u0002\u0002\u1186\u1187\u0007C\u0002\u0002\u1187\u1188\u0007U\u0002", + "\u0002\u1188\u1189\u0007U\u0002\u0002\u1189\u118a\u0007a\u0002\u0002", + "\u118a\u118b\u0007Q\u0002\u0002\u118b\u118c\u0007T\u0002\u0002\u118c", + "\u118d\u0007K\u0002\u0002\u118d\u118e\u0007I\u0002\u0002\u118e\u118f", + "\u0007K\u0002\u0002\u118f\u1190\u0007P\u0002\u0002\u1190\u0254\u0003", + "\u0002\u0002\u0002\u1191\u1192\u0007E\u0002\u0002\u1192\u1193\u0007", + "N\u0002\u0002\u1193\u1194\u0007K\u0002\u0002\u1194\u1195\u0007G\u0002", + "\u0002\u1195\u1196\u0007P\u0002\u0002\u1196\u1197\u0007V\u0002\u0002", + "\u1197\u0256\u0003\u0002\u0002\u0002\u1198\u1199\u0007E\u0002\u0002", + "\u1199\u119a\u0007N\u0002\u0002\u119a\u119b\u0007Q\u0002\u0002\u119b", + "\u119c\u0007U\u0002\u0002\u119c\u119d\u0007G\u0002\u0002\u119d\u0258", + "\u0003\u0002\u0002\u0002\u119e\u119f\u0007E\u0002\u0002\u119f\u11a0", + "\u0007Q\u0002\u0002\u11a0\u11a1\u0007C\u0002\u0002\u11a1\u11a2\u0007", + "N\u0002\u0002\u11a2\u11a3\u0007G\u0002\u0002\u11a3\u11a4\u0007U\u0002", + "\u0002\u11a4\u11a5\u0007E\u0002\u0002\u11a5\u11a6\u0007G\u0002\u0002", + "\u11a6\u025a\u0003\u0002\u0002\u0002\u11a7\u11a8\u0007E\u0002\u0002", + "\u11a8\u11a9\u0007Q\u0002\u0002\u11a9\u11aa\u0007F\u0002\u0002\u11aa", + "\u11ab\u0007G\u0002\u0002\u11ab\u025c\u0003\u0002\u0002\u0002\u11ac", + "\u11ad\u0007E\u0002\u0002\u11ad\u11ae\u0007Q\u0002\u0002\u11ae\u11af", + "\u0007N\u0002\u0002\u11af\u11b0\u0007W\u0002\u0002\u11b0\u11b1\u0007", + "O\u0002\u0002\u11b1\u11b2\u0007P\u0002\u0002\u11b2\u11b3\u0007U\u0002", + "\u0002\u11b3\u025e\u0003\u0002\u0002\u0002\u11b4\u11b5\u0007E\u0002", + "\u0002\u11b5\u11b6\u0007Q\u0002\u0002\u11b6\u11b7\u0007N\u0002\u0002", + "\u11b7\u11b8\u0007W\u0002\u0002\u11b8\u11b9\u0007O\u0002\u0002\u11b9", + "\u11ba\u0007P\u0002\u0002\u11ba\u11bb\u0007a\u0002\u0002\u11bb\u11bc", + "\u0007H\u0002\u0002\u11bc\u11bd\u0007Q\u0002\u0002\u11bd\u11be\u0007", + "T\u0002\u0002\u11be\u11bf\u0007O\u0002\u0002\u11bf\u11c0\u0007C\u0002", + "\u0002\u11c0\u11c1\u0007V\u0002\u0002\u11c1\u0260\u0003\u0002\u0002", + "\u0002\u11c2\u11c3\u0007E\u0002\u0002\u11c3\u11c4\u0007Q\u0002\u0002", + "\u11c4\u11c5\u0007N\u0002\u0002\u11c5\u11c6\u0007W\u0002\u0002\u11c6", + "\u11c7\u0007O\u0002\u0002\u11c7\u11c8\u0007P\u0002\u0002\u11c8\u11c9", + "\u0007a\u0002\u0002\u11c9\u11ca\u0007P\u0002\u0002\u11ca\u11cb\u0007", + "C\u0002\u0002\u11cb\u11cc\u0007O\u0002\u0002\u11cc\u11cd\u0007G\u0002", + "\u0002\u11cd\u0262\u0003\u0002\u0002\u0002\u11ce\u11cf\u0007E\u0002", + "\u0002\u11cf\u11d0\u0007Q\u0002\u0002\u11d0\u11d1\u0007O\u0002\u0002", + "\u11d1\u11d2\u0007O\u0002\u0002\u11d2\u11d3\u0007G\u0002\u0002\u11d3", + "\u11d4\u0007P\u0002\u0002\u11d4\u11d5\u0007V\u0002\u0002\u11d5\u0264", + "\u0003\u0002\u0002\u0002\u11d6\u11d7\u0007E\u0002\u0002\u11d7\u11d8", + "\u0007Q\u0002\u0002\u11d8\u11d9\u0007O\u0002\u0002\u11d9\u11da\u0007", + "O\u0002\u0002\u11da\u11db\u0007K\u0002\u0002\u11db\u11dc\u0007V\u0002", + "\u0002\u11dc\u0266\u0003\u0002\u0002\u0002\u11dd\u11de\u0007E\u0002", + "\u0002\u11de\u11df\u0007Q\u0002\u0002\u11df\u11e0\u0007O\u0002\u0002", + "\u11e0\u11e1\u0007R\u0002\u0002\u11e1\u11e2\u0007C\u0002\u0002\u11e2", + "\u11e3\u0007E\u0002\u0002\u11e3\u11e4\u0007V\u0002\u0002\u11e4\u0268", + "\u0003\u0002\u0002\u0002\u11e5\u11e6\u0007E\u0002\u0002\u11e6\u11e7", + "\u0007Q\u0002\u0002\u11e7\u11e8\u0007O\u0002\u0002\u11e8\u11e9\u0007", + "R\u0002\u0002\u11e9\u11ea\u0007N\u0002\u0002\u11ea\u11eb\u0007G\u0002", + "\u0002\u11eb\u11ec\u0007V\u0002\u0002\u11ec\u11ed\u0007K\u0002\u0002", + "\u11ed\u11ee\u0007Q\u0002\u0002\u11ee\u11ef\u0007P\u0002\u0002\u11ef", + "\u026a\u0003\u0002\u0002\u0002\u11f0\u11f1\u0007E\u0002\u0002\u11f1", + "\u11f2\u0007Q\u0002\u0002\u11f2\u11f3\u0007O\u0002\u0002\u11f3\u11f4", + "\u0007R\u0002\u0002\u11f4\u11f5\u0007T\u0002\u0002\u11f5\u11f6\u0007", + "G\u0002\u0002\u11f6\u11f7\u0007U\u0002\u0002\u11f7\u11f8\u0007U\u0002", + "\u0002\u11f8\u11f9\u0007G\u0002\u0002\u11f9\u11fa\u0007F\u0002\u0002", + "\u11fa\u026c\u0003\u0002\u0002\u0002\u11fb\u11fc\u0007E\u0002\u0002", + "\u11fc\u11fd\u0007Q\u0002\u0002\u11fd\u11fe\u0007O\u0002\u0002\u11fe", + "\u11ff\u0007R\u0002\u0002\u11ff\u1200\u0007T\u0002\u0002\u1200\u1201", + "\u0007G\u0002\u0002\u1201\u1202\u0007U\u0002\u0002\u1202\u1203\u0007", + "U\u0002\u0002\u1203\u1204\u0007K\u0002\u0002\u1204\u1205\u0007Q\u0002", + "\u0002\u1205\u1206\u0007P\u0002\u0002\u1206\u026e\u0003\u0002\u0002", + "\u0002\u1207\u1208\u0007E\u0002\u0002\u1208\u1209\u0007Q\u0002\u0002", + "\u1209\u120a\u0007P\u0002\u0002\u120a\u120b\u0007E\u0002\u0002\u120b", + "\u120c\u0007W\u0002\u0002\u120c\u120d\u0007T\u0002\u0002\u120d\u120e", + "\u0007T\u0002\u0002\u120e\u120f\u0007G\u0002\u0002\u120f\u1210\u0007", + "P\u0002\u0002\u1210\u1211\u0007V\u0002\u0002\u1211\u0270\u0003\u0002", + "\u0002\u0002\u1212\u1213\u0007E\u0002\u0002\u1213\u1214\u0007Q\u0002", + "\u0002\u1214\u1215\u0007P\u0002\u0002\u1215\u1216\u0007P\u0002\u0002", + "\u1216\u1217\u0007G\u0002\u0002\u1217\u1218\u0007E\u0002\u0002\u1218", + "\u1219\u0007V\u0002\u0002\u1219\u121a\u0007K\u0002\u0002\u121a\u121b", + "\u0007Q\u0002\u0002\u121b\u121c\u0007P\u0002\u0002\u121c\u0272\u0003", + "\u0002\u0002\u0002\u121d\u121e\u0007E\u0002\u0002\u121e\u121f\u0007", + "Q\u0002\u0002\u121f\u1220\u0007P\u0002\u0002\u1220\u1221\u0007U\u0002", + "\u0002\u1221\u1222\u0007K\u0002\u0002\u1222\u1223\u0007U\u0002\u0002", + "\u1223\u1224\u0007V\u0002\u0002\u1224\u1225\u0007G\u0002\u0002\u1225", + "\u1226\u0007P\u0002\u0002\u1226\u1227\u0007V\u0002\u0002\u1227\u0274", + "\u0003\u0002\u0002\u0002\u1228\u1229\u0007E\u0002\u0002\u1229\u122a", + "\u0007Q\u0002\u0002\u122a\u122b\u0007P\u0002\u0002\u122b\u122c\u0007", + "U\u0002\u0002\u122c\u122d\u0007V\u0002\u0002\u122d\u122e\u0007T\u0002", + "\u0002\u122e\u122f\u0007C\u0002\u0002\u122f\u1230\u0007K\u0002\u0002", + "\u1230\u1231\u0007P\u0002\u0002\u1231\u1232\u0007V\u0002\u0002\u1232", + "\u1233\u0007a\u0002\u0002\u1233\u1234\u0007E\u0002\u0002\u1234\u1235", + "\u0007C\u0002\u0002\u1235\u1236\u0007V\u0002\u0002\u1236\u1237\u0007", + "C\u0002\u0002\u1237\u1238\u0007N\u0002\u0002\u1238\u1239\u0007Q\u0002", + "\u0002\u1239\u123a\u0007I\u0002\u0002\u123a\u0276\u0003\u0002\u0002", + "\u0002\u123b\u123c\u0007E\u0002\u0002\u123c\u123d\u0007Q\u0002\u0002", + "\u123d\u123e\u0007P\u0002\u0002\u123e\u123f\u0007U\u0002\u0002\u123f", + "\u1240\u0007V\u0002\u0002\u1240\u1241\u0007T\u0002\u0002\u1241\u1242", + "\u0007C\u0002\u0002\u1242\u1243\u0007K\u0002\u0002\u1243\u1244\u0007", + "P\u0002\u0002\u1244\u1245\u0007V\u0002\u0002\u1245\u1246\u0007a\u0002", + "\u0002\u1246\u1247\u0007U\u0002\u0002\u1247\u1248\u0007E\u0002\u0002", + "\u1248\u1249\u0007J\u0002\u0002\u1249\u124a\u0007G\u0002\u0002\u124a", + "\u124b\u0007O\u0002\u0002\u124b\u124c\u0007C\u0002\u0002\u124c\u0278", + "\u0003\u0002\u0002\u0002\u124d\u124e\u0007E\u0002\u0002\u124e\u124f", + "\u0007Q\u0002\u0002\u124f\u1250\u0007P\u0002\u0002\u1250\u1251\u0007", + "U\u0002\u0002\u1251\u1252\u0007V\u0002\u0002\u1252\u1253\u0007T\u0002", + "\u0002\u1253\u1254\u0007C\u0002\u0002\u1254\u1255\u0007K\u0002\u0002", + "\u1255\u1256\u0007P\u0002\u0002\u1256\u1257\u0007V\u0002\u0002\u1257", + "\u1258\u0007a\u0002\u0002\u1258\u1259\u0007P\u0002\u0002\u1259\u125a", + "\u0007C\u0002\u0002\u125a\u125b\u0007O\u0002\u0002\u125b\u125c\u0007", + "G\u0002\u0002\u125c\u027a\u0003\u0002\u0002\u0002\u125d\u125e\u0007", + "E\u0002\u0002\u125e\u125f\u0007Q\u0002\u0002\u125f\u1260\u0007P\u0002", + "\u0002\u1260\u1261\u0007V\u0002\u0002\u1261\u1262\u0007C\u0002\u0002", + "\u1262\u1263\u0007K\u0002\u0002\u1263\u1264\u0007P\u0002\u0002\u1264", + "\u1265\u0007U\u0002\u0002\u1265\u027c\u0003\u0002\u0002\u0002\u1266", + "\u1267\u0007E\u0002\u0002\u1267\u1268\u0007Q\u0002\u0002\u1268\u1269", + "\u0007P\u0002\u0002\u1269\u126a\u0007V\u0002\u0002\u126a\u126b\u0007", + "G\u0002\u0002\u126b\u126c\u0007Z\u0002\u0002\u126c\u126d\u0007V\u0002", + "\u0002\u126d\u027e\u0003\u0002\u0002\u0002\u126e\u126f\u0007E\u0002", + "\u0002\u126f\u1270\u0007Q\u0002\u0002\u1270\u1271\u0007P\u0002\u0002", + "\u1271\u1272\u0007V\u0002\u0002\u1272\u1273\u0007T\u0002\u0002\u1273", + "\u1274\u0007K\u0002\u0002\u1274\u1275\u0007D\u0002\u0002\u1275\u1276", + "\u0007W\u0002\u0002\u1276\u1277\u0007V\u0002\u0002\u1277\u1278\u0007", + "Q\u0002\u0002\u1278\u1279\u0007T\u0002\u0002\u1279\u127a\u0007U\u0002", + "\u0002\u127a\u0280\u0003\u0002\u0002\u0002\u127b\u127c\u0007E\u0002", + "\u0002\u127c\u127d\u0007Q\u0002\u0002\u127d\u127e\u0007R\u0002\u0002", + "\u127e\u127f\u0007[\u0002\u0002\u127f\u0282\u0003\u0002\u0002\u0002", + "\u1280\u1281\u0007E\u0002\u0002\u1281\u1282\u0007R\u0002\u0002\u1282", + "\u1283\u0007W\u0002\u0002\u1283\u0284\u0003\u0002\u0002\u0002\u1284", + "\u1285\u0007E\u0002\u0002\u1285\u1286\u0007W\u0002\u0002\u1286\u1287", + "\u0007T\u0002\u0002\u1287\u1288\u0007U\u0002\u0002\u1288\u1289\u0007", + "Q\u0002\u0002\u1289\u128a\u0007T\u0002\u0002\u128a\u128b\u0007a\u0002", + "\u0002\u128b\u128c\u0007P\u0002\u0002\u128c\u128d\u0007C\u0002\u0002", + "\u128d\u128e\u0007O\u0002\u0002\u128e\u128f\u0007G\u0002\u0002\u128f", + "\u0286\u0003\u0002\u0002\u0002\u1290\u1291\u0007F\u0002\u0002\u1291", + "\u1292\u0007C\u0002\u0002\u1292\u1293\u0007V\u0002\u0002\u1293\u1294", + "\u0007C\u0002\u0002\u1294\u0288\u0003\u0002\u0002\u0002\u1295\u1296", + "\u0007F\u0002\u0002\u1296\u1297\u0007C\u0002\u0002\u1297\u1298\u0007", + "V\u0002\u0002\u1298\u1299\u0007C\u0002\u0002\u1299\u129a\u0007H\u0002", + "\u0002\u129a\u129b\u0007K\u0002\u0002\u129b\u129c\u0007N\u0002\u0002", + "\u129c\u129d\u0007G\u0002\u0002\u129d\u028a\u0003\u0002\u0002\u0002", + "\u129e\u129f\u0007F\u0002\u0002\u129f\u12a0\u0007G\u0002\u0002\u12a0", + "\u12a1\u0007C\u0002\u0002\u12a1\u12a2\u0007N\u0002\u0002\u12a2\u12a3", + "\u0007N\u0002\u0002\u12a3\u12a4\u0007Q\u0002\u0002\u12a4\u12a5\u0007", + "E\u0002\u0002\u12a5\u12a6\u0007C\u0002\u0002\u12a6\u12a7\u0007V\u0002", + "\u0002\u12a7\u12a8\u0007G\u0002\u0002\u12a8\u028c\u0003\u0002\u0002", + "\u0002\u12a9\u12aa\u0007F\u0002\u0002\u12aa\u12ab\u0007G\u0002\u0002", + "\u12ab\u12ac\u0007H\u0002\u0002\u12ac\u12ad\u0007C\u0002\u0002\u12ad", + "\u12ae\u0007W\u0002\u0002\u12ae\u12af\u0007N\u0002\u0002\u12af\u12b0", + "\u0007V\u0002\u0002\u12b0\u12b1\u0007a\u0002\u0002\u12b1\u12b2\u0007", + "C\u0002\u0002\u12b2\u12b3\u0007W\u0002\u0002\u12b3\u12b4\u0007V\u0002", + "\u0002\u12b4\u12b5\u0007J\u0002\u0002\u12b5\u028e\u0003\u0002\u0002", + "\u0002\u12b6\u12b7\u0007F\u0002\u0002\u12b7\u12b8\u0007G\u0002\u0002", + "\u12b8\u12b9\u0007H\u0002\u0002\u12b9\u12ba\u0007K\u0002\u0002\u12ba", + "\u12bb\u0007P\u0002\u0002\u12bb\u12bc\u0007G\u0002\u0002\u12bc\u12bd", + "\u0007T\u0002\u0002\u12bd\u0290\u0003\u0002\u0002\u0002\u12be\u12bf", + "\u0007F\u0002\u0002\u12bf\u12c0\u0007G\u0002\u0002\u12c0\u12c1\u0007", + "N\u0002\u0002\u12c1\u12c2\u0007C\u0002\u0002\u12c2\u12c3\u0007[\u0002", + "\u0002\u12c3\u12c4\u0007a\u0002\u0002\u12c4\u12c5\u0007M\u0002\u0002", + "\u12c5\u12c6\u0007G\u0002\u0002\u12c6\u12c7\u0007[\u0002\u0002\u12c7", + "\u12c8\u0007a\u0002\u0002\u12c8\u12c9\u0007Y\u0002\u0002\u12c9\u12ca", + "\u0007T\u0002\u0002\u12ca\u12cb\u0007K\u0002\u0002\u12cb\u12cc\u0007", + "V\u0002\u0002\u12cc\u12cd\u0007G\u0002\u0002\u12cd\u0292\u0003\u0002", + "\u0002\u0002\u12ce\u12cf\u0007F\u0002\u0002\u12cf\u12d0\u0007G\u0002", + "\u0002\u12d0\u12d1\u0007U\u0002\u0002\u12d1\u12d2\u0007a\u0002\u0002", + "\u12d2\u12d3\u0007M\u0002\u0002\u12d3\u12d4\u0007G\u0002\u0002\u12d4", + "\u12d5\u0007[\u0002\u0002\u12d5\u12d6\u0007a\u0002\u0002\u12d6\u12d7", + "\u0007H\u0002\u0002\u12d7\u12d8\u0007K\u0002\u0002\u12d8\u12d9\u0007", + "N\u0002\u0002\u12d9\u12da\u0007G\u0002\u0002\u12da\u0294\u0003\u0002", + "\u0002\u0002\u12db\u12dc\u0007F\u0002\u0002\u12dc\u12dd\u0007K\u0002", + "\u0002\u12dd\u12de\u0007T\u0002\u0002\u12de\u12df\u0007G\u0002\u0002", + "\u12df\u12e0\u0007E\u0002\u0002\u12e0\u12e1\u0007V\u0002\u0002\u12e1", + "\u12e2\u0007Q\u0002\u0002\u12e2\u12e3\u0007T\u0002\u0002\u12e3\u12e4", + "\u0007[\u0002\u0002\u12e4\u0296\u0003\u0002\u0002\u0002\u12e5\u12e6", + "\u0007F\u0002\u0002\u12e6\u12e7\u0007K\u0002\u0002\u12e7\u12e8\u0007", + "U\u0002\u0002\u12e8\u12e9\u0007C\u0002\u0002\u12e9\u12ea\u0007D\u0002", + "\u0002\u12ea\u12eb\u0007N\u0002\u0002\u12eb\u12ec\u0007G\u0002\u0002", + "\u12ec\u0298\u0003\u0002\u0002\u0002\u12ed\u12ee\u0007F\u0002\u0002", + "\u12ee\u12ef\u0007K\u0002\u0002\u12ef\u12f0\u0007U\u0002\u0002\u12f0", + "\u12f1\u0007E\u0002\u0002\u12f1\u12f2\u0007C\u0002\u0002\u12f2\u12f3", + "\u0007T\u0002\u0002\u12f3\u12f4\u0007F\u0002\u0002\u12f4\u029a\u0003", + "\u0002\u0002\u0002\u12f5\u12f6\u0007F\u0002\u0002\u12f6\u12f7\u0007", + "K\u0002\u0002\u12f7\u12f8\u0007U\u0002\u0002\u12f8\u12f9\u0007M\u0002", + "\u0002\u12f9\u029c\u0003\u0002\u0002\u0002\u12fa\u12fb\u0007F\u0002", + "\u0002\u12fb\u12fc\u0007Q\u0002\u0002\u12fc\u029e\u0003\u0002\u0002", + "\u0002\u12fd\u12fe\u0007F\u0002\u0002\u12fe\u12ff\u0007W\u0002\u0002", + "\u12ff\u1300\u0007O\u0002\u0002\u1300\u1301\u0007R\u0002\u0002\u1301", + "\u1302\u0007H\u0002\u0002\u1302\u1303\u0007K\u0002\u0002\u1303\u1304", + "\u0007N\u0002\u0002\u1304\u1305\u0007G\u0002\u0002\u1305\u02a0\u0003", + "\u0002\u0002\u0002\u1306\u1307\u0007F\u0002\u0002\u1307\u1308\u0007", + "W\u0002\u0002\u1308\u1309\u0007R\u0002\u0002\u1309\u130a\u0007N\u0002", + "\u0002\u130a\u130b\u0007K\u0002\u0002\u130b\u130c\u0007E\u0002\u0002", + "\u130c\u130d\u0007C\u0002\u0002\u130d\u130e\u0007V\u0002\u0002\u130e", + "\u130f\u0007G\u0002\u0002\u130f\u02a2\u0003\u0002\u0002\u0002\u1310", + "\u1311\u0007F\u0002\u0002\u1311\u1312\u0007[\u0002\u0002\u1312\u1313", + "\u0007P\u0002\u0002\u1313\u1314\u0007C\u0002\u0002\u1314\u1315\u0007", + "O\u0002\u0002\u1315\u1316\u0007K\u0002\u0002\u1316\u1317\u0007E\u0002", + "\u0002\u1317\u02a4\u0003\u0002\u0002\u0002\u1318\u1319\u0007G\u0002", + "\u0002\u1319\u131a\u0007P\u0002\u0002\u131a\u131b\u0007C\u0002\u0002", + "\u131b\u131c\u0007D\u0002\u0002\u131c\u131d\u0007N\u0002\u0002\u131d", + "\u131e\u0007G\u0002\u0002\u131e\u02a6\u0003\u0002\u0002\u0002\u131f", + "\u1320\u0007G\u0002\u0002\u1320\u1321\u0007P\u0002\u0002\u1321\u1322", + "\u0007E\u0002\u0002\u1322\u1323\u0007T\u0002\u0002\u1323\u1324\u0007", + "[\u0002\u0002\u1324\u1325\u0007R\u0002\u0002\u1325\u1326\u0007V\u0002", + "\u0002\u1326\u1327\u0007K\u0002\u0002\u1327\u1328\u0007Q\u0002\u0002", + "\u1328\u1329\u0007P\u0002\u0002\u1329\u02a8\u0003\u0002\u0002\u0002", + "\u132a\u132b\u0007G\u0002\u0002\u132b\u132c\u0007P\u0002\u0002\u132c", + "\u132d\u0007F\u0002\u0002\u132d\u02aa\u0003\u0002\u0002\u0002\u132e", + "\u132f\u0007G\u0002\u0002\u132f\u1330\u0007P\u0002\u0002\u1330\u1331", + "\u0007F\u0002\u0002\u1331\u1332\u0007U\u0002\u0002\u1332\u02ac\u0003", + "\u0002\u0002\u0002\u1333\u1334\u0007G\u0002\u0002\u1334\u1335\u0007", + "P\u0002\u0002\u1335\u1336\u0007I\u0002\u0002\u1336\u1337\u0007K\u0002", + "\u0002\u1337\u1338\u0007P\u0002\u0002\u1338\u1339\u0007G\u0002\u0002", + "\u1339\u02ae\u0003\u0002\u0002\u0002\u133a\u133b\u0007G\u0002\u0002", + "\u133b\u133c\u0007P\u0002\u0002\u133c\u133d\u0007I\u0002\u0002\u133d", + "\u133e\u0007K\u0002\u0002\u133e\u133f\u0007P\u0002\u0002\u133f\u1340", + "\u0007G\u0002\u0002\u1340\u1341\u0007U\u0002\u0002\u1341\u02b0\u0003", + "\u0002\u0002\u0002\u1342\u1343\u0007G\u0002\u0002\u1343\u1344\u0007", + "T\u0002\u0002\u1344\u1345\u0007T\u0002\u0002\u1345\u1346\u0007Q\u0002", + "\u0002\u1346\u1347\u0007T\u0002\u0002\u1347\u02b2\u0003\u0002\u0002", + "\u0002\u1348\u1349\u0007G\u0002\u0002\u1349\u134a\u0007T\u0002\u0002", + "\u134a\u134b\u0007T\u0002\u0002\u134b\u134c\u0007Q\u0002\u0002\u134c", + "\u134d\u0007T\u0002\u0002\u134d\u134e\u0007U\u0002\u0002\u134e\u02b4", + "\u0003\u0002\u0002\u0002\u134f\u1350\u0007G\u0002\u0002\u1350\u1351", + "\u0007U\u0002\u0002\u1351\u1352\u0007E\u0002\u0002\u1352\u1353\u0007", + "C\u0002\u0002\u1353\u1354\u0007R\u0002\u0002\u1354\u1355\u0007G\u0002", + "\u0002\u1355\u02b6\u0003\u0002\u0002\u0002\u1356\u1357\u0007G\u0002", + "\u0002\u1357\u1358\u0007X\u0002\u0002\u1358\u1359\u0007G\u0002\u0002", + "\u1359\u135a\u0007P\u0002\u0002\u135a\u02b8\u0003\u0002\u0002\u0002", + "\u135b\u135c\u0007G\u0002\u0002\u135c\u135d\u0007X\u0002\u0002\u135d", + "\u135e\u0007G\u0002\u0002\u135e\u135f\u0007P\u0002\u0002\u135f\u1360", + "\u0007V\u0002\u0002\u1360\u02ba\u0003\u0002\u0002\u0002\u1361\u1362", + "\u0007G\u0002\u0002\u1362\u1363\u0007X\u0002\u0002\u1363\u1364\u0007", + "G\u0002\u0002\u1364\u1365\u0007P\u0002\u0002\u1365\u1366\u0007V\u0002", + "\u0002\u1366\u1367\u0007U\u0002\u0002\u1367\u02bc\u0003\u0002\u0002", + "\u0002\u1368\u1369\u0007G\u0002\u0002\u1369\u136a\u0007X\u0002\u0002", + "\u136a\u136b\u0007G\u0002\u0002\u136b\u136c\u0007T\u0002\u0002\u136c", + "\u136d\u0007[\u0002\u0002\u136d\u02be\u0003\u0002\u0002\u0002\u136e", + "\u136f\u0007G\u0002\u0002\u136f\u1370\u0007Z\u0002\u0002\u1370\u1371", + "\u0007E\u0002\u0002\u1371\u1372\u0007J\u0002\u0002\u1372\u1373\u0007", + "C\u0002\u0002\u1373\u1374\u0007P\u0002\u0002\u1374\u1375\u0007I\u0002", + "\u0002\u1375\u1376\u0007G\u0002\u0002\u1376\u02c0\u0003\u0002\u0002", + "\u0002\u1377\u1378\u0007G\u0002\u0002\u1378\u1379\u0007Z\u0002\u0002", + "\u1379\u137a\u0007E\u0002\u0002\u137a\u137b\u0007N\u0002\u0002\u137b", + "\u137c\u0007W\u0002\u0002\u137c\u137d\u0007U\u0002\u0002\u137d\u137e", + "\u0007K\u0002\u0002\u137e\u137f\u0007X\u0002\u0002\u137f\u1380\u0007", + "G\u0002\u0002\u1380\u02c2\u0003\u0002\u0002\u0002\u1381\u1382\u0007", + "G\u0002\u0002\u1382\u1383\u0007Z\u0002\u0002\u1383\u1384\u0007R\u0002", + "\u0002\u1384\u1385\u0007K\u0002\u0002\u1385\u1386\u0007T\u0002\u0002", + "\u1386\u1387\u0007G\u0002\u0002\u1387\u02c4\u0003\u0002\u0002\u0002", + "\u1388\u1389\u0007G\u0002\u0002\u1389\u138a\u0007Z\u0002\u0002\u138a", + "\u138b\u0007R\u0002\u0002\u138b\u138c\u0007Q\u0002\u0002\u138c\u138d", + "\u0007T\u0002\u0002\u138d\u138e\u0007V\u0002\u0002\u138e\u02c6\u0003", + "\u0002\u0002\u0002\u138f\u1390\u0007G\u0002\u0002\u1390\u1391\u0007", + "Z\u0002\u0002\u1391\u1392\u0007V\u0002\u0002\u1392\u1393\u0007G\u0002", + "\u0002\u1393\u1394\u0007P\u0002\u0002\u1394\u1395\u0007F\u0002\u0002", + "\u1395\u1396\u0007G\u0002\u0002\u1396\u1397\u0007F\u0002\u0002\u1397", + "\u02c8\u0003\u0002\u0002\u0002\u1398\u1399\u0007G\u0002\u0002\u1399", + "\u139a\u0007Z\u0002\u0002\u139a\u139b\u0007V\u0002\u0002\u139b\u139c", + "\u0007G\u0002\u0002\u139c\u139d\u0007P\u0002\u0002\u139d\u139e\u0007", + "V\u0002\u0002\u139e\u139f\u0007a\u0002\u0002\u139f\u13a0\u0007U\u0002", + "\u0002\u13a0\u13a1\u0007K\u0002\u0002\u13a1\u13a2\u0007\\\u0002\u0002", + "\u13a2\u13a3\u0007G\u0002\u0002\u13a3\u02ca\u0003\u0002\u0002\u0002", + "\u13a4\u13a5\u0007H\u0002\u0002\u13a5\u13a6\u0007C\u0002\u0002\u13a6", + "\u13a7\u0007U\u0002\u0002\u13a7\u13a8\u0007V\u0002\u0002\u13a8\u02cc", + "\u0003\u0002\u0002\u0002\u13a9\u13aa\u0007H\u0002\u0002\u13aa\u13ab", + "\u0007C\u0002\u0002\u13ab\u13ac\u0007W\u0002\u0002\u13ac\u13ad\u0007", + "N\u0002\u0002\u13ad\u13ae\u0007V\u0002\u0002\u13ae\u13af\u0007U\u0002", + "\u0002\u13af\u02ce\u0003\u0002\u0002\u0002\u13b0\u13b1\u0007H\u0002", + "\u0002\u13b1\u13b2\u0007K\u0002\u0002\u13b2\u13b3\u0007G\u0002\u0002", + "\u13b3\u13b4\u0007N\u0002\u0002\u13b4\u13b5\u0007F\u0002\u0002\u13b5", + "\u13b6\u0007U\u0002\u0002\u13b6\u02d0\u0003\u0002\u0002\u0002\u13b7", + "\u13b8\u0007H\u0002\u0002\u13b8\u13b9\u0007K\u0002\u0002\u13b9\u13ba", + "\u0007N\u0002\u0002\u13ba\u13bb\u0007G\u0002\u0002\u13bb\u13bc\u0007", + "a\u0002\u0002\u13bc\u13bd\u0007D\u0002\u0002\u13bd\u13be\u0007N\u0002", + "\u0002\u13be\u13bf\u0007Q\u0002\u0002\u13bf\u13c0\u0007E\u0002\u0002", + "\u13c0\u13c1\u0007M\u0002\u0002\u13c1\u13c2\u0007a\u0002\u0002\u13c2", + "\u13c3\u0007U\u0002\u0002\u13c3\u13c4\u0007K\u0002\u0002\u13c4\u13c5", + "\u0007\\\u0002\u0002\u13c5\u13c6\u0007G\u0002\u0002\u13c6\u02d2\u0003", + "\u0002\u0002\u0002\u13c7\u13c8\u0007H\u0002\u0002\u13c8\u13c9\u0007", + "K\u0002\u0002\u13c9\u13ca\u0007N\u0002\u0002\u13ca\u13cb\u0007V\u0002", + "\u0002\u13cb\u13cc\u0007G\u0002\u0002\u13cc\u13cd\u0007T\u0002\u0002", + "\u13cd\u02d4\u0003\u0002\u0002\u0002\u13ce\u13cf\u0007H\u0002\u0002", + "\u13cf\u13d0\u0007K\u0002\u0002\u13d0\u13d1\u0007T\u0002\u0002\u13d1", + "\u13d2\u0007U\u0002\u0002\u13d2\u13d3\u0007V\u0002\u0002\u13d3\u02d6", + "\u0003\u0002\u0002\u0002\u13d4\u13d5\u0007H\u0002\u0002\u13d5\u13d6", + "\u0007K\u0002\u0002\u13d6\u13d7\u0007Z\u0002\u0002\u13d7\u13d8\u0007", + "G\u0002\u0002\u13d8\u13d9\u0007F\u0002\u0002\u13d9\u02d8\u0003\u0002", + "\u0002\u0002\u13da\u13db\u0007H\u0002\u0002\u13db\u13dc\u0007N\u0002", + "\u0002\u13dc\u13dd\u0007W\u0002\u0002\u13dd\u13de\u0007U\u0002\u0002", + "\u13de\u13df\u0007J\u0002\u0002\u13df\u02da\u0003\u0002\u0002\u0002", + "\u13e0\u13e1\u0007H\u0002\u0002\u13e1\u13e2\u0007Q\u0002\u0002\u13e2", + "\u13e3\u0007N\u0002\u0002\u13e3\u13e4\u0007N\u0002\u0002\u13e4\u13e5", + "\u0007Q\u0002\u0002\u13e5\u13e6\u0007Y\u0002\u0002\u13e6\u13e7\u0007", + "U\u0002\u0002\u13e7\u02dc\u0003\u0002\u0002\u0002\u13e8\u13e9\u0007", + "H\u0002\u0002\u13e9\u13ea\u0007Q\u0002\u0002\u13ea\u13eb\u0007W\u0002", + "\u0002\u13eb\u13ec\u0007P\u0002\u0002\u13ec\u13ed\u0007F\u0002\u0002", + "\u13ed\u02de\u0003\u0002\u0002\u0002\u13ee\u13ef\u0007H\u0002\u0002", + "\u13ef\u13f0\u0007W\u0002\u0002\u13f0\u13f1\u0007N\u0002\u0002\u13f1", + "\u13f2\u0007N\u0002\u0002\u13f2\u02e0\u0003\u0002\u0002\u0002\u13f3", + "\u13f4\u0007H\u0002\u0002\u13f4\u13f5\u0007W\u0002\u0002\u13f5\u13f6", + "\u0007P\u0002\u0002\u13f6\u13f7\u0007E\u0002\u0002\u13f7\u13f8\u0007", + "V\u0002\u0002\u13f8\u13f9\u0007K\u0002\u0002\u13f9\u13fa\u0007Q\u0002", + "\u0002\u13fa\u13fb\u0007P\u0002\u0002\u13fb\u02e2\u0003\u0002\u0002", + "\u0002\u13fc\u13fd\u0007I\u0002\u0002\u13fd\u13fe\u0007G\u0002\u0002", + "\u13fe\u13ff\u0007P\u0002\u0002\u13ff\u1400\u0007G\u0002\u0002\u1400", + "\u1401\u0007T\u0002\u0002\u1401\u1402\u0007C\u0002\u0002\u1402\u1403", + "\u0007N\u0002\u0002\u1403\u02e4\u0003\u0002\u0002\u0002\u1404\u1405", + "\u0007I\u0002\u0002\u1405\u1406\u0007N\u0002\u0002\u1406\u1407\u0007", + "Q\u0002\u0002\u1407\u1408\u0007D\u0002\u0002\u1408\u1409\u0007C\u0002", + "\u0002\u1409\u140a\u0007N\u0002\u0002\u140a\u02e6\u0003\u0002\u0002", + "\u0002\u140b\u140c\u0007I\u0002\u0002\u140c\u140d\u0007T\u0002\u0002", + "\u140d\u140e\u0007C\u0002\u0002\u140e\u140f\u0007P\u0002\u0002\u140f", + "\u1410\u0007V\u0002\u0002\u1410\u1411\u0007U\u0002\u0002\u1411\u02e8", + "\u0003\u0002\u0002\u0002\u1412\u1413\u0007I\u0002\u0002\u1413\u1414", + "\u0007T\u0002\u0002\u1414\u1415\u0007Q\u0002\u0002\u1415\u1416\u0007", + "W\u0002\u0002\u1416\u1417\u0007R\u0002\u0002\u1417\u1418\u0007a\u0002", + "\u0002\u1418\u1419\u0007T\u0002\u0002\u1419\u141a\u0007G\u0002\u0002", + "\u141a\u141b\u0007R\u0002\u0002\u141b\u141c\u0007N\u0002\u0002\u141c", + "\u141d\u0007K\u0002\u0002\u141d\u141e\u0007E\u0002\u0002\u141e\u141f", + "\u0007C\u0002\u0002\u141f\u1420\u0007V\u0002\u0002\u1420\u1421\u0007", + "K\u0002\u0002\u1421\u1422\u0007Q\u0002\u0002\u1422\u1423\u0007P\u0002", + "\u0002\u1423\u02ea\u0003\u0002\u0002\u0002\u1424\u1425\u0007J\u0002", + "\u0002\u1425\u1426\u0007C\u0002\u0002\u1426\u1427\u0007P\u0002\u0002", + "\u1427\u1428\u0007F\u0002\u0002\u1428\u1429\u0007N\u0002\u0002\u1429", + "\u142a\u0007G\u0002\u0002\u142a\u142b\u0007T\u0002\u0002\u142b\u02ec", + "\u0003\u0002\u0002\u0002\u142c\u142d\u0007J\u0002\u0002\u142d\u142e", + "\u0007C\u0002\u0002\u142e\u142f\u0007U\u0002\u0002\u142f\u1430\u0007", + "J\u0002\u0002\u1430\u02ee\u0003\u0002\u0002\u0002\u1431\u1432\u0007", + "J\u0002\u0002\u1432\u1433\u0007G\u0002\u0002\u1433\u1434\u0007N\u0002", + "\u0002\u1434\u1435\u0007R\u0002\u0002\u1435\u02f0\u0003\u0002\u0002", + "\u0002\u1436\u1437\u0007J\u0002\u0002\u1437\u1438\u0007Q\u0002\u0002", + "\u1438\u1439\u0007U\u0002\u0002\u1439\u143a\u0007V\u0002\u0002\u143a", + "\u02f2\u0003\u0002\u0002\u0002\u143b\u143c\u0007J\u0002\u0002\u143c", + "\u143d\u0007Q\u0002\u0002\u143d\u143e\u0007U\u0002\u0002\u143e\u143f", + "\u0007V\u0002\u0002\u143f\u1440\u0007U\u0002\u0002\u1440\u02f4\u0003", + "\u0002\u0002\u0002\u1441\u1442\u0007K\u0002\u0002\u1442\u1443\u0007", + "F\u0002\u0002\u1443\u1444\u0007G\u0002\u0002\u1444\u1445\u0007P\u0002", + "\u0002\u1445\u1446\u0007V\u0002\u0002\u1446\u1447\u0007K\u0002\u0002", + "\u1447\u1448\u0007H\u0002\u0002\u1448\u1449\u0007K\u0002\u0002\u1449", + "\u144a\u0007G\u0002\u0002\u144a\u144b\u0007F\u0002\u0002\u144b\u02f6", + "\u0003\u0002\u0002\u0002\u144c\u144d\u0007K\u0002\u0002\u144d\u144e", + "\u0007I\u0002\u0002\u144e\u144f\u0007P\u0002\u0002\u144f\u1450\u0007", + "Q\u0002\u0002\u1450\u1451\u0007T\u0002\u0002\u1451\u1452\u0007G\u0002", + "\u0002\u1452\u1453\u0007a\u0002\u0002\u1453\u1454\u0007U\u0002\u0002", + "\u1454\u1455\u0007G\u0002\u0002\u1455\u1456\u0007T\u0002\u0002\u1456", + "\u1457\u0007X\u0002\u0002\u1457\u1458\u0007G\u0002\u0002\u1458\u1459", + "\u0007T\u0002\u0002\u1459\u145a\u0007a\u0002\u0002\u145a\u145b\u0007", + "K\u0002\u0002\u145b\u145c\u0007F\u0002\u0002\u145c\u145d\u0007U\u0002", + "\u0002\u145d\u02f8\u0003\u0002\u0002\u0002\u145e\u145f\u0007K\u0002", + "\u0002\u145f\u1460\u0007O\u0002\u0002\u1460\u1461\u0007R\u0002\u0002", + "\u1461\u1462\u0007Q\u0002\u0002\u1462\u1463\u0007T\u0002\u0002\u1463", + "\u1464\u0007V\u0002\u0002\u1464\u02fa\u0003\u0002\u0002\u0002\u1465", + "\u1466\u0007K\u0002\u0002\u1466\u1467\u0007P\u0002\u0002\u1467\u1468", + "\u0007F\u0002\u0002\u1468\u1469\u0007G\u0002\u0002\u1469\u146a\u0007", + "Z\u0002\u0002\u146a\u146b\u0007G\u0002\u0002\u146b\u146c\u0007U\u0002", + "\u0002\u146c\u02fc\u0003\u0002\u0002\u0002\u146d\u146e\u0007K\u0002", + "\u0002\u146e\u146f\u0007P\u0002\u0002\u146f\u1470\u0007K\u0002\u0002", + "\u1470\u1471\u0007V\u0002\u0002\u1471\u1472\u0007K\u0002\u0002\u1472", + "\u1473\u0007C\u0002\u0002\u1473\u1474\u0007N\u0002\u0002\u1474\u1475", + "\u0007a\u0002\u0002\u1475\u1476\u0007U\u0002\u0002\u1476\u1477\u0007", + "K\u0002\u0002\u1477\u1478\u0007\\\u0002\u0002\u1478\u1479\u0007G\u0002", + "\u0002\u1479\u02fe\u0003\u0002\u0002\u0002\u147a\u147b\u0007K\u0002", + "\u0002\u147b\u147c\u0007P\u0002\u0002\u147c\u147d\u0007R\u0002\u0002", + "\u147d\u147e\u0007N\u0002\u0002\u147e\u147f\u0007C\u0002\u0002\u147f", + "\u1480\u0007E\u0002\u0002\u1480\u1481\u0007G\u0002\u0002\u1481\u0300", + "\u0003\u0002\u0002\u0002\u1482\u1483\u0007K\u0002\u0002\u1483\u1484", + "\u0007P\u0002\u0002\u1484\u1485\u0007U\u0002\u0002\u1485\u1486\u0007", + "G\u0002\u0002\u1486\u1487\u0007T\u0002\u0002\u1487\u1488\u0007V\u0002", + "\u0002\u1488\u1489\u0007a\u0002\u0002\u1489\u148a\u0007O\u0002\u0002", + "\u148a\u148b\u0007G\u0002\u0002\u148b\u148c\u0007V\u0002\u0002\u148c", + "\u148d\u0007J\u0002\u0002\u148d\u148e\u0007Q\u0002\u0002\u148e\u148f", + "\u0007F\u0002\u0002\u148f\u0302\u0003\u0002\u0002\u0002\u1490\u1491", + "\u0007K\u0002\u0002\u1491\u1492\u0007P\u0002\u0002\u1492\u1493\u0007", + "U\u0002\u0002\u1493\u1494\u0007V\u0002\u0002\u1494\u1495\u0007C\u0002", + "\u0002\u1495\u1496\u0007N\u0002\u0002\u1496\u1497\u0007N\u0002\u0002", + "\u1497\u0304\u0003\u0002\u0002\u0002\u1498\u1499\u0007K\u0002\u0002", + "\u1499\u149a\u0007P\u0002\u0002\u149a\u149b\u0007U\u0002\u0002\u149b", + "\u149c\u0007V\u0002\u0002\u149c\u149d\u0007C\u0002\u0002\u149d\u149e", + "\u0007P\u0002\u0002\u149e\u149f\u0007E\u0002\u0002\u149f\u14a0\u0007", + "G\u0002\u0002\u14a0\u0306\u0003\u0002\u0002\u0002\u14a1\u14a2\u0007", + "K\u0002\u0002\u14a2\u14a3\u0007P\u0002\u0002\u14a3\u14a4\u0007X\u0002", + "\u0002\u14a4\u14a5\u0007K\u0002\u0002\u14a5\u14a6\u0007U\u0002\u0002", + "\u14a6\u14a7\u0007K\u0002\u0002\u14a7\u14a8\u0007D\u0002\u0002\u14a8", + "\u14a9\u0007N\u0002\u0002\u14a9\u14aa\u0007G\u0002\u0002\u14aa\u0308", + "\u0003\u0002\u0002\u0002\u14ab\u14ac\u0007K\u0002\u0002\u14ac\u14ad", + "\u0007P\u0002\u0002\u14ad\u14ae\u0007X\u0002\u0002\u14ae\u14af\u0007", + "Q\u0002\u0002\u14af\u14b0\u0007M\u0002\u0002\u14b0\u14b1\u0007G\u0002", + "\u0002\u14b1\u14b2\u0007T\u0002\u0002\u14b2\u030a\u0003\u0002\u0002", + "\u0002\u14b3\u14b4\u0007K\u0002\u0002\u14b4\u14b5\u0007Q\u0002\u0002", + "\u14b5\u030c\u0003\u0002\u0002\u0002\u14b6\u14b7\u0007K\u0002\u0002", + "\u14b7\u14b8\u0007Q\u0002\u0002\u14b8\u14b9\u0007a\u0002\u0002\u14b9", + "\u14ba\u0007V\u0002\u0002\u14ba\u14bb\u0007J\u0002\u0002\u14bb\u14bc", + "\u0007T\u0002\u0002\u14bc\u14bd\u0007G\u0002\u0002\u14bd\u14be\u0007", + "C\u0002\u0002\u14be\u14bf\u0007F\u0002\u0002\u14bf\u030e\u0003\u0002", + "\u0002\u0002\u14c0\u14c1\u0007K\u0002\u0002\u14c1\u14c2\u0007R\u0002", + "\u0002\u14c2\u14c3\u0007E\u0002\u0002\u14c3\u0310\u0003\u0002\u0002", + "\u0002\u14c4\u14c5\u0007K\u0002\u0002\u14c5\u14c6\u0007U\u0002\u0002", + "\u14c6\u14c7\u0007Q\u0002\u0002\u14c7\u14c8\u0007N\u0002\u0002\u14c8", + "\u14c9\u0007C\u0002\u0002\u14c9\u14ca\u0007V\u0002\u0002\u14ca\u14cb", + "\u0007K\u0002\u0002\u14cb\u14cc\u0007Q\u0002\u0002\u14cc\u14cd\u0007", + "P\u0002\u0002\u14cd\u0312\u0003\u0002\u0002\u0002\u14ce\u14cf\u0007", + "K\u0002\u0002\u14cf\u14d0\u0007U\u0002\u0002\u14d0\u14d1\u0007U\u0002", + "\u0002\u14d1\u14d2\u0007W\u0002\u0002\u14d2\u14d3\u0007G\u0002\u0002", + "\u14d3\u14d4\u0007T\u0002\u0002\u14d4\u0314\u0003\u0002\u0002\u0002", + "\u14d5\u14d6\u0007L\u0002\u0002\u14d6\u14d7\u0007U\u0002\u0002\u14d7", + "\u14d8\u0007Q\u0002\u0002\u14d8\u14d9\u0007P\u0002\u0002\u14d9\u0316", + "\u0003\u0002\u0002\u0002\u14da\u14db\u0007M\u0002\u0002\u14db\u14dc", + "\u0007G\u0002\u0002\u14dc\u14dd\u0007[\u0002\u0002\u14dd\u14de\u0007", + "a\u0002\u0002\u14de\u14df\u0007D\u0002\u0002\u14df\u14e0\u0007N\u0002", + "\u0002\u14e0\u14e1\u0007Q\u0002\u0002\u14e1\u14e2\u0007E\u0002\u0002", + "\u14e2\u14e3\u0007M\u0002\u0002\u14e3\u14e4\u0007a\u0002\u0002\u14e4", + "\u14e5\u0007U\u0002\u0002\u14e5\u14e6\u0007K\u0002\u0002\u14e6\u14e7", + "\u0007\\\u0002\u0002\u14e7\u14e8\u0007G\u0002\u0002\u14e8\u0318\u0003", + "\u0002\u0002\u0002\u14e9\u14ea\u0007N\u0002\u0002\u14ea\u14eb\u0007", + "C\u0002\u0002\u14eb\u14ec\u0007P\u0002\u0002\u14ec\u14ed\u0007I\u0002", + "\u0002\u14ed\u14ee\u0007W\u0002\u0002\u14ee\u14ef\u0007C\u0002\u0002", + "\u14ef\u14f0\u0007I\u0002\u0002\u14f0\u14f1\u0007G\u0002\u0002\u14f1", + "\u031a\u0003\u0002\u0002\u0002\u14f2\u14f3\u0007N\u0002\u0002\u14f3", + "\u14f4\u0007C\u0002\u0002\u14f4\u14f5\u0007U\u0002\u0002\u14f5\u14f6", + "\u0007V\u0002\u0002\u14f6\u031c\u0003\u0002\u0002\u0002\u14f7\u14f8", + "\u0007N\u0002\u0002\u14f8\u14f9\u0007G\u0002\u0002\u14f9\u14fa\u0007", + "C\u0002\u0002\u14fa\u14fb\u0007X\u0002\u0002\u14fb\u14fc\u0007G\u0002", + "\u0002\u14fc\u14fd\u0007U\u0002\u0002\u14fd\u031e\u0003\u0002\u0002", + "\u0002\u14fe\u14ff\u0007N\u0002\u0002\u14ff\u1500\u0007G\u0002\u0002", + "\u1500\u1501\u0007U\u0002\u0002\u1501\u1502\u0007U\u0002\u0002\u1502", + "\u0320\u0003\u0002\u0002\u0002\u1503\u1504\u0007N\u0002\u0002\u1504", + "\u1505\u0007G\u0002\u0002\u1505\u1506\u0007X\u0002\u0002\u1506\u1507", + "\u0007G\u0002\u0002\u1507\u1508\u0007N\u0002\u0002\u1508\u0322\u0003", + "\u0002\u0002\u0002\u1509\u150a\u0007N\u0002\u0002\u150a\u150b\u0007", + "K\u0002\u0002\u150b\u150c\u0007U\u0002\u0002\u150c\u150d\u0007V\u0002", + "\u0002\u150d\u0324\u0003\u0002\u0002\u0002\u150e\u150f\u0007N\u0002", + "\u0002\u150f\u1510\u0007Q\u0002\u0002\u1510\u1511\u0007E\u0002\u0002", + "\u1511\u1512\u0007C\u0002\u0002\u1512\u1513\u0007N\u0002\u0002\u1513", + "\u0326\u0003\u0002\u0002\u0002\u1514\u1515\u0007N\u0002\u0002\u1515", + "\u1516\u0007Q\u0002\u0002\u1516\u1517\u0007I\u0002\u0002\u1517\u1518", + "\u0007H\u0002\u0002\u1518\u1519\u0007K\u0002\u0002\u1519\u151a\u0007", + "N\u0002\u0002\u151a\u151b\u0007G\u0002\u0002\u151b\u0328\u0003\u0002", + "\u0002\u0002\u151c\u151d\u0007N\u0002\u0002\u151d\u151e\u0007Q\u0002", + "\u0002\u151e\u151f\u0007I\u0002\u0002\u151f\u1520\u0007U\u0002\u0002", + "\u1520\u032a\u0003\u0002\u0002\u0002\u1521\u1522\u0007O\u0002\u0002", + "\u1522\u1523\u0007C\u0002\u0002\u1523\u1524\u0007U\u0002\u0002\u1524", + "\u1525\u0007V\u0002\u0002\u1525\u1526\u0007G\u0002\u0002\u1526\u1527", + "\u0007T\u0002\u0002\u1527\u032c\u0003\u0002\u0002\u0002\u1528\u1529", + "\u0007O\u0002\u0002\u1529\u152a\u0007C\u0002\u0002\u152a\u152b\u0007", + "U\u0002\u0002\u152b\u152c\u0007V\u0002\u0002\u152c\u152d\u0007G\u0002", + "\u0002\u152d\u152e\u0007T\u0002\u0002\u152e\u152f\u0007a\u0002\u0002", + "\u152f\u1530\u0007C\u0002\u0002\u1530\u1531\u0007W\u0002\u0002\u1531", + "\u1532\u0007V\u0002\u0002\u1532\u1533\u0007Q\u0002\u0002\u1533\u1534", + "\u0007a\u0002\u0002\u1534\u1535\u0007R\u0002\u0002\u1535\u1536\u0007", + "Q\u0002\u0002\u1536\u1537\u0007U\u0002\u0002\u1537\u1538\u0007K\u0002", + "\u0002\u1538\u1539\u0007V\u0002\u0002\u1539\u153a\u0007K\u0002\u0002", + "\u153a\u153b\u0007Q\u0002\u0002\u153b\u153c\u0007P\u0002\u0002\u153c", + "\u032e\u0003\u0002\u0002\u0002\u153d\u153e\u0007O\u0002\u0002\u153e", + "\u153f\u0007C\u0002\u0002\u153f\u1540\u0007U\u0002\u0002\u1540\u1541", + "\u0007V\u0002\u0002\u1541\u1542\u0007G\u0002\u0002\u1542\u1543\u0007", + "T\u0002\u0002\u1543\u1544\u0007a\u0002\u0002\u1544\u1545\u0007E\u0002", + "\u0002\u1545\u1546\u0007Q\u0002\u0002\u1546\u1547\u0007P\u0002\u0002", + "\u1547\u1548\u0007P\u0002\u0002\u1548\u1549\u0007G\u0002\u0002\u1549", + "\u154a\u0007E\u0002\u0002\u154a\u154b\u0007V\u0002\u0002\u154b\u154c", + "\u0007a\u0002\u0002\u154c\u154d\u0007T\u0002\u0002\u154d\u154e\u0007", + "G\u0002\u0002\u154e\u154f\u0007V\u0002\u0002\u154f\u1550\u0007T\u0002", + "\u0002\u1550\u1551\u0007[\u0002\u0002\u1551\u0330\u0003\u0002\u0002", + "\u0002\u1552\u1553\u0007O\u0002\u0002\u1553\u1554\u0007C\u0002\u0002", + "\u1554\u1555\u0007U\u0002\u0002\u1555\u1556\u0007V\u0002\u0002\u1556", + "\u1557\u0007G\u0002\u0002\u1557\u1558\u0007T\u0002\u0002\u1558\u1559", + "\u0007a\u0002\u0002\u1559\u155a\u0007F\u0002\u0002\u155a\u155b\u0007", + "G\u0002\u0002\u155b\u155c\u0007N\u0002\u0002\u155c\u155d\u0007C\u0002", + "\u0002\u155d\u155e\u0007[\u0002\u0002\u155e\u0332\u0003\u0002\u0002", + "\u0002\u155f\u1560\u0007O\u0002\u0002\u1560\u1561\u0007C\u0002\u0002", + "\u1561\u1562\u0007U\u0002\u0002\u1562\u1563\u0007V\u0002\u0002\u1563", + "\u1564\u0007G\u0002\u0002\u1564\u1565\u0007T\u0002\u0002\u1565\u1566", + "\u0007a\u0002\u0002\u1566\u1567\u0007J\u0002\u0002\u1567\u1568\u0007", + "G\u0002\u0002\u1568\u1569\u0007C\u0002\u0002\u1569\u156a\u0007T\u0002", + "\u0002\u156a\u156b\u0007V\u0002\u0002\u156b\u156c\u0007D\u0002\u0002", + "\u156c\u156d\u0007G\u0002\u0002\u156d\u156e\u0007C\u0002\u0002\u156e", + "\u156f\u0007V\u0002\u0002\u156f\u1570\u0007a\u0002\u0002\u1570\u1571", + "\u0007R\u0002\u0002\u1571\u1572\u0007G\u0002\u0002\u1572\u1573\u0007", + "T\u0002\u0002\u1573\u1574\u0007K\u0002\u0002\u1574\u1575\u0007Q\u0002", + "\u0002\u1575\u1576\u0007F\u0002\u0002\u1576\u0334\u0003\u0002\u0002", + "\u0002\u1577\u1578\u0007O\u0002\u0002\u1578\u1579\u0007C\u0002\u0002", + "\u1579\u157a\u0007U\u0002\u0002\u157a\u157b\u0007V\u0002\u0002\u157b", + "\u157c\u0007G\u0002\u0002\u157c\u157d\u0007T\u0002\u0002\u157d\u157e", + "\u0007a\u0002\u0002\u157e\u157f\u0007J\u0002\u0002\u157f\u1580\u0007", + "Q\u0002\u0002\u1580\u1581\u0007U\u0002\u0002\u1581\u1582\u0007V\u0002", + "\u0002\u1582\u0336\u0003\u0002\u0002\u0002\u1583\u1584\u0007O\u0002", + "\u0002\u1584\u1585\u0007C\u0002\u0002\u1585\u1586\u0007U\u0002\u0002", + "\u1586\u1587\u0007V\u0002\u0002\u1587\u1588\u0007G\u0002\u0002\u1588", + "\u1589\u0007T\u0002\u0002\u1589\u158a\u0007a\u0002\u0002\u158a\u158b", + "\u0007N\u0002\u0002\u158b\u158c\u0007Q\u0002\u0002\u158c\u158d\u0007", + "I\u0002\u0002\u158d\u158e\u0007a\u0002\u0002\u158e\u158f\u0007H\u0002", + "\u0002\u158f\u1590\u0007K\u0002\u0002\u1590\u1591\u0007N\u0002\u0002", + "\u1591\u1592\u0007G\u0002\u0002\u1592\u0338\u0003\u0002\u0002\u0002", + "\u1593\u1594\u0007O\u0002\u0002\u1594\u1595\u0007C\u0002\u0002\u1595", + "\u1596\u0007U\u0002\u0002\u1596\u1597\u0007V\u0002\u0002\u1597\u1598", + "\u0007G\u0002\u0002\u1598\u1599\u0007T\u0002\u0002\u1599\u159a\u0007", + "a\u0002\u0002\u159a\u159b\u0007N\u0002\u0002\u159b\u159c\u0007Q\u0002", + "\u0002\u159c\u159d\u0007I\u0002\u0002\u159d\u159e\u0007a\u0002\u0002", + "\u159e\u159f\u0007R\u0002\u0002\u159f\u15a0\u0007Q\u0002\u0002\u15a0", + "\u15a1\u0007U\u0002\u0002\u15a1\u033a\u0003\u0002\u0002\u0002\u15a2", + "\u15a3\u0007O\u0002\u0002\u15a3\u15a4\u0007C\u0002\u0002\u15a4\u15a5", + "\u0007U\u0002\u0002\u15a5\u15a6\u0007V\u0002\u0002\u15a6\u15a7\u0007", + "G\u0002\u0002\u15a7\u15a8\u0007T\u0002\u0002\u15a8\u15a9\u0007a\u0002", + "\u0002\u15a9\u15aa\u0007R\u0002\u0002\u15aa\u15ab\u0007C\u0002\u0002", + "\u15ab\u15ac\u0007U\u0002\u0002\u15ac\u15ad\u0007U\u0002\u0002\u15ad", + "\u15ae\u0007Y\u0002\u0002\u15ae\u15af\u0007Q\u0002\u0002\u15af\u15b0", + "\u0007T\u0002\u0002\u15b0\u15b1\u0007F\u0002\u0002\u15b1\u033c\u0003", + "\u0002\u0002\u0002\u15b2\u15b3\u0007O\u0002\u0002\u15b3\u15b4\u0007", + "C\u0002\u0002\u15b4\u15b5\u0007U\u0002\u0002\u15b5\u15b6\u0007V\u0002", + "\u0002\u15b6\u15b7\u0007G\u0002\u0002\u15b7\u15b8\u0007T\u0002\u0002", + "\u15b8\u15b9\u0007a\u0002\u0002\u15b9\u15ba\u0007R\u0002\u0002\u15ba", + "\u15bb\u0007Q\u0002\u0002\u15bb\u15bc\u0007T\u0002\u0002\u15bc\u15bd", + "\u0007V\u0002\u0002\u15bd\u033e\u0003\u0002\u0002\u0002\u15be\u15bf", + "\u0007O\u0002\u0002\u15bf\u15c0\u0007C\u0002\u0002\u15c0\u15c1\u0007", + "U\u0002\u0002\u15c1\u15c2\u0007V\u0002\u0002\u15c2\u15c3\u0007G\u0002", + "\u0002\u15c3\u15c4\u0007T\u0002\u0002\u15c4\u15c5\u0007a\u0002\u0002", + "\u15c5\u15c6\u0007T\u0002\u0002\u15c6\u15c7\u0007G\u0002\u0002\u15c7", + "\u15c8\u0007V\u0002\u0002\u15c8\u15c9\u0007T\u0002\u0002\u15c9\u15ca", + "\u0007[\u0002\u0002\u15ca\u15cb\u0007a\u0002\u0002\u15cb\u15cc\u0007", + "E\u0002\u0002\u15cc\u15cd\u0007Q\u0002\u0002\u15cd\u15ce\u0007W\u0002", + "\u0002\u15ce\u15cf\u0007P\u0002\u0002\u15cf\u15d0\u0007V\u0002\u0002", + "\u15d0\u0340\u0003\u0002\u0002\u0002\u15d1\u15d2\u0007O\u0002\u0002", + "\u15d2\u15d3\u0007C\u0002\u0002\u15d3\u15d4\u0007U\u0002\u0002\u15d4", + "\u15d5\u0007V\u0002\u0002\u15d5\u15d6\u0007G\u0002\u0002\u15d6\u15d7", + "\u0007T\u0002\u0002\u15d7\u15d8\u0007a\u0002\u0002\u15d8\u15d9\u0007", + "U\u0002\u0002\u15d9\u15da\u0007U\u0002\u0002\u15da\u15db\u0007N\u0002", + "\u0002\u15db\u0342\u0003\u0002\u0002\u0002\u15dc\u15dd\u0007O\u0002", + "\u0002\u15dd\u15de\u0007C\u0002\u0002\u15de\u15df\u0007U\u0002\u0002", + "\u15df\u15e0\u0007V\u0002\u0002\u15e0\u15e1\u0007G\u0002\u0002\u15e1", + "\u15e2\u0007T\u0002\u0002\u15e2\u15e3\u0007a\u0002\u0002\u15e3\u15e4", + "\u0007U\u0002\u0002\u15e4\u15e5\u0007U\u0002\u0002\u15e5\u15e6\u0007", + "N\u0002\u0002\u15e6\u15e7\u0007a\u0002\u0002\u15e7\u15e8\u0007E\u0002", + "\u0002\u15e8\u15e9\u0007C\u0002\u0002\u15e9\u0344\u0003\u0002\u0002", + "\u0002\u15ea\u15eb\u0007O\u0002\u0002\u15eb\u15ec\u0007C\u0002\u0002", + "\u15ec\u15ed\u0007U\u0002\u0002\u15ed\u15ee\u0007V\u0002\u0002\u15ee", + "\u15ef\u0007G\u0002\u0002\u15ef\u15f0\u0007T\u0002\u0002\u15f0\u15f1", + "\u0007a\u0002\u0002\u15f1\u15f2\u0007U\u0002\u0002\u15f2\u15f3\u0007", + "U\u0002\u0002\u15f3\u15f4\u0007N\u0002\u0002\u15f4\u15f5\u0007a\u0002", + "\u0002\u15f5\u15f6\u0007E\u0002\u0002\u15f6\u15f7\u0007C\u0002\u0002", + "\u15f7\u15f8\u0007R\u0002\u0002\u15f8\u15f9\u0007C\u0002\u0002\u15f9", + "\u15fa\u0007V\u0002\u0002\u15fa\u15fb\u0007J\u0002\u0002\u15fb\u0346", + "\u0003\u0002\u0002\u0002\u15fc\u15fd\u0007O\u0002\u0002\u15fd\u15fe", + "\u0007C\u0002\u0002\u15fe\u15ff\u0007U\u0002\u0002\u15ff\u1600\u0007", + "V\u0002\u0002\u1600\u1601\u0007G\u0002\u0002\u1601\u1602\u0007T\u0002", + "\u0002\u1602\u1603\u0007a\u0002\u0002\u1603\u1604\u0007U\u0002\u0002", + "\u1604\u1605\u0007U\u0002\u0002\u1605\u1606\u0007N\u0002\u0002\u1606", + "\u1607\u0007a\u0002\u0002\u1607\u1608\u0007E\u0002\u0002\u1608\u1609", + "\u0007G\u0002\u0002\u1609\u160a\u0007T\u0002\u0002\u160a\u160b\u0007", + "V\u0002\u0002\u160b\u0348\u0003\u0002\u0002\u0002\u160c\u160d\u0007", + "O\u0002\u0002\u160d\u160e\u0007C\u0002\u0002\u160e\u160f\u0007U\u0002", + "\u0002\u160f\u1610\u0007V\u0002\u0002\u1610\u1611\u0007G\u0002\u0002", + "\u1611\u1612\u0007T\u0002\u0002\u1612\u1613\u0007a\u0002\u0002\u1613", + "\u1614\u0007U\u0002\u0002\u1614\u1615\u0007U\u0002\u0002\u1615\u1616", + "\u0007N\u0002\u0002\u1616\u1617\u0007a\u0002\u0002\u1617\u1618\u0007", + "E\u0002\u0002\u1618\u1619\u0007K\u0002\u0002\u1619\u161a\u0007R\u0002", + "\u0002\u161a\u161b\u0007J\u0002\u0002\u161b\u161c\u0007G\u0002\u0002", + "\u161c\u161d\u0007T\u0002\u0002\u161d\u034a\u0003\u0002\u0002\u0002", + "\u161e\u161f\u0007O\u0002\u0002\u161f\u1620\u0007C\u0002\u0002\u1620", + "\u1621\u0007U\u0002\u0002\u1621\u1622\u0007V\u0002\u0002\u1622\u1623", + "\u0007G\u0002\u0002\u1623\u1624\u0007T\u0002\u0002\u1624\u1625\u0007", + "a\u0002\u0002\u1625\u1626\u0007U\u0002\u0002\u1626\u1627\u0007U\u0002", + "\u0002\u1627\u1628\u0007N\u0002\u0002\u1628\u1629\u0007a\u0002\u0002", + "\u1629\u162a\u0007E\u0002\u0002\u162a\u162b\u0007T\u0002\u0002\u162b", + "\u162c\u0007N\u0002\u0002\u162c\u034c\u0003\u0002\u0002\u0002\u162d", + "\u162e\u0007O\u0002\u0002\u162e\u162f\u0007C\u0002\u0002\u162f\u1630", + "\u0007U\u0002\u0002\u1630\u1631\u0007V\u0002\u0002\u1631\u1632\u0007", + "G\u0002\u0002\u1632\u1633\u0007T\u0002\u0002\u1633\u1634\u0007a\u0002", + "\u0002\u1634\u1635\u0007U\u0002\u0002\u1635\u1636\u0007U\u0002\u0002", + "\u1636\u1637\u0007N\u0002\u0002\u1637\u1638\u0007a\u0002\u0002\u1638", + "\u1639\u0007E\u0002\u0002\u1639\u163a\u0007T\u0002\u0002\u163a\u163b", + "\u0007N\u0002\u0002\u163b\u163c\u0007R\u0002\u0002\u163c\u163d\u0007", + "C\u0002\u0002\u163d\u163e\u0007V\u0002\u0002\u163e\u163f\u0007J\u0002", + "\u0002\u163f\u034e\u0003\u0002\u0002\u0002\u1640\u1641\u0007O\u0002", + "\u0002\u1641\u1642\u0007C\u0002\u0002\u1642\u1643\u0007U\u0002\u0002", + "\u1643\u1644\u0007V\u0002\u0002\u1644\u1645\u0007G\u0002\u0002\u1645", + "\u1646\u0007T\u0002\u0002\u1646\u1647\u0007a\u0002\u0002\u1647\u1648", + "\u0007U\u0002\u0002\u1648\u1649\u0007U\u0002\u0002\u1649\u164a\u0007", + "N\u0002\u0002\u164a\u164b\u0007a\u0002\u0002\u164b\u164c\u0007M\u0002", + "\u0002\u164c\u164d\u0007G\u0002\u0002\u164d\u164e\u0007[\u0002\u0002", + "\u164e\u0350\u0003\u0002\u0002\u0002\u164f\u1650\u0007O\u0002\u0002", + "\u1650\u1651\u0007C\u0002\u0002\u1651\u1652\u0007U\u0002\u0002\u1652", + "\u1653\u0007V\u0002\u0002\u1653\u1654\u0007G\u0002\u0002\u1654\u1655", + "\u0007T\u0002\u0002\u1655\u1656\u0007a\u0002\u0002\u1656\u1657\u0007", + "V\u0002\u0002\u1657\u1658\u0007N\u0002\u0002\u1658\u1659\u0007U\u0002", + "\u0002\u1659\u165a\u0007a\u0002\u0002\u165a\u165b\u0007X\u0002\u0002", + "\u165b\u165c\u0007G\u0002\u0002\u165c\u165d\u0007T\u0002\u0002\u165d", + "\u165e\u0007U\u0002\u0002\u165e\u165f\u0007K\u0002\u0002\u165f\u1660", + "\u0007Q\u0002\u0002\u1660\u1661\u0007P\u0002\u0002\u1661\u0352\u0003", + "\u0002\u0002\u0002\u1662\u1663\u0007O\u0002\u0002\u1663\u1664\u0007", + "C\u0002\u0002\u1664\u1665\u0007U\u0002\u0002\u1665\u1666\u0007V\u0002", + "\u0002\u1666\u1667\u0007G\u0002\u0002\u1667\u1668\u0007T\u0002\u0002", + "\u1668\u1669\u0007a\u0002\u0002\u1669\u166a\u0007W\u0002\u0002\u166a", + "\u166b\u0007U\u0002\u0002\u166b\u166c\u0007G\u0002\u0002\u166c\u166d", + "\u0007T\u0002\u0002\u166d\u0354\u0003\u0002\u0002\u0002\u166e\u166f", + "\u0007O\u0002\u0002\u166f\u1670\u0007C\u0002\u0002\u1670\u1671\u0007", + "Z\u0002\u0002\u1671\u1672\u0007a\u0002\u0002\u1672\u1673\u0007E\u0002", + "\u0002\u1673\u1674\u0007Q\u0002\u0002\u1674\u1675\u0007P\u0002\u0002", + "\u1675\u1676\u0007P\u0002\u0002\u1676\u1677\u0007G\u0002\u0002\u1677", + "\u1678\u0007E\u0002\u0002\u1678\u1679\u0007V\u0002\u0002\u1679\u167a", + "\u0007K\u0002\u0002\u167a\u167b\u0007Q\u0002\u0002\u167b\u167c\u0007", + "P\u0002\u0002\u167c\u167d\u0007U\u0002\u0002\u167d\u167e\u0007a\u0002", + "\u0002\u167e\u167f\u0007R\u0002\u0002\u167f\u1680\u0007G\u0002\u0002", + "\u1680\u1681\u0007T\u0002\u0002\u1681\u1682\u0007a\u0002\u0002\u1682", + "\u1683\u0007J\u0002\u0002\u1683\u1684\u0007Q\u0002\u0002\u1684\u1685", + "\u0007W\u0002\u0002\u1685\u1686\u0007T\u0002\u0002\u1686\u0356\u0003", + "\u0002\u0002\u0002\u1687\u1688\u0007O\u0002\u0002\u1688\u1689\u0007", + "C\u0002\u0002\u1689\u168a\u0007Z\u0002\u0002\u168a\u168b\u0007a\u0002", + "\u0002\u168b\u168c\u0007S\u0002\u0002\u168c\u168d\u0007W\u0002\u0002", + "\u168d\u168e\u0007G\u0002\u0002\u168e\u168f\u0007T\u0002\u0002\u168f", + "\u1690\u0007K\u0002\u0002\u1690\u1691\u0007G\u0002\u0002\u1691\u1692", + "\u0007U\u0002\u0002\u1692\u1693\u0007a\u0002\u0002\u1693\u1694\u0007", + "R\u0002\u0002\u1694\u1695\u0007G\u0002\u0002\u1695\u1696\u0007T\u0002", + "\u0002\u1696\u1697\u0007a\u0002\u0002\u1697\u1698\u0007J\u0002\u0002", + "\u1698\u1699\u0007Q\u0002\u0002\u1699\u169a\u0007W\u0002\u0002\u169a", + "\u169b\u0007T\u0002\u0002\u169b\u0358\u0003\u0002\u0002\u0002\u169c", + "\u169d\u0007O\u0002\u0002\u169d\u169e\u0007C\u0002\u0002\u169e\u169f", + "\u0007Z\u0002\u0002\u169f\u16a0\u0007a\u0002\u0002\u16a0\u16a1\u0007", + "T\u0002\u0002\u16a1\u16a2\u0007Q\u0002\u0002\u16a2\u16a3\u0007Y\u0002", + "\u0002\u16a3\u16a4\u0007U\u0002\u0002\u16a4\u035a\u0003\u0002\u0002", + "\u0002\u16a5\u16a6\u0007O\u0002\u0002\u16a6\u16a7\u0007C\u0002\u0002", + "\u16a7\u16a8\u0007Z\u0002\u0002\u16a8\u16a9\u0007a\u0002\u0002\u16a9", + "\u16aa\u0007U\u0002\u0002\u16aa\u16ab\u0007K\u0002\u0002\u16ab\u16ac", + "\u0007\\\u0002\u0002\u16ac\u16ad\u0007G\u0002\u0002\u16ad\u035c\u0003", + "\u0002\u0002\u0002\u16ae\u16af\u0007O\u0002\u0002\u16af\u16b0\u0007", + "C\u0002\u0002\u16b0\u16b1\u0007Z\u0002\u0002\u16b1\u16b2\u0007a\u0002", + "\u0002\u16b2\u16b3\u0007W\u0002\u0002\u16b3\u16b4\u0007R\u0002\u0002", + "\u16b4\u16b5\u0007F\u0002\u0002\u16b5\u16b6\u0007C\u0002\u0002\u16b6", + "\u16b7\u0007V\u0002\u0002\u16b7\u16b8\u0007G\u0002\u0002\u16b8\u16b9", + "\u0007U\u0002\u0002\u16b9\u16ba\u0007a\u0002\u0002\u16ba\u16bb\u0007", + "R\u0002\u0002\u16bb\u16bc\u0007G\u0002\u0002\u16bc\u16bd\u0007T\u0002", + "\u0002\u16bd\u16be\u0007a\u0002\u0002\u16be\u16bf\u0007J\u0002\u0002", + "\u16bf\u16c0\u0007Q\u0002\u0002\u16c0\u16c1\u0007W\u0002\u0002\u16c1", + "\u16c2\u0007T\u0002\u0002\u16c2\u035e\u0003\u0002\u0002\u0002\u16c3", + "\u16c4\u0007O\u0002\u0002\u16c4\u16c5\u0007C\u0002\u0002\u16c5\u16c6", + "\u0007Z\u0002\u0002\u16c6\u16c7\u0007a\u0002\u0002\u16c7\u16c8\u0007", + "W\u0002\u0002\u16c8\u16c9\u0007U\u0002\u0002\u16c9\u16ca\u0007G\u0002", + "\u0002\u16ca\u16cb\u0007T\u0002\u0002\u16cb\u16cc\u0007a\u0002\u0002", + "\u16cc\u16cd\u0007E\u0002\u0002\u16cd\u16ce\u0007Q\u0002\u0002\u16ce", + "\u16cf\u0007P\u0002\u0002\u16cf\u16d0\u0007P\u0002\u0002\u16d0\u16d1", + "\u0007G\u0002\u0002\u16d1\u16d2\u0007E\u0002\u0002\u16d2\u16d3\u0007", + "V\u0002\u0002\u16d3\u16d4\u0007K\u0002\u0002\u16d4\u16d5\u0007Q\u0002", + "\u0002\u16d5\u16d6\u0007P\u0002\u0002\u16d6\u16d7\u0007U\u0002\u0002", + "\u16d7\u0360\u0003\u0002\u0002\u0002\u16d8\u16d9\u0007O\u0002\u0002", + "\u16d9\u16da\u0007G\u0002\u0002\u16da\u16db\u0007F\u0002\u0002\u16db", + "\u16dc\u0007K\u0002\u0002\u16dc\u16dd\u0007W\u0002\u0002\u16dd\u16de", + "\u0007O\u0002\u0002\u16de\u0362\u0003\u0002\u0002\u0002\u16df\u16e0", + "\u0007O\u0002\u0002\u16e0\u16e1\u0007G\u0002\u0002\u16e1\u16e2\u0007", + "T\u0002\u0002\u16e2\u16e3\u0007I\u0002\u0002\u16e3\u16e4\u0007G\u0002", + "\u0002\u16e4\u0364\u0003\u0002\u0002\u0002\u16e5\u16e6\u0007O\u0002", + "\u0002\u16e6\u16e7\u0007G\u0002\u0002\u16e7\u16e8\u0007U\u0002\u0002", + "\u16e8\u16e9\u0007U\u0002\u0002\u16e9\u16ea\u0007C\u0002\u0002\u16ea", + "\u16eb\u0007I\u0002\u0002\u16eb\u16ec\u0007G\u0002\u0002\u16ec\u16ed", + "\u0007a\u0002\u0002\u16ed\u16ee\u0007V\u0002\u0002\u16ee\u16ef\u0007", + "G\u0002\u0002\u16ef\u16f0\u0007Z\u0002\u0002\u16f0\u16f1\u0007V\u0002", + "\u0002\u16f1\u0366\u0003\u0002\u0002\u0002\u16f2\u16f3\u0007O\u0002", + "\u0002\u16f3\u16f4\u0007K\u0002\u0002\u16f4\u16f5\u0007F\u0002\u0002", + "\u16f5\u0368\u0003\u0002\u0002\u0002\u16f6\u16f7\u0007O\u0002\u0002", + "\u16f7\u16f8\u0007K\u0002\u0002\u16f8\u16f9\u0007I\u0002\u0002\u16f9", + "\u16fa\u0007T\u0002\u0002\u16fa\u16fb\u0007C\u0002\u0002\u16fb\u16fc", + "\u0007V\u0002\u0002\u16fc\u16fd\u0007G\u0002\u0002\u16fd\u036a\u0003", + "\u0002\u0002\u0002\u16fe\u16ff\u0007O\u0002\u0002\u16ff\u1700\u0007", + "K\u0002\u0002\u1700\u1701\u0007P\u0002\u0002\u1701\u1702\u0007a\u0002", + "\u0002\u1702\u1703\u0007T\u0002\u0002\u1703\u1704\u0007Q\u0002\u0002", + "\u1704\u1705\u0007Y\u0002\u0002\u1705\u1706\u0007U\u0002\u0002\u1706", + "\u036c\u0003\u0002\u0002\u0002\u1707\u1708\u0007O\u0002\u0002\u1708", + "\u1709\u0007Q\u0002\u0002\u1709\u170a\u0007F\u0002\u0002\u170a\u170b", + "\u0007G\u0002\u0002\u170b\u036e\u0003\u0002\u0002\u0002\u170c\u170d", + "\u0007O\u0002\u0002\u170d\u170e\u0007Q\u0002\u0002\u170e\u170f\u0007", + "F\u0002\u0002\u170f\u1710\u0007K\u0002\u0002\u1710\u1711\u0007H\u0002", + "\u0002\u1711\u1712\u0007[\u0002\u0002\u1712\u0370\u0003\u0002\u0002", + "\u0002\u1713\u1714\u0007O\u0002\u0002\u1714\u1715\u0007W\u0002\u0002", + "\u1715\u1716\u0007V\u0002\u0002\u1716\u1717\u0007G\u0002\u0002\u1717", + "\u1718\u0007Z\u0002\u0002\u1718\u0372\u0003\u0002\u0002\u0002\u1719", + "\u171a\u0007O\u0002\u0002\u171a\u171b\u0007[\u0002\u0002\u171b\u171c", + "\u0007U\u0002\u0002\u171c\u171d\u0007S\u0002\u0002\u171d\u171e\u0007", + "N\u0002\u0002\u171e\u0374\u0003\u0002\u0002\u0002\u171f\u1720\u0007", + "O\u0002\u0002\u1720\u1721\u0007[\u0002\u0002\u1721\u1722\u0007U\u0002", + "\u0002\u1722\u1723\u0007S\u0002\u0002\u1723\u1724\u0007N\u0002\u0002", + "\u1724\u1725\u0007a\u0002\u0002\u1725\u1726\u0007G\u0002\u0002\u1726", + "\u1727\u0007T\u0002\u0002\u1727\u1728\u0007T\u0002\u0002\u1728\u1729", + "\u0007P\u0002\u0002\u1729\u172a\u0007Q\u0002\u0002\u172a\u0376\u0003", + "\u0002\u0002\u0002\u172b\u172c\u0007P\u0002\u0002\u172c\u172d\u0007", + "C\u0002\u0002\u172d\u172e\u0007O\u0002\u0002\u172e\u172f\u0007G\u0002", + "\u0002\u172f\u0378\u0003\u0002\u0002\u0002\u1730\u1731\u0007P\u0002", + "\u0002\u1731\u1732\u0007C\u0002\u0002\u1732\u1733\u0007O\u0002\u0002", + "\u1733\u1734\u0007G\u0002\u0002\u1734\u1735\u0007U\u0002\u0002\u1735", + "\u037a\u0003\u0002\u0002\u0002\u1736\u1737\u0007P\u0002\u0002\u1737", + "\u1738\u0007E\u0002\u0002\u1738\u1739\u0007J\u0002\u0002\u1739\u173a", + "\u0007C\u0002\u0002\u173a\u173b\u0007T\u0002\u0002\u173b\u037c\u0003", + "\u0002\u0002\u0002\u173c\u173d\u0007P\u0002\u0002\u173d\u173e\u0007", + "G\u0002\u0002\u173e\u173f\u0007X\u0002\u0002\u173f\u1740\u0007G\u0002", + "\u0002\u1740\u1741\u0007T\u0002\u0002\u1741\u037e\u0003\u0002\u0002", + "\u0002\u1742\u1743\u0007P\u0002\u0002\u1743\u1744\u0007G\u0002\u0002", + "\u1744\u1745\u0007Z\u0002\u0002\u1745\u1746\u0007V\u0002\u0002\u1746", + "\u0380\u0003\u0002\u0002\u0002\u1747\u1748\u0007P\u0002\u0002\u1748", + "\u1749\u0007Q\u0002\u0002\u1749\u0382\u0003\u0002\u0002\u0002\u174a", + "\u174b\u0007P\u0002\u0002\u174b\u174c\u0007Q\u0002\u0002\u174c\u174d", + "\u0007F\u0002\u0002\u174d\u174e\u0007G\u0002\u0002\u174e\u174f\u0007", + "I\u0002\u0002\u174f\u1750\u0007T\u0002\u0002\u1750\u1751\u0007Q\u0002", + "\u0002\u1751\u1752\u0007W\u0002\u0002\u1752\u1753\u0007R\u0002\u0002", + "\u1753\u0384\u0003\u0002\u0002\u0002\u1754\u1755\u0007P\u0002\u0002", + "\u1755\u1756\u0007Q\u0002\u0002\u1756\u1757\u0007P\u0002\u0002\u1757", + "\u1758\u0007G\u0002\u0002\u1758\u0386\u0003\u0002\u0002\u0002\u1759", + "\u175a\u0007Q\u0002\u0002\u175a\u175b\u0007H\u0002\u0002\u175b\u175c", + "\u0007H\u0002\u0002\u175c\u175d\u0007N\u0002\u0002\u175d\u175e\u0007", + "K\u0002\u0002\u175e\u175f\u0007P\u0002\u0002\u175f\u1760\u0007G\u0002", + "\u0002\u1760\u0388\u0003\u0002\u0002\u0002\u1761\u1762\u0007Q\u0002", + "\u0002\u1762\u1763\u0007H\u0002\u0002\u1763\u1764\u0007H\u0002\u0002", + "\u1764\u1765\u0007U\u0002\u0002\u1765\u1766\u0007G\u0002\u0002\u1766", + "\u1767\u0007V\u0002\u0002\u1767\u038a\u0003\u0002\u0002\u0002\u1768", + "\u1769\u0007Q\u0002\u0002\u1769\u176a\u0007L\u0002\u0002\u176a\u038c", + "\u0003\u0002\u0002\u0002\u176b\u176c\u0007Q\u0002\u0002\u176c\u176d", + "\u0007N\u0002\u0002\u176d\u176e\u0007F\u0002\u0002\u176e\u176f\u0007", + "a\u0002\u0002\u176f\u1770\u0007R\u0002\u0002\u1770\u1771\u0007C\u0002", + "\u0002\u1771\u1772\u0007U\u0002\u0002\u1772\u1773\u0007U\u0002\u0002", + "\u1773\u1774\u0007Y\u0002\u0002\u1774\u1775\u0007Q\u0002\u0002\u1775", + "\u1776\u0007T\u0002\u0002\u1776\u1777\u0007F\u0002\u0002\u1777\u038e", + "\u0003\u0002\u0002\u0002\u1778\u1779\u0007Q\u0002\u0002\u1779\u177a", + "\u0007P\u0002\u0002\u177a\u177b\u0007G\u0002\u0002\u177b\u0390\u0003", + "\u0002\u0002\u0002\u177c\u177d\u0007Q\u0002\u0002\u177d\u177e\u0007", + "P\u0002\u0002\u177e\u177f\u0007N\u0002\u0002\u177f\u1780\u0007K\u0002", + "\u0002\u1780\u1781\u0007P\u0002\u0002\u1781\u1782\u0007G\u0002\u0002", + "\u1782\u0392\u0003\u0002\u0002\u0002\u1783\u1784\u0007Q\u0002\u0002", + "\u1784\u1785\u0007P\u0002\u0002\u1785\u1786\u0007N\u0002\u0002\u1786", + "\u1787\u0007[\u0002\u0002\u1787\u0394\u0003\u0002\u0002\u0002\u1788", + "\u1789\u0007Q\u0002\u0002\u1789\u178a\u0007R\u0002\u0002\u178a\u178b", + "\u0007G\u0002\u0002\u178b\u178c\u0007P\u0002\u0002\u178c\u0396\u0003", + "\u0002\u0002\u0002\u178d\u178e\u0007Q\u0002\u0002\u178e\u178f\u0007", + "R\u0002\u0002\u178f\u1790\u0007V\u0002\u0002\u1790\u1791\u0007K\u0002", + "\u0002\u1791\u1792\u0007O\u0002\u0002\u1792\u1793\u0007K\u0002\u0002", + "\u1793\u1794\u0007\\\u0002\u0002\u1794\u1795\u0007G\u0002\u0002\u1795", + "\u1796\u0007T\u0002\u0002\u1796\u1797\u0007a\u0002\u0002\u1797\u1798", + "\u0007E\u0002\u0002\u1798\u1799\u0007Q\u0002\u0002\u1799\u179a\u0007", + "U\u0002\u0002\u179a\u179b\u0007V\u0002\u0002\u179b\u179c\u0007U\u0002", + "\u0002\u179c\u0398\u0003\u0002\u0002\u0002\u179d\u179e\u0007Q\u0002", + "\u0002\u179e\u179f\u0007R\u0002\u0002\u179f\u17a0\u0007V\u0002\u0002", + "\u17a0\u17a1\u0007K\u0002\u0002\u17a1\u17a2\u0007Q\u0002\u0002\u17a2", + "\u17a3\u0007P\u0002\u0002\u17a3\u17a4\u0007U\u0002\u0002\u17a4\u039a", + "\u0003\u0002\u0002\u0002\u17a5\u17a6\u0007Q\u0002\u0002\u17a6\u17a7", + "\u0007Y\u0002\u0002\u17a7\u17a8\u0007P\u0002\u0002\u17a8\u17a9\u0007", + "G\u0002\u0002\u17a9\u17aa\u0007T\u0002\u0002\u17aa\u039c\u0003\u0002", + "\u0002\u0002\u17ab\u17ac\u0007R\u0002\u0002\u17ac\u17ad\u0007C\u0002", + "\u0002\u17ad\u17ae\u0007E\u0002\u0002\u17ae\u17af\u0007M\u0002\u0002", + "\u17af\u17b0\u0007a\u0002\u0002\u17b0\u17b1\u0007M\u0002\u0002\u17b1", + "\u17b2\u0007G\u0002\u0002\u17b2\u17b3\u0007[\u0002\u0002\u17b3\u17b4", + "\u0007U\u0002\u0002\u17b4\u039e\u0003\u0002\u0002\u0002\u17b5\u17b6", + "\u0007R\u0002\u0002\u17b6\u17b7\u0007C\u0002\u0002\u17b7\u17b8\u0007", + "I\u0002\u0002\u17b8\u17b9\u0007G\u0002\u0002\u17b9\u03a0\u0003\u0002", + "\u0002\u0002\u17ba\u17bb\u0007R\u0002\u0002\u17bb\u17bc\u0007C\u0002", + "\u0002\u17bc\u17bd\u0007T\u0002\u0002\u17bd\u17be\u0007U\u0002\u0002", + "\u17be\u17bf\u0007G\u0002\u0002\u17bf\u17c0\u0007T\u0002\u0002\u17c0", + "\u03a2\u0003\u0002\u0002\u0002\u17c1\u17c2\u0007R\u0002\u0002\u17c2", + "\u17c3\u0007C\u0002\u0002\u17c3\u17c4\u0007T\u0002\u0002\u17c4\u17c5", + "\u0007V\u0002\u0002\u17c5\u17c6\u0007K\u0002\u0002\u17c6\u17c7\u0007", + "C\u0002\u0002\u17c7\u17c8\u0007N\u0002\u0002\u17c8\u03a4\u0003\u0002", + "\u0002\u0002\u17c9\u17ca\u0007R\u0002\u0002\u17ca\u17cb\u0007C\u0002", + "\u0002\u17cb\u17cc\u0007T\u0002\u0002\u17cc\u17cd\u0007V\u0002\u0002", + "\u17cd\u17ce\u0007K\u0002\u0002\u17ce\u17cf\u0007V\u0002\u0002\u17cf", + "\u17d0\u0007K\u0002\u0002\u17d0\u17d1\u0007Q\u0002\u0002\u17d1\u17d2", + "\u0007P\u0002\u0002\u17d2\u17d3\u0007K\u0002\u0002\u17d3\u17d4\u0007", + "P\u0002\u0002\u17d4\u17d5\u0007I\u0002\u0002\u17d5\u03a6\u0003\u0002", + "\u0002\u0002\u17d6\u17d7\u0007R\u0002\u0002\u17d7\u17d8\u0007C\u0002", + "\u0002\u17d8\u17d9\u0007T\u0002\u0002\u17d9\u17da\u0007V\u0002\u0002", + "\u17da\u17db\u0007K\u0002\u0002\u17db\u17dc\u0007V\u0002\u0002\u17dc", + "\u17dd\u0007K\u0002\u0002\u17dd\u17de\u0007Q\u0002\u0002\u17de\u17df", + "\u0007P\u0002\u0002\u17df\u17e0\u0007U\u0002\u0002\u17e0\u03a8\u0003", + "\u0002\u0002\u0002\u17e1\u17e2\u0007R\u0002\u0002\u17e2\u17e3\u0007", + "C\u0002\u0002\u17e3\u17e4\u0007U\u0002\u0002\u17e4\u17e5\u0007U\u0002", + "\u0002\u17e5\u17e6\u0007Y\u0002\u0002\u17e6\u17e7\u0007Q\u0002\u0002", + "\u17e7\u17e8\u0007T\u0002\u0002\u17e8\u17e9\u0007F\u0002\u0002\u17e9", + "\u03aa\u0003\u0002\u0002\u0002\u17ea\u17eb\u0007R\u0002\u0002\u17eb", + "\u17ec\u0007J\u0002\u0002\u17ec\u17ed\u0007C\u0002\u0002\u17ed\u17ee", + "\u0007U\u0002\u0002\u17ee\u17ef\u0007G\u0002\u0002\u17ef\u03ac\u0003", + "\u0002\u0002\u0002\u17f0\u17f1\u0007R\u0002\u0002\u17f1\u17f2\u0007", + "N\u0002\u0002\u17f2\u17f3\u0007W\u0002\u0002\u17f3\u17f4\u0007I\u0002", + "\u0002\u17f4\u17f5\u0007K\u0002\u0002\u17f5\u17f6\u0007P\u0002\u0002", + "\u17f6\u03ae\u0003\u0002\u0002\u0002\u17f7\u17f8\u0007R\u0002\u0002", + "\u17f8\u17f9\u0007N\u0002\u0002\u17f9\u17fa\u0007W\u0002\u0002\u17fa", + "\u17fb\u0007I\u0002\u0002\u17fb\u17fc\u0007K\u0002\u0002\u17fc\u17fd", + "\u0007P\u0002\u0002\u17fd\u17fe\u0007a\u0002\u0002\u17fe\u17ff\u0007", + "F\u0002\u0002\u17ff\u1800\u0007K\u0002\u0002\u1800\u1801\u0007T\u0002", + "\u0002\u1801\u03b0\u0003\u0002\u0002\u0002\u1802\u1803\u0007R\u0002", + "\u0002\u1803\u1804\u0007N\u0002\u0002\u1804\u1805\u0007W\u0002\u0002", + "\u1805\u1806\u0007I\u0002\u0002\u1806\u1807\u0007K\u0002\u0002\u1807", + "\u1808\u0007P\u0002\u0002\u1808\u1809\u0007U\u0002\u0002\u1809\u03b2", + "\u0003\u0002\u0002\u0002\u180a\u180b\u0007R\u0002\u0002\u180b\u180c", + "\u0007Q\u0002\u0002\u180c\u180d\u0007T\u0002\u0002\u180d\u180e\u0007", + "V\u0002\u0002\u180e\u03b4\u0003\u0002\u0002\u0002\u180f\u1810\u0007", + "R\u0002\u0002\u1810\u1811\u0007T\u0002\u0002\u1811\u1812\u0007G\u0002", + "\u0002\u1812\u1813\u0007E\u0002\u0002\u1813\u1814\u0007G\u0002\u0002", + "\u1814\u1815\u0007F\u0002\u0002\u1815\u1816\u0007G\u0002\u0002\u1816", + "\u1817\u0007U\u0002\u0002\u1817\u03b6\u0003\u0002\u0002\u0002\u1818", + "\u1819\u0007R\u0002\u0002\u1819\u181a\u0007T\u0002\u0002\u181a\u181b", + "\u0007G\u0002\u0002\u181b\u181c\u0007R\u0002\u0002\u181c\u181d\u0007", + "C\u0002\u0002\u181d\u181e\u0007T\u0002\u0002\u181e\u181f\u0007G\u0002", + "\u0002\u181f\u03b8\u0003\u0002\u0002\u0002\u1820\u1821\u0007R\u0002", + "\u0002\u1821\u1822\u0007T\u0002\u0002\u1822\u1823\u0007G\u0002\u0002", + "\u1823\u1824\u0007U\u0002\u0002\u1824\u1825\u0007G\u0002\u0002\u1825", + "\u1826\u0007T\u0002\u0002\u1826\u1827\u0007X\u0002\u0002\u1827\u1828", + "\u0007G\u0002\u0002\u1828\u03ba\u0003\u0002\u0002\u0002\u1829\u182a", + "\u0007R\u0002\u0002\u182a\u182b\u0007T\u0002\u0002\u182b\u182c\u0007", + "G\u0002\u0002\u182c\u182d\u0007X\u0002\u0002\u182d\u03bc\u0003\u0002", + "\u0002\u0002\u182e\u182f\u0007R\u0002\u0002\u182f\u1830\u0007T\u0002", + "\u0002\u1830\u1831\u0007Q\u0002\u0002\u1831\u1832\u0007E\u0002\u0002", + "\u1832\u1833\u0007G\u0002\u0002\u1833\u1834\u0007U\u0002\u0002\u1834", + "\u1835\u0007U\u0002\u0002\u1835\u1836\u0007N\u0002\u0002\u1836\u1837", + "\u0007K\u0002\u0002\u1837\u1838\u0007U\u0002\u0002\u1838\u1839\u0007", + "V\u0002\u0002\u1839\u03be\u0003\u0002\u0002\u0002\u183a\u183b\u0007", + "R\u0002\u0002\u183b\u183c\u0007T\u0002\u0002\u183c\u183d\u0007Q\u0002", + "\u0002\u183d\u183e\u0007H\u0002\u0002\u183e\u183f\u0007K\u0002\u0002", + "\u183f\u1840\u0007N\u0002\u0002\u1840\u1841\u0007G\u0002\u0002\u1841", + "\u03c0\u0003\u0002\u0002\u0002\u1842\u1843\u0007R\u0002\u0002\u1843", + "\u1844\u0007T\u0002\u0002\u1844\u1845\u0007Q\u0002\u0002\u1845\u1846", + "\u0007H\u0002\u0002\u1846\u1847\u0007K\u0002\u0002\u1847\u1848\u0007", + "N\u0002\u0002\u1848\u1849\u0007G\u0002\u0002\u1849\u184a\u0007U\u0002", + "\u0002\u184a\u03c2\u0003\u0002\u0002\u0002\u184b\u184c\u0007R\u0002", + "\u0002\u184c\u184d\u0007T\u0002\u0002\u184d\u184e\u0007Q\u0002\u0002", + "\u184e\u184f\u0007Z\u0002\u0002\u184f\u1850\u0007[\u0002\u0002\u1850", + "\u03c4\u0003\u0002\u0002\u0002\u1851\u1852\u0007S\u0002\u0002\u1852", + "\u1853\u0007W\u0002\u0002\u1853\u1854\u0007G\u0002\u0002\u1854\u1855", + "\u0007T\u0002\u0002\u1855\u1856\u0007[\u0002\u0002\u1856\u03c6\u0003", + "\u0002\u0002\u0002\u1857\u1858\u0007S\u0002\u0002\u1858\u1859\u0007", + "W\u0002\u0002\u1859\u185a\u0007K\u0002\u0002\u185a\u185b\u0007E\u0002", + "\u0002\u185b\u185c\u0007M\u0002\u0002\u185c\u03c8\u0003\u0002\u0002", + "\u0002\u185d\u185e\u0007T\u0002\u0002\u185e\u185f\u0007G\u0002\u0002", + "\u185f\u1860\u0007D\u0002\u0002\u1860\u1861\u0007W\u0002\u0002\u1861", + "\u1862\u0007K\u0002\u0002\u1862\u1863\u0007N\u0002\u0002\u1863\u1864", + "\u0007F\u0002\u0002\u1864\u03ca\u0003\u0002\u0002\u0002\u1865\u1866", + "\u0007T\u0002\u0002\u1866\u1867\u0007G\u0002\u0002\u1867\u1868\u0007", + "E\u0002\u0002\u1868\u1869\u0007Q\u0002\u0002\u1869\u186a\u0007X\u0002", + "\u0002\u186a\u186b\u0007G\u0002\u0002\u186b\u186c\u0007T\u0002\u0002", + "\u186c\u03cc\u0003\u0002\u0002\u0002\u186d\u186e\u0007T\u0002\u0002", + "\u186e\u186f\u0007G\u0002\u0002\u186f\u1870\u0007F\u0002\u0002\u1870", + "\u1871\u0007Q\u0002\u0002\u1871\u1872\u0007a\u0002\u0002\u1872\u1873", + "\u0007D\u0002\u0002\u1873\u1874\u0007W\u0002\u0002\u1874\u1875\u0007", + "H\u0002\u0002\u1875\u1876\u0007H\u0002\u0002\u1876\u1877\u0007G\u0002", + "\u0002\u1877\u1878\u0007T\u0002\u0002\u1878\u1879\u0007a\u0002\u0002", + "\u1879\u187a\u0007U\u0002\u0002\u187a\u187b\u0007K\u0002\u0002\u187b", + "\u187c\u0007\\\u0002\u0002\u187c\u187d\u0007G\u0002\u0002\u187d\u03ce", + "\u0003\u0002\u0002\u0002\u187e\u187f\u0007T\u0002\u0002\u187f\u1880", + "\u0007G\u0002\u0002\u1880\u1881\u0007F\u0002\u0002\u1881\u1882\u0007", + "W\u0002\u0002\u1882\u1883\u0007P\u0002\u0002\u1883\u1884\u0007F\u0002", + "\u0002\u1884\u1885\u0007C\u0002\u0002\u1885\u1886\u0007P\u0002\u0002", + "\u1886\u1887\u0007V\u0002\u0002\u1887\u03d0\u0003\u0002\u0002\u0002", + "\u1888\u1889\u0007T\u0002\u0002\u1889\u188a\u0007G\u0002\u0002\u188a", + "\u188b\u0007N\u0002\u0002\u188b\u188c\u0007C\u0002\u0002\u188c\u188d", + "\u0007[\u0002\u0002\u188d\u03d2\u0003\u0002\u0002\u0002\u188e\u188f", + "\u0007T\u0002\u0002\u188f\u1890\u0007G\u0002\u0002\u1890\u1891\u0007", + "N\u0002\u0002\u1891\u1892\u0007C\u0002\u0002\u1892\u1893\u0007[\u0002", + "\u0002\u1893\u1894\u0007a\u0002\u0002\u1894\u1895\u0007N\u0002\u0002", + "\u1895\u1896\u0007Q\u0002\u0002\u1896\u1897\u0007I\u0002\u0002\u1897", + "\u1898\u0007a\u0002\u0002\u1898\u1899\u0007H\u0002\u0002\u1899\u189a", + "\u0007K\u0002\u0002\u189a\u189b\u0007N\u0002\u0002\u189b\u189c\u0007", + "G\u0002\u0002\u189c\u03d4\u0003\u0002\u0002\u0002\u189d\u189e\u0007", + "T\u0002\u0002\u189e\u189f\u0007G\u0002\u0002\u189f\u18a0\u0007N\u0002", + "\u0002\u18a0\u18a1\u0007C\u0002\u0002\u18a1\u18a2\u0007[\u0002\u0002", + "\u18a2\u18a3\u0007a\u0002\u0002\u18a3\u18a4\u0007N\u0002\u0002\u18a4", + "\u18a5\u0007Q\u0002\u0002\u18a5\u18a6\u0007I\u0002\u0002\u18a6\u18a7", + "\u0007a\u0002\u0002\u18a7\u18a8\u0007R\u0002\u0002\u18a8\u18a9\u0007", + "Q\u0002\u0002\u18a9\u18aa\u0007U\u0002\u0002\u18aa\u03d6\u0003\u0002", + "\u0002\u0002\u18ab\u18ac\u0007T\u0002\u0002\u18ac\u18ad\u0007G\u0002", + "\u0002\u18ad\u18ae\u0007N\u0002\u0002\u18ae\u18af\u0007C\u0002\u0002", + "\u18af\u18b0\u0007[\u0002\u0002\u18b0\u18b1\u0007N\u0002\u0002\u18b1", + "\u18b2\u0007Q\u0002\u0002\u18b2\u18b3\u0007I\u0002\u0002\u18b3\u03d8", + "\u0003\u0002\u0002\u0002\u18b4\u18b5\u0007T\u0002\u0002\u18b5\u18b6", + "\u0007G\u0002\u0002\u18b6\u18b7\u0007O\u0002\u0002\u18b7\u18b8\u0007", + "Q\u0002\u0002\u18b8\u18b9\u0007X\u0002\u0002\u18b9\u18ba\u0007G\u0002", + "\u0002\u18ba\u03da\u0003\u0002\u0002\u0002\u18bb\u18bc\u0007T\u0002", + "\u0002\u18bc\u18bd\u0007G\u0002\u0002\u18bd\u18be\u0007Q\u0002\u0002", + "\u18be\u18bf\u0007T\u0002\u0002\u18bf\u18c0\u0007I\u0002\u0002\u18c0", + "\u18c1\u0007C\u0002\u0002\u18c1\u18c2\u0007P\u0002\u0002\u18c2\u18c3", + "\u0007K\u0002\u0002\u18c3\u18c4\u0007\\\u0002\u0002\u18c4\u18c5\u0007", + "G\u0002\u0002\u18c5\u03dc\u0003\u0002\u0002\u0002\u18c6\u18c7\u0007", + "T\u0002\u0002\u18c7\u18c8\u0007G\u0002\u0002\u18c8\u18c9\u0007R\u0002", + "\u0002\u18c9\u18ca\u0007C\u0002\u0002\u18ca\u18cb\u0007K\u0002\u0002", + "\u18cb\u18cc\u0007T\u0002\u0002\u18cc\u03de\u0003\u0002\u0002\u0002", + "\u18cd\u18ce\u0007T\u0002\u0002\u18ce\u18cf\u0007G\u0002\u0002\u18cf", + "\u18d0\u0007R\u0002\u0002\u18d0\u18d1\u0007N\u0002\u0002\u18d1\u18d2", + "\u0007K\u0002\u0002\u18d2\u18d3\u0007E\u0002\u0002\u18d3\u18d4\u0007", + "C\u0002\u0002\u18d4\u18d5\u0007V\u0002\u0002\u18d5\u18d6\u0007G\u0002", + "\u0002\u18d6\u18d7\u0007a\u0002\u0002\u18d7\u18d8\u0007F\u0002\u0002", + "\u18d8\u18d9\u0007Q\u0002\u0002\u18d9\u18da\u0007a\u0002\u0002\u18da", + "\u18db\u0007F\u0002\u0002\u18db\u18dc\u0007D\u0002\u0002\u18dc\u03e0", + "\u0003\u0002\u0002\u0002\u18dd\u18de\u0007T\u0002\u0002\u18de\u18df", + "\u0007G\u0002\u0002\u18df\u18e0\u0007R\u0002\u0002\u18e0\u18e1\u0007", + "N\u0002\u0002\u18e1\u18e2\u0007K\u0002\u0002\u18e2\u18e3\u0007E\u0002", + "\u0002\u18e3\u18e4\u0007C\u0002\u0002\u18e4\u18e5\u0007V\u0002\u0002", + "\u18e5\u18e6\u0007G\u0002\u0002\u18e6\u18e7\u0007a\u0002\u0002\u18e7", + "\u18e8\u0007F\u0002\u0002\u18e8\u18e9\u0007Q\u0002\u0002\u18e9\u18ea", + "\u0007a\u0002\u0002\u18ea\u18eb\u0007V\u0002\u0002\u18eb\u18ec\u0007", + "C\u0002\u0002\u18ec\u18ed\u0007D\u0002\u0002\u18ed\u18ee\u0007N\u0002", + "\u0002\u18ee\u18ef\u0007G\u0002\u0002\u18ef\u03e2\u0003\u0002\u0002", + "\u0002\u18f0\u18f1\u0007T\u0002\u0002\u18f1\u18f2\u0007G\u0002\u0002", + "\u18f2\u18f3\u0007R\u0002\u0002\u18f3\u18f4\u0007N\u0002\u0002\u18f4", + "\u18f5\u0007K\u0002\u0002\u18f5\u18f6\u0007E\u0002\u0002\u18f6\u18f7", + "\u0007C\u0002\u0002\u18f7\u18f8\u0007V\u0002\u0002\u18f8\u18f9\u0007", + "G\u0002\u0002\u18f9\u18fa\u0007a\u0002\u0002\u18fa\u18fb\u0007K\u0002", + "\u0002\u18fb\u18fc\u0007I\u0002\u0002\u18fc\u18fd\u0007P\u0002\u0002", + "\u18fd\u18fe\u0007Q\u0002\u0002\u18fe\u18ff\u0007T\u0002\u0002\u18ff", + "\u1900\u0007G\u0002\u0002\u1900\u1901\u0007a\u0002\u0002\u1901\u1902", + "\u0007F\u0002\u0002\u1902\u1903\u0007D\u0002\u0002\u1903\u03e4\u0003", + "\u0002\u0002\u0002\u1904\u1905\u0007T\u0002\u0002\u1905\u1906\u0007", + "G\u0002\u0002\u1906\u1907\u0007R\u0002\u0002\u1907\u1908\u0007N\u0002", + "\u0002\u1908\u1909\u0007K\u0002\u0002\u1909\u190a\u0007E\u0002\u0002", + "\u190a\u190b\u0007C\u0002\u0002\u190b\u190c\u0007V\u0002\u0002\u190c", + "\u190d\u0007G\u0002\u0002\u190d\u190e\u0007a\u0002\u0002\u190e\u190f", + "\u0007K\u0002\u0002\u190f\u1910\u0007I\u0002\u0002\u1910\u1911\u0007", + "P\u0002\u0002\u1911\u1912\u0007Q\u0002\u0002\u1912\u1913\u0007T\u0002", + "\u0002\u1913\u1914\u0007G\u0002\u0002\u1914\u1915\u0007a\u0002\u0002", + "\u1915\u1916\u0007V\u0002\u0002\u1916\u1917\u0007C\u0002\u0002\u1917", + "\u1918\u0007D\u0002\u0002\u1918\u1919\u0007N\u0002\u0002\u1919\u191a", + "\u0007G\u0002\u0002\u191a\u03e6\u0003\u0002\u0002\u0002\u191b\u191c", + "\u0007T\u0002\u0002\u191c\u191d\u0007G\u0002\u0002\u191d\u191e\u0007", + "R\u0002\u0002\u191e\u191f\u0007N\u0002\u0002\u191f\u1920\u0007K\u0002", + "\u0002\u1920\u1921\u0007E\u0002\u0002\u1921\u1922\u0007C\u0002\u0002", + "\u1922\u1923\u0007V\u0002\u0002\u1923\u1924\u0007G\u0002\u0002\u1924", + "\u1925\u0007a\u0002\u0002\u1925\u1926\u0007T\u0002\u0002\u1926\u1927", + "\u0007G\u0002\u0002\u1927\u1928\u0007Y\u0002\u0002\u1928\u1929\u0007", + "T\u0002\u0002\u1929\u192a\u0007K\u0002\u0002\u192a\u192b\u0007V\u0002", + "\u0002\u192b\u192c\u0007G\u0002\u0002\u192c\u192d\u0007a\u0002\u0002", + "\u192d\u192e\u0007F\u0002\u0002\u192e\u192f\u0007D\u0002\u0002\u192f", + "\u03e8\u0003\u0002\u0002\u0002\u1930\u1931\u0007T\u0002\u0002\u1931", + "\u1932\u0007G\u0002\u0002\u1932\u1933\u0007R\u0002\u0002\u1933\u1934", + "\u0007N\u0002\u0002\u1934\u1935\u0007K\u0002\u0002\u1935\u1936\u0007", + "E\u0002\u0002\u1936\u1937\u0007C\u0002\u0002\u1937\u1938\u0007V\u0002", + "\u0002\u1938\u1939\u0007G\u0002\u0002\u1939\u193a\u0007a\u0002\u0002", + "\u193a\u193b\u0007Y\u0002\u0002\u193b\u193c\u0007K\u0002\u0002\u193c", + "\u193d\u0007N\u0002\u0002\u193d\u193e\u0007F\u0002\u0002\u193e\u193f", + "\u0007a\u0002\u0002\u193f\u1940\u0007F\u0002\u0002\u1940\u1941\u0007", + "Q\u0002\u0002\u1941\u1942\u0007a\u0002\u0002\u1942\u1943\u0007V\u0002", + "\u0002\u1943\u1944\u0007C\u0002\u0002\u1944\u1945\u0007D\u0002\u0002", + "\u1945\u1946\u0007N\u0002\u0002\u1946\u1947\u0007G\u0002\u0002\u1947", + "\u03ea\u0003\u0002\u0002\u0002\u1948\u1949\u0007T\u0002\u0002\u1949", + "\u194a\u0007G\u0002\u0002\u194a\u194b\u0007R\u0002\u0002\u194b\u194c", + "\u0007N\u0002\u0002\u194c\u194d\u0007K\u0002\u0002\u194d\u194e\u0007", + "E\u0002\u0002\u194e\u194f\u0007C\u0002\u0002\u194f\u1950\u0007V\u0002", + "\u0002\u1950\u1951\u0007G\u0002\u0002\u1951\u1952\u0007a\u0002\u0002", + "\u1952\u1953\u0007Y\u0002\u0002\u1953\u1954\u0007K\u0002\u0002\u1954", + "\u1955\u0007N\u0002\u0002\u1955\u1956\u0007F\u0002\u0002\u1956\u1957", + "\u0007a\u0002\u0002\u1957\u1958\u0007K\u0002\u0002\u1958\u1959\u0007", + "I\u0002\u0002\u1959\u195a\u0007P\u0002\u0002\u195a\u195b\u0007Q\u0002", + "\u0002\u195b\u195c\u0007T\u0002\u0002\u195c\u195d\u0007G\u0002\u0002", + "\u195d\u195e\u0007a\u0002\u0002\u195e\u195f\u0007V\u0002\u0002\u195f", + "\u1960\u0007C\u0002\u0002\u1960\u1961\u0007D\u0002\u0002\u1961\u1962", + "\u0007N\u0002\u0002\u1962\u1963\u0007G\u0002\u0002\u1963\u03ec\u0003", + "\u0002\u0002\u0002\u1964\u1965\u0007T\u0002\u0002\u1965\u1966\u0007", + "G\u0002\u0002\u1966\u1967\u0007R\u0002\u0002\u1967\u1968\u0007N\u0002", + "\u0002\u1968\u1969\u0007K\u0002\u0002\u1969\u196a\u0007E\u0002\u0002", + "\u196a\u196b\u0007C\u0002\u0002\u196b\u196c\u0007V\u0002\u0002\u196c", + "\u196d\u0007K\u0002\u0002\u196d\u196e\u0007Q\u0002\u0002\u196e\u196f", + "\u0007P\u0002\u0002\u196f\u03ee\u0003\u0002\u0002\u0002\u1970\u1971", + "\u0007T\u0002\u0002\u1971\u1972\u0007G\u0002\u0002\u1972\u1973\u0007", + "U\u0002\u0002\u1973\u1974\u0007G\u0002\u0002\u1974\u1975\u0007V\u0002", + "\u0002\u1975\u03f0\u0003\u0002\u0002\u0002\u1976\u1977\u0007T\u0002", + "\u0002\u1977\u1978\u0007G\u0002\u0002\u1978\u1979\u0007U\u0002\u0002", + "\u1979\u197a\u0007W\u0002\u0002\u197a\u197b\u0007O\u0002\u0002\u197b", + "\u197c\u0007G\u0002\u0002\u197c\u03f2\u0003\u0002\u0002\u0002\u197d", + "\u197e\u0007T\u0002\u0002\u197e\u197f\u0007G\u0002\u0002\u197f\u1980", + "\u0007V\u0002\u0002\u1980\u1981\u0007W\u0002\u0002\u1981\u1982\u0007", + "T\u0002\u0002\u1982\u1983\u0007P\u0002\u0002\u1983\u1984\u0007G\u0002", + "\u0002\u1984\u1985\u0007F\u0002\u0002\u1985\u1986\u0007a\u0002\u0002", + "\u1986\u1987\u0007U\u0002\u0002\u1987\u1988\u0007S\u0002\u0002\u1988", + "\u1989\u0007N\u0002\u0002\u1989\u198a\u0007U\u0002\u0002\u198a\u198b", + "\u0007V\u0002\u0002\u198b\u198c\u0007C\u0002\u0002\u198c\u198d\u0007", + "V\u0002\u0002\u198d\u198e\u0007G\u0002\u0002\u198e\u03f4\u0003\u0002", + "\u0002\u0002\u198f\u1990\u0007T\u0002\u0002\u1990\u1991\u0007G\u0002", + "\u0002\u1991\u1992\u0007V\u0002\u0002\u1992\u1993\u0007W\u0002\u0002", + "\u1993\u1994\u0007T\u0002\u0002\u1994\u1995\u0007P\u0002\u0002\u1995", + "\u1996\u0007U\u0002\u0002\u1996\u03f6\u0003\u0002\u0002\u0002\u1997", + "\u1998\u0007T\u0002\u0002\u1998\u1999\u0007Q\u0002\u0002\u1999\u199a", + "\u0007N\u0002\u0002\u199a\u199b\u0007G\u0002\u0002\u199b\u03f8\u0003", + "\u0002\u0002\u0002\u199c\u199d\u0007T\u0002\u0002\u199d\u199e\u0007", + "Q\u0002\u0002\u199e\u199f\u0007N\u0002\u0002\u199f\u19a0\u0007N\u0002", + "\u0002\u19a0\u19a1\u0007D\u0002\u0002\u19a1\u19a2\u0007C\u0002\u0002", + "\u19a2\u19a3\u0007E\u0002\u0002\u19a3\u19a4\u0007M\u0002\u0002\u19a4", + "\u03fa\u0003\u0002\u0002\u0002\u19a5\u19a6\u0007T\u0002\u0002\u19a6", + "\u19a7\u0007Q\u0002\u0002\u19a7\u19a8\u0007N\u0002\u0002\u19a8\u19a9", + "\u0007N\u0002\u0002\u19a9\u19aa\u0007W\u0002\u0002\u19aa\u19ab\u0007", + "R\u0002\u0002\u19ab\u03fc\u0003\u0002\u0002\u0002\u19ac\u19ad\u0007", + "T\u0002\u0002\u19ad\u19ae\u0007Q\u0002\u0002\u19ae\u19af\u0007V\u0002", + "\u0002\u19af\u19b0\u0007C\u0002\u0002\u19b0\u19b1\u0007V\u0002\u0002", + "\u19b1\u19b2\u0007G\u0002\u0002\u19b2\u03fe\u0003\u0002\u0002\u0002", + "\u19b3\u19b4\u0007T\u0002\u0002\u19b4\u19b5\u0007Q\u0002\u0002\u19b5", + "\u19b6\u0007Y\u0002\u0002\u19b6\u0400\u0003\u0002\u0002\u0002\u19b7", + "\u19b8\u0007T\u0002\u0002\u19b8\u19b9\u0007Q\u0002\u0002\u19b9\u19ba", + "\u0007Y\u0002\u0002\u19ba\u19bb\u0007U\u0002\u0002\u19bb\u0402\u0003", + "\u0002\u0002\u0002\u19bc\u19bd\u0007T\u0002\u0002\u19bd\u19be\u0007", + "Q\u0002\u0002\u19be\u19bf\u0007Y\u0002\u0002\u19bf\u19c0\u0007a\u0002", + "\u0002\u19c0\u19c1\u0007H\u0002\u0002\u19c1\u19c2\u0007Q\u0002\u0002", + "\u19c2\u19c3\u0007T\u0002\u0002\u19c3\u19c4\u0007O\u0002\u0002\u19c4", + "\u19c5\u0007C\u0002\u0002\u19c5\u19c6\u0007V\u0002\u0002\u19c6\u0404", + "\u0003\u0002\u0002\u0002\u19c7\u19c8\u0007U\u0002\u0002\u19c8\u19c9", + "\u0007C\u0002\u0002\u19c9\u19ca\u0007X\u0002\u0002\u19ca\u19cb\u0007", + "G\u0002\u0002\u19cb\u19cc\u0007R\u0002\u0002\u19cc\u19cd\u0007Q\u0002", + "\u0002\u19cd\u19ce\u0007K\u0002\u0002\u19ce\u19cf\u0007P\u0002\u0002", + "\u19cf\u19d0\u0007V\u0002\u0002\u19d0\u0406\u0003\u0002\u0002\u0002", + "\u19d1\u19d2\u0007U\u0002\u0002\u19d2\u19d3\u0007E\u0002\u0002\u19d3", + "\u19d4\u0007J\u0002\u0002\u19d4\u19d5\u0007G\u0002\u0002\u19d5\u19d6", + "\u0007F\u0002\u0002\u19d6\u19d7\u0007W\u0002\u0002\u19d7\u19d8\u0007", + "N\u0002\u0002\u19d8\u19d9\u0007G\u0002\u0002\u19d9\u0408\u0003\u0002", + "\u0002\u0002\u19da\u19db\u0007U\u0002\u0002\u19db\u19dc\u0007G\u0002", + "\u0002\u19dc\u19dd\u0007E\u0002\u0002\u19dd\u19de\u0007W\u0002\u0002", + "\u19de\u19df\u0007T\u0002\u0002\u19df\u19e0\u0007K\u0002\u0002\u19e0", + "\u19e1\u0007V\u0002\u0002\u19e1\u19e2\u0007[\u0002\u0002\u19e2\u040a", + "\u0003\u0002\u0002\u0002\u19e3\u19e4\u0007U\u0002\u0002\u19e4\u19e5", + "\u0007G\u0002\u0002\u19e5\u19e6\u0007T\u0002\u0002\u19e6\u19e7\u0007", + "X\u0002\u0002\u19e7\u19e8\u0007G\u0002\u0002\u19e8\u19e9\u0007T\u0002", + "\u0002\u19e9\u040c\u0003\u0002\u0002\u0002\u19ea\u19eb\u0007U\u0002", + "\u0002\u19eb\u19ec\u0007G\u0002\u0002\u19ec\u19ed\u0007U\u0002\u0002", + "\u19ed\u19ee\u0007U\u0002\u0002\u19ee\u19ef\u0007K\u0002\u0002\u19ef", + "\u19f0\u0007Q\u0002\u0002\u19f0\u19f1\u0007P\u0002\u0002\u19f1\u040e", + "\u0003\u0002\u0002\u0002\u19f2\u19f3\u0007U\u0002\u0002\u19f3\u19f4", + "\u0007J\u0002\u0002\u19f4\u19f5\u0007C\u0002\u0002\u19f5\u19f6\u0007", + "T\u0002\u0002\u19f6\u19f7\u0007G\u0002\u0002\u19f7\u0410\u0003\u0002", + "\u0002\u0002\u19f8\u19f9\u0007U\u0002\u0002\u19f9\u19fa\u0007J\u0002", + "\u0002\u19fa\u19fb\u0007C\u0002\u0002\u19fb\u19fc\u0007T\u0002\u0002", + "\u19fc\u19fd\u0007G\u0002\u0002\u19fd\u19fe\u0007F\u0002\u0002\u19fe", + "\u0412\u0003\u0002\u0002\u0002\u19ff\u1a00\u0007U\u0002\u0002\u1a00", + "\u1a01\u0007K\u0002\u0002\u1a01\u1a02\u0007I\u0002\u0002\u1a02\u1a03", + "\u0007P\u0002\u0002\u1a03\u1a04\u0007G\u0002\u0002\u1a04\u1a05\u0007", + "F\u0002\u0002\u1a05\u0414\u0003\u0002\u0002\u0002\u1a06\u1a07\u0007", + "U\u0002\u0002\u1a07\u1a08\u0007K\u0002\u0002\u1a08\u1a09\u0007O\u0002", + "\u0002\u1a09\u1a0a\u0007R\u0002\u0002\u1a0a\u1a0b\u0007N\u0002\u0002", + "\u1a0b\u1a0c\u0007G\u0002\u0002\u1a0c\u0416\u0003\u0002\u0002\u0002", + "\u1a0d\u1a0e\u0007U\u0002\u0002\u1a0e\u1a0f\u0007N\u0002\u0002\u1a0f", + "\u1a10\u0007C\u0002\u0002\u1a10\u1a11\u0007X\u0002\u0002\u1a11\u1a12", + "\u0007G\u0002\u0002\u1a12\u0418\u0003\u0002\u0002\u0002\u1a13\u1a14", + "\u0007U\u0002\u0002\u1a14\u1a15\u0007N\u0002\u0002\u1a15\u1a16\u0007", + "Q\u0002\u0002\u1a16\u1a17\u0007Y\u0002\u0002\u1a17\u041a\u0003\u0002", + "\u0002\u0002\u1a18\u1a19\u0007U\u0002\u0002\u1a19\u1a1a\u0007P\u0002", + "\u0002\u1a1a\u1a1b\u0007C\u0002\u0002\u1a1b\u1a1c\u0007R\u0002\u0002", + "\u1a1c\u1a1d\u0007U\u0002\u0002\u1a1d\u1a1e\u0007J\u0002\u0002\u1a1e", + "\u1a1f\u0007Q\u0002\u0002\u1a1f\u1a20\u0007V\u0002\u0002\u1a20\u041c", + "\u0003\u0002\u0002\u0002\u1a21\u1a22\u0007U\u0002\u0002\u1a22\u1a23", + "\u0007Q\u0002\u0002\u1a23\u1a24\u0007E\u0002\u0002\u1a24\u1a25\u0007", + "M\u0002\u0002\u1a25\u1a26\u0007G\u0002\u0002\u1a26\u1a27\u0007V\u0002", + "\u0002\u1a27\u041e\u0003\u0002\u0002\u0002\u1a28\u1a29\u0007U\u0002", + "\u0002\u1a29\u1a2a\u0007Q\u0002\u0002\u1a2a\u1a2b\u0007O\u0002\u0002", + "\u1a2b\u1a2c\u0007G\u0002\u0002\u1a2c\u0420\u0003\u0002\u0002\u0002", + "\u1a2d\u1a2e\u0007U\u0002\u0002\u1a2e\u1a2f\u0007Q\u0002\u0002\u1a2f", + "\u1a30\u0007P\u0002\u0002\u1a30\u1a31\u0007C\u0002\u0002\u1a31\u1a32", + "\u0007O\u0002\u0002\u1a32\u1a33\u0007G\u0002\u0002\u1a33\u0422\u0003", + "\u0002\u0002\u0002\u1a34\u1a35\u0007U\u0002\u0002\u1a35\u1a36\u0007", + "Q\u0002\u0002\u1a36\u1a37\u0007W\u0002\u0002\u1a37\u1a38\u0007P\u0002", + "\u0002\u1a38\u1a39\u0007F\u0002\u0002\u1a39\u1a3a\u0007U\u0002\u0002", + "\u1a3a\u0424\u0003\u0002\u0002\u0002\u1a3b\u1a3c\u0007U\u0002\u0002", + "\u1a3c\u1a3d\u0007Q\u0002\u0002\u1a3d\u1a3e\u0007W\u0002\u0002\u1a3e", + "\u1a3f\u0007T\u0002\u0002\u1a3f\u1a40\u0007E\u0002\u0002\u1a40\u1a41", + "\u0007G\u0002\u0002\u1a41\u0426\u0003\u0002\u0002\u0002\u1a42\u1a43", + "\u0007U\u0002\u0002\u1a43\u1a44\u0007S\u0002\u0002\u1a44\u1a45\u0007", + "N\u0002\u0002\u1a45\u1a46\u0007a\u0002\u0002\u1a46\u1a47\u0007C\u0002", + "\u0002\u1a47\u1a48\u0007H\u0002\u0002\u1a48\u1a49\u0007V\u0002\u0002", + "\u1a49\u1a4a\u0007G\u0002\u0002\u1a4a\u1a4b\u0007T\u0002\u0002\u1a4b", + "\u1a4c\u0007a\u0002\u0002\u1a4c\u1a4d\u0007I\u0002\u0002\u1a4d\u1a4e", + "\u0007V\u0002\u0002\u1a4e\u1a4f\u0007K\u0002\u0002\u1a4f\u1a50\u0007", + "F\u0002\u0002\u1a50\u1a51\u0007U\u0002\u0002\u1a51\u0428\u0003\u0002", + "\u0002\u0002\u1a52\u1a53\u0007U\u0002\u0002\u1a53\u1a54\u0007S\u0002", + "\u0002\u1a54\u1a55\u0007N\u0002\u0002\u1a55\u1a56\u0007a\u0002\u0002", + "\u1a56\u1a57\u0007C\u0002\u0002\u1a57\u1a58\u0007H\u0002\u0002\u1a58", + "\u1a59\u0007V\u0002\u0002\u1a59\u1a5a\u0007G\u0002\u0002\u1a5a\u1a5b", + "\u0007T\u0002\u0002\u1a5b\u1a5c\u0007a\u0002\u0002\u1a5c\u1a5d\u0007", + "O\u0002\u0002\u1a5d\u1a5e\u0007V\u0002\u0002\u1a5e\u1a5f\u0007U\u0002", + "\u0002\u1a5f\u1a60\u0007a\u0002\u0002\u1a60\u1a61\u0007I\u0002\u0002", + "\u1a61\u1a62\u0007C\u0002\u0002\u1a62\u1a63\u0007R\u0002\u0002\u1a63", + "\u1a64\u0007U\u0002\u0002\u1a64\u042a\u0003\u0002\u0002\u0002\u1a65", + "\u1a66\u0007U\u0002\u0002\u1a66\u1a67\u0007S\u0002\u0002\u1a67\u1a68", + "\u0007N\u0002\u0002\u1a68\u1a69\u0007a\u0002\u0002\u1a69\u1a6a\u0007", + "D\u0002\u0002\u1a6a\u1a6b\u0007G\u0002\u0002\u1a6b\u1a6c\u0007H\u0002", + "\u0002\u1a6c\u1a6d\u0007Q\u0002\u0002\u1a6d\u1a6e\u0007T\u0002\u0002", + "\u1a6e\u1a6f\u0007G\u0002\u0002\u1a6f\u1a70\u0007a\u0002\u0002\u1a70", + "\u1a71\u0007I\u0002\u0002\u1a71\u1a72\u0007V\u0002\u0002\u1a72\u1a73", + "\u0007K\u0002\u0002\u1a73\u1a74\u0007F\u0002\u0002\u1a74\u1a75\u0007", + "U\u0002\u0002\u1a75\u042c\u0003\u0002\u0002\u0002\u1a76\u1a77\u0007", + "U\u0002\u0002\u1a77\u1a78\u0007S\u0002\u0002\u1a78\u1a79\u0007N\u0002", + "\u0002\u1a79\u1a7a\u0007a\u0002\u0002\u1a7a\u1a7b\u0007D\u0002\u0002", + "\u1a7b\u1a7c\u0007W\u0002\u0002\u1a7c\u1a7d\u0007H\u0002\u0002\u1a7d", + "\u1a7e\u0007H\u0002\u0002\u1a7e\u1a7f\u0007G\u0002\u0002\u1a7f\u1a80", + "\u0007T\u0002\u0002\u1a80\u1a81\u0007a\u0002\u0002\u1a81\u1a82\u0007", + "T\u0002\u0002\u1a82\u1a83\u0007G\u0002\u0002\u1a83\u1a84\u0007U\u0002", + "\u0002\u1a84\u1a85\u0007W\u0002\u0002\u1a85\u1a86\u0007N\u0002\u0002", + "\u1a86\u1a87\u0007V\u0002\u0002\u1a87\u042e\u0003\u0002\u0002\u0002", + "\u1a88\u1a89\u0007U\u0002\u0002\u1a89\u1a8a\u0007S\u0002\u0002\u1a8a", + "\u1a8b\u0007N\u0002\u0002\u1a8b\u1a8c\u0007a\u0002\u0002\u1a8c\u1a8d", + "\u0007E\u0002\u0002\u1a8d\u1a8e\u0007C\u0002\u0002\u1a8e\u1a8f\u0007", + "E\u0002\u0002\u1a8f\u1a90\u0007J\u0002\u0002\u1a90\u1a91\u0007G\u0002", + "\u0002\u1a91\u0430\u0003\u0002\u0002\u0002\u1a92\u1a93\u0007U\u0002", + "\u0002\u1a93\u1a94\u0007S\u0002\u0002\u1a94\u1a95\u0007N\u0002\u0002", + "\u1a95\u1a96\u0007a\u0002\u0002\u1a96\u1a97\u0007P\u0002\u0002\u1a97", + "\u1a98\u0007Q\u0002\u0002\u1a98\u1a99\u0007a\u0002\u0002\u1a99\u1a9a", + "\u0007E\u0002\u0002\u1a9a\u1a9b\u0007C\u0002\u0002\u1a9b\u1a9c\u0007", + "E\u0002\u0002\u1a9c\u1a9d\u0007J\u0002\u0002\u1a9d\u1a9e\u0007G\u0002", + "\u0002\u1a9e\u0432\u0003\u0002\u0002\u0002\u1a9f\u1aa0\u0007U\u0002", + "\u0002\u1aa0\u1aa1\u0007S\u0002\u0002\u1aa1\u1aa2\u0007N\u0002\u0002", + "\u1aa2\u1aa3\u0007a\u0002\u0002\u1aa3\u1aa4\u0007V\u0002\u0002\u1aa4", + "\u1aa5\u0007J\u0002\u0002\u1aa5\u1aa6\u0007T\u0002\u0002\u1aa6\u1aa7", + "\u0007G\u0002\u0002\u1aa7\u1aa8\u0007C\u0002\u0002\u1aa8\u1aa9\u0007", + "F\u0002\u0002\u1aa9\u0434\u0003\u0002\u0002\u0002\u1aaa\u1aab\u0007", + "U\u0002\u0002\u1aab\u1aac\u0007V\u0002\u0002\u1aac\u1aad\u0007C\u0002", + "\u0002\u1aad\u1aae\u0007T\u0002\u0002\u1aae\u1aaf\u0007V\u0002\u0002", + "\u1aaf\u0436\u0003\u0002\u0002\u0002\u1ab0\u1ab1\u0007U\u0002\u0002", + "\u1ab1\u1ab2\u0007V\u0002\u0002\u1ab2\u1ab3\u0007C\u0002\u0002\u1ab3", + "\u1ab4\u0007T\u0002\u0002\u1ab4\u1ab5\u0007V\u0002\u0002\u1ab5\u1ab6", + "\u0007U\u0002\u0002\u1ab6\u0438\u0003\u0002\u0002\u0002\u1ab7\u1ab8", + "\u0007U\u0002\u0002\u1ab8\u1ab9\u0007V\u0002\u0002\u1ab9\u1aba\u0007", + "C\u0002\u0002\u1aba\u1abb\u0007V\u0002\u0002\u1abb\u1abc\u0007U\u0002", + "\u0002\u1abc\u1abd\u0007a\u0002\u0002\u1abd\u1abe\u0007C\u0002\u0002", + "\u1abe\u1abf\u0007W\u0002\u0002\u1abf\u1ac0\u0007V\u0002\u0002\u1ac0", + "\u1ac1\u0007Q\u0002\u0002\u1ac1\u1ac2\u0007a\u0002\u0002\u1ac2\u1ac3", + "\u0007T\u0002\u0002\u1ac3\u1ac4\u0007G\u0002\u0002\u1ac4\u1ac5\u0007", + "E\u0002\u0002\u1ac5\u1ac6\u0007C\u0002\u0002\u1ac6\u1ac7\u0007N\u0002", + "\u0002\u1ac7\u1ac8\u0007E\u0002\u0002\u1ac8\u043a\u0003\u0002\u0002", + "\u0002\u1ac9\u1aca\u0007U\u0002\u0002\u1aca\u1acb\u0007V\u0002\u0002", + "\u1acb\u1acc\u0007C\u0002\u0002\u1acc\u1acd\u0007V\u0002\u0002\u1acd", + "\u1ace\u0007U\u0002\u0002\u1ace\u1acf\u0007a\u0002\u0002\u1acf\u1ad0", + "\u0007R\u0002\u0002\u1ad0\u1ad1\u0007G\u0002\u0002\u1ad1\u1ad2\u0007", + "T\u0002\u0002\u1ad2\u1ad3\u0007U\u0002\u0002\u1ad3\u1ad4\u0007K\u0002", + "\u0002\u1ad4\u1ad5\u0007U\u0002\u0002\u1ad5\u1ad6\u0007V\u0002\u0002", + "\u1ad6\u1ad7\u0007G\u0002\u0002\u1ad7\u1ad8\u0007P\u0002\u0002\u1ad8", + "\u1ad9\u0007V\u0002\u0002\u1ad9\u043c\u0003\u0002\u0002\u0002\u1ada", + "\u1adb\u0007U\u0002\u0002\u1adb\u1adc\u0007V\u0002\u0002\u1adc\u1add", + "\u0007C\u0002\u0002\u1add\u1ade\u0007V\u0002\u0002\u1ade\u1adf\u0007", + "U\u0002\u0002\u1adf\u1ae0\u0007a\u0002\u0002\u1ae0\u1ae1\u0007U\u0002", + "\u0002\u1ae1\u1ae2\u0007C\u0002\u0002\u1ae2\u1ae3\u0007O\u0002\u0002", + "\u1ae3\u1ae4\u0007R\u0002\u0002\u1ae4\u1ae5\u0007N\u0002\u0002\u1ae5", + "\u1ae6\u0007G\u0002\u0002\u1ae6\u1ae7\u0007a\u0002\u0002\u1ae7\u1ae8", + "\u0007R\u0002\u0002\u1ae8\u1ae9\u0007C\u0002\u0002\u1ae9\u1aea\u0007", + "I\u0002\u0002\u1aea\u1aeb\u0007G\u0002\u0002\u1aeb\u1aec\u0007U\u0002", + "\u0002\u1aec\u043e\u0003\u0002\u0002\u0002\u1aed\u1aee\u0007U\u0002", + "\u0002\u1aee\u1aef\u0007V\u0002\u0002\u1aef\u1af0\u0007C\u0002\u0002", + "\u1af0\u1af1\u0007V\u0002\u0002\u1af1\u1af2\u0007W\u0002\u0002\u1af2", + "\u1af3\u0007U\u0002\u0002\u1af3\u0440\u0003\u0002\u0002\u0002\u1af4", + "\u1af5\u0007U\u0002\u0002\u1af5\u1af6\u0007V\u0002\u0002\u1af6\u1af7", + "\u0007Q\u0002\u0002\u1af7\u1af8\u0007R\u0002\u0002\u1af8\u0442\u0003", + "\u0002\u0002\u0002\u1af9\u1afa\u0007U\u0002\u0002\u1afa\u1afb\u0007", + "V\u0002\u0002\u1afb\u1afc\u0007Q\u0002\u0002\u1afc\u1afd\u0007T\u0002", + "\u0002\u1afd\u1afe\u0007C\u0002\u0002\u1afe\u1aff\u0007I\u0002\u0002", + "\u1aff\u1b00\u0007G\u0002\u0002\u1b00\u0444\u0003\u0002\u0002\u0002", + "\u1b01\u1b02\u0007U\u0002\u0002\u1b02\u1b03\u0007V\u0002\u0002\u1b03", + "\u1b04\u0007Q\u0002\u0002\u1b04\u1b05\u0007T\u0002\u0002\u1b05\u1b06", + "\u0007G\u0002\u0002\u1b06\u1b07\u0007F\u0002\u0002\u1b07\u0446\u0003", + "\u0002\u0002\u0002\u1b08\u1b09\u0007U\u0002\u0002\u1b09\u1b0a\u0007", + "V\u0002\u0002\u1b0a\u1b0b\u0007T\u0002\u0002\u1b0b\u1b0c\u0007K\u0002", + "\u0002\u1b0c\u1b0d\u0007P\u0002\u0002\u1b0d\u1b0e\u0007I\u0002\u0002", + "\u1b0e\u0448\u0003\u0002\u0002\u0002\u1b0f\u1b10\u0007U\u0002\u0002", + "\u1b10\u1b11\u0007W\u0002\u0002\u1b11\u1b12\u0007D\u0002\u0002\u1b12", + "\u1b13\u0007E\u0002\u0002\u1b13\u1b14\u0007N\u0002\u0002\u1b14\u1b15", + "\u0007C\u0002\u0002\u1b15\u1b16\u0007U\u0002\u0002\u1b16\u1b17\u0007", + "U\u0002\u0002\u1b17\u1b18\u0007a\u0002\u0002\u1b18\u1b19\u0007Q\u0002", + "\u0002\u1b19\u1b1a\u0007T\u0002\u0002\u1b1a\u1b1b\u0007K\u0002\u0002", + "\u1b1b\u1b1c\u0007I\u0002\u0002\u1b1c\u1b1d\u0007K\u0002\u0002\u1b1d", + "\u1b1e\u0007P\u0002\u0002\u1b1e\u044a\u0003\u0002\u0002\u0002\u1b1f", + "\u1b20\u0007U\u0002\u0002\u1b20\u1b21\u0007W\u0002\u0002\u1b21\u1b22", + "\u0007D\u0002\u0002\u1b22\u1b23\u0007L\u0002\u0002\u1b23\u1b24\u0007", + "G\u0002\u0002\u1b24\u1b25\u0007E\u0002\u0002\u1b25\u1b26\u0007V\u0002", + "\u0002\u1b26\u044c\u0003\u0002\u0002\u0002\u1b27\u1b28\u0007U\u0002", + "\u0002\u1b28\u1b29\u0007W\u0002\u0002\u1b29\u1b2a\u0007D\u0002\u0002", + "\u1b2a\u1b2b\u0007R\u0002\u0002\u1b2b\u1b2c\u0007C\u0002\u0002\u1b2c", + "\u1b2d\u0007T\u0002\u0002\u1b2d\u1b2e\u0007V\u0002\u0002\u1b2e\u1b2f", + "\u0007K\u0002\u0002\u1b2f\u1b30\u0007V\u0002\u0002\u1b30\u1b31\u0007", + "K\u0002\u0002\u1b31\u1b32\u0007Q\u0002\u0002\u1b32\u1b33\u0007P\u0002", + "\u0002\u1b33\u044e\u0003\u0002\u0002\u0002\u1b34\u1b35\u0007U\u0002", + "\u0002\u1b35\u1b36\u0007W\u0002\u0002\u1b36\u1b37\u0007D\u0002\u0002", + "\u1b37\u1b38\u0007R\u0002\u0002\u1b38\u1b39\u0007C\u0002\u0002\u1b39", + "\u1b3a\u0007T\u0002\u0002\u1b3a\u1b3b\u0007V\u0002\u0002\u1b3b\u1b3c", + "\u0007K\u0002\u0002\u1b3c\u1b3d\u0007V\u0002\u0002\u1b3d\u1b3e\u0007", + "K\u0002\u0002\u1b3e\u1b3f\u0007Q\u0002\u0002\u1b3f\u1b40\u0007P\u0002", + "\u0002\u1b40\u1b41\u0007U\u0002\u0002\u1b41\u0450\u0003\u0002\u0002", + "\u0002\u1b42\u1b43\u0007U\u0002\u0002\u1b43\u1b44\u0007W\u0002\u0002", + "\u1b44\u1b45\u0007U\u0002\u0002\u1b45\u1b46\u0007R\u0002\u0002\u1b46", + "\u1b47\u0007G\u0002\u0002\u1b47\u1b48\u0007P\u0002\u0002\u1b48\u1b49", + "\u0007F\u0002\u0002\u1b49\u0452\u0003\u0002\u0002\u0002\u1b4a\u1b4b", + "\u0007U\u0002\u0002\u1b4b\u1b4c\u0007Y\u0002\u0002\u1b4c\u1b4d\u0007", + "C\u0002\u0002\u1b4d\u1b4e\u0007R\u0002\u0002\u1b4e\u1b4f\u0007U\u0002", + "\u0002\u1b4f\u0454\u0003\u0002\u0002\u0002\u1b50\u1b51\u0007U\u0002", + "\u0002\u1b51\u1b52\u0007Y\u0002\u0002\u1b52\u1b53\u0007K\u0002\u0002", + "\u1b53\u1b54\u0007V\u0002\u0002\u1b54\u1b55\u0007E\u0002\u0002\u1b55", + "\u1b56\u0007J\u0002\u0002\u1b56\u1b57\u0007G\u0002\u0002\u1b57\u1b58", + "\u0007U\u0002\u0002\u1b58\u0456\u0003\u0002\u0002\u0002\u1b59\u1b5a", + "\u0007V\u0002\u0002\u1b5a\u1b5b\u0007C\u0002\u0002\u1b5b\u1b5c\u0007", + "D\u0002\u0002\u1b5c\u1b5d\u0007N\u0002\u0002\u1b5d\u1b5e\u0007G\u0002", + "\u0002\u1b5e\u1b5f\u0007a\u0002\u0002\u1b5f\u1b60\u0007P\u0002\u0002", + "\u1b60\u1b61\u0007C\u0002\u0002\u1b61\u1b62\u0007O\u0002\u0002\u1b62", + "\u1b63\u0007G\u0002\u0002\u1b63\u0458\u0003\u0002\u0002\u0002\u1b64", + "\u1b65\u0007V\u0002\u0002\u1b65\u1b66\u0007C\u0002\u0002\u1b66\u1b67", + "\u0007D\u0002\u0002\u1b67\u1b68\u0007N\u0002\u0002\u1b68\u1b69\u0007", + "G\u0002\u0002\u1b69\u1b6a\u0007U\u0002\u0002\u1b6a\u1b6b\u0007R\u0002", + "\u0002\u1b6b\u1b6c\u0007C\u0002\u0002\u1b6c\u1b6d\u0007E\u0002\u0002", + "\u1b6d\u1b6e\u0007G\u0002\u0002\u1b6e\u045a\u0003\u0002\u0002\u0002", + "\u1b6f\u1b70\u0007V\u0002\u0002\u1b70\u1b71\u0007G\u0002\u0002\u1b71", + "\u1b72\u0007O\u0002\u0002\u1b72\u1b73\u0007R\u0002\u0002\u1b73\u1b74", + "\u0007Q\u0002\u0002\u1b74\u1b75\u0007T\u0002\u0002\u1b75\u1b76\u0007", + "C\u0002\u0002\u1b76\u1b77\u0007T\u0002\u0002\u1b77\u1b78\u0007[\u0002", + "\u0002\u1b78\u045c\u0003\u0002\u0002\u0002\u1b79\u1b7a\u0007V\u0002", + "\u0002\u1b7a\u1b7b\u0007G\u0002\u0002\u1b7b\u1b7c\u0007O\u0002\u0002", + "\u1b7c\u1b7d\u0007R\u0002\u0002\u1b7d\u1b7e\u0007V\u0002\u0002\u1b7e", + "\u1b7f\u0007C\u0002\u0002\u1b7f\u1b80\u0007D\u0002\u0002\u1b80\u1b81", + "\u0007N\u0002\u0002\u1b81\u1b82\u0007G\u0002\u0002\u1b82\u045e\u0003", + "\u0002\u0002\u0002\u1b83\u1b84\u0007V\u0002\u0002\u1b84\u1b85\u0007", + "J\u0002\u0002\u1b85\u1b86\u0007C\u0002\u0002\u1b86\u1b87\u0007P\u0002", + "\u0002\u1b87\u0460\u0003\u0002\u0002\u0002\u1b88\u1b89\u0007V\u0002", + "\u0002\u1b89\u1b8a\u0007T\u0002\u0002\u1b8a\u1b8b\u0007C\u0002\u0002", + "\u1b8b\u1b8c\u0007F\u0002\u0002\u1b8c\u1b8d\u0007K\u0002\u0002\u1b8d", + "\u1b8e\u0007V\u0002\u0002\u1b8e\u1b8f\u0007K\u0002\u0002\u1b8f\u1b90", + "\u0007Q\u0002\u0002\u1b90\u1b91\u0007P\u0002\u0002\u1b91\u1b92\u0007", + "C\u0002\u0002\u1b92\u1b93\u0007N\u0002\u0002\u1b93\u0462\u0003\u0002", + "\u0002\u0002\u1b94\u1b95\u0007V\u0002\u0002\u1b95\u1b96\u0007T\u0002", + "\u0002\u1b96\u1b97\u0007C\u0002\u0002\u1b97\u1b98\u0007P\u0002\u0002", + "\u1b98\u1b99\u0007U\u0002\u0002\u1b99\u1b9a\u0007C\u0002\u0002\u1b9a", + "\u1b9b\u0007E\u0002\u0002\u1b9b\u1b9c\u0007V\u0002\u0002\u1b9c\u1b9d", + "\u0007K\u0002\u0002\u1b9d\u1b9e\u0007Q\u0002\u0002\u1b9e\u1b9f\u0007", + "P\u0002\u0002\u1b9f\u0464\u0003\u0002\u0002\u0002\u1ba0\u1ba1\u0007", + "V\u0002\u0002\u1ba1\u1ba2\u0007T\u0002\u0002\u1ba2\u1ba3\u0007C\u0002", + "\u0002\u1ba3\u1ba4\u0007P\u0002\u0002\u1ba4\u1ba5\u0007U\u0002\u0002", + "\u1ba5\u1ba6\u0007C\u0002\u0002\u1ba6\u1ba7\u0007E\u0002\u0002\u1ba7", + "\u1ba8\u0007V\u0002\u0002\u1ba8\u1ba9\u0007K\u0002\u0002\u1ba9\u1baa", + "\u0007Q\u0002\u0002\u1baa\u1bab\u0007P\u0002\u0002\u1bab\u1bac\u0007", + "C\u0002\u0002\u1bac\u1bad\u0007N\u0002\u0002\u1bad\u0466\u0003\u0002", + "\u0002\u0002\u1bae\u1baf\u0007V\u0002\u0002\u1baf\u1bb0\u0007T\u0002", + "\u0002\u1bb0\u1bb1\u0007K\u0002\u0002\u1bb1\u1bb2\u0007I\u0002\u0002", + "\u1bb2\u1bb3\u0007I\u0002\u0002\u1bb3\u1bb4\u0007G\u0002\u0002\u1bb4", + "\u1bb5\u0007T\u0002\u0002\u1bb5\u1bb6\u0007U\u0002\u0002\u1bb6\u0468", + "\u0003\u0002\u0002\u0002\u1bb7\u1bb8\u0007V\u0002\u0002\u1bb8\u1bb9", + "\u0007T\u0002\u0002\u1bb9\u1bba\u0007W\u0002\u0002\u1bba\u1bbb\u0007", + "P\u0002\u0002\u1bbb\u1bbc\u0007E\u0002\u0002\u1bbc\u1bbd\u0007C\u0002", + "\u0002\u1bbd\u1bbe\u0007V\u0002\u0002\u1bbe\u1bbf\u0007G\u0002\u0002", + "\u1bbf\u046a\u0003\u0002\u0002\u0002\u1bc0\u1bc1\u0007W\u0002\u0002", + "\u1bc1\u1bc2\u0007P\u0002\u0002\u1bc2\u1bc3\u0007F\u0002\u0002\u1bc3", + "\u1bc4\u0007G\u0002\u0002\u1bc4\u1bc5\u0007H\u0002\u0002\u1bc5\u1bc6", + "\u0007K\u0002\u0002\u1bc6\u1bc7\u0007P\u0002\u0002\u1bc7\u1bc8\u0007", + "G\u0002\u0002\u1bc8\u1bc9\u0007F\u0002\u0002\u1bc9\u046c\u0003\u0002", + "\u0002\u0002\u1bca\u1bcb\u0007W\u0002\u0002\u1bcb\u1bcc\u0007P\u0002", + "\u0002\u1bcc\u1bcd\u0007F\u0002\u0002\u1bcd\u1bce\u0007Q\u0002\u0002", + "\u1bce\u1bcf\u0007H\u0002\u0002\u1bcf\u1bd0\u0007K\u0002\u0002\u1bd0", + "\u1bd1\u0007N\u0002\u0002\u1bd1\u1bd2\u0007G\u0002\u0002\u1bd2\u046e", + "\u0003\u0002\u0002\u0002\u1bd3\u1bd4\u0007W\u0002\u0002\u1bd4\u1bd5", + "\u0007P\u0002\u0002\u1bd5\u1bd6\u0007F\u0002\u0002\u1bd6\u1bd7\u0007", + "Q\u0002\u0002\u1bd7\u1bd8\u0007a\u0002\u0002\u1bd8\u1bd9\u0007D\u0002", + "\u0002\u1bd9\u1bda\u0007W\u0002\u0002\u1bda\u1bdb\u0007H\u0002\u0002", + "\u1bdb\u1bdc\u0007H\u0002\u0002\u1bdc\u1bdd\u0007G\u0002\u0002\u1bdd", + "\u1bde\u0007T\u0002\u0002\u1bde\u1bdf\u0007a\u0002\u0002\u1bdf\u1be0", + "\u0007U\u0002\u0002\u1be0\u1be1\u0007K\u0002\u0002\u1be1\u1be2\u0007", + "\\\u0002\u0002\u1be2\u1be3\u0007G\u0002\u0002\u1be3\u0470\u0003\u0002", + "\u0002\u0002\u1be4\u1be5\u0007W\u0002\u0002\u1be5\u1be6\u0007P\u0002", + "\u0002\u1be6\u1be7\u0007K\u0002\u0002\u1be7\u1be8\u0007P\u0002\u0002", + "\u1be8\u1be9\u0007U\u0002\u0002\u1be9\u1bea\u0007V\u0002\u0002\u1bea", + "\u1beb\u0007C\u0002\u0002\u1beb\u1bec\u0007N\u0002\u0002\u1bec\u1bed", + "\u0007N\u0002\u0002\u1bed\u0472\u0003\u0002\u0002\u0002\u1bee\u1bef", + "\u0007W\u0002\u0002\u1bef\u1bf0\u0007P\u0002\u0002\u1bf0\u1bf1\u0007", + "M\u0002\u0002\u1bf1\u1bf2\u0007P\u0002\u0002\u1bf2\u1bf3\u0007Q\u0002", + "\u0002\u1bf3\u1bf4\u0007Y\u0002\u0002\u1bf4\u1bf5\u0007P\u0002\u0002", + "\u1bf5\u0474\u0003\u0002\u0002\u0002\u1bf6\u1bf7\u0007W\u0002\u0002", + "\u1bf7\u1bf8\u0007P\u0002\u0002\u1bf8\u1bf9\u0007V\u0002\u0002\u1bf9", + "\u1bfa\u0007K\u0002\u0002\u1bfa\u1bfb\u0007N\u0002\u0002\u1bfb\u0476", + "\u0003\u0002\u0002\u0002\u1bfc\u1bfd\u0007W\u0002\u0002\u1bfd\u1bfe", + "\u0007R\u0002\u0002\u1bfe\u1bff\u0007I\u0002\u0002\u1bff\u1c00\u0007", + "T\u0002\u0002\u1c00\u1c01\u0007C\u0002\u0002\u1c01\u1c02\u0007F\u0002", + "\u0002\u1c02\u1c03\u0007G\u0002\u0002\u1c03\u0478\u0003\u0002\u0002", + "\u0002\u1c04\u1c05\u0007W\u0002\u0002\u1c05\u1c06\u0007U\u0002\u0002", + "\u1c06\u1c07\u0007G\u0002\u0002\u1c07\u1c08\u0007T\u0002\u0002\u1c08", + "\u047a\u0003\u0002\u0002\u0002\u1c09\u1c0a\u0007W\u0002\u0002\u1c0a", + "\u1c0b\u0007U\u0002\u0002\u1c0b\u1c0c\u0007G\u0002\u0002\u1c0c\u1c0d", + "\u0007a\u0002\u0002\u1c0d\u1c0e\u0007H\u0002\u0002\u1c0e\u1c0f\u0007", + "T\u0002\u0002\u1c0f\u1c10\u0007O\u0002\u0002\u1c10\u047c\u0003\u0002", + "\u0002\u0002\u1c11\u1c12\u0007W\u0002\u0002\u1c12\u1c13\u0007U\u0002", + "\u0002\u1c13\u1c14\u0007G\u0002\u0002\u1c14\u1c15\u0007T\u0002\u0002", + "\u1c15\u1c16\u0007a\u0002\u0002\u1c16\u1c17\u0007T\u0002\u0002\u1c17", + "\u1c18\u0007G\u0002\u0002\u1c18\u1c19\u0007U\u0002\u0002\u1c19\u1c1a", + "\u0007Q\u0002\u0002\u1c1a\u1c1b\u0007W\u0002\u0002\u1c1b\u1c1c\u0007", + "T\u0002\u0002\u1c1c\u1c1d\u0007E\u0002\u0002\u1c1d\u1c1e\u0007G\u0002", + "\u0002\u1c1e\u1c1f\u0007U\u0002\u0002\u1c1f\u047e\u0003\u0002\u0002", + "\u0002\u1c20\u1c21\u0007X\u0002\u0002\u1c21\u1c22\u0007C\u0002\u0002", + "\u1c22\u1c23\u0007N\u0002\u0002\u1c23\u1c24\u0007K\u0002\u0002\u1c24", + "\u1c25\u0007F\u0002\u0002\u1c25\u1c26\u0007C\u0002\u0002\u1c26\u1c27", + "\u0007V\u0002\u0002\u1c27\u1c28\u0007K\u0002\u0002\u1c28\u1c29\u0007", + "Q\u0002\u0002\u1c29\u1c2a\u0007P\u0002\u0002\u1c2a\u0480\u0003\u0002", + "\u0002\u0002\u1c2b\u1c2c\u0007X\u0002\u0002\u1c2c\u1c2d\u0007C\u0002", + "\u0002\u1c2d\u1c2e\u0007N\u0002\u0002\u1c2e\u1c2f\u0007W\u0002\u0002", + "\u1c2f\u1c30\u0007G\u0002\u0002\u1c30\u0482\u0003\u0002\u0002\u0002", + "\u1c31\u1c32\u0007X\u0002\u0002\u1c32\u1c33\u0007C\u0002\u0002\u1c33", + "\u1c34\u0007T\u0002\u0002\u1c34\u1c35\u0007K\u0002\u0002\u1c35\u1c36", + "\u0007C\u0002\u0002\u1c36\u1c37\u0007D\u0002\u0002\u1c37\u1c38\u0007", + "N\u0002\u0002\u1c38\u1c39\u0007G\u0002\u0002\u1c39\u1c3a\u0007U\u0002", + "\u0002\u1c3a\u0484\u0003\u0002\u0002\u0002\u1c3b\u1c3c\u0007X\u0002", + "\u0002\u1c3c\u1c3d\u0007K\u0002\u0002\u1c3d\u1c3e\u0007G\u0002\u0002", + "\u1c3e\u1c3f\u0007Y\u0002\u0002\u1c3f\u0486\u0003\u0002\u0002\u0002", + "\u1c40\u1c41\u0007X\u0002\u0002\u1c41\u1c42\u0007K\u0002\u0002\u1c42", + "\u1c43\u0007T\u0002\u0002\u1c43\u1c44\u0007V\u0002\u0002\u1c44\u1c45", + "\u0007W\u0002\u0002\u1c45\u1c46\u0007C\u0002\u0002\u1c46\u1c47\u0007", + "N\u0002\u0002\u1c47\u0488\u0003\u0002\u0002\u0002\u1c48\u1c49\u0007", + "X\u0002\u0002\u1c49\u1c4a\u0007K\u0002\u0002\u1c4a\u1c4b\u0007U\u0002", + "\u0002\u1c4b\u1c4c\u0007K\u0002\u0002\u1c4c\u1c4d\u0007D\u0002\u0002", + "\u1c4d\u1c4e\u0007N\u0002\u0002\u1c4e\u1c4f\u0007G\u0002\u0002\u1c4f", + "\u048a\u0003\u0002\u0002\u0002\u1c50\u1c51\u0007Y\u0002\u0002\u1c51", + "\u1c52\u0007C\u0002\u0002\u1c52\u1c53\u0007K\u0002\u0002\u1c53\u1c54", + "\u0007V\u0002\u0002\u1c54\u048c\u0003\u0002\u0002\u0002\u1c55\u1c56", + "\u0007Y\u0002\u0002\u1c56\u1c57\u0007C\u0002\u0002\u1c57\u1c58\u0007", + "T\u0002\u0002\u1c58\u1c59\u0007P\u0002\u0002\u1c59\u1c5a\u0007K\u0002", + "\u0002\u1c5a\u1c5b\u0007P\u0002\u0002\u1c5b\u1c5c\u0007I\u0002\u0002", + "\u1c5c\u1c5d\u0007U\u0002\u0002\u1c5d\u048e\u0003\u0002\u0002\u0002", + "\u1c5e\u1c5f\u0007Y\u0002\u0002\u1c5f\u1c60\u0007K\u0002\u0002\u1c60", + "\u1c61\u0007V\u0002\u0002\u1c61\u1c62\u0007J\u0002\u0002\u1c62\u1c63", + "\u0007Q\u0002\u0002\u1c63\u1c64\u0007W\u0002\u0002\u1c64\u1c65\u0007", + "V\u0002\u0002\u1c65\u0490\u0003\u0002\u0002\u0002\u1c66\u1c67\u0007", + "Y\u0002\u0002\u1c67\u1c68\u0007Q\u0002\u0002\u1c68\u1c69\u0007T\u0002", + "\u0002\u1c69\u1c6a\u0007M\u0002\u0002\u1c6a\u0492\u0003\u0002\u0002", + "\u0002\u1c6b\u1c6c\u0007Y\u0002\u0002\u1c6c\u1c6d\u0007T\u0002\u0002", + "\u1c6d\u1c6e\u0007C\u0002\u0002\u1c6e\u1c6f\u0007R\u0002\u0002\u1c6f", + "\u1c70\u0007R\u0002\u0002\u1c70\u1c71\u0007G\u0002\u0002\u1c71\u1c72", + "\u0007T\u0002\u0002\u1c72\u0494\u0003\u0002\u0002\u0002\u1c73\u1c74", + "\u0007Z\u0002\u0002\u1c74\u1c75\u00077\u0002\u0002\u1c75\u1c76\u0007", + "2\u0002\u0002\u1c76\u1c77\u0007;\u0002\u0002\u1c77\u0496\u0003\u0002", + "\u0002\u0002\u1c78\u1c79\u0007Z\u0002\u0002\u1c79\u1c7a\u0007C\u0002", + "\u0002\u1c7a\u0498\u0003\u0002\u0002\u0002\u1c7b\u1c7c\u0007Z\u0002", + "\u0002\u1c7c\u1c7d\u0007O\u0002\u0002\u1c7d\u1c7e\u0007N\u0002\u0002", + "\u1c7e\u049a\u0003\u0002\u0002\u0002\u1c7f\u1c80\u0007G\u0002\u0002", + "\u1c80\u1c81\u0007W\u0002\u0002\u1c81\u1c82\u0007T\u0002\u0002\u1c82", + "\u049c\u0003\u0002\u0002\u0002\u1c83\u1c84\u0007W\u0002\u0002\u1c84", + "\u1c85\u0007U\u0002\u0002\u1c85\u1c86\u0007C\u0002\u0002\u1c86\u049e", + "\u0003\u0002\u0002\u0002\u1c87\u1c88\u0007L\u0002\u0002\u1c88\u1c89", + "\u0007K\u0002\u0002\u1c89\u1c8a\u0007U\u0002\u0002\u1c8a\u04a0\u0003", + "\u0002\u0002\u0002\u1c8b\u1c8c\u0007K\u0002\u0002\u1c8c\u1c8d\u0007", + "U\u0002\u0002\u1c8d\u1c8e\u0007Q\u0002\u0002\u1c8e\u04a2\u0003\u0002", + "\u0002\u0002\u1c8f\u1c90\u0007K\u0002\u0002\u1c90\u1c91\u0007P\u0002", + "\u0002\u1c91\u1c92\u0007V\u0002\u0002\u1c92\u1c93\u0007G\u0002\u0002", + "\u1c93\u1c94\u0007T\u0002\u0002\u1c94\u1c95\u0007P\u0002\u0002\u1c95", + "\u1c96\u0007C\u0002\u0002\u1c96\u1c97\u0007N\u0002\u0002\u1c97\u04a4", + "\u0003\u0002\u0002\u0002\u1c98\u1c99\u0007S\u0002\u0002\u1c99\u1c9a", + "\u0007W\u0002\u0002\u1c9a\u1c9b\u0007C\u0002\u0002\u1c9b\u1c9c\u0007", + "T\u0002\u0002\u1c9c\u1c9d\u0007V\u0002\u0002\u1c9d\u1c9e\u0007G\u0002", + "\u0002\u1c9e\u1c9f\u0007T\u0002\u0002\u1c9f\u04a6\u0003\u0002\u0002", + "\u0002\u1ca0\u1ca1\u0007O\u0002\u0002\u1ca1\u1ca2\u0007Q\u0002\u0002", + "\u1ca2\u1ca3\u0007P\u0002\u0002\u1ca3\u1ca4\u0007V\u0002\u0002\u1ca4", + "\u1ca5\u0007J\u0002\u0002\u1ca5\u04a8\u0003\u0002\u0002\u0002\u1ca6", + "\u1ca7\u0007F\u0002\u0002\u1ca7\u1ca8\u0007C\u0002\u0002\u1ca8\u1ca9", + "\u0007[\u0002\u0002\u1ca9\u04aa\u0003\u0002\u0002\u0002\u1caa\u1cab", + "\u0007J\u0002\u0002\u1cab\u1cac\u0007Q\u0002\u0002\u1cac\u1cad\u0007", + "W\u0002\u0002\u1cad\u1cae\u0007T\u0002\u0002\u1cae\u04ac\u0003\u0002", + "\u0002\u0002\u1caf\u1cb0\u0007O\u0002\u0002\u1cb0\u1cb1\u0007K\u0002", + "\u0002\u1cb1\u1cb2\u0007P\u0002\u0002\u1cb2\u1cb3\u0007W\u0002\u0002", + "\u1cb3\u1cb4\u0007V\u0002\u0002\u1cb4\u1cb5\u0007G\u0002\u0002\u1cb5", + "\u04ae\u0003\u0002\u0002\u0002\u1cb6\u1cb7\u0007Y\u0002\u0002\u1cb7", + "\u1cb8\u0007G\u0002\u0002\u1cb8\u1cb9\u0007G\u0002\u0002\u1cb9\u1cba", + "\u0007M\u0002\u0002\u1cba\u04b0\u0003\u0002\u0002\u0002\u1cbb\u1cbc", + "\u0007U\u0002\u0002\u1cbc\u1cbd\u0007G\u0002\u0002\u1cbd\u1cbe\u0007", + "E\u0002\u0002\u1cbe\u1cbf\u0007Q\u0002\u0002\u1cbf\u1cc0\u0007P\u0002", + "\u0002\u1cc0\u1cc1\u0007F\u0002\u0002\u1cc1\u04b2\u0003\u0002\u0002", + "\u0002\u1cc2\u1cc3\u0007O\u0002\u0002\u1cc3\u1cc4\u0007K\u0002\u0002", + "\u1cc4\u1cc5\u0007E\u0002\u0002\u1cc5\u1cc6\u0007T\u0002\u0002\u1cc6", + "\u1cc7\u0007Q\u0002\u0002\u1cc7\u1cc8\u0007U\u0002\u0002\u1cc8\u1cc9", + "\u0007G\u0002\u0002\u1cc9\u1cca\u0007E\u0002\u0002\u1cca\u1ccb\u0007", + "Q\u0002\u0002\u1ccb\u1ccc\u0007P\u0002\u0002\u1ccc\u1ccd\u0007F\u0002", + "\u0002\u1ccd\u04b4\u0003\u0002\u0002\u0002\u1cce\u1ccf\u0007V\u0002", + "\u0002\u1ccf\u1cd0\u0007C\u0002\u0002\u1cd0\u1cd1\u0007D\u0002\u0002", + "\u1cd1\u1cd2\u0007N\u0002\u0002\u1cd2\u1cd3\u0007G\u0002\u0002\u1cd3", + "\u1cd4\u0007U\u0002\u0002\u1cd4\u04b6\u0003\u0002\u0002\u0002\u1cd5", + "\u1cd6\u0007T\u0002\u0002\u1cd6\u1cd7\u0007Q\u0002\u0002\u1cd7\u1cd8", + "\u0007W\u0002\u0002\u1cd8\u1cd9\u0007V\u0002\u0002\u1cd9\u1cda\u0007", + "K\u0002\u0002\u1cda\u1cdb\u0007P\u0002\u0002\u1cdb\u1cdc\u0007G\u0002", + "\u0002\u1cdc\u04b8\u0003\u0002\u0002\u0002\u1cdd\u1cde\u0007G\u0002", + "\u0002\u1cde\u1cdf\u0007Z\u0002\u0002\u1cdf\u1ce0\u0007G\u0002\u0002", + "\u1ce0\u1ce1\u0007E\u0002\u0002\u1ce1\u1ce2\u0007W\u0002\u0002\u1ce2", + "\u1ce3\u0007V\u0002\u0002\u1ce3\u1ce4\u0007G\u0002\u0002\u1ce4\u04ba", + "\u0003\u0002\u0002\u0002\u1ce5\u1ce6\u0007H\u0002\u0002\u1ce6\u1ce7", + "\u0007K\u0002\u0002\u1ce7\u1ce8\u0007N\u0002\u0002\u1ce8\u1ce9\u0007", + "G\u0002\u0002\u1ce9\u04bc\u0003\u0002\u0002\u0002\u1cea\u1ceb\u0007", + "R\u0002\u0002\u1ceb\u1cec\u0007T\u0002\u0002\u1cec\u1ced\u0007Q\u0002", + "\u0002\u1ced\u1cee\u0007E\u0002\u0002\u1cee\u1cef\u0007G\u0002\u0002", + "\u1cef\u1cf0\u0007U\u0002\u0002\u1cf0\u1cf1\u0007U\u0002\u0002\u1cf1", + "\u04be\u0003\u0002\u0002\u0002\u1cf2\u1cf3\u0007T\u0002\u0002\u1cf3", + "\u1cf4\u0007G\u0002\u0002\u1cf4\u1cf5\u0007N\u0002\u0002\u1cf5\u1cf6", + "\u0007Q\u0002\u0002\u1cf6\u1cf7\u0007C\u0002\u0002\u1cf7\u1cf8\u0007", + "F\u0002\u0002\u1cf8\u04c0\u0003\u0002\u0002\u0002\u1cf9\u1cfa\u0007", + "U\u0002\u0002\u1cfa\u1cfb\u0007J\u0002\u0002\u1cfb\u1cfc\u0007W\u0002", + "\u0002\u1cfc\u1cfd\u0007V\u0002\u0002\u1cfd\u1cfe\u0007F\u0002\u0002", + "\u1cfe\u1cff\u0007Q\u0002\u0002\u1cff\u1d00\u0007Y\u0002\u0002\u1d00", + "\u1d01\u0007P\u0002\u0002\u1d01\u04c2\u0003\u0002\u0002\u0002\u1d02", + "\u1d03\u0007U\u0002\u0002\u1d03\u1d04\u0007W\u0002\u0002\u1d04\u1d05", + "\u0007R\u0002\u0002\u1d05\u1d06\u0007G\u0002\u0002\u1d06\u1d07\u0007", + "T\u0002\u0002\u1d07\u04c4\u0003\u0002\u0002\u0002\u1d08\u1d09\u0007", + "R\u0002\u0002\u1d09\u1d0a\u0007T\u0002\u0002\u1d0a\u1d0b\u0007K\u0002", + "\u0002\u1d0b\u1d0c\u0007X\u0002\u0002\u1d0c\u1d0d\u0007K\u0002\u0002", + "\u1d0d\u1d0e\u0007N\u0002\u0002\u1d0e\u1d0f\u0007G\u0002\u0002\u1d0f", + "\u1d10\u0007I\u0002\u0002\u1d10\u1d11\u0007G\u0002\u0002\u1d11\u1d12", + "\u0007U\u0002\u0002\u1d12\u04c6\u0003\u0002\u0002\u0002\u1d13\u1d14", + "\u0007C\u0002\u0002\u1d14\u1d15\u0007R\u0002\u0002\u1d15\u1d16\u0007", + "R\u0002\u0002\u1d16\u1d17\u0007N\u0002\u0002\u1d17\u1d18\u0007K\u0002", + "\u0002\u1d18\u1d19\u0007E\u0002\u0002\u1d19\u1d1a\u0007C\u0002\u0002", + "\u1d1a\u1d1b\u0007V\u0002\u0002\u1d1b\u1d1c\u0007K\u0002\u0002\u1d1c", + "\u1d1d\u0007Q\u0002\u0002\u1d1d\u1d1e\u0007P\u0002\u0002\u1d1e\u1d1f", + "\u0007a\u0002\u0002\u1d1f\u1d20\u0007R\u0002\u0002\u1d20\u1d21\u0007", + "C\u0002\u0002\u1d21\u1d22\u0007U\u0002\u0002\u1d22\u1d23\u0007U\u0002", + "\u0002\u1d23\u1d24\u0007Y\u0002\u0002\u1d24\u1d25\u0007Q\u0002\u0002", + "\u1d25\u1d26\u0007T\u0002\u0002\u1d26\u1d27\u0007F\u0002\u0002\u1d27", + "\u1d28\u0007a\u0002\u0002\u1d28\u1d29\u0007C\u0002\u0002\u1d29\u1d2a", + "\u0007F\u0002\u0002\u1d2a\u1d2b\u0007O\u0002\u0002\u1d2b\u1d2c\u0007", + "K\u0002\u0002\u1d2c\u1d2d\u0007P\u0002\u0002\u1d2d\u04c8\u0003\u0002", + "\u0002\u0002\u1d2e\u1d2f\u0007C\u0002\u0002\u1d2f\u1d30\u0007W\u0002", + "\u0002\u1d30\u1d31\u0007F\u0002\u0002\u1d31\u1d32\u0007K\u0002\u0002", + "\u1d32\u1d33\u0007V\u0002\u0002\u1d33\u1d34\u0007a\u0002\u0002\u1d34", + "\u1d35\u0007C\u0002\u0002\u1d35\u1d36\u0007F\u0002\u0002\u1d36\u1d37", + "\u0007O\u0002\u0002\u1d37\u1d38\u0007K\u0002\u0002\u1d38\u1d39\u0007", + "P\u0002\u0002\u1d39\u04ca\u0003\u0002\u0002\u0002\u1d3a\u1d3b\u0007", + "D\u0002\u0002\u1d3b\u1d3c\u0007C\u0002\u0002\u1d3c\u1d3d\u0007E\u0002", + "\u0002\u1d3d\u1d3e\u0007M\u0002\u0002\u1d3e\u1d3f\u0007W\u0002\u0002", + "\u1d3f\u1d40\u0007R\u0002\u0002\u1d40\u1d41\u0007a\u0002\u0002\u1d41", + "\u1d42\u0007C\u0002\u0002\u1d42\u1d43\u0007F\u0002\u0002\u1d43\u1d44", + "\u0007O\u0002\u0002\u1d44\u1d45\u0007K\u0002\u0002\u1d45\u1d46\u0007", + "P\u0002\u0002\u1d46\u04cc\u0003\u0002\u0002\u0002\u1d47\u1d48\u0007", + "D\u0002\u0002\u1d48\u1d49\u0007K\u0002\u0002\u1d49\u1d4a\u0007P\u0002", + "\u0002\u1d4a\u1d4b\u0007N\u0002\u0002\u1d4b\u1d4c\u0007Q\u0002\u0002", + "\u1d4c\u1d4d\u0007I\u0002\u0002\u1d4d\u1d4e\u0007a\u0002\u0002\u1d4e", + "\u1d4f\u0007C\u0002\u0002\u1d4f\u1d50\u0007F\u0002\u0002\u1d50\u1d51", + "\u0007O\u0002\u0002\u1d51\u1d52\u0007K\u0002\u0002\u1d52\u1d53\u0007", + "P\u0002\u0002\u1d53\u04ce\u0003\u0002\u0002\u0002\u1d54\u1d55\u0007", + "D\u0002\u0002\u1d55\u1d56\u0007K\u0002\u0002\u1d56\u1d57\u0007P\u0002", + "\u0002\u1d57\u1d58\u0007N\u0002\u0002\u1d58\u1d59\u0007Q\u0002\u0002", + "\u1d59\u1d5a\u0007I\u0002\u0002\u1d5a\u1d5b\u0007a\u0002\u0002\u1d5b", + "\u1d5c\u0007G\u0002\u0002\u1d5c\u1d5d\u0007P\u0002\u0002\u1d5d\u1d5e", + "\u0007E\u0002\u0002\u1d5e\u1d5f\u0007T\u0002\u0002\u1d5f\u1d60\u0007", + "[\u0002\u0002\u1d60\u1d61\u0007R\u0002\u0002\u1d61\u1d62\u0007V\u0002", + "\u0002\u1d62\u1d63\u0007K\u0002\u0002\u1d63\u1d64\u0007Q\u0002\u0002", + "\u1d64\u1d65\u0007P\u0002\u0002\u1d65\u1d66\u0007a\u0002\u0002\u1d66", + "\u1d67\u0007C\u0002\u0002\u1d67\u1d68\u0007F\u0002\u0002\u1d68\u1d69", + "\u0007O\u0002\u0002\u1d69\u1d6a\u0007K\u0002\u0002\u1d6a\u1d6b\u0007", + "P\u0002\u0002\u1d6b\u04d0\u0003\u0002\u0002\u0002\u1d6c\u1d6d\u0007", + "E\u0002\u0002\u1d6d\u1d6e\u0007N\u0002\u0002\u1d6e\u1d6f\u0007Q\u0002", + "\u0002\u1d6f\u1d70\u0007P\u0002\u0002\u1d70\u1d71\u0007G\u0002\u0002", + "\u1d71\u1d72\u0007a\u0002\u0002\u1d72\u1d73\u0007C\u0002\u0002\u1d73", + "\u1d74\u0007F\u0002\u0002\u1d74\u1d75\u0007O\u0002\u0002\u1d75\u1d76", + "\u0007K\u0002\u0002\u1d76\u1d77\u0007P\u0002\u0002\u1d77\u04d2\u0003", + "\u0002\u0002\u0002\u1d78\u1d79\u0007E\u0002\u0002\u1d79\u1d7a\u0007", + "Q\u0002\u0002\u1d7a\u1d7b\u0007P\u0002\u0002\u1d7b\u1d7c\u0007P\u0002", + "\u0002\u1d7c\u1d7d\u0007G\u0002\u0002\u1d7d\u1d7e\u0007E\u0002\u0002", + "\u1d7e\u1d7f\u0007V\u0002\u0002\u1d7f\u1d80\u0007K\u0002\u0002\u1d80", + "\u1d81\u0007Q\u0002\u0002\u1d81\u1d82\u0007P\u0002\u0002\u1d82\u1d83", + "\u0007a\u0002\u0002\u1d83\u1d84\u0007C\u0002\u0002\u1d84\u1d85\u0007", + "F\u0002\u0002\u1d85\u1d86\u0007O\u0002\u0002\u1d86\u1d87\u0007K\u0002", + "\u0002\u1d87\u1d88\u0007P\u0002\u0002\u1d88\u04d4\u0003\u0002\u0002", + "\u0002\u1d89\u1d8a\u0007G\u0002\u0002\u1d8a\u1d8b\u0007P\u0002\u0002", + "\u1d8b\u1d8c\u0007E\u0002\u0002\u1d8c\u1d8d\u0007T\u0002\u0002\u1d8d", + "\u1d8e\u0007[\u0002\u0002\u1d8e\u1d8f\u0007R\u0002\u0002\u1d8f\u1d90", + "\u0007V\u0002\u0002\u1d90\u1d91\u0007K\u0002\u0002\u1d91\u1d92\u0007", + "Q\u0002\u0002\u1d92\u1d93\u0007P\u0002\u0002\u1d93\u1d94\u0007a\u0002", + "\u0002\u1d94\u1d95\u0007M\u0002\u0002\u1d95\u1d96\u0007G\u0002\u0002", + "\u1d96\u1d97\u0007[\u0002\u0002\u1d97\u1d98\u0007a\u0002\u0002\u1d98", + "\u1d99\u0007C\u0002\u0002\u1d99\u1d9a\u0007F\u0002\u0002\u1d9a\u1d9b", + "\u0007O\u0002\u0002\u1d9b\u1d9c\u0007K\u0002\u0002\u1d9c\u1d9d\u0007", + "P\u0002\u0002\u1d9d\u04d6\u0003\u0002\u0002\u0002\u1d9e\u1d9f\u0007", + "H\u0002\u0002\u1d9f\u1da0\u0007K\u0002\u0002\u1da0\u1da1\u0007T\u0002", + "\u0002\u1da1\u1da2\u0007G\u0002\u0002\u1da2\u1da3\u0007Y\u0002\u0002", + "\u1da3\u1da4\u0007C\u0002\u0002\u1da4\u1da5\u0007N\u0002\u0002\u1da5", + "\u1da6\u0007N\u0002\u0002\u1da6\u1da7\u0007a\u0002\u0002\u1da7\u1da8", + "\u0007C\u0002\u0002\u1da8\u1da9\u0007F\u0002\u0002\u1da9\u1daa\u0007", + "O\u0002\u0002\u1daa\u1dab\u0007K\u0002\u0002\u1dab\u1dac\u0007P\u0002", + "\u0002\u1dac\u04d8\u0003\u0002\u0002\u0002\u1dad\u1dae\u0007H\u0002", + "\u0002\u1dae\u1daf\u0007K\u0002\u0002\u1daf\u1db0\u0007T\u0002\u0002", + "\u1db0\u1db1\u0007G\u0002\u0002\u1db1\u1db2\u0007Y\u0002\u0002\u1db2", + "\u1db3\u0007C\u0002\u0002\u1db3\u1db4\u0007N\u0002\u0002\u1db4\u1db5", + "\u0007N\u0002\u0002\u1db5\u1db6\u0007a\u0002\u0002\u1db6\u1db7\u0007", + "W\u0002\u0002\u1db7\u1db8\u0007U\u0002\u0002\u1db8\u1db9\u0007G\u0002", + "\u0002\u1db9\u1dba\u0007T\u0002\u0002\u1dba\u04da\u0003\u0002\u0002", + "\u0002\u1dbb\u1dbc\u0007I\u0002\u0002\u1dbc\u1dbd\u0007T\u0002\u0002", + "\u1dbd\u1dbe\u0007Q\u0002\u0002\u1dbe\u1dbf\u0007W\u0002\u0002\u1dbf", + "\u1dc0\u0007R\u0002\u0002\u1dc0\u1dc1\u0007a\u0002\u0002\u1dc1\u1dc2", + "\u0007T\u0002\u0002\u1dc2\u1dc3\u0007G\u0002\u0002\u1dc3\u1dc4\u0007", + "R\u0002\u0002\u1dc4\u1dc5\u0007N\u0002\u0002\u1dc5\u1dc6\u0007K\u0002", + "\u0002\u1dc6\u1dc7\u0007E\u0002\u0002\u1dc7\u1dc8\u0007C\u0002\u0002", + "\u1dc8\u1dc9\u0007V\u0002\u0002\u1dc9\u1dca\u0007K\u0002\u0002\u1dca", + "\u1dcb\u0007Q\u0002\u0002\u1dcb\u1dcc\u0007P\u0002\u0002\u1dcc\u1dcd", + "\u0007a\u0002\u0002\u1dcd\u1dce\u0007C\u0002\u0002\u1dce\u1dcf\u0007", + "F\u0002\u0002\u1dcf\u1dd0\u0007O\u0002\u0002\u1dd0\u1dd1\u0007K\u0002", + "\u0002\u1dd1\u1dd2\u0007P\u0002\u0002\u1dd2\u04dc\u0003\u0002\u0002", + "\u0002\u1dd3\u1dd4\u0007K\u0002\u0002\u1dd4\u1dd5\u0007P\u0002\u0002", + "\u1dd5\u1dd6\u0007P\u0002\u0002\u1dd6\u1dd7\u0007Q\u0002\u0002\u1dd7", + "\u1dd8\u0007F\u0002\u0002\u1dd8\u1dd9\u0007D\u0002\u0002\u1dd9\u1dda", + "\u0007a\u0002\u0002\u1dda\u1ddb\u0007T\u0002\u0002\u1ddb\u1ddc\u0007", + "G\u0002\u0002\u1ddc\u1ddd\u0007F\u0002\u0002\u1ddd\u1dde\u0007Q\u0002", + "\u0002\u1dde\u1ddf\u0007a\u0002\u0002\u1ddf\u1de0\u0007N\u0002\u0002", + "\u1de0\u1de1\u0007Q\u0002\u0002\u1de1\u1de2\u0007I\u0002\u0002\u1de2", + "\u1de3\u0007a\u0002\u0002\u1de3\u1de4\u0007C\u0002\u0002\u1de4\u1de5", + "\u0007T\u0002\u0002\u1de5\u1de6\u0007E\u0002\u0002\u1de6\u1de7\u0007", + "J\u0002\u0002\u1de7\u1de8\u0007K\u0002\u0002\u1de8\u1de9\u0007X\u0002", + "\u0002\u1de9\u1dea\u0007G\u0002\u0002\u1dea\u04de\u0003\u0002\u0002", + "\u0002\u1deb\u1dec\u0007P\u0002\u0002\u1dec\u1ded\u0007F\u0002\u0002", + "\u1ded\u1dee\u0007D\u0002\u0002\u1dee\u1def\u0007a\u0002\u0002\u1def", + "\u1df0\u0007U\u0002\u0002\u1df0\u1df1\u0007V\u0002\u0002\u1df1\u1df2", + "\u0007Q\u0002\u0002\u1df2\u1df3\u0007T\u0002\u0002\u1df3\u1df4\u0007", + "G\u0002\u0002\u1df4\u1df5\u0007F\u0002\u0002\u1df5\u1df6\u0007a\u0002", + "\u0002\u1df6\u1df7\u0007W\u0002\u0002\u1df7\u1df8\u0007U\u0002\u0002", + "\u1df8\u1df9\u0007G\u0002\u0002\u1df9\u1dfa\u0007T\u0002\u0002\u1dfa", + "\u04e0\u0003\u0002\u0002\u0002\u1dfb\u1dfc\u0007R\u0002\u0002\u1dfc", + "\u1dfd\u0007G\u0002\u0002\u1dfd\u1dfe\u0007T\u0002\u0002\u1dfe\u1dff", + "\u0007U\u0002\u0002\u1dff\u1e00\u0007K\u0002\u0002\u1e00\u1e01\u0007", + "U\u0002\u0002\u1e01\u1e02\u0007V\u0002\u0002\u1e02\u1e03\u0007a\u0002", + "\u0002\u1e03\u1e04\u0007T\u0002\u0002\u1e04\u1e05\u0007Q\u0002\u0002", + "\u1e05\u1e06\u0007a\u0002\u0002\u1e06\u1e07\u0007X\u0002\u0002\u1e07", + "\u1e08\u0007C\u0002\u0002\u1e08\u1e09\u0007T\u0002\u0002\u1e09\u1e0a", + "\u0007K\u0002\u0002\u1e0a\u1e0b\u0007C\u0002\u0002\u1e0b\u1e0c\u0007", + "D\u0002\u0002\u1e0c\u1e0d\u0007N\u0002\u0002\u1e0d\u1e0e\u0007G\u0002", + "\u0002\u1e0e\u1e0f\u0007U\u0002\u0002\u1e0f\u1e10\u0007a\u0002\u0002", + "\u1e10\u1e11\u0007C\u0002\u0002\u1e11\u1e12\u0007F\u0002\u0002\u1e12", + "\u1e13\u0007O\u0002\u0002\u1e13\u1e14\u0007K\u0002\u0002\u1e14\u1e15", + "\u0007P\u0002\u0002\u1e15\u04e2\u0003\u0002\u0002\u0002\u1e16\u1e17", + "\u0007T\u0002\u0002\u1e17\u1e18\u0007G\u0002\u0002\u1e18\u1e19\u0007", + "R\u0002\u0002\u1e19\u1e1a\u0007N\u0002\u0002\u1e1a\u1e1b\u0007K\u0002", + "\u0002\u1e1b\u1e1c\u0007E\u0002\u0002\u1e1c\u1e1d\u0007C\u0002\u0002", + "\u1e1d\u1e1e\u0007V\u0002\u0002\u1e1e\u1e1f\u0007K\u0002\u0002\u1e1f", + "\u1e20\u0007Q\u0002\u0002\u1e20\u1e21\u0007P\u0002\u0002\u1e21\u1e22", + "\u0007a\u0002\u0002\u1e22\u1e23\u0007C\u0002\u0002\u1e23\u1e24\u0007", + "R\u0002\u0002\u1e24\u1e25\u0007R\u0002\u0002\u1e25\u1e26\u0007N\u0002", + "\u0002\u1e26\u1e27\u0007K\u0002\u0002\u1e27\u1e28\u0007G\u0002\u0002", + "\u1e28\u1e29\u0007T\u0002\u0002\u1e29\u04e4\u0003\u0002\u0002\u0002", + "\u1e2a\u1e2b\u0007T\u0002\u0002\u1e2b\u1e2c\u0007G\u0002\u0002\u1e2c", + "\u1e2d\u0007R\u0002\u0002\u1e2d\u1e2e\u0007N\u0002\u0002\u1e2e\u1e2f", + "\u0007K\u0002\u0002\u1e2f\u1e30\u0007E\u0002\u0002\u1e30\u1e31\u0007", + "C\u0002\u0002\u1e31\u1e32\u0007V\u0002\u0002\u1e32\u1e33\u0007K\u0002", + "\u0002\u1e33\u1e34\u0007Q\u0002\u0002\u1e34\u1e35\u0007P\u0002\u0002", + "\u1e35\u1e36\u0007a\u0002\u0002\u1e36\u1e37\u0007U\u0002\u0002\u1e37", + "\u1e38\u0007N\u0002\u0002\u1e38\u1e39\u0007C\u0002\u0002\u1e39\u1e3a", + "\u0007X\u0002\u0002\u1e3a\u1e3b\u0007G\u0002\u0002\u1e3b\u1e3c\u0007", + "a\u0002\u0002\u1e3c\u1e3d\u0007C\u0002\u0002\u1e3d\u1e3e\u0007F\u0002", + "\u0002\u1e3e\u1e3f\u0007O\u0002\u0002\u1e3f\u1e40\u0007K\u0002\u0002", + "\u1e40\u1e41\u0007P\u0002\u0002\u1e41\u04e6\u0003\u0002\u0002\u0002", + "\u1e42\u1e43\u0007T\u0002\u0002\u1e43\u1e44\u0007G\u0002\u0002\u1e44", + "\u1e45\u0007U\u0002\u0002\u1e45\u1e46\u0007Q\u0002\u0002\u1e46\u1e47", + "\u0007W\u0002\u0002\u1e47\u1e48\u0007T\u0002\u0002\u1e48\u1e49\u0007", + "E\u0002\u0002\u1e49\u1e4a\u0007G\u0002\u0002\u1e4a\u1e4b\u0007a\u0002", + "\u0002\u1e4b\u1e4c\u0007I\u0002\u0002\u1e4c\u1e4d\u0007T\u0002\u0002", + "\u1e4d\u1e4e\u0007Q\u0002\u0002\u1e4e\u1e4f\u0007W\u0002\u0002\u1e4f", + "\u1e50\u0007R\u0002\u0002\u1e50\u1e51\u0007a\u0002\u0002\u1e51\u1e52", + "\u0007C\u0002\u0002\u1e52\u1e53\u0007F\u0002\u0002\u1e53\u1e54\u0007", + "O\u0002\u0002\u1e54\u1e55\u0007K\u0002\u0002\u1e55\u1e56\u0007P\u0002", + "\u0002\u1e56\u04e8\u0003\u0002\u0002\u0002\u1e57\u1e58\u0007T\u0002", + "\u0002\u1e58\u1e59\u0007G\u0002\u0002\u1e59\u1e5a\u0007U\u0002\u0002", + "\u1e5a\u1e5b\u0007Q\u0002\u0002\u1e5b\u1e5c\u0007W\u0002\u0002\u1e5c", + "\u1e5d\u0007T\u0002\u0002\u1e5d\u1e5e\u0007E\u0002\u0002\u1e5e\u1e5f", + "\u0007G\u0002\u0002\u1e5f\u1e60\u0007a\u0002\u0002\u1e60\u1e61\u0007", + "I\u0002\u0002\u1e61\u1e62\u0007T\u0002\u0002\u1e62\u1e63\u0007Q\u0002", + "\u0002\u1e63\u1e64\u0007W\u0002\u0002\u1e64\u1e65\u0007R\u0002\u0002", + "\u1e65\u1e66\u0007a\u0002\u0002\u1e66\u1e67\u0007W\u0002\u0002\u1e67", + "\u1e68\u0007U\u0002\u0002\u1e68\u1e69\u0007G\u0002\u0002\u1e69\u1e6a", + "\u0007T\u0002\u0002\u1e6a\u04ea\u0003\u0002\u0002\u0002\u1e6b\u1e6c", + "\u0007T\u0002\u0002\u1e6c\u1e6d\u0007Q\u0002\u0002\u1e6d\u1e6e\u0007", + "N\u0002\u0002\u1e6e\u1e6f\u0007G\u0002\u0002\u1e6f\u1e70\u0007a\u0002", + "\u0002\u1e70\u1e71\u0007C\u0002\u0002\u1e71\u1e72\u0007F\u0002\u0002", + "\u1e72\u1e73\u0007O\u0002\u0002\u1e73\u1e74\u0007K\u0002\u0002\u1e74", + "\u1e75\u0007P\u0002\u0002\u1e75\u04ec\u0003\u0002\u0002\u0002\u1e76", + "\u1e78\u0005\u0811\u0409\u0002\u1e77\u1e76\u0003\u0002\u0002\u0002\u1e77", + "\u1e78\u0003\u0002\u0002\u0002\u1e78\u1e79\u0003\u0002\u0002\u0002\u1e79", + "\u1e7a\u0007U\u0002\u0002\u1e7a\u1e7b\u0007G\u0002\u0002\u1e7b\u1e7c", + "\u0007U\u0002\u0002\u1e7c\u1e7d\u0007U\u0002\u0002\u1e7d\u1e7e\u0007", + "K\u0002\u0002\u1e7e\u1e7f\u0007Q\u0002\u0002\u1e7f\u1e80\u0007P\u0002", + "\u0002\u1e80\u1e81\u0007a\u0002\u0002\u1e81\u1e82\u0007X\u0002\u0002", + "\u1e82\u1e83\u0007C\u0002\u0002\u1e83\u1e84\u0007T\u0002\u0002\u1e84", + "\u1e85\u0007K\u0002\u0002\u1e85\u1e86\u0007C\u0002\u0002\u1e86\u1e87", + "\u0007D\u0002\u0002\u1e87\u1e88\u0007N\u0002\u0002\u1e88\u1e89\u0007", + "G\u0002\u0002\u1e89\u1e8a\u0007U\u0002\u0002\u1e8a\u1e8b\u0007a\u0002", + "\u0002\u1e8b\u1e8c\u0007C\u0002\u0002\u1e8c\u1e8d\u0007F\u0002\u0002", + "\u1e8d\u1e8e\u0007O\u0002\u0002\u1e8e\u1e8f\u0007K\u0002\u0002\u1e8f", + "\u1e90\u0007P\u0002\u0002\u1e90\u1e92\u0003\u0002\u0002\u0002\u1e91", + "\u1e93\u0005\u0811\u0409\u0002\u1e92\u1e91\u0003\u0002\u0002\u0002\u1e92", + "\u1e93\u0003\u0002\u0002\u0002\u1e93\u04ee\u0003\u0002\u0002\u0002\u1e94", + "\u1e95\u0007U\u0002\u0002\u1e95\u1e96\u0007G\u0002\u0002\u1e96\u1e97", + "\u0007V\u0002\u0002\u1e97\u1e98\u0007a\u0002\u0002\u1e98\u1e99\u0007", + "W\u0002\u0002\u1e99\u1e9a\u0007U\u0002\u0002\u1e9a\u1e9b\u0007G\u0002", + "\u0002\u1e9b\u1e9c\u0007T\u0002\u0002\u1e9c\u1e9d\u0007a\u0002\u0002", + "\u1e9d\u1e9e\u0007K\u0002\u0002\u1e9e\u1e9f\u0007F\u0002\u0002\u1e9f", + "\u04f0\u0003\u0002\u0002\u0002\u1ea0\u1ea1\u0007U\u0002\u0002\u1ea1", + "\u1ea2\u0007J\u0002\u0002\u1ea2\u1ea3\u0007Q\u0002\u0002\u1ea3\u1ea4", + "\u0007Y\u0002\u0002\u1ea4\u1ea5\u0007a\u0002\u0002\u1ea5\u1ea6\u0007", + "T\u0002\u0002\u1ea6\u1ea7\u0007Q\u0002\u0002\u1ea7\u1ea8\u0007W\u0002", + "\u0002\u1ea8\u1ea9\u0007V\u0002\u0002\u1ea9\u1eaa\u0007K\u0002\u0002", + "\u1eaa\u1eab\u0007P\u0002\u0002\u1eab\u1eac\u0007G\u0002\u0002\u1eac", + "\u04f2\u0003\u0002\u0002\u0002\u1ead\u1eae\u0007U\u0002\u0002\u1eae", + "\u1eaf\u0007[\u0002\u0002\u1eaf\u1eb0\u0007U\u0002\u0002\u1eb0\u1eb1", + "\u0007V\u0002\u0002\u1eb1\u1eb2\u0007G\u0002\u0002\u1eb2\u1eb3\u0007", + "O\u0002\u0002\u1eb3\u1eb4\u0007a\u0002\u0002\u1eb4\u1eb5\u0007X\u0002", + "\u0002\u1eb5\u1eb6\u0007C\u0002\u0002\u1eb6\u1eb7\u0007T\u0002\u0002", + "\u1eb7\u1eb8\u0007K\u0002\u0002\u1eb8\u1eb9\u0007C\u0002\u0002\u1eb9", + "\u1eba\u0007D\u0002\u0002\u1eba\u1ebb\u0007N\u0002\u0002\u1ebb\u1ebc", + "\u0007G\u0002\u0002\u1ebc\u1ebd\u0007U\u0002\u0002\u1ebd\u1ebe\u0007", + "a\u0002\u0002\u1ebe\u1ebf\u0007C\u0002\u0002\u1ebf\u1ec0\u0007F\u0002", + "\u0002\u1ec0\u1ec1\u0007O\u0002\u0002\u1ec1\u1ec2\u0007K\u0002\u0002", + "\u1ec2\u1ec3\u0007P\u0002\u0002\u1ec3\u04f4\u0003\u0002\u0002\u0002", + "\u1ec4\u1ec5\u0007V\u0002\u0002\u1ec5\u1ec6\u0007C\u0002\u0002\u1ec6", + "\u1ec7\u0007D\u0002\u0002\u1ec7\u1ec8\u0007N\u0002\u0002\u1ec8\u1ec9", + "\u0007G\u0002\u0002\u1ec9\u1eca\u0007a\u0002\u0002\u1eca\u1ecb\u0007", + "G\u0002\u0002\u1ecb\u1ecc\u0007P\u0002\u0002\u1ecc\u1ecd\u0007E\u0002", + "\u0002\u1ecd\u1ece\u0007T\u0002\u0002\u1ece\u1ecf\u0007[\u0002\u0002", + "\u1ecf\u1ed0\u0007R\u0002\u0002\u1ed0\u1ed1\u0007V\u0002\u0002\u1ed1", + "\u1ed2\u0007K\u0002\u0002\u1ed2\u1ed3\u0007Q\u0002\u0002\u1ed3\u1ed4", + "\u0007P\u0002\u0002\u1ed4\u1ed5\u0007a\u0002\u0002\u1ed5\u1ed6\u0007", + "C\u0002\u0002\u1ed6\u1ed7\u0007F\u0002\u0002\u1ed7\u1ed8\u0007O\u0002", + "\u0002\u1ed8\u1ed9\u0007K\u0002\u0002\u1ed9\u1eda\u0007P\u0002\u0002", + "\u1eda\u04f6\u0003\u0002\u0002\u0002\u1edb\u1edc\u0007X\u0002\u0002", + "\u1edc\u1edd\u0007G\u0002\u0002\u1edd\u1ede\u0007T\u0002\u0002\u1ede", + "\u1edf\u0007U\u0002\u0002\u1edf\u1ee0\u0007K\u0002\u0002\u1ee0\u1ee1", + "\u0007Q\u0002\u0002\u1ee1\u1ee2\u0007P\u0002\u0002\u1ee2\u1ee3\u0007", + "a\u0002\u0002\u1ee3\u1ee4\u0007V\u0002\u0002\u1ee4\u1ee5\u0007Q\u0002", + "\u0002\u1ee5\u1ee6\u0007M\u0002\u0002\u1ee6\u1ee7\u0007G\u0002\u0002", + "\u1ee7\u1ee8\u0007P\u0002\u0002\u1ee8\u1ee9\u0007a\u0002\u0002\u1ee9", + "\u1eea\u0007C\u0002\u0002\u1eea\u1eeb\u0007F\u0002\u0002\u1eeb\u1eec", + "\u0007O\u0002\u0002\u1eec\u1eed\u0007K\u0002\u0002\u1eed\u1eee\u0007", + "P\u0002\u0002\u1eee\u04f8\u0003\u0002\u0002\u0002\u1eef\u1ef0\u0007", + "Z\u0002\u0002\u1ef0\u1ef1\u0007C\u0002\u0002\u1ef1\u1ef2\u0007a\u0002", + "\u0002\u1ef2\u1ef3\u0007T\u0002\u0002\u1ef3\u1ef4\u0007G\u0002\u0002", + "\u1ef4\u1ef5\u0007E\u0002\u0002\u1ef5\u1ef6\u0007Q\u0002\u0002\u1ef6", + "\u1ef7\u0007X\u0002\u0002\u1ef7\u1ef8\u0007G\u0002\u0002\u1ef8\u1ef9", + "\u0007T\u0002\u0002\u1ef9\u1efa\u0007a\u0002\u0002\u1efa\u1efb\u0007", + "C\u0002\u0002\u1efb\u1efc\u0007F\u0002\u0002\u1efc\u1efd\u0007O\u0002", + "\u0002\u1efd\u1efe\u0007K\u0002\u0002\u1efe\u1eff\u0007P\u0002\u0002", + "\u1eff\u04fa\u0003\u0002\u0002\u0002\u1f00\u1f01\u0007C\u0002\u0002", + "\u1f01\u1f02\u0007T\u0002\u0002\u1f02\u1f03\u0007O\u0002\u0002\u1f03", + "\u1f04\u0007U\u0002\u0002\u1f04\u1f05\u0007E\u0002\u0002\u1f05\u1f06", + "\u0007K\u0002\u0002\u1f06\u1f07\u0007K\u0002\u0002\u1f07\u1f08\u0007", + ":\u0002\u0002\u1f08\u04fc\u0003\u0002\u0002\u0002\u1f09\u1f0a\u0007", + "C\u0002\u0002\u1f0a\u1f0b\u0007U\u0002\u0002\u1f0b\u1f0c\u0007E\u0002", + "\u0002\u1f0c\u1f0d\u0007K\u0002\u0002\u1f0d\u1f0e\u0007K\u0002\u0002", + "\u1f0e\u04fe\u0003\u0002\u0002\u0002\u1f0f\u1f10\u0007D\u0002\u0002", + "\u1f10\u1f11\u0007K\u0002\u0002\u1f11\u1f12\u0007I\u0002\u0002\u1f12", + "\u1f13\u00077\u0002\u0002\u1f13\u0500\u0003\u0002\u0002\u0002\u1f14", + "\u1f15\u0007E\u0002\u0002\u1f15\u1f16\u0007R\u0002\u0002\u1f16\u1f17", + "\u00073\u0002\u0002\u1f17\u1f18\u00074\u0002\u0002\u1f18\u1f19\u0007", + "7\u0002\u0002\u1f19\u1f1a\u00072\u0002\u0002\u1f1a\u0502\u0003\u0002", + "\u0002\u0002\u1f1b\u1f1c\u0007E\u0002\u0002\u1f1c\u1f1d\u0007R\u0002", + "\u0002\u1f1d\u1f1e\u00073\u0002\u0002\u1f1e\u1f1f\u00074\u0002\u0002", + "\u1f1f\u1f20\u00077\u0002\u0002\u1f20\u1f21\u00073\u0002\u0002\u1f21", + "\u0504\u0003\u0002\u0002\u0002\u1f22\u1f23\u0007E\u0002\u0002\u1f23", + "\u1f24\u0007R\u0002\u0002\u1f24\u1f25\u00073\u0002\u0002\u1f25\u1f26", + "\u00074\u0002\u0002\u1f26\u1f27\u00077\u0002\u0002\u1f27\u1f28\u0007", + "8\u0002\u0002\u1f28\u0506\u0003\u0002\u0002\u0002\u1f29\u1f2a\u0007", + "E\u0002\u0002\u1f2a\u1f2b\u0007R\u0002\u0002\u1f2b\u1f2c\u00073\u0002", + "\u0002\u1f2c\u1f2d\u00074\u0002\u0002\u1f2d\u1f2e\u00077\u0002\u0002", + "\u1f2e\u1f2f\u00079\u0002\u0002\u1f2f\u0508\u0003\u0002\u0002\u0002", + "\u1f30\u1f31\u0007E\u0002\u0002\u1f31\u1f32\u0007R\u0002\u0002\u1f32", + "\u1f33\u0007:\u0002\u0002\u1f33\u1f34\u00077\u0002\u0002\u1f34\u1f35", + "\u00072\u0002\u0002\u1f35\u050a\u0003\u0002\u0002\u0002\u1f36\u1f37", + "\u0007E\u0002\u0002\u1f37\u1f38\u0007R\u0002\u0002\u1f38\u1f39\u0007", + ":\u0002\u0002\u1f39\u1f3a\u00077\u0002\u0002\u1f3a\u1f3b\u00074\u0002", + "\u0002\u1f3b\u050c\u0003\u0002\u0002\u0002\u1f3c\u1f3d\u0007E\u0002", + "\u0002\u1f3d\u1f3e\u0007R\u0002\u0002\u1f3e\u1f3f\u0007:\u0002\u0002", + "\u1f3f\u1f40\u00078\u0002\u0002\u1f40\u1f41\u00078\u0002\u0002\u1f41", + "\u050e\u0003\u0002\u0002\u0002\u1f42\u1f43\u0007E\u0002\u0002\u1f43", + "\u1f44\u0007R\u0002\u0002\u1f44\u1f45\u0007;\u0002\u0002\u1f45\u1f46", + "\u00075\u0002\u0002\u1f46\u1f47\u00074\u0002\u0002\u1f47\u0510\u0003", + "\u0002\u0002\u0002\u1f48\u1f49\u0007F\u0002\u0002\u1f49\u1f4a\u0007", + "G\u0002\u0002\u1f4a\u1f4b\u0007E\u0002\u0002\u1f4b\u1f4c\u0007:\u0002", + "\u0002\u1f4c\u0512\u0003\u0002\u0002\u0002\u1f4d\u1f4e\u0007G\u0002", + "\u0002\u1f4e\u1f4f\u0007W\u0002\u0002\u1f4f\u1f50\u0007E\u0002\u0002", + "\u1f50\u1f51\u0007L\u0002\u0002\u1f51\u1f52\u0007R\u0002\u0002\u1f52", + "\u1f53\u0007O\u0002\u0002\u1f53\u1f54\u0007U\u0002\u0002\u1f54\u0514", + "\u0003\u0002\u0002\u0002\u1f55\u1f56\u0007G\u0002\u0002\u1f56\u1f57", + "\u0007W\u0002\u0002\u1f57\u1f58\u0007E\u0002\u0002\u1f58\u1f59\u0007", + "M\u0002\u0002\u1f59\u1f5a\u0007T\u0002\u0002\u1f5a\u0516\u0003\u0002", + "\u0002\u0002\u1f5b\u1f5c\u0007I\u0002\u0002\u1f5c\u1f5d\u0007D\u0002", + "\u0002\u1f5d\u1f5e\u00074\u0002\u0002\u1f5e\u1f5f\u00075\u0002\u0002", + "\u1f5f\u1f60\u00073\u0002\u0002\u1f60\u1f61\u00074\u0002\u0002\u1f61", + "\u0518\u0003\u0002\u0002\u0002\u1f62\u1f63\u0007I\u0002\u0002\u1f63", + "\u1f64\u0007D\u0002\u0002\u1f64\u1f65\u0007M\u0002\u0002\u1f65\u051a", + "\u0003\u0002\u0002\u0002\u1f66\u1f67\u0007I\u0002\u0002\u1f67\u1f68", + "\u0007G\u0002\u0002\u1f68\u1f69\u0007Q\u0002\u0002\u1f69\u1f6a\u0007", + "U\u0002\u0002\u1f6a\u1f6b\u0007V\u0002\u0002\u1f6b\u1f6c\u0007F\u0002", + "\u0002\u1f6c\u1f6d\u0007:\u0002\u0002\u1f6d\u051c\u0003\u0002\u0002", + "\u0002\u1f6e\u1f6f\u0007I\u0002\u0002\u1f6f\u1f70\u0007T\u0002\u0002", + "\u1f70\u1f71\u0007G\u0002\u0002\u1f71\u1f72\u0007G\u0002\u0002\u1f72", + "\u1f73\u0007M\u0002\u0002\u1f73\u051e\u0003\u0002\u0002\u0002\u1f74", + "\u1f75\u0007J\u0002\u0002\u1f75\u1f76\u0007G\u0002\u0002\u1f76\u1f77", + "\u0007D\u0002\u0002\u1f77\u1f78\u0007T\u0002\u0002\u1f78\u1f79\u0007", + "G\u0002\u0002\u1f79\u1f7a\u0007Y\u0002\u0002\u1f7a\u0520\u0003\u0002", + "\u0002\u0002\u1f7b\u1f7c\u0007J\u0002\u0002\u1f7c\u1f7d\u0007R\u0002", + "\u0002\u1f7d\u1f7e\u0007:\u0002\u0002\u1f7e\u0522\u0003\u0002\u0002", + "\u0002\u1f7f\u1f80\u0007M\u0002\u0002\u1f80\u1f81\u0007G\u0002\u0002", + "\u1f81\u1f82\u0007[\u0002\u0002\u1f82\u1f83\u0007D\u0002\u0002\u1f83", + "\u1f84\u0007E\u0002\u0002\u1f84\u1f85\u0007U\u0002\u0002\u1f85\u1f86", + "\u00074\u0002\u0002\u1f86\u0524\u0003\u0002\u0002\u0002\u1f87\u1f88", + "\u0007M\u0002\u0002\u1f88\u1f89\u0007Q\u0002\u0002\u1f89\u1f8a\u0007", + "K\u0002\u0002\u1f8a\u1f8b\u0007:\u0002\u0002\u1f8b\u1f8c\u0007T\u0002", + "\u0002\u1f8c\u0526\u0003\u0002\u0002\u0002\u1f8d\u1f8e\u0007M\u0002", + "\u0002\u1f8e\u1f8f\u0007Q\u0002\u0002\u1f8f\u1f90\u0007K\u0002\u0002", + "\u1f90\u1f91\u0007:\u0002\u0002\u1f91\u1f92\u0007W\u0002\u0002\u1f92", + "\u0528\u0003\u0002\u0002\u0002\u1f93\u1f94\u0007N\u0002\u0002\u1f94", + "\u1f95\u0007C\u0002\u0002\u1f95\u1f96\u0007V\u0002\u0002\u1f96\u1f97", + "\u0007K\u0002\u0002\u1f97\u1f98\u0007P\u0002\u0002\u1f98\u1f99\u0007", + "3\u0002\u0002\u1f99\u052a\u0003\u0002\u0002\u0002\u1f9a\u1f9b\u0007", + "N\u0002\u0002\u1f9b\u1f9c\u0007C\u0002\u0002\u1f9c\u1f9d\u0007V\u0002", + "\u0002\u1f9d\u1f9e\u0007K\u0002\u0002\u1f9e\u1f9f\u0007P\u0002\u0002", + "\u1f9f\u1fa0\u00074\u0002\u0002\u1fa0\u052c\u0003\u0002\u0002\u0002", + "\u1fa1\u1fa2\u0007N\u0002\u0002\u1fa2\u1fa3\u0007C\u0002\u0002\u1fa3", + "\u1fa4\u0007V\u0002\u0002\u1fa4\u1fa5\u0007K\u0002\u0002\u1fa5\u1fa6", + "\u0007P\u0002\u0002\u1fa6\u1fa7\u00077\u0002\u0002\u1fa7\u052e\u0003", + "\u0002\u0002\u0002\u1fa8\u1fa9\u0007N\u0002\u0002\u1fa9\u1faa\u0007", + "C\u0002\u0002\u1faa\u1fab\u0007V\u0002\u0002\u1fab\u1fac\u0007K\u0002", + "\u0002\u1fac\u1fad\u0007P\u0002\u0002\u1fad\u1fae\u00079\u0002\u0002", + "\u1fae\u0530\u0003\u0002\u0002\u0002\u1faf\u1fb0\u0007O\u0002\u0002", + "\u1fb0\u1fb1\u0007C\u0002\u0002\u1fb1\u1fb2\u0007E\u0002\u0002\u1fb2", + "\u1fb3\u0007E\u0002\u0002\u1fb3\u1fb4\u0007G\u0002\u0002\u1fb4\u0532", + "\u0003\u0002\u0002\u0002\u1fb5\u1fb6\u0007O\u0002\u0002\u1fb6\u1fb7", + "\u0007C\u0002\u0002\u1fb7\u1fb8\u0007E\u0002\u0002\u1fb8\u1fb9\u0007", + "T\u0002\u0002\u1fb9\u1fba\u0007Q\u0002\u0002\u1fba\u1fbb\u0007O\u0002", + "\u0002\u1fbb\u1fbc\u0007C\u0002\u0002\u1fbc\u1fbd\u0007P\u0002\u0002", + "\u1fbd\u0534\u0003\u0002\u0002\u0002\u1fbe\u1fbf\u0007U\u0002\u0002", + "\u1fbf\u1fc0\u0007L\u0002\u0002\u1fc0\u1fc1\u0007K\u0002\u0002\u1fc1", + "\u1fc2\u0007U\u0002\u0002\u1fc2\u0536\u0003\u0002\u0002\u0002\u1fc3", + "\u1fc4\u0007U\u0002\u0002\u1fc4\u1fc5\u0007Y\u0002\u0002\u1fc5\u1fc6", + "\u0007G\u0002\u0002\u1fc6\u1fc7\u00079\u0002\u0002\u1fc7\u0538\u0003", + "\u0002\u0002\u0002\u1fc8\u1fc9\u0007V\u0002\u0002\u1fc9\u1fca\u0007", + "K\u0002\u0002\u1fca\u1fcb\u0007U\u0002\u0002\u1fcb\u1fcc\u00078\u0002", + "\u0002\u1fcc\u1fcd\u00074\u0002\u0002\u1fcd\u1fce\u00072\u0002\u0002", + "\u1fce\u053a\u0003\u0002\u0002\u0002\u1fcf\u1fd0\u0007W\u0002\u0002", + "\u1fd0\u1fd1\u0007E\u0002\u0002\u1fd1\u1fd2\u0007U\u0002\u0002\u1fd2", + "\u1fd3\u00074\u0002\u0002\u1fd3\u053c\u0003\u0002\u0002\u0002\u1fd4", + "\u1fd5\u0007W\u0002\u0002\u1fd5\u1fd6\u0007L\u0002\u0002\u1fd6\u1fd7", + "\u0007K\u0002\u0002\u1fd7\u1fd8\u0007U\u0002\u0002\u1fd8\u053e\u0003", + "\u0002\u0002\u0002\u1fd9\u1fda\u0007W\u0002\u0002\u1fda\u1fdb\u0007", + "V\u0002\u0002\u1fdb\u1fdc\u0007H\u0002\u0002\u1fdc\u1fdd\u00073\u0002", + "\u0002\u1fdd\u1fde\u00078\u0002\u0002\u1fde\u0540\u0003\u0002\u0002", + "\u0002\u1fdf\u1fe0\u0007W\u0002\u0002\u1fe0\u1fe1\u0007V\u0002\u0002", + "\u1fe1\u1fe2\u0007H\u0002\u0002\u1fe2\u1fe3\u00073\u0002\u0002\u1fe3", + "\u1fe4\u00078\u0002\u0002\u1fe4\u1fe5\u0007N\u0002\u0002\u1fe5\u1fe6", + "\u0007G\u0002\u0002\u1fe6\u0542\u0003\u0002\u0002\u0002\u1fe7\u1fe8", + "\u0007W\u0002\u0002\u1fe8\u1fe9\u0007V\u0002\u0002\u1fe9\u1fea\u0007", + "H\u0002\u0002\u1fea\u1feb\u00075\u0002\u0002\u1feb\u1fec\u00074\u0002", + "\u0002\u1fec\u0544\u0003\u0002\u0002\u0002\u1fed\u1fee\u0007W\u0002", + "\u0002\u1fee\u1fef\u0007V\u0002\u0002\u1fef\u1ff0\u0007H\u0002\u0002", + "\u1ff0\u1ff1\u0007:\u0002\u0002\u1ff1\u0546\u0003\u0002\u0002\u0002", + "\u1ff2\u1ff3\u0007W\u0002\u0002\u1ff3\u1ff4\u0007V\u0002\u0002\u1ff4", + "\u1ff5\u0007H\u0002\u0002\u1ff5\u1ff6\u0007:\u0002\u0002\u1ff6\u1ff7", + "\u0007O\u0002\u0002\u1ff7\u1ff8\u0007D\u0002\u0002\u1ff8\u1ff9\u0007", + "5\u0002\u0002\u1ff9\u0548\u0003\u0002\u0002\u0002\u1ffa\u1ffb\u0007", + "W\u0002\u0002\u1ffb\u1ffc\u0007V\u0002\u0002\u1ffc\u1ffd\u0007H\u0002", + "\u0002\u1ffd\u1ffe\u0007:\u0002\u0002\u1ffe\u1fff\u0007O\u0002\u0002", + "\u1fff\u2000\u0007D\u0002\u0002\u2000\u2001\u00076\u0002\u0002\u2001", + "\u054a\u0003\u0002\u0002\u0002\u2002\u2003\u0007C\u0002\u0002\u2003", + "\u2004\u0007T\u0002\u0002\u2004\u2005\u0007E\u0002\u0002\u2005\u2006", + "\u0007J\u0002\u0002\u2006\u2007\u0007K\u0002\u0002\u2007\u2008\u0007", + "X\u0002\u0002\u2008\u2009\u0007G\u0002\u0002\u2009\u054c\u0003\u0002", + "\u0002\u0002\u200a\u200b\u0007D\u0002\u0002\u200b\u200c\u0007N\u0002", + "\u0002\u200c\u200d\u0007C\u0002\u0002\u200d\u200e\u0007E\u0002\u0002", + "\u200e\u200f\u0007M\u0002\u0002\u200f\u2010\u0007J\u0002\u0002\u2010", + "\u2011\u0007Q\u0002\u0002\u2011\u2012\u0007N\u0002\u0002\u2012\u2013", + "\u0007G\u0002\u0002\u2013\u054e\u0003\u0002\u0002\u0002\u2014\u2015", + "\u0007E\u0002\u0002\u2015\u2016\u0007U\u0002\u0002\u2016\u2017\u0007", + "X\u0002\u0002\u2017\u0550\u0003\u0002\u0002\u0002\u2018\u2019\u0007", + "H\u0002\u0002\u2019\u201a\u0007G\u0002\u0002\u201a\u201b\u0007F\u0002", + "\u0002\u201b\u201c\u0007G\u0002\u0002\u201c\u201d\u0007T\u0002\u0002", + "\u201d\u201e\u0007C\u0002\u0002\u201e\u201f\u0007V\u0002\u0002\u201f", + "\u2020\u0007G\u0002\u0002\u2020\u2021\u0007F\u0002\u0002\u2021\u0552", + "\u0003\u0002\u0002\u0002\u2022\u2023\u0007K\u0002\u0002\u2023\u2024", + "\u0007P\u0002\u0002\u2024\u2025\u0007P\u0002\u0002\u2025\u2026\u0007", + "Q\u0002\u0002\u2026\u2027\u0007F\u0002\u0002\u2027\u2028\u0007D\u0002", + "\u0002\u2028\u0554\u0003\u0002\u0002\u0002\u2029\u202a\u0007O\u0002", + "\u0002\u202a\u202b\u0007G\u0002\u0002\u202b\u202c\u0007O\u0002\u0002", + "\u202c\u202d\u0007Q\u0002\u0002\u202d\u202e\u0007T\u0002\u0002\u202e", + "\u202f\u0007[\u0002\u0002\u202f\u0556\u0003\u0002\u0002\u0002\u2030", + "\u2031\u0007O\u0002\u0002\u2031\u2032\u0007T\u0002\u0002\u2032\u2033", + "\u0007I\u0002\u0002\u2033\u2034\u0007a\u0002\u0002\u2034\u2035\u0007", + "O\u0002\u0002\u2035\u2036\u0007[\u0002\u0002\u2036\u2037\u0007K\u0002", + "\u0002\u2037\u2038\u0007U\u0002\u0002\u2038\u2039\u0007C\u0002\u0002", + "\u2039\u203a\u0007O\u0002\u0002\u203a\u0558\u0003\u0002\u0002\u0002", + "\u203b\u203c\u0007O\u0002\u0002\u203c\u203d\u0007[\u0002\u0002\u203d", + "\u203e\u0007K\u0002\u0002\u203e\u203f\u0007U\u0002\u0002\u203f\u2040", + "\u0007C\u0002\u0002\u2040\u2041\u0007O\u0002\u0002\u2041\u055a\u0003", + "\u0002\u0002\u0002\u2042\u2043\u0007P\u0002\u0002\u2043\u2044\u0007", + "F\u0002\u0002\u2044\u2045\u0007D\u0002\u0002\u2045\u055c\u0003\u0002", + "\u0002\u0002\u2046\u2047\u0007P\u0002\u0002\u2047\u2048\u0007F\u0002", + "\u0002\u2048\u2049\u0007D\u0002\u0002\u2049\u204a\u0007E\u0002\u0002", + "\u204a\u204b\u0007N\u0002\u0002\u204b\u204c\u0007W\u0002\u0002\u204c", + "\u204d\u0007U\u0002\u0002\u204d\u204e\u0007V\u0002\u0002\u204e\u204f", + "\u0007G\u0002\u0002\u204f\u2050\u0007T\u0002\u0002\u2050\u055e\u0003", + "\u0002\u0002\u0002\u2051\u2052\u0007R\u0002\u0002\u2052\u2053\u0007", + "G\u0002\u0002\u2053\u2054\u0007T\u0002\u0002\u2054\u2055\u0007H\u0002", + "\u0002\u2055\u2056\u0007Q\u0002\u0002\u2056\u2057\u0007T\u0002\u0002", + "\u2057\u2058\u0007O\u0002\u0002\u2058\u2059\u0007C\u0002\u0002\u2059", + "\u205a\u0007P\u0002\u0002\u205a\u205b\u0007E\u0002\u0002\u205b\u205c", + "\u0007G\u0002\u0002\u205c\u205d\u0007a\u0002\u0002\u205d\u205e\u0007", + "U\u0002\u0002\u205e\u205f\u0007E\u0002\u0002\u205f\u2060\u0007J\u0002", + "\u0002\u2060\u2061\u0007G\u0002\u0002\u2061\u2062\u0007O\u0002\u0002", + "\u2062\u2063\u0007C\u0002\u0002\u2063\u0560\u0003\u0002\u0002\u0002", + "\u2064\u2065\u0007V\u0002\u0002\u2065\u2066\u0007Q\u0002\u0002\u2066", + "\u2067\u0007M\u0002\u0002\u2067\u2068\u0007W\u0002\u0002\u2068\u2069", + "\u0007F\u0002\u0002\u2069\u206a\u0007D\u0002\u0002\u206a\u0562\u0003", + "\u0002\u0002\u0002\u206b\u206c\u0007T\u0002\u0002\u206c\u206d\u0007", + "G\u0002\u0002\u206d\u206e\u0007R\u0002\u0002\u206e\u206f\u0007G\u0002", + "\u0002\u206f\u2070\u0007C\u0002\u0002\u2070\u2071\u0007V\u0002\u0002", + "\u2071\u2072\u0007C\u0002\u0002\u2072\u2073\u0007D\u0002\u0002\u2073", + "\u2074\u0007N\u0002\u0002\u2074\u2075\u0007G\u0002\u0002\u2075\u0564", + "\u0003\u0002\u0002\u0002\u2076\u2077\u0007E\u0002\u0002\u2077\u2078", + "\u0007Q\u0002\u0002\u2078\u2079\u0007O\u0002\u0002\u2079\u207a\u0007", + "O\u0002\u0002\u207a\u207b\u0007K\u0002\u0002\u207b\u207c\u0007V\u0002", + "\u0002\u207c\u207d\u0007V\u0002\u0002\u207d\u207e\u0007G\u0002\u0002", + "\u207e\u207f\u0007F\u0002\u0002\u207f\u0566\u0003\u0002\u0002\u0002", + "\u2080\u2081\u0007W\u0002\u0002\u2081\u2082\u0007P\u0002\u0002\u2082", + "\u2083\u0007E\u0002\u0002\u2083\u2084\u0007Q\u0002\u0002\u2084\u2085", + "\u0007O\u0002\u0002\u2085\u2086\u0007O\u0002\u0002\u2086\u2087\u0007", + "K\u0002\u0002\u2087\u2088\u0007V\u0002\u0002\u2088\u2089\u0007V\u0002", + "\u0002\u2089\u208a\u0007G\u0002\u0002\u208a\u208b\u0007F\u0002\u0002", + "\u208b\u0568\u0003\u0002\u0002\u0002\u208c\u208d\u0007U\u0002\u0002", + "\u208d\u208e\u0007G\u0002\u0002\u208e\u208f\u0007T\u0002\u0002\u208f", + "\u2090\u0007K\u0002\u0002\u2090\u2091\u0007C\u0002\u0002\u2091\u2092", + "\u0007N\u0002\u0002\u2092\u2093\u0007K\u0002\u0002\u2093\u2094\u0007", + "\\\u0002\u0002\u2094\u2095\u0007C\u0002\u0002\u2095\u2096\u0007D\u0002", + "\u0002\u2096\u2097\u0007N\u0002\u0002\u2097\u2098\u0007G\u0002\u0002", + "\u2098\u056a\u0003\u0002\u0002\u0002\u2099\u209a\u0007I\u0002\u0002", + "\u209a\u209b\u0007G\u0002\u0002\u209b\u209c\u0007Q\u0002\u0002\u209c", + "\u209d\u0007O\u0002\u0002\u209d\u209e\u0007G\u0002\u0002\u209e\u209f", + "\u0007V\u0002\u0002\u209f\u20a0\u0007T\u0002\u0002\u20a0\u20a1\u0007", + "[\u0002\u0002\u20a1\u20a2\u0007E\u0002\u0002\u20a2\u20a3\u0007Q\u0002", + "\u0002\u20a3\u20a4\u0007N\u0002\u0002\u20a4\u20a5\u0007N\u0002\u0002", + "\u20a5\u20a6\u0007G\u0002\u0002\u20a6\u20a7\u0007E\u0002\u0002\u20a7", + "\u20a8\u0007V\u0002\u0002\u20a8\u20a9\u0007K\u0002\u0002\u20a9\u20aa", + "\u0007Q\u0002\u0002\u20aa\u20ab\u0007P\u0002\u0002\u20ab\u056c\u0003", + "\u0002\u0002\u0002\u20ac\u20ad\u0007I\u0002\u0002\u20ad\u20ae\u0007", + "G\u0002\u0002\u20ae\u20af\u0007Q\u0002\u0002\u20af\u20b0\u0007O\u0002", + "\u0002\u20b0\u20b1\u0007E\u0002\u0002\u20b1\u20b2\u0007Q\u0002\u0002", + "\u20b2\u20b3\u0007N\u0002\u0002\u20b3\u20b4\u0007N\u0002\u0002\u20b4", + "\u20b5\u0007G\u0002\u0002\u20b5\u20b6\u0007E\u0002\u0002\u20b6\u20b7", + "\u0007V\u0002\u0002\u20b7\u20b8\u0007K\u0002\u0002\u20b8\u20b9\u0007", + "Q\u0002\u0002\u20b9\u20ba\u0007P\u0002\u0002\u20ba\u056e\u0003\u0002", + "\u0002\u0002\u20bb\u20bc\u0007I\u0002\u0002\u20bc\u20bd\u0007G\u0002", + "\u0002\u20bd\u20be\u0007Q\u0002\u0002\u20be\u20bf\u0007O\u0002\u0002", + "\u20bf\u20c0\u0007G\u0002\u0002\u20c0\u20c1\u0007V\u0002\u0002\u20c1", + "\u20c2\u0007T\u0002\u0002\u20c2\u20c3\u0007[\u0002\u0002\u20c3\u0570", + "\u0003\u0002\u0002\u0002\u20c4\u20c5\u0007N\u0002\u0002\u20c5\u20c6", + "\u0007K\u0002\u0002\u20c6\u20c7\u0007P\u0002\u0002\u20c7\u20c8\u0007", + "G\u0002\u0002\u20c8\u20c9\u0007U\u0002\u0002\u20c9\u20ca\u0007V\u0002", + "\u0002\u20ca\u20cb\u0007T\u0002\u0002\u20cb\u20cc\u0007K\u0002\u0002", + "\u20cc\u20cd\u0007P\u0002\u0002\u20cd\u20ce\u0007I\u0002\u0002\u20ce", + "\u0572\u0003\u0002\u0002\u0002\u20cf\u20d0\u0007O\u0002\u0002\u20d0", + "\u20d1\u0007W\u0002\u0002\u20d1\u20d2\u0007N\u0002\u0002\u20d2\u20d3", + "\u0007V\u0002\u0002\u20d3\u20d4\u0007K\u0002\u0002\u20d4\u20d5\u0007", + "N\u0002\u0002\u20d5\u20d6\u0007K\u0002\u0002\u20d6\u20d7\u0007P\u0002", + "\u0002\u20d7\u20d8\u0007G\u0002\u0002\u20d8\u20d9\u0007U\u0002\u0002", + "\u20d9\u20da\u0007V\u0002\u0002\u20da\u20db\u0007T\u0002\u0002\u20db", + "\u20dc\u0007K\u0002\u0002\u20dc\u20dd\u0007P\u0002\u0002\u20dd\u20de", + "\u0007I\u0002\u0002\u20de\u0574\u0003\u0002\u0002\u0002\u20df\u20e0", + "\u0007O\u0002\u0002\u20e0\u20e1\u0007W\u0002\u0002\u20e1\u20e2\u0007", + "N\u0002\u0002\u20e2\u20e3\u0007V\u0002\u0002\u20e3\u20e4\u0007K\u0002", + "\u0002\u20e4\u20e5\u0007R\u0002\u0002\u20e5\u20e6\u0007Q\u0002\u0002", + "\u20e6\u20e7\u0007K\u0002\u0002\u20e7\u20e8\u0007P\u0002\u0002\u20e8", + "\u20e9\u0007V\u0002\u0002\u20e9\u0576\u0003\u0002\u0002\u0002\u20ea", + "\u20eb\u0007O\u0002\u0002\u20eb\u20ec\u0007W\u0002\u0002\u20ec\u20ed", + "\u0007N\u0002\u0002\u20ed\u20ee\u0007V\u0002\u0002\u20ee\u20ef\u0007", + "K\u0002\u0002\u20ef\u20f0\u0007R\u0002\u0002\u20f0\u20f1\u0007Q\u0002", + "\u0002\u20f1\u20f2\u0007N\u0002\u0002\u20f2\u20f3\u0007[\u0002\u0002", + "\u20f3\u20f4\u0007I\u0002\u0002\u20f4\u20f5\u0007Q\u0002\u0002\u20f5", + "\u20f6\u0007P\u0002\u0002\u20f6\u0578\u0003\u0002\u0002\u0002\u20f7", + "\u20f8\u0007R\u0002\u0002\u20f8\u20f9\u0007Q\u0002\u0002\u20f9\u20fa", + "\u0007K\u0002\u0002\u20fa\u20fb\u0007P\u0002\u0002\u20fb\u20fc\u0007", + "V\u0002\u0002\u20fc\u057a\u0003\u0002\u0002\u0002\u20fd\u20fe\u0007", + "R\u0002\u0002\u20fe\u20ff\u0007Q\u0002\u0002\u20ff\u2100\u0007N\u0002", + "\u0002\u2100\u2101\u0007[\u0002\u0002\u2101\u2102\u0007I\u0002\u0002", + "\u2102\u2103\u0007Q\u0002\u0002\u2103\u2104\u0007P\u0002\u0002\u2104", + "\u057c\u0003\u0002\u0002\u0002\u2105\u2106\u0007C\u0002\u0002\u2106", + "\u2107\u0007D\u0002\u0002\u2107\u2108\u0007U\u0002\u0002\u2108\u057e", + "\u0003\u0002\u0002\u0002\u2109\u210a\u0007C\u0002\u0002\u210a\u210b", + "\u0007E\u0002\u0002\u210b\u210c\u0007Q\u0002\u0002\u210c\u210d\u0007", + "U\u0002\u0002\u210d\u0580\u0003\u0002\u0002\u0002\u210e\u210f\u0007", + "C\u0002\u0002\u210f\u2110\u0007F\u0002\u0002\u2110\u2111\u0007F\u0002", + "\u0002\u2111\u2112\u0007F\u0002\u0002\u2112\u2113\u0007C\u0002\u0002", + "\u2113\u2114\u0007V\u0002\u0002\u2114\u2115\u0007G\u0002\u0002\u2115", + "\u0582\u0003\u0002\u0002\u0002\u2116\u2117\u0007C\u0002\u0002\u2117", + "\u2118\u0007F\u0002\u0002\u2118\u2119\u0007F\u0002\u0002\u2119\u211a", + "\u0007V\u0002\u0002\u211a\u211b\u0007K\u0002\u0002\u211b\u211c\u0007", + "O\u0002\u0002\u211c\u211d\u0007G\u0002\u0002\u211d\u0584\u0003\u0002", + "\u0002\u0002\u211e\u211f\u0007C\u0002\u0002\u211f\u2120\u0007G\u0002", + "\u0002\u2120\u2121\u0007U\u0002\u0002\u2121\u2122\u0007a\u0002\u0002", + "\u2122\u2123\u0007F\u0002\u0002\u2123\u2124\u0007G\u0002\u0002\u2124", + "\u2125\u0007E\u0002\u0002\u2125\u2126\u0007T\u0002\u0002\u2126\u2127", + "\u0007[\u0002\u0002\u2127\u2128\u0007R\u0002\u0002\u2128\u2129\u0007", + "V\u0002\u0002\u2129\u0586\u0003\u0002\u0002\u0002\u212a\u212b\u0007", + "C\u0002\u0002\u212b\u212c\u0007G\u0002\u0002\u212c\u212d\u0007U\u0002", + "\u0002\u212d\u212e\u0007a\u0002\u0002\u212e\u212f\u0007G\u0002\u0002", + "\u212f\u2130\u0007P\u0002\u0002\u2130\u2131\u0007E\u0002\u0002\u2131", + "\u2132\u0007T\u0002\u0002\u2132\u2133\u0007[\u0002\u0002\u2133\u2134", + "\u0007R\u0002\u0002\u2134\u2135\u0007V\u0002\u0002\u2135\u0588\u0003", + "\u0002\u0002\u0002\u2136\u2137\u0007C\u0002\u0002\u2137\u2138\u0007", + "T\u0002\u0002\u2138\u2139\u0007G\u0002\u0002\u2139\u213a\u0007C\u0002", + "\u0002\u213a\u058a\u0003\u0002\u0002\u0002\u213b\u213c\u0007C\u0002", + "\u0002\u213c\u213d\u0007U\u0002\u0002\u213d\u213e\u0007D\u0002\u0002", + "\u213e\u213f\u0007K\u0002\u0002\u213f\u2140\u0007P\u0002\u0002\u2140", + "\u2141\u0007C\u0002\u0002\u2141\u2142\u0007T\u0002\u0002\u2142\u2143", + "\u0007[\u0002\u0002\u2143\u058c\u0003\u0002\u0002\u0002\u2144\u2145", + "\u0007C\u0002\u0002\u2145\u2146\u0007U\u0002\u0002\u2146\u2147\u0007", + "K\u0002\u0002\u2147\u2148\u0007P\u0002\u0002\u2148\u058e\u0003\u0002", + "\u0002\u0002\u2149\u214a\u0007C\u0002\u0002\u214a\u214b\u0007U\u0002", + "\u0002\u214b\u214c\u0007V\u0002\u0002\u214c\u214d\u0007G\u0002\u0002", + "\u214d\u214e\u0007Z\u0002\u0002\u214e\u214f\u0007V\u0002\u0002\u214f", + "\u0590\u0003\u0002\u0002\u0002\u2150\u2151\u0007C\u0002\u0002\u2151", + "\u2152\u0007U\u0002\u0002\u2152\u2153\u0007Y\u0002\u0002\u2153\u2154", + "\u0007M\u0002\u0002\u2154\u2155\u0007D\u0002\u0002\u2155\u0592\u0003", + "\u0002\u0002\u0002\u2156\u2157\u0007C\u0002\u0002\u2157\u2158\u0007", + "U\u0002\u0002\u2158\u2159\u0007Y\u0002\u0002\u2159\u215a\u0007M\u0002", + "\u0002\u215a\u215b\u0007V\u0002\u0002\u215b\u0594\u0003\u0002\u0002", + "\u0002\u215c\u215d\u0007C\u0002\u0002\u215d\u215e\u0007U\u0002\u0002", + "\u215e\u215f\u0007[\u0002\u0002\u215f\u2160\u0007O\u0002\u0002\u2160", + "\u2161\u0007O\u0002\u0002\u2161\u2162\u0007G\u0002\u0002\u2162\u2163", + "\u0007V\u0002\u0002\u2163\u2164\u0007T\u0002\u0002\u2164\u2165\u0007", + "K\u0002\u0002\u2165\u2166\u0007E\u0002\u0002\u2166\u2167\u0007a\u0002", + "\u0002\u2167\u2168\u0007F\u0002\u0002\u2168\u2169\u0007G\u0002\u0002", + "\u2169\u216a\u0007E\u0002\u0002\u216a\u216b\u0007T\u0002\u0002\u216b", + "\u216c\u0007[\u0002\u0002\u216c\u216d\u0007R\u0002\u0002\u216d\u216e", + "\u0007V\u0002\u0002\u216e\u0596\u0003\u0002\u0002\u0002\u216f\u2170", + "\u0007C\u0002\u0002\u2170\u2171\u0007U\u0002\u0002\u2171\u2172\u0007", + "[\u0002\u0002\u2172\u2173\u0007O\u0002\u0002\u2173\u2174\u0007O\u0002", + "\u0002\u2174\u2175\u0007G\u0002\u0002\u2175\u2176\u0007V\u0002\u0002", + "\u2176\u2177\u0007T\u0002\u0002\u2177\u2178\u0007K\u0002\u0002\u2178", + "\u2179\u0007E\u0002\u0002\u2179\u217a\u0007a\u0002\u0002\u217a\u217b", + "\u0007F\u0002\u0002\u217b\u217c\u0007G\u0002\u0002\u217c\u217d\u0007", + "T\u0002\u0002\u217d\u217e\u0007K\u0002\u0002\u217e\u217f\u0007X\u0002", + "\u0002\u217f\u2180\u0007G\u0002\u0002\u2180\u0598\u0003\u0002\u0002", + "\u0002\u2181\u2182\u0007C\u0002\u0002\u2182\u2183\u0007U\u0002\u0002", + "\u2183\u2184\u0007[\u0002\u0002\u2184\u2185\u0007O\u0002\u0002\u2185", + "\u2186\u0007O\u0002\u0002\u2186\u2187\u0007G\u0002\u0002\u2187\u2188", + "\u0007V\u0002\u0002\u2188\u2189\u0007T\u0002\u0002\u2189\u218a\u0007", + "K\u0002\u0002\u218a\u218b\u0007E\u0002\u0002\u218b\u218c\u0007a\u0002", + "\u0002\u218c\u218d\u0007G\u0002\u0002\u218d\u218e\u0007P\u0002\u0002", + "\u218e\u218f\u0007E\u0002\u0002\u218f\u2190\u0007T\u0002\u0002\u2190", + "\u2191\u0007[\u0002\u0002\u2191\u2192\u0007R\u0002\u0002\u2192\u2193", + "\u0007V\u0002\u0002\u2193\u059a\u0003\u0002\u0002\u0002\u2194\u2195", + "\u0007C\u0002\u0002\u2195\u2196\u0007U\u0002\u0002\u2196\u2197\u0007", + "[\u0002\u0002\u2197\u2198\u0007O\u0002\u0002\u2198\u2199\u0007O\u0002", + "\u0002\u2199\u219a\u0007G\u0002\u0002\u219a\u219b\u0007V\u0002\u0002", + "\u219b\u219c\u0007T\u0002\u0002\u219c\u219d\u0007K\u0002\u0002\u219d", + "\u219e\u0007E\u0002\u0002\u219e\u219f\u0007a\u0002\u0002\u219f\u21a0", + "\u0007U\u0002\u0002\u21a0\u21a1\u0007K\u0002\u0002\u21a1\u21a2\u0007", + "I\u0002\u0002\u21a2\u21a3\u0007P\u0002\u0002\u21a3\u059c\u0003\u0002", + "\u0002\u0002\u21a4\u21a5\u0007C\u0002\u0002\u21a5\u21a6\u0007U\u0002", + "\u0002\u21a6\u21a7\u0007[\u0002\u0002\u21a7\u21a8\u0007O\u0002\u0002", + "\u21a8\u21a9\u0007O\u0002\u0002\u21a9\u21aa\u0007G\u0002\u0002\u21aa", + "\u21ab\u0007V\u0002\u0002\u21ab\u21ac\u0007T\u0002\u0002\u21ac\u21ad", + "\u0007K\u0002\u0002\u21ad\u21ae\u0007E\u0002\u0002\u21ae\u21af\u0007", + "a\u0002\u0002\u21af\u21b0\u0007X\u0002\u0002\u21b0\u21b1\u0007G\u0002", + "\u0002\u21b1\u21b2\u0007T\u0002\u0002\u21b2\u21b3\u0007K\u0002\u0002", + "\u21b3\u21b4\u0007H\u0002\u0002\u21b4\u21b5\u0007[\u0002\u0002\u21b5", + "\u059e\u0003\u0002\u0002\u0002\u21b6\u21b7\u0007C\u0002\u0002\u21b7", + "\u21b8\u0007V\u0002\u0002\u21b8\u21b9\u0007C\u0002\u0002\u21b9\u21ba", + "\u0007P\u0002\u0002\u21ba\u05a0\u0003\u0002\u0002\u0002\u21bb\u21bc", + "\u0007C\u0002\u0002\u21bc\u21bd\u0007V\u0002\u0002\u21bd\u21be\u0007", + "C\u0002\u0002\u21be\u21bf\u0007P\u0002\u0002\u21bf\u21c0\u00074\u0002", + "\u0002\u21c0\u05a2\u0003\u0002\u0002\u0002\u21c1\u21c2\u0007D\u0002", + "\u0002\u21c2\u21c3\u0007G\u0002\u0002\u21c3\u21c4\u0007P\u0002\u0002", + "\u21c4\u21c5\u0007E\u0002\u0002\u21c5\u21c6\u0007J\u0002\u0002\u21c6", + "\u21c7\u0007O\u0002\u0002\u21c7\u21c8\u0007C\u0002\u0002\u21c8\u21c9", + "\u0007T\u0002\u0002\u21c9\u21ca\u0007M\u0002\u0002\u21ca\u05a4\u0003", + "\u0002\u0002\u0002\u21cb\u21cc\u0007D\u0002\u0002\u21cc\u21cd\u0007", + "K\u0002\u0002\u21cd\u21ce\u0007P\u0002\u0002\u21ce\u05a6\u0003\u0002", + "\u0002\u0002\u21cf\u21d0\u0007D\u0002\u0002\u21d0\u21d1\u0007K\u0002", + "\u0002\u21d1\u21d2\u0007V\u0002\u0002\u21d2\u21d3\u0007a\u0002\u0002", + "\u21d3\u21d4\u0007E\u0002\u0002\u21d4\u21d5\u0007Q\u0002\u0002\u21d5", + "\u21d6\u0007W\u0002\u0002\u21d6\u21d7\u0007P\u0002\u0002\u21d7\u21d8", + "\u0007V\u0002\u0002\u21d8\u05a8\u0003\u0002\u0002\u0002\u21d9\u21da", + "\u0007D\u0002\u0002\u21da\u21db\u0007K\u0002\u0002\u21db\u21dc\u0007", + "V\u0002\u0002\u21dc\u21dd\u0007a\u0002\u0002\u21dd\u21de\u0007N\u0002", + "\u0002\u21de\u21df\u0007G\u0002\u0002\u21df\u21e0\u0007P\u0002\u0002", + "\u21e0\u21e1\u0007I\u0002\u0002\u21e1\u21e2\u0007V\u0002\u0002\u21e2", + "\u21e3\u0007J\u0002\u0002\u21e3\u05aa\u0003\u0002\u0002\u0002\u21e4", + "\u21e5\u0007D\u0002\u0002\u21e5\u21e6\u0007W\u0002\u0002\u21e6\u21e7", + "\u0007H\u0002\u0002\u21e7\u21e8\u0007H\u0002\u0002\u21e8\u21e9\u0007", + "G\u0002\u0002\u21e9\u21ea\u0007T\u0002\u0002\u21ea\u05ac\u0003\u0002", + "\u0002\u0002\u21eb\u21ec\u0007E\u0002\u0002\u21ec\u21ed\u0007C\u0002", + "\u0002\u21ed\u21ee\u0007V\u0002\u0002\u21ee\u21ef\u0007C\u0002\u0002", + "\u21ef\u21f0\u0007N\u0002\u0002\u21f0\u21f1\u0007Q\u0002\u0002\u21f1", + "\u21f2\u0007I\u0002\u0002\u21f2\u21f3\u0007a\u0002\u0002\u21f3\u21f4", + "\u0007P\u0002\u0002\u21f4\u21f5\u0007C\u0002\u0002\u21f5\u21f6\u0007", + "O\u0002\u0002\u21f6\u21f7\u0007G\u0002\u0002\u21f7\u05ae\u0003\u0002", + "\u0002\u0002\u21f8\u21f9\u0007E\u0002\u0002\u21f9\u21fa\u0007G\u0002", + "\u0002\u21fa\u21fb\u0007K\u0002\u0002\u21fb\u21fc\u0007N\u0002\u0002", + "\u21fc\u05b0\u0003\u0002\u0002\u0002\u21fd\u21fe\u0007E\u0002\u0002", + "\u21fe\u21ff\u0007G\u0002\u0002\u21ff\u2200\u0007K\u0002\u0002\u2200", + "\u2201\u0007N\u0002\u0002\u2201\u2202\u0007K\u0002\u0002\u2202\u2203", + "\u0007P\u0002\u0002\u2203\u2204\u0007I\u0002\u0002\u2204\u05b2\u0003", + "\u0002\u0002\u0002\u2205\u2206\u0007E\u0002\u0002\u2206\u2207\u0007", + "G\u0002\u0002\u2207\u2208\u0007P\u0002\u0002\u2208\u2209\u0007V\u0002", + "\u0002\u2209\u220a\u0007T\u0002\u0002\u220a\u220b\u0007Q\u0002\u0002", + "\u220b\u220c\u0007K\u0002\u0002\u220c\u220d\u0007F\u0002\u0002\u220d", + "\u05b4\u0003\u0002\u0002\u0002\u220e\u220f\u0007E\u0002\u0002\u220f", + "\u2210\u0007J\u0002\u0002\u2210\u2211\u0007C\u0002\u0002\u2211\u2212", + "\u0007T\u0002\u0002\u2212\u2213\u0007C\u0002\u0002\u2213\u2214\u0007", + "E\u0002\u0002\u2214\u2215\u0007V\u0002\u0002\u2215\u2216\u0007G\u0002", + "\u0002\u2216\u2217\u0007T\u0002\u0002\u2217\u2218\u0007a\u0002\u0002", + "\u2218\u2219\u0007N\u0002\u0002\u2219\u221a\u0007G\u0002\u0002\u221a", + "\u221b\u0007P\u0002\u0002\u221b\u221c\u0007I\u0002\u0002\u221c\u221d", + "\u0007V\u0002\u0002\u221d\u221e\u0007J\u0002\u0002\u221e\u05b6\u0003", + "\u0002\u0002\u0002\u221f\u2220\u0007E\u0002\u0002\u2220\u2221\u0007", + "J\u0002\u0002\u2221\u2222\u0007C\u0002\u0002\u2222\u2223\u0007T\u0002", + "\u0002\u2223\u2224\u0007U\u0002\u0002\u2224\u2225\u0007G\u0002\u0002", + "\u2225\u2226\u0007V\u0002\u0002\u2226\u05b8\u0003\u0002\u0002\u0002", + "\u2227\u2228\u0007E\u0002\u0002\u2228\u2229\u0007J\u0002\u0002\u2229", + "\u222a\u0007C\u0002\u0002\u222a\u222b\u0007T\u0002\u0002\u222b\u222c", + "\u0007a\u0002\u0002\u222c\u222d\u0007N\u0002\u0002\u222d\u222e\u0007", + "G\u0002\u0002\u222e\u222f\u0007P\u0002\u0002\u222f\u2230\u0007I\u0002", + "\u0002\u2230\u2231\u0007V\u0002\u0002\u2231\u2232\u0007J\u0002\u0002", + "\u2232\u05ba\u0003\u0002\u0002\u0002\u2233\u2234\u0007E\u0002\u0002", + "\u2234\u2235\u0007Q\u0002\u0002\u2235\u2236\u0007G\u0002\u0002\u2236", + "\u2237\u0007T\u0002\u0002\u2237\u2238\u0007E\u0002\u0002\u2238\u2239", + "\u0007K\u0002\u0002\u2239\u223a\u0007D\u0002\u0002\u223a\u223b\u0007", + "K\u0002\u0002\u223b\u223c\u0007N\u0002\u0002\u223c\u223d\u0007K\u0002", + "\u0002\u223d\u223e\u0007V\u0002\u0002\u223e\u223f\u0007[\u0002\u0002", + "\u223f\u05bc\u0003\u0002\u0002\u0002\u2240\u2241\u0007E\u0002\u0002", + "\u2241\u2242\u0007Q\u0002\u0002\u2242\u2243\u0007N\u0002\u0002\u2243", + "\u2244\u0007N\u0002\u0002\u2244\u2245\u0007C\u0002\u0002\u2245\u2246", + "\u0007V\u0002\u0002\u2246\u2247\u0007K\u0002\u0002\u2247\u2248\u0007", + "Q\u0002\u0002\u2248\u2249\u0007P\u0002\u0002\u2249\u05be\u0003\u0002", + "\u0002\u0002\u224a\u224b\u0007E\u0002\u0002\u224b\u224c\u0007Q\u0002", + "\u0002\u224c\u224d\u0007O\u0002\u0002\u224d\u224e\u0007R\u0002\u0002", + "\u224e\u224f\u0007T\u0002\u0002\u224f\u2250\u0007G\u0002\u0002\u2250", + "\u2251\u0007U\u0002\u0002\u2251\u2252\u0007U\u0002\u0002\u2252\u05c0", + "\u0003\u0002\u0002\u0002\u2253\u2254\u0007E\u0002\u0002\u2254\u2255", + "\u0007Q\u0002\u0002\u2255\u2256\u0007P\u0002\u0002\u2256\u2257\u0007", + "E\u0002\u0002\u2257\u2258\u0007C\u0002\u0002\u2258\u2259\u0007V\u0002", + "\u0002\u2259\u05c2\u0003\u0002\u0002\u0002\u225a\u225b\u0007E\u0002", + "\u0002\u225b\u225c\u0007Q\u0002\u0002\u225c\u225d\u0007P\u0002\u0002", + "\u225d\u225e\u0007E\u0002\u0002\u225e\u225f\u0007C\u0002\u0002\u225f", + "\u2260\u0007V\u0002\u0002\u2260\u2261\u0007a\u0002\u0002\u2261\u2262", + "\u0007Y\u0002\u0002\u2262\u2263\u0007U\u0002\u0002\u2263\u05c4\u0003", + "\u0002\u0002\u0002\u2264\u2265\u0007E\u0002\u0002\u2265\u2266\u0007", + "Q\u0002\u0002\u2266\u2267\u0007P\u0002\u0002\u2267\u2268\u0007P\u0002", + "\u0002\u2268\u2269\u0007G\u0002\u0002\u2269\u226a\u0007E\u0002\u0002", + "\u226a\u226b\u0007V\u0002\u0002\u226b\u226c\u0007K\u0002\u0002\u226c", + "\u226d\u0007Q\u0002\u0002\u226d\u226e\u0007P\u0002\u0002\u226e\u226f", + "\u0007a\u0002\u0002\u226f\u2270\u0007K\u0002\u0002\u2270\u2271\u0007", + "F\u0002\u0002\u2271\u05c6\u0003\u0002\u0002\u0002\u2272\u2273\u0007", + "E\u0002\u0002\u2273\u2274\u0007Q\u0002\u0002\u2274\u2275\u0007P\u0002", + "\u0002\u2275\u2276\u0007X\u0002\u0002\u2276\u05c8\u0003\u0002\u0002", + "\u0002\u2277\u2278\u0007E\u0002\u0002\u2278\u2279\u0007Q\u0002\u0002", + "\u2279\u227a\u0007P\u0002\u0002\u227a\u227b\u0007X\u0002\u0002\u227b", + "\u227c\u0007G\u0002\u0002\u227c\u227d\u0007T\u0002\u0002\u227d\u227e", + "\u0007V\u0002\u0002\u227e\u227f\u0007a\u0002\u0002\u227f\u2280\u0007", + "V\u0002\u0002\u2280\u2281\u0007\\\u0002\u0002\u2281\u05ca\u0003\u0002", + "\u0002\u0002\u2282\u2283\u0007E\u0002\u0002\u2283\u2284\u0007Q\u0002", + "\u0002\u2284\u2285\u0007U\u0002\u0002\u2285\u05cc\u0003\u0002\u0002", + "\u0002\u2286\u2287\u0007E\u0002\u0002\u2287\u2288\u0007Q\u0002\u0002", + "\u2288\u2289\u0007V\u0002\u0002\u2289\u05ce\u0003\u0002\u0002\u0002", + "\u228a\u228b\u0007E\u0002\u0002\u228b\u228c\u0007T\u0002\u0002\u228c", + "\u228d\u0007E\u0002\u0002\u228d\u228e\u00075\u0002\u0002\u228e\u228f", + "\u00074\u0002\u0002\u228f\u05d0\u0003\u0002\u0002\u0002\u2290\u2291", + "\u0007E\u0002\u0002\u2291\u2292\u0007T\u0002\u0002\u2292\u2293\u0007", + "G\u0002\u0002\u2293\u2294\u0007C\u0002\u0002\u2294\u2295\u0007V\u0002", + "\u0002\u2295\u2296\u0007G\u0002\u0002\u2296\u2297\u0007a\u0002\u0002", + "\u2297\u2298\u0007C\u0002\u0002\u2298\u2299\u0007U\u0002\u0002\u2299", + "\u229a\u0007[\u0002\u0002\u229a\u229b\u0007O\u0002\u0002\u229b\u229c", + "\u0007O\u0002\u0002\u229c\u229d\u0007G\u0002\u0002\u229d\u229e\u0007", + "V\u0002\u0002\u229e\u229f\u0007T\u0002\u0002\u229f\u22a0\u0007K\u0002", + "\u0002\u22a0\u22a1\u0007E\u0002\u0002\u22a1\u22a2\u0007a\u0002\u0002", + "\u22a2\u22a3\u0007R\u0002\u0002\u22a3\u22a4\u0007T\u0002\u0002\u22a4", + "\u22a5\u0007K\u0002\u0002\u22a5\u22a6\u0007X\u0002\u0002\u22a6\u22a7", + "\u0007a\u0002\u0002\u22a7\u22a8\u0007M\u0002\u0002\u22a8\u22a9\u0007", + "G\u0002\u0002\u22a9\u22aa\u0007[\u0002\u0002\u22aa\u05d2\u0003\u0002", + "\u0002\u0002\u22ab\u22ac\u0007E\u0002\u0002\u22ac\u22ad\u0007T\u0002", + "\u0002\u22ad\u22ae\u0007G\u0002\u0002\u22ae\u22af\u0007C\u0002\u0002", + "\u22af\u22b0\u0007V\u0002\u0002\u22b0\u22b1\u0007G\u0002\u0002\u22b1", + "\u22b2\u0007a\u0002\u0002\u22b2\u22b3\u0007C\u0002\u0002\u22b3\u22b4", + "\u0007U\u0002\u0002\u22b4\u22b5\u0007[\u0002\u0002\u22b5\u22b6\u0007", + "O\u0002\u0002\u22b6\u22b7\u0007O\u0002\u0002\u22b7\u22b8\u0007G\u0002", + "\u0002\u22b8\u22b9\u0007V\u0002\u0002\u22b9\u22ba\u0007T\u0002\u0002", + "\u22ba\u22bb\u0007K\u0002\u0002\u22bb\u22bc\u0007E\u0002\u0002\u22bc", + "\u22bd\u0007a\u0002\u0002\u22bd\u22be\u0007R\u0002\u0002\u22be\u22bf", + "\u0007W\u0002\u0002\u22bf\u22c0\u0007D\u0002\u0002\u22c0\u22c1\u0007", + "a\u0002\u0002\u22c1\u22c2\u0007M\u0002\u0002\u22c2\u22c3\u0007G\u0002", + "\u0002\u22c3\u22c4\u0007[\u0002\u0002\u22c4\u05d4\u0003\u0002\u0002", + "\u0002\u22c5\u22c6\u0007E\u0002\u0002\u22c6\u22c7\u0007T\u0002\u0002", + "\u22c7\u22c8\u0007G\u0002\u0002\u22c8\u22c9\u0007C\u0002\u0002\u22c9", + "\u22ca\u0007V\u0002\u0002\u22ca\u22cb\u0007G\u0002\u0002\u22cb\u22cc", + "\u0007a\u0002\u0002\u22cc\u22cd\u0007F\u0002\u0002\u22cd\u22ce\u0007", + "J\u0002\u0002\u22ce\u22cf\u0007a\u0002\u0002\u22cf\u22d0\u0007R\u0002", + "\u0002\u22d0\u22d1\u0007C\u0002\u0002\u22d1\u22d2\u0007T\u0002\u0002", + "\u22d2\u22d3\u0007C\u0002\u0002\u22d3\u22d4\u0007O\u0002\u0002\u22d4", + "\u22d5\u0007G\u0002\u0002\u22d5\u22d6\u0007V\u0002\u0002\u22d6\u22d7", + "\u0007G\u0002\u0002\u22d7\u22d8\u0007T\u0002\u0002\u22d8\u22d9\u0007", + "U\u0002\u0002\u22d9\u05d6\u0003\u0002\u0002\u0002\u22da\u22db\u0007", + "E\u0002\u0002\u22db\u22dc\u0007T\u0002\u0002\u22dc\u22dd\u0007G\u0002", + "\u0002\u22dd\u22de\u0007C\u0002\u0002\u22de\u22df\u0007V\u0002\u0002", + "\u22df\u22e0\u0007G\u0002\u0002\u22e0\u22e1\u0007a\u0002\u0002\u22e1", + "\u22e2\u0007F\u0002\u0002\u22e2\u22e3\u0007K\u0002\u0002\u22e3\u22e4", + "\u0007I\u0002\u0002\u22e4\u22e5\u0007G\u0002\u0002\u22e5\u22e6\u0007", + "U\u0002\u0002\u22e6\u22e7\u0007V\u0002\u0002\u22e7\u05d8\u0003\u0002", + "\u0002\u0002\u22e8\u22e9\u0007E\u0002\u0002\u22e9\u22ea\u0007T\u0002", + "\u0002\u22ea\u22eb\u0007Q\u0002\u0002\u22eb\u22ec\u0007U\u0002\u0002", + "\u22ec\u22ed\u0007U\u0002\u0002\u22ed\u22ee\u0007G\u0002\u0002\u22ee", + "\u22ef\u0007U\u0002\u0002\u22ef\u05da\u0003\u0002\u0002\u0002\u22f0", + "\u22f1\u0007F\u0002\u0002\u22f1\u22f2\u0007C\u0002\u0002\u22f2\u22f3", + "\u0007V\u0002\u0002\u22f3\u22f4\u0007G\u0002\u0002\u22f4\u22f5\u0007", + "F\u0002\u0002\u22f5\u22f6\u0007K\u0002\u0002\u22f6\u22f7\u0007H\u0002", + "\u0002\u22f7\u22f8\u0007H\u0002\u0002\u22f8\u05dc\u0003\u0002\u0002", + "\u0002\u22f9\u22fa\u0007F\u0002\u0002\u22fa\u22fb\u0007C\u0002\u0002", + "\u22fb\u22fc\u0007V\u0002\u0002\u22fc\u22fd\u0007G\u0002\u0002\u22fd", + "\u22fe\u0007a\u0002\u0002\u22fe\u22ff\u0007H\u0002\u0002\u22ff\u2300", + "\u0007Q\u0002\u0002\u2300\u2301\u0007T\u0002\u0002\u2301\u2302\u0007", + "O\u0002\u0002\u2302\u2303\u0007C\u0002\u0002\u2303\u2304\u0007V\u0002", + "\u0002\u2304\u05de\u0003\u0002\u0002\u0002\u2305\u2306\u0007F\u0002", + "\u0002\u2306\u2307\u0007C\u0002\u0002\u2307\u2308\u0007[\u0002\u0002", + "\u2308\u2309\u0007P\u0002\u0002\u2309\u230a\u0007C\u0002\u0002\u230a", + "\u230b\u0007O\u0002\u0002\u230b\u230c\u0007G\u0002\u0002\u230c\u05e0", + "\u0003\u0002\u0002\u0002\u230d\u230e\u0007F\u0002\u0002\u230e\u230f", + "\u0007C\u0002\u0002\u230f\u2310\u0007[\u0002\u0002\u2310\u2311\u0007", + "Q\u0002\u0002\u2311\u2312\u0007H\u0002\u0002\u2312\u2313\u0007O\u0002", + "\u0002\u2313\u2314\u0007Q\u0002\u0002\u2314\u2315\u0007P\u0002\u0002", + "\u2315\u2316\u0007V\u0002\u0002\u2316\u2317\u0007J\u0002\u0002\u2317", + "\u05e2\u0003\u0002\u0002\u0002\u2318\u2319\u0007F\u0002\u0002\u2319", + "\u231a\u0007C\u0002\u0002\u231a\u231b\u0007[\u0002\u0002\u231b\u231c", + "\u0007Q\u0002\u0002\u231c\u231d\u0007H\u0002\u0002\u231d\u231e\u0007", + "Y\u0002\u0002\u231e\u231f\u0007G\u0002\u0002\u231f\u2320\u0007G\u0002", + "\u0002\u2320\u2321\u0007M\u0002\u0002\u2321\u05e4\u0003\u0002\u0002", + "\u0002\u2322\u2323\u0007F\u0002\u0002\u2323\u2324\u0007C\u0002\u0002", + "\u2324\u2325\u0007[\u0002\u0002\u2325\u2326\u0007Q\u0002\u0002\u2326", + "\u2327\u0007H\u0002\u0002\u2327\u2328\u0007[\u0002\u0002\u2328\u2329", + "\u0007G\u0002\u0002\u2329\u232a\u0007C\u0002\u0002\u232a\u232b\u0007", + "T\u0002\u0002\u232b\u05e6\u0003\u0002\u0002\u0002\u232c\u232d\u0007", + "F\u0002\u0002\u232d\u232e\u0007G\u0002\u0002\u232e\u232f\u0007E\u0002", + "\u0002\u232f\u2330\u0007Q\u0002\u0002\u2330\u2331\u0007F\u0002\u0002", + "\u2331\u2332\u0007G\u0002\u0002\u2332\u05e8\u0003\u0002\u0002\u0002", + "\u2333\u2334\u0007F\u0002\u0002\u2334\u2335\u0007G\u0002\u0002\u2335", + "\u2336\u0007I\u0002\u0002\u2336\u2337\u0007T\u0002\u0002\u2337\u2338", + "\u0007G\u0002\u0002\u2338\u2339\u0007G\u0002\u0002\u2339\u233a\u0007", + "U\u0002\u0002\u233a\u05ea\u0003\u0002\u0002\u0002\u233b\u233c\u0007", + "F\u0002\u0002\u233c\u233d\u0007G\u0002\u0002\u233d\u233e\u0007U\u0002", + "\u0002\u233e\u233f\u0007a\u0002\u0002\u233f\u2340\u0007F\u0002\u0002", + "\u2340\u2341\u0007G\u0002\u0002\u2341\u2342\u0007E\u0002\u0002\u2342", + "\u2343\u0007T\u0002\u0002\u2343\u2344\u0007[\u0002\u0002\u2344\u2345", + "\u0007R\u0002\u0002\u2345\u2346\u0007V\u0002\u0002\u2346\u05ec\u0003", + "\u0002\u0002\u0002\u2347\u2348\u0007F\u0002\u0002\u2348\u2349\u0007", + "G\u0002\u0002\u2349\u234a\u0007U\u0002\u0002\u234a\u234b\u0007a\u0002", + "\u0002\u234b\u234c\u0007G\u0002\u0002\u234c\u234d\u0007P\u0002\u0002", + "\u234d\u234e\u0007E\u0002\u0002\u234e\u234f\u0007T\u0002\u0002\u234f", + "\u2350\u0007[\u0002\u0002\u2350\u2351\u0007R\u0002\u0002\u2351\u2352", + "\u0007V\u0002\u0002\u2352\u05ee\u0003\u0002\u0002\u0002\u2353\u2354", + "\u0007F\u0002\u0002\u2354\u2355\u0007K\u0002\u0002\u2355\u2356\u0007", + "O\u0002\u0002\u2356\u2357\u0007G\u0002\u0002\u2357\u2358\u0007P\u0002", + "\u0002\u2358\u2359\u0007U\u0002\u0002\u2359\u235a\u0007K\u0002\u0002", + "\u235a\u235b\u0007Q\u0002\u0002\u235b\u235c\u0007P\u0002\u0002\u235c", + "\u05f0\u0003\u0002\u0002\u0002\u235d\u235e\u0007F\u0002\u0002\u235e", + "\u235f\u0007K\u0002\u0002\u235f\u2360\u0007U\u0002\u0002\u2360\u2361", + "\u0007L\u0002\u0002\u2361\u2362\u0007Q\u0002\u0002\u2362\u2363\u0007", + "K\u0002\u0002\u2363\u2364\u0007P\u0002\u0002\u2364\u2365\u0007V\u0002", + "\u0002\u2365\u05f2\u0003\u0002\u0002\u0002\u2366\u2367\u0007G\u0002", + "\u0002\u2367\u2368\u0007N\u0002\u0002\u2368\u2369\u0007V\u0002\u0002", + "\u2369\u05f4\u0003\u0002\u0002\u0002\u236a\u236b\u0007G\u0002\u0002", + "\u236b\u236c\u0007P\u0002\u0002\u236c\u236d\u0007E\u0002\u0002\u236d", + "\u236e\u0007Q\u0002\u0002\u236e\u236f\u0007F\u0002\u0002\u236f\u2370", + "\u0007G\u0002\u0002\u2370\u05f6\u0003\u0002\u0002\u0002\u2371\u2372", + "\u0007G\u0002\u0002\u2372\u2373\u0007P\u0002\u0002\u2373\u2374\u0007", + "E\u0002\u0002\u2374\u2375\u0007T\u0002\u0002\u2375\u2376\u0007[\u0002", + "\u0002\u2376\u2377\u0007R\u0002\u0002\u2377\u2378\u0007V\u0002\u0002", + "\u2378\u05f8\u0003\u0002\u0002\u0002\u2379\u237a\u0007G\u0002\u0002", + "\u237a\u237b\u0007P\u0002\u0002\u237b\u237c\u0007F\u0002\u0002\u237c", + "\u237d\u0007R\u0002\u0002\u237d\u237e\u0007Q\u0002\u0002\u237e\u237f", + "\u0007K\u0002\u0002\u237f\u2380\u0007P\u0002\u0002\u2380\u2381\u0007", + "V\u0002\u0002\u2381\u05fa\u0003\u0002\u0002\u0002\u2382\u2383\u0007", + "G\u0002\u0002\u2383\u2384\u0007P\u0002\u0002\u2384\u2385\u0007X\u0002", + "\u0002\u2385\u2386\u0007G\u0002\u0002\u2386\u2387\u0007N\u0002\u0002", + "\u2387\u2388\u0007Q\u0002\u0002\u2388\u2389\u0007R\u0002\u0002\u2389", + "\u238a\u0007G\u0002\u0002\u238a\u05fc\u0003\u0002\u0002\u0002\u238b", + "\u238c\u0007G\u0002\u0002\u238c\u238d\u0007S\u0002\u0002\u238d\u238e", + "\u0007W\u0002\u0002\u238e\u238f\u0007C\u0002\u0002\u238f\u2390\u0007", + "N\u0002\u0002\u2390\u2391\u0007U\u0002\u0002\u2391\u05fe\u0003\u0002", + "\u0002\u0002\u2392\u2393\u0007G\u0002\u0002\u2393\u2394\u0007Z\u0002", + "\u0002\u2394\u2395\u0007R\u0002\u0002\u2395\u0600\u0003\u0002\u0002", + "\u0002\u2396\u2397\u0007G\u0002\u0002\u2397\u2398\u0007Z\u0002\u0002", + "\u2398\u2399\u0007R\u0002\u0002\u2399\u239a\u0007Q\u0002\u0002\u239a", + "\u239b\u0007T\u0002\u0002\u239b\u239c\u0007V\u0002\u0002\u239c\u239d", + "\u0007a\u0002\u0002\u239d\u239e\u0007U\u0002\u0002\u239e\u239f\u0007", + "G\u0002\u0002\u239f\u23a0\u0007V\u0002\u0002\u23a0\u0602\u0003\u0002", + "\u0002\u0002\u23a1\u23a2\u0007G\u0002\u0002\u23a2\u23a3\u0007Z\u0002", + "\u0002\u23a3\u23a4\u0007V\u0002\u0002\u23a4\u23a5\u0007G\u0002\u0002", + "\u23a5\u23a6\u0007T\u0002\u0002\u23a6\u23a7\u0007K\u0002\u0002\u23a7", + "\u23a8\u0007Q\u0002\u0002\u23a8\u23a9\u0007T\u0002\u0002\u23a9\u23aa", + "\u0007T\u0002\u0002\u23aa\u23ab\u0007K\u0002\u0002\u23ab\u23ac\u0007", + "P\u0002\u0002\u23ac\u23ad\u0007I\u0002\u0002\u23ad\u0604\u0003\u0002", + "\u0002\u0002\u23ae\u23af\u0007G\u0002\u0002\u23af\u23b0\u0007Z\u0002", + "\u0002\u23b0\u23b1\u0007V\u0002\u0002\u23b1\u23b2\u0007T\u0002\u0002", + "\u23b2\u23b3\u0007C\u0002\u0002\u23b3\u23b4\u0007E\u0002\u0002\u23b4", + "\u23b5\u0007V\u0002\u0002\u23b5\u23b6\u0007X\u0002\u0002\u23b6\u23b7", + "\u0007C\u0002\u0002\u23b7\u23b8\u0007N\u0002\u0002\u23b8\u23b9\u0007", + "W\u0002\u0002\u23b9\u23ba\u0007G\u0002\u0002\u23ba\u0606\u0003\u0002", + "\u0002\u0002\u23bb\u23bc\u0007H\u0002\u0002\u23bc\u23bd\u0007K\u0002", + "\u0002\u23bd\u23be\u0007G\u0002\u0002\u23be\u23bf\u0007N\u0002\u0002", + "\u23bf\u23c0\u0007F\u0002\u0002\u23c0\u0608\u0003\u0002\u0002\u0002", + "\u23c1\u23c2\u0007H\u0002\u0002\u23c2\u23c3\u0007K\u0002\u0002\u23c3", + "\u23c4\u0007P\u0002\u0002\u23c4\u23c5\u0007F\u0002\u0002\u23c5\u23c6", + "\u0007a\u0002\u0002\u23c6\u23c7\u0007K\u0002\u0002\u23c7\u23c8\u0007", + "P\u0002\u0002\u23c8\u23c9\u0007a\u0002\u0002\u23c9\u23ca\u0007U\u0002", + "\u0002\u23ca\u23cb\u0007G\u0002\u0002\u23cb\u23cc\u0007V\u0002\u0002", + "\u23cc\u060a\u0003\u0002\u0002\u0002\u23cd\u23ce\u0007H\u0002\u0002", + "\u23ce\u23cf\u0007N\u0002\u0002\u23cf\u23d0\u0007Q\u0002\u0002\u23d0", + "\u23d1\u0007Q\u0002\u0002\u23d1\u23d2\u0007T\u0002\u0002\u23d2\u060c", + "\u0003\u0002\u0002\u0002\u23d3\u23d4\u0007H\u0002\u0002\u23d4\u23d5", + "\u0007Q\u0002\u0002\u23d5\u23d6\u0007T\u0002\u0002\u23d6\u23d7\u0007", + "O\u0002\u0002\u23d7\u23d8\u0007C\u0002\u0002\u23d8\u23d9\u0007V\u0002", + "\u0002\u23d9\u060e\u0003\u0002\u0002\u0002\u23da\u23db\u0007H\u0002", + "\u0002\u23db\u23dc\u0007Q\u0002\u0002\u23dc\u23dd\u0007W\u0002\u0002", + "\u23dd\u23de\u0007P\u0002\u0002\u23de\u23df\u0007F\u0002\u0002\u23df", + "\u23e0\u0007a\u0002\u0002\u23e0\u23e1\u0007T\u0002\u0002\u23e1\u23e2", + "\u0007Q\u0002\u0002\u23e2\u23e3\u0007Y\u0002\u0002\u23e3\u23e4\u0007", + "U\u0002\u0002\u23e4\u0610\u0003\u0002\u0002\u0002\u23e5\u23e6\u0007", + "H\u0002\u0002\u23e6\u23e7\u0007T\u0002\u0002\u23e7\u23e8\u0007Q\u0002", + "\u0002\u23e8\u23e9\u0007O\u0002\u0002\u23e9\u23ea\u0007a\u0002\u0002", + "\u23ea\u23eb\u0007D\u0002\u0002\u23eb\u23ec\u0007C\u0002\u0002\u23ec", + "\u23ed\u0007U\u0002\u0002\u23ed\u23ee\u0007G\u0002\u0002\u23ee\u23ef", + "\u00078\u0002\u0002\u23ef\u23f0\u00076\u0002\u0002\u23f0\u0612\u0003", + "\u0002\u0002\u0002\u23f1\u23f2\u0007H\u0002\u0002\u23f2\u23f3\u0007", + "T\u0002\u0002\u23f3\u23f4\u0007Q\u0002\u0002\u23f4\u23f5\u0007O\u0002", + "\u0002\u23f5\u23f6\u0007a\u0002\u0002\u23f6\u23f7\u0007F\u0002\u0002", + "\u23f7\u23f8\u0007C\u0002\u0002\u23f8\u23f9\u0007[\u0002\u0002\u23f9", + "\u23fa\u0007U\u0002\u0002\u23fa\u0614\u0003\u0002\u0002\u0002\u23fb", + "\u23fc\u0007H\u0002\u0002\u23fc\u23fd\u0007T\u0002\u0002\u23fd\u23fe", + "\u0007Q\u0002\u0002\u23fe\u23ff\u0007O\u0002\u0002\u23ff\u2400\u0007", + "a\u0002\u0002\u2400\u2401\u0007W\u0002\u0002\u2401\u2402\u0007P\u0002", + "\u0002\u2402\u2403\u0007K\u0002\u0002\u2403\u2404\u0007Z\u0002\u0002", + "\u2404\u2405\u0007V\u0002\u0002\u2405\u2406\u0007K\u0002\u0002\u2406", + "\u2407\u0007O\u0002\u0002\u2407\u2408\u0007G\u0002\u0002\u2408\u0616", + "\u0003\u0002\u0002\u0002\u2409\u240a\u0007I\u0002\u0002\u240a\u240b", + "\u0007G\u0002\u0002\u240b\u240c\u0007Q\u0002\u0002\u240c\u240d\u0007", + "O\u0002\u0002\u240d\u240e\u0007E\u0002\u0002\u240e\u240f\u0007Q\u0002", + "\u0002\u240f\u2410\u0007N\u0002\u0002\u2410\u2411\u0007N\u0002\u0002", + "\u2411\u2412\u0007H\u0002\u0002\u2412\u2413\u0007T\u0002\u0002\u2413", + "\u2414\u0007Q\u0002\u0002\u2414\u2415\u0007O\u0002\u0002\u2415\u2416", + "\u0007V\u0002\u0002\u2416\u2417\u0007G\u0002\u0002\u2417\u2418\u0007", + "Z\u0002\u0002\u2418\u2419\u0007V\u0002\u0002\u2419\u0618\u0003\u0002", + "\u0002\u0002\u241a\u241b\u0007I\u0002\u0002\u241b\u241c\u0007G\u0002", + "\u0002\u241c\u241d\u0007Q\u0002\u0002\u241d\u241e\u0007O\u0002\u0002", + "\u241e\u241f\u0007E\u0002\u0002\u241f\u2420\u0007Q\u0002\u0002\u2420", + "\u2421\u0007N\u0002\u0002\u2421\u2422\u0007N\u0002\u0002\u2422\u2423", + "\u0007H\u0002\u0002\u2423\u2424\u0007T\u0002\u0002\u2424\u2425\u0007", + "Q\u0002\u0002\u2425\u2426\u0007O\u0002\u0002\u2426\u2427\u0007Y\u0002", + "\u0002\u2427\u2428\u0007M\u0002\u0002\u2428\u2429\u0007D\u0002\u0002", + "\u2429\u061a\u0003\u0002\u0002\u0002\u242a\u242b\u0007I\u0002\u0002", + "\u242b\u242c\u0007G\u0002\u0002\u242c\u242d\u0007Q\u0002\u0002\u242d", + "\u242e\u0007O\u0002\u0002\u242e\u242f\u0007G\u0002\u0002\u242f\u2430", + "\u0007V\u0002\u0002\u2430\u2431\u0007T\u0002\u0002\u2431\u2432\u0007", + "[\u0002\u0002\u2432\u2433\u0007E\u0002\u0002\u2433\u2434\u0007Q\u0002", + "\u0002\u2434\u2435\u0007N\u0002\u0002\u2435\u2436\u0007N\u0002\u0002", + "\u2436\u2437\u0007G\u0002\u0002\u2437\u2438\u0007E\u0002\u0002\u2438", + "\u2439\u0007V\u0002\u0002\u2439\u243a\u0007K\u0002\u0002\u243a\u243b", + "\u0007Q\u0002\u0002\u243b\u243c\u0007P\u0002\u0002\u243c\u243d\u0007", + "H\u0002\u0002\u243d\u243e\u0007T\u0002\u0002\u243e\u243f\u0007Q\u0002", + "\u0002\u243f\u2440\u0007O\u0002\u0002\u2440\u2441\u0007V\u0002\u0002", + "\u2441\u2442\u0007G\u0002\u0002\u2442\u2443\u0007Z\u0002\u0002\u2443", + "\u2444\u0007V\u0002\u0002\u2444\u061c\u0003\u0002\u0002\u0002\u2445", + "\u2446\u0007I\u0002\u0002\u2446\u2447\u0007G\u0002\u0002\u2447\u2448", + "\u0007Q\u0002\u0002\u2448\u2449\u0007O\u0002\u0002\u2449\u244a\u0007", + "G\u0002\u0002\u244a\u244b\u0007V\u0002\u0002\u244b\u244c\u0007T\u0002", + "\u0002\u244c\u244d\u0007[\u0002\u0002\u244d\u244e\u0007E\u0002\u0002", + "\u244e\u244f\u0007Q\u0002\u0002\u244f\u2450\u0007N\u0002\u0002\u2450", + "\u2451\u0007N\u0002\u0002\u2451\u2452\u0007G\u0002\u0002\u2452\u2453", + "\u0007E\u0002\u0002\u2453\u2454\u0007V\u0002\u0002\u2454\u2455\u0007", + "K\u0002\u0002\u2455\u2456\u0007Q\u0002\u0002\u2456\u2457\u0007P\u0002", + "\u0002\u2457\u2458\u0007H\u0002\u0002\u2458\u2459\u0007T\u0002\u0002", + "\u2459\u245a\u0007Q\u0002\u0002\u245a\u245b\u0007O\u0002\u0002\u245b", + "\u245c\u0007Y\u0002\u0002\u245c\u245d\u0007M\u0002\u0002\u245d\u245e", + "\u0007D\u0002\u0002\u245e\u061e\u0003\u0002\u0002\u0002\u245f\u2460", + "\u0007I\u0002\u0002\u2460\u2461\u0007G\u0002\u0002\u2461\u2462\u0007", + "Q\u0002\u0002\u2462\u2463\u0007O\u0002\u0002\u2463\u2464\u0007G\u0002", + "\u0002\u2464\u2465\u0007V\u0002\u0002\u2465\u2466\u0007T\u0002\u0002", + "\u2466\u2467\u0007[\u0002\u0002\u2467\u2468\u0007H\u0002\u0002\u2468", + "\u2469\u0007T\u0002\u0002\u2469\u246a\u0007Q\u0002\u0002\u246a\u246b", + "\u0007O\u0002\u0002\u246b\u246c\u0007V\u0002\u0002\u246c\u246d\u0007", + "G\u0002\u0002\u246d\u246e\u0007Z\u0002\u0002\u246e\u246f\u0007V\u0002", + "\u0002\u246f\u0620\u0003\u0002\u0002\u0002\u2470\u2471\u0007I\u0002", + "\u0002\u2471\u2472\u0007G\u0002\u0002\u2472\u2473\u0007Q\u0002\u0002", + "\u2473\u2474\u0007O\u0002\u0002\u2474\u2475\u0007G\u0002\u0002\u2475", + "\u2476\u0007V\u0002\u0002\u2476\u2477\u0007T\u0002\u0002\u2477\u2478", + "\u0007[\u0002\u0002\u2478\u2479\u0007H\u0002\u0002\u2479\u247a\u0007", + "T\u0002\u0002\u247a\u247b\u0007Q\u0002\u0002\u247b\u247c\u0007O\u0002", + "\u0002\u247c\u247d\u0007Y\u0002\u0002\u247d\u247e\u0007M\u0002\u0002", + "\u247e\u247f\u0007D\u0002\u0002\u247f\u0622\u0003\u0002\u0002\u0002", + "\u2480\u2481\u0007I\u0002\u0002\u2481\u2482\u0007G\u0002\u0002\u2482", + "\u2483\u0007Q\u0002\u0002\u2483\u2484\u0007O\u0002\u0002\u2484\u2485", + "\u0007G\u0002\u0002\u2485\u2486\u0007V\u0002\u0002\u2486\u2487\u0007", + "T\u0002\u0002\u2487\u2488\u0007[\u0002\u0002\u2488\u2489\u0007P\u0002", + "\u0002\u2489\u0624\u0003\u0002\u0002\u0002\u248a\u248b\u0007I\u0002", + "\u0002\u248b\u248c\u0007G\u0002\u0002\u248c\u248d\u0007Q\u0002\u0002", + "\u248d\u248e\u0007O\u0002\u0002\u248e\u248f\u0007G\u0002\u0002\u248f", + "\u2490\u0007V\u0002\u0002\u2490\u2491\u0007T\u0002\u0002\u2491\u2492", + "\u0007[\u0002\u0002\u2492\u2493\u0007V\u0002\u0002\u2493\u2494\u0007", + "[\u0002\u0002\u2494\u2495\u0007R\u0002\u0002\u2495\u2496\u0007G\u0002", + "\u0002\u2496\u0626\u0003\u0002\u0002\u0002\u2497\u2498\u0007I\u0002", + "\u0002\u2498\u2499\u0007G\u0002\u0002\u2499\u249a\u0007Q\u0002\u0002", + "\u249a\u249b\u0007O\u0002\u0002\u249b\u249c\u0007H\u0002\u0002\u249c", + "\u249d\u0007T\u0002\u0002\u249d\u249e\u0007Q\u0002\u0002\u249e\u249f", + "\u0007O\u0002\u0002\u249f\u24a0\u0007V\u0002\u0002\u24a0\u24a1\u0007", + "G\u0002\u0002\u24a1\u24a2\u0007Z\u0002\u0002\u24a2\u24a3\u0007V\u0002", + "\u0002\u24a3\u0628\u0003\u0002\u0002\u0002\u24a4\u24a5\u0007I\u0002", + "\u0002\u24a5\u24a6\u0007G\u0002\u0002\u24a6\u24a7\u0007Q\u0002\u0002", + "\u24a7\u24a8\u0007O\u0002\u0002\u24a8\u24a9\u0007H\u0002\u0002\u24a9", + "\u24aa\u0007T\u0002\u0002\u24aa\u24ab\u0007Q\u0002\u0002\u24ab\u24ac", + "\u0007O\u0002\u0002\u24ac\u24ad\u0007Y\u0002\u0002\u24ad\u24ae\u0007", + "M\u0002\u0002\u24ae\u24af\u0007D\u0002\u0002\u24af\u062a\u0003\u0002", + "\u0002\u0002\u24b0\u24b1\u0007I\u0002\u0002\u24b1\u24b2\u0007G\u0002", + "\u0002\u24b2\u24b3\u0007V\u0002\u0002\u24b3\u24b4\u0007a\u0002\u0002", + "\u24b4\u24b5\u0007H\u0002\u0002\u24b5\u24b6\u0007Q\u0002\u0002\u24b6", + "\u24b7\u0007T\u0002\u0002\u24b7\u24b8\u0007O\u0002\u0002\u24b8\u24b9", + "\u0007C\u0002\u0002\u24b9\u24ba\u0007V\u0002\u0002\u24ba\u062c\u0003", + "\u0002\u0002\u0002\u24bb\u24bc\u0007I\u0002\u0002\u24bc\u24bd\u0007", + "G\u0002\u0002\u24bd\u24be\u0007V\u0002\u0002\u24be\u24bf\u0007a\u0002", + "\u0002\u24bf\u24c0\u0007N\u0002\u0002\u24c0\u24c1\u0007Q\u0002\u0002", + "\u24c1\u24c2\u0007E\u0002\u0002\u24c2\u24c3\u0007M\u0002\u0002\u24c3", + "\u062e\u0003\u0002\u0002\u0002\u24c4\u24c5\u0007I\u0002\u0002\u24c5", + "\u24c6\u0007N\u0002\u0002\u24c6\u24c7\u0007G\u0002\u0002\u24c7\u24c8", + "\u0007P\u0002\u0002\u24c8\u24c9\u0007I\u0002\u0002\u24c9\u24ca\u0007", + "V\u0002\u0002\u24ca\u24cb\u0007J\u0002\u0002\u24cb\u0630\u0003\u0002", + "\u0002\u0002\u24cc\u24cd\u0007I\u0002\u0002\u24cd\u24ce\u0007T\u0002", + "\u0002\u24ce\u24cf\u0007G\u0002\u0002\u24cf\u24d0\u0007C\u0002\u0002", + "\u24d0\u24d1\u0007V\u0002\u0002\u24d1\u24d2\u0007G\u0002\u0002\u24d2", + "\u24d3\u0007U\u0002\u0002\u24d3\u24d4\u0007V\u0002\u0002\u24d4\u0632", + "\u0003\u0002\u0002\u0002\u24d5\u24d6\u0007I\u0002\u0002\u24d6\u24d7", + "\u0007V\u0002\u0002\u24d7\u24d8\u0007K\u0002\u0002\u24d8\u24d9\u0007", + "F\u0002\u0002\u24d9\u24da\u0007a\u0002\u0002\u24da\u24db\u0007U\u0002", + "\u0002\u24db\u24dc\u0007W\u0002\u0002\u24dc\u24dd\u0007D\u0002\u0002", + "\u24dd\u24de\u0007U\u0002\u0002\u24de\u24df\u0007G\u0002\u0002\u24df", + "\u24e0\u0007V\u0002\u0002\u24e0\u0634\u0003\u0002\u0002\u0002\u24e1", + "\u24e2\u0007I\u0002\u0002\u24e2\u24e3\u0007V\u0002\u0002\u24e3\u24e4", + "\u0007K\u0002\u0002\u24e4\u24e5\u0007F\u0002\u0002\u24e5\u24e6\u0007", + "a\u0002\u0002\u24e6\u24e7\u0007U\u0002\u0002\u24e7\u24e8\u0007W\u0002", + "\u0002\u24e8\u24e9\u0007D\u0002\u0002\u24e9\u24ea\u0007V\u0002\u0002", + "\u24ea\u24eb\u0007T\u0002\u0002\u24eb\u24ec\u0007C\u0002\u0002\u24ec", + "\u24ed\u0007E\u0002\u0002\u24ed\u24ee\u0007V\u0002\u0002\u24ee\u0636", + "\u0003\u0002\u0002\u0002\u24ef\u24f0\u0007J\u0002\u0002\u24f0\u24f1", + "\u0007G\u0002\u0002\u24f1\u24f2\u0007Z\u0002\u0002\u24f2\u0638\u0003", + "\u0002\u0002\u0002\u24f3\u24f4\u0007K\u0002\u0002\u24f4\u24f5\u0007", + "H\u0002\u0002\u24f5\u24f6\u0007P\u0002\u0002\u24f6\u24f7\u0007W\u0002", + "\u0002\u24f7\u24f8\u0007N\u0002\u0002\u24f8\u24f9\u0007N\u0002\u0002", + "\u24f9\u063a\u0003\u0002\u0002\u0002\u24fa\u24fb\u0007K\u0002\u0002", + "\u24fb\u24fc\u0007P\u0002\u0002\u24fc\u24fd\u0007G\u0002\u0002\u24fd", + "\u24fe\u0007V\u0002\u0002\u24fe\u24ff\u00078\u0002\u0002\u24ff\u2500", + "\u0007a\u0002\u0002\u2500\u2501\u0007C\u0002\u0002\u2501\u2502\u0007", + "V\u0002\u0002\u2502\u2503\u0007Q\u0002\u0002\u2503\u2504\u0007P\u0002", + "\u0002\u2504\u063c\u0003\u0002\u0002\u0002\u2505\u2506\u0007K\u0002", + "\u0002\u2506\u2507\u0007P\u0002\u0002\u2507\u2508\u0007G\u0002\u0002", + "\u2508\u2509\u0007V\u0002\u0002\u2509\u250a\u00078\u0002\u0002\u250a", + "\u250b\u0007a\u0002\u0002\u250b\u250c\u0007P\u0002\u0002\u250c\u250d", + "\u0007V\u0002\u0002\u250d\u250e\u0007Q\u0002\u0002\u250e\u250f\u0007", + "C\u0002\u0002\u250f\u063e\u0003\u0002\u0002\u0002\u2510\u2511\u0007", + "K\u0002\u0002\u2511\u2512\u0007P\u0002\u0002\u2512\u2513\u0007G\u0002", + "\u0002\u2513\u2514\u0007V\u0002\u0002\u2514\u2515\u0007a\u0002\u0002", + "\u2515\u2516\u0007C\u0002\u0002\u2516\u2517\u0007V\u0002\u0002\u2517", + "\u2518\u0007Q\u0002\u0002\u2518\u2519\u0007P\u0002\u0002\u2519\u0640", + "\u0003\u0002\u0002\u0002\u251a\u251b\u0007K\u0002\u0002\u251b\u251c", + "\u0007P\u0002\u0002\u251c\u251d\u0007G\u0002\u0002\u251d\u251e\u0007", + "V\u0002\u0002\u251e\u251f\u0007a\u0002\u0002\u251f\u2520\u0007P\u0002", + "\u0002\u2520\u2521\u0007V\u0002\u0002\u2521\u2522\u0007Q\u0002\u0002", + "\u2522\u2523\u0007C\u0002\u0002\u2523\u0642\u0003\u0002\u0002\u0002", + "\u2524\u2525\u0007K\u0002\u0002\u2525\u2526\u0007P\u0002\u0002\u2526", + "\u2527\u0007U\u0002\u0002\u2527\u2528\u0007V\u0002\u0002\u2528\u2529", + "\u0007T\u0002\u0002\u2529\u0644\u0003\u0002\u0002\u0002\u252a\u252b", + "\u0007K\u0002\u0002\u252b\u252c\u0007P\u0002\u0002\u252c\u252d\u0007", + "V\u0002\u0002\u252d\u252e\u0007G\u0002\u0002\u252e\u252f\u0007T\u0002", + "\u0002\u252f\u2530\u0007K\u0002\u0002\u2530\u2531\u0007Q\u0002\u0002", + "\u2531\u2532\u0007T\u0002\u0002\u2532\u2533\u0007T\u0002\u0002\u2533", + "\u2534\u0007K\u0002\u0002\u2534\u2535\u0007P\u0002\u0002\u2535\u2536", + "\u0007I\u0002\u0002\u2536\u2537\u0007P\u0002\u0002\u2537\u0646\u0003", + "\u0002\u0002\u0002\u2538\u2539\u0007K\u0002\u0002\u2539\u253a\u0007", + "P\u0002\u0002\u253a\u253b\u0007V\u0002\u0002\u253b\u253c\u0007G\u0002", + "\u0002\u253c\u253d\u0007T\u0002\u0002\u253d\u253e\u0007U\u0002\u0002", + "\u253e\u253f\u0007G\u0002\u0002\u253f\u2540\u0007E\u0002\u0002\u2540", + "\u2541\u0007V\u0002\u0002\u2541\u2542\u0007U\u0002\u0002\u2542\u0648", + "\u0003\u0002\u0002\u0002\u2543\u2544\u0007K\u0002\u0002\u2544\u2545", + "\u0007U\u0002\u0002\u2545\u2546\u0007E\u0002\u0002\u2546\u2547\u0007", + "N\u0002\u0002\u2547\u2548\u0007Q\u0002\u0002\u2548\u2549\u0007U\u0002", + "\u0002\u2549\u254a\u0007G\u0002\u0002\u254a\u254b\u0007F\u0002\u0002", + "\u254b\u064a\u0003\u0002\u0002\u0002\u254c\u254d\u0007K\u0002\u0002", + "\u254d\u254e\u0007U\u0002\u0002\u254e\u254f\u0007G\u0002\u0002\u254f", + "\u2550\u0007O\u0002\u0002\u2550\u2551\u0007R\u0002\u0002\u2551\u2552", + "\u0007V\u0002\u0002\u2552\u2553\u0007[\u0002\u0002\u2553\u064c\u0003", + "\u0002\u0002\u0002\u2554\u2555\u0007K\u0002\u0002\u2555\u2556\u0007", + "U\u0002\u0002\u2556\u2557\u0007P\u0002\u0002\u2557\u2558\u0007W\u0002", + "\u0002\u2558\u2559\u0007N\u0002\u0002\u2559\u255a\u0007N\u0002\u0002", + "\u255a\u064e\u0003\u0002\u0002\u0002\u255b\u255c\u0007K\u0002\u0002", + "\u255c\u255d\u0007U\u0002\u0002\u255d\u255e\u0007U\u0002\u0002\u255e", + "\u255f\u0007K\u0002\u0002\u255f\u2560\u0007O\u0002\u0002\u2560\u2561", + "\u0007R\u0002\u0002\u2561\u2562\u0007N\u0002\u0002\u2562\u2563\u0007", + "G\u0002\u0002\u2563\u0650\u0003\u0002\u0002\u0002\u2564\u2565\u0007", + "K\u0002\u0002\u2565\u2566\u0007U\u0002\u0002\u2566\u2567\u0007a\u0002", + "\u0002\u2567\u2568\u0007H\u0002\u0002\u2568\u2569\u0007T\u0002\u0002", + "\u2569\u256a\u0007G\u0002\u0002\u256a\u256b\u0007G\u0002\u0002\u256b", + "\u256c\u0007a\u0002\u0002\u256c\u256d\u0007N\u0002\u0002\u256d\u256e", + "\u0007Q\u0002\u0002\u256e\u256f\u0007E\u0002\u0002\u256f\u2570\u0007", + "M\u0002\u0002\u2570\u0652\u0003\u0002\u0002\u0002\u2571\u2572\u0007", + "K\u0002\u0002\u2572\u2573\u0007U\u0002\u0002\u2573\u2574\u0007a\u0002", + "\u0002\u2574\u2575\u0007K\u0002\u0002\u2575\u2576\u0007R\u0002\u0002", + "\u2576\u2577\u0007X\u0002\u0002\u2577\u2578\u00076\u0002\u0002\u2578", + "\u0654\u0003\u0002\u0002\u0002\u2579\u257a\u0007K\u0002\u0002\u257a", + "\u257b\u0007U\u0002\u0002\u257b\u257c\u0007a\u0002\u0002\u257c\u257d", + "\u0007K\u0002\u0002\u257d\u257e\u0007R\u0002\u0002\u257e\u257f\u0007", + "X\u0002\u0002\u257f\u2580\u00076\u0002\u0002\u2580\u2581\u0007a\u0002", + "\u0002\u2581\u2582\u0007E\u0002\u0002\u2582\u2583\u0007Q\u0002\u0002", + "\u2583\u2584\u0007O\u0002\u0002\u2584\u2585\u0007R\u0002\u0002\u2585", + "\u2586\u0007C\u0002\u0002\u2586\u2587\u0007V\u0002\u0002\u2587\u0656", + "\u0003\u0002\u0002\u0002\u2588\u2589\u0007K\u0002\u0002\u2589\u258a", + "\u0007U\u0002\u0002\u258a\u258b\u0007a\u0002\u0002\u258b\u258c\u0007", + "K\u0002\u0002\u258c\u258d\u0007R\u0002\u0002\u258d\u258e\u0007X\u0002", + "\u0002\u258e\u258f\u00076\u0002\u0002\u258f\u2590\u0007a\u0002\u0002", + "\u2590\u2591\u0007O\u0002\u0002\u2591\u2592\u0007C\u0002\u0002\u2592", + "\u2593\u0007R\u0002\u0002\u2593\u2594\u0007R\u0002\u0002\u2594\u2595", + "\u0007G\u0002\u0002\u2595\u2596\u0007F\u0002\u0002\u2596\u0658\u0003", + "\u0002\u0002\u0002\u2597\u2598\u0007K\u0002\u0002\u2598\u2599\u0007", + "U\u0002\u0002\u2599\u259a\u0007a\u0002\u0002\u259a\u259b\u0007K\u0002", + "\u0002\u259b\u259c\u0007R\u0002\u0002\u259c\u259d\u0007X\u0002\u0002", + "\u259d\u259e\u00078\u0002\u0002\u259e\u065a\u0003\u0002\u0002\u0002", + "\u259f\u25a0\u0007K\u0002\u0002\u25a0\u25a1\u0007U\u0002\u0002\u25a1", + "\u25a2\u0007a\u0002\u0002\u25a2\u25a3\u0007W\u0002\u0002\u25a3\u25a4", + "\u0007U\u0002\u0002\u25a4\u25a5\u0007G\u0002\u0002\u25a5\u25a6\u0007", + "F\u0002\u0002\u25a6\u25a7\u0007a\u0002\u0002\u25a7\u25a8\u0007N\u0002", + "\u0002\u25a8\u25a9\u0007Q\u0002\u0002\u25a9\u25aa\u0007E\u0002\u0002", + "\u25aa\u25ab\u0007M\u0002\u0002\u25ab\u065c\u0003\u0002\u0002\u0002", + "\u25ac\u25ad\u0007N\u0002\u0002\u25ad\u25ae\u0007C\u0002\u0002\u25ae", + "\u25af\u0007U\u0002\u0002\u25af\u25b0\u0007V\u0002\u0002\u25b0\u25b1", + "\u0007a\u0002\u0002\u25b1\u25b2\u0007K\u0002\u0002\u25b2\u25b3\u0007", + "P\u0002\u0002\u25b3\u25b4\u0007U\u0002\u0002\u25b4\u25b5\u0007G\u0002", + "\u0002\u25b5\u25b6\u0007T\u0002\u0002\u25b6\u25b7\u0007V\u0002\u0002", + "\u25b7\u25b8\u0007a\u0002\u0002\u25b8\u25b9\u0007K\u0002\u0002\u25b9", + "\u25ba\u0007F\u0002\u0002\u25ba\u065e\u0003\u0002\u0002\u0002\u25bb", + "\u25bc\u0007N\u0002\u0002\u25bc\u25bd\u0007E\u0002\u0002\u25bd\u25be", + "\u0007C\u0002\u0002\u25be\u25bf\u0007U\u0002\u0002\u25bf\u25c0\u0007", + "G\u0002\u0002\u25c0\u0660\u0003\u0002\u0002\u0002\u25c1\u25c2\u0007", + "N\u0002\u0002\u25c2\u25c3\u0007G\u0002\u0002\u25c3\u25c4\u0007C\u0002", + "\u0002\u25c4\u25c5\u0007U\u0002\u0002\u25c5\u25c6\u0007V\u0002\u0002", + "\u25c6\u0662\u0003\u0002\u0002\u0002\u25c7\u25c8\u0007N\u0002\u0002", + "\u25c8\u25c9\u0007G\u0002\u0002\u25c9\u25ca\u0007P\u0002\u0002\u25ca", + "\u25cb\u0007I\u0002\u0002\u25cb\u25cc\u0007V\u0002\u0002\u25cc\u25cd", + "\u0007J\u0002\u0002\u25cd\u0664\u0003\u0002\u0002\u0002\u25ce\u25cf", + "\u0007N\u0002\u0002\u25cf\u25d0\u0007K\u0002\u0002\u25d0\u25d1\u0007", + "P\u0002\u0002\u25d1\u25d2\u0007G\u0002\u0002\u25d2\u25d3\u0007H\u0002", + "\u0002\u25d3\u25d4\u0007T\u0002\u0002\u25d4\u25d5\u0007Q\u0002\u0002", + "\u25d5\u25d6\u0007O\u0002\u0002\u25d6\u25d7\u0007V\u0002\u0002\u25d7", + "\u25d8\u0007G\u0002\u0002\u25d8\u25d9\u0007Z\u0002\u0002\u25d9\u25da", + "\u0007V\u0002\u0002\u25da\u0666\u0003\u0002\u0002\u0002\u25db\u25dc", + "\u0007N\u0002\u0002\u25dc\u25dd\u0007K\u0002\u0002\u25dd\u25de\u0007", + "P\u0002\u0002\u25de\u25df\u0007G\u0002\u0002\u25df\u25e0\u0007H\u0002", + "\u0002\u25e0\u25e1\u0007T\u0002\u0002\u25e1\u25e2\u0007Q\u0002\u0002", + "\u25e2\u25e3\u0007O\u0002\u0002\u25e3\u25e4\u0007Y\u0002\u0002\u25e4", + "\u25e5\u0007M\u0002\u0002\u25e5\u25e6\u0007D\u0002\u0002\u25e6\u0668", + "\u0003\u0002\u0002\u0002\u25e7\u25e8\u0007N\u0002\u0002\u25e8\u25e9", + "\u0007K\u0002\u0002\u25e9\u25ea\u0007P\u0002\u0002\u25ea\u25eb\u0007", + "G\u0002\u0002\u25eb\u25ec\u0007U\u0002\u0002\u25ec\u25ed\u0007V\u0002", + "\u0002\u25ed\u25ee\u0007T\u0002\u0002\u25ee\u25ef\u0007K\u0002\u0002", + "\u25ef\u25f0\u0007P\u0002\u0002\u25f0\u25f1\u0007I\u0002\u0002\u25f1", + "\u25f2\u0007H\u0002\u0002\u25f2\u25f3\u0007T\u0002\u0002\u25f3\u25f4", + "\u0007Q\u0002\u0002\u25f4\u25f5\u0007O\u0002\u0002\u25f5\u25f6\u0007", + "V\u0002\u0002\u25f6\u25f7\u0007G\u0002\u0002\u25f7\u25f8\u0007Z\u0002", + "\u0002\u25f8\u25f9\u0007V\u0002\u0002\u25f9\u066a\u0003\u0002\u0002", + "\u0002\u25fa\u25fb\u0007N\u0002\u0002\u25fb\u25fc\u0007K\u0002\u0002", + "\u25fc\u25fd\u0007P\u0002\u0002\u25fd\u25fe\u0007G\u0002\u0002\u25fe", + "\u25ff\u0007U\u0002\u0002\u25ff\u2600\u0007V\u0002\u0002\u2600\u2601", + "\u0007T\u0002\u0002\u2601\u2602\u0007K\u0002\u0002\u2602\u2603\u0007", + "P\u0002\u0002\u2603\u2604\u0007I\u0002\u0002\u2604\u2605\u0007H\u0002", + "\u0002\u2605\u2606\u0007T\u0002\u0002\u2606\u2607\u0007Q\u0002\u0002", + "\u2607\u2608\u0007O\u0002\u0002\u2608\u2609\u0007Y\u0002\u0002\u2609", + "\u260a\u0007M\u0002\u0002\u260a\u260b\u0007D\u0002\u0002\u260b\u066c", + "\u0003\u0002\u0002\u0002\u260c\u260d\u0007N\u0002\u0002\u260d\u260e", + "\u0007P\u0002\u0002\u260e\u066e\u0003\u0002\u0002\u0002\u260f\u2610", + "\u0007N\u0002\u0002\u2610\u2611\u0007Q\u0002\u0002\u2611\u2612\u0007", + "C\u0002\u0002\u2612\u2613\u0007F\u0002\u0002\u2613\u2614\u0007a\u0002", + "\u0002\u2614\u2615\u0007H\u0002\u0002\u2615\u2616\u0007K\u0002\u0002", + "\u2616\u2617\u0007N\u0002\u0002\u2617\u2618\u0007G\u0002\u0002\u2618", + "\u0670\u0003\u0002\u0002\u0002\u2619\u261a\u0007N\u0002\u0002\u261a", + "\u261b\u0007Q\u0002\u0002\u261b\u261c\u0007E\u0002\u0002\u261c\u261d", + "\u0007C\u0002\u0002\u261d\u261e\u0007V\u0002\u0002\u261e\u261f\u0007", + "G\u0002\u0002\u261f\u0672\u0003\u0002\u0002\u0002\u2620\u2621\u0007", + "N\u0002\u0002\u2621\u2622\u0007Q\u0002\u0002\u2622\u2623\u0007I\u0002", + "\u0002\u2623\u0674\u0003\u0002\u0002\u0002\u2624\u2625\u0007N\u0002", + "\u0002\u2625\u2626\u0007Q\u0002\u0002\u2626\u2627\u0007I\u0002\u0002", + "\u2627\u2628\u00073\u0002\u0002\u2628\u2629\u00072\u0002\u0002\u2629", + "\u0676\u0003\u0002\u0002\u0002\u262a\u262b\u0007N\u0002\u0002\u262b", + "\u262c\u0007Q\u0002\u0002\u262c\u262d\u0007I\u0002\u0002\u262d\u262e", + "\u00074\u0002\u0002\u262e\u0678\u0003\u0002\u0002\u0002\u262f\u2630", + "\u0007N\u0002\u0002\u2630\u2631\u0007Q\u0002\u0002\u2631\u2632\u0007", + "Y\u0002\u0002\u2632\u2633\u0007G\u0002\u0002\u2633\u2634\u0007T\u0002", + "\u0002\u2634\u067a\u0003\u0002\u0002\u0002\u2635\u2636\u0007N\u0002", + "\u0002\u2636\u2637\u0007R\u0002\u0002\u2637\u2638\u0007C\u0002\u0002", + "\u2638\u2639\u0007F\u0002\u0002\u2639\u067c\u0003\u0002\u0002\u0002", + "\u263a\u263b\u0007N\u0002\u0002\u263b\u263c\u0007V\u0002\u0002\u263c", + "\u263d\u0007T\u0002\u0002\u263d\u263e\u0007K\u0002\u0002\u263e\u263f", + "\u0007O\u0002\u0002\u263f\u067e\u0003\u0002\u0002\u0002\u2640\u2641", + "\u0007O\u0002\u0002\u2641\u2642\u0007C\u0002\u0002\u2642\u2643\u0007", + "M\u0002\u0002\u2643\u2644\u0007G\u0002\u0002\u2644\u2645\u0007F\u0002", + "\u0002\u2645\u2646\u0007C\u0002\u0002\u2646\u2647\u0007V\u0002\u0002", + "\u2647\u2648\u0007G\u0002\u0002\u2648\u0680\u0003\u0002\u0002\u0002", + "\u2649\u264a\u0007O\u0002\u0002\u264a\u264b\u0007C\u0002\u0002\u264b", + "\u264c\u0007M\u0002\u0002\u264c\u264d\u0007G\u0002\u0002\u264d\u264e", + "\u0007V\u0002\u0002\u264e\u264f\u0007K\u0002\u0002\u264f\u2650\u0007", + "O\u0002\u0002\u2650\u2651\u0007G\u0002\u0002\u2651\u0682\u0003\u0002", + "\u0002\u0002\u2652\u2653\u0007O\u0002\u0002\u2653\u2654\u0007C\u0002", + "\u0002\u2654\u2655\u0007M\u0002\u0002\u2655\u2656\u0007G\u0002\u0002", + "\u2656\u2657\u0007a\u0002\u0002\u2657\u2658\u0007U\u0002\u0002\u2658", + "\u2659\u0007G\u0002\u0002\u2659\u265a\u0007V\u0002\u0002\u265a\u0684", + "\u0003\u0002\u0002\u0002\u265b\u265c\u0007O\u0002\u0002\u265c\u265d", + "\u0007C\u0002\u0002\u265d\u265e\u0007U\u0002\u0002\u265e\u265f\u0007", + "V\u0002\u0002\u265f\u2660\u0007G\u0002\u0002\u2660\u2661\u0007T\u0002", + "\u0002\u2661\u2662\u0007a\u0002\u0002\u2662\u2663\u0007R\u0002\u0002", + "\u2663\u2664\u0007Q\u0002\u0002\u2664\u2665\u0007U\u0002\u0002\u2665", + "\u2666\u0007a\u0002\u0002\u2666\u2667\u0007Y\u0002\u0002\u2667\u2668", + "\u0007C\u0002\u0002\u2668\u2669\u0007K\u0002\u0002\u2669\u266a\u0007", + "V\u0002\u0002\u266a\u0686\u0003\u0002\u0002\u0002\u266b\u266c\u0007", + "O\u0002\u0002\u266c\u266d\u0007D\u0002\u0002\u266d\u266e\u0007T\u0002", + "\u0002\u266e\u266f\u0007E\u0002\u0002\u266f\u2670\u0007Q\u0002\u0002", + "\u2670\u2671\u0007P\u0002\u0002\u2671\u2672\u0007V\u0002\u0002\u2672", + "\u2673\u0007C\u0002\u0002\u2673\u2674\u0007K\u0002\u0002\u2674\u2675", + "\u0007P\u0002\u0002\u2675\u2676\u0007U\u0002\u0002\u2676\u0688\u0003", + "\u0002\u0002\u0002\u2677\u2678\u0007O\u0002\u0002\u2678\u2679\u0007", + "D\u0002\u0002\u2679\u267a\u0007T\u0002\u0002\u267a\u267b\u0007F\u0002", + "\u0002\u267b\u267c\u0007K\u0002\u0002\u267c\u267d\u0007U\u0002\u0002", + "\u267d\u267e\u0007L\u0002\u0002\u267e\u267f\u0007Q\u0002\u0002\u267f", + "\u2680\u0007K\u0002\u0002\u2680\u2681\u0007P\u0002\u0002\u2681\u2682", + "\u0007V\u0002\u0002\u2682\u068a\u0003\u0002\u0002\u0002\u2683\u2684", + "\u0007O\u0002\u0002\u2684\u2685\u0007D\u0002\u0002\u2685\u2686\u0007", + "T\u0002\u0002\u2686\u2687\u0007G\u0002\u0002\u2687\u2688\u0007S\u0002", + "\u0002\u2688\u2689\u0007W\u0002\u0002\u2689\u268a\u0007C\u0002\u0002", + "\u268a\u268b\u0007N\u0002\u0002\u268b\u068c\u0003\u0002\u0002\u0002", + "\u268c\u268d\u0007O\u0002\u0002\u268d\u268e\u0007D\u0002\u0002\u268e", + "\u268f\u0007T\u0002\u0002\u268f\u2690\u0007K\u0002\u0002\u2690\u2691", + "\u0007P\u0002\u0002\u2691\u2692\u0007V\u0002\u0002\u2692\u2693\u0007", + "G\u0002\u0002\u2693\u2694\u0007T\u0002\u0002\u2694\u2695\u0007U\u0002", + "\u0002\u2695\u2696\u0007G\u0002\u0002\u2696\u2697\u0007E\u0002\u0002", + "\u2697\u2698\u0007V\u0002\u0002\u2698\u2699\u0007U\u0002\u0002\u2699", + "\u068e\u0003\u0002\u0002\u0002\u269a\u269b\u0007O\u0002\u0002\u269b", + "\u269c\u0007D\u0002\u0002\u269c\u269d\u0007T\u0002\u0002\u269d\u269e", + "\u0007Q\u0002\u0002\u269e\u269f\u0007X\u0002\u0002\u269f\u26a0\u0007", + "G\u0002\u0002\u26a0\u26a1\u0007T\u0002\u0002\u26a1\u26a2\u0007N\u0002", + "\u0002\u26a2\u26a3\u0007C\u0002\u0002\u26a3\u26a4\u0007R\u0002\u0002", + "\u26a4\u26a5\u0007U\u0002\u0002\u26a5\u0690\u0003\u0002\u0002\u0002", + "\u26a6\u26a7\u0007O\u0002\u0002\u26a7\u26a8\u0007D\u0002\u0002\u26a8", + "\u26a9\u0007T\u0002\u0002\u26a9\u26aa\u0007V\u0002\u0002\u26aa\u26ab", + "\u0007Q\u0002\u0002\u26ab\u26ac\u0007W\u0002\u0002\u26ac\u26ad\u0007", + "E\u0002\u0002\u26ad\u26ae\u0007J\u0002\u0002\u26ae\u26af\u0007G\u0002", + "\u0002\u26af\u26b0\u0007U\u0002\u0002\u26b0\u0692\u0003\u0002\u0002", + "\u0002\u26b1\u26b2\u0007O\u0002\u0002\u26b2\u26b3\u0007D\u0002\u0002", + "\u26b3\u26b4\u0007T\u0002\u0002\u26b4\u26b5\u0007Y\u0002\u0002\u26b5", + "\u26b6\u0007K\u0002\u0002\u26b6\u26b7\u0007V\u0002\u0002\u26b7\u26b8", + "\u0007J\u0002\u0002\u26b8\u26b9\u0007K\u0002\u0002\u26b9\u26ba\u0007", + "P\u0002\u0002\u26ba\u0694\u0003\u0002\u0002\u0002\u26bb\u26bc\u0007", + "O\u0002\u0002\u26bc\u26bd\u0007F\u0002\u0002\u26bd\u26be\u00077\u0002", + "\u0002\u26be\u0696\u0003\u0002\u0002\u0002\u26bf\u26c0\u0007O\u0002", + "\u0002\u26c0\u26c1\u0007N\u0002\u0002\u26c1\u26c2\u0007K\u0002\u0002", + "\u26c2\u26c3\u0007P\u0002\u0002\u26c3\u26c4\u0007G\u0002\u0002\u26c4", + "\u26c5\u0007H\u0002\u0002\u26c5\u26c6\u0007T\u0002\u0002\u26c6\u26c7", + "\u0007Q\u0002\u0002\u26c7\u26c8\u0007O\u0002\u0002\u26c8\u26c9\u0007", + "V\u0002\u0002\u26c9\u26ca\u0007G\u0002\u0002\u26ca\u26cb\u0007Z\u0002", + "\u0002\u26cb\u26cc\u0007V\u0002\u0002\u26cc\u0698\u0003\u0002\u0002", + "\u0002\u26cd\u26ce\u0007O\u0002\u0002\u26ce\u26cf\u0007N\u0002\u0002", + "\u26cf\u26d0\u0007K\u0002\u0002\u26d0\u26d1\u0007P\u0002\u0002\u26d1", + "\u26d2\u0007G\u0002\u0002\u26d2\u26d3\u0007H\u0002\u0002\u26d3\u26d4", + "\u0007T\u0002\u0002\u26d4\u26d5\u0007Q\u0002\u0002\u26d5\u26d6\u0007", + "O\u0002\u0002\u26d6\u26d7\u0007Y\u0002\u0002\u26d7\u26d8\u0007M\u0002", + "\u0002\u26d8\u26d9\u0007D\u0002\u0002\u26d9\u069a\u0003\u0002\u0002", + "\u0002\u26da\u26db\u0007O\u0002\u0002\u26db\u26dc\u0007Q\u0002\u0002", + "\u26dc\u26dd\u0007P\u0002\u0002\u26dd\u26de\u0007V\u0002\u0002\u26de", + "\u26df\u0007J\u0002\u0002\u26df\u26e0\u0007P\u0002\u0002\u26e0\u26e1", + "\u0007C\u0002\u0002\u26e1\u26e2\u0007O\u0002\u0002\u26e2\u26e3\u0007", + "G\u0002\u0002\u26e3\u069c\u0003\u0002\u0002\u0002\u26e4\u26e5\u0007", + "O\u0002\u0002\u26e5\u26e6\u0007R\u0002\u0002\u26e6\u26e7\u0007Q\u0002", + "\u0002\u26e7\u26e8\u0007K\u0002\u0002\u26e8\u26e9\u0007P\u0002\u0002", + "\u26e9\u26ea\u0007V\u0002\u0002\u26ea\u26eb\u0007H\u0002\u0002\u26eb", + "\u26ec\u0007T\u0002\u0002\u26ec\u26ed\u0007Q\u0002\u0002\u26ed\u26ee", + "\u0007O\u0002\u0002\u26ee\u26ef\u0007V\u0002\u0002\u26ef\u26f0\u0007", + "G\u0002\u0002\u26f0\u26f1\u0007Z\u0002\u0002\u26f1\u26f2\u0007V\u0002", + "\u0002\u26f2\u069e\u0003\u0002\u0002\u0002\u26f3\u26f4\u0007O\u0002", + "\u0002\u26f4\u26f5\u0007R\u0002\u0002\u26f5\u26f6\u0007Q\u0002\u0002", + "\u26f6\u26f7\u0007K\u0002\u0002\u26f7\u26f8\u0007P\u0002\u0002\u26f8", + "\u26f9\u0007V\u0002\u0002\u26f9\u26fa\u0007H\u0002\u0002\u26fa\u26fb", + "\u0007T\u0002\u0002\u26fb\u26fc\u0007Q\u0002\u0002\u26fc\u26fd\u0007", + "O\u0002\u0002\u26fd\u26fe\u0007Y\u0002\u0002\u26fe\u26ff\u0007M\u0002", + "\u0002\u26ff\u2700\u0007D\u0002\u0002\u2700\u06a0\u0003\u0002\u0002", + "\u0002\u2701\u2702\u0007O\u0002\u0002\u2702\u2703\u0007R\u0002\u0002", + "\u2703\u2704\u0007Q\u0002\u0002\u2704\u2705\u0007N\u0002\u0002\u2705", + "\u2706\u0007[\u0002\u0002\u2706\u2707\u0007H\u0002\u0002\u2707\u2708", + "\u0007T\u0002\u0002\u2708\u2709\u0007Q\u0002\u0002\u2709\u270a\u0007", + "O\u0002\u0002\u270a\u270b\u0007V\u0002\u0002\u270b\u270c\u0007G\u0002", + "\u0002\u270c\u270d\u0007Z\u0002\u0002\u270d\u270e\u0007V\u0002\u0002", + "\u270e\u06a2\u0003\u0002\u0002\u0002\u270f\u2710\u0007O\u0002\u0002", + "\u2710\u2711\u0007R\u0002\u0002\u2711\u2712\u0007Q\u0002\u0002\u2712", + "\u2713\u0007N\u0002\u0002\u2713\u2714\u0007[\u0002\u0002\u2714\u2715", + "\u0007H\u0002\u0002\u2715\u2716\u0007T\u0002\u0002\u2716\u2717\u0007", + "Q\u0002\u0002\u2717\u2718\u0007O\u0002\u0002\u2718\u2719\u0007Y\u0002", + "\u0002\u2719\u271a\u0007M\u0002\u0002\u271a\u271b\u0007D\u0002\u0002", + "\u271b\u06a4\u0003\u0002\u0002\u0002\u271c\u271d\u0007O\u0002\u0002", + "\u271d\u271e\u0007W\u0002\u0002\u271e\u271f\u0007N\u0002\u0002\u271f", + "\u2720\u0007V\u0002\u0002\u2720\u2721\u0007K\u0002\u0002\u2721\u2722", + "\u0007N\u0002\u0002\u2722\u2723\u0007K\u0002\u0002\u2723\u2724\u0007", + "P\u0002\u0002\u2724\u2725\u0007G\u0002\u0002\u2725\u2726\u0007U\u0002", + "\u0002\u2726\u2727\u0007V\u0002\u0002\u2727\u2728\u0007T\u0002\u0002", + "\u2728\u2729\u0007K\u0002\u0002\u2729\u272a\u0007P\u0002\u0002\u272a", + "\u272b\u0007I\u0002\u0002\u272b\u272c\u0007H\u0002\u0002\u272c\u272d", + "\u0007T\u0002\u0002\u272d\u272e\u0007Q\u0002\u0002\u272e\u272f\u0007", + "O\u0002\u0002\u272f\u2730\u0007V\u0002\u0002\u2730\u2731\u0007G\u0002", + "\u0002\u2731\u2732\u0007Z\u0002\u0002\u2732\u2733\u0007V\u0002\u0002", + "\u2733\u06a6\u0003\u0002\u0002\u0002\u2734\u2735\u0007O\u0002\u0002", + "\u2735\u2736\u0007W\u0002\u0002\u2736\u2737\u0007N\u0002\u0002\u2737", + "\u2738\u0007V\u0002\u0002\u2738\u2739\u0007K\u0002\u0002\u2739\u273a", + "\u0007N\u0002\u0002\u273a\u273b\u0007K\u0002\u0002\u273b\u273c\u0007", + "P\u0002\u0002\u273c\u273d\u0007G\u0002\u0002\u273d\u273e\u0007U\u0002", + "\u0002\u273e\u273f\u0007V\u0002\u0002\u273f\u2740\u0007T\u0002\u0002", + "\u2740\u2741\u0007K\u0002\u0002\u2741\u2742\u0007P\u0002\u0002\u2742", + "\u2743\u0007I\u0002\u0002\u2743\u2744\u0007H\u0002\u0002\u2744\u2745", + "\u0007T\u0002\u0002\u2745\u2746\u0007Q\u0002\u0002\u2746\u2747\u0007", + "O\u0002\u0002\u2747\u2748\u0007Y\u0002\u0002\u2748\u2749\u0007M\u0002", + "\u0002\u2749\u274a\u0007D\u0002\u0002\u274a\u06a8\u0003\u0002\u0002", + "\u0002\u274b\u274c\u0007O\u0002\u0002\u274c\u274d\u0007W\u0002\u0002", + "\u274d\u274e\u0007N\u0002\u0002\u274e\u274f\u0007V\u0002\u0002\u274f", + "\u2750\u0007K\u0002\u0002\u2750\u2751\u0007R\u0002\u0002\u2751\u2752", + "\u0007Q\u0002\u0002\u2752\u2753\u0007K\u0002\u0002\u2753\u2754\u0007", + "P\u0002\u0002\u2754\u2755\u0007V\u0002\u0002\u2755\u2756\u0007H\u0002", + "\u0002\u2756\u2757\u0007T\u0002\u0002\u2757\u2758\u0007Q\u0002\u0002", + "\u2758\u2759\u0007O\u0002\u0002\u2759\u275a\u0007V\u0002\u0002\u275a", + "\u275b\u0007G\u0002\u0002\u275b\u275c\u0007Z\u0002\u0002\u275c\u275d", + "\u0007V\u0002\u0002\u275d\u06aa\u0003\u0002\u0002\u0002\u275e\u275f", + "\u0007O\u0002\u0002\u275f\u2760\u0007W\u0002\u0002\u2760\u2761\u0007", + "N\u0002\u0002\u2761\u2762\u0007V\u0002\u0002\u2762\u2763\u0007K\u0002", + "\u0002\u2763\u2764\u0007R\u0002\u0002\u2764\u2765\u0007Q\u0002\u0002", + "\u2765\u2766\u0007K\u0002\u0002\u2766\u2767\u0007P\u0002\u0002\u2767", + "\u2768\u0007V\u0002\u0002\u2768\u2769\u0007H\u0002\u0002\u2769\u276a", + "\u0007T\u0002\u0002\u276a\u276b\u0007Q\u0002\u0002\u276b\u276c\u0007", + "O\u0002\u0002\u276c\u276d\u0007Y\u0002\u0002\u276d\u276e\u0007M\u0002", + "\u0002\u276e\u276f\u0007D\u0002\u0002\u276f\u06ac\u0003\u0002\u0002", + "\u0002\u2770\u2771\u0007O\u0002\u0002\u2771\u2772\u0007W\u0002\u0002", + "\u2772\u2773\u0007N\u0002\u0002\u2773\u2774\u0007V\u0002\u0002\u2774", + "\u2775\u0007K\u0002\u0002\u2775\u2776\u0007R\u0002\u0002\u2776\u2777", + "\u0007Q\u0002\u0002\u2777\u2778\u0007N\u0002\u0002\u2778\u2779\u0007", + "[\u0002\u0002\u2779\u277a\u0007I\u0002\u0002\u277a\u277b\u0007Q\u0002", + "\u0002\u277b\u277c\u0007P\u0002\u0002\u277c\u277d\u0007H\u0002\u0002", + "\u277d\u277e\u0007T\u0002\u0002\u277e\u277f\u0007Q\u0002\u0002\u277f", + "\u2780\u0007O\u0002\u0002\u2780\u2781\u0007V\u0002\u0002\u2781\u2782", + "\u0007G\u0002\u0002\u2782\u2783\u0007Z\u0002\u0002\u2783\u2784\u0007", + "V\u0002\u0002\u2784\u06ae\u0003\u0002\u0002\u0002\u2785\u2786\u0007", + "O\u0002\u0002\u2786\u2787\u0007W\u0002\u0002\u2787\u2788\u0007N\u0002", + "\u0002\u2788\u2789\u0007V\u0002\u0002\u2789\u278a\u0007K\u0002\u0002", + "\u278a\u278b\u0007R\u0002\u0002\u278b\u278c\u0007Q\u0002\u0002\u278c", + "\u278d\u0007N\u0002\u0002\u278d\u278e\u0007[\u0002\u0002\u278e\u278f", + "\u0007I\u0002\u0002\u278f\u2790\u0007Q\u0002\u0002\u2790\u2791\u0007", + "P\u0002\u0002\u2791\u2792\u0007H\u0002\u0002\u2792\u2793\u0007T\u0002", + "\u0002\u2793\u2794\u0007Q\u0002\u0002\u2794\u2795\u0007O\u0002\u0002", + "\u2795\u2796\u0007Y\u0002\u0002\u2796\u2797\u0007M\u0002\u0002\u2797", + "\u2798\u0007D\u0002\u0002\u2798\u06b0\u0003\u0002\u0002\u0002\u2799", + "\u279a\u0007P\u0002\u0002\u279a\u279b\u0007C\u0002\u0002\u279b\u279c", + "\u0007O\u0002\u0002\u279c\u279d\u0007G\u0002\u0002\u279d\u279e\u0007", + "a\u0002\u0002\u279e\u279f\u0007E\u0002\u0002\u279f\u27a0\u0007Q\u0002", + "\u0002\u27a0\u27a1\u0007P\u0002\u0002\u27a1\u27a2\u0007U\u0002\u0002", + "\u27a2\u27a3\u0007V\u0002\u0002\u27a3\u06b2\u0003\u0002\u0002\u0002", + "\u27a4\u27a5\u0007P\u0002\u0002\u27a5\u27a6\u0007W\u0002\u0002\u27a6", + "\u27a7\u0007N\u0002\u0002\u27a7\u27a8\u0007N\u0002\u0002\u27a8\u27a9", + "\u0007K\u0002\u0002\u27a9\u27aa\u0007H\u0002\u0002\u27aa\u06b4\u0003", + "\u0002\u0002\u0002\u27ab\u27ac\u0007P\u0002\u0002\u27ac\u27ad\u0007", + "W\u0002\u0002\u27ad\u27ae\u0007O\u0002\u0002\u27ae\u27af\u0007I\u0002", + "\u0002\u27af\u27b0\u0007G\u0002\u0002\u27b0\u27b1\u0007Q\u0002\u0002", + "\u27b1\u27b2\u0007O\u0002\u0002\u27b2\u27b3\u0007G\u0002\u0002\u27b3", + "\u27b4\u0007V\u0002\u0002\u27b4\u27b5\u0007T\u0002\u0002\u27b5\u27b6", + "\u0007K\u0002\u0002\u27b6\u27b7\u0007G\u0002\u0002\u27b7\u27b8\u0007", + "U\u0002\u0002\u27b8\u06b6\u0003\u0002\u0002\u0002\u27b9\u27ba\u0007", + "P\u0002\u0002\u27ba\u27bb\u0007W\u0002\u0002\u27bb\u27bc\u0007O\u0002", + "\u0002\u27bc\u27bd\u0007K\u0002\u0002\u27bd\u27be\u0007P\u0002\u0002", + "\u27be\u27bf\u0007V\u0002\u0002\u27bf\u27c0\u0007G\u0002\u0002\u27c0", + "\u27c1\u0007T\u0002\u0002\u27c1\u27c2\u0007K\u0002\u0002\u27c2\u27c3", + "\u0007Q\u0002\u0002\u27c3\u27c4\u0007T\u0002\u0002\u27c4\u27c5\u0007", + "T\u0002\u0002\u27c5\u27c6\u0007K\u0002\u0002\u27c6\u27c7\u0007P\u0002", + "\u0002\u27c7\u27c8\u0007I\u0002\u0002\u27c8\u27c9\u0007U\u0002\u0002", + "\u27c9\u06b8\u0003\u0002\u0002\u0002\u27ca\u27cb\u0007P\u0002\u0002", + "\u27cb\u27cc\u0007W\u0002\u0002\u27cc\u27cd\u0007O\u0002\u0002\u27cd", + "\u27ce\u0007R\u0002\u0002\u27ce\u27cf\u0007Q\u0002\u0002\u27cf\u27d0", + "\u0007K\u0002\u0002\u27d0\u27d1\u0007P\u0002\u0002\u27d1\u27d2\u0007", + "V\u0002\u0002\u27d2\u27d3\u0007U\u0002\u0002\u27d3\u06ba\u0003\u0002", + "\u0002\u0002\u27d4\u27d5\u0007Q\u0002\u0002\u27d5\u27d6\u0007E\u0002", + "\u0002\u27d6\u27d7\u0007V\u0002\u0002\u27d7\u06bc\u0003\u0002\u0002", + "\u0002\u27d8\u27d9\u0007Q\u0002\u0002\u27d9\u27da\u0007E\u0002\u0002", + "\u27da\u27db\u0007V\u0002\u0002\u27db\u27dc\u0007G\u0002\u0002\u27dc", + "\u27dd\u0007V\u0002\u0002\u27dd\u27de\u0007a\u0002\u0002\u27de\u27df", + "\u0007N\u0002\u0002\u27df\u27e0\u0007G\u0002\u0002\u27e0\u27e1\u0007", + "P\u0002\u0002\u27e1\u27e2\u0007I\u0002\u0002\u27e2\u27e3\u0007V\u0002", + "\u0002\u27e3\u27e4\u0007J\u0002\u0002\u27e4\u06be\u0003\u0002\u0002", + "\u0002\u27e5\u27e6\u0007Q\u0002\u0002\u27e6\u27e7\u0007T\u0002\u0002", + "\u27e7\u27e8\u0007F\u0002\u0002\u27e8\u06c0\u0003\u0002\u0002\u0002", + "\u27e9\u27ea\u0007Q\u0002\u0002\u27ea\u27eb\u0007X\u0002\u0002\u27eb", + "\u27ec\u0007G\u0002\u0002\u27ec\u27ed\u0007T\u0002\u0002\u27ed\u27ee", + "\u0007N\u0002\u0002\u27ee\u27ef\u0007C\u0002\u0002\u27ef\u27f0\u0007", + "R\u0002\u0002\u27f0\u27f1\u0007U\u0002\u0002\u27f1\u06c2\u0003\u0002", + "\u0002\u0002\u27f2\u27f3\u0007R\u0002\u0002\u27f3\u27f4\u0007G\u0002", + "\u0002\u27f4\u27f5\u0007T\u0002\u0002\u27f5\u27f6\u0007K\u0002\u0002", + "\u27f6\u27f7\u0007Q\u0002\u0002\u27f7\u27f8\u0007F\u0002\u0002\u27f8", + "\u27f9\u0007a\u0002\u0002\u27f9\u27fa\u0007C\u0002\u0002\u27fa\u27fb", + "\u0007F\u0002\u0002\u27fb\u27fc\u0007F\u0002\u0002\u27fc\u06c4\u0003", + "\u0002\u0002\u0002\u27fd\u27fe\u0007R\u0002\u0002\u27fe\u27ff\u0007", + "G\u0002\u0002\u27ff\u2800\u0007T\u0002\u0002\u2800\u2801\u0007K\u0002", + "\u0002\u2801\u2802\u0007Q\u0002\u0002\u2802\u2803\u0007F\u0002\u0002", + "\u2803\u2804\u0007a\u0002\u0002\u2804\u2805\u0007F\u0002\u0002\u2805", + "\u2806\u0007K\u0002\u0002\u2806\u2807\u0007H\u0002\u0002\u2807\u2808", + "\u0007H\u0002\u0002\u2808\u06c6\u0003\u0002\u0002\u0002\u2809\u280a", + "\u0007R\u0002\u0002\u280a\u280b\u0007K\u0002\u0002\u280b\u06c8\u0003", + "\u0002\u0002\u0002\u280c\u280d\u0007R\u0002\u0002\u280d\u280e\u0007", + "Q\u0002\u0002\u280e\u280f\u0007K\u0002\u0002\u280f\u2810\u0007P\u0002", + "\u0002\u2810\u2811\u0007V\u0002\u0002\u2811\u2812\u0007H\u0002\u0002", + "\u2812\u2813\u0007T\u0002\u0002\u2813\u2814\u0007Q\u0002\u0002\u2814", + "\u2815\u0007O\u0002\u0002\u2815\u2816\u0007V\u0002\u0002\u2816\u2817", + "\u0007G\u0002\u0002\u2817\u2818\u0007Z\u0002\u0002\u2818\u2819\u0007", + "V\u0002\u0002\u2819\u06ca\u0003\u0002\u0002\u0002\u281a\u281b\u0007", + "R\u0002\u0002\u281b\u281c\u0007Q\u0002\u0002\u281c\u281d\u0007K\u0002", + "\u0002\u281d\u281e\u0007P\u0002\u0002\u281e\u281f\u0007V\u0002\u0002", + "\u281f\u2820\u0007H\u0002\u0002\u2820\u2821\u0007T\u0002\u0002\u2821", + "\u2822\u0007Q\u0002\u0002\u2822\u2823\u0007O\u0002\u0002\u2823\u2824", + "\u0007Y\u0002\u0002\u2824\u2825\u0007M\u0002\u0002\u2825\u2826\u0007", + "D\u0002\u0002\u2826\u06cc\u0003\u0002\u0002\u0002\u2827\u2828\u0007", + "R\u0002\u0002\u2828\u2829\u0007Q\u0002\u0002\u2829\u282a\u0007K\u0002", + "\u0002\u282a\u282b\u0007P\u0002\u0002\u282b\u282c\u0007V\u0002\u0002", + "\u282c\u282d\u0007P\u0002\u0002\u282d\u06ce\u0003\u0002\u0002\u0002", + "\u282e\u282f\u0007R\u0002\u0002\u282f\u2830\u0007Q\u0002\u0002\u2830", + "\u2831\u0007N\u0002\u0002\u2831\u2832\u0007[\u0002\u0002\u2832\u2833", + "\u0007H\u0002\u0002\u2833\u2834\u0007T\u0002\u0002\u2834\u2835\u0007", + "Q\u0002\u0002\u2835\u2836\u0007O\u0002\u0002\u2836\u2837\u0007V\u0002", + "\u0002\u2837\u2838\u0007G\u0002\u0002\u2838\u2839\u0007Z\u0002\u0002", + "\u2839\u283a\u0007V\u0002\u0002\u283a\u06d0\u0003\u0002\u0002\u0002", + "\u283b\u283c\u0007R\u0002\u0002\u283c\u283d\u0007Q\u0002\u0002\u283d", + "\u283e\u0007N\u0002\u0002\u283e\u283f\u0007[\u0002\u0002\u283f\u2840", + "\u0007H\u0002\u0002\u2840\u2841\u0007T\u0002\u0002\u2841\u2842\u0007", + "Q\u0002\u0002\u2842\u2843\u0007O\u0002\u0002\u2843\u2844\u0007Y\u0002", + "\u0002\u2844\u2845\u0007M\u0002\u0002\u2845\u2846\u0007D\u0002\u0002", + "\u2846\u06d2\u0003\u0002\u0002\u0002\u2847\u2848\u0007R\u0002\u0002", + "\u2848\u2849\u0007Q\u0002\u0002\u2849\u284a\u0007N\u0002\u0002\u284a", + "\u284b\u0007[\u0002\u0002\u284b\u284c\u0007I\u0002\u0002\u284c\u284d", + "\u0007Q\u0002\u0002\u284d\u284e\u0007P\u0002\u0002\u284e\u284f\u0007", + "H\u0002\u0002\u284f\u2850\u0007T\u0002\u0002\u2850\u2851\u0007Q\u0002", + "\u0002\u2851\u2852\u0007O\u0002\u0002\u2852\u2853\u0007V\u0002\u0002", + "\u2853\u2854\u0007G\u0002\u0002\u2854\u2855\u0007Z\u0002\u0002\u2855", + "\u2856\u0007V\u0002\u0002\u2856\u06d4\u0003\u0002\u0002\u0002\u2857", + "\u2858\u0007R\u0002\u0002\u2858\u2859\u0007Q\u0002\u0002\u2859\u285a", + "\u0007N\u0002\u0002\u285a\u285b\u0007[\u0002\u0002\u285b\u285c\u0007", + "I\u0002\u0002\u285c\u285d\u0007Q\u0002\u0002\u285d\u285e\u0007P\u0002", + "\u0002\u285e\u285f\u0007H\u0002\u0002\u285f\u2860\u0007T\u0002\u0002", + "\u2860\u2861\u0007Q\u0002\u0002\u2861\u2862\u0007O\u0002\u0002\u2862", + "\u2863\u0007Y\u0002\u0002\u2863\u2864\u0007M\u0002\u0002\u2864\u2865", + "\u0007D\u0002\u0002\u2865\u06d6\u0003\u0002\u0002\u0002\u2866\u2867", + "\u0007R\u0002\u0002\u2867\u2868\u0007Q\u0002\u0002\u2868\u2869\u0007", + "Y\u0002\u0002\u2869\u06d8\u0003\u0002\u0002\u0002\u286a\u286b\u0007", + "R\u0002\u0002\u286b\u286c\u0007Q\u0002\u0002\u286c\u286d\u0007Y\u0002", + "\u0002\u286d\u286e\u0007G\u0002\u0002\u286e\u286f\u0007T\u0002\u0002", + "\u286f\u06da\u0003\u0002\u0002\u0002\u2870\u2871\u0007S\u0002\u0002", + "\u2871\u2872\u0007W\u0002\u0002\u2872\u2873\u0007Q\u0002\u0002\u2873", + "\u2874\u0007V\u0002\u0002\u2874\u2875\u0007G\u0002\u0002\u2875\u06dc", + "\u0003\u0002\u0002\u0002\u2876\u2877\u0007T\u0002\u0002\u2877\u2878", + "\u0007C\u0002\u0002\u2878\u2879\u0007F\u0002\u0002\u2879\u287a\u0007", + "K\u0002\u0002\u287a\u287b\u0007C\u0002\u0002\u287b\u287c\u0007P\u0002", + "\u0002\u287c\u287d\u0007U\u0002\u0002\u287d\u06de\u0003\u0002\u0002", + "\u0002\u287e\u287f\u0007T\u0002\u0002\u287f\u2880\u0007C\u0002\u0002", + "\u2880\u2881\u0007P\u0002\u0002\u2881\u2882\u0007F\u0002\u0002\u2882", + "\u06e0\u0003\u0002\u0002\u0002\u2883\u2884\u0007T\u0002\u0002\u2884", + "\u2885\u0007C\u0002\u0002\u2885\u2886\u0007P\u0002\u0002\u2886\u2887", + "\u0007F\u0002\u0002\u2887\u2888\u0007Q\u0002\u0002\u2888\u2889\u0007", + "O\u0002\u0002\u2889\u288a\u0007a\u0002\u0002\u288a\u288b\u0007D\u0002", + "\u0002\u288b\u288c\u0007[\u0002\u0002\u288c\u288d\u0007V\u0002\u0002", + "\u288d\u288e\u0007G\u0002\u0002\u288e\u288f\u0007U\u0002\u0002\u288f", + "\u06e2\u0003\u0002\u0002\u0002\u2890\u2891\u0007T\u0002\u0002\u2891", + "\u2892\u0007G\u0002\u0002\u2892\u2893\u0007N\u0002\u0002\u2893\u2894", + "\u0007G\u0002\u0002\u2894\u2895\u0007C\u0002\u0002\u2895\u2896\u0007", + "U\u0002\u0002\u2896\u2897\u0007G\u0002\u0002\u2897\u2898\u0007a\u0002", + "\u0002\u2898\u2899\u0007N\u0002\u0002\u2899\u289a\u0007Q\u0002\u0002", + "\u289a\u289b\u0007E\u0002\u0002\u289b\u289c\u0007M\u0002\u0002\u289c", + "\u06e4\u0003\u0002\u0002\u0002\u289d\u289e\u0007T\u0002\u0002\u289e", + "\u289f\u0007G\u0002\u0002\u289f\u28a0\u0007X\u0002\u0002\u28a0\u28a1", + "\u0007G\u0002\u0002\u28a1\u28a2\u0007T\u0002\u0002\u28a2\u28a3\u0007", + "U\u0002\u0002\u28a3\u28a4\u0007G\u0002\u0002\u28a4\u06e6\u0003\u0002", + "\u0002\u0002\u28a5\u28a6\u0007T\u0002\u0002\u28a6\u28a7\u0007Q\u0002", + "\u0002\u28a7\u28a8\u0007W\u0002\u0002\u28a8\u28a9\u0007P\u0002\u0002", + "\u28a9\u28aa\u0007F\u0002\u0002\u28aa\u06e8\u0003\u0002\u0002\u0002", + "\u28ab\u28ac\u0007T\u0002\u0002\u28ac\u28ad\u0007Q\u0002\u0002\u28ad", + "\u28ae\u0007Y\u0002\u0002\u28ae\u28af\u0007a\u0002\u0002\u28af\u28b0", + "\u0007E\u0002\u0002\u28b0\u28b1\u0007Q\u0002\u0002\u28b1\u28b2\u0007", + "W\u0002\u0002\u28b2\u28b3\u0007P\u0002\u0002\u28b3\u28b4\u0007V\u0002", + "\u0002\u28b4\u06ea\u0003\u0002\u0002\u0002\u28b5\u28b6\u0007T\u0002", + "\u0002\u28b6\u28b7\u0007R\u0002\u0002\u28b7\u28b8\u0007C\u0002\u0002", + "\u28b8\u28b9\u0007F\u0002\u0002\u28b9\u06ec\u0003\u0002\u0002\u0002", + "\u28ba\u28bb\u0007T\u0002\u0002\u28bb\u28bc\u0007V\u0002\u0002\u28bc", + "\u28bd\u0007T\u0002\u0002\u28bd\u28be\u0007K\u0002\u0002\u28be\u28bf", + "\u0007O\u0002\u0002\u28bf\u06ee\u0003\u0002\u0002\u0002\u28c0\u28c1", + "\u0007U\u0002\u0002\u28c1\u28c2\u0007G\u0002\u0002\u28c2\u28c3\u0007", + "E\u0002\u0002\u28c3\u28c4\u0007a\u0002\u0002\u28c4\u28c5\u0007V\u0002", + "\u0002\u28c5\u28c6\u0007Q\u0002\u0002\u28c6\u28c7\u0007a\u0002\u0002", + "\u28c7\u28c8\u0007V\u0002\u0002\u28c8\u28c9\u0007K\u0002\u0002\u28c9", + "\u28ca\u0007O\u0002\u0002\u28ca\u28cb\u0007G\u0002\u0002\u28cb\u06f0", + "\u0003\u0002\u0002\u0002\u28cc\u28cd\u0007U\u0002\u0002\u28cd\u28ce", + "\u0007G\u0002\u0002\u28ce\u28cf\u0007U\u0002\u0002\u28cf\u28d0\u0007", + "U\u0002\u0002\u28d0\u28d1\u0007K\u0002\u0002\u28d1\u28d2\u0007Q\u0002", + "\u0002\u28d2\u28d3\u0007P\u0002\u0002\u28d3\u28d4\u0007a\u0002\u0002", + "\u28d4\u28d5\u0007W\u0002\u0002\u28d5\u28d6\u0007U\u0002\u0002\u28d6", + "\u28d7\u0007G\u0002\u0002\u28d7\u28d8\u0007T\u0002\u0002\u28d8\u06f2", + "\u0003\u0002\u0002\u0002\u28d9\u28da\u0007U\u0002\u0002\u28da\u28db", + "\u0007J\u0002\u0002\u28db\u28dc\u0007C\u0002\u0002\u28dc\u06f4\u0003", + "\u0002\u0002\u0002\u28dd\u28de\u0007U\u0002\u0002\u28de\u28df\u0007", + "J\u0002\u0002\u28df\u28e0\u0007C\u0002\u0002\u28e0\u28e1\u00073\u0002", + "\u0002\u28e1\u06f6\u0003\u0002\u0002\u0002\u28e2\u28e3\u0007U\u0002", + "\u0002\u28e3\u28e4\u0007J\u0002\u0002\u28e4\u28e5\u0007C\u0002\u0002", + "\u28e5\u28e6\u00074\u0002\u0002\u28e6\u06f8\u0003\u0002\u0002\u0002", + "\u28e7\u28e8\u0007U\u0002\u0002\u28e8\u28e9\u0007E\u0002\u0002\u28e9", + "\u28ea\u0007J\u0002\u0002\u28ea\u28eb\u0007G\u0002\u0002\u28eb\u28ec", + "\u0007O\u0002\u0002\u28ec\u28ed\u0007C\u0002\u0002\u28ed\u28ee\u0007", + "a\u0002\u0002\u28ee\u28ef\u0007P\u0002\u0002\u28ef\u28f0\u0007C\u0002", + "\u0002\u28f0\u28f1\u0007O\u0002\u0002\u28f1\u28f2\u0007G\u0002\u0002", + "\u28f2\u06fa\u0003\u0002\u0002\u0002\u28f3\u28f4\u0007U\u0002\u0002", + "\u28f4\u28f5\u0007K\u0002\u0002\u28f5\u28f6\u0007I\u0002\u0002\u28f6", + "\u28f7\u0007P\u0002\u0002\u28f7\u06fc\u0003\u0002\u0002\u0002\u28f8", + "\u28f9\u0007U\u0002\u0002\u28f9\u28fa\u0007K\u0002\u0002\u28fa\u28fb", + "\u0007P\u0002\u0002\u28fb\u06fe\u0003\u0002\u0002\u0002\u28fc\u28fd", + "\u0007U\u0002\u0002\u28fd\u28fe\u0007N\u0002\u0002\u28fe\u28ff\u0007", + "G\u0002\u0002\u28ff\u2900\u0007G\u0002\u0002\u2900\u2901\u0007R\u0002", + "\u0002\u2901\u0700\u0003\u0002\u0002\u0002\u2902\u2903\u0007U\u0002", + "\u0002\u2903\u2904\u0007Q\u0002\u0002\u2904\u2905\u0007W\u0002\u0002", + "\u2905\u2906\u0007P\u0002\u0002\u2906\u2907\u0007F\u0002\u0002\u2907", + "\u2908\u0007G\u0002\u0002\u2908\u2909\u0007Z\u0002\u0002\u2909\u0702", + "\u0003\u0002\u0002\u0002\u290a\u290b\u0007U\u0002\u0002\u290b\u290c", + "\u0007S\u0002\u0002\u290c\u290d\u0007N\u0002\u0002\u290d\u290e\u0007", + "a\u0002\u0002\u290e\u290f\u0007V\u0002\u0002\u290f\u2910\u0007J\u0002", + "\u0002\u2910\u2911\u0007T\u0002\u0002\u2911\u2912\u0007G\u0002\u0002", + "\u2912\u2913\u0007C\u0002\u0002\u2913\u2914\u0007F\u0002\u0002\u2914", + "\u2915\u0007a\u0002\u0002\u2915\u2916\u0007Y\u0002\u0002\u2916\u2917", + "\u0007C\u0002\u0002\u2917\u2918\u0007K\u0002\u0002\u2918\u2919\u0007", + "V\u0002\u0002\u2919\u291a\u0007a\u0002\u0002\u291a\u291b\u0007C\u0002", + "\u0002\u291b\u291c\u0007H\u0002\u0002\u291c\u291d\u0007V\u0002\u0002", + "\u291d\u291e\u0007G\u0002\u0002\u291e\u291f\u0007T\u0002\u0002\u291f", + "\u2920\u0007a\u0002\u0002\u2920\u2921\u0007I\u0002\u0002\u2921\u2922", + "\u0007V\u0002\u0002\u2922\u2923\u0007K\u0002\u0002\u2923\u2924\u0007", + "F\u0002\u0002\u2924\u2925\u0007U\u0002\u0002\u2925\u0704\u0003\u0002", + "\u0002\u0002\u2926\u2927\u0007U\u0002\u0002\u2927\u2928\u0007S\u0002", + "\u0002\u2928\u2929\u0007T\u0002\u0002\u2929\u292a\u0007V\u0002\u0002", + "\u292a\u0706\u0003\u0002\u0002\u0002\u292b\u292c\u0007U\u0002\u0002", + "\u292c\u292d\u0007T\u0002\u0002\u292d\u292e\u0007K\u0002\u0002\u292e", + "\u292f\u0007F\u0002\u0002\u292f\u0708\u0003\u0002\u0002\u0002\u2930", + "\u2931\u0007U\u0002\u0002\u2931\u2932\u0007V\u0002\u0002\u2932\u2933", + "\u0007C\u0002\u0002\u2933\u2934\u0007T\u0002\u0002\u2934\u2935\u0007", + "V\u0002\u0002\u2935\u2936\u0007R\u0002\u0002\u2936\u2937\u0007Q\u0002", + "\u0002\u2937\u2938\u0007K\u0002\u0002\u2938\u2939\u0007P\u0002\u0002", + "\u2939\u293a\u0007V\u0002\u0002\u293a\u070a\u0003\u0002\u0002\u0002", + "\u293b\u293c\u0007U\u0002\u0002\u293c\u293d\u0007V\u0002\u0002\u293d", + "\u293e\u0007T\u0002\u0002\u293e\u293f\u0007E\u0002\u0002\u293f\u2940", + "\u0007O\u0002\u0002\u2940\u2941\u0007R\u0002\u0002\u2941\u070c\u0003", + "\u0002\u0002\u0002\u2942\u2943\u0007U\u0002\u0002\u2943\u2944\u0007", + "V\u0002\u0002\u2944\u2945\u0007T\u0002\u0002\u2945\u2946\u0007a\u0002", + "\u0002\u2946\u2947\u0007V\u0002\u0002\u2947\u2948\u0007Q\u0002\u0002", + "\u2948\u2949\u0007a\u0002\u0002\u2949\u294a\u0007F\u0002\u0002\u294a", + "\u294b\u0007C\u0002\u0002\u294b\u294c\u0007V\u0002\u0002\u294c\u294d", + "\u0007G\u0002\u0002\u294d\u070e\u0003\u0002\u0002\u0002\u294e\u294f", + "\u0007U\u0002\u0002\u294f\u2950\u0007V\u0002\u0002\u2950\u2951\u0007", + "a\u0002\u0002\u2951\u2952\u0007C\u0002\u0002\u2952\u2953\u0007T\u0002", + "\u0002\u2953\u2954\u0007G\u0002\u0002\u2954\u2955\u0007C\u0002\u0002", + "\u2955\u0710\u0003\u0002\u0002\u0002\u2956\u2957\u0007U\u0002\u0002", + "\u2957\u2958\u0007V\u0002\u0002\u2958\u2959\u0007a\u0002\u0002\u2959", + "\u295a\u0007C\u0002\u0002\u295a\u295b\u0007U\u0002\u0002\u295b\u295c", + "\u0007D\u0002\u0002\u295c\u295d\u0007K\u0002\u0002\u295d\u295e\u0007", + "P\u0002\u0002\u295e\u295f\u0007C\u0002\u0002\u295f\u2960\u0007T\u0002", + "\u0002\u2960\u2961\u0007[\u0002\u0002\u2961\u0712\u0003\u0002\u0002", + "\u0002\u2962\u2963\u0007U\u0002\u0002\u2963\u2964\u0007V\u0002\u0002", + "\u2964\u2965\u0007a\u0002\u0002\u2965\u2966\u0007C\u0002\u0002\u2966", + "\u2967\u0007U\u0002\u0002\u2967\u2968\u0007V\u0002\u0002\u2968\u2969", + "\u0007G\u0002\u0002\u2969\u296a\u0007Z\u0002\u0002\u296a\u296b\u0007", + "V\u0002\u0002\u296b\u0714\u0003\u0002\u0002\u0002\u296c\u296d\u0007", + "U\u0002\u0002\u296d\u296e\u0007V\u0002\u0002\u296e\u296f\u0007a\u0002", + "\u0002\u296f\u2970\u0007C\u0002\u0002\u2970\u2971\u0007U\u0002\u0002", + "\u2971\u2972\u0007Y\u0002\u0002\u2972\u2973\u0007M\u0002\u0002\u2973", + "\u2974\u0007D\u0002\u0002\u2974\u0716\u0003\u0002\u0002\u0002\u2975", + "\u2976\u0007U\u0002\u0002\u2976\u2977\u0007V\u0002\u0002\u2977\u2978", + "\u0007a\u0002\u0002\u2978\u2979\u0007C\u0002\u0002\u2979\u297a\u0007", + "U\u0002\u0002\u297a\u297b\u0007Y\u0002\u0002\u297b\u297c\u0007M\u0002", + "\u0002\u297c\u297d\u0007V\u0002\u0002\u297d\u0718\u0003\u0002\u0002", + "\u0002\u297e\u297f\u0007U\u0002\u0002\u297f\u2980\u0007V\u0002\u0002", + "\u2980\u2981\u0007a\u0002\u0002\u2981\u2982\u0007D\u0002\u0002\u2982", + "\u2983\u0007W\u0002\u0002\u2983\u2984\u0007H\u0002\u0002\u2984\u2985", + "\u0007H\u0002\u0002\u2985\u2986\u0007G\u0002\u0002\u2986\u2987\u0007", + "T\u0002\u0002\u2987\u071a\u0003\u0002\u0002\u0002\u2988\u2989\u0007", + "U\u0002\u0002\u2989\u298a\u0007V\u0002\u0002\u298a\u298b\u0007a\u0002", + "\u0002\u298b\u298c\u0007E\u0002\u0002\u298c\u298d\u0007G\u0002\u0002", + "\u298d\u298e\u0007P\u0002\u0002\u298e\u298f\u0007V\u0002\u0002\u298f", + "\u2990\u0007T\u0002\u0002\u2990\u2991\u0007Q\u0002\u0002\u2991\u2992", + "\u0007K\u0002\u0002\u2992\u2993\u0007F\u0002\u0002\u2993\u071c\u0003", + "\u0002\u0002\u0002\u2994\u2995\u0007U\u0002\u0002\u2995\u2996\u0007", + "V\u0002\u0002\u2996\u2997\u0007a\u0002\u0002\u2997\u2998\u0007E\u0002", + "\u0002\u2998\u2999\u0007Q\u0002\u0002\u2999\u299a\u0007P\u0002\u0002", + "\u299a\u299b\u0007V\u0002\u0002\u299b\u299c\u0007C\u0002\u0002\u299c", + "\u299d\u0007K\u0002\u0002\u299d\u299e\u0007P\u0002\u0002\u299e\u299f", + "\u0007U\u0002\u0002\u299f\u071e\u0003\u0002\u0002\u0002\u29a0\u29a1", + "\u0007U\u0002\u0002\u29a1\u29a2\u0007V\u0002\u0002\u29a2\u29a3\u0007", + "a\u0002\u0002\u29a3\u29a4\u0007E\u0002\u0002\u29a4\u29a5\u0007T\u0002", + "\u0002\u29a5\u29a6\u0007Q\u0002\u0002\u29a6\u29a7\u0007U\u0002\u0002", + "\u29a7\u29a8\u0007U\u0002\u0002\u29a8\u29a9\u0007G\u0002\u0002\u29a9", + "\u29aa\u0007U\u0002\u0002\u29aa\u0720\u0003\u0002\u0002\u0002\u29ab", + "\u29ac\u0007U\u0002\u0002\u29ac\u29ad\u0007V\u0002\u0002\u29ad\u29ae", + "\u0007a\u0002\u0002\u29ae\u29af\u0007F\u0002\u0002\u29af\u29b0\u0007", + "K\u0002\u0002\u29b0\u29b1\u0007H\u0002\u0002\u29b1\u29b2\u0007H\u0002", + "\u0002\u29b2\u29b3\u0007G\u0002\u0002\u29b3\u29b4\u0007T\u0002\u0002", + "\u29b4\u29b5\u0007G\u0002\u0002\u29b5\u29b6\u0007P\u0002\u0002\u29b6", + "\u29b7\u0007E\u0002\u0002\u29b7\u29b8\u0007G\u0002\u0002\u29b8\u0722", + "\u0003\u0002\u0002\u0002\u29b9\u29ba\u0007U\u0002\u0002\u29ba\u29bb", + "\u0007V\u0002\u0002\u29bb\u29bc\u0007a\u0002\u0002\u29bc\u29bd\u0007", + "F\u0002\u0002\u29bd\u29be\u0007K\u0002\u0002\u29be\u29bf\u0007O\u0002", + "\u0002\u29bf\u29c0\u0007G\u0002\u0002\u29c0\u29c1\u0007P\u0002\u0002", + "\u29c1\u29c2\u0007U\u0002\u0002\u29c2\u29c3\u0007K\u0002\u0002\u29c3", + "\u29c4\u0007Q\u0002\u0002\u29c4\u29c5\u0007P\u0002\u0002\u29c5\u0724", + "\u0003\u0002\u0002\u0002\u29c6\u29c7\u0007U\u0002\u0002\u29c7\u29c8", + "\u0007V\u0002\u0002\u29c8\u29c9\u0007a\u0002\u0002\u29c9\u29ca\u0007", + "F\u0002\u0002\u29ca\u29cb\u0007K\u0002\u0002\u29cb\u29cc\u0007U\u0002", + "\u0002\u29cc\u29cd\u0007L\u0002\u0002\u29cd\u29ce\u0007Q\u0002\u0002", + "\u29ce\u29cf\u0007K\u0002\u0002\u29cf\u29d0\u0007P\u0002\u0002\u29d0", + "\u29d1\u0007V\u0002\u0002\u29d1\u0726\u0003\u0002\u0002\u0002\u29d2", + "\u29d3\u0007U\u0002\u0002\u29d3\u29d4\u0007V\u0002\u0002\u29d4\u29d5", + "\u0007a\u0002\u0002\u29d5\u29d6\u0007F\u0002\u0002\u29d6\u29d7\u0007", + "K\u0002\u0002\u29d7\u29d8\u0007U\u0002\u0002\u29d8\u29d9\u0007V\u0002", + "\u0002\u29d9\u29da\u0007C\u0002\u0002\u29da\u29db\u0007P\u0002\u0002", + "\u29db\u29dc\u0007E\u0002\u0002\u29dc\u29dd\u0007G\u0002\u0002\u29dd", + "\u0728\u0003\u0002\u0002\u0002\u29de\u29df\u0007U\u0002\u0002\u29df", + "\u29e0\u0007V\u0002\u0002\u29e0\u29e1\u0007a\u0002\u0002\u29e1\u29e2", + "\u0007G\u0002\u0002\u29e2\u29e3\u0007P\u0002\u0002\u29e3\u29e4\u0007", + "F\u0002\u0002\u29e4\u29e5\u0007R\u0002\u0002\u29e5\u29e6\u0007Q\u0002", + "\u0002\u29e6\u29e7\u0007K\u0002\u0002\u29e7\u29e8\u0007P\u0002\u0002", + "\u29e8\u29e9\u0007V\u0002\u0002\u29e9\u072a\u0003\u0002\u0002\u0002", + "\u29ea\u29eb\u0007U\u0002\u0002\u29eb\u29ec\u0007V\u0002\u0002\u29ec", + "\u29ed\u0007a\u0002\u0002\u29ed\u29ee\u0007G\u0002\u0002\u29ee\u29ef", + "\u0007P\u0002\u0002\u29ef\u29f0\u0007X\u0002\u0002\u29f0\u29f1\u0007", + "G\u0002\u0002\u29f1\u29f2\u0007N\u0002\u0002\u29f2\u29f3\u0007Q\u0002", + "\u0002\u29f3\u29f4\u0007R\u0002\u0002\u29f4\u29f5\u0007G\u0002\u0002", + "\u29f5\u072c\u0003\u0002\u0002\u0002\u29f6\u29f7\u0007U\u0002\u0002", + "\u29f7\u29f8\u0007V\u0002\u0002\u29f8\u29f9\u0007a\u0002\u0002\u29f9", + "\u29fa\u0007G\u0002\u0002\u29fa\u29fb\u0007S\u0002\u0002\u29fb\u29fc", + "\u0007W\u0002\u0002\u29fc\u29fd\u0007C\u0002\u0002\u29fd\u29fe\u0007", + "N\u0002\u0002\u29fe\u29ff\u0007U\u0002\u0002\u29ff\u072e\u0003\u0002", + "\u0002\u0002\u2a00\u2a01\u0007U\u0002\u0002\u2a01\u2a02\u0007V\u0002", + "\u0002\u2a02\u2a03\u0007a\u0002\u0002\u2a03\u2a04\u0007G\u0002\u0002", + "\u2a04\u2a05\u0007Z\u0002\u0002\u2a05\u2a06\u0007V\u0002\u0002\u2a06", + "\u2a07\u0007G\u0002\u0002\u2a07\u2a08\u0007T\u0002\u0002\u2a08\u2a09", + "\u0007K\u0002\u0002\u2a09\u2a0a\u0007Q\u0002\u0002\u2a0a\u2a0b\u0007", + "T\u0002\u0002\u2a0b\u2a0c\u0007T\u0002\u0002\u2a0c\u2a0d\u0007K\u0002", + "\u0002\u2a0d\u2a0e\u0007P\u0002\u0002\u2a0e\u2a0f\u0007I\u0002\u0002", + "\u2a0f\u0730\u0003\u0002\u0002\u0002\u2a10\u2a11\u0007U\u0002\u0002", + "\u2a11\u2a12\u0007V\u0002\u0002\u2a12\u2a13\u0007a\u0002\u0002\u2a13", + "\u2a14\u0007I\u0002\u0002\u2a14\u2a15\u0007G\u0002\u0002\u2a15\u2a16", + "\u0007Q\u0002\u0002\u2a16\u2a17\u0007O\u0002\u0002\u2a17\u2a18\u0007", + "E\u0002\u0002\u2a18\u2a19\u0007Q\u0002\u0002\u2a19\u2a1a\u0007N\u0002", + "\u0002\u2a1a\u2a1b\u0007N\u0002\u0002\u2a1b\u2a1c\u0007H\u0002\u0002", + "\u2a1c\u2a1d\u0007T\u0002\u0002\u2a1d\u2a1e\u0007Q\u0002\u0002\u2a1e", + "\u2a1f\u0007O\u0002\u0002\u2a1f\u2a20\u0007V\u0002\u0002\u2a20\u2a21", + "\u0007G\u0002\u0002\u2a21\u2a22\u0007Z\u0002\u0002\u2a22\u2a23\u0007", + "V\u0002\u0002\u2a23\u0732\u0003\u0002\u0002\u0002\u2a24\u2a25\u0007", + "U\u0002\u0002\u2a25\u2a26\u0007V\u0002\u0002\u2a26\u2a27\u0007a\u0002", + "\u0002\u2a27\u2a28\u0007I\u0002\u0002\u2a28\u2a29\u0007G\u0002\u0002", + "\u2a29\u2a2a\u0007Q\u0002\u0002\u2a2a\u2a2b\u0007O\u0002\u0002\u2a2b", + "\u2a2c\u0007E\u0002\u0002\u2a2c\u2a2d\u0007Q\u0002\u0002\u2a2d\u2a2e", + "\u0007N\u0002\u0002\u2a2e\u2a2f\u0007N\u0002\u0002\u2a2f\u2a30\u0007", + "H\u0002\u0002\u2a30\u2a31\u0007T\u0002\u0002\u2a31\u2a32\u0007Q\u0002", + "\u0002\u2a32\u2a33\u0007O\u0002\u0002\u2a33\u2a34\u0007V\u0002\u0002", + "\u2a34\u2a35\u0007Z\u0002\u0002\u2a35\u2a36\u0007V\u0002\u0002\u2a36", + "\u0734\u0003\u0002\u0002\u0002\u2a37\u2a38\u0007U\u0002\u0002\u2a38", + "\u2a39\u0007V\u0002\u0002\u2a39\u2a3a\u0007a\u0002\u0002\u2a3a\u2a3b", + "\u0007I\u0002\u0002\u2a3b\u2a3c\u0007G\u0002\u0002\u2a3c\u2a3d\u0007", + "Q\u0002\u0002\u2a3d\u2a3e\u0007O\u0002\u0002\u2a3e\u2a3f\u0007E\u0002", + "\u0002\u2a3f\u2a40\u0007Q\u0002\u0002\u2a40\u2a41\u0007N\u0002\u0002", + "\u2a41\u2a42\u0007N\u0002\u0002\u2a42\u2a43\u0007H\u0002\u0002\u2a43", + "\u2a44\u0007T\u0002\u0002\u2a44\u2a45\u0007Q\u0002\u0002\u2a45\u2a46", + "\u0007O\u0002\u0002\u2a46\u2a47\u0007Y\u0002\u0002\u2a47\u2a48\u0007", + "M\u0002\u0002\u2a48\u2a49\u0007D\u0002\u0002\u2a49\u0736\u0003\u0002", + "\u0002\u0002\u2a4a\u2a4b\u0007U\u0002\u0002\u2a4b\u2a4c\u0007V\u0002", + "\u0002\u2a4c\u2a4d\u0007a\u0002\u0002\u2a4d\u2a4e\u0007I\u0002\u0002", + "\u2a4e\u2a4f\u0007G\u0002\u0002\u2a4f\u2a50\u0007Q\u0002\u0002\u2a50", + "\u2a51\u0007O\u0002\u0002\u2a51\u2a52\u0007G\u0002\u0002\u2a52\u2a53", + "\u0007V\u0002\u0002\u2a53\u2a54\u0007T\u0002\u0002\u2a54\u2a55\u0007", + "[\u0002\u0002\u2a55\u2a56\u0007E\u0002\u0002\u2a56\u2a57\u0007Q\u0002", + "\u0002\u2a57\u2a58\u0007N\u0002\u0002\u2a58\u2a59\u0007N\u0002\u0002", + "\u2a59\u2a5a\u0007G\u0002\u0002\u2a5a\u2a5b\u0007E\u0002\u0002\u2a5b", + "\u2a5c\u0007V\u0002\u0002\u2a5c\u2a5d\u0007K\u0002\u0002\u2a5d\u2a5e", + "\u0007Q\u0002\u0002\u2a5e\u2a5f\u0007P\u0002\u0002\u2a5f\u2a60\u0007", + "H\u0002\u0002\u2a60\u2a61\u0007T\u0002\u0002\u2a61\u2a62\u0007Q\u0002", + "\u0002\u2a62\u2a63\u0007O\u0002\u0002\u2a63\u2a64\u0007V\u0002\u0002", + "\u2a64\u2a65\u0007G\u0002\u0002\u2a65\u2a66\u0007Z\u0002\u0002\u2a66", + "\u2a67\u0007V\u0002\u0002\u2a67\u0738\u0003\u0002\u0002\u0002\u2a68", + "\u2a69\u0007U\u0002\u0002\u2a69\u2a6a\u0007V\u0002\u0002\u2a6a\u2a6b", + "\u0007a\u0002\u0002\u2a6b\u2a6c\u0007I\u0002\u0002\u2a6c\u2a6d\u0007", + "G\u0002\u0002\u2a6d\u2a6e\u0007Q\u0002\u0002\u2a6e\u2a6f\u0007O\u0002", + "\u0002\u2a6f\u2a70\u0007G\u0002\u0002\u2a70\u2a71\u0007V\u0002\u0002", + "\u2a71\u2a72\u0007T\u0002\u0002\u2a72\u2a73\u0007[\u0002\u0002\u2a73", + "\u2a74\u0007E\u0002\u0002\u2a74\u2a75\u0007Q\u0002\u0002\u2a75\u2a76", + "\u0007N\u0002\u0002\u2a76\u2a77\u0007N\u0002\u0002\u2a77\u2a78\u0007", + "G\u0002\u0002\u2a78\u2a79\u0007E\u0002\u0002\u2a79\u2a7a\u0007V\u0002", + "\u0002\u2a7a\u2a7b\u0007K\u0002\u0002\u2a7b\u2a7c\u0007Q\u0002\u0002", + "\u2a7c\u2a7d\u0007P\u0002\u0002\u2a7d\u2a7e\u0007H\u0002\u0002\u2a7e", + "\u2a7f\u0007T\u0002\u0002\u2a7f\u2a80\u0007Q\u0002\u0002\u2a80\u2a81", + "\u0007O\u0002\u0002\u2a81\u2a82\u0007Y\u0002\u0002\u2a82\u2a83\u0007", + "M\u0002\u0002\u2a83\u2a84\u0007D\u0002\u0002\u2a84\u073a\u0003\u0002", + "\u0002\u0002\u2a85\u2a86\u0007U\u0002\u0002\u2a86\u2a87\u0007V\u0002", + "\u0002\u2a87\u2a88\u0007a\u0002\u0002\u2a88\u2a89\u0007I\u0002\u0002", + "\u2a89\u2a8a\u0007G\u0002\u0002\u2a8a\u2a8b\u0007Q\u0002\u0002\u2a8b", + "\u2a8c\u0007O\u0002\u0002\u2a8c\u2a8d\u0007G\u0002\u0002\u2a8d\u2a8e", + "\u0007V\u0002\u0002\u2a8e\u2a8f\u0007T\u0002\u0002\u2a8f\u2a90\u0007", + "[\u0002\u0002\u2a90\u2a91\u0007H\u0002\u0002\u2a91\u2a92\u0007T\u0002", + "\u0002\u2a92\u2a93\u0007Q\u0002\u0002\u2a93\u2a94\u0007O\u0002\u0002", + "\u2a94\u2a95\u0007V\u0002\u0002\u2a95\u2a96\u0007G\u0002\u0002\u2a96", + "\u2a97\u0007Z\u0002\u0002\u2a97\u2a98\u0007V\u0002\u0002\u2a98\u073c", + "\u0003\u0002\u0002\u0002\u2a99\u2a9a\u0007U\u0002\u0002\u2a9a\u2a9b", + "\u0007V\u0002\u0002\u2a9b\u2a9c\u0007a\u0002\u0002\u2a9c\u2a9d\u0007", + "I\u0002\u0002\u2a9d\u2a9e\u0007G\u0002\u0002\u2a9e\u2a9f\u0007Q\u0002", + "\u0002\u2a9f\u2aa0\u0007O\u0002\u0002\u2aa0\u2aa1\u0007G\u0002\u0002", + "\u2aa1\u2aa2\u0007V\u0002\u0002\u2aa2\u2aa3\u0007T\u0002\u0002\u2aa3", + "\u2aa4\u0007[\u0002\u0002\u2aa4\u2aa5\u0007H\u0002\u0002\u2aa5\u2aa6", + "\u0007T\u0002\u0002\u2aa6\u2aa7\u0007Q\u0002\u0002\u2aa7\u2aa8\u0007", + "O\u0002\u0002\u2aa8\u2aa9\u0007Y\u0002\u0002\u2aa9\u2aaa\u0007M\u0002", + "\u0002\u2aaa\u2aab\u0007D\u0002\u0002\u2aab\u073e\u0003\u0002\u0002", + "\u0002\u2aac\u2aad\u0007U\u0002\u0002\u2aad\u2aae\u0007V\u0002\u0002", + "\u2aae\u2aaf\u0007a\u0002\u0002\u2aaf\u2ab0\u0007I\u0002\u0002\u2ab0", + "\u2ab1\u0007G\u0002\u0002\u2ab1\u2ab2\u0007Q\u0002\u0002\u2ab2\u2ab3", + "\u0007O\u0002\u0002\u2ab3\u2ab4\u0007G\u0002\u0002\u2ab4\u2ab5\u0007", + "V\u0002\u0002\u2ab5\u2ab6\u0007T\u0002\u0002\u2ab6\u2ab7\u0007[\u0002", + "\u0002\u2ab7\u2ab8\u0007P\u0002\u0002\u2ab8\u0740\u0003\u0002\u0002", + "\u0002\u2ab9\u2aba\u0007U\u0002\u0002\u2aba\u2abb\u0007V\u0002\u0002", + "\u2abb\u2abc\u0007a\u0002\u0002\u2abc\u2abd\u0007I\u0002\u0002\u2abd", + "\u2abe\u0007G\u0002\u0002\u2abe\u2abf\u0007Q\u0002\u0002\u2abf\u2ac0", + "\u0007O\u0002\u0002\u2ac0\u2ac1\u0007G\u0002\u0002\u2ac1\u2ac2\u0007", + "V\u0002\u0002\u2ac2\u2ac3\u0007T\u0002\u0002\u2ac3\u2ac4\u0007[\u0002", + "\u0002\u2ac4\u2ac5\u0007V\u0002\u0002\u2ac5\u2ac6\u0007[\u0002\u0002", + "\u2ac6\u2ac7\u0007R\u0002\u0002\u2ac7\u2ac8\u0007G\u0002\u0002\u2ac8", + "\u0742\u0003\u0002\u0002\u0002\u2ac9\u2aca\u0007U\u0002\u0002\u2aca", + "\u2acb\u0007V\u0002\u0002\u2acb\u2acc\u0007a\u0002\u0002\u2acc\u2acd", + "\u0007I\u0002\u0002\u2acd\u2ace\u0007G\u0002\u0002\u2ace\u2acf\u0007", + "Q\u0002\u0002\u2acf\u2ad0\u0007O\u0002\u0002\u2ad0\u2ad1\u0007H\u0002", + "\u0002\u2ad1\u2ad2\u0007T\u0002\u0002\u2ad2\u2ad3\u0007Q\u0002\u0002", + "\u2ad3\u2ad4\u0007O\u0002\u0002\u2ad4\u2ad5\u0007V\u0002\u0002\u2ad5", + "\u2ad6\u0007G\u0002\u0002\u2ad6\u2ad7\u0007Z\u0002\u0002\u2ad7\u2ad8", + "\u0007V\u0002\u0002\u2ad8\u0744\u0003\u0002\u0002\u0002\u2ad9\u2ada", + "\u0007U\u0002\u0002\u2ada\u2adb\u0007V\u0002\u0002\u2adb\u2adc\u0007", + "a\u0002\u0002\u2adc\u2add\u0007I\u0002\u0002\u2add\u2ade\u0007G\u0002", + "\u0002\u2ade\u2adf\u0007Q\u0002\u0002\u2adf\u2ae0\u0007O\u0002\u0002", + "\u2ae0\u2ae1\u0007H\u0002\u0002\u2ae1\u2ae2\u0007T\u0002\u0002\u2ae2", + "\u2ae3\u0007Q\u0002\u0002\u2ae3\u2ae4\u0007O\u0002\u0002\u2ae4\u2ae5", + "\u0007Y\u0002\u0002\u2ae5\u2ae6\u0007M\u0002\u0002\u2ae6\u2ae7\u0007", + "D\u0002\u0002\u2ae7\u0746\u0003\u0002\u0002\u0002\u2ae8\u2ae9\u0007", + "U\u0002\u0002\u2ae9\u2aea\u0007V\u0002\u0002\u2aea\u2aeb\u0007a\u0002", + "\u0002\u2aeb\u2aec\u0007K\u0002\u0002\u2aec\u2aed\u0007P\u0002\u0002", + "\u2aed\u2aee\u0007V\u0002\u0002\u2aee\u2aef\u0007G\u0002\u0002\u2aef", + "\u2af0\u0007T\u0002\u0002\u2af0\u2af1\u0007K\u0002\u0002\u2af1\u2af2", + "\u0007Q\u0002\u0002\u2af2\u2af3\u0007T\u0002\u0002\u2af3\u2af4\u0007", + "T\u0002\u0002\u2af4\u2af5\u0007K\u0002\u0002\u2af5\u2af6\u0007P\u0002", + "\u0002\u2af6\u2af7\u0007I\u0002\u0002\u2af7\u2af8\u0007P\u0002\u0002", + "\u2af8\u0748\u0003\u0002\u0002\u0002\u2af9\u2afa\u0007U\u0002\u0002", + "\u2afa\u2afb\u0007V\u0002\u0002\u2afb\u2afc\u0007a\u0002\u0002\u2afc", + "\u2afd\u0007K\u0002\u0002\u2afd\u2afe\u0007P\u0002\u0002\u2afe\u2aff", + "\u0007V\u0002\u0002\u2aff\u2b00\u0007G\u0002\u0002\u2b00\u2b01\u0007", + "T\u0002\u0002\u2b01\u2b02\u0007U\u0002\u0002\u2b02\u2b03\u0007G\u0002", + "\u0002\u2b03\u2b04\u0007E\u0002\u0002\u2b04\u2b05\u0007V\u0002\u0002", + "\u2b05\u2b06\u0007K\u0002\u0002\u2b06\u2b07\u0007Q\u0002\u0002\u2b07", + "\u2b08\u0007P\u0002\u0002\u2b08\u074a\u0003\u0002\u0002\u0002\u2b09", + "\u2b0a\u0007U\u0002\u0002\u2b0a\u2b0b\u0007V\u0002\u0002\u2b0b\u2b0c", + "\u0007a\u0002\u0002\u2b0c\u2b0d\u0007K\u0002\u0002\u2b0d\u2b0e\u0007", + "P\u0002\u0002\u2b0e\u2b0f\u0007V\u0002\u0002\u2b0f\u2b10\u0007G\u0002", + "\u0002\u2b10\u2b11\u0007T\u0002\u0002\u2b11\u2b12\u0007U\u0002\u0002", + "\u2b12\u2b13\u0007G\u0002\u0002\u2b13\u2b14\u0007E\u0002\u0002\u2b14", + "\u2b15\u0007V\u0002\u0002\u2b15\u2b16\u0007U\u0002\u0002\u2b16\u074c", + "\u0003\u0002\u0002\u0002\u2b17\u2b18\u0007U\u0002\u0002\u2b18\u2b19", + "\u0007V\u0002\u0002\u2b19\u2b1a\u0007a\u0002\u0002\u2b1a\u2b1b\u0007", + "K\u0002\u0002\u2b1b\u2b1c\u0007U\u0002\u0002\u2b1c\u2b1d\u0007E\u0002", + "\u0002\u2b1d\u2b1e\u0007N\u0002\u0002\u2b1e\u2b1f\u0007Q\u0002\u0002", + "\u2b1f\u2b20\u0007U\u0002\u0002\u2b20\u2b21\u0007G\u0002\u0002\u2b21", + "\u2b22\u0007F\u0002\u0002\u2b22\u074e\u0003\u0002\u0002\u0002\u2b23", + "\u2b24\u0007U\u0002\u0002\u2b24\u2b25\u0007V\u0002\u0002\u2b25\u2b26", + "\u0007a\u0002\u0002\u2b26\u2b27\u0007K\u0002\u0002\u2b27\u2b28\u0007", + "U\u0002\u0002\u2b28\u2b29\u0007G\u0002\u0002\u2b29\u2b2a\u0007O\u0002", + "\u0002\u2b2a\u2b2b\u0007R\u0002\u0002\u2b2b\u2b2c\u0007V\u0002\u0002", + "\u2b2c\u2b2d\u0007[\u0002\u0002\u2b2d\u0750\u0003\u0002\u0002\u0002", + "\u2b2e\u2b2f\u0007U\u0002\u0002\u2b2f\u2b30\u0007V\u0002\u0002\u2b30", + "\u2b31\u0007a\u0002\u0002\u2b31\u2b32\u0007K\u0002\u0002\u2b32\u2b33", + "\u0007U\u0002\u0002\u2b33\u2b34\u0007U\u0002\u0002\u2b34\u2b35\u0007", + "K\u0002\u0002\u2b35\u2b36\u0007O\u0002\u0002\u2b36\u2b37\u0007R\u0002", + "\u0002\u2b37\u2b38\u0007N\u0002\u0002\u2b38\u2b39\u0007G\u0002\u0002", + "\u2b39\u0752\u0003\u0002\u0002\u0002\u2b3a\u2b3b\u0007U\u0002\u0002", + "\u2b3b\u2b3c\u0007V\u0002\u0002\u2b3c\u2b3d\u0007a\u0002\u0002\u2b3d", + "\u2b3e\u0007N\u0002\u0002\u2b3e\u2b3f\u0007K\u0002\u0002\u2b3f\u2b40", + "\u0007P\u0002\u0002\u2b40\u2b41\u0007G\u0002\u0002\u2b41\u2b42\u0007", + "H\u0002\u0002\u2b42\u2b43\u0007T\u0002\u0002\u2b43\u2b44\u0007Q\u0002", + "\u0002\u2b44\u2b45\u0007O\u0002\u0002\u2b45\u2b46\u0007V\u0002\u0002", + "\u2b46\u2b47\u0007G\u0002\u0002\u2b47\u2b48\u0007Z\u0002\u0002\u2b48", + "\u2b49\u0007V\u0002\u0002\u2b49\u0754\u0003\u0002\u0002\u0002\u2b4a", + "\u2b4b\u0007U\u0002\u0002\u2b4b\u2b4c\u0007V\u0002\u0002\u2b4c\u2b4d", + "\u0007a\u0002\u0002\u2b4d\u2b4e\u0007N\u0002\u0002\u2b4e\u2b4f\u0007", + "K\u0002\u0002\u2b4f\u2b50\u0007P\u0002\u0002\u2b50\u2b51\u0007G\u0002", + "\u0002\u2b51\u2b52\u0007H\u0002\u0002\u2b52\u2b53\u0007T\u0002\u0002", + "\u2b53\u2b54\u0007Q\u0002\u0002\u2b54\u2b55\u0007O\u0002\u0002\u2b55", + "\u2b56\u0007Y\u0002\u0002\u2b56\u2b57\u0007M\u0002\u0002\u2b57\u2b58", + "\u0007D\u0002\u0002\u2b58\u0756\u0003\u0002\u0002\u0002\u2b59\u2b5a", + "\u0007U\u0002\u0002\u2b5a\u2b5b\u0007V\u0002\u0002\u2b5b\u2b5c\u0007", + "a\u0002\u0002\u2b5c\u2b5d\u0007N\u0002\u0002\u2b5d\u2b5e\u0007K\u0002", + "\u0002\u2b5e\u2b5f\u0007P\u0002\u0002\u2b5f\u2b60\u0007G\u0002\u0002", + "\u2b60\u2b61\u0007U\u0002\u0002\u2b61\u2b62\u0007V\u0002\u0002\u2b62", + "\u2b63\u0007T\u0002\u0002\u2b63\u2b64\u0007K\u0002\u0002\u2b64\u2b65", + "\u0007P\u0002\u0002\u2b65\u2b66\u0007I\u0002\u0002\u2b66\u2b67\u0007", + "H\u0002\u0002\u2b67\u2b68\u0007T\u0002\u0002\u2b68\u2b69\u0007Q\u0002", + "\u0002\u2b69\u2b6a\u0007O\u0002\u0002\u2b6a\u2b6b\u0007V\u0002\u0002", + "\u2b6b\u2b6c\u0007G\u0002\u0002\u2b6c\u2b6d\u0007Z\u0002\u0002\u2b6d", + "\u2b6e\u0007V\u0002\u0002\u2b6e\u0758\u0003\u0002\u0002\u0002\u2b6f", + "\u2b70\u0007U\u0002\u0002\u2b70\u2b71\u0007V\u0002\u0002\u2b71\u2b72", + "\u0007a\u0002\u0002\u2b72\u2b73\u0007N\u0002\u0002\u2b73\u2b74\u0007", + "K\u0002\u0002\u2b74\u2b75\u0007P\u0002\u0002\u2b75\u2b76\u0007G\u0002", + "\u0002\u2b76\u2b77\u0007U\u0002\u0002\u2b77\u2b78\u0007V\u0002\u0002", + "\u2b78\u2b79\u0007T\u0002\u0002\u2b79\u2b7a\u0007K\u0002\u0002\u2b7a", + "\u2b7b\u0007P\u0002\u0002\u2b7b\u2b7c\u0007I\u0002\u0002\u2b7c\u2b7d", + "\u0007H\u0002\u0002\u2b7d\u2b7e\u0007T\u0002\u0002\u2b7e\u2b7f\u0007", + "Q\u0002\u0002\u2b7f\u2b80\u0007O\u0002\u0002\u2b80\u2b81\u0007Y\u0002", + "\u0002\u2b81\u2b82\u0007M\u0002\u0002\u2b82\u2b83\u0007D\u0002\u0002", + "\u2b83\u075a\u0003\u0002\u0002\u0002\u2b84\u2b85\u0007U\u0002\u0002", + "\u2b85\u2b86\u0007V\u0002\u0002\u2b86\u2b87\u0007a\u0002\u0002\u2b87", + "\u2b88\u0007P\u0002\u0002\u2b88\u2b89\u0007W\u0002\u0002\u2b89\u2b8a", + "\u0007O\u0002\u0002\u2b8a\u2b8b\u0007I\u0002\u0002\u2b8b\u2b8c\u0007", + "G\u0002\u0002\u2b8c\u2b8d\u0007Q\u0002\u0002\u2b8d\u2b8e\u0007O\u0002", + "\u0002\u2b8e\u2b8f\u0007G\u0002\u0002\u2b8f\u2b90\u0007V\u0002\u0002", + "\u2b90\u2b91\u0007T\u0002\u0002\u2b91\u2b92\u0007K\u0002\u0002\u2b92", + "\u2b93\u0007G\u0002\u0002\u2b93\u2b94\u0007U\u0002\u0002\u2b94\u075c", + "\u0003\u0002\u0002\u0002\u2b95\u2b96\u0007U\u0002\u0002\u2b96\u2b97", + "\u0007V\u0002\u0002\u2b97\u2b98\u0007a\u0002\u0002\u2b98\u2b99\u0007", + "P\u0002\u0002\u2b99\u2b9a\u0007W\u0002\u0002\u2b9a\u2b9b\u0007O\u0002", + "\u0002\u2b9b\u2b9c\u0007K\u0002\u0002\u2b9c\u2b9d\u0007P\u0002\u0002", + "\u2b9d\u2b9e\u0007V\u0002\u0002\u2b9e\u2b9f\u0007G\u0002\u0002\u2b9f", + "\u2ba0\u0007T\u0002\u0002\u2ba0\u2ba1\u0007K\u0002\u0002\u2ba1\u2ba2", + "\u0007Q\u0002\u0002\u2ba2\u2ba3\u0007T\u0002\u0002\u2ba3\u2ba4\u0007", + "T\u0002\u0002\u2ba4\u2ba5\u0007K\u0002\u0002\u2ba5\u2ba6\u0007P\u0002", + "\u0002\u2ba6\u2ba7\u0007I\u0002\u0002\u2ba7\u075e\u0003\u0002\u0002", + "\u0002\u2ba8\u2ba9\u0007U\u0002\u0002\u2ba9\u2baa\u0007V\u0002\u0002", + "\u2baa\u2bab\u0007a\u0002\u0002\u2bab\u2bac\u0007P\u0002\u0002\u2bac", + "\u2bad\u0007W\u0002\u0002\u2bad\u2bae\u0007O\u0002\u0002\u2bae\u2baf", + "\u0007K\u0002\u0002\u2baf\u2bb0\u0007P\u0002\u0002\u2bb0\u2bb1\u0007", + "V\u0002\u0002\u2bb1\u2bb2\u0007G\u0002\u0002\u2bb2\u2bb3\u0007T\u0002", + "\u0002\u2bb3\u2bb4\u0007K\u0002\u0002\u2bb4\u2bb5\u0007Q\u0002\u0002", + "\u2bb5\u2bb6\u0007T\u0002\u0002\u2bb6\u2bb7\u0007T\u0002\u0002\u2bb7", + "\u2bb8\u0007K\u0002\u0002\u2bb8\u2bb9\u0007P\u0002\u0002\u2bb9\u2bba", + "\u0007I\u0002\u0002\u2bba\u2bbb\u0007U\u0002\u0002\u2bbb\u0760\u0003", + "\u0002\u0002\u0002\u2bbc\u2bbd\u0007U\u0002\u0002\u2bbd\u2bbe\u0007", + "V\u0002\u0002\u2bbe\u2bbf\u0007a\u0002\u0002\u2bbf\u2bc0\u0007P\u0002", + "\u0002\u2bc0\u2bc1\u0007W\u0002\u0002\u2bc1\u2bc2\u0007O\u0002\u0002", + "\u2bc2\u2bc3\u0007R\u0002\u0002\u2bc3\u2bc4\u0007Q\u0002\u0002\u2bc4", + "\u2bc5\u0007K\u0002\u0002\u2bc5\u2bc6\u0007P\u0002\u0002\u2bc6\u2bc7", + "\u0007V\u0002\u0002\u2bc7\u2bc8\u0007U\u0002\u0002\u2bc8\u0762\u0003", + "\u0002\u0002\u0002\u2bc9\u2bca\u0007U\u0002\u0002\u2bca\u2bcb\u0007", + "V\u0002\u0002\u2bcb\u2bcc\u0007a\u0002\u0002\u2bcc\u2bcd\u0007Q\u0002", + "\u0002\u2bcd\u2bce\u0007X\u0002\u0002\u2bce\u2bcf\u0007G\u0002\u0002", + "\u2bcf\u2bd0\u0007T\u0002\u0002\u2bd0\u2bd1\u0007N\u0002\u0002\u2bd1", + "\u2bd2\u0007C\u0002\u0002\u2bd2\u2bd3\u0007R\u0002\u0002\u2bd3\u2bd4", + "\u0007U\u0002\u0002\u2bd4\u0764\u0003\u0002\u0002\u0002\u2bd5\u2bd6", + "\u0007U\u0002\u0002\u2bd6\u2bd7\u0007V\u0002\u0002\u2bd7\u2bd8\u0007", + "a\u0002\u0002\u2bd8\u2bd9\u0007R\u0002\u0002\u2bd9\u2bda\u0007Q\u0002", + "\u0002\u2bda\u2bdb\u0007K\u0002\u0002\u2bdb\u2bdc\u0007P\u0002\u0002", + "\u2bdc\u2bdd\u0007V\u0002\u0002\u2bdd\u2bde\u0007H\u0002\u0002\u2bde", + "\u2bdf\u0007T\u0002\u0002\u2bdf\u2be0\u0007Q\u0002\u0002\u2be0\u2be1", + "\u0007O\u0002\u0002\u2be1\u2be2\u0007V\u0002\u0002\u2be2\u2be3\u0007", + "G\u0002\u0002\u2be3\u2be4\u0007Z\u0002\u0002\u2be4\u2be5\u0007V\u0002", + "\u0002\u2be5\u0766\u0003\u0002\u0002\u0002\u2be6\u2be7\u0007U\u0002", + "\u0002\u2be7\u2be8\u0007V\u0002\u0002\u2be8\u2be9\u0007a\u0002\u0002", + "\u2be9\u2bea\u0007R\u0002\u0002\u2bea\u2beb\u0007Q\u0002\u0002\u2beb", + "\u2bec\u0007K\u0002\u0002\u2bec\u2bed\u0007P\u0002\u0002\u2bed\u2bee", + "\u0007V\u0002\u0002\u2bee\u2bef\u0007H\u0002\u0002\u2bef\u2bf0\u0007", + "T\u0002\u0002\u2bf0\u2bf1\u0007Q\u0002\u0002\u2bf1\u2bf2\u0007O\u0002", + "\u0002\u2bf2\u2bf3\u0007Y\u0002\u0002\u2bf3\u2bf4\u0007M\u0002\u0002", + "\u2bf4\u2bf5\u0007D\u0002\u0002\u2bf5\u0768\u0003\u0002\u0002\u0002", + "\u2bf6\u2bf7\u0007U\u0002\u0002\u2bf7\u2bf8\u0007V\u0002\u0002\u2bf8", + "\u2bf9\u0007a\u0002\u0002\u2bf9\u2bfa\u0007R\u0002\u0002\u2bfa\u2bfb", + "\u0007Q\u0002\u0002\u2bfb\u2bfc\u0007K\u0002\u0002\u2bfc\u2bfd\u0007", + "P\u0002\u0002\u2bfd\u2bfe\u0007V\u0002\u0002\u2bfe\u2bff\u0007P\u0002", + "\u0002\u2bff\u076a\u0003\u0002\u0002\u0002\u2c00\u2c01\u0007U\u0002", + "\u0002\u2c01\u2c02\u0007V\u0002\u0002\u2c02\u2c03\u0007a\u0002\u0002", + "\u2c03\u2c04\u0007R\u0002\u0002\u2c04\u2c05\u0007Q\u0002\u0002\u2c05", + "\u2c06\u0007N\u0002\u0002\u2c06\u2c07\u0007[\u0002\u0002\u2c07\u2c08", + "\u0007H\u0002\u0002\u2c08\u2c09\u0007T\u0002\u0002\u2c09\u2c0a\u0007", + "Q\u0002\u0002\u2c0a\u2c0b\u0007O\u0002\u0002\u2c0b\u2c0c\u0007V\u0002", + "\u0002\u2c0c\u2c0d\u0007G\u0002\u0002\u2c0d\u2c0e\u0007Z\u0002\u0002", + "\u2c0e\u2c0f\u0007V\u0002\u0002\u2c0f\u076c\u0003\u0002\u0002\u0002", + "\u2c10\u2c11\u0007U\u0002\u0002\u2c11\u2c12\u0007V\u0002\u0002\u2c12", + "\u2c13\u0007a\u0002\u0002\u2c13\u2c14\u0007R\u0002\u0002\u2c14\u2c15", + "\u0007Q\u0002\u0002\u2c15\u2c16\u0007N\u0002\u0002\u2c16\u2c17\u0007", + "[\u0002\u0002\u2c17\u2c18\u0007H\u0002\u0002\u2c18\u2c19\u0007T\u0002", + "\u0002\u2c19\u2c1a\u0007Q\u0002\u0002\u2c1a\u2c1b\u0007O\u0002\u0002", + "\u2c1b\u2c1c\u0007Y\u0002\u0002\u2c1c\u2c1d\u0007M\u0002\u0002\u2c1d", + "\u2c1e\u0007D\u0002\u0002\u2c1e\u076e\u0003\u0002\u0002\u0002\u2c1f", + "\u2c20\u0007U\u0002\u0002\u2c20\u2c21\u0007V\u0002\u0002\u2c21\u2c22", + "\u0007a\u0002\u0002\u2c22\u2c23\u0007R\u0002\u0002\u2c23\u2c24\u0007", + "Q\u0002\u0002\u2c24\u2c25\u0007N\u0002\u0002\u2c25\u2c26\u0007[\u0002", + "\u0002\u2c26\u2c27\u0007I\u0002\u0002\u2c27\u2c28\u0007Q\u0002\u0002", + "\u2c28\u2c29\u0007P\u0002\u0002\u2c29\u2c2a\u0007H\u0002\u0002\u2c2a", + "\u2c2b\u0007T\u0002\u0002\u2c2b\u2c2c\u0007Q\u0002\u0002\u2c2c\u2c2d", + "\u0007O\u0002\u0002\u2c2d\u2c2e\u0007V\u0002\u0002\u2c2e\u2c2f\u0007", + "G\u0002\u0002\u2c2f\u2c30\u0007Z\u0002\u0002\u2c30\u2c31\u0007V\u0002", + "\u0002\u2c31\u0770\u0003\u0002\u0002\u0002\u2c32\u2c33\u0007U\u0002", + "\u0002\u2c33\u2c34\u0007V\u0002\u0002\u2c34\u2c35\u0007a\u0002\u0002", + "\u2c35\u2c36\u0007R\u0002\u0002\u2c36\u2c37\u0007Q\u0002\u0002\u2c37", + "\u2c38\u0007N\u0002\u0002\u2c38\u2c39\u0007[\u0002\u0002\u2c39\u2c3a", + "\u0007I\u0002\u0002\u2c3a\u2c3b\u0007Q\u0002\u0002\u2c3b\u2c3c\u0007", + "P\u0002\u0002\u2c3c\u2c3d\u0007H\u0002\u0002\u2c3d\u2c3e\u0007T\u0002", + "\u0002\u2c3e\u2c3f\u0007Q\u0002\u0002\u2c3f\u2c40\u0007O\u0002\u0002", + "\u2c40\u2c41\u0007Y\u0002\u0002\u2c41\u2c42\u0007M\u0002\u0002\u2c42", + "\u2c43\u0007D\u0002\u0002\u2c43\u0772\u0003\u0002\u0002\u0002\u2c44", + "\u2c45\u0007U\u0002\u0002\u2c45\u2c46\u0007V\u0002\u0002\u2c46\u2c47", + "\u0007a\u0002\u0002\u2c47\u2c48\u0007U\u0002\u0002\u2c48\u2c49\u0007", + "T\u0002\u0002\u2c49\u2c4a\u0007K\u0002\u0002\u2c4a\u2c4b\u0007F\u0002", + "\u0002\u2c4b\u0774\u0003\u0002\u0002\u0002\u2c4c\u2c4d\u0007U\u0002", + "\u0002\u2c4d\u2c4e\u0007V\u0002\u0002\u2c4e\u2c4f\u0007a\u0002\u0002", + "\u2c4f\u2c50\u0007U\u0002\u0002\u2c50\u2c51\u0007V\u0002\u0002\u2c51", + "\u2c52\u0007C\u0002\u0002\u2c52\u2c53\u0007T\u0002\u0002\u2c53\u2c54", + "\u0007V\u0002\u0002\u2c54\u2c55\u0007R\u0002\u0002\u2c55\u2c56\u0007", + "Q\u0002\u0002\u2c56\u2c57\u0007K\u0002\u0002\u2c57\u2c58\u0007P\u0002", + "\u0002\u2c58\u2c59\u0007V\u0002\u0002\u2c59\u0776\u0003\u0002\u0002", + "\u0002\u2c5a\u2c5b\u0007U\u0002\u0002\u2c5b\u2c5c\u0007V\u0002\u0002", + "\u2c5c\u2c5d\u0007a\u0002\u0002\u2c5d\u2c5e\u0007U\u0002\u0002\u2c5e", + "\u2c5f\u0007[\u0002\u0002\u2c5f\u2c60\u0007O\u0002\u0002\u2c60\u2c61", + "\u0007F\u0002\u0002\u2c61\u2c62\u0007K\u0002\u0002\u2c62\u2c63\u0007", + "H\u0002\u0002\u2c63\u2c64\u0007H\u0002\u0002\u2c64\u2c65\u0007G\u0002", + "\u0002\u2c65\u2c66\u0007T\u0002\u0002\u2c66\u2c67\u0007G\u0002\u0002", + "\u2c67\u2c68\u0007P\u0002\u0002\u2c68\u2c69\u0007E\u0002\u0002\u2c69", + "\u2c6a\u0007G\u0002\u0002\u2c6a\u0778\u0003\u0002\u0002\u0002\u2c6b", + "\u2c6c\u0007U\u0002\u0002\u2c6c\u2c6d\u0007V\u0002\u0002\u2c6d\u2c6e", + "\u0007a\u0002\u0002\u2c6e\u2c6f\u0007V\u0002\u0002\u2c6f\u2c70\u0007", + "Q\u0002\u0002\u2c70\u2c71\u0007W\u0002\u0002\u2c71\u2c72\u0007E\u0002", + "\u0002\u2c72\u2c73\u0007J\u0002\u0002\u2c73\u2c74\u0007G\u0002\u0002", + "\u2c74\u2c75\u0007U\u0002\u0002\u2c75\u077a\u0003\u0002\u0002\u0002", + "\u2c76\u2c77\u0007U\u0002\u0002\u2c77\u2c78\u0007V\u0002\u0002\u2c78", + "\u2c79\u0007a\u0002\u0002\u2c79\u2c7a\u0007W\u0002\u0002\u2c7a\u2c7b", + "\u0007P\u0002\u0002\u2c7b\u2c7c\u0007K\u0002\u0002\u2c7c\u2c7d\u0007", + "Q\u0002\u0002\u2c7d\u2c7e\u0007P\u0002\u0002\u2c7e\u077c\u0003\u0002", + "\u0002\u0002\u2c7f\u2c80\u0007U\u0002\u0002\u2c80\u2c81\u0007V\u0002", + "\u0002\u2c81\u2c82\u0007a\u0002\u0002\u2c82\u2c83\u0007Y\u0002\u0002", + "\u2c83\u2c84\u0007K\u0002\u0002\u2c84\u2c85\u0007V\u0002\u0002\u2c85", + "\u2c86\u0007J\u0002\u0002\u2c86\u2c87\u0007K\u0002\u0002\u2c87\u2c88", + "\u0007P\u0002\u0002\u2c88\u077e\u0003\u0002\u0002\u0002\u2c89\u2c8a", + "\u0007U\u0002\u0002\u2c8a\u2c8b\u0007V\u0002\u0002\u2c8b\u2c8c\u0007", + "a\u0002\u0002\u2c8c\u2c8d\u0007Z\u0002\u0002\u2c8d\u0780\u0003\u0002", + "\u0002\u0002\u2c8e\u2c8f\u0007U\u0002\u0002\u2c8f\u2c90\u0007V\u0002", + "\u0002\u2c90\u2c91\u0007a\u0002\u0002\u2c91\u2c92\u0007[\u0002\u0002", + "\u2c92\u0782\u0003\u0002\u0002\u0002\u2c93\u2c94\u0007U\u0002\u0002", + "\u2c94\u2c95\u0007W\u0002\u0002\u2c95\u2c96\u0007D\u0002\u0002\u2c96", + "\u2c97\u0007F\u0002\u0002\u2c97\u2c98\u0007C\u0002\u0002\u2c98\u2c99", + "\u0007V\u0002\u0002\u2c99\u2c9a\u0007G\u0002\u0002\u2c9a\u0784\u0003", + "\u0002\u0002\u0002\u2c9b\u2c9c\u0007U\u0002\u0002\u2c9c\u2c9d\u0007", + "W\u0002\u0002\u2c9d\u2c9e\u0007D\u0002\u0002\u2c9e\u2c9f\u0007U\u0002", + "\u0002\u2c9f\u2ca0\u0007V\u0002\u0002\u2ca0\u2ca1\u0007T\u0002\u0002", + "\u2ca1\u2ca2\u0007K\u0002\u0002\u2ca2\u2ca3\u0007P\u0002\u0002\u2ca3", + "\u2ca4\u0007I\u0002\u0002\u2ca4\u2ca5\u0007a\u0002\u0002\u2ca5\u2ca6", + "\u0007K\u0002\u0002\u2ca6\u2ca7\u0007P\u0002\u0002\u2ca7\u2ca8\u0007", + "F\u0002\u0002\u2ca8\u2ca9\u0007G\u0002\u0002\u2ca9\u2caa\u0007Z\u0002", + "\u0002\u2caa\u0786\u0003\u0002\u0002\u0002\u2cab\u2cac\u0007U\u0002", + "\u0002\u2cac\u2cad\u0007W\u0002\u0002\u2cad\u2cae\u0007D\u0002\u0002", + "\u2cae\u2caf\u0007V\u0002\u0002\u2caf\u2cb0\u0007K\u0002\u0002\u2cb0", + "\u2cb1\u0007O\u0002\u0002\u2cb1\u2cb2\u0007G\u0002\u0002\u2cb2\u0788", + "\u0003\u0002\u0002\u0002\u2cb3\u2cb4\u0007U\u0002\u0002\u2cb4\u2cb5", + "\u0007[\u0002\u0002\u2cb5\u2cb6\u0007U\u0002\u0002\u2cb6\u2cb7\u0007", + "V\u0002\u0002\u2cb7\u2cb8\u0007G\u0002\u0002\u2cb8\u2cb9\u0007O\u0002", + "\u0002\u2cb9\u2cba\u0007a\u0002\u0002\u2cba\u2cbb\u0007W\u0002\u0002", + "\u2cbb\u2cbc\u0007U\u0002\u0002\u2cbc\u2cbd\u0007G\u0002\u0002\u2cbd", + "\u2cbe\u0007T\u0002\u0002\u2cbe\u078a\u0003\u0002\u0002\u0002\u2cbf", + "\u2cc0\u0007V\u0002\u0002\u2cc0\u2cc1\u0007C\u0002\u0002\u2cc1\u2cc2", + "\u0007P\u0002\u0002\u2cc2\u078c\u0003\u0002\u0002\u0002\u2cc3\u2cc4", + "\u0007V\u0002\u0002\u2cc4\u2cc5\u0007K\u0002\u0002\u2cc5\u2cc6\u0007", + "O\u0002\u0002\u2cc6\u2cc7\u0007G\u0002\u0002\u2cc7\u2cc8\u0007F\u0002", + "\u0002\u2cc8\u2cc9\u0007K\u0002\u0002\u2cc9\u2cca\u0007H\u0002\u0002", + "\u2cca\u2ccb\u0007H\u0002\u0002\u2ccb\u078e\u0003\u0002\u0002\u0002", + "\u2ccc\u2ccd\u0007V\u0002\u0002\u2ccd\u2cce\u0007K\u0002\u0002\u2cce", + "\u2ccf\u0007O\u0002\u0002\u2ccf\u2cd0\u0007G\u0002\u0002\u2cd0\u2cd1", + "\u0007U\u0002\u0002\u2cd1\u2cd2\u0007V\u0002\u0002\u2cd2\u2cd3\u0007", + "C\u0002\u0002\u2cd3\u2cd4\u0007O\u0002\u0002\u2cd4\u2cd5\u0007R\u0002", + "\u0002\u2cd5\u2cd6\u0007C\u0002\u0002\u2cd6\u2cd7\u0007F\u0002\u0002", + "\u2cd7\u2cd8\u0007F\u0002\u0002\u2cd8\u0790\u0003\u0002\u0002\u0002", + "\u2cd9\u2cda\u0007V\u0002\u0002\u2cda\u2cdb\u0007K\u0002\u0002\u2cdb", + "\u2cdc\u0007O\u0002\u0002\u2cdc\u2cdd\u0007G\u0002\u0002\u2cdd\u2cde", + "\u0007U\u0002\u0002\u2cde\u2cdf\u0007V\u0002\u0002\u2cdf\u2ce0\u0007", + "C\u0002\u0002\u2ce0\u2ce1\u0007O\u0002\u0002\u2ce1\u2ce2\u0007R\u0002", + "\u0002\u2ce2\u2ce3\u0007F\u0002\u0002\u2ce3\u2ce4\u0007K\u0002\u0002", + "\u2ce4\u2ce5\u0007H\u0002\u0002\u2ce5\u2ce6\u0007H\u0002\u0002\u2ce6", + "\u0792\u0003\u0002\u0002\u0002\u2ce7\u2ce8\u0007V\u0002\u0002\u2ce8", + "\u2ce9\u0007K\u0002\u0002\u2ce9\u2cea\u0007O\u0002\u0002\u2cea\u2ceb", + "\u0007G\u0002\u0002\u2ceb\u2cec\u0007a\u0002\u0002\u2cec\u2ced\u0007", + "H\u0002\u0002\u2ced\u2cee\u0007Q\u0002\u0002\u2cee\u2cef\u0007T\u0002", + "\u0002\u2cef\u2cf0\u0007O\u0002\u0002\u2cf0\u2cf1\u0007C\u0002\u0002", + "\u2cf1\u2cf2\u0007V\u0002\u0002\u2cf2\u0794\u0003\u0002\u0002\u0002", + "\u2cf3\u2cf4\u0007V\u0002\u0002\u2cf4\u2cf5\u0007K\u0002\u0002\u2cf5", + "\u2cf6\u0007O\u0002\u0002\u2cf6\u2cf7\u0007G\u0002\u0002\u2cf7\u2cf8", + "\u0007a\u0002\u0002\u2cf8\u2cf9\u0007V\u0002\u0002\u2cf9\u2cfa\u0007", + "Q\u0002\u0002\u2cfa\u2cfb\u0007a\u0002\u0002\u2cfb\u2cfc\u0007U\u0002", + "\u0002\u2cfc\u2cfd\u0007G\u0002\u0002\u2cfd\u2cfe\u0007E\u0002\u0002", + "\u2cfe\u0796\u0003\u0002\u0002\u0002\u2cff\u2d00\u0007V\u0002\u0002", + "\u2d00\u2d01\u0007Q\u0002\u0002\u2d01\u2d02\u0007W\u0002\u0002\u2d02", + "\u2d03\u0007E\u0002\u0002\u2d03\u2d04\u0007J\u0002\u0002\u2d04\u2d05", + "\u0007G\u0002\u0002\u2d05\u2d06\u0007U\u0002\u0002\u2d06\u0798\u0003", + "\u0002\u0002\u0002\u2d07\u2d08\u0007V\u0002\u0002\u2d08\u2d09\u0007", + "Q\u0002\u0002\u2d09\u2d0a\u0007a\u0002\u0002\u2d0a\u2d0b\u0007D\u0002", + "\u0002\u2d0b\u2d0c\u0007C\u0002\u0002\u2d0c\u2d0d\u0007U\u0002\u0002", + "\u2d0d\u2d0e\u0007G\u0002\u0002\u2d0e\u2d0f\u00078\u0002\u0002\u2d0f", + "\u2d10\u00076\u0002\u0002\u2d10\u079a\u0003\u0002\u0002\u0002\u2d11", + "\u2d12\u0007V\u0002\u0002\u2d12\u2d13\u0007Q\u0002\u0002\u2d13\u2d14", + "\u0007a\u0002\u0002\u2d14\u2d15\u0007F\u0002\u0002\u2d15\u2d16\u0007", + "C\u0002\u0002\u2d16\u2d17\u0007[\u0002\u0002\u2d17\u2d18\u0007U\u0002", + "\u0002\u2d18\u079c\u0003\u0002\u0002\u0002\u2d19\u2d1a\u0007V\u0002", + "\u0002\u2d1a\u2d1b\u0007Q\u0002\u0002\u2d1b\u2d1c\u0007a\u0002\u0002", + "\u2d1c\u2d1d\u0007U\u0002\u0002\u2d1d\u2d1e\u0007G\u0002\u0002\u2d1e", + "\u2d1f\u0007E\u0002\u0002\u2d1f\u2d20\u0007Q\u0002\u0002\u2d20\u2d21", + "\u0007P\u0002\u0002\u2d21\u2d22\u0007F\u0002\u0002\u2d22\u2d23\u0007", + "U\u0002\u0002\u2d23\u079e\u0003\u0002\u0002\u0002\u2d24\u2d25\u0007", + "W\u0002\u0002\u2d25\u2d26\u0007E\u0002\u0002\u2d26\u2d27\u0007C\u0002", + "\u0002\u2d27\u2d28\u0007U\u0002\u0002\u2d28\u2d29\u0007G\u0002\u0002", + "\u2d29\u07a0\u0003\u0002\u0002\u0002\u2d2a\u2d2b\u0007W\u0002\u0002", + "\u2d2b\u2d2c\u0007P\u0002\u0002\u2d2c\u2d2d\u0007E\u0002\u0002\u2d2d", + "\u2d2e\u0007Q\u0002\u0002\u2d2e\u2d2f\u0007O\u0002\u0002\u2d2f\u2d30", + "\u0007R\u0002\u0002\u2d30\u2d31\u0007T\u0002\u0002\u2d31\u2d32\u0007", + "G\u0002\u0002\u2d32\u2d33\u0007U\u0002\u0002\u2d33\u2d34\u0007U\u0002", + "\u0002\u2d34\u07a2\u0003\u0002\u0002\u0002\u2d35\u2d36\u0007W\u0002", + "\u0002\u2d36\u2d37\u0007P\u0002\u0002\u2d37\u2d38\u0007E\u0002\u0002", + "\u2d38\u2d39\u0007Q\u0002\u0002\u2d39\u2d3a\u0007O\u0002\u0002\u2d3a", + "\u2d3b\u0007R\u0002\u0002\u2d3b\u2d3c\u0007T\u0002\u0002\u2d3c\u2d3d", + "\u0007G\u0002\u0002\u2d3d\u2d3e\u0007U\u0002\u0002\u2d3e\u2d3f\u0007", + "U\u0002\u0002\u2d3f\u2d40\u0007G\u0002\u0002\u2d40\u2d41\u0007F\u0002", + "\u0002\u2d41\u2d42\u0007a\u0002\u0002\u2d42\u2d43\u0007N\u0002\u0002", + "\u2d43\u2d44\u0007G\u0002\u0002\u2d44\u2d45\u0007P\u0002\u0002\u2d45", + "\u2d46\u0007I\u0002\u0002\u2d46\u2d47\u0007V\u0002\u0002\u2d47\u2d48", + "\u0007J\u0002\u0002\u2d48\u07a4\u0003\u0002\u0002\u0002\u2d49\u2d4a", + "\u0007W\u0002\u0002\u2d4a\u2d4b\u0007P\u0002\u0002\u2d4b\u2d4c\u0007", + "J\u0002\u0002\u2d4c\u2d4d\u0007G\u0002\u0002\u2d4d\u2d4e\u0007Z\u0002", + "\u0002\u2d4e\u07a6\u0003\u0002\u0002\u0002\u2d4f\u2d50\u0007W\u0002", + "\u0002\u2d50\u2d51\u0007P\u0002\u0002\u2d51\u2d52\u0007K\u0002\u0002", + "\u2d52\u2d53\u0007Z\u0002\u0002\u2d53\u2d54\u0007a\u0002\u0002\u2d54", + "\u2d55\u0007V\u0002\u0002\u2d55\u2d56\u0007K\u0002\u0002\u2d56\u2d57", + "\u0007O\u0002\u0002\u2d57\u2d58\u0007G\u0002\u0002\u2d58\u2d59\u0007", + "U\u0002\u0002\u2d59\u2d5a\u0007V\u0002\u0002\u2d5a\u2d5b\u0007C\u0002", + "\u0002\u2d5b\u2d5c\u0007O\u0002\u0002\u2d5c\u2d5d\u0007R\u0002\u0002", + "\u2d5d\u07a8\u0003\u0002\u0002\u0002\u2d5e\u2d5f\u0007W\u0002\u0002", + "\u2d5f\u2d60\u0007R\u0002\u0002\u2d60\u2d61\u0007F\u0002\u0002\u2d61", + "\u2d62\u0007C\u0002\u0002\u2d62\u2d63\u0007V\u0002\u0002\u2d63\u2d64", + "\u0007G\u0002\u0002\u2d64\u2d65\u0007Z\u0002\u0002\u2d65\u2d66\u0007", + "O\u0002\u0002\u2d66\u2d67\u0007N\u0002\u0002\u2d67\u07aa\u0003\u0002", + "\u0002\u0002\u2d68\u2d69\u0007W\u0002\u0002\u2d69\u2d6a\u0007R\u0002", + "\u0002\u2d6a\u2d6b\u0007R\u0002\u0002\u2d6b\u2d6c\u0007G\u0002\u0002", + "\u2d6c\u2d6d\u0007T\u0002\u0002\u2d6d\u07ac\u0003\u0002\u0002\u0002", + "\u2d6e\u2d6f\u0007W\u0002\u0002\u2d6f\u2d70\u0007W\u0002\u0002\u2d70", + "\u2d71\u0007K\u0002\u0002\u2d71\u2d72\u0007F\u0002\u0002\u2d72\u07ae", + "\u0003\u0002\u0002\u0002\u2d73\u2d74\u0007W\u0002\u0002\u2d74\u2d75", + "\u0007W\u0002\u0002\u2d75\u2d76\u0007K\u0002\u0002\u2d76\u2d77\u0007", + "F\u0002\u0002\u2d77\u2d78\u0007a\u0002\u0002\u2d78\u2d79\u0007U\u0002", + "\u0002\u2d79\u2d7a\u0007J\u0002\u0002\u2d7a\u2d7b\u0007Q\u0002\u0002", + "\u2d7b\u2d7c\u0007T\u0002\u0002\u2d7c\u2d7d\u0007V\u0002\u0002\u2d7d", + "\u07b0\u0003\u0002\u0002\u0002\u2d7e\u2d7f\u0007X\u0002\u0002\u2d7f", + "\u2d80\u0007C\u0002\u0002\u2d80\u2d81\u0007N\u0002\u0002\u2d81\u2d82", + "\u0007K\u0002\u0002\u2d82\u2d83\u0007F\u0002\u0002\u2d83\u2d84\u0007", + "C\u0002\u0002\u2d84\u2d85\u0007V\u0002\u0002\u2d85\u2d86\u0007G\u0002", + "\u0002\u2d86\u2d87\u0007a\u0002\u0002\u2d87\u2d88\u0007R\u0002\u0002", + "\u2d88\u2d89\u0007C\u0002\u0002\u2d89\u2d8a\u0007U\u0002\u0002\u2d8a", + "\u2d8b\u0007U\u0002\u0002\u2d8b\u2d8c\u0007Y\u0002\u0002\u2d8c\u2d8d", + "\u0007Q\u0002\u0002\u2d8d\u2d8e\u0007T\u0002\u0002\u2d8e\u2d8f\u0007", + "F\u0002\u0002\u2d8f\u2d90\u0007a\u0002\u0002\u2d90\u2d91\u0007U\u0002", + "\u0002\u2d91\u2d92\u0007V\u0002\u0002\u2d92\u2d93\u0007T\u0002\u0002", + "\u2d93\u2d94\u0007G\u0002\u0002\u2d94\u2d95\u0007P\u0002\u0002\u2d95", + "\u2d96\u0007I\u0002\u0002\u2d96\u2d97\u0007V\u0002\u0002\u2d97\u2d98", + "\u0007J\u0002\u0002\u2d98\u07b2\u0003\u0002\u0002\u0002\u2d99\u2d9a", + "\u0007X\u0002\u0002\u2d9a\u2d9b\u0007G\u0002\u0002\u2d9b\u2d9c\u0007", + "T\u0002\u0002\u2d9c\u2d9d\u0007U\u0002\u0002\u2d9d\u2d9e\u0007K\u0002", + "\u0002\u2d9e\u2d9f\u0007Q\u0002\u0002\u2d9f\u2da0\u0007P\u0002\u0002", + "\u2da0\u07b4\u0003\u0002\u0002\u0002\u2da1\u2da2\u0007Y\u0002\u0002", + "\u2da2\u2da3\u0007C\u0002\u0002\u2da3\u2da4\u0007K\u0002\u0002\u2da4", + "\u2da5\u0007V\u0002\u0002\u2da5\u2da6\u0007a\u0002\u0002\u2da6\u2da7", + "\u0007W\u0002\u0002\u2da7\u2da8\u0007P\u0002\u0002\u2da8\u2da9\u0007", + "V\u0002\u0002\u2da9\u2daa\u0007K\u0002\u0002\u2daa\u2dab\u0007N\u0002", + "\u0002\u2dab\u2dac\u0007a\u0002\u0002\u2dac\u2dad\u0007U\u0002\u0002", + "\u2dad\u2dae\u0007S\u0002\u0002\u2dae\u2daf\u0007N\u0002\u0002\u2daf", + "\u2db0\u0007a\u0002\u0002\u2db0\u2db1\u0007V\u0002\u0002\u2db1\u2db2", + "\u0007J\u0002\u0002\u2db2\u2db3\u0007T\u0002\u0002\u2db3\u2db4\u0007", + "G\u0002\u0002\u2db4\u2db5\u0007C\u0002\u0002\u2db5\u2db6\u0007F\u0002", + "\u0002\u2db6\u2db7\u0007a\u0002\u0002\u2db7\u2db8\u0007C\u0002\u0002", + "\u2db8\u2db9\u0007H\u0002\u0002\u2db9\u2dba\u0007V\u0002\u0002\u2dba", + "\u2dbb\u0007G\u0002\u0002\u2dbb\u2dbc\u0007T\u0002\u0002\u2dbc\u2dbd", + "\u0007a\u0002\u0002\u2dbd\u2dbe\u0007I\u0002\u0002\u2dbe\u2dbf\u0007", + "V\u0002\u0002\u2dbf\u2dc0\u0007K\u0002\u0002\u2dc0\u2dc1\u0007F\u0002", + "\u0002\u2dc1\u2dc2\u0007U\u0002\u0002\u2dc2\u07b6\u0003\u0002\u0002", + "\u0002\u2dc3\u2dc4\u0007Y\u0002\u0002\u2dc4\u2dc5\u0007G\u0002\u0002", + "\u2dc5\u2dc6\u0007G\u0002\u0002\u2dc6\u2dc7\u0007M\u0002\u0002\u2dc7", + "\u2dc8\u0007F\u0002\u0002\u2dc8\u2dc9\u0007C\u0002\u0002\u2dc9\u2dca", + "\u0007[\u0002\u0002\u2dca\u07b8\u0003\u0002\u0002\u0002\u2dcb\u2dcc", + "\u0007Y\u0002\u0002\u2dcc\u2dcd\u0007G\u0002\u0002\u2dcd\u2dce\u0007", + "G\u0002\u0002\u2dce\u2dcf\u0007M\u0002\u0002\u2dcf\u2dd0\u0007Q\u0002", + "\u0002\u2dd0\u2dd1\u0007H\u0002\u0002\u2dd1\u2dd2\u0007[\u0002\u0002", + "\u2dd2\u2dd3\u0007G\u0002\u0002\u2dd3\u2dd4\u0007C\u0002\u0002\u2dd4", + "\u2dd5\u0007T\u0002\u0002\u2dd5\u07ba\u0003\u0002\u0002\u0002\u2dd6", + "\u2dd7\u0007Y\u0002\u0002\u2dd7\u2dd8\u0007G\u0002\u0002\u2dd8\u2dd9", + "\u0007K\u0002\u0002\u2dd9\u2dda\u0007I\u0002\u0002\u2dda\u2ddb\u0007", + "J\u0002\u0002\u2ddb\u2ddc\u0007V\u0002\u0002\u2ddc\u2ddd\u0007a\u0002", + "\u0002\u2ddd\u2dde\u0007U\u0002\u0002\u2dde\u2ddf\u0007V\u0002\u0002", + "\u2ddf\u2de0\u0007T\u0002\u0002\u2de0\u2de1\u0007K\u0002\u0002\u2de1", + "\u2de2\u0007P\u0002\u0002\u2de2\u2de3\u0007I\u0002\u0002\u2de3\u07bc", + "\u0003\u0002\u0002\u0002\u2de4\u2de5\u0007Y\u0002\u0002\u2de5\u2de6", + "\u0007K\u0002\u0002\u2de6\u2de7\u0007V\u0002\u0002\u2de7\u2de8\u0007", + "J\u0002\u0002\u2de8\u2de9\u0007K\u0002\u0002\u2de9\u2dea\u0007P\u0002", + "\u0002\u2dea\u07be\u0003\u0002\u0002\u0002\u2deb\u2dec\u0007[\u0002", + "\u0002\u2dec\u2ded\u0007G\u0002\u0002\u2ded\u2dee\u0007C\u0002\u0002", + "\u2dee\u2def\u0007T\u0002\u0002\u2def\u2df0\u0007Y\u0002\u0002\u2df0", + "\u2df1\u0007G\u0002\u0002\u2df1\u2df2\u0007G\u0002\u0002\u2df2\u2df3", + "\u0007M\u0002\u0002\u2df3\u07c0\u0003\u0002\u0002\u0002\u2df4\u2df5", + "\u0007[\u0002\u0002\u2df5\u07c2\u0003\u0002\u0002\u0002\u2df6\u2df7", + "\u0007Z\u0002\u0002\u2df7\u07c4\u0003\u0002\u0002\u0002\u2df8\u2df9", + "\u0007<\u0002\u0002\u2df9\u2dfa\u0007?\u0002\u0002\u2dfa\u07c6\u0003", + "\u0002\u0002\u0002\u2dfb\u2dfc\u0007-\u0002\u0002\u2dfc\u2dfd\u0007", + "?\u0002\u0002\u2dfd\u07c8\u0003\u0002\u0002\u0002\u2dfe\u2dff\u0007", + "/\u0002\u0002\u2dff\u2e00\u0007?\u0002\u0002\u2e00\u07ca\u0003\u0002", + "\u0002\u0002\u2e01\u2e02\u0007,\u0002\u0002\u2e02\u2e03\u0007?\u0002", + "\u0002\u2e03\u07cc\u0003\u0002\u0002\u0002\u2e04\u2e05\u00071\u0002", + "\u0002\u2e05\u2e06\u0007?\u0002\u0002\u2e06\u07ce\u0003\u0002\u0002", + "\u0002\u2e07\u2e08\u0007\'\u0002\u0002\u2e08\u2e09\u0007?\u0002\u0002", + "\u2e09\u07d0\u0003\u0002\u0002\u0002\u2e0a\u2e0b\u0007(\u0002\u0002", + "\u2e0b\u2e0c\u0007?\u0002\u0002\u2e0c\u07d2\u0003\u0002\u0002\u0002", + "\u2e0d\u2e0e\u0007`\u0002\u0002\u2e0e\u2e0f\u0007?\u0002\u0002\u2e0f", + "\u07d4\u0003\u0002\u0002\u0002\u2e10\u2e11\u0007~\u0002\u0002\u2e11", + "\u2e12\u0007?\u0002\u0002\u2e12\u07d6\u0003\u0002\u0002\u0002\u2e13", + "\u2e14\u0007,\u0002\u0002\u2e14\u07d8\u0003\u0002\u0002\u0002\u2e15", + "\u2e16\u00071\u0002\u0002\u2e16\u07da\u0003\u0002\u0002\u0002\u2e17", + "\u2e18\u0007\'\u0002\u0002\u2e18\u07dc\u0003\u0002\u0002\u0002\u2e19", + "\u2e1a\u0007-\u0002\u0002\u2e1a\u07de\u0003\u0002\u0002\u0002\u2e1b", + "\u2e1c\u0007/\u0002\u0002\u2e1c\u2e1d\u0007/\u0002\u0002\u2e1d\u07e0", + "\u0003\u0002\u0002\u0002\u2e1e\u2e1f\u0007/\u0002\u0002\u2e1f\u07e2", + "\u0003\u0002\u0002\u0002\u2e20\u2e21\u0007F\u0002\u0002\u2e21\u2e22", + "\u0007K\u0002\u0002\u2e22\u2e23\u0007X\u0002\u0002\u2e23\u07e4\u0003", + "\u0002\u0002\u0002\u2e24\u2e25\u0007O\u0002\u0002\u2e25\u2e26\u0007", + "Q\u0002\u0002\u2e26\u2e27\u0007F\u0002\u0002\u2e27\u07e6\u0003\u0002", + "\u0002\u0002\u2e28\u2e29\u0007?\u0002\u0002\u2e29\u07e8\u0003\u0002", + "\u0002\u0002\u2e2a\u2e2b\u0007@\u0002\u0002\u2e2b\u07ea\u0003\u0002", + "\u0002\u0002\u2e2c\u2e2d\u0007>\u0002\u0002\u2e2d\u07ec\u0003\u0002", + "\u0002\u0002\u2e2e\u2e2f\u0007#\u0002\u0002\u2e2f\u07ee\u0003\u0002", + "\u0002\u0002\u2e30\u2e31\u0007\u0080\u0002\u0002\u2e31\u07f0\u0003\u0002", + "\u0002\u0002\u2e32\u2e33\u0007~\u0002\u0002\u2e33\u07f2\u0003\u0002", + "\u0002\u0002\u2e34\u2e35\u0007(\u0002\u0002\u2e35\u07f4\u0003\u0002", + "\u0002\u0002\u2e36\u2e37\u0007`\u0002\u0002\u2e37\u07f6\u0003\u0002", + "\u0002\u0002\u2e38\u2e39\u00070\u0002\u0002\u2e39\u07f8\u0003\u0002", + "\u0002\u0002\u2e3a\u2e3b\u0007*\u0002\u0002\u2e3b\u07fa\u0003\u0002", + "\u0002\u0002\u2e3c\u2e3d\u0007+\u0002\u0002\u2e3d\u07fc\u0003\u0002", + "\u0002\u0002\u2e3e\u2e3f\u0007.\u0002\u0002\u2e3f\u07fe\u0003\u0002", + "\u0002\u0002\u2e40\u2e41\u0007=\u0002\u0002\u2e41\u0800\u0003\u0002", + "\u0002\u0002\u2e42\u2e43\u0007B\u0002\u0002\u2e43\u0802\u0003\u0002", + "\u0002\u0002\u2e44\u2e45\u00072\u0002\u0002\u2e45\u0804\u0003\u0002", + "\u0002\u0002\u2e46\u2e47\u00073\u0002\u0002\u2e47\u0806\u0003\u0002", + "\u0002\u0002\u2e48\u2e49\u00074\u0002\u0002\u2e49\u0808\u0003\u0002", + "\u0002\u0002\u2e4a\u2e4b\u0007)\u0002\u0002\u2e4b\u080a\u0003\u0002", + "\u0002\u0002\u2e4c\u2e4d\u0007$\u0002\u0002\u2e4d\u080c\u0003\u0002", + "\u0002\u0002\u2e4e\u2e4f\u0007b\u0002\u0002\u2e4f\u080e\u0003\u0002", + "\u0002\u0002\u2e50\u2e51\u0007<\u0002\u0002\u2e51\u0810\u0003\u0002", + "\u0002\u0002\u2e52\u2e56\u0005\u0809\u0405\u0002\u2e53\u2e56\u0005\u080b", + "\u0406\u0002\u2e54\u2e56\u0005\u080d\u0407\u0002\u2e55\u2e52\u0003\u0002", + "\u0002\u0002\u2e55\u2e53\u0003\u0002\u0002\u0002\u2e55\u2e54\u0003\u0002", + "\u0002\u0002\u2e56\u0812\u0003\u0002\u0002\u0002\u2e57\u2e58\u0007b", + "\u0002\u0002\u2e58\u2e59\u0005\u0833\u041a\u0002\u2e59\u2e5a\u0007b", + "\u0002\u0002\u2e5a\u0814\u0003\u0002\u0002\u0002\u2e5b\u2e5d\u0005\u0841", + "\u0421\u0002\u2e5c\u2e5b\u0003\u0002\u0002\u0002\u2e5d\u2e5e\u0003\u0002", + "\u0002\u0002\u2e5e\u2e5c\u0003\u0002\u0002\u0002\u2e5e\u2e5f\u0003\u0002", + "\u0002\u0002\u2e5f\u2e60\u0003\u0002\u0002\u0002\u2e60\u2e61\t\u0004", + "\u0002\u0002\u2e61\u0816\u0003\u0002\u0002\u0002\u2e62\u2e63\u0007P", + "\u0002\u0002\u2e63\u2e64\u0005\u083b\u041e\u0002\u2e64\u0818\u0003\u0002", + "\u0002\u0002\u2e65\u2e69\u0005\u0839\u041d\u0002\u2e66\u2e69\u0005\u083b", + "\u041e\u0002\u2e67\u2e69\u0005\u083d\u041f\u0002\u2e68\u2e65\u0003\u0002", + "\u0002\u0002\u2e68\u2e66\u0003\u0002\u0002\u0002\u2e68\u2e67\u0003\u0002", + "\u0002\u0002\u2e69\u081a\u0003\u0002\u0002\u0002\u2e6a\u2e6c\u0005\u0841", + "\u0421\u0002\u2e6b\u2e6a\u0003\u0002\u0002\u0002\u2e6c\u2e6d\u0003\u0002", + "\u0002\u0002\u2e6d\u2e6b\u0003\u0002\u0002\u0002\u2e6d\u2e6e\u0003\u0002", + "\u0002\u0002\u2e6e\u081c\u0003\u0002\u0002\u0002\u2e6f\u2e70\u0007Z", + "\u0002\u0002\u2e70\u2e74\u0007)\u0002\u0002\u2e71\u2e72\u0005\u083f", + "\u0420\u0002\u2e72\u2e73\u0005\u083f\u0420\u0002\u2e73\u2e75\u0003\u0002", + "\u0002\u0002\u2e74\u2e71\u0003\u0002\u0002\u0002\u2e75\u2e76\u0003\u0002", + "\u0002\u0002\u2e76\u2e74\u0003\u0002\u0002\u0002\u2e76\u2e77\u0003\u0002", + "\u0002\u0002\u2e77\u2e78\u0003\u0002\u0002\u0002\u2e78\u2e79\u0007)", + "\u0002\u0002\u2e79\u2e83\u0003\u0002\u0002\u0002\u2e7a\u2e7b\u00072", + "\u0002\u0002\u2e7b\u2e7c\u0007Z\u0002\u0002\u2e7c\u2e7e\u0003\u0002", + "\u0002\u0002\u2e7d\u2e7f\u0005\u083f\u0420\u0002\u2e7e\u2e7d\u0003\u0002", + "\u0002\u0002\u2e7f\u2e80\u0003\u0002\u0002\u0002\u2e80\u2e7e\u0003\u0002", + "\u0002\u0002\u2e80\u2e81\u0003\u0002\u0002\u0002\u2e81\u2e83\u0003\u0002", + "\u0002\u0002\u2e82\u2e6f\u0003\u0002\u0002\u0002\u2e82\u2e7a\u0003\u0002", + "\u0002\u0002\u2e83\u081e\u0003\u0002\u0002\u0002\u2e84\u2e86\u0005\u0841", + "\u0421\u0002\u2e85\u2e84\u0003\u0002\u0002\u0002\u2e86\u2e87\u0003\u0002", + "\u0002\u0002\u2e87\u2e85\u0003\u0002\u0002\u0002\u2e87\u2e88\u0003\u0002", + "\u0002\u0002\u2e88\u2e8a\u0003\u0002\u0002\u0002\u2e89\u2e85\u0003\u0002", + "\u0002\u0002\u2e89\u2e8a\u0003\u0002\u0002\u0002\u2e8a\u2e8b\u0003\u0002", + "\u0002\u0002\u2e8b\u2e8d\u00070\u0002\u0002\u2e8c\u2e8e\u0005\u0841", + "\u0421\u0002\u2e8d\u2e8c\u0003\u0002\u0002\u0002\u2e8e\u2e8f\u0003\u0002", + "\u0002\u0002\u2e8f\u2e8d\u0003\u0002\u0002\u0002\u2e8f\u2e90\u0003\u0002", + "\u0002\u0002\u2e90\u2eb0\u0003\u0002\u0002\u0002\u2e91\u2e93\u0005\u0841", + "\u0421\u0002\u2e92\u2e91\u0003\u0002\u0002\u0002\u2e93\u2e94\u0003\u0002", + "\u0002\u0002\u2e94\u2e92\u0003\u0002\u0002\u0002\u2e94\u2e95\u0003\u0002", + "\u0002\u0002\u2e95\u2e96\u0003\u0002\u0002\u0002\u2e96\u2e97\u00070", + "\u0002\u0002\u2e97\u2e98\u0005\u0835\u041b\u0002\u2e98\u2eb0\u0003\u0002", + "\u0002\u0002\u2e99\u2e9b\u0005\u0841\u0421\u0002\u2e9a\u2e99\u0003\u0002", + "\u0002\u0002\u2e9b\u2e9c\u0003\u0002\u0002\u0002\u2e9c\u2e9a\u0003\u0002", + "\u0002\u0002\u2e9c\u2e9d\u0003\u0002\u0002\u0002\u2e9d\u2e9f\u0003\u0002", + "\u0002\u0002\u2e9e\u2e9a\u0003\u0002\u0002\u0002\u2e9e\u2e9f\u0003\u0002", + "\u0002\u0002\u2e9f\u2ea0\u0003\u0002\u0002\u0002\u2ea0\u2ea2\u00070", + "\u0002\u0002\u2ea1\u2ea3\u0005\u0841\u0421\u0002\u2ea2\u2ea1\u0003\u0002", + "\u0002\u0002\u2ea3\u2ea4\u0003\u0002\u0002\u0002\u2ea4\u2ea2\u0003\u0002", + "\u0002\u0002\u2ea4\u2ea5\u0003\u0002\u0002\u0002\u2ea5\u2ea6\u0003\u0002", + "\u0002\u0002\u2ea6\u2ea7\u0005\u0835\u041b\u0002\u2ea7\u2eb0\u0003\u0002", + "\u0002\u0002\u2ea8\u2eaa\u0005\u0841\u0421\u0002\u2ea9\u2ea8\u0003\u0002", + "\u0002\u0002\u2eaa\u2eab\u0003\u0002\u0002\u0002\u2eab\u2ea9\u0003\u0002", + "\u0002\u0002\u2eab\u2eac\u0003\u0002\u0002\u0002\u2eac\u2ead\u0003\u0002", + "\u0002\u0002\u2ead\u2eae\u0005\u0835\u041b\u0002\u2eae\u2eb0\u0003\u0002", + "\u0002\u0002\u2eaf\u2e89\u0003\u0002\u0002\u0002\u2eaf\u2e92\u0003\u0002", + "\u0002\u0002\u2eaf\u2e9e\u0003\u0002\u0002\u0002\u2eaf\u2ea9\u0003\u0002", + "\u0002\u0002\u2eb0\u0820\u0003\u0002\u0002\u0002\u2eb1\u2eb2\u0007^", + "\u0002\u0002\u2eb2\u2eb3\u0007P\u0002\u0002\u2eb3\u0822\u0003\u0002", + "\u0002\u0002\u2eb4\u2eb5\u0005\u0843\u0422\u0002\u2eb5\u0824\u0003\u0002", + "\u0002\u0002\u2eb6\u2eb7\u0007a\u0002\u0002\u2eb7\u2eb8\u0005\u0833", + "\u041a\u0002\u2eb8\u0826\u0003\u0002\u0002\u0002\u2eb9\u2eba\u00070", + "\u0002\u0002\u2eba\u2ebb\u0005\u0837\u041c\u0002\u2ebb\u0828\u0003\u0002", + "\u0002\u0002\u2ebc\u2ebd\u0005\u0837\u041c\u0002\u2ebd\u082a\u0003\u0002", + "\u0002\u0002\u2ebe\u2ec0\u0007b\u0002\u0002\u2ebf\u2ec1\n\u0005\u0002", + "\u0002\u2ec0\u2ebf\u0003\u0002\u0002\u0002\u2ec1\u2ec2\u0003\u0002\u0002", + "\u0002\u2ec2\u2ec0\u0003\u0002\u0002\u0002\u2ec2\u2ec3\u0003\u0002\u0002", + "\u0002\u2ec3\u2ec4\u0003\u0002\u0002\u0002\u2ec4\u2ec5\u0007b\u0002", + "\u0002\u2ec5\u082c\u0003\u0002\u0002\u0002\u2ec6\u2ecb\u0005\u083b\u041e", + "\u0002\u2ec7\u2ecb\u0005\u0839\u041d\u0002\u2ec8\u2ecb\u0005\u083d\u041f", + "\u0002\u2ec9\u2ecb\u0005\u0837\u041c\u0002\u2eca\u2ec6\u0003\u0002\u0002", + "\u0002\u2eca\u2ec7\u0003\u0002\u0002\u0002\u2eca\u2ec8\u0003\u0002\u0002", + "\u0002\u2eca\u2ec9\u0003\u0002\u0002\u0002\u2ecb\u2ecc\u0003\u0002\u0002", + "\u0002\u2ecc\u2ed1\u0007B\u0002\u0002\u2ecd\u2ed2\u0005\u083b\u041e", + "\u0002\u2ece\u2ed2\u0005\u0839\u041d\u0002\u2ecf\u2ed2\u0005\u083d\u041f", + "\u0002\u2ed0\u2ed2\u0005\u0837\u041c\u0002\u2ed1\u2ecd\u0003\u0002\u0002", + "\u0002\u2ed1\u2ece\u0003\u0002\u0002\u0002\u2ed1\u2ecf\u0003\u0002\u0002", + "\u0002\u2ed1\u2ed0\u0003\u0002\u0002\u0002\u2ed2\u082e\u0003\u0002\u0002", + "\u0002\u2ed3\u2edc\u0007B\u0002\u0002\u2ed4\u2ed6\t\u0006\u0002\u0002", + "\u2ed5\u2ed4\u0003\u0002\u0002\u0002\u2ed6\u2ed7\u0003\u0002\u0002\u0002", + "\u2ed7\u2ed5\u0003\u0002\u0002\u0002\u2ed7\u2ed8\u0003\u0002\u0002\u0002", + "\u2ed8\u2edd\u0003\u0002\u0002\u0002\u2ed9\u2edd\u0005\u083b\u041e\u0002", + "\u2eda\u2edd\u0005\u0839\u041d\u0002\u2edb\u2edd\u0005\u083d\u041f\u0002", + "\u2edc\u2ed5\u0003\u0002\u0002\u0002\u2edc\u2ed9\u0003\u0002\u0002\u0002", + "\u2edc\u2eda\u0003\u0002\u0002\u0002\u2edc\u2edb\u0003\u0002\u0002\u0002", + "\u2edd\u0830\u0003\u0002\u0002\u0002\u2ede\u2edf\u0007B\u0002\u0002", + "\u2edf\u2ee6\u0007B\u0002\u0002\u2ee0\u2ee2\t\u0006\u0002\u0002\u2ee1", + "\u2ee0\u0003\u0002\u0002\u0002\u2ee2\u2ee3\u0003\u0002\u0002\u0002\u2ee3", + "\u2ee1\u0003\u0002\u0002\u0002\u2ee3\u2ee4\u0003\u0002\u0002\u0002\u2ee4", + "\u2ee7\u0003\u0002\u0002\u0002\u2ee5\u2ee7\u0005\u083d\u041f\u0002\u2ee6", + "\u2ee1\u0003\u0002\u0002\u0002\u2ee6\u2ee5\u0003\u0002\u0002\u0002\u2ee7", + "\u0832\u0003\u0002\u0002\u0002\u2ee8\u2f12\u0005\u04fb\u027e\u0002\u2ee9", + "\u2f12\u0005\u04fd\u027f\u0002\u2eea\u2f12\u0005\u04ff\u0280\u0002\u2eeb", + "\u2f12\u0005\u01a1\u00d1\u0002\u2eec\u2f12\u0005\u0501\u0281\u0002\u2eed", + "\u2f12\u0005\u0503\u0282\u0002\u2eee\u2f12\u0005\u0505\u0283\u0002\u2eef", + "\u2f12\u0005\u0507\u0284\u0002\u2ef0\u2f12\u0005\u0509\u0285\u0002\u2ef1", + "\u2f12\u0005\u050b\u0286\u0002\u2ef2\u2f12\u0005\u050d\u0287\u0002\u2ef3", + "\u2f12\u0005\u050f\u0288\u0002\u2ef4\u2f12\u0005\u0511\u0289\u0002\u2ef5", + "\u2f12\u0005\u0513\u028a\u0002\u2ef6\u2f12\u0005\u0515\u028b\u0002\u2ef7", + "\u2f12\u0005\u0517\u028c\u0002\u2ef8\u2f12\u0005\u0519\u028d\u0002\u2ef9", + "\u2f12\u0005\u051b\u028e\u0002\u2efa\u2f12\u0005\u051d\u028f\u0002\u2efb", + "\u2f12\u0005\u051f\u0290\u0002\u2efc\u2f12\u0005\u0521\u0291\u0002\u2efd", + "\u2f12\u0005\u0523\u0292\u0002\u2efe\u2f12\u0005\u0525\u0293\u0002\u2eff", + "\u2f12\u0005\u0527\u0294\u0002\u2f00\u2f12\u0005\u0529\u0295\u0002\u2f01", + "\u2f12\u0005\u052b\u0296\u0002\u2f02\u2f12\u0005\u052d\u0297\u0002\u2f03", + "\u2f12\u0005\u052f\u0298\u0002\u2f04\u2f12\u0005\u0531\u0299\u0002\u2f05", + "\u2f12\u0005\u0533\u029a\u0002\u2f06\u2f12\u0005\u0535\u029b\u0002\u2f07", + "\u2f12\u0005\u0537\u029c\u0002\u2f08\u2f12\u0005\u0539\u029d\u0002\u2f09", + "\u2f12\u0005\u053b\u029e\u0002\u2f0a\u2f12\u0005\u053d\u029f\u0002\u2f0b", + "\u2f12\u0005\u053f\u02a0\u0002\u2f0c\u2f12\u0005\u0541\u02a1\u0002\u2f0d", + "\u2f12\u0005\u0543\u02a2\u0002\u2f0e\u2f12\u0005\u0545\u02a3\u0002\u2f0f", + "\u2f12\u0005\u0547\u02a4\u0002\u2f10\u2f12\u0005\u0549\u02a5\u0002\u2f11", + "\u2ee8\u0003\u0002\u0002\u0002\u2f11\u2ee9\u0003\u0002\u0002\u0002\u2f11", + "\u2eea\u0003\u0002\u0002\u0002\u2f11\u2eeb\u0003\u0002\u0002\u0002\u2f11", + "\u2eec\u0003\u0002\u0002\u0002\u2f11\u2eed\u0003\u0002\u0002\u0002\u2f11", + "\u2eee\u0003\u0002\u0002\u0002\u2f11\u2eef\u0003\u0002\u0002\u0002\u2f11", + "\u2ef0\u0003\u0002\u0002\u0002\u2f11\u2ef1\u0003\u0002\u0002\u0002\u2f11", + "\u2ef2\u0003\u0002\u0002\u0002\u2f11\u2ef3\u0003\u0002\u0002\u0002\u2f11", + "\u2ef4\u0003\u0002\u0002\u0002\u2f11\u2ef5\u0003\u0002\u0002\u0002\u2f11", + "\u2ef6\u0003\u0002\u0002\u0002\u2f11\u2ef7\u0003\u0002\u0002\u0002\u2f11", + "\u2ef8\u0003\u0002\u0002\u0002\u2f11\u2ef9\u0003\u0002\u0002\u0002\u2f11", + "\u2efa\u0003\u0002\u0002\u0002\u2f11\u2efb\u0003\u0002\u0002\u0002\u2f11", + "\u2efc\u0003\u0002\u0002\u0002\u2f11\u2efd\u0003\u0002\u0002\u0002\u2f11", + "\u2efe\u0003\u0002\u0002\u0002\u2f11\u2eff\u0003\u0002\u0002\u0002\u2f11", + "\u2f00\u0003\u0002\u0002\u0002\u2f11\u2f01\u0003\u0002\u0002\u0002\u2f11", + "\u2f02\u0003\u0002\u0002\u0002\u2f11\u2f03\u0003\u0002\u0002\u0002\u2f11", + "\u2f04\u0003\u0002\u0002\u0002\u2f11\u2f05\u0003\u0002\u0002\u0002\u2f11", + "\u2f06\u0003\u0002\u0002\u0002\u2f11\u2f07\u0003\u0002\u0002\u0002\u2f11", + "\u2f08\u0003\u0002\u0002\u0002\u2f11\u2f09\u0003\u0002\u0002\u0002\u2f11", + "\u2f0a\u0003\u0002\u0002\u0002\u2f11\u2f0b\u0003\u0002\u0002\u0002\u2f11", + "\u2f0c\u0003\u0002\u0002\u0002\u2f11\u2f0d\u0003\u0002\u0002\u0002\u2f11", + "\u2f0e\u0003\u0002\u0002\u0002\u2f11\u2f0f\u0003\u0002\u0002\u0002\u2f11", + "\u2f10\u0003\u0002\u0002\u0002\u2f12\u0834\u0003\u0002\u0002\u0002\u2f13", + "\u2f15\u0007G\u0002\u0002\u2f14\u2f16\t\u0007\u0002\u0002\u2f15\u2f14", + "\u0003\u0002\u0002\u0002\u2f15\u2f16\u0003\u0002\u0002\u0002\u2f16\u2f18", + "\u0003\u0002\u0002\u0002\u2f17\u2f19\u0005\u0841\u0421\u0002\u2f18\u2f17", + "\u0003\u0002\u0002\u0002\u2f19\u2f1a\u0003\u0002\u0002\u0002\u2f1a\u2f18", + "\u0003\u0002\u0002\u0002\u2f1a\u2f1b\u0003\u0002\u0002\u0002\u2f1b\u0836", + "\u0003\u0002\u0002\u0002\u2f1c\u2f1e\t\b\u0002\u0002\u2f1d\u2f1c\u0003", + "\u0002\u0002\u0002\u2f1e\u2f21\u0003\u0002\u0002\u0002\u2f1f\u2f20\u0003", + "\u0002\u0002\u0002\u2f1f\u2f1d\u0003\u0002\u0002\u0002\u2f20\u2f23\u0003", + "\u0002\u0002\u0002\u2f21\u2f1f\u0003\u0002\u0002\u0002\u2f22\u2f24\t", + "\t\u0002\u0002\u2f23\u2f22\u0003\u0002\u0002\u0002\u2f24\u2f25\u0003", + "\u0002\u0002\u0002\u2f25\u2f26\u0003\u0002\u0002\u0002\u2f25\u2f23\u0003", + "\u0002\u0002\u0002\u2f26\u2f2a\u0003\u0002\u0002\u0002\u2f27\u2f29\t", + "\b\u0002\u0002\u2f28\u2f27\u0003\u0002\u0002\u0002\u2f29\u2f2c\u0003", + "\u0002\u0002\u0002\u2f2a\u2f28\u0003\u0002\u0002\u0002\u2f2a\u2f2b\u0003", + "\u0002\u0002\u0002\u2f2b\u0838\u0003\u0002\u0002\u0002\u2f2c\u2f2a\u0003", + "\u0002\u0002\u0002\u2f2d\u2f35\u0007$\u0002\u0002\u2f2e\u2f2f\u0007", + "^\u0002\u0002\u2f2f\u2f34\u000b\u0002\u0002\u0002\u2f30\u2f31\u0007", + "$\u0002\u0002\u2f31\u2f34\u0007$\u0002\u0002\u2f32\u2f34\n\n\u0002\u0002", + "\u2f33\u2f2e\u0003\u0002\u0002\u0002\u2f33\u2f30\u0003\u0002\u0002\u0002", + "\u2f33\u2f32\u0003\u0002\u0002\u0002\u2f34\u2f37\u0003\u0002\u0002\u0002", + "\u2f35\u2f33\u0003\u0002\u0002\u0002\u2f35\u2f36\u0003\u0002\u0002\u0002", + "\u2f36\u2f38\u0003\u0002\u0002\u0002\u2f37\u2f35\u0003\u0002\u0002\u0002", + "\u2f38\u2f39\u0007$\u0002\u0002\u2f39\u083a\u0003\u0002\u0002\u0002", + "\u2f3a\u2f42\u0007)\u0002\u0002\u2f3b\u2f3c\u0007^\u0002\u0002\u2f3c", + "\u2f41\u000b\u0002\u0002\u0002\u2f3d\u2f3e\u0007)\u0002\u0002\u2f3e", + "\u2f41\u0007)\u0002\u0002\u2f3f\u2f41\n\u000b\u0002\u0002\u2f40\u2f3b", + "\u0003\u0002\u0002\u0002\u2f40\u2f3d\u0003\u0002\u0002\u0002\u2f40\u2f3f", + "\u0003\u0002\u0002\u0002\u2f41\u2f44\u0003\u0002\u0002\u0002\u2f42\u2f40", + "\u0003\u0002\u0002\u0002\u2f42\u2f43\u0003\u0002\u0002\u0002\u2f43\u2f45", + "\u0003\u0002\u0002\u0002\u2f44\u2f42\u0003\u0002\u0002\u0002\u2f45\u2f46", + "\u0007)\u0002\u0002\u2f46\u083c\u0003\u0002\u0002\u0002\u2f47\u2f4f", + "\u0007b\u0002\u0002\u2f48\u2f49\u0007^\u0002\u0002\u2f49\u2f4e\u000b", + "\u0002\u0002\u0002\u2f4a\u2f4b\u0007b\u0002\u0002\u2f4b\u2f4e\u0007", + "b\u0002\u0002\u2f4c\u2f4e\n\f\u0002\u0002\u2f4d\u2f48\u0003\u0002\u0002", + "\u0002\u2f4d\u2f4a\u0003\u0002\u0002\u0002\u2f4d\u2f4c\u0003\u0002\u0002", + "\u0002\u2f4e\u2f51\u0003\u0002\u0002\u0002\u2f4f\u2f4d\u0003\u0002\u0002", + "\u0002\u2f4f\u2f50\u0003\u0002\u0002\u0002\u2f50\u2f52\u0003\u0002\u0002", + "\u0002\u2f51\u2f4f\u0003\u0002\u0002\u0002\u2f52\u2f53\u0007b\u0002", + "\u0002\u2f53\u083e\u0003\u0002\u0002\u0002\u2f54\u2f55\t\r\u0002\u0002", + "\u2f55\u0840\u0003\u0002\u0002\u0002\u2f56\u2f57\t\u000e\u0002\u0002", + "\u2f57\u0842\u0003\u0002\u0002\u0002\u2f58\u2f59\u0007D\u0002\u0002", + "\u2f59\u2f5b\u0007)\u0002\u0002\u2f5a\u2f5c\t\u000f\u0002\u0002\u2f5b", + "\u2f5a\u0003\u0002\u0002\u0002\u2f5c\u2f5d\u0003\u0002\u0002\u0002\u2f5d", + "\u2f5b\u0003\u0002\u0002\u0002\u2f5d\u2f5e\u0003\u0002\u0002\u0002\u2f5e", + "\u2f5f\u0003\u0002\u0002\u0002\u2f5f\u2f60\u0007)\u0002\u0002\u2f60", + "\u0844\u0003\u0002\u0002\u0002\u2f61\u2f62\u000b\u0002\u0002\u0002\u2f62", + "\u2f63\u0003\u0002\u0002\u0002\u2f63\u2f64\b\u0423\u0004\u0002\u2f64", + "\u0846\u0003\u0002\u0002\u00023\u0002\u084a\u0855\u0862\u086e\u0873", + "\u0877\u087b\u0881\u0885\u0887\u1e77\u1e92\u2e55\u2e5e\u2e68\u2e6d\u2e76", + "\u2e80\u2e82\u2e87\u2e89\u2e8f\u2e94\u2e9c\u2e9e\u2ea4\u2eab\u2eaf\u2ec2", + "\u2eca\u2ed1\u2ed7\u2edc\u2ee3\u2ee6\u2f11\u2f15\u2f1a\u2f1f\u2f25\u2f2a", + "\u2f33\u2f35\u2f40\u2f42\u2f4d\u2f4f\u2f5d\u0005\u0002\u0003\u0002\u0002", + "\u0004\u0002\u0002\u0005\u0002"].join(""); + + +var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); + +var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); + +function SqlLexer(input) { + antlr4.Lexer.call(this, input); + this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache()); + return this; +} + +SqlLexer.prototype = Object.create(antlr4.Lexer.prototype); +SqlLexer.prototype.constructor = SqlLexer; + +Object.defineProperty(SqlLexer.prototype, "atn", { + get : function() { + return atn; + } +}); + +SqlLexer.EOF = antlr4.Token.EOF; +SqlLexer.SPACE = 1; +SqlLexer.SPEC_MYSQL_COMMENT = 2; +SqlLexer.COMMENT_INPUT = 3; +SqlLexer.LINE_COMMENT = 4; +SqlLexer.ADD = 5; +SqlLexer.ALL = 6; +SqlLexer.ALTER = 7; +SqlLexer.ALWAYS = 8; +SqlLexer.ANALYZE = 9; +SqlLexer.AND = 10; +SqlLexer.AS = 11; +SqlLexer.ASC = 12; +SqlLexer.BEFORE = 13; +SqlLexer.BETWEEN = 14; +SqlLexer.BOTH = 15; +SqlLexer.BY = 16; +SqlLexer.CALL = 17; +SqlLexer.CASCADE = 18; +SqlLexer.CASE = 19; +SqlLexer.CAST = 20; +SqlLexer.CHANGE = 21; +SqlLexer.CHARACTER = 22; +SqlLexer.CHECK = 23; +SqlLexer.COLLATE = 24; +SqlLexer.COLUMN = 25; +SqlLexer.CONDITION = 26; +SqlLexer.CONSTRAINT = 27; +SqlLexer.CONTINUE = 28; +SqlLexer.CONVERT = 29; +SqlLexer.CREATE = 30; +SqlLexer.CROSS = 31; +SqlLexer.CURRENT = 32; +SqlLexer.CURRENT_USER = 33; +SqlLexer.CURSOR = 34; +SqlLexer.DATABASE = 35; +SqlLexer.DATABASES = 36; +SqlLexer.DECLARE = 37; +SqlLexer.DEFAULT = 38; +SqlLexer.DELAYED = 39; +SqlLexer.DELETE = 40; +SqlLexer.DESC = 41; +SqlLexer.DESCRIBE = 42; +SqlLexer.DETERMINISTIC = 43; +SqlLexer.DIAGNOSTICS = 44; +SqlLexer.DISTINCT = 45; +SqlLexer.DISTINCTROW = 46; +SqlLexer.DROP = 47; +SqlLexer.EACH = 48; +SqlLexer.ELSE = 49; +SqlLexer.ELSEIF = 50; +SqlLexer.ENCLOSED = 51; +SqlLexer.ESCAPED = 52; +SqlLexer.EXISTS = 53; +SqlLexer.EXIT = 54; +SqlLexer.EXPLAIN = 55; +SqlLexer.FALSE = 56; +SqlLexer.FETCH = 57; +SqlLexer.FOR = 58; +SqlLexer.FORCE = 59; +SqlLexer.FOREIGN = 60; +SqlLexer.FROM = 61; +SqlLexer.FULLTEXT = 62; +SqlLexer.GENERATED = 63; +SqlLexer.GET = 64; +SqlLexer.GRANT = 65; +SqlLexer.GROUP = 66; +SqlLexer.HAVING = 67; +SqlLexer.HIGH_PRIORITY = 68; +SqlLexer.IF = 69; +SqlLexer.IGNORE = 70; +SqlLexer.IN = 71; +SqlLexer.INDEX = 72; +SqlLexer.INFILE = 73; +SqlLexer.INNER = 74; +SqlLexer.INOUT = 75; +SqlLexer.INSERT = 76; +SqlLexer.INTERVAL = 77; +SqlLexer.INTO = 78; +SqlLexer.IS = 79; +SqlLexer.ITERATE = 80; +SqlLexer.JOIN = 81; +SqlLexer.KEY = 82; +SqlLexer.KEYS = 83; +SqlLexer.KILL = 84; +SqlLexer.LEADING = 85; +SqlLexer.LEAVE = 86; +SqlLexer.LEFT = 87; +SqlLexer.LIKE = 88; +SqlLexer.LIMIT = 89; +SqlLexer.LINEAR = 90; +SqlLexer.LINES = 91; +SqlLexer.LOAD = 92; +SqlLexer.LOCK = 93; +SqlLexer.LOOP = 94; +SqlLexer.LOW_PRIORITY = 95; +SqlLexer.MASTER_BIND = 96; +SqlLexer.MASTER_SSL_VERIFY_SERVER_CERT = 97; +SqlLexer.MATCH = 98; +SqlLexer.MAXVALUE = 99; +SqlLexer.MODIFIES = 100; +SqlLexer.NATURAL = 101; +SqlLexer.NOT = 102; +SqlLexer.NO_WRITE_TO_BINLOG = 103; +SqlLexer.NULL_LITERAL = 104; +SqlLexer.NUMBER = 105; +SqlLexer.ON = 106; +SqlLexer.OPTIMIZE = 107; +SqlLexer.OPTION = 108; +SqlLexer.OPTIONALLY = 109; +SqlLexer.OR = 110; +SqlLexer.ORDER = 111; +SqlLexer.OUT = 112; +SqlLexer.OUTER = 113; +SqlLexer.OUTFILE = 114; +SqlLexer.PARTITION = 115; +SqlLexer.PRIMARY = 116; +SqlLexer.PROCEDURE = 117; +SqlLexer.PURGE = 118; +SqlLexer.RANGE = 119; +SqlLexer.READ = 120; +SqlLexer.READS = 121; +SqlLexer.REFERENCES = 122; +SqlLexer.REGEXP = 123; +SqlLexer.RELEASE = 124; +SqlLexer.RENAME = 125; +SqlLexer.REPEAT = 126; +SqlLexer.REPLACE = 127; +SqlLexer.REQUIRE = 128; +SqlLexer.RESIGNAL = 129; +SqlLexer.RESTRICT = 130; +SqlLexer.RETURN = 131; +SqlLexer.REVOKE = 132; +SqlLexer.RIGHT = 133; +SqlLexer.RLIKE = 134; +SqlLexer.SCHEMA = 135; +SqlLexer.SCHEMAS = 136; +SqlLexer.SELECT = 137; +SqlLexer.SET = 138; +SqlLexer.SEPARATOR = 139; +SqlLexer.SHOW = 140; +SqlLexer.SIGNAL = 141; +SqlLexer.SPATIAL = 142; +SqlLexer.SQL = 143; +SqlLexer.SQLEXCEPTION = 144; +SqlLexer.SQLSTATE = 145; +SqlLexer.SQLWARNING = 146; +SqlLexer.SQL_BIG_RESULT = 147; +SqlLexer.SQL_CALC_FOUND_ROWS = 148; +SqlLexer.SQL_SMALL_RESULT = 149; +SqlLexer.SSL = 150; +SqlLexer.STACKED = 151; +SqlLexer.STARTING = 152; +SqlLexer.STRAIGHT_JOIN = 153; +SqlLexer.TABLE = 154; +SqlLexer.TERMINATED = 155; +SqlLexer.THEN = 156; +SqlLexer.TO = 157; +SqlLexer.TRAILING = 158; +SqlLexer.TRIGGER = 159; +SqlLexer.TRUE = 160; +SqlLexer.UNDO = 161; +SqlLexer.UNION = 162; +SqlLexer.UNIQUE = 163; +SqlLexer.UNLOCK = 164; +SqlLexer.UNSIGNED = 165; +SqlLexer.UPDATE = 166; +SqlLexer.USAGE = 167; +SqlLexer.USE = 168; +SqlLexer.USING = 169; +SqlLexer.VALUES = 170; +SqlLexer.WHEN = 171; +SqlLexer.WHERE = 172; +SqlLexer.WHILE = 173; +SqlLexer.WITH = 174; +SqlLexer.WRITE = 175; +SqlLexer.XOR = 176; +SqlLexer.ZEROFILL = 177; +SqlLexer.TINYINT = 178; +SqlLexer.SMALLINT = 179; +SqlLexer.MEDIUMINT = 180; +SqlLexer.MIDDLEINT = 181; +SqlLexer.INT = 182; +SqlLexer.INT1 = 183; +SqlLexer.INT2 = 184; +SqlLexer.INT3 = 185; +SqlLexer.INT4 = 186; +SqlLexer.INT8 = 187; +SqlLexer.INTEGER = 188; +SqlLexer.BIGINT = 189; +SqlLexer.REAL = 190; +SqlLexer.DOUBLE = 191; +SqlLexer.PRECISION = 192; +SqlLexer.FLOAT = 193; +SqlLexer.FLOAT4 = 194; +SqlLexer.FLOAT8 = 195; +SqlLexer.DECIMAL = 196; +SqlLexer.DEC = 197; +SqlLexer.NUMERIC = 198; +SqlLexer.DATE = 199; +SqlLexer.TIME = 200; +SqlLexer.TIMESTAMP = 201; +SqlLexer.DATETIME = 202; +SqlLexer.YEAR = 203; +SqlLexer.CHAR = 204; +SqlLexer.VARCHAR = 205; +SqlLexer.NVARCHAR = 206; +SqlLexer.NATIONAL = 207; +SqlLexer.BINARY = 208; +SqlLexer.VARBINARY = 209; +SqlLexer.TINYBLOB = 210; +SqlLexer.BLOB = 211; +SqlLexer.MEDIUMBLOB = 212; +SqlLexer.LONG = 213; +SqlLexer.LONGBLOB = 214; +SqlLexer.TINYTEXT = 215; +SqlLexer.TEXT = 216; +SqlLexer.MEDIUMTEXT = 217; +SqlLexer.LONGTEXT = 218; +SqlLexer.ENUM = 219; +SqlLexer.VARYING = 220; +SqlLexer.SERIAL = 221; +SqlLexer.YEAR_MONTH = 222; +SqlLexer.DAY_HOUR = 223; +SqlLexer.DAY_MINUTE = 224; +SqlLexer.DAY_SECOND = 225; +SqlLexer.HOUR_MINUTE = 226; +SqlLexer.HOUR_SECOND = 227; +SqlLexer.MINUTE_SECOND = 228; +SqlLexer.SECOND_MICROSECOND = 229; +SqlLexer.MINUTE_MICROSECOND = 230; +SqlLexer.HOUR_MICROSECOND = 231; +SqlLexer.DAY_MICROSECOND = 232; +SqlLexer.JSON_VALID = 233; +SqlLexer.JSON_SCHEMA_VALID = 234; +SqlLexer.AVG = 235; +SqlLexer.BIT_AND = 236; +SqlLexer.BIT_OR = 237; +SqlLexer.BIT_XOR = 238; +SqlLexer.COUNT = 239; +SqlLexer.GROUP_CONCAT = 240; +SqlLexer.MAX = 241; +SqlLexer.MIN = 242; +SqlLexer.STD = 243; +SqlLexer.STDDEV = 244; +SqlLexer.STDDEV_POP = 245; +SqlLexer.STDDEV_SAMP = 246; +SqlLexer.SUM = 247; +SqlLexer.VAR_POP = 248; +SqlLexer.VAR_SAMP = 249; +SqlLexer.VARIANCE = 250; +SqlLexer.CURRENT_DATE = 251; +SqlLexer.CURRENT_TIME = 252; +SqlLexer.CURRENT_TIMESTAMP = 253; +SqlLexer.LOCALTIME = 254; +SqlLexer.CURDATE = 255; +SqlLexer.CURTIME = 256; +SqlLexer.DATE_ADD = 257; +SqlLexer.DATE_SUB = 258; +SqlLexer.EXTRACT = 259; +SqlLexer.LOCALTIMESTAMP = 260; +SqlLexer.NOW = 261; +SqlLexer.POSITION = 262; +SqlLexer.SUBSTR = 263; +SqlLexer.SUBSTRING = 264; +SqlLexer.SYSDATE = 265; +SqlLexer.TRIM = 266; +SqlLexer.UTC_DATE = 267; +SqlLexer.UTC_TIME = 268; +SqlLexer.UTC_TIMESTAMP = 269; +SqlLexer.ACCOUNT = 270; +SqlLexer.ACTION = 271; +SqlLexer.AFTER = 272; +SqlLexer.AGGREGATE = 273; +SqlLexer.ALGORITHM = 274; +SqlLexer.ANY = 275; +SqlLexer.AT = 276; +SqlLexer.AUTHORS = 277; +SqlLexer.AUTOCOMMIT = 278; +SqlLexer.AUTOEXTEND_SIZE = 279; +SqlLexer.AUTO_INCREMENT = 280; +SqlLexer.AVG_ROW_LENGTH = 281; +SqlLexer.BEGIN = 282; +SqlLexer.BINLOG = 283; +SqlLexer.BIT = 284; +SqlLexer.BLOCK = 285; +SqlLexer.BOOL = 286; +SqlLexer.BOOLEAN = 287; +SqlLexer.BTREE = 288; +SqlLexer.CACHE = 289; +SqlLexer.CASCADED = 290; +SqlLexer.CHAIN = 291; +SqlLexer.CHANGED = 292; +SqlLexer.CHANNEL = 293; +SqlLexer.CHECKSUM = 294; +SqlLexer.PAGE_CHECKSUM = 295; +SqlLexer.CIPHER = 296; +SqlLexer.CLASS_ORIGIN = 297; +SqlLexer.CLIENT = 298; +SqlLexer.CLOSE = 299; +SqlLexer.COALESCE = 300; +SqlLexer.CODE = 301; +SqlLexer.COLUMNS = 302; +SqlLexer.COLUMN_FORMAT = 303; +SqlLexer.COLUMN_NAME = 304; +SqlLexer.COMMENT = 305; +SqlLexer.COMMIT = 306; +SqlLexer.COMPACT = 307; +SqlLexer.COMPLETION = 308; +SqlLexer.COMPRESSED = 309; +SqlLexer.COMPRESSION = 310; +SqlLexer.CONCURRENT = 311; +SqlLexer.CONNECTION = 312; +SqlLexer.CONSISTENT = 313; +SqlLexer.CONSTRAINT_CATALOG = 314; +SqlLexer.CONSTRAINT_SCHEMA = 315; +SqlLexer.CONSTRAINT_NAME = 316; +SqlLexer.CONTAINS = 317; +SqlLexer.CONTEXT = 318; +SqlLexer.CONTRIBUTORS = 319; +SqlLexer.COPY = 320; +SqlLexer.CPU = 321; +SqlLexer.CURSOR_NAME = 322; +SqlLexer.DATA = 323; +SqlLexer.DATAFILE = 324; +SqlLexer.DEALLOCATE = 325; +SqlLexer.DEFAULT_AUTH = 326; +SqlLexer.DEFINER = 327; +SqlLexer.DELAY_KEY_WRITE = 328; +SqlLexer.DES_KEY_FILE = 329; +SqlLexer.DIRECTORY = 330; +SqlLexer.DISABLE = 331; +SqlLexer.DISCARD = 332; +SqlLexer.DISK = 333; +SqlLexer.DO = 334; +SqlLexer.DUMPFILE = 335; +SqlLexer.DUPLICATE = 336; +SqlLexer.DYNAMIC = 337; +SqlLexer.ENABLE = 338; +SqlLexer.ENCRYPTION = 339; +SqlLexer.END = 340; +SqlLexer.ENDS = 341; +SqlLexer.ENGINE = 342; +SqlLexer.ENGINES = 343; +SqlLexer.ERROR = 344; +SqlLexer.ERRORS = 345; +SqlLexer.ESCAPE = 346; +SqlLexer.EVEN = 347; +SqlLexer.EVENT = 348; +SqlLexer.EVENTS = 349; +SqlLexer.EVERY = 350; +SqlLexer.EXCHANGE = 351; +SqlLexer.EXCLUSIVE = 352; +SqlLexer.EXPIRE = 353; +SqlLexer.EXPORT = 354; +SqlLexer.EXTENDED = 355; +SqlLexer.EXTENT_SIZE = 356; +SqlLexer.FAST = 357; +SqlLexer.FAULTS = 358; +SqlLexer.FIELDS = 359; +SqlLexer.FILE_BLOCK_SIZE = 360; +SqlLexer.FILTER = 361; +SqlLexer.FIRST = 362; +SqlLexer.FIXED = 363; +SqlLexer.FLUSH = 364; +SqlLexer.FOLLOWS = 365; +SqlLexer.FOUND = 366; +SqlLexer.FULL = 367; +SqlLexer.FUNCTION = 368; +SqlLexer.GENERAL = 369; +SqlLexer.GLOBAL = 370; +SqlLexer.GRANTS = 371; +SqlLexer.GROUP_REPLICATION = 372; +SqlLexer.HANDLER = 373; +SqlLexer.HASH = 374; +SqlLexer.HELP = 375; +SqlLexer.HOST = 376; +SqlLexer.HOSTS = 377; +SqlLexer.IDENTIFIED = 378; +SqlLexer.IGNORE_SERVER_IDS = 379; +SqlLexer.IMPORT = 380; +SqlLexer.INDEXES = 381; +SqlLexer.INITIAL_SIZE = 382; +SqlLexer.INPLACE = 383; +SqlLexer.INSERT_METHOD = 384; +SqlLexer.INSTALL = 385; +SqlLexer.INSTANCE = 386; +SqlLexer.INVISIBLE = 387; +SqlLexer.INVOKER = 388; +SqlLexer.IO = 389; +SqlLexer.IO_THREAD = 390; +SqlLexer.IPC = 391; +SqlLexer.ISOLATION = 392; +SqlLexer.ISSUER = 393; +SqlLexer.JSON = 394; +SqlLexer.KEY_BLOCK_SIZE = 395; +SqlLexer.LANGUAGE = 396; +SqlLexer.LAST = 397; +SqlLexer.LEAVES = 398; +SqlLexer.LESS = 399; +SqlLexer.LEVEL = 400; +SqlLexer.LIST = 401; +SqlLexer.LOCAL = 402; +SqlLexer.LOGFILE = 403; +SqlLexer.LOGS = 404; +SqlLexer.MASTER = 405; +SqlLexer.MASTER_AUTO_POSITION = 406; +SqlLexer.MASTER_CONNECT_RETRY = 407; +SqlLexer.MASTER_DELAY = 408; +SqlLexer.MASTER_HEARTBEAT_PERIOD = 409; +SqlLexer.MASTER_HOST = 410; +SqlLexer.MASTER_LOG_FILE = 411; +SqlLexer.MASTER_LOG_POS = 412; +SqlLexer.MASTER_PASSWORD = 413; +SqlLexer.MASTER_PORT = 414; +SqlLexer.MASTER_RETRY_COUNT = 415; +SqlLexer.MASTER_SSL = 416; +SqlLexer.MASTER_SSL_CA = 417; +SqlLexer.MASTER_SSL_CAPATH = 418; +SqlLexer.MASTER_SSL_CERT = 419; +SqlLexer.MASTER_SSL_CIPHER = 420; +SqlLexer.MASTER_SSL_CRL = 421; +SqlLexer.MASTER_SSL_CRLPATH = 422; +SqlLexer.MASTER_SSL_KEY = 423; +SqlLexer.MASTER_TLS_VERSION = 424; +SqlLexer.MASTER_USER = 425; +SqlLexer.MAX_CONNECTIONS_PER_HOUR = 426; +SqlLexer.MAX_QUERIES_PER_HOUR = 427; +SqlLexer.MAX_ROWS = 428; +SqlLexer.MAX_SIZE = 429; +SqlLexer.MAX_UPDATES_PER_HOUR = 430; +SqlLexer.MAX_USER_CONNECTIONS = 431; +SqlLexer.MEDIUM = 432; +SqlLexer.MERGE = 433; +SqlLexer.MESSAGE_TEXT = 434; +SqlLexer.MID = 435; +SqlLexer.MIGRATE = 436; +SqlLexer.MIN_ROWS = 437; +SqlLexer.MODE = 438; +SqlLexer.MODIFY = 439; +SqlLexer.MUTEX = 440; +SqlLexer.MYSQL = 441; +SqlLexer.MYSQL_ERRNO = 442; +SqlLexer.NAME = 443; +SqlLexer.NAMES = 444; +SqlLexer.NCHAR = 445; +SqlLexer.NEVER = 446; +SqlLexer.NEXT = 447; +SqlLexer.NO = 448; +SqlLexer.NODEGROUP = 449; +SqlLexer.NONE = 450; +SqlLexer.OFFLINE = 451; +SqlLexer.OFFSET = 452; +SqlLexer.OJ = 453; +SqlLexer.OLD_PASSWORD = 454; +SqlLexer.ONE = 455; +SqlLexer.ONLINE = 456; +SqlLexer.ONLY = 457; +SqlLexer.OPEN = 458; +SqlLexer.OPTIMIZER_COSTS = 459; +SqlLexer.OPTIONS = 460; +SqlLexer.OWNER = 461; +SqlLexer.PACK_KEYS = 462; +SqlLexer.PAGE = 463; +SqlLexer.PARSER = 464; +SqlLexer.PARTIAL = 465; +SqlLexer.PARTITIONING = 466; +SqlLexer.PARTITIONS = 467; +SqlLexer.PASSWORD = 468; +SqlLexer.PHASE = 469; +SqlLexer.PLUGIN = 470; +SqlLexer.PLUGIN_DIR = 471; +SqlLexer.PLUGINS = 472; +SqlLexer.PORT = 473; +SqlLexer.PRECEDES = 474; +SqlLexer.PREPARE = 475; +SqlLexer.PRESERVE = 476; +SqlLexer.PREV = 477; +SqlLexer.PROCESSLIST = 478; +SqlLexer.PROFILE = 479; +SqlLexer.PROFILES = 480; +SqlLexer.PROXY = 481; +SqlLexer.QUERY = 482; +SqlLexer.QUICK = 483; +SqlLexer.REBUILD = 484; +SqlLexer.RECOVER = 485; +SqlLexer.REDO_BUFFER_SIZE = 486; +SqlLexer.REDUNDANT = 487; +SqlLexer.RELAY = 488; +SqlLexer.RELAY_LOG_FILE = 489; +SqlLexer.RELAY_LOG_POS = 490; +SqlLexer.RELAYLOG = 491; +SqlLexer.REMOVE = 492; +SqlLexer.REORGANIZE = 493; +SqlLexer.REPAIR = 494; +SqlLexer.REPLICATE_DO_DB = 495; +SqlLexer.REPLICATE_DO_TABLE = 496; +SqlLexer.REPLICATE_IGNORE_DB = 497; +SqlLexer.REPLICATE_IGNORE_TABLE = 498; +SqlLexer.REPLICATE_REWRITE_DB = 499; +SqlLexer.REPLICATE_WILD_DO_TABLE = 500; +SqlLexer.REPLICATE_WILD_IGNORE_TABLE = 501; +SqlLexer.REPLICATION = 502; +SqlLexer.RESET = 503; +SqlLexer.RESUME = 504; +SqlLexer.RETURNED_SQLSTATE = 505; +SqlLexer.RETURNS = 506; +SqlLexer.ROLE = 507; +SqlLexer.ROLLBACK = 508; +SqlLexer.ROLLUP = 509; +SqlLexer.ROTATE = 510; +SqlLexer.ROW = 511; +SqlLexer.ROWS = 512; +SqlLexer.ROW_FORMAT = 513; +SqlLexer.SAVEPOINT = 514; +SqlLexer.SCHEDULE = 515; +SqlLexer.SECURITY = 516; +SqlLexer.SERVER = 517; +SqlLexer.SESSION = 518; +SqlLexer.SHARE = 519; +SqlLexer.SHARED = 520; +SqlLexer.SIGNED = 521; +SqlLexer.SIMPLE = 522; +SqlLexer.SLAVE = 523; +SqlLexer.SLOW = 524; +SqlLexer.SNAPSHOT = 525; +SqlLexer.SOCKET = 526; +SqlLexer.SOME = 527; +SqlLexer.SONAME = 528; +SqlLexer.SOUNDS = 529; +SqlLexer.SOURCE = 530; +SqlLexer.SQL_AFTER_GTIDS = 531; +SqlLexer.SQL_AFTER_MTS_GAPS = 532; +SqlLexer.SQL_BEFORE_GTIDS = 533; +SqlLexer.SQL_BUFFER_RESULT = 534; +SqlLexer.SQL_CACHE = 535; +SqlLexer.SQL_NO_CACHE = 536; +SqlLexer.SQL_THREAD = 537; +SqlLexer.START = 538; +SqlLexer.STARTS = 539; +SqlLexer.STATS_AUTO_RECALC = 540; +SqlLexer.STATS_PERSISTENT = 541; +SqlLexer.STATS_SAMPLE_PAGES = 542; +SqlLexer.STATUS = 543; +SqlLexer.STOP = 544; +SqlLexer.STORAGE = 545; +SqlLexer.STORED = 546; +SqlLexer.STRING = 547; +SqlLexer.SUBCLASS_ORIGIN = 548; +SqlLexer.SUBJECT = 549; +SqlLexer.SUBPARTITION = 550; +SqlLexer.SUBPARTITIONS = 551; +SqlLexer.SUSPEND = 552; +SqlLexer.SWAPS = 553; +SqlLexer.SWITCHES = 554; +SqlLexer.TABLE_NAME = 555; +SqlLexer.TABLESPACE = 556; +SqlLexer.TEMPORARY = 557; +SqlLexer.TEMPTABLE = 558; +SqlLexer.THAN = 559; +SqlLexer.TRADITIONAL = 560; +SqlLexer.TRANSACTION = 561; +SqlLexer.TRANSACTIONAL = 562; +SqlLexer.TRIGGERS = 563; +SqlLexer.TRUNCATE = 564; +SqlLexer.UNDEFINED = 565; +SqlLexer.UNDOFILE = 566; +SqlLexer.UNDO_BUFFER_SIZE = 567; +SqlLexer.UNINSTALL = 568; +SqlLexer.UNKNOWN = 569; +SqlLexer.UNTIL = 570; +SqlLexer.UPGRADE = 571; +SqlLexer.USER = 572; +SqlLexer.USE_FRM = 573; +SqlLexer.USER_RESOURCES = 574; +SqlLexer.VALIDATION = 575; +SqlLexer.VALUE = 576; +SqlLexer.VARIABLES = 577; +SqlLexer.VIEW = 578; +SqlLexer.VIRTUAL = 579; +SqlLexer.VISIBLE = 580; +SqlLexer.WAIT = 581; +SqlLexer.WARNINGS = 582; +SqlLexer.WITHOUT = 583; +SqlLexer.WORK = 584; +SqlLexer.WRAPPER = 585; +SqlLexer.X509 = 586; +SqlLexer.XA = 587; +SqlLexer.XML = 588; +SqlLexer.EUR = 589; +SqlLexer.USA = 590; +SqlLexer.JIS = 591; +SqlLexer.ISO = 592; +SqlLexer.INTERNAL = 593; +SqlLexer.QUARTER = 594; +SqlLexer.MONTH = 595; +SqlLexer.DAY = 596; +SqlLexer.HOUR = 597; +SqlLexer.MINUTE = 598; +SqlLexer.WEEK = 599; +SqlLexer.SECOND = 600; +SqlLexer.MICROSECOND = 601; +SqlLexer.TABLES = 602; +SqlLexer.ROUTINE = 603; +SqlLexer.EXECUTE = 604; +SqlLexer.FILE = 605; +SqlLexer.PROCESS = 606; +SqlLexer.RELOAD = 607; +SqlLexer.SHUTDOWN = 608; +SqlLexer.SUPER = 609; +SqlLexer.PRIVILEGES = 610; +SqlLexer.APPLICATION_PASSWORD_ADMIN = 611; +SqlLexer.AUDIT_ADMIN = 612; +SqlLexer.BACKUP_ADMIN = 613; +SqlLexer.BINLOG_ADMIN = 614; +SqlLexer.BINLOG_ENCRYPTION_ADMIN = 615; +SqlLexer.CLONE_ADMIN = 616; +SqlLexer.CONNECTION_ADMIN = 617; +SqlLexer.ENCRYPTION_KEY_ADMIN = 618; +SqlLexer.FIREWALL_ADMIN = 619; +SqlLexer.FIREWALL_USER = 620; +SqlLexer.GROUP_REPLICATION_ADMIN = 621; +SqlLexer.INNODB_REDO_LOG_ARCHIVE = 622; +SqlLexer.NDB_STORED_USER = 623; +SqlLexer.PERSIST_RO_VARIABLES_ADMIN = 624; +SqlLexer.REPLICATION_APPLIER = 625; +SqlLexer.REPLICATION_SLAVE_ADMIN = 626; +SqlLexer.RESOURCE_GROUP_ADMIN = 627; +SqlLexer.RESOURCE_GROUP_USER = 628; +SqlLexer.ROLE_ADMIN = 629; +SqlLexer.SESSION_VARIABLES_ADMIN = 630; +SqlLexer.SET_USER_ID = 631; +SqlLexer.SHOW_ROUTINE = 632; +SqlLexer.SYSTEM_VARIABLES_ADMIN = 633; +SqlLexer.TABLE_ENCRYPTION_ADMIN = 634; +SqlLexer.VERSION_TOKEN_ADMIN = 635; +SqlLexer.XA_RECOVER_ADMIN = 636; +SqlLexer.ARMSCII8 = 637; +SqlLexer.ASCII = 638; +SqlLexer.BIG5 = 639; +SqlLexer.CP1250 = 640; +SqlLexer.CP1251 = 641; +SqlLexer.CP1256 = 642; +SqlLexer.CP1257 = 643; +SqlLexer.CP850 = 644; +SqlLexer.CP852 = 645; +SqlLexer.CP866 = 646; +SqlLexer.CP932 = 647; +SqlLexer.DEC8 = 648; +SqlLexer.EUCJPMS = 649; +SqlLexer.EUCKR = 650; +SqlLexer.GB2312 = 651; +SqlLexer.GBK = 652; +SqlLexer.GEOSTD8 = 653; +SqlLexer.GREEK = 654; +SqlLexer.HEBREW = 655; +SqlLexer.HP8 = 656; +SqlLexer.KEYBCS2 = 657; +SqlLexer.KOI8R = 658; +SqlLexer.KOI8U = 659; +SqlLexer.LATIN1 = 660; +SqlLexer.LATIN2 = 661; +SqlLexer.LATIN5 = 662; +SqlLexer.LATIN7 = 663; +SqlLexer.MACCE = 664; +SqlLexer.MACROMAN = 665; +SqlLexer.SJIS = 666; +SqlLexer.SWE7 = 667; +SqlLexer.TIS620 = 668; +SqlLexer.UCS2 = 669; +SqlLexer.UJIS = 670; +SqlLexer.UTF16 = 671; +SqlLexer.UTF16LE = 672; +SqlLexer.UTF32 = 673; +SqlLexer.UTF8 = 674; +SqlLexer.UTF8MB3 = 675; +SqlLexer.UTF8MB4 = 676; +SqlLexer.ARCHIVE = 677; +SqlLexer.BLACKHOLE = 678; +SqlLexer.CSV = 679; +SqlLexer.FEDERATED = 680; +SqlLexer.INNODB = 681; +SqlLexer.MEMORY = 682; +SqlLexer.MRG_MYISAM = 683; +SqlLexer.MYISAM = 684; +SqlLexer.NDB = 685; +SqlLexer.NDBCLUSTER = 686; +SqlLexer.PERFORMANCE_SCHEMA = 687; +SqlLexer.TOKUDB = 688; +SqlLexer.REPEATABLE = 689; +SqlLexer.COMMITTED = 690; +SqlLexer.UNCOMMITTED = 691; +SqlLexer.SERIALIZABLE = 692; +SqlLexer.GEOMETRYCOLLECTION = 693; +SqlLexer.GEOMCOLLECTION = 694; +SqlLexer.GEOMETRY = 695; +SqlLexer.LINESTRING = 696; +SqlLexer.MULTILINESTRING = 697; +SqlLexer.MULTIPOINT = 698; +SqlLexer.MULTIPOLYGON = 699; +SqlLexer.POINT = 700; +SqlLexer.POLYGON = 701; +SqlLexer.ABS = 702; +SqlLexer.ACOS = 703; +SqlLexer.ADDDATE = 704; +SqlLexer.ADDTIME = 705; +SqlLexer.AES_DECRYPT = 706; +SqlLexer.AES_ENCRYPT = 707; +SqlLexer.AREA = 708; +SqlLexer.ASBINARY = 709; +SqlLexer.ASIN = 710; +SqlLexer.ASTEXT = 711; +SqlLexer.ASWKB = 712; +SqlLexer.ASWKT = 713; +SqlLexer.ASYMMETRIC_DECRYPT = 714; +SqlLexer.ASYMMETRIC_DERIVE = 715; +SqlLexer.ASYMMETRIC_ENCRYPT = 716; +SqlLexer.ASYMMETRIC_SIGN = 717; +SqlLexer.ASYMMETRIC_VERIFY = 718; +SqlLexer.ATAN = 719; +SqlLexer.ATAN2 = 720; +SqlLexer.BENCHMARK = 721; +SqlLexer.BIN = 722; +SqlLexer.BIT_COUNT = 723; +SqlLexer.BIT_LENGTH = 724; +SqlLexer.BUFFER = 725; +SqlLexer.CATALOG_NAME = 726; +SqlLexer.CEIL = 727; +SqlLexer.CEILING = 728; +SqlLexer.CENTROID = 729; +SqlLexer.CHARACTER_LENGTH = 730; +SqlLexer.CHARSET = 731; +SqlLexer.CHAR_LENGTH = 732; +SqlLexer.COERCIBILITY = 733; +SqlLexer.COLLATION = 734; +SqlLexer.COMPRESS = 735; +SqlLexer.CONCAT = 736; +SqlLexer.CONCAT_WS = 737; +SqlLexer.CONNECTION_ID = 738; +SqlLexer.CONV = 739; +SqlLexer.CONVERT_TZ = 740; +SqlLexer.COS = 741; +SqlLexer.COT = 742; +SqlLexer.CRC32 = 743; +SqlLexer.CREATE_ASYMMETRIC_PRIV_KEY = 744; +SqlLexer.CREATE_ASYMMETRIC_PUB_KEY = 745; +SqlLexer.CREATE_DH_PARAMETERS = 746; +SqlLexer.CREATE_DIGEST = 747; +SqlLexer.CROSSES = 748; +SqlLexer.DATEDIFF = 749; +SqlLexer.DATE_FORMAT = 750; +SqlLexer.DAYNAME = 751; +SqlLexer.DAYOFMONTH = 752; +SqlLexer.DAYOFWEEK = 753; +SqlLexer.DAYOFYEAR = 754; +SqlLexer.DECODE = 755; +SqlLexer.DEGREES = 756; +SqlLexer.DES_DECRYPT = 757; +SqlLexer.DES_ENCRYPT = 758; +SqlLexer.DIMENSION = 759; +SqlLexer.DISJOINT = 760; +SqlLexer.ELT = 761; +SqlLexer.ENCODE = 762; +SqlLexer.ENCRYPT = 763; +SqlLexer.ENDPOINT = 764; +SqlLexer.ENVELOPE = 765; +SqlLexer.EQUALS = 766; +SqlLexer.EXP = 767; +SqlLexer.EXPORT_SET = 768; +SqlLexer.EXTERIORRING = 769; +SqlLexer.EXTRACTVALUE = 770; +SqlLexer.FIELD = 771; +SqlLexer.FIND_IN_SET = 772; +SqlLexer.FLOOR = 773; +SqlLexer.FORMAT = 774; +SqlLexer.FOUND_ROWS = 775; +SqlLexer.FROM_BASE64 = 776; +SqlLexer.FROM_DAYS = 777; +SqlLexer.FROM_UNIXTIME = 778; +SqlLexer.GEOMCOLLFROMTEXT = 779; +SqlLexer.GEOMCOLLFROMWKB = 780; +SqlLexer.GEOMETRYCOLLECTIONFROMTEXT = 781; +SqlLexer.GEOMETRYCOLLECTIONFROMWKB = 782; +SqlLexer.GEOMETRYFROMTEXT = 783; +SqlLexer.GEOMETRYFROMWKB = 784; +SqlLexer.GEOMETRYN = 785; +SqlLexer.GEOMETRYTYPE = 786; +SqlLexer.GEOMFROMTEXT = 787; +SqlLexer.GEOMFROMWKB = 788; +SqlLexer.GET_FORMAT = 789; +SqlLexer.GET_LOCK = 790; +SqlLexer.GLENGTH = 791; +SqlLexer.GREATEST = 792; +SqlLexer.GTID_SUBSET = 793; +SqlLexer.GTID_SUBTRACT = 794; +SqlLexer.HEX = 795; +SqlLexer.IFNULL = 796; +SqlLexer.INET6_ATON = 797; +SqlLexer.INET6_NTOA = 798; +SqlLexer.INET_ATON = 799; +SqlLexer.INET_NTOA = 800; +SqlLexer.INSTR = 801; +SqlLexer.INTERIORRINGN = 802; +SqlLexer.INTERSECTS = 803; +SqlLexer.ISCLOSED = 804; +SqlLexer.ISEMPTY = 805; +SqlLexer.ISNULL = 806; +SqlLexer.ISSIMPLE = 807; +SqlLexer.IS_FREE_LOCK = 808; +SqlLexer.IS_IPV4 = 809; +SqlLexer.IS_IPV4_COMPAT = 810; +SqlLexer.IS_IPV4_MAPPED = 811; +SqlLexer.IS_IPV6 = 812; +SqlLexer.IS_USED_LOCK = 813; +SqlLexer.LAST_INSERT_ID = 814; +SqlLexer.LCASE = 815; +SqlLexer.LEAST = 816; +SqlLexer.LENGTH = 817; +SqlLexer.LINEFROMTEXT = 818; +SqlLexer.LINEFROMWKB = 819; +SqlLexer.LINESTRINGFROMTEXT = 820; +SqlLexer.LINESTRINGFROMWKB = 821; +SqlLexer.LN = 822; +SqlLexer.LOAD_FILE = 823; +SqlLexer.LOCATE = 824; +SqlLexer.LOG = 825; +SqlLexer.LOG10 = 826; +SqlLexer.LOG2 = 827; +SqlLexer.LOWER = 828; +SqlLexer.LPAD = 829; +SqlLexer.LTRIM = 830; +SqlLexer.MAKEDATE = 831; +SqlLexer.MAKETIME = 832; +SqlLexer.MAKE_SET = 833; +SqlLexer.MASTER_POS_WAIT = 834; +SqlLexer.MBRCONTAINS = 835; +SqlLexer.MBRDISJOINT = 836; +SqlLexer.MBREQUAL = 837; +SqlLexer.MBRINTERSECTS = 838; +SqlLexer.MBROVERLAPS = 839; +SqlLexer.MBRTOUCHES = 840; +SqlLexer.MBRWITHIN = 841; +SqlLexer.MD5 = 842; +SqlLexer.MLINEFROMTEXT = 843; +SqlLexer.MLINEFROMWKB = 844; +SqlLexer.MONTHNAME = 845; +SqlLexer.MPOINTFROMTEXT = 846; +SqlLexer.MPOINTFROMWKB = 847; +SqlLexer.MPOLYFROMTEXT = 848; +SqlLexer.MPOLYFROMWKB = 849; +SqlLexer.MULTILINESTRINGFROMTEXT = 850; +SqlLexer.MULTILINESTRINGFROMWKB = 851; +SqlLexer.MULTIPOINTFROMTEXT = 852; +SqlLexer.MULTIPOINTFROMWKB = 853; +SqlLexer.MULTIPOLYGONFROMTEXT = 854; +SqlLexer.MULTIPOLYGONFROMWKB = 855; +SqlLexer.NAME_CONST = 856; +SqlLexer.NULLIF = 857; +SqlLexer.NUMGEOMETRIES = 858; +SqlLexer.NUMINTERIORRINGS = 859; +SqlLexer.NUMPOINTS = 860; +SqlLexer.OCT = 861; +SqlLexer.OCTET_LENGTH = 862; +SqlLexer.ORD = 863; +SqlLexer.OVERLAPS = 864; +SqlLexer.PERIOD_ADD = 865; +SqlLexer.PERIOD_DIFF = 866; +SqlLexer.PI = 867; +SqlLexer.POINTFROMTEXT = 868; +SqlLexer.POINTFROMWKB = 869; +SqlLexer.POINTN = 870; +SqlLexer.POLYFROMTEXT = 871; +SqlLexer.POLYFROMWKB = 872; +SqlLexer.POLYGONFROMTEXT = 873; +SqlLexer.POLYGONFROMWKB = 874; +SqlLexer.POW = 875; +SqlLexer.POWER = 876; +SqlLexer.QUOTE = 877; +SqlLexer.RADIANS = 878; +SqlLexer.RAND = 879; +SqlLexer.RANDOM_BYTES = 880; +SqlLexer.RELEASE_LOCK = 881; +SqlLexer.REVERSE = 882; +SqlLexer.ROUND = 883; +SqlLexer.ROW_COUNT = 884; +SqlLexer.RPAD = 885; +SqlLexer.RTRIM = 886; +SqlLexer.SEC_TO_TIME = 887; +SqlLexer.SESSION_USER = 888; +SqlLexer.SHA = 889; +SqlLexer.SHA1 = 890; +SqlLexer.SHA2 = 891; +SqlLexer.SCHEMA_NAME = 892; +SqlLexer.SIGN = 893; +SqlLexer.SIN = 894; +SqlLexer.SLEEP = 895; +SqlLexer.SOUNDEX = 896; +SqlLexer.SQL_THREAD_WAIT_AFTER_GTIDS = 897; +SqlLexer.SQRT = 898; +SqlLexer.SRID = 899; +SqlLexer.STARTPOINT = 900; +SqlLexer.STRCMP = 901; +SqlLexer.STR_TO_DATE = 902; +SqlLexer.ST_AREA = 903; +SqlLexer.ST_ASBINARY = 904; +SqlLexer.ST_ASTEXT = 905; +SqlLexer.ST_ASWKB = 906; +SqlLexer.ST_ASWKT = 907; +SqlLexer.ST_BUFFER = 908; +SqlLexer.ST_CENTROID = 909; +SqlLexer.ST_CONTAINS = 910; +SqlLexer.ST_CROSSES = 911; +SqlLexer.ST_DIFFERENCE = 912; +SqlLexer.ST_DIMENSION = 913; +SqlLexer.ST_DISJOINT = 914; +SqlLexer.ST_DISTANCE = 915; +SqlLexer.ST_ENDPOINT = 916; +SqlLexer.ST_ENVELOPE = 917; +SqlLexer.ST_EQUALS = 918; +SqlLexer.ST_EXTERIORRING = 919; +SqlLexer.ST_GEOMCOLLFROMTEXT = 920; +SqlLexer.ST_GEOMCOLLFROMTXT = 921; +SqlLexer.ST_GEOMCOLLFROMWKB = 922; +SqlLexer.ST_GEOMETRYCOLLECTIONFROMTEXT = 923; +SqlLexer.ST_GEOMETRYCOLLECTIONFROMWKB = 924; +SqlLexer.ST_GEOMETRYFROMTEXT = 925; +SqlLexer.ST_GEOMETRYFROMWKB = 926; +SqlLexer.ST_GEOMETRYN = 927; +SqlLexer.ST_GEOMETRYTYPE = 928; +SqlLexer.ST_GEOMFROMTEXT = 929; +SqlLexer.ST_GEOMFROMWKB = 930; +SqlLexer.ST_INTERIORRINGN = 931; +SqlLexer.ST_INTERSECTION = 932; +SqlLexer.ST_INTERSECTS = 933; +SqlLexer.ST_ISCLOSED = 934; +SqlLexer.ST_ISEMPTY = 935; +SqlLexer.ST_ISSIMPLE = 936; +SqlLexer.ST_LINEFROMTEXT = 937; +SqlLexer.ST_LINEFROMWKB = 938; +SqlLexer.ST_LINESTRINGFROMTEXT = 939; +SqlLexer.ST_LINESTRINGFROMWKB = 940; +SqlLexer.ST_NUMGEOMETRIES = 941; +SqlLexer.ST_NUMINTERIORRING = 942; +SqlLexer.ST_NUMINTERIORRINGS = 943; +SqlLexer.ST_NUMPOINTS = 944; +SqlLexer.ST_OVERLAPS = 945; +SqlLexer.ST_POINTFROMTEXT = 946; +SqlLexer.ST_POINTFROMWKB = 947; +SqlLexer.ST_POINTN = 948; +SqlLexer.ST_POLYFROMTEXT = 949; +SqlLexer.ST_POLYFROMWKB = 950; +SqlLexer.ST_POLYGONFROMTEXT = 951; +SqlLexer.ST_POLYGONFROMWKB = 952; +SqlLexer.ST_SRID = 953; +SqlLexer.ST_STARTPOINT = 954; +SqlLexer.ST_SYMDIFFERENCE = 955; +SqlLexer.ST_TOUCHES = 956; +SqlLexer.ST_UNION = 957; +SqlLexer.ST_WITHIN = 958; +SqlLexer.ST_X = 959; +SqlLexer.ST_Y = 960; +SqlLexer.SUBDATE = 961; +SqlLexer.SUBSTRING_INDEX = 962; +SqlLexer.SUBTIME = 963; +SqlLexer.SYSTEM_USER = 964; +SqlLexer.TAN = 965; +SqlLexer.TIMEDIFF = 966; +SqlLexer.TIMESTAMPADD = 967; +SqlLexer.TIMESTAMPDIFF = 968; +SqlLexer.TIME_FORMAT = 969; +SqlLexer.TIME_TO_SEC = 970; +SqlLexer.TOUCHES = 971; +SqlLexer.TO_BASE64 = 972; +SqlLexer.TO_DAYS = 973; +SqlLexer.TO_SECONDS = 974; +SqlLexer.UCASE = 975; +SqlLexer.UNCOMPRESS = 976; +SqlLexer.UNCOMPRESSED_LENGTH = 977; +SqlLexer.UNHEX = 978; +SqlLexer.UNIX_TIMESTAMP = 979; +SqlLexer.UPDATEXML = 980; +SqlLexer.UPPER = 981; +SqlLexer.UUID = 982; +SqlLexer.UUID_SHORT = 983; +SqlLexer.VALIDATE_PASSWORD_STRENGTH = 984; +SqlLexer.VERSION = 985; +SqlLexer.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 986; +SqlLexer.WEEKDAY = 987; +SqlLexer.WEEKOFYEAR = 988; +SqlLexer.WEIGHT_STRING = 989; +SqlLexer.WITHIN = 990; +SqlLexer.YEARWEEK = 991; +SqlLexer.Y_FUNCTION = 992; +SqlLexer.X_FUNCTION = 993; +SqlLexer.VAR_ASSIGN = 994; +SqlLexer.PLUS_ASSIGN = 995; +SqlLexer.MINUS_ASSIGN = 996; +SqlLexer.MULT_ASSIGN = 997; +SqlLexer.DIV_ASSIGN = 998; +SqlLexer.MOD_ASSIGN = 999; +SqlLexer.AND_ASSIGN = 1000; +SqlLexer.XOR_ASSIGN = 1001; +SqlLexer.OR_ASSIGN = 1002; +SqlLexer.STAR = 1003; +SqlLexer.DIVIDE = 1004; +SqlLexer.MODULE = 1005; +SqlLexer.PLUS = 1006; +SqlLexer.MINUSMINUS = 1007; +SqlLexer.MINUS = 1008; +SqlLexer.DIV = 1009; +SqlLexer.MOD = 1010; +SqlLexer.EQUAL_SYMBOL = 1011; +SqlLexer.GREATER_SYMBOL = 1012; +SqlLexer.LESS_SYMBOL = 1013; +SqlLexer.EXCLAMATION_SYMBOL = 1014; +SqlLexer.BIT_NOT_OP = 1015; +SqlLexer.BIT_OR_OP = 1016; +SqlLexer.BIT_AND_OP = 1017; +SqlLexer.BIT_XOR_OP = 1018; +SqlLexer.DOT = 1019; +SqlLexer.LR_BRACKET = 1020; +SqlLexer.RR_BRACKET = 1021; +SqlLexer.COMMA = 1022; +SqlLexer.SEMI = 1023; +SqlLexer.AT_SIGN = 1024; +SqlLexer.ZERO_DECIMAL = 1025; +SqlLexer.ONE_DECIMAL = 1026; +SqlLexer.TWO_DECIMAL = 1027; +SqlLexer.SINGLE_QUOTE_SYMB = 1028; +SqlLexer.DOUBLE_QUOTE_SYMB = 1029; +SqlLexer.REVERSE_QUOTE_SYMB = 1030; +SqlLexer.COLON_SYMB = 1031; +SqlLexer.CHARSET_REVERSE_QOUTE_STRING = 1032; +SqlLexer.FILESIZE_LITERAL = 1033; +SqlLexer.START_NATIONAL_STRING_LITERAL = 1034; +SqlLexer.STRING_LITERAL = 1035; +SqlLexer.DECIMAL_LITERAL = 1036; +SqlLexer.HEXADECIMAL_LITERAL = 1037; +SqlLexer.REAL_LITERAL = 1038; +SqlLexer.NULL_SPEC_LITERAL = 1039; +SqlLexer.BIT_STRING = 1040; +SqlLexer.STRING_CHARSET_NAME = 1041; +SqlLexer.DOT_ID = 1042; +SqlLexer.ID = 1043; +SqlLexer.REVERSE_QUOTE_ID = 1044; +SqlLexer.STRING_USER_NAME = 1045; +SqlLexer.LOCAL_ID = 1046; +SqlLexer.GLOBAL_ID = 1047; +SqlLexer.ERROR_RECONGNIGION = 1048; + +SqlLexer.MYSQLCOMMENT = 2; +SqlLexer.ERRORCHANNEL = 3; + +SqlLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN", "MYSQLCOMMENT", + "ERRORCHANNEL" ]; + +SqlLexer.prototype.modeNames = [ "DEFAULT_MODE" ]; + +SqlLexer.prototype.literalNames = [ null, null, null, null, null, "'ADD'", + "'ALL'", "'ALTER'", "'ALWAYS'", "'ANALYZE'", + "'AND'", "'AS'", "'ASC'", "'BEFORE'", + "'BETWEEN'", "'BOTH'", "'BY'", "'CALL'", + "'CASCADE'", "'CASE'", "'CAST'", "'CHANGE'", + "'CHARACTER'", "'CHECK'", "'COLLATE'", + "'COLUMN'", "'CONDITION'", "'CONSTRAINT'", + "'CONTINUE'", "'CONVERT'", "'CREATE'", + "'CROSS'", "'CURRENT'", "'CURRENT_USER'", + "'CURSOR'", "'DATABASE'", "'DATABASES'", + "'DECLARE'", "'DEFAULT'", "'DELAYED'", + "'DELETE'", "'DESC'", "'DESCRIBE'", + "'DETERMINISTIC'", "'DIAGNOSTICS'", + "'DISTINCT'", "'DISTINCTROW'", "'DROP'", + "'EACH'", "'ELSE'", "'ELSEIF'", "'ENCLOSED'", + "'ESCAPED'", "'EXISTS'", "'EXIT'", "'EXPLAIN'", + "'FALSE'", "'FETCH'", "'FOR'", "'FORCE'", + "'FOREIGN'", "'FROM'", "'FULLTEXT'", + "'GENERATED'", "'GET'", "'GRANT'", "'GROUP'", + "'HAVING'", "'HIGH_PRIORITY'", "'IF'", + "'IGNORE'", "'IN'", "'INDEX'", "'INFILE'", + "'INNER'", "'INOUT'", "'INSERT'", "'INTERVAL'", + "'INTO'", "'IS'", "'ITERATE'", "'JOIN'", + "'KEY'", "'KEYS'", "'KILL'", "'LEADING'", + "'LEAVE'", "'LEFT'", "'LIKE'", "'LIMIT'", + "'LINEAR'", "'LINES'", "'LOAD'", "'LOCK'", + "'LOOP'", "'LOW_PRIORITY'", "'MASTER_BIND'", + "'MASTER_SSL_VERIFY_SERVER_CERT'", "'MATCH'", + "'MAXVALUE'", "'MODIFIES'", "'NATURAL'", + "'NOT'", "'NO_WRITE_TO_BINLOG'", "'NULL'", + "'NUMBER'", "'ON'", "'OPTIMIZE'", "'OPTION'", + "'OPTIONALLY'", "'OR'", "'ORDER'", "'OUT'", + "'OUTER'", "'OUTFILE'", "'PARTITION'", + "'PRIMARY'", "'PROCEDURE'", "'PURGE'", + "'RANGE'", "'READ'", "'READS'", "'REFERENCES'", + "'REGEXP'", "'RELEASE'", "'RENAME'", + "'REPEAT'", "'REPLACE'", "'REQUIRE'", + "'RESIGNAL'", "'RESTRICT'", "'RETURN'", + "'REVOKE'", "'RIGHT'", "'RLIKE'", "'SCHEMA'", + "'SCHEMAS'", "'SELECT'", "'SET'", "'SEPARATOR'", + "'SHOW'", "'SIGNAL'", "'SPATIAL'", "'SQL'", + "'SQLEXCEPTION'", "'SQLSTATE'", "'SQLWARNING'", + "'SQL_BIG_RESULT'", "'SQL_CALC_FOUND_ROWS'", + "'SQL_SMALL_RESULT'", "'SSL'", "'STACKED'", + "'STARTING'", "'STRAIGHT_JOIN'", "'TABLE'", + "'TERMINATED'", "'THEN'", "'TO'", "'TRAILING'", + "'TRIGGER'", "'TRUE'", "'UNDO'", "'UNION'", + "'UNIQUE'", "'UNLOCK'", "'UNSIGNED'", + "'UPDATE'", "'USAGE'", "'USE'", "'USING'", + "'VALUES'", "'WHEN'", "'WHERE'", "'WHILE'", + "'WITH'", "'WRITE'", "'XOR'", "'ZEROFILL'", + "'TINYINT'", "'SMALLINT'", "'MEDIUMINT'", + "'MIDDLEINT'", "'INT'", "'INT1'", "'INT2'", + "'INT3'", "'INT4'", "'INT8'", "'INTEGER'", + "'BIGINT'", "'REAL'", "'DOUBLE'", "'PRECISION'", + "'FLOAT'", "'FLOAT4'", "'FLOAT8'", "'DECIMAL'", + "'DEC'", "'NUMERIC'", "'DATE'", "'TIME'", + "'TIMESTAMP'", "'DATETIME'", "'YEAR'", + "'CHAR'", "'VARCHAR'", "'NVARCHAR'", + "'NATIONAL'", "'BINARY'", "'VARBINARY'", + "'TINYBLOB'", "'BLOB'", "'MEDIUMBLOB'", + "'LONG'", "'LONGBLOB'", "'TINYTEXT'", + "'TEXT'", "'MEDIUMTEXT'", "'LONGTEXT'", + "'ENUM'", "'VARYING'", "'SERIAL'", "'YEAR_MONTH'", + "'DAY_HOUR'", "'DAY_MINUTE'", "'DAY_SECOND'", + "'HOUR_MINUTE'", "'HOUR_SECOND'", "'MINUTE_SECOND'", + "'SECOND_MICROSECOND'", "'MINUTE_MICROSECOND'", + "'HOUR_MICROSECOND'", "'DAY_MICROSECOND'", + "'JSON_VALID'", "'JSON_SCHEMA_VALID'", + "'AVG'", "'BIT_AND'", "'BIT_OR'", "'BIT_XOR'", + "'COUNT'", "'GROUP_CONCAT'", "'MAX'", + "'MIN'", "'STD'", "'STDDEV'", "'STDDEV_POP'", + "'STDDEV_SAMP'", "'SUM'", "'VAR_POP'", + "'VAR_SAMP'", "'VARIANCE'", "'CURRENT_DATE'", + "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", + "'LOCALTIME'", "'CURDATE'", "'CURTIME'", + "'DATE_ADD'", "'DATE_SUB'", "'EXTRACT'", + "'LOCALTIMESTAMP'", "'NOW'", "'POSITION'", + "'SUBSTR'", "'SUBSTRING'", "'SYSDATE'", + "'TRIM'", "'UTC_DATE'", "'UTC_TIME'", + "'UTC_TIMESTAMP'", "'ACCOUNT'", "'ACTION'", + "'AFTER'", "'AGGREGATE'", "'ALGORITHM'", + "'ANY'", "'AT'", "'AUTHORS'", "'AUTOCOMMIT'", + "'AUTOEXTEND_SIZE'", "'AUTO_INCREMENT'", + "'AVG_ROW_LENGTH'", "'BEGIN'", "'BINLOG'", + "'BIT'", "'BLOCK'", "'BOOL'", "'BOOLEAN'", + "'BTREE'", "'CACHE'", "'CASCADED'", + "'CHAIN'", "'CHANGED'", "'CHANNEL'", + "'CHECKSUM'", "'PAGE_CHECKSUM'", "'CIPHER'", + "'CLASS_ORIGIN'", "'CLIENT'", "'CLOSE'", + "'COALESCE'", "'CODE'", "'COLUMNS'", + "'COLUMN_FORMAT'", "'COLUMN_NAME'", + "'COMMENT'", "'COMMIT'", "'COMPACT'", + "'COMPLETION'", "'COMPRESSED'", "'COMPRESSION'", + "'CONCURRENT'", "'CONNECTION'", "'CONSISTENT'", + "'CONSTRAINT_CATALOG'", "'CONSTRAINT_SCHEMA'", + "'CONSTRAINT_NAME'", "'CONTAINS'", "'CONTEXT'", + "'CONTRIBUTORS'", "'COPY'", "'CPU'", + "'CURSOR_NAME'", "'DATA'", "'DATAFILE'", + "'DEALLOCATE'", "'DEFAULT_AUTH'", "'DEFINER'", + "'DELAY_KEY_WRITE'", "'DES_KEY_FILE'", + "'DIRECTORY'", "'DISABLE'", "'DISCARD'", + "'DISK'", "'DO'", "'DUMPFILE'", "'DUPLICATE'", + "'DYNAMIC'", "'ENABLE'", "'ENCRYPTION'", + "'END'", "'ENDS'", "'ENGINE'", "'ENGINES'", + "'ERROR'", "'ERRORS'", "'ESCAPE'", "'EVEN'", + "'EVENT'", "'EVENTS'", "'EVERY'", "'EXCHANGE'", + "'EXCLUSIVE'", "'EXPIRE'", "'EXPORT'", + "'EXTENDED'", "'EXTENT_SIZE'", "'FAST'", + "'FAULTS'", "'FIELDS'", "'FILE_BLOCK_SIZE'", + "'FILTER'", "'FIRST'", "'FIXED'", "'FLUSH'", + "'FOLLOWS'", "'FOUND'", "'FULL'", "'FUNCTION'", + "'GENERAL'", "'GLOBAL'", "'GRANTS'", + "'GROUP_REPLICATION'", "'HANDLER'", + "'HASH'", "'HELP'", "'HOST'", "'HOSTS'", + "'IDENTIFIED'", "'IGNORE_SERVER_IDS'", + "'IMPORT'", "'INDEXES'", "'INITIAL_SIZE'", + "'INPLACE'", "'INSERT_METHOD'", "'INSTALL'", + "'INSTANCE'", "'INVISIBLE'", "'INVOKER'", + "'IO'", "'IO_THREAD'", "'IPC'", "'ISOLATION'", + "'ISSUER'", "'JSON'", "'KEY_BLOCK_SIZE'", + "'LANGUAGE'", "'LAST'", "'LEAVES'", + "'LESS'", "'LEVEL'", "'LIST'", "'LOCAL'", + "'LOGFILE'", "'LOGS'", "'MASTER'", "'MASTER_AUTO_POSITION'", + "'MASTER_CONNECT_RETRY'", "'MASTER_DELAY'", + "'MASTER_HEARTBEAT_PERIOD'", "'MASTER_HOST'", + "'MASTER_LOG_FILE'", "'MASTER_LOG_POS'", + "'MASTER_PASSWORD'", "'MASTER_PORT'", + "'MASTER_RETRY_COUNT'", "'MASTER_SSL'", + "'MASTER_SSL_CA'", "'MASTER_SSL_CAPATH'", + "'MASTER_SSL_CERT'", "'MASTER_SSL_CIPHER'", + "'MASTER_SSL_CRL'", "'MASTER_SSL_CRLPATH'", + "'MASTER_SSL_KEY'", "'MASTER_TLS_VERSION'", + "'MASTER_USER'", "'MAX_CONNECTIONS_PER_HOUR'", + "'MAX_QUERIES_PER_HOUR'", "'MAX_ROWS'", + "'MAX_SIZE'", "'MAX_UPDATES_PER_HOUR'", + "'MAX_USER_CONNECTIONS'", "'MEDIUM'", + "'MERGE'", "'MESSAGE_TEXT'", "'MID'", + "'MIGRATE'", "'MIN_ROWS'", "'MODE'", + "'MODIFY'", "'MUTEX'", "'MYSQL'", "'MYSQL_ERRNO'", + "'NAME'", "'NAMES'", "'NCHAR'", "'NEVER'", + "'NEXT'", "'NO'", "'NODEGROUP'", "'NONE'", + "'OFFLINE'", "'OFFSET'", "'OJ'", "'OLD_PASSWORD'", + "'ONE'", "'ONLINE'", "'ONLY'", "'OPEN'", + "'OPTIMIZER_COSTS'", "'OPTIONS'", "'OWNER'", + "'PACK_KEYS'", "'PAGE'", "'PARSER'", + "'PARTIAL'", "'PARTITIONING'", "'PARTITIONS'", + "'PASSWORD'", "'PHASE'", "'PLUGIN'", + "'PLUGIN_DIR'", "'PLUGINS'", "'PORT'", + "'PRECEDES'", "'PREPARE'", "'PRESERVE'", + "'PREV'", "'PROCESSLIST'", "'PROFILE'", + "'PROFILES'", "'PROXY'", "'QUERY'", + "'QUICK'", "'REBUILD'", "'RECOVER'", + "'REDO_BUFFER_SIZE'", "'REDUNDANT'", + "'RELAY'", "'RELAY_LOG_FILE'", "'RELAY_LOG_POS'", + "'RELAYLOG'", "'REMOVE'", "'REORGANIZE'", + "'REPAIR'", "'REPLICATE_DO_DB'", "'REPLICATE_DO_TABLE'", + "'REPLICATE_IGNORE_DB'", "'REPLICATE_IGNORE_TABLE'", + "'REPLICATE_REWRITE_DB'", "'REPLICATE_WILD_DO_TABLE'", + "'REPLICATE_WILD_IGNORE_TABLE'", "'REPLICATION'", + "'RESET'", "'RESUME'", "'RETURNED_SQLSTATE'", + "'RETURNS'", "'ROLE'", "'ROLLBACK'", + "'ROLLUP'", "'ROTATE'", "'ROW'", "'ROWS'", + "'ROW_FORMAT'", "'SAVEPOINT'", "'SCHEDULE'", + "'SECURITY'", "'SERVER'", "'SESSION'", + "'SHARE'", "'SHARED'", "'SIGNED'", "'SIMPLE'", + "'SLAVE'", "'SLOW'", "'SNAPSHOT'", "'SOCKET'", + "'SOME'", "'SONAME'", "'SOUNDS'", "'SOURCE'", + "'SQL_AFTER_GTIDS'", "'SQL_AFTER_MTS_GAPS'", + "'SQL_BEFORE_GTIDS'", "'SQL_BUFFER_RESULT'", + "'SQL_CACHE'", "'SQL_NO_CACHE'", "'SQL_THREAD'", + "'START'", "'STARTS'", "'STATS_AUTO_RECALC'", + "'STATS_PERSISTENT'", "'STATS_SAMPLE_PAGES'", + "'STATUS'", "'STOP'", "'STORAGE'", "'STORED'", + "'STRING'", "'SUBCLASS_ORIGIN'", "'SUBJECT'", + "'SUBPARTITION'", "'SUBPARTITIONS'", + "'SUSPEND'", "'SWAPS'", "'SWITCHES'", + "'TABLE_NAME'", "'TABLESPACE'", "'TEMPORARY'", + "'TEMPTABLE'", "'THAN'", "'TRADITIONAL'", + "'TRANSACTION'", "'TRANSACTIONAL'", + "'TRIGGERS'", "'TRUNCATE'", "'UNDEFINED'", + "'UNDOFILE'", "'UNDO_BUFFER_SIZE'", + "'UNINSTALL'", "'UNKNOWN'", "'UNTIL'", + "'UPGRADE'", "'USER'", "'USE_FRM'", + "'USER_RESOURCES'", "'VALIDATION'", + "'VALUE'", "'VARIABLES'", "'VIEW'", + "'VIRTUAL'", "'VISIBLE'", "'WAIT'", + "'WARNINGS'", "'WITHOUT'", "'WORK'", + "'WRAPPER'", "'X509'", "'XA'", "'XML'", + "'EUR'", "'USA'", "'JIS'", "'ISO'", + "'INTERNAL'", "'QUARTER'", "'MONTH'", + "'DAY'", "'HOUR'", "'MINUTE'", "'WEEK'", + "'SECOND'", "'MICROSECOND'", "'TABLES'", + "'ROUTINE'", "'EXECUTE'", "'FILE'", + "'PROCESS'", "'RELOAD'", "'SHUTDOWN'", + "'SUPER'", "'PRIVILEGES'", "'APPLICATION_PASSWORD_ADMIN'", + "'AUDIT_ADMIN'", "'BACKUP_ADMIN'", "'BINLOG_ADMIN'", + "'BINLOG_ENCRYPTION_ADMIN'", "'CLONE_ADMIN'", + "'CONNECTION_ADMIN'", "'ENCRYPTION_KEY_ADMIN'", + "'FIREWALL_ADMIN'", "'FIREWALL_USER'", + "'GROUP_REPLICATION_ADMIN'", "'INNODB_REDO_LOG_ARCHIVE'", + "'NDB_STORED_USER'", "'PERSIST_RO_VARIABLES_ADMIN'", + "'REPLICATION_APPLIER'", "'REPLICATION_SLAVE_ADMIN'", + "'RESOURCE_GROUP_ADMIN'", "'RESOURCE_GROUP_USER'", + "'ROLE_ADMIN'", null, "'SET_USER_ID'", + "'SHOW_ROUTINE'", "'SYSTEM_VARIABLES_ADMIN'", + "'TABLE_ENCRYPTION_ADMIN'", "'VERSION_TOKEN_ADMIN'", + "'XA_RECOVER_ADMIN'", "'ARMSCII8'", + "'ASCII'", "'BIG5'", "'CP1250'", "'CP1251'", + "'CP1256'", "'CP1257'", "'CP850'", "'CP852'", + "'CP866'", "'CP932'", "'DEC8'", "'EUCJPMS'", + "'EUCKR'", "'GB2312'", "'GBK'", "'GEOSTD8'", + "'GREEK'", "'HEBREW'", "'HP8'", "'KEYBCS2'", + "'KOI8R'", "'KOI8U'", "'LATIN1'", "'LATIN2'", + "'LATIN5'", "'LATIN7'", "'MACCE'", "'MACROMAN'", + "'SJIS'", "'SWE7'", "'TIS620'", "'UCS2'", + "'UJIS'", "'UTF16'", "'UTF16LE'", "'UTF32'", + "'UTF8'", "'UTF8MB3'", "'UTF8MB4'", + "'ARCHIVE'", "'BLACKHOLE'", "'CSV'", + "'FEDERATED'", "'INNODB'", "'MEMORY'", + "'MRG_MYISAM'", "'MYISAM'", "'NDB'", + "'NDBCLUSTER'", "'PERFORMANCE_SCHEMA'", + "'TOKUDB'", "'REPEATABLE'", "'COMMITTED'", + "'UNCOMMITTED'", "'SERIALIZABLE'", "'GEOMETRYCOLLECTION'", + "'GEOMCOLLECTION'", "'GEOMETRY'", "'LINESTRING'", + "'MULTILINESTRING'", "'MULTIPOINT'", + "'MULTIPOLYGON'", "'POINT'", "'POLYGON'", + "'ABS'", "'ACOS'", "'ADDDATE'", "'ADDTIME'", + "'AES_DECRYPT'", "'AES_ENCRYPT'", "'AREA'", + "'ASBINARY'", "'ASIN'", "'ASTEXT'", + "'ASWKB'", "'ASWKT'", "'ASYMMETRIC_DECRYPT'", + "'ASYMMETRIC_DERIVE'", "'ASYMMETRIC_ENCRYPT'", + "'ASYMMETRIC_SIGN'", "'ASYMMETRIC_VERIFY'", + "'ATAN'", "'ATAN2'", "'BENCHMARK'", + "'BIN'", "'BIT_COUNT'", "'BIT_LENGTH'", + "'BUFFER'", "'CATALOG_NAME'", "'CEIL'", + "'CEILING'", "'CENTROID'", "'CHARACTER_LENGTH'", + "'CHARSET'", "'CHAR_LENGTH'", "'COERCIBILITY'", + "'COLLATION'", "'COMPRESS'", "'CONCAT'", + "'CONCAT_WS'", "'CONNECTION_ID'", "'CONV'", + "'CONVERT_TZ'", "'COS'", "'COT'", "'CRC32'", + "'CREATE_ASYMMETRIC_PRIV_KEY'", "'CREATE_ASYMMETRIC_PUB_KEY'", + "'CREATE_DH_PARAMETERS'", "'CREATE_DIGEST'", + "'CROSSES'", "'DATEDIFF'", "'DATE_FORMAT'", + "'DAYNAME'", "'DAYOFMONTH'", "'DAYOFWEEK'", + "'DAYOFYEAR'", "'DECODE'", "'DEGREES'", + "'DES_DECRYPT'", "'DES_ENCRYPT'", "'DIMENSION'", + "'DISJOINT'", "'ELT'", "'ENCODE'", "'ENCRYPT'", + "'ENDPOINT'", "'ENVELOPE'", "'EQUALS'", + "'EXP'", "'EXPORT_SET'", "'EXTERIORRING'", + "'EXTRACTVALUE'", "'FIELD'", "'FIND_IN_SET'", + "'FLOOR'", "'FORMAT'", "'FOUND_ROWS'", + "'FROM_BASE64'", "'FROM_DAYS'", "'FROM_UNIXTIME'", + "'GEOMCOLLFROMTEXT'", "'GEOMCOLLFROMWKB'", + "'GEOMETRYCOLLECTIONFROMTEXT'", "'GEOMETRYCOLLECTIONFROMWKB'", + "'GEOMETRYFROMTEXT'", "'GEOMETRYFROMWKB'", + "'GEOMETRYN'", "'GEOMETRYTYPE'", "'GEOMFROMTEXT'", + "'GEOMFROMWKB'", "'GET_FORMAT'", "'GET_LOCK'", + "'GLENGTH'", "'GREATEST'", "'GTID_SUBSET'", + "'GTID_SUBTRACT'", "'HEX'", "'IFNULL'", + "'INET6_ATON'", "'INET6_NTOA'", "'INET_ATON'", + "'INET_NTOA'", "'INSTR'", "'INTERIORRINGN'", + "'INTERSECTS'", "'ISCLOSED'", "'ISEMPTY'", + "'ISNULL'", "'ISSIMPLE'", "'IS_FREE_LOCK'", + "'IS_IPV4'", "'IS_IPV4_COMPAT'", "'IS_IPV4_MAPPED'", + "'IS_IPV6'", "'IS_USED_LOCK'", "'LAST_INSERT_ID'", + "'LCASE'", "'LEAST'", "'LENGTH'", "'LINEFROMTEXT'", + "'LINEFROMWKB'", "'LINESTRINGFROMTEXT'", + "'LINESTRINGFROMWKB'", "'LN'", "'LOAD_FILE'", + "'LOCATE'", "'LOG'", "'LOG10'", "'LOG2'", + "'LOWER'", "'LPAD'", "'LTRIM'", "'MAKEDATE'", + "'MAKETIME'", "'MAKE_SET'", "'MASTER_POS_WAIT'", + "'MBRCONTAINS'", "'MBRDISJOINT'", "'MBREQUAL'", + "'MBRINTERSECTS'", "'MBROVERLAPS'", + "'MBRTOUCHES'", "'MBRWITHIN'", "'MD5'", + "'MLINEFROMTEXT'", "'MLINEFROMWKB'", + "'MONTHNAME'", "'MPOINTFROMTEXT'", "'MPOINTFROMWKB'", + "'MPOLYFROMTEXT'", "'MPOLYFROMWKB'", + "'MULTILINESTRINGFROMTEXT'", "'MULTILINESTRINGFROMWKB'", + "'MULTIPOINTFROMTEXT'", "'MULTIPOINTFROMWKB'", + "'MULTIPOLYGONFROMTEXT'", "'MULTIPOLYGONFROMWKB'", + "'NAME_CONST'", "'NULLIF'", "'NUMGEOMETRIES'", + "'NUMINTERIORRINGS'", "'NUMPOINTS'", + "'OCT'", "'OCTET_LENGTH'", "'ORD'", + "'OVERLAPS'", "'PERIOD_ADD'", "'PERIOD_DIFF'", + "'PI'", "'POINTFROMTEXT'", "'POINTFROMWKB'", + "'POINTN'", "'POLYFROMTEXT'", "'POLYFROMWKB'", + "'POLYGONFROMTEXT'", "'POLYGONFROMWKB'", + "'POW'", "'POWER'", "'QUOTE'", "'RADIANS'", + "'RAND'", "'RANDOM_BYTES'", "'RELEASE_LOCK'", + "'REVERSE'", "'ROUND'", "'ROW_COUNT'", + "'RPAD'", "'RTRIM'", "'SEC_TO_TIME'", + "'SESSION_USER'", "'SHA'", "'SHA1'", + "'SHA2'", "'SCHEMA_NAME'", "'SIGN'", + "'SIN'", "'SLEEP'", "'SOUNDEX'", "'SQL_THREAD_WAIT_AFTER_GTIDS'", + "'SQRT'", "'SRID'", "'STARTPOINT'", + "'STRCMP'", "'STR_TO_DATE'", "'ST_AREA'", + "'ST_ASBINARY'", "'ST_ASTEXT'", "'ST_ASWKB'", + "'ST_ASWKT'", "'ST_BUFFER'", "'ST_CENTROID'", + "'ST_CONTAINS'", "'ST_CROSSES'", "'ST_DIFFERENCE'", + "'ST_DIMENSION'", "'ST_DISJOINT'", "'ST_DISTANCE'", + "'ST_ENDPOINT'", "'ST_ENVELOPE'", "'ST_EQUALS'", + "'ST_EXTERIORRING'", "'ST_GEOMCOLLFROMTEXT'", + "'ST_GEOMCOLLFROMTXT'", "'ST_GEOMCOLLFROMWKB'", + "'ST_GEOMETRYCOLLECTIONFROMTEXT'", "'ST_GEOMETRYCOLLECTIONFROMWKB'", + "'ST_GEOMETRYFROMTEXT'", "'ST_GEOMETRYFROMWKB'", + "'ST_GEOMETRYN'", "'ST_GEOMETRYTYPE'", + "'ST_GEOMFROMTEXT'", "'ST_GEOMFROMWKB'", + "'ST_INTERIORRINGN'", "'ST_INTERSECTION'", + "'ST_INTERSECTS'", "'ST_ISCLOSED'", + "'ST_ISEMPTY'", "'ST_ISSIMPLE'", "'ST_LINEFROMTEXT'", + "'ST_LINEFROMWKB'", "'ST_LINESTRINGFROMTEXT'", + "'ST_LINESTRINGFROMWKB'", "'ST_NUMGEOMETRIES'", + "'ST_NUMINTERIORRING'", "'ST_NUMINTERIORRINGS'", + "'ST_NUMPOINTS'", "'ST_OVERLAPS'", "'ST_POINTFROMTEXT'", + "'ST_POINTFROMWKB'", "'ST_POINTN'", + "'ST_POLYFROMTEXT'", "'ST_POLYFROMWKB'", + "'ST_POLYGONFROMTEXT'", "'ST_POLYGONFROMWKB'", + "'ST_SRID'", "'ST_STARTPOINT'", "'ST_SYMDIFFERENCE'", + "'ST_TOUCHES'", "'ST_UNION'", "'ST_WITHIN'", + "'ST_X'", "'ST_Y'", "'SUBDATE'", "'SUBSTRING_INDEX'", + "'SUBTIME'", "'SYSTEM_USER'", "'TAN'", + "'TIMEDIFF'", "'TIMESTAMPADD'", "'TIMESTAMPDIFF'", + "'TIME_FORMAT'", "'TIME_TO_SEC'", "'TOUCHES'", + "'TO_BASE64'", "'TO_DAYS'", "'TO_SECONDS'", + "'UCASE'", "'UNCOMPRESS'", "'UNCOMPRESSED_LENGTH'", + "'UNHEX'", "'UNIX_TIMESTAMP'", "'UPDATEXML'", + "'UPPER'", "'UUID'", "'UUID_SHORT'", + "'VALIDATE_PASSWORD_STRENGTH'", "'VERSION'", + "'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'", + "'WEEKDAY'", "'WEEKOFYEAR'", "'WEIGHT_STRING'", + "'WITHIN'", "'YEARWEEK'", "'Y'", "'X'", + "':='", "'+='", "'-='", "'*='", "'/='", + "'%='", "'&='", "'^='", "'|='", "'*'", + "'/'", "'%'", "'+'", "'--'", "'-'", + "'DIV'", "'MOD'", "'='", "'>'", "'<'", + "'!'", "'~'", "'|'", "'&'", "'^'", "'.'", + "'('", "')'", "','", "';'", "'@'", "'0'", + "'1'", "'2'", "'''", "'\"'", "'`'", + "':'" ]; + +SqlLexer.prototype.symbolicNames = [ null, "SPACE", "SPEC_MYSQL_COMMENT", + "COMMENT_INPUT", "LINE_COMMENT", "ADD", + "ALL", "ALTER", "ALWAYS", "ANALYZE", + "AND", "AS", "ASC", "BEFORE", "BETWEEN", + "BOTH", "BY", "CALL", "CASCADE", "CASE", + "CAST", "CHANGE", "CHARACTER", "CHECK", + "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", + "CONTINUE", "CONVERT", "CREATE", "CROSS", + "CURRENT", "CURRENT_USER", "CURSOR", + "DATABASE", "DATABASES", "DECLARE", + "DEFAULT", "DELAYED", "DELETE", "DESC", + "DESCRIBE", "DETERMINISTIC", "DIAGNOSTICS", + "DISTINCT", "DISTINCTROW", "DROP", + "EACH", "ELSE", "ELSEIF", "ENCLOSED", + "ESCAPED", "EXISTS", "EXIT", "EXPLAIN", + "FALSE", "FETCH", "FOR", "FORCE", "FOREIGN", + "FROM", "FULLTEXT", "GENERATED", "GET", + "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", + "IF", "IGNORE", "IN", "INDEX", "INFILE", + "INNER", "INOUT", "INSERT", "INTERVAL", + "INTO", "IS", "ITERATE", "JOIN", "KEY", + "KEYS", "KILL", "LEADING", "LEAVE", + "LEFT", "LIKE", "LIMIT", "LINEAR", + "LINES", "LOAD", "LOCK", "LOOP", "LOW_PRIORITY", + "MASTER_BIND", "MASTER_SSL_VERIFY_SERVER_CERT", + "MATCH", "MAXVALUE", "MODIFIES", "NATURAL", + "NOT", "NO_WRITE_TO_BINLOG", "NULL_LITERAL", + "NUMBER", "ON", "OPTIMIZE", "OPTION", + "OPTIONALLY", "OR", "ORDER", "OUT", + "OUTER", "OUTFILE", "PARTITION", "PRIMARY", + "PROCEDURE", "PURGE", "RANGE", "READ", + "READS", "REFERENCES", "REGEXP", "RELEASE", + "RENAME", "REPEAT", "REPLACE", "REQUIRE", + "RESIGNAL", "RESTRICT", "RETURN", "REVOKE", + "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", + "SELECT", "SET", "SEPARATOR", "SHOW", + "SIGNAL", "SPATIAL", "SQL", "SQLEXCEPTION", + "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", + "SQL_CALC_FOUND_ROWS", "SQL_SMALL_RESULT", + "SSL", "STACKED", "STARTING", "STRAIGHT_JOIN", + "TABLE", "TERMINATED", "THEN", "TO", + "TRAILING", "TRIGGER", "TRUE", "UNDO", + "UNION", "UNIQUE", "UNLOCK", "UNSIGNED", + "UPDATE", "USAGE", "USE", "USING", + "VALUES", "WHEN", "WHERE", "WHILE", + "WITH", "WRITE", "XOR", "ZEROFILL", + "TINYINT", "SMALLINT", "MEDIUMINT", + "MIDDLEINT", "INT", "INT1", "INT2", + "INT3", "INT4", "INT8", "INTEGER", + "BIGINT", "REAL", "DOUBLE", "PRECISION", + "FLOAT", "FLOAT4", "FLOAT8", "DECIMAL", + "DEC", "NUMERIC", "DATE", "TIME", "TIMESTAMP", + "DATETIME", "YEAR", "CHAR", "VARCHAR", + "NVARCHAR", "NATIONAL", "BINARY", "VARBINARY", + "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONG", + "LONGBLOB", "TINYTEXT", "TEXT", "MEDIUMTEXT", + "LONGTEXT", "ENUM", "VARYING", "SERIAL", + "YEAR_MONTH", "DAY_HOUR", "DAY_MINUTE", + "DAY_SECOND", "HOUR_MINUTE", "HOUR_SECOND", + "MINUTE_SECOND", "SECOND_MICROSECOND", + "MINUTE_MICROSECOND", "HOUR_MICROSECOND", + "DAY_MICROSECOND", "JSON_VALID", "JSON_SCHEMA_VALID", + "AVG", "BIT_AND", "BIT_OR", "BIT_XOR", + "COUNT", "GROUP_CONCAT", "MAX", "MIN", + "STD", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", + "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", + "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", + "LOCALTIME", "CURDATE", "CURTIME", + "DATE_ADD", "DATE_SUB", "EXTRACT", + "LOCALTIMESTAMP", "NOW", "POSITION", + "SUBSTR", "SUBSTRING", "SYSDATE", "TRIM", + "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", + "ACCOUNT", "ACTION", "AFTER", "AGGREGATE", + "ALGORITHM", "ANY", "AT", "AUTHORS", + "AUTOCOMMIT", "AUTOEXTEND_SIZE", "AUTO_INCREMENT", + "AVG_ROW_LENGTH", "BEGIN", "BINLOG", + "BIT", "BLOCK", "BOOL", "BOOLEAN", + "BTREE", "CACHE", "CASCADED", "CHAIN", + "CHANGED", "CHANNEL", "CHECKSUM", "PAGE_CHECKSUM", + "CIPHER", "CLASS_ORIGIN", "CLIENT", + "CLOSE", "COALESCE", "CODE", "COLUMNS", + "COLUMN_FORMAT", "COLUMN_NAME", "COMMENT", + "COMMIT", "COMPACT", "COMPLETION", + "COMPRESSED", "COMPRESSION", "CONCURRENT", + "CONNECTION", "CONSISTENT", "CONSTRAINT_CATALOG", + "CONSTRAINT_SCHEMA", "CONSTRAINT_NAME", + "CONTAINS", "CONTEXT", "CONTRIBUTORS", + "COPY", "CPU", "CURSOR_NAME", "DATA", + "DATAFILE", "DEALLOCATE", "DEFAULT_AUTH", + "DEFINER", "DELAY_KEY_WRITE", "DES_KEY_FILE", + "DIRECTORY", "DISABLE", "DISCARD", + "DISK", "DO", "DUMPFILE", "DUPLICATE", + "DYNAMIC", "ENABLE", "ENCRYPTION", + "END", "ENDS", "ENGINE", "ENGINES", + "ERROR", "ERRORS", "ESCAPE", "EVEN", + "EVENT", "EVENTS", "EVERY", "EXCHANGE", + "EXCLUSIVE", "EXPIRE", "EXPORT", "EXTENDED", + "EXTENT_SIZE", "FAST", "FAULTS", "FIELDS", + "FILE_BLOCK_SIZE", "FILTER", "FIRST", + "FIXED", "FLUSH", "FOLLOWS", "FOUND", + "FULL", "FUNCTION", "GENERAL", "GLOBAL", + "GRANTS", "GROUP_REPLICATION", "HANDLER", + "HASH", "HELP", "HOST", "HOSTS", "IDENTIFIED", + "IGNORE_SERVER_IDS", "IMPORT", "INDEXES", + "INITIAL_SIZE", "INPLACE", "INSERT_METHOD", + "INSTALL", "INSTANCE", "INVISIBLE", + "INVOKER", "IO", "IO_THREAD", "IPC", + "ISOLATION", "ISSUER", "JSON", "KEY_BLOCK_SIZE", + "LANGUAGE", "LAST", "LEAVES", "LESS", + "LEVEL", "LIST", "LOCAL", "LOGFILE", + "LOGS", "MASTER", "MASTER_AUTO_POSITION", + "MASTER_CONNECT_RETRY", "MASTER_DELAY", + "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", + "MASTER_LOG_FILE", "MASTER_LOG_POS", + "MASTER_PASSWORD", "MASTER_PORT", "MASTER_RETRY_COUNT", + "MASTER_SSL", "MASTER_SSL_CA", "MASTER_SSL_CAPATH", + "MASTER_SSL_CERT", "MASTER_SSL_CIPHER", + "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", + "MASTER_SSL_KEY", "MASTER_TLS_VERSION", + "MASTER_USER", "MAX_CONNECTIONS_PER_HOUR", + "MAX_QUERIES_PER_HOUR", "MAX_ROWS", + "MAX_SIZE", "MAX_UPDATES_PER_HOUR", + "MAX_USER_CONNECTIONS", "MEDIUM", "MERGE", + "MESSAGE_TEXT", "MID", "MIGRATE", "MIN_ROWS", + "MODE", "MODIFY", "MUTEX", "MYSQL", + "MYSQL_ERRNO", "NAME", "NAMES", "NCHAR", + "NEVER", "NEXT", "NO", "NODEGROUP", + "NONE", "OFFLINE", "OFFSET", "OJ", + "OLD_PASSWORD", "ONE", "ONLINE", "ONLY", + "OPEN", "OPTIMIZER_COSTS", "OPTIONS", + "OWNER", "PACK_KEYS", "PAGE", "PARSER", + "PARTIAL", "PARTITIONING", "PARTITIONS", + "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", + "PLUGINS", "PORT", "PRECEDES", "PREPARE", + "PRESERVE", "PREV", "PROCESSLIST", + "PROFILE", "PROFILES", "PROXY", "QUERY", + "QUICK", "REBUILD", "RECOVER", "REDO_BUFFER_SIZE", + "REDUNDANT", "RELAY", "RELAY_LOG_FILE", + "RELAY_LOG_POS", "RELAYLOG", "REMOVE", + "REORGANIZE", "REPAIR", "REPLICATE_DO_DB", + "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", + "REPLICATE_IGNORE_TABLE", "REPLICATE_REWRITE_DB", + "REPLICATE_WILD_DO_TABLE", "REPLICATE_WILD_IGNORE_TABLE", + "REPLICATION", "RESET", "RESUME", "RETURNED_SQLSTATE", + "RETURNS", "ROLE", "ROLLBACK", "ROLLUP", + "ROTATE", "ROW", "ROWS", "ROW_FORMAT", + "SAVEPOINT", "SCHEDULE", "SECURITY", + "SERVER", "SESSION", "SHARE", "SHARED", + "SIGNED", "SIMPLE", "SLAVE", "SLOW", + "SNAPSHOT", "SOCKET", "SOME", "SONAME", + "SOUNDS", "SOURCE", "SQL_AFTER_GTIDS", + "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS", + "SQL_BUFFER_RESULT", "SQL_CACHE", "SQL_NO_CACHE", + "SQL_THREAD", "START", "STARTS", "STATS_AUTO_RECALC", + "STATS_PERSISTENT", "STATS_SAMPLE_PAGES", + "STATUS", "STOP", "STORAGE", "STORED", + "STRING", "SUBCLASS_ORIGIN", "SUBJECT", + "SUBPARTITION", "SUBPARTITIONS", "SUSPEND", + "SWAPS", "SWITCHES", "TABLE_NAME", + "TABLESPACE", "TEMPORARY", "TEMPTABLE", + "THAN", "TRADITIONAL", "TRANSACTION", + "TRANSACTIONAL", "TRIGGERS", "TRUNCATE", + "UNDEFINED", "UNDOFILE", "UNDO_BUFFER_SIZE", + "UNINSTALL", "UNKNOWN", "UNTIL", "UPGRADE", + "USER", "USE_FRM", "USER_RESOURCES", + "VALIDATION", "VALUE", "VARIABLES", + "VIEW", "VIRTUAL", "VISIBLE", "WAIT", + "WARNINGS", "WITHOUT", "WORK", "WRAPPER", + "X509", "XA", "XML", "EUR", "USA", + "JIS", "ISO", "INTERNAL", "QUARTER", + "MONTH", "DAY", "HOUR", "MINUTE", "WEEK", + "SECOND", "MICROSECOND", "TABLES", + "ROUTINE", "EXECUTE", "FILE", "PROCESS", + "RELOAD", "SHUTDOWN", "SUPER", "PRIVILEGES", + "APPLICATION_PASSWORD_ADMIN", "AUDIT_ADMIN", + "BACKUP_ADMIN", "BINLOG_ADMIN", "BINLOG_ENCRYPTION_ADMIN", + "CLONE_ADMIN", "CONNECTION_ADMIN", + "ENCRYPTION_KEY_ADMIN", "FIREWALL_ADMIN", + "FIREWALL_USER", "GROUP_REPLICATION_ADMIN", + "INNODB_REDO_LOG_ARCHIVE", "NDB_STORED_USER", + "PERSIST_RO_VARIABLES_ADMIN", "REPLICATION_APPLIER", + "REPLICATION_SLAVE_ADMIN", "RESOURCE_GROUP_ADMIN", + "RESOURCE_GROUP_USER", "ROLE_ADMIN", + "SESSION_VARIABLES_ADMIN", "SET_USER_ID", + "SHOW_ROUTINE", "SYSTEM_VARIABLES_ADMIN", + "TABLE_ENCRYPTION_ADMIN", "VERSION_TOKEN_ADMIN", + "XA_RECOVER_ADMIN", "ARMSCII8", "ASCII", + "BIG5", "CP1250", "CP1251", "CP1256", + "CP1257", "CP850", "CP852", "CP866", + "CP932", "DEC8", "EUCJPMS", "EUCKR", + "GB2312", "GBK", "GEOSTD8", "GREEK", + "HEBREW", "HP8", "KEYBCS2", "KOI8R", + "KOI8U", "LATIN1", "LATIN2", "LATIN5", + "LATIN7", "MACCE", "MACROMAN", "SJIS", + "SWE7", "TIS620", "UCS2", "UJIS", "UTF16", + "UTF16LE", "UTF32", "UTF8", "UTF8MB3", + "UTF8MB4", "ARCHIVE", "BLACKHOLE", + "CSV", "FEDERATED", "INNODB", "MEMORY", + "MRG_MYISAM", "MYISAM", "NDB", "NDBCLUSTER", + "PERFORMANCE_SCHEMA", "TOKUDB", "REPEATABLE", + "COMMITTED", "UNCOMMITTED", "SERIALIZABLE", + "GEOMETRYCOLLECTION", "GEOMCOLLECTION", + "GEOMETRY", "LINESTRING", "MULTILINESTRING", + "MULTIPOINT", "MULTIPOLYGON", "POINT", + "POLYGON", "ABS", "ACOS", "ADDDATE", + "ADDTIME", "AES_DECRYPT", "AES_ENCRYPT", + "AREA", "ASBINARY", "ASIN", "ASTEXT", + "ASWKB", "ASWKT", "ASYMMETRIC_DECRYPT", + "ASYMMETRIC_DERIVE", "ASYMMETRIC_ENCRYPT", + "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", + "ATAN", "ATAN2", "BENCHMARK", "BIN", + "BIT_COUNT", "BIT_LENGTH", "BUFFER", + "CATALOG_NAME", "CEIL", "CEILING", + "CENTROID", "CHARACTER_LENGTH", "CHARSET", + "CHAR_LENGTH", "COERCIBILITY", "COLLATION", + "COMPRESS", "CONCAT", "CONCAT_WS", + "CONNECTION_ID", "CONV", "CONVERT_TZ", + "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", + "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", + "CREATE_DIGEST", "CROSSES", "DATEDIFF", + "DATE_FORMAT", "DAYNAME", "DAYOFMONTH", + "DAYOFWEEK", "DAYOFYEAR", "DECODE", + "DEGREES", "DES_DECRYPT", "DES_ENCRYPT", + "DIMENSION", "DISJOINT", "ELT", "ENCODE", + "ENCRYPT", "ENDPOINT", "ENVELOPE", + "EQUALS", "EXP", "EXPORT_SET", "EXTERIORRING", + "EXTRACTVALUE", "FIELD", "FIND_IN_SET", + "FLOOR", "FORMAT", "FOUND_ROWS", "FROM_BASE64", + "FROM_DAYS", "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", + "GEOMCOLLFROMWKB", "GEOMETRYCOLLECTIONFROMTEXT", + "GEOMETRYCOLLECTIONFROMWKB", "GEOMETRYFROMTEXT", + "GEOMETRYFROMWKB", "GEOMETRYN", "GEOMETRYTYPE", + "GEOMFROMTEXT", "GEOMFROMWKB", "GET_FORMAT", + "GET_LOCK", "GLENGTH", "GREATEST", + "GTID_SUBSET", "GTID_SUBTRACT", "HEX", + "IFNULL", "INET6_ATON", "INET6_NTOA", + "INET_ATON", "INET_NTOA", "INSTR", + "INTERIORRINGN", "INTERSECTS", "ISCLOSED", + "ISEMPTY", "ISNULL", "ISSIMPLE", "IS_FREE_LOCK", + "IS_IPV4", "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", + "IS_IPV6", "IS_USED_LOCK", "LAST_INSERT_ID", + "LCASE", "LEAST", "LENGTH", "LINEFROMTEXT", + "LINEFROMWKB", "LINESTRINGFROMTEXT", + "LINESTRINGFROMWKB", "LN", "LOAD_FILE", + "LOCATE", "LOG", "LOG10", "LOG2", "LOWER", + "LPAD", "LTRIM", "MAKEDATE", "MAKETIME", + "MAKE_SET", "MASTER_POS_WAIT", "MBRCONTAINS", + "MBRDISJOINT", "MBREQUAL", "MBRINTERSECTS", + "MBROVERLAPS", "MBRTOUCHES", "MBRWITHIN", + "MD5", "MLINEFROMTEXT", "MLINEFROMWKB", + "MONTHNAME", "MPOINTFROMTEXT", "MPOINTFROMWKB", + "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", + "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", + "MULTIPOINTFROMWKB", "MULTIPOLYGONFROMTEXT", + "MULTIPOLYGONFROMWKB", "NAME_CONST", + "NULLIF", "NUMGEOMETRIES", "NUMINTERIORRINGS", + "NUMPOINTS", "OCT", "OCTET_LENGTH", + "ORD", "OVERLAPS", "PERIOD_ADD", "PERIOD_DIFF", + "PI", "POINTFROMTEXT", "POINTFROMWKB", + "POINTN", "POLYFROMTEXT", "POLYFROMWKB", + "POLYGONFROMTEXT", "POLYGONFROMWKB", + "POW", "POWER", "QUOTE", "RADIANS", + "RAND", "RANDOM_BYTES", "RELEASE_LOCK", + "REVERSE", "ROUND", "ROW_COUNT", "RPAD", + "RTRIM", "SEC_TO_TIME", "SESSION_USER", + "SHA", "SHA1", "SHA2", "SCHEMA_NAME", + "SIGN", "SIN", "SLEEP", "SOUNDEX", + "SQL_THREAD_WAIT_AFTER_GTIDS", "SQRT", + "SRID", "STARTPOINT", "STRCMP", "STR_TO_DATE", + "ST_AREA", "ST_ASBINARY", "ST_ASTEXT", + "ST_ASWKB", "ST_ASWKT", "ST_BUFFER", + "ST_CENTROID", "ST_CONTAINS", "ST_CROSSES", + "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", + "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", + "ST_EQUALS", "ST_EXTERIORRING", "ST_GEOMCOLLFROMTEXT", + "ST_GEOMCOLLFROMTXT", "ST_GEOMCOLLFROMWKB", + "ST_GEOMETRYCOLLECTIONFROMTEXT", "ST_GEOMETRYCOLLECTIONFROMWKB", + "ST_GEOMETRYFROMTEXT", "ST_GEOMETRYFROMWKB", + "ST_GEOMETRYN", "ST_GEOMETRYTYPE", + "ST_GEOMFROMTEXT", "ST_GEOMFROMWKB", + "ST_INTERIORRINGN", "ST_INTERSECTION", + "ST_INTERSECTS", "ST_ISCLOSED", "ST_ISEMPTY", + "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", + "ST_LINESTRINGFROMTEXT", "ST_LINESTRINGFROMWKB", + "ST_NUMGEOMETRIES", "ST_NUMINTERIORRING", + "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", + "ST_OVERLAPS", "ST_POINTFROMTEXT", + "ST_POINTFROMWKB", "ST_POINTN", "ST_POLYFROMTEXT", + "ST_POLYFROMWKB", "ST_POLYGONFROMTEXT", + "ST_POLYGONFROMWKB", "ST_SRID", "ST_STARTPOINT", + "ST_SYMDIFFERENCE", "ST_TOUCHES", "ST_UNION", + "ST_WITHIN", "ST_X", "ST_Y", "SUBDATE", + "SUBSTRING_INDEX", "SUBTIME", "SYSTEM_USER", + "TAN", "TIMEDIFF", "TIMESTAMPADD", + "TIMESTAMPDIFF", "TIME_FORMAT", "TIME_TO_SEC", + "TOUCHES", "TO_BASE64", "TO_DAYS", + "TO_SECONDS", "UCASE", "UNCOMPRESS", + "UNCOMPRESSED_LENGTH", "UNHEX", "UNIX_TIMESTAMP", + "UPDATEXML", "UPPER", "UUID", "UUID_SHORT", + "VALIDATE_PASSWORD_STRENGTH", "VERSION", + "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", + "WEEKDAY", "WEEKOFYEAR", "WEIGHT_STRING", + "WITHIN", "YEARWEEK", "Y_FUNCTION", + "X_FUNCTION", "VAR_ASSIGN", "PLUS_ASSIGN", + "MINUS_ASSIGN", "MULT_ASSIGN", "DIV_ASSIGN", + "MOD_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", + "OR_ASSIGN", "STAR", "DIVIDE", "MODULE", + "PLUS", "MINUSMINUS", "MINUS", "DIV", + "MOD", "EQUAL_SYMBOL", "GREATER_SYMBOL", + "LESS_SYMBOL", "EXCLAMATION_SYMBOL", + "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", + "BIT_XOR_OP", "DOT", "LR_BRACKET", + "RR_BRACKET", "COMMA", "SEMI", "AT_SIGN", + "ZERO_DECIMAL", "ONE_DECIMAL", "TWO_DECIMAL", + "SINGLE_QUOTE_SYMB", "DOUBLE_QUOTE_SYMB", + "REVERSE_QUOTE_SYMB", "COLON_SYMB", + "CHARSET_REVERSE_QOUTE_STRING", "FILESIZE_LITERAL", + "START_NATIONAL_STRING_LITERAL", "STRING_LITERAL", + "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", + "REAL_LITERAL", "NULL_SPEC_LITERAL", + "BIT_STRING", "STRING_CHARSET_NAME", + "DOT_ID", "ID", "REVERSE_QUOTE_ID", + "STRING_USER_NAME", "LOCAL_ID", "GLOBAL_ID", + "ERROR_RECONGNIGION" ]; + +SqlLexer.prototype.ruleNames = [ "SPACE", "SPEC_MYSQL_COMMENT", "COMMENT_INPUT", + "LINE_COMMENT", "ADD", "ALL", "ALTER", + "ALWAYS", "ANALYZE", "AND", "AS", "ASC", + "BEFORE", "BETWEEN", "BOTH", "BY", "CALL", + "CASCADE", "CASE", "CAST", "CHANGE", "CHARACTER", + "CHECK", "COLLATE", "COLUMN", "CONDITION", + "CONSTRAINT", "CONTINUE", "CONVERT", "CREATE", + "CROSS", "CURRENT", "CURRENT_USER", "CURSOR", + "DATABASE", "DATABASES", "DECLARE", "DEFAULT", + "DELAYED", "DELETE", "DESC", "DESCRIBE", + "DETERMINISTIC", "DIAGNOSTICS", "DISTINCT", + "DISTINCTROW", "DROP", "EACH", "ELSE", + "ELSEIF", "ENCLOSED", "ESCAPED", "EXISTS", + "EXIT", "EXPLAIN", "FALSE", "FETCH", "FOR", + "FORCE", "FOREIGN", "FROM", "FULLTEXT", + "GENERATED", "GET", "GRANT", "GROUP", "HAVING", + "HIGH_PRIORITY", "IF", "IGNORE", "IN", + "INDEX", "INFILE", "INNER", "INOUT", "INSERT", + "INTERVAL", "INTO", "IS", "ITERATE", "JOIN", + "KEY", "KEYS", "KILL", "LEADING", "LEAVE", + "LEFT", "LIKE", "LIMIT", "LINEAR", "LINES", + "LOAD", "LOCK", "LOOP", "LOW_PRIORITY", + "MASTER_BIND", "MASTER_SSL_VERIFY_SERVER_CERT", + "MATCH", "MAXVALUE", "MODIFIES", "NATURAL", + "NOT", "NO_WRITE_TO_BINLOG", "NULL_LITERAL", + "NUMBER", "ON", "OPTIMIZE", "OPTION", "OPTIONALLY", + "OR", "ORDER", "OUT", "OUTER", "OUTFILE", + "PARTITION", "PRIMARY", "PROCEDURE", "PURGE", + "RANGE", "READ", "READS", "REFERENCES", + "REGEXP", "RELEASE", "RENAME", "REPEAT", + "REPLACE", "REQUIRE", "RESIGNAL", "RESTRICT", + "RETURN", "REVOKE", "RIGHT", "RLIKE", "SCHEMA", + "SCHEMAS", "SELECT", "SET", "SEPARATOR", + "SHOW", "SIGNAL", "SPATIAL", "SQL", "SQLEXCEPTION", + "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", + "SQL_CALC_FOUND_ROWS", "SQL_SMALL_RESULT", + "SSL", "STACKED", "STARTING", "STRAIGHT_JOIN", + "TABLE", "TERMINATED", "THEN", "TO", "TRAILING", + "TRIGGER", "TRUE", "UNDO", "UNION", "UNIQUE", + "UNLOCK", "UNSIGNED", "UPDATE", "USAGE", + "USE", "USING", "VALUES", "WHEN", "WHERE", + "WHILE", "WITH", "WRITE", "XOR", "ZEROFILL", + "TINYINT", "SMALLINT", "MEDIUMINT", "MIDDLEINT", + "INT", "INT1", "INT2", "INT3", "INT4", + "INT8", "INTEGER", "BIGINT", "REAL", "DOUBLE", + "PRECISION", "FLOAT", "FLOAT4", "FLOAT8", + "DECIMAL", "DEC", "NUMERIC", "DATE", "TIME", + "TIMESTAMP", "DATETIME", "YEAR", "CHAR", + "VARCHAR", "NVARCHAR", "NATIONAL", "BINARY", + "VARBINARY", "TINYBLOB", "BLOB", "MEDIUMBLOB", + "LONG", "LONGBLOB", "TINYTEXT", "TEXT", + "MEDIUMTEXT", "LONGTEXT", "ENUM", "VARYING", + "SERIAL", "YEAR_MONTH", "DAY_HOUR", "DAY_MINUTE", + "DAY_SECOND", "HOUR_MINUTE", "HOUR_SECOND", + "MINUTE_SECOND", "SECOND_MICROSECOND", + "MINUTE_MICROSECOND", "HOUR_MICROSECOND", + "DAY_MICROSECOND", "JSON_VALID", "JSON_SCHEMA_VALID", + "AVG", "BIT_AND", "BIT_OR", "BIT_XOR", + "COUNT", "GROUP_CONCAT", "MAX", "MIN", + "STD", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", + "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", + "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", + "LOCALTIME", "CURDATE", "CURTIME", "DATE_ADD", + "DATE_SUB", "EXTRACT", "LOCALTIMESTAMP", + "NOW", "POSITION", "SUBSTR", "SUBSTRING", + "SYSDATE", "TRIM", "UTC_DATE", "UTC_TIME", + "UTC_TIMESTAMP", "ACCOUNT", "ACTION", "AFTER", + "AGGREGATE", "ALGORITHM", "ANY", "AT", + "AUTHORS", "AUTOCOMMIT", "AUTOEXTEND_SIZE", + "AUTO_INCREMENT", "AVG_ROW_LENGTH", "BEGIN", + "BINLOG", "BIT", "BLOCK", "BOOL", "BOOLEAN", + "BTREE", "CACHE", "CASCADED", "CHAIN", + "CHANGED", "CHANNEL", "CHECKSUM", "PAGE_CHECKSUM", + "CIPHER", "CLASS_ORIGIN", "CLIENT", "CLOSE", + "COALESCE", "CODE", "COLUMNS", "COLUMN_FORMAT", + "COLUMN_NAME", "COMMENT", "COMMIT", "COMPACT", + "COMPLETION", "COMPRESSED", "COMPRESSION", + "CONCURRENT", "CONNECTION", "CONSISTENT", + "CONSTRAINT_CATALOG", "CONSTRAINT_SCHEMA", + "CONSTRAINT_NAME", "CONTAINS", "CONTEXT", + "CONTRIBUTORS", "COPY", "CPU", "CURSOR_NAME", + "DATA", "DATAFILE", "DEALLOCATE", "DEFAULT_AUTH", + "DEFINER", "DELAY_KEY_WRITE", "DES_KEY_FILE", + "DIRECTORY", "DISABLE", "DISCARD", "DISK", + "DO", "DUMPFILE", "DUPLICATE", "DYNAMIC", + "ENABLE", "ENCRYPTION", "END", "ENDS", + "ENGINE", "ENGINES", "ERROR", "ERRORS", + "ESCAPE", "EVEN", "EVENT", "EVENTS", "EVERY", + "EXCHANGE", "EXCLUSIVE", "EXPIRE", "EXPORT", + "EXTENDED", "EXTENT_SIZE", "FAST", "FAULTS", + "FIELDS", "FILE_BLOCK_SIZE", "FILTER", + "FIRST", "FIXED", "FLUSH", "FOLLOWS", "FOUND", + "FULL", "FUNCTION", "GENERAL", "GLOBAL", + "GRANTS", "GROUP_REPLICATION", "HANDLER", + "HASH", "HELP", "HOST", "HOSTS", "IDENTIFIED", + "IGNORE_SERVER_IDS", "IMPORT", "INDEXES", + "INITIAL_SIZE", "INPLACE", "INSERT_METHOD", + "INSTALL", "INSTANCE", "INVISIBLE", "INVOKER", + "IO", "IO_THREAD", "IPC", "ISOLATION", + "ISSUER", "JSON", "KEY_BLOCK_SIZE", "LANGUAGE", + "LAST", "LEAVES", "LESS", "LEVEL", "LIST", + "LOCAL", "LOGFILE", "LOGS", "MASTER", "MASTER_AUTO_POSITION", + "MASTER_CONNECT_RETRY", "MASTER_DELAY", + "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", + "MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", + "MASTER_PORT", "MASTER_RETRY_COUNT", "MASTER_SSL", + "MASTER_SSL_CA", "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", + "MASTER_SSL_CIPHER", "MASTER_SSL_CRL", + "MASTER_SSL_CRLPATH", "MASTER_SSL_KEY", + "MASTER_TLS_VERSION", "MASTER_USER", "MAX_CONNECTIONS_PER_HOUR", + "MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SIZE", + "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS", + "MEDIUM", "MERGE", "MESSAGE_TEXT", "MID", + "MIGRATE", "MIN_ROWS", "MODE", "MODIFY", + "MUTEX", "MYSQL", "MYSQL_ERRNO", "NAME", + "NAMES", "NCHAR", "NEVER", "NEXT", "NO", + "NODEGROUP", "NONE", "OFFLINE", "OFFSET", + "OJ", "OLD_PASSWORD", "ONE", "ONLINE", + "ONLY", "OPEN", "OPTIMIZER_COSTS", "OPTIONS", + "OWNER", "PACK_KEYS", "PAGE", "PARSER", + "PARTIAL", "PARTITIONING", "PARTITIONS", + "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", + "PLUGINS", "PORT", "PRECEDES", "PREPARE", + "PRESERVE", "PREV", "PROCESSLIST", "PROFILE", + "PROFILES", "PROXY", "QUERY", "QUICK", + "REBUILD", "RECOVER", "REDO_BUFFER_SIZE", + "REDUNDANT", "RELAY", "RELAY_LOG_FILE", + "RELAY_LOG_POS", "RELAYLOG", "REMOVE", + "REORGANIZE", "REPAIR", "REPLICATE_DO_DB", + "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", + "REPLICATE_IGNORE_TABLE", "REPLICATE_REWRITE_DB", + "REPLICATE_WILD_DO_TABLE", "REPLICATE_WILD_IGNORE_TABLE", + "REPLICATION", "RESET", "RESUME", "RETURNED_SQLSTATE", + "RETURNS", "ROLE", "ROLLBACK", "ROLLUP", + "ROTATE", "ROW", "ROWS", "ROW_FORMAT", + "SAVEPOINT", "SCHEDULE", "SECURITY", "SERVER", + "SESSION", "SHARE", "SHARED", "SIGNED", + "SIMPLE", "SLAVE", "SLOW", "SNAPSHOT", + "SOCKET", "SOME", "SONAME", "SOUNDS", "SOURCE", + "SQL_AFTER_GTIDS", "SQL_AFTER_MTS_GAPS", + "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", + "SQL_CACHE", "SQL_NO_CACHE", "SQL_THREAD", + "START", "STARTS", "STATS_AUTO_RECALC", + "STATS_PERSISTENT", "STATS_SAMPLE_PAGES", + "STATUS", "STOP", "STORAGE", "STORED", + "STRING", "SUBCLASS_ORIGIN", "SUBJECT", + "SUBPARTITION", "SUBPARTITIONS", "SUSPEND", + "SWAPS", "SWITCHES", "TABLE_NAME", "TABLESPACE", + "TEMPORARY", "TEMPTABLE", "THAN", "TRADITIONAL", + "TRANSACTION", "TRANSACTIONAL", "TRIGGERS", + "TRUNCATE", "UNDEFINED", "UNDOFILE", "UNDO_BUFFER_SIZE", + "UNINSTALL", "UNKNOWN", "UNTIL", "UPGRADE", + "USER", "USE_FRM", "USER_RESOURCES", "VALIDATION", + "VALUE", "VARIABLES", "VIEW", "VIRTUAL", + "VISIBLE", "WAIT", "WARNINGS", "WITHOUT", + "WORK", "WRAPPER", "X509", "XA", "XML", + "EUR", "USA", "JIS", "ISO", "INTERNAL", + "QUARTER", "MONTH", "DAY", "HOUR", "MINUTE", + "WEEK", "SECOND", "MICROSECOND", "TABLES", + "ROUTINE", "EXECUTE", "FILE", "PROCESS", + "RELOAD", "SHUTDOWN", "SUPER", "PRIVILEGES", + "APPLICATION_PASSWORD_ADMIN", "AUDIT_ADMIN", + "BACKUP_ADMIN", "BINLOG_ADMIN", "BINLOG_ENCRYPTION_ADMIN", + "CLONE_ADMIN", "CONNECTION_ADMIN", "ENCRYPTION_KEY_ADMIN", + "FIREWALL_ADMIN", "FIREWALL_USER", "GROUP_REPLICATION_ADMIN", + "INNODB_REDO_LOG_ARCHIVE", "NDB_STORED_USER", + "PERSIST_RO_VARIABLES_ADMIN", "REPLICATION_APPLIER", + "REPLICATION_SLAVE_ADMIN", "RESOURCE_GROUP_ADMIN", + "RESOURCE_GROUP_USER", "ROLE_ADMIN", "SESSION_VARIABLES_ADMIN", + "SET_USER_ID", "SHOW_ROUTINE", "SYSTEM_VARIABLES_ADMIN", + "TABLE_ENCRYPTION_ADMIN", "VERSION_TOKEN_ADMIN", + "XA_RECOVER_ADMIN", "ARMSCII8", "ASCII", + "BIG5", "CP1250", "CP1251", "CP1256", "CP1257", + "CP850", "CP852", "CP866", "CP932", "DEC8", + "EUCJPMS", "EUCKR", "GB2312", "GBK", "GEOSTD8", + "GREEK", "HEBREW", "HP8", "KEYBCS2", "KOI8R", + "KOI8U", "LATIN1", "LATIN2", "LATIN5", + "LATIN7", "MACCE", "MACROMAN", "SJIS", + "SWE7", "TIS620", "UCS2", "UJIS", "UTF16", + "UTF16LE", "UTF32", "UTF8", "UTF8MB3", + "UTF8MB4", "ARCHIVE", "BLACKHOLE", "CSV", + "FEDERATED", "INNODB", "MEMORY", "MRG_MYISAM", + "MYISAM", "NDB", "NDBCLUSTER", "PERFORMANCE_SCHEMA", + "TOKUDB", "REPEATABLE", "COMMITTED", "UNCOMMITTED", + "SERIALIZABLE", "GEOMETRYCOLLECTION", "GEOMCOLLECTION", + "GEOMETRY", "LINESTRING", "MULTILINESTRING", + "MULTIPOINT", "MULTIPOLYGON", "POINT", + "POLYGON", "ABS", "ACOS", "ADDDATE", "ADDTIME", + "AES_DECRYPT", "AES_ENCRYPT", "AREA", "ASBINARY", + "ASIN", "ASTEXT", "ASWKB", "ASWKT", "ASYMMETRIC_DECRYPT", + "ASYMMETRIC_DERIVE", "ASYMMETRIC_ENCRYPT", + "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", + "ATAN", "ATAN2", "BENCHMARK", "BIN", "BIT_COUNT", + "BIT_LENGTH", "BUFFER", "CATALOG_NAME", + "CEIL", "CEILING", "CENTROID", "CHARACTER_LENGTH", + "CHARSET", "CHAR_LENGTH", "COERCIBILITY", + "COLLATION", "COMPRESS", "CONCAT", "CONCAT_WS", + "CONNECTION_ID", "CONV", "CONVERT_TZ", + "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", + "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", + "CREATE_DIGEST", "CROSSES", "DATEDIFF", + "DATE_FORMAT", "DAYNAME", "DAYOFMONTH", + "DAYOFWEEK", "DAYOFYEAR", "DECODE", "DEGREES", + "DES_DECRYPT", "DES_ENCRYPT", "DIMENSION", + "DISJOINT", "ELT", "ENCODE", "ENCRYPT", + "ENDPOINT", "ENVELOPE", "EQUALS", "EXP", + "EXPORT_SET", "EXTERIORRING", "EXTRACTVALUE", + "FIELD", "FIND_IN_SET", "FLOOR", "FORMAT", + "FOUND_ROWS", "FROM_BASE64", "FROM_DAYS", + "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", "GEOMCOLLFROMWKB", + "GEOMETRYCOLLECTIONFROMTEXT", "GEOMETRYCOLLECTIONFROMWKB", + "GEOMETRYFROMTEXT", "GEOMETRYFROMWKB", + "GEOMETRYN", "GEOMETRYTYPE", "GEOMFROMTEXT", + "GEOMFROMWKB", "GET_FORMAT", "GET_LOCK", + "GLENGTH", "GREATEST", "GTID_SUBSET", "GTID_SUBTRACT", + "HEX", "IFNULL", "INET6_ATON", "INET6_NTOA", + "INET_ATON", "INET_NTOA", "INSTR", "INTERIORRINGN", + "INTERSECTS", "ISCLOSED", "ISEMPTY", "ISNULL", + "ISSIMPLE", "IS_FREE_LOCK", "IS_IPV4", + "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", "IS_IPV6", + "IS_USED_LOCK", "LAST_INSERT_ID", "LCASE", + "LEAST", "LENGTH", "LINEFROMTEXT", "LINEFROMWKB", + "LINESTRINGFROMTEXT", "LINESTRINGFROMWKB", + "LN", "LOAD_FILE", "LOCATE", "LOG", "LOG10", + "LOG2", "LOWER", "LPAD", "LTRIM", "MAKEDATE", + "MAKETIME", "MAKE_SET", "MASTER_POS_WAIT", + "MBRCONTAINS", "MBRDISJOINT", "MBREQUAL", + "MBRINTERSECTS", "MBROVERLAPS", "MBRTOUCHES", + "MBRWITHIN", "MD5", "MLINEFROMTEXT", "MLINEFROMWKB", + "MONTHNAME", "MPOINTFROMTEXT", "MPOINTFROMWKB", + "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", + "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", + "MULTIPOINTFROMWKB", "MULTIPOLYGONFROMTEXT", + "MULTIPOLYGONFROMWKB", "NAME_CONST", "NULLIF", + "NUMGEOMETRIES", "NUMINTERIORRINGS", "NUMPOINTS", + "OCT", "OCTET_LENGTH", "ORD", "OVERLAPS", + "PERIOD_ADD", "PERIOD_DIFF", "PI", "POINTFROMTEXT", + "POINTFROMWKB", "POINTN", "POLYFROMTEXT", + "POLYFROMWKB", "POLYGONFROMTEXT", "POLYGONFROMWKB", + "POW", "POWER", "QUOTE", "RADIANS", "RAND", + "RANDOM_BYTES", "RELEASE_LOCK", "REVERSE", + "ROUND", "ROW_COUNT", "RPAD", "RTRIM", + "SEC_TO_TIME", "SESSION_USER", "SHA", "SHA1", + "SHA2", "SCHEMA_NAME", "SIGN", "SIN", "SLEEP", + "SOUNDEX", "SQL_THREAD_WAIT_AFTER_GTIDS", + "SQRT", "SRID", "STARTPOINT", "STRCMP", + "STR_TO_DATE", "ST_AREA", "ST_ASBINARY", + "ST_ASTEXT", "ST_ASWKB", "ST_ASWKT", "ST_BUFFER", + "ST_CENTROID", "ST_CONTAINS", "ST_CROSSES", + "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", + "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", + "ST_EQUALS", "ST_EXTERIORRING", "ST_GEOMCOLLFROMTEXT", + "ST_GEOMCOLLFROMTXT", "ST_GEOMCOLLFROMWKB", + "ST_GEOMETRYCOLLECTIONFROMTEXT", "ST_GEOMETRYCOLLECTIONFROMWKB", + "ST_GEOMETRYFROMTEXT", "ST_GEOMETRYFROMWKB", + "ST_GEOMETRYN", "ST_GEOMETRYTYPE", "ST_GEOMFROMTEXT", + "ST_GEOMFROMWKB", "ST_INTERIORRINGN", "ST_INTERSECTION", + "ST_INTERSECTS", "ST_ISCLOSED", "ST_ISEMPTY", + "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", + "ST_LINESTRINGFROMTEXT", "ST_LINESTRINGFROMWKB", + "ST_NUMGEOMETRIES", "ST_NUMINTERIORRING", + "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", + "ST_OVERLAPS", "ST_POINTFROMTEXT", "ST_POINTFROMWKB", + "ST_POINTN", "ST_POLYFROMTEXT", "ST_POLYFROMWKB", + "ST_POLYGONFROMTEXT", "ST_POLYGONFROMWKB", + "ST_SRID", "ST_STARTPOINT", "ST_SYMDIFFERENCE", + "ST_TOUCHES", "ST_UNION", "ST_WITHIN", + "ST_X", "ST_Y", "SUBDATE", "SUBSTRING_INDEX", + "SUBTIME", "SYSTEM_USER", "TAN", "TIMEDIFF", + "TIMESTAMPADD", "TIMESTAMPDIFF", "TIME_FORMAT", + "TIME_TO_SEC", "TOUCHES", "TO_BASE64", + "TO_DAYS", "TO_SECONDS", "UCASE", "UNCOMPRESS", + "UNCOMPRESSED_LENGTH", "UNHEX", "UNIX_TIMESTAMP", + "UPDATEXML", "UPPER", "UUID", "UUID_SHORT", + "VALIDATE_PASSWORD_STRENGTH", "VERSION", + "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", "WEEKDAY", + "WEEKOFYEAR", "WEIGHT_STRING", "WITHIN", + "YEARWEEK", "Y_FUNCTION", "X_FUNCTION", + "VAR_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN", + "MULT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", + "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", + "STAR", "DIVIDE", "MODULE", "PLUS", "MINUSMINUS", + "MINUS", "DIV", "MOD", "EQUAL_SYMBOL", + "GREATER_SYMBOL", "LESS_SYMBOL", "EXCLAMATION_SYMBOL", + "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", + "BIT_XOR_OP", "DOT", "LR_BRACKET", "RR_BRACKET", + "COMMA", "SEMI", "AT_SIGN", "ZERO_DECIMAL", + "ONE_DECIMAL", "TWO_DECIMAL", "SINGLE_QUOTE_SYMB", + "DOUBLE_QUOTE_SYMB", "REVERSE_QUOTE_SYMB", + "COLON_SYMB", "QUOTE_SYMB", "CHARSET_REVERSE_QOUTE_STRING", + "FILESIZE_LITERAL", "START_NATIONAL_STRING_LITERAL", + "STRING_LITERAL", "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", + "REAL_LITERAL", "NULL_SPEC_LITERAL", "BIT_STRING", + "STRING_CHARSET_NAME", "DOT_ID", "ID", + "REVERSE_QUOTE_ID", "STRING_USER_NAME", + "LOCAL_ID", "GLOBAL_ID", "CHARSET_NAME", + "EXPONENT_NUM_PART", "ID_LITERAL", "DQUOTA_STRING", + "SQUOTA_STRING", "BQUOTA_STRING", "HEX_DIGIT", + "DEC_DIGIT", "BIT_STRING_L", "ERROR_RECONGNIGION" ]; + +SqlLexer.prototype.grammarFileName = "SqlLexer.g4"; + + +exports.SqlLexer = SqlLexer; + diff --git a/src/lib/generic/SqlLexer.tokens b/src/lib/generic/SqlLexer.tokens new file mode 100644 index 0000000..57b4669 --- /dev/null +++ b/src/lib/generic/SqlLexer.tokens @@ -0,0 +1,2074 @@ +SPACE=1 +SPEC_MYSQL_COMMENT=2 +COMMENT_INPUT=3 +LINE_COMMENT=4 +ADD=5 +ALL=6 +ALTER=7 +ALWAYS=8 +ANALYZE=9 +AND=10 +AS=11 +ASC=12 +BEFORE=13 +BETWEEN=14 +BOTH=15 +BY=16 +CALL=17 +CASCADE=18 +CASE=19 +CAST=20 +CHANGE=21 +CHARACTER=22 +CHECK=23 +COLLATE=24 +COLUMN=25 +CONDITION=26 +CONSTRAINT=27 +CONTINUE=28 +CONVERT=29 +CREATE=30 +CROSS=31 +CURRENT=32 +CURRENT_USER=33 +CURSOR=34 +DATABASE=35 +DATABASES=36 +DECLARE=37 +DEFAULT=38 +DELAYED=39 +DELETE=40 +DESC=41 +DESCRIBE=42 +DETERMINISTIC=43 +DIAGNOSTICS=44 +DISTINCT=45 +DISTINCTROW=46 +DROP=47 +EACH=48 +ELSE=49 +ELSEIF=50 +ENCLOSED=51 +ESCAPED=52 +EXISTS=53 +EXIT=54 +EXPLAIN=55 +FALSE=56 +FETCH=57 +FOR=58 +FORCE=59 +FOREIGN=60 +FROM=61 +FULLTEXT=62 +GENERATED=63 +GET=64 +GRANT=65 +GROUP=66 +HAVING=67 +HIGH_PRIORITY=68 +IF=69 +IGNORE=70 +IN=71 +INDEX=72 +INFILE=73 +INNER=74 +INOUT=75 +INSERT=76 +INTERVAL=77 +INTO=78 +IS=79 +ITERATE=80 +JOIN=81 +KEY=82 +KEYS=83 +KILL=84 +LEADING=85 +LEAVE=86 +LEFT=87 +LIKE=88 +LIMIT=89 +LINEAR=90 +LINES=91 +LOAD=92 +LOCK=93 +LOOP=94 +LOW_PRIORITY=95 +MASTER_BIND=96 +MASTER_SSL_VERIFY_SERVER_CERT=97 +MATCH=98 +MAXVALUE=99 +MODIFIES=100 +NATURAL=101 +NOT=102 +NO_WRITE_TO_BINLOG=103 +NULL_LITERAL=104 +NUMBER=105 +ON=106 +OPTIMIZE=107 +OPTION=108 +OPTIONALLY=109 +OR=110 +ORDER=111 +OUT=112 +OUTER=113 +OUTFILE=114 +PARTITION=115 +PRIMARY=116 +PROCEDURE=117 +PURGE=118 +RANGE=119 +READ=120 +READS=121 +REFERENCES=122 +REGEXP=123 +RELEASE=124 +RENAME=125 +REPEAT=126 +REPLACE=127 +REQUIRE=128 +RESIGNAL=129 +RESTRICT=130 +RETURN=131 +REVOKE=132 +RIGHT=133 +RLIKE=134 +SCHEMA=135 +SCHEMAS=136 +SELECT=137 +SET=138 +SEPARATOR=139 +SHOW=140 +SIGNAL=141 +SPATIAL=142 +SQL=143 +SQLEXCEPTION=144 +SQLSTATE=145 +SQLWARNING=146 +SQL_BIG_RESULT=147 +SQL_CALC_FOUND_ROWS=148 +SQL_SMALL_RESULT=149 +SSL=150 +STACKED=151 +STARTING=152 +STRAIGHT_JOIN=153 +TABLE=154 +TERMINATED=155 +THEN=156 +TO=157 +TRAILING=158 +TRIGGER=159 +TRUE=160 +UNDO=161 +UNION=162 +UNIQUE=163 +UNLOCK=164 +UNSIGNED=165 +UPDATE=166 +USAGE=167 +USE=168 +USING=169 +VALUES=170 +WHEN=171 +WHERE=172 +WHILE=173 +WITH=174 +WRITE=175 +XOR=176 +ZEROFILL=177 +TINYINT=178 +SMALLINT=179 +MEDIUMINT=180 +MIDDLEINT=181 +INT=182 +INT1=183 +INT2=184 +INT3=185 +INT4=186 +INT8=187 +INTEGER=188 +BIGINT=189 +REAL=190 +DOUBLE=191 +PRECISION=192 +FLOAT=193 +FLOAT4=194 +FLOAT8=195 +DECIMAL=196 +DEC=197 +NUMERIC=198 +DATE=199 +TIME=200 +TIMESTAMP=201 +DATETIME=202 +YEAR=203 +CHAR=204 +VARCHAR=205 +NVARCHAR=206 +NATIONAL=207 +BINARY=208 +VARBINARY=209 +TINYBLOB=210 +BLOB=211 +MEDIUMBLOB=212 +LONG=213 +LONGBLOB=214 +TINYTEXT=215 +TEXT=216 +MEDIUMTEXT=217 +LONGTEXT=218 +ENUM=219 +VARYING=220 +SERIAL=221 +YEAR_MONTH=222 +DAY_HOUR=223 +DAY_MINUTE=224 +DAY_SECOND=225 +HOUR_MINUTE=226 +HOUR_SECOND=227 +MINUTE_SECOND=228 +SECOND_MICROSECOND=229 +MINUTE_MICROSECOND=230 +HOUR_MICROSECOND=231 +DAY_MICROSECOND=232 +JSON_VALID=233 +JSON_SCHEMA_VALID=234 +AVG=235 +BIT_AND=236 +BIT_OR=237 +BIT_XOR=238 +COUNT=239 +GROUP_CONCAT=240 +MAX=241 +MIN=242 +STD=243 +STDDEV=244 +STDDEV_POP=245 +STDDEV_SAMP=246 +SUM=247 +VAR_POP=248 +VAR_SAMP=249 +VARIANCE=250 +CURRENT_DATE=251 +CURRENT_TIME=252 +CURRENT_TIMESTAMP=253 +LOCALTIME=254 +CURDATE=255 +CURTIME=256 +DATE_ADD=257 +DATE_SUB=258 +EXTRACT=259 +LOCALTIMESTAMP=260 +NOW=261 +POSITION=262 +SUBSTR=263 +SUBSTRING=264 +SYSDATE=265 +TRIM=266 +UTC_DATE=267 +UTC_TIME=268 +UTC_TIMESTAMP=269 +ACCOUNT=270 +ACTION=271 +AFTER=272 +AGGREGATE=273 +ALGORITHM=274 +ANY=275 +AT=276 +AUTHORS=277 +AUTOCOMMIT=278 +AUTOEXTEND_SIZE=279 +AUTO_INCREMENT=280 +AVG_ROW_LENGTH=281 +BEGIN=282 +BINLOG=283 +BIT=284 +BLOCK=285 +BOOL=286 +BOOLEAN=287 +BTREE=288 +CACHE=289 +CASCADED=290 +CHAIN=291 +CHANGED=292 +CHANNEL=293 +CHECKSUM=294 +PAGE_CHECKSUM=295 +CIPHER=296 +CLASS_ORIGIN=297 +CLIENT=298 +CLOSE=299 +COALESCE=300 +CODE=301 +COLUMNS=302 +COLUMN_FORMAT=303 +COLUMN_NAME=304 +COMMENT=305 +COMMIT=306 +COMPACT=307 +COMPLETION=308 +COMPRESSED=309 +COMPRESSION=310 +CONCURRENT=311 +CONNECTION=312 +CONSISTENT=313 +CONSTRAINT_CATALOG=314 +CONSTRAINT_SCHEMA=315 +CONSTRAINT_NAME=316 +CONTAINS=317 +CONTEXT=318 +CONTRIBUTORS=319 +COPY=320 +CPU=321 +CURSOR_NAME=322 +DATA=323 +DATAFILE=324 +DEALLOCATE=325 +DEFAULT_AUTH=326 +DEFINER=327 +DELAY_KEY_WRITE=328 +DES_KEY_FILE=329 +DIRECTORY=330 +DISABLE=331 +DISCARD=332 +DISK=333 +DO=334 +DUMPFILE=335 +DUPLICATE=336 +DYNAMIC=337 +ENABLE=338 +ENCRYPTION=339 +END=340 +ENDS=341 +ENGINE=342 +ENGINES=343 +ERROR=344 +ERRORS=345 +ESCAPE=346 +EVEN=347 +EVENT=348 +EVENTS=349 +EVERY=350 +EXCHANGE=351 +EXCLUSIVE=352 +EXPIRE=353 +EXPORT=354 +EXTENDED=355 +EXTENT_SIZE=356 +FAST=357 +FAULTS=358 +FIELDS=359 +FILE_BLOCK_SIZE=360 +FILTER=361 +FIRST=362 +FIXED=363 +FLUSH=364 +FOLLOWS=365 +FOUND=366 +FULL=367 +FUNCTION=368 +GENERAL=369 +GLOBAL=370 +GRANTS=371 +GROUP_REPLICATION=372 +HANDLER=373 +HASH=374 +HELP=375 +HOST=376 +HOSTS=377 +IDENTIFIED=378 +IGNORE_SERVER_IDS=379 +IMPORT=380 +INDEXES=381 +INITIAL_SIZE=382 +INPLACE=383 +INSERT_METHOD=384 +INSTALL=385 +INSTANCE=386 +INVISIBLE=387 +INVOKER=388 +IO=389 +IO_THREAD=390 +IPC=391 +ISOLATION=392 +ISSUER=393 +JSON=394 +KEY_BLOCK_SIZE=395 +LANGUAGE=396 +LAST=397 +LEAVES=398 +LESS=399 +LEVEL=400 +LIST=401 +LOCAL=402 +LOGFILE=403 +LOGS=404 +MASTER=405 +MASTER_AUTO_POSITION=406 +MASTER_CONNECT_RETRY=407 +MASTER_DELAY=408 +MASTER_HEARTBEAT_PERIOD=409 +MASTER_HOST=410 +MASTER_LOG_FILE=411 +MASTER_LOG_POS=412 +MASTER_PASSWORD=413 +MASTER_PORT=414 +MASTER_RETRY_COUNT=415 +MASTER_SSL=416 +MASTER_SSL_CA=417 +MASTER_SSL_CAPATH=418 +MASTER_SSL_CERT=419 +MASTER_SSL_CIPHER=420 +MASTER_SSL_CRL=421 +MASTER_SSL_CRLPATH=422 +MASTER_SSL_KEY=423 +MASTER_TLS_VERSION=424 +MASTER_USER=425 +MAX_CONNECTIONS_PER_HOUR=426 +MAX_QUERIES_PER_HOUR=427 +MAX_ROWS=428 +MAX_SIZE=429 +MAX_UPDATES_PER_HOUR=430 +MAX_USER_CONNECTIONS=431 +MEDIUM=432 +MERGE=433 +MESSAGE_TEXT=434 +MID=435 +MIGRATE=436 +MIN_ROWS=437 +MODE=438 +MODIFY=439 +MUTEX=440 +MYSQL=441 +MYSQL_ERRNO=442 +NAME=443 +NAMES=444 +NCHAR=445 +NEVER=446 +NEXT=447 +NO=448 +NODEGROUP=449 +NONE=450 +OFFLINE=451 +OFFSET=452 +OJ=453 +OLD_PASSWORD=454 +ONE=455 +ONLINE=456 +ONLY=457 +OPEN=458 +OPTIMIZER_COSTS=459 +OPTIONS=460 +OWNER=461 +PACK_KEYS=462 +PAGE=463 +PARSER=464 +PARTIAL=465 +PARTITIONING=466 +PARTITIONS=467 +PASSWORD=468 +PHASE=469 +PLUGIN=470 +PLUGIN_DIR=471 +PLUGINS=472 +PORT=473 +PRECEDES=474 +PREPARE=475 +PRESERVE=476 +PREV=477 +PROCESSLIST=478 +PROFILE=479 +PROFILES=480 +PROXY=481 +QUERY=482 +QUICK=483 +REBUILD=484 +RECOVER=485 +REDO_BUFFER_SIZE=486 +REDUNDANT=487 +RELAY=488 +RELAY_LOG_FILE=489 +RELAY_LOG_POS=490 +RELAYLOG=491 +REMOVE=492 +REORGANIZE=493 +REPAIR=494 +REPLICATE_DO_DB=495 +REPLICATE_DO_TABLE=496 +REPLICATE_IGNORE_DB=497 +REPLICATE_IGNORE_TABLE=498 +REPLICATE_REWRITE_DB=499 +REPLICATE_WILD_DO_TABLE=500 +REPLICATE_WILD_IGNORE_TABLE=501 +REPLICATION=502 +RESET=503 +RESUME=504 +RETURNED_SQLSTATE=505 +RETURNS=506 +ROLE=507 +ROLLBACK=508 +ROLLUP=509 +ROTATE=510 +ROW=511 +ROWS=512 +ROW_FORMAT=513 +SAVEPOINT=514 +SCHEDULE=515 +SECURITY=516 +SERVER=517 +SESSION=518 +SHARE=519 +SHARED=520 +SIGNED=521 +SIMPLE=522 +SLAVE=523 +SLOW=524 +SNAPSHOT=525 +SOCKET=526 +SOME=527 +SONAME=528 +SOUNDS=529 +SOURCE=530 +SQL_AFTER_GTIDS=531 +SQL_AFTER_MTS_GAPS=532 +SQL_BEFORE_GTIDS=533 +SQL_BUFFER_RESULT=534 +SQL_CACHE=535 +SQL_NO_CACHE=536 +SQL_THREAD=537 +START=538 +STARTS=539 +STATS_AUTO_RECALC=540 +STATS_PERSISTENT=541 +STATS_SAMPLE_PAGES=542 +STATUS=543 +STOP=544 +STORAGE=545 +STORED=546 +STRING=547 +SUBCLASS_ORIGIN=548 +SUBJECT=549 +SUBPARTITION=550 +SUBPARTITIONS=551 +SUSPEND=552 +SWAPS=553 +SWITCHES=554 +TABLE_NAME=555 +TABLESPACE=556 +TEMPORARY=557 +TEMPTABLE=558 +THAN=559 +TRADITIONAL=560 +TRANSACTION=561 +TRANSACTIONAL=562 +TRIGGERS=563 +TRUNCATE=564 +UNDEFINED=565 +UNDOFILE=566 +UNDO_BUFFER_SIZE=567 +UNINSTALL=568 +UNKNOWN=569 +UNTIL=570 +UPGRADE=571 +USER=572 +USE_FRM=573 +USER_RESOURCES=574 +VALIDATION=575 +VALUE=576 +VARIABLES=577 +VIEW=578 +VIRTUAL=579 +VISIBLE=580 +WAIT=581 +WARNINGS=582 +WITHOUT=583 +WORK=584 +WRAPPER=585 +X509=586 +XA=587 +XML=588 +EUR=589 +USA=590 +JIS=591 +ISO=592 +INTERNAL=593 +QUARTER=594 +MONTH=595 +DAY=596 +HOUR=597 +MINUTE=598 +WEEK=599 +SECOND=600 +MICROSECOND=601 +TABLES=602 +ROUTINE=603 +EXECUTE=604 +FILE=605 +PROCESS=606 +RELOAD=607 +SHUTDOWN=608 +SUPER=609 +PRIVILEGES=610 +APPLICATION_PASSWORD_ADMIN=611 +AUDIT_ADMIN=612 +BACKUP_ADMIN=613 +BINLOG_ADMIN=614 +BINLOG_ENCRYPTION_ADMIN=615 +CLONE_ADMIN=616 +CONNECTION_ADMIN=617 +ENCRYPTION_KEY_ADMIN=618 +FIREWALL_ADMIN=619 +FIREWALL_USER=620 +GROUP_REPLICATION_ADMIN=621 +INNODB_REDO_LOG_ARCHIVE=622 +NDB_STORED_USER=623 +PERSIST_RO_VARIABLES_ADMIN=624 +REPLICATION_APPLIER=625 +REPLICATION_SLAVE_ADMIN=626 +RESOURCE_GROUP_ADMIN=627 +RESOURCE_GROUP_USER=628 +ROLE_ADMIN=629 +SESSION_VARIABLES_ADMIN=630 +SET_USER_ID=631 +SHOW_ROUTINE=632 +SYSTEM_VARIABLES_ADMIN=633 +TABLE_ENCRYPTION_ADMIN=634 +VERSION_TOKEN_ADMIN=635 +XA_RECOVER_ADMIN=636 +ARMSCII8=637 +ASCII=638 +BIG5=639 +CP1250=640 +CP1251=641 +CP1256=642 +CP1257=643 +CP850=644 +CP852=645 +CP866=646 +CP932=647 +DEC8=648 +EUCJPMS=649 +EUCKR=650 +GB2312=651 +GBK=652 +GEOSTD8=653 +GREEK=654 +HEBREW=655 +HP8=656 +KEYBCS2=657 +KOI8R=658 +KOI8U=659 +LATIN1=660 +LATIN2=661 +LATIN5=662 +LATIN7=663 +MACCE=664 +MACROMAN=665 +SJIS=666 +SWE7=667 +TIS620=668 +UCS2=669 +UJIS=670 +UTF16=671 +UTF16LE=672 +UTF32=673 +UTF8=674 +UTF8MB3=675 +UTF8MB4=676 +ARCHIVE=677 +BLACKHOLE=678 +CSV=679 +FEDERATED=680 +INNODB=681 +MEMORY=682 +MRG_MYISAM=683 +MYISAM=684 +NDB=685 +NDBCLUSTER=686 +PERFORMANCE_SCHEMA=687 +TOKUDB=688 +REPEATABLE=689 +COMMITTED=690 +UNCOMMITTED=691 +SERIALIZABLE=692 +GEOMETRYCOLLECTION=693 +GEOMCOLLECTION=694 +GEOMETRY=695 +LINESTRING=696 +MULTILINESTRING=697 +MULTIPOINT=698 +MULTIPOLYGON=699 +POINT=700 +POLYGON=701 +ABS=702 +ACOS=703 +ADDDATE=704 +ADDTIME=705 +AES_DECRYPT=706 +AES_ENCRYPT=707 +AREA=708 +ASBINARY=709 +ASIN=710 +ASTEXT=711 +ASWKB=712 +ASWKT=713 +ASYMMETRIC_DECRYPT=714 +ASYMMETRIC_DERIVE=715 +ASYMMETRIC_ENCRYPT=716 +ASYMMETRIC_SIGN=717 +ASYMMETRIC_VERIFY=718 +ATAN=719 +ATAN2=720 +BENCHMARK=721 +BIN=722 +BIT_COUNT=723 +BIT_LENGTH=724 +BUFFER=725 +CATALOG_NAME=726 +CEIL=727 +CEILING=728 +CENTROID=729 +CHARACTER_LENGTH=730 +CHARSET=731 +CHAR_LENGTH=732 +COERCIBILITY=733 +COLLATION=734 +COMPRESS=735 +CONCAT=736 +CONCAT_WS=737 +CONNECTION_ID=738 +CONV=739 +CONVERT_TZ=740 +COS=741 +COT=742 +CRC32=743 +CREATE_ASYMMETRIC_PRIV_KEY=744 +CREATE_ASYMMETRIC_PUB_KEY=745 +CREATE_DH_PARAMETERS=746 +CREATE_DIGEST=747 +CROSSES=748 +DATEDIFF=749 +DATE_FORMAT=750 +DAYNAME=751 +DAYOFMONTH=752 +DAYOFWEEK=753 +DAYOFYEAR=754 +DECODE=755 +DEGREES=756 +DES_DECRYPT=757 +DES_ENCRYPT=758 +DIMENSION=759 +DISJOINT=760 +ELT=761 +ENCODE=762 +ENCRYPT=763 +ENDPOINT=764 +ENVELOPE=765 +EQUALS=766 +EXP=767 +EXPORT_SET=768 +EXTERIORRING=769 +EXTRACTVALUE=770 +FIELD=771 +FIND_IN_SET=772 +FLOOR=773 +FORMAT=774 +FOUND_ROWS=775 +FROM_BASE64=776 +FROM_DAYS=777 +FROM_UNIXTIME=778 +GEOMCOLLFROMTEXT=779 +GEOMCOLLFROMWKB=780 +GEOMETRYCOLLECTIONFROMTEXT=781 +GEOMETRYCOLLECTIONFROMWKB=782 +GEOMETRYFROMTEXT=783 +GEOMETRYFROMWKB=784 +GEOMETRYN=785 +GEOMETRYTYPE=786 +GEOMFROMTEXT=787 +GEOMFROMWKB=788 +GET_FORMAT=789 +GET_LOCK=790 +GLENGTH=791 +GREATEST=792 +GTID_SUBSET=793 +GTID_SUBTRACT=794 +HEX=795 +IFNULL=796 +INET6_ATON=797 +INET6_NTOA=798 +INET_ATON=799 +INET_NTOA=800 +INSTR=801 +INTERIORRINGN=802 +INTERSECTS=803 +ISCLOSED=804 +ISEMPTY=805 +ISNULL=806 +ISSIMPLE=807 +IS_FREE_LOCK=808 +IS_IPV4=809 +IS_IPV4_COMPAT=810 +IS_IPV4_MAPPED=811 +IS_IPV6=812 +IS_USED_LOCK=813 +LAST_INSERT_ID=814 +LCASE=815 +LEAST=816 +LENGTH=817 +LINEFROMTEXT=818 +LINEFROMWKB=819 +LINESTRINGFROMTEXT=820 +LINESTRINGFROMWKB=821 +LN=822 +LOAD_FILE=823 +LOCATE=824 +LOG=825 +LOG10=826 +LOG2=827 +LOWER=828 +LPAD=829 +LTRIM=830 +MAKEDATE=831 +MAKETIME=832 +MAKE_SET=833 +MASTER_POS_WAIT=834 +MBRCONTAINS=835 +MBRDISJOINT=836 +MBREQUAL=837 +MBRINTERSECTS=838 +MBROVERLAPS=839 +MBRTOUCHES=840 +MBRWITHIN=841 +MD5=842 +MLINEFROMTEXT=843 +MLINEFROMWKB=844 +MONTHNAME=845 +MPOINTFROMTEXT=846 +MPOINTFROMWKB=847 +MPOLYFROMTEXT=848 +MPOLYFROMWKB=849 +MULTILINESTRINGFROMTEXT=850 +MULTILINESTRINGFROMWKB=851 +MULTIPOINTFROMTEXT=852 +MULTIPOINTFROMWKB=853 +MULTIPOLYGONFROMTEXT=854 +MULTIPOLYGONFROMWKB=855 +NAME_CONST=856 +NULLIF=857 +NUMGEOMETRIES=858 +NUMINTERIORRINGS=859 +NUMPOINTS=860 +OCT=861 +OCTET_LENGTH=862 +ORD=863 +OVERLAPS=864 +PERIOD_ADD=865 +PERIOD_DIFF=866 +PI=867 +POINTFROMTEXT=868 +POINTFROMWKB=869 +POINTN=870 +POLYFROMTEXT=871 +POLYFROMWKB=872 +POLYGONFROMTEXT=873 +POLYGONFROMWKB=874 +POW=875 +POWER=876 +QUOTE=877 +RADIANS=878 +RAND=879 +RANDOM_BYTES=880 +RELEASE_LOCK=881 +REVERSE=882 +ROUND=883 +ROW_COUNT=884 +RPAD=885 +RTRIM=886 +SEC_TO_TIME=887 +SESSION_USER=888 +SHA=889 +SHA1=890 +SHA2=891 +SCHEMA_NAME=892 +SIGN=893 +SIN=894 +SLEEP=895 +SOUNDEX=896 +SQL_THREAD_WAIT_AFTER_GTIDS=897 +SQRT=898 +SRID=899 +STARTPOINT=900 +STRCMP=901 +STR_TO_DATE=902 +ST_AREA=903 +ST_ASBINARY=904 +ST_ASTEXT=905 +ST_ASWKB=906 +ST_ASWKT=907 +ST_BUFFER=908 +ST_CENTROID=909 +ST_CONTAINS=910 +ST_CROSSES=911 +ST_DIFFERENCE=912 +ST_DIMENSION=913 +ST_DISJOINT=914 +ST_DISTANCE=915 +ST_ENDPOINT=916 +ST_ENVELOPE=917 +ST_EQUALS=918 +ST_EXTERIORRING=919 +ST_GEOMCOLLFROMTEXT=920 +ST_GEOMCOLLFROMTXT=921 +ST_GEOMCOLLFROMWKB=922 +ST_GEOMETRYCOLLECTIONFROMTEXT=923 +ST_GEOMETRYCOLLECTIONFROMWKB=924 +ST_GEOMETRYFROMTEXT=925 +ST_GEOMETRYFROMWKB=926 +ST_GEOMETRYN=927 +ST_GEOMETRYTYPE=928 +ST_GEOMFROMTEXT=929 +ST_GEOMFROMWKB=930 +ST_INTERIORRINGN=931 +ST_INTERSECTION=932 +ST_INTERSECTS=933 +ST_ISCLOSED=934 +ST_ISEMPTY=935 +ST_ISSIMPLE=936 +ST_LINEFROMTEXT=937 +ST_LINEFROMWKB=938 +ST_LINESTRINGFROMTEXT=939 +ST_LINESTRINGFROMWKB=940 +ST_NUMGEOMETRIES=941 +ST_NUMINTERIORRING=942 +ST_NUMINTERIORRINGS=943 +ST_NUMPOINTS=944 +ST_OVERLAPS=945 +ST_POINTFROMTEXT=946 +ST_POINTFROMWKB=947 +ST_POINTN=948 +ST_POLYFROMTEXT=949 +ST_POLYFROMWKB=950 +ST_POLYGONFROMTEXT=951 +ST_POLYGONFROMWKB=952 +ST_SRID=953 +ST_STARTPOINT=954 +ST_SYMDIFFERENCE=955 +ST_TOUCHES=956 +ST_UNION=957 +ST_WITHIN=958 +ST_X=959 +ST_Y=960 +SUBDATE=961 +SUBSTRING_INDEX=962 +SUBTIME=963 +SYSTEM_USER=964 +TAN=965 +TIMEDIFF=966 +TIMESTAMPADD=967 +TIMESTAMPDIFF=968 +TIME_FORMAT=969 +TIME_TO_SEC=970 +TOUCHES=971 +TO_BASE64=972 +TO_DAYS=973 +TO_SECONDS=974 +UCASE=975 +UNCOMPRESS=976 +UNCOMPRESSED_LENGTH=977 +UNHEX=978 +UNIX_TIMESTAMP=979 +UPDATEXML=980 +UPPER=981 +UUID=982 +UUID_SHORT=983 +VALIDATE_PASSWORD_STRENGTH=984 +VERSION=985 +WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS=986 +WEEKDAY=987 +WEEKOFYEAR=988 +WEIGHT_STRING=989 +WITHIN=990 +YEARWEEK=991 +Y_FUNCTION=992 +X_FUNCTION=993 +VAR_ASSIGN=994 +PLUS_ASSIGN=995 +MINUS_ASSIGN=996 +MULT_ASSIGN=997 +DIV_ASSIGN=998 +MOD_ASSIGN=999 +AND_ASSIGN=1000 +XOR_ASSIGN=1001 +OR_ASSIGN=1002 +STAR=1003 +DIVIDE=1004 +MODULE=1005 +PLUS=1006 +MINUSMINUS=1007 +MINUS=1008 +DIV=1009 +MOD=1010 +EQUAL_SYMBOL=1011 +GREATER_SYMBOL=1012 +LESS_SYMBOL=1013 +EXCLAMATION_SYMBOL=1014 +BIT_NOT_OP=1015 +BIT_OR_OP=1016 +BIT_AND_OP=1017 +BIT_XOR_OP=1018 +DOT=1019 +LR_BRACKET=1020 +RR_BRACKET=1021 +COMMA=1022 +SEMI=1023 +AT_SIGN=1024 +ZERO_DECIMAL=1025 +ONE_DECIMAL=1026 +TWO_DECIMAL=1027 +SINGLE_QUOTE_SYMB=1028 +DOUBLE_QUOTE_SYMB=1029 +REVERSE_QUOTE_SYMB=1030 +COLON_SYMB=1031 +CHARSET_REVERSE_QOUTE_STRING=1032 +FILESIZE_LITERAL=1033 +START_NATIONAL_STRING_LITERAL=1034 +STRING_LITERAL=1035 +DECIMAL_LITERAL=1036 +HEXADECIMAL_LITERAL=1037 +REAL_LITERAL=1038 +NULL_SPEC_LITERAL=1039 +BIT_STRING=1040 +STRING_CHARSET_NAME=1041 +DOT_ID=1042 +ID=1043 +REVERSE_QUOTE_ID=1044 +STRING_USER_NAME=1045 +LOCAL_ID=1046 +GLOBAL_ID=1047 +ERROR_RECONGNIGION=1048 +'ADD'=5 +'ALL'=6 +'ALTER'=7 +'ALWAYS'=8 +'ANALYZE'=9 +'AND'=10 +'AS'=11 +'ASC'=12 +'BEFORE'=13 +'BETWEEN'=14 +'BOTH'=15 +'BY'=16 +'CALL'=17 +'CASCADE'=18 +'CASE'=19 +'CAST'=20 +'CHANGE'=21 +'CHARACTER'=22 +'CHECK'=23 +'COLLATE'=24 +'COLUMN'=25 +'CONDITION'=26 +'CONSTRAINT'=27 +'CONTINUE'=28 +'CONVERT'=29 +'CREATE'=30 +'CROSS'=31 +'CURRENT'=32 +'CURRENT_USER'=33 +'CURSOR'=34 +'DATABASE'=35 +'DATABASES'=36 +'DECLARE'=37 +'DEFAULT'=38 +'DELAYED'=39 +'DELETE'=40 +'DESC'=41 +'DESCRIBE'=42 +'DETERMINISTIC'=43 +'DIAGNOSTICS'=44 +'DISTINCT'=45 +'DISTINCTROW'=46 +'DROP'=47 +'EACH'=48 +'ELSE'=49 +'ELSEIF'=50 +'ENCLOSED'=51 +'ESCAPED'=52 +'EXISTS'=53 +'EXIT'=54 +'EXPLAIN'=55 +'FALSE'=56 +'FETCH'=57 +'FOR'=58 +'FORCE'=59 +'FOREIGN'=60 +'FROM'=61 +'FULLTEXT'=62 +'GENERATED'=63 +'GET'=64 +'GRANT'=65 +'GROUP'=66 +'HAVING'=67 +'HIGH_PRIORITY'=68 +'IF'=69 +'IGNORE'=70 +'IN'=71 +'INDEX'=72 +'INFILE'=73 +'INNER'=74 +'INOUT'=75 +'INSERT'=76 +'INTERVAL'=77 +'INTO'=78 +'IS'=79 +'ITERATE'=80 +'JOIN'=81 +'KEY'=82 +'KEYS'=83 +'KILL'=84 +'LEADING'=85 +'LEAVE'=86 +'LEFT'=87 +'LIKE'=88 +'LIMIT'=89 +'LINEAR'=90 +'LINES'=91 +'LOAD'=92 +'LOCK'=93 +'LOOP'=94 +'LOW_PRIORITY'=95 +'MASTER_BIND'=96 +'MASTER_SSL_VERIFY_SERVER_CERT'=97 +'MATCH'=98 +'MAXVALUE'=99 +'MODIFIES'=100 +'NATURAL'=101 +'NOT'=102 +'NO_WRITE_TO_BINLOG'=103 +'NULL'=104 +'NUMBER'=105 +'ON'=106 +'OPTIMIZE'=107 +'OPTION'=108 +'OPTIONALLY'=109 +'OR'=110 +'ORDER'=111 +'OUT'=112 +'OUTER'=113 +'OUTFILE'=114 +'PARTITION'=115 +'PRIMARY'=116 +'PROCEDURE'=117 +'PURGE'=118 +'RANGE'=119 +'READ'=120 +'READS'=121 +'REFERENCES'=122 +'REGEXP'=123 +'RELEASE'=124 +'RENAME'=125 +'REPEAT'=126 +'REPLACE'=127 +'REQUIRE'=128 +'RESIGNAL'=129 +'RESTRICT'=130 +'RETURN'=131 +'REVOKE'=132 +'RIGHT'=133 +'RLIKE'=134 +'SCHEMA'=135 +'SCHEMAS'=136 +'SELECT'=137 +'SET'=138 +'SEPARATOR'=139 +'SHOW'=140 +'SIGNAL'=141 +'SPATIAL'=142 +'SQL'=143 +'SQLEXCEPTION'=144 +'SQLSTATE'=145 +'SQLWARNING'=146 +'SQL_BIG_RESULT'=147 +'SQL_CALC_FOUND_ROWS'=148 +'SQL_SMALL_RESULT'=149 +'SSL'=150 +'STACKED'=151 +'STARTING'=152 +'STRAIGHT_JOIN'=153 +'TABLE'=154 +'TERMINATED'=155 +'THEN'=156 +'TO'=157 +'TRAILING'=158 +'TRIGGER'=159 +'TRUE'=160 +'UNDO'=161 +'UNION'=162 +'UNIQUE'=163 +'UNLOCK'=164 +'UNSIGNED'=165 +'UPDATE'=166 +'USAGE'=167 +'USE'=168 +'USING'=169 +'VALUES'=170 +'WHEN'=171 +'WHERE'=172 +'WHILE'=173 +'WITH'=174 +'WRITE'=175 +'XOR'=176 +'ZEROFILL'=177 +'TINYINT'=178 +'SMALLINT'=179 +'MEDIUMINT'=180 +'MIDDLEINT'=181 +'INT'=182 +'INT1'=183 +'INT2'=184 +'INT3'=185 +'INT4'=186 +'INT8'=187 +'INTEGER'=188 +'BIGINT'=189 +'REAL'=190 +'DOUBLE'=191 +'PRECISION'=192 +'FLOAT'=193 +'FLOAT4'=194 +'FLOAT8'=195 +'DECIMAL'=196 +'DEC'=197 +'NUMERIC'=198 +'DATE'=199 +'TIME'=200 +'TIMESTAMP'=201 +'DATETIME'=202 +'YEAR'=203 +'CHAR'=204 +'VARCHAR'=205 +'NVARCHAR'=206 +'NATIONAL'=207 +'BINARY'=208 +'VARBINARY'=209 +'TINYBLOB'=210 +'BLOB'=211 +'MEDIUMBLOB'=212 +'LONG'=213 +'LONGBLOB'=214 +'TINYTEXT'=215 +'TEXT'=216 +'MEDIUMTEXT'=217 +'LONGTEXT'=218 +'ENUM'=219 +'VARYING'=220 +'SERIAL'=221 +'YEAR_MONTH'=222 +'DAY_HOUR'=223 +'DAY_MINUTE'=224 +'DAY_SECOND'=225 +'HOUR_MINUTE'=226 +'HOUR_SECOND'=227 +'MINUTE_SECOND'=228 +'SECOND_MICROSECOND'=229 +'MINUTE_MICROSECOND'=230 +'HOUR_MICROSECOND'=231 +'DAY_MICROSECOND'=232 +'JSON_VALID'=233 +'JSON_SCHEMA_VALID'=234 +'AVG'=235 +'BIT_AND'=236 +'BIT_OR'=237 +'BIT_XOR'=238 +'COUNT'=239 +'GROUP_CONCAT'=240 +'MAX'=241 +'MIN'=242 +'STD'=243 +'STDDEV'=244 +'STDDEV_POP'=245 +'STDDEV_SAMP'=246 +'SUM'=247 +'VAR_POP'=248 +'VAR_SAMP'=249 +'VARIANCE'=250 +'CURRENT_DATE'=251 +'CURRENT_TIME'=252 +'CURRENT_TIMESTAMP'=253 +'LOCALTIME'=254 +'CURDATE'=255 +'CURTIME'=256 +'DATE_ADD'=257 +'DATE_SUB'=258 +'EXTRACT'=259 +'LOCALTIMESTAMP'=260 +'NOW'=261 +'POSITION'=262 +'SUBSTR'=263 +'SUBSTRING'=264 +'SYSDATE'=265 +'TRIM'=266 +'UTC_DATE'=267 +'UTC_TIME'=268 +'UTC_TIMESTAMP'=269 +'ACCOUNT'=270 +'ACTION'=271 +'AFTER'=272 +'AGGREGATE'=273 +'ALGORITHM'=274 +'ANY'=275 +'AT'=276 +'AUTHORS'=277 +'AUTOCOMMIT'=278 +'AUTOEXTEND_SIZE'=279 +'AUTO_INCREMENT'=280 +'AVG_ROW_LENGTH'=281 +'BEGIN'=282 +'BINLOG'=283 +'BIT'=284 +'BLOCK'=285 +'BOOL'=286 +'BOOLEAN'=287 +'BTREE'=288 +'CACHE'=289 +'CASCADED'=290 +'CHAIN'=291 +'CHANGED'=292 +'CHANNEL'=293 +'CHECKSUM'=294 +'PAGE_CHECKSUM'=295 +'CIPHER'=296 +'CLASS_ORIGIN'=297 +'CLIENT'=298 +'CLOSE'=299 +'COALESCE'=300 +'CODE'=301 +'COLUMNS'=302 +'COLUMN_FORMAT'=303 +'COLUMN_NAME'=304 +'COMMENT'=305 +'COMMIT'=306 +'COMPACT'=307 +'COMPLETION'=308 +'COMPRESSED'=309 +'COMPRESSION'=310 +'CONCURRENT'=311 +'CONNECTION'=312 +'CONSISTENT'=313 +'CONSTRAINT_CATALOG'=314 +'CONSTRAINT_SCHEMA'=315 +'CONSTRAINT_NAME'=316 +'CONTAINS'=317 +'CONTEXT'=318 +'CONTRIBUTORS'=319 +'COPY'=320 +'CPU'=321 +'CURSOR_NAME'=322 +'DATA'=323 +'DATAFILE'=324 +'DEALLOCATE'=325 +'DEFAULT_AUTH'=326 +'DEFINER'=327 +'DELAY_KEY_WRITE'=328 +'DES_KEY_FILE'=329 +'DIRECTORY'=330 +'DISABLE'=331 +'DISCARD'=332 +'DISK'=333 +'DO'=334 +'DUMPFILE'=335 +'DUPLICATE'=336 +'DYNAMIC'=337 +'ENABLE'=338 +'ENCRYPTION'=339 +'END'=340 +'ENDS'=341 +'ENGINE'=342 +'ENGINES'=343 +'ERROR'=344 +'ERRORS'=345 +'ESCAPE'=346 +'EVEN'=347 +'EVENT'=348 +'EVENTS'=349 +'EVERY'=350 +'EXCHANGE'=351 +'EXCLUSIVE'=352 +'EXPIRE'=353 +'EXPORT'=354 +'EXTENDED'=355 +'EXTENT_SIZE'=356 +'FAST'=357 +'FAULTS'=358 +'FIELDS'=359 +'FILE_BLOCK_SIZE'=360 +'FILTER'=361 +'FIRST'=362 +'FIXED'=363 +'FLUSH'=364 +'FOLLOWS'=365 +'FOUND'=366 +'FULL'=367 +'FUNCTION'=368 +'GENERAL'=369 +'GLOBAL'=370 +'GRANTS'=371 +'GROUP_REPLICATION'=372 +'HANDLER'=373 +'HASH'=374 +'HELP'=375 +'HOST'=376 +'HOSTS'=377 +'IDENTIFIED'=378 +'IGNORE_SERVER_IDS'=379 +'IMPORT'=380 +'INDEXES'=381 +'INITIAL_SIZE'=382 +'INPLACE'=383 +'INSERT_METHOD'=384 +'INSTALL'=385 +'INSTANCE'=386 +'INVISIBLE'=387 +'INVOKER'=388 +'IO'=389 +'IO_THREAD'=390 +'IPC'=391 +'ISOLATION'=392 +'ISSUER'=393 +'JSON'=394 +'KEY_BLOCK_SIZE'=395 +'LANGUAGE'=396 +'LAST'=397 +'LEAVES'=398 +'LESS'=399 +'LEVEL'=400 +'LIST'=401 +'LOCAL'=402 +'LOGFILE'=403 +'LOGS'=404 +'MASTER'=405 +'MASTER_AUTO_POSITION'=406 +'MASTER_CONNECT_RETRY'=407 +'MASTER_DELAY'=408 +'MASTER_HEARTBEAT_PERIOD'=409 +'MASTER_HOST'=410 +'MASTER_LOG_FILE'=411 +'MASTER_LOG_POS'=412 +'MASTER_PASSWORD'=413 +'MASTER_PORT'=414 +'MASTER_RETRY_COUNT'=415 +'MASTER_SSL'=416 +'MASTER_SSL_CA'=417 +'MASTER_SSL_CAPATH'=418 +'MASTER_SSL_CERT'=419 +'MASTER_SSL_CIPHER'=420 +'MASTER_SSL_CRL'=421 +'MASTER_SSL_CRLPATH'=422 +'MASTER_SSL_KEY'=423 +'MASTER_TLS_VERSION'=424 +'MASTER_USER'=425 +'MAX_CONNECTIONS_PER_HOUR'=426 +'MAX_QUERIES_PER_HOUR'=427 +'MAX_ROWS'=428 +'MAX_SIZE'=429 +'MAX_UPDATES_PER_HOUR'=430 +'MAX_USER_CONNECTIONS'=431 +'MEDIUM'=432 +'MERGE'=433 +'MESSAGE_TEXT'=434 +'MID'=435 +'MIGRATE'=436 +'MIN_ROWS'=437 +'MODE'=438 +'MODIFY'=439 +'MUTEX'=440 +'MYSQL'=441 +'MYSQL_ERRNO'=442 +'NAME'=443 +'NAMES'=444 +'NCHAR'=445 +'NEVER'=446 +'NEXT'=447 +'NO'=448 +'NODEGROUP'=449 +'NONE'=450 +'OFFLINE'=451 +'OFFSET'=452 +'OJ'=453 +'OLD_PASSWORD'=454 +'ONE'=455 +'ONLINE'=456 +'ONLY'=457 +'OPEN'=458 +'OPTIMIZER_COSTS'=459 +'OPTIONS'=460 +'OWNER'=461 +'PACK_KEYS'=462 +'PAGE'=463 +'PARSER'=464 +'PARTIAL'=465 +'PARTITIONING'=466 +'PARTITIONS'=467 +'PASSWORD'=468 +'PHASE'=469 +'PLUGIN'=470 +'PLUGIN_DIR'=471 +'PLUGINS'=472 +'PORT'=473 +'PRECEDES'=474 +'PREPARE'=475 +'PRESERVE'=476 +'PREV'=477 +'PROCESSLIST'=478 +'PROFILE'=479 +'PROFILES'=480 +'PROXY'=481 +'QUERY'=482 +'QUICK'=483 +'REBUILD'=484 +'RECOVER'=485 +'REDO_BUFFER_SIZE'=486 +'REDUNDANT'=487 +'RELAY'=488 +'RELAY_LOG_FILE'=489 +'RELAY_LOG_POS'=490 +'RELAYLOG'=491 +'REMOVE'=492 +'REORGANIZE'=493 +'REPAIR'=494 +'REPLICATE_DO_DB'=495 +'REPLICATE_DO_TABLE'=496 +'REPLICATE_IGNORE_DB'=497 +'REPLICATE_IGNORE_TABLE'=498 +'REPLICATE_REWRITE_DB'=499 +'REPLICATE_WILD_DO_TABLE'=500 +'REPLICATE_WILD_IGNORE_TABLE'=501 +'REPLICATION'=502 +'RESET'=503 +'RESUME'=504 +'RETURNED_SQLSTATE'=505 +'RETURNS'=506 +'ROLE'=507 +'ROLLBACK'=508 +'ROLLUP'=509 +'ROTATE'=510 +'ROW'=511 +'ROWS'=512 +'ROW_FORMAT'=513 +'SAVEPOINT'=514 +'SCHEDULE'=515 +'SECURITY'=516 +'SERVER'=517 +'SESSION'=518 +'SHARE'=519 +'SHARED'=520 +'SIGNED'=521 +'SIMPLE'=522 +'SLAVE'=523 +'SLOW'=524 +'SNAPSHOT'=525 +'SOCKET'=526 +'SOME'=527 +'SONAME'=528 +'SOUNDS'=529 +'SOURCE'=530 +'SQL_AFTER_GTIDS'=531 +'SQL_AFTER_MTS_GAPS'=532 +'SQL_BEFORE_GTIDS'=533 +'SQL_BUFFER_RESULT'=534 +'SQL_CACHE'=535 +'SQL_NO_CACHE'=536 +'SQL_THREAD'=537 +'START'=538 +'STARTS'=539 +'STATS_AUTO_RECALC'=540 +'STATS_PERSISTENT'=541 +'STATS_SAMPLE_PAGES'=542 +'STATUS'=543 +'STOP'=544 +'STORAGE'=545 +'STORED'=546 +'STRING'=547 +'SUBCLASS_ORIGIN'=548 +'SUBJECT'=549 +'SUBPARTITION'=550 +'SUBPARTITIONS'=551 +'SUSPEND'=552 +'SWAPS'=553 +'SWITCHES'=554 +'TABLE_NAME'=555 +'TABLESPACE'=556 +'TEMPORARY'=557 +'TEMPTABLE'=558 +'THAN'=559 +'TRADITIONAL'=560 +'TRANSACTION'=561 +'TRANSACTIONAL'=562 +'TRIGGERS'=563 +'TRUNCATE'=564 +'UNDEFINED'=565 +'UNDOFILE'=566 +'UNDO_BUFFER_SIZE'=567 +'UNINSTALL'=568 +'UNKNOWN'=569 +'UNTIL'=570 +'UPGRADE'=571 +'USER'=572 +'USE_FRM'=573 +'USER_RESOURCES'=574 +'VALIDATION'=575 +'VALUE'=576 +'VARIABLES'=577 +'VIEW'=578 +'VIRTUAL'=579 +'VISIBLE'=580 +'WAIT'=581 +'WARNINGS'=582 +'WITHOUT'=583 +'WORK'=584 +'WRAPPER'=585 +'X509'=586 +'XA'=587 +'XML'=588 +'EUR'=589 +'USA'=590 +'JIS'=591 +'ISO'=592 +'INTERNAL'=593 +'QUARTER'=594 +'MONTH'=595 +'DAY'=596 +'HOUR'=597 +'MINUTE'=598 +'WEEK'=599 +'SECOND'=600 +'MICROSECOND'=601 +'TABLES'=602 +'ROUTINE'=603 +'EXECUTE'=604 +'FILE'=605 +'PROCESS'=606 +'RELOAD'=607 +'SHUTDOWN'=608 +'SUPER'=609 +'PRIVILEGES'=610 +'APPLICATION_PASSWORD_ADMIN'=611 +'AUDIT_ADMIN'=612 +'BACKUP_ADMIN'=613 +'BINLOG_ADMIN'=614 +'BINLOG_ENCRYPTION_ADMIN'=615 +'CLONE_ADMIN'=616 +'CONNECTION_ADMIN'=617 +'ENCRYPTION_KEY_ADMIN'=618 +'FIREWALL_ADMIN'=619 +'FIREWALL_USER'=620 +'GROUP_REPLICATION_ADMIN'=621 +'INNODB_REDO_LOG_ARCHIVE'=622 +'NDB_STORED_USER'=623 +'PERSIST_RO_VARIABLES_ADMIN'=624 +'REPLICATION_APPLIER'=625 +'REPLICATION_SLAVE_ADMIN'=626 +'RESOURCE_GROUP_ADMIN'=627 +'RESOURCE_GROUP_USER'=628 +'ROLE_ADMIN'=629 +'SET_USER_ID'=631 +'SHOW_ROUTINE'=632 +'SYSTEM_VARIABLES_ADMIN'=633 +'TABLE_ENCRYPTION_ADMIN'=634 +'VERSION_TOKEN_ADMIN'=635 +'XA_RECOVER_ADMIN'=636 +'ARMSCII8'=637 +'ASCII'=638 +'BIG5'=639 +'CP1250'=640 +'CP1251'=641 +'CP1256'=642 +'CP1257'=643 +'CP850'=644 +'CP852'=645 +'CP866'=646 +'CP932'=647 +'DEC8'=648 +'EUCJPMS'=649 +'EUCKR'=650 +'GB2312'=651 +'GBK'=652 +'GEOSTD8'=653 +'GREEK'=654 +'HEBREW'=655 +'HP8'=656 +'KEYBCS2'=657 +'KOI8R'=658 +'KOI8U'=659 +'LATIN1'=660 +'LATIN2'=661 +'LATIN5'=662 +'LATIN7'=663 +'MACCE'=664 +'MACROMAN'=665 +'SJIS'=666 +'SWE7'=667 +'TIS620'=668 +'UCS2'=669 +'UJIS'=670 +'UTF16'=671 +'UTF16LE'=672 +'UTF32'=673 +'UTF8'=674 +'UTF8MB3'=675 +'UTF8MB4'=676 +'ARCHIVE'=677 +'BLACKHOLE'=678 +'CSV'=679 +'FEDERATED'=680 +'INNODB'=681 +'MEMORY'=682 +'MRG_MYISAM'=683 +'MYISAM'=684 +'NDB'=685 +'NDBCLUSTER'=686 +'PERFORMANCE_SCHEMA'=687 +'TOKUDB'=688 +'REPEATABLE'=689 +'COMMITTED'=690 +'UNCOMMITTED'=691 +'SERIALIZABLE'=692 +'GEOMETRYCOLLECTION'=693 +'GEOMCOLLECTION'=694 +'GEOMETRY'=695 +'LINESTRING'=696 +'MULTILINESTRING'=697 +'MULTIPOINT'=698 +'MULTIPOLYGON'=699 +'POINT'=700 +'POLYGON'=701 +'ABS'=702 +'ACOS'=703 +'ADDDATE'=704 +'ADDTIME'=705 +'AES_DECRYPT'=706 +'AES_ENCRYPT'=707 +'AREA'=708 +'ASBINARY'=709 +'ASIN'=710 +'ASTEXT'=711 +'ASWKB'=712 +'ASWKT'=713 +'ASYMMETRIC_DECRYPT'=714 +'ASYMMETRIC_DERIVE'=715 +'ASYMMETRIC_ENCRYPT'=716 +'ASYMMETRIC_SIGN'=717 +'ASYMMETRIC_VERIFY'=718 +'ATAN'=719 +'ATAN2'=720 +'BENCHMARK'=721 +'BIN'=722 +'BIT_COUNT'=723 +'BIT_LENGTH'=724 +'BUFFER'=725 +'CATALOG_NAME'=726 +'CEIL'=727 +'CEILING'=728 +'CENTROID'=729 +'CHARACTER_LENGTH'=730 +'CHARSET'=731 +'CHAR_LENGTH'=732 +'COERCIBILITY'=733 +'COLLATION'=734 +'COMPRESS'=735 +'CONCAT'=736 +'CONCAT_WS'=737 +'CONNECTION_ID'=738 +'CONV'=739 +'CONVERT_TZ'=740 +'COS'=741 +'COT'=742 +'CRC32'=743 +'CREATE_ASYMMETRIC_PRIV_KEY'=744 +'CREATE_ASYMMETRIC_PUB_KEY'=745 +'CREATE_DH_PARAMETERS'=746 +'CREATE_DIGEST'=747 +'CROSSES'=748 +'DATEDIFF'=749 +'DATE_FORMAT'=750 +'DAYNAME'=751 +'DAYOFMONTH'=752 +'DAYOFWEEK'=753 +'DAYOFYEAR'=754 +'DECODE'=755 +'DEGREES'=756 +'DES_DECRYPT'=757 +'DES_ENCRYPT'=758 +'DIMENSION'=759 +'DISJOINT'=760 +'ELT'=761 +'ENCODE'=762 +'ENCRYPT'=763 +'ENDPOINT'=764 +'ENVELOPE'=765 +'EQUALS'=766 +'EXP'=767 +'EXPORT_SET'=768 +'EXTERIORRING'=769 +'EXTRACTVALUE'=770 +'FIELD'=771 +'FIND_IN_SET'=772 +'FLOOR'=773 +'FORMAT'=774 +'FOUND_ROWS'=775 +'FROM_BASE64'=776 +'FROM_DAYS'=777 +'FROM_UNIXTIME'=778 +'GEOMCOLLFROMTEXT'=779 +'GEOMCOLLFROMWKB'=780 +'GEOMETRYCOLLECTIONFROMTEXT'=781 +'GEOMETRYCOLLECTIONFROMWKB'=782 +'GEOMETRYFROMTEXT'=783 +'GEOMETRYFROMWKB'=784 +'GEOMETRYN'=785 +'GEOMETRYTYPE'=786 +'GEOMFROMTEXT'=787 +'GEOMFROMWKB'=788 +'GET_FORMAT'=789 +'GET_LOCK'=790 +'GLENGTH'=791 +'GREATEST'=792 +'GTID_SUBSET'=793 +'GTID_SUBTRACT'=794 +'HEX'=795 +'IFNULL'=796 +'INET6_ATON'=797 +'INET6_NTOA'=798 +'INET_ATON'=799 +'INET_NTOA'=800 +'INSTR'=801 +'INTERIORRINGN'=802 +'INTERSECTS'=803 +'ISCLOSED'=804 +'ISEMPTY'=805 +'ISNULL'=806 +'ISSIMPLE'=807 +'IS_FREE_LOCK'=808 +'IS_IPV4'=809 +'IS_IPV4_COMPAT'=810 +'IS_IPV4_MAPPED'=811 +'IS_IPV6'=812 +'IS_USED_LOCK'=813 +'LAST_INSERT_ID'=814 +'LCASE'=815 +'LEAST'=816 +'LENGTH'=817 +'LINEFROMTEXT'=818 +'LINEFROMWKB'=819 +'LINESTRINGFROMTEXT'=820 +'LINESTRINGFROMWKB'=821 +'LN'=822 +'LOAD_FILE'=823 +'LOCATE'=824 +'LOG'=825 +'LOG10'=826 +'LOG2'=827 +'LOWER'=828 +'LPAD'=829 +'LTRIM'=830 +'MAKEDATE'=831 +'MAKETIME'=832 +'MAKE_SET'=833 +'MASTER_POS_WAIT'=834 +'MBRCONTAINS'=835 +'MBRDISJOINT'=836 +'MBREQUAL'=837 +'MBRINTERSECTS'=838 +'MBROVERLAPS'=839 +'MBRTOUCHES'=840 +'MBRWITHIN'=841 +'MD5'=842 +'MLINEFROMTEXT'=843 +'MLINEFROMWKB'=844 +'MONTHNAME'=845 +'MPOINTFROMTEXT'=846 +'MPOINTFROMWKB'=847 +'MPOLYFROMTEXT'=848 +'MPOLYFROMWKB'=849 +'MULTILINESTRINGFROMTEXT'=850 +'MULTILINESTRINGFROMWKB'=851 +'MULTIPOINTFROMTEXT'=852 +'MULTIPOINTFROMWKB'=853 +'MULTIPOLYGONFROMTEXT'=854 +'MULTIPOLYGONFROMWKB'=855 +'NAME_CONST'=856 +'NULLIF'=857 +'NUMGEOMETRIES'=858 +'NUMINTERIORRINGS'=859 +'NUMPOINTS'=860 +'OCT'=861 +'OCTET_LENGTH'=862 +'ORD'=863 +'OVERLAPS'=864 +'PERIOD_ADD'=865 +'PERIOD_DIFF'=866 +'PI'=867 +'POINTFROMTEXT'=868 +'POINTFROMWKB'=869 +'POINTN'=870 +'POLYFROMTEXT'=871 +'POLYFROMWKB'=872 +'POLYGONFROMTEXT'=873 +'POLYGONFROMWKB'=874 +'POW'=875 +'POWER'=876 +'QUOTE'=877 +'RADIANS'=878 +'RAND'=879 +'RANDOM_BYTES'=880 +'RELEASE_LOCK'=881 +'REVERSE'=882 +'ROUND'=883 +'ROW_COUNT'=884 +'RPAD'=885 +'RTRIM'=886 +'SEC_TO_TIME'=887 +'SESSION_USER'=888 +'SHA'=889 +'SHA1'=890 +'SHA2'=891 +'SCHEMA_NAME'=892 +'SIGN'=893 +'SIN'=894 +'SLEEP'=895 +'SOUNDEX'=896 +'SQL_THREAD_WAIT_AFTER_GTIDS'=897 +'SQRT'=898 +'SRID'=899 +'STARTPOINT'=900 +'STRCMP'=901 +'STR_TO_DATE'=902 +'ST_AREA'=903 +'ST_ASBINARY'=904 +'ST_ASTEXT'=905 +'ST_ASWKB'=906 +'ST_ASWKT'=907 +'ST_BUFFER'=908 +'ST_CENTROID'=909 +'ST_CONTAINS'=910 +'ST_CROSSES'=911 +'ST_DIFFERENCE'=912 +'ST_DIMENSION'=913 +'ST_DISJOINT'=914 +'ST_DISTANCE'=915 +'ST_ENDPOINT'=916 +'ST_ENVELOPE'=917 +'ST_EQUALS'=918 +'ST_EXTERIORRING'=919 +'ST_GEOMCOLLFROMTEXT'=920 +'ST_GEOMCOLLFROMTXT'=921 +'ST_GEOMCOLLFROMWKB'=922 +'ST_GEOMETRYCOLLECTIONFROMTEXT'=923 +'ST_GEOMETRYCOLLECTIONFROMWKB'=924 +'ST_GEOMETRYFROMTEXT'=925 +'ST_GEOMETRYFROMWKB'=926 +'ST_GEOMETRYN'=927 +'ST_GEOMETRYTYPE'=928 +'ST_GEOMFROMTEXT'=929 +'ST_GEOMFROMWKB'=930 +'ST_INTERIORRINGN'=931 +'ST_INTERSECTION'=932 +'ST_INTERSECTS'=933 +'ST_ISCLOSED'=934 +'ST_ISEMPTY'=935 +'ST_ISSIMPLE'=936 +'ST_LINEFROMTEXT'=937 +'ST_LINEFROMWKB'=938 +'ST_LINESTRINGFROMTEXT'=939 +'ST_LINESTRINGFROMWKB'=940 +'ST_NUMGEOMETRIES'=941 +'ST_NUMINTERIORRING'=942 +'ST_NUMINTERIORRINGS'=943 +'ST_NUMPOINTS'=944 +'ST_OVERLAPS'=945 +'ST_POINTFROMTEXT'=946 +'ST_POINTFROMWKB'=947 +'ST_POINTN'=948 +'ST_POLYFROMTEXT'=949 +'ST_POLYFROMWKB'=950 +'ST_POLYGONFROMTEXT'=951 +'ST_POLYGONFROMWKB'=952 +'ST_SRID'=953 +'ST_STARTPOINT'=954 +'ST_SYMDIFFERENCE'=955 +'ST_TOUCHES'=956 +'ST_UNION'=957 +'ST_WITHIN'=958 +'ST_X'=959 +'ST_Y'=960 +'SUBDATE'=961 +'SUBSTRING_INDEX'=962 +'SUBTIME'=963 +'SYSTEM_USER'=964 +'TAN'=965 +'TIMEDIFF'=966 +'TIMESTAMPADD'=967 +'TIMESTAMPDIFF'=968 +'TIME_FORMAT'=969 +'TIME_TO_SEC'=970 +'TOUCHES'=971 +'TO_BASE64'=972 +'TO_DAYS'=973 +'TO_SECONDS'=974 +'UCASE'=975 +'UNCOMPRESS'=976 +'UNCOMPRESSED_LENGTH'=977 +'UNHEX'=978 +'UNIX_TIMESTAMP'=979 +'UPDATEXML'=980 +'UPPER'=981 +'UUID'=982 +'UUID_SHORT'=983 +'VALIDATE_PASSWORD_STRENGTH'=984 +'VERSION'=985 +'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'=986 +'WEEKDAY'=987 +'WEEKOFYEAR'=988 +'WEIGHT_STRING'=989 +'WITHIN'=990 +'YEARWEEK'=991 +'Y'=992 +'X'=993 +':='=994 +'+='=995 +'-='=996 +'*='=997 +'/='=998 +'%='=999 +'&='=1000 +'^='=1001 +'|='=1002 +'*'=1003 +'/'=1004 +'%'=1005 +'+'=1006 +'--'=1007 +'-'=1008 +'DIV'=1009 +'MOD'=1010 +'='=1011 +'>'=1012 +'<'=1013 +'!'=1014 +'~'=1015 +'|'=1016 +'&'=1017 +'^'=1018 +'.'=1019 +'('=1020 +')'=1021 +','=1022 +';'=1023 +'@'=1024 +'0'=1025 +'1'=1026 +'2'=1027 +'\''=1028 +'"'=1029 +'`'=1030 +':'=1031 diff --git a/src/lib/generic/SqlParser.interp b/src/lib/generic/SqlParser.interp new file mode 100644 index 0000000..99e8acf --- /dev/null +++ b/src/lib/generic/SqlParser.interp @@ -0,0 +1,2423 @@ +token literal names: +null +null +null +null +null +'ADD' +'ALL' +'ALTER' +'ALWAYS' +'ANALYZE' +'AND' +'AS' +'ASC' +'BEFORE' +'BETWEEN' +'BOTH' +'BY' +'CALL' +'CASCADE' +'CASE' +'CAST' +'CHANGE' +'CHARACTER' +'CHECK' +'COLLATE' +'COLUMN' +'CONDITION' +'CONSTRAINT' +'CONTINUE' +'CONVERT' +'CREATE' +'CROSS' +'CURRENT' +'CURRENT_USER' +'CURSOR' +'DATABASE' +'DATABASES' +'DECLARE' +'DEFAULT' +'DELAYED' +'DELETE' +'DESC' +'DESCRIBE' +'DETERMINISTIC' +'DIAGNOSTICS' +'DISTINCT' +'DISTINCTROW' +'DROP' +'EACH' +'ELSE' +'ELSEIF' +'ENCLOSED' +'ESCAPED' +'EXISTS' +'EXIT' +'EXPLAIN' +'FALSE' +'FETCH' +'FOR' +'FORCE' +'FOREIGN' +'FROM' +'FULLTEXT' +'GENERATED' +'GET' +'GRANT' +'GROUP' +'HAVING' +'HIGH_PRIORITY' +'IF' +'IGNORE' +'IN' +'INDEX' +'INFILE' +'INNER' +'INOUT' +'INSERT' +'INTERVAL' +'INTO' +'IS' +'ITERATE' +'JOIN' +'KEY' +'KEYS' +'KILL' +'LEADING' +'LEAVE' +'LEFT' +'LIKE' +'LIMIT' +'LINEAR' +'LINES' +'LOAD' +'LOCK' +'LOOP' +'LOW_PRIORITY' +'MASTER_BIND' +'MASTER_SSL_VERIFY_SERVER_CERT' +'MATCH' +'MAXVALUE' +'MODIFIES' +'NATURAL' +'NOT' +'NO_WRITE_TO_BINLOG' +'NULL' +'NUMBER' +'ON' +'OPTIMIZE' +'OPTION' +'OPTIONALLY' +'OR' +'ORDER' +'OUT' +'OUTER' +'OUTFILE' +'PARTITION' +'PRIMARY' +'PROCEDURE' +'PURGE' +'RANGE' +'READ' +'READS' +'REFERENCES' +'REGEXP' +'RELEASE' +'RENAME' +'REPEAT' +'REPLACE' +'REQUIRE' +'RESIGNAL' +'RESTRICT' +'RETURN' +'REVOKE' +'RIGHT' +'RLIKE' +'SCHEMA' +'SCHEMAS' +'SELECT' +'SET' +'SEPARATOR' +'SHOW' +'SIGNAL' +'SPATIAL' +'SQL' +'SQLEXCEPTION' +'SQLSTATE' +'SQLWARNING' +'SQL_BIG_RESULT' +'SQL_CALC_FOUND_ROWS' +'SQL_SMALL_RESULT' +'SSL' +'STACKED' +'STARTING' +'STRAIGHT_JOIN' +'TABLE' +'TERMINATED' +'THEN' +'TO' +'TRAILING' +'TRIGGER' +'TRUE' +'UNDO' +'UNION' +'UNIQUE' +'UNLOCK' +'UNSIGNED' +'UPDATE' +'USAGE' +'USE' +'USING' +'VALUES' +'WHEN' +'WHERE' +'WHILE' +'WITH' +'WRITE' +'XOR' +'ZEROFILL' +'TINYINT' +'SMALLINT' +'MEDIUMINT' +'MIDDLEINT' +'INT' +'INT1' +'INT2' +'INT3' +'INT4' +'INT8' +'INTEGER' +'BIGINT' +'REAL' +'DOUBLE' +'PRECISION' +'FLOAT' +'FLOAT4' +'FLOAT8' +'DECIMAL' +'DEC' +'NUMERIC' +'DATE' +'TIME' +'TIMESTAMP' +'DATETIME' +'YEAR' +'CHAR' +'VARCHAR' +'NVARCHAR' +'NATIONAL' +'BINARY' +'VARBINARY' +'TINYBLOB' +'BLOB' +'MEDIUMBLOB' +'LONG' +'LONGBLOB' +'TINYTEXT' +'TEXT' +'MEDIUMTEXT' +'LONGTEXT' +'ENUM' +'VARYING' +'SERIAL' +'YEAR_MONTH' +'DAY_HOUR' +'DAY_MINUTE' +'DAY_SECOND' +'HOUR_MINUTE' +'HOUR_SECOND' +'MINUTE_SECOND' +'SECOND_MICROSECOND' +'MINUTE_MICROSECOND' +'HOUR_MICROSECOND' +'DAY_MICROSECOND' +'JSON_VALID' +'JSON_SCHEMA_VALID' +'AVG' +'BIT_AND' +'BIT_OR' +'BIT_XOR' +'COUNT' +'GROUP_CONCAT' +'MAX' +'MIN' +'STD' +'STDDEV' +'STDDEV_POP' +'STDDEV_SAMP' +'SUM' +'VAR_POP' +'VAR_SAMP' +'VARIANCE' +'CURRENT_DATE' +'CURRENT_TIME' +'CURRENT_TIMESTAMP' +'LOCALTIME' +'CURDATE' +'CURTIME' +'DATE_ADD' +'DATE_SUB' +'EXTRACT' +'LOCALTIMESTAMP' +'NOW' +'POSITION' +'SUBSTR' +'SUBSTRING' +'SYSDATE' +'TRIM' +'UTC_DATE' +'UTC_TIME' +'UTC_TIMESTAMP' +'ACCOUNT' +'ACTION' +'AFTER' +'AGGREGATE' +'ALGORITHM' +'ANY' +'AT' +'AUTHORS' +'AUTOCOMMIT' +'AUTOEXTEND_SIZE' +'AUTO_INCREMENT' +'AVG_ROW_LENGTH' +'BEGIN' +'BINLOG' +'BIT' +'BLOCK' +'BOOL' +'BOOLEAN' +'BTREE' +'CACHE' +'CASCADED' +'CHAIN' +'CHANGED' +'CHANNEL' +'CHECKSUM' +'PAGE_CHECKSUM' +'CIPHER' +'CLASS_ORIGIN' +'CLIENT' +'CLOSE' +'COALESCE' +'CODE' +'COLUMNS' +'COLUMN_FORMAT' +'COLUMN_NAME' +'COMMENT' +'COMMIT' +'COMPACT' +'COMPLETION' +'COMPRESSED' +'COMPRESSION' +'CONCURRENT' +'CONNECTION' +'CONSISTENT' +'CONSTRAINT_CATALOG' +'CONSTRAINT_SCHEMA' +'CONSTRAINT_NAME' +'CONTAINS' +'CONTEXT' +'CONTRIBUTORS' +'COPY' +'CPU' +'CURSOR_NAME' +'DATA' +'DATAFILE' +'DEALLOCATE' +'DEFAULT_AUTH' +'DEFINER' +'DELAY_KEY_WRITE' +'DES_KEY_FILE' +'DIRECTORY' +'DISABLE' +'DISCARD' +'DISK' +'DO' +'DUMPFILE' +'DUPLICATE' +'DYNAMIC' +'ENABLE' +'ENCRYPTION' +'END' +'ENDS' +'ENGINE' +'ENGINES' +'ERROR' +'ERRORS' +'ESCAPE' +'EVEN' +'EVENT' +'EVENTS' +'EVERY' +'EXCHANGE' +'EXCLUSIVE' +'EXPIRE' +'EXPORT' +'EXTENDED' +'EXTENT_SIZE' +'FAST' +'FAULTS' +'FIELDS' +'FILE_BLOCK_SIZE' +'FILTER' +'FIRST' +'FIXED' +'FLUSH' +'FOLLOWS' +'FOUND' +'FULL' +'FUNCTION' +'GENERAL' +'GLOBAL' +'GRANTS' +'GROUP_REPLICATION' +'HANDLER' +'HASH' +'HELP' +'HOST' +'HOSTS' +'IDENTIFIED' +'IGNORE_SERVER_IDS' +'IMPORT' +'INDEXES' +'INITIAL_SIZE' +'INPLACE' +'INSERT_METHOD' +'INSTALL' +'INSTANCE' +'INVISIBLE' +'INVOKER' +'IO' +'IO_THREAD' +'IPC' +'ISOLATION' +'ISSUER' +'JSON' +'KEY_BLOCK_SIZE' +'LANGUAGE' +'LAST' +'LEAVES' +'LESS' +'LEVEL' +'LIST' +'LOCAL' +'LOGFILE' +'LOGS' +'MASTER' +'MASTER_AUTO_POSITION' +'MASTER_CONNECT_RETRY' +'MASTER_DELAY' +'MASTER_HEARTBEAT_PERIOD' +'MASTER_HOST' +'MASTER_LOG_FILE' +'MASTER_LOG_POS' +'MASTER_PASSWORD' +'MASTER_PORT' +'MASTER_RETRY_COUNT' +'MASTER_SSL' +'MASTER_SSL_CA' +'MASTER_SSL_CAPATH' +'MASTER_SSL_CERT' +'MASTER_SSL_CIPHER' +'MASTER_SSL_CRL' +'MASTER_SSL_CRLPATH' +'MASTER_SSL_KEY' +'MASTER_TLS_VERSION' +'MASTER_USER' +'MAX_CONNECTIONS_PER_HOUR' +'MAX_QUERIES_PER_HOUR' +'MAX_ROWS' +'MAX_SIZE' +'MAX_UPDATES_PER_HOUR' +'MAX_USER_CONNECTIONS' +'MEDIUM' +'MERGE' +'MESSAGE_TEXT' +'MID' +'MIGRATE' +'MIN_ROWS' +'MODE' +'MODIFY' +'MUTEX' +'MYSQL' +'MYSQL_ERRNO' +'NAME' +'NAMES' +'NCHAR' +'NEVER' +'NEXT' +'NO' +'NODEGROUP' +'NONE' +'OFFLINE' +'OFFSET' +'OJ' +'OLD_PASSWORD' +'ONE' +'ONLINE' +'ONLY' +'OPEN' +'OPTIMIZER_COSTS' +'OPTIONS' +'OWNER' +'PACK_KEYS' +'PAGE' +'PARSER' +'PARTIAL' +'PARTITIONING' +'PARTITIONS' +'PASSWORD' +'PHASE' +'PLUGIN' +'PLUGIN_DIR' +'PLUGINS' +'PORT' +'PRECEDES' +'PREPARE' +'PRESERVE' +'PREV' +'PROCESSLIST' +'PROFILE' +'PROFILES' +'PROXY' +'QUERY' +'QUICK' +'REBUILD' +'RECOVER' +'REDO_BUFFER_SIZE' +'REDUNDANT' +'RELAY' +'RELAY_LOG_FILE' +'RELAY_LOG_POS' +'RELAYLOG' +'REMOVE' +'REORGANIZE' +'REPAIR' +'REPLICATE_DO_DB' +'REPLICATE_DO_TABLE' +'REPLICATE_IGNORE_DB' +'REPLICATE_IGNORE_TABLE' +'REPLICATE_REWRITE_DB' +'REPLICATE_WILD_DO_TABLE' +'REPLICATE_WILD_IGNORE_TABLE' +'REPLICATION' +'RESET' +'RESUME' +'RETURNED_SQLSTATE' +'RETURNS' +'ROLE' +'ROLLBACK' +'ROLLUP' +'ROTATE' +'ROW' +'ROWS' +'ROW_FORMAT' +'SAVEPOINT' +'SCHEDULE' +'SECURITY' +'SERVER' +'SESSION' +'SHARE' +'SHARED' +'SIGNED' +'SIMPLE' +'SLAVE' +'SLOW' +'SNAPSHOT' +'SOCKET' +'SOME' +'SONAME' +'SOUNDS' +'SOURCE' +'SQL_AFTER_GTIDS' +'SQL_AFTER_MTS_GAPS' +'SQL_BEFORE_GTIDS' +'SQL_BUFFER_RESULT' +'SQL_CACHE' +'SQL_NO_CACHE' +'SQL_THREAD' +'START' +'STARTS' +'STATS_AUTO_RECALC' +'STATS_PERSISTENT' +'STATS_SAMPLE_PAGES' +'STATUS' +'STOP' +'STORAGE' +'STORED' +'STRING' +'SUBCLASS_ORIGIN' +'SUBJECT' +'SUBPARTITION' +'SUBPARTITIONS' +'SUSPEND' +'SWAPS' +'SWITCHES' +'TABLE_NAME' +'TABLESPACE' +'TEMPORARY' +'TEMPTABLE' +'THAN' +'TRADITIONAL' +'TRANSACTION' +'TRANSACTIONAL' +'TRIGGERS' +'TRUNCATE' +'UNDEFINED' +'UNDOFILE' +'UNDO_BUFFER_SIZE' +'UNINSTALL' +'UNKNOWN' +'UNTIL' +'UPGRADE' +'USER' +'USE_FRM' +'USER_RESOURCES' +'VALIDATION' +'VALUE' +'VARIABLES' +'VIEW' +'VIRTUAL' +'VISIBLE' +'WAIT' +'WARNINGS' +'WITHOUT' +'WORK' +'WRAPPER' +'X509' +'XA' +'XML' +'EUR' +'USA' +'JIS' +'ISO' +'INTERNAL' +'QUARTER' +'MONTH' +'DAY' +'HOUR' +'MINUTE' +'WEEK' +'SECOND' +'MICROSECOND' +'TABLES' +'ROUTINE' +'EXECUTE' +'FILE' +'PROCESS' +'RELOAD' +'SHUTDOWN' +'SUPER' +'PRIVILEGES' +'APPLICATION_PASSWORD_ADMIN' +'AUDIT_ADMIN' +'BACKUP_ADMIN' +'BINLOG_ADMIN' +'BINLOG_ENCRYPTION_ADMIN' +'CLONE_ADMIN' +'CONNECTION_ADMIN' +'ENCRYPTION_KEY_ADMIN' +'FIREWALL_ADMIN' +'FIREWALL_USER' +'GROUP_REPLICATION_ADMIN' +'INNODB_REDO_LOG_ARCHIVE' +'NDB_STORED_USER' +'PERSIST_RO_VARIABLES_ADMIN' +'REPLICATION_APPLIER' +'REPLICATION_SLAVE_ADMIN' +'RESOURCE_GROUP_ADMIN' +'RESOURCE_GROUP_USER' +'ROLE_ADMIN' +null +'SET_USER_ID' +'SHOW_ROUTINE' +'SYSTEM_VARIABLES_ADMIN' +'TABLE_ENCRYPTION_ADMIN' +'VERSION_TOKEN_ADMIN' +'XA_RECOVER_ADMIN' +'ARMSCII8' +'ASCII' +'BIG5' +'CP1250' +'CP1251' +'CP1256' +'CP1257' +'CP850' +'CP852' +'CP866' +'CP932' +'DEC8' +'EUCJPMS' +'EUCKR' +'GB2312' +'GBK' +'GEOSTD8' +'GREEK' +'HEBREW' +'HP8' +'KEYBCS2' +'KOI8R' +'KOI8U' +'LATIN1' +'LATIN2' +'LATIN5' +'LATIN7' +'MACCE' +'MACROMAN' +'SJIS' +'SWE7' +'TIS620' +'UCS2' +'UJIS' +'UTF16' +'UTF16LE' +'UTF32' +'UTF8' +'UTF8MB3' +'UTF8MB4' +'ARCHIVE' +'BLACKHOLE' +'CSV' +'FEDERATED' +'INNODB' +'MEMORY' +'MRG_MYISAM' +'MYISAM' +'NDB' +'NDBCLUSTER' +'PERFORMANCE_SCHEMA' +'TOKUDB' +'REPEATABLE' +'COMMITTED' +'UNCOMMITTED' +'SERIALIZABLE' +'GEOMETRYCOLLECTION' +'GEOMCOLLECTION' +'GEOMETRY' +'LINESTRING' +'MULTILINESTRING' +'MULTIPOINT' +'MULTIPOLYGON' +'POINT' +'POLYGON' +'ABS' +'ACOS' +'ADDDATE' +'ADDTIME' +'AES_DECRYPT' +'AES_ENCRYPT' +'AREA' +'ASBINARY' +'ASIN' +'ASTEXT' +'ASWKB' +'ASWKT' +'ASYMMETRIC_DECRYPT' +'ASYMMETRIC_DERIVE' +'ASYMMETRIC_ENCRYPT' +'ASYMMETRIC_SIGN' +'ASYMMETRIC_VERIFY' +'ATAN' +'ATAN2' +'BENCHMARK' +'BIN' +'BIT_COUNT' +'BIT_LENGTH' +'BUFFER' +'CATALOG_NAME' +'CEIL' +'CEILING' +'CENTROID' +'CHARACTER_LENGTH' +'CHARSET' +'CHAR_LENGTH' +'COERCIBILITY' +'COLLATION' +'COMPRESS' +'CONCAT' +'CONCAT_WS' +'CONNECTION_ID' +'CONV' +'CONVERT_TZ' +'COS' +'COT' +'CRC32' +'CREATE_ASYMMETRIC_PRIV_KEY' +'CREATE_ASYMMETRIC_PUB_KEY' +'CREATE_DH_PARAMETERS' +'CREATE_DIGEST' +'CROSSES' +'DATEDIFF' +'DATE_FORMAT' +'DAYNAME' +'DAYOFMONTH' +'DAYOFWEEK' +'DAYOFYEAR' +'DECODE' +'DEGREES' +'DES_DECRYPT' +'DES_ENCRYPT' +'DIMENSION' +'DISJOINT' +'ELT' +'ENCODE' +'ENCRYPT' +'ENDPOINT' +'ENVELOPE' +'EQUALS' +'EXP' +'EXPORT_SET' +'EXTERIORRING' +'EXTRACTVALUE' +'FIELD' +'FIND_IN_SET' +'FLOOR' +'FORMAT' +'FOUND_ROWS' +'FROM_BASE64' +'FROM_DAYS' +'FROM_UNIXTIME' +'GEOMCOLLFROMTEXT' +'GEOMCOLLFROMWKB' +'GEOMETRYCOLLECTIONFROMTEXT' +'GEOMETRYCOLLECTIONFROMWKB' +'GEOMETRYFROMTEXT' +'GEOMETRYFROMWKB' +'GEOMETRYN' +'GEOMETRYTYPE' +'GEOMFROMTEXT' +'GEOMFROMWKB' +'GET_FORMAT' +'GET_LOCK' +'GLENGTH' +'GREATEST' +'GTID_SUBSET' +'GTID_SUBTRACT' +'HEX' +'IFNULL' +'INET6_ATON' +'INET6_NTOA' +'INET_ATON' +'INET_NTOA' +'INSTR' +'INTERIORRINGN' +'INTERSECTS' +'ISCLOSED' +'ISEMPTY' +'ISNULL' +'ISSIMPLE' +'IS_FREE_LOCK' +'IS_IPV4' +'IS_IPV4_COMPAT' +'IS_IPV4_MAPPED' +'IS_IPV6' +'IS_USED_LOCK' +'LAST_INSERT_ID' +'LCASE' +'LEAST' +'LENGTH' +'LINEFROMTEXT' +'LINEFROMWKB' +'LINESTRINGFROMTEXT' +'LINESTRINGFROMWKB' +'LN' +'LOAD_FILE' +'LOCATE' +'LOG' +'LOG10' +'LOG2' +'LOWER' +'LPAD' +'LTRIM' +'MAKEDATE' +'MAKETIME' +'MAKE_SET' +'MASTER_POS_WAIT' +'MBRCONTAINS' +'MBRDISJOINT' +'MBREQUAL' +'MBRINTERSECTS' +'MBROVERLAPS' +'MBRTOUCHES' +'MBRWITHIN' +'MD5' +'MLINEFROMTEXT' +'MLINEFROMWKB' +'MONTHNAME' +'MPOINTFROMTEXT' +'MPOINTFROMWKB' +'MPOLYFROMTEXT' +'MPOLYFROMWKB' +'MULTILINESTRINGFROMTEXT' +'MULTILINESTRINGFROMWKB' +'MULTIPOINTFROMTEXT' +'MULTIPOINTFROMWKB' +'MULTIPOLYGONFROMTEXT' +'MULTIPOLYGONFROMWKB' +'NAME_CONST' +'NULLIF' +'NUMGEOMETRIES' +'NUMINTERIORRINGS' +'NUMPOINTS' +'OCT' +'OCTET_LENGTH' +'ORD' +'OVERLAPS' +'PERIOD_ADD' +'PERIOD_DIFF' +'PI' +'POINTFROMTEXT' +'POINTFROMWKB' +'POINTN' +'POLYFROMTEXT' +'POLYFROMWKB' +'POLYGONFROMTEXT' +'POLYGONFROMWKB' +'POW' +'POWER' +'QUOTE' +'RADIANS' +'RAND' +'RANDOM_BYTES' +'RELEASE_LOCK' +'REVERSE' +'ROUND' +'ROW_COUNT' +'RPAD' +'RTRIM' +'SEC_TO_TIME' +'SESSION_USER' +'SHA' +'SHA1' +'SHA2' +'SCHEMA_NAME' +'SIGN' +'SIN' +'SLEEP' +'SOUNDEX' +'SQL_THREAD_WAIT_AFTER_GTIDS' +'SQRT' +'SRID' +'STARTPOINT' +'STRCMP' +'STR_TO_DATE' +'ST_AREA' +'ST_ASBINARY' +'ST_ASTEXT' +'ST_ASWKB' +'ST_ASWKT' +'ST_BUFFER' +'ST_CENTROID' +'ST_CONTAINS' +'ST_CROSSES' +'ST_DIFFERENCE' +'ST_DIMENSION' +'ST_DISJOINT' +'ST_DISTANCE' +'ST_ENDPOINT' +'ST_ENVELOPE' +'ST_EQUALS' +'ST_EXTERIORRING' +'ST_GEOMCOLLFROMTEXT' +'ST_GEOMCOLLFROMTXT' +'ST_GEOMCOLLFROMWKB' +'ST_GEOMETRYCOLLECTIONFROMTEXT' +'ST_GEOMETRYCOLLECTIONFROMWKB' +'ST_GEOMETRYFROMTEXT' +'ST_GEOMETRYFROMWKB' +'ST_GEOMETRYN' +'ST_GEOMETRYTYPE' +'ST_GEOMFROMTEXT' +'ST_GEOMFROMWKB' +'ST_INTERIORRINGN' +'ST_INTERSECTION' +'ST_INTERSECTS' +'ST_ISCLOSED' +'ST_ISEMPTY' +'ST_ISSIMPLE' +'ST_LINEFROMTEXT' +'ST_LINEFROMWKB' +'ST_LINESTRINGFROMTEXT' +'ST_LINESTRINGFROMWKB' +'ST_NUMGEOMETRIES' +'ST_NUMINTERIORRING' +'ST_NUMINTERIORRINGS' +'ST_NUMPOINTS' +'ST_OVERLAPS' +'ST_POINTFROMTEXT' +'ST_POINTFROMWKB' +'ST_POINTN' +'ST_POLYFROMTEXT' +'ST_POLYFROMWKB' +'ST_POLYGONFROMTEXT' +'ST_POLYGONFROMWKB' +'ST_SRID' +'ST_STARTPOINT' +'ST_SYMDIFFERENCE' +'ST_TOUCHES' +'ST_UNION' +'ST_WITHIN' +'ST_X' +'ST_Y' +'SUBDATE' +'SUBSTRING_INDEX' +'SUBTIME' +'SYSTEM_USER' +'TAN' +'TIMEDIFF' +'TIMESTAMPADD' +'TIMESTAMPDIFF' +'TIME_FORMAT' +'TIME_TO_SEC' +'TOUCHES' +'TO_BASE64' +'TO_DAYS' +'TO_SECONDS' +'UCASE' +'UNCOMPRESS' +'UNCOMPRESSED_LENGTH' +'UNHEX' +'UNIX_TIMESTAMP' +'UPDATEXML' +'UPPER' +'UUID' +'UUID_SHORT' +'VALIDATE_PASSWORD_STRENGTH' +'VERSION' +'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' +'WEEKDAY' +'WEEKOFYEAR' +'WEIGHT_STRING' +'WITHIN' +'YEARWEEK' +'Y' +'X' +':=' +'+=' +'-=' +'*=' +'/=' +'%=' +'&=' +'^=' +'|=' +'*' +'/' +'%' +'+' +'--' +'-' +'DIV' +'MOD' +'=' +'>' +'<' +'!' +'~' +'|' +'&' +'^' +'.' +'(' +')' +',' +';' +'@' +'0' +'1' +'2' +'\'' +'"' +'`' +':' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null + +token symbolic names: +null +SPACE +SPEC_MYSQL_COMMENT +COMMENT_INPUT +LINE_COMMENT +ADD +ALL +ALTER +ALWAYS +ANALYZE +AND +AS +ASC +BEFORE +BETWEEN +BOTH +BY +CALL +CASCADE +CASE +CAST +CHANGE +CHARACTER +CHECK +COLLATE +COLUMN +CONDITION +CONSTRAINT +CONTINUE +CONVERT +CREATE +CROSS +CURRENT +CURRENT_USER +CURSOR +DATABASE +DATABASES +DECLARE +DEFAULT +DELAYED +DELETE +DESC +DESCRIBE +DETERMINISTIC +DIAGNOSTICS +DISTINCT +DISTINCTROW +DROP +EACH +ELSE +ELSEIF +ENCLOSED +ESCAPED +EXISTS +EXIT +EXPLAIN +FALSE +FETCH +FOR +FORCE +FOREIGN +FROM +FULLTEXT +GENERATED +GET +GRANT +GROUP +HAVING +HIGH_PRIORITY +IF +IGNORE +IN +INDEX +INFILE +INNER +INOUT +INSERT +INTERVAL +INTO +IS +ITERATE +JOIN +KEY +KEYS +KILL +LEADING +LEAVE +LEFT +LIKE +LIMIT +LINEAR +LINES +LOAD +LOCK +LOOP +LOW_PRIORITY +MASTER_BIND +MASTER_SSL_VERIFY_SERVER_CERT +MATCH +MAXVALUE +MODIFIES +NATURAL +NOT +NO_WRITE_TO_BINLOG +NULL_LITERAL +NUMBER +ON +OPTIMIZE +OPTION +OPTIONALLY +OR +ORDER +OUT +OUTER +OUTFILE +PARTITION +PRIMARY +PROCEDURE +PURGE +RANGE +READ +READS +REFERENCES +REGEXP +RELEASE +RENAME +REPEAT +REPLACE +REQUIRE +RESIGNAL +RESTRICT +RETURN +REVOKE +RIGHT +RLIKE +SCHEMA +SCHEMAS +SELECT +SET +SEPARATOR +SHOW +SIGNAL +SPATIAL +SQL +SQLEXCEPTION +SQLSTATE +SQLWARNING +SQL_BIG_RESULT +SQL_CALC_FOUND_ROWS +SQL_SMALL_RESULT +SSL +STACKED +STARTING +STRAIGHT_JOIN +TABLE +TERMINATED +THEN +TO +TRAILING +TRIGGER +TRUE +UNDO +UNION +UNIQUE +UNLOCK +UNSIGNED +UPDATE +USAGE +USE +USING +VALUES +WHEN +WHERE +WHILE +WITH +WRITE +XOR +ZEROFILL +TINYINT +SMALLINT +MEDIUMINT +MIDDLEINT +INT +INT1 +INT2 +INT3 +INT4 +INT8 +INTEGER +BIGINT +REAL +DOUBLE +PRECISION +FLOAT +FLOAT4 +FLOAT8 +DECIMAL +DEC +NUMERIC +DATE +TIME +TIMESTAMP +DATETIME +YEAR +CHAR +VARCHAR +NVARCHAR +NATIONAL +BINARY +VARBINARY +TINYBLOB +BLOB +MEDIUMBLOB +LONG +LONGBLOB +TINYTEXT +TEXT +MEDIUMTEXT +LONGTEXT +ENUM +VARYING +SERIAL +YEAR_MONTH +DAY_HOUR +DAY_MINUTE +DAY_SECOND +HOUR_MINUTE +HOUR_SECOND +MINUTE_SECOND +SECOND_MICROSECOND +MINUTE_MICROSECOND +HOUR_MICROSECOND +DAY_MICROSECOND +JSON_VALID +JSON_SCHEMA_VALID +AVG +BIT_AND +BIT_OR +BIT_XOR +COUNT +GROUP_CONCAT +MAX +MIN +STD +STDDEV +STDDEV_POP +STDDEV_SAMP +SUM +VAR_POP +VAR_SAMP +VARIANCE +CURRENT_DATE +CURRENT_TIME +CURRENT_TIMESTAMP +LOCALTIME +CURDATE +CURTIME +DATE_ADD +DATE_SUB +EXTRACT +LOCALTIMESTAMP +NOW +POSITION +SUBSTR +SUBSTRING +SYSDATE +TRIM +UTC_DATE +UTC_TIME +UTC_TIMESTAMP +ACCOUNT +ACTION +AFTER +AGGREGATE +ALGORITHM +ANY +AT +AUTHORS +AUTOCOMMIT +AUTOEXTEND_SIZE +AUTO_INCREMENT +AVG_ROW_LENGTH +BEGIN +BINLOG +BIT +BLOCK +BOOL +BOOLEAN +BTREE +CACHE +CASCADED +CHAIN +CHANGED +CHANNEL +CHECKSUM +PAGE_CHECKSUM +CIPHER +CLASS_ORIGIN +CLIENT +CLOSE +COALESCE +CODE +COLUMNS +COLUMN_FORMAT +COLUMN_NAME +COMMENT +COMMIT +COMPACT +COMPLETION +COMPRESSED +COMPRESSION +CONCURRENT +CONNECTION +CONSISTENT +CONSTRAINT_CATALOG +CONSTRAINT_SCHEMA +CONSTRAINT_NAME +CONTAINS +CONTEXT +CONTRIBUTORS +COPY +CPU +CURSOR_NAME +DATA +DATAFILE +DEALLOCATE +DEFAULT_AUTH +DEFINER +DELAY_KEY_WRITE +DES_KEY_FILE +DIRECTORY +DISABLE +DISCARD +DISK +DO +DUMPFILE +DUPLICATE +DYNAMIC +ENABLE +ENCRYPTION +END +ENDS +ENGINE +ENGINES +ERROR +ERRORS +ESCAPE +EVEN +EVENT +EVENTS +EVERY +EXCHANGE +EXCLUSIVE +EXPIRE +EXPORT +EXTENDED +EXTENT_SIZE +FAST +FAULTS +FIELDS +FILE_BLOCK_SIZE +FILTER +FIRST +FIXED +FLUSH +FOLLOWS +FOUND +FULL +FUNCTION +GENERAL +GLOBAL +GRANTS +GROUP_REPLICATION +HANDLER +HASH +HELP +HOST +HOSTS +IDENTIFIED +IGNORE_SERVER_IDS +IMPORT +INDEXES +INITIAL_SIZE +INPLACE +INSERT_METHOD +INSTALL +INSTANCE +INVISIBLE +INVOKER +IO +IO_THREAD +IPC +ISOLATION +ISSUER +JSON +KEY_BLOCK_SIZE +LANGUAGE +LAST +LEAVES +LESS +LEVEL +LIST +LOCAL +LOGFILE +LOGS +MASTER +MASTER_AUTO_POSITION +MASTER_CONNECT_RETRY +MASTER_DELAY +MASTER_HEARTBEAT_PERIOD +MASTER_HOST +MASTER_LOG_FILE +MASTER_LOG_POS +MASTER_PASSWORD +MASTER_PORT +MASTER_RETRY_COUNT +MASTER_SSL +MASTER_SSL_CA +MASTER_SSL_CAPATH +MASTER_SSL_CERT +MASTER_SSL_CIPHER +MASTER_SSL_CRL +MASTER_SSL_CRLPATH +MASTER_SSL_KEY +MASTER_TLS_VERSION +MASTER_USER +MAX_CONNECTIONS_PER_HOUR +MAX_QUERIES_PER_HOUR +MAX_ROWS +MAX_SIZE +MAX_UPDATES_PER_HOUR +MAX_USER_CONNECTIONS +MEDIUM +MERGE +MESSAGE_TEXT +MID +MIGRATE +MIN_ROWS +MODE +MODIFY +MUTEX +MYSQL +MYSQL_ERRNO +NAME +NAMES +NCHAR +NEVER +NEXT +NO +NODEGROUP +NONE +OFFLINE +OFFSET +OJ +OLD_PASSWORD +ONE +ONLINE +ONLY +OPEN +OPTIMIZER_COSTS +OPTIONS +OWNER +PACK_KEYS +PAGE +PARSER +PARTIAL +PARTITIONING +PARTITIONS +PASSWORD +PHASE +PLUGIN +PLUGIN_DIR +PLUGINS +PORT +PRECEDES +PREPARE +PRESERVE +PREV +PROCESSLIST +PROFILE +PROFILES +PROXY +QUERY +QUICK +REBUILD +RECOVER +REDO_BUFFER_SIZE +REDUNDANT +RELAY +RELAY_LOG_FILE +RELAY_LOG_POS +RELAYLOG +REMOVE +REORGANIZE +REPAIR +REPLICATE_DO_DB +REPLICATE_DO_TABLE +REPLICATE_IGNORE_DB +REPLICATE_IGNORE_TABLE +REPLICATE_REWRITE_DB +REPLICATE_WILD_DO_TABLE +REPLICATE_WILD_IGNORE_TABLE +REPLICATION +RESET +RESUME +RETURNED_SQLSTATE +RETURNS +ROLE +ROLLBACK +ROLLUP +ROTATE +ROW +ROWS +ROW_FORMAT +SAVEPOINT +SCHEDULE +SECURITY +SERVER +SESSION +SHARE +SHARED +SIGNED +SIMPLE +SLAVE +SLOW +SNAPSHOT +SOCKET +SOME +SONAME +SOUNDS +SOURCE +SQL_AFTER_GTIDS +SQL_AFTER_MTS_GAPS +SQL_BEFORE_GTIDS +SQL_BUFFER_RESULT +SQL_CACHE +SQL_NO_CACHE +SQL_THREAD +START +STARTS +STATS_AUTO_RECALC +STATS_PERSISTENT +STATS_SAMPLE_PAGES +STATUS +STOP +STORAGE +STORED +STRING +SUBCLASS_ORIGIN +SUBJECT +SUBPARTITION +SUBPARTITIONS +SUSPEND +SWAPS +SWITCHES +TABLE_NAME +TABLESPACE +TEMPORARY +TEMPTABLE +THAN +TRADITIONAL +TRANSACTION +TRANSACTIONAL +TRIGGERS +TRUNCATE +UNDEFINED +UNDOFILE +UNDO_BUFFER_SIZE +UNINSTALL +UNKNOWN +UNTIL +UPGRADE +USER +USE_FRM +USER_RESOURCES +VALIDATION +VALUE +VARIABLES +VIEW +VIRTUAL +VISIBLE +WAIT +WARNINGS +WITHOUT +WORK +WRAPPER +X509 +XA +XML +EUR +USA +JIS +ISO +INTERNAL +QUARTER +MONTH +DAY +HOUR +MINUTE +WEEK +SECOND +MICROSECOND +TABLES +ROUTINE +EXECUTE +FILE +PROCESS +RELOAD +SHUTDOWN +SUPER +PRIVILEGES +APPLICATION_PASSWORD_ADMIN +AUDIT_ADMIN +BACKUP_ADMIN +BINLOG_ADMIN +BINLOG_ENCRYPTION_ADMIN +CLONE_ADMIN +CONNECTION_ADMIN +ENCRYPTION_KEY_ADMIN +FIREWALL_ADMIN +FIREWALL_USER +GROUP_REPLICATION_ADMIN +INNODB_REDO_LOG_ARCHIVE +NDB_STORED_USER +PERSIST_RO_VARIABLES_ADMIN +REPLICATION_APPLIER +REPLICATION_SLAVE_ADMIN +RESOURCE_GROUP_ADMIN +RESOURCE_GROUP_USER +ROLE_ADMIN +SESSION_VARIABLES_ADMIN +SET_USER_ID +SHOW_ROUTINE +SYSTEM_VARIABLES_ADMIN +TABLE_ENCRYPTION_ADMIN +VERSION_TOKEN_ADMIN +XA_RECOVER_ADMIN +ARMSCII8 +ASCII +BIG5 +CP1250 +CP1251 +CP1256 +CP1257 +CP850 +CP852 +CP866 +CP932 +DEC8 +EUCJPMS +EUCKR +GB2312 +GBK +GEOSTD8 +GREEK +HEBREW +HP8 +KEYBCS2 +KOI8R +KOI8U +LATIN1 +LATIN2 +LATIN5 +LATIN7 +MACCE +MACROMAN +SJIS +SWE7 +TIS620 +UCS2 +UJIS +UTF16 +UTF16LE +UTF32 +UTF8 +UTF8MB3 +UTF8MB4 +ARCHIVE +BLACKHOLE +CSV +FEDERATED +INNODB +MEMORY +MRG_MYISAM +MYISAM +NDB +NDBCLUSTER +PERFORMANCE_SCHEMA +TOKUDB +REPEATABLE +COMMITTED +UNCOMMITTED +SERIALIZABLE +GEOMETRYCOLLECTION +GEOMCOLLECTION +GEOMETRY +LINESTRING +MULTILINESTRING +MULTIPOINT +MULTIPOLYGON +POINT +POLYGON +ABS +ACOS +ADDDATE +ADDTIME +AES_DECRYPT +AES_ENCRYPT +AREA +ASBINARY +ASIN +ASTEXT +ASWKB +ASWKT +ASYMMETRIC_DECRYPT +ASYMMETRIC_DERIVE +ASYMMETRIC_ENCRYPT +ASYMMETRIC_SIGN +ASYMMETRIC_VERIFY +ATAN +ATAN2 +BENCHMARK +BIN +BIT_COUNT +BIT_LENGTH +BUFFER +CATALOG_NAME +CEIL +CEILING +CENTROID +CHARACTER_LENGTH +CHARSET +CHAR_LENGTH +COERCIBILITY +COLLATION +COMPRESS +CONCAT +CONCAT_WS +CONNECTION_ID +CONV +CONVERT_TZ +COS +COT +CRC32 +CREATE_ASYMMETRIC_PRIV_KEY +CREATE_ASYMMETRIC_PUB_KEY +CREATE_DH_PARAMETERS +CREATE_DIGEST +CROSSES +DATEDIFF +DATE_FORMAT +DAYNAME +DAYOFMONTH +DAYOFWEEK +DAYOFYEAR +DECODE +DEGREES +DES_DECRYPT +DES_ENCRYPT +DIMENSION +DISJOINT +ELT +ENCODE +ENCRYPT +ENDPOINT +ENVELOPE +EQUALS +EXP +EXPORT_SET +EXTERIORRING +EXTRACTVALUE +FIELD +FIND_IN_SET +FLOOR +FORMAT +FOUND_ROWS +FROM_BASE64 +FROM_DAYS +FROM_UNIXTIME +GEOMCOLLFROMTEXT +GEOMCOLLFROMWKB +GEOMETRYCOLLECTIONFROMTEXT +GEOMETRYCOLLECTIONFROMWKB +GEOMETRYFROMTEXT +GEOMETRYFROMWKB +GEOMETRYN +GEOMETRYTYPE +GEOMFROMTEXT +GEOMFROMWKB +GET_FORMAT +GET_LOCK +GLENGTH +GREATEST +GTID_SUBSET +GTID_SUBTRACT +HEX +IFNULL +INET6_ATON +INET6_NTOA +INET_ATON +INET_NTOA +INSTR +INTERIORRINGN +INTERSECTS +ISCLOSED +ISEMPTY +ISNULL +ISSIMPLE +IS_FREE_LOCK +IS_IPV4 +IS_IPV4_COMPAT +IS_IPV4_MAPPED +IS_IPV6 +IS_USED_LOCK +LAST_INSERT_ID +LCASE +LEAST +LENGTH +LINEFROMTEXT +LINEFROMWKB +LINESTRINGFROMTEXT +LINESTRINGFROMWKB +LN +LOAD_FILE +LOCATE +LOG +LOG10 +LOG2 +LOWER +LPAD +LTRIM +MAKEDATE +MAKETIME +MAKE_SET +MASTER_POS_WAIT +MBRCONTAINS +MBRDISJOINT +MBREQUAL +MBRINTERSECTS +MBROVERLAPS +MBRTOUCHES +MBRWITHIN +MD5 +MLINEFROMTEXT +MLINEFROMWKB +MONTHNAME +MPOINTFROMTEXT +MPOINTFROMWKB +MPOLYFROMTEXT +MPOLYFROMWKB +MULTILINESTRINGFROMTEXT +MULTILINESTRINGFROMWKB +MULTIPOINTFROMTEXT +MULTIPOINTFROMWKB +MULTIPOLYGONFROMTEXT +MULTIPOLYGONFROMWKB +NAME_CONST +NULLIF +NUMGEOMETRIES +NUMINTERIORRINGS +NUMPOINTS +OCT +OCTET_LENGTH +ORD +OVERLAPS +PERIOD_ADD +PERIOD_DIFF +PI +POINTFROMTEXT +POINTFROMWKB +POINTN +POLYFROMTEXT +POLYFROMWKB +POLYGONFROMTEXT +POLYGONFROMWKB +POW +POWER +QUOTE +RADIANS +RAND +RANDOM_BYTES +RELEASE_LOCK +REVERSE +ROUND +ROW_COUNT +RPAD +RTRIM +SEC_TO_TIME +SESSION_USER +SHA +SHA1 +SHA2 +SCHEMA_NAME +SIGN +SIN +SLEEP +SOUNDEX +SQL_THREAD_WAIT_AFTER_GTIDS +SQRT +SRID +STARTPOINT +STRCMP +STR_TO_DATE +ST_AREA +ST_ASBINARY +ST_ASTEXT +ST_ASWKB +ST_ASWKT +ST_BUFFER +ST_CENTROID +ST_CONTAINS +ST_CROSSES +ST_DIFFERENCE +ST_DIMENSION +ST_DISJOINT +ST_DISTANCE +ST_ENDPOINT +ST_ENVELOPE +ST_EQUALS +ST_EXTERIORRING +ST_GEOMCOLLFROMTEXT +ST_GEOMCOLLFROMTXT +ST_GEOMCOLLFROMWKB +ST_GEOMETRYCOLLECTIONFROMTEXT +ST_GEOMETRYCOLLECTIONFROMWKB +ST_GEOMETRYFROMTEXT +ST_GEOMETRYFROMWKB +ST_GEOMETRYN +ST_GEOMETRYTYPE +ST_GEOMFROMTEXT +ST_GEOMFROMWKB +ST_INTERIORRINGN +ST_INTERSECTION +ST_INTERSECTS +ST_ISCLOSED +ST_ISEMPTY +ST_ISSIMPLE +ST_LINEFROMTEXT +ST_LINEFROMWKB +ST_LINESTRINGFROMTEXT +ST_LINESTRINGFROMWKB +ST_NUMGEOMETRIES +ST_NUMINTERIORRING +ST_NUMINTERIORRINGS +ST_NUMPOINTS +ST_OVERLAPS +ST_POINTFROMTEXT +ST_POINTFROMWKB +ST_POINTN +ST_POLYFROMTEXT +ST_POLYFROMWKB +ST_POLYGONFROMTEXT +ST_POLYGONFROMWKB +ST_SRID +ST_STARTPOINT +ST_SYMDIFFERENCE +ST_TOUCHES +ST_UNION +ST_WITHIN +ST_X +ST_Y +SUBDATE +SUBSTRING_INDEX +SUBTIME +SYSTEM_USER +TAN +TIMEDIFF +TIMESTAMPADD +TIMESTAMPDIFF +TIME_FORMAT +TIME_TO_SEC +TOUCHES +TO_BASE64 +TO_DAYS +TO_SECONDS +UCASE +UNCOMPRESS +UNCOMPRESSED_LENGTH +UNHEX +UNIX_TIMESTAMP +UPDATEXML +UPPER +UUID +UUID_SHORT +VALIDATE_PASSWORD_STRENGTH +VERSION +WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS +WEEKDAY +WEEKOFYEAR +WEIGHT_STRING +WITHIN +YEARWEEK +Y_FUNCTION +X_FUNCTION +VAR_ASSIGN +PLUS_ASSIGN +MINUS_ASSIGN +MULT_ASSIGN +DIV_ASSIGN +MOD_ASSIGN +AND_ASSIGN +XOR_ASSIGN +OR_ASSIGN +STAR +DIVIDE +MODULE +PLUS +MINUSMINUS +MINUS +DIV +MOD +EQUAL_SYMBOL +GREATER_SYMBOL +LESS_SYMBOL +EXCLAMATION_SYMBOL +BIT_NOT_OP +BIT_OR_OP +BIT_AND_OP +BIT_XOR_OP +DOT +LR_BRACKET +RR_BRACKET +COMMA +SEMI +AT_SIGN +ZERO_DECIMAL +ONE_DECIMAL +TWO_DECIMAL +SINGLE_QUOTE_SYMB +DOUBLE_QUOTE_SYMB +REVERSE_QUOTE_SYMB +COLON_SYMB +CHARSET_REVERSE_QOUTE_STRING +FILESIZE_LITERAL +START_NATIONAL_STRING_LITERAL +STRING_LITERAL +DECIMAL_LITERAL +HEXADECIMAL_LITERAL +REAL_LITERAL +NULL_SPEC_LITERAL +BIT_STRING +STRING_CHARSET_NAME +DOT_ID +ID +REVERSE_QUOTE_ID +STRING_USER_NAME +LOCAL_ID +GLOBAL_ID +ERROR_RECONGNIGION + +rule names: +program +statement +sqlStatements +sqlStatement +emptyStatement +ddlStatement +dmlStatement +transactionStatement +replicationStatement +preparedStatement +compoundStatement +administrationStatement +utilityStatement +createDatabase +createEvent +createIndex +createLogfileGroup +createProcedure +createFunction +createServer +createTable +createTablespaceInnodb +createTablespaceNdb +createTrigger +createView +createDatabaseOption +ownerStatement +scheduleExpression +timestampValue +intervalExpr +intervalType +enableType +indexType +indexOption +procedureParameter +functionParameter +routineOption +serverOption +createDefinitions +createDefinition +columnDefinition +columnConstraint +tableConstraint +referenceDefinition +referenceAction +referenceControlType +indexColumnDefinition +tableOption +tablespaceStorage +partitionDefinitions +partitionFunctionDefinition +subpartitionFunctionDefinition +partitionDefinition +partitionDefinerAtom +partitionDefinerVector +subpartitionDefinition +partitionOption +alterDatabase +alterEvent +alterFunction +alterInstance +alterLogfileGroup +alterProcedure +alterServer +alterTable +alterTablespace +alterView +alterSpecification +dropDatabase +dropEvent +dropIndex +dropLogfileGroup +dropProcedure +dropFunction +dropServer +dropTable +dropTablespace +dropTrigger +dropView +renameTable +renameTableClause +truncateTable +callStatement +deleteStatement +doStatement +handlerStatement +insertStatement +loadDataStatement +loadXmlStatement +replaceStatement +selectStatement +updateStatement +insertStatementValue +updatedElement +assignmentField +lockClause +singleDeleteStatement +multipleDeleteStatement +handlerOpenStatement +handlerReadIndexStatement +handlerReadStatement +handlerCloseStatement +singleUpdateStatement +multipleUpdateStatement +orderByClause +orderByExpression +tableSources +tableSource +tableSourceItem +indexHint +indexHintType +joinPart +queryExpression +queryExpressionNointo +querySpecification +querySpecificationNointo +unionParenthesis +unionStatement +selectSpec +selectElements +selectElement +selectIntoExpression +selectFieldsInto +selectLinesInto +fromClause +groupByItem +limitClause +limitClauseAtom +startTransaction +beginWork +commitWork +rollbackWork +savepointStatement +rollbackStatement +releaseStatement +lockTables +unlockTables +setAutocommitStatement +setTransactionStatement +transactionMode +lockTableElement +lockAction +transactionOption +transactionLevel +changeMaster +changeReplicationFilter +purgeBinaryLogs +resetMaster +resetSlave +startSlave +stopSlave +startGroupReplication +stopGroupReplication +masterOption +stringMasterOption +decimalMasterOption +boolMasterOption +channelOption +replicationFilter +tablePair +threadType +untilOption +connectionOption +gtuidSet +xaStartTransaction +xaEndTransaction +xaPrepareStatement +xaCommitWork +xaRollbackWork +xaRecoverWork +prepareStatement +executeStatement +deallocatePrepare +routineBody +blockStatement +caseStatement +ifStatement +iterateStatement +leaveStatement +loopStatement +repeatStatement +returnStatement +whileStatement +cursorStatement +declareVariable +declareCondition +declareCursor +declareHandler +handlerConditionValue +procedureSqlStatement +caseAlternative +elifAlternative +alterUser +createUser +dropUser +grantStatement +grantProxy +renameUser +revokeStatement +revokeProxy +setPasswordStatement +userSpecification +userAuthOption +tlsOption +userResourceOption +userPasswordOption +userLockOption +privelegeClause +privilege +privilegeLevel +renameUserClause +analyzeTable +checkTable +checksumTable +optimizeTable +repairTable +checkTableOption +createUdfunction +installPlugin +uninstallPlugin +setStatement +showStatement +variableClause +showCommonEntity +showFilter +showGlobalInfoClause +showSchemaEntity +showProfileType +binlogStatement +cacheIndexStatement +flushStatement +killStatement +loadIndexIntoCache +resetStatement +shutdownStatement +tableIndexes +flushOption +flushTableOption +loadedTableIndexes +simpleDescribeStatement +fullDescribeStatement +helpStatement +useStatement +signalStatement +resignalStatement +signalConditionInformation +diagnosticsStatement +diagnosticsConditionInformationName +describeObjectClause +fullId +tableName +fullColumnName +indexColumnName +userName +mysqlVariable +charsetName +collationName +engineName +uuidSet +xid +xuidStringId +authPlugin +uid +simpleId +dottedId +decimalLiteral +fileSizeLiteral +stringLiteral +booleanLiteral +hexadecimalLiteral +nullNotnull +constant +dataType +collectionOptions +convertedDataType +lengthOneDimension +lengthTwoDimension +lengthTwoOptionalDimension +uidList +tables +indexColumnNames +expressions +expressionsWithDefaults +constants +simpleStrings +userVariables +defaultValue +currentTimestamp +expressionOrDefault +ifExists +ifNotExists +functionCall +specificFunction +caseFuncAlternative +levelsInWeightString +levelInWeightListElement +aggregateWindowedFunction +scalarFunctionName +passwordFunctionClause +functionArgs +functionArg +expression +predicate +expressionAtom +unaryOperator +comparisonOperator +logicalOperator +bitOperator +mathOperator +charsetNameBase +transactionLevelBase +privilegesBase +intervalTypeBase +dataTypeBase +keywordsCanBeId +functionNameBase + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 1050, 6384, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 3, 2, 3, 2, 3, 2, 3, 3, 5, 3, 639, 10, 3, 3, 3, 5, 3, 642, 10, 3, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 648, 10, 4, 3, 4, 5, 4, 651, 10, 4, 3, 4, 7, 4, 654, 10, 4, 12, 4, 14, 4, 657, 11, 4, 3, 4, 3, 4, 5, 4, 661, 10, 4, 3, 4, 5, 4, 664, 10, 4, 3, 4, 5, 4, 667, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 676, 10, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 715, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 727, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 738, 10, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 5, 10, 755, 10, 10, 3, 11, 3, 11, 3, 11, 5, 11, 760, 10, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 5, 12, 772, 10, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 5, 13, 799, 10, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 5, 14, 808, 10, 14, 3, 15, 3, 15, 3, 15, 5, 15, 813, 10, 15, 3, 15, 3, 15, 7, 15, 817, 10, 15, 12, 15, 14, 15, 820, 11, 15, 3, 16, 3, 16, 5, 16, 824, 10, 16, 3, 16, 3, 16, 5, 16, 828, 10, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 837, 10, 16, 3, 16, 5, 16, 840, 10, 16, 3, 16, 5, 16, 843, 10, 16, 3, 16, 3, 16, 5, 16, 847, 10, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 5, 17, 854, 10, 17, 3, 17, 5, 17, 857, 10, 17, 3, 17, 3, 17, 3, 17, 5, 17, 862, 10, 17, 3, 17, 3, 17, 3, 17, 3, 17, 7, 17, 868, 10, 17, 12, 17, 14, 17, 871, 11, 17, 3, 17, 3, 17, 5, 17, 875, 10, 17, 3, 17, 3, 17, 3, 17, 5, 17, 880, 10, 17, 3, 17, 7, 17, 883, 10, 17, 12, 17, 14, 17, 886, 11, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 897, 10, 18, 3, 18, 5, 18, 900, 10, 18, 3, 18, 3, 18, 5, 18, 904, 10, 18, 3, 18, 5, 18, 907, 10, 18, 3, 18, 3, 18, 5, 18, 911, 10, 18, 3, 18, 5, 18, 914, 10, 18, 3, 18, 3, 18, 5, 18, 918, 10, 18, 3, 18, 5, 18, 921, 10, 18, 3, 18, 5, 18, 924, 10, 18, 3, 18, 3, 18, 5, 18, 928, 10, 18, 3, 18, 5, 18, 931, 10, 18, 3, 18, 3, 18, 5, 18, 935, 10, 18, 3, 18, 3, 18, 3, 19, 3, 19, 5, 19, 941, 10, 19, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 947, 10, 19, 3, 19, 3, 19, 7, 19, 951, 10, 19, 12, 19, 14, 19, 954, 11, 19, 3, 19, 3, 19, 7, 19, 958, 10, 19, 12, 19, 14, 19, 961, 11, 19, 3, 19, 3, 19, 3, 20, 3, 20, 5, 20, 967, 10, 20, 3, 20, 3, 20, 3, 20, 3, 20, 5, 20, 973, 10, 20, 3, 20, 3, 20, 7, 20, 977, 10, 20, 12, 20, 14, 20, 980, 11, 20, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 986, 10, 20, 12, 20, 14, 20, 989, 11, 20, 3, 20, 3, 20, 5, 20, 993, 10, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 7, 21, 1007, 10, 21, 12, 21, 14, 21, 1010, 11, 21, 3, 21, 3, 21, 3, 22, 3, 22, 5, 22, 1016, 10, 22, 3, 22, 3, 22, 5, 22, 1020, 10, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 5, 22, 1030, 10, 22, 3, 22, 3, 22, 5, 22, 1034, 10, 22, 3, 22, 3, 22, 5, 22, 1038, 10, 22, 3, 22, 3, 22, 5, 22, 1042, 10, 22, 3, 22, 3, 22, 5, 22, 1046, 10, 22, 3, 22, 7, 22, 1049, 10, 22, 12, 22, 14, 22, 1052, 11, 22, 5, 22, 1054, 10, 22, 3, 22, 5, 22, 1057, 10, 22, 3, 22, 5, 22, 1060, 10, 22, 3, 22, 5, 22, 1063, 10, 22, 3, 22, 3, 22, 3, 22, 3, 22, 5, 22, 1069, 10, 22, 3, 22, 3, 22, 5, 22, 1073, 10, 22, 3, 22, 3, 22, 3, 22, 3, 22, 5, 22, 1079, 10, 22, 3, 22, 7, 22, 1082, 10, 22, 12, 22, 14, 22, 1085, 11, 22, 5, 22, 1087, 10, 22, 3, 22, 5, 22, 1090, 10, 22, 5, 22, 1092, 10, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 1103, 10, 23, 3, 23, 3, 23, 5, 23, 1107, 10, 23, 3, 23, 5, 23, 1110, 10, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 5, 24, 1124, 10, 24, 3, 24, 5, 24, 1127, 10, 24, 3, 24, 3, 24, 5, 24, 1131, 10, 24, 3, 24, 5, 24, 1134, 10, 24, 3, 24, 3, 24, 5, 24, 1138, 10, 24, 3, 24, 5, 24, 1141, 10, 24, 3, 24, 3, 24, 5, 24, 1145, 10, 24, 3, 24, 5, 24, 1148, 10, 24, 3, 24, 3, 24, 5, 24, 1152, 10, 24, 3, 24, 5, 24, 1155, 10, 24, 3, 24, 5, 24, 1158, 10, 24, 3, 24, 3, 24, 5, 24, 1162, 10, 24, 3, 24, 5, 24, 1165, 10, 24, 3, 24, 3, 24, 5, 24, 1169, 10, 24, 3, 24, 3, 24, 3, 25, 3, 25, 5, 25, 1175, 10, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 5, 25, 1188, 10, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 5, 26, 1195, 10, 26, 3, 26, 3, 26, 3, 26, 5, 26, 1200, 10, 26, 3, 26, 5, 26, 1203, 10, 26, 3, 26, 3, 26, 3, 26, 5, 26, 1208, 10, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 5, 26, 1216, 10, 26, 3, 26, 3, 26, 3, 26, 3, 26, 5, 26, 1222, 10, 26, 3, 26, 3, 26, 5, 26, 1226, 10, 26, 3, 27, 5, 27, 1229, 10, 27, 3, 27, 3, 27, 3, 27, 5, 27, 1234, 10, 27, 3, 27, 5, 27, 1237, 10, 27, 3, 27, 3, 27, 5, 27, 1241, 10, 27, 3, 27, 5, 27, 1244, 10, 27, 3, 27, 3, 27, 5, 27, 1248, 10, 27, 3, 27, 5, 27, 1251, 10, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 5, 28, 1259, 10, 28, 5, 28, 1261, 10, 28, 3, 29, 3, 29, 3, 29, 7, 29, 1266, 10, 29, 12, 29, 14, 29, 1269, 11, 29, 3, 29, 3, 29, 3, 29, 5, 29, 1274, 10, 29, 3, 29, 3, 29, 3, 29, 3, 29, 7, 29, 1280, 10, 29, 12, 29, 14, 29, 1283, 11, 29, 5, 29, 1285, 10, 29, 3, 29, 3, 29, 3, 29, 7, 29, 1290, 10, 29, 12, 29, 14, 29, 1293, 11, 29, 5, 29, 1295, 10, 29, 5, 29, 1297, 10, 29, 3, 30, 3, 30, 3, 30, 3, 30, 5, 30, 1303, 10, 30, 3, 31, 3, 31, 3, 31, 3, 31, 5, 31, 1309, 10, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 5, 32, 1326, 10, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 5, 33, 1333, 10, 33, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 5, 35, 1340, 10, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 5, 35, 1351, 10, 35, 3, 36, 5, 36, 1354, 10, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 5, 38, 1367, 10, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 5, 38, 1380, 10, 38, 3, 38, 3, 38, 3, 38, 5, 38, 1385, 10, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 5, 39, 1401, 10, 39, 3, 40, 3, 40, 3, 40, 3, 40, 7, 40, 1407, 10, 40, 12, 40, 14, 40, 1410, 11, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 5, 41, 1419, 10, 41, 3, 42, 3, 42, 7, 42, 1423, 10, 42, 12, 42, 14, 42, 1426, 11, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1435, 10, 43, 3, 43, 5, 43, 1438, 10, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1443, 10, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1456, 10, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1463, 10, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1470, 10, 43, 5, 43, 1472, 10, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1479, 10, 43, 3, 44, 3, 44, 5, 44, 1483, 10, 44, 5, 44, 1485, 10, 44, 3, 44, 3, 44, 3, 44, 5, 44, 1490, 10, 44, 3, 44, 5, 44, 1493, 10, 44, 3, 44, 3, 44, 7, 44, 1497, 10, 44, 12, 44, 14, 44, 1500, 11, 44, 3, 44, 3, 44, 5, 44, 1504, 10, 44, 5, 44, 1506, 10, 44, 3, 44, 3, 44, 5, 44, 1510, 10, 44, 3, 44, 5, 44, 1513, 10, 44, 3, 44, 5, 44, 1516, 10, 44, 3, 44, 3, 44, 7, 44, 1520, 10, 44, 12, 44, 14, 44, 1523, 11, 44, 3, 44, 3, 44, 5, 44, 1527, 10, 44, 5, 44, 1529, 10, 44, 3, 44, 3, 44, 3, 44, 5, 44, 1534, 10, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 5, 44, 1541, 10, 44, 5, 44, 1543, 10, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 5, 44, 1550, 10, 44, 3, 45, 3, 45, 3, 45, 5, 45, 1555, 10, 45, 3, 45, 3, 45, 5, 45, 1559, 10, 45, 3, 45, 5, 45, 1562, 10, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 5, 46, 1570, 10, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 5, 46, 1578, 10, 46, 5, 46, 1580, 10, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 5, 47, 1588, 10, 47, 3, 48, 3, 48, 5, 48, 1592, 10, 48, 3, 48, 5, 48, 1595, 10, 48, 3, 48, 3, 48, 7, 48, 1599, 10, 48, 12, 48, 14, 48, 1602, 11, 48, 3, 48, 3, 48, 5, 48, 1606, 10, 48, 3, 48, 5, 48, 1609, 10, 48, 3, 48, 3, 48, 7, 48, 1613, 10, 48, 12, 48, 14, 48, 1616, 11, 48, 5, 48, 1618, 10, 48, 3, 49, 3, 49, 5, 49, 1622, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1627, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1632, 10, 49, 3, 49, 3, 49, 5, 49, 1636, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1641, 10, 49, 3, 49, 5, 49, 1644, 10, 49, 3, 49, 3, 49, 5, 49, 1648, 10, 49, 3, 49, 3, 49, 5, 49, 1652, 10, 49, 3, 49, 3, 49, 5, 49, 1656, 10, 49, 3, 49, 3, 49, 5, 49, 1660, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1665, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1670, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1675, 10, 49, 3, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1681, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1686, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1691, 10, 49, 3, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1697, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1702, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1707, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1712, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1717, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1722, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1727, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1732, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1737, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1742, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1747, 10, 49, 3, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1753, 10, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1758, 10, 49, 3, 49, 3, 49, 3, 49, 3, 49, 5, 49, 1764, 10, 49, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 5, 51, 1774, 10, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 5, 51, 1781, 10, 51, 5, 51, 1783, 10, 51, 3, 51, 3, 51, 3, 51, 3, 51, 7, 51, 1789, 10, 51, 12, 51, 14, 51, 1792, 11, 51, 3, 51, 3, 51, 5, 51, 1796, 10, 51, 3, 52, 5, 52, 1799, 10, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1807, 10, 52, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1813, 10, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1829, 10, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1841, 10, 52, 5, 52, 1843, 10, 52, 3, 53, 5, 53, 1846, 10, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 5, 53, 1854, 10, 53, 3, 53, 3, 53, 3, 53, 3, 53, 5, 53, 1860, 10, 53, 3, 53, 3, 53, 3, 53, 3, 53, 5, 53, 1866, 10, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1877, 10, 54, 12, 54, 14, 54, 1880, 11, 54, 3, 54, 3, 54, 7, 54, 1884, 10, 54, 12, 54, 14, 54, 1887, 11, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1892, 10, 54, 12, 54, 14, 54, 1895, 11, 54, 5, 54, 1897, 10, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1906, 10, 54, 12, 54, 14, 54, 1909, 11, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1914, 10, 54, 12, 54, 14, 54, 1917, 11, 54, 5, 54, 1919, 10, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1929, 10, 54, 12, 54, 14, 54, 1932, 11, 54, 3, 54, 3, 54, 7, 54, 1936, 10, 54, 12, 54, 14, 54, 1939, 11, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1944, 10, 54, 12, 54, 14, 54, 1947, 11, 54, 5, 54, 1949, 10, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1959, 10, 54, 12, 54, 14, 54, 1962, 11, 54, 3, 54, 3, 54, 7, 54, 1966, 10, 54, 12, 54, 14, 54, 1969, 11, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1974, 10, 54, 12, 54, 14, 54, 1977, 11, 54, 5, 54, 1979, 10, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1984, 10, 54, 12, 54, 14, 54, 1987, 11, 54, 3, 54, 3, 54, 3, 54, 7, 54, 1992, 10, 54, 12, 54, 14, 54, 1995, 11, 54, 5, 54, 1997, 10, 54, 5, 54, 1999, 10, 54, 3, 55, 3, 55, 3, 55, 5, 55, 2004, 10, 55, 3, 56, 3, 56, 3, 56, 3, 56, 6, 56, 2010, 10, 56, 13, 56, 14, 56, 2011, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 7, 57, 2019, 10, 57, 12, 57, 14, 57, 2022, 11, 57, 3, 58, 5, 58, 2025, 10, 58, 3, 58, 3, 58, 5, 58, 2029, 10, 58, 3, 58, 3, 58, 3, 58, 5, 58, 2034, 10, 58, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 2040, 10, 58, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 2046, 10, 58, 3, 58, 3, 58, 3, 58, 5, 58, 2051, 10, 58, 3, 58, 3, 58, 3, 58, 5, 58, 2056, 10, 58, 3, 58, 3, 58, 3, 58, 5, 58, 2061, 10, 58, 3, 58, 3, 58, 3, 58, 5, 58, 2066, 10, 58, 3, 58, 5, 58, 2069, 10, 58, 3, 59, 3, 59, 3, 59, 5, 59, 2074, 10, 59, 3, 59, 6, 59, 2077, 10, 59, 13, 59, 14, 59, 2078, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 5, 59, 2089, 10, 59, 3, 60, 3, 60, 5, 60, 2093, 10, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 5, 60, 2100, 10, 60, 3, 60, 3, 60, 3, 60, 5, 60, 2105, 10, 60, 3, 60, 5, 60, 2108, 10, 60, 3, 60, 3, 60, 3, 60, 5, 60, 2113, 10, 60, 3, 60, 5, 60, 2116, 10, 60, 3, 60, 3, 60, 5, 60, 2120, 10, 60, 3, 60, 3, 60, 5, 60, 2124, 10, 60, 3, 61, 3, 61, 3, 61, 3, 61, 7, 61, 2130, 10, 61, 12, 61, 14, 61, 2133, 11, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 5, 63, 2151, 10, 63, 3, 63, 5, 63, 2154, 10, 63, 3, 63, 5, 63, 2157, 10, 63, 3, 63, 3, 63, 5, 63, 2161, 10, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 7, 64, 2169, 10, 64, 12, 64, 14, 64, 2172, 11, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 7, 65, 2182, 10, 65, 12, 65, 14, 65, 2185, 11, 65, 3, 65, 3, 65, 3, 66, 3, 66, 5, 66, 2191, 10, 66, 3, 66, 5, 66, 2194, 10, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 7, 66, 2201, 10, 66, 12, 66, 14, 66, 2204, 11, 66, 5, 66, 2206, 10, 66, 3, 66, 5, 66, 2209, 10, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 5, 67, 2220, 10, 67, 3, 67, 5, 67, 2223, 10, 67, 3, 67, 3, 67, 5, 67, 2227, 10, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2235, 10, 68, 3, 68, 5, 68, 2238, 10, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2243, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2251, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2257, 10, 68, 3, 68, 3, 68, 5, 68, 2261, 10, 68, 3, 69, 3, 69, 5, 69, 2265, 10, 69, 3, 69, 7, 69, 2268, 10, 69, 12, 69, 14, 69, 2271, 11, 69, 3, 69, 3, 69, 5, 69, 2275, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2282, 10, 69, 3, 69, 3, 69, 5, 69, 2286, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 7, 69, 2295, 10, 69, 12, 69, 14, 69, 2298, 11, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2305, 10, 69, 3, 69, 5, 69, 2308, 10, 69, 3, 69, 3, 69, 7, 69, 2312, 10, 69, 12, 69, 14, 69, 2315, 11, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2320, 10, 69, 5, 69, 2322, 10, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2327, 10, 69, 3, 69, 5, 69, 2330, 10, 69, 3, 69, 3, 69, 7, 69, 2334, 10, 69, 12, 69, 14, 69, 2337, 11, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2342, 10, 69, 5, 69, 2344, 10, 69, 3, 69, 3, 69, 5, 69, 2348, 10, 69, 3, 69, 5, 69, 2351, 10, 69, 3, 69, 5, 69, 2354, 10, 69, 3, 69, 3, 69, 7, 69, 2358, 10, 69, 12, 69, 14, 69, 2361, 11, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2366, 10, 69, 3, 69, 5, 69, 2369, 10, 69, 3, 69, 3, 69, 7, 69, 2373, 10, 69, 12, 69, 14, 69, 2376, 11, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2381, 10, 69, 5, 69, 2383, 10, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2388, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2396, 10, 69, 5, 69, 2398, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2407, 10, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2412, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2420, 10, 69, 3, 69, 3, 69, 5, 69, 2424, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2432, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2442, 10, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2447, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2454, 10, 69, 3, 69, 3, 69, 5, 69, 2458, 10, 69, 3, 69, 3, 69, 5, 69, 2462, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2491, 10, 69, 3, 69, 3, 69, 5, 69, 2495, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2507, 10, 69, 3, 69, 5, 69, 2510, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2519, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 7, 69, 2534, 10, 69, 12, 69, 14, 69, 2537, 11, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2548, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2555, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2562, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 7, 69, 2575, 10, 69, 12, 69, 14, 69, 2578, 11, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2590, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2596, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2602, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2608, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2614, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2620, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2626, 10, 69, 3, 70, 3, 70, 3, 70, 5, 70, 2631, 10, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 5, 71, 2638, 10, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 5, 72, 2645, 10, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 5, 72, 2652, 10, 72, 3, 72, 3, 72, 3, 72, 5, 72, 2657, 10, 72, 3, 72, 7, 72, 2660, 10, 72, 12, 72, 14, 72, 2663, 11, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 5, 74, 2676, 10, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 5, 75, 2683, 10, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 5, 76, 2690, 10, 76, 3, 76, 3, 76, 3, 77, 3, 77, 5, 77, 2696, 10, 77, 3, 77, 3, 77, 5, 77, 2700, 10, 77, 3, 77, 3, 77, 5, 77, 2704, 10, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 5, 78, 2711, 10, 78, 3, 78, 5, 78, 2714, 10, 78, 3, 79, 3, 79, 3, 79, 5, 79, 2719, 10, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 5, 80, 2726, 10, 80, 3, 80, 3, 80, 3, 80, 7, 80, 2731, 10, 80, 12, 80, 14, 80, 2734, 11, 80, 3, 80, 5, 80, 2737, 10, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 7, 81, 2744, 10, 81, 12, 81, 14, 81, 2747, 11, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 5, 83, 2755, 10, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 5, 84, 2764, 10, 84, 3, 84, 5, 84, 2767, 10, 84, 3, 85, 3, 85, 5, 85, 2771, 10, 85, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 5, 87, 2780, 10, 87, 3, 88, 3, 88, 5, 88, 2784, 10, 88, 3, 88, 5, 88, 2787, 10, 88, 3, 88, 5, 88, 2790, 10, 88, 3, 88, 3, 88, 3, 88, 3, 88, 5, 88, 2796, 10, 88, 3, 88, 5, 88, 2799, 10, 88, 3, 88, 3, 88, 3, 88, 3, 88, 5, 88, 2805, 10, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 7, 88, 2812, 10, 88, 12, 88, 14, 88, 2815, 11, 88, 5, 88, 2817, 10, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 7, 88, 2826, 10, 88, 12, 88, 14, 88, 2829, 11, 88, 5, 88, 2831, 10, 88, 3, 89, 3, 89, 3, 89, 5, 89, 2836, 10, 89, 3, 89, 5, 89, 2839, 10, 89, 3, 89, 3, 89, 3, 89, 5, 89, 2844, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 5, 89, 2854, 10, 89, 3, 89, 3, 89, 3, 89, 5, 89, 2859, 10, 89, 3, 89, 3, 89, 6, 89, 2863, 10, 89, 13, 89, 14, 89, 2864, 5, 89, 2867, 10, 89, 3, 89, 3, 89, 6, 89, 2871, 10, 89, 13, 89, 14, 89, 2872, 5, 89, 2875, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 5, 89, 2881, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 7, 89, 2887, 10, 89, 12, 89, 14, 89, 2890, 11, 89, 3, 89, 3, 89, 5, 89, 2894, 10, 89, 3, 89, 3, 89, 3, 89, 3, 89, 7, 89, 2900, 10, 89, 12, 89, 14, 89, 2903, 11, 89, 5, 89, 2905, 10, 89, 3, 90, 3, 90, 3, 90, 5, 90, 2910, 10, 90, 3, 90, 5, 90, 2913, 10, 90, 3, 90, 3, 90, 3, 90, 5, 90, 2918, 10, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 5, 90, 2926, 10, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 5, 90, 2934, 10, 90, 3, 90, 3, 90, 3, 90, 3, 90, 5, 90, 2940, 10, 90, 3, 90, 3, 90, 3, 90, 3, 90, 7, 90, 2946, 10, 90, 12, 90, 14, 90, 2949, 11, 90, 3, 90, 3, 90, 5, 90, 2953, 10, 90, 3, 90, 3, 90, 3, 90, 3, 90, 7, 90, 2959, 10, 90, 12, 90, 14, 90, 2962, 11, 90, 5, 90, 2964, 10, 90, 3, 91, 3, 91, 5, 91, 2968, 10, 91, 3, 91, 5, 91, 2971, 10, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 5, 91, 2979, 10, 91, 3, 91, 3, 91, 3, 91, 3, 91, 5, 91, 2985, 10, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 7, 91, 2992, 10, 91, 12, 91, 14, 91, 2995, 11, 91, 5, 91, 2997, 10, 91, 3, 92, 3, 92, 5, 92, 3001, 10, 92, 3, 92, 3, 92, 5, 92, 3005, 10, 92, 3, 92, 3, 92, 6, 92, 3009, 10, 92, 13, 92, 14, 92, 3010, 3, 92, 3, 92, 5, 92, 3015, 10, 92, 3, 92, 3, 92, 5, 92, 3019, 10, 92, 5, 92, 3021, 10, 92, 3, 92, 5, 92, 3024, 10, 92, 3, 92, 5, 92, 3027, 10, 92, 3, 92, 5, 92, 3030, 10, 92, 3, 92, 3, 92, 6, 92, 3034, 10, 92, 13, 92, 14, 92, 3035, 3, 92, 3, 92, 5, 92, 3040, 10, 92, 3, 92, 5, 92, 3043, 10, 92, 3, 92, 5, 92, 3046, 10, 92, 3, 92, 5, 92, 3049, 10, 92, 3, 92, 5, 92, 3052, 10, 92, 5, 92, 3054, 10, 92, 3, 93, 3, 93, 5, 93, 3058, 10, 93, 3, 94, 3, 94, 3, 94, 3, 94, 5, 94, 3064, 10, 94, 3, 94, 3, 94, 3, 94, 3, 94, 5, 94, 3070, 10, 94, 3, 94, 7, 94, 3073, 10, 94, 12, 94, 14, 94, 3076, 11, 94, 5, 94, 3078, 10, 94, 3, 95, 3, 95, 3, 95, 3, 95, 5, 95, 3084, 10, 95, 3, 96, 3, 96, 5, 96, 3088, 10, 96, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 5, 97, 3096, 10, 97, 3, 98, 3, 98, 5, 98, 3100, 10, 98, 3, 98, 5, 98, 3103, 10, 98, 3, 98, 5, 98, 3106, 10, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 5, 98, 3115, 10, 98, 3, 98, 3, 98, 5, 98, 3119, 10, 98, 3, 98, 5, 98, 3122, 10, 98, 3, 98, 3, 98, 5, 98, 3126, 10, 98, 3, 99, 3, 99, 5, 99, 3130, 10, 99, 3, 99, 5, 99, 3133, 10, 99, 3, 99, 5, 99, 3136, 10, 99, 3, 99, 3, 99, 3, 99, 5, 99, 3141, 10, 99, 3, 99, 3, 99, 3, 99, 3, 99, 5, 99, 3147, 10, 99, 7, 99, 3149, 10, 99, 12, 99, 14, 99, 3152, 11, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 5, 99, 3161, 10, 99, 3, 99, 3, 99, 3, 99, 3, 99, 5, 99, 3167, 10, 99, 7, 99, 3169, 10, 99, 12, 99, 14, 99, 3172, 11, 99, 3, 99, 3, 99, 3, 99, 5, 99, 3177, 10, 99, 3, 99, 3, 99, 5, 99, 3181, 10, 99, 3, 100, 3, 100, 3, 100, 3, 100, 5, 100, 3187, 10, 100, 3, 100, 5, 100, 3190, 10, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 5, 101, 3202, 10, 101, 3, 101, 3, 101, 5, 101, 3206, 10, 101, 3, 101, 3, 101, 5, 101, 3210, 10, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 5, 102, 3218, 10, 102, 3, 102, 3, 102, 5, 102, 3222, 10, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 5, 104, 3230, 10, 104, 3, 104, 5, 104, 3233, 10, 104, 3, 104, 3, 104, 5, 104, 3237, 10, 104, 3, 104, 5, 104, 3240, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 7, 104, 3246, 10, 104, 12, 104, 14, 104, 3249, 11, 104, 3, 104, 3, 104, 5, 104, 3253, 10, 104, 3, 104, 5, 104, 3256, 10, 104, 3, 104, 5, 104, 3259, 10, 104, 3, 105, 3, 105, 5, 105, 3263, 10, 105, 3, 105, 5, 105, 3266, 10, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 7, 105, 3273, 10, 105, 12, 105, 14, 105, 3276, 11, 105, 3, 105, 3, 105, 5, 105, 3280, 10, 105, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 7, 106, 3287, 10, 106, 12, 106, 14, 106, 3290, 11, 106, 3, 107, 3, 107, 5, 107, 3294, 10, 107, 3, 108, 3, 108, 3, 108, 7, 108, 3299, 10, 108, 12, 108, 14, 108, 3302, 11, 108, 3, 109, 3, 109, 7, 109, 3306, 10, 109, 12, 109, 14, 109, 3309, 11, 109, 3, 109, 3, 109, 3, 109, 7, 109, 3314, 10, 109, 12, 109, 14, 109, 3317, 11, 109, 3, 109, 3, 109, 5, 109, 3321, 10, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 3329, 10, 110, 3, 110, 5, 110, 3332, 10, 110, 3, 110, 5, 110, 3335, 10, 110, 3, 110, 3, 110, 3, 110, 7, 110, 3340, 10, 110, 12, 110, 14, 110, 3343, 11, 110, 5, 110, 3345, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 3352, 10, 110, 3, 110, 5, 110, 3355, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 3363, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 5, 111, 3369, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 5, 112, 3380, 10, 112, 3, 113, 5, 113, 3383, 10, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 5, 113, 3394, 10, 113, 3, 113, 3, 113, 3, 113, 3, 113, 5, 113, 3400, 10, 113, 3, 113, 3, 113, 5, 113, 3404, 10, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 5, 113, 3415, 10, 113, 3, 113, 3, 113, 3, 113, 5, 113, 3420, 10, 113, 5, 113, 3422, 10, 113, 3, 113, 3, 113, 5, 113, 3426, 10, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 5, 114, 3436, 10, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 5, 115, 3446, 10, 115, 3, 116, 3, 116, 7, 116, 3450, 10, 116, 12, 116, 14, 116, 3453, 11, 116, 3, 116, 3, 116, 5, 116, 3457, 10, 116, 3, 116, 5, 116, 3460, 10, 116, 3, 116, 5, 116, 3463, 10, 116, 3, 116, 5, 116, 3466, 10, 116, 3, 116, 3, 116, 7, 116, 3470, 10, 116, 12, 116, 14, 116, 3473, 11, 116, 3, 116, 3, 116, 5, 116, 3477, 10, 116, 3, 116, 5, 116, 3480, 10, 116, 3, 116, 5, 116, 3483, 10, 116, 3, 116, 5, 116, 3486, 10, 116, 5, 116, 3488, 10, 116, 3, 117, 3, 117, 7, 117, 3492, 10, 117, 12, 117, 14, 117, 3495, 11, 117, 3, 117, 3, 117, 5, 117, 3499, 10, 117, 3, 117, 5, 117, 3502, 10, 117, 3, 117, 5, 117, 3505, 10, 117, 3, 118, 3, 118, 5, 118, 3509, 10, 118, 3, 118, 3, 118, 3, 119, 3, 119, 5, 119, 3515, 10, 119, 3, 119, 3, 119, 5, 119, 3519, 10, 119, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 5, 120, 3529, 10, 120, 3, 121, 3, 121, 5, 121, 3533, 10, 121, 3, 121, 3, 121, 7, 121, 3537, 10, 121, 12, 121, 14, 121, 3540, 11, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 5, 122, 3548, 10, 122, 3, 122, 5, 122, 3551, 10, 122, 3, 122, 3, 122, 5, 122, 3555, 10, 122, 3, 122, 5, 122, 3558, 10, 122, 3, 122, 3, 122, 5, 122, 3562, 10, 122, 3, 122, 3, 122, 5, 122, 3566, 10, 122, 3, 122, 5, 122, 3569, 10, 122, 5, 122, 3571, 10, 122, 3, 123, 3, 123, 3, 123, 3, 123, 7, 123, 3577, 10, 123, 12, 123, 14, 123, 3580, 11, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 5, 123, 3591, 10, 123, 3, 123, 3, 123, 6, 123, 3595, 10, 123, 13, 123, 14, 123, 3596, 5, 123, 3599, 10, 123, 3, 123, 3, 123, 6, 123, 3603, 10, 123, 13, 123, 14, 123, 3604, 5, 123, 3607, 10, 123, 5, 123, 3609, 10, 123, 3, 124, 3, 124, 3, 124, 3, 124, 5, 124, 3615, 10, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 5, 124, 3623, 10, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 5, 125, 3631, 10, 125, 3, 126, 3, 126, 3, 126, 3, 126, 5, 126, 3637, 10, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 7, 126, 3644, 10, 126, 12, 126, 14, 126, 3647, 11, 126, 3, 126, 3, 126, 5, 126, 3651, 10, 126, 5, 126, 3653, 10, 126, 3, 126, 3, 126, 5, 126, 3657, 10, 126, 3, 127, 3, 127, 5, 127, 3661, 10, 127, 3, 128, 3, 128, 3, 128, 3, 128, 5, 128, 3667, 10, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 5, 128, 3674, 10, 128, 3, 129, 3, 129, 5, 129, 3678, 10, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 7, 130, 3685, 10, 130, 12, 130, 14, 130, 3688, 11, 130, 5, 130, 3690, 10, 130, 3, 131, 3, 131, 5, 131, 3694, 10, 131, 3, 132, 3, 132, 5, 132, 3698, 10, 132, 3, 132, 3, 132, 5, 132, 3702, 10, 132, 3, 132, 5, 132, 3705, 10, 132, 3, 132, 5, 132, 3708, 10, 132, 3, 132, 5, 132, 3711, 10, 132, 3, 133, 3, 133, 5, 133, 3715, 10, 133, 3, 133, 3, 133, 5, 133, 3719, 10, 133, 3, 133, 5, 133, 3722, 10, 133, 3, 133, 5, 133, 3725, 10, 133, 3, 133, 5, 133, 3728, 10, 133, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 5, 135, 3735, 10, 135, 3, 135, 3, 135, 5, 135, 3739, 10, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 7, 137, 3752, 10, 137, 12, 137, 14, 137, 3755, 11, 137, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 5, 140, 3767, 10, 140, 3, 140, 3, 140, 3, 140, 3, 140, 7, 140, 3773, 10, 140, 12, 140, 14, 140, 3776, 11, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 5, 141, 3785, 10, 141, 3, 142, 3, 142, 5, 142, 3789, 10, 142, 3, 142, 5, 142, 3792, 10, 142, 3, 142, 3, 142, 3, 143, 3, 143, 5, 143, 3798, 10, 143, 3, 143, 5, 143, 3801, 10, 143, 3, 143, 5, 143, 3804, 10, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 5, 144, 3813, 10, 144, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 5, 145, 3822, 10, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 7, 146, 3830, 10, 146, 12, 146, 14, 146, 3833, 11, 146, 3, 146, 5, 146, 3836, 10, 146, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 7, 147, 3844, 10, 147, 12, 147, 14, 147, 3847, 11, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 5, 148, 3856, 10, 148, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 5, 150, 3864, 10, 150, 3, 150, 5, 150, 3867, 10, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 7, 151, 3874, 10, 151, 12, 151, 14, 151, 3877, 11, 151, 5, 151, 3879, 10, 151, 3, 151, 3, 151, 5, 151, 3883, 10, 151, 3, 151, 7, 151, 3886, 10, 151, 12, 151, 14, 151, 3889, 11, 151, 3, 151, 5, 151, 3892, 10, 151, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 7, 152, 3899, 10, 152, 12, 152, 14, 152, 3902, 11, 152, 5, 152, 3904, 10, 152, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 7, 155, 3933, 10, 155, 12, 155, 14, 155, 3936, 11, 155, 5, 155, 3938, 10, 155, 3, 155, 5, 155, 3941, 10, 155, 3, 156, 3, 156, 3, 157, 3, 157, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 7, 160, 3995, 10, 160, 12, 160, 14, 160, 3998, 11, 160, 3, 160, 3, 160, 5, 160, 4002, 10, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 5, 163, 4030, 10, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 5, 164, 4044, 10, 164, 3, 165, 3, 165, 3, 165, 7, 165, 4049, 10, 165, 12, 165, 14, 165, 4052, 11, 165, 3, 165, 5, 165, 4055, 10, 165, 3, 166, 3, 166, 3, 166, 3, 166, 5, 166, 4061, 10, 166, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 5, 167, 4069, 10, 167, 5, 167, 4071, 10, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 5, 169, 4082, 10, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 5, 171, 4092, 10, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 5, 172, 4099, 10, 172, 3, 173, 3, 173, 3, 173, 3, 173, 5, 173, 4105, 10, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 175, 3, 175, 5, 175, 4113, 10, 175, 3, 176, 3, 176, 3, 176, 5, 176, 4118, 10, 176, 3, 176, 3, 176, 3, 176, 3, 176, 7, 176, 4124, 10, 176, 12, 176, 14, 176, 4127, 11, 176, 3, 176, 3, 176, 3, 176, 7, 176, 4132, 10, 176, 12, 176, 14, 176, 4135, 11, 176, 3, 176, 3, 176, 3, 176, 7, 176, 4140, 10, 176, 12, 176, 14, 176, 4143, 11, 176, 3, 176, 3, 176, 3, 176, 7, 176, 4148, 10, 176, 12, 176, 14, 176, 4151, 11, 176, 3, 176, 7, 176, 4154, 10, 176, 12, 176, 14, 176, 4157, 11, 176, 5, 176, 4159, 10, 176, 3, 176, 3, 176, 5, 176, 4163, 10, 176, 3, 177, 3, 177, 3, 177, 5, 177, 4168, 10, 177, 3, 177, 6, 177, 4171, 10, 177, 13, 177, 14, 177, 4172, 3, 177, 3, 177, 6, 177, 4177, 10, 177, 13, 177, 14, 177, 4178, 5, 177, 4181, 10, 177, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 6, 178, 4190, 10, 178, 13, 178, 14, 178, 4191, 3, 178, 7, 178, 4195, 10, 178, 12, 178, 14, 178, 4198, 11, 178, 3, 178, 3, 178, 6, 178, 4202, 10, 178, 13, 178, 14, 178, 4203, 5, 178, 4206, 10, 178, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 5, 181, 4220, 10, 181, 3, 181, 3, 181, 6, 181, 4224, 10, 181, 13, 181, 14, 181, 4225, 3, 181, 3, 181, 3, 181, 5, 181, 4231, 10, 181, 3, 182, 3, 182, 3, 182, 5, 182, 4236, 10, 182, 3, 182, 3, 182, 6, 182, 4240, 10, 182, 13, 182, 14, 182, 4241, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 5, 182, 4249, 10, 182, 3, 183, 3, 183, 3, 183, 3, 184, 3, 184, 3, 184, 5, 184, 4257, 10, 184, 3, 184, 3, 184, 3, 184, 3, 184, 6, 184, 4263, 10, 184, 13, 184, 14, 184, 4264, 3, 184, 3, 184, 3, 184, 5, 184, 4270, 10, 184, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4276, 10, 185, 3, 185, 5, 185, 4279, 10, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 4287, 10, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 5, 186, 4294, 10, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 4303, 10, 187, 3, 187, 5, 187, 4306, 10, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 7, 189, 4321, 10, 189, 12, 189, 14, 189, 4324, 11, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 5, 190, 4331, 10, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 5, 190, 4339, 10, 190, 3, 191, 3, 191, 5, 191, 4343, 10, 191, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 5, 192, 4350, 10, 192, 3, 192, 3, 192, 6, 192, 4354, 10, 192, 13, 192, 14, 192, 4355, 3, 193, 3, 193, 3, 193, 3, 193, 6, 193, 4362, 10, 193, 13, 193, 14, 193, 4363, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 7, 194, 4371, 10, 194, 12, 194, 14, 194, 4374, 11, 194, 3, 194, 3, 194, 3, 194, 5, 194, 4379, 10, 194, 3, 194, 3, 194, 3, 194, 7, 194, 4384, 10, 194, 12, 194, 14, 194, 4387, 11, 194, 3, 194, 3, 194, 3, 194, 3, 194, 5, 194, 4393, 10, 194, 3, 194, 7, 194, 4396, 10, 194, 12, 194, 14, 194, 4399, 11, 194, 5, 194, 4401, 10, 194, 5, 194, 4403, 10, 194, 3, 194, 3, 194, 6, 194, 4407, 10, 194, 13, 194, 14, 194, 4408, 5, 194, 4411, 10, 194, 3, 194, 3, 194, 7, 194, 4415, 10, 194, 12, 194, 14, 194, 4418, 11, 194, 5, 194, 4420, 10, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 7, 195, 4427, 10, 195, 12, 195, 14, 195, 4430, 11, 195, 3, 195, 3, 195, 3, 195, 5, 195, 4435, 10, 195, 3, 195, 3, 195, 3, 195, 7, 195, 4440, 10, 195, 12, 195, 14, 195, 4443, 11, 195, 3, 195, 3, 195, 3, 195, 3, 195, 5, 195, 4449, 10, 195, 3, 195, 7, 195, 4452, 10, 195, 12, 195, 14, 195, 4455, 11, 195, 5, 195, 4457, 10, 195, 5, 195, 4459, 10, 195, 3, 195, 3, 195, 6, 195, 4463, 10, 195, 13, 195, 14, 195, 4464, 5, 195, 4467, 10, 195, 3, 195, 3, 195, 7, 195, 4471, 10, 195, 12, 195, 14, 195, 4474, 11, 195, 5, 195, 4476, 10, 195, 3, 196, 3, 196, 3, 196, 5, 196, 4481, 10, 196, 3, 196, 3, 196, 3, 196, 7, 196, 4486, 10, 196, 12, 196, 14, 196, 4489, 11, 196, 3, 197, 3, 197, 3, 197, 3, 197, 7, 197, 4495, 10, 197, 12, 197, 14, 197, 4498, 11, 197, 3, 197, 3, 197, 5, 197, 4502, 10, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 7, 197, 4509, 10, 197, 12, 197, 14, 197, 4512, 11, 197, 3, 197, 3, 197, 3, 197, 3, 197, 5, 197, 4518, 10, 197, 3, 197, 7, 197, 4521, 10, 197, 12, 197, 14, 197, 4524, 11, 197, 5, 197, 4526, 10, 197, 5, 197, 4528, 10, 197, 3, 197, 3, 197, 3, 197, 3, 197, 7, 197, 4534, 10, 197, 12, 197, 14, 197, 4537, 11, 197, 5, 197, 4539, 10, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 7, 198, 4549, 10, 198, 12, 198, 14, 198, 4552, 11, 198, 3, 198, 3, 198, 3, 198, 5, 198, 4557, 10, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 7, 199, 4564, 10, 199, 12, 199, 14, 199, 4567, 11, 199, 3, 200, 3, 200, 3, 200, 3, 200, 7, 200, 4573, 10, 200, 12, 200, 14, 200, 4576, 11, 200, 3, 200, 3, 200, 5, 200, 4580, 10, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 7, 200, 4587, 10, 200, 12, 200, 14, 200, 4590, 11, 200, 3, 200, 3, 200, 3, 200, 5, 200, 4595, 10, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 7, 200, 4604, 10, 200, 12, 200, 14, 200, 4607, 11, 200, 5, 200, 4609, 10, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 7, 201, 4619, 10, 201, 12, 201, 14, 201, 4622, 11, 201, 3, 202, 3, 202, 3, 202, 3, 202, 5, 202, 4628, 10, 202, 3, 202, 3, 202, 3, 202, 5, 202, 4633, 10, 202, 3, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 4648, 10, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 4659, 10, 204, 3, 204, 5, 204, 4662, 10, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 5, 205, 4672, 10, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 5, 206, 4682, 10, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 4692, 10, 207, 3, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 5, 209, 4702, 10, 209, 3, 210, 3, 210, 5, 210, 4706, 10, 210, 3, 210, 3, 210, 5, 210, 4710, 10, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 5, 210, 4720, 10, 210, 3, 210, 3, 210, 3, 210, 5, 210, 4725, 10, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 5, 210, 4775, 10, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 5, 211, 4793, 10, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 5, 213, 4801, 10, 213, 3, 213, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 7, 214, 4810, 10, 214, 12, 214, 14, 214, 4813, 11, 214, 3, 215, 3, 215, 3, 215, 3, 215, 5, 215, 4819, 10, 215, 3, 216, 3, 216, 5, 216, 4823, 10, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 5, 217, 4830, 10, 217, 3, 217, 3, 217, 3, 217, 5, 217, 4835, 10, 217, 3, 217, 5, 217, 4838, 10, 217, 3, 217, 5, 217, 4841, 10, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 5, 218, 4850, 10, 218, 3, 219, 3, 219, 5, 219, 4854, 10, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 7, 222, 4882, 10, 222, 12, 222, 14, 222, 4885, 11, 222, 3, 222, 3, 222, 3, 222, 3, 222, 5, 222, 4891, 10, 222, 3, 222, 3, 222, 5, 222, 4895, 10, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 5, 222, 4902, 10, 222, 3, 222, 5, 222, 4905, 10, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 7, 222, 4919, 10, 222, 12, 222, 14, 222, 4922, 11, 222, 5, 222, 4924, 10, 222, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4934, 10, 223, 3, 223, 3, 223, 5, 223, 4938, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4944, 10, 223, 3, 223, 5, 223, 4947, 10, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4952, 10, 223, 3, 223, 3, 223, 5, 223, 4956, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4963, 10, 223, 3, 223, 5, 223, 4966, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4972, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4996, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5009, 10, 223, 3, 223, 5, 223, 5012, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5022, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5030, 10, 223, 3, 223, 3, 223, 5, 223, 5034, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5041, 10, 223, 3, 223, 5, 223, 5044, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 7, 223, 5051, 10, 223, 12, 223, 14, 223, 5054, 11, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5059, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5065, 10, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 5, 223, 5075, 10, 223, 5, 223, 5077, 10, 223, 3, 224, 3, 224, 3, 224, 3, 224, 5, 224, 5083, 10, 224, 3, 224, 5, 224, 5086, 10, 224, 3, 224, 5, 224, 5089, 10, 224, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 5, 225, 5101, 10, 225, 3, 225, 5, 225, 5104, 10, 225, 3, 226, 3, 226, 3, 226, 3, 226, 5, 226, 5110, 10, 226, 3, 227, 5, 227, 5113, 10, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 5, 227, 5121, 10, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 5, 227, 5129, 10, 227, 3, 228, 3, 228, 3, 228, 3, 228, 5, 228, 5135, 10, 228, 3, 228, 3, 228, 5, 228, 5139, 10, 228, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 5, 229, 5153, 10, 229, 3, 230, 3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 7, 231, 5163, 10, 231, 12, 231, 14, 231, 5166, 11, 231, 3, 231, 3, 231, 3, 231, 3, 231, 5, 231, 5172, 10, 231, 3, 231, 5, 231, 5175, 10, 231, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 5, 232, 5182, 10, 232, 3, 232, 3, 232, 3, 232, 7, 232, 5187, 10, 232, 12, 232, 14, 232, 5190, 11, 232, 3, 233, 3, 233, 5, 233, 5194, 10, 233, 3, 233, 6, 233, 5197, 10, 233, 13, 233, 14, 233, 5198, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 7, 234, 5208, 10, 234, 12, 234, 14, 234, 5211, 11, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 236, 3, 236, 3, 237, 3, 237, 5, 237, 5221, 10, 237, 3, 237, 3, 237, 3, 237, 3, 237, 5, 237, 5227, 10, 237, 3, 238, 3, 238, 3, 238, 5, 238, 5232, 10, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 5, 238, 5245, 10, 238, 5, 238, 5247, 10, 238, 3, 238, 3, 238, 3, 238, 5, 238, 5252, 10, 238, 3, 238, 3, 238, 3, 238, 5, 238, 5257, 10, 238, 5, 238, 5259, 10, 238, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 5, 239, 5266, 10, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 5, 240, 5273, 10, 240, 3, 240, 5, 240, 5276, 10, 240, 3, 240, 5, 240, 5279, 10, 240, 3, 240, 3, 240, 3, 240, 3, 240, 5, 240, 5285, 10, 240, 3, 240, 3, 240, 5, 240, 5289, 10, 240, 3, 241, 3, 241, 3, 241, 3, 241, 5, 241, 5295, 10, 241, 3, 242, 3, 242, 3, 242, 3, 242, 5, 242, 5301, 10, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 5, 245, 5314, 10, 245, 3, 245, 3, 245, 3, 245, 5, 245, 5319, 10, 245, 3, 245, 3, 245, 3, 245, 3, 245, 7, 245, 5325, 10, 245, 12, 245, 14, 245, 5328, 11, 245, 5, 245, 5330, 10, 245, 3, 246, 3, 246, 3, 246, 5, 246, 5335, 10, 246, 3, 246, 3, 246, 3, 246, 5, 246, 5340, 10, 246, 3, 246, 3, 246, 3, 246, 3, 246, 7, 246, 5346, 10, 246, 12, 246, 14, 246, 5349, 11, 246, 5, 246, 5351, 10, 246, 3, 247, 3, 247, 3, 247, 3, 247, 5, 247, 5357, 10, 247, 3, 248, 3, 248, 5, 248, 5361, 10, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 7, 248, 5372, 10, 248, 12, 248, 14, 248, 5375, 11, 248, 3, 248, 3, 248, 3, 248, 5, 248, 5380, 10, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 7, 248, 5390, 10, 248, 12, 248, 14, 248, 5393, 11, 248, 5, 248, 5395, 10, 248, 3, 249, 3, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 5, 250, 5404, 10, 250, 3, 250, 3, 250, 3, 250, 5, 250, 5409, 10, 250, 3, 251, 3, 251, 3, 251, 3, 251, 5, 251, 5415, 10, 251, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 5, 253, 5422, 10, 253, 5, 253, 5424, 10, 253, 3, 254, 3, 254, 5, 254, 5428, 10, 254, 3, 254, 3, 254, 3, 254, 3, 254, 5, 254, 5434, 10, 254, 3, 254, 5, 254, 5437, 10, 254, 3, 255, 3, 255, 3, 256, 3, 256, 3, 257, 3, 257, 3, 257, 3, 257, 5, 257, 5447, 10, 257, 3, 258, 3, 258, 5, 258, 5451, 10, 258, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 6, 260, 5469, 10, 260, 13, 260, 14, 260, 5470, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 5, 261, 5478, 10, 261, 5, 261, 5480, 10, 261, 3, 262, 3, 262, 3, 262, 6, 262, 5485, 10, 262, 13, 262, 14, 262, 5486, 5, 262, 5489, 10, 262, 3, 263, 3, 263, 5, 263, 5493, 10, 263, 3, 264, 3, 264, 3, 264, 5, 264, 5498, 10, 264, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 5, 265, 5509, 10, 265, 3, 266, 3, 266, 3, 266, 5, 266, 5514, 10, 266, 3, 267, 3, 267, 3, 268, 3, 268, 5, 268, 5520, 10, 268, 3, 269, 5, 269, 5523, 10, 269, 3, 269, 3, 269, 5, 269, 5527, 10, 269, 3, 269, 6, 269, 5530, 10, 269, 13, 269, 14, 269, 5531, 3, 269, 5, 269, 5535, 10, 269, 3, 269, 3, 269, 5, 269, 5539, 10, 269, 3, 269, 3, 269, 5, 269, 5543, 10, 269, 5, 269, 5545, 10, 269, 3, 270, 3, 270, 3, 271, 5, 271, 5550, 10, 271, 3, 271, 3, 271, 3, 272, 5, 272, 5555, 10, 272, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 5, 273, 5568, 10, 273, 3, 273, 5, 273, 5571, 10, 273, 3, 274, 3, 274, 5, 274, 5575, 10, 274, 3, 274, 5, 274, 5578, 10, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5583, 10, 274, 3, 274, 5, 274, 5586, 10, 274, 3, 274, 3, 274, 5, 274, 5590, 10, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5595, 10, 274, 3, 274, 5, 274, 5598, 10, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5603, 10, 274, 3, 274, 5, 274, 5606, 10, 274, 3, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5612, 10, 274, 3, 274, 5, 274, 5615, 10, 274, 3, 274, 3, 274, 5, 274, 5619, 10, 274, 3, 274, 5, 274, 5622, 10, 274, 3, 274, 5, 274, 5625, 10, 274, 3, 274, 3, 274, 5, 274, 5629, 10, 274, 3, 274, 5, 274, 5632, 10, 274, 3, 274, 5, 274, 5635, 10, 274, 3, 274, 3, 274, 5, 274, 5639, 10, 274, 3, 274, 5, 274, 5642, 10, 274, 3, 274, 5, 274, 5645, 10, 274, 3, 274, 5, 274, 5648, 10, 274, 3, 274, 3, 274, 5, 274, 5652, 10, 274, 3, 274, 5, 274, 5655, 10, 274, 3, 274, 5, 274, 5658, 10, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5663, 10, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5668, 10, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5673, 10, 274, 3, 274, 5, 274, 5676, 10, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5681, 10, 274, 3, 274, 5, 274, 5684, 10, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5689, 10, 274, 3, 274, 5, 274, 5692, 10, 274, 3, 274, 3, 274, 5, 274, 5696, 10, 274, 3, 274, 3, 274, 5, 274, 5700, 10, 274, 3, 275, 3, 275, 3, 275, 3, 275, 7, 275, 5706, 10, 275, 12, 275, 14, 275, 5709, 11, 275, 3, 275, 3, 275, 3, 276, 3, 276, 5, 276, 5715, 10, 276, 3, 276, 3, 276, 5, 276, 5719, 10, 276, 3, 276, 3, 276, 3, 276, 5, 276, 5724, 10, 276, 3, 276, 5, 276, 5727, 10, 276, 3, 276, 3, 276, 3, 276, 5, 276, 5732, 10, 276, 3, 276, 3, 276, 5, 276, 5736, 10, 276, 5, 276, 5738, 10, 276, 3, 277, 3, 277, 3, 277, 3, 277, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 279, 3, 279, 3, 279, 3, 279, 5, 279, 5754, 10, 279, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 7, 280, 5761, 10, 280, 12, 280, 14, 280, 5764, 11, 280, 3, 281, 3, 281, 3, 281, 7, 281, 5769, 10, 281, 12, 281, 14, 281, 5772, 11, 281, 3, 282, 3, 282, 3, 282, 3, 282, 7, 282, 5778, 10, 282, 12, 282, 14, 282, 5781, 11, 282, 3, 282, 3, 282, 3, 283, 3, 283, 3, 283, 7, 283, 5788, 10, 283, 12, 283, 14, 283, 5791, 11, 283, 3, 284, 3, 284, 3, 284, 7, 284, 5796, 10, 284, 12, 284, 14, 284, 5799, 11, 284, 3, 285, 3, 285, 3, 285, 7, 285, 5804, 10, 285, 12, 285, 14, 285, 5807, 11, 285, 3, 286, 3, 286, 3, 286, 7, 286, 5812, 10, 286, 12, 286, 14, 286, 5815, 11, 286, 3, 287, 3, 287, 3, 287, 7, 287, 5820, 10, 287, 12, 287, 14, 287, 5823, 11, 287, 3, 288, 3, 288, 5, 288, 5827, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 5834, 10, 288, 5, 288, 5836, 10, 288, 3, 289, 3, 289, 3, 289, 5, 289, 5841, 10, 289, 3, 289, 5, 289, 5844, 10, 289, 3, 289, 3, 289, 3, 289, 5, 289, 5849, 10, 289, 3, 289, 5, 289, 5852, 10, 289, 3, 290, 3, 290, 5, 290, 5856, 10, 290, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 5, 293, 5870, 10, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 5, 293, 5877, 10, 293, 3, 293, 3, 293, 3, 293, 5, 293, 5882, 10, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 6, 294, 5914, 10, 294, 13, 294, 14, 294, 5915, 3, 294, 3, 294, 5, 294, 5920, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 6, 294, 5926, 10, 294, 13, 294, 14, 294, 5927, 3, 294, 3, 294, 5, 294, 5932, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5941, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5949, 10, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5954, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5962, 10, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5967, 10, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5972, 10, 294, 5, 294, 5974, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5983, 10, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5988, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 5996, 10, 294, 3, 294, 3, 294, 3, 294, 5, 294, 6001, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 6009, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 6017, 10, 294, 3, 294, 5, 294, 6020, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 6030, 10, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 5, 294, 6041, 10, 294, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 296, 3, 296, 3, 296, 3, 296, 7, 296, 6052, 10, 296, 12, 296, 14, 296, 6055, 11, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 5, 296, 6062, 10, 296, 3, 297, 3, 297, 5, 297, 6066, 10, 297, 3, 298, 3, 298, 3, 298, 5, 298, 6071, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 6080, 10, 298, 3, 298, 5, 298, 6083, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 6095, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 5, 298, 6103, 10, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 7, 298, 6111, 10, 298, 12, 298, 14, 298, 6114, 11, 298, 5, 298, 6116, 10, 298, 3, 298, 3, 298, 5, 298, 6120, 10, 298, 3, 298, 3, 298, 5, 298, 6124, 10, 298, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 5, 299, 6149, 10, 299, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 6160, 10, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 6167, 10, 301, 7, 301, 6169, 10, 301, 12, 301, 14, 301, 6172, 11, 301, 3, 302, 3, 302, 3, 302, 3, 302, 5, 302, 6178, 10, 302, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 6186, 10, 303, 3, 303, 3, 303, 3, 303, 5, 303, 6191, 10, 303, 3, 303, 3, 303, 3, 303, 3, 303, 7, 303, 6197, 10, 303, 12, 303, 14, 303, 6200, 11, 303, 3, 304, 3, 304, 3, 304, 5, 304, 6205, 10, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 5, 304, 6215, 10, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 5, 304, 6228, 10, 304, 3, 304, 3, 304, 3, 304, 3, 304, 5, 304, 6234, 10, 304, 3, 304, 3, 304, 3, 304, 3, 304, 5, 304, 6240, 10, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 5, 304, 6256, 10, 304, 3, 304, 3, 304, 3, 304, 3, 304, 5, 304, 6262, 10, 304, 7, 304, 6264, 10, 304, 12, 304, 14, 304, 6267, 11, 304, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 7, 305, 6283, 10, 305, 12, 305, 14, 305, 6286, 11, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 6, 305, 6295, 10, 305, 13, 305, 14, 305, 6296, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 5, 305, 6314, 10, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 7, 305, 6327, 10, 305, 12, 305, 14, 305, 6330, 11, 305, 3, 306, 3, 306, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 5, 307, 6348, 10, 307, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 6357, 10, 308, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 5, 309, 6366, 10, 309, 3, 310, 3, 310, 3, 311, 3, 311, 3, 312, 3, 312, 3, 313, 3, 313, 3, 314, 3, 314, 3, 315, 3, 315, 3, 316, 3, 316, 3, 317, 3, 317, 3, 317, 2, 5, 604, 606, 608, 318, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, 624, 626, 628, 630, 632, 2, 128, 4, 2, 37, 37, 137, 137, 4, 2, 453, 453, 458, 458, 5, 2, 64, 64, 144, 144, 165, 165, 5, 2, 40, 40, 322, 322, 385, 385, 6, 2, 40, 40, 354, 354, 452, 452, 522, 522, 4, 2, 443, 443, 1037, 1037, 4, 2, 72, 72, 129, 129, 4, 2, 15, 15, 274, 274, 5, 2, 42, 42, 78, 78, 168, 168, 4, 2, 367, 367, 476, 476, 5, 2, 435, 435, 560, 560, 567, 567, 4, 2, 329, 329, 390, 390, 4, 2, 292, 292, 404, 404, 4, 2, 290, 290, 376, 376, 5, 2, 73, 73, 77, 77, 114, 114, 5, 2, 40, 40, 339, 339, 365, 365, 5, 2, 40, 40, 335, 335, 684, 684, 4, 2, 548, 548, 581, 581, 4, 2, 74, 74, 84, 84, 5, 2, 369, 369, 467, 467, 524, 524, 4, 2, 64, 64, 144, 144, 3, 2, 296, 297, 3, 2, 1027, 1028, 4, 2, 1037, 1037, 1045, 1045, 5, 2, 364, 364, 399, 399, 450, 450, 4, 2, 40, 40, 1027, 1028, 8, 2, 40, 40, 309, 309, 311, 311, 339, 339, 365, 365, 489, 489, 3, 2, 1028, 1029, 4, 2, 7, 7, 49, 49, 4, 2, 389, 389, 582, 582, 4, 2, 13, 13, 159, 159, 4, 2, 176, 176, 585, 585, 4, 2, 20, 20, 132, 132, 5, 2, 41, 41, 70, 70, 97, 97, 4, 2, 97, 97, 313, 313, 4, 2, 304, 304, 361, 361, 4, 2, 93, 93, 514, 514, 4, 2, 41, 41, 97, 97, 4, 2, 8, 8, 47, 47, 4, 2, 172, 172, 578, 578, 6, 2, 364, 364, 399, 399, 449, 449, 479, 479, 4, 2, 364, 364, 449, 449, 4, 2, 14, 14, 43, 43, 5, 2, 61, 61, 72, 72, 170, 170, 4, 2, 33, 33, 76, 76, 4, 2, 89, 89, 135, 135, 4, 2, 8, 8, 47, 48, 3, 2, 537, 538, 4, 2, 372, 372, 520, 520, 4, 2, 210, 210, 407, 407, 7, 2, 98, 98, 412, 413, 415, 415, 419, 427, 491, 491, 6, 2, 409, 410, 414, 414, 416, 417, 492, 492, 5, 2, 99, 99, 408, 408, 418, 418, 4, 2, 392, 392, 539, 539, 4, 2, 533, 533, 535, 535, 4, 2, 284, 284, 540, 540, 4, 2, 83, 83, 506, 506, 4, 2, 49, 49, 327, 327, 5, 2, 30, 30, 56, 56, 163, 163, 5, 2, 119, 119, 156, 156, 370, 370, 4, 2, 95, 95, 166, 166, 4, 2, 300, 300, 525, 525, 4, 2, 38, 38, 580, 580, 4, 2, 105, 105, 404, 404, 4, 2, 357, 357, 485, 485, 6, 2, 190, 190, 192, 192, 198, 198, 549, 549, 4, 2, 996, 996, 1013, 1013, 4, 2, 285, 285, 493, 493, 4, 2, 63, 63, 73, 73, 8, 2, 119, 119, 156, 156, 161, 161, 350, 350, 370, 370, 580, 580, 4, 2, 442, 442, 545, 545, 4, 2, 347, 347, 584, 584, 4, 2, 119, 119, 370, 370, 5, 2, 74, 74, 85, 85, 383, 383, 5, 2, 372, 372, 404, 404, 520, 520, 4, 2, 545, 545, 579, 579, 4, 2, 314, 314, 484, 484, 8, 2, 210, 210, 344, 344, 346, 346, 371, 371, 490, 490, 526, 526, 4, 2, 43, 44, 57, 57, 5, 2, 357, 357, 469, 469, 776, 776, 4, 2, 396, 396, 562, 562, 12, 2, 299, 299, 306, 306, 316, 318, 324, 324, 436, 436, 444, 444, 550, 550, 557, 557, 728, 728, 894, 894, 4, 2, 34, 34, 153, 153, 4, 2, 107, 107, 886, 886, 13, 2, 299, 299, 306, 306, 316, 318, 324, 324, 436, 436, 444, 444, 507, 507, 550, 550, 557, 557, 728, 728, 894, 894, 5, 2, 1037, 1037, 1045, 1045, 1047, 1047, 3, 2, 1048, 1049, 5, 2, 679, 690, 1037, 1037, 1045, 1046, 4, 2, 1027, 1029, 1038, 1038, 4, 2, 58, 58, 162, 162, 4, 2, 106, 106, 1041, 1041, 7, 2, 24, 24, 206, 208, 215, 215, 217, 220, 447, 447, 4, 2, 24, 24, 207, 207, 4, 2, 24, 24, 206, 206, 3, 2, 180, 191, 4, 2, 167, 167, 523, 523, 4, 2, 195, 200, 365, 365, 7, 2, 201, 201, 212, 214, 216, 216, 223, 223, 288, 289, 5, 2, 202, 205, 210, 211, 286, 286, 4, 2, 140, 140, 221, 221, 4, 2, 396, 396, 695, 703, 4, 2, 210, 210, 447, 447, 5, 2, 201, 202, 204, 204, 396, 396, 4, 2, 255, 256, 262, 262, 4, 2, 35, 35, 253, 256, 3, 2, 265, 266, 5, 2, 17, 17, 87, 87, 160, 160, 4, 2, 206, 206, 210, 210, 4, 2, 201, 202, 204, 204, 5, 2, 14, 14, 43, 43, 884, 884, 5, 2, 237, 237, 243, 244, 249, 249, 5, 2, 238, 240, 245, 248, 250, 252, 4, 2, 456, 456, 470, 470, 4, 2, 104, 104, 1016, 1016, 5, 2, 58, 58, 162, 162, 571, 571, 4, 2, 125, 125, 136, 136, 5, 2, 8, 8, 277, 277, 529, 529, 6, 2, 104, 104, 1008, 1008, 1010, 1010, 1016, 1017, 3, 2, 1005, 1012, 3, 2, 639, 678, 3, 2, 691, 694, 3, 2, 604, 612, 3, 2, 596, 603, 5, 2, 201, 205, 218, 218, 221, 221, 16, 2, 34, 34, 46, 46, 107, 107, 153, 153, 223, 223, 272, 388, 390, 547, 549, 580, 583, 590, 595, 595, 614, 638, 684, 684, 728, 728, 894, 894, 18, 2, 37, 37, 89, 89, 135, 135, 201, 203, 205, 205, 235, 236, 241, 241, 264, 264, 389, 389, 582, 582, 596, 603, 632, 632, 695, 695, 698, 727, 729, 893, 895, 995, 2, 7505, 2, 634, 3, 2, 2, 2, 4, 638, 3, 2, 2, 2, 6, 655, 3, 2, 2, 2, 8, 675, 3, 2, 2, 2, 10, 677, 3, 2, 2, 2, 12, 714, 3, 2, 2, 2, 14, 726, 3, 2, 2, 2, 16, 737, 3, 2, 2, 2, 18, 754, 3, 2, 2, 2, 20, 759, 3, 2, 2, 2, 22, 771, 3, 2, 2, 2, 24, 798, 3, 2, 2, 2, 26, 807, 3, 2, 2, 2, 28, 809, 3, 2, 2, 2, 30, 821, 3, 2, 2, 2, 32, 851, 3, 2, 2, 2, 34, 887, 3, 2, 2, 2, 36, 938, 3, 2, 2, 2, 38, 964, 3, 2, 2, 2, 40, 994, 3, 2, 2, 2, 42, 1091, 3, 2, 2, 2, 44, 1093, 3, 2, 2, 2, 46, 1111, 3, 2, 2, 2, 48, 1172, 3, 2, 2, 2, 50, 1191, 3, 2, 2, 2, 52, 1250, 3, 2, 2, 2, 54, 1252, 3, 2, 2, 2, 56, 1296, 3, 2, 2, 2, 58, 1302, 3, 2, 2, 2, 60, 1304, 3, 2, 2, 2, 62, 1325, 3, 2, 2, 2, 64, 1332, 3, 2, 2, 2, 66, 1334, 3, 2, 2, 2, 68, 1350, 3, 2, 2, 2, 70, 1353, 3, 2, 2, 2, 72, 1358, 3, 2, 2, 2, 74, 1384, 3, 2, 2, 2, 76, 1400, 3, 2, 2, 2, 78, 1402, 3, 2, 2, 2, 80, 1418, 3, 2, 2, 2, 82, 1420, 3, 2, 2, 2, 84, 1478, 3, 2, 2, 2, 86, 1549, 3, 2, 2, 2, 88, 1551, 3, 2, 2, 2, 90, 1579, 3, 2, 2, 2, 92, 1587, 3, 2, 2, 2, 94, 1617, 3, 2, 2, 2, 96, 1763, 3, 2, 2, 2, 98, 1765, 3, 2, 2, 2, 100, 1768, 3, 2, 2, 2, 102, 1842, 3, 2, 2, 2, 104, 1865, 3, 2, 2, 2, 106, 1998, 3, 2, 2, 2, 108, 2003, 3, 2, 2, 2, 110, 2005, 3, 2, 2, 2, 112, 2015, 3, 2, 2, 2, 114, 2068, 3, 2, 2, 2, 116, 2088, 3, 2, 2, 2, 118, 2090, 3, 2, 2, 2, 120, 2125, 3, 2, 2, 2, 122, 2134, 3, 2, 2, 2, 124, 2141, 3, 2, 2, 2, 126, 2164, 3, 2, 2, 2, 128, 2173, 3, 2, 2, 2, 130, 2188, 3, 2, 2, 2, 132, 2210, 3, 2, 2, 2, 134, 2230, 3, 2, 2, 2, 136, 2625, 3, 2, 2, 2, 138, 2627, 3, 2, 2, 2, 140, 2634, 3, 2, 2, 2, 142, 2641, 3, 2, 2, 2, 144, 2664, 3, 2, 2, 2, 146, 2672, 3, 2, 2, 2, 148, 2679, 3, 2, 2, 2, 150, 2686, 3, 2, 2, 2, 152, 2693, 3, 2, 2, 2, 154, 2705, 3, 2, 2, 2, 156, 2715, 3, 2, 2, 2, 158, 2722, 3, 2, 2, 2, 160, 2738, 3, 2, 2, 2, 162, 2748, 3, 2, 2, 2, 164, 2752, 3, 2, 2, 2, 166, 2758, 3, 2, 2, 2, 168, 2770, 3, 2, 2, 2, 170, 2772, 3, 2, 2, 2, 172, 2779, 3, 2, 2, 2, 174, 2781, 3, 2, 2, 2, 176, 2832, 3, 2, 2, 2, 178, 2906, 3, 2, 2, 2, 180, 2965, 3, 2, 2, 2, 182, 3053, 3, 2, 2, 2, 184, 3057, 3, 2, 2, 2, 186, 3077, 3, 2, 2, 2, 188, 3079, 3, 2, 2, 2, 190, 3087, 3, 2, 2, 2, 192, 3095, 3, 2, 2, 2, 194, 3097, 3, 2, 2, 2, 196, 3127, 3, 2, 2, 2, 198, 3182, 3, 2, 2, 2, 200, 3191, 3, 2, 2, 2, 202, 3211, 3, 2, 2, 2, 204, 3223, 3, 2, 2, 2, 206, 3227, 3, 2, 2, 2, 208, 3260, 3, 2, 2, 2, 210, 3281, 3, 2, 2, 2, 212, 3291, 3, 2, 2, 2, 214, 3295, 3, 2, 2, 2, 216, 3320, 3, 2, 2, 2, 218, 3362, 3, 2, 2, 2, 220, 3364, 3, 2, 2, 2, 222, 3379, 3, 2, 2, 2, 224, 3425, 3, 2, 2, 2, 226, 3435, 3, 2, 2, 2, 228, 3445, 3, 2, 2, 2, 230, 3487, 3, 2, 2, 2, 232, 3489, 3, 2, 2, 2, 234, 3506, 3, 2, 2, 2, 236, 3512, 3, 2, 2, 2, 238, 3528, 3, 2, 2, 2, 240, 3532, 3, 2, 2, 2, 242, 3570, 3, 2, 2, 2, 244, 3608, 3, 2, 2, 2, 246, 3622, 3, 2, 2, 2, 248, 3630, 3, 2, 2, 2, 250, 3632, 3, 2, 2, 2, 252, 3658, 3, 2, 2, 2, 254, 3662, 3, 2, 2, 2, 256, 3677, 3, 2, 2, 2, 258, 3679, 3, 2, 2, 2, 260, 3691, 3, 2, 2, 2, 262, 3695, 3, 2, 2, 2, 264, 3712, 3, 2, 2, 2, 266, 3729, 3, 2, 2, 2, 268, 3732, 3, 2, 2, 2, 270, 3742, 3, 2, 2, 2, 272, 3746, 3, 2, 2, 2, 274, 3756, 3, 2, 2, 2, 276, 3759, 3, 2, 2, 2, 278, 3764, 3, 2, 2, 2, 280, 3784, 3, 2, 2, 2, 282, 3786, 3, 2, 2, 2, 284, 3803, 3, 2, 2, 2, 286, 3812, 3, 2, 2, 2, 288, 3821, 3, 2, 2, 2, 290, 3823, 3, 2, 2, 2, 292, 3837, 3, 2, 2, 2, 294, 3848, 3, 2, 2, 2, 296, 3857, 3, 2, 2, 2, 298, 3860, 3, 2, 2, 2, 300, 3868, 3, 2, 2, 2, 302, 3893, 3, 2, 2, 2, 304, 3905, 3, 2, 2, 2, 306, 3908, 3, 2, 2, 2, 308, 3940, 3, 2, 2, 2, 310, 3942, 3, 2, 2, 2, 312, 3944, 3, 2, 2, 2, 314, 3946, 3, 2, 2, 2, 316, 3948, 3, 2, 2, 2, 318, 4001, 3, 2, 2, 2, 320, 4003, 3, 2, 2, 2, 322, 4009, 3, 2, 2, 2, 324, 4029, 3, 2, 2, 2, 326, 4043, 3, 2, 2, 2, 328, 4054, 3, 2, 2, 2, 330, 4056, 3, 2, 2, 2, 332, 4062, 3, 2, 2, 2, 334, 4072, 3, 2, 2, 2, 336, 4076, 3, 2, 2, 2, 338, 4083, 3, 2, 2, 2, 340, 4087, 3, 2, 2, 2, 342, 4093, 3, 2, 2, 2, 344, 4100, 3, 2, 2, 2, 346, 4106, 3, 2, 2, 2, 348, 4112, 3, 2, 2, 2, 350, 4117, 3, 2, 2, 2, 352, 4164, 3, 2, 2, 2, 354, 4185, 3, 2, 2, 2, 356, 4210, 3, 2, 2, 2, 358, 4213, 3, 2, 2, 2, 360, 4219, 3, 2, 2, 2, 362, 4235, 3, 2, 2, 2, 364, 4250, 3, 2, 2, 2, 366, 4256, 3, 2, 2, 2, 368, 4286, 3, 2, 2, 2, 370, 4288, 3, 2, 2, 2, 372, 4295, 3, 2, 2, 2, 374, 4307, 3, 2, 2, 2, 376, 4313, 3, 2, 2, 2, 378, 4338, 3, 2, 2, 2, 380, 4342, 3, 2, 2, 2, 382, 4346, 3, 2, 2, 2, 384, 4357, 3, 2, 2, 2, 386, 4419, 3, 2, 2, 2, 388, 4475, 3, 2, 2, 2, 390, 4477, 3, 2, 2, 2, 392, 4490, 3, 2, 2, 2, 394, 4540, 3, 2, 2, 2, 396, 4558, 3, 2, 2, 2, 398, 4608, 3, 2, 2, 2, 400, 4610, 3, 2, 2, 2, 402, 4623, 3, 2, 2, 2, 404, 4634, 3, 2, 2, 2, 406, 4661, 3, 2, 2, 2, 408, 4671, 3, 2, 2, 2, 410, 4681, 3, 2, 2, 2, 412, 4683, 3, 2, 2, 2, 414, 4693, 3, 2, 2, 2, 416, 4696, 3, 2, 2, 2, 418, 4774, 3, 2, 2, 2, 420, 4792, 3, 2, 2, 2, 422, 4794, 3, 2, 2, 2, 424, 4798, 3, 2, 2, 2, 426, 4805, 3, 2, 2, 2, 428, 4814, 3, 2, 2, 2, 430, 4820, 3, 2, 2, 2, 432, 4827, 3, 2, 2, 2, 434, 4849, 3, 2, 2, 2, 436, 4851, 3, 2, 2, 2, 438, 4862, 3, 2, 2, 2, 440, 4868, 3, 2, 2, 2, 442, 4923, 3, 2, 2, 2, 444, 5076, 3, 2, 2, 2, 446, 5088, 3, 2, 2, 2, 448, 5103, 3, 2, 2, 2, 450, 5109, 3, 2, 2, 2, 452, 5128, 3, 2, 2, 2, 454, 5138, 3, 2, 2, 2, 456, 5152, 3, 2, 2, 2, 458, 5154, 3, 2, 2, 2, 460, 5157, 3, 2, 2, 2, 462, 5179, 3, 2, 2, 2, 464, 5191, 3, 2, 2, 2, 466, 5200, 3, 2, 2, 2, 468, 5212, 3, 2, 2, 2, 470, 5216, 3, 2, 2, 2, 472, 5218, 3, 2, 2, 2, 474, 5258, 3, 2, 2, 2, 476, 5265, 3, 2, 2, 2, 478, 5267, 3, 2, 2, 2, 480, 5290, 3, 2, 2, 2, 482, 5296, 3, 2, 2, 2, 484, 5304, 3, 2, 2, 2, 486, 5307, 3, 2, 2, 2, 488, 5310, 3, 2, 2, 2, 490, 5331, 3, 2, 2, 2, 492, 5352, 3, 2, 2, 2, 494, 5358, 3, 2, 2, 2, 496, 5396, 3, 2, 2, 2, 498, 5408, 3, 2, 2, 2, 500, 5410, 3, 2, 2, 2, 502, 5416, 3, 2, 2, 2, 504, 5418, 3, 2, 2, 2, 506, 5427, 3, 2, 2, 2, 508, 5438, 3, 2, 2, 2, 510, 5440, 3, 2, 2, 2, 512, 5446, 3, 2, 2, 2, 514, 5450, 3, 2, 2, 2, 516, 5452, 3, 2, 2, 2, 518, 5454, 3, 2, 2, 2, 520, 5472, 3, 2, 2, 2, 522, 5488, 3, 2, 2, 2, 524, 5492, 3, 2, 2, 2, 526, 5497, 3, 2, 2, 2, 528, 5508, 3, 2, 2, 2, 530, 5513, 3, 2, 2, 2, 532, 5515, 3, 2, 2, 2, 534, 5519, 3, 2, 2, 2, 536, 5544, 3, 2, 2, 2, 538, 5546, 3, 2, 2, 2, 540, 5549, 3, 2, 2, 2, 542, 5554, 3, 2, 2, 2, 544, 5570, 3, 2, 2, 2, 546, 5699, 3, 2, 2, 2, 548, 5701, 3, 2, 2, 2, 550, 5737, 3, 2, 2, 2, 552, 5739, 3, 2, 2, 2, 554, 5743, 3, 2, 2, 2, 556, 5749, 3, 2, 2, 2, 558, 5757, 3, 2, 2, 2, 560, 5765, 3, 2, 2, 2, 562, 5773, 3, 2, 2, 2, 564, 5784, 3, 2, 2, 2, 566, 5792, 3, 2, 2, 2, 568, 5800, 3, 2, 2, 2, 570, 5808, 3, 2, 2, 2, 572, 5816, 3, 2, 2, 2, 574, 5835, 3, 2, 2, 2, 576, 5851, 3, 2, 2, 2, 578, 5855, 3, 2, 2, 2, 580, 5857, 3, 2, 2, 2, 582, 5860, 3, 2, 2, 2, 584, 5881, 3, 2, 2, 2, 586, 6040, 3, 2, 2, 2, 588, 6042, 3, 2, 2, 2, 590, 6061, 3, 2, 2, 2, 592, 6063, 3, 2, 2, 2, 594, 6123, 3, 2, 2, 2, 596, 6148, 3, 2, 2, 2, 598, 6150, 3, 2, 2, 2, 600, 6159, 3, 2, 2, 2, 602, 6177, 3, 2, 2, 2, 604, 6190, 3, 2, 2, 2, 606, 6201, 3, 2, 2, 2, 608, 6313, 3, 2, 2, 2, 610, 6331, 3, 2, 2, 2, 612, 6347, 3, 2, 2, 2, 614, 6356, 3, 2, 2, 2, 616, 6365, 3, 2, 2, 2, 618, 6367, 3, 2, 2, 2, 620, 6369, 3, 2, 2, 2, 622, 6371, 3, 2, 2, 2, 624, 6373, 3, 2, 2, 2, 626, 6375, 3, 2, 2, 2, 628, 6377, 3, 2, 2, 2, 630, 6379, 3, 2, 2, 2, 632, 6381, 3, 2, 2, 2, 634, 635, 5, 4, 3, 2, 635, 636, 7, 2, 2, 3, 636, 3, 3, 2, 2, 2, 637, 639, 5, 6, 4, 2, 638, 637, 3, 2, 2, 2, 638, 639, 3, 2, 2, 2, 639, 641, 3, 2, 2, 2, 640, 642, 7, 1009, 2, 2, 641, 640, 3, 2, 2, 2, 641, 642, 3, 2, 2, 2, 642, 643, 3, 2, 2, 2, 643, 644, 7, 2, 2, 3, 644, 5, 3, 2, 2, 2, 645, 647, 5, 8, 5, 2, 646, 648, 7, 1009, 2, 2, 647, 646, 3, 2, 2, 2, 647, 648, 3, 2, 2, 2, 648, 650, 3, 2, 2, 2, 649, 651, 7, 1025, 2, 2, 650, 649, 3, 2, 2, 2, 650, 651, 3, 2, 2, 2, 651, 654, 3, 2, 2, 2, 652, 654, 5, 10, 6, 2, 653, 645, 3, 2, 2, 2, 653, 652, 3, 2, 2, 2, 654, 657, 3, 2, 2, 2, 655, 653, 3, 2, 2, 2, 655, 656, 3, 2, 2, 2, 656, 666, 3, 2, 2, 2, 657, 655, 3, 2, 2, 2, 658, 663, 5, 8, 5, 2, 659, 661, 7, 1009, 2, 2, 660, 659, 3, 2, 2, 2, 660, 661, 3, 2, 2, 2, 661, 662, 3, 2, 2, 2, 662, 664, 7, 1025, 2, 2, 663, 660, 3, 2, 2, 2, 663, 664, 3, 2, 2, 2, 664, 667, 3, 2, 2, 2, 665, 667, 5, 10, 6, 2, 666, 658, 3, 2, 2, 2, 666, 665, 3, 2, 2, 2, 667, 7, 3, 2, 2, 2, 668, 676, 5, 12, 7, 2, 669, 676, 5, 14, 8, 2, 670, 676, 5, 16, 9, 2, 671, 676, 5, 18, 10, 2, 672, 676, 5, 20, 11, 2, 673, 676, 5, 24, 13, 2, 674, 676, 5, 26, 14, 2, 675, 668, 3, 2, 2, 2, 675, 669, 3, 2, 2, 2, 675, 670, 3, 2, 2, 2, 675, 671, 3, 2, 2, 2, 675, 672, 3, 2, 2, 2, 675, 673, 3, 2, 2, 2, 675, 674, 3, 2, 2, 2, 676, 9, 3, 2, 2, 2, 677, 678, 7, 1025, 2, 2, 678, 11, 3, 2, 2, 2, 679, 715, 5, 28, 15, 2, 680, 715, 5, 30, 16, 2, 681, 715, 5, 32, 17, 2, 682, 715, 5, 34, 18, 2, 683, 715, 5, 36, 19, 2, 684, 715, 5, 38, 20, 2, 685, 715, 5, 40, 21, 2, 686, 715, 5, 42, 22, 2, 687, 715, 5, 44, 23, 2, 688, 715, 5, 46, 24, 2, 689, 715, 5, 48, 25, 2, 690, 715, 5, 50, 26, 2, 691, 715, 5, 116, 59, 2, 692, 715, 5, 118, 60, 2, 693, 715, 5, 120, 61, 2, 694, 715, 5, 122, 62, 2, 695, 715, 5, 124, 63, 2, 696, 715, 5, 126, 64, 2, 697, 715, 5, 128, 65, 2, 698, 715, 5, 130, 66, 2, 699, 715, 5, 132, 67, 2, 700, 715, 5, 134, 68, 2, 701, 715, 5, 138, 70, 2, 702, 715, 5, 140, 71, 2, 703, 715, 5, 142, 72, 2, 704, 715, 5, 144, 73, 2, 705, 715, 5, 146, 74, 2, 706, 715, 5, 148, 75, 2, 707, 715, 5, 150, 76, 2, 708, 715, 5, 152, 77, 2, 709, 715, 5, 154, 78, 2, 710, 715, 5, 156, 79, 2, 711, 715, 5, 158, 80, 2, 712, 715, 5, 160, 81, 2, 713, 715, 5, 164, 83, 2, 714, 679, 3, 2, 2, 2, 714, 680, 3, 2, 2, 2, 714, 681, 3, 2, 2, 2, 714, 682, 3, 2, 2, 2, 714, 683, 3, 2, 2, 2, 714, 684, 3, 2, 2, 2, 714, 685, 3, 2, 2, 2, 714, 686, 3, 2, 2, 2, 714, 687, 3, 2, 2, 2, 714, 688, 3, 2, 2, 2, 714, 689, 3, 2, 2, 2, 714, 690, 3, 2, 2, 2, 714, 691, 3, 2, 2, 2, 714, 692, 3, 2, 2, 2, 714, 693, 3, 2, 2, 2, 714, 694, 3, 2, 2, 2, 714, 695, 3, 2, 2, 2, 714, 696, 3, 2, 2, 2, 714, 697, 3, 2, 2, 2, 714, 698, 3, 2, 2, 2, 714, 699, 3, 2, 2, 2, 714, 700, 3, 2, 2, 2, 714, 701, 3, 2, 2, 2, 714, 702, 3, 2, 2, 2, 714, 703, 3, 2, 2, 2, 714, 704, 3, 2, 2, 2, 714, 705, 3, 2, 2, 2, 714, 706, 3, 2, 2, 2, 714, 707, 3, 2, 2, 2, 714, 708, 3, 2, 2, 2, 714, 709, 3, 2, 2, 2, 714, 710, 3, 2, 2, 2, 714, 711, 3, 2, 2, 2, 714, 712, 3, 2, 2, 2, 714, 713, 3, 2, 2, 2, 715, 13, 3, 2, 2, 2, 716, 727, 5, 182, 92, 2, 717, 727, 5, 174, 88, 2, 718, 727, 5, 184, 93, 2, 719, 727, 5, 168, 85, 2, 720, 727, 5, 180, 91, 2, 721, 727, 5, 166, 84, 2, 722, 727, 5, 176, 89, 2, 723, 727, 5, 178, 90, 2, 724, 727, 5, 170, 86, 2, 725, 727, 5, 172, 87, 2, 726, 716, 3, 2, 2, 2, 726, 717, 3, 2, 2, 2, 726, 718, 3, 2, 2, 2, 726, 719, 3, 2, 2, 2, 726, 720, 3, 2, 2, 2, 726, 721, 3, 2, 2, 2, 726, 722, 3, 2, 2, 2, 726, 723, 3, 2, 2, 2, 726, 724, 3, 2, 2, 2, 726, 725, 3, 2, 2, 2, 727, 15, 3, 2, 2, 2, 728, 738, 5, 258, 130, 2, 729, 738, 5, 260, 131, 2, 730, 738, 5, 262, 132, 2, 731, 738, 5, 264, 133, 2, 732, 738, 5, 266, 134, 2, 733, 738, 5, 268, 135, 2, 734, 738, 5, 270, 136, 2, 735, 738, 5, 272, 137, 2, 736, 738, 5, 274, 138, 2, 737, 728, 3, 2, 2, 2, 737, 729, 3, 2, 2, 2, 737, 730, 3, 2, 2, 2, 737, 731, 3, 2, 2, 2, 737, 732, 3, 2, 2, 2, 737, 733, 3, 2, 2, 2, 737, 734, 3, 2, 2, 2, 737, 735, 3, 2, 2, 2, 737, 736, 3, 2, 2, 2, 738, 17, 3, 2, 2, 2, 739, 755, 5, 290, 146, 2, 740, 755, 5, 292, 147, 2, 741, 755, 5, 294, 148, 2, 742, 755, 5, 296, 149, 2, 743, 755, 5, 298, 150, 2, 744, 755, 5, 300, 151, 2, 745, 755, 5, 302, 152, 2, 746, 755, 5, 304, 153, 2, 747, 755, 5, 306, 154, 2, 748, 755, 5, 330, 166, 2, 749, 755, 5, 332, 167, 2, 750, 755, 5, 334, 168, 2, 751, 755, 5, 336, 169, 2, 752, 755, 5, 338, 170, 2, 753, 755, 5, 340, 171, 2, 754, 739, 3, 2, 2, 2, 754, 740, 3, 2, 2, 2, 754, 741, 3, 2, 2, 2, 754, 742, 3, 2, 2, 2, 754, 743, 3, 2, 2, 2, 754, 744, 3, 2, 2, 2, 754, 745, 3, 2, 2, 2, 754, 746, 3, 2, 2, 2, 754, 747, 3, 2, 2, 2, 754, 748, 3, 2, 2, 2, 754, 749, 3, 2, 2, 2, 754, 750, 3, 2, 2, 2, 754, 751, 3, 2, 2, 2, 754, 752, 3, 2, 2, 2, 754, 753, 3, 2, 2, 2, 755, 19, 3, 2, 2, 2, 756, 760, 5, 342, 172, 2, 757, 760, 5, 344, 173, 2, 758, 760, 5, 346, 174, 2, 759, 756, 3, 2, 2, 2, 759, 757, 3, 2, 2, 2, 759, 758, 3, 2, 2, 2, 760, 21, 3, 2, 2, 2, 761, 772, 5, 350, 176, 2, 762, 772, 5, 352, 177, 2, 763, 772, 5, 354, 178, 2, 764, 772, 5, 358, 180, 2, 765, 772, 5, 360, 181, 2, 766, 772, 5, 362, 182, 2, 767, 772, 5, 366, 184, 2, 768, 772, 5, 356, 179, 2, 769, 772, 5, 364, 183, 2, 770, 772, 5, 368, 185, 2, 771, 761, 3, 2, 2, 2, 771, 762, 3, 2, 2, 2, 771, 763, 3, 2, 2, 2, 771, 764, 3, 2, 2, 2, 771, 765, 3, 2, 2, 2, 771, 766, 3, 2, 2, 2, 771, 767, 3, 2, 2, 2, 771, 768, 3, 2, 2, 2, 771, 769, 3, 2, 2, 2, 771, 770, 3, 2, 2, 2, 772, 23, 3, 2, 2, 2, 773, 799, 5, 386, 194, 2, 774, 799, 5, 388, 195, 2, 775, 799, 5, 390, 196, 2, 776, 799, 5, 392, 197, 2, 777, 799, 5, 394, 198, 2, 778, 799, 5, 396, 199, 2, 779, 799, 5, 398, 200, 2, 780, 799, 5, 400, 201, 2, 781, 799, 5, 424, 213, 2, 782, 799, 5, 426, 214, 2, 783, 799, 5, 428, 215, 2, 784, 799, 5, 430, 216, 2, 785, 799, 5, 432, 217, 2, 786, 799, 5, 436, 219, 2, 787, 799, 5, 438, 220, 2, 788, 799, 5, 440, 221, 2, 789, 799, 5, 442, 222, 2, 790, 799, 5, 444, 223, 2, 791, 799, 5, 458, 230, 2, 792, 799, 5, 460, 231, 2, 793, 799, 5, 462, 232, 2, 794, 799, 5, 464, 233, 2, 795, 799, 5, 466, 234, 2, 796, 799, 5, 468, 235, 2, 797, 799, 5, 470, 236, 2, 798, 773, 3, 2, 2, 2, 798, 774, 3, 2, 2, 2, 798, 775, 3, 2, 2, 2, 798, 776, 3, 2, 2, 2, 798, 777, 3, 2, 2, 2, 798, 778, 3, 2, 2, 2, 798, 779, 3, 2, 2, 2, 798, 780, 3, 2, 2, 2, 798, 781, 3, 2, 2, 2, 798, 782, 3, 2, 2, 2, 798, 783, 3, 2, 2, 2, 798, 784, 3, 2, 2, 2, 798, 785, 3, 2, 2, 2, 798, 786, 3, 2, 2, 2, 798, 787, 3, 2, 2, 2, 798, 788, 3, 2, 2, 2, 798, 789, 3, 2, 2, 2, 798, 790, 3, 2, 2, 2, 798, 791, 3, 2, 2, 2, 798, 792, 3, 2, 2, 2, 798, 793, 3, 2, 2, 2, 798, 794, 3, 2, 2, 2, 798, 795, 3, 2, 2, 2, 798, 796, 3, 2, 2, 2, 798, 797, 3, 2, 2, 2, 799, 25, 3, 2, 2, 2, 800, 808, 5, 480, 241, 2, 801, 808, 5, 482, 242, 2, 802, 808, 5, 484, 243, 2, 803, 808, 5, 486, 244, 2, 804, 808, 5, 488, 245, 2, 805, 808, 5, 490, 246, 2, 806, 808, 5, 494, 248, 2, 807, 800, 3, 2, 2, 2, 807, 801, 3, 2, 2, 2, 807, 802, 3, 2, 2, 2, 807, 803, 3, 2, 2, 2, 807, 804, 3, 2, 2, 2, 807, 805, 3, 2, 2, 2, 807, 806, 3, 2, 2, 2, 808, 27, 3, 2, 2, 2, 809, 810, 7, 32, 2, 2, 810, 812, 9, 2, 2, 2, 811, 813, 5, 582, 292, 2, 812, 811, 3, 2, 2, 2, 812, 813, 3, 2, 2, 2, 813, 814, 3, 2, 2, 2, 814, 818, 5, 526, 264, 2, 815, 817, 5, 52, 27, 2, 816, 815, 3, 2, 2, 2, 817, 820, 3, 2, 2, 2, 818, 816, 3, 2, 2, 2, 818, 819, 3, 2, 2, 2, 819, 29, 3, 2, 2, 2, 820, 818, 3, 2, 2, 2, 821, 823, 7, 32, 2, 2, 822, 824, 5, 54, 28, 2, 823, 822, 3, 2, 2, 2, 823, 824, 3, 2, 2, 2, 824, 825, 3, 2, 2, 2, 825, 827, 7, 350, 2, 2, 826, 828, 5, 582, 292, 2, 827, 826, 3, 2, 2, 2, 827, 828, 3, 2, 2, 2, 828, 829, 3, 2, 2, 2, 829, 830, 5, 500, 251, 2, 830, 831, 7, 108, 2, 2, 831, 832, 7, 517, 2, 2, 832, 839, 5, 56, 29, 2, 833, 834, 7, 108, 2, 2, 834, 836, 7, 310, 2, 2, 835, 837, 7, 104, 2, 2, 836, 835, 3, 2, 2, 2, 836, 837, 3, 2, 2, 2, 837, 838, 3, 2, 2, 2, 838, 840, 7, 478, 2, 2, 839, 833, 3, 2, 2, 2, 839, 840, 3, 2, 2, 2, 840, 842, 3, 2, 2, 2, 841, 843, 5, 64, 33, 2, 842, 841, 3, 2, 2, 2, 842, 843, 3, 2, 2, 2, 843, 846, 3, 2, 2, 2, 844, 845, 7, 307, 2, 2, 845, 847, 7, 1037, 2, 2, 846, 844, 3, 2, 2, 2, 846, 847, 3, 2, 2, 2, 847, 848, 3, 2, 2, 2, 848, 849, 7, 336, 2, 2, 849, 850, 5, 348, 175, 2, 850, 31, 3, 2, 2, 2, 851, 853, 7, 32, 2, 2, 852, 854, 9, 3, 2, 2, 853, 852, 3, 2, 2, 2, 853, 854, 3, 2, 2, 2, 854, 856, 3, 2, 2, 2, 855, 857, 9, 4, 2, 2, 856, 855, 3, 2, 2, 2, 856, 857, 3, 2, 2, 2, 857, 858, 3, 2, 2, 2, 858, 859, 7, 74, 2, 2, 859, 861, 5, 526, 264, 2, 860, 862, 5, 66, 34, 2, 861, 860, 3, 2, 2, 2, 861, 862, 3, 2, 2, 2, 862, 863, 3, 2, 2, 2, 863, 864, 7, 108, 2, 2, 864, 865, 5, 502, 252, 2, 865, 869, 5, 562, 282, 2, 866, 868, 5, 68, 35, 2, 867, 866, 3, 2, 2, 2, 868, 871, 3, 2, 2, 2, 869, 867, 3, 2, 2, 2, 869, 870, 3, 2, 2, 2, 870, 884, 3, 2, 2, 2, 871, 869, 3, 2, 2, 2, 872, 874, 7, 276, 2, 2, 873, 875, 7, 1013, 2, 2, 874, 873, 3, 2, 2, 2, 874, 875, 3, 2, 2, 2, 875, 876, 3, 2, 2, 2, 876, 883, 9, 5, 2, 2, 877, 879, 7, 95, 2, 2, 878, 880, 7, 1013, 2, 2, 879, 878, 3, 2, 2, 2, 879, 880, 3, 2, 2, 2, 880, 881, 3, 2, 2, 2, 881, 883, 9, 6, 2, 2, 882, 872, 3, 2, 2, 2, 882, 877, 3, 2, 2, 2, 883, 886, 3, 2, 2, 2, 884, 882, 3, 2, 2, 2, 884, 885, 3, 2, 2, 2, 885, 33, 3, 2, 2, 2, 886, 884, 3, 2, 2, 2, 887, 888, 7, 32, 2, 2, 888, 889, 7, 405, 2, 2, 889, 890, 7, 68, 2, 2, 890, 891, 5, 526, 264, 2, 891, 892, 7, 7, 2, 2, 892, 893, 7, 568, 2, 2, 893, 899, 7, 1037, 2, 2, 894, 896, 7, 384, 2, 2, 895, 897, 7, 1013, 2, 2, 896, 895, 3, 2, 2, 2, 896, 897, 3, 2, 2, 2, 897, 898, 3, 2, 2, 2, 898, 900, 5, 534, 268, 2, 899, 894, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 900, 906, 3, 2, 2, 2, 901, 903, 7, 569, 2, 2, 902, 904, 7, 1013, 2, 2, 903, 902, 3, 2, 2, 2, 903, 904, 3, 2, 2, 2, 904, 905, 3, 2, 2, 2, 905, 907, 5, 534, 268, 2, 906, 901, 3, 2, 2, 2, 906, 907, 3, 2, 2, 2, 907, 913, 3, 2, 2, 2, 908, 910, 7, 488, 2, 2, 909, 911, 7, 1013, 2, 2, 910, 909, 3, 2, 2, 2, 910, 911, 3, 2, 2, 2, 911, 912, 3, 2, 2, 2, 912, 914, 5, 534, 268, 2, 913, 908, 3, 2, 2, 2, 913, 914, 3, 2, 2, 2, 914, 920, 3, 2, 2, 2, 915, 917, 7, 451, 2, 2, 916, 918, 7, 1013, 2, 2, 917, 916, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 921, 5, 526, 264, 2, 920, 915, 3, 2, 2, 2, 920, 921, 3, 2, 2, 2, 921, 923, 3, 2, 2, 2, 922, 924, 7, 583, 2, 2, 923, 922, 3, 2, 2, 2, 923, 924, 3, 2, 2, 2, 924, 930, 3, 2, 2, 2, 925, 927, 7, 307, 2, 2, 926, 928, 7, 1013, 2, 2, 927, 926, 3, 2, 2, 2, 927, 928, 3, 2, 2, 2, 928, 929, 3, 2, 2, 2, 929, 931, 7, 1037, 2, 2, 930, 925, 3, 2, 2, 2, 930, 931, 3, 2, 2, 2, 931, 932, 3, 2, 2, 2, 932, 934, 7, 344, 2, 2, 933, 935, 7, 1013, 2, 2, 934, 933, 3, 2, 2, 2, 934, 935, 3, 2, 2, 2, 935, 936, 3, 2, 2, 2, 936, 937, 5, 516, 259, 2, 937, 35, 3, 2, 2, 2, 938, 940, 7, 32, 2, 2, 939, 941, 5, 54, 28, 2, 940, 939, 3, 2, 2, 2, 940, 941, 3, 2, 2, 2, 941, 942, 3, 2, 2, 2, 942, 943, 7, 119, 2, 2, 943, 944, 5, 500, 251, 2, 944, 946, 7, 1022, 2, 2, 945, 947, 5, 70, 36, 2, 946, 945, 3, 2, 2, 2, 946, 947, 3, 2, 2, 2, 947, 952, 3, 2, 2, 2, 948, 949, 7, 1024, 2, 2, 949, 951, 5, 70, 36, 2, 950, 948, 3, 2, 2, 2, 951, 954, 3, 2, 2, 2, 952, 950, 3, 2, 2, 2, 952, 953, 3, 2, 2, 2, 953, 955, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 955, 959, 7, 1023, 2, 2, 956, 958, 5, 74, 38, 2, 957, 956, 3, 2, 2, 2, 958, 961, 3, 2, 2, 2, 959, 957, 3, 2, 2, 2, 959, 960, 3, 2, 2, 2, 960, 962, 3, 2, 2, 2, 961, 959, 3, 2, 2, 2, 962, 963, 5, 348, 175, 2, 963, 37, 3, 2, 2, 2, 964, 966, 7, 32, 2, 2, 965, 967, 5, 54, 28, 2, 966, 965, 3, 2, 2, 2, 966, 967, 3, 2, 2, 2, 967, 968, 3, 2, 2, 2, 968, 969, 7, 370, 2, 2, 969, 970, 5, 500, 251, 2, 970, 972, 7, 1022, 2, 2, 971, 973, 5, 72, 37, 2, 972, 971, 3, 2, 2, 2, 972, 973, 3, 2, 2, 2, 973, 978, 3, 2, 2, 2, 974, 975, 7, 1024, 2, 2, 975, 977, 5, 72, 37, 2, 976, 974, 3, 2, 2, 2, 977, 980, 3, 2, 2, 2, 978, 976, 3, 2, 2, 2, 978, 979, 3, 2, 2, 2, 979, 981, 3, 2, 2, 2, 980, 978, 3, 2, 2, 2, 981, 982, 7, 1023, 2, 2, 982, 983, 7, 508, 2, 2, 983, 987, 5, 546, 274, 2, 984, 986, 5, 74, 38, 2, 985, 984, 3, 2, 2, 2, 986, 989, 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 992, 3, 2, 2, 2, 989, 987, 3, 2, 2, 2, 990, 993, 5, 348, 175, 2, 991, 993, 5, 364, 183, 2, 992, 990, 3, 2, 2, 2, 992, 991, 3, 2, 2, 2, 993, 39, 3, 2, 2, 2, 994, 995, 7, 32, 2, 2, 995, 996, 7, 519, 2, 2, 996, 997, 5, 526, 264, 2, 997, 998, 7, 62, 2, 2, 998, 999, 7, 325, 2, 2, 999, 1000, 7, 587, 2, 2, 1000, 1001, 9, 7, 2, 2, 1001, 1002, 7, 462, 2, 2, 1002, 1003, 7, 1022, 2, 2, 1003, 1008, 5, 76, 39, 2, 1004, 1005, 7, 1024, 2, 2, 1005, 1007, 5, 76, 39, 2, 1006, 1004, 3, 2, 2, 2, 1007, 1010, 3, 2, 2, 2, 1008, 1006, 3, 2, 2, 2, 1008, 1009, 3, 2, 2, 2, 1009, 1011, 3, 2, 2, 2, 1010, 1008, 3, 2, 2, 2, 1011, 1012, 7, 1023, 2, 2, 1012, 41, 3, 2, 2, 2, 1013, 1015, 7, 32, 2, 2, 1014, 1016, 7, 559, 2, 2, 1015, 1014, 3, 2, 2, 2, 1015, 1016, 3, 2, 2, 2, 1016, 1017, 3, 2, 2, 2, 1017, 1019, 7, 156, 2, 2, 1018, 1020, 5, 582, 292, 2, 1019, 1018, 3, 2, 2, 2, 1019, 1020, 3, 2, 2, 2, 1020, 1021, 3, 2, 2, 2, 1021, 1029, 5, 502, 252, 2, 1022, 1023, 7, 90, 2, 2, 1023, 1030, 5, 502, 252, 2, 1024, 1025, 7, 1022, 2, 2, 1025, 1026, 7, 90, 2, 2, 1026, 1027, 5, 502, 252, 2, 1027, 1028, 7, 1023, 2, 2, 1028, 1030, 3, 2, 2, 2, 1029, 1022, 3, 2, 2, 2, 1029, 1024, 3, 2, 2, 2, 1030, 1092, 3, 2, 2, 2, 1031, 1033, 7, 32, 2, 2, 1032, 1034, 7, 559, 2, 2, 1033, 1032, 3, 2, 2, 2, 1033, 1034, 3, 2, 2, 2, 1034, 1035, 3, 2, 2, 2, 1035, 1037, 7, 156, 2, 2, 1036, 1038, 5, 582, 292, 2, 1037, 1036, 3, 2, 2, 2, 1037, 1038, 3, 2, 2, 2, 1038, 1039, 3, 2, 2, 2, 1039, 1041, 5, 502, 252, 2, 1040, 1042, 5, 78, 40, 2, 1041, 1040, 3, 2, 2, 2, 1041, 1042, 3, 2, 2, 2, 1042, 1053, 3, 2, 2, 2, 1043, 1050, 5, 96, 49, 2, 1044, 1046, 7, 1024, 2, 2, 1045, 1044, 3, 2, 2, 2, 1045, 1046, 3, 2, 2, 2, 1046, 1047, 3, 2, 2, 2, 1047, 1049, 5, 96, 49, 2, 1048, 1045, 3, 2, 2, 2, 1049, 1052, 3, 2, 2, 2, 1050, 1048, 3, 2, 2, 2, 1050, 1051, 3, 2, 2, 2, 1051, 1054, 3, 2, 2, 2, 1052, 1050, 3, 2, 2, 2, 1053, 1043, 3, 2, 2, 2, 1053, 1054, 3, 2, 2, 2, 1054, 1056, 3, 2, 2, 2, 1055, 1057, 5, 100, 51, 2, 1056, 1055, 3, 2, 2, 2, 1056, 1057, 3, 2, 2, 2, 1057, 1059, 3, 2, 2, 2, 1058, 1060, 9, 8, 2, 2, 1059, 1058, 3, 2, 2, 2, 1059, 1060, 3, 2, 2, 2, 1060, 1062, 3, 2, 2, 2, 1061, 1063, 7, 13, 2, 2, 1062, 1061, 3, 2, 2, 2, 1062, 1063, 3, 2, 2, 2, 1063, 1064, 3, 2, 2, 2, 1064, 1065, 5, 182, 92, 2, 1065, 1092, 3, 2, 2, 2, 1066, 1068, 7, 32, 2, 2, 1067, 1069, 7, 559, 2, 2, 1068, 1067, 3, 2, 2, 2, 1068, 1069, 3, 2, 2, 2, 1069, 1070, 3, 2, 2, 2, 1070, 1072, 7, 156, 2, 2, 1071, 1073, 5, 582, 292, 2, 1072, 1071, 3, 2, 2, 2, 1072, 1073, 3, 2, 2, 2, 1073, 1074, 3, 2, 2, 2, 1074, 1075, 5, 502, 252, 2, 1075, 1086, 5, 78, 40, 2, 1076, 1083, 5, 96, 49, 2, 1077, 1079, 7, 1024, 2, 2, 1078, 1077, 3, 2, 2, 2, 1078, 1079, 3, 2, 2, 2, 1079, 1080, 3, 2, 2, 2, 1080, 1082, 5, 96, 49, 2, 1081, 1078, 3, 2, 2, 2, 1082, 1085, 3, 2, 2, 2, 1083, 1081, 3, 2, 2, 2, 1083, 1084, 3, 2, 2, 2, 1084, 1087, 3, 2, 2, 2, 1085, 1083, 3, 2, 2, 2, 1086, 1076, 3, 2, 2, 2, 1086, 1087, 3, 2, 2, 2, 1087, 1089, 3, 2, 2, 2, 1088, 1090, 5, 100, 51, 2, 1089, 1088, 3, 2, 2, 2, 1089, 1090, 3, 2, 2, 2, 1090, 1092, 3, 2, 2, 2, 1091, 1013, 3, 2, 2, 2, 1091, 1031, 3, 2, 2, 2, 1091, 1066, 3, 2, 2, 2, 1092, 43, 3, 2, 2, 2, 1093, 1094, 7, 32, 2, 2, 1094, 1095, 7, 558, 2, 2, 1095, 1096, 5, 526, 264, 2, 1096, 1097, 7, 7, 2, 2, 1097, 1098, 7, 326, 2, 2, 1098, 1102, 7, 1037, 2, 2, 1099, 1100, 7, 362, 2, 2, 1100, 1101, 7, 1013, 2, 2, 1101, 1103, 5, 534, 268, 2, 1102, 1099, 3, 2, 2, 2, 1102, 1103, 3, 2, 2, 2, 1103, 1109, 3, 2, 2, 2, 1104, 1106, 7, 344, 2, 2, 1105, 1107, 7, 1013, 2, 2, 1106, 1105, 3, 2, 2, 2, 1106, 1107, 3, 2, 2, 2, 1107, 1108, 3, 2, 2, 2, 1108, 1110, 5, 516, 259, 2, 1109, 1104, 3, 2, 2, 2, 1109, 1110, 3, 2, 2, 2, 1110, 45, 3, 2, 2, 2, 1111, 1112, 7, 32, 2, 2, 1112, 1113, 7, 558, 2, 2, 1113, 1114, 5, 526, 264, 2, 1114, 1115, 7, 7, 2, 2, 1115, 1116, 7, 326, 2, 2, 1116, 1117, 7, 1037, 2, 2, 1117, 1118, 7, 170, 2, 2, 1118, 1119, 7, 405, 2, 2, 1119, 1120, 7, 68, 2, 2, 1120, 1126, 5, 526, 264, 2, 1121, 1123, 7, 358, 2, 2, 1122, 1124, 7, 1013, 2, 2, 1123, 1122, 3, 2, 2, 2, 1123, 1124, 3, 2, 2, 2, 1124, 1125, 3, 2, 2, 2, 1125, 1127, 5, 534, 268, 2, 1126, 1121, 3, 2, 2, 2, 1126, 1127, 3, 2, 2, 2, 1127, 1133, 3, 2, 2, 2, 1128, 1130, 7, 384, 2, 2, 1129, 1131, 7, 1013, 2, 2, 1130, 1129, 3, 2, 2, 2, 1130, 1131, 3, 2, 2, 2, 1131, 1132, 3, 2, 2, 2, 1132, 1134, 5, 534, 268, 2, 1133, 1128, 3, 2, 2, 2, 1133, 1134, 3, 2, 2, 2, 1134, 1140, 3, 2, 2, 2, 1135, 1137, 7, 281, 2, 2, 1136, 1138, 7, 1013, 2, 2, 1137, 1136, 3, 2, 2, 2, 1137, 1138, 3, 2, 2, 2, 1138, 1139, 3, 2, 2, 2, 1139, 1141, 5, 534, 268, 2, 1140, 1135, 3, 2, 2, 2, 1140, 1141, 3, 2, 2, 2, 1141, 1147, 3, 2, 2, 2, 1142, 1144, 7, 431, 2, 2, 1143, 1145, 7, 1013, 2, 2, 1144, 1143, 3, 2, 2, 2, 1144, 1145, 3, 2, 2, 2, 1145, 1146, 3, 2, 2, 2, 1146, 1148, 5, 534, 268, 2, 1147, 1142, 3, 2, 2, 2, 1147, 1148, 3, 2, 2, 2, 1148, 1154, 3, 2, 2, 2, 1149, 1151, 7, 451, 2, 2, 1150, 1152, 7, 1013, 2, 2, 1151, 1150, 3, 2, 2, 2, 1151, 1152, 3, 2, 2, 2, 1152, 1153, 3, 2, 2, 2, 1153, 1155, 5, 526, 264, 2, 1154, 1149, 3, 2, 2, 2, 1154, 1155, 3, 2, 2, 2, 1155, 1157, 3, 2, 2, 2, 1156, 1158, 7, 583, 2, 2, 1157, 1156, 3, 2, 2, 2, 1157, 1158, 3, 2, 2, 2, 1158, 1164, 3, 2, 2, 2, 1159, 1161, 7, 307, 2, 2, 1160, 1162, 7, 1013, 2, 2, 1161, 1160, 3, 2, 2, 2, 1161, 1162, 3, 2, 2, 2, 1162, 1163, 3, 2, 2, 2, 1163, 1165, 7, 1037, 2, 2, 1164, 1159, 3, 2, 2, 2, 1164, 1165, 3, 2, 2, 2, 1165, 1166, 3, 2, 2, 2, 1166, 1168, 7, 344, 2, 2, 1167, 1169, 7, 1013, 2, 2, 1168, 1167, 3, 2, 2, 2, 1168, 1169, 3, 2, 2, 2, 1169, 1170, 3, 2, 2, 2, 1170, 1171, 5, 516, 259, 2, 1171, 47, 3, 2, 2, 2, 1172, 1174, 7, 32, 2, 2, 1173, 1175, 5, 54, 28, 2, 1174, 1173, 3, 2, 2, 2, 1174, 1175, 3, 2, 2, 2, 1175, 1176, 3, 2, 2, 2, 1176, 1177, 7, 161, 2, 2, 1177, 1178, 5, 500, 251, 2, 1178, 1179, 9, 9, 2, 2, 1179, 1180, 9, 10, 2, 2, 1180, 1181, 7, 108, 2, 2, 1181, 1182, 5, 502, 252, 2, 1182, 1183, 7, 60, 2, 2, 1183, 1184, 7, 50, 2, 2, 1184, 1187, 7, 513, 2, 2, 1185, 1186, 9, 11, 2, 2, 1186, 1188, 5, 500, 251, 2, 1187, 1185, 3, 2, 2, 2, 1187, 1188, 3, 2, 2, 2, 1188, 1189, 3, 2, 2, 2, 1189, 1190, 5, 348, 175, 2, 1190, 49, 3, 2, 2, 2, 1191, 1194, 7, 32, 2, 2, 1192, 1193, 7, 112, 2, 2, 1193, 1195, 7, 129, 2, 2, 1194, 1192, 3, 2, 2, 2, 1194, 1195, 3, 2, 2, 2, 1195, 1199, 3, 2, 2, 2, 1196, 1197, 7, 276, 2, 2, 1197, 1198, 7, 1013, 2, 2, 1198, 1200, 9, 12, 2, 2, 1199, 1196, 3, 2, 2, 2, 1199, 1200, 3, 2, 2, 2, 1200, 1202, 3, 2, 2, 2, 1201, 1203, 5, 54, 28, 2, 1202, 1201, 3, 2, 2, 2, 1202, 1203, 3, 2, 2, 2, 1203, 1207, 3, 2, 2, 2, 1204, 1205, 7, 145, 2, 2, 1205, 1206, 7, 518, 2, 2, 1206, 1208, 9, 13, 2, 2, 1207, 1204, 3, 2, 2, 2, 1207, 1208, 3, 2, 2, 2, 1208, 1209, 3, 2, 2, 2, 1209, 1210, 7, 580, 2, 2, 1210, 1215, 5, 500, 251, 2, 1211, 1212, 7, 1022, 2, 2, 1212, 1213, 5, 558, 280, 2, 1213, 1214, 7, 1023, 2, 2, 1214, 1216, 3, 2, 2, 2, 1215, 1211, 3, 2, 2, 2, 1215, 1216, 3, 2, 2, 2, 1216, 1217, 3, 2, 2, 2, 1217, 1218, 7, 13, 2, 2, 1218, 1225, 5, 182, 92, 2, 1219, 1221, 7, 176, 2, 2, 1220, 1222, 9, 14, 2, 2, 1221, 1220, 3, 2, 2, 2, 1221, 1222, 3, 2, 2, 2, 1222, 1223, 3, 2, 2, 2, 1223, 1224, 7, 25, 2, 2, 1224, 1226, 7, 110, 2, 2, 1225, 1219, 3, 2, 2, 2, 1225, 1226, 3, 2, 2, 2, 1226, 51, 3, 2, 2, 2, 1227, 1229, 7, 40, 2, 2, 1228, 1227, 3, 2, 2, 2, 1228, 1229, 3, 2, 2, 2, 1229, 1233, 3, 2, 2, 2, 1230, 1231, 7, 24, 2, 2, 1231, 1234, 7, 140, 2, 2, 1232, 1234, 7, 733, 2, 2, 1233, 1230, 3, 2, 2, 2, 1233, 1232, 3, 2, 2, 2, 1234, 1236, 3, 2, 2, 2, 1235, 1237, 7, 1013, 2, 2, 1236, 1235, 3, 2, 2, 2, 1236, 1237, 3, 2, 2, 2, 1237, 1240, 3, 2, 2, 2, 1238, 1241, 5, 512, 257, 2, 1239, 1241, 7, 40, 2, 2, 1240, 1238, 3, 2, 2, 2, 1240, 1239, 3, 2, 2, 2, 1241, 1251, 3, 2, 2, 2, 1242, 1244, 7, 40, 2, 2, 1243, 1242, 3, 2, 2, 2, 1243, 1244, 3, 2, 2, 2, 1244, 1245, 3, 2, 2, 2, 1245, 1247, 7, 26, 2, 2, 1246, 1248, 7, 1013, 2, 2, 1247, 1246, 3, 2, 2, 2, 1247, 1248, 3, 2, 2, 2, 1248, 1249, 3, 2, 2, 2, 1249, 1251, 5, 514, 258, 2, 1250, 1228, 3, 2, 2, 2, 1250, 1243, 3, 2, 2, 2, 1251, 53, 3, 2, 2, 2, 1252, 1253, 7, 329, 2, 2, 1253, 1260, 7, 1013, 2, 2, 1254, 1261, 5, 508, 255, 2, 1255, 1258, 7, 35, 2, 2, 1256, 1257, 7, 1022, 2, 2, 1257, 1259, 7, 1023, 2, 2, 1258, 1256, 3, 2, 2, 2, 1258, 1259, 3, 2, 2, 2, 1259, 1261, 3, 2, 2, 2, 1260, 1254, 3, 2, 2, 2, 1260, 1255, 3, 2, 2, 2, 1261, 55, 3, 2, 2, 2, 1262, 1263, 7, 278, 2, 2, 1263, 1267, 5, 58, 30, 2, 1264, 1266, 5, 60, 31, 2, 1265, 1264, 3, 2, 2, 2, 1266, 1269, 3, 2, 2, 2, 1267, 1265, 3, 2, 2, 2, 1267, 1268, 3, 2, 2, 2, 1268, 1297, 3, 2, 2, 2, 1269, 1267, 3, 2, 2, 2, 1270, 1273, 7, 352, 2, 2, 1271, 1274, 5, 532, 267, 2, 1272, 1274, 5, 604, 303, 2, 1273, 1271, 3, 2, 2, 2, 1273, 1272, 3, 2, 2, 2, 1274, 1275, 3, 2, 2, 2, 1275, 1284, 5, 62, 32, 2, 1276, 1277, 7, 541, 2, 2, 1277, 1281, 5, 58, 30, 2, 1278, 1280, 5, 60, 31, 2, 1279, 1278, 3, 2, 2, 2, 1280, 1283, 3, 2, 2, 2, 1281, 1279, 3, 2, 2, 2, 1281, 1282, 3, 2, 2, 2, 1282, 1285, 3, 2, 2, 2, 1283, 1281, 3, 2, 2, 2, 1284, 1276, 3, 2, 2, 2, 1284, 1285, 3, 2, 2, 2, 1285, 1294, 3, 2, 2, 2, 1286, 1287, 7, 343, 2, 2, 1287, 1291, 5, 58, 30, 2, 1288, 1290, 5, 60, 31, 2, 1289, 1288, 3, 2, 2, 2, 1290, 1293, 3, 2, 2, 2, 1291, 1289, 3, 2, 2, 2, 1291, 1292, 3, 2, 2, 2, 1292, 1295, 3, 2, 2, 2, 1293, 1291, 3, 2, 2, 2, 1294, 1286, 3, 2, 2, 2, 1294, 1295, 3, 2, 2, 2, 1295, 1297, 3, 2, 2, 2, 1296, 1262, 3, 2, 2, 2, 1296, 1270, 3, 2, 2, 2, 1297, 57, 3, 2, 2, 2, 1298, 1303, 7, 255, 2, 2, 1299, 1303, 5, 536, 269, 2, 1300, 1303, 5, 532, 267, 2, 1301, 1303, 5, 604, 303, 2, 1302, 1298, 3, 2, 2, 2, 1302, 1299, 3, 2, 2, 2, 1302, 1300, 3, 2, 2, 2, 1302, 1301, 3, 2, 2, 2, 1303, 59, 3, 2, 2, 2, 1304, 1305, 7, 1008, 2, 2, 1305, 1308, 7, 79, 2, 2, 1306, 1309, 5, 532, 267, 2, 1307, 1309, 5, 604, 303, 2, 1308, 1306, 3, 2, 2, 2, 1308, 1307, 3, 2, 2, 2, 1309, 1310, 3, 2, 2, 2, 1310, 1311, 5, 62, 32, 2, 1311, 61, 3, 2, 2, 2, 1312, 1326, 5, 626, 314, 2, 1313, 1326, 7, 205, 2, 2, 1314, 1326, 7, 224, 2, 2, 1315, 1326, 7, 225, 2, 2, 1316, 1326, 7, 226, 2, 2, 1317, 1326, 7, 227, 2, 2, 1318, 1326, 7, 228, 2, 2, 1319, 1326, 7, 229, 2, 2, 1320, 1326, 7, 230, 2, 2, 1321, 1326, 7, 231, 2, 2, 1322, 1326, 7, 232, 2, 2, 1323, 1326, 7, 233, 2, 2, 1324, 1326, 7, 234, 2, 2, 1325, 1312, 3, 2, 2, 2, 1325, 1313, 3, 2, 2, 2, 1325, 1314, 3, 2, 2, 2, 1325, 1315, 3, 2, 2, 2, 1325, 1316, 3, 2, 2, 2, 1325, 1317, 3, 2, 2, 2, 1325, 1318, 3, 2, 2, 2, 1325, 1319, 3, 2, 2, 2, 1325, 1320, 3, 2, 2, 2, 1325, 1321, 3, 2, 2, 2, 1325, 1322, 3, 2, 2, 2, 1325, 1323, 3, 2, 2, 2, 1325, 1324, 3, 2, 2, 2, 1326, 63, 3, 2, 2, 2, 1327, 1333, 7, 340, 2, 2, 1328, 1333, 7, 333, 2, 2, 1329, 1330, 7, 333, 2, 2, 1330, 1331, 7, 108, 2, 2, 1331, 1333, 7, 525, 2, 2, 1332, 1327, 3, 2, 2, 2, 1332, 1328, 3, 2, 2, 2, 1332, 1329, 3, 2, 2, 2, 1333, 65, 3, 2, 2, 2, 1334, 1335, 7, 171, 2, 2, 1335, 1336, 9, 15, 2, 2, 1336, 67, 3, 2, 2, 2, 1337, 1339, 7, 397, 2, 2, 1338, 1340, 7, 1013, 2, 2, 1339, 1338, 3, 2, 2, 2, 1339, 1340, 3, 2, 2, 2, 1340, 1341, 3, 2, 2, 2, 1341, 1351, 5, 534, 268, 2, 1342, 1351, 5, 66, 34, 2, 1343, 1344, 7, 176, 2, 2, 1344, 1345, 7, 466, 2, 2, 1345, 1351, 5, 526, 264, 2, 1346, 1347, 7, 307, 2, 2, 1347, 1351, 7, 1037, 2, 2, 1348, 1351, 7, 389, 2, 2, 1349, 1351, 7, 582, 2, 2, 1350, 1337, 3, 2, 2, 2, 1350, 1342, 3, 2, 2, 2, 1350, 1343, 3, 2, 2, 2, 1350, 1346, 3, 2, 2, 2, 1350, 1348, 3, 2, 2, 2, 1350, 1349, 3, 2, 2, 2, 1351, 69, 3, 2, 2, 2, 1352, 1354, 9, 16, 2, 2, 1353, 1352, 3, 2, 2, 2, 1353, 1354, 3, 2, 2, 2, 1354, 1355, 3, 2, 2, 2, 1355, 1356, 5, 526, 264, 2, 1356, 1357, 5, 546, 274, 2, 1357, 71, 3, 2, 2, 2, 1358, 1359, 5, 526, 264, 2, 1359, 1360, 5, 546, 274, 2, 1360, 73, 3, 2, 2, 2, 1361, 1362, 7, 307, 2, 2, 1362, 1385, 7, 1037, 2, 2, 1363, 1364, 7, 398, 2, 2, 1364, 1385, 7, 145, 2, 2, 1365, 1367, 7, 104, 2, 2, 1366, 1365, 3, 2, 2, 2, 1366, 1367, 3, 2, 2, 2, 1367, 1368, 3, 2, 2, 2, 1368, 1385, 7, 45, 2, 2, 1369, 1370, 7, 319, 2, 2, 1370, 1380, 7, 145, 2, 2, 1371, 1372, 7, 450, 2, 2, 1372, 1380, 7, 145, 2, 2, 1373, 1374, 7, 123, 2, 2, 1374, 1375, 7, 145, 2, 2, 1375, 1380, 7, 325, 2, 2, 1376, 1377, 7, 102, 2, 2, 1377, 1378, 7, 145, 2, 2, 1378, 1380, 7, 325, 2, 2, 1379, 1369, 3, 2, 2, 2, 1379, 1371, 3, 2, 2, 2, 1379, 1373, 3, 2, 2, 2, 1379, 1376, 3, 2, 2, 2, 1380, 1385, 3, 2, 2, 2, 1381, 1382, 7, 145, 2, 2, 1382, 1383, 7, 518, 2, 2, 1383, 1385, 9, 13, 2, 2, 1384, 1361, 3, 2, 2, 2, 1384, 1363, 3, 2, 2, 2, 1384, 1366, 3, 2, 2, 2, 1384, 1379, 3, 2, 2, 2, 1384, 1381, 3, 2, 2, 2, 1385, 75, 3, 2, 2, 2, 1386, 1387, 7, 378, 2, 2, 1387, 1401, 7, 1037, 2, 2, 1388, 1389, 7, 37, 2, 2, 1389, 1401, 7, 1037, 2, 2, 1390, 1391, 7, 574, 2, 2, 1391, 1401, 7, 1037, 2, 2, 1392, 1393, 7, 470, 2, 2, 1393, 1401, 7, 1037, 2, 2, 1394, 1395, 7, 528, 2, 2, 1395, 1401, 7, 1037, 2, 2, 1396, 1397, 7, 463, 2, 2, 1397, 1401, 7, 1037, 2, 2, 1398, 1399, 7, 475, 2, 2, 1399, 1401, 5, 532, 267, 2, 1400, 1386, 3, 2, 2, 2, 1400, 1388, 3, 2, 2, 2, 1400, 1390, 3, 2, 2, 2, 1400, 1392, 3, 2, 2, 2, 1400, 1394, 3, 2, 2, 2, 1400, 1396, 3, 2, 2, 2, 1400, 1398, 3, 2, 2, 2, 1401, 77, 3, 2, 2, 2, 1402, 1403, 7, 1022, 2, 2, 1403, 1408, 5, 80, 41, 2, 1404, 1405, 7, 1024, 2, 2, 1405, 1407, 5, 80, 41, 2, 1406, 1404, 3, 2, 2, 2, 1407, 1410, 3, 2, 2, 2, 1408, 1406, 3, 2, 2, 2, 1408, 1409, 3, 2, 2, 2, 1409, 1411, 3, 2, 2, 2, 1410, 1408, 3, 2, 2, 2, 1411, 1412, 7, 1023, 2, 2, 1412, 79, 3, 2, 2, 2, 1413, 1414, 5, 526, 264, 2, 1414, 1415, 5, 82, 42, 2, 1415, 1419, 3, 2, 2, 2, 1416, 1419, 5, 86, 44, 2, 1417, 1419, 5, 94, 48, 2, 1418, 1413, 3, 2, 2, 2, 1418, 1416, 3, 2, 2, 2, 1418, 1417, 3, 2, 2, 2, 1419, 81, 3, 2, 2, 2, 1420, 1424, 5, 546, 274, 2, 1421, 1423, 5, 84, 43, 2, 1422, 1421, 3, 2, 2, 2, 1423, 1426, 3, 2, 2, 2, 1424, 1422, 3, 2, 2, 2, 1424, 1425, 3, 2, 2, 2, 1425, 83, 3, 2, 2, 2, 1426, 1424, 3, 2, 2, 2, 1427, 1479, 5, 542, 272, 2, 1428, 1429, 7, 40, 2, 2, 1429, 1479, 5, 574, 288, 2, 1430, 1435, 7, 282, 2, 2, 1431, 1432, 7, 108, 2, 2, 1432, 1433, 7, 168, 2, 2, 1433, 1435, 5, 576, 289, 2, 1434, 1430, 3, 2, 2, 2, 1434, 1431, 3, 2, 2, 2, 1435, 1479, 3, 2, 2, 2, 1436, 1438, 7, 118, 2, 2, 1437, 1436, 3, 2, 2, 2, 1437, 1438, 3, 2, 2, 2, 1438, 1439, 3, 2, 2, 2, 1439, 1479, 7, 84, 2, 2, 1440, 1442, 7, 165, 2, 2, 1441, 1443, 7, 84, 2, 2, 1442, 1441, 3, 2, 2, 2, 1442, 1443, 3, 2, 2, 2, 1443, 1479, 3, 2, 2, 2, 1444, 1445, 7, 307, 2, 2, 1445, 1479, 7, 1037, 2, 2, 1446, 1447, 7, 305, 2, 2, 1447, 1479, 9, 17, 2, 2, 1448, 1449, 7, 547, 2, 2, 1449, 1479, 9, 18, 2, 2, 1450, 1479, 5, 88, 45, 2, 1451, 1452, 7, 26, 2, 2, 1452, 1479, 5, 514, 258, 2, 1453, 1454, 7, 65, 2, 2, 1454, 1456, 7, 10, 2, 2, 1455, 1453, 3, 2, 2, 2, 1455, 1456, 3, 2, 2, 2, 1456, 1457, 3, 2, 2, 2, 1457, 1458, 7, 13, 2, 2, 1458, 1459, 7, 1022, 2, 2, 1459, 1460, 5, 604, 303, 2, 1460, 1462, 7, 1023, 2, 2, 1461, 1463, 9, 19, 2, 2, 1462, 1461, 3, 2, 2, 2, 1462, 1463, 3, 2, 2, 2, 1463, 1479, 3, 2, 2, 2, 1464, 1465, 7, 223, 2, 2, 1465, 1466, 7, 40, 2, 2, 1466, 1479, 7, 578, 2, 2, 1467, 1469, 7, 29, 2, 2, 1468, 1470, 5, 526, 264, 2, 1469, 1468, 3, 2, 2, 2, 1469, 1470, 3, 2, 2, 2, 1470, 1472, 3, 2, 2, 2, 1471, 1467, 3, 2, 2, 2, 1471, 1472, 3, 2, 2, 2, 1472, 1473, 3, 2, 2, 2, 1473, 1474, 7, 25, 2, 2, 1474, 1475, 7, 1022, 2, 2, 1475, 1476, 5, 604, 303, 2, 1476, 1477, 7, 1023, 2, 2, 1477, 1479, 3, 2, 2, 2, 1478, 1427, 3, 2, 2, 2, 1478, 1428, 3, 2, 2, 2, 1478, 1434, 3, 2, 2, 2, 1478, 1437, 3, 2, 2, 2, 1478, 1440, 3, 2, 2, 2, 1478, 1444, 3, 2, 2, 2, 1478, 1446, 3, 2, 2, 2, 1478, 1448, 3, 2, 2, 2, 1478, 1450, 3, 2, 2, 2, 1478, 1451, 3, 2, 2, 2, 1478, 1455, 3, 2, 2, 2, 1478, 1464, 3, 2, 2, 2, 1478, 1471, 3, 2, 2, 2, 1479, 85, 3, 2, 2, 2, 1480, 1482, 7, 29, 2, 2, 1481, 1483, 5, 526, 264, 2, 1482, 1481, 3, 2, 2, 2, 1482, 1483, 3, 2, 2, 2, 1483, 1485, 3, 2, 2, 2, 1484, 1480, 3, 2, 2, 2, 1484, 1485, 3, 2, 2, 2, 1485, 1486, 3, 2, 2, 2, 1486, 1487, 7, 118, 2, 2, 1487, 1489, 7, 84, 2, 2, 1488, 1490, 5, 526, 264, 2, 1489, 1488, 3, 2, 2, 2, 1489, 1490, 3, 2, 2, 2, 1490, 1492, 3, 2, 2, 2, 1491, 1493, 5, 66, 34, 2, 1492, 1491, 3, 2, 2, 2, 1492, 1493, 3, 2, 2, 2, 1493, 1494, 3, 2, 2, 2, 1494, 1498, 5, 562, 282, 2, 1495, 1497, 5, 68, 35, 2, 1496, 1495, 3, 2, 2, 2, 1497, 1500, 3, 2, 2, 2, 1498, 1496, 3, 2, 2, 2, 1498, 1499, 3, 2, 2, 2, 1499, 1550, 3, 2, 2, 2, 1500, 1498, 3, 2, 2, 2, 1501, 1503, 7, 29, 2, 2, 1502, 1504, 5, 526, 264, 2, 1503, 1502, 3, 2, 2, 2, 1503, 1504, 3, 2, 2, 2, 1504, 1506, 3, 2, 2, 2, 1505, 1501, 3, 2, 2, 2, 1505, 1506, 3, 2, 2, 2, 1506, 1507, 3, 2, 2, 2, 1507, 1509, 7, 165, 2, 2, 1508, 1510, 9, 20, 2, 2, 1509, 1508, 3, 2, 2, 2, 1509, 1510, 3, 2, 2, 2, 1510, 1512, 3, 2, 2, 2, 1511, 1513, 5, 526, 264, 2, 1512, 1511, 3, 2, 2, 2, 1512, 1513, 3, 2, 2, 2, 1513, 1515, 3, 2, 2, 2, 1514, 1516, 5, 66, 34, 2, 1515, 1514, 3, 2, 2, 2, 1515, 1516, 3, 2, 2, 2, 1516, 1517, 3, 2, 2, 2, 1517, 1521, 5, 562, 282, 2, 1518, 1520, 5, 68, 35, 2, 1519, 1518, 3, 2, 2, 2, 1520, 1523, 3, 2, 2, 2, 1521, 1519, 3, 2, 2, 2, 1521, 1522, 3, 2, 2, 2, 1522, 1550, 3, 2, 2, 2, 1523, 1521, 3, 2, 2, 2, 1524, 1526, 7, 29, 2, 2, 1525, 1527, 5, 526, 264, 2, 1526, 1525, 3, 2, 2, 2, 1526, 1527, 3, 2, 2, 2, 1527, 1529, 3, 2, 2, 2, 1528, 1524, 3, 2, 2, 2, 1528, 1529, 3, 2, 2, 2, 1529, 1530, 3, 2, 2, 2, 1530, 1531, 7, 62, 2, 2, 1531, 1533, 7, 84, 2, 2, 1532, 1534, 5, 526, 264, 2, 1533, 1532, 3, 2, 2, 2, 1533, 1534, 3, 2, 2, 2, 1534, 1535, 3, 2, 2, 2, 1535, 1536, 5, 562, 282, 2, 1536, 1537, 5, 88, 45, 2, 1537, 1550, 3, 2, 2, 2, 1538, 1540, 7, 29, 2, 2, 1539, 1541, 5, 526, 264, 2, 1540, 1539, 3, 2, 2, 2, 1540, 1541, 3, 2, 2, 2, 1541, 1543, 3, 2, 2, 2, 1542, 1538, 3, 2, 2, 2, 1542, 1543, 3, 2, 2, 2, 1543, 1544, 3, 2, 2, 2, 1544, 1545, 7, 25, 2, 2, 1545, 1546, 7, 1022, 2, 2, 1546, 1547, 5, 604, 303, 2, 1547, 1548, 7, 1023, 2, 2, 1548, 1550, 3, 2, 2, 2, 1549, 1484, 3, 2, 2, 2, 1549, 1505, 3, 2, 2, 2, 1549, 1528, 3, 2, 2, 2, 1549, 1542, 3, 2, 2, 2, 1550, 87, 3, 2, 2, 2, 1551, 1552, 7, 124, 2, 2, 1552, 1554, 5, 502, 252, 2, 1553, 1555, 5, 562, 282, 2, 1554, 1553, 3, 2, 2, 2, 1554, 1555, 3, 2, 2, 2, 1555, 1558, 3, 2, 2, 2, 1556, 1557, 7, 100, 2, 2, 1557, 1559, 9, 21, 2, 2, 1558, 1556, 3, 2, 2, 2, 1558, 1559, 3, 2, 2, 2, 1559, 1561, 3, 2, 2, 2, 1560, 1562, 5, 90, 46, 2, 1561, 1560, 3, 2, 2, 2, 1561, 1562, 3, 2, 2, 2, 1562, 89, 3, 2, 2, 2, 1563, 1564, 7, 108, 2, 2, 1564, 1565, 7, 42, 2, 2, 1565, 1569, 5, 92, 47, 2, 1566, 1567, 7, 108, 2, 2, 1567, 1568, 7, 168, 2, 2, 1568, 1570, 5, 92, 47, 2, 1569, 1566, 3, 2, 2, 2, 1569, 1570, 3, 2, 2, 2, 1570, 1580, 3, 2, 2, 2, 1571, 1572, 7, 108, 2, 2, 1572, 1573, 7, 168, 2, 2, 1573, 1577, 5, 92, 47, 2, 1574, 1575, 7, 108, 2, 2, 1575, 1576, 7, 42, 2, 2, 1576, 1578, 5, 92, 47, 2, 1577, 1574, 3, 2, 2, 2, 1577, 1578, 3, 2, 2, 2, 1578, 1580, 3, 2, 2, 2, 1579, 1563, 3, 2, 2, 2, 1579, 1571, 3, 2, 2, 2, 1580, 91, 3, 2, 2, 2, 1581, 1588, 7, 132, 2, 2, 1582, 1588, 7, 20, 2, 2, 1583, 1584, 7, 140, 2, 2, 1584, 1588, 7, 106, 2, 2, 1585, 1586, 7, 450, 2, 2, 1586, 1588, 7, 273, 2, 2, 1587, 1581, 3, 2, 2, 2, 1587, 1582, 3, 2, 2, 2, 1587, 1583, 3, 2, 2, 2, 1587, 1585, 3, 2, 2, 2, 1588, 93, 3, 2, 2, 2, 1589, 1591, 9, 20, 2, 2, 1590, 1592, 5, 526, 264, 2, 1591, 1590, 3, 2, 2, 2, 1591, 1592, 3, 2, 2, 2, 1592, 1594, 3, 2, 2, 2, 1593, 1595, 5, 66, 34, 2, 1594, 1593, 3, 2, 2, 2, 1594, 1595, 3, 2, 2, 2, 1595, 1596, 3, 2, 2, 2, 1596, 1600, 5, 562, 282, 2, 1597, 1599, 5, 68, 35, 2, 1598, 1597, 3, 2, 2, 2, 1599, 1602, 3, 2, 2, 2, 1600, 1598, 3, 2, 2, 2, 1600, 1601, 3, 2, 2, 2, 1601, 1618, 3, 2, 2, 2, 1602, 1600, 3, 2, 2, 2, 1603, 1605, 9, 22, 2, 2, 1604, 1606, 9, 20, 2, 2, 1605, 1604, 3, 2, 2, 2, 1605, 1606, 3, 2, 2, 2, 1606, 1608, 3, 2, 2, 2, 1607, 1609, 5, 526, 264, 2, 1608, 1607, 3, 2, 2, 2, 1608, 1609, 3, 2, 2, 2, 1609, 1610, 3, 2, 2, 2, 1610, 1614, 5, 562, 282, 2, 1611, 1613, 5, 68, 35, 2, 1612, 1611, 3, 2, 2, 2, 1613, 1616, 3, 2, 2, 2, 1614, 1612, 3, 2, 2, 2, 1614, 1615, 3, 2, 2, 2, 1615, 1618, 3, 2, 2, 2, 1616, 1614, 3, 2, 2, 2, 1617, 1589, 3, 2, 2, 2, 1617, 1603, 3, 2, 2, 2, 1618, 95, 3, 2, 2, 2, 1619, 1621, 7, 344, 2, 2, 1620, 1622, 7, 1013, 2, 2, 1621, 1620, 3, 2, 2, 2, 1621, 1622, 3, 2, 2, 2, 1622, 1623, 3, 2, 2, 2, 1623, 1764, 5, 516, 259, 2, 1624, 1626, 7, 282, 2, 2, 1625, 1627, 7, 1013, 2, 2, 1626, 1625, 3, 2, 2, 2, 1626, 1627, 3, 2, 2, 2, 1627, 1628, 3, 2, 2, 2, 1628, 1764, 5, 532, 267, 2, 1629, 1631, 7, 283, 2, 2, 1630, 1632, 7, 1013, 2, 2, 1631, 1630, 3, 2, 2, 2, 1631, 1632, 3, 2, 2, 2, 1632, 1633, 3, 2, 2, 2, 1633, 1764, 5, 532, 267, 2, 1634, 1636, 7, 40, 2, 2, 1635, 1634, 3, 2, 2, 2, 1635, 1636, 3, 2, 2, 2, 1636, 1640, 3, 2, 2, 2, 1637, 1638, 7, 24, 2, 2, 1638, 1641, 7, 140, 2, 2, 1639, 1641, 7, 733, 2, 2, 1640, 1637, 3, 2, 2, 2, 1640, 1639, 3, 2, 2, 2, 1641, 1643, 3, 2, 2, 2, 1642, 1644, 7, 1013, 2, 2, 1643, 1642, 3, 2, 2, 2, 1643, 1644, 3, 2, 2, 2, 1644, 1647, 3, 2, 2, 2, 1645, 1648, 5, 512, 257, 2, 1646, 1648, 7, 40, 2, 2, 1647, 1645, 3, 2, 2, 2, 1647, 1646, 3, 2, 2, 2, 1648, 1764, 3, 2, 2, 2, 1649, 1651, 9, 23, 2, 2, 1650, 1652, 7, 1013, 2, 2, 1651, 1650, 3, 2, 2, 2, 1651, 1652, 3, 2, 2, 2, 1652, 1653, 3, 2, 2, 2, 1653, 1764, 9, 24, 2, 2, 1654, 1656, 7, 40, 2, 2, 1655, 1654, 3, 2, 2, 2, 1655, 1656, 3, 2, 2, 2, 1656, 1657, 3, 2, 2, 2, 1657, 1659, 7, 26, 2, 2, 1658, 1660, 7, 1013, 2, 2, 1659, 1658, 3, 2, 2, 2, 1659, 1660, 3, 2, 2, 2, 1660, 1661, 3, 2, 2, 2, 1661, 1764, 5, 514, 258, 2, 1662, 1664, 7, 307, 2, 2, 1663, 1665, 7, 1013, 2, 2, 1664, 1663, 3, 2, 2, 2, 1664, 1665, 3, 2, 2, 2, 1665, 1666, 3, 2, 2, 2, 1666, 1764, 7, 1037, 2, 2, 1667, 1669, 7, 312, 2, 2, 1668, 1670, 7, 1013, 2, 2, 1669, 1668, 3, 2, 2, 2, 1669, 1670, 3, 2, 2, 2, 1670, 1671, 3, 2, 2, 2, 1671, 1764, 9, 25, 2, 2, 1672, 1674, 7, 314, 2, 2, 1673, 1675, 7, 1013, 2, 2, 1674, 1673, 3, 2, 2, 2, 1674, 1675, 3, 2, 2, 2, 1675, 1676, 3, 2, 2, 2, 1676, 1764, 7, 1037, 2, 2, 1677, 1678, 7, 325, 2, 2, 1678, 1680, 7, 332, 2, 2, 1679, 1681, 7, 1013, 2, 2, 1680, 1679, 3, 2, 2, 2, 1680, 1681, 3, 2, 2, 2, 1681, 1682, 3, 2, 2, 2, 1682, 1764, 7, 1037, 2, 2, 1683, 1685, 7, 330, 2, 2, 1684, 1686, 7, 1013, 2, 2, 1685, 1684, 3, 2, 2, 2, 1685, 1686, 3, 2, 2, 2, 1686, 1687, 3, 2, 2, 2, 1687, 1764, 9, 24, 2, 2, 1688, 1690, 7, 341, 2, 2, 1689, 1691, 7, 1013, 2, 2, 1690, 1689, 3, 2, 2, 2, 1690, 1691, 3, 2, 2, 2, 1691, 1692, 3, 2, 2, 2, 1692, 1764, 7, 1037, 2, 2, 1693, 1694, 7, 74, 2, 2, 1694, 1696, 7, 332, 2, 2, 1695, 1697, 7, 1013, 2, 2, 1696, 1695, 3, 2, 2, 2, 1696, 1697, 3, 2, 2, 2, 1697, 1698, 3, 2, 2, 2, 1698, 1764, 7, 1037, 2, 2, 1699, 1701, 7, 386, 2, 2, 1700, 1702, 7, 1013, 2, 2, 1701, 1700, 3, 2, 2, 2, 1701, 1702, 3, 2, 2, 2, 1702, 1703, 3, 2, 2, 2, 1703, 1764, 9, 26, 2, 2, 1704, 1706, 7, 397, 2, 2, 1705, 1707, 7, 1013, 2, 2, 1706, 1705, 3, 2, 2, 2, 1706, 1707, 3, 2, 2, 2, 1707, 1708, 3, 2, 2, 2, 1708, 1764, 5, 534, 268, 2, 1709, 1711, 7, 430, 2, 2, 1710, 1712, 7, 1013, 2, 2, 1711, 1710, 3, 2, 2, 2, 1711, 1712, 3, 2, 2, 2, 1712, 1713, 3, 2, 2, 2, 1713, 1764, 5, 532, 267, 2, 1714, 1716, 7, 439, 2, 2, 1715, 1717, 7, 1013, 2, 2, 1716, 1715, 3, 2, 2, 2, 1716, 1717, 3, 2, 2, 2, 1717, 1718, 3, 2, 2, 2, 1718, 1764, 5, 532, 267, 2, 1719, 1721, 7, 464, 2, 2, 1720, 1722, 7, 1013, 2, 2, 1721, 1720, 3, 2, 2, 2, 1721, 1722, 3, 2, 2, 2, 1722, 1723, 3, 2, 2, 2, 1723, 1764, 9, 27, 2, 2, 1724, 1726, 7, 470, 2, 2, 1725, 1727, 7, 1013, 2, 2, 1726, 1725, 3, 2, 2, 2, 1726, 1727, 3, 2, 2, 2, 1727, 1728, 3, 2, 2, 2, 1728, 1764, 7, 1037, 2, 2, 1729, 1731, 7, 515, 2, 2, 1730, 1732, 7, 1013, 2, 2, 1731, 1730, 3, 2, 2, 2, 1731, 1732, 3, 2, 2, 2, 1732, 1733, 3, 2, 2, 2, 1733, 1764, 9, 28, 2, 2, 1734, 1736, 7, 542, 2, 2, 1735, 1737, 7, 1013, 2, 2, 1736, 1735, 3, 2, 2, 2, 1736, 1737, 3, 2, 2, 2, 1737, 1738, 3, 2, 2, 2, 1738, 1764, 9, 27, 2, 2, 1739, 1741, 7, 543, 2, 2, 1740, 1742, 7, 1013, 2, 2, 1741, 1740, 3, 2, 2, 2, 1741, 1742, 3, 2, 2, 2, 1742, 1743, 3, 2, 2, 2, 1743, 1764, 9, 27, 2, 2, 1744, 1746, 7, 544, 2, 2, 1745, 1747, 7, 1013, 2, 2, 1746, 1745, 3, 2, 2, 2, 1746, 1747, 3, 2, 2, 2, 1747, 1748, 3, 2, 2, 2, 1748, 1764, 5, 532, 267, 2, 1749, 1750, 7, 558, 2, 2, 1750, 1752, 5, 526, 264, 2, 1751, 1753, 5, 98, 50, 2, 1752, 1751, 3, 2, 2, 2, 1752, 1753, 3, 2, 2, 2, 1753, 1764, 3, 2, 2, 2, 1754, 1764, 5, 98, 50, 2, 1755, 1757, 7, 164, 2, 2, 1756, 1758, 7, 1013, 2, 2, 1757, 1756, 3, 2, 2, 2, 1757, 1758, 3, 2, 2, 2, 1758, 1759, 3, 2, 2, 2, 1759, 1760, 7, 1022, 2, 2, 1760, 1761, 5, 560, 281, 2, 1761, 1762, 7, 1023, 2, 2, 1762, 1764, 3, 2, 2, 2, 1763, 1619, 3, 2, 2, 2, 1763, 1624, 3, 2, 2, 2, 1763, 1629, 3, 2, 2, 2, 1763, 1635, 3, 2, 2, 2, 1763, 1649, 3, 2, 2, 2, 1763, 1655, 3, 2, 2, 2, 1763, 1662, 3, 2, 2, 2, 1763, 1667, 3, 2, 2, 2, 1763, 1672, 3, 2, 2, 2, 1763, 1677, 3, 2, 2, 2, 1763, 1683, 3, 2, 2, 2, 1763, 1688, 3, 2, 2, 2, 1763, 1693, 3, 2, 2, 2, 1763, 1699, 3, 2, 2, 2, 1763, 1704, 3, 2, 2, 2, 1763, 1709, 3, 2, 2, 2, 1763, 1714, 3, 2, 2, 2, 1763, 1719, 3, 2, 2, 2, 1763, 1724, 3, 2, 2, 2, 1763, 1729, 3, 2, 2, 2, 1763, 1734, 3, 2, 2, 2, 1763, 1739, 3, 2, 2, 2, 1763, 1744, 3, 2, 2, 2, 1763, 1749, 3, 2, 2, 2, 1763, 1754, 3, 2, 2, 2, 1763, 1755, 3, 2, 2, 2, 1764, 97, 3, 2, 2, 2, 1765, 1766, 7, 547, 2, 2, 1766, 1767, 9, 18, 2, 2, 1767, 99, 3, 2, 2, 2, 1768, 1769, 7, 117, 2, 2, 1769, 1770, 7, 18, 2, 2, 1770, 1773, 5, 102, 52, 2, 1771, 1772, 7, 469, 2, 2, 1772, 1774, 5, 532, 267, 2, 1773, 1771, 3, 2, 2, 2, 1773, 1774, 3, 2, 2, 2, 1774, 1782, 3, 2, 2, 2, 1775, 1776, 7, 552, 2, 2, 1776, 1777, 7, 18, 2, 2, 1777, 1780, 5, 104, 53, 2, 1778, 1779, 7, 553, 2, 2, 1779, 1781, 5, 532, 267, 2, 1780, 1778, 3, 2, 2, 2, 1780, 1781, 3, 2, 2, 2, 1781, 1783, 3, 2, 2, 2, 1782, 1775, 3, 2, 2, 2, 1782, 1783, 3, 2, 2, 2, 1783, 1795, 3, 2, 2, 2, 1784, 1785, 7, 1022, 2, 2, 1785, 1790, 5, 106, 54, 2, 1786, 1787, 7, 1024, 2, 2, 1787, 1789, 5, 106, 54, 2, 1788, 1786, 3, 2, 2, 2, 1789, 1792, 3, 2, 2, 2, 1790, 1788, 3, 2, 2, 2, 1790, 1791, 3, 2, 2, 2, 1791, 1793, 3, 2, 2, 2, 1792, 1790, 3, 2, 2, 2, 1793, 1794, 7, 1023, 2, 2, 1794, 1796, 3, 2, 2, 2, 1795, 1784, 3, 2, 2, 2, 1795, 1796, 3, 2, 2, 2, 1796, 101, 3, 2, 2, 2, 1797, 1799, 7, 92, 2, 2, 1798, 1797, 3, 2, 2, 2, 1798, 1799, 3, 2, 2, 2, 1799, 1800, 3, 2, 2, 2, 1800, 1801, 7, 376, 2, 2, 1801, 1802, 7, 1022, 2, 2, 1802, 1803, 5, 604, 303, 2, 1803, 1804, 7, 1023, 2, 2, 1804, 1843, 3, 2, 2, 2, 1805, 1807, 7, 92, 2, 2, 1806, 1805, 3, 2, 2, 2, 1806, 1807, 3, 2, 2, 2, 1807, 1808, 3, 2, 2, 2, 1808, 1812, 7, 84, 2, 2, 1809, 1810, 7, 276, 2, 2, 1810, 1811, 7, 1013, 2, 2, 1811, 1813, 9, 29, 2, 2, 1812, 1809, 3, 2, 2, 2, 1812, 1813, 3, 2, 2, 2, 1813, 1814, 3, 2, 2, 2, 1814, 1815, 7, 1022, 2, 2, 1815, 1816, 5, 558, 280, 2, 1816, 1817, 7, 1023, 2, 2, 1817, 1843, 3, 2, 2, 2, 1818, 1828, 7, 121, 2, 2, 1819, 1820, 7, 1022, 2, 2, 1820, 1821, 5, 604, 303, 2, 1821, 1822, 7, 1023, 2, 2, 1822, 1829, 3, 2, 2, 2, 1823, 1824, 7, 304, 2, 2, 1824, 1825, 7, 1022, 2, 2, 1825, 1826, 5, 558, 280, 2, 1826, 1827, 7, 1023, 2, 2, 1827, 1829, 3, 2, 2, 2, 1828, 1819, 3, 2, 2, 2, 1828, 1823, 3, 2, 2, 2, 1829, 1843, 3, 2, 2, 2, 1830, 1840, 7, 403, 2, 2, 1831, 1832, 7, 1022, 2, 2, 1832, 1833, 5, 604, 303, 2, 1833, 1834, 7, 1023, 2, 2, 1834, 1841, 3, 2, 2, 2, 1835, 1836, 7, 304, 2, 2, 1836, 1837, 7, 1022, 2, 2, 1837, 1838, 5, 558, 280, 2, 1838, 1839, 7, 1023, 2, 2, 1839, 1841, 3, 2, 2, 2, 1840, 1831, 3, 2, 2, 2, 1840, 1835, 3, 2, 2, 2, 1841, 1843, 3, 2, 2, 2, 1842, 1798, 3, 2, 2, 2, 1842, 1806, 3, 2, 2, 2, 1842, 1818, 3, 2, 2, 2, 1842, 1830, 3, 2, 2, 2, 1843, 103, 3, 2, 2, 2, 1844, 1846, 7, 92, 2, 2, 1845, 1844, 3, 2, 2, 2, 1845, 1846, 3, 2, 2, 2, 1846, 1847, 3, 2, 2, 2, 1847, 1848, 7, 376, 2, 2, 1848, 1849, 7, 1022, 2, 2, 1849, 1850, 5, 604, 303, 2, 1850, 1851, 7, 1023, 2, 2, 1851, 1866, 3, 2, 2, 2, 1852, 1854, 7, 92, 2, 2, 1853, 1852, 3, 2, 2, 2, 1853, 1854, 3, 2, 2, 2, 1854, 1855, 3, 2, 2, 2, 1855, 1859, 7, 84, 2, 2, 1856, 1857, 7, 276, 2, 2, 1857, 1858, 7, 1013, 2, 2, 1858, 1860, 9, 29, 2, 2, 1859, 1856, 3, 2, 2, 2, 1859, 1860, 3, 2, 2, 2, 1860, 1861, 3, 2, 2, 2, 1861, 1862, 7, 1022, 2, 2, 1862, 1863, 5, 558, 280, 2, 1863, 1864, 7, 1023, 2, 2, 1864, 1866, 3, 2, 2, 2, 1865, 1845, 3, 2, 2, 2, 1865, 1853, 3, 2, 2, 2, 1866, 105, 3, 2, 2, 2, 1867, 1868, 7, 117, 2, 2, 1868, 1869, 5, 526, 264, 2, 1869, 1870, 7, 172, 2, 2, 1870, 1871, 7, 401, 2, 2, 1871, 1872, 7, 561, 2, 2, 1872, 1873, 7, 1022, 2, 2, 1873, 1878, 5, 108, 55, 2, 1874, 1875, 7, 1024, 2, 2, 1875, 1877, 5, 108, 55, 2, 1876, 1874, 3, 2, 2, 2, 1877, 1880, 3, 2, 2, 2, 1878, 1876, 3, 2, 2, 2, 1878, 1879, 3, 2, 2, 2, 1879, 1881, 3, 2, 2, 2, 1880, 1878, 3, 2, 2, 2, 1881, 1885, 7, 1023, 2, 2, 1882, 1884, 5, 114, 58, 2, 1883, 1882, 3, 2, 2, 2, 1884, 1887, 3, 2, 2, 2, 1885, 1883, 3, 2, 2, 2, 1885, 1886, 3, 2, 2, 2, 1886, 1896, 3, 2, 2, 2, 1887, 1885, 3, 2, 2, 2, 1888, 1893, 5, 112, 57, 2, 1889, 1890, 7, 1024, 2, 2, 1890, 1892, 5, 112, 57, 2, 1891, 1889, 3, 2, 2, 2, 1892, 1895, 3, 2, 2, 2, 1893, 1891, 3, 2, 2, 2, 1893, 1894, 3, 2, 2, 2, 1894, 1897, 3, 2, 2, 2, 1895, 1893, 3, 2, 2, 2, 1896, 1888, 3, 2, 2, 2, 1896, 1897, 3, 2, 2, 2, 1897, 1999, 3, 2, 2, 2, 1898, 1899, 7, 117, 2, 2, 1899, 1900, 5, 526, 264, 2, 1900, 1901, 7, 172, 2, 2, 1901, 1902, 7, 401, 2, 2, 1902, 1903, 7, 561, 2, 2, 1903, 1907, 5, 108, 55, 2, 1904, 1906, 5, 114, 58, 2, 1905, 1904, 3, 2, 2, 2, 1906, 1909, 3, 2, 2, 2, 1907, 1905, 3, 2, 2, 2, 1907, 1908, 3, 2, 2, 2, 1908, 1918, 3, 2, 2, 2, 1909, 1907, 3, 2, 2, 2, 1910, 1915, 5, 112, 57, 2, 1911, 1912, 7, 1024, 2, 2, 1912, 1914, 5, 112, 57, 2, 1913, 1911, 3, 2, 2, 2, 1914, 1917, 3, 2, 2, 2, 1915, 1913, 3, 2, 2, 2, 1915, 1916, 3, 2, 2, 2, 1916, 1919, 3, 2, 2, 2, 1917, 1915, 3, 2, 2, 2, 1918, 1910, 3, 2, 2, 2, 1918, 1919, 3, 2, 2, 2, 1919, 1999, 3, 2, 2, 2, 1920, 1921, 7, 117, 2, 2, 1921, 1922, 5, 526, 264, 2, 1922, 1923, 7, 172, 2, 2, 1923, 1924, 7, 73, 2, 2, 1924, 1925, 7, 1022, 2, 2, 1925, 1930, 5, 108, 55, 2, 1926, 1927, 7, 1024, 2, 2, 1927, 1929, 5, 108, 55, 2, 1928, 1926, 3, 2, 2, 2, 1929, 1932, 3, 2, 2, 2, 1930, 1928, 3, 2, 2, 2, 1930, 1931, 3, 2, 2, 2, 1931, 1933, 3, 2, 2, 2, 1932, 1930, 3, 2, 2, 2, 1933, 1937, 7, 1023, 2, 2, 1934, 1936, 5, 114, 58, 2, 1935, 1934, 3, 2, 2, 2, 1936, 1939, 3, 2, 2, 2, 1937, 1935, 3, 2, 2, 2, 1937, 1938, 3, 2, 2, 2, 1938, 1948, 3, 2, 2, 2, 1939, 1937, 3, 2, 2, 2, 1940, 1945, 5, 112, 57, 2, 1941, 1942, 7, 1024, 2, 2, 1942, 1944, 5, 112, 57, 2, 1943, 1941, 3, 2, 2, 2, 1944, 1947, 3, 2, 2, 2, 1945, 1943, 3, 2, 2, 2, 1945, 1946, 3, 2, 2, 2, 1946, 1949, 3, 2, 2, 2, 1947, 1945, 3, 2, 2, 2, 1948, 1940, 3, 2, 2, 2, 1948, 1949, 3, 2, 2, 2, 1949, 1999, 3, 2, 2, 2, 1950, 1951, 7, 117, 2, 2, 1951, 1952, 5, 526, 264, 2, 1952, 1953, 7, 172, 2, 2, 1953, 1954, 7, 73, 2, 2, 1954, 1955, 7, 1022, 2, 2, 1955, 1960, 5, 110, 56, 2, 1956, 1957, 7, 1024, 2, 2, 1957, 1959, 5, 110, 56, 2, 1958, 1956, 3, 2, 2, 2, 1959, 1962, 3, 2, 2, 2, 1960, 1958, 3, 2, 2, 2, 1960, 1961, 3, 2, 2, 2, 1961, 1963, 3, 2, 2, 2, 1962, 1960, 3, 2, 2, 2, 1963, 1967, 7, 1023, 2, 2, 1964, 1966, 5, 114, 58, 2, 1965, 1964, 3, 2, 2, 2, 1966, 1969, 3, 2, 2, 2, 1967, 1965, 3, 2, 2, 2, 1967, 1968, 3, 2, 2, 2, 1968, 1978, 3, 2, 2, 2, 1969, 1967, 3, 2, 2, 2, 1970, 1975, 5, 112, 57, 2, 1971, 1972, 7, 1024, 2, 2, 1972, 1974, 5, 112, 57, 2, 1973, 1971, 3, 2, 2, 2, 1974, 1977, 3, 2, 2, 2, 1975, 1973, 3, 2, 2, 2, 1975, 1976, 3, 2, 2, 2, 1976, 1979, 3, 2, 2, 2, 1977, 1975, 3, 2, 2, 2, 1978, 1970, 3, 2, 2, 2, 1978, 1979, 3, 2, 2, 2, 1979, 1999, 3, 2, 2, 2, 1980, 1981, 7, 117, 2, 2, 1981, 1985, 5, 526, 264, 2, 1982, 1984, 5, 114, 58, 2, 1983, 1982, 3, 2, 2, 2, 1984, 1987, 3, 2, 2, 2, 1985, 1983, 3, 2, 2, 2, 1985, 1986, 3, 2, 2, 2, 1986, 1996, 3, 2, 2, 2, 1987, 1985, 3, 2, 2, 2, 1988, 1993, 5, 112, 57, 2, 1989, 1990, 7, 1024, 2, 2, 1990, 1992, 5, 112, 57, 2, 1991, 1989, 3, 2, 2, 2, 1992, 1995, 3, 2, 2, 2, 1993, 1991, 3, 2, 2, 2, 1993, 1994, 3, 2, 2, 2, 1994, 1997, 3, 2, 2, 2, 1995, 1993, 3, 2, 2, 2, 1996, 1988, 3, 2, 2, 2, 1996, 1997, 3, 2, 2, 2, 1997, 1999, 3, 2, 2, 2, 1998, 1867, 3, 2, 2, 2, 1998, 1898, 3, 2, 2, 2, 1998, 1920, 3, 2, 2, 2, 1998, 1950, 3, 2, 2, 2, 1998, 1980, 3, 2, 2, 2, 1999, 107, 3, 2, 2, 2, 2000, 2004, 5, 544, 273, 2, 2001, 2004, 5, 604, 303, 2, 2002, 2004, 7, 101, 2, 2, 2003, 2000, 3, 2, 2, 2, 2003, 2001, 3, 2, 2, 2, 2003, 2002, 3, 2, 2, 2, 2004, 109, 3, 2, 2, 2, 2005, 2006, 7, 1022, 2, 2, 2006, 2009, 5, 108, 55, 2, 2007, 2008, 7, 1024, 2, 2, 2008, 2010, 5, 108, 55, 2, 2009, 2007, 3, 2, 2, 2, 2010, 2011, 3, 2, 2, 2, 2011, 2009, 3, 2, 2, 2, 2011, 2012, 3, 2, 2, 2, 2012, 2013, 3, 2, 2, 2, 2013, 2014, 7, 1023, 2, 2, 2014, 111, 3, 2, 2, 2, 2015, 2016, 7, 552, 2, 2, 2016, 2020, 5, 526, 264, 2, 2017, 2019, 5, 114, 58, 2, 2018, 2017, 3, 2, 2, 2, 2019, 2022, 3, 2, 2, 2, 2020, 2018, 3, 2, 2, 2, 2020, 2021, 3, 2, 2, 2, 2021, 113, 3, 2, 2, 2, 2022, 2020, 3, 2, 2, 2, 2023, 2025, 7, 547, 2, 2, 2024, 2023, 3, 2, 2, 2, 2024, 2025, 3, 2, 2, 2, 2025, 2026, 3, 2, 2, 2, 2026, 2028, 7, 344, 2, 2, 2027, 2029, 7, 1013, 2, 2, 2028, 2027, 3, 2, 2, 2, 2028, 2029, 3, 2, 2, 2, 2029, 2030, 3, 2, 2, 2, 2030, 2069, 5, 516, 259, 2, 2031, 2033, 7, 307, 2, 2, 2032, 2034, 7, 1013, 2, 2, 2033, 2032, 3, 2, 2, 2, 2033, 2034, 3, 2, 2, 2, 2034, 2035, 3, 2, 2, 2, 2035, 2069, 7, 1037, 2, 2, 2036, 2037, 7, 325, 2, 2, 2037, 2039, 7, 332, 2, 2, 2038, 2040, 7, 1013, 2, 2, 2039, 2038, 3, 2, 2, 2, 2039, 2040, 3, 2, 2, 2, 2040, 2041, 3, 2, 2, 2, 2041, 2069, 7, 1037, 2, 2, 2042, 2043, 7, 74, 2, 2, 2043, 2045, 7, 332, 2, 2, 2044, 2046, 7, 1013, 2, 2, 2045, 2044, 3, 2, 2, 2, 2045, 2046, 3, 2, 2, 2, 2046, 2047, 3, 2, 2, 2, 2047, 2069, 7, 1037, 2, 2, 2048, 2050, 7, 430, 2, 2, 2049, 2051, 7, 1013, 2, 2, 2050, 2049, 3, 2, 2, 2, 2050, 2051, 3, 2, 2, 2, 2051, 2052, 3, 2, 2, 2, 2052, 2069, 5, 532, 267, 2, 2053, 2055, 7, 439, 2, 2, 2054, 2056, 7, 1013, 2, 2, 2055, 2054, 3, 2, 2, 2, 2055, 2056, 3, 2, 2, 2, 2056, 2057, 3, 2, 2, 2, 2057, 2069, 5, 532, 267, 2, 2058, 2060, 7, 558, 2, 2, 2059, 2061, 7, 1013, 2, 2, 2060, 2059, 3, 2, 2, 2, 2060, 2061, 3, 2, 2, 2, 2061, 2062, 3, 2, 2, 2, 2062, 2069, 5, 526, 264, 2, 2063, 2065, 7, 451, 2, 2, 2064, 2066, 7, 1013, 2, 2, 2065, 2064, 3, 2, 2, 2, 2065, 2066, 3, 2, 2, 2, 2066, 2067, 3, 2, 2, 2, 2067, 2069, 5, 526, 264, 2, 2068, 2024, 3, 2, 2, 2, 2068, 2031, 3, 2, 2, 2, 2068, 2036, 3, 2, 2, 2, 2068, 2042, 3, 2, 2, 2, 2068, 2048, 3, 2, 2, 2, 2068, 2053, 3, 2, 2, 2, 2068, 2058, 3, 2, 2, 2, 2068, 2063, 3, 2, 2, 2, 2069, 115, 3, 2, 2, 2, 2070, 2071, 7, 9, 2, 2, 2071, 2073, 9, 2, 2, 2, 2072, 2074, 5, 526, 264, 2, 2073, 2072, 3, 2, 2, 2, 2073, 2074, 3, 2, 2, 2, 2074, 2076, 3, 2, 2, 2, 2075, 2077, 5, 52, 27, 2, 2076, 2075, 3, 2, 2, 2, 2077, 2078, 3, 2, 2, 2, 2078, 2076, 3, 2, 2, 2, 2078, 2079, 3, 2, 2, 2, 2079, 2089, 3, 2, 2, 2, 2080, 2081, 7, 9, 2, 2, 2081, 2082, 9, 2, 2, 2, 2082, 2083, 5, 526, 264, 2, 2083, 2084, 7, 573, 2, 2, 2084, 2085, 7, 325, 2, 2, 2085, 2086, 7, 332, 2, 2, 2086, 2087, 7, 445, 2, 2, 2087, 2089, 3, 2, 2, 2, 2088, 2070, 3, 2, 2, 2, 2088, 2080, 3, 2, 2, 2, 2089, 117, 3, 2, 2, 2, 2090, 2092, 7, 9, 2, 2, 2091, 2093, 5, 54, 28, 2, 2092, 2091, 3, 2, 2, 2, 2092, 2093, 3, 2, 2, 2, 2093, 2094, 3, 2, 2, 2, 2094, 2095, 7, 350, 2, 2, 2095, 2099, 5, 500, 251, 2, 2096, 2097, 7, 108, 2, 2, 2097, 2098, 7, 517, 2, 2, 2098, 2100, 5, 56, 29, 2, 2099, 2096, 3, 2, 2, 2, 2099, 2100, 3, 2, 2, 2, 2100, 2107, 3, 2, 2, 2, 2101, 2102, 7, 108, 2, 2, 2102, 2104, 7, 310, 2, 2, 2103, 2105, 7, 104, 2, 2, 2104, 2103, 3, 2, 2, 2, 2104, 2105, 3, 2, 2, 2, 2105, 2106, 3, 2, 2, 2, 2106, 2108, 7, 478, 2, 2, 2107, 2101, 3, 2, 2, 2, 2107, 2108, 3, 2, 2, 2, 2108, 2112, 3, 2, 2, 2, 2109, 2110, 7, 127, 2, 2, 2110, 2111, 7, 159, 2, 2, 2111, 2113, 5, 500, 251, 2, 2112, 2109, 3, 2, 2, 2, 2112, 2113, 3, 2, 2, 2, 2113, 2115, 3, 2, 2, 2, 2114, 2116, 5, 64, 33, 2, 2115, 2114, 3, 2, 2, 2, 2115, 2116, 3, 2, 2, 2, 2116, 2119, 3, 2, 2, 2, 2117, 2118, 7, 307, 2, 2, 2118, 2120, 7, 1037, 2, 2, 2119, 2117, 3, 2, 2, 2, 2119, 2120, 3, 2, 2, 2, 2120, 2123, 3, 2, 2, 2, 2121, 2122, 7, 336, 2, 2, 2122, 2124, 5, 348, 175, 2, 2123, 2121, 3, 2, 2, 2, 2123, 2124, 3, 2, 2, 2, 2124, 119, 3, 2, 2, 2, 2125, 2126, 7, 9, 2, 2, 2126, 2127, 7, 370, 2, 2, 2127, 2131, 5, 500, 251, 2, 2128, 2130, 5, 74, 38, 2, 2129, 2128, 3, 2, 2, 2, 2130, 2133, 3, 2, 2, 2, 2131, 2129, 3, 2, 2, 2, 2131, 2132, 3, 2, 2, 2, 2132, 121, 3, 2, 2, 2, 2133, 2131, 3, 2, 2, 2, 2134, 2135, 7, 9, 2, 2, 2135, 2136, 7, 388, 2, 2, 2136, 2137, 7, 512, 2, 2, 2137, 2138, 7, 683, 2, 2, 2138, 2139, 7, 407, 2, 2, 2139, 2140, 7, 84, 2, 2, 2140, 123, 3, 2, 2, 2, 2141, 2142, 7, 9, 2, 2, 2142, 2143, 7, 405, 2, 2, 2143, 2144, 7, 68, 2, 2, 2144, 2145, 5, 526, 264, 2, 2145, 2146, 7, 7, 2, 2, 2146, 2147, 7, 568, 2, 2, 2147, 2153, 7, 1037, 2, 2, 2148, 2150, 7, 384, 2, 2, 2149, 2151, 7, 1013, 2, 2, 2150, 2149, 3, 2, 2, 2, 2150, 2151, 3, 2, 2, 2, 2151, 2152, 3, 2, 2, 2, 2152, 2154, 5, 534, 268, 2, 2153, 2148, 3, 2, 2, 2, 2153, 2154, 3, 2, 2, 2, 2154, 2156, 3, 2, 2, 2, 2155, 2157, 7, 583, 2, 2, 2156, 2155, 3, 2, 2, 2, 2156, 2157, 3, 2, 2, 2, 2157, 2158, 3, 2, 2, 2, 2158, 2160, 7, 344, 2, 2, 2159, 2161, 7, 1013, 2, 2, 2160, 2159, 3, 2, 2, 2, 2160, 2161, 3, 2, 2, 2, 2161, 2162, 3, 2, 2, 2, 2162, 2163, 5, 516, 259, 2, 2163, 125, 3, 2, 2, 2, 2164, 2165, 7, 9, 2, 2, 2165, 2166, 7, 119, 2, 2, 2166, 2170, 5, 500, 251, 2, 2167, 2169, 5, 74, 38, 2, 2168, 2167, 3, 2, 2, 2, 2169, 2172, 3, 2, 2, 2, 2170, 2168, 3, 2, 2, 2, 2170, 2171, 3, 2, 2, 2, 2171, 127, 3, 2, 2, 2, 2172, 2170, 3, 2, 2, 2, 2173, 2174, 7, 9, 2, 2, 2174, 2175, 7, 519, 2, 2, 2175, 2176, 5, 526, 264, 2, 2176, 2177, 7, 462, 2, 2, 2177, 2178, 7, 1022, 2, 2, 2178, 2183, 5, 76, 39, 2, 2179, 2180, 7, 1024, 2, 2, 2180, 2182, 5, 76, 39, 2, 2181, 2179, 3, 2, 2, 2, 2182, 2185, 3, 2, 2, 2, 2183, 2181, 3, 2, 2, 2, 2183, 2184, 3, 2, 2, 2, 2184, 2186, 3, 2, 2, 2, 2185, 2183, 3, 2, 2, 2, 2186, 2187, 7, 1023, 2, 2, 2187, 129, 3, 2, 2, 2, 2188, 2190, 7, 9, 2, 2, 2189, 2191, 9, 3, 2, 2, 2190, 2189, 3, 2, 2, 2, 2190, 2191, 3, 2, 2, 2, 2191, 2193, 3, 2, 2, 2, 2192, 2194, 7, 72, 2, 2, 2193, 2192, 3, 2, 2, 2, 2193, 2194, 3, 2, 2, 2, 2194, 2195, 3, 2, 2, 2, 2195, 2196, 7, 156, 2, 2, 2196, 2205, 5, 502, 252, 2, 2197, 2202, 5, 136, 69, 2, 2198, 2199, 7, 1024, 2, 2, 2199, 2201, 5, 136, 69, 2, 2200, 2198, 3, 2, 2, 2, 2201, 2204, 3, 2, 2, 2, 2202, 2200, 3, 2, 2, 2, 2202, 2203, 3, 2, 2, 2, 2203, 2206, 3, 2, 2, 2, 2204, 2202, 3, 2, 2, 2, 2205, 2197, 3, 2, 2, 2, 2205, 2206, 3, 2, 2, 2, 2206, 2208, 3, 2, 2, 2, 2207, 2209, 5, 100, 51, 2, 2208, 2207, 3, 2, 2, 2, 2208, 2209, 3, 2, 2, 2, 2209, 131, 3, 2, 2, 2, 2210, 2211, 7, 9, 2, 2, 2211, 2212, 7, 558, 2, 2, 2212, 2213, 5, 526, 264, 2, 2213, 2214, 9, 30, 2, 2, 2214, 2215, 7, 326, 2, 2, 2215, 2219, 7, 1037, 2, 2, 2216, 2217, 7, 384, 2, 2, 2217, 2218, 7, 1013, 2, 2, 2218, 2220, 5, 534, 268, 2, 2219, 2216, 3, 2, 2, 2, 2219, 2220, 3, 2, 2, 2, 2220, 2222, 3, 2, 2, 2, 2221, 2223, 7, 583, 2, 2, 2222, 2221, 3, 2, 2, 2, 2222, 2223, 3, 2, 2, 2, 2223, 2224, 3, 2, 2, 2, 2224, 2226, 7, 344, 2, 2, 2225, 2227, 7, 1013, 2, 2, 2226, 2225, 3, 2, 2, 2, 2226, 2227, 3, 2, 2, 2, 2227, 2228, 3, 2, 2, 2, 2228, 2229, 5, 516, 259, 2, 2229, 133, 3, 2, 2, 2, 2230, 2234, 7, 9, 2, 2, 2231, 2232, 7, 276, 2, 2, 2232, 2233, 7, 1013, 2, 2, 2233, 2235, 9, 12, 2, 2, 2234, 2231, 3, 2, 2, 2, 2234, 2235, 3, 2, 2, 2, 2235, 2237, 3, 2, 2, 2, 2236, 2238, 5, 54, 28, 2, 2237, 2236, 3, 2, 2, 2, 2237, 2238, 3, 2, 2, 2, 2238, 2242, 3, 2, 2, 2, 2239, 2240, 7, 145, 2, 2, 2240, 2241, 7, 518, 2, 2, 2241, 2243, 9, 13, 2, 2, 2242, 2239, 3, 2, 2, 2, 2242, 2243, 3, 2, 2, 2, 2243, 2244, 3, 2, 2, 2, 2244, 2245, 7, 580, 2, 2, 2245, 2250, 5, 500, 251, 2, 2246, 2247, 7, 1022, 2, 2, 2247, 2248, 5, 558, 280, 2, 2248, 2249, 7, 1023, 2, 2, 2249, 2251, 3, 2, 2, 2, 2250, 2246, 3, 2, 2, 2, 2250, 2251, 3, 2, 2, 2, 2251, 2252, 3, 2, 2, 2, 2252, 2253, 7, 13, 2, 2, 2253, 2260, 5, 182, 92, 2, 2254, 2256, 7, 176, 2, 2, 2255, 2257, 9, 14, 2, 2, 2256, 2255, 3, 2, 2, 2, 2256, 2257, 3, 2, 2, 2, 2257, 2258, 3, 2, 2, 2, 2258, 2259, 7, 25, 2, 2, 2259, 2261, 7, 110, 2, 2, 2260, 2254, 3, 2, 2, 2, 2260, 2261, 3, 2, 2, 2, 2261, 135, 3, 2, 2, 2, 2262, 2269, 5, 96, 49, 2, 2263, 2265, 7, 1024, 2, 2, 2264, 2263, 3, 2, 2, 2, 2264, 2265, 3, 2, 2, 2, 2265, 2266, 3, 2, 2, 2, 2266, 2268, 5, 96, 49, 2, 2267, 2264, 3, 2, 2, 2, 2268, 2271, 3, 2, 2, 2, 2269, 2267, 3, 2, 2, 2, 2269, 2270, 3, 2, 2, 2, 2270, 2626, 3, 2, 2, 2, 2271, 2269, 3, 2, 2, 2, 2272, 2274, 7, 7, 2, 2, 2273, 2275, 7, 27, 2, 2, 2274, 2273, 3, 2, 2, 2, 2274, 2275, 3, 2, 2, 2, 2275, 2276, 3, 2, 2, 2, 2276, 2277, 5, 526, 264, 2, 2277, 2281, 5, 82, 42, 2, 2278, 2282, 7, 364, 2, 2, 2279, 2280, 7, 274, 2, 2, 2280, 2282, 5, 526, 264, 2, 2281, 2278, 3, 2, 2, 2, 2281, 2279, 3, 2, 2, 2, 2281, 2282, 3, 2, 2, 2, 2282, 2626, 3, 2, 2, 2, 2283, 2285, 7, 7, 2, 2, 2284, 2286, 7, 27, 2, 2, 2285, 2284, 3, 2, 2, 2, 2285, 2286, 3, 2, 2, 2, 2286, 2287, 3, 2, 2, 2, 2287, 2288, 7, 1022, 2, 2, 2288, 2289, 5, 526, 264, 2, 2289, 2296, 5, 82, 42, 2, 2290, 2291, 7, 1024, 2, 2, 2291, 2292, 5, 526, 264, 2, 2292, 2293, 5, 82, 42, 2, 2293, 2295, 3, 2, 2, 2, 2294, 2290, 3, 2, 2, 2, 2295, 2298, 3, 2, 2, 2, 2296, 2294, 3, 2, 2, 2, 2296, 2297, 3, 2, 2, 2, 2297, 2299, 3, 2, 2, 2, 2298, 2296, 3, 2, 2, 2, 2299, 2300, 7, 1023, 2, 2, 2300, 2626, 3, 2, 2, 2, 2301, 2302, 7, 7, 2, 2, 2302, 2304, 9, 20, 2, 2, 2303, 2305, 5, 526, 264, 2, 2304, 2303, 3, 2, 2, 2, 2304, 2305, 3, 2, 2, 2, 2305, 2307, 3, 2, 2, 2, 2306, 2308, 5, 66, 34, 2, 2307, 2306, 3, 2, 2, 2, 2307, 2308, 3, 2, 2, 2, 2308, 2309, 3, 2, 2, 2, 2309, 2313, 5, 562, 282, 2, 2310, 2312, 5, 68, 35, 2, 2311, 2310, 3, 2, 2, 2, 2312, 2315, 3, 2, 2, 2, 2313, 2311, 3, 2, 2, 2, 2313, 2314, 3, 2, 2, 2, 2314, 2626, 3, 2, 2, 2, 2315, 2313, 3, 2, 2, 2, 2316, 2321, 7, 7, 2, 2, 2317, 2319, 7, 29, 2, 2, 2318, 2320, 5, 526, 264, 2, 2319, 2318, 3, 2, 2, 2, 2319, 2320, 3, 2, 2, 2, 2320, 2322, 3, 2, 2, 2, 2321, 2317, 3, 2, 2, 2, 2321, 2322, 3, 2, 2, 2, 2322, 2323, 3, 2, 2, 2, 2323, 2324, 7, 118, 2, 2, 2324, 2326, 7, 84, 2, 2, 2325, 2327, 5, 526, 264, 2, 2326, 2325, 3, 2, 2, 2, 2326, 2327, 3, 2, 2, 2, 2327, 2329, 3, 2, 2, 2, 2328, 2330, 5, 66, 34, 2, 2329, 2328, 3, 2, 2, 2, 2329, 2330, 3, 2, 2, 2, 2330, 2331, 3, 2, 2, 2, 2331, 2335, 5, 562, 282, 2, 2332, 2334, 5, 68, 35, 2, 2333, 2332, 3, 2, 2, 2, 2334, 2337, 3, 2, 2, 2, 2335, 2333, 3, 2, 2, 2, 2335, 2336, 3, 2, 2, 2, 2336, 2626, 3, 2, 2, 2, 2337, 2335, 3, 2, 2, 2, 2338, 2343, 7, 7, 2, 2, 2339, 2341, 7, 29, 2, 2, 2340, 2342, 5, 526, 264, 2, 2341, 2340, 3, 2, 2, 2, 2341, 2342, 3, 2, 2, 2, 2342, 2344, 3, 2, 2, 2, 2343, 2339, 3, 2, 2, 2, 2343, 2344, 3, 2, 2, 2, 2344, 2345, 3, 2, 2, 2, 2345, 2347, 7, 165, 2, 2, 2346, 2348, 9, 20, 2, 2, 2347, 2346, 3, 2, 2, 2, 2347, 2348, 3, 2, 2, 2, 2348, 2350, 3, 2, 2, 2, 2349, 2351, 5, 526, 264, 2, 2350, 2349, 3, 2, 2, 2, 2350, 2351, 3, 2, 2, 2, 2351, 2353, 3, 2, 2, 2, 2352, 2354, 5, 66, 34, 2, 2353, 2352, 3, 2, 2, 2, 2353, 2354, 3, 2, 2, 2, 2354, 2355, 3, 2, 2, 2, 2355, 2359, 5, 562, 282, 2, 2356, 2358, 5, 68, 35, 2, 2357, 2356, 3, 2, 2, 2, 2358, 2361, 3, 2, 2, 2, 2359, 2357, 3, 2, 2, 2, 2359, 2360, 3, 2, 2, 2, 2360, 2626, 3, 2, 2, 2, 2361, 2359, 3, 2, 2, 2, 2362, 2363, 7, 7, 2, 2, 2363, 2365, 9, 22, 2, 2, 2364, 2366, 9, 20, 2, 2, 2365, 2364, 3, 2, 2, 2, 2365, 2366, 3, 2, 2, 2, 2366, 2368, 3, 2, 2, 2, 2367, 2369, 5, 526, 264, 2, 2368, 2367, 3, 2, 2, 2, 2368, 2369, 3, 2, 2, 2, 2369, 2370, 3, 2, 2, 2, 2370, 2374, 5, 562, 282, 2, 2371, 2373, 5, 68, 35, 2, 2372, 2371, 3, 2, 2, 2, 2373, 2376, 3, 2, 2, 2, 2374, 2372, 3, 2, 2, 2, 2374, 2375, 3, 2, 2, 2, 2375, 2626, 3, 2, 2, 2, 2376, 2374, 3, 2, 2, 2, 2377, 2382, 7, 7, 2, 2, 2378, 2380, 7, 29, 2, 2, 2379, 2381, 5, 526, 264, 2, 2380, 2379, 3, 2, 2, 2, 2380, 2381, 3, 2, 2, 2, 2381, 2383, 3, 2, 2, 2, 2382, 2378, 3, 2, 2, 2, 2382, 2383, 3, 2, 2, 2, 2383, 2384, 3, 2, 2, 2, 2384, 2385, 7, 62, 2, 2, 2385, 2387, 7, 84, 2, 2, 2386, 2388, 5, 526, 264, 2, 2387, 2386, 3, 2, 2, 2, 2387, 2388, 3, 2, 2, 2, 2388, 2389, 3, 2, 2, 2, 2389, 2390, 5, 562, 282, 2, 2390, 2391, 5, 88, 45, 2, 2391, 2626, 3, 2, 2, 2, 2392, 2397, 7, 7, 2, 2, 2393, 2395, 7, 29, 2, 2, 2394, 2396, 5, 526, 264, 2, 2395, 2394, 3, 2, 2, 2, 2395, 2396, 3, 2, 2, 2, 2396, 2398, 3, 2, 2, 2, 2397, 2393, 3, 2, 2, 2, 2397, 2398, 3, 2, 2, 2, 2398, 2399, 3, 2, 2, 2, 2399, 2400, 7, 25, 2, 2, 2400, 2401, 7, 1022, 2, 2, 2401, 2402, 5, 604, 303, 2, 2402, 2403, 7, 1023, 2, 2, 2403, 2626, 3, 2, 2, 2, 2404, 2406, 7, 276, 2, 2, 2405, 2407, 7, 1013, 2, 2, 2406, 2405, 3, 2, 2, 2, 2406, 2407, 3, 2, 2, 2, 2407, 2408, 3, 2, 2, 2, 2408, 2626, 9, 5, 2, 2, 2409, 2411, 7, 9, 2, 2, 2410, 2412, 7, 27, 2, 2, 2411, 2410, 3, 2, 2, 2, 2411, 2412, 3, 2, 2, 2, 2412, 2413, 3, 2, 2, 2, 2413, 2419, 5, 526, 264, 2, 2414, 2415, 7, 140, 2, 2, 2415, 2416, 7, 40, 2, 2, 2416, 2420, 5, 574, 288, 2, 2417, 2418, 7, 49, 2, 2, 2418, 2420, 7, 40, 2, 2, 2419, 2414, 3, 2, 2, 2, 2419, 2417, 3, 2, 2, 2, 2420, 2626, 3, 2, 2, 2, 2421, 2423, 7, 23, 2, 2, 2422, 2424, 7, 27, 2, 2, 2423, 2422, 3, 2, 2, 2, 2423, 2424, 3, 2, 2, 2, 2424, 2425, 3, 2, 2, 2, 2425, 2426, 5, 526, 264, 2, 2426, 2427, 5, 526, 264, 2, 2427, 2431, 5, 82, 42, 2, 2428, 2432, 7, 364, 2, 2, 2429, 2430, 7, 274, 2, 2, 2430, 2432, 5, 526, 264, 2, 2431, 2428, 3, 2, 2, 2, 2431, 2429, 3, 2, 2, 2, 2431, 2432, 3, 2, 2, 2, 2432, 2626, 3, 2, 2, 2, 2433, 2434, 7, 127, 2, 2, 2434, 2435, 7, 27, 2, 2, 2435, 2436, 5, 526, 264, 2, 2436, 2437, 7, 159, 2, 2, 2437, 2438, 5, 526, 264, 2, 2438, 2626, 3, 2, 2, 2, 2439, 2441, 7, 95, 2, 2, 2440, 2442, 7, 1013, 2, 2, 2441, 2440, 3, 2, 2, 2, 2441, 2442, 3, 2, 2, 2, 2442, 2443, 3, 2, 2, 2, 2443, 2626, 9, 6, 2, 2, 2444, 2446, 7, 441, 2, 2, 2445, 2447, 7, 27, 2, 2, 2446, 2445, 3, 2, 2, 2, 2446, 2447, 3, 2, 2, 2, 2447, 2448, 3, 2, 2, 2, 2448, 2449, 5, 526, 264, 2, 2449, 2453, 5, 82, 42, 2, 2450, 2454, 7, 364, 2, 2, 2451, 2452, 7, 274, 2, 2, 2452, 2454, 5, 526, 264, 2, 2453, 2450, 3, 2, 2, 2, 2453, 2451, 3, 2, 2, 2, 2453, 2454, 3, 2, 2, 2, 2454, 2626, 3, 2, 2, 2, 2455, 2457, 7, 49, 2, 2, 2456, 2458, 7, 27, 2, 2, 2457, 2456, 3, 2, 2, 2, 2457, 2458, 3, 2, 2, 2, 2458, 2459, 3, 2, 2, 2, 2459, 2461, 5, 526, 264, 2, 2460, 2462, 7, 132, 2, 2, 2461, 2460, 3, 2, 2, 2, 2461, 2462, 3, 2, 2, 2, 2462, 2626, 3, 2, 2, 2, 2463, 2464, 7, 49, 2, 2, 2464, 2465, 7, 118, 2, 2, 2465, 2626, 7, 84, 2, 2, 2466, 2467, 7, 127, 2, 2, 2467, 2468, 9, 20, 2, 2, 2468, 2469, 5, 526, 264, 2, 2469, 2470, 7, 159, 2, 2, 2470, 2471, 5, 526, 264, 2, 2471, 2626, 3, 2, 2, 2, 2472, 2473, 7, 9, 2, 2, 2473, 2474, 7, 74, 2, 2, 2474, 2475, 5, 526, 264, 2, 2475, 2476, 9, 31, 2, 2, 2476, 2626, 3, 2, 2, 2, 2477, 2478, 7, 49, 2, 2, 2478, 2479, 9, 20, 2, 2, 2479, 2626, 5, 526, 264, 2, 2480, 2481, 7, 49, 2, 2, 2481, 2482, 7, 62, 2, 2, 2482, 2483, 7, 84, 2, 2, 2483, 2626, 5, 526, 264, 2, 2484, 2485, 7, 333, 2, 2, 2485, 2626, 7, 85, 2, 2, 2486, 2487, 7, 340, 2, 2, 2487, 2626, 7, 85, 2, 2, 2488, 2490, 7, 127, 2, 2, 2489, 2491, 9, 32, 2, 2, 2490, 2489, 3, 2, 2, 2, 2490, 2491, 3, 2, 2, 2, 2491, 2494, 3, 2, 2, 2, 2492, 2495, 5, 526, 264, 2, 2493, 2495, 5, 500, 251, 2, 2494, 2492, 3, 2, 2, 2, 2494, 2493, 3, 2, 2, 2, 2495, 2626, 3, 2, 2, 2, 2496, 2497, 7, 113, 2, 2, 2497, 2498, 7, 18, 2, 2, 2498, 2626, 5, 558, 280, 2, 2499, 2500, 7, 31, 2, 2, 2500, 2501, 7, 159, 2, 2, 2501, 2502, 7, 24, 2, 2, 2502, 2503, 7, 140, 2, 2, 2503, 2506, 5, 512, 257, 2, 2504, 2505, 7, 26, 2, 2, 2505, 2507, 5, 514, 258, 2, 2506, 2504, 3, 2, 2, 2, 2506, 2507, 3, 2, 2, 2, 2507, 2626, 3, 2, 2, 2, 2508, 2510, 7, 40, 2, 2, 2509, 2508, 3, 2, 2, 2, 2509, 2510, 3, 2, 2, 2, 2510, 2511, 3, 2, 2, 2, 2511, 2512, 7, 24, 2, 2, 2512, 2513, 7, 140, 2, 2, 2513, 2514, 7, 1013, 2, 2, 2514, 2518, 5, 512, 257, 2, 2515, 2516, 7, 26, 2, 2, 2516, 2517, 7, 1013, 2, 2, 2517, 2519, 5, 514, 258, 2, 2518, 2515, 3, 2, 2, 2, 2518, 2519, 3, 2, 2, 2, 2519, 2626, 3, 2, 2, 2, 2520, 2521, 7, 334, 2, 2, 2521, 2626, 7, 558, 2, 2, 2522, 2523, 7, 382, 2, 2, 2523, 2626, 7, 558, 2, 2, 2524, 2626, 7, 61, 2, 2, 2525, 2526, 9, 33, 2, 2, 2526, 2626, 7, 577, 2, 2, 2527, 2528, 7, 7, 2, 2, 2528, 2529, 7, 117, 2, 2, 2529, 2530, 7, 1022, 2, 2, 2530, 2535, 5, 106, 54, 2, 2531, 2532, 7, 1024, 2, 2, 2532, 2534, 5, 106, 54, 2, 2533, 2531, 3, 2, 2, 2, 2534, 2537, 3, 2, 2, 2, 2535, 2533, 3, 2, 2, 2, 2535, 2536, 3, 2, 2, 2, 2536, 2538, 3, 2, 2, 2, 2537, 2535, 3, 2, 2, 2, 2538, 2539, 7, 1023, 2, 2, 2539, 2626, 3, 2, 2, 2, 2540, 2541, 7, 49, 2, 2, 2541, 2542, 7, 117, 2, 2, 2542, 2626, 5, 558, 280, 2, 2543, 2544, 7, 334, 2, 2, 2544, 2547, 7, 117, 2, 2, 2545, 2548, 5, 558, 280, 2, 2546, 2548, 7, 8, 2, 2, 2547, 2545, 3, 2, 2, 2, 2547, 2546, 3, 2, 2, 2, 2548, 2549, 3, 2, 2, 2, 2549, 2626, 7, 558, 2, 2, 2550, 2551, 7, 382, 2, 2, 2551, 2554, 7, 117, 2, 2, 2552, 2555, 5, 558, 280, 2, 2553, 2555, 7, 8, 2, 2, 2554, 2552, 3, 2, 2, 2, 2554, 2553, 3, 2, 2, 2, 2555, 2556, 3, 2, 2, 2, 2556, 2626, 7, 558, 2, 2, 2557, 2558, 7, 566, 2, 2, 2558, 2561, 7, 117, 2, 2, 2559, 2562, 5, 558, 280, 2, 2560, 2562, 7, 8, 2, 2, 2561, 2559, 3, 2, 2, 2, 2561, 2560, 3, 2, 2, 2, 2562, 2626, 3, 2, 2, 2, 2563, 2564, 7, 302, 2, 2, 2564, 2565, 7, 117, 2, 2, 2565, 2626, 5, 532, 267, 2, 2566, 2567, 7, 495, 2, 2, 2567, 2568, 7, 117, 2, 2, 2568, 2569, 5, 558, 280, 2, 2569, 2570, 7, 80, 2, 2, 2570, 2571, 7, 1022, 2, 2, 2571, 2576, 5, 106, 54, 2, 2572, 2573, 7, 1024, 2, 2, 2573, 2575, 5, 106, 54, 2, 2574, 2572, 3, 2, 2, 2, 2575, 2578, 3, 2, 2, 2, 2576, 2574, 3, 2, 2, 2, 2576, 2577, 3, 2, 2, 2, 2577, 2579, 3, 2, 2, 2, 2578, 2576, 3, 2, 2, 2, 2579, 2580, 7, 1023, 2, 2, 2580, 2626, 3, 2, 2, 2, 2581, 2582, 7, 353, 2, 2, 2582, 2583, 7, 117, 2, 2, 2583, 2584, 5, 526, 264, 2, 2584, 2585, 7, 176, 2, 2, 2585, 2586, 7, 156, 2, 2, 2586, 2589, 5, 502, 252, 2, 2587, 2588, 9, 33, 2, 2, 2588, 2590, 7, 577, 2, 2, 2589, 2587, 3, 2, 2, 2, 2589, 2590, 3, 2, 2, 2, 2590, 2626, 3, 2, 2, 2, 2591, 2592, 7, 11, 2, 2, 2592, 2595, 7, 117, 2, 2, 2593, 2596, 5, 558, 280, 2, 2594, 2596, 7, 8, 2, 2, 2595, 2593, 3, 2, 2, 2, 2595, 2594, 3, 2, 2, 2, 2596, 2626, 3, 2, 2, 2, 2597, 2598, 7, 25, 2, 2, 2598, 2601, 7, 117, 2, 2, 2599, 2602, 5, 558, 280, 2, 2600, 2602, 7, 8, 2, 2, 2601, 2599, 3, 2, 2, 2, 2601, 2600, 3, 2, 2, 2, 2602, 2626, 3, 2, 2, 2, 2603, 2604, 7, 109, 2, 2, 2604, 2607, 7, 117, 2, 2, 2605, 2608, 5, 558, 280, 2, 2606, 2608, 7, 8, 2, 2, 2607, 2605, 3, 2, 2, 2, 2607, 2606, 3, 2, 2, 2, 2608, 2626, 3, 2, 2, 2, 2609, 2610, 7, 486, 2, 2, 2610, 2613, 7, 117, 2, 2, 2611, 2614, 5, 558, 280, 2, 2612, 2614, 7, 8, 2, 2, 2613, 2611, 3, 2, 2, 2, 2613, 2612, 3, 2, 2, 2, 2614, 2626, 3, 2, 2, 2, 2615, 2616, 7, 496, 2, 2, 2616, 2619, 7, 117, 2, 2, 2617, 2620, 5, 558, 280, 2, 2618, 2620, 7, 8, 2, 2, 2619, 2617, 3, 2, 2, 2, 2619, 2618, 3, 2, 2, 2, 2620, 2626, 3, 2, 2, 2, 2621, 2622, 7, 494, 2, 2, 2622, 2626, 7, 468, 2, 2, 2623, 2624, 7, 573, 2, 2, 2624, 2626, 7, 468, 2, 2, 2625, 2262, 3, 2, 2, 2, 2625, 2272, 3, 2, 2, 2, 2625, 2283, 3, 2, 2, 2, 2625, 2301, 3, 2, 2, 2, 2625, 2316, 3, 2, 2, 2, 2625, 2338, 3, 2, 2, 2, 2625, 2362, 3, 2, 2, 2, 2625, 2377, 3, 2, 2, 2, 2625, 2392, 3, 2, 2, 2, 2625, 2404, 3, 2, 2, 2, 2625, 2409, 3, 2, 2, 2, 2625, 2421, 3, 2, 2, 2, 2625, 2433, 3, 2, 2, 2, 2625, 2439, 3, 2, 2, 2, 2625, 2444, 3, 2, 2, 2, 2625, 2455, 3, 2, 2, 2, 2625, 2463, 3, 2, 2, 2, 2625, 2466, 3, 2, 2, 2, 2625, 2472, 3, 2, 2, 2, 2625, 2477, 3, 2, 2, 2, 2625, 2480, 3, 2, 2, 2, 2625, 2484, 3, 2, 2, 2, 2625, 2486, 3, 2, 2, 2, 2625, 2488, 3, 2, 2, 2, 2625, 2496, 3, 2, 2, 2, 2625, 2499, 3, 2, 2, 2, 2625, 2509, 3, 2, 2, 2, 2625, 2520, 3, 2, 2, 2, 2625, 2522, 3, 2, 2, 2, 2625, 2524, 3, 2, 2, 2, 2625, 2525, 3, 2, 2, 2, 2625, 2527, 3, 2, 2, 2, 2625, 2540, 3, 2, 2, 2, 2625, 2543, 3, 2, 2, 2, 2625, 2550, 3, 2, 2, 2, 2625, 2557, 3, 2, 2, 2, 2625, 2563, 3, 2, 2, 2, 2625, 2566, 3, 2, 2, 2, 2625, 2581, 3, 2, 2, 2, 2625, 2591, 3, 2, 2, 2, 2625, 2597, 3, 2, 2, 2, 2625, 2603, 3, 2, 2, 2, 2625, 2609, 3, 2, 2, 2, 2625, 2615, 3, 2, 2, 2, 2625, 2621, 3, 2, 2, 2, 2625, 2623, 3, 2, 2, 2, 2626, 137, 3, 2, 2, 2, 2627, 2628, 7, 49, 2, 2, 2628, 2630, 9, 2, 2, 2, 2629, 2631, 5, 580, 291, 2, 2630, 2629, 3, 2, 2, 2, 2630, 2631, 3, 2, 2, 2, 2631, 2632, 3, 2, 2, 2, 2632, 2633, 5, 526, 264, 2, 2633, 139, 3, 2, 2, 2, 2634, 2635, 7, 49, 2, 2, 2635, 2637, 7, 350, 2, 2, 2636, 2638, 5, 580, 291, 2, 2637, 2636, 3, 2, 2, 2, 2637, 2638, 3, 2, 2, 2, 2638, 2639, 3, 2, 2, 2, 2639, 2640, 5, 500, 251, 2, 2640, 141, 3, 2, 2, 2, 2641, 2642, 7, 49, 2, 2, 2642, 2644, 7, 74, 2, 2, 2643, 2645, 9, 3, 2, 2, 2644, 2643, 3, 2, 2, 2, 2644, 2645, 3, 2, 2, 2, 2645, 2646, 3, 2, 2, 2, 2646, 2647, 5, 526, 264, 2, 2647, 2648, 7, 108, 2, 2, 2648, 2661, 5, 502, 252, 2, 2649, 2651, 7, 276, 2, 2, 2650, 2652, 7, 1013, 2, 2, 2651, 2650, 3, 2, 2, 2, 2651, 2652, 3, 2, 2, 2, 2652, 2653, 3, 2, 2, 2, 2653, 2660, 9, 5, 2, 2, 2654, 2656, 7, 95, 2, 2, 2655, 2657, 7, 1013, 2, 2, 2656, 2655, 3, 2, 2, 2, 2656, 2657, 3, 2, 2, 2, 2657, 2658, 3, 2, 2, 2, 2658, 2660, 9, 6, 2, 2, 2659, 2649, 3, 2, 2, 2, 2659, 2654, 3, 2, 2, 2, 2660, 2663, 3, 2, 2, 2, 2661, 2659, 3, 2, 2, 2, 2661, 2662, 3, 2, 2, 2, 2662, 143, 3, 2, 2, 2, 2663, 2661, 3, 2, 2, 2, 2664, 2665, 7, 49, 2, 2, 2665, 2666, 7, 405, 2, 2, 2666, 2667, 7, 68, 2, 2, 2667, 2668, 5, 526, 264, 2, 2668, 2669, 7, 344, 2, 2, 2669, 2670, 7, 1013, 2, 2, 2670, 2671, 5, 516, 259, 2, 2671, 145, 3, 2, 2, 2, 2672, 2673, 7, 49, 2, 2, 2673, 2675, 7, 119, 2, 2, 2674, 2676, 5, 580, 291, 2, 2675, 2674, 3, 2, 2, 2, 2675, 2676, 3, 2, 2, 2, 2676, 2677, 3, 2, 2, 2, 2677, 2678, 5, 500, 251, 2, 2678, 147, 3, 2, 2, 2, 2679, 2680, 7, 49, 2, 2, 2680, 2682, 7, 370, 2, 2, 2681, 2683, 5, 580, 291, 2, 2682, 2681, 3, 2, 2, 2, 2682, 2683, 3, 2, 2, 2, 2683, 2684, 3, 2, 2, 2, 2684, 2685, 5, 500, 251, 2, 2685, 149, 3, 2, 2, 2, 2686, 2687, 7, 49, 2, 2, 2687, 2689, 7, 519, 2, 2, 2688, 2690, 5, 580, 291, 2, 2689, 2688, 3, 2, 2, 2, 2689, 2690, 3, 2, 2, 2, 2690, 2691, 3, 2, 2, 2, 2691, 2692, 5, 526, 264, 2, 2692, 151, 3, 2, 2, 2, 2693, 2695, 7, 49, 2, 2, 2694, 2696, 7, 559, 2, 2, 2695, 2694, 3, 2, 2, 2, 2695, 2696, 3, 2, 2, 2, 2696, 2697, 3, 2, 2, 2, 2697, 2699, 7, 156, 2, 2, 2698, 2700, 5, 580, 291, 2, 2699, 2698, 3, 2, 2, 2, 2699, 2700, 3, 2, 2, 2, 2700, 2701, 3, 2, 2, 2, 2701, 2703, 5, 560, 281, 2, 2702, 2704, 9, 34, 2, 2, 2703, 2702, 3, 2, 2, 2, 2703, 2704, 3, 2, 2, 2, 2704, 153, 3, 2, 2, 2, 2705, 2706, 7, 49, 2, 2, 2706, 2707, 7, 558, 2, 2, 2707, 2713, 5, 526, 264, 2, 2708, 2710, 7, 344, 2, 2, 2709, 2711, 7, 1013, 2, 2, 2710, 2709, 3, 2, 2, 2, 2710, 2711, 3, 2, 2, 2, 2711, 2712, 3, 2, 2, 2, 2712, 2714, 5, 516, 259, 2, 2713, 2708, 3, 2, 2, 2, 2713, 2714, 3, 2, 2, 2, 2714, 155, 3, 2, 2, 2, 2715, 2716, 7, 49, 2, 2, 2716, 2718, 7, 161, 2, 2, 2717, 2719, 5, 580, 291, 2, 2718, 2717, 3, 2, 2, 2, 2718, 2719, 3, 2, 2, 2, 2719, 2720, 3, 2, 2, 2, 2720, 2721, 5, 500, 251, 2, 2721, 157, 3, 2, 2, 2, 2722, 2723, 7, 49, 2, 2, 2723, 2725, 7, 580, 2, 2, 2724, 2726, 5, 580, 291, 2, 2725, 2724, 3, 2, 2, 2, 2725, 2726, 3, 2, 2, 2, 2726, 2727, 3, 2, 2, 2, 2727, 2732, 5, 500, 251, 2, 2728, 2729, 7, 1024, 2, 2, 2729, 2731, 5, 500, 251, 2, 2730, 2728, 3, 2, 2, 2, 2731, 2734, 3, 2, 2, 2, 2732, 2730, 3, 2, 2, 2, 2732, 2733, 3, 2, 2, 2, 2733, 2736, 3, 2, 2, 2, 2734, 2732, 3, 2, 2, 2, 2735, 2737, 9, 34, 2, 2, 2736, 2735, 3, 2, 2, 2, 2736, 2737, 3, 2, 2, 2, 2737, 159, 3, 2, 2, 2, 2738, 2739, 7, 127, 2, 2, 2739, 2740, 7, 156, 2, 2, 2740, 2745, 5, 162, 82, 2, 2741, 2742, 7, 1024, 2, 2, 2742, 2744, 5, 162, 82, 2, 2743, 2741, 3, 2, 2, 2, 2744, 2747, 3, 2, 2, 2, 2745, 2743, 3, 2, 2, 2, 2745, 2746, 3, 2, 2, 2, 2746, 161, 3, 2, 2, 2, 2747, 2745, 3, 2, 2, 2, 2748, 2749, 5, 502, 252, 2, 2749, 2750, 7, 159, 2, 2, 2750, 2751, 5, 502, 252, 2, 2751, 163, 3, 2, 2, 2, 2752, 2754, 7, 566, 2, 2, 2753, 2755, 7, 156, 2, 2, 2754, 2753, 3, 2, 2, 2, 2754, 2755, 3, 2, 2, 2, 2755, 2756, 3, 2, 2, 2, 2756, 2757, 5, 502, 252, 2, 2757, 165, 3, 2, 2, 2, 2758, 2759, 7, 19, 2, 2, 2759, 2766, 5, 500, 251, 2, 2760, 2763, 7, 1022, 2, 2, 2761, 2764, 5, 568, 285, 2, 2762, 2764, 5, 564, 283, 2, 2763, 2761, 3, 2, 2, 2, 2763, 2762, 3, 2, 2, 2, 2763, 2764, 3, 2, 2, 2, 2764, 2765, 3, 2, 2, 2, 2765, 2767, 7, 1023, 2, 2, 2766, 2760, 3, 2, 2, 2, 2766, 2767, 3, 2, 2, 2, 2767, 167, 3, 2, 2, 2, 2768, 2771, 5, 194, 98, 2, 2769, 2771, 5, 196, 99, 2, 2770, 2768, 3, 2, 2, 2, 2770, 2769, 3, 2, 2, 2, 2771, 169, 3, 2, 2, 2, 2772, 2773, 7, 336, 2, 2, 2773, 2774, 5, 564, 283, 2, 2774, 171, 3, 2, 2, 2, 2775, 2780, 5, 198, 100, 2, 2776, 2780, 5, 200, 101, 2, 2777, 2780, 5, 202, 102, 2, 2778, 2780, 5, 204, 103, 2, 2779, 2775, 3, 2, 2, 2, 2779, 2776, 3, 2, 2, 2, 2779, 2777, 3, 2, 2, 2, 2779, 2778, 3, 2, 2, 2, 2780, 173, 3, 2, 2, 2, 2781, 2783, 7, 78, 2, 2, 2782, 2784, 9, 35, 2, 2, 2783, 2782, 3, 2, 2, 2, 2783, 2784, 3, 2, 2, 2, 2784, 2786, 3, 2, 2, 2, 2785, 2787, 7, 72, 2, 2, 2786, 2785, 3, 2, 2, 2, 2786, 2787, 3, 2, 2, 2, 2787, 2789, 3, 2, 2, 2, 2788, 2790, 7, 80, 2, 2, 2789, 2788, 3, 2, 2, 2, 2789, 2790, 3, 2, 2, 2, 2790, 2791, 3, 2, 2, 2, 2791, 2798, 5, 502, 252, 2, 2792, 2793, 7, 117, 2, 2, 2793, 2795, 7, 1022, 2, 2, 2794, 2796, 5, 558, 280, 2, 2795, 2794, 3, 2, 2, 2, 2795, 2796, 3, 2, 2, 2, 2796, 2797, 3, 2, 2, 2, 2797, 2799, 7, 1023, 2, 2, 2798, 2792, 3, 2, 2, 2, 2798, 2799, 3, 2, 2, 2, 2799, 2816, 3, 2, 2, 2, 2800, 2801, 7, 1022, 2, 2, 2801, 2802, 5, 558, 280, 2, 2802, 2803, 7, 1023, 2, 2, 2803, 2805, 3, 2, 2, 2, 2804, 2800, 3, 2, 2, 2, 2804, 2805, 3, 2, 2, 2, 2805, 2806, 3, 2, 2, 2, 2806, 2817, 5, 186, 94, 2, 2807, 2808, 7, 140, 2, 2, 2808, 2813, 5, 188, 95, 2, 2809, 2810, 7, 1024, 2, 2, 2810, 2812, 5, 188, 95, 2, 2811, 2809, 3, 2, 2, 2, 2812, 2815, 3, 2, 2, 2, 2813, 2811, 3, 2, 2, 2, 2813, 2814, 3, 2, 2, 2, 2814, 2817, 3, 2, 2, 2, 2815, 2813, 3, 2, 2, 2, 2816, 2804, 3, 2, 2, 2, 2816, 2807, 3, 2, 2, 2, 2817, 2830, 3, 2, 2, 2, 2818, 2819, 7, 108, 2, 2, 2819, 2820, 7, 338, 2, 2, 2820, 2821, 7, 84, 2, 2, 2821, 2822, 7, 168, 2, 2, 2822, 2827, 5, 188, 95, 2, 2823, 2824, 7, 1024, 2, 2, 2824, 2826, 5, 188, 95, 2, 2825, 2823, 3, 2, 2, 2, 2826, 2829, 3, 2, 2, 2, 2827, 2825, 3, 2, 2, 2, 2827, 2828, 3, 2, 2, 2, 2828, 2831, 3, 2, 2, 2, 2829, 2827, 3, 2, 2, 2, 2830, 2818, 3, 2, 2, 2, 2830, 2831, 3, 2, 2, 2, 2831, 175, 3, 2, 2, 2, 2832, 2833, 7, 94, 2, 2, 2833, 2835, 7, 325, 2, 2, 2834, 2836, 9, 36, 2, 2, 2835, 2834, 3, 2, 2, 2, 2835, 2836, 3, 2, 2, 2, 2836, 2838, 3, 2, 2, 2, 2837, 2839, 7, 404, 2, 2, 2838, 2837, 3, 2, 2, 2, 2838, 2839, 3, 2, 2, 2, 2839, 2840, 3, 2, 2, 2, 2840, 2841, 7, 75, 2, 2, 2841, 2843, 7, 1037, 2, 2, 2842, 2844, 9, 8, 2, 2, 2843, 2842, 3, 2, 2, 2, 2843, 2844, 3, 2, 2, 2, 2844, 2845, 3, 2, 2, 2, 2845, 2846, 7, 80, 2, 2, 2846, 2847, 7, 156, 2, 2, 2847, 2853, 5, 502, 252, 2, 2848, 2849, 7, 117, 2, 2, 2849, 2850, 7, 1022, 2, 2, 2850, 2851, 5, 558, 280, 2, 2851, 2852, 7, 1023, 2, 2, 2852, 2854, 3, 2, 2, 2, 2853, 2848, 3, 2, 2, 2, 2853, 2854, 3, 2, 2, 2, 2854, 2858, 3, 2, 2, 2, 2855, 2856, 7, 24, 2, 2, 2856, 2857, 7, 140, 2, 2, 2857, 2859, 5, 512, 257, 2, 2858, 2855, 3, 2, 2, 2, 2858, 2859, 3, 2, 2, 2, 2859, 2866, 3, 2, 2, 2, 2860, 2862, 9, 37, 2, 2, 2861, 2863, 5, 246, 124, 2, 2862, 2861, 3, 2, 2, 2, 2863, 2864, 3, 2, 2, 2, 2864, 2862, 3, 2, 2, 2, 2864, 2865, 3, 2, 2, 2, 2865, 2867, 3, 2, 2, 2, 2866, 2860, 3, 2, 2, 2, 2866, 2867, 3, 2, 2, 2, 2867, 2874, 3, 2, 2, 2, 2868, 2870, 7, 93, 2, 2, 2869, 2871, 5, 248, 125, 2, 2870, 2869, 3, 2, 2, 2, 2871, 2872, 3, 2, 2, 2, 2872, 2870, 3, 2, 2, 2, 2872, 2873, 3, 2, 2, 2, 2873, 2875, 3, 2, 2, 2, 2874, 2868, 3, 2, 2, 2, 2874, 2875, 3, 2, 2, 2, 2875, 2880, 3, 2, 2, 2, 2876, 2877, 7, 72, 2, 2, 2877, 2878, 5, 532, 267, 2, 2878, 2879, 9, 38, 2, 2, 2879, 2881, 3, 2, 2, 2, 2880, 2876, 3, 2, 2, 2, 2880, 2881, 3, 2, 2, 2, 2881, 2893, 3, 2, 2, 2, 2882, 2883, 7, 1022, 2, 2, 2883, 2888, 5, 190, 96, 2, 2884, 2885, 7, 1024, 2, 2, 2885, 2887, 5, 190, 96, 2, 2886, 2884, 3, 2, 2, 2, 2887, 2890, 3, 2, 2, 2, 2888, 2886, 3, 2, 2, 2, 2888, 2889, 3, 2, 2, 2, 2889, 2891, 3, 2, 2, 2, 2890, 2888, 3, 2, 2, 2, 2891, 2892, 7, 1023, 2, 2, 2892, 2894, 3, 2, 2, 2, 2893, 2882, 3, 2, 2, 2, 2893, 2894, 3, 2, 2, 2, 2894, 2904, 3, 2, 2, 2, 2895, 2896, 7, 140, 2, 2, 2896, 2901, 5, 188, 95, 2, 2897, 2898, 7, 1024, 2, 2, 2898, 2900, 5, 188, 95, 2, 2899, 2897, 3, 2, 2, 2, 2900, 2903, 3, 2, 2, 2, 2901, 2899, 3, 2, 2, 2, 2901, 2902, 3, 2, 2, 2, 2902, 2905, 3, 2, 2, 2, 2903, 2901, 3, 2, 2, 2, 2904, 2895, 3, 2, 2, 2, 2904, 2905, 3, 2, 2, 2, 2905, 177, 3, 2, 2, 2, 2906, 2907, 7, 94, 2, 2, 2907, 2909, 7, 590, 2, 2, 2908, 2910, 9, 36, 2, 2, 2909, 2908, 3, 2, 2, 2, 2909, 2910, 3, 2, 2, 2, 2910, 2912, 3, 2, 2, 2, 2911, 2913, 7, 404, 2, 2, 2912, 2911, 3, 2, 2, 2, 2912, 2913, 3, 2, 2, 2, 2913, 2914, 3, 2, 2, 2, 2914, 2915, 7, 75, 2, 2, 2915, 2917, 7, 1037, 2, 2, 2916, 2918, 9, 8, 2, 2, 2917, 2916, 3, 2, 2, 2, 2917, 2918, 3, 2, 2, 2, 2918, 2919, 3, 2, 2, 2, 2919, 2920, 7, 80, 2, 2, 2920, 2921, 7, 156, 2, 2, 2921, 2925, 5, 502, 252, 2, 2922, 2923, 7, 24, 2, 2, 2923, 2924, 7, 140, 2, 2, 2924, 2926, 5, 512, 257, 2, 2925, 2922, 3, 2, 2, 2, 2925, 2926, 3, 2, 2, 2, 2926, 2933, 3, 2, 2, 2, 2927, 2928, 7, 514, 2, 2, 2928, 2929, 7, 380, 2, 2, 2929, 2930, 7, 18, 2, 2, 2930, 2931, 7, 1015, 2, 2, 2931, 2932, 7, 1037, 2, 2, 2932, 2934, 7, 1014, 2, 2, 2933, 2927, 3, 2, 2, 2, 2933, 2934, 3, 2, 2, 2, 2934, 2939, 3, 2, 2, 2, 2935, 2936, 7, 72, 2, 2, 2936, 2937, 5, 532, 267, 2, 2937, 2938, 9, 38, 2, 2, 2938, 2940, 3, 2, 2, 2, 2939, 2935, 3, 2, 2, 2, 2939, 2940, 3, 2, 2, 2, 2940, 2952, 3, 2, 2, 2, 2941, 2942, 7, 1022, 2, 2, 2942, 2947, 5, 190, 96, 2, 2943, 2944, 7, 1024, 2, 2, 2944, 2946, 5, 190, 96, 2, 2945, 2943, 3, 2, 2, 2, 2946, 2949, 3, 2, 2, 2, 2947, 2945, 3, 2, 2, 2, 2947, 2948, 3, 2, 2, 2, 2948, 2950, 3, 2, 2, 2, 2949, 2947, 3, 2, 2, 2, 2950, 2951, 7, 1023, 2, 2, 2951, 2953, 3, 2, 2, 2, 2952, 2941, 3, 2, 2, 2, 2952, 2953, 3, 2, 2, 2, 2953, 2963, 3, 2, 2, 2, 2954, 2955, 7, 140, 2, 2, 2955, 2960, 5, 188, 95, 2, 2956, 2957, 7, 1024, 2, 2, 2957, 2959, 5, 188, 95, 2, 2958, 2956, 3, 2, 2, 2, 2959, 2962, 3, 2, 2, 2, 2960, 2958, 3, 2, 2, 2, 2960, 2961, 3, 2, 2, 2, 2961, 2964, 3, 2, 2, 2, 2962, 2960, 3, 2, 2, 2, 2963, 2954, 3, 2, 2, 2, 2963, 2964, 3, 2, 2, 2, 2964, 179, 3, 2, 2, 2, 2965, 2967, 7, 129, 2, 2, 2966, 2968, 9, 39, 2, 2, 2967, 2966, 3, 2, 2, 2, 2967, 2968, 3, 2, 2, 2, 2968, 2970, 3, 2, 2, 2, 2969, 2971, 7, 80, 2, 2, 2970, 2969, 3, 2, 2, 2, 2970, 2971, 3, 2, 2, 2, 2971, 2972, 3, 2, 2, 2, 2972, 2978, 5, 502, 252, 2, 2973, 2974, 7, 117, 2, 2, 2974, 2975, 7, 1022, 2, 2, 2975, 2976, 5, 558, 280, 2, 2976, 2977, 7, 1023, 2, 2, 2977, 2979, 3, 2, 2, 2, 2978, 2973, 3, 2, 2, 2, 2978, 2979, 3, 2, 2, 2, 2979, 2996, 3, 2, 2, 2, 2980, 2981, 7, 1022, 2, 2, 2981, 2982, 5, 558, 280, 2, 2982, 2983, 7, 1023, 2, 2, 2983, 2985, 3, 2, 2, 2, 2984, 2980, 3, 2, 2, 2, 2984, 2985, 3, 2, 2, 2, 2985, 2986, 3, 2, 2, 2, 2986, 2997, 5, 186, 94, 2, 2987, 2988, 7, 140, 2, 2, 2988, 2993, 5, 188, 95, 2, 2989, 2990, 7, 1024, 2, 2, 2990, 2992, 5, 188, 95, 2, 2991, 2989, 3, 2, 2, 2, 2992, 2995, 3, 2, 2, 2, 2993, 2991, 3, 2, 2, 2, 2993, 2994, 3, 2, 2, 2, 2994, 2997, 3, 2, 2, 2, 2995, 2993, 3, 2, 2, 2, 2996, 2984, 3, 2, 2, 2, 2996, 2987, 3, 2, 2, 2, 2997, 181, 3, 2, 2, 2, 2998, 3000, 5, 230, 116, 2, 2999, 3001, 5, 192, 97, 2, 3000, 2999, 3, 2, 2, 2, 3000, 3001, 3, 2, 2, 2, 3001, 3054, 3, 2, 2, 2, 3002, 3004, 5, 226, 114, 2, 3003, 3005, 5, 192, 97, 2, 3004, 3003, 3, 2, 2, 2, 3004, 3005, 3, 2, 2, 2, 3005, 3054, 3, 2, 2, 2, 3006, 3008, 5, 232, 117, 2, 3007, 3009, 5, 236, 119, 2, 3008, 3007, 3, 2, 2, 2, 3009, 3010, 3, 2, 2, 2, 3010, 3008, 3, 2, 2, 2, 3010, 3011, 3, 2, 2, 2, 3011, 3020, 3, 2, 2, 2, 3012, 3014, 7, 164, 2, 2, 3013, 3015, 9, 40, 2, 2, 3014, 3013, 3, 2, 2, 2, 3014, 3015, 3, 2, 2, 2, 3015, 3018, 3, 2, 2, 2, 3016, 3019, 5, 230, 116, 2, 3017, 3019, 5, 226, 114, 2, 3018, 3016, 3, 2, 2, 2, 3018, 3017, 3, 2, 2, 2, 3019, 3021, 3, 2, 2, 2, 3020, 3012, 3, 2, 2, 2, 3020, 3021, 3, 2, 2, 2, 3021, 3023, 3, 2, 2, 2, 3022, 3024, 5, 210, 106, 2, 3023, 3022, 3, 2, 2, 2, 3023, 3024, 3, 2, 2, 2, 3024, 3026, 3, 2, 2, 2, 3025, 3027, 5, 254, 128, 2, 3026, 3025, 3, 2, 2, 2, 3026, 3027, 3, 2, 2, 2, 3027, 3029, 3, 2, 2, 2, 3028, 3030, 5, 192, 97, 2, 3029, 3028, 3, 2, 2, 2, 3029, 3030, 3, 2, 2, 2, 3030, 3054, 3, 2, 2, 2, 3031, 3033, 5, 228, 115, 2, 3032, 3034, 5, 234, 118, 2, 3033, 3032, 3, 2, 2, 2, 3034, 3035, 3, 2, 2, 2, 3035, 3033, 3, 2, 2, 2, 3035, 3036, 3, 2, 2, 2, 3036, 3042, 3, 2, 2, 2, 3037, 3039, 7, 164, 2, 2, 3038, 3040, 9, 40, 2, 2, 3039, 3038, 3, 2, 2, 2, 3039, 3040, 3, 2, 2, 2, 3040, 3041, 3, 2, 2, 2, 3041, 3043, 5, 226, 114, 2, 3042, 3037, 3, 2, 2, 2, 3042, 3043, 3, 2, 2, 2, 3043, 3045, 3, 2, 2, 2, 3044, 3046, 5, 210, 106, 2, 3045, 3044, 3, 2, 2, 2, 3045, 3046, 3, 2, 2, 2, 3046, 3048, 3, 2, 2, 2, 3047, 3049, 5, 254, 128, 2, 3048, 3047, 3, 2, 2, 2, 3048, 3049, 3, 2, 2, 2, 3049, 3051, 3, 2, 2, 2, 3050, 3052, 5, 192, 97, 2, 3051, 3050, 3, 2, 2, 2, 3051, 3052, 3, 2, 2, 2, 3052, 3054, 3, 2, 2, 2, 3053, 2998, 3, 2, 2, 2, 3053, 3002, 3, 2, 2, 2, 3053, 3006, 3, 2, 2, 2, 3053, 3031, 3, 2, 2, 2, 3054, 183, 3, 2, 2, 2, 3055, 3058, 5, 206, 104, 2, 3056, 3058, 5, 208, 105, 2, 3057, 3055, 3, 2, 2, 2, 3057, 3056, 3, 2, 2, 2, 3058, 185, 3, 2, 2, 2, 3059, 3078, 5, 182, 92, 2, 3060, 3061, 9, 41, 2, 2, 3061, 3063, 7, 1022, 2, 2, 3062, 3064, 5, 566, 284, 2, 3063, 3062, 3, 2, 2, 2, 3063, 3064, 3, 2, 2, 2, 3064, 3065, 3, 2, 2, 2, 3065, 3074, 7, 1023, 2, 2, 3066, 3067, 7, 1024, 2, 2, 3067, 3069, 7, 1022, 2, 2, 3068, 3070, 5, 566, 284, 2, 3069, 3068, 3, 2, 2, 2, 3069, 3070, 3, 2, 2, 2, 3070, 3071, 3, 2, 2, 2, 3071, 3073, 7, 1023, 2, 2, 3072, 3066, 3, 2, 2, 2, 3073, 3076, 3, 2, 2, 2, 3074, 3072, 3, 2, 2, 2, 3074, 3075, 3, 2, 2, 2, 3075, 3078, 3, 2, 2, 2, 3076, 3074, 3, 2, 2, 2, 3077, 3059, 3, 2, 2, 2, 3077, 3060, 3, 2, 2, 2, 3078, 187, 3, 2, 2, 2, 3079, 3080, 5, 504, 253, 2, 3080, 3083, 7, 1013, 2, 2, 3081, 3084, 5, 604, 303, 2, 3082, 3084, 7, 40, 2, 2, 3083, 3081, 3, 2, 2, 2, 3083, 3082, 3, 2, 2, 2, 3084, 189, 3, 2, 2, 2, 3085, 3088, 5, 526, 264, 2, 3086, 3088, 7, 1048, 2, 2, 3087, 3085, 3, 2, 2, 2, 3087, 3086, 3, 2, 2, 2, 3088, 191, 3, 2, 2, 2, 3089, 3090, 7, 60, 2, 2, 3090, 3096, 7, 168, 2, 2, 3091, 3092, 7, 95, 2, 2, 3092, 3093, 7, 73, 2, 2, 3093, 3094, 7, 521, 2, 2, 3094, 3096, 7, 440, 2, 2, 3095, 3089, 3, 2, 2, 2, 3095, 3091, 3, 2, 2, 2, 3096, 193, 3, 2, 2, 2, 3097, 3099, 7, 42, 2, 2, 3098, 3100, 7, 97, 2, 2, 3099, 3098, 3, 2, 2, 2, 3099, 3100, 3, 2, 2, 2, 3100, 3102, 3, 2, 2, 2, 3101, 3103, 7, 485, 2, 2, 3102, 3101, 3, 2, 2, 2, 3102, 3103, 3, 2, 2, 2, 3103, 3105, 3, 2, 2, 2, 3104, 3106, 7, 72, 2, 2, 3105, 3104, 3, 2, 2, 2, 3105, 3106, 3, 2, 2, 2, 3106, 3107, 3, 2, 2, 2, 3107, 3108, 7, 63, 2, 2, 3108, 3114, 5, 502, 252, 2, 3109, 3110, 7, 117, 2, 2, 3110, 3111, 7, 1022, 2, 2, 3111, 3112, 5, 558, 280, 2, 3112, 3113, 7, 1023, 2, 2, 3113, 3115, 3, 2, 2, 2, 3114, 3109, 3, 2, 2, 2, 3114, 3115, 3, 2, 2, 2, 3115, 3118, 3, 2, 2, 2, 3116, 3117, 7, 174, 2, 2, 3117, 3119, 5, 604, 303, 2, 3118, 3116, 3, 2, 2, 2, 3118, 3119, 3, 2, 2, 2, 3119, 3121, 3, 2, 2, 2, 3120, 3122, 5, 210, 106, 2, 3121, 3120, 3, 2, 2, 2, 3121, 3122, 3, 2, 2, 2, 3122, 3125, 3, 2, 2, 2, 3123, 3124, 7, 91, 2, 2, 3124, 3126, 5, 256, 129, 2, 3125, 3123, 3, 2, 2, 2, 3125, 3126, 3, 2, 2, 2, 3126, 195, 3, 2, 2, 2, 3127, 3129, 7, 42, 2, 2, 3128, 3130, 7, 97, 2, 2, 3129, 3128, 3, 2, 2, 2, 3129, 3130, 3, 2, 2, 2, 3130, 3132, 3, 2, 2, 2, 3131, 3133, 7, 485, 2, 2, 3132, 3131, 3, 2, 2, 2, 3132, 3133, 3, 2, 2, 2, 3133, 3135, 3, 2, 2, 2, 3134, 3136, 7, 72, 2, 2, 3135, 3134, 3, 2, 2, 2, 3135, 3136, 3, 2, 2, 2, 3136, 3176, 3, 2, 2, 2, 3137, 3140, 5, 502, 252, 2, 3138, 3139, 7, 1021, 2, 2, 3139, 3141, 7, 1005, 2, 2, 3140, 3138, 3, 2, 2, 2, 3140, 3141, 3, 2, 2, 2, 3141, 3150, 3, 2, 2, 2, 3142, 3143, 7, 1024, 2, 2, 3143, 3146, 5, 502, 252, 2, 3144, 3145, 7, 1021, 2, 2, 3145, 3147, 7, 1005, 2, 2, 3146, 3144, 3, 2, 2, 2, 3146, 3147, 3, 2, 2, 2, 3147, 3149, 3, 2, 2, 2, 3148, 3142, 3, 2, 2, 2, 3149, 3152, 3, 2, 2, 2, 3150, 3148, 3, 2, 2, 2, 3150, 3151, 3, 2, 2, 2, 3151, 3153, 3, 2, 2, 2, 3152, 3150, 3, 2, 2, 2, 3153, 3154, 7, 63, 2, 2, 3154, 3155, 5, 214, 108, 2, 3155, 3177, 3, 2, 2, 2, 3156, 3157, 7, 63, 2, 2, 3157, 3160, 5, 502, 252, 2, 3158, 3159, 7, 1021, 2, 2, 3159, 3161, 7, 1005, 2, 2, 3160, 3158, 3, 2, 2, 2, 3160, 3161, 3, 2, 2, 2, 3161, 3170, 3, 2, 2, 2, 3162, 3163, 7, 1024, 2, 2, 3163, 3166, 5, 502, 252, 2, 3164, 3165, 7, 1021, 2, 2, 3165, 3167, 7, 1005, 2, 2, 3166, 3164, 3, 2, 2, 2, 3166, 3167, 3, 2, 2, 2, 3167, 3169, 3, 2, 2, 2, 3168, 3162, 3, 2, 2, 2, 3169, 3172, 3, 2, 2, 2, 3170, 3168, 3, 2, 2, 2, 3170, 3171, 3, 2, 2, 2, 3171, 3173, 3, 2, 2, 2, 3172, 3170, 3, 2, 2, 2, 3173, 3174, 7, 171, 2, 2, 3174, 3175, 5, 214, 108, 2, 3175, 3177, 3, 2, 2, 2, 3176, 3137, 3, 2, 2, 2, 3176, 3156, 3, 2, 2, 2, 3177, 3180, 3, 2, 2, 2, 3178, 3179, 7, 174, 2, 2, 3179, 3181, 5, 604, 303, 2, 3180, 3178, 3, 2, 2, 2, 3180, 3181, 3, 2, 2, 2, 3181, 197, 3, 2, 2, 2, 3182, 3183, 7, 375, 2, 2, 3183, 3184, 5, 502, 252, 2, 3184, 3189, 7, 460, 2, 2, 3185, 3187, 7, 13, 2, 2, 3186, 3185, 3, 2, 2, 2, 3186, 3187, 3, 2, 2, 2, 3187, 3188, 3, 2, 2, 2, 3188, 3190, 5, 526, 264, 2, 3189, 3186, 3, 2, 2, 2, 3189, 3190, 3, 2, 2, 2, 3190, 199, 3, 2, 2, 2, 3191, 3192, 7, 375, 2, 2, 3192, 3193, 5, 502, 252, 2, 3193, 3194, 7, 122, 2, 2, 3194, 3201, 5, 526, 264, 2, 3195, 3196, 5, 612, 307, 2, 3196, 3197, 7, 1022, 2, 2, 3197, 3198, 5, 568, 285, 2, 3198, 3199, 7, 1023, 2, 2, 3199, 3202, 3, 2, 2, 2, 3200, 3202, 9, 42, 2, 2, 3201, 3195, 3, 2, 2, 2, 3201, 3200, 3, 2, 2, 2, 3202, 3205, 3, 2, 2, 2, 3203, 3204, 7, 174, 2, 2, 3204, 3206, 5, 604, 303, 2, 3205, 3203, 3, 2, 2, 2, 3205, 3206, 3, 2, 2, 2, 3206, 3209, 3, 2, 2, 2, 3207, 3208, 7, 91, 2, 2, 3208, 3210, 5, 256, 129, 2, 3209, 3207, 3, 2, 2, 2, 3209, 3210, 3, 2, 2, 2, 3210, 201, 3, 2, 2, 2, 3211, 3212, 7, 375, 2, 2, 3212, 3213, 5, 502, 252, 2, 3213, 3214, 7, 122, 2, 2, 3214, 3217, 9, 43, 2, 2, 3215, 3216, 7, 174, 2, 2, 3216, 3218, 5, 604, 303, 2, 3217, 3215, 3, 2, 2, 2, 3217, 3218, 3, 2, 2, 2, 3218, 3221, 3, 2, 2, 2, 3219, 3220, 7, 91, 2, 2, 3220, 3222, 5, 256, 129, 2, 3221, 3219, 3, 2, 2, 2, 3221, 3222, 3, 2, 2, 2, 3222, 203, 3, 2, 2, 2, 3223, 3224, 7, 375, 2, 2, 3224, 3225, 5, 502, 252, 2, 3225, 3226, 7, 301, 2, 2, 3226, 205, 3, 2, 2, 2, 3227, 3229, 7, 168, 2, 2, 3228, 3230, 7, 97, 2, 2, 3229, 3228, 3, 2, 2, 2, 3229, 3230, 3, 2, 2, 2, 3230, 3232, 3, 2, 2, 2, 3231, 3233, 7, 72, 2, 2, 3232, 3231, 3, 2, 2, 2, 3232, 3233, 3, 2, 2, 2, 3233, 3234, 3, 2, 2, 2, 3234, 3239, 5, 502, 252, 2, 3235, 3237, 7, 13, 2, 2, 3236, 3235, 3, 2, 2, 2, 3236, 3237, 3, 2, 2, 2, 3237, 3238, 3, 2, 2, 2, 3238, 3240, 5, 526, 264, 2, 3239, 3236, 3, 2, 2, 2, 3239, 3240, 3, 2, 2, 2, 3240, 3241, 3, 2, 2, 2, 3241, 3242, 7, 140, 2, 2, 3242, 3247, 5, 188, 95, 2, 3243, 3244, 7, 1024, 2, 2, 3244, 3246, 5, 188, 95, 2, 3245, 3243, 3, 2, 2, 2, 3246, 3249, 3, 2, 2, 2, 3247, 3245, 3, 2, 2, 2, 3247, 3248, 3, 2, 2, 2, 3248, 3252, 3, 2, 2, 2, 3249, 3247, 3, 2, 2, 2, 3250, 3251, 7, 174, 2, 2, 3251, 3253, 5, 604, 303, 2, 3252, 3250, 3, 2, 2, 2, 3252, 3253, 3, 2, 2, 2, 3253, 3255, 3, 2, 2, 2, 3254, 3256, 5, 210, 106, 2, 3255, 3254, 3, 2, 2, 2, 3255, 3256, 3, 2, 2, 2, 3256, 3258, 3, 2, 2, 2, 3257, 3259, 5, 254, 128, 2, 3258, 3257, 3, 2, 2, 2, 3258, 3259, 3, 2, 2, 2, 3259, 207, 3, 2, 2, 2, 3260, 3262, 7, 168, 2, 2, 3261, 3263, 7, 97, 2, 2, 3262, 3261, 3, 2, 2, 2, 3262, 3263, 3, 2, 2, 2, 3263, 3265, 3, 2, 2, 2, 3264, 3266, 7, 72, 2, 2, 3265, 3264, 3, 2, 2, 2, 3265, 3266, 3, 2, 2, 2, 3266, 3267, 3, 2, 2, 2, 3267, 3268, 5, 214, 108, 2, 3268, 3269, 7, 140, 2, 2, 3269, 3274, 5, 188, 95, 2, 3270, 3271, 7, 1024, 2, 2, 3271, 3273, 5, 188, 95, 2, 3272, 3270, 3, 2, 2, 2, 3273, 3276, 3, 2, 2, 2, 3274, 3272, 3, 2, 2, 2, 3274, 3275, 3, 2, 2, 2, 3275, 3279, 3, 2, 2, 2, 3276, 3274, 3, 2, 2, 2, 3277, 3278, 7, 174, 2, 2, 3278, 3280, 5, 604, 303, 2, 3279, 3277, 3, 2, 2, 2, 3279, 3280, 3, 2, 2, 2, 3280, 209, 3, 2, 2, 2, 3281, 3282, 7, 113, 2, 2, 3282, 3283, 7, 18, 2, 2, 3283, 3288, 5, 212, 107, 2, 3284, 3285, 7, 1024, 2, 2, 3285, 3287, 5, 212, 107, 2, 3286, 3284, 3, 2, 2, 2, 3287, 3290, 3, 2, 2, 2, 3288, 3286, 3, 2, 2, 2, 3288, 3289, 3, 2, 2, 2, 3289, 211, 3, 2, 2, 2, 3290, 3288, 3, 2, 2, 2, 3291, 3293, 5, 604, 303, 2, 3292, 3294, 9, 44, 2, 2, 3293, 3292, 3, 2, 2, 2, 3293, 3294, 3, 2, 2, 2, 3294, 213, 3, 2, 2, 2, 3295, 3300, 5, 216, 109, 2, 3296, 3297, 7, 1024, 2, 2, 3297, 3299, 5, 216, 109, 2, 3298, 3296, 3, 2, 2, 2, 3299, 3302, 3, 2, 2, 2, 3300, 3298, 3, 2, 2, 2, 3300, 3301, 3, 2, 2, 2, 3301, 215, 3, 2, 2, 2, 3302, 3300, 3, 2, 2, 2, 3303, 3307, 5, 218, 110, 2, 3304, 3306, 5, 224, 113, 2, 3305, 3304, 3, 2, 2, 2, 3306, 3309, 3, 2, 2, 2, 3307, 3305, 3, 2, 2, 2, 3307, 3308, 3, 2, 2, 2, 3308, 3321, 3, 2, 2, 2, 3309, 3307, 3, 2, 2, 2, 3310, 3311, 7, 1022, 2, 2, 3311, 3315, 5, 218, 110, 2, 3312, 3314, 5, 224, 113, 2, 3313, 3312, 3, 2, 2, 2, 3314, 3317, 3, 2, 2, 2, 3315, 3313, 3, 2, 2, 2, 3315, 3316, 3, 2, 2, 2, 3316, 3318, 3, 2, 2, 2, 3317, 3315, 3, 2, 2, 2, 3318, 3319, 7, 1023, 2, 2, 3319, 3321, 3, 2, 2, 2, 3320, 3303, 3, 2, 2, 2, 3320, 3310, 3, 2, 2, 2, 3321, 217, 3, 2, 2, 2, 3322, 3328, 5, 502, 252, 2, 3323, 3324, 7, 117, 2, 2, 3324, 3325, 7, 1022, 2, 2, 3325, 3326, 5, 558, 280, 2, 3326, 3327, 7, 1023, 2, 2, 3327, 3329, 3, 2, 2, 2, 3328, 3323, 3, 2, 2, 2, 3328, 3329, 3, 2, 2, 2, 3329, 3334, 3, 2, 2, 2, 3330, 3332, 7, 13, 2, 2, 3331, 3330, 3, 2, 2, 2, 3331, 3332, 3, 2, 2, 2, 3332, 3333, 3, 2, 2, 2, 3333, 3335, 5, 526, 264, 2, 3334, 3331, 3, 2, 2, 2, 3334, 3335, 3, 2, 2, 2, 3335, 3344, 3, 2, 2, 2, 3336, 3341, 5, 220, 111, 2, 3337, 3338, 7, 1024, 2, 2, 3338, 3340, 5, 220, 111, 2, 3339, 3337, 3, 2, 2, 2, 3340, 3343, 3, 2, 2, 2, 3341, 3339, 3, 2, 2, 2, 3341, 3342, 3, 2, 2, 2, 3342, 3345, 3, 2, 2, 2, 3343, 3341, 3, 2, 2, 2, 3344, 3336, 3, 2, 2, 2, 3344, 3345, 3, 2, 2, 2, 3345, 3363, 3, 2, 2, 2, 3346, 3352, 5, 182, 92, 2, 3347, 3348, 7, 1022, 2, 2, 3348, 3349, 5, 182, 92, 2, 3349, 3350, 7, 1023, 2, 2, 3350, 3352, 3, 2, 2, 2, 3351, 3346, 3, 2, 2, 2, 3351, 3347, 3, 2, 2, 2, 3352, 3354, 3, 2, 2, 2, 3353, 3355, 7, 13, 2, 2, 3354, 3353, 3, 2, 2, 2, 3354, 3355, 3, 2, 2, 2, 3355, 3356, 3, 2, 2, 2, 3356, 3357, 5, 526, 264, 2, 3357, 3363, 3, 2, 2, 2, 3358, 3359, 7, 1022, 2, 2, 3359, 3360, 5, 214, 108, 2, 3360, 3361, 7, 1023, 2, 2, 3361, 3363, 3, 2, 2, 2, 3362, 3322, 3, 2, 2, 2, 3362, 3351, 3, 2, 2, 2, 3362, 3358, 3, 2, 2, 2, 3363, 219, 3, 2, 2, 2, 3364, 3365, 9, 45, 2, 2, 3365, 3368, 9, 20, 2, 2, 3366, 3367, 7, 60, 2, 2, 3367, 3369, 5, 222, 112, 2, 3368, 3366, 3, 2, 2, 2, 3368, 3369, 3, 2, 2, 2, 3369, 3370, 3, 2, 2, 2, 3370, 3371, 7, 1022, 2, 2, 3371, 3372, 5, 558, 280, 2, 3372, 3373, 7, 1023, 2, 2, 3373, 221, 3, 2, 2, 2, 3374, 3380, 7, 83, 2, 2, 3375, 3376, 7, 113, 2, 2, 3376, 3380, 7, 18, 2, 2, 3377, 3378, 7, 68, 2, 2, 3378, 3380, 7, 18, 2, 2, 3379, 3374, 3, 2, 2, 2, 3379, 3375, 3, 2, 2, 2, 3379, 3377, 3, 2, 2, 2, 3380, 223, 3, 2, 2, 2, 3381, 3383, 9, 46, 2, 2, 3382, 3381, 3, 2, 2, 2, 3382, 3383, 3, 2, 2, 2, 3383, 3384, 3, 2, 2, 2, 3384, 3385, 7, 83, 2, 2, 3385, 3393, 5, 218, 110, 2, 3386, 3387, 7, 108, 2, 2, 3387, 3394, 5, 604, 303, 2, 3388, 3389, 7, 171, 2, 2, 3389, 3390, 7, 1022, 2, 2, 3390, 3391, 5, 558, 280, 2, 3391, 3392, 7, 1023, 2, 2, 3392, 3394, 3, 2, 2, 2, 3393, 3386, 3, 2, 2, 2, 3393, 3388, 3, 2, 2, 2, 3393, 3394, 3, 2, 2, 2, 3394, 3426, 3, 2, 2, 2, 3395, 3396, 7, 155, 2, 2, 3396, 3399, 5, 218, 110, 2, 3397, 3398, 7, 108, 2, 2, 3398, 3400, 5, 604, 303, 2, 3399, 3397, 3, 2, 2, 2, 3399, 3400, 3, 2, 2, 2, 3400, 3426, 3, 2, 2, 2, 3401, 3403, 9, 47, 2, 2, 3402, 3404, 7, 115, 2, 2, 3403, 3402, 3, 2, 2, 2, 3403, 3404, 3, 2, 2, 2, 3404, 3405, 3, 2, 2, 2, 3405, 3406, 7, 83, 2, 2, 3406, 3414, 5, 218, 110, 2, 3407, 3408, 7, 108, 2, 2, 3408, 3415, 5, 604, 303, 2, 3409, 3410, 7, 171, 2, 2, 3410, 3411, 7, 1022, 2, 2, 3411, 3412, 5, 558, 280, 2, 3412, 3413, 7, 1023, 2, 2, 3413, 3415, 3, 2, 2, 2, 3414, 3407, 3, 2, 2, 2, 3414, 3409, 3, 2, 2, 2, 3415, 3426, 3, 2, 2, 2, 3416, 3421, 7, 103, 2, 2, 3417, 3419, 9, 47, 2, 2, 3418, 3420, 7, 115, 2, 2, 3419, 3418, 3, 2, 2, 2, 3419, 3420, 3, 2, 2, 2, 3420, 3422, 3, 2, 2, 2, 3421, 3417, 3, 2, 2, 2, 3421, 3422, 3, 2, 2, 2, 3422, 3423, 3, 2, 2, 2, 3423, 3424, 7, 83, 2, 2, 3424, 3426, 5, 218, 110, 2, 3425, 3382, 3, 2, 2, 2, 3425, 3395, 3, 2, 2, 2, 3425, 3401, 3, 2, 2, 2, 3425, 3416, 3, 2, 2, 2, 3426, 225, 3, 2, 2, 2, 3427, 3428, 7, 1022, 2, 2, 3428, 3429, 5, 230, 116, 2, 3429, 3430, 7, 1023, 2, 2, 3430, 3436, 3, 2, 2, 2, 3431, 3432, 7, 1022, 2, 2, 3432, 3433, 5, 226, 114, 2, 3433, 3434, 7, 1023, 2, 2, 3434, 3436, 3, 2, 2, 2, 3435, 3427, 3, 2, 2, 2, 3435, 3431, 3, 2, 2, 2, 3436, 227, 3, 2, 2, 2, 3437, 3438, 7, 1022, 2, 2, 3438, 3439, 5, 232, 117, 2, 3439, 3440, 7, 1023, 2, 2, 3440, 3446, 3, 2, 2, 2, 3441, 3442, 7, 1022, 2, 2, 3442, 3443, 5, 228, 115, 2, 3443, 3444, 7, 1023, 2, 2, 3444, 3446, 3, 2, 2, 2, 3445, 3437, 3, 2, 2, 2, 3445, 3441, 3, 2, 2, 2, 3446, 229, 3, 2, 2, 2, 3447, 3451, 7, 139, 2, 2, 3448, 3450, 5, 238, 120, 2, 3449, 3448, 3, 2, 2, 2, 3450, 3453, 3, 2, 2, 2, 3451, 3449, 3, 2, 2, 2, 3451, 3452, 3, 2, 2, 2, 3452, 3454, 3, 2, 2, 2, 3453, 3451, 3, 2, 2, 2, 3454, 3456, 5, 240, 121, 2, 3455, 3457, 5, 244, 123, 2, 3456, 3455, 3, 2, 2, 2, 3456, 3457, 3, 2, 2, 2, 3457, 3459, 3, 2, 2, 2, 3458, 3460, 5, 250, 126, 2, 3459, 3458, 3, 2, 2, 2, 3459, 3460, 3, 2, 2, 2, 3460, 3462, 3, 2, 2, 2, 3461, 3463, 5, 210, 106, 2, 3462, 3461, 3, 2, 2, 2, 3462, 3463, 3, 2, 2, 2, 3463, 3465, 3, 2, 2, 2, 3464, 3466, 5, 254, 128, 2, 3465, 3464, 3, 2, 2, 2, 3465, 3466, 3, 2, 2, 2, 3466, 3488, 3, 2, 2, 2, 3467, 3471, 7, 139, 2, 2, 3468, 3470, 5, 238, 120, 2, 3469, 3468, 3, 2, 2, 2, 3470, 3473, 3, 2, 2, 2, 3471, 3469, 3, 2, 2, 2, 3471, 3472, 3, 2, 2, 2, 3472, 3474, 3, 2, 2, 2, 3473, 3471, 3, 2, 2, 2, 3474, 3476, 5, 240, 121, 2, 3475, 3477, 5, 250, 126, 2, 3476, 3475, 3, 2, 2, 2, 3476, 3477, 3, 2, 2, 2, 3477, 3479, 3, 2, 2, 2, 3478, 3480, 5, 210, 106, 2, 3479, 3478, 3, 2, 2, 2, 3479, 3480, 3, 2, 2, 2, 3480, 3482, 3, 2, 2, 2, 3481, 3483, 5, 254, 128, 2, 3482, 3481, 3, 2, 2, 2, 3482, 3483, 3, 2, 2, 2, 3483, 3485, 3, 2, 2, 2, 3484, 3486, 5, 244, 123, 2, 3485, 3484, 3, 2, 2, 2, 3485, 3486, 3, 2, 2, 2, 3486, 3488, 3, 2, 2, 2, 3487, 3447, 3, 2, 2, 2, 3487, 3467, 3, 2, 2, 2, 3488, 231, 3, 2, 2, 2, 3489, 3493, 7, 139, 2, 2, 3490, 3492, 5, 238, 120, 2, 3491, 3490, 3, 2, 2, 2, 3492, 3495, 3, 2, 2, 2, 3493, 3491, 3, 2, 2, 2, 3493, 3494, 3, 2, 2, 2, 3494, 3496, 3, 2, 2, 2, 3495, 3493, 3, 2, 2, 2, 3496, 3498, 5, 240, 121, 2, 3497, 3499, 5, 250, 126, 2, 3498, 3497, 3, 2, 2, 2, 3498, 3499, 3, 2, 2, 2, 3499, 3501, 3, 2, 2, 2, 3500, 3502, 5, 210, 106, 2, 3501, 3500, 3, 2, 2, 2, 3501, 3502, 3, 2, 2, 2, 3502, 3504, 3, 2, 2, 2, 3503, 3505, 5, 254, 128, 2, 3504, 3503, 3, 2, 2, 2, 3504, 3505, 3, 2, 2, 2, 3505, 233, 3, 2, 2, 2, 3506, 3508, 7, 164, 2, 2, 3507, 3509, 9, 40, 2, 2, 3508, 3507, 3, 2, 2, 2, 3508, 3509, 3, 2, 2, 2, 3509, 3510, 3, 2, 2, 2, 3510, 3511, 5, 228, 115, 2, 3511, 235, 3, 2, 2, 2, 3512, 3514, 7, 164, 2, 2, 3513, 3515, 9, 40, 2, 2, 3514, 3513, 3, 2, 2, 2, 3514, 3515, 3, 2, 2, 2, 3515, 3518, 3, 2, 2, 2, 3516, 3519, 5, 232, 117, 2, 3517, 3519, 5, 228, 115, 2, 3518, 3516, 3, 2, 2, 2, 3518, 3517, 3, 2, 2, 2, 3519, 237, 3, 2, 2, 2, 3520, 3529, 9, 48, 2, 2, 3521, 3529, 7, 70, 2, 2, 3522, 3529, 7, 155, 2, 2, 3523, 3529, 7, 151, 2, 2, 3524, 3529, 7, 149, 2, 2, 3525, 3529, 7, 536, 2, 2, 3526, 3529, 9, 49, 2, 2, 3527, 3529, 7, 150, 2, 2, 3528, 3520, 3, 2, 2, 2, 3528, 3521, 3, 2, 2, 2, 3528, 3522, 3, 2, 2, 2, 3528, 3523, 3, 2, 2, 2, 3528, 3524, 3, 2, 2, 2, 3528, 3525, 3, 2, 2, 2, 3528, 3526, 3, 2, 2, 2, 3528, 3527, 3, 2, 2, 2, 3529, 239, 3, 2, 2, 2, 3530, 3533, 7, 1005, 2, 2, 3531, 3533, 5, 242, 122, 2, 3532, 3530, 3, 2, 2, 2, 3532, 3531, 3, 2, 2, 2, 3533, 3538, 3, 2, 2, 2, 3534, 3535, 7, 1024, 2, 2, 3535, 3537, 5, 242, 122, 2, 3536, 3534, 3, 2, 2, 2, 3537, 3540, 3, 2, 2, 2, 3538, 3536, 3, 2, 2, 2, 3538, 3539, 3, 2, 2, 2, 3539, 241, 3, 2, 2, 2, 3540, 3538, 3, 2, 2, 2, 3541, 3542, 5, 500, 251, 2, 3542, 3543, 7, 1021, 2, 2, 3543, 3544, 7, 1005, 2, 2, 3544, 3571, 3, 2, 2, 2, 3545, 3550, 5, 504, 253, 2, 3546, 3548, 7, 13, 2, 2, 3547, 3546, 3, 2, 2, 2, 3547, 3548, 3, 2, 2, 2, 3548, 3549, 3, 2, 2, 2, 3549, 3551, 5, 526, 264, 2, 3550, 3547, 3, 2, 2, 2, 3550, 3551, 3, 2, 2, 2, 3551, 3571, 3, 2, 2, 2, 3552, 3557, 5, 584, 293, 2, 3553, 3555, 7, 13, 2, 2, 3554, 3553, 3, 2, 2, 2, 3554, 3555, 3, 2, 2, 2, 3555, 3556, 3, 2, 2, 2, 3556, 3558, 5, 526, 264, 2, 3557, 3554, 3, 2, 2, 2, 3557, 3558, 3, 2, 2, 2, 3558, 3571, 3, 2, 2, 2, 3559, 3560, 7, 1048, 2, 2, 3560, 3562, 7, 996, 2, 2, 3561, 3559, 3, 2, 2, 2, 3561, 3562, 3, 2, 2, 2, 3562, 3563, 3, 2, 2, 2, 3563, 3568, 5, 604, 303, 2, 3564, 3566, 7, 13, 2, 2, 3565, 3564, 3, 2, 2, 2, 3565, 3566, 3, 2, 2, 2, 3566, 3567, 3, 2, 2, 2, 3567, 3569, 5, 526, 264, 2, 3568, 3565, 3, 2, 2, 2, 3568, 3569, 3, 2, 2, 2, 3569, 3571, 3, 2, 2, 2, 3570, 3541, 3, 2, 2, 2, 3570, 3545, 3, 2, 2, 2, 3570, 3552, 3, 2, 2, 2, 3570, 3561, 3, 2, 2, 2, 3571, 243, 3, 2, 2, 2, 3572, 3573, 7, 80, 2, 2, 3573, 3578, 5, 190, 96, 2, 3574, 3575, 7, 1024, 2, 2, 3575, 3577, 5, 190, 96, 2, 3576, 3574, 3, 2, 2, 2, 3577, 3580, 3, 2, 2, 2, 3578, 3576, 3, 2, 2, 2, 3578, 3579, 3, 2, 2, 2, 3579, 3609, 3, 2, 2, 2, 3580, 3578, 3, 2, 2, 2, 3581, 3582, 7, 80, 2, 2, 3582, 3583, 7, 337, 2, 2, 3583, 3609, 7, 1037, 2, 2, 3584, 3585, 7, 80, 2, 2, 3585, 3586, 7, 116, 2, 2, 3586, 3590, 7, 1037, 2, 2, 3587, 3588, 7, 24, 2, 2, 3588, 3589, 7, 140, 2, 2, 3589, 3591, 5, 512, 257, 2, 3590, 3587, 3, 2, 2, 2, 3590, 3591, 3, 2, 2, 2, 3591, 3598, 3, 2, 2, 2, 3592, 3594, 9, 37, 2, 2, 3593, 3595, 5, 246, 124, 2, 3594, 3593, 3, 2, 2, 2, 3595, 3596, 3, 2, 2, 2, 3596, 3594, 3, 2, 2, 2, 3596, 3597, 3, 2, 2, 2, 3597, 3599, 3, 2, 2, 2, 3598, 3592, 3, 2, 2, 2, 3598, 3599, 3, 2, 2, 2, 3599, 3606, 3, 2, 2, 2, 3600, 3602, 7, 93, 2, 2, 3601, 3603, 5, 248, 125, 2, 3602, 3601, 3, 2, 2, 2, 3603, 3604, 3, 2, 2, 2, 3604, 3602, 3, 2, 2, 2, 3604, 3605, 3, 2, 2, 2, 3605, 3607, 3, 2, 2, 2, 3606, 3600, 3, 2, 2, 2, 3606, 3607, 3, 2, 2, 2, 3607, 3609, 3, 2, 2, 2, 3608, 3572, 3, 2, 2, 2, 3608, 3581, 3, 2, 2, 2, 3608, 3584, 3, 2, 2, 2, 3609, 245, 3, 2, 2, 2, 3610, 3611, 7, 157, 2, 2, 3611, 3612, 7, 18, 2, 2, 3612, 3623, 7, 1037, 2, 2, 3613, 3615, 7, 111, 2, 2, 3614, 3613, 3, 2, 2, 2, 3614, 3615, 3, 2, 2, 2, 3615, 3616, 3, 2, 2, 2, 3616, 3617, 7, 53, 2, 2, 3617, 3618, 7, 18, 2, 2, 3618, 3623, 7, 1037, 2, 2, 3619, 3620, 7, 54, 2, 2, 3620, 3621, 7, 18, 2, 2, 3621, 3623, 7, 1037, 2, 2, 3622, 3610, 3, 2, 2, 2, 3622, 3614, 3, 2, 2, 2, 3622, 3619, 3, 2, 2, 2, 3623, 247, 3, 2, 2, 2, 3624, 3625, 7, 154, 2, 2, 3625, 3626, 7, 18, 2, 2, 3626, 3631, 7, 1037, 2, 2, 3627, 3628, 7, 157, 2, 2, 3628, 3629, 7, 18, 2, 2, 3629, 3631, 7, 1037, 2, 2, 3630, 3624, 3, 2, 2, 2, 3630, 3627, 3, 2, 2, 2, 3631, 249, 3, 2, 2, 2, 3632, 3633, 7, 63, 2, 2, 3633, 3636, 5, 214, 108, 2, 3634, 3635, 7, 174, 2, 2, 3635, 3637, 5, 604, 303, 2, 3636, 3634, 3, 2, 2, 2, 3636, 3637, 3, 2, 2, 2, 3637, 3652, 3, 2, 2, 2, 3638, 3639, 7, 68, 2, 2, 3639, 3640, 7, 18, 2, 2, 3640, 3645, 5, 252, 127, 2, 3641, 3642, 7, 1024, 2, 2, 3642, 3644, 5, 252, 127, 2, 3643, 3641, 3, 2, 2, 2, 3644, 3647, 3, 2, 2, 2, 3645, 3643, 3, 2, 2, 2, 3645, 3646, 3, 2, 2, 2, 3646, 3650, 3, 2, 2, 2, 3647, 3645, 3, 2, 2, 2, 3648, 3649, 7, 176, 2, 2, 3649, 3651, 7, 511, 2, 2, 3650, 3648, 3, 2, 2, 2, 3650, 3651, 3, 2, 2, 2, 3651, 3653, 3, 2, 2, 2, 3652, 3638, 3, 2, 2, 2, 3652, 3653, 3, 2, 2, 2, 3653, 3656, 3, 2, 2, 2, 3654, 3655, 7, 69, 2, 2, 3655, 3657, 5, 604, 303, 2, 3656, 3654, 3, 2, 2, 2, 3656, 3657, 3, 2, 2, 2, 3657, 251, 3, 2, 2, 2, 3658, 3660, 5, 604, 303, 2, 3659, 3661, 9, 44, 2, 2, 3660, 3659, 3, 2, 2, 2, 3660, 3661, 3, 2, 2, 2, 3661, 253, 3, 2, 2, 2, 3662, 3673, 7, 91, 2, 2, 3663, 3664, 5, 256, 129, 2, 3664, 3665, 7, 1024, 2, 2, 3665, 3667, 3, 2, 2, 2, 3666, 3663, 3, 2, 2, 2, 3666, 3667, 3, 2, 2, 2, 3667, 3668, 3, 2, 2, 2, 3668, 3674, 5, 256, 129, 2, 3669, 3670, 5, 256, 129, 2, 3670, 3671, 7, 454, 2, 2, 3671, 3672, 5, 256, 129, 2, 3672, 3674, 3, 2, 2, 2, 3673, 3666, 3, 2, 2, 2, 3673, 3669, 3, 2, 2, 2, 3674, 255, 3, 2, 2, 2, 3675, 3678, 5, 532, 267, 2, 3676, 3678, 5, 510, 256, 2, 3677, 3675, 3, 2, 2, 2, 3677, 3676, 3, 2, 2, 2, 3678, 257, 3, 2, 2, 2, 3679, 3680, 7, 540, 2, 2, 3680, 3689, 7, 563, 2, 2, 3681, 3686, 5, 280, 141, 2, 3682, 3683, 7, 1024, 2, 2, 3683, 3685, 5, 280, 141, 2, 3684, 3682, 3, 2, 2, 2, 3685, 3688, 3, 2, 2, 2, 3686, 3684, 3, 2, 2, 2, 3686, 3687, 3, 2, 2, 2, 3687, 3690, 3, 2, 2, 2, 3688, 3686, 3, 2, 2, 2, 3689, 3681, 3, 2, 2, 2, 3689, 3690, 3, 2, 2, 2, 3690, 259, 3, 2, 2, 2, 3691, 3693, 7, 284, 2, 2, 3692, 3694, 7, 586, 2, 2, 3693, 3692, 3, 2, 2, 2, 3693, 3694, 3, 2, 2, 2, 3694, 261, 3, 2, 2, 2, 3695, 3697, 7, 308, 2, 2, 3696, 3698, 7, 586, 2, 2, 3697, 3696, 3, 2, 2, 2, 3697, 3698, 3, 2, 2, 2, 3698, 3704, 3, 2, 2, 2, 3699, 3701, 7, 12, 2, 2, 3700, 3702, 7, 450, 2, 2, 3701, 3700, 3, 2, 2, 2, 3701, 3702, 3, 2, 2, 2, 3702, 3703, 3, 2, 2, 2, 3703, 3705, 7, 293, 2, 2, 3704, 3699, 3, 2, 2, 2, 3704, 3705, 3, 2, 2, 2, 3705, 3710, 3, 2, 2, 2, 3706, 3708, 7, 450, 2, 2, 3707, 3706, 3, 2, 2, 2, 3707, 3708, 3, 2, 2, 2, 3708, 3709, 3, 2, 2, 2, 3709, 3711, 7, 126, 2, 2, 3710, 3707, 3, 2, 2, 2, 3710, 3711, 3, 2, 2, 2, 3711, 263, 3, 2, 2, 2, 3712, 3714, 7, 510, 2, 2, 3713, 3715, 7, 586, 2, 2, 3714, 3713, 3, 2, 2, 2, 3714, 3715, 3, 2, 2, 2, 3715, 3721, 3, 2, 2, 2, 3716, 3718, 7, 12, 2, 2, 3717, 3719, 7, 450, 2, 2, 3718, 3717, 3, 2, 2, 2, 3718, 3719, 3, 2, 2, 2, 3719, 3720, 3, 2, 2, 2, 3720, 3722, 7, 293, 2, 2, 3721, 3716, 3, 2, 2, 2, 3721, 3722, 3, 2, 2, 2, 3722, 3727, 3, 2, 2, 2, 3723, 3725, 7, 450, 2, 2, 3724, 3723, 3, 2, 2, 2, 3724, 3725, 3, 2, 2, 2, 3725, 3726, 3, 2, 2, 2, 3726, 3728, 7, 126, 2, 2, 3727, 3724, 3, 2, 2, 2, 3727, 3728, 3, 2, 2, 2, 3728, 265, 3, 2, 2, 2, 3729, 3730, 7, 516, 2, 2, 3730, 3731, 5, 526, 264, 2, 3731, 267, 3, 2, 2, 2, 3732, 3734, 7, 510, 2, 2, 3733, 3735, 7, 586, 2, 2, 3734, 3733, 3, 2, 2, 2, 3734, 3735, 3, 2, 2, 2, 3735, 3736, 3, 2, 2, 2, 3736, 3738, 7, 159, 2, 2, 3737, 3739, 7, 516, 2, 2, 3738, 3737, 3, 2, 2, 2, 3738, 3739, 3, 2, 2, 2, 3739, 3740, 3, 2, 2, 2, 3740, 3741, 5, 526, 264, 2, 3741, 269, 3, 2, 2, 2, 3742, 3743, 7, 126, 2, 2, 3743, 3744, 7, 516, 2, 2, 3744, 3745, 5, 526, 264, 2, 3745, 271, 3, 2, 2, 2, 3746, 3747, 7, 95, 2, 2, 3747, 3748, 7, 604, 2, 2, 3748, 3753, 5, 282, 142, 2, 3749, 3750, 7, 1024, 2, 2, 3750, 3752, 5, 282, 142, 2, 3751, 3749, 3, 2, 2, 2, 3752, 3755, 3, 2, 2, 2, 3753, 3751, 3, 2, 2, 2, 3753, 3754, 3, 2, 2, 2, 3754, 273, 3, 2, 2, 2, 3755, 3753, 3, 2, 2, 2, 3756, 3757, 7, 166, 2, 2, 3757, 3758, 7, 604, 2, 2, 3758, 275, 3, 2, 2, 2, 3759, 3760, 7, 140, 2, 2, 3760, 3761, 7, 280, 2, 2, 3761, 3762, 7, 1013, 2, 2, 3762, 3763, 9, 24, 2, 2, 3763, 277, 3, 2, 2, 2, 3764, 3766, 7, 140, 2, 2, 3765, 3767, 9, 50, 2, 2, 3766, 3765, 3, 2, 2, 2, 3766, 3767, 3, 2, 2, 2, 3767, 3768, 3, 2, 2, 2, 3768, 3769, 7, 563, 2, 2, 3769, 3774, 5, 286, 144, 2, 3770, 3771, 7, 1024, 2, 2, 3771, 3773, 5, 286, 144, 2, 3772, 3770, 3, 2, 2, 2, 3773, 3776, 3, 2, 2, 2, 3774, 3772, 3, 2, 2, 2, 3774, 3775, 3, 2, 2, 2, 3775, 279, 3, 2, 2, 2, 3776, 3774, 3, 2, 2, 2, 3777, 3778, 7, 176, 2, 2, 3778, 3779, 7, 315, 2, 2, 3779, 3785, 7, 527, 2, 2, 3780, 3781, 7, 122, 2, 2, 3781, 3785, 7, 177, 2, 2, 3782, 3783, 7, 122, 2, 2, 3783, 3785, 7, 459, 2, 2, 3784, 3777, 3, 2, 2, 2, 3784, 3780, 3, 2, 2, 2, 3784, 3782, 3, 2, 2, 2, 3785, 281, 3, 2, 2, 2, 3786, 3791, 5, 502, 252, 2, 3787, 3789, 7, 13, 2, 2, 3788, 3787, 3, 2, 2, 2, 3788, 3789, 3, 2, 2, 2, 3789, 3790, 3, 2, 2, 2, 3790, 3792, 5, 526, 264, 2, 3791, 3788, 3, 2, 2, 2, 3791, 3792, 3, 2, 2, 2, 3792, 3793, 3, 2, 2, 2, 3793, 3794, 5, 284, 143, 2, 3794, 283, 3, 2, 2, 2, 3795, 3797, 7, 122, 2, 2, 3796, 3798, 7, 404, 2, 2, 3797, 3796, 3, 2, 2, 2, 3797, 3798, 3, 2, 2, 2, 3798, 3804, 3, 2, 2, 2, 3799, 3801, 7, 97, 2, 2, 3800, 3799, 3, 2, 2, 2, 3800, 3801, 3, 2, 2, 2, 3801, 3802, 3, 2, 2, 2, 3802, 3804, 7, 177, 2, 2, 3803, 3795, 3, 2, 2, 2, 3803, 3800, 3, 2, 2, 2, 3804, 285, 3, 2, 2, 2, 3805, 3806, 7, 394, 2, 2, 3806, 3807, 7, 402, 2, 2, 3807, 3813, 5, 288, 145, 2, 3808, 3809, 7, 122, 2, 2, 3809, 3813, 7, 177, 2, 2, 3810, 3811, 7, 122, 2, 2, 3811, 3813, 7, 459, 2, 2, 3812, 3805, 3, 2, 2, 2, 3812, 3808, 3, 2, 2, 2, 3812, 3810, 3, 2, 2, 2, 3813, 287, 3, 2, 2, 2, 3814, 3815, 7, 691, 2, 2, 3815, 3822, 7, 122, 2, 2, 3816, 3817, 7, 122, 2, 2, 3817, 3822, 7, 692, 2, 2, 3818, 3819, 7, 122, 2, 2, 3819, 3822, 7, 693, 2, 2, 3820, 3822, 7, 694, 2, 2, 3821, 3814, 3, 2, 2, 2, 3821, 3816, 3, 2, 2, 2, 3821, 3818, 3, 2, 2, 2, 3821, 3820, 3, 2, 2, 2, 3822, 289, 3, 2, 2, 2, 3823, 3824, 7, 23, 2, 2, 3824, 3825, 7, 407, 2, 2, 3825, 3826, 7, 159, 2, 2, 3826, 3831, 5, 308, 155, 2, 3827, 3828, 7, 1024, 2, 2, 3828, 3830, 5, 308, 155, 2, 3829, 3827, 3, 2, 2, 2, 3830, 3833, 3, 2, 2, 2, 3831, 3829, 3, 2, 2, 2, 3831, 3832, 3, 2, 2, 2, 3832, 3835, 3, 2, 2, 2, 3833, 3831, 3, 2, 2, 2, 3834, 3836, 5, 316, 159, 2, 3835, 3834, 3, 2, 2, 2, 3835, 3836, 3, 2, 2, 2, 3836, 291, 3, 2, 2, 2, 3837, 3838, 7, 23, 2, 2, 3838, 3839, 7, 504, 2, 2, 3839, 3840, 7, 363, 2, 2, 3840, 3845, 5, 318, 160, 2, 3841, 3842, 7, 1024, 2, 2, 3842, 3844, 5, 318, 160, 2, 3843, 3841, 3, 2, 2, 2, 3844, 3847, 3, 2, 2, 2, 3845, 3843, 3, 2, 2, 2, 3845, 3846, 3, 2, 2, 2, 3846, 293, 3, 2, 2, 2, 3847, 3845, 3, 2, 2, 2, 3848, 3849, 7, 120, 2, 2, 3849, 3850, 9, 51, 2, 2, 3850, 3855, 7, 406, 2, 2, 3851, 3852, 7, 159, 2, 2, 3852, 3856, 7, 1037, 2, 2, 3853, 3854, 7, 15, 2, 2, 3854, 3856, 7, 1037, 2, 2, 3855, 3851, 3, 2, 2, 2, 3855, 3853, 3, 2, 2, 2, 3856, 295, 3, 2, 2, 2, 3857, 3858, 7, 505, 2, 2, 3858, 3859, 7, 407, 2, 2, 3859, 297, 3, 2, 2, 2, 3860, 3861, 7, 505, 2, 2, 3861, 3863, 7, 525, 2, 2, 3862, 3864, 7, 8, 2, 2, 3863, 3862, 3, 2, 2, 2, 3863, 3864, 3, 2, 2, 2, 3864, 3866, 3, 2, 2, 2, 3865, 3867, 5, 316, 159, 2, 3866, 3865, 3, 2, 2, 2, 3866, 3867, 3, 2, 2, 2, 3867, 299, 3, 2, 2, 2, 3868, 3869, 7, 540, 2, 2, 3869, 3878, 7, 525, 2, 2, 3870, 3875, 5, 322, 162, 2, 3871, 3872, 7, 1024, 2, 2, 3872, 3874, 5, 322, 162, 2, 3873, 3871, 3, 2, 2, 2, 3874, 3877, 3, 2, 2, 2, 3875, 3873, 3, 2, 2, 2, 3875, 3876, 3, 2, 2, 2, 3876, 3879, 3, 2, 2, 2, 3877, 3875, 3, 2, 2, 2, 3878, 3870, 3, 2, 2, 2, 3878, 3879, 3, 2, 2, 2, 3879, 3882, 3, 2, 2, 2, 3880, 3881, 7, 572, 2, 2, 3881, 3883, 5, 324, 163, 2, 3882, 3880, 3, 2, 2, 2, 3882, 3883, 3, 2, 2, 2, 3883, 3887, 3, 2, 2, 2, 3884, 3886, 5, 326, 164, 2, 3885, 3884, 3, 2, 2, 2, 3886, 3889, 3, 2, 2, 2, 3887, 3885, 3, 2, 2, 2, 3887, 3888, 3, 2, 2, 2, 3888, 3891, 3, 2, 2, 2, 3889, 3887, 3, 2, 2, 2, 3890, 3892, 5, 316, 159, 2, 3891, 3890, 3, 2, 2, 2, 3891, 3892, 3, 2, 2, 2, 3892, 301, 3, 2, 2, 2, 3893, 3894, 7, 546, 2, 2, 3894, 3903, 7, 525, 2, 2, 3895, 3900, 5, 322, 162, 2, 3896, 3897, 7, 1024, 2, 2, 3897, 3899, 5, 322, 162, 2, 3898, 3896, 3, 2, 2, 2, 3899, 3902, 3, 2, 2, 2, 3900, 3898, 3, 2, 2, 2, 3900, 3901, 3, 2, 2, 2, 3901, 3904, 3, 2, 2, 2, 3902, 3900, 3, 2, 2, 2, 3903, 3895, 3, 2, 2, 2, 3903, 3904, 3, 2, 2, 2, 3904, 303, 3, 2, 2, 2, 3905, 3906, 7, 540, 2, 2, 3906, 3907, 7, 374, 2, 2, 3907, 305, 3, 2, 2, 2, 3908, 3909, 7, 546, 2, 2, 3909, 3910, 7, 374, 2, 2, 3910, 307, 3, 2, 2, 2, 3911, 3912, 5, 310, 156, 2, 3912, 3913, 7, 1013, 2, 2, 3913, 3914, 7, 1037, 2, 2, 3914, 3941, 3, 2, 2, 2, 3915, 3916, 5, 312, 157, 2, 3916, 3917, 7, 1013, 2, 2, 3917, 3918, 5, 532, 267, 2, 3918, 3941, 3, 2, 2, 2, 3919, 3920, 5, 314, 158, 2, 3920, 3921, 7, 1013, 2, 2, 3921, 3922, 9, 24, 2, 2, 3922, 3941, 3, 2, 2, 2, 3923, 3924, 7, 411, 2, 2, 3924, 3925, 7, 1013, 2, 2, 3925, 3941, 7, 1040, 2, 2, 3926, 3927, 7, 381, 2, 2, 3927, 3928, 7, 1013, 2, 2, 3928, 3937, 7, 1022, 2, 2, 3929, 3934, 5, 526, 264, 2, 3930, 3931, 7, 1024, 2, 2, 3931, 3933, 5, 526, 264, 2, 3932, 3930, 3, 2, 2, 2, 3933, 3936, 3, 2, 2, 2, 3934, 3932, 3, 2, 2, 2, 3934, 3935, 3, 2, 2, 2, 3935, 3938, 3, 2, 2, 2, 3936, 3934, 3, 2, 2, 2, 3937, 3929, 3, 2, 2, 2, 3937, 3938, 3, 2, 2, 2, 3938, 3939, 3, 2, 2, 2, 3939, 3941, 7, 1023, 2, 2, 3940, 3911, 3, 2, 2, 2, 3940, 3915, 3, 2, 2, 2, 3940, 3919, 3, 2, 2, 2, 3940, 3923, 3, 2, 2, 2, 3940, 3926, 3, 2, 2, 2, 3941, 309, 3, 2, 2, 2, 3942, 3943, 9, 52, 2, 2, 3943, 311, 3, 2, 2, 2, 3944, 3945, 9, 53, 2, 2, 3945, 313, 3, 2, 2, 2, 3946, 3947, 9, 54, 2, 2, 3947, 315, 3, 2, 2, 2, 3948, 3949, 7, 60, 2, 2, 3949, 3950, 7, 295, 2, 2, 3950, 3951, 7, 1037, 2, 2, 3951, 317, 3, 2, 2, 2, 3952, 3953, 7, 497, 2, 2, 3953, 3954, 7, 1013, 2, 2, 3954, 3955, 7, 1022, 2, 2, 3955, 3956, 5, 558, 280, 2, 3956, 3957, 7, 1023, 2, 2, 3957, 4002, 3, 2, 2, 2, 3958, 3959, 7, 499, 2, 2, 3959, 3960, 7, 1013, 2, 2, 3960, 3961, 7, 1022, 2, 2, 3961, 3962, 5, 558, 280, 2, 3962, 3963, 7, 1023, 2, 2, 3963, 4002, 3, 2, 2, 2, 3964, 3965, 7, 498, 2, 2, 3965, 3966, 7, 1013, 2, 2, 3966, 3967, 7, 1022, 2, 2, 3967, 3968, 5, 560, 281, 2, 3968, 3969, 7, 1023, 2, 2, 3969, 4002, 3, 2, 2, 2, 3970, 3971, 7, 500, 2, 2, 3971, 3972, 7, 1013, 2, 2, 3972, 3973, 7, 1022, 2, 2, 3973, 3974, 5, 560, 281, 2, 3974, 3975, 7, 1023, 2, 2, 3975, 4002, 3, 2, 2, 2, 3976, 3977, 7, 502, 2, 2, 3977, 3978, 7, 1013, 2, 2, 3978, 3979, 7, 1022, 2, 2, 3979, 3980, 5, 570, 286, 2, 3980, 3981, 7, 1023, 2, 2, 3981, 4002, 3, 2, 2, 2, 3982, 3983, 7, 503, 2, 2, 3983, 3984, 7, 1013, 2, 2, 3984, 3985, 7, 1022, 2, 2, 3985, 3986, 5, 570, 286, 2, 3986, 3987, 7, 1023, 2, 2, 3987, 4002, 3, 2, 2, 2, 3988, 3989, 7, 501, 2, 2, 3989, 3990, 7, 1013, 2, 2, 3990, 3991, 7, 1022, 2, 2, 3991, 3996, 5, 320, 161, 2, 3992, 3993, 7, 1024, 2, 2, 3993, 3995, 5, 320, 161, 2, 3994, 3992, 3, 2, 2, 2, 3995, 3998, 3, 2, 2, 2, 3996, 3994, 3, 2, 2, 2, 3996, 3997, 3, 2, 2, 2, 3997, 3999, 3, 2, 2, 2, 3998, 3996, 3, 2, 2, 2, 3999, 4000, 7, 1023, 2, 2, 4000, 4002, 3, 2, 2, 2, 4001, 3952, 3, 2, 2, 2, 4001, 3958, 3, 2, 2, 2, 4001, 3964, 3, 2, 2, 2, 4001, 3970, 3, 2, 2, 2, 4001, 3976, 3, 2, 2, 2, 4001, 3982, 3, 2, 2, 2, 4001, 3988, 3, 2, 2, 2, 4002, 319, 3, 2, 2, 2, 4003, 4004, 7, 1022, 2, 2, 4004, 4005, 5, 502, 252, 2, 4005, 4006, 7, 1024, 2, 2, 4006, 4007, 5, 502, 252, 2, 4007, 4008, 7, 1023, 2, 2, 4008, 321, 3, 2, 2, 2, 4009, 4010, 9, 55, 2, 2, 4010, 323, 3, 2, 2, 2, 4011, 4012, 9, 56, 2, 2, 4012, 4013, 7, 1013, 2, 2, 4013, 4030, 5, 328, 165, 2, 4014, 4015, 7, 413, 2, 2, 4015, 4016, 7, 1013, 2, 2, 4016, 4017, 7, 1037, 2, 2, 4017, 4018, 7, 1024, 2, 2, 4018, 4019, 7, 414, 2, 2, 4019, 4020, 7, 1013, 2, 2, 4020, 4030, 5, 532, 267, 2, 4021, 4022, 7, 491, 2, 2, 4022, 4023, 7, 1013, 2, 2, 4023, 4024, 7, 1037, 2, 2, 4024, 4025, 7, 1024, 2, 2, 4025, 4026, 7, 492, 2, 2, 4026, 4027, 7, 1013, 2, 2, 4027, 4030, 5, 532, 267, 2, 4028, 4030, 7, 534, 2, 2, 4029, 4011, 3, 2, 2, 2, 4029, 4014, 3, 2, 2, 2, 4029, 4021, 3, 2, 2, 2, 4029, 4028, 3, 2, 2, 2, 4030, 325, 3, 2, 2, 2, 4031, 4032, 7, 574, 2, 2, 4032, 4033, 7, 1013, 2, 2, 4033, 4044, 7, 1037, 2, 2, 4034, 4035, 7, 470, 2, 2, 4035, 4036, 7, 1013, 2, 2, 4036, 4044, 7, 1037, 2, 2, 4037, 4038, 7, 328, 2, 2, 4038, 4039, 7, 1013, 2, 2, 4039, 4044, 7, 1037, 2, 2, 4040, 4041, 7, 473, 2, 2, 4041, 4042, 7, 1013, 2, 2, 4042, 4044, 7, 1037, 2, 2, 4043, 4031, 3, 2, 2, 2, 4043, 4034, 3, 2, 2, 2, 4043, 4037, 3, 2, 2, 2, 4043, 4040, 3, 2, 2, 2, 4044, 327, 3, 2, 2, 2, 4045, 4050, 5, 518, 260, 2, 4046, 4047, 7, 1024, 2, 2, 4047, 4049, 5, 518, 260, 2, 4048, 4046, 3, 2, 2, 2, 4049, 4052, 3, 2, 2, 2, 4050, 4048, 3, 2, 2, 2, 4050, 4051, 3, 2, 2, 2, 4051, 4055, 3, 2, 2, 2, 4052, 4050, 3, 2, 2, 2, 4053, 4055, 7, 1037, 2, 2, 4054, 4045, 3, 2, 2, 2, 4054, 4053, 3, 2, 2, 2, 4055, 329, 3, 2, 2, 2, 4056, 4057, 7, 589, 2, 2, 4057, 4058, 9, 57, 2, 2, 4058, 4060, 5, 520, 261, 2, 4059, 4061, 9, 58, 2, 2, 4060, 4059, 3, 2, 2, 2, 4060, 4061, 3, 2, 2, 2, 4061, 331, 3, 2, 2, 2, 4062, 4063, 7, 589, 2, 2, 4063, 4064, 7, 342, 2, 2, 4064, 4070, 5, 520, 261, 2, 4065, 4068, 7, 554, 2, 2, 4066, 4067, 7, 60, 2, 2, 4067, 4069, 7, 438, 2, 2, 4068, 4066, 3, 2, 2, 2, 4068, 4069, 3, 2, 2, 2, 4069, 4071, 3, 2, 2, 2, 4070, 4065, 3, 2, 2, 2, 4070, 4071, 3, 2, 2, 2, 4071, 333, 3, 2, 2, 2, 4072, 4073, 7, 589, 2, 2, 4073, 4074, 7, 477, 2, 2, 4074, 4075, 5, 520, 261, 2, 4075, 335, 3, 2, 2, 2, 4076, 4077, 7, 589, 2, 2, 4077, 4078, 7, 308, 2, 2, 4078, 4081, 5, 520, 261, 2, 4079, 4080, 7, 457, 2, 2, 4080, 4082, 7, 471, 2, 2, 4081, 4079, 3, 2, 2, 2, 4081, 4082, 3, 2, 2, 2, 4082, 337, 3, 2, 2, 2, 4083, 4084, 7, 589, 2, 2, 4084, 4085, 7, 510, 2, 2, 4085, 4086, 5, 520, 261, 2, 4086, 339, 3, 2, 2, 2, 4087, 4088, 7, 589, 2, 2, 4088, 4091, 7, 487, 2, 2, 4089, 4090, 7, 31, 2, 2, 4090, 4092, 5, 520, 261, 2, 4091, 4089, 3, 2, 2, 2, 4091, 4092, 3, 2, 2, 2, 4092, 341, 3, 2, 2, 2, 4093, 4094, 7, 477, 2, 2, 4094, 4095, 5, 526, 264, 2, 4095, 4098, 7, 63, 2, 2, 4096, 4099, 7, 1037, 2, 2, 4097, 4099, 7, 1048, 2, 2, 4098, 4096, 3, 2, 2, 2, 4098, 4097, 3, 2, 2, 2, 4099, 343, 3, 2, 2, 2, 4100, 4101, 7, 606, 2, 2, 4101, 4104, 5, 526, 264, 2, 4102, 4103, 7, 171, 2, 2, 4103, 4105, 5, 572, 287, 2, 4104, 4102, 3, 2, 2, 2, 4104, 4105, 3, 2, 2, 2, 4105, 345, 3, 2, 2, 2, 4106, 4107, 9, 59, 2, 2, 4107, 4108, 7, 477, 2, 2, 4108, 4109, 5, 526, 264, 2, 4109, 347, 3, 2, 2, 2, 4110, 4113, 5, 350, 176, 2, 4111, 4113, 5, 8, 5, 2, 4112, 4110, 3, 2, 2, 2, 4112, 4111, 3, 2, 2, 2, 4113, 349, 3, 2, 2, 2, 4114, 4115, 5, 526, 264, 2, 4115, 4116, 7, 1033, 2, 2, 4116, 4118, 3, 2, 2, 2, 4117, 4114, 3, 2, 2, 2, 4117, 4118, 3, 2, 2, 2, 4118, 4119, 3, 2, 2, 2, 4119, 4158, 7, 284, 2, 2, 4120, 4121, 5, 370, 186, 2, 4121, 4122, 7, 1025, 2, 2, 4122, 4124, 3, 2, 2, 2, 4123, 4120, 3, 2, 2, 2, 4124, 4127, 3, 2, 2, 2, 4125, 4123, 3, 2, 2, 2, 4125, 4126, 3, 2, 2, 2, 4126, 4133, 3, 2, 2, 2, 4127, 4125, 3, 2, 2, 2, 4128, 4129, 5, 372, 187, 2, 4129, 4130, 7, 1025, 2, 2, 4130, 4132, 3, 2, 2, 2, 4131, 4128, 3, 2, 2, 2, 4132, 4135, 3, 2, 2, 2, 4133, 4131, 3, 2, 2, 2, 4133, 4134, 3, 2, 2, 2, 4134, 4141, 3, 2, 2, 2, 4135, 4133, 3, 2, 2, 2, 4136, 4137, 5, 374, 188, 2, 4137, 4138, 7, 1025, 2, 2, 4138, 4140, 3, 2, 2, 2, 4139, 4136, 3, 2, 2, 2, 4140, 4143, 3, 2, 2, 2, 4141, 4139, 3, 2, 2, 2, 4141, 4142, 3, 2, 2, 2, 4142, 4149, 3, 2, 2, 2, 4143, 4141, 3, 2, 2, 2, 4144, 4145, 5, 376, 189, 2, 4145, 4146, 7, 1025, 2, 2, 4146, 4148, 3, 2, 2, 2, 4147, 4144, 3, 2, 2, 2, 4148, 4151, 3, 2, 2, 2, 4149, 4147, 3, 2, 2, 2, 4149, 4150, 3, 2, 2, 2, 4150, 4155, 3, 2, 2, 2, 4151, 4149, 3, 2, 2, 2, 4152, 4154, 5, 380, 191, 2, 4153, 4152, 3, 2, 2, 2, 4154, 4157, 3, 2, 2, 2, 4155, 4153, 3, 2, 2, 2, 4155, 4156, 3, 2, 2, 2, 4156, 4159, 3, 2, 2, 2, 4157, 4155, 3, 2, 2, 2, 4158, 4125, 3, 2, 2, 2, 4158, 4159, 3, 2, 2, 2, 4159, 4160, 3, 2, 2, 2, 4160, 4162, 7, 342, 2, 2, 4161, 4163, 5, 526, 264, 2, 4162, 4161, 3, 2, 2, 2, 4162, 4163, 3, 2, 2, 2, 4163, 351, 3, 2, 2, 2, 4164, 4167, 7, 21, 2, 2, 4165, 4168, 5, 526, 264, 2, 4166, 4168, 5, 604, 303, 2, 4167, 4165, 3, 2, 2, 2, 4167, 4166, 3, 2, 2, 2, 4167, 4168, 3, 2, 2, 2, 4168, 4170, 3, 2, 2, 2, 4169, 4171, 5, 382, 192, 2, 4170, 4169, 3, 2, 2, 2, 4171, 4172, 3, 2, 2, 2, 4172, 4170, 3, 2, 2, 2, 4172, 4173, 3, 2, 2, 2, 4173, 4180, 3, 2, 2, 2, 4174, 4176, 7, 51, 2, 2, 4175, 4177, 5, 380, 191, 2, 4176, 4175, 3, 2, 2, 2, 4177, 4178, 3, 2, 2, 2, 4178, 4176, 3, 2, 2, 2, 4178, 4179, 3, 2, 2, 2, 4179, 4181, 3, 2, 2, 2, 4180, 4174, 3, 2, 2, 2, 4180, 4181, 3, 2, 2, 2, 4181, 4182, 3, 2, 2, 2, 4182, 4183, 7, 342, 2, 2, 4183, 4184, 7, 21, 2, 2, 4184, 353, 3, 2, 2, 2, 4185, 4186, 7, 71, 2, 2, 4186, 4187, 5, 604, 303, 2, 4187, 4189, 7, 158, 2, 2, 4188, 4190, 5, 380, 191, 2, 4189, 4188, 3, 2, 2, 2, 4190, 4191, 3, 2, 2, 2, 4191, 4189, 3, 2, 2, 2, 4191, 4192, 3, 2, 2, 2, 4192, 4196, 3, 2, 2, 2, 4193, 4195, 5, 384, 193, 2, 4194, 4193, 3, 2, 2, 2, 4195, 4198, 3, 2, 2, 2, 4196, 4194, 3, 2, 2, 2, 4196, 4197, 3, 2, 2, 2, 4197, 4205, 3, 2, 2, 2, 4198, 4196, 3, 2, 2, 2, 4199, 4201, 7, 51, 2, 2, 4200, 4202, 5, 380, 191, 2, 4201, 4200, 3, 2, 2, 2, 4202, 4203, 3, 2, 2, 2, 4203, 4201, 3, 2, 2, 2, 4203, 4204, 3, 2, 2, 2, 4204, 4206, 3, 2, 2, 2, 4205, 4199, 3, 2, 2, 2, 4205, 4206, 3, 2, 2, 2, 4206, 4207, 3, 2, 2, 2, 4207, 4208, 7, 342, 2, 2, 4208, 4209, 7, 71, 2, 2, 4209, 355, 3, 2, 2, 2, 4210, 4211, 7, 82, 2, 2, 4211, 4212, 5, 526, 264, 2, 4212, 357, 3, 2, 2, 2, 4213, 4214, 7, 88, 2, 2, 4214, 4215, 5, 526, 264, 2, 4215, 359, 3, 2, 2, 2, 4216, 4217, 5, 526, 264, 2, 4217, 4218, 7, 1033, 2, 2, 4218, 4220, 3, 2, 2, 2, 4219, 4216, 3, 2, 2, 2, 4219, 4220, 3, 2, 2, 2, 4220, 4221, 3, 2, 2, 2, 4221, 4223, 7, 96, 2, 2, 4222, 4224, 5, 380, 191, 2, 4223, 4222, 3, 2, 2, 2, 4224, 4225, 3, 2, 2, 2, 4225, 4223, 3, 2, 2, 2, 4225, 4226, 3, 2, 2, 2, 4226, 4227, 3, 2, 2, 2, 4227, 4228, 7, 342, 2, 2, 4228, 4230, 7, 96, 2, 2, 4229, 4231, 5, 526, 264, 2, 4230, 4229, 3, 2, 2, 2, 4230, 4231, 3, 2, 2, 2, 4231, 361, 3, 2, 2, 2, 4232, 4233, 5, 526, 264, 2, 4233, 4234, 7, 1033, 2, 2, 4234, 4236, 3, 2, 2, 2, 4235, 4232, 3, 2, 2, 2, 4235, 4236, 3, 2, 2, 2, 4236, 4237, 3, 2, 2, 2, 4237, 4239, 7, 128, 2, 2, 4238, 4240, 5, 380, 191, 2, 4239, 4238, 3, 2, 2, 2, 4240, 4241, 3, 2, 2, 2, 4241, 4239, 3, 2, 2, 2, 4241, 4242, 3, 2, 2, 2, 4242, 4243, 3, 2, 2, 2, 4243, 4244, 7, 572, 2, 2, 4244, 4245, 5, 604, 303, 2, 4245, 4246, 7, 342, 2, 2, 4246, 4248, 7, 128, 2, 2, 4247, 4249, 5, 526, 264, 2, 4248, 4247, 3, 2, 2, 2, 4248, 4249, 3, 2, 2, 2, 4249, 363, 3, 2, 2, 2, 4250, 4251, 7, 133, 2, 2, 4251, 4252, 5, 604, 303, 2, 4252, 365, 3, 2, 2, 2, 4253, 4254, 5, 526, 264, 2, 4254, 4255, 7, 1033, 2, 2, 4255, 4257, 3, 2, 2, 2, 4256, 4253, 3, 2, 2, 2, 4256, 4257, 3, 2, 2, 2, 4257, 4258, 3, 2, 2, 2, 4258, 4259, 7, 175, 2, 2, 4259, 4260, 5, 604, 303, 2, 4260, 4262, 7, 336, 2, 2, 4261, 4263, 5, 380, 191, 2, 4262, 4261, 3, 2, 2, 2, 4263, 4264, 3, 2, 2, 2, 4264, 4262, 3, 2, 2, 2, 4264, 4265, 3, 2, 2, 2, 4265, 4266, 3, 2, 2, 2, 4266, 4267, 7, 342, 2, 2, 4267, 4269, 7, 175, 2, 2, 4268, 4270, 5, 526, 264, 2, 4269, 4268, 3, 2, 2, 2, 4269, 4270, 3, 2, 2, 2, 4270, 367, 3, 2, 2, 2, 4271, 4272, 7, 301, 2, 2, 4272, 4287, 5, 526, 264, 2, 4273, 4278, 7, 59, 2, 2, 4274, 4276, 7, 449, 2, 2, 4275, 4274, 3, 2, 2, 2, 4275, 4276, 3, 2, 2, 2, 4276, 4277, 3, 2, 2, 2, 4277, 4279, 7, 63, 2, 2, 4278, 4275, 3, 2, 2, 2, 4278, 4279, 3, 2, 2, 2, 4279, 4280, 3, 2, 2, 2, 4280, 4281, 5, 526, 264, 2, 4281, 4282, 7, 80, 2, 2, 4282, 4283, 5, 558, 280, 2, 4283, 4287, 3, 2, 2, 2, 4284, 4285, 7, 460, 2, 2, 4285, 4287, 5, 526, 264, 2, 4286, 4271, 3, 2, 2, 2, 4286, 4273, 3, 2, 2, 2, 4286, 4284, 3, 2, 2, 2, 4287, 369, 3, 2, 2, 2, 4288, 4289, 7, 39, 2, 2, 4289, 4290, 5, 558, 280, 2, 4290, 4293, 5, 546, 274, 2, 4291, 4292, 7, 40, 2, 2, 4292, 4294, 5, 574, 288, 2, 4293, 4291, 3, 2, 2, 2, 4293, 4294, 3, 2, 2, 2, 4294, 371, 3, 2, 2, 2, 4295, 4296, 7, 39, 2, 2, 4296, 4297, 5, 526, 264, 2, 4297, 4298, 7, 28, 2, 2, 4298, 4305, 7, 60, 2, 2, 4299, 4306, 5, 532, 267, 2, 4300, 4302, 7, 147, 2, 2, 4301, 4303, 7, 578, 2, 2, 4302, 4301, 3, 2, 2, 2, 4302, 4303, 3, 2, 2, 2, 4303, 4304, 3, 2, 2, 2, 4304, 4306, 7, 1037, 2, 2, 4305, 4299, 3, 2, 2, 2, 4305, 4300, 3, 2, 2, 2, 4306, 373, 3, 2, 2, 2, 4307, 4308, 7, 39, 2, 2, 4308, 4309, 5, 526, 264, 2, 4309, 4310, 7, 36, 2, 2, 4310, 4311, 7, 60, 2, 2, 4311, 4312, 5, 182, 92, 2, 4312, 375, 3, 2, 2, 2, 4313, 4314, 7, 39, 2, 2, 4314, 4315, 9, 60, 2, 2, 4315, 4316, 7, 375, 2, 2, 4316, 4317, 7, 60, 2, 2, 4317, 4322, 5, 378, 190, 2, 4318, 4319, 7, 1024, 2, 2, 4319, 4321, 5, 378, 190, 2, 4320, 4318, 3, 2, 2, 2, 4321, 4324, 3, 2, 2, 2, 4322, 4320, 3, 2, 2, 2, 4322, 4323, 3, 2, 2, 2, 4323, 4325, 3, 2, 2, 2, 4324, 4322, 3, 2, 2, 2, 4325, 4326, 5, 348, 175, 2, 4326, 377, 3, 2, 2, 2, 4327, 4339, 5, 532, 267, 2, 4328, 4330, 7, 147, 2, 2, 4329, 4331, 7, 578, 2, 2, 4330, 4329, 3, 2, 2, 2, 4330, 4331, 3, 2, 2, 2, 4331, 4332, 3, 2, 2, 2, 4332, 4339, 7, 1037, 2, 2, 4333, 4339, 5, 526, 264, 2, 4334, 4339, 7, 148, 2, 2, 4335, 4336, 7, 104, 2, 2, 4336, 4339, 7, 368, 2, 2, 4337, 4339, 7, 146, 2, 2, 4338, 4327, 3, 2, 2, 2, 4338, 4328, 3, 2, 2, 2, 4338, 4333, 3, 2, 2, 2, 4338, 4334, 3, 2, 2, 2, 4338, 4335, 3, 2, 2, 2, 4338, 4337, 3, 2, 2, 2, 4339, 379, 3, 2, 2, 2, 4340, 4343, 5, 22, 12, 2, 4341, 4343, 5, 8, 5, 2, 4342, 4340, 3, 2, 2, 2, 4342, 4341, 3, 2, 2, 2, 4343, 4344, 3, 2, 2, 2, 4344, 4345, 7, 1025, 2, 2, 4345, 381, 3, 2, 2, 2, 4346, 4349, 7, 173, 2, 2, 4347, 4350, 5, 544, 273, 2, 4348, 4350, 5, 604, 303, 2, 4349, 4347, 3, 2, 2, 2, 4349, 4348, 3, 2, 2, 2, 4350, 4351, 3, 2, 2, 2, 4351, 4353, 7, 158, 2, 2, 4352, 4354, 5, 380, 191, 2, 4353, 4352, 3, 2, 2, 2, 4354, 4355, 3, 2, 2, 2, 4355, 4353, 3, 2, 2, 2, 4355, 4356, 3, 2, 2, 2, 4356, 383, 3, 2, 2, 2, 4357, 4358, 7, 52, 2, 2, 4358, 4359, 5, 604, 303, 2, 4359, 4361, 7, 158, 2, 2, 4360, 4362, 5, 380, 191, 2, 4361, 4360, 3, 2, 2, 2, 4362, 4363, 3, 2, 2, 2, 4363, 4361, 3, 2, 2, 2, 4363, 4364, 3, 2, 2, 2, 4364, 385, 3, 2, 2, 2, 4365, 4366, 7, 9, 2, 2, 4366, 4367, 7, 574, 2, 2, 4367, 4372, 5, 404, 203, 2, 4368, 4369, 7, 1024, 2, 2, 4369, 4371, 5, 404, 203, 2, 4370, 4368, 3, 2, 2, 2, 4371, 4374, 3, 2, 2, 2, 4372, 4370, 3, 2, 2, 2, 4372, 4373, 3, 2, 2, 2, 4373, 4420, 3, 2, 2, 2, 4374, 4372, 3, 2, 2, 2, 4375, 4376, 7, 9, 2, 2, 4376, 4378, 7, 574, 2, 2, 4377, 4379, 5, 580, 291, 2, 4378, 4377, 3, 2, 2, 2, 4378, 4379, 3, 2, 2, 2, 4379, 4380, 3, 2, 2, 2, 4380, 4385, 5, 406, 204, 2, 4381, 4382, 7, 1024, 2, 2, 4382, 4384, 5, 406, 204, 2, 4383, 4381, 3, 2, 2, 2, 4384, 4387, 3, 2, 2, 2, 4385, 4383, 3, 2, 2, 2, 4385, 4386, 3, 2, 2, 2, 4386, 4402, 3, 2, 2, 2, 4387, 4385, 3, 2, 2, 2, 4388, 4400, 7, 130, 2, 2, 4389, 4401, 7, 452, 2, 2, 4390, 4397, 5, 408, 205, 2, 4391, 4393, 7, 12, 2, 2, 4392, 4391, 3, 2, 2, 2, 4392, 4393, 3, 2, 2, 2, 4393, 4394, 3, 2, 2, 2, 4394, 4396, 5, 408, 205, 2, 4395, 4392, 3, 2, 2, 2, 4396, 4399, 3, 2, 2, 2, 4397, 4395, 3, 2, 2, 2, 4397, 4398, 3, 2, 2, 2, 4398, 4401, 3, 2, 2, 2, 4399, 4397, 3, 2, 2, 2, 4400, 4389, 3, 2, 2, 2, 4400, 4390, 3, 2, 2, 2, 4401, 4403, 3, 2, 2, 2, 4402, 4388, 3, 2, 2, 2, 4402, 4403, 3, 2, 2, 2, 4403, 4410, 3, 2, 2, 2, 4404, 4406, 7, 176, 2, 2, 4405, 4407, 5, 410, 206, 2, 4406, 4405, 3, 2, 2, 2, 4407, 4408, 3, 2, 2, 2, 4408, 4406, 3, 2, 2, 2, 4408, 4409, 3, 2, 2, 2, 4409, 4411, 3, 2, 2, 2, 4410, 4404, 3, 2, 2, 2, 4410, 4411, 3, 2, 2, 2, 4411, 4416, 3, 2, 2, 2, 4412, 4415, 5, 412, 207, 2, 4413, 4415, 5, 414, 208, 2, 4414, 4412, 3, 2, 2, 2, 4414, 4413, 3, 2, 2, 2, 4415, 4418, 3, 2, 2, 2, 4416, 4414, 3, 2, 2, 2, 4416, 4417, 3, 2, 2, 2, 4417, 4420, 3, 2, 2, 2, 4418, 4416, 3, 2, 2, 2, 4419, 4365, 3, 2, 2, 2, 4419, 4375, 3, 2, 2, 2, 4420, 387, 3, 2, 2, 2, 4421, 4422, 7, 32, 2, 2, 4422, 4423, 7, 574, 2, 2, 4423, 4428, 5, 406, 204, 2, 4424, 4425, 7, 1024, 2, 2, 4425, 4427, 5, 406, 204, 2, 4426, 4424, 3, 2, 2, 2, 4427, 4430, 3, 2, 2, 2, 4428, 4426, 3, 2, 2, 2, 4428, 4429, 3, 2, 2, 2, 4429, 4476, 3, 2, 2, 2, 4430, 4428, 3, 2, 2, 2, 4431, 4432, 7, 32, 2, 2, 4432, 4434, 7, 574, 2, 2, 4433, 4435, 5, 582, 292, 2, 4434, 4433, 3, 2, 2, 2, 4434, 4435, 3, 2, 2, 2, 4435, 4436, 3, 2, 2, 2, 4436, 4441, 5, 406, 204, 2, 4437, 4438, 7, 1024, 2, 2, 4438, 4440, 5, 406, 204, 2, 4439, 4437, 3, 2, 2, 2, 4440, 4443, 3, 2, 2, 2, 4441, 4439, 3, 2, 2, 2, 4441, 4442, 3, 2, 2, 2, 4442, 4458, 3, 2, 2, 2, 4443, 4441, 3, 2, 2, 2, 4444, 4456, 7, 130, 2, 2, 4445, 4457, 7, 452, 2, 2, 4446, 4453, 5, 408, 205, 2, 4447, 4449, 7, 12, 2, 2, 4448, 4447, 3, 2, 2, 2, 4448, 4449, 3, 2, 2, 2, 4449, 4450, 3, 2, 2, 2, 4450, 4452, 5, 408, 205, 2, 4451, 4448, 3, 2, 2, 2, 4452, 4455, 3, 2, 2, 2, 4453, 4451, 3, 2, 2, 2, 4453, 4454, 3, 2, 2, 2, 4454, 4457, 3, 2, 2, 2, 4455, 4453, 3, 2, 2, 2, 4456, 4445, 3, 2, 2, 2, 4456, 4446, 3, 2, 2, 2, 4457, 4459, 3, 2, 2, 2, 4458, 4444, 3, 2, 2, 2, 4458, 4459, 3, 2, 2, 2, 4459, 4466, 3, 2, 2, 2, 4460, 4462, 7, 176, 2, 2, 4461, 4463, 5, 410, 206, 2, 4462, 4461, 3, 2, 2, 2, 4463, 4464, 3, 2, 2, 2, 4464, 4462, 3, 2, 2, 2, 4464, 4465, 3, 2, 2, 2, 4465, 4467, 3, 2, 2, 2, 4466, 4460, 3, 2, 2, 2, 4466, 4467, 3, 2, 2, 2, 4467, 4472, 3, 2, 2, 2, 4468, 4471, 5, 412, 207, 2, 4469, 4471, 5, 414, 208, 2, 4470, 4468, 3, 2, 2, 2, 4470, 4469, 3, 2, 2, 2, 4471, 4474, 3, 2, 2, 2, 4472, 4470, 3, 2, 2, 2, 4472, 4473, 3, 2, 2, 2, 4473, 4476, 3, 2, 2, 2, 4474, 4472, 3, 2, 2, 2, 4475, 4421, 3, 2, 2, 2, 4475, 4431, 3, 2, 2, 2, 4476, 389, 3, 2, 2, 2, 4477, 4478, 7, 49, 2, 2, 4478, 4480, 7, 574, 2, 2, 4479, 4481, 5, 580, 291, 2, 4480, 4479, 3, 2, 2, 2, 4480, 4481, 3, 2, 2, 2, 4481, 4482, 3, 2, 2, 2, 4482, 4487, 5, 508, 255, 2, 4483, 4484, 7, 1024, 2, 2, 4484, 4486, 5, 508, 255, 2, 4485, 4483, 3, 2, 2, 2, 4486, 4489, 3, 2, 2, 2, 4487, 4485, 3, 2, 2, 2, 4487, 4488, 3, 2, 2, 2, 4488, 391, 3, 2, 2, 2, 4489, 4487, 3, 2, 2, 2, 4490, 4491, 7, 67, 2, 2, 4491, 4496, 5, 416, 209, 2, 4492, 4493, 7, 1024, 2, 2, 4493, 4495, 5, 416, 209, 2, 4494, 4492, 3, 2, 2, 2, 4495, 4498, 3, 2, 2, 2, 4496, 4494, 3, 2, 2, 2, 4496, 4497, 3, 2, 2, 2, 4497, 4499, 3, 2, 2, 2, 4498, 4496, 3, 2, 2, 2, 4499, 4501, 7, 108, 2, 2, 4500, 4502, 9, 61, 2, 2, 4501, 4500, 3, 2, 2, 2, 4501, 4502, 3, 2, 2, 2, 4502, 4503, 3, 2, 2, 2, 4503, 4504, 5, 420, 211, 2, 4504, 4505, 7, 159, 2, 2, 4505, 4510, 5, 406, 204, 2, 4506, 4507, 7, 1024, 2, 2, 4507, 4509, 5, 406, 204, 2, 4508, 4506, 3, 2, 2, 2, 4509, 4512, 3, 2, 2, 2, 4510, 4508, 3, 2, 2, 2, 4510, 4511, 3, 2, 2, 2, 4511, 4527, 3, 2, 2, 2, 4512, 4510, 3, 2, 2, 2, 4513, 4525, 7, 130, 2, 2, 4514, 4526, 7, 452, 2, 2, 4515, 4522, 5, 408, 205, 2, 4516, 4518, 7, 12, 2, 2, 4517, 4516, 3, 2, 2, 2, 4517, 4518, 3, 2, 2, 2, 4518, 4519, 3, 2, 2, 2, 4519, 4521, 5, 408, 205, 2, 4520, 4517, 3, 2, 2, 2, 4521, 4524, 3, 2, 2, 2, 4522, 4520, 3, 2, 2, 2, 4522, 4523, 3, 2, 2, 2, 4523, 4526, 3, 2, 2, 2, 4524, 4522, 3, 2, 2, 2, 4525, 4514, 3, 2, 2, 2, 4525, 4515, 3, 2, 2, 2, 4526, 4528, 3, 2, 2, 2, 4527, 4513, 3, 2, 2, 2, 4527, 4528, 3, 2, 2, 2, 4528, 4538, 3, 2, 2, 2, 4529, 4535, 7, 176, 2, 2, 4530, 4531, 7, 67, 2, 2, 4531, 4534, 7, 110, 2, 2, 4532, 4534, 5, 410, 206, 2, 4533, 4530, 3, 2, 2, 2, 4533, 4532, 3, 2, 2, 2, 4534, 4537, 3, 2, 2, 2, 4535, 4533, 3, 2, 2, 2, 4535, 4536, 3, 2, 2, 2, 4536, 4539, 3, 2, 2, 2, 4537, 4535, 3, 2, 2, 2, 4538, 4529, 3, 2, 2, 2, 4538, 4539, 3, 2, 2, 2, 4539, 393, 3, 2, 2, 2, 4540, 4541, 7, 67, 2, 2, 4541, 4542, 7, 483, 2, 2, 4542, 4543, 7, 108, 2, 2, 4543, 4544, 5, 508, 255, 2, 4544, 4545, 7, 159, 2, 2, 4545, 4550, 5, 508, 255, 2, 4546, 4547, 7, 1024, 2, 2, 4547, 4549, 5, 508, 255, 2, 4548, 4546, 3, 2, 2, 2, 4549, 4552, 3, 2, 2, 2, 4550, 4548, 3, 2, 2, 2, 4550, 4551, 3, 2, 2, 2, 4551, 4556, 3, 2, 2, 2, 4552, 4550, 3, 2, 2, 2, 4553, 4554, 7, 176, 2, 2, 4554, 4555, 7, 67, 2, 2, 4555, 4557, 7, 110, 2, 2, 4556, 4553, 3, 2, 2, 2, 4556, 4557, 3, 2, 2, 2, 4557, 395, 3, 2, 2, 2, 4558, 4559, 7, 127, 2, 2, 4559, 4560, 7, 574, 2, 2, 4560, 4565, 5, 422, 212, 2, 4561, 4562, 7, 1024, 2, 2, 4562, 4564, 5, 422, 212, 2, 4563, 4561, 3, 2, 2, 2, 4564, 4567, 3, 2, 2, 2, 4565, 4563, 3, 2, 2, 2, 4565, 4566, 3, 2, 2, 2, 4566, 397, 3, 2, 2, 2, 4567, 4565, 3, 2, 2, 2, 4568, 4569, 7, 134, 2, 2, 4569, 4574, 5, 416, 209, 2, 4570, 4571, 7, 1024, 2, 2, 4571, 4573, 5, 416, 209, 2, 4572, 4570, 3, 2, 2, 2, 4573, 4576, 3, 2, 2, 2, 4574, 4572, 3, 2, 2, 2, 4574, 4575, 3, 2, 2, 2, 4575, 4577, 3, 2, 2, 2, 4576, 4574, 3, 2, 2, 2, 4577, 4579, 7, 108, 2, 2, 4578, 4580, 9, 61, 2, 2, 4579, 4578, 3, 2, 2, 2, 4579, 4580, 3, 2, 2, 2, 4580, 4581, 3, 2, 2, 2, 4581, 4582, 5, 420, 211, 2, 4582, 4583, 7, 63, 2, 2, 4583, 4588, 5, 508, 255, 2, 4584, 4585, 7, 1024, 2, 2, 4585, 4587, 5, 508, 255, 2, 4586, 4584, 3, 2, 2, 2, 4587, 4590, 3, 2, 2, 2, 4588, 4586, 3, 2, 2, 2, 4588, 4589, 3, 2, 2, 2, 4589, 4609, 3, 2, 2, 2, 4590, 4588, 3, 2, 2, 2, 4591, 4592, 7, 134, 2, 2, 4592, 4594, 7, 8, 2, 2, 4593, 4595, 7, 612, 2, 2, 4594, 4593, 3, 2, 2, 2, 4594, 4595, 3, 2, 2, 2, 4595, 4596, 3, 2, 2, 2, 4596, 4597, 7, 1024, 2, 2, 4597, 4598, 7, 67, 2, 2, 4598, 4599, 7, 110, 2, 2, 4599, 4600, 7, 63, 2, 2, 4600, 4605, 5, 508, 255, 2, 4601, 4602, 7, 1024, 2, 2, 4602, 4604, 5, 508, 255, 2, 4603, 4601, 3, 2, 2, 2, 4604, 4607, 3, 2, 2, 2, 4605, 4603, 3, 2, 2, 2, 4605, 4606, 3, 2, 2, 2, 4606, 4609, 3, 2, 2, 2, 4607, 4605, 3, 2, 2, 2, 4608, 4568, 3, 2, 2, 2, 4608, 4591, 3, 2, 2, 2, 4609, 399, 3, 2, 2, 2, 4610, 4611, 7, 134, 2, 2, 4611, 4612, 7, 483, 2, 2, 4612, 4613, 7, 108, 2, 2, 4613, 4614, 5, 508, 255, 2, 4614, 4615, 7, 63, 2, 2, 4615, 4620, 5, 508, 255, 2, 4616, 4617, 7, 1024, 2, 2, 4617, 4619, 5, 508, 255, 2, 4618, 4616, 3, 2, 2, 2, 4619, 4622, 3, 2, 2, 2, 4620, 4618, 3, 2, 2, 2, 4620, 4621, 3, 2, 2, 2, 4621, 401, 3, 2, 2, 2, 4622, 4620, 3, 2, 2, 2, 4623, 4624, 7, 140, 2, 2, 4624, 4627, 7, 470, 2, 2, 4625, 4626, 7, 60, 2, 2, 4626, 4628, 5, 508, 255, 2, 4627, 4625, 3, 2, 2, 2, 4627, 4628, 3, 2, 2, 2, 4628, 4629, 3, 2, 2, 2, 4629, 4632, 7, 1013, 2, 2, 4630, 4633, 5, 598, 300, 2, 4631, 4633, 7, 1037, 2, 2, 4632, 4630, 3, 2, 2, 2, 4632, 4631, 3, 2, 2, 2, 4633, 403, 3, 2, 2, 2, 4634, 4635, 5, 508, 255, 2, 4635, 4636, 5, 412, 207, 2, 4636, 405, 3, 2, 2, 2, 4637, 4638, 5, 508, 255, 2, 4638, 4639, 7, 380, 2, 2, 4639, 4640, 7, 18, 2, 2, 4640, 4641, 7, 470, 2, 2, 4641, 4642, 7, 1037, 2, 2, 4642, 4662, 3, 2, 2, 2, 4643, 4644, 5, 508, 255, 2, 4644, 4647, 7, 380, 2, 2, 4645, 4646, 7, 176, 2, 2, 4646, 4648, 5, 524, 263, 2, 4647, 4645, 3, 2, 2, 2, 4647, 4648, 3, 2, 2, 2, 4648, 4649, 3, 2, 2, 2, 4649, 4650, 7, 18, 2, 2, 4650, 4651, 7, 1037, 2, 2, 4651, 4662, 3, 2, 2, 2, 4652, 4653, 5, 508, 255, 2, 4653, 4654, 7, 380, 2, 2, 4654, 4655, 7, 176, 2, 2, 4655, 4658, 5, 524, 263, 2, 4656, 4657, 7, 13, 2, 2, 4657, 4659, 7, 1037, 2, 2, 4658, 4656, 3, 2, 2, 2, 4658, 4659, 3, 2, 2, 2, 4659, 4662, 3, 2, 2, 2, 4660, 4662, 5, 508, 255, 2, 4661, 4637, 3, 2, 2, 2, 4661, 4643, 3, 2, 2, 2, 4661, 4652, 3, 2, 2, 2, 4661, 4660, 3, 2, 2, 2, 4662, 407, 3, 2, 2, 2, 4663, 4672, 7, 152, 2, 2, 4664, 4672, 7, 588, 2, 2, 4665, 4666, 7, 298, 2, 2, 4666, 4672, 7, 1037, 2, 2, 4667, 4668, 7, 395, 2, 2, 4668, 4672, 7, 1037, 2, 2, 4669, 4670, 7, 551, 2, 2, 4670, 4672, 7, 1037, 2, 2, 4671, 4663, 3, 2, 2, 2, 4671, 4664, 3, 2, 2, 2, 4671, 4665, 3, 2, 2, 2, 4671, 4667, 3, 2, 2, 2, 4671, 4669, 3, 2, 2, 2, 4672, 409, 3, 2, 2, 2, 4673, 4674, 7, 429, 2, 2, 4674, 4682, 5, 532, 267, 2, 4675, 4676, 7, 432, 2, 2, 4676, 4682, 5, 532, 267, 2, 4677, 4678, 7, 428, 2, 2, 4678, 4682, 5, 532, 267, 2, 4679, 4680, 7, 433, 2, 2, 4680, 4682, 5, 532, 267, 2, 4681, 4673, 3, 2, 2, 2, 4681, 4675, 3, 2, 2, 2, 4681, 4677, 3, 2, 2, 2, 4681, 4679, 3, 2, 2, 2, 4682, 411, 3, 2, 2, 2, 4683, 4684, 7, 470, 2, 2, 4684, 4691, 7, 355, 2, 2, 4685, 4692, 7, 40, 2, 2, 4686, 4692, 7, 448, 2, 2, 4687, 4688, 7, 79, 2, 2, 4688, 4689, 5, 532, 267, 2, 4689, 4690, 7, 598, 2, 2, 4690, 4692, 3, 2, 2, 2, 4691, 4685, 3, 2, 2, 2, 4691, 4686, 3, 2, 2, 2, 4691, 4687, 3, 2, 2, 2, 4691, 4692, 3, 2, 2, 2, 4692, 413, 3, 2, 2, 2, 4693, 4694, 7, 272, 2, 2, 4694, 4695, 9, 62, 2, 2, 4695, 415, 3, 2, 2, 2, 4696, 4701, 5, 418, 210, 2, 4697, 4698, 7, 1022, 2, 2, 4698, 4699, 5, 558, 280, 2, 4699, 4700, 7, 1023, 2, 2, 4700, 4702, 3, 2, 2, 2, 4701, 4697, 3, 2, 2, 2, 4701, 4702, 3, 2, 2, 2, 4702, 417, 3, 2, 2, 2, 4703, 4705, 7, 8, 2, 2, 4704, 4706, 7, 612, 2, 2, 4705, 4704, 3, 2, 2, 2, 4705, 4706, 3, 2, 2, 2, 4706, 4775, 3, 2, 2, 2, 4707, 4709, 7, 9, 2, 2, 4708, 4710, 7, 605, 2, 2, 4709, 4708, 3, 2, 2, 2, 4709, 4710, 3, 2, 2, 2, 4710, 4775, 3, 2, 2, 2, 4711, 4719, 7, 32, 2, 2, 4712, 4713, 7, 559, 2, 2, 4713, 4720, 7, 604, 2, 2, 4714, 4720, 7, 605, 2, 2, 4715, 4720, 7, 580, 2, 2, 4716, 4720, 7, 574, 2, 2, 4717, 4720, 7, 558, 2, 2, 4718, 4720, 7, 509, 2, 2, 4719, 4712, 3, 2, 2, 2, 4719, 4714, 3, 2, 2, 2, 4719, 4715, 3, 2, 2, 2, 4719, 4716, 3, 2, 2, 2, 4719, 4717, 3, 2, 2, 2, 4719, 4718, 3, 2, 2, 2, 4719, 4720, 3, 2, 2, 2, 4720, 4775, 3, 2, 2, 2, 4721, 4775, 7, 42, 2, 2, 4722, 4724, 7, 49, 2, 2, 4723, 4725, 7, 509, 2, 2, 4724, 4723, 3, 2, 2, 2, 4724, 4725, 3, 2, 2, 2, 4725, 4775, 3, 2, 2, 2, 4726, 4775, 7, 350, 2, 2, 4727, 4775, 7, 606, 2, 2, 4728, 4775, 7, 607, 2, 2, 4729, 4730, 7, 67, 2, 2, 4730, 4775, 7, 110, 2, 2, 4731, 4775, 7, 74, 2, 2, 4732, 4775, 7, 78, 2, 2, 4733, 4734, 7, 95, 2, 2, 4734, 4775, 7, 604, 2, 2, 4735, 4775, 7, 608, 2, 2, 4736, 4775, 7, 483, 2, 2, 4737, 4775, 7, 124, 2, 2, 4738, 4775, 7, 609, 2, 2, 4739, 4740, 7, 504, 2, 2, 4740, 4775, 9, 63, 2, 2, 4741, 4775, 7, 139, 2, 2, 4742, 4743, 7, 142, 2, 2, 4743, 4775, 9, 64, 2, 2, 4744, 4775, 7, 610, 2, 2, 4745, 4775, 7, 611, 2, 2, 4746, 4775, 7, 161, 2, 2, 4747, 4775, 7, 168, 2, 2, 4748, 4775, 7, 169, 2, 2, 4749, 4775, 7, 614, 2, 2, 4750, 4775, 7, 615, 2, 2, 4751, 4775, 7, 616, 2, 2, 4752, 4775, 7, 617, 2, 2, 4753, 4775, 7, 618, 2, 2, 4754, 4775, 7, 619, 2, 2, 4755, 4775, 7, 620, 2, 2, 4756, 4775, 7, 621, 2, 2, 4757, 4775, 7, 622, 2, 2, 4758, 4775, 7, 623, 2, 2, 4759, 4775, 7, 624, 2, 2, 4760, 4775, 7, 625, 2, 2, 4761, 4775, 7, 626, 2, 2, 4762, 4775, 7, 627, 2, 2, 4763, 4775, 7, 628, 2, 2, 4764, 4775, 7, 629, 2, 2, 4765, 4775, 7, 630, 2, 2, 4766, 4775, 7, 631, 2, 2, 4767, 4775, 7, 632, 2, 2, 4768, 4775, 7, 633, 2, 2, 4769, 4775, 7, 634, 2, 2, 4770, 4775, 7, 635, 2, 2, 4771, 4775, 7, 636, 2, 2, 4772, 4775, 7, 637, 2, 2, 4773, 4775, 7, 638, 2, 2, 4774, 4703, 3, 2, 2, 2, 4774, 4707, 3, 2, 2, 2, 4774, 4711, 3, 2, 2, 2, 4774, 4721, 3, 2, 2, 2, 4774, 4722, 3, 2, 2, 2, 4774, 4726, 3, 2, 2, 2, 4774, 4727, 3, 2, 2, 2, 4774, 4728, 3, 2, 2, 2, 4774, 4729, 3, 2, 2, 2, 4774, 4731, 3, 2, 2, 2, 4774, 4732, 3, 2, 2, 2, 4774, 4733, 3, 2, 2, 2, 4774, 4735, 3, 2, 2, 2, 4774, 4736, 3, 2, 2, 2, 4774, 4737, 3, 2, 2, 2, 4774, 4738, 3, 2, 2, 2, 4774, 4739, 3, 2, 2, 2, 4774, 4741, 3, 2, 2, 2, 4774, 4742, 3, 2, 2, 2, 4774, 4744, 3, 2, 2, 2, 4774, 4745, 3, 2, 2, 2, 4774, 4746, 3, 2, 2, 2, 4774, 4747, 3, 2, 2, 2, 4774, 4748, 3, 2, 2, 2, 4774, 4749, 3, 2, 2, 2, 4774, 4750, 3, 2, 2, 2, 4774, 4751, 3, 2, 2, 2, 4774, 4752, 3, 2, 2, 2, 4774, 4753, 3, 2, 2, 2, 4774, 4754, 3, 2, 2, 2, 4774, 4755, 3, 2, 2, 2, 4774, 4756, 3, 2, 2, 2, 4774, 4757, 3, 2, 2, 2, 4774, 4758, 3, 2, 2, 2, 4774, 4759, 3, 2, 2, 2, 4774, 4760, 3, 2, 2, 2, 4774, 4761, 3, 2, 2, 2, 4774, 4762, 3, 2, 2, 2, 4774, 4763, 3, 2, 2, 2, 4774, 4764, 3, 2, 2, 2, 4774, 4765, 3, 2, 2, 2, 4774, 4766, 3, 2, 2, 2, 4774, 4767, 3, 2, 2, 2, 4774, 4768, 3, 2, 2, 2, 4774, 4769, 3, 2, 2, 2, 4774, 4770, 3, 2, 2, 2, 4774, 4771, 3, 2, 2, 2, 4774, 4772, 3, 2, 2, 2, 4774, 4773, 3, 2, 2, 2, 4775, 419, 3, 2, 2, 2, 4776, 4793, 7, 1005, 2, 2, 4777, 4778, 7, 1005, 2, 2, 4778, 4779, 7, 1021, 2, 2, 4779, 4793, 7, 1005, 2, 2, 4780, 4781, 5, 526, 264, 2, 4781, 4782, 7, 1021, 2, 2, 4782, 4783, 7, 1005, 2, 2, 4783, 4793, 3, 2, 2, 2, 4784, 4785, 5, 526, 264, 2, 4785, 4786, 7, 1021, 2, 2, 4786, 4787, 5, 526, 264, 2, 4787, 4793, 3, 2, 2, 2, 4788, 4789, 5, 526, 264, 2, 4789, 4790, 5, 530, 266, 2, 4790, 4793, 3, 2, 2, 2, 4791, 4793, 5, 526, 264, 2, 4792, 4776, 3, 2, 2, 2, 4792, 4777, 3, 2, 2, 2, 4792, 4780, 3, 2, 2, 2, 4792, 4784, 3, 2, 2, 2, 4792, 4788, 3, 2, 2, 2, 4792, 4791, 3, 2, 2, 2, 4793, 421, 3, 2, 2, 2, 4794, 4795, 5, 508, 255, 2, 4795, 4796, 7, 159, 2, 2, 4796, 4797, 5, 508, 255, 2, 4797, 423, 3, 2, 2, 2, 4798, 4800, 7, 11, 2, 2, 4799, 4801, 9, 65, 2, 2, 4800, 4799, 3, 2, 2, 2, 4800, 4801, 3, 2, 2, 2, 4801, 4802, 3, 2, 2, 2, 4802, 4803, 7, 156, 2, 2, 4803, 4804, 5, 560, 281, 2, 4804, 425, 3, 2, 2, 2, 4805, 4806, 7, 25, 2, 2, 4806, 4807, 7, 156, 2, 2, 4807, 4811, 5, 560, 281, 2, 4808, 4810, 5, 434, 218, 2, 4809, 4808, 3, 2, 2, 2, 4810, 4813, 3, 2, 2, 2, 4811, 4809, 3, 2, 2, 2, 4811, 4812, 3, 2, 2, 2, 4812, 427, 3, 2, 2, 2, 4813, 4811, 3, 2, 2, 2, 4814, 4815, 7, 296, 2, 2, 4815, 4816, 7, 156, 2, 2, 4816, 4818, 5, 560, 281, 2, 4817, 4819, 9, 66, 2, 2, 4818, 4817, 3, 2, 2, 2, 4818, 4819, 3, 2, 2, 2, 4819, 429, 3, 2, 2, 2, 4820, 4822, 7, 109, 2, 2, 4821, 4823, 9, 65, 2, 2, 4822, 4821, 3, 2, 2, 2, 4822, 4823, 3, 2, 2, 2, 4823, 4824, 3, 2, 2, 2, 4824, 4825, 7, 156, 2, 2, 4825, 4826, 5, 560, 281, 2, 4826, 431, 3, 2, 2, 2, 4827, 4829, 7, 496, 2, 2, 4828, 4830, 9, 65, 2, 2, 4829, 4828, 3, 2, 2, 2, 4829, 4830, 3, 2, 2, 2, 4830, 4831, 3, 2, 2, 2, 4831, 4832, 7, 156, 2, 2, 4832, 4834, 5, 560, 281, 2, 4833, 4835, 7, 485, 2, 2, 4834, 4833, 3, 2, 2, 2, 4834, 4835, 3, 2, 2, 2, 4835, 4837, 3, 2, 2, 2, 4836, 4838, 7, 357, 2, 2, 4837, 4836, 3, 2, 2, 2, 4837, 4838, 3, 2, 2, 2, 4838, 4840, 3, 2, 2, 2, 4839, 4841, 7, 575, 2, 2, 4840, 4839, 3, 2, 2, 2, 4840, 4841, 3, 2, 2, 2, 4841, 433, 3, 2, 2, 2, 4842, 4843, 7, 60, 2, 2, 4843, 4850, 7, 573, 2, 2, 4844, 4850, 7, 485, 2, 2, 4845, 4850, 7, 359, 2, 2, 4846, 4850, 7, 434, 2, 2, 4847, 4850, 7, 357, 2, 2, 4848, 4850, 7, 294, 2, 2, 4849, 4842, 3, 2, 2, 2, 4849, 4844, 3, 2, 2, 2, 4849, 4845, 3, 2, 2, 2, 4849, 4846, 3, 2, 2, 2, 4849, 4847, 3, 2, 2, 2, 4849, 4848, 3, 2, 2, 2, 4850, 435, 3, 2, 2, 2, 4851, 4853, 7, 32, 2, 2, 4852, 4854, 7, 275, 2, 2, 4853, 4852, 3, 2, 2, 2, 4853, 4854, 3, 2, 2, 2, 4854, 4855, 3, 2, 2, 2, 4855, 4856, 7, 370, 2, 2, 4856, 4857, 5, 526, 264, 2, 4857, 4858, 7, 508, 2, 2, 4858, 4859, 9, 67, 2, 2, 4859, 4860, 7, 530, 2, 2, 4860, 4861, 7, 1037, 2, 2, 4861, 437, 3, 2, 2, 2, 4862, 4863, 7, 387, 2, 2, 4863, 4864, 7, 472, 2, 2, 4864, 4865, 5, 526, 264, 2, 4865, 4866, 7, 530, 2, 2, 4866, 4867, 7, 1037, 2, 2, 4867, 439, 3, 2, 2, 2, 4868, 4869, 7, 570, 2, 2, 4869, 4870, 7, 472, 2, 2, 4870, 4871, 5, 526, 264, 2, 4871, 441, 3, 2, 2, 2, 4872, 4873, 7, 140, 2, 2, 4873, 4874, 5, 446, 224, 2, 4874, 4875, 9, 68, 2, 2, 4875, 4883, 5, 604, 303, 2, 4876, 4877, 7, 1024, 2, 2, 4877, 4878, 5, 446, 224, 2, 4878, 4879, 9, 68, 2, 2, 4879, 4880, 5, 604, 303, 2, 4880, 4882, 3, 2, 2, 2, 4881, 4876, 3, 2, 2, 2, 4882, 4885, 3, 2, 2, 2, 4883, 4881, 3, 2, 2, 2, 4883, 4884, 3, 2, 2, 2, 4884, 4924, 3, 2, 2, 2, 4885, 4883, 3, 2, 2, 2, 4886, 4890, 7, 140, 2, 2, 4887, 4888, 7, 24, 2, 2, 4888, 4891, 7, 140, 2, 2, 4889, 4891, 7, 733, 2, 2, 4890, 4887, 3, 2, 2, 2, 4890, 4889, 3, 2, 2, 2, 4891, 4894, 3, 2, 2, 2, 4892, 4895, 5, 512, 257, 2, 4893, 4895, 7, 40, 2, 2, 4894, 4892, 3, 2, 2, 2, 4894, 4893, 3, 2, 2, 2, 4895, 4924, 3, 2, 2, 2, 4896, 4897, 7, 140, 2, 2, 4897, 4904, 7, 446, 2, 2, 4898, 4901, 5, 512, 257, 2, 4899, 4900, 7, 26, 2, 2, 4900, 4902, 5, 514, 258, 2, 4901, 4899, 3, 2, 2, 2, 4901, 4902, 3, 2, 2, 2, 4902, 4905, 3, 2, 2, 2, 4903, 4905, 7, 40, 2, 2, 4904, 4898, 3, 2, 2, 2, 4904, 4903, 3, 2, 2, 2, 4905, 4924, 3, 2, 2, 2, 4906, 4924, 5, 402, 202, 2, 4907, 4924, 5, 278, 140, 2, 4908, 4924, 5, 276, 139, 2, 4909, 4910, 7, 140, 2, 2, 4910, 4911, 5, 500, 251, 2, 4911, 4912, 9, 68, 2, 2, 4912, 4920, 5, 604, 303, 2, 4913, 4914, 7, 1024, 2, 2, 4914, 4915, 5, 500, 251, 2, 4915, 4916, 9, 68, 2, 2, 4916, 4917, 5, 604, 303, 2, 4917, 4919, 3, 2, 2, 2, 4918, 4913, 3, 2, 2, 2, 4919, 4922, 3, 2, 2, 2, 4920, 4918, 3, 2, 2, 2, 4920, 4921, 3, 2, 2, 2, 4921, 4924, 3, 2, 2, 2, 4922, 4920, 3, 2, 2, 2, 4923, 4872, 3, 2, 2, 2, 4923, 4886, 3, 2, 2, 2, 4923, 4896, 3, 2, 2, 2, 4923, 4906, 3, 2, 2, 2, 4923, 4907, 3, 2, 2, 2, 4923, 4908, 3, 2, 2, 2, 4923, 4909, 3, 2, 2, 2, 4924, 443, 3, 2, 2, 2, 4925, 4926, 7, 142, 2, 2, 4926, 4927, 9, 51, 2, 2, 4927, 5077, 7, 406, 2, 2, 4928, 4929, 7, 142, 2, 2, 4929, 4930, 9, 69, 2, 2, 4930, 4933, 7, 351, 2, 2, 4931, 4932, 7, 73, 2, 2, 4932, 4934, 7, 1037, 2, 2, 4933, 4931, 3, 2, 2, 2, 4933, 4934, 3, 2, 2, 2, 4934, 4937, 3, 2, 2, 2, 4935, 4936, 7, 63, 2, 2, 4936, 4938, 5, 532, 267, 2, 4937, 4935, 3, 2, 2, 2, 4937, 4938, 3, 2, 2, 2, 4938, 4946, 3, 2, 2, 2, 4939, 4943, 7, 91, 2, 2, 4940, 4941, 5, 532, 267, 2, 4941, 4942, 7, 1024, 2, 2, 4942, 4944, 3, 2, 2, 2, 4943, 4940, 3, 2, 2, 2, 4943, 4944, 3, 2, 2, 2, 4944, 4945, 3, 2, 2, 2, 4945, 4947, 5, 532, 267, 2, 4946, 4939, 3, 2, 2, 2, 4946, 4947, 3, 2, 2, 2, 4947, 5077, 3, 2, 2, 2, 4948, 4949, 7, 142, 2, 2, 4949, 4951, 5, 448, 225, 2, 4950, 4952, 5, 450, 226, 2, 4951, 4950, 3, 2, 2, 2, 4951, 4952, 3, 2, 2, 2, 4952, 5077, 3, 2, 2, 2, 4953, 4955, 7, 142, 2, 2, 4954, 4956, 7, 369, 2, 2, 4955, 4954, 3, 2, 2, 2, 4955, 4956, 3, 2, 2, 2, 4956, 4957, 3, 2, 2, 2, 4957, 4958, 9, 37, 2, 2, 4958, 4959, 9, 70, 2, 2, 4959, 4962, 5, 502, 252, 2, 4960, 4961, 9, 70, 2, 2, 4961, 4963, 5, 526, 264, 2, 4962, 4960, 3, 2, 2, 2, 4962, 4963, 3, 2, 2, 2, 4963, 4965, 3, 2, 2, 2, 4964, 4966, 5, 450, 226, 2, 4965, 4964, 3, 2, 2, 2, 4965, 4966, 3, 2, 2, 2, 4966, 5077, 3, 2, 2, 2, 4967, 4968, 7, 142, 2, 2, 4968, 4969, 7, 32, 2, 2, 4969, 4971, 9, 2, 2, 2, 4970, 4972, 5, 582, 292, 2, 4971, 4970, 3, 2, 2, 2, 4971, 4972, 3, 2, 2, 2, 4972, 4973, 3, 2, 2, 2, 4973, 5077, 5, 526, 264, 2, 4974, 4975, 7, 142, 2, 2, 4975, 4976, 7, 32, 2, 2, 4976, 4977, 9, 71, 2, 2, 4977, 5077, 5, 500, 251, 2, 4978, 4979, 7, 142, 2, 2, 4979, 4980, 7, 32, 2, 2, 4980, 4981, 7, 574, 2, 2, 4981, 5077, 5, 508, 255, 2, 4982, 4983, 7, 142, 2, 2, 4983, 4984, 7, 344, 2, 2, 4984, 4985, 5, 516, 259, 2, 4985, 4986, 9, 72, 2, 2, 4986, 5077, 3, 2, 2, 2, 4987, 4988, 7, 142, 2, 2, 4988, 5077, 5, 452, 227, 2, 4989, 4990, 7, 142, 2, 2, 4990, 4991, 9, 73, 2, 2, 4991, 4995, 7, 91, 2, 2, 4992, 4993, 5, 532, 267, 2, 4993, 4994, 7, 1024, 2, 2, 4994, 4996, 3, 2, 2, 2, 4995, 4992, 3, 2, 2, 2, 4995, 4996, 3, 2, 2, 2, 4996, 4997, 3, 2, 2, 2, 4997, 5077, 5, 532, 267, 2, 4998, 4999, 7, 142, 2, 2, 4999, 5000, 7, 241, 2, 2, 5000, 5001, 7, 1022, 2, 2, 5001, 5002, 7, 1005, 2, 2, 5002, 5003, 7, 1023, 2, 2, 5003, 5077, 9, 73, 2, 2, 5004, 5005, 7, 142, 2, 2, 5005, 5008, 5, 454, 228, 2, 5006, 5007, 9, 70, 2, 2, 5007, 5009, 5, 526, 264, 2, 5008, 5006, 3, 2, 2, 2, 5008, 5009, 3, 2, 2, 2, 5009, 5011, 3, 2, 2, 2, 5010, 5012, 5, 450, 226, 2, 5011, 5010, 3, 2, 2, 2, 5011, 5012, 3, 2, 2, 2, 5012, 5077, 3, 2, 2, 2, 5013, 5014, 7, 142, 2, 2, 5014, 5015, 9, 74, 2, 2, 5015, 5016, 7, 303, 2, 2, 5016, 5077, 5, 500, 251, 2, 5017, 5018, 7, 142, 2, 2, 5018, 5021, 7, 373, 2, 2, 5019, 5020, 7, 60, 2, 2, 5020, 5022, 5, 508, 255, 2, 5021, 5019, 3, 2, 2, 2, 5021, 5022, 3, 2, 2, 2, 5022, 5077, 3, 2, 2, 2, 5023, 5024, 7, 142, 2, 2, 5024, 5025, 9, 75, 2, 2, 5025, 5026, 9, 70, 2, 2, 5026, 5029, 5, 502, 252, 2, 5027, 5028, 9, 70, 2, 2, 5028, 5030, 5, 526, 264, 2, 5029, 5027, 3, 2, 2, 2, 5029, 5030, 3, 2, 2, 2, 5030, 5033, 3, 2, 2, 2, 5031, 5032, 7, 174, 2, 2, 5032, 5034, 5, 604, 303, 2, 5033, 5031, 3, 2, 2, 2, 5033, 5034, 3, 2, 2, 2, 5034, 5077, 3, 2, 2, 2, 5035, 5036, 7, 142, 2, 2, 5036, 5037, 7, 460, 2, 2, 5037, 5040, 7, 604, 2, 2, 5038, 5039, 9, 70, 2, 2, 5039, 5041, 5, 526, 264, 2, 5040, 5038, 3, 2, 2, 2, 5040, 5041, 3, 2, 2, 2, 5041, 5043, 3, 2, 2, 2, 5042, 5044, 5, 450, 226, 2, 5043, 5042, 3, 2, 2, 2, 5043, 5044, 3, 2, 2, 2, 5044, 5077, 3, 2, 2, 2, 5045, 5046, 7, 142, 2, 2, 5046, 5047, 7, 481, 2, 2, 5047, 5052, 5, 456, 229, 2, 5048, 5049, 7, 1024, 2, 2, 5049, 5051, 5, 456, 229, 2, 5050, 5048, 3, 2, 2, 2, 5051, 5054, 3, 2, 2, 2, 5052, 5050, 3, 2, 2, 2, 5052, 5053, 3, 2, 2, 2, 5053, 5058, 3, 2, 2, 2, 5054, 5052, 3, 2, 2, 2, 5055, 5056, 7, 60, 2, 2, 5056, 5057, 7, 484, 2, 2, 5057, 5059, 5, 532, 267, 2, 5058, 5055, 3, 2, 2, 2, 5058, 5059, 3, 2, 2, 2, 5059, 5060, 3, 2, 2, 2, 5060, 5064, 7, 91, 2, 2, 5061, 5062, 5, 532, 267, 2, 5062, 5063, 7, 1024, 2, 2, 5063, 5065, 3, 2, 2, 2, 5064, 5061, 3, 2, 2, 2, 5064, 5065, 3, 2, 2, 2, 5065, 5066, 3, 2, 2, 2, 5066, 5067, 5, 532, 267, 2, 5067, 5077, 3, 2, 2, 2, 5068, 5069, 7, 142, 2, 2, 5069, 5070, 7, 525, 2, 2, 5070, 5074, 7, 545, 2, 2, 5071, 5072, 7, 60, 2, 2, 5072, 5073, 7, 295, 2, 2, 5073, 5075, 7, 1037, 2, 2, 5074, 5071, 3, 2, 2, 2, 5074, 5075, 3, 2, 2, 2, 5075, 5077, 3, 2, 2, 2, 5076, 4925, 3, 2, 2, 2, 5076, 4928, 3, 2, 2, 2, 5076, 4948, 3, 2, 2, 2, 5076, 4953, 3, 2, 2, 2, 5076, 4967, 3, 2, 2, 2, 5076, 4974, 3, 2, 2, 2, 5076, 4978, 3, 2, 2, 2, 5076, 4982, 3, 2, 2, 2, 5076, 4987, 3, 2, 2, 2, 5076, 4989, 3, 2, 2, 2, 5076, 4998, 3, 2, 2, 2, 5076, 5004, 3, 2, 2, 2, 5076, 5013, 3, 2, 2, 2, 5076, 5017, 3, 2, 2, 2, 5076, 5023, 3, 2, 2, 2, 5076, 5035, 3, 2, 2, 2, 5076, 5045, 3, 2, 2, 2, 5076, 5068, 3, 2, 2, 2, 5077, 445, 3, 2, 2, 2, 5078, 5089, 7, 1048, 2, 2, 5079, 5089, 7, 1049, 2, 2, 5080, 5081, 7, 1026, 2, 2, 5081, 5083, 7, 1026, 2, 2, 5082, 5080, 3, 2, 2, 2, 5082, 5083, 3, 2, 2, 2, 5083, 5084, 3, 2, 2, 2, 5084, 5086, 9, 76, 2, 2, 5085, 5082, 3, 2, 2, 2, 5085, 5086, 3, 2, 2, 2, 5086, 5087, 3, 2, 2, 2, 5087, 5089, 5, 526, 264, 2, 5088, 5078, 3, 2, 2, 2, 5088, 5079, 3, 2, 2, 2, 5088, 5085, 3, 2, 2, 2, 5089, 447, 3, 2, 2, 2, 5090, 5091, 7, 24, 2, 2, 5091, 5104, 7, 140, 2, 2, 5092, 5104, 7, 736, 2, 2, 5093, 5104, 7, 38, 2, 2, 5094, 5104, 7, 138, 2, 2, 5095, 5096, 7, 370, 2, 2, 5096, 5104, 7, 545, 2, 2, 5097, 5098, 7, 119, 2, 2, 5098, 5104, 7, 545, 2, 2, 5099, 5101, 9, 50, 2, 2, 5100, 5099, 3, 2, 2, 2, 5100, 5101, 3, 2, 2, 2, 5101, 5102, 3, 2, 2, 2, 5102, 5104, 9, 77, 2, 2, 5103, 5090, 3, 2, 2, 2, 5103, 5092, 3, 2, 2, 2, 5103, 5093, 3, 2, 2, 2, 5103, 5094, 3, 2, 2, 2, 5103, 5095, 3, 2, 2, 2, 5103, 5097, 3, 2, 2, 2, 5103, 5100, 3, 2, 2, 2, 5104, 449, 3, 2, 2, 2, 5105, 5106, 7, 90, 2, 2, 5106, 5110, 7, 1037, 2, 2, 5107, 5108, 7, 174, 2, 2, 5108, 5110, 5, 604, 303, 2, 5109, 5105, 3, 2, 2, 2, 5109, 5107, 3, 2, 2, 2, 5110, 451, 3, 2, 2, 2, 5111, 5113, 7, 547, 2, 2, 5112, 5111, 3, 2, 2, 2, 5112, 5113, 3, 2, 2, 2, 5113, 5114, 3, 2, 2, 2, 5114, 5129, 7, 345, 2, 2, 5115, 5116, 7, 407, 2, 2, 5116, 5129, 7, 545, 2, 2, 5117, 5129, 7, 474, 2, 2, 5118, 5129, 7, 612, 2, 2, 5119, 5121, 7, 369, 2, 2, 5120, 5119, 3, 2, 2, 2, 5120, 5121, 3, 2, 2, 2, 5121, 5122, 3, 2, 2, 2, 5122, 5129, 7, 480, 2, 2, 5123, 5129, 7, 482, 2, 2, 5124, 5125, 7, 525, 2, 2, 5125, 5129, 7, 379, 2, 2, 5126, 5129, 7, 279, 2, 2, 5127, 5129, 7, 321, 2, 2, 5128, 5112, 3, 2, 2, 2, 5128, 5115, 3, 2, 2, 2, 5128, 5117, 3, 2, 2, 2, 5128, 5118, 3, 2, 2, 2, 5128, 5120, 3, 2, 2, 2, 5128, 5123, 3, 2, 2, 2, 5128, 5124, 3, 2, 2, 2, 5128, 5126, 3, 2, 2, 2, 5128, 5127, 3, 2, 2, 2, 5129, 453, 3, 2, 2, 2, 5130, 5139, 7, 351, 2, 2, 5131, 5132, 7, 156, 2, 2, 5132, 5139, 7, 545, 2, 2, 5133, 5135, 7, 369, 2, 2, 5134, 5133, 3, 2, 2, 2, 5134, 5135, 3, 2, 2, 2, 5135, 5136, 3, 2, 2, 2, 5136, 5139, 7, 604, 2, 2, 5137, 5139, 7, 565, 2, 2, 5138, 5130, 3, 2, 2, 2, 5138, 5131, 3, 2, 2, 2, 5138, 5134, 3, 2, 2, 2, 5138, 5137, 3, 2, 2, 2, 5139, 455, 3, 2, 2, 2, 5140, 5153, 7, 8, 2, 2, 5141, 5142, 7, 287, 2, 2, 5142, 5153, 7, 391, 2, 2, 5143, 5144, 7, 320, 2, 2, 5144, 5153, 7, 556, 2, 2, 5145, 5153, 7, 323, 2, 2, 5146, 5153, 7, 393, 2, 2, 5147, 5153, 7, 684, 2, 2, 5148, 5149, 7, 465, 2, 2, 5149, 5153, 7, 360, 2, 2, 5150, 5153, 7, 532, 2, 2, 5151, 5153, 7, 555, 2, 2, 5152, 5140, 3, 2, 2, 2, 5152, 5141, 3, 2, 2, 2, 5152, 5143, 3, 2, 2, 2, 5152, 5145, 3, 2, 2, 2, 5152, 5146, 3, 2, 2, 2, 5152, 5147, 3, 2, 2, 2, 5152, 5148, 3, 2, 2, 2, 5152, 5150, 3, 2, 2, 2, 5152, 5151, 3, 2, 2, 2, 5153, 457, 3, 2, 2, 2, 5154, 5155, 7, 285, 2, 2, 5155, 5156, 7, 1037, 2, 2, 5156, 459, 3, 2, 2, 2, 5157, 5158, 7, 291, 2, 2, 5158, 5159, 7, 74, 2, 2, 5159, 5164, 5, 472, 237, 2, 5160, 5161, 7, 1024, 2, 2, 5161, 5163, 5, 472, 237, 2, 5162, 5160, 3, 2, 2, 2, 5163, 5166, 3, 2, 2, 2, 5164, 5162, 3, 2, 2, 2, 5164, 5165, 3, 2, 2, 2, 5165, 5174, 3, 2, 2, 2, 5166, 5164, 3, 2, 2, 2, 5167, 5168, 7, 117, 2, 2, 5168, 5171, 7, 1022, 2, 2, 5169, 5172, 5, 558, 280, 2, 5170, 5172, 7, 8, 2, 2, 5171, 5169, 3, 2, 2, 2, 5171, 5170, 3, 2, 2, 2, 5172, 5173, 3, 2, 2, 2, 5173, 5175, 7, 1023, 2, 2, 5174, 5167, 3, 2, 2, 2, 5174, 5175, 3, 2, 2, 2, 5175, 5176, 3, 2, 2, 2, 5176, 5177, 7, 73, 2, 2, 5177, 5178, 5, 526, 264, 2, 5178, 461, 3, 2, 2, 2, 5179, 5181, 7, 366, 2, 2, 5180, 5182, 9, 65, 2, 2, 5181, 5180, 3, 2, 2, 2, 5181, 5182, 3, 2, 2, 2, 5182, 5183, 3, 2, 2, 2, 5183, 5188, 5, 474, 238, 2, 5184, 5185, 7, 1024, 2, 2, 5185, 5187, 5, 474, 238, 2, 5186, 5184, 3, 2, 2, 2, 5187, 5190, 3, 2, 2, 2, 5188, 5186, 3, 2, 2, 2, 5188, 5189, 3, 2, 2, 2, 5189, 463, 3, 2, 2, 2, 5190, 5188, 3, 2, 2, 2, 5191, 5193, 7, 86, 2, 2, 5192, 5194, 9, 78, 2, 2, 5193, 5192, 3, 2, 2, 2, 5193, 5194, 3, 2, 2, 2, 5194, 5196, 3, 2, 2, 2, 5195, 5197, 5, 532, 267, 2, 5196, 5195, 3, 2, 2, 2, 5197, 5198, 3, 2, 2, 2, 5198, 5196, 3, 2, 2, 2, 5198, 5199, 3, 2, 2, 2, 5199, 465, 3, 2, 2, 2, 5200, 5201, 7, 94, 2, 2, 5201, 5202, 7, 74, 2, 2, 5202, 5203, 7, 80, 2, 2, 5203, 5204, 7, 291, 2, 2, 5204, 5209, 5, 478, 240, 2, 5205, 5206, 7, 1024, 2, 2, 5206, 5208, 5, 478, 240, 2, 5207, 5205, 3, 2, 2, 2, 5208, 5211, 3, 2, 2, 2, 5209, 5207, 3, 2, 2, 2, 5209, 5210, 3, 2, 2, 2, 5210, 467, 3, 2, 2, 2, 5211, 5209, 3, 2, 2, 2, 5212, 5213, 7, 505, 2, 2, 5213, 5214, 7, 484, 2, 2, 5214, 5215, 7, 291, 2, 2, 5215, 469, 3, 2, 2, 2, 5216, 5217, 7, 610, 2, 2, 5217, 471, 3, 2, 2, 2, 5218, 5226, 5, 502, 252, 2, 5219, 5221, 9, 20, 2, 2, 5220, 5219, 3, 2, 2, 2, 5220, 5221, 3, 2, 2, 2, 5221, 5222, 3, 2, 2, 2, 5222, 5223, 7, 1022, 2, 2, 5223, 5224, 5, 558, 280, 2, 5224, 5225, 7, 1023, 2, 2, 5225, 5227, 3, 2, 2, 2, 5226, 5220, 3, 2, 2, 2, 5226, 5227, 3, 2, 2, 2, 5227, 473, 3, 2, 2, 2, 5228, 5247, 7, 331, 2, 2, 5229, 5247, 7, 379, 2, 2, 5230, 5232, 9, 79, 2, 2, 5231, 5230, 3, 2, 2, 2, 5231, 5232, 3, 2, 2, 2, 5232, 5233, 3, 2, 2, 2, 5233, 5247, 7, 406, 2, 2, 5234, 5247, 7, 461, 2, 2, 5235, 5247, 7, 612, 2, 2, 5236, 5237, 7, 484, 2, 2, 5237, 5247, 7, 291, 2, 2, 5238, 5247, 7, 545, 2, 2, 5239, 5247, 7, 576, 2, 2, 5240, 5244, 7, 604, 2, 2, 5241, 5242, 7, 176, 2, 2, 5242, 5243, 7, 122, 2, 2, 5243, 5245, 7, 95, 2, 2, 5244, 5241, 3, 2, 2, 2, 5244, 5245, 3, 2, 2, 2, 5245, 5247, 3, 2, 2, 2, 5246, 5228, 3, 2, 2, 2, 5246, 5229, 3, 2, 2, 2, 5246, 5231, 3, 2, 2, 2, 5246, 5234, 3, 2, 2, 2, 5246, 5235, 3, 2, 2, 2, 5246, 5236, 3, 2, 2, 2, 5246, 5238, 3, 2, 2, 2, 5246, 5239, 3, 2, 2, 2, 5246, 5240, 3, 2, 2, 2, 5247, 5259, 3, 2, 2, 2, 5248, 5249, 7, 490, 2, 2, 5249, 5251, 7, 406, 2, 2, 5250, 5252, 5, 316, 159, 2, 5251, 5250, 3, 2, 2, 2, 5251, 5252, 3, 2, 2, 2, 5252, 5259, 3, 2, 2, 2, 5253, 5254, 7, 604, 2, 2, 5254, 5256, 5, 560, 281, 2, 5255, 5257, 5, 476, 239, 2, 5256, 5255, 3, 2, 2, 2, 5256, 5257, 3, 2, 2, 2, 5257, 5259, 3, 2, 2, 2, 5258, 5246, 3, 2, 2, 2, 5258, 5248, 3, 2, 2, 2, 5258, 5253, 3, 2, 2, 2, 5259, 475, 3, 2, 2, 2, 5260, 5261, 7, 176, 2, 2, 5261, 5262, 7, 122, 2, 2, 5262, 5266, 7, 95, 2, 2, 5263, 5264, 7, 60, 2, 2, 5264, 5266, 7, 356, 2, 2, 5265, 5260, 3, 2, 2, 2, 5265, 5263, 3, 2, 2, 2, 5266, 477, 3, 2, 2, 2, 5267, 5275, 5, 502, 252, 2, 5268, 5269, 7, 117, 2, 2, 5269, 5272, 7, 1022, 2, 2, 5270, 5273, 5, 558, 280, 2, 5271, 5273, 7, 8, 2, 2, 5272, 5270, 3, 2, 2, 2, 5272, 5271, 3, 2, 2, 2, 5273, 5274, 3, 2, 2, 2, 5274, 5276, 7, 1023, 2, 2, 5275, 5268, 3, 2, 2, 2, 5275, 5276, 3, 2, 2, 2, 5276, 5284, 3, 2, 2, 2, 5277, 5279, 9, 20, 2, 2, 5278, 5277, 3, 2, 2, 2, 5278, 5279, 3, 2, 2, 2, 5279, 5280, 3, 2, 2, 2, 5280, 5281, 7, 1022, 2, 2, 5281, 5282, 5, 558, 280, 2, 5282, 5283, 7, 1023, 2, 2, 5283, 5285, 3, 2, 2, 2, 5284, 5278, 3, 2, 2, 2, 5284, 5285, 3, 2, 2, 2, 5285, 5288, 3, 2, 2, 2, 5286, 5287, 7, 72, 2, 2, 5287, 5289, 7, 400, 2, 2, 5288, 5286, 3, 2, 2, 2, 5288, 5289, 3, 2, 2, 2, 5289, 479, 3, 2, 2, 2, 5290, 5291, 9, 80, 2, 2, 5291, 5294, 5, 502, 252, 2, 5292, 5295, 5, 526, 264, 2, 5293, 5295, 7, 1037, 2, 2, 5294, 5292, 3, 2, 2, 2, 5294, 5293, 3, 2, 2, 2, 5294, 5295, 3, 2, 2, 2, 5295, 481, 3, 2, 2, 2, 5296, 5300, 9, 80, 2, 2, 5297, 5298, 9, 81, 2, 2, 5298, 5299, 7, 1013, 2, 2, 5299, 5301, 9, 82, 2, 2, 5300, 5297, 3, 2, 2, 2, 5300, 5301, 3, 2, 2, 2, 5301, 5302, 3, 2, 2, 2, 5302, 5303, 5, 498, 250, 2, 5303, 483, 3, 2, 2, 2, 5304, 5305, 7, 377, 2, 2, 5305, 5306, 7, 1037, 2, 2, 5306, 485, 3, 2, 2, 2, 5307, 5308, 7, 170, 2, 2, 5308, 5309, 5, 526, 264, 2, 5309, 487, 3, 2, 2, 2, 5310, 5318, 7, 143, 2, 2, 5311, 5313, 7, 147, 2, 2, 5312, 5314, 7, 578, 2, 2, 5313, 5312, 3, 2, 2, 2, 5313, 5314, 3, 2, 2, 2, 5314, 5315, 3, 2, 2, 2, 5315, 5319, 5, 536, 269, 2, 5316, 5319, 7, 1045, 2, 2, 5317, 5319, 7, 1046, 2, 2, 5318, 5311, 3, 2, 2, 2, 5318, 5316, 3, 2, 2, 2, 5318, 5317, 3, 2, 2, 2, 5319, 5329, 3, 2, 2, 2, 5320, 5321, 7, 140, 2, 2, 5321, 5326, 5, 492, 247, 2, 5322, 5323, 7, 1024, 2, 2, 5323, 5325, 5, 492, 247, 2, 5324, 5322, 3, 2, 2, 2, 5325, 5328, 3, 2, 2, 2, 5326, 5324, 3, 2, 2, 2, 5326, 5327, 3, 2, 2, 2, 5327, 5330, 3, 2, 2, 2, 5328, 5326, 3, 2, 2, 2, 5329, 5320, 3, 2, 2, 2, 5329, 5330, 3, 2, 2, 2, 5330, 489, 3, 2, 2, 2, 5331, 5339, 7, 131, 2, 2, 5332, 5334, 7, 147, 2, 2, 5333, 5335, 7, 578, 2, 2, 5334, 5333, 3, 2, 2, 2, 5334, 5335, 3, 2, 2, 2, 5335, 5336, 3, 2, 2, 2, 5336, 5340, 5, 536, 269, 2, 5337, 5340, 7, 1045, 2, 2, 5338, 5340, 7, 1046, 2, 2, 5339, 5332, 3, 2, 2, 2, 5339, 5337, 3, 2, 2, 2, 5339, 5338, 3, 2, 2, 2, 5339, 5340, 3, 2, 2, 2, 5340, 5350, 3, 2, 2, 2, 5341, 5342, 7, 140, 2, 2, 5342, 5347, 5, 492, 247, 2, 5343, 5344, 7, 1024, 2, 2, 5344, 5346, 5, 492, 247, 2, 5345, 5343, 3, 2, 2, 2, 5346, 5349, 3, 2, 2, 2, 5347, 5345, 3, 2, 2, 2, 5347, 5348, 3, 2, 2, 2, 5348, 5351, 3, 2, 2, 2, 5349, 5347, 3, 2, 2, 2, 5350, 5341, 3, 2, 2, 2, 5350, 5351, 3, 2, 2, 2, 5351, 491, 3, 2, 2, 2, 5352, 5353, 9, 83, 2, 2, 5353, 5356, 7, 1013, 2, 2, 5354, 5357, 5, 536, 269, 2, 5355, 5357, 7, 1038, 2, 2, 5356, 5354, 3, 2, 2, 2, 5356, 5355, 3, 2, 2, 2, 5357, 493, 3, 2, 2, 2, 5358, 5360, 7, 66, 2, 2, 5359, 5361, 9, 84, 2, 2, 5360, 5359, 3, 2, 2, 2, 5360, 5361, 3, 2, 2, 2, 5361, 5362, 3, 2, 2, 2, 5362, 5394, 7, 46, 2, 2, 5363, 5364, 5, 446, 224, 2, 5364, 5365, 7, 1013, 2, 2, 5365, 5373, 9, 85, 2, 2, 5366, 5367, 7, 1024, 2, 2, 5367, 5368, 5, 446, 224, 2, 5368, 5369, 7, 1013, 2, 2, 5369, 5370, 9, 85, 2, 2, 5370, 5372, 3, 2, 2, 2, 5371, 5366, 3, 2, 2, 2, 5372, 5375, 3, 2, 2, 2, 5373, 5371, 3, 2, 2, 2, 5373, 5374, 3, 2, 2, 2, 5374, 5395, 3, 2, 2, 2, 5375, 5373, 3, 2, 2, 2, 5376, 5379, 7, 28, 2, 2, 5377, 5380, 5, 532, 267, 2, 5378, 5380, 5, 446, 224, 2, 5379, 5377, 3, 2, 2, 2, 5379, 5378, 3, 2, 2, 2, 5380, 5381, 3, 2, 2, 2, 5381, 5382, 5, 446, 224, 2, 5382, 5383, 7, 1013, 2, 2, 5383, 5391, 5, 496, 249, 2, 5384, 5385, 7, 1024, 2, 2, 5385, 5386, 5, 446, 224, 2, 5386, 5387, 7, 1013, 2, 2, 5387, 5388, 5, 496, 249, 2, 5388, 5390, 3, 2, 2, 2, 5389, 5384, 3, 2, 2, 2, 5390, 5393, 3, 2, 2, 2, 5391, 5389, 3, 2, 2, 2, 5391, 5392, 3, 2, 2, 2, 5392, 5395, 3, 2, 2, 2, 5393, 5391, 3, 2, 2, 2, 5394, 5363, 3, 2, 2, 2, 5394, 5376, 3, 2, 2, 2, 5395, 495, 3, 2, 2, 2, 5396, 5397, 9, 86, 2, 2, 5397, 497, 3, 2, 2, 2, 5398, 5404, 5, 182, 92, 2, 5399, 5404, 5, 168, 85, 2, 5400, 5404, 5, 174, 88, 2, 5401, 5404, 5, 180, 91, 2, 5402, 5404, 5, 184, 93, 2, 5403, 5398, 3, 2, 2, 2, 5403, 5399, 3, 2, 2, 2, 5403, 5400, 3, 2, 2, 2, 5403, 5401, 3, 2, 2, 2, 5403, 5402, 3, 2, 2, 2, 5404, 5409, 3, 2, 2, 2, 5405, 5406, 7, 60, 2, 2, 5406, 5407, 7, 314, 2, 2, 5407, 5409, 5, 526, 264, 2, 5408, 5403, 3, 2, 2, 2, 5408, 5405, 3, 2, 2, 2, 5409, 499, 3, 2, 2, 2, 5410, 5414, 5, 526, 264, 2, 5411, 5415, 7, 1044, 2, 2, 5412, 5413, 7, 1021, 2, 2, 5413, 5415, 5, 526, 264, 2, 5414, 5411, 3, 2, 2, 2, 5414, 5412, 3, 2, 2, 2, 5414, 5415, 3, 2, 2, 2, 5415, 501, 3, 2, 2, 2, 5416, 5417, 5, 500, 251, 2, 5417, 503, 3, 2, 2, 2, 5418, 5423, 5, 526, 264, 2, 5419, 5421, 5, 530, 266, 2, 5420, 5422, 5, 530, 266, 2, 5421, 5420, 3, 2, 2, 2, 5421, 5422, 3, 2, 2, 2, 5422, 5424, 3, 2, 2, 2, 5423, 5419, 3, 2, 2, 2, 5423, 5424, 3, 2, 2, 2, 5424, 505, 3, 2, 2, 2, 5425, 5428, 5, 526, 264, 2, 5426, 5428, 7, 1037, 2, 2, 5427, 5425, 3, 2, 2, 2, 5427, 5426, 3, 2, 2, 2, 5428, 5433, 3, 2, 2, 2, 5429, 5430, 7, 1022, 2, 2, 5430, 5431, 5, 532, 267, 2, 5431, 5432, 7, 1023, 2, 2, 5432, 5434, 3, 2, 2, 2, 5433, 5429, 3, 2, 2, 2, 5433, 5434, 3, 2, 2, 2, 5434, 5436, 3, 2, 2, 2, 5435, 5437, 9, 44, 2, 2, 5436, 5435, 3, 2, 2, 2, 5436, 5437, 3, 2, 2, 2, 5437, 507, 3, 2, 2, 2, 5438, 5439, 9, 87, 2, 2, 5439, 509, 3, 2, 2, 2, 5440, 5441, 9, 88, 2, 2, 5441, 511, 3, 2, 2, 2, 5442, 5447, 7, 210, 2, 2, 5443, 5447, 5, 620, 311, 2, 5444, 5447, 7, 1037, 2, 2, 5445, 5447, 7, 1034, 2, 2, 5446, 5442, 3, 2, 2, 2, 5446, 5443, 3, 2, 2, 2, 5446, 5444, 3, 2, 2, 2, 5446, 5445, 3, 2, 2, 2, 5447, 513, 3, 2, 2, 2, 5448, 5451, 5, 526, 264, 2, 5449, 5451, 7, 1037, 2, 2, 5450, 5448, 3, 2, 2, 2, 5450, 5449, 3, 2, 2, 2, 5451, 515, 3, 2, 2, 2, 5452, 5453, 9, 89, 2, 2, 5453, 517, 3, 2, 2, 2, 5454, 5455, 5, 532, 267, 2, 5455, 5456, 7, 1010, 2, 2, 5456, 5457, 5, 532, 267, 2, 5457, 5458, 7, 1010, 2, 2, 5458, 5459, 5, 532, 267, 2, 5459, 5460, 7, 1010, 2, 2, 5460, 5461, 5, 532, 267, 2, 5461, 5462, 7, 1010, 2, 2, 5462, 5468, 5, 532, 267, 2, 5463, 5464, 7, 1033, 2, 2, 5464, 5465, 5, 532, 267, 2, 5465, 5466, 7, 1010, 2, 2, 5466, 5467, 5, 532, 267, 2, 5467, 5469, 3, 2, 2, 2, 5468, 5463, 3, 2, 2, 2, 5469, 5470, 3, 2, 2, 2, 5470, 5468, 3, 2, 2, 2, 5470, 5471, 3, 2, 2, 2, 5471, 519, 3, 2, 2, 2, 5472, 5479, 5, 522, 262, 2, 5473, 5474, 7, 1024, 2, 2, 5474, 5477, 5, 522, 262, 2, 5475, 5476, 7, 1024, 2, 2, 5476, 5478, 5, 532, 267, 2, 5477, 5475, 3, 2, 2, 2, 5477, 5478, 3, 2, 2, 2, 5478, 5480, 3, 2, 2, 2, 5479, 5473, 3, 2, 2, 2, 5479, 5480, 3, 2, 2, 2, 5480, 521, 3, 2, 2, 2, 5481, 5489, 7, 1037, 2, 2, 5482, 5489, 7, 1042, 2, 2, 5483, 5485, 7, 1039, 2, 2, 5484, 5483, 3, 2, 2, 2, 5485, 5486, 3, 2, 2, 2, 5486, 5484, 3, 2, 2, 2, 5486, 5487, 3, 2, 2, 2, 5487, 5489, 3, 2, 2, 2, 5488, 5481, 3, 2, 2, 2, 5488, 5482, 3, 2, 2, 2, 5488, 5484, 3, 2, 2, 2, 5489, 523, 3, 2, 2, 2, 5490, 5493, 5, 526, 264, 2, 5491, 5493, 7, 1037, 2, 2, 5492, 5490, 3, 2, 2, 2, 5492, 5491, 3, 2, 2, 2, 5493, 525, 3, 2, 2, 2, 5494, 5498, 5, 528, 265, 2, 5495, 5498, 7, 1046, 2, 2, 5496, 5498, 7, 1034, 2, 2, 5497, 5494, 3, 2, 2, 2, 5497, 5495, 3, 2, 2, 2, 5497, 5496, 3, 2, 2, 2, 5498, 527, 3, 2, 2, 2, 5499, 5509, 7, 1045, 2, 2, 5500, 5509, 5, 620, 311, 2, 5501, 5509, 5, 622, 312, 2, 5502, 5509, 5, 516, 259, 2, 5503, 5509, 5, 624, 313, 2, 5504, 5509, 5, 626, 314, 2, 5505, 5509, 5, 628, 315, 2, 5506, 5509, 5, 630, 316, 2, 5507, 5509, 5, 632, 317, 2, 5508, 5499, 3, 2, 2, 2, 5508, 5500, 3, 2, 2, 2, 5508, 5501, 3, 2, 2, 2, 5508, 5502, 3, 2, 2, 2, 5508, 5503, 3, 2, 2, 2, 5508, 5504, 3, 2, 2, 2, 5508, 5505, 3, 2, 2, 2, 5508, 5506, 3, 2, 2, 2, 5508, 5507, 3, 2, 2, 2, 5509, 529, 3, 2, 2, 2, 5510, 5514, 7, 1044, 2, 2, 5511, 5512, 7, 1021, 2, 2, 5512, 5514, 5, 526, 264, 2, 5513, 5510, 3, 2, 2, 2, 5513, 5511, 3, 2, 2, 2, 5514, 531, 3, 2, 2, 2, 5515, 5516, 9, 90, 2, 2, 5516, 533, 3, 2, 2, 2, 5517, 5520, 7, 1035, 2, 2, 5518, 5520, 5, 532, 267, 2, 5519, 5517, 3, 2, 2, 2, 5519, 5518, 3, 2, 2, 2, 5520, 535, 3, 2, 2, 2, 5521, 5523, 7, 1043, 2, 2, 5522, 5521, 3, 2, 2, 2, 5522, 5523, 3, 2, 2, 2, 5523, 5524, 3, 2, 2, 2, 5524, 5527, 7, 1037, 2, 2, 5525, 5527, 7, 1036, 2, 2, 5526, 5522, 3, 2, 2, 2, 5526, 5525, 3, 2, 2, 2, 5527, 5529, 3, 2, 2, 2, 5528, 5530, 7, 1037, 2, 2, 5529, 5528, 3, 2, 2, 2, 5530, 5531, 3, 2, 2, 2, 5531, 5529, 3, 2, 2, 2, 5531, 5532, 3, 2, 2, 2, 5532, 5545, 3, 2, 2, 2, 5533, 5535, 7, 1043, 2, 2, 5534, 5533, 3, 2, 2, 2, 5534, 5535, 3, 2, 2, 2, 5535, 5536, 3, 2, 2, 2, 5536, 5539, 7, 1037, 2, 2, 5537, 5539, 7, 1036, 2, 2, 5538, 5534, 3, 2, 2, 2, 5538, 5537, 3, 2, 2, 2, 5539, 5542, 3, 2, 2, 2, 5540, 5541, 7, 26, 2, 2, 5541, 5543, 5, 514, 258, 2, 5542, 5540, 3, 2, 2, 2, 5542, 5543, 3, 2, 2, 2, 5543, 5545, 3, 2, 2, 2, 5544, 5526, 3, 2, 2, 2, 5544, 5538, 3, 2, 2, 2, 5545, 537, 3, 2, 2, 2, 5546, 5547, 9, 91, 2, 2, 5547, 539, 3, 2, 2, 2, 5548, 5550, 7, 1043, 2, 2, 5549, 5548, 3, 2, 2, 2, 5549, 5550, 3, 2, 2, 2, 5550, 5551, 3, 2, 2, 2, 5551, 5552, 7, 1039, 2, 2, 5552, 541, 3, 2, 2, 2, 5553, 5555, 7, 104, 2, 2, 5554, 5553, 3, 2, 2, 2, 5554, 5555, 3, 2, 2, 2, 5555, 5556, 3, 2, 2, 2, 5556, 5557, 9, 92, 2, 2, 5557, 543, 3, 2, 2, 2, 5558, 5571, 5, 536, 269, 2, 5559, 5571, 5, 532, 267, 2, 5560, 5561, 7, 1010, 2, 2, 5561, 5571, 5, 532, 267, 2, 5562, 5571, 5, 540, 271, 2, 5563, 5571, 5, 538, 270, 2, 5564, 5571, 7, 1040, 2, 2, 5565, 5571, 7, 1042, 2, 2, 5566, 5568, 7, 104, 2, 2, 5567, 5566, 3, 2, 2, 2, 5567, 5568, 3, 2, 2, 2, 5568, 5569, 3, 2, 2, 2, 5569, 5571, 9, 92, 2, 2, 5570, 5558, 3, 2, 2, 2, 5570, 5559, 3, 2, 2, 2, 5570, 5560, 3, 2, 2, 2, 5570, 5562, 3, 2, 2, 2, 5570, 5563, 3, 2, 2, 2, 5570, 5564, 3, 2, 2, 2, 5570, 5565, 3, 2, 2, 2, 5570, 5567, 3, 2, 2, 2, 5571, 545, 3, 2, 2, 2, 5572, 5574, 9, 93, 2, 2, 5573, 5575, 5, 552, 277, 2, 5574, 5573, 3, 2, 2, 2, 5574, 5575, 3, 2, 2, 2, 5575, 5577, 3, 2, 2, 2, 5576, 5578, 7, 210, 2, 2, 5577, 5576, 3, 2, 2, 2, 5577, 5578, 3, 2, 2, 2, 5578, 5585, 3, 2, 2, 2, 5579, 5580, 7, 24, 2, 2, 5580, 5583, 7, 140, 2, 2, 5581, 5583, 7, 733, 2, 2, 5582, 5579, 3, 2, 2, 2, 5582, 5581, 3, 2, 2, 2, 5583, 5584, 3, 2, 2, 2, 5584, 5586, 5, 512, 257, 2, 5585, 5582, 3, 2, 2, 2, 5585, 5586, 3, 2, 2, 2, 5586, 5589, 3, 2, 2, 2, 5587, 5588, 7, 26, 2, 2, 5588, 5590, 5, 514, 258, 2, 5589, 5587, 3, 2, 2, 2, 5589, 5590, 3, 2, 2, 2, 5590, 5700, 3, 2, 2, 2, 5591, 5592, 7, 209, 2, 2, 5592, 5594, 9, 94, 2, 2, 5593, 5595, 5, 552, 277, 2, 5594, 5593, 3, 2, 2, 2, 5594, 5595, 3, 2, 2, 2, 5595, 5597, 3, 2, 2, 2, 5596, 5598, 7, 210, 2, 2, 5597, 5596, 3, 2, 2, 2, 5597, 5598, 3, 2, 2, 2, 5598, 5700, 3, 2, 2, 2, 5599, 5600, 7, 447, 2, 2, 5600, 5602, 7, 207, 2, 2, 5601, 5603, 5, 552, 277, 2, 5602, 5601, 3, 2, 2, 2, 5602, 5603, 3, 2, 2, 2, 5603, 5605, 3, 2, 2, 2, 5604, 5606, 7, 210, 2, 2, 5605, 5604, 3, 2, 2, 2, 5605, 5606, 3, 2, 2, 2, 5606, 5700, 3, 2, 2, 2, 5607, 5608, 7, 209, 2, 2, 5608, 5609, 9, 95, 2, 2, 5609, 5611, 7, 222, 2, 2, 5610, 5612, 5, 552, 277, 2, 5611, 5610, 3, 2, 2, 2, 5611, 5612, 3, 2, 2, 2, 5612, 5614, 3, 2, 2, 2, 5613, 5615, 7, 210, 2, 2, 5614, 5613, 3, 2, 2, 2, 5614, 5615, 3, 2, 2, 2, 5615, 5700, 3, 2, 2, 2, 5616, 5618, 9, 96, 2, 2, 5617, 5619, 5, 552, 277, 2, 5618, 5617, 3, 2, 2, 2, 5618, 5619, 3, 2, 2, 2, 5619, 5621, 3, 2, 2, 2, 5620, 5622, 9, 97, 2, 2, 5621, 5620, 3, 2, 2, 2, 5621, 5622, 3, 2, 2, 2, 5622, 5624, 3, 2, 2, 2, 5623, 5625, 7, 179, 2, 2, 5624, 5623, 3, 2, 2, 2, 5624, 5625, 3, 2, 2, 2, 5625, 5700, 3, 2, 2, 2, 5626, 5628, 7, 192, 2, 2, 5627, 5629, 5, 554, 278, 2, 5628, 5627, 3, 2, 2, 2, 5628, 5629, 3, 2, 2, 2, 5629, 5631, 3, 2, 2, 2, 5630, 5632, 9, 97, 2, 2, 5631, 5630, 3, 2, 2, 2, 5631, 5632, 3, 2, 2, 2, 5632, 5634, 3, 2, 2, 2, 5633, 5635, 7, 179, 2, 2, 5634, 5633, 3, 2, 2, 2, 5634, 5635, 3, 2, 2, 2, 5635, 5700, 3, 2, 2, 2, 5636, 5638, 7, 193, 2, 2, 5637, 5639, 7, 194, 2, 2, 5638, 5637, 3, 2, 2, 2, 5638, 5639, 3, 2, 2, 2, 5639, 5641, 3, 2, 2, 2, 5640, 5642, 5, 554, 278, 2, 5641, 5640, 3, 2, 2, 2, 5641, 5642, 3, 2, 2, 2, 5642, 5644, 3, 2, 2, 2, 5643, 5645, 9, 97, 2, 2, 5644, 5643, 3, 2, 2, 2, 5644, 5645, 3, 2, 2, 2, 5645, 5647, 3, 2, 2, 2, 5646, 5648, 7, 179, 2, 2, 5647, 5646, 3, 2, 2, 2, 5647, 5648, 3, 2, 2, 2, 5648, 5700, 3, 2, 2, 2, 5649, 5651, 9, 98, 2, 2, 5650, 5652, 5, 556, 279, 2, 5651, 5650, 3, 2, 2, 2, 5651, 5652, 3, 2, 2, 2, 5652, 5654, 3, 2, 2, 2, 5653, 5655, 9, 97, 2, 2, 5654, 5653, 3, 2, 2, 2, 5654, 5655, 3, 2, 2, 2, 5655, 5657, 3, 2, 2, 2, 5656, 5658, 7, 179, 2, 2, 5657, 5656, 3, 2, 2, 2, 5657, 5658, 3, 2, 2, 2, 5658, 5700, 3, 2, 2, 2, 5659, 5700, 9, 99, 2, 2, 5660, 5662, 9, 100, 2, 2, 5661, 5663, 5, 552, 277, 2, 5662, 5661, 3, 2, 2, 2, 5662, 5663, 3, 2, 2, 2, 5663, 5700, 3, 2, 2, 2, 5664, 5665, 9, 101, 2, 2, 5665, 5667, 5, 548, 275, 2, 5666, 5668, 7, 210, 2, 2, 5667, 5666, 3, 2, 2, 2, 5667, 5668, 3, 2, 2, 2, 5668, 5675, 3, 2, 2, 2, 5669, 5670, 7, 24, 2, 2, 5670, 5673, 7, 140, 2, 2, 5671, 5673, 7, 733, 2, 2, 5672, 5669, 3, 2, 2, 2, 5672, 5671, 3, 2, 2, 2, 5673, 5674, 3, 2, 2, 2, 5674, 5676, 5, 512, 257, 2, 5675, 5672, 3, 2, 2, 2, 5675, 5676, 3, 2, 2, 2, 5676, 5700, 3, 2, 2, 2, 5677, 5700, 9, 102, 2, 2, 5678, 5680, 7, 215, 2, 2, 5679, 5681, 7, 207, 2, 2, 5680, 5679, 3, 2, 2, 2, 5680, 5681, 3, 2, 2, 2, 5681, 5683, 3, 2, 2, 2, 5682, 5684, 7, 210, 2, 2, 5683, 5682, 3, 2, 2, 2, 5683, 5684, 3, 2, 2, 2, 5684, 5691, 3, 2, 2, 2, 5685, 5686, 7, 24, 2, 2, 5686, 5689, 7, 140, 2, 2, 5687, 5689, 7, 733, 2, 2, 5688, 5685, 3, 2, 2, 2, 5688, 5687, 3, 2, 2, 2, 5689, 5690, 3, 2, 2, 2, 5690, 5692, 5, 512, 257, 2, 5691, 5688, 3, 2, 2, 2, 5691, 5692, 3, 2, 2, 2, 5692, 5695, 3, 2, 2, 2, 5693, 5694, 7, 26, 2, 2, 5694, 5696, 5, 514, 258, 2, 5695, 5693, 3, 2, 2, 2, 5695, 5696, 3, 2, 2, 2, 5696, 5700, 3, 2, 2, 2, 5697, 5698, 7, 215, 2, 2, 5698, 5700, 7, 211, 2, 2, 5699, 5572, 3, 2, 2, 2, 5699, 5591, 3, 2, 2, 2, 5699, 5599, 3, 2, 2, 2, 5699, 5607, 3, 2, 2, 2, 5699, 5616, 3, 2, 2, 2, 5699, 5626, 3, 2, 2, 2, 5699, 5636, 3, 2, 2, 2, 5699, 5649, 3, 2, 2, 2, 5699, 5659, 3, 2, 2, 2, 5699, 5660, 3, 2, 2, 2, 5699, 5664, 3, 2, 2, 2, 5699, 5677, 3, 2, 2, 2, 5699, 5678, 3, 2, 2, 2, 5699, 5697, 3, 2, 2, 2, 5700, 547, 3, 2, 2, 2, 5701, 5702, 7, 1022, 2, 2, 5702, 5707, 7, 1037, 2, 2, 5703, 5704, 7, 1024, 2, 2, 5704, 5706, 7, 1037, 2, 2, 5705, 5703, 3, 2, 2, 2, 5706, 5709, 3, 2, 2, 2, 5707, 5705, 3, 2, 2, 2, 5707, 5708, 3, 2, 2, 2, 5708, 5710, 3, 2, 2, 2, 5709, 5707, 3, 2, 2, 2, 5710, 5711, 7, 1023, 2, 2, 5711, 549, 3, 2, 2, 2, 5712, 5714, 9, 103, 2, 2, 5713, 5715, 5, 552, 277, 2, 5714, 5713, 3, 2, 2, 2, 5714, 5715, 3, 2, 2, 2, 5715, 5738, 3, 2, 2, 2, 5716, 5718, 7, 206, 2, 2, 5717, 5719, 5, 552, 277, 2, 5718, 5717, 3, 2, 2, 2, 5718, 5719, 3, 2, 2, 2, 5719, 5726, 3, 2, 2, 2, 5720, 5721, 7, 24, 2, 2, 5721, 5724, 7, 140, 2, 2, 5722, 5724, 7, 733, 2, 2, 5723, 5720, 3, 2, 2, 2, 5723, 5722, 3, 2, 2, 2, 5724, 5725, 3, 2, 2, 2, 5725, 5727, 5, 512, 257, 2, 5726, 5723, 3, 2, 2, 2, 5726, 5727, 3, 2, 2, 2, 5727, 5738, 3, 2, 2, 2, 5728, 5738, 9, 104, 2, 2, 5729, 5731, 7, 198, 2, 2, 5730, 5732, 5, 554, 278, 2, 5731, 5730, 3, 2, 2, 2, 5731, 5732, 3, 2, 2, 2, 5732, 5738, 3, 2, 2, 2, 5733, 5735, 9, 97, 2, 2, 5734, 5736, 7, 190, 2, 2, 5735, 5734, 3, 2, 2, 2, 5735, 5736, 3, 2, 2, 2, 5736, 5738, 3, 2, 2, 2, 5737, 5712, 3, 2, 2, 2, 5737, 5716, 3, 2, 2, 2, 5737, 5728, 3, 2, 2, 2, 5737, 5729, 3, 2, 2, 2, 5737, 5733, 3, 2, 2, 2, 5738, 551, 3, 2, 2, 2, 5739, 5740, 7, 1022, 2, 2, 5740, 5741, 5, 532, 267, 2, 5741, 5742, 7, 1023, 2, 2, 5742, 553, 3, 2, 2, 2, 5743, 5744, 7, 1022, 2, 2, 5744, 5745, 5, 532, 267, 2, 5745, 5746, 7, 1024, 2, 2, 5746, 5747, 5, 532, 267, 2, 5747, 5748, 7, 1023, 2, 2, 5748, 555, 3, 2, 2, 2, 5749, 5750, 7, 1022, 2, 2, 5750, 5753, 5, 532, 267, 2, 5751, 5752, 7, 1024, 2, 2, 5752, 5754, 5, 532, 267, 2, 5753, 5751, 3, 2, 2, 2, 5753, 5754, 3, 2, 2, 2, 5754, 5755, 3, 2, 2, 2, 5755, 5756, 7, 1023, 2, 2, 5756, 557, 3, 2, 2, 2, 5757, 5762, 5, 526, 264, 2, 5758, 5759, 7, 1024, 2, 2, 5759, 5761, 5, 526, 264, 2, 5760, 5758, 3, 2, 2, 2, 5761, 5764, 3, 2, 2, 2, 5762, 5760, 3, 2, 2, 2, 5762, 5763, 3, 2, 2, 2, 5763, 559, 3, 2, 2, 2, 5764, 5762, 3, 2, 2, 2, 5765, 5770, 5, 502, 252, 2, 5766, 5767, 7, 1024, 2, 2, 5767, 5769, 5, 502, 252, 2, 5768, 5766, 3, 2, 2, 2, 5769, 5772, 3, 2, 2, 2, 5770, 5768, 3, 2, 2, 2, 5770, 5771, 3, 2, 2, 2, 5771, 561, 3, 2, 2, 2, 5772, 5770, 3, 2, 2, 2, 5773, 5774, 7, 1022, 2, 2, 5774, 5779, 5, 506, 254, 2, 5775, 5776, 7, 1024, 2, 2, 5776, 5778, 5, 506, 254, 2, 5777, 5775, 3, 2, 2, 2, 5778, 5781, 3, 2, 2, 2, 5779, 5777, 3, 2, 2, 2, 5779, 5780, 3, 2, 2, 2, 5780, 5782, 3, 2, 2, 2, 5781, 5779, 3, 2, 2, 2, 5782, 5783, 7, 1023, 2, 2, 5783, 563, 3, 2, 2, 2, 5784, 5789, 5, 604, 303, 2, 5785, 5786, 7, 1024, 2, 2, 5786, 5788, 5, 604, 303, 2, 5787, 5785, 3, 2, 2, 2, 5788, 5791, 3, 2, 2, 2, 5789, 5787, 3, 2, 2, 2, 5789, 5790, 3, 2, 2, 2, 5790, 565, 3, 2, 2, 2, 5791, 5789, 3, 2, 2, 2, 5792, 5797, 5, 578, 290, 2, 5793, 5794, 7, 1024, 2, 2, 5794, 5796, 5, 578, 290, 2, 5795, 5793, 3, 2, 2, 2, 5796, 5799, 3, 2, 2, 2, 5797, 5795, 3, 2, 2, 2, 5797, 5798, 3, 2, 2, 2, 5798, 567, 3, 2, 2, 2, 5799, 5797, 3, 2, 2, 2, 5800, 5805, 5, 544, 273, 2, 5801, 5802, 7, 1024, 2, 2, 5802, 5804, 5, 544, 273, 2, 5803, 5801, 3, 2, 2, 2, 5804, 5807, 3, 2, 2, 2, 5805, 5803, 3, 2, 2, 2, 5805, 5806, 3, 2, 2, 2, 5806, 569, 3, 2, 2, 2, 5807, 5805, 3, 2, 2, 2, 5808, 5813, 7, 1037, 2, 2, 5809, 5810, 7, 1024, 2, 2, 5810, 5812, 7, 1037, 2, 2, 5811, 5809, 3, 2, 2, 2, 5812, 5815, 3, 2, 2, 2, 5813, 5811, 3, 2, 2, 2, 5813, 5814, 3, 2, 2, 2, 5814, 571, 3, 2, 2, 2, 5815, 5813, 3, 2, 2, 2, 5816, 5821, 7, 1048, 2, 2, 5817, 5818, 7, 1024, 2, 2, 5818, 5820, 7, 1048, 2, 2, 5819, 5817, 3, 2, 2, 2, 5820, 5823, 3, 2, 2, 2, 5821, 5819, 3, 2, 2, 2, 5821, 5822, 3, 2, 2, 2, 5822, 573, 3, 2, 2, 2, 5823, 5821, 3, 2, 2, 2, 5824, 5836, 7, 106, 2, 2, 5825, 5827, 5, 610, 306, 2, 5826, 5825, 3, 2, 2, 2, 5826, 5827, 3, 2, 2, 2, 5827, 5828, 3, 2, 2, 2, 5828, 5836, 5, 544, 273, 2, 5829, 5833, 5, 576, 289, 2, 5830, 5831, 7, 108, 2, 2, 5831, 5832, 7, 168, 2, 2, 5832, 5834, 5, 576, 289, 2, 5833, 5830, 3, 2, 2, 2, 5833, 5834, 3, 2, 2, 2, 5834, 5836, 3, 2, 2, 2, 5835, 5824, 3, 2, 2, 2, 5835, 5826, 3, 2, 2, 2, 5835, 5829, 3, 2, 2, 2, 5836, 575, 3, 2, 2, 2, 5837, 5843, 9, 105, 2, 2, 5838, 5840, 7, 1022, 2, 2, 5839, 5841, 5, 532, 267, 2, 5840, 5839, 3, 2, 2, 2, 5840, 5841, 3, 2, 2, 2, 5841, 5842, 3, 2, 2, 2, 5842, 5844, 7, 1023, 2, 2, 5843, 5838, 3, 2, 2, 2, 5843, 5844, 3, 2, 2, 2, 5844, 5852, 3, 2, 2, 2, 5845, 5846, 7, 263, 2, 2, 5846, 5848, 7, 1022, 2, 2, 5847, 5849, 5, 532, 267, 2, 5848, 5847, 3, 2, 2, 2, 5848, 5849, 3, 2, 2, 2, 5849, 5850, 3, 2, 2, 2, 5850, 5852, 7, 1023, 2, 2, 5851, 5837, 3, 2, 2, 2, 5851, 5845, 3, 2, 2, 2, 5852, 577, 3, 2, 2, 2, 5853, 5856, 5, 604, 303, 2, 5854, 5856, 7, 40, 2, 2, 5855, 5853, 3, 2, 2, 2, 5855, 5854, 3, 2, 2, 2, 5856, 579, 3, 2, 2, 2, 5857, 5858, 7, 71, 2, 2, 5858, 5859, 7, 55, 2, 2, 5859, 581, 3, 2, 2, 2, 5860, 5861, 7, 71, 2, 2, 5861, 5862, 7, 104, 2, 2, 5862, 5863, 7, 55, 2, 2, 5863, 583, 3, 2, 2, 2, 5864, 5882, 5, 586, 294, 2, 5865, 5882, 5, 594, 298, 2, 5866, 5867, 5, 596, 299, 2, 5867, 5869, 7, 1022, 2, 2, 5868, 5870, 5, 600, 301, 2, 5869, 5868, 3, 2, 2, 2, 5869, 5870, 3, 2, 2, 2, 5870, 5871, 3, 2, 2, 2, 5871, 5872, 7, 1023, 2, 2, 5872, 5882, 3, 2, 2, 2, 5873, 5874, 5, 500, 251, 2, 5874, 5876, 7, 1022, 2, 2, 5875, 5877, 5, 600, 301, 2, 5876, 5875, 3, 2, 2, 2, 5876, 5877, 3, 2, 2, 2, 5877, 5878, 3, 2, 2, 2, 5878, 5879, 7, 1023, 2, 2, 5879, 5882, 3, 2, 2, 2, 5880, 5882, 5, 598, 300, 2, 5881, 5864, 3, 2, 2, 2, 5881, 5865, 3, 2, 2, 2, 5881, 5866, 3, 2, 2, 2, 5881, 5873, 3, 2, 2, 2, 5881, 5880, 3, 2, 2, 2, 5882, 585, 3, 2, 2, 2, 5883, 6041, 9, 106, 2, 2, 5884, 5885, 7, 31, 2, 2, 5885, 5886, 7, 1022, 2, 2, 5886, 5887, 5, 604, 303, 2, 5887, 5888, 7, 1024, 2, 2, 5888, 5889, 5, 550, 276, 2, 5889, 5890, 7, 1023, 2, 2, 5890, 6041, 3, 2, 2, 2, 5891, 5892, 7, 31, 2, 2, 5892, 5893, 7, 1022, 2, 2, 5893, 5894, 5, 604, 303, 2, 5894, 5895, 7, 171, 2, 2, 5895, 5896, 5, 512, 257, 2, 5896, 5897, 7, 1023, 2, 2, 5897, 6041, 3, 2, 2, 2, 5898, 5899, 7, 22, 2, 2, 5899, 5900, 7, 1022, 2, 2, 5900, 5901, 5, 604, 303, 2, 5901, 5902, 7, 13, 2, 2, 5902, 5903, 5, 550, 276, 2, 5903, 5904, 7, 1023, 2, 2, 5904, 6041, 3, 2, 2, 2, 5905, 5906, 7, 172, 2, 2, 5906, 5907, 7, 1022, 2, 2, 5907, 5908, 5, 504, 253, 2, 5908, 5909, 7, 1023, 2, 2, 5909, 6041, 3, 2, 2, 2, 5910, 5911, 7, 21, 2, 2, 5911, 5913, 5, 604, 303, 2, 5912, 5914, 5, 588, 295, 2, 5913, 5912, 3, 2, 2, 2, 5914, 5915, 3, 2, 2, 2, 5915, 5913, 3, 2, 2, 2, 5915, 5916, 3, 2, 2, 2, 5916, 5919, 3, 2, 2, 2, 5917, 5918, 7, 51, 2, 2, 5918, 5920, 5, 602, 302, 2, 5919, 5917, 3, 2, 2, 2, 5919, 5920, 3, 2, 2, 2, 5920, 5921, 3, 2, 2, 2, 5921, 5922, 7, 342, 2, 2, 5922, 6041, 3, 2, 2, 2, 5923, 5925, 7, 21, 2, 2, 5924, 5926, 5, 588, 295, 2, 5925, 5924, 3, 2, 2, 2, 5926, 5927, 3, 2, 2, 2, 5927, 5925, 3, 2, 2, 2, 5927, 5928, 3, 2, 2, 2, 5928, 5931, 3, 2, 2, 2, 5929, 5930, 7, 51, 2, 2, 5930, 5932, 5, 602, 302, 2, 5931, 5929, 3, 2, 2, 2, 5931, 5932, 3, 2, 2, 2, 5932, 5933, 3, 2, 2, 2, 5933, 5934, 7, 342, 2, 2, 5934, 6041, 3, 2, 2, 2, 5935, 5936, 7, 206, 2, 2, 5936, 5937, 7, 1022, 2, 2, 5937, 5940, 5, 600, 301, 2, 5938, 5939, 7, 171, 2, 2, 5939, 5941, 5, 512, 257, 2, 5940, 5938, 3, 2, 2, 2, 5940, 5941, 3, 2, 2, 2, 5941, 5942, 3, 2, 2, 2, 5942, 5943, 7, 1023, 2, 2, 5943, 6041, 3, 2, 2, 2, 5944, 5945, 7, 264, 2, 2, 5945, 5948, 7, 1022, 2, 2, 5946, 5949, 5, 536, 269, 2, 5947, 5949, 5, 604, 303, 2, 5948, 5946, 3, 2, 2, 2, 5948, 5947, 3, 2, 2, 2, 5949, 5950, 3, 2, 2, 2, 5950, 5953, 7, 73, 2, 2, 5951, 5954, 5, 536, 269, 2, 5952, 5954, 5, 604, 303, 2, 5953, 5951, 3, 2, 2, 2, 5953, 5952, 3, 2, 2, 2, 5954, 5955, 3, 2, 2, 2, 5955, 5956, 7, 1023, 2, 2, 5956, 6041, 3, 2, 2, 2, 5957, 5958, 9, 107, 2, 2, 5958, 5961, 7, 1022, 2, 2, 5959, 5962, 5, 536, 269, 2, 5960, 5962, 5, 604, 303, 2, 5961, 5959, 3, 2, 2, 2, 5961, 5960, 3, 2, 2, 2, 5962, 5963, 3, 2, 2, 2, 5963, 5966, 7, 63, 2, 2, 5964, 5967, 5, 532, 267, 2, 5965, 5967, 5, 604, 303, 2, 5966, 5964, 3, 2, 2, 2, 5966, 5965, 3, 2, 2, 2, 5967, 5973, 3, 2, 2, 2, 5968, 5971, 7, 60, 2, 2, 5969, 5972, 5, 532, 267, 2, 5970, 5972, 5, 604, 303, 2, 5971, 5969, 3, 2, 2, 2, 5971, 5970, 3, 2, 2, 2, 5972, 5974, 3, 2, 2, 2, 5973, 5968, 3, 2, 2, 2, 5973, 5974, 3, 2, 2, 2, 5974, 5975, 3, 2, 2, 2, 5975, 5976, 7, 1023, 2, 2, 5976, 6041, 3, 2, 2, 2, 5977, 5978, 7, 268, 2, 2, 5978, 5979, 7, 1022, 2, 2, 5979, 5982, 9, 108, 2, 2, 5980, 5983, 5, 536, 269, 2, 5981, 5983, 5, 604, 303, 2, 5982, 5980, 3, 2, 2, 2, 5982, 5981, 3, 2, 2, 2, 5982, 5983, 3, 2, 2, 2, 5983, 5984, 3, 2, 2, 2, 5984, 5987, 7, 63, 2, 2, 5985, 5988, 5, 536, 269, 2, 5986, 5988, 5, 604, 303, 2, 5987, 5985, 3, 2, 2, 2, 5987, 5986, 3, 2, 2, 2, 5988, 5989, 3, 2, 2, 2, 5989, 5990, 7, 1023, 2, 2, 5990, 6041, 3, 2, 2, 2, 5991, 5992, 7, 268, 2, 2, 5992, 5995, 7, 1022, 2, 2, 5993, 5996, 5, 536, 269, 2, 5994, 5996, 5, 604, 303, 2, 5995, 5993, 3, 2, 2, 2, 5995, 5994, 3, 2, 2, 2, 5996, 5997, 3, 2, 2, 2, 5997, 6000, 7, 63, 2, 2, 5998, 6001, 5, 536, 269, 2, 5999, 6001, 5, 604, 303, 2, 6000, 5998, 3, 2, 2, 2, 6000, 5999, 3, 2, 2, 2, 6001, 6002, 3, 2, 2, 2, 6002, 6003, 7, 1023, 2, 2, 6003, 6041, 3, 2, 2, 2, 6004, 6005, 7, 991, 2, 2, 6005, 6008, 7, 1022, 2, 2, 6006, 6009, 5, 536, 269, 2, 6007, 6009, 5, 604, 303, 2, 6008, 6006, 3, 2, 2, 2, 6008, 6007, 3, 2, 2, 2, 6009, 6016, 3, 2, 2, 2, 6010, 6011, 7, 13, 2, 2, 6011, 6012, 9, 109, 2, 2, 6012, 6013, 7, 1022, 2, 2, 6013, 6014, 5, 532, 267, 2, 6014, 6015, 7, 1023, 2, 2, 6015, 6017, 3, 2, 2, 2, 6016, 6010, 3, 2, 2, 2, 6016, 6017, 3, 2, 2, 2, 6017, 6019, 3, 2, 2, 2, 6018, 6020, 5, 590, 296, 2, 6019, 6018, 3, 2, 2, 2, 6019, 6020, 3, 2, 2, 2, 6020, 6021, 3, 2, 2, 2, 6021, 6022, 7, 1023, 2, 2, 6022, 6041, 3, 2, 2, 2, 6023, 6024, 7, 261, 2, 2, 6024, 6025, 7, 1022, 2, 2, 6025, 6026, 5, 62, 32, 2, 6026, 6029, 7, 63, 2, 2, 6027, 6030, 5, 536, 269, 2, 6028, 6030, 5, 604, 303, 2, 6029, 6027, 3, 2, 2, 2, 6029, 6028, 3, 2, 2, 2, 6030, 6031, 3, 2, 2, 2, 6031, 6032, 7, 1023, 2, 2, 6032, 6041, 3, 2, 2, 2, 6033, 6034, 7, 791, 2, 2, 6034, 6035, 7, 1022, 2, 2, 6035, 6036, 9, 110, 2, 2, 6036, 6037, 7, 1024, 2, 2, 6037, 6038, 5, 536, 269, 2, 6038, 6039, 7, 1023, 2, 2, 6039, 6041, 3, 2, 2, 2, 6040, 5883, 3, 2, 2, 2, 6040, 5884, 3, 2, 2, 2, 6040, 5891, 3, 2, 2, 2, 6040, 5898, 3, 2, 2, 2, 6040, 5905, 3, 2, 2, 2, 6040, 5910, 3, 2, 2, 2, 6040, 5923, 3, 2, 2, 2, 6040, 5935, 3, 2, 2, 2, 6040, 5944, 3, 2, 2, 2, 6040, 5957, 3, 2, 2, 2, 6040, 5977, 3, 2, 2, 2, 6040, 5991, 3, 2, 2, 2, 6040, 6004, 3, 2, 2, 2, 6040, 6023, 3, 2, 2, 2, 6040, 6033, 3, 2, 2, 2, 6041, 587, 3, 2, 2, 2, 6042, 6043, 7, 173, 2, 2, 6043, 6044, 5, 602, 302, 2, 6044, 6045, 7, 158, 2, 2, 6045, 6046, 5, 602, 302, 2, 6046, 589, 3, 2, 2, 2, 6047, 6048, 7, 402, 2, 2, 6048, 6053, 5, 592, 297, 2, 6049, 6050, 7, 1024, 2, 2, 6050, 6052, 5, 592, 297, 2, 6051, 6049, 3, 2, 2, 2, 6052, 6055, 3, 2, 2, 2, 6053, 6051, 3, 2, 2, 2, 6053, 6054, 3, 2, 2, 2, 6054, 6062, 3, 2, 2, 2, 6055, 6053, 3, 2, 2, 2, 6056, 6057, 7, 402, 2, 2, 6057, 6058, 5, 532, 267, 2, 6058, 6059, 7, 1010, 2, 2, 6059, 6060, 5, 532, 267, 2, 6060, 6062, 3, 2, 2, 2, 6061, 6047, 3, 2, 2, 2, 6061, 6056, 3, 2, 2, 2, 6062, 591, 3, 2, 2, 2, 6063, 6065, 5, 532, 267, 2, 6064, 6066, 9, 111, 2, 2, 6065, 6064, 3, 2, 2, 2, 6065, 6066, 3, 2, 2, 2, 6066, 593, 3, 2, 2, 2, 6067, 6068, 9, 112, 2, 2, 6068, 6070, 7, 1022, 2, 2, 6069, 6071, 9, 40, 2, 2, 6070, 6069, 3, 2, 2, 2, 6070, 6071, 3, 2, 2, 2, 6071, 6072, 3, 2, 2, 2, 6072, 6073, 5, 602, 302, 2, 6073, 6074, 7, 1023, 2, 2, 6074, 6124, 3, 2, 2, 2, 6075, 6076, 7, 241, 2, 2, 6076, 6082, 7, 1022, 2, 2, 6077, 6083, 7, 1005, 2, 2, 6078, 6080, 7, 8, 2, 2, 6079, 6078, 3, 2, 2, 2, 6079, 6080, 3, 2, 2, 2, 6080, 6081, 3, 2, 2, 2, 6081, 6083, 5, 602, 302, 2, 6082, 6077, 3, 2, 2, 2, 6082, 6079, 3, 2, 2, 2, 6083, 6084, 3, 2, 2, 2, 6084, 6124, 7, 1023, 2, 2, 6085, 6086, 7, 241, 2, 2, 6086, 6087, 7, 1022, 2, 2, 6087, 6088, 7, 47, 2, 2, 6088, 6089, 5, 600, 301, 2, 6089, 6090, 7, 1023, 2, 2, 6090, 6124, 3, 2, 2, 2, 6091, 6092, 9, 113, 2, 2, 6092, 6094, 7, 1022, 2, 2, 6093, 6095, 7, 8, 2, 2, 6094, 6093, 3, 2, 2, 2, 6094, 6095, 3, 2, 2, 2, 6095, 6096, 3, 2, 2, 2, 6096, 6097, 5, 602, 302, 2, 6097, 6098, 7, 1023, 2, 2, 6098, 6124, 3, 2, 2, 2, 6099, 6100, 7, 242, 2, 2, 6100, 6102, 7, 1022, 2, 2, 6101, 6103, 7, 47, 2, 2, 6102, 6101, 3, 2, 2, 2, 6102, 6103, 3, 2, 2, 2, 6103, 6104, 3, 2, 2, 2, 6104, 6115, 5, 600, 301, 2, 6105, 6106, 7, 113, 2, 2, 6106, 6107, 7, 18, 2, 2, 6107, 6112, 5, 212, 107, 2, 6108, 6109, 7, 1024, 2, 2, 6109, 6111, 5, 212, 107, 2, 6110, 6108, 3, 2, 2, 2, 6111, 6114, 3, 2, 2, 2, 6112, 6110, 3, 2, 2, 2, 6112, 6113, 3, 2, 2, 2, 6113, 6116, 3, 2, 2, 2, 6114, 6112, 3, 2, 2, 2, 6115, 6105, 3, 2, 2, 2, 6115, 6116, 3, 2, 2, 2, 6116, 6119, 3, 2, 2, 2, 6117, 6118, 7, 141, 2, 2, 6118, 6120, 7, 1037, 2, 2, 6119, 6117, 3, 2, 2, 2, 6119, 6120, 3, 2, 2, 2, 6120, 6121, 3, 2, 2, 2, 6121, 6122, 7, 1023, 2, 2, 6122, 6124, 3, 2, 2, 2, 6123, 6067, 3, 2, 2, 2, 6123, 6075, 3, 2, 2, 2, 6123, 6085, 3, 2, 2, 2, 6123, 6091, 3, 2, 2, 2, 6123, 6099, 3, 2, 2, 2, 6124, 595, 3, 2, 2, 2, 6125, 6149, 5, 632, 317, 2, 6126, 6149, 7, 640, 2, 2, 6127, 6149, 7, 257, 2, 2, 6128, 6149, 7, 253, 2, 2, 6129, 6149, 7, 254, 2, 2, 6130, 6149, 7, 255, 2, 2, 6131, 6149, 7, 258, 2, 2, 6132, 6149, 7, 259, 2, 2, 6133, 6149, 7, 260, 2, 2, 6134, 6149, 7, 71, 2, 2, 6135, 6149, 7, 78, 2, 2, 6136, 6149, 7, 256, 2, 2, 6137, 6149, 7, 262, 2, 2, 6138, 6149, 7, 437, 2, 2, 6139, 6149, 7, 263, 2, 2, 6140, 6149, 7, 129, 2, 2, 6141, 6149, 7, 265, 2, 2, 6142, 6149, 7, 266, 2, 2, 6143, 6149, 7, 267, 2, 2, 6144, 6149, 7, 268, 2, 2, 6145, 6149, 7, 269, 2, 2, 6146, 6149, 7, 270, 2, 2, 6147, 6149, 7, 271, 2, 2, 6148, 6125, 3, 2, 2, 2, 6148, 6126, 3, 2, 2, 2, 6148, 6127, 3, 2, 2, 2, 6148, 6128, 3, 2, 2, 2, 6148, 6129, 3, 2, 2, 2, 6148, 6130, 3, 2, 2, 2, 6148, 6131, 3, 2, 2, 2, 6148, 6132, 3, 2, 2, 2, 6148, 6133, 3, 2, 2, 2, 6148, 6134, 3, 2, 2, 2, 6148, 6135, 3, 2, 2, 2, 6148, 6136, 3, 2, 2, 2, 6148, 6137, 3, 2, 2, 2, 6148, 6138, 3, 2, 2, 2, 6148, 6139, 3, 2, 2, 2, 6148, 6140, 3, 2, 2, 2, 6148, 6141, 3, 2, 2, 2, 6148, 6142, 3, 2, 2, 2, 6148, 6143, 3, 2, 2, 2, 6148, 6144, 3, 2, 2, 2, 6148, 6145, 3, 2, 2, 2, 6148, 6146, 3, 2, 2, 2, 6148, 6147, 3, 2, 2, 2, 6149, 597, 3, 2, 2, 2, 6150, 6151, 9, 114, 2, 2, 6151, 6152, 7, 1022, 2, 2, 6152, 6153, 5, 602, 302, 2, 6153, 6154, 7, 1023, 2, 2, 6154, 599, 3, 2, 2, 2, 6155, 6160, 5, 544, 273, 2, 6156, 6160, 5, 504, 253, 2, 6157, 6160, 5, 584, 293, 2, 6158, 6160, 5, 604, 303, 2, 6159, 6155, 3, 2, 2, 2, 6159, 6156, 3, 2, 2, 2, 6159, 6157, 3, 2, 2, 2, 6159, 6158, 3, 2, 2, 2, 6160, 6170, 3, 2, 2, 2, 6161, 6166, 7, 1024, 2, 2, 6162, 6167, 5, 544, 273, 2, 6163, 6167, 5, 504, 253, 2, 6164, 6167, 5, 584, 293, 2, 6165, 6167, 5, 604, 303, 2, 6166, 6162, 3, 2, 2, 2, 6166, 6163, 3, 2, 2, 2, 6166, 6164, 3, 2, 2, 2, 6166, 6165, 3, 2, 2, 2, 6167, 6169, 3, 2, 2, 2, 6168, 6161, 3, 2, 2, 2, 6169, 6172, 3, 2, 2, 2, 6170, 6168, 3, 2, 2, 2, 6170, 6171, 3, 2, 2, 2, 6171, 601, 3, 2, 2, 2, 6172, 6170, 3, 2, 2, 2, 6173, 6178, 5, 544, 273, 2, 6174, 6178, 5, 504, 253, 2, 6175, 6178, 5, 584, 293, 2, 6176, 6178, 5, 604, 303, 2, 6177, 6173, 3, 2, 2, 2, 6177, 6174, 3, 2, 2, 2, 6177, 6175, 3, 2, 2, 2, 6177, 6176, 3, 2, 2, 2, 6178, 603, 3, 2, 2, 2, 6179, 6180, 8, 303, 1, 2, 6180, 6181, 9, 115, 2, 2, 6181, 6191, 5, 604, 303, 6, 6182, 6183, 5, 606, 304, 2, 6183, 6185, 7, 81, 2, 2, 6184, 6186, 7, 104, 2, 2, 6185, 6184, 3, 2, 2, 2, 6185, 6186, 3, 2, 2, 2, 6186, 6187, 3, 2, 2, 2, 6187, 6188, 9, 116, 2, 2, 6188, 6191, 3, 2, 2, 2, 6189, 6191, 5, 606, 304, 2, 6190, 6179, 3, 2, 2, 2, 6190, 6182, 3, 2, 2, 2, 6190, 6189, 3, 2, 2, 2, 6191, 6198, 3, 2, 2, 2, 6192, 6193, 12, 5, 2, 2, 6193, 6194, 5, 614, 308, 2, 6194, 6195, 5, 604, 303, 6, 6195, 6197, 3, 2, 2, 2, 6196, 6192, 3, 2, 2, 2, 6197, 6200, 3, 2, 2, 2, 6198, 6196, 3, 2, 2, 2, 6198, 6199, 3, 2, 2, 2, 6199, 605, 3, 2, 2, 2, 6200, 6198, 3, 2, 2, 2, 6201, 6204, 8, 304, 1, 2, 6202, 6203, 7, 1048, 2, 2, 6203, 6205, 7, 996, 2, 2, 6204, 6202, 3, 2, 2, 2, 6204, 6205, 3, 2, 2, 2, 6205, 6206, 3, 2, 2, 2, 6206, 6207, 5, 608, 305, 2, 6207, 6265, 3, 2, 2, 2, 6208, 6209, 12, 9, 2, 2, 6209, 6210, 5, 612, 307, 2, 6210, 6211, 5, 606, 304, 10, 6211, 6264, 3, 2, 2, 2, 6212, 6214, 12, 7, 2, 2, 6213, 6215, 7, 104, 2, 2, 6214, 6213, 3, 2, 2, 2, 6214, 6215, 3, 2, 2, 2, 6215, 6216, 3, 2, 2, 2, 6216, 6217, 7, 16, 2, 2, 6217, 6218, 5, 606, 304, 2, 6218, 6219, 7, 12, 2, 2, 6219, 6220, 5, 606, 304, 8, 6220, 6264, 3, 2, 2, 2, 6221, 6222, 12, 6, 2, 2, 6222, 6223, 7, 531, 2, 2, 6223, 6224, 7, 90, 2, 2, 6224, 6264, 5, 606, 304, 7, 6225, 6227, 12, 4, 2, 2, 6226, 6228, 7, 104, 2, 2, 6227, 6226, 3, 2, 2, 2, 6227, 6228, 3, 2, 2, 2, 6228, 6229, 3, 2, 2, 2, 6229, 6230, 9, 117, 2, 2, 6230, 6264, 5, 606, 304, 5, 6231, 6233, 12, 11, 2, 2, 6232, 6234, 7, 104, 2, 2, 6233, 6232, 3, 2, 2, 2, 6233, 6234, 3, 2, 2, 2, 6234, 6235, 3, 2, 2, 2, 6235, 6236, 7, 73, 2, 2, 6236, 6239, 7, 1022, 2, 2, 6237, 6240, 5, 182, 92, 2, 6238, 6240, 5, 564, 283, 2, 6239, 6237, 3, 2, 2, 2, 6239, 6238, 3, 2, 2, 2, 6240, 6241, 3, 2, 2, 2, 6241, 6242, 7, 1023, 2, 2, 6242, 6264, 3, 2, 2, 2, 6243, 6244, 12, 10, 2, 2, 6244, 6245, 7, 81, 2, 2, 6245, 6264, 5, 542, 272, 2, 6246, 6247, 12, 8, 2, 2, 6247, 6248, 5, 612, 307, 2, 6248, 6249, 9, 118, 2, 2, 6249, 6250, 7, 1022, 2, 2, 6250, 6251, 5, 182, 92, 2, 6251, 6252, 7, 1023, 2, 2, 6252, 6264, 3, 2, 2, 2, 6253, 6255, 12, 5, 2, 2, 6254, 6256, 7, 104, 2, 2, 6255, 6254, 3, 2, 2, 2, 6255, 6256, 3, 2, 2, 2, 6256, 6257, 3, 2, 2, 2, 6257, 6258, 7, 90, 2, 2, 6258, 6261, 5, 606, 304, 2, 6259, 6260, 7, 348, 2, 2, 6260, 6262, 7, 1037, 2, 2, 6261, 6259, 3, 2, 2, 2, 6261, 6262, 3, 2, 2, 2, 6262, 6264, 3, 2, 2, 2, 6263, 6208, 3, 2, 2, 2, 6263, 6212, 3, 2, 2, 2, 6263, 6221, 3, 2, 2, 2, 6263, 6225, 3, 2, 2, 2, 6263, 6231, 3, 2, 2, 2, 6263, 6243, 3, 2, 2, 2, 6263, 6246, 3, 2, 2, 2, 6263, 6253, 3, 2, 2, 2, 6264, 6267, 3, 2, 2, 2, 6265, 6263, 3, 2, 2, 2, 6265, 6266, 3, 2, 2, 2, 6266, 607, 3, 2, 2, 2, 6267, 6265, 3, 2, 2, 2, 6268, 6269, 8, 305, 1, 2, 6269, 6314, 5, 544, 273, 2, 6270, 6314, 5, 504, 253, 2, 6271, 6314, 5, 584, 293, 2, 6272, 6314, 5, 510, 256, 2, 6273, 6274, 5, 610, 306, 2, 6274, 6275, 5, 608, 305, 11, 6275, 6314, 3, 2, 2, 2, 6276, 6277, 7, 210, 2, 2, 6277, 6314, 5, 608, 305, 10, 6278, 6279, 7, 1022, 2, 2, 6279, 6284, 5, 604, 303, 2, 6280, 6281, 7, 1024, 2, 2, 6281, 6283, 5, 604, 303, 2, 6282, 6280, 3, 2, 2, 2, 6283, 6286, 3, 2, 2, 2, 6284, 6282, 3, 2, 2, 2, 6284, 6285, 3, 2, 2, 2, 6285, 6287, 3, 2, 2, 2, 6286, 6284, 3, 2, 2, 2, 6287, 6288, 7, 1023, 2, 2, 6288, 6314, 3, 2, 2, 2, 6289, 6290, 7, 513, 2, 2, 6290, 6291, 7, 1022, 2, 2, 6291, 6294, 5, 604, 303, 2, 6292, 6293, 7, 1024, 2, 2, 6293, 6295, 5, 604, 303, 2, 6294, 6292, 3, 2, 2, 2, 6295, 6296, 3, 2, 2, 2, 6296, 6294, 3, 2, 2, 2, 6296, 6297, 3, 2, 2, 2, 6297, 6298, 3, 2, 2, 2, 6298, 6299, 7, 1023, 2, 2, 6299, 6314, 3, 2, 2, 2, 6300, 6301, 7, 55, 2, 2, 6301, 6302, 7, 1022, 2, 2, 6302, 6303, 5, 182, 92, 2, 6303, 6304, 7, 1023, 2, 2, 6304, 6314, 3, 2, 2, 2, 6305, 6306, 7, 1022, 2, 2, 6306, 6307, 5, 182, 92, 2, 6307, 6308, 7, 1023, 2, 2, 6308, 6314, 3, 2, 2, 2, 6309, 6310, 7, 79, 2, 2, 6310, 6311, 5, 604, 303, 2, 6311, 6312, 5, 62, 32, 2, 6312, 6314, 3, 2, 2, 2, 6313, 6268, 3, 2, 2, 2, 6313, 6270, 3, 2, 2, 2, 6313, 6271, 3, 2, 2, 2, 6313, 6272, 3, 2, 2, 2, 6313, 6273, 3, 2, 2, 2, 6313, 6276, 3, 2, 2, 2, 6313, 6278, 3, 2, 2, 2, 6313, 6289, 3, 2, 2, 2, 6313, 6300, 3, 2, 2, 2, 6313, 6305, 3, 2, 2, 2, 6313, 6309, 3, 2, 2, 2, 6314, 6328, 3, 2, 2, 2, 6315, 6316, 12, 4, 2, 2, 6316, 6317, 5, 616, 309, 2, 6317, 6318, 5, 608, 305, 5, 6318, 6327, 3, 2, 2, 2, 6319, 6320, 12, 3, 2, 2, 6320, 6321, 5, 618, 310, 2, 6321, 6322, 5, 608, 305, 4, 6322, 6327, 3, 2, 2, 2, 6323, 6324, 12, 13, 2, 2, 6324, 6325, 7, 26, 2, 2, 6325, 6327, 5, 514, 258, 2, 6326, 6315, 3, 2, 2, 2, 6326, 6319, 3, 2, 2, 2, 6326, 6323, 3, 2, 2, 2, 6327, 6330, 3, 2, 2, 2, 6328, 6326, 3, 2, 2, 2, 6328, 6329, 3, 2, 2, 2, 6329, 609, 3, 2, 2, 2, 6330, 6328, 3, 2, 2, 2, 6331, 6332, 9, 119, 2, 2, 6332, 611, 3, 2, 2, 2, 6333, 6348, 7, 1013, 2, 2, 6334, 6348, 7, 1014, 2, 2, 6335, 6348, 7, 1015, 2, 2, 6336, 6337, 7, 1015, 2, 2, 6337, 6348, 7, 1013, 2, 2, 6338, 6339, 7, 1014, 2, 2, 6339, 6348, 7, 1013, 2, 2, 6340, 6341, 7, 1015, 2, 2, 6341, 6348, 7, 1014, 2, 2, 6342, 6343, 7, 1016, 2, 2, 6343, 6348, 7, 1013, 2, 2, 6344, 6345, 7, 1015, 2, 2, 6345, 6346, 7, 1013, 2, 2, 6346, 6348, 7, 1014, 2, 2, 6347, 6333, 3, 2, 2, 2, 6347, 6334, 3, 2, 2, 2, 6347, 6335, 3, 2, 2, 2, 6347, 6336, 3, 2, 2, 2, 6347, 6338, 3, 2, 2, 2, 6347, 6340, 3, 2, 2, 2, 6347, 6342, 3, 2, 2, 2, 6347, 6344, 3, 2, 2, 2, 6348, 613, 3, 2, 2, 2, 6349, 6357, 7, 12, 2, 2, 6350, 6351, 7, 1019, 2, 2, 6351, 6357, 7, 1019, 2, 2, 6352, 6357, 7, 178, 2, 2, 6353, 6357, 7, 112, 2, 2, 6354, 6355, 7, 1018, 2, 2, 6355, 6357, 7, 1018, 2, 2, 6356, 6349, 3, 2, 2, 2, 6356, 6350, 3, 2, 2, 2, 6356, 6352, 3, 2, 2, 2, 6356, 6353, 3, 2, 2, 2, 6356, 6354, 3, 2, 2, 2, 6357, 615, 3, 2, 2, 2, 6358, 6359, 7, 1015, 2, 2, 6359, 6366, 7, 1015, 2, 2, 6360, 6361, 7, 1014, 2, 2, 6361, 6366, 7, 1014, 2, 2, 6362, 6366, 7, 1019, 2, 2, 6363, 6366, 7, 1020, 2, 2, 6364, 6366, 7, 1018, 2, 2, 6365, 6358, 3, 2, 2, 2, 6365, 6360, 3, 2, 2, 2, 6365, 6362, 3, 2, 2, 2, 6365, 6363, 3, 2, 2, 2, 6365, 6364, 3, 2, 2, 2, 6366, 617, 3, 2, 2, 2, 6367, 6368, 9, 120, 2, 2, 6368, 619, 3, 2, 2, 2, 6369, 6370, 9, 121, 2, 2, 6370, 621, 3, 2, 2, 2, 6371, 6372, 9, 122, 2, 2, 6372, 623, 3, 2, 2, 2, 6373, 6374, 9, 123, 2, 2, 6374, 625, 3, 2, 2, 2, 6375, 6376, 9, 124, 2, 2, 6376, 627, 3, 2, 2, 2, 6377, 6378, 9, 125, 2, 2, 6378, 629, 3, 2, 2, 2, 6379, 6380, 9, 126, 2, 2, 6380, 631, 3, 2, 2, 2, 6381, 6382, 9, 127, 2, 2, 6382, 633, 3, 2, 2, 2, 930, 638, 641, 647, 650, 653, 655, 660, 663, 666, 675, 714, 726, 737, 754, 759, 771, 798, 807, 812, 818, 823, 827, 836, 839, 842, 846, 853, 856, 861, 869, 874, 879, 882, 884, 896, 899, 903, 906, 910, 913, 917, 920, 923, 927, 930, 934, 940, 946, 952, 959, 966, 972, 978, 987, 992, 1008, 1015, 1019, 1029, 1033, 1037, 1041, 1045, 1050, 1053, 1056, 1059, 1062, 1068, 1072, 1078, 1083, 1086, 1089, 1091, 1102, 1106, 1109, 1123, 1126, 1130, 1133, 1137, 1140, 1144, 1147, 1151, 1154, 1157, 1161, 1164, 1168, 1174, 1187, 1194, 1199, 1202, 1207, 1215, 1221, 1225, 1228, 1233, 1236, 1240, 1243, 1247, 1250, 1258, 1260, 1267, 1273, 1281, 1284, 1291, 1294, 1296, 1302, 1308, 1325, 1332, 1339, 1350, 1353, 1366, 1379, 1384, 1400, 1408, 1418, 1424, 1434, 1437, 1442, 1455, 1462, 1469, 1471, 1478, 1482, 1484, 1489, 1492, 1498, 1503, 1505, 1509, 1512, 1515, 1521, 1526, 1528, 1533, 1540, 1542, 1549, 1554, 1558, 1561, 1569, 1577, 1579, 1587, 1591, 1594, 1600, 1605, 1608, 1614, 1617, 1621, 1626, 1631, 1635, 1640, 1643, 1647, 1651, 1655, 1659, 1664, 1669, 1674, 1680, 1685, 1690, 1696, 1701, 1706, 1711, 1716, 1721, 1726, 1731, 1736, 1741, 1746, 1752, 1757, 1763, 1773, 1780, 1782, 1790, 1795, 1798, 1806, 1812, 1828, 1840, 1842, 1845, 1853, 1859, 1865, 1878, 1885, 1893, 1896, 1907, 1915, 1918, 1930, 1937, 1945, 1948, 1960, 1967, 1975, 1978, 1985, 1993, 1996, 1998, 2003, 2011, 2020, 2024, 2028, 2033, 2039, 2045, 2050, 2055, 2060, 2065, 2068, 2073, 2078, 2088, 2092, 2099, 2104, 2107, 2112, 2115, 2119, 2123, 2131, 2150, 2153, 2156, 2160, 2170, 2183, 2190, 2193, 2202, 2205, 2208, 2219, 2222, 2226, 2234, 2237, 2242, 2250, 2256, 2260, 2264, 2269, 2274, 2281, 2285, 2296, 2304, 2307, 2313, 2319, 2321, 2326, 2329, 2335, 2341, 2343, 2347, 2350, 2353, 2359, 2365, 2368, 2374, 2380, 2382, 2387, 2395, 2397, 2406, 2411, 2419, 2423, 2431, 2441, 2446, 2453, 2457, 2461, 2490, 2494, 2506, 2509, 2518, 2535, 2547, 2554, 2561, 2576, 2589, 2595, 2601, 2607, 2613, 2619, 2625, 2630, 2637, 2644, 2651, 2656, 2659, 2661, 2675, 2682, 2689, 2695, 2699, 2703, 2710, 2713, 2718, 2725, 2732, 2736, 2745, 2754, 2763, 2766, 2770, 2779, 2783, 2786, 2789, 2795, 2798, 2804, 2813, 2816, 2827, 2830, 2835, 2838, 2843, 2853, 2858, 2864, 2866, 2872, 2874, 2880, 2888, 2893, 2901, 2904, 2909, 2912, 2917, 2925, 2933, 2939, 2947, 2952, 2960, 2963, 2967, 2970, 2978, 2984, 2993, 2996, 3000, 3004, 3010, 3014, 3018, 3020, 3023, 3026, 3029, 3035, 3039, 3042, 3045, 3048, 3051, 3053, 3057, 3063, 3069, 3074, 3077, 3083, 3087, 3095, 3099, 3102, 3105, 3114, 3118, 3121, 3125, 3129, 3132, 3135, 3140, 3146, 3150, 3160, 3166, 3170, 3176, 3180, 3186, 3189, 3201, 3205, 3209, 3217, 3221, 3229, 3232, 3236, 3239, 3247, 3252, 3255, 3258, 3262, 3265, 3274, 3279, 3288, 3293, 3300, 3307, 3315, 3320, 3328, 3331, 3334, 3341, 3344, 3351, 3354, 3362, 3368, 3379, 3382, 3393, 3399, 3403, 3414, 3419, 3421, 3425, 3435, 3445, 3451, 3456, 3459, 3462, 3465, 3471, 3476, 3479, 3482, 3485, 3487, 3493, 3498, 3501, 3504, 3508, 3514, 3518, 3528, 3532, 3538, 3547, 3550, 3554, 3557, 3561, 3565, 3568, 3570, 3578, 3590, 3596, 3598, 3604, 3606, 3608, 3614, 3622, 3630, 3636, 3645, 3650, 3652, 3656, 3660, 3666, 3673, 3677, 3686, 3689, 3693, 3697, 3701, 3704, 3707, 3710, 3714, 3718, 3721, 3724, 3727, 3734, 3738, 3753, 3766, 3774, 3784, 3788, 3791, 3797, 3800, 3803, 3812, 3821, 3831, 3835, 3845, 3855, 3863, 3866, 3875, 3878, 3882, 3887, 3891, 3900, 3903, 3934, 3937, 3940, 3996, 4001, 4029, 4043, 4050, 4054, 4060, 4068, 4070, 4081, 4091, 4098, 4104, 4112, 4117, 4125, 4133, 4141, 4149, 4155, 4158, 4162, 4167, 4172, 4178, 4180, 4191, 4196, 4203, 4205, 4219, 4225, 4230, 4235, 4241, 4248, 4256, 4264, 4269, 4275, 4278, 4286, 4293, 4302, 4305, 4322, 4330, 4338, 4342, 4349, 4355, 4363, 4372, 4378, 4385, 4392, 4397, 4400, 4402, 4408, 4410, 4414, 4416, 4419, 4428, 4434, 4441, 4448, 4453, 4456, 4458, 4464, 4466, 4470, 4472, 4475, 4480, 4487, 4496, 4501, 4510, 4517, 4522, 4525, 4527, 4533, 4535, 4538, 4550, 4556, 4565, 4574, 4579, 4588, 4594, 4605, 4608, 4620, 4627, 4632, 4647, 4658, 4661, 4671, 4681, 4691, 4701, 4705, 4709, 4719, 4724, 4774, 4792, 4800, 4811, 4818, 4822, 4829, 4834, 4837, 4840, 4849, 4853, 4883, 4890, 4894, 4901, 4904, 4920, 4923, 4933, 4937, 4943, 4946, 4951, 4955, 4962, 4965, 4971, 4995, 5008, 5011, 5021, 5029, 5033, 5040, 5043, 5052, 5058, 5064, 5074, 5076, 5082, 5085, 5088, 5100, 5103, 5109, 5112, 5120, 5128, 5134, 5138, 5152, 5164, 5171, 5174, 5181, 5188, 5193, 5198, 5209, 5220, 5226, 5231, 5244, 5246, 5251, 5256, 5258, 5265, 5272, 5275, 5278, 5284, 5288, 5294, 5300, 5313, 5318, 5326, 5329, 5334, 5339, 5347, 5350, 5356, 5360, 5373, 5379, 5391, 5394, 5403, 5408, 5414, 5421, 5423, 5427, 5433, 5436, 5446, 5450, 5470, 5477, 5479, 5486, 5488, 5492, 5497, 5508, 5513, 5519, 5522, 5526, 5531, 5534, 5538, 5542, 5544, 5549, 5554, 5567, 5570, 5574, 5577, 5582, 5585, 5589, 5594, 5597, 5602, 5605, 5611, 5614, 5618, 5621, 5624, 5628, 5631, 5634, 5638, 5641, 5644, 5647, 5651, 5654, 5657, 5662, 5667, 5672, 5675, 5680, 5683, 5688, 5691, 5695, 5699, 5707, 5714, 5718, 5723, 5726, 5731, 5735, 5737, 5753, 5762, 5770, 5779, 5789, 5797, 5805, 5813, 5821, 5826, 5833, 5835, 5840, 5843, 5848, 5851, 5855, 5869, 5876, 5881, 5915, 5919, 5927, 5931, 5940, 5948, 5953, 5961, 5966, 5971, 5973, 5982, 5987, 5995, 6000, 6008, 6016, 6019, 6029, 6040, 6053, 6061, 6065, 6070, 6079, 6082, 6094, 6102, 6112, 6115, 6119, 6123, 6148, 6159, 6166, 6170, 6177, 6185, 6190, 6198, 6204, 6214, 6227, 6233, 6239, 6255, 6261, 6263, 6265, 6284, 6296, 6313, 6326, 6328, 6347, 6356, 6365] \ No newline at end of file diff --git a/src/lib/generic/SqlParser.js b/src/lib/generic/SqlParser.js new file mode 100644 index 0000000..bc863ac --- /dev/null +++ b/src/lib/generic/SqlParser.js @@ -0,0 +1,87886 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/generic/SqlParser.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); +var SqlParserListener = require('./SqlParserListener').SqlParserListener; +var SqlParserVisitor = require('./SqlParserVisitor').SqlParserVisitor; + +var grammarFileName = "SqlParser.g4"; + + +var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", + "\u0003\u041a\u18f0\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004", + "\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007", + "\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f", + "\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010", + "\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014", + "\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017\t\u0017", + "\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a\u0004\u001b", + "\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e\t\u001e", + "\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#\t#\u0004", + "$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004*\t*\u0004", + "+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u0004", + "2\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u00048\t8\u0004", + "9\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004?\t?\u0004", + "@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004F\tF\u0004", + "G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004M\tM\u0004", + "N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004T\tT\u0004", + "U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004[\t[\u0004", + "\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004b\tb\u0004", + "c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004i\ti\u0004", + "j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004p\tp\u0004", + "q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004w\tw\u0004", + "x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004~\t~\u0004", + "\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004\u0082\t", + "\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t\u0085\u0004", + "\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004\u0089\t", + "\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t\u008c\u0004", + "\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004\u0090\t", + "\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t\u0093\u0004", + "\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004\u0097\t", + "\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t\u009a\u0004", + "\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004\u009e\t", + "\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t\u00a1\u0004", + "\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004\u00a5\t", + "\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t\u00a8\u0004", + "\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004\u00ac\t", + "\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t\u00af\u0004", + "\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004\u00b3\t", + "\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t\u00b6\u0004", + "\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004\u00ba\t", + "\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t\u00bd\u0004", + "\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004\u00c1\t", + "\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t\u00c4\u0004", + "\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004\u00c8\t", + "\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t\u00cb\u0004", + "\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004\u00cf\t", + "\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t\u00d2\u0004", + "\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004\u00d6\t", + "\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t\u00d9\u0004", + "\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004\u00dd\t", + "\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t\u00e0\u0004", + "\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0004\u00e4\t", + "\u00e4\u0004\u00e5\t\u00e5\u0004\u00e6\t\u00e6\u0004\u00e7\t\u00e7\u0004", + "\u00e8\t\u00e8\u0004\u00e9\t\u00e9\u0004\u00ea\t\u00ea\u0004\u00eb\t", + "\u00eb\u0004\u00ec\t\u00ec\u0004\u00ed\t\u00ed\u0004\u00ee\t\u00ee\u0004", + "\u00ef\t\u00ef\u0004\u00f0\t\u00f0\u0004\u00f1\t\u00f1\u0004\u00f2\t", + "\u00f2\u0004\u00f3\t\u00f3\u0004\u00f4\t\u00f4\u0004\u00f5\t\u00f5\u0004", + "\u00f6\t\u00f6\u0004\u00f7\t\u00f7\u0004\u00f8\t\u00f8\u0004\u00f9\t", + "\u00f9\u0004\u00fa\t\u00fa\u0004\u00fb\t\u00fb\u0004\u00fc\t\u00fc\u0004", + "\u00fd\t\u00fd\u0004\u00fe\t\u00fe\u0004\u00ff\t\u00ff\u0004\u0100\t", + "\u0100\u0004\u0101\t\u0101\u0004\u0102\t\u0102\u0004\u0103\t\u0103\u0004", + "\u0104\t\u0104\u0004\u0105\t\u0105\u0004\u0106\t\u0106\u0004\u0107\t", + "\u0107\u0004\u0108\t\u0108\u0004\u0109\t\u0109\u0004\u010a\t\u010a\u0004", + "\u010b\t\u010b\u0004\u010c\t\u010c\u0004\u010d\t\u010d\u0004\u010e\t", + "\u010e\u0004\u010f\t\u010f\u0004\u0110\t\u0110\u0004\u0111\t\u0111\u0004", + "\u0112\t\u0112\u0004\u0113\t\u0113\u0004\u0114\t\u0114\u0004\u0115\t", + "\u0115\u0004\u0116\t\u0116\u0004\u0117\t\u0117\u0004\u0118\t\u0118\u0004", + "\u0119\t\u0119\u0004\u011a\t\u011a\u0004\u011b\t\u011b\u0004\u011c\t", + "\u011c\u0004\u011d\t\u011d\u0004\u011e\t\u011e\u0004\u011f\t\u011f\u0004", + "\u0120\t\u0120\u0004\u0121\t\u0121\u0004\u0122\t\u0122\u0004\u0123\t", + "\u0123\u0004\u0124\t\u0124\u0004\u0125\t\u0125\u0004\u0126\t\u0126\u0004", + "\u0127\t\u0127\u0004\u0128\t\u0128\u0004\u0129\t\u0129\u0004\u012a\t", + "\u012a\u0004\u012b\t\u012b\u0004\u012c\t\u012c\u0004\u012d\t\u012d\u0004", + "\u012e\t\u012e\u0004\u012f\t\u012f\u0004\u0130\t\u0130\u0004\u0131\t", + "\u0131\u0004\u0132\t\u0132\u0004\u0133\t\u0133\u0004\u0134\t\u0134\u0004", + "\u0135\t\u0135\u0004\u0136\t\u0136\u0004\u0137\t\u0137\u0004\u0138\t", + "\u0138\u0004\u0139\t\u0139\u0004\u013a\t\u013a\u0004\u013b\t\u013b\u0004", + "\u013c\t\u013c\u0004\u013d\t\u013d\u0003\u0002\u0003\u0002\u0003\u0002", + "\u0003\u0003\u0005\u0003\u027f\n\u0003\u0003\u0003\u0005\u0003\u0282", + "\n\u0003\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0005\u0004", + "\u0288\n\u0004\u0003\u0004\u0005\u0004\u028b\n\u0004\u0003\u0004\u0007", + "\u0004\u028e\n\u0004\f\u0004\u000e\u0004\u0291\u000b\u0004\u0003\u0004", + "\u0003\u0004\u0005\u0004\u0295\n\u0004\u0003\u0004\u0005\u0004\u0298", + "\n\u0004\u0003\u0004\u0005\u0004\u029b\n\u0004\u0003\u0005\u0003\u0005", + "\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0005\u0005", + "\u02a4\n\u0005\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003", + "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", + "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", + "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", + "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", + "\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", + "\u0007\u0003\u0007\u0003\u0007\u0005\u0007\u02cb\n\u0007\u0003\b\u0003", + "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005", + "\b\u02d7\n\b\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t", + "\u0003\t\u0003\t\u0005\t\u02e2\n\t\u0003\n\u0003\n\u0003\n\u0003\n\u0003", + "\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003", + "\n\u0003\n\u0005\n\u02f3\n\n\u0003\u000b\u0003\u000b\u0003\u000b\u0005", + "\u000b\u02f8\n\u000b\u0003\f\u0003\f\u0003\f\u0003\f\u0003\f\u0003\f", + "\u0003\f\u0003\f\u0003\f\u0003\f\u0005\f\u0304\n\f\u0003\r\u0003\r\u0003", + "\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003", + "\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003", + "\r\u0003\r\u0003\r\u0003\r\u0003\r\u0005\r\u031f\n\r\u0003\u000e\u0003", + "\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0005", + "\u000e\u0328\n\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0005\u000f", + "\u032d\n\u000f\u0003\u000f\u0003\u000f\u0007\u000f\u0331\n\u000f\f\u000f", + "\u000e\u000f\u0334\u000b\u000f\u0003\u0010\u0003\u0010\u0005\u0010\u0338", + "\n\u0010\u0003\u0010\u0003\u0010\u0005\u0010\u033c\n\u0010\u0003\u0010", + "\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010", + "\u0005\u0010\u0345\n\u0010\u0003\u0010\u0005\u0010\u0348\n\u0010\u0003", + "\u0010\u0005\u0010\u034b\n\u0010\u0003\u0010\u0003\u0010\u0005\u0010", + "\u034f\n\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0011\u0003", + "\u0011\u0005\u0011\u0356\n\u0011\u0003\u0011\u0005\u0011\u0359\n\u0011", + "\u0003\u0011\u0003\u0011\u0003\u0011\u0005\u0011\u035e\n\u0011\u0003", + "\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0007\u0011\u0364\n\u0011", + "\f\u0011\u000e\u0011\u0367\u000b\u0011\u0003\u0011\u0003\u0011\u0005", + "\u0011\u036b\n\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0005\u0011", + "\u0370\n\u0011\u0003\u0011\u0007\u0011\u0373\n\u0011\f\u0011\u000e\u0011", + "\u0376\u000b\u0011\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003", + "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0005\u0012\u0381", + "\n\u0012\u0003\u0012\u0005\u0012\u0384\n\u0012\u0003\u0012\u0003\u0012", + "\u0005\u0012\u0388\n\u0012\u0003\u0012\u0005\u0012\u038b\n\u0012\u0003", + "\u0012\u0003\u0012\u0005\u0012\u038f\n\u0012\u0003\u0012\u0005\u0012", + "\u0392\n\u0012\u0003\u0012\u0003\u0012\u0005\u0012\u0396\n\u0012\u0003", + "\u0012\u0005\u0012\u0399\n\u0012\u0003\u0012\u0005\u0012\u039c\n\u0012", + "\u0003\u0012\u0003\u0012\u0005\u0012\u03a0\n\u0012\u0003\u0012\u0005", + "\u0012\u03a3\n\u0012\u0003\u0012\u0003\u0012\u0005\u0012\u03a7\n\u0012", + "\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013\u0005\u0013\u03ad\n", + "\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0005\u0013\u03b3", + "\n\u0013\u0003\u0013\u0003\u0013\u0007\u0013\u03b7\n\u0013\f\u0013\u000e", + "\u0013\u03ba\u000b\u0013\u0003\u0013\u0003\u0013\u0007\u0013\u03be\n", + "\u0013\f\u0013\u000e\u0013\u03c1\u000b\u0013\u0003\u0013\u0003\u0013", + "\u0003\u0014\u0003\u0014\u0005\u0014\u03c7\n\u0014\u0003\u0014\u0003", + "\u0014\u0003\u0014\u0003\u0014\u0005\u0014\u03cd\n\u0014\u0003\u0014", + "\u0003\u0014\u0007\u0014\u03d1\n\u0014\f\u0014\u000e\u0014\u03d4\u000b", + "\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0007\u0014\u03da", + "\n\u0014\f\u0014\u000e\u0014\u03dd\u000b\u0014\u0003\u0014\u0003\u0014", + "\u0005\u0014\u03e1\n\u0014\u0003\u0015\u0003\u0015\u0003\u0015\u0003", + "\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003", + "\u0015\u0003\u0015\u0003\u0015\u0007\u0015\u03ef\n\u0015\f\u0015\u000e", + "\u0015\u03f2\u000b\u0015\u0003\u0015\u0003\u0015\u0003\u0016\u0003\u0016", + "\u0005\u0016\u03f8\n\u0016\u0003\u0016\u0003\u0016\u0005\u0016\u03fc", + "\n\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016", + "\u0003\u0016\u0003\u0016\u0003\u0016\u0005\u0016\u0406\n\u0016\u0003", + "\u0016\u0003\u0016\u0005\u0016\u040a\n\u0016\u0003\u0016\u0003\u0016", + "\u0005\u0016\u040e\n\u0016\u0003\u0016\u0003\u0016\u0005\u0016\u0412", + "\n\u0016\u0003\u0016\u0003\u0016\u0005\u0016\u0416\n\u0016\u0003\u0016", + "\u0007\u0016\u0419\n\u0016\f\u0016\u000e\u0016\u041c\u000b\u0016\u0005", + "\u0016\u041e\n\u0016\u0003\u0016\u0005\u0016\u0421\n\u0016\u0003\u0016", + "\u0005\u0016\u0424\n\u0016\u0003\u0016\u0005\u0016\u0427\n\u0016\u0003", + "\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0005\u0016\u042d\n\u0016", + "\u0003\u0016\u0003\u0016\u0005\u0016\u0431\n\u0016\u0003\u0016\u0003", + "\u0016\u0003\u0016\u0003\u0016\u0005\u0016\u0437\n\u0016\u0003\u0016", + "\u0007\u0016\u043a\n\u0016\f\u0016\u000e\u0016\u043d\u000b\u0016\u0005", + "\u0016\u043f\n\u0016\u0003\u0016\u0005\u0016\u0442\n\u0016\u0005\u0016", + "\u0444\n\u0016\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003", + "\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u044f", + "\n\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u0453\n\u0017\u0003\u0017", + "\u0005\u0017\u0456\n\u0017\u0003\u0018\u0003\u0018\u0003\u0018\u0003", + "\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003", + "\u0018\u0003\u0018\u0003\u0018\u0005\u0018\u0464\n\u0018\u0003\u0018", + "\u0005\u0018\u0467\n\u0018\u0003\u0018\u0003\u0018\u0005\u0018\u046b", + "\n\u0018\u0003\u0018\u0005\u0018\u046e\n\u0018\u0003\u0018\u0003\u0018", + "\u0005\u0018\u0472\n\u0018\u0003\u0018\u0005\u0018\u0475\n\u0018\u0003", + "\u0018\u0003\u0018\u0005\u0018\u0479\n\u0018\u0003\u0018\u0005\u0018", + "\u047c\n\u0018\u0003\u0018\u0003\u0018\u0005\u0018\u0480\n\u0018\u0003", + "\u0018\u0005\u0018\u0483\n\u0018\u0003\u0018\u0005\u0018\u0486\n\u0018", + "\u0003\u0018\u0003\u0018\u0005\u0018\u048a\n\u0018\u0003\u0018\u0005", + "\u0018\u048d\n\u0018\u0003\u0018\u0003\u0018\u0005\u0018\u0491\n\u0018", + "\u0003\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0005\u0019\u0497\n", + "\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003", + "\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0005", + "\u0019\u04a4\n\u0019\u0003\u0019\u0003\u0019\u0003\u001a\u0003\u001a", + "\u0003\u001a\u0005\u001a\u04ab\n\u001a\u0003\u001a\u0003\u001a\u0003", + "\u001a\u0005\u001a\u04b0\n\u001a\u0003\u001a\u0005\u001a\u04b3\n\u001a", + "\u0003\u001a\u0003\u001a\u0003\u001a\u0005\u001a\u04b8\n\u001a\u0003", + "\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0005", + "\u001a\u04c0\n\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a", + "\u0005\u001a\u04c6\n\u001a\u0003\u001a\u0003\u001a\u0005\u001a\u04ca", + "\n\u001a\u0003\u001b\u0005\u001b\u04cd\n\u001b\u0003\u001b\u0003\u001b", + "\u0003\u001b\u0005\u001b\u04d2\n\u001b\u0003\u001b\u0005\u001b\u04d5", + "\n\u001b\u0003\u001b\u0003\u001b\u0005\u001b\u04d9\n\u001b\u0003\u001b", + "\u0005\u001b\u04dc\n\u001b\u0003\u001b\u0003\u001b\u0005\u001b\u04e0", + "\n\u001b\u0003\u001b\u0005\u001b\u04e3\n\u001b\u0003\u001c\u0003\u001c", + "\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0005\u001c\u04eb\n", + "\u001c\u0005\u001c\u04ed\n\u001c\u0003\u001d\u0003\u001d\u0003\u001d", + "\u0007\u001d\u04f2\n\u001d\f\u001d\u000e\u001d\u04f5\u000b\u001d\u0003", + "\u001d\u0003\u001d\u0003\u001d\u0005\u001d\u04fa\n\u001d\u0003\u001d", + "\u0003\u001d\u0003\u001d\u0003\u001d\u0007\u001d\u0500\n\u001d\f\u001d", + "\u000e\u001d\u0503\u000b\u001d\u0005\u001d\u0505\n\u001d\u0003\u001d", + "\u0003\u001d\u0003\u001d\u0007\u001d\u050a\n\u001d\f\u001d\u000e\u001d", + "\u050d\u000b\u001d\u0005\u001d\u050f\n\u001d\u0005\u001d\u0511\n\u001d", + "\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0005\u001e\u0517\n", + "\u001e\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0005\u001f\u051d", + "\n\u001f\u0003\u001f\u0003\u001f\u0003 \u0003 \u0003 \u0003 \u0003 ", + "\u0003 \u0003 \u0003 \u0003 \u0003 \u0003 \u0003 \u0003 \u0005 \u052e", + "\n \u0003!\u0003!\u0003!\u0003!\u0003!\u0005!\u0535\n!\u0003\"\u0003", + "\"\u0003\"\u0003#\u0003#\u0005#\u053c\n#\u0003#\u0003#\u0003#\u0003", + "#\u0003#\u0003#\u0003#\u0003#\u0003#\u0005#\u0547\n#\u0003$\u0005$\u054a", + "\n$\u0003$\u0003$\u0003$\u0003%\u0003%\u0003%\u0003&\u0003&\u0003&\u0003", + "&\u0003&\u0005&\u0557\n&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003", + "&\u0003&\u0003&\u0003&\u0003&\u0005&\u0564\n&\u0003&\u0003&\u0003&\u0005", + "&\u0569\n&\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003", + "\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0005\'\u0579\n\'", + "\u0003(\u0003(\u0003(\u0003(\u0007(\u057f\n(\f(\u000e(\u0582\u000b(", + "\u0003(\u0003(\u0003)\u0003)\u0003)\u0003)\u0003)\u0005)\u058b\n)\u0003", + "*\u0003*\u0007*\u058f\n*\f*\u000e*\u0592\u000b*\u0003+\u0003+\u0003", + "+\u0003+\u0003+\u0003+\u0003+\u0005+\u059b\n+\u0003+\u0005+\u059e\n", + "+\u0003+\u0003+\u0003+\u0005+\u05a3\n+\u0003+\u0003+\u0003+\u0003+\u0003", + "+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0005+\u05b0\n+\u0003+\u0003", + "+\u0003+\u0003+\u0003+\u0005+\u05b7\n+\u0003+\u0003+\u0003+\u0003+\u0003", + "+\u0005+\u05be\n+\u0005+\u05c0\n+\u0003+\u0003+\u0003+\u0003+\u0003", + "+\u0005+\u05c7\n+\u0003,\u0003,\u0005,\u05cb\n,\u0005,\u05cd\n,\u0003", + ",\u0003,\u0003,\u0005,\u05d2\n,\u0003,\u0005,\u05d5\n,\u0003,\u0003", + ",\u0007,\u05d9\n,\f,\u000e,\u05dc\u000b,\u0003,\u0003,\u0005,\u05e0", + "\n,\u0005,\u05e2\n,\u0003,\u0003,\u0005,\u05e6\n,\u0003,\u0005,\u05e9", + "\n,\u0003,\u0005,\u05ec\n,\u0003,\u0003,\u0007,\u05f0\n,\f,\u000e,\u05f3", + "\u000b,\u0003,\u0003,\u0005,\u05f7\n,\u0005,\u05f9\n,\u0003,\u0003,", + "\u0003,\u0005,\u05fe\n,\u0003,\u0003,\u0003,\u0003,\u0003,\u0005,\u0605", + "\n,\u0005,\u0607\n,\u0003,\u0003,\u0003,\u0003,\u0003,\u0005,\u060e", + "\n,\u0003-\u0003-\u0003-\u0005-\u0613\n-\u0003-\u0003-\u0005-\u0617", + "\n-\u0003-\u0005-\u061a\n-\u0003.\u0003.\u0003.\u0003.\u0003.\u0003", + ".\u0005.\u0622\n.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0005.\u062a", + "\n.\u0005.\u062c\n.\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0005", + "/\u0634\n/\u00030\u00030\u00050\u0638\n0\u00030\u00050\u063b\n0\u0003", + "0\u00030\u00070\u063f\n0\f0\u000e0\u0642\u000b0\u00030\u00030\u0005", + "0\u0646\n0\u00030\u00050\u0649\n0\u00030\u00030\u00070\u064d\n0\f0\u000e", + "0\u0650\u000b0\u00050\u0652\n0\u00031\u00031\u00051\u0656\n1\u00031", + "\u00031\u00031\u00051\u065b\n1\u00031\u00031\u00031\u00051\u0660\n1", + "\u00031\u00031\u00051\u0664\n1\u00031\u00031\u00031\u00051\u0669\n1", + "\u00031\u00051\u066c\n1\u00031\u00031\u00051\u0670\n1\u00031\u00031", + "\u00051\u0674\n1\u00031\u00031\u00051\u0678\n1\u00031\u00031\u00051", + "\u067c\n1\u00031\u00031\u00031\u00051\u0681\n1\u00031\u00031\u00031", + "\u00051\u0686\n1\u00031\u00031\u00031\u00051\u068b\n1\u00031\u00031", + "\u00031\u00031\u00051\u0691\n1\u00031\u00031\u00031\u00051\u0696\n1", + "\u00031\u00031\u00031\u00051\u069b\n1\u00031\u00031\u00031\u00031\u0005", + "1\u06a1\n1\u00031\u00031\u00031\u00051\u06a6\n1\u00031\u00031\u0003", + "1\u00051\u06ab\n1\u00031\u00031\u00031\u00051\u06b0\n1\u00031\u0003", + "1\u00031\u00051\u06b5\n1\u00031\u00031\u00031\u00051\u06ba\n1\u0003", + "1\u00031\u00031\u00051\u06bf\n1\u00031\u00031\u00031\u00051\u06c4\n", + "1\u00031\u00031\u00031\u00051\u06c9\n1\u00031\u00031\u00031\u00051\u06ce", + "\n1\u00031\u00031\u00031\u00051\u06d3\n1\u00031\u00031\u00031\u0003", + "1\u00051\u06d9\n1\u00031\u00031\u00031\u00051\u06de\n1\u00031\u0003", + "1\u00031\u00031\u00051\u06e4\n1\u00032\u00032\u00032\u00033\u00033\u0003", + "3\u00033\u00033\u00053\u06ee\n3\u00033\u00033\u00033\u00033\u00033\u0005", + "3\u06f5\n3\u00053\u06f7\n3\u00033\u00033\u00033\u00033\u00073\u06fd", + "\n3\f3\u000e3\u0700\u000b3\u00033\u00033\u00053\u0704\n3\u00034\u0005", + "4\u0707\n4\u00034\u00034\u00034\u00034\u00034\u00034\u00054\u070f\n", + "4\u00034\u00034\u00034\u00034\u00054\u0715\n4\u00034\u00034\u00034\u0003", + "4\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u0003", + "4\u00054\u0725\n4\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u0003", + "4\u00034\u00034\u00054\u0731\n4\u00054\u0733\n4\u00035\u00055\u0736", + "\n5\u00035\u00035\u00035\u00035\u00035\u00035\u00055\u073e\n5\u0003", + "5\u00035\u00035\u00035\u00055\u0744\n5\u00035\u00035\u00035\u00035\u0005", + "5\u074a\n5\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u0003", + "6\u00076\u0755\n6\f6\u000e6\u0758\u000b6\u00036\u00036\u00076\u075c", + "\n6\f6\u000e6\u075f\u000b6\u00036\u00036\u00036\u00076\u0764\n6\f6\u000e", + "6\u0767\u000b6\u00056\u0769\n6\u00036\u00036\u00036\u00036\u00036\u0003", + "6\u00036\u00076\u0772\n6\f6\u000e6\u0775\u000b6\u00036\u00036\u0003", + "6\u00076\u077a\n6\f6\u000e6\u077d\u000b6\u00056\u077f\n6\u00036\u0003", + "6\u00036\u00036\u00036\u00036\u00036\u00036\u00076\u0789\n6\f6\u000e", + "6\u078c\u000b6\u00036\u00036\u00076\u0790\n6\f6\u000e6\u0793\u000b6", + "\u00036\u00036\u00036\u00076\u0798\n6\f6\u000e6\u079b\u000b6\u00056", + "\u079d\n6\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u0007", + "6\u07a7\n6\f6\u000e6\u07aa\u000b6\u00036\u00036\u00076\u07ae\n6\f6\u000e", + "6\u07b1\u000b6\u00036\u00036\u00036\u00076\u07b6\n6\f6\u000e6\u07b9", + "\u000b6\u00056\u07bb\n6\u00036\u00036\u00036\u00076\u07c0\n6\f6\u000e", + "6\u07c3\u000b6\u00036\u00036\u00036\u00076\u07c8\n6\f6\u000e6\u07cb", + "\u000b6\u00056\u07cd\n6\u00056\u07cf\n6\u00037\u00037\u00037\u00057", + "\u07d4\n7\u00038\u00038\u00038\u00038\u00068\u07da\n8\r8\u000e8\u07db", + "\u00038\u00038\u00039\u00039\u00039\u00079\u07e3\n9\f9\u000e9\u07e6", + "\u000b9\u0003:\u0005:\u07e9\n:\u0003:\u0003:\u0005:\u07ed\n:\u0003:", + "\u0003:\u0003:\u0005:\u07f2\n:\u0003:\u0003:\u0003:\u0003:\u0005:\u07f8", + "\n:\u0003:\u0003:\u0003:\u0003:\u0005:\u07fe\n:\u0003:\u0003:\u0003", + ":\u0005:\u0803\n:\u0003:\u0003:\u0003:\u0005:\u0808\n:\u0003:\u0003", + ":\u0003:\u0005:\u080d\n:\u0003:\u0003:\u0003:\u0005:\u0812\n:\u0003", + ":\u0005:\u0815\n:\u0003;\u0003;\u0003;\u0005;\u081a\n;\u0003;\u0006", + ";\u081d\n;\r;\u000e;\u081e\u0003;\u0003;\u0003;\u0003;\u0003;\u0003", + ";\u0003;\u0003;\u0005;\u0829\n;\u0003<\u0003<\u0005<\u082d\n<\u0003", + "<\u0003<\u0003<\u0003<\u0003<\u0005<\u0834\n<\u0003<\u0003<\u0003<\u0005", + "<\u0839\n<\u0003<\u0005<\u083c\n<\u0003<\u0003<\u0003<\u0005<\u0841", + "\n<\u0003<\u0005<\u0844\n<\u0003<\u0003<\u0005<\u0848\n<\u0003<\u0003", + "<\u0005<\u084c\n<\u0003=\u0003=\u0003=\u0003=\u0007=\u0852\n=\f=\u000e", + "=\u0855\u000b=\u0003>\u0003>\u0003>\u0003>\u0003>\u0003>\u0003>\u0003", + "?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0005?\u0867", + "\n?\u0003?\u0005?\u086a\n?\u0003?\u0005?\u086d\n?\u0003?\u0003?\u0005", + "?\u0871\n?\u0003?\u0003?\u0003@\u0003@\u0003@\u0003@\u0007@\u0879\n", + "@\f@\u000e@\u087c\u000b@\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003", + "A\u0003A\u0007A\u0886\nA\fA\u000eA\u0889\u000bA\u0003A\u0003A\u0003", + "B\u0003B\u0005B\u088f\nB\u0003B\u0005B\u0892\nB\u0003B\u0003B\u0003", + "B\u0003B\u0003B\u0007B\u0899\nB\fB\u000eB\u089c\u000bB\u0005B\u089e", + "\nB\u0003B\u0005B\u08a1\nB\u0003C\u0003C\u0003C\u0003C\u0003C\u0003", + "C\u0003C\u0003C\u0003C\u0005C\u08ac\nC\u0003C\u0005C\u08af\nC\u0003", + "C\u0003C\u0005C\u08b3\nC\u0003C\u0003C\u0003D\u0003D\u0003D\u0003D\u0005", + "D\u08bb\nD\u0003D\u0005D\u08be\nD\u0003D\u0003D\u0003D\u0005D\u08c3", + "\nD\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0005D\u08cb\nD\u0003", + "D\u0003D\u0003D\u0003D\u0005D\u08d1\nD\u0003D\u0003D\u0005D\u08d5\n", + "D\u0003E\u0003E\u0005E\u08d9\nE\u0003E\u0007E\u08dc\nE\fE\u000eE\u08df", + "\u000bE\u0003E\u0003E\u0005E\u08e3\nE\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0005E\u08ea\nE\u0003E\u0003E\u0005E\u08ee\nE\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0007E\u08f7\nE\fE\u000eE\u08fa\u000b", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u0901\nE\u0003E\u0005E\u0904", + "\nE\u0003E\u0003E\u0007E\u0908\nE\fE\u000eE\u090b\u000bE\u0003E\u0003", + "E\u0003E\u0005E\u0910\nE\u0005E\u0912\nE\u0003E\u0003E\u0003E\u0005", + "E\u0917\nE\u0003E\u0005E\u091a\nE\u0003E\u0003E\u0007E\u091e\nE\fE\u000e", + "E\u0921\u000bE\u0003E\u0003E\u0003E\u0005E\u0926\nE\u0005E\u0928\nE", + "\u0003E\u0003E\u0005E\u092c\nE\u0003E\u0005E\u092f\nE\u0003E\u0005E", + "\u0932\nE\u0003E\u0003E\u0007E\u0936\nE\fE\u000eE\u0939\u000bE\u0003", + "E\u0003E\u0003E\u0005E\u093e\nE\u0003E\u0005E\u0941\nE\u0003E\u0003", + "E\u0007E\u0945\nE\fE\u000eE\u0948\u000bE\u0003E\u0003E\u0003E\u0005", + "E\u094d\nE\u0005E\u094f\nE\u0003E\u0003E\u0003E\u0005E\u0954\nE\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u095c\nE\u0005E\u095e\n", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u0967\nE\u0003", + "E\u0003E\u0003E\u0005E\u096c\nE\u0003E\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0005E\u0974\nE\u0003E\u0003E\u0005E\u0978\nE\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0005E\u0980\nE\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0005E\u098a\nE\u0003E\u0003E\u0003E\u0005E\u098f", + "\nE\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u0996\nE\u0003E\u0003", + "E\u0005E\u099a\nE\u0003E\u0003E\u0005E\u099e\nE\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0005E\u09bb\nE\u0003E\u0003E\u0005E\u09bf", + "\nE\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0005E\u09cb\nE\u0003E\u0005E\u09ce\nE\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0005E\u09d7\nE\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0007E\u09e6", + "\nE\fE\u000eE\u09e9\u000bE\u0003E\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0005E\u09f4\nE\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0005E\u09fb\nE\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u0a02\n", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0007E\u0a0f\nE\fE\u000eE\u0a12\u000bE\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u0a1e\nE\u0003", + "E\u0003E\u0003E\u0003E\u0005E\u0a24\nE\u0003E\u0003E\u0003E\u0003E\u0005", + "E\u0a2a\nE\u0003E\u0003E\u0003E\u0003E\u0005E\u0a30\nE\u0003E\u0003", + "E\u0003E\u0003E\u0005E\u0a36\nE\u0003E\u0003E\u0003E\u0003E\u0005E\u0a3c", + "\nE\u0003E\u0003E\u0003E\u0003E\u0005E\u0a42\nE\u0003F\u0003F\u0003", + "F\u0005F\u0a47\nF\u0003F\u0003F\u0003G\u0003G\u0003G\u0005G\u0a4e\n", + "G\u0003G\u0003G\u0003H\u0003H\u0003H\u0005H\u0a55\nH\u0003H\u0003H\u0003", + "H\u0003H\u0003H\u0005H\u0a5c\nH\u0003H\u0003H\u0003H\u0005H\u0a61\n", + "H\u0003H\u0007H\u0a64\nH\fH\u000eH\u0a67\u000bH\u0003I\u0003I\u0003", + "I\u0003I\u0003I\u0003I\u0003I\u0003I\u0003J\u0003J\u0003J\u0005J\u0a74", + "\nJ\u0003J\u0003J\u0003K\u0003K\u0003K\u0005K\u0a7b\nK\u0003K\u0003", + "K\u0003L\u0003L\u0003L\u0005L\u0a82\nL\u0003L\u0003L\u0003M\u0003M\u0005", + "M\u0a88\nM\u0003M\u0003M\u0005M\u0a8c\nM\u0003M\u0003M\u0005M\u0a90", + "\nM\u0003N\u0003N\u0003N\u0003N\u0003N\u0005N\u0a97\nN\u0003N\u0005", + "N\u0a9a\nN\u0003O\u0003O\u0003O\u0005O\u0a9f\nO\u0003O\u0003O\u0003", + "P\u0003P\u0003P\u0005P\u0aa6\nP\u0003P\u0003P\u0003P\u0007P\u0aab\n", + "P\fP\u000eP\u0aae\u000bP\u0003P\u0005P\u0ab1\nP\u0003Q\u0003Q\u0003", + "Q\u0003Q\u0003Q\u0007Q\u0ab8\nQ\fQ\u000eQ\u0abb\u000bQ\u0003R\u0003", + "R\u0003R\u0003R\u0003S\u0003S\u0005S\u0ac3\nS\u0003S\u0003S\u0003T\u0003", + "T\u0003T\u0003T\u0003T\u0005T\u0acc\nT\u0003T\u0005T\u0acf\nT\u0003", + "U\u0003U\u0005U\u0ad3\nU\u0003V\u0003V\u0003V\u0003W\u0003W\u0003W\u0003", + "W\u0005W\u0adc\nW\u0003X\u0003X\u0005X\u0ae0\nX\u0003X\u0005X\u0ae3", + "\nX\u0003X\u0005X\u0ae6\nX\u0003X\u0003X\u0003X\u0003X\u0005X\u0aec", + "\nX\u0003X\u0005X\u0aef\nX\u0003X\u0003X\u0003X\u0003X\u0005X\u0af5", + "\nX\u0003X\u0003X\u0003X\u0003X\u0003X\u0007X\u0afc\nX\fX\u000eX\u0aff", + "\u000bX\u0005X\u0b01\nX\u0003X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003", + "X\u0007X\u0b0a\nX\fX\u000eX\u0b0d\u000bX\u0005X\u0b0f\nX\u0003Y\u0003", + "Y\u0003Y\u0005Y\u0b14\nY\u0003Y\u0005Y\u0b17\nY\u0003Y\u0003Y\u0003", + "Y\u0005Y\u0b1c\nY\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003", + "Y\u0005Y\u0b26\nY\u0003Y\u0003Y\u0003Y\u0005Y\u0b2b\nY\u0003Y\u0003", + "Y\u0006Y\u0b2f\nY\rY\u000eY\u0b30\u0005Y\u0b33\nY\u0003Y\u0003Y\u0006", + "Y\u0b37\nY\rY\u000eY\u0b38\u0005Y\u0b3b\nY\u0003Y\u0003Y\u0003Y\u0003", + "Y\u0005Y\u0b41\nY\u0003Y\u0003Y\u0003Y\u0003Y\u0007Y\u0b47\nY\fY\u000e", + "Y\u0b4a\u000bY\u0003Y\u0003Y\u0005Y\u0b4e\nY\u0003Y\u0003Y\u0003Y\u0003", + "Y\u0007Y\u0b54\nY\fY\u000eY\u0b57\u000bY\u0005Y\u0b59\nY\u0003Z\u0003", + "Z\u0003Z\u0005Z\u0b5e\nZ\u0003Z\u0005Z\u0b61\nZ\u0003Z\u0003Z\u0003", + "Z\u0005Z\u0b66\nZ\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0005Z\u0b6e", + "\nZ\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0005Z\u0b76\nZ\u0003", + "Z\u0003Z\u0003Z\u0003Z\u0005Z\u0b7c\nZ\u0003Z\u0003Z\u0003Z\u0003Z\u0007", + "Z\u0b82\nZ\fZ\u000eZ\u0b85\u000bZ\u0003Z\u0003Z\u0005Z\u0b89\nZ\u0003", + "Z\u0003Z\u0003Z\u0003Z\u0007Z\u0b8f\nZ\fZ\u000eZ\u0b92\u000bZ\u0005", + "Z\u0b94\nZ\u0003[\u0003[\u0005[\u0b98\n[\u0003[\u0005[\u0b9b\n[\u0003", + "[\u0003[\u0003[\u0003[\u0003[\u0003[\u0005[\u0ba3\n[\u0003[\u0003[\u0003", + "[\u0003[\u0005[\u0ba9\n[\u0003[\u0003[\u0003[\u0003[\u0003[\u0007[\u0bb0", + "\n[\f[\u000e[\u0bb3\u000b[\u0005[\u0bb5\n[\u0003\\\u0003\\\u0005\\\u0bb9", + "\n\\\u0003\\\u0003\\\u0005\\\u0bbd\n\\\u0003\\\u0003\\\u0006\\\u0bc1", + "\n\\\r\\\u000e\\\u0bc2\u0003\\\u0003\\\u0005\\\u0bc7\n\\\u0003\\\u0003", + "\\\u0005\\\u0bcb\n\\\u0005\\\u0bcd\n\\\u0003\\\u0005\\\u0bd0\n\\\u0003", + "\\\u0005\\\u0bd3\n\\\u0003\\\u0005\\\u0bd6\n\\\u0003\\\u0003\\\u0006", + "\\\u0bda\n\\\r\\\u000e\\\u0bdb\u0003\\\u0003\\\u0005\\\u0be0\n\\\u0003", + "\\\u0005\\\u0be3\n\\\u0003\\\u0005\\\u0be6\n\\\u0003\\\u0005\\\u0be9", + "\n\\\u0003\\\u0005\\\u0bec\n\\\u0005\\\u0bee\n\\\u0003]\u0003]\u0005", + "]\u0bf2\n]\u0003^\u0003^\u0003^\u0003^\u0005^\u0bf8\n^\u0003^\u0003", + "^\u0003^\u0003^\u0005^\u0bfe\n^\u0003^\u0007^\u0c01\n^\f^\u000e^\u0c04", + "\u000b^\u0005^\u0c06\n^\u0003_\u0003_\u0003_\u0003_\u0005_\u0c0c\n_", + "\u0003`\u0003`\u0005`\u0c10\n`\u0003a\u0003a\u0003a\u0003a\u0003a\u0003", + "a\u0005a\u0c18\na\u0003b\u0003b\u0005b\u0c1c\nb\u0003b\u0005b\u0c1f", + "\nb\u0003b\u0005b\u0c22\nb\u0003b\u0003b\u0003b\u0003b\u0003b\u0003", + "b\u0003b\u0005b\u0c2b\nb\u0003b\u0003b\u0005b\u0c2f\nb\u0003b\u0005", + "b\u0c32\nb\u0003b\u0003b\u0005b\u0c36\nb\u0003c\u0003c\u0005c\u0c3a", + "\nc\u0003c\u0005c\u0c3d\nc\u0003c\u0005c\u0c40\nc\u0003c\u0003c\u0003", + "c\u0005c\u0c45\nc\u0003c\u0003c\u0003c\u0003c\u0005c\u0c4b\nc\u0007", + "c\u0c4d\nc\fc\u000ec\u0c50\u000bc\u0003c\u0003c\u0003c\u0003c\u0003", + "c\u0003c\u0003c\u0005c\u0c59\nc\u0003c\u0003c\u0003c\u0003c\u0005c\u0c5f", + "\nc\u0007c\u0c61\nc\fc\u000ec\u0c64\u000bc\u0003c\u0003c\u0003c\u0005", + "c\u0c69\nc\u0003c\u0003c\u0005c\u0c6d\nc\u0003d\u0003d\u0003d\u0003", + "d\u0005d\u0c73\nd\u0003d\u0005d\u0c76\nd\u0003e\u0003e\u0003e\u0003", + "e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0005e\u0c82\ne\u0003e\u0003", + "e\u0005e\u0c86\ne\u0003e\u0003e\u0005e\u0c8a\ne\u0003f\u0003f\u0003", + "f\u0003f\u0003f\u0003f\u0005f\u0c92\nf\u0003f\u0003f\u0005f\u0c96\n", + "f\u0003g\u0003g\u0003g\u0003g\u0003h\u0003h\u0005h\u0c9e\nh\u0003h\u0005", + "h\u0ca1\nh\u0003h\u0003h\u0005h\u0ca5\nh\u0003h\u0005h\u0ca8\nh\u0003", + "h\u0003h\u0003h\u0003h\u0007h\u0cae\nh\fh\u000eh\u0cb1\u000bh\u0003", + "h\u0003h\u0005h\u0cb5\nh\u0003h\u0005h\u0cb8\nh\u0003h\u0005h\u0cbb", + "\nh\u0003i\u0003i\u0005i\u0cbf\ni\u0003i\u0005i\u0cc2\ni\u0003i\u0003", + "i\u0003i\u0003i\u0003i\u0007i\u0cc9\ni\fi\u000ei\u0ccc\u000bi\u0003", + "i\u0003i\u0005i\u0cd0\ni\u0003j\u0003j\u0003j\u0003j\u0003j\u0007j\u0cd7", + "\nj\fj\u000ej\u0cda\u000bj\u0003k\u0003k\u0005k\u0cde\nk\u0003l\u0003", + "l\u0003l\u0007l\u0ce3\nl\fl\u000el\u0ce6\u000bl\u0003m\u0003m\u0007", + "m\u0cea\nm\fm\u000em\u0ced\u000bm\u0003m\u0003m\u0003m\u0007m\u0cf2", + "\nm\fm\u000em\u0cf5\u000bm\u0003m\u0003m\u0005m\u0cf9\nm\u0003n\u0003", + "n\u0003n\u0003n\u0003n\u0003n\u0005n\u0d01\nn\u0003n\u0005n\u0d04\n", + "n\u0003n\u0005n\u0d07\nn\u0003n\u0003n\u0003n\u0007n\u0d0c\nn\fn\u000e", + "n\u0d0f\u000bn\u0005n\u0d11\nn\u0003n\u0003n\u0003n\u0003n\u0003n\u0005", + "n\u0d18\nn\u0003n\u0005n\u0d1b\nn\u0003n\u0003n\u0003n\u0003n\u0003", + "n\u0003n\u0005n\u0d23\nn\u0003o\u0003o\u0003o\u0003o\u0005o\u0d29\n", + "o\u0003o\u0003o\u0003o\u0003o\u0003p\u0003p\u0003p\u0003p\u0003p\u0005", + "p\u0d34\np\u0003q\u0005q\u0d37\nq\u0003q\u0003q\u0003q\u0003q\u0003", + "q\u0003q\u0003q\u0003q\u0003q\u0005q\u0d42\nq\u0003q\u0003q\u0003q\u0003", + "q\u0005q\u0d48\nq\u0003q\u0003q\u0005q\u0d4c\nq\u0003q\u0003q\u0003", + "q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0005q\u0d57\nq\u0003q\u0003", + "q\u0003q\u0005q\u0d5c\nq\u0005q\u0d5e\nq\u0003q\u0003q\u0005q\u0d62", + "\nq\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0005r\u0d6c", + "\nr\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0005s\u0d76", + "\ns\u0003t\u0003t\u0007t\u0d7a\nt\ft\u000et\u0d7d\u000bt\u0003t\u0003", + "t\u0005t\u0d81\nt\u0003t\u0005t\u0d84\nt\u0003t\u0005t\u0d87\nt\u0003", + "t\u0005t\u0d8a\nt\u0003t\u0003t\u0007t\u0d8e\nt\ft\u000et\u0d91\u000b", + "t\u0003t\u0003t\u0005t\u0d95\nt\u0003t\u0005t\u0d98\nt\u0003t\u0005", + "t\u0d9b\nt\u0003t\u0005t\u0d9e\nt\u0005t\u0da0\nt\u0003u\u0003u\u0007", + "u\u0da4\nu\fu\u000eu\u0da7\u000bu\u0003u\u0003u\u0005u\u0dab\nu\u0003", + "u\u0005u\u0dae\nu\u0003u\u0005u\u0db1\nu\u0003v\u0003v\u0005v\u0db5", + "\nv\u0003v\u0003v\u0003w\u0003w\u0005w\u0dbb\nw\u0003w\u0003w\u0005", + "w\u0dbf\nw\u0003x\u0003x\u0003x\u0003x\u0003x\u0003x\u0003x\u0003x\u0005", + "x\u0dc9\nx\u0003y\u0003y\u0005y\u0dcd\ny\u0003y\u0003y\u0007y\u0dd1", + "\ny\fy\u000ey\u0dd4\u000by\u0003z\u0003z\u0003z\u0003z\u0003z\u0003", + "z\u0005z\u0ddc\nz\u0003z\u0005z\u0ddf\nz\u0003z\u0003z\u0005z\u0de3", + "\nz\u0003z\u0005z\u0de6\nz\u0003z\u0003z\u0005z\u0dea\nz\u0003z\u0003", + "z\u0005z\u0dee\nz\u0003z\u0005z\u0df1\nz\u0005z\u0df3\nz\u0003{\u0003", + "{\u0003{\u0003{\u0007{\u0df9\n{\f{\u000e{\u0dfc\u000b{\u0003{\u0003", + "{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0005{\u0e07\n{\u0003", + "{\u0003{\u0006{\u0e0b\n{\r{\u000e{\u0e0c\u0005{\u0e0f\n{\u0003{\u0003", + "{\u0006{\u0e13\n{\r{\u000e{\u0e14\u0005{\u0e17\n{\u0005{\u0e19\n{\u0003", + "|\u0003|\u0003|\u0003|\u0005|\u0e1f\n|\u0003|\u0003|\u0003|\u0003|\u0003", + "|\u0003|\u0005|\u0e27\n|\u0003}\u0003}\u0003}\u0003}\u0003}\u0003}\u0005", + "}\u0e2f\n}\u0003~\u0003~\u0003~\u0003~\u0005~\u0e35\n~\u0003~\u0003", + "~\u0003~\u0003~\u0003~\u0007~\u0e3c\n~\f~\u000e~\u0e3f\u000b~\u0003", + "~\u0003~\u0005~\u0e43\n~\u0005~\u0e45\n~\u0003~\u0003~\u0005~\u0e49", + "\n~\u0003\u007f\u0003\u007f\u0005\u007f\u0e4d\n\u007f\u0003\u0080\u0003", + "\u0080\u0003\u0080\u0003\u0080\u0005\u0080\u0e53\n\u0080\u0003\u0080", + "\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0005\u0080\u0e5a\n", + "\u0080\u0003\u0081\u0003\u0081\u0005\u0081\u0e5e\n\u0081\u0003\u0082", + "\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0007\u0082\u0e65\n", + "\u0082\f\u0082\u000e\u0082\u0e68\u000b\u0082\u0005\u0082\u0e6a\n\u0082", + "\u0003\u0083\u0003\u0083\u0005\u0083\u0e6e\n\u0083\u0003\u0084\u0003", + "\u0084\u0005\u0084\u0e72\n\u0084\u0003\u0084\u0003\u0084\u0005\u0084", + "\u0e76\n\u0084\u0003\u0084\u0005\u0084\u0e79\n\u0084\u0003\u0084\u0005", + "\u0084\u0e7c\n\u0084\u0003\u0084\u0005\u0084\u0e7f\n\u0084\u0003\u0085", + "\u0003\u0085\u0005\u0085\u0e83\n\u0085\u0003\u0085\u0003\u0085\u0005", + "\u0085\u0e87\n\u0085\u0003\u0085\u0005\u0085\u0e8a\n\u0085\u0003\u0085", + "\u0005\u0085\u0e8d\n\u0085\u0003\u0085\u0005\u0085\u0e90\n\u0085\u0003", + "\u0086\u0003\u0086\u0003\u0086\u0003\u0087\u0003\u0087\u0005\u0087\u0e97", + "\n\u0087\u0003\u0087\u0003\u0087\u0005\u0087\u0e9b\n\u0087\u0003\u0087", + "\u0003\u0087\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0089", + "\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0007\u0089\u0ea8\n", + "\u0089\f\u0089\u000e\u0089\u0eab\u000b\u0089\u0003\u008a\u0003\u008a", + "\u0003\u008a\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b", + "\u0003\u008c\u0003\u008c\u0005\u008c\u0eb7\n\u008c\u0003\u008c\u0003", + "\u008c\u0003\u008c\u0003\u008c\u0007\u008c\u0ebd\n\u008c\f\u008c\u000e", + "\u008c\u0ec0\u000b\u008c\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d", + "\u0003\u008d\u0003\u008d\u0003\u008d\u0005\u008d\u0ec9\n\u008d\u0003", + "\u008e\u0003\u008e\u0005\u008e\u0ecd\n\u008e\u0003\u008e\u0005\u008e", + "\u0ed0\n\u008e\u0003\u008e\u0003\u008e\u0003\u008f\u0003\u008f\u0005", + "\u008f\u0ed6\n\u008f\u0003\u008f\u0005\u008f\u0ed9\n\u008f\u0003\u008f", + "\u0005\u008f\u0edc\n\u008f\u0003\u0090\u0003\u0090\u0003\u0090\u0003", + "\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0005\u0090\u0ee5\n\u0090", + "\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091", + "\u0003\u0091\u0005\u0091\u0eee\n\u0091\u0003\u0092\u0003\u0092\u0003", + "\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0007\u0092\u0ef6\n\u0092", + "\f\u0092\u000e\u0092\u0ef9\u000b\u0092\u0003\u0092\u0005\u0092\u0efc", + "\n\u0092\u0003\u0093\u0003\u0093\u0003\u0093\u0003\u0093\u0003\u0093", + "\u0003\u0093\u0007\u0093\u0f04\n\u0093\f\u0093\u000e\u0093\u0f07\u000b", + "\u0093\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", + "\u0094\u0003\u0094\u0005\u0094\u0f10\n\u0094\u0003\u0095\u0003\u0095", + "\u0003\u0095\u0003\u0096\u0003\u0096\u0003\u0096\u0005\u0096\u0f18\n", + "\u0096\u0003\u0096\u0005\u0096\u0f1b\n\u0096\u0003\u0097\u0003\u0097", + "\u0003\u0097\u0003\u0097\u0003\u0097\u0007\u0097\u0f22\n\u0097\f\u0097", + "\u000e\u0097\u0f25\u000b\u0097\u0005\u0097\u0f27\n\u0097\u0003\u0097", + "\u0003\u0097\u0005\u0097\u0f2b\n\u0097\u0003\u0097\u0007\u0097\u0f2e", + "\n\u0097\f\u0097\u000e\u0097\u0f31\u000b\u0097\u0003\u0097\u0005\u0097", + "\u0f34\n\u0097\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003", + "\u0098\u0007\u0098\u0f3b\n\u0098\f\u0098\u000e\u0098\u0f3e\u000b\u0098", + "\u0005\u0098\u0f40\n\u0098\u0003\u0099\u0003\u0099\u0003\u0099\u0003", + "\u009a\u0003\u009a\u0003\u009a\u0003\u009b\u0003\u009b\u0003\u009b\u0003", + "\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003", + "\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003", + "\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0007", + "\u009b\u0f5d\n\u009b\f\u009b\u000e\u009b\u0f60\u000b\u009b\u0005\u009b", + "\u0f62\n\u009b\u0003\u009b\u0005\u009b\u0f65\n\u009b\u0003\u009c\u0003", + "\u009c\u0003\u009d\u0003\u009d\u0003\u009e\u0003\u009e\u0003\u009f\u0003", + "\u009f\u0003\u009f\u0003\u009f\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0007\u00a0\u0f9b\n\u00a0\f\u00a0\u000e", + "\u00a0\u0f9e\u000b\u00a0\u0003\u00a0\u0003\u00a0\u0005\u00a0\u0fa2\n", + "\u00a0\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003", + "\u00a1\u0003\u00a2\u0003\u00a2\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003", + "\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003", + "\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003", + "\u00a3\u0003\u00a3\u0003\u00a3\u0005\u00a3\u0fbe\n\u00a3\u0003\u00a4", + "\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4", + "\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0005\u00a4", + "\u0fcc\n\u00a4\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0007\u00a5\u0fd1", + "\n\u00a5\f\u00a5\u000e\u00a5\u0fd4\u000b\u00a5\u0003\u00a5\u0005\u00a5", + "\u0fd7\n\u00a5\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0005", + "\u00a6\u0fdd\n\u00a6\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7", + "\u0003\u00a7\u0003\u00a7\u0005\u00a7\u0fe5\n\u00a7\u0005\u00a7\u0fe7", + "\n\u00a7\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a9", + "\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0005\u00a9\u0ff2\n", + "\u00a9\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00ab\u0003", + "\u00ab\u0003\u00ab\u0003\u00ab\u0005\u00ab\u0ffc\n\u00ab\u0003\u00ac", + "\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0005\u00ac\u1003\n", + "\u00ac\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0005\u00ad\u1009", + "\n\u00ad\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00af", + "\u0003\u00af\u0005\u00af\u1011\n\u00af\u0003\u00b0\u0003\u00b0\u0003", + "\u00b0\u0005\u00b0\u1016\n\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0", + "\u0003\u00b0\u0007\u00b0\u101c\n\u00b0\f\u00b0\u000e\u00b0\u101f\u000b", + "\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0007\u00b0\u1024\n\u00b0", + "\f\u00b0\u000e\u00b0\u1027\u000b\u00b0\u0003\u00b0\u0003\u00b0\u0003", + "\u00b0\u0007\u00b0\u102c\n\u00b0\f\u00b0\u000e\u00b0\u102f\u000b\u00b0", + "\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0007\u00b0\u1034\n\u00b0\f\u00b0", + "\u000e\u00b0\u1037\u000b\u00b0\u0003\u00b0\u0007\u00b0\u103a\n\u00b0", + "\f\u00b0\u000e\u00b0\u103d\u000b\u00b0\u0005\u00b0\u103f\n\u00b0\u0003", + "\u00b0\u0003\u00b0\u0005\u00b0\u1043\n\u00b0\u0003\u00b1\u0003\u00b1", + "\u0003\u00b1\u0005\u00b1\u1048\n\u00b1\u0003\u00b1\u0006\u00b1\u104b", + "\n\u00b1\r\u00b1\u000e\u00b1\u104c\u0003\u00b1\u0003\u00b1\u0006\u00b1", + "\u1051\n\u00b1\r\u00b1\u000e\u00b1\u1052\u0005\u00b1\u1055\n\u00b1\u0003", + "\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003", + "\u00b2\u0006\u00b2\u105e\n\u00b2\r\u00b2\u000e\u00b2\u105f\u0003\u00b2", + "\u0007\u00b2\u1063\n\u00b2\f\u00b2\u000e\u00b2\u1066\u000b\u00b2\u0003", + "\u00b2\u0003\u00b2\u0006\u00b2\u106a\n\u00b2\r\u00b2\u000e\u00b2\u106b", + "\u0005\u00b2\u106e\n\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003", + "\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003", + "\u00b5\u0003\u00b5\u0003\u00b5\u0005\u00b5\u107c\n\u00b5\u0003\u00b5", + "\u0003\u00b5\u0006\u00b5\u1080\n\u00b5\r\u00b5\u000e\u00b5\u1081\u0003", + "\u00b5\u0003\u00b5\u0003\u00b5\u0005\u00b5\u1087\n\u00b5\u0003\u00b6", + "\u0003\u00b6\u0003\u00b6\u0005\u00b6\u108c\n\u00b6\u0003\u00b6\u0003", + "\u00b6\u0006\u00b6\u1090\n\u00b6\r\u00b6\u000e\u00b6\u1091\u0003\u00b6", + "\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0005\u00b6\u1099\n", + "\u00b6\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b8\u0003\u00b8\u0003", + "\u00b8\u0005\u00b8\u10a1\n\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8", + "\u0003\u00b8\u0006\u00b8\u10a7\n\u00b8\r\u00b8\u000e\u00b8\u10a8\u0003", + "\u00b8\u0003\u00b8\u0003\u00b8\u0005\u00b8\u10ae\n\u00b8\u0003\u00b9", + "\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0005\u00b9\u10b4\n\u00b9\u0003", + "\u00b9\u0005\u00b9\u10b7\n\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9", + "\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0005\u00b9\u10bf\n\u00b9\u0003", + "\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0005\u00ba\u10c6", + "\n\u00ba\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb", + "\u0003\u00bb\u0003\u00bb\u0005\u00bb\u10cf\n\u00bb\u0003\u00bb\u0005", + "\u00bb\u10d2\n\u00bb\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc", + "\u0003\u00bc\u0003\u00bc\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd", + "\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0007\u00bd\u10e1\n\u00bd\f\u00bd", + "\u000e\u00bd\u10e4\u000b\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00be\u0003", + "\u00be\u0003\u00be\u0005\u00be\u10eb\n\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0005\u00be\u10f3\n", + "\u00be\u0003\u00bf\u0003\u00bf\u0005\u00bf\u10f7\n\u00bf\u0003\u00bf", + "\u0003\u00bf\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0005\u00c0\u10fe\n", + "\u00c0\u0003\u00c0\u0003\u00c0\u0006\u00c0\u1102\n\u00c0\r\u00c0\u000e", + "\u00c0\u1103\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0006\u00c1", + "\u110a\n\u00c1\r\u00c1\u000e\u00c1\u110b\u0003\u00c2\u0003\u00c2\u0003", + "\u00c2\u0003\u00c2\u0003\u00c2\u0007\u00c2\u1113\n\u00c2\f\u00c2\u000e", + "\u00c2\u1116\u000b\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0005\u00c2", + "\u111b\n\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0007\u00c2\u1120", + "\n\u00c2\f\u00c2\u000e\u00c2\u1123\u000b\u00c2\u0003\u00c2\u0003\u00c2", + "\u0003\u00c2\u0003\u00c2\u0005\u00c2\u1129\n\u00c2\u0003\u00c2\u0007", + "\u00c2\u112c\n\u00c2\f\u00c2\u000e\u00c2\u112f\u000b\u00c2\u0005\u00c2", + "\u1131\n\u00c2\u0005\u00c2\u1133\n\u00c2\u0003\u00c2\u0003\u00c2\u0006", + "\u00c2\u1137\n\u00c2\r\u00c2\u000e\u00c2\u1138\u0005\u00c2\u113b\n\u00c2", + "\u0003\u00c2\u0003\u00c2\u0007\u00c2\u113f\n\u00c2\f\u00c2\u000e\u00c2", + "\u1142\u000b\u00c2\u0005\u00c2\u1144\n\u00c2\u0003\u00c3\u0003\u00c3", + "\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0007\u00c3\u114b\n\u00c3\f\u00c3", + "\u000e\u00c3\u114e\u000b\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0005", + "\u00c3\u1153\n\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0007\u00c3", + "\u1158\n\u00c3\f\u00c3\u000e\u00c3\u115b\u000b\u00c3\u0003\u00c3\u0003", + "\u00c3\u0003\u00c3\u0003\u00c3\u0005\u00c3\u1161\n\u00c3\u0003\u00c3", + "\u0007\u00c3\u1164\n\u00c3\f\u00c3\u000e\u00c3\u1167\u000b\u00c3\u0005", + "\u00c3\u1169\n\u00c3\u0005\u00c3\u116b\n\u00c3\u0003\u00c3\u0003\u00c3", + "\u0006\u00c3\u116f\n\u00c3\r\u00c3\u000e\u00c3\u1170\u0005\u00c3\u1173", + "\n\u00c3\u0003\u00c3\u0003\u00c3\u0007\u00c3\u1177\n\u00c3\f\u00c3\u000e", + "\u00c3\u117a\u000b\u00c3\u0005\u00c3\u117c\n\u00c3\u0003\u00c4\u0003", + "\u00c4\u0003\u00c4\u0005\u00c4\u1181\n\u00c4\u0003\u00c4\u0003\u00c4", + "\u0003\u00c4\u0007\u00c4\u1186\n\u00c4\f\u00c4\u000e\u00c4\u1189\u000b", + "\u00c4\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0007\u00c5\u118f", + "\n\u00c5\f\u00c5\u000e\u00c5\u1192\u000b\u00c5\u0003\u00c5\u0003\u00c5", + "\u0005\u00c5\u1196\n\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", + "\u00c5\u0003\u00c5\u0007\u00c5\u119d\n\u00c5\f\u00c5\u000e\u00c5\u11a0", + "\u000b\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0005\u00c5", + "\u11a6\n\u00c5\u0003\u00c5\u0007\u00c5\u11a9\n\u00c5\f\u00c5\u000e\u00c5", + "\u11ac\u000b\u00c5\u0005\u00c5\u11ae\n\u00c5\u0005\u00c5\u11b0\n\u00c5", + "\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0007\u00c5\u11b6\n", + "\u00c5\f\u00c5\u000e\u00c5\u11b9\u000b\u00c5\u0005\u00c5\u11bb\n\u00c5", + "\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6", + "\u0003\u00c6\u0003\u00c6\u0007\u00c6\u11c5\n\u00c6\f\u00c6\u000e\u00c6", + "\u11c8\u000b\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0005\u00c6\u11cd", + "\n\u00c6\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7", + "\u0007\u00c7\u11d4\n\u00c7\f\u00c7\u000e\u00c7\u11d7\u000b\u00c7\u0003", + "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0007\u00c8\u11dd\n\u00c8", + "\f\u00c8\u000e\u00c8\u11e0\u000b\u00c8\u0003\u00c8\u0003\u00c8\u0005", + "\u00c8\u11e4\n\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8", + "\u0003\u00c8\u0007\u00c8\u11eb\n\u00c8\f\u00c8\u000e\u00c8\u11ee\u000b", + "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0005\u00c8\u11f3\n\u00c8", + "\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8", + "\u0003\u00c8\u0007\u00c8\u11fc\n\u00c8\f\u00c8\u000e\u00c8\u11ff\u000b", + "\u00c8\u0005\u00c8\u1201\n\u00c8\u0003\u00c9\u0003\u00c9\u0003\u00c9", + "\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0007\u00c9", + "\u120b\n\u00c9\f\u00c9\u000e\u00c9\u120e\u000b\u00c9\u0003\u00ca\u0003", + "\u00ca\u0003\u00ca\u0003\u00ca\u0005\u00ca\u1214\n\u00ca\u0003\u00ca", + "\u0003\u00ca\u0003\u00ca\u0005\u00ca\u1219\n\u00ca\u0003\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0005", + "\u00cc\u1228\n\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc", + "\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0005\u00cc", + "\u1233\n\u00cc\u0003\u00cc\u0005\u00cc\u1236\n\u00cc\u0003\u00cd\u0003", + "\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003", + "\u00cd\u0005\u00cd\u1240\n\u00cd\u0003\u00ce\u0003\u00ce\u0003\u00ce", + "\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0005\u00ce", + "\u124a\n\u00ce\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", + "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0005\u00cf\u1254\n\u00cf", + "\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d1\u0003\u00d1\u0003\u00d1", + "\u0003\u00d1\u0003\u00d1\u0005\u00d1\u125e\n\u00d1\u0003\u00d2\u0003", + "\u00d2\u0005\u00d2\u1262\n\u00d2\u0003\u00d2\u0003\u00d2\u0005\u00d2", + "\u1266\n\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0005\u00d2\u1270\n\u00d2", + "\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0005\u00d2\u1275\n\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0005", + "\u00d2\u12a7\n\u00d2\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3", + "\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3", + "\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3", + "\u0005\u00d3\u12b9\n\u00d3\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003", + "\u00d4\u0003\u00d5\u0003\u00d5\u0005\u00d5\u12c1\n\u00d5\u0003\u00d5", + "\u0003\u00d5\u0003\u00d5\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6", + "\u0007\u00d6\u12ca\n\u00d6\f\u00d6\u000e\u00d6\u12cd\u000b\u00d6\u0003", + "\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0005\u00d7\u12d3\n\u00d7", + "\u0003\u00d8\u0003\u00d8\u0005\u00d8\u12d7\n\u00d8\u0003\u00d8\u0003", + "\u00d8\u0003\u00d8\u0003\u00d9\u0003\u00d9\u0005\u00d9\u12de\n\u00d9", + "\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0005\u00d9\u12e3\n\u00d9\u0003", + "\u00d9\u0005\u00d9\u12e6\n\u00d9\u0003\u00d9\u0005\u00d9\u12e9\n\u00d9", + "\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da", + "\u0003\u00da\u0005\u00da\u12f2\n\u00da\u0003\u00db\u0003\u00db\u0005", + "\u00db\u12f6\n\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db", + "\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00dc\u0003\u00dc\u0003\u00dc", + "\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dd\u0003\u00dd\u0003\u00dd", + "\u0003\u00dd\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de", + "\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0007\u00de\u1312\n", + "\u00de\f\u00de\u000e\u00de\u1315\u000b\u00de\u0003\u00de\u0003\u00de", + "\u0003\u00de\u0003\u00de\u0005\u00de\u131b\n\u00de\u0003\u00de\u0003", + "\u00de\u0005\u00de\u131f\n\u00de\u0003\u00de\u0003\u00de\u0003\u00de", + "\u0003\u00de\u0003\u00de\u0005\u00de\u1326\n\u00de\u0003\u00de\u0005", + "\u00de\u1329\n\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de", + "\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de", + "\u0003\u00de\u0003\u00de\u0007\u00de\u1337\n\u00de\f\u00de\u000e\u00de", + "\u133a\u000b\u00de\u0005\u00de\u133c\n\u00de\u0003\u00df\u0003\u00df", + "\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0005\u00df\u1346\n\u00df\u0003\u00df\u0003\u00df\u0005\u00df\u134a", + "\n\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0005\u00df", + "\u1350\n\u00df\u0003\u00df\u0005\u00df\u1353\n\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0005\u00df\u1358\n\u00df\u0003\u00df\u0003\u00df", + "\u0005\u00df\u135c\n\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0005\u00df\u1363\n\u00df\u0003\u00df\u0005\u00df", + "\u1366\n\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0005", + "\u00df\u136c\n\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0005\u00df\u1384\n\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0005\u00df\u1391\n\u00df\u0003\u00df\u0005\u00df", + "\u1394\n\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0005\u00df\u139e\n\u00df", + "\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0005\u00df\u13a6\n\u00df\u0003\u00df\u0003\u00df\u0005\u00df\u13aa", + "\n\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0005\u00df\u13b1\n\u00df\u0003\u00df\u0005\u00df\u13b4\n\u00df\u0003", + "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0007\u00df\u13bb", + "\n\u00df\f\u00df\u000e\u00df\u13be\u000b\u00df\u0003\u00df\u0003\u00df", + "\u0003\u00df\u0005\u00df\u13c3\n\u00df\u0003\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0005\u00df\u13c9\n\u00df\u0003\u00df\u0003\u00df", + "\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0005\u00df\u13d3\n\u00df\u0005\u00df\u13d5\n\u00df\u0003\u00e0\u0003", + "\u00e0\u0003\u00e0\u0003\u00e0\u0005\u00e0\u13db\n\u00e0\u0003\u00e0", + "\u0005\u00e0\u13de\n\u00e0\u0003\u00e0\u0005\u00e0\u13e1\n\u00e0\u0003", + "\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003", + "\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0005\u00e1\u13ed\n\u00e1", + "\u0003\u00e1\u0005\u00e1\u13f0\n\u00e1\u0003\u00e2\u0003\u00e2\u0003", + "\u00e2\u0003\u00e2\u0005\u00e2\u13f6\n\u00e2\u0003\u00e3\u0005\u00e3", + "\u13f9\n\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003", + "\u00e3\u0003\u00e3\u0005\u00e3\u1401\n\u00e3\u0003\u00e3\u0003\u00e3", + "\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0005\u00e3\u1409\n", + "\u00e3\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0005\u00e4\u140f", + "\n\u00e4\u0003\u00e4\u0003\u00e4\u0005\u00e4\u1413\n\u00e4\u0003\u00e5", + "\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5", + "\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0005\u00e5", + "\u1421\n\u00e5\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e7\u0003", + "\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0007\u00e7\u142b\n\u00e7", + "\f\u00e7\u000e\u00e7\u142e\u000b\u00e7\u0003\u00e7\u0003\u00e7\u0003", + "\u00e7\u0003\u00e7\u0005\u00e7\u1434\n\u00e7\u0003\u00e7\u0005\u00e7", + "\u1437\n\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e8\u0003", + "\u00e8\u0005\u00e8\u143e\n\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8", + "\u0007\u00e8\u1443\n\u00e8\f\u00e8\u000e\u00e8\u1446\u000b\u00e8\u0003", + "\u00e9\u0003\u00e9\u0005\u00e9\u144a\n\u00e9\u0003\u00e9\u0006\u00e9", + "\u144d\n\u00e9\r\u00e9\u000e\u00e9\u144e\u0003\u00ea\u0003\u00ea\u0003", + "\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0007\u00ea\u1458", + "\n\u00ea\f\u00ea\u000e\u00ea\u145b\u000b\u00ea\u0003\u00eb\u0003\u00eb", + "\u0003\u00eb\u0003\u00eb\u0003\u00ec\u0003\u00ec\u0003\u00ed\u0003\u00ed", + "\u0005\u00ed\u1465\n\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003", + "\u00ed\u0005\u00ed\u146b\n\u00ed\u0003\u00ee\u0003\u00ee\u0003\u00ee", + "\u0005\u00ee\u1470\n\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003", + "\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003", + "\u00ee\u0003\u00ee\u0005\u00ee\u147d\n\u00ee\u0005\u00ee\u147f\n\u00ee", + "\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0005\u00ee\u1484\n\u00ee\u0003", + "\u00ee\u0003\u00ee\u0003\u00ee\u0005\u00ee\u1489\n\u00ee\u0005\u00ee", + "\u148b\n\u00ee\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003", + "\u00ef\u0005\u00ef\u1492\n\u00ef\u0003\u00f0\u0003\u00f0\u0003\u00f0", + "\u0003\u00f0\u0003\u00f0\u0005\u00f0\u1499\n\u00f0\u0003\u00f0\u0005", + "\u00f0\u149c\n\u00f0\u0003\u00f0\u0005\u00f0\u149f\n\u00f0\u0003\u00f0", + "\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0005\u00f0\u14a5\n\u00f0\u0003", + "\u00f0\u0003\u00f0\u0005\u00f0\u14a9\n\u00f0\u0003\u00f1\u0003\u00f1", + "\u0003\u00f1\u0003\u00f1\u0005\u00f1\u14af\n\u00f1\u0003\u00f2\u0003", + "\u00f2\u0003\u00f2\u0003\u00f2\u0005\u00f2\u14b5\n\u00f2\u0003\u00f2", + "\u0003\u00f2\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f4\u0003\u00f4", + "\u0003\u00f4\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0005\u00f5\u14c2\n", + "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0005\u00f5\u14c7\n\u00f5", + "\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0007\u00f5\u14cd\n", + "\u00f5\f\u00f5\u000e\u00f5\u14d0\u000b\u00f5\u0005\u00f5\u14d2\n\u00f5", + "\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0005\u00f6\u14d7\n\u00f6\u0003", + "\u00f6\u0003\u00f6\u0003\u00f6\u0005\u00f6\u14dc\n\u00f6\u0003\u00f6", + "\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0007\u00f6\u14e2\n\u00f6\f\u00f6", + "\u000e\u00f6\u14e5\u000b\u00f6\u0005\u00f6\u14e7\n\u00f6\u0003\u00f7", + "\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0005\u00f7\u14ed\n\u00f7\u0003", + "\u00f8\u0003\u00f8\u0005\u00f8\u14f1\n\u00f8\u0003\u00f8\u0003\u00f8", + "\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8", + "\u0003\u00f8\u0007\u00f8\u14fc\n\u00f8\f\u00f8\u000e\u00f8\u14ff\u000b", + "\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0005\u00f8\u1504\n\u00f8", + "\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8", + "\u0003\u00f8\u0003\u00f8\u0007\u00f8\u150e\n\u00f8\f\u00f8\u000e\u00f8", + "\u1511\u000b\u00f8\u0005\u00f8\u1513\n\u00f8\u0003\u00f9\u0003\u00f9", + "\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0005\u00fa", + "\u151c\n\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0005\u00fa\u1521", + "\n\u00fa\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0005\u00fb", + "\u1527\n\u00fb\u0003\u00fc\u0003\u00fc\u0003\u00fd\u0003\u00fd\u0003", + "\u00fd\u0005\u00fd\u152e\n\u00fd\u0005\u00fd\u1530\n\u00fd\u0003\u00fe", + "\u0003\u00fe\u0005\u00fe\u1534\n\u00fe\u0003\u00fe\u0003\u00fe\u0003", + "\u00fe\u0003\u00fe\u0005\u00fe\u153a\n\u00fe\u0003\u00fe\u0005\u00fe", + "\u153d\n\u00fe\u0003\u00ff\u0003\u00ff\u0003\u0100\u0003\u0100\u0003", + "\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0005\u0101\u1547\n\u0101", + "\u0003\u0102\u0003\u0102\u0005\u0102\u154b\n\u0102\u0003\u0103\u0003", + "\u0103\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", + "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", + "\u0104\u0003\u0104\u0003\u0104\u0006\u0104\u155d\n\u0104\r\u0104\u000e", + "\u0104\u155e\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105", + "\u0005\u0105\u1566\n\u0105\u0005\u0105\u1568\n\u0105\u0003\u0106\u0003", + "\u0106\u0003\u0106\u0006\u0106\u156d\n\u0106\r\u0106\u000e\u0106\u156e", + "\u0005\u0106\u1571\n\u0106\u0003\u0107\u0003\u0107\u0005\u0107\u1575", + "\n\u0107\u0003\u0108\u0003\u0108\u0003\u0108\u0005\u0108\u157a\n\u0108", + "\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109", + "\u0003\u0109\u0003\u0109\u0003\u0109\u0005\u0109\u1585\n\u0109\u0003", + "\u010a\u0003\u010a\u0003\u010a\u0005\u010a\u158a\n\u010a\u0003\u010b", + "\u0003\u010b\u0003\u010c\u0003\u010c\u0005\u010c\u1590\n\u010c\u0003", + "\u010d\u0005\u010d\u1593\n\u010d\u0003\u010d\u0003\u010d\u0005\u010d", + "\u1597\n\u010d\u0003\u010d\u0006\u010d\u159a\n\u010d\r\u010d\u000e\u010d", + "\u159b\u0003\u010d\u0005\u010d\u159f\n\u010d\u0003\u010d\u0003\u010d", + "\u0005\u010d\u15a3\n\u010d\u0003\u010d\u0003\u010d\u0005\u010d\u15a7", + "\n\u010d\u0005\u010d\u15a9\n\u010d\u0003\u010e\u0003\u010e\u0003\u010f", + "\u0005\u010f\u15ae\n\u010f\u0003\u010f\u0003\u010f\u0003\u0110\u0005", + "\u0110\u15b3\n\u0110\u0003\u0110\u0003\u0110\u0003\u0111\u0003\u0111", + "\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0111", + "\u0003\u0111\u0005\u0111\u15c0\n\u0111\u0003\u0111\u0005\u0111\u15c3", + "\n\u0111\u0003\u0112\u0003\u0112\u0005\u0112\u15c7\n\u0112\u0003\u0112", + "\u0005\u0112\u15ca\n\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0005", + "\u0112\u15cf\n\u0112\u0003\u0112\u0005\u0112\u15d2\n\u0112\u0003\u0112", + "\u0003\u0112\u0005\u0112\u15d6\n\u0112\u0003\u0112\u0003\u0112\u0003", + "\u0112\u0005\u0112\u15db\n\u0112\u0003\u0112\u0005\u0112\u15de\n\u0112", + "\u0003\u0112\u0003\u0112\u0003\u0112\u0005\u0112\u15e3\n\u0112\u0003", + "\u0112\u0005\u0112\u15e6\n\u0112\u0003\u0112\u0003\u0112\u0003\u0112", + "\u0003\u0112\u0005\u0112\u15ec\n\u0112\u0003\u0112\u0005\u0112\u15ef", + "\n\u0112\u0003\u0112\u0003\u0112\u0005\u0112\u15f3\n\u0112\u0003\u0112", + "\u0005\u0112\u15f6\n\u0112\u0003\u0112\u0005\u0112\u15f9\n\u0112\u0003", + "\u0112\u0003\u0112\u0005\u0112\u15fd\n\u0112\u0003\u0112\u0005\u0112", + "\u1600\n\u0112\u0003\u0112\u0005\u0112\u1603\n\u0112\u0003\u0112\u0003", + "\u0112\u0005\u0112\u1607\n\u0112\u0003\u0112\u0005\u0112\u160a\n\u0112", + "\u0003\u0112\u0005\u0112\u160d\n\u0112\u0003\u0112\u0005\u0112\u1610", + "\n\u0112\u0003\u0112\u0003\u0112\u0005\u0112\u1614\n\u0112\u0003\u0112", + "\u0005\u0112\u1617\n\u0112\u0003\u0112\u0005\u0112\u161a\n\u0112\u0003", + "\u0112\u0003\u0112\u0003\u0112\u0005\u0112\u161f\n\u0112\u0003\u0112", + "\u0003\u0112\u0003\u0112\u0005\u0112\u1624\n\u0112\u0003\u0112\u0003", + "\u0112\u0003\u0112\u0005\u0112\u1629\n\u0112\u0003\u0112\u0005\u0112", + "\u162c\n\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0005\u0112\u1631", + "\n\u0112\u0003\u0112\u0005\u0112\u1634\n\u0112\u0003\u0112\u0003\u0112", + "\u0003\u0112\u0005\u0112\u1639\n\u0112\u0003\u0112\u0005\u0112\u163c", + "\n\u0112\u0003\u0112\u0003\u0112\u0005\u0112\u1640\n\u0112\u0003\u0112", + "\u0003\u0112\u0005\u0112\u1644\n\u0112\u0003\u0113\u0003\u0113\u0003", + "\u0113\u0003\u0113\u0007\u0113\u164a\n\u0113\f\u0113\u000e\u0113\u164d", + "\u000b\u0113\u0003\u0113\u0003\u0113\u0003\u0114\u0003\u0114\u0005\u0114", + "\u1653\n\u0114\u0003\u0114\u0003\u0114\u0005\u0114\u1657\n\u0114\u0003", + "\u0114\u0003\u0114\u0003\u0114\u0005\u0114\u165c\n\u0114\u0003\u0114", + "\u0005\u0114\u165f\n\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0005", + "\u0114\u1664\n\u0114\u0003\u0114\u0003\u0114\u0005\u0114\u1668\n\u0114", + "\u0005\u0114\u166a\n\u0114\u0003\u0115\u0003\u0115\u0003\u0115\u0003", + "\u0115\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003", + "\u0116\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0005\u0117\u167a", + "\n\u0117\u0003\u0117\u0003\u0117\u0003\u0118\u0003\u0118\u0003\u0118", + "\u0007\u0118\u1681\n\u0118\f\u0118\u000e\u0118\u1684\u000b\u0118\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0007\u0119\u1689\n\u0119\f\u0119\u000e", + "\u0119\u168c\u000b\u0119\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a", + "\u0007\u011a\u1692\n\u011a\f\u011a\u000e\u011a\u1695\u000b\u011a\u0003", + "\u011a\u0003\u011a\u0003\u011b\u0003\u011b\u0003\u011b\u0007\u011b\u169c", + "\n\u011b\f\u011b\u000e\u011b\u169f\u000b\u011b\u0003\u011c\u0003\u011c", + "\u0003\u011c\u0007\u011c\u16a4\n\u011c\f\u011c\u000e\u011c\u16a7\u000b", + "\u011c\u0003\u011d\u0003\u011d\u0003\u011d\u0007\u011d\u16ac\n\u011d", + "\f\u011d\u000e\u011d\u16af\u000b\u011d\u0003\u011e\u0003\u011e\u0003", + "\u011e\u0007\u011e\u16b4\n\u011e\f\u011e\u000e\u011e\u16b7\u000b\u011e", + "\u0003\u011f\u0003\u011f\u0003\u011f\u0007\u011f\u16bc\n\u011f\f\u011f", + "\u000e\u011f\u16bf\u000b\u011f\u0003\u0120\u0003\u0120\u0005\u0120\u16c3", + "\n\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0120", + "\u0005\u0120\u16ca\n\u0120\u0005\u0120\u16cc\n\u0120\u0003\u0121\u0003", + "\u0121\u0003\u0121\u0005\u0121\u16d1\n\u0121\u0003\u0121\u0005\u0121", + "\u16d4\n\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0005\u0121\u16d9", + "\n\u0121\u0003\u0121\u0005\u0121\u16dc\n\u0121\u0003\u0122\u0003\u0122", + "\u0005\u0122\u16e0\n\u0122\u0003\u0123\u0003\u0123\u0003\u0123\u0003", + "\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0125\u0003\u0125\u0003", + "\u0125\u0003\u0125\u0003\u0125\u0005\u0125\u16ee\n\u0125\u0003\u0125", + "\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0005\u0125\u16f5\n", + "\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0005\u0125\u16fa\n\u0125", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126", + "\u0006\u0126\u171a\n\u0126\r\u0126\u000e\u0126\u171b\u0003\u0126\u0003", + "\u0126\u0005\u0126\u1720\n\u0126\u0003\u0126\u0003\u0126\u0003\u0126", + "\u0003\u0126\u0006\u0126\u1726\n\u0126\r\u0126\u000e\u0126\u1727\u0003", + "\u0126\u0003\u0126\u0005\u0126\u172c\n\u0126\u0003\u0126\u0003\u0126", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0005\u0126", + "\u1735\n\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003", + "\u0126\u0003\u0126\u0005\u0126\u173d\n\u0126\u0003\u0126\u0003\u0126", + "\u0003\u0126\u0005\u0126\u1742\n\u0126\u0003\u0126\u0003\u0126\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u174a\n\u0126", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u174f\n\u0126\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u1754\n\u0126\u0005\u0126", + "\u1756\n\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u175f\n\u0126\u0003\u0126", + "\u0003\u0126\u0003\u0126\u0005\u0126\u1764\n\u0126\u0003\u0126\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u176c", + "\n\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u1771\n\u0126", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126", + "\u0005\u0126\u1779\n\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u1781\n\u0126\u0003\u0126", + "\u0005\u0126\u1784\n\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u178e", + "\n\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126", + "\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0005\u0126\u1799\n", + "\u0126\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003\u0127\u0003", + "\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0007\u0128\u17a4\n\u0128", + "\f\u0128\u000e\u0128\u17a7\u000b\u0128\u0003\u0128\u0003\u0128\u0003", + "\u0128\u0003\u0128\u0003\u0128\u0005\u0128\u17ae\n\u0128\u0003\u0129", + "\u0003\u0129\u0005\u0129\u17b2\n\u0129\u0003\u012a\u0003\u012a\u0003", + "\u012a\u0005\u012a\u17b7\n\u012a\u0003\u012a\u0003\u012a\u0003\u012a", + "\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0005\u012a\u17c0\n", + "\u012a\u0003\u012a\u0005\u012a\u17c3\n\u012a\u0003\u012a\u0003\u012a", + "\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a", + "\u0003\u012a\u0003\u012a\u0005\u012a\u17cf\n\u012a\u0003\u012a\u0003", + "\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0005\u012a\u17d7", + "\n\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a", + "\u0003\u012a\u0007\u012a\u17df\n\u012a\f\u012a\u000e\u012a\u17e2\u000b", + "\u012a\u0005\u012a\u17e4\n\u012a\u0003\u012a\u0003\u012a\u0005\u012a", + "\u17e8\n\u012a\u0003\u012a\u0003\u012a\u0005\u012a\u17ec\n\u012a\u0003", + "\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003", + "\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003", + "\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003", + "\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0005\u012b\u1805", + "\n\u012b\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c", + "\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0005\u012d\u1810\n", + "\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0005", + "\u012d\u1817\n\u012d\u0007\u012d\u1819\n\u012d\f\u012d\u000e\u012d\u181c", + "\u000b\u012d\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0005\u012e", + "\u1822\n\u012e\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003", + "\u012f\u0003\u012f\u0005\u012f\u182a\n\u012f\u0003\u012f\u0003\u012f", + "\u0003\u012f\u0005\u012f\u182f\n\u012f\u0003\u012f\u0003\u012f\u0003", + "\u012f\u0003\u012f\u0007\u012f\u1835\n\u012f\f\u012f\u000e\u012f\u1838", + "\u000b\u012f\u0003\u0130\u0003\u0130\u0003\u0130\u0005\u0130\u183d\n", + "\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", + "\u0130\u0003\u0130\u0003\u0130\u0005\u0130\u1847\n\u0130\u0003\u0130", + "\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130", + "\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0005\u0130\u1854\n", + "\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0005\u0130\u185a", + "\n\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0005\u0130", + "\u1860\n\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", + "\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", + "\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0005\u0130\u1870\n\u0130", + "\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0005\u0130\u1876\n", + "\u0130\u0007\u0130\u1878\n\u0130\f\u0130\u000e\u0130\u187b\u000b\u0130", + "\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131", + "\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131", + "\u0003\u0131\u0003\u0131\u0007\u0131\u188b\n\u0131\f\u0131\u000e\u0131", + "\u188e\u000b\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", + "\u0131\u0003\u0131\u0003\u0131\u0006\u0131\u1897\n\u0131\r\u0131\u000e", + "\u0131\u1898\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131", + "\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131", + "\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0005\u0131\u18aa\n", + "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", + "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0007", + "\u0131\u18b7\n\u0131\f\u0131\u000e\u0131\u18ba\u000b\u0131\u0003\u0132", + "\u0003\u0132\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133", + "\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133", + "\u0003\u0133\u0003\u0133\u0003\u0133\u0005\u0133\u18cc\n\u0133\u0003", + "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003", + "\u0134\u0005\u0134\u18d5\n\u0134\u0003\u0135\u0003\u0135\u0003\u0135", + "\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0005\u0135\u18de\n", + "\u0135\u0003\u0136\u0003\u0136\u0003\u0137\u0003\u0137\u0003\u0138\u0003", + "\u0138\u0003\u0139\u0003\u0139\u0003\u013a\u0003\u013a\u0003\u013b\u0003", + "\u013b\u0003\u013c\u0003\u013c\u0003\u013d\u0003\u013d\u0003\u013d\u0002", + "\u0005\u025c\u025e\u0260\u013e\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012", + "\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<>@BDFHJLNPRTVXZ", + "\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e", + "\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6", + "\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be", + "\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\u00d4\u00d6", + "\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea\u00ec\u00ee", + "\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104\u0106", + "\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e", + "\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136", + "\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a\u014c\u014e", + "\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166", + "\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a\u017c\u017e", + "\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192\u0194\u0196", + "\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa\u01ac\u01ae", + "\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4\u01c6", + "\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\u01de", + "\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2\u01f4\u01f6", + "\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e", + "\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226", + "\u0228\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a\u023c\u023e", + "\u0240\u0242\u0244\u0246\u0248\u024a\u024c\u024e\u0250\u0252\u0254\u0256", + "\u0258\u025a\u025c\u025e\u0260\u0262\u0264\u0266\u0268\u026a\u026c\u026e", + "\u0270\u0272\u0274\u0276\u0278\u0002\u0080\u0004\u0002%%\u0089\u0089", + "\u0004\u0002\u01c5\u01c5\u01ca\u01ca\u0005\u0002@@\u0090\u0090\u00a5", + "\u00a5\u0005\u0002((\u0142\u0142\u0181\u0181\u0006\u0002((\u0162\u0162", + "\u01c4\u01c4\u020a\u020a\u0004\u0002\u01bb\u01bb\u040d\u040d\u0004\u0002", + "HH\u0081\u0081\u0004\u0002\u000f\u000f\u0112\u0112\u0005\u0002**NN\u00a8", + "\u00a8\u0004\u0002\u016f\u016f\u01dc\u01dc\u0005\u0002\u01b3\u01b3\u0230", + "\u0230\u0237\u0237\u0004\u0002\u0149\u0149\u0186\u0186\u0004\u0002\u0124", + "\u0124\u0194\u0194\u0004\u0002\u0122\u0122\u0178\u0178\u0005\u0002I", + "IMMrr\u0005\u0002((\u0153\u0153\u016d\u016d\u0005\u0002((\u014f\u014f", + "\u02ac\u02ac\u0004\u0002\u0224\u0224\u0245\u0245\u0004\u0002JJTT\u0005", + "\u0002\u0171\u0171\u01d3\u01d3\u020c\u020c\u0004\u0002@@\u0090\u0090", + "\u0003\u0002\u0128\u0129\u0003\u0002\u0403\u0404\u0004\u0002\u040d\u040d", + "\u0415\u0415\u0005\u0002\u016c\u016c\u018f\u018f\u01c2\u01c2\u0004\u0002", + "((\u0403\u0404\b\u0002((\u0135\u0135\u0137\u0137\u0153\u0153\u016d\u016d", + "\u01e9\u01e9\u0003\u0002\u0404\u0405\u0004\u0002\u0007\u000711\u0004", + "\u0002\u0185\u0185\u0246\u0246\u0004\u0002\r\r\u009f\u009f\u0004\u0002", + "\u00b0\u00b0\u0249\u0249\u0004\u0002\u0014\u0014\u0084\u0084\u0005\u0002", + "))FFaa\u0004\u0002aa\u0139\u0139\u0004\u0002\u0130\u0130\u0169\u0169", + "\u0004\u0002]]\u0202\u0202\u0004\u0002))aa\u0004\u0002\b\b//\u0004\u0002", + "\u00ac\u00ac\u0242\u0242\u0006\u0002\u016c\u016c\u018f\u018f\u01c1\u01c1", + "\u01df\u01df\u0004\u0002\u016c\u016c\u01c1\u01c1\u0004\u0002\u000e\u000e", + "++\u0005\u0002==HH\u00aa\u00aa\u0004\u0002!!LL\u0004\u0002YY\u0087\u0087", + "\u0004\u0002\b\b/0\u0003\u0002\u0219\u021a\u0004\u0002\u0174\u0174\u0208", + "\u0208\u0004\u0002\u00d2\u00d2\u0197\u0197\u0007\u0002bb\u019c\u019d", + "\u019f\u019f\u01a3\u01ab\u01eb\u01eb\u0006\u0002\u0199\u019a\u019e\u019e", + "\u01a0\u01a1\u01ec\u01ec\u0005\u0002cc\u0198\u0198\u01a2\u01a2\u0004", + "\u0002\u0188\u0188\u021b\u021b\u0004\u0002\u0215\u0215\u0217\u0217\u0004", + "\u0002\u011c\u011c\u021c\u021c\u0004\u0002SS\u01fa\u01fa\u0004\u0002", + "11\u0147\u0147\u0005\u0002\u001e\u001e88\u00a3\u00a3\u0005\u0002ww\u009c", + "\u009c\u0172\u0172\u0004\u0002__\u00a6\u00a6\u0004\u0002\u012c\u012c", + "\u020d\u020d\u0004\u0002&&\u0244\u0244\u0004\u0002ii\u0194\u0194\u0004", + "\u0002\u0165\u0165\u01e5\u01e5\u0006\u0002\u00be\u00be\u00c0\u00c0\u00c6", + "\u00c6\u0225\u0225\u0004\u0002\u03e4\u03e4\u03f5\u03f5\u0004\u0002\u011d", + "\u011d\u01ed\u01ed\u0004\u0002??II\b\u0002ww\u009c\u009c\u00a1\u00a1", + "\u015e\u015e\u0172\u0172\u0244\u0244\u0004\u0002\u01ba\u01ba\u0221\u0221", + "\u0004\u0002\u015b\u015b\u0248\u0248\u0004\u0002ww\u0172\u0172\u0005", + "\u0002JJUU\u017f\u017f\u0005\u0002\u0174\u0174\u0194\u0194\u0208\u0208", + "\u0004\u0002\u0221\u0221\u0243\u0243\u0004\u0002\u013a\u013a\u01e4\u01e4", + "\b\u0002\u00d2\u00d2\u0158\u0158\u015a\u015a\u0173\u0173\u01ea\u01ea", + "\u020e\u020e\u0004\u0002+,99\u0005\u0002\u0165\u0165\u01d5\u01d5\u0308", + "\u0308\u0004\u0002\u018c\u018c\u0232\u0232\f\u0002\u012b\u012b\u0132", + "\u0132\u013c\u013e\u0144\u0144\u01b4\u01b4\u01bc\u01bc\u0226\u0226\u022d", + "\u022d\u02d8\u02d8\u037e\u037e\u0004\u0002\"\"\u0099\u0099\u0004\u0002", + "kk\u0376\u0376\r\u0002\u012b\u012b\u0132\u0132\u013c\u013e\u0144\u0144", + "\u01b4\u01b4\u01bc\u01bc\u01fb\u01fb\u0226\u0226\u022d\u022d\u02d8\u02d8", + "\u037e\u037e\u0005\u0002\u040d\u040d\u0415\u0415\u0417\u0417\u0003\u0002", + "\u0418\u0419\u0005\u0002\u02a7\u02b2\u040d\u040d\u0415\u0416\u0004\u0002", + "\u0403\u0405\u040e\u040e\u0004\u0002::\u00a2\u00a2\u0004\u0002jj\u0411", + "\u0411\u0007\u0002\u0018\u0018\u00ce\u00d0\u00d7\u00d7\u00d9\u00dc\u01bf", + "\u01bf\u0004\u0002\u0018\u0018\u00cf\u00cf\u0004\u0002\u0018\u0018\u00ce", + "\u00ce\u0003\u0002\u00b4\u00bf\u0004\u0002\u00a7\u00a7\u020b\u020b\u0004", + "\u0002\u00c3\u00c8\u016d\u016d\u0007\u0002\u00c9\u00c9\u00d4\u00d6\u00d8", + "\u00d8\u00df\u00df\u0120\u0121\u0005\u0002\u00ca\u00cd\u00d2\u00d3\u011e", + "\u011e\u0004\u0002\u008c\u008c\u00dd\u00dd\u0004\u0002\u018c\u018c\u02b7", + "\u02bf\u0004\u0002\u00d2\u00d2\u01bf\u01bf\u0005\u0002\u00c9\u00ca\u00cc", + "\u00cc\u018c\u018c\u0004\u0002\u00ff\u0100\u0106\u0106\u0004\u0002#", + "#\u00fd\u0100\u0003\u0002\u0109\u010a\u0005\u0002\u0011\u0011WW\u00a0", + "\u00a0\u0004\u0002\u00ce\u00ce\u00d2\u00d2\u0004\u0002\u00c9\u00ca\u00cc", + "\u00cc\u0005\u0002\u000e\u000e++\u0374\u0374\u0005\u0002\u00ed\u00ed", + "\u00f3\u00f4\u00f9\u00f9\u0005\u0002\u00ee\u00f0\u00f5\u00f8\u00fa\u00fc", + "\u0004\u0002\u01c8\u01c8\u01d6\u01d6\u0004\u0002hh\u03f8\u03f8\u0005", + "\u0002::\u00a2\u00a2\u023b\u023b\u0004\u0002}}\u0088\u0088\u0005\u0002", + "\b\b\u0115\u0115\u0211\u0211\u0006\u0002hh\u03f0\u03f0\u03f2\u03f2\u03f8", + "\u03f9\u0003\u0002\u03ed\u03f4\u0003\u0002\u027f\u02a6\u0003\u0002\u02b3", + "\u02b6\u0003\u0002\u025c\u0264\u0003\u0002\u0254\u025b\u0005\u0002\u00c9", + "\u00cd\u00da\u00da\u00dd\u00dd\u0010\u0002\"\"..kk\u0099\u0099\u00df", + "\u00df\u0110\u0184\u0186\u0223\u0225\u0244\u0247\u024e\u0253\u0253\u0266", + "\u027e\u02ac\u02ac\u02d8\u02d8\u037e\u037e\u0012\u0002%%YY\u0087\u0087", + "\u00c9\u00cb\u00cd\u00cd\u00eb\u00ec\u00f1\u00f1\u0108\u0108\u0185\u0185", + "\u0246\u0246\u0254\u025b\u0278\u0278\u02b7\u02b7\u02ba\u02d7\u02d9\u037d", + "\u037f\u03e3\u0002\u1d51\u0002\u027a\u0003\u0002\u0002\u0002\u0004\u027e", + "\u0003\u0002\u0002\u0002\u0006\u028f\u0003\u0002\u0002\u0002\b\u02a3", + "\u0003\u0002\u0002\u0002\n\u02a5\u0003\u0002\u0002\u0002\f\u02ca\u0003", + "\u0002\u0002\u0002\u000e\u02d6\u0003\u0002\u0002\u0002\u0010\u02e1\u0003", + "\u0002\u0002\u0002\u0012\u02f2\u0003\u0002\u0002\u0002\u0014\u02f7\u0003", + "\u0002\u0002\u0002\u0016\u0303\u0003\u0002\u0002\u0002\u0018\u031e\u0003", + "\u0002\u0002\u0002\u001a\u0327\u0003\u0002\u0002\u0002\u001c\u0329\u0003", + "\u0002\u0002\u0002\u001e\u0335\u0003\u0002\u0002\u0002 \u0353\u0003", + "\u0002\u0002\u0002\"\u0377\u0003\u0002\u0002\u0002$\u03aa\u0003\u0002", + "\u0002\u0002&\u03c4\u0003\u0002\u0002\u0002(\u03e2\u0003\u0002\u0002", + "\u0002*\u0443\u0003\u0002\u0002\u0002,\u0445\u0003\u0002\u0002\u0002", + ".\u0457\u0003\u0002\u0002\u00020\u0494\u0003\u0002\u0002\u00022\u04a7", + "\u0003\u0002\u0002\u00024\u04e2\u0003\u0002\u0002\u00026\u04e4\u0003", + "\u0002\u0002\u00028\u0510\u0003\u0002\u0002\u0002:\u0516\u0003\u0002", + "\u0002\u0002<\u0518\u0003\u0002\u0002\u0002>\u052d\u0003\u0002\u0002", + "\u0002@\u0534\u0003\u0002\u0002\u0002B\u0536\u0003\u0002\u0002\u0002", + "D\u0546\u0003\u0002\u0002\u0002F\u0549\u0003\u0002\u0002\u0002H\u054e", + "\u0003\u0002\u0002\u0002J\u0568\u0003\u0002\u0002\u0002L\u0578\u0003", + "\u0002\u0002\u0002N\u057a\u0003\u0002\u0002\u0002P\u058a\u0003\u0002", + "\u0002\u0002R\u058c\u0003\u0002\u0002\u0002T\u05c6\u0003\u0002\u0002", + "\u0002V\u060d\u0003\u0002\u0002\u0002X\u060f\u0003\u0002\u0002\u0002", + "Z\u062b\u0003\u0002\u0002\u0002\\\u0633\u0003\u0002\u0002\u0002^\u0651", + "\u0003\u0002\u0002\u0002`\u06e3\u0003\u0002\u0002\u0002b\u06e5\u0003", + "\u0002\u0002\u0002d\u06e8\u0003\u0002\u0002\u0002f\u0732\u0003\u0002", + "\u0002\u0002h\u0749\u0003\u0002\u0002\u0002j\u07ce\u0003\u0002\u0002", + "\u0002l\u07d3\u0003\u0002\u0002\u0002n\u07d5\u0003\u0002\u0002\u0002", + "p\u07df\u0003\u0002\u0002\u0002r\u0814\u0003\u0002\u0002\u0002t\u0828", + "\u0003\u0002\u0002\u0002v\u082a\u0003\u0002\u0002\u0002x\u084d\u0003", + "\u0002\u0002\u0002z\u0856\u0003\u0002\u0002\u0002|\u085d\u0003\u0002", + "\u0002\u0002~\u0874\u0003\u0002\u0002\u0002\u0080\u087d\u0003\u0002", + "\u0002\u0002\u0082\u088c\u0003\u0002\u0002\u0002\u0084\u08a2\u0003\u0002", + "\u0002\u0002\u0086\u08b6\u0003\u0002\u0002\u0002\u0088\u0a41\u0003\u0002", + "\u0002\u0002\u008a\u0a43\u0003\u0002\u0002\u0002\u008c\u0a4a\u0003\u0002", + "\u0002\u0002\u008e\u0a51\u0003\u0002\u0002\u0002\u0090\u0a68\u0003\u0002", + "\u0002\u0002\u0092\u0a70\u0003\u0002\u0002\u0002\u0094\u0a77\u0003\u0002", + "\u0002\u0002\u0096\u0a7e\u0003\u0002\u0002\u0002\u0098\u0a85\u0003\u0002", + "\u0002\u0002\u009a\u0a91\u0003\u0002\u0002\u0002\u009c\u0a9b\u0003\u0002", + "\u0002\u0002\u009e\u0aa2\u0003\u0002\u0002\u0002\u00a0\u0ab2\u0003\u0002", + "\u0002\u0002\u00a2\u0abc\u0003\u0002\u0002\u0002\u00a4\u0ac0\u0003\u0002", + "\u0002\u0002\u00a6\u0ac6\u0003\u0002\u0002\u0002\u00a8\u0ad2\u0003\u0002", + "\u0002\u0002\u00aa\u0ad4\u0003\u0002\u0002\u0002\u00ac\u0adb\u0003\u0002", + "\u0002\u0002\u00ae\u0add\u0003\u0002\u0002\u0002\u00b0\u0b10\u0003\u0002", + "\u0002\u0002\u00b2\u0b5a\u0003\u0002\u0002\u0002\u00b4\u0b95\u0003\u0002", + "\u0002\u0002\u00b6\u0bed\u0003\u0002\u0002\u0002\u00b8\u0bf1\u0003\u0002", + "\u0002\u0002\u00ba\u0c05\u0003\u0002\u0002\u0002\u00bc\u0c07\u0003\u0002", + "\u0002\u0002\u00be\u0c0f\u0003\u0002\u0002\u0002\u00c0\u0c17\u0003\u0002", + "\u0002\u0002\u00c2\u0c19\u0003\u0002\u0002\u0002\u00c4\u0c37\u0003\u0002", + "\u0002\u0002\u00c6\u0c6e\u0003\u0002\u0002\u0002\u00c8\u0c77\u0003\u0002", + "\u0002\u0002\u00ca\u0c8b\u0003\u0002\u0002\u0002\u00cc\u0c97\u0003\u0002", + "\u0002\u0002\u00ce\u0c9b\u0003\u0002\u0002\u0002\u00d0\u0cbc\u0003\u0002", + "\u0002\u0002\u00d2\u0cd1\u0003\u0002\u0002\u0002\u00d4\u0cdb\u0003\u0002", + "\u0002\u0002\u00d6\u0cdf\u0003\u0002\u0002\u0002\u00d8\u0cf8\u0003\u0002", + "\u0002\u0002\u00da\u0d22\u0003\u0002\u0002\u0002\u00dc\u0d24\u0003\u0002", + "\u0002\u0002\u00de\u0d33\u0003\u0002\u0002\u0002\u00e0\u0d61\u0003\u0002", + "\u0002\u0002\u00e2\u0d6b\u0003\u0002\u0002\u0002\u00e4\u0d75\u0003\u0002", + "\u0002\u0002\u00e6\u0d9f\u0003\u0002\u0002\u0002\u00e8\u0da1\u0003\u0002", + "\u0002\u0002\u00ea\u0db2\u0003\u0002\u0002\u0002\u00ec\u0db8\u0003\u0002", + "\u0002\u0002\u00ee\u0dc8\u0003\u0002\u0002\u0002\u00f0\u0dcc\u0003\u0002", + "\u0002\u0002\u00f2\u0df2\u0003\u0002\u0002\u0002\u00f4\u0e18\u0003\u0002", + "\u0002\u0002\u00f6\u0e26\u0003\u0002\u0002\u0002\u00f8\u0e2e\u0003\u0002", + "\u0002\u0002\u00fa\u0e30\u0003\u0002\u0002\u0002\u00fc\u0e4a\u0003\u0002", + "\u0002\u0002\u00fe\u0e4e\u0003\u0002\u0002\u0002\u0100\u0e5d\u0003\u0002", + "\u0002\u0002\u0102\u0e5f\u0003\u0002\u0002\u0002\u0104\u0e6b\u0003\u0002", + "\u0002\u0002\u0106\u0e6f\u0003\u0002\u0002\u0002\u0108\u0e80\u0003\u0002", + "\u0002\u0002\u010a\u0e91\u0003\u0002\u0002\u0002\u010c\u0e94\u0003\u0002", + "\u0002\u0002\u010e\u0e9e\u0003\u0002\u0002\u0002\u0110\u0ea2\u0003\u0002", + "\u0002\u0002\u0112\u0eac\u0003\u0002\u0002\u0002\u0114\u0eaf\u0003\u0002", + "\u0002\u0002\u0116\u0eb4\u0003\u0002\u0002\u0002\u0118\u0ec8\u0003\u0002", + "\u0002\u0002\u011a\u0eca\u0003\u0002\u0002\u0002\u011c\u0edb\u0003\u0002", + "\u0002\u0002\u011e\u0ee4\u0003\u0002\u0002\u0002\u0120\u0eed\u0003\u0002", + "\u0002\u0002\u0122\u0eef\u0003\u0002\u0002\u0002\u0124\u0efd\u0003\u0002", + "\u0002\u0002\u0126\u0f08\u0003\u0002\u0002\u0002\u0128\u0f11\u0003\u0002", + "\u0002\u0002\u012a\u0f14\u0003\u0002\u0002\u0002\u012c\u0f1c\u0003\u0002", + "\u0002\u0002\u012e\u0f35\u0003\u0002\u0002\u0002\u0130\u0f41\u0003\u0002", + "\u0002\u0002\u0132\u0f44\u0003\u0002\u0002\u0002\u0134\u0f64\u0003\u0002", + "\u0002\u0002\u0136\u0f66\u0003\u0002\u0002\u0002\u0138\u0f68\u0003\u0002", + "\u0002\u0002\u013a\u0f6a\u0003\u0002\u0002\u0002\u013c\u0f6c\u0003\u0002", + "\u0002\u0002\u013e\u0fa1\u0003\u0002\u0002\u0002\u0140\u0fa3\u0003\u0002", + "\u0002\u0002\u0142\u0fa9\u0003\u0002\u0002\u0002\u0144\u0fbd\u0003\u0002", + "\u0002\u0002\u0146\u0fcb\u0003\u0002\u0002\u0002\u0148\u0fd6\u0003\u0002", + "\u0002\u0002\u014a\u0fd8\u0003\u0002\u0002\u0002\u014c\u0fde\u0003\u0002", + "\u0002\u0002\u014e\u0fe8\u0003\u0002\u0002\u0002\u0150\u0fec\u0003\u0002", + "\u0002\u0002\u0152\u0ff3\u0003\u0002\u0002\u0002\u0154\u0ff7\u0003\u0002", + "\u0002\u0002\u0156\u0ffd\u0003\u0002\u0002\u0002\u0158\u1004\u0003\u0002", + "\u0002\u0002\u015a\u100a\u0003\u0002\u0002\u0002\u015c\u1010\u0003\u0002", + "\u0002\u0002\u015e\u1015\u0003\u0002\u0002\u0002\u0160\u1044\u0003\u0002", + "\u0002\u0002\u0162\u1059\u0003\u0002\u0002\u0002\u0164\u1072\u0003\u0002", + "\u0002\u0002\u0166\u1075\u0003\u0002\u0002\u0002\u0168\u107b\u0003\u0002", + "\u0002\u0002\u016a\u108b\u0003\u0002\u0002\u0002\u016c\u109a\u0003\u0002", + "\u0002\u0002\u016e\u10a0\u0003\u0002\u0002\u0002\u0170\u10be\u0003\u0002", + "\u0002\u0002\u0172\u10c0\u0003\u0002\u0002\u0002\u0174\u10c7\u0003\u0002", + "\u0002\u0002\u0176\u10d3\u0003\u0002\u0002\u0002\u0178\u10d9\u0003\u0002", + "\u0002\u0002\u017a\u10f2\u0003\u0002\u0002\u0002\u017c\u10f6\u0003\u0002", + "\u0002\u0002\u017e\u10fa\u0003\u0002\u0002\u0002\u0180\u1105\u0003\u0002", + "\u0002\u0002\u0182\u1143\u0003\u0002\u0002\u0002\u0184\u117b\u0003\u0002", + "\u0002\u0002\u0186\u117d\u0003\u0002\u0002\u0002\u0188\u118a\u0003\u0002", + "\u0002\u0002\u018a\u11bc\u0003\u0002\u0002\u0002\u018c\u11ce\u0003\u0002", + "\u0002\u0002\u018e\u1200\u0003\u0002\u0002\u0002\u0190\u1202\u0003\u0002", + "\u0002\u0002\u0192\u120f\u0003\u0002\u0002\u0002\u0194\u121a\u0003\u0002", + "\u0002\u0002\u0196\u1235\u0003\u0002\u0002\u0002\u0198\u123f\u0003\u0002", + "\u0002\u0002\u019a\u1249\u0003\u0002\u0002\u0002\u019c\u124b\u0003\u0002", + "\u0002\u0002\u019e\u1255\u0003\u0002\u0002\u0002\u01a0\u1258\u0003\u0002", + "\u0002\u0002\u01a2\u12a6\u0003\u0002\u0002\u0002\u01a4\u12b8\u0003\u0002", + "\u0002\u0002\u01a6\u12ba\u0003\u0002\u0002\u0002\u01a8\u12be\u0003\u0002", + "\u0002\u0002\u01aa\u12c5\u0003\u0002\u0002\u0002\u01ac\u12ce\u0003\u0002", + "\u0002\u0002\u01ae\u12d4\u0003\u0002\u0002\u0002\u01b0\u12db\u0003\u0002", + "\u0002\u0002\u01b2\u12f1\u0003\u0002\u0002\u0002\u01b4\u12f3\u0003\u0002", + "\u0002\u0002\u01b6\u12fe\u0003\u0002\u0002\u0002\u01b8\u1304\u0003\u0002", + "\u0002\u0002\u01ba\u133b\u0003\u0002\u0002\u0002\u01bc\u13d4\u0003\u0002", + "\u0002\u0002\u01be\u13e0\u0003\u0002\u0002\u0002\u01c0\u13ef\u0003\u0002", + "\u0002\u0002\u01c2\u13f5\u0003\u0002\u0002\u0002\u01c4\u1408\u0003\u0002", + "\u0002\u0002\u01c6\u1412\u0003\u0002\u0002\u0002\u01c8\u1420\u0003\u0002", + "\u0002\u0002\u01ca\u1422\u0003\u0002\u0002\u0002\u01cc\u1425\u0003\u0002", + "\u0002\u0002\u01ce\u143b\u0003\u0002\u0002\u0002\u01d0\u1447\u0003\u0002", + "\u0002\u0002\u01d2\u1450\u0003\u0002\u0002\u0002\u01d4\u145c\u0003\u0002", + "\u0002\u0002\u01d6\u1460\u0003\u0002\u0002\u0002\u01d8\u1462\u0003\u0002", + "\u0002\u0002\u01da\u148a\u0003\u0002\u0002\u0002\u01dc\u1491\u0003\u0002", + "\u0002\u0002\u01de\u1493\u0003\u0002\u0002\u0002\u01e0\u14aa\u0003\u0002", + "\u0002\u0002\u01e2\u14b0\u0003\u0002\u0002\u0002\u01e4\u14b8\u0003\u0002", + "\u0002\u0002\u01e6\u14bb\u0003\u0002\u0002\u0002\u01e8\u14be\u0003\u0002", + "\u0002\u0002\u01ea\u14d3\u0003\u0002\u0002\u0002\u01ec\u14e8\u0003\u0002", + "\u0002\u0002\u01ee\u14ee\u0003\u0002\u0002\u0002\u01f0\u1514\u0003\u0002", + "\u0002\u0002\u01f2\u1520\u0003\u0002\u0002\u0002\u01f4\u1522\u0003\u0002", + "\u0002\u0002\u01f6\u1528\u0003\u0002\u0002\u0002\u01f8\u152a\u0003\u0002", + "\u0002\u0002\u01fa\u1533\u0003\u0002\u0002\u0002\u01fc\u153e\u0003\u0002", + "\u0002\u0002\u01fe\u1540\u0003\u0002\u0002\u0002\u0200\u1546\u0003\u0002", + "\u0002\u0002\u0202\u154a\u0003\u0002\u0002\u0002\u0204\u154c\u0003\u0002", + "\u0002\u0002\u0206\u154e\u0003\u0002\u0002\u0002\u0208\u1560\u0003\u0002", + "\u0002\u0002\u020a\u1570\u0003\u0002\u0002\u0002\u020c\u1574\u0003\u0002", + "\u0002\u0002\u020e\u1579\u0003\u0002\u0002\u0002\u0210\u1584\u0003\u0002", + "\u0002\u0002\u0212\u1589\u0003\u0002\u0002\u0002\u0214\u158b\u0003\u0002", + "\u0002\u0002\u0216\u158f\u0003\u0002\u0002\u0002\u0218\u15a8\u0003\u0002", + "\u0002\u0002\u021a\u15aa\u0003\u0002\u0002\u0002\u021c\u15ad\u0003\u0002", + "\u0002\u0002\u021e\u15b2\u0003\u0002\u0002\u0002\u0220\u15c2\u0003\u0002", + "\u0002\u0002\u0222\u1643\u0003\u0002\u0002\u0002\u0224\u1645\u0003\u0002", + "\u0002\u0002\u0226\u1669\u0003\u0002\u0002\u0002\u0228\u166b\u0003\u0002", + "\u0002\u0002\u022a\u166f\u0003\u0002\u0002\u0002\u022c\u1675\u0003\u0002", + "\u0002\u0002\u022e\u167d\u0003\u0002\u0002\u0002\u0230\u1685\u0003\u0002", + "\u0002\u0002\u0232\u168d\u0003\u0002\u0002\u0002\u0234\u1698\u0003\u0002", + "\u0002\u0002\u0236\u16a0\u0003\u0002\u0002\u0002\u0238\u16a8\u0003\u0002", + "\u0002\u0002\u023a\u16b0\u0003\u0002\u0002\u0002\u023c\u16b8\u0003\u0002", + "\u0002\u0002\u023e\u16cb\u0003\u0002\u0002\u0002\u0240\u16db\u0003\u0002", + "\u0002\u0002\u0242\u16df\u0003\u0002\u0002\u0002\u0244\u16e1\u0003\u0002", + "\u0002\u0002\u0246\u16e4\u0003\u0002\u0002\u0002\u0248\u16f9\u0003\u0002", + "\u0002\u0002\u024a\u1798\u0003\u0002\u0002\u0002\u024c\u179a\u0003\u0002", + "\u0002\u0002\u024e\u17ad\u0003\u0002\u0002\u0002\u0250\u17af\u0003\u0002", + "\u0002\u0002\u0252\u17eb\u0003\u0002\u0002\u0002\u0254\u1804\u0003\u0002", + "\u0002\u0002\u0256\u1806\u0003\u0002\u0002\u0002\u0258\u180f\u0003\u0002", + "\u0002\u0002\u025a\u1821\u0003\u0002\u0002\u0002\u025c\u182e\u0003\u0002", + "\u0002\u0002\u025e\u1839\u0003\u0002\u0002\u0002\u0260\u18a9\u0003\u0002", + "\u0002\u0002\u0262\u18bb\u0003\u0002\u0002\u0002\u0264\u18cb\u0003\u0002", + "\u0002\u0002\u0266\u18d4\u0003\u0002\u0002\u0002\u0268\u18dd\u0003\u0002", + "\u0002\u0002\u026a\u18df\u0003\u0002\u0002\u0002\u026c\u18e1\u0003\u0002", + "\u0002\u0002\u026e\u18e3\u0003\u0002\u0002\u0002\u0270\u18e5\u0003\u0002", + "\u0002\u0002\u0272\u18e7\u0003\u0002\u0002\u0002\u0274\u18e9\u0003\u0002", + "\u0002\u0002\u0276\u18eb\u0003\u0002\u0002\u0002\u0278\u18ed\u0003\u0002", + "\u0002\u0002\u027a\u027b\u0005\u0004\u0003\u0002\u027b\u027c\u0007\u0002", + "\u0002\u0003\u027c\u0003\u0003\u0002\u0002\u0002\u027d\u027f\u0005\u0006", + "\u0004\u0002\u027e\u027d\u0003\u0002\u0002\u0002\u027e\u027f\u0003\u0002", + "\u0002\u0002\u027f\u0281\u0003\u0002\u0002\u0002\u0280\u0282\u0007\u03f1", + "\u0002\u0002\u0281\u0280\u0003\u0002\u0002\u0002\u0281\u0282\u0003\u0002", + "\u0002\u0002\u0282\u0283\u0003\u0002\u0002\u0002\u0283\u0284\u0007\u0002", + "\u0002\u0003\u0284\u0005\u0003\u0002\u0002\u0002\u0285\u0287\u0005\b", + "\u0005\u0002\u0286\u0288\u0007\u03f1\u0002\u0002\u0287\u0286\u0003\u0002", + "\u0002\u0002\u0287\u0288\u0003\u0002\u0002\u0002\u0288\u028a\u0003\u0002", + "\u0002\u0002\u0289\u028b\u0007\u0401\u0002\u0002\u028a\u0289\u0003\u0002", + "\u0002\u0002\u028a\u028b\u0003\u0002\u0002\u0002\u028b\u028e\u0003\u0002", + "\u0002\u0002\u028c\u028e\u0005\n\u0006\u0002\u028d\u0285\u0003\u0002", + "\u0002\u0002\u028d\u028c\u0003\u0002\u0002\u0002\u028e\u0291\u0003\u0002", + "\u0002\u0002\u028f\u028d\u0003\u0002\u0002\u0002\u028f\u0290\u0003\u0002", + "\u0002\u0002\u0290\u029a\u0003\u0002\u0002\u0002\u0291\u028f\u0003\u0002", + "\u0002\u0002\u0292\u0297\u0005\b\u0005\u0002\u0293\u0295\u0007\u03f1", + "\u0002\u0002\u0294\u0293\u0003\u0002\u0002\u0002\u0294\u0295\u0003\u0002", + "\u0002\u0002\u0295\u0296\u0003\u0002\u0002\u0002\u0296\u0298\u0007\u0401", + "\u0002\u0002\u0297\u0294\u0003\u0002\u0002\u0002\u0297\u0298\u0003\u0002", + "\u0002\u0002\u0298\u029b\u0003\u0002\u0002\u0002\u0299\u029b\u0005\n", + "\u0006\u0002\u029a\u0292\u0003\u0002\u0002\u0002\u029a\u0299\u0003\u0002", + "\u0002\u0002\u029b\u0007\u0003\u0002\u0002\u0002\u029c\u02a4\u0005\f", + "\u0007\u0002\u029d\u02a4\u0005\u000e\b\u0002\u029e\u02a4\u0005\u0010", + "\t\u0002\u029f\u02a4\u0005\u0012\n\u0002\u02a0\u02a4\u0005\u0014\u000b", + "\u0002\u02a1\u02a4\u0005\u0018\r\u0002\u02a2\u02a4\u0005\u001a\u000e", + "\u0002\u02a3\u029c\u0003\u0002\u0002\u0002\u02a3\u029d\u0003\u0002\u0002", + "\u0002\u02a3\u029e\u0003\u0002\u0002\u0002\u02a3\u029f\u0003\u0002\u0002", + "\u0002\u02a3\u02a0\u0003\u0002\u0002\u0002\u02a3\u02a1\u0003\u0002\u0002", + "\u0002\u02a3\u02a2\u0003\u0002\u0002\u0002\u02a4\t\u0003\u0002\u0002", + "\u0002\u02a5\u02a6\u0007\u0401\u0002\u0002\u02a6\u000b\u0003\u0002\u0002", + "\u0002\u02a7\u02cb\u0005\u001c\u000f\u0002\u02a8\u02cb\u0005\u001e\u0010", + "\u0002\u02a9\u02cb\u0005 \u0011\u0002\u02aa\u02cb\u0005\"\u0012\u0002", + "\u02ab\u02cb\u0005$\u0013\u0002\u02ac\u02cb\u0005&\u0014\u0002\u02ad", + "\u02cb\u0005(\u0015\u0002\u02ae\u02cb\u0005*\u0016\u0002\u02af\u02cb", + "\u0005,\u0017\u0002\u02b0\u02cb\u0005.\u0018\u0002\u02b1\u02cb\u0005", + "0\u0019\u0002\u02b2\u02cb\u00052\u001a\u0002\u02b3\u02cb\u0005t;\u0002", + "\u02b4\u02cb\u0005v<\u0002\u02b5\u02cb\u0005x=\u0002\u02b6\u02cb\u0005", + "z>\u0002\u02b7\u02cb\u0005|?\u0002\u02b8\u02cb\u0005~@\u0002\u02b9\u02cb", + "\u0005\u0080A\u0002\u02ba\u02cb\u0005\u0082B\u0002\u02bb\u02cb\u0005", + "\u0084C\u0002\u02bc\u02cb\u0005\u0086D\u0002\u02bd\u02cb\u0005\u008a", + "F\u0002\u02be\u02cb\u0005\u008cG\u0002\u02bf\u02cb\u0005\u008eH\u0002", + "\u02c0\u02cb\u0005\u0090I\u0002\u02c1\u02cb\u0005\u0092J\u0002\u02c2", + "\u02cb\u0005\u0094K\u0002\u02c3\u02cb\u0005\u0096L\u0002\u02c4\u02cb", + "\u0005\u0098M\u0002\u02c5\u02cb\u0005\u009aN\u0002\u02c6\u02cb\u0005", + "\u009cO\u0002\u02c7\u02cb\u0005\u009eP\u0002\u02c8\u02cb\u0005\u00a0", + "Q\u0002\u02c9\u02cb\u0005\u00a4S\u0002\u02ca\u02a7\u0003\u0002\u0002", + "\u0002\u02ca\u02a8\u0003\u0002\u0002\u0002\u02ca\u02a9\u0003\u0002\u0002", + "\u0002\u02ca\u02aa\u0003\u0002\u0002\u0002\u02ca\u02ab\u0003\u0002\u0002", + "\u0002\u02ca\u02ac\u0003\u0002\u0002\u0002\u02ca\u02ad\u0003\u0002\u0002", + "\u0002\u02ca\u02ae\u0003\u0002\u0002\u0002\u02ca\u02af\u0003\u0002\u0002", + "\u0002\u02ca\u02b0\u0003\u0002\u0002\u0002\u02ca\u02b1\u0003\u0002\u0002", + "\u0002\u02ca\u02b2\u0003\u0002\u0002\u0002\u02ca\u02b3\u0003\u0002\u0002", + "\u0002\u02ca\u02b4\u0003\u0002\u0002\u0002\u02ca\u02b5\u0003\u0002\u0002", + "\u0002\u02ca\u02b6\u0003\u0002\u0002\u0002\u02ca\u02b7\u0003\u0002\u0002", + "\u0002\u02ca\u02b8\u0003\u0002\u0002\u0002\u02ca\u02b9\u0003\u0002\u0002", + "\u0002\u02ca\u02ba\u0003\u0002\u0002\u0002\u02ca\u02bb\u0003\u0002\u0002", + "\u0002\u02ca\u02bc\u0003\u0002\u0002\u0002\u02ca\u02bd\u0003\u0002\u0002", + "\u0002\u02ca\u02be\u0003\u0002\u0002\u0002\u02ca\u02bf\u0003\u0002\u0002", + "\u0002\u02ca\u02c0\u0003\u0002\u0002\u0002\u02ca\u02c1\u0003\u0002\u0002", + "\u0002\u02ca\u02c2\u0003\u0002\u0002\u0002\u02ca\u02c3\u0003\u0002\u0002", + "\u0002\u02ca\u02c4\u0003\u0002\u0002\u0002\u02ca\u02c5\u0003\u0002\u0002", + "\u0002\u02ca\u02c6\u0003\u0002\u0002\u0002\u02ca\u02c7\u0003\u0002\u0002", + "\u0002\u02ca\u02c8\u0003\u0002\u0002\u0002\u02ca\u02c9\u0003\u0002\u0002", + "\u0002\u02cb\r\u0003\u0002\u0002\u0002\u02cc\u02d7\u0005\u00b6\\\u0002", + "\u02cd\u02d7\u0005\u00aeX\u0002\u02ce\u02d7\u0005\u00b8]\u0002\u02cf", + "\u02d7\u0005\u00a8U\u0002\u02d0\u02d7\u0005\u00b4[\u0002\u02d1\u02d7", + "\u0005\u00a6T\u0002\u02d2\u02d7\u0005\u00b0Y\u0002\u02d3\u02d7\u0005", + "\u00b2Z\u0002\u02d4\u02d7\u0005\u00aaV\u0002\u02d5\u02d7\u0005\u00ac", + "W\u0002\u02d6\u02cc\u0003\u0002\u0002\u0002\u02d6\u02cd\u0003\u0002", + "\u0002\u0002\u02d6\u02ce\u0003\u0002\u0002\u0002\u02d6\u02cf\u0003\u0002", + "\u0002\u0002\u02d6\u02d0\u0003\u0002\u0002\u0002\u02d6\u02d1\u0003\u0002", + "\u0002\u0002\u02d6\u02d2\u0003\u0002\u0002\u0002\u02d6\u02d3\u0003\u0002", + "\u0002\u0002\u02d6\u02d4\u0003\u0002\u0002\u0002\u02d6\u02d5\u0003\u0002", + "\u0002\u0002\u02d7\u000f\u0003\u0002\u0002\u0002\u02d8\u02e2\u0005\u0102", + "\u0082\u0002\u02d9\u02e2\u0005\u0104\u0083\u0002\u02da\u02e2\u0005\u0106", + "\u0084\u0002\u02db\u02e2\u0005\u0108\u0085\u0002\u02dc\u02e2\u0005\u010a", + "\u0086\u0002\u02dd\u02e2\u0005\u010c\u0087\u0002\u02de\u02e2\u0005\u010e", + "\u0088\u0002\u02df\u02e2\u0005\u0110\u0089\u0002\u02e0\u02e2\u0005\u0112", + "\u008a\u0002\u02e1\u02d8\u0003\u0002\u0002\u0002\u02e1\u02d9\u0003\u0002", + "\u0002\u0002\u02e1\u02da\u0003\u0002\u0002\u0002\u02e1\u02db\u0003\u0002", + "\u0002\u0002\u02e1\u02dc\u0003\u0002\u0002\u0002\u02e1\u02dd\u0003\u0002", + "\u0002\u0002\u02e1\u02de\u0003\u0002\u0002\u0002\u02e1\u02df\u0003\u0002", + "\u0002\u0002\u02e1\u02e0\u0003\u0002\u0002\u0002\u02e2\u0011\u0003\u0002", + "\u0002\u0002\u02e3\u02f3\u0005\u0122\u0092\u0002\u02e4\u02f3\u0005\u0124", + "\u0093\u0002\u02e5\u02f3\u0005\u0126\u0094\u0002\u02e6\u02f3\u0005\u0128", + "\u0095\u0002\u02e7\u02f3\u0005\u012a\u0096\u0002\u02e8\u02f3\u0005\u012c", + "\u0097\u0002\u02e9\u02f3\u0005\u012e\u0098\u0002\u02ea\u02f3\u0005\u0130", + "\u0099\u0002\u02eb\u02f3\u0005\u0132\u009a\u0002\u02ec\u02f3\u0005\u014a", + "\u00a6\u0002\u02ed\u02f3\u0005\u014c\u00a7\u0002\u02ee\u02f3\u0005\u014e", + "\u00a8\u0002\u02ef\u02f3\u0005\u0150\u00a9\u0002\u02f0\u02f3\u0005\u0152", + "\u00aa\u0002\u02f1\u02f3\u0005\u0154\u00ab\u0002\u02f2\u02e3\u0003\u0002", + "\u0002\u0002\u02f2\u02e4\u0003\u0002\u0002\u0002\u02f2\u02e5\u0003\u0002", + "\u0002\u0002\u02f2\u02e6\u0003\u0002\u0002\u0002\u02f2\u02e7\u0003\u0002", + "\u0002\u0002\u02f2\u02e8\u0003\u0002\u0002\u0002\u02f2\u02e9\u0003\u0002", + "\u0002\u0002\u02f2\u02ea\u0003\u0002\u0002\u0002\u02f2\u02eb\u0003\u0002", + "\u0002\u0002\u02f2\u02ec\u0003\u0002\u0002\u0002\u02f2\u02ed\u0003\u0002", + "\u0002\u0002\u02f2\u02ee\u0003\u0002\u0002\u0002\u02f2\u02ef\u0003\u0002", + "\u0002\u0002\u02f2\u02f0\u0003\u0002\u0002\u0002\u02f2\u02f1\u0003\u0002", + "\u0002\u0002\u02f3\u0013\u0003\u0002\u0002\u0002\u02f4\u02f8\u0005\u0156", + "\u00ac\u0002\u02f5\u02f8\u0005\u0158\u00ad\u0002\u02f6\u02f8\u0005\u015a", + "\u00ae\u0002\u02f7\u02f4\u0003\u0002\u0002\u0002\u02f7\u02f5\u0003\u0002", + "\u0002\u0002\u02f7\u02f6\u0003\u0002\u0002\u0002\u02f8\u0015\u0003\u0002", + "\u0002\u0002\u02f9\u0304\u0005\u015e\u00b0\u0002\u02fa\u0304\u0005\u0160", + "\u00b1\u0002\u02fb\u0304\u0005\u0162\u00b2\u0002\u02fc\u0304\u0005\u0166", + "\u00b4\u0002\u02fd\u0304\u0005\u0168\u00b5\u0002\u02fe\u0304\u0005\u016a", + "\u00b6\u0002\u02ff\u0304\u0005\u016e\u00b8\u0002\u0300\u0304\u0005\u0164", + "\u00b3\u0002\u0301\u0304\u0005\u016c\u00b7\u0002\u0302\u0304\u0005\u0170", + "\u00b9\u0002\u0303\u02f9\u0003\u0002\u0002\u0002\u0303\u02fa\u0003\u0002", + "\u0002\u0002\u0303\u02fb\u0003\u0002\u0002\u0002\u0303\u02fc\u0003\u0002", + "\u0002\u0002\u0303\u02fd\u0003\u0002\u0002\u0002\u0303\u02fe\u0003\u0002", + "\u0002\u0002\u0303\u02ff\u0003\u0002\u0002\u0002\u0303\u0300\u0003\u0002", + "\u0002\u0002\u0303\u0301\u0003\u0002\u0002\u0002\u0303\u0302\u0003\u0002", + "\u0002\u0002\u0304\u0017\u0003\u0002\u0002\u0002\u0305\u031f\u0005\u0182", + "\u00c2\u0002\u0306\u031f\u0005\u0184\u00c3\u0002\u0307\u031f\u0005\u0186", + "\u00c4\u0002\u0308\u031f\u0005\u0188\u00c5\u0002\u0309\u031f\u0005\u018a", + "\u00c6\u0002\u030a\u031f\u0005\u018c\u00c7\u0002\u030b\u031f\u0005\u018e", + "\u00c8\u0002\u030c\u031f\u0005\u0190\u00c9\u0002\u030d\u031f\u0005\u01a8", + "\u00d5\u0002\u030e\u031f\u0005\u01aa\u00d6\u0002\u030f\u031f\u0005\u01ac", + "\u00d7\u0002\u0310\u031f\u0005\u01ae\u00d8\u0002\u0311\u031f\u0005\u01b0", + "\u00d9\u0002\u0312\u031f\u0005\u01b4\u00db\u0002\u0313\u031f\u0005\u01b6", + "\u00dc\u0002\u0314\u031f\u0005\u01b8\u00dd\u0002\u0315\u031f\u0005\u01ba", + "\u00de\u0002\u0316\u031f\u0005\u01bc\u00df\u0002\u0317\u031f\u0005\u01ca", + "\u00e6\u0002\u0318\u031f\u0005\u01cc\u00e7\u0002\u0319\u031f\u0005\u01ce", + "\u00e8\u0002\u031a\u031f\u0005\u01d0\u00e9\u0002\u031b\u031f\u0005\u01d2", + "\u00ea\u0002\u031c\u031f\u0005\u01d4\u00eb\u0002\u031d\u031f\u0005\u01d6", + "\u00ec\u0002\u031e\u0305\u0003\u0002\u0002\u0002\u031e\u0306\u0003\u0002", + "\u0002\u0002\u031e\u0307\u0003\u0002\u0002\u0002\u031e\u0308\u0003\u0002", + "\u0002\u0002\u031e\u0309\u0003\u0002\u0002\u0002\u031e\u030a\u0003\u0002", + "\u0002\u0002\u031e\u030b\u0003\u0002\u0002\u0002\u031e\u030c\u0003\u0002", + "\u0002\u0002\u031e\u030d\u0003\u0002\u0002\u0002\u031e\u030e\u0003\u0002", + "\u0002\u0002\u031e\u030f\u0003\u0002\u0002\u0002\u031e\u0310\u0003\u0002", + "\u0002\u0002\u031e\u0311\u0003\u0002\u0002\u0002\u031e\u0312\u0003\u0002", + "\u0002\u0002\u031e\u0313\u0003\u0002\u0002\u0002\u031e\u0314\u0003\u0002", + "\u0002\u0002\u031e\u0315\u0003\u0002\u0002\u0002\u031e\u0316\u0003\u0002", + "\u0002\u0002\u031e\u0317\u0003\u0002\u0002\u0002\u031e\u0318\u0003\u0002", + "\u0002\u0002\u031e\u0319\u0003\u0002\u0002\u0002\u031e\u031a\u0003\u0002", + "\u0002\u0002\u031e\u031b\u0003\u0002\u0002\u0002\u031e\u031c\u0003\u0002", + "\u0002\u0002\u031e\u031d\u0003\u0002\u0002\u0002\u031f\u0019\u0003\u0002", + "\u0002\u0002\u0320\u0328\u0005\u01e0\u00f1\u0002\u0321\u0328\u0005\u01e2", + "\u00f2\u0002\u0322\u0328\u0005\u01e4\u00f3\u0002\u0323\u0328\u0005\u01e6", + "\u00f4\u0002\u0324\u0328\u0005\u01e8\u00f5\u0002\u0325\u0328\u0005\u01ea", + "\u00f6\u0002\u0326\u0328\u0005\u01ee\u00f8\u0002\u0327\u0320\u0003\u0002", + "\u0002\u0002\u0327\u0321\u0003\u0002\u0002\u0002\u0327\u0322\u0003\u0002", + "\u0002\u0002\u0327\u0323\u0003\u0002\u0002\u0002\u0327\u0324\u0003\u0002", + "\u0002\u0002\u0327\u0325\u0003\u0002\u0002\u0002\u0327\u0326\u0003\u0002", + "\u0002\u0002\u0328\u001b\u0003\u0002\u0002\u0002\u0329\u032a\u0007 ", + "\u0002\u0002\u032a\u032c\t\u0002\u0002\u0002\u032b\u032d\u0005\u0246", + "\u0124\u0002\u032c\u032b\u0003\u0002\u0002\u0002\u032c\u032d\u0003\u0002", + "\u0002\u0002\u032d\u032e\u0003\u0002\u0002\u0002\u032e\u0332\u0005\u020e", + "\u0108\u0002\u032f\u0331\u00054\u001b\u0002\u0330\u032f\u0003\u0002", + "\u0002\u0002\u0331\u0334\u0003\u0002\u0002\u0002\u0332\u0330\u0003\u0002", + "\u0002\u0002\u0332\u0333\u0003\u0002\u0002\u0002\u0333\u001d\u0003\u0002", + "\u0002\u0002\u0334\u0332\u0003\u0002\u0002\u0002\u0335\u0337\u0007 ", + "\u0002\u0002\u0336\u0338\u00056\u001c\u0002\u0337\u0336\u0003\u0002", + "\u0002\u0002\u0337\u0338\u0003\u0002\u0002\u0002\u0338\u0339\u0003\u0002", + "\u0002\u0002\u0339\u033b\u0007\u015e\u0002\u0002\u033a\u033c\u0005\u0246", + "\u0124\u0002\u033b\u033a\u0003\u0002\u0002\u0002\u033b\u033c\u0003\u0002", + "\u0002\u0002\u033c\u033d\u0003\u0002\u0002\u0002\u033d\u033e\u0005\u01f4", + "\u00fb\u0002\u033e\u033f\u0007l\u0002\u0002\u033f\u0340\u0007\u0205", + "\u0002\u0002\u0340\u0347\u00058\u001d\u0002\u0341\u0342\u0007l\u0002", + "\u0002\u0342\u0344\u0007\u0136\u0002\u0002\u0343\u0345\u0007h\u0002", + "\u0002\u0344\u0343\u0003\u0002\u0002\u0002\u0344\u0345\u0003\u0002\u0002", + "\u0002\u0345\u0346\u0003\u0002\u0002\u0002\u0346\u0348\u0007\u01de\u0002", + "\u0002\u0347\u0341\u0003\u0002\u0002\u0002\u0347\u0348\u0003\u0002\u0002", + "\u0002\u0348\u034a\u0003\u0002\u0002\u0002\u0349\u034b\u0005@!\u0002", + "\u034a\u0349\u0003\u0002\u0002\u0002\u034a\u034b\u0003\u0002\u0002\u0002", + "\u034b\u034e\u0003\u0002\u0002\u0002\u034c\u034d\u0007\u0133\u0002\u0002", + "\u034d\u034f\u0007\u040d\u0002\u0002\u034e\u034c\u0003\u0002\u0002\u0002", + "\u034e\u034f\u0003\u0002\u0002\u0002\u034f\u0350\u0003\u0002\u0002\u0002", + "\u0350\u0351\u0007\u0150\u0002\u0002\u0351\u0352\u0005\u015c\u00af\u0002", + "\u0352\u001f\u0003\u0002\u0002\u0002\u0353\u0355\u0007 \u0002\u0002", + "\u0354\u0356\t\u0003\u0002\u0002\u0355\u0354\u0003\u0002\u0002\u0002", + "\u0355\u0356\u0003\u0002\u0002\u0002\u0356\u0358\u0003\u0002\u0002\u0002", + "\u0357\u0359\t\u0004\u0002\u0002\u0358\u0357\u0003\u0002\u0002\u0002", + "\u0358\u0359\u0003\u0002\u0002\u0002\u0359\u035a\u0003\u0002\u0002\u0002", + "\u035a\u035b\u0007J\u0002\u0002\u035b\u035d\u0005\u020e\u0108\u0002", + "\u035c\u035e\u0005B\"\u0002\u035d\u035c\u0003\u0002\u0002\u0002\u035d", + "\u035e\u0003\u0002\u0002\u0002\u035e\u035f\u0003\u0002\u0002\u0002\u035f", + "\u0360\u0007l\u0002\u0002\u0360\u0361\u0005\u01f6\u00fc\u0002\u0361", + "\u0365\u0005\u0232\u011a\u0002\u0362\u0364\u0005D#\u0002\u0363\u0362", + "\u0003\u0002\u0002\u0002\u0364\u0367\u0003\u0002\u0002\u0002\u0365\u0363", + "\u0003\u0002\u0002\u0002\u0365\u0366\u0003\u0002\u0002\u0002\u0366\u0374", + "\u0003\u0002\u0002\u0002\u0367\u0365\u0003\u0002\u0002\u0002\u0368\u036a", + "\u0007\u0114\u0002\u0002\u0369\u036b\u0007\u03f5\u0002\u0002\u036a\u0369", + "\u0003\u0002\u0002\u0002\u036a\u036b\u0003\u0002\u0002\u0002\u036b\u036c", + "\u0003\u0002\u0002\u0002\u036c\u0373\t\u0005\u0002\u0002\u036d\u036f", + "\u0007_\u0002\u0002\u036e\u0370\u0007\u03f5\u0002\u0002\u036f\u036e", + "\u0003\u0002\u0002\u0002\u036f\u0370\u0003\u0002\u0002\u0002\u0370\u0371", + "\u0003\u0002\u0002\u0002\u0371\u0373\t\u0006\u0002\u0002\u0372\u0368", + "\u0003\u0002\u0002\u0002\u0372\u036d\u0003\u0002\u0002\u0002\u0373\u0376", + "\u0003\u0002\u0002\u0002\u0374\u0372\u0003\u0002\u0002\u0002\u0374\u0375", + "\u0003\u0002\u0002\u0002\u0375!\u0003\u0002\u0002\u0002\u0376\u0374", + "\u0003\u0002\u0002\u0002\u0377\u0378\u0007 \u0002\u0002\u0378\u0379", + "\u0007\u0195\u0002\u0002\u0379\u037a\u0007D\u0002\u0002\u037a\u037b", + "\u0005\u020e\u0108\u0002\u037b\u037c\u0007\u0007\u0002\u0002\u037c\u037d", + "\u0007\u0238\u0002\u0002\u037d\u0383\u0007\u040d\u0002\u0002\u037e\u0380", + "\u0007\u0180\u0002\u0002\u037f\u0381\u0007\u03f5\u0002\u0002\u0380\u037f", + "\u0003\u0002\u0002\u0002\u0380\u0381\u0003\u0002\u0002\u0002\u0381\u0382", + "\u0003\u0002\u0002\u0002\u0382\u0384\u0005\u0216\u010c\u0002\u0383\u037e", + "\u0003\u0002\u0002\u0002\u0383\u0384\u0003\u0002\u0002\u0002\u0384\u038a", + "\u0003\u0002\u0002\u0002\u0385\u0387\u0007\u0239\u0002\u0002\u0386\u0388", + "\u0007\u03f5\u0002\u0002\u0387\u0386\u0003\u0002\u0002\u0002\u0387\u0388", + "\u0003\u0002\u0002\u0002\u0388\u0389\u0003\u0002\u0002\u0002\u0389\u038b", + "\u0005\u0216\u010c\u0002\u038a\u0385\u0003\u0002\u0002\u0002\u038a\u038b", + "\u0003\u0002\u0002\u0002\u038b\u0391\u0003\u0002\u0002\u0002\u038c\u038e", + "\u0007\u01e8\u0002\u0002\u038d\u038f\u0007\u03f5\u0002\u0002\u038e\u038d", + "\u0003\u0002\u0002\u0002\u038e\u038f\u0003\u0002\u0002\u0002\u038f\u0390", + "\u0003\u0002\u0002\u0002\u0390\u0392\u0005\u0216\u010c\u0002\u0391\u038c", + "\u0003\u0002\u0002\u0002\u0391\u0392\u0003\u0002\u0002\u0002\u0392\u0398", + "\u0003\u0002\u0002\u0002\u0393\u0395\u0007\u01c3\u0002\u0002\u0394\u0396", + "\u0007\u03f5\u0002\u0002\u0395\u0394\u0003\u0002\u0002\u0002\u0395\u0396", + "\u0003\u0002\u0002\u0002\u0396\u0397\u0003\u0002\u0002\u0002\u0397\u0399", + "\u0005\u020e\u0108\u0002\u0398\u0393\u0003\u0002\u0002\u0002\u0398\u0399", + "\u0003\u0002\u0002\u0002\u0399\u039b\u0003\u0002\u0002\u0002\u039a\u039c", + "\u0007\u0247\u0002\u0002\u039b\u039a\u0003\u0002\u0002\u0002\u039b\u039c", + "\u0003\u0002\u0002\u0002\u039c\u03a2\u0003\u0002\u0002\u0002\u039d\u039f", + "\u0007\u0133\u0002\u0002\u039e\u03a0\u0007\u03f5\u0002\u0002\u039f\u039e", + "\u0003\u0002\u0002\u0002\u039f\u03a0\u0003\u0002\u0002\u0002\u03a0\u03a1", + "\u0003\u0002\u0002\u0002\u03a1\u03a3\u0007\u040d\u0002\u0002\u03a2\u039d", + "\u0003\u0002\u0002\u0002\u03a2\u03a3\u0003\u0002\u0002\u0002\u03a3\u03a4", + "\u0003\u0002\u0002\u0002\u03a4\u03a6\u0007\u0158\u0002\u0002\u03a5\u03a7", + "\u0007\u03f5\u0002\u0002\u03a6\u03a5\u0003\u0002\u0002\u0002\u03a6\u03a7", + "\u0003\u0002\u0002\u0002\u03a7\u03a8\u0003\u0002\u0002\u0002\u03a8\u03a9", + "\u0005\u0204\u0103\u0002\u03a9#\u0003\u0002\u0002\u0002\u03aa\u03ac", + "\u0007 \u0002\u0002\u03ab\u03ad\u00056\u001c\u0002\u03ac\u03ab\u0003", + "\u0002\u0002\u0002\u03ac\u03ad\u0003\u0002\u0002\u0002\u03ad\u03ae\u0003", + "\u0002\u0002\u0002\u03ae\u03af\u0007w\u0002\u0002\u03af\u03b0\u0005", + "\u01f4\u00fb\u0002\u03b0\u03b2\u0007\u03fe\u0002\u0002\u03b1\u03b3\u0005", + "F$\u0002\u03b2\u03b1\u0003\u0002\u0002\u0002\u03b2\u03b3\u0003\u0002", + "\u0002\u0002\u03b3\u03b8\u0003\u0002\u0002\u0002\u03b4\u03b5\u0007\u0400", + "\u0002\u0002\u03b5\u03b7\u0005F$\u0002\u03b6\u03b4\u0003\u0002\u0002", + "\u0002\u03b7\u03ba\u0003\u0002\u0002\u0002\u03b8\u03b6\u0003\u0002\u0002", + "\u0002\u03b8\u03b9\u0003\u0002\u0002\u0002\u03b9\u03bb\u0003\u0002\u0002", + "\u0002\u03ba\u03b8\u0003\u0002\u0002\u0002\u03bb\u03bf\u0007\u03ff\u0002", + "\u0002\u03bc\u03be\u0005J&\u0002\u03bd\u03bc\u0003\u0002\u0002\u0002", + "\u03be\u03c1\u0003\u0002\u0002\u0002\u03bf\u03bd\u0003\u0002\u0002\u0002", + "\u03bf\u03c0\u0003\u0002\u0002\u0002\u03c0\u03c2\u0003\u0002\u0002\u0002", + "\u03c1\u03bf\u0003\u0002\u0002\u0002\u03c2\u03c3\u0005\u015c\u00af\u0002", + "\u03c3%\u0003\u0002\u0002\u0002\u03c4\u03c6\u0007 \u0002\u0002\u03c5", + "\u03c7\u00056\u001c\u0002\u03c6\u03c5\u0003\u0002\u0002\u0002\u03c6", + "\u03c7\u0003\u0002\u0002\u0002\u03c7\u03c8\u0003\u0002\u0002\u0002\u03c8", + "\u03c9\u0007\u0172\u0002\u0002\u03c9\u03ca\u0005\u01f4\u00fb\u0002\u03ca", + "\u03cc\u0007\u03fe\u0002\u0002\u03cb\u03cd\u0005H%\u0002\u03cc\u03cb", + "\u0003\u0002\u0002\u0002\u03cc\u03cd\u0003\u0002\u0002\u0002\u03cd\u03d2", + "\u0003\u0002\u0002\u0002\u03ce\u03cf\u0007\u0400\u0002\u0002\u03cf\u03d1", + "\u0005H%\u0002\u03d0\u03ce\u0003\u0002\u0002\u0002\u03d1\u03d4\u0003", + "\u0002\u0002\u0002\u03d2\u03d0\u0003\u0002\u0002\u0002\u03d2\u03d3\u0003", + "\u0002\u0002\u0002\u03d3\u03d5\u0003\u0002\u0002\u0002\u03d4\u03d2\u0003", + "\u0002\u0002\u0002\u03d5\u03d6\u0007\u03ff\u0002\u0002\u03d6\u03d7\u0007", + "\u01fc\u0002\u0002\u03d7\u03db\u0005\u0222\u0112\u0002\u03d8\u03da\u0005", + "J&\u0002\u03d9\u03d8\u0003\u0002\u0002\u0002\u03da\u03dd\u0003\u0002", + "\u0002\u0002\u03db\u03d9\u0003\u0002\u0002\u0002\u03db\u03dc\u0003\u0002", + "\u0002\u0002\u03dc\u03e0\u0003\u0002\u0002\u0002\u03dd\u03db\u0003\u0002", + "\u0002\u0002\u03de\u03e1\u0005\u015c\u00af\u0002\u03df\u03e1\u0005\u016c", + "\u00b7\u0002\u03e0\u03de\u0003\u0002\u0002\u0002\u03e0\u03df\u0003\u0002", + "\u0002\u0002\u03e1\'\u0003\u0002\u0002\u0002\u03e2\u03e3\u0007 \u0002", + "\u0002\u03e3\u03e4\u0007\u0207\u0002\u0002\u03e4\u03e5\u0005\u020e\u0108", + "\u0002\u03e5\u03e6\u0007>\u0002\u0002\u03e6\u03e7\u0007\u0145\u0002", + "\u0002\u03e7\u03e8\u0007\u024b\u0002\u0002\u03e8\u03e9\t\u0007\u0002", + "\u0002\u03e9\u03ea\u0007\u01ce\u0002\u0002\u03ea\u03eb\u0007\u03fe\u0002", + "\u0002\u03eb\u03f0\u0005L\'\u0002\u03ec\u03ed\u0007\u0400\u0002\u0002", + "\u03ed\u03ef\u0005L\'\u0002\u03ee\u03ec\u0003\u0002\u0002\u0002\u03ef", + "\u03f2\u0003\u0002\u0002\u0002\u03f0\u03ee\u0003\u0002\u0002\u0002\u03f0", + "\u03f1\u0003\u0002\u0002\u0002\u03f1\u03f3\u0003\u0002\u0002\u0002\u03f2", + "\u03f0\u0003\u0002\u0002\u0002\u03f3\u03f4\u0007\u03ff\u0002\u0002\u03f4", + ")\u0003\u0002\u0002\u0002\u03f5\u03f7\u0007 \u0002\u0002\u03f6\u03f8", + "\u0007\u022f\u0002\u0002\u03f7\u03f6\u0003\u0002\u0002\u0002\u03f7\u03f8", + "\u0003\u0002\u0002\u0002\u03f8\u03f9\u0003\u0002\u0002\u0002\u03f9\u03fb", + "\u0007\u009c\u0002\u0002\u03fa\u03fc\u0005\u0246\u0124\u0002\u03fb\u03fa", + "\u0003\u0002\u0002\u0002\u03fb\u03fc\u0003\u0002\u0002\u0002\u03fc\u03fd", + "\u0003\u0002\u0002\u0002\u03fd\u0405\u0005\u01f6\u00fc\u0002\u03fe\u03ff", + "\u0007Z\u0002\u0002\u03ff\u0406\u0005\u01f6\u00fc\u0002\u0400\u0401", + "\u0007\u03fe\u0002\u0002\u0401\u0402\u0007Z\u0002\u0002\u0402\u0403", + "\u0005\u01f6\u00fc\u0002\u0403\u0404\u0007\u03ff\u0002\u0002\u0404\u0406", + "\u0003\u0002\u0002\u0002\u0405\u03fe\u0003\u0002\u0002\u0002\u0405\u0400", + "\u0003\u0002\u0002\u0002\u0406\u0444\u0003\u0002\u0002\u0002\u0407\u0409", + "\u0007 \u0002\u0002\u0408\u040a\u0007\u022f\u0002\u0002\u0409\u0408", + "\u0003\u0002\u0002\u0002\u0409\u040a\u0003\u0002\u0002\u0002\u040a\u040b", + "\u0003\u0002\u0002\u0002\u040b\u040d\u0007\u009c\u0002\u0002\u040c\u040e", + "\u0005\u0246\u0124\u0002\u040d\u040c\u0003\u0002\u0002\u0002\u040d\u040e", + "\u0003\u0002\u0002\u0002\u040e\u040f\u0003\u0002\u0002\u0002\u040f\u0411", + "\u0005\u01f6\u00fc\u0002\u0410\u0412\u0005N(\u0002\u0411\u0410\u0003", + "\u0002\u0002\u0002\u0411\u0412\u0003\u0002\u0002\u0002\u0412\u041d\u0003", + "\u0002\u0002\u0002\u0413\u041a\u0005`1\u0002\u0414\u0416\u0007\u0400", + "\u0002\u0002\u0415\u0414\u0003\u0002\u0002\u0002\u0415\u0416\u0003\u0002", + "\u0002\u0002\u0416\u0417\u0003\u0002\u0002\u0002\u0417\u0419\u0005`", + "1\u0002\u0418\u0415\u0003\u0002\u0002\u0002\u0419\u041c\u0003\u0002", + "\u0002\u0002\u041a\u0418\u0003\u0002\u0002\u0002\u041a\u041b\u0003\u0002", + "\u0002\u0002\u041b\u041e\u0003\u0002\u0002\u0002\u041c\u041a\u0003\u0002", + "\u0002\u0002\u041d\u0413\u0003\u0002\u0002\u0002\u041d\u041e\u0003\u0002", + "\u0002\u0002\u041e\u0420\u0003\u0002\u0002\u0002\u041f\u0421\u0005d", + "3\u0002\u0420\u041f\u0003\u0002\u0002\u0002\u0420\u0421\u0003\u0002", + "\u0002\u0002\u0421\u0423\u0003\u0002\u0002\u0002\u0422\u0424\t\b\u0002", + "\u0002\u0423\u0422\u0003\u0002\u0002\u0002\u0423\u0424\u0003\u0002\u0002", + "\u0002\u0424\u0426\u0003\u0002\u0002\u0002\u0425\u0427\u0007\r\u0002", + "\u0002\u0426\u0425\u0003\u0002\u0002\u0002\u0426\u0427\u0003\u0002\u0002", + "\u0002\u0427\u0428\u0003\u0002\u0002\u0002\u0428\u0429\u0005\u00b6\\", + "\u0002\u0429\u0444\u0003\u0002\u0002\u0002\u042a\u042c\u0007 \u0002", + "\u0002\u042b\u042d\u0007\u022f\u0002\u0002\u042c\u042b\u0003\u0002\u0002", + "\u0002\u042c\u042d\u0003\u0002\u0002\u0002\u042d\u042e\u0003\u0002\u0002", + "\u0002\u042e\u0430\u0007\u009c\u0002\u0002\u042f\u0431\u0005\u0246\u0124", + "\u0002\u0430\u042f\u0003\u0002\u0002\u0002\u0430\u0431\u0003\u0002\u0002", + "\u0002\u0431\u0432\u0003\u0002\u0002\u0002\u0432\u0433\u0005\u01f6\u00fc", + "\u0002\u0433\u043e\u0005N(\u0002\u0434\u043b\u0005`1\u0002\u0435\u0437", + "\u0007\u0400\u0002\u0002\u0436\u0435\u0003\u0002\u0002\u0002\u0436\u0437", + "\u0003\u0002\u0002\u0002\u0437\u0438\u0003\u0002\u0002\u0002\u0438\u043a", + "\u0005`1\u0002\u0439\u0436\u0003\u0002\u0002\u0002\u043a\u043d\u0003", + "\u0002\u0002\u0002\u043b\u0439\u0003\u0002\u0002\u0002\u043b\u043c\u0003", + "\u0002\u0002\u0002\u043c\u043f\u0003\u0002\u0002\u0002\u043d\u043b\u0003", + "\u0002\u0002\u0002\u043e\u0434\u0003\u0002\u0002\u0002\u043e\u043f\u0003", + "\u0002\u0002\u0002\u043f\u0441\u0003\u0002\u0002\u0002\u0440\u0442\u0005", + "d3\u0002\u0441\u0440\u0003\u0002\u0002\u0002\u0441\u0442\u0003\u0002", + "\u0002\u0002\u0442\u0444\u0003\u0002\u0002\u0002\u0443\u03f5\u0003\u0002", + "\u0002\u0002\u0443\u0407\u0003\u0002\u0002\u0002\u0443\u042a\u0003\u0002", + "\u0002\u0002\u0444+\u0003\u0002\u0002\u0002\u0445\u0446\u0007 \u0002", + "\u0002\u0446\u0447\u0007\u022e\u0002\u0002\u0447\u0448\u0005\u020e\u0108", + "\u0002\u0448\u0449\u0007\u0007\u0002\u0002\u0449\u044a\u0007\u0146\u0002", + "\u0002\u044a\u044e\u0007\u040d\u0002\u0002\u044b\u044c\u0007\u016a\u0002", + "\u0002\u044c\u044d\u0007\u03f5\u0002\u0002\u044d\u044f\u0005\u0216\u010c", + "\u0002\u044e\u044b\u0003\u0002\u0002\u0002\u044e\u044f\u0003\u0002\u0002", + "\u0002\u044f\u0455\u0003\u0002\u0002\u0002\u0450\u0452\u0007\u0158\u0002", + "\u0002\u0451\u0453\u0007\u03f5\u0002\u0002\u0452\u0451\u0003\u0002\u0002", + "\u0002\u0452\u0453\u0003\u0002\u0002\u0002\u0453\u0454\u0003\u0002\u0002", + "\u0002\u0454\u0456\u0005\u0204\u0103\u0002\u0455\u0450\u0003\u0002\u0002", + "\u0002\u0455\u0456\u0003\u0002\u0002\u0002\u0456-\u0003\u0002\u0002", + "\u0002\u0457\u0458\u0007 \u0002\u0002\u0458\u0459\u0007\u022e\u0002", + "\u0002\u0459\u045a\u0005\u020e\u0108\u0002\u045a\u045b\u0007\u0007\u0002", + "\u0002\u045b\u045c\u0007\u0146\u0002\u0002\u045c\u045d\u0007\u040d\u0002", + "\u0002\u045d\u045e\u0007\u00aa\u0002\u0002\u045e\u045f\u0007\u0195\u0002", + "\u0002\u045f\u0460\u0007D\u0002\u0002\u0460\u0466\u0005\u020e\u0108", + "\u0002\u0461\u0463\u0007\u0166\u0002\u0002\u0462\u0464\u0007\u03f5\u0002", + "\u0002\u0463\u0462\u0003\u0002\u0002\u0002\u0463\u0464\u0003\u0002\u0002", + "\u0002\u0464\u0465\u0003\u0002\u0002\u0002\u0465\u0467\u0005\u0216\u010c", + "\u0002\u0466\u0461\u0003\u0002\u0002\u0002\u0466\u0467\u0003\u0002\u0002", + "\u0002\u0467\u046d\u0003\u0002\u0002\u0002\u0468\u046a\u0007\u0180\u0002", + "\u0002\u0469\u046b\u0007\u03f5\u0002\u0002\u046a\u0469\u0003\u0002\u0002", + "\u0002\u046a\u046b\u0003\u0002\u0002\u0002\u046b\u046c\u0003\u0002\u0002", + "\u0002\u046c\u046e\u0005\u0216\u010c\u0002\u046d\u0468\u0003\u0002\u0002", + "\u0002\u046d\u046e\u0003\u0002\u0002\u0002\u046e\u0474\u0003\u0002\u0002", + "\u0002\u046f\u0471\u0007\u0119\u0002\u0002\u0470\u0472\u0007\u03f5\u0002", + "\u0002\u0471\u0470\u0003\u0002\u0002\u0002\u0471\u0472\u0003\u0002\u0002", + "\u0002\u0472\u0473\u0003\u0002\u0002\u0002\u0473\u0475\u0005\u0216\u010c", + "\u0002\u0474\u046f\u0003\u0002\u0002\u0002\u0474\u0475\u0003\u0002\u0002", + "\u0002\u0475\u047b\u0003\u0002\u0002\u0002\u0476\u0478\u0007\u01af\u0002", + "\u0002\u0477\u0479\u0007\u03f5\u0002\u0002\u0478\u0477\u0003\u0002\u0002", + "\u0002\u0478\u0479\u0003\u0002\u0002\u0002\u0479\u047a\u0003\u0002\u0002", + "\u0002\u047a\u047c\u0005\u0216\u010c\u0002\u047b\u0476\u0003\u0002\u0002", + "\u0002\u047b\u047c\u0003\u0002\u0002\u0002\u047c\u0482\u0003\u0002\u0002", + "\u0002\u047d\u047f\u0007\u01c3\u0002\u0002\u047e\u0480\u0007\u03f5\u0002", + "\u0002\u047f\u047e\u0003\u0002\u0002\u0002\u047f\u0480\u0003\u0002\u0002", + "\u0002\u0480\u0481\u0003\u0002\u0002\u0002\u0481\u0483\u0005\u020e\u0108", + "\u0002\u0482\u047d\u0003\u0002\u0002\u0002\u0482\u0483\u0003\u0002\u0002", + "\u0002\u0483\u0485\u0003\u0002\u0002\u0002\u0484\u0486\u0007\u0247\u0002", + "\u0002\u0485\u0484\u0003\u0002\u0002\u0002\u0485\u0486\u0003\u0002\u0002", + "\u0002\u0486\u048c\u0003\u0002\u0002\u0002\u0487\u0489\u0007\u0133\u0002", + "\u0002\u0488\u048a\u0007\u03f5\u0002\u0002\u0489\u0488\u0003\u0002\u0002", + "\u0002\u0489\u048a\u0003\u0002\u0002\u0002\u048a\u048b\u0003\u0002\u0002", + "\u0002\u048b\u048d\u0007\u040d\u0002\u0002\u048c\u0487\u0003\u0002\u0002", + "\u0002\u048c\u048d\u0003\u0002\u0002\u0002\u048d\u048e\u0003\u0002\u0002", + "\u0002\u048e\u0490\u0007\u0158\u0002\u0002\u048f\u0491\u0007\u03f5\u0002", + "\u0002\u0490\u048f\u0003\u0002\u0002\u0002\u0490\u0491\u0003\u0002\u0002", + "\u0002\u0491\u0492\u0003\u0002\u0002\u0002\u0492\u0493\u0005\u0204\u0103", + "\u0002\u0493/\u0003\u0002\u0002\u0002\u0494\u0496\u0007 \u0002\u0002", + "\u0495\u0497\u00056\u001c\u0002\u0496\u0495\u0003\u0002\u0002\u0002", + "\u0496\u0497\u0003\u0002\u0002\u0002\u0497\u0498\u0003\u0002\u0002\u0002", + "\u0498\u0499\u0007\u00a1\u0002\u0002\u0499\u049a\u0005\u01f4\u00fb\u0002", + "\u049a\u049b\t\t\u0002\u0002\u049b\u049c\t\n\u0002\u0002\u049c\u049d", + "\u0007l\u0002\u0002\u049d\u049e\u0005\u01f6\u00fc\u0002\u049e\u049f", + "\u0007<\u0002\u0002\u049f\u04a0\u00072\u0002\u0002\u04a0\u04a3\u0007", + "\u0201\u0002\u0002\u04a1\u04a2\t\u000b\u0002\u0002\u04a2\u04a4\u0005", + "\u01f4\u00fb\u0002\u04a3\u04a1\u0003\u0002\u0002\u0002\u04a3\u04a4\u0003", + "\u0002\u0002\u0002\u04a4\u04a5\u0003\u0002\u0002\u0002\u04a5\u04a6\u0005", + "\u015c\u00af\u0002\u04a61\u0003\u0002\u0002\u0002\u04a7\u04aa\u0007", + " \u0002\u0002\u04a8\u04a9\u0007p\u0002\u0002\u04a9\u04ab\u0007\u0081", + "\u0002\u0002\u04aa\u04a8\u0003\u0002\u0002\u0002\u04aa\u04ab\u0003\u0002", + "\u0002\u0002\u04ab\u04af\u0003\u0002\u0002\u0002\u04ac\u04ad\u0007\u0114", + "\u0002\u0002\u04ad\u04ae\u0007\u03f5\u0002\u0002\u04ae\u04b0\t\f\u0002", + "\u0002\u04af\u04ac\u0003\u0002\u0002\u0002\u04af\u04b0\u0003\u0002\u0002", + "\u0002\u04b0\u04b2\u0003\u0002\u0002\u0002\u04b1\u04b3\u00056\u001c", + "\u0002\u04b2\u04b1\u0003\u0002\u0002\u0002\u04b2\u04b3\u0003\u0002\u0002", + "\u0002\u04b3\u04b7\u0003\u0002\u0002\u0002\u04b4\u04b5\u0007\u0091\u0002", + "\u0002\u04b5\u04b6\u0007\u0206\u0002\u0002\u04b6\u04b8\t\r\u0002\u0002", + "\u04b7\u04b4\u0003\u0002\u0002\u0002\u04b7\u04b8\u0003\u0002\u0002\u0002", + "\u04b8\u04b9\u0003\u0002\u0002\u0002\u04b9\u04ba\u0007\u0244\u0002\u0002", + "\u04ba\u04bf\u0005\u01f4\u00fb\u0002\u04bb\u04bc\u0007\u03fe\u0002\u0002", + "\u04bc\u04bd\u0005\u022e\u0118\u0002\u04bd\u04be\u0007\u03ff\u0002\u0002", + "\u04be\u04c0\u0003\u0002\u0002\u0002\u04bf\u04bb\u0003\u0002\u0002\u0002", + "\u04bf\u04c0\u0003\u0002\u0002\u0002\u04c0\u04c1\u0003\u0002\u0002\u0002", + "\u04c1\u04c2\u0007\r\u0002\u0002\u04c2\u04c9\u0005\u00b6\\\u0002\u04c3", + "\u04c5\u0007\u00b0\u0002\u0002\u04c4\u04c6\t\u000e\u0002\u0002\u04c5", + "\u04c4\u0003\u0002\u0002\u0002\u04c5\u04c6\u0003\u0002\u0002\u0002\u04c6", + "\u04c7\u0003\u0002\u0002\u0002\u04c7\u04c8\u0007\u0019\u0002\u0002\u04c8", + "\u04ca\u0007n\u0002\u0002\u04c9\u04c3\u0003\u0002\u0002\u0002\u04c9", + "\u04ca\u0003\u0002\u0002\u0002\u04ca3\u0003\u0002\u0002\u0002\u04cb", + "\u04cd\u0007(\u0002\u0002\u04cc\u04cb\u0003\u0002\u0002\u0002\u04cc", + "\u04cd\u0003\u0002\u0002\u0002\u04cd\u04d1\u0003\u0002\u0002\u0002\u04ce", + "\u04cf\u0007\u0018\u0002\u0002\u04cf\u04d2\u0007\u008c\u0002\u0002\u04d0", + "\u04d2\u0007\u02dd\u0002\u0002\u04d1\u04ce\u0003\u0002\u0002\u0002\u04d1", + "\u04d0\u0003\u0002\u0002\u0002\u04d2\u04d4\u0003\u0002\u0002\u0002\u04d3", + "\u04d5\u0007\u03f5\u0002\u0002\u04d4\u04d3\u0003\u0002\u0002\u0002\u04d4", + "\u04d5\u0003\u0002\u0002\u0002\u04d5\u04d8\u0003\u0002\u0002\u0002\u04d6", + "\u04d9\u0005\u0200\u0101\u0002\u04d7\u04d9\u0007(\u0002\u0002\u04d8", + "\u04d6\u0003\u0002\u0002\u0002\u04d8\u04d7\u0003\u0002\u0002\u0002\u04d9", + "\u04e3\u0003\u0002\u0002\u0002\u04da\u04dc\u0007(\u0002\u0002\u04db", + "\u04da\u0003\u0002\u0002\u0002\u04db\u04dc\u0003\u0002\u0002\u0002\u04dc", + "\u04dd\u0003\u0002\u0002\u0002\u04dd\u04df\u0007\u001a\u0002\u0002\u04de", + "\u04e0\u0007\u03f5\u0002\u0002\u04df\u04de\u0003\u0002\u0002\u0002\u04df", + "\u04e0\u0003\u0002\u0002\u0002\u04e0\u04e1\u0003\u0002\u0002\u0002\u04e1", + "\u04e3\u0005\u0202\u0102\u0002\u04e2\u04cc\u0003\u0002\u0002\u0002\u04e2", + "\u04db\u0003\u0002\u0002\u0002\u04e35\u0003\u0002\u0002\u0002\u04e4", + "\u04e5\u0007\u0149\u0002\u0002\u04e5\u04ec\u0007\u03f5\u0002\u0002\u04e6", + "\u04ed\u0005\u01fc\u00ff\u0002\u04e7\u04ea\u0007#\u0002\u0002\u04e8", + "\u04e9\u0007\u03fe\u0002\u0002\u04e9\u04eb\u0007\u03ff\u0002\u0002\u04ea", + "\u04e8\u0003\u0002\u0002\u0002\u04ea\u04eb\u0003\u0002\u0002\u0002\u04eb", + "\u04ed\u0003\u0002\u0002\u0002\u04ec\u04e6\u0003\u0002\u0002\u0002\u04ec", + "\u04e7\u0003\u0002\u0002\u0002\u04ed7\u0003\u0002\u0002\u0002\u04ee", + "\u04ef\u0007\u0116\u0002\u0002\u04ef\u04f3\u0005:\u001e\u0002\u04f0", + "\u04f2\u0005<\u001f\u0002\u04f1\u04f0\u0003\u0002\u0002\u0002\u04f2", + "\u04f5\u0003\u0002\u0002\u0002\u04f3\u04f1\u0003\u0002\u0002\u0002\u04f3", + "\u04f4\u0003\u0002\u0002\u0002\u04f4\u0511\u0003\u0002\u0002\u0002\u04f5", + "\u04f3\u0003\u0002\u0002\u0002\u04f6\u04f9\u0007\u0160\u0002\u0002\u04f7", + "\u04fa\u0005\u0214\u010b\u0002\u04f8\u04fa\u0005\u025c\u012f\u0002\u04f9", + "\u04f7\u0003\u0002\u0002\u0002\u04f9\u04f8\u0003\u0002\u0002\u0002\u04fa", + "\u04fb\u0003\u0002\u0002\u0002\u04fb\u0504\u0005> \u0002\u04fc\u04fd", + "\u0007\u021d\u0002\u0002\u04fd\u0501\u0005:\u001e\u0002\u04fe\u0500", + "\u0005<\u001f\u0002\u04ff\u04fe\u0003\u0002\u0002\u0002\u0500\u0503", + "\u0003\u0002\u0002\u0002\u0501\u04ff\u0003\u0002\u0002\u0002\u0501\u0502", + "\u0003\u0002\u0002\u0002\u0502\u0505\u0003\u0002\u0002\u0002\u0503\u0501", + "\u0003\u0002\u0002\u0002\u0504\u04fc\u0003\u0002\u0002\u0002\u0504\u0505", + "\u0003\u0002\u0002\u0002\u0505\u050e\u0003\u0002\u0002\u0002\u0506\u0507", + "\u0007\u0157\u0002\u0002\u0507\u050b\u0005:\u001e\u0002\u0508\u050a", + "\u0005<\u001f\u0002\u0509\u0508\u0003\u0002\u0002\u0002\u050a\u050d", + "\u0003\u0002\u0002\u0002\u050b\u0509\u0003\u0002\u0002\u0002\u050b\u050c", + "\u0003\u0002\u0002\u0002\u050c\u050f\u0003\u0002\u0002\u0002\u050d\u050b", + "\u0003\u0002\u0002\u0002\u050e\u0506\u0003\u0002\u0002\u0002\u050e\u050f", + "\u0003\u0002\u0002\u0002\u050f\u0511\u0003\u0002\u0002\u0002\u0510\u04ee", + "\u0003\u0002\u0002\u0002\u0510\u04f6\u0003\u0002\u0002\u0002\u05119", + "\u0003\u0002\u0002\u0002\u0512\u0517\u0007\u00ff\u0002\u0002\u0513\u0517", + "\u0005\u0218\u010d\u0002\u0514\u0517\u0005\u0214\u010b\u0002\u0515\u0517", + "\u0005\u025c\u012f\u0002\u0516\u0512\u0003\u0002\u0002\u0002\u0516\u0513", + "\u0003\u0002\u0002\u0002\u0516\u0514\u0003\u0002\u0002\u0002\u0516\u0515", + "\u0003\u0002\u0002\u0002\u0517;\u0003\u0002\u0002\u0002\u0518\u0519", + "\u0007\u03f0\u0002\u0002\u0519\u051c\u0007O\u0002\u0002\u051a\u051d", + "\u0005\u0214\u010b\u0002\u051b\u051d\u0005\u025c\u012f\u0002\u051c\u051a", + "\u0003\u0002\u0002\u0002\u051c\u051b\u0003\u0002\u0002\u0002\u051d\u051e", + "\u0003\u0002\u0002\u0002\u051e\u051f\u0005> \u0002\u051f=\u0003\u0002", + "\u0002\u0002\u0520\u052e\u0005\u0272\u013a\u0002\u0521\u052e\u0007\u00cd", + "\u0002\u0002\u0522\u052e\u0007\u00e0\u0002\u0002\u0523\u052e\u0007\u00e1", + "\u0002\u0002\u0524\u052e\u0007\u00e2\u0002\u0002\u0525\u052e\u0007\u00e3", + "\u0002\u0002\u0526\u052e\u0007\u00e4\u0002\u0002\u0527\u052e\u0007\u00e5", + "\u0002\u0002\u0528\u052e\u0007\u00e6\u0002\u0002\u0529\u052e\u0007\u00e7", + "\u0002\u0002\u052a\u052e\u0007\u00e8\u0002\u0002\u052b\u052e\u0007\u00e9", + "\u0002\u0002\u052c\u052e\u0007\u00ea\u0002\u0002\u052d\u0520\u0003\u0002", + "\u0002\u0002\u052d\u0521\u0003\u0002\u0002\u0002\u052d\u0522\u0003\u0002", + "\u0002\u0002\u052d\u0523\u0003\u0002\u0002\u0002\u052d\u0524\u0003\u0002", + "\u0002\u0002\u052d\u0525\u0003\u0002\u0002\u0002\u052d\u0526\u0003\u0002", + "\u0002\u0002\u052d\u0527\u0003\u0002\u0002\u0002\u052d\u0528\u0003\u0002", + "\u0002\u0002\u052d\u0529\u0003\u0002\u0002\u0002\u052d\u052a\u0003\u0002", + "\u0002\u0002\u052d\u052b\u0003\u0002\u0002\u0002\u052d\u052c\u0003\u0002", + "\u0002\u0002\u052e?\u0003\u0002\u0002\u0002\u052f\u0535\u0007\u0154", + "\u0002\u0002\u0530\u0535\u0007\u014d\u0002\u0002\u0531\u0532\u0007\u014d", + "\u0002\u0002\u0532\u0533\u0007l\u0002\u0002\u0533\u0535\u0007\u020d", + "\u0002\u0002\u0534\u052f\u0003\u0002\u0002\u0002\u0534\u0530\u0003\u0002", + "\u0002\u0002\u0534\u0531\u0003\u0002\u0002\u0002\u0535A\u0003\u0002", + "\u0002\u0002\u0536\u0537\u0007\u00ab\u0002\u0002\u0537\u0538\t\u000f", + "\u0002\u0002\u0538C\u0003\u0002\u0002\u0002\u0539\u053b\u0007\u018d", + "\u0002\u0002\u053a\u053c\u0007\u03f5\u0002\u0002\u053b\u053a\u0003\u0002", + "\u0002\u0002\u053b\u053c\u0003\u0002\u0002\u0002\u053c\u053d\u0003\u0002", + "\u0002\u0002\u053d\u0547\u0005\u0216\u010c\u0002\u053e\u0547\u0005B", + "\"\u0002\u053f\u0540\u0007\u00b0\u0002\u0002\u0540\u0541\u0007\u01d2", + "\u0002\u0002\u0541\u0547\u0005\u020e\u0108\u0002\u0542\u0543\u0007\u0133", + "\u0002\u0002\u0543\u0547\u0007\u040d\u0002\u0002\u0544\u0547\u0007\u0185", + "\u0002\u0002\u0545\u0547\u0007\u0246\u0002\u0002\u0546\u0539\u0003\u0002", + "\u0002\u0002\u0546\u053e\u0003\u0002\u0002\u0002\u0546\u053f\u0003\u0002", + "\u0002\u0002\u0546\u0542\u0003\u0002\u0002\u0002\u0546\u0544\u0003\u0002", + "\u0002\u0002\u0546\u0545\u0003\u0002\u0002\u0002\u0547E\u0003\u0002", + "\u0002\u0002\u0548\u054a\t\u0010\u0002\u0002\u0549\u0548\u0003\u0002", + "\u0002\u0002\u0549\u054a\u0003\u0002\u0002\u0002\u054a\u054b\u0003\u0002", + "\u0002\u0002\u054b\u054c\u0005\u020e\u0108\u0002\u054c\u054d\u0005\u0222", + "\u0112\u0002\u054dG\u0003\u0002\u0002\u0002\u054e\u054f\u0005\u020e", + "\u0108\u0002\u054f\u0550\u0005\u0222\u0112\u0002\u0550I\u0003\u0002", + "\u0002\u0002\u0551\u0552\u0007\u0133\u0002\u0002\u0552\u0569\u0007\u040d", + "\u0002\u0002\u0553\u0554\u0007\u018e\u0002\u0002\u0554\u0569\u0007\u0091", + "\u0002\u0002\u0555\u0557\u0007h\u0002\u0002\u0556\u0555\u0003\u0002", + "\u0002\u0002\u0556\u0557\u0003\u0002\u0002\u0002\u0557\u0558\u0003\u0002", + "\u0002\u0002\u0558\u0569\u0007-\u0002\u0002\u0559\u055a\u0007\u013f", + "\u0002\u0002\u055a\u0564\u0007\u0091\u0002\u0002\u055b\u055c\u0007\u01c2", + "\u0002\u0002\u055c\u0564\u0007\u0091\u0002\u0002\u055d\u055e\u0007{", + "\u0002\u0002\u055e\u055f\u0007\u0091\u0002\u0002\u055f\u0564\u0007\u0145", + "\u0002\u0002\u0560\u0561\u0007f\u0002\u0002\u0561\u0562\u0007\u0091", + "\u0002\u0002\u0562\u0564\u0007\u0145\u0002\u0002\u0563\u0559\u0003\u0002", + "\u0002\u0002\u0563\u055b\u0003\u0002\u0002\u0002\u0563\u055d\u0003\u0002", + "\u0002\u0002\u0563\u0560\u0003\u0002\u0002\u0002\u0564\u0569\u0003\u0002", + "\u0002\u0002\u0565\u0566\u0007\u0091\u0002\u0002\u0566\u0567\u0007\u0206", + "\u0002\u0002\u0567\u0569\t\r\u0002\u0002\u0568\u0551\u0003\u0002\u0002", + "\u0002\u0568\u0553\u0003\u0002\u0002\u0002\u0568\u0556\u0003\u0002\u0002", + "\u0002\u0568\u0563\u0003\u0002\u0002\u0002\u0568\u0565\u0003\u0002\u0002", + "\u0002\u0569K\u0003\u0002\u0002\u0002\u056a\u056b\u0007\u017a\u0002", + "\u0002\u056b\u0579\u0007\u040d\u0002\u0002\u056c\u056d\u0007%\u0002", + "\u0002\u056d\u0579\u0007\u040d\u0002\u0002\u056e\u056f\u0007\u023e\u0002", + "\u0002\u056f\u0579\u0007\u040d\u0002\u0002\u0570\u0571\u0007\u01d6\u0002", + "\u0002\u0571\u0579\u0007\u040d\u0002\u0002\u0572\u0573\u0007\u0210\u0002", + "\u0002\u0573\u0579\u0007\u040d\u0002\u0002\u0574\u0575\u0007\u01cf\u0002", + "\u0002\u0575\u0579\u0007\u040d\u0002\u0002\u0576\u0577\u0007\u01db\u0002", + "\u0002\u0577\u0579\u0005\u0214\u010b\u0002\u0578\u056a\u0003\u0002\u0002", + "\u0002\u0578\u056c\u0003\u0002\u0002\u0002\u0578\u056e\u0003\u0002\u0002", + "\u0002\u0578\u0570\u0003\u0002\u0002\u0002\u0578\u0572\u0003\u0002\u0002", + "\u0002\u0578\u0574\u0003\u0002\u0002\u0002\u0578\u0576\u0003\u0002\u0002", + "\u0002\u0579M\u0003\u0002\u0002\u0002\u057a\u057b\u0007\u03fe\u0002", + "\u0002\u057b\u0580\u0005P)\u0002\u057c\u057d\u0007\u0400\u0002\u0002", + "\u057d\u057f\u0005P)\u0002\u057e\u057c\u0003\u0002\u0002\u0002\u057f", + "\u0582\u0003\u0002\u0002\u0002\u0580\u057e\u0003\u0002\u0002\u0002\u0580", + "\u0581\u0003\u0002\u0002\u0002\u0581\u0583\u0003\u0002\u0002\u0002\u0582", + "\u0580\u0003\u0002\u0002\u0002\u0583\u0584\u0007\u03ff\u0002\u0002\u0584", + "O\u0003\u0002\u0002\u0002\u0585\u0586\u0005\u020e\u0108\u0002\u0586", + "\u0587\u0005R*\u0002\u0587\u058b\u0003\u0002\u0002\u0002\u0588\u058b", + "\u0005V,\u0002\u0589\u058b\u0005^0\u0002\u058a\u0585\u0003\u0002\u0002", + "\u0002\u058a\u0588\u0003\u0002\u0002\u0002\u058a\u0589\u0003\u0002\u0002", + "\u0002\u058bQ\u0003\u0002\u0002\u0002\u058c\u0590\u0005\u0222\u0112", + "\u0002\u058d\u058f\u0005T+\u0002\u058e\u058d\u0003\u0002\u0002\u0002", + "\u058f\u0592\u0003\u0002\u0002\u0002\u0590\u058e\u0003\u0002\u0002\u0002", + "\u0590\u0591\u0003\u0002\u0002\u0002\u0591S\u0003\u0002\u0002\u0002", + "\u0592\u0590\u0003\u0002\u0002\u0002\u0593\u05c7\u0005\u021e\u0110\u0002", + "\u0594\u0595\u0007(\u0002\u0002\u0595\u05c7\u0005\u023e\u0120\u0002", + "\u0596\u059b\u0007\u011a\u0002\u0002\u0597\u0598\u0007l\u0002\u0002", + "\u0598\u0599\u0007\u00a8\u0002\u0002\u0599\u059b\u0005\u0240\u0121\u0002", + "\u059a\u0596\u0003\u0002\u0002\u0002\u059a\u0597\u0003\u0002\u0002\u0002", + "\u059b\u05c7\u0003\u0002\u0002\u0002\u059c\u059e\u0007v\u0002\u0002", + "\u059d\u059c\u0003\u0002\u0002\u0002\u059d\u059e\u0003\u0002\u0002\u0002", + "\u059e\u059f\u0003\u0002\u0002\u0002\u059f\u05c7\u0007T\u0002\u0002", + "\u05a0\u05a2\u0007\u00a5\u0002\u0002\u05a1\u05a3\u0007T\u0002\u0002", + "\u05a2\u05a1\u0003\u0002\u0002\u0002\u05a2\u05a3\u0003\u0002\u0002\u0002", + "\u05a3\u05c7\u0003\u0002\u0002\u0002\u05a4\u05a5\u0007\u0133\u0002\u0002", + "\u05a5\u05c7\u0007\u040d\u0002\u0002\u05a6\u05a7\u0007\u0131\u0002\u0002", + "\u05a7\u05c7\t\u0011\u0002\u0002\u05a8\u05a9\u0007\u0223\u0002\u0002", + "\u05a9\u05c7\t\u0012\u0002\u0002\u05aa\u05c7\u0005X-\u0002\u05ab\u05ac", + "\u0007\u001a\u0002\u0002\u05ac\u05c7\u0005\u0202\u0102\u0002\u05ad\u05ae", + "\u0007A\u0002\u0002\u05ae\u05b0\u0007\n\u0002\u0002\u05af\u05ad\u0003", + "\u0002\u0002\u0002\u05af\u05b0\u0003\u0002\u0002\u0002\u05b0\u05b1\u0003", + "\u0002\u0002\u0002\u05b1\u05b2\u0007\r\u0002\u0002\u05b2\u05b3\u0007", + "\u03fe\u0002\u0002\u05b3\u05b4\u0005\u025c\u012f\u0002\u05b4\u05b6\u0007", + "\u03ff\u0002\u0002\u05b5\u05b7\t\u0013\u0002\u0002\u05b6\u05b5\u0003", + "\u0002\u0002\u0002\u05b6\u05b7\u0003\u0002\u0002\u0002\u05b7\u05c7\u0003", + "\u0002\u0002\u0002\u05b8\u05b9\u0007\u00df\u0002\u0002\u05b9\u05ba\u0007", + "(\u0002\u0002\u05ba\u05c7\u0007\u0242\u0002\u0002\u05bb\u05bd\u0007", + "\u001d\u0002\u0002\u05bc\u05be\u0005\u020e\u0108\u0002\u05bd\u05bc\u0003", + "\u0002\u0002\u0002\u05bd\u05be\u0003\u0002\u0002\u0002\u05be\u05c0\u0003", + "\u0002\u0002\u0002\u05bf\u05bb\u0003\u0002\u0002\u0002\u05bf\u05c0\u0003", + "\u0002\u0002\u0002\u05c0\u05c1\u0003\u0002\u0002\u0002\u05c1\u05c2\u0007", + "\u0019\u0002\u0002\u05c2\u05c3\u0007\u03fe\u0002\u0002\u05c3\u05c4\u0005", + "\u025c\u012f\u0002\u05c4\u05c5\u0007\u03ff\u0002\u0002\u05c5\u05c7\u0003", + "\u0002\u0002\u0002\u05c6\u0593\u0003\u0002\u0002\u0002\u05c6\u0594\u0003", + "\u0002\u0002\u0002\u05c6\u059a\u0003\u0002\u0002\u0002\u05c6\u059d\u0003", + "\u0002\u0002\u0002\u05c6\u05a0\u0003\u0002\u0002\u0002\u05c6\u05a4\u0003", + "\u0002\u0002\u0002\u05c6\u05a6\u0003\u0002\u0002\u0002\u05c6\u05a8\u0003", + "\u0002\u0002\u0002\u05c6\u05aa\u0003\u0002\u0002\u0002\u05c6\u05ab\u0003", + "\u0002\u0002\u0002\u05c6\u05af\u0003\u0002\u0002\u0002\u05c6\u05b8\u0003", + "\u0002\u0002\u0002\u05c6\u05bf\u0003\u0002\u0002\u0002\u05c7U\u0003", + "\u0002\u0002\u0002\u05c8\u05ca\u0007\u001d\u0002\u0002\u05c9\u05cb\u0005", + "\u020e\u0108\u0002\u05ca\u05c9\u0003\u0002\u0002\u0002\u05ca\u05cb\u0003", + "\u0002\u0002\u0002\u05cb\u05cd\u0003\u0002\u0002\u0002\u05cc\u05c8\u0003", + "\u0002\u0002\u0002\u05cc\u05cd\u0003\u0002\u0002\u0002\u05cd\u05ce\u0003", + "\u0002\u0002\u0002\u05ce\u05cf\u0007v\u0002\u0002\u05cf\u05d1\u0007", + "T\u0002\u0002\u05d0\u05d2\u0005\u020e\u0108\u0002\u05d1\u05d0\u0003", + "\u0002\u0002\u0002\u05d1\u05d2\u0003\u0002\u0002\u0002\u05d2\u05d4\u0003", + "\u0002\u0002\u0002\u05d3\u05d5\u0005B\"\u0002\u05d4\u05d3\u0003\u0002", + "\u0002\u0002\u05d4\u05d5\u0003\u0002\u0002\u0002\u05d5\u05d6\u0003\u0002", + "\u0002\u0002\u05d6\u05da\u0005\u0232\u011a\u0002\u05d7\u05d9\u0005D", + "#\u0002\u05d8\u05d7\u0003\u0002\u0002\u0002\u05d9\u05dc\u0003\u0002", + "\u0002\u0002\u05da\u05d8\u0003\u0002\u0002\u0002\u05da\u05db\u0003\u0002", + "\u0002\u0002\u05db\u060e\u0003\u0002\u0002\u0002\u05dc\u05da\u0003\u0002", + "\u0002\u0002\u05dd\u05df\u0007\u001d\u0002\u0002\u05de\u05e0\u0005\u020e", + "\u0108\u0002\u05df\u05de\u0003\u0002\u0002\u0002\u05df\u05e0\u0003\u0002", + "\u0002\u0002\u05e0\u05e2\u0003\u0002\u0002\u0002\u05e1\u05dd\u0003\u0002", + "\u0002\u0002\u05e1\u05e2\u0003\u0002\u0002\u0002\u05e2\u05e3\u0003\u0002", + "\u0002\u0002\u05e3\u05e5\u0007\u00a5\u0002\u0002\u05e4\u05e6\t\u0014", + "\u0002\u0002\u05e5\u05e4\u0003\u0002\u0002\u0002\u05e5\u05e6\u0003\u0002", + "\u0002\u0002\u05e6\u05e8\u0003\u0002\u0002\u0002\u05e7\u05e9\u0005\u020e", + "\u0108\u0002\u05e8\u05e7\u0003\u0002\u0002\u0002\u05e8\u05e9\u0003\u0002", + "\u0002\u0002\u05e9\u05eb\u0003\u0002\u0002\u0002\u05ea\u05ec\u0005B", + "\"\u0002\u05eb\u05ea\u0003\u0002\u0002\u0002\u05eb\u05ec\u0003\u0002", + "\u0002\u0002\u05ec\u05ed\u0003\u0002\u0002\u0002\u05ed\u05f1\u0005\u0232", + "\u011a\u0002\u05ee\u05f0\u0005D#\u0002\u05ef\u05ee\u0003\u0002\u0002", + "\u0002\u05f0\u05f3\u0003\u0002\u0002\u0002\u05f1\u05ef\u0003\u0002\u0002", + "\u0002\u05f1\u05f2\u0003\u0002\u0002\u0002\u05f2\u060e\u0003\u0002\u0002", + "\u0002\u05f3\u05f1\u0003\u0002\u0002\u0002\u05f4\u05f6\u0007\u001d\u0002", + "\u0002\u05f5\u05f7\u0005\u020e\u0108\u0002\u05f6\u05f5\u0003\u0002\u0002", + "\u0002\u05f6\u05f7\u0003\u0002\u0002\u0002\u05f7\u05f9\u0003\u0002\u0002", + "\u0002\u05f8\u05f4\u0003\u0002\u0002\u0002\u05f8\u05f9\u0003\u0002\u0002", + "\u0002\u05f9\u05fa\u0003\u0002\u0002\u0002\u05fa\u05fb\u0007>\u0002", + "\u0002\u05fb\u05fd\u0007T\u0002\u0002\u05fc\u05fe\u0005\u020e\u0108", + "\u0002\u05fd\u05fc\u0003\u0002\u0002\u0002\u05fd\u05fe\u0003\u0002\u0002", + "\u0002\u05fe\u05ff\u0003\u0002\u0002\u0002\u05ff\u0600\u0005\u0232\u011a", + "\u0002\u0600\u0601\u0005X-\u0002\u0601\u060e\u0003\u0002\u0002\u0002", + "\u0602\u0604\u0007\u001d\u0002\u0002\u0603\u0605\u0005\u020e\u0108\u0002", + "\u0604\u0603\u0003\u0002\u0002\u0002\u0604\u0605\u0003\u0002\u0002\u0002", + "\u0605\u0607\u0003\u0002\u0002\u0002\u0606\u0602\u0003\u0002\u0002\u0002", + "\u0606\u0607\u0003\u0002\u0002\u0002\u0607\u0608\u0003\u0002\u0002\u0002", + "\u0608\u0609\u0007\u0019\u0002\u0002\u0609\u060a\u0007\u03fe\u0002\u0002", + "\u060a\u060b\u0005\u025c\u012f\u0002\u060b\u060c\u0007\u03ff\u0002\u0002", + "\u060c\u060e\u0003\u0002\u0002\u0002\u060d\u05cc\u0003\u0002\u0002\u0002", + "\u060d\u05e1\u0003\u0002\u0002\u0002\u060d\u05f8\u0003\u0002\u0002\u0002", + "\u060d\u0606\u0003\u0002\u0002\u0002\u060eW\u0003\u0002\u0002\u0002", + "\u060f\u0610\u0007|\u0002\u0002\u0610\u0612\u0005\u01f6\u00fc\u0002", + "\u0611\u0613\u0005\u0232\u011a\u0002\u0612\u0611\u0003\u0002\u0002\u0002", + "\u0612\u0613\u0003\u0002\u0002\u0002\u0613\u0616\u0003\u0002\u0002\u0002", + "\u0614\u0615\u0007d\u0002\u0002\u0615\u0617\t\u0015\u0002\u0002\u0616", + "\u0614\u0003\u0002\u0002\u0002\u0616\u0617\u0003\u0002\u0002\u0002\u0617", + "\u0619\u0003\u0002\u0002\u0002\u0618\u061a\u0005Z.\u0002\u0619\u0618", + "\u0003\u0002\u0002\u0002\u0619\u061a\u0003\u0002\u0002\u0002\u061aY", + "\u0003\u0002\u0002\u0002\u061b\u061c\u0007l\u0002\u0002\u061c\u061d", + "\u0007*\u0002\u0002\u061d\u0621\u0005\\/\u0002\u061e\u061f\u0007l\u0002", + "\u0002\u061f\u0620\u0007\u00a8\u0002\u0002\u0620\u0622\u0005\\/\u0002", + "\u0621\u061e\u0003\u0002\u0002\u0002\u0621\u0622\u0003\u0002\u0002\u0002", + "\u0622\u062c\u0003\u0002\u0002\u0002\u0623\u0624\u0007l\u0002\u0002", + "\u0624\u0625\u0007\u00a8\u0002\u0002\u0625\u0629\u0005\\/\u0002\u0626", + "\u0627\u0007l\u0002\u0002\u0627\u0628\u0007*\u0002\u0002\u0628\u062a", + "\u0005\\/\u0002\u0629\u0626\u0003\u0002\u0002\u0002\u0629\u062a\u0003", + "\u0002\u0002\u0002\u062a\u062c\u0003\u0002\u0002\u0002\u062b\u061b\u0003", + "\u0002\u0002\u0002\u062b\u0623\u0003\u0002\u0002\u0002\u062c[\u0003", + "\u0002\u0002\u0002\u062d\u0634\u0007\u0084\u0002\u0002\u062e\u0634\u0007", + "\u0014\u0002\u0002\u062f\u0630\u0007\u008c\u0002\u0002\u0630\u0634\u0007", + "j\u0002\u0002\u0631\u0632\u0007\u01c2\u0002\u0002\u0632\u0634\u0007", + "\u0111\u0002\u0002\u0633\u062d\u0003\u0002\u0002\u0002\u0633\u062e\u0003", + "\u0002\u0002\u0002\u0633\u062f\u0003\u0002\u0002\u0002\u0633\u0631\u0003", + "\u0002\u0002\u0002\u0634]\u0003\u0002\u0002\u0002\u0635\u0637\t\u0014", + "\u0002\u0002\u0636\u0638\u0005\u020e\u0108\u0002\u0637\u0636\u0003\u0002", + "\u0002\u0002\u0637\u0638\u0003\u0002\u0002\u0002\u0638\u063a\u0003\u0002", + "\u0002\u0002\u0639\u063b\u0005B\"\u0002\u063a\u0639\u0003\u0002\u0002", + "\u0002\u063a\u063b\u0003\u0002\u0002\u0002\u063b\u063c\u0003\u0002\u0002", + "\u0002\u063c\u0640\u0005\u0232\u011a\u0002\u063d\u063f\u0005D#\u0002", + "\u063e\u063d\u0003\u0002\u0002\u0002\u063f\u0642\u0003\u0002\u0002\u0002", + "\u0640\u063e\u0003\u0002\u0002\u0002\u0640\u0641\u0003\u0002\u0002\u0002", + "\u0641\u0652\u0003\u0002\u0002\u0002\u0642\u0640\u0003\u0002\u0002\u0002", + "\u0643\u0645\t\u0016\u0002\u0002\u0644\u0646\t\u0014\u0002\u0002\u0645", + "\u0644\u0003\u0002\u0002\u0002\u0645\u0646\u0003\u0002\u0002\u0002\u0646", + "\u0648\u0003\u0002\u0002\u0002\u0647\u0649\u0005\u020e\u0108\u0002\u0648", + "\u0647\u0003\u0002\u0002\u0002\u0648\u0649\u0003\u0002\u0002\u0002\u0649", + "\u064a\u0003\u0002\u0002\u0002\u064a\u064e\u0005\u0232\u011a\u0002\u064b", + "\u064d\u0005D#\u0002\u064c\u064b\u0003\u0002\u0002\u0002\u064d\u0650", + "\u0003\u0002\u0002\u0002\u064e\u064c\u0003\u0002\u0002\u0002\u064e\u064f", + "\u0003\u0002\u0002\u0002\u064f\u0652\u0003\u0002\u0002\u0002\u0650\u064e", + "\u0003\u0002\u0002\u0002\u0651\u0635\u0003\u0002\u0002\u0002\u0651\u0643", + "\u0003\u0002\u0002\u0002\u0652_\u0003\u0002\u0002\u0002\u0653\u0655", + "\u0007\u0158\u0002\u0002\u0654\u0656\u0007\u03f5\u0002\u0002\u0655\u0654", + "\u0003\u0002\u0002\u0002\u0655\u0656\u0003\u0002\u0002\u0002\u0656\u0657", + "\u0003\u0002\u0002\u0002\u0657\u06e4\u0005\u0204\u0103\u0002\u0658\u065a", + "\u0007\u011a\u0002\u0002\u0659\u065b\u0007\u03f5\u0002\u0002\u065a\u0659", + "\u0003\u0002\u0002\u0002\u065a\u065b\u0003\u0002\u0002\u0002\u065b\u065c", + "\u0003\u0002\u0002\u0002\u065c\u06e4\u0005\u0214\u010b\u0002\u065d\u065f", + "\u0007\u011b\u0002\u0002\u065e\u0660\u0007\u03f5\u0002\u0002\u065f\u065e", + "\u0003\u0002\u0002\u0002\u065f\u0660\u0003\u0002\u0002\u0002\u0660\u0661", + "\u0003\u0002\u0002\u0002\u0661\u06e4\u0005\u0214\u010b\u0002\u0662\u0664", + "\u0007(\u0002\u0002\u0663\u0662\u0003\u0002\u0002\u0002\u0663\u0664", + "\u0003\u0002\u0002\u0002\u0664\u0668\u0003\u0002\u0002\u0002\u0665\u0666", + "\u0007\u0018\u0002\u0002\u0666\u0669\u0007\u008c\u0002\u0002\u0667\u0669", + "\u0007\u02dd\u0002\u0002\u0668\u0665\u0003\u0002\u0002\u0002\u0668\u0667", + "\u0003\u0002\u0002\u0002\u0669\u066b\u0003\u0002\u0002\u0002\u066a\u066c", + "\u0007\u03f5\u0002\u0002\u066b\u066a\u0003\u0002\u0002\u0002\u066b\u066c", + "\u0003\u0002\u0002\u0002\u066c\u066f\u0003\u0002\u0002\u0002\u066d\u0670", + "\u0005\u0200\u0101\u0002\u066e\u0670\u0007(\u0002\u0002\u066f\u066d", + "\u0003\u0002\u0002\u0002\u066f\u066e\u0003\u0002\u0002\u0002\u0670\u06e4", + "\u0003\u0002\u0002\u0002\u0671\u0673\t\u0017\u0002\u0002\u0672\u0674", + "\u0007\u03f5\u0002\u0002\u0673\u0672\u0003\u0002\u0002\u0002\u0673\u0674", + "\u0003\u0002\u0002\u0002\u0674\u0675\u0003\u0002\u0002\u0002\u0675\u06e4", + "\t\u0018\u0002\u0002\u0676\u0678\u0007(\u0002\u0002\u0677\u0676\u0003", + "\u0002\u0002\u0002\u0677\u0678\u0003\u0002\u0002\u0002\u0678\u0679\u0003", + "\u0002\u0002\u0002\u0679\u067b\u0007\u001a\u0002\u0002\u067a\u067c\u0007", + "\u03f5\u0002\u0002\u067b\u067a\u0003\u0002\u0002\u0002\u067b\u067c\u0003", + "\u0002\u0002\u0002\u067c\u067d\u0003\u0002\u0002\u0002\u067d\u06e4\u0005", + "\u0202\u0102\u0002\u067e\u0680\u0007\u0133\u0002\u0002\u067f\u0681\u0007", + "\u03f5\u0002\u0002\u0680\u067f\u0003\u0002\u0002\u0002\u0680\u0681\u0003", + "\u0002\u0002\u0002\u0681\u0682\u0003\u0002\u0002\u0002\u0682\u06e4\u0007", + "\u040d\u0002\u0002\u0683\u0685\u0007\u0138\u0002\u0002\u0684\u0686\u0007", + "\u03f5\u0002\u0002\u0685\u0684\u0003\u0002\u0002\u0002\u0685\u0686\u0003", + "\u0002\u0002\u0002\u0686\u0687\u0003\u0002\u0002\u0002\u0687\u06e4\t", + "\u0019\u0002\u0002\u0688\u068a\u0007\u013a\u0002\u0002\u0689\u068b\u0007", + "\u03f5\u0002\u0002\u068a\u0689\u0003\u0002\u0002\u0002\u068a\u068b\u0003", + "\u0002\u0002\u0002\u068b\u068c\u0003\u0002\u0002\u0002\u068c\u06e4\u0007", + "\u040d\u0002\u0002\u068d\u068e\u0007\u0145\u0002\u0002\u068e\u0690\u0007", + "\u014c\u0002\u0002\u068f\u0691\u0007\u03f5\u0002\u0002\u0690\u068f\u0003", + "\u0002\u0002\u0002\u0690\u0691\u0003\u0002\u0002\u0002\u0691\u0692\u0003", + "\u0002\u0002\u0002\u0692\u06e4\u0007\u040d\u0002\u0002\u0693\u0695\u0007", + "\u014a\u0002\u0002\u0694\u0696\u0007\u03f5\u0002\u0002\u0695\u0694\u0003", + "\u0002\u0002\u0002\u0695\u0696\u0003\u0002\u0002\u0002\u0696\u0697\u0003", + "\u0002\u0002\u0002\u0697\u06e4\t\u0018\u0002\u0002\u0698\u069a\u0007", + "\u0155\u0002\u0002\u0699\u069b\u0007\u03f5\u0002\u0002\u069a\u0699\u0003", + "\u0002\u0002\u0002\u069a\u069b\u0003\u0002\u0002\u0002\u069b\u069c\u0003", + "\u0002\u0002\u0002\u069c\u06e4\u0007\u040d\u0002\u0002\u069d\u069e\u0007", + "J\u0002\u0002\u069e\u06a0\u0007\u014c\u0002\u0002\u069f\u06a1\u0007", + "\u03f5\u0002\u0002\u06a0\u069f\u0003\u0002\u0002\u0002\u06a0\u06a1\u0003", + "\u0002\u0002\u0002\u06a1\u06a2\u0003\u0002\u0002\u0002\u06a2\u06e4\u0007", + "\u040d\u0002\u0002\u06a3\u06a5\u0007\u0182\u0002\u0002\u06a4\u06a6\u0007", + "\u03f5\u0002\u0002\u06a5\u06a4\u0003\u0002\u0002\u0002\u06a5\u06a6\u0003", + "\u0002\u0002\u0002\u06a6\u06a7\u0003\u0002\u0002\u0002\u06a7\u06e4\t", + "\u001a\u0002\u0002\u06a8\u06aa\u0007\u018d\u0002\u0002\u06a9\u06ab\u0007", + "\u03f5\u0002\u0002\u06aa\u06a9\u0003\u0002\u0002\u0002\u06aa\u06ab\u0003", + "\u0002\u0002\u0002\u06ab\u06ac\u0003\u0002\u0002\u0002\u06ac\u06e4\u0005", + "\u0216\u010c\u0002\u06ad\u06af\u0007\u01ae\u0002\u0002\u06ae\u06b0\u0007", + "\u03f5\u0002\u0002\u06af\u06ae\u0003\u0002\u0002\u0002\u06af\u06b0\u0003", + "\u0002\u0002\u0002\u06b0\u06b1\u0003\u0002\u0002\u0002\u06b1\u06e4\u0005", + "\u0214\u010b\u0002\u06b2\u06b4\u0007\u01b7\u0002\u0002\u06b3\u06b5\u0007", + "\u03f5\u0002\u0002\u06b4\u06b3\u0003\u0002\u0002\u0002\u06b4\u06b5\u0003", + "\u0002\u0002\u0002\u06b5\u06b6\u0003\u0002\u0002\u0002\u06b6\u06e4\u0005", + "\u0214\u010b\u0002\u06b7\u06b9\u0007\u01d0\u0002\u0002\u06b8\u06ba\u0007", + "\u03f5\u0002\u0002\u06b9\u06b8\u0003\u0002\u0002\u0002\u06b9\u06ba\u0003", + "\u0002\u0002\u0002\u06ba\u06bb\u0003\u0002\u0002\u0002\u06bb\u06e4\t", + "\u001b\u0002\u0002\u06bc\u06be\u0007\u01d6\u0002\u0002\u06bd\u06bf\u0007", + "\u03f5\u0002\u0002\u06be\u06bd\u0003\u0002\u0002\u0002\u06be\u06bf\u0003", + "\u0002\u0002\u0002\u06bf\u06c0\u0003\u0002\u0002\u0002\u06c0\u06e4\u0007", + "\u040d\u0002\u0002\u06c1\u06c3\u0007\u0203\u0002\u0002\u06c2\u06c4\u0007", + "\u03f5\u0002\u0002\u06c3\u06c2\u0003\u0002\u0002\u0002\u06c3\u06c4\u0003", + "\u0002\u0002\u0002\u06c4\u06c5\u0003\u0002\u0002\u0002\u06c5\u06e4\t", + "\u001c\u0002\u0002\u06c6\u06c8\u0007\u021e\u0002\u0002\u06c7\u06c9\u0007", + "\u03f5\u0002\u0002\u06c8\u06c7\u0003\u0002\u0002\u0002\u06c8\u06c9\u0003", + "\u0002\u0002\u0002\u06c9\u06ca\u0003\u0002\u0002\u0002\u06ca\u06e4\t", + "\u001b\u0002\u0002\u06cb\u06cd\u0007\u021f\u0002\u0002\u06cc\u06ce\u0007", + "\u03f5\u0002\u0002\u06cd\u06cc\u0003\u0002\u0002\u0002\u06cd\u06ce\u0003", + "\u0002\u0002\u0002\u06ce\u06cf\u0003\u0002\u0002\u0002\u06cf\u06e4\t", + "\u001b\u0002\u0002\u06d0\u06d2\u0007\u0220\u0002\u0002\u06d1\u06d3\u0007", + "\u03f5\u0002\u0002\u06d2\u06d1\u0003\u0002\u0002\u0002\u06d2\u06d3\u0003", + "\u0002\u0002\u0002\u06d3\u06d4\u0003\u0002\u0002\u0002\u06d4\u06e4\u0005", + "\u0214\u010b\u0002\u06d5\u06d6\u0007\u022e\u0002\u0002\u06d6\u06d8\u0005", + "\u020e\u0108\u0002\u06d7\u06d9\u0005b2\u0002\u06d8\u06d7\u0003\u0002", + "\u0002\u0002\u06d8\u06d9\u0003\u0002\u0002\u0002\u06d9\u06e4\u0003\u0002", + "\u0002\u0002\u06da\u06e4\u0005b2\u0002\u06db\u06dd\u0007\u00a4\u0002", + "\u0002\u06dc\u06de\u0007\u03f5\u0002\u0002\u06dd\u06dc\u0003\u0002\u0002", + "\u0002\u06dd\u06de\u0003\u0002\u0002\u0002\u06de\u06df\u0003\u0002\u0002", + "\u0002\u06df\u06e0\u0007\u03fe\u0002\u0002\u06e0\u06e1\u0005\u0230\u0119", + "\u0002\u06e1\u06e2\u0007\u03ff\u0002\u0002\u06e2\u06e4\u0003\u0002\u0002", + "\u0002\u06e3\u0653\u0003\u0002\u0002\u0002\u06e3\u0658\u0003\u0002\u0002", + "\u0002\u06e3\u065d\u0003\u0002\u0002\u0002\u06e3\u0663\u0003\u0002\u0002", + "\u0002\u06e3\u0671\u0003\u0002\u0002\u0002\u06e3\u0677\u0003\u0002\u0002", + "\u0002\u06e3\u067e\u0003\u0002\u0002\u0002\u06e3\u0683\u0003\u0002\u0002", + "\u0002\u06e3\u0688\u0003\u0002\u0002\u0002\u06e3\u068d\u0003\u0002\u0002", + "\u0002\u06e3\u0693\u0003\u0002\u0002\u0002\u06e3\u0698\u0003\u0002\u0002", + "\u0002\u06e3\u069d\u0003\u0002\u0002\u0002\u06e3\u06a3\u0003\u0002\u0002", + "\u0002\u06e3\u06a8\u0003\u0002\u0002\u0002\u06e3\u06ad\u0003\u0002\u0002", + "\u0002\u06e3\u06b2\u0003\u0002\u0002\u0002\u06e3\u06b7\u0003\u0002\u0002", + "\u0002\u06e3\u06bc\u0003\u0002\u0002\u0002\u06e3\u06c1\u0003\u0002\u0002", + "\u0002\u06e3\u06c6\u0003\u0002\u0002\u0002\u06e3\u06cb\u0003\u0002\u0002", + "\u0002\u06e3\u06d0\u0003\u0002\u0002\u0002\u06e3\u06d5\u0003\u0002\u0002", + "\u0002\u06e3\u06da\u0003\u0002\u0002\u0002\u06e3\u06db\u0003\u0002\u0002", + "\u0002\u06e4a\u0003\u0002\u0002\u0002\u06e5\u06e6\u0007\u0223\u0002", + "\u0002\u06e6\u06e7\t\u0012\u0002\u0002\u06e7c\u0003\u0002\u0002\u0002", + "\u06e8\u06e9\u0007u\u0002\u0002\u06e9\u06ea\u0007\u0012\u0002\u0002", + "\u06ea\u06ed\u0005f4\u0002\u06eb\u06ec\u0007\u01d5\u0002\u0002\u06ec", + "\u06ee\u0005\u0214\u010b\u0002\u06ed\u06eb\u0003\u0002\u0002\u0002\u06ed", + "\u06ee\u0003\u0002\u0002\u0002\u06ee\u06f6\u0003\u0002\u0002\u0002\u06ef", + "\u06f0\u0007\u0228\u0002\u0002\u06f0\u06f1\u0007\u0012\u0002\u0002\u06f1", + "\u06f4\u0005h5\u0002\u06f2\u06f3\u0007\u0229\u0002\u0002\u06f3\u06f5", + "\u0005\u0214\u010b\u0002\u06f4\u06f2\u0003\u0002\u0002\u0002\u06f4\u06f5", + "\u0003\u0002\u0002\u0002\u06f5\u06f7\u0003\u0002\u0002\u0002\u06f6\u06ef", + "\u0003\u0002\u0002\u0002\u06f6\u06f7\u0003\u0002\u0002\u0002\u06f7\u0703", + "\u0003\u0002\u0002\u0002\u06f8\u06f9\u0007\u03fe\u0002\u0002\u06f9\u06fe", + "\u0005j6\u0002\u06fa\u06fb\u0007\u0400\u0002\u0002\u06fb\u06fd\u0005", + "j6\u0002\u06fc\u06fa\u0003\u0002\u0002\u0002\u06fd\u0700\u0003\u0002", + "\u0002\u0002\u06fe\u06fc\u0003\u0002\u0002\u0002\u06fe\u06ff\u0003\u0002", + "\u0002\u0002\u06ff\u0701\u0003\u0002\u0002\u0002\u0700\u06fe\u0003\u0002", + "\u0002\u0002\u0701\u0702\u0007\u03ff\u0002\u0002\u0702\u0704\u0003\u0002", + "\u0002\u0002\u0703\u06f8\u0003\u0002\u0002\u0002\u0703\u0704\u0003\u0002", + "\u0002\u0002\u0704e\u0003\u0002\u0002\u0002\u0705\u0707\u0007\\\u0002", + "\u0002\u0706\u0705\u0003\u0002\u0002\u0002\u0706\u0707\u0003\u0002\u0002", + "\u0002\u0707\u0708\u0003\u0002\u0002\u0002\u0708\u0709\u0007\u0178\u0002", + "\u0002\u0709\u070a\u0007\u03fe\u0002\u0002\u070a\u070b\u0005\u025c\u012f", + "\u0002\u070b\u070c\u0007\u03ff\u0002\u0002\u070c\u0733\u0003\u0002\u0002", + "\u0002\u070d\u070f\u0007\\\u0002\u0002\u070e\u070d\u0003\u0002\u0002", + "\u0002\u070e\u070f\u0003\u0002\u0002\u0002\u070f\u0710\u0003\u0002\u0002", + "\u0002\u0710\u0714\u0007T\u0002\u0002\u0711\u0712\u0007\u0114\u0002", + "\u0002\u0712\u0713\u0007\u03f5\u0002\u0002\u0713\u0715\t\u001d\u0002", + "\u0002\u0714\u0711\u0003\u0002\u0002\u0002\u0714\u0715\u0003\u0002\u0002", + "\u0002\u0715\u0716\u0003\u0002\u0002\u0002\u0716\u0717\u0007\u03fe\u0002", + "\u0002\u0717\u0718\u0005\u022e\u0118\u0002\u0718\u0719\u0007\u03ff\u0002", + "\u0002\u0719\u0733\u0003\u0002\u0002\u0002\u071a\u0724\u0007y\u0002", + "\u0002\u071b\u071c\u0007\u03fe\u0002\u0002\u071c\u071d\u0005\u025c\u012f", + "\u0002\u071d\u071e\u0007\u03ff\u0002\u0002\u071e\u0725\u0003\u0002\u0002", + "\u0002\u071f\u0720\u0007\u0130\u0002\u0002\u0720\u0721\u0007\u03fe\u0002", + "\u0002\u0721\u0722\u0005\u022e\u0118\u0002\u0722\u0723\u0007\u03ff\u0002", + "\u0002\u0723\u0725\u0003\u0002\u0002\u0002\u0724\u071b\u0003\u0002\u0002", + "\u0002\u0724\u071f\u0003\u0002\u0002\u0002\u0725\u0733\u0003\u0002\u0002", + "\u0002\u0726\u0730\u0007\u0193\u0002\u0002\u0727\u0728\u0007\u03fe\u0002", + "\u0002\u0728\u0729\u0005\u025c\u012f\u0002\u0729\u072a\u0007\u03ff\u0002", + "\u0002\u072a\u0731\u0003\u0002\u0002\u0002\u072b\u072c\u0007\u0130\u0002", + "\u0002\u072c\u072d\u0007\u03fe\u0002\u0002\u072d\u072e\u0005\u022e\u0118", + "\u0002\u072e\u072f\u0007\u03ff\u0002\u0002\u072f\u0731\u0003\u0002\u0002", + "\u0002\u0730\u0727\u0003\u0002\u0002\u0002\u0730\u072b\u0003\u0002\u0002", + "\u0002\u0731\u0733\u0003\u0002\u0002\u0002\u0732\u0706\u0003\u0002\u0002", + "\u0002\u0732\u070e\u0003\u0002\u0002\u0002\u0732\u071a\u0003\u0002\u0002", + "\u0002\u0732\u0726\u0003\u0002\u0002\u0002\u0733g\u0003\u0002\u0002", + "\u0002\u0734\u0736\u0007\\\u0002\u0002\u0735\u0734\u0003\u0002\u0002", + "\u0002\u0735\u0736\u0003\u0002\u0002\u0002\u0736\u0737\u0003\u0002\u0002", + "\u0002\u0737\u0738\u0007\u0178\u0002\u0002\u0738\u0739\u0007\u03fe\u0002", + "\u0002\u0739\u073a\u0005\u025c\u012f\u0002\u073a\u073b\u0007\u03ff\u0002", + "\u0002\u073b\u074a\u0003\u0002\u0002\u0002\u073c\u073e\u0007\\\u0002", + "\u0002\u073d\u073c\u0003\u0002\u0002\u0002\u073d\u073e\u0003\u0002\u0002", + "\u0002\u073e\u073f\u0003\u0002\u0002\u0002\u073f\u0743\u0007T\u0002", + "\u0002\u0740\u0741\u0007\u0114\u0002\u0002\u0741\u0742\u0007\u03f5\u0002", + "\u0002\u0742\u0744\t\u001d\u0002\u0002\u0743\u0740\u0003\u0002\u0002", + "\u0002\u0743\u0744\u0003\u0002\u0002\u0002\u0744\u0745\u0003\u0002\u0002", + "\u0002\u0745\u0746\u0007\u03fe\u0002\u0002\u0746\u0747\u0005\u022e\u0118", + "\u0002\u0747\u0748\u0007\u03ff\u0002\u0002\u0748\u074a\u0003\u0002\u0002", + "\u0002\u0749\u0735\u0003\u0002\u0002\u0002\u0749\u073d\u0003\u0002\u0002", + "\u0002\u074ai\u0003\u0002\u0002\u0002\u074b\u074c\u0007u\u0002\u0002", + "\u074c\u074d\u0005\u020e\u0108\u0002\u074d\u074e\u0007\u00ac\u0002\u0002", + "\u074e\u074f\u0007\u0191\u0002\u0002\u074f\u0750\u0007\u0231\u0002\u0002", + "\u0750\u0751\u0007\u03fe\u0002\u0002\u0751\u0756\u0005l7\u0002\u0752", + "\u0753\u0007\u0400\u0002\u0002\u0753\u0755\u0005l7\u0002\u0754\u0752", + "\u0003\u0002\u0002\u0002\u0755\u0758\u0003\u0002\u0002\u0002\u0756\u0754", + "\u0003\u0002\u0002\u0002\u0756\u0757\u0003\u0002\u0002\u0002\u0757\u0759", + "\u0003\u0002\u0002\u0002\u0758\u0756\u0003\u0002\u0002\u0002\u0759\u075d", + "\u0007\u03ff\u0002\u0002\u075a\u075c\u0005r:\u0002\u075b\u075a\u0003", + "\u0002\u0002\u0002\u075c\u075f\u0003\u0002\u0002\u0002\u075d\u075b\u0003", + "\u0002\u0002\u0002\u075d\u075e\u0003\u0002\u0002\u0002\u075e\u0768\u0003", + "\u0002\u0002\u0002\u075f\u075d\u0003\u0002\u0002\u0002\u0760\u0765\u0005", + "p9\u0002\u0761\u0762\u0007\u0400\u0002\u0002\u0762\u0764\u0005p9\u0002", + "\u0763\u0761\u0003\u0002\u0002\u0002\u0764\u0767\u0003\u0002\u0002\u0002", + "\u0765\u0763\u0003\u0002\u0002\u0002\u0765\u0766\u0003\u0002\u0002\u0002", + "\u0766\u0769\u0003\u0002\u0002\u0002\u0767\u0765\u0003\u0002\u0002\u0002", + "\u0768\u0760\u0003\u0002\u0002\u0002\u0768\u0769\u0003\u0002\u0002\u0002", + "\u0769\u07cf\u0003\u0002\u0002\u0002\u076a\u076b\u0007u\u0002\u0002", + "\u076b\u076c\u0005\u020e\u0108\u0002\u076c\u076d\u0007\u00ac\u0002\u0002", + "\u076d\u076e\u0007\u0191\u0002\u0002\u076e\u076f\u0007\u0231\u0002\u0002", + "\u076f\u0773\u0005l7\u0002\u0770\u0772\u0005r:\u0002\u0771\u0770\u0003", + "\u0002\u0002\u0002\u0772\u0775\u0003\u0002\u0002\u0002\u0773\u0771\u0003", + "\u0002\u0002\u0002\u0773\u0774\u0003\u0002\u0002\u0002\u0774\u077e\u0003", + "\u0002\u0002\u0002\u0775\u0773\u0003\u0002\u0002\u0002\u0776\u077b\u0005", + "p9\u0002\u0777\u0778\u0007\u0400\u0002\u0002\u0778\u077a\u0005p9\u0002", + "\u0779\u0777\u0003\u0002\u0002\u0002\u077a\u077d\u0003\u0002\u0002\u0002", + "\u077b\u0779\u0003\u0002\u0002\u0002\u077b\u077c\u0003\u0002\u0002\u0002", + "\u077c\u077f\u0003\u0002\u0002\u0002\u077d\u077b\u0003\u0002\u0002\u0002", + "\u077e\u0776\u0003\u0002\u0002\u0002\u077e\u077f\u0003\u0002\u0002\u0002", + "\u077f\u07cf\u0003\u0002\u0002\u0002\u0780\u0781\u0007u\u0002\u0002", + "\u0781\u0782\u0005\u020e\u0108\u0002\u0782\u0783\u0007\u00ac\u0002\u0002", + "\u0783\u0784\u0007I\u0002\u0002\u0784\u0785\u0007\u03fe\u0002\u0002", + "\u0785\u078a\u0005l7\u0002\u0786\u0787\u0007\u0400\u0002\u0002\u0787", + "\u0789\u0005l7\u0002\u0788\u0786\u0003\u0002\u0002\u0002\u0789\u078c", + "\u0003\u0002\u0002\u0002\u078a\u0788\u0003\u0002\u0002\u0002\u078a\u078b", + "\u0003\u0002\u0002\u0002\u078b\u078d\u0003\u0002\u0002\u0002\u078c\u078a", + "\u0003\u0002\u0002\u0002\u078d\u0791\u0007\u03ff\u0002\u0002\u078e\u0790", + "\u0005r:\u0002\u078f\u078e\u0003\u0002\u0002\u0002\u0790\u0793\u0003", + "\u0002\u0002\u0002\u0791\u078f\u0003\u0002\u0002\u0002\u0791\u0792\u0003", + "\u0002\u0002\u0002\u0792\u079c\u0003\u0002\u0002\u0002\u0793\u0791\u0003", + "\u0002\u0002\u0002\u0794\u0799\u0005p9\u0002\u0795\u0796\u0007\u0400", + "\u0002\u0002\u0796\u0798\u0005p9\u0002\u0797\u0795\u0003\u0002\u0002", + "\u0002\u0798\u079b\u0003\u0002\u0002\u0002\u0799\u0797\u0003\u0002\u0002", + "\u0002\u0799\u079a\u0003\u0002\u0002\u0002\u079a\u079d\u0003\u0002\u0002", + "\u0002\u079b\u0799\u0003\u0002\u0002\u0002\u079c\u0794\u0003\u0002\u0002", + "\u0002\u079c\u079d\u0003\u0002\u0002\u0002\u079d\u07cf\u0003\u0002\u0002", + "\u0002\u079e\u079f\u0007u\u0002\u0002\u079f\u07a0\u0005\u020e\u0108", + "\u0002\u07a0\u07a1\u0007\u00ac\u0002\u0002\u07a1\u07a2\u0007I\u0002", + "\u0002\u07a2\u07a3\u0007\u03fe\u0002\u0002\u07a3\u07a8\u0005n8\u0002", + "\u07a4\u07a5\u0007\u0400\u0002\u0002\u07a5\u07a7\u0005n8\u0002\u07a6", + "\u07a4\u0003\u0002\u0002\u0002\u07a7\u07aa\u0003\u0002\u0002\u0002\u07a8", + "\u07a6\u0003\u0002\u0002\u0002\u07a8\u07a9\u0003\u0002\u0002\u0002\u07a9", + "\u07ab\u0003\u0002\u0002\u0002\u07aa\u07a8\u0003\u0002\u0002\u0002\u07ab", + "\u07af\u0007\u03ff\u0002\u0002\u07ac\u07ae\u0005r:\u0002\u07ad\u07ac", + "\u0003\u0002\u0002\u0002\u07ae\u07b1\u0003\u0002\u0002\u0002\u07af\u07ad", + "\u0003\u0002\u0002\u0002\u07af\u07b0\u0003\u0002\u0002\u0002\u07b0\u07ba", + "\u0003\u0002\u0002\u0002\u07b1\u07af\u0003\u0002\u0002\u0002\u07b2\u07b7", + "\u0005p9\u0002\u07b3\u07b4\u0007\u0400\u0002\u0002\u07b4\u07b6\u0005", + "p9\u0002\u07b5\u07b3\u0003\u0002\u0002\u0002\u07b6\u07b9\u0003\u0002", + "\u0002\u0002\u07b7\u07b5\u0003\u0002\u0002\u0002\u07b7\u07b8\u0003\u0002", + "\u0002\u0002\u07b8\u07bb\u0003\u0002\u0002\u0002\u07b9\u07b7\u0003\u0002", + "\u0002\u0002\u07ba\u07b2\u0003\u0002\u0002\u0002\u07ba\u07bb\u0003\u0002", + "\u0002\u0002\u07bb\u07cf\u0003\u0002\u0002\u0002\u07bc\u07bd\u0007u", + "\u0002\u0002\u07bd\u07c1\u0005\u020e\u0108\u0002\u07be\u07c0\u0005r", + ":\u0002\u07bf\u07be\u0003\u0002\u0002\u0002\u07c0\u07c3\u0003\u0002", + "\u0002\u0002\u07c1\u07bf\u0003\u0002\u0002\u0002\u07c1\u07c2\u0003\u0002", + "\u0002\u0002\u07c2\u07cc\u0003\u0002\u0002\u0002\u07c3\u07c1\u0003\u0002", + "\u0002\u0002\u07c4\u07c9\u0005p9\u0002\u07c5\u07c6\u0007\u0400\u0002", + "\u0002\u07c6\u07c8\u0005p9\u0002\u07c7\u07c5\u0003\u0002\u0002\u0002", + "\u07c8\u07cb\u0003\u0002\u0002\u0002\u07c9\u07c7\u0003\u0002\u0002\u0002", + "\u07c9\u07ca\u0003\u0002\u0002\u0002\u07ca\u07cd\u0003\u0002\u0002\u0002", + "\u07cb\u07c9\u0003\u0002\u0002\u0002\u07cc\u07c4\u0003\u0002\u0002\u0002", + "\u07cc\u07cd\u0003\u0002\u0002\u0002\u07cd\u07cf\u0003\u0002\u0002\u0002", + "\u07ce\u074b\u0003\u0002\u0002\u0002\u07ce\u076a\u0003\u0002\u0002\u0002", + "\u07ce\u0780\u0003\u0002\u0002\u0002\u07ce\u079e\u0003\u0002\u0002\u0002", + "\u07ce\u07bc\u0003\u0002\u0002\u0002\u07cfk\u0003\u0002\u0002\u0002", + "\u07d0\u07d4\u0005\u0220\u0111\u0002\u07d1\u07d4\u0005\u025c\u012f\u0002", + "\u07d2\u07d4\u0007e\u0002\u0002\u07d3\u07d0\u0003\u0002\u0002\u0002", + "\u07d3\u07d1\u0003\u0002\u0002\u0002\u07d3\u07d2\u0003\u0002\u0002\u0002", + "\u07d4m\u0003\u0002\u0002\u0002\u07d5\u07d6\u0007\u03fe\u0002\u0002", + "\u07d6\u07d9\u0005l7\u0002\u07d7\u07d8\u0007\u0400\u0002\u0002\u07d8", + "\u07da\u0005l7\u0002\u07d9\u07d7\u0003\u0002\u0002\u0002\u07da\u07db", + "\u0003\u0002\u0002\u0002\u07db\u07d9\u0003\u0002\u0002\u0002\u07db\u07dc", + "\u0003\u0002\u0002\u0002\u07dc\u07dd\u0003\u0002\u0002\u0002\u07dd\u07de", + "\u0007\u03ff\u0002\u0002\u07deo\u0003\u0002\u0002\u0002\u07df\u07e0", + "\u0007\u0228\u0002\u0002\u07e0\u07e4\u0005\u020e\u0108\u0002\u07e1\u07e3", + "\u0005r:\u0002\u07e2\u07e1\u0003\u0002\u0002\u0002\u07e3\u07e6\u0003", + "\u0002\u0002\u0002\u07e4\u07e2\u0003\u0002\u0002\u0002\u07e4\u07e5\u0003", + "\u0002\u0002\u0002\u07e5q\u0003\u0002\u0002\u0002\u07e6\u07e4\u0003", + "\u0002\u0002\u0002\u07e7\u07e9\u0007\u0223\u0002\u0002\u07e8\u07e7\u0003", + "\u0002\u0002\u0002\u07e8\u07e9\u0003\u0002\u0002\u0002\u07e9\u07ea\u0003", + "\u0002\u0002\u0002\u07ea\u07ec\u0007\u0158\u0002\u0002\u07eb\u07ed\u0007", + "\u03f5\u0002\u0002\u07ec\u07eb\u0003\u0002\u0002\u0002\u07ec\u07ed\u0003", + "\u0002\u0002\u0002\u07ed\u07ee\u0003\u0002\u0002\u0002\u07ee\u0815\u0005", + "\u0204\u0103\u0002\u07ef\u07f1\u0007\u0133\u0002\u0002\u07f0\u07f2\u0007", + "\u03f5\u0002\u0002\u07f1\u07f0\u0003\u0002\u0002\u0002\u07f1\u07f2\u0003", + "\u0002\u0002\u0002\u07f2\u07f3\u0003\u0002\u0002\u0002\u07f3\u0815\u0007", + "\u040d\u0002\u0002\u07f4\u07f5\u0007\u0145\u0002\u0002\u07f5\u07f7\u0007", + "\u014c\u0002\u0002\u07f6\u07f8\u0007\u03f5\u0002\u0002\u07f7\u07f6\u0003", + "\u0002\u0002\u0002\u07f7\u07f8\u0003\u0002\u0002\u0002\u07f8\u07f9\u0003", + "\u0002\u0002\u0002\u07f9\u0815\u0007\u040d\u0002\u0002\u07fa\u07fb\u0007", + "J\u0002\u0002\u07fb\u07fd\u0007\u014c\u0002\u0002\u07fc\u07fe\u0007", + "\u03f5\u0002\u0002\u07fd\u07fc\u0003\u0002\u0002\u0002\u07fd\u07fe\u0003", + "\u0002\u0002\u0002\u07fe\u07ff\u0003\u0002\u0002\u0002\u07ff\u0815\u0007", + "\u040d\u0002\u0002\u0800\u0802\u0007\u01ae\u0002\u0002\u0801\u0803\u0007", + "\u03f5\u0002\u0002\u0802\u0801\u0003\u0002\u0002\u0002\u0802\u0803\u0003", + "\u0002\u0002\u0002\u0803\u0804\u0003\u0002\u0002\u0002\u0804\u0815\u0005", + "\u0214\u010b\u0002\u0805\u0807\u0007\u01b7\u0002\u0002\u0806\u0808\u0007", + "\u03f5\u0002\u0002\u0807\u0806\u0003\u0002\u0002\u0002\u0807\u0808\u0003", + "\u0002\u0002\u0002\u0808\u0809\u0003\u0002\u0002\u0002\u0809\u0815\u0005", + "\u0214\u010b\u0002\u080a\u080c\u0007\u022e\u0002\u0002\u080b\u080d\u0007", + "\u03f5\u0002\u0002\u080c\u080b\u0003\u0002\u0002\u0002\u080c\u080d\u0003", + "\u0002\u0002\u0002\u080d\u080e\u0003\u0002\u0002\u0002\u080e\u0815\u0005", + "\u020e\u0108\u0002\u080f\u0811\u0007\u01c3\u0002\u0002\u0810\u0812\u0007", + "\u03f5\u0002\u0002\u0811\u0810\u0003\u0002\u0002\u0002\u0811\u0812\u0003", + "\u0002\u0002\u0002\u0812\u0813\u0003\u0002\u0002\u0002\u0813\u0815\u0005", + "\u020e\u0108\u0002\u0814\u07e8\u0003\u0002\u0002\u0002\u0814\u07ef\u0003", + "\u0002\u0002\u0002\u0814\u07f4\u0003\u0002\u0002\u0002\u0814\u07fa\u0003", + "\u0002\u0002\u0002\u0814\u0800\u0003\u0002\u0002\u0002\u0814\u0805\u0003", + "\u0002\u0002\u0002\u0814\u080a\u0003\u0002\u0002\u0002\u0814\u080f\u0003", + "\u0002\u0002\u0002\u0815s\u0003\u0002\u0002\u0002\u0816\u0817\u0007", + "\t\u0002\u0002\u0817\u0819\t\u0002\u0002\u0002\u0818\u081a\u0005\u020e", + "\u0108\u0002\u0819\u0818\u0003\u0002\u0002\u0002\u0819\u081a\u0003\u0002", + "\u0002\u0002\u081a\u081c\u0003\u0002\u0002\u0002\u081b\u081d\u00054", + "\u001b\u0002\u081c\u081b\u0003\u0002\u0002\u0002\u081d\u081e\u0003\u0002", + "\u0002\u0002\u081e\u081c\u0003\u0002\u0002\u0002\u081e\u081f\u0003\u0002", + "\u0002\u0002\u081f\u0829\u0003\u0002\u0002\u0002\u0820\u0821\u0007\t", + "\u0002\u0002\u0821\u0822\t\u0002\u0002\u0002\u0822\u0823\u0005\u020e", + "\u0108\u0002\u0823\u0824\u0007\u023d\u0002\u0002\u0824\u0825\u0007\u0145", + "\u0002\u0002\u0825\u0826\u0007\u014c\u0002\u0002\u0826\u0827\u0007\u01bd", + "\u0002\u0002\u0827\u0829\u0003\u0002\u0002\u0002\u0828\u0816\u0003\u0002", + "\u0002\u0002\u0828\u0820\u0003\u0002\u0002\u0002\u0829u\u0003\u0002", + "\u0002\u0002\u082a\u082c\u0007\t\u0002\u0002\u082b\u082d\u00056\u001c", + "\u0002\u082c\u082b\u0003\u0002\u0002\u0002\u082c\u082d\u0003\u0002\u0002", + "\u0002\u082d\u082e\u0003\u0002\u0002\u0002\u082e\u082f\u0007\u015e\u0002", + "\u0002\u082f\u0833\u0005\u01f4\u00fb\u0002\u0830\u0831\u0007l\u0002", + "\u0002\u0831\u0832\u0007\u0205\u0002\u0002\u0832\u0834\u00058\u001d", + "\u0002\u0833\u0830\u0003\u0002\u0002\u0002\u0833\u0834\u0003\u0002\u0002", + "\u0002\u0834\u083b\u0003\u0002\u0002\u0002\u0835\u0836\u0007l\u0002", + "\u0002\u0836\u0838\u0007\u0136\u0002\u0002\u0837\u0839\u0007h\u0002", + "\u0002\u0838\u0837\u0003\u0002\u0002\u0002\u0838\u0839\u0003\u0002\u0002", + "\u0002\u0839\u083a\u0003\u0002\u0002\u0002\u083a\u083c\u0007\u01de\u0002", + "\u0002\u083b\u0835\u0003\u0002\u0002\u0002\u083b\u083c\u0003\u0002\u0002", + "\u0002\u083c\u0840\u0003\u0002\u0002\u0002\u083d\u083e\u0007\u007f\u0002", + "\u0002\u083e\u083f\u0007\u009f\u0002\u0002\u083f\u0841\u0005\u01f4\u00fb", + "\u0002\u0840\u083d\u0003\u0002\u0002\u0002\u0840\u0841\u0003\u0002\u0002", + "\u0002\u0841\u0843\u0003\u0002\u0002\u0002\u0842\u0844\u0005@!\u0002", + "\u0843\u0842\u0003\u0002\u0002\u0002\u0843\u0844\u0003\u0002\u0002\u0002", + "\u0844\u0847\u0003\u0002\u0002\u0002\u0845\u0846\u0007\u0133\u0002\u0002", + "\u0846\u0848\u0007\u040d\u0002\u0002\u0847\u0845\u0003\u0002\u0002\u0002", + "\u0847\u0848\u0003\u0002\u0002\u0002\u0848\u084b\u0003\u0002\u0002\u0002", + "\u0849\u084a\u0007\u0150\u0002\u0002\u084a\u084c\u0005\u015c\u00af\u0002", + "\u084b\u0849\u0003\u0002\u0002\u0002\u084b\u084c\u0003\u0002\u0002\u0002", + "\u084cw\u0003\u0002\u0002\u0002\u084d\u084e\u0007\t\u0002\u0002\u084e", + "\u084f\u0007\u0172\u0002\u0002\u084f\u0853\u0005\u01f4\u00fb\u0002\u0850", + "\u0852\u0005J&\u0002\u0851\u0850\u0003\u0002\u0002\u0002\u0852\u0855", + "\u0003\u0002\u0002\u0002\u0853\u0851\u0003\u0002\u0002\u0002\u0853\u0854", + "\u0003\u0002\u0002\u0002\u0854y\u0003\u0002\u0002\u0002\u0855\u0853", + "\u0003\u0002\u0002\u0002\u0856\u0857\u0007\t\u0002\u0002\u0857\u0858", + "\u0007\u0184\u0002\u0002\u0858\u0859\u0007\u0200\u0002\u0002\u0859\u085a", + "\u0007\u02ab\u0002\u0002\u085a\u085b\u0007\u0197\u0002\u0002\u085b\u085c", + "\u0007T\u0002\u0002\u085c{\u0003\u0002\u0002\u0002\u085d\u085e\u0007", + "\t\u0002\u0002\u085e\u085f\u0007\u0195\u0002\u0002\u085f\u0860\u0007", + "D\u0002\u0002\u0860\u0861\u0005\u020e\u0108\u0002\u0861\u0862\u0007", + "\u0007\u0002\u0002\u0862\u0863\u0007\u0238\u0002\u0002\u0863\u0869\u0007", + "\u040d\u0002\u0002\u0864\u0866\u0007\u0180\u0002\u0002\u0865\u0867\u0007", + "\u03f5\u0002\u0002\u0866\u0865\u0003\u0002\u0002\u0002\u0866\u0867\u0003", + "\u0002\u0002\u0002\u0867\u0868\u0003\u0002\u0002\u0002\u0868\u086a\u0005", + "\u0216\u010c\u0002\u0869\u0864\u0003\u0002\u0002\u0002\u0869\u086a\u0003", + "\u0002\u0002\u0002\u086a\u086c\u0003\u0002\u0002\u0002\u086b\u086d\u0007", + "\u0247\u0002\u0002\u086c\u086b\u0003\u0002\u0002\u0002\u086c\u086d\u0003", + "\u0002\u0002\u0002\u086d\u086e\u0003\u0002\u0002\u0002\u086e\u0870\u0007", + "\u0158\u0002\u0002\u086f\u0871\u0007\u03f5\u0002\u0002\u0870\u086f\u0003", + "\u0002\u0002\u0002\u0870\u0871\u0003\u0002\u0002\u0002\u0871\u0872\u0003", + "\u0002\u0002\u0002\u0872\u0873\u0005\u0204\u0103\u0002\u0873}\u0003", + "\u0002\u0002\u0002\u0874\u0875\u0007\t\u0002\u0002\u0875\u0876\u0007", + "w\u0002\u0002\u0876\u087a\u0005\u01f4\u00fb\u0002\u0877\u0879\u0005", + "J&\u0002\u0878\u0877\u0003\u0002\u0002\u0002\u0879\u087c\u0003\u0002", + "\u0002\u0002\u087a\u0878\u0003\u0002\u0002\u0002\u087a\u087b\u0003\u0002", + "\u0002\u0002\u087b\u007f\u0003\u0002\u0002\u0002\u087c\u087a\u0003\u0002", + "\u0002\u0002\u087d\u087e\u0007\t\u0002\u0002\u087e\u087f\u0007\u0207", + "\u0002\u0002\u087f\u0880\u0005\u020e\u0108\u0002\u0880\u0881\u0007\u01ce", + "\u0002\u0002\u0881\u0882\u0007\u03fe\u0002\u0002\u0882\u0887\u0005L", + "\'\u0002\u0883\u0884\u0007\u0400\u0002\u0002\u0884\u0886\u0005L\'\u0002", + "\u0885\u0883\u0003\u0002\u0002\u0002\u0886\u0889\u0003\u0002\u0002\u0002", + "\u0887\u0885\u0003\u0002\u0002\u0002\u0887\u0888\u0003\u0002\u0002\u0002", + "\u0888\u088a\u0003\u0002\u0002\u0002\u0889\u0887\u0003\u0002\u0002\u0002", + "\u088a\u088b\u0007\u03ff\u0002\u0002\u088b\u0081\u0003\u0002\u0002\u0002", + "\u088c\u088e\u0007\t\u0002\u0002\u088d\u088f\t\u0003\u0002\u0002\u088e", + "\u088d\u0003\u0002\u0002\u0002\u088e\u088f\u0003\u0002\u0002\u0002\u088f", + "\u0891\u0003\u0002\u0002\u0002\u0890\u0892\u0007H\u0002\u0002\u0891", + "\u0890\u0003\u0002\u0002\u0002\u0891\u0892\u0003\u0002\u0002\u0002\u0892", + "\u0893\u0003\u0002\u0002\u0002\u0893\u0894\u0007\u009c\u0002\u0002\u0894", + "\u089d\u0005\u01f6\u00fc\u0002\u0895\u089a\u0005\u0088E\u0002\u0896", + "\u0897\u0007\u0400\u0002\u0002\u0897\u0899\u0005\u0088E\u0002\u0898", + "\u0896\u0003\u0002\u0002\u0002\u0899\u089c\u0003\u0002\u0002\u0002\u089a", + "\u0898\u0003\u0002\u0002\u0002\u089a\u089b\u0003\u0002\u0002\u0002\u089b", + "\u089e\u0003\u0002\u0002\u0002\u089c\u089a\u0003\u0002\u0002\u0002\u089d", + "\u0895\u0003\u0002\u0002\u0002\u089d\u089e\u0003\u0002\u0002\u0002\u089e", + "\u08a0\u0003\u0002\u0002\u0002\u089f\u08a1\u0005d3\u0002\u08a0\u089f", + "\u0003\u0002\u0002\u0002\u08a0\u08a1\u0003\u0002\u0002\u0002\u08a1\u0083", + "\u0003\u0002\u0002\u0002\u08a2\u08a3\u0007\t\u0002\u0002\u08a3\u08a4", + "\u0007\u022e\u0002\u0002\u08a4\u08a5\u0005\u020e\u0108\u0002\u08a5\u08a6", + "\t\u001e\u0002\u0002\u08a6\u08a7\u0007\u0146\u0002\u0002\u08a7\u08ab", + "\u0007\u040d\u0002\u0002\u08a8\u08a9\u0007\u0180\u0002\u0002\u08a9\u08aa", + "\u0007\u03f5\u0002\u0002\u08aa\u08ac\u0005\u0216\u010c\u0002\u08ab\u08a8", + "\u0003\u0002\u0002\u0002\u08ab\u08ac\u0003\u0002\u0002\u0002\u08ac\u08ae", + "\u0003\u0002\u0002\u0002\u08ad\u08af\u0007\u0247\u0002\u0002\u08ae\u08ad", + "\u0003\u0002\u0002\u0002\u08ae\u08af\u0003\u0002\u0002\u0002\u08af\u08b0", + "\u0003\u0002\u0002\u0002\u08b0\u08b2\u0007\u0158\u0002\u0002\u08b1\u08b3", + "\u0007\u03f5\u0002\u0002\u08b2\u08b1\u0003\u0002\u0002\u0002\u08b2\u08b3", + "\u0003\u0002\u0002\u0002\u08b3\u08b4\u0003\u0002\u0002\u0002\u08b4\u08b5", + "\u0005\u0204\u0103\u0002\u08b5\u0085\u0003\u0002\u0002\u0002\u08b6\u08ba", + "\u0007\t\u0002\u0002\u08b7\u08b8\u0007\u0114\u0002\u0002\u08b8\u08b9", + "\u0007\u03f5\u0002\u0002\u08b9\u08bb\t\f\u0002\u0002\u08ba\u08b7\u0003", + "\u0002\u0002\u0002\u08ba\u08bb\u0003\u0002\u0002\u0002\u08bb\u08bd\u0003", + "\u0002\u0002\u0002\u08bc\u08be\u00056\u001c\u0002\u08bd\u08bc\u0003", + "\u0002\u0002\u0002\u08bd\u08be\u0003\u0002\u0002\u0002\u08be\u08c2\u0003", + "\u0002\u0002\u0002\u08bf\u08c0\u0007\u0091\u0002\u0002\u08c0\u08c1\u0007", + "\u0206\u0002\u0002\u08c1\u08c3\t\r\u0002\u0002\u08c2\u08bf\u0003\u0002", + "\u0002\u0002\u08c2\u08c3\u0003\u0002\u0002\u0002\u08c3\u08c4\u0003\u0002", + "\u0002\u0002\u08c4\u08c5\u0007\u0244\u0002\u0002\u08c5\u08ca\u0005\u01f4", + "\u00fb\u0002\u08c6\u08c7\u0007\u03fe\u0002\u0002\u08c7\u08c8\u0005\u022e", + "\u0118\u0002\u08c8\u08c9\u0007\u03ff\u0002\u0002\u08c9\u08cb\u0003\u0002", + "\u0002\u0002\u08ca\u08c6\u0003\u0002\u0002\u0002\u08ca\u08cb\u0003\u0002", + "\u0002\u0002\u08cb\u08cc\u0003\u0002\u0002\u0002\u08cc\u08cd\u0007\r", + "\u0002\u0002\u08cd\u08d4\u0005\u00b6\\\u0002\u08ce\u08d0\u0007\u00b0", + "\u0002\u0002\u08cf\u08d1\t\u000e\u0002\u0002\u08d0\u08cf\u0003\u0002", + "\u0002\u0002\u08d0\u08d1\u0003\u0002\u0002\u0002\u08d1\u08d2\u0003\u0002", + "\u0002\u0002\u08d2\u08d3\u0007\u0019\u0002\u0002\u08d3\u08d5\u0007n", + "\u0002\u0002\u08d4\u08ce\u0003\u0002\u0002\u0002\u08d4\u08d5\u0003\u0002", + "\u0002\u0002\u08d5\u0087\u0003\u0002\u0002\u0002\u08d6\u08dd\u0005`", + "1\u0002\u08d7\u08d9\u0007\u0400\u0002\u0002\u08d8\u08d7\u0003\u0002", + "\u0002\u0002\u08d8\u08d9\u0003\u0002\u0002\u0002\u08d9\u08da\u0003\u0002", + "\u0002\u0002\u08da\u08dc\u0005`1\u0002\u08db\u08d8\u0003\u0002\u0002", + "\u0002\u08dc\u08df\u0003\u0002\u0002\u0002\u08dd\u08db\u0003\u0002\u0002", + "\u0002\u08dd\u08de\u0003\u0002\u0002\u0002\u08de\u0a42\u0003\u0002\u0002", + "\u0002\u08df\u08dd\u0003\u0002\u0002\u0002\u08e0\u08e2\u0007\u0007\u0002", + "\u0002\u08e1\u08e3\u0007\u001b\u0002\u0002\u08e2\u08e1\u0003\u0002\u0002", + "\u0002\u08e2\u08e3\u0003\u0002\u0002\u0002\u08e3\u08e4\u0003\u0002\u0002", + "\u0002\u08e4\u08e5\u0005\u020e\u0108\u0002\u08e5\u08e9\u0005R*\u0002", + "\u08e6\u08ea\u0007\u016c\u0002\u0002\u08e7\u08e8\u0007\u0112\u0002\u0002", + "\u08e8\u08ea\u0005\u020e\u0108\u0002\u08e9\u08e6\u0003\u0002\u0002\u0002", + "\u08e9\u08e7\u0003\u0002\u0002\u0002\u08e9\u08ea\u0003\u0002\u0002\u0002", + "\u08ea\u0a42\u0003\u0002\u0002\u0002\u08eb\u08ed\u0007\u0007\u0002\u0002", + "\u08ec\u08ee\u0007\u001b\u0002\u0002\u08ed\u08ec\u0003\u0002\u0002\u0002", + "\u08ed\u08ee\u0003\u0002\u0002\u0002\u08ee\u08ef\u0003\u0002\u0002\u0002", + "\u08ef\u08f0\u0007\u03fe\u0002\u0002\u08f0\u08f1\u0005\u020e\u0108\u0002", + "\u08f1\u08f8\u0005R*\u0002\u08f2\u08f3\u0007\u0400\u0002\u0002\u08f3", + "\u08f4\u0005\u020e\u0108\u0002\u08f4\u08f5\u0005R*\u0002\u08f5\u08f7", + "\u0003\u0002\u0002\u0002\u08f6\u08f2\u0003\u0002\u0002\u0002\u08f7\u08fa", + "\u0003\u0002\u0002\u0002\u08f8\u08f6\u0003\u0002\u0002\u0002\u08f8\u08f9", + "\u0003\u0002\u0002\u0002\u08f9\u08fb\u0003\u0002\u0002\u0002\u08fa\u08f8", + "\u0003\u0002\u0002\u0002\u08fb\u08fc\u0007\u03ff\u0002\u0002\u08fc\u0a42", + "\u0003\u0002\u0002\u0002\u08fd\u08fe\u0007\u0007\u0002\u0002\u08fe\u0900", + "\t\u0014\u0002\u0002\u08ff\u0901\u0005\u020e\u0108\u0002\u0900\u08ff", + "\u0003\u0002\u0002\u0002\u0900\u0901\u0003\u0002\u0002\u0002\u0901\u0903", + "\u0003\u0002\u0002\u0002\u0902\u0904\u0005B\"\u0002\u0903\u0902\u0003", + "\u0002\u0002\u0002\u0903\u0904\u0003\u0002\u0002\u0002\u0904\u0905\u0003", + "\u0002\u0002\u0002\u0905\u0909\u0005\u0232\u011a\u0002\u0906\u0908\u0005", + "D#\u0002\u0907\u0906\u0003\u0002\u0002\u0002\u0908\u090b\u0003\u0002", + "\u0002\u0002\u0909\u0907\u0003\u0002\u0002\u0002\u0909\u090a\u0003\u0002", + "\u0002\u0002\u090a\u0a42\u0003\u0002\u0002\u0002\u090b\u0909\u0003\u0002", + "\u0002\u0002\u090c\u0911\u0007\u0007\u0002\u0002\u090d\u090f\u0007\u001d", + "\u0002\u0002\u090e\u0910\u0005\u020e\u0108\u0002\u090f\u090e\u0003\u0002", + "\u0002\u0002\u090f\u0910\u0003\u0002\u0002\u0002\u0910\u0912\u0003\u0002", + "\u0002\u0002\u0911\u090d\u0003\u0002\u0002\u0002\u0911\u0912\u0003\u0002", + "\u0002\u0002\u0912\u0913\u0003\u0002\u0002\u0002\u0913\u0914\u0007v", + "\u0002\u0002\u0914\u0916\u0007T\u0002\u0002\u0915\u0917\u0005\u020e", + "\u0108\u0002\u0916\u0915\u0003\u0002\u0002\u0002\u0916\u0917\u0003\u0002", + "\u0002\u0002\u0917\u0919\u0003\u0002\u0002\u0002\u0918\u091a\u0005B", + "\"\u0002\u0919\u0918\u0003\u0002\u0002\u0002\u0919\u091a\u0003\u0002", + "\u0002\u0002\u091a\u091b\u0003\u0002\u0002\u0002\u091b\u091f\u0005\u0232", + "\u011a\u0002\u091c\u091e\u0005D#\u0002\u091d\u091c\u0003\u0002\u0002", + "\u0002\u091e\u0921\u0003\u0002\u0002\u0002\u091f\u091d\u0003\u0002\u0002", + "\u0002\u091f\u0920\u0003\u0002\u0002\u0002\u0920\u0a42\u0003\u0002\u0002", + "\u0002\u0921\u091f\u0003\u0002\u0002\u0002\u0922\u0927\u0007\u0007\u0002", + "\u0002\u0923\u0925\u0007\u001d\u0002\u0002\u0924\u0926\u0005\u020e\u0108", + "\u0002\u0925\u0924\u0003\u0002\u0002\u0002\u0925\u0926\u0003\u0002\u0002", + "\u0002\u0926\u0928\u0003\u0002\u0002\u0002\u0927\u0923\u0003\u0002\u0002", + "\u0002\u0927\u0928\u0003\u0002\u0002\u0002\u0928\u0929\u0003\u0002\u0002", + "\u0002\u0929\u092b\u0007\u00a5\u0002\u0002\u092a\u092c\t\u0014\u0002", + "\u0002\u092b\u092a\u0003\u0002\u0002\u0002\u092b\u092c\u0003\u0002\u0002", + "\u0002\u092c\u092e\u0003\u0002\u0002\u0002\u092d\u092f\u0005\u020e\u0108", + "\u0002\u092e\u092d\u0003\u0002\u0002\u0002\u092e\u092f\u0003\u0002\u0002", + "\u0002\u092f\u0931\u0003\u0002\u0002\u0002\u0930\u0932\u0005B\"\u0002", + "\u0931\u0930\u0003\u0002\u0002\u0002\u0931\u0932\u0003\u0002\u0002\u0002", + "\u0932\u0933\u0003\u0002\u0002\u0002\u0933\u0937\u0005\u0232\u011a\u0002", + "\u0934\u0936\u0005D#\u0002\u0935\u0934\u0003\u0002\u0002\u0002\u0936", + "\u0939\u0003\u0002\u0002\u0002\u0937\u0935\u0003\u0002\u0002\u0002\u0937", + "\u0938\u0003\u0002\u0002\u0002\u0938\u0a42\u0003\u0002\u0002\u0002\u0939", + "\u0937\u0003\u0002\u0002\u0002\u093a\u093b\u0007\u0007\u0002\u0002\u093b", + "\u093d\t\u0016\u0002\u0002\u093c\u093e\t\u0014\u0002\u0002\u093d\u093c", + "\u0003\u0002\u0002\u0002\u093d\u093e\u0003\u0002\u0002\u0002\u093e\u0940", + "\u0003\u0002\u0002\u0002\u093f\u0941\u0005\u020e\u0108\u0002\u0940\u093f", + "\u0003\u0002\u0002\u0002\u0940\u0941\u0003\u0002\u0002\u0002\u0941\u0942", + "\u0003\u0002\u0002\u0002\u0942\u0946\u0005\u0232\u011a\u0002\u0943\u0945", + "\u0005D#\u0002\u0944\u0943\u0003\u0002\u0002\u0002\u0945\u0948\u0003", + "\u0002\u0002\u0002\u0946\u0944\u0003\u0002\u0002\u0002\u0946\u0947\u0003", + "\u0002\u0002\u0002\u0947\u0a42\u0003\u0002\u0002\u0002\u0948\u0946\u0003", + "\u0002\u0002\u0002\u0949\u094e\u0007\u0007\u0002\u0002\u094a\u094c\u0007", + "\u001d\u0002\u0002\u094b\u094d\u0005\u020e\u0108\u0002\u094c\u094b\u0003", + "\u0002\u0002\u0002\u094c\u094d\u0003\u0002\u0002\u0002\u094d\u094f\u0003", + "\u0002\u0002\u0002\u094e\u094a\u0003\u0002\u0002\u0002\u094e\u094f\u0003", + "\u0002\u0002\u0002\u094f\u0950\u0003\u0002\u0002\u0002\u0950\u0951\u0007", + ">\u0002\u0002\u0951\u0953\u0007T\u0002\u0002\u0952\u0954\u0005\u020e", + "\u0108\u0002\u0953\u0952\u0003\u0002\u0002\u0002\u0953\u0954\u0003\u0002", + "\u0002\u0002\u0954\u0955\u0003\u0002\u0002\u0002\u0955\u0956\u0005\u0232", + "\u011a\u0002\u0956\u0957\u0005X-\u0002\u0957\u0a42\u0003\u0002\u0002", + "\u0002\u0958\u095d\u0007\u0007\u0002\u0002\u0959\u095b\u0007\u001d\u0002", + "\u0002\u095a\u095c\u0005\u020e\u0108\u0002\u095b\u095a\u0003\u0002\u0002", + "\u0002\u095b\u095c\u0003\u0002\u0002\u0002\u095c\u095e\u0003\u0002\u0002", + "\u0002\u095d\u0959\u0003\u0002\u0002\u0002\u095d\u095e\u0003\u0002\u0002", + "\u0002\u095e\u095f\u0003\u0002\u0002\u0002\u095f\u0960\u0007\u0019\u0002", + "\u0002\u0960\u0961\u0007\u03fe\u0002\u0002\u0961\u0962\u0005\u025c\u012f", + "\u0002\u0962\u0963\u0007\u03ff\u0002\u0002\u0963\u0a42\u0003\u0002\u0002", + "\u0002\u0964\u0966\u0007\u0114\u0002\u0002\u0965\u0967\u0007\u03f5\u0002", + "\u0002\u0966\u0965\u0003\u0002\u0002\u0002\u0966\u0967\u0003\u0002\u0002", + "\u0002\u0967\u0968\u0003\u0002\u0002\u0002\u0968\u0a42\t\u0005\u0002", + "\u0002\u0969\u096b\u0007\t\u0002\u0002\u096a\u096c\u0007\u001b\u0002", + "\u0002\u096b\u096a\u0003\u0002\u0002\u0002\u096b\u096c\u0003\u0002\u0002", + "\u0002\u096c\u096d\u0003\u0002\u0002\u0002\u096d\u0973\u0005\u020e\u0108", + "\u0002\u096e\u096f\u0007\u008c\u0002\u0002\u096f\u0970\u0007(\u0002", + "\u0002\u0970\u0974\u0005\u023e\u0120\u0002\u0971\u0972\u00071\u0002", + "\u0002\u0972\u0974\u0007(\u0002\u0002\u0973\u096e\u0003\u0002\u0002", + "\u0002\u0973\u0971\u0003\u0002\u0002\u0002\u0974\u0a42\u0003\u0002\u0002", + "\u0002\u0975\u0977\u0007\u0017\u0002\u0002\u0976\u0978\u0007\u001b\u0002", + "\u0002\u0977\u0976\u0003\u0002\u0002\u0002\u0977\u0978\u0003\u0002\u0002", + "\u0002\u0978\u0979\u0003\u0002\u0002\u0002\u0979\u097a\u0005\u020e\u0108", + "\u0002\u097a\u097b\u0005\u020e\u0108\u0002\u097b\u097f\u0005R*\u0002", + "\u097c\u0980\u0007\u016c\u0002\u0002\u097d\u097e\u0007\u0112\u0002\u0002", + "\u097e\u0980\u0005\u020e\u0108\u0002\u097f\u097c\u0003\u0002\u0002\u0002", + "\u097f\u097d\u0003\u0002\u0002\u0002\u097f\u0980\u0003\u0002\u0002\u0002", + "\u0980\u0a42\u0003\u0002\u0002\u0002\u0981\u0982\u0007\u007f\u0002\u0002", + "\u0982\u0983\u0007\u001b\u0002\u0002\u0983\u0984\u0005\u020e\u0108\u0002", + "\u0984\u0985\u0007\u009f\u0002\u0002\u0985\u0986\u0005\u020e\u0108\u0002", + "\u0986\u0a42\u0003\u0002\u0002\u0002\u0987\u0989\u0007_\u0002\u0002", + "\u0988\u098a\u0007\u03f5\u0002\u0002\u0989\u0988\u0003\u0002\u0002\u0002", + "\u0989\u098a\u0003\u0002\u0002\u0002\u098a\u098b\u0003\u0002\u0002\u0002", + "\u098b\u0a42\t\u0006\u0002\u0002\u098c\u098e\u0007\u01b9\u0002\u0002", + "\u098d\u098f\u0007\u001b\u0002\u0002\u098e\u098d\u0003\u0002\u0002\u0002", + "\u098e\u098f\u0003\u0002\u0002\u0002\u098f\u0990\u0003\u0002\u0002\u0002", + "\u0990\u0991\u0005\u020e\u0108\u0002\u0991\u0995\u0005R*\u0002\u0992", + "\u0996\u0007\u016c\u0002\u0002\u0993\u0994\u0007\u0112\u0002\u0002\u0994", + "\u0996\u0005\u020e\u0108\u0002\u0995\u0992\u0003\u0002\u0002\u0002\u0995", + "\u0993\u0003\u0002\u0002\u0002\u0995\u0996\u0003\u0002\u0002\u0002\u0996", + "\u0a42\u0003\u0002\u0002\u0002\u0997\u0999\u00071\u0002\u0002\u0998", + "\u099a\u0007\u001b\u0002\u0002\u0999\u0998\u0003\u0002\u0002\u0002\u0999", + "\u099a\u0003\u0002\u0002\u0002\u099a\u099b\u0003\u0002\u0002\u0002\u099b", + "\u099d\u0005\u020e\u0108\u0002\u099c\u099e\u0007\u0084\u0002\u0002\u099d", + "\u099c\u0003\u0002\u0002\u0002\u099d\u099e\u0003\u0002\u0002\u0002\u099e", + "\u0a42\u0003\u0002\u0002\u0002\u099f\u09a0\u00071\u0002\u0002\u09a0", + "\u09a1\u0007v\u0002\u0002\u09a1\u0a42\u0007T\u0002\u0002\u09a2\u09a3", + "\u0007\u007f\u0002\u0002\u09a3\u09a4\t\u0014\u0002\u0002\u09a4\u09a5", + "\u0005\u020e\u0108\u0002\u09a5\u09a6\u0007\u009f\u0002\u0002\u09a6\u09a7", + "\u0005\u020e\u0108\u0002\u09a7\u0a42\u0003\u0002\u0002\u0002\u09a8\u09a9", + "\u0007\t\u0002\u0002\u09a9\u09aa\u0007J\u0002\u0002\u09aa\u09ab\u0005", + "\u020e\u0108\u0002\u09ab\u09ac\t\u001f\u0002\u0002\u09ac\u0a42\u0003", + "\u0002\u0002\u0002\u09ad\u09ae\u00071\u0002\u0002\u09ae\u09af\t\u0014", + "\u0002\u0002\u09af\u0a42\u0005\u020e\u0108\u0002\u09b0\u09b1\u00071", + "\u0002\u0002\u09b1\u09b2\u0007>\u0002\u0002\u09b2\u09b3\u0007T\u0002", + "\u0002\u09b3\u0a42\u0005\u020e\u0108\u0002\u09b4\u09b5\u0007\u014d\u0002", + "\u0002\u09b5\u0a42\u0007U\u0002\u0002\u09b6\u09b7\u0007\u0154\u0002", + "\u0002\u09b7\u0a42\u0007U\u0002\u0002\u09b8\u09ba\u0007\u007f\u0002", + "\u0002\u09b9\u09bb\t \u0002\u0002\u09ba\u09b9\u0003\u0002\u0002\u0002", + "\u09ba\u09bb\u0003\u0002\u0002\u0002\u09bb\u09be\u0003\u0002\u0002\u0002", + "\u09bc\u09bf\u0005\u020e\u0108\u0002\u09bd\u09bf\u0005\u01f4\u00fb\u0002", + "\u09be\u09bc\u0003\u0002\u0002\u0002\u09be\u09bd\u0003\u0002\u0002\u0002", + "\u09bf\u0a42\u0003\u0002\u0002\u0002\u09c0\u09c1\u0007q\u0002\u0002", + "\u09c1\u09c2\u0007\u0012\u0002\u0002\u09c2\u0a42\u0005\u022e\u0118\u0002", + "\u09c3\u09c4\u0007\u001f\u0002\u0002\u09c4\u09c5\u0007\u009f\u0002\u0002", + "\u09c5\u09c6\u0007\u0018\u0002\u0002\u09c6\u09c7\u0007\u008c\u0002\u0002", + "\u09c7\u09ca\u0005\u0200\u0101\u0002\u09c8\u09c9\u0007\u001a\u0002\u0002", + "\u09c9\u09cb\u0005\u0202\u0102\u0002\u09ca\u09c8\u0003\u0002\u0002\u0002", + "\u09ca\u09cb\u0003\u0002\u0002\u0002\u09cb\u0a42\u0003\u0002\u0002\u0002", + "\u09cc\u09ce\u0007(\u0002\u0002\u09cd\u09cc\u0003\u0002\u0002\u0002", + "\u09cd\u09ce\u0003\u0002\u0002\u0002\u09ce\u09cf\u0003\u0002\u0002\u0002", + "\u09cf\u09d0\u0007\u0018\u0002\u0002\u09d0\u09d1\u0007\u008c\u0002\u0002", + "\u09d1\u09d2\u0007\u03f5\u0002\u0002\u09d2\u09d6\u0005\u0200\u0101\u0002", + "\u09d3\u09d4\u0007\u001a\u0002\u0002\u09d4\u09d5\u0007\u03f5\u0002\u0002", + "\u09d5\u09d7\u0005\u0202\u0102\u0002\u09d6\u09d3\u0003\u0002\u0002\u0002", + "\u09d6\u09d7\u0003\u0002\u0002\u0002\u09d7\u0a42\u0003\u0002\u0002\u0002", + "\u09d8\u09d9\u0007\u014e\u0002\u0002\u09d9\u0a42\u0007\u022e\u0002\u0002", + "\u09da\u09db\u0007\u017e\u0002\u0002\u09db\u0a42\u0007\u022e\u0002\u0002", + "\u09dc\u0a42\u0007=\u0002\u0002\u09dd\u09de\t!\u0002\u0002\u09de\u0a42", + "\u0007\u0241\u0002\u0002\u09df\u09e0\u0007\u0007\u0002\u0002\u09e0\u09e1", + "\u0007u\u0002\u0002\u09e1\u09e2\u0007\u03fe\u0002\u0002\u09e2\u09e7", + "\u0005j6\u0002\u09e3\u09e4\u0007\u0400\u0002\u0002\u09e4\u09e6\u0005", + "j6\u0002\u09e5\u09e3\u0003\u0002\u0002\u0002\u09e6\u09e9\u0003\u0002", + "\u0002\u0002\u09e7\u09e5\u0003\u0002\u0002\u0002\u09e7\u09e8\u0003\u0002", + "\u0002\u0002\u09e8\u09ea\u0003\u0002\u0002\u0002\u09e9\u09e7\u0003\u0002", + "\u0002\u0002\u09ea\u09eb\u0007\u03ff\u0002\u0002\u09eb\u0a42\u0003\u0002", + "\u0002\u0002\u09ec\u09ed\u00071\u0002\u0002\u09ed\u09ee\u0007u\u0002", + "\u0002\u09ee\u0a42\u0005\u022e\u0118\u0002\u09ef\u09f0\u0007\u014e\u0002", + "\u0002\u09f0\u09f3\u0007u\u0002\u0002\u09f1\u09f4\u0005\u022e\u0118", + "\u0002\u09f2\u09f4\u0007\b\u0002\u0002\u09f3\u09f1\u0003\u0002\u0002", + "\u0002\u09f3\u09f2\u0003\u0002\u0002\u0002\u09f4\u09f5\u0003\u0002\u0002", + "\u0002\u09f5\u0a42\u0007\u022e\u0002\u0002\u09f6\u09f7\u0007\u017e\u0002", + "\u0002\u09f7\u09fa\u0007u\u0002\u0002\u09f8\u09fb\u0005\u022e\u0118", + "\u0002\u09f9\u09fb\u0007\b\u0002\u0002\u09fa\u09f8\u0003\u0002\u0002", + "\u0002\u09fa\u09f9\u0003\u0002\u0002\u0002\u09fb\u09fc\u0003\u0002\u0002", + "\u0002\u09fc\u0a42\u0007\u022e\u0002\u0002\u09fd\u09fe\u0007\u0236\u0002", + "\u0002\u09fe\u0a01\u0007u\u0002\u0002\u09ff\u0a02\u0005\u022e\u0118", + "\u0002\u0a00\u0a02\u0007\b\u0002\u0002\u0a01\u09ff\u0003\u0002\u0002", + "\u0002\u0a01\u0a00\u0003\u0002\u0002\u0002\u0a02\u0a42\u0003\u0002\u0002", + "\u0002\u0a03\u0a04\u0007\u012e\u0002\u0002\u0a04\u0a05\u0007u\u0002", + "\u0002\u0a05\u0a42\u0005\u0214\u010b\u0002\u0a06\u0a07\u0007\u01ef\u0002", + "\u0002\u0a07\u0a08\u0007u\u0002\u0002\u0a08\u0a09\u0005\u022e\u0118", + "\u0002\u0a09\u0a0a\u0007P\u0002\u0002\u0a0a\u0a0b\u0007\u03fe\u0002", + "\u0002\u0a0b\u0a10\u0005j6\u0002\u0a0c\u0a0d\u0007\u0400\u0002\u0002", + "\u0a0d\u0a0f\u0005j6\u0002\u0a0e\u0a0c\u0003\u0002\u0002\u0002\u0a0f", + "\u0a12\u0003\u0002\u0002\u0002\u0a10\u0a0e\u0003\u0002\u0002\u0002\u0a10", + "\u0a11\u0003\u0002\u0002\u0002\u0a11\u0a13\u0003\u0002\u0002\u0002\u0a12", + "\u0a10\u0003\u0002\u0002\u0002\u0a13\u0a14\u0007\u03ff\u0002\u0002\u0a14", + "\u0a42\u0003\u0002\u0002\u0002\u0a15\u0a16\u0007\u0161\u0002\u0002\u0a16", + "\u0a17\u0007u\u0002\u0002\u0a17\u0a18\u0005\u020e\u0108\u0002\u0a18", + "\u0a19\u0007\u00b0\u0002\u0002\u0a19\u0a1a\u0007\u009c\u0002\u0002\u0a1a", + "\u0a1d\u0005\u01f6\u00fc\u0002\u0a1b\u0a1c\t!\u0002\u0002\u0a1c\u0a1e", + "\u0007\u0241\u0002\u0002\u0a1d\u0a1b\u0003\u0002\u0002\u0002\u0a1d\u0a1e", + "\u0003\u0002\u0002\u0002\u0a1e\u0a42\u0003\u0002\u0002\u0002\u0a1f\u0a20", + "\u0007\u000b\u0002\u0002\u0a20\u0a23\u0007u\u0002\u0002\u0a21\u0a24", + "\u0005\u022e\u0118\u0002\u0a22\u0a24\u0007\b\u0002\u0002\u0a23\u0a21", + "\u0003\u0002\u0002\u0002\u0a23\u0a22\u0003\u0002\u0002\u0002\u0a24\u0a42", + "\u0003\u0002\u0002\u0002\u0a25\u0a26\u0007\u0019\u0002\u0002\u0a26\u0a29", + "\u0007u\u0002\u0002\u0a27\u0a2a\u0005\u022e\u0118\u0002\u0a28\u0a2a", + "\u0007\b\u0002\u0002\u0a29\u0a27\u0003\u0002\u0002\u0002\u0a29\u0a28", + "\u0003\u0002\u0002\u0002\u0a2a\u0a42\u0003\u0002\u0002\u0002\u0a2b\u0a2c", + "\u0007m\u0002\u0002\u0a2c\u0a2f\u0007u\u0002\u0002\u0a2d\u0a30\u0005", + "\u022e\u0118\u0002\u0a2e\u0a30\u0007\b\u0002\u0002\u0a2f\u0a2d\u0003", + "\u0002\u0002\u0002\u0a2f\u0a2e\u0003\u0002\u0002\u0002\u0a30\u0a42\u0003", + "\u0002\u0002\u0002\u0a31\u0a32\u0007\u01e6\u0002\u0002\u0a32\u0a35\u0007", + "u\u0002\u0002\u0a33\u0a36\u0005\u022e\u0118\u0002\u0a34\u0a36\u0007", + "\b\u0002\u0002\u0a35\u0a33\u0003\u0002\u0002\u0002\u0a35\u0a34\u0003", + "\u0002\u0002\u0002\u0a36\u0a42\u0003\u0002\u0002\u0002\u0a37\u0a38\u0007", + "\u01f0\u0002\u0002\u0a38\u0a3b\u0007u\u0002\u0002\u0a39\u0a3c\u0005", + "\u022e\u0118\u0002\u0a3a\u0a3c\u0007\b\u0002\u0002\u0a3b\u0a39\u0003", + "\u0002\u0002\u0002\u0a3b\u0a3a\u0003\u0002\u0002\u0002\u0a3c\u0a42\u0003", + "\u0002\u0002\u0002\u0a3d\u0a3e\u0007\u01ee\u0002\u0002\u0a3e\u0a42\u0007", + "\u01d4\u0002\u0002\u0a3f\u0a40\u0007\u023d\u0002\u0002\u0a40\u0a42\u0007", + "\u01d4\u0002\u0002\u0a41\u08d6\u0003\u0002\u0002\u0002\u0a41\u08e0\u0003", + "\u0002\u0002\u0002\u0a41\u08eb\u0003\u0002\u0002\u0002\u0a41\u08fd\u0003", + "\u0002\u0002\u0002\u0a41\u090c\u0003\u0002\u0002\u0002\u0a41\u0922\u0003", + "\u0002\u0002\u0002\u0a41\u093a\u0003\u0002\u0002\u0002\u0a41\u0949\u0003", + "\u0002\u0002\u0002\u0a41\u0958\u0003\u0002\u0002\u0002\u0a41\u0964\u0003", + "\u0002\u0002\u0002\u0a41\u0969\u0003\u0002\u0002\u0002\u0a41\u0975\u0003", + "\u0002\u0002\u0002\u0a41\u0981\u0003\u0002\u0002\u0002\u0a41\u0987\u0003", + "\u0002\u0002\u0002\u0a41\u098c\u0003\u0002\u0002\u0002\u0a41\u0997\u0003", + "\u0002\u0002\u0002\u0a41\u099f\u0003\u0002\u0002\u0002\u0a41\u09a2\u0003", + "\u0002\u0002\u0002\u0a41\u09a8\u0003\u0002\u0002\u0002\u0a41\u09ad\u0003", + "\u0002\u0002\u0002\u0a41\u09b0\u0003\u0002\u0002\u0002\u0a41\u09b4\u0003", + "\u0002\u0002\u0002\u0a41\u09b6\u0003\u0002\u0002\u0002\u0a41\u09b8\u0003", + "\u0002\u0002\u0002\u0a41\u09c0\u0003\u0002\u0002\u0002\u0a41\u09c3\u0003", + "\u0002\u0002\u0002\u0a41\u09cd\u0003\u0002\u0002\u0002\u0a41\u09d8\u0003", + "\u0002\u0002\u0002\u0a41\u09da\u0003\u0002\u0002\u0002\u0a41\u09dc\u0003", + "\u0002\u0002\u0002\u0a41\u09dd\u0003\u0002\u0002\u0002\u0a41\u09df\u0003", + "\u0002\u0002\u0002\u0a41\u09ec\u0003\u0002\u0002\u0002\u0a41\u09ef\u0003", + "\u0002\u0002\u0002\u0a41\u09f6\u0003\u0002\u0002\u0002\u0a41\u09fd\u0003", + "\u0002\u0002\u0002\u0a41\u0a03\u0003\u0002\u0002\u0002\u0a41\u0a06\u0003", + "\u0002\u0002\u0002\u0a41\u0a15\u0003\u0002\u0002\u0002\u0a41\u0a1f\u0003", + "\u0002\u0002\u0002\u0a41\u0a25\u0003\u0002\u0002\u0002\u0a41\u0a2b\u0003", + "\u0002\u0002\u0002\u0a41\u0a31\u0003\u0002\u0002\u0002\u0a41\u0a37\u0003", + "\u0002\u0002\u0002\u0a41\u0a3d\u0003\u0002\u0002\u0002\u0a41\u0a3f\u0003", + "\u0002\u0002\u0002\u0a42\u0089\u0003\u0002\u0002\u0002\u0a43\u0a44\u0007", + "1\u0002\u0002\u0a44\u0a46\t\u0002\u0002\u0002\u0a45\u0a47\u0005\u0244", + "\u0123\u0002\u0a46\u0a45\u0003\u0002\u0002\u0002\u0a46\u0a47\u0003\u0002", + "\u0002\u0002\u0a47\u0a48\u0003\u0002\u0002\u0002\u0a48\u0a49\u0005\u020e", + "\u0108\u0002\u0a49\u008b\u0003\u0002\u0002\u0002\u0a4a\u0a4b\u00071", + "\u0002\u0002\u0a4b\u0a4d\u0007\u015e\u0002\u0002\u0a4c\u0a4e\u0005\u0244", + "\u0123\u0002\u0a4d\u0a4c\u0003\u0002\u0002\u0002\u0a4d\u0a4e\u0003\u0002", + "\u0002\u0002\u0a4e\u0a4f\u0003\u0002\u0002\u0002\u0a4f\u0a50\u0005\u01f4", + "\u00fb\u0002\u0a50\u008d\u0003\u0002\u0002\u0002\u0a51\u0a52\u00071", + "\u0002\u0002\u0a52\u0a54\u0007J\u0002\u0002\u0a53\u0a55\t\u0003\u0002", + "\u0002\u0a54\u0a53\u0003\u0002\u0002\u0002\u0a54\u0a55\u0003\u0002\u0002", + "\u0002\u0a55\u0a56\u0003\u0002\u0002\u0002\u0a56\u0a57\u0005\u020e\u0108", + "\u0002\u0a57\u0a58\u0007l\u0002\u0002\u0a58\u0a65\u0005\u01f6\u00fc", + "\u0002\u0a59\u0a5b\u0007\u0114\u0002\u0002\u0a5a\u0a5c\u0007\u03f5\u0002", + "\u0002\u0a5b\u0a5a\u0003\u0002\u0002\u0002\u0a5b\u0a5c\u0003\u0002\u0002", + "\u0002\u0a5c\u0a5d\u0003\u0002\u0002\u0002\u0a5d\u0a64\t\u0005\u0002", + "\u0002\u0a5e\u0a60\u0007_\u0002\u0002\u0a5f\u0a61\u0007\u03f5\u0002", + "\u0002\u0a60\u0a5f\u0003\u0002\u0002\u0002\u0a60\u0a61\u0003\u0002\u0002", + "\u0002\u0a61\u0a62\u0003\u0002\u0002\u0002\u0a62\u0a64\t\u0006\u0002", + "\u0002\u0a63\u0a59\u0003\u0002\u0002\u0002\u0a63\u0a5e\u0003\u0002\u0002", + "\u0002\u0a64\u0a67\u0003\u0002\u0002\u0002\u0a65\u0a63\u0003\u0002\u0002", + "\u0002\u0a65\u0a66\u0003\u0002\u0002\u0002\u0a66\u008f\u0003\u0002\u0002", + "\u0002\u0a67\u0a65\u0003\u0002\u0002\u0002\u0a68\u0a69\u00071\u0002", + "\u0002\u0a69\u0a6a\u0007\u0195\u0002\u0002\u0a6a\u0a6b\u0007D\u0002", + "\u0002\u0a6b\u0a6c\u0005\u020e\u0108\u0002\u0a6c\u0a6d\u0007\u0158\u0002", + "\u0002\u0a6d\u0a6e\u0007\u03f5\u0002\u0002\u0a6e\u0a6f\u0005\u0204\u0103", + "\u0002\u0a6f\u0091\u0003\u0002\u0002\u0002\u0a70\u0a71\u00071\u0002", + "\u0002\u0a71\u0a73\u0007w\u0002\u0002\u0a72\u0a74\u0005\u0244\u0123", + "\u0002\u0a73\u0a72\u0003\u0002\u0002\u0002\u0a73\u0a74\u0003\u0002\u0002", + "\u0002\u0a74\u0a75\u0003\u0002\u0002\u0002\u0a75\u0a76\u0005\u01f4\u00fb", + "\u0002\u0a76\u0093\u0003\u0002\u0002\u0002\u0a77\u0a78\u00071\u0002", + "\u0002\u0a78\u0a7a\u0007\u0172\u0002\u0002\u0a79\u0a7b\u0005\u0244\u0123", + "\u0002\u0a7a\u0a79\u0003\u0002\u0002\u0002\u0a7a\u0a7b\u0003\u0002\u0002", + "\u0002\u0a7b\u0a7c\u0003\u0002\u0002\u0002\u0a7c\u0a7d\u0005\u01f4\u00fb", + "\u0002\u0a7d\u0095\u0003\u0002\u0002\u0002\u0a7e\u0a7f\u00071\u0002", + "\u0002\u0a7f\u0a81\u0007\u0207\u0002\u0002\u0a80\u0a82\u0005\u0244\u0123", + "\u0002\u0a81\u0a80\u0003\u0002\u0002\u0002\u0a81\u0a82\u0003\u0002\u0002", + "\u0002\u0a82\u0a83\u0003\u0002\u0002\u0002\u0a83\u0a84\u0005\u020e\u0108", + "\u0002\u0a84\u0097\u0003\u0002\u0002\u0002\u0a85\u0a87\u00071\u0002", + "\u0002\u0a86\u0a88\u0007\u022f\u0002\u0002\u0a87\u0a86\u0003\u0002\u0002", + "\u0002\u0a87\u0a88\u0003\u0002\u0002\u0002\u0a88\u0a89\u0003\u0002\u0002", + "\u0002\u0a89\u0a8b\u0007\u009c\u0002\u0002\u0a8a\u0a8c\u0005\u0244\u0123", + "\u0002\u0a8b\u0a8a\u0003\u0002\u0002\u0002\u0a8b\u0a8c\u0003\u0002\u0002", + "\u0002\u0a8c\u0a8d\u0003\u0002\u0002\u0002\u0a8d\u0a8f\u0005\u0230\u0119", + "\u0002\u0a8e\u0a90\t\"\u0002\u0002\u0a8f\u0a8e\u0003\u0002\u0002\u0002", + "\u0a8f\u0a90\u0003\u0002\u0002\u0002\u0a90\u0099\u0003\u0002\u0002\u0002", + "\u0a91\u0a92\u00071\u0002\u0002\u0a92\u0a93\u0007\u022e\u0002\u0002", + "\u0a93\u0a99\u0005\u020e\u0108\u0002\u0a94\u0a96\u0007\u0158\u0002\u0002", + "\u0a95\u0a97\u0007\u03f5\u0002\u0002\u0a96\u0a95\u0003\u0002\u0002\u0002", + "\u0a96\u0a97\u0003\u0002\u0002\u0002\u0a97\u0a98\u0003\u0002\u0002\u0002", + "\u0a98\u0a9a\u0005\u0204\u0103\u0002\u0a99\u0a94\u0003\u0002\u0002\u0002", + "\u0a99\u0a9a\u0003\u0002\u0002\u0002\u0a9a\u009b\u0003\u0002\u0002\u0002", + "\u0a9b\u0a9c\u00071\u0002\u0002\u0a9c\u0a9e\u0007\u00a1\u0002\u0002", + "\u0a9d\u0a9f\u0005\u0244\u0123\u0002\u0a9e\u0a9d\u0003\u0002\u0002\u0002", + "\u0a9e\u0a9f\u0003\u0002\u0002\u0002\u0a9f\u0aa0\u0003\u0002\u0002\u0002", + "\u0aa0\u0aa1\u0005\u01f4\u00fb\u0002\u0aa1\u009d\u0003\u0002\u0002\u0002", + "\u0aa2\u0aa3\u00071\u0002\u0002\u0aa3\u0aa5\u0007\u0244\u0002\u0002", + "\u0aa4\u0aa6\u0005\u0244\u0123\u0002\u0aa5\u0aa4\u0003\u0002\u0002\u0002", + "\u0aa5\u0aa6\u0003\u0002\u0002\u0002\u0aa6\u0aa7\u0003\u0002\u0002\u0002", + "\u0aa7\u0aac\u0005\u01f4\u00fb\u0002\u0aa8\u0aa9\u0007\u0400\u0002\u0002", + "\u0aa9\u0aab\u0005\u01f4\u00fb\u0002\u0aaa\u0aa8\u0003\u0002\u0002\u0002", + "\u0aab\u0aae\u0003\u0002\u0002\u0002\u0aac\u0aaa\u0003\u0002\u0002\u0002", + "\u0aac\u0aad\u0003\u0002\u0002\u0002\u0aad\u0ab0\u0003\u0002\u0002\u0002", + "\u0aae\u0aac\u0003\u0002\u0002\u0002\u0aaf\u0ab1\t\"\u0002\u0002\u0ab0", + "\u0aaf\u0003\u0002\u0002\u0002\u0ab0\u0ab1\u0003\u0002\u0002\u0002\u0ab1", + "\u009f\u0003\u0002\u0002\u0002\u0ab2\u0ab3\u0007\u007f\u0002\u0002\u0ab3", + "\u0ab4\u0007\u009c\u0002\u0002\u0ab4\u0ab9\u0005\u00a2R\u0002\u0ab5", + "\u0ab6\u0007\u0400\u0002\u0002\u0ab6\u0ab8\u0005\u00a2R\u0002\u0ab7", + "\u0ab5\u0003\u0002\u0002\u0002\u0ab8\u0abb\u0003\u0002\u0002\u0002\u0ab9", + "\u0ab7\u0003\u0002\u0002\u0002\u0ab9\u0aba\u0003\u0002\u0002\u0002\u0aba", + "\u00a1\u0003\u0002\u0002\u0002\u0abb\u0ab9\u0003\u0002\u0002\u0002\u0abc", + "\u0abd\u0005\u01f6\u00fc\u0002\u0abd\u0abe\u0007\u009f\u0002\u0002\u0abe", + "\u0abf\u0005\u01f6\u00fc\u0002\u0abf\u00a3\u0003\u0002\u0002\u0002\u0ac0", + "\u0ac2\u0007\u0236\u0002\u0002\u0ac1\u0ac3\u0007\u009c\u0002\u0002\u0ac2", + "\u0ac1\u0003\u0002\u0002\u0002\u0ac2\u0ac3\u0003\u0002\u0002\u0002\u0ac3", + "\u0ac4\u0003\u0002\u0002\u0002\u0ac4\u0ac5\u0005\u01f6\u00fc\u0002\u0ac5", + "\u00a5\u0003\u0002\u0002\u0002\u0ac6\u0ac7\u0007\u0013\u0002\u0002\u0ac7", + "\u0ace\u0005\u01f4\u00fb\u0002\u0ac8\u0acb\u0007\u03fe\u0002\u0002\u0ac9", + "\u0acc\u0005\u0238\u011d\u0002\u0aca\u0acc\u0005\u0234\u011b\u0002\u0acb", + "\u0ac9\u0003\u0002\u0002\u0002\u0acb\u0aca\u0003\u0002\u0002\u0002\u0acb", + "\u0acc\u0003\u0002\u0002\u0002\u0acc\u0acd\u0003\u0002\u0002\u0002\u0acd", + "\u0acf\u0007\u03ff\u0002\u0002\u0ace\u0ac8\u0003\u0002\u0002\u0002\u0ace", + "\u0acf\u0003\u0002\u0002\u0002\u0acf\u00a7\u0003\u0002\u0002\u0002\u0ad0", + "\u0ad3\u0005\u00c2b\u0002\u0ad1\u0ad3\u0005\u00c4c\u0002\u0ad2\u0ad0", + "\u0003\u0002\u0002\u0002\u0ad2\u0ad1\u0003\u0002\u0002\u0002\u0ad3\u00a9", + "\u0003\u0002\u0002\u0002\u0ad4\u0ad5\u0007\u0150\u0002\u0002\u0ad5\u0ad6", + "\u0005\u0234\u011b\u0002\u0ad6\u00ab\u0003\u0002\u0002\u0002\u0ad7\u0adc", + "\u0005\u00c6d\u0002\u0ad8\u0adc\u0005\u00c8e\u0002\u0ad9\u0adc\u0005", + "\u00caf\u0002\u0ada\u0adc\u0005\u00ccg\u0002\u0adb\u0ad7\u0003\u0002", + "\u0002\u0002\u0adb\u0ad8\u0003\u0002\u0002\u0002\u0adb\u0ad9\u0003\u0002", + "\u0002\u0002\u0adb\u0ada\u0003\u0002\u0002\u0002\u0adc\u00ad\u0003\u0002", + "\u0002\u0002\u0add\u0adf\u0007N\u0002\u0002\u0ade\u0ae0\t#\u0002\u0002", + "\u0adf\u0ade\u0003\u0002\u0002\u0002\u0adf\u0ae0\u0003\u0002\u0002\u0002", + "\u0ae0\u0ae2\u0003\u0002\u0002\u0002\u0ae1\u0ae3\u0007H\u0002\u0002", + "\u0ae2\u0ae1\u0003\u0002\u0002\u0002\u0ae2\u0ae3\u0003\u0002\u0002\u0002", + "\u0ae3\u0ae5\u0003\u0002\u0002\u0002\u0ae4\u0ae6\u0007P\u0002\u0002", + "\u0ae5\u0ae4\u0003\u0002\u0002\u0002\u0ae5\u0ae6\u0003\u0002\u0002\u0002", + "\u0ae6\u0ae7\u0003\u0002\u0002\u0002\u0ae7\u0aee\u0005\u01f6\u00fc\u0002", + "\u0ae8\u0ae9\u0007u\u0002\u0002\u0ae9\u0aeb\u0007\u03fe\u0002\u0002", + "\u0aea\u0aec\u0005\u022e\u0118\u0002\u0aeb\u0aea\u0003\u0002\u0002\u0002", + "\u0aeb\u0aec\u0003\u0002\u0002\u0002\u0aec\u0aed\u0003\u0002\u0002\u0002", + "\u0aed\u0aef\u0007\u03ff\u0002\u0002\u0aee\u0ae8\u0003\u0002\u0002\u0002", + "\u0aee\u0aef\u0003\u0002\u0002\u0002\u0aef\u0b00\u0003\u0002\u0002\u0002", + "\u0af0\u0af1\u0007\u03fe\u0002\u0002\u0af1\u0af2\u0005\u022e\u0118\u0002", + "\u0af2\u0af3\u0007\u03ff\u0002\u0002\u0af3\u0af5\u0003\u0002\u0002\u0002", + "\u0af4\u0af0\u0003\u0002\u0002\u0002\u0af4\u0af5\u0003\u0002\u0002\u0002", + "\u0af5\u0af6\u0003\u0002\u0002\u0002\u0af6\u0b01\u0005\u00ba^\u0002", + "\u0af7\u0af8\u0007\u008c\u0002\u0002\u0af8\u0afd\u0005\u00bc_\u0002", + "\u0af9\u0afa\u0007\u0400\u0002\u0002\u0afa\u0afc\u0005\u00bc_\u0002", + "\u0afb\u0af9\u0003\u0002\u0002\u0002\u0afc\u0aff\u0003\u0002\u0002\u0002", + "\u0afd\u0afb\u0003\u0002\u0002\u0002\u0afd\u0afe\u0003\u0002\u0002\u0002", + "\u0afe\u0b01\u0003\u0002\u0002\u0002\u0aff\u0afd\u0003\u0002\u0002\u0002", + "\u0b00\u0af4\u0003\u0002\u0002\u0002\u0b00\u0af7\u0003\u0002\u0002\u0002", + "\u0b01\u0b0e\u0003\u0002\u0002\u0002\u0b02\u0b03\u0007l\u0002\u0002", + "\u0b03\u0b04\u0007\u0152\u0002\u0002\u0b04\u0b05\u0007T\u0002\u0002", + "\u0b05\u0b06\u0007\u00a8\u0002\u0002\u0b06\u0b0b\u0005\u00bc_\u0002", + "\u0b07\u0b08\u0007\u0400\u0002\u0002\u0b08\u0b0a\u0005\u00bc_\u0002", + "\u0b09\u0b07\u0003\u0002\u0002\u0002\u0b0a\u0b0d\u0003\u0002\u0002\u0002", + "\u0b0b\u0b09\u0003\u0002\u0002\u0002\u0b0b\u0b0c\u0003\u0002\u0002\u0002", + "\u0b0c\u0b0f\u0003\u0002\u0002\u0002\u0b0d\u0b0b\u0003\u0002\u0002\u0002", + "\u0b0e\u0b02\u0003\u0002\u0002\u0002\u0b0e\u0b0f\u0003\u0002\u0002\u0002", + "\u0b0f\u00af\u0003\u0002\u0002\u0002\u0b10\u0b11\u0007^\u0002\u0002", + "\u0b11\u0b13\u0007\u0145\u0002\u0002\u0b12\u0b14\t$\u0002\u0002\u0b13", + "\u0b12\u0003\u0002\u0002\u0002\u0b13\u0b14\u0003\u0002\u0002\u0002\u0b14", + "\u0b16\u0003\u0002\u0002\u0002\u0b15\u0b17\u0007\u0194\u0002\u0002\u0b16", + "\u0b15\u0003\u0002\u0002\u0002\u0b16\u0b17\u0003\u0002\u0002\u0002\u0b17", + "\u0b18\u0003\u0002\u0002\u0002\u0b18\u0b19\u0007K\u0002\u0002\u0b19", + "\u0b1b\u0007\u040d\u0002\u0002\u0b1a\u0b1c\t\b\u0002\u0002\u0b1b\u0b1a", + "\u0003\u0002\u0002\u0002\u0b1b\u0b1c\u0003\u0002\u0002\u0002\u0b1c\u0b1d", + "\u0003\u0002\u0002\u0002\u0b1d\u0b1e\u0007P\u0002\u0002\u0b1e\u0b1f", + "\u0007\u009c\u0002\u0002\u0b1f\u0b25\u0005\u01f6\u00fc\u0002\u0b20\u0b21", + "\u0007u\u0002\u0002\u0b21\u0b22\u0007\u03fe\u0002\u0002\u0b22\u0b23", + "\u0005\u022e\u0118\u0002\u0b23\u0b24\u0007\u03ff\u0002\u0002\u0b24\u0b26", + "\u0003\u0002\u0002\u0002\u0b25\u0b20\u0003\u0002\u0002\u0002\u0b25\u0b26", + "\u0003\u0002\u0002\u0002\u0b26\u0b2a\u0003\u0002\u0002\u0002\u0b27\u0b28", + "\u0007\u0018\u0002\u0002\u0b28\u0b29\u0007\u008c\u0002\u0002\u0b29\u0b2b", + "\u0005\u0200\u0101\u0002\u0b2a\u0b27\u0003\u0002\u0002\u0002\u0b2a\u0b2b", + "\u0003\u0002\u0002\u0002\u0b2b\u0b32\u0003\u0002\u0002\u0002\u0b2c\u0b2e", + "\t%\u0002\u0002\u0b2d\u0b2f\u0005\u00f6|\u0002\u0b2e\u0b2d\u0003\u0002", + "\u0002\u0002\u0b2f\u0b30\u0003\u0002\u0002\u0002\u0b30\u0b2e\u0003\u0002", + "\u0002\u0002\u0b30\u0b31\u0003\u0002\u0002\u0002\u0b31\u0b33\u0003\u0002", + "\u0002\u0002\u0b32\u0b2c\u0003\u0002\u0002\u0002\u0b32\u0b33\u0003\u0002", + "\u0002\u0002\u0b33\u0b3a\u0003\u0002\u0002\u0002\u0b34\u0b36\u0007]", + "\u0002\u0002\u0b35\u0b37\u0005\u00f8}\u0002\u0b36\u0b35\u0003\u0002", + "\u0002\u0002\u0b37\u0b38\u0003\u0002\u0002\u0002\u0b38\u0b36\u0003\u0002", + "\u0002\u0002\u0b38\u0b39\u0003\u0002\u0002\u0002\u0b39\u0b3b\u0003\u0002", + "\u0002\u0002\u0b3a\u0b34\u0003\u0002\u0002\u0002\u0b3a\u0b3b\u0003\u0002", + "\u0002\u0002\u0b3b\u0b40\u0003\u0002\u0002\u0002\u0b3c\u0b3d\u0007H", + "\u0002\u0002\u0b3d\u0b3e\u0005\u0214\u010b\u0002\u0b3e\u0b3f\t&\u0002", + "\u0002\u0b3f\u0b41\u0003\u0002\u0002\u0002\u0b40\u0b3c\u0003\u0002\u0002", + "\u0002\u0b40\u0b41\u0003\u0002\u0002\u0002\u0b41\u0b4d\u0003\u0002\u0002", + "\u0002\u0b42\u0b43\u0007\u03fe\u0002\u0002\u0b43\u0b48\u0005\u00be`", + "\u0002\u0b44\u0b45\u0007\u0400\u0002\u0002\u0b45\u0b47\u0005\u00be`", + "\u0002\u0b46\u0b44\u0003\u0002\u0002\u0002\u0b47\u0b4a\u0003\u0002\u0002", + "\u0002\u0b48\u0b46\u0003\u0002\u0002\u0002\u0b48\u0b49\u0003\u0002\u0002", + "\u0002\u0b49\u0b4b\u0003\u0002\u0002\u0002\u0b4a\u0b48\u0003\u0002\u0002", + "\u0002\u0b4b\u0b4c\u0007\u03ff\u0002\u0002\u0b4c\u0b4e\u0003\u0002\u0002", + "\u0002\u0b4d\u0b42\u0003\u0002\u0002\u0002\u0b4d\u0b4e\u0003\u0002\u0002", + "\u0002\u0b4e\u0b58\u0003\u0002\u0002\u0002\u0b4f\u0b50\u0007\u008c\u0002", + "\u0002\u0b50\u0b55\u0005\u00bc_\u0002\u0b51\u0b52\u0007\u0400\u0002", + "\u0002\u0b52\u0b54\u0005\u00bc_\u0002\u0b53\u0b51\u0003\u0002\u0002", + "\u0002\u0b54\u0b57\u0003\u0002\u0002\u0002\u0b55\u0b53\u0003\u0002\u0002", + "\u0002\u0b55\u0b56\u0003\u0002\u0002\u0002\u0b56\u0b59\u0003\u0002\u0002", + "\u0002\u0b57\u0b55\u0003\u0002\u0002\u0002\u0b58\u0b4f\u0003\u0002\u0002", + "\u0002\u0b58\u0b59\u0003\u0002\u0002\u0002\u0b59\u00b1\u0003\u0002\u0002", + "\u0002\u0b5a\u0b5b\u0007^\u0002\u0002\u0b5b\u0b5d\u0007\u024e\u0002", + "\u0002\u0b5c\u0b5e\t$\u0002\u0002\u0b5d\u0b5c\u0003\u0002\u0002\u0002", + "\u0b5d\u0b5e\u0003\u0002\u0002\u0002\u0b5e\u0b60\u0003\u0002\u0002\u0002", + "\u0b5f\u0b61\u0007\u0194\u0002\u0002\u0b60\u0b5f\u0003\u0002\u0002\u0002", + "\u0b60\u0b61\u0003\u0002\u0002\u0002\u0b61\u0b62\u0003\u0002\u0002\u0002", + "\u0b62\u0b63\u0007K\u0002\u0002\u0b63\u0b65\u0007\u040d\u0002\u0002", + "\u0b64\u0b66\t\b\u0002\u0002\u0b65\u0b64\u0003\u0002\u0002\u0002\u0b65", + "\u0b66\u0003\u0002\u0002\u0002\u0b66\u0b67\u0003\u0002\u0002\u0002\u0b67", + "\u0b68\u0007P\u0002\u0002\u0b68\u0b69\u0007\u009c\u0002\u0002\u0b69", + "\u0b6d\u0005\u01f6\u00fc\u0002\u0b6a\u0b6b\u0007\u0018\u0002\u0002\u0b6b", + "\u0b6c\u0007\u008c\u0002\u0002\u0b6c\u0b6e\u0005\u0200\u0101\u0002\u0b6d", + "\u0b6a\u0003\u0002\u0002\u0002\u0b6d\u0b6e\u0003\u0002\u0002\u0002\u0b6e", + "\u0b75\u0003\u0002\u0002\u0002\u0b6f\u0b70\u0007\u0202\u0002\u0002\u0b70", + "\u0b71\u0007\u017c\u0002\u0002\u0b71\u0b72\u0007\u0012\u0002\u0002\u0b72", + "\u0b73\u0007\u03f7\u0002\u0002\u0b73\u0b74\u0007\u040d\u0002\u0002\u0b74", + "\u0b76\u0007\u03f6\u0002\u0002\u0b75\u0b6f\u0003\u0002\u0002\u0002\u0b75", + "\u0b76\u0003\u0002\u0002\u0002\u0b76\u0b7b\u0003\u0002\u0002\u0002\u0b77", + "\u0b78\u0007H\u0002\u0002\u0b78\u0b79\u0005\u0214\u010b\u0002\u0b79", + "\u0b7a\t&\u0002\u0002\u0b7a\u0b7c\u0003\u0002\u0002\u0002\u0b7b\u0b77", + "\u0003\u0002\u0002\u0002\u0b7b\u0b7c\u0003\u0002\u0002\u0002\u0b7c\u0b88", + "\u0003\u0002\u0002\u0002\u0b7d\u0b7e\u0007\u03fe\u0002\u0002\u0b7e\u0b83", + "\u0005\u00be`\u0002\u0b7f\u0b80\u0007\u0400\u0002\u0002\u0b80\u0b82", + "\u0005\u00be`\u0002\u0b81\u0b7f\u0003\u0002\u0002\u0002\u0b82\u0b85", + "\u0003\u0002\u0002\u0002\u0b83\u0b81\u0003\u0002\u0002\u0002\u0b83\u0b84", + "\u0003\u0002\u0002\u0002\u0b84\u0b86\u0003\u0002\u0002\u0002\u0b85\u0b83", + "\u0003\u0002\u0002\u0002\u0b86\u0b87\u0007\u03ff\u0002\u0002\u0b87\u0b89", + "\u0003\u0002\u0002\u0002\u0b88\u0b7d\u0003\u0002\u0002\u0002\u0b88\u0b89", + "\u0003\u0002\u0002\u0002\u0b89\u0b93\u0003\u0002\u0002\u0002\u0b8a\u0b8b", + "\u0007\u008c\u0002\u0002\u0b8b\u0b90\u0005\u00bc_\u0002\u0b8c\u0b8d", + "\u0007\u0400\u0002\u0002\u0b8d\u0b8f\u0005\u00bc_\u0002\u0b8e\u0b8c", + "\u0003\u0002\u0002\u0002\u0b8f\u0b92\u0003\u0002\u0002\u0002\u0b90\u0b8e", + "\u0003\u0002\u0002\u0002\u0b90\u0b91\u0003\u0002\u0002\u0002\u0b91\u0b94", + "\u0003\u0002\u0002\u0002\u0b92\u0b90\u0003\u0002\u0002\u0002\u0b93\u0b8a", + "\u0003\u0002\u0002\u0002\u0b93\u0b94\u0003\u0002\u0002\u0002\u0b94\u00b3", + "\u0003\u0002\u0002\u0002\u0b95\u0b97\u0007\u0081\u0002\u0002\u0b96\u0b98", + "\t\'\u0002\u0002\u0b97\u0b96\u0003\u0002\u0002\u0002\u0b97\u0b98\u0003", + "\u0002\u0002\u0002\u0b98\u0b9a\u0003\u0002\u0002\u0002\u0b99\u0b9b\u0007", + "P\u0002\u0002\u0b9a\u0b99\u0003\u0002\u0002\u0002\u0b9a\u0b9b\u0003", + "\u0002\u0002\u0002\u0b9b\u0b9c\u0003\u0002\u0002\u0002\u0b9c\u0ba2\u0005", + "\u01f6\u00fc\u0002\u0b9d\u0b9e\u0007u\u0002\u0002\u0b9e\u0b9f\u0007", + "\u03fe\u0002\u0002\u0b9f\u0ba0\u0005\u022e\u0118\u0002\u0ba0\u0ba1\u0007", + "\u03ff\u0002\u0002\u0ba1\u0ba3\u0003\u0002\u0002\u0002\u0ba2\u0b9d\u0003", + "\u0002\u0002\u0002\u0ba2\u0ba3\u0003\u0002\u0002\u0002\u0ba3\u0bb4\u0003", + "\u0002\u0002\u0002\u0ba4\u0ba5\u0007\u03fe\u0002\u0002\u0ba5\u0ba6\u0005", + "\u022e\u0118\u0002\u0ba6\u0ba7\u0007\u03ff\u0002\u0002\u0ba7\u0ba9\u0003", + "\u0002\u0002\u0002\u0ba8\u0ba4\u0003\u0002\u0002\u0002\u0ba8\u0ba9\u0003", + "\u0002\u0002\u0002\u0ba9\u0baa\u0003\u0002\u0002\u0002\u0baa\u0bb5\u0005", + "\u00ba^\u0002\u0bab\u0bac\u0007\u008c\u0002\u0002\u0bac\u0bb1\u0005", + "\u00bc_\u0002\u0bad\u0bae\u0007\u0400\u0002\u0002\u0bae\u0bb0\u0005", + "\u00bc_\u0002\u0baf\u0bad\u0003\u0002\u0002\u0002\u0bb0\u0bb3\u0003", + "\u0002\u0002\u0002\u0bb1\u0baf\u0003\u0002\u0002\u0002\u0bb1\u0bb2\u0003", + "\u0002\u0002\u0002\u0bb2\u0bb5\u0003\u0002\u0002\u0002\u0bb3\u0bb1\u0003", + "\u0002\u0002\u0002\u0bb4\u0ba8\u0003\u0002\u0002\u0002\u0bb4\u0bab\u0003", + "\u0002\u0002\u0002\u0bb5\u00b5\u0003\u0002\u0002\u0002\u0bb6\u0bb8\u0005", + "\u00e6t\u0002\u0bb7\u0bb9\u0005\u00c0a\u0002\u0bb8\u0bb7\u0003\u0002", + "\u0002\u0002\u0bb8\u0bb9\u0003\u0002\u0002\u0002\u0bb9\u0bee\u0003\u0002", + "\u0002\u0002\u0bba\u0bbc\u0005\u00e2r\u0002\u0bbb\u0bbd\u0005\u00c0", + "a\u0002\u0bbc\u0bbb\u0003\u0002\u0002\u0002\u0bbc\u0bbd\u0003\u0002", + "\u0002\u0002\u0bbd\u0bee\u0003\u0002\u0002\u0002\u0bbe\u0bc0\u0005\u00e8", + "u\u0002\u0bbf\u0bc1\u0005\u00ecw\u0002\u0bc0\u0bbf\u0003\u0002\u0002", + "\u0002\u0bc1\u0bc2\u0003\u0002\u0002\u0002\u0bc2\u0bc0\u0003\u0002\u0002", + "\u0002\u0bc2\u0bc3\u0003\u0002\u0002\u0002\u0bc3\u0bcc\u0003\u0002\u0002", + "\u0002\u0bc4\u0bc6\u0007\u00a4\u0002\u0002\u0bc5\u0bc7\t(\u0002\u0002", + "\u0bc6\u0bc5\u0003\u0002\u0002\u0002\u0bc6\u0bc7\u0003\u0002\u0002\u0002", + "\u0bc7\u0bca\u0003\u0002\u0002\u0002\u0bc8\u0bcb\u0005\u00e6t\u0002", + "\u0bc9\u0bcb\u0005\u00e2r\u0002\u0bca\u0bc8\u0003\u0002\u0002\u0002", + "\u0bca\u0bc9\u0003\u0002\u0002\u0002\u0bcb\u0bcd\u0003\u0002\u0002\u0002", + "\u0bcc\u0bc4\u0003\u0002\u0002\u0002\u0bcc\u0bcd\u0003\u0002\u0002\u0002", + "\u0bcd\u0bcf\u0003\u0002\u0002\u0002\u0bce\u0bd0\u0005\u00d2j\u0002", + "\u0bcf\u0bce\u0003\u0002\u0002\u0002\u0bcf\u0bd0\u0003\u0002\u0002\u0002", + "\u0bd0\u0bd2\u0003\u0002\u0002\u0002\u0bd1\u0bd3\u0005\u00fe\u0080\u0002", + "\u0bd2\u0bd1\u0003\u0002\u0002\u0002\u0bd2\u0bd3\u0003\u0002\u0002\u0002", + "\u0bd3\u0bd5\u0003\u0002\u0002\u0002\u0bd4\u0bd6\u0005\u00c0a\u0002", + "\u0bd5\u0bd4\u0003\u0002\u0002\u0002\u0bd5\u0bd6\u0003\u0002\u0002\u0002", + "\u0bd6\u0bee\u0003\u0002\u0002\u0002\u0bd7\u0bd9\u0005\u00e4s\u0002", + "\u0bd8\u0bda\u0005\u00eav\u0002\u0bd9\u0bd8\u0003\u0002\u0002\u0002", + "\u0bda\u0bdb\u0003\u0002\u0002\u0002\u0bdb\u0bd9\u0003\u0002\u0002\u0002", + "\u0bdb\u0bdc\u0003\u0002\u0002\u0002\u0bdc\u0be2\u0003\u0002\u0002\u0002", + "\u0bdd\u0bdf\u0007\u00a4\u0002\u0002\u0bde\u0be0\t(\u0002\u0002\u0bdf", + "\u0bde\u0003\u0002\u0002\u0002\u0bdf\u0be0\u0003\u0002\u0002\u0002\u0be0", + "\u0be1\u0003\u0002\u0002\u0002\u0be1\u0be3\u0005\u00e2r\u0002\u0be2", + "\u0bdd\u0003\u0002\u0002\u0002\u0be2\u0be3\u0003\u0002\u0002\u0002\u0be3", + "\u0be5\u0003\u0002\u0002\u0002\u0be4\u0be6\u0005\u00d2j\u0002\u0be5", + "\u0be4\u0003\u0002\u0002\u0002\u0be5\u0be6\u0003\u0002\u0002\u0002\u0be6", + "\u0be8\u0003\u0002\u0002\u0002\u0be7\u0be9\u0005\u00fe\u0080\u0002\u0be8", + "\u0be7\u0003\u0002\u0002\u0002\u0be8\u0be9\u0003\u0002\u0002\u0002\u0be9", + "\u0beb\u0003\u0002\u0002\u0002\u0bea\u0bec\u0005\u00c0a\u0002\u0beb", + "\u0bea\u0003\u0002\u0002\u0002\u0beb\u0bec\u0003\u0002\u0002\u0002\u0bec", + "\u0bee\u0003\u0002\u0002\u0002\u0bed\u0bb6\u0003\u0002\u0002\u0002\u0bed", + "\u0bba\u0003\u0002\u0002\u0002\u0bed\u0bbe\u0003\u0002\u0002\u0002\u0bed", + "\u0bd7\u0003\u0002\u0002\u0002\u0bee\u00b7\u0003\u0002\u0002\u0002\u0bef", + "\u0bf2\u0005\u00ceh\u0002\u0bf0\u0bf2\u0005\u00d0i\u0002\u0bf1\u0bef", + "\u0003\u0002\u0002\u0002\u0bf1\u0bf0\u0003\u0002\u0002\u0002\u0bf2\u00b9", + "\u0003\u0002\u0002\u0002\u0bf3\u0c06\u0005\u00b6\\\u0002\u0bf4\u0bf5", + "\t)\u0002\u0002\u0bf5\u0bf7\u0007\u03fe\u0002\u0002\u0bf6\u0bf8\u0005", + "\u0236\u011c\u0002\u0bf7\u0bf6\u0003\u0002\u0002\u0002\u0bf7\u0bf8\u0003", + "\u0002\u0002\u0002\u0bf8\u0bf9\u0003\u0002\u0002\u0002\u0bf9\u0c02\u0007", + "\u03ff\u0002\u0002\u0bfa\u0bfb\u0007\u0400\u0002\u0002\u0bfb\u0bfd\u0007", + "\u03fe\u0002\u0002\u0bfc\u0bfe\u0005\u0236\u011c\u0002\u0bfd\u0bfc\u0003", + "\u0002\u0002\u0002\u0bfd\u0bfe\u0003\u0002\u0002\u0002\u0bfe\u0bff\u0003", + "\u0002\u0002\u0002\u0bff\u0c01\u0007\u03ff\u0002\u0002\u0c00\u0bfa\u0003", + "\u0002\u0002\u0002\u0c01\u0c04\u0003\u0002\u0002\u0002\u0c02\u0c00\u0003", + "\u0002\u0002\u0002\u0c02\u0c03\u0003\u0002\u0002\u0002\u0c03\u0c06\u0003", + "\u0002\u0002\u0002\u0c04\u0c02\u0003\u0002\u0002\u0002\u0c05\u0bf3\u0003", + "\u0002\u0002\u0002\u0c05\u0bf4\u0003\u0002\u0002\u0002\u0c06\u00bb\u0003", + "\u0002\u0002\u0002\u0c07\u0c08\u0005\u01f8\u00fd\u0002\u0c08\u0c0b\u0007", + "\u03f5\u0002\u0002\u0c09\u0c0c\u0005\u025c\u012f\u0002\u0c0a\u0c0c\u0007", + "(\u0002\u0002\u0c0b\u0c09\u0003\u0002\u0002\u0002\u0c0b\u0c0a\u0003", + "\u0002\u0002\u0002\u0c0c\u00bd\u0003\u0002\u0002\u0002\u0c0d\u0c10\u0005", + "\u020e\u0108\u0002\u0c0e\u0c10\u0007\u0418\u0002\u0002\u0c0f\u0c0d\u0003", + "\u0002\u0002\u0002\u0c0f\u0c0e\u0003\u0002\u0002\u0002\u0c10\u00bf\u0003", + "\u0002\u0002\u0002\u0c11\u0c12\u0007<\u0002\u0002\u0c12\u0c18\u0007", + "\u00a8\u0002\u0002\u0c13\u0c14\u0007_\u0002\u0002\u0c14\u0c15\u0007", + "I\u0002\u0002\u0c15\u0c16\u0007\u0209\u0002\u0002\u0c16\u0c18\u0007", + "\u01b8\u0002\u0002\u0c17\u0c11\u0003\u0002\u0002\u0002\u0c17\u0c13\u0003", + "\u0002\u0002\u0002\u0c18\u00c1\u0003\u0002\u0002\u0002\u0c19\u0c1b\u0007", + "*\u0002\u0002\u0c1a\u0c1c\u0007a\u0002\u0002\u0c1b\u0c1a\u0003\u0002", + "\u0002\u0002\u0c1b\u0c1c\u0003\u0002\u0002\u0002\u0c1c\u0c1e\u0003\u0002", + "\u0002\u0002\u0c1d\u0c1f\u0007\u01e5\u0002\u0002\u0c1e\u0c1d\u0003\u0002", + "\u0002\u0002\u0c1e\u0c1f\u0003\u0002\u0002\u0002\u0c1f\u0c21\u0003\u0002", + "\u0002\u0002\u0c20\u0c22\u0007H\u0002\u0002\u0c21\u0c20\u0003\u0002", + "\u0002\u0002\u0c21\u0c22\u0003\u0002\u0002\u0002\u0c22\u0c23\u0003\u0002", + "\u0002\u0002\u0c23\u0c24\u0007?\u0002\u0002\u0c24\u0c2a\u0005\u01f6", + "\u00fc\u0002\u0c25\u0c26\u0007u\u0002\u0002\u0c26\u0c27\u0007\u03fe", + "\u0002\u0002\u0c27\u0c28\u0005\u022e\u0118\u0002\u0c28\u0c29\u0007\u03ff", + "\u0002\u0002\u0c29\u0c2b\u0003\u0002\u0002\u0002\u0c2a\u0c25\u0003\u0002", + "\u0002\u0002\u0c2a\u0c2b\u0003\u0002\u0002\u0002\u0c2b\u0c2e\u0003\u0002", + "\u0002\u0002\u0c2c\u0c2d\u0007\u00ae\u0002\u0002\u0c2d\u0c2f\u0005\u025c", + "\u012f\u0002\u0c2e\u0c2c\u0003\u0002\u0002\u0002\u0c2e\u0c2f\u0003\u0002", + "\u0002\u0002\u0c2f\u0c31\u0003\u0002\u0002\u0002\u0c30\u0c32\u0005\u00d2", + "j\u0002\u0c31\u0c30\u0003\u0002\u0002\u0002\u0c31\u0c32\u0003\u0002", + "\u0002\u0002\u0c32\u0c35\u0003\u0002\u0002\u0002\u0c33\u0c34\u0007[", + "\u0002\u0002\u0c34\u0c36\u0005\u0100\u0081\u0002\u0c35\u0c33\u0003\u0002", + "\u0002\u0002\u0c35\u0c36\u0003\u0002\u0002\u0002\u0c36\u00c3\u0003\u0002", + "\u0002\u0002\u0c37\u0c39\u0007*\u0002\u0002\u0c38\u0c3a\u0007a\u0002", + "\u0002\u0c39\u0c38\u0003\u0002\u0002\u0002\u0c39\u0c3a\u0003\u0002\u0002", + "\u0002\u0c3a\u0c3c\u0003\u0002\u0002\u0002\u0c3b\u0c3d\u0007\u01e5\u0002", + "\u0002\u0c3c\u0c3b\u0003\u0002\u0002\u0002\u0c3c\u0c3d\u0003\u0002\u0002", + "\u0002\u0c3d\u0c3f\u0003\u0002\u0002\u0002\u0c3e\u0c40\u0007H\u0002", + "\u0002\u0c3f\u0c3e\u0003\u0002\u0002\u0002\u0c3f\u0c40\u0003\u0002\u0002", + "\u0002\u0c40\u0c68\u0003\u0002\u0002\u0002\u0c41\u0c44\u0005\u01f6\u00fc", + "\u0002\u0c42\u0c43\u0007\u03fd\u0002\u0002\u0c43\u0c45\u0007\u03ed\u0002", + "\u0002\u0c44\u0c42\u0003\u0002\u0002\u0002\u0c44\u0c45\u0003\u0002\u0002", + "\u0002\u0c45\u0c4e\u0003\u0002\u0002\u0002\u0c46\u0c47\u0007\u0400\u0002", + "\u0002\u0c47\u0c4a\u0005\u01f6\u00fc\u0002\u0c48\u0c49\u0007\u03fd\u0002", + "\u0002\u0c49\u0c4b\u0007\u03ed\u0002\u0002\u0c4a\u0c48\u0003\u0002\u0002", + "\u0002\u0c4a\u0c4b\u0003\u0002\u0002\u0002\u0c4b\u0c4d\u0003\u0002\u0002", + "\u0002\u0c4c\u0c46\u0003\u0002\u0002\u0002\u0c4d\u0c50\u0003\u0002\u0002", + "\u0002\u0c4e\u0c4c\u0003\u0002\u0002\u0002\u0c4e\u0c4f\u0003\u0002\u0002", + "\u0002\u0c4f\u0c51\u0003\u0002\u0002\u0002\u0c50\u0c4e\u0003\u0002\u0002", + "\u0002\u0c51\u0c52\u0007?\u0002\u0002\u0c52\u0c53\u0005\u00d6l\u0002", + "\u0c53\u0c69\u0003\u0002\u0002\u0002\u0c54\u0c55\u0007?\u0002\u0002", + "\u0c55\u0c58\u0005\u01f6\u00fc\u0002\u0c56\u0c57\u0007\u03fd\u0002\u0002", + "\u0c57\u0c59\u0007\u03ed\u0002\u0002\u0c58\u0c56\u0003\u0002\u0002\u0002", + "\u0c58\u0c59\u0003\u0002\u0002\u0002\u0c59\u0c62\u0003\u0002\u0002\u0002", + "\u0c5a\u0c5b\u0007\u0400\u0002\u0002\u0c5b\u0c5e\u0005\u01f6\u00fc\u0002", + "\u0c5c\u0c5d\u0007\u03fd\u0002\u0002\u0c5d\u0c5f\u0007\u03ed\u0002\u0002", + "\u0c5e\u0c5c\u0003\u0002\u0002\u0002\u0c5e\u0c5f\u0003\u0002\u0002\u0002", + "\u0c5f\u0c61\u0003\u0002\u0002\u0002\u0c60\u0c5a\u0003\u0002\u0002\u0002", + "\u0c61\u0c64\u0003\u0002\u0002\u0002\u0c62\u0c60\u0003\u0002\u0002\u0002", + "\u0c62\u0c63\u0003\u0002\u0002\u0002\u0c63\u0c65\u0003\u0002\u0002\u0002", + "\u0c64\u0c62\u0003\u0002\u0002\u0002\u0c65\u0c66\u0007\u00ab\u0002\u0002", + "\u0c66\u0c67\u0005\u00d6l\u0002\u0c67\u0c69\u0003\u0002\u0002\u0002", + "\u0c68\u0c41\u0003\u0002\u0002\u0002\u0c68\u0c54\u0003\u0002\u0002\u0002", + "\u0c69\u0c6c\u0003\u0002\u0002\u0002\u0c6a\u0c6b\u0007\u00ae\u0002\u0002", + "\u0c6b\u0c6d\u0005\u025c\u012f\u0002\u0c6c\u0c6a\u0003\u0002\u0002\u0002", + "\u0c6c\u0c6d\u0003\u0002\u0002\u0002\u0c6d\u00c5\u0003\u0002\u0002\u0002", + "\u0c6e\u0c6f\u0007\u0177\u0002\u0002\u0c6f\u0c70\u0005\u01f6\u00fc\u0002", + "\u0c70\u0c75\u0007\u01cc\u0002\u0002\u0c71\u0c73\u0007\r\u0002\u0002", + "\u0c72\u0c71\u0003\u0002\u0002\u0002\u0c72\u0c73\u0003\u0002\u0002\u0002", + "\u0c73\u0c74\u0003\u0002\u0002\u0002\u0c74\u0c76\u0005\u020e\u0108\u0002", + "\u0c75\u0c72\u0003\u0002\u0002\u0002\u0c75\u0c76\u0003\u0002\u0002\u0002", + "\u0c76\u00c7\u0003\u0002\u0002\u0002\u0c77\u0c78\u0007\u0177\u0002\u0002", + "\u0c78\u0c79\u0005\u01f6\u00fc\u0002\u0c79\u0c7a\u0007z\u0002\u0002", + "\u0c7a\u0c81\u0005\u020e\u0108\u0002\u0c7b\u0c7c\u0005\u0264\u0133\u0002", + "\u0c7c\u0c7d\u0007\u03fe\u0002\u0002\u0c7d\u0c7e\u0005\u0238\u011d\u0002", + "\u0c7e\u0c7f\u0007\u03ff\u0002\u0002\u0c7f\u0c82\u0003\u0002\u0002\u0002", + "\u0c80\u0c82\t*\u0002\u0002\u0c81\u0c7b\u0003\u0002\u0002\u0002\u0c81", + "\u0c80\u0003\u0002\u0002\u0002\u0c82\u0c85\u0003\u0002\u0002\u0002\u0c83", + "\u0c84\u0007\u00ae\u0002\u0002\u0c84\u0c86\u0005\u025c\u012f\u0002\u0c85", + "\u0c83\u0003\u0002\u0002\u0002\u0c85\u0c86\u0003\u0002\u0002\u0002\u0c86", + "\u0c89\u0003\u0002\u0002\u0002\u0c87\u0c88\u0007[\u0002\u0002\u0c88", + "\u0c8a\u0005\u0100\u0081\u0002\u0c89\u0c87\u0003\u0002\u0002\u0002\u0c89", + "\u0c8a\u0003\u0002\u0002\u0002\u0c8a\u00c9\u0003\u0002\u0002\u0002\u0c8b", + "\u0c8c\u0007\u0177\u0002\u0002\u0c8c\u0c8d\u0005\u01f6\u00fc\u0002\u0c8d", + "\u0c8e\u0007z\u0002\u0002\u0c8e\u0c91\t+\u0002\u0002\u0c8f\u0c90\u0007", + "\u00ae\u0002\u0002\u0c90\u0c92\u0005\u025c\u012f\u0002\u0c91\u0c8f\u0003", + "\u0002\u0002\u0002\u0c91\u0c92\u0003\u0002\u0002\u0002\u0c92\u0c95\u0003", + "\u0002\u0002\u0002\u0c93\u0c94\u0007[\u0002\u0002\u0c94\u0c96\u0005", + "\u0100\u0081\u0002\u0c95\u0c93\u0003\u0002\u0002\u0002\u0c95\u0c96\u0003", + "\u0002\u0002\u0002\u0c96\u00cb\u0003\u0002\u0002\u0002\u0c97\u0c98\u0007", + "\u0177\u0002\u0002\u0c98\u0c99\u0005\u01f6\u00fc\u0002\u0c99\u0c9a\u0007", + "\u012d\u0002\u0002\u0c9a\u00cd\u0003\u0002\u0002\u0002\u0c9b\u0c9d\u0007", + "\u00a8\u0002\u0002\u0c9c\u0c9e\u0007a\u0002\u0002\u0c9d\u0c9c\u0003", + "\u0002\u0002\u0002\u0c9d\u0c9e\u0003\u0002\u0002\u0002\u0c9e\u0ca0\u0003", + "\u0002\u0002\u0002\u0c9f\u0ca1\u0007H\u0002\u0002\u0ca0\u0c9f\u0003", + "\u0002\u0002\u0002\u0ca0\u0ca1\u0003\u0002\u0002\u0002\u0ca1\u0ca2\u0003", + "\u0002\u0002\u0002\u0ca2\u0ca7\u0005\u01f6\u00fc\u0002\u0ca3\u0ca5\u0007", + "\r\u0002\u0002\u0ca4\u0ca3\u0003\u0002\u0002\u0002\u0ca4\u0ca5\u0003", + "\u0002\u0002\u0002\u0ca5\u0ca6\u0003\u0002\u0002\u0002\u0ca6\u0ca8\u0005", + "\u020e\u0108\u0002\u0ca7\u0ca4\u0003\u0002\u0002\u0002\u0ca7\u0ca8\u0003", + "\u0002\u0002\u0002\u0ca8\u0ca9\u0003\u0002\u0002\u0002\u0ca9\u0caa\u0007", + "\u008c\u0002\u0002\u0caa\u0caf\u0005\u00bc_\u0002\u0cab\u0cac\u0007", + "\u0400\u0002\u0002\u0cac\u0cae\u0005\u00bc_\u0002\u0cad\u0cab\u0003", + "\u0002\u0002\u0002\u0cae\u0cb1\u0003\u0002\u0002\u0002\u0caf\u0cad\u0003", + "\u0002\u0002\u0002\u0caf\u0cb0\u0003\u0002\u0002\u0002\u0cb0\u0cb4\u0003", + "\u0002\u0002\u0002\u0cb1\u0caf\u0003\u0002\u0002\u0002\u0cb2\u0cb3\u0007", + "\u00ae\u0002\u0002\u0cb3\u0cb5\u0005\u025c\u012f\u0002\u0cb4\u0cb2\u0003", + "\u0002\u0002\u0002\u0cb4\u0cb5\u0003\u0002\u0002\u0002\u0cb5\u0cb7\u0003", + "\u0002\u0002\u0002\u0cb6\u0cb8\u0005\u00d2j\u0002\u0cb7\u0cb6\u0003", + "\u0002\u0002\u0002\u0cb7\u0cb8\u0003\u0002\u0002\u0002\u0cb8\u0cba\u0003", + "\u0002\u0002\u0002\u0cb9\u0cbb\u0005\u00fe\u0080\u0002\u0cba\u0cb9\u0003", + "\u0002\u0002\u0002\u0cba\u0cbb\u0003\u0002\u0002\u0002\u0cbb\u00cf\u0003", + "\u0002\u0002\u0002\u0cbc\u0cbe\u0007\u00a8\u0002\u0002\u0cbd\u0cbf\u0007", + "a\u0002\u0002\u0cbe\u0cbd\u0003\u0002\u0002\u0002\u0cbe\u0cbf\u0003", + "\u0002\u0002\u0002\u0cbf\u0cc1\u0003\u0002\u0002\u0002\u0cc0\u0cc2\u0007", + "H\u0002\u0002\u0cc1\u0cc0\u0003\u0002\u0002\u0002\u0cc1\u0cc2\u0003", + "\u0002\u0002\u0002\u0cc2\u0cc3\u0003\u0002\u0002\u0002\u0cc3\u0cc4\u0005", + "\u00d6l\u0002\u0cc4\u0cc5\u0007\u008c\u0002\u0002\u0cc5\u0cca\u0005", + "\u00bc_\u0002\u0cc6\u0cc7\u0007\u0400\u0002\u0002\u0cc7\u0cc9\u0005", + "\u00bc_\u0002\u0cc8\u0cc6\u0003\u0002\u0002\u0002\u0cc9\u0ccc\u0003", + "\u0002\u0002\u0002\u0cca\u0cc8\u0003\u0002\u0002\u0002\u0cca\u0ccb\u0003", + "\u0002\u0002\u0002\u0ccb\u0ccf\u0003\u0002\u0002\u0002\u0ccc\u0cca\u0003", + "\u0002\u0002\u0002\u0ccd\u0cce\u0007\u00ae\u0002\u0002\u0cce\u0cd0\u0005", + "\u025c\u012f\u0002\u0ccf\u0ccd\u0003\u0002\u0002\u0002\u0ccf\u0cd0\u0003", + "\u0002\u0002\u0002\u0cd0\u00d1\u0003\u0002\u0002\u0002\u0cd1\u0cd2\u0007", + "q\u0002\u0002\u0cd2\u0cd3\u0007\u0012\u0002\u0002\u0cd3\u0cd8\u0005", + "\u00d4k\u0002\u0cd4\u0cd5\u0007\u0400\u0002\u0002\u0cd5\u0cd7\u0005", + "\u00d4k\u0002\u0cd6\u0cd4\u0003\u0002\u0002\u0002\u0cd7\u0cda\u0003", + "\u0002\u0002\u0002\u0cd8\u0cd6\u0003\u0002\u0002\u0002\u0cd8\u0cd9\u0003", + "\u0002\u0002\u0002\u0cd9\u00d3\u0003\u0002\u0002\u0002\u0cda\u0cd8\u0003", + "\u0002\u0002\u0002\u0cdb\u0cdd\u0005\u025c\u012f\u0002\u0cdc\u0cde\t", + ",\u0002\u0002\u0cdd\u0cdc\u0003\u0002\u0002\u0002\u0cdd\u0cde\u0003", + "\u0002\u0002\u0002\u0cde\u00d5\u0003\u0002\u0002\u0002\u0cdf\u0ce4\u0005", + "\u00d8m\u0002\u0ce0\u0ce1\u0007\u0400\u0002\u0002\u0ce1\u0ce3\u0005", + "\u00d8m\u0002\u0ce2\u0ce0\u0003\u0002\u0002\u0002\u0ce3\u0ce6\u0003", + "\u0002\u0002\u0002\u0ce4\u0ce2\u0003\u0002\u0002\u0002\u0ce4\u0ce5\u0003", + "\u0002\u0002\u0002\u0ce5\u00d7\u0003\u0002\u0002\u0002\u0ce6\u0ce4\u0003", + "\u0002\u0002\u0002\u0ce7\u0ceb\u0005\u00dan\u0002\u0ce8\u0cea\u0005", + "\u00e0q\u0002\u0ce9\u0ce8\u0003\u0002\u0002\u0002\u0cea\u0ced\u0003", + "\u0002\u0002\u0002\u0ceb\u0ce9\u0003\u0002\u0002\u0002\u0ceb\u0cec\u0003", + "\u0002\u0002\u0002\u0cec\u0cf9\u0003\u0002\u0002\u0002\u0ced\u0ceb\u0003", + "\u0002\u0002\u0002\u0cee\u0cef\u0007\u03fe\u0002\u0002\u0cef\u0cf3\u0005", + "\u00dan\u0002\u0cf0\u0cf2\u0005\u00e0q\u0002\u0cf1\u0cf0\u0003\u0002", + "\u0002\u0002\u0cf2\u0cf5\u0003\u0002\u0002\u0002\u0cf3\u0cf1\u0003\u0002", + "\u0002\u0002\u0cf3\u0cf4\u0003\u0002\u0002\u0002\u0cf4\u0cf6\u0003\u0002", + "\u0002\u0002\u0cf5\u0cf3\u0003\u0002\u0002\u0002\u0cf6\u0cf7\u0007\u03ff", + "\u0002\u0002\u0cf7\u0cf9\u0003\u0002\u0002\u0002\u0cf8\u0ce7\u0003\u0002", + "\u0002\u0002\u0cf8\u0cee\u0003\u0002\u0002\u0002\u0cf9\u00d9\u0003\u0002", + "\u0002\u0002\u0cfa\u0d00\u0005\u01f6\u00fc\u0002\u0cfb\u0cfc\u0007u", + "\u0002\u0002\u0cfc\u0cfd\u0007\u03fe\u0002\u0002\u0cfd\u0cfe\u0005\u022e", + "\u0118\u0002\u0cfe\u0cff\u0007\u03ff\u0002\u0002\u0cff\u0d01\u0003\u0002", + "\u0002\u0002\u0d00\u0cfb\u0003\u0002\u0002\u0002\u0d00\u0d01\u0003\u0002", + "\u0002\u0002\u0d01\u0d06\u0003\u0002\u0002\u0002\u0d02\u0d04\u0007\r", + "\u0002\u0002\u0d03\u0d02\u0003\u0002\u0002\u0002\u0d03\u0d04\u0003\u0002", + "\u0002\u0002\u0d04\u0d05\u0003\u0002\u0002\u0002\u0d05\u0d07\u0005\u020e", + "\u0108\u0002\u0d06\u0d03\u0003\u0002\u0002\u0002\u0d06\u0d07\u0003\u0002", + "\u0002\u0002\u0d07\u0d10\u0003\u0002\u0002\u0002\u0d08\u0d0d\u0005\u00dc", + "o\u0002\u0d09\u0d0a\u0007\u0400\u0002\u0002\u0d0a\u0d0c\u0005\u00dc", + "o\u0002\u0d0b\u0d09\u0003\u0002\u0002\u0002\u0d0c\u0d0f\u0003\u0002", + "\u0002\u0002\u0d0d\u0d0b\u0003\u0002\u0002\u0002\u0d0d\u0d0e\u0003\u0002", + "\u0002\u0002\u0d0e\u0d11\u0003\u0002\u0002\u0002\u0d0f\u0d0d\u0003\u0002", + "\u0002\u0002\u0d10\u0d08\u0003\u0002\u0002\u0002\u0d10\u0d11\u0003\u0002", + "\u0002\u0002\u0d11\u0d23\u0003\u0002\u0002\u0002\u0d12\u0d18\u0005\u00b6", + "\\\u0002\u0d13\u0d14\u0007\u03fe\u0002\u0002\u0d14\u0d15\u0005\u00b6", + "\\\u0002\u0d15\u0d16\u0007\u03ff\u0002\u0002\u0d16\u0d18\u0003\u0002", + "\u0002\u0002\u0d17\u0d12\u0003\u0002\u0002\u0002\u0d17\u0d13\u0003\u0002", + "\u0002\u0002\u0d18\u0d1a\u0003\u0002\u0002\u0002\u0d19\u0d1b\u0007\r", + "\u0002\u0002\u0d1a\u0d19\u0003\u0002\u0002\u0002\u0d1a\u0d1b\u0003\u0002", + "\u0002\u0002\u0d1b\u0d1c\u0003\u0002\u0002\u0002\u0d1c\u0d1d\u0005\u020e", + "\u0108\u0002\u0d1d\u0d23\u0003\u0002\u0002\u0002\u0d1e\u0d1f\u0007\u03fe", + "\u0002\u0002\u0d1f\u0d20\u0005\u00d6l\u0002\u0d20\u0d21\u0007\u03ff", + "\u0002\u0002\u0d21\u0d23\u0003\u0002\u0002\u0002\u0d22\u0cfa\u0003\u0002", + "\u0002\u0002\u0d22\u0d17\u0003\u0002\u0002\u0002\u0d22\u0d1e\u0003\u0002", + "\u0002\u0002\u0d23\u00db\u0003\u0002\u0002\u0002\u0d24\u0d25\t-\u0002", + "\u0002\u0d25\u0d28\t\u0014\u0002\u0002\u0d26\u0d27\u0007<\u0002\u0002", + "\u0d27\u0d29\u0005\u00dep\u0002\u0d28\u0d26\u0003\u0002\u0002\u0002", + "\u0d28\u0d29\u0003\u0002\u0002\u0002\u0d29\u0d2a\u0003\u0002\u0002\u0002", + "\u0d2a\u0d2b\u0007\u03fe\u0002\u0002\u0d2b\u0d2c\u0005\u022e\u0118\u0002", + "\u0d2c\u0d2d\u0007\u03ff\u0002\u0002\u0d2d\u00dd\u0003\u0002\u0002\u0002", + "\u0d2e\u0d34\u0007S\u0002\u0002\u0d2f\u0d30\u0007q\u0002\u0002\u0d30", + "\u0d34\u0007\u0012\u0002\u0002\u0d31\u0d32\u0007D\u0002\u0002\u0d32", + "\u0d34\u0007\u0012\u0002\u0002\u0d33\u0d2e\u0003\u0002\u0002\u0002\u0d33", + "\u0d2f\u0003\u0002\u0002\u0002\u0d33\u0d31\u0003\u0002\u0002\u0002\u0d34", + "\u00df\u0003\u0002\u0002\u0002\u0d35\u0d37\t.\u0002\u0002\u0d36\u0d35", + "\u0003\u0002\u0002\u0002\u0d36\u0d37\u0003\u0002\u0002\u0002\u0d37\u0d38", + "\u0003\u0002\u0002\u0002\u0d38\u0d39\u0007S\u0002\u0002\u0d39\u0d41", + "\u0005\u00dan\u0002\u0d3a\u0d3b\u0007l\u0002\u0002\u0d3b\u0d42\u0005", + "\u025c\u012f\u0002\u0d3c\u0d3d\u0007\u00ab\u0002\u0002\u0d3d\u0d3e\u0007", + "\u03fe\u0002\u0002\u0d3e\u0d3f\u0005\u022e\u0118\u0002\u0d3f\u0d40\u0007", + "\u03ff\u0002\u0002\u0d40\u0d42\u0003\u0002\u0002\u0002\u0d41\u0d3a\u0003", + "\u0002\u0002\u0002\u0d41\u0d3c\u0003\u0002\u0002\u0002\u0d41\u0d42\u0003", + "\u0002\u0002\u0002\u0d42\u0d62\u0003\u0002\u0002\u0002\u0d43\u0d44\u0007", + "\u009b\u0002\u0002\u0d44\u0d47\u0005\u00dan\u0002\u0d45\u0d46\u0007", + "l\u0002\u0002\u0d46\u0d48\u0005\u025c\u012f\u0002\u0d47\u0d45\u0003", + "\u0002\u0002\u0002\u0d47\u0d48\u0003\u0002\u0002\u0002\u0d48\u0d62\u0003", + "\u0002\u0002\u0002\u0d49\u0d4b\t/\u0002\u0002\u0d4a\u0d4c\u0007s\u0002", + "\u0002\u0d4b\u0d4a\u0003\u0002\u0002\u0002\u0d4b\u0d4c\u0003\u0002\u0002", + "\u0002\u0d4c\u0d4d\u0003\u0002\u0002\u0002\u0d4d\u0d4e\u0007S\u0002", + "\u0002\u0d4e\u0d56\u0005\u00dan\u0002\u0d4f\u0d50\u0007l\u0002\u0002", + "\u0d50\u0d57\u0005\u025c\u012f\u0002\u0d51\u0d52\u0007\u00ab\u0002\u0002", + "\u0d52\u0d53\u0007\u03fe\u0002\u0002\u0d53\u0d54\u0005\u022e\u0118\u0002", + "\u0d54\u0d55\u0007\u03ff\u0002\u0002\u0d55\u0d57\u0003\u0002\u0002\u0002", + "\u0d56\u0d4f\u0003\u0002\u0002\u0002\u0d56\u0d51\u0003\u0002\u0002\u0002", + "\u0d57\u0d62\u0003\u0002\u0002\u0002\u0d58\u0d5d\u0007g\u0002\u0002", + "\u0d59\u0d5b\t/\u0002\u0002\u0d5a\u0d5c\u0007s\u0002\u0002\u0d5b\u0d5a", + "\u0003\u0002\u0002\u0002\u0d5b\u0d5c\u0003\u0002\u0002\u0002\u0d5c\u0d5e", + "\u0003\u0002\u0002\u0002\u0d5d\u0d59\u0003\u0002\u0002\u0002\u0d5d\u0d5e", + "\u0003\u0002\u0002\u0002\u0d5e\u0d5f\u0003\u0002\u0002\u0002\u0d5f\u0d60", + "\u0007S\u0002\u0002\u0d60\u0d62\u0005\u00dan\u0002\u0d61\u0d36\u0003", + "\u0002\u0002\u0002\u0d61\u0d43\u0003\u0002\u0002\u0002\u0d61\u0d49\u0003", + "\u0002\u0002\u0002\u0d61\u0d58\u0003\u0002\u0002\u0002\u0d62\u00e1\u0003", + "\u0002\u0002\u0002\u0d63\u0d64\u0007\u03fe\u0002\u0002\u0d64\u0d65\u0005", + "\u00e6t\u0002\u0d65\u0d66\u0007\u03ff\u0002\u0002\u0d66\u0d6c\u0003", + "\u0002\u0002\u0002\u0d67\u0d68\u0007\u03fe\u0002\u0002\u0d68\u0d69\u0005", + "\u00e2r\u0002\u0d69\u0d6a\u0007\u03ff\u0002\u0002\u0d6a\u0d6c\u0003", + "\u0002\u0002\u0002\u0d6b\u0d63\u0003\u0002\u0002\u0002\u0d6b\u0d67\u0003", + "\u0002\u0002\u0002\u0d6c\u00e3\u0003\u0002\u0002\u0002\u0d6d\u0d6e\u0007", + "\u03fe\u0002\u0002\u0d6e\u0d6f\u0005\u00e8u\u0002\u0d6f\u0d70\u0007", + "\u03ff\u0002\u0002\u0d70\u0d76\u0003\u0002\u0002\u0002\u0d71\u0d72\u0007", + "\u03fe\u0002\u0002\u0d72\u0d73\u0005\u00e4s\u0002\u0d73\u0d74\u0007", + "\u03ff\u0002\u0002\u0d74\u0d76\u0003\u0002\u0002\u0002\u0d75\u0d6d\u0003", + "\u0002\u0002\u0002\u0d75\u0d71\u0003\u0002\u0002\u0002\u0d76\u00e5\u0003", + "\u0002\u0002\u0002\u0d77\u0d7b\u0007\u008b\u0002\u0002\u0d78\u0d7a\u0005", + "\u00eex\u0002\u0d79\u0d78\u0003\u0002\u0002\u0002\u0d7a\u0d7d\u0003", + "\u0002\u0002\u0002\u0d7b\u0d79\u0003\u0002\u0002\u0002\u0d7b\u0d7c\u0003", + "\u0002\u0002\u0002\u0d7c\u0d7e\u0003\u0002\u0002\u0002\u0d7d\u0d7b\u0003", + "\u0002\u0002\u0002\u0d7e\u0d80\u0005\u00f0y\u0002\u0d7f\u0d81\u0005", + "\u00f4{\u0002\u0d80\u0d7f\u0003\u0002\u0002\u0002\u0d80\u0d81\u0003", + "\u0002\u0002\u0002\u0d81\u0d83\u0003\u0002\u0002\u0002\u0d82\u0d84\u0005", + "\u00fa~\u0002\u0d83\u0d82\u0003\u0002\u0002\u0002\u0d83\u0d84\u0003", + "\u0002\u0002\u0002\u0d84\u0d86\u0003\u0002\u0002\u0002\u0d85\u0d87\u0005", + "\u00d2j\u0002\u0d86\u0d85\u0003\u0002\u0002\u0002\u0d86\u0d87\u0003", + "\u0002\u0002\u0002\u0d87\u0d89\u0003\u0002\u0002\u0002\u0d88\u0d8a\u0005", + "\u00fe\u0080\u0002\u0d89\u0d88\u0003\u0002\u0002\u0002\u0d89\u0d8a\u0003", + "\u0002\u0002\u0002\u0d8a\u0da0\u0003\u0002\u0002\u0002\u0d8b\u0d8f\u0007", + "\u008b\u0002\u0002\u0d8c\u0d8e\u0005\u00eex\u0002\u0d8d\u0d8c\u0003", + "\u0002\u0002\u0002\u0d8e\u0d91\u0003\u0002\u0002\u0002\u0d8f\u0d8d\u0003", + "\u0002\u0002\u0002\u0d8f\u0d90\u0003\u0002\u0002\u0002\u0d90\u0d92\u0003", + "\u0002\u0002\u0002\u0d91\u0d8f\u0003\u0002\u0002\u0002\u0d92\u0d94\u0005", + "\u00f0y\u0002\u0d93\u0d95\u0005\u00fa~\u0002\u0d94\u0d93\u0003\u0002", + "\u0002\u0002\u0d94\u0d95\u0003\u0002\u0002\u0002\u0d95\u0d97\u0003\u0002", + "\u0002\u0002\u0d96\u0d98\u0005\u00d2j\u0002\u0d97\u0d96\u0003\u0002", + "\u0002\u0002\u0d97\u0d98\u0003\u0002\u0002\u0002\u0d98\u0d9a\u0003\u0002", + "\u0002\u0002\u0d99\u0d9b\u0005\u00fe\u0080\u0002\u0d9a\u0d99\u0003\u0002", + "\u0002\u0002\u0d9a\u0d9b\u0003\u0002\u0002\u0002\u0d9b\u0d9d\u0003\u0002", + "\u0002\u0002\u0d9c\u0d9e\u0005\u00f4{\u0002\u0d9d\u0d9c\u0003\u0002", + "\u0002\u0002\u0d9d\u0d9e\u0003\u0002\u0002\u0002\u0d9e\u0da0\u0003\u0002", + "\u0002\u0002\u0d9f\u0d77\u0003\u0002\u0002\u0002\u0d9f\u0d8b\u0003\u0002", + "\u0002\u0002\u0da0\u00e7\u0003\u0002\u0002\u0002\u0da1\u0da5\u0007\u008b", + "\u0002\u0002\u0da2\u0da4\u0005\u00eex\u0002\u0da3\u0da2\u0003\u0002", + "\u0002\u0002\u0da4\u0da7\u0003\u0002\u0002\u0002\u0da5\u0da3\u0003\u0002", + "\u0002\u0002\u0da5\u0da6\u0003\u0002\u0002\u0002\u0da6\u0da8\u0003\u0002", + "\u0002\u0002\u0da7\u0da5\u0003\u0002\u0002\u0002\u0da8\u0daa\u0005\u00f0", + "y\u0002\u0da9\u0dab\u0005\u00fa~\u0002\u0daa\u0da9\u0003\u0002\u0002", + "\u0002\u0daa\u0dab\u0003\u0002\u0002\u0002\u0dab\u0dad\u0003\u0002\u0002", + "\u0002\u0dac\u0dae\u0005\u00d2j\u0002\u0dad\u0dac\u0003\u0002\u0002", + "\u0002\u0dad\u0dae\u0003\u0002\u0002\u0002\u0dae\u0db0\u0003\u0002\u0002", + "\u0002\u0daf\u0db1\u0005\u00fe\u0080\u0002\u0db0\u0daf\u0003\u0002\u0002", + "\u0002\u0db0\u0db1\u0003\u0002\u0002\u0002\u0db1\u00e9\u0003\u0002\u0002", + "\u0002\u0db2\u0db4\u0007\u00a4\u0002\u0002\u0db3\u0db5\t(\u0002\u0002", + "\u0db4\u0db3\u0003\u0002\u0002\u0002\u0db4\u0db5\u0003\u0002\u0002\u0002", + "\u0db5\u0db6\u0003\u0002\u0002\u0002\u0db6\u0db7\u0005\u00e4s\u0002", + "\u0db7\u00eb\u0003\u0002\u0002\u0002\u0db8\u0dba\u0007\u00a4\u0002\u0002", + "\u0db9\u0dbb\t(\u0002\u0002\u0dba\u0db9\u0003\u0002\u0002\u0002\u0dba", + "\u0dbb\u0003\u0002\u0002\u0002\u0dbb\u0dbe\u0003\u0002\u0002\u0002\u0dbc", + "\u0dbf\u0005\u00e8u\u0002\u0dbd\u0dbf\u0005\u00e4s\u0002\u0dbe\u0dbc", + "\u0003\u0002\u0002\u0002\u0dbe\u0dbd\u0003\u0002\u0002\u0002\u0dbf\u00ed", + "\u0003\u0002\u0002\u0002\u0dc0\u0dc9\t0\u0002\u0002\u0dc1\u0dc9\u0007", + "F\u0002\u0002\u0dc2\u0dc9\u0007\u009b\u0002\u0002\u0dc3\u0dc9\u0007", + "\u0097\u0002\u0002\u0dc4\u0dc9\u0007\u0095\u0002\u0002\u0dc5\u0dc9\u0007", + "\u0218\u0002\u0002\u0dc6\u0dc9\t1\u0002\u0002\u0dc7\u0dc9\u0007\u0096", + "\u0002\u0002\u0dc8\u0dc0\u0003\u0002\u0002\u0002\u0dc8\u0dc1\u0003\u0002", + "\u0002\u0002\u0dc8\u0dc2\u0003\u0002\u0002\u0002\u0dc8\u0dc3\u0003\u0002", + "\u0002\u0002\u0dc8\u0dc4\u0003\u0002\u0002\u0002\u0dc8\u0dc5\u0003\u0002", + "\u0002\u0002\u0dc8\u0dc6\u0003\u0002\u0002\u0002\u0dc8\u0dc7\u0003\u0002", + "\u0002\u0002\u0dc9\u00ef\u0003\u0002\u0002\u0002\u0dca\u0dcd\u0007\u03ed", + "\u0002\u0002\u0dcb\u0dcd\u0005\u00f2z\u0002\u0dcc\u0dca\u0003\u0002", + "\u0002\u0002\u0dcc\u0dcb\u0003\u0002\u0002\u0002\u0dcd\u0dd2\u0003\u0002", + "\u0002\u0002\u0dce\u0dcf\u0007\u0400\u0002\u0002\u0dcf\u0dd1\u0005\u00f2", + "z\u0002\u0dd0\u0dce\u0003\u0002\u0002\u0002\u0dd1\u0dd4\u0003\u0002", + "\u0002\u0002\u0dd2\u0dd0\u0003\u0002\u0002\u0002\u0dd2\u0dd3\u0003\u0002", + "\u0002\u0002\u0dd3\u00f1\u0003\u0002\u0002\u0002\u0dd4\u0dd2\u0003\u0002", + "\u0002\u0002\u0dd5\u0dd6\u0005\u01f4\u00fb\u0002\u0dd6\u0dd7\u0007\u03fd", + "\u0002\u0002\u0dd7\u0dd8\u0007\u03ed\u0002\u0002\u0dd8\u0df3\u0003\u0002", + "\u0002\u0002\u0dd9\u0dde\u0005\u01f8\u00fd\u0002\u0dda\u0ddc\u0007\r", + "\u0002\u0002\u0ddb\u0dda\u0003\u0002\u0002\u0002\u0ddb\u0ddc\u0003\u0002", + "\u0002\u0002\u0ddc\u0ddd\u0003\u0002\u0002\u0002\u0ddd\u0ddf\u0005\u020e", + "\u0108\u0002\u0dde\u0ddb\u0003\u0002\u0002\u0002\u0dde\u0ddf\u0003\u0002", + "\u0002\u0002\u0ddf\u0df3\u0003\u0002\u0002\u0002\u0de0\u0de5\u0005\u0248", + "\u0125\u0002\u0de1\u0de3\u0007\r\u0002\u0002\u0de2\u0de1\u0003\u0002", + "\u0002\u0002\u0de2\u0de3\u0003\u0002\u0002\u0002\u0de3\u0de4\u0003\u0002", + "\u0002\u0002\u0de4\u0de6\u0005\u020e\u0108\u0002\u0de5\u0de2\u0003\u0002", + "\u0002\u0002\u0de5\u0de6\u0003\u0002\u0002\u0002\u0de6\u0df3\u0003\u0002", + "\u0002\u0002\u0de7\u0de8\u0007\u0418\u0002\u0002\u0de8\u0dea\u0007\u03e4", + "\u0002\u0002\u0de9\u0de7\u0003\u0002\u0002\u0002\u0de9\u0dea\u0003\u0002", + "\u0002\u0002\u0dea\u0deb\u0003\u0002\u0002\u0002\u0deb\u0df0\u0005\u025c", + "\u012f\u0002\u0dec\u0dee\u0007\r\u0002\u0002\u0ded\u0dec\u0003\u0002", + "\u0002\u0002\u0ded\u0dee\u0003\u0002\u0002\u0002\u0dee\u0def\u0003\u0002", + "\u0002\u0002\u0def\u0df1\u0005\u020e\u0108\u0002\u0df0\u0ded\u0003\u0002", + "\u0002\u0002\u0df0\u0df1\u0003\u0002\u0002\u0002\u0df1\u0df3\u0003\u0002", + "\u0002\u0002\u0df2\u0dd5\u0003\u0002\u0002\u0002\u0df2\u0dd9\u0003\u0002", + "\u0002\u0002\u0df2\u0de0\u0003\u0002\u0002\u0002\u0df2\u0de9\u0003\u0002", + "\u0002\u0002\u0df3\u00f3\u0003\u0002\u0002\u0002\u0df4\u0df5\u0007P", + "\u0002\u0002\u0df5\u0dfa\u0005\u00be`\u0002\u0df6\u0df7\u0007\u0400", + "\u0002\u0002\u0df7\u0df9\u0005\u00be`\u0002\u0df8\u0df6\u0003\u0002", + "\u0002\u0002\u0df9\u0dfc\u0003\u0002\u0002\u0002\u0dfa\u0df8\u0003\u0002", + "\u0002\u0002\u0dfa\u0dfb\u0003\u0002\u0002\u0002\u0dfb\u0e19\u0003\u0002", + "\u0002\u0002\u0dfc\u0dfa\u0003\u0002\u0002\u0002\u0dfd\u0dfe\u0007P", + "\u0002\u0002\u0dfe\u0dff\u0007\u0151\u0002\u0002\u0dff\u0e19\u0007\u040d", + "\u0002\u0002\u0e00\u0e01\u0007P\u0002\u0002\u0e01\u0e02\u0007t\u0002", + "\u0002\u0e02\u0e06\u0007\u040d\u0002\u0002\u0e03\u0e04\u0007\u0018\u0002", + "\u0002\u0e04\u0e05\u0007\u008c\u0002\u0002\u0e05\u0e07\u0005\u0200\u0101", + "\u0002\u0e06\u0e03\u0003\u0002\u0002\u0002\u0e06\u0e07\u0003\u0002\u0002", + "\u0002\u0e07\u0e0e\u0003\u0002\u0002\u0002\u0e08\u0e0a\t%\u0002\u0002", + "\u0e09\u0e0b\u0005\u00f6|\u0002\u0e0a\u0e09\u0003\u0002\u0002\u0002", + "\u0e0b\u0e0c\u0003\u0002\u0002\u0002\u0e0c\u0e0a\u0003\u0002\u0002\u0002", + "\u0e0c\u0e0d\u0003\u0002\u0002\u0002\u0e0d\u0e0f\u0003\u0002\u0002\u0002", + "\u0e0e\u0e08\u0003\u0002\u0002\u0002\u0e0e\u0e0f\u0003\u0002\u0002\u0002", + "\u0e0f\u0e16\u0003\u0002\u0002\u0002\u0e10\u0e12\u0007]\u0002\u0002", + "\u0e11\u0e13\u0005\u00f8}\u0002\u0e12\u0e11\u0003\u0002\u0002\u0002", + "\u0e13\u0e14\u0003\u0002\u0002\u0002\u0e14\u0e12\u0003\u0002\u0002\u0002", + "\u0e14\u0e15\u0003\u0002\u0002\u0002\u0e15\u0e17\u0003\u0002\u0002\u0002", + "\u0e16\u0e10\u0003\u0002\u0002\u0002\u0e16\u0e17\u0003\u0002\u0002\u0002", + "\u0e17\u0e19\u0003\u0002\u0002\u0002\u0e18\u0df4\u0003\u0002\u0002\u0002", + "\u0e18\u0dfd\u0003\u0002\u0002\u0002\u0e18\u0e00\u0003\u0002\u0002\u0002", + "\u0e19\u00f5\u0003\u0002\u0002\u0002\u0e1a\u0e1b\u0007\u009d\u0002\u0002", + "\u0e1b\u0e1c\u0007\u0012\u0002\u0002\u0e1c\u0e27\u0007\u040d\u0002\u0002", + "\u0e1d\u0e1f\u0007o\u0002\u0002\u0e1e\u0e1d\u0003\u0002\u0002\u0002", + "\u0e1e\u0e1f\u0003\u0002\u0002\u0002\u0e1f\u0e20\u0003\u0002\u0002\u0002", + "\u0e20\u0e21\u00075\u0002\u0002\u0e21\u0e22\u0007\u0012\u0002\u0002", + "\u0e22\u0e27\u0007\u040d\u0002\u0002\u0e23\u0e24\u00076\u0002\u0002", + "\u0e24\u0e25\u0007\u0012\u0002\u0002\u0e25\u0e27\u0007\u040d\u0002\u0002", + "\u0e26\u0e1a\u0003\u0002\u0002\u0002\u0e26\u0e1e\u0003\u0002\u0002\u0002", + "\u0e26\u0e23\u0003\u0002\u0002\u0002\u0e27\u00f7\u0003\u0002\u0002\u0002", + "\u0e28\u0e29\u0007\u009a\u0002\u0002\u0e29\u0e2a\u0007\u0012\u0002\u0002", + "\u0e2a\u0e2f\u0007\u040d\u0002\u0002\u0e2b\u0e2c\u0007\u009d\u0002\u0002", + "\u0e2c\u0e2d\u0007\u0012\u0002\u0002\u0e2d\u0e2f\u0007\u040d\u0002\u0002", + "\u0e2e\u0e28\u0003\u0002\u0002\u0002\u0e2e\u0e2b\u0003\u0002\u0002\u0002", + "\u0e2f\u00f9\u0003\u0002\u0002\u0002\u0e30\u0e31\u0007?\u0002\u0002", + "\u0e31\u0e34\u0005\u00d6l\u0002\u0e32\u0e33\u0007\u00ae\u0002\u0002", + "\u0e33\u0e35\u0005\u025c\u012f\u0002\u0e34\u0e32\u0003\u0002\u0002\u0002", + "\u0e34\u0e35\u0003\u0002\u0002\u0002\u0e35\u0e44\u0003\u0002\u0002\u0002", + "\u0e36\u0e37\u0007D\u0002\u0002\u0e37\u0e38\u0007\u0012\u0002\u0002", + "\u0e38\u0e3d\u0005\u00fc\u007f\u0002\u0e39\u0e3a\u0007\u0400\u0002\u0002", + "\u0e3a\u0e3c\u0005\u00fc\u007f\u0002\u0e3b\u0e39\u0003\u0002\u0002\u0002", + "\u0e3c\u0e3f\u0003\u0002\u0002\u0002\u0e3d\u0e3b\u0003\u0002\u0002\u0002", + "\u0e3d\u0e3e\u0003\u0002\u0002\u0002\u0e3e\u0e42\u0003\u0002\u0002\u0002", + "\u0e3f\u0e3d\u0003\u0002\u0002\u0002\u0e40\u0e41\u0007\u00b0\u0002\u0002", + "\u0e41\u0e43\u0007\u01ff\u0002\u0002\u0e42\u0e40\u0003\u0002\u0002\u0002", + "\u0e42\u0e43\u0003\u0002\u0002\u0002\u0e43\u0e45\u0003\u0002\u0002\u0002", + "\u0e44\u0e36\u0003\u0002\u0002\u0002\u0e44\u0e45\u0003\u0002\u0002\u0002", + "\u0e45\u0e48\u0003\u0002\u0002\u0002\u0e46\u0e47\u0007E\u0002\u0002", + "\u0e47\u0e49\u0005\u025c\u012f\u0002\u0e48\u0e46\u0003\u0002\u0002\u0002", + "\u0e48\u0e49\u0003\u0002\u0002\u0002\u0e49\u00fb\u0003\u0002\u0002\u0002", + "\u0e4a\u0e4c\u0005\u025c\u012f\u0002\u0e4b\u0e4d\t,\u0002\u0002\u0e4c", + "\u0e4b\u0003\u0002\u0002\u0002\u0e4c\u0e4d\u0003\u0002\u0002\u0002\u0e4d", + "\u00fd\u0003\u0002\u0002\u0002\u0e4e\u0e59\u0007[\u0002\u0002\u0e4f", + "\u0e50\u0005\u0100\u0081\u0002\u0e50\u0e51\u0007\u0400\u0002\u0002\u0e51", + "\u0e53\u0003\u0002\u0002\u0002\u0e52\u0e4f\u0003\u0002\u0002\u0002\u0e52", + "\u0e53\u0003\u0002\u0002\u0002\u0e53\u0e54\u0003\u0002\u0002\u0002\u0e54", + "\u0e5a\u0005\u0100\u0081\u0002\u0e55\u0e56\u0005\u0100\u0081\u0002\u0e56", + "\u0e57\u0007\u01c6\u0002\u0002\u0e57\u0e58\u0005\u0100\u0081\u0002\u0e58", + "\u0e5a\u0003\u0002\u0002\u0002\u0e59\u0e52\u0003\u0002\u0002\u0002\u0e59", + "\u0e55\u0003\u0002\u0002\u0002\u0e5a\u00ff\u0003\u0002\u0002\u0002\u0e5b", + "\u0e5e\u0005\u0214\u010b\u0002\u0e5c\u0e5e\u0005\u01fe\u0100\u0002\u0e5d", + "\u0e5b\u0003\u0002\u0002\u0002\u0e5d\u0e5c\u0003\u0002\u0002\u0002\u0e5e", + "\u0101\u0003\u0002\u0002\u0002\u0e5f\u0e60\u0007\u021c\u0002\u0002\u0e60", + "\u0e69\u0007\u0233\u0002\u0002\u0e61\u0e66\u0005\u0118\u008d\u0002\u0e62", + "\u0e63\u0007\u0400\u0002\u0002\u0e63\u0e65\u0005\u0118\u008d\u0002\u0e64", + "\u0e62\u0003\u0002\u0002\u0002\u0e65\u0e68\u0003\u0002\u0002\u0002\u0e66", + "\u0e64\u0003\u0002\u0002\u0002\u0e66\u0e67\u0003\u0002\u0002\u0002\u0e67", + "\u0e6a\u0003\u0002\u0002\u0002\u0e68\u0e66\u0003\u0002\u0002\u0002\u0e69", + "\u0e61\u0003\u0002\u0002\u0002\u0e69\u0e6a\u0003\u0002\u0002\u0002\u0e6a", + "\u0103\u0003\u0002\u0002\u0002\u0e6b\u0e6d\u0007\u011c\u0002\u0002\u0e6c", + "\u0e6e\u0007\u024a\u0002\u0002\u0e6d\u0e6c\u0003\u0002\u0002\u0002\u0e6d", + "\u0e6e\u0003\u0002\u0002\u0002\u0e6e\u0105\u0003\u0002\u0002\u0002\u0e6f", + "\u0e71\u0007\u0134\u0002\u0002\u0e70\u0e72\u0007\u024a\u0002\u0002\u0e71", + "\u0e70\u0003\u0002\u0002\u0002\u0e71\u0e72\u0003\u0002\u0002\u0002\u0e72", + "\u0e78\u0003\u0002\u0002\u0002\u0e73\u0e75\u0007\f\u0002\u0002\u0e74", + "\u0e76\u0007\u01c2\u0002\u0002\u0e75\u0e74\u0003\u0002\u0002\u0002\u0e75", + "\u0e76\u0003\u0002\u0002\u0002\u0e76\u0e77\u0003\u0002\u0002\u0002\u0e77", + "\u0e79\u0007\u0125\u0002\u0002\u0e78\u0e73\u0003\u0002\u0002\u0002\u0e78", + "\u0e79\u0003\u0002\u0002\u0002\u0e79\u0e7e\u0003\u0002\u0002\u0002\u0e7a", + "\u0e7c\u0007\u01c2\u0002\u0002\u0e7b\u0e7a\u0003\u0002\u0002\u0002\u0e7b", + "\u0e7c\u0003\u0002\u0002\u0002\u0e7c\u0e7d\u0003\u0002\u0002\u0002\u0e7d", + "\u0e7f\u0007~\u0002\u0002\u0e7e\u0e7b\u0003\u0002\u0002\u0002\u0e7e", + "\u0e7f\u0003\u0002\u0002\u0002\u0e7f\u0107\u0003\u0002\u0002\u0002\u0e80", + "\u0e82\u0007\u01fe\u0002\u0002\u0e81\u0e83\u0007\u024a\u0002\u0002\u0e82", + "\u0e81\u0003\u0002\u0002\u0002\u0e82\u0e83\u0003\u0002\u0002\u0002\u0e83", + "\u0e89\u0003\u0002\u0002\u0002\u0e84\u0e86\u0007\f\u0002\u0002\u0e85", + "\u0e87\u0007\u01c2\u0002\u0002\u0e86\u0e85\u0003\u0002\u0002\u0002\u0e86", + "\u0e87\u0003\u0002\u0002\u0002\u0e87\u0e88\u0003\u0002\u0002\u0002\u0e88", + "\u0e8a\u0007\u0125\u0002\u0002\u0e89\u0e84\u0003\u0002\u0002\u0002\u0e89", + "\u0e8a\u0003\u0002\u0002\u0002\u0e8a\u0e8f\u0003\u0002\u0002\u0002\u0e8b", + "\u0e8d\u0007\u01c2\u0002\u0002\u0e8c\u0e8b\u0003\u0002\u0002\u0002\u0e8c", + "\u0e8d\u0003\u0002\u0002\u0002\u0e8d\u0e8e\u0003\u0002\u0002\u0002\u0e8e", + "\u0e90\u0007~\u0002\u0002\u0e8f\u0e8c\u0003\u0002\u0002\u0002\u0e8f", + "\u0e90\u0003\u0002\u0002\u0002\u0e90\u0109\u0003\u0002\u0002\u0002\u0e91", + "\u0e92\u0007\u0204\u0002\u0002\u0e92\u0e93\u0005\u020e\u0108\u0002\u0e93", + "\u010b\u0003\u0002\u0002\u0002\u0e94\u0e96\u0007\u01fe\u0002\u0002\u0e95", + "\u0e97\u0007\u024a\u0002\u0002\u0e96\u0e95\u0003\u0002\u0002\u0002\u0e96", + "\u0e97\u0003\u0002\u0002\u0002\u0e97\u0e98\u0003\u0002\u0002\u0002\u0e98", + "\u0e9a\u0007\u009f\u0002\u0002\u0e99\u0e9b\u0007\u0204\u0002\u0002\u0e9a", + "\u0e99\u0003\u0002\u0002\u0002\u0e9a\u0e9b\u0003\u0002\u0002\u0002\u0e9b", + "\u0e9c\u0003\u0002\u0002\u0002\u0e9c\u0e9d\u0005\u020e\u0108\u0002\u0e9d", + "\u010d\u0003\u0002\u0002\u0002\u0e9e\u0e9f\u0007~\u0002\u0002\u0e9f", + "\u0ea0\u0007\u0204\u0002\u0002\u0ea0\u0ea1\u0005\u020e\u0108\u0002\u0ea1", + "\u010f\u0003\u0002\u0002\u0002\u0ea2\u0ea3\u0007_\u0002\u0002\u0ea3", + "\u0ea4\u0007\u025c\u0002\u0002\u0ea4\u0ea9\u0005\u011a\u008e\u0002\u0ea5", + "\u0ea6\u0007\u0400\u0002\u0002\u0ea6\u0ea8\u0005\u011a\u008e\u0002\u0ea7", + "\u0ea5\u0003\u0002\u0002\u0002\u0ea8\u0eab\u0003\u0002\u0002\u0002\u0ea9", + "\u0ea7\u0003\u0002\u0002\u0002\u0ea9\u0eaa\u0003\u0002\u0002\u0002\u0eaa", + "\u0111\u0003\u0002\u0002\u0002\u0eab\u0ea9\u0003\u0002\u0002\u0002\u0eac", + "\u0ead\u0007\u00a6\u0002\u0002\u0ead\u0eae\u0007\u025c\u0002\u0002\u0eae", + "\u0113\u0003\u0002\u0002\u0002\u0eaf\u0eb0\u0007\u008c\u0002\u0002\u0eb0", + "\u0eb1\u0007\u0118\u0002\u0002\u0eb1\u0eb2\u0007\u03f5\u0002\u0002\u0eb2", + "\u0eb3\t\u0018\u0002\u0002\u0eb3\u0115\u0003\u0002\u0002\u0002\u0eb4", + "\u0eb6\u0007\u008c\u0002\u0002\u0eb5\u0eb7\t2\u0002\u0002\u0eb6\u0eb5", + "\u0003\u0002\u0002\u0002\u0eb6\u0eb7\u0003\u0002\u0002\u0002\u0eb7\u0eb8", + "\u0003\u0002\u0002\u0002\u0eb8\u0eb9\u0007\u0233\u0002\u0002\u0eb9\u0ebe", + "\u0005\u011e\u0090\u0002\u0eba\u0ebb\u0007\u0400\u0002\u0002\u0ebb\u0ebd", + "\u0005\u011e\u0090\u0002\u0ebc\u0eba\u0003\u0002\u0002\u0002\u0ebd\u0ec0", + "\u0003\u0002\u0002\u0002\u0ebe\u0ebc\u0003\u0002\u0002\u0002\u0ebe\u0ebf", + "\u0003\u0002\u0002\u0002\u0ebf\u0117\u0003\u0002\u0002\u0002\u0ec0\u0ebe", + "\u0003\u0002\u0002\u0002\u0ec1\u0ec2\u0007\u00b0\u0002\u0002\u0ec2\u0ec3", + "\u0007\u013b\u0002\u0002\u0ec3\u0ec9\u0007\u020f\u0002\u0002\u0ec4\u0ec5", + "\u0007z\u0002\u0002\u0ec5\u0ec9\u0007\u00b1\u0002\u0002\u0ec6\u0ec7", + "\u0007z\u0002\u0002\u0ec7\u0ec9\u0007\u01cb\u0002\u0002\u0ec8\u0ec1", + "\u0003\u0002\u0002\u0002\u0ec8\u0ec4\u0003\u0002\u0002\u0002\u0ec8\u0ec6", + "\u0003\u0002\u0002\u0002\u0ec9\u0119\u0003\u0002\u0002\u0002\u0eca\u0ecf", + "\u0005\u01f6\u00fc\u0002\u0ecb\u0ecd\u0007\r\u0002\u0002\u0ecc\u0ecb", + "\u0003\u0002\u0002\u0002\u0ecc\u0ecd\u0003\u0002\u0002\u0002\u0ecd\u0ece", + "\u0003\u0002\u0002\u0002\u0ece\u0ed0\u0005\u020e\u0108\u0002\u0ecf\u0ecc", + "\u0003\u0002\u0002\u0002\u0ecf\u0ed0\u0003\u0002\u0002\u0002\u0ed0\u0ed1", + "\u0003\u0002\u0002\u0002\u0ed1\u0ed2\u0005\u011c\u008f\u0002\u0ed2\u011b", + "\u0003\u0002\u0002\u0002\u0ed3\u0ed5\u0007z\u0002\u0002\u0ed4\u0ed6", + "\u0007\u0194\u0002\u0002\u0ed5\u0ed4\u0003\u0002\u0002\u0002\u0ed5\u0ed6", + "\u0003\u0002\u0002\u0002\u0ed6\u0edc\u0003\u0002\u0002\u0002\u0ed7\u0ed9", + "\u0007a\u0002\u0002\u0ed8\u0ed7\u0003\u0002\u0002\u0002\u0ed8\u0ed9", + "\u0003\u0002\u0002\u0002\u0ed9\u0eda\u0003\u0002\u0002\u0002\u0eda\u0edc", + "\u0007\u00b1\u0002\u0002\u0edb\u0ed3\u0003\u0002\u0002\u0002\u0edb\u0ed8", + "\u0003\u0002\u0002\u0002\u0edc\u011d\u0003\u0002\u0002\u0002\u0edd\u0ede", + "\u0007\u018a\u0002\u0002\u0ede\u0edf\u0007\u0192\u0002\u0002\u0edf\u0ee5", + "\u0005\u0120\u0091\u0002\u0ee0\u0ee1\u0007z\u0002\u0002\u0ee1\u0ee5", + "\u0007\u00b1\u0002\u0002\u0ee2\u0ee3\u0007z\u0002\u0002\u0ee3\u0ee5", + "\u0007\u01cb\u0002\u0002\u0ee4\u0edd\u0003\u0002\u0002\u0002\u0ee4\u0ee0", + "\u0003\u0002\u0002\u0002\u0ee4\u0ee2\u0003\u0002\u0002\u0002\u0ee5\u011f", + "\u0003\u0002\u0002\u0002\u0ee6\u0ee7\u0007\u02b3\u0002\u0002\u0ee7\u0eee", + "\u0007z\u0002\u0002\u0ee8\u0ee9\u0007z\u0002\u0002\u0ee9\u0eee\u0007", + "\u02b4\u0002\u0002\u0eea\u0eeb\u0007z\u0002\u0002\u0eeb\u0eee\u0007", + "\u02b5\u0002\u0002\u0eec\u0eee\u0007\u02b6\u0002\u0002\u0eed\u0ee6\u0003", + "\u0002\u0002\u0002\u0eed\u0ee8\u0003\u0002\u0002\u0002\u0eed\u0eea\u0003", + "\u0002\u0002\u0002\u0eed\u0eec\u0003\u0002\u0002\u0002\u0eee\u0121\u0003", + "\u0002\u0002\u0002\u0eef\u0ef0\u0007\u0017\u0002\u0002\u0ef0\u0ef1\u0007", + "\u0197\u0002\u0002\u0ef1\u0ef2\u0007\u009f\u0002\u0002\u0ef2\u0ef7\u0005", + "\u0134\u009b\u0002\u0ef3\u0ef4\u0007\u0400\u0002\u0002\u0ef4\u0ef6\u0005", + "\u0134\u009b\u0002\u0ef5\u0ef3\u0003\u0002\u0002\u0002\u0ef6\u0ef9\u0003", + "\u0002\u0002\u0002\u0ef7\u0ef5\u0003\u0002\u0002\u0002\u0ef7\u0ef8\u0003", + "\u0002\u0002\u0002\u0ef8\u0efb\u0003\u0002\u0002\u0002\u0ef9\u0ef7\u0003", + "\u0002\u0002\u0002\u0efa\u0efc\u0005\u013c\u009f\u0002\u0efb\u0efa\u0003", + "\u0002\u0002\u0002\u0efb\u0efc\u0003\u0002\u0002\u0002\u0efc\u0123\u0003", + "\u0002\u0002\u0002\u0efd\u0efe\u0007\u0017\u0002\u0002\u0efe\u0eff\u0007", + "\u01f8\u0002\u0002\u0eff\u0f00\u0007\u016b\u0002\u0002\u0f00\u0f05\u0005", + "\u013e\u00a0\u0002\u0f01\u0f02\u0007\u0400\u0002\u0002\u0f02\u0f04\u0005", + "\u013e\u00a0\u0002\u0f03\u0f01\u0003\u0002\u0002\u0002\u0f04\u0f07\u0003", + "\u0002\u0002\u0002\u0f05\u0f03\u0003\u0002\u0002\u0002\u0f05\u0f06\u0003", + "\u0002\u0002\u0002\u0f06\u0125\u0003\u0002\u0002\u0002\u0f07\u0f05\u0003", + "\u0002\u0002\u0002\u0f08\u0f09\u0007x\u0002\u0002\u0f09\u0f0a\t3\u0002", + "\u0002\u0f0a\u0f0f\u0007\u0196\u0002\u0002\u0f0b\u0f0c\u0007\u009f\u0002", + "\u0002\u0f0c\u0f10\u0007\u040d\u0002\u0002\u0f0d\u0f0e\u0007\u000f\u0002", + "\u0002\u0f0e\u0f10\u0007\u040d\u0002\u0002\u0f0f\u0f0b\u0003\u0002\u0002", + "\u0002\u0f0f\u0f0d\u0003\u0002\u0002\u0002\u0f10\u0127\u0003\u0002\u0002", + "\u0002\u0f11\u0f12\u0007\u01f9\u0002\u0002\u0f12\u0f13\u0007\u0197\u0002", + "\u0002\u0f13\u0129\u0003\u0002\u0002\u0002\u0f14\u0f15\u0007\u01f9\u0002", + "\u0002\u0f15\u0f17\u0007\u020d\u0002\u0002\u0f16\u0f18\u0007\b\u0002", + "\u0002\u0f17\u0f16\u0003\u0002\u0002\u0002\u0f17\u0f18\u0003\u0002\u0002", + "\u0002\u0f18\u0f1a\u0003\u0002\u0002\u0002\u0f19\u0f1b\u0005\u013c\u009f", + "\u0002\u0f1a\u0f19\u0003\u0002\u0002\u0002\u0f1a\u0f1b\u0003\u0002\u0002", + "\u0002\u0f1b\u012b\u0003\u0002\u0002\u0002\u0f1c\u0f1d\u0007\u021c\u0002", + "\u0002\u0f1d\u0f26\u0007\u020d\u0002\u0002\u0f1e\u0f23\u0005\u0142\u00a2", + "\u0002\u0f1f\u0f20\u0007\u0400\u0002\u0002\u0f20\u0f22\u0005\u0142\u00a2", + "\u0002\u0f21\u0f1f\u0003\u0002\u0002\u0002\u0f22\u0f25\u0003\u0002\u0002", + "\u0002\u0f23\u0f21\u0003\u0002\u0002\u0002\u0f23\u0f24\u0003\u0002\u0002", + "\u0002\u0f24\u0f27\u0003\u0002\u0002\u0002\u0f25\u0f23\u0003\u0002\u0002", + "\u0002\u0f26\u0f1e\u0003\u0002\u0002\u0002\u0f26\u0f27\u0003\u0002\u0002", + "\u0002\u0f27\u0f2a\u0003\u0002\u0002\u0002\u0f28\u0f29\u0007\u023c\u0002", + "\u0002\u0f29\u0f2b\u0005\u0144\u00a3\u0002\u0f2a\u0f28\u0003\u0002\u0002", + "\u0002\u0f2a\u0f2b\u0003\u0002\u0002\u0002\u0f2b\u0f2f\u0003\u0002\u0002", + "\u0002\u0f2c\u0f2e\u0005\u0146\u00a4\u0002\u0f2d\u0f2c\u0003\u0002\u0002", + "\u0002\u0f2e\u0f31\u0003\u0002\u0002\u0002\u0f2f\u0f2d\u0003\u0002\u0002", + "\u0002\u0f2f\u0f30\u0003\u0002\u0002\u0002\u0f30\u0f33\u0003\u0002\u0002", + "\u0002\u0f31\u0f2f\u0003\u0002\u0002\u0002\u0f32\u0f34\u0005\u013c\u009f", + "\u0002\u0f33\u0f32\u0003\u0002\u0002\u0002\u0f33\u0f34\u0003\u0002\u0002", + "\u0002\u0f34\u012d\u0003\u0002\u0002\u0002\u0f35\u0f36\u0007\u0222\u0002", + "\u0002\u0f36\u0f3f\u0007\u020d\u0002\u0002\u0f37\u0f3c\u0005\u0142\u00a2", + "\u0002\u0f38\u0f39\u0007\u0400\u0002\u0002\u0f39\u0f3b\u0005\u0142\u00a2", + "\u0002\u0f3a\u0f38\u0003\u0002\u0002\u0002\u0f3b\u0f3e\u0003\u0002\u0002", + "\u0002\u0f3c\u0f3a\u0003\u0002\u0002\u0002\u0f3c\u0f3d\u0003\u0002\u0002", + "\u0002\u0f3d\u0f40\u0003\u0002\u0002\u0002\u0f3e\u0f3c\u0003\u0002\u0002", + "\u0002\u0f3f\u0f37\u0003\u0002\u0002\u0002\u0f3f\u0f40\u0003\u0002\u0002", + "\u0002\u0f40\u012f\u0003\u0002\u0002\u0002\u0f41\u0f42\u0007\u021c\u0002", + "\u0002\u0f42\u0f43\u0007\u0176\u0002\u0002\u0f43\u0131\u0003\u0002\u0002", + "\u0002\u0f44\u0f45\u0007\u0222\u0002\u0002\u0f45\u0f46\u0007\u0176\u0002", + "\u0002\u0f46\u0133\u0003\u0002\u0002\u0002\u0f47\u0f48\u0005\u0136\u009c", + "\u0002\u0f48\u0f49\u0007\u03f5\u0002\u0002\u0f49\u0f4a\u0007\u040d\u0002", + "\u0002\u0f4a\u0f65\u0003\u0002\u0002\u0002\u0f4b\u0f4c\u0005\u0138\u009d", + "\u0002\u0f4c\u0f4d\u0007\u03f5\u0002\u0002\u0f4d\u0f4e\u0005\u0214\u010b", + "\u0002\u0f4e\u0f65\u0003\u0002\u0002\u0002\u0f4f\u0f50\u0005\u013a\u009e", + "\u0002\u0f50\u0f51\u0007\u03f5\u0002\u0002\u0f51\u0f52\t\u0018\u0002", + "\u0002\u0f52\u0f65\u0003\u0002\u0002\u0002\u0f53\u0f54\u0007\u019b\u0002", + "\u0002\u0f54\u0f55\u0007\u03f5\u0002\u0002\u0f55\u0f65\u0007\u0410\u0002", + "\u0002\u0f56\u0f57\u0007\u017d\u0002\u0002\u0f57\u0f58\u0007\u03f5\u0002", + "\u0002\u0f58\u0f61\u0007\u03fe\u0002\u0002\u0f59\u0f5e\u0005\u020e\u0108", + "\u0002\u0f5a\u0f5b\u0007\u0400\u0002\u0002\u0f5b\u0f5d\u0005\u020e\u0108", + "\u0002\u0f5c\u0f5a\u0003\u0002\u0002\u0002\u0f5d\u0f60\u0003\u0002\u0002", + "\u0002\u0f5e\u0f5c\u0003\u0002\u0002\u0002\u0f5e\u0f5f\u0003\u0002\u0002", + "\u0002\u0f5f\u0f62\u0003\u0002\u0002\u0002\u0f60\u0f5e\u0003\u0002\u0002", + "\u0002\u0f61\u0f59\u0003\u0002\u0002\u0002\u0f61\u0f62\u0003\u0002\u0002", + "\u0002\u0f62\u0f63\u0003\u0002\u0002\u0002\u0f63\u0f65\u0007\u03ff\u0002", + "\u0002\u0f64\u0f47\u0003\u0002\u0002\u0002\u0f64\u0f4b\u0003\u0002\u0002", + "\u0002\u0f64\u0f4f\u0003\u0002\u0002\u0002\u0f64\u0f53\u0003\u0002\u0002", + "\u0002\u0f64\u0f56\u0003\u0002\u0002\u0002\u0f65\u0135\u0003\u0002\u0002", + "\u0002\u0f66\u0f67\t4\u0002\u0002\u0f67\u0137\u0003\u0002\u0002\u0002", + "\u0f68\u0f69\t5\u0002\u0002\u0f69\u0139\u0003\u0002\u0002\u0002\u0f6a", + "\u0f6b\t6\u0002\u0002\u0f6b\u013b\u0003\u0002\u0002\u0002\u0f6c\u0f6d", + "\u0007<\u0002\u0002\u0f6d\u0f6e\u0007\u0127\u0002\u0002\u0f6e\u0f6f", + "\u0007\u040d\u0002\u0002\u0f6f\u013d\u0003\u0002\u0002\u0002\u0f70\u0f71", + "\u0007\u01f1\u0002\u0002\u0f71\u0f72\u0007\u03f5\u0002\u0002\u0f72\u0f73", + "\u0007\u03fe\u0002\u0002\u0f73\u0f74\u0005\u022e\u0118\u0002\u0f74\u0f75", + "\u0007\u03ff\u0002\u0002\u0f75\u0fa2\u0003\u0002\u0002\u0002\u0f76\u0f77", + "\u0007\u01f3\u0002\u0002\u0f77\u0f78\u0007\u03f5\u0002\u0002\u0f78\u0f79", + "\u0007\u03fe\u0002\u0002\u0f79\u0f7a\u0005\u022e\u0118\u0002\u0f7a\u0f7b", + "\u0007\u03ff\u0002\u0002\u0f7b\u0fa2\u0003\u0002\u0002\u0002\u0f7c\u0f7d", + "\u0007\u01f2\u0002\u0002\u0f7d\u0f7e\u0007\u03f5\u0002\u0002\u0f7e\u0f7f", + "\u0007\u03fe\u0002\u0002\u0f7f\u0f80\u0005\u0230\u0119\u0002\u0f80\u0f81", + "\u0007\u03ff\u0002\u0002\u0f81\u0fa2\u0003\u0002\u0002\u0002\u0f82\u0f83", + "\u0007\u01f4\u0002\u0002\u0f83\u0f84\u0007\u03f5\u0002\u0002\u0f84\u0f85", + "\u0007\u03fe\u0002\u0002\u0f85\u0f86\u0005\u0230\u0119\u0002\u0f86\u0f87", + "\u0007\u03ff\u0002\u0002\u0f87\u0fa2\u0003\u0002\u0002\u0002\u0f88\u0f89", + "\u0007\u01f6\u0002\u0002\u0f89\u0f8a\u0007\u03f5\u0002\u0002\u0f8a\u0f8b", + "\u0007\u03fe\u0002\u0002\u0f8b\u0f8c\u0005\u023a\u011e\u0002\u0f8c\u0f8d", + "\u0007\u03ff\u0002\u0002\u0f8d\u0fa2\u0003\u0002\u0002\u0002\u0f8e\u0f8f", + "\u0007\u01f7\u0002\u0002\u0f8f\u0f90\u0007\u03f5\u0002\u0002\u0f90\u0f91", + "\u0007\u03fe\u0002\u0002\u0f91\u0f92\u0005\u023a\u011e\u0002\u0f92\u0f93", + "\u0007\u03ff\u0002\u0002\u0f93\u0fa2\u0003\u0002\u0002\u0002\u0f94\u0f95", + "\u0007\u01f5\u0002\u0002\u0f95\u0f96\u0007\u03f5\u0002\u0002\u0f96\u0f97", + "\u0007\u03fe\u0002\u0002\u0f97\u0f9c\u0005\u0140\u00a1\u0002\u0f98\u0f99", + "\u0007\u0400\u0002\u0002\u0f99\u0f9b\u0005\u0140\u00a1\u0002\u0f9a\u0f98", + "\u0003\u0002\u0002\u0002\u0f9b\u0f9e\u0003\u0002\u0002\u0002\u0f9c\u0f9a", + "\u0003\u0002\u0002\u0002\u0f9c\u0f9d\u0003\u0002\u0002\u0002\u0f9d\u0f9f", + "\u0003\u0002\u0002\u0002\u0f9e\u0f9c\u0003\u0002\u0002\u0002\u0f9f\u0fa0", + "\u0007\u03ff\u0002\u0002\u0fa0\u0fa2\u0003\u0002\u0002\u0002\u0fa1\u0f70", + "\u0003\u0002\u0002\u0002\u0fa1\u0f76\u0003\u0002\u0002\u0002\u0fa1\u0f7c", + "\u0003\u0002\u0002\u0002\u0fa1\u0f82\u0003\u0002\u0002\u0002\u0fa1\u0f88", + "\u0003\u0002\u0002\u0002\u0fa1\u0f8e\u0003\u0002\u0002\u0002\u0fa1\u0f94", + "\u0003\u0002\u0002\u0002\u0fa2\u013f\u0003\u0002\u0002\u0002\u0fa3\u0fa4", + "\u0007\u03fe\u0002\u0002\u0fa4\u0fa5\u0005\u01f6\u00fc\u0002\u0fa5\u0fa6", + "\u0007\u0400\u0002\u0002\u0fa6\u0fa7\u0005\u01f6\u00fc\u0002\u0fa7\u0fa8", + "\u0007\u03ff\u0002\u0002\u0fa8\u0141\u0003\u0002\u0002\u0002\u0fa9\u0faa", + "\t7\u0002\u0002\u0faa\u0143\u0003\u0002\u0002\u0002\u0fab\u0fac\t8\u0002", + "\u0002\u0fac\u0fad\u0007\u03f5\u0002\u0002\u0fad\u0fbe\u0005\u0148\u00a5", + "\u0002\u0fae\u0faf\u0007\u019d\u0002\u0002\u0faf\u0fb0\u0007\u03f5\u0002", + "\u0002\u0fb0\u0fb1\u0007\u040d\u0002\u0002\u0fb1\u0fb2\u0007\u0400\u0002", + "\u0002\u0fb2\u0fb3\u0007\u019e\u0002\u0002\u0fb3\u0fb4\u0007\u03f5\u0002", + "\u0002\u0fb4\u0fbe\u0005\u0214\u010b\u0002\u0fb5\u0fb6\u0007\u01eb\u0002", + "\u0002\u0fb6\u0fb7\u0007\u03f5\u0002\u0002\u0fb7\u0fb8\u0007\u040d\u0002", + "\u0002\u0fb8\u0fb9\u0007\u0400\u0002\u0002\u0fb9\u0fba\u0007\u01ec\u0002", + "\u0002\u0fba\u0fbb\u0007\u03f5\u0002\u0002\u0fbb\u0fbe\u0005\u0214\u010b", + "\u0002\u0fbc\u0fbe\u0007\u0216\u0002\u0002\u0fbd\u0fab\u0003\u0002\u0002", + "\u0002\u0fbd\u0fae\u0003\u0002\u0002\u0002\u0fbd\u0fb5\u0003\u0002\u0002", + "\u0002\u0fbd\u0fbc\u0003\u0002\u0002\u0002\u0fbe\u0145\u0003\u0002\u0002", + "\u0002\u0fbf\u0fc0\u0007\u023e\u0002\u0002\u0fc0\u0fc1\u0007\u03f5\u0002", + "\u0002\u0fc1\u0fcc\u0007\u040d\u0002\u0002\u0fc2\u0fc3\u0007\u01d6\u0002", + "\u0002\u0fc3\u0fc4\u0007\u03f5\u0002\u0002\u0fc4\u0fcc\u0007\u040d\u0002", + "\u0002\u0fc5\u0fc6\u0007\u0148\u0002\u0002\u0fc6\u0fc7\u0007\u03f5\u0002", + "\u0002\u0fc7\u0fcc\u0007\u040d\u0002\u0002\u0fc8\u0fc9\u0007\u01d9\u0002", + "\u0002\u0fc9\u0fca\u0007\u03f5\u0002\u0002\u0fca\u0fcc\u0007\u040d\u0002", + "\u0002\u0fcb\u0fbf\u0003\u0002\u0002\u0002\u0fcb\u0fc2\u0003\u0002\u0002", + "\u0002\u0fcb\u0fc5\u0003\u0002\u0002\u0002\u0fcb\u0fc8\u0003\u0002\u0002", + "\u0002\u0fcc\u0147\u0003\u0002\u0002\u0002\u0fcd\u0fd2\u0005\u0206\u0104", + "\u0002\u0fce\u0fcf\u0007\u0400\u0002\u0002\u0fcf\u0fd1\u0005\u0206\u0104", + "\u0002\u0fd0\u0fce\u0003\u0002\u0002\u0002\u0fd1\u0fd4\u0003\u0002\u0002", + "\u0002\u0fd2\u0fd0\u0003\u0002\u0002\u0002\u0fd2\u0fd3\u0003\u0002\u0002", + "\u0002\u0fd3\u0fd7\u0003\u0002\u0002\u0002\u0fd4\u0fd2\u0003\u0002\u0002", + "\u0002\u0fd5\u0fd7\u0007\u040d\u0002\u0002\u0fd6\u0fcd\u0003\u0002\u0002", + "\u0002\u0fd6\u0fd5\u0003\u0002\u0002\u0002\u0fd7\u0149\u0003\u0002\u0002", + "\u0002\u0fd8\u0fd9\u0007\u024d\u0002\u0002\u0fd9\u0fda\t9\u0002\u0002", + "\u0fda\u0fdc\u0005\u0208\u0105\u0002\u0fdb\u0fdd\t:\u0002\u0002\u0fdc", + "\u0fdb\u0003\u0002\u0002\u0002\u0fdc\u0fdd\u0003\u0002\u0002\u0002\u0fdd", + "\u014b\u0003\u0002\u0002\u0002\u0fde\u0fdf\u0007\u024d\u0002\u0002\u0fdf", + "\u0fe0\u0007\u0156\u0002\u0002\u0fe0\u0fe6\u0005\u0208\u0105\u0002\u0fe1", + "\u0fe4\u0007\u022a\u0002\u0002\u0fe2\u0fe3\u0007<\u0002\u0002\u0fe3", + "\u0fe5\u0007\u01b6\u0002\u0002\u0fe4\u0fe2\u0003\u0002\u0002\u0002\u0fe4", + "\u0fe5\u0003\u0002\u0002\u0002\u0fe5\u0fe7\u0003\u0002\u0002\u0002\u0fe6", + "\u0fe1\u0003\u0002\u0002\u0002\u0fe6\u0fe7\u0003\u0002\u0002\u0002\u0fe7", + "\u014d\u0003\u0002\u0002\u0002\u0fe8\u0fe9\u0007\u024d\u0002\u0002\u0fe9", + "\u0fea\u0007\u01dd\u0002\u0002\u0fea\u0feb\u0005\u0208\u0105\u0002\u0feb", + "\u014f\u0003\u0002\u0002\u0002\u0fec\u0fed\u0007\u024d\u0002\u0002\u0fed", + "\u0fee\u0007\u0134\u0002\u0002\u0fee\u0ff1\u0005\u0208\u0105\u0002\u0fef", + "\u0ff0\u0007\u01c9\u0002\u0002\u0ff0\u0ff2\u0007\u01d7\u0002\u0002\u0ff1", + "\u0fef\u0003\u0002\u0002\u0002\u0ff1\u0ff2\u0003\u0002\u0002\u0002\u0ff2", + "\u0151\u0003\u0002\u0002\u0002\u0ff3\u0ff4\u0007\u024d\u0002\u0002\u0ff4", + "\u0ff5\u0007\u01fe\u0002\u0002\u0ff5\u0ff6\u0005\u0208\u0105\u0002\u0ff6", + "\u0153\u0003\u0002\u0002\u0002\u0ff7\u0ff8\u0007\u024d\u0002\u0002\u0ff8", + "\u0ffb\u0007\u01e7\u0002\u0002\u0ff9\u0ffa\u0007\u001f\u0002\u0002\u0ffa", + "\u0ffc\u0005\u0208\u0105\u0002\u0ffb\u0ff9\u0003\u0002\u0002\u0002\u0ffb", + "\u0ffc\u0003\u0002\u0002\u0002\u0ffc\u0155\u0003\u0002\u0002\u0002\u0ffd", + "\u0ffe\u0007\u01dd\u0002\u0002\u0ffe\u0fff\u0005\u020e\u0108\u0002\u0fff", + "\u1002\u0007?\u0002\u0002\u1000\u1003\u0007\u040d\u0002\u0002\u1001", + "\u1003\u0007\u0418\u0002\u0002\u1002\u1000\u0003\u0002\u0002\u0002\u1002", + "\u1001\u0003\u0002\u0002\u0002\u1003\u0157\u0003\u0002\u0002\u0002\u1004", + "\u1005\u0007\u025e\u0002\u0002\u1005\u1008\u0005\u020e\u0108\u0002\u1006", + "\u1007\u0007\u00ab\u0002\u0002\u1007\u1009\u0005\u023c\u011f\u0002\u1008", + "\u1006\u0003\u0002\u0002\u0002\u1008\u1009\u0003\u0002\u0002\u0002\u1009", + "\u0159\u0003\u0002\u0002\u0002\u100a\u100b\t;\u0002\u0002\u100b\u100c", + "\u0007\u01dd\u0002\u0002\u100c\u100d\u0005\u020e\u0108\u0002\u100d\u015b", + "\u0003\u0002\u0002\u0002\u100e\u1011\u0005\u015e\u00b0\u0002\u100f\u1011", + "\u0005\b\u0005\u0002\u1010\u100e\u0003\u0002\u0002\u0002\u1010\u100f", + "\u0003\u0002\u0002\u0002\u1011\u015d\u0003\u0002\u0002\u0002\u1012\u1013", + "\u0005\u020e\u0108\u0002\u1013\u1014\u0007\u0409\u0002\u0002\u1014\u1016", + "\u0003\u0002\u0002\u0002\u1015\u1012\u0003\u0002\u0002\u0002\u1015\u1016", + "\u0003\u0002\u0002\u0002\u1016\u1017\u0003\u0002\u0002\u0002\u1017\u103e", + "\u0007\u011c\u0002\u0002\u1018\u1019\u0005\u0172\u00ba\u0002\u1019\u101a", + "\u0007\u0401\u0002\u0002\u101a\u101c\u0003\u0002\u0002\u0002\u101b\u1018", + "\u0003\u0002\u0002\u0002\u101c\u101f\u0003\u0002\u0002\u0002\u101d\u101b", + "\u0003\u0002\u0002\u0002\u101d\u101e\u0003\u0002\u0002\u0002\u101e\u1025", + "\u0003\u0002\u0002\u0002\u101f\u101d\u0003\u0002\u0002\u0002\u1020\u1021", + "\u0005\u0174\u00bb\u0002\u1021\u1022\u0007\u0401\u0002\u0002\u1022\u1024", + "\u0003\u0002\u0002\u0002\u1023\u1020\u0003\u0002\u0002\u0002\u1024\u1027", + "\u0003\u0002\u0002\u0002\u1025\u1023\u0003\u0002\u0002\u0002\u1025\u1026", + "\u0003\u0002\u0002\u0002\u1026\u102d\u0003\u0002\u0002\u0002\u1027\u1025", + "\u0003\u0002\u0002\u0002\u1028\u1029\u0005\u0176\u00bc\u0002\u1029\u102a", + "\u0007\u0401\u0002\u0002\u102a\u102c\u0003\u0002\u0002\u0002\u102b\u1028", + "\u0003\u0002\u0002\u0002\u102c\u102f\u0003\u0002\u0002\u0002\u102d\u102b", + "\u0003\u0002\u0002\u0002\u102d\u102e\u0003\u0002\u0002\u0002\u102e\u1035", + "\u0003\u0002\u0002\u0002\u102f\u102d\u0003\u0002\u0002\u0002\u1030\u1031", + "\u0005\u0178\u00bd\u0002\u1031\u1032\u0007\u0401\u0002\u0002\u1032\u1034", + "\u0003\u0002\u0002\u0002\u1033\u1030\u0003\u0002\u0002\u0002\u1034\u1037", + "\u0003\u0002\u0002\u0002\u1035\u1033\u0003\u0002\u0002\u0002\u1035\u1036", + "\u0003\u0002\u0002\u0002\u1036\u103b\u0003\u0002\u0002\u0002\u1037\u1035", + "\u0003\u0002\u0002\u0002\u1038\u103a\u0005\u017c\u00bf\u0002\u1039\u1038", + "\u0003\u0002\u0002\u0002\u103a\u103d\u0003\u0002\u0002\u0002\u103b\u1039", + "\u0003\u0002\u0002\u0002\u103b\u103c\u0003\u0002\u0002\u0002\u103c\u103f", + "\u0003\u0002\u0002\u0002\u103d\u103b\u0003\u0002\u0002\u0002\u103e\u101d", + "\u0003\u0002\u0002\u0002\u103e\u103f\u0003\u0002\u0002\u0002\u103f\u1040", + "\u0003\u0002\u0002\u0002\u1040\u1042\u0007\u0156\u0002\u0002\u1041\u1043", + "\u0005\u020e\u0108\u0002\u1042\u1041\u0003\u0002\u0002\u0002\u1042\u1043", + "\u0003\u0002\u0002\u0002\u1043\u015f\u0003\u0002\u0002\u0002\u1044\u1047", + "\u0007\u0015\u0002\u0002\u1045\u1048\u0005\u020e\u0108\u0002\u1046\u1048", + "\u0005\u025c\u012f\u0002\u1047\u1045\u0003\u0002\u0002\u0002\u1047\u1046", + "\u0003\u0002\u0002\u0002\u1047\u1048\u0003\u0002\u0002\u0002\u1048\u104a", + "\u0003\u0002\u0002\u0002\u1049\u104b\u0005\u017e\u00c0\u0002\u104a\u1049", + "\u0003\u0002\u0002\u0002\u104b\u104c\u0003\u0002\u0002\u0002\u104c\u104a", + "\u0003\u0002\u0002\u0002\u104c\u104d\u0003\u0002\u0002\u0002\u104d\u1054", + "\u0003\u0002\u0002\u0002\u104e\u1050\u00073\u0002\u0002\u104f\u1051", + "\u0005\u017c\u00bf\u0002\u1050\u104f\u0003\u0002\u0002\u0002\u1051\u1052", + "\u0003\u0002\u0002\u0002\u1052\u1050\u0003\u0002\u0002\u0002\u1052\u1053", + "\u0003\u0002\u0002\u0002\u1053\u1055\u0003\u0002\u0002\u0002\u1054\u104e", + "\u0003\u0002\u0002\u0002\u1054\u1055\u0003\u0002\u0002\u0002\u1055\u1056", + "\u0003\u0002\u0002\u0002\u1056\u1057\u0007\u0156\u0002\u0002\u1057\u1058", + "\u0007\u0015\u0002\u0002\u1058\u0161\u0003\u0002\u0002\u0002\u1059\u105a", + "\u0007G\u0002\u0002\u105a\u105b\u0005\u025c\u012f\u0002\u105b\u105d", + "\u0007\u009e\u0002\u0002\u105c\u105e\u0005\u017c\u00bf\u0002\u105d\u105c", + "\u0003\u0002\u0002\u0002\u105e\u105f\u0003\u0002\u0002\u0002\u105f\u105d", + "\u0003\u0002\u0002\u0002\u105f\u1060\u0003\u0002\u0002\u0002\u1060\u1064", + "\u0003\u0002\u0002\u0002\u1061\u1063\u0005\u0180\u00c1\u0002\u1062\u1061", + "\u0003\u0002\u0002\u0002\u1063\u1066\u0003\u0002\u0002\u0002\u1064\u1062", + "\u0003\u0002\u0002\u0002\u1064\u1065\u0003\u0002\u0002\u0002\u1065\u106d", + "\u0003\u0002\u0002\u0002\u1066\u1064\u0003\u0002\u0002\u0002\u1067\u1069", + "\u00073\u0002\u0002\u1068\u106a\u0005\u017c\u00bf\u0002\u1069\u1068", + "\u0003\u0002\u0002\u0002\u106a\u106b\u0003\u0002\u0002\u0002\u106b\u1069", + "\u0003\u0002\u0002\u0002\u106b\u106c\u0003\u0002\u0002\u0002\u106c\u106e", + "\u0003\u0002\u0002\u0002\u106d\u1067\u0003\u0002\u0002\u0002\u106d\u106e", + "\u0003\u0002\u0002\u0002\u106e\u106f\u0003\u0002\u0002\u0002\u106f\u1070", + "\u0007\u0156\u0002\u0002\u1070\u1071\u0007G\u0002\u0002\u1071\u0163", + "\u0003\u0002\u0002\u0002\u1072\u1073\u0007R\u0002\u0002\u1073\u1074", + "\u0005\u020e\u0108\u0002\u1074\u0165\u0003\u0002\u0002\u0002\u1075\u1076", + "\u0007X\u0002\u0002\u1076\u1077\u0005\u020e\u0108\u0002\u1077\u0167", + "\u0003\u0002\u0002\u0002\u1078\u1079\u0005\u020e\u0108\u0002\u1079\u107a", + "\u0007\u0409\u0002\u0002\u107a\u107c\u0003\u0002\u0002\u0002\u107b\u1078", + "\u0003\u0002\u0002\u0002\u107b\u107c\u0003\u0002\u0002\u0002\u107c\u107d", + "\u0003\u0002\u0002\u0002\u107d\u107f\u0007`\u0002\u0002\u107e\u1080", + "\u0005\u017c\u00bf\u0002\u107f\u107e\u0003\u0002\u0002\u0002\u1080\u1081", + "\u0003\u0002\u0002\u0002\u1081\u107f\u0003\u0002\u0002\u0002\u1081\u1082", + "\u0003\u0002\u0002\u0002\u1082\u1083\u0003\u0002\u0002\u0002\u1083\u1084", + "\u0007\u0156\u0002\u0002\u1084\u1086\u0007`\u0002\u0002\u1085\u1087", + "\u0005\u020e\u0108\u0002\u1086\u1085\u0003\u0002\u0002\u0002\u1086\u1087", + "\u0003\u0002\u0002\u0002\u1087\u0169\u0003\u0002\u0002\u0002\u1088\u1089", + "\u0005\u020e\u0108\u0002\u1089\u108a\u0007\u0409\u0002\u0002\u108a\u108c", + "\u0003\u0002\u0002\u0002\u108b\u1088\u0003\u0002\u0002\u0002\u108b\u108c", + "\u0003\u0002\u0002\u0002\u108c\u108d\u0003\u0002\u0002\u0002\u108d\u108f", + "\u0007\u0080\u0002\u0002\u108e\u1090\u0005\u017c\u00bf\u0002\u108f\u108e", + "\u0003\u0002\u0002\u0002\u1090\u1091\u0003\u0002\u0002\u0002\u1091\u108f", + "\u0003\u0002\u0002\u0002\u1091\u1092\u0003\u0002\u0002\u0002\u1092\u1093", + "\u0003\u0002\u0002\u0002\u1093\u1094\u0007\u023c\u0002\u0002\u1094\u1095", + "\u0005\u025c\u012f\u0002\u1095\u1096\u0007\u0156\u0002\u0002\u1096\u1098", + "\u0007\u0080\u0002\u0002\u1097\u1099\u0005\u020e\u0108\u0002\u1098\u1097", + "\u0003\u0002\u0002\u0002\u1098\u1099\u0003\u0002\u0002\u0002\u1099\u016b", + "\u0003\u0002\u0002\u0002\u109a\u109b\u0007\u0085\u0002\u0002\u109b\u109c", + "\u0005\u025c\u012f\u0002\u109c\u016d\u0003\u0002\u0002\u0002\u109d\u109e", + "\u0005\u020e\u0108\u0002\u109e\u109f\u0007\u0409\u0002\u0002\u109f\u10a1", + "\u0003\u0002\u0002\u0002\u10a0\u109d\u0003\u0002\u0002\u0002\u10a0\u10a1", + "\u0003\u0002\u0002\u0002\u10a1\u10a2\u0003\u0002\u0002\u0002\u10a2\u10a3", + "\u0007\u00af\u0002\u0002\u10a3\u10a4\u0005\u025c\u012f\u0002\u10a4\u10a6", + "\u0007\u0150\u0002\u0002\u10a5\u10a7\u0005\u017c\u00bf\u0002\u10a6\u10a5", + "\u0003\u0002\u0002\u0002\u10a7\u10a8\u0003\u0002\u0002\u0002\u10a8\u10a6", + "\u0003\u0002\u0002\u0002\u10a8\u10a9\u0003\u0002\u0002\u0002\u10a9\u10aa", + "\u0003\u0002\u0002\u0002\u10aa\u10ab\u0007\u0156\u0002\u0002\u10ab\u10ad", + "\u0007\u00af\u0002\u0002\u10ac\u10ae\u0005\u020e\u0108\u0002\u10ad\u10ac", + "\u0003\u0002\u0002\u0002\u10ad\u10ae\u0003\u0002\u0002\u0002\u10ae\u016f", + "\u0003\u0002\u0002\u0002\u10af\u10b0\u0007\u012d\u0002\u0002\u10b0\u10bf", + "\u0005\u020e\u0108\u0002\u10b1\u10b6\u0007;\u0002\u0002\u10b2\u10b4", + "\u0007\u01c1\u0002\u0002\u10b3\u10b2\u0003\u0002\u0002\u0002\u10b3\u10b4", + "\u0003\u0002\u0002\u0002\u10b4\u10b5\u0003\u0002\u0002\u0002\u10b5\u10b7", + "\u0007?\u0002\u0002\u10b6\u10b3\u0003\u0002\u0002\u0002\u10b6\u10b7", + "\u0003\u0002\u0002\u0002\u10b7\u10b8\u0003\u0002\u0002\u0002\u10b8\u10b9", + "\u0005\u020e\u0108\u0002\u10b9\u10ba\u0007P\u0002\u0002\u10ba\u10bb", + "\u0005\u022e\u0118\u0002\u10bb\u10bf\u0003\u0002\u0002\u0002\u10bc\u10bd", + "\u0007\u01cc\u0002\u0002\u10bd\u10bf\u0005\u020e\u0108\u0002\u10be\u10af", + "\u0003\u0002\u0002\u0002\u10be\u10b1\u0003\u0002\u0002\u0002\u10be\u10bc", + "\u0003\u0002\u0002\u0002\u10bf\u0171\u0003\u0002\u0002\u0002\u10c0\u10c1", + "\u0007\'\u0002\u0002\u10c1\u10c2\u0005\u022e\u0118\u0002\u10c2\u10c5", + "\u0005\u0222\u0112\u0002\u10c3\u10c4\u0007(\u0002\u0002\u10c4\u10c6", + "\u0005\u023e\u0120\u0002\u10c5\u10c3\u0003\u0002\u0002\u0002\u10c5\u10c6", + "\u0003\u0002\u0002\u0002\u10c6\u0173\u0003\u0002\u0002\u0002\u10c7\u10c8", + "\u0007\'\u0002\u0002\u10c8\u10c9\u0005\u020e\u0108\u0002\u10c9\u10ca", + "\u0007\u001c\u0002\u0002\u10ca\u10d1\u0007<\u0002\u0002\u10cb\u10d2", + "\u0005\u0214\u010b\u0002\u10cc\u10ce\u0007\u0093\u0002\u0002\u10cd\u10cf", + "\u0007\u0242\u0002\u0002\u10ce\u10cd\u0003\u0002\u0002\u0002\u10ce\u10cf", + "\u0003\u0002\u0002\u0002\u10cf\u10d0\u0003\u0002\u0002\u0002\u10d0\u10d2", + "\u0007\u040d\u0002\u0002\u10d1\u10cb\u0003\u0002\u0002\u0002\u10d1\u10cc", + "\u0003\u0002\u0002\u0002\u10d2\u0175\u0003\u0002\u0002\u0002\u10d3\u10d4", + "\u0007\'\u0002\u0002\u10d4\u10d5\u0005\u020e\u0108\u0002\u10d5\u10d6", + "\u0007$\u0002\u0002\u10d6\u10d7\u0007<\u0002\u0002\u10d7\u10d8\u0005", + "\u00b6\\\u0002\u10d8\u0177\u0003\u0002\u0002\u0002\u10d9\u10da\u0007", + "\'\u0002\u0002\u10da\u10db\t<\u0002\u0002\u10db\u10dc\u0007\u0177\u0002", + "\u0002\u10dc\u10dd\u0007<\u0002\u0002\u10dd\u10e2\u0005\u017a\u00be", + "\u0002\u10de\u10df\u0007\u0400\u0002\u0002\u10df\u10e1\u0005\u017a\u00be", + "\u0002\u10e0\u10de\u0003\u0002\u0002\u0002\u10e1\u10e4\u0003\u0002\u0002", + "\u0002\u10e2\u10e0\u0003\u0002\u0002\u0002\u10e2\u10e3\u0003\u0002\u0002", + "\u0002\u10e3\u10e5\u0003\u0002\u0002\u0002\u10e4\u10e2\u0003\u0002\u0002", + "\u0002\u10e5\u10e6\u0005\u015c\u00af\u0002\u10e6\u0179\u0003\u0002\u0002", + "\u0002\u10e7\u10f3\u0005\u0214\u010b\u0002\u10e8\u10ea\u0007\u0093\u0002", + "\u0002\u10e9\u10eb\u0007\u0242\u0002\u0002\u10ea\u10e9\u0003\u0002\u0002", + "\u0002\u10ea\u10eb\u0003\u0002\u0002\u0002\u10eb\u10ec\u0003\u0002\u0002", + "\u0002\u10ec\u10f3\u0007\u040d\u0002\u0002\u10ed\u10f3\u0005\u020e\u0108", + "\u0002\u10ee\u10f3\u0007\u0094\u0002\u0002\u10ef\u10f0\u0007h\u0002", + "\u0002\u10f0\u10f3\u0007\u0170\u0002\u0002\u10f1\u10f3\u0007\u0092\u0002", + "\u0002\u10f2\u10e7\u0003\u0002\u0002\u0002\u10f2\u10e8\u0003\u0002\u0002", + "\u0002\u10f2\u10ed\u0003\u0002\u0002\u0002\u10f2\u10ee\u0003\u0002\u0002", + "\u0002\u10f2\u10ef\u0003\u0002\u0002\u0002\u10f2\u10f1\u0003\u0002\u0002", + "\u0002\u10f3\u017b\u0003\u0002\u0002\u0002\u10f4\u10f7\u0005\u0016\f", + "\u0002\u10f5\u10f7\u0005\b\u0005\u0002\u10f6\u10f4\u0003\u0002\u0002", + "\u0002\u10f6\u10f5\u0003\u0002\u0002\u0002\u10f7\u10f8\u0003\u0002\u0002", + "\u0002\u10f8\u10f9\u0007\u0401\u0002\u0002\u10f9\u017d\u0003\u0002\u0002", + "\u0002\u10fa\u10fd\u0007\u00ad\u0002\u0002\u10fb\u10fe\u0005\u0220\u0111", + "\u0002\u10fc\u10fe\u0005\u025c\u012f\u0002\u10fd\u10fb\u0003\u0002\u0002", + "\u0002\u10fd\u10fc\u0003\u0002\u0002\u0002\u10fe\u10ff\u0003\u0002\u0002", + "\u0002\u10ff\u1101\u0007\u009e\u0002\u0002\u1100\u1102\u0005\u017c\u00bf", + "\u0002\u1101\u1100\u0003\u0002\u0002\u0002\u1102\u1103\u0003\u0002\u0002", + "\u0002\u1103\u1101\u0003\u0002\u0002\u0002\u1103\u1104\u0003\u0002\u0002", + "\u0002\u1104\u017f\u0003\u0002\u0002\u0002\u1105\u1106\u00074\u0002", + "\u0002\u1106\u1107\u0005\u025c\u012f\u0002\u1107\u1109\u0007\u009e\u0002", + "\u0002\u1108\u110a\u0005\u017c\u00bf\u0002\u1109\u1108\u0003\u0002\u0002", + "\u0002\u110a\u110b\u0003\u0002\u0002\u0002\u110b\u1109\u0003\u0002\u0002", + "\u0002\u110b\u110c\u0003\u0002\u0002\u0002\u110c\u0181\u0003\u0002\u0002", + "\u0002\u110d\u110e\u0007\t\u0002\u0002\u110e\u110f\u0007\u023e\u0002", + "\u0002\u110f\u1114\u0005\u0194\u00cb\u0002\u1110\u1111\u0007\u0400\u0002", + "\u0002\u1111\u1113\u0005\u0194\u00cb\u0002\u1112\u1110\u0003\u0002\u0002", + "\u0002\u1113\u1116\u0003\u0002\u0002\u0002\u1114\u1112\u0003\u0002\u0002", + "\u0002\u1114\u1115\u0003\u0002\u0002\u0002\u1115\u1144\u0003\u0002\u0002", + "\u0002\u1116\u1114\u0003\u0002\u0002\u0002\u1117\u1118\u0007\t\u0002", + "\u0002\u1118\u111a\u0007\u023e\u0002\u0002\u1119\u111b\u0005\u0244\u0123", + "\u0002\u111a\u1119\u0003\u0002\u0002\u0002\u111a\u111b\u0003\u0002\u0002", + "\u0002\u111b\u111c\u0003\u0002\u0002\u0002\u111c\u1121\u0005\u0196\u00cc", + "\u0002\u111d\u111e\u0007\u0400\u0002\u0002\u111e\u1120\u0005\u0196\u00cc", + "\u0002\u111f\u111d\u0003\u0002\u0002\u0002\u1120\u1123\u0003\u0002\u0002", + "\u0002\u1121\u111f\u0003\u0002\u0002\u0002\u1121\u1122\u0003\u0002\u0002", + "\u0002\u1122\u1132\u0003\u0002\u0002\u0002\u1123\u1121\u0003\u0002\u0002", + "\u0002\u1124\u1130\u0007\u0082\u0002\u0002\u1125\u1131\u0007\u01c4\u0002", + "\u0002\u1126\u112d\u0005\u0198\u00cd\u0002\u1127\u1129\u0007\f\u0002", + "\u0002\u1128\u1127\u0003\u0002\u0002\u0002\u1128\u1129\u0003\u0002\u0002", + "\u0002\u1129\u112a\u0003\u0002\u0002\u0002\u112a\u112c\u0005\u0198\u00cd", + "\u0002\u112b\u1128\u0003\u0002\u0002\u0002\u112c\u112f\u0003\u0002\u0002", + "\u0002\u112d\u112b\u0003\u0002\u0002\u0002\u112d\u112e\u0003\u0002\u0002", + "\u0002\u112e\u1131\u0003\u0002\u0002\u0002\u112f\u112d\u0003\u0002\u0002", + "\u0002\u1130\u1125\u0003\u0002\u0002\u0002\u1130\u1126\u0003\u0002\u0002", + "\u0002\u1131\u1133\u0003\u0002\u0002\u0002\u1132\u1124\u0003\u0002\u0002", + "\u0002\u1132\u1133\u0003\u0002\u0002\u0002\u1133\u113a\u0003\u0002\u0002", + "\u0002\u1134\u1136\u0007\u00b0\u0002\u0002\u1135\u1137\u0005\u019a\u00ce", + "\u0002\u1136\u1135\u0003\u0002\u0002\u0002\u1137\u1138\u0003\u0002\u0002", + "\u0002\u1138\u1136\u0003\u0002\u0002\u0002\u1138\u1139\u0003\u0002\u0002", + "\u0002\u1139\u113b\u0003\u0002\u0002\u0002\u113a\u1134\u0003\u0002\u0002", + "\u0002\u113a\u113b\u0003\u0002\u0002\u0002\u113b\u1140\u0003\u0002\u0002", + "\u0002\u113c\u113f\u0005\u019c\u00cf\u0002\u113d\u113f\u0005\u019e\u00d0", + "\u0002\u113e\u113c\u0003\u0002\u0002\u0002\u113e\u113d\u0003\u0002\u0002", + "\u0002\u113f\u1142\u0003\u0002\u0002\u0002\u1140\u113e\u0003\u0002\u0002", + "\u0002\u1140\u1141\u0003\u0002\u0002\u0002\u1141\u1144\u0003\u0002\u0002", + "\u0002\u1142\u1140\u0003\u0002\u0002\u0002\u1143\u110d\u0003\u0002\u0002", + "\u0002\u1143\u1117\u0003\u0002\u0002\u0002\u1144\u0183\u0003\u0002\u0002", + "\u0002\u1145\u1146\u0007 \u0002\u0002\u1146\u1147\u0007\u023e\u0002", + "\u0002\u1147\u114c\u0005\u0196\u00cc\u0002\u1148\u1149\u0007\u0400\u0002", + "\u0002\u1149\u114b\u0005\u0196\u00cc\u0002\u114a\u1148\u0003\u0002\u0002", + "\u0002\u114b\u114e\u0003\u0002\u0002\u0002\u114c\u114a\u0003\u0002\u0002", + "\u0002\u114c\u114d\u0003\u0002\u0002\u0002\u114d\u117c\u0003\u0002\u0002", + "\u0002\u114e\u114c\u0003\u0002\u0002\u0002\u114f\u1150\u0007 \u0002", + "\u0002\u1150\u1152\u0007\u023e\u0002\u0002\u1151\u1153\u0005\u0246\u0124", + "\u0002\u1152\u1151\u0003\u0002\u0002\u0002\u1152\u1153\u0003\u0002\u0002", + "\u0002\u1153\u1154\u0003\u0002\u0002\u0002\u1154\u1159\u0005\u0196\u00cc", + "\u0002\u1155\u1156\u0007\u0400\u0002\u0002\u1156\u1158\u0005\u0196\u00cc", + "\u0002\u1157\u1155\u0003\u0002\u0002\u0002\u1158\u115b\u0003\u0002\u0002", + "\u0002\u1159\u1157\u0003\u0002\u0002\u0002\u1159\u115a\u0003\u0002\u0002", + "\u0002\u115a\u116a\u0003\u0002\u0002\u0002\u115b\u1159\u0003\u0002\u0002", + "\u0002\u115c\u1168\u0007\u0082\u0002\u0002\u115d\u1169\u0007\u01c4\u0002", + "\u0002\u115e\u1165\u0005\u0198\u00cd\u0002\u115f\u1161\u0007\f\u0002", + "\u0002\u1160\u115f\u0003\u0002\u0002\u0002\u1160\u1161\u0003\u0002\u0002", + "\u0002\u1161\u1162\u0003\u0002\u0002\u0002\u1162\u1164\u0005\u0198\u00cd", + "\u0002\u1163\u1160\u0003\u0002\u0002\u0002\u1164\u1167\u0003\u0002\u0002", + "\u0002\u1165\u1163\u0003\u0002\u0002\u0002\u1165\u1166\u0003\u0002\u0002", + "\u0002\u1166\u1169\u0003\u0002\u0002\u0002\u1167\u1165\u0003\u0002\u0002", + "\u0002\u1168\u115d\u0003\u0002\u0002\u0002\u1168\u115e\u0003\u0002\u0002", + "\u0002\u1169\u116b\u0003\u0002\u0002\u0002\u116a\u115c\u0003\u0002\u0002", + "\u0002\u116a\u116b\u0003\u0002\u0002\u0002\u116b\u1172\u0003\u0002\u0002", + "\u0002\u116c\u116e\u0007\u00b0\u0002\u0002\u116d\u116f\u0005\u019a\u00ce", + "\u0002\u116e\u116d\u0003\u0002\u0002\u0002\u116f\u1170\u0003\u0002\u0002", + "\u0002\u1170\u116e\u0003\u0002\u0002\u0002\u1170\u1171\u0003\u0002\u0002", + "\u0002\u1171\u1173\u0003\u0002\u0002\u0002\u1172\u116c\u0003\u0002\u0002", + "\u0002\u1172\u1173\u0003\u0002\u0002\u0002\u1173\u1178\u0003\u0002\u0002", + "\u0002\u1174\u1177\u0005\u019c\u00cf\u0002\u1175\u1177\u0005\u019e\u00d0", + "\u0002\u1176\u1174\u0003\u0002\u0002\u0002\u1176\u1175\u0003\u0002\u0002", + "\u0002\u1177\u117a\u0003\u0002\u0002\u0002\u1178\u1176\u0003\u0002\u0002", + "\u0002\u1178\u1179\u0003\u0002\u0002\u0002\u1179\u117c\u0003\u0002\u0002", + "\u0002\u117a\u1178\u0003\u0002\u0002\u0002\u117b\u1145\u0003\u0002\u0002", + "\u0002\u117b\u114f\u0003\u0002\u0002\u0002\u117c\u0185\u0003\u0002\u0002", + "\u0002\u117d\u117e\u00071\u0002\u0002\u117e\u1180\u0007\u023e\u0002", + "\u0002\u117f\u1181\u0005\u0244\u0123\u0002\u1180\u117f\u0003\u0002\u0002", + "\u0002\u1180\u1181\u0003\u0002\u0002\u0002\u1181\u1182\u0003\u0002\u0002", + "\u0002\u1182\u1187\u0005\u01fc\u00ff\u0002\u1183\u1184\u0007\u0400\u0002", + "\u0002\u1184\u1186\u0005\u01fc\u00ff\u0002\u1185\u1183\u0003\u0002\u0002", + "\u0002\u1186\u1189\u0003\u0002\u0002\u0002\u1187\u1185\u0003\u0002\u0002", + "\u0002\u1187\u1188\u0003\u0002\u0002\u0002\u1188\u0187\u0003\u0002\u0002", + "\u0002\u1189\u1187\u0003\u0002\u0002\u0002\u118a\u118b\u0007C\u0002", + "\u0002\u118b\u1190\u0005\u01a0\u00d1\u0002\u118c\u118d\u0007\u0400\u0002", + "\u0002\u118d\u118f\u0005\u01a0\u00d1\u0002\u118e\u118c\u0003\u0002\u0002", + "\u0002\u118f\u1192\u0003\u0002\u0002\u0002\u1190\u118e\u0003\u0002\u0002", + "\u0002\u1190\u1191\u0003\u0002\u0002\u0002\u1191\u1193\u0003\u0002\u0002", + "\u0002\u1192\u1190\u0003\u0002\u0002\u0002\u1193\u1195\u0007l\u0002", + "\u0002\u1194\u1196\t=\u0002\u0002\u1195\u1194\u0003\u0002\u0002\u0002", + "\u1195\u1196\u0003\u0002\u0002\u0002\u1196\u1197\u0003\u0002\u0002\u0002", + "\u1197\u1198\u0005\u01a4\u00d3\u0002\u1198\u1199\u0007\u009f\u0002\u0002", + "\u1199\u119e\u0005\u0196\u00cc\u0002\u119a\u119b\u0007\u0400\u0002\u0002", + "\u119b\u119d\u0005\u0196\u00cc\u0002\u119c\u119a\u0003\u0002\u0002\u0002", + "\u119d\u11a0\u0003\u0002\u0002\u0002\u119e\u119c\u0003\u0002\u0002\u0002", + "\u119e\u119f\u0003\u0002\u0002\u0002\u119f\u11af\u0003\u0002\u0002\u0002", + "\u11a0\u119e\u0003\u0002\u0002\u0002\u11a1\u11ad\u0007\u0082\u0002\u0002", + "\u11a2\u11ae\u0007\u01c4\u0002\u0002\u11a3\u11aa\u0005\u0198\u00cd\u0002", + "\u11a4\u11a6\u0007\f\u0002\u0002\u11a5\u11a4\u0003\u0002\u0002\u0002", + "\u11a5\u11a6\u0003\u0002\u0002\u0002\u11a6\u11a7\u0003\u0002\u0002\u0002", + "\u11a7\u11a9\u0005\u0198\u00cd\u0002\u11a8\u11a5\u0003\u0002\u0002\u0002", + "\u11a9\u11ac\u0003\u0002\u0002\u0002\u11aa\u11a8\u0003\u0002\u0002\u0002", + "\u11aa\u11ab\u0003\u0002\u0002\u0002\u11ab\u11ae\u0003\u0002\u0002\u0002", + "\u11ac\u11aa\u0003\u0002\u0002\u0002\u11ad\u11a2\u0003\u0002\u0002\u0002", + "\u11ad\u11a3\u0003\u0002\u0002\u0002\u11ae\u11b0\u0003\u0002\u0002\u0002", + "\u11af\u11a1\u0003\u0002\u0002\u0002\u11af\u11b0\u0003\u0002\u0002\u0002", + "\u11b0\u11ba\u0003\u0002\u0002\u0002\u11b1\u11b7\u0007\u00b0\u0002\u0002", + "\u11b2\u11b3\u0007C\u0002\u0002\u11b3\u11b6\u0007n\u0002\u0002\u11b4", + "\u11b6\u0005\u019a\u00ce\u0002\u11b5\u11b2\u0003\u0002\u0002\u0002\u11b5", + "\u11b4\u0003\u0002\u0002\u0002\u11b6\u11b9\u0003\u0002\u0002\u0002\u11b7", + "\u11b5\u0003\u0002\u0002\u0002\u11b7\u11b8\u0003\u0002\u0002\u0002\u11b8", + "\u11bb\u0003\u0002\u0002\u0002\u11b9\u11b7\u0003\u0002\u0002\u0002\u11ba", + "\u11b1\u0003\u0002\u0002\u0002\u11ba\u11bb\u0003\u0002\u0002\u0002\u11bb", + "\u0189\u0003\u0002\u0002\u0002\u11bc\u11bd\u0007C\u0002\u0002\u11bd", + "\u11be\u0007\u01e3\u0002\u0002\u11be\u11bf\u0007l\u0002\u0002\u11bf", + "\u11c0\u0005\u01fc\u00ff\u0002\u11c0\u11c1\u0007\u009f\u0002\u0002\u11c1", + "\u11c6\u0005\u01fc\u00ff\u0002\u11c2\u11c3\u0007\u0400\u0002\u0002\u11c3", + "\u11c5\u0005\u01fc\u00ff\u0002\u11c4\u11c2\u0003\u0002\u0002\u0002\u11c5", + "\u11c8\u0003\u0002\u0002\u0002\u11c6\u11c4\u0003\u0002\u0002\u0002\u11c6", + "\u11c7\u0003\u0002\u0002\u0002\u11c7\u11cc\u0003\u0002\u0002\u0002\u11c8", + "\u11c6\u0003\u0002\u0002\u0002\u11c9\u11ca\u0007\u00b0\u0002\u0002\u11ca", + "\u11cb\u0007C\u0002\u0002\u11cb\u11cd\u0007n\u0002\u0002\u11cc\u11c9", + "\u0003\u0002\u0002\u0002\u11cc\u11cd\u0003\u0002\u0002\u0002\u11cd\u018b", + "\u0003\u0002\u0002\u0002\u11ce\u11cf\u0007\u007f\u0002\u0002\u11cf\u11d0", + "\u0007\u023e\u0002\u0002\u11d0\u11d5\u0005\u01a6\u00d4\u0002\u11d1\u11d2", + "\u0007\u0400\u0002\u0002\u11d2\u11d4\u0005\u01a6\u00d4\u0002\u11d3\u11d1", + "\u0003\u0002\u0002\u0002\u11d4\u11d7\u0003\u0002\u0002\u0002\u11d5\u11d3", + "\u0003\u0002\u0002\u0002\u11d5\u11d6\u0003\u0002\u0002\u0002\u11d6\u018d", + "\u0003\u0002\u0002\u0002\u11d7\u11d5\u0003\u0002\u0002\u0002\u11d8\u11d9", + "\u0007\u0086\u0002\u0002\u11d9\u11de\u0005\u01a0\u00d1\u0002\u11da\u11db", + "\u0007\u0400\u0002\u0002\u11db\u11dd\u0005\u01a0\u00d1\u0002\u11dc\u11da", + "\u0003\u0002\u0002\u0002\u11dd\u11e0\u0003\u0002\u0002\u0002\u11de\u11dc", + "\u0003\u0002\u0002\u0002\u11de\u11df\u0003\u0002\u0002\u0002\u11df\u11e1", + "\u0003\u0002\u0002\u0002\u11e0\u11de\u0003\u0002\u0002\u0002\u11e1\u11e3", + "\u0007l\u0002\u0002\u11e2\u11e4\t=\u0002\u0002\u11e3\u11e2\u0003\u0002", + "\u0002\u0002\u11e3\u11e4\u0003\u0002\u0002\u0002\u11e4\u11e5\u0003\u0002", + "\u0002\u0002\u11e5\u11e6\u0005\u01a4\u00d3\u0002\u11e6\u11e7\u0007?", + "\u0002\u0002\u11e7\u11ec\u0005\u01fc\u00ff\u0002\u11e8\u11e9\u0007\u0400", + "\u0002\u0002\u11e9\u11eb\u0005\u01fc\u00ff\u0002\u11ea\u11e8\u0003\u0002", + "\u0002\u0002\u11eb\u11ee\u0003\u0002\u0002\u0002\u11ec\u11ea\u0003\u0002", + "\u0002\u0002\u11ec\u11ed\u0003\u0002\u0002\u0002\u11ed\u1201\u0003\u0002", + "\u0002\u0002\u11ee\u11ec\u0003\u0002\u0002\u0002\u11ef\u11f0\u0007\u0086", + "\u0002\u0002\u11f0\u11f2\u0007\b\u0002\u0002\u11f1\u11f3\u0007\u0264", + "\u0002\u0002\u11f2\u11f1\u0003\u0002\u0002\u0002\u11f2\u11f3\u0003\u0002", + "\u0002\u0002\u11f3\u11f4\u0003\u0002\u0002\u0002\u11f4\u11f5\u0007\u0400", + "\u0002\u0002\u11f5\u11f6\u0007C\u0002\u0002\u11f6\u11f7\u0007n\u0002", + "\u0002\u11f7\u11f8\u0007?\u0002\u0002\u11f8\u11fd\u0005\u01fc\u00ff", + "\u0002\u11f9\u11fa\u0007\u0400\u0002\u0002\u11fa\u11fc\u0005\u01fc\u00ff", + "\u0002\u11fb\u11f9\u0003\u0002\u0002\u0002\u11fc\u11ff\u0003\u0002\u0002", + "\u0002\u11fd\u11fb\u0003\u0002\u0002\u0002\u11fd\u11fe\u0003\u0002\u0002", + "\u0002\u11fe\u1201\u0003\u0002\u0002\u0002\u11ff\u11fd\u0003\u0002\u0002", + "\u0002\u1200\u11d8\u0003\u0002\u0002\u0002\u1200\u11ef\u0003\u0002\u0002", + "\u0002\u1201\u018f\u0003\u0002\u0002\u0002\u1202\u1203\u0007\u0086\u0002", + "\u0002\u1203\u1204\u0007\u01e3\u0002\u0002\u1204\u1205\u0007l\u0002", + "\u0002\u1205\u1206\u0005\u01fc\u00ff\u0002\u1206\u1207\u0007?\u0002", + "\u0002\u1207\u120c\u0005\u01fc\u00ff\u0002\u1208\u1209\u0007\u0400\u0002", + "\u0002\u1209\u120b\u0005\u01fc\u00ff\u0002\u120a\u1208\u0003\u0002\u0002", + "\u0002\u120b\u120e\u0003\u0002\u0002\u0002\u120c\u120a\u0003\u0002\u0002", + "\u0002\u120c\u120d\u0003\u0002\u0002\u0002\u120d\u0191\u0003\u0002\u0002", + "\u0002\u120e\u120c\u0003\u0002\u0002\u0002\u120f\u1210\u0007\u008c\u0002", + "\u0002\u1210\u1213\u0007\u01d6\u0002\u0002\u1211\u1212\u0007<\u0002", + "\u0002\u1212\u1214\u0005\u01fc\u00ff\u0002\u1213\u1211\u0003\u0002\u0002", + "\u0002\u1213\u1214\u0003\u0002\u0002\u0002\u1214\u1215\u0003\u0002\u0002", + "\u0002\u1215\u1218\u0007\u03f5\u0002\u0002\u1216\u1219\u0005\u0256\u012c", + "\u0002\u1217\u1219\u0007\u040d\u0002\u0002\u1218\u1216\u0003\u0002\u0002", + "\u0002\u1218\u1217\u0003\u0002\u0002\u0002\u1219\u0193\u0003\u0002\u0002", + "\u0002\u121a\u121b\u0005\u01fc\u00ff\u0002\u121b\u121c\u0005\u019c\u00cf", + "\u0002\u121c\u0195\u0003\u0002\u0002\u0002\u121d\u121e\u0005\u01fc\u00ff", + "\u0002\u121e\u121f\u0007\u017c\u0002\u0002\u121f\u1220\u0007\u0012\u0002", + "\u0002\u1220\u1221\u0007\u01d6\u0002\u0002\u1221\u1222\u0007\u040d\u0002", + "\u0002\u1222\u1236\u0003\u0002\u0002\u0002\u1223\u1224\u0005\u01fc\u00ff", + "\u0002\u1224\u1227\u0007\u017c\u0002\u0002\u1225\u1226\u0007\u00b0\u0002", + "\u0002\u1226\u1228\u0005\u020c\u0107\u0002\u1227\u1225\u0003\u0002\u0002", + "\u0002\u1227\u1228\u0003\u0002\u0002\u0002\u1228\u1229\u0003\u0002\u0002", + "\u0002\u1229\u122a\u0007\u0012\u0002\u0002\u122a\u122b\u0007\u040d\u0002", + "\u0002\u122b\u1236\u0003\u0002\u0002\u0002\u122c\u122d\u0005\u01fc\u00ff", + "\u0002\u122d\u122e\u0007\u017c\u0002\u0002\u122e\u122f\u0007\u00b0\u0002", + "\u0002\u122f\u1232\u0005\u020c\u0107\u0002\u1230\u1231\u0007\r\u0002", + "\u0002\u1231\u1233\u0007\u040d\u0002\u0002\u1232\u1230\u0003\u0002\u0002", + "\u0002\u1232\u1233\u0003\u0002\u0002\u0002\u1233\u1236\u0003\u0002\u0002", + "\u0002\u1234\u1236\u0005\u01fc\u00ff\u0002\u1235\u121d\u0003\u0002\u0002", + "\u0002\u1235\u1223\u0003\u0002\u0002\u0002\u1235\u122c\u0003\u0002\u0002", + "\u0002\u1235\u1234\u0003\u0002\u0002\u0002\u1236\u0197\u0003\u0002\u0002", + "\u0002\u1237\u1240\u0007\u0098\u0002\u0002\u1238\u1240\u0007\u024c\u0002", + "\u0002\u1239\u123a\u0007\u012a\u0002\u0002\u123a\u1240\u0007\u040d\u0002", + "\u0002\u123b\u123c\u0007\u018b\u0002\u0002\u123c\u1240\u0007\u040d\u0002", + "\u0002\u123d\u123e\u0007\u0227\u0002\u0002\u123e\u1240\u0007\u040d\u0002", + "\u0002\u123f\u1237\u0003\u0002\u0002\u0002\u123f\u1238\u0003\u0002\u0002", + "\u0002\u123f\u1239\u0003\u0002\u0002\u0002\u123f\u123b\u0003\u0002\u0002", + "\u0002\u123f\u123d\u0003\u0002\u0002\u0002\u1240\u0199\u0003\u0002\u0002", + "\u0002\u1241\u1242\u0007\u01ad\u0002\u0002\u1242\u124a\u0005\u0214\u010b", + "\u0002\u1243\u1244\u0007\u01b0\u0002\u0002\u1244\u124a\u0005\u0214\u010b", + "\u0002\u1245\u1246\u0007\u01ac\u0002\u0002\u1246\u124a\u0005\u0214\u010b", + "\u0002\u1247\u1248\u0007\u01b1\u0002\u0002\u1248\u124a\u0005\u0214\u010b", + "\u0002\u1249\u1241\u0003\u0002\u0002\u0002\u1249\u1243\u0003\u0002\u0002", + "\u0002\u1249\u1245\u0003\u0002\u0002\u0002\u1249\u1247\u0003\u0002\u0002", + "\u0002\u124a\u019b\u0003\u0002\u0002\u0002\u124b\u124c\u0007\u01d6\u0002", + "\u0002\u124c\u1253\u0007\u0163\u0002\u0002\u124d\u1254\u0007(\u0002", + "\u0002\u124e\u1254\u0007\u01c0\u0002\u0002\u124f\u1250\u0007O\u0002", + "\u0002\u1250\u1251\u0005\u0214\u010b\u0002\u1251\u1252\u0007\u0256\u0002", + "\u0002\u1252\u1254\u0003\u0002\u0002\u0002\u1253\u124d\u0003\u0002\u0002", + "\u0002\u1253\u124e\u0003\u0002\u0002\u0002\u1253\u124f\u0003\u0002\u0002", + "\u0002\u1253\u1254\u0003\u0002\u0002\u0002\u1254\u019d\u0003\u0002\u0002", + "\u0002\u1255\u1256\u0007\u0110\u0002\u0002\u1256\u1257\t>\u0002\u0002", + "\u1257\u019f\u0003\u0002\u0002\u0002\u1258\u125d\u0005\u01a2\u00d2\u0002", + "\u1259\u125a\u0007\u03fe\u0002\u0002\u125a\u125b\u0005\u022e\u0118\u0002", + "\u125b\u125c\u0007\u03ff\u0002\u0002\u125c\u125e\u0003\u0002\u0002\u0002", + "\u125d\u1259\u0003\u0002\u0002\u0002\u125d\u125e\u0003\u0002\u0002\u0002", + "\u125e\u01a1\u0003\u0002\u0002\u0002\u125f\u1261\u0007\b\u0002\u0002", + "\u1260\u1262\u0007\u0264\u0002\u0002\u1261\u1260\u0003\u0002\u0002\u0002", + "\u1261\u1262\u0003\u0002\u0002\u0002\u1262\u12a7\u0003\u0002\u0002\u0002", + "\u1263\u1265\u0007\t\u0002\u0002\u1264\u1266\u0007\u025d\u0002\u0002", + "\u1265\u1264\u0003\u0002\u0002\u0002\u1265\u1266\u0003\u0002\u0002\u0002", + "\u1266\u12a7\u0003\u0002\u0002\u0002\u1267\u126f\u0007 \u0002\u0002", + "\u1268\u1269\u0007\u022f\u0002\u0002\u1269\u1270\u0007\u025c\u0002\u0002", + "\u126a\u1270\u0007\u025d\u0002\u0002\u126b\u1270\u0007\u0244\u0002\u0002", + "\u126c\u1270\u0007\u023e\u0002\u0002\u126d\u1270\u0007\u022e\u0002\u0002", + "\u126e\u1270\u0007\u01fd\u0002\u0002\u126f\u1268\u0003\u0002\u0002\u0002", + "\u126f\u126a\u0003\u0002\u0002\u0002\u126f\u126b\u0003\u0002\u0002\u0002", + "\u126f\u126c\u0003\u0002\u0002\u0002\u126f\u126d\u0003\u0002\u0002\u0002", + "\u126f\u126e\u0003\u0002\u0002\u0002\u126f\u1270\u0003\u0002\u0002\u0002", + "\u1270\u12a7\u0003\u0002\u0002\u0002\u1271\u12a7\u0007*\u0002\u0002", + "\u1272\u1274\u00071\u0002\u0002\u1273\u1275\u0007\u01fd\u0002\u0002", + "\u1274\u1273\u0003\u0002\u0002\u0002\u1274\u1275\u0003\u0002\u0002\u0002", + "\u1275\u12a7\u0003\u0002\u0002\u0002\u1276\u12a7\u0007\u015e\u0002\u0002", + "\u1277\u12a7\u0007\u025e\u0002\u0002\u1278\u12a7\u0007\u025f\u0002\u0002", + "\u1279\u127a\u0007C\u0002\u0002\u127a\u12a7\u0007n\u0002\u0002\u127b", + "\u12a7\u0007J\u0002\u0002\u127c\u12a7\u0007N\u0002\u0002\u127d\u127e", + "\u0007_\u0002\u0002\u127e\u12a7\u0007\u025c\u0002\u0002\u127f\u12a7", + "\u0007\u0260\u0002\u0002\u1280\u12a7\u0007\u01e3\u0002\u0002\u1281\u12a7", + "\u0007|\u0002\u0002\u1282\u12a7\u0007\u0261\u0002\u0002\u1283\u1284", + "\u0007\u01f8\u0002\u0002\u1284\u12a7\t?\u0002\u0002\u1285\u12a7\u0007", + "\u008b\u0002\u0002\u1286\u1287\u0007\u008e\u0002\u0002\u1287\u12a7\t", + "@\u0002\u0002\u1288\u12a7\u0007\u0262\u0002\u0002\u1289\u12a7\u0007", + "\u0263\u0002\u0002\u128a\u12a7\u0007\u00a1\u0002\u0002\u128b\u12a7\u0007", + "\u00a8\u0002\u0002\u128c\u12a7\u0007\u00a9\u0002\u0002\u128d\u12a7\u0007", + "\u0266\u0002\u0002\u128e\u12a7\u0007\u0267\u0002\u0002\u128f\u12a7\u0007", + "\u0268\u0002\u0002\u1290\u12a7\u0007\u0269\u0002\u0002\u1291\u12a7\u0007", + "\u026a\u0002\u0002\u1292\u12a7\u0007\u026b\u0002\u0002\u1293\u12a7\u0007", + "\u026c\u0002\u0002\u1294\u12a7\u0007\u026d\u0002\u0002\u1295\u12a7\u0007", + "\u026e\u0002\u0002\u1296\u12a7\u0007\u026f\u0002\u0002\u1297\u12a7\u0007", + "\u0270\u0002\u0002\u1298\u12a7\u0007\u0271\u0002\u0002\u1299\u12a7\u0007", + "\u0272\u0002\u0002\u129a\u12a7\u0007\u0273\u0002\u0002\u129b\u12a7\u0007", + "\u0274\u0002\u0002\u129c\u12a7\u0007\u0275\u0002\u0002\u129d\u12a7\u0007", + "\u0276\u0002\u0002\u129e\u12a7\u0007\u0277\u0002\u0002\u129f\u12a7\u0007", + "\u0278\u0002\u0002\u12a0\u12a7\u0007\u0279\u0002\u0002\u12a1\u12a7\u0007", + "\u027a\u0002\u0002\u12a2\u12a7\u0007\u027b\u0002\u0002\u12a3\u12a7\u0007", + "\u027c\u0002\u0002\u12a4\u12a7\u0007\u027d\u0002\u0002\u12a5\u12a7\u0007", + "\u027e\u0002\u0002\u12a6\u125f\u0003\u0002\u0002\u0002\u12a6\u1263\u0003", + "\u0002\u0002\u0002\u12a6\u1267\u0003\u0002\u0002\u0002\u12a6\u1271\u0003", + "\u0002\u0002\u0002\u12a6\u1272\u0003\u0002\u0002\u0002\u12a6\u1276\u0003", + "\u0002\u0002\u0002\u12a6\u1277\u0003\u0002\u0002\u0002\u12a6\u1278\u0003", + "\u0002\u0002\u0002\u12a6\u1279\u0003\u0002\u0002\u0002\u12a6\u127b\u0003", + "\u0002\u0002\u0002\u12a6\u127c\u0003\u0002\u0002\u0002\u12a6\u127d\u0003", + "\u0002\u0002\u0002\u12a6\u127f\u0003\u0002\u0002\u0002\u12a6\u1280\u0003", + "\u0002\u0002\u0002\u12a6\u1281\u0003\u0002\u0002\u0002\u12a6\u1282\u0003", + "\u0002\u0002\u0002\u12a6\u1283\u0003\u0002\u0002\u0002\u12a6\u1285\u0003", + "\u0002\u0002\u0002\u12a6\u1286\u0003\u0002\u0002\u0002\u12a6\u1288\u0003", + "\u0002\u0002\u0002\u12a6\u1289\u0003\u0002\u0002\u0002\u12a6\u128a\u0003", + "\u0002\u0002\u0002\u12a6\u128b\u0003\u0002\u0002\u0002\u12a6\u128c\u0003", + "\u0002\u0002\u0002\u12a6\u128d\u0003\u0002\u0002\u0002\u12a6\u128e\u0003", + "\u0002\u0002\u0002\u12a6\u128f\u0003\u0002\u0002\u0002\u12a6\u1290\u0003", + "\u0002\u0002\u0002\u12a6\u1291\u0003\u0002\u0002\u0002\u12a6\u1292\u0003", + "\u0002\u0002\u0002\u12a6\u1293\u0003\u0002\u0002\u0002\u12a6\u1294\u0003", + "\u0002\u0002\u0002\u12a6\u1295\u0003\u0002\u0002\u0002\u12a6\u1296\u0003", + "\u0002\u0002\u0002\u12a6\u1297\u0003\u0002\u0002\u0002\u12a6\u1298\u0003", + "\u0002\u0002\u0002\u12a6\u1299\u0003\u0002\u0002\u0002\u12a6\u129a\u0003", + "\u0002\u0002\u0002\u12a6\u129b\u0003\u0002\u0002\u0002\u12a6\u129c\u0003", + "\u0002\u0002\u0002\u12a6\u129d\u0003\u0002\u0002\u0002\u12a6\u129e\u0003", + "\u0002\u0002\u0002\u12a6\u129f\u0003\u0002\u0002\u0002\u12a6\u12a0\u0003", + "\u0002\u0002\u0002\u12a6\u12a1\u0003\u0002\u0002\u0002\u12a6\u12a2\u0003", + "\u0002\u0002\u0002\u12a6\u12a3\u0003\u0002\u0002\u0002\u12a6\u12a4\u0003", + "\u0002\u0002\u0002\u12a6\u12a5\u0003\u0002\u0002\u0002\u12a7\u01a3\u0003", + "\u0002\u0002\u0002\u12a8\u12b9\u0007\u03ed\u0002\u0002\u12a9\u12aa\u0007", + "\u03ed\u0002\u0002\u12aa\u12ab\u0007\u03fd\u0002\u0002\u12ab\u12b9\u0007", + "\u03ed\u0002\u0002\u12ac\u12ad\u0005\u020e\u0108\u0002\u12ad\u12ae\u0007", + "\u03fd\u0002\u0002\u12ae\u12af\u0007\u03ed\u0002\u0002\u12af\u12b9\u0003", + "\u0002\u0002\u0002\u12b0\u12b1\u0005\u020e\u0108\u0002\u12b1\u12b2\u0007", + "\u03fd\u0002\u0002\u12b2\u12b3\u0005\u020e\u0108\u0002\u12b3\u12b9\u0003", + "\u0002\u0002\u0002\u12b4\u12b5\u0005\u020e\u0108\u0002\u12b5\u12b6\u0005", + "\u0212\u010a\u0002\u12b6\u12b9\u0003\u0002\u0002\u0002\u12b7\u12b9\u0005", + "\u020e\u0108\u0002\u12b8\u12a8\u0003\u0002\u0002\u0002\u12b8\u12a9\u0003", + "\u0002\u0002\u0002\u12b8\u12ac\u0003\u0002\u0002\u0002\u12b8\u12b0\u0003", + "\u0002\u0002\u0002\u12b8\u12b4\u0003\u0002\u0002\u0002\u12b8\u12b7\u0003", + "\u0002\u0002\u0002\u12b9\u01a5\u0003\u0002\u0002\u0002\u12ba\u12bb\u0005", + "\u01fc\u00ff\u0002\u12bb\u12bc\u0007\u009f\u0002\u0002\u12bc\u12bd\u0005", + "\u01fc\u00ff\u0002\u12bd\u01a7\u0003\u0002\u0002\u0002\u12be\u12c0\u0007", + "\u000b\u0002\u0002\u12bf\u12c1\tA\u0002\u0002\u12c0\u12bf\u0003\u0002", + "\u0002\u0002\u12c0\u12c1\u0003\u0002\u0002\u0002\u12c1\u12c2\u0003\u0002", + "\u0002\u0002\u12c2\u12c3\u0007\u009c\u0002\u0002\u12c3\u12c4\u0005\u0230", + "\u0119\u0002\u12c4\u01a9\u0003\u0002\u0002\u0002\u12c5\u12c6\u0007\u0019", + "\u0002\u0002\u12c6\u12c7\u0007\u009c\u0002\u0002\u12c7\u12cb\u0005\u0230", + "\u0119\u0002\u12c8\u12ca\u0005\u01b2\u00da\u0002\u12c9\u12c8\u0003\u0002", + "\u0002\u0002\u12ca\u12cd\u0003\u0002\u0002\u0002\u12cb\u12c9\u0003\u0002", + "\u0002\u0002\u12cb\u12cc\u0003\u0002\u0002\u0002\u12cc\u01ab\u0003\u0002", + "\u0002\u0002\u12cd\u12cb\u0003\u0002\u0002\u0002\u12ce\u12cf\u0007\u0128", + "\u0002\u0002\u12cf\u12d0\u0007\u009c\u0002\u0002\u12d0\u12d2\u0005\u0230", + "\u0119\u0002\u12d1\u12d3\tB\u0002\u0002\u12d2\u12d1\u0003\u0002\u0002", + "\u0002\u12d2\u12d3\u0003\u0002\u0002\u0002\u12d3\u01ad\u0003\u0002\u0002", + "\u0002\u12d4\u12d6\u0007m\u0002\u0002\u12d5\u12d7\tA\u0002\u0002\u12d6", + "\u12d5\u0003\u0002\u0002\u0002\u12d6\u12d7\u0003\u0002\u0002\u0002\u12d7", + "\u12d8\u0003\u0002\u0002\u0002\u12d8\u12d9\u0007\u009c\u0002\u0002\u12d9", + "\u12da\u0005\u0230\u0119\u0002\u12da\u01af\u0003\u0002\u0002\u0002\u12db", + "\u12dd\u0007\u01f0\u0002\u0002\u12dc\u12de\tA\u0002\u0002\u12dd\u12dc", + "\u0003\u0002\u0002\u0002\u12dd\u12de\u0003\u0002\u0002\u0002\u12de\u12df", + "\u0003\u0002\u0002\u0002\u12df\u12e0\u0007\u009c\u0002\u0002\u12e0\u12e2", + "\u0005\u0230\u0119\u0002\u12e1\u12e3\u0007\u01e5\u0002\u0002\u12e2\u12e1", + "\u0003\u0002\u0002\u0002\u12e2\u12e3\u0003\u0002\u0002\u0002\u12e3\u12e5", + "\u0003\u0002\u0002\u0002\u12e4\u12e6\u0007\u0165\u0002\u0002\u12e5\u12e4", + "\u0003\u0002\u0002\u0002\u12e5\u12e6\u0003\u0002\u0002\u0002\u12e6\u12e8", + "\u0003\u0002\u0002\u0002\u12e7\u12e9\u0007\u023f\u0002\u0002\u12e8\u12e7", + "\u0003\u0002\u0002\u0002\u12e8\u12e9\u0003\u0002\u0002\u0002\u12e9\u01b1", + "\u0003\u0002\u0002\u0002\u12ea\u12eb\u0007<\u0002\u0002\u12eb\u12f2", + "\u0007\u023d\u0002\u0002\u12ec\u12f2\u0007\u01e5\u0002\u0002\u12ed\u12f2", + "\u0007\u0167\u0002\u0002\u12ee\u12f2\u0007\u01b2\u0002\u0002\u12ef\u12f2", + "\u0007\u0165\u0002\u0002\u12f0\u12f2\u0007\u0126\u0002\u0002\u12f1\u12ea", + "\u0003\u0002\u0002\u0002\u12f1\u12ec\u0003\u0002\u0002\u0002\u12f1\u12ed", + "\u0003\u0002\u0002\u0002\u12f1\u12ee\u0003\u0002\u0002\u0002\u12f1\u12ef", + "\u0003\u0002\u0002\u0002\u12f1\u12f0\u0003\u0002\u0002\u0002\u12f2\u01b3", + "\u0003\u0002\u0002\u0002\u12f3\u12f5\u0007 \u0002\u0002\u12f4\u12f6", + "\u0007\u0113\u0002\u0002\u12f5\u12f4\u0003\u0002\u0002\u0002\u12f5\u12f6", + "\u0003\u0002\u0002\u0002\u12f6\u12f7\u0003\u0002\u0002\u0002\u12f7\u12f8", + "\u0007\u0172\u0002\u0002\u12f8\u12f9\u0005\u020e\u0108\u0002\u12f9\u12fa", + "\u0007\u01fc\u0002\u0002\u12fa\u12fb\tC\u0002\u0002\u12fb\u12fc\u0007", + "\u0212\u0002\u0002\u12fc\u12fd\u0007\u040d\u0002\u0002\u12fd\u01b5\u0003", + "\u0002\u0002\u0002\u12fe\u12ff\u0007\u0183\u0002\u0002\u12ff\u1300\u0007", + "\u01d8\u0002\u0002\u1300\u1301\u0005\u020e\u0108\u0002\u1301\u1302\u0007", + "\u0212\u0002\u0002\u1302\u1303\u0007\u040d\u0002\u0002\u1303\u01b7\u0003", + "\u0002\u0002\u0002\u1304\u1305\u0007\u023a\u0002\u0002\u1305\u1306\u0007", + "\u01d8\u0002\u0002\u1306\u1307\u0005\u020e\u0108\u0002\u1307\u01b9\u0003", + "\u0002\u0002\u0002\u1308\u1309\u0007\u008c\u0002\u0002\u1309\u130a\u0005", + "\u01be\u00e0\u0002\u130a\u130b\tD\u0002\u0002\u130b\u1313\u0005\u025c", + "\u012f\u0002\u130c\u130d\u0007\u0400\u0002\u0002\u130d\u130e\u0005\u01be", + "\u00e0\u0002\u130e\u130f\tD\u0002\u0002\u130f\u1310\u0005\u025c\u012f", + "\u0002\u1310\u1312\u0003\u0002\u0002\u0002\u1311\u130c\u0003\u0002\u0002", + "\u0002\u1312\u1315\u0003\u0002\u0002\u0002\u1313\u1311\u0003\u0002\u0002", + "\u0002\u1313\u1314\u0003\u0002\u0002\u0002\u1314\u133c\u0003\u0002\u0002", + "\u0002\u1315\u1313\u0003\u0002\u0002\u0002\u1316\u131a\u0007\u008c\u0002", + "\u0002\u1317\u1318\u0007\u0018\u0002\u0002\u1318\u131b\u0007\u008c\u0002", + "\u0002\u1319\u131b\u0007\u02dd\u0002\u0002\u131a\u1317\u0003\u0002\u0002", + "\u0002\u131a\u1319\u0003\u0002\u0002\u0002\u131b\u131e\u0003\u0002\u0002", + "\u0002\u131c\u131f\u0005\u0200\u0101\u0002\u131d\u131f\u0007(\u0002", + "\u0002\u131e\u131c\u0003\u0002\u0002\u0002\u131e\u131d\u0003\u0002\u0002", + "\u0002\u131f\u133c\u0003\u0002\u0002\u0002\u1320\u1321\u0007\u008c\u0002", + "\u0002\u1321\u1328\u0007\u01be\u0002\u0002\u1322\u1325\u0005\u0200\u0101", + "\u0002\u1323\u1324\u0007\u001a\u0002\u0002\u1324\u1326\u0005\u0202\u0102", + "\u0002\u1325\u1323\u0003\u0002\u0002\u0002\u1325\u1326\u0003\u0002\u0002", + "\u0002\u1326\u1329\u0003\u0002\u0002\u0002\u1327\u1329\u0007(\u0002", + "\u0002\u1328\u1322\u0003\u0002\u0002\u0002\u1328\u1327\u0003\u0002\u0002", + "\u0002\u1329\u133c\u0003\u0002\u0002\u0002\u132a\u133c\u0005\u0192\u00ca", + "\u0002\u132b\u133c\u0005\u0116\u008c\u0002\u132c\u133c\u0005\u0114\u008b", + "\u0002\u132d\u132e\u0007\u008c\u0002\u0002\u132e\u132f\u0005\u01f4\u00fb", + "\u0002\u132f\u1330\tD\u0002\u0002\u1330\u1338\u0005\u025c\u012f\u0002", + "\u1331\u1332\u0007\u0400\u0002\u0002\u1332\u1333\u0005\u01f4\u00fb\u0002", + "\u1333\u1334\tD\u0002\u0002\u1334\u1335\u0005\u025c\u012f\u0002\u1335", + "\u1337\u0003\u0002\u0002\u0002\u1336\u1331\u0003\u0002\u0002\u0002\u1337", + "\u133a\u0003\u0002\u0002\u0002\u1338\u1336\u0003\u0002\u0002\u0002\u1338", + "\u1339\u0003\u0002\u0002\u0002\u1339\u133c\u0003\u0002\u0002\u0002\u133a", + "\u1338\u0003\u0002\u0002\u0002\u133b\u1308\u0003\u0002\u0002\u0002\u133b", + "\u1316\u0003\u0002\u0002\u0002\u133b\u1320\u0003\u0002\u0002\u0002\u133b", + "\u132a\u0003\u0002\u0002\u0002\u133b\u132b\u0003\u0002\u0002\u0002\u133b", + "\u132c\u0003\u0002\u0002\u0002\u133b\u132d\u0003\u0002\u0002\u0002\u133c", + "\u01bb\u0003\u0002\u0002\u0002\u133d\u133e\u0007\u008e\u0002\u0002\u133e", + "\u133f\t3\u0002\u0002\u133f\u13d5\u0007\u0196\u0002\u0002\u1340\u1341", + "\u0007\u008e\u0002\u0002\u1341\u1342\tE\u0002\u0002\u1342\u1345\u0007", + "\u015f\u0002\u0002\u1343\u1344\u0007I\u0002\u0002\u1344\u1346\u0007", + "\u040d\u0002\u0002\u1345\u1343\u0003\u0002\u0002\u0002\u1345\u1346\u0003", + "\u0002\u0002\u0002\u1346\u1349\u0003\u0002\u0002\u0002\u1347\u1348\u0007", + "?\u0002\u0002\u1348\u134a\u0005\u0214\u010b\u0002\u1349\u1347\u0003", + "\u0002\u0002\u0002\u1349\u134a\u0003\u0002\u0002\u0002\u134a\u1352\u0003", + "\u0002\u0002\u0002\u134b\u134f\u0007[\u0002\u0002\u134c\u134d\u0005", + "\u0214\u010b\u0002\u134d\u134e\u0007\u0400\u0002\u0002\u134e\u1350\u0003", + "\u0002\u0002\u0002\u134f\u134c\u0003\u0002\u0002\u0002\u134f\u1350\u0003", + "\u0002\u0002\u0002\u1350\u1351\u0003\u0002\u0002\u0002\u1351\u1353\u0005", + "\u0214\u010b\u0002\u1352\u134b\u0003\u0002\u0002\u0002\u1352\u1353\u0003", + "\u0002\u0002\u0002\u1353\u13d5\u0003\u0002\u0002\u0002\u1354\u1355\u0007", + "\u008e\u0002\u0002\u1355\u1357\u0005\u01c0\u00e1\u0002\u1356\u1358\u0005", + "\u01c2\u00e2\u0002\u1357\u1356\u0003\u0002\u0002\u0002\u1357\u1358\u0003", + "\u0002\u0002\u0002\u1358\u13d5\u0003\u0002\u0002\u0002\u1359\u135b\u0007", + "\u008e\u0002\u0002\u135a\u135c\u0007\u0171\u0002\u0002\u135b\u135a\u0003", + "\u0002\u0002\u0002\u135b\u135c\u0003\u0002\u0002\u0002\u135c\u135d\u0003", + "\u0002\u0002\u0002\u135d\u135e\t%\u0002\u0002\u135e\u135f\tF\u0002\u0002", + "\u135f\u1362\u0005\u01f6\u00fc\u0002\u1360\u1361\tF\u0002\u0002\u1361", + "\u1363\u0005\u020e\u0108\u0002\u1362\u1360\u0003\u0002\u0002\u0002\u1362", + "\u1363\u0003\u0002\u0002\u0002\u1363\u1365\u0003\u0002\u0002\u0002\u1364", + "\u1366\u0005\u01c2\u00e2\u0002\u1365\u1364\u0003\u0002\u0002\u0002\u1365", + "\u1366\u0003\u0002\u0002\u0002\u1366\u13d5\u0003\u0002\u0002\u0002\u1367", + "\u1368\u0007\u008e\u0002\u0002\u1368\u1369\u0007 \u0002\u0002\u1369", + "\u136b\t\u0002\u0002\u0002\u136a\u136c\u0005\u0246\u0124\u0002\u136b", + "\u136a\u0003\u0002\u0002\u0002\u136b\u136c\u0003\u0002\u0002\u0002\u136c", + "\u136d\u0003\u0002\u0002\u0002\u136d\u13d5\u0005\u020e\u0108\u0002\u136e", + "\u136f\u0007\u008e\u0002\u0002\u136f\u1370\u0007 \u0002\u0002\u1370", + "\u1371\tG\u0002\u0002\u1371\u13d5\u0005\u01f4\u00fb\u0002\u1372\u1373", + "\u0007\u008e\u0002\u0002\u1373\u1374\u0007 \u0002\u0002\u1374\u1375", + "\u0007\u023e\u0002\u0002\u1375\u13d5\u0005\u01fc\u00ff\u0002\u1376\u1377", + "\u0007\u008e\u0002\u0002\u1377\u1378\u0007\u0158\u0002\u0002\u1378\u1379", + "\u0005\u0204\u0103\u0002\u1379\u137a\tH\u0002\u0002\u137a\u13d5\u0003", + "\u0002\u0002\u0002\u137b\u137c\u0007\u008e\u0002\u0002\u137c\u13d5\u0005", + "\u01c4\u00e3\u0002\u137d\u137e\u0007\u008e\u0002\u0002\u137e\u137f\t", + "I\u0002\u0002\u137f\u1383\u0007[\u0002\u0002\u1380\u1381\u0005\u0214", + "\u010b\u0002\u1381\u1382\u0007\u0400\u0002\u0002\u1382\u1384\u0003\u0002", + "\u0002\u0002\u1383\u1380\u0003\u0002\u0002\u0002\u1383\u1384\u0003\u0002", + "\u0002\u0002\u1384\u1385\u0003\u0002\u0002\u0002\u1385\u13d5\u0005\u0214", + "\u010b\u0002\u1386\u1387\u0007\u008e\u0002\u0002\u1387\u1388\u0007\u00f1", + "\u0002\u0002\u1388\u1389\u0007\u03fe\u0002\u0002\u1389\u138a\u0007\u03ed", + "\u0002\u0002\u138a\u138b\u0007\u03ff\u0002\u0002\u138b\u13d5\tI\u0002", + "\u0002\u138c\u138d\u0007\u008e\u0002\u0002\u138d\u1390\u0005\u01c6\u00e4", + "\u0002\u138e\u138f\tF\u0002\u0002\u138f\u1391\u0005\u020e\u0108\u0002", + "\u1390\u138e\u0003\u0002\u0002\u0002\u1390\u1391\u0003\u0002\u0002\u0002", + "\u1391\u1393\u0003\u0002\u0002\u0002\u1392\u1394\u0005\u01c2\u00e2\u0002", + "\u1393\u1392\u0003\u0002\u0002\u0002\u1393\u1394\u0003\u0002\u0002\u0002", + "\u1394\u13d5\u0003\u0002\u0002\u0002\u1395\u1396\u0007\u008e\u0002\u0002", + "\u1396\u1397\tJ\u0002\u0002\u1397\u1398\u0007\u012f\u0002\u0002\u1398", + "\u13d5\u0005\u01f4\u00fb\u0002\u1399\u139a\u0007\u008e\u0002\u0002\u139a", + "\u139d\u0007\u0175\u0002\u0002\u139b\u139c\u0007<\u0002\u0002\u139c", + "\u139e\u0005\u01fc\u00ff\u0002\u139d\u139b\u0003\u0002\u0002\u0002\u139d", + "\u139e\u0003\u0002\u0002\u0002\u139e\u13d5\u0003\u0002\u0002\u0002\u139f", + "\u13a0\u0007\u008e\u0002\u0002\u13a0\u13a1\tK\u0002\u0002\u13a1\u13a2", + "\tF\u0002\u0002\u13a2\u13a5\u0005\u01f6\u00fc\u0002\u13a3\u13a4\tF\u0002", + "\u0002\u13a4\u13a6\u0005\u020e\u0108\u0002\u13a5\u13a3\u0003\u0002\u0002", + "\u0002\u13a5\u13a6\u0003\u0002\u0002\u0002\u13a6\u13a9\u0003\u0002\u0002", + "\u0002\u13a7\u13a8\u0007\u00ae\u0002\u0002\u13a8\u13aa\u0005\u025c\u012f", + "\u0002\u13a9\u13a7\u0003\u0002\u0002\u0002\u13a9\u13aa\u0003\u0002\u0002", + "\u0002\u13aa\u13d5\u0003\u0002\u0002\u0002\u13ab\u13ac\u0007\u008e\u0002", + "\u0002\u13ac\u13ad\u0007\u01cc\u0002\u0002\u13ad\u13b0\u0007\u025c\u0002", + "\u0002\u13ae\u13af\tF\u0002\u0002\u13af\u13b1\u0005\u020e\u0108\u0002", + "\u13b0\u13ae\u0003\u0002\u0002\u0002\u13b0\u13b1\u0003\u0002\u0002\u0002", + "\u13b1\u13b3\u0003\u0002\u0002\u0002\u13b2\u13b4\u0005\u01c2\u00e2\u0002", + "\u13b3\u13b2\u0003\u0002\u0002\u0002\u13b3\u13b4\u0003\u0002\u0002\u0002", + "\u13b4\u13d5\u0003\u0002\u0002\u0002\u13b5\u13b6\u0007\u008e\u0002\u0002", + "\u13b6\u13b7\u0007\u01e1\u0002\u0002\u13b7\u13bc\u0005\u01c8\u00e5\u0002", + "\u13b8\u13b9\u0007\u0400\u0002\u0002\u13b9\u13bb\u0005\u01c8\u00e5\u0002", + "\u13ba\u13b8\u0003\u0002\u0002\u0002\u13bb\u13be\u0003\u0002\u0002\u0002", + "\u13bc\u13ba\u0003\u0002\u0002\u0002\u13bc\u13bd\u0003\u0002\u0002\u0002", + "\u13bd\u13c2\u0003\u0002\u0002\u0002\u13be\u13bc\u0003\u0002\u0002\u0002", + "\u13bf\u13c0\u0007<\u0002\u0002\u13c0\u13c1\u0007\u01e4\u0002\u0002", + "\u13c1\u13c3\u0005\u0214\u010b\u0002\u13c2\u13bf\u0003\u0002\u0002\u0002", + "\u13c2\u13c3\u0003\u0002\u0002\u0002\u13c3\u13c4\u0003\u0002\u0002\u0002", + "\u13c4\u13c8\u0007[\u0002\u0002\u13c5\u13c6\u0005\u0214\u010b\u0002", + "\u13c6\u13c7\u0007\u0400\u0002\u0002\u13c7\u13c9\u0003\u0002\u0002\u0002", + "\u13c8\u13c5\u0003\u0002\u0002\u0002\u13c8\u13c9\u0003\u0002\u0002\u0002", + "\u13c9\u13ca\u0003\u0002\u0002\u0002\u13ca\u13cb\u0005\u0214\u010b\u0002", + "\u13cb\u13d5\u0003\u0002\u0002\u0002\u13cc\u13cd\u0007\u008e\u0002\u0002", + "\u13cd\u13ce\u0007\u020d\u0002\u0002\u13ce\u13d2\u0007\u0221\u0002\u0002", + "\u13cf\u13d0\u0007<\u0002\u0002\u13d0\u13d1\u0007\u0127\u0002\u0002", + "\u13d1\u13d3\u0007\u040d\u0002\u0002\u13d2\u13cf\u0003\u0002\u0002\u0002", + "\u13d2\u13d3\u0003\u0002\u0002\u0002\u13d3\u13d5\u0003\u0002\u0002\u0002", + "\u13d4\u133d\u0003\u0002\u0002\u0002\u13d4\u1340\u0003\u0002\u0002\u0002", + "\u13d4\u1354\u0003\u0002\u0002\u0002\u13d4\u1359\u0003\u0002\u0002\u0002", + "\u13d4\u1367\u0003\u0002\u0002\u0002\u13d4\u136e\u0003\u0002\u0002\u0002", + "\u13d4\u1372\u0003\u0002\u0002\u0002\u13d4\u1376\u0003\u0002\u0002\u0002", + "\u13d4\u137b\u0003\u0002\u0002\u0002\u13d4\u137d\u0003\u0002\u0002\u0002", + "\u13d4\u1386\u0003\u0002\u0002\u0002\u13d4\u138c\u0003\u0002\u0002\u0002", + "\u13d4\u1395\u0003\u0002\u0002\u0002\u13d4\u1399\u0003\u0002\u0002\u0002", + "\u13d4\u139f\u0003\u0002\u0002\u0002\u13d4\u13ab\u0003\u0002\u0002\u0002", + "\u13d4\u13b5\u0003\u0002\u0002\u0002\u13d4\u13cc\u0003\u0002\u0002\u0002", + "\u13d5\u01bd\u0003\u0002\u0002\u0002\u13d6\u13e1\u0007\u0418\u0002\u0002", + "\u13d7\u13e1\u0007\u0419\u0002\u0002\u13d8\u13d9\u0007\u0402\u0002\u0002", + "\u13d9\u13db\u0007\u0402\u0002\u0002\u13da\u13d8\u0003\u0002\u0002\u0002", + "\u13da\u13db\u0003\u0002\u0002\u0002\u13db\u13dc\u0003\u0002\u0002\u0002", + "\u13dc\u13de\tL\u0002\u0002\u13dd\u13da\u0003\u0002\u0002\u0002\u13dd", + "\u13de\u0003\u0002\u0002\u0002\u13de\u13df\u0003\u0002\u0002\u0002\u13df", + "\u13e1\u0005\u020e\u0108\u0002\u13e0\u13d6\u0003\u0002\u0002\u0002\u13e0", + "\u13d7\u0003\u0002\u0002\u0002\u13e0\u13dd\u0003\u0002\u0002\u0002\u13e1", + "\u01bf\u0003\u0002\u0002\u0002\u13e2\u13e3\u0007\u0018\u0002\u0002\u13e3", + "\u13f0\u0007\u008c\u0002\u0002\u13e4\u13f0\u0007\u02e0\u0002\u0002\u13e5", + "\u13f0\u0007&\u0002\u0002\u13e6\u13f0\u0007\u008a\u0002\u0002\u13e7", + "\u13e8\u0007\u0172\u0002\u0002\u13e8\u13f0\u0007\u0221\u0002\u0002\u13e9", + "\u13ea\u0007w\u0002\u0002\u13ea\u13f0\u0007\u0221\u0002\u0002\u13eb", + "\u13ed\t2\u0002\u0002\u13ec\u13eb\u0003\u0002\u0002\u0002\u13ec\u13ed", + "\u0003\u0002\u0002\u0002\u13ed\u13ee\u0003\u0002\u0002\u0002\u13ee\u13f0", + "\tM\u0002\u0002\u13ef\u13e2\u0003\u0002\u0002\u0002\u13ef\u13e4\u0003", + "\u0002\u0002\u0002\u13ef\u13e5\u0003\u0002\u0002\u0002\u13ef\u13e6\u0003", + "\u0002\u0002\u0002\u13ef\u13e7\u0003\u0002\u0002\u0002\u13ef\u13e9\u0003", + "\u0002\u0002\u0002\u13ef\u13ec\u0003\u0002\u0002\u0002\u13f0\u01c1\u0003", + "\u0002\u0002\u0002\u13f1\u13f2\u0007Z\u0002\u0002\u13f2\u13f6\u0007", + "\u040d\u0002\u0002\u13f3\u13f4\u0007\u00ae\u0002\u0002\u13f4\u13f6\u0005", + "\u025c\u012f\u0002\u13f5\u13f1\u0003\u0002\u0002\u0002\u13f5\u13f3\u0003", + "\u0002\u0002\u0002\u13f6\u01c3\u0003\u0002\u0002\u0002\u13f7\u13f9\u0007", + "\u0223\u0002\u0002\u13f8\u13f7\u0003\u0002\u0002\u0002\u13f8\u13f9\u0003", + "\u0002\u0002\u0002\u13f9\u13fa\u0003\u0002\u0002\u0002\u13fa\u1409\u0007", + "\u0159\u0002\u0002\u13fb\u13fc\u0007\u0197\u0002\u0002\u13fc\u1409\u0007", + "\u0221\u0002\u0002\u13fd\u1409\u0007\u01da\u0002\u0002\u13fe\u1409\u0007", + "\u0264\u0002\u0002\u13ff\u1401\u0007\u0171\u0002\u0002\u1400\u13ff\u0003", + "\u0002\u0002\u0002\u1400\u1401\u0003\u0002\u0002\u0002\u1401\u1402\u0003", + "\u0002\u0002\u0002\u1402\u1409\u0007\u01e0\u0002\u0002\u1403\u1409\u0007", + "\u01e2\u0002\u0002\u1404\u1405\u0007\u020d\u0002\u0002\u1405\u1409\u0007", + "\u017b\u0002\u0002\u1406\u1409\u0007\u0117\u0002\u0002\u1407\u1409\u0007", + "\u0141\u0002\u0002\u1408\u13f8\u0003\u0002\u0002\u0002\u1408\u13fb\u0003", + "\u0002\u0002\u0002\u1408\u13fd\u0003\u0002\u0002\u0002\u1408\u13fe\u0003", + "\u0002\u0002\u0002\u1408\u1400\u0003\u0002\u0002\u0002\u1408\u1403\u0003", + "\u0002\u0002\u0002\u1408\u1404\u0003\u0002\u0002\u0002\u1408\u1406\u0003", + "\u0002\u0002\u0002\u1408\u1407\u0003\u0002\u0002\u0002\u1409\u01c5\u0003", + "\u0002\u0002\u0002\u140a\u1413\u0007\u015f\u0002\u0002\u140b\u140c\u0007", + "\u009c\u0002\u0002\u140c\u1413\u0007\u0221\u0002\u0002\u140d\u140f\u0007", + "\u0171\u0002\u0002\u140e\u140d\u0003\u0002\u0002\u0002\u140e\u140f\u0003", + "\u0002\u0002\u0002\u140f\u1410\u0003\u0002\u0002\u0002\u1410\u1413\u0007", + "\u025c\u0002\u0002\u1411\u1413\u0007\u0235\u0002\u0002\u1412\u140a\u0003", + "\u0002\u0002\u0002\u1412\u140b\u0003\u0002\u0002\u0002\u1412\u140e\u0003", + "\u0002\u0002\u0002\u1412\u1411\u0003\u0002\u0002\u0002\u1413\u01c7\u0003", + "\u0002\u0002\u0002\u1414\u1421\u0007\b\u0002\u0002\u1415\u1416\u0007", + "\u011f\u0002\u0002\u1416\u1421\u0007\u0187\u0002\u0002\u1417\u1418\u0007", + "\u0140\u0002\u0002\u1418\u1421\u0007\u022c\u0002\u0002\u1419\u1421\u0007", + "\u0143\u0002\u0002\u141a\u1421\u0007\u0189\u0002\u0002\u141b\u1421\u0007", + "\u02ac\u0002\u0002\u141c\u141d\u0007\u01d1\u0002\u0002\u141d\u1421\u0007", + "\u0168\u0002\u0002\u141e\u1421\u0007\u0214\u0002\u0002\u141f\u1421\u0007", + "\u022b\u0002\u0002\u1420\u1414\u0003\u0002\u0002\u0002\u1420\u1415\u0003", + "\u0002\u0002\u0002\u1420\u1417\u0003\u0002\u0002\u0002\u1420\u1419\u0003", + "\u0002\u0002\u0002\u1420\u141a\u0003\u0002\u0002\u0002\u1420\u141b\u0003", + "\u0002\u0002\u0002\u1420\u141c\u0003\u0002\u0002\u0002\u1420\u141e\u0003", + "\u0002\u0002\u0002\u1420\u141f\u0003\u0002\u0002\u0002\u1421\u01c9\u0003", + "\u0002\u0002\u0002\u1422\u1423\u0007\u011d\u0002\u0002\u1423\u1424\u0007", + "\u040d\u0002\u0002\u1424\u01cb\u0003\u0002\u0002\u0002\u1425\u1426\u0007", + "\u0123\u0002\u0002\u1426\u1427\u0007J\u0002\u0002\u1427\u142c\u0005", + "\u01d8\u00ed\u0002\u1428\u1429\u0007\u0400\u0002\u0002\u1429\u142b\u0005", + "\u01d8\u00ed\u0002\u142a\u1428\u0003\u0002\u0002\u0002\u142b\u142e\u0003", + "\u0002\u0002\u0002\u142c\u142a\u0003\u0002\u0002\u0002\u142c\u142d\u0003", + "\u0002\u0002\u0002\u142d\u1436\u0003\u0002\u0002\u0002\u142e\u142c\u0003", + "\u0002\u0002\u0002\u142f\u1430\u0007u\u0002\u0002\u1430\u1433\u0007", + "\u03fe\u0002\u0002\u1431\u1434\u0005\u022e\u0118\u0002\u1432\u1434\u0007", + "\b\u0002\u0002\u1433\u1431\u0003\u0002\u0002\u0002\u1433\u1432\u0003", + "\u0002\u0002\u0002\u1434\u1435\u0003\u0002\u0002\u0002\u1435\u1437\u0007", + "\u03ff\u0002\u0002\u1436\u142f\u0003\u0002\u0002\u0002\u1436\u1437\u0003", + "\u0002\u0002\u0002\u1437\u1438\u0003\u0002\u0002\u0002\u1438\u1439\u0007", + "I\u0002\u0002\u1439\u143a\u0005\u020e\u0108\u0002\u143a\u01cd\u0003", + "\u0002\u0002\u0002\u143b\u143d\u0007\u016e\u0002\u0002\u143c\u143e\t", + "A\u0002\u0002\u143d\u143c\u0003\u0002\u0002\u0002\u143d\u143e\u0003", + "\u0002\u0002\u0002\u143e\u143f\u0003\u0002\u0002\u0002\u143f\u1444\u0005", + "\u01da\u00ee\u0002\u1440\u1441\u0007\u0400\u0002\u0002\u1441\u1443\u0005", + "\u01da\u00ee\u0002\u1442\u1440\u0003\u0002\u0002\u0002\u1443\u1446\u0003", + "\u0002\u0002\u0002\u1444\u1442\u0003\u0002\u0002\u0002\u1444\u1445\u0003", + "\u0002\u0002\u0002\u1445\u01cf\u0003\u0002\u0002\u0002\u1446\u1444\u0003", + "\u0002\u0002\u0002\u1447\u1449\u0007V\u0002\u0002\u1448\u144a\tN\u0002", + "\u0002\u1449\u1448\u0003\u0002\u0002\u0002\u1449\u144a\u0003\u0002\u0002", + "\u0002\u144a\u144c\u0003\u0002\u0002\u0002\u144b\u144d\u0005\u0214\u010b", + "\u0002\u144c\u144b\u0003\u0002\u0002\u0002\u144d\u144e\u0003\u0002\u0002", + "\u0002\u144e\u144c\u0003\u0002\u0002\u0002\u144e\u144f\u0003\u0002\u0002", + "\u0002\u144f\u01d1\u0003\u0002\u0002\u0002\u1450\u1451\u0007^\u0002", + "\u0002\u1451\u1452\u0007J\u0002\u0002\u1452\u1453\u0007P\u0002\u0002", + "\u1453\u1454\u0007\u0123\u0002\u0002\u1454\u1459\u0005\u01de\u00f0\u0002", + "\u1455\u1456\u0007\u0400\u0002\u0002\u1456\u1458\u0005\u01de\u00f0\u0002", + "\u1457\u1455\u0003\u0002\u0002\u0002\u1458\u145b\u0003\u0002\u0002\u0002", + "\u1459\u1457\u0003\u0002\u0002\u0002\u1459\u145a\u0003\u0002\u0002\u0002", + "\u145a\u01d3\u0003\u0002\u0002\u0002\u145b\u1459\u0003\u0002\u0002\u0002", + "\u145c\u145d\u0007\u01f9\u0002\u0002\u145d\u145e\u0007\u01e4\u0002\u0002", + "\u145e\u145f\u0007\u0123\u0002\u0002\u145f\u01d5\u0003\u0002\u0002\u0002", + "\u1460\u1461\u0007\u0262\u0002\u0002\u1461\u01d7\u0003\u0002\u0002\u0002", + "\u1462\u146a\u0005\u01f6\u00fc\u0002\u1463\u1465\t\u0014\u0002\u0002", + "\u1464\u1463\u0003\u0002\u0002\u0002\u1464\u1465\u0003\u0002\u0002\u0002", + "\u1465\u1466\u0003\u0002\u0002\u0002\u1466\u1467\u0007\u03fe\u0002\u0002", + "\u1467\u1468\u0005\u022e\u0118\u0002\u1468\u1469\u0007\u03ff\u0002\u0002", + "\u1469\u146b\u0003\u0002\u0002\u0002\u146a\u1464\u0003\u0002\u0002\u0002", + "\u146a\u146b\u0003\u0002\u0002\u0002\u146b\u01d9\u0003\u0002\u0002\u0002", + "\u146c\u147f\u0007\u014b\u0002\u0002\u146d\u147f\u0007\u017b\u0002\u0002", + "\u146e\u1470\tO\u0002\u0002\u146f\u146e\u0003\u0002\u0002\u0002\u146f", + "\u1470\u0003\u0002\u0002\u0002\u1470\u1471\u0003\u0002\u0002\u0002\u1471", + "\u147f\u0007\u0196\u0002\u0002\u1472\u147f\u0007\u01cd\u0002\u0002\u1473", + "\u147f\u0007\u0264\u0002\u0002\u1474\u1475\u0007\u01e4\u0002\u0002\u1475", + "\u147f\u0007\u0123\u0002\u0002\u1476\u147f\u0007\u0221\u0002\u0002\u1477", + "\u147f\u0007\u0240\u0002\u0002\u1478\u147c\u0007\u025c\u0002\u0002\u1479", + "\u147a\u0007\u00b0\u0002\u0002\u147a\u147b\u0007z\u0002\u0002\u147b", + "\u147d\u0007_\u0002\u0002\u147c\u1479\u0003\u0002\u0002\u0002\u147c", + "\u147d\u0003\u0002\u0002\u0002\u147d\u147f\u0003\u0002\u0002\u0002\u147e", + "\u146c\u0003\u0002\u0002\u0002\u147e\u146d\u0003\u0002\u0002\u0002\u147e", + "\u146f\u0003\u0002\u0002\u0002\u147e\u1472\u0003\u0002\u0002\u0002\u147e", + "\u1473\u0003\u0002\u0002\u0002\u147e\u1474\u0003\u0002\u0002\u0002\u147e", + "\u1476\u0003\u0002\u0002\u0002\u147e\u1477\u0003\u0002\u0002\u0002\u147e", + "\u1478\u0003\u0002\u0002\u0002\u147f\u148b\u0003\u0002\u0002\u0002\u1480", + "\u1481\u0007\u01ea\u0002\u0002\u1481\u1483\u0007\u0196\u0002\u0002\u1482", + "\u1484\u0005\u013c\u009f\u0002\u1483\u1482\u0003\u0002\u0002\u0002\u1483", + "\u1484\u0003\u0002\u0002\u0002\u1484\u148b\u0003\u0002\u0002\u0002\u1485", + "\u1486\u0007\u025c\u0002\u0002\u1486\u1488\u0005\u0230\u0119\u0002\u1487", + "\u1489\u0005\u01dc\u00ef\u0002\u1488\u1487\u0003\u0002\u0002\u0002\u1488", + "\u1489\u0003\u0002\u0002\u0002\u1489\u148b\u0003\u0002\u0002\u0002\u148a", + "\u147e\u0003\u0002\u0002\u0002\u148a\u1480\u0003\u0002\u0002\u0002\u148a", + "\u1485\u0003\u0002\u0002\u0002\u148b\u01db\u0003\u0002\u0002\u0002\u148c", + "\u148d\u0007\u00b0\u0002\u0002\u148d\u148e\u0007z\u0002\u0002\u148e", + "\u1492\u0007_\u0002\u0002\u148f\u1490\u0007<\u0002\u0002\u1490\u1492", + "\u0007\u0164\u0002\u0002\u1491\u148c\u0003\u0002\u0002\u0002\u1491\u148f", + "\u0003\u0002\u0002\u0002\u1492\u01dd\u0003\u0002\u0002\u0002\u1493\u149b", + "\u0005\u01f6\u00fc\u0002\u1494\u1495\u0007u\u0002\u0002\u1495\u1498", + "\u0007\u03fe\u0002\u0002\u1496\u1499\u0005\u022e\u0118\u0002\u1497\u1499", + "\u0007\b\u0002\u0002\u1498\u1496\u0003\u0002\u0002\u0002\u1498\u1497", + "\u0003\u0002\u0002\u0002\u1499\u149a\u0003\u0002\u0002\u0002\u149a\u149c", + "\u0007\u03ff\u0002\u0002\u149b\u1494\u0003\u0002\u0002\u0002\u149b\u149c", + "\u0003\u0002\u0002\u0002\u149c\u14a4\u0003\u0002\u0002\u0002\u149d\u149f", + "\t\u0014\u0002\u0002\u149e\u149d\u0003\u0002\u0002\u0002\u149e\u149f", + "\u0003\u0002\u0002\u0002\u149f\u14a0\u0003\u0002\u0002\u0002\u14a0\u14a1", + "\u0007\u03fe\u0002\u0002\u14a1\u14a2\u0005\u022e\u0118\u0002\u14a2\u14a3", + "\u0007\u03ff\u0002\u0002\u14a3\u14a5\u0003\u0002\u0002\u0002\u14a4\u149e", + "\u0003\u0002\u0002\u0002\u14a4\u14a5\u0003\u0002\u0002\u0002\u14a5\u14a8", + "\u0003\u0002\u0002\u0002\u14a6\u14a7\u0007H\u0002\u0002\u14a7\u14a9", + "\u0007\u0190\u0002\u0002\u14a8\u14a6\u0003\u0002\u0002\u0002\u14a8\u14a9", + "\u0003\u0002\u0002\u0002\u14a9\u01df\u0003\u0002\u0002\u0002\u14aa\u14ab", + "\tP\u0002\u0002\u14ab\u14ae\u0005\u01f6\u00fc\u0002\u14ac\u14af\u0005", + "\u020e\u0108\u0002\u14ad\u14af\u0007\u040d\u0002\u0002\u14ae\u14ac\u0003", + "\u0002\u0002\u0002\u14ae\u14ad\u0003\u0002\u0002\u0002\u14ae\u14af\u0003", + "\u0002\u0002\u0002\u14af\u01e1\u0003\u0002\u0002\u0002\u14b0\u14b4\t", + "P\u0002\u0002\u14b1\u14b2\tQ\u0002\u0002\u14b2\u14b3\u0007\u03f5\u0002", + "\u0002\u14b3\u14b5\tR\u0002\u0002\u14b4\u14b1\u0003\u0002\u0002\u0002", + "\u14b4\u14b5\u0003\u0002\u0002\u0002\u14b5\u14b6\u0003\u0002\u0002\u0002", + "\u14b6\u14b7\u0005\u01f2\u00fa\u0002\u14b7\u01e3\u0003\u0002\u0002\u0002", + "\u14b8\u14b9\u0007\u0179\u0002\u0002\u14b9\u14ba\u0007\u040d\u0002\u0002", + "\u14ba\u01e5\u0003\u0002\u0002\u0002\u14bb\u14bc\u0007\u00aa\u0002\u0002", + "\u14bc\u14bd\u0005\u020e\u0108\u0002\u14bd\u01e7\u0003\u0002\u0002\u0002", + "\u14be\u14c6\u0007\u008f\u0002\u0002\u14bf\u14c1\u0007\u0093\u0002\u0002", + "\u14c0\u14c2\u0007\u0242\u0002\u0002\u14c1\u14c0\u0003\u0002\u0002\u0002", + "\u14c1\u14c2\u0003\u0002\u0002\u0002\u14c2\u14c3\u0003\u0002\u0002\u0002", + "\u14c3\u14c7\u0005\u0218\u010d\u0002\u14c4\u14c7\u0007\u0415\u0002\u0002", + "\u14c5\u14c7\u0007\u0416\u0002\u0002\u14c6\u14bf\u0003\u0002\u0002\u0002", + "\u14c6\u14c4\u0003\u0002\u0002\u0002\u14c6\u14c5\u0003\u0002\u0002\u0002", + "\u14c7\u14d1\u0003\u0002\u0002\u0002\u14c8\u14c9\u0007\u008c\u0002\u0002", + "\u14c9\u14ce\u0005\u01ec\u00f7\u0002\u14ca\u14cb\u0007\u0400\u0002\u0002", + "\u14cb\u14cd\u0005\u01ec\u00f7\u0002\u14cc\u14ca\u0003\u0002\u0002\u0002", + "\u14cd\u14d0\u0003\u0002\u0002\u0002\u14ce\u14cc\u0003\u0002\u0002\u0002", + "\u14ce\u14cf\u0003\u0002\u0002\u0002\u14cf\u14d2\u0003\u0002\u0002\u0002", + "\u14d0\u14ce\u0003\u0002\u0002\u0002\u14d1\u14c8\u0003\u0002\u0002\u0002", + "\u14d1\u14d2\u0003\u0002\u0002\u0002\u14d2\u01e9\u0003\u0002\u0002\u0002", + "\u14d3\u14db\u0007\u0083\u0002\u0002\u14d4\u14d6\u0007\u0093\u0002\u0002", + "\u14d5\u14d7\u0007\u0242\u0002\u0002\u14d6\u14d5\u0003\u0002\u0002\u0002", + "\u14d6\u14d7\u0003\u0002\u0002\u0002\u14d7\u14d8\u0003\u0002\u0002\u0002", + "\u14d8\u14dc\u0005\u0218\u010d\u0002\u14d9\u14dc\u0007\u0415\u0002\u0002", + "\u14da\u14dc\u0007\u0416\u0002\u0002\u14db\u14d4\u0003\u0002\u0002\u0002", + "\u14db\u14d9\u0003\u0002\u0002\u0002\u14db\u14da\u0003\u0002\u0002\u0002", + "\u14db\u14dc\u0003\u0002\u0002\u0002\u14dc\u14e6\u0003\u0002\u0002\u0002", + "\u14dd\u14de\u0007\u008c\u0002\u0002\u14de\u14e3\u0005\u01ec\u00f7\u0002", + "\u14df\u14e0\u0007\u0400\u0002\u0002\u14e0\u14e2\u0005\u01ec\u00f7\u0002", + "\u14e1\u14df\u0003\u0002\u0002\u0002\u14e2\u14e5\u0003\u0002\u0002\u0002", + "\u14e3\u14e1\u0003\u0002\u0002\u0002\u14e3\u14e4\u0003\u0002\u0002\u0002", + "\u14e4\u14e7\u0003\u0002\u0002\u0002\u14e5\u14e3\u0003\u0002\u0002\u0002", + "\u14e6\u14dd\u0003\u0002\u0002\u0002\u14e6\u14e7\u0003\u0002\u0002\u0002", + "\u14e7\u01eb\u0003\u0002\u0002\u0002\u14e8\u14e9\tS\u0002\u0002\u14e9", + "\u14ec\u0007\u03f5\u0002\u0002\u14ea\u14ed\u0005\u0218\u010d\u0002\u14eb", + "\u14ed\u0007\u040e\u0002\u0002\u14ec\u14ea\u0003\u0002\u0002\u0002\u14ec", + "\u14eb\u0003\u0002\u0002\u0002\u14ed\u01ed\u0003\u0002\u0002\u0002\u14ee", + "\u14f0\u0007B\u0002\u0002\u14ef\u14f1\tT\u0002\u0002\u14f0\u14ef\u0003", + "\u0002\u0002\u0002\u14f0\u14f1\u0003\u0002\u0002\u0002\u14f1\u14f2\u0003", + "\u0002\u0002\u0002\u14f2\u1512\u0007.\u0002\u0002\u14f3\u14f4\u0005", + "\u01be\u00e0\u0002\u14f4\u14f5\u0007\u03f5\u0002\u0002\u14f5\u14fd\t", + "U\u0002\u0002\u14f6\u14f7\u0007\u0400\u0002\u0002\u14f7\u14f8\u0005", + "\u01be\u00e0\u0002\u14f8\u14f9\u0007\u03f5\u0002\u0002\u14f9\u14fa\t", + "U\u0002\u0002\u14fa\u14fc\u0003\u0002\u0002\u0002\u14fb\u14f6\u0003", + "\u0002\u0002\u0002\u14fc\u14ff\u0003\u0002\u0002\u0002\u14fd\u14fb\u0003", + "\u0002\u0002\u0002\u14fd\u14fe\u0003\u0002\u0002\u0002\u14fe\u1513\u0003", + "\u0002\u0002\u0002\u14ff\u14fd\u0003\u0002\u0002\u0002\u1500\u1503\u0007", + "\u001c\u0002\u0002\u1501\u1504\u0005\u0214\u010b\u0002\u1502\u1504\u0005", + "\u01be\u00e0\u0002\u1503\u1501\u0003\u0002\u0002\u0002\u1503\u1502\u0003", + "\u0002\u0002\u0002\u1504\u1505\u0003\u0002\u0002\u0002\u1505\u1506\u0005", + "\u01be\u00e0\u0002\u1506\u1507\u0007\u03f5\u0002\u0002\u1507\u150f\u0005", + "\u01f0\u00f9\u0002\u1508\u1509\u0007\u0400\u0002\u0002\u1509\u150a\u0005", + "\u01be\u00e0\u0002\u150a\u150b\u0007\u03f5\u0002\u0002\u150b\u150c\u0005", + "\u01f0\u00f9\u0002\u150c\u150e\u0003\u0002\u0002\u0002\u150d\u1508\u0003", + "\u0002\u0002\u0002\u150e\u1511\u0003\u0002\u0002\u0002\u150f\u150d\u0003", + "\u0002\u0002\u0002\u150f\u1510\u0003\u0002\u0002\u0002\u1510\u1513\u0003", + "\u0002\u0002\u0002\u1511\u150f\u0003\u0002\u0002\u0002\u1512\u14f3\u0003", + "\u0002\u0002\u0002\u1512\u1500\u0003\u0002\u0002\u0002\u1513\u01ef\u0003", + "\u0002\u0002\u0002\u1514\u1515\tV\u0002\u0002\u1515\u01f1\u0003\u0002", + "\u0002\u0002\u1516\u151c\u0005\u00b6\\\u0002\u1517\u151c\u0005\u00a8", + "U\u0002\u1518\u151c\u0005\u00aeX\u0002\u1519\u151c\u0005\u00b4[\u0002", + "\u151a\u151c\u0005\u00b8]\u0002\u151b\u1516\u0003\u0002\u0002\u0002", + "\u151b\u1517\u0003\u0002\u0002\u0002\u151b\u1518\u0003\u0002\u0002\u0002", + "\u151b\u1519\u0003\u0002\u0002\u0002\u151b\u151a\u0003\u0002\u0002\u0002", + "\u151c\u1521\u0003\u0002\u0002\u0002\u151d\u151e\u0007<\u0002\u0002", + "\u151e\u151f\u0007\u013a\u0002\u0002\u151f\u1521\u0005\u020e\u0108\u0002", + "\u1520\u151b\u0003\u0002\u0002\u0002\u1520\u151d\u0003\u0002\u0002\u0002", + "\u1521\u01f3\u0003\u0002\u0002\u0002\u1522\u1526\u0005\u020e\u0108\u0002", + "\u1523\u1527\u0007\u0414\u0002\u0002\u1524\u1525\u0007\u03fd\u0002\u0002", + "\u1525\u1527\u0005\u020e\u0108\u0002\u1526\u1523\u0003\u0002\u0002\u0002", + "\u1526\u1524\u0003\u0002\u0002\u0002\u1526\u1527\u0003\u0002\u0002\u0002", + "\u1527\u01f5\u0003\u0002\u0002\u0002\u1528\u1529\u0005\u01f4\u00fb\u0002", + "\u1529\u01f7\u0003\u0002\u0002\u0002\u152a\u152f\u0005\u020e\u0108\u0002", + "\u152b\u152d\u0005\u0212\u010a\u0002\u152c\u152e\u0005\u0212\u010a\u0002", + "\u152d\u152c\u0003\u0002\u0002\u0002\u152d\u152e\u0003\u0002\u0002\u0002", + "\u152e\u1530\u0003\u0002\u0002\u0002\u152f\u152b\u0003\u0002\u0002\u0002", + "\u152f\u1530\u0003\u0002\u0002\u0002\u1530\u01f9\u0003\u0002\u0002\u0002", + "\u1531\u1534\u0005\u020e\u0108\u0002\u1532\u1534\u0007\u040d\u0002\u0002", + "\u1533\u1531\u0003\u0002\u0002\u0002\u1533\u1532\u0003\u0002\u0002\u0002", + "\u1534\u1539\u0003\u0002\u0002\u0002\u1535\u1536\u0007\u03fe\u0002\u0002", + "\u1536\u1537\u0005\u0214\u010b\u0002\u1537\u1538\u0007\u03ff\u0002\u0002", + "\u1538\u153a\u0003\u0002\u0002\u0002\u1539\u1535\u0003\u0002\u0002\u0002", + "\u1539\u153a\u0003\u0002\u0002\u0002\u153a\u153c\u0003\u0002\u0002\u0002", + "\u153b\u153d\t,\u0002\u0002\u153c\u153b\u0003\u0002\u0002\u0002\u153c", + "\u153d\u0003\u0002\u0002\u0002\u153d\u01fb\u0003\u0002\u0002\u0002\u153e", + "\u153f\tW\u0002\u0002\u153f\u01fd\u0003\u0002\u0002\u0002\u1540\u1541", + "\tX\u0002\u0002\u1541\u01ff\u0003\u0002\u0002\u0002\u1542\u1547\u0007", + "\u00d2\u0002\u0002\u1543\u1547\u0005\u026c\u0137\u0002\u1544\u1547\u0007", + "\u040d\u0002\u0002\u1545\u1547\u0007\u040a\u0002\u0002\u1546\u1542\u0003", + "\u0002\u0002\u0002\u1546\u1543\u0003\u0002\u0002\u0002\u1546\u1544\u0003", + "\u0002\u0002\u0002\u1546\u1545\u0003\u0002\u0002\u0002\u1547\u0201\u0003", + "\u0002\u0002\u0002\u1548\u154b\u0005\u020e\u0108\u0002\u1549\u154b\u0007", + "\u040d\u0002\u0002\u154a\u1548\u0003\u0002\u0002\u0002\u154a\u1549\u0003", + "\u0002\u0002\u0002\u154b\u0203\u0003\u0002\u0002\u0002\u154c\u154d\t", + "Y\u0002\u0002\u154d\u0205\u0003\u0002\u0002\u0002\u154e\u154f\u0005", + "\u0214\u010b\u0002\u154f\u1550\u0007\u03f2\u0002\u0002\u1550\u1551\u0005", + "\u0214\u010b\u0002\u1551\u1552\u0007\u03f2\u0002\u0002\u1552\u1553\u0005", + "\u0214\u010b\u0002\u1553\u1554\u0007\u03f2\u0002\u0002\u1554\u1555\u0005", + "\u0214\u010b\u0002\u1555\u1556\u0007\u03f2\u0002\u0002\u1556\u155c\u0005", + "\u0214\u010b\u0002\u1557\u1558\u0007\u0409\u0002\u0002\u1558\u1559\u0005", + "\u0214\u010b\u0002\u1559\u155a\u0007\u03f2\u0002\u0002\u155a\u155b\u0005", + "\u0214\u010b\u0002\u155b\u155d\u0003\u0002\u0002\u0002\u155c\u1557\u0003", + "\u0002\u0002\u0002\u155d\u155e\u0003\u0002\u0002\u0002\u155e\u155c\u0003", + "\u0002\u0002\u0002\u155e\u155f\u0003\u0002\u0002\u0002\u155f\u0207\u0003", + "\u0002\u0002\u0002\u1560\u1567\u0005\u020a\u0106\u0002\u1561\u1562\u0007", + "\u0400\u0002\u0002\u1562\u1565\u0005\u020a\u0106\u0002\u1563\u1564\u0007", + "\u0400\u0002\u0002\u1564\u1566\u0005\u0214\u010b\u0002\u1565\u1563\u0003", + "\u0002\u0002\u0002\u1565\u1566\u0003\u0002\u0002\u0002\u1566\u1568\u0003", + "\u0002\u0002\u0002\u1567\u1561\u0003\u0002\u0002\u0002\u1567\u1568\u0003", + "\u0002\u0002\u0002\u1568\u0209\u0003\u0002\u0002\u0002\u1569\u1571\u0007", + "\u040d\u0002\u0002\u156a\u1571\u0007\u0412\u0002\u0002\u156b\u156d\u0007", + "\u040f\u0002\u0002\u156c\u156b\u0003\u0002\u0002\u0002\u156d\u156e\u0003", + "\u0002\u0002\u0002\u156e\u156c\u0003\u0002\u0002\u0002\u156e\u156f\u0003", + "\u0002\u0002\u0002\u156f\u1571\u0003\u0002\u0002\u0002\u1570\u1569\u0003", + "\u0002\u0002\u0002\u1570\u156a\u0003\u0002\u0002\u0002\u1570\u156c\u0003", + "\u0002\u0002\u0002\u1571\u020b\u0003\u0002\u0002\u0002\u1572\u1575\u0005", + "\u020e\u0108\u0002\u1573\u1575\u0007\u040d\u0002\u0002\u1574\u1572\u0003", + "\u0002\u0002\u0002\u1574\u1573\u0003\u0002\u0002\u0002\u1575\u020d\u0003", + "\u0002\u0002\u0002\u1576\u157a\u0005\u0210\u0109\u0002\u1577\u157a\u0007", + "\u0416\u0002\u0002\u1578\u157a\u0007\u040a\u0002\u0002\u1579\u1576\u0003", + "\u0002\u0002\u0002\u1579\u1577\u0003\u0002\u0002\u0002\u1579\u1578\u0003", + "\u0002\u0002\u0002\u157a\u020f\u0003\u0002\u0002\u0002\u157b\u1585\u0007", + "\u0415\u0002\u0002\u157c\u1585\u0005\u026c\u0137\u0002\u157d\u1585\u0005", + "\u026e\u0138\u0002\u157e\u1585\u0005\u0204\u0103\u0002\u157f\u1585\u0005", + "\u0270\u0139\u0002\u1580\u1585\u0005\u0272\u013a\u0002\u1581\u1585\u0005", + "\u0274\u013b\u0002\u1582\u1585\u0005\u0276\u013c\u0002\u1583\u1585\u0005", + "\u0278\u013d\u0002\u1584\u157b\u0003\u0002\u0002\u0002\u1584\u157c\u0003", + "\u0002\u0002\u0002\u1584\u157d\u0003\u0002\u0002\u0002\u1584\u157e\u0003", + "\u0002\u0002\u0002\u1584\u157f\u0003\u0002\u0002\u0002\u1584\u1580\u0003", + "\u0002\u0002\u0002\u1584\u1581\u0003\u0002\u0002\u0002\u1584\u1582\u0003", + "\u0002\u0002\u0002\u1584\u1583\u0003\u0002\u0002\u0002\u1585\u0211\u0003", + "\u0002\u0002\u0002\u1586\u158a\u0007\u0414\u0002\u0002\u1587\u1588\u0007", + "\u03fd\u0002\u0002\u1588\u158a\u0005\u020e\u0108\u0002\u1589\u1586\u0003", + "\u0002\u0002\u0002\u1589\u1587\u0003\u0002\u0002\u0002\u158a\u0213\u0003", + "\u0002\u0002\u0002\u158b\u158c\tZ\u0002\u0002\u158c\u0215\u0003\u0002", + "\u0002\u0002\u158d\u1590\u0007\u040b\u0002\u0002\u158e\u1590\u0005\u0214", + "\u010b\u0002\u158f\u158d\u0003\u0002\u0002\u0002\u158f\u158e\u0003\u0002", + "\u0002\u0002\u1590\u0217\u0003\u0002\u0002\u0002\u1591\u1593\u0007\u0413", + "\u0002\u0002\u1592\u1591\u0003\u0002\u0002\u0002\u1592\u1593\u0003\u0002", + "\u0002\u0002\u1593\u1594\u0003\u0002\u0002\u0002\u1594\u1597\u0007\u040d", + "\u0002\u0002\u1595\u1597\u0007\u040c\u0002\u0002\u1596\u1592\u0003\u0002", + "\u0002\u0002\u1596\u1595\u0003\u0002\u0002\u0002\u1597\u1599\u0003\u0002", + "\u0002\u0002\u1598\u159a\u0007\u040d\u0002\u0002\u1599\u1598\u0003\u0002", + "\u0002\u0002\u159a\u159b\u0003\u0002\u0002\u0002\u159b\u1599\u0003\u0002", + "\u0002\u0002\u159b\u159c\u0003\u0002\u0002\u0002\u159c\u15a9\u0003\u0002", + "\u0002\u0002\u159d\u159f\u0007\u0413\u0002\u0002\u159e\u159d\u0003\u0002", + "\u0002\u0002\u159e\u159f\u0003\u0002\u0002\u0002\u159f\u15a0\u0003\u0002", + "\u0002\u0002\u15a0\u15a3\u0007\u040d\u0002\u0002\u15a1\u15a3\u0007\u040c", + "\u0002\u0002\u15a2\u159e\u0003\u0002\u0002\u0002\u15a2\u15a1\u0003\u0002", + "\u0002\u0002\u15a3\u15a6\u0003\u0002\u0002\u0002\u15a4\u15a5\u0007\u001a", + "\u0002\u0002\u15a5\u15a7\u0005\u0202\u0102\u0002\u15a6\u15a4\u0003\u0002", + "\u0002\u0002\u15a6\u15a7\u0003\u0002\u0002\u0002\u15a7\u15a9\u0003\u0002", + "\u0002\u0002\u15a8\u1596\u0003\u0002\u0002\u0002\u15a8\u15a2\u0003\u0002", + "\u0002\u0002\u15a9\u0219\u0003\u0002\u0002\u0002\u15aa\u15ab\t[\u0002", + "\u0002\u15ab\u021b\u0003\u0002\u0002\u0002\u15ac\u15ae\u0007\u0413\u0002", + "\u0002\u15ad\u15ac\u0003\u0002\u0002\u0002\u15ad\u15ae\u0003\u0002\u0002", + "\u0002\u15ae\u15af\u0003\u0002\u0002\u0002\u15af\u15b0\u0007\u040f\u0002", + "\u0002\u15b0\u021d\u0003\u0002\u0002\u0002\u15b1\u15b3\u0007h\u0002", + "\u0002\u15b2\u15b1\u0003\u0002\u0002\u0002\u15b2\u15b3\u0003\u0002\u0002", + "\u0002\u15b3\u15b4\u0003\u0002\u0002\u0002\u15b4\u15b5\t\\\u0002\u0002", + "\u15b5\u021f\u0003\u0002\u0002\u0002\u15b6\u15c3\u0005\u0218\u010d\u0002", + "\u15b7\u15c3\u0005\u0214\u010b\u0002\u15b8\u15b9\u0007\u03f2\u0002\u0002", + "\u15b9\u15c3\u0005\u0214\u010b\u0002\u15ba\u15c3\u0005\u021c\u010f\u0002", + "\u15bb\u15c3\u0005\u021a\u010e\u0002\u15bc\u15c3\u0007\u0410\u0002\u0002", + "\u15bd\u15c3\u0007\u0412\u0002\u0002\u15be\u15c0\u0007h\u0002\u0002", + "\u15bf\u15be\u0003\u0002\u0002\u0002\u15bf\u15c0\u0003\u0002\u0002\u0002", + "\u15c0\u15c1\u0003\u0002\u0002\u0002\u15c1\u15c3\t\\\u0002\u0002\u15c2", + "\u15b6\u0003\u0002\u0002\u0002\u15c2\u15b7\u0003\u0002\u0002\u0002\u15c2", + "\u15b8\u0003\u0002\u0002\u0002\u15c2\u15ba\u0003\u0002\u0002\u0002\u15c2", + "\u15bb\u0003\u0002\u0002\u0002\u15c2\u15bc\u0003\u0002\u0002\u0002\u15c2", + "\u15bd\u0003\u0002\u0002\u0002\u15c2\u15bf\u0003\u0002\u0002\u0002\u15c3", + "\u0221\u0003\u0002\u0002\u0002\u15c4\u15c6\t]\u0002\u0002\u15c5\u15c7", + "\u0005\u0228\u0115\u0002\u15c6\u15c5\u0003\u0002\u0002\u0002\u15c6\u15c7", + "\u0003\u0002\u0002\u0002\u15c7\u15c9\u0003\u0002\u0002\u0002\u15c8\u15ca", + "\u0007\u00d2\u0002\u0002\u15c9\u15c8\u0003\u0002\u0002\u0002\u15c9\u15ca", + "\u0003\u0002\u0002\u0002\u15ca\u15d1\u0003\u0002\u0002\u0002\u15cb\u15cc", + "\u0007\u0018\u0002\u0002\u15cc\u15cf\u0007\u008c\u0002\u0002\u15cd\u15cf", + "\u0007\u02dd\u0002\u0002\u15ce\u15cb\u0003\u0002\u0002\u0002\u15ce\u15cd", + "\u0003\u0002\u0002\u0002\u15cf\u15d0\u0003\u0002\u0002\u0002\u15d0\u15d2", + "\u0005\u0200\u0101\u0002\u15d1\u15ce\u0003\u0002\u0002\u0002\u15d1\u15d2", + "\u0003\u0002\u0002\u0002\u15d2\u15d5\u0003\u0002\u0002\u0002\u15d3\u15d4", + "\u0007\u001a\u0002\u0002\u15d4\u15d6\u0005\u0202\u0102\u0002\u15d5\u15d3", + "\u0003\u0002\u0002\u0002\u15d5\u15d6\u0003\u0002\u0002\u0002\u15d6\u1644", + "\u0003\u0002\u0002\u0002\u15d7\u15d8\u0007\u00d1\u0002\u0002\u15d8\u15da", + "\t^\u0002\u0002\u15d9\u15db\u0005\u0228\u0115\u0002\u15da\u15d9\u0003", + "\u0002\u0002\u0002\u15da\u15db\u0003\u0002\u0002\u0002\u15db\u15dd\u0003", + "\u0002\u0002\u0002\u15dc\u15de\u0007\u00d2\u0002\u0002\u15dd\u15dc\u0003", + "\u0002\u0002\u0002\u15dd\u15de\u0003\u0002\u0002\u0002\u15de\u1644\u0003", + "\u0002\u0002\u0002\u15df\u15e0\u0007\u01bf\u0002\u0002\u15e0\u15e2\u0007", + "\u00cf\u0002\u0002\u15e1\u15e3\u0005\u0228\u0115\u0002\u15e2\u15e1\u0003", + "\u0002\u0002\u0002\u15e2\u15e3\u0003\u0002\u0002\u0002\u15e3\u15e5\u0003", + "\u0002\u0002\u0002\u15e4\u15e6\u0007\u00d2\u0002\u0002\u15e5\u15e4\u0003", + "\u0002\u0002\u0002\u15e5\u15e6\u0003\u0002\u0002\u0002\u15e6\u1644\u0003", + "\u0002\u0002\u0002\u15e7\u15e8\u0007\u00d1\u0002\u0002\u15e8\u15e9\t", + "_\u0002\u0002\u15e9\u15eb\u0007\u00de\u0002\u0002\u15ea\u15ec\u0005", + "\u0228\u0115\u0002\u15eb\u15ea\u0003\u0002\u0002\u0002\u15eb\u15ec\u0003", + "\u0002\u0002\u0002\u15ec\u15ee\u0003\u0002\u0002\u0002\u15ed\u15ef\u0007", + "\u00d2\u0002\u0002\u15ee\u15ed\u0003\u0002\u0002\u0002\u15ee\u15ef\u0003", + "\u0002\u0002\u0002\u15ef\u1644\u0003\u0002\u0002\u0002\u15f0\u15f2\t", + "`\u0002\u0002\u15f1\u15f3\u0005\u0228\u0115\u0002\u15f2\u15f1\u0003", + "\u0002\u0002\u0002\u15f2\u15f3\u0003\u0002\u0002\u0002\u15f3\u15f5\u0003", + "\u0002\u0002\u0002\u15f4\u15f6\ta\u0002\u0002\u15f5\u15f4\u0003\u0002", + "\u0002\u0002\u15f5\u15f6\u0003\u0002\u0002\u0002\u15f6\u15f8\u0003\u0002", + "\u0002\u0002\u15f7\u15f9\u0007\u00b3\u0002\u0002\u15f8\u15f7\u0003\u0002", + "\u0002\u0002\u15f8\u15f9\u0003\u0002\u0002\u0002\u15f9\u1644\u0003\u0002", + "\u0002\u0002\u15fa\u15fc\u0007\u00c0\u0002\u0002\u15fb\u15fd\u0005\u022a", + "\u0116\u0002\u15fc\u15fb\u0003\u0002\u0002\u0002\u15fc\u15fd\u0003\u0002", + "\u0002\u0002\u15fd\u15ff\u0003\u0002\u0002\u0002\u15fe\u1600\ta\u0002", + "\u0002\u15ff\u15fe\u0003\u0002\u0002\u0002\u15ff\u1600\u0003\u0002\u0002", + "\u0002\u1600\u1602\u0003\u0002\u0002\u0002\u1601\u1603\u0007\u00b3\u0002", + "\u0002\u1602\u1601\u0003\u0002\u0002\u0002\u1602\u1603\u0003\u0002\u0002", + "\u0002\u1603\u1644\u0003\u0002\u0002\u0002\u1604\u1606\u0007\u00c1\u0002", + "\u0002\u1605\u1607\u0007\u00c2\u0002\u0002\u1606\u1605\u0003\u0002\u0002", + "\u0002\u1606\u1607\u0003\u0002\u0002\u0002\u1607\u1609\u0003\u0002\u0002", + "\u0002\u1608\u160a\u0005\u022a\u0116\u0002\u1609\u1608\u0003\u0002\u0002", + "\u0002\u1609\u160a\u0003\u0002\u0002\u0002\u160a\u160c\u0003\u0002\u0002", + "\u0002\u160b\u160d\ta\u0002\u0002\u160c\u160b\u0003\u0002\u0002\u0002", + "\u160c\u160d\u0003\u0002\u0002\u0002\u160d\u160f\u0003\u0002\u0002\u0002", + "\u160e\u1610\u0007\u00b3\u0002\u0002\u160f\u160e\u0003\u0002\u0002\u0002", + "\u160f\u1610\u0003\u0002\u0002\u0002\u1610\u1644\u0003\u0002\u0002\u0002", + "\u1611\u1613\tb\u0002\u0002\u1612\u1614\u0005\u022c\u0117\u0002\u1613", + "\u1612\u0003\u0002\u0002\u0002\u1613\u1614\u0003\u0002\u0002\u0002\u1614", + "\u1616\u0003\u0002\u0002\u0002\u1615\u1617\ta\u0002\u0002\u1616\u1615", + "\u0003\u0002\u0002\u0002\u1616\u1617\u0003\u0002\u0002\u0002\u1617\u1619", + "\u0003\u0002\u0002\u0002\u1618\u161a\u0007\u00b3\u0002\u0002\u1619\u1618", + "\u0003\u0002\u0002\u0002\u1619\u161a\u0003\u0002\u0002\u0002\u161a\u1644", + "\u0003\u0002\u0002\u0002\u161b\u1644\tc\u0002\u0002\u161c\u161e\td\u0002", + "\u0002\u161d\u161f\u0005\u0228\u0115\u0002\u161e\u161d\u0003\u0002\u0002", + "\u0002\u161e\u161f\u0003\u0002\u0002\u0002\u161f\u1644\u0003\u0002\u0002", + "\u0002\u1620\u1621\te\u0002\u0002\u1621\u1623\u0005\u0224\u0113\u0002", + "\u1622\u1624\u0007\u00d2\u0002\u0002\u1623\u1622\u0003\u0002\u0002\u0002", + "\u1623\u1624\u0003\u0002\u0002\u0002\u1624\u162b\u0003\u0002\u0002\u0002", + "\u1625\u1626\u0007\u0018\u0002\u0002\u1626\u1629\u0007\u008c\u0002\u0002", + "\u1627\u1629\u0007\u02dd\u0002\u0002\u1628\u1625\u0003\u0002\u0002\u0002", + "\u1628\u1627\u0003\u0002\u0002\u0002\u1629\u162a\u0003\u0002\u0002\u0002", + "\u162a\u162c\u0005\u0200\u0101\u0002\u162b\u1628\u0003\u0002\u0002\u0002", + "\u162b\u162c\u0003\u0002\u0002\u0002\u162c\u1644\u0003\u0002\u0002\u0002", + "\u162d\u1644\tf\u0002\u0002\u162e\u1630\u0007\u00d7\u0002\u0002\u162f", + "\u1631\u0007\u00cf\u0002\u0002\u1630\u162f\u0003\u0002\u0002\u0002\u1630", + "\u1631\u0003\u0002\u0002\u0002\u1631\u1633\u0003\u0002\u0002\u0002\u1632", + "\u1634\u0007\u00d2\u0002\u0002\u1633\u1632\u0003\u0002\u0002\u0002\u1633", + "\u1634\u0003\u0002\u0002\u0002\u1634\u163b\u0003\u0002\u0002\u0002\u1635", + "\u1636\u0007\u0018\u0002\u0002\u1636\u1639\u0007\u008c\u0002\u0002\u1637", + "\u1639\u0007\u02dd\u0002\u0002\u1638\u1635\u0003\u0002\u0002\u0002\u1638", + "\u1637\u0003\u0002\u0002\u0002\u1639\u163a\u0003\u0002\u0002\u0002\u163a", + "\u163c\u0005\u0200\u0101\u0002\u163b\u1638\u0003\u0002\u0002\u0002\u163b", + "\u163c\u0003\u0002\u0002\u0002\u163c\u163f\u0003\u0002\u0002\u0002\u163d", + "\u163e\u0007\u001a\u0002\u0002\u163e\u1640\u0005\u0202\u0102\u0002\u163f", + "\u163d\u0003\u0002\u0002\u0002\u163f\u1640\u0003\u0002\u0002\u0002\u1640", + "\u1644\u0003\u0002\u0002\u0002\u1641\u1642\u0007\u00d7\u0002\u0002\u1642", + "\u1644\u0007\u00d3\u0002\u0002\u1643\u15c4\u0003\u0002\u0002\u0002\u1643", + "\u15d7\u0003\u0002\u0002\u0002\u1643\u15df\u0003\u0002\u0002\u0002\u1643", + "\u15e7\u0003\u0002\u0002\u0002\u1643\u15f0\u0003\u0002\u0002\u0002\u1643", + "\u15fa\u0003\u0002\u0002\u0002\u1643\u1604\u0003\u0002\u0002\u0002\u1643", + "\u1611\u0003\u0002\u0002\u0002\u1643\u161b\u0003\u0002\u0002\u0002\u1643", + "\u161c\u0003\u0002\u0002\u0002\u1643\u1620\u0003\u0002\u0002\u0002\u1643", + "\u162d\u0003\u0002\u0002\u0002\u1643\u162e\u0003\u0002\u0002\u0002\u1643", + "\u1641\u0003\u0002\u0002\u0002\u1644\u0223\u0003\u0002\u0002\u0002\u1645", + "\u1646\u0007\u03fe\u0002\u0002\u1646\u164b\u0007\u040d\u0002\u0002\u1647", + "\u1648\u0007\u0400\u0002\u0002\u1648\u164a\u0007\u040d\u0002\u0002\u1649", + "\u1647\u0003\u0002\u0002\u0002\u164a\u164d\u0003\u0002\u0002\u0002\u164b", + "\u1649\u0003\u0002\u0002\u0002\u164b\u164c\u0003\u0002\u0002\u0002\u164c", + "\u164e\u0003\u0002\u0002\u0002\u164d\u164b\u0003\u0002\u0002\u0002\u164e", + "\u164f\u0007\u03ff\u0002\u0002\u164f\u0225\u0003\u0002\u0002\u0002\u1650", + "\u1652\tg\u0002\u0002\u1651\u1653\u0005\u0228\u0115\u0002\u1652\u1651", + "\u0003\u0002\u0002\u0002\u1652\u1653\u0003\u0002\u0002\u0002\u1653\u166a", + "\u0003\u0002\u0002\u0002\u1654\u1656\u0007\u00ce\u0002\u0002\u1655\u1657", + "\u0005\u0228\u0115\u0002\u1656\u1655\u0003\u0002\u0002\u0002\u1656\u1657", + "\u0003\u0002\u0002\u0002\u1657\u165e\u0003\u0002\u0002\u0002\u1658\u1659", + "\u0007\u0018\u0002\u0002\u1659\u165c\u0007\u008c\u0002\u0002\u165a\u165c", + "\u0007\u02dd\u0002\u0002\u165b\u1658\u0003\u0002\u0002\u0002\u165b\u165a", + "\u0003\u0002\u0002\u0002\u165c\u165d\u0003\u0002\u0002\u0002\u165d\u165f", + "\u0005\u0200\u0101\u0002\u165e\u165b\u0003\u0002\u0002\u0002\u165e\u165f", + "\u0003\u0002\u0002\u0002\u165f\u166a\u0003\u0002\u0002\u0002\u1660\u166a", + "\th\u0002\u0002\u1661\u1663\u0007\u00c6\u0002\u0002\u1662\u1664\u0005", + "\u022a\u0116\u0002\u1663\u1662\u0003\u0002\u0002\u0002\u1663\u1664\u0003", + "\u0002\u0002\u0002\u1664\u166a\u0003\u0002\u0002\u0002\u1665\u1667\t", + "a\u0002\u0002\u1666\u1668\u0007\u00be\u0002\u0002\u1667\u1666\u0003", + "\u0002\u0002\u0002\u1667\u1668\u0003\u0002\u0002\u0002\u1668\u166a\u0003", + "\u0002\u0002\u0002\u1669\u1650\u0003\u0002\u0002\u0002\u1669\u1654\u0003", + "\u0002\u0002\u0002\u1669\u1660\u0003\u0002\u0002\u0002\u1669\u1661\u0003", + "\u0002\u0002\u0002\u1669\u1665\u0003\u0002\u0002\u0002\u166a\u0227\u0003", + "\u0002\u0002\u0002\u166b\u166c\u0007\u03fe\u0002\u0002\u166c\u166d\u0005", + "\u0214\u010b\u0002\u166d\u166e\u0007\u03ff\u0002\u0002\u166e\u0229\u0003", + "\u0002\u0002\u0002\u166f\u1670\u0007\u03fe\u0002\u0002\u1670\u1671\u0005", + "\u0214\u010b\u0002\u1671\u1672\u0007\u0400\u0002\u0002\u1672\u1673\u0005", + "\u0214\u010b\u0002\u1673\u1674\u0007\u03ff\u0002\u0002\u1674\u022b\u0003", + "\u0002\u0002\u0002\u1675\u1676\u0007\u03fe\u0002\u0002\u1676\u1679\u0005", + "\u0214\u010b\u0002\u1677\u1678\u0007\u0400\u0002\u0002\u1678\u167a\u0005", + "\u0214\u010b\u0002\u1679\u1677\u0003\u0002\u0002\u0002\u1679\u167a\u0003", + "\u0002\u0002\u0002\u167a\u167b\u0003\u0002\u0002\u0002\u167b\u167c\u0007", + "\u03ff\u0002\u0002\u167c\u022d\u0003\u0002\u0002\u0002\u167d\u1682\u0005", + "\u020e\u0108\u0002\u167e\u167f\u0007\u0400\u0002\u0002\u167f\u1681\u0005", + "\u020e\u0108\u0002\u1680\u167e\u0003\u0002\u0002\u0002\u1681\u1684\u0003", + "\u0002\u0002\u0002\u1682\u1680\u0003\u0002\u0002\u0002\u1682\u1683\u0003", + "\u0002\u0002\u0002\u1683\u022f\u0003\u0002\u0002\u0002\u1684\u1682\u0003", + "\u0002\u0002\u0002\u1685\u168a\u0005\u01f6\u00fc\u0002\u1686\u1687\u0007", + "\u0400\u0002\u0002\u1687\u1689\u0005\u01f6\u00fc\u0002\u1688\u1686\u0003", + "\u0002\u0002\u0002\u1689\u168c\u0003\u0002\u0002\u0002\u168a\u1688\u0003", + "\u0002\u0002\u0002\u168a\u168b\u0003\u0002\u0002\u0002\u168b\u0231\u0003", + "\u0002\u0002\u0002\u168c\u168a\u0003\u0002\u0002\u0002\u168d\u168e\u0007", + "\u03fe\u0002\u0002\u168e\u1693\u0005\u01fa\u00fe\u0002\u168f\u1690\u0007", + "\u0400\u0002\u0002\u1690\u1692\u0005\u01fa\u00fe\u0002\u1691\u168f\u0003", + "\u0002\u0002\u0002\u1692\u1695\u0003\u0002\u0002\u0002\u1693\u1691\u0003", + "\u0002\u0002\u0002\u1693\u1694\u0003\u0002\u0002\u0002\u1694\u1696\u0003", + "\u0002\u0002\u0002\u1695\u1693\u0003\u0002\u0002\u0002\u1696\u1697\u0007", + "\u03ff\u0002\u0002\u1697\u0233\u0003\u0002\u0002\u0002\u1698\u169d\u0005", + "\u025c\u012f\u0002\u1699\u169a\u0007\u0400\u0002\u0002\u169a\u169c\u0005", + "\u025c\u012f\u0002\u169b\u1699\u0003\u0002\u0002\u0002\u169c\u169f\u0003", + "\u0002\u0002\u0002\u169d\u169b\u0003\u0002\u0002\u0002\u169d\u169e\u0003", + "\u0002\u0002\u0002\u169e\u0235\u0003\u0002\u0002\u0002\u169f\u169d\u0003", + "\u0002\u0002\u0002\u16a0\u16a5\u0005\u0242\u0122\u0002\u16a1\u16a2\u0007", + "\u0400\u0002\u0002\u16a2\u16a4\u0005\u0242\u0122\u0002\u16a3\u16a1\u0003", + "\u0002\u0002\u0002\u16a4\u16a7\u0003\u0002\u0002\u0002\u16a5\u16a3\u0003", + "\u0002\u0002\u0002\u16a5\u16a6\u0003\u0002\u0002\u0002\u16a6\u0237\u0003", + "\u0002\u0002\u0002\u16a7\u16a5\u0003\u0002\u0002\u0002\u16a8\u16ad\u0005", + "\u0220\u0111\u0002\u16a9\u16aa\u0007\u0400\u0002\u0002\u16aa\u16ac\u0005", + "\u0220\u0111\u0002\u16ab\u16a9\u0003\u0002\u0002\u0002\u16ac\u16af\u0003", + "\u0002\u0002\u0002\u16ad\u16ab\u0003\u0002\u0002\u0002\u16ad\u16ae\u0003", + "\u0002\u0002\u0002\u16ae\u0239\u0003\u0002\u0002\u0002\u16af\u16ad\u0003", + "\u0002\u0002\u0002\u16b0\u16b5\u0007\u040d\u0002\u0002\u16b1\u16b2\u0007", + "\u0400\u0002\u0002\u16b2\u16b4\u0007\u040d\u0002\u0002\u16b3\u16b1\u0003", + "\u0002\u0002\u0002\u16b4\u16b7\u0003\u0002\u0002\u0002\u16b5\u16b3\u0003", + "\u0002\u0002\u0002\u16b5\u16b6\u0003\u0002\u0002\u0002\u16b6\u023b\u0003", + "\u0002\u0002\u0002\u16b7\u16b5\u0003\u0002\u0002\u0002\u16b8\u16bd\u0007", + "\u0418\u0002\u0002\u16b9\u16ba\u0007\u0400\u0002\u0002\u16ba\u16bc\u0007", + "\u0418\u0002\u0002\u16bb\u16b9\u0003\u0002\u0002\u0002\u16bc\u16bf\u0003", + "\u0002\u0002\u0002\u16bd\u16bb\u0003\u0002\u0002\u0002\u16bd\u16be\u0003", + "\u0002\u0002\u0002\u16be\u023d\u0003\u0002\u0002\u0002\u16bf\u16bd\u0003", + "\u0002\u0002\u0002\u16c0\u16cc\u0007j\u0002\u0002\u16c1\u16c3\u0005", + "\u0262\u0132\u0002\u16c2\u16c1\u0003\u0002\u0002\u0002\u16c2\u16c3\u0003", + "\u0002\u0002\u0002\u16c3\u16c4\u0003\u0002\u0002\u0002\u16c4\u16cc\u0005", + "\u0220\u0111\u0002\u16c5\u16c9\u0005\u0240\u0121\u0002\u16c6\u16c7\u0007", + "l\u0002\u0002\u16c7\u16c8\u0007\u00a8\u0002\u0002\u16c8\u16ca\u0005", + "\u0240\u0121\u0002\u16c9\u16c6\u0003\u0002\u0002\u0002\u16c9\u16ca\u0003", + "\u0002\u0002\u0002\u16ca\u16cc\u0003\u0002\u0002\u0002\u16cb\u16c0\u0003", + "\u0002\u0002\u0002\u16cb\u16c2\u0003\u0002\u0002\u0002\u16cb\u16c5\u0003", + "\u0002\u0002\u0002\u16cc\u023f\u0003\u0002\u0002\u0002\u16cd\u16d3\t", + "i\u0002\u0002\u16ce\u16d0\u0007\u03fe\u0002\u0002\u16cf\u16d1\u0005", + "\u0214\u010b\u0002\u16d0\u16cf\u0003\u0002\u0002\u0002\u16d0\u16d1\u0003", + "\u0002\u0002\u0002\u16d1\u16d2\u0003\u0002\u0002\u0002\u16d2\u16d4\u0007", + "\u03ff\u0002\u0002\u16d3\u16ce\u0003\u0002\u0002\u0002\u16d3\u16d4\u0003", + "\u0002\u0002\u0002\u16d4\u16dc\u0003\u0002\u0002\u0002\u16d5\u16d6\u0007", + "\u0107\u0002\u0002\u16d6\u16d8\u0007\u03fe\u0002\u0002\u16d7\u16d9\u0005", + "\u0214\u010b\u0002\u16d8\u16d7\u0003\u0002\u0002\u0002\u16d8\u16d9\u0003", + "\u0002\u0002\u0002\u16d9\u16da\u0003\u0002\u0002\u0002\u16da\u16dc\u0007", + "\u03ff\u0002\u0002\u16db\u16cd\u0003\u0002\u0002\u0002\u16db\u16d5\u0003", + "\u0002\u0002\u0002\u16dc\u0241\u0003\u0002\u0002\u0002\u16dd\u16e0\u0005", + "\u025c\u012f\u0002\u16de\u16e0\u0007(\u0002\u0002\u16df\u16dd\u0003", + "\u0002\u0002\u0002\u16df\u16de\u0003\u0002\u0002\u0002\u16e0\u0243\u0003", + "\u0002\u0002\u0002\u16e1\u16e2\u0007G\u0002\u0002\u16e2\u16e3\u0007", + "7\u0002\u0002\u16e3\u0245\u0003\u0002\u0002\u0002\u16e4\u16e5\u0007", + "G\u0002\u0002\u16e5\u16e6\u0007h\u0002\u0002\u16e6\u16e7\u00077\u0002", + "\u0002\u16e7\u0247\u0003\u0002\u0002\u0002\u16e8\u16fa\u0005\u024a\u0126", + "\u0002\u16e9\u16fa\u0005\u0252\u012a\u0002\u16ea\u16eb\u0005\u0254\u012b", + "\u0002\u16eb\u16ed\u0007\u03fe\u0002\u0002\u16ec\u16ee\u0005\u0258\u012d", + "\u0002\u16ed\u16ec\u0003\u0002\u0002\u0002\u16ed\u16ee\u0003\u0002\u0002", + "\u0002\u16ee\u16ef\u0003\u0002\u0002\u0002\u16ef\u16f0\u0007\u03ff\u0002", + "\u0002\u16f0\u16fa\u0003\u0002\u0002\u0002\u16f1\u16f2\u0005\u01f4\u00fb", + "\u0002\u16f2\u16f4\u0007\u03fe\u0002\u0002\u16f3\u16f5\u0005\u0258\u012d", + "\u0002\u16f4\u16f3\u0003\u0002\u0002\u0002\u16f4\u16f5\u0003\u0002\u0002", + "\u0002\u16f5\u16f6\u0003\u0002\u0002\u0002\u16f6\u16f7\u0007\u03ff\u0002", + "\u0002\u16f7\u16fa\u0003\u0002\u0002\u0002\u16f8\u16fa\u0005\u0256\u012c", + "\u0002\u16f9\u16e8\u0003\u0002\u0002\u0002\u16f9\u16e9\u0003\u0002\u0002", + "\u0002\u16f9\u16ea\u0003\u0002\u0002\u0002\u16f9\u16f1\u0003\u0002\u0002", + "\u0002\u16f9\u16f8\u0003\u0002\u0002\u0002\u16fa\u0249\u0003\u0002\u0002", + "\u0002\u16fb\u1799\tj\u0002\u0002\u16fc\u16fd\u0007\u001f\u0002\u0002", + "\u16fd\u16fe\u0007\u03fe\u0002\u0002\u16fe\u16ff\u0005\u025c\u012f\u0002", + "\u16ff\u1700\u0007\u0400\u0002\u0002\u1700\u1701\u0005\u0226\u0114\u0002", + "\u1701\u1702\u0007\u03ff\u0002\u0002\u1702\u1799\u0003\u0002\u0002\u0002", + "\u1703\u1704\u0007\u001f\u0002\u0002\u1704\u1705\u0007\u03fe\u0002\u0002", + "\u1705\u1706\u0005\u025c\u012f\u0002\u1706\u1707\u0007\u00ab\u0002\u0002", + "\u1707\u1708\u0005\u0200\u0101\u0002\u1708\u1709\u0007\u03ff\u0002\u0002", + "\u1709\u1799\u0003\u0002\u0002\u0002\u170a\u170b\u0007\u0016\u0002\u0002", + "\u170b\u170c\u0007\u03fe\u0002\u0002\u170c\u170d\u0005\u025c\u012f\u0002", + "\u170d\u170e\u0007\r\u0002\u0002\u170e\u170f\u0005\u0226\u0114\u0002", + "\u170f\u1710\u0007\u03ff\u0002\u0002\u1710\u1799\u0003\u0002\u0002\u0002", + "\u1711\u1712\u0007\u00ac\u0002\u0002\u1712\u1713\u0007\u03fe\u0002\u0002", + "\u1713\u1714\u0005\u01f8\u00fd\u0002\u1714\u1715\u0007\u03ff\u0002\u0002", + "\u1715\u1799\u0003\u0002\u0002\u0002\u1716\u1717\u0007\u0015\u0002\u0002", + "\u1717\u1719\u0005\u025c\u012f\u0002\u1718\u171a\u0005\u024c\u0127\u0002", + "\u1719\u1718\u0003\u0002\u0002\u0002\u171a\u171b\u0003\u0002\u0002\u0002", + "\u171b\u1719\u0003\u0002\u0002\u0002\u171b\u171c\u0003\u0002\u0002\u0002", + "\u171c\u171f\u0003\u0002\u0002\u0002\u171d\u171e\u00073\u0002\u0002", + "\u171e\u1720\u0005\u025a\u012e\u0002\u171f\u171d\u0003\u0002\u0002\u0002", + "\u171f\u1720\u0003\u0002\u0002\u0002\u1720\u1721\u0003\u0002\u0002\u0002", + "\u1721\u1722\u0007\u0156\u0002\u0002\u1722\u1799\u0003\u0002\u0002\u0002", + "\u1723\u1725\u0007\u0015\u0002\u0002\u1724\u1726\u0005\u024c\u0127\u0002", + "\u1725\u1724\u0003\u0002\u0002\u0002\u1726\u1727\u0003\u0002\u0002\u0002", + "\u1727\u1725\u0003\u0002\u0002\u0002\u1727\u1728\u0003\u0002\u0002\u0002", + "\u1728\u172b\u0003\u0002\u0002\u0002\u1729\u172a\u00073\u0002\u0002", + "\u172a\u172c\u0005\u025a\u012e\u0002\u172b\u1729\u0003\u0002\u0002\u0002", + "\u172b\u172c\u0003\u0002\u0002\u0002\u172c\u172d\u0003\u0002\u0002\u0002", + "\u172d\u172e\u0007\u0156\u0002\u0002\u172e\u1799\u0003\u0002\u0002\u0002", + "\u172f\u1730\u0007\u00ce\u0002\u0002\u1730\u1731\u0007\u03fe\u0002\u0002", + "\u1731\u1734\u0005\u0258\u012d\u0002\u1732\u1733\u0007\u00ab\u0002\u0002", + "\u1733\u1735\u0005\u0200\u0101\u0002\u1734\u1732\u0003\u0002\u0002\u0002", + "\u1734\u1735\u0003\u0002\u0002\u0002\u1735\u1736\u0003\u0002\u0002\u0002", + "\u1736\u1737\u0007\u03ff\u0002\u0002\u1737\u1799\u0003\u0002\u0002\u0002", + "\u1738\u1739\u0007\u0108\u0002\u0002\u1739\u173c\u0007\u03fe\u0002\u0002", + "\u173a\u173d\u0005\u0218\u010d\u0002\u173b\u173d\u0005\u025c\u012f\u0002", + "\u173c\u173a\u0003\u0002\u0002\u0002\u173c\u173b\u0003\u0002\u0002\u0002", + "\u173d\u173e\u0003\u0002\u0002\u0002\u173e\u1741\u0007I\u0002\u0002", + "\u173f\u1742\u0005\u0218\u010d\u0002\u1740\u1742\u0005\u025c\u012f\u0002", + "\u1741\u173f\u0003\u0002\u0002\u0002\u1741\u1740\u0003\u0002\u0002\u0002", + "\u1742\u1743\u0003\u0002\u0002\u0002\u1743\u1744\u0007\u03ff\u0002\u0002", + "\u1744\u1799\u0003\u0002\u0002\u0002\u1745\u1746\tk\u0002\u0002\u1746", + "\u1749\u0007\u03fe\u0002\u0002\u1747\u174a\u0005\u0218\u010d\u0002\u1748", + "\u174a\u0005\u025c\u012f\u0002\u1749\u1747\u0003\u0002\u0002\u0002\u1749", + "\u1748\u0003\u0002\u0002\u0002\u174a\u174b\u0003\u0002\u0002\u0002\u174b", + "\u174e\u0007?\u0002\u0002\u174c\u174f\u0005\u0214\u010b\u0002\u174d", + "\u174f\u0005\u025c\u012f\u0002\u174e\u174c\u0003\u0002\u0002\u0002\u174e", + "\u174d\u0003\u0002\u0002\u0002\u174f\u1755\u0003\u0002\u0002\u0002\u1750", + "\u1753\u0007<\u0002\u0002\u1751\u1754\u0005\u0214\u010b\u0002\u1752", + "\u1754\u0005\u025c\u012f\u0002\u1753\u1751\u0003\u0002\u0002\u0002\u1753", + "\u1752\u0003\u0002\u0002\u0002\u1754\u1756\u0003\u0002\u0002\u0002\u1755", + "\u1750\u0003\u0002\u0002\u0002\u1755\u1756\u0003\u0002\u0002\u0002\u1756", + "\u1757\u0003\u0002\u0002\u0002\u1757\u1758\u0007\u03ff\u0002\u0002\u1758", + "\u1799\u0003\u0002\u0002\u0002\u1759\u175a\u0007\u010c\u0002\u0002\u175a", + "\u175b\u0007\u03fe\u0002\u0002\u175b\u175e\tl\u0002\u0002\u175c\u175f", + "\u0005\u0218\u010d\u0002\u175d\u175f\u0005\u025c\u012f\u0002\u175e\u175c", + "\u0003\u0002\u0002\u0002\u175e\u175d\u0003\u0002\u0002\u0002\u175e\u175f", + "\u0003\u0002\u0002\u0002\u175f\u1760\u0003\u0002\u0002\u0002\u1760\u1763", + "\u0007?\u0002\u0002\u1761\u1764\u0005\u0218\u010d\u0002\u1762\u1764", + "\u0005\u025c\u012f\u0002\u1763\u1761\u0003\u0002\u0002\u0002\u1763\u1762", + "\u0003\u0002\u0002\u0002\u1764\u1765\u0003\u0002\u0002\u0002\u1765\u1766", + "\u0007\u03ff\u0002\u0002\u1766\u1799\u0003\u0002\u0002\u0002\u1767\u1768", + "\u0007\u010c\u0002\u0002\u1768\u176b\u0007\u03fe\u0002\u0002\u1769\u176c", + "\u0005\u0218\u010d\u0002\u176a\u176c\u0005\u025c\u012f\u0002\u176b\u1769", + "\u0003\u0002\u0002\u0002\u176b\u176a\u0003\u0002\u0002\u0002\u176c\u176d", + "\u0003\u0002\u0002\u0002\u176d\u1770\u0007?\u0002\u0002\u176e\u1771", + "\u0005\u0218\u010d\u0002\u176f\u1771\u0005\u025c\u012f\u0002\u1770\u176e", + "\u0003\u0002\u0002\u0002\u1770\u176f\u0003\u0002\u0002\u0002\u1771\u1772", + "\u0003\u0002\u0002\u0002\u1772\u1773\u0007\u03ff\u0002\u0002\u1773\u1799", + "\u0003\u0002\u0002\u0002\u1774\u1775\u0007\u03df\u0002\u0002\u1775\u1778", + "\u0007\u03fe\u0002\u0002\u1776\u1779\u0005\u0218\u010d\u0002\u1777\u1779", + "\u0005\u025c\u012f\u0002\u1778\u1776\u0003\u0002\u0002\u0002\u1778\u1777", + "\u0003\u0002\u0002\u0002\u1779\u1780\u0003\u0002\u0002\u0002\u177a\u177b", + "\u0007\r\u0002\u0002\u177b\u177c\tm\u0002\u0002\u177c\u177d\u0007\u03fe", + "\u0002\u0002\u177d\u177e\u0005\u0214\u010b\u0002\u177e\u177f\u0007\u03ff", + "\u0002\u0002\u177f\u1781\u0003\u0002\u0002\u0002\u1780\u177a\u0003\u0002", + "\u0002\u0002\u1780\u1781\u0003\u0002\u0002\u0002\u1781\u1783\u0003\u0002", + "\u0002\u0002\u1782\u1784\u0005\u024e\u0128\u0002\u1783\u1782\u0003\u0002", + "\u0002\u0002\u1783\u1784\u0003\u0002\u0002\u0002\u1784\u1785\u0003\u0002", + "\u0002\u0002\u1785\u1786\u0007\u03ff\u0002\u0002\u1786\u1799\u0003\u0002", + "\u0002\u0002\u1787\u1788\u0007\u0105\u0002\u0002\u1788\u1789\u0007\u03fe", + "\u0002\u0002\u1789\u178a\u0005> \u0002\u178a\u178d\u0007?\u0002\u0002", + "\u178b\u178e\u0005\u0218\u010d\u0002\u178c\u178e\u0005\u025c\u012f\u0002", + "\u178d\u178b\u0003\u0002\u0002\u0002\u178d\u178c\u0003\u0002\u0002\u0002", + "\u178e\u178f\u0003\u0002\u0002\u0002\u178f\u1790\u0007\u03ff\u0002\u0002", + "\u1790\u1799\u0003\u0002\u0002\u0002\u1791\u1792\u0007\u0317\u0002\u0002", + "\u1792\u1793\u0007\u03fe\u0002\u0002\u1793\u1794\tn\u0002\u0002\u1794", + "\u1795\u0007\u0400\u0002\u0002\u1795\u1796\u0005\u0218\u010d\u0002\u1796", + "\u1797\u0007\u03ff\u0002\u0002\u1797\u1799\u0003\u0002\u0002\u0002\u1798", + "\u16fb\u0003\u0002\u0002\u0002\u1798\u16fc\u0003\u0002\u0002\u0002\u1798", + "\u1703\u0003\u0002\u0002\u0002\u1798\u170a\u0003\u0002\u0002\u0002\u1798", + "\u1711\u0003\u0002\u0002\u0002\u1798\u1716\u0003\u0002\u0002\u0002\u1798", + "\u1723\u0003\u0002\u0002\u0002\u1798\u172f\u0003\u0002\u0002\u0002\u1798", + "\u1738\u0003\u0002\u0002\u0002\u1798\u1745\u0003\u0002\u0002\u0002\u1798", + "\u1759\u0003\u0002\u0002\u0002\u1798\u1767\u0003\u0002\u0002\u0002\u1798", + "\u1774\u0003\u0002\u0002\u0002\u1798\u1787\u0003\u0002\u0002\u0002\u1798", + "\u1791\u0003\u0002\u0002\u0002\u1799\u024b\u0003\u0002\u0002\u0002\u179a", + "\u179b\u0007\u00ad\u0002\u0002\u179b\u179c\u0005\u025a\u012e\u0002\u179c", + "\u179d\u0007\u009e\u0002\u0002\u179d\u179e\u0005\u025a\u012e\u0002\u179e", + "\u024d\u0003\u0002\u0002\u0002\u179f\u17a0\u0007\u0192\u0002\u0002\u17a0", + "\u17a5\u0005\u0250\u0129\u0002\u17a1\u17a2\u0007\u0400\u0002\u0002\u17a2", + "\u17a4\u0005\u0250\u0129\u0002\u17a3\u17a1\u0003\u0002\u0002\u0002\u17a4", + "\u17a7\u0003\u0002\u0002\u0002\u17a5\u17a3\u0003\u0002\u0002\u0002\u17a5", + "\u17a6\u0003\u0002\u0002\u0002\u17a6\u17ae\u0003\u0002\u0002\u0002\u17a7", + "\u17a5\u0003\u0002\u0002\u0002\u17a8\u17a9\u0007\u0192\u0002\u0002\u17a9", + "\u17aa\u0005\u0214\u010b\u0002\u17aa\u17ab\u0007\u03f2\u0002\u0002\u17ab", + "\u17ac\u0005\u0214\u010b\u0002\u17ac\u17ae\u0003\u0002\u0002\u0002\u17ad", + "\u179f\u0003\u0002\u0002\u0002\u17ad\u17a8\u0003\u0002\u0002\u0002\u17ae", + "\u024f\u0003\u0002\u0002\u0002\u17af\u17b1\u0005\u0214\u010b\u0002\u17b0", + "\u17b2\to\u0002\u0002\u17b1\u17b0\u0003\u0002\u0002\u0002\u17b1\u17b2", + "\u0003\u0002\u0002\u0002\u17b2\u0251\u0003\u0002\u0002\u0002\u17b3\u17b4", + "\tp\u0002\u0002\u17b4\u17b6\u0007\u03fe\u0002\u0002\u17b5\u17b7\t(\u0002", + "\u0002\u17b6\u17b5\u0003\u0002\u0002\u0002\u17b6\u17b7\u0003\u0002\u0002", + "\u0002\u17b7\u17b8\u0003\u0002\u0002\u0002\u17b8\u17b9\u0005\u025a\u012e", + "\u0002\u17b9\u17ba\u0007\u03ff\u0002\u0002\u17ba\u17ec\u0003\u0002\u0002", + "\u0002\u17bb\u17bc\u0007\u00f1\u0002\u0002\u17bc\u17c2\u0007\u03fe\u0002", + "\u0002\u17bd\u17c3\u0007\u03ed\u0002\u0002\u17be\u17c0\u0007\b\u0002", + "\u0002\u17bf\u17be\u0003\u0002\u0002\u0002\u17bf\u17c0\u0003\u0002\u0002", + "\u0002\u17c0\u17c1\u0003\u0002\u0002\u0002\u17c1\u17c3\u0005\u025a\u012e", + "\u0002\u17c2\u17bd\u0003\u0002\u0002\u0002\u17c2\u17bf\u0003\u0002\u0002", + "\u0002\u17c3\u17c4\u0003\u0002\u0002\u0002\u17c4\u17ec\u0007\u03ff\u0002", + "\u0002\u17c5\u17c6\u0007\u00f1\u0002\u0002\u17c6\u17c7\u0007\u03fe\u0002", + "\u0002\u17c7\u17c8\u0007/\u0002\u0002\u17c8\u17c9\u0005\u0258\u012d", + "\u0002\u17c9\u17ca\u0007\u03ff\u0002\u0002\u17ca\u17ec\u0003\u0002\u0002", + "\u0002\u17cb\u17cc\tq\u0002\u0002\u17cc\u17ce\u0007\u03fe\u0002\u0002", + "\u17cd\u17cf\u0007\b\u0002\u0002\u17ce\u17cd\u0003\u0002\u0002\u0002", + "\u17ce\u17cf\u0003\u0002\u0002\u0002\u17cf\u17d0\u0003\u0002\u0002\u0002", + "\u17d0\u17d1\u0005\u025a\u012e\u0002\u17d1\u17d2\u0007\u03ff\u0002\u0002", + "\u17d2\u17ec\u0003\u0002\u0002\u0002\u17d3\u17d4\u0007\u00f2\u0002\u0002", + "\u17d4\u17d6\u0007\u03fe\u0002\u0002\u17d5\u17d7\u0007/\u0002\u0002", + "\u17d6\u17d5\u0003\u0002\u0002\u0002\u17d6\u17d7\u0003\u0002\u0002\u0002", + "\u17d7\u17d8\u0003\u0002\u0002\u0002\u17d8\u17e3\u0005\u0258\u012d\u0002", + "\u17d9\u17da\u0007q\u0002\u0002\u17da\u17db\u0007\u0012\u0002\u0002", + "\u17db\u17e0\u0005\u00d4k\u0002\u17dc\u17dd\u0007\u0400\u0002\u0002", + "\u17dd\u17df\u0005\u00d4k\u0002\u17de\u17dc\u0003\u0002\u0002\u0002", + "\u17df\u17e2\u0003\u0002\u0002\u0002\u17e0\u17de\u0003\u0002\u0002\u0002", + "\u17e0\u17e1\u0003\u0002\u0002\u0002\u17e1\u17e4\u0003\u0002\u0002\u0002", + "\u17e2\u17e0\u0003\u0002\u0002\u0002\u17e3\u17d9\u0003\u0002\u0002\u0002", + "\u17e3\u17e4\u0003\u0002\u0002\u0002\u17e4\u17e7\u0003\u0002\u0002\u0002", + "\u17e5\u17e6\u0007\u008d\u0002\u0002\u17e6\u17e8\u0007\u040d\u0002\u0002", + "\u17e7\u17e5\u0003\u0002\u0002\u0002\u17e7\u17e8\u0003\u0002\u0002\u0002", + "\u17e8\u17e9\u0003\u0002\u0002\u0002\u17e9\u17ea\u0007\u03ff\u0002\u0002", + "\u17ea\u17ec\u0003\u0002\u0002\u0002\u17eb\u17b3\u0003\u0002\u0002\u0002", + "\u17eb\u17bb\u0003\u0002\u0002\u0002\u17eb\u17c5\u0003\u0002\u0002\u0002", + "\u17eb\u17cb\u0003\u0002\u0002\u0002\u17eb\u17d3\u0003\u0002\u0002\u0002", + "\u17ec\u0253\u0003\u0002\u0002\u0002\u17ed\u1805\u0005\u0278\u013d\u0002", + "\u17ee\u1805\u0007\u0280\u0002\u0002\u17ef\u1805\u0007\u0101\u0002\u0002", + "\u17f0\u1805\u0007\u00fd\u0002\u0002\u17f1\u1805\u0007\u00fe\u0002\u0002", + "\u17f2\u1805\u0007\u00ff\u0002\u0002\u17f3\u1805\u0007\u0102\u0002\u0002", + "\u17f4\u1805\u0007\u0103\u0002\u0002\u17f5\u1805\u0007\u0104\u0002\u0002", + "\u17f6\u1805\u0007G\u0002\u0002\u17f7\u1805\u0007N\u0002\u0002\u17f8", + "\u1805\u0007\u0100\u0002\u0002\u17f9\u1805\u0007\u0106\u0002\u0002\u17fa", + "\u1805\u0007\u01b5\u0002\u0002\u17fb\u1805\u0007\u0107\u0002\u0002\u17fc", + "\u1805\u0007\u0081\u0002\u0002\u17fd\u1805\u0007\u0109\u0002\u0002\u17fe", + "\u1805\u0007\u010a\u0002\u0002\u17ff\u1805\u0007\u010b\u0002\u0002\u1800", + "\u1805\u0007\u010c\u0002\u0002\u1801\u1805\u0007\u010d\u0002\u0002\u1802", + "\u1805\u0007\u010e\u0002\u0002\u1803\u1805\u0007\u010f\u0002\u0002\u1804", + "\u17ed\u0003\u0002\u0002\u0002\u1804\u17ee\u0003\u0002\u0002\u0002\u1804", + "\u17ef\u0003\u0002\u0002\u0002\u1804\u17f0\u0003\u0002\u0002\u0002\u1804", + "\u17f1\u0003\u0002\u0002\u0002\u1804\u17f2\u0003\u0002\u0002\u0002\u1804", + "\u17f3\u0003\u0002\u0002\u0002\u1804\u17f4\u0003\u0002\u0002\u0002\u1804", + "\u17f5\u0003\u0002\u0002\u0002\u1804\u17f6\u0003\u0002\u0002\u0002\u1804", + "\u17f7\u0003\u0002\u0002\u0002\u1804\u17f8\u0003\u0002\u0002\u0002\u1804", + "\u17f9\u0003\u0002\u0002\u0002\u1804\u17fa\u0003\u0002\u0002\u0002\u1804", + "\u17fb\u0003\u0002\u0002\u0002\u1804\u17fc\u0003\u0002\u0002\u0002\u1804", + "\u17fd\u0003\u0002\u0002\u0002\u1804\u17fe\u0003\u0002\u0002\u0002\u1804", + "\u17ff\u0003\u0002\u0002\u0002\u1804\u1800\u0003\u0002\u0002\u0002\u1804", + "\u1801\u0003\u0002\u0002\u0002\u1804\u1802\u0003\u0002\u0002\u0002\u1804", + "\u1803\u0003\u0002\u0002\u0002\u1805\u0255\u0003\u0002\u0002\u0002\u1806", + "\u1807\tr\u0002\u0002\u1807\u1808\u0007\u03fe\u0002\u0002\u1808\u1809", + "\u0005\u025a\u012e\u0002\u1809\u180a\u0007\u03ff\u0002\u0002\u180a\u0257", + "\u0003\u0002\u0002\u0002\u180b\u1810\u0005\u0220\u0111\u0002\u180c\u1810", + "\u0005\u01f8\u00fd\u0002\u180d\u1810\u0005\u0248\u0125\u0002\u180e\u1810", + "\u0005\u025c\u012f\u0002\u180f\u180b\u0003\u0002\u0002\u0002\u180f\u180c", + "\u0003\u0002\u0002\u0002\u180f\u180d\u0003\u0002\u0002\u0002\u180f\u180e", + "\u0003\u0002\u0002\u0002\u1810\u181a\u0003\u0002\u0002\u0002\u1811\u1816", + "\u0007\u0400\u0002\u0002\u1812\u1817\u0005\u0220\u0111\u0002\u1813\u1817", + "\u0005\u01f8\u00fd\u0002\u1814\u1817\u0005\u0248\u0125\u0002\u1815\u1817", + "\u0005\u025c\u012f\u0002\u1816\u1812\u0003\u0002\u0002\u0002\u1816\u1813", + "\u0003\u0002\u0002\u0002\u1816\u1814\u0003\u0002\u0002\u0002\u1816\u1815", + "\u0003\u0002\u0002\u0002\u1817\u1819\u0003\u0002\u0002\u0002\u1818\u1811", + "\u0003\u0002\u0002\u0002\u1819\u181c\u0003\u0002\u0002\u0002\u181a\u1818", + "\u0003\u0002\u0002\u0002\u181a\u181b\u0003\u0002\u0002\u0002\u181b\u0259", + "\u0003\u0002\u0002\u0002\u181c\u181a\u0003\u0002\u0002\u0002\u181d\u1822", + "\u0005\u0220\u0111\u0002\u181e\u1822\u0005\u01f8\u00fd\u0002\u181f\u1822", + "\u0005\u0248\u0125\u0002\u1820\u1822\u0005\u025c\u012f\u0002\u1821\u181d", + "\u0003\u0002\u0002\u0002\u1821\u181e\u0003\u0002\u0002\u0002\u1821\u181f", + "\u0003\u0002\u0002\u0002\u1821\u1820\u0003\u0002\u0002\u0002\u1822\u025b", + "\u0003\u0002\u0002\u0002\u1823\u1824\b\u012f\u0001\u0002\u1824\u1825", + "\ts\u0002\u0002\u1825\u182f\u0005\u025c\u012f\u0006\u1826\u1827\u0005", + "\u025e\u0130\u0002\u1827\u1829\u0007Q\u0002\u0002\u1828\u182a\u0007", + "h\u0002\u0002\u1829\u1828\u0003\u0002\u0002\u0002\u1829\u182a\u0003", + "\u0002\u0002\u0002\u182a\u182b\u0003\u0002\u0002\u0002\u182b\u182c\t", + "t\u0002\u0002\u182c\u182f\u0003\u0002\u0002\u0002\u182d\u182f\u0005", + "\u025e\u0130\u0002\u182e\u1823\u0003\u0002\u0002\u0002\u182e\u1826\u0003", + "\u0002\u0002\u0002\u182e\u182d\u0003\u0002\u0002\u0002\u182f\u1836\u0003", + "\u0002\u0002\u0002\u1830\u1831\f\u0005\u0002\u0002\u1831\u1832\u0005", + "\u0266\u0134\u0002\u1832\u1833\u0005\u025c\u012f\u0006\u1833\u1835\u0003", + "\u0002\u0002\u0002\u1834\u1830\u0003\u0002\u0002\u0002\u1835\u1838\u0003", + "\u0002\u0002\u0002\u1836\u1834\u0003\u0002\u0002\u0002\u1836\u1837\u0003", + "\u0002\u0002\u0002\u1837\u025d\u0003\u0002\u0002\u0002\u1838\u1836\u0003", + "\u0002\u0002\u0002\u1839\u183c\b\u0130\u0001\u0002\u183a\u183b\u0007", + "\u0418\u0002\u0002\u183b\u183d\u0007\u03e4\u0002\u0002\u183c\u183a\u0003", + "\u0002\u0002\u0002\u183c\u183d\u0003\u0002\u0002\u0002\u183d\u183e\u0003", + "\u0002\u0002\u0002\u183e\u183f\u0005\u0260\u0131\u0002\u183f\u1879\u0003", + "\u0002\u0002\u0002\u1840\u1841\f\t\u0002\u0002\u1841\u1842\u0005\u0264", + "\u0133\u0002\u1842\u1843\u0005\u025e\u0130\n\u1843\u1878\u0003\u0002", + "\u0002\u0002\u1844\u1846\f\u0007\u0002\u0002\u1845\u1847\u0007h\u0002", + "\u0002\u1846\u1845\u0003\u0002\u0002\u0002\u1846\u1847\u0003\u0002\u0002", + "\u0002\u1847\u1848\u0003\u0002\u0002\u0002\u1848\u1849\u0007\u0010\u0002", + "\u0002\u1849\u184a\u0005\u025e\u0130\u0002\u184a\u184b\u0007\f\u0002", + "\u0002\u184b\u184c\u0005\u025e\u0130\b\u184c\u1878\u0003\u0002\u0002", + "\u0002\u184d\u184e\f\u0006\u0002\u0002\u184e\u184f\u0007\u0213\u0002", + "\u0002\u184f\u1850\u0007Z\u0002\u0002\u1850\u1878\u0005\u025e\u0130", + "\u0007\u1851\u1853\f\u0004\u0002\u0002\u1852\u1854\u0007h\u0002\u0002", + "\u1853\u1852\u0003\u0002\u0002\u0002\u1853\u1854\u0003\u0002\u0002\u0002", + "\u1854\u1855\u0003\u0002\u0002\u0002\u1855\u1856\tu\u0002\u0002\u1856", + "\u1878\u0005\u025e\u0130\u0005\u1857\u1859\f\u000b\u0002\u0002\u1858", + "\u185a\u0007h\u0002\u0002\u1859\u1858\u0003\u0002\u0002\u0002\u1859", + "\u185a\u0003\u0002\u0002\u0002\u185a\u185b\u0003\u0002\u0002\u0002\u185b", + "\u185c\u0007I\u0002\u0002\u185c\u185f\u0007\u03fe\u0002\u0002\u185d", + "\u1860\u0005\u00b6\\\u0002\u185e\u1860\u0005\u0234\u011b\u0002\u185f", + "\u185d\u0003\u0002\u0002\u0002\u185f\u185e\u0003\u0002\u0002\u0002\u1860", + "\u1861\u0003\u0002\u0002\u0002\u1861\u1862\u0007\u03ff\u0002\u0002\u1862", + "\u1878\u0003\u0002\u0002\u0002\u1863\u1864\f\n\u0002\u0002\u1864\u1865", + "\u0007Q\u0002\u0002\u1865\u1878\u0005\u021e\u0110\u0002\u1866\u1867", + "\f\b\u0002\u0002\u1867\u1868\u0005\u0264\u0133\u0002\u1868\u1869\tv", + "\u0002\u0002\u1869\u186a\u0007\u03fe\u0002\u0002\u186a\u186b\u0005\u00b6", + "\\\u0002\u186b\u186c\u0007\u03ff\u0002\u0002\u186c\u1878\u0003\u0002", + "\u0002\u0002\u186d\u186f\f\u0005\u0002\u0002\u186e\u1870\u0007h\u0002", + "\u0002\u186f\u186e\u0003\u0002\u0002\u0002\u186f\u1870\u0003\u0002\u0002", + "\u0002\u1870\u1871\u0003\u0002\u0002\u0002\u1871\u1872\u0007Z\u0002", + "\u0002\u1872\u1875\u0005\u025e\u0130\u0002\u1873\u1874\u0007\u015c\u0002", + "\u0002\u1874\u1876\u0007\u040d\u0002\u0002\u1875\u1873\u0003\u0002\u0002", + "\u0002\u1875\u1876\u0003\u0002\u0002\u0002\u1876\u1878\u0003\u0002\u0002", + "\u0002\u1877\u1840\u0003\u0002\u0002\u0002\u1877\u1844\u0003\u0002\u0002", + "\u0002\u1877\u184d\u0003\u0002\u0002\u0002\u1877\u1851\u0003\u0002\u0002", + "\u0002\u1877\u1857\u0003\u0002\u0002\u0002\u1877\u1863\u0003\u0002\u0002", + "\u0002\u1877\u1866\u0003\u0002\u0002\u0002\u1877\u186d\u0003\u0002\u0002", + "\u0002\u1878\u187b\u0003\u0002\u0002\u0002\u1879\u1877\u0003\u0002\u0002", + "\u0002\u1879\u187a\u0003\u0002\u0002\u0002\u187a\u025f\u0003\u0002\u0002", + "\u0002\u187b\u1879\u0003\u0002\u0002\u0002\u187c\u187d\b\u0131\u0001", + "\u0002\u187d\u18aa\u0005\u0220\u0111\u0002\u187e\u18aa\u0005\u01f8\u00fd", + "\u0002\u187f\u18aa\u0005\u0248\u0125\u0002\u1880\u18aa\u0005\u01fe\u0100", + "\u0002\u1881\u1882\u0005\u0262\u0132\u0002\u1882\u1883\u0005\u0260\u0131", + "\u000b\u1883\u18aa\u0003\u0002\u0002\u0002\u1884\u1885\u0007\u00d2\u0002", + "\u0002\u1885\u18aa\u0005\u0260\u0131\n\u1886\u1887\u0007\u03fe\u0002", + "\u0002\u1887\u188c\u0005\u025c\u012f\u0002\u1888\u1889\u0007\u0400\u0002", + "\u0002\u1889\u188b\u0005\u025c\u012f\u0002\u188a\u1888\u0003\u0002\u0002", + "\u0002\u188b\u188e\u0003\u0002\u0002\u0002\u188c\u188a\u0003\u0002\u0002", + "\u0002\u188c\u188d\u0003\u0002\u0002\u0002\u188d\u188f\u0003\u0002\u0002", + "\u0002\u188e\u188c\u0003\u0002\u0002\u0002\u188f\u1890\u0007\u03ff\u0002", + "\u0002\u1890\u18aa\u0003\u0002\u0002\u0002\u1891\u1892\u0007\u0201\u0002", + "\u0002\u1892\u1893\u0007\u03fe\u0002\u0002\u1893\u1896\u0005\u025c\u012f", + "\u0002\u1894\u1895\u0007\u0400\u0002\u0002\u1895\u1897\u0005\u025c\u012f", + "\u0002\u1896\u1894\u0003\u0002\u0002\u0002\u1897\u1898\u0003\u0002\u0002", + "\u0002\u1898\u1896\u0003\u0002\u0002\u0002\u1898\u1899\u0003\u0002\u0002", + "\u0002\u1899\u189a\u0003\u0002\u0002\u0002\u189a\u189b\u0007\u03ff\u0002", + "\u0002\u189b\u18aa\u0003\u0002\u0002\u0002\u189c\u189d\u00077\u0002", + "\u0002\u189d\u189e\u0007\u03fe\u0002\u0002\u189e\u189f\u0005\u00b6\\", + "\u0002\u189f\u18a0\u0007\u03ff\u0002\u0002\u18a0\u18aa\u0003\u0002\u0002", + "\u0002\u18a1\u18a2\u0007\u03fe\u0002\u0002\u18a2\u18a3\u0005\u00b6\\", + "\u0002\u18a3\u18a4\u0007\u03ff\u0002\u0002\u18a4\u18aa\u0003\u0002\u0002", + "\u0002\u18a5\u18a6\u0007O\u0002\u0002\u18a6\u18a7\u0005\u025c\u012f", + "\u0002\u18a7\u18a8\u0005> \u0002\u18a8\u18aa\u0003\u0002\u0002\u0002", + "\u18a9\u187c\u0003\u0002\u0002\u0002\u18a9\u187e\u0003\u0002\u0002\u0002", + "\u18a9\u187f\u0003\u0002\u0002\u0002\u18a9\u1880\u0003\u0002\u0002\u0002", + "\u18a9\u1881\u0003\u0002\u0002\u0002\u18a9\u1884\u0003\u0002\u0002\u0002", + "\u18a9\u1886\u0003\u0002\u0002\u0002\u18a9\u1891\u0003\u0002\u0002\u0002", + "\u18a9\u189c\u0003\u0002\u0002\u0002\u18a9\u18a1\u0003\u0002\u0002\u0002", + "\u18a9\u18a5\u0003\u0002\u0002\u0002\u18aa\u18b8\u0003\u0002\u0002\u0002", + "\u18ab\u18ac\f\u0004\u0002\u0002\u18ac\u18ad\u0005\u0268\u0135\u0002", + "\u18ad\u18ae\u0005\u0260\u0131\u0005\u18ae\u18b7\u0003\u0002\u0002\u0002", + "\u18af\u18b0\f\u0003\u0002\u0002\u18b0\u18b1\u0005\u026a\u0136\u0002", + "\u18b1\u18b2\u0005\u0260\u0131\u0004\u18b2\u18b7\u0003\u0002\u0002\u0002", + "\u18b3\u18b4\f\r\u0002\u0002\u18b4\u18b5\u0007\u001a\u0002\u0002\u18b5", + "\u18b7\u0005\u0202\u0102\u0002\u18b6\u18ab\u0003\u0002\u0002\u0002\u18b6", + "\u18af\u0003\u0002\u0002\u0002\u18b6\u18b3\u0003\u0002\u0002\u0002\u18b7", + "\u18ba\u0003\u0002\u0002\u0002\u18b8\u18b6\u0003\u0002\u0002\u0002\u18b8", + "\u18b9\u0003\u0002\u0002\u0002\u18b9\u0261\u0003\u0002\u0002\u0002\u18ba", + "\u18b8\u0003\u0002\u0002\u0002\u18bb\u18bc\tw\u0002\u0002\u18bc\u0263", + "\u0003\u0002\u0002\u0002\u18bd\u18cc\u0007\u03f5\u0002\u0002\u18be\u18cc", + "\u0007\u03f6\u0002\u0002\u18bf\u18cc\u0007\u03f7\u0002\u0002\u18c0\u18c1", + "\u0007\u03f7\u0002\u0002\u18c1\u18cc\u0007\u03f5\u0002\u0002\u18c2\u18c3", + "\u0007\u03f6\u0002\u0002\u18c3\u18cc\u0007\u03f5\u0002\u0002\u18c4\u18c5", + "\u0007\u03f7\u0002\u0002\u18c5\u18cc\u0007\u03f6\u0002\u0002\u18c6\u18c7", + "\u0007\u03f8\u0002\u0002\u18c7\u18cc\u0007\u03f5\u0002\u0002\u18c8\u18c9", + "\u0007\u03f7\u0002\u0002\u18c9\u18ca\u0007\u03f5\u0002\u0002\u18ca\u18cc", + "\u0007\u03f6\u0002\u0002\u18cb\u18bd\u0003\u0002\u0002\u0002\u18cb\u18be", + "\u0003\u0002\u0002\u0002\u18cb\u18bf\u0003\u0002\u0002\u0002\u18cb\u18c0", + "\u0003\u0002\u0002\u0002\u18cb\u18c2\u0003\u0002\u0002\u0002\u18cb\u18c4", + "\u0003\u0002\u0002\u0002\u18cb\u18c6\u0003\u0002\u0002\u0002\u18cb\u18c8", + "\u0003\u0002\u0002\u0002\u18cc\u0265\u0003\u0002\u0002\u0002\u18cd\u18d5", + "\u0007\f\u0002\u0002\u18ce\u18cf\u0007\u03fb\u0002\u0002\u18cf\u18d5", + "\u0007\u03fb\u0002\u0002\u18d0\u18d5\u0007\u00b2\u0002\u0002\u18d1\u18d5", + "\u0007p\u0002\u0002\u18d2\u18d3\u0007\u03fa\u0002\u0002\u18d3\u18d5", + "\u0007\u03fa\u0002\u0002\u18d4\u18cd\u0003\u0002\u0002\u0002\u18d4\u18ce", + "\u0003\u0002\u0002\u0002\u18d4\u18d0\u0003\u0002\u0002\u0002\u18d4\u18d1", + "\u0003\u0002\u0002\u0002\u18d4\u18d2\u0003\u0002\u0002\u0002\u18d5\u0267", + "\u0003\u0002\u0002\u0002\u18d6\u18d7\u0007\u03f7\u0002\u0002\u18d7\u18de", + "\u0007\u03f7\u0002\u0002\u18d8\u18d9\u0007\u03f6\u0002\u0002\u18d9\u18de", + "\u0007\u03f6\u0002\u0002\u18da\u18de\u0007\u03fb\u0002\u0002\u18db\u18de", + "\u0007\u03fc\u0002\u0002\u18dc\u18de\u0007\u03fa\u0002\u0002\u18dd\u18d6", + "\u0003\u0002\u0002\u0002\u18dd\u18d8\u0003\u0002\u0002\u0002\u18dd\u18da", + "\u0003\u0002\u0002\u0002\u18dd\u18db\u0003\u0002\u0002\u0002\u18dd\u18dc", + "\u0003\u0002\u0002\u0002\u18de\u0269\u0003\u0002\u0002\u0002\u18df\u18e0", + "\tx\u0002\u0002\u18e0\u026b\u0003\u0002\u0002\u0002\u18e1\u18e2\ty\u0002", + "\u0002\u18e2\u026d\u0003\u0002\u0002\u0002\u18e3\u18e4\tz\u0002\u0002", + "\u18e4\u026f\u0003\u0002\u0002\u0002\u18e5\u18e6\t{\u0002\u0002\u18e6", + "\u0271\u0003\u0002\u0002\u0002\u18e7\u18e8\t|\u0002\u0002\u18e8\u0273", + "\u0003\u0002\u0002\u0002\u18e9\u18ea\t}\u0002\u0002\u18ea\u0275\u0003", + "\u0002\u0002\u0002\u18eb\u18ec\t~\u0002\u0002\u18ec\u0277\u0003\u0002", + "\u0002\u0002\u18ed\u18ee\t\u007f\u0002\u0002\u18ee\u0279\u0003\u0002", + "\u0002\u0002\u03a2\u027e\u0281\u0287\u028a\u028d\u028f\u0294\u0297\u029a", + "\u02a3\u02ca\u02d6\u02e1\u02f2\u02f7\u0303\u031e\u0327\u032c\u0332\u0337", + "\u033b\u0344\u0347\u034a\u034e\u0355\u0358\u035d\u0365\u036a\u036f\u0372", + "\u0374\u0380\u0383\u0387\u038a\u038e\u0391\u0395\u0398\u039b\u039f\u03a2", + "\u03a6\u03ac\u03b2\u03b8\u03bf\u03c6\u03cc\u03d2\u03db\u03e0\u03f0\u03f7", + "\u03fb\u0405\u0409\u040d\u0411\u0415\u041a\u041d\u0420\u0423\u0426\u042c", + "\u0430\u0436\u043b\u043e\u0441\u0443\u044e\u0452\u0455\u0463\u0466\u046a", + "\u046d\u0471\u0474\u0478\u047b\u047f\u0482\u0485\u0489\u048c\u0490\u0496", + "\u04a3\u04aa\u04af\u04b2\u04b7\u04bf\u04c5\u04c9\u04cc\u04d1\u04d4\u04d8", + "\u04db\u04df\u04e2\u04ea\u04ec\u04f3\u04f9\u0501\u0504\u050b\u050e\u0510", + "\u0516\u051c\u052d\u0534\u053b\u0546\u0549\u0556\u0563\u0568\u0578\u0580", + "\u058a\u0590\u059a\u059d\u05a2\u05af\u05b6\u05bd\u05bf\u05c6\u05ca\u05cc", + "\u05d1\u05d4\u05da\u05df\u05e1\u05e5\u05e8\u05eb\u05f1\u05f6\u05f8\u05fd", + "\u0604\u0606\u060d\u0612\u0616\u0619\u0621\u0629\u062b\u0633\u0637\u063a", + "\u0640\u0645\u0648\u064e\u0651\u0655\u065a\u065f\u0663\u0668\u066b\u066f", + "\u0673\u0677\u067b\u0680\u0685\u068a\u0690\u0695\u069a\u06a0\u06a5\u06aa", + "\u06af\u06b4\u06b9\u06be\u06c3\u06c8\u06cd\u06d2\u06d8\u06dd\u06e3\u06ed", + "\u06f4\u06f6\u06fe\u0703\u0706\u070e\u0714\u0724\u0730\u0732\u0735\u073d", + "\u0743\u0749\u0756\u075d\u0765\u0768\u0773\u077b\u077e\u078a\u0791\u0799", + "\u079c\u07a8\u07af\u07b7\u07ba\u07c1\u07c9\u07cc\u07ce\u07d3\u07db\u07e4", + "\u07e8\u07ec\u07f1\u07f7\u07fd\u0802\u0807\u080c\u0811\u0814\u0819\u081e", + "\u0828\u082c\u0833\u0838\u083b\u0840\u0843\u0847\u084b\u0853\u0866\u0869", + "\u086c\u0870\u087a\u0887\u088e\u0891\u089a\u089d\u08a0\u08ab\u08ae\u08b2", + "\u08ba\u08bd\u08c2\u08ca\u08d0\u08d4\u08d8\u08dd\u08e2\u08e9\u08ed\u08f8", + "\u0900\u0903\u0909\u090f\u0911\u0916\u0919\u091f\u0925\u0927\u092b\u092e", + "\u0931\u0937\u093d\u0940\u0946\u094c\u094e\u0953\u095b\u095d\u0966\u096b", + "\u0973\u0977\u097f\u0989\u098e\u0995\u0999\u099d\u09ba\u09be\u09ca\u09cd", + "\u09d6\u09e7\u09f3\u09fa\u0a01\u0a10\u0a1d\u0a23\u0a29\u0a2f\u0a35\u0a3b", + "\u0a41\u0a46\u0a4d\u0a54\u0a5b\u0a60\u0a63\u0a65\u0a73\u0a7a\u0a81\u0a87", + "\u0a8b\u0a8f\u0a96\u0a99\u0a9e\u0aa5\u0aac\u0ab0\u0ab9\u0ac2\u0acb\u0ace", + "\u0ad2\u0adb\u0adf\u0ae2\u0ae5\u0aeb\u0aee\u0af4\u0afd\u0b00\u0b0b\u0b0e", + "\u0b13\u0b16\u0b1b\u0b25\u0b2a\u0b30\u0b32\u0b38\u0b3a\u0b40\u0b48\u0b4d", + "\u0b55\u0b58\u0b5d\u0b60\u0b65\u0b6d\u0b75\u0b7b\u0b83\u0b88\u0b90\u0b93", + "\u0b97\u0b9a\u0ba2\u0ba8\u0bb1\u0bb4\u0bb8\u0bbc\u0bc2\u0bc6\u0bca\u0bcc", + "\u0bcf\u0bd2\u0bd5\u0bdb\u0bdf\u0be2\u0be5\u0be8\u0beb\u0bed\u0bf1\u0bf7", + "\u0bfd\u0c02\u0c05\u0c0b\u0c0f\u0c17\u0c1b\u0c1e\u0c21\u0c2a\u0c2e\u0c31", + "\u0c35\u0c39\u0c3c\u0c3f\u0c44\u0c4a\u0c4e\u0c58\u0c5e\u0c62\u0c68\u0c6c", + "\u0c72\u0c75\u0c81\u0c85\u0c89\u0c91\u0c95\u0c9d\u0ca0\u0ca4\u0ca7\u0caf", + "\u0cb4\u0cb7\u0cba\u0cbe\u0cc1\u0cca\u0ccf\u0cd8\u0cdd\u0ce4\u0ceb\u0cf3", + "\u0cf8\u0d00\u0d03\u0d06\u0d0d\u0d10\u0d17\u0d1a\u0d22\u0d28\u0d33\u0d36", + "\u0d41\u0d47\u0d4b\u0d56\u0d5b\u0d5d\u0d61\u0d6b\u0d75\u0d7b\u0d80\u0d83", + "\u0d86\u0d89\u0d8f\u0d94\u0d97\u0d9a\u0d9d\u0d9f\u0da5\u0daa\u0dad\u0db0", + "\u0db4\u0dba\u0dbe\u0dc8\u0dcc\u0dd2\u0ddb\u0dde\u0de2\u0de5\u0de9\u0ded", + "\u0df0\u0df2\u0dfa\u0e06\u0e0c\u0e0e\u0e14\u0e16\u0e18\u0e1e\u0e26\u0e2e", + "\u0e34\u0e3d\u0e42\u0e44\u0e48\u0e4c\u0e52\u0e59\u0e5d\u0e66\u0e69\u0e6d", + "\u0e71\u0e75\u0e78\u0e7b\u0e7e\u0e82\u0e86\u0e89\u0e8c\u0e8f\u0e96\u0e9a", + "\u0ea9\u0eb6\u0ebe\u0ec8\u0ecc\u0ecf\u0ed5\u0ed8\u0edb\u0ee4\u0eed\u0ef7", + "\u0efb\u0f05\u0f0f\u0f17\u0f1a\u0f23\u0f26\u0f2a\u0f2f\u0f33\u0f3c\u0f3f", + "\u0f5e\u0f61\u0f64\u0f9c\u0fa1\u0fbd\u0fcb\u0fd2\u0fd6\u0fdc\u0fe4\u0fe6", + "\u0ff1\u0ffb\u1002\u1008\u1010\u1015\u101d\u1025\u102d\u1035\u103b\u103e", + "\u1042\u1047\u104c\u1052\u1054\u105f\u1064\u106b\u106d\u107b\u1081\u1086", + "\u108b\u1091\u1098\u10a0\u10a8\u10ad\u10b3\u10b6\u10be\u10c5\u10ce\u10d1", + "\u10e2\u10ea\u10f2\u10f6\u10fd\u1103\u110b\u1114\u111a\u1121\u1128\u112d", + "\u1130\u1132\u1138\u113a\u113e\u1140\u1143\u114c\u1152\u1159\u1160\u1165", + "\u1168\u116a\u1170\u1172\u1176\u1178\u117b\u1180\u1187\u1190\u1195\u119e", + "\u11a5\u11aa\u11ad\u11af\u11b5\u11b7\u11ba\u11c6\u11cc\u11d5\u11de\u11e3", + "\u11ec\u11f2\u11fd\u1200\u120c\u1213\u1218\u1227\u1232\u1235\u123f\u1249", + "\u1253\u125d\u1261\u1265\u126f\u1274\u12a6\u12b8\u12c0\u12cb\u12d2\u12d6", + "\u12dd\u12e2\u12e5\u12e8\u12f1\u12f5\u1313\u131a\u131e\u1325\u1328\u1338", + "\u133b\u1345\u1349\u134f\u1352\u1357\u135b\u1362\u1365\u136b\u1383\u1390", + "\u1393\u139d\u13a5\u13a9\u13b0\u13b3\u13bc\u13c2\u13c8\u13d2\u13d4\u13da", + "\u13dd\u13e0\u13ec\u13ef\u13f5\u13f8\u1400\u1408\u140e\u1412\u1420\u142c", + "\u1433\u1436\u143d\u1444\u1449\u144e\u1459\u1464\u146a\u146f\u147c\u147e", + "\u1483\u1488\u148a\u1491\u1498\u149b\u149e\u14a4\u14a8\u14ae\u14b4\u14c1", + "\u14c6\u14ce\u14d1\u14d6\u14db\u14e3\u14e6\u14ec\u14f0\u14fd\u1503\u150f", + "\u1512\u151b\u1520\u1526\u152d\u152f\u1533\u1539\u153c\u1546\u154a\u155e", + "\u1565\u1567\u156e\u1570\u1574\u1579\u1584\u1589\u158f\u1592\u1596\u159b", + "\u159e\u15a2\u15a6\u15a8\u15ad\u15b2\u15bf\u15c2\u15c6\u15c9\u15ce\u15d1", + "\u15d5\u15da\u15dd\u15e2\u15e5\u15eb\u15ee\u15f2\u15f5\u15f8\u15fc\u15ff", + "\u1602\u1606\u1609\u160c\u160f\u1613\u1616\u1619\u161e\u1623\u1628\u162b", + "\u1630\u1633\u1638\u163b\u163f\u1643\u164b\u1652\u1656\u165b\u165e\u1663", + "\u1667\u1669\u1679\u1682\u168a\u1693\u169d\u16a5\u16ad\u16b5\u16bd\u16c2", + "\u16c9\u16cb\u16d0\u16d3\u16d8\u16db\u16df\u16ed\u16f4\u16f9\u171b\u171f", + "\u1727\u172b\u1734\u173c\u1741\u1749\u174e\u1753\u1755\u175e\u1763\u176b", + "\u1770\u1778\u1780\u1783\u178d\u1798\u17a5\u17ad\u17b1\u17b6\u17bf\u17c2", + "\u17ce\u17d6\u17e0\u17e3\u17e7\u17eb\u1804\u180f\u1816\u181a\u1821\u1829", + "\u182e\u1836\u183c\u1846\u1853\u1859\u185f\u186f\u1875\u1877\u1879\u188c", + "\u1898\u18a9\u18b6\u18b8\u18cb\u18d4\u18dd"].join(""); + + +var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); + +var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); + +var sharedContextCache = new antlr4.PredictionContextCache(); + +var literalNames = [ null, null, null, null, null, "'ADD'", "'ALL'", "'ALTER'", + "'ALWAYS'", "'ANALYZE'", "'AND'", "'AS'", "'ASC'", + "'BEFORE'", "'BETWEEN'", "'BOTH'", "'BY'", "'CALL'", + "'CASCADE'", "'CASE'", "'CAST'", "'CHANGE'", "'CHARACTER'", + "'CHECK'", "'COLLATE'", "'COLUMN'", "'CONDITION'", + "'CONSTRAINT'", "'CONTINUE'", "'CONVERT'", "'CREATE'", + "'CROSS'", "'CURRENT'", "'CURRENT_USER'", "'CURSOR'", + "'DATABASE'", "'DATABASES'", "'DECLARE'", "'DEFAULT'", + "'DELAYED'", "'DELETE'", "'DESC'", "'DESCRIBE'", "'DETERMINISTIC'", + "'DIAGNOSTICS'", "'DISTINCT'", "'DISTINCTROW'", "'DROP'", + "'EACH'", "'ELSE'", "'ELSEIF'", "'ENCLOSED'", "'ESCAPED'", + "'EXISTS'", "'EXIT'", "'EXPLAIN'", "'FALSE'", "'FETCH'", + "'FOR'", "'FORCE'", "'FOREIGN'", "'FROM'", "'FULLTEXT'", + "'GENERATED'", "'GET'", "'GRANT'", "'GROUP'", "'HAVING'", + "'HIGH_PRIORITY'", "'IF'", "'IGNORE'", "'IN'", "'INDEX'", + "'INFILE'", "'INNER'", "'INOUT'", "'INSERT'", "'INTERVAL'", + "'INTO'", "'IS'", "'ITERATE'", "'JOIN'", "'KEY'", "'KEYS'", + "'KILL'", "'LEADING'", "'LEAVE'", "'LEFT'", "'LIKE'", + "'LIMIT'", "'LINEAR'", "'LINES'", "'LOAD'", "'LOCK'", + "'LOOP'", "'LOW_PRIORITY'", "'MASTER_BIND'", "'MASTER_SSL_VERIFY_SERVER_CERT'", + "'MATCH'", "'MAXVALUE'", "'MODIFIES'", "'NATURAL'", + "'NOT'", "'NO_WRITE_TO_BINLOG'", "'NULL'", "'NUMBER'", + "'ON'", "'OPTIMIZE'", "'OPTION'", "'OPTIONALLY'", "'OR'", + "'ORDER'", "'OUT'", "'OUTER'", "'OUTFILE'", "'PARTITION'", + "'PRIMARY'", "'PROCEDURE'", "'PURGE'", "'RANGE'", "'READ'", + "'READS'", "'REFERENCES'", "'REGEXP'", "'RELEASE'", + "'RENAME'", "'REPEAT'", "'REPLACE'", "'REQUIRE'", "'RESIGNAL'", + "'RESTRICT'", "'RETURN'", "'REVOKE'", "'RIGHT'", "'RLIKE'", + "'SCHEMA'", "'SCHEMAS'", "'SELECT'", "'SET'", "'SEPARATOR'", + "'SHOW'", "'SIGNAL'", "'SPATIAL'", "'SQL'", "'SQLEXCEPTION'", + "'SQLSTATE'", "'SQLWARNING'", "'SQL_BIG_RESULT'", "'SQL_CALC_FOUND_ROWS'", + "'SQL_SMALL_RESULT'", "'SSL'", "'STACKED'", "'STARTING'", + "'STRAIGHT_JOIN'", "'TABLE'", "'TERMINATED'", "'THEN'", + "'TO'", "'TRAILING'", "'TRIGGER'", "'TRUE'", "'UNDO'", + "'UNION'", "'UNIQUE'", "'UNLOCK'", "'UNSIGNED'", "'UPDATE'", + "'USAGE'", "'USE'", "'USING'", "'VALUES'", "'WHEN'", + "'WHERE'", "'WHILE'", "'WITH'", "'WRITE'", "'XOR'", + "'ZEROFILL'", "'TINYINT'", "'SMALLINT'", "'MEDIUMINT'", + "'MIDDLEINT'", "'INT'", "'INT1'", "'INT2'", "'INT3'", + "'INT4'", "'INT8'", "'INTEGER'", "'BIGINT'", "'REAL'", + "'DOUBLE'", "'PRECISION'", "'FLOAT'", "'FLOAT4'", "'FLOAT8'", + "'DECIMAL'", "'DEC'", "'NUMERIC'", "'DATE'", "'TIME'", + "'TIMESTAMP'", "'DATETIME'", "'YEAR'", "'CHAR'", "'VARCHAR'", + "'NVARCHAR'", "'NATIONAL'", "'BINARY'", "'VARBINARY'", + "'TINYBLOB'", "'BLOB'", "'MEDIUMBLOB'", "'LONG'", "'LONGBLOB'", + "'TINYTEXT'", "'TEXT'", "'MEDIUMTEXT'", "'LONGTEXT'", + "'ENUM'", "'VARYING'", "'SERIAL'", "'YEAR_MONTH'", + "'DAY_HOUR'", "'DAY_MINUTE'", "'DAY_SECOND'", "'HOUR_MINUTE'", + "'HOUR_SECOND'", "'MINUTE_SECOND'", "'SECOND_MICROSECOND'", + "'MINUTE_MICROSECOND'", "'HOUR_MICROSECOND'", "'DAY_MICROSECOND'", + "'JSON_VALID'", "'JSON_SCHEMA_VALID'", "'AVG'", "'BIT_AND'", + "'BIT_OR'", "'BIT_XOR'", "'COUNT'", "'GROUP_CONCAT'", + "'MAX'", "'MIN'", "'STD'", "'STDDEV'", "'STDDEV_POP'", + "'STDDEV_SAMP'", "'SUM'", "'VAR_POP'", "'VAR_SAMP'", + "'VARIANCE'", "'CURRENT_DATE'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", + "'LOCALTIME'", "'CURDATE'", "'CURTIME'", "'DATE_ADD'", + "'DATE_SUB'", "'EXTRACT'", "'LOCALTIMESTAMP'", "'NOW'", + "'POSITION'", "'SUBSTR'", "'SUBSTRING'", "'SYSDATE'", + "'TRIM'", "'UTC_DATE'", "'UTC_TIME'", "'UTC_TIMESTAMP'", + "'ACCOUNT'", "'ACTION'", "'AFTER'", "'AGGREGATE'", + "'ALGORITHM'", "'ANY'", "'AT'", "'AUTHORS'", "'AUTOCOMMIT'", + "'AUTOEXTEND_SIZE'", "'AUTO_INCREMENT'", "'AVG_ROW_LENGTH'", + "'BEGIN'", "'BINLOG'", "'BIT'", "'BLOCK'", "'BOOL'", + "'BOOLEAN'", "'BTREE'", "'CACHE'", "'CASCADED'", "'CHAIN'", + "'CHANGED'", "'CHANNEL'", "'CHECKSUM'", "'PAGE_CHECKSUM'", + "'CIPHER'", "'CLASS_ORIGIN'", "'CLIENT'", "'CLOSE'", + "'COALESCE'", "'CODE'", "'COLUMNS'", "'COLUMN_FORMAT'", + "'COLUMN_NAME'", "'COMMENT'", "'COMMIT'", "'COMPACT'", + "'COMPLETION'", "'COMPRESSED'", "'COMPRESSION'", "'CONCURRENT'", + "'CONNECTION'", "'CONSISTENT'", "'CONSTRAINT_CATALOG'", + "'CONSTRAINT_SCHEMA'", "'CONSTRAINT_NAME'", "'CONTAINS'", + "'CONTEXT'", "'CONTRIBUTORS'", "'COPY'", "'CPU'", "'CURSOR_NAME'", + "'DATA'", "'DATAFILE'", "'DEALLOCATE'", "'DEFAULT_AUTH'", + "'DEFINER'", "'DELAY_KEY_WRITE'", "'DES_KEY_FILE'", + "'DIRECTORY'", "'DISABLE'", "'DISCARD'", "'DISK'", + "'DO'", "'DUMPFILE'", "'DUPLICATE'", "'DYNAMIC'", "'ENABLE'", + "'ENCRYPTION'", "'END'", "'ENDS'", "'ENGINE'", "'ENGINES'", + "'ERROR'", "'ERRORS'", "'ESCAPE'", "'EVEN'", "'EVENT'", + "'EVENTS'", "'EVERY'", "'EXCHANGE'", "'EXCLUSIVE'", + "'EXPIRE'", "'EXPORT'", "'EXTENDED'", "'EXTENT_SIZE'", + "'FAST'", "'FAULTS'", "'FIELDS'", "'FILE_BLOCK_SIZE'", + "'FILTER'", "'FIRST'", "'FIXED'", "'FLUSH'", "'FOLLOWS'", + "'FOUND'", "'FULL'", "'FUNCTION'", "'GENERAL'", "'GLOBAL'", + "'GRANTS'", "'GROUP_REPLICATION'", "'HANDLER'", "'HASH'", + "'HELP'", "'HOST'", "'HOSTS'", "'IDENTIFIED'", "'IGNORE_SERVER_IDS'", + "'IMPORT'", "'INDEXES'", "'INITIAL_SIZE'", "'INPLACE'", + "'INSERT_METHOD'", "'INSTALL'", "'INSTANCE'", "'INVISIBLE'", + "'INVOKER'", "'IO'", "'IO_THREAD'", "'IPC'", "'ISOLATION'", + "'ISSUER'", "'JSON'", "'KEY_BLOCK_SIZE'", "'LANGUAGE'", + "'LAST'", "'LEAVES'", "'LESS'", "'LEVEL'", "'LIST'", + "'LOCAL'", "'LOGFILE'", "'LOGS'", "'MASTER'", "'MASTER_AUTO_POSITION'", + "'MASTER_CONNECT_RETRY'", "'MASTER_DELAY'", "'MASTER_HEARTBEAT_PERIOD'", + "'MASTER_HOST'", "'MASTER_LOG_FILE'", "'MASTER_LOG_POS'", + "'MASTER_PASSWORD'", "'MASTER_PORT'", "'MASTER_RETRY_COUNT'", + "'MASTER_SSL'", "'MASTER_SSL_CA'", "'MASTER_SSL_CAPATH'", + "'MASTER_SSL_CERT'", "'MASTER_SSL_CIPHER'", "'MASTER_SSL_CRL'", + "'MASTER_SSL_CRLPATH'", "'MASTER_SSL_KEY'", "'MASTER_TLS_VERSION'", + "'MASTER_USER'", "'MAX_CONNECTIONS_PER_HOUR'", "'MAX_QUERIES_PER_HOUR'", + "'MAX_ROWS'", "'MAX_SIZE'", "'MAX_UPDATES_PER_HOUR'", + "'MAX_USER_CONNECTIONS'", "'MEDIUM'", "'MERGE'", "'MESSAGE_TEXT'", + "'MID'", "'MIGRATE'", "'MIN_ROWS'", "'MODE'", "'MODIFY'", + "'MUTEX'", "'MYSQL'", "'MYSQL_ERRNO'", "'NAME'", "'NAMES'", + "'NCHAR'", "'NEVER'", "'NEXT'", "'NO'", "'NODEGROUP'", + "'NONE'", "'OFFLINE'", "'OFFSET'", "'OJ'", "'OLD_PASSWORD'", + "'ONE'", "'ONLINE'", "'ONLY'", "'OPEN'", "'OPTIMIZER_COSTS'", + "'OPTIONS'", "'OWNER'", "'PACK_KEYS'", "'PAGE'", "'PARSER'", + "'PARTIAL'", "'PARTITIONING'", "'PARTITIONS'", "'PASSWORD'", + "'PHASE'", "'PLUGIN'", "'PLUGIN_DIR'", "'PLUGINS'", + "'PORT'", "'PRECEDES'", "'PREPARE'", "'PRESERVE'", + "'PREV'", "'PROCESSLIST'", "'PROFILE'", "'PROFILES'", + "'PROXY'", "'QUERY'", "'QUICK'", "'REBUILD'", "'RECOVER'", + "'REDO_BUFFER_SIZE'", "'REDUNDANT'", "'RELAY'", "'RELAY_LOG_FILE'", + "'RELAY_LOG_POS'", "'RELAYLOG'", "'REMOVE'", "'REORGANIZE'", + "'REPAIR'", "'REPLICATE_DO_DB'", "'REPLICATE_DO_TABLE'", + "'REPLICATE_IGNORE_DB'", "'REPLICATE_IGNORE_TABLE'", + "'REPLICATE_REWRITE_DB'", "'REPLICATE_WILD_DO_TABLE'", + "'REPLICATE_WILD_IGNORE_TABLE'", "'REPLICATION'", "'RESET'", + "'RESUME'", "'RETURNED_SQLSTATE'", "'RETURNS'", "'ROLE'", + "'ROLLBACK'", "'ROLLUP'", "'ROTATE'", "'ROW'", "'ROWS'", + "'ROW_FORMAT'", "'SAVEPOINT'", "'SCHEDULE'", "'SECURITY'", + "'SERVER'", "'SESSION'", "'SHARE'", "'SHARED'", "'SIGNED'", + "'SIMPLE'", "'SLAVE'", "'SLOW'", "'SNAPSHOT'", "'SOCKET'", + "'SOME'", "'SONAME'", "'SOUNDS'", "'SOURCE'", "'SQL_AFTER_GTIDS'", + "'SQL_AFTER_MTS_GAPS'", "'SQL_BEFORE_GTIDS'", "'SQL_BUFFER_RESULT'", + "'SQL_CACHE'", "'SQL_NO_CACHE'", "'SQL_THREAD'", "'START'", + "'STARTS'", "'STATS_AUTO_RECALC'", "'STATS_PERSISTENT'", + "'STATS_SAMPLE_PAGES'", "'STATUS'", "'STOP'", "'STORAGE'", + "'STORED'", "'STRING'", "'SUBCLASS_ORIGIN'", "'SUBJECT'", + "'SUBPARTITION'", "'SUBPARTITIONS'", "'SUSPEND'", "'SWAPS'", + "'SWITCHES'", "'TABLE_NAME'", "'TABLESPACE'", "'TEMPORARY'", + "'TEMPTABLE'", "'THAN'", "'TRADITIONAL'", "'TRANSACTION'", + "'TRANSACTIONAL'", "'TRIGGERS'", "'TRUNCATE'", "'UNDEFINED'", + "'UNDOFILE'", "'UNDO_BUFFER_SIZE'", "'UNINSTALL'", + "'UNKNOWN'", "'UNTIL'", "'UPGRADE'", "'USER'", "'USE_FRM'", + "'USER_RESOURCES'", "'VALIDATION'", "'VALUE'", "'VARIABLES'", + "'VIEW'", "'VIRTUAL'", "'VISIBLE'", "'WAIT'", "'WARNINGS'", + "'WITHOUT'", "'WORK'", "'WRAPPER'", "'X509'", "'XA'", + "'XML'", "'EUR'", "'USA'", "'JIS'", "'ISO'", "'INTERNAL'", + "'QUARTER'", "'MONTH'", "'DAY'", "'HOUR'", "'MINUTE'", + "'WEEK'", "'SECOND'", "'MICROSECOND'", "'TABLES'", + "'ROUTINE'", "'EXECUTE'", "'FILE'", "'PROCESS'", "'RELOAD'", + "'SHUTDOWN'", "'SUPER'", "'PRIVILEGES'", "'APPLICATION_PASSWORD_ADMIN'", + "'AUDIT_ADMIN'", "'BACKUP_ADMIN'", "'BINLOG_ADMIN'", + "'BINLOG_ENCRYPTION_ADMIN'", "'CLONE_ADMIN'", "'CONNECTION_ADMIN'", + "'ENCRYPTION_KEY_ADMIN'", "'FIREWALL_ADMIN'", "'FIREWALL_USER'", + "'GROUP_REPLICATION_ADMIN'", "'INNODB_REDO_LOG_ARCHIVE'", + "'NDB_STORED_USER'", "'PERSIST_RO_VARIABLES_ADMIN'", + "'REPLICATION_APPLIER'", "'REPLICATION_SLAVE_ADMIN'", + "'RESOURCE_GROUP_ADMIN'", "'RESOURCE_GROUP_USER'", + "'ROLE_ADMIN'", null, "'SET_USER_ID'", "'SHOW_ROUTINE'", + "'SYSTEM_VARIABLES_ADMIN'", "'TABLE_ENCRYPTION_ADMIN'", + "'VERSION_TOKEN_ADMIN'", "'XA_RECOVER_ADMIN'", "'ARMSCII8'", + "'ASCII'", "'BIG5'", "'CP1250'", "'CP1251'", "'CP1256'", + "'CP1257'", "'CP850'", "'CP852'", "'CP866'", "'CP932'", + "'DEC8'", "'EUCJPMS'", "'EUCKR'", "'GB2312'", "'GBK'", + "'GEOSTD8'", "'GREEK'", "'HEBREW'", "'HP8'", "'KEYBCS2'", + "'KOI8R'", "'KOI8U'", "'LATIN1'", "'LATIN2'", "'LATIN5'", + "'LATIN7'", "'MACCE'", "'MACROMAN'", "'SJIS'", "'SWE7'", + "'TIS620'", "'UCS2'", "'UJIS'", "'UTF16'", "'UTF16LE'", + "'UTF32'", "'UTF8'", "'UTF8MB3'", "'UTF8MB4'", "'ARCHIVE'", + "'BLACKHOLE'", "'CSV'", "'FEDERATED'", "'INNODB'", + "'MEMORY'", "'MRG_MYISAM'", "'MYISAM'", "'NDB'", "'NDBCLUSTER'", + "'PERFORMANCE_SCHEMA'", "'TOKUDB'", "'REPEATABLE'", + "'COMMITTED'", "'UNCOMMITTED'", "'SERIALIZABLE'", "'GEOMETRYCOLLECTION'", + "'GEOMCOLLECTION'", "'GEOMETRY'", "'LINESTRING'", "'MULTILINESTRING'", + "'MULTIPOINT'", "'MULTIPOLYGON'", "'POINT'", "'POLYGON'", + "'ABS'", "'ACOS'", "'ADDDATE'", "'ADDTIME'", "'AES_DECRYPT'", + "'AES_ENCRYPT'", "'AREA'", "'ASBINARY'", "'ASIN'", + "'ASTEXT'", "'ASWKB'", "'ASWKT'", "'ASYMMETRIC_DECRYPT'", + "'ASYMMETRIC_DERIVE'", "'ASYMMETRIC_ENCRYPT'", "'ASYMMETRIC_SIGN'", + "'ASYMMETRIC_VERIFY'", "'ATAN'", "'ATAN2'", "'BENCHMARK'", + "'BIN'", "'BIT_COUNT'", "'BIT_LENGTH'", "'BUFFER'", + "'CATALOG_NAME'", "'CEIL'", "'CEILING'", "'CENTROID'", + "'CHARACTER_LENGTH'", "'CHARSET'", "'CHAR_LENGTH'", + "'COERCIBILITY'", "'COLLATION'", "'COMPRESS'", "'CONCAT'", + "'CONCAT_WS'", "'CONNECTION_ID'", "'CONV'", "'CONVERT_TZ'", + "'COS'", "'COT'", "'CRC32'", "'CREATE_ASYMMETRIC_PRIV_KEY'", + "'CREATE_ASYMMETRIC_PUB_KEY'", "'CREATE_DH_PARAMETERS'", + "'CREATE_DIGEST'", "'CROSSES'", "'DATEDIFF'", "'DATE_FORMAT'", + "'DAYNAME'", "'DAYOFMONTH'", "'DAYOFWEEK'", "'DAYOFYEAR'", + "'DECODE'", "'DEGREES'", "'DES_DECRYPT'", "'DES_ENCRYPT'", + "'DIMENSION'", "'DISJOINT'", "'ELT'", "'ENCODE'", "'ENCRYPT'", + "'ENDPOINT'", "'ENVELOPE'", "'EQUALS'", "'EXP'", "'EXPORT_SET'", + "'EXTERIORRING'", "'EXTRACTVALUE'", "'FIELD'", "'FIND_IN_SET'", + "'FLOOR'", "'FORMAT'", "'FOUND_ROWS'", "'FROM_BASE64'", + "'FROM_DAYS'", "'FROM_UNIXTIME'", "'GEOMCOLLFROMTEXT'", + "'GEOMCOLLFROMWKB'", "'GEOMETRYCOLLECTIONFROMTEXT'", + "'GEOMETRYCOLLECTIONFROMWKB'", "'GEOMETRYFROMTEXT'", + "'GEOMETRYFROMWKB'", "'GEOMETRYN'", "'GEOMETRYTYPE'", + "'GEOMFROMTEXT'", "'GEOMFROMWKB'", "'GET_FORMAT'", + "'GET_LOCK'", "'GLENGTH'", "'GREATEST'", "'GTID_SUBSET'", + "'GTID_SUBTRACT'", "'HEX'", "'IFNULL'", "'INET6_ATON'", + "'INET6_NTOA'", "'INET_ATON'", "'INET_NTOA'", "'INSTR'", + "'INTERIORRINGN'", "'INTERSECTS'", "'ISCLOSED'", "'ISEMPTY'", + "'ISNULL'", "'ISSIMPLE'", "'IS_FREE_LOCK'", "'IS_IPV4'", + "'IS_IPV4_COMPAT'", "'IS_IPV4_MAPPED'", "'IS_IPV6'", + "'IS_USED_LOCK'", "'LAST_INSERT_ID'", "'LCASE'", "'LEAST'", + "'LENGTH'", "'LINEFROMTEXT'", "'LINEFROMWKB'", "'LINESTRINGFROMTEXT'", + "'LINESTRINGFROMWKB'", "'LN'", "'LOAD_FILE'", "'LOCATE'", + "'LOG'", "'LOG10'", "'LOG2'", "'LOWER'", "'LPAD'", + "'LTRIM'", "'MAKEDATE'", "'MAKETIME'", "'MAKE_SET'", + "'MASTER_POS_WAIT'", "'MBRCONTAINS'", "'MBRDISJOINT'", + "'MBREQUAL'", "'MBRINTERSECTS'", "'MBROVERLAPS'", "'MBRTOUCHES'", + "'MBRWITHIN'", "'MD5'", "'MLINEFROMTEXT'", "'MLINEFROMWKB'", + "'MONTHNAME'", "'MPOINTFROMTEXT'", "'MPOINTFROMWKB'", + "'MPOLYFROMTEXT'", "'MPOLYFROMWKB'", "'MULTILINESTRINGFROMTEXT'", + "'MULTILINESTRINGFROMWKB'", "'MULTIPOINTFROMTEXT'", + "'MULTIPOINTFROMWKB'", "'MULTIPOLYGONFROMTEXT'", "'MULTIPOLYGONFROMWKB'", + "'NAME_CONST'", "'NULLIF'", "'NUMGEOMETRIES'", "'NUMINTERIORRINGS'", + "'NUMPOINTS'", "'OCT'", "'OCTET_LENGTH'", "'ORD'", + "'OVERLAPS'", "'PERIOD_ADD'", "'PERIOD_DIFF'", "'PI'", + "'POINTFROMTEXT'", "'POINTFROMWKB'", "'POINTN'", "'POLYFROMTEXT'", + "'POLYFROMWKB'", "'POLYGONFROMTEXT'", "'POLYGONFROMWKB'", + "'POW'", "'POWER'", "'QUOTE'", "'RADIANS'", "'RAND'", + "'RANDOM_BYTES'", "'RELEASE_LOCK'", "'REVERSE'", "'ROUND'", + "'ROW_COUNT'", "'RPAD'", "'RTRIM'", "'SEC_TO_TIME'", + "'SESSION_USER'", "'SHA'", "'SHA1'", "'SHA2'", "'SCHEMA_NAME'", + "'SIGN'", "'SIN'", "'SLEEP'", "'SOUNDEX'", "'SQL_THREAD_WAIT_AFTER_GTIDS'", + "'SQRT'", "'SRID'", "'STARTPOINT'", "'STRCMP'", "'STR_TO_DATE'", + "'ST_AREA'", "'ST_ASBINARY'", "'ST_ASTEXT'", "'ST_ASWKB'", + "'ST_ASWKT'", "'ST_BUFFER'", "'ST_CENTROID'", "'ST_CONTAINS'", + "'ST_CROSSES'", "'ST_DIFFERENCE'", "'ST_DIMENSION'", + "'ST_DISJOINT'", "'ST_DISTANCE'", "'ST_ENDPOINT'", + "'ST_ENVELOPE'", "'ST_EQUALS'", "'ST_EXTERIORRING'", + "'ST_GEOMCOLLFROMTEXT'", "'ST_GEOMCOLLFROMTXT'", "'ST_GEOMCOLLFROMWKB'", + "'ST_GEOMETRYCOLLECTIONFROMTEXT'", "'ST_GEOMETRYCOLLECTIONFROMWKB'", + "'ST_GEOMETRYFROMTEXT'", "'ST_GEOMETRYFROMWKB'", "'ST_GEOMETRYN'", + "'ST_GEOMETRYTYPE'", "'ST_GEOMFROMTEXT'", "'ST_GEOMFROMWKB'", + "'ST_INTERIORRINGN'", "'ST_INTERSECTION'", "'ST_INTERSECTS'", + "'ST_ISCLOSED'", "'ST_ISEMPTY'", "'ST_ISSIMPLE'", "'ST_LINEFROMTEXT'", + "'ST_LINEFROMWKB'", "'ST_LINESTRINGFROMTEXT'", "'ST_LINESTRINGFROMWKB'", + "'ST_NUMGEOMETRIES'", "'ST_NUMINTERIORRING'", "'ST_NUMINTERIORRINGS'", + "'ST_NUMPOINTS'", "'ST_OVERLAPS'", "'ST_POINTFROMTEXT'", + "'ST_POINTFROMWKB'", "'ST_POINTN'", "'ST_POLYFROMTEXT'", + "'ST_POLYFROMWKB'", "'ST_POLYGONFROMTEXT'", "'ST_POLYGONFROMWKB'", + "'ST_SRID'", "'ST_STARTPOINT'", "'ST_SYMDIFFERENCE'", + "'ST_TOUCHES'", "'ST_UNION'", "'ST_WITHIN'", "'ST_X'", + "'ST_Y'", "'SUBDATE'", "'SUBSTRING_INDEX'", "'SUBTIME'", + "'SYSTEM_USER'", "'TAN'", "'TIMEDIFF'", "'TIMESTAMPADD'", + "'TIMESTAMPDIFF'", "'TIME_FORMAT'", "'TIME_TO_SEC'", + "'TOUCHES'", "'TO_BASE64'", "'TO_DAYS'", "'TO_SECONDS'", + "'UCASE'", "'UNCOMPRESS'", "'UNCOMPRESSED_LENGTH'", + "'UNHEX'", "'UNIX_TIMESTAMP'", "'UPDATEXML'", "'UPPER'", + "'UUID'", "'UUID_SHORT'", "'VALIDATE_PASSWORD_STRENGTH'", + "'VERSION'", "'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'", + "'WEEKDAY'", "'WEEKOFYEAR'", "'WEIGHT_STRING'", "'WITHIN'", + "'YEARWEEK'", "'Y'", "'X'", "':='", "'+='", "'-='", + "'*='", "'/='", "'%='", "'&='", "'^='", "'|='", "'*'", + "'/'", "'%'", "'+'", "'--'", "'-'", "'DIV'", "'MOD'", + "'='", "'>'", "'<'", "'!'", "'~'", "'|'", "'&'", "'^'", + "'.'", "'('", "')'", "','", "';'", "'@'", "'0'", "'1'", + "'2'", "'''", "'\"'", "'`'", "':'" ]; + +var symbolicNames = [ null, "SPACE", "SPEC_MYSQL_COMMENT", "COMMENT_INPUT", + "LINE_COMMENT", "ADD", "ALL", "ALTER", "ALWAYS", "ANALYZE", + "AND", "AS", "ASC", "BEFORE", "BETWEEN", "BOTH", "BY", + "CALL", "CASCADE", "CASE", "CAST", "CHANGE", "CHARACTER", + "CHECK", "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", + "CONTINUE", "CONVERT", "CREATE", "CROSS", "CURRENT", + "CURRENT_USER", "CURSOR", "DATABASE", "DATABASES", + "DECLARE", "DEFAULT", "DELAYED", "DELETE", "DESC", + "DESCRIBE", "DETERMINISTIC", "DIAGNOSTICS", "DISTINCT", + "DISTINCTROW", "DROP", "EACH", "ELSE", "ELSEIF", "ENCLOSED", + "ESCAPED", "EXISTS", "EXIT", "EXPLAIN", "FALSE", "FETCH", + "FOR", "FORCE", "FOREIGN", "FROM", "FULLTEXT", "GENERATED", + "GET", "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", + "IF", "IGNORE", "IN", "INDEX", "INFILE", "INNER", + "INOUT", "INSERT", "INTERVAL", "INTO", "IS", "ITERATE", + "JOIN", "KEY", "KEYS", "KILL", "LEADING", "LEAVE", + "LEFT", "LIKE", "LIMIT", "LINEAR", "LINES", "LOAD", + "LOCK", "LOOP", "LOW_PRIORITY", "MASTER_BIND", "MASTER_SSL_VERIFY_SERVER_CERT", + "MATCH", "MAXVALUE", "MODIFIES", "NATURAL", "NOT", + "NO_WRITE_TO_BINLOG", "NULL_LITERAL", "NUMBER", "ON", + "OPTIMIZE", "OPTION", "OPTIONALLY", "OR", "ORDER", + "OUT", "OUTER", "OUTFILE", "PARTITION", "PRIMARY", + "PROCEDURE", "PURGE", "RANGE", "READ", "READS", "REFERENCES", + "REGEXP", "RELEASE", "RENAME", "REPEAT", "REPLACE", + "REQUIRE", "RESIGNAL", "RESTRICT", "RETURN", "REVOKE", + "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SELECT", "SET", + "SEPARATOR", "SHOW", "SIGNAL", "SPATIAL", "SQL", "SQLEXCEPTION", + "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", + "SQL_SMALL_RESULT", "SSL", "STACKED", "STARTING", + "STRAIGHT_JOIN", "TABLE", "TERMINATED", "THEN", "TO", + "TRAILING", "TRIGGER", "TRUE", "UNDO", "UNION", "UNIQUE", + "UNLOCK", "UNSIGNED", "UPDATE", "USAGE", "USE", "USING", + "VALUES", "WHEN", "WHERE", "WHILE", "WITH", "WRITE", + "XOR", "ZEROFILL", "TINYINT", "SMALLINT", "MEDIUMINT", + "MIDDLEINT", "INT", "INT1", "INT2", "INT3", "INT4", + "INT8", "INTEGER", "BIGINT", "REAL", "DOUBLE", "PRECISION", + "FLOAT", "FLOAT4", "FLOAT8", "DECIMAL", "DEC", "NUMERIC", + "DATE", "TIME", "TIMESTAMP", "DATETIME", "YEAR", "CHAR", + "VARCHAR", "NVARCHAR", "NATIONAL", "BINARY", "VARBINARY", + "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONG", "LONGBLOB", + "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT", "ENUM", + "VARYING", "SERIAL", "YEAR_MONTH", "DAY_HOUR", "DAY_MINUTE", + "DAY_SECOND", "HOUR_MINUTE", "HOUR_SECOND", "MINUTE_SECOND", + "SECOND_MICROSECOND", "MINUTE_MICROSECOND", "HOUR_MICROSECOND", + "DAY_MICROSECOND", "JSON_VALID", "JSON_SCHEMA_VALID", + "AVG", "BIT_AND", "BIT_OR", "BIT_XOR", "COUNT", "GROUP_CONCAT", + "MAX", "MIN", "STD", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", + "SUM", "VAR_POP", "VAR_SAMP", "VARIANCE", "CURRENT_DATE", + "CURRENT_TIME", "CURRENT_TIMESTAMP", "LOCALTIME", + "CURDATE", "CURTIME", "DATE_ADD", "DATE_SUB", "EXTRACT", + "LOCALTIMESTAMP", "NOW", "POSITION", "SUBSTR", "SUBSTRING", + "SYSDATE", "TRIM", "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", + "ACCOUNT", "ACTION", "AFTER", "AGGREGATE", "ALGORITHM", + "ANY", "AT", "AUTHORS", "AUTOCOMMIT", "AUTOEXTEND_SIZE", + "AUTO_INCREMENT", "AVG_ROW_LENGTH", "BEGIN", "BINLOG", + "BIT", "BLOCK", "BOOL", "BOOLEAN", "BTREE", "CACHE", + "CASCADED", "CHAIN", "CHANGED", "CHANNEL", "CHECKSUM", + "PAGE_CHECKSUM", "CIPHER", "CLASS_ORIGIN", "CLIENT", + "CLOSE", "COALESCE", "CODE", "COLUMNS", "COLUMN_FORMAT", + "COLUMN_NAME", "COMMENT", "COMMIT", "COMPACT", "COMPLETION", + "COMPRESSED", "COMPRESSION", "CONCURRENT", "CONNECTION", + "CONSISTENT", "CONSTRAINT_CATALOG", "CONSTRAINT_SCHEMA", + "CONSTRAINT_NAME", "CONTAINS", "CONTEXT", "CONTRIBUTORS", + "COPY", "CPU", "CURSOR_NAME", "DATA", "DATAFILE", + "DEALLOCATE", "DEFAULT_AUTH", "DEFINER", "DELAY_KEY_WRITE", + "DES_KEY_FILE", "DIRECTORY", "DISABLE", "DISCARD", + "DISK", "DO", "DUMPFILE", "DUPLICATE", "DYNAMIC", + "ENABLE", "ENCRYPTION", "END", "ENDS", "ENGINE", "ENGINES", + "ERROR", "ERRORS", "ESCAPE", "EVEN", "EVENT", "EVENTS", + "EVERY", "EXCHANGE", "EXCLUSIVE", "EXPIRE", "EXPORT", + "EXTENDED", "EXTENT_SIZE", "FAST", "FAULTS", "FIELDS", + "FILE_BLOCK_SIZE", "FILTER", "FIRST", "FIXED", "FLUSH", + "FOLLOWS", "FOUND", "FULL", "FUNCTION", "GENERAL", + "GLOBAL", "GRANTS", "GROUP_REPLICATION", "HANDLER", + "HASH", "HELP", "HOST", "HOSTS", "IDENTIFIED", "IGNORE_SERVER_IDS", + "IMPORT", "INDEXES", "INITIAL_SIZE", "INPLACE", "INSERT_METHOD", + "INSTALL", "INSTANCE", "INVISIBLE", "INVOKER", "IO", + "IO_THREAD", "IPC", "ISOLATION", "ISSUER", "JSON", + "KEY_BLOCK_SIZE", "LANGUAGE", "LAST", "LEAVES", "LESS", + "LEVEL", "LIST", "LOCAL", "LOGFILE", "LOGS", "MASTER", + "MASTER_AUTO_POSITION", "MASTER_CONNECT_RETRY", "MASTER_DELAY", + "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", "MASTER_LOG_FILE", + "MASTER_LOG_POS", "MASTER_PASSWORD", "MASTER_PORT", + "MASTER_RETRY_COUNT", "MASTER_SSL", "MASTER_SSL_CA", + "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", "MASTER_SSL_CIPHER", + "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", "MASTER_SSL_KEY", + "MASTER_TLS_VERSION", "MASTER_USER", "MAX_CONNECTIONS_PER_HOUR", + "MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", + "MAX_USER_CONNECTIONS", "MEDIUM", "MERGE", "MESSAGE_TEXT", + "MID", "MIGRATE", "MIN_ROWS", "MODE", "MODIFY", "MUTEX", + "MYSQL", "MYSQL_ERRNO", "NAME", "NAMES", "NCHAR", + "NEVER", "NEXT", "NO", "NODEGROUP", "NONE", "OFFLINE", + "OFFSET", "OJ", "OLD_PASSWORD", "ONE", "ONLINE", "ONLY", + "OPEN", "OPTIMIZER_COSTS", "OPTIONS", "OWNER", "PACK_KEYS", + "PAGE", "PARSER", "PARTIAL", "PARTITIONING", "PARTITIONS", + "PASSWORD", "PHASE", "PLUGIN", "PLUGIN_DIR", "PLUGINS", + "PORT", "PRECEDES", "PREPARE", "PRESERVE", "PREV", + "PROCESSLIST", "PROFILE", "PROFILES", "PROXY", "QUERY", + "QUICK", "REBUILD", "RECOVER", "REDO_BUFFER_SIZE", + "REDUNDANT", "RELAY", "RELAY_LOG_FILE", "RELAY_LOG_POS", + "RELAYLOG", "REMOVE", "REORGANIZE", "REPAIR", "REPLICATE_DO_DB", + "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_DB", "REPLICATE_IGNORE_TABLE", + "REPLICATE_REWRITE_DB", "REPLICATE_WILD_DO_TABLE", + "REPLICATE_WILD_IGNORE_TABLE", "REPLICATION", "RESET", + "RESUME", "RETURNED_SQLSTATE", "RETURNS", "ROLE", + "ROLLBACK", "ROLLUP", "ROTATE", "ROW", "ROWS", "ROW_FORMAT", + "SAVEPOINT", "SCHEDULE", "SECURITY", "SERVER", "SESSION", + "SHARE", "SHARED", "SIGNED", "SIMPLE", "SLAVE", "SLOW", + "SNAPSHOT", "SOCKET", "SOME", "SONAME", "SOUNDS", + "SOURCE", "SQL_AFTER_GTIDS", "SQL_AFTER_MTS_GAPS", + "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", "SQL_CACHE", + "SQL_NO_CACHE", "SQL_THREAD", "START", "STARTS", "STATS_AUTO_RECALC", + "STATS_PERSISTENT", "STATS_SAMPLE_PAGES", "STATUS", + "STOP", "STORAGE", "STORED", "STRING", "SUBCLASS_ORIGIN", + "SUBJECT", "SUBPARTITION", "SUBPARTITIONS", "SUSPEND", + "SWAPS", "SWITCHES", "TABLE_NAME", "TABLESPACE", "TEMPORARY", + "TEMPTABLE", "THAN", "TRADITIONAL", "TRANSACTION", + "TRANSACTIONAL", "TRIGGERS", "TRUNCATE", "UNDEFINED", + "UNDOFILE", "UNDO_BUFFER_SIZE", "UNINSTALL", "UNKNOWN", + "UNTIL", "UPGRADE", "USER", "USE_FRM", "USER_RESOURCES", + "VALIDATION", "VALUE", "VARIABLES", "VIEW", "VIRTUAL", + "VISIBLE", "WAIT", "WARNINGS", "WITHOUT", "WORK", + "WRAPPER", "X509", "XA", "XML", "EUR", "USA", "JIS", + "ISO", "INTERNAL", "QUARTER", "MONTH", "DAY", "HOUR", + "MINUTE", "WEEK", "SECOND", "MICROSECOND", "TABLES", + "ROUTINE", "EXECUTE", "FILE", "PROCESS", "RELOAD", + "SHUTDOWN", "SUPER", "PRIVILEGES", "APPLICATION_PASSWORD_ADMIN", + "AUDIT_ADMIN", "BACKUP_ADMIN", "BINLOG_ADMIN", "BINLOG_ENCRYPTION_ADMIN", + "CLONE_ADMIN", "CONNECTION_ADMIN", "ENCRYPTION_KEY_ADMIN", + "FIREWALL_ADMIN", "FIREWALL_USER", "GROUP_REPLICATION_ADMIN", + "INNODB_REDO_LOG_ARCHIVE", "NDB_STORED_USER", "PERSIST_RO_VARIABLES_ADMIN", + "REPLICATION_APPLIER", "REPLICATION_SLAVE_ADMIN", + "RESOURCE_GROUP_ADMIN", "RESOURCE_GROUP_USER", "ROLE_ADMIN", + "SESSION_VARIABLES_ADMIN", "SET_USER_ID", "SHOW_ROUTINE", + "SYSTEM_VARIABLES_ADMIN", "TABLE_ENCRYPTION_ADMIN", + "VERSION_TOKEN_ADMIN", "XA_RECOVER_ADMIN", "ARMSCII8", + "ASCII", "BIG5", "CP1250", "CP1251", "CP1256", "CP1257", + "CP850", "CP852", "CP866", "CP932", "DEC8", "EUCJPMS", + "EUCKR", "GB2312", "GBK", "GEOSTD8", "GREEK", "HEBREW", + "HP8", "KEYBCS2", "KOI8R", "KOI8U", "LATIN1", "LATIN2", + "LATIN5", "LATIN7", "MACCE", "MACROMAN", "SJIS", "SWE7", + "TIS620", "UCS2", "UJIS", "UTF16", "UTF16LE", "UTF32", + "UTF8", "UTF8MB3", "UTF8MB4", "ARCHIVE", "BLACKHOLE", + "CSV", "FEDERATED", "INNODB", "MEMORY", "MRG_MYISAM", + "MYISAM", "NDB", "NDBCLUSTER", "PERFORMANCE_SCHEMA", + "TOKUDB", "REPEATABLE", "COMMITTED", "UNCOMMITTED", + "SERIALIZABLE", "GEOMETRYCOLLECTION", "GEOMCOLLECTION", + "GEOMETRY", "LINESTRING", "MULTILINESTRING", "MULTIPOINT", + "MULTIPOLYGON", "POINT", "POLYGON", "ABS", "ACOS", + "ADDDATE", "ADDTIME", "AES_DECRYPT", "AES_ENCRYPT", + "AREA", "ASBINARY", "ASIN", "ASTEXT", "ASWKB", "ASWKT", + "ASYMMETRIC_DECRYPT", "ASYMMETRIC_DERIVE", "ASYMMETRIC_ENCRYPT", + "ASYMMETRIC_SIGN", "ASYMMETRIC_VERIFY", "ATAN", "ATAN2", + "BENCHMARK", "BIN", "BIT_COUNT", "BIT_LENGTH", "BUFFER", + "CATALOG_NAME", "CEIL", "CEILING", "CENTROID", "CHARACTER_LENGTH", + "CHARSET", "CHAR_LENGTH", "COERCIBILITY", "COLLATION", + "COMPRESS", "CONCAT", "CONCAT_WS", "CONNECTION_ID", + "CONV", "CONVERT_TZ", "COS", "COT", "CRC32", "CREATE_ASYMMETRIC_PRIV_KEY", + "CREATE_ASYMMETRIC_PUB_KEY", "CREATE_DH_PARAMETERS", + "CREATE_DIGEST", "CROSSES", "DATEDIFF", "DATE_FORMAT", + "DAYNAME", "DAYOFMONTH", "DAYOFWEEK", "DAYOFYEAR", + "DECODE", "DEGREES", "DES_DECRYPT", "DES_ENCRYPT", + "DIMENSION", "DISJOINT", "ELT", "ENCODE", "ENCRYPT", + "ENDPOINT", "ENVELOPE", "EQUALS", "EXP", "EXPORT_SET", + "EXTERIORRING", "EXTRACTVALUE", "FIELD", "FIND_IN_SET", + "FLOOR", "FORMAT", "FOUND_ROWS", "FROM_BASE64", "FROM_DAYS", + "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", "GEOMCOLLFROMWKB", + "GEOMETRYCOLLECTIONFROMTEXT", "GEOMETRYCOLLECTIONFROMWKB", + "GEOMETRYFROMTEXT", "GEOMETRYFROMWKB", "GEOMETRYN", + "GEOMETRYTYPE", "GEOMFROMTEXT", "GEOMFROMWKB", "GET_FORMAT", + "GET_LOCK", "GLENGTH", "GREATEST", "GTID_SUBSET", + "GTID_SUBTRACT", "HEX", "IFNULL", "INET6_ATON", "INET6_NTOA", + "INET_ATON", "INET_NTOA", "INSTR", "INTERIORRINGN", + "INTERSECTS", "ISCLOSED", "ISEMPTY", "ISNULL", "ISSIMPLE", + "IS_FREE_LOCK", "IS_IPV4", "IS_IPV4_COMPAT", "IS_IPV4_MAPPED", + "IS_IPV6", "IS_USED_LOCK", "LAST_INSERT_ID", "LCASE", + "LEAST", "LENGTH", "LINEFROMTEXT", "LINEFROMWKB", + "LINESTRINGFROMTEXT", "LINESTRINGFROMWKB", "LN", "LOAD_FILE", + "LOCATE", "LOG", "LOG10", "LOG2", "LOWER", "LPAD", + "LTRIM", "MAKEDATE", "MAKETIME", "MAKE_SET", "MASTER_POS_WAIT", + "MBRCONTAINS", "MBRDISJOINT", "MBREQUAL", "MBRINTERSECTS", + "MBROVERLAPS", "MBRTOUCHES", "MBRWITHIN", "MD5", "MLINEFROMTEXT", + "MLINEFROMWKB", "MONTHNAME", "MPOINTFROMTEXT", "MPOINTFROMWKB", + "MPOLYFROMTEXT", "MPOLYFROMWKB", "MULTILINESTRINGFROMTEXT", + "MULTILINESTRINGFROMWKB", "MULTIPOINTFROMTEXT", "MULTIPOINTFROMWKB", + "MULTIPOLYGONFROMTEXT", "MULTIPOLYGONFROMWKB", "NAME_CONST", + "NULLIF", "NUMGEOMETRIES", "NUMINTERIORRINGS", "NUMPOINTS", + "OCT", "OCTET_LENGTH", "ORD", "OVERLAPS", "PERIOD_ADD", + "PERIOD_DIFF", "PI", "POINTFROMTEXT", "POINTFROMWKB", + "POINTN", "POLYFROMTEXT", "POLYFROMWKB", "POLYGONFROMTEXT", + "POLYGONFROMWKB", "POW", "POWER", "QUOTE", "RADIANS", + "RAND", "RANDOM_BYTES", "RELEASE_LOCK", "REVERSE", + "ROUND", "ROW_COUNT", "RPAD", "RTRIM", "SEC_TO_TIME", + "SESSION_USER", "SHA", "SHA1", "SHA2", "SCHEMA_NAME", + "SIGN", "SIN", "SLEEP", "SOUNDEX", "SQL_THREAD_WAIT_AFTER_GTIDS", + "SQRT", "SRID", "STARTPOINT", "STRCMP", "STR_TO_DATE", + "ST_AREA", "ST_ASBINARY", "ST_ASTEXT", "ST_ASWKB", + "ST_ASWKT", "ST_BUFFER", "ST_CENTROID", "ST_CONTAINS", + "ST_CROSSES", "ST_DIFFERENCE", "ST_DIMENSION", "ST_DISJOINT", + "ST_DISTANCE", "ST_ENDPOINT", "ST_ENVELOPE", "ST_EQUALS", + "ST_EXTERIORRING", "ST_GEOMCOLLFROMTEXT", "ST_GEOMCOLLFROMTXT", + "ST_GEOMCOLLFROMWKB", "ST_GEOMETRYCOLLECTIONFROMTEXT", + "ST_GEOMETRYCOLLECTIONFROMWKB", "ST_GEOMETRYFROMTEXT", + "ST_GEOMETRYFROMWKB", "ST_GEOMETRYN", "ST_GEOMETRYTYPE", + "ST_GEOMFROMTEXT", "ST_GEOMFROMWKB", "ST_INTERIORRINGN", + "ST_INTERSECTION", "ST_INTERSECTS", "ST_ISCLOSED", + "ST_ISEMPTY", "ST_ISSIMPLE", "ST_LINEFROMTEXT", "ST_LINEFROMWKB", + "ST_LINESTRINGFROMTEXT", "ST_LINESTRINGFROMWKB", "ST_NUMGEOMETRIES", + "ST_NUMINTERIORRING", "ST_NUMINTERIORRINGS", "ST_NUMPOINTS", + "ST_OVERLAPS", "ST_POINTFROMTEXT", "ST_POINTFROMWKB", + "ST_POINTN", "ST_POLYFROMTEXT", "ST_POLYFROMWKB", + "ST_POLYGONFROMTEXT", "ST_POLYGONFROMWKB", "ST_SRID", + "ST_STARTPOINT", "ST_SYMDIFFERENCE", "ST_TOUCHES", + "ST_UNION", "ST_WITHIN", "ST_X", "ST_Y", "SUBDATE", + "SUBSTRING_INDEX", "SUBTIME", "SYSTEM_USER", "TAN", + "TIMEDIFF", "TIMESTAMPADD", "TIMESTAMPDIFF", "TIME_FORMAT", + "TIME_TO_SEC", "TOUCHES", "TO_BASE64", "TO_DAYS", + "TO_SECONDS", "UCASE", "UNCOMPRESS", "UNCOMPRESSED_LENGTH", + "UNHEX", "UNIX_TIMESTAMP", "UPDATEXML", "UPPER", "UUID", + "UUID_SHORT", "VALIDATE_PASSWORD_STRENGTH", "VERSION", + "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", "WEEKDAY", "WEEKOFYEAR", + "WEIGHT_STRING", "WITHIN", "YEARWEEK", "Y_FUNCTION", + "X_FUNCTION", "VAR_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN", + "MULT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN", + "XOR_ASSIGN", "OR_ASSIGN", "STAR", "DIVIDE", "MODULE", + "PLUS", "MINUSMINUS", "MINUS", "DIV", "MOD", "EQUAL_SYMBOL", + "GREATER_SYMBOL", "LESS_SYMBOL", "EXCLAMATION_SYMBOL", + "BIT_NOT_OP", "BIT_OR_OP", "BIT_AND_OP", "BIT_XOR_OP", + "DOT", "LR_BRACKET", "RR_BRACKET", "COMMA", "SEMI", + "AT_SIGN", "ZERO_DECIMAL", "ONE_DECIMAL", "TWO_DECIMAL", + "SINGLE_QUOTE_SYMB", "DOUBLE_QUOTE_SYMB", "REVERSE_QUOTE_SYMB", + "COLON_SYMB", "CHARSET_REVERSE_QOUTE_STRING", "FILESIZE_LITERAL", + "START_NATIONAL_STRING_LITERAL", "STRING_LITERAL", + "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", "REAL_LITERAL", + "NULL_SPEC_LITERAL", "BIT_STRING", "STRING_CHARSET_NAME", + "DOT_ID", "ID", "REVERSE_QUOTE_ID", "STRING_USER_NAME", + "LOCAL_ID", "GLOBAL_ID", "ERROR_RECONGNIGION" ]; + +var ruleNames = [ "program", "statement", "sqlStatements", "sqlStatement", + "emptyStatement", "ddlStatement", "dmlStatement", "transactionStatement", + "replicationStatement", "preparedStatement", "compoundStatement", + "administrationStatement", "utilityStatement", "createDatabase", + "createEvent", "createIndex", "createLogfileGroup", "createProcedure", + "createFunction", "createServer", "createTable", "createTablespaceInnodb", + "createTablespaceNdb", "createTrigger", "createView", + "createDatabaseOption", "ownerStatement", "scheduleExpression", + "timestampValue", "intervalExpr", "intervalType", "enableType", + "indexType", "indexOption", "procedureParameter", "functionParameter", + "routineOption", "serverOption", "createDefinitions", + "createDefinition", "columnDefinition", "columnConstraint", + "tableConstraint", "referenceDefinition", "referenceAction", + "referenceControlType", "indexColumnDefinition", "tableOption", + "tablespaceStorage", "partitionDefinitions", "partitionFunctionDefinition", + "subpartitionFunctionDefinition", "partitionDefinition", + "partitionDefinerAtom", "partitionDefinerVector", "subpartitionDefinition", + "partitionOption", "alterDatabase", "alterEvent", "alterFunction", + "alterInstance", "alterLogfileGroup", "alterProcedure", + "alterServer", "alterTable", "alterTablespace", "alterView", + "alterSpecification", "dropDatabase", "dropEvent", "dropIndex", + "dropLogfileGroup", "dropProcedure", "dropFunction", + "dropServer", "dropTable", "dropTablespace", "dropTrigger", + "dropView", "renameTable", "renameTableClause", "truncateTable", + "callStatement", "deleteStatement", "doStatement", "handlerStatement", + "insertStatement", "loadDataStatement", "loadXmlStatement", + "replaceStatement", "selectStatement", "updateStatement", + "insertStatementValue", "updatedElement", "assignmentField", + "lockClause", "singleDeleteStatement", "multipleDeleteStatement", + "handlerOpenStatement", "handlerReadIndexStatement", + "handlerReadStatement", "handlerCloseStatement", "singleUpdateStatement", + "multipleUpdateStatement", "orderByClause", "orderByExpression", + "tableSources", "tableSource", "tableSourceItem", "indexHint", + "indexHintType", "joinPart", "queryExpression", "queryExpressionNointo", + "querySpecification", "querySpecificationNointo", "unionParenthesis", + "unionStatement", "selectSpec", "selectElements", "selectElement", + "selectIntoExpression", "selectFieldsInto", "selectLinesInto", + "fromClause", "groupByItem", "limitClause", "limitClauseAtom", + "startTransaction", "beginWork", "commitWork", "rollbackWork", + "savepointStatement", "rollbackStatement", "releaseStatement", + "lockTables", "unlockTables", "setAutocommitStatement", + "setTransactionStatement", "transactionMode", "lockTableElement", + "lockAction", "transactionOption", "transactionLevel", + "changeMaster", "changeReplicationFilter", "purgeBinaryLogs", + "resetMaster", "resetSlave", "startSlave", "stopSlave", + "startGroupReplication", "stopGroupReplication", "masterOption", + "stringMasterOption", "decimalMasterOption", "boolMasterOption", + "channelOption", "replicationFilter", "tablePair", "threadType", + "untilOption", "connectionOption", "gtuidSet", "xaStartTransaction", + "xaEndTransaction", "xaPrepareStatement", "xaCommitWork", + "xaRollbackWork", "xaRecoverWork", "prepareStatement", + "executeStatement", "deallocatePrepare", "routineBody", + "blockStatement", "caseStatement", "ifStatement", "iterateStatement", + "leaveStatement", "loopStatement", "repeatStatement", + "returnStatement", "whileStatement", "cursorStatement", + "declareVariable", "declareCondition", "declareCursor", + "declareHandler", "handlerConditionValue", "procedureSqlStatement", + "caseAlternative", "elifAlternative", "alterUser", "createUser", + "dropUser", "grantStatement", "grantProxy", "renameUser", + "revokeStatement", "revokeProxy", "setPasswordStatement", + "userSpecification", "userAuthOption", "tlsOption", "userResourceOption", + "userPasswordOption", "userLockOption", "privelegeClause", + "privilege", "privilegeLevel", "renameUserClause", "analyzeTable", + "checkTable", "checksumTable", "optimizeTable", "repairTable", + "checkTableOption", "createUdfunction", "installPlugin", + "uninstallPlugin", "setStatement", "showStatement", "variableClause", + "showCommonEntity", "showFilter", "showGlobalInfoClause", + "showSchemaEntity", "showProfileType", "binlogStatement", + "cacheIndexStatement", "flushStatement", "killStatement", + "loadIndexIntoCache", "resetStatement", "shutdownStatement", + "tableIndexes", "flushOption", "flushTableOption", "loadedTableIndexes", + "simpleDescribeStatement", "fullDescribeStatement", "helpStatement", + "useStatement", "signalStatement", "resignalStatement", + "signalConditionInformation", "diagnosticsStatement", + "diagnosticsConditionInformationName", "describeObjectClause", + "fullId", "tableName", "fullColumnName", "indexColumnName", + "userName", "mysqlVariable", "charsetName", "collationName", + "engineName", "uuidSet", "xid", "xuidStringId", "authPlugin", + "uid", "simpleId", "dottedId", "decimalLiteral", "fileSizeLiteral", + "stringLiteral", "booleanLiteral", "hexadecimalLiteral", + "nullNotnull", "constant", "dataType", "collectionOptions", + "convertedDataType", "lengthOneDimension", "lengthTwoDimension", + "lengthTwoOptionalDimension", "uidList", "tables", "indexColumnNames", + "expressions", "expressionsWithDefaults", "constants", + "simpleStrings", "userVariables", "defaultValue", "currentTimestamp", + "expressionOrDefault", "ifExists", "ifNotExists", "functionCall", + "specificFunction", "caseFuncAlternative", "levelsInWeightString", + "levelInWeightListElement", "aggregateWindowedFunction", + "scalarFunctionName", "passwordFunctionClause", "functionArgs", + "functionArg", "expression", "predicate", "expressionAtom", + "unaryOperator", "comparisonOperator", "logicalOperator", + "bitOperator", "mathOperator", "charsetNameBase", "transactionLevelBase", + "privilegesBase", "intervalTypeBase", "dataTypeBase", + "keywordsCanBeId", "functionNameBase" ]; + +function SqlParser (input) { + antlr4.Parser.call(this, input); + this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache); + this.ruleNames = ruleNames; + this.literalNames = literalNames; + this.symbolicNames = symbolicNames; + return this; +} + +SqlParser.prototype = Object.create(antlr4.Parser.prototype); +SqlParser.prototype.constructor = SqlParser; + +Object.defineProperty(SqlParser.prototype, "atn", { + get : function() { + return atn; + } +}); + +SqlParser.EOF = antlr4.Token.EOF; +SqlParser.SPACE = 1; +SqlParser.SPEC_MYSQL_COMMENT = 2; +SqlParser.COMMENT_INPUT = 3; +SqlParser.LINE_COMMENT = 4; +SqlParser.ADD = 5; +SqlParser.ALL = 6; +SqlParser.ALTER = 7; +SqlParser.ALWAYS = 8; +SqlParser.ANALYZE = 9; +SqlParser.AND = 10; +SqlParser.AS = 11; +SqlParser.ASC = 12; +SqlParser.BEFORE = 13; +SqlParser.BETWEEN = 14; +SqlParser.BOTH = 15; +SqlParser.BY = 16; +SqlParser.CALL = 17; +SqlParser.CASCADE = 18; +SqlParser.CASE = 19; +SqlParser.CAST = 20; +SqlParser.CHANGE = 21; +SqlParser.CHARACTER = 22; +SqlParser.CHECK = 23; +SqlParser.COLLATE = 24; +SqlParser.COLUMN = 25; +SqlParser.CONDITION = 26; +SqlParser.CONSTRAINT = 27; +SqlParser.CONTINUE = 28; +SqlParser.CONVERT = 29; +SqlParser.CREATE = 30; +SqlParser.CROSS = 31; +SqlParser.CURRENT = 32; +SqlParser.CURRENT_USER = 33; +SqlParser.CURSOR = 34; +SqlParser.DATABASE = 35; +SqlParser.DATABASES = 36; +SqlParser.DECLARE = 37; +SqlParser.DEFAULT = 38; +SqlParser.DELAYED = 39; +SqlParser.DELETE = 40; +SqlParser.DESC = 41; +SqlParser.DESCRIBE = 42; +SqlParser.DETERMINISTIC = 43; +SqlParser.DIAGNOSTICS = 44; +SqlParser.DISTINCT = 45; +SqlParser.DISTINCTROW = 46; +SqlParser.DROP = 47; +SqlParser.EACH = 48; +SqlParser.ELSE = 49; +SqlParser.ELSEIF = 50; +SqlParser.ENCLOSED = 51; +SqlParser.ESCAPED = 52; +SqlParser.EXISTS = 53; +SqlParser.EXIT = 54; +SqlParser.EXPLAIN = 55; +SqlParser.FALSE = 56; +SqlParser.FETCH = 57; +SqlParser.FOR = 58; +SqlParser.FORCE = 59; +SqlParser.FOREIGN = 60; +SqlParser.FROM = 61; +SqlParser.FULLTEXT = 62; +SqlParser.GENERATED = 63; +SqlParser.GET = 64; +SqlParser.GRANT = 65; +SqlParser.GROUP = 66; +SqlParser.HAVING = 67; +SqlParser.HIGH_PRIORITY = 68; +SqlParser.IF = 69; +SqlParser.IGNORE = 70; +SqlParser.IN = 71; +SqlParser.INDEX = 72; +SqlParser.INFILE = 73; +SqlParser.INNER = 74; +SqlParser.INOUT = 75; +SqlParser.INSERT = 76; +SqlParser.INTERVAL = 77; +SqlParser.INTO = 78; +SqlParser.IS = 79; +SqlParser.ITERATE = 80; +SqlParser.JOIN = 81; +SqlParser.KEY = 82; +SqlParser.KEYS = 83; +SqlParser.KILL = 84; +SqlParser.LEADING = 85; +SqlParser.LEAVE = 86; +SqlParser.LEFT = 87; +SqlParser.LIKE = 88; +SqlParser.LIMIT = 89; +SqlParser.LINEAR = 90; +SqlParser.LINES = 91; +SqlParser.LOAD = 92; +SqlParser.LOCK = 93; +SqlParser.LOOP = 94; +SqlParser.LOW_PRIORITY = 95; +SqlParser.MASTER_BIND = 96; +SqlParser.MASTER_SSL_VERIFY_SERVER_CERT = 97; +SqlParser.MATCH = 98; +SqlParser.MAXVALUE = 99; +SqlParser.MODIFIES = 100; +SqlParser.NATURAL = 101; +SqlParser.NOT = 102; +SqlParser.NO_WRITE_TO_BINLOG = 103; +SqlParser.NULL_LITERAL = 104; +SqlParser.NUMBER = 105; +SqlParser.ON = 106; +SqlParser.OPTIMIZE = 107; +SqlParser.OPTION = 108; +SqlParser.OPTIONALLY = 109; +SqlParser.OR = 110; +SqlParser.ORDER = 111; +SqlParser.OUT = 112; +SqlParser.OUTER = 113; +SqlParser.OUTFILE = 114; +SqlParser.PARTITION = 115; +SqlParser.PRIMARY = 116; +SqlParser.PROCEDURE = 117; +SqlParser.PURGE = 118; +SqlParser.RANGE = 119; +SqlParser.READ = 120; +SqlParser.READS = 121; +SqlParser.REFERENCES = 122; +SqlParser.REGEXP = 123; +SqlParser.RELEASE = 124; +SqlParser.RENAME = 125; +SqlParser.REPEAT = 126; +SqlParser.REPLACE = 127; +SqlParser.REQUIRE = 128; +SqlParser.RESIGNAL = 129; +SqlParser.RESTRICT = 130; +SqlParser.RETURN = 131; +SqlParser.REVOKE = 132; +SqlParser.RIGHT = 133; +SqlParser.RLIKE = 134; +SqlParser.SCHEMA = 135; +SqlParser.SCHEMAS = 136; +SqlParser.SELECT = 137; +SqlParser.SET = 138; +SqlParser.SEPARATOR = 139; +SqlParser.SHOW = 140; +SqlParser.SIGNAL = 141; +SqlParser.SPATIAL = 142; +SqlParser.SQL = 143; +SqlParser.SQLEXCEPTION = 144; +SqlParser.SQLSTATE = 145; +SqlParser.SQLWARNING = 146; +SqlParser.SQL_BIG_RESULT = 147; +SqlParser.SQL_CALC_FOUND_ROWS = 148; +SqlParser.SQL_SMALL_RESULT = 149; +SqlParser.SSL = 150; +SqlParser.STACKED = 151; +SqlParser.STARTING = 152; +SqlParser.STRAIGHT_JOIN = 153; +SqlParser.TABLE = 154; +SqlParser.TERMINATED = 155; +SqlParser.THEN = 156; +SqlParser.TO = 157; +SqlParser.TRAILING = 158; +SqlParser.TRIGGER = 159; +SqlParser.TRUE = 160; +SqlParser.UNDO = 161; +SqlParser.UNION = 162; +SqlParser.UNIQUE = 163; +SqlParser.UNLOCK = 164; +SqlParser.UNSIGNED = 165; +SqlParser.UPDATE = 166; +SqlParser.USAGE = 167; +SqlParser.USE = 168; +SqlParser.USING = 169; +SqlParser.VALUES = 170; +SqlParser.WHEN = 171; +SqlParser.WHERE = 172; +SqlParser.WHILE = 173; +SqlParser.WITH = 174; +SqlParser.WRITE = 175; +SqlParser.XOR = 176; +SqlParser.ZEROFILL = 177; +SqlParser.TINYINT = 178; +SqlParser.SMALLINT = 179; +SqlParser.MEDIUMINT = 180; +SqlParser.MIDDLEINT = 181; +SqlParser.INT = 182; +SqlParser.INT1 = 183; +SqlParser.INT2 = 184; +SqlParser.INT3 = 185; +SqlParser.INT4 = 186; +SqlParser.INT8 = 187; +SqlParser.INTEGER = 188; +SqlParser.BIGINT = 189; +SqlParser.REAL = 190; +SqlParser.DOUBLE = 191; +SqlParser.PRECISION = 192; +SqlParser.FLOAT = 193; +SqlParser.FLOAT4 = 194; +SqlParser.FLOAT8 = 195; +SqlParser.DECIMAL = 196; +SqlParser.DEC = 197; +SqlParser.NUMERIC = 198; +SqlParser.DATE = 199; +SqlParser.TIME = 200; +SqlParser.TIMESTAMP = 201; +SqlParser.DATETIME = 202; +SqlParser.YEAR = 203; +SqlParser.CHAR = 204; +SqlParser.VARCHAR = 205; +SqlParser.NVARCHAR = 206; +SqlParser.NATIONAL = 207; +SqlParser.BINARY = 208; +SqlParser.VARBINARY = 209; +SqlParser.TINYBLOB = 210; +SqlParser.BLOB = 211; +SqlParser.MEDIUMBLOB = 212; +SqlParser.LONG = 213; +SqlParser.LONGBLOB = 214; +SqlParser.TINYTEXT = 215; +SqlParser.TEXT = 216; +SqlParser.MEDIUMTEXT = 217; +SqlParser.LONGTEXT = 218; +SqlParser.ENUM = 219; +SqlParser.VARYING = 220; +SqlParser.SERIAL = 221; +SqlParser.YEAR_MONTH = 222; +SqlParser.DAY_HOUR = 223; +SqlParser.DAY_MINUTE = 224; +SqlParser.DAY_SECOND = 225; +SqlParser.HOUR_MINUTE = 226; +SqlParser.HOUR_SECOND = 227; +SqlParser.MINUTE_SECOND = 228; +SqlParser.SECOND_MICROSECOND = 229; +SqlParser.MINUTE_MICROSECOND = 230; +SqlParser.HOUR_MICROSECOND = 231; +SqlParser.DAY_MICROSECOND = 232; +SqlParser.JSON_VALID = 233; +SqlParser.JSON_SCHEMA_VALID = 234; +SqlParser.AVG = 235; +SqlParser.BIT_AND = 236; +SqlParser.BIT_OR = 237; +SqlParser.BIT_XOR = 238; +SqlParser.COUNT = 239; +SqlParser.GROUP_CONCAT = 240; +SqlParser.MAX = 241; +SqlParser.MIN = 242; +SqlParser.STD = 243; +SqlParser.STDDEV = 244; +SqlParser.STDDEV_POP = 245; +SqlParser.STDDEV_SAMP = 246; +SqlParser.SUM = 247; +SqlParser.VAR_POP = 248; +SqlParser.VAR_SAMP = 249; +SqlParser.VARIANCE = 250; +SqlParser.CURRENT_DATE = 251; +SqlParser.CURRENT_TIME = 252; +SqlParser.CURRENT_TIMESTAMP = 253; +SqlParser.LOCALTIME = 254; +SqlParser.CURDATE = 255; +SqlParser.CURTIME = 256; +SqlParser.DATE_ADD = 257; +SqlParser.DATE_SUB = 258; +SqlParser.EXTRACT = 259; +SqlParser.LOCALTIMESTAMP = 260; +SqlParser.NOW = 261; +SqlParser.POSITION = 262; +SqlParser.SUBSTR = 263; +SqlParser.SUBSTRING = 264; +SqlParser.SYSDATE = 265; +SqlParser.TRIM = 266; +SqlParser.UTC_DATE = 267; +SqlParser.UTC_TIME = 268; +SqlParser.UTC_TIMESTAMP = 269; +SqlParser.ACCOUNT = 270; +SqlParser.ACTION = 271; +SqlParser.AFTER = 272; +SqlParser.AGGREGATE = 273; +SqlParser.ALGORITHM = 274; +SqlParser.ANY = 275; +SqlParser.AT = 276; +SqlParser.AUTHORS = 277; +SqlParser.AUTOCOMMIT = 278; +SqlParser.AUTOEXTEND_SIZE = 279; +SqlParser.AUTO_INCREMENT = 280; +SqlParser.AVG_ROW_LENGTH = 281; +SqlParser.BEGIN = 282; +SqlParser.BINLOG = 283; +SqlParser.BIT = 284; +SqlParser.BLOCK = 285; +SqlParser.BOOL = 286; +SqlParser.BOOLEAN = 287; +SqlParser.BTREE = 288; +SqlParser.CACHE = 289; +SqlParser.CASCADED = 290; +SqlParser.CHAIN = 291; +SqlParser.CHANGED = 292; +SqlParser.CHANNEL = 293; +SqlParser.CHECKSUM = 294; +SqlParser.PAGE_CHECKSUM = 295; +SqlParser.CIPHER = 296; +SqlParser.CLASS_ORIGIN = 297; +SqlParser.CLIENT = 298; +SqlParser.CLOSE = 299; +SqlParser.COALESCE = 300; +SqlParser.CODE = 301; +SqlParser.COLUMNS = 302; +SqlParser.COLUMN_FORMAT = 303; +SqlParser.COLUMN_NAME = 304; +SqlParser.COMMENT = 305; +SqlParser.COMMIT = 306; +SqlParser.COMPACT = 307; +SqlParser.COMPLETION = 308; +SqlParser.COMPRESSED = 309; +SqlParser.COMPRESSION = 310; +SqlParser.CONCURRENT = 311; +SqlParser.CONNECTION = 312; +SqlParser.CONSISTENT = 313; +SqlParser.CONSTRAINT_CATALOG = 314; +SqlParser.CONSTRAINT_SCHEMA = 315; +SqlParser.CONSTRAINT_NAME = 316; +SqlParser.CONTAINS = 317; +SqlParser.CONTEXT = 318; +SqlParser.CONTRIBUTORS = 319; +SqlParser.COPY = 320; +SqlParser.CPU = 321; +SqlParser.CURSOR_NAME = 322; +SqlParser.DATA = 323; +SqlParser.DATAFILE = 324; +SqlParser.DEALLOCATE = 325; +SqlParser.DEFAULT_AUTH = 326; +SqlParser.DEFINER = 327; +SqlParser.DELAY_KEY_WRITE = 328; +SqlParser.DES_KEY_FILE = 329; +SqlParser.DIRECTORY = 330; +SqlParser.DISABLE = 331; +SqlParser.DISCARD = 332; +SqlParser.DISK = 333; +SqlParser.DO = 334; +SqlParser.DUMPFILE = 335; +SqlParser.DUPLICATE = 336; +SqlParser.DYNAMIC = 337; +SqlParser.ENABLE = 338; +SqlParser.ENCRYPTION = 339; +SqlParser.END = 340; +SqlParser.ENDS = 341; +SqlParser.ENGINE = 342; +SqlParser.ENGINES = 343; +SqlParser.ERROR = 344; +SqlParser.ERRORS = 345; +SqlParser.ESCAPE = 346; +SqlParser.EVEN = 347; +SqlParser.EVENT = 348; +SqlParser.EVENTS = 349; +SqlParser.EVERY = 350; +SqlParser.EXCHANGE = 351; +SqlParser.EXCLUSIVE = 352; +SqlParser.EXPIRE = 353; +SqlParser.EXPORT = 354; +SqlParser.EXTENDED = 355; +SqlParser.EXTENT_SIZE = 356; +SqlParser.FAST = 357; +SqlParser.FAULTS = 358; +SqlParser.FIELDS = 359; +SqlParser.FILE_BLOCK_SIZE = 360; +SqlParser.FILTER = 361; +SqlParser.FIRST = 362; +SqlParser.FIXED = 363; +SqlParser.FLUSH = 364; +SqlParser.FOLLOWS = 365; +SqlParser.FOUND = 366; +SqlParser.FULL = 367; +SqlParser.FUNCTION = 368; +SqlParser.GENERAL = 369; +SqlParser.GLOBAL = 370; +SqlParser.GRANTS = 371; +SqlParser.GROUP_REPLICATION = 372; +SqlParser.HANDLER = 373; +SqlParser.HASH = 374; +SqlParser.HELP = 375; +SqlParser.HOST = 376; +SqlParser.HOSTS = 377; +SqlParser.IDENTIFIED = 378; +SqlParser.IGNORE_SERVER_IDS = 379; +SqlParser.IMPORT = 380; +SqlParser.INDEXES = 381; +SqlParser.INITIAL_SIZE = 382; +SqlParser.INPLACE = 383; +SqlParser.INSERT_METHOD = 384; +SqlParser.INSTALL = 385; +SqlParser.INSTANCE = 386; +SqlParser.INVISIBLE = 387; +SqlParser.INVOKER = 388; +SqlParser.IO = 389; +SqlParser.IO_THREAD = 390; +SqlParser.IPC = 391; +SqlParser.ISOLATION = 392; +SqlParser.ISSUER = 393; +SqlParser.JSON = 394; +SqlParser.KEY_BLOCK_SIZE = 395; +SqlParser.LANGUAGE = 396; +SqlParser.LAST = 397; +SqlParser.LEAVES = 398; +SqlParser.LESS = 399; +SqlParser.LEVEL = 400; +SqlParser.LIST = 401; +SqlParser.LOCAL = 402; +SqlParser.LOGFILE = 403; +SqlParser.LOGS = 404; +SqlParser.MASTER = 405; +SqlParser.MASTER_AUTO_POSITION = 406; +SqlParser.MASTER_CONNECT_RETRY = 407; +SqlParser.MASTER_DELAY = 408; +SqlParser.MASTER_HEARTBEAT_PERIOD = 409; +SqlParser.MASTER_HOST = 410; +SqlParser.MASTER_LOG_FILE = 411; +SqlParser.MASTER_LOG_POS = 412; +SqlParser.MASTER_PASSWORD = 413; +SqlParser.MASTER_PORT = 414; +SqlParser.MASTER_RETRY_COUNT = 415; +SqlParser.MASTER_SSL = 416; +SqlParser.MASTER_SSL_CA = 417; +SqlParser.MASTER_SSL_CAPATH = 418; +SqlParser.MASTER_SSL_CERT = 419; +SqlParser.MASTER_SSL_CIPHER = 420; +SqlParser.MASTER_SSL_CRL = 421; +SqlParser.MASTER_SSL_CRLPATH = 422; +SqlParser.MASTER_SSL_KEY = 423; +SqlParser.MASTER_TLS_VERSION = 424; +SqlParser.MASTER_USER = 425; +SqlParser.MAX_CONNECTIONS_PER_HOUR = 426; +SqlParser.MAX_QUERIES_PER_HOUR = 427; +SqlParser.MAX_ROWS = 428; +SqlParser.MAX_SIZE = 429; +SqlParser.MAX_UPDATES_PER_HOUR = 430; +SqlParser.MAX_USER_CONNECTIONS = 431; +SqlParser.MEDIUM = 432; +SqlParser.MERGE = 433; +SqlParser.MESSAGE_TEXT = 434; +SqlParser.MID = 435; +SqlParser.MIGRATE = 436; +SqlParser.MIN_ROWS = 437; +SqlParser.MODE = 438; +SqlParser.MODIFY = 439; +SqlParser.MUTEX = 440; +SqlParser.MYSQL = 441; +SqlParser.MYSQL_ERRNO = 442; +SqlParser.NAME = 443; +SqlParser.NAMES = 444; +SqlParser.NCHAR = 445; +SqlParser.NEVER = 446; +SqlParser.NEXT = 447; +SqlParser.NO = 448; +SqlParser.NODEGROUP = 449; +SqlParser.NONE = 450; +SqlParser.OFFLINE = 451; +SqlParser.OFFSET = 452; +SqlParser.OJ = 453; +SqlParser.OLD_PASSWORD = 454; +SqlParser.ONE = 455; +SqlParser.ONLINE = 456; +SqlParser.ONLY = 457; +SqlParser.OPEN = 458; +SqlParser.OPTIMIZER_COSTS = 459; +SqlParser.OPTIONS = 460; +SqlParser.OWNER = 461; +SqlParser.PACK_KEYS = 462; +SqlParser.PAGE = 463; +SqlParser.PARSER = 464; +SqlParser.PARTIAL = 465; +SqlParser.PARTITIONING = 466; +SqlParser.PARTITIONS = 467; +SqlParser.PASSWORD = 468; +SqlParser.PHASE = 469; +SqlParser.PLUGIN = 470; +SqlParser.PLUGIN_DIR = 471; +SqlParser.PLUGINS = 472; +SqlParser.PORT = 473; +SqlParser.PRECEDES = 474; +SqlParser.PREPARE = 475; +SqlParser.PRESERVE = 476; +SqlParser.PREV = 477; +SqlParser.PROCESSLIST = 478; +SqlParser.PROFILE = 479; +SqlParser.PROFILES = 480; +SqlParser.PROXY = 481; +SqlParser.QUERY = 482; +SqlParser.QUICK = 483; +SqlParser.REBUILD = 484; +SqlParser.RECOVER = 485; +SqlParser.REDO_BUFFER_SIZE = 486; +SqlParser.REDUNDANT = 487; +SqlParser.RELAY = 488; +SqlParser.RELAY_LOG_FILE = 489; +SqlParser.RELAY_LOG_POS = 490; +SqlParser.RELAYLOG = 491; +SqlParser.REMOVE = 492; +SqlParser.REORGANIZE = 493; +SqlParser.REPAIR = 494; +SqlParser.REPLICATE_DO_DB = 495; +SqlParser.REPLICATE_DO_TABLE = 496; +SqlParser.REPLICATE_IGNORE_DB = 497; +SqlParser.REPLICATE_IGNORE_TABLE = 498; +SqlParser.REPLICATE_REWRITE_DB = 499; +SqlParser.REPLICATE_WILD_DO_TABLE = 500; +SqlParser.REPLICATE_WILD_IGNORE_TABLE = 501; +SqlParser.REPLICATION = 502; +SqlParser.RESET = 503; +SqlParser.RESUME = 504; +SqlParser.RETURNED_SQLSTATE = 505; +SqlParser.RETURNS = 506; +SqlParser.ROLE = 507; +SqlParser.ROLLBACK = 508; +SqlParser.ROLLUP = 509; +SqlParser.ROTATE = 510; +SqlParser.ROW = 511; +SqlParser.ROWS = 512; +SqlParser.ROW_FORMAT = 513; +SqlParser.SAVEPOINT = 514; +SqlParser.SCHEDULE = 515; +SqlParser.SECURITY = 516; +SqlParser.SERVER = 517; +SqlParser.SESSION = 518; +SqlParser.SHARE = 519; +SqlParser.SHARED = 520; +SqlParser.SIGNED = 521; +SqlParser.SIMPLE = 522; +SqlParser.SLAVE = 523; +SqlParser.SLOW = 524; +SqlParser.SNAPSHOT = 525; +SqlParser.SOCKET = 526; +SqlParser.SOME = 527; +SqlParser.SONAME = 528; +SqlParser.SOUNDS = 529; +SqlParser.SOURCE = 530; +SqlParser.SQL_AFTER_GTIDS = 531; +SqlParser.SQL_AFTER_MTS_GAPS = 532; +SqlParser.SQL_BEFORE_GTIDS = 533; +SqlParser.SQL_BUFFER_RESULT = 534; +SqlParser.SQL_CACHE = 535; +SqlParser.SQL_NO_CACHE = 536; +SqlParser.SQL_THREAD = 537; +SqlParser.START = 538; +SqlParser.STARTS = 539; +SqlParser.STATS_AUTO_RECALC = 540; +SqlParser.STATS_PERSISTENT = 541; +SqlParser.STATS_SAMPLE_PAGES = 542; +SqlParser.STATUS = 543; +SqlParser.STOP = 544; +SqlParser.STORAGE = 545; +SqlParser.STORED = 546; +SqlParser.STRING = 547; +SqlParser.SUBCLASS_ORIGIN = 548; +SqlParser.SUBJECT = 549; +SqlParser.SUBPARTITION = 550; +SqlParser.SUBPARTITIONS = 551; +SqlParser.SUSPEND = 552; +SqlParser.SWAPS = 553; +SqlParser.SWITCHES = 554; +SqlParser.TABLE_NAME = 555; +SqlParser.TABLESPACE = 556; +SqlParser.TEMPORARY = 557; +SqlParser.TEMPTABLE = 558; +SqlParser.THAN = 559; +SqlParser.TRADITIONAL = 560; +SqlParser.TRANSACTION = 561; +SqlParser.TRANSACTIONAL = 562; +SqlParser.TRIGGERS = 563; +SqlParser.TRUNCATE = 564; +SqlParser.UNDEFINED = 565; +SqlParser.UNDOFILE = 566; +SqlParser.UNDO_BUFFER_SIZE = 567; +SqlParser.UNINSTALL = 568; +SqlParser.UNKNOWN = 569; +SqlParser.UNTIL = 570; +SqlParser.UPGRADE = 571; +SqlParser.USER = 572; +SqlParser.USE_FRM = 573; +SqlParser.USER_RESOURCES = 574; +SqlParser.VALIDATION = 575; +SqlParser.VALUE = 576; +SqlParser.VARIABLES = 577; +SqlParser.VIEW = 578; +SqlParser.VIRTUAL = 579; +SqlParser.VISIBLE = 580; +SqlParser.WAIT = 581; +SqlParser.WARNINGS = 582; +SqlParser.WITHOUT = 583; +SqlParser.WORK = 584; +SqlParser.WRAPPER = 585; +SqlParser.X509 = 586; +SqlParser.XA = 587; +SqlParser.XML = 588; +SqlParser.EUR = 589; +SqlParser.USA = 590; +SqlParser.JIS = 591; +SqlParser.ISO = 592; +SqlParser.INTERNAL = 593; +SqlParser.QUARTER = 594; +SqlParser.MONTH = 595; +SqlParser.DAY = 596; +SqlParser.HOUR = 597; +SqlParser.MINUTE = 598; +SqlParser.WEEK = 599; +SqlParser.SECOND = 600; +SqlParser.MICROSECOND = 601; +SqlParser.TABLES = 602; +SqlParser.ROUTINE = 603; +SqlParser.EXECUTE = 604; +SqlParser.FILE = 605; +SqlParser.PROCESS = 606; +SqlParser.RELOAD = 607; +SqlParser.SHUTDOWN = 608; +SqlParser.SUPER = 609; +SqlParser.PRIVILEGES = 610; +SqlParser.APPLICATION_PASSWORD_ADMIN = 611; +SqlParser.AUDIT_ADMIN = 612; +SqlParser.BACKUP_ADMIN = 613; +SqlParser.BINLOG_ADMIN = 614; +SqlParser.BINLOG_ENCRYPTION_ADMIN = 615; +SqlParser.CLONE_ADMIN = 616; +SqlParser.CONNECTION_ADMIN = 617; +SqlParser.ENCRYPTION_KEY_ADMIN = 618; +SqlParser.FIREWALL_ADMIN = 619; +SqlParser.FIREWALL_USER = 620; +SqlParser.GROUP_REPLICATION_ADMIN = 621; +SqlParser.INNODB_REDO_LOG_ARCHIVE = 622; +SqlParser.NDB_STORED_USER = 623; +SqlParser.PERSIST_RO_VARIABLES_ADMIN = 624; +SqlParser.REPLICATION_APPLIER = 625; +SqlParser.REPLICATION_SLAVE_ADMIN = 626; +SqlParser.RESOURCE_GROUP_ADMIN = 627; +SqlParser.RESOURCE_GROUP_USER = 628; +SqlParser.ROLE_ADMIN = 629; +SqlParser.SESSION_VARIABLES_ADMIN = 630; +SqlParser.SET_USER_ID = 631; +SqlParser.SHOW_ROUTINE = 632; +SqlParser.SYSTEM_VARIABLES_ADMIN = 633; +SqlParser.TABLE_ENCRYPTION_ADMIN = 634; +SqlParser.VERSION_TOKEN_ADMIN = 635; +SqlParser.XA_RECOVER_ADMIN = 636; +SqlParser.ARMSCII8 = 637; +SqlParser.ASCII = 638; +SqlParser.BIG5 = 639; +SqlParser.CP1250 = 640; +SqlParser.CP1251 = 641; +SqlParser.CP1256 = 642; +SqlParser.CP1257 = 643; +SqlParser.CP850 = 644; +SqlParser.CP852 = 645; +SqlParser.CP866 = 646; +SqlParser.CP932 = 647; +SqlParser.DEC8 = 648; +SqlParser.EUCJPMS = 649; +SqlParser.EUCKR = 650; +SqlParser.GB2312 = 651; +SqlParser.GBK = 652; +SqlParser.GEOSTD8 = 653; +SqlParser.GREEK = 654; +SqlParser.HEBREW = 655; +SqlParser.HP8 = 656; +SqlParser.KEYBCS2 = 657; +SqlParser.KOI8R = 658; +SqlParser.KOI8U = 659; +SqlParser.LATIN1 = 660; +SqlParser.LATIN2 = 661; +SqlParser.LATIN5 = 662; +SqlParser.LATIN7 = 663; +SqlParser.MACCE = 664; +SqlParser.MACROMAN = 665; +SqlParser.SJIS = 666; +SqlParser.SWE7 = 667; +SqlParser.TIS620 = 668; +SqlParser.UCS2 = 669; +SqlParser.UJIS = 670; +SqlParser.UTF16 = 671; +SqlParser.UTF16LE = 672; +SqlParser.UTF32 = 673; +SqlParser.UTF8 = 674; +SqlParser.UTF8MB3 = 675; +SqlParser.UTF8MB4 = 676; +SqlParser.ARCHIVE = 677; +SqlParser.BLACKHOLE = 678; +SqlParser.CSV = 679; +SqlParser.FEDERATED = 680; +SqlParser.INNODB = 681; +SqlParser.MEMORY = 682; +SqlParser.MRG_MYISAM = 683; +SqlParser.MYISAM = 684; +SqlParser.NDB = 685; +SqlParser.NDBCLUSTER = 686; +SqlParser.PERFORMANCE_SCHEMA = 687; +SqlParser.TOKUDB = 688; +SqlParser.REPEATABLE = 689; +SqlParser.COMMITTED = 690; +SqlParser.UNCOMMITTED = 691; +SqlParser.SERIALIZABLE = 692; +SqlParser.GEOMETRYCOLLECTION = 693; +SqlParser.GEOMCOLLECTION = 694; +SqlParser.GEOMETRY = 695; +SqlParser.LINESTRING = 696; +SqlParser.MULTILINESTRING = 697; +SqlParser.MULTIPOINT = 698; +SqlParser.MULTIPOLYGON = 699; +SqlParser.POINT = 700; +SqlParser.POLYGON = 701; +SqlParser.ABS = 702; +SqlParser.ACOS = 703; +SqlParser.ADDDATE = 704; +SqlParser.ADDTIME = 705; +SqlParser.AES_DECRYPT = 706; +SqlParser.AES_ENCRYPT = 707; +SqlParser.AREA = 708; +SqlParser.ASBINARY = 709; +SqlParser.ASIN = 710; +SqlParser.ASTEXT = 711; +SqlParser.ASWKB = 712; +SqlParser.ASWKT = 713; +SqlParser.ASYMMETRIC_DECRYPT = 714; +SqlParser.ASYMMETRIC_DERIVE = 715; +SqlParser.ASYMMETRIC_ENCRYPT = 716; +SqlParser.ASYMMETRIC_SIGN = 717; +SqlParser.ASYMMETRIC_VERIFY = 718; +SqlParser.ATAN = 719; +SqlParser.ATAN2 = 720; +SqlParser.BENCHMARK = 721; +SqlParser.BIN = 722; +SqlParser.BIT_COUNT = 723; +SqlParser.BIT_LENGTH = 724; +SqlParser.BUFFER = 725; +SqlParser.CATALOG_NAME = 726; +SqlParser.CEIL = 727; +SqlParser.CEILING = 728; +SqlParser.CENTROID = 729; +SqlParser.CHARACTER_LENGTH = 730; +SqlParser.CHARSET = 731; +SqlParser.CHAR_LENGTH = 732; +SqlParser.COERCIBILITY = 733; +SqlParser.COLLATION = 734; +SqlParser.COMPRESS = 735; +SqlParser.CONCAT = 736; +SqlParser.CONCAT_WS = 737; +SqlParser.CONNECTION_ID = 738; +SqlParser.CONV = 739; +SqlParser.CONVERT_TZ = 740; +SqlParser.COS = 741; +SqlParser.COT = 742; +SqlParser.CRC32 = 743; +SqlParser.CREATE_ASYMMETRIC_PRIV_KEY = 744; +SqlParser.CREATE_ASYMMETRIC_PUB_KEY = 745; +SqlParser.CREATE_DH_PARAMETERS = 746; +SqlParser.CREATE_DIGEST = 747; +SqlParser.CROSSES = 748; +SqlParser.DATEDIFF = 749; +SqlParser.DATE_FORMAT = 750; +SqlParser.DAYNAME = 751; +SqlParser.DAYOFMONTH = 752; +SqlParser.DAYOFWEEK = 753; +SqlParser.DAYOFYEAR = 754; +SqlParser.DECODE = 755; +SqlParser.DEGREES = 756; +SqlParser.DES_DECRYPT = 757; +SqlParser.DES_ENCRYPT = 758; +SqlParser.DIMENSION = 759; +SqlParser.DISJOINT = 760; +SqlParser.ELT = 761; +SqlParser.ENCODE = 762; +SqlParser.ENCRYPT = 763; +SqlParser.ENDPOINT = 764; +SqlParser.ENVELOPE = 765; +SqlParser.EQUALS = 766; +SqlParser.EXP = 767; +SqlParser.EXPORT_SET = 768; +SqlParser.EXTERIORRING = 769; +SqlParser.EXTRACTVALUE = 770; +SqlParser.FIELD = 771; +SqlParser.FIND_IN_SET = 772; +SqlParser.FLOOR = 773; +SqlParser.FORMAT = 774; +SqlParser.FOUND_ROWS = 775; +SqlParser.FROM_BASE64 = 776; +SqlParser.FROM_DAYS = 777; +SqlParser.FROM_UNIXTIME = 778; +SqlParser.GEOMCOLLFROMTEXT = 779; +SqlParser.GEOMCOLLFROMWKB = 780; +SqlParser.GEOMETRYCOLLECTIONFROMTEXT = 781; +SqlParser.GEOMETRYCOLLECTIONFROMWKB = 782; +SqlParser.GEOMETRYFROMTEXT = 783; +SqlParser.GEOMETRYFROMWKB = 784; +SqlParser.GEOMETRYN = 785; +SqlParser.GEOMETRYTYPE = 786; +SqlParser.GEOMFROMTEXT = 787; +SqlParser.GEOMFROMWKB = 788; +SqlParser.GET_FORMAT = 789; +SqlParser.GET_LOCK = 790; +SqlParser.GLENGTH = 791; +SqlParser.GREATEST = 792; +SqlParser.GTID_SUBSET = 793; +SqlParser.GTID_SUBTRACT = 794; +SqlParser.HEX = 795; +SqlParser.IFNULL = 796; +SqlParser.INET6_ATON = 797; +SqlParser.INET6_NTOA = 798; +SqlParser.INET_ATON = 799; +SqlParser.INET_NTOA = 800; +SqlParser.INSTR = 801; +SqlParser.INTERIORRINGN = 802; +SqlParser.INTERSECTS = 803; +SqlParser.ISCLOSED = 804; +SqlParser.ISEMPTY = 805; +SqlParser.ISNULL = 806; +SqlParser.ISSIMPLE = 807; +SqlParser.IS_FREE_LOCK = 808; +SqlParser.IS_IPV4 = 809; +SqlParser.IS_IPV4_COMPAT = 810; +SqlParser.IS_IPV4_MAPPED = 811; +SqlParser.IS_IPV6 = 812; +SqlParser.IS_USED_LOCK = 813; +SqlParser.LAST_INSERT_ID = 814; +SqlParser.LCASE = 815; +SqlParser.LEAST = 816; +SqlParser.LENGTH = 817; +SqlParser.LINEFROMTEXT = 818; +SqlParser.LINEFROMWKB = 819; +SqlParser.LINESTRINGFROMTEXT = 820; +SqlParser.LINESTRINGFROMWKB = 821; +SqlParser.LN = 822; +SqlParser.LOAD_FILE = 823; +SqlParser.LOCATE = 824; +SqlParser.LOG = 825; +SqlParser.LOG10 = 826; +SqlParser.LOG2 = 827; +SqlParser.LOWER = 828; +SqlParser.LPAD = 829; +SqlParser.LTRIM = 830; +SqlParser.MAKEDATE = 831; +SqlParser.MAKETIME = 832; +SqlParser.MAKE_SET = 833; +SqlParser.MASTER_POS_WAIT = 834; +SqlParser.MBRCONTAINS = 835; +SqlParser.MBRDISJOINT = 836; +SqlParser.MBREQUAL = 837; +SqlParser.MBRINTERSECTS = 838; +SqlParser.MBROVERLAPS = 839; +SqlParser.MBRTOUCHES = 840; +SqlParser.MBRWITHIN = 841; +SqlParser.MD5 = 842; +SqlParser.MLINEFROMTEXT = 843; +SqlParser.MLINEFROMWKB = 844; +SqlParser.MONTHNAME = 845; +SqlParser.MPOINTFROMTEXT = 846; +SqlParser.MPOINTFROMWKB = 847; +SqlParser.MPOLYFROMTEXT = 848; +SqlParser.MPOLYFROMWKB = 849; +SqlParser.MULTILINESTRINGFROMTEXT = 850; +SqlParser.MULTILINESTRINGFROMWKB = 851; +SqlParser.MULTIPOINTFROMTEXT = 852; +SqlParser.MULTIPOINTFROMWKB = 853; +SqlParser.MULTIPOLYGONFROMTEXT = 854; +SqlParser.MULTIPOLYGONFROMWKB = 855; +SqlParser.NAME_CONST = 856; +SqlParser.NULLIF = 857; +SqlParser.NUMGEOMETRIES = 858; +SqlParser.NUMINTERIORRINGS = 859; +SqlParser.NUMPOINTS = 860; +SqlParser.OCT = 861; +SqlParser.OCTET_LENGTH = 862; +SqlParser.ORD = 863; +SqlParser.OVERLAPS = 864; +SqlParser.PERIOD_ADD = 865; +SqlParser.PERIOD_DIFF = 866; +SqlParser.PI = 867; +SqlParser.POINTFROMTEXT = 868; +SqlParser.POINTFROMWKB = 869; +SqlParser.POINTN = 870; +SqlParser.POLYFROMTEXT = 871; +SqlParser.POLYFROMWKB = 872; +SqlParser.POLYGONFROMTEXT = 873; +SqlParser.POLYGONFROMWKB = 874; +SqlParser.POW = 875; +SqlParser.POWER = 876; +SqlParser.QUOTE = 877; +SqlParser.RADIANS = 878; +SqlParser.RAND = 879; +SqlParser.RANDOM_BYTES = 880; +SqlParser.RELEASE_LOCK = 881; +SqlParser.REVERSE = 882; +SqlParser.ROUND = 883; +SqlParser.ROW_COUNT = 884; +SqlParser.RPAD = 885; +SqlParser.RTRIM = 886; +SqlParser.SEC_TO_TIME = 887; +SqlParser.SESSION_USER = 888; +SqlParser.SHA = 889; +SqlParser.SHA1 = 890; +SqlParser.SHA2 = 891; +SqlParser.SCHEMA_NAME = 892; +SqlParser.SIGN = 893; +SqlParser.SIN = 894; +SqlParser.SLEEP = 895; +SqlParser.SOUNDEX = 896; +SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS = 897; +SqlParser.SQRT = 898; +SqlParser.SRID = 899; +SqlParser.STARTPOINT = 900; +SqlParser.STRCMP = 901; +SqlParser.STR_TO_DATE = 902; +SqlParser.ST_AREA = 903; +SqlParser.ST_ASBINARY = 904; +SqlParser.ST_ASTEXT = 905; +SqlParser.ST_ASWKB = 906; +SqlParser.ST_ASWKT = 907; +SqlParser.ST_BUFFER = 908; +SqlParser.ST_CENTROID = 909; +SqlParser.ST_CONTAINS = 910; +SqlParser.ST_CROSSES = 911; +SqlParser.ST_DIFFERENCE = 912; +SqlParser.ST_DIMENSION = 913; +SqlParser.ST_DISJOINT = 914; +SqlParser.ST_DISTANCE = 915; +SqlParser.ST_ENDPOINT = 916; +SqlParser.ST_ENVELOPE = 917; +SqlParser.ST_EQUALS = 918; +SqlParser.ST_EXTERIORRING = 919; +SqlParser.ST_GEOMCOLLFROMTEXT = 920; +SqlParser.ST_GEOMCOLLFROMTXT = 921; +SqlParser.ST_GEOMCOLLFROMWKB = 922; +SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT = 923; +SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB = 924; +SqlParser.ST_GEOMETRYFROMTEXT = 925; +SqlParser.ST_GEOMETRYFROMWKB = 926; +SqlParser.ST_GEOMETRYN = 927; +SqlParser.ST_GEOMETRYTYPE = 928; +SqlParser.ST_GEOMFROMTEXT = 929; +SqlParser.ST_GEOMFROMWKB = 930; +SqlParser.ST_INTERIORRINGN = 931; +SqlParser.ST_INTERSECTION = 932; +SqlParser.ST_INTERSECTS = 933; +SqlParser.ST_ISCLOSED = 934; +SqlParser.ST_ISEMPTY = 935; +SqlParser.ST_ISSIMPLE = 936; +SqlParser.ST_LINEFROMTEXT = 937; +SqlParser.ST_LINEFROMWKB = 938; +SqlParser.ST_LINESTRINGFROMTEXT = 939; +SqlParser.ST_LINESTRINGFROMWKB = 940; +SqlParser.ST_NUMGEOMETRIES = 941; +SqlParser.ST_NUMINTERIORRING = 942; +SqlParser.ST_NUMINTERIORRINGS = 943; +SqlParser.ST_NUMPOINTS = 944; +SqlParser.ST_OVERLAPS = 945; +SqlParser.ST_POINTFROMTEXT = 946; +SqlParser.ST_POINTFROMWKB = 947; +SqlParser.ST_POINTN = 948; +SqlParser.ST_POLYFROMTEXT = 949; +SqlParser.ST_POLYFROMWKB = 950; +SqlParser.ST_POLYGONFROMTEXT = 951; +SqlParser.ST_POLYGONFROMWKB = 952; +SqlParser.ST_SRID = 953; +SqlParser.ST_STARTPOINT = 954; +SqlParser.ST_SYMDIFFERENCE = 955; +SqlParser.ST_TOUCHES = 956; +SqlParser.ST_UNION = 957; +SqlParser.ST_WITHIN = 958; +SqlParser.ST_X = 959; +SqlParser.ST_Y = 960; +SqlParser.SUBDATE = 961; +SqlParser.SUBSTRING_INDEX = 962; +SqlParser.SUBTIME = 963; +SqlParser.SYSTEM_USER = 964; +SqlParser.TAN = 965; +SqlParser.TIMEDIFF = 966; +SqlParser.TIMESTAMPADD = 967; +SqlParser.TIMESTAMPDIFF = 968; +SqlParser.TIME_FORMAT = 969; +SqlParser.TIME_TO_SEC = 970; +SqlParser.TOUCHES = 971; +SqlParser.TO_BASE64 = 972; +SqlParser.TO_DAYS = 973; +SqlParser.TO_SECONDS = 974; +SqlParser.UCASE = 975; +SqlParser.UNCOMPRESS = 976; +SqlParser.UNCOMPRESSED_LENGTH = 977; +SqlParser.UNHEX = 978; +SqlParser.UNIX_TIMESTAMP = 979; +SqlParser.UPDATEXML = 980; +SqlParser.UPPER = 981; +SqlParser.UUID = 982; +SqlParser.UUID_SHORT = 983; +SqlParser.VALIDATE_PASSWORD_STRENGTH = 984; +SqlParser.VERSION = 985; +SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 986; +SqlParser.WEEKDAY = 987; +SqlParser.WEEKOFYEAR = 988; +SqlParser.WEIGHT_STRING = 989; +SqlParser.WITHIN = 990; +SqlParser.YEARWEEK = 991; +SqlParser.Y_FUNCTION = 992; +SqlParser.X_FUNCTION = 993; +SqlParser.VAR_ASSIGN = 994; +SqlParser.PLUS_ASSIGN = 995; +SqlParser.MINUS_ASSIGN = 996; +SqlParser.MULT_ASSIGN = 997; +SqlParser.DIV_ASSIGN = 998; +SqlParser.MOD_ASSIGN = 999; +SqlParser.AND_ASSIGN = 1000; +SqlParser.XOR_ASSIGN = 1001; +SqlParser.OR_ASSIGN = 1002; +SqlParser.STAR = 1003; +SqlParser.DIVIDE = 1004; +SqlParser.MODULE = 1005; +SqlParser.PLUS = 1006; +SqlParser.MINUSMINUS = 1007; +SqlParser.MINUS = 1008; +SqlParser.DIV = 1009; +SqlParser.MOD = 1010; +SqlParser.EQUAL_SYMBOL = 1011; +SqlParser.GREATER_SYMBOL = 1012; +SqlParser.LESS_SYMBOL = 1013; +SqlParser.EXCLAMATION_SYMBOL = 1014; +SqlParser.BIT_NOT_OP = 1015; +SqlParser.BIT_OR_OP = 1016; +SqlParser.BIT_AND_OP = 1017; +SqlParser.BIT_XOR_OP = 1018; +SqlParser.DOT = 1019; +SqlParser.LR_BRACKET = 1020; +SqlParser.RR_BRACKET = 1021; +SqlParser.COMMA = 1022; +SqlParser.SEMI = 1023; +SqlParser.AT_SIGN = 1024; +SqlParser.ZERO_DECIMAL = 1025; +SqlParser.ONE_DECIMAL = 1026; +SqlParser.TWO_DECIMAL = 1027; +SqlParser.SINGLE_QUOTE_SYMB = 1028; +SqlParser.DOUBLE_QUOTE_SYMB = 1029; +SqlParser.REVERSE_QUOTE_SYMB = 1030; +SqlParser.COLON_SYMB = 1031; +SqlParser.CHARSET_REVERSE_QOUTE_STRING = 1032; +SqlParser.FILESIZE_LITERAL = 1033; +SqlParser.START_NATIONAL_STRING_LITERAL = 1034; +SqlParser.STRING_LITERAL = 1035; +SqlParser.DECIMAL_LITERAL = 1036; +SqlParser.HEXADECIMAL_LITERAL = 1037; +SqlParser.REAL_LITERAL = 1038; +SqlParser.NULL_SPEC_LITERAL = 1039; +SqlParser.BIT_STRING = 1040; +SqlParser.STRING_CHARSET_NAME = 1041; +SqlParser.DOT_ID = 1042; +SqlParser.ID = 1043; +SqlParser.REVERSE_QUOTE_ID = 1044; +SqlParser.STRING_USER_NAME = 1045; +SqlParser.LOCAL_ID = 1046; +SqlParser.GLOBAL_ID = 1047; +SqlParser.ERROR_RECONGNIGION = 1048; + +SqlParser.RULE_program = 0; +SqlParser.RULE_statement = 1; +SqlParser.RULE_sqlStatements = 2; +SqlParser.RULE_sqlStatement = 3; +SqlParser.RULE_emptyStatement = 4; +SqlParser.RULE_ddlStatement = 5; +SqlParser.RULE_dmlStatement = 6; +SqlParser.RULE_transactionStatement = 7; +SqlParser.RULE_replicationStatement = 8; +SqlParser.RULE_preparedStatement = 9; +SqlParser.RULE_compoundStatement = 10; +SqlParser.RULE_administrationStatement = 11; +SqlParser.RULE_utilityStatement = 12; +SqlParser.RULE_createDatabase = 13; +SqlParser.RULE_createEvent = 14; +SqlParser.RULE_createIndex = 15; +SqlParser.RULE_createLogfileGroup = 16; +SqlParser.RULE_createProcedure = 17; +SqlParser.RULE_createFunction = 18; +SqlParser.RULE_createServer = 19; +SqlParser.RULE_createTable = 20; +SqlParser.RULE_createTablespaceInnodb = 21; +SqlParser.RULE_createTablespaceNdb = 22; +SqlParser.RULE_createTrigger = 23; +SqlParser.RULE_createView = 24; +SqlParser.RULE_createDatabaseOption = 25; +SqlParser.RULE_ownerStatement = 26; +SqlParser.RULE_scheduleExpression = 27; +SqlParser.RULE_timestampValue = 28; +SqlParser.RULE_intervalExpr = 29; +SqlParser.RULE_intervalType = 30; +SqlParser.RULE_enableType = 31; +SqlParser.RULE_indexType = 32; +SqlParser.RULE_indexOption = 33; +SqlParser.RULE_procedureParameter = 34; +SqlParser.RULE_functionParameter = 35; +SqlParser.RULE_routineOption = 36; +SqlParser.RULE_serverOption = 37; +SqlParser.RULE_createDefinitions = 38; +SqlParser.RULE_createDefinition = 39; +SqlParser.RULE_columnDefinition = 40; +SqlParser.RULE_columnConstraint = 41; +SqlParser.RULE_tableConstraint = 42; +SqlParser.RULE_referenceDefinition = 43; +SqlParser.RULE_referenceAction = 44; +SqlParser.RULE_referenceControlType = 45; +SqlParser.RULE_indexColumnDefinition = 46; +SqlParser.RULE_tableOption = 47; +SqlParser.RULE_tablespaceStorage = 48; +SqlParser.RULE_partitionDefinitions = 49; +SqlParser.RULE_partitionFunctionDefinition = 50; +SqlParser.RULE_subpartitionFunctionDefinition = 51; +SqlParser.RULE_partitionDefinition = 52; +SqlParser.RULE_partitionDefinerAtom = 53; +SqlParser.RULE_partitionDefinerVector = 54; +SqlParser.RULE_subpartitionDefinition = 55; +SqlParser.RULE_partitionOption = 56; +SqlParser.RULE_alterDatabase = 57; +SqlParser.RULE_alterEvent = 58; +SqlParser.RULE_alterFunction = 59; +SqlParser.RULE_alterInstance = 60; +SqlParser.RULE_alterLogfileGroup = 61; +SqlParser.RULE_alterProcedure = 62; +SqlParser.RULE_alterServer = 63; +SqlParser.RULE_alterTable = 64; +SqlParser.RULE_alterTablespace = 65; +SqlParser.RULE_alterView = 66; +SqlParser.RULE_alterSpecification = 67; +SqlParser.RULE_dropDatabase = 68; +SqlParser.RULE_dropEvent = 69; +SqlParser.RULE_dropIndex = 70; +SqlParser.RULE_dropLogfileGroup = 71; +SqlParser.RULE_dropProcedure = 72; +SqlParser.RULE_dropFunction = 73; +SqlParser.RULE_dropServer = 74; +SqlParser.RULE_dropTable = 75; +SqlParser.RULE_dropTablespace = 76; +SqlParser.RULE_dropTrigger = 77; +SqlParser.RULE_dropView = 78; +SqlParser.RULE_renameTable = 79; +SqlParser.RULE_renameTableClause = 80; +SqlParser.RULE_truncateTable = 81; +SqlParser.RULE_callStatement = 82; +SqlParser.RULE_deleteStatement = 83; +SqlParser.RULE_doStatement = 84; +SqlParser.RULE_handlerStatement = 85; +SqlParser.RULE_insertStatement = 86; +SqlParser.RULE_loadDataStatement = 87; +SqlParser.RULE_loadXmlStatement = 88; +SqlParser.RULE_replaceStatement = 89; +SqlParser.RULE_selectStatement = 90; +SqlParser.RULE_updateStatement = 91; +SqlParser.RULE_insertStatementValue = 92; +SqlParser.RULE_updatedElement = 93; +SqlParser.RULE_assignmentField = 94; +SqlParser.RULE_lockClause = 95; +SqlParser.RULE_singleDeleteStatement = 96; +SqlParser.RULE_multipleDeleteStatement = 97; +SqlParser.RULE_handlerOpenStatement = 98; +SqlParser.RULE_handlerReadIndexStatement = 99; +SqlParser.RULE_handlerReadStatement = 100; +SqlParser.RULE_handlerCloseStatement = 101; +SqlParser.RULE_singleUpdateStatement = 102; +SqlParser.RULE_multipleUpdateStatement = 103; +SqlParser.RULE_orderByClause = 104; +SqlParser.RULE_orderByExpression = 105; +SqlParser.RULE_tableSources = 106; +SqlParser.RULE_tableSource = 107; +SqlParser.RULE_tableSourceItem = 108; +SqlParser.RULE_indexHint = 109; +SqlParser.RULE_indexHintType = 110; +SqlParser.RULE_joinPart = 111; +SqlParser.RULE_queryExpression = 112; +SqlParser.RULE_queryExpressionNointo = 113; +SqlParser.RULE_querySpecification = 114; +SqlParser.RULE_querySpecificationNointo = 115; +SqlParser.RULE_unionParenthesis = 116; +SqlParser.RULE_unionStatement = 117; +SqlParser.RULE_selectSpec = 118; +SqlParser.RULE_selectElements = 119; +SqlParser.RULE_selectElement = 120; +SqlParser.RULE_selectIntoExpression = 121; +SqlParser.RULE_selectFieldsInto = 122; +SqlParser.RULE_selectLinesInto = 123; +SqlParser.RULE_fromClause = 124; +SqlParser.RULE_groupByItem = 125; +SqlParser.RULE_limitClause = 126; +SqlParser.RULE_limitClauseAtom = 127; +SqlParser.RULE_startTransaction = 128; +SqlParser.RULE_beginWork = 129; +SqlParser.RULE_commitWork = 130; +SqlParser.RULE_rollbackWork = 131; +SqlParser.RULE_savepointStatement = 132; +SqlParser.RULE_rollbackStatement = 133; +SqlParser.RULE_releaseStatement = 134; +SqlParser.RULE_lockTables = 135; +SqlParser.RULE_unlockTables = 136; +SqlParser.RULE_setAutocommitStatement = 137; +SqlParser.RULE_setTransactionStatement = 138; +SqlParser.RULE_transactionMode = 139; +SqlParser.RULE_lockTableElement = 140; +SqlParser.RULE_lockAction = 141; +SqlParser.RULE_transactionOption = 142; +SqlParser.RULE_transactionLevel = 143; +SqlParser.RULE_changeMaster = 144; +SqlParser.RULE_changeReplicationFilter = 145; +SqlParser.RULE_purgeBinaryLogs = 146; +SqlParser.RULE_resetMaster = 147; +SqlParser.RULE_resetSlave = 148; +SqlParser.RULE_startSlave = 149; +SqlParser.RULE_stopSlave = 150; +SqlParser.RULE_startGroupReplication = 151; +SqlParser.RULE_stopGroupReplication = 152; +SqlParser.RULE_masterOption = 153; +SqlParser.RULE_stringMasterOption = 154; +SqlParser.RULE_decimalMasterOption = 155; +SqlParser.RULE_boolMasterOption = 156; +SqlParser.RULE_channelOption = 157; +SqlParser.RULE_replicationFilter = 158; +SqlParser.RULE_tablePair = 159; +SqlParser.RULE_threadType = 160; +SqlParser.RULE_untilOption = 161; +SqlParser.RULE_connectionOption = 162; +SqlParser.RULE_gtuidSet = 163; +SqlParser.RULE_xaStartTransaction = 164; +SqlParser.RULE_xaEndTransaction = 165; +SqlParser.RULE_xaPrepareStatement = 166; +SqlParser.RULE_xaCommitWork = 167; +SqlParser.RULE_xaRollbackWork = 168; +SqlParser.RULE_xaRecoverWork = 169; +SqlParser.RULE_prepareStatement = 170; +SqlParser.RULE_executeStatement = 171; +SqlParser.RULE_deallocatePrepare = 172; +SqlParser.RULE_routineBody = 173; +SqlParser.RULE_blockStatement = 174; +SqlParser.RULE_caseStatement = 175; +SqlParser.RULE_ifStatement = 176; +SqlParser.RULE_iterateStatement = 177; +SqlParser.RULE_leaveStatement = 178; +SqlParser.RULE_loopStatement = 179; +SqlParser.RULE_repeatStatement = 180; +SqlParser.RULE_returnStatement = 181; +SqlParser.RULE_whileStatement = 182; +SqlParser.RULE_cursorStatement = 183; +SqlParser.RULE_declareVariable = 184; +SqlParser.RULE_declareCondition = 185; +SqlParser.RULE_declareCursor = 186; +SqlParser.RULE_declareHandler = 187; +SqlParser.RULE_handlerConditionValue = 188; +SqlParser.RULE_procedureSqlStatement = 189; +SqlParser.RULE_caseAlternative = 190; +SqlParser.RULE_elifAlternative = 191; +SqlParser.RULE_alterUser = 192; +SqlParser.RULE_createUser = 193; +SqlParser.RULE_dropUser = 194; +SqlParser.RULE_grantStatement = 195; +SqlParser.RULE_grantProxy = 196; +SqlParser.RULE_renameUser = 197; +SqlParser.RULE_revokeStatement = 198; +SqlParser.RULE_revokeProxy = 199; +SqlParser.RULE_setPasswordStatement = 200; +SqlParser.RULE_userSpecification = 201; +SqlParser.RULE_userAuthOption = 202; +SqlParser.RULE_tlsOption = 203; +SqlParser.RULE_userResourceOption = 204; +SqlParser.RULE_userPasswordOption = 205; +SqlParser.RULE_userLockOption = 206; +SqlParser.RULE_privelegeClause = 207; +SqlParser.RULE_privilege = 208; +SqlParser.RULE_privilegeLevel = 209; +SqlParser.RULE_renameUserClause = 210; +SqlParser.RULE_analyzeTable = 211; +SqlParser.RULE_checkTable = 212; +SqlParser.RULE_checksumTable = 213; +SqlParser.RULE_optimizeTable = 214; +SqlParser.RULE_repairTable = 215; +SqlParser.RULE_checkTableOption = 216; +SqlParser.RULE_createUdfunction = 217; +SqlParser.RULE_installPlugin = 218; +SqlParser.RULE_uninstallPlugin = 219; +SqlParser.RULE_setStatement = 220; +SqlParser.RULE_showStatement = 221; +SqlParser.RULE_variableClause = 222; +SqlParser.RULE_showCommonEntity = 223; +SqlParser.RULE_showFilter = 224; +SqlParser.RULE_showGlobalInfoClause = 225; +SqlParser.RULE_showSchemaEntity = 226; +SqlParser.RULE_showProfileType = 227; +SqlParser.RULE_binlogStatement = 228; +SqlParser.RULE_cacheIndexStatement = 229; +SqlParser.RULE_flushStatement = 230; +SqlParser.RULE_killStatement = 231; +SqlParser.RULE_loadIndexIntoCache = 232; +SqlParser.RULE_resetStatement = 233; +SqlParser.RULE_shutdownStatement = 234; +SqlParser.RULE_tableIndexes = 235; +SqlParser.RULE_flushOption = 236; +SqlParser.RULE_flushTableOption = 237; +SqlParser.RULE_loadedTableIndexes = 238; +SqlParser.RULE_simpleDescribeStatement = 239; +SqlParser.RULE_fullDescribeStatement = 240; +SqlParser.RULE_helpStatement = 241; +SqlParser.RULE_useStatement = 242; +SqlParser.RULE_signalStatement = 243; +SqlParser.RULE_resignalStatement = 244; +SqlParser.RULE_signalConditionInformation = 245; +SqlParser.RULE_diagnosticsStatement = 246; +SqlParser.RULE_diagnosticsConditionInformationName = 247; +SqlParser.RULE_describeObjectClause = 248; +SqlParser.RULE_fullId = 249; +SqlParser.RULE_tableName = 250; +SqlParser.RULE_fullColumnName = 251; +SqlParser.RULE_indexColumnName = 252; +SqlParser.RULE_userName = 253; +SqlParser.RULE_mysqlVariable = 254; +SqlParser.RULE_charsetName = 255; +SqlParser.RULE_collationName = 256; +SqlParser.RULE_engineName = 257; +SqlParser.RULE_uuidSet = 258; +SqlParser.RULE_xid = 259; +SqlParser.RULE_xuidStringId = 260; +SqlParser.RULE_authPlugin = 261; +SqlParser.RULE_uid = 262; +SqlParser.RULE_simpleId = 263; +SqlParser.RULE_dottedId = 264; +SqlParser.RULE_decimalLiteral = 265; +SqlParser.RULE_fileSizeLiteral = 266; +SqlParser.RULE_stringLiteral = 267; +SqlParser.RULE_booleanLiteral = 268; +SqlParser.RULE_hexadecimalLiteral = 269; +SqlParser.RULE_nullNotnull = 270; +SqlParser.RULE_constant = 271; +SqlParser.RULE_dataType = 272; +SqlParser.RULE_collectionOptions = 273; +SqlParser.RULE_convertedDataType = 274; +SqlParser.RULE_lengthOneDimension = 275; +SqlParser.RULE_lengthTwoDimension = 276; +SqlParser.RULE_lengthTwoOptionalDimension = 277; +SqlParser.RULE_uidList = 278; +SqlParser.RULE_tables = 279; +SqlParser.RULE_indexColumnNames = 280; +SqlParser.RULE_expressions = 281; +SqlParser.RULE_expressionsWithDefaults = 282; +SqlParser.RULE_constants = 283; +SqlParser.RULE_simpleStrings = 284; +SqlParser.RULE_userVariables = 285; +SqlParser.RULE_defaultValue = 286; +SqlParser.RULE_currentTimestamp = 287; +SqlParser.RULE_expressionOrDefault = 288; +SqlParser.RULE_ifExists = 289; +SqlParser.RULE_ifNotExists = 290; +SqlParser.RULE_functionCall = 291; +SqlParser.RULE_specificFunction = 292; +SqlParser.RULE_caseFuncAlternative = 293; +SqlParser.RULE_levelsInWeightString = 294; +SqlParser.RULE_levelInWeightListElement = 295; +SqlParser.RULE_aggregateWindowedFunction = 296; +SqlParser.RULE_scalarFunctionName = 297; +SqlParser.RULE_passwordFunctionClause = 298; +SqlParser.RULE_functionArgs = 299; +SqlParser.RULE_functionArg = 300; +SqlParser.RULE_expression = 301; +SqlParser.RULE_predicate = 302; +SqlParser.RULE_expressionAtom = 303; +SqlParser.RULE_unaryOperator = 304; +SqlParser.RULE_comparisonOperator = 305; +SqlParser.RULE_logicalOperator = 306; +SqlParser.RULE_bitOperator = 307; +SqlParser.RULE_mathOperator = 308; +SqlParser.RULE_charsetNameBase = 309; +SqlParser.RULE_transactionLevelBase = 310; +SqlParser.RULE_privilegesBase = 311; +SqlParser.RULE_intervalTypeBase = 312; +SqlParser.RULE_dataTypeBase = 313; +SqlParser.RULE_keywordsCanBeId = 314; +SqlParser.RULE_functionNameBase = 315; + + +function ProgramContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_program; + return this; +} + +ProgramContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ProgramContext.prototype.constructor = ProgramContext; + +ProgramContext.prototype.statement = function() { + return this.getTypedRuleContext(StatementContext,0); +}; + +ProgramContext.prototype.EOF = function() { + return this.getToken(SqlParser.EOF, 0); +}; + +ProgramContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterProgram(this); + } +}; + +ProgramContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitProgram(this); + } +}; + +ProgramContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitProgram(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ProgramContext = ProgramContext; + +SqlParser.prototype.program = function() { + + var localctx = new ProgramContext(this, this._ctx, this.state); + this.enterRule(localctx, 0, SqlParser.RULE_program); + try { + this.enterOuterAlt(localctx, 1); + this.state = 632; + this.statement(); + this.state = 633; + this.match(SqlParser.EOF); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_statement; + return this; +} + +StatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StatementContext.prototype.constructor = StatementContext; + +StatementContext.prototype.EOF = function() { + return this.getToken(SqlParser.EOF, 0); +}; + +StatementContext.prototype.sqlStatements = function() { + return this.getTypedRuleContext(SqlStatementsContext,0); +}; + +StatementContext.prototype.MINUSMINUS = function() { + return this.getToken(SqlParser.MINUSMINUS, 0); +}; + +StatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStatement(this); + } +}; + +StatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStatement(this); + } +}; + +StatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.StatementContext = StatementContext; + +SqlParser.prototype.statement = function() { + + var localctx = new StatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 2, SqlParser.RULE_statement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 636; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SqlParser.ALTER) | (1 << SqlParser.ANALYZE) | (1 << SqlParser.CALL) | (1 << SqlParser.CHANGE) | (1 << SqlParser.CHECK) | (1 << SqlParser.CREATE))) !== 0) || ((((_la - 40)) & ~0x1f) == 0 && ((1 << (_la - 40)) & ((1 << (SqlParser.DELETE - 40)) | (1 << (SqlParser.DESC - 40)) | (1 << (SqlParser.DESCRIBE - 40)) | (1 << (SqlParser.DROP - 40)) | (1 << (SqlParser.EXPLAIN - 40)) | (1 << (SqlParser.GET - 40)) | (1 << (SqlParser.GRANT - 40)))) !== 0) || ((((_la - 76)) & ~0x1f) == 0 && ((1 << (_la - 76)) & ((1 << (SqlParser.INSERT - 76)) | (1 << (SqlParser.KILL - 76)) | (1 << (SqlParser.LOAD - 76)) | (1 << (SqlParser.LOCK - 76)) | (1 << (SqlParser.OPTIMIZE - 76)))) !== 0) || ((((_la - 118)) & ~0x1f) == 0 && ((1 << (_la - 118)) & ((1 << (SqlParser.PURGE - 118)) | (1 << (SqlParser.RELEASE - 118)) | (1 << (SqlParser.RENAME - 118)) | (1 << (SqlParser.REPLACE - 118)) | (1 << (SqlParser.RESIGNAL - 118)) | (1 << (SqlParser.REVOKE - 118)) | (1 << (SqlParser.SELECT - 118)) | (1 << (SqlParser.SET - 118)) | (1 << (SqlParser.SHOW - 118)) | (1 << (SqlParser.SIGNAL - 118)))) !== 0) || ((((_la - 164)) & ~0x1f) == 0 && ((1 << (_la - 164)) & ((1 << (SqlParser.UNLOCK - 164)) | (1 << (SqlParser.UPDATE - 164)) | (1 << (SqlParser.USE - 164)))) !== 0) || ((((_la - 282)) & ~0x1f) == 0 && ((1 << (_la - 282)) & ((1 << (SqlParser.BEGIN - 282)) | (1 << (SqlParser.BINLOG - 282)) | (1 << (SqlParser.CACHE - 282)) | (1 << (SqlParser.CHECKSUM - 282)) | (1 << (SqlParser.COMMIT - 282)))) !== 0) || _la===SqlParser.DEALLOCATE || _la===SqlParser.DO || ((((_la - 364)) & ~0x1f) == 0 && ((1 << (_la - 364)) & ((1 << (SqlParser.FLUSH - 364)) | (1 << (SqlParser.HANDLER - 364)) | (1 << (SqlParser.HELP - 364)) | (1 << (SqlParser.INSTALL - 364)))) !== 0) || ((((_la - 475)) & ~0x1f) == 0 && ((1 << (_la - 475)) & ((1 << (SqlParser.PREPARE - 475)) | (1 << (SqlParser.REPAIR - 475)) | (1 << (SqlParser.RESET - 475)))) !== 0) || ((((_la - 508)) & ~0x1f) == 0 && ((1 << (_la - 508)) & ((1 << (SqlParser.ROLLBACK - 508)) | (1 << (SqlParser.SAVEPOINT - 508)) | (1 << (SqlParser.START - 508)))) !== 0) || ((((_la - 544)) & ~0x1f) == 0 && ((1 << (_la - 544)) & ((1 << (SqlParser.STOP - 544)) | (1 << (SqlParser.TRUNCATE - 544)) | (1 << (SqlParser.UNINSTALL - 544)))) !== 0) || ((((_la - 587)) & ~0x1f) == 0 && ((1 << (_la - 587)) & ((1 << (SqlParser.XA - 587)) | (1 << (SqlParser.EXECUTE - 587)) | (1 << (SqlParser.SHUTDOWN - 587)))) !== 0) || _la===SqlParser.LR_BRACKET || _la===SqlParser.SEMI) { + this.state = 635; + this.sqlStatements(); + } + + this.state = 639; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.MINUSMINUS) { + this.state = 638; + this.match(SqlParser.MINUSMINUS); + } + + this.state = 641; + this.match(SqlParser.EOF); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SqlStatementsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_sqlStatements; + return this; +} + +SqlStatementsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SqlStatementsContext.prototype.constructor = SqlStatementsContext; + +SqlStatementsContext.prototype.sqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SqlStatementContext); + } else { + return this.getTypedRuleContext(SqlStatementContext,i); + } +}; + +SqlStatementsContext.prototype.emptyStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(EmptyStatementContext); + } else { + return this.getTypedRuleContext(EmptyStatementContext,i); + } +}; + +SqlStatementsContext.prototype.SEMI = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.SEMI); + } else { + return this.getToken(SqlParser.SEMI, i); + } +}; + + +SqlStatementsContext.prototype.MINUSMINUS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.MINUSMINUS); + } else { + return this.getToken(SqlParser.MINUSMINUS, i); + } +}; + + +SqlStatementsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSqlStatements(this); + } +}; + +SqlStatementsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSqlStatements(this); + } +}; + +SqlStatementsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSqlStatements(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SqlStatementsContext = SqlStatementsContext; + +SqlParser.prototype.sqlStatements = function() { + + var localctx = new SqlStatementsContext(this, this._ctx, this.state); + this.enterRule(localctx, 4, SqlParser.RULE_sqlStatements); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 653; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,5,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 651; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ALTER: + case SqlParser.ANALYZE: + case SqlParser.CALL: + case SqlParser.CHANGE: + case SqlParser.CHECK: + case SqlParser.CREATE: + case SqlParser.DELETE: + case SqlParser.DESC: + case SqlParser.DESCRIBE: + case SqlParser.DROP: + case SqlParser.EXPLAIN: + case SqlParser.GET: + case SqlParser.GRANT: + case SqlParser.INSERT: + case SqlParser.KILL: + case SqlParser.LOAD: + case SqlParser.LOCK: + case SqlParser.OPTIMIZE: + case SqlParser.PURGE: + case SqlParser.RELEASE: + case SqlParser.RENAME: + case SqlParser.REPLACE: + case SqlParser.RESIGNAL: + case SqlParser.REVOKE: + case SqlParser.SELECT: + case SqlParser.SET: + case SqlParser.SHOW: + case SqlParser.SIGNAL: + case SqlParser.UNLOCK: + case SqlParser.UPDATE: + case SqlParser.USE: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.CACHE: + case SqlParser.CHECKSUM: + case SqlParser.COMMIT: + case SqlParser.DEALLOCATE: + case SqlParser.DO: + case SqlParser.FLUSH: + case SqlParser.HANDLER: + case SqlParser.HELP: + case SqlParser.INSTALL: + case SqlParser.PREPARE: + case SqlParser.REPAIR: + case SqlParser.RESET: + case SqlParser.ROLLBACK: + case SqlParser.SAVEPOINT: + case SqlParser.START: + case SqlParser.STOP: + case SqlParser.TRUNCATE: + case SqlParser.UNINSTALL: + case SqlParser.XA: + case SqlParser.EXECUTE: + case SqlParser.SHUTDOWN: + case SqlParser.LR_BRACKET: + this.state = 643; + this.sqlStatement(); + this.state = 645; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.MINUSMINUS) { + this.state = 644; + this.match(SqlParser.MINUSMINUS); + } + + this.state = 648; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,3,this._ctx); + if(la_===1) { + this.state = 647; + this.match(SqlParser.SEMI); + + } + break; + case SqlParser.SEMI: + this.state = 650; + this.emptyStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + this.state = 655; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,5,this._ctx); + } + + this.state = 664; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ALTER: + case SqlParser.ANALYZE: + case SqlParser.CALL: + case SqlParser.CHANGE: + case SqlParser.CHECK: + case SqlParser.CREATE: + case SqlParser.DELETE: + case SqlParser.DESC: + case SqlParser.DESCRIBE: + case SqlParser.DROP: + case SqlParser.EXPLAIN: + case SqlParser.GET: + case SqlParser.GRANT: + case SqlParser.INSERT: + case SqlParser.KILL: + case SqlParser.LOAD: + case SqlParser.LOCK: + case SqlParser.OPTIMIZE: + case SqlParser.PURGE: + case SqlParser.RELEASE: + case SqlParser.RENAME: + case SqlParser.REPLACE: + case SqlParser.RESIGNAL: + case SqlParser.REVOKE: + case SqlParser.SELECT: + case SqlParser.SET: + case SqlParser.SHOW: + case SqlParser.SIGNAL: + case SqlParser.UNLOCK: + case SqlParser.UPDATE: + case SqlParser.USE: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.CACHE: + case SqlParser.CHECKSUM: + case SqlParser.COMMIT: + case SqlParser.DEALLOCATE: + case SqlParser.DO: + case SqlParser.FLUSH: + case SqlParser.HANDLER: + case SqlParser.HELP: + case SqlParser.INSTALL: + case SqlParser.PREPARE: + case SqlParser.REPAIR: + case SqlParser.RESET: + case SqlParser.ROLLBACK: + case SqlParser.SAVEPOINT: + case SqlParser.START: + case SqlParser.STOP: + case SqlParser.TRUNCATE: + case SqlParser.UNINSTALL: + case SqlParser.XA: + case SqlParser.EXECUTE: + case SqlParser.SHUTDOWN: + case SqlParser.LR_BRACKET: + this.state = 656; + this.sqlStatement(); + this.state = 661; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,7,this._ctx); + if(la_===1) { + this.state = 658; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.MINUSMINUS) { + this.state = 657; + this.match(SqlParser.MINUSMINUS); + } + + this.state = 660; + this.match(SqlParser.SEMI); + + } + break; + case SqlParser.SEMI: + this.state = 663; + this.emptyStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SqlStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_sqlStatement; + return this; +} + +SqlStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SqlStatementContext.prototype.constructor = SqlStatementContext; + +SqlStatementContext.prototype.ddlStatement = function() { + return this.getTypedRuleContext(DdlStatementContext,0); +}; + +SqlStatementContext.prototype.dmlStatement = function() { + return this.getTypedRuleContext(DmlStatementContext,0); +}; + +SqlStatementContext.prototype.transactionStatement = function() { + return this.getTypedRuleContext(TransactionStatementContext,0); +}; + +SqlStatementContext.prototype.replicationStatement = function() { + return this.getTypedRuleContext(ReplicationStatementContext,0); +}; + +SqlStatementContext.prototype.preparedStatement = function() { + return this.getTypedRuleContext(PreparedStatementContext,0); +}; + +SqlStatementContext.prototype.administrationStatement = function() { + return this.getTypedRuleContext(AdministrationStatementContext,0); +}; + +SqlStatementContext.prototype.utilityStatement = function() { + return this.getTypedRuleContext(UtilityStatementContext,0); +}; + +SqlStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSqlStatement(this); + } +}; + +SqlStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSqlStatement(this); + } +}; + +SqlStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSqlStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SqlStatementContext = SqlStatementContext; + +SqlParser.prototype.sqlStatement = function() { + + var localctx = new SqlStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 6, SqlParser.RULE_sqlStatement); + try { + this.state = 673; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,9,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 666; + this.ddlStatement(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 667; + this.dmlStatement(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 668; + this.transactionStatement(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 669; + this.replicationStatement(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 670; + this.preparedStatement(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 671; + this.administrationStatement(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 672; + this.utilityStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function EmptyStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_emptyStatement; + return this; +} + +EmptyStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +EmptyStatementContext.prototype.constructor = EmptyStatementContext; + +EmptyStatementContext.prototype.SEMI = function() { + return this.getToken(SqlParser.SEMI, 0); +}; + +EmptyStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterEmptyStatement(this); + } +}; + +EmptyStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitEmptyStatement(this); + } +}; + +EmptyStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitEmptyStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.EmptyStatementContext = EmptyStatementContext; + +SqlParser.prototype.emptyStatement = function() { + + var localctx = new EmptyStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 8, SqlParser.RULE_emptyStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 675; + this.match(SqlParser.SEMI); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DdlStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_ddlStatement; + return this; +} + +DdlStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DdlStatementContext.prototype.constructor = DdlStatementContext; + +DdlStatementContext.prototype.createDatabase = function() { + return this.getTypedRuleContext(CreateDatabaseContext,0); +}; + +DdlStatementContext.prototype.createEvent = function() { + return this.getTypedRuleContext(CreateEventContext,0); +}; + +DdlStatementContext.prototype.createIndex = function() { + return this.getTypedRuleContext(CreateIndexContext,0); +}; + +DdlStatementContext.prototype.createLogfileGroup = function() { + return this.getTypedRuleContext(CreateLogfileGroupContext,0); +}; + +DdlStatementContext.prototype.createProcedure = function() { + return this.getTypedRuleContext(CreateProcedureContext,0); +}; + +DdlStatementContext.prototype.createFunction = function() { + return this.getTypedRuleContext(CreateFunctionContext,0); +}; + +DdlStatementContext.prototype.createServer = function() { + return this.getTypedRuleContext(CreateServerContext,0); +}; + +DdlStatementContext.prototype.createTable = function() { + return this.getTypedRuleContext(CreateTableContext,0); +}; + +DdlStatementContext.prototype.createTablespaceInnodb = function() { + return this.getTypedRuleContext(CreateTablespaceInnodbContext,0); +}; + +DdlStatementContext.prototype.createTablespaceNdb = function() { + return this.getTypedRuleContext(CreateTablespaceNdbContext,0); +}; + +DdlStatementContext.prototype.createTrigger = function() { + return this.getTypedRuleContext(CreateTriggerContext,0); +}; + +DdlStatementContext.prototype.createView = function() { + return this.getTypedRuleContext(CreateViewContext,0); +}; + +DdlStatementContext.prototype.alterDatabase = function() { + return this.getTypedRuleContext(AlterDatabaseContext,0); +}; + +DdlStatementContext.prototype.alterEvent = function() { + return this.getTypedRuleContext(AlterEventContext,0); +}; + +DdlStatementContext.prototype.alterFunction = function() { + return this.getTypedRuleContext(AlterFunctionContext,0); +}; + +DdlStatementContext.prototype.alterInstance = function() { + return this.getTypedRuleContext(AlterInstanceContext,0); +}; + +DdlStatementContext.prototype.alterLogfileGroup = function() { + return this.getTypedRuleContext(AlterLogfileGroupContext,0); +}; + +DdlStatementContext.prototype.alterProcedure = function() { + return this.getTypedRuleContext(AlterProcedureContext,0); +}; + +DdlStatementContext.prototype.alterServer = function() { + return this.getTypedRuleContext(AlterServerContext,0); +}; + +DdlStatementContext.prototype.alterTable = function() { + return this.getTypedRuleContext(AlterTableContext,0); +}; + +DdlStatementContext.prototype.alterTablespace = function() { + return this.getTypedRuleContext(AlterTablespaceContext,0); +}; + +DdlStatementContext.prototype.alterView = function() { + return this.getTypedRuleContext(AlterViewContext,0); +}; + +DdlStatementContext.prototype.dropDatabase = function() { + return this.getTypedRuleContext(DropDatabaseContext,0); +}; + +DdlStatementContext.prototype.dropEvent = function() { + return this.getTypedRuleContext(DropEventContext,0); +}; + +DdlStatementContext.prototype.dropIndex = function() { + return this.getTypedRuleContext(DropIndexContext,0); +}; + +DdlStatementContext.prototype.dropLogfileGroup = function() { + return this.getTypedRuleContext(DropLogfileGroupContext,0); +}; + +DdlStatementContext.prototype.dropProcedure = function() { + return this.getTypedRuleContext(DropProcedureContext,0); +}; + +DdlStatementContext.prototype.dropFunction = function() { + return this.getTypedRuleContext(DropFunctionContext,0); +}; + +DdlStatementContext.prototype.dropServer = function() { + return this.getTypedRuleContext(DropServerContext,0); +}; + +DdlStatementContext.prototype.dropTable = function() { + return this.getTypedRuleContext(DropTableContext,0); +}; + +DdlStatementContext.prototype.dropTablespace = function() { + return this.getTypedRuleContext(DropTablespaceContext,0); +}; + +DdlStatementContext.prototype.dropTrigger = function() { + return this.getTypedRuleContext(DropTriggerContext,0); +}; + +DdlStatementContext.prototype.dropView = function() { + return this.getTypedRuleContext(DropViewContext,0); +}; + +DdlStatementContext.prototype.renameTable = function() { + return this.getTypedRuleContext(RenameTableContext,0); +}; + +DdlStatementContext.prototype.truncateTable = function() { + return this.getTypedRuleContext(TruncateTableContext,0); +}; + +DdlStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDdlStatement(this); + } +}; + +DdlStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDdlStatement(this); + } +}; + +DdlStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDdlStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DdlStatementContext = DdlStatementContext; + +SqlParser.prototype.ddlStatement = function() { + + var localctx = new DdlStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 10, SqlParser.RULE_ddlStatement); + try { + this.state = 712; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,10,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 677; + this.createDatabase(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 678; + this.createEvent(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 679; + this.createIndex(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 680; + this.createLogfileGroup(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 681; + this.createProcedure(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 682; + this.createFunction(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 683; + this.createServer(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 684; + this.createTable(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 685; + this.createTablespaceInnodb(); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 686; + this.createTablespaceNdb(); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 687; + this.createTrigger(); + break; + + case 12: + this.enterOuterAlt(localctx, 12); + this.state = 688; + this.createView(); + break; + + case 13: + this.enterOuterAlt(localctx, 13); + this.state = 689; + this.alterDatabase(); + break; + + case 14: + this.enterOuterAlt(localctx, 14); + this.state = 690; + this.alterEvent(); + break; + + case 15: + this.enterOuterAlt(localctx, 15); + this.state = 691; + this.alterFunction(); + break; + + case 16: + this.enterOuterAlt(localctx, 16); + this.state = 692; + this.alterInstance(); + break; + + case 17: + this.enterOuterAlt(localctx, 17); + this.state = 693; + this.alterLogfileGroup(); + break; + + case 18: + this.enterOuterAlt(localctx, 18); + this.state = 694; + this.alterProcedure(); + break; + + case 19: + this.enterOuterAlt(localctx, 19); + this.state = 695; + this.alterServer(); + break; + + case 20: + this.enterOuterAlt(localctx, 20); + this.state = 696; + this.alterTable(); + break; + + case 21: + this.enterOuterAlt(localctx, 21); + this.state = 697; + this.alterTablespace(); + break; + + case 22: + this.enterOuterAlt(localctx, 22); + this.state = 698; + this.alterView(); + break; + + case 23: + this.enterOuterAlt(localctx, 23); + this.state = 699; + this.dropDatabase(); + break; + + case 24: + this.enterOuterAlt(localctx, 24); + this.state = 700; + this.dropEvent(); + break; + + case 25: + this.enterOuterAlt(localctx, 25); + this.state = 701; + this.dropIndex(); + break; + + case 26: + this.enterOuterAlt(localctx, 26); + this.state = 702; + this.dropLogfileGroup(); + break; + + case 27: + this.enterOuterAlt(localctx, 27); + this.state = 703; + this.dropProcedure(); + break; + + case 28: + this.enterOuterAlt(localctx, 28); + this.state = 704; + this.dropFunction(); + break; + + case 29: + this.enterOuterAlt(localctx, 29); + this.state = 705; + this.dropServer(); + break; + + case 30: + this.enterOuterAlt(localctx, 30); + this.state = 706; + this.dropTable(); + break; + + case 31: + this.enterOuterAlt(localctx, 31); + this.state = 707; + this.dropTablespace(); + break; + + case 32: + this.enterOuterAlt(localctx, 32); + this.state = 708; + this.dropTrigger(); + break; + + case 33: + this.enterOuterAlt(localctx, 33); + this.state = 709; + this.dropView(); + break; + + case 34: + this.enterOuterAlt(localctx, 34); + this.state = 710; + this.renameTable(); + break; + + case 35: + this.enterOuterAlt(localctx, 35); + this.state = 711; + this.truncateTable(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DmlStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dmlStatement; + return this; +} + +DmlStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DmlStatementContext.prototype.constructor = DmlStatementContext; + +DmlStatementContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +DmlStatementContext.prototype.insertStatement = function() { + return this.getTypedRuleContext(InsertStatementContext,0); +}; + +DmlStatementContext.prototype.updateStatement = function() { + return this.getTypedRuleContext(UpdateStatementContext,0); +}; + +DmlStatementContext.prototype.deleteStatement = function() { + return this.getTypedRuleContext(DeleteStatementContext,0); +}; + +DmlStatementContext.prototype.replaceStatement = function() { + return this.getTypedRuleContext(ReplaceStatementContext,0); +}; + +DmlStatementContext.prototype.callStatement = function() { + return this.getTypedRuleContext(CallStatementContext,0); +}; + +DmlStatementContext.prototype.loadDataStatement = function() { + return this.getTypedRuleContext(LoadDataStatementContext,0); +}; + +DmlStatementContext.prototype.loadXmlStatement = function() { + return this.getTypedRuleContext(LoadXmlStatementContext,0); +}; + +DmlStatementContext.prototype.doStatement = function() { + return this.getTypedRuleContext(DoStatementContext,0); +}; + +DmlStatementContext.prototype.handlerStatement = function() { + return this.getTypedRuleContext(HandlerStatementContext,0); +}; + +DmlStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDmlStatement(this); + } +}; + +DmlStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDmlStatement(this); + } +}; + +DmlStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDmlStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DmlStatementContext = DmlStatementContext; + +SqlParser.prototype.dmlStatement = function() { + + var localctx = new DmlStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 12, SqlParser.RULE_dmlStatement); + try { + this.state = 724; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,11,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 714; + this.selectStatement(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 715; + this.insertStatement(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 716; + this.updateStatement(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 717; + this.deleteStatement(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 718; + this.replaceStatement(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 719; + this.callStatement(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 720; + this.loadDataStatement(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 721; + this.loadXmlStatement(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 722; + this.doStatement(); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 723; + this.handlerStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TransactionStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_transactionStatement; + return this; +} + +TransactionStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TransactionStatementContext.prototype.constructor = TransactionStatementContext; + +TransactionStatementContext.prototype.startTransaction = function() { + return this.getTypedRuleContext(StartTransactionContext,0); +}; + +TransactionStatementContext.prototype.beginWork = function() { + return this.getTypedRuleContext(BeginWorkContext,0); +}; + +TransactionStatementContext.prototype.commitWork = function() { + return this.getTypedRuleContext(CommitWorkContext,0); +}; + +TransactionStatementContext.prototype.rollbackWork = function() { + return this.getTypedRuleContext(RollbackWorkContext,0); +}; + +TransactionStatementContext.prototype.savepointStatement = function() { + return this.getTypedRuleContext(SavepointStatementContext,0); +}; + +TransactionStatementContext.prototype.rollbackStatement = function() { + return this.getTypedRuleContext(RollbackStatementContext,0); +}; + +TransactionStatementContext.prototype.releaseStatement = function() { + return this.getTypedRuleContext(ReleaseStatementContext,0); +}; + +TransactionStatementContext.prototype.lockTables = function() { + return this.getTypedRuleContext(LockTablesContext,0); +}; + +TransactionStatementContext.prototype.unlockTables = function() { + return this.getTypedRuleContext(UnlockTablesContext,0); +}; + +TransactionStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTransactionStatement(this); + } +}; + +TransactionStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTransactionStatement(this); + } +}; + +TransactionStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTransactionStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TransactionStatementContext = TransactionStatementContext; + +SqlParser.prototype.transactionStatement = function() { + + var localctx = new TransactionStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 14, SqlParser.RULE_transactionStatement); + try { + this.state = 735; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,12,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 726; + this.startTransaction(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 727; + this.beginWork(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 728; + this.commitWork(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 729; + this.rollbackWork(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 730; + this.savepointStatement(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 731; + this.rollbackStatement(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 732; + this.releaseStatement(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 733; + this.lockTables(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 734; + this.unlockTables(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ReplicationStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_replicationStatement; + return this; +} + +ReplicationStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ReplicationStatementContext.prototype.constructor = ReplicationStatementContext; + +ReplicationStatementContext.prototype.changeMaster = function() { + return this.getTypedRuleContext(ChangeMasterContext,0); +}; + +ReplicationStatementContext.prototype.changeReplicationFilter = function() { + return this.getTypedRuleContext(ChangeReplicationFilterContext,0); +}; + +ReplicationStatementContext.prototype.purgeBinaryLogs = function() { + return this.getTypedRuleContext(PurgeBinaryLogsContext,0); +}; + +ReplicationStatementContext.prototype.resetMaster = function() { + return this.getTypedRuleContext(ResetMasterContext,0); +}; + +ReplicationStatementContext.prototype.resetSlave = function() { + return this.getTypedRuleContext(ResetSlaveContext,0); +}; + +ReplicationStatementContext.prototype.startSlave = function() { + return this.getTypedRuleContext(StartSlaveContext,0); +}; + +ReplicationStatementContext.prototype.stopSlave = function() { + return this.getTypedRuleContext(StopSlaveContext,0); +}; + +ReplicationStatementContext.prototype.startGroupReplication = function() { + return this.getTypedRuleContext(StartGroupReplicationContext,0); +}; + +ReplicationStatementContext.prototype.stopGroupReplication = function() { + return this.getTypedRuleContext(StopGroupReplicationContext,0); +}; + +ReplicationStatementContext.prototype.xaStartTransaction = function() { + return this.getTypedRuleContext(XaStartTransactionContext,0); +}; + +ReplicationStatementContext.prototype.xaEndTransaction = function() { + return this.getTypedRuleContext(XaEndTransactionContext,0); +}; + +ReplicationStatementContext.prototype.xaPrepareStatement = function() { + return this.getTypedRuleContext(XaPrepareStatementContext,0); +}; + +ReplicationStatementContext.prototype.xaCommitWork = function() { + return this.getTypedRuleContext(XaCommitWorkContext,0); +}; + +ReplicationStatementContext.prototype.xaRollbackWork = function() { + return this.getTypedRuleContext(XaRollbackWorkContext,0); +}; + +ReplicationStatementContext.prototype.xaRecoverWork = function() { + return this.getTypedRuleContext(XaRecoverWorkContext,0); +}; + +ReplicationStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterReplicationStatement(this); + } +}; + +ReplicationStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitReplicationStatement(this); + } +}; + +ReplicationStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitReplicationStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ReplicationStatementContext = ReplicationStatementContext; + +SqlParser.prototype.replicationStatement = function() { + + var localctx = new ReplicationStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 16, SqlParser.RULE_replicationStatement); + try { + this.state = 752; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,13,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 737; + this.changeMaster(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 738; + this.changeReplicationFilter(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 739; + this.purgeBinaryLogs(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 740; + this.resetMaster(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 741; + this.resetSlave(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 742; + this.startSlave(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 743; + this.stopSlave(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 744; + this.startGroupReplication(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 745; + this.stopGroupReplication(); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 746; + this.xaStartTransaction(); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 747; + this.xaEndTransaction(); + break; + + case 12: + this.enterOuterAlt(localctx, 12); + this.state = 748; + this.xaPrepareStatement(); + break; + + case 13: + this.enterOuterAlt(localctx, 13); + this.state = 749; + this.xaCommitWork(); + break; + + case 14: + this.enterOuterAlt(localctx, 14); + this.state = 750; + this.xaRollbackWork(); + break; + + case 15: + this.enterOuterAlt(localctx, 15); + this.state = 751; + this.xaRecoverWork(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PreparedStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_preparedStatement; + return this; +} + +PreparedStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PreparedStatementContext.prototype.constructor = PreparedStatementContext; + +PreparedStatementContext.prototype.prepareStatement = function() { + return this.getTypedRuleContext(PrepareStatementContext,0); +}; + +PreparedStatementContext.prototype.executeStatement = function() { + return this.getTypedRuleContext(ExecuteStatementContext,0); +}; + +PreparedStatementContext.prototype.deallocatePrepare = function() { + return this.getTypedRuleContext(DeallocatePrepareContext,0); +}; + +PreparedStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPreparedStatement(this); + } +}; + +PreparedStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPreparedStatement(this); + } +}; + +PreparedStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPreparedStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PreparedStatementContext = PreparedStatementContext; + +SqlParser.prototype.preparedStatement = function() { + + var localctx = new PreparedStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 18, SqlParser.RULE_preparedStatement); + try { + this.state = 757; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.PREPARE: + this.enterOuterAlt(localctx, 1); + this.state = 754; + this.prepareStatement(); + break; + case SqlParser.EXECUTE: + this.enterOuterAlt(localctx, 2); + this.state = 755; + this.executeStatement(); + break; + case SqlParser.DROP: + case SqlParser.DEALLOCATE: + this.enterOuterAlt(localctx, 3); + this.state = 756; + this.deallocatePrepare(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CompoundStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_compoundStatement; + return this; +} + +CompoundStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CompoundStatementContext.prototype.constructor = CompoundStatementContext; + +CompoundStatementContext.prototype.blockStatement = function() { + return this.getTypedRuleContext(BlockStatementContext,0); +}; + +CompoundStatementContext.prototype.caseStatement = function() { + return this.getTypedRuleContext(CaseStatementContext,0); +}; + +CompoundStatementContext.prototype.ifStatement = function() { + return this.getTypedRuleContext(IfStatementContext,0); +}; + +CompoundStatementContext.prototype.leaveStatement = function() { + return this.getTypedRuleContext(LeaveStatementContext,0); +}; + +CompoundStatementContext.prototype.loopStatement = function() { + return this.getTypedRuleContext(LoopStatementContext,0); +}; + +CompoundStatementContext.prototype.repeatStatement = function() { + return this.getTypedRuleContext(RepeatStatementContext,0); +}; + +CompoundStatementContext.prototype.whileStatement = function() { + return this.getTypedRuleContext(WhileStatementContext,0); +}; + +CompoundStatementContext.prototype.iterateStatement = function() { + return this.getTypedRuleContext(IterateStatementContext,0); +}; + +CompoundStatementContext.prototype.returnStatement = function() { + return this.getTypedRuleContext(ReturnStatementContext,0); +}; + +CompoundStatementContext.prototype.cursorStatement = function() { + return this.getTypedRuleContext(CursorStatementContext,0); +}; + +CompoundStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCompoundStatement(this); + } +}; + +CompoundStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCompoundStatement(this); + } +}; + +CompoundStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCompoundStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CompoundStatementContext = CompoundStatementContext; + +SqlParser.prototype.compoundStatement = function() { + + var localctx = new CompoundStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 20, SqlParser.RULE_compoundStatement); + try { + this.state = 769; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,15,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 759; + this.blockStatement(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 760; + this.caseStatement(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 761; + this.ifStatement(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 762; + this.leaveStatement(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 763; + this.loopStatement(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 764; + this.repeatStatement(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 765; + this.whileStatement(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 766; + this.iterateStatement(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 767; + this.returnStatement(); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 768; + this.cursorStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AdministrationStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_administrationStatement; + return this; +} + +AdministrationStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AdministrationStatementContext.prototype.constructor = AdministrationStatementContext; + +AdministrationStatementContext.prototype.alterUser = function() { + return this.getTypedRuleContext(AlterUserContext,0); +}; + +AdministrationStatementContext.prototype.createUser = function() { + return this.getTypedRuleContext(CreateUserContext,0); +}; + +AdministrationStatementContext.prototype.dropUser = function() { + return this.getTypedRuleContext(DropUserContext,0); +}; + +AdministrationStatementContext.prototype.grantStatement = function() { + return this.getTypedRuleContext(GrantStatementContext,0); +}; + +AdministrationStatementContext.prototype.grantProxy = function() { + return this.getTypedRuleContext(GrantProxyContext,0); +}; + +AdministrationStatementContext.prototype.renameUser = function() { + return this.getTypedRuleContext(RenameUserContext,0); +}; + +AdministrationStatementContext.prototype.revokeStatement = function() { + return this.getTypedRuleContext(RevokeStatementContext,0); +}; + +AdministrationStatementContext.prototype.revokeProxy = function() { + return this.getTypedRuleContext(RevokeProxyContext,0); +}; + +AdministrationStatementContext.prototype.analyzeTable = function() { + return this.getTypedRuleContext(AnalyzeTableContext,0); +}; + +AdministrationStatementContext.prototype.checkTable = function() { + return this.getTypedRuleContext(CheckTableContext,0); +}; + +AdministrationStatementContext.prototype.checksumTable = function() { + return this.getTypedRuleContext(ChecksumTableContext,0); +}; + +AdministrationStatementContext.prototype.optimizeTable = function() { + return this.getTypedRuleContext(OptimizeTableContext,0); +}; + +AdministrationStatementContext.prototype.repairTable = function() { + return this.getTypedRuleContext(RepairTableContext,0); +}; + +AdministrationStatementContext.prototype.createUdfunction = function() { + return this.getTypedRuleContext(CreateUdfunctionContext,0); +}; + +AdministrationStatementContext.prototype.installPlugin = function() { + return this.getTypedRuleContext(InstallPluginContext,0); +}; + +AdministrationStatementContext.prototype.uninstallPlugin = function() { + return this.getTypedRuleContext(UninstallPluginContext,0); +}; + +AdministrationStatementContext.prototype.setStatement = function() { + return this.getTypedRuleContext(SetStatementContext,0); +}; + +AdministrationStatementContext.prototype.showStatement = function() { + return this.getTypedRuleContext(ShowStatementContext,0); +}; + +AdministrationStatementContext.prototype.binlogStatement = function() { + return this.getTypedRuleContext(BinlogStatementContext,0); +}; + +AdministrationStatementContext.prototype.cacheIndexStatement = function() { + return this.getTypedRuleContext(CacheIndexStatementContext,0); +}; + +AdministrationStatementContext.prototype.flushStatement = function() { + return this.getTypedRuleContext(FlushStatementContext,0); +}; + +AdministrationStatementContext.prototype.killStatement = function() { + return this.getTypedRuleContext(KillStatementContext,0); +}; + +AdministrationStatementContext.prototype.loadIndexIntoCache = function() { + return this.getTypedRuleContext(LoadIndexIntoCacheContext,0); +}; + +AdministrationStatementContext.prototype.resetStatement = function() { + return this.getTypedRuleContext(ResetStatementContext,0); +}; + +AdministrationStatementContext.prototype.shutdownStatement = function() { + return this.getTypedRuleContext(ShutdownStatementContext,0); +}; + +AdministrationStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAdministrationStatement(this); + } +}; + +AdministrationStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAdministrationStatement(this); + } +}; + +AdministrationStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAdministrationStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AdministrationStatementContext = AdministrationStatementContext; + +SqlParser.prototype.administrationStatement = function() { + + var localctx = new AdministrationStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 22, SqlParser.RULE_administrationStatement); + try { + this.state = 796; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,16,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 771; + this.alterUser(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 772; + this.createUser(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 773; + this.dropUser(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 774; + this.grantStatement(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 775; + this.grantProxy(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 776; + this.renameUser(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 777; + this.revokeStatement(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 778; + this.revokeProxy(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 779; + this.analyzeTable(); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 780; + this.checkTable(); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 781; + this.checksumTable(); + break; + + case 12: + this.enterOuterAlt(localctx, 12); + this.state = 782; + this.optimizeTable(); + break; + + case 13: + this.enterOuterAlt(localctx, 13); + this.state = 783; + this.repairTable(); + break; + + case 14: + this.enterOuterAlt(localctx, 14); + this.state = 784; + this.createUdfunction(); + break; + + case 15: + this.enterOuterAlt(localctx, 15); + this.state = 785; + this.installPlugin(); + break; + + case 16: + this.enterOuterAlt(localctx, 16); + this.state = 786; + this.uninstallPlugin(); + break; + + case 17: + this.enterOuterAlt(localctx, 17); + this.state = 787; + this.setStatement(); + break; + + case 18: + this.enterOuterAlt(localctx, 18); + this.state = 788; + this.showStatement(); + break; + + case 19: + this.enterOuterAlt(localctx, 19); + this.state = 789; + this.binlogStatement(); + break; + + case 20: + this.enterOuterAlt(localctx, 20); + this.state = 790; + this.cacheIndexStatement(); + break; + + case 21: + this.enterOuterAlt(localctx, 21); + this.state = 791; + this.flushStatement(); + break; + + case 22: + this.enterOuterAlt(localctx, 22); + this.state = 792; + this.killStatement(); + break; + + case 23: + this.enterOuterAlt(localctx, 23); + this.state = 793; + this.loadIndexIntoCache(); + break; + + case 24: + this.enterOuterAlt(localctx, 24); + this.state = 794; + this.resetStatement(); + break; + + case 25: + this.enterOuterAlt(localctx, 25); + this.state = 795; + this.shutdownStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UtilityStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_utilityStatement; + return this; +} + +UtilityStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UtilityStatementContext.prototype.constructor = UtilityStatementContext; + +UtilityStatementContext.prototype.simpleDescribeStatement = function() { + return this.getTypedRuleContext(SimpleDescribeStatementContext,0); +}; + +UtilityStatementContext.prototype.fullDescribeStatement = function() { + return this.getTypedRuleContext(FullDescribeStatementContext,0); +}; + +UtilityStatementContext.prototype.helpStatement = function() { + return this.getTypedRuleContext(HelpStatementContext,0); +}; + +UtilityStatementContext.prototype.useStatement = function() { + return this.getTypedRuleContext(UseStatementContext,0); +}; + +UtilityStatementContext.prototype.signalStatement = function() { + return this.getTypedRuleContext(SignalStatementContext,0); +}; + +UtilityStatementContext.prototype.resignalStatement = function() { + return this.getTypedRuleContext(ResignalStatementContext,0); +}; + +UtilityStatementContext.prototype.diagnosticsStatement = function() { + return this.getTypedRuleContext(DiagnosticsStatementContext,0); +}; + +UtilityStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUtilityStatement(this); + } +}; + +UtilityStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUtilityStatement(this); + } +}; + +UtilityStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUtilityStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UtilityStatementContext = UtilityStatementContext; + +SqlParser.prototype.utilityStatement = function() { + + var localctx = new UtilityStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 24, SqlParser.RULE_utilityStatement); + try { + this.state = 805; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,17,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 798; + this.simpleDescribeStatement(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 799; + this.fullDescribeStatement(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 800; + this.helpStatement(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 801; + this.useStatement(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 802; + this.signalStatement(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 803; + this.resignalStatement(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 804; + this.diagnosticsStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateDatabaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createDatabase; + this.dbFormat = null; // Token + return this; +} + +CreateDatabaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateDatabaseContext.prototype.constructor = CreateDatabaseContext; + +CreateDatabaseContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateDatabaseContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +CreateDatabaseContext.prototype.DATABASE = function() { + return this.getToken(SqlParser.DATABASE, 0); +}; + +CreateDatabaseContext.prototype.SCHEMA = function() { + return this.getToken(SqlParser.SCHEMA, 0); +}; + +CreateDatabaseContext.prototype.ifNotExists = function() { + return this.getTypedRuleContext(IfNotExistsContext,0); +}; + +CreateDatabaseContext.prototype.createDatabaseOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(CreateDatabaseOptionContext); + } else { + return this.getTypedRuleContext(CreateDatabaseOptionContext,i); + } +}; + +CreateDatabaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateDatabase(this); + } +}; + +CreateDatabaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateDatabase(this); + } +}; + +CreateDatabaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateDatabase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateDatabaseContext = CreateDatabaseContext; + +SqlParser.prototype.createDatabase = function() { + + var localctx = new CreateDatabaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 26, SqlParser.RULE_createDatabase); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 807; + this.match(SqlParser.CREATE); + this.state = 808; + localctx.dbFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DATABASE || _la===SqlParser.SCHEMA)) { + localctx.dbFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 810; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 809; + this.ifNotExists(); + } + + this.state = 812; + this.uid(); + this.state = 816; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(((((_la - 22)) & ~0x1f) == 0 && ((1 << (_la - 22)) & ((1 << (SqlParser.CHARACTER - 22)) | (1 << (SqlParser.COLLATE - 22)) | (1 << (SqlParser.DEFAULT - 22)))) !== 0) || _la===SqlParser.CHARSET) { + this.state = 813; + this.createDatabaseOption(); + this.state = 818; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateEventContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createEvent; + return this; +} + +CreateEventContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateEventContext.prototype.constructor = CreateEventContext; + +CreateEventContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateEventContext.prototype.EVENT = function() { + return this.getToken(SqlParser.EVENT, 0); +}; + +CreateEventContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +CreateEventContext.prototype.ON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.ON); + } else { + return this.getToken(SqlParser.ON, i); + } +}; + + +CreateEventContext.prototype.SCHEDULE = function() { + return this.getToken(SqlParser.SCHEDULE, 0); +}; + +CreateEventContext.prototype.scheduleExpression = function() { + return this.getTypedRuleContext(ScheduleExpressionContext,0); +}; + +CreateEventContext.prototype.DO = function() { + return this.getToken(SqlParser.DO, 0); +}; + +CreateEventContext.prototype.routineBody = function() { + return this.getTypedRuleContext(RoutineBodyContext,0); +}; + +CreateEventContext.prototype.ownerStatement = function() { + return this.getTypedRuleContext(OwnerStatementContext,0); +}; + +CreateEventContext.prototype.ifNotExists = function() { + return this.getTypedRuleContext(IfNotExistsContext,0); +}; + +CreateEventContext.prototype.COMPLETION = function() { + return this.getToken(SqlParser.COMPLETION, 0); +}; + +CreateEventContext.prototype.PRESERVE = function() { + return this.getToken(SqlParser.PRESERVE, 0); +}; + +CreateEventContext.prototype.enableType = function() { + return this.getTypedRuleContext(EnableTypeContext,0); +}; + +CreateEventContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +CreateEventContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +CreateEventContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +CreateEventContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateEvent(this); + } +}; + +CreateEventContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateEvent(this); + } +}; + +CreateEventContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateEvent(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateEventContext = CreateEventContext; + +SqlParser.prototype.createEvent = function() { + + var localctx = new CreateEventContext(this, this._ctx, this.state); + this.enterRule(localctx, 28, SqlParser.RULE_createEvent); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 819; + this.match(SqlParser.CREATE); + this.state = 821; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFINER) { + this.state = 820; + this.ownerStatement(); + } + + this.state = 823; + this.match(SqlParser.EVENT); + this.state = 825; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 824; + this.ifNotExists(); + } + + this.state = 827; + this.fullId(); + this.state = 828; + this.match(SqlParser.ON); + this.state = 829; + this.match(SqlParser.SCHEDULE); + this.state = 830; + this.scheduleExpression(); + this.state = 837; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ON) { + this.state = 831; + this.match(SqlParser.ON); + this.state = 832; + this.match(SqlParser.COMPLETION); + this.state = 834; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 833; + this.match(SqlParser.NOT); + } + + this.state = 836; + this.match(SqlParser.PRESERVE); + } + + this.state = 840; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DISABLE || _la===SqlParser.ENABLE) { + this.state = 839; + this.enableType(); + } + + this.state = 844; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMENT) { + this.state = 842; + this.match(SqlParser.COMMENT); + this.state = 843; + this.match(SqlParser.STRING_LITERAL); + } + + this.state = 846; + this.match(SqlParser.DO); + this.state = 847; + this.routineBody(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateIndexContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createIndex; + this.intimeAction = null; // Token + this.indexCategory = null; // Token + this.algType = null; // Token + this.lockType = null; // Token + return this; +} + +CreateIndexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateIndexContext.prototype.constructor = CreateIndexContext; + +CreateIndexContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateIndexContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +CreateIndexContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +CreateIndexContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +CreateIndexContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +CreateIndexContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +CreateIndexContext.prototype.indexType = function() { + return this.getTypedRuleContext(IndexTypeContext,0); +}; + +CreateIndexContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; + +CreateIndexContext.prototype.ALGORITHM = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.ALGORITHM); + } else { + return this.getToken(SqlParser.ALGORITHM, i); + } +}; + + +CreateIndexContext.prototype.LOCK = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LOCK); + } else { + return this.getToken(SqlParser.LOCK, i); + } +}; + + +CreateIndexContext.prototype.ONLINE = function() { + return this.getToken(SqlParser.ONLINE, 0); +}; + +CreateIndexContext.prototype.OFFLINE = function() { + return this.getToken(SqlParser.OFFLINE, 0); +}; + +CreateIndexContext.prototype.UNIQUE = function() { + return this.getToken(SqlParser.UNIQUE, 0); +}; + +CreateIndexContext.prototype.FULLTEXT = function() { + return this.getToken(SqlParser.FULLTEXT, 0); +}; + +CreateIndexContext.prototype.SPATIAL = function() { + return this.getToken(SqlParser.SPATIAL, 0); +}; + +CreateIndexContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.DEFAULT); + } else { + return this.getToken(SqlParser.DEFAULT, i); + } +}; + + +CreateIndexContext.prototype.INPLACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.INPLACE); + } else { + return this.getToken(SqlParser.INPLACE, i); + } +}; + + +CreateIndexContext.prototype.COPY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COPY); + } else { + return this.getToken(SqlParser.COPY, i); + } +}; + + +CreateIndexContext.prototype.NONE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.NONE); + } else { + return this.getToken(SqlParser.NONE, i); + } +}; + + +CreateIndexContext.prototype.SHARED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.SHARED); + } else { + return this.getToken(SqlParser.SHARED, i); + } +}; + + +CreateIndexContext.prototype.EXCLUSIVE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EXCLUSIVE); + } else { + return this.getToken(SqlParser.EXCLUSIVE, i); + } +}; + + +CreateIndexContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +CreateIndexContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateIndex(this); + } +}; + +CreateIndexContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateIndex(this); + } +}; + +CreateIndexContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateIndex(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateIndexContext = CreateIndexContext; + +SqlParser.prototype.createIndex = function() { + + var localctx = new CreateIndexContext(this, this._ctx, this.state); + this.enterRule(localctx, 30, SqlParser.RULE_createIndex); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 849; + this.match(SqlParser.CREATE); + this.state = 851; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.OFFLINE || _la===SqlParser.ONLINE) { + this.state = 850; + localctx.intimeAction = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.OFFLINE || _la===SqlParser.ONLINE)) { + localctx.intimeAction = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 854; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FULLTEXT || _la===SqlParser.SPATIAL || _la===SqlParser.UNIQUE) { + this.state = 853; + localctx.indexCategory = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FULLTEXT || _la===SqlParser.SPATIAL || _la===SqlParser.UNIQUE)) { + localctx.indexCategory = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 856; + this.match(SqlParser.INDEX); + this.state = 857; + this.uid(); + this.state = 859; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 858; + this.indexType(); + } + + this.state = 861; + this.match(SqlParser.ON); + this.state = 862; + this.tableName(); + this.state = 863; + this.indexColumnNames(); + this.state = 867; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 864; + this.indexOption(); + this.state = 869; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 882; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,33,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 880; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ALGORITHM: + this.state = 870; + this.match(SqlParser.ALGORITHM); + this.state = 872; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 871; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 874; + localctx.algType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.COPY || _la===SqlParser.INPLACE)) { + localctx.algType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.LOCK: + this.state = 875; + this.match(SqlParser.LOCK); + this.state = 877; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 876; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 879; + localctx.lockType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.EXCLUSIVE || _la===SqlParser.NONE || _la===SqlParser.SHARED)) { + localctx.lockType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + this.state = 884; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,33,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateLogfileGroupContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createLogfileGroup; + this.undoFile = null; // Token + this.initSize = null; // FileSizeLiteralContext + this.undoSize = null; // FileSizeLiteralContext + this.redoSize = null; // FileSizeLiteralContext + this.comment = null; // Token + return this; +} + +CreateLogfileGroupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateLogfileGroupContext.prototype.constructor = CreateLogfileGroupContext; + +CreateLogfileGroupContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateLogfileGroupContext.prototype.LOGFILE = function() { + return this.getToken(SqlParser.LOGFILE, 0); +}; + +CreateLogfileGroupContext.prototype.GROUP = function() { + return this.getToken(SqlParser.GROUP, 0); +}; + +CreateLogfileGroupContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +CreateLogfileGroupContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +CreateLogfileGroupContext.prototype.UNDOFILE = function() { + return this.getToken(SqlParser.UNDOFILE, 0); +}; + +CreateLogfileGroupContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +CreateLogfileGroupContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +CreateLogfileGroupContext.prototype.STRING_LITERAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.STRING_LITERAL); + } else { + return this.getToken(SqlParser.STRING_LITERAL, i); + } +}; + + +CreateLogfileGroupContext.prototype.INITIAL_SIZE = function() { + return this.getToken(SqlParser.INITIAL_SIZE, 0); +}; + +CreateLogfileGroupContext.prototype.UNDO_BUFFER_SIZE = function() { + return this.getToken(SqlParser.UNDO_BUFFER_SIZE, 0); +}; + +CreateLogfileGroupContext.prototype.REDO_BUFFER_SIZE = function() { + return this.getToken(SqlParser.REDO_BUFFER_SIZE, 0); +}; + +CreateLogfileGroupContext.prototype.NODEGROUP = function() { + return this.getToken(SqlParser.NODEGROUP, 0); +}; + +CreateLogfileGroupContext.prototype.WAIT = function() { + return this.getToken(SqlParser.WAIT, 0); +}; + +CreateLogfileGroupContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +CreateLogfileGroupContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +CreateLogfileGroupContext.prototype.fileSizeLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FileSizeLiteralContext); + } else { + return this.getTypedRuleContext(FileSizeLiteralContext,i); + } +}; + +CreateLogfileGroupContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateLogfileGroup(this); + } +}; + +CreateLogfileGroupContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateLogfileGroup(this); + } +}; + +CreateLogfileGroupContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateLogfileGroup(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateLogfileGroupContext = CreateLogfileGroupContext; + +SqlParser.prototype.createLogfileGroup = function() { + + var localctx = new CreateLogfileGroupContext(this, this._ctx, this.state); + this.enterRule(localctx, 32, SqlParser.RULE_createLogfileGroup); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 885; + this.match(SqlParser.CREATE); + this.state = 886; + this.match(SqlParser.LOGFILE); + this.state = 887; + this.match(SqlParser.GROUP); + this.state = 888; + this.uid(); + this.state = 889; + this.match(SqlParser.ADD); + this.state = 890; + this.match(SqlParser.UNDOFILE); + this.state = 891; + localctx.undoFile = this.match(SqlParser.STRING_LITERAL); + this.state = 897; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INITIAL_SIZE) { + this.state = 892; + this.match(SqlParser.INITIAL_SIZE); + this.state = 894; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 893; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 896; + localctx.initSize = this.fileSizeLiteral(); + } + + this.state = 904; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.UNDO_BUFFER_SIZE) { + this.state = 899; + this.match(SqlParser.UNDO_BUFFER_SIZE); + this.state = 901; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 900; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 903; + localctx.undoSize = this.fileSizeLiteral(); + } + + this.state = 911; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.REDO_BUFFER_SIZE) { + this.state = 906; + this.match(SqlParser.REDO_BUFFER_SIZE); + this.state = 908; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 907; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 910; + localctx.redoSize = this.fileSizeLiteral(); + } + + this.state = 918; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NODEGROUP) { + this.state = 913; + this.match(SqlParser.NODEGROUP); + this.state = 915; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 914; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 917; + this.uid(); + } + + this.state = 921; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WAIT) { + this.state = 920; + this.match(SqlParser.WAIT); + } + + this.state = 928; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMENT) { + this.state = 923; + this.match(SqlParser.COMMENT); + this.state = 925; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 924; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 927; + localctx.comment = this.match(SqlParser.STRING_LITERAL); + } + + this.state = 930; + this.match(SqlParser.ENGINE); + this.state = 932; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 931; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 934; + this.engineName(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateProcedureContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createProcedure; + return this; +} + +CreateProcedureContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateProcedureContext.prototype.constructor = CreateProcedureContext; + +CreateProcedureContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateProcedureContext.prototype.PROCEDURE = function() { + return this.getToken(SqlParser.PROCEDURE, 0); +}; + +CreateProcedureContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +CreateProcedureContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CreateProcedureContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CreateProcedureContext.prototype.routineBody = function() { + return this.getTypedRuleContext(RoutineBodyContext,0); +}; + +CreateProcedureContext.prototype.ownerStatement = function() { + return this.getTypedRuleContext(OwnerStatementContext,0); +}; + +CreateProcedureContext.prototype.procedureParameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureParameterContext); + } else { + return this.getTypedRuleContext(ProcedureParameterContext,i); + } +}; + +CreateProcedureContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +CreateProcedureContext.prototype.routineOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(RoutineOptionContext); + } else { + return this.getTypedRuleContext(RoutineOptionContext,i); + } +}; + +CreateProcedureContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateProcedure(this); + } +}; + +CreateProcedureContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateProcedure(this); + } +}; + +CreateProcedureContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateProcedure(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateProcedureContext = CreateProcedureContext; + +SqlParser.prototype.createProcedure = function() { + + var localctx = new CreateProcedureContext(this, this._ctx, this.state); + this.enterRule(localctx, 34, SqlParser.RULE_createProcedure); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 936; + this.match(SqlParser.CREATE); + this.state = 938; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFINER) { + this.state = 937; + this.ownerStatement(); + } + + this.state = 940; + this.match(SqlParser.PROCEDURE); + this.state = 941; + this.fullId(); + this.state = 942; + this.match(SqlParser.LR_BRACKET); + this.state = 944; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || ((((_la - 71)) & ~0x1f) == 0 && ((1 << (_la - 71)) & ((1 << (SqlParser.IN - 71)) | (1 << (SqlParser.INOUT - 71)) | (1 << (SqlParser.LEFT - 71)))) !== 0) || ((((_la - 105)) & ~0x1f) == 0 && ((1 << (_la - 105)) & ((1 << (SqlParser.NUMBER - 105)) | (1 << (SqlParser.OUT - 105)) | (1 << (SqlParser.RIGHT - 105)))) !== 0) || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 943; + this.procedureParameter(); + } + + this.state = 950; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 946; + this.match(SqlParser.COMMA); + this.state = 947; + this.procedureParameter(); + this.state = 952; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 953; + this.match(SqlParser.RR_BRACKET); + this.state = 957; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,49,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 954; + this.routineOption(); + } + this.state = 959; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,49,this._ctx); + } + + this.state = 960; + this.routineBody(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateFunctionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createFunction; + return this; +} + +CreateFunctionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateFunctionContext.prototype.constructor = CreateFunctionContext; + +CreateFunctionContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateFunctionContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +CreateFunctionContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +CreateFunctionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CreateFunctionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CreateFunctionContext.prototype.RETURNS = function() { + return this.getToken(SqlParser.RETURNS, 0); +}; + +CreateFunctionContext.prototype.dataType = function() { + return this.getTypedRuleContext(DataTypeContext,0); +}; + +CreateFunctionContext.prototype.routineBody = function() { + return this.getTypedRuleContext(RoutineBodyContext,0); +}; + +CreateFunctionContext.prototype.returnStatement = function() { + return this.getTypedRuleContext(ReturnStatementContext,0); +}; + +CreateFunctionContext.prototype.ownerStatement = function() { + return this.getTypedRuleContext(OwnerStatementContext,0); +}; + +CreateFunctionContext.prototype.functionParameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FunctionParameterContext); + } else { + return this.getTypedRuleContext(FunctionParameterContext,i); + } +}; + +CreateFunctionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +CreateFunctionContext.prototype.routineOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(RoutineOptionContext); + } else { + return this.getTypedRuleContext(RoutineOptionContext,i); + } +}; + +CreateFunctionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateFunction(this); + } +}; + +CreateFunctionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateFunction(this); + } +}; + +CreateFunctionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateFunction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateFunctionContext = CreateFunctionContext; + +SqlParser.prototype.createFunction = function() { + + var localctx = new CreateFunctionContext(this, this._ctx, this.state); + this.enterRule(localctx, 36, SqlParser.RULE_createFunction); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 962; + this.match(SqlParser.CREATE); + this.state = 964; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFINER) { + this.state = 963; + this.ownerStatement(); + } + + this.state = 966; + this.match(SqlParser.FUNCTION); + this.state = 967; + this.fullId(); + this.state = 968; + this.match(SqlParser.LR_BRACKET); + this.state = 970; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 969; + this.functionParameter(); + } + + this.state = 976; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 972; + this.match(SqlParser.COMMA); + this.state = 973; + this.functionParameter(); + this.state = 978; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 979; + this.match(SqlParser.RR_BRACKET); + this.state = 980; + this.match(SqlParser.RETURNS); + this.state = 981; + this.dataType(); + this.state = 985; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,53,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 982; + this.routineOption(); + } + this.state = 987; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,53,this._ctx); + } + + this.state = 990; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ALTER: + case SqlParser.ANALYZE: + case SqlParser.CALL: + case SqlParser.CHANGE: + case SqlParser.CHECK: + case SqlParser.CREATE: + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DELETE: + case SqlParser.DESC: + case SqlParser.DESCRIBE: + case SqlParser.DIAGNOSTICS: + case SqlParser.DROP: + case SqlParser.EXPLAIN: + case SqlParser.GET: + case SqlParser.GRANT: + case SqlParser.INSERT: + case SqlParser.KILL: + case SqlParser.LEFT: + case SqlParser.LOAD: + case SqlParser.LOCK: + case SqlParser.NUMBER: + case SqlParser.OPTIMIZE: + case SqlParser.PURGE: + case SqlParser.RELEASE: + case SqlParser.RENAME: + case SqlParser.REPLACE: + case SqlParser.RESIGNAL: + case SqlParser.REVOKE: + case SqlParser.RIGHT: + case SqlParser.SELECT: + case SqlParser.SET: + case SqlParser.SHOW: + case SqlParser.SIGNAL: + case SqlParser.STACKED: + case SqlParser.UNLOCK: + case SqlParser.UPDATE: + case SqlParser.USE: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.LR_BRACKET: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 988; + this.routineBody(); + break; + case SqlParser.RETURN: + this.state = 989; + this.returnStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateServerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createServer; + this.wrapperName = null; // Token + return this; +} + +CreateServerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateServerContext.prototype.constructor = CreateServerContext; + +CreateServerContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateServerContext.prototype.SERVER = function() { + return this.getToken(SqlParser.SERVER, 0); +}; + +CreateServerContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +CreateServerContext.prototype.FOREIGN = function() { + return this.getToken(SqlParser.FOREIGN, 0); +}; + +CreateServerContext.prototype.DATA = function() { + return this.getToken(SqlParser.DATA, 0); +}; + +CreateServerContext.prototype.WRAPPER = function() { + return this.getToken(SqlParser.WRAPPER, 0); +}; + +CreateServerContext.prototype.OPTIONS = function() { + return this.getToken(SqlParser.OPTIONS, 0); +}; + +CreateServerContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CreateServerContext.prototype.serverOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ServerOptionContext); + } else { + return this.getTypedRuleContext(ServerOptionContext,i); + } +}; + +CreateServerContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CreateServerContext.prototype.MYSQL = function() { + return this.getToken(SqlParser.MYSQL, 0); +}; + +CreateServerContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +CreateServerContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +CreateServerContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateServer(this); + } +}; + +CreateServerContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateServer(this); + } +}; + +CreateServerContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateServer(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateServerContext = CreateServerContext; + +SqlParser.prototype.createServer = function() { + + var localctx = new CreateServerContext(this, this._ctx, this.state); + this.enterRule(localctx, 38, SqlParser.RULE_createServer); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 992; + this.match(SqlParser.CREATE); + this.state = 993; + this.match(SqlParser.SERVER); + this.state = 994; + this.uid(); + this.state = 995; + this.match(SqlParser.FOREIGN); + this.state = 996; + this.match(SqlParser.DATA); + this.state = 997; + this.match(SqlParser.WRAPPER); + this.state = 998; + localctx.wrapperName = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.MYSQL || _la===SqlParser.STRING_LITERAL)) { + localctx.wrapperName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 999; + this.match(SqlParser.OPTIONS); + this.state = 1000; + this.match(SqlParser.LR_BRACKET); + this.state = 1001; + this.serverOption(); + this.state = 1006; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 1002; + this.match(SqlParser.COMMA); + this.state = 1003; + this.serverOption(); + this.state = 1008; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1009; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createTable; + return this; +} + +CreateTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateTableContext.prototype.constructor = CreateTableContext; + + + +CreateTableContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function CopyCreateTableContext(parser, ctx) { + CreateTableContext.call(this, parser); + this.parenthesisTable = null; // TableNameContext; + CreateTableContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CopyCreateTableContext.prototype = Object.create(CreateTableContext.prototype); +CopyCreateTableContext.prototype.constructor = CopyCreateTableContext; + +SqlParser.CopyCreateTableContext = CopyCreateTableContext; + +CopyCreateTableContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CopyCreateTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +CopyCreateTableContext.prototype.tableName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableNameContext); + } else { + return this.getTypedRuleContext(TableNameContext,i); + } +}; + +CopyCreateTableContext.prototype.LIKE = function() { + return this.getToken(SqlParser.LIKE, 0); +}; + +CopyCreateTableContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CopyCreateTableContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CopyCreateTableContext.prototype.TEMPORARY = function() { + return this.getToken(SqlParser.TEMPORARY, 0); +}; + +CopyCreateTableContext.prototype.ifNotExists = function() { + return this.getTypedRuleContext(IfNotExistsContext,0); +}; +CopyCreateTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCopyCreateTable(this); + } +}; + +CopyCreateTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCopyCreateTable(this); + } +}; + +CopyCreateTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCopyCreateTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ColumnCreateTableContext(parser, ctx) { + CreateTableContext.call(this, parser); + CreateTableContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ColumnCreateTableContext.prototype = Object.create(CreateTableContext.prototype); +ColumnCreateTableContext.prototype.constructor = ColumnCreateTableContext; + +SqlParser.ColumnCreateTableContext = ColumnCreateTableContext; + +ColumnCreateTableContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +ColumnCreateTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +ColumnCreateTableContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +ColumnCreateTableContext.prototype.createDefinitions = function() { + return this.getTypedRuleContext(CreateDefinitionsContext,0); +}; + +ColumnCreateTableContext.prototype.TEMPORARY = function() { + return this.getToken(SqlParser.TEMPORARY, 0); +}; + +ColumnCreateTableContext.prototype.ifNotExists = function() { + return this.getTypedRuleContext(IfNotExistsContext,0); +}; + +ColumnCreateTableContext.prototype.tableOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableOptionContext); + } else { + return this.getTypedRuleContext(TableOptionContext,i); + } +}; + +ColumnCreateTableContext.prototype.partitionDefinitions = function() { + return this.getTypedRuleContext(PartitionDefinitionsContext,0); +}; + +ColumnCreateTableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +ColumnCreateTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterColumnCreateTable(this); + } +}; + +ColumnCreateTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitColumnCreateTable(this); + } +}; + +ColumnCreateTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitColumnCreateTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function QueryCreateTableContext(parser, ctx) { + CreateTableContext.call(this, parser); + this.keyViolate = null; // Token; + CreateTableContext.prototype.copyFrom.call(this, ctx); + return this; +} + +QueryCreateTableContext.prototype = Object.create(CreateTableContext.prototype); +QueryCreateTableContext.prototype.constructor = QueryCreateTableContext; + +SqlParser.QueryCreateTableContext = QueryCreateTableContext; + +QueryCreateTableContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +QueryCreateTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +QueryCreateTableContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +QueryCreateTableContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +QueryCreateTableContext.prototype.TEMPORARY = function() { + return this.getToken(SqlParser.TEMPORARY, 0); +}; + +QueryCreateTableContext.prototype.ifNotExists = function() { + return this.getTypedRuleContext(IfNotExistsContext,0); +}; + +QueryCreateTableContext.prototype.createDefinitions = function() { + return this.getTypedRuleContext(CreateDefinitionsContext,0); +}; + +QueryCreateTableContext.prototype.tableOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableOptionContext); + } else { + return this.getTypedRuleContext(TableOptionContext,i); + } +}; + +QueryCreateTableContext.prototype.partitionDefinitions = function() { + return this.getTypedRuleContext(PartitionDefinitionsContext,0); +}; + +QueryCreateTableContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +QueryCreateTableContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +QueryCreateTableContext.prototype.REPLACE = function() { + return this.getToken(SqlParser.REPLACE, 0); +}; + +QueryCreateTableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +QueryCreateTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterQueryCreateTable(this); + } +}; + +QueryCreateTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitQueryCreateTable(this); + } +}; + +QueryCreateTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitQueryCreateTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.CreateTableContext = CreateTableContext; + +SqlParser.prototype.createTable = function() { + + var localctx = new CreateTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 40, SqlParser.RULE_createTable); + var _la = 0; // Token type + try { + this.state = 1089; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,74,this._ctx); + switch(la_) { + case 1: + localctx = new CopyCreateTableContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1011; + this.match(SqlParser.CREATE); + this.state = 1013; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.TEMPORARY) { + this.state = 1012; + this.match(SqlParser.TEMPORARY); + } + + this.state = 1015; + this.match(SqlParser.TABLE); + this.state = 1017; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 1016; + this.ifNotExists(); + } + + this.state = 1019; + this.tableName(); + this.state = 1027; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.LIKE: + this.state = 1020; + this.match(SqlParser.LIKE); + this.state = 1021; + this.tableName(); + break; + case SqlParser.LR_BRACKET: + this.state = 1022; + this.match(SqlParser.LR_BRACKET); + this.state = 1023; + this.match(SqlParser.LIKE); + this.state = 1024; + localctx.parenthesisTable = this.tableName(); + this.state = 1025; + this.match(SqlParser.RR_BRACKET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 2: + localctx = new QueryCreateTableContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1029; + this.match(SqlParser.CREATE); + this.state = 1031; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.TEMPORARY) { + this.state = 1030; + this.match(SqlParser.TEMPORARY); + } + + this.state = 1033; + this.match(SqlParser.TABLE); + this.state = 1035; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 1034; + this.ifNotExists(); + } + + this.state = 1037; + this.tableName(); + this.state = 1039; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,61,this._ctx); + if(la_===1) { + this.state = 1038; + this.createDefinitions(); + + } + this.state = 1051; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 22)) & ~0x1f) == 0 && ((1 << (_la - 22)) & ((1 << (SqlParser.CHARACTER - 22)) | (1 << (SqlParser.COLLATE - 22)) | (1 << (SqlParser.DEFAULT - 22)))) !== 0) || _la===SqlParser.INDEX || _la===SqlParser.UNION || ((((_la - 280)) & ~0x1f) == 0 && ((1 << (_la - 280)) & ((1 << (SqlParser.AUTO_INCREMENT - 280)) | (1 << (SqlParser.AVG_ROW_LENGTH - 280)) | (1 << (SqlParser.CHECKSUM - 280)) | (1 << (SqlParser.PAGE_CHECKSUM - 280)) | (1 << (SqlParser.COMMENT - 280)) | (1 << (SqlParser.COMPRESSION - 280)))) !== 0) || ((((_la - 312)) & ~0x1f) == 0 && ((1 << (_la - 312)) & ((1 << (SqlParser.CONNECTION - 312)) | (1 << (SqlParser.DATA - 312)) | (1 << (SqlParser.DELAY_KEY_WRITE - 312)) | (1 << (SqlParser.ENCRYPTION - 312)) | (1 << (SqlParser.ENGINE - 312)))) !== 0) || _la===SqlParser.INSERT_METHOD || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.MAX_ROWS || _la===SqlParser.MIN_ROWS || _la===SqlParser.PACK_KEYS || _la===SqlParser.PASSWORD || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (SqlParser.ROW_FORMAT - 513)) | (1 << (SqlParser.STATS_AUTO_RECALC - 513)) | (1 << (SqlParser.STATS_PERSISTENT - 513)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 513)))) !== 0) || _la===SqlParser.STORAGE || _la===SqlParser.TABLESPACE || _la===SqlParser.CHARSET) { + this.state = 1041; + this.tableOption(); + this.state = 1048; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(((((_la - 22)) & ~0x1f) == 0 && ((1 << (_la - 22)) & ((1 << (SqlParser.CHARACTER - 22)) | (1 << (SqlParser.COLLATE - 22)) | (1 << (SqlParser.DEFAULT - 22)))) !== 0) || _la===SqlParser.INDEX || _la===SqlParser.UNION || ((((_la - 280)) & ~0x1f) == 0 && ((1 << (_la - 280)) & ((1 << (SqlParser.AUTO_INCREMENT - 280)) | (1 << (SqlParser.AVG_ROW_LENGTH - 280)) | (1 << (SqlParser.CHECKSUM - 280)) | (1 << (SqlParser.PAGE_CHECKSUM - 280)) | (1 << (SqlParser.COMMENT - 280)) | (1 << (SqlParser.COMPRESSION - 280)))) !== 0) || ((((_la - 312)) & ~0x1f) == 0 && ((1 << (_la - 312)) & ((1 << (SqlParser.CONNECTION - 312)) | (1 << (SqlParser.DATA - 312)) | (1 << (SqlParser.DELAY_KEY_WRITE - 312)) | (1 << (SqlParser.ENCRYPTION - 312)) | (1 << (SqlParser.ENGINE - 312)))) !== 0) || _la===SqlParser.INSERT_METHOD || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.MAX_ROWS || _la===SqlParser.MIN_ROWS || _la===SqlParser.PACK_KEYS || _la===SqlParser.PASSWORD || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (SqlParser.ROW_FORMAT - 513)) | (1 << (SqlParser.STATS_AUTO_RECALC - 513)) | (1 << (SqlParser.STATS_PERSISTENT - 513)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 513)))) !== 0) || _la===SqlParser.STORAGE || _la===SqlParser.TABLESPACE || _la===SqlParser.CHARSET || _la===SqlParser.COMMA) { + this.state = 1043; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMA) { + this.state = 1042; + this.match(SqlParser.COMMA); + } + + this.state = 1045; + this.tableOption(); + this.state = 1050; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 1054; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 1053; + this.partitionDefinitions(); + } + + this.state = 1057; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE || _la===SqlParser.REPLACE) { + this.state = 1056; + localctx.keyViolate = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.IGNORE || _la===SqlParser.REPLACE)) { + localctx.keyViolate = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1060; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 1059; + this.match(SqlParser.AS); + } + + this.state = 1062; + this.selectStatement(); + break; + + case 3: + localctx = new ColumnCreateTableContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 1064; + this.match(SqlParser.CREATE); + this.state = 1066; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.TEMPORARY) { + this.state = 1065; + this.match(SqlParser.TEMPORARY); + } + + this.state = 1068; + this.match(SqlParser.TABLE); + this.state = 1070; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 1069; + this.ifNotExists(); + } + + this.state = 1072; + this.tableName(); + this.state = 1073; + this.createDefinitions(); + this.state = 1084; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,72,this._ctx); + if(la_===1) { + this.state = 1074; + this.tableOption(); + this.state = 1081; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,71,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1076; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMA) { + this.state = 1075; + this.match(SqlParser.COMMA); + } + + this.state = 1078; + this.tableOption(); + } + this.state = 1083; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,71,this._ctx); + } + + + } + this.state = 1087; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 1086; + this.partitionDefinitions(); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateTablespaceInnodbContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createTablespaceInnodb; + this.datafile = null; // Token + this.fileBlockSize = null; // FileSizeLiteralContext + return this; +} + +CreateTablespaceInnodbContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateTablespaceInnodbContext.prototype.constructor = CreateTablespaceInnodbContext; + +CreateTablespaceInnodbContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateTablespaceInnodbContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +CreateTablespaceInnodbContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +CreateTablespaceInnodbContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +CreateTablespaceInnodbContext.prototype.DATAFILE = function() { + return this.getToken(SqlParser.DATAFILE, 0); +}; + +CreateTablespaceInnodbContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +CreateTablespaceInnodbContext.prototype.FILE_BLOCK_SIZE = function() { + return this.getToken(SqlParser.FILE_BLOCK_SIZE, 0); +}; + +CreateTablespaceInnodbContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +CreateTablespaceInnodbContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +CreateTablespaceInnodbContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +CreateTablespaceInnodbContext.prototype.fileSizeLiteral = function() { + return this.getTypedRuleContext(FileSizeLiteralContext,0); +}; + +CreateTablespaceInnodbContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateTablespaceInnodb(this); + } +}; + +CreateTablespaceInnodbContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateTablespaceInnodb(this); + } +}; + +CreateTablespaceInnodbContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateTablespaceInnodb(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateTablespaceInnodbContext = CreateTablespaceInnodbContext; + +SqlParser.prototype.createTablespaceInnodb = function() { + + var localctx = new CreateTablespaceInnodbContext(this, this._ctx, this.state); + this.enterRule(localctx, 42, SqlParser.RULE_createTablespaceInnodb); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1091; + this.match(SqlParser.CREATE); + this.state = 1092; + this.match(SqlParser.TABLESPACE); + this.state = 1093; + this.uid(); + this.state = 1094; + this.match(SqlParser.ADD); + this.state = 1095; + this.match(SqlParser.DATAFILE); + this.state = 1096; + localctx.datafile = this.match(SqlParser.STRING_LITERAL); + this.state = 1100; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FILE_BLOCK_SIZE) { + this.state = 1097; + this.match(SqlParser.FILE_BLOCK_SIZE); + this.state = 1098; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 1099; + localctx.fileBlockSize = this.fileSizeLiteral(); + } + + this.state = 1107; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ENGINE) { + this.state = 1102; + this.match(SqlParser.ENGINE); + this.state = 1104; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1103; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1106; + this.engineName(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateTablespaceNdbContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createTablespaceNdb; + this.datafile = null; // Token + this.extentSize = null; // FileSizeLiteralContext + this.initialSize = null; // FileSizeLiteralContext + this.autoextendSize = null; // FileSizeLiteralContext + this.maxSize = null; // FileSizeLiteralContext + this.comment = null; // Token + return this; +} + +CreateTablespaceNdbContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateTablespaceNdbContext.prototype.constructor = CreateTablespaceNdbContext; + +CreateTablespaceNdbContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateTablespaceNdbContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +CreateTablespaceNdbContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +CreateTablespaceNdbContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +CreateTablespaceNdbContext.prototype.DATAFILE = function() { + return this.getToken(SqlParser.DATAFILE, 0); +}; + +CreateTablespaceNdbContext.prototype.USE = function() { + return this.getToken(SqlParser.USE, 0); +}; + +CreateTablespaceNdbContext.prototype.LOGFILE = function() { + return this.getToken(SqlParser.LOGFILE, 0); +}; + +CreateTablespaceNdbContext.prototype.GROUP = function() { + return this.getToken(SqlParser.GROUP, 0); +}; + +CreateTablespaceNdbContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +CreateTablespaceNdbContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +CreateTablespaceNdbContext.prototype.STRING_LITERAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.STRING_LITERAL); + } else { + return this.getToken(SqlParser.STRING_LITERAL, i); + } +}; + + +CreateTablespaceNdbContext.prototype.EXTENT_SIZE = function() { + return this.getToken(SqlParser.EXTENT_SIZE, 0); +}; + +CreateTablespaceNdbContext.prototype.INITIAL_SIZE = function() { + return this.getToken(SqlParser.INITIAL_SIZE, 0); +}; + +CreateTablespaceNdbContext.prototype.AUTOEXTEND_SIZE = function() { + return this.getToken(SqlParser.AUTOEXTEND_SIZE, 0); +}; + +CreateTablespaceNdbContext.prototype.MAX_SIZE = function() { + return this.getToken(SqlParser.MAX_SIZE, 0); +}; + +CreateTablespaceNdbContext.prototype.NODEGROUP = function() { + return this.getToken(SqlParser.NODEGROUP, 0); +}; + +CreateTablespaceNdbContext.prototype.WAIT = function() { + return this.getToken(SqlParser.WAIT, 0); +}; + +CreateTablespaceNdbContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +CreateTablespaceNdbContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +CreateTablespaceNdbContext.prototype.fileSizeLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FileSizeLiteralContext); + } else { + return this.getTypedRuleContext(FileSizeLiteralContext,i); + } +}; + +CreateTablespaceNdbContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateTablespaceNdb(this); + } +}; + +CreateTablespaceNdbContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateTablespaceNdb(this); + } +}; + +CreateTablespaceNdbContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateTablespaceNdb(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateTablespaceNdbContext = CreateTablespaceNdbContext; + +SqlParser.prototype.createTablespaceNdb = function() { + + var localctx = new CreateTablespaceNdbContext(this, this._ctx, this.state); + this.enterRule(localctx, 44, SqlParser.RULE_createTablespaceNdb); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1109; + this.match(SqlParser.CREATE); + this.state = 1110; + this.match(SqlParser.TABLESPACE); + this.state = 1111; + this.uid(); + this.state = 1112; + this.match(SqlParser.ADD); + this.state = 1113; + this.match(SqlParser.DATAFILE); + this.state = 1114; + localctx.datafile = this.match(SqlParser.STRING_LITERAL); + this.state = 1115; + this.match(SqlParser.USE); + this.state = 1116; + this.match(SqlParser.LOGFILE); + this.state = 1117; + this.match(SqlParser.GROUP); + this.state = 1118; + this.uid(); + this.state = 1124; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EXTENT_SIZE) { + this.state = 1119; + this.match(SqlParser.EXTENT_SIZE); + this.state = 1121; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1120; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1123; + localctx.extentSize = this.fileSizeLiteral(); + } + + this.state = 1131; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INITIAL_SIZE) { + this.state = 1126; + this.match(SqlParser.INITIAL_SIZE); + this.state = 1128; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1127; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1130; + localctx.initialSize = this.fileSizeLiteral(); + } + + this.state = 1138; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AUTOEXTEND_SIZE) { + this.state = 1133; + this.match(SqlParser.AUTOEXTEND_SIZE); + this.state = 1135; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1134; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1137; + localctx.autoextendSize = this.fileSizeLiteral(); + } + + this.state = 1145; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.MAX_SIZE) { + this.state = 1140; + this.match(SqlParser.MAX_SIZE); + this.state = 1142; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1141; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1144; + localctx.maxSize = this.fileSizeLiteral(); + } + + this.state = 1152; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NODEGROUP) { + this.state = 1147; + this.match(SqlParser.NODEGROUP); + this.state = 1149; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1148; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1151; + this.uid(); + } + + this.state = 1155; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WAIT) { + this.state = 1154; + this.match(SqlParser.WAIT); + } + + this.state = 1162; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMENT) { + this.state = 1157; + this.match(SqlParser.COMMENT); + this.state = 1159; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1158; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1161; + localctx.comment = this.match(SqlParser.STRING_LITERAL); + } + + this.state = 1164; + this.match(SqlParser.ENGINE); + this.state = 1166; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1165; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1168; + this.engineName(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateTriggerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createTrigger; + this.thisTrigger = null; // FullIdContext + this.triggerTime = null; // Token + this.triggerEvent = null; // Token + this.triggerPlace = null; // Token + this.otherTrigger = null; // FullIdContext + return this; +} + +CreateTriggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateTriggerContext.prototype.constructor = CreateTriggerContext; + +CreateTriggerContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateTriggerContext.prototype.TRIGGER = function() { + return this.getToken(SqlParser.TRIGGER, 0); +}; + +CreateTriggerContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +CreateTriggerContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +CreateTriggerContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +CreateTriggerContext.prototype.EACH = function() { + return this.getToken(SqlParser.EACH, 0); +}; + +CreateTriggerContext.prototype.ROW = function() { + return this.getToken(SqlParser.ROW, 0); +}; + +CreateTriggerContext.prototype.routineBody = function() { + return this.getTypedRuleContext(RoutineBodyContext,0); +}; + +CreateTriggerContext.prototype.fullId = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FullIdContext); + } else { + return this.getTypedRuleContext(FullIdContext,i); + } +}; + +CreateTriggerContext.prototype.BEFORE = function() { + return this.getToken(SqlParser.BEFORE, 0); +}; + +CreateTriggerContext.prototype.AFTER = function() { + return this.getToken(SqlParser.AFTER, 0); +}; + +CreateTriggerContext.prototype.INSERT = function() { + return this.getToken(SqlParser.INSERT, 0); +}; + +CreateTriggerContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +CreateTriggerContext.prototype.DELETE = function() { + return this.getToken(SqlParser.DELETE, 0); +}; + +CreateTriggerContext.prototype.ownerStatement = function() { + return this.getTypedRuleContext(OwnerStatementContext,0); +}; + +CreateTriggerContext.prototype.FOLLOWS = function() { + return this.getToken(SqlParser.FOLLOWS, 0); +}; + +CreateTriggerContext.prototype.PRECEDES = function() { + return this.getToken(SqlParser.PRECEDES, 0); +}; + +CreateTriggerContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateTrigger(this); + } +}; + +CreateTriggerContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateTrigger(this); + } +}; + +CreateTriggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateTrigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateTriggerContext = CreateTriggerContext; + +SqlParser.prototype.createTrigger = function() { + + var localctx = new CreateTriggerContext(this, this._ctx, this.state); + this.enterRule(localctx, 46, SqlParser.RULE_createTrigger); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1170; + this.match(SqlParser.CREATE); + this.state = 1172; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFINER) { + this.state = 1171; + this.ownerStatement(); + } + + this.state = 1174; + this.match(SqlParser.TRIGGER); + this.state = 1175; + localctx.thisTrigger = this.fullId(); + this.state = 1176; + localctx.triggerTime = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.BEFORE || _la===SqlParser.AFTER)) { + localctx.triggerTime = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1177; + localctx.triggerEvent = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DELETE || _la===SqlParser.INSERT || _la===SqlParser.UPDATE)) { + localctx.triggerEvent = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1178; + this.match(SqlParser.ON); + this.state = 1179; + this.tableName(); + this.state = 1180; + this.match(SqlParser.FOR); + this.state = 1181; + this.match(SqlParser.EACH); + this.state = 1182; + this.match(SqlParser.ROW); + this.state = 1185; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,93,this._ctx); + if(la_===1) { + this.state = 1183; + localctx.triggerPlace = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FOLLOWS || _la===SqlParser.PRECEDES)) { + localctx.triggerPlace = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1184; + localctx.otherTrigger = this.fullId(); + + } + this.state = 1187; + this.routineBody(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateViewContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createView; + this.algType = null; // Token + this.secContext = null; // Token + this.checkOption = null; // Token + return this; +} + +CreateViewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateViewContext.prototype.constructor = CreateViewContext; + +CreateViewContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateViewContext.prototype.VIEW = function() { + return this.getToken(SqlParser.VIEW, 0); +}; + +CreateViewContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +CreateViewContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +CreateViewContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +CreateViewContext.prototype.OR = function() { + return this.getToken(SqlParser.OR, 0); +}; + +CreateViewContext.prototype.REPLACE = function() { + return this.getToken(SqlParser.REPLACE, 0); +}; + +CreateViewContext.prototype.ALGORITHM = function() { + return this.getToken(SqlParser.ALGORITHM, 0); +}; + +CreateViewContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +CreateViewContext.prototype.ownerStatement = function() { + return this.getTypedRuleContext(OwnerStatementContext,0); +}; + +CreateViewContext.prototype.SQL = function() { + return this.getToken(SqlParser.SQL, 0); +}; + +CreateViewContext.prototype.SECURITY = function() { + return this.getToken(SqlParser.SECURITY, 0); +}; + +CreateViewContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CreateViewContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +CreateViewContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CreateViewContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +CreateViewContext.prototype.CHECK = function() { + return this.getToken(SqlParser.CHECK, 0); +}; + +CreateViewContext.prototype.OPTION = function() { + return this.getToken(SqlParser.OPTION, 0); +}; + +CreateViewContext.prototype.UNDEFINED = function() { + return this.getToken(SqlParser.UNDEFINED, 0); +}; + +CreateViewContext.prototype.MERGE = function() { + return this.getToken(SqlParser.MERGE, 0); +}; + +CreateViewContext.prototype.TEMPTABLE = function() { + return this.getToken(SqlParser.TEMPTABLE, 0); +}; + +CreateViewContext.prototype.DEFINER = function() { + return this.getToken(SqlParser.DEFINER, 0); +}; + +CreateViewContext.prototype.INVOKER = function() { + return this.getToken(SqlParser.INVOKER, 0); +}; + +CreateViewContext.prototype.CASCADED = function() { + return this.getToken(SqlParser.CASCADED, 0); +}; + +CreateViewContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +CreateViewContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateView(this); + } +}; + +CreateViewContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateView(this); + } +}; + +CreateViewContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateView(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateViewContext = CreateViewContext; + +SqlParser.prototype.createView = function() { + + var localctx = new CreateViewContext(this, this._ctx, this.state); + this.enterRule(localctx, 48, SqlParser.RULE_createView); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1189; + this.match(SqlParser.CREATE); + this.state = 1192; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.OR) { + this.state = 1190; + this.match(SqlParser.OR); + this.state = 1191; + this.match(SqlParser.REPLACE); + } + + this.state = 1197; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALGORITHM) { + this.state = 1194; + this.match(SqlParser.ALGORITHM); + this.state = 1195; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 1196; + localctx.algType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.MERGE || _la===SqlParser.TEMPTABLE || _la===SqlParser.UNDEFINED)) { + localctx.algType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1200; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFINER) { + this.state = 1199; + this.ownerStatement(); + } + + this.state = 1205; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SQL) { + this.state = 1202; + this.match(SqlParser.SQL); + this.state = 1203; + this.match(SqlParser.SECURITY); + this.state = 1204; + localctx.secContext = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFINER || _la===SqlParser.INVOKER)) { + localctx.secContext = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1207; + this.match(SqlParser.VIEW); + this.state = 1208; + this.fullId(); + this.state = 1213; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LR_BRACKET) { + this.state = 1209; + this.match(SqlParser.LR_BRACKET); + this.state = 1210; + this.uidList(); + this.state = 1211; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 1215; + this.match(SqlParser.AS); + this.state = 1216; + this.selectStatement(); + this.state = 1223; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH) { + this.state = 1217; + this.match(SqlParser.WITH); + this.state = 1219; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CASCADED || _la===SqlParser.LOCAL) { + this.state = 1218; + localctx.checkOption = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CASCADED || _la===SqlParser.LOCAL)) { + localctx.checkOption = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1221; + this.match(SqlParser.CHECK); + this.state = 1222; + this.match(SqlParser.OPTION); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateDatabaseOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createDatabaseOption; + return this; +} + +CreateDatabaseOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateDatabaseOptionContext.prototype.constructor = CreateDatabaseOptionContext; + +CreateDatabaseOptionContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +CreateDatabaseOptionContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +CreateDatabaseOptionContext.prototype.CHARSET = function() { + return this.getToken(SqlParser.CHARSET, 0); +}; + +CreateDatabaseOptionContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +CreateDatabaseOptionContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.DEFAULT); + } else { + return this.getToken(SqlParser.DEFAULT, i); + } +}; + + +CreateDatabaseOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +CreateDatabaseOptionContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +CreateDatabaseOptionContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; + +CreateDatabaseOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateDatabaseOption(this); + } +}; + +CreateDatabaseOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateDatabaseOption(this); + } +}; + +CreateDatabaseOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateDatabaseOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateDatabaseOptionContext = CreateDatabaseOptionContext; + +SqlParser.prototype.createDatabaseOption = function() { + + var localctx = new CreateDatabaseOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 50, SqlParser.RULE_createDatabaseOption); + var _la = 0; // Token type + try { + this.state = 1248; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,107,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1226; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFAULT) { + this.state = 1225; + this.match(SqlParser.DEFAULT); + } + + this.state = 1231; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CHARACTER: + this.state = 1228; + this.match(SqlParser.CHARACTER); + this.state = 1229; + this.match(SqlParser.SET); + break; + case SqlParser.CHARSET: + this.state = 1230; + this.match(SqlParser.CHARSET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1234; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1233; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1238; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.BINARY: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + this.state = 1236; + this.charsetName(); + break; + case SqlParser.DEFAULT: + this.state = 1237; + this.match(SqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1241; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFAULT) { + this.state = 1240; + this.match(SqlParser.DEFAULT); + } + + this.state = 1243; + this.match(SqlParser.COLLATE); + this.state = 1245; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1244; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1247; + this.collationName(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function OwnerStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_ownerStatement; + return this; +} + +OwnerStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +OwnerStatementContext.prototype.constructor = OwnerStatementContext; + +OwnerStatementContext.prototype.DEFINER = function() { + return this.getToken(SqlParser.DEFINER, 0); +}; + +OwnerStatementContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +OwnerStatementContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; + +OwnerStatementContext.prototype.CURRENT_USER = function() { + return this.getToken(SqlParser.CURRENT_USER, 0); +}; + +OwnerStatementContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +OwnerStatementContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +OwnerStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterOwnerStatement(this); + } +}; + +OwnerStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitOwnerStatement(this); + } +}; + +OwnerStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitOwnerStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.OwnerStatementContext = OwnerStatementContext; + +SqlParser.prototype.ownerStatement = function() { + + var localctx = new OwnerStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 52, SqlParser.RULE_ownerStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1250; + this.match(SqlParser.DEFINER); + this.state = 1251; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 1258; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.STRING_USER_NAME: + this.state = 1252; + this.userName(); + break; + case SqlParser.CURRENT_USER: + this.state = 1253; + this.match(SqlParser.CURRENT_USER); + this.state = 1256; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LR_BRACKET) { + this.state = 1254; + this.match(SqlParser.LR_BRACKET); + this.state = 1255; + this.match(SqlParser.RR_BRACKET); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ScheduleExpressionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_scheduleExpression; + return this; +} + +ScheduleExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ScheduleExpressionContext.prototype.constructor = ScheduleExpressionContext; + + + +ScheduleExpressionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function PreciseScheduleContext(parser, ctx) { + ScheduleExpressionContext.call(this, parser); + ScheduleExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PreciseScheduleContext.prototype = Object.create(ScheduleExpressionContext.prototype); +PreciseScheduleContext.prototype.constructor = PreciseScheduleContext; + +SqlParser.PreciseScheduleContext = PreciseScheduleContext; + +PreciseScheduleContext.prototype.AT = function() { + return this.getToken(SqlParser.AT, 0); +}; + +PreciseScheduleContext.prototype.timestampValue = function() { + return this.getTypedRuleContext(TimestampValueContext,0); +}; + +PreciseScheduleContext.prototype.intervalExpr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IntervalExprContext); + } else { + return this.getTypedRuleContext(IntervalExprContext,i); + } +}; +PreciseScheduleContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPreciseSchedule(this); + } +}; + +PreciseScheduleContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPreciseSchedule(this); + } +}; + +PreciseScheduleContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPreciseSchedule(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function IntervalScheduleContext(parser, ctx) { + ScheduleExpressionContext.call(this, parser); + this.startTimestamp = null; // TimestampValueContext; + this._intervalExpr = null; // IntervalExprContext; + this.startIntervals = []; // of IntervalExprContexts; + this.endTimestamp = null; // TimestampValueContext; + this.endIntervals = []; // of IntervalExprContexts; + ScheduleExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +IntervalScheduleContext.prototype = Object.create(ScheduleExpressionContext.prototype); +IntervalScheduleContext.prototype.constructor = IntervalScheduleContext; + +SqlParser.IntervalScheduleContext = IntervalScheduleContext; + +IntervalScheduleContext.prototype.EVERY = function() { + return this.getToken(SqlParser.EVERY, 0); +}; + +IntervalScheduleContext.prototype.intervalType = function() { + return this.getTypedRuleContext(IntervalTypeContext,0); +}; + +IntervalScheduleContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +IntervalScheduleContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +IntervalScheduleContext.prototype.STARTS = function() { + return this.getToken(SqlParser.STARTS, 0); +}; + +IntervalScheduleContext.prototype.ENDS = function() { + return this.getToken(SqlParser.ENDS, 0); +}; + +IntervalScheduleContext.prototype.timestampValue = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TimestampValueContext); + } else { + return this.getTypedRuleContext(TimestampValueContext,i); + } +}; + +IntervalScheduleContext.prototype.intervalExpr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IntervalExprContext); + } else { + return this.getTypedRuleContext(IntervalExprContext,i); + } +}; +IntervalScheduleContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIntervalSchedule(this); + } +}; + +IntervalScheduleContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIntervalSchedule(this); + } +}; + +IntervalScheduleContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIntervalSchedule(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.ScheduleExpressionContext = ScheduleExpressionContext; + +SqlParser.prototype.scheduleExpression = function() { + + var localctx = new ScheduleExpressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 54, SqlParser.RULE_scheduleExpression); + var _la = 0; // Token type + try { + this.state = 1294; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.AT: + localctx = new PreciseScheduleContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1260; + this.match(SqlParser.AT); + this.state = 1261; + this.timestampValue(); + this.state = 1265; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.PLUS) { + this.state = 1262; + this.intervalExpr(); + this.state = 1267; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case SqlParser.EVERY: + localctx = new IntervalScheduleContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1268; + this.match(SqlParser.EVERY); + this.state = 1271; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,111,this._ctx); + switch(la_) { + case 1: + this.state = 1269; + this.decimalLiteral(); + break; + + case 2: + this.state = 1270; + this.expression(0); + break; + + } + this.state = 1273; + this.intervalType(); + this.state = 1282; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.STARTS) { + this.state = 1274; + this.match(SqlParser.STARTS); + this.state = 1275; + localctx.startTimestamp = this.timestampValue(); + this.state = 1279; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.PLUS) { + this.state = 1276; + localctx._intervalExpr = this.intervalExpr(); + localctx.startIntervals.push(localctx._intervalExpr); + this.state = 1281; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 1292; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ENDS) { + this.state = 1284; + this.match(SqlParser.ENDS); + this.state = 1285; + localctx.endTimestamp = this.timestampValue(); + this.state = 1289; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.PLUS) { + this.state = 1286; + localctx._intervalExpr = this.intervalExpr(); + localctx.endIntervals.push(localctx._intervalExpr); + this.state = 1291; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TimestampValueContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_timestampValue; + return this; +} + +TimestampValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TimestampValueContext.prototype.constructor = TimestampValueContext; + +TimestampValueContext.prototype.CURRENT_TIMESTAMP = function() { + return this.getToken(SqlParser.CURRENT_TIMESTAMP, 0); +}; + +TimestampValueContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +TimestampValueContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +TimestampValueContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +TimestampValueContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTimestampValue(this); + } +}; + +TimestampValueContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTimestampValue(this); + } +}; + +TimestampValueContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTimestampValue(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TimestampValueContext = TimestampValueContext; + +SqlParser.prototype.timestampValue = function() { + + var localctx = new TimestampValueContext(this, this._ctx, this.state); + this.enterRule(localctx, 56, SqlParser.RULE_timestampValue); + try { + this.state = 1300; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,117,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1296; + this.match(SqlParser.CURRENT_TIMESTAMP); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1297; + this.stringLiteral(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1298; + this.decimalLiteral(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 1299; + this.expression(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IntervalExprContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_intervalExpr; + return this; +} + +IntervalExprContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IntervalExprContext.prototype.constructor = IntervalExprContext; + +IntervalExprContext.prototype.PLUS = function() { + return this.getToken(SqlParser.PLUS, 0); +}; + +IntervalExprContext.prototype.INTERVAL = function() { + return this.getToken(SqlParser.INTERVAL, 0); +}; + +IntervalExprContext.prototype.intervalType = function() { + return this.getTypedRuleContext(IntervalTypeContext,0); +}; + +IntervalExprContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +IntervalExprContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +IntervalExprContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIntervalExpr(this); + } +}; + +IntervalExprContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIntervalExpr(this); + } +}; + +IntervalExprContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIntervalExpr(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IntervalExprContext = IntervalExprContext; + +SqlParser.prototype.intervalExpr = function() { + + var localctx = new IntervalExprContext(this, this._ctx, this.state); + this.enterRule(localctx, 58, SqlParser.RULE_intervalExpr); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1302; + this.match(SqlParser.PLUS); + this.state = 1303; + this.match(SqlParser.INTERVAL); + this.state = 1306; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,118,this._ctx); + switch(la_) { + case 1: + this.state = 1304; + this.decimalLiteral(); + break; + + case 2: + this.state = 1305; + this.expression(0); + break; + + } + this.state = 1308; + this.intervalType(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IntervalTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_intervalType; + return this; +} + +IntervalTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IntervalTypeContext.prototype.constructor = IntervalTypeContext; + +IntervalTypeContext.prototype.intervalTypeBase = function() { + return this.getTypedRuleContext(IntervalTypeBaseContext,0); +}; + +IntervalTypeContext.prototype.YEAR = function() { + return this.getToken(SqlParser.YEAR, 0); +}; + +IntervalTypeContext.prototype.YEAR_MONTH = function() { + return this.getToken(SqlParser.YEAR_MONTH, 0); +}; + +IntervalTypeContext.prototype.DAY_HOUR = function() { + return this.getToken(SqlParser.DAY_HOUR, 0); +}; + +IntervalTypeContext.prototype.DAY_MINUTE = function() { + return this.getToken(SqlParser.DAY_MINUTE, 0); +}; + +IntervalTypeContext.prototype.DAY_SECOND = function() { + return this.getToken(SqlParser.DAY_SECOND, 0); +}; + +IntervalTypeContext.prototype.HOUR_MINUTE = function() { + return this.getToken(SqlParser.HOUR_MINUTE, 0); +}; + +IntervalTypeContext.prototype.HOUR_SECOND = function() { + return this.getToken(SqlParser.HOUR_SECOND, 0); +}; + +IntervalTypeContext.prototype.MINUTE_SECOND = function() { + return this.getToken(SqlParser.MINUTE_SECOND, 0); +}; + +IntervalTypeContext.prototype.SECOND_MICROSECOND = function() { + return this.getToken(SqlParser.SECOND_MICROSECOND, 0); +}; + +IntervalTypeContext.prototype.MINUTE_MICROSECOND = function() { + return this.getToken(SqlParser.MINUTE_MICROSECOND, 0); +}; + +IntervalTypeContext.prototype.HOUR_MICROSECOND = function() { + return this.getToken(SqlParser.HOUR_MICROSECOND, 0); +}; + +IntervalTypeContext.prototype.DAY_MICROSECOND = function() { + return this.getToken(SqlParser.DAY_MICROSECOND, 0); +}; + +IntervalTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIntervalType(this); + } +}; + +IntervalTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIntervalType(this); + } +}; + +IntervalTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIntervalType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IntervalTypeContext = IntervalTypeContext; + +SqlParser.prototype.intervalType = function() { + + var localctx = new IntervalTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 60, SqlParser.RULE_intervalType); + try { + this.state = 1323; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + this.enterOuterAlt(localctx, 1); + this.state = 1310; + this.intervalTypeBase(); + break; + case SqlParser.YEAR: + this.enterOuterAlt(localctx, 2); + this.state = 1311; + this.match(SqlParser.YEAR); + break; + case SqlParser.YEAR_MONTH: + this.enterOuterAlt(localctx, 3); + this.state = 1312; + this.match(SqlParser.YEAR_MONTH); + break; + case SqlParser.DAY_HOUR: + this.enterOuterAlt(localctx, 4); + this.state = 1313; + this.match(SqlParser.DAY_HOUR); + break; + case SqlParser.DAY_MINUTE: + this.enterOuterAlt(localctx, 5); + this.state = 1314; + this.match(SqlParser.DAY_MINUTE); + break; + case SqlParser.DAY_SECOND: + this.enterOuterAlt(localctx, 6); + this.state = 1315; + this.match(SqlParser.DAY_SECOND); + break; + case SqlParser.HOUR_MINUTE: + this.enterOuterAlt(localctx, 7); + this.state = 1316; + this.match(SqlParser.HOUR_MINUTE); + break; + case SqlParser.HOUR_SECOND: + this.enterOuterAlt(localctx, 8); + this.state = 1317; + this.match(SqlParser.HOUR_SECOND); + break; + case SqlParser.MINUTE_SECOND: + this.enterOuterAlt(localctx, 9); + this.state = 1318; + this.match(SqlParser.MINUTE_SECOND); + break; + case SqlParser.SECOND_MICROSECOND: + this.enterOuterAlt(localctx, 10); + this.state = 1319; + this.match(SqlParser.SECOND_MICROSECOND); + break; + case SqlParser.MINUTE_MICROSECOND: + this.enterOuterAlt(localctx, 11); + this.state = 1320; + this.match(SqlParser.MINUTE_MICROSECOND); + break; + case SqlParser.HOUR_MICROSECOND: + this.enterOuterAlt(localctx, 12); + this.state = 1321; + this.match(SqlParser.HOUR_MICROSECOND); + break; + case SqlParser.DAY_MICROSECOND: + this.enterOuterAlt(localctx, 13); + this.state = 1322; + this.match(SqlParser.DAY_MICROSECOND); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function EnableTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_enableType; + return this; +} + +EnableTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +EnableTypeContext.prototype.constructor = EnableTypeContext; + +EnableTypeContext.prototype.ENABLE = function() { + return this.getToken(SqlParser.ENABLE, 0); +}; + +EnableTypeContext.prototype.DISABLE = function() { + return this.getToken(SqlParser.DISABLE, 0); +}; + +EnableTypeContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +EnableTypeContext.prototype.SLAVE = function() { + return this.getToken(SqlParser.SLAVE, 0); +}; + +EnableTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterEnableType(this); + } +}; + +EnableTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitEnableType(this); + } +}; + +EnableTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitEnableType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.EnableTypeContext = EnableTypeContext; + +SqlParser.prototype.enableType = function() { + + var localctx = new EnableTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 62, SqlParser.RULE_enableType); + try { + this.state = 1330; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,120,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1325; + this.match(SqlParser.ENABLE); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1326; + this.match(SqlParser.DISABLE); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1327; + this.match(SqlParser.DISABLE); + this.state = 1328; + this.match(SqlParser.ON); + this.state = 1329; + this.match(SqlParser.SLAVE); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IndexTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_indexType; + return this; +} + +IndexTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IndexTypeContext.prototype.constructor = IndexTypeContext; + +IndexTypeContext.prototype.USING = function() { + return this.getToken(SqlParser.USING, 0); +}; + +IndexTypeContext.prototype.BTREE = function() { + return this.getToken(SqlParser.BTREE, 0); +}; + +IndexTypeContext.prototype.HASH = function() { + return this.getToken(SqlParser.HASH, 0); +}; + +IndexTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIndexType(this); + } +}; + +IndexTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIndexType(this); + } +}; + +IndexTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIndexType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IndexTypeContext = IndexTypeContext; + +SqlParser.prototype.indexType = function() { + + var localctx = new IndexTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 64, SqlParser.RULE_indexType); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1332; + this.match(SqlParser.USING); + this.state = 1333; + _la = this._input.LA(1); + if(!(_la===SqlParser.BTREE || _la===SqlParser.HASH)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IndexOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_indexOption; + return this; +} + +IndexOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IndexOptionContext.prototype.constructor = IndexOptionContext; + +IndexOptionContext.prototype.KEY_BLOCK_SIZE = function() { + return this.getToken(SqlParser.KEY_BLOCK_SIZE, 0); +}; + +IndexOptionContext.prototype.fileSizeLiteral = function() { + return this.getTypedRuleContext(FileSizeLiteralContext,0); +}; + +IndexOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +IndexOptionContext.prototype.indexType = function() { + return this.getTypedRuleContext(IndexTypeContext,0); +}; + +IndexOptionContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +IndexOptionContext.prototype.PARSER = function() { + return this.getToken(SqlParser.PARSER, 0); +}; + +IndexOptionContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +IndexOptionContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +IndexOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +IndexOptionContext.prototype.INVISIBLE = function() { + return this.getToken(SqlParser.INVISIBLE, 0); +}; + +IndexOptionContext.prototype.VISIBLE = function() { + return this.getToken(SqlParser.VISIBLE, 0); +}; + +IndexOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIndexOption(this); + } +}; + +IndexOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIndexOption(this); + } +}; + +IndexOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIndexOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IndexOptionContext = IndexOptionContext; + +SqlParser.prototype.indexOption = function() { + + var localctx = new IndexOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 66, SqlParser.RULE_indexOption); + var _la = 0; // Token type + try { + this.state = 1348; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.KEY_BLOCK_SIZE: + this.enterOuterAlt(localctx, 1); + this.state = 1335; + this.match(SqlParser.KEY_BLOCK_SIZE); + this.state = 1337; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1336; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1339; + this.fileSizeLiteral(); + break; + case SqlParser.USING: + this.enterOuterAlt(localctx, 2); + this.state = 1340; + this.indexType(); + break; + case SqlParser.WITH: + this.enterOuterAlt(localctx, 3); + this.state = 1341; + this.match(SqlParser.WITH); + this.state = 1342; + this.match(SqlParser.PARSER); + this.state = 1343; + this.uid(); + break; + case SqlParser.COMMENT: + this.enterOuterAlt(localctx, 4); + this.state = 1344; + this.match(SqlParser.COMMENT); + this.state = 1345; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.INVISIBLE: + this.enterOuterAlt(localctx, 5); + this.state = 1346; + this.match(SqlParser.INVISIBLE); + break; + case SqlParser.VISIBLE: + this.enterOuterAlt(localctx, 6); + this.state = 1347; + this.match(SqlParser.VISIBLE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ProcedureParameterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_procedureParameter; + this.direction = null; // Token + return this; +} + +ProcedureParameterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ProcedureParameterContext.prototype.constructor = ProcedureParameterContext; + +ProcedureParameterContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ProcedureParameterContext.prototype.dataType = function() { + return this.getTypedRuleContext(DataTypeContext,0); +}; + +ProcedureParameterContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; + +ProcedureParameterContext.prototype.OUT = function() { + return this.getToken(SqlParser.OUT, 0); +}; + +ProcedureParameterContext.prototype.INOUT = function() { + return this.getToken(SqlParser.INOUT, 0); +}; + +ProcedureParameterContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterProcedureParameter(this); + } +}; + +ProcedureParameterContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitProcedureParameter(this); + } +}; + +ProcedureParameterContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitProcedureParameter(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ProcedureParameterContext = ProcedureParameterContext; + +SqlParser.prototype.procedureParameter = function() { + + var localctx = new ProcedureParameterContext(this, this._ctx, this.state); + this.enterRule(localctx, 68, SqlParser.RULE_procedureParameter); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1351; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IN || _la===SqlParser.INOUT || _la===SqlParser.OUT) { + this.state = 1350; + localctx.direction = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.IN || _la===SqlParser.INOUT || _la===SqlParser.OUT)) { + localctx.direction = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1353; + this.uid(); + this.state = 1354; + this.dataType(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FunctionParameterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_functionParameter; + return this; +} + +FunctionParameterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FunctionParameterContext.prototype.constructor = FunctionParameterContext; + +FunctionParameterContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +FunctionParameterContext.prototype.dataType = function() { + return this.getTypedRuleContext(DataTypeContext,0); +}; + +FunctionParameterContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFunctionParameter(this); + } +}; + +FunctionParameterContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFunctionParameter(this); + } +}; + +FunctionParameterContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFunctionParameter(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FunctionParameterContext = FunctionParameterContext; + +SqlParser.prototype.functionParameter = function() { + + var localctx = new FunctionParameterContext(this, this._ctx, this.state); + this.enterRule(localctx, 70, SqlParser.RULE_functionParameter); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1356; + this.uid(); + this.state = 1357; + this.dataType(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RoutineOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_routineOption; + return this; +} + +RoutineOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RoutineOptionContext.prototype.constructor = RoutineOptionContext; + + + +RoutineOptionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function RoutineBehaviorContext(parser, ctx) { + RoutineOptionContext.call(this, parser); + RoutineOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +RoutineBehaviorContext.prototype = Object.create(RoutineOptionContext.prototype); +RoutineBehaviorContext.prototype.constructor = RoutineBehaviorContext; + +SqlParser.RoutineBehaviorContext = RoutineBehaviorContext; + +RoutineBehaviorContext.prototype.DETERMINISTIC = function() { + return this.getToken(SqlParser.DETERMINISTIC, 0); +}; + +RoutineBehaviorContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; +RoutineBehaviorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRoutineBehavior(this); + } +}; + +RoutineBehaviorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRoutineBehavior(this); + } +}; + +RoutineBehaviorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRoutineBehavior(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function RoutineLanguageContext(parser, ctx) { + RoutineOptionContext.call(this, parser); + RoutineOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +RoutineLanguageContext.prototype = Object.create(RoutineOptionContext.prototype); +RoutineLanguageContext.prototype.constructor = RoutineLanguageContext; + +SqlParser.RoutineLanguageContext = RoutineLanguageContext; + +RoutineLanguageContext.prototype.LANGUAGE = function() { + return this.getToken(SqlParser.LANGUAGE, 0); +}; + +RoutineLanguageContext.prototype.SQL = function() { + return this.getToken(SqlParser.SQL, 0); +}; +RoutineLanguageContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRoutineLanguage(this); + } +}; + +RoutineLanguageContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRoutineLanguage(this); + } +}; + +RoutineLanguageContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRoutineLanguage(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function RoutineCommentContext(parser, ctx) { + RoutineOptionContext.call(this, parser); + RoutineOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +RoutineCommentContext.prototype = Object.create(RoutineOptionContext.prototype); +RoutineCommentContext.prototype.constructor = RoutineCommentContext; + +SqlParser.RoutineCommentContext = RoutineCommentContext; + +RoutineCommentContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +RoutineCommentContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +RoutineCommentContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRoutineComment(this); + } +}; + +RoutineCommentContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRoutineComment(this); + } +}; + +RoutineCommentContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRoutineComment(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function RoutineSecurityContext(parser, ctx) { + RoutineOptionContext.call(this, parser); + this.context = null; // Token; + RoutineOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +RoutineSecurityContext.prototype = Object.create(RoutineOptionContext.prototype); +RoutineSecurityContext.prototype.constructor = RoutineSecurityContext; + +SqlParser.RoutineSecurityContext = RoutineSecurityContext; + +RoutineSecurityContext.prototype.SQL = function() { + return this.getToken(SqlParser.SQL, 0); +}; + +RoutineSecurityContext.prototype.SECURITY = function() { + return this.getToken(SqlParser.SECURITY, 0); +}; + +RoutineSecurityContext.prototype.DEFINER = function() { + return this.getToken(SqlParser.DEFINER, 0); +}; + +RoutineSecurityContext.prototype.INVOKER = function() { + return this.getToken(SqlParser.INVOKER, 0); +}; +RoutineSecurityContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRoutineSecurity(this); + } +}; + +RoutineSecurityContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRoutineSecurity(this); + } +}; + +RoutineSecurityContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRoutineSecurity(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function RoutineDataContext(parser, ctx) { + RoutineOptionContext.call(this, parser); + RoutineOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +RoutineDataContext.prototype = Object.create(RoutineOptionContext.prototype); +RoutineDataContext.prototype.constructor = RoutineDataContext; + +SqlParser.RoutineDataContext = RoutineDataContext; + +RoutineDataContext.prototype.CONTAINS = function() { + return this.getToken(SqlParser.CONTAINS, 0); +}; + +RoutineDataContext.prototype.SQL = function() { + return this.getToken(SqlParser.SQL, 0); +}; + +RoutineDataContext.prototype.NO = function() { + return this.getToken(SqlParser.NO, 0); +}; + +RoutineDataContext.prototype.READS = function() { + return this.getToken(SqlParser.READS, 0); +}; + +RoutineDataContext.prototype.DATA = function() { + return this.getToken(SqlParser.DATA, 0); +}; + +RoutineDataContext.prototype.MODIFIES = function() { + return this.getToken(SqlParser.MODIFIES, 0); +}; +RoutineDataContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRoutineData(this); + } +}; + +RoutineDataContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRoutineData(this); + } +}; + +RoutineDataContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRoutineData(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.RoutineOptionContext = RoutineOptionContext; + +SqlParser.prototype.routineOption = function() { + + var localctx = new RoutineOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 72, SqlParser.RULE_routineOption); + var _la = 0; // Token type + try { + this.state = 1382; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.COMMENT: + localctx = new RoutineCommentContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1359; + this.match(SqlParser.COMMENT); + this.state = 1360; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.LANGUAGE: + localctx = new RoutineLanguageContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1361; + this.match(SqlParser.LANGUAGE); + this.state = 1362; + this.match(SqlParser.SQL); + break; + case SqlParser.DETERMINISTIC: + case SqlParser.NOT: + localctx = new RoutineBehaviorContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 1364; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 1363; + this.match(SqlParser.NOT); + } + + this.state = 1366; + this.match(SqlParser.DETERMINISTIC); + break; + case SqlParser.MODIFIES: + case SqlParser.READS: + case SqlParser.CONTAINS: + case SqlParser.NO: + localctx = new RoutineDataContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 1377; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CONTAINS: + this.state = 1367; + this.match(SqlParser.CONTAINS); + this.state = 1368; + this.match(SqlParser.SQL); + break; + case SqlParser.NO: + this.state = 1369; + this.match(SqlParser.NO); + this.state = 1370; + this.match(SqlParser.SQL); + break; + case SqlParser.READS: + this.state = 1371; + this.match(SqlParser.READS); + this.state = 1372; + this.match(SqlParser.SQL); + this.state = 1373; + this.match(SqlParser.DATA); + break; + case SqlParser.MODIFIES: + this.state = 1374; + this.match(SqlParser.MODIFIES); + this.state = 1375; + this.match(SqlParser.SQL); + this.state = 1376; + this.match(SqlParser.DATA); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case SqlParser.SQL: + localctx = new RoutineSecurityContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 1379; + this.match(SqlParser.SQL); + this.state = 1380; + this.match(SqlParser.SECURITY); + this.state = 1381; + localctx.context = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFINER || _la===SqlParser.INVOKER)) { + localctx.context = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ServerOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_serverOption; + return this; +} + +ServerOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ServerOptionContext.prototype.constructor = ServerOptionContext; + +ServerOptionContext.prototype.HOST = function() { + return this.getToken(SqlParser.HOST, 0); +}; + +ServerOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +ServerOptionContext.prototype.DATABASE = function() { + return this.getToken(SqlParser.DATABASE, 0); +}; + +ServerOptionContext.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +ServerOptionContext.prototype.PASSWORD = function() { + return this.getToken(SqlParser.PASSWORD, 0); +}; + +ServerOptionContext.prototype.SOCKET = function() { + return this.getToken(SqlParser.SOCKET, 0); +}; + +ServerOptionContext.prototype.OWNER = function() { + return this.getToken(SqlParser.OWNER, 0); +}; + +ServerOptionContext.prototype.PORT = function() { + return this.getToken(SqlParser.PORT, 0); +}; + +ServerOptionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +ServerOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterServerOption(this); + } +}; + +ServerOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitServerOption(this); + } +}; + +ServerOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitServerOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ServerOptionContext = ServerOptionContext; + +SqlParser.prototype.serverOption = function() { + + var localctx = new ServerOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 74, SqlParser.RULE_serverOption); + try { + this.state = 1398; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.HOST: + this.enterOuterAlt(localctx, 1); + this.state = 1384; + this.match(SqlParser.HOST); + this.state = 1385; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.DATABASE: + this.enterOuterAlt(localctx, 2); + this.state = 1386; + this.match(SqlParser.DATABASE); + this.state = 1387; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.USER: + this.enterOuterAlt(localctx, 3); + this.state = 1388; + this.match(SqlParser.USER); + this.state = 1389; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.PASSWORD: + this.enterOuterAlt(localctx, 4); + this.state = 1390; + this.match(SqlParser.PASSWORD); + this.state = 1391; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.SOCKET: + this.enterOuterAlt(localctx, 5); + this.state = 1392; + this.match(SqlParser.SOCKET); + this.state = 1393; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.OWNER: + this.enterOuterAlt(localctx, 6); + this.state = 1394; + this.match(SqlParser.OWNER); + this.state = 1395; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.PORT: + this.enterOuterAlt(localctx, 7); + this.state = 1396; + this.match(SqlParser.PORT); + this.state = 1397; + this.decimalLiteral(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateDefinitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createDefinitions; + return this; +} + +CreateDefinitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateDefinitionsContext.prototype.constructor = CreateDefinitionsContext; + +CreateDefinitionsContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CreateDefinitionsContext.prototype.createDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(CreateDefinitionContext); + } else { + return this.getTypedRuleContext(CreateDefinitionContext,i); + } +}; + +CreateDefinitionsContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CreateDefinitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +CreateDefinitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateDefinitions(this); + } +}; + +CreateDefinitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateDefinitions(this); + } +}; + +CreateDefinitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateDefinitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateDefinitionsContext = CreateDefinitionsContext; + +SqlParser.prototype.createDefinitions = function() { + + var localctx = new CreateDefinitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 76, SqlParser.RULE_createDefinitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1400; + this.match(SqlParser.LR_BRACKET); + this.state = 1401; + this.createDefinition(); + this.state = 1406; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 1402; + this.match(SqlParser.COMMA); + this.state = 1403; + this.createDefinition(); + this.state = 1408; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1409; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateDefinitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createDefinition; + return this; +} + +CreateDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateDefinitionContext.prototype.constructor = CreateDefinitionContext; + + + +CreateDefinitionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function ColumnDeclarationContext(parser, ctx) { + CreateDefinitionContext.call(this, parser); + CreateDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ColumnDeclarationContext.prototype = Object.create(CreateDefinitionContext.prototype); +ColumnDeclarationContext.prototype.constructor = ColumnDeclarationContext; + +SqlParser.ColumnDeclarationContext = ColumnDeclarationContext; + +ColumnDeclarationContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ColumnDeclarationContext.prototype.columnDefinition = function() { + return this.getTypedRuleContext(ColumnDefinitionContext,0); +}; +ColumnDeclarationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterColumnDeclaration(this); + } +}; + +ColumnDeclarationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitColumnDeclaration(this); + } +}; + +ColumnDeclarationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitColumnDeclaration(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ConstraintDeclarationContext(parser, ctx) { + CreateDefinitionContext.call(this, parser); + CreateDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ConstraintDeclarationContext.prototype = Object.create(CreateDefinitionContext.prototype); +ConstraintDeclarationContext.prototype.constructor = ConstraintDeclarationContext; + +SqlParser.ConstraintDeclarationContext = ConstraintDeclarationContext; + +ConstraintDeclarationContext.prototype.tableConstraint = function() { + return this.getTypedRuleContext(TableConstraintContext,0); +}; +ConstraintDeclarationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterConstraintDeclaration(this); + } +}; + +ConstraintDeclarationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitConstraintDeclaration(this); + } +}; + +ConstraintDeclarationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitConstraintDeclaration(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function IndexDeclarationContext(parser, ctx) { + CreateDefinitionContext.call(this, parser); + CreateDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +IndexDeclarationContext.prototype = Object.create(CreateDefinitionContext.prototype); +IndexDeclarationContext.prototype.constructor = IndexDeclarationContext; + +SqlParser.IndexDeclarationContext = IndexDeclarationContext; + +IndexDeclarationContext.prototype.indexColumnDefinition = function() { + return this.getTypedRuleContext(IndexColumnDefinitionContext,0); +}; +IndexDeclarationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIndexDeclaration(this); + } +}; + +IndexDeclarationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIndexDeclaration(this); + } +}; + +IndexDeclarationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIndexDeclaration(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.CreateDefinitionContext = CreateDefinitionContext; + +SqlParser.prototype.createDefinition = function() { + + var localctx = new CreateDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 78, SqlParser.RULE_createDefinition); + try { + this.state = 1416; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + localctx = new ColumnDeclarationContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1411; + this.uid(); + this.state = 1412; + this.columnDefinition(); + break; + case SqlParser.CHECK: + case SqlParser.CONSTRAINT: + case SqlParser.FOREIGN: + case SqlParser.PRIMARY: + case SqlParser.UNIQUE: + localctx = new ConstraintDeclarationContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1414; + this.tableConstraint(); + break; + case SqlParser.FULLTEXT: + case SqlParser.INDEX: + case SqlParser.KEY: + case SqlParser.SPATIAL: + localctx = new IndexDeclarationContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 1415; + this.indexColumnDefinition(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ColumnDefinitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_columnDefinition; + return this; +} + +ColumnDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ColumnDefinitionContext.prototype.constructor = ColumnDefinitionContext; + +ColumnDefinitionContext.prototype.dataType = function() { + return this.getTypedRuleContext(DataTypeContext,0); +}; + +ColumnDefinitionContext.prototype.columnConstraint = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ColumnConstraintContext); + } else { + return this.getTypedRuleContext(ColumnConstraintContext,i); + } +}; + +ColumnDefinitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterColumnDefinition(this); + } +}; + +ColumnDefinitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitColumnDefinition(this); + } +}; + +ColumnDefinitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitColumnDefinition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ColumnDefinitionContext = ColumnDefinitionContext; + +SqlParser.prototype.columnDefinition = function() { + + var localctx = new ColumnDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 80, SqlParser.RULE_columnDefinition); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1418; + this.dataType(); + this.state = 1422; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,130,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1419; + this.columnConstraint(); + } + this.state = 1424; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,130,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ColumnConstraintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_columnConstraint; + return this; +} + +ColumnConstraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ColumnConstraintContext.prototype.constructor = ColumnConstraintContext; + + + +ColumnConstraintContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function StorageColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + this.storageval = null; // Token; + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +StorageColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +StorageColumnConstraintContext.prototype.constructor = StorageColumnConstraintContext; + +SqlParser.StorageColumnConstraintContext = StorageColumnConstraintContext; + +StorageColumnConstraintContext.prototype.STORAGE = function() { + return this.getToken(SqlParser.STORAGE, 0); +}; + +StorageColumnConstraintContext.prototype.DISK = function() { + return this.getToken(SqlParser.DISK, 0); +}; + +StorageColumnConstraintContext.prototype.MEMORY = function() { + return this.getToken(SqlParser.MEMORY, 0); +}; + +StorageColumnConstraintContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; +StorageColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStorageColumnConstraint(this); + } +}; + +StorageColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStorageColumnConstraint(this); + } +}; + +StorageColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStorageColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AutoIncrementColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AutoIncrementColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +AutoIncrementColumnConstraintContext.prototype.constructor = AutoIncrementColumnConstraintContext; + +SqlParser.AutoIncrementColumnConstraintContext = AutoIncrementColumnConstraintContext; + +AutoIncrementColumnConstraintContext.prototype.AUTO_INCREMENT = function() { + return this.getToken(SqlParser.AUTO_INCREMENT, 0); +}; + +AutoIncrementColumnConstraintContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +AutoIncrementColumnConstraintContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +AutoIncrementColumnConstraintContext.prototype.currentTimestamp = function() { + return this.getTypedRuleContext(CurrentTimestampContext,0); +}; +AutoIncrementColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAutoIncrementColumnConstraint(this); + } +}; + +AutoIncrementColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAutoIncrementColumnConstraint(this); + } +}; + +AutoIncrementColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAutoIncrementColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CommentColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CommentColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +CommentColumnConstraintContext.prototype.constructor = CommentColumnConstraintContext; + +SqlParser.CommentColumnConstraintContext = CommentColumnConstraintContext; + +CommentColumnConstraintContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +CommentColumnConstraintContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +CommentColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCommentColumnConstraint(this); + } +}; + +CommentColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCommentColumnConstraint(this); + } +}; + +CommentColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCommentColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function UniqueKeyColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +UniqueKeyColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +UniqueKeyColumnConstraintContext.prototype.constructor = UniqueKeyColumnConstraintContext; + +SqlParser.UniqueKeyColumnConstraintContext = UniqueKeyColumnConstraintContext; + +UniqueKeyColumnConstraintContext.prototype.UNIQUE = function() { + return this.getToken(SqlParser.UNIQUE, 0); +}; + +UniqueKeyColumnConstraintContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; +UniqueKeyColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUniqueKeyColumnConstraint(this); + } +}; + +UniqueKeyColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUniqueKeyColumnConstraint(this); + } +}; + +UniqueKeyColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUniqueKeyColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SerialDefaultColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SerialDefaultColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +SerialDefaultColumnConstraintContext.prototype.constructor = SerialDefaultColumnConstraintContext; + +SqlParser.SerialDefaultColumnConstraintContext = SerialDefaultColumnConstraintContext; + +SerialDefaultColumnConstraintContext.prototype.SERIAL = function() { + return this.getToken(SqlParser.SERIAL, 0); +}; + +SerialDefaultColumnConstraintContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +SerialDefaultColumnConstraintContext.prototype.VALUE = function() { + return this.getToken(SqlParser.VALUE, 0); +}; +SerialDefaultColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSerialDefaultColumnConstraint(this); + } +}; + +SerialDefaultColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSerialDefaultColumnConstraint(this); + } +}; + +SerialDefaultColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSerialDefaultColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function GeneratedColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +GeneratedColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +GeneratedColumnConstraintContext.prototype.constructor = GeneratedColumnConstraintContext; + +SqlParser.GeneratedColumnConstraintContext = GeneratedColumnConstraintContext; + +GeneratedColumnConstraintContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +GeneratedColumnConstraintContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +GeneratedColumnConstraintContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +GeneratedColumnConstraintContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +GeneratedColumnConstraintContext.prototype.GENERATED = function() { + return this.getToken(SqlParser.GENERATED, 0); +}; + +GeneratedColumnConstraintContext.prototype.ALWAYS = function() { + return this.getToken(SqlParser.ALWAYS, 0); +}; + +GeneratedColumnConstraintContext.prototype.VIRTUAL = function() { + return this.getToken(SqlParser.VIRTUAL, 0); +}; + +GeneratedColumnConstraintContext.prototype.STORED = function() { + return this.getToken(SqlParser.STORED, 0); +}; +GeneratedColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterGeneratedColumnConstraint(this); + } +}; + +GeneratedColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitGeneratedColumnConstraint(this); + } +}; + +GeneratedColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitGeneratedColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function FormatColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + this.colformat = null; // Token; + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +FormatColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +FormatColumnConstraintContext.prototype.constructor = FormatColumnConstraintContext; + +SqlParser.FormatColumnConstraintContext = FormatColumnConstraintContext; + +FormatColumnConstraintContext.prototype.COLUMN_FORMAT = function() { + return this.getToken(SqlParser.COLUMN_FORMAT, 0); +}; + +FormatColumnConstraintContext.prototype.FIXED = function() { + return this.getToken(SqlParser.FIXED, 0); +}; + +FormatColumnConstraintContext.prototype.DYNAMIC = function() { + return this.getToken(SqlParser.DYNAMIC, 0); +}; + +FormatColumnConstraintContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; +FormatColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFormatColumnConstraint(this); + } +}; + +FormatColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFormatColumnConstraint(this); + } +}; + +FormatColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFormatColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CollateColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CollateColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +CollateColumnConstraintContext.prototype.constructor = CollateColumnConstraintContext; + +SqlParser.CollateColumnConstraintContext = CollateColumnConstraintContext; + +CollateColumnConstraintContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +CollateColumnConstraintContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; +CollateColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCollateColumnConstraint(this); + } +}; + +CollateColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCollateColumnConstraint(this); + } +}; + +CollateColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCollateColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PrimaryKeyColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PrimaryKeyColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +PrimaryKeyColumnConstraintContext.prototype.constructor = PrimaryKeyColumnConstraintContext; + +SqlParser.PrimaryKeyColumnConstraintContext = PrimaryKeyColumnConstraintContext; + +PrimaryKeyColumnConstraintContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +PrimaryKeyColumnConstraintContext.prototype.PRIMARY = function() { + return this.getToken(SqlParser.PRIMARY, 0); +}; +PrimaryKeyColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPrimaryKeyColumnConstraint(this); + } +}; + +PrimaryKeyColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPrimaryKeyColumnConstraint(this); + } +}; + +PrimaryKeyColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPrimaryKeyColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CheckColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + this.name = null; // UidContext; + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CheckColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +CheckColumnConstraintContext.prototype.constructor = CheckColumnConstraintContext; + +SqlParser.CheckColumnConstraintContext = CheckColumnConstraintContext; + +CheckColumnConstraintContext.prototype.CHECK = function() { + return this.getToken(SqlParser.CHECK, 0); +}; + +CheckColumnConstraintContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CheckColumnConstraintContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +CheckColumnConstraintContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CheckColumnConstraintContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +CheckColumnConstraintContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +CheckColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCheckColumnConstraint(this); + } +}; + +CheckColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCheckColumnConstraint(this); + } +}; + +CheckColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCheckColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function NullColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +NullColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +NullColumnConstraintContext.prototype.constructor = NullColumnConstraintContext; + +SqlParser.NullColumnConstraintContext = NullColumnConstraintContext; + +NullColumnConstraintContext.prototype.nullNotnull = function() { + return this.getTypedRuleContext(NullNotnullContext,0); +}; +NullColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterNullColumnConstraint(this); + } +}; + +NullColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitNullColumnConstraint(this); + } +}; + +NullColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitNullColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DefaultColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DefaultColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +DefaultColumnConstraintContext.prototype.constructor = DefaultColumnConstraintContext; + +SqlParser.DefaultColumnConstraintContext = DefaultColumnConstraintContext; + +DefaultColumnConstraintContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +DefaultColumnConstraintContext.prototype.defaultValue = function() { + return this.getTypedRuleContext(DefaultValueContext,0); +}; +DefaultColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDefaultColumnConstraint(this); + } +}; + +DefaultColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDefaultColumnConstraint(this); + } +}; + +DefaultColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDefaultColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ReferenceColumnConstraintContext(parser, ctx) { + ColumnConstraintContext.call(this, parser); + ColumnConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ReferenceColumnConstraintContext.prototype = Object.create(ColumnConstraintContext.prototype); +ReferenceColumnConstraintContext.prototype.constructor = ReferenceColumnConstraintContext; + +SqlParser.ReferenceColumnConstraintContext = ReferenceColumnConstraintContext; + +ReferenceColumnConstraintContext.prototype.referenceDefinition = function() { + return this.getTypedRuleContext(ReferenceDefinitionContext,0); +}; +ReferenceColumnConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterReferenceColumnConstraint(this); + } +}; + +ReferenceColumnConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitReferenceColumnConstraint(this); + } +}; + +ReferenceColumnConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitReferenceColumnConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.ColumnConstraintContext = ColumnConstraintContext; + +SqlParser.prototype.columnConstraint = function() { + + var localctx = new ColumnConstraintContext(this, this._ctx, this.state); + this.enterRule(localctx, 82, SqlParser.RULE_columnConstraint); + var _la = 0; // Token type + try { + this.state = 1476; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.NOT: + case SqlParser.NULL_LITERAL: + case SqlParser.NULL_SPEC_LITERAL: + localctx = new NullColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1425; + this.nullNotnull(); + break; + case SqlParser.DEFAULT: + localctx = new DefaultColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1426; + this.match(SqlParser.DEFAULT); + this.state = 1427; + this.defaultValue(); + break; + case SqlParser.ON: + case SqlParser.AUTO_INCREMENT: + localctx = new AutoIncrementColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 1432; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.AUTO_INCREMENT: + this.state = 1428; + this.match(SqlParser.AUTO_INCREMENT); + break; + case SqlParser.ON: + this.state = 1429; + this.match(SqlParser.ON); + this.state = 1430; + this.match(SqlParser.UPDATE); + this.state = 1431; + this.currentTimestamp(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case SqlParser.KEY: + case SqlParser.PRIMARY: + localctx = new PrimaryKeyColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 1435; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PRIMARY) { + this.state = 1434; + this.match(SqlParser.PRIMARY); + } + + this.state = 1437; + this.match(SqlParser.KEY); + break; + case SqlParser.UNIQUE: + localctx = new UniqueKeyColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 1438; + this.match(SqlParser.UNIQUE); + this.state = 1440; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,133,this._ctx); + if(la_===1) { + this.state = 1439; + this.match(SqlParser.KEY); + + } + break; + case SqlParser.COMMENT: + localctx = new CommentColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 1442; + this.match(SqlParser.COMMENT); + this.state = 1443; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.COLUMN_FORMAT: + localctx = new FormatColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 1444; + this.match(SqlParser.COLUMN_FORMAT); + this.state = 1445; + localctx.colformat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.DYNAMIC || _la===SqlParser.FIXED)) { + localctx.colformat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.STORAGE: + localctx = new StorageColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 8); + this.state = 1446; + this.match(SqlParser.STORAGE); + this.state = 1447; + localctx.storageval = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.DISK || _la===SqlParser.MEMORY)) { + localctx.storageval = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.REFERENCES: + localctx = new ReferenceColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 9); + this.state = 1448; + this.referenceDefinition(); + break; + case SqlParser.COLLATE: + localctx = new CollateColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 10); + this.state = 1449; + this.match(SqlParser.COLLATE); + this.state = 1450; + this.collationName(); + break; + case SqlParser.AS: + case SqlParser.GENERATED: + localctx = new GeneratedColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 11); + this.state = 1453; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.GENERATED) { + this.state = 1451; + this.match(SqlParser.GENERATED); + this.state = 1452; + this.match(SqlParser.ALWAYS); + } + + this.state = 1455; + this.match(SqlParser.AS); + this.state = 1456; + this.match(SqlParser.LR_BRACKET); + this.state = 1457; + this.expression(0); + this.state = 1458; + this.match(SqlParser.RR_BRACKET); + this.state = 1460; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.STORED || _la===SqlParser.VIRTUAL) { + this.state = 1459; + _la = this._input.LA(1); + if(!(_la===SqlParser.STORED || _la===SqlParser.VIRTUAL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + break; + case SqlParser.SERIAL: + localctx = new SerialDefaultColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 12); + this.state = 1462; + this.match(SqlParser.SERIAL); + this.state = 1463; + this.match(SqlParser.DEFAULT); + this.state = 1464; + this.match(SqlParser.VALUE); + break; + case SqlParser.CHECK: + case SqlParser.CONSTRAINT: + localctx = new CheckColumnConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 13); + this.state = 1469; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 1465; + this.match(SqlParser.CONSTRAINT); + this.state = 1467; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1466; + localctx.name = this.uid(); + } + + } + + this.state = 1471; + this.match(SqlParser.CHECK); + this.state = 1472; + this.match(SqlParser.LR_BRACKET); + this.state = 1473; + this.expression(0); + this.state = 1474; + this.match(SqlParser.RR_BRACKET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TableConstraintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tableConstraint; + return this; +} + +TableConstraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TableConstraintContext.prototype.constructor = TableConstraintContext; + + + +TableConstraintContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function UniqueKeyTableConstraintContext(parser, ctx) { + TableConstraintContext.call(this, parser); + this.name = null; // UidContext; + this.indexFormat = null; // Token; + this.index = null; // UidContext; + TableConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +UniqueKeyTableConstraintContext.prototype = Object.create(TableConstraintContext.prototype); +UniqueKeyTableConstraintContext.prototype.constructor = UniqueKeyTableConstraintContext; + +SqlParser.UniqueKeyTableConstraintContext = UniqueKeyTableConstraintContext; + +UniqueKeyTableConstraintContext.prototype.UNIQUE = function() { + return this.getToken(SqlParser.UNIQUE, 0); +}; + +UniqueKeyTableConstraintContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +UniqueKeyTableConstraintContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +UniqueKeyTableConstraintContext.prototype.indexType = function() { + return this.getTypedRuleContext(IndexTypeContext,0); +}; + +UniqueKeyTableConstraintContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; + +UniqueKeyTableConstraintContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +UniqueKeyTableConstraintContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +UniqueKeyTableConstraintContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; +UniqueKeyTableConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUniqueKeyTableConstraint(this); + } +}; + +UniqueKeyTableConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUniqueKeyTableConstraint(this); + } +}; + +UniqueKeyTableConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUniqueKeyTableConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CheckTableConstraintContext(parser, ctx) { + TableConstraintContext.call(this, parser); + this.name = null; // UidContext; + TableConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CheckTableConstraintContext.prototype = Object.create(TableConstraintContext.prototype); +CheckTableConstraintContext.prototype.constructor = CheckTableConstraintContext; + +SqlParser.CheckTableConstraintContext = CheckTableConstraintContext; + +CheckTableConstraintContext.prototype.CHECK = function() { + return this.getToken(SqlParser.CHECK, 0); +}; + +CheckTableConstraintContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CheckTableConstraintContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +CheckTableConstraintContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CheckTableConstraintContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +CheckTableConstraintContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +CheckTableConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCheckTableConstraint(this); + } +}; + +CheckTableConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCheckTableConstraint(this); + } +}; + +CheckTableConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCheckTableConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PrimaryKeyTableConstraintContext(parser, ctx) { + TableConstraintContext.call(this, parser); + this.name = null; // UidContext; + this.index = null; // UidContext; + TableConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PrimaryKeyTableConstraintContext.prototype = Object.create(TableConstraintContext.prototype); +PrimaryKeyTableConstraintContext.prototype.constructor = PrimaryKeyTableConstraintContext; + +SqlParser.PrimaryKeyTableConstraintContext = PrimaryKeyTableConstraintContext; + +PrimaryKeyTableConstraintContext.prototype.PRIMARY = function() { + return this.getToken(SqlParser.PRIMARY, 0); +}; + +PrimaryKeyTableConstraintContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +PrimaryKeyTableConstraintContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +PrimaryKeyTableConstraintContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +PrimaryKeyTableConstraintContext.prototype.indexType = function() { + return this.getTypedRuleContext(IndexTypeContext,0); +}; + +PrimaryKeyTableConstraintContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; + +PrimaryKeyTableConstraintContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; +PrimaryKeyTableConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPrimaryKeyTableConstraint(this); + } +}; + +PrimaryKeyTableConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPrimaryKeyTableConstraint(this); + } +}; + +PrimaryKeyTableConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPrimaryKeyTableConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ForeignKeyTableConstraintContext(parser, ctx) { + TableConstraintContext.call(this, parser); + this.name = null; // UidContext; + this.index = null; // UidContext; + TableConstraintContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ForeignKeyTableConstraintContext.prototype = Object.create(TableConstraintContext.prototype); +ForeignKeyTableConstraintContext.prototype.constructor = ForeignKeyTableConstraintContext; + +SqlParser.ForeignKeyTableConstraintContext = ForeignKeyTableConstraintContext; + +ForeignKeyTableConstraintContext.prototype.FOREIGN = function() { + return this.getToken(SqlParser.FOREIGN, 0); +}; + +ForeignKeyTableConstraintContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +ForeignKeyTableConstraintContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +ForeignKeyTableConstraintContext.prototype.referenceDefinition = function() { + return this.getTypedRuleContext(ReferenceDefinitionContext,0); +}; + +ForeignKeyTableConstraintContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +ForeignKeyTableConstraintContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; +ForeignKeyTableConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterForeignKeyTableConstraint(this); + } +}; + +ForeignKeyTableConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitForeignKeyTableConstraint(this); + } +}; + +ForeignKeyTableConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitForeignKeyTableConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.TableConstraintContext = TableConstraintContext; + +SqlParser.prototype.tableConstraint = function() { + + var localctx = new TableConstraintContext(this, this._ctx, this.state); + this.enterRule(localctx, 84, SqlParser.RULE_tableConstraint); + var _la = 0; // Token type + try { + this.state = 1547; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,155,this._ctx); + switch(la_) { + case 1: + localctx = new PrimaryKeyTableConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1482; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 1478; + this.match(SqlParser.CONSTRAINT); + this.state = 1480; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1479; + localctx.name = this.uid(); + } + + } + + this.state = 1484; + this.match(SqlParser.PRIMARY); + this.state = 1485; + this.match(SqlParser.KEY); + this.state = 1487; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1486; + localctx.index = this.uid(); + } + + this.state = 1490; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 1489; + this.indexType(); + } + + this.state = 1492; + this.indexColumnNames(); + this.state = 1496; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 1493; + this.indexOption(); + this.state = 1498; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + localctx = new UniqueKeyTableConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1503; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 1499; + this.match(SqlParser.CONSTRAINT); + this.state = 1501; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1500; + localctx.name = this.uid(); + } + + } + + this.state = 1505; + this.match(SqlParser.UNIQUE); + this.state = 1507; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INDEX || _la===SqlParser.KEY) { + this.state = 1506; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1510; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1509; + localctx.index = this.uid(); + } + + this.state = 1513; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 1512; + this.indexType(); + } + + this.state = 1515; + this.indexColumnNames(); + this.state = 1519; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 1516; + this.indexOption(); + this.state = 1521; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 3: + localctx = new ForeignKeyTableConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 1526; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 1522; + this.match(SqlParser.CONSTRAINT); + this.state = 1524; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1523; + localctx.name = this.uid(); + } + + } + + this.state = 1528; + this.match(SqlParser.FOREIGN); + this.state = 1529; + this.match(SqlParser.KEY); + this.state = 1531; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1530; + localctx.index = this.uid(); + } + + this.state = 1533; + this.indexColumnNames(); + this.state = 1534; + this.referenceDefinition(); + break; + + case 4: + localctx = new CheckTableConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 1540; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 1536; + this.match(SqlParser.CONSTRAINT); + this.state = 1538; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1537; + localctx.name = this.uid(); + } + + } + + this.state = 1542; + this.match(SqlParser.CHECK); + this.state = 1543; + this.match(SqlParser.LR_BRACKET); + this.state = 1544; + this.expression(0); + this.state = 1545; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ReferenceDefinitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_referenceDefinition; + this.matchType = null; // Token + return this; +} + +ReferenceDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ReferenceDefinitionContext.prototype.constructor = ReferenceDefinitionContext; + +ReferenceDefinitionContext.prototype.REFERENCES = function() { + return this.getToken(SqlParser.REFERENCES, 0); +}; + +ReferenceDefinitionContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +ReferenceDefinitionContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +ReferenceDefinitionContext.prototype.MATCH = function() { + return this.getToken(SqlParser.MATCH, 0); +}; + +ReferenceDefinitionContext.prototype.referenceAction = function() { + return this.getTypedRuleContext(ReferenceActionContext,0); +}; + +ReferenceDefinitionContext.prototype.FULL = function() { + return this.getToken(SqlParser.FULL, 0); +}; + +ReferenceDefinitionContext.prototype.PARTIAL = function() { + return this.getToken(SqlParser.PARTIAL, 0); +}; + +ReferenceDefinitionContext.prototype.SIMPLE = function() { + return this.getToken(SqlParser.SIMPLE, 0); +}; + +ReferenceDefinitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterReferenceDefinition(this); + } +}; + +ReferenceDefinitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitReferenceDefinition(this); + } +}; + +ReferenceDefinitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitReferenceDefinition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ReferenceDefinitionContext = ReferenceDefinitionContext; + +SqlParser.prototype.referenceDefinition = function() { + + var localctx = new ReferenceDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 86, SqlParser.RULE_referenceDefinition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1549; + this.match(SqlParser.REFERENCES); + this.state = 1550; + this.tableName(); + this.state = 1552; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,156,this._ctx); + if(la_===1) { + this.state = 1551; + this.indexColumnNames(); + + } + this.state = 1556; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.MATCH) { + this.state = 1554; + this.match(SqlParser.MATCH); + this.state = 1555; + localctx.matchType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FULL || _la===SqlParser.PARTIAL || _la===SqlParser.SIMPLE)) { + localctx.matchType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1559; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,158,this._ctx); + if(la_===1) { + this.state = 1558; + this.referenceAction(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ReferenceActionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_referenceAction; + this.onDelete = null; // ReferenceControlTypeContext + this.onUpdate = null; // ReferenceControlTypeContext + return this; +} + +ReferenceActionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ReferenceActionContext.prototype.constructor = ReferenceActionContext; + +ReferenceActionContext.prototype.ON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.ON); + } else { + return this.getToken(SqlParser.ON, i); + } +}; + + +ReferenceActionContext.prototype.DELETE = function() { + return this.getToken(SqlParser.DELETE, 0); +}; + +ReferenceActionContext.prototype.referenceControlType = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ReferenceControlTypeContext); + } else { + return this.getTypedRuleContext(ReferenceControlTypeContext,i); + } +}; + +ReferenceActionContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +ReferenceActionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterReferenceAction(this); + } +}; + +ReferenceActionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitReferenceAction(this); + } +}; + +ReferenceActionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitReferenceAction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ReferenceActionContext = ReferenceActionContext; + +SqlParser.prototype.referenceAction = function() { + + var localctx = new ReferenceActionContext(this, this._ctx, this.state); + this.enterRule(localctx, 88, SqlParser.RULE_referenceAction); + try { + this.state = 1577; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,161,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1561; + this.match(SqlParser.ON); + this.state = 1562; + this.match(SqlParser.DELETE); + this.state = 1563; + localctx.onDelete = this.referenceControlType(); + this.state = 1567; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,159,this._ctx); + if(la_===1) { + this.state = 1564; + this.match(SqlParser.ON); + this.state = 1565; + this.match(SqlParser.UPDATE); + this.state = 1566; + localctx.onUpdate = this.referenceControlType(); + + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1569; + this.match(SqlParser.ON); + this.state = 1570; + this.match(SqlParser.UPDATE); + this.state = 1571; + localctx.onUpdate = this.referenceControlType(); + this.state = 1575; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,160,this._ctx); + if(la_===1) { + this.state = 1572; + this.match(SqlParser.ON); + this.state = 1573; + this.match(SqlParser.DELETE); + this.state = 1574; + localctx.onDelete = this.referenceControlType(); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ReferenceControlTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_referenceControlType; + return this; +} + +ReferenceControlTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ReferenceControlTypeContext.prototype.constructor = ReferenceControlTypeContext; + +ReferenceControlTypeContext.prototype.RESTRICT = function() { + return this.getToken(SqlParser.RESTRICT, 0); +}; + +ReferenceControlTypeContext.prototype.CASCADE = function() { + return this.getToken(SqlParser.CASCADE, 0); +}; + +ReferenceControlTypeContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +ReferenceControlTypeContext.prototype.NULL_LITERAL = function() { + return this.getToken(SqlParser.NULL_LITERAL, 0); +}; + +ReferenceControlTypeContext.prototype.NO = function() { + return this.getToken(SqlParser.NO, 0); +}; + +ReferenceControlTypeContext.prototype.ACTION = function() { + return this.getToken(SqlParser.ACTION, 0); +}; + +ReferenceControlTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterReferenceControlType(this); + } +}; + +ReferenceControlTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitReferenceControlType(this); + } +}; + +ReferenceControlTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitReferenceControlType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ReferenceControlTypeContext = ReferenceControlTypeContext; + +SqlParser.prototype.referenceControlType = function() { + + var localctx = new ReferenceControlTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 90, SqlParser.RULE_referenceControlType); + try { + this.state = 1585; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.RESTRICT: + this.enterOuterAlt(localctx, 1); + this.state = 1579; + this.match(SqlParser.RESTRICT); + break; + case SqlParser.CASCADE: + this.enterOuterAlt(localctx, 2); + this.state = 1580; + this.match(SqlParser.CASCADE); + break; + case SqlParser.SET: + this.enterOuterAlt(localctx, 3); + this.state = 1581; + this.match(SqlParser.SET); + this.state = 1582; + this.match(SqlParser.NULL_LITERAL); + break; + case SqlParser.NO: + this.enterOuterAlt(localctx, 4); + this.state = 1583; + this.match(SqlParser.NO); + this.state = 1584; + this.match(SqlParser.ACTION); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IndexColumnDefinitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_indexColumnDefinition; + return this; +} + +IndexColumnDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IndexColumnDefinitionContext.prototype.constructor = IndexColumnDefinitionContext; + + + +IndexColumnDefinitionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SpecialIndexDeclarationContext(parser, ctx) { + IndexColumnDefinitionContext.call(this, parser); + this.indexFormat = null; // Token; + IndexColumnDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SpecialIndexDeclarationContext.prototype = Object.create(IndexColumnDefinitionContext.prototype); +SpecialIndexDeclarationContext.prototype.constructor = SpecialIndexDeclarationContext; + +SqlParser.SpecialIndexDeclarationContext = SpecialIndexDeclarationContext; + +SpecialIndexDeclarationContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +SpecialIndexDeclarationContext.prototype.FULLTEXT = function() { + return this.getToken(SqlParser.FULLTEXT, 0); +}; + +SpecialIndexDeclarationContext.prototype.SPATIAL = function() { + return this.getToken(SqlParser.SPATIAL, 0); +}; + +SpecialIndexDeclarationContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SpecialIndexDeclarationContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; + +SpecialIndexDeclarationContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +SpecialIndexDeclarationContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; +SpecialIndexDeclarationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSpecialIndexDeclaration(this); + } +}; + +SpecialIndexDeclarationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSpecialIndexDeclaration(this); + } +}; + +SpecialIndexDeclarationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSpecialIndexDeclaration(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SimpleIndexDeclarationContext(parser, ctx) { + IndexColumnDefinitionContext.call(this, parser); + this.indexFormat = null; // Token; + IndexColumnDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SimpleIndexDeclarationContext.prototype = Object.create(IndexColumnDefinitionContext.prototype); +SimpleIndexDeclarationContext.prototype.constructor = SimpleIndexDeclarationContext; + +SqlParser.SimpleIndexDeclarationContext = SimpleIndexDeclarationContext; + +SimpleIndexDeclarationContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +SimpleIndexDeclarationContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +SimpleIndexDeclarationContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +SimpleIndexDeclarationContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SimpleIndexDeclarationContext.prototype.indexType = function() { + return this.getTypedRuleContext(IndexTypeContext,0); +}; + +SimpleIndexDeclarationContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; +SimpleIndexDeclarationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleIndexDeclaration(this); + } +}; + +SimpleIndexDeclarationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleIndexDeclaration(this); + } +}; + +SimpleIndexDeclarationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleIndexDeclaration(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.IndexColumnDefinitionContext = IndexColumnDefinitionContext; + +SqlParser.prototype.indexColumnDefinition = function() { + + var localctx = new IndexColumnDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 92, SqlParser.RULE_indexColumnDefinition); + var _la = 0; // Token type + try { + this.state = 1615; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.INDEX: + case SqlParser.KEY: + localctx = new SimpleIndexDeclarationContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1587; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1589; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1588; + this.uid(); + } + + this.state = 1592; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 1591; + this.indexType(); + } + + this.state = 1594; + this.indexColumnNames(); + this.state = 1598; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 1595; + this.indexOption(); + this.state = 1600; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case SqlParser.FULLTEXT: + case SqlParser.SPATIAL: + localctx = new SpecialIndexDeclarationContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1601; + _la = this._input.LA(1); + if(!(_la===SqlParser.FULLTEXT || _la===SqlParser.SPATIAL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1603; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INDEX || _la===SqlParser.KEY) { + this.state = 1602; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1606; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 1605; + this.uid(); + } + + this.state = 1608; + this.indexColumnNames(); + this.state = 1612; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 1609; + this.indexOption(); + this.state = 1614; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TableOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tableOption; + return this; +} + +TableOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TableOptionContext.prototype.constructor = TableOptionContext; + + + +TableOptionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function TableOptionEngineContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionEngineContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionEngineContext.prototype.constructor = TableOptionEngineContext; + +SqlParser.TableOptionEngineContext = TableOptionEngineContext; + +TableOptionEngineContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +TableOptionEngineContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +TableOptionEngineContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionEngineContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionEngine(this); + } +}; + +TableOptionEngineContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionEngine(this); + } +}; + +TableOptionEngineContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionEngine(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionMaxRowsContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionMaxRowsContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionMaxRowsContext.prototype.constructor = TableOptionMaxRowsContext; + +SqlParser.TableOptionMaxRowsContext = TableOptionMaxRowsContext; + +TableOptionMaxRowsContext.prototype.MAX_ROWS = function() { + return this.getToken(SqlParser.MAX_ROWS, 0); +}; + +TableOptionMaxRowsContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +TableOptionMaxRowsContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionMaxRowsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionMaxRows(this); + } +}; + +TableOptionMaxRowsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionMaxRows(this); + } +}; + +TableOptionMaxRowsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionMaxRows(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionCollateContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionCollateContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionCollateContext.prototype.constructor = TableOptionCollateContext; + +SqlParser.TableOptionCollateContext = TableOptionCollateContext; + +TableOptionCollateContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +TableOptionCollateContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; + +TableOptionCollateContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +TableOptionCollateContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionCollateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionCollate(this); + } +}; + +TableOptionCollateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionCollate(this); + } +}; + +TableOptionCollateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionCollate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionPersistentContext(parser, ctx) { + TableOptionContext.call(this, parser); + this.extBoolValue = null; // Token; + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionPersistentContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionPersistentContext.prototype.constructor = TableOptionPersistentContext; + +SqlParser.TableOptionPersistentContext = TableOptionPersistentContext; + +TableOptionPersistentContext.prototype.STATS_PERSISTENT = function() { + return this.getToken(SqlParser.STATS_PERSISTENT, 0); +}; + +TableOptionPersistentContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +TableOptionPersistentContext.prototype.ZERO_DECIMAL = function() { + return this.getToken(SqlParser.ZERO_DECIMAL, 0); +}; + +TableOptionPersistentContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +TableOptionPersistentContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionPersistentContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionPersistent(this); + } +}; + +TableOptionPersistentContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionPersistent(this); + } +}; + +TableOptionPersistentContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionPersistent(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionTablespaceContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionTablespaceContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionTablespaceContext.prototype.constructor = TableOptionTablespaceContext; + +SqlParser.TableOptionTablespaceContext = TableOptionTablespaceContext; + +TableOptionTablespaceContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +TableOptionTablespaceContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +TableOptionTablespaceContext.prototype.tablespaceStorage = function() { + return this.getTypedRuleContext(TablespaceStorageContext,0); +}; +TableOptionTablespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionTablespace(this); + } +}; + +TableOptionTablespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionTablespace(this); + } +}; + +TableOptionTablespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionTablespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionPackKeysContext(parser, ctx) { + TableOptionContext.call(this, parser); + this.extBoolValue = null; // Token; + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionPackKeysContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionPackKeysContext.prototype.constructor = TableOptionPackKeysContext; + +SqlParser.TableOptionPackKeysContext = TableOptionPackKeysContext; + +TableOptionPackKeysContext.prototype.PACK_KEYS = function() { + return this.getToken(SqlParser.PACK_KEYS, 0); +}; + +TableOptionPackKeysContext.prototype.ZERO_DECIMAL = function() { + return this.getToken(SqlParser.ZERO_DECIMAL, 0); +}; + +TableOptionPackKeysContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +TableOptionPackKeysContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +TableOptionPackKeysContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionPackKeysContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionPackKeys(this); + } +}; + +TableOptionPackKeysContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionPackKeys(this); + } +}; + +TableOptionPackKeysContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionPackKeys(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionPasswordContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionPasswordContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionPasswordContext.prototype.constructor = TableOptionPasswordContext; + +SqlParser.TableOptionPasswordContext = TableOptionPasswordContext; + +TableOptionPasswordContext.prototype.PASSWORD = function() { + return this.getToken(SqlParser.PASSWORD, 0); +}; + +TableOptionPasswordContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +TableOptionPasswordContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionPasswordContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionPassword(this); + } +}; + +TableOptionPasswordContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionPassword(this); + } +}; + +TableOptionPasswordContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionPassword(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionUnionContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionUnionContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionUnionContext.prototype.constructor = TableOptionUnionContext; + +SqlParser.TableOptionUnionContext = TableOptionUnionContext; + +TableOptionUnionContext.prototype.UNION = function() { + return this.getToken(SqlParser.UNION, 0); +}; + +TableOptionUnionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +TableOptionUnionContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +TableOptionUnionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +TableOptionUnionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionUnionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionUnion(this); + } +}; + +TableOptionUnionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionUnion(this); + } +}; + +TableOptionUnionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionUnion(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionSamplePageContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionSamplePageContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionSamplePageContext.prototype.constructor = TableOptionSamplePageContext; + +SqlParser.TableOptionSamplePageContext = TableOptionSamplePageContext; + +TableOptionSamplePageContext.prototype.STATS_SAMPLE_PAGES = function() { + return this.getToken(SqlParser.STATS_SAMPLE_PAGES, 0); +}; + +TableOptionSamplePageContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +TableOptionSamplePageContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionSamplePageContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionSamplePage(this); + } +}; + +TableOptionSamplePageContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionSamplePage(this); + } +}; + +TableOptionSamplePageContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionSamplePage(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionCharsetContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionCharsetContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionCharsetContext.prototype.constructor = TableOptionCharsetContext; + +SqlParser.TableOptionCharsetContext = TableOptionCharsetContext; + +TableOptionCharsetContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +TableOptionCharsetContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +TableOptionCharsetContext.prototype.CHARSET = function() { + return this.getToken(SqlParser.CHARSET, 0); +}; + +TableOptionCharsetContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +TableOptionCharsetContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.DEFAULT); + } else { + return this.getToken(SqlParser.DEFAULT, i); + } +}; + + +TableOptionCharsetContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionCharsetContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionCharset(this); + } +}; + +TableOptionCharsetContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionCharset(this); + } +}; + +TableOptionCharsetContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionCharset(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionIndexDirectoryContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionIndexDirectoryContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionIndexDirectoryContext.prototype.constructor = TableOptionIndexDirectoryContext; + +SqlParser.TableOptionIndexDirectoryContext = TableOptionIndexDirectoryContext; + +TableOptionIndexDirectoryContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +TableOptionIndexDirectoryContext.prototype.DIRECTORY = function() { + return this.getToken(SqlParser.DIRECTORY, 0); +}; + +TableOptionIndexDirectoryContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +TableOptionIndexDirectoryContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionIndexDirectoryContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionIndexDirectory(this); + } +}; + +TableOptionIndexDirectoryContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionIndexDirectory(this); + } +}; + +TableOptionIndexDirectoryContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionIndexDirectory(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionKeyBlockSizeContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionKeyBlockSizeContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionKeyBlockSizeContext.prototype.constructor = TableOptionKeyBlockSizeContext; + +SqlParser.TableOptionKeyBlockSizeContext = TableOptionKeyBlockSizeContext; + +TableOptionKeyBlockSizeContext.prototype.KEY_BLOCK_SIZE = function() { + return this.getToken(SqlParser.KEY_BLOCK_SIZE, 0); +}; + +TableOptionKeyBlockSizeContext.prototype.fileSizeLiteral = function() { + return this.getTypedRuleContext(FileSizeLiteralContext,0); +}; + +TableOptionKeyBlockSizeContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionKeyBlockSizeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionKeyBlockSize(this); + } +}; + +TableOptionKeyBlockSizeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionKeyBlockSize(this); + } +}; + +TableOptionKeyBlockSizeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionKeyBlockSize(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionEncryptionContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionEncryptionContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionEncryptionContext.prototype.constructor = TableOptionEncryptionContext; + +SqlParser.TableOptionEncryptionContext = TableOptionEncryptionContext; + +TableOptionEncryptionContext.prototype.ENCRYPTION = function() { + return this.getToken(SqlParser.ENCRYPTION, 0); +}; + +TableOptionEncryptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +TableOptionEncryptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionEncryptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionEncryption(this); + } +}; + +TableOptionEncryptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionEncryption(this); + } +}; + +TableOptionEncryptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionEncryption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionDataDirectoryContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionDataDirectoryContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionDataDirectoryContext.prototype.constructor = TableOptionDataDirectoryContext; + +SqlParser.TableOptionDataDirectoryContext = TableOptionDataDirectoryContext; + +TableOptionDataDirectoryContext.prototype.DATA = function() { + return this.getToken(SqlParser.DATA, 0); +}; + +TableOptionDataDirectoryContext.prototype.DIRECTORY = function() { + return this.getToken(SqlParser.DIRECTORY, 0); +}; + +TableOptionDataDirectoryContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +TableOptionDataDirectoryContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionDataDirectoryContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionDataDirectory(this); + } +}; + +TableOptionDataDirectoryContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionDataDirectory(this); + } +}; + +TableOptionDataDirectoryContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionDataDirectory(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionRecalculationContext(parser, ctx) { + TableOptionContext.call(this, parser); + this.extBoolValue = null; // Token; + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionRecalculationContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionRecalculationContext.prototype.constructor = TableOptionRecalculationContext; + +SqlParser.TableOptionRecalculationContext = TableOptionRecalculationContext; + +TableOptionRecalculationContext.prototype.STATS_AUTO_RECALC = function() { + return this.getToken(SqlParser.STATS_AUTO_RECALC, 0); +}; + +TableOptionRecalculationContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +TableOptionRecalculationContext.prototype.ZERO_DECIMAL = function() { + return this.getToken(SqlParser.ZERO_DECIMAL, 0); +}; + +TableOptionRecalculationContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +TableOptionRecalculationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionRecalculationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionRecalculation(this); + } +}; + +TableOptionRecalculationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionRecalculation(this); + } +}; + +TableOptionRecalculationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionRecalculation(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionAutoIncrementContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionAutoIncrementContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionAutoIncrementContext.prototype.constructor = TableOptionAutoIncrementContext; + +SqlParser.TableOptionAutoIncrementContext = TableOptionAutoIncrementContext; + +TableOptionAutoIncrementContext.prototype.AUTO_INCREMENT = function() { + return this.getToken(SqlParser.AUTO_INCREMENT, 0); +}; + +TableOptionAutoIncrementContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +TableOptionAutoIncrementContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionAutoIncrementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionAutoIncrement(this); + } +}; + +TableOptionAutoIncrementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionAutoIncrement(this); + } +}; + +TableOptionAutoIncrementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionAutoIncrement(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionChecksumContext(parser, ctx) { + TableOptionContext.call(this, parser); + this.boolValue = null; // Token; + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionChecksumContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionChecksumContext.prototype.constructor = TableOptionChecksumContext; + +SqlParser.TableOptionChecksumContext = TableOptionChecksumContext; + +TableOptionChecksumContext.prototype.CHECKSUM = function() { + return this.getToken(SqlParser.CHECKSUM, 0); +}; + +TableOptionChecksumContext.prototype.PAGE_CHECKSUM = function() { + return this.getToken(SqlParser.PAGE_CHECKSUM, 0); +}; + +TableOptionChecksumContext.prototype.ZERO_DECIMAL = function() { + return this.getToken(SqlParser.ZERO_DECIMAL, 0); +}; + +TableOptionChecksumContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +TableOptionChecksumContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionChecksumContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionChecksum(this); + } +}; + +TableOptionChecksumContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionChecksum(this); + } +}; + +TableOptionChecksumContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionChecksum(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionDelayContext(parser, ctx) { + TableOptionContext.call(this, parser); + this.boolValue = null; // Token; + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionDelayContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionDelayContext.prototype.constructor = TableOptionDelayContext; + +SqlParser.TableOptionDelayContext = TableOptionDelayContext; + +TableOptionDelayContext.prototype.DELAY_KEY_WRITE = function() { + return this.getToken(SqlParser.DELAY_KEY_WRITE, 0); +}; + +TableOptionDelayContext.prototype.ZERO_DECIMAL = function() { + return this.getToken(SqlParser.ZERO_DECIMAL, 0); +}; + +TableOptionDelayContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +TableOptionDelayContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionDelayContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionDelay(this); + } +}; + +TableOptionDelayContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionDelay(this); + } +}; + +TableOptionDelayContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionDelay(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionConnectionContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionConnectionContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionConnectionContext.prototype.constructor = TableOptionConnectionContext; + +SqlParser.TableOptionConnectionContext = TableOptionConnectionContext; + +TableOptionConnectionContext.prototype.CONNECTION = function() { + return this.getToken(SqlParser.CONNECTION, 0); +}; + +TableOptionConnectionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +TableOptionConnectionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionConnectionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionConnection(this); + } +}; + +TableOptionConnectionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionConnection(this); + } +}; + +TableOptionConnectionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionConnection(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionCommentContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionCommentContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionCommentContext.prototype.constructor = TableOptionCommentContext; + +SqlParser.TableOptionCommentContext = TableOptionCommentContext; + +TableOptionCommentContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +TableOptionCommentContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +TableOptionCommentContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionCommentContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionComment(this); + } +}; + +TableOptionCommentContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionComment(this); + } +}; + +TableOptionCommentContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionComment(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionAverageContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionAverageContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionAverageContext.prototype.constructor = TableOptionAverageContext; + +SqlParser.TableOptionAverageContext = TableOptionAverageContext; + +TableOptionAverageContext.prototype.AVG_ROW_LENGTH = function() { + return this.getToken(SqlParser.AVG_ROW_LENGTH, 0); +}; + +TableOptionAverageContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +TableOptionAverageContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionAverageContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionAverage(this); + } +}; + +TableOptionAverageContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionAverage(this); + } +}; + +TableOptionAverageContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionAverage(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionRowFormatContext(parser, ctx) { + TableOptionContext.call(this, parser); + this.rowFormat = null; // Token; + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionRowFormatContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionRowFormatContext.prototype.constructor = TableOptionRowFormatContext; + +SqlParser.TableOptionRowFormatContext = TableOptionRowFormatContext; + +TableOptionRowFormatContext.prototype.ROW_FORMAT = function() { + return this.getToken(SqlParser.ROW_FORMAT, 0); +}; + +TableOptionRowFormatContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +TableOptionRowFormatContext.prototype.DYNAMIC = function() { + return this.getToken(SqlParser.DYNAMIC, 0); +}; + +TableOptionRowFormatContext.prototype.FIXED = function() { + return this.getToken(SqlParser.FIXED, 0); +}; + +TableOptionRowFormatContext.prototype.COMPRESSED = function() { + return this.getToken(SqlParser.COMPRESSED, 0); +}; + +TableOptionRowFormatContext.prototype.REDUNDANT = function() { + return this.getToken(SqlParser.REDUNDANT, 0); +}; + +TableOptionRowFormatContext.prototype.COMPACT = function() { + return this.getToken(SqlParser.COMPACT, 0); +}; + +TableOptionRowFormatContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionRowFormatContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionRowFormat(this); + } +}; + +TableOptionRowFormatContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionRowFormat(this); + } +}; + +TableOptionRowFormatContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionRowFormat(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionCompressionContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionCompressionContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionCompressionContext.prototype.constructor = TableOptionCompressionContext; + +SqlParser.TableOptionCompressionContext = TableOptionCompressionContext; + +TableOptionCompressionContext.prototype.COMPRESSION = function() { + return this.getToken(SqlParser.COMPRESSION, 0); +}; + +TableOptionCompressionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +TableOptionCompressionContext.prototype.ID = function() { + return this.getToken(SqlParser.ID, 0); +}; + +TableOptionCompressionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionCompressionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionCompression(this); + } +}; + +TableOptionCompressionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionCompression(this); + } +}; + +TableOptionCompressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionCompression(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionInsertMethodContext(parser, ctx) { + TableOptionContext.call(this, parser); + this.insertMethod = null; // Token; + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionInsertMethodContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionInsertMethodContext.prototype.constructor = TableOptionInsertMethodContext; + +SqlParser.TableOptionInsertMethodContext = TableOptionInsertMethodContext; + +TableOptionInsertMethodContext.prototype.INSERT_METHOD = function() { + return this.getToken(SqlParser.INSERT_METHOD, 0); +}; + +TableOptionInsertMethodContext.prototype.NO = function() { + return this.getToken(SqlParser.NO, 0); +}; + +TableOptionInsertMethodContext.prototype.FIRST = function() { + return this.getToken(SqlParser.FIRST, 0); +}; + +TableOptionInsertMethodContext.prototype.LAST = function() { + return this.getToken(SqlParser.LAST, 0); +}; + +TableOptionInsertMethodContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionInsertMethodContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionInsertMethod(this); + } +}; + +TableOptionInsertMethodContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionInsertMethod(this); + } +}; + +TableOptionInsertMethodContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionInsertMethod(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableOptionMinRowsContext(parser, ctx) { + TableOptionContext.call(this, parser); + TableOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableOptionMinRowsContext.prototype = Object.create(TableOptionContext.prototype); +TableOptionMinRowsContext.prototype.constructor = TableOptionMinRowsContext; + +SqlParser.TableOptionMinRowsContext = TableOptionMinRowsContext; + +TableOptionMinRowsContext.prototype.MIN_ROWS = function() { + return this.getToken(SqlParser.MIN_ROWS, 0); +}; + +TableOptionMinRowsContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +TableOptionMinRowsContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +TableOptionMinRowsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableOptionMinRows(this); + } +}; + +TableOptionMinRowsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableOptionMinRows(this); + } +}; + +TableOptionMinRowsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableOptionMinRows(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.TableOptionContext = TableOptionContext; + +SqlParser.prototype.tableOption = function() { + + var localctx = new TableOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 94, SqlParser.RULE_tableOption); + var _la = 0; // Token type + try { + this.state = 1761; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,199,this._ctx); + switch(la_) { + case 1: + localctx = new TableOptionEngineContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1617; + this.match(SqlParser.ENGINE); + this.state = 1619; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1618; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1621; + this.engineName(); + break; + + case 2: + localctx = new TableOptionAutoIncrementContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1622; + this.match(SqlParser.AUTO_INCREMENT); + this.state = 1624; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1623; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1626; + this.decimalLiteral(); + break; + + case 3: + localctx = new TableOptionAverageContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 1627; + this.match(SqlParser.AVG_ROW_LENGTH); + this.state = 1629; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1628; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1631; + this.decimalLiteral(); + break; + + case 4: + localctx = new TableOptionCharsetContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 1633; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFAULT) { + this.state = 1632; + this.match(SqlParser.DEFAULT); + } + + this.state = 1638; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CHARACTER: + this.state = 1635; + this.match(SqlParser.CHARACTER); + this.state = 1636; + this.match(SqlParser.SET); + break; + case SqlParser.CHARSET: + this.state = 1637; + this.match(SqlParser.CHARSET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1641; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1640; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1645; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.BINARY: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + this.state = 1643; + this.charsetName(); + break; + case SqlParser.DEFAULT: + this.state = 1644; + this.match(SqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 5: + localctx = new TableOptionChecksumContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 1647; + _la = this._input.LA(1); + if(!(_la===SqlParser.CHECKSUM || _la===SqlParser.PAGE_CHECKSUM)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1649; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1648; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1651; + localctx.boolValue = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ZERO_DECIMAL || _la===SqlParser.ONE_DECIMAL)) { + localctx.boolValue = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 6: + localctx = new TableOptionCollateContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 1653; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFAULT) { + this.state = 1652; + this.match(SqlParser.DEFAULT); + } + + this.state = 1655; + this.match(SqlParser.COLLATE); + this.state = 1657; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1656; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1659; + this.collationName(); + break; + + case 7: + localctx = new TableOptionCommentContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 1660; + this.match(SqlParser.COMMENT); + this.state = 1662; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1661; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1664; + this.match(SqlParser.STRING_LITERAL); + break; + + case 8: + localctx = new TableOptionCompressionContext(this, localctx); + this.enterOuterAlt(localctx, 8); + this.state = 1665; + this.match(SqlParser.COMPRESSION); + this.state = 1667; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1666; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1669; + _la = this._input.LA(1); + if(!(_la===SqlParser.STRING_LITERAL || _la===SqlParser.ID)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 9: + localctx = new TableOptionConnectionContext(this, localctx); + this.enterOuterAlt(localctx, 9); + this.state = 1670; + this.match(SqlParser.CONNECTION); + this.state = 1672; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1671; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1674; + this.match(SqlParser.STRING_LITERAL); + break; + + case 10: + localctx = new TableOptionDataDirectoryContext(this, localctx); + this.enterOuterAlt(localctx, 10); + this.state = 1675; + this.match(SqlParser.DATA); + this.state = 1676; + this.match(SqlParser.DIRECTORY); + this.state = 1678; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1677; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1680; + this.match(SqlParser.STRING_LITERAL); + break; + + case 11: + localctx = new TableOptionDelayContext(this, localctx); + this.enterOuterAlt(localctx, 11); + this.state = 1681; + this.match(SqlParser.DELAY_KEY_WRITE); + this.state = 1683; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1682; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1685; + localctx.boolValue = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ZERO_DECIMAL || _la===SqlParser.ONE_DECIMAL)) { + localctx.boolValue = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 12: + localctx = new TableOptionEncryptionContext(this, localctx); + this.enterOuterAlt(localctx, 12); + this.state = 1686; + this.match(SqlParser.ENCRYPTION); + this.state = 1688; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1687; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1690; + this.match(SqlParser.STRING_LITERAL); + break; + + case 13: + localctx = new TableOptionIndexDirectoryContext(this, localctx); + this.enterOuterAlt(localctx, 13); + this.state = 1691; + this.match(SqlParser.INDEX); + this.state = 1692; + this.match(SqlParser.DIRECTORY); + this.state = 1694; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1693; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1696; + this.match(SqlParser.STRING_LITERAL); + break; + + case 14: + localctx = new TableOptionInsertMethodContext(this, localctx); + this.enterOuterAlt(localctx, 14); + this.state = 1697; + this.match(SqlParser.INSERT_METHOD); + this.state = 1699; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1698; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1701; + localctx.insertMethod = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FIRST || _la===SqlParser.LAST || _la===SqlParser.NO)) { + localctx.insertMethod = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 15: + localctx = new TableOptionKeyBlockSizeContext(this, localctx); + this.enterOuterAlt(localctx, 15); + this.state = 1702; + this.match(SqlParser.KEY_BLOCK_SIZE); + this.state = 1704; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1703; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1706; + this.fileSizeLiteral(); + break; + + case 16: + localctx = new TableOptionMaxRowsContext(this, localctx); + this.enterOuterAlt(localctx, 16); + this.state = 1707; + this.match(SqlParser.MAX_ROWS); + this.state = 1709; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1708; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1711; + this.decimalLiteral(); + break; + + case 17: + localctx = new TableOptionMinRowsContext(this, localctx); + this.enterOuterAlt(localctx, 17); + this.state = 1712; + this.match(SqlParser.MIN_ROWS); + this.state = 1714; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1713; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1716; + this.decimalLiteral(); + break; + + case 18: + localctx = new TableOptionPackKeysContext(this, localctx); + this.enterOuterAlt(localctx, 18); + this.state = 1717; + this.match(SqlParser.PACK_KEYS); + this.state = 1719; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1718; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1721; + localctx.extBoolValue = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.ZERO_DECIMAL || _la===SqlParser.ONE_DECIMAL)) { + localctx.extBoolValue = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 19: + localctx = new TableOptionPasswordContext(this, localctx); + this.enterOuterAlt(localctx, 19); + this.state = 1722; + this.match(SqlParser.PASSWORD); + this.state = 1724; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1723; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1726; + this.match(SqlParser.STRING_LITERAL); + break; + + case 20: + localctx = new TableOptionRowFormatContext(this, localctx); + this.enterOuterAlt(localctx, 20); + this.state = 1727; + this.match(SqlParser.ROW_FORMAT); + this.state = 1729; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1728; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1731; + localctx.rowFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || ((((_la - 307)) & ~0x1f) == 0 && ((1 << (_la - 307)) & ((1 << (SqlParser.COMPACT - 307)) | (1 << (SqlParser.COMPRESSED - 307)) | (1 << (SqlParser.DYNAMIC - 307)))) !== 0) || _la===SqlParser.FIXED || _la===SqlParser.REDUNDANT)) { + localctx.rowFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 21: + localctx = new TableOptionRecalculationContext(this, localctx); + this.enterOuterAlt(localctx, 21); + this.state = 1732; + this.match(SqlParser.STATS_AUTO_RECALC); + this.state = 1734; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1733; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1736; + localctx.extBoolValue = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.ZERO_DECIMAL || _la===SqlParser.ONE_DECIMAL)) { + localctx.extBoolValue = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 22: + localctx = new TableOptionPersistentContext(this, localctx); + this.enterOuterAlt(localctx, 22); + this.state = 1737; + this.match(SqlParser.STATS_PERSISTENT); + this.state = 1739; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1738; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1741; + localctx.extBoolValue = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.ZERO_DECIMAL || _la===SqlParser.ONE_DECIMAL)) { + localctx.extBoolValue = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 23: + localctx = new TableOptionSamplePageContext(this, localctx); + this.enterOuterAlt(localctx, 23); + this.state = 1742; + this.match(SqlParser.STATS_SAMPLE_PAGES); + this.state = 1744; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1743; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1746; + this.decimalLiteral(); + break; + + case 24: + localctx = new TableOptionTablespaceContext(this, localctx); + this.enterOuterAlt(localctx, 24); + this.state = 1747; + this.match(SqlParser.TABLESPACE); + this.state = 1748; + this.uid(); + this.state = 1750; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,197,this._ctx); + if(la_===1) { + this.state = 1749; + this.tablespaceStorage(); + + } + break; + + case 25: + localctx = new TableOptionTablespaceContext(this, localctx); + this.enterOuterAlt(localctx, 25); + this.state = 1752; + this.tablespaceStorage(); + break; + + case 26: + localctx = new TableOptionUnionContext(this, localctx); + this.enterOuterAlt(localctx, 26); + this.state = 1753; + this.match(SqlParser.UNION); + this.state = 1755; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 1754; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 1757; + this.match(SqlParser.LR_BRACKET); + this.state = 1758; + this.tables(); + this.state = 1759; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TablespaceStorageContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tablespaceStorage; + return this; +} + +TablespaceStorageContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TablespaceStorageContext.prototype.constructor = TablespaceStorageContext; + +TablespaceStorageContext.prototype.STORAGE = function() { + return this.getToken(SqlParser.STORAGE, 0); +}; + +TablespaceStorageContext.prototype.DISK = function() { + return this.getToken(SqlParser.DISK, 0); +}; + +TablespaceStorageContext.prototype.MEMORY = function() { + return this.getToken(SqlParser.MEMORY, 0); +}; + +TablespaceStorageContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +TablespaceStorageContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTablespaceStorage(this); + } +}; + +TablespaceStorageContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTablespaceStorage(this); + } +}; + +TablespaceStorageContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTablespaceStorage(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TablespaceStorageContext = TablespaceStorageContext; + +SqlParser.prototype.tablespaceStorage = function() { + + var localctx = new TablespaceStorageContext(this, this._ctx, this.state); + this.enterRule(localctx, 96, SqlParser.RULE_tablespaceStorage); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1763; + this.match(SqlParser.STORAGE); + this.state = 1764; + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.DISK || _la===SqlParser.MEMORY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PartitionDefinitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_partitionDefinitions; + this.count = null; // DecimalLiteralContext + this.subCount = null; // DecimalLiteralContext + return this; +} + +PartitionDefinitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PartitionDefinitionsContext.prototype.constructor = PartitionDefinitionsContext; + +PartitionDefinitionsContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +PartitionDefinitionsContext.prototype.BY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.BY); + } else { + return this.getToken(SqlParser.BY, i); + } +}; + + +PartitionDefinitionsContext.prototype.partitionFunctionDefinition = function() { + return this.getTypedRuleContext(PartitionFunctionDefinitionContext,0); +}; + +PartitionDefinitionsContext.prototype.PARTITIONS = function() { + return this.getToken(SqlParser.PARTITIONS, 0); +}; + +PartitionDefinitionsContext.prototype.SUBPARTITION = function() { + return this.getToken(SqlParser.SUBPARTITION, 0); +}; + +PartitionDefinitionsContext.prototype.subpartitionFunctionDefinition = function() { + return this.getTypedRuleContext(SubpartitionFunctionDefinitionContext,0); +}; + +PartitionDefinitionsContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionDefinitionsContext.prototype.partitionDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionDefinitionContext); + } else { + return this.getTypedRuleContext(PartitionDefinitionContext,i); + } +}; + +PartitionDefinitionsContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionDefinitionsContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; + +PartitionDefinitionsContext.prototype.SUBPARTITIONS = function() { + return this.getToken(SqlParser.SUBPARTITIONS, 0); +}; + +PartitionDefinitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +PartitionDefinitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionDefinitions(this); + } +}; + +PartitionDefinitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionDefinitions(this); + } +}; + +PartitionDefinitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionDefinitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PartitionDefinitionsContext = PartitionDefinitionsContext; + +SqlParser.prototype.partitionDefinitions = function() { + + var localctx = new PartitionDefinitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 98, SqlParser.RULE_partitionDefinitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1766; + this.match(SqlParser.PARTITION); + this.state = 1767; + this.match(SqlParser.BY); + this.state = 1768; + this.partitionFunctionDefinition(); + this.state = 1771; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITIONS) { + this.state = 1769; + this.match(SqlParser.PARTITIONS); + this.state = 1770; + localctx.count = this.decimalLiteral(); + } + + this.state = 1780; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SUBPARTITION) { + this.state = 1773; + this.match(SqlParser.SUBPARTITION); + this.state = 1774; + this.match(SqlParser.BY); + this.state = 1775; + this.subpartitionFunctionDefinition(); + this.state = 1778; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SUBPARTITIONS) { + this.state = 1776; + this.match(SqlParser.SUBPARTITIONS); + this.state = 1777; + localctx.subCount = this.decimalLiteral(); + } + + } + + this.state = 1793; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,204,this._ctx); + if(la_===1) { + this.state = 1782; + this.match(SqlParser.LR_BRACKET); + this.state = 1783; + this.partitionDefinition(); + this.state = 1788; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 1784; + this.match(SqlParser.COMMA); + this.state = 1785; + this.partitionDefinition(); + this.state = 1790; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1791; + this.match(SqlParser.RR_BRACKET); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PartitionFunctionDefinitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_partitionFunctionDefinition; + return this; +} + +PartitionFunctionDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PartitionFunctionDefinitionContext.prototype.constructor = PartitionFunctionDefinitionContext; + + + +PartitionFunctionDefinitionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function PartitionFunctionKeyContext(parser, ctx) { + PartitionFunctionDefinitionContext.call(this, parser); + this.algType = null; // Token; + PartitionFunctionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionFunctionKeyContext.prototype = Object.create(PartitionFunctionDefinitionContext.prototype); +PartitionFunctionKeyContext.prototype.constructor = PartitionFunctionKeyContext; + +SqlParser.PartitionFunctionKeyContext = PartitionFunctionKeyContext; + +PartitionFunctionKeyContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +PartitionFunctionKeyContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionFunctionKeyContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +PartitionFunctionKeyContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionFunctionKeyContext.prototype.LINEAR = function() { + return this.getToken(SqlParser.LINEAR, 0); +}; + +PartitionFunctionKeyContext.prototype.ALGORITHM = function() { + return this.getToken(SqlParser.ALGORITHM, 0); +}; + +PartitionFunctionKeyContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +PartitionFunctionKeyContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +PartitionFunctionKeyContext.prototype.TWO_DECIMAL = function() { + return this.getToken(SqlParser.TWO_DECIMAL, 0); +}; +PartitionFunctionKeyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionFunctionKey(this); + } +}; + +PartitionFunctionKeyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionFunctionKey(this); + } +}; + +PartitionFunctionKeyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionFunctionKey(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionFunctionHashContext(parser, ctx) { + PartitionFunctionDefinitionContext.call(this, parser); + PartitionFunctionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionFunctionHashContext.prototype = Object.create(PartitionFunctionDefinitionContext.prototype); +PartitionFunctionHashContext.prototype.constructor = PartitionFunctionHashContext; + +SqlParser.PartitionFunctionHashContext = PartitionFunctionHashContext; + +PartitionFunctionHashContext.prototype.HASH = function() { + return this.getToken(SqlParser.HASH, 0); +}; + +PartitionFunctionHashContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionFunctionHashContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +PartitionFunctionHashContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionFunctionHashContext.prototype.LINEAR = function() { + return this.getToken(SqlParser.LINEAR, 0); +}; +PartitionFunctionHashContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionFunctionHash(this); + } +}; + +PartitionFunctionHashContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionFunctionHash(this); + } +}; + +PartitionFunctionHashContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionFunctionHash(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionFunctionListContext(parser, ctx) { + PartitionFunctionDefinitionContext.call(this, parser); + PartitionFunctionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionFunctionListContext.prototype = Object.create(PartitionFunctionDefinitionContext.prototype); +PartitionFunctionListContext.prototype.constructor = PartitionFunctionListContext; + +SqlParser.PartitionFunctionListContext = PartitionFunctionListContext; + +PartitionFunctionListContext.prototype.LIST = function() { + return this.getToken(SqlParser.LIST, 0); +}; + +PartitionFunctionListContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionFunctionListContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +PartitionFunctionListContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionFunctionListContext.prototype.COLUMNS = function() { + return this.getToken(SqlParser.COLUMNS, 0); +}; + +PartitionFunctionListContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; +PartitionFunctionListContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionFunctionList(this); + } +}; + +PartitionFunctionListContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionFunctionList(this); + } +}; + +PartitionFunctionListContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionFunctionList(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionFunctionRangeContext(parser, ctx) { + PartitionFunctionDefinitionContext.call(this, parser); + PartitionFunctionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionFunctionRangeContext.prototype = Object.create(PartitionFunctionDefinitionContext.prototype); +PartitionFunctionRangeContext.prototype.constructor = PartitionFunctionRangeContext; + +SqlParser.PartitionFunctionRangeContext = PartitionFunctionRangeContext; + +PartitionFunctionRangeContext.prototype.RANGE = function() { + return this.getToken(SqlParser.RANGE, 0); +}; + +PartitionFunctionRangeContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionFunctionRangeContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +PartitionFunctionRangeContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionFunctionRangeContext.prototype.COLUMNS = function() { + return this.getToken(SqlParser.COLUMNS, 0); +}; + +PartitionFunctionRangeContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; +PartitionFunctionRangeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionFunctionRange(this); + } +}; + +PartitionFunctionRangeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionFunctionRange(this); + } +}; + +PartitionFunctionRangeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionFunctionRange(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.PartitionFunctionDefinitionContext = PartitionFunctionDefinitionContext; + +SqlParser.prototype.partitionFunctionDefinition = function() { + + var localctx = new PartitionFunctionDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 100, SqlParser.RULE_partitionFunctionDefinition); + var _la = 0; // Token type + try { + this.state = 1840; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,210,this._ctx); + switch(la_) { + case 1: + localctx = new PartitionFunctionHashContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1796; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LINEAR) { + this.state = 1795; + this.match(SqlParser.LINEAR); + } + + this.state = 1798; + this.match(SqlParser.HASH); + this.state = 1799; + this.match(SqlParser.LR_BRACKET); + this.state = 1800; + this.expression(0); + this.state = 1801; + this.match(SqlParser.RR_BRACKET); + break; + + case 2: + localctx = new PartitionFunctionKeyContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1804; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LINEAR) { + this.state = 1803; + this.match(SqlParser.LINEAR); + } + + this.state = 1806; + this.match(SqlParser.KEY); + this.state = 1810; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALGORITHM) { + this.state = 1807; + this.match(SqlParser.ALGORITHM); + this.state = 1808; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 1809; + localctx.algType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ONE_DECIMAL || _la===SqlParser.TWO_DECIMAL)) { + localctx.algType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1812; + this.match(SqlParser.LR_BRACKET); + this.state = 1813; + this.uidList(); + this.state = 1814; + this.match(SqlParser.RR_BRACKET); + break; + + case 3: + localctx = new PartitionFunctionRangeContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 1816; + this.match(SqlParser.RANGE); + this.state = 1826; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.LR_BRACKET: + this.state = 1817; + this.match(SqlParser.LR_BRACKET); + this.state = 1818; + this.expression(0); + this.state = 1819; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.COLUMNS: + this.state = 1821; + this.match(SqlParser.COLUMNS); + this.state = 1822; + this.match(SqlParser.LR_BRACKET); + this.state = 1823; + this.uidList(); + this.state = 1824; + this.match(SqlParser.RR_BRACKET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 4: + localctx = new PartitionFunctionListContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 1828; + this.match(SqlParser.LIST); + this.state = 1838; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.LR_BRACKET: + this.state = 1829; + this.match(SqlParser.LR_BRACKET); + this.state = 1830; + this.expression(0); + this.state = 1831; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.COLUMNS: + this.state = 1833; + this.match(SqlParser.COLUMNS); + this.state = 1834; + this.match(SqlParser.LR_BRACKET); + this.state = 1835; + this.uidList(); + this.state = 1836; + this.match(SqlParser.RR_BRACKET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SubpartitionFunctionDefinitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_subpartitionFunctionDefinition; + return this; +} + +SubpartitionFunctionDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SubpartitionFunctionDefinitionContext.prototype.constructor = SubpartitionFunctionDefinitionContext; + + + +SubpartitionFunctionDefinitionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SubPartitionFunctionHashContext(parser, ctx) { + SubpartitionFunctionDefinitionContext.call(this, parser); + SubpartitionFunctionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SubPartitionFunctionHashContext.prototype = Object.create(SubpartitionFunctionDefinitionContext.prototype); +SubPartitionFunctionHashContext.prototype.constructor = SubPartitionFunctionHashContext; + +SqlParser.SubPartitionFunctionHashContext = SubPartitionFunctionHashContext; + +SubPartitionFunctionHashContext.prototype.HASH = function() { + return this.getToken(SqlParser.HASH, 0); +}; + +SubPartitionFunctionHashContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +SubPartitionFunctionHashContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +SubPartitionFunctionHashContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +SubPartitionFunctionHashContext.prototype.LINEAR = function() { + return this.getToken(SqlParser.LINEAR, 0); +}; +SubPartitionFunctionHashContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSubPartitionFunctionHash(this); + } +}; + +SubPartitionFunctionHashContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSubPartitionFunctionHash(this); + } +}; + +SubPartitionFunctionHashContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSubPartitionFunctionHash(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SubPartitionFunctionKeyContext(parser, ctx) { + SubpartitionFunctionDefinitionContext.call(this, parser); + this.algType = null; // Token; + SubpartitionFunctionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SubPartitionFunctionKeyContext.prototype = Object.create(SubpartitionFunctionDefinitionContext.prototype); +SubPartitionFunctionKeyContext.prototype.constructor = SubPartitionFunctionKeyContext; + +SqlParser.SubPartitionFunctionKeyContext = SubPartitionFunctionKeyContext; + +SubPartitionFunctionKeyContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +SubPartitionFunctionKeyContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +SubPartitionFunctionKeyContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +SubPartitionFunctionKeyContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +SubPartitionFunctionKeyContext.prototype.LINEAR = function() { + return this.getToken(SqlParser.LINEAR, 0); +}; + +SubPartitionFunctionKeyContext.prototype.ALGORITHM = function() { + return this.getToken(SqlParser.ALGORITHM, 0); +}; + +SubPartitionFunctionKeyContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +SubPartitionFunctionKeyContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +SubPartitionFunctionKeyContext.prototype.TWO_DECIMAL = function() { + return this.getToken(SqlParser.TWO_DECIMAL, 0); +}; +SubPartitionFunctionKeyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSubPartitionFunctionKey(this); + } +}; + +SubPartitionFunctionKeyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSubPartitionFunctionKey(this); + } +}; + +SubPartitionFunctionKeyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSubPartitionFunctionKey(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.SubpartitionFunctionDefinitionContext = SubpartitionFunctionDefinitionContext; + +SqlParser.prototype.subpartitionFunctionDefinition = function() { + + var localctx = new SubpartitionFunctionDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 102, SqlParser.RULE_subpartitionFunctionDefinition); + var _la = 0; // Token type + try { + this.state = 1863; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,214,this._ctx); + switch(la_) { + case 1: + localctx = new SubPartitionFunctionHashContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1843; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LINEAR) { + this.state = 1842; + this.match(SqlParser.LINEAR); + } + + this.state = 1845; + this.match(SqlParser.HASH); + this.state = 1846; + this.match(SqlParser.LR_BRACKET); + this.state = 1847; + this.expression(0); + this.state = 1848; + this.match(SqlParser.RR_BRACKET); + break; + + case 2: + localctx = new SubPartitionFunctionKeyContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1851; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LINEAR) { + this.state = 1850; + this.match(SqlParser.LINEAR); + } + + this.state = 1853; + this.match(SqlParser.KEY); + this.state = 1857; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALGORITHM) { + this.state = 1854; + this.match(SqlParser.ALGORITHM); + this.state = 1855; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 1856; + localctx.algType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ONE_DECIMAL || _la===SqlParser.TWO_DECIMAL)) { + localctx.algType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1859; + this.match(SqlParser.LR_BRACKET); + this.state = 1860; + this.uidList(); + this.state = 1861; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PartitionDefinitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_partitionDefinition; + return this; +} + +PartitionDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PartitionDefinitionContext.prototype.constructor = PartitionDefinitionContext; + + + +PartitionDefinitionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function PartitionComparisionContext(parser, ctx) { + PartitionDefinitionContext.call(this, parser); + PartitionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionComparisionContext.prototype = Object.create(PartitionDefinitionContext.prototype); +PartitionComparisionContext.prototype.constructor = PartitionComparisionContext; + +SqlParser.PartitionComparisionContext = PartitionComparisionContext; + +PartitionComparisionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +PartitionComparisionContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +PartitionComparisionContext.prototype.VALUES = function() { + return this.getToken(SqlParser.VALUES, 0); +}; + +PartitionComparisionContext.prototype.LESS = function() { + return this.getToken(SqlParser.LESS, 0); +}; + +PartitionComparisionContext.prototype.THAN = function() { + return this.getToken(SqlParser.THAN, 0); +}; + +PartitionComparisionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionComparisionContext.prototype.partitionDefinerAtom = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionDefinerAtomContext); + } else { + return this.getTypedRuleContext(PartitionDefinerAtomContext,i); + } +}; + +PartitionComparisionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionComparisionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +PartitionComparisionContext.prototype.partitionOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionOptionContext); + } else { + return this.getTypedRuleContext(PartitionOptionContext,i); + } +}; + +PartitionComparisionContext.prototype.subpartitionDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SubpartitionDefinitionContext); + } else { + return this.getTypedRuleContext(SubpartitionDefinitionContext,i); + } +}; +PartitionComparisionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionComparision(this); + } +}; + +PartitionComparisionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionComparision(this); + } +}; + +PartitionComparisionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionComparision(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionListAtomContext(parser, ctx) { + PartitionDefinitionContext.call(this, parser); + PartitionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionListAtomContext.prototype = Object.create(PartitionDefinitionContext.prototype); +PartitionListAtomContext.prototype.constructor = PartitionListAtomContext; + +SqlParser.PartitionListAtomContext = PartitionListAtomContext; + +PartitionListAtomContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +PartitionListAtomContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +PartitionListAtomContext.prototype.VALUES = function() { + return this.getToken(SqlParser.VALUES, 0); +}; + +PartitionListAtomContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; + +PartitionListAtomContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionListAtomContext.prototype.partitionDefinerAtom = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionDefinerAtomContext); + } else { + return this.getTypedRuleContext(PartitionDefinerAtomContext,i); + } +}; + +PartitionListAtomContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionListAtomContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +PartitionListAtomContext.prototype.partitionOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionOptionContext); + } else { + return this.getTypedRuleContext(PartitionOptionContext,i); + } +}; + +PartitionListAtomContext.prototype.subpartitionDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SubpartitionDefinitionContext); + } else { + return this.getTypedRuleContext(SubpartitionDefinitionContext,i); + } +}; +PartitionListAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionListAtom(this); + } +}; + +PartitionListAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionListAtom(this); + } +}; + +PartitionListAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionListAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionListVectorContext(parser, ctx) { + PartitionDefinitionContext.call(this, parser); + PartitionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionListVectorContext.prototype = Object.create(PartitionDefinitionContext.prototype); +PartitionListVectorContext.prototype.constructor = PartitionListVectorContext; + +SqlParser.PartitionListVectorContext = PartitionListVectorContext; + +PartitionListVectorContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +PartitionListVectorContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +PartitionListVectorContext.prototype.VALUES = function() { + return this.getToken(SqlParser.VALUES, 0); +}; + +PartitionListVectorContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; + +PartitionListVectorContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionListVectorContext.prototype.partitionDefinerVector = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionDefinerVectorContext); + } else { + return this.getTypedRuleContext(PartitionDefinerVectorContext,i); + } +}; + +PartitionListVectorContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionListVectorContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +PartitionListVectorContext.prototype.partitionOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionOptionContext); + } else { + return this.getTypedRuleContext(PartitionOptionContext,i); + } +}; + +PartitionListVectorContext.prototype.subpartitionDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SubpartitionDefinitionContext); + } else { + return this.getTypedRuleContext(SubpartitionDefinitionContext,i); + } +}; +PartitionListVectorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionListVector(this); + } +}; + +PartitionListVectorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionListVector(this); + } +}; + +PartitionListVectorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionListVector(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionSimpleContext(parser, ctx) { + PartitionDefinitionContext.call(this, parser); + PartitionDefinitionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionSimpleContext.prototype = Object.create(PartitionDefinitionContext.prototype); +PartitionSimpleContext.prototype.constructor = PartitionSimpleContext; + +SqlParser.PartitionSimpleContext = PartitionSimpleContext; + +PartitionSimpleContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +PartitionSimpleContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +PartitionSimpleContext.prototype.partitionOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionOptionContext); + } else { + return this.getTypedRuleContext(PartitionOptionContext,i); + } +}; + +PartitionSimpleContext.prototype.subpartitionDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SubpartitionDefinitionContext); + } else { + return this.getTypedRuleContext(SubpartitionDefinitionContext,i); + } +}; + +PartitionSimpleContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +PartitionSimpleContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionSimple(this); + } +}; + +PartitionSimpleContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionSimple(this); + } +}; + +PartitionSimpleContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionSimple(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.PartitionDefinitionContext = PartitionDefinitionContext; + +SqlParser.prototype.partitionDefinition = function() { + + var localctx = new PartitionDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 104, SqlParser.RULE_partitionDefinition); + var _la = 0; // Token type + try { + this.state = 1996; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,233,this._ctx); + switch(la_) { + case 1: + localctx = new PartitionComparisionContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 1865; + this.match(SqlParser.PARTITION); + this.state = 1866; + this.uid(); + this.state = 1867; + this.match(SqlParser.VALUES); + this.state = 1868; + this.match(SqlParser.LESS); + this.state = 1869; + this.match(SqlParser.THAN); + this.state = 1870; + this.match(SqlParser.LR_BRACKET); + this.state = 1871; + this.partitionDefinerAtom(); + this.state = 1876; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 1872; + this.match(SqlParser.COMMA); + this.state = 1873; + this.partitionDefinerAtom(); + this.state = 1878; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1879; + this.match(SqlParser.RR_BRACKET); + this.state = 1883; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.INDEX || _la===SqlParser.COMMENT || _la===SqlParser.DATA || _la===SqlParser.ENGINE || ((((_la - 428)) & ~0x1f) == 0 && ((1 << (_la - 428)) & ((1 << (SqlParser.MAX_ROWS - 428)) | (1 << (SqlParser.MIN_ROWS - 428)) | (1 << (SqlParser.NODEGROUP - 428)))) !== 0) || _la===SqlParser.STORAGE || _la===SqlParser.TABLESPACE) { + this.state = 1880; + this.partitionOption(); + this.state = 1885; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1894; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SUBPARTITION) { + this.state = 1886; + this.subpartitionDefinition(); + this.state = 1891; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,217,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1887; + this.match(SqlParser.COMMA); + this.state = 1888; + this.subpartitionDefinition(); + } + this.state = 1893; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,217,this._ctx); + } + + } + + break; + + case 2: + localctx = new PartitionComparisionContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 1896; + this.match(SqlParser.PARTITION); + this.state = 1897; + this.uid(); + this.state = 1898; + this.match(SqlParser.VALUES); + this.state = 1899; + this.match(SqlParser.LESS); + this.state = 1900; + this.match(SqlParser.THAN); + this.state = 1901; + this.partitionDefinerAtom(); + this.state = 1905; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.INDEX || _la===SqlParser.COMMENT || _la===SqlParser.DATA || _la===SqlParser.ENGINE || ((((_la - 428)) & ~0x1f) == 0 && ((1 << (_la - 428)) & ((1 << (SqlParser.MAX_ROWS - 428)) | (1 << (SqlParser.MIN_ROWS - 428)) | (1 << (SqlParser.NODEGROUP - 428)))) !== 0) || _la===SqlParser.STORAGE || _la===SqlParser.TABLESPACE) { + this.state = 1902; + this.partitionOption(); + this.state = 1907; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1916; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SUBPARTITION) { + this.state = 1908; + this.subpartitionDefinition(); + this.state = 1913; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,220,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1909; + this.match(SqlParser.COMMA); + this.state = 1910; + this.subpartitionDefinition(); + } + this.state = 1915; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,220,this._ctx); + } + + } + + break; + + case 3: + localctx = new PartitionListAtomContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 1918; + this.match(SqlParser.PARTITION); + this.state = 1919; + this.uid(); + this.state = 1920; + this.match(SqlParser.VALUES); + this.state = 1921; + this.match(SqlParser.IN); + this.state = 1922; + this.match(SqlParser.LR_BRACKET); + this.state = 1923; + this.partitionDefinerAtom(); + this.state = 1928; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 1924; + this.match(SqlParser.COMMA); + this.state = 1925; + this.partitionDefinerAtom(); + this.state = 1930; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1931; + this.match(SqlParser.RR_BRACKET); + this.state = 1935; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.INDEX || _la===SqlParser.COMMENT || _la===SqlParser.DATA || _la===SqlParser.ENGINE || ((((_la - 428)) & ~0x1f) == 0 && ((1 << (_la - 428)) & ((1 << (SqlParser.MAX_ROWS - 428)) | (1 << (SqlParser.MIN_ROWS - 428)) | (1 << (SqlParser.NODEGROUP - 428)))) !== 0) || _la===SqlParser.STORAGE || _la===SqlParser.TABLESPACE) { + this.state = 1932; + this.partitionOption(); + this.state = 1937; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1946; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SUBPARTITION) { + this.state = 1938; + this.subpartitionDefinition(); + this.state = 1943; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,224,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1939; + this.match(SqlParser.COMMA); + this.state = 1940; + this.subpartitionDefinition(); + } + this.state = 1945; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,224,this._ctx); + } + + } + + break; + + case 4: + localctx = new PartitionListVectorContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 1948; + this.match(SqlParser.PARTITION); + this.state = 1949; + this.uid(); + this.state = 1950; + this.match(SqlParser.VALUES); + this.state = 1951; + this.match(SqlParser.IN); + this.state = 1952; + this.match(SqlParser.LR_BRACKET); + this.state = 1953; + this.partitionDefinerVector(); + this.state = 1958; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 1954; + this.match(SqlParser.COMMA); + this.state = 1955; + this.partitionDefinerVector(); + this.state = 1960; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1961; + this.match(SqlParser.RR_BRACKET); + this.state = 1965; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.INDEX || _la===SqlParser.COMMENT || _la===SqlParser.DATA || _la===SqlParser.ENGINE || ((((_la - 428)) & ~0x1f) == 0 && ((1 << (_la - 428)) & ((1 << (SqlParser.MAX_ROWS - 428)) | (1 << (SqlParser.MIN_ROWS - 428)) | (1 << (SqlParser.NODEGROUP - 428)))) !== 0) || _la===SqlParser.STORAGE || _la===SqlParser.TABLESPACE) { + this.state = 1962; + this.partitionOption(); + this.state = 1967; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1976; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SUBPARTITION) { + this.state = 1968; + this.subpartitionDefinition(); + this.state = 1973; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,228,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1969; + this.match(SqlParser.COMMA); + this.state = 1970; + this.subpartitionDefinition(); + } + this.state = 1975; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,228,this._ctx); + } + + } + + break; + + case 5: + localctx = new PartitionSimpleContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 1978; + this.match(SqlParser.PARTITION); + this.state = 1979; + this.uid(); + this.state = 1983; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.INDEX || _la===SqlParser.COMMENT || _la===SqlParser.DATA || _la===SqlParser.ENGINE || ((((_la - 428)) & ~0x1f) == 0 && ((1 << (_la - 428)) & ((1 << (SqlParser.MAX_ROWS - 428)) | (1 << (SqlParser.MIN_ROWS - 428)) | (1 << (SqlParser.NODEGROUP - 428)))) !== 0) || _la===SqlParser.STORAGE || _la===SqlParser.TABLESPACE) { + this.state = 1980; + this.partitionOption(); + this.state = 1985; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1994; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SUBPARTITION) { + this.state = 1986; + this.subpartitionDefinition(); + this.state = 1991; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,231,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1987; + this.match(SqlParser.COMMA); + this.state = 1988; + this.subpartitionDefinition(); + } + this.state = 1993; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,231,this._ctx); + } + + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PartitionDefinerAtomContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_partitionDefinerAtom; + return this; +} + +PartitionDefinerAtomContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PartitionDefinerAtomContext.prototype.constructor = PartitionDefinerAtomContext; + +PartitionDefinerAtomContext.prototype.constant = function() { + return this.getTypedRuleContext(ConstantContext,0); +}; + +PartitionDefinerAtomContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +PartitionDefinerAtomContext.prototype.MAXVALUE = function() { + return this.getToken(SqlParser.MAXVALUE, 0); +}; + +PartitionDefinerAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionDefinerAtom(this); + } +}; + +PartitionDefinerAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionDefinerAtom(this); + } +}; + +PartitionDefinerAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionDefinerAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PartitionDefinerAtomContext = PartitionDefinerAtomContext; + +SqlParser.prototype.partitionDefinerAtom = function() { + + var localctx = new PartitionDefinerAtomContext(this, this._ctx, this.state); + this.enterRule(localctx, 106, SqlParser.RULE_partitionDefinerAtom); + try { + this.state = 2001; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,234,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1998; + this.constant(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1999; + this.expression(0); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2000; + this.match(SqlParser.MAXVALUE); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PartitionDefinerVectorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_partitionDefinerVector; + return this; +} + +PartitionDefinerVectorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PartitionDefinerVectorContext.prototype.constructor = PartitionDefinerVectorContext; + +PartitionDefinerVectorContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PartitionDefinerVectorContext.prototype.partitionDefinerAtom = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionDefinerAtomContext); + } else { + return this.getTypedRuleContext(PartitionDefinerAtomContext,i); + } +}; + +PartitionDefinerVectorContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PartitionDefinerVectorContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +PartitionDefinerVectorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionDefinerVector(this); + } +}; + +PartitionDefinerVectorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionDefinerVector(this); + } +}; + +PartitionDefinerVectorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionDefinerVector(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PartitionDefinerVectorContext = PartitionDefinerVectorContext; + +SqlParser.prototype.partitionDefinerVector = function() { + + var localctx = new PartitionDefinerVectorContext(this, this._ctx, this.state); + this.enterRule(localctx, 108, SqlParser.RULE_partitionDefinerVector); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2003; + this.match(SqlParser.LR_BRACKET); + this.state = 2004; + this.partitionDefinerAtom(); + this.state = 2007; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2005; + this.match(SqlParser.COMMA); + this.state = 2006; + this.partitionDefinerAtom(); + this.state = 2009; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.COMMA); + this.state = 2011; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SubpartitionDefinitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_subpartitionDefinition; + return this; +} + +SubpartitionDefinitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SubpartitionDefinitionContext.prototype.constructor = SubpartitionDefinitionContext; + +SubpartitionDefinitionContext.prototype.SUBPARTITION = function() { + return this.getToken(SqlParser.SUBPARTITION, 0); +}; + +SubpartitionDefinitionContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SubpartitionDefinitionContext.prototype.partitionOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionOptionContext); + } else { + return this.getTypedRuleContext(PartitionOptionContext,i); + } +}; + +SubpartitionDefinitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSubpartitionDefinition(this); + } +}; + +SubpartitionDefinitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSubpartitionDefinition(this); + } +}; + +SubpartitionDefinitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSubpartitionDefinition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SubpartitionDefinitionContext = SubpartitionDefinitionContext; + +SqlParser.prototype.subpartitionDefinition = function() { + + var localctx = new SubpartitionDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 110, SqlParser.RULE_subpartitionDefinition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2013; + this.match(SqlParser.SUBPARTITION); + this.state = 2014; + this.uid(); + this.state = 2018; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.INDEX || _la===SqlParser.COMMENT || _la===SqlParser.DATA || _la===SqlParser.ENGINE || ((((_la - 428)) & ~0x1f) == 0 && ((1 << (_la - 428)) & ((1 << (SqlParser.MAX_ROWS - 428)) | (1 << (SqlParser.MIN_ROWS - 428)) | (1 << (SqlParser.NODEGROUP - 428)))) !== 0) || _la===SqlParser.STORAGE || _la===SqlParser.TABLESPACE) { + this.state = 2015; + this.partitionOption(); + this.state = 2020; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PartitionOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_partitionOption; + return this; +} + +PartitionOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PartitionOptionContext.prototype.constructor = PartitionOptionContext; + + + +PartitionOptionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function PartitionOptionCommentContext(parser, ctx) { + PartitionOptionContext.call(this, parser); + this.comment = null; // Token; + PartitionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionOptionCommentContext.prototype = Object.create(PartitionOptionContext.prototype); +PartitionOptionCommentContext.prototype.constructor = PartitionOptionCommentContext; + +SqlParser.PartitionOptionCommentContext = PartitionOptionCommentContext; + +PartitionOptionCommentContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +PartitionOptionCommentContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +PartitionOptionCommentContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +PartitionOptionCommentContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionOptionComment(this); + } +}; + +PartitionOptionCommentContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionOptionComment(this); + } +}; + +PartitionOptionCommentContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionOptionComment(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionOptionNodeGroupContext(parser, ctx) { + PartitionOptionContext.call(this, parser); + this.nodegroup = null; // UidContext; + PartitionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionOptionNodeGroupContext.prototype = Object.create(PartitionOptionContext.prototype); +PartitionOptionNodeGroupContext.prototype.constructor = PartitionOptionNodeGroupContext; + +SqlParser.PartitionOptionNodeGroupContext = PartitionOptionNodeGroupContext; + +PartitionOptionNodeGroupContext.prototype.NODEGROUP = function() { + return this.getToken(SqlParser.NODEGROUP, 0); +}; + +PartitionOptionNodeGroupContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +PartitionOptionNodeGroupContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +PartitionOptionNodeGroupContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionOptionNodeGroup(this); + } +}; + +PartitionOptionNodeGroupContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionOptionNodeGroup(this); + } +}; + +PartitionOptionNodeGroupContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionOptionNodeGroup(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionOptionIndexDirectoryContext(parser, ctx) { + PartitionOptionContext.call(this, parser); + this.indexDirectory = null; // Token; + PartitionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionOptionIndexDirectoryContext.prototype = Object.create(PartitionOptionContext.prototype); +PartitionOptionIndexDirectoryContext.prototype.constructor = PartitionOptionIndexDirectoryContext; + +SqlParser.PartitionOptionIndexDirectoryContext = PartitionOptionIndexDirectoryContext; + +PartitionOptionIndexDirectoryContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +PartitionOptionIndexDirectoryContext.prototype.DIRECTORY = function() { + return this.getToken(SqlParser.DIRECTORY, 0); +}; + +PartitionOptionIndexDirectoryContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +PartitionOptionIndexDirectoryContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +PartitionOptionIndexDirectoryContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionOptionIndexDirectory(this); + } +}; + +PartitionOptionIndexDirectoryContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionOptionIndexDirectory(this); + } +}; + +PartitionOptionIndexDirectoryContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionOptionIndexDirectory(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionOptionMaxRowsContext(parser, ctx) { + PartitionOptionContext.call(this, parser); + this.maxRows = null; // DecimalLiteralContext; + PartitionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionOptionMaxRowsContext.prototype = Object.create(PartitionOptionContext.prototype); +PartitionOptionMaxRowsContext.prototype.constructor = PartitionOptionMaxRowsContext; + +SqlParser.PartitionOptionMaxRowsContext = PartitionOptionMaxRowsContext; + +PartitionOptionMaxRowsContext.prototype.MAX_ROWS = function() { + return this.getToken(SqlParser.MAX_ROWS, 0); +}; + +PartitionOptionMaxRowsContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +PartitionOptionMaxRowsContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +PartitionOptionMaxRowsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionOptionMaxRows(this); + } +}; + +PartitionOptionMaxRowsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionOptionMaxRows(this); + } +}; + +PartitionOptionMaxRowsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionOptionMaxRows(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionOptionTablespaceContext(parser, ctx) { + PartitionOptionContext.call(this, parser); + this.tablespace = null; // UidContext; + PartitionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionOptionTablespaceContext.prototype = Object.create(PartitionOptionContext.prototype); +PartitionOptionTablespaceContext.prototype.constructor = PartitionOptionTablespaceContext; + +SqlParser.PartitionOptionTablespaceContext = PartitionOptionTablespaceContext; + +PartitionOptionTablespaceContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +PartitionOptionTablespaceContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +PartitionOptionTablespaceContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +PartitionOptionTablespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionOptionTablespace(this); + } +}; + +PartitionOptionTablespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionOptionTablespace(this); + } +}; + +PartitionOptionTablespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionOptionTablespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionOptionEngineContext(parser, ctx) { + PartitionOptionContext.call(this, parser); + PartitionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionOptionEngineContext.prototype = Object.create(PartitionOptionContext.prototype); +PartitionOptionEngineContext.prototype.constructor = PartitionOptionEngineContext; + +SqlParser.PartitionOptionEngineContext = PartitionOptionEngineContext; + +PartitionOptionEngineContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +PartitionOptionEngineContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +PartitionOptionEngineContext.prototype.STORAGE = function() { + return this.getToken(SqlParser.STORAGE, 0); +}; + +PartitionOptionEngineContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +PartitionOptionEngineContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionOptionEngine(this); + } +}; + +PartitionOptionEngineContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionOptionEngine(this); + } +}; + +PartitionOptionEngineContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionOptionEngine(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionOptionMinRowsContext(parser, ctx) { + PartitionOptionContext.call(this, parser); + this.minRows = null; // DecimalLiteralContext; + PartitionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionOptionMinRowsContext.prototype = Object.create(PartitionOptionContext.prototype); +PartitionOptionMinRowsContext.prototype.constructor = PartitionOptionMinRowsContext; + +SqlParser.PartitionOptionMinRowsContext = PartitionOptionMinRowsContext; + +PartitionOptionMinRowsContext.prototype.MIN_ROWS = function() { + return this.getToken(SqlParser.MIN_ROWS, 0); +}; + +PartitionOptionMinRowsContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +PartitionOptionMinRowsContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +PartitionOptionMinRowsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionOptionMinRows(this); + } +}; + +PartitionOptionMinRowsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionOptionMinRows(this); + } +}; + +PartitionOptionMinRowsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionOptionMinRows(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PartitionOptionDataDirectoryContext(parser, ctx) { + PartitionOptionContext.call(this, parser); + this.dataDirectory = null; // Token; + PartitionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PartitionOptionDataDirectoryContext.prototype = Object.create(PartitionOptionContext.prototype); +PartitionOptionDataDirectoryContext.prototype.constructor = PartitionOptionDataDirectoryContext; + +SqlParser.PartitionOptionDataDirectoryContext = PartitionOptionDataDirectoryContext; + +PartitionOptionDataDirectoryContext.prototype.DATA = function() { + return this.getToken(SqlParser.DATA, 0); +}; + +PartitionOptionDataDirectoryContext.prototype.DIRECTORY = function() { + return this.getToken(SqlParser.DIRECTORY, 0); +}; + +PartitionOptionDataDirectoryContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +PartitionOptionDataDirectoryContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +PartitionOptionDataDirectoryContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPartitionOptionDataDirectory(this); + } +}; + +PartitionOptionDataDirectoryContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPartitionOptionDataDirectory(this); + } +}; + +PartitionOptionDataDirectoryContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPartitionOptionDataDirectory(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.PartitionOptionContext = PartitionOptionContext; + +SqlParser.prototype.partitionOption = function() { + + var localctx = new PartitionOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 112, SqlParser.RULE_partitionOption); + var _la = 0; // Token type + try { + this.state = 2066; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ENGINE: + case SqlParser.STORAGE: + localctx = new PartitionOptionEngineContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 2022; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.STORAGE) { + this.state = 2021; + this.match(SqlParser.STORAGE); + } + + this.state = 2024; + this.match(SqlParser.ENGINE); + this.state = 2026; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2025; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2028; + this.engineName(); + break; + case SqlParser.COMMENT: + localctx = new PartitionOptionCommentContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 2029; + this.match(SqlParser.COMMENT); + this.state = 2031; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2030; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2033; + localctx.comment = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.DATA: + localctx = new PartitionOptionDataDirectoryContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 2034; + this.match(SqlParser.DATA); + this.state = 2035; + this.match(SqlParser.DIRECTORY); + this.state = 2037; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2036; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2039; + localctx.dataDirectory = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.INDEX: + localctx = new PartitionOptionIndexDirectoryContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 2040; + this.match(SqlParser.INDEX); + this.state = 2041; + this.match(SqlParser.DIRECTORY); + this.state = 2043; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2042; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2045; + localctx.indexDirectory = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.MAX_ROWS: + localctx = new PartitionOptionMaxRowsContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 2046; + this.match(SqlParser.MAX_ROWS); + this.state = 2048; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2047; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2050; + localctx.maxRows = this.decimalLiteral(); + break; + case SqlParser.MIN_ROWS: + localctx = new PartitionOptionMinRowsContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 2051; + this.match(SqlParser.MIN_ROWS); + this.state = 2053; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2052; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2055; + localctx.minRows = this.decimalLiteral(); + break; + case SqlParser.TABLESPACE: + localctx = new PartitionOptionTablespaceContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 2056; + this.match(SqlParser.TABLESPACE); + this.state = 2058; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2057; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2060; + localctx.tablespace = this.uid(); + break; + case SqlParser.NODEGROUP: + localctx = new PartitionOptionNodeGroupContext(this, localctx); + this.enterOuterAlt(localctx, 8); + this.state = 2061; + this.match(SqlParser.NODEGROUP); + this.state = 2063; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2062; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2065; + localctx.nodegroup = this.uid(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterDatabaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterDatabase; + return this; +} + +AlterDatabaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterDatabaseContext.prototype.constructor = AlterDatabaseContext; + + + +AlterDatabaseContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function AlterUpgradeNameContext(parser, ctx) { + AlterDatabaseContext.call(this, parser); + this.dbFormat = null; // Token; + AlterDatabaseContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterUpgradeNameContext.prototype = Object.create(AlterDatabaseContext.prototype); +AlterUpgradeNameContext.prototype.constructor = AlterUpgradeNameContext; + +SqlParser.AlterUpgradeNameContext = AlterUpgradeNameContext; + +AlterUpgradeNameContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterUpgradeNameContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterUpgradeNameContext.prototype.UPGRADE = function() { + return this.getToken(SqlParser.UPGRADE, 0); +}; + +AlterUpgradeNameContext.prototype.DATA = function() { + return this.getToken(SqlParser.DATA, 0); +}; + +AlterUpgradeNameContext.prototype.DIRECTORY = function() { + return this.getToken(SqlParser.DIRECTORY, 0); +}; + +AlterUpgradeNameContext.prototype.NAME = function() { + return this.getToken(SqlParser.NAME, 0); +}; + +AlterUpgradeNameContext.prototype.DATABASE = function() { + return this.getToken(SqlParser.DATABASE, 0); +}; + +AlterUpgradeNameContext.prototype.SCHEMA = function() { + return this.getToken(SqlParser.SCHEMA, 0); +}; +AlterUpgradeNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterUpgradeName(this); + } +}; + +AlterUpgradeNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterUpgradeName(this); + } +}; + +AlterUpgradeNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterUpgradeName(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterSimpleDatabaseContext(parser, ctx) { + AlterDatabaseContext.call(this, parser); + this.dbFormat = null; // Token; + AlterDatabaseContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterSimpleDatabaseContext.prototype = Object.create(AlterDatabaseContext.prototype); +AlterSimpleDatabaseContext.prototype.constructor = AlterSimpleDatabaseContext; + +SqlParser.AlterSimpleDatabaseContext = AlterSimpleDatabaseContext; + +AlterSimpleDatabaseContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterSimpleDatabaseContext.prototype.DATABASE = function() { + return this.getToken(SqlParser.DATABASE, 0); +}; + +AlterSimpleDatabaseContext.prototype.SCHEMA = function() { + return this.getToken(SqlParser.SCHEMA, 0); +}; + +AlterSimpleDatabaseContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterSimpleDatabaseContext.prototype.createDatabaseOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(CreateDatabaseOptionContext); + } else { + return this.getTypedRuleContext(CreateDatabaseOptionContext,i); + } +}; +AlterSimpleDatabaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterSimpleDatabase(this); + } +}; + +AlterSimpleDatabaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterSimpleDatabase(this); + } +}; + +AlterSimpleDatabaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterSimpleDatabase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.AlterDatabaseContext = AlterDatabaseContext; + +SqlParser.prototype.alterDatabase = function() { + + var localctx = new AlterDatabaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 114, SqlParser.RULE_alterDatabase); + var _la = 0; // Token type + try { + this.state = 2086; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,249,this._ctx); + switch(la_) { + case 1: + localctx = new AlterSimpleDatabaseContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 2068; + this.match(SqlParser.ALTER); + this.state = 2069; + localctx.dbFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DATABASE || _la===SqlParser.SCHEMA)) { + localctx.dbFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2071; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,247,this._ctx); + if(la_===1) { + this.state = 2070; + this.uid(); + + } + this.state = 2074; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2073; + this.createDatabaseOption(); + this.state = 2076; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(((((_la - 22)) & ~0x1f) == 0 && ((1 << (_la - 22)) & ((1 << (SqlParser.CHARACTER - 22)) | (1 << (SqlParser.COLLATE - 22)) | (1 << (SqlParser.DEFAULT - 22)))) !== 0) || _la===SqlParser.CHARSET); + break; + + case 2: + localctx = new AlterUpgradeNameContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 2078; + this.match(SqlParser.ALTER); + this.state = 2079; + localctx.dbFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DATABASE || _la===SqlParser.SCHEMA)) { + localctx.dbFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2080; + this.uid(); + this.state = 2081; + this.match(SqlParser.UPGRADE); + this.state = 2082; + this.match(SqlParser.DATA); + this.state = 2083; + this.match(SqlParser.DIRECTORY); + this.state = 2084; + this.match(SqlParser.NAME); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterEventContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterEvent; + return this; +} + +AlterEventContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterEventContext.prototype.constructor = AlterEventContext; + +AlterEventContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterEventContext.prototype.EVENT = function() { + return this.getToken(SqlParser.EVENT, 0); +}; + +AlterEventContext.prototype.fullId = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FullIdContext); + } else { + return this.getTypedRuleContext(FullIdContext,i); + } +}; + +AlterEventContext.prototype.ownerStatement = function() { + return this.getTypedRuleContext(OwnerStatementContext,0); +}; + +AlterEventContext.prototype.ON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.ON); + } else { + return this.getToken(SqlParser.ON, i); + } +}; + + +AlterEventContext.prototype.SCHEDULE = function() { + return this.getToken(SqlParser.SCHEDULE, 0); +}; + +AlterEventContext.prototype.scheduleExpression = function() { + return this.getTypedRuleContext(ScheduleExpressionContext,0); +}; + +AlterEventContext.prototype.COMPLETION = function() { + return this.getToken(SqlParser.COMPLETION, 0); +}; + +AlterEventContext.prototype.PRESERVE = function() { + return this.getToken(SqlParser.PRESERVE, 0); +}; + +AlterEventContext.prototype.RENAME = function() { + return this.getToken(SqlParser.RENAME, 0); +}; + +AlterEventContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +AlterEventContext.prototype.enableType = function() { + return this.getTypedRuleContext(EnableTypeContext,0); +}; + +AlterEventContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +AlterEventContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +AlterEventContext.prototype.DO = function() { + return this.getToken(SqlParser.DO, 0); +}; + +AlterEventContext.prototype.routineBody = function() { + return this.getTypedRuleContext(RoutineBodyContext,0); +}; + +AlterEventContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +AlterEventContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterEvent(this); + } +}; + +AlterEventContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterEvent(this); + } +}; + +AlterEventContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterEvent(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterEventContext = AlterEventContext; + +SqlParser.prototype.alterEvent = function() { + + var localctx = new AlterEventContext(this, this._ctx, this.state); + this.enterRule(localctx, 116, SqlParser.RULE_alterEvent); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2088; + this.match(SqlParser.ALTER); + this.state = 2090; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFINER) { + this.state = 2089; + this.ownerStatement(); + } + + this.state = 2092; + this.match(SqlParser.EVENT); + this.state = 2093; + this.fullId(); + this.state = 2097; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,251,this._ctx); + if(la_===1) { + this.state = 2094; + this.match(SqlParser.ON); + this.state = 2095; + this.match(SqlParser.SCHEDULE); + this.state = 2096; + this.scheduleExpression(); + + } + this.state = 2105; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ON) { + this.state = 2099; + this.match(SqlParser.ON); + this.state = 2100; + this.match(SqlParser.COMPLETION); + this.state = 2102; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 2101; + this.match(SqlParser.NOT); + } + + this.state = 2104; + this.match(SqlParser.PRESERVE); + } + + this.state = 2110; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,254,this._ctx); + if(la_===1) { + this.state = 2107; + this.match(SqlParser.RENAME); + this.state = 2108; + this.match(SqlParser.TO); + this.state = 2109; + this.fullId(); + + } + this.state = 2113; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DISABLE || _la===SqlParser.ENABLE) { + this.state = 2112; + this.enableType(); + } + + this.state = 2117; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMENT) { + this.state = 2115; + this.match(SqlParser.COMMENT); + this.state = 2116; + this.match(SqlParser.STRING_LITERAL); + } + + this.state = 2121; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,257,this._ctx); + if(la_===1) { + this.state = 2119; + this.match(SqlParser.DO); + this.state = 2120; + this.routineBody(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterFunctionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterFunction; + return this; +} + +AlterFunctionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterFunctionContext.prototype.constructor = AlterFunctionContext; + +AlterFunctionContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterFunctionContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +AlterFunctionContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +AlterFunctionContext.prototype.routineOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(RoutineOptionContext); + } else { + return this.getTypedRuleContext(RoutineOptionContext,i); + } +}; + +AlterFunctionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterFunction(this); + } +}; + +AlterFunctionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterFunction(this); + } +}; + +AlterFunctionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterFunction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterFunctionContext = AlterFunctionContext; + +SqlParser.prototype.alterFunction = function() { + + var localctx = new AlterFunctionContext(this, this._ctx, this.state); + this.enterRule(localctx, 118, SqlParser.RULE_alterFunction); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2123; + this.match(SqlParser.ALTER); + this.state = 2124; + this.match(SqlParser.FUNCTION); + this.state = 2125; + this.fullId(); + this.state = 2129; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.DETERMINISTIC || ((((_la - 100)) & ~0x1f) == 0 && ((1 << (_la - 100)) & ((1 << (SqlParser.MODIFIES - 100)) | (1 << (SqlParser.NOT - 100)) | (1 << (SqlParser.READS - 100)))) !== 0) || _la===SqlParser.SQL || _la===SqlParser.COMMENT || _la===SqlParser.CONTAINS || _la===SqlParser.LANGUAGE || _la===SqlParser.NO) { + this.state = 2126; + this.routineOption(); + this.state = 2131; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterInstanceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterInstance; + return this; +} + +AlterInstanceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterInstanceContext.prototype.constructor = AlterInstanceContext; + +AlterInstanceContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterInstanceContext.prototype.INSTANCE = function() { + return this.getToken(SqlParser.INSTANCE, 0); +}; + +AlterInstanceContext.prototype.ROTATE = function() { + return this.getToken(SqlParser.ROTATE, 0); +}; + +AlterInstanceContext.prototype.INNODB = function() { + return this.getToken(SqlParser.INNODB, 0); +}; + +AlterInstanceContext.prototype.MASTER = function() { + return this.getToken(SqlParser.MASTER, 0); +}; + +AlterInstanceContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +AlterInstanceContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterInstance(this); + } +}; + +AlterInstanceContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterInstance(this); + } +}; + +AlterInstanceContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterInstance(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterInstanceContext = AlterInstanceContext; + +SqlParser.prototype.alterInstance = function() { + + var localctx = new AlterInstanceContext(this, this._ctx, this.state); + this.enterRule(localctx, 120, SqlParser.RULE_alterInstance); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2132; + this.match(SqlParser.ALTER); + this.state = 2133; + this.match(SqlParser.INSTANCE); + this.state = 2134; + this.match(SqlParser.ROTATE); + this.state = 2135; + this.match(SqlParser.INNODB); + this.state = 2136; + this.match(SqlParser.MASTER); + this.state = 2137; + this.match(SqlParser.KEY); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterLogfileGroupContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterLogfileGroup; + return this; +} + +AlterLogfileGroupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterLogfileGroupContext.prototype.constructor = AlterLogfileGroupContext; + +AlterLogfileGroupContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterLogfileGroupContext.prototype.LOGFILE = function() { + return this.getToken(SqlParser.LOGFILE, 0); +}; + +AlterLogfileGroupContext.prototype.GROUP = function() { + return this.getToken(SqlParser.GROUP, 0); +}; + +AlterLogfileGroupContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterLogfileGroupContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterLogfileGroupContext.prototype.UNDOFILE = function() { + return this.getToken(SqlParser.UNDOFILE, 0); +}; + +AlterLogfileGroupContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +AlterLogfileGroupContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +AlterLogfileGroupContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +AlterLogfileGroupContext.prototype.INITIAL_SIZE = function() { + return this.getToken(SqlParser.INITIAL_SIZE, 0); +}; + +AlterLogfileGroupContext.prototype.fileSizeLiteral = function() { + return this.getTypedRuleContext(FileSizeLiteralContext,0); +}; + +AlterLogfileGroupContext.prototype.WAIT = function() { + return this.getToken(SqlParser.WAIT, 0); +}; + +AlterLogfileGroupContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +AlterLogfileGroupContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterLogfileGroup(this); + } +}; + +AlterLogfileGroupContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterLogfileGroup(this); + } +}; + +AlterLogfileGroupContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterLogfileGroup(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterLogfileGroupContext = AlterLogfileGroupContext; + +SqlParser.prototype.alterLogfileGroup = function() { + + var localctx = new AlterLogfileGroupContext(this, this._ctx, this.state); + this.enterRule(localctx, 122, SqlParser.RULE_alterLogfileGroup); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2139; + this.match(SqlParser.ALTER); + this.state = 2140; + this.match(SqlParser.LOGFILE); + this.state = 2141; + this.match(SqlParser.GROUP); + this.state = 2142; + this.uid(); + this.state = 2143; + this.match(SqlParser.ADD); + this.state = 2144; + this.match(SqlParser.UNDOFILE); + this.state = 2145; + this.match(SqlParser.STRING_LITERAL); + this.state = 2151; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INITIAL_SIZE) { + this.state = 2146; + this.match(SqlParser.INITIAL_SIZE); + this.state = 2148; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2147; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2150; + this.fileSizeLiteral(); + } + + this.state = 2154; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WAIT) { + this.state = 2153; + this.match(SqlParser.WAIT); + } + + this.state = 2156; + this.match(SqlParser.ENGINE); + this.state = 2158; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2157; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2160; + this.engineName(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterProcedureContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterProcedure; + return this; +} + +AlterProcedureContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterProcedureContext.prototype.constructor = AlterProcedureContext; + +AlterProcedureContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterProcedureContext.prototype.PROCEDURE = function() { + return this.getToken(SqlParser.PROCEDURE, 0); +}; + +AlterProcedureContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +AlterProcedureContext.prototype.routineOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(RoutineOptionContext); + } else { + return this.getTypedRuleContext(RoutineOptionContext,i); + } +}; + +AlterProcedureContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterProcedure(this); + } +}; + +AlterProcedureContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterProcedure(this); + } +}; + +AlterProcedureContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterProcedure(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterProcedureContext = AlterProcedureContext; + +SqlParser.prototype.alterProcedure = function() { + + var localctx = new AlterProcedureContext(this, this._ctx, this.state); + this.enterRule(localctx, 124, SqlParser.RULE_alterProcedure); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2162; + this.match(SqlParser.ALTER); + this.state = 2163; + this.match(SqlParser.PROCEDURE); + this.state = 2164; + this.fullId(); + this.state = 2168; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.DETERMINISTIC || ((((_la - 100)) & ~0x1f) == 0 && ((1 << (_la - 100)) & ((1 << (SqlParser.MODIFIES - 100)) | (1 << (SqlParser.NOT - 100)) | (1 << (SqlParser.READS - 100)))) !== 0) || _la===SqlParser.SQL || _la===SqlParser.COMMENT || _la===SqlParser.CONTAINS || _la===SqlParser.LANGUAGE || _la===SqlParser.NO) { + this.state = 2165; + this.routineOption(); + this.state = 2170; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterServerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterServer; + return this; +} + +AlterServerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterServerContext.prototype.constructor = AlterServerContext; + +AlterServerContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterServerContext.prototype.SERVER = function() { + return this.getToken(SqlParser.SERVER, 0); +}; + +AlterServerContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterServerContext.prototype.OPTIONS = function() { + return this.getToken(SqlParser.OPTIONS, 0); +}; + +AlterServerContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +AlterServerContext.prototype.serverOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ServerOptionContext); + } else { + return this.getTypedRuleContext(ServerOptionContext,i); + } +}; + +AlterServerContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +AlterServerContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +AlterServerContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterServer(this); + } +}; + +AlterServerContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterServer(this); + } +}; + +AlterServerContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterServer(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterServerContext = AlterServerContext; + +SqlParser.prototype.alterServer = function() { + + var localctx = new AlterServerContext(this, this._ctx, this.state); + this.enterRule(localctx, 126, SqlParser.RULE_alterServer); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2171; + this.match(SqlParser.ALTER); + this.state = 2172; + this.match(SqlParser.SERVER); + this.state = 2173; + this.uid(); + this.state = 2174; + this.match(SqlParser.OPTIONS); + this.state = 2175; + this.match(SqlParser.LR_BRACKET); + this.state = 2176; + this.serverOption(); + this.state = 2181; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2177; + this.match(SqlParser.COMMA); + this.state = 2178; + this.serverOption(); + this.state = 2183; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2184; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterTable; + this.intimeAction = null; // Token + return this; +} + +AlterTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterTableContext.prototype.constructor = AlterTableContext; + +AlterTableContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +AlterTableContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +AlterTableContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +AlterTableContext.prototype.alterSpecification = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(AlterSpecificationContext); + } else { + return this.getTypedRuleContext(AlterSpecificationContext,i); + } +}; + +AlterTableContext.prototype.partitionDefinitions = function() { + return this.getTypedRuleContext(PartitionDefinitionsContext,0); +}; + +AlterTableContext.prototype.ONLINE = function() { + return this.getToken(SqlParser.ONLINE, 0); +}; + +AlterTableContext.prototype.OFFLINE = function() { + return this.getToken(SqlParser.OFFLINE, 0); +}; + +AlterTableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +AlterTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterTable(this); + } +}; + +AlterTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterTable(this); + } +}; + +AlterTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterTableContext = AlterTableContext; + +SqlParser.prototype.alterTable = function() { + + var localctx = new AlterTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 128, SqlParser.RULE_alterTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2186; + this.match(SqlParser.ALTER); + this.state = 2188; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.OFFLINE || _la===SqlParser.ONLINE) { + this.state = 2187; + localctx.intimeAction = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.OFFLINE || _la===SqlParser.ONLINE)) { + localctx.intimeAction = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2191; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 2190; + this.match(SqlParser.IGNORE); + } + + this.state = 2193; + this.match(SqlParser.TABLE); + this.state = 2194; + this.tableName(); + this.state = 2203; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,268,this._ctx); + if(la_===1) { + this.state = 2195; + this.alterSpecification(); + this.state = 2200; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2196; + this.match(SqlParser.COMMA); + this.state = 2197; + this.alterSpecification(); + this.state = 2202; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + + } + this.state = 2206; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 2205; + this.partitionDefinitions(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterTablespaceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterTablespace; + this.objectAction = null; // Token + return this; +} + +AlterTablespaceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterTablespaceContext.prototype.constructor = AlterTablespaceContext; + +AlterTablespaceContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterTablespaceContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +AlterTablespaceContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterTablespaceContext.prototype.DATAFILE = function() { + return this.getToken(SqlParser.DATAFILE, 0); +}; + +AlterTablespaceContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +AlterTablespaceContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +AlterTablespaceContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +AlterTablespaceContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterTablespaceContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +AlterTablespaceContext.prototype.INITIAL_SIZE = function() { + return this.getToken(SqlParser.INITIAL_SIZE, 0); +}; + +AlterTablespaceContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +AlterTablespaceContext.prototype.fileSizeLiteral = function() { + return this.getTypedRuleContext(FileSizeLiteralContext,0); +}; + +AlterTablespaceContext.prototype.WAIT = function() { + return this.getToken(SqlParser.WAIT, 0); +}; + +AlterTablespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterTablespace(this); + } +}; + +AlterTablespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterTablespace(this); + } +}; + +AlterTablespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterTablespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterTablespaceContext = AlterTablespaceContext; + +SqlParser.prototype.alterTablespace = function() { + + var localctx = new AlterTablespaceContext(this, this._ctx, this.state); + this.enterRule(localctx, 130, SqlParser.RULE_alterTablespace); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2208; + this.match(SqlParser.ALTER); + this.state = 2209; + this.match(SqlParser.TABLESPACE); + this.state = 2210; + this.uid(); + this.state = 2211; + localctx.objectAction = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ADD || _la===SqlParser.DROP)) { + localctx.objectAction = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2212; + this.match(SqlParser.DATAFILE); + this.state = 2213; + this.match(SqlParser.STRING_LITERAL); + this.state = 2217; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INITIAL_SIZE) { + this.state = 2214; + this.match(SqlParser.INITIAL_SIZE); + this.state = 2215; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 2216; + this.fileSizeLiteral(); + } + + this.state = 2220; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WAIT) { + this.state = 2219; + this.match(SqlParser.WAIT); + } + + this.state = 2222; + this.match(SqlParser.ENGINE); + this.state = 2224; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2223; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2226; + this.engineName(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterViewContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterView; + this.algType = null; // Token + this.secContext = null; // Token + this.checkOpt = null; // Token + return this; +} + +AlterViewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterViewContext.prototype.constructor = AlterViewContext; + +AlterViewContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterViewContext.prototype.VIEW = function() { + return this.getToken(SqlParser.VIEW, 0); +}; + +AlterViewContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +AlterViewContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +AlterViewContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +AlterViewContext.prototype.ALGORITHM = function() { + return this.getToken(SqlParser.ALGORITHM, 0); +}; + +AlterViewContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +AlterViewContext.prototype.ownerStatement = function() { + return this.getTypedRuleContext(OwnerStatementContext,0); +}; + +AlterViewContext.prototype.SQL = function() { + return this.getToken(SqlParser.SQL, 0); +}; + +AlterViewContext.prototype.SECURITY = function() { + return this.getToken(SqlParser.SECURITY, 0); +}; + +AlterViewContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +AlterViewContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterViewContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +AlterViewContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +AlterViewContext.prototype.CHECK = function() { + return this.getToken(SqlParser.CHECK, 0); +}; + +AlterViewContext.prototype.OPTION = function() { + return this.getToken(SqlParser.OPTION, 0); +}; + +AlterViewContext.prototype.UNDEFINED = function() { + return this.getToken(SqlParser.UNDEFINED, 0); +}; + +AlterViewContext.prototype.MERGE = function() { + return this.getToken(SqlParser.MERGE, 0); +}; + +AlterViewContext.prototype.TEMPTABLE = function() { + return this.getToken(SqlParser.TEMPTABLE, 0); +}; + +AlterViewContext.prototype.DEFINER = function() { + return this.getToken(SqlParser.DEFINER, 0); +}; + +AlterViewContext.prototype.INVOKER = function() { + return this.getToken(SqlParser.INVOKER, 0); +}; + +AlterViewContext.prototype.CASCADED = function() { + return this.getToken(SqlParser.CASCADED, 0); +}; + +AlterViewContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +AlterViewContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterView(this); + } +}; + +AlterViewContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterView(this); + } +}; + +AlterViewContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterView(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AlterViewContext = AlterViewContext; + +SqlParser.prototype.alterView = function() { + + var localctx = new AlterViewContext(this, this._ctx, this.state); + this.enterRule(localctx, 132, SqlParser.RULE_alterView); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2228; + this.match(SqlParser.ALTER); + this.state = 2232; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALGORITHM) { + this.state = 2229; + this.match(SqlParser.ALGORITHM); + this.state = 2230; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 2231; + localctx.algType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.MERGE || _la===SqlParser.TEMPTABLE || _la===SqlParser.UNDEFINED)) { + localctx.algType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2235; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFINER) { + this.state = 2234; + this.ownerStatement(); + } + + this.state = 2240; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SQL) { + this.state = 2237; + this.match(SqlParser.SQL); + this.state = 2238; + this.match(SqlParser.SECURITY); + this.state = 2239; + localctx.secContext = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFINER || _la===SqlParser.INVOKER)) { + localctx.secContext = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2242; + this.match(SqlParser.VIEW); + this.state = 2243; + this.fullId(); + this.state = 2248; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LR_BRACKET) { + this.state = 2244; + this.match(SqlParser.LR_BRACKET); + this.state = 2245; + this.uidList(); + this.state = 2246; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 2250; + this.match(SqlParser.AS); + this.state = 2251; + this.selectStatement(); + this.state = 2258; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH) { + this.state = 2252; + this.match(SqlParser.WITH); + this.state = 2254; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CASCADED || _la===SqlParser.LOCAL) { + this.state = 2253; + localctx.checkOpt = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CASCADED || _la===SqlParser.LOCAL)) { + localctx.checkOpt = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2256; + this.match(SqlParser.CHECK); + this.state = 2257; + this.match(SqlParser.OPTION); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterSpecificationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterSpecification; + return this; +} + +AlterSpecificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterSpecificationContext.prototype.constructor = AlterSpecificationContext; + + + +AlterSpecificationContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function AlterByDisableKeysContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDisableKeysContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDisableKeysContext.prototype.constructor = AlterByDisableKeysContext; + +SqlParser.AlterByDisableKeysContext = AlterByDisableKeysContext; + +AlterByDisableKeysContext.prototype.DISABLE = function() { + return this.getToken(SqlParser.DISABLE, 0); +}; + +AlterByDisableKeysContext.prototype.KEYS = function() { + return this.getToken(SqlParser.KEYS, 0); +}; +AlterByDisableKeysContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDisableKeys(this); + } +}; + +AlterByDisableKeysContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDisableKeys(this); + } +}; + +AlterByDisableKeysContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDisableKeys(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByDefaultCharsetContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDefaultCharsetContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDefaultCharsetContext.prototype.constructor = AlterByDefaultCharsetContext; + +SqlParser.AlterByDefaultCharsetContext = AlterByDefaultCharsetContext; + +AlterByDefaultCharsetContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +AlterByDefaultCharsetContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +AlterByDefaultCharsetContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +AlterByDefaultCharsetContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +AlterByDefaultCharsetContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +AlterByDefaultCharsetContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +AlterByDefaultCharsetContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; +AlterByDefaultCharsetContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDefaultCharset(this); + } +}; + +AlterByDefaultCharsetContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDefaultCharset(this); + } +}; + +AlterByDefaultCharsetContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDefaultCharset(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByRenameColumnContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.oldColumn = null; // UidContext; + this.newColumn = null; // UidContext; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByRenameColumnContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByRenameColumnContext.prototype.constructor = AlterByRenameColumnContext; + +SqlParser.AlterByRenameColumnContext = AlterByRenameColumnContext; + +AlterByRenameColumnContext.prototype.RENAME = function() { + return this.getToken(SqlParser.RENAME, 0); +}; + +AlterByRenameColumnContext.prototype.COLUMN = function() { + return this.getToken(SqlParser.COLUMN, 0); +}; + +AlterByRenameColumnContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +AlterByRenameColumnContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; +AlterByRenameColumnContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByRenameColumn(this); + } +}; + +AlterByRenameColumnContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByRenameColumn(this); + } +}; + +AlterByRenameColumnContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByRenameColumn(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByConvertCharsetContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByConvertCharsetContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByConvertCharsetContext.prototype.constructor = AlterByConvertCharsetContext; + +SqlParser.AlterByConvertCharsetContext = AlterByConvertCharsetContext; + +AlterByConvertCharsetContext.prototype.CONVERT = function() { + return this.getToken(SqlParser.CONVERT, 0); +}; + +AlterByConvertCharsetContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +AlterByConvertCharsetContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +AlterByConvertCharsetContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +AlterByConvertCharsetContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +AlterByConvertCharsetContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +AlterByConvertCharsetContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; +AlterByConvertCharsetContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByConvertCharset(this); + } +}; + +AlterByConvertCharsetContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByConvertCharset(this); + } +}; + +AlterByConvertCharsetContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByConvertCharset(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddPartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddPartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddPartitionContext.prototype.constructor = AlterByAddPartitionContext; + +SqlParser.AlterByAddPartitionContext = AlterByAddPartitionContext; + +AlterByAddPartitionContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddPartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByAddPartitionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +AlterByAddPartitionContext.prototype.partitionDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionDefinitionContext); + } else { + return this.getTypedRuleContext(PartitionDefinitionContext,i); + } +}; + +AlterByAddPartitionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +AlterByAddPartitionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +AlterByAddPartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddPartition(this); + } +}; + +AlterByAddPartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddPartition(this); + } +}; + +AlterByAddPartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddPartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddForeignKeyContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.name = null; // UidContext; + this.indexName = null; // UidContext; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddForeignKeyContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddForeignKeyContext.prototype.constructor = AlterByAddForeignKeyContext; + +SqlParser.AlterByAddForeignKeyContext = AlterByAddForeignKeyContext; + +AlterByAddForeignKeyContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddForeignKeyContext.prototype.FOREIGN = function() { + return this.getToken(SqlParser.FOREIGN, 0); +}; + +AlterByAddForeignKeyContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +AlterByAddForeignKeyContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +AlterByAddForeignKeyContext.prototype.referenceDefinition = function() { + return this.getTypedRuleContext(ReferenceDefinitionContext,0); +}; + +AlterByAddForeignKeyContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +AlterByAddForeignKeyContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; +AlterByAddForeignKeyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddForeignKey(this); + } +}; + +AlterByAddForeignKeyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddForeignKey(this); + } +}; + +AlterByAddForeignKeyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddForeignKey(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByRenameIndexContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.indexFormat = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByRenameIndexContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByRenameIndexContext.prototype.constructor = AlterByRenameIndexContext; + +SqlParser.AlterByRenameIndexContext = AlterByRenameIndexContext; + +AlterByRenameIndexContext.prototype.RENAME = function() { + return this.getToken(SqlParser.RENAME, 0); +}; + +AlterByRenameIndexContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +AlterByRenameIndexContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +AlterByRenameIndexContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +AlterByRenameIndexContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; +AlterByRenameIndexContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByRenameIndex(this); + } +}; + +AlterByRenameIndexContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByRenameIndex(this); + } +}; + +AlterByRenameIndexContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByRenameIndex(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByRemovePartitioningContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByRemovePartitioningContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByRemovePartitioningContext.prototype.constructor = AlterByRemovePartitioningContext; + +SqlParser.AlterByRemovePartitioningContext = AlterByRemovePartitioningContext; + +AlterByRemovePartitioningContext.prototype.REMOVE = function() { + return this.getToken(SqlParser.REMOVE, 0); +}; + +AlterByRemovePartitioningContext.prototype.PARTITIONING = function() { + return this.getToken(SqlParser.PARTITIONING, 0); +}; +AlterByRemovePartitioningContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByRemovePartitioning(this); + } +}; + +AlterByRemovePartitioningContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByRemovePartitioning(this); + } +}; + +AlterByRemovePartitioningContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByRemovePartitioning(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByRenameContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.renameFormat = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByRenameContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByRenameContext.prototype.constructor = AlterByRenameContext; + +SqlParser.AlterByRenameContext = AlterByRenameContext; + +AlterByRenameContext.prototype.RENAME = function() { + return this.getToken(SqlParser.RENAME, 0); +}; + +AlterByRenameContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterByRenameContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +AlterByRenameContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +AlterByRenameContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; +AlterByRenameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByRename(this); + } +}; + +AlterByRenameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByRename(this); + } +}; + +AlterByRenameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByRename(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByOptimizePartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByOptimizePartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByOptimizePartitionContext.prototype.constructor = AlterByOptimizePartitionContext; + +SqlParser.AlterByOptimizePartitionContext = AlterByOptimizePartitionContext; + +AlterByOptimizePartitionContext.prototype.OPTIMIZE = function() { + return this.getToken(SqlParser.OPTIMIZE, 0); +}; + +AlterByOptimizePartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByOptimizePartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByOptimizePartitionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; +AlterByOptimizePartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByOptimizePartition(this); + } +}; + +AlterByOptimizePartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByOptimizePartition(this); + } +}; + +AlterByOptimizePartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByOptimizePartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByImportTablespaceContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByImportTablespaceContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByImportTablespaceContext.prototype.constructor = AlterByImportTablespaceContext; + +SqlParser.AlterByImportTablespaceContext = AlterByImportTablespaceContext; + +AlterByImportTablespaceContext.prototype.IMPORT = function() { + return this.getToken(SqlParser.IMPORT, 0); +}; + +AlterByImportTablespaceContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; +AlterByImportTablespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByImportTablespace(this); + } +}; + +AlterByImportTablespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByImportTablespace(this); + } +}; + +AlterByImportTablespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByImportTablespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByCoalescePartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByCoalescePartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByCoalescePartitionContext.prototype.constructor = AlterByCoalescePartitionContext; + +SqlParser.AlterByCoalescePartitionContext = AlterByCoalescePartitionContext; + +AlterByCoalescePartitionContext.prototype.COALESCE = function() { + return this.getToken(SqlParser.COALESCE, 0); +}; + +AlterByCoalescePartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByCoalescePartitionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; +AlterByCoalescePartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByCoalescePartition(this); + } +}; + +AlterByCoalescePartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByCoalescePartition(this); + } +}; + +AlterByCoalescePartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByCoalescePartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddColumnsContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddColumnsContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddColumnsContext.prototype.constructor = AlterByAddColumnsContext; + +SqlParser.AlterByAddColumnsContext = AlterByAddColumnsContext; + +AlterByAddColumnsContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddColumnsContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +AlterByAddColumnsContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +AlterByAddColumnsContext.prototype.columnDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ColumnDefinitionContext); + } else { + return this.getTypedRuleContext(ColumnDefinitionContext,i); + } +}; + +AlterByAddColumnsContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +AlterByAddColumnsContext.prototype.COLUMN = function() { + return this.getToken(SqlParser.COLUMN, 0); +}; + +AlterByAddColumnsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +AlterByAddColumnsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddColumns(this); + } +}; + +AlterByAddColumnsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddColumns(this); + } +}; + +AlterByAddColumnsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddColumns(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAlterIndexVisibilityContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAlterIndexVisibilityContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAlterIndexVisibilityContext.prototype.constructor = AlterByAlterIndexVisibilityContext; + +SqlParser.AlterByAlterIndexVisibilityContext = AlterByAlterIndexVisibilityContext; + +AlterByAlterIndexVisibilityContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterByAlterIndexVisibilityContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +AlterByAlterIndexVisibilityContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterByAlterIndexVisibilityContext.prototype.VISIBLE = function() { + return this.getToken(SqlParser.VISIBLE, 0); +}; + +AlterByAlterIndexVisibilityContext.prototype.INVISIBLE = function() { + return this.getToken(SqlParser.INVISIBLE, 0); +}; +AlterByAlterIndexVisibilityContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAlterIndexVisibility(this); + } +}; + +AlterByAlterIndexVisibilityContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAlterIndexVisibility(this); + } +}; + +AlterByAlterIndexVisibilityContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAlterIndexVisibility(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByDropForeignKeyContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDropForeignKeyContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDropForeignKeyContext.prototype.constructor = AlterByDropForeignKeyContext; + +SqlParser.AlterByDropForeignKeyContext = AlterByDropForeignKeyContext; + +AlterByDropForeignKeyContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +AlterByDropForeignKeyContext.prototype.FOREIGN = function() { + return this.getToken(SqlParser.FOREIGN, 0); +}; + +AlterByDropForeignKeyContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +AlterByDropForeignKeyContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +AlterByDropForeignKeyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDropForeignKey(this); + } +}; + +AlterByDropForeignKeyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDropForeignKey(this); + } +}; + +AlterByDropForeignKeyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDropForeignKey(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddCheckTableConstraintContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.name = null; // UidContext; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddCheckTableConstraintContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddCheckTableConstraintContext.prototype.constructor = AlterByAddCheckTableConstraintContext; + +SqlParser.AlterByAddCheckTableConstraintContext = AlterByAddCheckTableConstraintContext; + +AlterByAddCheckTableConstraintContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddCheckTableConstraintContext.prototype.CHECK = function() { + return this.getToken(SqlParser.CHECK, 0); +}; + +AlterByAddCheckTableConstraintContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +AlterByAddCheckTableConstraintContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +AlterByAddCheckTableConstraintContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +AlterByAddCheckTableConstraintContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +AlterByAddCheckTableConstraintContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +AlterByAddCheckTableConstraintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddCheckTableConstraint(this); + } +}; + +AlterByAddCheckTableConstraintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddCheckTableConstraint(this); + } +}; + +AlterByAddCheckTableConstraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddCheckTableConstraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByRebuildPartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByRebuildPartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByRebuildPartitionContext.prototype.constructor = AlterByRebuildPartitionContext; + +SqlParser.AlterByRebuildPartitionContext = AlterByRebuildPartitionContext; + +AlterByRebuildPartitionContext.prototype.REBUILD = function() { + return this.getToken(SqlParser.REBUILD, 0); +}; + +AlterByRebuildPartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByRebuildPartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByRebuildPartitionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; +AlterByRebuildPartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByRebuildPartition(this); + } +}; + +AlterByRebuildPartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByRebuildPartition(this); + } +}; + +AlterByRebuildPartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByRebuildPartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByUpgradePartitioningContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByUpgradePartitioningContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByUpgradePartitioningContext.prototype.constructor = AlterByUpgradePartitioningContext; + +SqlParser.AlterByUpgradePartitioningContext = AlterByUpgradePartitioningContext; + +AlterByUpgradePartitioningContext.prototype.UPGRADE = function() { + return this.getToken(SqlParser.UPGRADE, 0); +}; + +AlterByUpgradePartitioningContext.prototype.PARTITIONING = function() { + return this.getToken(SqlParser.PARTITIONING, 0); +}; +AlterByUpgradePartitioningContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByUpgradePartitioning(this); + } +}; + +AlterByUpgradePartitioningContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByUpgradePartitioning(this); + } +}; + +AlterByUpgradePartitioningContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByUpgradePartitioning(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByRepairPartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByRepairPartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByRepairPartitionContext.prototype.constructor = AlterByRepairPartitionContext; + +SqlParser.AlterByRepairPartitionContext = AlterByRepairPartitionContext; + +AlterByRepairPartitionContext.prototype.REPAIR = function() { + return this.getToken(SqlParser.REPAIR, 0); +}; + +AlterByRepairPartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByRepairPartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByRepairPartitionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; +AlterByRepairPartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByRepairPartition(this); + } +}; + +AlterByRepairPartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByRepairPartition(this); + } +}; + +AlterByRepairPartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByRepairPartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByExchangePartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.validationFormat = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByExchangePartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByExchangePartitionContext.prototype.constructor = AlterByExchangePartitionContext; + +SqlParser.AlterByExchangePartitionContext = AlterByExchangePartitionContext; + +AlterByExchangePartitionContext.prototype.EXCHANGE = function() { + return this.getToken(SqlParser.EXCHANGE, 0); +}; + +AlterByExchangePartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByExchangePartitionContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterByExchangePartitionContext.prototype.WITH = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.WITH); + } else { + return this.getToken(SqlParser.WITH, i); + } +}; + + +AlterByExchangePartitionContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +AlterByExchangePartitionContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +AlterByExchangePartitionContext.prototype.VALIDATION = function() { + return this.getToken(SqlParser.VALIDATION, 0); +}; + +AlterByExchangePartitionContext.prototype.WITHOUT = function() { + return this.getToken(SqlParser.WITHOUT, 0); +}; +AlterByExchangePartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByExchangePartition(this); + } +}; + +AlterByExchangePartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByExchangePartition(this); + } +}; + +AlterByExchangePartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByExchangePartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddIndexContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.indexFormat = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddIndexContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddIndexContext.prototype.constructor = AlterByAddIndexContext; + +SqlParser.AlterByAddIndexContext = AlterByAddIndexContext; + +AlterByAddIndexContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddIndexContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +AlterByAddIndexContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +AlterByAddIndexContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +AlterByAddIndexContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterByAddIndexContext.prototype.indexType = function() { + return this.getTypedRuleContext(IndexTypeContext,0); +}; + +AlterByAddIndexContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; +AlterByAddIndexContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddIndex(this); + } +}; + +AlterByAddIndexContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddIndex(this); + } +}; + +AlterByAddIndexContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddIndex(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByDropColumnContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDropColumnContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDropColumnContext.prototype.constructor = AlterByDropColumnContext; + +SqlParser.AlterByDropColumnContext = AlterByDropColumnContext; + +AlterByDropColumnContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +AlterByDropColumnContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterByDropColumnContext.prototype.COLUMN = function() { + return this.getToken(SqlParser.COLUMN, 0); +}; + +AlterByDropColumnContext.prototype.RESTRICT = function() { + return this.getToken(SqlParser.RESTRICT, 0); +}; +AlterByDropColumnContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDropColumn(this); + } +}; + +AlterByDropColumnContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDropColumn(this); + } +}; + +AlterByDropColumnContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDropColumn(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByImportPartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByImportPartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByImportPartitionContext.prototype.constructor = AlterByImportPartitionContext; + +SqlParser.AlterByImportPartitionContext = AlterByImportPartitionContext; + +AlterByImportPartitionContext.prototype.IMPORT = function() { + return this.getToken(SqlParser.IMPORT, 0); +}; + +AlterByImportPartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByImportPartitionContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +AlterByImportPartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByImportPartitionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; +AlterByImportPartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByImportPartition(this); + } +}; + +AlterByImportPartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByImportPartition(this); + } +}; + +AlterByImportPartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByImportPartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByChangeDefaultContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByChangeDefaultContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByChangeDefaultContext.prototype.constructor = AlterByChangeDefaultContext; + +SqlParser.AlterByChangeDefaultContext = AlterByChangeDefaultContext; + +AlterByChangeDefaultContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterByChangeDefaultContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterByChangeDefaultContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +AlterByChangeDefaultContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +AlterByChangeDefaultContext.prototype.defaultValue = function() { + return this.getTypedRuleContext(DefaultValueContext,0); +}; + +AlterByChangeDefaultContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +AlterByChangeDefaultContext.prototype.COLUMN = function() { + return this.getToken(SqlParser.COLUMN, 0); +}; +AlterByChangeDefaultContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByChangeDefault(this); + } +}; + +AlterByChangeDefaultContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByChangeDefault(this); + } +}; + +AlterByChangeDefaultContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByChangeDefault(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByForceContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByForceContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByForceContext.prototype.constructor = AlterByForceContext; + +SqlParser.AlterByForceContext = AlterByForceContext; + +AlterByForceContext.prototype.FORCE = function() { + return this.getToken(SqlParser.FORCE, 0); +}; +AlterByForceContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByForce(this); + } +}; + +AlterByForceContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByForce(this); + } +}; + +AlterByForceContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByForce(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByDropPartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDropPartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDropPartitionContext.prototype.constructor = AlterByDropPartitionContext; + +SqlParser.AlterByDropPartitionContext = AlterByDropPartitionContext; + +AlterByDropPartitionContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +AlterByDropPartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByDropPartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; +AlterByDropPartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDropPartition(this); + } +}; + +AlterByDropPartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDropPartition(this); + } +}; + +AlterByDropPartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDropPartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddSpecialIndexContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.keyType = null; // Token; + this.indexFormat = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddSpecialIndexContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddSpecialIndexContext.prototype.constructor = AlterByAddSpecialIndexContext; + +SqlParser.AlterByAddSpecialIndexContext = AlterByAddSpecialIndexContext; + +AlterByAddSpecialIndexContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddSpecialIndexContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +AlterByAddSpecialIndexContext.prototype.FULLTEXT = function() { + return this.getToken(SqlParser.FULLTEXT, 0); +}; + +AlterByAddSpecialIndexContext.prototype.SPATIAL = function() { + return this.getToken(SqlParser.SPATIAL, 0); +}; + +AlterByAddSpecialIndexContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterByAddSpecialIndexContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; + +AlterByAddSpecialIndexContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +AlterByAddSpecialIndexContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; +AlterByAddSpecialIndexContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddSpecialIndex(this); + } +}; + +AlterByAddSpecialIndexContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddSpecialIndex(this); + } +}; + +AlterByAddSpecialIndexContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddSpecialIndex(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByModifyColumnContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByModifyColumnContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByModifyColumnContext.prototype.constructor = AlterByModifyColumnContext; + +SqlParser.AlterByModifyColumnContext = AlterByModifyColumnContext; + +AlterByModifyColumnContext.prototype.MODIFY = function() { + return this.getToken(SqlParser.MODIFY, 0); +}; + +AlterByModifyColumnContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +AlterByModifyColumnContext.prototype.columnDefinition = function() { + return this.getTypedRuleContext(ColumnDefinitionContext,0); +}; + +AlterByModifyColumnContext.prototype.COLUMN = function() { + return this.getToken(SqlParser.COLUMN, 0); +}; + +AlterByModifyColumnContext.prototype.FIRST = function() { + return this.getToken(SqlParser.FIRST, 0); +}; + +AlterByModifyColumnContext.prototype.AFTER = function() { + return this.getToken(SqlParser.AFTER, 0); +}; +AlterByModifyColumnContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByModifyColumn(this); + } +}; + +AlterByModifyColumnContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByModifyColumn(this); + } +}; + +AlterByModifyColumnContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByModifyColumn(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByTableOptionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByTableOptionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByTableOptionContext.prototype.constructor = AlterByTableOptionContext; + +SqlParser.AlterByTableOptionContext = AlterByTableOptionContext; + +AlterByTableOptionContext.prototype.tableOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableOptionContext); + } else { + return this.getTypedRuleContext(TableOptionContext,i); + } +}; + +AlterByTableOptionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +AlterByTableOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByTableOption(this); + } +}; + +AlterByTableOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByTableOption(this); + } +}; + +AlterByTableOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByTableOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByDropPrimaryKeyContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDropPrimaryKeyContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDropPrimaryKeyContext.prototype.constructor = AlterByDropPrimaryKeyContext; + +SqlParser.AlterByDropPrimaryKeyContext = AlterByDropPrimaryKeyContext; + +AlterByDropPrimaryKeyContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +AlterByDropPrimaryKeyContext.prototype.PRIMARY = function() { + return this.getToken(SqlParser.PRIMARY, 0); +}; + +AlterByDropPrimaryKeyContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; +AlterByDropPrimaryKeyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDropPrimaryKey(this); + } +}; + +AlterByDropPrimaryKeyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDropPrimaryKey(this); + } +}; + +AlterByDropPrimaryKeyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDropPrimaryKey(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByLockContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.lockType = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByLockContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByLockContext.prototype.constructor = AlterByLockContext; + +SqlParser.AlterByLockContext = AlterByLockContext; + +AlterByLockContext.prototype.LOCK = function() { + return this.getToken(SqlParser.LOCK, 0); +}; + +AlterByLockContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +AlterByLockContext.prototype.NONE = function() { + return this.getToken(SqlParser.NONE, 0); +}; + +AlterByLockContext.prototype.SHARED = function() { + return this.getToken(SqlParser.SHARED, 0); +}; + +AlterByLockContext.prototype.EXCLUSIVE = function() { + return this.getToken(SqlParser.EXCLUSIVE, 0); +}; + +AlterByLockContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +AlterByLockContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByLock(this); + } +}; + +AlterByLockContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByLock(this); + } +}; + +AlterByLockContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByLock(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByDiscardPartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDiscardPartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDiscardPartitionContext.prototype.constructor = AlterByDiscardPartitionContext; + +SqlParser.AlterByDiscardPartitionContext = AlterByDiscardPartitionContext; + +AlterByDiscardPartitionContext.prototype.DISCARD = function() { + return this.getToken(SqlParser.DISCARD, 0); +}; + +AlterByDiscardPartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByDiscardPartitionContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +AlterByDiscardPartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByDiscardPartitionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; +AlterByDiscardPartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDiscardPartition(this); + } +}; + +AlterByDiscardPartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDiscardPartition(this); + } +}; + +AlterByDiscardPartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDiscardPartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByDiscardTablespaceContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDiscardTablespaceContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDiscardTablespaceContext.prototype.constructor = AlterByDiscardTablespaceContext; + +SqlParser.AlterByDiscardTablespaceContext = AlterByDiscardTablespaceContext; + +AlterByDiscardTablespaceContext.prototype.DISCARD = function() { + return this.getToken(SqlParser.DISCARD, 0); +}; + +AlterByDiscardTablespaceContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; +AlterByDiscardTablespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDiscardTablespace(this); + } +}; + +AlterByDiscardTablespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDiscardTablespace(this); + } +}; + +AlterByDiscardTablespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDiscardTablespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByValidateContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.validationFormat = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByValidateContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByValidateContext.prototype.constructor = AlterByValidateContext; + +SqlParser.AlterByValidateContext = AlterByValidateContext; + +AlterByValidateContext.prototype.VALIDATION = function() { + return this.getToken(SqlParser.VALIDATION, 0); +}; + +AlterByValidateContext.prototype.WITHOUT = function() { + return this.getToken(SqlParser.WITHOUT, 0); +}; + +AlterByValidateContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; +AlterByValidateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByValidate(this); + } +}; + +AlterByValidateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByValidate(this); + } +}; + +AlterByValidateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByValidate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddPrimaryKeyContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.name = null; // UidContext; + this.index = null; // UidContext; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddPrimaryKeyContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddPrimaryKeyContext.prototype.constructor = AlterByAddPrimaryKeyContext; + +SqlParser.AlterByAddPrimaryKeyContext = AlterByAddPrimaryKeyContext; + +AlterByAddPrimaryKeyContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddPrimaryKeyContext.prototype.PRIMARY = function() { + return this.getToken(SqlParser.PRIMARY, 0); +}; + +AlterByAddPrimaryKeyContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +AlterByAddPrimaryKeyContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +AlterByAddPrimaryKeyContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +AlterByAddPrimaryKeyContext.prototype.indexType = function() { + return this.getTypedRuleContext(IndexTypeContext,0); +}; + +AlterByAddPrimaryKeyContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; + +AlterByAddPrimaryKeyContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; +AlterByAddPrimaryKeyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddPrimaryKey(this); + } +}; + +AlterByAddPrimaryKeyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddPrimaryKey(this); + } +}; + +AlterByAddPrimaryKeyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddPrimaryKey(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByCheckPartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByCheckPartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByCheckPartitionContext.prototype.constructor = AlterByCheckPartitionContext; + +SqlParser.AlterByCheckPartitionContext = AlterByCheckPartitionContext; + +AlterByCheckPartitionContext.prototype.CHECK = function() { + return this.getToken(SqlParser.CHECK, 0); +}; + +AlterByCheckPartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByCheckPartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByCheckPartitionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; +AlterByCheckPartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByCheckPartition(this); + } +}; + +AlterByCheckPartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByCheckPartition(this); + } +}; + +AlterByCheckPartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByCheckPartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByEnableKeysContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByEnableKeysContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByEnableKeysContext.prototype.constructor = AlterByEnableKeysContext; + +SqlParser.AlterByEnableKeysContext = AlterByEnableKeysContext; + +AlterByEnableKeysContext.prototype.ENABLE = function() { + return this.getToken(SqlParser.ENABLE, 0); +}; + +AlterByEnableKeysContext.prototype.KEYS = function() { + return this.getToken(SqlParser.KEYS, 0); +}; +AlterByEnableKeysContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByEnableKeys(this); + } +}; + +AlterByEnableKeysContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByEnableKeys(this); + } +}; + +AlterByEnableKeysContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByEnableKeys(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByReorganizePartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByReorganizePartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByReorganizePartitionContext.prototype.constructor = AlterByReorganizePartitionContext; + +SqlParser.AlterByReorganizePartitionContext = AlterByReorganizePartitionContext; + +AlterByReorganizePartitionContext.prototype.REORGANIZE = function() { + return this.getToken(SqlParser.REORGANIZE, 0); +}; + +AlterByReorganizePartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByReorganizePartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByReorganizePartitionContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +AlterByReorganizePartitionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +AlterByReorganizePartitionContext.prototype.partitionDefinition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PartitionDefinitionContext); + } else { + return this.getTypedRuleContext(PartitionDefinitionContext,i); + } +}; + +AlterByReorganizePartitionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +AlterByReorganizePartitionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +AlterByReorganizePartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByReorganizePartition(this); + } +}; + +AlterByReorganizePartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByReorganizePartition(this); + } +}; + +AlterByReorganizePartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByReorganizePartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterBySetAlgorithmContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.algType = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterBySetAlgorithmContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterBySetAlgorithmContext.prototype.constructor = AlterBySetAlgorithmContext; + +SqlParser.AlterBySetAlgorithmContext = AlterBySetAlgorithmContext; + +AlterBySetAlgorithmContext.prototype.ALGORITHM = function() { + return this.getToken(SqlParser.ALGORITHM, 0); +}; + +AlterBySetAlgorithmContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +AlterBySetAlgorithmContext.prototype.INPLACE = function() { + return this.getToken(SqlParser.INPLACE, 0); +}; + +AlterBySetAlgorithmContext.prototype.COPY = function() { + return this.getToken(SqlParser.COPY, 0); +}; + +AlterBySetAlgorithmContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; +AlterBySetAlgorithmContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterBySetAlgorithm(this); + } +}; + +AlterBySetAlgorithmContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterBySetAlgorithm(this); + } +}; + +AlterBySetAlgorithmContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterBySetAlgorithm(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAnalyzePartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAnalyzePartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAnalyzePartitionContext.prototype.constructor = AlterByAnalyzePartitionContext; + +SqlParser.AlterByAnalyzePartitionContext = AlterByAnalyzePartitionContext; + +AlterByAnalyzePartitionContext.prototype.ANALYZE = function() { + return this.getToken(SqlParser.ANALYZE, 0); +}; + +AlterByAnalyzePartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByAnalyzePartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByAnalyzePartitionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; +AlterByAnalyzePartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAnalyzePartition(this); + } +}; + +AlterByAnalyzePartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAnalyzePartition(this); + } +}; + +AlterByAnalyzePartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAnalyzePartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByChangeColumnContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.oldColumn = null; // UidContext; + this.newColumn = null; // UidContext; + this.afterColumn = null; // UidContext; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByChangeColumnContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByChangeColumnContext.prototype.constructor = AlterByChangeColumnContext; + +SqlParser.AlterByChangeColumnContext = AlterByChangeColumnContext; + +AlterByChangeColumnContext.prototype.CHANGE = function() { + return this.getToken(SqlParser.CHANGE, 0); +}; + +AlterByChangeColumnContext.prototype.columnDefinition = function() { + return this.getTypedRuleContext(ColumnDefinitionContext,0); +}; + +AlterByChangeColumnContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +AlterByChangeColumnContext.prototype.COLUMN = function() { + return this.getToken(SqlParser.COLUMN, 0); +}; + +AlterByChangeColumnContext.prototype.FIRST = function() { + return this.getToken(SqlParser.FIRST, 0); +}; + +AlterByChangeColumnContext.prototype.AFTER = function() { + return this.getToken(SqlParser.AFTER, 0); +}; +AlterByChangeColumnContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByChangeColumn(this); + } +}; + +AlterByChangeColumnContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByChangeColumn(this); + } +}; + +AlterByChangeColumnContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByChangeColumn(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddUniqueKeyContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.name = null; // UidContext; + this.indexFormat = null; // Token; + this.indexName = null; // UidContext; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddUniqueKeyContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddUniqueKeyContext.prototype.constructor = AlterByAddUniqueKeyContext; + +SqlParser.AlterByAddUniqueKeyContext = AlterByAddUniqueKeyContext; + +AlterByAddUniqueKeyContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddUniqueKeyContext.prototype.UNIQUE = function() { + return this.getToken(SqlParser.UNIQUE, 0); +}; + +AlterByAddUniqueKeyContext.prototype.indexColumnNames = function() { + return this.getTypedRuleContext(IndexColumnNamesContext,0); +}; + +AlterByAddUniqueKeyContext.prototype.CONSTRAINT = function() { + return this.getToken(SqlParser.CONSTRAINT, 0); +}; + +AlterByAddUniqueKeyContext.prototype.indexType = function() { + return this.getTypedRuleContext(IndexTypeContext,0); +}; + +AlterByAddUniqueKeyContext.prototype.indexOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexOptionContext); + } else { + return this.getTypedRuleContext(IndexOptionContext,i); + } +}; + +AlterByAddUniqueKeyContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +AlterByAddUniqueKeyContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +AlterByAddUniqueKeyContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; +AlterByAddUniqueKeyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddUniqueKey(this); + } +}; + +AlterByAddUniqueKeyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddUniqueKey(this); + } +}; + +AlterByAddUniqueKeyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddUniqueKey(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByTruncatePartitionContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByTruncatePartitionContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByTruncatePartitionContext.prototype.constructor = AlterByTruncatePartitionContext; + +SqlParser.AlterByTruncatePartitionContext = AlterByTruncatePartitionContext; + +AlterByTruncatePartitionContext.prototype.TRUNCATE = function() { + return this.getToken(SqlParser.TRUNCATE, 0); +}; + +AlterByTruncatePartitionContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AlterByTruncatePartitionContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AlterByTruncatePartitionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; +AlterByTruncatePartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByTruncatePartition(this); + } +}; + +AlterByTruncatePartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByTruncatePartition(this); + } +}; + +AlterByTruncatePartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByTruncatePartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByDropIndexContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + this.indexFormat = null; // Token; + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByDropIndexContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByDropIndexContext.prototype.constructor = AlterByDropIndexContext; + +SqlParser.AlterByDropIndexContext = AlterByDropIndexContext; + +AlterByDropIndexContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +AlterByDropIndexContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AlterByDropIndexContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +AlterByDropIndexContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; +AlterByDropIndexContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByDropIndex(this); + } +}; + +AlterByDropIndexContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByDropIndex(this); + } +}; + +AlterByDropIndexContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByDropIndex(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByAddColumnContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByAddColumnContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByAddColumnContext.prototype.constructor = AlterByAddColumnContext; + +SqlParser.AlterByAddColumnContext = AlterByAddColumnContext; + +AlterByAddColumnContext.prototype.ADD = function() { + return this.getToken(SqlParser.ADD, 0); +}; + +AlterByAddColumnContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +AlterByAddColumnContext.prototype.columnDefinition = function() { + return this.getTypedRuleContext(ColumnDefinitionContext,0); +}; + +AlterByAddColumnContext.prototype.COLUMN = function() { + return this.getToken(SqlParser.COLUMN, 0); +}; + +AlterByAddColumnContext.prototype.FIRST = function() { + return this.getToken(SqlParser.FIRST, 0); +}; + +AlterByAddColumnContext.prototype.AFTER = function() { + return this.getToken(SqlParser.AFTER, 0); +}; +AlterByAddColumnContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByAddColumn(this); + } +}; + +AlterByAddColumnContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByAddColumn(this); + } +}; + +AlterByAddColumnContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByAddColumn(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterByOrderContext(parser, ctx) { + AlterSpecificationContext.call(this, parser); + AlterSpecificationContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterByOrderContext.prototype = Object.create(AlterSpecificationContext.prototype); +AlterByOrderContext.prototype.constructor = AlterByOrderContext; + +SqlParser.AlterByOrderContext = AlterByOrderContext; + +AlterByOrderContext.prototype.ORDER = function() { + return this.getToken(SqlParser.ORDER, 0); +}; + +AlterByOrderContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +AlterByOrderContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; +AlterByOrderContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterByOrder(this); + } +}; + +AlterByOrderContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterByOrder(this); + } +}; + +AlterByOrderContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterByOrder(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.AlterSpecificationContext = AlterSpecificationContext; + +SqlParser.prototype.alterSpecification = function() { + + var localctx = new AlterSpecificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 134, SqlParser.RULE_alterSpecification); + var _la = 0; // Token type + try { + this.state = 2623; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,333,this._ctx); + switch(la_) { + case 1: + localctx = new AlterByTableOptionContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 2260; + this.tableOption(); + this.state = 2267; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,280,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2262; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMA) { + this.state = 2261; + this.match(SqlParser.COMMA); + } + + this.state = 2264; + this.tableOption(); + } + this.state = 2269; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,280,this._ctx); + } + + break; + + case 2: + localctx = new AlterByAddColumnContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 2270; + this.match(SqlParser.ADD); + this.state = 2272; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLUMN) { + this.state = 2271; + this.match(SqlParser.COLUMN); + } + + this.state = 2274; + this.uid(); + this.state = 2275; + this.columnDefinition(); + this.state = 2279; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case SqlParser.FIRST: + this.state = 2276; + this.match(SqlParser.FIRST); + break; + case SqlParser.AFTER: + this.state = 2277; + this.match(SqlParser.AFTER); + this.state = 2278; + this.uid(); + break; + case SqlParser.EOF: + case SqlParser.ALTER: + case SqlParser.ANALYZE: + case SqlParser.CALL: + case SqlParser.CHANGE: + case SqlParser.CHECK: + case SqlParser.CREATE: + case SqlParser.DELETE: + case SqlParser.DESC: + case SqlParser.DESCRIBE: + case SqlParser.DROP: + case SqlParser.EXPLAIN: + case SqlParser.GET: + case SqlParser.GRANT: + case SqlParser.INSERT: + case SqlParser.KILL: + case SqlParser.LOAD: + case SqlParser.LOCK: + case SqlParser.OPTIMIZE: + case SqlParser.PARTITION: + case SqlParser.PURGE: + case SqlParser.RELEASE: + case SqlParser.RENAME: + case SqlParser.REPLACE: + case SqlParser.RESIGNAL: + case SqlParser.REVOKE: + case SqlParser.SELECT: + case SqlParser.SET: + case SqlParser.SHOW: + case SqlParser.SIGNAL: + case SqlParser.UNLOCK: + case SqlParser.UPDATE: + case SqlParser.USE: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.CACHE: + case SqlParser.CHECKSUM: + case SqlParser.COMMIT: + case SqlParser.DEALLOCATE: + case SqlParser.DO: + case SqlParser.FLUSH: + case SqlParser.HANDLER: + case SqlParser.HELP: + case SqlParser.INSTALL: + case SqlParser.PREPARE: + case SqlParser.REPAIR: + case SqlParser.RESET: + case SqlParser.ROLLBACK: + case SqlParser.SAVEPOINT: + case SqlParser.START: + case SqlParser.STOP: + case SqlParser.TRUNCATE: + case SqlParser.UNINSTALL: + case SqlParser.XA: + case SqlParser.EXECUTE: + case SqlParser.SHUTDOWN: + case SqlParser.MINUSMINUS: + case SqlParser.LR_BRACKET: + case SqlParser.COMMA: + case SqlParser.SEMI: + break; + default: + break; + } + break; + + case 3: + localctx = new AlterByAddColumnsContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 2281; + this.match(SqlParser.ADD); + this.state = 2283; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLUMN) { + this.state = 2282; + this.match(SqlParser.COLUMN); + } + + this.state = 2285; + this.match(SqlParser.LR_BRACKET); + this.state = 2286; + this.uid(); + this.state = 2287; + this.columnDefinition(); + this.state = 2294; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2288; + this.match(SqlParser.COMMA); + this.state = 2289; + this.uid(); + this.state = 2290; + this.columnDefinition(); + this.state = 2296; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2297; + this.match(SqlParser.RR_BRACKET); + break; + + case 4: + localctx = new AlterByAddIndexContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 2299; + this.match(SqlParser.ADD); + this.state = 2300; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2302; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2301; + this.uid(); + } + + this.state = 2305; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 2304; + this.indexType(); + } + + this.state = 2307; + this.indexColumnNames(); + this.state = 2311; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 2308; + this.indexOption(); + this.state = 2313; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 5: + localctx = new AlterByAddPrimaryKeyContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 2314; + this.match(SqlParser.ADD); + this.state = 2319; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 2315; + this.match(SqlParser.CONSTRAINT); + this.state = 2317; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2316; + localctx.name = this.uid(); + } + + } + + this.state = 2321; + this.match(SqlParser.PRIMARY); + this.state = 2322; + this.match(SqlParser.KEY); + this.state = 2324; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2323; + localctx.index = this.uid(); + } + + this.state = 2327; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 2326; + this.indexType(); + } + + this.state = 2329; + this.indexColumnNames(); + this.state = 2333; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 2330; + this.indexOption(); + this.state = 2335; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 6: + localctx = new AlterByAddUniqueKeyContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 2336; + this.match(SqlParser.ADD); + this.state = 2341; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 2337; + this.match(SqlParser.CONSTRAINT); + this.state = 2339; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2338; + localctx.name = this.uid(); + } + + } + + this.state = 2343; + this.match(SqlParser.UNIQUE); + this.state = 2345; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INDEX || _la===SqlParser.KEY) { + this.state = 2344; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2348; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2347; + localctx.indexName = this.uid(); + } + + this.state = 2351; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 2350; + this.indexType(); + } + + this.state = 2353; + this.indexColumnNames(); + this.state = 2357; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 2354; + this.indexOption(); + this.state = 2359; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 7: + localctx = new AlterByAddSpecialIndexContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 2360; + this.match(SqlParser.ADD); + this.state = 2361; + localctx.keyType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FULLTEXT || _la===SqlParser.SPATIAL)) { + localctx.keyType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2363; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INDEX || _la===SqlParser.KEY) { + this.state = 2362; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2366; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2365; + this.uid(); + } + + this.state = 2368; + this.indexColumnNames(); + this.state = 2372; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.USING || _la===SqlParser.WITH || _la===SqlParser.COMMENT || _la===SqlParser.INVISIBLE || _la===SqlParser.KEY_BLOCK_SIZE || _la===SqlParser.VISIBLE) { + this.state = 2369; + this.indexOption(); + this.state = 2374; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 8: + localctx = new AlterByAddForeignKeyContext(this, localctx); + this.enterOuterAlt(localctx, 8); + this.state = 2375; + this.match(SqlParser.ADD); + this.state = 2380; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 2376; + this.match(SqlParser.CONSTRAINT); + this.state = 2378; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2377; + localctx.name = this.uid(); + } + + } + + this.state = 2382; + this.match(SqlParser.FOREIGN); + this.state = 2383; + this.match(SqlParser.KEY); + this.state = 2385; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2384; + localctx.indexName = this.uid(); + } + + this.state = 2387; + this.indexColumnNames(); + this.state = 2388; + this.referenceDefinition(); + break; + + case 9: + localctx = new AlterByAddCheckTableConstraintContext(this, localctx); + this.enterOuterAlt(localctx, 9); + this.state = 2390; + this.match(SqlParser.ADD); + this.state = 2395; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONSTRAINT) { + this.state = 2391; + this.match(SqlParser.CONSTRAINT); + this.state = 2393; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2392; + localctx.name = this.uid(); + } + + } + + this.state = 2397; + this.match(SqlParser.CHECK); + this.state = 2398; + this.match(SqlParser.LR_BRACKET); + this.state = 2399; + this.expression(0); + this.state = 2400; + this.match(SqlParser.RR_BRACKET); + break; + + case 10: + localctx = new AlterBySetAlgorithmContext(this, localctx); + this.enterOuterAlt(localctx, 10); + this.state = 2402; + this.match(SqlParser.ALGORITHM); + this.state = 2404; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2403; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2406; + localctx.algType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.COPY || _la===SqlParser.INPLACE)) { + localctx.algType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 11: + localctx = new AlterByChangeDefaultContext(this, localctx); + this.enterOuterAlt(localctx, 11); + this.state = 2407; + this.match(SqlParser.ALTER); + this.state = 2409; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLUMN) { + this.state = 2408; + this.match(SqlParser.COLUMN); + } + + this.state = 2411; + this.uid(); + this.state = 2417; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SET: + this.state = 2412; + this.match(SqlParser.SET); + this.state = 2413; + this.match(SqlParser.DEFAULT); + this.state = 2414; + this.defaultValue(); + break; + case SqlParser.DROP: + this.state = 2415; + this.match(SqlParser.DROP); + this.state = 2416; + this.match(SqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 12: + localctx = new AlterByChangeColumnContext(this, localctx); + this.enterOuterAlt(localctx, 12); + this.state = 2419; + this.match(SqlParser.CHANGE); + this.state = 2421; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLUMN) { + this.state = 2420; + this.match(SqlParser.COLUMN); + } + + this.state = 2423; + localctx.oldColumn = this.uid(); + this.state = 2424; + localctx.newColumn = this.uid(); + this.state = 2425; + this.columnDefinition(); + this.state = 2429; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case SqlParser.FIRST: + this.state = 2426; + this.match(SqlParser.FIRST); + break; + case SqlParser.AFTER: + this.state = 2427; + this.match(SqlParser.AFTER); + this.state = 2428; + localctx.afterColumn = this.uid(); + break; + case SqlParser.EOF: + case SqlParser.ALTER: + case SqlParser.ANALYZE: + case SqlParser.CALL: + case SqlParser.CHANGE: + case SqlParser.CHECK: + case SqlParser.CREATE: + case SqlParser.DELETE: + case SqlParser.DESC: + case SqlParser.DESCRIBE: + case SqlParser.DROP: + case SqlParser.EXPLAIN: + case SqlParser.GET: + case SqlParser.GRANT: + case SqlParser.INSERT: + case SqlParser.KILL: + case SqlParser.LOAD: + case SqlParser.LOCK: + case SqlParser.OPTIMIZE: + case SqlParser.PARTITION: + case SqlParser.PURGE: + case SqlParser.RELEASE: + case SqlParser.RENAME: + case SqlParser.REPLACE: + case SqlParser.RESIGNAL: + case SqlParser.REVOKE: + case SqlParser.SELECT: + case SqlParser.SET: + case SqlParser.SHOW: + case SqlParser.SIGNAL: + case SqlParser.UNLOCK: + case SqlParser.UPDATE: + case SqlParser.USE: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.CACHE: + case SqlParser.CHECKSUM: + case SqlParser.COMMIT: + case SqlParser.DEALLOCATE: + case SqlParser.DO: + case SqlParser.FLUSH: + case SqlParser.HANDLER: + case SqlParser.HELP: + case SqlParser.INSTALL: + case SqlParser.PREPARE: + case SqlParser.REPAIR: + case SqlParser.RESET: + case SqlParser.ROLLBACK: + case SqlParser.SAVEPOINT: + case SqlParser.START: + case SqlParser.STOP: + case SqlParser.TRUNCATE: + case SqlParser.UNINSTALL: + case SqlParser.XA: + case SqlParser.EXECUTE: + case SqlParser.SHUTDOWN: + case SqlParser.MINUSMINUS: + case SqlParser.LR_BRACKET: + case SqlParser.COMMA: + case SqlParser.SEMI: + break; + default: + break; + } + break; + + case 13: + localctx = new AlterByRenameColumnContext(this, localctx); + this.enterOuterAlt(localctx, 13); + this.state = 2431; + this.match(SqlParser.RENAME); + this.state = 2432; + this.match(SqlParser.COLUMN); + this.state = 2433; + localctx.oldColumn = this.uid(); + this.state = 2434; + this.match(SqlParser.TO); + this.state = 2435; + localctx.newColumn = this.uid(); + break; + + case 14: + localctx = new AlterByLockContext(this, localctx); + this.enterOuterAlt(localctx, 14); + this.state = 2437; + this.match(SqlParser.LOCK); + this.state = 2439; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2438; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2441; + localctx.lockType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.EXCLUSIVE || _la===SqlParser.NONE || _la===SqlParser.SHARED)) { + localctx.lockType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 15: + localctx = new AlterByModifyColumnContext(this, localctx); + this.enterOuterAlt(localctx, 15); + this.state = 2442; + this.match(SqlParser.MODIFY); + this.state = 2444; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLUMN) { + this.state = 2443; + this.match(SqlParser.COLUMN); + } + + this.state = 2446; + this.uid(); + this.state = 2447; + this.columnDefinition(); + this.state = 2451; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case SqlParser.FIRST: + this.state = 2448; + this.match(SqlParser.FIRST); + break; + case SqlParser.AFTER: + this.state = 2449; + this.match(SqlParser.AFTER); + this.state = 2450; + this.uid(); + break; + case SqlParser.EOF: + case SqlParser.ALTER: + case SqlParser.ANALYZE: + case SqlParser.CALL: + case SqlParser.CHANGE: + case SqlParser.CHECK: + case SqlParser.CREATE: + case SqlParser.DELETE: + case SqlParser.DESC: + case SqlParser.DESCRIBE: + case SqlParser.DROP: + case SqlParser.EXPLAIN: + case SqlParser.GET: + case SqlParser.GRANT: + case SqlParser.INSERT: + case SqlParser.KILL: + case SqlParser.LOAD: + case SqlParser.LOCK: + case SqlParser.OPTIMIZE: + case SqlParser.PARTITION: + case SqlParser.PURGE: + case SqlParser.RELEASE: + case SqlParser.RENAME: + case SqlParser.REPLACE: + case SqlParser.RESIGNAL: + case SqlParser.REVOKE: + case SqlParser.SELECT: + case SqlParser.SET: + case SqlParser.SHOW: + case SqlParser.SIGNAL: + case SqlParser.UNLOCK: + case SqlParser.UPDATE: + case SqlParser.USE: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.CACHE: + case SqlParser.CHECKSUM: + case SqlParser.COMMIT: + case SqlParser.DEALLOCATE: + case SqlParser.DO: + case SqlParser.FLUSH: + case SqlParser.HANDLER: + case SqlParser.HELP: + case SqlParser.INSTALL: + case SqlParser.PREPARE: + case SqlParser.REPAIR: + case SqlParser.RESET: + case SqlParser.ROLLBACK: + case SqlParser.SAVEPOINT: + case SqlParser.START: + case SqlParser.STOP: + case SqlParser.TRUNCATE: + case SqlParser.UNINSTALL: + case SqlParser.XA: + case SqlParser.EXECUTE: + case SqlParser.SHUTDOWN: + case SqlParser.MINUSMINUS: + case SqlParser.LR_BRACKET: + case SqlParser.COMMA: + case SqlParser.SEMI: + break; + default: + break; + } + break; + + case 16: + localctx = new AlterByDropColumnContext(this, localctx); + this.enterOuterAlt(localctx, 16); + this.state = 2453; + this.match(SqlParser.DROP); + this.state = 2455; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLUMN) { + this.state = 2454; + this.match(SqlParser.COLUMN); + } + + this.state = 2457; + this.uid(); + this.state = 2459; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.RESTRICT) { + this.state = 2458; + this.match(SqlParser.RESTRICT); + } + + break; + + case 17: + localctx = new AlterByDropPrimaryKeyContext(this, localctx); + this.enterOuterAlt(localctx, 17); + this.state = 2461; + this.match(SqlParser.DROP); + this.state = 2462; + this.match(SqlParser.PRIMARY); + this.state = 2463; + this.match(SqlParser.KEY); + break; + + case 18: + localctx = new AlterByRenameIndexContext(this, localctx); + this.enterOuterAlt(localctx, 18); + this.state = 2464; + this.match(SqlParser.RENAME); + this.state = 2465; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2466; + this.uid(); + this.state = 2467; + this.match(SqlParser.TO); + this.state = 2468; + this.uid(); + break; + + case 19: + localctx = new AlterByAlterIndexVisibilityContext(this, localctx); + this.enterOuterAlt(localctx, 19); + this.state = 2470; + this.match(SqlParser.ALTER); + this.state = 2471; + this.match(SqlParser.INDEX); + this.state = 2472; + this.uid(); + this.state = 2473; + _la = this._input.LA(1); + if(!(_la===SqlParser.INVISIBLE || _la===SqlParser.VISIBLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 20: + localctx = new AlterByDropIndexContext(this, localctx); + this.enterOuterAlt(localctx, 20); + this.state = 2475; + this.match(SqlParser.DROP); + this.state = 2476; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2477; + this.uid(); + break; + + case 21: + localctx = new AlterByDropForeignKeyContext(this, localctx); + this.enterOuterAlt(localctx, 21); + this.state = 2478; + this.match(SqlParser.DROP); + this.state = 2479; + this.match(SqlParser.FOREIGN); + this.state = 2480; + this.match(SqlParser.KEY); + this.state = 2481; + this.uid(); + break; + + case 22: + localctx = new AlterByDisableKeysContext(this, localctx); + this.enterOuterAlt(localctx, 22); + this.state = 2482; + this.match(SqlParser.DISABLE); + this.state = 2483; + this.match(SqlParser.KEYS); + break; + + case 23: + localctx = new AlterByEnableKeysContext(this, localctx); + this.enterOuterAlt(localctx, 23); + this.state = 2484; + this.match(SqlParser.ENABLE); + this.state = 2485; + this.match(SqlParser.KEYS); + break; + + case 24: + localctx = new AlterByRenameContext(this, localctx); + this.enterOuterAlt(localctx, 24); + this.state = 2486; + this.match(SqlParser.RENAME); + this.state = 2488; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS || _la===SqlParser.TO) { + this.state = 2487; + localctx.renameFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.AS || _la===SqlParser.TO)) { + localctx.renameFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2492; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,318,this._ctx); + switch(la_) { + case 1: + this.state = 2490; + this.uid(); + break; + + case 2: + this.state = 2491; + this.fullId(); + break; + + } + break; + + case 25: + localctx = new AlterByOrderContext(this, localctx); + this.enterOuterAlt(localctx, 25); + this.state = 2494; + this.match(SqlParser.ORDER); + this.state = 2495; + this.match(SqlParser.BY); + this.state = 2496; + this.uidList(); + break; + + case 26: + localctx = new AlterByConvertCharsetContext(this, localctx); + this.enterOuterAlt(localctx, 26); + this.state = 2497; + this.match(SqlParser.CONVERT); + this.state = 2498; + this.match(SqlParser.TO); + this.state = 2499; + this.match(SqlParser.CHARACTER); + this.state = 2500; + this.match(SqlParser.SET); + this.state = 2501; + this.charsetName(); + this.state = 2504; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLLATE) { + this.state = 2502; + this.match(SqlParser.COLLATE); + this.state = 2503; + this.collationName(); + } + + break; + + case 27: + localctx = new AlterByDefaultCharsetContext(this, localctx); + this.enterOuterAlt(localctx, 27); + this.state = 2507; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFAULT) { + this.state = 2506; + this.match(SqlParser.DEFAULT); + } + + this.state = 2509; + this.match(SqlParser.CHARACTER); + this.state = 2510; + this.match(SqlParser.SET); + this.state = 2511; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 2512; + this.charsetName(); + this.state = 2516; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLLATE) { + this.state = 2513; + this.match(SqlParser.COLLATE); + this.state = 2514; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 2515; + this.collationName(); + } + + break; + + case 28: + localctx = new AlterByDiscardTablespaceContext(this, localctx); + this.enterOuterAlt(localctx, 28); + this.state = 2518; + this.match(SqlParser.DISCARD); + this.state = 2519; + this.match(SqlParser.TABLESPACE); + break; + + case 29: + localctx = new AlterByImportTablespaceContext(this, localctx); + this.enterOuterAlt(localctx, 29); + this.state = 2520; + this.match(SqlParser.IMPORT); + this.state = 2521; + this.match(SqlParser.TABLESPACE); + break; + + case 30: + localctx = new AlterByForceContext(this, localctx); + this.enterOuterAlt(localctx, 30); + this.state = 2522; + this.match(SqlParser.FORCE); + break; + + case 31: + localctx = new AlterByValidateContext(this, localctx); + this.enterOuterAlt(localctx, 31); + this.state = 2523; + localctx.validationFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.WITH || _la===SqlParser.WITHOUT)) { + localctx.validationFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2524; + this.match(SqlParser.VALIDATION); + break; + + case 32: + localctx = new AlterByAddPartitionContext(this, localctx); + this.enterOuterAlt(localctx, 32); + this.state = 2525; + this.match(SqlParser.ADD); + this.state = 2526; + this.match(SqlParser.PARTITION); + this.state = 2527; + this.match(SqlParser.LR_BRACKET); + this.state = 2528; + this.partitionDefinition(); + this.state = 2533; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2529; + this.match(SqlParser.COMMA); + this.state = 2530; + this.partitionDefinition(); + this.state = 2535; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2536; + this.match(SqlParser.RR_BRACKET); + break; + + case 33: + localctx = new AlterByDropPartitionContext(this, localctx); + this.enterOuterAlt(localctx, 33); + this.state = 2538; + this.match(SqlParser.DROP); + this.state = 2539; + this.match(SqlParser.PARTITION); + this.state = 2540; + this.uidList(); + break; + + case 34: + localctx = new AlterByDiscardPartitionContext(this, localctx); + this.enterOuterAlt(localctx, 34); + this.state = 2541; + this.match(SqlParser.DISCARD); + this.state = 2542; + this.match(SqlParser.PARTITION); + this.state = 2545; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 2543; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 2544; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2547; + this.match(SqlParser.TABLESPACE); + break; + + case 35: + localctx = new AlterByImportPartitionContext(this, localctx); + this.enterOuterAlt(localctx, 35); + this.state = 2548; + this.match(SqlParser.IMPORT); + this.state = 2549; + this.match(SqlParser.PARTITION); + this.state = 2552; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 2550; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 2551; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2554; + this.match(SqlParser.TABLESPACE); + break; + + case 36: + localctx = new AlterByTruncatePartitionContext(this, localctx); + this.enterOuterAlt(localctx, 36); + this.state = 2555; + this.match(SqlParser.TRUNCATE); + this.state = 2556; + this.match(SqlParser.PARTITION); + this.state = 2559; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 2557; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 2558; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 37: + localctx = new AlterByCoalescePartitionContext(this, localctx); + this.enterOuterAlt(localctx, 37); + this.state = 2561; + this.match(SqlParser.COALESCE); + this.state = 2562; + this.match(SqlParser.PARTITION); + this.state = 2563; + this.decimalLiteral(); + break; + + case 38: + localctx = new AlterByReorganizePartitionContext(this, localctx); + this.enterOuterAlt(localctx, 38); + this.state = 2564; + this.match(SqlParser.REORGANIZE); + this.state = 2565; + this.match(SqlParser.PARTITION); + this.state = 2566; + this.uidList(); + this.state = 2567; + this.match(SqlParser.INTO); + this.state = 2568; + this.match(SqlParser.LR_BRACKET); + this.state = 2569; + this.partitionDefinition(); + this.state = 2574; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2570; + this.match(SqlParser.COMMA); + this.state = 2571; + this.partitionDefinition(); + this.state = 2576; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2577; + this.match(SqlParser.RR_BRACKET); + break; + + case 39: + localctx = new AlterByExchangePartitionContext(this, localctx); + this.enterOuterAlt(localctx, 39); + this.state = 2579; + this.match(SqlParser.EXCHANGE); + this.state = 2580; + this.match(SqlParser.PARTITION); + this.state = 2581; + this.uid(); + this.state = 2582; + this.match(SqlParser.WITH); + this.state = 2583; + this.match(SqlParser.TABLE); + this.state = 2584; + this.tableName(); + this.state = 2587; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH || _la===SqlParser.WITHOUT) { + this.state = 2585; + localctx.validationFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.WITH || _la===SqlParser.WITHOUT)) { + localctx.validationFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2586; + this.match(SqlParser.VALIDATION); + } + + break; + + case 40: + localctx = new AlterByAnalyzePartitionContext(this, localctx); + this.enterOuterAlt(localctx, 40); + this.state = 2589; + this.match(SqlParser.ANALYZE); + this.state = 2590; + this.match(SqlParser.PARTITION); + this.state = 2593; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 2591; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 2592; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 41: + localctx = new AlterByCheckPartitionContext(this, localctx); + this.enterOuterAlt(localctx, 41); + this.state = 2595; + this.match(SqlParser.CHECK); + this.state = 2596; + this.match(SqlParser.PARTITION); + this.state = 2599; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 2597; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 2598; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 42: + localctx = new AlterByOptimizePartitionContext(this, localctx); + this.enterOuterAlt(localctx, 42); + this.state = 2601; + this.match(SqlParser.OPTIMIZE); + this.state = 2602; + this.match(SqlParser.PARTITION); + this.state = 2605; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 2603; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 2604; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 43: + localctx = new AlterByRebuildPartitionContext(this, localctx); + this.enterOuterAlt(localctx, 43); + this.state = 2607; + this.match(SqlParser.REBUILD); + this.state = 2608; + this.match(SqlParser.PARTITION); + this.state = 2611; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 2609; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 2610; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 44: + localctx = new AlterByRepairPartitionContext(this, localctx); + this.enterOuterAlt(localctx, 44); + this.state = 2613; + this.match(SqlParser.REPAIR); + this.state = 2614; + this.match(SqlParser.PARTITION); + this.state = 2617; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 2615; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 2616; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 45: + localctx = new AlterByRemovePartitioningContext(this, localctx); + this.enterOuterAlt(localctx, 45); + this.state = 2619; + this.match(SqlParser.REMOVE); + this.state = 2620; + this.match(SqlParser.PARTITIONING); + break; + + case 46: + localctx = new AlterByUpgradePartitioningContext(this, localctx); + this.enterOuterAlt(localctx, 46); + this.state = 2621; + this.match(SqlParser.UPGRADE); + this.state = 2622; + this.match(SqlParser.PARTITIONING); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropDatabaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropDatabase; + this.dbFormat = null; // Token + return this; +} + +DropDatabaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropDatabaseContext.prototype.constructor = DropDatabaseContext; + +DropDatabaseContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropDatabaseContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DropDatabaseContext.prototype.DATABASE = function() { + return this.getToken(SqlParser.DATABASE, 0); +}; + +DropDatabaseContext.prototype.SCHEMA = function() { + return this.getToken(SqlParser.SCHEMA, 0); +}; + +DropDatabaseContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropDatabaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropDatabase(this); + } +}; + +DropDatabaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropDatabase(this); + } +}; + +DropDatabaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropDatabase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropDatabaseContext = DropDatabaseContext; + +SqlParser.prototype.dropDatabase = function() { + + var localctx = new DropDatabaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 136, SqlParser.RULE_dropDatabase); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2625; + this.match(SqlParser.DROP); + this.state = 2626; + localctx.dbFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DATABASE || _la===SqlParser.SCHEMA)) { + localctx.dbFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2628; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 2627; + this.ifExists(); + } + + this.state = 2630; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropEventContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropEvent; + return this; +} + +DropEventContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropEventContext.prototype.constructor = DropEventContext; + +DropEventContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropEventContext.prototype.EVENT = function() { + return this.getToken(SqlParser.EVENT, 0); +}; + +DropEventContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +DropEventContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropEventContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropEvent(this); + } +}; + +DropEventContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropEvent(this); + } +}; + +DropEventContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropEvent(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropEventContext = DropEventContext; + +SqlParser.prototype.dropEvent = function() { + + var localctx = new DropEventContext(this, this._ctx, this.state); + this.enterRule(localctx, 138, SqlParser.RULE_dropEvent); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2632; + this.match(SqlParser.DROP); + this.state = 2633; + this.match(SqlParser.EVENT); + this.state = 2635; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 2634; + this.ifExists(); + } + + this.state = 2637; + this.fullId(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropIndexContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropIndex; + this.intimeAction = null; // Token + this.algType = null; // Token + this.lockType = null; // Token + return this; +} + +DropIndexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropIndexContext.prototype.constructor = DropIndexContext; + +DropIndexContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropIndexContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +DropIndexContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DropIndexContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +DropIndexContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +DropIndexContext.prototype.ALGORITHM = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.ALGORITHM); + } else { + return this.getToken(SqlParser.ALGORITHM, i); + } +}; + + +DropIndexContext.prototype.LOCK = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LOCK); + } else { + return this.getToken(SqlParser.LOCK, i); + } +}; + + +DropIndexContext.prototype.ONLINE = function() { + return this.getToken(SqlParser.ONLINE, 0); +}; + +DropIndexContext.prototype.OFFLINE = function() { + return this.getToken(SqlParser.OFFLINE, 0); +}; + +DropIndexContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.DEFAULT); + } else { + return this.getToken(SqlParser.DEFAULT, i); + } +}; + + +DropIndexContext.prototype.INPLACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.INPLACE); + } else { + return this.getToken(SqlParser.INPLACE, i); + } +}; + + +DropIndexContext.prototype.COPY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COPY); + } else { + return this.getToken(SqlParser.COPY, i); + } +}; + + +DropIndexContext.prototype.NONE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.NONE); + } else { + return this.getToken(SqlParser.NONE, i); + } +}; + + +DropIndexContext.prototype.SHARED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.SHARED); + } else { + return this.getToken(SqlParser.SHARED, i); + } +}; + + +DropIndexContext.prototype.EXCLUSIVE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EXCLUSIVE); + } else { + return this.getToken(SqlParser.EXCLUSIVE, i); + } +}; + + +DropIndexContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +DropIndexContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropIndex(this); + } +}; + +DropIndexContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropIndex(this); + } +}; + +DropIndexContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropIndex(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropIndexContext = DropIndexContext; + +SqlParser.prototype.dropIndex = function() { + + var localctx = new DropIndexContext(this, this._ctx, this.state); + this.enterRule(localctx, 140, SqlParser.RULE_dropIndex); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2639; + this.match(SqlParser.DROP); + this.state = 2640; + this.match(SqlParser.INDEX); + this.state = 2642; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,336,this._ctx); + if(la_===1) { + this.state = 2641; + localctx.intimeAction = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.OFFLINE || _la===SqlParser.ONLINE)) { + localctx.intimeAction = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 2644; + this.uid(); + this.state = 2645; + this.match(SqlParser.ON); + this.state = 2646; + this.tableName(); + this.state = 2659; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,340,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2657; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ALGORITHM: + this.state = 2647; + this.match(SqlParser.ALGORITHM); + this.state = 2649; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2648; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2651; + localctx.algType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.COPY || _la===SqlParser.INPLACE)) { + localctx.algType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.LOCK: + this.state = 2652; + this.match(SqlParser.LOCK); + this.state = 2654; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2653; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2656; + localctx.lockType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DEFAULT || _la===SqlParser.EXCLUSIVE || _la===SqlParser.NONE || _la===SqlParser.SHARED)) { + localctx.lockType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + this.state = 2661; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,340,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropLogfileGroupContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropLogfileGroup; + return this; +} + +DropLogfileGroupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropLogfileGroupContext.prototype.constructor = DropLogfileGroupContext; + +DropLogfileGroupContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropLogfileGroupContext.prototype.LOGFILE = function() { + return this.getToken(SqlParser.LOGFILE, 0); +}; + +DropLogfileGroupContext.prototype.GROUP = function() { + return this.getToken(SqlParser.GROUP, 0); +}; + +DropLogfileGroupContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DropLogfileGroupContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +DropLogfileGroupContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +DropLogfileGroupContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +DropLogfileGroupContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropLogfileGroup(this); + } +}; + +DropLogfileGroupContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropLogfileGroup(this); + } +}; + +DropLogfileGroupContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropLogfileGroup(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropLogfileGroupContext = DropLogfileGroupContext; + +SqlParser.prototype.dropLogfileGroup = function() { + + var localctx = new DropLogfileGroupContext(this, this._ctx, this.state); + this.enterRule(localctx, 142, SqlParser.RULE_dropLogfileGroup); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2662; + this.match(SqlParser.DROP); + this.state = 2663; + this.match(SqlParser.LOGFILE); + this.state = 2664; + this.match(SqlParser.GROUP); + this.state = 2665; + this.uid(); + this.state = 2666; + this.match(SqlParser.ENGINE); + this.state = 2667; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 2668; + this.engineName(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropProcedureContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropProcedure; + return this; +} + +DropProcedureContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropProcedureContext.prototype.constructor = DropProcedureContext; + +DropProcedureContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropProcedureContext.prototype.PROCEDURE = function() { + return this.getToken(SqlParser.PROCEDURE, 0); +}; + +DropProcedureContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +DropProcedureContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropProcedureContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropProcedure(this); + } +}; + +DropProcedureContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropProcedure(this); + } +}; + +DropProcedureContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropProcedure(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropProcedureContext = DropProcedureContext; + +SqlParser.prototype.dropProcedure = function() { + + var localctx = new DropProcedureContext(this, this._ctx, this.state); + this.enterRule(localctx, 144, SqlParser.RULE_dropProcedure); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2670; + this.match(SqlParser.DROP); + this.state = 2671; + this.match(SqlParser.PROCEDURE); + this.state = 2673; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 2672; + this.ifExists(); + } + + this.state = 2675; + this.fullId(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropFunctionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropFunction; + return this; +} + +DropFunctionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropFunctionContext.prototype.constructor = DropFunctionContext; + +DropFunctionContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropFunctionContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +DropFunctionContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +DropFunctionContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropFunctionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropFunction(this); + } +}; + +DropFunctionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropFunction(this); + } +}; + +DropFunctionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropFunction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropFunctionContext = DropFunctionContext; + +SqlParser.prototype.dropFunction = function() { + + var localctx = new DropFunctionContext(this, this._ctx, this.state); + this.enterRule(localctx, 146, SqlParser.RULE_dropFunction); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2677; + this.match(SqlParser.DROP); + this.state = 2678; + this.match(SqlParser.FUNCTION); + this.state = 2680; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 2679; + this.ifExists(); + } + + this.state = 2682; + this.fullId(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropServerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropServer; + return this; +} + +DropServerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropServerContext.prototype.constructor = DropServerContext; + +DropServerContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropServerContext.prototype.SERVER = function() { + return this.getToken(SqlParser.SERVER, 0); +}; + +DropServerContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DropServerContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropServerContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropServer(this); + } +}; + +DropServerContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropServer(this); + } +}; + +DropServerContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropServer(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropServerContext = DropServerContext; + +SqlParser.prototype.dropServer = function() { + + var localctx = new DropServerContext(this, this._ctx, this.state); + this.enterRule(localctx, 148, SqlParser.RULE_dropServer); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2684; + this.match(SqlParser.DROP); + this.state = 2685; + this.match(SqlParser.SERVER); + this.state = 2687; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 2686; + this.ifExists(); + } + + this.state = 2689; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropTable; + this.dropType = null; // Token + return this; +} + +DropTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropTableContext.prototype.constructor = DropTableContext; + +DropTableContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +DropTableContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +DropTableContext.prototype.TEMPORARY = function() { + return this.getToken(SqlParser.TEMPORARY, 0); +}; + +DropTableContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropTableContext.prototype.RESTRICT = function() { + return this.getToken(SqlParser.RESTRICT, 0); +}; + +DropTableContext.prototype.CASCADE = function() { + return this.getToken(SqlParser.CASCADE, 0); +}; + +DropTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropTable(this); + } +}; + +DropTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropTable(this); + } +}; + +DropTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropTableContext = DropTableContext; + +SqlParser.prototype.dropTable = function() { + + var localctx = new DropTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 150, SqlParser.RULE_dropTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2691; + this.match(SqlParser.DROP); + this.state = 2693; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.TEMPORARY) { + this.state = 2692; + this.match(SqlParser.TEMPORARY); + } + + this.state = 2695; + this.match(SqlParser.TABLE); + this.state = 2697; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 2696; + this.ifExists(); + } + + this.state = 2699; + this.tables(); + this.state = 2701; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CASCADE || _la===SqlParser.RESTRICT) { + this.state = 2700; + localctx.dropType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CASCADE || _la===SqlParser.RESTRICT)) { + localctx.dropType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropTablespaceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropTablespace; + return this; +} + +DropTablespaceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropTablespaceContext.prototype.constructor = DropTablespaceContext; + +DropTablespaceContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropTablespaceContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +DropTablespaceContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DropTablespaceContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +DropTablespaceContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +DropTablespaceContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +DropTablespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropTablespace(this); + } +}; + +DropTablespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropTablespace(this); + } +}; + +DropTablespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropTablespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropTablespaceContext = DropTablespaceContext; + +SqlParser.prototype.dropTablespace = function() { + + var localctx = new DropTablespaceContext(this, this._ctx, this.state); + this.enterRule(localctx, 152, SqlParser.RULE_dropTablespace); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2703; + this.match(SqlParser.DROP); + this.state = 2704; + this.match(SqlParser.TABLESPACE); + this.state = 2705; + this.uid(); + this.state = 2711; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ENGINE) { + this.state = 2706; + this.match(SqlParser.ENGINE); + this.state = 2708; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EQUAL_SYMBOL) { + this.state = 2707; + this.match(SqlParser.EQUAL_SYMBOL); + } + + this.state = 2710; + this.engineName(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropTriggerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropTrigger; + return this; +} + +DropTriggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropTriggerContext.prototype.constructor = DropTriggerContext; + +DropTriggerContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropTriggerContext.prototype.TRIGGER = function() { + return this.getToken(SqlParser.TRIGGER, 0); +}; + +DropTriggerContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +DropTriggerContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropTriggerContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropTrigger(this); + } +}; + +DropTriggerContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropTrigger(this); + } +}; + +DropTriggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropTrigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropTriggerContext = DropTriggerContext; + +SqlParser.prototype.dropTrigger = function() { + + var localctx = new DropTriggerContext(this, this._ctx, this.state); + this.enterRule(localctx, 154, SqlParser.RULE_dropTrigger); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2713; + this.match(SqlParser.DROP); + this.state = 2714; + this.match(SqlParser.TRIGGER); + this.state = 2716; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 2715; + this.ifExists(); + } + + this.state = 2718; + this.fullId(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropViewContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropView; + this.dropType = null; // Token + return this; +} + +DropViewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropViewContext.prototype.constructor = DropViewContext; + +DropViewContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropViewContext.prototype.VIEW = function() { + return this.getToken(SqlParser.VIEW, 0); +}; + +DropViewContext.prototype.fullId = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FullIdContext); + } else { + return this.getTypedRuleContext(FullIdContext,i); + } +}; + +DropViewContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropViewContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +DropViewContext.prototype.RESTRICT = function() { + return this.getToken(SqlParser.RESTRICT, 0); +}; + +DropViewContext.prototype.CASCADE = function() { + return this.getToken(SqlParser.CASCADE, 0); +}; + +DropViewContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropView(this); + } +}; + +DropViewContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropView(this); + } +}; + +DropViewContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropView(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropViewContext = DropViewContext; + +SqlParser.prototype.dropView = function() { + + var localctx = new DropViewContext(this, this._ctx, this.state); + this.enterRule(localctx, 156, SqlParser.RULE_dropView); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2720; + this.match(SqlParser.DROP); + this.state = 2721; + this.match(SqlParser.VIEW); + this.state = 2723; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 2722; + this.ifExists(); + } + + this.state = 2725; + this.fullId(); + this.state = 2730; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2726; + this.match(SqlParser.COMMA); + this.state = 2727; + this.fullId(); + this.state = 2732; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2734; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CASCADE || _la===SqlParser.RESTRICT) { + this.state = 2733; + localctx.dropType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CASCADE || _la===SqlParser.RESTRICT)) { + localctx.dropType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RenameTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_renameTable; + return this; +} + +RenameTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RenameTableContext.prototype.constructor = RenameTableContext; + +RenameTableContext.prototype.RENAME = function() { + return this.getToken(SqlParser.RENAME, 0); +}; + +RenameTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +RenameTableContext.prototype.renameTableClause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(RenameTableClauseContext); + } else { + return this.getTypedRuleContext(RenameTableClauseContext,i); + } +}; + +RenameTableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +RenameTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRenameTable(this); + } +}; + +RenameTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRenameTable(this); + } +}; + +RenameTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRenameTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RenameTableContext = RenameTableContext; + +SqlParser.prototype.renameTable = function() { + + var localctx = new RenameTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 158, SqlParser.RULE_renameTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2736; + this.match(SqlParser.RENAME); + this.state = 2737; + this.match(SqlParser.TABLE); + this.state = 2738; + this.renameTableClause(); + this.state = 2743; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2739; + this.match(SqlParser.COMMA); + this.state = 2740; + this.renameTableClause(); + this.state = 2745; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RenameTableClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_renameTableClause; + return this; +} + +RenameTableClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RenameTableClauseContext.prototype.constructor = RenameTableClauseContext; + +RenameTableClauseContext.prototype.tableName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableNameContext); + } else { + return this.getTypedRuleContext(TableNameContext,i); + } +}; + +RenameTableClauseContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +RenameTableClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRenameTableClause(this); + } +}; + +RenameTableClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRenameTableClause(this); + } +}; + +RenameTableClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRenameTableClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RenameTableClauseContext = RenameTableClauseContext; + +SqlParser.prototype.renameTableClause = function() { + + var localctx = new RenameTableClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 160, SqlParser.RULE_renameTableClause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2746; + this.tableName(); + this.state = 2747; + this.match(SqlParser.TO); + this.state = 2748; + this.tableName(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TruncateTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_truncateTable; + return this; +} + +TruncateTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TruncateTableContext.prototype.constructor = TruncateTableContext; + +TruncateTableContext.prototype.TRUNCATE = function() { + return this.getToken(SqlParser.TRUNCATE, 0); +}; + +TruncateTableContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +TruncateTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +TruncateTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTruncateTable(this); + } +}; + +TruncateTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTruncateTable(this); + } +}; + +TruncateTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTruncateTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TruncateTableContext = TruncateTableContext; + +SqlParser.prototype.truncateTable = function() { + + var localctx = new TruncateTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 162, SqlParser.RULE_truncateTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2750; + this.match(SqlParser.TRUNCATE); + this.state = 2752; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.TABLE) { + this.state = 2751; + this.match(SqlParser.TABLE); + } + + this.state = 2754; + this.tableName(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CallStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_callStatement; + return this; +} + +CallStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CallStatementContext.prototype.constructor = CallStatementContext; + +CallStatementContext.prototype.CALL = function() { + return this.getToken(SqlParser.CALL, 0); +}; + +CallStatementContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +CallStatementContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CallStatementContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CallStatementContext.prototype.constants = function() { + return this.getTypedRuleContext(ConstantsContext,0); +}; + +CallStatementContext.prototype.expressions = function() { + return this.getTypedRuleContext(ExpressionsContext,0); +}; + +CallStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCallStatement(this); + } +}; + +CallStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCallStatement(this); + } +}; + +CallStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCallStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CallStatementContext = CallStatementContext; + +SqlParser.prototype.callStatement = function() { + + var localctx = new CallStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 164, SqlParser.RULE_callStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2756; + this.match(SqlParser.CALL); + this.state = 2757; + this.fullId(); + this.state = 2764; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,356,this._ctx); + if(la_===1) { + this.state = 2758; + this.match(SqlParser.LR_BRACKET); + this.state = 2761; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,355,this._ctx); + if(la_===1) { + this.state = 2759; + this.constants(); + + } else if(la_===2) { + this.state = 2760; + this.expressions(); + + } + this.state = 2763; + this.match(SqlParser.RR_BRACKET); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DeleteStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_deleteStatement; + return this; +} + +DeleteStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DeleteStatementContext.prototype.constructor = DeleteStatementContext; + +DeleteStatementContext.prototype.singleDeleteStatement = function() { + return this.getTypedRuleContext(SingleDeleteStatementContext,0); +}; + +DeleteStatementContext.prototype.multipleDeleteStatement = function() { + return this.getTypedRuleContext(MultipleDeleteStatementContext,0); +}; + +DeleteStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDeleteStatement(this); + } +}; + +DeleteStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDeleteStatement(this); + } +}; + +DeleteStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDeleteStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DeleteStatementContext = DeleteStatementContext; + +SqlParser.prototype.deleteStatement = function() { + + var localctx = new DeleteStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 166, SqlParser.RULE_deleteStatement); + try { + this.state = 2768; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,357,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2766; + this.singleDeleteStatement(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2767; + this.multipleDeleteStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DoStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_doStatement; + return this; +} + +DoStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DoStatementContext.prototype.constructor = DoStatementContext; + +DoStatementContext.prototype.DO = function() { + return this.getToken(SqlParser.DO, 0); +}; + +DoStatementContext.prototype.expressions = function() { + return this.getTypedRuleContext(ExpressionsContext,0); +}; + +DoStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDoStatement(this); + } +}; + +DoStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDoStatement(this); + } +}; + +DoStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDoStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DoStatementContext = DoStatementContext; + +SqlParser.prototype.doStatement = function() { + + var localctx = new DoStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 168, SqlParser.RULE_doStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2770; + this.match(SqlParser.DO); + this.state = 2771; + this.expressions(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HandlerStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_handlerStatement; + return this; +} + +HandlerStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HandlerStatementContext.prototype.constructor = HandlerStatementContext; + +HandlerStatementContext.prototype.handlerOpenStatement = function() { + return this.getTypedRuleContext(HandlerOpenStatementContext,0); +}; + +HandlerStatementContext.prototype.handlerReadIndexStatement = function() { + return this.getTypedRuleContext(HandlerReadIndexStatementContext,0); +}; + +HandlerStatementContext.prototype.handlerReadStatement = function() { + return this.getTypedRuleContext(HandlerReadStatementContext,0); +}; + +HandlerStatementContext.prototype.handlerCloseStatement = function() { + return this.getTypedRuleContext(HandlerCloseStatementContext,0); +}; + +HandlerStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerStatement(this); + } +}; + +HandlerStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerStatement(this); + } +}; + +HandlerStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.HandlerStatementContext = HandlerStatementContext; + +SqlParser.prototype.handlerStatement = function() { + + var localctx = new HandlerStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 170, SqlParser.RULE_handlerStatement); + try { + this.state = 2777; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,358,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2773; + this.handlerOpenStatement(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2774; + this.handlerReadIndexStatement(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2775; + this.handlerReadStatement(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 2776; + this.handlerCloseStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function InsertStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_insertStatement; + this.priority = null; // Token + this.partitions = null; // UidListContext + this.columns = null; // UidListContext + this.setFirst = null; // UpdatedElementContext + this._updatedElement = null; // UpdatedElementContext + this.setElements = []; // of UpdatedElementContexts + this.duplicatedFirst = null; // UpdatedElementContext + this.duplicatedElements = []; // of UpdatedElementContexts + return this; +} + +InsertStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +InsertStatementContext.prototype.constructor = InsertStatementContext; + +InsertStatementContext.prototype.INSERT = function() { + return this.getToken(SqlParser.INSERT, 0); +}; + +InsertStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +InsertStatementContext.prototype.insertStatementValue = function() { + return this.getTypedRuleContext(InsertStatementValueContext,0); +}; + +InsertStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +InsertStatementContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +InsertStatementContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +InsertStatementContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +InsertStatementContext.prototype.LR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LR_BRACKET); + } else { + return this.getToken(SqlParser.LR_BRACKET, i); + } +}; + + +InsertStatementContext.prototype.RR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.RR_BRACKET); + } else { + return this.getToken(SqlParser.RR_BRACKET, i); + } +}; + + +InsertStatementContext.prototype.updatedElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UpdatedElementContext); + } else { + return this.getTypedRuleContext(UpdatedElementContext,i); + } +}; + +InsertStatementContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +InsertStatementContext.prototype.DUPLICATE = function() { + return this.getToken(SqlParser.DUPLICATE, 0); +}; + +InsertStatementContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +InsertStatementContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +InsertStatementContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +InsertStatementContext.prototype.DELAYED = function() { + return this.getToken(SqlParser.DELAYED, 0); +}; + +InsertStatementContext.prototype.HIGH_PRIORITY = function() { + return this.getToken(SqlParser.HIGH_PRIORITY, 0); +}; + +InsertStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +InsertStatementContext.prototype.uidList = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidListContext); + } else { + return this.getTypedRuleContext(UidListContext,i); + } +}; + +InsertStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterInsertStatement(this); + } +}; + +InsertStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitInsertStatement(this); + } +}; + +InsertStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitInsertStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.InsertStatementContext = InsertStatementContext; + +SqlParser.prototype.insertStatement = function() { + + var localctx = new InsertStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 172, SqlParser.RULE_insertStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2779; + this.match(SqlParser.INSERT); + this.state = 2781; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DELAYED || _la===SqlParser.HIGH_PRIORITY || _la===SqlParser.LOW_PRIORITY) { + this.state = 2780; + localctx.priority = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DELAYED || _la===SqlParser.HIGH_PRIORITY || _la===SqlParser.LOW_PRIORITY)) { + localctx.priority = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2784; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 2783; + this.match(SqlParser.IGNORE); + } + + this.state = 2787; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INTO) { + this.state = 2786; + this.match(SqlParser.INTO); + } + + this.state = 2789; + this.tableName(); + this.state = 2796; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 2790; + this.match(SqlParser.PARTITION); + this.state = 2791; + this.match(SqlParser.LR_BRACKET); + this.state = 2793; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 2792; + localctx.partitions = this.uidList(); + } + + this.state = 2795; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 2814; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SELECT: + case SqlParser.VALUES: + case SqlParser.VALUE: + case SqlParser.LR_BRACKET: + this.state = 2802; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,364,this._ctx); + if(la_===1) { + this.state = 2798; + this.match(SqlParser.LR_BRACKET); + this.state = 2799; + localctx.columns = this.uidList(); + this.state = 2800; + this.match(SqlParser.RR_BRACKET); + + } + this.state = 2804; + this.insertStatementValue(); + break; + case SqlParser.SET: + this.state = 2805; + this.match(SqlParser.SET); + this.state = 2806; + localctx.setFirst = this.updatedElement(); + this.state = 2811; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2807; + this.match(SqlParser.COMMA); + this.state = 2808; + localctx._updatedElement = this.updatedElement(); + localctx.setElements.push(localctx._updatedElement); + this.state = 2813; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2828; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ON) { + this.state = 2816; + this.match(SqlParser.ON); + this.state = 2817; + this.match(SqlParser.DUPLICATE); + this.state = 2818; + this.match(SqlParser.KEY); + this.state = 2819; + this.match(SqlParser.UPDATE); + this.state = 2820; + localctx.duplicatedFirst = this.updatedElement(); + this.state = 2825; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2821; + this.match(SqlParser.COMMA); + this.state = 2822; + localctx._updatedElement = this.updatedElement(); + localctx.duplicatedElements.push(localctx._updatedElement); + this.state = 2827; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LoadDataStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_loadDataStatement; + this.priority = null; // Token + this.filename = null; // Token + this.violation = null; // Token + this.charset = null; // CharsetNameContext + this.fieldsFormat = null; // Token + this.linesFormat = null; // Token + return this; +} + +LoadDataStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LoadDataStatementContext.prototype.constructor = LoadDataStatementContext; + +LoadDataStatementContext.prototype.LOAD = function() { + return this.getToken(SqlParser.LOAD, 0); +}; + +LoadDataStatementContext.prototype.DATA = function() { + return this.getToken(SqlParser.DATA, 0); +}; + +LoadDataStatementContext.prototype.INFILE = function() { + return this.getToken(SqlParser.INFILE, 0); +}; + +LoadDataStatementContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +LoadDataStatementContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +LoadDataStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +LoadDataStatementContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +LoadDataStatementContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +LoadDataStatementContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +LoadDataStatementContext.prototype.LR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LR_BRACKET); + } else { + return this.getToken(SqlParser.LR_BRACKET, i); + } +}; + + +LoadDataStatementContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +LoadDataStatementContext.prototype.RR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.RR_BRACKET); + } else { + return this.getToken(SqlParser.RR_BRACKET, i); + } +}; + + +LoadDataStatementContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +LoadDataStatementContext.prototype.SET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.SET); + } else { + return this.getToken(SqlParser.SET, i); + } +}; + + +LoadDataStatementContext.prototype.LINES = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LINES); + } else { + return this.getToken(SqlParser.LINES, i); + } +}; + + +LoadDataStatementContext.prototype.IGNORE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.IGNORE); + } else { + return this.getToken(SqlParser.IGNORE, i); + } +}; + + +LoadDataStatementContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +LoadDataStatementContext.prototype.assignmentField = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(AssignmentFieldContext); + } else { + return this.getTypedRuleContext(AssignmentFieldContext,i); + } +}; + +LoadDataStatementContext.prototype.updatedElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UpdatedElementContext); + } else { + return this.getTypedRuleContext(UpdatedElementContext,i); + } +}; + +LoadDataStatementContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +LoadDataStatementContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +LoadDataStatementContext.prototype.CONCURRENT = function() { + return this.getToken(SqlParser.CONCURRENT, 0); +}; + +LoadDataStatementContext.prototype.REPLACE = function() { + return this.getToken(SqlParser.REPLACE, 0); +}; + +LoadDataStatementContext.prototype.FIELDS = function() { + return this.getToken(SqlParser.FIELDS, 0); +}; + +LoadDataStatementContext.prototype.COLUMNS = function() { + return this.getToken(SqlParser.COLUMNS, 0); +}; + +LoadDataStatementContext.prototype.ROWS = function() { + return this.getToken(SqlParser.ROWS, 0); +}; + +LoadDataStatementContext.prototype.selectFieldsInto = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SelectFieldsIntoContext); + } else { + return this.getTypedRuleContext(SelectFieldsIntoContext,i); + } +}; + +LoadDataStatementContext.prototype.selectLinesInto = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SelectLinesIntoContext); + } else { + return this.getTypedRuleContext(SelectLinesIntoContext,i); + } +}; + +LoadDataStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +LoadDataStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLoadDataStatement(this); + } +}; + +LoadDataStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLoadDataStatement(this); + } +}; + +LoadDataStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLoadDataStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LoadDataStatementContext = LoadDataStatementContext; + +SqlParser.prototype.loadDataStatement = function() { + + var localctx = new LoadDataStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 174, SqlParser.RULE_loadDataStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2830; + this.match(SqlParser.LOAD); + this.state = 2831; + this.match(SqlParser.DATA); + this.state = 2833; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOW_PRIORITY || _la===SqlParser.CONCURRENT) { + this.state = 2832; + localctx.priority = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.LOW_PRIORITY || _la===SqlParser.CONCURRENT)) { + localctx.priority = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2836; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOCAL) { + this.state = 2835; + this.match(SqlParser.LOCAL); + } + + this.state = 2838; + this.match(SqlParser.INFILE); + this.state = 2839; + localctx.filename = this.match(SqlParser.STRING_LITERAL); + this.state = 2841; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE || _la===SqlParser.REPLACE) { + this.state = 2840; + localctx.violation = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.IGNORE || _la===SqlParser.REPLACE)) { + localctx.violation = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2843; + this.match(SqlParser.INTO); + this.state = 2844; + this.match(SqlParser.TABLE); + this.state = 2845; + this.tableName(); + this.state = 2851; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 2846; + this.match(SqlParser.PARTITION); + this.state = 2847; + this.match(SqlParser.LR_BRACKET); + this.state = 2848; + this.uidList(); + this.state = 2849; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 2856; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CHARACTER) { + this.state = 2853; + this.match(SqlParser.CHARACTER); + this.state = 2854; + this.match(SqlParser.SET); + this.state = 2855; + localctx.charset = this.charsetName(); + } + + this.state = 2864; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLUMNS || _la===SqlParser.FIELDS) { + this.state = 2858; + localctx.fieldsFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.COLUMNS || _la===SqlParser.FIELDS)) { + localctx.fieldsFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2860; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2859; + this.selectFieldsInto(); + this.state = 2862; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.ENCLOSED || _la===SqlParser.ESCAPED || _la===SqlParser.OPTIONALLY || _la===SqlParser.TERMINATED); + } + + this.state = 2872; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LINES) { + this.state = 2866; + this.match(SqlParser.LINES); + this.state = 2868; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2867; + this.selectLinesInto(); + this.state = 2870; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.STARTING || _la===SqlParser.TERMINATED); + } + + this.state = 2878; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 2874; + this.match(SqlParser.IGNORE); + this.state = 2875; + this.decimalLiteral(); + this.state = 2876; + localctx.linesFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.LINES || _la===SqlParser.ROWS)) { + localctx.linesFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2891; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,380,this._ctx); + if(la_===1) { + this.state = 2880; + this.match(SqlParser.LR_BRACKET); + this.state = 2881; + this.assignmentField(); + this.state = 2886; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2882; + this.match(SqlParser.COMMA); + this.state = 2883; + this.assignmentField(); + this.state = 2888; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2889; + this.match(SqlParser.RR_BRACKET); + + } + this.state = 2902; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,382,this._ctx); + if(la_===1) { + this.state = 2893; + this.match(SqlParser.SET); + this.state = 2894; + this.updatedElement(); + this.state = 2899; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2895; + this.match(SqlParser.COMMA); + this.state = 2896; + this.updatedElement(); + this.state = 2901; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LoadXmlStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_loadXmlStatement; + this.priority = null; // Token + this.filename = null; // Token + this.violation = null; // Token + this.charset = null; // CharsetNameContext + this.tag = null; // Token + this.linesFormat = null; // Token + return this; +} + +LoadXmlStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LoadXmlStatementContext.prototype.constructor = LoadXmlStatementContext; + +LoadXmlStatementContext.prototype.LOAD = function() { + return this.getToken(SqlParser.LOAD, 0); +}; + +LoadXmlStatementContext.prototype.XML = function() { + return this.getToken(SqlParser.XML, 0); +}; + +LoadXmlStatementContext.prototype.INFILE = function() { + return this.getToken(SqlParser.INFILE, 0); +}; + +LoadXmlStatementContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +LoadXmlStatementContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +LoadXmlStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +LoadXmlStatementContext.prototype.STRING_LITERAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.STRING_LITERAL); + } else { + return this.getToken(SqlParser.STRING_LITERAL, i); + } +}; + + +LoadXmlStatementContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +LoadXmlStatementContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +LoadXmlStatementContext.prototype.SET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.SET); + } else { + return this.getToken(SqlParser.SET, i); + } +}; + + +LoadXmlStatementContext.prototype.ROWS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.ROWS); + } else { + return this.getToken(SqlParser.ROWS, i); + } +}; + + +LoadXmlStatementContext.prototype.IDENTIFIED = function() { + return this.getToken(SqlParser.IDENTIFIED, 0); +}; + +LoadXmlStatementContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +LoadXmlStatementContext.prototype.LESS_SYMBOL = function() { + return this.getToken(SqlParser.LESS_SYMBOL, 0); +}; + +LoadXmlStatementContext.prototype.GREATER_SYMBOL = function() { + return this.getToken(SqlParser.GREATER_SYMBOL, 0); +}; + +LoadXmlStatementContext.prototype.IGNORE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.IGNORE); + } else { + return this.getToken(SqlParser.IGNORE, i); + } +}; + + +LoadXmlStatementContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +LoadXmlStatementContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +LoadXmlStatementContext.prototype.assignmentField = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(AssignmentFieldContext); + } else { + return this.getTypedRuleContext(AssignmentFieldContext,i); + } +}; + +LoadXmlStatementContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +LoadXmlStatementContext.prototype.updatedElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UpdatedElementContext); + } else { + return this.getTypedRuleContext(UpdatedElementContext,i); + } +}; + +LoadXmlStatementContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +LoadXmlStatementContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +LoadXmlStatementContext.prototype.CONCURRENT = function() { + return this.getToken(SqlParser.CONCURRENT, 0); +}; + +LoadXmlStatementContext.prototype.REPLACE = function() { + return this.getToken(SqlParser.REPLACE, 0); +}; + +LoadXmlStatementContext.prototype.LINES = function() { + return this.getToken(SqlParser.LINES, 0); +}; + +LoadXmlStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +LoadXmlStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLoadXmlStatement(this); + } +}; + +LoadXmlStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLoadXmlStatement(this); + } +}; + +LoadXmlStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLoadXmlStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LoadXmlStatementContext = LoadXmlStatementContext; + +SqlParser.prototype.loadXmlStatement = function() { + + var localctx = new LoadXmlStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 176, SqlParser.RULE_loadXmlStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2904; + this.match(SqlParser.LOAD); + this.state = 2905; + this.match(SqlParser.XML); + this.state = 2907; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOW_PRIORITY || _la===SqlParser.CONCURRENT) { + this.state = 2906; + localctx.priority = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.LOW_PRIORITY || _la===SqlParser.CONCURRENT)) { + localctx.priority = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2910; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOCAL) { + this.state = 2909; + this.match(SqlParser.LOCAL); + } + + this.state = 2912; + this.match(SqlParser.INFILE); + this.state = 2913; + localctx.filename = this.match(SqlParser.STRING_LITERAL); + this.state = 2915; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE || _la===SqlParser.REPLACE) { + this.state = 2914; + localctx.violation = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.IGNORE || _la===SqlParser.REPLACE)) { + localctx.violation = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2917; + this.match(SqlParser.INTO); + this.state = 2918; + this.match(SqlParser.TABLE); + this.state = 2919; + this.tableName(); + this.state = 2923; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CHARACTER) { + this.state = 2920; + this.match(SqlParser.CHARACTER); + this.state = 2921; + this.match(SqlParser.SET); + this.state = 2922; + localctx.charset = this.charsetName(); + } + + this.state = 2931; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ROWS) { + this.state = 2925; + this.match(SqlParser.ROWS); + this.state = 2926; + this.match(SqlParser.IDENTIFIED); + this.state = 2927; + this.match(SqlParser.BY); + this.state = 2928; + this.match(SqlParser.LESS_SYMBOL); + this.state = 2929; + localctx.tag = this.match(SqlParser.STRING_LITERAL); + this.state = 2930; + this.match(SqlParser.GREATER_SYMBOL); + } + + this.state = 2937; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 2933; + this.match(SqlParser.IGNORE); + this.state = 2934; + this.decimalLiteral(); + this.state = 2935; + localctx.linesFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.LINES || _la===SqlParser.ROWS)) { + localctx.linesFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2950; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,390,this._ctx); + if(la_===1) { + this.state = 2939; + this.match(SqlParser.LR_BRACKET); + this.state = 2940; + this.assignmentField(); + this.state = 2945; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2941; + this.match(SqlParser.COMMA); + this.state = 2942; + this.assignmentField(); + this.state = 2947; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2948; + this.match(SqlParser.RR_BRACKET); + + } + this.state = 2961; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,392,this._ctx); + if(la_===1) { + this.state = 2952; + this.match(SqlParser.SET); + this.state = 2953; + this.updatedElement(); + this.state = 2958; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2954; + this.match(SqlParser.COMMA); + this.state = 2955; + this.updatedElement(); + this.state = 2960; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ReplaceStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_replaceStatement; + this.priority = null; // Token + this.partitions = null; // UidListContext + this.columns = null; // UidListContext + this.setFirst = null; // UpdatedElementContext + this._updatedElement = null; // UpdatedElementContext + this.setElements = []; // of UpdatedElementContexts + return this; +} + +ReplaceStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ReplaceStatementContext.prototype.constructor = ReplaceStatementContext; + +ReplaceStatementContext.prototype.REPLACE = function() { + return this.getToken(SqlParser.REPLACE, 0); +}; + +ReplaceStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +ReplaceStatementContext.prototype.insertStatementValue = function() { + return this.getTypedRuleContext(InsertStatementValueContext,0); +}; + +ReplaceStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +ReplaceStatementContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +ReplaceStatementContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +ReplaceStatementContext.prototype.LR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LR_BRACKET); + } else { + return this.getToken(SqlParser.LR_BRACKET, i); + } +}; + + +ReplaceStatementContext.prototype.RR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.RR_BRACKET); + } else { + return this.getToken(SqlParser.RR_BRACKET, i); + } +}; + + +ReplaceStatementContext.prototype.updatedElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UpdatedElementContext); + } else { + return this.getTypedRuleContext(UpdatedElementContext,i); + } +}; + +ReplaceStatementContext.prototype.uidList = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidListContext); + } else { + return this.getTypedRuleContext(UidListContext,i); + } +}; + +ReplaceStatementContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +ReplaceStatementContext.prototype.DELAYED = function() { + return this.getToken(SqlParser.DELAYED, 0); +}; + +ReplaceStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ReplaceStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterReplaceStatement(this); + } +}; + +ReplaceStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitReplaceStatement(this); + } +}; + +ReplaceStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitReplaceStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ReplaceStatementContext = ReplaceStatementContext; + +SqlParser.prototype.replaceStatement = function() { + + var localctx = new ReplaceStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 178, SqlParser.RULE_replaceStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2963; + this.match(SqlParser.REPLACE); + this.state = 2965; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DELAYED || _la===SqlParser.LOW_PRIORITY) { + this.state = 2964; + localctx.priority = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DELAYED || _la===SqlParser.LOW_PRIORITY)) { + localctx.priority = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2968; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INTO) { + this.state = 2967; + this.match(SqlParser.INTO); + } + + this.state = 2970; + this.tableName(); + this.state = 2976; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 2971; + this.match(SqlParser.PARTITION); + this.state = 2972; + this.match(SqlParser.LR_BRACKET); + this.state = 2973; + localctx.partitions = this.uidList(); + this.state = 2974; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 2994; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SELECT: + case SqlParser.VALUES: + case SqlParser.VALUE: + case SqlParser.LR_BRACKET: + this.state = 2982; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,396,this._ctx); + if(la_===1) { + this.state = 2978; + this.match(SqlParser.LR_BRACKET); + this.state = 2979; + localctx.columns = this.uidList(); + this.state = 2980; + this.match(SqlParser.RR_BRACKET); + + } + this.state = 2984; + this.insertStatementValue(); + break; + case SqlParser.SET: + this.state = 2985; + this.match(SqlParser.SET); + this.state = 2986; + localctx.setFirst = this.updatedElement(); + this.state = 2991; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 2987; + this.match(SqlParser.COMMA); + this.state = 2988; + localctx._updatedElement = this.updatedElement(); + localctx.setElements.push(localctx._updatedElement); + this.state = 2993; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SelectStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_selectStatement; + return this; +} + +SelectStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SelectStatementContext.prototype.constructor = SelectStatementContext; + + + +SelectStatementContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function UnionSelectContext(parser, ctx) { + SelectStatementContext.call(this, parser); + this.unionType = null; // Token; + SelectStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +UnionSelectContext.prototype = Object.create(SelectStatementContext.prototype); +UnionSelectContext.prototype.constructor = UnionSelectContext; + +SqlParser.UnionSelectContext = UnionSelectContext; + +UnionSelectContext.prototype.querySpecificationNointo = function() { + return this.getTypedRuleContext(QuerySpecificationNointoContext,0); +}; + +UnionSelectContext.prototype.unionStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UnionStatementContext); + } else { + return this.getTypedRuleContext(UnionStatementContext,i); + } +}; + +UnionSelectContext.prototype.UNION = function() { + return this.getToken(SqlParser.UNION, 0); +}; + +UnionSelectContext.prototype.orderByClause = function() { + return this.getTypedRuleContext(OrderByClauseContext,0); +}; + +UnionSelectContext.prototype.limitClause = function() { + return this.getTypedRuleContext(LimitClauseContext,0); +}; + +UnionSelectContext.prototype.lockClause = function() { + return this.getTypedRuleContext(LockClauseContext,0); +}; + +UnionSelectContext.prototype.querySpecification = function() { + return this.getTypedRuleContext(QuerySpecificationContext,0); +}; + +UnionSelectContext.prototype.queryExpression = function() { + return this.getTypedRuleContext(QueryExpressionContext,0); +}; + +UnionSelectContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +UnionSelectContext.prototype.DISTINCT = function() { + return this.getToken(SqlParser.DISTINCT, 0); +}; +UnionSelectContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUnionSelect(this); + } +}; + +UnionSelectContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUnionSelect(this); + } +}; + +UnionSelectContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUnionSelect(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function UnionParenthesisSelectContext(parser, ctx) { + SelectStatementContext.call(this, parser); + this.unionType = null; // Token; + SelectStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +UnionParenthesisSelectContext.prototype = Object.create(SelectStatementContext.prototype); +UnionParenthesisSelectContext.prototype.constructor = UnionParenthesisSelectContext; + +SqlParser.UnionParenthesisSelectContext = UnionParenthesisSelectContext; + +UnionParenthesisSelectContext.prototype.queryExpressionNointo = function() { + return this.getTypedRuleContext(QueryExpressionNointoContext,0); +}; + +UnionParenthesisSelectContext.prototype.unionParenthesis = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UnionParenthesisContext); + } else { + return this.getTypedRuleContext(UnionParenthesisContext,i); + } +}; + +UnionParenthesisSelectContext.prototype.UNION = function() { + return this.getToken(SqlParser.UNION, 0); +}; + +UnionParenthesisSelectContext.prototype.queryExpression = function() { + return this.getTypedRuleContext(QueryExpressionContext,0); +}; + +UnionParenthesisSelectContext.prototype.orderByClause = function() { + return this.getTypedRuleContext(OrderByClauseContext,0); +}; + +UnionParenthesisSelectContext.prototype.limitClause = function() { + return this.getTypedRuleContext(LimitClauseContext,0); +}; + +UnionParenthesisSelectContext.prototype.lockClause = function() { + return this.getTypedRuleContext(LockClauseContext,0); +}; + +UnionParenthesisSelectContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +UnionParenthesisSelectContext.prototype.DISTINCT = function() { + return this.getToken(SqlParser.DISTINCT, 0); +}; +UnionParenthesisSelectContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUnionParenthesisSelect(this); + } +}; + +UnionParenthesisSelectContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUnionParenthesisSelect(this); + } +}; + +UnionParenthesisSelectContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUnionParenthesisSelect(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SimpleSelectContext(parser, ctx) { + SelectStatementContext.call(this, parser); + SelectStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SimpleSelectContext.prototype = Object.create(SelectStatementContext.prototype); +SimpleSelectContext.prototype.constructor = SimpleSelectContext; + +SqlParser.SimpleSelectContext = SimpleSelectContext; + +SimpleSelectContext.prototype.querySpecification = function() { + return this.getTypedRuleContext(QuerySpecificationContext,0); +}; + +SimpleSelectContext.prototype.lockClause = function() { + return this.getTypedRuleContext(LockClauseContext,0); +}; +SimpleSelectContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleSelect(this); + } +}; + +SimpleSelectContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleSelect(this); + } +}; + +SimpleSelectContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleSelect(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ParenthesisSelectContext(parser, ctx) { + SelectStatementContext.call(this, parser); + SelectStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ParenthesisSelectContext.prototype = Object.create(SelectStatementContext.prototype); +ParenthesisSelectContext.prototype.constructor = ParenthesisSelectContext; + +SqlParser.ParenthesisSelectContext = ParenthesisSelectContext; + +ParenthesisSelectContext.prototype.queryExpression = function() { + return this.getTypedRuleContext(QueryExpressionContext,0); +}; + +ParenthesisSelectContext.prototype.lockClause = function() { + return this.getTypedRuleContext(LockClauseContext,0); +}; +ParenthesisSelectContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterParenthesisSelect(this); + } +}; + +ParenthesisSelectContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitParenthesisSelect(this); + } +}; + +ParenthesisSelectContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitParenthesisSelect(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.SelectStatementContext = SelectStatementContext; + +SqlParser.prototype.selectStatement = function() { + + var localctx = new SelectStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 180, SqlParser.RULE_selectStatement); + var _la = 0; // Token type + try { + this.state = 3051; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,414,this._ctx); + switch(la_) { + case 1: + localctx = new SimpleSelectContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 2996; + this.querySpecification(); + this.state = 2998; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,399,this._ctx); + if(la_===1) { + this.state = 2997; + this.lockClause(); + + } + break; + + case 2: + localctx = new ParenthesisSelectContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3000; + this.queryExpression(); + this.state = 3002; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,400,this._ctx); + if(la_===1) { + this.state = 3001; + this.lockClause(); + + } + break; + + case 3: + localctx = new UnionSelectContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 3004; + this.querySpecificationNointo(); + this.state = 3006; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 3005; + this.unionStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3008; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,401, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 3018; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.UNION) { + this.state = 3010; + this.match(SqlParser.UNION); + this.state = 3012; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALL || _la===SqlParser.DISTINCT) { + this.state = 3011; + localctx.unionType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ALL || _la===SqlParser.DISTINCT)) { + localctx.unionType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 3016; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SELECT: + this.state = 3014; + this.querySpecification(); + break; + case SqlParser.LR_BRACKET: + this.state = 3015; + this.queryExpression(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + + this.state = 3021; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ORDER) { + this.state = 3020; + this.orderByClause(); + } + + this.state = 3024; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIMIT) { + this.state = 3023; + this.limitClause(); + } + + this.state = 3027; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,407,this._ctx); + if(la_===1) { + this.state = 3026; + this.lockClause(); + + } + break; + + case 4: + localctx = new UnionParenthesisSelectContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 3029; + this.queryExpressionNointo(); + this.state = 3031; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 3030; + this.unionParenthesis(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3033; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,408, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 3040; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.UNION) { + this.state = 3035; + this.match(SqlParser.UNION); + this.state = 3037; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALL || _la===SqlParser.DISTINCT) { + this.state = 3036; + localctx.unionType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ALL || _la===SqlParser.DISTINCT)) { + localctx.unionType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 3039; + this.queryExpression(); + } + + this.state = 3043; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ORDER) { + this.state = 3042; + this.orderByClause(); + } + + this.state = 3046; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIMIT) { + this.state = 3045; + this.limitClause(); + } + + this.state = 3049; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,413,this._ctx); + if(la_===1) { + this.state = 3048; + this.lockClause(); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UpdateStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_updateStatement; + return this; +} + +UpdateStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UpdateStatementContext.prototype.constructor = UpdateStatementContext; + +UpdateStatementContext.prototype.singleUpdateStatement = function() { + return this.getTypedRuleContext(SingleUpdateStatementContext,0); +}; + +UpdateStatementContext.prototype.multipleUpdateStatement = function() { + return this.getTypedRuleContext(MultipleUpdateStatementContext,0); +}; + +UpdateStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUpdateStatement(this); + } +}; + +UpdateStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUpdateStatement(this); + } +}; + +UpdateStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUpdateStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UpdateStatementContext = UpdateStatementContext; + +SqlParser.prototype.updateStatement = function() { + + var localctx = new UpdateStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 182, SqlParser.RULE_updateStatement); + try { + this.state = 3055; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,415,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3053; + this.singleUpdateStatement(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3054; + this.multipleUpdateStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function InsertStatementValueContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_insertStatementValue; + this.insertFormat = null; // Token + return this; +} + +InsertStatementValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +InsertStatementValueContext.prototype.constructor = InsertStatementValueContext; + +InsertStatementValueContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +InsertStatementValueContext.prototype.LR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LR_BRACKET); + } else { + return this.getToken(SqlParser.LR_BRACKET, i); + } +}; + + +InsertStatementValueContext.prototype.RR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.RR_BRACKET); + } else { + return this.getToken(SqlParser.RR_BRACKET, i); + } +}; + + +InsertStatementValueContext.prototype.VALUES = function() { + return this.getToken(SqlParser.VALUES, 0); +}; + +InsertStatementValueContext.prototype.VALUE = function() { + return this.getToken(SqlParser.VALUE, 0); +}; + +InsertStatementValueContext.prototype.expressionsWithDefaults = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionsWithDefaultsContext); + } else { + return this.getTypedRuleContext(ExpressionsWithDefaultsContext,i); + } +}; + +InsertStatementValueContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +InsertStatementValueContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterInsertStatementValue(this); + } +}; + +InsertStatementValueContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitInsertStatementValue(this); + } +}; + +InsertStatementValueContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitInsertStatementValue(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.InsertStatementValueContext = InsertStatementValueContext; + +SqlParser.prototype.insertStatementValue = function() { + + var localctx = new InsertStatementValueContext(this, this._ctx, this.state); + this.enterRule(localctx, 184, SqlParser.RULE_insertStatementValue); + var _la = 0; // Token type + try { + this.state = 3075; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SELECT: + case SqlParser.LR_BRACKET: + this.enterOuterAlt(localctx, 1); + this.state = 3057; + this.selectStatement(); + break; + case SqlParser.VALUES: + case SqlParser.VALUE: + this.enterOuterAlt(localctx, 2); + this.state = 3058; + localctx.insertFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.VALUES || _la===SqlParser.VALUE)) { + localctx.insertFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3059; + this.match(SqlParser.LR_BRACKET); + this.state = 3061; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SqlParser.CASE) | (1 << SqlParser.CAST) | (1 << SqlParser.CONVERT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.CURRENT_USER - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DEFAULT - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)) | (1 << (SqlParser.EXISTS - 32)) | (1 << (SqlParser.FALSE - 32)))) !== 0) || ((((_la - 69)) & ~0x1f) == 0 && ((1 << (_la - 69)) & ((1 << (SqlParser.IF - 69)) | (1 << (SqlParser.INSERT - 69)) | (1 << (SqlParser.INTERVAL - 69)) | (1 << (SqlParser.LEFT - 69)))) !== 0) || ((((_la - 102)) & ~0x1f) == 0 && ((1 << (_la - 102)) & ((1 << (SqlParser.NOT - 102)) | (1 << (SqlParser.NULL_LITERAL - 102)) | (1 << (SqlParser.NUMBER - 102)) | (1 << (SqlParser.REPLACE - 102)) | (1 << (SqlParser.RIGHT - 102)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (SqlParser.STACKED - 151)) | (1 << (SqlParser.TRUE - 151)) | (1 << (SqlParser.VALUES - 151)))) !== 0) || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.CHAR - 199)) | (1 << (SqlParser.BINARY - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.AVG - 233)) | (1 << (SqlParser.BIT_AND - 233)) | (1 << (SqlParser.BIT_OR - 233)) | (1 << (SqlParser.BIT_XOR - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.GROUP_CONCAT - 233)) | (1 << (SqlParser.MAX - 233)) | (1 << (SqlParser.MIN - 233)) | (1 << (SqlParser.STD - 233)) | (1 << (SqlParser.STDDEV - 233)) | (1 << (SqlParser.STDDEV_POP - 233)) | (1 << (SqlParser.STDDEV_SAMP - 233)) | (1 << (SqlParser.SUM - 233)) | (1 << (SqlParser.VAR_POP - 233)) | (1 << (SqlParser.VAR_SAMP - 233)) | (1 << (SqlParser.VARIANCE - 233)) | (1 << (SqlParser.CURRENT_DATE - 233)) | (1 << (SqlParser.CURRENT_TIME - 233)) | (1 << (SqlParser.CURRENT_TIMESTAMP - 233)) | (1 << (SqlParser.LOCALTIME - 233)) | (1 << (SqlParser.CURDATE - 233)) | (1 << (SqlParser.CURTIME - 233)) | (1 << (SqlParser.DATE_ADD - 233)) | (1 << (SqlParser.DATE_SUB - 233)) | (1 << (SqlParser.EXTRACT - 233)) | (1 << (SqlParser.LOCALTIMESTAMP - 233)) | (1 << (SqlParser.NOW - 233)) | (1 << (SqlParser.POSITION - 233)) | (1 << (SqlParser.SUBSTR - 233)) | (1 << (SqlParser.SUBSTRING - 233)))) !== 0) || ((((_la - 265)) & ~0x1f) == 0 && ((1 << (_la - 265)) & ((1 << (SqlParser.SYSDATE - 265)) | (1 << (SqlParser.TRIM - 265)) | (1 << (SqlParser.UTC_DATE - 265)) | (1 << (SqlParser.UTC_TIME - 265)) | (1 << (SqlParser.UTC_TIMESTAMP - 265)) | (1 << (SqlParser.ACCOUNT - 265)) | (1 << (SqlParser.ACTION - 265)) | (1 << (SqlParser.AFTER - 265)) | (1 << (SqlParser.AGGREGATE - 265)) | (1 << (SqlParser.ALGORITHM - 265)) | (1 << (SqlParser.ANY - 265)) | (1 << (SqlParser.AT - 265)) | (1 << (SqlParser.AUTHORS - 265)) | (1 << (SqlParser.AUTOCOMMIT - 265)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 265)) | (1 << (SqlParser.AUTO_INCREMENT - 265)) | (1 << (SqlParser.AVG_ROW_LENGTH - 265)) | (1 << (SqlParser.BEGIN - 265)) | (1 << (SqlParser.BINLOG - 265)) | (1 << (SqlParser.BIT - 265)) | (1 << (SqlParser.BLOCK - 265)) | (1 << (SqlParser.BOOL - 265)) | (1 << (SqlParser.BOOLEAN - 265)) | (1 << (SqlParser.BTREE - 265)) | (1 << (SqlParser.CACHE - 265)) | (1 << (SqlParser.CASCADED - 265)) | (1 << (SqlParser.CHAIN - 265)) | (1 << (SqlParser.CHANGED - 265)) | (1 << (SqlParser.CHANNEL - 265)) | (1 << (SqlParser.CHECKSUM - 265)) | (1 << (SqlParser.PAGE_CHECKSUM - 265)) | (1 << (SqlParser.CIPHER - 265)))) !== 0) || ((((_la - 297)) & ~0x1f) == 0 && ((1 << (_la - 297)) & ((1 << (SqlParser.CLASS_ORIGIN - 297)) | (1 << (SqlParser.CLIENT - 297)) | (1 << (SqlParser.CLOSE - 297)) | (1 << (SqlParser.COALESCE - 297)) | (1 << (SqlParser.CODE - 297)) | (1 << (SqlParser.COLUMNS - 297)) | (1 << (SqlParser.COLUMN_FORMAT - 297)) | (1 << (SqlParser.COLUMN_NAME - 297)) | (1 << (SqlParser.COMMENT - 297)) | (1 << (SqlParser.COMMIT - 297)) | (1 << (SqlParser.COMPACT - 297)) | (1 << (SqlParser.COMPLETION - 297)) | (1 << (SqlParser.COMPRESSED - 297)) | (1 << (SqlParser.COMPRESSION - 297)) | (1 << (SqlParser.CONCURRENT - 297)) | (1 << (SqlParser.CONNECTION - 297)) | (1 << (SqlParser.CONSISTENT - 297)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 297)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 297)) | (1 << (SqlParser.CONSTRAINT_NAME - 297)) | (1 << (SqlParser.CONTAINS - 297)) | (1 << (SqlParser.CONTEXT - 297)) | (1 << (SqlParser.CONTRIBUTORS - 297)) | (1 << (SqlParser.COPY - 297)) | (1 << (SqlParser.CPU - 297)) | (1 << (SqlParser.CURSOR_NAME - 297)) | (1 << (SqlParser.DATA - 297)) | (1 << (SqlParser.DATAFILE - 297)) | (1 << (SqlParser.DEALLOCATE - 297)) | (1 << (SqlParser.DEFAULT_AUTH - 297)) | (1 << (SqlParser.DEFINER - 297)) | (1 << (SqlParser.DELAY_KEY_WRITE - 297)))) !== 0) || ((((_la - 329)) & ~0x1f) == 0 && ((1 << (_la - 329)) & ((1 << (SqlParser.DES_KEY_FILE - 329)) | (1 << (SqlParser.DIRECTORY - 329)) | (1 << (SqlParser.DISABLE - 329)) | (1 << (SqlParser.DISCARD - 329)) | (1 << (SqlParser.DISK - 329)) | (1 << (SqlParser.DO - 329)) | (1 << (SqlParser.DUMPFILE - 329)) | (1 << (SqlParser.DUPLICATE - 329)) | (1 << (SqlParser.DYNAMIC - 329)) | (1 << (SqlParser.ENABLE - 329)) | (1 << (SqlParser.ENCRYPTION - 329)) | (1 << (SqlParser.END - 329)) | (1 << (SqlParser.ENDS - 329)) | (1 << (SqlParser.ENGINE - 329)) | (1 << (SqlParser.ENGINES - 329)) | (1 << (SqlParser.ERROR - 329)) | (1 << (SqlParser.ERRORS - 329)) | (1 << (SqlParser.ESCAPE - 329)) | (1 << (SqlParser.EVEN - 329)) | (1 << (SqlParser.EVENT - 329)) | (1 << (SqlParser.EVENTS - 329)) | (1 << (SqlParser.EVERY - 329)) | (1 << (SqlParser.EXCHANGE - 329)) | (1 << (SqlParser.EXCLUSIVE - 329)) | (1 << (SqlParser.EXPIRE - 329)) | (1 << (SqlParser.EXPORT - 329)) | (1 << (SqlParser.EXTENDED - 329)) | (1 << (SqlParser.EXTENT_SIZE - 329)) | (1 << (SqlParser.FAST - 329)) | (1 << (SqlParser.FAULTS - 329)) | (1 << (SqlParser.FIELDS - 329)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 329)))) !== 0) || ((((_la - 361)) & ~0x1f) == 0 && ((1 << (_la - 361)) & ((1 << (SqlParser.FILTER - 361)) | (1 << (SqlParser.FIRST - 361)) | (1 << (SqlParser.FIXED - 361)) | (1 << (SqlParser.FLUSH - 361)) | (1 << (SqlParser.FOLLOWS - 361)) | (1 << (SqlParser.FOUND - 361)) | (1 << (SqlParser.FULL - 361)) | (1 << (SqlParser.FUNCTION - 361)) | (1 << (SqlParser.GENERAL - 361)) | (1 << (SqlParser.GLOBAL - 361)) | (1 << (SqlParser.GRANTS - 361)) | (1 << (SqlParser.GROUP_REPLICATION - 361)) | (1 << (SqlParser.HANDLER - 361)) | (1 << (SqlParser.HASH - 361)) | (1 << (SqlParser.HELP - 361)) | (1 << (SqlParser.HOST - 361)) | (1 << (SqlParser.HOSTS - 361)) | (1 << (SqlParser.IDENTIFIED - 361)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 361)) | (1 << (SqlParser.IMPORT - 361)) | (1 << (SqlParser.INDEXES - 361)) | (1 << (SqlParser.INITIAL_SIZE - 361)) | (1 << (SqlParser.INPLACE - 361)) | (1 << (SqlParser.INSERT_METHOD - 361)) | (1 << (SqlParser.INSTALL - 361)) | (1 << (SqlParser.INSTANCE - 361)) | (1 << (SqlParser.INVISIBLE - 361)) | (1 << (SqlParser.INVOKER - 361)) | (1 << (SqlParser.IO - 361)) | (1 << (SqlParser.IO_THREAD - 361)) | (1 << (SqlParser.IPC - 361)) | (1 << (SqlParser.ISOLATION - 361)))) !== 0) || ((((_la - 393)) & ~0x1f) == 0 && ((1 << (_la - 393)) & ((1 << (SqlParser.ISSUER - 393)) | (1 << (SqlParser.JSON - 393)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 393)) | (1 << (SqlParser.LANGUAGE - 393)) | (1 << (SqlParser.LAST - 393)) | (1 << (SqlParser.LEAVES - 393)) | (1 << (SqlParser.LESS - 393)) | (1 << (SqlParser.LEVEL - 393)) | (1 << (SqlParser.LIST - 393)) | (1 << (SqlParser.LOCAL - 393)) | (1 << (SqlParser.LOGFILE - 393)) | (1 << (SqlParser.LOGS - 393)) | (1 << (SqlParser.MASTER - 393)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 393)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 393)) | (1 << (SqlParser.MASTER_DELAY - 393)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 393)) | (1 << (SqlParser.MASTER_HOST - 393)) | (1 << (SqlParser.MASTER_LOG_FILE - 393)) | (1 << (SqlParser.MASTER_LOG_POS - 393)) | (1 << (SqlParser.MASTER_PASSWORD - 393)) | (1 << (SqlParser.MASTER_PORT - 393)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 393)) | (1 << (SqlParser.MASTER_SSL - 393)) | (1 << (SqlParser.MASTER_SSL_CA - 393)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 393)) | (1 << (SqlParser.MASTER_SSL_CERT - 393)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 393)) | (1 << (SqlParser.MASTER_SSL_CRL - 393)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 393)) | (1 << (SqlParser.MASTER_SSL_KEY - 393)) | (1 << (SqlParser.MASTER_TLS_VERSION - 393)))) !== 0) || ((((_la - 425)) & ~0x1f) == 0 && ((1 << (_la - 425)) & ((1 << (SqlParser.MASTER_USER - 425)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 425)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 425)) | (1 << (SqlParser.MAX_ROWS - 425)) | (1 << (SqlParser.MAX_SIZE - 425)) | (1 << (SqlParser.MAX_UPDATES_PER_HOUR - 425)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 425)) | (1 << (SqlParser.MEDIUM - 425)) | (1 << (SqlParser.MERGE - 425)) | (1 << (SqlParser.MESSAGE_TEXT - 425)) | (1 << (SqlParser.MID - 425)) | (1 << (SqlParser.MIGRATE - 425)) | (1 << (SqlParser.MIN_ROWS - 425)) | (1 << (SqlParser.MODE - 425)) | (1 << (SqlParser.MODIFY - 425)) | (1 << (SqlParser.MUTEX - 425)) | (1 << (SqlParser.MYSQL - 425)) | (1 << (SqlParser.MYSQL_ERRNO - 425)) | (1 << (SqlParser.NAME - 425)) | (1 << (SqlParser.NAMES - 425)) | (1 << (SqlParser.NCHAR - 425)) | (1 << (SqlParser.NEVER - 425)) | (1 << (SqlParser.NEXT - 425)) | (1 << (SqlParser.NO - 425)) | (1 << (SqlParser.NODEGROUP - 425)) | (1 << (SqlParser.NONE - 425)) | (1 << (SqlParser.OFFLINE - 425)) | (1 << (SqlParser.OFFSET - 425)) | (1 << (SqlParser.OJ - 425)) | (1 << (SqlParser.OLD_PASSWORD - 425)) | (1 << (SqlParser.ONE - 425)) | (1 << (SqlParser.ONLINE - 425)))) !== 0) || ((((_la - 457)) & ~0x1f) == 0 && ((1 << (_la - 457)) & ((1 << (SqlParser.ONLY - 457)) | (1 << (SqlParser.OPEN - 457)) | (1 << (SqlParser.OPTIMIZER_COSTS - 457)) | (1 << (SqlParser.OPTIONS - 457)) | (1 << (SqlParser.OWNER - 457)) | (1 << (SqlParser.PACK_KEYS - 457)) | (1 << (SqlParser.PAGE - 457)) | (1 << (SqlParser.PARSER - 457)) | (1 << (SqlParser.PARTIAL - 457)) | (1 << (SqlParser.PARTITIONING - 457)) | (1 << (SqlParser.PARTITIONS - 457)) | (1 << (SqlParser.PASSWORD - 457)) | (1 << (SqlParser.PHASE - 457)) | (1 << (SqlParser.PLUGIN - 457)) | (1 << (SqlParser.PLUGIN_DIR - 457)) | (1 << (SqlParser.PLUGINS - 457)) | (1 << (SqlParser.PORT - 457)) | (1 << (SqlParser.PRECEDES - 457)) | (1 << (SqlParser.PREPARE - 457)) | (1 << (SqlParser.PRESERVE - 457)) | (1 << (SqlParser.PREV - 457)) | (1 << (SqlParser.PROCESSLIST - 457)) | (1 << (SqlParser.PROFILE - 457)) | (1 << (SqlParser.PROFILES - 457)) | (1 << (SqlParser.PROXY - 457)) | (1 << (SqlParser.QUERY - 457)) | (1 << (SqlParser.QUICK - 457)) | (1 << (SqlParser.REBUILD - 457)) | (1 << (SqlParser.RECOVER - 457)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 457)) | (1 << (SqlParser.REDUNDANT - 457)) | (1 << (SqlParser.RELAY - 457)))) !== 0) || ((((_la - 489)) & ~0x1f) == 0 && ((1 << (_la - 489)) & ((1 << (SqlParser.RELAY_LOG_FILE - 489)) | (1 << (SqlParser.RELAY_LOG_POS - 489)) | (1 << (SqlParser.RELAYLOG - 489)) | (1 << (SqlParser.REMOVE - 489)) | (1 << (SqlParser.REORGANIZE - 489)) | (1 << (SqlParser.REPAIR - 489)) | (1 << (SqlParser.REPLICATE_DO_DB - 489)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 489)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 489)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 489)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 489)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 489)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 489)) | (1 << (SqlParser.REPLICATION - 489)) | (1 << (SqlParser.RESET - 489)) | (1 << (SqlParser.RESUME - 489)) | (1 << (SqlParser.RETURNED_SQLSTATE - 489)) | (1 << (SqlParser.RETURNS - 489)) | (1 << (SqlParser.ROLE - 489)) | (1 << (SqlParser.ROLLBACK - 489)) | (1 << (SqlParser.ROLLUP - 489)) | (1 << (SqlParser.ROTATE - 489)) | (1 << (SqlParser.ROW - 489)) | (1 << (SqlParser.ROWS - 489)) | (1 << (SqlParser.ROW_FORMAT - 489)) | (1 << (SqlParser.SAVEPOINT - 489)) | (1 << (SqlParser.SCHEDULE - 489)) | (1 << (SqlParser.SECURITY - 489)) | (1 << (SqlParser.SERVER - 489)) | (1 << (SqlParser.SESSION - 489)) | (1 << (SqlParser.SHARE - 489)) | (1 << (SqlParser.SHARED - 489)))) !== 0) || ((((_la - 521)) & ~0x1f) == 0 && ((1 << (_la - 521)) & ((1 << (SqlParser.SIGNED - 521)) | (1 << (SqlParser.SIMPLE - 521)) | (1 << (SqlParser.SLAVE - 521)) | (1 << (SqlParser.SLOW - 521)) | (1 << (SqlParser.SNAPSHOT - 521)) | (1 << (SqlParser.SOCKET - 521)) | (1 << (SqlParser.SOME - 521)) | (1 << (SqlParser.SONAME - 521)) | (1 << (SqlParser.SOUNDS - 521)) | (1 << (SqlParser.SOURCE - 521)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 521)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 521)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 521)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 521)) | (1 << (SqlParser.SQL_CACHE - 521)) | (1 << (SqlParser.SQL_NO_CACHE - 521)) | (1 << (SqlParser.SQL_THREAD - 521)) | (1 << (SqlParser.START - 521)) | (1 << (SqlParser.STARTS - 521)) | (1 << (SqlParser.STATS_AUTO_RECALC - 521)) | (1 << (SqlParser.STATS_PERSISTENT - 521)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 521)) | (1 << (SqlParser.STATUS - 521)) | (1 << (SqlParser.STOP - 521)) | (1 << (SqlParser.STORAGE - 521)) | (1 << (SqlParser.STRING - 521)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 521)) | (1 << (SqlParser.SUBJECT - 521)) | (1 << (SqlParser.SUBPARTITION - 521)) | (1 << (SqlParser.SUBPARTITIONS - 521)) | (1 << (SqlParser.SUSPEND - 521)))) !== 0) || ((((_la - 553)) & ~0x1f) == 0 && ((1 << (_la - 553)) & ((1 << (SqlParser.SWAPS - 553)) | (1 << (SqlParser.SWITCHES - 553)) | (1 << (SqlParser.TABLE_NAME - 553)) | (1 << (SqlParser.TABLESPACE - 553)) | (1 << (SqlParser.TEMPORARY - 553)) | (1 << (SqlParser.TEMPTABLE - 553)) | (1 << (SqlParser.THAN - 553)) | (1 << (SqlParser.TRADITIONAL - 553)) | (1 << (SqlParser.TRANSACTION - 553)) | (1 << (SqlParser.TRANSACTIONAL - 553)) | (1 << (SqlParser.TRIGGERS - 553)) | (1 << (SqlParser.TRUNCATE - 553)) | (1 << (SqlParser.UNDEFINED - 553)) | (1 << (SqlParser.UNDOFILE - 553)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 553)) | (1 << (SqlParser.UNINSTALL - 553)) | (1 << (SqlParser.UNKNOWN - 553)) | (1 << (SqlParser.UNTIL - 553)) | (1 << (SqlParser.UPGRADE - 553)) | (1 << (SqlParser.USER - 553)) | (1 << (SqlParser.USE_FRM - 553)) | (1 << (SqlParser.USER_RESOURCES - 553)) | (1 << (SqlParser.VALIDATION - 553)) | (1 << (SqlParser.VALUE - 553)) | (1 << (SqlParser.VARIABLES - 553)) | (1 << (SqlParser.VIEW - 553)) | (1 << (SqlParser.VISIBLE - 553)) | (1 << (SqlParser.WAIT - 553)) | (1 << (SqlParser.WARNINGS - 553)) | (1 << (SqlParser.WITHOUT - 553)) | (1 << (SqlParser.WORK - 553)))) !== 0) || ((((_la - 585)) & ~0x1f) == 0 && ((1 << (_la - 585)) & ((1 << (SqlParser.WRAPPER - 585)) | (1 << (SqlParser.X509 - 585)) | (1 << (SqlParser.XA - 585)) | (1 << (SqlParser.XML - 585)) | (1 << (SqlParser.INTERNAL - 585)) | (1 << (SqlParser.QUARTER - 585)) | (1 << (SqlParser.MONTH - 585)) | (1 << (SqlParser.DAY - 585)) | (1 << (SqlParser.HOUR - 585)) | (1 << (SqlParser.MINUTE - 585)) | (1 << (SqlParser.WEEK - 585)) | (1 << (SqlParser.SECOND - 585)) | (1 << (SqlParser.MICROSECOND - 585)) | (1 << (SqlParser.TABLES - 585)) | (1 << (SqlParser.ROUTINE - 585)) | (1 << (SqlParser.EXECUTE - 585)) | (1 << (SqlParser.FILE - 585)) | (1 << (SqlParser.PROCESS - 585)) | (1 << (SqlParser.RELOAD - 585)) | (1 << (SqlParser.SHUTDOWN - 585)) | (1 << (SqlParser.SUPER - 585)) | (1 << (SqlParser.PRIVILEGES - 585)) | (1 << (SqlParser.AUDIT_ADMIN - 585)) | (1 << (SqlParser.BACKUP_ADMIN - 585)) | (1 << (SqlParser.BINLOG_ADMIN - 585)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 585)) | (1 << (SqlParser.CLONE_ADMIN - 585)))) !== 0) || ((((_la - 617)) & ~0x1f) == 0 && ((1 << (_la - 617)) & ((1 << (SqlParser.CONNECTION_ADMIN - 617)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 617)) | (1 << (SqlParser.FIREWALL_ADMIN - 617)) | (1 << (SqlParser.FIREWALL_USER - 617)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 617)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 617)) | (1 << (SqlParser.NDB_STORED_USER - 617)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.REPLICATION_APPLIER - 617)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 617)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 617)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 617)) | (1 << (SqlParser.ROLE_ADMIN - 617)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.SET_USER_ID - 617)) | (1 << (SqlParser.SHOW_ROUTINE - 617)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 617)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 617)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 617)) | (1 << (SqlParser.ARMSCII8 - 617)) | (1 << (SqlParser.ASCII - 617)) | (1 << (SqlParser.BIG5 - 617)) | (1 << (SqlParser.CP1250 - 617)) | (1 << (SqlParser.CP1251 - 617)) | (1 << (SqlParser.CP1256 - 617)) | (1 << (SqlParser.CP1257 - 617)) | (1 << (SqlParser.CP850 - 617)) | (1 << (SqlParser.CP852 - 617)) | (1 << (SqlParser.CP866 - 617)) | (1 << (SqlParser.CP932 - 617)) | (1 << (SqlParser.DEC8 - 617)))) !== 0) || ((((_la - 649)) & ~0x1f) == 0 && ((1 << (_la - 649)) & ((1 << (SqlParser.EUCJPMS - 649)) | (1 << (SqlParser.EUCKR - 649)) | (1 << (SqlParser.GB2312 - 649)) | (1 << (SqlParser.GBK - 649)) | (1 << (SqlParser.GEOSTD8 - 649)) | (1 << (SqlParser.GREEK - 649)) | (1 << (SqlParser.HEBREW - 649)) | (1 << (SqlParser.HP8 - 649)) | (1 << (SqlParser.KEYBCS2 - 649)) | (1 << (SqlParser.KOI8R - 649)) | (1 << (SqlParser.KOI8U - 649)) | (1 << (SqlParser.LATIN1 - 649)) | (1 << (SqlParser.LATIN2 - 649)) | (1 << (SqlParser.LATIN5 - 649)) | (1 << (SqlParser.LATIN7 - 649)) | (1 << (SqlParser.MACCE - 649)) | (1 << (SqlParser.MACROMAN - 649)) | (1 << (SqlParser.SJIS - 649)) | (1 << (SqlParser.SWE7 - 649)) | (1 << (SqlParser.TIS620 - 649)) | (1 << (SqlParser.UCS2 - 649)) | (1 << (SqlParser.UJIS - 649)) | (1 << (SqlParser.UTF16 - 649)) | (1 << (SqlParser.UTF16LE - 649)) | (1 << (SqlParser.UTF32 - 649)) | (1 << (SqlParser.UTF8 - 649)) | (1 << (SqlParser.UTF8MB3 - 649)) | (1 << (SqlParser.UTF8MB4 - 649)) | (1 << (SqlParser.ARCHIVE - 649)) | (1 << (SqlParser.BLACKHOLE - 649)) | (1 << (SqlParser.CSV - 649)) | (1 << (SqlParser.FEDERATED - 649)))) !== 0) || ((((_la - 681)) & ~0x1f) == 0 && ((1 << (_la - 681)) & ((1 << (SqlParser.INNODB - 681)) | (1 << (SqlParser.MEMORY - 681)) | (1 << (SqlParser.MRG_MYISAM - 681)) | (1 << (SqlParser.MYISAM - 681)) | (1 << (SqlParser.NDB - 681)) | (1 << (SqlParser.NDBCLUSTER - 681)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 681)) | (1 << (SqlParser.TOKUDB - 681)) | (1 << (SqlParser.REPEATABLE - 681)) | (1 << (SqlParser.COMMITTED - 681)) | (1 << (SqlParser.UNCOMMITTED - 681)) | (1 << (SqlParser.SERIALIZABLE - 681)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 681)) | (1 << (SqlParser.LINESTRING - 681)) | (1 << (SqlParser.MULTILINESTRING - 681)) | (1 << (SqlParser.MULTIPOINT - 681)) | (1 << (SqlParser.MULTIPOLYGON - 681)) | (1 << (SqlParser.POINT - 681)) | (1 << (SqlParser.POLYGON - 681)) | (1 << (SqlParser.ABS - 681)) | (1 << (SqlParser.ACOS - 681)) | (1 << (SqlParser.ADDDATE - 681)) | (1 << (SqlParser.ADDTIME - 681)) | (1 << (SqlParser.AES_DECRYPT - 681)) | (1 << (SqlParser.AES_ENCRYPT - 681)) | (1 << (SqlParser.AREA - 681)) | (1 << (SqlParser.ASBINARY - 681)) | (1 << (SqlParser.ASIN - 681)) | (1 << (SqlParser.ASTEXT - 681)) | (1 << (SqlParser.ASWKB - 681)))) !== 0) || ((((_la - 713)) & ~0x1f) == 0 && ((1 << (_la - 713)) & ((1 << (SqlParser.ASWKT - 713)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 713)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 713)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 713)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 713)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 713)) | (1 << (SqlParser.ATAN - 713)) | (1 << (SqlParser.ATAN2 - 713)) | (1 << (SqlParser.BENCHMARK - 713)) | (1 << (SqlParser.BIN - 713)) | (1 << (SqlParser.BIT_COUNT - 713)) | (1 << (SqlParser.BIT_LENGTH - 713)) | (1 << (SqlParser.BUFFER - 713)) | (1 << (SqlParser.CATALOG_NAME - 713)) | (1 << (SqlParser.CEIL - 713)) | (1 << (SqlParser.CEILING - 713)) | (1 << (SqlParser.CENTROID - 713)) | (1 << (SqlParser.CHARACTER_LENGTH - 713)) | (1 << (SqlParser.CHARSET - 713)) | (1 << (SqlParser.CHAR_LENGTH - 713)) | (1 << (SqlParser.COERCIBILITY - 713)) | (1 << (SqlParser.COLLATION - 713)) | (1 << (SqlParser.COMPRESS - 713)) | (1 << (SqlParser.CONCAT - 713)) | (1 << (SqlParser.CONCAT_WS - 713)) | (1 << (SqlParser.CONNECTION_ID - 713)) | (1 << (SqlParser.CONV - 713)) | (1 << (SqlParser.CONVERT_TZ - 713)) | (1 << (SqlParser.COS - 713)) | (1 << (SqlParser.COT - 713)) | (1 << (SqlParser.CRC32 - 713)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 713)))) !== 0) || ((((_la - 745)) & ~0x1f) == 0 && ((1 << (_la - 745)) & ((1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 745)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 745)) | (1 << (SqlParser.CREATE_DIGEST - 745)) | (1 << (SqlParser.CROSSES - 745)) | (1 << (SqlParser.DATEDIFF - 745)) | (1 << (SqlParser.DATE_FORMAT - 745)) | (1 << (SqlParser.DAYNAME - 745)) | (1 << (SqlParser.DAYOFMONTH - 745)) | (1 << (SqlParser.DAYOFWEEK - 745)) | (1 << (SqlParser.DAYOFYEAR - 745)) | (1 << (SqlParser.DECODE - 745)) | (1 << (SqlParser.DEGREES - 745)) | (1 << (SqlParser.DES_DECRYPT - 745)) | (1 << (SqlParser.DES_ENCRYPT - 745)) | (1 << (SqlParser.DIMENSION - 745)) | (1 << (SqlParser.DISJOINT - 745)) | (1 << (SqlParser.ELT - 745)) | (1 << (SqlParser.ENCODE - 745)) | (1 << (SqlParser.ENCRYPT - 745)) | (1 << (SqlParser.ENDPOINT - 745)) | (1 << (SqlParser.ENVELOPE - 745)) | (1 << (SqlParser.EQUALS - 745)) | (1 << (SqlParser.EXP - 745)) | (1 << (SqlParser.EXPORT_SET - 745)) | (1 << (SqlParser.EXTERIORRING - 745)) | (1 << (SqlParser.EXTRACTVALUE - 745)) | (1 << (SqlParser.FIELD - 745)) | (1 << (SqlParser.FIND_IN_SET - 745)) | (1 << (SqlParser.FLOOR - 745)) | (1 << (SqlParser.FORMAT - 745)) | (1 << (SqlParser.FOUND_ROWS - 745)) | (1 << (SqlParser.FROM_BASE64 - 745)))) !== 0) || ((((_la - 777)) & ~0x1f) == 0 && ((1 << (_la - 777)) & ((1 << (SqlParser.FROM_DAYS - 777)) | (1 << (SqlParser.FROM_UNIXTIME - 777)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 777)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 777)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 777)) | (1 << (SqlParser.GEOMETRYFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYN - 777)) | (1 << (SqlParser.GEOMETRYTYPE - 777)) | (1 << (SqlParser.GEOMFROMTEXT - 777)) | (1 << (SqlParser.GEOMFROMWKB - 777)) | (1 << (SqlParser.GET_FORMAT - 777)) | (1 << (SqlParser.GET_LOCK - 777)) | (1 << (SqlParser.GLENGTH - 777)) | (1 << (SqlParser.GREATEST - 777)) | (1 << (SqlParser.GTID_SUBSET - 777)) | (1 << (SqlParser.GTID_SUBTRACT - 777)) | (1 << (SqlParser.HEX - 777)) | (1 << (SqlParser.IFNULL - 777)) | (1 << (SqlParser.INET6_ATON - 777)) | (1 << (SqlParser.INET6_NTOA - 777)) | (1 << (SqlParser.INET_ATON - 777)) | (1 << (SqlParser.INET_NTOA - 777)) | (1 << (SqlParser.INSTR - 777)) | (1 << (SqlParser.INTERIORRINGN - 777)) | (1 << (SqlParser.INTERSECTS - 777)) | (1 << (SqlParser.ISCLOSED - 777)) | (1 << (SqlParser.ISEMPTY - 777)) | (1 << (SqlParser.ISNULL - 777)) | (1 << (SqlParser.ISSIMPLE - 777)) | (1 << (SqlParser.IS_FREE_LOCK - 777)))) !== 0) || ((((_la - 809)) & ~0x1f) == 0 && ((1 << (_la - 809)) & ((1 << (SqlParser.IS_IPV4 - 809)) | (1 << (SqlParser.IS_IPV4_COMPAT - 809)) | (1 << (SqlParser.IS_IPV4_MAPPED - 809)) | (1 << (SqlParser.IS_IPV6 - 809)) | (1 << (SqlParser.IS_USED_LOCK - 809)) | (1 << (SqlParser.LAST_INSERT_ID - 809)) | (1 << (SqlParser.LCASE - 809)) | (1 << (SqlParser.LEAST - 809)) | (1 << (SqlParser.LENGTH - 809)) | (1 << (SqlParser.LINEFROMTEXT - 809)) | (1 << (SqlParser.LINEFROMWKB - 809)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 809)) | (1 << (SqlParser.LINESTRINGFROMWKB - 809)) | (1 << (SqlParser.LN - 809)) | (1 << (SqlParser.LOAD_FILE - 809)) | (1 << (SqlParser.LOCATE - 809)) | (1 << (SqlParser.LOG - 809)) | (1 << (SqlParser.LOG10 - 809)) | (1 << (SqlParser.LOG2 - 809)) | (1 << (SqlParser.LOWER - 809)) | (1 << (SqlParser.LPAD - 809)) | (1 << (SqlParser.LTRIM - 809)) | (1 << (SqlParser.MAKEDATE - 809)) | (1 << (SqlParser.MAKETIME - 809)) | (1 << (SqlParser.MAKE_SET - 809)) | (1 << (SqlParser.MASTER_POS_WAIT - 809)) | (1 << (SqlParser.MBRCONTAINS - 809)) | (1 << (SqlParser.MBRDISJOINT - 809)) | (1 << (SqlParser.MBREQUAL - 809)) | (1 << (SqlParser.MBRINTERSECTS - 809)) | (1 << (SqlParser.MBROVERLAPS - 809)) | (1 << (SqlParser.MBRTOUCHES - 809)))) !== 0) || ((((_la - 841)) & ~0x1f) == 0 && ((1 << (_la - 841)) & ((1 << (SqlParser.MBRWITHIN - 841)) | (1 << (SqlParser.MD5 - 841)) | (1 << (SqlParser.MLINEFROMTEXT - 841)) | (1 << (SqlParser.MLINEFROMWKB - 841)) | (1 << (SqlParser.MONTHNAME - 841)) | (1 << (SqlParser.MPOINTFROMTEXT - 841)) | (1 << (SqlParser.MPOINTFROMWKB - 841)) | (1 << (SqlParser.MPOLYFROMTEXT - 841)) | (1 << (SqlParser.MPOLYFROMWKB - 841)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 841)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 841)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 841)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 841)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 841)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 841)) | (1 << (SqlParser.NAME_CONST - 841)) | (1 << (SqlParser.NULLIF - 841)) | (1 << (SqlParser.NUMGEOMETRIES - 841)) | (1 << (SqlParser.NUMINTERIORRINGS - 841)) | (1 << (SqlParser.NUMPOINTS - 841)) | (1 << (SqlParser.OCT - 841)) | (1 << (SqlParser.OCTET_LENGTH - 841)) | (1 << (SqlParser.ORD - 841)) | (1 << (SqlParser.OVERLAPS - 841)) | (1 << (SqlParser.PERIOD_ADD - 841)) | (1 << (SqlParser.PERIOD_DIFF - 841)) | (1 << (SqlParser.PI - 841)) | (1 << (SqlParser.POINTFROMTEXT - 841)) | (1 << (SqlParser.POINTFROMWKB - 841)) | (1 << (SqlParser.POINTN - 841)) | (1 << (SqlParser.POLYFROMTEXT - 841)) | (1 << (SqlParser.POLYFROMWKB - 841)))) !== 0) || ((((_la - 873)) & ~0x1f) == 0 && ((1 << (_la - 873)) & ((1 << (SqlParser.POLYGONFROMTEXT - 873)) | (1 << (SqlParser.POLYGONFROMWKB - 873)) | (1 << (SqlParser.POW - 873)) | (1 << (SqlParser.POWER - 873)) | (1 << (SqlParser.QUOTE - 873)) | (1 << (SqlParser.RADIANS - 873)) | (1 << (SqlParser.RAND - 873)) | (1 << (SqlParser.RANDOM_BYTES - 873)) | (1 << (SqlParser.RELEASE_LOCK - 873)) | (1 << (SqlParser.REVERSE - 873)) | (1 << (SqlParser.ROUND - 873)) | (1 << (SqlParser.ROW_COUNT - 873)) | (1 << (SqlParser.RPAD - 873)) | (1 << (SqlParser.RTRIM - 873)) | (1 << (SqlParser.SEC_TO_TIME - 873)) | (1 << (SqlParser.SESSION_USER - 873)) | (1 << (SqlParser.SHA - 873)) | (1 << (SqlParser.SHA1 - 873)) | (1 << (SqlParser.SHA2 - 873)) | (1 << (SqlParser.SCHEMA_NAME - 873)) | (1 << (SqlParser.SIGN - 873)) | (1 << (SqlParser.SIN - 873)) | (1 << (SqlParser.SLEEP - 873)) | (1 << (SqlParser.SOUNDEX - 873)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 873)) | (1 << (SqlParser.SQRT - 873)) | (1 << (SqlParser.SRID - 873)) | (1 << (SqlParser.STARTPOINT - 873)) | (1 << (SqlParser.STRCMP - 873)) | (1 << (SqlParser.STR_TO_DATE - 873)) | (1 << (SqlParser.ST_AREA - 873)) | (1 << (SqlParser.ST_ASBINARY - 873)))) !== 0) || ((((_la - 905)) & ~0x1f) == 0 && ((1 << (_la - 905)) & ((1 << (SqlParser.ST_ASTEXT - 905)) | (1 << (SqlParser.ST_ASWKB - 905)) | (1 << (SqlParser.ST_ASWKT - 905)) | (1 << (SqlParser.ST_BUFFER - 905)) | (1 << (SqlParser.ST_CENTROID - 905)) | (1 << (SqlParser.ST_CONTAINS - 905)) | (1 << (SqlParser.ST_CROSSES - 905)) | (1 << (SqlParser.ST_DIFFERENCE - 905)) | (1 << (SqlParser.ST_DIMENSION - 905)) | (1 << (SqlParser.ST_DISJOINT - 905)) | (1 << (SqlParser.ST_DISTANCE - 905)) | (1 << (SqlParser.ST_ENDPOINT - 905)) | (1 << (SqlParser.ST_ENVELOPE - 905)) | (1 << (SqlParser.ST_EQUALS - 905)) | (1 << (SqlParser.ST_EXTERIORRING - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYN - 905)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 905)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMFROMWKB - 905)) | (1 << (SqlParser.ST_INTERIORRINGN - 905)) | (1 << (SqlParser.ST_INTERSECTION - 905)) | (1 << (SqlParser.ST_INTERSECTS - 905)) | (1 << (SqlParser.ST_ISCLOSED - 905)) | (1 << (SqlParser.ST_ISEMPTY - 905)) | (1 << (SqlParser.ST_ISSIMPLE - 905)))) !== 0) || ((((_la - 937)) & ~0x1f) == 0 && ((1 << (_la - 937)) & ((1 << (SqlParser.ST_LINEFROMTEXT - 937)) | (1 << (SqlParser.ST_LINEFROMWKB - 937)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 937)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 937)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 937)) | (1 << (SqlParser.ST_NUMINTERIORRING - 937)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 937)) | (1 << (SqlParser.ST_NUMPOINTS - 937)) | (1 << (SqlParser.ST_OVERLAPS - 937)) | (1 << (SqlParser.ST_POINTFROMTEXT - 937)) | (1 << (SqlParser.ST_POINTFROMWKB - 937)) | (1 << (SqlParser.ST_POINTN - 937)) | (1 << (SqlParser.ST_POLYFROMTEXT - 937)) | (1 << (SqlParser.ST_POLYFROMWKB - 937)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 937)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 937)) | (1 << (SqlParser.ST_SRID - 937)) | (1 << (SqlParser.ST_STARTPOINT - 937)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 937)) | (1 << (SqlParser.ST_TOUCHES - 937)) | (1 << (SqlParser.ST_UNION - 937)) | (1 << (SqlParser.ST_WITHIN - 937)) | (1 << (SqlParser.ST_X - 937)) | (1 << (SqlParser.ST_Y - 937)) | (1 << (SqlParser.SUBDATE - 937)) | (1 << (SqlParser.SUBSTRING_INDEX - 937)) | (1 << (SqlParser.SUBTIME - 937)) | (1 << (SqlParser.SYSTEM_USER - 937)) | (1 << (SqlParser.TAN - 937)) | (1 << (SqlParser.TIMEDIFF - 937)) | (1 << (SqlParser.TIMESTAMPADD - 937)) | (1 << (SqlParser.TIMESTAMPDIFF - 937)))) !== 0) || ((((_la - 969)) & ~0x1f) == 0 && ((1 << (_la - 969)) & ((1 << (SqlParser.TIME_FORMAT - 969)) | (1 << (SqlParser.TIME_TO_SEC - 969)) | (1 << (SqlParser.TOUCHES - 969)) | (1 << (SqlParser.TO_BASE64 - 969)) | (1 << (SqlParser.TO_DAYS - 969)) | (1 << (SqlParser.TO_SECONDS - 969)) | (1 << (SqlParser.UCASE - 969)) | (1 << (SqlParser.UNCOMPRESS - 969)) | (1 << (SqlParser.UNCOMPRESSED_LENGTH - 969)) | (1 << (SqlParser.UNHEX - 969)) | (1 << (SqlParser.UNIX_TIMESTAMP - 969)) | (1 << (SqlParser.UPDATEXML - 969)) | (1 << (SqlParser.UPPER - 969)) | (1 << (SqlParser.UUID - 969)) | (1 << (SqlParser.UUID_SHORT - 969)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 969)) | (1 << (SqlParser.VERSION - 969)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 969)) | (1 << (SqlParser.WEEKDAY - 969)) | (1 << (SqlParser.WEEKOFYEAR - 969)) | (1 << (SqlParser.WEIGHT_STRING - 969)) | (1 << (SqlParser.WITHIN - 969)) | (1 << (SqlParser.YEARWEEK - 969)) | (1 << (SqlParser.Y_FUNCTION - 969)) | (1 << (SqlParser.X_FUNCTION - 969)))) !== 0) || ((((_la - 1006)) & ~0x1f) == 0 && ((1 << (_la - 1006)) & ((1 << (SqlParser.PLUS - 1006)) | (1 << (SqlParser.MINUS - 1006)) | (1 << (SqlParser.EXCLAMATION_SYMBOL - 1006)) | (1 << (SqlParser.BIT_NOT_OP - 1006)) | (1 << (SqlParser.LR_BRACKET - 1006)) | (1 << (SqlParser.ZERO_DECIMAL - 1006)) | (1 << (SqlParser.ONE_DECIMAL - 1006)) | (1 << (SqlParser.TWO_DECIMAL - 1006)) | (1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1006)) | (1 << (SqlParser.START_NATIONAL_STRING_LITERAL - 1006)) | (1 << (SqlParser.STRING_LITERAL - 1006)) | (1 << (SqlParser.DECIMAL_LITERAL - 1006)) | (1 << (SqlParser.HEXADECIMAL_LITERAL - 1006)))) !== 0) || ((((_la - 1038)) & ~0x1f) == 0 && ((1 << (_la - 1038)) & ((1 << (SqlParser.REAL_LITERAL - 1038)) | (1 << (SqlParser.NULL_SPEC_LITERAL - 1038)) | (1 << (SqlParser.BIT_STRING - 1038)) | (1 << (SqlParser.STRING_CHARSET_NAME - 1038)) | (1 << (SqlParser.ID - 1038)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1038)) | (1 << (SqlParser.LOCAL_ID - 1038)) | (1 << (SqlParser.GLOBAL_ID - 1038)))) !== 0)) { + this.state = 3060; + this.expressionsWithDefaults(); + } + + this.state = 3063; + this.match(SqlParser.RR_BRACKET); + this.state = 3072; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3064; + this.match(SqlParser.COMMA); + this.state = 3065; + this.match(SqlParser.LR_BRACKET); + this.state = 3067; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SqlParser.CASE) | (1 << SqlParser.CAST) | (1 << SqlParser.CONVERT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.CURRENT_USER - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DEFAULT - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)) | (1 << (SqlParser.EXISTS - 32)) | (1 << (SqlParser.FALSE - 32)))) !== 0) || ((((_la - 69)) & ~0x1f) == 0 && ((1 << (_la - 69)) & ((1 << (SqlParser.IF - 69)) | (1 << (SqlParser.INSERT - 69)) | (1 << (SqlParser.INTERVAL - 69)) | (1 << (SqlParser.LEFT - 69)))) !== 0) || ((((_la - 102)) & ~0x1f) == 0 && ((1 << (_la - 102)) & ((1 << (SqlParser.NOT - 102)) | (1 << (SqlParser.NULL_LITERAL - 102)) | (1 << (SqlParser.NUMBER - 102)) | (1 << (SqlParser.REPLACE - 102)) | (1 << (SqlParser.RIGHT - 102)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (SqlParser.STACKED - 151)) | (1 << (SqlParser.TRUE - 151)) | (1 << (SqlParser.VALUES - 151)))) !== 0) || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.CHAR - 199)) | (1 << (SqlParser.BINARY - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.AVG - 233)) | (1 << (SqlParser.BIT_AND - 233)) | (1 << (SqlParser.BIT_OR - 233)) | (1 << (SqlParser.BIT_XOR - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.GROUP_CONCAT - 233)) | (1 << (SqlParser.MAX - 233)) | (1 << (SqlParser.MIN - 233)) | (1 << (SqlParser.STD - 233)) | (1 << (SqlParser.STDDEV - 233)) | (1 << (SqlParser.STDDEV_POP - 233)) | (1 << (SqlParser.STDDEV_SAMP - 233)) | (1 << (SqlParser.SUM - 233)) | (1 << (SqlParser.VAR_POP - 233)) | (1 << (SqlParser.VAR_SAMP - 233)) | (1 << (SqlParser.VARIANCE - 233)) | (1 << (SqlParser.CURRENT_DATE - 233)) | (1 << (SqlParser.CURRENT_TIME - 233)) | (1 << (SqlParser.CURRENT_TIMESTAMP - 233)) | (1 << (SqlParser.LOCALTIME - 233)) | (1 << (SqlParser.CURDATE - 233)) | (1 << (SqlParser.CURTIME - 233)) | (1 << (SqlParser.DATE_ADD - 233)) | (1 << (SqlParser.DATE_SUB - 233)) | (1 << (SqlParser.EXTRACT - 233)) | (1 << (SqlParser.LOCALTIMESTAMP - 233)) | (1 << (SqlParser.NOW - 233)) | (1 << (SqlParser.POSITION - 233)) | (1 << (SqlParser.SUBSTR - 233)) | (1 << (SqlParser.SUBSTRING - 233)))) !== 0) || ((((_la - 265)) & ~0x1f) == 0 && ((1 << (_la - 265)) & ((1 << (SqlParser.SYSDATE - 265)) | (1 << (SqlParser.TRIM - 265)) | (1 << (SqlParser.UTC_DATE - 265)) | (1 << (SqlParser.UTC_TIME - 265)) | (1 << (SqlParser.UTC_TIMESTAMP - 265)) | (1 << (SqlParser.ACCOUNT - 265)) | (1 << (SqlParser.ACTION - 265)) | (1 << (SqlParser.AFTER - 265)) | (1 << (SqlParser.AGGREGATE - 265)) | (1 << (SqlParser.ALGORITHM - 265)) | (1 << (SqlParser.ANY - 265)) | (1 << (SqlParser.AT - 265)) | (1 << (SqlParser.AUTHORS - 265)) | (1 << (SqlParser.AUTOCOMMIT - 265)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 265)) | (1 << (SqlParser.AUTO_INCREMENT - 265)) | (1 << (SqlParser.AVG_ROW_LENGTH - 265)) | (1 << (SqlParser.BEGIN - 265)) | (1 << (SqlParser.BINLOG - 265)) | (1 << (SqlParser.BIT - 265)) | (1 << (SqlParser.BLOCK - 265)) | (1 << (SqlParser.BOOL - 265)) | (1 << (SqlParser.BOOLEAN - 265)) | (1 << (SqlParser.BTREE - 265)) | (1 << (SqlParser.CACHE - 265)) | (1 << (SqlParser.CASCADED - 265)) | (1 << (SqlParser.CHAIN - 265)) | (1 << (SqlParser.CHANGED - 265)) | (1 << (SqlParser.CHANNEL - 265)) | (1 << (SqlParser.CHECKSUM - 265)) | (1 << (SqlParser.PAGE_CHECKSUM - 265)) | (1 << (SqlParser.CIPHER - 265)))) !== 0) || ((((_la - 297)) & ~0x1f) == 0 && ((1 << (_la - 297)) & ((1 << (SqlParser.CLASS_ORIGIN - 297)) | (1 << (SqlParser.CLIENT - 297)) | (1 << (SqlParser.CLOSE - 297)) | (1 << (SqlParser.COALESCE - 297)) | (1 << (SqlParser.CODE - 297)) | (1 << (SqlParser.COLUMNS - 297)) | (1 << (SqlParser.COLUMN_FORMAT - 297)) | (1 << (SqlParser.COLUMN_NAME - 297)) | (1 << (SqlParser.COMMENT - 297)) | (1 << (SqlParser.COMMIT - 297)) | (1 << (SqlParser.COMPACT - 297)) | (1 << (SqlParser.COMPLETION - 297)) | (1 << (SqlParser.COMPRESSED - 297)) | (1 << (SqlParser.COMPRESSION - 297)) | (1 << (SqlParser.CONCURRENT - 297)) | (1 << (SqlParser.CONNECTION - 297)) | (1 << (SqlParser.CONSISTENT - 297)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 297)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 297)) | (1 << (SqlParser.CONSTRAINT_NAME - 297)) | (1 << (SqlParser.CONTAINS - 297)) | (1 << (SqlParser.CONTEXT - 297)) | (1 << (SqlParser.CONTRIBUTORS - 297)) | (1 << (SqlParser.COPY - 297)) | (1 << (SqlParser.CPU - 297)) | (1 << (SqlParser.CURSOR_NAME - 297)) | (1 << (SqlParser.DATA - 297)) | (1 << (SqlParser.DATAFILE - 297)) | (1 << (SqlParser.DEALLOCATE - 297)) | (1 << (SqlParser.DEFAULT_AUTH - 297)) | (1 << (SqlParser.DEFINER - 297)) | (1 << (SqlParser.DELAY_KEY_WRITE - 297)))) !== 0) || ((((_la - 329)) & ~0x1f) == 0 && ((1 << (_la - 329)) & ((1 << (SqlParser.DES_KEY_FILE - 329)) | (1 << (SqlParser.DIRECTORY - 329)) | (1 << (SqlParser.DISABLE - 329)) | (1 << (SqlParser.DISCARD - 329)) | (1 << (SqlParser.DISK - 329)) | (1 << (SqlParser.DO - 329)) | (1 << (SqlParser.DUMPFILE - 329)) | (1 << (SqlParser.DUPLICATE - 329)) | (1 << (SqlParser.DYNAMIC - 329)) | (1 << (SqlParser.ENABLE - 329)) | (1 << (SqlParser.ENCRYPTION - 329)) | (1 << (SqlParser.END - 329)) | (1 << (SqlParser.ENDS - 329)) | (1 << (SqlParser.ENGINE - 329)) | (1 << (SqlParser.ENGINES - 329)) | (1 << (SqlParser.ERROR - 329)) | (1 << (SqlParser.ERRORS - 329)) | (1 << (SqlParser.ESCAPE - 329)) | (1 << (SqlParser.EVEN - 329)) | (1 << (SqlParser.EVENT - 329)) | (1 << (SqlParser.EVENTS - 329)) | (1 << (SqlParser.EVERY - 329)) | (1 << (SqlParser.EXCHANGE - 329)) | (1 << (SqlParser.EXCLUSIVE - 329)) | (1 << (SqlParser.EXPIRE - 329)) | (1 << (SqlParser.EXPORT - 329)) | (1 << (SqlParser.EXTENDED - 329)) | (1 << (SqlParser.EXTENT_SIZE - 329)) | (1 << (SqlParser.FAST - 329)) | (1 << (SqlParser.FAULTS - 329)) | (1 << (SqlParser.FIELDS - 329)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 329)))) !== 0) || ((((_la - 361)) & ~0x1f) == 0 && ((1 << (_la - 361)) & ((1 << (SqlParser.FILTER - 361)) | (1 << (SqlParser.FIRST - 361)) | (1 << (SqlParser.FIXED - 361)) | (1 << (SqlParser.FLUSH - 361)) | (1 << (SqlParser.FOLLOWS - 361)) | (1 << (SqlParser.FOUND - 361)) | (1 << (SqlParser.FULL - 361)) | (1 << (SqlParser.FUNCTION - 361)) | (1 << (SqlParser.GENERAL - 361)) | (1 << (SqlParser.GLOBAL - 361)) | (1 << (SqlParser.GRANTS - 361)) | (1 << (SqlParser.GROUP_REPLICATION - 361)) | (1 << (SqlParser.HANDLER - 361)) | (1 << (SqlParser.HASH - 361)) | (1 << (SqlParser.HELP - 361)) | (1 << (SqlParser.HOST - 361)) | (1 << (SqlParser.HOSTS - 361)) | (1 << (SqlParser.IDENTIFIED - 361)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 361)) | (1 << (SqlParser.IMPORT - 361)) | (1 << (SqlParser.INDEXES - 361)) | (1 << (SqlParser.INITIAL_SIZE - 361)) | (1 << (SqlParser.INPLACE - 361)) | (1 << (SqlParser.INSERT_METHOD - 361)) | (1 << (SqlParser.INSTALL - 361)) | (1 << (SqlParser.INSTANCE - 361)) | (1 << (SqlParser.INVISIBLE - 361)) | (1 << (SqlParser.INVOKER - 361)) | (1 << (SqlParser.IO - 361)) | (1 << (SqlParser.IO_THREAD - 361)) | (1 << (SqlParser.IPC - 361)) | (1 << (SqlParser.ISOLATION - 361)))) !== 0) || ((((_la - 393)) & ~0x1f) == 0 && ((1 << (_la - 393)) & ((1 << (SqlParser.ISSUER - 393)) | (1 << (SqlParser.JSON - 393)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 393)) | (1 << (SqlParser.LANGUAGE - 393)) | (1 << (SqlParser.LAST - 393)) | (1 << (SqlParser.LEAVES - 393)) | (1 << (SqlParser.LESS - 393)) | (1 << (SqlParser.LEVEL - 393)) | (1 << (SqlParser.LIST - 393)) | (1 << (SqlParser.LOCAL - 393)) | (1 << (SqlParser.LOGFILE - 393)) | (1 << (SqlParser.LOGS - 393)) | (1 << (SqlParser.MASTER - 393)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 393)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 393)) | (1 << (SqlParser.MASTER_DELAY - 393)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 393)) | (1 << (SqlParser.MASTER_HOST - 393)) | (1 << (SqlParser.MASTER_LOG_FILE - 393)) | (1 << (SqlParser.MASTER_LOG_POS - 393)) | (1 << (SqlParser.MASTER_PASSWORD - 393)) | (1 << (SqlParser.MASTER_PORT - 393)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 393)) | (1 << (SqlParser.MASTER_SSL - 393)) | (1 << (SqlParser.MASTER_SSL_CA - 393)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 393)) | (1 << (SqlParser.MASTER_SSL_CERT - 393)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 393)) | (1 << (SqlParser.MASTER_SSL_CRL - 393)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 393)) | (1 << (SqlParser.MASTER_SSL_KEY - 393)) | (1 << (SqlParser.MASTER_TLS_VERSION - 393)))) !== 0) || ((((_la - 425)) & ~0x1f) == 0 && ((1 << (_la - 425)) & ((1 << (SqlParser.MASTER_USER - 425)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 425)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 425)) | (1 << (SqlParser.MAX_ROWS - 425)) | (1 << (SqlParser.MAX_SIZE - 425)) | (1 << (SqlParser.MAX_UPDATES_PER_HOUR - 425)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 425)) | (1 << (SqlParser.MEDIUM - 425)) | (1 << (SqlParser.MERGE - 425)) | (1 << (SqlParser.MESSAGE_TEXT - 425)) | (1 << (SqlParser.MID - 425)) | (1 << (SqlParser.MIGRATE - 425)) | (1 << (SqlParser.MIN_ROWS - 425)) | (1 << (SqlParser.MODE - 425)) | (1 << (SqlParser.MODIFY - 425)) | (1 << (SqlParser.MUTEX - 425)) | (1 << (SqlParser.MYSQL - 425)) | (1 << (SqlParser.MYSQL_ERRNO - 425)) | (1 << (SqlParser.NAME - 425)) | (1 << (SqlParser.NAMES - 425)) | (1 << (SqlParser.NCHAR - 425)) | (1 << (SqlParser.NEVER - 425)) | (1 << (SqlParser.NEXT - 425)) | (1 << (SqlParser.NO - 425)) | (1 << (SqlParser.NODEGROUP - 425)) | (1 << (SqlParser.NONE - 425)) | (1 << (SqlParser.OFFLINE - 425)) | (1 << (SqlParser.OFFSET - 425)) | (1 << (SqlParser.OJ - 425)) | (1 << (SqlParser.OLD_PASSWORD - 425)) | (1 << (SqlParser.ONE - 425)) | (1 << (SqlParser.ONLINE - 425)))) !== 0) || ((((_la - 457)) & ~0x1f) == 0 && ((1 << (_la - 457)) & ((1 << (SqlParser.ONLY - 457)) | (1 << (SqlParser.OPEN - 457)) | (1 << (SqlParser.OPTIMIZER_COSTS - 457)) | (1 << (SqlParser.OPTIONS - 457)) | (1 << (SqlParser.OWNER - 457)) | (1 << (SqlParser.PACK_KEYS - 457)) | (1 << (SqlParser.PAGE - 457)) | (1 << (SqlParser.PARSER - 457)) | (1 << (SqlParser.PARTIAL - 457)) | (1 << (SqlParser.PARTITIONING - 457)) | (1 << (SqlParser.PARTITIONS - 457)) | (1 << (SqlParser.PASSWORD - 457)) | (1 << (SqlParser.PHASE - 457)) | (1 << (SqlParser.PLUGIN - 457)) | (1 << (SqlParser.PLUGIN_DIR - 457)) | (1 << (SqlParser.PLUGINS - 457)) | (1 << (SqlParser.PORT - 457)) | (1 << (SqlParser.PRECEDES - 457)) | (1 << (SqlParser.PREPARE - 457)) | (1 << (SqlParser.PRESERVE - 457)) | (1 << (SqlParser.PREV - 457)) | (1 << (SqlParser.PROCESSLIST - 457)) | (1 << (SqlParser.PROFILE - 457)) | (1 << (SqlParser.PROFILES - 457)) | (1 << (SqlParser.PROXY - 457)) | (1 << (SqlParser.QUERY - 457)) | (1 << (SqlParser.QUICK - 457)) | (1 << (SqlParser.REBUILD - 457)) | (1 << (SqlParser.RECOVER - 457)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 457)) | (1 << (SqlParser.REDUNDANT - 457)) | (1 << (SqlParser.RELAY - 457)))) !== 0) || ((((_la - 489)) & ~0x1f) == 0 && ((1 << (_la - 489)) & ((1 << (SqlParser.RELAY_LOG_FILE - 489)) | (1 << (SqlParser.RELAY_LOG_POS - 489)) | (1 << (SqlParser.RELAYLOG - 489)) | (1 << (SqlParser.REMOVE - 489)) | (1 << (SqlParser.REORGANIZE - 489)) | (1 << (SqlParser.REPAIR - 489)) | (1 << (SqlParser.REPLICATE_DO_DB - 489)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 489)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 489)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 489)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 489)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 489)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 489)) | (1 << (SqlParser.REPLICATION - 489)) | (1 << (SqlParser.RESET - 489)) | (1 << (SqlParser.RESUME - 489)) | (1 << (SqlParser.RETURNED_SQLSTATE - 489)) | (1 << (SqlParser.RETURNS - 489)) | (1 << (SqlParser.ROLE - 489)) | (1 << (SqlParser.ROLLBACK - 489)) | (1 << (SqlParser.ROLLUP - 489)) | (1 << (SqlParser.ROTATE - 489)) | (1 << (SqlParser.ROW - 489)) | (1 << (SqlParser.ROWS - 489)) | (1 << (SqlParser.ROW_FORMAT - 489)) | (1 << (SqlParser.SAVEPOINT - 489)) | (1 << (SqlParser.SCHEDULE - 489)) | (1 << (SqlParser.SECURITY - 489)) | (1 << (SqlParser.SERVER - 489)) | (1 << (SqlParser.SESSION - 489)) | (1 << (SqlParser.SHARE - 489)) | (1 << (SqlParser.SHARED - 489)))) !== 0) || ((((_la - 521)) & ~0x1f) == 0 && ((1 << (_la - 521)) & ((1 << (SqlParser.SIGNED - 521)) | (1 << (SqlParser.SIMPLE - 521)) | (1 << (SqlParser.SLAVE - 521)) | (1 << (SqlParser.SLOW - 521)) | (1 << (SqlParser.SNAPSHOT - 521)) | (1 << (SqlParser.SOCKET - 521)) | (1 << (SqlParser.SOME - 521)) | (1 << (SqlParser.SONAME - 521)) | (1 << (SqlParser.SOUNDS - 521)) | (1 << (SqlParser.SOURCE - 521)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 521)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 521)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 521)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 521)) | (1 << (SqlParser.SQL_CACHE - 521)) | (1 << (SqlParser.SQL_NO_CACHE - 521)) | (1 << (SqlParser.SQL_THREAD - 521)) | (1 << (SqlParser.START - 521)) | (1 << (SqlParser.STARTS - 521)) | (1 << (SqlParser.STATS_AUTO_RECALC - 521)) | (1 << (SqlParser.STATS_PERSISTENT - 521)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 521)) | (1 << (SqlParser.STATUS - 521)) | (1 << (SqlParser.STOP - 521)) | (1 << (SqlParser.STORAGE - 521)) | (1 << (SqlParser.STRING - 521)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 521)) | (1 << (SqlParser.SUBJECT - 521)) | (1 << (SqlParser.SUBPARTITION - 521)) | (1 << (SqlParser.SUBPARTITIONS - 521)) | (1 << (SqlParser.SUSPEND - 521)))) !== 0) || ((((_la - 553)) & ~0x1f) == 0 && ((1 << (_la - 553)) & ((1 << (SqlParser.SWAPS - 553)) | (1 << (SqlParser.SWITCHES - 553)) | (1 << (SqlParser.TABLE_NAME - 553)) | (1 << (SqlParser.TABLESPACE - 553)) | (1 << (SqlParser.TEMPORARY - 553)) | (1 << (SqlParser.TEMPTABLE - 553)) | (1 << (SqlParser.THAN - 553)) | (1 << (SqlParser.TRADITIONAL - 553)) | (1 << (SqlParser.TRANSACTION - 553)) | (1 << (SqlParser.TRANSACTIONAL - 553)) | (1 << (SqlParser.TRIGGERS - 553)) | (1 << (SqlParser.TRUNCATE - 553)) | (1 << (SqlParser.UNDEFINED - 553)) | (1 << (SqlParser.UNDOFILE - 553)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 553)) | (1 << (SqlParser.UNINSTALL - 553)) | (1 << (SqlParser.UNKNOWN - 553)) | (1 << (SqlParser.UNTIL - 553)) | (1 << (SqlParser.UPGRADE - 553)) | (1 << (SqlParser.USER - 553)) | (1 << (SqlParser.USE_FRM - 553)) | (1 << (SqlParser.USER_RESOURCES - 553)) | (1 << (SqlParser.VALIDATION - 553)) | (1 << (SqlParser.VALUE - 553)) | (1 << (SqlParser.VARIABLES - 553)) | (1 << (SqlParser.VIEW - 553)) | (1 << (SqlParser.VISIBLE - 553)) | (1 << (SqlParser.WAIT - 553)) | (1 << (SqlParser.WARNINGS - 553)) | (1 << (SqlParser.WITHOUT - 553)) | (1 << (SqlParser.WORK - 553)))) !== 0) || ((((_la - 585)) & ~0x1f) == 0 && ((1 << (_la - 585)) & ((1 << (SqlParser.WRAPPER - 585)) | (1 << (SqlParser.X509 - 585)) | (1 << (SqlParser.XA - 585)) | (1 << (SqlParser.XML - 585)) | (1 << (SqlParser.INTERNAL - 585)) | (1 << (SqlParser.QUARTER - 585)) | (1 << (SqlParser.MONTH - 585)) | (1 << (SqlParser.DAY - 585)) | (1 << (SqlParser.HOUR - 585)) | (1 << (SqlParser.MINUTE - 585)) | (1 << (SqlParser.WEEK - 585)) | (1 << (SqlParser.SECOND - 585)) | (1 << (SqlParser.MICROSECOND - 585)) | (1 << (SqlParser.TABLES - 585)) | (1 << (SqlParser.ROUTINE - 585)) | (1 << (SqlParser.EXECUTE - 585)) | (1 << (SqlParser.FILE - 585)) | (1 << (SqlParser.PROCESS - 585)) | (1 << (SqlParser.RELOAD - 585)) | (1 << (SqlParser.SHUTDOWN - 585)) | (1 << (SqlParser.SUPER - 585)) | (1 << (SqlParser.PRIVILEGES - 585)) | (1 << (SqlParser.AUDIT_ADMIN - 585)) | (1 << (SqlParser.BACKUP_ADMIN - 585)) | (1 << (SqlParser.BINLOG_ADMIN - 585)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 585)) | (1 << (SqlParser.CLONE_ADMIN - 585)))) !== 0) || ((((_la - 617)) & ~0x1f) == 0 && ((1 << (_la - 617)) & ((1 << (SqlParser.CONNECTION_ADMIN - 617)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 617)) | (1 << (SqlParser.FIREWALL_ADMIN - 617)) | (1 << (SqlParser.FIREWALL_USER - 617)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 617)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 617)) | (1 << (SqlParser.NDB_STORED_USER - 617)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.REPLICATION_APPLIER - 617)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 617)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 617)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 617)) | (1 << (SqlParser.ROLE_ADMIN - 617)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.SET_USER_ID - 617)) | (1 << (SqlParser.SHOW_ROUTINE - 617)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 617)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 617)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 617)) | (1 << (SqlParser.ARMSCII8 - 617)) | (1 << (SqlParser.ASCII - 617)) | (1 << (SqlParser.BIG5 - 617)) | (1 << (SqlParser.CP1250 - 617)) | (1 << (SqlParser.CP1251 - 617)) | (1 << (SqlParser.CP1256 - 617)) | (1 << (SqlParser.CP1257 - 617)) | (1 << (SqlParser.CP850 - 617)) | (1 << (SqlParser.CP852 - 617)) | (1 << (SqlParser.CP866 - 617)) | (1 << (SqlParser.CP932 - 617)) | (1 << (SqlParser.DEC8 - 617)))) !== 0) || ((((_la - 649)) & ~0x1f) == 0 && ((1 << (_la - 649)) & ((1 << (SqlParser.EUCJPMS - 649)) | (1 << (SqlParser.EUCKR - 649)) | (1 << (SqlParser.GB2312 - 649)) | (1 << (SqlParser.GBK - 649)) | (1 << (SqlParser.GEOSTD8 - 649)) | (1 << (SqlParser.GREEK - 649)) | (1 << (SqlParser.HEBREW - 649)) | (1 << (SqlParser.HP8 - 649)) | (1 << (SqlParser.KEYBCS2 - 649)) | (1 << (SqlParser.KOI8R - 649)) | (1 << (SqlParser.KOI8U - 649)) | (1 << (SqlParser.LATIN1 - 649)) | (1 << (SqlParser.LATIN2 - 649)) | (1 << (SqlParser.LATIN5 - 649)) | (1 << (SqlParser.LATIN7 - 649)) | (1 << (SqlParser.MACCE - 649)) | (1 << (SqlParser.MACROMAN - 649)) | (1 << (SqlParser.SJIS - 649)) | (1 << (SqlParser.SWE7 - 649)) | (1 << (SqlParser.TIS620 - 649)) | (1 << (SqlParser.UCS2 - 649)) | (1 << (SqlParser.UJIS - 649)) | (1 << (SqlParser.UTF16 - 649)) | (1 << (SqlParser.UTF16LE - 649)) | (1 << (SqlParser.UTF32 - 649)) | (1 << (SqlParser.UTF8 - 649)) | (1 << (SqlParser.UTF8MB3 - 649)) | (1 << (SqlParser.UTF8MB4 - 649)) | (1 << (SqlParser.ARCHIVE - 649)) | (1 << (SqlParser.BLACKHOLE - 649)) | (1 << (SqlParser.CSV - 649)) | (1 << (SqlParser.FEDERATED - 649)))) !== 0) || ((((_la - 681)) & ~0x1f) == 0 && ((1 << (_la - 681)) & ((1 << (SqlParser.INNODB - 681)) | (1 << (SqlParser.MEMORY - 681)) | (1 << (SqlParser.MRG_MYISAM - 681)) | (1 << (SqlParser.MYISAM - 681)) | (1 << (SqlParser.NDB - 681)) | (1 << (SqlParser.NDBCLUSTER - 681)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 681)) | (1 << (SqlParser.TOKUDB - 681)) | (1 << (SqlParser.REPEATABLE - 681)) | (1 << (SqlParser.COMMITTED - 681)) | (1 << (SqlParser.UNCOMMITTED - 681)) | (1 << (SqlParser.SERIALIZABLE - 681)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 681)) | (1 << (SqlParser.LINESTRING - 681)) | (1 << (SqlParser.MULTILINESTRING - 681)) | (1 << (SqlParser.MULTIPOINT - 681)) | (1 << (SqlParser.MULTIPOLYGON - 681)) | (1 << (SqlParser.POINT - 681)) | (1 << (SqlParser.POLYGON - 681)) | (1 << (SqlParser.ABS - 681)) | (1 << (SqlParser.ACOS - 681)) | (1 << (SqlParser.ADDDATE - 681)) | (1 << (SqlParser.ADDTIME - 681)) | (1 << (SqlParser.AES_DECRYPT - 681)) | (1 << (SqlParser.AES_ENCRYPT - 681)) | (1 << (SqlParser.AREA - 681)) | (1 << (SqlParser.ASBINARY - 681)) | (1 << (SqlParser.ASIN - 681)) | (1 << (SqlParser.ASTEXT - 681)) | (1 << (SqlParser.ASWKB - 681)))) !== 0) || ((((_la - 713)) & ~0x1f) == 0 && ((1 << (_la - 713)) & ((1 << (SqlParser.ASWKT - 713)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 713)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 713)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 713)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 713)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 713)) | (1 << (SqlParser.ATAN - 713)) | (1 << (SqlParser.ATAN2 - 713)) | (1 << (SqlParser.BENCHMARK - 713)) | (1 << (SqlParser.BIN - 713)) | (1 << (SqlParser.BIT_COUNT - 713)) | (1 << (SqlParser.BIT_LENGTH - 713)) | (1 << (SqlParser.BUFFER - 713)) | (1 << (SqlParser.CATALOG_NAME - 713)) | (1 << (SqlParser.CEIL - 713)) | (1 << (SqlParser.CEILING - 713)) | (1 << (SqlParser.CENTROID - 713)) | (1 << (SqlParser.CHARACTER_LENGTH - 713)) | (1 << (SqlParser.CHARSET - 713)) | (1 << (SqlParser.CHAR_LENGTH - 713)) | (1 << (SqlParser.COERCIBILITY - 713)) | (1 << (SqlParser.COLLATION - 713)) | (1 << (SqlParser.COMPRESS - 713)) | (1 << (SqlParser.CONCAT - 713)) | (1 << (SqlParser.CONCAT_WS - 713)) | (1 << (SqlParser.CONNECTION_ID - 713)) | (1 << (SqlParser.CONV - 713)) | (1 << (SqlParser.CONVERT_TZ - 713)) | (1 << (SqlParser.COS - 713)) | (1 << (SqlParser.COT - 713)) | (1 << (SqlParser.CRC32 - 713)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 713)))) !== 0) || ((((_la - 745)) & ~0x1f) == 0 && ((1 << (_la - 745)) & ((1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 745)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 745)) | (1 << (SqlParser.CREATE_DIGEST - 745)) | (1 << (SqlParser.CROSSES - 745)) | (1 << (SqlParser.DATEDIFF - 745)) | (1 << (SqlParser.DATE_FORMAT - 745)) | (1 << (SqlParser.DAYNAME - 745)) | (1 << (SqlParser.DAYOFMONTH - 745)) | (1 << (SqlParser.DAYOFWEEK - 745)) | (1 << (SqlParser.DAYOFYEAR - 745)) | (1 << (SqlParser.DECODE - 745)) | (1 << (SqlParser.DEGREES - 745)) | (1 << (SqlParser.DES_DECRYPT - 745)) | (1 << (SqlParser.DES_ENCRYPT - 745)) | (1 << (SqlParser.DIMENSION - 745)) | (1 << (SqlParser.DISJOINT - 745)) | (1 << (SqlParser.ELT - 745)) | (1 << (SqlParser.ENCODE - 745)) | (1 << (SqlParser.ENCRYPT - 745)) | (1 << (SqlParser.ENDPOINT - 745)) | (1 << (SqlParser.ENVELOPE - 745)) | (1 << (SqlParser.EQUALS - 745)) | (1 << (SqlParser.EXP - 745)) | (1 << (SqlParser.EXPORT_SET - 745)) | (1 << (SqlParser.EXTERIORRING - 745)) | (1 << (SqlParser.EXTRACTVALUE - 745)) | (1 << (SqlParser.FIELD - 745)) | (1 << (SqlParser.FIND_IN_SET - 745)) | (1 << (SqlParser.FLOOR - 745)) | (1 << (SqlParser.FORMAT - 745)) | (1 << (SqlParser.FOUND_ROWS - 745)) | (1 << (SqlParser.FROM_BASE64 - 745)))) !== 0) || ((((_la - 777)) & ~0x1f) == 0 && ((1 << (_la - 777)) & ((1 << (SqlParser.FROM_DAYS - 777)) | (1 << (SqlParser.FROM_UNIXTIME - 777)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 777)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 777)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 777)) | (1 << (SqlParser.GEOMETRYFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYN - 777)) | (1 << (SqlParser.GEOMETRYTYPE - 777)) | (1 << (SqlParser.GEOMFROMTEXT - 777)) | (1 << (SqlParser.GEOMFROMWKB - 777)) | (1 << (SqlParser.GET_FORMAT - 777)) | (1 << (SqlParser.GET_LOCK - 777)) | (1 << (SqlParser.GLENGTH - 777)) | (1 << (SqlParser.GREATEST - 777)) | (1 << (SqlParser.GTID_SUBSET - 777)) | (1 << (SqlParser.GTID_SUBTRACT - 777)) | (1 << (SqlParser.HEX - 777)) | (1 << (SqlParser.IFNULL - 777)) | (1 << (SqlParser.INET6_ATON - 777)) | (1 << (SqlParser.INET6_NTOA - 777)) | (1 << (SqlParser.INET_ATON - 777)) | (1 << (SqlParser.INET_NTOA - 777)) | (1 << (SqlParser.INSTR - 777)) | (1 << (SqlParser.INTERIORRINGN - 777)) | (1 << (SqlParser.INTERSECTS - 777)) | (1 << (SqlParser.ISCLOSED - 777)) | (1 << (SqlParser.ISEMPTY - 777)) | (1 << (SqlParser.ISNULL - 777)) | (1 << (SqlParser.ISSIMPLE - 777)) | (1 << (SqlParser.IS_FREE_LOCK - 777)))) !== 0) || ((((_la - 809)) & ~0x1f) == 0 && ((1 << (_la - 809)) & ((1 << (SqlParser.IS_IPV4 - 809)) | (1 << (SqlParser.IS_IPV4_COMPAT - 809)) | (1 << (SqlParser.IS_IPV4_MAPPED - 809)) | (1 << (SqlParser.IS_IPV6 - 809)) | (1 << (SqlParser.IS_USED_LOCK - 809)) | (1 << (SqlParser.LAST_INSERT_ID - 809)) | (1 << (SqlParser.LCASE - 809)) | (1 << (SqlParser.LEAST - 809)) | (1 << (SqlParser.LENGTH - 809)) | (1 << (SqlParser.LINEFROMTEXT - 809)) | (1 << (SqlParser.LINEFROMWKB - 809)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 809)) | (1 << (SqlParser.LINESTRINGFROMWKB - 809)) | (1 << (SqlParser.LN - 809)) | (1 << (SqlParser.LOAD_FILE - 809)) | (1 << (SqlParser.LOCATE - 809)) | (1 << (SqlParser.LOG - 809)) | (1 << (SqlParser.LOG10 - 809)) | (1 << (SqlParser.LOG2 - 809)) | (1 << (SqlParser.LOWER - 809)) | (1 << (SqlParser.LPAD - 809)) | (1 << (SqlParser.LTRIM - 809)) | (1 << (SqlParser.MAKEDATE - 809)) | (1 << (SqlParser.MAKETIME - 809)) | (1 << (SqlParser.MAKE_SET - 809)) | (1 << (SqlParser.MASTER_POS_WAIT - 809)) | (1 << (SqlParser.MBRCONTAINS - 809)) | (1 << (SqlParser.MBRDISJOINT - 809)) | (1 << (SqlParser.MBREQUAL - 809)) | (1 << (SqlParser.MBRINTERSECTS - 809)) | (1 << (SqlParser.MBROVERLAPS - 809)) | (1 << (SqlParser.MBRTOUCHES - 809)))) !== 0) || ((((_la - 841)) & ~0x1f) == 0 && ((1 << (_la - 841)) & ((1 << (SqlParser.MBRWITHIN - 841)) | (1 << (SqlParser.MD5 - 841)) | (1 << (SqlParser.MLINEFROMTEXT - 841)) | (1 << (SqlParser.MLINEFROMWKB - 841)) | (1 << (SqlParser.MONTHNAME - 841)) | (1 << (SqlParser.MPOINTFROMTEXT - 841)) | (1 << (SqlParser.MPOINTFROMWKB - 841)) | (1 << (SqlParser.MPOLYFROMTEXT - 841)) | (1 << (SqlParser.MPOLYFROMWKB - 841)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 841)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 841)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 841)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 841)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 841)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 841)) | (1 << (SqlParser.NAME_CONST - 841)) | (1 << (SqlParser.NULLIF - 841)) | (1 << (SqlParser.NUMGEOMETRIES - 841)) | (1 << (SqlParser.NUMINTERIORRINGS - 841)) | (1 << (SqlParser.NUMPOINTS - 841)) | (1 << (SqlParser.OCT - 841)) | (1 << (SqlParser.OCTET_LENGTH - 841)) | (1 << (SqlParser.ORD - 841)) | (1 << (SqlParser.OVERLAPS - 841)) | (1 << (SqlParser.PERIOD_ADD - 841)) | (1 << (SqlParser.PERIOD_DIFF - 841)) | (1 << (SqlParser.PI - 841)) | (1 << (SqlParser.POINTFROMTEXT - 841)) | (1 << (SqlParser.POINTFROMWKB - 841)) | (1 << (SqlParser.POINTN - 841)) | (1 << (SqlParser.POLYFROMTEXT - 841)) | (1 << (SqlParser.POLYFROMWKB - 841)))) !== 0) || ((((_la - 873)) & ~0x1f) == 0 && ((1 << (_la - 873)) & ((1 << (SqlParser.POLYGONFROMTEXT - 873)) | (1 << (SqlParser.POLYGONFROMWKB - 873)) | (1 << (SqlParser.POW - 873)) | (1 << (SqlParser.POWER - 873)) | (1 << (SqlParser.QUOTE - 873)) | (1 << (SqlParser.RADIANS - 873)) | (1 << (SqlParser.RAND - 873)) | (1 << (SqlParser.RANDOM_BYTES - 873)) | (1 << (SqlParser.RELEASE_LOCK - 873)) | (1 << (SqlParser.REVERSE - 873)) | (1 << (SqlParser.ROUND - 873)) | (1 << (SqlParser.ROW_COUNT - 873)) | (1 << (SqlParser.RPAD - 873)) | (1 << (SqlParser.RTRIM - 873)) | (1 << (SqlParser.SEC_TO_TIME - 873)) | (1 << (SqlParser.SESSION_USER - 873)) | (1 << (SqlParser.SHA - 873)) | (1 << (SqlParser.SHA1 - 873)) | (1 << (SqlParser.SHA2 - 873)) | (1 << (SqlParser.SCHEMA_NAME - 873)) | (1 << (SqlParser.SIGN - 873)) | (1 << (SqlParser.SIN - 873)) | (1 << (SqlParser.SLEEP - 873)) | (1 << (SqlParser.SOUNDEX - 873)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 873)) | (1 << (SqlParser.SQRT - 873)) | (1 << (SqlParser.SRID - 873)) | (1 << (SqlParser.STARTPOINT - 873)) | (1 << (SqlParser.STRCMP - 873)) | (1 << (SqlParser.STR_TO_DATE - 873)) | (1 << (SqlParser.ST_AREA - 873)) | (1 << (SqlParser.ST_ASBINARY - 873)))) !== 0) || ((((_la - 905)) & ~0x1f) == 0 && ((1 << (_la - 905)) & ((1 << (SqlParser.ST_ASTEXT - 905)) | (1 << (SqlParser.ST_ASWKB - 905)) | (1 << (SqlParser.ST_ASWKT - 905)) | (1 << (SqlParser.ST_BUFFER - 905)) | (1 << (SqlParser.ST_CENTROID - 905)) | (1 << (SqlParser.ST_CONTAINS - 905)) | (1 << (SqlParser.ST_CROSSES - 905)) | (1 << (SqlParser.ST_DIFFERENCE - 905)) | (1 << (SqlParser.ST_DIMENSION - 905)) | (1 << (SqlParser.ST_DISJOINT - 905)) | (1 << (SqlParser.ST_DISTANCE - 905)) | (1 << (SqlParser.ST_ENDPOINT - 905)) | (1 << (SqlParser.ST_ENVELOPE - 905)) | (1 << (SqlParser.ST_EQUALS - 905)) | (1 << (SqlParser.ST_EXTERIORRING - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYN - 905)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 905)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMFROMWKB - 905)) | (1 << (SqlParser.ST_INTERIORRINGN - 905)) | (1 << (SqlParser.ST_INTERSECTION - 905)) | (1 << (SqlParser.ST_INTERSECTS - 905)) | (1 << (SqlParser.ST_ISCLOSED - 905)) | (1 << (SqlParser.ST_ISEMPTY - 905)) | (1 << (SqlParser.ST_ISSIMPLE - 905)))) !== 0) || ((((_la - 937)) & ~0x1f) == 0 && ((1 << (_la - 937)) & ((1 << (SqlParser.ST_LINEFROMTEXT - 937)) | (1 << (SqlParser.ST_LINEFROMWKB - 937)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 937)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 937)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 937)) | (1 << (SqlParser.ST_NUMINTERIORRING - 937)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 937)) | (1 << (SqlParser.ST_NUMPOINTS - 937)) | (1 << (SqlParser.ST_OVERLAPS - 937)) | (1 << (SqlParser.ST_POINTFROMTEXT - 937)) | (1 << (SqlParser.ST_POINTFROMWKB - 937)) | (1 << (SqlParser.ST_POINTN - 937)) | (1 << (SqlParser.ST_POLYFROMTEXT - 937)) | (1 << (SqlParser.ST_POLYFROMWKB - 937)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 937)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 937)) | (1 << (SqlParser.ST_SRID - 937)) | (1 << (SqlParser.ST_STARTPOINT - 937)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 937)) | (1 << (SqlParser.ST_TOUCHES - 937)) | (1 << (SqlParser.ST_UNION - 937)) | (1 << (SqlParser.ST_WITHIN - 937)) | (1 << (SqlParser.ST_X - 937)) | (1 << (SqlParser.ST_Y - 937)) | (1 << (SqlParser.SUBDATE - 937)) | (1 << (SqlParser.SUBSTRING_INDEX - 937)) | (1 << (SqlParser.SUBTIME - 937)) | (1 << (SqlParser.SYSTEM_USER - 937)) | (1 << (SqlParser.TAN - 937)) | (1 << (SqlParser.TIMEDIFF - 937)) | (1 << (SqlParser.TIMESTAMPADD - 937)) | (1 << (SqlParser.TIMESTAMPDIFF - 937)))) !== 0) || ((((_la - 969)) & ~0x1f) == 0 && ((1 << (_la - 969)) & ((1 << (SqlParser.TIME_FORMAT - 969)) | (1 << (SqlParser.TIME_TO_SEC - 969)) | (1 << (SqlParser.TOUCHES - 969)) | (1 << (SqlParser.TO_BASE64 - 969)) | (1 << (SqlParser.TO_DAYS - 969)) | (1 << (SqlParser.TO_SECONDS - 969)) | (1 << (SqlParser.UCASE - 969)) | (1 << (SqlParser.UNCOMPRESS - 969)) | (1 << (SqlParser.UNCOMPRESSED_LENGTH - 969)) | (1 << (SqlParser.UNHEX - 969)) | (1 << (SqlParser.UNIX_TIMESTAMP - 969)) | (1 << (SqlParser.UPDATEXML - 969)) | (1 << (SqlParser.UPPER - 969)) | (1 << (SqlParser.UUID - 969)) | (1 << (SqlParser.UUID_SHORT - 969)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 969)) | (1 << (SqlParser.VERSION - 969)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 969)) | (1 << (SqlParser.WEEKDAY - 969)) | (1 << (SqlParser.WEEKOFYEAR - 969)) | (1 << (SqlParser.WEIGHT_STRING - 969)) | (1 << (SqlParser.WITHIN - 969)) | (1 << (SqlParser.YEARWEEK - 969)) | (1 << (SqlParser.Y_FUNCTION - 969)) | (1 << (SqlParser.X_FUNCTION - 969)))) !== 0) || ((((_la - 1006)) & ~0x1f) == 0 && ((1 << (_la - 1006)) & ((1 << (SqlParser.PLUS - 1006)) | (1 << (SqlParser.MINUS - 1006)) | (1 << (SqlParser.EXCLAMATION_SYMBOL - 1006)) | (1 << (SqlParser.BIT_NOT_OP - 1006)) | (1 << (SqlParser.LR_BRACKET - 1006)) | (1 << (SqlParser.ZERO_DECIMAL - 1006)) | (1 << (SqlParser.ONE_DECIMAL - 1006)) | (1 << (SqlParser.TWO_DECIMAL - 1006)) | (1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1006)) | (1 << (SqlParser.START_NATIONAL_STRING_LITERAL - 1006)) | (1 << (SqlParser.STRING_LITERAL - 1006)) | (1 << (SqlParser.DECIMAL_LITERAL - 1006)) | (1 << (SqlParser.HEXADECIMAL_LITERAL - 1006)))) !== 0) || ((((_la - 1038)) & ~0x1f) == 0 && ((1 << (_la - 1038)) & ((1 << (SqlParser.REAL_LITERAL - 1038)) | (1 << (SqlParser.NULL_SPEC_LITERAL - 1038)) | (1 << (SqlParser.BIT_STRING - 1038)) | (1 << (SqlParser.STRING_CHARSET_NAME - 1038)) | (1 << (SqlParser.ID - 1038)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1038)) | (1 << (SqlParser.LOCAL_ID - 1038)) | (1 << (SqlParser.GLOBAL_ID - 1038)))) !== 0)) { + this.state = 3066; + this.expressionsWithDefaults(); + } + + this.state = 3069; + this.match(SqlParser.RR_BRACKET); + this.state = 3074; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UpdatedElementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_updatedElement; + return this; +} + +UpdatedElementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UpdatedElementContext.prototype.constructor = UpdatedElementContext; + +UpdatedElementContext.prototype.fullColumnName = function() { + return this.getTypedRuleContext(FullColumnNameContext,0); +}; + +UpdatedElementContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +UpdatedElementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +UpdatedElementContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +UpdatedElementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUpdatedElement(this); + } +}; + +UpdatedElementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUpdatedElement(this); + } +}; + +UpdatedElementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUpdatedElement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UpdatedElementContext = UpdatedElementContext; + +SqlParser.prototype.updatedElement = function() { + + var localctx = new UpdatedElementContext(this, this._ctx, this.state); + this.enterRule(localctx, 186, SqlParser.RULE_updatedElement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3077; + this.fullColumnName(); + this.state = 3078; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3081; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CASE: + case SqlParser.CAST: + case SqlParser.CONVERT: + case SqlParser.CURRENT: + case SqlParser.CURRENT_USER: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.EXISTS: + case SqlParser.FALSE: + case SqlParser.IF: + case SqlParser.INSERT: + case SqlParser.INTERVAL: + case SqlParser.LEFT: + case SqlParser.NOT: + case SqlParser.NULL_LITERAL: + case SqlParser.NUMBER: + case SqlParser.REPLACE: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.TRUE: + case SqlParser.VALUES: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.CHAR: + case SqlParser.BINARY: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.AVG: + case SqlParser.BIT_AND: + case SqlParser.BIT_OR: + case SqlParser.BIT_XOR: + case SqlParser.COUNT: + case SqlParser.GROUP_CONCAT: + case SqlParser.MAX: + case SqlParser.MIN: + case SqlParser.STD: + case SqlParser.STDDEV: + case SqlParser.STDDEV_POP: + case SqlParser.STDDEV_SAMP: + case SqlParser.SUM: + case SqlParser.VAR_POP: + case SqlParser.VAR_SAMP: + case SqlParser.VARIANCE: + case SqlParser.CURRENT_DATE: + case SqlParser.CURRENT_TIME: + case SqlParser.CURRENT_TIMESTAMP: + case SqlParser.LOCALTIME: + case SqlParser.CURDATE: + case SqlParser.CURTIME: + case SqlParser.DATE_ADD: + case SqlParser.DATE_SUB: + case SqlParser.EXTRACT: + case SqlParser.LOCALTIMESTAMP: + case SqlParser.NOW: + case SqlParser.POSITION: + case SqlParser.SUBSTR: + case SqlParser.SUBSTRING: + case SqlParser.SYSDATE: + case SqlParser.TRIM: + case SqlParser.UTC_DATE: + case SqlParser.UTC_TIME: + case SqlParser.UTC_TIMESTAMP: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.PLUS: + case SqlParser.MINUS: + case SqlParser.EXCLAMATION_SYMBOL: + case SqlParser.BIT_NOT_OP: + case SqlParser.LR_BRACKET: + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.START_NATIONAL_STRING_LITERAL: + case SqlParser.STRING_LITERAL: + case SqlParser.DECIMAL_LITERAL: + case SqlParser.HEXADECIMAL_LITERAL: + case SqlParser.REAL_LITERAL: + case SqlParser.NULL_SPEC_LITERAL: + case SqlParser.BIT_STRING: + case SqlParser.STRING_CHARSET_NAME: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + case SqlParser.LOCAL_ID: + case SqlParser.GLOBAL_ID: + this.state = 3079; + this.expression(0); + break; + case SqlParser.DEFAULT: + this.state = 3080; + this.match(SqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AssignmentFieldContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_assignmentField; + return this; +} + +AssignmentFieldContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AssignmentFieldContext.prototype.constructor = AssignmentFieldContext; + +AssignmentFieldContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AssignmentFieldContext.prototype.LOCAL_ID = function() { + return this.getToken(SqlParser.LOCAL_ID, 0); +}; + +AssignmentFieldContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAssignmentField(this); + } +}; + +AssignmentFieldContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAssignmentField(this); + } +}; + +AssignmentFieldContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAssignmentField(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AssignmentFieldContext = AssignmentFieldContext; + +SqlParser.prototype.assignmentField = function() { + + var localctx = new AssignmentFieldContext(this, this._ctx, this.state); + this.enterRule(localctx, 188, SqlParser.RULE_assignmentField); + try { + this.state = 3085; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.enterOuterAlt(localctx, 1); + this.state = 3083; + this.uid(); + break; + case SqlParser.LOCAL_ID: + this.enterOuterAlt(localctx, 2); + this.state = 3084; + this.match(SqlParser.LOCAL_ID); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LockClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_lockClause; + return this; +} + +LockClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LockClauseContext.prototype.constructor = LockClauseContext; + +LockClauseContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +LockClauseContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +LockClauseContext.prototype.LOCK = function() { + return this.getToken(SqlParser.LOCK, 0); +}; + +LockClauseContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; + +LockClauseContext.prototype.SHARE = function() { + return this.getToken(SqlParser.SHARE, 0); +}; + +LockClauseContext.prototype.MODE = function() { + return this.getToken(SqlParser.MODE, 0); +}; + +LockClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLockClause(this); + } +}; + +LockClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLockClause(this); + } +}; + +LockClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLockClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LockClauseContext = LockClauseContext; + +SqlParser.prototype.lockClause = function() { + + var localctx = new LockClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 190, SqlParser.RULE_lockClause); + try { + this.state = 3093; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.FOR: + this.enterOuterAlt(localctx, 1); + this.state = 3087; + this.match(SqlParser.FOR); + this.state = 3088; + this.match(SqlParser.UPDATE); + break; + case SqlParser.LOCK: + this.enterOuterAlt(localctx, 2); + this.state = 3089; + this.match(SqlParser.LOCK); + this.state = 3090; + this.match(SqlParser.IN); + this.state = 3091; + this.match(SqlParser.SHARE); + this.state = 3092; + this.match(SqlParser.MODE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SingleDeleteStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_singleDeleteStatement; + this.priority = null; // Token + return this; +} + +SingleDeleteStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SingleDeleteStatementContext.prototype.constructor = SingleDeleteStatementContext; + +SingleDeleteStatementContext.prototype.DELETE = function() { + return this.getToken(SqlParser.DELETE, 0); +}; + +SingleDeleteStatementContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +SingleDeleteStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +SingleDeleteStatementContext.prototype.QUICK = function() { + return this.getToken(SqlParser.QUICK, 0); +}; + +SingleDeleteStatementContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +SingleDeleteStatementContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +SingleDeleteStatementContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +SingleDeleteStatementContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +SingleDeleteStatementContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +SingleDeleteStatementContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +SingleDeleteStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +SingleDeleteStatementContext.prototype.orderByClause = function() { + return this.getTypedRuleContext(OrderByClauseContext,0); +}; + +SingleDeleteStatementContext.prototype.LIMIT = function() { + return this.getToken(SqlParser.LIMIT, 0); +}; + +SingleDeleteStatementContext.prototype.limitClauseAtom = function() { + return this.getTypedRuleContext(LimitClauseAtomContext,0); +}; + +SingleDeleteStatementContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +SingleDeleteStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSingleDeleteStatement(this); + } +}; + +SingleDeleteStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSingleDeleteStatement(this); + } +}; + +SingleDeleteStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSingleDeleteStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SingleDeleteStatementContext = SingleDeleteStatementContext; + +SqlParser.prototype.singleDeleteStatement = function() { + + var localctx = new SingleDeleteStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 192, SqlParser.RULE_singleDeleteStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3095; + this.match(SqlParser.DELETE); + this.state = 3097; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOW_PRIORITY) { + this.state = 3096; + localctx.priority = this.match(SqlParser.LOW_PRIORITY); + } + + this.state = 3100; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.QUICK) { + this.state = 3099; + this.match(SqlParser.QUICK); + } + + this.state = 3103; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 3102; + this.match(SqlParser.IGNORE); + } + + this.state = 3105; + this.match(SqlParser.FROM); + this.state = 3106; + this.tableName(); + this.state = 3112; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 3107; + this.match(SqlParser.PARTITION); + this.state = 3108; + this.match(SqlParser.LR_BRACKET); + this.state = 3109; + this.uidList(); + this.state = 3110; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 3116; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WHERE) { + this.state = 3114; + this.match(SqlParser.WHERE); + this.state = 3115; + this.expression(0); + } + + this.state = 3119; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ORDER) { + this.state = 3118; + this.orderByClause(); + } + + this.state = 3123; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIMIT) { + this.state = 3121; + this.match(SqlParser.LIMIT); + this.state = 3122; + this.limitClauseAtom(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function MultipleDeleteStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_multipleDeleteStatement; + this.priority = null; // Token + return this; +} + +MultipleDeleteStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +MultipleDeleteStatementContext.prototype.constructor = MultipleDeleteStatementContext; + +MultipleDeleteStatementContext.prototype.DELETE = function() { + return this.getToken(SqlParser.DELETE, 0); +}; + +MultipleDeleteStatementContext.prototype.tableName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableNameContext); + } else { + return this.getTypedRuleContext(TableNameContext,i); + } +}; + +MultipleDeleteStatementContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +MultipleDeleteStatementContext.prototype.tableSources = function() { + return this.getTypedRuleContext(TableSourcesContext,0); +}; + +MultipleDeleteStatementContext.prototype.USING = function() { + return this.getToken(SqlParser.USING, 0); +}; + +MultipleDeleteStatementContext.prototype.QUICK = function() { + return this.getToken(SqlParser.QUICK, 0); +}; + +MultipleDeleteStatementContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +MultipleDeleteStatementContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +MultipleDeleteStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +MultipleDeleteStatementContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +MultipleDeleteStatementContext.prototype.DOT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.DOT); + } else { + return this.getToken(SqlParser.DOT, i); + } +}; + + +MultipleDeleteStatementContext.prototype.STAR = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.STAR); + } else { + return this.getToken(SqlParser.STAR, i); + } +}; + + +MultipleDeleteStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +MultipleDeleteStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMultipleDeleteStatement(this); + } +}; + +MultipleDeleteStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMultipleDeleteStatement(this); + } +}; + +MultipleDeleteStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMultipleDeleteStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.MultipleDeleteStatementContext = MultipleDeleteStatementContext; + +SqlParser.prototype.multipleDeleteStatement = function() { + + var localctx = new MultipleDeleteStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 194, SqlParser.RULE_multipleDeleteStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3125; + this.match(SqlParser.DELETE); + this.state = 3127; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOW_PRIORITY) { + this.state = 3126; + localctx.priority = this.match(SqlParser.LOW_PRIORITY); + } + + this.state = 3130; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,431,this._ctx); + if(la_===1) { + this.state = 3129; + this.match(SqlParser.QUICK); + + } + this.state = 3133; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 3132; + this.match(SqlParser.IGNORE); + } + + this.state = 3174; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 3135; + this.tableName(); + this.state = 3138; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DOT) { + this.state = 3136; + this.match(SqlParser.DOT); + this.state = 3137; + this.match(SqlParser.STAR); + } + + this.state = 3148; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3140; + this.match(SqlParser.COMMA); + this.state = 3141; + this.tableName(); + this.state = 3144; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DOT) { + this.state = 3142; + this.match(SqlParser.DOT); + this.state = 3143; + this.match(SqlParser.STAR); + } + + this.state = 3150; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3151; + this.match(SqlParser.FROM); + this.state = 3152; + this.tableSources(); + break; + case SqlParser.FROM: + this.state = 3154; + this.match(SqlParser.FROM); + this.state = 3155; + this.tableName(); + this.state = 3158; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DOT) { + this.state = 3156; + this.match(SqlParser.DOT); + this.state = 3157; + this.match(SqlParser.STAR); + } + + this.state = 3168; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3160; + this.match(SqlParser.COMMA); + this.state = 3161; + this.tableName(); + this.state = 3164; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DOT) { + this.state = 3162; + this.match(SqlParser.DOT); + this.state = 3163; + this.match(SqlParser.STAR); + } + + this.state = 3170; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3171; + this.match(SqlParser.USING); + this.state = 3172; + this.tableSources(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3178; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WHERE) { + this.state = 3176; + this.match(SqlParser.WHERE); + this.state = 3177; + this.expression(0); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HandlerOpenStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_handlerOpenStatement; + return this; +} + +HandlerOpenStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HandlerOpenStatementContext.prototype.constructor = HandlerOpenStatementContext; + +HandlerOpenStatementContext.prototype.HANDLER = function() { + return this.getToken(SqlParser.HANDLER, 0); +}; + +HandlerOpenStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +HandlerOpenStatementContext.prototype.OPEN = function() { + return this.getToken(SqlParser.OPEN, 0); +}; + +HandlerOpenStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +HandlerOpenStatementContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +HandlerOpenStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerOpenStatement(this); + } +}; + +HandlerOpenStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerOpenStatement(this); + } +}; + +HandlerOpenStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerOpenStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.HandlerOpenStatementContext = HandlerOpenStatementContext; + +SqlParser.prototype.handlerOpenStatement = function() { + + var localctx = new HandlerOpenStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 196, SqlParser.RULE_handlerOpenStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3180; + this.match(SqlParser.HANDLER); + this.state = 3181; + this.tableName(); + this.state = 3182; + this.match(SqlParser.OPEN); + this.state = 3187; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,442,this._ctx); + if(la_===1) { + this.state = 3184; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 3183; + this.match(SqlParser.AS); + } + + this.state = 3186; + this.uid(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HandlerReadIndexStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_handlerReadIndexStatement; + this.index = null; // UidContext + this.moveOrder = null; // Token + return this; +} + +HandlerReadIndexStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HandlerReadIndexStatementContext.prototype.constructor = HandlerReadIndexStatementContext; + +HandlerReadIndexStatementContext.prototype.HANDLER = function() { + return this.getToken(SqlParser.HANDLER, 0); +}; + +HandlerReadIndexStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +HandlerReadIndexStatementContext.prototype.READ = function() { + return this.getToken(SqlParser.READ, 0); +}; + +HandlerReadIndexStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +HandlerReadIndexStatementContext.prototype.comparisonOperator = function() { + return this.getTypedRuleContext(ComparisonOperatorContext,0); +}; + +HandlerReadIndexStatementContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +HandlerReadIndexStatementContext.prototype.constants = function() { + return this.getTypedRuleContext(ConstantsContext,0); +}; + +HandlerReadIndexStatementContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +HandlerReadIndexStatementContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +HandlerReadIndexStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +HandlerReadIndexStatementContext.prototype.LIMIT = function() { + return this.getToken(SqlParser.LIMIT, 0); +}; + +HandlerReadIndexStatementContext.prototype.limitClauseAtom = function() { + return this.getTypedRuleContext(LimitClauseAtomContext,0); +}; + +HandlerReadIndexStatementContext.prototype.FIRST = function() { + return this.getToken(SqlParser.FIRST, 0); +}; + +HandlerReadIndexStatementContext.prototype.NEXT = function() { + return this.getToken(SqlParser.NEXT, 0); +}; + +HandlerReadIndexStatementContext.prototype.PREV = function() { + return this.getToken(SqlParser.PREV, 0); +}; + +HandlerReadIndexStatementContext.prototype.LAST = function() { + return this.getToken(SqlParser.LAST, 0); +}; + +HandlerReadIndexStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerReadIndexStatement(this); + } +}; + +HandlerReadIndexStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerReadIndexStatement(this); + } +}; + +HandlerReadIndexStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerReadIndexStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.HandlerReadIndexStatementContext = HandlerReadIndexStatementContext; + +SqlParser.prototype.handlerReadIndexStatement = function() { + + var localctx = new HandlerReadIndexStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 198, SqlParser.RULE_handlerReadIndexStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3189; + this.match(SqlParser.HANDLER); + this.state = 3190; + this.tableName(); + this.state = 3191; + this.match(SqlParser.READ); + this.state = 3192; + localctx.index = this.uid(); + this.state = 3199; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.EQUAL_SYMBOL: + case SqlParser.GREATER_SYMBOL: + case SqlParser.LESS_SYMBOL: + case SqlParser.EXCLAMATION_SYMBOL: + this.state = 3193; + this.comparisonOperator(); + this.state = 3194; + this.match(SqlParser.LR_BRACKET); + this.state = 3195; + this.constants(); + this.state = 3196; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.FIRST: + case SqlParser.LAST: + case SqlParser.NEXT: + case SqlParser.PREV: + this.state = 3198; + localctx.moveOrder = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FIRST || _la===SqlParser.LAST || _la===SqlParser.NEXT || _la===SqlParser.PREV)) { + localctx.moveOrder = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3203; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WHERE) { + this.state = 3201; + this.match(SqlParser.WHERE); + this.state = 3202; + this.expression(0); + } + + this.state = 3207; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIMIT) { + this.state = 3205; + this.match(SqlParser.LIMIT); + this.state = 3206; + this.limitClauseAtom(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HandlerReadStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_handlerReadStatement; + this.moveOrder = null; // Token + return this; +} + +HandlerReadStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HandlerReadStatementContext.prototype.constructor = HandlerReadStatementContext; + +HandlerReadStatementContext.prototype.HANDLER = function() { + return this.getToken(SqlParser.HANDLER, 0); +}; + +HandlerReadStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +HandlerReadStatementContext.prototype.READ = function() { + return this.getToken(SqlParser.READ, 0); +}; + +HandlerReadStatementContext.prototype.FIRST = function() { + return this.getToken(SqlParser.FIRST, 0); +}; + +HandlerReadStatementContext.prototype.NEXT = function() { + return this.getToken(SqlParser.NEXT, 0); +}; + +HandlerReadStatementContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +HandlerReadStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +HandlerReadStatementContext.prototype.LIMIT = function() { + return this.getToken(SqlParser.LIMIT, 0); +}; + +HandlerReadStatementContext.prototype.limitClauseAtom = function() { + return this.getTypedRuleContext(LimitClauseAtomContext,0); +}; + +HandlerReadStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerReadStatement(this); + } +}; + +HandlerReadStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerReadStatement(this); + } +}; + +HandlerReadStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerReadStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.HandlerReadStatementContext = HandlerReadStatementContext; + +SqlParser.prototype.handlerReadStatement = function() { + + var localctx = new HandlerReadStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 200, SqlParser.RULE_handlerReadStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3209; + this.match(SqlParser.HANDLER); + this.state = 3210; + this.tableName(); + this.state = 3211; + this.match(SqlParser.READ); + this.state = 3212; + localctx.moveOrder = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FIRST || _la===SqlParser.NEXT)) { + localctx.moveOrder = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3215; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WHERE) { + this.state = 3213; + this.match(SqlParser.WHERE); + this.state = 3214; + this.expression(0); + } + + this.state = 3219; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIMIT) { + this.state = 3217; + this.match(SqlParser.LIMIT); + this.state = 3218; + this.limitClauseAtom(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HandlerCloseStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_handlerCloseStatement; + return this; +} + +HandlerCloseStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HandlerCloseStatementContext.prototype.constructor = HandlerCloseStatementContext; + +HandlerCloseStatementContext.prototype.HANDLER = function() { + return this.getToken(SqlParser.HANDLER, 0); +}; + +HandlerCloseStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +HandlerCloseStatementContext.prototype.CLOSE = function() { + return this.getToken(SqlParser.CLOSE, 0); +}; + +HandlerCloseStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerCloseStatement(this); + } +}; + +HandlerCloseStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerCloseStatement(this); + } +}; + +HandlerCloseStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerCloseStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.HandlerCloseStatementContext = HandlerCloseStatementContext; + +SqlParser.prototype.handlerCloseStatement = function() { + + var localctx = new HandlerCloseStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 202, SqlParser.RULE_handlerCloseStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3221; + this.match(SqlParser.HANDLER); + this.state = 3222; + this.tableName(); + this.state = 3223; + this.match(SqlParser.CLOSE); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SingleUpdateStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_singleUpdateStatement; + this.priority = null; // Token + return this; +} + +SingleUpdateStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SingleUpdateStatementContext.prototype.constructor = SingleUpdateStatementContext; + +SingleUpdateStatementContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +SingleUpdateStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +SingleUpdateStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SingleUpdateStatementContext.prototype.updatedElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UpdatedElementContext); + } else { + return this.getTypedRuleContext(UpdatedElementContext,i); + } +}; + +SingleUpdateStatementContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +SingleUpdateStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SingleUpdateStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +SingleUpdateStatementContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +SingleUpdateStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +SingleUpdateStatementContext.prototype.orderByClause = function() { + return this.getTypedRuleContext(OrderByClauseContext,0); +}; + +SingleUpdateStatementContext.prototype.limitClause = function() { + return this.getTypedRuleContext(LimitClauseContext,0); +}; + +SingleUpdateStatementContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +SingleUpdateStatementContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +SingleUpdateStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSingleUpdateStatement(this); + } +}; + +SingleUpdateStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSingleUpdateStatement(this); + } +}; + +SingleUpdateStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSingleUpdateStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SingleUpdateStatementContext = SingleUpdateStatementContext; + +SqlParser.prototype.singleUpdateStatement = function() { + + var localctx = new SingleUpdateStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 204, SqlParser.RULE_singleUpdateStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3225; + this.match(SqlParser.UPDATE); + this.state = 3227; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOW_PRIORITY) { + this.state = 3226; + localctx.priority = this.match(SqlParser.LOW_PRIORITY); + } + + this.state = 3230; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 3229; + this.match(SqlParser.IGNORE); + } + + this.state = 3232; + this.tableName(); + this.state = 3237; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 3234; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 3233; + this.match(SqlParser.AS); + } + + this.state = 3236; + this.uid(); + } + + this.state = 3239; + this.match(SqlParser.SET); + this.state = 3240; + this.updatedElement(); + this.state = 3245; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3241; + this.match(SqlParser.COMMA); + this.state = 3242; + this.updatedElement(); + this.state = 3247; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3250; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WHERE) { + this.state = 3248; + this.match(SqlParser.WHERE); + this.state = 3249; + this.expression(0); + } + + this.state = 3253; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ORDER) { + this.state = 3252; + this.orderByClause(); + } + + this.state = 3256; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIMIT) { + this.state = 3255; + this.limitClause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function MultipleUpdateStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_multipleUpdateStatement; + this.priority = null; // Token + return this; +} + +MultipleUpdateStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +MultipleUpdateStatementContext.prototype.constructor = MultipleUpdateStatementContext; + +MultipleUpdateStatementContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +MultipleUpdateStatementContext.prototype.tableSources = function() { + return this.getTypedRuleContext(TableSourcesContext,0); +}; + +MultipleUpdateStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +MultipleUpdateStatementContext.prototype.updatedElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UpdatedElementContext); + } else { + return this.getTypedRuleContext(UpdatedElementContext,i); + } +}; + +MultipleUpdateStatementContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +MultipleUpdateStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +MultipleUpdateStatementContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +MultipleUpdateStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +MultipleUpdateStatementContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +MultipleUpdateStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMultipleUpdateStatement(this); + } +}; + +MultipleUpdateStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMultipleUpdateStatement(this); + } +}; + +MultipleUpdateStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMultipleUpdateStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.MultipleUpdateStatementContext = MultipleUpdateStatementContext; + +SqlParser.prototype.multipleUpdateStatement = function() { + + var localctx = new MultipleUpdateStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 206, SqlParser.RULE_multipleUpdateStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3258; + this.match(SqlParser.UPDATE); + this.state = 3260; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOW_PRIORITY) { + this.state = 3259; + localctx.priority = this.match(SqlParser.LOW_PRIORITY); + } + + this.state = 3263; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 3262; + this.match(SqlParser.IGNORE); + } + + this.state = 3265; + this.tableSources(); + this.state = 3266; + this.match(SqlParser.SET); + this.state = 3267; + this.updatedElement(); + this.state = 3272; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3268; + this.match(SqlParser.COMMA); + this.state = 3269; + this.updatedElement(); + this.state = 3274; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3277; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WHERE) { + this.state = 3275; + this.match(SqlParser.WHERE); + this.state = 3276; + this.expression(0); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function OrderByClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_orderByClause; + return this; +} + +OrderByClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +OrderByClauseContext.prototype.constructor = OrderByClauseContext; + +OrderByClauseContext.prototype.ORDER = function() { + return this.getToken(SqlParser.ORDER, 0); +}; + +OrderByClauseContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +OrderByClauseContext.prototype.orderByExpression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(OrderByExpressionContext); + } else { + return this.getTypedRuleContext(OrderByExpressionContext,i); + } +}; + +OrderByClauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +OrderByClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterOrderByClause(this); + } +}; + +OrderByClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitOrderByClause(this); + } +}; + +OrderByClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitOrderByClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.OrderByClauseContext = OrderByClauseContext; + +SqlParser.prototype.orderByClause = function() { + + var localctx = new OrderByClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 208, SqlParser.RULE_orderByClause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3279; + this.match(SqlParser.ORDER); + this.state = 3280; + this.match(SqlParser.BY); + this.state = 3281; + this.orderByExpression(); + this.state = 3286; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3282; + this.match(SqlParser.COMMA); + this.state = 3283; + this.orderByExpression(); + this.state = 3288; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function OrderByExpressionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_orderByExpression; + this.order = null; // Token + return this; +} + +OrderByExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +OrderByExpressionContext.prototype.constructor = OrderByExpressionContext; + +OrderByExpressionContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +OrderByExpressionContext.prototype.ASC = function() { + return this.getToken(SqlParser.ASC, 0); +}; + +OrderByExpressionContext.prototype.DESC = function() { + return this.getToken(SqlParser.DESC, 0); +}; + +OrderByExpressionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterOrderByExpression(this); + } +}; + +OrderByExpressionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitOrderByExpression(this); + } +}; + +OrderByExpressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitOrderByExpression(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.OrderByExpressionContext = OrderByExpressionContext; + +SqlParser.prototype.orderByExpression = function() { + + var localctx = new OrderByExpressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 210, SqlParser.RULE_orderByExpression); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3289; + this.expression(0); + this.state = 3291; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,461,this._ctx); + if(la_===1) { + this.state = 3290; + localctx.order = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ASC || _la===SqlParser.DESC)) { + localctx.order = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TableSourcesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tableSources; + return this; +} + +TableSourcesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TableSourcesContext.prototype.constructor = TableSourcesContext; + +TableSourcesContext.prototype.tableSource = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableSourceContext); + } else { + return this.getTypedRuleContext(TableSourceContext,i); + } +}; + +TableSourcesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +TableSourcesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableSources(this); + } +}; + +TableSourcesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableSources(this); + } +}; + +TableSourcesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableSources(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TableSourcesContext = TableSourcesContext; + +SqlParser.prototype.tableSources = function() { + + var localctx = new TableSourcesContext(this, this._ctx, this.state); + this.enterRule(localctx, 212, SqlParser.RULE_tableSources); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3293; + this.tableSource(); + this.state = 3298; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3294; + this.match(SqlParser.COMMA); + this.state = 3295; + this.tableSource(); + this.state = 3300; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TableSourceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tableSource; + return this; +} + +TableSourceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TableSourceContext.prototype.constructor = TableSourceContext; + + + +TableSourceContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function TableSourceNestedContext(parser, ctx) { + TableSourceContext.call(this, parser); + TableSourceContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableSourceNestedContext.prototype = Object.create(TableSourceContext.prototype); +TableSourceNestedContext.prototype.constructor = TableSourceNestedContext; + +SqlParser.TableSourceNestedContext = TableSourceNestedContext; + +TableSourceNestedContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +TableSourceNestedContext.prototype.tableSourceItem = function() { + return this.getTypedRuleContext(TableSourceItemContext,0); +}; + +TableSourceNestedContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +TableSourceNestedContext.prototype.joinPart = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(JoinPartContext); + } else { + return this.getTypedRuleContext(JoinPartContext,i); + } +}; +TableSourceNestedContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableSourceNested(this); + } +}; + +TableSourceNestedContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableSourceNested(this); + } +}; + +TableSourceNestedContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableSourceNested(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableSourceBaseContext(parser, ctx) { + TableSourceContext.call(this, parser); + TableSourceContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableSourceBaseContext.prototype = Object.create(TableSourceContext.prototype); +TableSourceBaseContext.prototype.constructor = TableSourceBaseContext; + +SqlParser.TableSourceBaseContext = TableSourceBaseContext; + +TableSourceBaseContext.prototype.tableSourceItem = function() { + return this.getTypedRuleContext(TableSourceItemContext,0); +}; + +TableSourceBaseContext.prototype.joinPart = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(JoinPartContext); + } else { + return this.getTypedRuleContext(JoinPartContext,i); + } +}; +TableSourceBaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableSourceBase(this); + } +}; + +TableSourceBaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableSourceBase(this); + } +}; + +TableSourceBaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableSourceBase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.TableSourceContext = TableSourceContext; + +SqlParser.prototype.tableSource = function() { + + var localctx = new TableSourceContext(this, this._ctx, this.state); + this.enterRule(localctx, 214, SqlParser.RULE_tableSource); + var _la = 0; // Token type + try { + this.state = 3318; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,465,this._ctx); + switch(la_) { + case 1: + localctx = new TableSourceBaseContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 3301; + this.tableSourceItem(); + this.state = 3305; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,463,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3302; + this.joinPart(); + } + this.state = 3307; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,463,this._ctx); + } + + break; + + case 2: + localctx = new TableSourceNestedContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3308; + this.match(SqlParser.LR_BRACKET); + this.state = 3309; + this.tableSourceItem(); + this.state = 3313; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.CROSS || ((((_la - 74)) & ~0x1f) == 0 && ((1 << (_la - 74)) & ((1 << (SqlParser.INNER - 74)) | (1 << (SqlParser.JOIN - 74)) | (1 << (SqlParser.LEFT - 74)) | (1 << (SqlParser.NATURAL - 74)))) !== 0) || _la===SqlParser.RIGHT || _la===SqlParser.STRAIGHT_JOIN) { + this.state = 3310; + this.joinPart(); + this.state = 3315; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3316; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TableSourceItemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tableSourceItem; + return this; +} + +TableSourceItemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TableSourceItemContext.prototype.constructor = TableSourceItemContext; + + + +TableSourceItemContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SubqueryTableItemContext(parser, ctx) { + TableSourceItemContext.call(this, parser); + this.parenthesisSubquery = null; // SelectStatementContext; + this.alias = null; // UidContext; + TableSourceItemContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SubqueryTableItemContext.prototype = Object.create(TableSourceItemContext.prototype); +SubqueryTableItemContext.prototype.constructor = SubqueryTableItemContext; + +SqlParser.SubqueryTableItemContext = SubqueryTableItemContext; + +SubqueryTableItemContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SubqueryTableItemContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +SubqueryTableItemContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +SubqueryTableItemContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +SubqueryTableItemContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; +SubqueryTableItemContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSubqueryTableItem(this); + } +}; + +SubqueryTableItemContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSubqueryTableItem(this); + } +}; + +SubqueryTableItemContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSubqueryTableItem(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AtomTableItemContext(parser, ctx) { + TableSourceItemContext.call(this, parser); + this.alias = null; // UidContext; + TableSourceItemContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AtomTableItemContext.prototype = Object.create(TableSourceItemContext.prototype); +AtomTableItemContext.prototype.constructor = AtomTableItemContext; + +SqlParser.AtomTableItemContext = AtomTableItemContext; + +AtomTableItemContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +AtomTableItemContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +AtomTableItemContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +AtomTableItemContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +AtomTableItemContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +AtomTableItemContext.prototype.indexHint = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexHintContext); + } else { + return this.getTypedRuleContext(IndexHintContext,i); + } +}; + +AtomTableItemContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AtomTableItemContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +AtomTableItemContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +AtomTableItemContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAtomTableItem(this); + } +}; + +AtomTableItemContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAtomTableItem(this); + } +}; + +AtomTableItemContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAtomTableItem(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TableSourcesItemContext(parser, ctx) { + TableSourceItemContext.call(this, parser); + TableSourceItemContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableSourcesItemContext.prototype = Object.create(TableSourceItemContext.prototype); +TableSourcesItemContext.prototype.constructor = TableSourcesItemContext; + +SqlParser.TableSourcesItemContext = TableSourcesItemContext; + +TableSourcesItemContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +TableSourcesItemContext.prototype.tableSources = function() { + return this.getTypedRuleContext(TableSourcesContext,0); +}; + +TableSourcesItemContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +TableSourcesItemContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableSourcesItem(this); + } +}; + +TableSourcesItemContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableSourcesItem(this); + } +}; + +TableSourcesItemContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableSourcesItem(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.TableSourceItemContext = TableSourceItemContext; + +SqlParser.prototype.tableSourceItem = function() { + + var localctx = new TableSourceItemContext(this, this._ctx, this.state); + this.enterRule(localctx, 216, SqlParser.RULE_tableSourceItem); + var _la = 0; // Token type + try { + this.state = 3360; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,473,this._ctx); + switch(la_) { + case 1: + localctx = new AtomTableItemContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 3320; + this.tableName(); + this.state = 3326; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 3321; + this.match(SqlParser.PARTITION); + this.state = 3322; + this.match(SqlParser.LR_BRACKET); + this.state = 3323; + this.uidList(); + this.state = 3324; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 3332; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,468,this._ctx); + if(la_===1) { + this.state = 3329; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 3328; + this.match(SqlParser.AS); + } + + this.state = 3331; + localctx.alias = this.uid(); + + } + this.state = 3342; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,470,this._ctx); + if(la_===1) { + this.state = 3334; + this.indexHint(); + this.state = 3339; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,469,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3335; + this.match(SqlParser.COMMA); + this.state = 3336; + this.indexHint(); + } + this.state = 3341; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,469,this._ctx); + } + + + } + break; + + case 2: + localctx = new SubqueryTableItemContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3349; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,471,this._ctx); + switch(la_) { + case 1: + this.state = 3344; + this.selectStatement(); + break; + + case 2: + this.state = 3345; + this.match(SqlParser.LR_BRACKET); + this.state = 3346; + localctx.parenthesisSubquery = this.selectStatement(); + this.state = 3347; + this.match(SqlParser.RR_BRACKET); + break; + + } + this.state = 3352; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 3351; + this.match(SqlParser.AS); + } + + this.state = 3354; + localctx.alias = this.uid(); + break; + + case 3: + localctx = new TableSourcesItemContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 3356; + this.match(SqlParser.LR_BRACKET); + this.state = 3357; + this.tableSources(); + this.state = 3358; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IndexHintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_indexHint; + this.indexHintAction = null; // Token + this.keyFormat = null; // Token + return this; +} + +IndexHintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IndexHintContext.prototype.constructor = IndexHintContext; + +IndexHintContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +IndexHintContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +IndexHintContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +IndexHintContext.prototype.USE = function() { + return this.getToken(SqlParser.USE, 0); +}; + +IndexHintContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +IndexHintContext.prototype.FORCE = function() { + return this.getToken(SqlParser.FORCE, 0); +}; + +IndexHintContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +IndexHintContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +IndexHintContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +IndexHintContext.prototype.indexHintType = function() { + return this.getTypedRuleContext(IndexHintTypeContext,0); +}; + +IndexHintContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIndexHint(this); + } +}; + +IndexHintContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIndexHint(this); + } +}; + +IndexHintContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIndexHint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IndexHintContext = IndexHintContext; + +SqlParser.prototype.indexHint = function() { + + var localctx = new IndexHintContext(this, this._ctx, this.state); + this.enterRule(localctx, 218, SqlParser.RULE_indexHint); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3362; + localctx.indexHintAction = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FORCE || _la===SqlParser.IGNORE || _la===SqlParser.USE)) { + localctx.indexHintAction = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3363; + localctx.keyFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.keyFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3366; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 3364; + this.match(SqlParser.FOR); + this.state = 3365; + this.indexHintType(); + } + + this.state = 3368; + this.match(SqlParser.LR_BRACKET); + this.state = 3369; + this.uidList(); + this.state = 3370; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IndexHintTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_indexHintType; + return this; +} + +IndexHintTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IndexHintTypeContext.prototype.constructor = IndexHintTypeContext; + +IndexHintTypeContext.prototype.JOIN = function() { + return this.getToken(SqlParser.JOIN, 0); +}; + +IndexHintTypeContext.prototype.ORDER = function() { + return this.getToken(SqlParser.ORDER, 0); +}; + +IndexHintTypeContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +IndexHintTypeContext.prototype.GROUP = function() { + return this.getToken(SqlParser.GROUP, 0); +}; + +IndexHintTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIndexHintType(this); + } +}; + +IndexHintTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIndexHintType(this); + } +}; + +IndexHintTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIndexHintType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IndexHintTypeContext = IndexHintTypeContext; + +SqlParser.prototype.indexHintType = function() { + + var localctx = new IndexHintTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 220, SqlParser.RULE_indexHintType); + try { + this.state = 3377; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.JOIN: + this.enterOuterAlt(localctx, 1); + this.state = 3372; + this.match(SqlParser.JOIN); + break; + case SqlParser.ORDER: + this.enterOuterAlt(localctx, 2); + this.state = 3373; + this.match(SqlParser.ORDER); + this.state = 3374; + this.match(SqlParser.BY); + break; + case SqlParser.GROUP: + this.enterOuterAlt(localctx, 3); + this.state = 3375; + this.match(SqlParser.GROUP); + this.state = 3376; + this.match(SqlParser.BY); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function JoinPartContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_joinPart; + return this; +} + +JoinPartContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +JoinPartContext.prototype.constructor = JoinPartContext; + + + +JoinPartContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function InnerJoinContext(parser, ctx) { + JoinPartContext.call(this, parser); + JoinPartContext.prototype.copyFrom.call(this, ctx); + return this; +} + +InnerJoinContext.prototype = Object.create(JoinPartContext.prototype); +InnerJoinContext.prototype.constructor = InnerJoinContext; + +SqlParser.InnerJoinContext = InnerJoinContext; + +InnerJoinContext.prototype.JOIN = function() { + return this.getToken(SqlParser.JOIN, 0); +}; + +InnerJoinContext.prototype.tableSourceItem = function() { + return this.getTypedRuleContext(TableSourceItemContext,0); +}; + +InnerJoinContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +InnerJoinContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +InnerJoinContext.prototype.USING = function() { + return this.getToken(SqlParser.USING, 0); +}; + +InnerJoinContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +InnerJoinContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +InnerJoinContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +InnerJoinContext.prototype.INNER = function() { + return this.getToken(SqlParser.INNER, 0); +}; + +InnerJoinContext.prototype.CROSS = function() { + return this.getToken(SqlParser.CROSS, 0); +}; +InnerJoinContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterInnerJoin(this); + } +}; + +InnerJoinContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitInnerJoin(this); + } +}; + +InnerJoinContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitInnerJoin(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function NaturalJoinContext(parser, ctx) { + JoinPartContext.call(this, parser); + JoinPartContext.prototype.copyFrom.call(this, ctx); + return this; +} + +NaturalJoinContext.prototype = Object.create(JoinPartContext.prototype); +NaturalJoinContext.prototype.constructor = NaturalJoinContext; + +SqlParser.NaturalJoinContext = NaturalJoinContext; + +NaturalJoinContext.prototype.NATURAL = function() { + return this.getToken(SqlParser.NATURAL, 0); +}; + +NaturalJoinContext.prototype.JOIN = function() { + return this.getToken(SqlParser.JOIN, 0); +}; + +NaturalJoinContext.prototype.tableSourceItem = function() { + return this.getTypedRuleContext(TableSourceItemContext,0); +}; + +NaturalJoinContext.prototype.LEFT = function() { + return this.getToken(SqlParser.LEFT, 0); +}; + +NaturalJoinContext.prototype.RIGHT = function() { + return this.getToken(SqlParser.RIGHT, 0); +}; + +NaturalJoinContext.prototype.OUTER = function() { + return this.getToken(SqlParser.OUTER, 0); +}; +NaturalJoinContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterNaturalJoin(this); + } +}; + +NaturalJoinContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitNaturalJoin(this); + } +}; + +NaturalJoinContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitNaturalJoin(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function OuterJoinContext(parser, ctx) { + JoinPartContext.call(this, parser); + JoinPartContext.prototype.copyFrom.call(this, ctx); + return this; +} + +OuterJoinContext.prototype = Object.create(JoinPartContext.prototype); +OuterJoinContext.prototype.constructor = OuterJoinContext; + +SqlParser.OuterJoinContext = OuterJoinContext; + +OuterJoinContext.prototype.JOIN = function() { + return this.getToken(SqlParser.JOIN, 0); +}; + +OuterJoinContext.prototype.tableSourceItem = function() { + return this.getTypedRuleContext(TableSourceItemContext,0); +}; + +OuterJoinContext.prototype.LEFT = function() { + return this.getToken(SqlParser.LEFT, 0); +}; + +OuterJoinContext.prototype.RIGHT = function() { + return this.getToken(SqlParser.RIGHT, 0); +}; + +OuterJoinContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +OuterJoinContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +OuterJoinContext.prototype.USING = function() { + return this.getToken(SqlParser.USING, 0); +}; + +OuterJoinContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +OuterJoinContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +OuterJoinContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +OuterJoinContext.prototype.OUTER = function() { + return this.getToken(SqlParser.OUTER, 0); +}; +OuterJoinContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterOuterJoin(this); + } +}; + +OuterJoinContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitOuterJoin(this); + } +}; + +OuterJoinContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitOuterJoin(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function StraightJoinContext(parser, ctx) { + JoinPartContext.call(this, parser); + JoinPartContext.prototype.copyFrom.call(this, ctx); + return this; +} + +StraightJoinContext.prototype = Object.create(JoinPartContext.prototype); +StraightJoinContext.prototype.constructor = StraightJoinContext; + +SqlParser.StraightJoinContext = StraightJoinContext; + +StraightJoinContext.prototype.STRAIGHT_JOIN = function() { + return this.getToken(SqlParser.STRAIGHT_JOIN, 0); +}; + +StraightJoinContext.prototype.tableSourceItem = function() { + return this.getTypedRuleContext(TableSourceItemContext,0); +}; + +StraightJoinContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +StraightJoinContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; +StraightJoinContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStraightJoin(this); + } +}; + +StraightJoinContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStraightJoin(this); + } +}; + +StraightJoinContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStraightJoin(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.JoinPartContext = JoinPartContext; + +SqlParser.prototype.joinPart = function() { + + var localctx = new JoinPartContext(this, this._ctx, this.state); + this.enterRule(localctx, 222, SqlParser.RULE_joinPart); + var _la = 0; // Token type + try { + this.state = 3423; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CROSS: + case SqlParser.INNER: + case SqlParser.JOIN: + localctx = new InnerJoinContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 3380; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CROSS || _la===SqlParser.INNER) { + this.state = 3379; + _la = this._input.LA(1); + if(!(_la===SqlParser.CROSS || _la===SqlParser.INNER)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 3382; + this.match(SqlParser.JOIN); + this.state = 3383; + this.tableSourceItem(); + this.state = 3391; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,477,this._ctx); + if(la_===1) { + this.state = 3384; + this.match(SqlParser.ON); + this.state = 3385; + this.expression(0); + + } else if(la_===2) { + this.state = 3386; + this.match(SqlParser.USING); + this.state = 3387; + this.match(SqlParser.LR_BRACKET); + this.state = 3388; + this.uidList(); + this.state = 3389; + this.match(SqlParser.RR_BRACKET); + + } + break; + case SqlParser.STRAIGHT_JOIN: + localctx = new StraightJoinContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3393; + this.match(SqlParser.STRAIGHT_JOIN); + this.state = 3394; + this.tableSourceItem(); + this.state = 3397; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,478,this._ctx); + if(la_===1) { + this.state = 3395; + this.match(SqlParser.ON); + this.state = 3396; + this.expression(0); + + } + break; + case SqlParser.LEFT: + case SqlParser.RIGHT: + localctx = new OuterJoinContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 3399; + _la = this._input.LA(1); + if(!(_la===SqlParser.LEFT || _la===SqlParser.RIGHT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3401; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.OUTER) { + this.state = 3400; + this.match(SqlParser.OUTER); + } + + this.state = 3403; + this.match(SqlParser.JOIN); + this.state = 3404; + this.tableSourceItem(); + this.state = 3412; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ON: + this.state = 3405; + this.match(SqlParser.ON); + this.state = 3406; + this.expression(0); + break; + case SqlParser.USING: + this.state = 3407; + this.match(SqlParser.USING); + this.state = 3408; + this.match(SqlParser.LR_BRACKET); + this.state = 3409; + this.uidList(); + this.state = 3410; + this.match(SqlParser.RR_BRACKET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case SqlParser.NATURAL: + localctx = new NaturalJoinContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 3414; + this.match(SqlParser.NATURAL); + this.state = 3419; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LEFT || _la===SqlParser.RIGHT) { + this.state = 3415; + _la = this._input.LA(1); + if(!(_la===SqlParser.LEFT || _la===SqlParser.RIGHT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3417; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.OUTER) { + this.state = 3416; + this.match(SqlParser.OUTER); + } + + } + + this.state = 3421; + this.match(SqlParser.JOIN); + this.state = 3422; + this.tableSourceItem(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function QueryExpressionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_queryExpression; + return this; +} + +QueryExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +QueryExpressionContext.prototype.constructor = QueryExpressionContext; + +QueryExpressionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +QueryExpressionContext.prototype.querySpecification = function() { + return this.getTypedRuleContext(QuerySpecificationContext,0); +}; + +QueryExpressionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +QueryExpressionContext.prototype.queryExpression = function() { + return this.getTypedRuleContext(QueryExpressionContext,0); +}; + +QueryExpressionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterQueryExpression(this); + } +}; + +QueryExpressionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitQueryExpression(this); + } +}; + +QueryExpressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitQueryExpression(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.QueryExpressionContext = QueryExpressionContext; + +SqlParser.prototype.queryExpression = function() { + + var localctx = new QueryExpressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 224, SqlParser.RULE_queryExpression); + try { + this.state = 3433; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,484,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3425; + this.match(SqlParser.LR_BRACKET); + this.state = 3426; + this.querySpecification(); + this.state = 3427; + this.match(SqlParser.RR_BRACKET); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3429; + this.match(SqlParser.LR_BRACKET); + this.state = 3430; + this.queryExpression(); + this.state = 3431; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function QueryExpressionNointoContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_queryExpressionNointo; + return this; +} + +QueryExpressionNointoContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +QueryExpressionNointoContext.prototype.constructor = QueryExpressionNointoContext; + +QueryExpressionNointoContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +QueryExpressionNointoContext.prototype.querySpecificationNointo = function() { + return this.getTypedRuleContext(QuerySpecificationNointoContext,0); +}; + +QueryExpressionNointoContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +QueryExpressionNointoContext.prototype.queryExpressionNointo = function() { + return this.getTypedRuleContext(QueryExpressionNointoContext,0); +}; + +QueryExpressionNointoContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterQueryExpressionNointo(this); + } +}; + +QueryExpressionNointoContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitQueryExpressionNointo(this); + } +}; + +QueryExpressionNointoContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitQueryExpressionNointo(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.QueryExpressionNointoContext = QueryExpressionNointoContext; + +SqlParser.prototype.queryExpressionNointo = function() { + + var localctx = new QueryExpressionNointoContext(this, this._ctx, this.state); + this.enterRule(localctx, 226, SqlParser.RULE_queryExpressionNointo); + try { + this.state = 3443; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,485,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3435; + this.match(SqlParser.LR_BRACKET); + this.state = 3436; + this.querySpecificationNointo(); + this.state = 3437; + this.match(SqlParser.RR_BRACKET); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3439; + this.match(SqlParser.LR_BRACKET); + this.state = 3440; + this.queryExpressionNointo(); + this.state = 3441; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function QuerySpecificationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_querySpecification; + return this; +} + +QuerySpecificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +QuerySpecificationContext.prototype.constructor = QuerySpecificationContext; + +QuerySpecificationContext.prototype.SELECT = function() { + return this.getToken(SqlParser.SELECT, 0); +}; + +QuerySpecificationContext.prototype.selectElements = function() { + return this.getTypedRuleContext(SelectElementsContext,0); +}; + +QuerySpecificationContext.prototype.selectSpec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SelectSpecContext); + } else { + return this.getTypedRuleContext(SelectSpecContext,i); + } +}; + +QuerySpecificationContext.prototype.selectIntoExpression = function() { + return this.getTypedRuleContext(SelectIntoExpressionContext,0); +}; + +QuerySpecificationContext.prototype.fromClause = function() { + return this.getTypedRuleContext(FromClauseContext,0); +}; + +QuerySpecificationContext.prototype.orderByClause = function() { + return this.getTypedRuleContext(OrderByClauseContext,0); +}; + +QuerySpecificationContext.prototype.limitClause = function() { + return this.getTypedRuleContext(LimitClauseContext,0); +}; + +QuerySpecificationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterQuerySpecification(this); + } +}; + +QuerySpecificationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitQuerySpecification(this); + } +}; + +QuerySpecificationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitQuerySpecification(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.QuerySpecificationContext = QuerySpecificationContext; + +SqlParser.prototype.querySpecification = function() { + + var localctx = new QuerySpecificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 228, SqlParser.RULE_querySpecification); + var _la = 0; // Token type + try { + this.state = 3485; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,496,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3445; + this.match(SqlParser.SELECT); + this.state = 3449; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,486,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3446; + this.selectSpec(); + } + this.state = 3451; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,486,this._ctx); + } + + this.state = 3452; + this.selectElements(); + this.state = 3454; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INTO) { + this.state = 3453; + this.selectIntoExpression(); + } + + this.state = 3457; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FROM) { + this.state = 3456; + this.fromClause(); + } + + this.state = 3460; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,489,this._ctx); + if(la_===1) { + this.state = 3459; + this.orderByClause(); + + } + this.state = 3463; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,490,this._ctx); + if(la_===1) { + this.state = 3462; + this.limitClause(); + + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3465; + this.match(SqlParser.SELECT); + this.state = 3469; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,491,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3466; + this.selectSpec(); + } + this.state = 3471; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,491,this._ctx); + } + + this.state = 3472; + this.selectElements(); + this.state = 3474; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FROM) { + this.state = 3473; + this.fromClause(); + } + + this.state = 3477; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,493,this._ctx); + if(la_===1) { + this.state = 3476; + this.orderByClause(); + + } + this.state = 3480; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,494,this._ctx); + if(la_===1) { + this.state = 3479; + this.limitClause(); + + } + this.state = 3483; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INTO) { + this.state = 3482; + this.selectIntoExpression(); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function QuerySpecificationNointoContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_querySpecificationNointo; + return this; +} + +QuerySpecificationNointoContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +QuerySpecificationNointoContext.prototype.constructor = QuerySpecificationNointoContext; + +QuerySpecificationNointoContext.prototype.SELECT = function() { + return this.getToken(SqlParser.SELECT, 0); +}; + +QuerySpecificationNointoContext.prototype.selectElements = function() { + return this.getTypedRuleContext(SelectElementsContext,0); +}; + +QuerySpecificationNointoContext.prototype.selectSpec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SelectSpecContext); + } else { + return this.getTypedRuleContext(SelectSpecContext,i); + } +}; + +QuerySpecificationNointoContext.prototype.fromClause = function() { + return this.getTypedRuleContext(FromClauseContext,0); +}; + +QuerySpecificationNointoContext.prototype.orderByClause = function() { + return this.getTypedRuleContext(OrderByClauseContext,0); +}; + +QuerySpecificationNointoContext.prototype.limitClause = function() { + return this.getTypedRuleContext(LimitClauseContext,0); +}; + +QuerySpecificationNointoContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterQuerySpecificationNointo(this); + } +}; + +QuerySpecificationNointoContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitQuerySpecificationNointo(this); + } +}; + +QuerySpecificationNointoContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitQuerySpecificationNointo(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.QuerySpecificationNointoContext = QuerySpecificationNointoContext; + +SqlParser.prototype.querySpecificationNointo = function() { + + var localctx = new QuerySpecificationNointoContext(this, this._ctx, this.state); + this.enterRule(localctx, 230, SqlParser.RULE_querySpecificationNointo); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3487; + this.match(SqlParser.SELECT); + this.state = 3491; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,497,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3488; + this.selectSpec(); + } + this.state = 3493; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,497,this._ctx); + } + + this.state = 3494; + this.selectElements(); + this.state = 3496; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FROM) { + this.state = 3495; + this.fromClause(); + } + + this.state = 3499; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,499,this._ctx); + if(la_===1) { + this.state = 3498; + this.orderByClause(); + + } + this.state = 3502; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,500,this._ctx); + if(la_===1) { + this.state = 3501; + this.limitClause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UnionParenthesisContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_unionParenthesis; + this.unionType = null; // Token + return this; +} + +UnionParenthesisContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UnionParenthesisContext.prototype.constructor = UnionParenthesisContext; + +UnionParenthesisContext.prototype.UNION = function() { + return this.getToken(SqlParser.UNION, 0); +}; + +UnionParenthesisContext.prototype.queryExpressionNointo = function() { + return this.getTypedRuleContext(QueryExpressionNointoContext,0); +}; + +UnionParenthesisContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +UnionParenthesisContext.prototype.DISTINCT = function() { + return this.getToken(SqlParser.DISTINCT, 0); +}; + +UnionParenthesisContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUnionParenthesis(this); + } +}; + +UnionParenthesisContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUnionParenthesis(this); + } +}; + +UnionParenthesisContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUnionParenthesis(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UnionParenthesisContext = UnionParenthesisContext; + +SqlParser.prototype.unionParenthesis = function() { + + var localctx = new UnionParenthesisContext(this, this._ctx, this.state); + this.enterRule(localctx, 232, SqlParser.RULE_unionParenthesis); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3504; + this.match(SqlParser.UNION); + this.state = 3506; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALL || _la===SqlParser.DISTINCT) { + this.state = 3505; + localctx.unionType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ALL || _la===SqlParser.DISTINCT)) { + localctx.unionType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 3508; + this.queryExpressionNointo(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UnionStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_unionStatement; + this.unionType = null; // Token + return this; +} + +UnionStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UnionStatementContext.prototype.constructor = UnionStatementContext; + +UnionStatementContext.prototype.UNION = function() { + return this.getToken(SqlParser.UNION, 0); +}; + +UnionStatementContext.prototype.querySpecificationNointo = function() { + return this.getTypedRuleContext(QuerySpecificationNointoContext,0); +}; + +UnionStatementContext.prototype.queryExpressionNointo = function() { + return this.getTypedRuleContext(QueryExpressionNointoContext,0); +}; + +UnionStatementContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +UnionStatementContext.prototype.DISTINCT = function() { + return this.getToken(SqlParser.DISTINCT, 0); +}; + +UnionStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUnionStatement(this); + } +}; + +UnionStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUnionStatement(this); + } +}; + +UnionStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUnionStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UnionStatementContext = UnionStatementContext; + +SqlParser.prototype.unionStatement = function() { + + var localctx = new UnionStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 234, SqlParser.RULE_unionStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3510; + this.match(SqlParser.UNION); + this.state = 3512; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALL || _la===SqlParser.DISTINCT) { + this.state = 3511; + localctx.unionType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ALL || _la===SqlParser.DISTINCT)) { + localctx.unionType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 3516; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SELECT: + this.state = 3514; + this.querySpecificationNointo(); + break; + case SqlParser.LR_BRACKET: + this.state = 3515; + this.queryExpressionNointo(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SelectSpecContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_selectSpec; + return this; +} + +SelectSpecContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SelectSpecContext.prototype.constructor = SelectSpecContext; + +SelectSpecContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +SelectSpecContext.prototype.DISTINCT = function() { + return this.getToken(SqlParser.DISTINCT, 0); +}; + +SelectSpecContext.prototype.DISTINCTROW = function() { + return this.getToken(SqlParser.DISTINCTROW, 0); +}; + +SelectSpecContext.prototype.HIGH_PRIORITY = function() { + return this.getToken(SqlParser.HIGH_PRIORITY, 0); +}; + +SelectSpecContext.prototype.STRAIGHT_JOIN = function() { + return this.getToken(SqlParser.STRAIGHT_JOIN, 0); +}; + +SelectSpecContext.prototype.SQL_SMALL_RESULT = function() { + return this.getToken(SqlParser.SQL_SMALL_RESULT, 0); +}; + +SelectSpecContext.prototype.SQL_BIG_RESULT = function() { + return this.getToken(SqlParser.SQL_BIG_RESULT, 0); +}; + +SelectSpecContext.prototype.SQL_BUFFER_RESULT = function() { + return this.getToken(SqlParser.SQL_BUFFER_RESULT, 0); +}; + +SelectSpecContext.prototype.SQL_CACHE = function() { + return this.getToken(SqlParser.SQL_CACHE, 0); +}; + +SelectSpecContext.prototype.SQL_NO_CACHE = function() { + return this.getToken(SqlParser.SQL_NO_CACHE, 0); +}; + +SelectSpecContext.prototype.SQL_CALC_FOUND_ROWS = function() { + return this.getToken(SqlParser.SQL_CALC_FOUND_ROWS, 0); +}; + +SelectSpecContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectSpec(this); + } +}; + +SelectSpecContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectSpec(this); + } +}; + +SelectSpecContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectSpec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SelectSpecContext = SelectSpecContext; + +SqlParser.prototype.selectSpec = function() { + + var localctx = new SelectSpecContext(this, this._ctx, this.state); + this.enterRule(localctx, 236, SqlParser.RULE_selectSpec); + var _la = 0; // Token type + try { + this.state = 3526; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ALL: + case SqlParser.DISTINCT: + case SqlParser.DISTINCTROW: + this.enterOuterAlt(localctx, 1); + this.state = 3518; + _la = this._input.LA(1); + if(!(_la===SqlParser.ALL || _la===SqlParser.DISTINCT || _la===SqlParser.DISTINCTROW)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.HIGH_PRIORITY: + this.enterOuterAlt(localctx, 2); + this.state = 3519; + this.match(SqlParser.HIGH_PRIORITY); + break; + case SqlParser.STRAIGHT_JOIN: + this.enterOuterAlt(localctx, 3); + this.state = 3520; + this.match(SqlParser.STRAIGHT_JOIN); + break; + case SqlParser.SQL_SMALL_RESULT: + this.enterOuterAlt(localctx, 4); + this.state = 3521; + this.match(SqlParser.SQL_SMALL_RESULT); + break; + case SqlParser.SQL_BIG_RESULT: + this.enterOuterAlt(localctx, 5); + this.state = 3522; + this.match(SqlParser.SQL_BIG_RESULT); + break; + case SqlParser.SQL_BUFFER_RESULT: + this.enterOuterAlt(localctx, 6); + this.state = 3523; + this.match(SqlParser.SQL_BUFFER_RESULT); + break; + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + this.enterOuterAlt(localctx, 7); + this.state = 3524; + _la = this._input.LA(1); + if(!(_la===SqlParser.SQL_CACHE || _la===SqlParser.SQL_NO_CACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.SQL_CALC_FOUND_ROWS: + this.enterOuterAlt(localctx, 8); + this.state = 3525; + this.match(SqlParser.SQL_CALC_FOUND_ROWS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SelectElementsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_selectElements; + this.star = null; // Token + return this; +} + +SelectElementsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SelectElementsContext.prototype.constructor = SelectElementsContext; + +SelectElementsContext.prototype.selectElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SelectElementContext); + } else { + return this.getTypedRuleContext(SelectElementContext,i); + } +}; + +SelectElementsContext.prototype.STAR = function() { + return this.getToken(SqlParser.STAR, 0); +}; + +SelectElementsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +SelectElementsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectElements(this); + } +}; + +SelectElementsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectElements(this); + } +}; + +SelectElementsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectElements(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SelectElementsContext = SelectElementsContext; + +SqlParser.prototype.selectElements = function() { + + var localctx = new SelectElementsContext(this, this._ctx, this.state); + this.enterRule(localctx, 238, SqlParser.RULE_selectElements); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3530; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.STAR: + this.state = 3528; + localctx.star = this.match(SqlParser.STAR); + break; + case SqlParser.CASE: + case SqlParser.CAST: + case SqlParser.CONVERT: + case SqlParser.CURRENT: + case SqlParser.CURRENT_USER: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.EXISTS: + case SqlParser.FALSE: + case SqlParser.IF: + case SqlParser.INSERT: + case SqlParser.INTERVAL: + case SqlParser.LEFT: + case SqlParser.NOT: + case SqlParser.NULL_LITERAL: + case SqlParser.NUMBER: + case SqlParser.REPLACE: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.TRUE: + case SqlParser.VALUES: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.CHAR: + case SqlParser.BINARY: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.AVG: + case SqlParser.BIT_AND: + case SqlParser.BIT_OR: + case SqlParser.BIT_XOR: + case SqlParser.COUNT: + case SqlParser.GROUP_CONCAT: + case SqlParser.MAX: + case SqlParser.MIN: + case SqlParser.STD: + case SqlParser.STDDEV: + case SqlParser.STDDEV_POP: + case SqlParser.STDDEV_SAMP: + case SqlParser.SUM: + case SqlParser.VAR_POP: + case SqlParser.VAR_SAMP: + case SqlParser.VARIANCE: + case SqlParser.CURRENT_DATE: + case SqlParser.CURRENT_TIME: + case SqlParser.CURRENT_TIMESTAMP: + case SqlParser.LOCALTIME: + case SqlParser.CURDATE: + case SqlParser.CURTIME: + case SqlParser.DATE_ADD: + case SqlParser.DATE_SUB: + case SqlParser.EXTRACT: + case SqlParser.LOCALTIMESTAMP: + case SqlParser.NOW: + case SqlParser.POSITION: + case SqlParser.SUBSTR: + case SqlParser.SUBSTRING: + case SqlParser.SYSDATE: + case SqlParser.TRIM: + case SqlParser.UTC_DATE: + case SqlParser.UTC_TIME: + case SqlParser.UTC_TIMESTAMP: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.PLUS: + case SqlParser.MINUS: + case SqlParser.EXCLAMATION_SYMBOL: + case SqlParser.BIT_NOT_OP: + case SqlParser.LR_BRACKET: + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.START_NATIONAL_STRING_LITERAL: + case SqlParser.STRING_LITERAL: + case SqlParser.DECIMAL_LITERAL: + case SqlParser.HEXADECIMAL_LITERAL: + case SqlParser.REAL_LITERAL: + case SqlParser.NULL_SPEC_LITERAL: + case SqlParser.BIT_STRING: + case SqlParser.STRING_CHARSET_NAME: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + case SqlParser.LOCAL_ID: + case SqlParser.GLOBAL_ID: + this.state = 3529; + this.selectElement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3536; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3532; + this.match(SqlParser.COMMA); + this.state = 3533; + this.selectElement(); + this.state = 3538; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SelectElementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_selectElement; + return this; +} + +SelectElementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SelectElementContext.prototype.constructor = SelectElementContext; + + + +SelectElementContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SelectExpressionElementContext(parser, ctx) { + SelectElementContext.call(this, parser); + SelectElementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SelectExpressionElementContext.prototype = Object.create(SelectElementContext.prototype); +SelectExpressionElementContext.prototype.constructor = SelectExpressionElementContext; + +SqlParser.SelectExpressionElementContext = SelectExpressionElementContext; + +SelectExpressionElementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +SelectExpressionElementContext.prototype.LOCAL_ID = function() { + return this.getToken(SqlParser.LOCAL_ID, 0); +}; + +SelectExpressionElementContext.prototype.VAR_ASSIGN = function() { + return this.getToken(SqlParser.VAR_ASSIGN, 0); +}; + +SelectExpressionElementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SelectExpressionElementContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; +SelectExpressionElementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectExpressionElement(this); + } +}; + +SelectExpressionElementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectExpressionElement(this); + } +}; + +SelectExpressionElementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectExpressionElement(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SelectFunctionElementContext(parser, ctx) { + SelectElementContext.call(this, parser); + SelectElementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SelectFunctionElementContext.prototype = Object.create(SelectElementContext.prototype); +SelectFunctionElementContext.prototype.constructor = SelectFunctionElementContext; + +SqlParser.SelectFunctionElementContext = SelectFunctionElementContext; + +SelectFunctionElementContext.prototype.functionCall = function() { + return this.getTypedRuleContext(FunctionCallContext,0); +}; + +SelectFunctionElementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SelectFunctionElementContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; +SelectFunctionElementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectFunctionElement(this); + } +}; + +SelectFunctionElementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectFunctionElement(this); + } +}; + +SelectFunctionElementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectFunctionElement(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SelectStarElementContext(parser, ctx) { + SelectElementContext.call(this, parser); + SelectElementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SelectStarElementContext.prototype = Object.create(SelectElementContext.prototype); +SelectStarElementContext.prototype.constructor = SelectStarElementContext; + +SqlParser.SelectStarElementContext = SelectStarElementContext; + +SelectStarElementContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +SelectStarElementContext.prototype.DOT = function() { + return this.getToken(SqlParser.DOT, 0); +}; + +SelectStarElementContext.prototype.STAR = function() { + return this.getToken(SqlParser.STAR, 0); +}; +SelectStarElementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectStarElement(this); + } +}; + +SelectStarElementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectStarElement(this); + } +}; + +SelectStarElementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectStarElement(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SelectColumnElementContext(parser, ctx) { + SelectElementContext.call(this, parser); + SelectElementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SelectColumnElementContext.prototype = Object.create(SelectElementContext.prototype); +SelectColumnElementContext.prototype.constructor = SelectColumnElementContext; + +SqlParser.SelectColumnElementContext = SelectColumnElementContext; + +SelectColumnElementContext.prototype.fullColumnName = function() { + return this.getTypedRuleContext(FullColumnNameContext,0); +}; + +SelectColumnElementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SelectColumnElementContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; +SelectColumnElementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectColumnElement(this); + } +}; + +SelectColumnElementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectColumnElement(this); + } +}; + +SelectColumnElementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectColumnElement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.SelectElementContext = SelectElementContext; + +SqlParser.prototype.selectElement = function() { + + var localctx = new SelectElementContext(this, this._ctx, this.state); + this.enterRule(localctx, 240, SqlParser.RULE_selectElement); + var _la = 0; // Token type + try { + this.state = 3568; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,514,this._ctx); + switch(la_) { + case 1: + localctx = new SelectStarElementContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 3539; + this.fullId(); + this.state = 3540; + this.match(SqlParser.DOT); + this.state = 3541; + this.match(SqlParser.STAR); + break; + + case 2: + localctx = new SelectColumnElementContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3543; + this.fullColumnName(); + this.state = 3548; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,508,this._ctx); + if(la_===1) { + this.state = 3545; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 3544; + this.match(SqlParser.AS); + } + + this.state = 3547; + this.uid(); + + } + break; + + case 3: + localctx = new SelectFunctionElementContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 3550; + this.functionCall(); + this.state = 3555; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,510,this._ctx); + if(la_===1) { + this.state = 3552; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 3551; + this.match(SqlParser.AS); + } + + this.state = 3554; + this.uid(); + + } + break; + + case 4: + localctx = new SelectExpressionElementContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 3559; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,511,this._ctx); + if(la_===1) { + this.state = 3557; + this.match(SqlParser.LOCAL_ID); + this.state = 3558; + this.match(SqlParser.VAR_ASSIGN); + + } + this.state = 3561; + this.expression(0); + this.state = 3566; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,513,this._ctx); + if(la_===1) { + this.state = 3563; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 3562; + this.match(SqlParser.AS); + } + + this.state = 3565; + this.uid(); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SelectIntoExpressionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_selectIntoExpression; + return this; +} + +SelectIntoExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SelectIntoExpressionContext.prototype.constructor = SelectIntoExpressionContext; + + + +SelectIntoExpressionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SelectIntoVariablesContext(parser, ctx) { + SelectIntoExpressionContext.call(this, parser); + SelectIntoExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SelectIntoVariablesContext.prototype = Object.create(SelectIntoExpressionContext.prototype); +SelectIntoVariablesContext.prototype.constructor = SelectIntoVariablesContext; + +SqlParser.SelectIntoVariablesContext = SelectIntoVariablesContext; + +SelectIntoVariablesContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +SelectIntoVariablesContext.prototype.assignmentField = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(AssignmentFieldContext); + } else { + return this.getTypedRuleContext(AssignmentFieldContext,i); + } +}; + +SelectIntoVariablesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +SelectIntoVariablesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectIntoVariables(this); + } +}; + +SelectIntoVariablesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectIntoVariables(this); + } +}; + +SelectIntoVariablesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectIntoVariables(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SelectIntoTextFileContext(parser, ctx) { + SelectIntoExpressionContext.call(this, parser); + this.filename = null; // Token; + this.charset = null; // CharsetNameContext; + this.fieldsFormat = null; // Token; + SelectIntoExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SelectIntoTextFileContext.prototype = Object.create(SelectIntoExpressionContext.prototype); +SelectIntoTextFileContext.prototype.constructor = SelectIntoTextFileContext; + +SqlParser.SelectIntoTextFileContext = SelectIntoTextFileContext; + +SelectIntoTextFileContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +SelectIntoTextFileContext.prototype.OUTFILE = function() { + return this.getToken(SqlParser.OUTFILE, 0); +}; + +SelectIntoTextFileContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +SelectIntoTextFileContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +SelectIntoTextFileContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SelectIntoTextFileContext.prototype.LINES = function() { + return this.getToken(SqlParser.LINES, 0); +}; + +SelectIntoTextFileContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +SelectIntoTextFileContext.prototype.FIELDS = function() { + return this.getToken(SqlParser.FIELDS, 0); +}; + +SelectIntoTextFileContext.prototype.COLUMNS = function() { + return this.getToken(SqlParser.COLUMNS, 0); +}; + +SelectIntoTextFileContext.prototype.selectFieldsInto = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SelectFieldsIntoContext); + } else { + return this.getTypedRuleContext(SelectFieldsIntoContext,i); + } +}; + +SelectIntoTextFileContext.prototype.selectLinesInto = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SelectLinesIntoContext); + } else { + return this.getTypedRuleContext(SelectLinesIntoContext,i); + } +}; +SelectIntoTextFileContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectIntoTextFile(this); + } +}; + +SelectIntoTextFileContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectIntoTextFile(this); + } +}; + +SelectIntoTextFileContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectIntoTextFile(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SelectIntoDumpFileContext(parser, ctx) { + SelectIntoExpressionContext.call(this, parser); + SelectIntoExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SelectIntoDumpFileContext.prototype = Object.create(SelectIntoExpressionContext.prototype); +SelectIntoDumpFileContext.prototype.constructor = SelectIntoDumpFileContext; + +SqlParser.SelectIntoDumpFileContext = SelectIntoDumpFileContext; + +SelectIntoDumpFileContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +SelectIntoDumpFileContext.prototype.DUMPFILE = function() { + return this.getToken(SqlParser.DUMPFILE, 0); +}; + +SelectIntoDumpFileContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +SelectIntoDumpFileContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectIntoDumpFile(this); + } +}; + +SelectIntoDumpFileContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectIntoDumpFile(this); + } +}; + +SelectIntoDumpFileContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectIntoDumpFile(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.SelectIntoExpressionContext = SelectIntoExpressionContext; + +SqlParser.prototype.selectIntoExpression = function() { + + var localctx = new SelectIntoExpressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 242, SqlParser.RULE_selectIntoExpression); + var _la = 0; // Token type + try { + this.state = 3606; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,521,this._ctx); + switch(la_) { + case 1: + localctx = new SelectIntoVariablesContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 3570; + this.match(SqlParser.INTO); + this.state = 3571; + this.assignmentField(); + this.state = 3576; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3572; + this.match(SqlParser.COMMA); + this.state = 3573; + this.assignmentField(); + this.state = 3578; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + localctx = new SelectIntoDumpFileContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3579; + this.match(SqlParser.INTO); + this.state = 3580; + this.match(SqlParser.DUMPFILE); + this.state = 3581; + this.match(SqlParser.STRING_LITERAL); + break; + + case 3: + localctx = new SelectIntoTextFileContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 3582; + this.match(SqlParser.INTO); + this.state = 3583; + this.match(SqlParser.OUTFILE); + this.state = 3584; + localctx.filename = this.match(SqlParser.STRING_LITERAL); + this.state = 3588; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CHARACTER) { + this.state = 3585; + this.match(SqlParser.CHARACTER); + this.state = 3586; + this.match(SqlParser.SET); + this.state = 3587; + localctx.charset = this.charsetName(); + } + + this.state = 3596; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,518,this._ctx); + if(la_===1) { + this.state = 3590; + localctx.fieldsFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.COLUMNS || _la===SqlParser.FIELDS)) { + localctx.fieldsFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3592; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 3591; + this.selectFieldsInto(); + this.state = 3594; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.ENCLOSED || _la===SqlParser.ESCAPED || _la===SqlParser.OPTIONALLY || _la===SqlParser.TERMINATED); + + } + this.state = 3604; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LINES) { + this.state = 3598; + this.match(SqlParser.LINES); + this.state = 3600; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 3599; + this.selectLinesInto(); + this.state = 3602; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.STARTING || _la===SqlParser.TERMINATED); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SelectFieldsIntoContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_selectFieldsInto; + this.terminationField = null; // Token + this.enclosion = null; // Token + this.escaping = null; // Token + return this; +} + +SelectFieldsIntoContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SelectFieldsIntoContext.prototype.constructor = SelectFieldsIntoContext; + +SelectFieldsIntoContext.prototype.TERMINATED = function() { + return this.getToken(SqlParser.TERMINATED, 0); +}; + +SelectFieldsIntoContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +SelectFieldsIntoContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +SelectFieldsIntoContext.prototype.ENCLOSED = function() { + return this.getToken(SqlParser.ENCLOSED, 0); +}; + +SelectFieldsIntoContext.prototype.OPTIONALLY = function() { + return this.getToken(SqlParser.OPTIONALLY, 0); +}; + +SelectFieldsIntoContext.prototype.ESCAPED = function() { + return this.getToken(SqlParser.ESCAPED, 0); +}; + +SelectFieldsIntoContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectFieldsInto(this); + } +}; + +SelectFieldsIntoContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectFieldsInto(this); + } +}; + +SelectFieldsIntoContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectFieldsInto(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SelectFieldsIntoContext = SelectFieldsIntoContext; + +SqlParser.prototype.selectFieldsInto = function() { + + var localctx = new SelectFieldsIntoContext(this, this._ctx, this.state); + this.enterRule(localctx, 244, SqlParser.RULE_selectFieldsInto); + var _la = 0; // Token type + try { + this.state = 3620; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.TERMINATED: + this.enterOuterAlt(localctx, 1); + this.state = 3608; + this.match(SqlParser.TERMINATED); + this.state = 3609; + this.match(SqlParser.BY); + this.state = 3610; + localctx.terminationField = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.ENCLOSED: + case SqlParser.OPTIONALLY: + this.enterOuterAlt(localctx, 2); + this.state = 3612; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.OPTIONALLY) { + this.state = 3611; + this.match(SqlParser.OPTIONALLY); + } + + this.state = 3614; + this.match(SqlParser.ENCLOSED); + this.state = 3615; + this.match(SqlParser.BY); + this.state = 3616; + localctx.enclosion = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.ESCAPED: + this.enterOuterAlt(localctx, 3); + this.state = 3617; + this.match(SqlParser.ESCAPED); + this.state = 3618; + this.match(SqlParser.BY); + this.state = 3619; + localctx.escaping = this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SelectLinesIntoContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_selectLinesInto; + this.starting = null; // Token + this.terminationLine = null; // Token + return this; +} + +SelectLinesIntoContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SelectLinesIntoContext.prototype.constructor = SelectLinesIntoContext; + +SelectLinesIntoContext.prototype.STARTING = function() { + return this.getToken(SqlParser.STARTING, 0); +}; + +SelectLinesIntoContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +SelectLinesIntoContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +SelectLinesIntoContext.prototype.TERMINATED = function() { + return this.getToken(SqlParser.TERMINATED, 0); +}; + +SelectLinesIntoContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSelectLinesInto(this); + } +}; + +SelectLinesIntoContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSelectLinesInto(this); + } +}; + +SelectLinesIntoContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSelectLinesInto(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SelectLinesIntoContext = SelectLinesIntoContext; + +SqlParser.prototype.selectLinesInto = function() { + + var localctx = new SelectLinesIntoContext(this, this._ctx, this.state); + this.enterRule(localctx, 246, SqlParser.RULE_selectLinesInto); + try { + this.state = 3628; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.STARTING: + this.enterOuterAlt(localctx, 1); + this.state = 3622; + this.match(SqlParser.STARTING); + this.state = 3623; + this.match(SqlParser.BY); + this.state = 3624; + localctx.starting = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.TERMINATED: + this.enterOuterAlt(localctx, 2); + this.state = 3625; + this.match(SqlParser.TERMINATED); + this.state = 3626; + this.match(SqlParser.BY); + this.state = 3627; + localctx.terminationLine = this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FromClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_fromClause; + this.whereExpr = null; // ExpressionContext + this.havingExpr = null; // ExpressionContext + return this; +} + +FromClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FromClauseContext.prototype.constructor = FromClauseContext; + +FromClauseContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +FromClauseContext.prototype.tableSources = function() { + return this.getTypedRuleContext(TableSourcesContext,0); +}; + +FromClauseContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +FromClauseContext.prototype.GROUP = function() { + return this.getToken(SqlParser.GROUP, 0); +}; + +FromClauseContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +FromClauseContext.prototype.groupByItem = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(GroupByItemContext); + } else { + return this.getTypedRuleContext(GroupByItemContext,i); + } +}; + +FromClauseContext.prototype.HAVING = function() { + return this.getToken(SqlParser.HAVING, 0); +}; + +FromClauseContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +FromClauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +FromClauseContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +FromClauseContext.prototype.ROLLUP = function() { + return this.getToken(SqlParser.ROLLUP, 0); +}; + +FromClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFromClause(this); + } +}; + +FromClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFromClause(this); + } +}; + +FromClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFromClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FromClauseContext = FromClauseContext; + +SqlParser.prototype.fromClause = function() { + + var localctx = new FromClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 248, SqlParser.RULE_fromClause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3630; + this.match(SqlParser.FROM); + this.state = 3631; + this.tableSources(); + this.state = 3634; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WHERE) { + this.state = 3632; + this.match(SqlParser.WHERE); + this.state = 3633; + localctx.whereExpr = this.expression(0); + } + + this.state = 3650; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.GROUP) { + this.state = 3636; + this.match(SqlParser.GROUP); + this.state = 3637; + this.match(SqlParser.BY); + this.state = 3638; + this.groupByItem(); + this.state = 3643; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3639; + this.match(SqlParser.COMMA); + this.state = 3640; + this.groupByItem(); + this.state = 3645; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3648; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,527,this._ctx); + if(la_===1) { + this.state = 3646; + this.match(SqlParser.WITH); + this.state = 3647; + this.match(SqlParser.ROLLUP); + + } + } + + this.state = 3654; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.HAVING) { + this.state = 3652; + this.match(SqlParser.HAVING); + this.state = 3653; + localctx.havingExpr = this.expression(0); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function GroupByItemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_groupByItem; + this.order = null; // Token + return this; +} + +GroupByItemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +GroupByItemContext.prototype.constructor = GroupByItemContext; + +GroupByItemContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +GroupByItemContext.prototype.ASC = function() { + return this.getToken(SqlParser.ASC, 0); +}; + +GroupByItemContext.prototype.DESC = function() { + return this.getToken(SqlParser.DESC, 0); +}; + +GroupByItemContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterGroupByItem(this); + } +}; + +GroupByItemContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitGroupByItem(this); + } +}; + +GroupByItemContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitGroupByItem(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.GroupByItemContext = GroupByItemContext; + +SqlParser.prototype.groupByItem = function() { + + var localctx = new GroupByItemContext(this, this._ctx, this.state); + this.enterRule(localctx, 250, SqlParser.RULE_groupByItem); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3656; + this.expression(0); + this.state = 3658; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,530,this._ctx); + if(la_===1) { + this.state = 3657; + localctx.order = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ASC || _la===SqlParser.DESC)) { + localctx.order = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LimitClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_limitClause; + this.offset = null; // LimitClauseAtomContext + this.limit = null; // LimitClauseAtomContext + return this; +} + +LimitClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LimitClauseContext.prototype.constructor = LimitClauseContext; + +LimitClauseContext.prototype.LIMIT = function() { + return this.getToken(SqlParser.LIMIT, 0); +}; + +LimitClauseContext.prototype.OFFSET = function() { + return this.getToken(SqlParser.OFFSET, 0); +}; + +LimitClauseContext.prototype.limitClauseAtom = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(LimitClauseAtomContext); + } else { + return this.getTypedRuleContext(LimitClauseAtomContext,i); + } +}; + +LimitClauseContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; + +LimitClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLimitClause(this); + } +}; + +LimitClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLimitClause(this); + } +}; + +LimitClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLimitClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LimitClauseContext = LimitClauseContext; + +SqlParser.prototype.limitClause = function() { + + var localctx = new LimitClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 252, SqlParser.RULE_limitClause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3660; + this.match(SqlParser.LIMIT); + this.state = 3671; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,532,this._ctx); + switch(la_) { + case 1: + this.state = 3664; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,531,this._ctx); + if(la_===1) { + this.state = 3661; + localctx.offset = this.limitClauseAtom(); + this.state = 3662; + this.match(SqlParser.COMMA); + + } + this.state = 3666; + localctx.limit = this.limitClauseAtom(); + break; + + case 2: + this.state = 3667; + localctx.limit = this.limitClauseAtom(); + this.state = 3668; + this.match(SqlParser.OFFSET); + this.state = 3669; + localctx.offset = this.limitClauseAtom(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LimitClauseAtomContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_limitClauseAtom; + return this; +} + +LimitClauseAtomContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LimitClauseAtomContext.prototype.constructor = LimitClauseAtomContext; + +LimitClauseAtomContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +LimitClauseAtomContext.prototype.mysqlVariable = function() { + return this.getTypedRuleContext(MysqlVariableContext,0); +}; + +LimitClauseAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLimitClauseAtom(this); + } +}; + +LimitClauseAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLimitClauseAtom(this); + } +}; + +LimitClauseAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLimitClauseAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LimitClauseAtomContext = LimitClauseAtomContext; + +SqlParser.prototype.limitClauseAtom = function() { + + var localctx = new LimitClauseAtomContext(this, this._ctx, this.state); + this.enterRule(localctx, 254, SqlParser.RULE_limitClauseAtom); + try { + this.state = 3675; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.DECIMAL_LITERAL: + this.enterOuterAlt(localctx, 1); + this.state = 3673; + this.decimalLiteral(); + break; + case SqlParser.LOCAL_ID: + case SqlParser.GLOBAL_ID: + this.enterOuterAlt(localctx, 2); + this.state = 3674; + this.mysqlVariable(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StartTransactionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_startTransaction; + return this; +} + +StartTransactionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StartTransactionContext.prototype.constructor = StartTransactionContext; + +StartTransactionContext.prototype.START = function() { + return this.getToken(SqlParser.START, 0); +}; + +StartTransactionContext.prototype.TRANSACTION = function() { + return this.getToken(SqlParser.TRANSACTION, 0); +}; + +StartTransactionContext.prototype.transactionMode = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TransactionModeContext); + } else { + return this.getTypedRuleContext(TransactionModeContext,i); + } +}; + +StartTransactionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +StartTransactionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStartTransaction(this); + } +}; + +StartTransactionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStartTransaction(this); + } +}; + +StartTransactionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStartTransaction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.StartTransactionContext = StartTransactionContext; + +SqlParser.prototype.startTransaction = function() { + + var localctx = new StartTransactionContext(this, this._ctx, this.state); + this.enterRule(localctx, 256, SqlParser.RULE_startTransaction); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3677; + this.match(SqlParser.START); + this.state = 3678; + this.match(SqlParser.TRANSACTION); + this.state = 3687; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.READ || _la===SqlParser.WITH) { + this.state = 3679; + this.transactionMode(); + this.state = 3684; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3680; + this.match(SqlParser.COMMA); + this.state = 3681; + this.transactionMode(); + this.state = 3686; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function BeginWorkContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_beginWork; + return this; +} + +BeginWorkContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +BeginWorkContext.prototype.constructor = BeginWorkContext; + +BeginWorkContext.prototype.BEGIN = function() { + return this.getToken(SqlParser.BEGIN, 0); +}; + +BeginWorkContext.prototype.WORK = function() { + return this.getToken(SqlParser.WORK, 0); +}; + +BeginWorkContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBeginWork(this); + } +}; + +BeginWorkContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBeginWork(this); + } +}; + +BeginWorkContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBeginWork(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.BeginWorkContext = BeginWorkContext; + +SqlParser.prototype.beginWork = function() { + + var localctx = new BeginWorkContext(this, this._ctx, this.state); + this.enterRule(localctx, 258, SqlParser.RULE_beginWork); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3689; + this.match(SqlParser.BEGIN); + this.state = 3691; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WORK) { + this.state = 3690; + this.match(SqlParser.WORK); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CommitWorkContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_commitWork; + this.nochain = null; // Token + this.norelease = null; // Token + return this; +} + +CommitWorkContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CommitWorkContext.prototype.constructor = CommitWorkContext; + +CommitWorkContext.prototype.COMMIT = function() { + return this.getToken(SqlParser.COMMIT, 0); +}; + +CommitWorkContext.prototype.WORK = function() { + return this.getToken(SqlParser.WORK, 0); +}; + +CommitWorkContext.prototype.AND = function() { + return this.getToken(SqlParser.AND, 0); +}; + +CommitWorkContext.prototype.CHAIN = function() { + return this.getToken(SqlParser.CHAIN, 0); +}; + +CommitWorkContext.prototype.RELEASE = function() { + return this.getToken(SqlParser.RELEASE, 0); +}; + +CommitWorkContext.prototype.NO = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.NO); + } else { + return this.getToken(SqlParser.NO, i); + } +}; + + +CommitWorkContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCommitWork(this); + } +}; + +CommitWorkContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCommitWork(this); + } +}; + +CommitWorkContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCommitWork(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CommitWorkContext = CommitWorkContext; + +SqlParser.prototype.commitWork = function() { + + var localctx = new CommitWorkContext(this, this._ctx, this.state); + this.enterRule(localctx, 260, SqlParser.RULE_commitWork); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3693; + this.match(SqlParser.COMMIT); + this.state = 3695; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WORK) { + this.state = 3694; + this.match(SqlParser.WORK); + } + + this.state = 3702; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AND) { + this.state = 3697; + this.match(SqlParser.AND); + this.state = 3699; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NO) { + this.state = 3698; + localctx.nochain = this.match(SqlParser.NO); + } + + this.state = 3701; + this.match(SqlParser.CHAIN); + } + + this.state = 3708; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,541,this._ctx); + if(la_===1) { + this.state = 3705; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NO) { + this.state = 3704; + localctx.norelease = this.match(SqlParser.NO); + } + + this.state = 3707; + this.match(SqlParser.RELEASE); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RollbackWorkContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_rollbackWork; + this.nochain = null; // Token + this.norelease = null; // Token + return this; +} + +RollbackWorkContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RollbackWorkContext.prototype.constructor = RollbackWorkContext; + +RollbackWorkContext.prototype.ROLLBACK = function() { + return this.getToken(SqlParser.ROLLBACK, 0); +}; + +RollbackWorkContext.prototype.WORK = function() { + return this.getToken(SqlParser.WORK, 0); +}; + +RollbackWorkContext.prototype.AND = function() { + return this.getToken(SqlParser.AND, 0); +}; + +RollbackWorkContext.prototype.CHAIN = function() { + return this.getToken(SqlParser.CHAIN, 0); +}; + +RollbackWorkContext.prototype.RELEASE = function() { + return this.getToken(SqlParser.RELEASE, 0); +}; + +RollbackWorkContext.prototype.NO = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.NO); + } else { + return this.getToken(SqlParser.NO, i); + } +}; + + +RollbackWorkContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRollbackWork(this); + } +}; + +RollbackWorkContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRollbackWork(this); + } +}; + +RollbackWorkContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRollbackWork(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RollbackWorkContext = RollbackWorkContext; + +SqlParser.prototype.rollbackWork = function() { + + var localctx = new RollbackWorkContext(this, this._ctx, this.state); + this.enterRule(localctx, 262, SqlParser.RULE_rollbackWork); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3710; + this.match(SqlParser.ROLLBACK); + this.state = 3712; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WORK) { + this.state = 3711; + this.match(SqlParser.WORK); + } + + this.state = 3719; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AND) { + this.state = 3714; + this.match(SqlParser.AND); + this.state = 3716; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NO) { + this.state = 3715; + localctx.nochain = this.match(SqlParser.NO); + } + + this.state = 3718; + this.match(SqlParser.CHAIN); + } + + this.state = 3725; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,546,this._ctx); + if(la_===1) { + this.state = 3722; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NO) { + this.state = 3721; + localctx.norelease = this.match(SqlParser.NO); + } + + this.state = 3724; + this.match(SqlParser.RELEASE); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SavepointStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_savepointStatement; + return this; +} + +SavepointStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SavepointStatementContext.prototype.constructor = SavepointStatementContext; + +SavepointStatementContext.prototype.SAVEPOINT = function() { + return this.getToken(SqlParser.SAVEPOINT, 0); +}; + +SavepointStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SavepointStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSavepointStatement(this); + } +}; + +SavepointStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSavepointStatement(this); + } +}; + +SavepointStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSavepointStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SavepointStatementContext = SavepointStatementContext; + +SqlParser.prototype.savepointStatement = function() { + + var localctx = new SavepointStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 264, SqlParser.RULE_savepointStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3727; + this.match(SqlParser.SAVEPOINT); + this.state = 3728; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RollbackStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_rollbackStatement; + return this; +} + +RollbackStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RollbackStatementContext.prototype.constructor = RollbackStatementContext; + +RollbackStatementContext.prototype.ROLLBACK = function() { + return this.getToken(SqlParser.ROLLBACK, 0); +}; + +RollbackStatementContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +RollbackStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +RollbackStatementContext.prototype.WORK = function() { + return this.getToken(SqlParser.WORK, 0); +}; + +RollbackStatementContext.prototype.SAVEPOINT = function() { + return this.getToken(SqlParser.SAVEPOINT, 0); +}; + +RollbackStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRollbackStatement(this); + } +}; + +RollbackStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRollbackStatement(this); + } +}; + +RollbackStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRollbackStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RollbackStatementContext = RollbackStatementContext; + +SqlParser.prototype.rollbackStatement = function() { + + var localctx = new RollbackStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 266, SqlParser.RULE_rollbackStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3730; + this.match(SqlParser.ROLLBACK); + this.state = 3732; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WORK) { + this.state = 3731; + this.match(SqlParser.WORK); + } + + this.state = 3734; + this.match(SqlParser.TO); + this.state = 3736; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,548,this._ctx); + if(la_===1) { + this.state = 3735; + this.match(SqlParser.SAVEPOINT); + + } + this.state = 3738; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ReleaseStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_releaseStatement; + return this; +} + +ReleaseStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ReleaseStatementContext.prototype.constructor = ReleaseStatementContext; + +ReleaseStatementContext.prototype.RELEASE = function() { + return this.getToken(SqlParser.RELEASE, 0); +}; + +ReleaseStatementContext.prototype.SAVEPOINT = function() { + return this.getToken(SqlParser.SAVEPOINT, 0); +}; + +ReleaseStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ReleaseStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterReleaseStatement(this); + } +}; + +ReleaseStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitReleaseStatement(this); + } +}; + +ReleaseStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitReleaseStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ReleaseStatementContext = ReleaseStatementContext; + +SqlParser.prototype.releaseStatement = function() { + + var localctx = new ReleaseStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 268, SqlParser.RULE_releaseStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3740; + this.match(SqlParser.RELEASE); + this.state = 3741; + this.match(SqlParser.SAVEPOINT); + this.state = 3742; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LockTablesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_lockTables; + return this; +} + +LockTablesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LockTablesContext.prototype.constructor = LockTablesContext; + +LockTablesContext.prototype.LOCK = function() { + return this.getToken(SqlParser.LOCK, 0); +}; + +LockTablesContext.prototype.TABLES = function() { + return this.getToken(SqlParser.TABLES, 0); +}; + +LockTablesContext.prototype.lockTableElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(LockTableElementContext); + } else { + return this.getTypedRuleContext(LockTableElementContext,i); + } +}; + +LockTablesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +LockTablesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLockTables(this); + } +}; + +LockTablesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLockTables(this); + } +}; + +LockTablesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLockTables(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LockTablesContext = LockTablesContext; + +SqlParser.prototype.lockTables = function() { + + var localctx = new LockTablesContext(this, this._ctx, this.state); + this.enterRule(localctx, 270, SqlParser.RULE_lockTables); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3744; + this.match(SqlParser.LOCK); + this.state = 3745; + this.match(SqlParser.TABLES); + this.state = 3746; + this.lockTableElement(); + this.state = 3751; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3747; + this.match(SqlParser.COMMA); + this.state = 3748; + this.lockTableElement(); + this.state = 3753; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UnlockTablesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_unlockTables; + return this; +} + +UnlockTablesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UnlockTablesContext.prototype.constructor = UnlockTablesContext; + +UnlockTablesContext.prototype.UNLOCK = function() { + return this.getToken(SqlParser.UNLOCK, 0); +}; + +UnlockTablesContext.prototype.TABLES = function() { + return this.getToken(SqlParser.TABLES, 0); +}; + +UnlockTablesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUnlockTables(this); + } +}; + +UnlockTablesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUnlockTables(this); + } +}; + +UnlockTablesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUnlockTables(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UnlockTablesContext = UnlockTablesContext; + +SqlParser.prototype.unlockTables = function() { + + var localctx = new UnlockTablesContext(this, this._ctx, this.state); + this.enterRule(localctx, 272, SqlParser.RULE_unlockTables); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3754; + this.match(SqlParser.UNLOCK); + this.state = 3755; + this.match(SqlParser.TABLES); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SetAutocommitStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_setAutocommitStatement; + this.autocommitValue = null; // Token + return this; +} + +SetAutocommitStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SetAutocommitStatementContext.prototype.constructor = SetAutocommitStatementContext; + +SetAutocommitStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SetAutocommitStatementContext.prototype.AUTOCOMMIT = function() { + return this.getToken(SqlParser.AUTOCOMMIT, 0); +}; + +SetAutocommitStatementContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +SetAutocommitStatementContext.prototype.ZERO_DECIMAL = function() { + return this.getToken(SqlParser.ZERO_DECIMAL, 0); +}; + +SetAutocommitStatementContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +SetAutocommitStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetAutocommitStatement(this); + } +}; + +SetAutocommitStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetAutocommitStatement(this); + } +}; + +SetAutocommitStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetAutocommitStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SetAutocommitStatementContext = SetAutocommitStatementContext; + +SqlParser.prototype.setAutocommitStatement = function() { + + var localctx = new SetAutocommitStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 274, SqlParser.RULE_setAutocommitStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3757; + this.match(SqlParser.SET); + this.state = 3758; + this.match(SqlParser.AUTOCOMMIT); + this.state = 3759; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3760; + localctx.autocommitValue = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ZERO_DECIMAL || _la===SqlParser.ONE_DECIMAL)) { + localctx.autocommitValue = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SetTransactionStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_setTransactionStatement; + this.transactionContext = null; // Token + return this; +} + +SetTransactionStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SetTransactionStatementContext.prototype.constructor = SetTransactionStatementContext; + +SetTransactionStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SetTransactionStatementContext.prototype.TRANSACTION = function() { + return this.getToken(SqlParser.TRANSACTION, 0); +}; + +SetTransactionStatementContext.prototype.transactionOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TransactionOptionContext); + } else { + return this.getTypedRuleContext(TransactionOptionContext,i); + } +}; + +SetTransactionStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +SetTransactionStatementContext.prototype.GLOBAL = function() { + return this.getToken(SqlParser.GLOBAL, 0); +}; + +SetTransactionStatementContext.prototype.SESSION = function() { + return this.getToken(SqlParser.SESSION, 0); +}; + +SetTransactionStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetTransactionStatement(this); + } +}; + +SetTransactionStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetTransactionStatement(this); + } +}; + +SetTransactionStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetTransactionStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SetTransactionStatementContext = SetTransactionStatementContext; + +SqlParser.prototype.setTransactionStatement = function() { + + var localctx = new SetTransactionStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 276, SqlParser.RULE_setTransactionStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3762; + this.match(SqlParser.SET); + this.state = 3764; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.GLOBAL || _la===SqlParser.SESSION) { + this.state = 3763; + localctx.transactionContext = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.GLOBAL || _la===SqlParser.SESSION)) { + localctx.transactionContext = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 3766; + this.match(SqlParser.TRANSACTION); + this.state = 3767; + this.transactionOption(); + this.state = 3772; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3768; + this.match(SqlParser.COMMA); + this.state = 3769; + this.transactionOption(); + this.state = 3774; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TransactionModeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_transactionMode; + return this; +} + +TransactionModeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TransactionModeContext.prototype.constructor = TransactionModeContext; + +TransactionModeContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +TransactionModeContext.prototype.CONSISTENT = function() { + return this.getToken(SqlParser.CONSISTENT, 0); +}; + +TransactionModeContext.prototype.SNAPSHOT = function() { + return this.getToken(SqlParser.SNAPSHOT, 0); +}; + +TransactionModeContext.prototype.READ = function() { + return this.getToken(SqlParser.READ, 0); +}; + +TransactionModeContext.prototype.WRITE = function() { + return this.getToken(SqlParser.WRITE, 0); +}; + +TransactionModeContext.prototype.ONLY = function() { + return this.getToken(SqlParser.ONLY, 0); +}; + +TransactionModeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTransactionMode(this); + } +}; + +TransactionModeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTransactionMode(this); + } +}; + +TransactionModeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTransactionMode(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TransactionModeContext = TransactionModeContext; + +SqlParser.prototype.transactionMode = function() { + + var localctx = new TransactionModeContext(this, this._ctx, this.state); + this.enterRule(localctx, 278, SqlParser.RULE_transactionMode); + try { + this.state = 3782; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,552,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3775; + this.match(SqlParser.WITH); + this.state = 3776; + this.match(SqlParser.CONSISTENT); + this.state = 3777; + this.match(SqlParser.SNAPSHOT); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3778; + this.match(SqlParser.READ); + this.state = 3779; + this.match(SqlParser.WRITE); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 3780; + this.match(SqlParser.READ); + this.state = 3781; + this.match(SqlParser.ONLY); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LockTableElementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_lockTableElement; + return this; +} + +LockTableElementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LockTableElementContext.prototype.constructor = LockTableElementContext; + +LockTableElementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +LockTableElementContext.prototype.lockAction = function() { + return this.getTypedRuleContext(LockActionContext,0); +}; + +LockTableElementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +LockTableElementContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +LockTableElementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLockTableElement(this); + } +}; + +LockTableElementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLockTableElement(this); + } +}; + +LockTableElementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLockTableElement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LockTableElementContext = LockTableElementContext; + +SqlParser.prototype.lockTableElement = function() { + + var localctx = new LockTableElementContext(this, this._ctx, this.state); + this.enterRule(localctx, 280, SqlParser.RULE_lockTableElement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3784; + this.tableName(); + this.state = 3789; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 3786; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 3785; + this.match(SqlParser.AS); + } + + this.state = 3788; + this.uid(); + } + + this.state = 3791; + this.lockAction(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LockActionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_lockAction; + return this; +} + +LockActionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LockActionContext.prototype.constructor = LockActionContext; + +LockActionContext.prototype.READ = function() { + return this.getToken(SqlParser.READ, 0); +}; + +LockActionContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +LockActionContext.prototype.WRITE = function() { + return this.getToken(SqlParser.WRITE, 0); +}; + +LockActionContext.prototype.LOW_PRIORITY = function() { + return this.getToken(SqlParser.LOW_PRIORITY, 0); +}; + +LockActionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLockAction(this); + } +}; + +LockActionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLockAction(this); + } +}; + +LockActionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLockAction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LockActionContext = LockActionContext; + +SqlParser.prototype.lockAction = function() { + + var localctx = new LockActionContext(this, this._ctx, this.state); + this.enterRule(localctx, 282, SqlParser.RULE_lockAction); + var _la = 0; // Token type + try { + this.state = 3801; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.READ: + this.enterOuterAlt(localctx, 1); + this.state = 3793; + this.match(SqlParser.READ); + this.state = 3795; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOCAL) { + this.state = 3794; + this.match(SqlParser.LOCAL); + } + + break; + case SqlParser.LOW_PRIORITY: + case SqlParser.WRITE: + this.enterOuterAlt(localctx, 2); + this.state = 3798; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LOW_PRIORITY) { + this.state = 3797; + this.match(SqlParser.LOW_PRIORITY); + } + + this.state = 3800; + this.match(SqlParser.WRITE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TransactionOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_transactionOption; + return this; +} + +TransactionOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TransactionOptionContext.prototype.constructor = TransactionOptionContext; + +TransactionOptionContext.prototype.ISOLATION = function() { + return this.getToken(SqlParser.ISOLATION, 0); +}; + +TransactionOptionContext.prototype.LEVEL = function() { + return this.getToken(SqlParser.LEVEL, 0); +}; + +TransactionOptionContext.prototype.transactionLevel = function() { + return this.getTypedRuleContext(TransactionLevelContext,0); +}; + +TransactionOptionContext.prototype.READ = function() { + return this.getToken(SqlParser.READ, 0); +}; + +TransactionOptionContext.prototype.WRITE = function() { + return this.getToken(SqlParser.WRITE, 0); +}; + +TransactionOptionContext.prototype.ONLY = function() { + return this.getToken(SqlParser.ONLY, 0); +}; + +TransactionOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTransactionOption(this); + } +}; + +TransactionOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTransactionOption(this); + } +}; + +TransactionOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTransactionOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TransactionOptionContext = TransactionOptionContext; + +SqlParser.prototype.transactionOption = function() { + + var localctx = new TransactionOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 284, SqlParser.RULE_transactionOption); + try { + this.state = 3810; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,558,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3803; + this.match(SqlParser.ISOLATION); + this.state = 3804; + this.match(SqlParser.LEVEL); + this.state = 3805; + this.transactionLevel(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3806; + this.match(SqlParser.READ); + this.state = 3807; + this.match(SqlParser.WRITE); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 3808; + this.match(SqlParser.READ); + this.state = 3809; + this.match(SqlParser.ONLY); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TransactionLevelContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_transactionLevel; + return this; +} + +TransactionLevelContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TransactionLevelContext.prototype.constructor = TransactionLevelContext; + +TransactionLevelContext.prototype.REPEATABLE = function() { + return this.getToken(SqlParser.REPEATABLE, 0); +}; + +TransactionLevelContext.prototype.READ = function() { + return this.getToken(SqlParser.READ, 0); +}; + +TransactionLevelContext.prototype.COMMITTED = function() { + return this.getToken(SqlParser.COMMITTED, 0); +}; + +TransactionLevelContext.prototype.UNCOMMITTED = function() { + return this.getToken(SqlParser.UNCOMMITTED, 0); +}; + +TransactionLevelContext.prototype.SERIALIZABLE = function() { + return this.getToken(SqlParser.SERIALIZABLE, 0); +}; + +TransactionLevelContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTransactionLevel(this); + } +}; + +TransactionLevelContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTransactionLevel(this); + } +}; + +TransactionLevelContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTransactionLevel(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TransactionLevelContext = TransactionLevelContext; + +SqlParser.prototype.transactionLevel = function() { + + var localctx = new TransactionLevelContext(this, this._ctx, this.state); + this.enterRule(localctx, 286, SqlParser.RULE_transactionLevel); + try { + this.state = 3819; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,559,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3812; + this.match(SqlParser.REPEATABLE); + this.state = 3813; + this.match(SqlParser.READ); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3814; + this.match(SqlParser.READ); + this.state = 3815; + this.match(SqlParser.COMMITTED); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 3816; + this.match(SqlParser.READ); + this.state = 3817; + this.match(SqlParser.UNCOMMITTED); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 3818; + this.match(SqlParser.SERIALIZABLE); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ChangeMasterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_changeMaster; + return this; +} + +ChangeMasterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ChangeMasterContext.prototype.constructor = ChangeMasterContext; + +ChangeMasterContext.prototype.CHANGE = function() { + return this.getToken(SqlParser.CHANGE, 0); +}; + +ChangeMasterContext.prototype.MASTER = function() { + return this.getToken(SqlParser.MASTER, 0); +}; + +ChangeMasterContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +ChangeMasterContext.prototype.masterOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(MasterOptionContext); + } else { + return this.getTypedRuleContext(MasterOptionContext,i); + } +}; + +ChangeMasterContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ChangeMasterContext.prototype.channelOption = function() { + return this.getTypedRuleContext(ChannelOptionContext,0); +}; + +ChangeMasterContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterChangeMaster(this); + } +}; + +ChangeMasterContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitChangeMaster(this); + } +}; + +ChangeMasterContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitChangeMaster(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ChangeMasterContext = ChangeMasterContext; + +SqlParser.prototype.changeMaster = function() { + + var localctx = new ChangeMasterContext(this, this._ctx, this.state); + this.enterRule(localctx, 288, SqlParser.RULE_changeMaster); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3821; + this.match(SqlParser.CHANGE); + this.state = 3822; + this.match(SqlParser.MASTER); + this.state = 3823; + this.match(SqlParser.TO); + this.state = 3824; + this.masterOption(); + this.state = 3829; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3825; + this.match(SqlParser.COMMA); + this.state = 3826; + this.masterOption(); + this.state = 3831; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3833; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 3832; + this.channelOption(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ChangeReplicationFilterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_changeReplicationFilter; + return this; +} + +ChangeReplicationFilterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ChangeReplicationFilterContext.prototype.constructor = ChangeReplicationFilterContext; + +ChangeReplicationFilterContext.prototype.CHANGE = function() { + return this.getToken(SqlParser.CHANGE, 0); +}; + +ChangeReplicationFilterContext.prototype.REPLICATION = function() { + return this.getToken(SqlParser.REPLICATION, 0); +}; + +ChangeReplicationFilterContext.prototype.FILTER = function() { + return this.getToken(SqlParser.FILTER, 0); +}; + +ChangeReplicationFilterContext.prototype.replicationFilter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ReplicationFilterContext); + } else { + return this.getTypedRuleContext(ReplicationFilterContext,i); + } +}; + +ChangeReplicationFilterContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ChangeReplicationFilterContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterChangeReplicationFilter(this); + } +}; + +ChangeReplicationFilterContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitChangeReplicationFilter(this); + } +}; + +ChangeReplicationFilterContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitChangeReplicationFilter(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ChangeReplicationFilterContext = ChangeReplicationFilterContext; + +SqlParser.prototype.changeReplicationFilter = function() { + + var localctx = new ChangeReplicationFilterContext(this, this._ctx, this.state); + this.enterRule(localctx, 290, SqlParser.RULE_changeReplicationFilter); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3835; + this.match(SqlParser.CHANGE); + this.state = 3836; + this.match(SqlParser.REPLICATION); + this.state = 3837; + this.match(SqlParser.FILTER); + this.state = 3838; + this.replicationFilter(); + this.state = 3843; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3839; + this.match(SqlParser.COMMA); + this.state = 3840; + this.replicationFilter(); + this.state = 3845; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PurgeBinaryLogsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_purgeBinaryLogs; + this.purgeFormat = null; // Token + this.fileName = null; // Token + this.timeValue = null; // Token + return this; +} + +PurgeBinaryLogsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PurgeBinaryLogsContext.prototype.constructor = PurgeBinaryLogsContext; + +PurgeBinaryLogsContext.prototype.PURGE = function() { + return this.getToken(SqlParser.PURGE, 0); +}; + +PurgeBinaryLogsContext.prototype.LOGS = function() { + return this.getToken(SqlParser.LOGS, 0); +}; + +PurgeBinaryLogsContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +PurgeBinaryLogsContext.prototype.MASTER = function() { + return this.getToken(SqlParser.MASTER, 0); +}; + +PurgeBinaryLogsContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +PurgeBinaryLogsContext.prototype.BEFORE = function() { + return this.getToken(SqlParser.BEFORE, 0); +}; + +PurgeBinaryLogsContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +PurgeBinaryLogsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPurgeBinaryLogs(this); + } +}; + +PurgeBinaryLogsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPurgeBinaryLogs(this); + } +}; + +PurgeBinaryLogsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPurgeBinaryLogs(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PurgeBinaryLogsContext = PurgeBinaryLogsContext; + +SqlParser.prototype.purgeBinaryLogs = function() { + + var localctx = new PurgeBinaryLogsContext(this, this._ctx, this.state); + this.enterRule(localctx, 292, SqlParser.RULE_purgeBinaryLogs); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3846; + this.match(SqlParser.PURGE); + this.state = 3847; + localctx.purgeFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.BINARY || _la===SqlParser.MASTER)) { + localctx.purgeFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3848; + this.match(SqlParser.LOGS); + this.state = 3853; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.TO: + this.state = 3849; + this.match(SqlParser.TO); + this.state = 3850; + localctx.fileName = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.BEFORE: + this.state = 3851; + this.match(SqlParser.BEFORE); + this.state = 3852; + localctx.timeValue = this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ResetMasterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_resetMaster; + return this; +} + +ResetMasterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ResetMasterContext.prototype.constructor = ResetMasterContext; + +ResetMasterContext.prototype.RESET = function() { + return this.getToken(SqlParser.RESET, 0); +}; + +ResetMasterContext.prototype.MASTER = function() { + return this.getToken(SqlParser.MASTER, 0); +}; + +ResetMasterContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterResetMaster(this); + } +}; + +ResetMasterContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitResetMaster(this); + } +}; + +ResetMasterContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitResetMaster(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ResetMasterContext = ResetMasterContext; + +SqlParser.prototype.resetMaster = function() { + + var localctx = new ResetMasterContext(this, this._ctx, this.state); + this.enterRule(localctx, 294, SqlParser.RULE_resetMaster); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3855; + this.match(SqlParser.RESET); + this.state = 3856; + this.match(SqlParser.MASTER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ResetSlaveContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_resetSlave; + return this; +} + +ResetSlaveContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ResetSlaveContext.prototype.constructor = ResetSlaveContext; + +ResetSlaveContext.prototype.RESET = function() { + return this.getToken(SqlParser.RESET, 0); +}; + +ResetSlaveContext.prototype.SLAVE = function() { + return this.getToken(SqlParser.SLAVE, 0); +}; + +ResetSlaveContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +ResetSlaveContext.prototype.channelOption = function() { + return this.getTypedRuleContext(ChannelOptionContext,0); +}; + +ResetSlaveContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterResetSlave(this); + } +}; + +ResetSlaveContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitResetSlave(this); + } +}; + +ResetSlaveContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitResetSlave(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ResetSlaveContext = ResetSlaveContext; + +SqlParser.prototype.resetSlave = function() { + + var localctx = new ResetSlaveContext(this, this._ctx, this.state); + this.enterRule(localctx, 296, SqlParser.RULE_resetSlave); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3858; + this.match(SqlParser.RESET); + this.state = 3859; + this.match(SqlParser.SLAVE); + this.state = 3861; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALL) { + this.state = 3860; + this.match(SqlParser.ALL); + } + + this.state = 3864; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 3863; + this.channelOption(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StartSlaveContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_startSlave; + return this; +} + +StartSlaveContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StartSlaveContext.prototype.constructor = StartSlaveContext; + +StartSlaveContext.prototype.START = function() { + return this.getToken(SqlParser.START, 0); +}; + +StartSlaveContext.prototype.SLAVE = function() { + return this.getToken(SqlParser.SLAVE, 0); +}; + +StartSlaveContext.prototype.threadType = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ThreadTypeContext); + } else { + return this.getTypedRuleContext(ThreadTypeContext,i); + } +}; + +StartSlaveContext.prototype.UNTIL = function() { + return this.getToken(SqlParser.UNTIL, 0); +}; + +StartSlaveContext.prototype.untilOption = function() { + return this.getTypedRuleContext(UntilOptionContext,0); +}; + +StartSlaveContext.prototype.connectionOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ConnectionOptionContext); + } else { + return this.getTypedRuleContext(ConnectionOptionContext,i); + } +}; + +StartSlaveContext.prototype.channelOption = function() { + return this.getTypedRuleContext(ChannelOptionContext,0); +}; + +StartSlaveContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +StartSlaveContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStartSlave(this); + } +}; + +StartSlaveContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStartSlave(this); + } +}; + +StartSlaveContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStartSlave(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.StartSlaveContext = StartSlaveContext; + +SqlParser.prototype.startSlave = function() { + + var localctx = new StartSlaveContext(this, this._ctx, this.state); + this.enterRule(localctx, 298, SqlParser.RULE_startSlave); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3866; + this.match(SqlParser.START); + this.state = 3867; + this.match(SqlParser.SLAVE); + this.state = 3876; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IO_THREAD || _la===SqlParser.SQL_THREAD) { + this.state = 3868; + this.threadType(); + this.state = 3873; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3869; + this.match(SqlParser.COMMA); + this.state = 3870; + this.threadType(); + this.state = 3875; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3880; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.UNTIL) { + this.state = 3878; + this.match(SqlParser.UNTIL); + this.state = 3879; + this.untilOption(); + } + + this.state = 3885; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.DEFAULT_AUTH || _la===SqlParser.PASSWORD || _la===SqlParser.PLUGIN_DIR || _la===SqlParser.USER) { + this.state = 3882; + this.connectionOption(); + this.state = 3887; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3889; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 3888; + this.channelOption(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StopSlaveContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_stopSlave; + return this; +} + +StopSlaveContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StopSlaveContext.prototype.constructor = StopSlaveContext; + +StopSlaveContext.prototype.STOP = function() { + return this.getToken(SqlParser.STOP, 0); +}; + +StopSlaveContext.prototype.SLAVE = function() { + return this.getToken(SqlParser.SLAVE, 0); +}; + +StopSlaveContext.prototype.threadType = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ThreadTypeContext); + } else { + return this.getTypedRuleContext(ThreadTypeContext,i); + } +}; + +StopSlaveContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +StopSlaveContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStopSlave(this); + } +}; + +StopSlaveContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStopSlave(this); + } +}; + +StopSlaveContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStopSlave(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.StopSlaveContext = StopSlaveContext; + +SqlParser.prototype.stopSlave = function() { + + var localctx = new StopSlaveContext(this, this._ctx, this.state); + this.enterRule(localctx, 300, SqlParser.RULE_stopSlave); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3891; + this.match(SqlParser.STOP); + this.state = 3892; + this.match(SqlParser.SLAVE); + this.state = 3901; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IO_THREAD || _la===SqlParser.SQL_THREAD) { + this.state = 3893; + this.threadType(); + this.state = 3898; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3894; + this.match(SqlParser.COMMA); + this.state = 3895; + this.threadType(); + this.state = 3900; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StartGroupReplicationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_startGroupReplication; + return this; +} + +StartGroupReplicationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StartGroupReplicationContext.prototype.constructor = StartGroupReplicationContext; + +StartGroupReplicationContext.prototype.START = function() { + return this.getToken(SqlParser.START, 0); +}; + +StartGroupReplicationContext.prototype.GROUP_REPLICATION = function() { + return this.getToken(SqlParser.GROUP_REPLICATION, 0); +}; + +StartGroupReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStartGroupReplication(this); + } +}; + +StartGroupReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStartGroupReplication(this); + } +}; + +StartGroupReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStartGroupReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.StartGroupReplicationContext = StartGroupReplicationContext; + +SqlParser.prototype.startGroupReplication = function() { + + var localctx = new StartGroupReplicationContext(this, this._ctx, this.state); + this.enterRule(localctx, 302, SqlParser.RULE_startGroupReplication); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3903; + this.match(SqlParser.START); + this.state = 3904; + this.match(SqlParser.GROUP_REPLICATION); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StopGroupReplicationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_stopGroupReplication; + return this; +} + +StopGroupReplicationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StopGroupReplicationContext.prototype.constructor = StopGroupReplicationContext; + +StopGroupReplicationContext.prototype.STOP = function() { + return this.getToken(SqlParser.STOP, 0); +}; + +StopGroupReplicationContext.prototype.GROUP_REPLICATION = function() { + return this.getToken(SqlParser.GROUP_REPLICATION, 0); +}; + +StopGroupReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStopGroupReplication(this); + } +}; + +StopGroupReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStopGroupReplication(this); + } +}; + +StopGroupReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStopGroupReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.StopGroupReplicationContext = StopGroupReplicationContext; + +SqlParser.prototype.stopGroupReplication = function() { + + var localctx = new StopGroupReplicationContext(this, this._ctx, this.state); + this.enterRule(localctx, 304, SqlParser.RULE_stopGroupReplication); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3906; + this.match(SqlParser.STOP); + this.state = 3907; + this.match(SqlParser.GROUP_REPLICATION); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function MasterOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_masterOption; + return this; +} + +MasterOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +MasterOptionContext.prototype.constructor = MasterOptionContext; + + + +MasterOptionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function MasterStringOptionContext(parser, ctx) { + MasterOptionContext.call(this, parser); + MasterOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +MasterStringOptionContext.prototype = Object.create(MasterOptionContext.prototype); +MasterStringOptionContext.prototype.constructor = MasterStringOptionContext; + +SqlParser.MasterStringOptionContext = MasterStringOptionContext; + +MasterStringOptionContext.prototype.stringMasterOption = function() { + return this.getTypedRuleContext(StringMasterOptionContext,0); +}; + +MasterStringOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +MasterStringOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +MasterStringOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMasterStringOption(this); + } +}; + +MasterStringOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMasterStringOption(this); + } +}; + +MasterStringOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMasterStringOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function MasterRealOptionContext(parser, ctx) { + MasterOptionContext.call(this, parser); + MasterOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +MasterRealOptionContext.prototype = Object.create(MasterOptionContext.prototype); +MasterRealOptionContext.prototype.constructor = MasterRealOptionContext; + +SqlParser.MasterRealOptionContext = MasterRealOptionContext; + +MasterRealOptionContext.prototype.MASTER_HEARTBEAT_PERIOD = function() { + return this.getToken(SqlParser.MASTER_HEARTBEAT_PERIOD, 0); +}; + +MasterRealOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +MasterRealOptionContext.prototype.REAL_LITERAL = function() { + return this.getToken(SqlParser.REAL_LITERAL, 0); +}; +MasterRealOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMasterRealOption(this); + } +}; + +MasterRealOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMasterRealOption(this); + } +}; + +MasterRealOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMasterRealOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function MasterBoolOptionContext(parser, ctx) { + MasterOptionContext.call(this, parser); + this.boolVal = null; // Token; + MasterOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +MasterBoolOptionContext.prototype = Object.create(MasterOptionContext.prototype); +MasterBoolOptionContext.prototype.constructor = MasterBoolOptionContext; + +SqlParser.MasterBoolOptionContext = MasterBoolOptionContext; + +MasterBoolOptionContext.prototype.boolMasterOption = function() { + return this.getTypedRuleContext(BoolMasterOptionContext,0); +}; + +MasterBoolOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +MasterBoolOptionContext.prototype.ZERO_DECIMAL = function() { + return this.getToken(SqlParser.ZERO_DECIMAL, 0); +}; + +MasterBoolOptionContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; +MasterBoolOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMasterBoolOption(this); + } +}; + +MasterBoolOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMasterBoolOption(this); + } +}; + +MasterBoolOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMasterBoolOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function MasterUidListOptionContext(parser, ctx) { + MasterOptionContext.call(this, parser); + MasterOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +MasterUidListOptionContext.prototype = Object.create(MasterOptionContext.prototype); +MasterUidListOptionContext.prototype.constructor = MasterUidListOptionContext; + +SqlParser.MasterUidListOptionContext = MasterUidListOptionContext; + +MasterUidListOptionContext.prototype.IGNORE_SERVER_IDS = function() { + return this.getToken(SqlParser.IGNORE_SERVER_IDS, 0); +}; + +MasterUidListOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +MasterUidListOptionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +MasterUidListOptionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +MasterUidListOptionContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +MasterUidListOptionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +MasterUidListOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMasterUidListOption(this); + } +}; + +MasterUidListOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMasterUidListOption(this); + } +}; + +MasterUidListOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMasterUidListOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function MasterDecimalOptionContext(parser, ctx) { + MasterOptionContext.call(this, parser); + MasterOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +MasterDecimalOptionContext.prototype = Object.create(MasterOptionContext.prototype); +MasterDecimalOptionContext.prototype.constructor = MasterDecimalOptionContext; + +SqlParser.MasterDecimalOptionContext = MasterDecimalOptionContext; + +MasterDecimalOptionContext.prototype.decimalMasterOption = function() { + return this.getTypedRuleContext(DecimalMasterOptionContext,0); +}; + +MasterDecimalOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +MasterDecimalOptionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; +MasterDecimalOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMasterDecimalOption(this); + } +}; + +MasterDecimalOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMasterDecimalOption(this); + } +}; + +MasterDecimalOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMasterDecimalOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.MasterOptionContext = MasterOptionContext; + +SqlParser.prototype.masterOption = function() { + + var localctx = new MasterOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 306, SqlParser.RULE_masterOption); + var _la = 0; // Token type + try { + this.state = 3938; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.MASTER_BIND: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.RELAY_LOG_FILE: + localctx = new MasterStringOptionContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 3909; + this.stringMasterOption(); + this.state = 3910; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3911; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.RELAY_LOG_POS: + localctx = new MasterDecimalOptionContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3913; + this.decimalMasterOption(); + this.state = 3914; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3915; + this.decimalLiteral(); + break; + case SqlParser.MASTER_SSL_VERIFY_SERVER_CERT: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_SSL: + localctx = new MasterBoolOptionContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 3917; + this.boolMasterOption(); + this.state = 3918; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3919; + localctx.boolVal = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ZERO_DECIMAL || _la===SqlParser.ONE_DECIMAL)) { + localctx.boolVal = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.MASTER_HEARTBEAT_PERIOD: + localctx = new MasterRealOptionContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 3921; + this.match(SqlParser.MASTER_HEARTBEAT_PERIOD); + this.state = 3922; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3923; + this.match(SqlParser.REAL_LITERAL); + break; + case SqlParser.IGNORE_SERVER_IDS: + localctx = new MasterUidListOptionContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 3924; + this.match(SqlParser.IGNORE_SERVER_IDS); + this.state = 3925; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3926; + this.match(SqlParser.LR_BRACKET); + this.state = 3935; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 3927; + this.uid(); + this.state = 3932; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3928; + this.match(SqlParser.COMMA); + this.state = 3929; + this.uid(); + this.state = 3934; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3937; + this.match(SqlParser.RR_BRACKET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StringMasterOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_stringMasterOption; + return this; +} + +StringMasterOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StringMasterOptionContext.prototype.constructor = StringMasterOptionContext; + +StringMasterOptionContext.prototype.MASTER_BIND = function() { + return this.getToken(SqlParser.MASTER_BIND, 0); +}; + +StringMasterOptionContext.prototype.MASTER_HOST = function() { + return this.getToken(SqlParser.MASTER_HOST, 0); +}; + +StringMasterOptionContext.prototype.MASTER_USER = function() { + return this.getToken(SqlParser.MASTER_USER, 0); +}; + +StringMasterOptionContext.prototype.MASTER_PASSWORD = function() { + return this.getToken(SqlParser.MASTER_PASSWORD, 0); +}; + +StringMasterOptionContext.prototype.MASTER_LOG_FILE = function() { + return this.getToken(SqlParser.MASTER_LOG_FILE, 0); +}; + +StringMasterOptionContext.prototype.RELAY_LOG_FILE = function() { + return this.getToken(SqlParser.RELAY_LOG_FILE, 0); +}; + +StringMasterOptionContext.prototype.MASTER_SSL_CA = function() { + return this.getToken(SqlParser.MASTER_SSL_CA, 0); +}; + +StringMasterOptionContext.prototype.MASTER_SSL_CAPATH = function() { + return this.getToken(SqlParser.MASTER_SSL_CAPATH, 0); +}; + +StringMasterOptionContext.prototype.MASTER_SSL_CERT = function() { + return this.getToken(SqlParser.MASTER_SSL_CERT, 0); +}; + +StringMasterOptionContext.prototype.MASTER_SSL_CRL = function() { + return this.getToken(SqlParser.MASTER_SSL_CRL, 0); +}; + +StringMasterOptionContext.prototype.MASTER_SSL_CRLPATH = function() { + return this.getToken(SqlParser.MASTER_SSL_CRLPATH, 0); +}; + +StringMasterOptionContext.prototype.MASTER_SSL_KEY = function() { + return this.getToken(SqlParser.MASTER_SSL_KEY, 0); +}; + +StringMasterOptionContext.prototype.MASTER_SSL_CIPHER = function() { + return this.getToken(SqlParser.MASTER_SSL_CIPHER, 0); +}; + +StringMasterOptionContext.prototype.MASTER_TLS_VERSION = function() { + return this.getToken(SqlParser.MASTER_TLS_VERSION, 0); +}; + +StringMasterOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStringMasterOption(this); + } +}; + +StringMasterOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStringMasterOption(this); + } +}; + +StringMasterOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStringMasterOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.StringMasterOptionContext = StringMasterOptionContext; + +SqlParser.prototype.stringMasterOption = function() { + + var localctx = new StringMasterOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 308, SqlParser.RULE_stringMasterOption); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3940; + _la = this._input.LA(1); + if(!(_la===SqlParser.MASTER_BIND || ((((_la - 410)) & ~0x1f) == 0 && ((1 << (_la - 410)) & ((1 << (SqlParser.MASTER_HOST - 410)) | (1 << (SqlParser.MASTER_LOG_FILE - 410)) | (1 << (SqlParser.MASTER_PASSWORD - 410)) | (1 << (SqlParser.MASTER_SSL_CA - 410)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 410)) | (1 << (SqlParser.MASTER_SSL_CERT - 410)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 410)) | (1 << (SqlParser.MASTER_SSL_CRL - 410)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 410)) | (1 << (SqlParser.MASTER_SSL_KEY - 410)) | (1 << (SqlParser.MASTER_TLS_VERSION - 410)) | (1 << (SqlParser.MASTER_USER - 410)))) !== 0) || _la===SqlParser.RELAY_LOG_FILE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DecimalMasterOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_decimalMasterOption; + return this; +} + +DecimalMasterOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DecimalMasterOptionContext.prototype.constructor = DecimalMasterOptionContext; + +DecimalMasterOptionContext.prototype.MASTER_PORT = function() { + return this.getToken(SqlParser.MASTER_PORT, 0); +}; + +DecimalMasterOptionContext.prototype.MASTER_CONNECT_RETRY = function() { + return this.getToken(SqlParser.MASTER_CONNECT_RETRY, 0); +}; + +DecimalMasterOptionContext.prototype.MASTER_RETRY_COUNT = function() { + return this.getToken(SqlParser.MASTER_RETRY_COUNT, 0); +}; + +DecimalMasterOptionContext.prototype.MASTER_DELAY = function() { + return this.getToken(SqlParser.MASTER_DELAY, 0); +}; + +DecimalMasterOptionContext.prototype.MASTER_LOG_POS = function() { + return this.getToken(SqlParser.MASTER_LOG_POS, 0); +}; + +DecimalMasterOptionContext.prototype.RELAY_LOG_POS = function() { + return this.getToken(SqlParser.RELAY_LOG_POS, 0); +}; + +DecimalMasterOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDecimalMasterOption(this); + } +}; + +DecimalMasterOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDecimalMasterOption(this); + } +}; + +DecimalMasterOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDecimalMasterOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DecimalMasterOptionContext = DecimalMasterOptionContext; + +SqlParser.prototype.decimalMasterOption = function() { + + var localctx = new DecimalMasterOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 310, SqlParser.RULE_decimalMasterOption); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3942; + _la = this._input.LA(1); + if(!(((((_la - 407)) & ~0x1f) == 0 && ((1 << (_la - 407)) & ((1 << (SqlParser.MASTER_CONNECT_RETRY - 407)) | (1 << (SqlParser.MASTER_DELAY - 407)) | (1 << (SqlParser.MASTER_LOG_POS - 407)) | (1 << (SqlParser.MASTER_PORT - 407)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 407)))) !== 0) || _la===SqlParser.RELAY_LOG_POS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function BoolMasterOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_boolMasterOption; + return this; +} + +BoolMasterOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +BoolMasterOptionContext.prototype.constructor = BoolMasterOptionContext; + +BoolMasterOptionContext.prototype.MASTER_AUTO_POSITION = function() { + return this.getToken(SqlParser.MASTER_AUTO_POSITION, 0); +}; + +BoolMasterOptionContext.prototype.MASTER_SSL = function() { + return this.getToken(SqlParser.MASTER_SSL, 0); +}; + +BoolMasterOptionContext.prototype.MASTER_SSL_VERIFY_SERVER_CERT = function() { + return this.getToken(SqlParser.MASTER_SSL_VERIFY_SERVER_CERT, 0); +}; + +BoolMasterOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBoolMasterOption(this); + } +}; + +BoolMasterOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBoolMasterOption(this); + } +}; + +BoolMasterOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBoolMasterOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.BoolMasterOptionContext = BoolMasterOptionContext; + +SqlParser.prototype.boolMasterOption = function() { + + var localctx = new BoolMasterOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 312, SqlParser.RULE_boolMasterOption); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3944; + _la = this._input.LA(1); + if(!(_la===SqlParser.MASTER_SSL_VERIFY_SERVER_CERT || _la===SqlParser.MASTER_AUTO_POSITION || _la===SqlParser.MASTER_SSL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ChannelOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_channelOption; + return this; +} + +ChannelOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ChannelOptionContext.prototype.constructor = ChannelOptionContext; + +ChannelOptionContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +ChannelOptionContext.prototype.CHANNEL = function() { + return this.getToken(SqlParser.CHANNEL, 0); +}; + +ChannelOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +ChannelOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterChannelOption(this); + } +}; + +ChannelOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitChannelOption(this); + } +}; + +ChannelOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitChannelOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ChannelOptionContext = ChannelOptionContext; + +SqlParser.prototype.channelOption = function() { + + var localctx = new ChannelOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 314, SqlParser.RULE_channelOption); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3946; + this.match(SqlParser.FOR); + this.state = 3947; + this.match(SqlParser.CHANNEL); + this.state = 3948; + this.match(SqlParser.STRING_LITERAL); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ReplicationFilterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_replicationFilter; + return this; +} + +ReplicationFilterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ReplicationFilterContext.prototype.constructor = ReplicationFilterContext; + + + +ReplicationFilterContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function WildIgnoreTableReplicationContext(parser, ctx) { + ReplicationFilterContext.call(this, parser); + ReplicationFilterContext.prototype.copyFrom.call(this, ctx); + return this; +} + +WildIgnoreTableReplicationContext.prototype = Object.create(ReplicationFilterContext.prototype); +WildIgnoreTableReplicationContext.prototype.constructor = WildIgnoreTableReplicationContext; + +SqlParser.WildIgnoreTableReplicationContext = WildIgnoreTableReplicationContext; + +WildIgnoreTableReplicationContext.prototype.REPLICATE_WILD_IGNORE_TABLE = function() { + return this.getToken(SqlParser.REPLICATE_WILD_IGNORE_TABLE, 0); +}; + +WildIgnoreTableReplicationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +WildIgnoreTableReplicationContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +WildIgnoreTableReplicationContext.prototype.simpleStrings = function() { + return this.getTypedRuleContext(SimpleStringsContext,0); +}; + +WildIgnoreTableReplicationContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +WildIgnoreTableReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterWildIgnoreTableReplication(this); + } +}; + +WildIgnoreTableReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitWildIgnoreTableReplication(this); + } +}; + +WildIgnoreTableReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitWildIgnoreTableReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DoTableReplicationContext(parser, ctx) { + ReplicationFilterContext.call(this, parser); + ReplicationFilterContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DoTableReplicationContext.prototype = Object.create(ReplicationFilterContext.prototype); +DoTableReplicationContext.prototype.constructor = DoTableReplicationContext; + +SqlParser.DoTableReplicationContext = DoTableReplicationContext; + +DoTableReplicationContext.prototype.REPLICATE_DO_TABLE = function() { + return this.getToken(SqlParser.REPLICATE_DO_TABLE, 0); +}; + +DoTableReplicationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +DoTableReplicationContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +DoTableReplicationContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +DoTableReplicationContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +DoTableReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDoTableReplication(this); + } +}; + +DoTableReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDoTableReplication(this); + } +}; + +DoTableReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDoTableReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function IgnoreTableReplicationContext(parser, ctx) { + ReplicationFilterContext.call(this, parser); + ReplicationFilterContext.prototype.copyFrom.call(this, ctx); + return this; +} + +IgnoreTableReplicationContext.prototype = Object.create(ReplicationFilterContext.prototype); +IgnoreTableReplicationContext.prototype.constructor = IgnoreTableReplicationContext; + +SqlParser.IgnoreTableReplicationContext = IgnoreTableReplicationContext; + +IgnoreTableReplicationContext.prototype.REPLICATE_IGNORE_TABLE = function() { + return this.getToken(SqlParser.REPLICATE_IGNORE_TABLE, 0); +}; + +IgnoreTableReplicationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +IgnoreTableReplicationContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +IgnoreTableReplicationContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +IgnoreTableReplicationContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +IgnoreTableReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIgnoreTableReplication(this); + } +}; + +IgnoreTableReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIgnoreTableReplication(this); + } +}; + +IgnoreTableReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIgnoreTableReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function RewriteDbReplicationContext(parser, ctx) { + ReplicationFilterContext.call(this, parser); + ReplicationFilterContext.prototype.copyFrom.call(this, ctx); + return this; +} + +RewriteDbReplicationContext.prototype = Object.create(ReplicationFilterContext.prototype); +RewriteDbReplicationContext.prototype.constructor = RewriteDbReplicationContext; + +SqlParser.RewriteDbReplicationContext = RewriteDbReplicationContext; + +RewriteDbReplicationContext.prototype.REPLICATE_REWRITE_DB = function() { + return this.getToken(SqlParser.REPLICATE_REWRITE_DB, 0); +}; + +RewriteDbReplicationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +RewriteDbReplicationContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +RewriteDbReplicationContext.prototype.tablePair = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablePairContext); + } else { + return this.getTypedRuleContext(TablePairContext,i); + } +}; + +RewriteDbReplicationContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +RewriteDbReplicationContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +RewriteDbReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRewriteDbReplication(this); + } +}; + +RewriteDbReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRewriteDbReplication(this); + } +}; + +RewriteDbReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRewriteDbReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DoDbReplicationContext(parser, ctx) { + ReplicationFilterContext.call(this, parser); + ReplicationFilterContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DoDbReplicationContext.prototype = Object.create(ReplicationFilterContext.prototype); +DoDbReplicationContext.prototype.constructor = DoDbReplicationContext; + +SqlParser.DoDbReplicationContext = DoDbReplicationContext; + +DoDbReplicationContext.prototype.REPLICATE_DO_DB = function() { + return this.getToken(SqlParser.REPLICATE_DO_DB, 0); +}; + +DoDbReplicationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +DoDbReplicationContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +DoDbReplicationContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +DoDbReplicationContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +DoDbReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDoDbReplication(this); + } +}; + +DoDbReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDoDbReplication(this); + } +}; + +DoDbReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDoDbReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function IgnoreDbReplicationContext(parser, ctx) { + ReplicationFilterContext.call(this, parser); + ReplicationFilterContext.prototype.copyFrom.call(this, ctx); + return this; +} + +IgnoreDbReplicationContext.prototype = Object.create(ReplicationFilterContext.prototype); +IgnoreDbReplicationContext.prototype.constructor = IgnoreDbReplicationContext; + +SqlParser.IgnoreDbReplicationContext = IgnoreDbReplicationContext; + +IgnoreDbReplicationContext.prototype.REPLICATE_IGNORE_DB = function() { + return this.getToken(SqlParser.REPLICATE_IGNORE_DB, 0); +}; + +IgnoreDbReplicationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +IgnoreDbReplicationContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +IgnoreDbReplicationContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +IgnoreDbReplicationContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +IgnoreDbReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIgnoreDbReplication(this); + } +}; + +IgnoreDbReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIgnoreDbReplication(this); + } +}; + +IgnoreDbReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIgnoreDbReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function WildDoTableReplicationContext(parser, ctx) { + ReplicationFilterContext.call(this, parser); + ReplicationFilterContext.prototype.copyFrom.call(this, ctx); + return this; +} + +WildDoTableReplicationContext.prototype = Object.create(ReplicationFilterContext.prototype); +WildDoTableReplicationContext.prototype.constructor = WildDoTableReplicationContext; + +SqlParser.WildDoTableReplicationContext = WildDoTableReplicationContext; + +WildDoTableReplicationContext.prototype.REPLICATE_WILD_DO_TABLE = function() { + return this.getToken(SqlParser.REPLICATE_WILD_DO_TABLE, 0); +}; + +WildDoTableReplicationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +WildDoTableReplicationContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +WildDoTableReplicationContext.prototype.simpleStrings = function() { + return this.getTypedRuleContext(SimpleStringsContext,0); +}; + +WildDoTableReplicationContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +WildDoTableReplicationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterWildDoTableReplication(this); + } +}; + +WildDoTableReplicationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitWildDoTableReplication(this); + } +}; + +WildDoTableReplicationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitWildDoTableReplication(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.ReplicationFilterContext = ReplicationFilterContext; + +SqlParser.prototype.replicationFilter = function() { + + var localctx = new ReplicationFilterContext(this, this._ctx, this.state); + this.enterRule(localctx, 316, SqlParser.RULE_replicationFilter); + var _la = 0; // Token type + try { + this.state = 3999; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.REPLICATE_DO_DB: + localctx = new DoDbReplicationContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 3950; + this.match(SqlParser.REPLICATE_DO_DB); + this.state = 3951; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3952; + this.match(SqlParser.LR_BRACKET); + this.state = 3953; + this.uidList(); + this.state = 3954; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.REPLICATE_IGNORE_DB: + localctx = new IgnoreDbReplicationContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3956; + this.match(SqlParser.REPLICATE_IGNORE_DB); + this.state = 3957; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3958; + this.match(SqlParser.LR_BRACKET); + this.state = 3959; + this.uidList(); + this.state = 3960; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.REPLICATE_DO_TABLE: + localctx = new DoTableReplicationContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 3962; + this.match(SqlParser.REPLICATE_DO_TABLE); + this.state = 3963; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3964; + this.match(SqlParser.LR_BRACKET); + this.state = 3965; + this.tables(); + this.state = 3966; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.REPLICATE_IGNORE_TABLE: + localctx = new IgnoreTableReplicationContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 3968; + this.match(SqlParser.REPLICATE_IGNORE_TABLE); + this.state = 3969; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3970; + this.match(SqlParser.LR_BRACKET); + this.state = 3971; + this.tables(); + this.state = 3972; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.REPLICATE_WILD_DO_TABLE: + localctx = new WildDoTableReplicationContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 3974; + this.match(SqlParser.REPLICATE_WILD_DO_TABLE); + this.state = 3975; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3976; + this.match(SqlParser.LR_BRACKET); + this.state = 3977; + this.simpleStrings(); + this.state = 3978; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + localctx = new WildIgnoreTableReplicationContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 3980; + this.match(SqlParser.REPLICATE_WILD_IGNORE_TABLE); + this.state = 3981; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3982; + this.match(SqlParser.LR_BRACKET); + this.state = 3983; + this.simpleStrings(); + this.state = 3984; + this.match(SqlParser.RR_BRACKET); + break; + case SqlParser.REPLICATE_REWRITE_DB: + localctx = new RewriteDbReplicationContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 3986; + this.match(SqlParser.REPLICATE_REWRITE_DB); + this.state = 3987; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 3988; + this.match(SqlParser.LR_BRACKET); + this.state = 3989; + this.tablePair(); + this.state = 3994; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 3990; + this.match(SqlParser.COMMA); + this.state = 3991; + this.tablePair(); + this.state = 3996; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3997; + this.match(SqlParser.RR_BRACKET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TablePairContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tablePair; + this.firstTable = null; // TableNameContext + this.secondTable = null; // TableNameContext + return this; +} + +TablePairContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TablePairContext.prototype.constructor = TablePairContext; + +TablePairContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +TablePairContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; + +TablePairContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +TablePairContext.prototype.tableName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableNameContext); + } else { + return this.getTypedRuleContext(TableNameContext,i); + } +}; + +TablePairContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTablePair(this); + } +}; + +TablePairContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTablePair(this); + } +}; + +TablePairContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTablePair(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TablePairContext = TablePairContext; + +SqlParser.prototype.tablePair = function() { + + var localctx = new TablePairContext(this, this._ctx, this.state); + this.enterRule(localctx, 318, SqlParser.RULE_tablePair); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4001; + this.match(SqlParser.LR_BRACKET); + this.state = 4002; + localctx.firstTable = this.tableName(); + this.state = 4003; + this.match(SqlParser.COMMA); + this.state = 4004; + localctx.secondTable = this.tableName(); + this.state = 4005; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ThreadTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_threadType; + return this; +} + +ThreadTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ThreadTypeContext.prototype.constructor = ThreadTypeContext; + +ThreadTypeContext.prototype.IO_THREAD = function() { + return this.getToken(SqlParser.IO_THREAD, 0); +}; + +ThreadTypeContext.prototype.SQL_THREAD = function() { + return this.getToken(SqlParser.SQL_THREAD, 0); +}; + +ThreadTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterThreadType(this); + } +}; + +ThreadTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitThreadType(this); + } +}; + +ThreadTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitThreadType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ThreadTypeContext = ThreadTypeContext; + +SqlParser.prototype.threadType = function() { + + var localctx = new ThreadTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 320, SqlParser.RULE_threadType); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4007; + _la = this._input.LA(1); + if(!(_la===SqlParser.IO_THREAD || _la===SqlParser.SQL_THREAD)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UntilOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_untilOption; + return this; +} + +UntilOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UntilOptionContext.prototype.constructor = UntilOptionContext; + + + +UntilOptionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function GtidsUntilOptionContext(parser, ctx) { + UntilOptionContext.call(this, parser); + this.gtids = null; // Token; + UntilOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +GtidsUntilOptionContext.prototype = Object.create(UntilOptionContext.prototype); +GtidsUntilOptionContext.prototype.constructor = GtidsUntilOptionContext; + +SqlParser.GtidsUntilOptionContext = GtidsUntilOptionContext; + +GtidsUntilOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +GtidsUntilOptionContext.prototype.gtuidSet = function() { + return this.getTypedRuleContext(GtuidSetContext,0); +}; + +GtidsUntilOptionContext.prototype.SQL_BEFORE_GTIDS = function() { + return this.getToken(SqlParser.SQL_BEFORE_GTIDS, 0); +}; + +GtidsUntilOptionContext.prototype.SQL_AFTER_GTIDS = function() { + return this.getToken(SqlParser.SQL_AFTER_GTIDS, 0); +}; +GtidsUntilOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterGtidsUntilOption(this); + } +}; + +GtidsUntilOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitGtidsUntilOption(this); + } +}; + +GtidsUntilOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitGtidsUntilOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SqlGapsUntilOptionContext(parser, ctx) { + UntilOptionContext.call(this, parser); + UntilOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SqlGapsUntilOptionContext.prototype = Object.create(UntilOptionContext.prototype); +SqlGapsUntilOptionContext.prototype.constructor = SqlGapsUntilOptionContext; + +SqlParser.SqlGapsUntilOptionContext = SqlGapsUntilOptionContext; + +SqlGapsUntilOptionContext.prototype.SQL_AFTER_MTS_GAPS = function() { + return this.getToken(SqlParser.SQL_AFTER_MTS_GAPS, 0); +}; +SqlGapsUntilOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSqlGapsUntilOption(this); + } +}; + +SqlGapsUntilOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSqlGapsUntilOption(this); + } +}; + +SqlGapsUntilOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSqlGapsUntilOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function MasterLogUntilOptionContext(parser, ctx) { + UntilOptionContext.call(this, parser); + UntilOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +MasterLogUntilOptionContext.prototype = Object.create(UntilOptionContext.prototype); +MasterLogUntilOptionContext.prototype.constructor = MasterLogUntilOptionContext; + +SqlParser.MasterLogUntilOptionContext = MasterLogUntilOptionContext; + +MasterLogUntilOptionContext.prototype.MASTER_LOG_FILE = function() { + return this.getToken(SqlParser.MASTER_LOG_FILE, 0); +}; + +MasterLogUntilOptionContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +MasterLogUntilOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +MasterLogUntilOptionContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; + +MasterLogUntilOptionContext.prototype.MASTER_LOG_POS = function() { + return this.getToken(SqlParser.MASTER_LOG_POS, 0); +}; + +MasterLogUntilOptionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; +MasterLogUntilOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMasterLogUntilOption(this); + } +}; + +MasterLogUntilOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMasterLogUntilOption(this); + } +}; + +MasterLogUntilOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMasterLogUntilOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function RelayLogUntilOptionContext(parser, ctx) { + UntilOptionContext.call(this, parser); + UntilOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +RelayLogUntilOptionContext.prototype = Object.create(UntilOptionContext.prototype); +RelayLogUntilOptionContext.prototype.constructor = RelayLogUntilOptionContext; + +SqlParser.RelayLogUntilOptionContext = RelayLogUntilOptionContext; + +RelayLogUntilOptionContext.prototype.RELAY_LOG_FILE = function() { + return this.getToken(SqlParser.RELAY_LOG_FILE, 0); +}; + +RelayLogUntilOptionContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +RelayLogUntilOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +RelayLogUntilOptionContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; + +RelayLogUntilOptionContext.prototype.RELAY_LOG_POS = function() { + return this.getToken(SqlParser.RELAY_LOG_POS, 0); +}; + +RelayLogUntilOptionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; +RelayLogUntilOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRelayLogUntilOption(this); + } +}; + +RelayLogUntilOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRelayLogUntilOption(this); + } +}; + +RelayLogUntilOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRelayLogUntilOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.UntilOptionContext = UntilOptionContext; + +SqlParser.prototype.untilOption = function() { + + var localctx = new UntilOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 322, SqlParser.RULE_untilOption); + var _la = 0; // Token type + try { + this.state = 4027; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_BEFORE_GTIDS: + localctx = new GtidsUntilOptionContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4009; + localctx.gtids = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.SQL_AFTER_GTIDS || _la===SqlParser.SQL_BEFORE_GTIDS)) { + localctx.gtids = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4010; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4011; + this.gtuidSet(); + break; + case SqlParser.MASTER_LOG_FILE: + localctx = new MasterLogUntilOptionContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4012; + this.match(SqlParser.MASTER_LOG_FILE); + this.state = 4013; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4014; + this.match(SqlParser.STRING_LITERAL); + this.state = 4015; + this.match(SqlParser.COMMA); + this.state = 4016; + this.match(SqlParser.MASTER_LOG_POS); + this.state = 4017; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4018; + this.decimalLiteral(); + break; + case SqlParser.RELAY_LOG_FILE: + localctx = new RelayLogUntilOptionContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 4019; + this.match(SqlParser.RELAY_LOG_FILE); + this.state = 4020; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4021; + this.match(SqlParser.STRING_LITERAL); + this.state = 4022; + this.match(SqlParser.COMMA); + this.state = 4023; + this.match(SqlParser.RELAY_LOG_POS); + this.state = 4024; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4025; + this.decimalLiteral(); + break; + case SqlParser.SQL_AFTER_MTS_GAPS: + localctx = new SqlGapsUntilOptionContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 4026; + this.match(SqlParser.SQL_AFTER_MTS_GAPS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ConnectionOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_connectionOption; + return this; +} + +ConnectionOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ConnectionOptionContext.prototype.constructor = ConnectionOptionContext; + + + +ConnectionOptionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function PluginDirConnectionOptionContext(parser, ctx) { + ConnectionOptionContext.call(this, parser); + this.conOptPluginDir = null; // Token; + ConnectionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PluginDirConnectionOptionContext.prototype = Object.create(ConnectionOptionContext.prototype); +PluginDirConnectionOptionContext.prototype.constructor = PluginDirConnectionOptionContext; + +SqlParser.PluginDirConnectionOptionContext = PluginDirConnectionOptionContext; + +PluginDirConnectionOptionContext.prototype.PLUGIN_DIR = function() { + return this.getToken(SqlParser.PLUGIN_DIR, 0); +}; + +PluginDirConnectionOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +PluginDirConnectionOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +PluginDirConnectionOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPluginDirConnectionOption(this); + } +}; + +PluginDirConnectionOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPluginDirConnectionOption(this); + } +}; + +PluginDirConnectionOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPluginDirConnectionOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function UserConnectionOptionContext(parser, ctx) { + ConnectionOptionContext.call(this, parser); + this.conOptUser = null; // Token; + ConnectionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +UserConnectionOptionContext.prototype = Object.create(ConnectionOptionContext.prototype); +UserConnectionOptionContext.prototype.constructor = UserConnectionOptionContext; + +SqlParser.UserConnectionOptionContext = UserConnectionOptionContext; + +UserConnectionOptionContext.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +UserConnectionOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +UserConnectionOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +UserConnectionOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUserConnectionOption(this); + } +}; + +UserConnectionOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUserConnectionOption(this); + } +}; + +UserConnectionOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUserConnectionOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DefaultAuthConnectionOptionContext(parser, ctx) { + ConnectionOptionContext.call(this, parser); + this.conOptDefAuth = null; // Token; + ConnectionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DefaultAuthConnectionOptionContext.prototype = Object.create(ConnectionOptionContext.prototype); +DefaultAuthConnectionOptionContext.prototype.constructor = DefaultAuthConnectionOptionContext; + +SqlParser.DefaultAuthConnectionOptionContext = DefaultAuthConnectionOptionContext; + +DefaultAuthConnectionOptionContext.prototype.DEFAULT_AUTH = function() { + return this.getToken(SqlParser.DEFAULT_AUTH, 0); +}; + +DefaultAuthConnectionOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +DefaultAuthConnectionOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +DefaultAuthConnectionOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDefaultAuthConnectionOption(this); + } +}; + +DefaultAuthConnectionOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDefaultAuthConnectionOption(this); + } +}; + +DefaultAuthConnectionOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDefaultAuthConnectionOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PasswordConnectionOptionContext(parser, ctx) { + ConnectionOptionContext.call(this, parser); + this.conOptPassword = null; // Token; + ConnectionOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PasswordConnectionOptionContext.prototype = Object.create(ConnectionOptionContext.prototype); +PasswordConnectionOptionContext.prototype.constructor = PasswordConnectionOptionContext; + +SqlParser.PasswordConnectionOptionContext = PasswordConnectionOptionContext; + +PasswordConnectionOptionContext.prototype.PASSWORD = function() { + return this.getToken(SqlParser.PASSWORD, 0); +}; + +PasswordConnectionOptionContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +PasswordConnectionOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +PasswordConnectionOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPasswordConnectionOption(this); + } +}; + +PasswordConnectionOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPasswordConnectionOption(this); + } +}; + +PasswordConnectionOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPasswordConnectionOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.ConnectionOptionContext = ConnectionOptionContext; + +SqlParser.prototype.connectionOption = function() { + + var localctx = new ConnectionOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 324, SqlParser.RULE_connectionOption); + try { + this.state = 4041; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.USER: + localctx = new UserConnectionOptionContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4029; + this.match(SqlParser.USER); + this.state = 4030; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4031; + localctx.conOptUser = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.PASSWORD: + localctx = new PasswordConnectionOptionContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4032; + this.match(SqlParser.PASSWORD); + this.state = 4033; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4034; + localctx.conOptPassword = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.DEFAULT_AUTH: + localctx = new DefaultAuthConnectionOptionContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 4035; + this.match(SqlParser.DEFAULT_AUTH); + this.state = 4036; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4037; + localctx.conOptDefAuth = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.PLUGIN_DIR: + localctx = new PluginDirConnectionOptionContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 4038; + this.match(SqlParser.PLUGIN_DIR); + this.state = 4039; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4040; + localctx.conOptPluginDir = this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function GtuidSetContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_gtuidSet; + return this; +} + +GtuidSetContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +GtuidSetContext.prototype.constructor = GtuidSetContext; + +GtuidSetContext.prototype.uuidSet = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UuidSetContext); + } else { + return this.getTypedRuleContext(UuidSetContext,i); + } +}; + +GtuidSetContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +GtuidSetContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +GtuidSetContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterGtuidSet(this); + } +}; + +GtuidSetContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitGtuidSet(this); + } +}; + +GtuidSetContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitGtuidSet(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.GtuidSetContext = GtuidSetContext; + +SqlParser.prototype.gtuidSet = function() { + + var localctx = new GtuidSetContext(this, this._ctx, this.state); + this.enterRule(localctx, 326, SqlParser.RULE_gtuidSet); + var _la = 0; // Token type + try { + this.state = 4052; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.DECIMAL_LITERAL: + this.enterOuterAlt(localctx, 1); + this.state = 4043; + this.uuidSet(); + this.state = 4048; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4044; + this.match(SqlParser.COMMA); + this.state = 4045; + this.uuidSet(); + this.state = 4050; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case SqlParser.STRING_LITERAL: + this.enterOuterAlt(localctx, 2); + this.state = 4051; + this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function XaStartTransactionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_xaStartTransaction; + this.xaStart = null; // Token + this.xaAction = null; // Token + return this; +} + +XaStartTransactionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +XaStartTransactionContext.prototype.constructor = XaStartTransactionContext; + +XaStartTransactionContext.prototype.XA = function() { + return this.getToken(SqlParser.XA, 0); +}; + +XaStartTransactionContext.prototype.xid = function() { + return this.getTypedRuleContext(XidContext,0); +}; + +XaStartTransactionContext.prototype.START = function() { + return this.getToken(SqlParser.START, 0); +}; + +XaStartTransactionContext.prototype.BEGIN = function() { + return this.getToken(SqlParser.BEGIN, 0); +}; + +XaStartTransactionContext.prototype.JOIN = function() { + return this.getToken(SqlParser.JOIN, 0); +}; + +XaStartTransactionContext.prototype.RESUME = function() { + return this.getToken(SqlParser.RESUME, 0); +}; + +XaStartTransactionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterXaStartTransaction(this); + } +}; + +XaStartTransactionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitXaStartTransaction(this); + } +}; + +XaStartTransactionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitXaStartTransaction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.XaStartTransactionContext = XaStartTransactionContext; + +SqlParser.prototype.xaStartTransaction = function() { + + var localctx = new XaStartTransactionContext(this, this._ctx, this.state); + this.enterRule(localctx, 328, SqlParser.RULE_xaStartTransaction); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4054; + this.match(SqlParser.XA); + this.state = 4055; + localctx.xaStart = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.BEGIN || _la===SqlParser.START)) { + localctx.xaStart = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4056; + this.xid(); + this.state = 4058; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.JOIN || _la===SqlParser.RESUME) { + this.state = 4057; + localctx.xaAction = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.JOIN || _la===SqlParser.RESUME)) { + localctx.xaAction = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function XaEndTransactionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_xaEndTransaction; + return this; +} + +XaEndTransactionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +XaEndTransactionContext.prototype.constructor = XaEndTransactionContext; + +XaEndTransactionContext.prototype.XA = function() { + return this.getToken(SqlParser.XA, 0); +}; + +XaEndTransactionContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +XaEndTransactionContext.prototype.xid = function() { + return this.getTypedRuleContext(XidContext,0); +}; + +XaEndTransactionContext.prototype.SUSPEND = function() { + return this.getToken(SqlParser.SUSPEND, 0); +}; + +XaEndTransactionContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +XaEndTransactionContext.prototype.MIGRATE = function() { + return this.getToken(SqlParser.MIGRATE, 0); +}; + +XaEndTransactionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterXaEndTransaction(this); + } +}; + +XaEndTransactionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitXaEndTransaction(this); + } +}; + +XaEndTransactionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitXaEndTransaction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.XaEndTransactionContext = XaEndTransactionContext; + +SqlParser.prototype.xaEndTransaction = function() { + + var localctx = new XaEndTransactionContext(this, this._ctx, this.state); + this.enterRule(localctx, 330, SqlParser.RULE_xaEndTransaction); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4060; + this.match(SqlParser.XA); + this.state = 4061; + this.match(SqlParser.END); + this.state = 4062; + this.xid(); + this.state = 4068; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SUSPEND) { + this.state = 4063; + this.match(SqlParser.SUSPEND); + this.state = 4066; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 4064; + this.match(SqlParser.FOR); + this.state = 4065; + this.match(SqlParser.MIGRATE); + } + + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function XaPrepareStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_xaPrepareStatement; + return this; +} + +XaPrepareStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +XaPrepareStatementContext.prototype.constructor = XaPrepareStatementContext; + +XaPrepareStatementContext.prototype.XA = function() { + return this.getToken(SqlParser.XA, 0); +}; + +XaPrepareStatementContext.prototype.PREPARE = function() { + return this.getToken(SqlParser.PREPARE, 0); +}; + +XaPrepareStatementContext.prototype.xid = function() { + return this.getTypedRuleContext(XidContext,0); +}; + +XaPrepareStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterXaPrepareStatement(this); + } +}; + +XaPrepareStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitXaPrepareStatement(this); + } +}; + +XaPrepareStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitXaPrepareStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.XaPrepareStatementContext = XaPrepareStatementContext; + +SqlParser.prototype.xaPrepareStatement = function() { + + var localctx = new XaPrepareStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 332, SqlParser.RULE_xaPrepareStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4070; + this.match(SqlParser.XA); + this.state = 4071; + this.match(SqlParser.PREPARE); + this.state = 4072; + this.xid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function XaCommitWorkContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_xaCommitWork; + return this; +} + +XaCommitWorkContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +XaCommitWorkContext.prototype.constructor = XaCommitWorkContext; + +XaCommitWorkContext.prototype.XA = function() { + return this.getToken(SqlParser.XA, 0); +}; + +XaCommitWorkContext.prototype.COMMIT = function() { + return this.getToken(SqlParser.COMMIT, 0); +}; + +XaCommitWorkContext.prototype.xid = function() { + return this.getTypedRuleContext(XidContext,0); +}; + +XaCommitWorkContext.prototype.ONE = function() { + return this.getToken(SqlParser.ONE, 0); +}; + +XaCommitWorkContext.prototype.PHASE = function() { + return this.getToken(SqlParser.PHASE, 0); +}; + +XaCommitWorkContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterXaCommitWork(this); + } +}; + +XaCommitWorkContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitXaCommitWork(this); + } +}; + +XaCommitWorkContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitXaCommitWork(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.XaCommitWorkContext = XaCommitWorkContext; + +SqlParser.prototype.xaCommitWork = function() { + + var localctx = new XaCommitWorkContext(this, this._ctx, this.state); + this.enterRule(localctx, 334, SqlParser.RULE_xaCommitWork); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4074; + this.match(SqlParser.XA); + this.state = 4075; + this.match(SqlParser.COMMIT); + this.state = 4076; + this.xid(); + this.state = 4079; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ONE) { + this.state = 4077; + this.match(SqlParser.ONE); + this.state = 4078; + this.match(SqlParser.PHASE); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function XaRollbackWorkContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_xaRollbackWork; + return this; +} + +XaRollbackWorkContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +XaRollbackWorkContext.prototype.constructor = XaRollbackWorkContext; + +XaRollbackWorkContext.prototype.XA = function() { + return this.getToken(SqlParser.XA, 0); +}; + +XaRollbackWorkContext.prototype.ROLLBACK = function() { + return this.getToken(SqlParser.ROLLBACK, 0); +}; + +XaRollbackWorkContext.prototype.xid = function() { + return this.getTypedRuleContext(XidContext,0); +}; + +XaRollbackWorkContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterXaRollbackWork(this); + } +}; + +XaRollbackWorkContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitXaRollbackWork(this); + } +}; + +XaRollbackWorkContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitXaRollbackWork(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.XaRollbackWorkContext = XaRollbackWorkContext; + +SqlParser.prototype.xaRollbackWork = function() { + + var localctx = new XaRollbackWorkContext(this, this._ctx, this.state); + this.enterRule(localctx, 336, SqlParser.RULE_xaRollbackWork); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4081; + this.match(SqlParser.XA); + this.state = 4082; + this.match(SqlParser.ROLLBACK); + this.state = 4083; + this.xid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function XaRecoverWorkContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_xaRecoverWork; + return this; +} + +XaRecoverWorkContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +XaRecoverWorkContext.prototype.constructor = XaRecoverWorkContext; + +XaRecoverWorkContext.prototype.XA = function() { + return this.getToken(SqlParser.XA, 0); +}; + +XaRecoverWorkContext.prototype.RECOVER = function() { + return this.getToken(SqlParser.RECOVER, 0); +}; + +XaRecoverWorkContext.prototype.CONVERT = function() { + return this.getToken(SqlParser.CONVERT, 0); +}; + +XaRecoverWorkContext.prototype.xid = function() { + return this.getTypedRuleContext(XidContext,0); +}; + +XaRecoverWorkContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterXaRecoverWork(this); + } +}; + +XaRecoverWorkContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitXaRecoverWork(this); + } +}; + +XaRecoverWorkContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitXaRecoverWork(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.XaRecoverWorkContext = XaRecoverWorkContext; + +SqlParser.prototype.xaRecoverWork = function() { + + var localctx = new XaRecoverWorkContext(this, this._ctx, this.state); + this.enterRule(localctx, 338, SqlParser.RULE_xaRecoverWork); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4085; + this.match(SqlParser.XA); + this.state = 4086; + this.match(SqlParser.RECOVER); + this.state = 4089; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONVERT) { + this.state = 4087; + this.match(SqlParser.CONVERT); + this.state = 4088; + this.xid(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PrepareStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_prepareStatement; + this.query = null; // Token + this.variable = null; // Token + return this; +} + +PrepareStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PrepareStatementContext.prototype.constructor = PrepareStatementContext; + +PrepareStatementContext.prototype.PREPARE = function() { + return this.getToken(SqlParser.PREPARE, 0); +}; + +PrepareStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +PrepareStatementContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +PrepareStatementContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +PrepareStatementContext.prototype.LOCAL_ID = function() { + return this.getToken(SqlParser.LOCAL_ID, 0); +}; + +PrepareStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPrepareStatement(this); + } +}; + +PrepareStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPrepareStatement(this); + } +}; + +PrepareStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPrepareStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PrepareStatementContext = PrepareStatementContext; + +SqlParser.prototype.prepareStatement = function() { + + var localctx = new PrepareStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 340, SqlParser.RULE_prepareStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4091; + this.match(SqlParser.PREPARE); + this.state = 4092; + this.uid(); + this.state = 4093; + this.match(SqlParser.FROM); + this.state = 4096; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.STRING_LITERAL: + this.state = 4094; + localctx.query = this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.LOCAL_ID: + this.state = 4095; + localctx.variable = this.match(SqlParser.LOCAL_ID); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ExecuteStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_executeStatement; + return this; +} + +ExecuteStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ExecuteStatementContext.prototype.constructor = ExecuteStatementContext; + +ExecuteStatementContext.prototype.EXECUTE = function() { + return this.getToken(SqlParser.EXECUTE, 0); +}; + +ExecuteStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ExecuteStatementContext.prototype.USING = function() { + return this.getToken(SqlParser.USING, 0); +}; + +ExecuteStatementContext.prototype.userVariables = function() { + return this.getTypedRuleContext(UserVariablesContext,0); +}; + +ExecuteStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterExecuteStatement(this); + } +}; + +ExecuteStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitExecuteStatement(this); + } +}; + +ExecuteStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitExecuteStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ExecuteStatementContext = ExecuteStatementContext; + +SqlParser.prototype.executeStatement = function() { + + var localctx = new ExecuteStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 342, SqlParser.RULE_executeStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4098; + this.match(SqlParser.EXECUTE); + this.state = 4099; + this.uid(); + this.state = 4102; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 4100; + this.match(SqlParser.USING); + this.state = 4101; + this.userVariables(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DeallocatePrepareContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_deallocatePrepare; + this.dropFormat = null; // Token + return this; +} + +DeallocatePrepareContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DeallocatePrepareContext.prototype.constructor = DeallocatePrepareContext; + +DeallocatePrepareContext.prototype.PREPARE = function() { + return this.getToken(SqlParser.PREPARE, 0); +}; + +DeallocatePrepareContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DeallocatePrepareContext.prototype.DEALLOCATE = function() { + return this.getToken(SqlParser.DEALLOCATE, 0); +}; + +DeallocatePrepareContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DeallocatePrepareContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDeallocatePrepare(this); + } +}; + +DeallocatePrepareContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDeallocatePrepare(this); + } +}; + +DeallocatePrepareContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDeallocatePrepare(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DeallocatePrepareContext = DeallocatePrepareContext; + +SqlParser.prototype.deallocatePrepare = function() { + + var localctx = new DeallocatePrepareContext(this, this._ctx, this.state); + this.enterRule(localctx, 344, SqlParser.RULE_deallocatePrepare); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4104; + localctx.dropFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DROP || _la===SqlParser.DEALLOCATE)) { + localctx.dropFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4105; + this.match(SqlParser.PREPARE); + this.state = 4106; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RoutineBodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_routineBody; + return this; +} + +RoutineBodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RoutineBodyContext.prototype.constructor = RoutineBodyContext; + +RoutineBodyContext.prototype.blockStatement = function() { + return this.getTypedRuleContext(BlockStatementContext,0); +}; + +RoutineBodyContext.prototype.sqlStatement = function() { + return this.getTypedRuleContext(SqlStatementContext,0); +}; + +RoutineBodyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRoutineBody(this); + } +}; + +RoutineBodyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRoutineBody(this); + } +}; + +RoutineBodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRoutineBody(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RoutineBodyContext = RoutineBodyContext; + +SqlParser.prototype.routineBody = function() { + + var localctx = new RoutineBodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 346, SqlParser.RULE_routineBody); + try { + this.state = 4110; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,589,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 4108; + this.blockStatement(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 4109; + this.sqlStatement(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function BlockStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_blockStatement; + return this; +} + +BlockStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +BlockStatementContext.prototype.constructor = BlockStatementContext; + +BlockStatementContext.prototype.BEGIN = function() { + return this.getToken(SqlParser.BEGIN, 0); +}; + +BlockStatementContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +BlockStatementContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +BlockStatementContext.prototype.COLON_SYMB = function() { + return this.getToken(SqlParser.COLON_SYMB, 0); +}; + +BlockStatementContext.prototype.declareVariable = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DeclareVariableContext); + } else { + return this.getTypedRuleContext(DeclareVariableContext,i); + } +}; + +BlockStatementContext.prototype.SEMI = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.SEMI); + } else { + return this.getToken(SqlParser.SEMI, i); + } +}; + + +BlockStatementContext.prototype.declareCondition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DeclareConditionContext); + } else { + return this.getTypedRuleContext(DeclareConditionContext,i); + } +}; + +BlockStatementContext.prototype.declareCursor = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DeclareCursorContext); + } else { + return this.getTypedRuleContext(DeclareCursorContext,i); + } +}; + +BlockStatementContext.prototype.declareHandler = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DeclareHandlerContext); + } else { + return this.getTypedRuleContext(DeclareHandlerContext,i); + } +}; + +BlockStatementContext.prototype.procedureSqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureSqlStatementContext); + } else { + return this.getTypedRuleContext(ProcedureSqlStatementContext,i); + } +}; + +BlockStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBlockStatement(this); + } +}; + +BlockStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBlockStatement(this); + } +}; + +BlockStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBlockStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.BlockStatementContext = BlockStatementContext; + +SqlParser.prototype.blockStatement = function() { + + var localctx = new BlockStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 348, SqlParser.RULE_blockStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4115; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,590,this._ctx); + if(la_===1) { + this.state = 4112; + this.uid(); + this.state = 4113; + this.match(SqlParser.COLON_SYMB); + + } + this.state = 4117; + this.match(SqlParser.BEGIN); + this.state = 4156; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,596,this._ctx); + if(la_===1) { + this.state = 4123; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,591,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4118; + this.declareVariable(); + this.state = 4119; + this.match(SqlParser.SEMI); + } + this.state = 4125; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,591,this._ctx); + } + + this.state = 4131; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,592,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4126; + this.declareCondition(); + this.state = 4127; + this.match(SqlParser.SEMI); + } + this.state = 4133; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,592,this._ctx); + } + + this.state = 4139; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,593,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4134; + this.declareCursor(); + this.state = 4135; + this.match(SqlParser.SEMI); + } + this.state = 4141; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,593,this._ctx); + } + + this.state = 4147; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.DECLARE) { + this.state = 4142; + this.declareHandler(); + this.state = 4143; + this.match(SqlParser.SEMI); + this.state = 4149; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4153; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,595,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4150; + this.procedureSqlStatement(); + } + this.state = 4155; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,595,this._ctx); + } + + + } + this.state = 4158; + this.match(SqlParser.END); + this.state = 4160; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,597,this._ctx); + if(la_===1) { + this.state = 4159; + this.uid(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CaseStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_caseStatement; + return this; +} + +CaseStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CaseStatementContext.prototype.constructor = CaseStatementContext; + +CaseStatementContext.prototype.CASE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.CASE); + } else { + return this.getToken(SqlParser.CASE, i); + } +}; + + +CaseStatementContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +CaseStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +CaseStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +CaseStatementContext.prototype.caseAlternative = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(CaseAlternativeContext); + } else { + return this.getTypedRuleContext(CaseAlternativeContext,i); + } +}; + +CaseStatementContext.prototype.ELSE = function() { + return this.getToken(SqlParser.ELSE, 0); +}; + +CaseStatementContext.prototype.procedureSqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureSqlStatementContext); + } else { + return this.getTypedRuleContext(ProcedureSqlStatementContext,i); + } +}; + +CaseStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCaseStatement(this); + } +}; + +CaseStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCaseStatement(this); + } +}; + +CaseStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCaseStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CaseStatementContext = CaseStatementContext; + +SqlParser.prototype.caseStatement = function() { + + var localctx = new CaseStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 350, SqlParser.RULE_caseStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4162; + this.match(SqlParser.CASE); + this.state = 4165; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,598,this._ctx); + if(la_===1) { + this.state = 4163; + this.uid(); + + } else if(la_===2) { + this.state = 4164; + this.expression(0); + + } + this.state = 4168; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 4167; + this.caseAlternative(); + this.state = 4170; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.WHEN); + this.state = 4178; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ELSE) { + this.state = 4172; + this.match(SqlParser.ELSE); + this.state = 4174; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4173; + this.procedureSqlStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4176; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,600, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } + + this.state = 4180; + this.match(SqlParser.END); + this.state = 4181; + this.match(SqlParser.CASE); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IfStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_ifStatement; + this._procedureSqlStatement = null; // ProcedureSqlStatementContext + this.thenStatements = []; // of ProcedureSqlStatementContexts + this.elseStatements = []; // of ProcedureSqlStatementContexts + return this; +} + +IfStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IfStatementContext.prototype.constructor = IfStatementContext; + +IfStatementContext.prototype.IF = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.IF); + } else { + return this.getToken(SqlParser.IF, i); + } +}; + + +IfStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +IfStatementContext.prototype.THEN = function() { + return this.getToken(SqlParser.THEN, 0); +}; + +IfStatementContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +IfStatementContext.prototype.elifAlternative = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ElifAlternativeContext); + } else { + return this.getTypedRuleContext(ElifAlternativeContext,i); + } +}; + +IfStatementContext.prototype.ELSE = function() { + return this.getToken(SqlParser.ELSE, 0); +}; + +IfStatementContext.prototype.procedureSqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureSqlStatementContext); + } else { + return this.getTypedRuleContext(ProcedureSqlStatementContext,i); + } +}; + +IfStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIfStatement(this); + } +}; + +IfStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIfStatement(this); + } +}; + +IfStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIfStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IfStatementContext = IfStatementContext; + +SqlParser.prototype.ifStatement = function() { + + var localctx = new IfStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 352, SqlParser.RULE_ifStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4183; + this.match(SqlParser.IF); + this.state = 4184; + this.expression(0); + this.state = 4185; + this.match(SqlParser.THEN); + this.state = 4187; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4186; + localctx._procedureSqlStatement = this.procedureSqlStatement(); + localctx.thenStatements.push(localctx._procedureSqlStatement); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4189; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,602, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 4194; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.ELSEIF) { + this.state = 4191; + this.elifAlternative(); + this.state = 4196; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4203; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ELSE) { + this.state = 4197; + this.match(SqlParser.ELSE); + this.state = 4199; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4198; + localctx._procedureSqlStatement = this.procedureSqlStatement(); + localctx.elseStatements.push(localctx._procedureSqlStatement); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4201; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,604, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } + + this.state = 4205; + this.match(SqlParser.END); + this.state = 4206; + this.match(SqlParser.IF); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IterateStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_iterateStatement; + return this; +} + +IterateStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IterateStatementContext.prototype.constructor = IterateStatementContext; + +IterateStatementContext.prototype.ITERATE = function() { + return this.getToken(SqlParser.ITERATE, 0); +}; + +IterateStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +IterateStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIterateStatement(this); + } +}; + +IterateStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIterateStatement(this); + } +}; + +IterateStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIterateStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IterateStatementContext = IterateStatementContext; + +SqlParser.prototype.iterateStatement = function() { + + var localctx = new IterateStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 354, SqlParser.RULE_iterateStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4208; + this.match(SqlParser.ITERATE); + this.state = 4209; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LeaveStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_leaveStatement; + return this; +} + +LeaveStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LeaveStatementContext.prototype.constructor = LeaveStatementContext; + +LeaveStatementContext.prototype.LEAVE = function() { + return this.getToken(SqlParser.LEAVE, 0); +}; + +LeaveStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +LeaveStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLeaveStatement(this); + } +}; + +LeaveStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLeaveStatement(this); + } +}; + +LeaveStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLeaveStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LeaveStatementContext = LeaveStatementContext; + +SqlParser.prototype.leaveStatement = function() { + + var localctx = new LeaveStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 356, SqlParser.RULE_leaveStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4211; + this.match(SqlParser.LEAVE); + this.state = 4212; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LoopStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_loopStatement; + return this; +} + +LoopStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LoopStatementContext.prototype.constructor = LoopStatementContext; + +LoopStatementContext.prototype.LOOP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LOOP); + } else { + return this.getToken(SqlParser.LOOP, i); + } +}; + + +LoopStatementContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +LoopStatementContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +LoopStatementContext.prototype.COLON_SYMB = function() { + return this.getToken(SqlParser.COLON_SYMB, 0); +}; + +LoopStatementContext.prototype.procedureSqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureSqlStatementContext); + } else { + return this.getTypedRuleContext(ProcedureSqlStatementContext,i); + } +}; + +LoopStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLoopStatement(this); + } +}; + +LoopStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLoopStatement(this); + } +}; + +LoopStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLoopStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LoopStatementContext = LoopStatementContext; + +SqlParser.prototype.loopStatement = function() { + + var localctx = new LoopStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 358, SqlParser.RULE_loopStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4217; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 4214; + this.uid(); + this.state = 4215; + this.match(SqlParser.COLON_SYMB); + } + + this.state = 4219; + this.match(SqlParser.LOOP); + this.state = 4221; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4220; + this.procedureSqlStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4223; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,607, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 4225; + this.match(SqlParser.END); + this.state = 4226; + this.match(SqlParser.LOOP); + this.state = 4228; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 4227; + this.uid(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RepeatStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_repeatStatement; + return this; +} + +RepeatStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RepeatStatementContext.prototype.constructor = RepeatStatementContext; + +RepeatStatementContext.prototype.REPEAT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.REPEAT); + } else { + return this.getToken(SqlParser.REPEAT, i); + } +}; + + +RepeatStatementContext.prototype.UNTIL = function() { + return this.getToken(SqlParser.UNTIL, 0); +}; + +RepeatStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +RepeatStatementContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +RepeatStatementContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +RepeatStatementContext.prototype.COLON_SYMB = function() { + return this.getToken(SqlParser.COLON_SYMB, 0); +}; + +RepeatStatementContext.prototype.procedureSqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureSqlStatementContext); + } else { + return this.getTypedRuleContext(ProcedureSqlStatementContext,i); + } +}; + +RepeatStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRepeatStatement(this); + } +}; + +RepeatStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRepeatStatement(this); + } +}; + +RepeatStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRepeatStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RepeatStatementContext = RepeatStatementContext; + +SqlParser.prototype.repeatStatement = function() { + + var localctx = new RepeatStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 360, SqlParser.RULE_repeatStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4233; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 4230; + this.uid(); + this.state = 4231; + this.match(SqlParser.COLON_SYMB); + } + + this.state = 4235; + this.match(SqlParser.REPEAT); + this.state = 4237; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4236; + this.procedureSqlStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4239; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,610, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 4241; + this.match(SqlParser.UNTIL); + this.state = 4242; + this.expression(0); + this.state = 4243; + this.match(SqlParser.END); + this.state = 4244; + this.match(SqlParser.REPEAT); + this.state = 4246; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 4245; + this.uid(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ReturnStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_returnStatement; + return this; +} + +ReturnStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ReturnStatementContext.prototype.constructor = ReturnStatementContext; + +ReturnStatementContext.prototype.RETURN = function() { + return this.getToken(SqlParser.RETURN, 0); +}; + +ReturnStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +ReturnStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterReturnStatement(this); + } +}; + +ReturnStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitReturnStatement(this); + } +}; + +ReturnStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitReturnStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ReturnStatementContext = ReturnStatementContext; + +SqlParser.prototype.returnStatement = function() { + + var localctx = new ReturnStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 362, SqlParser.RULE_returnStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4248; + this.match(SqlParser.RETURN); + this.state = 4249; + this.expression(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function WhileStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_whileStatement; + return this; +} + +WhileStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +WhileStatementContext.prototype.constructor = WhileStatementContext; + +WhileStatementContext.prototype.WHILE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.WHILE); + } else { + return this.getToken(SqlParser.WHILE, i); + } +}; + + +WhileStatementContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +WhileStatementContext.prototype.DO = function() { + return this.getToken(SqlParser.DO, 0); +}; + +WhileStatementContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +WhileStatementContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +WhileStatementContext.prototype.COLON_SYMB = function() { + return this.getToken(SqlParser.COLON_SYMB, 0); +}; + +WhileStatementContext.prototype.procedureSqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureSqlStatementContext); + } else { + return this.getTypedRuleContext(ProcedureSqlStatementContext,i); + } +}; + +WhileStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterWhileStatement(this); + } +}; + +WhileStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitWhileStatement(this); + } +}; + +WhileStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitWhileStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.WhileStatementContext = WhileStatementContext; + +SqlParser.prototype.whileStatement = function() { + + var localctx = new WhileStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 364, SqlParser.RULE_whileStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4254; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 4251; + this.uid(); + this.state = 4252; + this.match(SqlParser.COLON_SYMB); + } + + this.state = 4256; + this.match(SqlParser.WHILE); + this.state = 4257; + this.expression(0); + this.state = 4258; + this.match(SqlParser.DO); + this.state = 4260; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4259; + this.procedureSqlStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4262; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,613, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 4264; + this.match(SqlParser.END); + this.state = 4265; + this.match(SqlParser.WHILE); + this.state = 4267; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)))) !== 0) || _la===SqlParser.LEFT || _la===SqlParser.NUMBER || _la===SqlParser.RIGHT || _la===SqlParser.STACKED || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVISIBLE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.VISIBLE - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.QUARTER - 593)) | (1 << (SqlParser.MONTH - 593)) | (1 << (SqlParser.DAY - 593)) | (1 << (SqlParser.HOUR - 593)) | (1 << (SqlParser.MINUTE - 593)) | (1 << (SqlParser.WEEK - 593)) | (1 << (SqlParser.SECOND - 593)) | (1 << (SqlParser.MICROSECOND - 593)) | (1 << (SqlParser.TABLES - 593)) | (1 << (SqlParser.ROUTINE - 593)) | (1 << (SqlParser.EXECUTE - 593)) | (1 << (SqlParser.FILE - 593)) | (1 << (SqlParser.PROCESS - 593)) | (1 << (SqlParser.RELOAD - 593)) | (1 << (SqlParser.SHUTDOWN - 593)) | (1 << (SqlParser.SUPER - 593)) | (1 << (SqlParser.PRIVILEGES - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)) | (1 << (SqlParser.ARMSCII8 - 625)) | (1 << (SqlParser.ASCII - 625)) | (1 << (SqlParser.BIG5 - 625)) | (1 << (SqlParser.CP1250 - 625)) | (1 << (SqlParser.CP1251 - 625)) | (1 << (SqlParser.CP1256 - 625)) | (1 << (SqlParser.CP1257 - 625)) | (1 << (SqlParser.CP850 - 625)) | (1 << (SqlParser.CP852 - 625)) | (1 << (SqlParser.CP866 - 625)) | (1 << (SqlParser.CP932 - 625)) | (1 << (SqlParser.DEC8 - 625)) | (1 << (SqlParser.EUCJPMS - 625)) | (1 << (SqlParser.EUCKR - 625)) | (1 << (SqlParser.GB2312 - 625)) | (1 << (SqlParser.GBK - 625)) | (1 << (SqlParser.GEOSTD8 - 625)) | (1 << (SqlParser.GREEK - 625)) | (1 << (SqlParser.HEBREW - 625)) | (1 << (SqlParser.HP8 - 625)))) !== 0) || ((((_la - 657)) & ~0x1f) == 0 && ((1 << (_la - 657)) & ((1 << (SqlParser.KEYBCS2 - 657)) | (1 << (SqlParser.KOI8R - 657)) | (1 << (SqlParser.KOI8U - 657)) | (1 << (SqlParser.LATIN1 - 657)) | (1 << (SqlParser.LATIN2 - 657)) | (1 << (SqlParser.LATIN5 - 657)) | (1 << (SqlParser.LATIN7 - 657)) | (1 << (SqlParser.MACCE - 657)) | (1 << (SqlParser.MACROMAN - 657)) | (1 << (SqlParser.SJIS - 657)) | (1 << (SqlParser.SWE7 - 657)) | (1 << (SqlParser.TIS620 - 657)) | (1 << (SqlParser.UCS2 - 657)) | (1 << (SqlParser.UJIS - 657)) | (1 << (SqlParser.UTF16 - 657)) | (1 << (SqlParser.UTF16LE - 657)) | (1 << (SqlParser.UTF32 - 657)) | (1 << (SqlParser.UTF8 - 657)) | (1 << (SqlParser.UTF8MB3 - 657)) | (1 << (SqlParser.UTF8MB4 - 657)) | (1 << (SqlParser.ARCHIVE - 657)) | (1 << (SqlParser.BLACKHOLE - 657)) | (1 << (SqlParser.CSV - 657)) | (1 << (SqlParser.FEDERATED - 657)) | (1 << (SqlParser.INNODB - 657)) | (1 << (SqlParser.MEMORY - 657)) | (1 << (SqlParser.MRG_MYISAM - 657)) | (1 << (SqlParser.MYISAM - 657)) | (1 << (SqlParser.NDB - 657)) | (1 << (SqlParser.NDBCLUSTER - 657)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 657)) | (1 << (SqlParser.TOKUDB - 657)))) !== 0) || ((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 689)) | (1 << (SqlParser.LINESTRING - 689)) | (1 << (SqlParser.MULTILINESTRING - 689)) | (1 << (SqlParser.MULTIPOINT - 689)) | (1 << (SqlParser.MULTIPOLYGON - 689)) | (1 << (SqlParser.POINT - 689)) | (1 << (SqlParser.POLYGON - 689)) | (1 << (SqlParser.ABS - 689)) | (1 << (SqlParser.ACOS - 689)) | (1 << (SqlParser.ADDDATE - 689)) | (1 << (SqlParser.ADDTIME - 689)) | (1 << (SqlParser.AES_DECRYPT - 689)) | (1 << (SqlParser.AES_ENCRYPT - 689)) | (1 << (SqlParser.AREA - 689)) | (1 << (SqlParser.ASBINARY - 689)) | (1 << (SqlParser.ASIN - 689)) | (1 << (SqlParser.ASTEXT - 689)) | (1 << (SqlParser.ASWKB - 689)) | (1 << (SqlParser.ASWKT - 689)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 689)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 689)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 689)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 689)) | (1 << (SqlParser.ATAN - 689)) | (1 << (SqlParser.ATAN2 - 689)))) !== 0) || ((((_la - 721)) & ~0x1f) == 0 && ((1 << (_la - 721)) & ((1 << (SqlParser.BENCHMARK - 721)) | (1 << (SqlParser.BIN - 721)) | (1 << (SqlParser.BIT_COUNT - 721)) | (1 << (SqlParser.BIT_LENGTH - 721)) | (1 << (SqlParser.BUFFER - 721)) | (1 << (SqlParser.CATALOG_NAME - 721)) | (1 << (SqlParser.CEIL - 721)) | (1 << (SqlParser.CEILING - 721)) | (1 << (SqlParser.CENTROID - 721)) | (1 << (SqlParser.CHARACTER_LENGTH - 721)) | (1 << (SqlParser.CHARSET - 721)) | (1 << (SqlParser.CHAR_LENGTH - 721)) | (1 << (SqlParser.COERCIBILITY - 721)) | (1 << (SqlParser.COLLATION - 721)) | (1 << (SqlParser.COMPRESS - 721)) | (1 << (SqlParser.CONCAT - 721)) | (1 << (SqlParser.CONCAT_WS - 721)) | (1 << (SqlParser.CONNECTION_ID - 721)) | (1 << (SqlParser.CONV - 721)) | (1 << (SqlParser.CONVERT_TZ - 721)) | (1 << (SqlParser.COS - 721)) | (1 << (SqlParser.COT - 721)) | (1 << (SqlParser.CRC32 - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 721)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 721)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 721)) | (1 << (SqlParser.CREATE_DIGEST - 721)) | (1 << (SqlParser.CROSSES - 721)) | (1 << (SqlParser.DATEDIFF - 721)) | (1 << (SqlParser.DATE_FORMAT - 721)) | (1 << (SqlParser.DAYNAME - 721)) | (1 << (SqlParser.DAYOFMONTH - 721)))) !== 0) || ((((_la - 753)) & ~0x1f) == 0 && ((1 << (_la - 753)) & ((1 << (SqlParser.DAYOFWEEK - 753)) | (1 << (SqlParser.DAYOFYEAR - 753)) | (1 << (SqlParser.DECODE - 753)) | (1 << (SqlParser.DEGREES - 753)) | (1 << (SqlParser.DES_DECRYPT - 753)) | (1 << (SqlParser.DES_ENCRYPT - 753)) | (1 << (SqlParser.DIMENSION - 753)) | (1 << (SqlParser.DISJOINT - 753)) | (1 << (SqlParser.ELT - 753)) | (1 << (SqlParser.ENCODE - 753)) | (1 << (SqlParser.ENCRYPT - 753)) | (1 << (SqlParser.ENDPOINT - 753)) | (1 << (SqlParser.ENVELOPE - 753)) | (1 << (SqlParser.EQUALS - 753)) | (1 << (SqlParser.EXP - 753)) | (1 << (SqlParser.EXPORT_SET - 753)) | (1 << (SqlParser.EXTERIORRING - 753)) | (1 << (SqlParser.EXTRACTVALUE - 753)) | (1 << (SqlParser.FIELD - 753)) | (1 << (SqlParser.FIND_IN_SET - 753)) | (1 << (SqlParser.FLOOR - 753)) | (1 << (SqlParser.FORMAT - 753)) | (1 << (SqlParser.FOUND_ROWS - 753)) | (1 << (SqlParser.FROM_BASE64 - 753)) | (1 << (SqlParser.FROM_DAYS - 753)) | (1 << (SqlParser.FROM_UNIXTIME - 753)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 753)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 753)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 753)) | (1 << (SqlParser.GEOMETRYFROMWKB - 753)))) !== 0) || ((((_la - 785)) & ~0x1f) == 0 && ((1 << (_la - 785)) & ((1 << (SqlParser.GEOMETRYN - 785)) | (1 << (SqlParser.GEOMETRYTYPE - 785)) | (1 << (SqlParser.GEOMFROMTEXT - 785)) | (1 << (SqlParser.GEOMFROMWKB - 785)) | (1 << (SqlParser.GET_FORMAT - 785)) | (1 << (SqlParser.GET_LOCK - 785)) | (1 << (SqlParser.GLENGTH - 785)) | (1 << (SqlParser.GREATEST - 785)) | (1 << (SqlParser.GTID_SUBSET - 785)) | (1 << (SqlParser.GTID_SUBTRACT - 785)) | (1 << (SqlParser.HEX - 785)) | (1 << (SqlParser.IFNULL - 785)) | (1 << (SqlParser.INET6_ATON - 785)) | (1 << (SqlParser.INET6_NTOA - 785)) | (1 << (SqlParser.INET_ATON - 785)) | (1 << (SqlParser.INET_NTOA - 785)) | (1 << (SqlParser.INSTR - 785)) | (1 << (SqlParser.INTERIORRINGN - 785)) | (1 << (SqlParser.INTERSECTS - 785)) | (1 << (SqlParser.ISCLOSED - 785)) | (1 << (SqlParser.ISEMPTY - 785)) | (1 << (SqlParser.ISNULL - 785)) | (1 << (SqlParser.ISSIMPLE - 785)) | (1 << (SqlParser.IS_FREE_LOCK - 785)) | (1 << (SqlParser.IS_IPV4 - 785)) | (1 << (SqlParser.IS_IPV4_COMPAT - 785)) | (1 << (SqlParser.IS_IPV4_MAPPED - 785)) | (1 << (SqlParser.IS_IPV6 - 785)) | (1 << (SqlParser.IS_USED_LOCK - 785)) | (1 << (SqlParser.LAST_INSERT_ID - 785)) | (1 << (SqlParser.LCASE - 785)) | (1 << (SqlParser.LEAST - 785)))) !== 0) || ((((_la - 817)) & ~0x1f) == 0 && ((1 << (_la - 817)) & ((1 << (SqlParser.LENGTH - 817)) | (1 << (SqlParser.LINEFROMTEXT - 817)) | (1 << (SqlParser.LINEFROMWKB - 817)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 817)) | (1 << (SqlParser.LINESTRINGFROMWKB - 817)) | (1 << (SqlParser.LN - 817)) | (1 << (SqlParser.LOAD_FILE - 817)) | (1 << (SqlParser.LOCATE - 817)) | (1 << (SqlParser.LOG - 817)) | (1 << (SqlParser.LOG10 - 817)) | (1 << (SqlParser.LOG2 - 817)) | (1 << (SqlParser.LOWER - 817)) | (1 << (SqlParser.LPAD - 817)) | (1 << (SqlParser.LTRIM - 817)) | (1 << (SqlParser.MAKEDATE - 817)) | (1 << (SqlParser.MAKETIME - 817)) | (1 << (SqlParser.MAKE_SET - 817)) | (1 << (SqlParser.MASTER_POS_WAIT - 817)) | (1 << (SqlParser.MBRCONTAINS - 817)) | (1 << (SqlParser.MBRDISJOINT - 817)) | (1 << (SqlParser.MBREQUAL - 817)) | (1 << (SqlParser.MBRINTERSECTS - 817)) | (1 << (SqlParser.MBROVERLAPS - 817)) | (1 << (SqlParser.MBRTOUCHES - 817)) | (1 << (SqlParser.MBRWITHIN - 817)) | (1 << (SqlParser.MD5 - 817)) | (1 << (SqlParser.MLINEFROMTEXT - 817)) | (1 << (SqlParser.MLINEFROMWKB - 817)) | (1 << (SqlParser.MONTHNAME - 817)) | (1 << (SqlParser.MPOINTFROMTEXT - 817)) | (1 << (SqlParser.MPOINTFROMWKB - 817)) | (1 << (SqlParser.MPOLYFROMTEXT - 817)))) !== 0) || ((((_la - 849)) & ~0x1f) == 0 && ((1 << (_la - 849)) & ((1 << (SqlParser.MPOLYFROMWKB - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 849)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 849)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 849)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 849)) | (1 << (SqlParser.NAME_CONST - 849)) | (1 << (SqlParser.NULLIF - 849)) | (1 << (SqlParser.NUMGEOMETRIES - 849)) | (1 << (SqlParser.NUMINTERIORRINGS - 849)) | (1 << (SqlParser.NUMPOINTS - 849)) | (1 << (SqlParser.OCT - 849)) | (1 << (SqlParser.OCTET_LENGTH - 849)) | (1 << (SqlParser.ORD - 849)) | (1 << (SqlParser.OVERLAPS - 849)) | (1 << (SqlParser.PERIOD_ADD - 849)) | (1 << (SqlParser.PERIOD_DIFF - 849)) | (1 << (SqlParser.PI - 849)) | (1 << (SqlParser.POINTFROMTEXT - 849)) | (1 << (SqlParser.POINTFROMWKB - 849)) | (1 << (SqlParser.POINTN - 849)) | (1 << (SqlParser.POLYFROMTEXT - 849)) | (1 << (SqlParser.POLYFROMWKB - 849)) | (1 << (SqlParser.POLYGONFROMTEXT - 849)) | (1 << (SqlParser.POLYGONFROMWKB - 849)) | (1 << (SqlParser.POW - 849)) | (1 << (SqlParser.POWER - 849)) | (1 << (SqlParser.QUOTE - 849)) | (1 << (SqlParser.RADIANS - 849)) | (1 << (SqlParser.RAND - 849)) | (1 << (SqlParser.RANDOM_BYTES - 849)))) !== 0) || ((((_la - 881)) & ~0x1f) == 0 && ((1 << (_la - 881)) & ((1 << (SqlParser.RELEASE_LOCK - 881)) | (1 << (SqlParser.REVERSE - 881)) | (1 << (SqlParser.ROUND - 881)) | (1 << (SqlParser.ROW_COUNT - 881)) | (1 << (SqlParser.RPAD - 881)) | (1 << (SqlParser.RTRIM - 881)) | (1 << (SqlParser.SEC_TO_TIME - 881)) | (1 << (SqlParser.SESSION_USER - 881)) | (1 << (SqlParser.SHA - 881)) | (1 << (SqlParser.SHA1 - 881)) | (1 << (SqlParser.SHA2 - 881)) | (1 << (SqlParser.SCHEMA_NAME - 881)) | (1 << (SqlParser.SIGN - 881)) | (1 << (SqlParser.SIN - 881)) | (1 << (SqlParser.SLEEP - 881)) | (1 << (SqlParser.SOUNDEX - 881)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 881)) | (1 << (SqlParser.SQRT - 881)) | (1 << (SqlParser.SRID - 881)) | (1 << (SqlParser.STARTPOINT - 881)) | (1 << (SqlParser.STRCMP - 881)) | (1 << (SqlParser.STR_TO_DATE - 881)) | (1 << (SqlParser.ST_AREA - 881)) | (1 << (SqlParser.ST_ASBINARY - 881)) | (1 << (SqlParser.ST_ASTEXT - 881)) | (1 << (SqlParser.ST_ASWKB - 881)) | (1 << (SqlParser.ST_ASWKT - 881)) | (1 << (SqlParser.ST_BUFFER - 881)) | (1 << (SqlParser.ST_CENTROID - 881)) | (1 << (SqlParser.ST_CONTAINS - 881)) | (1 << (SqlParser.ST_CROSSES - 881)) | (1 << (SqlParser.ST_DIFFERENCE - 881)))) !== 0) || ((((_la - 913)) & ~0x1f) == 0 && ((1 << (_la - 913)) & ((1 << (SqlParser.ST_DIMENSION - 913)) | (1 << (SqlParser.ST_DISJOINT - 913)) | (1 << (SqlParser.ST_DISTANCE - 913)) | (1 << (SqlParser.ST_ENDPOINT - 913)) | (1 << (SqlParser.ST_ENVELOPE - 913)) | (1 << (SqlParser.ST_EQUALS - 913)) | (1 << (SqlParser.ST_EXTERIORRING - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 913)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 913)) | (1 << (SqlParser.ST_GEOMETRYN - 913)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 913)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 913)) | (1 << (SqlParser.ST_GEOMFROMWKB - 913)) | (1 << (SqlParser.ST_INTERIORRINGN - 913)) | (1 << (SqlParser.ST_INTERSECTION - 913)) | (1 << (SqlParser.ST_INTERSECTS - 913)) | (1 << (SqlParser.ST_ISCLOSED - 913)) | (1 << (SqlParser.ST_ISEMPTY - 913)) | (1 << (SqlParser.ST_ISSIMPLE - 913)) | (1 << (SqlParser.ST_LINEFROMTEXT - 913)) | (1 << (SqlParser.ST_LINEFROMWKB - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 913)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 913)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 913)) | (1 << (SqlParser.ST_NUMINTERIORRING - 913)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 913)) | (1 << (SqlParser.ST_NUMPOINTS - 913)))) !== 0) || ((((_la - 945)) & ~0x1f) == 0 && ((1 << (_la - 945)) & ((1 << (SqlParser.ST_OVERLAPS - 945)) | (1 << (SqlParser.ST_POINTFROMTEXT - 945)) | (1 << (SqlParser.ST_POINTFROMWKB - 945)) | (1 << (SqlParser.ST_POINTN - 945)) | (1 << (SqlParser.ST_POLYFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYFROMWKB - 945)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 945)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 945)) | (1 << (SqlParser.ST_SRID - 945)) | (1 << (SqlParser.ST_STARTPOINT - 945)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 945)) | (1 << (SqlParser.ST_TOUCHES - 945)) | (1 << (SqlParser.ST_UNION - 945)) | (1 << (SqlParser.ST_WITHIN - 945)) | (1 << (SqlParser.ST_X - 945)) | (1 << (SqlParser.ST_Y - 945)) | (1 << (SqlParser.SUBDATE - 945)) | (1 << (SqlParser.SUBSTRING_INDEX - 945)) | (1 << (SqlParser.SUBTIME - 945)) | (1 << (SqlParser.SYSTEM_USER - 945)) | (1 << (SqlParser.TAN - 945)) | (1 << (SqlParser.TIMEDIFF - 945)) | (1 << (SqlParser.TIMESTAMPADD - 945)) | (1 << (SqlParser.TIMESTAMPDIFF - 945)) | (1 << (SqlParser.TIME_FORMAT - 945)) | (1 << (SqlParser.TIME_TO_SEC - 945)) | (1 << (SqlParser.TOUCHES - 945)) | (1 << (SqlParser.TO_BASE64 - 945)) | (1 << (SqlParser.TO_DAYS - 945)) | (1 << (SqlParser.TO_SECONDS - 945)) | (1 << (SqlParser.UCASE - 945)) | (1 << (SqlParser.UNCOMPRESS - 945)))) !== 0) || ((((_la - 977)) & ~0x1f) == 0 && ((1 << (_la - 977)) & ((1 << (SqlParser.UNCOMPRESSED_LENGTH - 977)) | (1 << (SqlParser.UNHEX - 977)) | (1 << (SqlParser.UNIX_TIMESTAMP - 977)) | (1 << (SqlParser.UPDATEXML - 977)) | (1 << (SqlParser.UPPER - 977)) | (1 << (SqlParser.UUID - 977)) | (1 << (SqlParser.UUID_SHORT - 977)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 977)) | (1 << (SqlParser.VERSION - 977)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 977)) | (1 << (SqlParser.WEEKDAY - 977)) | (1 << (SqlParser.WEEKOFYEAR - 977)) | (1 << (SqlParser.WEIGHT_STRING - 977)) | (1 << (SqlParser.WITHIN - 977)) | (1 << (SqlParser.YEARWEEK - 977)) | (1 << (SqlParser.Y_FUNCTION - 977)) | (1 << (SqlParser.X_FUNCTION - 977)))) !== 0) || ((((_la - 1032)) & ~0x1f) == 0 && ((1 << (_la - 1032)) & ((1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1032)) | (1 << (SqlParser.STRING_LITERAL - 1032)) | (1 << (SqlParser.ID - 1032)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1032)))) !== 0)) { + this.state = 4266; + this.uid(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CursorStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_cursorStatement; + return this; +} + +CursorStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CursorStatementContext.prototype.constructor = CursorStatementContext; + + + +CursorStatementContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function CloseCursorContext(parser, ctx) { + CursorStatementContext.call(this, parser); + CursorStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CloseCursorContext.prototype = Object.create(CursorStatementContext.prototype); +CloseCursorContext.prototype.constructor = CloseCursorContext; + +SqlParser.CloseCursorContext = CloseCursorContext; + +CloseCursorContext.prototype.CLOSE = function() { + return this.getToken(SqlParser.CLOSE, 0); +}; + +CloseCursorContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +CloseCursorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCloseCursor(this); + } +}; + +CloseCursorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCloseCursor(this); + } +}; + +CloseCursorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCloseCursor(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function OpenCursorContext(parser, ctx) { + CursorStatementContext.call(this, parser); + CursorStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +OpenCursorContext.prototype = Object.create(CursorStatementContext.prototype); +OpenCursorContext.prototype.constructor = OpenCursorContext; + +SqlParser.OpenCursorContext = OpenCursorContext; + +OpenCursorContext.prototype.OPEN = function() { + return this.getToken(SqlParser.OPEN, 0); +}; + +OpenCursorContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +OpenCursorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterOpenCursor(this); + } +}; + +OpenCursorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitOpenCursor(this); + } +}; + +OpenCursorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitOpenCursor(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function FetchCursorContext(parser, ctx) { + CursorStatementContext.call(this, parser); + CursorStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +FetchCursorContext.prototype = Object.create(CursorStatementContext.prototype); +FetchCursorContext.prototype.constructor = FetchCursorContext; + +SqlParser.FetchCursorContext = FetchCursorContext; + +FetchCursorContext.prototype.FETCH = function() { + return this.getToken(SqlParser.FETCH, 0); +}; + +FetchCursorContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +FetchCursorContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +FetchCursorContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +FetchCursorContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +FetchCursorContext.prototype.NEXT = function() { + return this.getToken(SqlParser.NEXT, 0); +}; +FetchCursorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFetchCursor(this); + } +}; + +FetchCursorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFetchCursor(this); + } +}; + +FetchCursorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFetchCursor(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.CursorStatementContext = CursorStatementContext; + +SqlParser.prototype.cursorStatement = function() { + + var localctx = new CursorStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 366, SqlParser.RULE_cursorStatement); + var _la = 0; // Token type + try { + this.state = 4284; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CLOSE: + localctx = new CloseCursorContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4269; + this.match(SqlParser.CLOSE); + this.state = 4270; + this.uid(); + break; + case SqlParser.FETCH: + localctx = new FetchCursorContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4271; + this.match(SqlParser.FETCH); + this.state = 4276; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,616,this._ctx); + if(la_===1) { + this.state = 4273; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NEXT) { + this.state = 4272; + this.match(SqlParser.NEXT); + } + + this.state = 4275; + this.match(SqlParser.FROM); + + } + this.state = 4278; + this.uid(); + this.state = 4279; + this.match(SqlParser.INTO); + this.state = 4280; + this.uidList(); + break; + case SqlParser.OPEN: + localctx = new OpenCursorContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 4282; + this.match(SqlParser.OPEN); + this.state = 4283; + this.uid(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DeclareVariableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_declareVariable; + return this; +} + +DeclareVariableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DeclareVariableContext.prototype.constructor = DeclareVariableContext; + +DeclareVariableContext.prototype.DECLARE = function() { + return this.getToken(SqlParser.DECLARE, 0); +}; + +DeclareVariableContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +DeclareVariableContext.prototype.dataType = function() { + return this.getTypedRuleContext(DataTypeContext,0); +}; + +DeclareVariableContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +DeclareVariableContext.prototype.defaultValue = function() { + return this.getTypedRuleContext(DefaultValueContext,0); +}; + +DeclareVariableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDeclareVariable(this); + } +}; + +DeclareVariableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDeclareVariable(this); + } +}; + +DeclareVariableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDeclareVariable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DeclareVariableContext = DeclareVariableContext; + +SqlParser.prototype.declareVariable = function() { + + var localctx = new DeclareVariableContext(this, this._ctx, this.state); + this.enterRule(localctx, 368, SqlParser.RULE_declareVariable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4286; + this.match(SqlParser.DECLARE); + this.state = 4287; + this.uidList(); + this.state = 4288; + this.dataType(); + this.state = 4291; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DEFAULT) { + this.state = 4289; + this.match(SqlParser.DEFAULT); + this.state = 4290; + this.defaultValue(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DeclareConditionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_declareCondition; + return this; +} + +DeclareConditionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DeclareConditionContext.prototype.constructor = DeclareConditionContext; + +DeclareConditionContext.prototype.DECLARE = function() { + return this.getToken(SqlParser.DECLARE, 0); +}; + +DeclareConditionContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DeclareConditionContext.prototype.CONDITION = function() { + return this.getToken(SqlParser.CONDITION, 0); +}; + +DeclareConditionContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +DeclareConditionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +DeclareConditionContext.prototype.SQLSTATE = function() { + return this.getToken(SqlParser.SQLSTATE, 0); +}; + +DeclareConditionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +DeclareConditionContext.prototype.VALUE = function() { + return this.getToken(SqlParser.VALUE, 0); +}; + +DeclareConditionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDeclareCondition(this); + } +}; + +DeclareConditionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDeclareCondition(this); + } +}; + +DeclareConditionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDeclareCondition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DeclareConditionContext = DeclareConditionContext; + +SqlParser.prototype.declareCondition = function() { + + var localctx = new DeclareConditionContext(this, this._ctx, this.state); + this.enterRule(localctx, 370, SqlParser.RULE_declareCondition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4293; + this.match(SqlParser.DECLARE); + this.state = 4294; + this.uid(); + this.state = 4295; + this.match(SqlParser.CONDITION); + this.state = 4296; + this.match(SqlParser.FOR); + this.state = 4303; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.DECIMAL_LITERAL: + this.state = 4297; + this.decimalLiteral(); + break; + case SqlParser.SQLSTATE: + this.state = 4298; + this.match(SqlParser.SQLSTATE); + this.state = 4300; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.VALUE) { + this.state = 4299; + this.match(SqlParser.VALUE); + } + + this.state = 4302; + this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DeclareCursorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_declareCursor; + return this; +} + +DeclareCursorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DeclareCursorContext.prototype.constructor = DeclareCursorContext; + +DeclareCursorContext.prototype.DECLARE = function() { + return this.getToken(SqlParser.DECLARE, 0); +}; + +DeclareCursorContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DeclareCursorContext.prototype.CURSOR = function() { + return this.getToken(SqlParser.CURSOR, 0); +}; + +DeclareCursorContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +DeclareCursorContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +DeclareCursorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDeclareCursor(this); + } +}; + +DeclareCursorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDeclareCursor(this); + } +}; + +DeclareCursorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDeclareCursor(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DeclareCursorContext = DeclareCursorContext; + +SqlParser.prototype.declareCursor = function() { + + var localctx = new DeclareCursorContext(this, this._ctx, this.state); + this.enterRule(localctx, 372, SqlParser.RULE_declareCursor); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4305; + this.match(SqlParser.DECLARE); + this.state = 4306; + this.uid(); + this.state = 4307; + this.match(SqlParser.CURSOR); + this.state = 4308; + this.match(SqlParser.FOR); + this.state = 4309; + this.selectStatement(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DeclareHandlerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_declareHandler; + this.handlerAction = null; // Token + return this; +} + +DeclareHandlerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DeclareHandlerContext.prototype.constructor = DeclareHandlerContext; + +DeclareHandlerContext.prototype.DECLARE = function() { + return this.getToken(SqlParser.DECLARE, 0); +}; + +DeclareHandlerContext.prototype.HANDLER = function() { + return this.getToken(SqlParser.HANDLER, 0); +}; + +DeclareHandlerContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +DeclareHandlerContext.prototype.handlerConditionValue = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(HandlerConditionValueContext); + } else { + return this.getTypedRuleContext(HandlerConditionValueContext,i); + } +}; + +DeclareHandlerContext.prototype.routineBody = function() { + return this.getTypedRuleContext(RoutineBodyContext,0); +}; + +DeclareHandlerContext.prototype.CONTINUE = function() { + return this.getToken(SqlParser.CONTINUE, 0); +}; + +DeclareHandlerContext.prototype.EXIT = function() { + return this.getToken(SqlParser.EXIT, 0); +}; + +DeclareHandlerContext.prototype.UNDO = function() { + return this.getToken(SqlParser.UNDO, 0); +}; + +DeclareHandlerContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +DeclareHandlerContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDeclareHandler(this); + } +}; + +DeclareHandlerContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDeclareHandler(this); + } +}; + +DeclareHandlerContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDeclareHandler(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DeclareHandlerContext = DeclareHandlerContext; + +SqlParser.prototype.declareHandler = function() { + + var localctx = new DeclareHandlerContext(this, this._ctx, this.state); + this.enterRule(localctx, 374, SqlParser.RULE_declareHandler); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4311; + this.match(SqlParser.DECLARE); + this.state = 4312; + localctx.handlerAction = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CONTINUE || _la===SqlParser.EXIT || _la===SqlParser.UNDO)) { + localctx.handlerAction = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4313; + this.match(SqlParser.HANDLER); + this.state = 4314; + this.match(SqlParser.FOR); + this.state = 4315; + this.handlerConditionValue(); + this.state = 4320; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4316; + this.match(SqlParser.COMMA); + this.state = 4317; + this.handlerConditionValue(); + this.state = 4322; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4323; + this.routineBody(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HandlerConditionValueContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_handlerConditionValue; + return this; +} + +HandlerConditionValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HandlerConditionValueContext.prototype.constructor = HandlerConditionValueContext; + + + +HandlerConditionValueContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function HandlerConditionWarningContext(parser, ctx) { + HandlerConditionValueContext.call(this, parser); + HandlerConditionValueContext.prototype.copyFrom.call(this, ctx); + return this; +} + +HandlerConditionWarningContext.prototype = Object.create(HandlerConditionValueContext.prototype); +HandlerConditionWarningContext.prototype.constructor = HandlerConditionWarningContext; + +SqlParser.HandlerConditionWarningContext = HandlerConditionWarningContext; + +HandlerConditionWarningContext.prototype.SQLWARNING = function() { + return this.getToken(SqlParser.SQLWARNING, 0); +}; +HandlerConditionWarningContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerConditionWarning(this); + } +}; + +HandlerConditionWarningContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerConditionWarning(this); + } +}; + +HandlerConditionWarningContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerConditionWarning(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function HandlerConditionCodeContext(parser, ctx) { + HandlerConditionValueContext.call(this, parser); + HandlerConditionValueContext.prototype.copyFrom.call(this, ctx); + return this; +} + +HandlerConditionCodeContext.prototype = Object.create(HandlerConditionValueContext.prototype); +HandlerConditionCodeContext.prototype.constructor = HandlerConditionCodeContext; + +SqlParser.HandlerConditionCodeContext = HandlerConditionCodeContext; + +HandlerConditionCodeContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; +HandlerConditionCodeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerConditionCode(this); + } +}; + +HandlerConditionCodeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerConditionCode(this); + } +}; + +HandlerConditionCodeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerConditionCode(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function HandlerConditionNotfoundContext(parser, ctx) { + HandlerConditionValueContext.call(this, parser); + HandlerConditionValueContext.prototype.copyFrom.call(this, ctx); + return this; +} + +HandlerConditionNotfoundContext.prototype = Object.create(HandlerConditionValueContext.prototype); +HandlerConditionNotfoundContext.prototype.constructor = HandlerConditionNotfoundContext; + +SqlParser.HandlerConditionNotfoundContext = HandlerConditionNotfoundContext; + +HandlerConditionNotfoundContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +HandlerConditionNotfoundContext.prototype.FOUND = function() { + return this.getToken(SqlParser.FOUND, 0); +}; +HandlerConditionNotfoundContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerConditionNotfound(this); + } +}; + +HandlerConditionNotfoundContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerConditionNotfound(this); + } +}; + +HandlerConditionNotfoundContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerConditionNotfound(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function HandlerConditionStateContext(parser, ctx) { + HandlerConditionValueContext.call(this, parser); + HandlerConditionValueContext.prototype.copyFrom.call(this, ctx); + return this; +} + +HandlerConditionStateContext.prototype = Object.create(HandlerConditionValueContext.prototype); +HandlerConditionStateContext.prototype.constructor = HandlerConditionStateContext; + +SqlParser.HandlerConditionStateContext = HandlerConditionStateContext; + +HandlerConditionStateContext.prototype.SQLSTATE = function() { + return this.getToken(SqlParser.SQLSTATE, 0); +}; + +HandlerConditionStateContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +HandlerConditionStateContext.prototype.VALUE = function() { + return this.getToken(SqlParser.VALUE, 0); +}; +HandlerConditionStateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerConditionState(this); + } +}; + +HandlerConditionStateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerConditionState(this); + } +}; + +HandlerConditionStateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerConditionState(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function HandlerConditionExceptionContext(parser, ctx) { + HandlerConditionValueContext.call(this, parser); + HandlerConditionValueContext.prototype.copyFrom.call(this, ctx); + return this; +} + +HandlerConditionExceptionContext.prototype = Object.create(HandlerConditionValueContext.prototype); +HandlerConditionExceptionContext.prototype.constructor = HandlerConditionExceptionContext; + +SqlParser.HandlerConditionExceptionContext = HandlerConditionExceptionContext; + +HandlerConditionExceptionContext.prototype.SQLEXCEPTION = function() { + return this.getToken(SqlParser.SQLEXCEPTION, 0); +}; +HandlerConditionExceptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerConditionException(this); + } +}; + +HandlerConditionExceptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerConditionException(this); + } +}; + +HandlerConditionExceptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerConditionException(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function HandlerConditionNameContext(parser, ctx) { + HandlerConditionValueContext.call(this, parser); + HandlerConditionValueContext.prototype.copyFrom.call(this, ctx); + return this; +} + +HandlerConditionNameContext.prototype = Object.create(HandlerConditionValueContext.prototype); +HandlerConditionNameContext.prototype.constructor = HandlerConditionNameContext; + +SqlParser.HandlerConditionNameContext = HandlerConditionNameContext; + +HandlerConditionNameContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +HandlerConditionNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHandlerConditionName(this); + } +}; + +HandlerConditionNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHandlerConditionName(this); + } +}; + +HandlerConditionNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHandlerConditionName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.HandlerConditionValueContext = HandlerConditionValueContext; + +SqlParser.prototype.handlerConditionValue = function() { + + var localctx = new HandlerConditionValueContext(this, this._ctx, this.state); + this.enterRule(localctx, 376, SqlParser.RULE_handlerConditionValue); + var _la = 0; // Token type + try { + this.state = 4336; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.DECIMAL_LITERAL: + localctx = new HandlerConditionCodeContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4325; + this.decimalLiteral(); + break; + case SqlParser.SQLSTATE: + localctx = new HandlerConditionStateContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4326; + this.match(SqlParser.SQLSTATE); + this.state = 4328; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.VALUE) { + this.state = 4327; + this.match(SqlParser.VALUE); + } + + this.state = 4330; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + localctx = new HandlerConditionNameContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 4331; + this.uid(); + break; + case SqlParser.SQLWARNING: + localctx = new HandlerConditionWarningContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 4332; + this.match(SqlParser.SQLWARNING); + break; + case SqlParser.NOT: + localctx = new HandlerConditionNotfoundContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 4333; + this.match(SqlParser.NOT); + this.state = 4334; + this.match(SqlParser.FOUND); + break; + case SqlParser.SQLEXCEPTION: + localctx = new HandlerConditionExceptionContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 4335; + this.match(SqlParser.SQLEXCEPTION); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ProcedureSqlStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_procedureSqlStatement; + return this; +} + +ProcedureSqlStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ProcedureSqlStatementContext.prototype.constructor = ProcedureSqlStatementContext; + +ProcedureSqlStatementContext.prototype.SEMI = function() { + return this.getToken(SqlParser.SEMI, 0); +}; + +ProcedureSqlStatementContext.prototype.compoundStatement = function() { + return this.getTypedRuleContext(CompoundStatementContext,0); +}; + +ProcedureSqlStatementContext.prototype.sqlStatement = function() { + return this.getTypedRuleContext(SqlStatementContext,0); +}; + +ProcedureSqlStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterProcedureSqlStatement(this); + } +}; + +ProcedureSqlStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitProcedureSqlStatement(this); + } +}; + +ProcedureSqlStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitProcedureSqlStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ProcedureSqlStatementContext = ProcedureSqlStatementContext; + +SqlParser.prototype.procedureSqlStatement = function() { + + var localctx = new ProcedureSqlStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 378, SqlParser.RULE_procedureSqlStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4340; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,624,this._ctx); + switch(la_) { + case 1: + this.state = 4338; + this.compoundStatement(); + break; + + case 2: + this.state = 4339; + this.sqlStatement(); + break; + + } + this.state = 4342; + this.match(SqlParser.SEMI); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CaseAlternativeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_caseAlternative; + return this; +} + +CaseAlternativeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CaseAlternativeContext.prototype.constructor = CaseAlternativeContext; + +CaseAlternativeContext.prototype.WHEN = function() { + return this.getToken(SqlParser.WHEN, 0); +}; + +CaseAlternativeContext.prototype.THEN = function() { + return this.getToken(SqlParser.THEN, 0); +}; + +CaseAlternativeContext.prototype.constant = function() { + return this.getTypedRuleContext(ConstantContext,0); +}; + +CaseAlternativeContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +CaseAlternativeContext.prototype.procedureSqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureSqlStatementContext); + } else { + return this.getTypedRuleContext(ProcedureSqlStatementContext,i); + } +}; + +CaseAlternativeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCaseAlternative(this); + } +}; + +CaseAlternativeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCaseAlternative(this); + } +}; + +CaseAlternativeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCaseAlternative(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CaseAlternativeContext = CaseAlternativeContext; + +SqlParser.prototype.caseAlternative = function() { + + var localctx = new CaseAlternativeContext(this, this._ctx, this.state); + this.enterRule(localctx, 380, SqlParser.RULE_caseAlternative); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4344; + this.match(SqlParser.WHEN); + this.state = 4347; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,625,this._ctx); + switch(la_) { + case 1: + this.state = 4345; + this.constant(); + break; + + case 2: + this.state = 4346; + this.expression(0); + break; + + } + this.state = 4349; + this.match(SqlParser.THEN); + this.state = 4351; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4350; + this.procedureSqlStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4353; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,626, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ElifAlternativeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_elifAlternative; + return this; +} + +ElifAlternativeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ElifAlternativeContext.prototype.constructor = ElifAlternativeContext; + +ElifAlternativeContext.prototype.ELSEIF = function() { + return this.getToken(SqlParser.ELSEIF, 0); +}; + +ElifAlternativeContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +ElifAlternativeContext.prototype.THEN = function() { + return this.getToken(SqlParser.THEN, 0); +}; + +ElifAlternativeContext.prototype.procedureSqlStatement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ProcedureSqlStatementContext); + } else { + return this.getTypedRuleContext(ProcedureSqlStatementContext,i); + } +}; + +ElifAlternativeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterElifAlternative(this); + } +}; + +ElifAlternativeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitElifAlternative(this); + } +}; + +ElifAlternativeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitElifAlternative(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ElifAlternativeContext = ElifAlternativeContext; + +SqlParser.prototype.elifAlternative = function() { + + var localctx = new ElifAlternativeContext(this, this._ctx, this.state); + this.enterRule(localctx, 382, SqlParser.RULE_elifAlternative); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4355; + this.match(SqlParser.ELSEIF); + this.state = 4356; + this.expression(0); + this.state = 4357; + this.match(SqlParser.THEN); + this.state = 4359; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4358; + this.procedureSqlStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4361; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,627, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AlterUserContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_alterUser; + return this; +} + +AlterUserContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AlterUserContext.prototype.constructor = AlterUserContext; + + + +AlterUserContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function AlterUserMysqlV56Context(parser, ctx) { + AlterUserContext.call(this, parser); + AlterUserContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterUserMysqlV56Context.prototype = Object.create(AlterUserContext.prototype); +AlterUserMysqlV56Context.prototype.constructor = AlterUserMysqlV56Context; + +SqlParser.AlterUserMysqlV56Context = AlterUserMysqlV56Context; + +AlterUserMysqlV56Context.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterUserMysqlV56Context.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +AlterUserMysqlV56Context.prototype.userSpecification = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserSpecificationContext); + } else { + return this.getTypedRuleContext(UserSpecificationContext,i); + } +}; + +AlterUserMysqlV56Context.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +AlterUserMysqlV56Context.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterUserMysqlV56(this); + } +}; + +AlterUserMysqlV56Context.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterUserMysqlV56(this); + } +}; + +AlterUserMysqlV56Context.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterUserMysqlV56(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AlterUserMysqlV57Context(parser, ctx) { + AlterUserContext.call(this, parser); + this.tlsNone = null; // Token; + AlterUserContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AlterUserMysqlV57Context.prototype = Object.create(AlterUserContext.prototype); +AlterUserMysqlV57Context.prototype.constructor = AlterUserMysqlV57Context; + +SqlParser.AlterUserMysqlV57Context = AlterUserMysqlV57Context; + +AlterUserMysqlV57Context.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +AlterUserMysqlV57Context.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +AlterUserMysqlV57Context.prototype.userAuthOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserAuthOptionContext); + } else { + return this.getTypedRuleContext(UserAuthOptionContext,i); + } +}; + +AlterUserMysqlV57Context.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +AlterUserMysqlV57Context.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +AlterUserMysqlV57Context.prototype.REQUIRE = function() { + return this.getToken(SqlParser.REQUIRE, 0); +}; + +AlterUserMysqlV57Context.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +AlterUserMysqlV57Context.prototype.userPasswordOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserPasswordOptionContext); + } else { + return this.getTypedRuleContext(UserPasswordOptionContext,i); + } +}; + +AlterUserMysqlV57Context.prototype.userLockOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserLockOptionContext); + } else { + return this.getTypedRuleContext(UserLockOptionContext,i); + } +}; + +AlterUserMysqlV57Context.prototype.tlsOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TlsOptionContext); + } else { + return this.getTypedRuleContext(TlsOptionContext,i); + } +}; + +AlterUserMysqlV57Context.prototype.NONE = function() { + return this.getToken(SqlParser.NONE, 0); +}; + +AlterUserMysqlV57Context.prototype.userResourceOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserResourceOptionContext); + } else { + return this.getTypedRuleContext(UserResourceOptionContext,i); + } +}; + +AlterUserMysqlV57Context.prototype.AND = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.AND); + } else { + return this.getToken(SqlParser.AND, i); + } +}; + +AlterUserMysqlV57Context.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAlterUserMysqlV57(this); + } +}; + +AlterUserMysqlV57Context.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAlterUserMysqlV57(this); + } +}; + +AlterUserMysqlV57Context.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAlterUserMysqlV57(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.AlterUserContext = AlterUserContext; + +SqlParser.prototype.alterUser = function() { + + var localctx = new AlterUserContext(this, this._ctx, this.state); + this.enterRule(localctx, 384, SqlParser.RULE_alterUser); + var _la = 0; // Token type + try { + this.state = 4417; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,639,this._ctx); + switch(la_) { + case 1: + localctx = new AlterUserMysqlV56Context(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4363; + this.match(SqlParser.ALTER); + this.state = 4364; + this.match(SqlParser.USER); + this.state = 4365; + this.userSpecification(); + this.state = 4370; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4366; + this.match(SqlParser.COMMA); + this.state = 4367; + this.userSpecification(); + this.state = 4372; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + localctx = new AlterUserMysqlV57Context(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4373; + this.match(SqlParser.ALTER); + this.state = 4374; + this.match(SqlParser.USER); + this.state = 4376; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 4375; + this.ifExists(); + } + + this.state = 4378; + this.userAuthOption(); + this.state = 4383; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4379; + this.match(SqlParser.COMMA); + this.state = 4380; + this.userAuthOption(); + this.state = 4385; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4400; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.REQUIRE) { + this.state = 4386; + this.match(SqlParser.REQUIRE); + this.state = 4398; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.NONE: + this.state = 4387; + localctx.tlsNone = this.match(SqlParser.NONE); + break; + case SqlParser.SSL: + case SqlParser.CIPHER: + case SqlParser.ISSUER: + case SqlParser.SUBJECT: + case SqlParser.X509: + this.state = 4388; + this.tlsOption(); + this.state = 4395; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.AND || _la===SqlParser.SSL || _la===SqlParser.CIPHER || _la===SqlParser.ISSUER || _la===SqlParser.SUBJECT || _la===SqlParser.X509) { + this.state = 4390; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AND) { + this.state = 4389; + this.match(SqlParser.AND); + } + + this.state = 4392; + this.tlsOption(); + this.state = 4397; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + + this.state = 4408; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH) { + this.state = 4402; + this.match(SqlParser.WITH); + this.state = 4404; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 4403; + this.userResourceOption(); + this.state = 4406; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(((((_la - 426)) & ~0x1f) == 0 && ((1 << (_la - 426)) & ((1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 426)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 426)) | (1 << (SqlParser.MAX_UPDATES_PER_HOUR - 426)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 426)))) !== 0)); + } + + this.state = 4414; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.ACCOUNT || _la===SqlParser.PASSWORD) { + this.state = 4412; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.PASSWORD: + this.state = 4410; + this.userPasswordOption(); + break; + case SqlParser.ACCOUNT: + this.state = 4411; + this.userLockOption(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4416; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateUserContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createUser; + return this; +} + +CreateUserContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateUserContext.prototype.constructor = CreateUserContext; + + + +CreateUserContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function CreateUserMysqlV57Context(parser, ctx) { + CreateUserContext.call(this, parser); + this.tlsNone = null; // Token; + CreateUserContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CreateUserMysqlV57Context.prototype = Object.create(CreateUserContext.prototype); +CreateUserMysqlV57Context.prototype.constructor = CreateUserMysqlV57Context; + +SqlParser.CreateUserMysqlV57Context = CreateUserMysqlV57Context; + +CreateUserMysqlV57Context.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateUserMysqlV57Context.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +CreateUserMysqlV57Context.prototype.userAuthOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserAuthOptionContext); + } else { + return this.getTypedRuleContext(UserAuthOptionContext,i); + } +}; + +CreateUserMysqlV57Context.prototype.ifNotExists = function() { + return this.getTypedRuleContext(IfNotExistsContext,0); +}; + +CreateUserMysqlV57Context.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +CreateUserMysqlV57Context.prototype.REQUIRE = function() { + return this.getToken(SqlParser.REQUIRE, 0); +}; + +CreateUserMysqlV57Context.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +CreateUserMysqlV57Context.prototype.userPasswordOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserPasswordOptionContext); + } else { + return this.getTypedRuleContext(UserPasswordOptionContext,i); + } +}; + +CreateUserMysqlV57Context.prototype.userLockOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserLockOptionContext); + } else { + return this.getTypedRuleContext(UserLockOptionContext,i); + } +}; + +CreateUserMysqlV57Context.prototype.tlsOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TlsOptionContext); + } else { + return this.getTypedRuleContext(TlsOptionContext,i); + } +}; + +CreateUserMysqlV57Context.prototype.NONE = function() { + return this.getToken(SqlParser.NONE, 0); +}; + +CreateUserMysqlV57Context.prototype.userResourceOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserResourceOptionContext); + } else { + return this.getTypedRuleContext(UserResourceOptionContext,i); + } +}; + +CreateUserMysqlV57Context.prototype.AND = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.AND); + } else { + return this.getToken(SqlParser.AND, i); + } +}; + +CreateUserMysqlV57Context.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateUserMysqlV57(this); + } +}; + +CreateUserMysqlV57Context.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateUserMysqlV57(this); + } +}; + +CreateUserMysqlV57Context.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateUserMysqlV57(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CreateUserMysqlV56Context(parser, ctx) { + CreateUserContext.call(this, parser); + CreateUserContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CreateUserMysqlV56Context.prototype = Object.create(CreateUserContext.prototype); +CreateUserMysqlV56Context.prototype.constructor = CreateUserMysqlV56Context; + +SqlParser.CreateUserMysqlV56Context = CreateUserMysqlV56Context; + +CreateUserMysqlV56Context.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateUserMysqlV56Context.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +CreateUserMysqlV56Context.prototype.userAuthOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserAuthOptionContext); + } else { + return this.getTypedRuleContext(UserAuthOptionContext,i); + } +}; + +CreateUserMysqlV56Context.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +CreateUserMysqlV56Context.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateUserMysqlV56(this); + } +}; + +CreateUserMysqlV56Context.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateUserMysqlV56(this); + } +}; + +CreateUserMysqlV56Context.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateUserMysqlV56(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.CreateUserContext = CreateUserContext; + +SqlParser.prototype.createUser = function() { + + var localctx = new CreateUserContext(this, this._ctx, this.state); + this.enterRule(localctx, 386, SqlParser.RULE_createUser); + var _la = 0; // Token type + try { + this.state = 4473; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,651,this._ctx); + switch(la_) { + case 1: + localctx = new CreateUserMysqlV56Context(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4419; + this.match(SqlParser.CREATE); + this.state = 4420; + this.match(SqlParser.USER); + this.state = 4421; + this.userAuthOption(); + this.state = 4426; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4422; + this.match(SqlParser.COMMA); + this.state = 4423; + this.userAuthOption(); + this.state = 4428; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + localctx = new CreateUserMysqlV57Context(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4429; + this.match(SqlParser.CREATE); + this.state = 4430; + this.match(SqlParser.USER); + this.state = 4432; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 4431; + this.ifNotExists(); + } + + this.state = 4434; + this.userAuthOption(); + this.state = 4439; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4435; + this.match(SqlParser.COMMA); + this.state = 4436; + this.userAuthOption(); + this.state = 4441; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4456; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.REQUIRE) { + this.state = 4442; + this.match(SqlParser.REQUIRE); + this.state = 4454; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.NONE: + this.state = 4443; + localctx.tlsNone = this.match(SqlParser.NONE); + break; + case SqlParser.SSL: + case SqlParser.CIPHER: + case SqlParser.ISSUER: + case SqlParser.SUBJECT: + case SqlParser.X509: + this.state = 4444; + this.tlsOption(); + this.state = 4451; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.AND || _la===SqlParser.SSL || _la===SqlParser.CIPHER || _la===SqlParser.ISSUER || _la===SqlParser.SUBJECT || _la===SqlParser.X509) { + this.state = 4446; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AND) { + this.state = 4445; + this.match(SqlParser.AND); + } + + this.state = 4448; + this.tlsOption(); + this.state = 4453; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + + this.state = 4464; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH) { + this.state = 4458; + this.match(SqlParser.WITH); + this.state = 4460; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 4459; + this.userResourceOption(); + this.state = 4462; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(((((_la - 426)) & ~0x1f) == 0 && ((1 << (_la - 426)) & ((1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 426)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 426)) | (1 << (SqlParser.MAX_UPDATES_PER_HOUR - 426)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 426)))) !== 0)); + } + + this.state = 4470; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.ACCOUNT || _la===SqlParser.PASSWORD) { + this.state = 4468; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.PASSWORD: + this.state = 4466; + this.userPasswordOption(); + break; + case SqlParser.ACCOUNT: + this.state = 4467; + this.userLockOption(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4472; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DropUserContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dropUser; + return this; +} + +DropUserContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DropUserContext.prototype.constructor = DropUserContext; + +DropUserContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +DropUserContext.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +DropUserContext.prototype.userName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserNameContext); + } else { + return this.getTypedRuleContext(UserNameContext,i); + } +}; + +DropUserContext.prototype.ifExists = function() { + return this.getTypedRuleContext(IfExistsContext,0); +}; + +DropUserContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +DropUserContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDropUser(this); + } +}; + +DropUserContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDropUser(this); + } +}; + +DropUserContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDropUser(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DropUserContext = DropUserContext; + +SqlParser.prototype.dropUser = function() { + + var localctx = new DropUserContext(this, this._ctx, this.state); + this.enterRule(localctx, 388, SqlParser.RULE_dropUser); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4475; + this.match(SqlParser.DROP); + this.state = 4476; + this.match(SqlParser.USER); + this.state = 4478; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 4477; + this.ifExists(); + } + + this.state = 4480; + this.userName(); + this.state = 4485; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4481; + this.match(SqlParser.COMMA); + this.state = 4482; + this.userName(); + this.state = 4487; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function GrantStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_grantStatement; + this.privilegeObject = null; // Token + this.tlsNone = null; // Token + return this; +} + +GrantStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +GrantStatementContext.prototype.constructor = GrantStatementContext; + +GrantStatementContext.prototype.GRANT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.GRANT); + } else { + return this.getToken(SqlParser.GRANT, i); + } +}; + + +GrantStatementContext.prototype.privelegeClause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PrivelegeClauseContext); + } else { + return this.getTypedRuleContext(PrivelegeClauseContext,i); + } +}; + +GrantStatementContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +GrantStatementContext.prototype.privilegeLevel = function() { + return this.getTypedRuleContext(PrivilegeLevelContext,0); +}; + +GrantStatementContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +GrantStatementContext.prototype.userAuthOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserAuthOptionContext); + } else { + return this.getTypedRuleContext(UserAuthOptionContext,i); + } +}; + +GrantStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +GrantStatementContext.prototype.REQUIRE = function() { + return this.getToken(SqlParser.REQUIRE, 0); +}; + +GrantStatementContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +GrantStatementContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +GrantStatementContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +GrantStatementContext.prototype.PROCEDURE = function() { + return this.getToken(SqlParser.PROCEDURE, 0); +}; + +GrantStatementContext.prototype.tlsOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TlsOptionContext); + } else { + return this.getTypedRuleContext(TlsOptionContext,i); + } +}; + +GrantStatementContext.prototype.NONE = function() { + return this.getToken(SqlParser.NONE, 0); +}; + +GrantStatementContext.prototype.OPTION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.OPTION); + } else { + return this.getToken(SqlParser.OPTION, i); + } +}; + + +GrantStatementContext.prototype.userResourceOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserResourceOptionContext); + } else { + return this.getTypedRuleContext(UserResourceOptionContext,i); + } +}; + +GrantStatementContext.prototype.AND = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.AND); + } else { + return this.getToken(SqlParser.AND, i); + } +}; + + +GrantStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterGrantStatement(this); + } +}; + +GrantStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitGrantStatement(this); + } +}; + +GrantStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitGrantStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.GrantStatementContext = GrantStatementContext; + +SqlParser.prototype.grantStatement = function() { + + var localctx = new GrantStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 390, SqlParser.RULE_grantStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4488; + this.match(SqlParser.GRANT); + this.state = 4489; + this.privelegeClause(); + this.state = 4494; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4490; + this.match(SqlParser.COMMA); + this.state = 4491; + this.privelegeClause(); + this.state = 4496; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4497; + this.match(SqlParser.ON); + this.state = 4499; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,655,this._ctx); + if(la_===1) { + this.state = 4498; + localctx.privilegeObject = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.PROCEDURE || _la===SqlParser.TABLE || _la===SqlParser.FUNCTION)) { + localctx.privilegeObject = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 4501; + this.privilegeLevel(); + this.state = 4502; + this.match(SqlParser.TO); + this.state = 4503; + this.userAuthOption(); + this.state = 4508; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4504; + this.match(SqlParser.COMMA); + this.state = 4505; + this.userAuthOption(); + this.state = 4510; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4525; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.REQUIRE) { + this.state = 4511; + this.match(SqlParser.REQUIRE); + this.state = 4523; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.NONE: + this.state = 4512; + localctx.tlsNone = this.match(SqlParser.NONE); + break; + case SqlParser.SSL: + case SqlParser.CIPHER: + case SqlParser.ISSUER: + case SqlParser.SUBJECT: + case SqlParser.X509: + this.state = 4513; + this.tlsOption(); + this.state = 4520; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.AND || _la===SqlParser.SSL || _la===SqlParser.CIPHER || _la===SqlParser.ISSUER || _la===SqlParser.SUBJECT || _la===SqlParser.X509) { + this.state = 4515; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AND) { + this.state = 4514; + this.match(SqlParser.AND); + } + + this.state = 4517; + this.tlsOption(); + this.state = 4522; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + + this.state = 4536; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH) { + this.state = 4527; + this.match(SqlParser.WITH); + this.state = 4533; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,662,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4531; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.GRANT: + this.state = 4528; + this.match(SqlParser.GRANT); + this.state = 4529; + this.match(SqlParser.OPTION); + break; + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + this.state = 4530; + this.userResourceOption(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + this.state = 4535; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,662,this._ctx); + } + + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function GrantProxyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_grantProxy; + this.fromFirst = null; // UserNameContext + this.toFirst = null; // UserNameContext + this._userName = null; // UserNameContext + this.toOther = []; // of UserNameContexts + return this; +} + +GrantProxyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +GrantProxyContext.prototype.constructor = GrantProxyContext; + +GrantProxyContext.prototype.GRANT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.GRANT); + } else { + return this.getToken(SqlParser.GRANT, i); + } +}; + + +GrantProxyContext.prototype.PROXY = function() { + return this.getToken(SqlParser.PROXY, 0); +}; + +GrantProxyContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +GrantProxyContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +GrantProxyContext.prototype.userName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserNameContext); + } else { + return this.getTypedRuleContext(UserNameContext,i); + } +}; + +GrantProxyContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +GrantProxyContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +GrantProxyContext.prototype.OPTION = function() { + return this.getToken(SqlParser.OPTION, 0); +}; + +GrantProxyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterGrantProxy(this); + } +}; + +GrantProxyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitGrantProxy(this); + } +}; + +GrantProxyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitGrantProxy(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.GrantProxyContext = GrantProxyContext; + +SqlParser.prototype.grantProxy = function() { + + var localctx = new GrantProxyContext(this, this._ctx, this.state); + this.enterRule(localctx, 392, SqlParser.RULE_grantProxy); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4538; + this.match(SqlParser.GRANT); + this.state = 4539; + this.match(SqlParser.PROXY); + this.state = 4540; + this.match(SqlParser.ON); + this.state = 4541; + localctx.fromFirst = this.userName(); + this.state = 4542; + this.match(SqlParser.TO); + this.state = 4543; + localctx.toFirst = this.userName(); + this.state = 4548; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4544; + this.match(SqlParser.COMMA); + this.state = 4545; + localctx._userName = this.userName(); + localctx.toOther.push(localctx._userName); + this.state = 4550; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4554; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH) { + this.state = 4551; + this.match(SqlParser.WITH); + this.state = 4552; + this.match(SqlParser.GRANT); + this.state = 4553; + this.match(SqlParser.OPTION); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RenameUserContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_renameUser; + return this; +} + +RenameUserContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RenameUserContext.prototype.constructor = RenameUserContext; + +RenameUserContext.prototype.RENAME = function() { + return this.getToken(SqlParser.RENAME, 0); +}; + +RenameUserContext.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +RenameUserContext.prototype.renameUserClause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(RenameUserClauseContext); + } else { + return this.getTypedRuleContext(RenameUserClauseContext,i); + } +}; + +RenameUserContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +RenameUserContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRenameUser(this); + } +}; + +RenameUserContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRenameUser(this); + } +}; + +RenameUserContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRenameUser(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RenameUserContext = RenameUserContext; + +SqlParser.prototype.renameUser = function() { + + var localctx = new RenameUserContext(this, this._ctx, this.state); + this.enterRule(localctx, 394, SqlParser.RULE_renameUser); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4556; + this.match(SqlParser.RENAME); + this.state = 4557; + this.match(SqlParser.USER); + this.state = 4558; + this.renameUserClause(); + this.state = 4563; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4559; + this.match(SqlParser.COMMA); + this.state = 4560; + this.renameUserClause(); + this.state = 4565; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RevokeStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_revokeStatement; + return this; +} + +RevokeStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RevokeStatementContext.prototype.constructor = RevokeStatementContext; + + + +RevokeStatementContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function DetailRevokeContext(parser, ctx) { + RevokeStatementContext.call(this, parser); + this.privilegeObject = null; // Token; + RevokeStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DetailRevokeContext.prototype = Object.create(RevokeStatementContext.prototype); +DetailRevokeContext.prototype.constructor = DetailRevokeContext; + +SqlParser.DetailRevokeContext = DetailRevokeContext; + +DetailRevokeContext.prototype.REVOKE = function() { + return this.getToken(SqlParser.REVOKE, 0); +}; + +DetailRevokeContext.prototype.privelegeClause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PrivelegeClauseContext); + } else { + return this.getTypedRuleContext(PrivelegeClauseContext,i); + } +}; + +DetailRevokeContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +DetailRevokeContext.prototype.privilegeLevel = function() { + return this.getTypedRuleContext(PrivilegeLevelContext,0); +}; + +DetailRevokeContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +DetailRevokeContext.prototype.userName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserNameContext); + } else { + return this.getTypedRuleContext(UserNameContext,i); + } +}; + +DetailRevokeContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +DetailRevokeContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +DetailRevokeContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +DetailRevokeContext.prototype.PROCEDURE = function() { + return this.getToken(SqlParser.PROCEDURE, 0); +}; +DetailRevokeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDetailRevoke(this); + } +}; + +DetailRevokeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDetailRevoke(this); + } +}; + +DetailRevokeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDetailRevoke(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShortRevokeContext(parser, ctx) { + RevokeStatementContext.call(this, parser); + RevokeStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShortRevokeContext.prototype = Object.create(RevokeStatementContext.prototype); +ShortRevokeContext.prototype.constructor = ShortRevokeContext; + +SqlParser.ShortRevokeContext = ShortRevokeContext; + +ShortRevokeContext.prototype.REVOKE = function() { + return this.getToken(SqlParser.REVOKE, 0); +}; + +ShortRevokeContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +ShortRevokeContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ShortRevokeContext.prototype.GRANT = function() { + return this.getToken(SqlParser.GRANT, 0); +}; + +ShortRevokeContext.prototype.OPTION = function() { + return this.getToken(SqlParser.OPTION, 0); +}; + +ShortRevokeContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +ShortRevokeContext.prototype.userName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserNameContext); + } else { + return this.getTypedRuleContext(UserNameContext,i); + } +}; + +ShortRevokeContext.prototype.PRIVILEGES = function() { + return this.getToken(SqlParser.PRIVILEGES, 0); +}; +ShortRevokeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShortRevoke(this); + } +}; + +ShortRevokeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShortRevoke(this); + } +}; + +ShortRevokeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShortRevoke(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.RevokeStatementContext = RevokeStatementContext; + +SqlParser.prototype.revokeStatement = function() { + + var localctx = new RevokeStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 396, SqlParser.RULE_revokeStatement); + var _la = 0; // Token type + try { + this.state = 4606; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,672,this._ctx); + switch(la_) { + case 1: + localctx = new DetailRevokeContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4566; + this.match(SqlParser.REVOKE); + this.state = 4567; + this.privelegeClause(); + this.state = 4572; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4568; + this.match(SqlParser.COMMA); + this.state = 4569; + this.privelegeClause(); + this.state = 4574; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4575; + this.match(SqlParser.ON); + this.state = 4577; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,668,this._ctx); + if(la_===1) { + this.state = 4576; + localctx.privilegeObject = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.PROCEDURE || _la===SqlParser.TABLE || _la===SqlParser.FUNCTION)) { + localctx.privilegeObject = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 4579; + this.privilegeLevel(); + this.state = 4580; + this.match(SqlParser.FROM); + this.state = 4581; + this.userName(); + this.state = 4586; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4582; + this.match(SqlParser.COMMA); + this.state = 4583; + this.userName(); + this.state = 4588; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + localctx = new ShortRevokeContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4589; + this.match(SqlParser.REVOKE); + this.state = 4590; + this.match(SqlParser.ALL); + this.state = 4592; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PRIVILEGES) { + this.state = 4591; + this.match(SqlParser.PRIVILEGES); + } + + this.state = 4594; + this.match(SqlParser.COMMA); + this.state = 4595; + this.match(SqlParser.GRANT); + this.state = 4596; + this.match(SqlParser.OPTION); + this.state = 4597; + this.match(SqlParser.FROM); + this.state = 4598; + this.userName(); + this.state = 4603; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4599; + this.match(SqlParser.COMMA); + this.state = 4600; + this.userName(); + this.state = 4605; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RevokeProxyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_revokeProxy; + this.onUser = null; // UserNameContext + this.fromFirst = null; // UserNameContext + this._userName = null; // UserNameContext + this.fromOther = []; // of UserNameContexts + return this; +} + +RevokeProxyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RevokeProxyContext.prototype.constructor = RevokeProxyContext; + +RevokeProxyContext.prototype.REVOKE = function() { + return this.getToken(SqlParser.REVOKE, 0); +}; + +RevokeProxyContext.prototype.PROXY = function() { + return this.getToken(SqlParser.PROXY, 0); +}; + +RevokeProxyContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +RevokeProxyContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +RevokeProxyContext.prototype.userName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserNameContext); + } else { + return this.getTypedRuleContext(UserNameContext,i); + } +}; + +RevokeProxyContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +RevokeProxyContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRevokeProxy(this); + } +}; + +RevokeProxyContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRevokeProxy(this); + } +}; + +RevokeProxyContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRevokeProxy(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RevokeProxyContext = RevokeProxyContext; + +SqlParser.prototype.revokeProxy = function() { + + var localctx = new RevokeProxyContext(this, this._ctx, this.state); + this.enterRule(localctx, 398, SqlParser.RULE_revokeProxy); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4608; + this.match(SqlParser.REVOKE); + this.state = 4609; + this.match(SqlParser.PROXY); + this.state = 4610; + this.match(SqlParser.ON); + this.state = 4611; + localctx.onUser = this.userName(); + this.state = 4612; + this.match(SqlParser.FROM); + this.state = 4613; + localctx.fromFirst = this.userName(); + this.state = 4618; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4614; + this.match(SqlParser.COMMA); + this.state = 4615; + localctx._userName = this.userName(); + localctx.fromOther.push(localctx._userName); + this.state = 4620; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SetPasswordStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_setPasswordStatement; + return this; +} + +SetPasswordStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SetPasswordStatementContext.prototype.constructor = SetPasswordStatementContext; + +SetPasswordStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SetPasswordStatementContext.prototype.PASSWORD = function() { + return this.getToken(SqlParser.PASSWORD, 0); +}; + +SetPasswordStatementContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +SetPasswordStatementContext.prototype.passwordFunctionClause = function() { + return this.getTypedRuleContext(PasswordFunctionClauseContext,0); +}; + +SetPasswordStatementContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +SetPasswordStatementContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +SetPasswordStatementContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; + +SetPasswordStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetPasswordStatement(this); + } +}; + +SetPasswordStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetPasswordStatement(this); + } +}; + +SetPasswordStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetPasswordStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SetPasswordStatementContext = SetPasswordStatementContext; + +SqlParser.prototype.setPasswordStatement = function() { + + var localctx = new SetPasswordStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 400, SqlParser.RULE_setPasswordStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4621; + this.match(SqlParser.SET); + this.state = 4622; + this.match(SqlParser.PASSWORD); + this.state = 4625; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 4623; + this.match(SqlParser.FOR); + this.state = 4624; + this.userName(); + } + + this.state = 4627; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 4630; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.OLD_PASSWORD: + case SqlParser.PASSWORD: + this.state = 4628; + this.passwordFunctionClause(); + break; + case SqlParser.STRING_LITERAL: + this.state = 4629; + this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UserSpecificationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_userSpecification; + return this; +} + +UserSpecificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UserSpecificationContext.prototype.constructor = UserSpecificationContext; + +UserSpecificationContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; + +UserSpecificationContext.prototype.userPasswordOption = function() { + return this.getTypedRuleContext(UserPasswordOptionContext,0); +}; + +UserSpecificationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUserSpecification(this); + } +}; + +UserSpecificationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUserSpecification(this); + } +}; + +UserSpecificationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUserSpecification(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UserSpecificationContext = UserSpecificationContext; + +SqlParser.prototype.userSpecification = function() { + + var localctx = new UserSpecificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 402, SqlParser.RULE_userSpecification); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4632; + this.userName(); + this.state = 4633; + this.userPasswordOption(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UserAuthOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_userAuthOption; + return this; +} + +UserAuthOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UserAuthOptionContext.prototype.constructor = UserAuthOptionContext; + + + +UserAuthOptionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SimpleAuthOptionContext(parser, ctx) { + UserAuthOptionContext.call(this, parser); + UserAuthOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SimpleAuthOptionContext.prototype = Object.create(UserAuthOptionContext.prototype); +SimpleAuthOptionContext.prototype.constructor = SimpleAuthOptionContext; + +SqlParser.SimpleAuthOptionContext = SimpleAuthOptionContext; + +SimpleAuthOptionContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; +SimpleAuthOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleAuthOption(this); + } +}; + +SimpleAuthOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleAuthOption(this); + } +}; + +SimpleAuthOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleAuthOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PasswordAuthOptionContext(parser, ctx) { + UserAuthOptionContext.call(this, parser); + this.hashed = null; // Token; + UserAuthOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PasswordAuthOptionContext.prototype = Object.create(UserAuthOptionContext.prototype); +PasswordAuthOptionContext.prototype.constructor = PasswordAuthOptionContext; + +SqlParser.PasswordAuthOptionContext = PasswordAuthOptionContext; + +PasswordAuthOptionContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; + +PasswordAuthOptionContext.prototype.IDENTIFIED = function() { + return this.getToken(SqlParser.IDENTIFIED, 0); +}; + +PasswordAuthOptionContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +PasswordAuthOptionContext.prototype.PASSWORD = function() { + return this.getToken(SqlParser.PASSWORD, 0); +}; + +PasswordAuthOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +PasswordAuthOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPasswordAuthOption(this); + } +}; + +PasswordAuthOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPasswordAuthOption(this); + } +}; + +PasswordAuthOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPasswordAuthOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function StringAuthOptionContext(parser, ctx) { + UserAuthOptionContext.call(this, parser); + UserAuthOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +StringAuthOptionContext.prototype = Object.create(UserAuthOptionContext.prototype); +StringAuthOptionContext.prototype.constructor = StringAuthOptionContext; + +SqlParser.StringAuthOptionContext = StringAuthOptionContext; + +StringAuthOptionContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; + +StringAuthOptionContext.prototype.IDENTIFIED = function() { + return this.getToken(SqlParser.IDENTIFIED, 0); +}; + +StringAuthOptionContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +StringAuthOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +StringAuthOptionContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +StringAuthOptionContext.prototype.authPlugin = function() { + return this.getTypedRuleContext(AuthPluginContext,0); +}; +StringAuthOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStringAuthOption(this); + } +}; + +StringAuthOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStringAuthOption(this); + } +}; + +StringAuthOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStringAuthOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function HashAuthOptionContext(parser, ctx) { + UserAuthOptionContext.call(this, parser); + UserAuthOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +HashAuthOptionContext.prototype = Object.create(UserAuthOptionContext.prototype); +HashAuthOptionContext.prototype.constructor = HashAuthOptionContext; + +SqlParser.HashAuthOptionContext = HashAuthOptionContext; + +HashAuthOptionContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; + +HashAuthOptionContext.prototype.IDENTIFIED = function() { + return this.getToken(SqlParser.IDENTIFIED, 0); +}; + +HashAuthOptionContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +HashAuthOptionContext.prototype.authPlugin = function() { + return this.getTypedRuleContext(AuthPluginContext,0); +}; + +HashAuthOptionContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +HashAuthOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +HashAuthOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHashAuthOption(this); + } +}; + +HashAuthOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHashAuthOption(this); + } +}; + +HashAuthOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHashAuthOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.UserAuthOptionContext = UserAuthOptionContext; + +SqlParser.prototype.userAuthOption = function() { + + var localctx = new UserAuthOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 404, SqlParser.RULE_userAuthOption); + var _la = 0; // Token type + try { + this.state = 4659; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,678,this._ctx); + switch(la_) { + case 1: + localctx = new PasswordAuthOptionContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4635; + this.userName(); + this.state = 4636; + this.match(SqlParser.IDENTIFIED); + this.state = 4637; + this.match(SqlParser.BY); + this.state = 4638; + this.match(SqlParser.PASSWORD); + this.state = 4639; + localctx.hashed = this.match(SqlParser.STRING_LITERAL); + break; + + case 2: + localctx = new StringAuthOptionContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4641; + this.userName(); + this.state = 4642; + this.match(SqlParser.IDENTIFIED); + this.state = 4645; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH) { + this.state = 4643; + this.match(SqlParser.WITH); + this.state = 4644; + this.authPlugin(); + } + + this.state = 4647; + this.match(SqlParser.BY); + this.state = 4648; + this.match(SqlParser.STRING_LITERAL); + break; + + case 3: + localctx = new HashAuthOptionContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 4650; + this.userName(); + this.state = 4651; + this.match(SqlParser.IDENTIFIED); + this.state = 4652; + this.match(SqlParser.WITH); + this.state = 4653; + this.authPlugin(); + this.state = 4656; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 4654; + this.match(SqlParser.AS); + this.state = 4655; + this.match(SqlParser.STRING_LITERAL); + } + + break; + + case 4: + localctx = new SimpleAuthOptionContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 4658; + this.userName(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TlsOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tlsOption; + return this; +} + +TlsOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TlsOptionContext.prototype.constructor = TlsOptionContext; + +TlsOptionContext.prototype.SSL = function() { + return this.getToken(SqlParser.SSL, 0); +}; + +TlsOptionContext.prototype.X509 = function() { + return this.getToken(SqlParser.X509, 0); +}; + +TlsOptionContext.prototype.CIPHER = function() { + return this.getToken(SqlParser.CIPHER, 0); +}; + +TlsOptionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +TlsOptionContext.prototype.ISSUER = function() { + return this.getToken(SqlParser.ISSUER, 0); +}; + +TlsOptionContext.prototype.SUBJECT = function() { + return this.getToken(SqlParser.SUBJECT, 0); +}; + +TlsOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTlsOption(this); + } +}; + +TlsOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTlsOption(this); + } +}; + +TlsOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTlsOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TlsOptionContext = TlsOptionContext; + +SqlParser.prototype.tlsOption = function() { + + var localctx = new TlsOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 406, SqlParser.RULE_tlsOption); + try { + this.state = 4669; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SSL: + this.enterOuterAlt(localctx, 1); + this.state = 4661; + this.match(SqlParser.SSL); + break; + case SqlParser.X509: + this.enterOuterAlt(localctx, 2); + this.state = 4662; + this.match(SqlParser.X509); + break; + case SqlParser.CIPHER: + this.enterOuterAlt(localctx, 3); + this.state = 4663; + this.match(SqlParser.CIPHER); + this.state = 4664; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.ISSUER: + this.enterOuterAlt(localctx, 4); + this.state = 4665; + this.match(SqlParser.ISSUER); + this.state = 4666; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.SUBJECT: + this.enterOuterAlt(localctx, 5); + this.state = 4667; + this.match(SqlParser.SUBJECT); + this.state = 4668; + this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UserResourceOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_userResourceOption; + return this; +} + +UserResourceOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UserResourceOptionContext.prototype.constructor = UserResourceOptionContext; + +UserResourceOptionContext.prototype.MAX_QUERIES_PER_HOUR = function() { + return this.getToken(SqlParser.MAX_QUERIES_PER_HOUR, 0); +}; + +UserResourceOptionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +UserResourceOptionContext.prototype.MAX_UPDATES_PER_HOUR = function() { + return this.getToken(SqlParser.MAX_UPDATES_PER_HOUR, 0); +}; + +UserResourceOptionContext.prototype.MAX_CONNECTIONS_PER_HOUR = function() { + return this.getToken(SqlParser.MAX_CONNECTIONS_PER_HOUR, 0); +}; + +UserResourceOptionContext.prototype.MAX_USER_CONNECTIONS = function() { + return this.getToken(SqlParser.MAX_USER_CONNECTIONS, 0); +}; + +UserResourceOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUserResourceOption(this); + } +}; + +UserResourceOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUserResourceOption(this); + } +}; + +UserResourceOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUserResourceOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UserResourceOptionContext = UserResourceOptionContext; + +SqlParser.prototype.userResourceOption = function() { + + var localctx = new UserResourceOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 408, SqlParser.RULE_userResourceOption); + try { + this.state = 4679; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.MAX_QUERIES_PER_HOUR: + this.enterOuterAlt(localctx, 1); + this.state = 4671; + this.match(SqlParser.MAX_QUERIES_PER_HOUR); + this.state = 4672; + this.decimalLiteral(); + break; + case SqlParser.MAX_UPDATES_PER_HOUR: + this.enterOuterAlt(localctx, 2); + this.state = 4673; + this.match(SqlParser.MAX_UPDATES_PER_HOUR); + this.state = 4674; + this.decimalLiteral(); + break; + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + this.enterOuterAlt(localctx, 3); + this.state = 4675; + this.match(SqlParser.MAX_CONNECTIONS_PER_HOUR); + this.state = 4676; + this.decimalLiteral(); + break; + case SqlParser.MAX_USER_CONNECTIONS: + this.enterOuterAlt(localctx, 4); + this.state = 4677; + this.match(SqlParser.MAX_USER_CONNECTIONS); + this.state = 4678; + this.decimalLiteral(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UserPasswordOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_userPasswordOption; + this.expireType = null; // Token + return this; +} + +UserPasswordOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UserPasswordOptionContext.prototype.constructor = UserPasswordOptionContext; + +UserPasswordOptionContext.prototype.PASSWORD = function() { + return this.getToken(SqlParser.PASSWORD, 0); +}; + +UserPasswordOptionContext.prototype.EXPIRE = function() { + return this.getToken(SqlParser.EXPIRE, 0); +}; + +UserPasswordOptionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +UserPasswordOptionContext.prototype.DAY = function() { + return this.getToken(SqlParser.DAY, 0); +}; + +UserPasswordOptionContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +UserPasswordOptionContext.prototype.NEVER = function() { + return this.getToken(SqlParser.NEVER, 0); +}; + +UserPasswordOptionContext.prototype.INTERVAL = function() { + return this.getToken(SqlParser.INTERVAL, 0); +}; + +UserPasswordOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUserPasswordOption(this); + } +}; + +UserPasswordOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUserPasswordOption(this); + } +}; + +UserPasswordOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUserPasswordOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UserPasswordOptionContext = UserPasswordOptionContext; + +SqlParser.prototype.userPasswordOption = function() { + + var localctx = new UserPasswordOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 410, SqlParser.RULE_userPasswordOption); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4681; + this.match(SqlParser.PASSWORD); + this.state = 4682; + this.match(SqlParser.EXPIRE); + this.state = 4689; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case SqlParser.DEFAULT: + this.state = 4683; + localctx.expireType = this.match(SqlParser.DEFAULT); + break; + case SqlParser.NEVER: + this.state = 4684; + localctx.expireType = this.match(SqlParser.NEVER); + break; + case SqlParser.INTERVAL: + this.state = 4685; + localctx.expireType = this.match(SqlParser.INTERVAL); + this.state = 4686; + this.decimalLiteral(); + this.state = 4687; + this.match(SqlParser.DAY); + break; + case SqlParser.EOF: + case SqlParser.ALTER: + case SqlParser.ANALYZE: + case SqlParser.CALL: + case SqlParser.CHANGE: + case SqlParser.CHECK: + case SqlParser.CREATE: + case SqlParser.DELETE: + case SqlParser.DESC: + case SqlParser.DESCRIBE: + case SqlParser.DROP: + case SqlParser.EXPLAIN: + case SqlParser.GET: + case SqlParser.GRANT: + case SqlParser.INSERT: + case SqlParser.KILL: + case SqlParser.LOAD: + case SqlParser.LOCK: + case SqlParser.OPTIMIZE: + case SqlParser.PURGE: + case SqlParser.RELEASE: + case SqlParser.RENAME: + case SqlParser.REPLACE: + case SqlParser.RESIGNAL: + case SqlParser.REVOKE: + case SqlParser.SELECT: + case SqlParser.SET: + case SqlParser.SHOW: + case SqlParser.SIGNAL: + case SqlParser.UNLOCK: + case SqlParser.UPDATE: + case SqlParser.USE: + case SqlParser.ACCOUNT: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.CACHE: + case SqlParser.CHECKSUM: + case SqlParser.COMMIT: + case SqlParser.DEALLOCATE: + case SqlParser.DO: + case SqlParser.FLUSH: + case SqlParser.HANDLER: + case SqlParser.HELP: + case SqlParser.INSTALL: + case SqlParser.PASSWORD: + case SqlParser.PREPARE: + case SqlParser.REPAIR: + case SqlParser.RESET: + case SqlParser.ROLLBACK: + case SqlParser.SAVEPOINT: + case SqlParser.START: + case SqlParser.STOP: + case SqlParser.TRUNCATE: + case SqlParser.UNINSTALL: + case SqlParser.XA: + case SqlParser.EXECUTE: + case SqlParser.SHUTDOWN: + case SqlParser.MINUSMINUS: + case SqlParser.LR_BRACKET: + case SqlParser.COMMA: + case SqlParser.SEMI: + break; + default: + break; + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UserLockOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_userLockOption; + this.lockType = null; // Token + return this; +} + +UserLockOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UserLockOptionContext.prototype.constructor = UserLockOptionContext; + +UserLockOptionContext.prototype.ACCOUNT = function() { + return this.getToken(SqlParser.ACCOUNT, 0); +}; + +UserLockOptionContext.prototype.LOCK = function() { + return this.getToken(SqlParser.LOCK, 0); +}; + +UserLockOptionContext.prototype.UNLOCK = function() { + return this.getToken(SqlParser.UNLOCK, 0); +}; + +UserLockOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUserLockOption(this); + } +}; + +UserLockOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUserLockOption(this); + } +}; + +UserLockOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUserLockOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UserLockOptionContext = UserLockOptionContext; + +SqlParser.prototype.userLockOption = function() { + + var localctx = new UserLockOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 412, SqlParser.RULE_userLockOption); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4691; + this.match(SqlParser.ACCOUNT); + this.state = 4692; + localctx.lockType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.LOCK || _la===SqlParser.UNLOCK)) { + localctx.lockType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PrivelegeClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_privelegeClause; + return this; +} + +PrivelegeClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PrivelegeClauseContext.prototype.constructor = PrivelegeClauseContext; + +PrivelegeClauseContext.prototype.privilege = function() { + return this.getTypedRuleContext(PrivilegeContext,0); +}; + +PrivelegeClauseContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PrivelegeClauseContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +PrivelegeClauseContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PrivelegeClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPrivelegeClause(this); + } +}; + +PrivelegeClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPrivelegeClause(this); + } +}; + +PrivelegeClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPrivelegeClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PrivelegeClauseContext = PrivelegeClauseContext; + +SqlParser.prototype.privelegeClause = function() { + + var localctx = new PrivelegeClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 414, SqlParser.RULE_privelegeClause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4694; + this.privilege(); + this.state = 4699; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LR_BRACKET) { + this.state = 4695; + this.match(SqlParser.LR_BRACKET); + this.state = 4696; + this.uidList(); + this.state = 4697; + this.match(SqlParser.RR_BRACKET); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PrivilegeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_privilege; + return this; +} + +PrivilegeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PrivilegeContext.prototype.constructor = PrivilegeContext; + +PrivilegeContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +PrivilegeContext.prototype.PRIVILEGES = function() { + return this.getToken(SqlParser.PRIVILEGES, 0); +}; + +PrivilegeContext.prototype.ALTER = function() { + return this.getToken(SqlParser.ALTER, 0); +}; + +PrivilegeContext.prototype.ROUTINE = function() { + return this.getToken(SqlParser.ROUTINE, 0); +}; + +PrivilegeContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +PrivilegeContext.prototype.TEMPORARY = function() { + return this.getToken(SqlParser.TEMPORARY, 0); +}; + +PrivilegeContext.prototype.TABLES = function() { + return this.getToken(SqlParser.TABLES, 0); +}; + +PrivilegeContext.prototype.VIEW = function() { + return this.getToken(SqlParser.VIEW, 0); +}; + +PrivilegeContext.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +PrivilegeContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +PrivilegeContext.prototype.ROLE = function() { + return this.getToken(SqlParser.ROLE, 0); +}; + +PrivilegeContext.prototype.DELETE = function() { + return this.getToken(SqlParser.DELETE, 0); +}; + +PrivilegeContext.prototype.DROP = function() { + return this.getToken(SqlParser.DROP, 0); +}; + +PrivilegeContext.prototype.EVENT = function() { + return this.getToken(SqlParser.EVENT, 0); +}; + +PrivilegeContext.prototype.EXECUTE = function() { + return this.getToken(SqlParser.EXECUTE, 0); +}; + +PrivilegeContext.prototype.FILE = function() { + return this.getToken(SqlParser.FILE, 0); +}; + +PrivilegeContext.prototype.GRANT = function() { + return this.getToken(SqlParser.GRANT, 0); +}; + +PrivilegeContext.prototype.OPTION = function() { + return this.getToken(SqlParser.OPTION, 0); +}; + +PrivilegeContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +PrivilegeContext.prototype.INSERT = function() { + return this.getToken(SqlParser.INSERT, 0); +}; + +PrivilegeContext.prototype.LOCK = function() { + return this.getToken(SqlParser.LOCK, 0); +}; + +PrivilegeContext.prototype.PROCESS = function() { + return this.getToken(SqlParser.PROCESS, 0); +}; + +PrivilegeContext.prototype.PROXY = function() { + return this.getToken(SqlParser.PROXY, 0); +}; + +PrivilegeContext.prototype.REFERENCES = function() { + return this.getToken(SqlParser.REFERENCES, 0); +}; + +PrivilegeContext.prototype.RELOAD = function() { + return this.getToken(SqlParser.RELOAD, 0); +}; + +PrivilegeContext.prototype.REPLICATION = function() { + return this.getToken(SqlParser.REPLICATION, 0); +}; + +PrivilegeContext.prototype.CLIENT = function() { + return this.getToken(SqlParser.CLIENT, 0); +}; + +PrivilegeContext.prototype.SLAVE = function() { + return this.getToken(SqlParser.SLAVE, 0); +}; + +PrivilegeContext.prototype.SELECT = function() { + return this.getToken(SqlParser.SELECT, 0); +}; + +PrivilegeContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +PrivilegeContext.prototype.DATABASES = function() { + return this.getToken(SqlParser.DATABASES, 0); +}; + +PrivilegeContext.prototype.SHUTDOWN = function() { + return this.getToken(SqlParser.SHUTDOWN, 0); +}; + +PrivilegeContext.prototype.SUPER = function() { + return this.getToken(SqlParser.SUPER, 0); +}; + +PrivilegeContext.prototype.TRIGGER = function() { + return this.getToken(SqlParser.TRIGGER, 0); +}; + +PrivilegeContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +PrivilegeContext.prototype.USAGE = function() { + return this.getToken(SqlParser.USAGE, 0); +}; + +PrivilegeContext.prototype.AUDIT_ADMIN = function() { + return this.getToken(SqlParser.AUDIT_ADMIN, 0); +}; + +PrivilegeContext.prototype.BACKUP_ADMIN = function() { + return this.getToken(SqlParser.BACKUP_ADMIN, 0); +}; + +PrivilegeContext.prototype.BINLOG_ADMIN = function() { + return this.getToken(SqlParser.BINLOG_ADMIN, 0); +}; + +PrivilegeContext.prototype.BINLOG_ENCRYPTION_ADMIN = function() { + return this.getToken(SqlParser.BINLOG_ENCRYPTION_ADMIN, 0); +}; + +PrivilegeContext.prototype.CLONE_ADMIN = function() { + return this.getToken(SqlParser.CLONE_ADMIN, 0); +}; + +PrivilegeContext.prototype.CONNECTION_ADMIN = function() { + return this.getToken(SqlParser.CONNECTION_ADMIN, 0); +}; + +PrivilegeContext.prototype.ENCRYPTION_KEY_ADMIN = function() { + return this.getToken(SqlParser.ENCRYPTION_KEY_ADMIN, 0); +}; + +PrivilegeContext.prototype.FIREWALL_ADMIN = function() { + return this.getToken(SqlParser.FIREWALL_ADMIN, 0); +}; + +PrivilegeContext.prototype.FIREWALL_USER = function() { + return this.getToken(SqlParser.FIREWALL_USER, 0); +}; + +PrivilegeContext.prototype.GROUP_REPLICATION_ADMIN = function() { + return this.getToken(SqlParser.GROUP_REPLICATION_ADMIN, 0); +}; + +PrivilegeContext.prototype.INNODB_REDO_LOG_ARCHIVE = function() { + return this.getToken(SqlParser.INNODB_REDO_LOG_ARCHIVE, 0); +}; + +PrivilegeContext.prototype.NDB_STORED_USER = function() { + return this.getToken(SqlParser.NDB_STORED_USER, 0); +}; + +PrivilegeContext.prototype.PERSIST_RO_VARIABLES_ADMIN = function() { + return this.getToken(SqlParser.PERSIST_RO_VARIABLES_ADMIN, 0); +}; + +PrivilegeContext.prototype.REPLICATION_APPLIER = function() { + return this.getToken(SqlParser.REPLICATION_APPLIER, 0); +}; + +PrivilegeContext.prototype.REPLICATION_SLAVE_ADMIN = function() { + return this.getToken(SqlParser.REPLICATION_SLAVE_ADMIN, 0); +}; + +PrivilegeContext.prototype.RESOURCE_GROUP_ADMIN = function() { + return this.getToken(SqlParser.RESOURCE_GROUP_ADMIN, 0); +}; + +PrivilegeContext.prototype.RESOURCE_GROUP_USER = function() { + return this.getToken(SqlParser.RESOURCE_GROUP_USER, 0); +}; + +PrivilegeContext.prototype.ROLE_ADMIN = function() { + return this.getToken(SqlParser.ROLE_ADMIN, 0); +}; + +PrivilegeContext.prototype.SESSION_VARIABLES_ADMIN = function() { + return this.getToken(SqlParser.SESSION_VARIABLES_ADMIN, 0); +}; + +PrivilegeContext.prototype.SET_USER_ID = function() { + return this.getToken(SqlParser.SET_USER_ID, 0); +}; + +PrivilegeContext.prototype.SHOW_ROUTINE = function() { + return this.getToken(SqlParser.SHOW_ROUTINE, 0); +}; + +PrivilegeContext.prototype.SYSTEM_VARIABLES_ADMIN = function() { + return this.getToken(SqlParser.SYSTEM_VARIABLES_ADMIN, 0); +}; + +PrivilegeContext.prototype.TABLE_ENCRYPTION_ADMIN = function() { + return this.getToken(SqlParser.TABLE_ENCRYPTION_ADMIN, 0); +}; + +PrivilegeContext.prototype.VERSION_TOKEN_ADMIN = function() { + return this.getToken(SqlParser.VERSION_TOKEN_ADMIN, 0); +}; + +PrivilegeContext.prototype.XA_RECOVER_ADMIN = function() { + return this.getToken(SqlParser.XA_RECOVER_ADMIN, 0); +}; + +PrivilegeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPrivilege(this); + } +}; + +PrivilegeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPrivilege(this); + } +}; + +PrivilegeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPrivilege(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PrivilegeContext = PrivilegeContext; + +SqlParser.prototype.privilege = function() { + + var localctx = new PrivilegeContext(this, this._ctx, this.state); + this.enterRule(localctx, 416, SqlParser.RULE_privilege); + var _la = 0; // Token type + try { + this.state = 4772; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ALL: + this.enterOuterAlt(localctx, 1); + this.state = 4701; + this.match(SqlParser.ALL); + this.state = 4703; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PRIVILEGES) { + this.state = 4702; + this.match(SqlParser.PRIVILEGES); + } + + break; + case SqlParser.ALTER: + this.enterOuterAlt(localctx, 2); + this.state = 4705; + this.match(SqlParser.ALTER); + this.state = 4707; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ROUTINE) { + this.state = 4706; + this.match(SqlParser.ROUTINE); + } + + break; + case SqlParser.CREATE: + this.enterOuterAlt(localctx, 3); + this.state = 4709; + this.match(SqlParser.CREATE); + this.state = 4717; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case SqlParser.TEMPORARY: + this.state = 4710; + this.match(SqlParser.TEMPORARY); + this.state = 4711; + this.match(SqlParser.TABLES); + break; + case SqlParser.ROUTINE: + this.state = 4712; + this.match(SqlParser.ROUTINE); + break; + case SqlParser.VIEW: + this.state = 4713; + this.match(SqlParser.VIEW); + break; + case SqlParser.USER: + this.state = 4714; + this.match(SqlParser.USER); + break; + case SqlParser.TABLESPACE: + this.state = 4715; + this.match(SqlParser.TABLESPACE); + break; + case SqlParser.ROLE: + this.state = 4716; + this.match(SqlParser.ROLE); + break; + case SqlParser.ON: + case SqlParser.LR_BRACKET: + case SqlParser.COMMA: + break; + default: + break; + } + break; + case SqlParser.DELETE: + this.enterOuterAlt(localctx, 4); + this.state = 4719; + this.match(SqlParser.DELETE); + break; + case SqlParser.DROP: + this.enterOuterAlt(localctx, 5); + this.state = 4720; + this.match(SqlParser.DROP); + this.state = 4722; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ROLE) { + this.state = 4721; + this.match(SqlParser.ROLE); + } + + break; + case SqlParser.EVENT: + this.enterOuterAlt(localctx, 6); + this.state = 4724; + this.match(SqlParser.EVENT); + break; + case SqlParser.EXECUTE: + this.enterOuterAlt(localctx, 7); + this.state = 4725; + this.match(SqlParser.EXECUTE); + break; + case SqlParser.FILE: + this.enterOuterAlt(localctx, 8); + this.state = 4726; + this.match(SqlParser.FILE); + break; + case SqlParser.GRANT: + this.enterOuterAlt(localctx, 9); + this.state = 4727; + this.match(SqlParser.GRANT); + this.state = 4728; + this.match(SqlParser.OPTION); + break; + case SqlParser.INDEX: + this.enterOuterAlt(localctx, 10); + this.state = 4729; + this.match(SqlParser.INDEX); + break; + case SqlParser.INSERT: + this.enterOuterAlt(localctx, 11); + this.state = 4730; + this.match(SqlParser.INSERT); + break; + case SqlParser.LOCK: + this.enterOuterAlt(localctx, 12); + this.state = 4731; + this.match(SqlParser.LOCK); + this.state = 4732; + this.match(SqlParser.TABLES); + break; + case SqlParser.PROCESS: + this.enterOuterAlt(localctx, 13); + this.state = 4733; + this.match(SqlParser.PROCESS); + break; + case SqlParser.PROXY: + this.enterOuterAlt(localctx, 14); + this.state = 4734; + this.match(SqlParser.PROXY); + break; + case SqlParser.REFERENCES: + this.enterOuterAlt(localctx, 15); + this.state = 4735; + this.match(SqlParser.REFERENCES); + break; + case SqlParser.RELOAD: + this.enterOuterAlt(localctx, 16); + this.state = 4736; + this.match(SqlParser.RELOAD); + break; + case SqlParser.REPLICATION: + this.enterOuterAlt(localctx, 17); + this.state = 4737; + this.match(SqlParser.REPLICATION); + this.state = 4738; + _la = this._input.LA(1); + if(!(_la===SqlParser.CLIENT || _la===SqlParser.SLAVE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.SELECT: + this.enterOuterAlt(localctx, 18); + this.state = 4739; + this.match(SqlParser.SELECT); + break; + case SqlParser.SHOW: + this.enterOuterAlt(localctx, 19); + this.state = 4740; + this.match(SqlParser.SHOW); + this.state = 4741; + _la = this._input.LA(1); + if(!(_la===SqlParser.DATABASES || _la===SqlParser.VIEW)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.SHUTDOWN: + this.enterOuterAlt(localctx, 20); + this.state = 4742; + this.match(SqlParser.SHUTDOWN); + break; + case SqlParser.SUPER: + this.enterOuterAlt(localctx, 21); + this.state = 4743; + this.match(SqlParser.SUPER); + break; + case SqlParser.TRIGGER: + this.enterOuterAlt(localctx, 22); + this.state = 4744; + this.match(SqlParser.TRIGGER); + break; + case SqlParser.UPDATE: + this.enterOuterAlt(localctx, 23); + this.state = 4745; + this.match(SqlParser.UPDATE); + break; + case SqlParser.USAGE: + this.enterOuterAlt(localctx, 24); + this.state = 4746; + this.match(SqlParser.USAGE); + break; + case SqlParser.AUDIT_ADMIN: + this.enterOuterAlt(localctx, 25); + this.state = 4747; + this.match(SqlParser.AUDIT_ADMIN); + break; + case SqlParser.BACKUP_ADMIN: + this.enterOuterAlt(localctx, 26); + this.state = 4748; + this.match(SqlParser.BACKUP_ADMIN); + break; + case SqlParser.BINLOG_ADMIN: + this.enterOuterAlt(localctx, 27); + this.state = 4749; + this.match(SqlParser.BINLOG_ADMIN); + break; + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + this.enterOuterAlt(localctx, 28); + this.state = 4750; + this.match(SqlParser.BINLOG_ENCRYPTION_ADMIN); + break; + case SqlParser.CLONE_ADMIN: + this.enterOuterAlt(localctx, 29); + this.state = 4751; + this.match(SqlParser.CLONE_ADMIN); + break; + case SqlParser.CONNECTION_ADMIN: + this.enterOuterAlt(localctx, 30); + this.state = 4752; + this.match(SqlParser.CONNECTION_ADMIN); + break; + case SqlParser.ENCRYPTION_KEY_ADMIN: + this.enterOuterAlt(localctx, 31); + this.state = 4753; + this.match(SqlParser.ENCRYPTION_KEY_ADMIN); + break; + case SqlParser.FIREWALL_ADMIN: + this.enterOuterAlt(localctx, 32); + this.state = 4754; + this.match(SqlParser.FIREWALL_ADMIN); + break; + case SqlParser.FIREWALL_USER: + this.enterOuterAlt(localctx, 33); + this.state = 4755; + this.match(SqlParser.FIREWALL_USER); + break; + case SqlParser.GROUP_REPLICATION_ADMIN: + this.enterOuterAlt(localctx, 34); + this.state = 4756; + this.match(SqlParser.GROUP_REPLICATION_ADMIN); + break; + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + this.enterOuterAlt(localctx, 35); + this.state = 4757; + this.match(SqlParser.INNODB_REDO_LOG_ARCHIVE); + break; + case SqlParser.NDB_STORED_USER: + this.enterOuterAlt(localctx, 36); + this.state = 4758; + this.match(SqlParser.NDB_STORED_USER); + break; + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + this.enterOuterAlt(localctx, 37); + this.state = 4759; + this.match(SqlParser.PERSIST_RO_VARIABLES_ADMIN); + break; + case SqlParser.REPLICATION_APPLIER: + this.enterOuterAlt(localctx, 38); + this.state = 4760; + this.match(SqlParser.REPLICATION_APPLIER); + break; + case SqlParser.REPLICATION_SLAVE_ADMIN: + this.enterOuterAlt(localctx, 39); + this.state = 4761; + this.match(SqlParser.REPLICATION_SLAVE_ADMIN); + break; + case SqlParser.RESOURCE_GROUP_ADMIN: + this.enterOuterAlt(localctx, 40); + this.state = 4762; + this.match(SqlParser.RESOURCE_GROUP_ADMIN); + break; + case SqlParser.RESOURCE_GROUP_USER: + this.enterOuterAlt(localctx, 41); + this.state = 4763; + this.match(SqlParser.RESOURCE_GROUP_USER); + break; + case SqlParser.ROLE_ADMIN: + this.enterOuterAlt(localctx, 42); + this.state = 4764; + this.match(SqlParser.ROLE_ADMIN); + break; + case SqlParser.SESSION_VARIABLES_ADMIN: + this.enterOuterAlt(localctx, 43); + this.state = 4765; + this.match(SqlParser.SESSION_VARIABLES_ADMIN); + break; + case SqlParser.SET_USER_ID: + this.enterOuterAlt(localctx, 44); + this.state = 4766; + this.match(SqlParser.SET_USER_ID); + break; + case SqlParser.SHOW_ROUTINE: + this.enterOuterAlt(localctx, 45); + this.state = 4767; + this.match(SqlParser.SHOW_ROUTINE); + break; + case SqlParser.SYSTEM_VARIABLES_ADMIN: + this.enterOuterAlt(localctx, 46); + this.state = 4768; + this.match(SqlParser.SYSTEM_VARIABLES_ADMIN); + break; + case SqlParser.TABLE_ENCRYPTION_ADMIN: + this.enterOuterAlt(localctx, 47); + this.state = 4769; + this.match(SqlParser.TABLE_ENCRYPTION_ADMIN); + break; + case SqlParser.VERSION_TOKEN_ADMIN: + this.enterOuterAlt(localctx, 48); + this.state = 4770; + this.match(SqlParser.VERSION_TOKEN_ADMIN); + break; + case SqlParser.XA_RECOVER_ADMIN: + this.enterOuterAlt(localctx, 49); + this.state = 4771; + this.match(SqlParser.XA_RECOVER_ADMIN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PrivilegeLevelContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_privilegeLevel; + return this; +} + +PrivilegeLevelContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PrivilegeLevelContext.prototype.constructor = PrivilegeLevelContext; + + + +PrivilegeLevelContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function DefiniteSchemaPrivLevelContext(parser, ctx) { + PrivilegeLevelContext.call(this, parser); + PrivilegeLevelContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DefiniteSchemaPrivLevelContext.prototype = Object.create(PrivilegeLevelContext.prototype); +DefiniteSchemaPrivLevelContext.prototype.constructor = DefiniteSchemaPrivLevelContext; + +SqlParser.DefiniteSchemaPrivLevelContext = DefiniteSchemaPrivLevelContext; + +DefiniteSchemaPrivLevelContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DefiniteSchemaPrivLevelContext.prototype.DOT = function() { + return this.getToken(SqlParser.DOT, 0); +}; + +DefiniteSchemaPrivLevelContext.prototype.STAR = function() { + return this.getToken(SqlParser.STAR, 0); +}; +DefiniteSchemaPrivLevelContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDefiniteSchemaPrivLevel(this); + } +}; + +DefiniteSchemaPrivLevelContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDefiniteSchemaPrivLevel(this); + } +}; + +DefiniteSchemaPrivLevelContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDefiniteSchemaPrivLevel(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DefiniteFullTablePrivLevel2Context(parser, ctx) { + PrivilegeLevelContext.call(this, parser); + PrivilegeLevelContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DefiniteFullTablePrivLevel2Context.prototype = Object.create(PrivilegeLevelContext.prototype); +DefiniteFullTablePrivLevel2Context.prototype.constructor = DefiniteFullTablePrivLevel2Context; + +SqlParser.DefiniteFullTablePrivLevel2Context = DefiniteFullTablePrivLevel2Context; + +DefiniteFullTablePrivLevel2Context.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DefiniteFullTablePrivLevel2Context.prototype.dottedId = function() { + return this.getTypedRuleContext(DottedIdContext,0); +}; +DefiniteFullTablePrivLevel2Context.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDefiniteFullTablePrivLevel2(this); + } +}; + +DefiniteFullTablePrivLevel2Context.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDefiniteFullTablePrivLevel2(this); + } +}; + +DefiniteFullTablePrivLevel2Context.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDefiniteFullTablePrivLevel2(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DefiniteFullTablePrivLevelContext(parser, ctx) { + PrivilegeLevelContext.call(this, parser); + PrivilegeLevelContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DefiniteFullTablePrivLevelContext.prototype = Object.create(PrivilegeLevelContext.prototype); +DefiniteFullTablePrivLevelContext.prototype.constructor = DefiniteFullTablePrivLevelContext; + +SqlParser.DefiniteFullTablePrivLevelContext = DefiniteFullTablePrivLevelContext; + +DefiniteFullTablePrivLevelContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +DefiniteFullTablePrivLevelContext.prototype.DOT = function() { + return this.getToken(SqlParser.DOT, 0); +}; +DefiniteFullTablePrivLevelContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDefiniteFullTablePrivLevel(this); + } +}; + +DefiniteFullTablePrivLevelContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDefiniteFullTablePrivLevel(this); + } +}; + +DefiniteFullTablePrivLevelContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDefiniteFullTablePrivLevel(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function GlobalPrivLevelContext(parser, ctx) { + PrivilegeLevelContext.call(this, parser); + PrivilegeLevelContext.prototype.copyFrom.call(this, ctx); + return this; +} + +GlobalPrivLevelContext.prototype = Object.create(PrivilegeLevelContext.prototype); +GlobalPrivLevelContext.prototype.constructor = GlobalPrivLevelContext; + +SqlParser.GlobalPrivLevelContext = GlobalPrivLevelContext; + +GlobalPrivLevelContext.prototype.STAR = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.STAR); + } else { + return this.getToken(SqlParser.STAR, i); + } +}; + + +GlobalPrivLevelContext.prototype.DOT = function() { + return this.getToken(SqlParser.DOT, 0); +}; +GlobalPrivLevelContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterGlobalPrivLevel(this); + } +}; + +GlobalPrivLevelContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitGlobalPrivLevel(this); + } +}; + +GlobalPrivLevelContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitGlobalPrivLevel(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DefiniteTablePrivLevelContext(parser, ctx) { + PrivilegeLevelContext.call(this, parser); + PrivilegeLevelContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DefiniteTablePrivLevelContext.prototype = Object.create(PrivilegeLevelContext.prototype); +DefiniteTablePrivLevelContext.prototype.constructor = DefiniteTablePrivLevelContext; + +SqlParser.DefiniteTablePrivLevelContext = DefiniteTablePrivLevelContext; + +DefiniteTablePrivLevelContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +DefiniteTablePrivLevelContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDefiniteTablePrivLevel(this); + } +}; + +DefiniteTablePrivLevelContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDefiniteTablePrivLevel(this); + } +}; + +DefiniteTablePrivLevelContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDefiniteTablePrivLevel(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CurrentSchemaPriviLevelContext(parser, ctx) { + PrivilegeLevelContext.call(this, parser); + PrivilegeLevelContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CurrentSchemaPriviLevelContext.prototype = Object.create(PrivilegeLevelContext.prototype); +CurrentSchemaPriviLevelContext.prototype.constructor = CurrentSchemaPriviLevelContext; + +SqlParser.CurrentSchemaPriviLevelContext = CurrentSchemaPriviLevelContext; + +CurrentSchemaPriviLevelContext.prototype.STAR = function() { + return this.getToken(SqlParser.STAR, 0); +}; +CurrentSchemaPriviLevelContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCurrentSchemaPriviLevel(this); + } +}; + +CurrentSchemaPriviLevelContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCurrentSchemaPriviLevel(this); + } +}; + +CurrentSchemaPriviLevelContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCurrentSchemaPriviLevel(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.PrivilegeLevelContext = PrivilegeLevelContext; + +SqlParser.prototype.privilegeLevel = function() { + + var localctx = new PrivilegeLevelContext(this, this._ctx, this.state); + this.enterRule(localctx, 418, SqlParser.RULE_privilegeLevel); + try { + this.state = 4790; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,688,this._ctx); + switch(la_) { + case 1: + localctx = new CurrentSchemaPriviLevelContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4774; + this.match(SqlParser.STAR); + break; + + case 2: + localctx = new GlobalPrivLevelContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4775; + this.match(SqlParser.STAR); + this.state = 4776; + this.match(SqlParser.DOT); + this.state = 4777; + this.match(SqlParser.STAR); + break; + + case 3: + localctx = new DefiniteSchemaPrivLevelContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 4778; + this.uid(); + this.state = 4779; + this.match(SqlParser.DOT); + this.state = 4780; + this.match(SqlParser.STAR); + break; + + case 4: + localctx = new DefiniteFullTablePrivLevelContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 4782; + this.uid(); + this.state = 4783; + this.match(SqlParser.DOT); + this.state = 4784; + this.uid(); + break; + + case 5: + localctx = new DefiniteFullTablePrivLevel2Context(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 4786; + this.uid(); + this.state = 4787; + this.dottedId(); + break; + + case 6: + localctx = new DefiniteTablePrivLevelContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 4789; + this.uid(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RenameUserClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_renameUserClause; + this.fromFirst = null; // UserNameContext + this.toFirst = null; // UserNameContext + return this; +} + +RenameUserClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RenameUserClauseContext.prototype.constructor = RenameUserClauseContext; + +RenameUserClauseContext.prototype.TO = function() { + return this.getToken(SqlParser.TO, 0); +}; + +RenameUserClauseContext.prototype.userName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UserNameContext); + } else { + return this.getTypedRuleContext(UserNameContext,i); + } +}; + +RenameUserClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRenameUserClause(this); + } +}; + +RenameUserClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRenameUserClause(this); + } +}; + +RenameUserClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRenameUserClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RenameUserClauseContext = RenameUserClauseContext; + +SqlParser.prototype.renameUserClause = function() { + + var localctx = new RenameUserClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 420, SqlParser.RULE_renameUserClause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4792; + localctx.fromFirst = this.userName(); + this.state = 4793; + this.match(SqlParser.TO); + this.state = 4794; + localctx.toFirst = this.userName(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AnalyzeTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_analyzeTable; + this.actionOption = null; // Token + return this; +} + +AnalyzeTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AnalyzeTableContext.prototype.constructor = AnalyzeTableContext; + +AnalyzeTableContext.prototype.ANALYZE = function() { + return this.getToken(SqlParser.ANALYZE, 0); +}; + +AnalyzeTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +AnalyzeTableContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +AnalyzeTableContext.prototype.NO_WRITE_TO_BINLOG = function() { + return this.getToken(SqlParser.NO_WRITE_TO_BINLOG, 0); +}; + +AnalyzeTableContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +AnalyzeTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAnalyzeTable(this); + } +}; + +AnalyzeTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAnalyzeTable(this); + } +}; + +AnalyzeTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAnalyzeTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AnalyzeTableContext = AnalyzeTableContext; + +SqlParser.prototype.analyzeTable = function() { + + var localctx = new AnalyzeTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 422, SqlParser.RULE_analyzeTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4796; + this.match(SqlParser.ANALYZE); + this.state = 4798; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NO_WRITE_TO_BINLOG || _la===SqlParser.LOCAL) { + this.state = 4797; + localctx.actionOption = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.NO_WRITE_TO_BINLOG || _la===SqlParser.LOCAL)) { + localctx.actionOption = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 4800; + this.match(SqlParser.TABLE); + this.state = 4801; + this.tables(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CheckTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_checkTable; + return this; +} + +CheckTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CheckTableContext.prototype.constructor = CheckTableContext; + +CheckTableContext.prototype.CHECK = function() { + return this.getToken(SqlParser.CHECK, 0); +}; + +CheckTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +CheckTableContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +CheckTableContext.prototype.checkTableOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(CheckTableOptionContext); + } else { + return this.getTypedRuleContext(CheckTableOptionContext,i); + } +}; + +CheckTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCheckTable(this); + } +}; + +CheckTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCheckTable(this); + } +}; + +CheckTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCheckTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CheckTableContext = CheckTableContext; + +SqlParser.prototype.checkTable = function() { + + var localctx = new CheckTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 424, SqlParser.RULE_checkTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4803; + this.match(SqlParser.CHECK); + this.state = 4804; + this.match(SqlParser.TABLE); + this.state = 4805; + this.tables(); + this.state = 4809; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.FOR || _la===SqlParser.CHANGED || _la===SqlParser.EXTENDED || _la===SqlParser.FAST || _la===SqlParser.MEDIUM || _la===SqlParser.QUICK) { + this.state = 4806; + this.checkTableOption(); + this.state = 4811; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ChecksumTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_checksumTable; + this.actionOption = null; // Token + return this; +} + +ChecksumTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ChecksumTableContext.prototype.constructor = ChecksumTableContext; + +ChecksumTableContext.prototype.CHECKSUM = function() { + return this.getToken(SqlParser.CHECKSUM, 0); +}; + +ChecksumTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +ChecksumTableContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +ChecksumTableContext.prototype.QUICK = function() { + return this.getToken(SqlParser.QUICK, 0); +}; + +ChecksumTableContext.prototype.EXTENDED = function() { + return this.getToken(SqlParser.EXTENDED, 0); +}; + +ChecksumTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterChecksumTable(this); + } +}; + +ChecksumTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitChecksumTable(this); + } +}; + +ChecksumTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitChecksumTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ChecksumTableContext = ChecksumTableContext; + +SqlParser.prototype.checksumTable = function() { + + var localctx = new ChecksumTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 426, SqlParser.RULE_checksumTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4812; + this.match(SqlParser.CHECKSUM); + this.state = 4813; + this.match(SqlParser.TABLE); + this.state = 4814; + this.tables(); + this.state = 4816; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EXTENDED || _la===SqlParser.QUICK) { + this.state = 4815; + localctx.actionOption = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.EXTENDED || _la===SqlParser.QUICK)) { + localctx.actionOption = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function OptimizeTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_optimizeTable; + this.actionOption = null; // Token + return this; +} + +OptimizeTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +OptimizeTableContext.prototype.constructor = OptimizeTableContext; + +OptimizeTableContext.prototype.OPTIMIZE = function() { + return this.getToken(SqlParser.OPTIMIZE, 0); +}; + +OptimizeTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +OptimizeTableContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +OptimizeTableContext.prototype.NO_WRITE_TO_BINLOG = function() { + return this.getToken(SqlParser.NO_WRITE_TO_BINLOG, 0); +}; + +OptimizeTableContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +OptimizeTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterOptimizeTable(this); + } +}; + +OptimizeTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitOptimizeTable(this); + } +}; + +OptimizeTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitOptimizeTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.OptimizeTableContext = OptimizeTableContext; + +SqlParser.prototype.optimizeTable = function() { + + var localctx = new OptimizeTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 428, SqlParser.RULE_optimizeTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4818; + this.match(SqlParser.OPTIMIZE); + this.state = 4820; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NO_WRITE_TO_BINLOG || _la===SqlParser.LOCAL) { + this.state = 4819; + localctx.actionOption = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.NO_WRITE_TO_BINLOG || _la===SqlParser.LOCAL)) { + localctx.actionOption = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 4822; + this.match(SqlParser.TABLE); + this.state = 4823; + this.tables(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function RepairTableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_repairTable; + this.actionOption = null; // Token + return this; +} + +RepairTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +RepairTableContext.prototype.constructor = RepairTableContext; + +RepairTableContext.prototype.REPAIR = function() { + return this.getToken(SqlParser.REPAIR, 0); +}; + +RepairTableContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +RepairTableContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +RepairTableContext.prototype.QUICK = function() { + return this.getToken(SqlParser.QUICK, 0); +}; + +RepairTableContext.prototype.EXTENDED = function() { + return this.getToken(SqlParser.EXTENDED, 0); +}; + +RepairTableContext.prototype.USE_FRM = function() { + return this.getToken(SqlParser.USE_FRM, 0); +}; + +RepairTableContext.prototype.NO_WRITE_TO_BINLOG = function() { + return this.getToken(SqlParser.NO_WRITE_TO_BINLOG, 0); +}; + +RepairTableContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +RepairTableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRepairTable(this); + } +}; + +RepairTableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRepairTable(this); + } +}; + +RepairTableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRepairTable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.RepairTableContext = RepairTableContext; + +SqlParser.prototype.repairTable = function() { + + var localctx = new RepairTableContext(this, this._ctx, this.state); + this.enterRule(localctx, 430, SqlParser.RULE_repairTable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4825; + this.match(SqlParser.REPAIR); + this.state = 4827; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NO_WRITE_TO_BINLOG || _la===SqlParser.LOCAL) { + this.state = 4826; + localctx.actionOption = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.NO_WRITE_TO_BINLOG || _la===SqlParser.LOCAL)) { + localctx.actionOption = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 4829; + this.match(SqlParser.TABLE); + this.state = 4830; + this.tables(); + this.state = 4832; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.QUICK) { + this.state = 4831; + this.match(SqlParser.QUICK); + } + + this.state = 4835; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EXTENDED) { + this.state = 4834; + this.match(SqlParser.EXTENDED); + } + + this.state = 4838; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USE_FRM) { + this.state = 4837; + this.match(SqlParser.USE_FRM); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CheckTableOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_checkTableOption; + return this; +} + +CheckTableOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CheckTableOptionContext.prototype.constructor = CheckTableOptionContext; + +CheckTableOptionContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +CheckTableOptionContext.prototype.UPGRADE = function() { + return this.getToken(SqlParser.UPGRADE, 0); +}; + +CheckTableOptionContext.prototype.QUICK = function() { + return this.getToken(SqlParser.QUICK, 0); +}; + +CheckTableOptionContext.prototype.FAST = function() { + return this.getToken(SqlParser.FAST, 0); +}; + +CheckTableOptionContext.prototype.MEDIUM = function() { + return this.getToken(SqlParser.MEDIUM, 0); +}; + +CheckTableOptionContext.prototype.EXTENDED = function() { + return this.getToken(SqlParser.EXTENDED, 0); +}; + +CheckTableOptionContext.prototype.CHANGED = function() { + return this.getToken(SqlParser.CHANGED, 0); +}; + +CheckTableOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCheckTableOption(this); + } +}; + +CheckTableOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCheckTableOption(this); + } +}; + +CheckTableOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCheckTableOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CheckTableOptionContext = CheckTableOptionContext; + +SqlParser.prototype.checkTableOption = function() { + + var localctx = new CheckTableOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 432, SqlParser.RULE_checkTableOption); + try { + this.state = 4847; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.FOR: + this.enterOuterAlt(localctx, 1); + this.state = 4840; + this.match(SqlParser.FOR); + this.state = 4841; + this.match(SqlParser.UPGRADE); + break; + case SqlParser.QUICK: + this.enterOuterAlt(localctx, 2); + this.state = 4842; + this.match(SqlParser.QUICK); + break; + case SqlParser.FAST: + this.enterOuterAlt(localctx, 3); + this.state = 4843; + this.match(SqlParser.FAST); + break; + case SqlParser.MEDIUM: + this.enterOuterAlt(localctx, 4); + this.state = 4844; + this.match(SqlParser.MEDIUM); + break; + case SqlParser.EXTENDED: + this.enterOuterAlt(localctx, 5); + this.state = 4845; + this.match(SqlParser.EXTENDED); + break; + case SqlParser.CHANGED: + this.enterOuterAlt(localctx, 6); + this.state = 4846; + this.match(SqlParser.CHANGED); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CreateUdfunctionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_createUdfunction; + this.returnType = null; // Token + return this; +} + +CreateUdfunctionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CreateUdfunctionContext.prototype.constructor = CreateUdfunctionContext; + +CreateUdfunctionContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +CreateUdfunctionContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +CreateUdfunctionContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +CreateUdfunctionContext.prototype.RETURNS = function() { + return this.getToken(SqlParser.RETURNS, 0); +}; + +CreateUdfunctionContext.prototype.SONAME = function() { + return this.getToken(SqlParser.SONAME, 0); +}; + +CreateUdfunctionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +CreateUdfunctionContext.prototype.STRING = function() { + return this.getToken(SqlParser.STRING, 0); +}; + +CreateUdfunctionContext.prototype.INTEGER = function() { + return this.getToken(SqlParser.INTEGER, 0); +}; + +CreateUdfunctionContext.prototype.REAL = function() { + return this.getToken(SqlParser.REAL, 0); +}; + +CreateUdfunctionContext.prototype.DECIMAL = function() { + return this.getToken(SqlParser.DECIMAL, 0); +}; + +CreateUdfunctionContext.prototype.AGGREGATE = function() { + return this.getToken(SqlParser.AGGREGATE, 0); +}; + +CreateUdfunctionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCreateUdfunction(this); + } +}; + +CreateUdfunctionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCreateUdfunction(this); + } +}; + +CreateUdfunctionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCreateUdfunction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CreateUdfunctionContext = CreateUdfunctionContext; + +SqlParser.prototype.createUdfunction = function() { + + var localctx = new CreateUdfunctionContext(this, this._ctx, this.state); + this.enterRule(localctx, 434, SqlParser.RULE_createUdfunction); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4849; + this.match(SqlParser.CREATE); + this.state = 4851; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AGGREGATE) { + this.state = 4850; + this.match(SqlParser.AGGREGATE); + } + + this.state = 4853; + this.match(SqlParser.FUNCTION); + this.state = 4854; + this.uid(); + this.state = 4855; + this.match(SqlParser.RETURNS); + this.state = 4856; + localctx.returnType = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 188)) & ~0x1f) == 0 && ((1 << (_la - 188)) & ((1 << (SqlParser.INTEGER - 188)) | (1 << (SqlParser.REAL - 188)) | (1 << (SqlParser.DECIMAL - 188)))) !== 0) || _la===SqlParser.STRING)) { + localctx.returnType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4857; + this.match(SqlParser.SONAME); + this.state = 4858; + this.match(SqlParser.STRING_LITERAL); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function InstallPluginContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_installPlugin; + return this; +} + +InstallPluginContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +InstallPluginContext.prototype.constructor = InstallPluginContext; + +InstallPluginContext.prototype.INSTALL = function() { + return this.getToken(SqlParser.INSTALL, 0); +}; + +InstallPluginContext.prototype.PLUGIN = function() { + return this.getToken(SqlParser.PLUGIN, 0); +}; + +InstallPluginContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +InstallPluginContext.prototype.SONAME = function() { + return this.getToken(SqlParser.SONAME, 0); +}; + +InstallPluginContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +InstallPluginContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterInstallPlugin(this); + } +}; + +InstallPluginContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitInstallPlugin(this); + } +}; + +InstallPluginContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitInstallPlugin(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.InstallPluginContext = InstallPluginContext; + +SqlParser.prototype.installPlugin = function() { + + var localctx = new InstallPluginContext(this, this._ctx, this.state); + this.enterRule(localctx, 436, SqlParser.RULE_installPlugin); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4860; + this.match(SqlParser.INSTALL); + this.state = 4861; + this.match(SqlParser.PLUGIN); + this.state = 4862; + this.uid(); + this.state = 4863; + this.match(SqlParser.SONAME); + this.state = 4864; + this.match(SqlParser.STRING_LITERAL); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UninstallPluginContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_uninstallPlugin; + return this; +} + +UninstallPluginContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UninstallPluginContext.prototype.constructor = UninstallPluginContext; + +UninstallPluginContext.prototype.UNINSTALL = function() { + return this.getToken(SqlParser.UNINSTALL, 0); +}; + +UninstallPluginContext.prototype.PLUGIN = function() { + return this.getToken(SqlParser.PLUGIN, 0); +}; + +UninstallPluginContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +UninstallPluginContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUninstallPlugin(this); + } +}; + +UninstallPluginContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUninstallPlugin(this); + } +}; + +UninstallPluginContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUninstallPlugin(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UninstallPluginContext = UninstallPluginContext; + +SqlParser.prototype.uninstallPlugin = function() { + + var localctx = new UninstallPluginContext(this, this._ctx, this.state); + this.enterRule(localctx, 438, SqlParser.RULE_uninstallPlugin); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4866; + this.match(SqlParser.UNINSTALL); + this.state = 4867; + this.match(SqlParser.PLUGIN); + this.state = 4868; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SetStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_setStatement; + return this; +} + +SetStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SetStatementContext.prototype.constructor = SetStatementContext; + + + +SetStatementContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SetTransactionContext(parser, ctx) { + SetStatementContext.call(this, parser); + SetStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SetTransactionContext.prototype = Object.create(SetStatementContext.prototype); +SetTransactionContext.prototype.constructor = SetTransactionContext; + +SqlParser.SetTransactionContext = SetTransactionContext; + +SetTransactionContext.prototype.setTransactionStatement = function() { + return this.getTypedRuleContext(SetTransactionStatementContext,0); +}; +SetTransactionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetTransaction(this); + } +}; + +SetTransactionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetTransaction(this); + } +}; + +SetTransactionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetTransaction(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SetCharsetContext(parser, ctx) { + SetStatementContext.call(this, parser); + SetStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SetCharsetContext.prototype = Object.create(SetStatementContext.prototype); +SetCharsetContext.prototype.constructor = SetCharsetContext; + +SqlParser.SetCharsetContext = SetCharsetContext; + +SetCharsetContext.prototype.SET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.SET); + } else { + return this.getToken(SqlParser.SET, i); + } +}; + + +SetCharsetContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +SetCharsetContext.prototype.CHARSET = function() { + return this.getToken(SqlParser.CHARSET, 0); +}; + +SetCharsetContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +SetCharsetContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; +SetCharsetContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetCharset(this); + } +}; + +SetCharsetContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetCharset(this); + } +}; + +SetCharsetContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetCharset(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SetNamesContext(parser, ctx) { + SetStatementContext.call(this, parser); + SetStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SetNamesContext.prototype = Object.create(SetStatementContext.prototype); +SetNamesContext.prototype.constructor = SetNamesContext; + +SqlParser.SetNamesContext = SetNamesContext; + +SetNamesContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SetNamesContext.prototype.NAMES = function() { + return this.getToken(SqlParser.NAMES, 0); +}; + +SetNamesContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +SetNamesContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +SetNamesContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +SetNamesContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; +SetNamesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetNames(this); + } +}; + +SetNamesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetNames(this); + } +}; + +SetNamesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetNames(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SetPasswordContext(parser, ctx) { + SetStatementContext.call(this, parser); + SetStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SetPasswordContext.prototype = Object.create(SetStatementContext.prototype); +SetPasswordContext.prototype.constructor = SetPasswordContext; + +SqlParser.SetPasswordContext = SetPasswordContext; + +SetPasswordContext.prototype.setPasswordStatement = function() { + return this.getTypedRuleContext(SetPasswordStatementContext,0); +}; +SetPasswordContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetPassword(this); + } +}; + +SetPasswordContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetPassword(this); + } +}; + +SetPasswordContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetPassword(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SetAutocommitContext(parser, ctx) { + SetStatementContext.call(this, parser); + SetStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SetAutocommitContext.prototype = Object.create(SetStatementContext.prototype); +SetAutocommitContext.prototype.constructor = SetAutocommitContext; + +SqlParser.SetAutocommitContext = SetAutocommitContext; + +SetAutocommitContext.prototype.setAutocommitStatement = function() { + return this.getTypedRuleContext(SetAutocommitStatementContext,0); +}; +SetAutocommitContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetAutocommit(this); + } +}; + +SetAutocommitContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetAutocommit(this); + } +}; + +SetAutocommitContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetAutocommit(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SetNewValueInsideTriggerContext(parser, ctx) { + SetStatementContext.call(this, parser); + SetStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SetNewValueInsideTriggerContext.prototype = Object.create(SetStatementContext.prototype); +SetNewValueInsideTriggerContext.prototype.constructor = SetNewValueInsideTriggerContext; + +SqlParser.SetNewValueInsideTriggerContext = SetNewValueInsideTriggerContext; + +SetNewValueInsideTriggerContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SetNewValueInsideTriggerContext.prototype.fullId = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FullIdContext); + } else { + return this.getTypedRuleContext(FullIdContext,i); + } +}; + +SetNewValueInsideTriggerContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +SetNewValueInsideTriggerContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +SetNewValueInsideTriggerContext.prototype.VAR_ASSIGN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.VAR_ASSIGN); + } else { + return this.getToken(SqlParser.VAR_ASSIGN, i); + } +}; + + +SetNewValueInsideTriggerContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +SetNewValueInsideTriggerContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetNewValueInsideTrigger(this); + } +}; + +SetNewValueInsideTriggerContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetNewValueInsideTrigger(this); + } +}; + +SetNewValueInsideTriggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetNewValueInsideTrigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SetVariableContext(parser, ctx) { + SetStatementContext.call(this, parser); + SetStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SetVariableContext.prototype = Object.create(SetStatementContext.prototype); +SetVariableContext.prototype.constructor = SetVariableContext; + +SqlParser.SetVariableContext = SetVariableContext; + +SetVariableContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SetVariableContext.prototype.variableClause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(VariableClauseContext); + } else { + return this.getTypedRuleContext(VariableClauseContext,i); + } +}; + +SetVariableContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +SetVariableContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +SetVariableContext.prototype.VAR_ASSIGN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.VAR_ASSIGN); + } else { + return this.getToken(SqlParser.VAR_ASSIGN, i); + } +}; + + +SetVariableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +SetVariableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSetVariable(this); + } +}; + +SetVariableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSetVariable(this); + } +}; + +SetVariableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSetVariable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.SetStatementContext = SetStatementContext; + +SqlParser.prototype.setStatement = function() { + + var localctx = new SetStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 440, SqlParser.RULE_setStatement); + var _la = 0; // Token type + try { + this.state = 4921; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,705,this._ctx); + switch(la_) { + case 1: + localctx = new SetVariableContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4870; + this.match(SqlParser.SET); + this.state = 4871; + this.variableClause(); + this.state = 4872; + _la = this._input.LA(1); + if(!(_la===SqlParser.VAR_ASSIGN || _la===SqlParser.EQUAL_SYMBOL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4873; + this.expression(0); + this.state = 4881; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4874; + this.match(SqlParser.COMMA); + this.state = 4875; + this.variableClause(); + this.state = 4876; + _la = this._input.LA(1); + if(!(_la===SqlParser.VAR_ASSIGN || _la===SqlParser.EQUAL_SYMBOL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4877; + this.expression(0); + this.state = 4883; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + localctx = new SetCharsetContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4884; + this.match(SqlParser.SET); + this.state = 4888; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CHARACTER: + this.state = 4885; + this.match(SqlParser.CHARACTER); + this.state = 4886; + this.match(SqlParser.SET); + break; + case SqlParser.CHARSET: + this.state = 4887; + this.match(SqlParser.CHARSET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4892; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.BINARY: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + this.state = 4890; + this.charsetName(); + break; + case SqlParser.DEFAULT: + this.state = 4891; + this.match(SqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 3: + localctx = new SetNamesContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 4894; + this.match(SqlParser.SET); + this.state = 4895; + this.match(SqlParser.NAMES); + this.state = 4902; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.BINARY: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + this.state = 4896; + this.charsetName(); + this.state = 4899; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COLLATE) { + this.state = 4897; + this.match(SqlParser.COLLATE); + this.state = 4898; + this.collationName(); + } + + break; + case SqlParser.DEFAULT: + this.state = 4901; + this.match(SqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 4: + localctx = new SetPasswordContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 4904; + this.setPasswordStatement(); + break; + + case 5: + localctx = new SetTransactionContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 4905; + this.setTransactionStatement(); + break; + + case 6: + localctx = new SetAutocommitContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 4906; + this.setAutocommitStatement(); + break; + + case 7: + localctx = new SetNewValueInsideTriggerContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 4907; + this.match(SqlParser.SET); + this.state = 4908; + this.fullId(); + this.state = 4909; + _la = this._input.LA(1); + if(!(_la===SqlParser.VAR_ASSIGN || _la===SqlParser.EQUAL_SYMBOL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4910; + this.expression(0); + this.state = 4918; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 4911; + this.match(SqlParser.COMMA); + this.state = 4912; + this.fullId(); + this.state = 4913; + _la = this._input.LA(1); + if(!(_la===SqlParser.VAR_ASSIGN || _la===SqlParser.EQUAL_SYMBOL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4914; + this.expression(0); + this.state = 4920; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ShowStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_showStatement; + return this; +} + +ShowStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ShowStatementContext.prototype.constructor = ShowStatementContext; + + + +ShowStatementContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function ShowOpenTablesContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.schemaFormat = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowOpenTablesContext.prototype = Object.create(ShowStatementContext.prototype); +ShowOpenTablesContext.prototype.constructor = ShowOpenTablesContext; + +SqlParser.ShowOpenTablesContext = ShowOpenTablesContext; + +ShowOpenTablesContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowOpenTablesContext.prototype.OPEN = function() { + return this.getToken(SqlParser.OPEN, 0); +}; + +ShowOpenTablesContext.prototype.TABLES = function() { + return this.getToken(SqlParser.TABLES, 0); +}; + +ShowOpenTablesContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ShowOpenTablesContext.prototype.showFilter = function() { + return this.getTypedRuleContext(ShowFilterContext,0); +}; + +ShowOpenTablesContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +ShowOpenTablesContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; +ShowOpenTablesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowOpenTables(this); + } +}; + +ShowOpenTablesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowOpenTables(this); + } +}; + +ShowOpenTablesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowOpenTables(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowGlobalInfoContext(parser, ctx) { + ShowStatementContext.call(this, parser); + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowGlobalInfoContext.prototype = Object.create(ShowStatementContext.prototype); +ShowGlobalInfoContext.prototype.constructor = ShowGlobalInfoContext; + +SqlParser.ShowGlobalInfoContext = ShowGlobalInfoContext; + +ShowGlobalInfoContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowGlobalInfoContext.prototype.showGlobalInfoClause = function() { + return this.getTypedRuleContext(ShowGlobalInfoClauseContext,0); +}; +ShowGlobalInfoContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowGlobalInfo(this); + } +}; + +ShowGlobalInfoContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowGlobalInfo(this); + } +}; + +ShowGlobalInfoContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowGlobalInfo(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowCreateFullIdObjectContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.namedEntity = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowCreateFullIdObjectContext.prototype = Object.create(ShowStatementContext.prototype); +ShowCreateFullIdObjectContext.prototype.constructor = ShowCreateFullIdObjectContext; + +SqlParser.ShowCreateFullIdObjectContext = ShowCreateFullIdObjectContext; + +ShowCreateFullIdObjectContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowCreateFullIdObjectContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +ShowCreateFullIdObjectContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +ShowCreateFullIdObjectContext.prototype.EVENT = function() { + return this.getToken(SqlParser.EVENT, 0); +}; + +ShowCreateFullIdObjectContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +ShowCreateFullIdObjectContext.prototype.PROCEDURE = function() { + return this.getToken(SqlParser.PROCEDURE, 0); +}; + +ShowCreateFullIdObjectContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +ShowCreateFullIdObjectContext.prototype.TRIGGER = function() { + return this.getToken(SqlParser.TRIGGER, 0); +}; + +ShowCreateFullIdObjectContext.prototype.VIEW = function() { + return this.getToken(SqlParser.VIEW, 0); +}; +ShowCreateFullIdObjectContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowCreateFullIdObject(this); + } +}; + +ShowCreateFullIdObjectContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowCreateFullIdObject(this); + } +}; + +ShowCreateFullIdObjectContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowCreateFullIdObject(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowCreateUserContext(parser, ctx) { + ShowStatementContext.call(this, parser); + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowCreateUserContext.prototype = Object.create(ShowStatementContext.prototype); +ShowCreateUserContext.prototype.constructor = ShowCreateUserContext; + +SqlParser.ShowCreateUserContext = ShowCreateUserContext; + +ShowCreateUserContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowCreateUserContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +ShowCreateUserContext.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +ShowCreateUserContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; +ShowCreateUserContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowCreateUser(this); + } +}; + +ShowCreateUserContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowCreateUser(this); + } +}; + +ShowCreateUserContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowCreateUser(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowErrorsContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.errorFormat = null; // Token; + this.offset = null; // DecimalLiteralContext; + this.rowCount = null; // DecimalLiteralContext; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowErrorsContext.prototype = Object.create(ShowStatementContext.prototype); +ShowErrorsContext.prototype.constructor = ShowErrorsContext; + +SqlParser.ShowErrorsContext = ShowErrorsContext; + +ShowErrorsContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowErrorsContext.prototype.ERRORS = function() { + return this.getToken(SqlParser.ERRORS, 0); +}; + +ShowErrorsContext.prototype.WARNINGS = function() { + return this.getToken(SqlParser.WARNINGS, 0); +}; + +ShowErrorsContext.prototype.LIMIT = function() { + return this.getToken(SqlParser.LIMIT, 0); +}; + +ShowErrorsContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; + +ShowErrorsContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; +ShowErrorsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowErrors(this); + } +}; + +ShowErrorsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowErrors(this); + } +}; + +ShowErrorsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowErrors(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowCountErrorsContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.errorFormat = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowCountErrorsContext.prototype = Object.create(ShowStatementContext.prototype); +ShowCountErrorsContext.prototype.constructor = ShowCountErrorsContext; + +SqlParser.ShowCountErrorsContext = ShowCountErrorsContext; + +ShowCountErrorsContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowCountErrorsContext.prototype.COUNT = function() { + return this.getToken(SqlParser.COUNT, 0); +}; + +ShowCountErrorsContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +ShowCountErrorsContext.prototype.STAR = function() { + return this.getToken(SqlParser.STAR, 0); +}; + +ShowCountErrorsContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +ShowCountErrorsContext.prototype.ERRORS = function() { + return this.getToken(SqlParser.ERRORS, 0); +}; + +ShowCountErrorsContext.prototype.WARNINGS = function() { + return this.getToken(SqlParser.WARNINGS, 0); +}; +ShowCountErrorsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowCountErrors(this); + } +}; + +ShowCountErrorsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowCountErrors(this); + } +}; + +ShowCountErrorsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowCountErrors(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowObjectFilterContext(parser, ctx) { + ShowStatementContext.call(this, parser); + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowObjectFilterContext.prototype = Object.create(ShowStatementContext.prototype); +ShowObjectFilterContext.prototype.constructor = ShowObjectFilterContext; + +SqlParser.ShowObjectFilterContext = ShowObjectFilterContext; + +ShowObjectFilterContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowObjectFilterContext.prototype.showCommonEntity = function() { + return this.getTypedRuleContext(ShowCommonEntityContext,0); +}; + +ShowObjectFilterContext.prototype.showFilter = function() { + return this.getTypedRuleContext(ShowFilterContext,0); +}; +ShowObjectFilterContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowObjectFilter(this); + } +}; + +ShowObjectFilterContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowObjectFilter(this); + } +}; + +ShowObjectFilterContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowObjectFilter(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowCreateDbContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.schemaFormat = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowCreateDbContext.prototype = Object.create(ShowStatementContext.prototype); +ShowCreateDbContext.prototype.constructor = ShowCreateDbContext; + +SqlParser.ShowCreateDbContext = ShowCreateDbContext; + +ShowCreateDbContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowCreateDbContext.prototype.CREATE = function() { + return this.getToken(SqlParser.CREATE, 0); +}; + +ShowCreateDbContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ShowCreateDbContext.prototype.DATABASE = function() { + return this.getToken(SqlParser.DATABASE, 0); +}; + +ShowCreateDbContext.prototype.SCHEMA = function() { + return this.getToken(SqlParser.SCHEMA, 0); +}; + +ShowCreateDbContext.prototype.ifNotExists = function() { + return this.getTypedRuleContext(IfNotExistsContext,0); +}; +ShowCreateDbContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowCreateDb(this); + } +}; + +ShowCreateDbContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowCreateDb(this); + } +}; + +ShowCreateDbContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowCreateDb(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowEngineContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.engineOption = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowEngineContext.prototype = Object.create(ShowStatementContext.prototype); +ShowEngineContext.prototype.constructor = ShowEngineContext; + +SqlParser.ShowEngineContext = ShowEngineContext; + +ShowEngineContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowEngineContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +ShowEngineContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +ShowEngineContext.prototype.STATUS = function() { + return this.getToken(SqlParser.STATUS, 0); +}; + +ShowEngineContext.prototype.MUTEX = function() { + return this.getToken(SqlParser.MUTEX, 0); +}; +ShowEngineContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowEngine(this); + } +}; + +ShowEngineContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowEngine(this); + } +}; + +ShowEngineContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowEngine(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowSchemaFilterContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.schemaFormat = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowSchemaFilterContext.prototype = Object.create(ShowStatementContext.prototype); +ShowSchemaFilterContext.prototype.constructor = ShowSchemaFilterContext; + +SqlParser.ShowSchemaFilterContext = ShowSchemaFilterContext; + +ShowSchemaFilterContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowSchemaFilterContext.prototype.showSchemaEntity = function() { + return this.getTypedRuleContext(ShowSchemaEntityContext,0); +}; + +ShowSchemaFilterContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ShowSchemaFilterContext.prototype.showFilter = function() { + return this.getTypedRuleContext(ShowFilterContext,0); +}; + +ShowSchemaFilterContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +ShowSchemaFilterContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; +ShowSchemaFilterContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowSchemaFilter(this); + } +}; + +ShowSchemaFilterContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowSchemaFilter(this); + } +}; + +ShowSchemaFilterContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowSchemaFilter(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowIndexesContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.indexFormat = null; // Token; + this.tableFormat = null; // Token; + this.schemaFormat = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowIndexesContext.prototype = Object.create(ShowStatementContext.prototype); +ShowIndexesContext.prototype.constructor = ShowIndexesContext; + +SqlParser.ShowIndexesContext = ShowIndexesContext; + +ShowIndexesContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowIndexesContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +ShowIndexesContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +ShowIndexesContext.prototype.INDEXES = function() { + return this.getToken(SqlParser.INDEXES, 0); +}; + +ShowIndexesContext.prototype.KEYS = function() { + return this.getToken(SqlParser.KEYS, 0); +}; + +ShowIndexesContext.prototype.FROM = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.FROM); + } else { + return this.getToken(SqlParser.FROM, i); + } +}; + + +ShowIndexesContext.prototype.IN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.IN); + } else { + return this.getToken(SqlParser.IN, i); + } +}; + + +ShowIndexesContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ShowIndexesContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +ShowIndexesContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; +ShowIndexesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowIndexes(this); + } +}; + +ShowIndexesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowIndexes(this); + } +}; + +ShowIndexesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowIndexes(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowLogEventsContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.logFormat = null; // Token; + this.filename = null; // Token; + this.fromPosition = null; // DecimalLiteralContext; + this.offset = null; // DecimalLiteralContext; + this.rowCount = null; // DecimalLiteralContext; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowLogEventsContext.prototype = Object.create(ShowStatementContext.prototype); +ShowLogEventsContext.prototype.constructor = ShowLogEventsContext; + +SqlParser.ShowLogEventsContext = ShowLogEventsContext; + +ShowLogEventsContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowLogEventsContext.prototype.EVENTS = function() { + return this.getToken(SqlParser.EVENTS, 0); +}; + +ShowLogEventsContext.prototype.BINLOG = function() { + return this.getToken(SqlParser.BINLOG, 0); +}; + +ShowLogEventsContext.prototype.RELAYLOG = function() { + return this.getToken(SqlParser.RELAYLOG, 0); +}; + +ShowLogEventsContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; + +ShowLogEventsContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +ShowLogEventsContext.prototype.LIMIT = function() { + return this.getToken(SqlParser.LIMIT, 0); +}; + +ShowLogEventsContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +ShowLogEventsContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; + +ShowLogEventsContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; +ShowLogEventsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowLogEvents(this); + } +}; + +ShowLogEventsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowLogEvents(this); + } +}; + +ShowLogEventsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowLogEvents(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowMasterLogsContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.logFormat = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowMasterLogsContext.prototype = Object.create(ShowStatementContext.prototype); +ShowMasterLogsContext.prototype.constructor = ShowMasterLogsContext; + +SqlParser.ShowMasterLogsContext = ShowMasterLogsContext; + +ShowMasterLogsContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowMasterLogsContext.prototype.LOGS = function() { + return this.getToken(SqlParser.LOGS, 0); +}; + +ShowMasterLogsContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +ShowMasterLogsContext.prototype.MASTER = function() { + return this.getToken(SqlParser.MASTER, 0); +}; +ShowMasterLogsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowMasterLogs(this); + } +}; + +ShowMasterLogsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowMasterLogs(this); + } +}; + +ShowMasterLogsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowMasterLogs(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowGrantsContext(parser, ctx) { + ShowStatementContext.call(this, parser); + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowGrantsContext.prototype = Object.create(ShowStatementContext.prototype); +ShowGrantsContext.prototype.constructor = ShowGrantsContext; + +SqlParser.ShowGrantsContext = ShowGrantsContext; + +ShowGrantsContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowGrantsContext.prototype.GRANTS = function() { + return this.getToken(SqlParser.GRANTS, 0); +}; + +ShowGrantsContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +ShowGrantsContext.prototype.userName = function() { + return this.getTypedRuleContext(UserNameContext,0); +}; +ShowGrantsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowGrants(this); + } +}; + +ShowGrantsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowGrants(this); + } +}; + +ShowGrantsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowGrants(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowSlaveStatusContext(parser, ctx) { + ShowStatementContext.call(this, parser); + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowSlaveStatusContext.prototype = Object.create(ShowStatementContext.prototype); +ShowSlaveStatusContext.prototype.constructor = ShowSlaveStatusContext; + +SqlParser.ShowSlaveStatusContext = ShowSlaveStatusContext; + +ShowSlaveStatusContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowSlaveStatusContext.prototype.SLAVE = function() { + return this.getToken(SqlParser.SLAVE, 0); +}; + +ShowSlaveStatusContext.prototype.STATUS = function() { + return this.getToken(SqlParser.STATUS, 0); +}; + +ShowSlaveStatusContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +ShowSlaveStatusContext.prototype.CHANNEL = function() { + return this.getToken(SqlParser.CHANNEL, 0); +}; + +ShowSlaveStatusContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +ShowSlaveStatusContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowSlaveStatus(this); + } +}; + +ShowSlaveStatusContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowSlaveStatus(this); + } +}; + +ShowSlaveStatusContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowSlaveStatus(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowRoutineContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.routine = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowRoutineContext.prototype = Object.create(ShowStatementContext.prototype); +ShowRoutineContext.prototype.constructor = ShowRoutineContext; + +SqlParser.ShowRoutineContext = ShowRoutineContext; + +ShowRoutineContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowRoutineContext.prototype.CODE = function() { + return this.getToken(SqlParser.CODE, 0); +}; + +ShowRoutineContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +ShowRoutineContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +ShowRoutineContext.prototype.PROCEDURE = function() { + return this.getToken(SqlParser.PROCEDURE, 0); +}; +ShowRoutineContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowRoutine(this); + } +}; + +ShowRoutineContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowRoutine(this); + } +}; + +ShowRoutineContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowRoutine(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowProfileContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.queryCount = null; // DecimalLiteralContext; + this.offset = null; // DecimalLiteralContext; + this.rowCount = null; // DecimalLiteralContext; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowProfileContext.prototype = Object.create(ShowStatementContext.prototype); +ShowProfileContext.prototype.constructor = ShowProfileContext; + +SqlParser.ShowProfileContext = ShowProfileContext; + +ShowProfileContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowProfileContext.prototype.PROFILE = function() { + return this.getToken(SqlParser.PROFILE, 0); +}; + +ShowProfileContext.prototype.showProfileType = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ShowProfileTypeContext); + } else { + return this.getTypedRuleContext(ShowProfileTypeContext,i); + } +}; + +ShowProfileContext.prototype.LIMIT = function() { + return this.getToken(SqlParser.LIMIT, 0); +}; + +ShowProfileContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ShowProfileContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +ShowProfileContext.prototype.QUERY = function() { + return this.getToken(SqlParser.QUERY, 0); +}; + +ShowProfileContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; +ShowProfileContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowProfile(this); + } +}; + +ShowProfileContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowProfile(this); + } +}; + +ShowProfileContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowProfile(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ShowColumnsContext(parser, ctx) { + ShowStatementContext.call(this, parser); + this.columnsFormat = null; // Token; + this.tableFormat = null; // Token; + this.schemaFormat = null; // Token; + ShowStatementContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ShowColumnsContext.prototype = Object.create(ShowStatementContext.prototype); +ShowColumnsContext.prototype.constructor = ShowColumnsContext; + +SqlParser.ShowColumnsContext = ShowColumnsContext; + +ShowColumnsContext.prototype.SHOW = function() { + return this.getToken(SqlParser.SHOW, 0); +}; + +ShowColumnsContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +ShowColumnsContext.prototype.COLUMNS = function() { + return this.getToken(SqlParser.COLUMNS, 0); +}; + +ShowColumnsContext.prototype.FIELDS = function() { + return this.getToken(SqlParser.FIELDS, 0); +}; + +ShowColumnsContext.prototype.FROM = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.FROM); + } else { + return this.getToken(SqlParser.FROM, i); + } +}; + + +ShowColumnsContext.prototype.IN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.IN); + } else { + return this.getToken(SqlParser.IN, i); + } +}; + + +ShowColumnsContext.prototype.FULL = function() { + return this.getToken(SqlParser.FULL, 0); +}; + +ShowColumnsContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +ShowColumnsContext.prototype.showFilter = function() { + return this.getTypedRuleContext(ShowFilterContext,0); +}; +ShowColumnsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowColumns(this); + } +}; + +ShowColumnsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowColumns(this); + } +}; + +ShowColumnsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowColumns(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.ShowStatementContext = ShowStatementContext; + +SqlParser.prototype.showStatement = function() { + + var localctx = new ShowStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 442, SqlParser.RULE_showStatement); + var _la = 0; // Token type + try { + this.state = 5074; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,727,this._ctx); + switch(la_) { + case 1: + localctx = new ShowMasterLogsContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 4923; + this.match(SqlParser.SHOW); + this.state = 4924; + localctx.logFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.BINARY || _la===SqlParser.MASTER)) { + localctx.logFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4925; + this.match(SqlParser.LOGS); + break; + + case 2: + localctx = new ShowLogEventsContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 4926; + this.match(SqlParser.SHOW); + this.state = 4927; + localctx.logFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.BINLOG || _la===SqlParser.RELAYLOG)) { + localctx.logFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4928; + this.match(SqlParser.EVENTS); + this.state = 4931; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IN) { + this.state = 4929; + this.match(SqlParser.IN); + this.state = 4930; + localctx.filename = this.match(SqlParser.STRING_LITERAL); + } + + this.state = 4935; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FROM) { + this.state = 4933; + this.match(SqlParser.FROM); + this.state = 4934; + localctx.fromPosition = this.decimalLiteral(); + } + + this.state = 4944; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIMIT) { + this.state = 4937; + this.match(SqlParser.LIMIT); + this.state = 4941; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,708,this._ctx); + if(la_===1) { + this.state = 4938; + localctx.offset = this.decimalLiteral(); + this.state = 4939; + this.match(SqlParser.COMMA); + + } + this.state = 4943; + localctx.rowCount = this.decimalLiteral(); + } + + break; + + case 3: + localctx = new ShowObjectFilterContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 4946; + this.match(SqlParser.SHOW); + this.state = 4947; + this.showCommonEntity(); + this.state = 4949; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIKE || _la===SqlParser.WHERE) { + this.state = 4948; + this.showFilter(); + } + + break; + + case 4: + localctx = new ShowColumnsContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 4951; + this.match(SqlParser.SHOW); + this.state = 4953; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FULL) { + this.state = 4952; + this.match(SqlParser.FULL); + } + + this.state = 4955; + localctx.columnsFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.COLUMNS || _la===SqlParser.FIELDS)) { + localctx.columnsFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4956; + localctx.tableFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FROM || _la===SqlParser.IN)) { + localctx.tableFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4957; + this.tableName(); + this.state = 4960; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FROM || _la===SqlParser.IN) { + this.state = 4958; + localctx.schemaFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FROM || _la===SqlParser.IN)) { + localctx.schemaFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4959; + this.uid(); + } + + this.state = 4963; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIKE || _la===SqlParser.WHERE) { + this.state = 4962; + this.showFilter(); + } + + break; + + case 5: + localctx = new ShowCreateDbContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 4965; + this.match(SqlParser.SHOW); + this.state = 4966; + this.match(SqlParser.CREATE); + this.state = 4967; + localctx.schemaFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.DATABASE || _la===SqlParser.SCHEMA)) { + localctx.schemaFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4969; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IF) { + this.state = 4968; + this.ifNotExists(); + } + + this.state = 4971; + this.uid(); + break; + + case 6: + localctx = new ShowCreateFullIdObjectContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 4972; + this.match(SqlParser.SHOW); + this.state = 4973; + this.match(SqlParser.CREATE); + this.state = 4974; + localctx.namedEntity = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.PROCEDURE || _la===SqlParser.TABLE || _la===SqlParser.TRIGGER || _la===SqlParser.EVENT || _la===SqlParser.FUNCTION || _la===SqlParser.VIEW)) { + localctx.namedEntity = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4975; + this.fullId(); + break; + + case 7: + localctx = new ShowCreateUserContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 4976; + this.match(SqlParser.SHOW); + this.state = 4977; + this.match(SqlParser.CREATE); + this.state = 4978; + this.match(SqlParser.USER); + this.state = 4979; + this.userName(); + break; + + case 8: + localctx = new ShowEngineContext(this, localctx); + this.enterOuterAlt(localctx, 8); + this.state = 4980; + this.match(SqlParser.SHOW); + this.state = 4981; + this.match(SqlParser.ENGINE); + this.state = 4982; + this.engineName(); + this.state = 4983; + localctx.engineOption = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.MUTEX || _la===SqlParser.STATUS)) { + localctx.engineOption = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 9: + localctx = new ShowGlobalInfoContext(this, localctx); + this.enterOuterAlt(localctx, 9); + this.state = 4985; + this.match(SqlParser.SHOW); + this.state = 4986; + this.showGlobalInfoClause(); + break; + + case 10: + localctx = new ShowErrorsContext(this, localctx); + this.enterOuterAlt(localctx, 10); + this.state = 4987; + this.match(SqlParser.SHOW); + this.state = 4988; + localctx.errorFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ERRORS || _la===SqlParser.WARNINGS)) { + localctx.errorFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + this.state = 4989; + this.match(SqlParser.LIMIT); + this.state = 4993; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,715,this._ctx); + if(la_===1) { + this.state = 4990; + localctx.offset = this.decimalLiteral(); + this.state = 4991; + this.match(SqlParser.COMMA); + + } + this.state = 4995; + localctx.rowCount = this.decimalLiteral(); + break; + + case 11: + localctx = new ShowCountErrorsContext(this, localctx); + this.enterOuterAlt(localctx, 11); + this.state = 4996; + this.match(SqlParser.SHOW); + this.state = 4997; + this.match(SqlParser.COUNT); + this.state = 4998; + this.match(SqlParser.LR_BRACKET); + this.state = 4999; + this.match(SqlParser.STAR); + this.state = 5000; + this.match(SqlParser.RR_BRACKET); + this.state = 5001; + localctx.errorFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ERRORS || _la===SqlParser.WARNINGS)) { + localctx.errorFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 12: + localctx = new ShowSchemaFilterContext(this, localctx); + this.enterOuterAlt(localctx, 12); + this.state = 5002; + this.match(SqlParser.SHOW); + this.state = 5003; + this.showSchemaEntity(); + this.state = 5006; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FROM || _la===SqlParser.IN) { + this.state = 5004; + localctx.schemaFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FROM || _la===SqlParser.IN)) { + localctx.schemaFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5005; + this.uid(); + } + + this.state = 5009; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIKE || _la===SqlParser.WHERE) { + this.state = 5008; + this.showFilter(); + } + + break; + + case 13: + localctx = new ShowRoutineContext(this, localctx); + this.enterOuterAlt(localctx, 13); + this.state = 5011; + this.match(SqlParser.SHOW); + this.state = 5012; + localctx.routine = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.PROCEDURE || _la===SqlParser.FUNCTION)) { + localctx.routine = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5013; + this.match(SqlParser.CODE); + this.state = 5014; + this.fullId(); + break; + + case 14: + localctx = new ShowGrantsContext(this, localctx); + this.enterOuterAlt(localctx, 14); + this.state = 5015; + this.match(SqlParser.SHOW); + this.state = 5016; + this.match(SqlParser.GRANTS); + this.state = 5019; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 5017; + this.match(SqlParser.FOR); + this.state = 5018; + this.userName(); + } + + break; + + case 15: + localctx = new ShowIndexesContext(this, localctx); + this.enterOuterAlt(localctx, 15); + this.state = 5021; + this.match(SqlParser.SHOW); + this.state = 5022; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEYS || _la===SqlParser.INDEXES)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5023; + localctx.tableFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FROM || _la===SqlParser.IN)) { + localctx.tableFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5024; + this.tableName(); + this.state = 5027; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FROM || _la===SqlParser.IN) { + this.state = 5025; + localctx.schemaFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FROM || _la===SqlParser.IN)) { + localctx.schemaFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5026; + this.uid(); + } + + this.state = 5031; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WHERE) { + this.state = 5029; + this.match(SqlParser.WHERE); + this.state = 5030; + this.expression(0); + } + + break; + + case 16: + localctx = new ShowOpenTablesContext(this, localctx); + this.enterOuterAlt(localctx, 16); + this.state = 5033; + this.match(SqlParser.SHOW); + this.state = 5034; + this.match(SqlParser.OPEN); + this.state = 5035; + this.match(SqlParser.TABLES); + this.state = 5038; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FROM || _la===SqlParser.IN) { + this.state = 5036; + localctx.schemaFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FROM || _la===SqlParser.IN)) { + localctx.schemaFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5037; + this.uid(); + } + + this.state = 5041; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LIKE || _la===SqlParser.WHERE) { + this.state = 5040; + this.showFilter(); + } + + break; + + case 17: + localctx = new ShowProfileContext(this, localctx); + this.enterOuterAlt(localctx, 17); + this.state = 5043; + this.match(SqlParser.SHOW); + this.state = 5044; + this.match(SqlParser.PROFILE); + this.state = 5045; + this.showProfileType(); + this.state = 5050; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5046; + this.match(SqlParser.COMMA); + this.state = 5047; + this.showProfileType(); + this.state = 5052; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5056; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 5053; + this.match(SqlParser.FOR); + this.state = 5054; + this.match(SqlParser.QUERY); + this.state = 5055; + localctx.queryCount = this.decimalLiteral(); + } + + this.state = 5058; + this.match(SqlParser.LIMIT); + this.state = 5062; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,725,this._ctx); + if(la_===1) { + this.state = 5059; + localctx.offset = this.decimalLiteral(); + this.state = 5060; + this.match(SqlParser.COMMA); + + } + this.state = 5064; + localctx.rowCount = this.decimalLiteral(); + break; + + case 18: + localctx = new ShowSlaveStatusContext(this, localctx); + this.enterOuterAlt(localctx, 18); + this.state = 5066; + this.match(SqlParser.SHOW); + this.state = 5067; + this.match(SqlParser.SLAVE); + this.state = 5068; + this.match(SqlParser.STATUS); + this.state = 5072; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 5069; + this.match(SqlParser.FOR); + this.state = 5070; + this.match(SqlParser.CHANNEL); + this.state = 5071; + this.match(SqlParser.STRING_LITERAL); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function VariableClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_variableClause; + return this; +} + +VariableClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +VariableClauseContext.prototype.constructor = VariableClauseContext; + +VariableClauseContext.prototype.LOCAL_ID = function() { + return this.getToken(SqlParser.LOCAL_ID, 0); +}; + +VariableClauseContext.prototype.GLOBAL_ID = function() { + return this.getToken(SqlParser.GLOBAL_ID, 0); +}; + +VariableClauseContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +VariableClauseContext.prototype.GLOBAL = function() { + return this.getToken(SqlParser.GLOBAL, 0); +}; + +VariableClauseContext.prototype.SESSION = function() { + return this.getToken(SqlParser.SESSION, 0); +}; + +VariableClauseContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +VariableClauseContext.prototype.AT_SIGN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.AT_SIGN); + } else { + return this.getToken(SqlParser.AT_SIGN, i); + } +}; + + +VariableClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterVariableClause(this); + } +}; + +VariableClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitVariableClause(this); + } +}; + +VariableClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitVariableClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.VariableClauseContext = VariableClauseContext; + +SqlParser.prototype.variableClause = function() { + + var localctx = new VariableClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 444, SqlParser.RULE_variableClause); + var _la = 0; // Token type + try { + this.state = 5086; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.LOCAL_ID: + this.enterOuterAlt(localctx, 1); + this.state = 5076; + this.match(SqlParser.LOCAL_ID); + break; + case SqlParser.GLOBAL_ID: + this.enterOuterAlt(localctx, 2); + this.state = 5077; + this.match(SqlParser.GLOBAL_ID); + break; + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.AT_SIGN: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.enterOuterAlt(localctx, 3); + this.state = 5083; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,729,this._ctx); + if(la_===1) { + this.state = 5080; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AT_SIGN) { + this.state = 5078; + this.match(SqlParser.AT_SIGN); + this.state = 5079; + this.match(SqlParser.AT_SIGN); + } + + this.state = 5082; + _la = this._input.LA(1); + if(!(_la===SqlParser.GLOBAL || _la===SqlParser.LOCAL || _la===SqlParser.SESSION)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 5085; + this.uid(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ShowCommonEntityContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_showCommonEntity; + return this; +} + +ShowCommonEntityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ShowCommonEntityContext.prototype.constructor = ShowCommonEntityContext; + +ShowCommonEntityContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +ShowCommonEntityContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +ShowCommonEntityContext.prototype.COLLATION = function() { + return this.getToken(SqlParser.COLLATION, 0); +}; + +ShowCommonEntityContext.prototype.DATABASES = function() { + return this.getToken(SqlParser.DATABASES, 0); +}; + +ShowCommonEntityContext.prototype.SCHEMAS = function() { + return this.getToken(SqlParser.SCHEMAS, 0); +}; + +ShowCommonEntityContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +ShowCommonEntityContext.prototype.STATUS = function() { + return this.getToken(SqlParser.STATUS, 0); +}; + +ShowCommonEntityContext.prototype.PROCEDURE = function() { + return this.getToken(SqlParser.PROCEDURE, 0); +}; + +ShowCommonEntityContext.prototype.VARIABLES = function() { + return this.getToken(SqlParser.VARIABLES, 0); +}; + +ShowCommonEntityContext.prototype.GLOBAL = function() { + return this.getToken(SqlParser.GLOBAL, 0); +}; + +ShowCommonEntityContext.prototype.SESSION = function() { + return this.getToken(SqlParser.SESSION, 0); +}; + +ShowCommonEntityContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowCommonEntity(this); + } +}; + +ShowCommonEntityContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowCommonEntity(this); + } +}; + +ShowCommonEntityContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowCommonEntity(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ShowCommonEntityContext = ShowCommonEntityContext; + +SqlParser.prototype.showCommonEntity = function() { + + var localctx = new ShowCommonEntityContext(this, this._ctx, this.state); + this.enterRule(localctx, 446, SqlParser.RULE_showCommonEntity); + var _la = 0; // Token type + try { + this.state = 5101; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CHARACTER: + this.enterOuterAlt(localctx, 1); + this.state = 5088; + this.match(SqlParser.CHARACTER); + this.state = 5089; + this.match(SqlParser.SET); + break; + case SqlParser.COLLATION: + this.enterOuterAlt(localctx, 2); + this.state = 5090; + this.match(SqlParser.COLLATION); + break; + case SqlParser.DATABASES: + this.enterOuterAlt(localctx, 3); + this.state = 5091; + this.match(SqlParser.DATABASES); + break; + case SqlParser.SCHEMAS: + this.enterOuterAlt(localctx, 4); + this.state = 5092; + this.match(SqlParser.SCHEMAS); + break; + case SqlParser.FUNCTION: + this.enterOuterAlt(localctx, 5); + this.state = 5093; + this.match(SqlParser.FUNCTION); + this.state = 5094; + this.match(SqlParser.STATUS); + break; + case SqlParser.PROCEDURE: + this.enterOuterAlt(localctx, 6); + this.state = 5095; + this.match(SqlParser.PROCEDURE); + this.state = 5096; + this.match(SqlParser.STATUS); + break; + case SqlParser.GLOBAL: + case SqlParser.SESSION: + case SqlParser.STATUS: + case SqlParser.VARIABLES: + this.enterOuterAlt(localctx, 7); + this.state = 5098; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.GLOBAL || _la===SqlParser.SESSION) { + this.state = 5097; + _la = this._input.LA(1); + if(!(_la===SqlParser.GLOBAL || _la===SqlParser.SESSION)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5100; + _la = this._input.LA(1); + if(!(_la===SqlParser.STATUS || _la===SqlParser.VARIABLES)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ShowFilterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_showFilter; + return this; +} + +ShowFilterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ShowFilterContext.prototype.constructor = ShowFilterContext; + +ShowFilterContext.prototype.LIKE = function() { + return this.getToken(SqlParser.LIKE, 0); +}; + +ShowFilterContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +ShowFilterContext.prototype.WHERE = function() { + return this.getToken(SqlParser.WHERE, 0); +}; + +ShowFilterContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +ShowFilterContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowFilter(this); + } +}; + +ShowFilterContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowFilter(this); + } +}; + +ShowFilterContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowFilter(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ShowFilterContext = ShowFilterContext; + +SqlParser.prototype.showFilter = function() { + + var localctx = new ShowFilterContext(this, this._ctx, this.state); + this.enterRule(localctx, 448, SqlParser.RULE_showFilter); + try { + this.state = 5107; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.LIKE: + this.enterOuterAlt(localctx, 1); + this.state = 5103; + this.match(SqlParser.LIKE); + this.state = 5104; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.WHERE: + this.enterOuterAlt(localctx, 2); + this.state = 5105; + this.match(SqlParser.WHERE); + this.state = 5106; + this.expression(0); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ShowGlobalInfoClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_showGlobalInfoClause; + return this; +} + +ShowGlobalInfoClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ShowGlobalInfoClauseContext.prototype.constructor = ShowGlobalInfoClauseContext; + +ShowGlobalInfoClauseContext.prototype.ENGINES = function() { + return this.getToken(SqlParser.ENGINES, 0); +}; + +ShowGlobalInfoClauseContext.prototype.STORAGE = function() { + return this.getToken(SqlParser.STORAGE, 0); +}; + +ShowGlobalInfoClauseContext.prototype.MASTER = function() { + return this.getToken(SqlParser.MASTER, 0); +}; + +ShowGlobalInfoClauseContext.prototype.STATUS = function() { + return this.getToken(SqlParser.STATUS, 0); +}; + +ShowGlobalInfoClauseContext.prototype.PLUGINS = function() { + return this.getToken(SqlParser.PLUGINS, 0); +}; + +ShowGlobalInfoClauseContext.prototype.PRIVILEGES = function() { + return this.getToken(SqlParser.PRIVILEGES, 0); +}; + +ShowGlobalInfoClauseContext.prototype.PROCESSLIST = function() { + return this.getToken(SqlParser.PROCESSLIST, 0); +}; + +ShowGlobalInfoClauseContext.prototype.FULL = function() { + return this.getToken(SqlParser.FULL, 0); +}; + +ShowGlobalInfoClauseContext.prototype.PROFILES = function() { + return this.getToken(SqlParser.PROFILES, 0); +}; + +ShowGlobalInfoClauseContext.prototype.SLAVE = function() { + return this.getToken(SqlParser.SLAVE, 0); +}; + +ShowGlobalInfoClauseContext.prototype.HOSTS = function() { + return this.getToken(SqlParser.HOSTS, 0); +}; + +ShowGlobalInfoClauseContext.prototype.AUTHORS = function() { + return this.getToken(SqlParser.AUTHORS, 0); +}; + +ShowGlobalInfoClauseContext.prototype.CONTRIBUTORS = function() { + return this.getToken(SqlParser.CONTRIBUTORS, 0); +}; + +ShowGlobalInfoClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowGlobalInfoClause(this); + } +}; + +ShowGlobalInfoClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowGlobalInfoClause(this); + } +}; + +ShowGlobalInfoClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowGlobalInfoClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ShowGlobalInfoClauseContext = ShowGlobalInfoClauseContext; + +SqlParser.prototype.showGlobalInfoClause = function() { + + var localctx = new ShowGlobalInfoClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 450, SqlParser.RULE_showGlobalInfoClause); + var _la = 0; // Token type + try { + this.state = 5126; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ENGINES: + case SqlParser.STORAGE: + this.enterOuterAlt(localctx, 1); + this.state = 5110; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.STORAGE) { + this.state = 5109; + this.match(SqlParser.STORAGE); + } + + this.state = 5112; + this.match(SqlParser.ENGINES); + break; + case SqlParser.MASTER: + this.enterOuterAlt(localctx, 2); + this.state = 5113; + this.match(SqlParser.MASTER); + this.state = 5114; + this.match(SqlParser.STATUS); + break; + case SqlParser.PLUGINS: + this.enterOuterAlt(localctx, 3); + this.state = 5115; + this.match(SqlParser.PLUGINS); + break; + case SqlParser.PRIVILEGES: + this.enterOuterAlt(localctx, 4); + this.state = 5116; + this.match(SqlParser.PRIVILEGES); + break; + case SqlParser.FULL: + case SqlParser.PROCESSLIST: + this.enterOuterAlt(localctx, 5); + this.state = 5118; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FULL) { + this.state = 5117; + this.match(SqlParser.FULL); + } + + this.state = 5120; + this.match(SqlParser.PROCESSLIST); + break; + case SqlParser.PROFILES: + this.enterOuterAlt(localctx, 6); + this.state = 5121; + this.match(SqlParser.PROFILES); + break; + case SqlParser.SLAVE: + this.enterOuterAlt(localctx, 7); + this.state = 5122; + this.match(SqlParser.SLAVE); + this.state = 5123; + this.match(SqlParser.HOSTS); + break; + case SqlParser.AUTHORS: + this.enterOuterAlt(localctx, 8); + this.state = 5124; + this.match(SqlParser.AUTHORS); + break; + case SqlParser.CONTRIBUTORS: + this.enterOuterAlt(localctx, 9); + this.state = 5125; + this.match(SqlParser.CONTRIBUTORS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ShowSchemaEntityContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_showSchemaEntity; + return this; +} + +ShowSchemaEntityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ShowSchemaEntityContext.prototype.constructor = ShowSchemaEntityContext; + +ShowSchemaEntityContext.prototype.EVENTS = function() { + return this.getToken(SqlParser.EVENTS, 0); +}; + +ShowSchemaEntityContext.prototype.TABLE = function() { + return this.getToken(SqlParser.TABLE, 0); +}; + +ShowSchemaEntityContext.prototype.STATUS = function() { + return this.getToken(SqlParser.STATUS, 0); +}; + +ShowSchemaEntityContext.prototype.TABLES = function() { + return this.getToken(SqlParser.TABLES, 0); +}; + +ShowSchemaEntityContext.prototype.FULL = function() { + return this.getToken(SqlParser.FULL, 0); +}; + +ShowSchemaEntityContext.prototype.TRIGGERS = function() { + return this.getToken(SqlParser.TRIGGERS, 0); +}; + +ShowSchemaEntityContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowSchemaEntity(this); + } +}; + +ShowSchemaEntityContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowSchemaEntity(this); + } +}; + +ShowSchemaEntityContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowSchemaEntity(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ShowSchemaEntityContext = ShowSchemaEntityContext; + +SqlParser.prototype.showSchemaEntity = function() { + + var localctx = new ShowSchemaEntityContext(this, this._ctx, this.state); + this.enterRule(localctx, 452, SqlParser.RULE_showSchemaEntity); + var _la = 0; // Token type + try { + this.state = 5136; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.EVENTS: + this.enterOuterAlt(localctx, 1); + this.state = 5128; + this.match(SqlParser.EVENTS); + break; + case SqlParser.TABLE: + this.enterOuterAlt(localctx, 2); + this.state = 5129; + this.match(SqlParser.TABLE); + this.state = 5130; + this.match(SqlParser.STATUS); + break; + case SqlParser.FULL: + case SqlParser.TABLES: + this.enterOuterAlt(localctx, 3); + this.state = 5132; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FULL) { + this.state = 5131; + this.match(SqlParser.FULL); + } + + this.state = 5134; + this.match(SqlParser.TABLES); + break; + case SqlParser.TRIGGERS: + this.enterOuterAlt(localctx, 4); + this.state = 5135; + this.match(SqlParser.TRIGGERS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ShowProfileTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_showProfileType; + return this; +} + +ShowProfileTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ShowProfileTypeContext.prototype.constructor = ShowProfileTypeContext; + +ShowProfileTypeContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +ShowProfileTypeContext.prototype.BLOCK = function() { + return this.getToken(SqlParser.BLOCK, 0); +}; + +ShowProfileTypeContext.prototype.IO = function() { + return this.getToken(SqlParser.IO, 0); +}; + +ShowProfileTypeContext.prototype.CONTEXT = function() { + return this.getToken(SqlParser.CONTEXT, 0); +}; + +ShowProfileTypeContext.prototype.SWITCHES = function() { + return this.getToken(SqlParser.SWITCHES, 0); +}; + +ShowProfileTypeContext.prototype.CPU = function() { + return this.getToken(SqlParser.CPU, 0); +}; + +ShowProfileTypeContext.prototype.IPC = function() { + return this.getToken(SqlParser.IPC, 0); +}; + +ShowProfileTypeContext.prototype.MEMORY = function() { + return this.getToken(SqlParser.MEMORY, 0); +}; + +ShowProfileTypeContext.prototype.PAGE = function() { + return this.getToken(SqlParser.PAGE, 0); +}; + +ShowProfileTypeContext.prototype.FAULTS = function() { + return this.getToken(SqlParser.FAULTS, 0); +}; + +ShowProfileTypeContext.prototype.SOURCE = function() { + return this.getToken(SqlParser.SOURCE, 0); +}; + +ShowProfileTypeContext.prototype.SWAPS = function() { + return this.getToken(SqlParser.SWAPS, 0); +}; + +ShowProfileTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShowProfileType(this); + } +}; + +ShowProfileTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShowProfileType(this); + } +}; + +ShowProfileTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShowProfileType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ShowProfileTypeContext = ShowProfileTypeContext; + +SqlParser.prototype.showProfileType = function() { + + var localctx = new ShowProfileTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 454, SqlParser.RULE_showProfileType); + try { + this.state = 5150; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ALL: + this.enterOuterAlt(localctx, 1); + this.state = 5138; + this.match(SqlParser.ALL); + break; + case SqlParser.BLOCK: + this.enterOuterAlt(localctx, 2); + this.state = 5139; + this.match(SqlParser.BLOCK); + this.state = 5140; + this.match(SqlParser.IO); + break; + case SqlParser.CONTEXT: + this.enterOuterAlt(localctx, 3); + this.state = 5141; + this.match(SqlParser.CONTEXT); + this.state = 5142; + this.match(SqlParser.SWITCHES); + break; + case SqlParser.CPU: + this.enterOuterAlt(localctx, 4); + this.state = 5143; + this.match(SqlParser.CPU); + break; + case SqlParser.IPC: + this.enterOuterAlt(localctx, 5); + this.state = 5144; + this.match(SqlParser.IPC); + break; + case SqlParser.MEMORY: + this.enterOuterAlt(localctx, 6); + this.state = 5145; + this.match(SqlParser.MEMORY); + break; + case SqlParser.PAGE: + this.enterOuterAlt(localctx, 7); + this.state = 5146; + this.match(SqlParser.PAGE); + this.state = 5147; + this.match(SqlParser.FAULTS); + break; + case SqlParser.SOURCE: + this.enterOuterAlt(localctx, 8); + this.state = 5148; + this.match(SqlParser.SOURCE); + break; + case SqlParser.SWAPS: + this.enterOuterAlt(localctx, 9); + this.state = 5149; + this.match(SqlParser.SWAPS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function BinlogStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_binlogStatement; + return this; +} + +BinlogStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +BinlogStatementContext.prototype.constructor = BinlogStatementContext; + +BinlogStatementContext.prototype.BINLOG = function() { + return this.getToken(SqlParser.BINLOG, 0); +}; + +BinlogStatementContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +BinlogStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBinlogStatement(this); + } +}; + +BinlogStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBinlogStatement(this); + } +}; + +BinlogStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBinlogStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.BinlogStatementContext = BinlogStatementContext; + +SqlParser.prototype.binlogStatement = function() { + + var localctx = new BinlogStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 456, SqlParser.RULE_binlogStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5152; + this.match(SqlParser.BINLOG); + this.state = 5153; + this.match(SqlParser.STRING_LITERAL); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CacheIndexStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_cacheIndexStatement; + this.schema = null; // UidContext + return this; +} + +CacheIndexStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CacheIndexStatementContext.prototype.constructor = CacheIndexStatementContext; + +CacheIndexStatementContext.prototype.CACHE = function() { + return this.getToken(SqlParser.CACHE, 0); +}; + +CacheIndexStatementContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +CacheIndexStatementContext.prototype.tableIndexes = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableIndexesContext); + } else { + return this.getTypedRuleContext(TableIndexesContext,i); + } +}; + +CacheIndexStatementContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; + +CacheIndexStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +CacheIndexStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +CacheIndexStatementContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +CacheIndexStatementContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CacheIndexStatementContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CacheIndexStatementContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +CacheIndexStatementContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +CacheIndexStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCacheIndexStatement(this); + } +}; + +CacheIndexStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCacheIndexStatement(this); + } +}; + +CacheIndexStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCacheIndexStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CacheIndexStatementContext = CacheIndexStatementContext; + +SqlParser.prototype.cacheIndexStatement = function() { + + var localctx = new CacheIndexStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 458, SqlParser.RULE_cacheIndexStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5155; + this.match(SqlParser.CACHE); + this.state = 5156; + this.match(SqlParser.INDEX); + this.state = 5157; + this.tableIndexes(); + this.state = 5162; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5158; + this.match(SqlParser.COMMA); + this.state = 5159; + this.tableIndexes(); + this.state = 5164; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5172; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 5165; + this.match(SqlParser.PARTITION); + this.state = 5166; + this.match(SqlParser.LR_BRACKET); + this.state = 5169; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 5167; + this.uidList(); + break; + case SqlParser.ALL: + this.state = 5168; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5171; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 5174; + this.match(SqlParser.IN); + this.state = 5175; + localctx.schema = this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FlushStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_flushStatement; + this.flushFormat = null; // Token + return this; +} + +FlushStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FlushStatementContext.prototype.constructor = FlushStatementContext; + +FlushStatementContext.prototype.FLUSH = function() { + return this.getToken(SqlParser.FLUSH, 0); +}; + +FlushStatementContext.prototype.flushOption = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FlushOptionContext); + } else { + return this.getTypedRuleContext(FlushOptionContext,i); + } +}; + +FlushStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +FlushStatementContext.prototype.NO_WRITE_TO_BINLOG = function() { + return this.getToken(SqlParser.NO_WRITE_TO_BINLOG, 0); +}; + +FlushStatementContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +FlushStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFlushStatement(this); + } +}; + +FlushStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFlushStatement(this); + } +}; + +FlushStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFlushStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FlushStatementContext = FlushStatementContext; + +SqlParser.prototype.flushStatement = function() { + + var localctx = new FlushStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 460, SqlParser.RULE_flushStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5177; + this.match(SqlParser.FLUSH); + this.state = 5179; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NO_WRITE_TO_BINLOG || _la===SqlParser.LOCAL) { + this.state = 5178; + localctx.flushFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.NO_WRITE_TO_BINLOG || _la===SqlParser.LOCAL)) { + localctx.flushFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5181; + this.flushOption(); + this.state = 5186; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5182; + this.match(SqlParser.COMMA); + this.state = 5183; + this.flushOption(); + this.state = 5188; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function KillStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_killStatement; + this.connectionFormat = null; // Token + return this; +} + +KillStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +KillStatementContext.prototype.constructor = KillStatementContext; + +KillStatementContext.prototype.KILL = function() { + return this.getToken(SqlParser.KILL, 0); +}; + +KillStatementContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; + +KillStatementContext.prototype.CONNECTION = function() { + return this.getToken(SqlParser.CONNECTION, 0); +}; + +KillStatementContext.prototype.QUERY = function() { + return this.getToken(SqlParser.QUERY, 0); +}; + +KillStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterKillStatement(this); + } +}; + +KillStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitKillStatement(this); + } +}; + +KillStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitKillStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.KillStatementContext = KillStatementContext; + +SqlParser.prototype.killStatement = function() { + + var localctx = new KillStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 462, SqlParser.RULE_killStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5189; + this.match(SqlParser.KILL); + this.state = 5191; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CONNECTION || _la===SqlParser.QUERY) { + this.state = 5190; + localctx.connectionFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CONNECTION || _la===SqlParser.QUERY)) { + localctx.connectionFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5194; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5193; + this.decimalLiteral(); + this.state = 5196; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (SqlParser.ZERO_DECIMAL - 1025)) | (1 << (SqlParser.ONE_DECIMAL - 1025)) | (1 << (SqlParser.TWO_DECIMAL - 1025)) | (1 << (SqlParser.DECIMAL_LITERAL - 1025)))) !== 0)); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LoadIndexIntoCacheContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_loadIndexIntoCache; + return this; +} + +LoadIndexIntoCacheContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LoadIndexIntoCacheContext.prototype.constructor = LoadIndexIntoCacheContext; + +LoadIndexIntoCacheContext.prototype.LOAD = function() { + return this.getToken(SqlParser.LOAD, 0); +}; + +LoadIndexIntoCacheContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +LoadIndexIntoCacheContext.prototype.INTO = function() { + return this.getToken(SqlParser.INTO, 0); +}; + +LoadIndexIntoCacheContext.prototype.CACHE = function() { + return this.getToken(SqlParser.CACHE, 0); +}; + +LoadIndexIntoCacheContext.prototype.loadedTableIndexes = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(LoadedTableIndexesContext); + } else { + return this.getTypedRuleContext(LoadedTableIndexesContext,i); + } +}; + +LoadIndexIntoCacheContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +LoadIndexIntoCacheContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLoadIndexIntoCache(this); + } +}; + +LoadIndexIntoCacheContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLoadIndexIntoCache(this); + } +}; + +LoadIndexIntoCacheContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLoadIndexIntoCache(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LoadIndexIntoCacheContext = LoadIndexIntoCacheContext; + +SqlParser.prototype.loadIndexIntoCache = function() { + + var localctx = new LoadIndexIntoCacheContext(this, this._ctx, this.state); + this.enterRule(localctx, 464, SqlParser.RULE_loadIndexIntoCache); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5198; + this.match(SqlParser.LOAD); + this.state = 5199; + this.match(SqlParser.INDEX); + this.state = 5200; + this.match(SqlParser.INTO); + this.state = 5201; + this.match(SqlParser.CACHE); + this.state = 5202; + this.loadedTableIndexes(); + this.state = 5207; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5203; + this.match(SqlParser.COMMA); + this.state = 5204; + this.loadedTableIndexes(); + this.state = 5209; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ResetStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_resetStatement; + return this; +} + +ResetStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ResetStatementContext.prototype.constructor = ResetStatementContext; + +ResetStatementContext.prototype.RESET = function() { + return this.getToken(SqlParser.RESET, 0); +}; + +ResetStatementContext.prototype.QUERY = function() { + return this.getToken(SqlParser.QUERY, 0); +}; + +ResetStatementContext.prototype.CACHE = function() { + return this.getToken(SqlParser.CACHE, 0); +}; + +ResetStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterResetStatement(this); + } +}; + +ResetStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitResetStatement(this); + } +}; + +ResetStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitResetStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ResetStatementContext = ResetStatementContext; + +SqlParser.prototype.resetStatement = function() { + + var localctx = new ResetStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 466, SqlParser.RULE_resetStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5210; + this.match(SqlParser.RESET); + this.state = 5211; + this.match(SqlParser.QUERY); + this.state = 5212; + this.match(SqlParser.CACHE); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ShutdownStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_shutdownStatement; + return this; +} + +ShutdownStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ShutdownStatementContext.prototype.constructor = ShutdownStatementContext; + +ShutdownStatementContext.prototype.SHUTDOWN = function() { + return this.getToken(SqlParser.SHUTDOWN, 0); +}; + +ShutdownStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterShutdownStatement(this); + } +}; + +ShutdownStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitShutdownStatement(this); + } +}; + +ShutdownStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitShutdownStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ShutdownStatementContext = ShutdownStatementContext; + +SqlParser.prototype.shutdownStatement = function() { + + var localctx = new ShutdownStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 468, SqlParser.RULE_shutdownStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5214; + this.match(SqlParser.SHUTDOWN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TableIndexesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tableIndexes; + this.indexFormat = null; // Token + return this; +} + +TableIndexesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TableIndexesContext.prototype.constructor = TableIndexesContext; + +TableIndexesContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +TableIndexesContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +TableIndexesContext.prototype.uidList = function() { + return this.getTypedRuleContext(UidListContext,0); +}; + +TableIndexesContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +TableIndexesContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +TableIndexesContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +TableIndexesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableIndexes(this); + } +}; + +TableIndexesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableIndexes(this); + } +}; + +TableIndexesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableIndexes(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TableIndexesContext = TableIndexesContext; + +SqlParser.prototype.tableIndexes = function() { + + var localctx = new TableIndexesContext(this, this._ctx, this.state); + this.enterRule(localctx, 470, SqlParser.RULE_tableIndexes); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5216; + this.tableName(); + this.state = 5224; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INDEX || _la===SqlParser.KEY || _la===SqlParser.LR_BRACKET) { + this.state = 5218; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INDEX || _la===SqlParser.KEY) { + this.state = 5217; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5220; + this.match(SqlParser.LR_BRACKET); + this.state = 5221; + this.uidList(); + this.state = 5222; + this.match(SqlParser.RR_BRACKET); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FlushOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_flushOption; + return this; +} + +FlushOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FlushOptionContext.prototype.constructor = FlushOptionContext; + + + +FlushOptionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function TableFlushOptionContext(parser, ctx) { + FlushOptionContext.call(this, parser); + FlushOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TableFlushOptionContext.prototype = Object.create(FlushOptionContext.prototype); +TableFlushOptionContext.prototype.constructor = TableFlushOptionContext; + +SqlParser.TableFlushOptionContext = TableFlushOptionContext; + +TableFlushOptionContext.prototype.TABLES = function() { + return this.getToken(SqlParser.TABLES, 0); +}; + +TableFlushOptionContext.prototype.tables = function() { + return this.getTypedRuleContext(TablesContext,0); +}; + +TableFlushOptionContext.prototype.flushTableOption = function() { + return this.getTypedRuleContext(FlushTableOptionContext,0); +}; +TableFlushOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableFlushOption(this); + } +}; + +TableFlushOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableFlushOption(this); + } +}; + +TableFlushOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableFlushOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ChannelFlushOptionContext(parser, ctx) { + FlushOptionContext.call(this, parser); + FlushOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ChannelFlushOptionContext.prototype = Object.create(FlushOptionContext.prototype); +ChannelFlushOptionContext.prototype.constructor = ChannelFlushOptionContext; + +SqlParser.ChannelFlushOptionContext = ChannelFlushOptionContext; + +ChannelFlushOptionContext.prototype.RELAY = function() { + return this.getToken(SqlParser.RELAY, 0); +}; + +ChannelFlushOptionContext.prototype.LOGS = function() { + return this.getToken(SqlParser.LOGS, 0); +}; + +ChannelFlushOptionContext.prototype.channelOption = function() { + return this.getTypedRuleContext(ChannelOptionContext,0); +}; +ChannelFlushOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterChannelFlushOption(this); + } +}; + +ChannelFlushOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitChannelFlushOption(this); + } +}; + +ChannelFlushOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitChannelFlushOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SimpleFlushOptionContext(parser, ctx) { + FlushOptionContext.call(this, parser); + FlushOptionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SimpleFlushOptionContext.prototype = Object.create(FlushOptionContext.prototype); +SimpleFlushOptionContext.prototype.constructor = SimpleFlushOptionContext; + +SqlParser.SimpleFlushOptionContext = SimpleFlushOptionContext; + +SimpleFlushOptionContext.prototype.DES_KEY_FILE = function() { + return this.getToken(SqlParser.DES_KEY_FILE, 0); +}; + +SimpleFlushOptionContext.prototype.HOSTS = function() { + return this.getToken(SqlParser.HOSTS, 0); +}; + +SimpleFlushOptionContext.prototype.LOGS = function() { + return this.getToken(SqlParser.LOGS, 0); +}; + +SimpleFlushOptionContext.prototype.OPTIMIZER_COSTS = function() { + return this.getToken(SqlParser.OPTIMIZER_COSTS, 0); +}; + +SimpleFlushOptionContext.prototype.PRIVILEGES = function() { + return this.getToken(SqlParser.PRIVILEGES, 0); +}; + +SimpleFlushOptionContext.prototype.QUERY = function() { + return this.getToken(SqlParser.QUERY, 0); +}; + +SimpleFlushOptionContext.prototype.CACHE = function() { + return this.getToken(SqlParser.CACHE, 0); +}; + +SimpleFlushOptionContext.prototype.STATUS = function() { + return this.getToken(SqlParser.STATUS, 0); +}; + +SimpleFlushOptionContext.prototype.USER_RESOURCES = function() { + return this.getToken(SqlParser.USER_RESOURCES, 0); +}; + +SimpleFlushOptionContext.prototype.TABLES = function() { + return this.getToken(SqlParser.TABLES, 0); +}; + +SimpleFlushOptionContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +SimpleFlushOptionContext.prototype.READ = function() { + return this.getToken(SqlParser.READ, 0); +}; + +SimpleFlushOptionContext.prototype.LOCK = function() { + return this.getToken(SqlParser.LOCK, 0); +}; + +SimpleFlushOptionContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +SimpleFlushOptionContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +SimpleFlushOptionContext.prototype.ERROR = function() { + return this.getToken(SqlParser.ERROR, 0); +}; + +SimpleFlushOptionContext.prototype.GENERAL = function() { + return this.getToken(SqlParser.GENERAL, 0); +}; + +SimpleFlushOptionContext.prototype.RELAY = function() { + return this.getToken(SqlParser.RELAY, 0); +}; + +SimpleFlushOptionContext.prototype.SLOW = function() { + return this.getToken(SqlParser.SLOW, 0); +}; +SimpleFlushOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleFlushOption(this); + } +}; + +SimpleFlushOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleFlushOption(this); + } +}; + +SimpleFlushOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleFlushOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.FlushOptionContext = FlushOptionContext; + +SqlParser.prototype.flushOption = function() { + + var localctx = new FlushOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 472, SqlParser.RULE_flushOption); + var _la = 0; // Token type + try { + this.state = 5256; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,755,this._ctx); + switch(la_) { + case 1: + localctx = new SimpleFlushOptionContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 5244; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.DES_KEY_FILE: + this.state = 5226; + this.match(SqlParser.DES_KEY_FILE); + break; + case SqlParser.HOSTS: + this.state = 5227; + this.match(SqlParser.HOSTS); + break; + case SqlParser.BINARY: + case SqlParser.ENGINE: + case SqlParser.ERROR: + case SqlParser.GENERAL: + case SqlParser.LOGS: + case SqlParser.RELAY: + case SqlParser.SLOW: + this.state = 5229; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.BINARY || ((((_la - 342)) & ~0x1f) == 0 && ((1 << (_la - 342)) & ((1 << (SqlParser.ENGINE - 342)) | (1 << (SqlParser.ERROR - 342)) | (1 << (SqlParser.GENERAL - 342)))) !== 0) || _la===SqlParser.RELAY || _la===SqlParser.SLOW) { + this.state = 5228; + _la = this._input.LA(1); + if(!(_la===SqlParser.BINARY || ((((_la - 342)) & ~0x1f) == 0 && ((1 << (_la - 342)) & ((1 << (SqlParser.ENGINE - 342)) | (1 << (SqlParser.ERROR - 342)) | (1 << (SqlParser.GENERAL - 342)))) !== 0) || _la===SqlParser.RELAY || _la===SqlParser.SLOW)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5231; + this.match(SqlParser.LOGS); + break; + case SqlParser.OPTIMIZER_COSTS: + this.state = 5232; + this.match(SqlParser.OPTIMIZER_COSTS); + break; + case SqlParser.PRIVILEGES: + this.state = 5233; + this.match(SqlParser.PRIVILEGES); + break; + case SqlParser.QUERY: + this.state = 5234; + this.match(SqlParser.QUERY); + this.state = 5235; + this.match(SqlParser.CACHE); + break; + case SqlParser.STATUS: + this.state = 5236; + this.match(SqlParser.STATUS); + break; + case SqlParser.USER_RESOURCES: + this.state = 5237; + this.match(SqlParser.USER_RESOURCES); + break; + case SqlParser.TABLES: + this.state = 5238; + this.match(SqlParser.TABLES); + this.state = 5242; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.WITH) { + this.state = 5239; + this.match(SqlParser.WITH); + this.state = 5240; + this.match(SqlParser.READ); + this.state = 5241; + this.match(SqlParser.LOCK); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 2: + localctx = new ChannelFlushOptionContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 5246; + this.match(SqlParser.RELAY); + this.state = 5247; + this.match(SqlParser.LOGS); + this.state = 5249; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 5248; + this.channelOption(); + } + + break; + + case 3: + localctx = new TableFlushOptionContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 5251; + this.match(SqlParser.TABLES); + this.state = 5252; + this.tables(); + this.state = 5254; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR || _la===SqlParser.WITH) { + this.state = 5253; + this.flushTableOption(); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FlushTableOptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_flushTableOption; + return this; +} + +FlushTableOptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FlushTableOptionContext.prototype.constructor = FlushTableOptionContext; + +FlushTableOptionContext.prototype.WITH = function() { + return this.getToken(SqlParser.WITH, 0); +}; + +FlushTableOptionContext.prototype.READ = function() { + return this.getToken(SqlParser.READ, 0); +}; + +FlushTableOptionContext.prototype.LOCK = function() { + return this.getToken(SqlParser.LOCK, 0); +}; + +FlushTableOptionContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +FlushTableOptionContext.prototype.EXPORT = function() { + return this.getToken(SqlParser.EXPORT, 0); +}; + +FlushTableOptionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFlushTableOption(this); + } +}; + +FlushTableOptionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFlushTableOption(this); + } +}; + +FlushTableOptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFlushTableOption(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FlushTableOptionContext = FlushTableOptionContext; + +SqlParser.prototype.flushTableOption = function() { + + var localctx = new FlushTableOptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 474, SqlParser.RULE_flushTableOption); + try { + this.state = 5263; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.WITH: + this.enterOuterAlt(localctx, 1); + this.state = 5258; + this.match(SqlParser.WITH); + this.state = 5259; + this.match(SqlParser.READ); + this.state = 5260; + this.match(SqlParser.LOCK); + break; + case SqlParser.FOR: + this.enterOuterAlt(localctx, 2); + this.state = 5261; + this.match(SqlParser.FOR); + this.state = 5262; + this.match(SqlParser.EXPORT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LoadedTableIndexesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_loadedTableIndexes; + this.partitionList = null; // UidListContext + this.indexFormat = null; // Token + this.indexList = null; // UidListContext + return this; +} + +LoadedTableIndexesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LoadedTableIndexesContext.prototype.constructor = LoadedTableIndexesContext; + +LoadedTableIndexesContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +LoadedTableIndexesContext.prototype.PARTITION = function() { + return this.getToken(SqlParser.PARTITION, 0); +}; + +LoadedTableIndexesContext.prototype.LR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LR_BRACKET); + } else { + return this.getToken(SqlParser.LR_BRACKET, i); + } +}; + + +LoadedTableIndexesContext.prototype.RR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.RR_BRACKET); + } else { + return this.getToken(SqlParser.RR_BRACKET, i); + } +}; + + +LoadedTableIndexesContext.prototype.IGNORE = function() { + return this.getToken(SqlParser.IGNORE, 0); +}; + +LoadedTableIndexesContext.prototype.LEAVES = function() { + return this.getToken(SqlParser.LEAVES, 0); +}; + +LoadedTableIndexesContext.prototype.uidList = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidListContext); + } else { + return this.getTypedRuleContext(UidListContext,i); + } +}; + +LoadedTableIndexesContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +LoadedTableIndexesContext.prototype.INDEX = function() { + return this.getToken(SqlParser.INDEX, 0); +}; + +LoadedTableIndexesContext.prototype.KEY = function() { + return this.getToken(SqlParser.KEY, 0); +}; + +LoadedTableIndexesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLoadedTableIndexes(this); + } +}; + +LoadedTableIndexesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLoadedTableIndexes(this); + } +}; + +LoadedTableIndexesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLoadedTableIndexes(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LoadedTableIndexesContext = LoadedTableIndexesContext; + +SqlParser.prototype.loadedTableIndexes = function() { + + var localctx = new LoadedTableIndexesContext(this, this._ctx, this.state); + this.enterRule(localctx, 476, SqlParser.RULE_loadedTableIndexes); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5265; + this.tableName(); + this.state = 5273; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PARTITION) { + this.state = 5266; + this.match(SqlParser.PARTITION); + this.state = 5267; + this.match(SqlParser.LR_BRACKET); + this.state = 5270; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + this.state = 5268; + localctx.partitionList = this.uidList(); + break; + case SqlParser.ALL: + this.state = 5269; + this.match(SqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5272; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 5282; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,760,this._ctx); + if(la_===1) { + this.state = 5276; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INDEX || _la===SqlParser.KEY) { + this.state = 5275; + localctx.indexFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.INDEX || _la===SqlParser.KEY)) { + localctx.indexFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5278; + this.match(SqlParser.LR_BRACKET); + this.state = 5279; + localctx.indexList = this.uidList(); + this.state = 5280; + this.match(SqlParser.RR_BRACKET); + + } + this.state = 5286; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.IGNORE) { + this.state = 5284; + this.match(SqlParser.IGNORE); + this.state = 5285; + this.match(SqlParser.LEAVES); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SimpleDescribeStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_simpleDescribeStatement; + this.command = null; // Token + this.column = null; // UidContext + this.pattern = null; // Token + return this; +} + +SimpleDescribeStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SimpleDescribeStatementContext.prototype.constructor = SimpleDescribeStatementContext; + +SimpleDescribeStatementContext.prototype.tableName = function() { + return this.getTypedRuleContext(TableNameContext,0); +}; + +SimpleDescribeStatementContext.prototype.EXPLAIN = function() { + return this.getToken(SqlParser.EXPLAIN, 0); +}; + +SimpleDescribeStatementContext.prototype.DESCRIBE = function() { + return this.getToken(SqlParser.DESCRIBE, 0); +}; + +SimpleDescribeStatementContext.prototype.DESC = function() { + return this.getToken(SqlParser.DESC, 0); +}; + +SimpleDescribeStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +SimpleDescribeStatementContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +SimpleDescribeStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleDescribeStatement(this); + } +}; + +SimpleDescribeStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleDescribeStatement(this); + } +}; + +SimpleDescribeStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleDescribeStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SimpleDescribeStatementContext = SimpleDescribeStatementContext; + +SqlParser.prototype.simpleDescribeStatement = function() { + + var localctx = new SimpleDescribeStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 478, SqlParser.RULE_simpleDescribeStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5288; + localctx.command = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 41)) & ~0x1f) == 0 && ((1 << (_la - 41)) & ((1 << (SqlParser.DESC - 41)) | (1 << (SqlParser.DESCRIBE - 41)) | (1 << (SqlParser.EXPLAIN - 41)))) !== 0))) { + localctx.command = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5289; + this.tableName(); + this.state = 5292; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,762,this._ctx); + if(la_===1) { + this.state = 5290; + localctx.column = this.uid(); + + } else if(la_===2) { + this.state = 5291; + localctx.pattern = this.match(SqlParser.STRING_LITERAL); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FullDescribeStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_fullDescribeStatement; + this.command = null; // Token + this.formatType = null; // Token + this.formatValue = null; // Token + return this; +} + +FullDescribeStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FullDescribeStatementContext.prototype.constructor = FullDescribeStatementContext; + +FullDescribeStatementContext.prototype.describeObjectClause = function() { + return this.getTypedRuleContext(DescribeObjectClauseContext,0); +}; + +FullDescribeStatementContext.prototype.EXPLAIN = function() { + return this.getToken(SqlParser.EXPLAIN, 0); +}; + +FullDescribeStatementContext.prototype.DESCRIBE = function() { + return this.getToken(SqlParser.DESCRIBE, 0); +}; + +FullDescribeStatementContext.prototype.DESC = function() { + return this.getToken(SqlParser.DESC, 0); +}; + +FullDescribeStatementContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +FullDescribeStatementContext.prototype.EXTENDED = function() { + return this.getToken(SqlParser.EXTENDED, 0); +}; + +FullDescribeStatementContext.prototype.PARTITIONS = function() { + return this.getToken(SqlParser.PARTITIONS, 0); +}; + +FullDescribeStatementContext.prototype.FORMAT = function() { + return this.getToken(SqlParser.FORMAT, 0); +}; + +FullDescribeStatementContext.prototype.TRADITIONAL = function() { + return this.getToken(SqlParser.TRADITIONAL, 0); +}; + +FullDescribeStatementContext.prototype.JSON = function() { + return this.getToken(SqlParser.JSON, 0); +}; + +FullDescribeStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFullDescribeStatement(this); + } +}; + +FullDescribeStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFullDescribeStatement(this); + } +}; + +FullDescribeStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFullDescribeStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FullDescribeStatementContext = FullDescribeStatementContext; + +SqlParser.prototype.fullDescribeStatement = function() { + + var localctx = new FullDescribeStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 480, SqlParser.RULE_fullDescribeStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5294; + localctx.command = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 41)) & ~0x1f) == 0 && ((1 << (_la - 41)) & ((1 << (SqlParser.DESC - 41)) | (1 << (SqlParser.DESCRIBE - 41)) | (1 << (SqlParser.EXPLAIN - 41)))) !== 0))) { + localctx.command = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5298; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.EXTENDED || _la===SqlParser.PARTITIONS || _la===SqlParser.FORMAT) { + this.state = 5295; + localctx.formatType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.EXTENDED || _la===SqlParser.PARTITIONS || _la===SqlParser.FORMAT)) { + localctx.formatType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5296; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 5297; + localctx.formatValue = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.JSON || _la===SqlParser.TRADITIONAL)) { + localctx.formatValue = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5300; + this.describeObjectClause(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HelpStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_helpStatement; + return this; +} + +HelpStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HelpStatementContext.prototype.constructor = HelpStatementContext; + +HelpStatementContext.prototype.HELP = function() { + return this.getToken(SqlParser.HELP, 0); +}; + +HelpStatementContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +HelpStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHelpStatement(this); + } +}; + +HelpStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHelpStatement(this); + } +}; + +HelpStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHelpStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.HelpStatementContext = HelpStatementContext; + +SqlParser.prototype.helpStatement = function() { + + var localctx = new HelpStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 482, SqlParser.RULE_helpStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5302; + this.match(SqlParser.HELP); + this.state = 5303; + this.match(SqlParser.STRING_LITERAL); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UseStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_useStatement; + return this; +} + +UseStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UseStatementContext.prototype.constructor = UseStatementContext; + +UseStatementContext.prototype.USE = function() { + return this.getToken(SqlParser.USE, 0); +}; + +UseStatementContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +UseStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUseStatement(this); + } +}; + +UseStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUseStatement(this); + } +}; + +UseStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUseStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UseStatementContext = UseStatementContext; + +SqlParser.prototype.useStatement = function() { + + var localctx = new UseStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 484, SqlParser.RULE_useStatement); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5305; + this.match(SqlParser.USE); + this.state = 5306; + this.uid(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SignalStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_signalStatement; + return this; +} + +SignalStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SignalStatementContext.prototype.constructor = SignalStatementContext; + +SignalStatementContext.prototype.SIGNAL = function() { + return this.getToken(SqlParser.SIGNAL, 0); +}; + +SignalStatementContext.prototype.ID = function() { + return this.getToken(SqlParser.ID, 0); +}; + +SignalStatementContext.prototype.REVERSE_QUOTE_ID = function() { + return this.getToken(SqlParser.REVERSE_QUOTE_ID, 0); +}; + +SignalStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +SignalStatementContext.prototype.signalConditionInformation = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SignalConditionInformationContext); + } else { + return this.getTypedRuleContext(SignalConditionInformationContext,i); + } +}; + +SignalStatementContext.prototype.SQLSTATE = function() { + return this.getToken(SqlParser.SQLSTATE, 0); +}; + +SignalStatementContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +SignalStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +SignalStatementContext.prototype.VALUE = function() { + return this.getToken(SqlParser.VALUE, 0); +}; + +SignalStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSignalStatement(this); + } +}; + +SignalStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSignalStatement(this); + } +}; + +SignalStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSignalStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SignalStatementContext = SignalStatementContext; + +SqlParser.prototype.signalStatement = function() { + + var localctx = new SignalStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 486, SqlParser.RULE_signalStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5308; + this.match(SqlParser.SIGNAL); + this.state = 5316; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SQLSTATE: + this.state = 5309; + this.match(SqlParser.SQLSTATE); + this.state = 5311; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.VALUE) { + this.state = 5310; + this.match(SqlParser.VALUE); + } + + this.state = 5313; + this.stringLiteral(); + break; + case SqlParser.ID: + this.state = 5314; + this.match(SqlParser.ID); + break; + case SqlParser.REVERSE_QUOTE_ID: + this.state = 5315; + this.match(SqlParser.REVERSE_QUOTE_ID); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5327; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,767,this._ctx); + if(la_===1) { + this.state = 5318; + this.match(SqlParser.SET); + this.state = 5319; + this.signalConditionInformation(); + this.state = 5324; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5320; + this.match(SqlParser.COMMA); + this.state = 5321; + this.signalConditionInformation(); + this.state = 5326; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ResignalStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_resignalStatement; + return this; +} + +ResignalStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ResignalStatementContext.prototype.constructor = ResignalStatementContext; + +ResignalStatementContext.prototype.RESIGNAL = function() { + return this.getToken(SqlParser.RESIGNAL, 0); +}; + +ResignalStatementContext.prototype.ID = function() { + return this.getToken(SqlParser.ID, 0); +}; + +ResignalStatementContext.prototype.REVERSE_QUOTE_ID = function() { + return this.getToken(SqlParser.REVERSE_QUOTE_ID, 0); +}; + +ResignalStatementContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +ResignalStatementContext.prototype.signalConditionInformation = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(SignalConditionInformationContext); + } else { + return this.getTypedRuleContext(SignalConditionInformationContext,i); + } +}; + +ResignalStatementContext.prototype.SQLSTATE = function() { + return this.getToken(SqlParser.SQLSTATE, 0); +}; + +ResignalStatementContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +ResignalStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ResignalStatementContext.prototype.VALUE = function() { + return this.getToken(SqlParser.VALUE, 0); +}; + +ResignalStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterResignalStatement(this); + } +}; + +ResignalStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitResignalStatement(this); + } +}; + +ResignalStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitResignalStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ResignalStatementContext = ResignalStatementContext; + +SqlParser.prototype.resignalStatement = function() { + + var localctx = new ResignalStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 488, SqlParser.RULE_resignalStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5329; + this.match(SqlParser.RESIGNAL); + this.state = 5337; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case SqlParser.SQLSTATE: + this.state = 5330; + this.match(SqlParser.SQLSTATE); + this.state = 5332; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.VALUE) { + this.state = 5331; + this.match(SqlParser.VALUE); + } + + this.state = 5334; + this.stringLiteral(); + break; + case SqlParser.ID: + this.state = 5335; + this.match(SqlParser.ID); + break; + case SqlParser.REVERSE_QUOTE_ID: + this.state = 5336; + this.match(SqlParser.REVERSE_QUOTE_ID); + break; + case SqlParser.EOF: + case SqlParser.ALTER: + case SqlParser.ANALYZE: + case SqlParser.CALL: + case SqlParser.CHANGE: + case SqlParser.CHECK: + case SqlParser.CREATE: + case SqlParser.DELETE: + case SqlParser.DESC: + case SqlParser.DESCRIBE: + case SqlParser.DROP: + case SqlParser.EXPLAIN: + case SqlParser.GET: + case SqlParser.GRANT: + case SqlParser.INSERT: + case SqlParser.KILL: + case SqlParser.LOAD: + case SqlParser.LOCK: + case SqlParser.OPTIMIZE: + case SqlParser.PURGE: + case SqlParser.RELEASE: + case SqlParser.RENAME: + case SqlParser.REPLACE: + case SqlParser.RESIGNAL: + case SqlParser.REVOKE: + case SqlParser.SELECT: + case SqlParser.SET: + case SqlParser.SHOW: + case SqlParser.SIGNAL: + case SqlParser.UNLOCK: + case SqlParser.UPDATE: + case SqlParser.USE: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.CACHE: + case SqlParser.CHECKSUM: + case SqlParser.COMMIT: + case SqlParser.DEALLOCATE: + case SqlParser.DO: + case SqlParser.FLUSH: + case SqlParser.HANDLER: + case SqlParser.HELP: + case SqlParser.INSTALL: + case SqlParser.PREPARE: + case SqlParser.REPAIR: + case SqlParser.RESET: + case SqlParser.ROLLBACK: + case SqlParser.SAVEPOINT: + case SqlParser.START: + case SqlParser.STOP: + case SqlParser.TRUNCATE: + case SqlParser.UNINSTALL: + case SqlParser.XA: + case SqlParser.EXECUTE: + case SqlParser.SHUTDOWN: + case SqlParser.MINUSMINUS: + case SqlParser.LR_BRACKET: + case SqlParser.SEMI: + break; + default: + break; + } + this.state = 5348; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,771,this._ctx); + if(la_===1) { + this.state = 5339; + this.match(SqlParser.SET); + this.state = 5340; + this.signalConditionInformation(); + this.state = 5345; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5341; + this.match(SqlParser.COMMA); + this.state = 5342; + this.signalConditionInformation(); + this.state = 5347; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SignalConditionInformationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_signalConditionInformation; + return this; +} + +SignalConditionInformationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SignalConditionInformationContext.prototype.constructor = SignalConditionInformationContext; + +SignalConditionInformationContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +SignalConditionInformationContext.prototype.CLASS_ORIGIN = function() { + return this.getToken(SqlParser.CLASS_ORIGIN, 0); +}; + +SignalConditionInformationContext.prototype.SUBCLASS_ORIGIN = function() { + return this.getToken(SqlParser.SUBCLASS_ORIGIN, 0); +}; + +SignalConditionInformationContext.prototype.MESSAGE_TEXT = function() { + return this.getToken(SqlParser.MESSAGE_TEXT, 0); +}; + +SignalConditionInformationContext.prototype.MYSQL_ERRNO = function() { + return this.getToken(SqlParser.MYSQL_ERRNO, 0); +}; + +SignalConditionInformationContext.prototype.CONSTRAINT_CATALOG = function() { + return this.getToken(SqlParser.CONSTRAINT_CATALOG, 0); +}; + +SignalConditionInformationContext.prototype.CONSTRAINT_SCHEMA = function() { + return this.getToken(SqlParser.CONSTRAINT_SCHEMA, 0); +}; + +SignalConditionInformationContext.prototype.CONSTRAINT_NAME = function() { + return this.getToken(SqlParser.CONSTRAINT_NAME, 0); +}; + +SignalConditionInformationContext.prototype.CATALOG_NAME = function() { + return this.getToken(SqlParser.CATALOG_NAME, 0); +}; + +SignalConditionInformationContext.prototype.SCHEMA_NAME = function() { + return this.getToken(SqlParser.SCHEMA_NAME, 0); +}; + +SignalConditionInformationContext.prototype.TABLE_NAME = function() { + return this.getToken(SqlParser.TABLE_NAME, 0); +}; + +SignalConditionInformationContext.prototype.COLUMN_NAME = function() { + return this.getToken(SqlParser.COLUMN_NAME, 0); +}; + +SignalConditionInformationContext.prototype.CURSOR_NAME = function() { + return this.getToken(SqlParser.CURSOR_NAME, 0); +}; + +SignalConditionInformationContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +SignalConditionInformationContext.prototype.DECIMAL_LITERAL = function() { + return this.getToken(SqlParser.DECIMAL_LITERAL, 0); +}; + +SignalConditionInformationContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSignalConditionInformation(this); + } +}; + +SignalConditionInformationContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSignalConditionInformation(this); + } +}; + +SignalConditionInformationContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSignalConditionInformation(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SignalConditionInformationContext = SignalConditionInformationContext; + +SqlParser.prototype.signalConditionInformation = function() { + + var localctx = new SignalConditionInformationContext(this, this._ctx, this.state); + this.enterRule(localctx, 490, SqlParser.RULE_signalConditionInformation); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5350; + _la = this._input.LA(1); + if(!(((((_la - 297)) & ~0x1f) == 0 && ((1 << (_la - 297)) & ((1 << (SqlParser.CLASS_ORIGIN - 297)) | (1 << (SqlParser.COLUMN_NAME - 297)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 297)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 297)) | (1 << (SqlParser.CONSTRAINT_NAME - 297)) | (1 << (SqlParser.CURSOR_NAME - 297)))) !== 0) || _la===SqlParser.MESSAGE_TEXT || _la===SqlParser.MYSQL_ERRNO || _la===SqlParser.SUBCLASS_ORIGIN || _la===SqlParser.TABLE_NAME || _la===SqlParser.CATALOG_NAME || _la===SqlParser.SCHEMA_NAME)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5351; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 5354; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.START_NATIONAL_STRING_LITERAL: + case SqlParser.STRING_LITERAL: + case SqlParser.STRING_CHARSET_NAME: + this.state = 5352; + this.stringLiteral(); + break; + case SqlParser.DECIMAL_LITERAL: + this.state = 5353; + this.match(SqlParser.DECIMAL_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DiagnosticsStatementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_diagnosticsStatement; + return this; +} + +DiagnosticsStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DiagnosticsStatementContext.prototype.constructor = DiagnosticsStatementContext; + +DiagnosticsStatementContext.prototype.GET = function() { + return this.getToken(SqlParser.GET, 0); +}; + +DiagnosticsStatementContext.prototype.DIAGNOSTICS = function() { + return this.getToken(SqlParser.DIAGNOSTICS, 0); +}; + +DiagnosticsStatementContext.prototype.CURRENT = function() { + return this.getToken(SqlParser.CURRENT, 0); +}; + +DiagnosticsStatementContext.prototype.STACKED = function() { + return this.getToken(SqlParser.STACKED, 0); +}; + +DiagnosticsStatementContext.prototype.variableClause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(VariableClauseContext); + } else { + return this.getTypedRuleContext(VariableClauseContext,i); + } +}; + +DiagnosticsStatementContext.prototype.EQUAL_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.EQUAL_SYMBOL); + } else { + return this.getToken(SqlParser.EQUAL_SYMBOL, i); + } +}; + + +DiagnosticsStatementContext.prototype.CONDITION = function() { + return this.getToken(SqlParser.CONDITION, 0); +}; + +DiagnosticsStatementContext.prototype.diagnosticsConditionInformationName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DiagnosticsConditionInformationNameContext); + } else { + return this.getTypedRuleContext(DiagnosticsConditionInformationNameContext,i); + } +}; + +DiagnosticsStatementContext.prototype.NUMBER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.NUMBER); + } else { + return this.getToken(SqlParser.NUMBER, i); + } +}; + + +DiagnosticsStatementContext.prototype.ROW_COUNT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.ROW_COUNT); + } else { + return this.getToken(SqlParser.ROW_COUNT, i); + } +}; + + +DiagnosticsStatementContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +DiagnosticsStatementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +DiagnosticsStatementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDiagnosticsStatement(this); + } +}; + +DiagnosticsStatementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDiagnosticsStatement(this); + } +}; + +DiagnosticsStatementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDiagnosticsStatement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DiagnosticsStatementContext = DiagnosticsStatementContext; + +SqlParser.prototype.diagnosticsStatement = function() { + + var localctx = new DiagnosticsStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 492, SqlParser.RULE_diagnosticsStatement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5356; + this.match(SqlParser.GET); + this.state = 5358; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CURRENT || _la===SqlParser.STACKED) { + this.state = 5357; + _la = this._input.LA(1); + if(!(_la===SqlParser.CURRENT || _la===SqlParser.STACKED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5360; + this.match(SqlParser.DIAGNOSTICS); + this.state = 5392; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.AT_SIGN: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + case SqlParser.LOCAL_ID: + case SqlParser.GLOBAL_ID: + this.state = 5361; + this.variableClause(); + this.state = 5362; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 5363; + _la = this._input.LA(1); + if(!(_la===SqlParser.NUMBER || _la===SqlParser.ROW_COUNT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5371; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5364; + this.match(SqlParser.COMMA); + this.state = 5365; + this.variableClause(); + this.state = 5366; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 5367; + _la = this._input.LA(1); + if(!(_la===SqlParser.NUMBER || _la===SqlParser.ROW_COUNT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5373; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case SqlParser.CONDITION: + this.state = 5374; + this.match(SqlParser.CONDITION); + this.state = 5377; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.DECIMAL_LITERAL: + this.state = 5375; + this.decimalLiteral(); + break; + case SqlParser.CURRENT: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.LEFT: + case SqlParser.NUMBER: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.AT_SIGN: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.STRING_LITERAL: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + case SqlParser.LOCAL_ID: + case SqlParser.GLOBAL_ID: + this.state = 5376; + this.variableClause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5379; + this.variableClause(); + this.state = 5380; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 5381; + this.diagnosticsConditionInformationName(); + this.state = 5389; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5382; + this.match(SqlParser.COMMA); + this.state = 5383; + this.variableClause(); + this.state = 5384; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 5385; + this.diagnosticsConditionInformationName(); + this.state = 5391; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DiagnosticsConditionInformationNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_diagnosticsConditionInformationName; + return this; +} + +DiagnosticsConditionInformationNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DiagnosticsConditionInformationNameContext.prototype.constructor = DiagnosticsConditionInformationNameContext; + +DiagnosticsConditionInformationNameContext.prototype.CLASS_ORIGIN = function() { + return this.getToken(SqlParser.CLASS_ORIGIN, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.SUBCLASS_ORIGIN = function() { + return this.getToken(SqlParser.SUBCLASS_ORIGIN, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.RETURNED_SQLSTATE = function() { + return this.getToken(SqlParser.RETURNED_SQLSTATE, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.MESSAGE_TEXT = function() { + return this.getToken(SqlParser.MESSAGE_TEXT, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.MYSQL_ERRNO = function() { + return this.getToken(SqlParser.MYSQL_ERRNO, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.CONSTRAINT_CATALOG = function() { + return this.getToken(SqlParser.CONSTRAINT_CATALOG, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.CONSTRAINT_SCHEMA = function() { + return this.getToken(SqlParser.CONSTRAINT_SCHEMA, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.CONSTRAINT_NAME = function() { + return this.getToken(SqlParser.CONSTRAINT_NAME, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.CATALOG_NAME = function() { + return this.getToken(SqlParser.CATALOG_NAME, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.SCHEMA_NAME = function() { + return this.getToken(SqlParser.SCHEMA_NAME, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.TABLE_NAME = function() { + return this.getToken(SqlParser.TABLE_NAME, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.COLUMN_NAME = function() { + return this.getToken(SqlParser.COLUMN_NAME, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.CURSOR_NAME = function() { + return this.getToken(SqlParser.CURSOR_NAME, 0); +}; + +DiagnosticsConditionInformationNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDiagnosticsConditionInformationName(this); + } +}; + +DiagnosticsConditionInformationNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDiagnosticsConditionInformationName(this); + } +}; + +DiagnosticsConditionInformationNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDiagnosticsConditionInformationName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DiagnosticsConditionInformationNameContext = DiagnosticsConditionInformationNameContext; + +SqlParser.prototype.diagnosticsConditionInformationName = function() { + + var localctx = new DiagnosticsConditionInformationNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 494, SqlParser.RULE_diagnosticsConditionInformationName); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5394; + _la = this._input.LA(1); + if(!(((((_la - 297)) & ~0x1f) == 0 && ((1 << (_la - 297)) & ((1 << (SqlParser.CLASS_ORIGIN - 297)) | (1 << (SqlParser.COLUMN_NAME - 297)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 297)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 297)) | (1 << (SqlParser.CONSTRAINT_NAME - 297)) | (1 << (SqlParser.CURSOR_NAME - 297)))) !== 0) || _la===SqlParser.MESSAGE_TEXT || _la===SqlParser.MYSQL_ERRNO || _la===SqlParser.RETURNED_SQLSTATE || _la===SqlParser.SUBCLASS_ORIGIN || _la===SqlParser.TABLE_NAME || _la===SqlParser.CATALOG_NAME || _la===SqlParser.SCHEMA_NAME)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DescribeObjectClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_describeObjectClause; + return this; +} + +DescribeObjectClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DescribeObjectClauseContext.prototype.constructor = DescribeObjectClauseContext; + + + +DescribeObjectClauseContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function DescribeStatementsContext(parser, ctx) { + DescribeObjectClauseContext.call(this, parser); + DescribeObjectClauseContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DescribeStatementsContext.prototype = Object.create(DescribeObjectClauseContext.prototype); +DescribeStatementsContext.prototype.constructor = DescribeStatementsContext; + +SqlParser.DescribeStatementsContext = DescribeStatementsContext; + +DescribeStatementsContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +DescribeStatementsContext.prototype.deleteStatement = function() { + return this.getTypedRuleContext(DeleteStatementContext,0); +}; + +DescribeStatementsContext.prototype.insertStatement = function() { + return this.getTypedRuleContext(InsertStatementContext,0); +}; + +DescribeStatementsContext.prototype.replaceStatement = function() { + return this.getTypedRuleContext(ReplaceStatementContext,0); +}; + +DescribeStatementsContext.prototype.updateStatement = function() { + return this.getTypedRuleContext(UpdateStatementContext,0); +}; +DescribeStatementsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDescribeStatements(this); + } +}; + +DescribeStatementsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDescribeStatements(this); + } +}; + +DescribeStatementsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDescribeStatements(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DescribeConnectionContext(parser, ctx) { + DescribeObjectClauseContext.call(this, parser); + DescribeObjectClauseContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DescribeConnectionContext.prototype = Object.create(DescribeObjectClauseContext.prototype); +DescribeConnectionContext.prototype.constructor = DescribeConnectionContext; + +SqlParser.DescribeConnectionContext = DescribeConnectionContext; + +DescribeConnectionContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; + +DescribeConnectionContext.prototype.CONNECTION = function() { + return this.getToken(SqlParser.CONNECTION, 0); +}; + +DescribeConnectionContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; +DescribeConnectionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDescribeConnection(this); + } +}; + +DescribeConnectionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDescribeConnection(this); + } +}; + +DescribeConnectionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDescribeConnection(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.DescribeObjectClauseContext = DescribeObjectClauseContext; + +SqlParser.prototype.describeObjectClause = function() { + + var localctx = new DescribeObjectClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 496, SqlParser.RULE_describeObjectClause); + try { + this.state = 5406; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.DELETE: + case SqlParser.INSERT: + case SqlParser.REPLACE: + case SqlParser.SELECT: + case SqlParser.UPDATE: + case SqlParser.LR_BRACKET: + localctx = new DescribeStatementsContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 5401; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.SELECT: + case SqlParser.LR_BRACKET: + this.state = 5396; + this.selectStatement(); + break; + case SqlParser.DELETE: + this.state = 5397; + this.deleteStatement(); + break; + case SqlParser.INSERT: + this.state = 5398; + this.insertStatement(); + break; + case SqlParser.REPLACE: + this.state = 5399; + this.replaceStatement(); + break; + case SqlParser.UPDATE: + this.state = 5400; + this.updateStatement(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case SqlParser.FOR: + localctx = new DescribeConnectionContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 5403; + this.match(SqlParser.FOR); + this.state = 5404; + this.match(SqlParser.CONNECTION); + this.state = 5405; + this.uid(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FullIdContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_fullId; + return this; +} + +FullIdContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FullIdContext.prototype.constructor = FullIdContext; + +FullIdContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +FullIdContext.prototype.DOT_ID = function() { + return this.getToken(SqlParser.DOT_ID, 0); +}; + +FullIdContext.prototype.DOT = function() { + return this.getToken(SqlParser.DOT, 0); +}; + +FullIdContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFullId(this); + } +}; + +FullIdContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFullId(this); + } +}; + +FullIdContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFullId(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FullIdContext = FullIdContext; + +SqlParser.prototype.fullId = function() { + + var localctx = new FullIdContext(this, this._ctx, this.state); + this.enterRule(localctx, 498, SqlParser.RULE_fullId); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5408; + this.uid(); + this.state = 5412; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,780,this._ctx); + if(la_===1) { + this.state = 5409; + this.match(SqlParser.DOT_ID); + + } else if(la_===2) { + this.state = 5410; + this.match(SqlParser.DOT); + this.state = 5411; + this.uid(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TableNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tableName; + return this; +} + +TableNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TableNameContext.prototype.constructor = TableNameContext; + +TableNameContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +TableNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTableName(this); + } +}; + +TableNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTableName(this); + } +}; + +TableNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTableName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TableNameContext = TableNameContext; + +SqlParser.prototype.tableName = function() { + + var localctx = new TableNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 500, SqlParser.RULE_tableName); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5414; + this.fullId(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FullColumnNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_fullColumnName; + return this; +} + +FullColumnNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FullColumnNameContext.prototype.constructor = FullColumnNameContext; + +FullColumnNameContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +FullColumnNameContext.prototype.dottedId = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DottedIdContext); + } else { + return this.getTypedRuleContext(DottedIdContext,i); + } +}; + +FullColumnNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFullColumnName(this); + } +}; + +FullColumnNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFullColumnName(this); + } +}; + +FullColumnNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFullColumnName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FullColumnNameContext = FullColumnNameContext; + +SqlParser.prototype.fullColumnName = function() { + + var localctx = new FullColumnNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 502, SqlParser.RULE_fullColumnName); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5416; + this.uid(); + this.state = 5421; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,782,this._ctx); + if(la_===1) { + this.state = 5417; + this.dottedId(); + this.state = 5419; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,781,this._ctx); + if(la_===1) { + this.state = 5418; + this.dottedId(); + + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IndexColumnNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_indexColumnName; + this.sortType = null; // Token + return this; +} + +IndexColumnNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IndexColumnNameContext.prototype.constructor = IndexColumnNameContext; + +IndexColumnNameContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +IndexColumnNameContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +IndexColumnNameContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +IndexColumnNameContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +IndexColumnNameContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +IndexColumnNameContext.prototype.ASC = function() { + return this.getToken(SqlParser.ASC, 0); +}; + +IndexColumnNameContext.prototype.DESC = function() { + return this.getToken(SqlParser.DESC, 0); +}; + +IndexColumnNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIndexColumnName(this); + } +}; + +IndexColumnNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIndexColumnName(this); + } +}; + +IndexColumnNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIndexColumnName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IndexColumnNameContext = IndexColumnNameContext; + +SqlParser.prototype.indexColumnName = function() { + + var localctx = new IndexColumnNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 504, SqlParser.RULE_indexColumnName); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5425; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,783,this._ctx); + switch(la_) { + case 1: + this.state = 5423; + this.uid(); + break; + + case 2: + this.state = 5424; + this.match(SqlParser.STRING_LITERAL); + break; + + } + this.state = 5431; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LR_BRACKET) { + this.state = 5427; + this.match(SqlParser.LR_BRACKET); + this.state = 5428; + this.decimalLiteral(); + this.state = 5429; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 5434; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ASC || _la===SqlParser.DESC) { + this.state = 5433; + localctx.sortType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ASC || _la===SqlParser.DESC)) { + localctx.sortType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UserNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_userName; + return this; +} + +UserNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UserNameContext.prototype.constructor = UserNameContext; + +UserNameContext.prototype.STRING_USER_NAME = function() { + return this.getToken(SqlParser.STRING_USER_NAME, 0); +}; + +UserNameContext.prototype.ID = function() { + return this.getToken(SqlParser.ID, 0); +}; + +UserNameContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +UserNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUserName(this); + } +}; + +UserNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUserName(this); + } +}; + +UserNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUserName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UserNameContext = UserNameContext; + +SqlParser.prototype.userName = function() { + + var localctx = new UserNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 506, SqlParser.RULE_userName); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5436; + _la = this._input.LA(1); + if(!(((((_la - 1035)) & ~0x1f) == 0 && ((1 << (_la - 1035)) & ((1 << (SqlParser.STRING_LITERAL - 1035)) | (1 << (SqlParser.ID - 1035)) | (1 << (SqlParser.STRING_USER_NAME - 1035)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function MysqlVariableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_mysqlVariable; + return this; +} + +MysqlVariableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +MysqlVariableContext.prototype.constructor = MysqlVariableContext; + +MysqlVariableContext.prototype.LOCAL_ID = function() { + return this.getToken(SqlParser.LOCAL_ID, 0); +}; + +MysqlVariableContext.prototype.GLOBAL_ID = function() { + return this.getToken(SqlParser.GLOBAL_ID, 0); +}; + +MysqlVariableContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMysqlVariable(this); + } +}; + +MysqlVariableContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMysqlVariable(this); + } +}; + +MysqlVariableContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMysqlVariable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.MysqlVariableContext = MysqlVariableContext; + +SqlParser.prototype.mysqlVariable = function() { + + var localctx = new MysqlVariableContext(this, this._ctx, this.state); + this.enterRule(localctx, 508, SqlParser.RULE_mysqlVariable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5438; + _la = this._input.LA(1); + if(!(_la===SqlParser.LOCAL_ID || _la===SqlParser.GLOBAL_ID)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CharsetNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_charsetName; + return this; +} + +CharsetNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CharsetNameContext.prototype.constructor = CharsetNameContext; + +CharsetNameContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +CharsetNameContext.prototype.charsetNameBase = function() { + return this.getTypedRuleContext(CharsetNameBaseContext,0); +}; + +CharsetNameContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +CharsetNameContext.prototype.CHARSET_REVERSE_QOUTE_STRING = function() { + return this.getToken(SqlParser.CHARSET_REVERSE_QOUTE_STRING, 0); +}; + +CharsetNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCharsetName(this); + } +}; + +CharsetNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCharsetName(this); + } +}; + +CharsetNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCharsetName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CharsetNameContext = CharsetNameContext; + +SqlParser.prototype.charsetName = function() { + + var localctx = new CharsetNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 510, SqlParser.RULE_charsetName); + try { + this.state = 5444; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.BINARY: + this.enterOuterAlt(localctx, 1); + this.state = 5440; + this.match(SqlParser.BINARY); + break; + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + this.enterOuterAlt(localctx, 2); + this.state = 5441; + this.charsetNameBase(); + break; + case SqlParser.STRING_LITERAL: + this.enterOuterAlt(localctx, 3); + this.state = 5442; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + this.enterOuterAlt(localctx, 4); + this.state = 5443; + this.match(SqlParser.CHARSET_REVERSE_QOUTE_STRING); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CollationNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_collationName; + return this; +} + +CollationNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CollationNameContext.prototype.constructor = CollationNameContext; + +CollationNameContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +CollationNameContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +CollationNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCollationName(this); + } +}; + +CollationNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCollationName(this); + } +}; + +CollationNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCollationName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CollationNameContext = CollationNameContext; + +SqlParser.prototype.collationName = function() { + + var localctx = new CollationNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 512, SqlParser.RULE_collationName); + try { + this.state = 5448; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,787,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5446; + this.uid(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5447; + this.match(SqlParser.STRING_LITERAL); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function EngineNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_engineName; + return this; +} + +EngineNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +EngineNameContext.prototype.constructor = EngineNameContext; + +EngineNameContext.prototype.ARCHIVE = function() { + return this.getToken(SqlParser.ARCHIVE, 0); +}; + +EngineNameContext.prototype.BLACKHOLE = function() { + return this.getToken(SqlParser.BLACKHOLE, 0); +}; + +EngineNameContext.prototype.CSV = function() { + return this.getToken(SqlParser.CSV, 0); +}; + +EngineNameContext.prototype.FEDERATED = function() { + return this.getToken(SqlParser.FEDERATED, 0); +}; + +EngineNameContext.prototype.INNODB = function() { + return this.getToken(SqlParser.INNODB, 0); +}; + +EngineNameContext.prototype.MEMORY = function() { + return this.getToken(SqlParser.MEMORY, 0); +}; + +EngineNameContext.prototype.MRG_MYISAM = function() { + return this.getToken(SqlParser.MRG_MYISAM, 0); +}; + +EngineNameContext.prototype.MYISAM = function() { + return this.getToken(SqlParser.MYISAM, 0); +}; + +EngineNameContext.prototype.NDB = function() { + return this.getToken(SqlParser.NDB, 0); +}; + +EngineNameContext.prototype.NDBCLUSTER = function() { + return this.getToken(SqlParser.NDBCLUSTER, 0); +}; + +EngineNameContext.prototype.PERFORMANCE_SCHEMA = function() { + return this.getToken(SqlParser.PERFORMANCE_SCHEMA, 0); +}; + +EngineNameContext.prototype.TOKUDB = function() { + return this.getToken(SqlParser.TOKUDB, 0); +}; + +EngineNameContext.prototype.ID = function() { + return this.getToken(SqlParser.ID, 0); +}; + +EngineNameContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +EngineNameContext.prototype.REVERSE_QUOTE_ID = function() { + return this.getToken(SqlParser.REVERSE_QUOTE_ID, 0); +}; + +EngineNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterEngineName(this); + } +}; + +EngineNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitEngineName(this); + } +}; + +EngineNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitEngineName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.EngineNameContext = EngineNameContext; + +SqlParser.prototype.engineName = function() { + + var localctx = new EngineNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 514, SqlParser.RULE_engineName); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5450; + _la = this._input.LA(1); + if(!(((((_la - 677)) & ~0x1f) == 0 && ((1 << (_la - 677)) & ((1 << (SqlParser.ARCHIVE - 677)) | (1 << (SqlParser.BLACKHOLE - 677)) | (1 << (SqlParser.CSV - 677)) | (1 << (SqlParser.FEDERATED - 677)) | (1 << (SqlParser.INNODB - 677)) | (1 << (SqlParser.MEMORY - 677)) | (1 << (SqlParser.MRG_MYISAM - 677)) | (1 << (SqlParser.MYISAM - 677)) | (1 << (SqlParser.NDB - 677)) | (1 << (SqlParser.NDBCLUSTER - 677)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 677)) | (1 << (SqlParser.TOKUDB - 677)))) !== 0) || ((((_la - 1035)) & ~0x1f) == 0 && ((1 << (_la - 1035)) & ((1 << (SqlParser.STRING_LITERAL - 1035)) | (1 << (SqlParser.ID - 1035)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1035)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UuidSetContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_uuidSet; + return this; +} + +UuidSetContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UuidSetContext.prototype.constructor = UuidSetContext; + +UuidSetContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; + +UuidSetContext.prototype.MINUS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.MINUS); + } else { + return this.getToken(SqlParser.MINUS, i); + } +}; + + +UuidSetContext.prototype.COLON_SYMB = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COLON_SYMB); + } else { + return this.getToken(SqlParser.COLON_SYMB, i); + } +}; + + +UuidSetContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUuidSet(this); + } +}; + +UuidSetContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUuidSet(this); + } +}; + +UuidSetContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUuidSet(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UuidSetContext = UuidSetContext; + +SqlParser.prototype.uuidSet = function() { + + var localctx = new UuidSetContext(this, this._ctx, this.state); + this.enterRule(localctx, 516, SqlParser.RULE_uuidSet); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5452; + this.decimalLiteral(); + this.state = 5453; + this.match(SqlParser.MINUS); + this.state = 5454; + this.decimalLiteral(); + this.state = 5455; + this.match(SqlParser.MINUS); + this.state = 5456; + this.decimalLiteral(); + this.state = 5457; + this.match(SqlParser.MINUS); + this.state = 5458; + this.decimalLiteral(); + this.state = 5459; + this.match(SqlParser.MINUS); + this.state = 5460; + this.decimalLiteral(); + this.state = 5466; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5461; + this.match(SqlParser.COLON_SYMB); + this.state = 5462; + this.decimalLiteral(); + this.state = 5463; + this.match(SqlParser.MINUS); + this.state = 5464; + this.decimalLiteral(); + this.state = 5468; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.COLON_SYMB); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function XidContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_xid; + this.globalTableUid = null; // XuidStringIdContext + this.qualifier = null; // XuidStringIdContext + this.idFormat = null; // DecimalLiteralContext + return this; +} + +XidContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +XidContext.prototype.constructor = XidContext; + +XidContext.prototype.xuidStringId = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(XuidStringIdContext); + } else { + return this.getTypedRuleContext(XuidStringIdContext,i); + } +}; + +XidContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +XidContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +XidContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterXid(this); + } +}; + +XidContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitXid(this); + } +}; + +XidContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitXid(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.XidContext = XidContext; + +SqlParser.prototype.xid = function() { + + var localctx = new XidContext(this, this._ctx, this.state); + this.enterRule(localctx, 518, SqlParser.RULE_xid); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5470; + localctx.globalTableUid = this.xuidStringId(); + this.state = 5477; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMA) { + this.state = 5471; + this.match(SqlParser.COMMA); + this.state = 5472; + localctx.qualifier = this.xuidStringId(); + this.state = 5475; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMA) { + this.state = 5473; + this.match(SqlParser.COMMA); + this.state = 5474; + localctx.idFormat = this.decimalLiteral(); + } + + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function XuidStringIdContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_xuidStringId; + return this; +} + +XuidStringIdContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +XuidStringIdContext.prototype.constructor = XuidStringIdContext; + +XuidStringIdContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +XuidStringIdContext.prototype.BIT_STRING = function() { + return this.getToken(SqlParser.BIT_STRING, 0); +}; + +XuidStringIdContext.prototype.HEXADECIMAL_LITERAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.HEXADECIMAL_LITERAL); + } else { + return this.getToken(SqlParser.HEXADECIMAL_LITERAL, i); + } +}; + + +XuidStringIdContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterXuidStringId(this); + } +}; + +XuidStringIdContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitXuidStringId(this); + } +}; + +XuidStringIdContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitXuidStringId(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.XuidStringIdContext = XuidStringIdContext; + +SqlParser.prototype.xuidStringId = function() { + + var localctx = new XuidStringIdContext(this, this._ctx, this.state); + this.enterRule(localctx, 520, SqlParser.RULE_xuidStringId); + var _la = 0; // Token type + try { + this.state = 5486; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.STRING_LITERAL: + this.enterOuterAlt(localctx, 1); + this.state = 5479; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.BIT_STRING: + this.enterOuterAlt(localctx, 2); + this.state = 5480; + this.match(SqlParser.BIT_STRING); + break; + case SqlParser.HEXADECIMAL_LITERAL: + this.enterOuterAlt(localctx, 3); + this.state = 5482; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5481; + this.match(SqlParser.HEXADECIMAL_LITERAL); + this.state = 5484; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.HEXADECIMAL_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AuthPluginContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_authPlugin; + return this; +} + +AuthPluginContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AuthPluginContext.prototype.constructor = AuthPluginContext; + +AuthPluginContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +AuthPluginContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +AuthPluginContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAuthPlugin(this); + } +}; + +AuthPluginContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAuthPlugin(this); + } +}; + +AuthPluginContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAuthPlugin(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AuthPluginContext = AuthPluginContext; + +SqlParser.prototype.authPlugin = function() { + + var localctx = new AuthPluginContext(this, this._ctx, this.state); + this.enterRule(localctx, 522, SqlParser.RULE_authPlugin); + try { + this.state = 5490; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,793,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5488; + this.uid(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5489; + this.match(SqlParser.STRING_LITERAL); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UidContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_uid; + return this; +} + +UidContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UidContext.prototype.constructor = UidContext; + +UidContext.prototype.simpleId = function() { + return this.getTypedRuleContext(SimpleIdContext,0); +}; + +UidContext.prototype.REVERSE_QUOTE_ID = function() { + return this.getToken(SqlParser.REVERSE_QUOTE_ID, 0); +}; + +UidContext.prototype.CHARSET_REVERSE_QOUTE_STRING = function() { + return this.getToken(SqlParser.CHARSET_REVERSE_QOUTE_STRING, 0); +}; + +UidContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUid(this); + } +}; + +UidContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUid(this); + } +}; + +UidContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUid(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UidContext = UidContext; + +SqlParser.prototype.uid = function() { + + var localctx = new UidContext(this, this._ctx, this.state); + this.enterRule(localctx, 524, SqlParser.RULE_uid); + try { + this.state = 5495; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,794,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5492; + this.simpleId(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5493; + this.match(SqlParser.REVERSE_QUOTE_ID); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 5494; + this.match(SqlParser.CHARSET_REVERSE_QOUTE_STRING); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SimpleIdContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_simpleId; + return this; +} + +SimpleIdContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SimpleIdContext.prototype.constructor = SimpleIdContext; + +SimpleIdContext.prototype.ID = function() { + return this.getToken(SqlParser.ID, 0); +}; + +SimpleIdContext.prototype.charsetNameBase = function() { + return this.getTypedRuleContext(CharsetNameBaseContext,0); +}; + +SimpleIdContext.prototype.transactionLevelBase = function() { + return this.getTypedRuleContext(TransactionLevelBaseContext,0); +}; + +SimpleIdContext.prototype.engineName = function() { + return this.getTypedRuleContext(EngineNameContext,0); +}; + +SimpleIdContext.prototype.privilegesBase = function() { + return this.getTypedRuleContext(PrivilegesBaseContext,0); +}; + +SimpleIdContext.prototype.intervalTypeBase = function() { + return this.getTypedRuleContext(IntervalTypeBaseContext,0); +}; + +SimpleIdContext.prototype.dataTypeBase = function() { + return this.getTypedRuleContext(DataTypeBaseContext,0); +}; + +SimpleIdContext.prototype.keywordsCanBeId = function() { + return this.getTypedRuleContext(KeywordsCanBeIdContext,0); +}; + +SimpleIdContext.prototype.functionNameBase = function() { + return this.getTypedRuleContext(FunctionNameBaseContext,0); +}; + +SimpleIdContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleId(this); + } +}; + +SimpleIdContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleId(this); + } +}; + +SimpleIdContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleId(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SimpleIdContext = SimpleIdContext; + +SqlParser.prototype.simpleId = function() { + + var localctx = new SimpleIdContext(this, this._ctx, this.state); + this.enterRule(localctx, 526, SqlParser.RULE_simpleId); + try { + this.state = 5506; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,795,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5497; + this.match(SqlParser.ID); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5498; + this.charsetNameBase(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 5499; + this.transactionLevelBase(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 5500; + this.engineName(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 5501; + this.privilegesBase(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 5502; + this.intervalTypeBase(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 5503; + this.dataTypeBase(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 5504; + this.keywordsCanBeId(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 5505; + this.functionNameBase(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DottedIdContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dottedId; + return this; +} + +DottedIdContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DottedIdContext.prototype.constructor = DottedIdContext; + +DottedIdContext.prototype.DOT_ID = function() { + return this.getToken(SqlParser.DOT_ID, 0); +}; + +DottedIdContext.prototype.DOT = function() { + return this.getToken(SqlParser.DOT, 0); +}; + +DottedIdContext.prototype.uid = function() { + return this.getTypedRuleContext(UidContext,0); +}; + +DottedIdContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDottedId(this); + } +}; + +DottedIdContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDottedId(this); + } +}; + +DottedIdContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDottedId(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DottedIdContext = DottedIdContext; + +SqlParser.prototype.dottedId = function() { + + var localctx = new DottedIdContext(this, this._ctx, this.state); + this.enterRule(localctx, 528, SqlParser.RULE_dottedId); + try { + this.state = 5511; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.DOT_ID: + this.enterOuterAlt(localctx, 1); + this.state = 5508; + this.match(SqlParser.DOT_ID); + break; + case SqlParser.DOT: + this.enterOuterAlt(localctx, 2); + this.state = 5509; + this.match(SqlParser.DOT); + this.state = 5510; + this.uid(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DecimalLiteralContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_decimalLiteral; + return this; +} + +DecimalLiteralContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DecimalLiteralContext.prototype.constructor = DecimalLiteralContext; + +DecimalLiteralContext.prototype.DECIMAL_LITERAL = function() { + return this.getToken(SqlParser.DECIMAL_LITERAL, 0); +}; + +DecimalLiteralContext.prototype.ZERO_DECIMAL = function() { + return this.getToken(SqlParser.ZERO_DECIMAL, 0); +}; + +DecimalLiteralContext.prototype.ONE_DECIMAL = function() { + return this.getToken(SqlParser.ONE_DECIMAL, 0); +}; + +DecimalLiteralContext.prototype.TWO_DECIMAL = function() { + return this.getToken(SqlParser.TWO_DECIMAL, 0); +}; + +DecimalLiteralContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDecimalLiteral(this); + } +}; + +DecimalLiteralContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDecimalLiteral(this); + } +}; + +DecimalLiteralContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDecimalLiteral(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DecimalLiteralContext = DecimalLiteralContext; + +SqlParser.prototype.decimalLiteral = function() { + + var localctx = new DecimalLiteralContext(this, this._ctx, this.state); + this.enterRule(localctx, 530, SqlParser.RULE_decimalLiteral); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5513; + _la = this._input.LA(1); + if(!(((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (SqlParser.ZERO_DECIMAL - 1025)) | (1 << (SqlParser.ONE_DECIMAL - 1025)) | (1 << (SqlParser.TWO_DECIMAL - 1025)) | (1 << (SqlParser.DECIMAL_LITERAL - 1025)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FileSizeLiteralContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_fileSizeLiteral; + return this; +} + +FileSizeLiteralContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FileSizeLiteralContext.prototype.constructor = FileSizeLiteralContext; + +FileSizeLiteralContext.prototype.FILESIZE_LITERAL = function() { + return this.getToken(SqlParser.FILESIZE_LITERAL, 0); +}; + +FileSizeLiteralContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +FileSizeLiteralContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFileSizeLiteral(this); + } +}; + +FileSizeLiteralContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFileSizeLiteral(this); + } +}; + +FileSizeLiteralContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFileSizeLiteral(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FileSizeLiteralContext = FileSizeLiteralContext; + +SqlParser.prototype.fileSizeLiteral = function() { + + var localctx = new FileSizeLiteralContext(this, this._ctx, this.state); + this.enterRule(localctx, 532, SqlParser.RULE_fileSizeLiteral); + try { + this.state = 5517; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.FILESIZE_LITERAL: + this.enterOuterAlt(localctx, 1); + this.state = 5515; + this.match(SqlParser.FILESIZE_LITERAL); + break; + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.DECIMAL_LITERAL: + this.enterOuterAlt(localctx, 2); + this.state = 5516; + this.decimalLiteral(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StringLiteralContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_stringLiteral; + return this; +} + +StringLiteralContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StringLiteralContext.prototype.constructor = StringLiteralContext; + +StringLiteralContext.prototype.STRING_LITERAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.STRING_LITERAL); + } else { + return this.getToken(SqlParser.STRING_LITERAL, i); + } +}; + + +StringLiteralContext.prototype.START_NATIONAL_STRING_LITERAL = function() { + return this.getToken(SqlParser.START_NATIONAL_STRING_LITERAL, 0); +}; + +StringLiteralContext.prototype.STRING_CHARSET_NAME = function() { + return this.getToken(SqlParser.STRING_CHARSET_NAME, 0); +}; + +StringLiteralContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +StringLiteralContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; + +StringLiteralContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStringLiteral(this); + } +}; + +StringLiteralContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStringLiteral(this); + } +}; + +StringLiteralContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStringLiteral(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.StringLiteralContext = StringLiteralContext; + +SqlParser.prototype.stringLiteral = function() { + + var localctx = new StringLiteralContext(this, this._ctx, this.state); + this.enterRule(localctx, 534, SqlParser.RULE_stringLiteral); + var _la = 0; // Token type + try { + this.state = 5542; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,804,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5524; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.STRING_LITERAL: + case SqlParser.STRING_CHARSET_NAME: + this.state = 5520; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.STRING_CHARSET_NAME) { + this.state = 5519; + this.match(SqlParser.STRING_CHARSET_NAME); + } + + this.state = 5522; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.START_NATIONAL_STRING_LITERAL: + this.state = 5523; + this.match(SqlParser.START_NATIONAL_STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5527; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 5526; + this.match(SqlParser.STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5529; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,800, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5536; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.STRING_LITERAL: + case SqlParser.STRING_CHARSET_NAME: + this.state = 5532; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.STRING_CHARSET_NAME) { + this.state = 5531; + this.match(SqlParser.STRING_CHARSET_NAME); + } + + this.state = 5534; + this.match(SqlParser.STRING_LITERAL); + break; + case SqlParser.START_NATIONAL_STRING_LITERAL: + this.state = 5535; + this.match(SqlParser.START_NATIONAL_STRING_LITERAL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5540; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,803,this._ctx); + if(la_===1) { + this.state = 5538; + this.match(SqlParser.COLLATE); + this.state = 5539; + this.collationName(); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function BooleanLiteralContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_booleanLiteral; + return this; +} + +BooleanLiteralContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +BooleanLiteralContext.prototype.constructor = BooleanLiteralContext; + +BooleanLiteralContext.prototype.TRUE = function() { + return this.getToken(SqlParser.TRUE, 0); +}; + +BooleanLiteralContext.prototype.FALSE = function() { + return this.getToken(SqlParser.FALSE, 0); +}; + +BooleanLiteralContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBooleanLiteral(this); + } +}; + +BooleanLiteralContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBooleanLiteral(this); + } +}; + +BooleanLiteralContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBooleanLiteral(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.BooleanLiteralContext = BooleanLiteralContext; + +SqlParser.prototype.booleanLiteral = function() { + + var localctx = new BooleanLiteralContext(this, this._ctx, this.state); + this.enterRule(localctx, 536, SqlParser.RULE_booleanLiteral); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5544; + _la = this._input.LA(1); + if(!(_la===SqlParser.FALSE || _la===SqlParser.TRUE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HexadecimalLiteralContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_hexadecimalLiteral; + return this; +} + +HexadecimalLiteralContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HexadecimalLiteralContext.prototype.constructor = HexadecimalLiteralContext; + +HexadecimalLiteralContext.prototype.HEXADECIMAL_LITERAL = function() { + return this.getToken(SqlParser.HEXADECIMAL_LITERAL, 0); +}; + +HexadecimalLiteralContext.prototype.STRING_CHARSET_NAME = function() { + return this.getToken(SqlParser.STRING_CHARSET_NAME, 0); +}; + +HexadecimalLiteralContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterHexadecimalLiteral(this); + } +}; + +HexadecimalLiteralContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitHexadecimalLiteral(this); + } +}; + +HexadecimalLiteralContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitHexadecimalLiteral(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.HexadecimalLiteralContext = HexadecimalLiteralContext; + +SqlParser.prototype.hexadecimalLiteral = function() { + + var localctx = new HexadecimalLiteralContext(this, this._ctx, this.state); + this.enterRule(localctx, 538, SqlParser.RULE_hexadecimalLiteral); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5547; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.STRING_CHARSET_NAME) { + this.state = 5546; + this.match(SqlParser.STRING_CHARSET_NAME); + } + + this.state = 5549; + this.match(SqlParser.HEXADECIMAL_LITERAL); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function NullNotnullContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_nullNotnull; + return this; +} + +NullNotnullContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +NullNotnullContext.prototype.constructor = NullNotnullContext; + +NullNotnullContext.prototype.NULL_LITERAL = function() { + return this.getToken(SqlParser.NULL_LITERAL, 0); +}; + +NullNotnullContext.prototype.NULL_SPEC_LITERAL = function() { + return this.getToken(SqlParser.NULL_SPEC_LITERAL, 0); +}; + +NullNotnullContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +NullNotnullContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterNullNotnull(this); + } +}; + +NullNotnullContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitNullNotnull(this); + } +}; + +NullNotnullContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitNullNotnull(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.NullNotnullContext = NullNotnullContext; + +SqlParser.prototype.nullNotnull = function() { + + var localctx = new NullNotnullContext(this, this._ctx, this.state); + this.enterRule(localctx, 540, SqlParser.RULE_nullNotnull); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5552; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 5551; + this.match(SqlParser.NOT); + } + + this.state = 5554; + _la = this._input.LA(1); + if(!(_la===SqlParser.NULL_LITERAL || _la===SqlParser.NULL_SPEC_LITERAL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ConstantContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_constant; + this.nullLiteral = null; // Token + return this; +} + +ConstantContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ConstantContext.prototype.constructor = ConstantContext; + +ConstantContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +ConstantContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +ConstantContext.prototype.MINUS = function() { + return this.getToken(SqlParser.MINUS, 0); +}; + +ConstantContext.prototype.hexadecimalLiteral = function() { + return this.getTypedRuleContext(HexadecimalLiteralContext,0); +}; + +ConstantContext.prototype.booleanLiteral = function() { + return this.getTypedRuleContext(BooleanLiteralContext,0); +}; + +ConstantContext.prototype.REAL_LITERAL = function() { + return this.getToken(SqlParser.REAL_LITERAL, 0); +}; + +ConstantContext.prototype.BIT_STRING = function() { + return this.getToken(SqlParser.BIT_STRING, 0); +}; + +ConstantContext.prototype.NULL_LITERAL = function() { + return this.getToken(SqlParser.NULL_LITERAL, 0); +}; + +ConstantContext.prototype.NULL_SPEC_LITERAL = function() { + return this.getToken(SqlParser.NULL_SPEC_LITERAL, 0); +}; + +ConstantContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +ConstantContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterConstant(this); + } +}; + +ConstantContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitConstant(this); + } +}; + +ConstantContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitConstant(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ConstantContext = ConstantContext; + +SqlParser.prototype.constant = function() { + + var localctx = new ConstantContext(this, this._ctx, this.state); + this.enterRule(localctx, 542, SqlParser.RULE_constant); + var _la = 0; // Token type + try { + this.state = 5568; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,808,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5556; + this.stringLiteral(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5557; + this.decimalLiteral(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 5558; + this.match(SqlParser.MINUS); + this.state = 5559; + this.decimalLiteral(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 5560; + this.hexadecimalLiteral(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 5561; + this.booleanLiteral(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 5562; + this.match(SqlParser.REAL_LITERAL); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 5563; + this.match(SqlParser.BIT_STRING); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 5565; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 5564; + this.match(SqlParser.NOT); + } + + this.state = 5567; + localctx.nullLiteral = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.NULL_LITERAL || _la===SqlParser.NULL_SPEC_LITERAL)) { + localctx.nullLiteral = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DataTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dataType; + return this; +} + +DataTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DataTypeContext.prototype.constructor = DataTypeContext; + + + +DataTypeContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SpatialDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + this.typeName = null; // Token; + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SpatialDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +SpatialDataTypeContext.prototype.constructor = SpatialDataTypeContext; + +SqlParser.SpatialDataTypeContext = SpatialDataTypeContext; + +SpatialDataTypeContext.prototype.GEOMETRYCOLLECTION = function() { + return this.getToken(SqlParser.GEOMETRYCOLLECTION, 0); +}; + +SpatialDataTypeContext.prototype.GEOMCOLLECTION = function() { + return this.getToken(SqlParser.GEOMCOLLECTION, 0); +}; + +SpatialDataTypeContext.prototype.LINESTRING = function() { + return this.getToken(SqlParser.LINESTRING, 0); +}; + +SpatialDataTypeContext.prototype.MULTILINESTRING = function() { + return this.getToken(SqlParser.MULTILINESTRING, 0); +}; + +SpatialDataTypeContext.prototype.MULTIPOINT = function() { + return this.getToken(SqlParser.MULTIPOINT, 0); +}; + +SpatialDataTypeContext.prototype.MULTIPOLYGON = function() { + return this.getToken(SqlParser.MULTIPOLYGON, 0); +}; + +SpatialDataTypeContext.prototype.POINT = function() { + return this.getToken(SqlParser.POINT, 0); +}; + +SpatialDataTypeContext.prototype.POLYGON = function() { + return this.getToken(SqlParser.POLYGON, 0); +}; + +SpatialDataTypeContext.prototype.JSON = function() { + return this.getToken(SqlParser.JSON, 0); +}; + +SpatialDataTypeContext.prototype.GEOMETRY = function() { + return this.getToken(SqlParser.GEOMETRY, 0); +}; +SpatialDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSpatialDataType(this); + } +}; + +SpatialDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSpatialDataType(this); + } +}; + +SpatialDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSpatialDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function LongVarbinaryDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +LongVarbinaryDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +LongVarbinaryDataTypeContext.prototype.constructor = LongVarbinaryDataTypeContext; + +SqlParser.LongVarbinaryDataTypeContext = LongVarbinaryDataTypeContext; + +LongVarbinaryDataTypeContext.prototype.LONG = function() { + return this.getToken(SqlParser.LONG, 0); +}; + +LongVarbinaryDataTypeContext.prototype.VARBINARY = function() { + return this.getToken(SqlParser.VARBINARY, 0); +}; +LongVarbinaryDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLongVarbinaryDataType(this); + } +}; + +LongVarbinaryDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLongVarbinaryDataType(this); + } +}; + +LongVarbinaryDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLongVarbinaryDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CollectionDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + this.typeName = null; // Token; + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CollectionDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +CollectionDataTypeContext.prototype.constructor = CollectionDataTypeContext; + +SqlParser.CollectionDataTypeContext = CollectionDataTypeContext; + +CollectionDataTypeContext.prototype.collectionOptions = function() { + return this.getTypedRuleContext(CollectionOptionsContext,0); +}; + +CollectionDataTypeContext.prototype.ENUM = function() { + return this.getToken(SqlParser.ENUM, 0); +}; + +CollectionDataTypeContext.prototype.SET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.SET); + } else { + return this.getToken(SqlParser.SET, i); + } +}; + + +CollectionDataTypeContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +CollectionDataTypeContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +CollectionDataTypeContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +CollectionDataTypeContext.prototype.CHARSET = function() { + return this.getToken(SqlParser.CHARSET, 0); +}; +CollectionDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCollectionDataType(this); + } +}; + +CollectionDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCollectionDataType(this); + } +}; + +CollectionDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCollectionDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function NationalVaryingStringDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + this.typeName = null; // Token; + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +NationalVaryingStringDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +NationalVaryingStringDataTypeContext.prototype.constructor = NationalVaryingStringDataTypeContext; + +SqlParser.NationalVaryingStringDataTypeContext = NationalVaryingStringDataTypeContext; + +NationalVaryingStringDataTypeContext.prototype.NATIONAL = function() { + return this.getToken(SqlParser.NATIONAL, 0); +}; + +NationalVaryingStringDataTypeContext.prototype.VARYING = function() { + return this.getToken(SqlParser.VARYING, 0); +}; + +NationalVaryingStringDataTypeContext.prototype.CHAR = function() { + return this.getToken(SqlParser.CHAR, 0); +}; + +NationalVaryingStringDataTypeContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +NationalVaryingStringDataTypeContext.prototype.lengthOneDimension = function() { + return this.getTypedRuleContext(LengthOneDimensionContext,0); +}; + +NationalVaryingStringDataTypeContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; +NationalVaryingStringDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterNationalVaryingStringDataType(this); + } +}; + +NationalVaryingStringDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitNationalVaryingStringDataType(this); + } +}; + +NationalVaryingStringDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitNationalVaryingStringDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DimensionDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + this.typeName = null; // Token; + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DimensionDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +DimensionDataTypeContext.prototype.constructor = DimensionDataTypeContext; + +SqlParser.DimensionDataTypeContext = DimensionDataTypeContext; + +DimensionDataTypeContext.prototype.TINYINT = function() { + return this.getToken(SqlParser.TINYINT, 0); +}; + +DimensionDataTypeContext.prototype.SMALLINT = function() { + return this.getToken(SqlParser.SMALLINT, 0); +}; + +DimensionDataTypeContext.prototype.MEDIUMINT = function() { + return this.getToken(SqlParser.MEDIUMINT, 0); +}; + +DimensionDataTypeContext.prototype.INT = function() { + return this.getToken(SqlParser.INT, 0); +}; + +DimensionDataTypeContext.prototype.INTEGER = function() { + return this.getToken(SqlParser.INTEGER, 0); +}; + +DimensionDataTypeContext.prototype.BIGINT = function() { + return this.getToken(SqlParser.BIGINT, 0); +}; + +DimensionDataTypeContext.prototype.MIDDLEINT = function() { + return this.getToken(SqlParser.MIDDLEINT, 0); +}; + +DimensionDataTypeContext.prototype.INT1 = function() { + return this.getToken(SqlParser.INT1, 0); +}; + +DimensionDataTypeContext.prototype.INT2 = function() { + return this.getToken(SqlParser.INT2, 0); +}; + +DimensionDataTypeContext.prototype.INT3 = function() { + return this.getToken(SqlParser.INT3, 0); +}; + +DimensionDataTypeContext.prototype.INT4 = function() { + return this.getToken(SqlParser.INT4, 0); +}; + +DimensionDataTypeContext.prototype.INT8 = function() { + return this.getToken(SqlParser.INT8, 0); +}; + +DimensionDataTypeContext.prototype.lengthOneDimension = function() { + return this.getTypedRuleContext(LengthOneDimensionContext,0); +}; + +DimensionDataTypeContext.prototype.ZEROFILL = function() { + return this.getToken(SqlParser.ZEROFILL, 0); +}; + +DimensionDataTypeContext.prototype.SIGNED = function() { + return this.getToken(SqlParser.SIGNED, 0); +}; + +DimensionDataTypeContext.prototype.UNSIGNED = function() { + return this.getToken(SqlParser.UNSIGNED, 0); +}; + +DimensionDataTypeContext.prototype.REAL = function() { + return this.getToken(SqlParser.REAL, 0); +}; + +DimensionDataTypeContext.prototype.lengthTwoDimension = function() { + return this.getTypedRuleContext(LengthTwoDimensionContext,0); +}; + +DimensionDataTypeContext.prototype.DOUBLE = function() { + return this.getToken(SqlParser.DOUBLE, 0); +}; + +DimensionDataTypeContext.prototype.PRECISION = function() { + return this.getToken(SqlParser.PRECISION, 0); +}; + +DimensionDataTypeContext.prototype.DECIMAL = function() { + return this.getToken(SqlParser.DECIMAL, 0); +}; + +DimensionDataTypeContext.prototype.DEC = function() { + return this.getToken(SqlParser.DEC, 0); +}; + +DimensionDataTypeContext.prototype.FIXED = function() { + return this.getToken(SqlParser.FIXED, 0); +}; + +DimensionDataTypeContext.prototype.NUMERIC = function() { + return this.getToken(SqlParser.NUMERIC, 0); +}; + +DimensionDataTypeContext.prototype.FLOAT = function() { + return this.getToken(SqlParser.FLOAT, 0); +}; + +DimensionDataTypeContext.prototype.FLOAT4 = function() { + return this.getToken(SqlParser.FLOAT4, 0); +}; + +DimensionDataTypeContext.prototype.FLOAT8 = function() { + return this.getToken(SqlParser.FLOAT8, 0); +}; + +DimensionDataTypeContext.prototype.lengthTwoOptionalDimension = function() { + return this.getTypedRuleContext(LengthTwoOptionalDimensionContext,0); +}; + +DimensionDataTypeContext.prototype.BIT = function() { + return this.getToken(SqlParser.BIT, 0); +}; + +DimensionDataTypeContext.prototype.TIME = function() { + return this.getToken(SqlParser.TIME, 0); +}; + +DimensionDataTypeContext.prototype.TIMESTAMP = function() { + return this.getToken(SqlParser.TIMESTAMP, 0); +}; + +DimensionDataTypeContext.prototype.DATETIME = function() { + return this.getToken(SqlParser.DATETIME, 0); +}; + +DimensionDataTypeContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +DimensionDataTypeContext.prototype.VARBINARY = function() { + return this.getToken(SqlParser.VARBINARY, 0); +}; + +DimensionDataTypeContext.prototype.YEAR = function() { + return this.getToken(SqlParser.YEAR, 0); +}; +DimensionDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDimensionDataType(this); + } +}; + +DimensionDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDimensionDataType(this); + } +}; + +DimensionDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDimensionDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function StringDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + this.typeName = null; // Token; + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +StringDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +StringDataTypeContext.prototype.constructor = StringDataTypeContext; + +SqlParser.StringDataTypeContext = StringDataTypeContext; + +StringDataTypeContext.prototype.CHAR = function() { + return this.getToken(SqlParser.CHAR, 0); +}; + +StringDataTypeContext.prototype.CHARACTER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.CHARACTER); + } else { + return this.getToken(SqlParser.CHARACTER, i); + } +}; + + +StringDataTypeContext.prototype.VARCHAR = function() { + return this.getToken(SqlParser.VARCHAR, 0); +}; + +StringDataTypeContext.prototype.TINYTEXT = function() { + return this.getToken(SqlParser.TINYTEXT, 0); +}; + +StringDataTypeContext.prototype.TEXT = function() { + return this.getToken(SqlParser.TEXT, 0); +}; + +StringDataTypeContext.prototype.MEDIUMTEXT = function() { + return this.getToken(SqlParser.MEDIUMTEXT, 0); +}; + +StringDataTypeContext.prototype.LONGTEXT = function() { + return this.getToken(SqlParser.LONGTEXT, 0); +}; + +StringDataTypeContext.prototype.NCHAR = function() { + return this.getToken(SqlParser.NCHAR, 0); +}; + +StringDataTypeContext.prototype.NVARCHAR = function() { + return this.getToken(SqlParser.NVARCHAR, 0); +}; + +StringDataTypeContext.prototype.LONG = function() { + return this.getToken(SqlParser.LONG, 0); +}; + +StringDataTypeContext.prototype.lengthOneDimension = function() { + return this.getTypedRuleContext(LengthOneDimensionContext,0); +}; + +StringDataTypeContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +StringDataTypeContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +StringDataTypeContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +StringDataTypeContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; + +StringDataTypeContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +StringDataTypeContext.prototype.CHARSET = function() { + return this.getToken(SqlParser.CHARSET, 0); +}; +StringDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterStringDataType(this); + } +}; + +StringDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitStringDataType(this); + } +}; + +StringDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitStringDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function LongVarcharDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + this.typeName = null; // Token; + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +LongVarcharDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +LongVarcharDataTypeContext.prototype.constructor = LongVarcharDataTypeContext; + +SqlParser.LongVarcharDataTypeContext = LongVarcharDataTypeContext; + +LongVarcharDataTypeContext.prototype.LONG = function() { + return this.getToken(SqlParser.LONG, 0); +}; + +LongVarcharDataTypeContext.prototype.VARCHAR = function() { + return this.getToken(SqlParser.VARCHAR, 0); +}; + +LongVarcharDataTypeContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +LongVarcharDataTypeContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +LongVarcharDataTypeContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +LongVarcharDataTypeContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; + +LongVarcharDataTypeContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +LongVarcharDataTypeContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +LongVarcharDataTypeContext.prototype.CHARSET = function() { + return this.getToken(SqlParser.CHARSET, 0); +}; +LongVarcharDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLongVarcharDataType(this); + } +}; + +LongVarcharDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLongVarcharDataType(this); + } +}; + +LongVarcharDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLongVarcharDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function NationalStringDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + this.typeName = null; // Token; + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +NationalStringDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +NationalStringDataTypeContext.prototype.constructor = NationalStringDataTypeContext; + +SqlParser.NationalStringDataTypeContext = NationalStringDataTypeContext; + +NationalStringDataTypeContext.prototype.NATIONAL = function() { + return this.getToken(SqlParser.NATIONAL, 0); +}; + +NationalStringDataTypeContext.prototype.VARCHAR = function() { + return this.getToken(SqlParser.VARCHAR, 0); +}; + +NationalStringDataTypeContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +NationalStringDataTypeContext.prototype.lengthOneDimension = function() { + return this.getTypedRuleContext(LengthOneDimensionContext,0); +}; + +NationalStringDataTypeContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +NationalStringDataTypeContext.prototype.NCHAR = function() { + return this.getToken(SqlParser.NCHAR, 0); +}; +NationalStringDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterNationalStringDataType(this); + } +}; + +NationalStringDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitNationalStringDataType(this); + } +}; + +NationalStringDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitNationalStringDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SimpleDataTypeContext(parser, ctx) { + DataTypeContext.call(this, parser); + this.typeName = null; // Token; + DataTypeContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SimpleDataTypeContext.prototype = Object.create(DataTypeContext.prototype); +SimpleDataTypeContext.prototype.constructor = SimpleDataTypeContext; + +SqlParser.SimpleDataTypeContext = SimpleDataTypeContext; + +SimpleDataTypeContext.prototype.DATE = function() { + return this.getToken(SqlParser.DATE, 0); +}; + +SimpleDataTypeContext.prototype.TINYBLOB = function() { + return this.getToken(SqlParser.TINYBLOB, 0); +}; + +SimpleDataTypeContext.prototype.BLOB = function() { + return this.getToken(SqlParser.BLOB, 0); +}; + +SimpleDataTypeContext.prototype.MEDIUMBLOB = function() { + return this.getToken(SqlParser.MEDIUMBLOB, 0); +}; + +SimpleDataTypeContext.prototype.LONGBLOB = function() { + return this.getToken(SqlParser.LONGBLOB, 0); +}; + +SimpleDataTypeContext.prototype.BOOL = function() { + return this.getToken(SqlParser.BOOL, 0); +}; + +SimpleDataTypeContext.prototype.BOOLEAN = function() { + return this.getToken(SqlParser.BOOLEAN, 0); +}; + +SimpleDataTypeContext.prototype.SERIAL = function() { + return this.getToken(SqlParser.SERIAL, 0); +}; +SimpleDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleDataType(this); + } +}; + +SimpleDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleDataType(this); + } +}; + +SimpleDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.DataTypeContext = DataTypeContext; + +SqlParser.prototype.dataType = function() { + + var localctx = new DataTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 544, SqlParser.RULE_dataType); + var _la = 0; // Token type + try { + this.state = 5697; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,842,this._ctx); + switch(la_) { + case 1: + localctx = new StringDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 5570; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CHARACTER || ((((_la - 204)) & ~0x1f) == 0 && ((1 << (_la - 204)) & ((1 << (SqlParser.CHAR - 204)) | (1 << (SqlParser.VARCHAR - 204)) | (1 << (SqlParser.NVARCHAR - 204)) | (1 << (SqlParser.LONG - 204)) | (1 << (SqlParser.TINYTEXT - 204)) | (1 << (SqlParser.TEXT - 204)) | (1 << (SqlParser.MEDIUMTEXT - 204)) | (1 << (SqlParser.LONGTEXT - 204)))) !== 0) || _la===SqlParser.NCHAR)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5572; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,809,this._ctx); + if(la_===1) { + this.state = 5571; + this.lengthOneDimension(); + + } + this.state = 5575; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.BINARY) { + this.state = 5574; + this.match(SqlParser.BINARY); + } + + this.state = 5583; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,812,this._ctx); + if(la_===1) { + this.state = 5580; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CHARACTER: + this.state = 5577; + this.match(SqlParser.CHARACTER); + this.state = 5578; + this.match(SqlParser.SET); + break; + case SqlParser.CHARSET: + this.state = 5579; + this.match(SqlParser.CHARSET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5582; + this.charsetName(); + + } + this.state = 5587; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,813,this._ctx); + if(la_===1) { + this.state = 5585; + this.match(SqlParser.COLLATE); + this.state = 5586; + this.collationName(); + + } + break; + + case 2: + localctx = new NationalStringDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 5589; + this.match(SqlParser.NATIONAL); + this.state = 5590; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CHARACTER || _la===SqlParser.VARCHAR)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5592; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,814,this._ctx); + if(la_===1) { + this.state = 5591; + this.lengthOneDimension(); + + } + this.state = 5595; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.BINARY) { + this.state = 5594; + this.match(SqlParser.BINARY); + } + + break; + + case 3: + localctx = new NationalStringDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 5597; + this.match(SqlParser.NCHAR); + this.state = 5598; + localctx.typeName = this.match(SqlParser.VARCHAR); + this.state = 5600; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,816,this._ctx); + if(la_===1) { + this.state = 5599; + this.lengthOneDimension(); + + } + this.state = 5603; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.BINARY) { + this.state = 5602; + this.match(SqlParser.BINARY); + } + + break; + + case 4: + localctx = new NationalVaryingStringDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 5605; + this.match(SqlParser.NATIONAL); + this.state = 5606; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CHARACTER || _la===SqlParser.CHAR)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5607; + this.match(SqlParser.VARYING); + this.state = 5609; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,818,this._ctx); + if(la_===1) { + this.state = 5608; + this.lengthOneDimension(); + + } + this.state = 5612; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.BINARY) { + this.state = 5611; + this.match(SqlParser.BINARY); + } + + break; + + case 5: + localctx = new DimensionDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 5614; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 178)) & ~0x1f) == 0 && ((1 << (_la - 178)) & ((1 << (SqlParser.TINYINT - 178)) | (1 << (SqlParser.SMALLINT - 178)) | (1 << (SqlParser.MEDIUMINT - 178)) | (1 << (SqlParser.MIDDLEINT - 178)) | (1 << (SqlParser.INT - 178)) | (1 << (SqlParser.INT1 - 178)) | (1 << (SqlParser.INT2 - 178)) | (1 << (SqlParser.INT3 - 178)) | (1 << (SqlParser.INT4 - 178)) | (1 << (SqlParser.INT8 - 178)) | (1 << (SqlParser.INTEGER - 178)) | (1 << (SqlParser.BIGINT - 178)))) !== 0))) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5616; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,820,this._ctx); + if(la_===1) { + this.state = 5615; + this.lengthOneDimension(); + + } + this.state = 5619; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,821,this._ctx); + if(la_===1) { + this.state = 5618; + _la = this._input.LA(1); + if(!(_la===SqlParser.UNSIGNED || _la===SqlParser.SIGNED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 5622; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ZEROFILL) { + this.state = 5621; + this.match(SqlParser.ZEROFILL); + } + + break; + + case 6: + localctx = new DimensionDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 5624; + localctx.typeName = this.match(SqlParser.REAL); + this.state = 5626; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,823,this._ctx); + if(la_===1) { + this.state = 5625; + this.lengthTwoDimension(); + + } + this.state = 5629; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,824,this._ctx); + if(la_===1) { + this.state = 5628; + _la = this._input.LA(1); + if(!(_la===SqlParser.UNSIGNED || _la===SqlParser.SIGNED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 5632; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ZEROFILL) { + this.state = 5631; + this.match(SqlParser.ZEROFILL); + } + + break; + + case 7: + localctx = new DimensionDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 5634; + localctx.typeName = this.match(SqlParser.DOUBLE); + this.state = 5636; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.PRECISION) { + this.state = 5635; + this.match(SqlParser.PRECISION); + } + + this.state = 5639; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,827,this._ctx); + if(la_===1) { + this.state = 5638; + this.lengthTwoDimension(); + + } + this.state = 5642; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,828,this._ctx); + if(la_===1) { + this.state = 5641; + _la = this._input.LA(1); + if(!(_la===SqlParser.UNSIGNED || _la===SqlParser.SIGNED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 5645; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ZEROFILL) { + this.state = 5644; + this.match(SqlParser.ZEROFILL); + } + + break; + + case 8: + localctx = new DimensionDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 8); + this.state = 5647; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 193)) & ~0x1f) == 0 && ((1 << (_la - 193)) & ((1 << (SqlParser.FLOAT - 193)) | (1 << (SqlParser.FLOAT4 - 193)) | (1 << (SqlParser.FLOAT8 - 193)) | (1 << (SqlParser.DECIMAL - 193)) | (1 << (SqlParser.DEC - 193)) | (1 << (SqlParser.NUMERIC - 193)))) !== 0) || _la===SqlParser.FIXED)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5649; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,830,this._ctx); + if(la_===1) { + this.state = 5648; + this.lengthTwoOptionalDimension(); + + } + this.state = 5652; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,831,this._ctx); + if(la_===1) { + this.state = 5651; + _la = this._input.LA(1); + if(!(_la===SqlParser.UNSIGNED || _la===SqlParser.SIGNED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 5655; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ZEROFILL) { + this.state = 5654; + this.match(SqlParser.ZEROFILL); + } + + break; + + case 9: + localctx = new SimpleDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 9); + this.state = 5657; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TINYBLOB - 199)) | (1 << (SqlParser.BLOB - 199)) | (1 << (SqlParser.MEDIUMBLOB - 199)) | (1 << (SqlParser.LONGBLOB - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || _la===SqlParser.BOOL || _la===SqlParser.BOOLEAN)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 10: + localctx = new DimensionDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 10); + this.state = 5658; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 200)) & ~0x1f) == 0 && ((1 << (_la - 200)) & ((1 << (SqlParser.TIME - 200)) | (1 << (SqlParser.TIMESTAMP - 200)) | (1 << (SqlParser.DATETIME - 200)) | (1 << (SqlParser.YEAR - 200)) | (1 << (SqlParser.BINARY - 200)) | (1 << (SqlParser.VARBINARY - 200)))) !== 0) || _la===SqlParser.BIT)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5660; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,833,this._ctx); + if(la_===1) { + this.state = 5659; + this.lengthOneDimension(); + + } + break; + + case 11: + localctx = new CollectionDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 11); + this.state = 5662; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.SET || _la===SqlParser.ENUM)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5663; + this.collectionOptions(); + this.state = 5665; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.BINARY) { + this.state = 5664; + this.match(SqlParser.BINARY); + } + + this.state = 5673; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,836,this._ctx); + if(la_===1) { + this.state = 5670; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CHARACTER: + this.state = 5667; + this.match(SqlParser.CHARACTER); + this.state = 5668; + this.match(SqlParser.SET); + break; + case SqlParser.CHARSET: + this.state = 5669; + this.match(SqlParser.CHARSET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5672; + this.charsetName(); + + } + break; + + case 12: + localctx = new SpatialDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 12); + this.state = 5675; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.JSON || ((((_la - 693)) & ~0x1f) == 0 && ((1 << (_la - 693)) & ((1 << (SqlParser.GEOMETRYCOLLECTION - 693)) | (1 << (SqlParser.GEOMCOLLECTION - 693)) | (1 << (SqlParser.GEOMETRY - 693)) | (1 << (SqlParser.LINESTRING - 693)) | (1 << (SqlParser.MULTILINESTRING - 693)) | (1 << (SqlParser.MULTIPOINT - 693)) | (1 << (SqlParser.MULTIPOLYGON - 693)) | (1 << (SqlParser.POINT - 693)) | (1 << (SqlParser.POLYGON - 693)))) !== 0))) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 13: + localctx = new LongVarcharDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 13); + this.state = 5676; + localctx.typeName = this.match(SqlParser.LONG); + this.state = 5678; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.VARCHAR) { + this.state = 5677; + this.match(SqlParser.VARCHAR); + } + + this.state = 5681; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.BINARY) { + this.state = 5680; + this.match(SqlParser.BINARY); + } + + this.state = 5689; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,840,this._ctx); + if(la_===1) { + this.state = 5686; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CHARACTER: + this.state = 5683; + this.match(SqlParser.CHARACTER); + this.state = 5684; + this.match(SqlParser.SET); + break; + case SqlParser.CHARSET: + this.state = 5685; + this.match(SqlParser.CHARSET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5688; + this.charsetName(); + + } + this.state = 5693; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,841,this._ctx); + if(la_===1) { + this.state = 5691; + this.match(SqlParser.COLLATE); + this.state = 5692; + this.collationName(); + + } + break; + + case 14: + localctx = new LongVarbinaryDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 14); + this.state = 5695; + this.match(SqlParser.LONG); + this.state = 5696; + this.match(SqlParser.VARBINARY); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CollectionOptionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_collectionOptions; + return this; +} + +CollectionOptionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CollectionOptionsContext.prototype.constructor = CollectionOptionsContext; + +CollectionOptionsContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CollectionOptionsContext.prototype.STRING_LITERAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.STRING_LITERAL); + } else { + return this.getToken(SqlParser.STRING_LITERAL, i); + } +}; + + +CollectionOptionsContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CollectionOptionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +CollectionOptionsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCollectionOptions(this); + } +}; + +CollectionOptionsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCollectionOptions(this); + } +}; + +CollectionOptionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCollectionOptions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CollectionOptionsContext = CollectionOptionsContext; + +SqlParser.prototype.collectionOptions = function() { + + var localctx = new CollectionOptionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 546, SqlParser.RULE_collectionOptions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5699; + this.match(SqlParser.LR_BRACKET); + this.state = 5700; + this.match(SqlParser.STRING_LITERAL); + this.state = 5705; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5701; + this.match(SqlParser.COMMA); + this.state = 5702; + this.match(SqlParser.STRING_LITERAL); + this.state = 5707; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5708; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ConvertedDataTypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_convertedDataType; + this.typeName = null; // Token + return this; +} + +ConvertedDataTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ConvertedDataTypeContext.prototype.constructor = ConvertedDataTypeContext; + +ConvertedDataTypeContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +ConvertedDataTypeContext.prototype.NCHAR = function() { + return this.getToken(SqlParser.NCHAR, 0); +}; + +ConvertedDataTypeContext.prototype.lengthOneDimension = function() { + return this.getTypedRuleContext(LengthOneDimensionContext,0); +}; + +ConvertedDataTypeContext.prototype.CHAR = function() { + return this.getToken(SqlParser.CHAR, 0); +}; + +ConvertedDataTypeContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +ConvertedDataTypeContext.prototype.CHARACTER = function() { + return this.getToken(SqlParser.CHARACTER, 0); +}; + +ConvertedDataTypeContext.prototype.SET = function() { + return this.getToken(SqlParser.SET, 0); +}; + +ConvertedDataTypeContext.prototype.CHARSET = function() { + return this.getToken(SqlParser.CHARSET, 0); +}; + +ConvertedDataTypeContext.prototype.DATE = function() { + return this.getToken(SqlParser.DATE, 0); +}; + +ConvertedDataTypeContext.prototype.DATETIME = function() { + return this.getToken(SqlParser.DATETIME, 0); +}; + +ConvertedDataTypeContext.prototype.TIME = function() { + return this.getToken(SqlParser.TIME, 0); +}; + +ConvertedDataTypeContext.prototype.JSON = function() { + return this.getToken(SqlParser.JSON, 0); +}; + +ConvertedDataTypeContext.prototype.DECIMAL = function() { + return this.getToken(SqlParser.DECIMAL, 0); +}; + +ConvertedDataTypeContext.prototype.lengthTwoDimension = function() { + return this.getTypedRuleContext(LengthTwoDimensionContext,0); +}; + +ConvertedDataTypeContext.prototype.SIGNED = function() { + return this.getToken(SqlParser.SIGNED, 0); +}; + +ConvertedDataTypeContext.prototype.UNSIGNED = function() { + return this.getToken(SqlParser.UNSIGNED, 0); +}; + +ConvertedDataTypeContext.prototype.INTEGER = function() { + return this.getToken(SqlParser.INTEGER, 0); +}; + +ConvertedDataTypeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterConvertedDataType(this); + } +}; + +ConvertedDataTypeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitConvertedDataType(this); + } +}; + +ConvertedDataTypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitConvertedDataType(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ConvertedDataTypeContext = ConvertedDataTypeContext; + +SqlParser.prototype.convertedDataType = function() { + + var localctx = new ConvertedDataTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 548, SqlParser.RULE_convertedDataType); + var _la = 0; // Token type + try { + this.state = 5735; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.BINARY: + case SqlParser.NCHAR: + this.enterOuterAlt(localctx, 1); + this.state = 5710; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.BINARY || _la===SqlParser.NCHAR)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5712; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LR_BRACKET) { + this.state = 5711; + this.lengthOneDimension(); + } + + break; + case SqlParser.CHAR: + this.enterOuterAlt(localctx, 2); + this.state = 5714; + localctx.typeName = this.match(SqlParser.CHAR); + this.state = 5716; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LR_BRACKET) { + this.state = 5715; + this.lengthOneDimension(); + } + + this.state = 5724; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.CHARACTER || _la===SqlParser.CHARSET) { + this.state = 5721; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CHARACTER: + this.state = 5718; + this.match(SqlParser.CHARACTER); + this.state = 5719; + this.match(SqlParser.SET); + break; + case SqlParser.CHARSET: + this.state = 5720; + this.match(SqlParser.CHARSET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5723; + this.charsetName(); + } + + break; + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.DATETIME: + case SqlParser.JSON: + this.enterOuterAlt(localctx, 3); + this.state = 5726; + localctx.typeName = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.DATETIME - 199)))) !== 0) || _la===SqlParser.JSON)) { + localctx.typeName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case SqlParser.DECIMAL: + this.enterOuterAlt(localctx, 4); + this.state = 5727; + localctx.typeName = this.match(SqlParser.DECIMAL); + this.state = 5729; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LR_BRACKET) { + this.state = 5728; + this.lengthTwoDimension(); + } + + break; + case SqlParser.UNSIGNED: + case SqlParser.SIGNED: + this.enterOuterAlt(localctx, 5); + this.state = 5731; + _la = this._input.LA(1); + if(!(_la===SqlParser.UNSIGNED || _la===SqlParser.SIGNED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5733; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.INTEGER) { + this.state = 5732; + this.match(SqlParser.INTEGER); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LengthOneDimensionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_lengthOneDimension; + return this; +} + +LengthOneDimensionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LengthOneDimensionContext.prototype.constructor = LengthOneDimensionContext; + +LengthOneDimensionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +LengthOneDimensionContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +LengthOneDimensionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +LengthOneDimensionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLengthOneDimension(this); + } +}; + +LengthOneDimensionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLengthOneDimension(this); + } +}; + +LengthOneDimensionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLengthOneDimension(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LengthOneDimensionContext = LengthOneDimensionContext; + +SqlParser.prototype.lengthOneDimension = function() { + + var localctx = new LengthOneDimensionContext(this, this._ctx, this.state); + this.enterRule(localctx, 550, SqlParser.RULE_lengthOneDimension); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5737; + this.match(SqlParser.LR_BRACKET); + this.state = 5738; + this.decimalLiteral(); + this.state = 5739; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LengthTwoDimensionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_lengthTwoDimension; + return this; +} + +LengthTwoDimensionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LengthTwoDimensionContext.prototype.constructor = LengthTwoDimensionContext; + +LengthTwoDimensionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +LengthTwoDimensionContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; + +LengthTwoDimensionContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; + +LengthTwoDimensionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +LengthTwoDimensionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLengthTwoDimension(this); + } +}; + +LengthTwoDimensionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLengthTwoDimension(this); + } +}; + +LengthTwoDimensionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLengthTwoDimension(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LengthTwoDimensionContext = LengthTwoDimensionContext; + +SqlParser.prototype.lengthTwoDimension = function() { + + var localctx = new LengthTwoDimensionContext(this, this._ctx, this.state); + this.enterRule(localctx, 552, SqlParser.RULE_lengthTwoDimension); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5741; + this.match(SqlParser.LR_BRACKET); + this.state = 5742; + this.decimalLiteral(); + this.state = 5743; + this.match(SqlParser.COMMA); + this.state = 5744; + this.decimalLiteral(); + this.state = 5745; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LengthTwoOptionalDimensionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_lengthTwoOptionalDimension; + return this; +} + +LengthTwoOptionalDimensionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LengthTwoOptionalDimensionContext.prototype.constructor = LengthTwoOptionalDimensionContext; + +LengthTwoOptionalDimensionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +LengthTwoOptionalDimensionContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; + +LengthTwoOptionalDimensionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +LengthTwoOptionalDimensionContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; + +LengthTwoOptionalDimensionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLengthTwoOptionalDimension(this); + } +}; + +LengthTwoOptionalDimensionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLengthTwoOptionalDimension(this); + } +}; + +LengthTwoOptionalDimensionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLengthTwoOptionalDimension(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LengthTwoOptionalDimensionContext = LengthTwoOptionalDimensionContext; + +SqlParser.prototype.lengthTwoOptionalDimension = function() { + + var localctx = new LengthTwoOptionalDimensionContext(this, this._ctx, this.state); + this.enterRule(localctx, 554, SqlParser.RULE_lengthTwoOptionalDimension); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5747; + this.match(SqlParser.LR_BRACKET); + this.state = 5748; + this.decimalLiteral(); + this.state = 5751; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.COMMA) { + this.state = 5749; + this.match(SqlParser.COMMA); + this.state = 5750; + this.decimalLiteral(); + } + + this.state = 5753; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UidListContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_uidList; + return this; +} + +UidListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UidListContext.prototype.constructor = UidListContext; + +UidListContext.prototype.uid = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(UidContext); + } else { + return this.getTypedRuleContext(UidContext,i); + } +}; + +UidListContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +UidListContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUidList(this); + } +}; + +UidListContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUidList(this); + } +}; + +UidListContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUidList(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UidListContext = UidListContext; + +SqlParser.prototype.uidList = function() { + + var localctx = new UidListContext(this, this._ctx, this.state); + this.enterRule(localctx, 556, SqlParser.RULE_uidList); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5755; + this.uid(); + this.state = 5760; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,852,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 5756; + this.match(SqlParser.COMMA); + this.state = 5757; + this.uid(); + } + this.state = 5762; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,852,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TablesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_tables; + return this; +} + +TablesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TablesContext.prototype.constructor = TablesContext; + +TablesContext.prototype.tableName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TableNameContext); + } else { + return this.getTypedRuleContext(TableNameContext,i); + } +}; + +TablesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +TablesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTables(this); + } +}; + +TablesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTables(this); + } +}; + +TablesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTables(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TablesContext = TablesContext; + +SqlParser.prototype.tables = function() { + + var localctx = new TablesContext(this, this._ctx, this.state); + this.enterRule(localctx, 558, SqlParser.RULE_tables); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5763; + this.tableName(); + this.state = 5768; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,853,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 5764; + this.match(SqlParser.COMMA); + this.state = 5765; + this.tableName(); + } + this.state = 5770; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,853,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IndexColumnNamesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_indexColumnNames; + return this; +} + +IndexColumnNamesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IndexColumnNamesContext.prototype.constructor = IndexColumnNamesContext; + +IndexColumnNamesContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +IndexColumnNamesContext.prototype.indexColumnName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IndexColumnNameContext); + } else { + return this.getTypedRuleContext(IndexColumnNameContext,i); + } +}; + +IndexColumnNamesContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +IndexColumnNamesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +IndexColumnNamesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIndexColumnNames(this); + } +}; + +IndexColumnNamesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIndexColumnNames(this); + } +}; + +IndexColumnNamesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIndexColumnNames(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IndexColumnNamesContext = IndexColumnNamesContext; + +SqlParser.prototype.indexColumnNames = function() { + + var localctx = new IndexColumnNamesContext(this, this._ctx, this.state); + this.enterRule(localctx, 560, SqlParser.RULE_indexColumnNames); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5771; + this.match(SqlParser.LR_BRACKET); + this.state = 5772; + this.indexColumnName(); + this.state = 5777; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5773; + this.match(SqlParser.COMMA); + this.state = 5774; + this.indexColumnName(); + this.state = 5779; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5780; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ExpressionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_expressions; + return this; +} + +ExpressionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ExpressionsContext.prototype.constructor = ExpressionsContext; + +ExpressionsContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +ExpressionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ExpressionsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterExpressions(this); + } +}; + +ExpressionsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitExpressions(this); + } +}; + +ExpressionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitExpressions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ExpressionsContext = ExpressionsContext; + +SqlParser.prototype.expressions = function() { + + var localctx = new ExpressionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 562, SqlParser.RULE_expressions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5782; + this.expression(0); + this.state = 5787; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5783; + this.match(SqlParser.COMMA); + this.state = 5784; + this.expression(0); + this.state = 5789; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ExpressionsWithDefaultsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_expressionsWithDefaults; + return this; +} + +ExpressionsWithDefaultsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ExpressionsWithDefaultsContext.prototype.constructor = ExpressionsWithDefaultsContext; + +ExpressionsWithDefaultsContext.prototype.expressionOrDefault = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionOrDefaultContext); + } else { + return this.getTypedRuleContext(ExpressionOrDefaultContext,i); + } +}; + +ExpressionsWithDefaultsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ExpressionsWithDefaultsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterExpressionsWithDefaults(this); + } +}; + +ExpressionsWithDefaultsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitExpressionsWithDefaults(this); + } +}; + +ExpressionsWithDefaultsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitExpressionsWithDefaults(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ExpressionsWithDefaultsContext = ExpressionsWithDefaultsContext; + +SqlParser.prototype.expressionsWithDefaults = function() { + + var localctx = new ExpressionsWithDefaultsContext(this, this._ctx, this.state); + this.enterRule(localctx, 564, SqlParser.RULE_expressionsWithDefaults); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5790; + this.expressionOrDefault(); + this.state = 5795; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5791; + this.match(SqlParser.COMMA); + this.state = 5792; + this.expressionOrDefault(); + this.state = 5797; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ConstantsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_constants; + return this; +} + +ConstantsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ConstantsContext.prototype.constructor = ConstantsContext; + +ConstantsContext.prototype.constant = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ConstantContext); + } else { + return this.getTypedRuleContext(ConstantContext,i); + } +}; + +ConstantsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +ConstantsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterConstants(this); + } +}; + +ConstantsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitConstants(this); + } +}; + +ConstantsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitConstants(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ConstantsContext = ConstantsContext; + +SqlParser.prototype.constants = function() { + + var localctx = new ConstantsContext(this, this._ctx, this.state); + this.enterRule(localctx, 566, SqlParser.RULE_constants); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5798; + this.constant(); + this.state = 5803; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5799; + this.match(SqlParser.COMMA); + this.state = 5800; + this.constant(); + this.state = 5805; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SimpleStringsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_simpleStrings; + return this; +} + +SimpleStringsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SimpleStringsContext.prototype.constructor = SimpleStringsContext; + +SimpleStringsContext.prototype.STRING_LITERAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.STRING_LITERAL); + } else { + return this.getToken(SqlParser.STRING_LITERAL, i); + } +}; + + +SimpleStringsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +SimpleStringsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleStrings(this); + } +}; + +SimpleStringsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleStrings(this); + } +}; + +SimpleStringsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleStrings(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.SimpleStringsContext = SimpleStringsContext; + +SqlParser.prototype.simpleStrings = function() { + + var localctx = new SimpleStringsContext(this, this._ctx, this.state); + this.enterRule(localctx, 568, SqlParser.RULE_simpleStrings); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5806; + this.match(SqlParser.STRING_LITERAL); + this.state = 5811; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5807; + this.match(SqlParser.COMMA); + this.state = 5808; + this.match(SqlParser.STRING_LITERAL); + this.state = 5813; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function UserVariablesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_userVariables; + return this; +} + +UserVariablesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UserVariablesContext.prototype.constructor = UserVariablesContext; + +UserVariablesContext.prototype.LOCAL_ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LOCAL_ID); + } else { + return this.getToken(SqlParser.LOCAL_ID, i); + } +}; + + +UserVariablesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +UserVariablesContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUserVariables(this); + } +}; + +UserVariablesContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUserVariables(this); + } +}; + +UserVariablesContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUserVariables(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UserVariablesContext = UserVariablesContext; + +SqlParser.prototype.userVariables = function() { + + var localctx = new UserVariablesContext(this, this._ctx, this.state); + this.enterRule(localctx, 570, SqlParser.RULE_userVariables); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5814; + this.match(SqlParser.LOCAL_ID); + this.state = 5819; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 5815; + this.match(SqlParser.COMMA); + this.state = 5816; + this.match(SqlParser.LOCAL_ID); + this.state = 5821; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DefaultValueContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_defaultValue; + return this; +} + +DefaultValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DefaultValueContext.prototype.constructor = DefaultValueContext; + +DefaultValueContext.prototype.NULL_LITERAL = function() { + return this.getToken(SqlParser.NULL_LITERAL, 0); +}; + +DefaultValueContext.prototype.constant = function() { + return this.getTypedRuleContext(ConstantContext,0); +}; + +DefaultValueContext.prototype.unaryOperator = function() { + return this.getTypedRuleContext(UnaryOperatorContext,0); +}; + +DefaultValueContext.prototype.currentTimestamp = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(CurrentTimestampContext); + } else { + return this.getTypedRuleContext(CurrentTimestampContext,i); + } +}; + +DefaultValueContext.prototype.ON = function() { + return this.getToken(SqlParser.ON, 0); +}; + +DefaultValueContext.prototype.UPDATE = function() { + return this.getToken(SqlParser.UPDATE, 0); +}; + +DefaultValueContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDefaultValue(this); + } +}; + +DefaultValueContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDefaultValue(this); + } +}; + +DefaultValueContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDefaultValue(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DefaultValueContext = DefaultValueContext; + +SqlParser.prototype.defaultValue = function() { + + var localctx = new DefaultValueContext(this, this._ctx, this.state); + this.enterRule(localctx, 572, SqlParser.RULE_defaultValue); + try { + this.state = 5833; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,862,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5822; + this.match(SqlParser.NULL_LITERAL); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5824; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,860,this._ctx); + if(la_===1) { + this.state = 5823; + this.unaryOperator(); + + } + this.state = 5826; + this.constant(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 5827; + this.currentTimestamp(); + this.state = 5831; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,861,this._ctx); + if(la_===1) { + this.state = 5828; + this.match(SqlParser.ON); + this.state = 5829; + this.match(SqlParser.UPDATE); + this.state = 5830; + this.currentTimestamp(); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CurrentTimestampContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_currentTimestamp; + return this; +} + +CurrentTimestampContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CurrentTimestampContext.prototype.constructor = CurrentTimestampContext; + +CurrentTimestampContext.prototype.NOW = function() { + return this.getToken(SqlParser.NOW, 0); +}; + +CurrentTimestampContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CurrentTimestampContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CurrentTimestampContext.prototype.CURRENT_TIMESTAMP = function() { + return this.getToken(SqlParser.CURRENT_TIMESTAMP, 0); +}; + +CurrentTimestampContext.prototype.LOCALTIME = function() { + return this.getToken(SqlParser.LOCALTIME, 0); +}; + +CurrentTimestampContext.prototype.LOCALTIMESTAMP = function() { + return this.getToken(SqlParser.LOCALTIMESTAMP, 0); +}; + +CurrentTimestampContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +CurrentTimestampContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCurrentTimestamp(this); + } +}; + +CurrentTimestampContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCurrentTimestamp(this); + } +}; + +CurrentTimestampContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCurrentTimestamp(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CurrentTimestampContext = CurrentTimestampContext; + +SqlParser.prototype.currentTimestamp = function() { + + var localctx = new CurrentTimestampContext(this, this._ctx, this.state); + this.enterRule(localctx, 574, SqlParser.RULE_currentTimestamp); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5849; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CURRENT_TIMESTAMP: + case SqlParser.LOCALTIME: + case SqlParser.LOCALTIMESTAMP: + this.state = 5835; + _la = this._input.LA(1); + if(!(((((_la - 253)) & ~0x1f) == 0 && ((1 << (_la - 253)) & ((1 << (SqlParser.CURRENT_TIMESTAMP - 253)) | (1 << (SqlParser.LOCALTIME - 253)) | (1 << (SqlParser.LOCALTIMESTAMP - 253)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5841; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,864,this._ctx); + if(la_===1) { + this.state = 5836; + this.match(SqlParser.LR_BRACKET); + this.state = 5838; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (SqlParser.ZERO_DECIMAL - 1025)) | (1 << (SqlParser.ONE_DECIMAL - 1025)) | (1 << (SqlParser.TWO_DECIMAL - 1025)) | (1 << (SqlParser.DECIMAL_LITERAL - 1025)))) !== 0)) { + this.state = 5837; + this.decimalLiteral(); + } + + this.state = 5840; + this.match(SqlParser.RR_BRACKET); + + } + break; + case SqlParser.NOW: + this.state = 5843; + this.match(SqlParser.NOW); + this.state = 5844; + this.match(SqlParser.LR_BRACKET); + this.state = 5846; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (SqlParser.ZERO_DECIMAL - 1025)) | (1 << (SqlParser.ONE_DECIMAL - 1025)) | (1 << (SqlParser.TWO_DECIMAL - 1025)) | (1 << (SqlParser.DECIMAL_LITERAL - 1025)))) !== 0)) { + this.state = 5845; + this.decimalLiteral(); + } + + this.state = 5848; + this.match(SqlParser.RR_BRACKET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ExpressionOrDefaultContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_expressionOrDefault; + return this; +} + +ExpressionOrDefaultContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ExpressionOrDefaultContext.prototype.constructor = ExpressionOrDefaultContext; + +ExpressionOrDefaultContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +ExpressionOrDefaultContext.prototype.DEFAULT = function() { + return this.getToken(SqlParser.DEFAULT, 0); +}; + +ExpressionOrDefaultContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterExpressionOrDefault(this); + } +}; + +ExpressionOrDefaultContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitExpressionOrDefault(this); + } +}; + +ExpressionOrDefaultContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitExpressionOrDefault(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ExpressionOrDefaultContext = ExpressionOrDefaultContext; + +SqlParser.prototype.expressionOrDefault = function() { + + var localctx = new ExpressionOrDefaultContext(this, this._ctx, this.state); + this.enterRule(localctx, 576, SqlParser.RULE_expressionOrDefault); + try { + this.state = 5853; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.CASE: + case SqlParser.CAST: + case SqlParser.CONVERT: + case SqlParser.CURRENT: + case SqlParser.CURRENT_USER: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.EXISTS: + case SqlParser.FALSE: + case SqlParser.IF: + case SqlParser.INSERT: + case SqlParser.INTERVAL: + case SqlParser.LEFT: + case SqlParser.NOT: + case SqlParser.NULL_LITERAL: + case SqlParser.NUMBER: + case SqlParser.REPLACE: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.TRUE: + case SqlParser.VALUES: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.CHAR: + case SqlParser.BINARY: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.AVG: + case SqlParser.BIT_AND: + case SqlParser.BIT_OR: + case SqlParser.BIT_XOR: + case SqlParser.COUNT: + case SqlParser.GROUP_CONCAT: + case SqlParser.MAX: + case SqlParser.MIN: + case SqlParser.STD: + case SqlParser.STDDEV: + case SqlParser.STDDEV_POP: + case SqlParser.STDDEV_SAMP: + case SqlParser.SUM: + case SqlParser.VAR_POP: + case SqlParser.VAR_SAMP: + case SqlParser.VARIANCE: + case SqlParser.CURRENT_DATE: + case SqlParser.CURRENT_TIME: + case SqlParser.CURRENT_TIMESTAMP: + case SqlParser.LOCALTIME: + case SqlParser.CURDATE: + case SqlParser.CURTIME: + case SqlParser.DATE_ADD: + case SqlParser.DATE_SUB: + case SqlParser.EXTRACT: + case SqlParser.LOCALTIMESTAMP: + case SqlParser.NOW: + case SqlParser.POSITION: + case SqlParser.SUBSTR: + case SqlParser.SUBSTRING: + case SqlParser.SYSDATE: + case SqlParser.TRIM: + case SqlParser.UTC_DATE: + case SqlParser.UTC_TIME: + case SqlParser.UTC_TIMESTAMP: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.PLUS: + case SqlParser.MINUS: + case SqlParser.EXCLAMATION_SYMBOL: + case SqlParser.BIT_NOT_OP: + case SqlParser.LR_BRACKET: + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.START_NATIONAL_STRING_LITERAL: + case SqlParser.STRING_LITERAL: + case SqlParser.DECIMAL_LITERAL: + case SqlParser.HEXADECIMAL_LITERAL: + case SqlParser.REAL_LITERAL: + case SqlParser.NULL_SPEC_LITERAL: + case SqlParser.BIT_STRING: + case SqlParser.STRING_CHARSET_NAME: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + case SqlParser.LOCAL_ID: + case SqlParser.GLOBAL_ID: + this.enterOuterAlt(localctx, 1); + this.state = 5851; + this.expression(0); + break; + case SqlParser.DEFAULT: + this.enterOuterAlt(localctx, 2); + this.state = 5852; + this.match(SqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IfExistsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_ifExists; + return this; +} + +IfExistsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IfExistsContext.prototype.constructor = IfExistsContext; + +IfExistsContext.prototype.IF = function() { + return this.getToken(SqlParser.IF, 0); +}; + +IfExistsContext.prototype.EXISTS = function() { + return this.getToken(SqlParser.EXISTS, 0); +}; + +IfExistsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIfExists(this); + } +}; + +IfExistsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIfExists(this); + } +}; + +IfExistsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIfExists(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IfExistsContext = IfExistsContext; + +SqlParser.prototype.ifExists = function() { + + var localctx = new IfExistsContext(this, this._ctx, this.state); + this.enterRule(localctx, 578, SqlParser.RULE_ifExists); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5855; + this.match(SqlParser.IF); + this.state = 5856; + this.match(SqlParser.EXISTS); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IfNotExistsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_ifNotExists; + return this; +} + +IfNotExistsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IfNotExistsContext.prototype.constructor = IfNotExistsContext; + +IfNotExistsContext.prototype.IF = function() { + return this.getToken(SqlParser.IF, 0); +}; + +IfNotExistsContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +IfNotExistsContext.prototype.EXISTS = function() { + return this.getToken(SqlParser.EXISTS, 0); +}; + +IfNotExistsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIfNotExists(this); + } +}; + +IfNotExistsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIfNotExists(this); + } +}; + +IfNotExistsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIfNotExists(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IfNotExistsContext = IfNotExistsContext; + +SqlParser.prototype.ifNotExists = function() { + + var localctx = new IfNotExistsContext(this, this._ctx, this.state); + this.enterRule(localctx, 580, SqlParser.RULE_ifNotExists); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5858; + this.match(SqlParser.IF); + this.state = 5859; + this.match(SqlParser.NOT); + this.state = 5860; + this.match(SqlParser.EXISTS); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FunctionCallContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_functionCall; + return this; +} + +FunctionCallContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FunctionCallContext.prototype.constructor = FunctionCallContext; + + + +FunctionCallContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function SpecificFunctionCallContext(parser, ctx) { + FunctionCallContext.call(this, parser); + FunctionCallContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SpecificFunctionCallContext.prototype = Object.create(FunctionCallContext.prototype); +SpecificFunctionCallContext.prototype.constructor = SpecificFunctionCallContext; + +SqlParser.SpecificFunctionCallContext = SpecificFunctionCallContext; + +SpecificFunctionCallContext.prototype.specificFunction = function() { + return this.getTypedRuleContext(SpecificFunctionContext,0); +}; +SpecificFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSpecificFunctionCall(this); + } +}; + +SpecificFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSpecificFunctionCall(this); + } +}; + +SpecificFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSpecificFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PasswordFunctionCallContext(parser, ctx) { + FunctionCallContext.call(this, parser); + FunctionCallContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PasswordFunctionCallContext.prototype = Object.create(FunctionCallContext.prototype); +PasswordFunctionCallContext.prototype.constructor = PasswordFunctionCallContext; + +SqlParser.PasswordFunctionCallContext = PasswordFunctionCallContext; + +PasswordFunctionCallContext.prototype.passwordFunctionClause = function() { + return this.getTypedRuleContext(PasswordFunctionClauseContext,0); +}; +PasswordFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPasswordFunctionCall(this); + } +}; + +PasswordFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPasswordFunctionCall(this); + } +}; + +PasswordFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPasswordFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function UdfFunctionCallContext(parser, ctx) { + FunctionCallContext.call(this, parser); + FunctionCallContext.prototype.copyFrom.call(this, ctx); + return this; +} + +UdfFunctionCallContext.prototype = Object.create(FunctionCallContext.prototype); +UdfFunctionCallContext.prototype.constructor = UdfFunctionCallContext; + +SqlParser.UdfFunctionCallContext = UdfFunctionCallContext; + +UdfFunctionCallContext.prototype.fullId = function() { + return this.getTypedRuleContext(FullIdContext,0); +}; + +UdfFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +UdfFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +UdfFunctionCallContext.prototype.functionArgs = function() { + return this.getTypedRuleContext(FunctionArgsContext,0); +}; +UdfFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUdfFunctionCall(this); + } +}; + +UdfFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUdfFunctionCall(this); + } +}; + +UdfFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUdfFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function AggregateFunctionCallContext(parser, ctx) { + FunctionCallContext.call(this, parser); + FunctionCallContext.prototype.copyFrom.call(this, ctx); + return this; +} + +AggregateFunctionCallContext.prototype = Object.create(FunctionCallContext.prototype); +AggregateFunctionCallContext.prototype.constructor = AggregateFunctionCallContext; + +SqlParser.AggregateFunctionCallContext = AggregateFunctionCallContext; + +AggregateFunctionCallContext.prototype.aggregateWindowedFunction = function() { + return this.getTypedRuleContext(AggregateWindowedFunctionContext,0); +}; +AggregateFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAggregateFunctionCall(this); + } +}; + +AggregateFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAggregateFunctionCall(this); + } +}; + +AggregateFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAggregateFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ScalarFunctionCallContext(parser, ctx) { + FunctionCallContext.call(this, parser); + FunctionCallContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ScalarFunctionCallContext.prototype = Object.create(FunctionCallContext.prototype); +ScalarFunctionCallContext.prototype.constructor = ScalarFunctionCallContext; + +SqlParser.ScalarFunctionCallContext = ScalarFunctionCallContext; + +ScalarFunctionCallContext.prototype.scalarFunctionName = function() { + return this.getTypedRuleContext(ScalarFunctionNameContext,0); +}; + +ScalarFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +ScalarFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +ScalarFunctionCallContext.prototype.functionArgs = function() { + return this.getTypedRuleContext(FunctionArgsContext,0); +}; +ScalarFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterScalarFunctionCall(this); + } +}; + +ScalarFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitScalarFunctionCall(this); + } +}; + +ScalarFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitScalarFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.FunctionCallContext = FunctionCallContext; + +SqlParser.prototype.functionCall = function() { + + var localctx = new FunctionCallContext(this, this._ctx, this.state); + this.enterRule(localctx, 582, SqlParser.RULE_functionCall); + var _la = 0; // Token type + try { + this.state = 5879; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,870,this._ctx); + switch(la_) { + case 1: + localctx = new SpecificFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 5862; + this.specificFunction(); + break; + + case 2: + localctx = new AggregateFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 5863; + this.aggregateWindowedFunction(); + break; + + case 3: + localctx = new ScalarFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 5864; + this.scalarFunctionName(); + this.state = 5865; + this.match(SqlParser.LR_BRACKET); + this.state = 5867; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SqlParser.CASE) | (1 << SqlParser.CAST) | (1 << SqlParser.CONVERT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.CURRENT_USER - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)) | (1 << (SqlParser.EXISTS - 32)) | (1 << (SqlParser.FALSE - 32)))) !== 0) || ((((_la - 69)) & ~0x1f) == 0 && ((1 << (_la - 69)) & ((1 << (SqlParser.IF - 69)) | (1 << (SqlParser.INSERT - 69)) | (1 << (SqlParser.INTERVAL - 69)) | (1 << (SqlParser.LEFT - 69)))) !== 0) || ((((_la - 102)) & ~0x1f) == 0 && ((1 << (_la - 102)) & ((1 << (SqlParser.NOT - 102)) | (1 << (SqlParser.NULL_LITERAL - 102)) | (1 << (SqlParser.NUMBER - 102)) | (1 << (SqlParser.REPLACE - 102)) | (1 << (SqlParser.RIGHT - 102)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (SqlParser.STACKED - 151)) | (1 << (SqlParser.TRUE - 151)) | (1 << (SqlParser.VALUES - 151)))) !== 0) || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.CHAR - 199)) | (1 << (SqlParser.BINARY - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.AVG - 233)) | (1 << (SqlParser.BIT_AND - 233)) | (1 << (SqlParser.BIT_OR - 233)) | (1 << (SqlParser.BIT_XOR - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.GROUP_CONCAT - 233)) | (1 << (SqlParser.MAX - 233)) | (1 << (SqlParser.MIN - 233)) | (1 << (SqlParser.STD - 233)) | (1 << (SqlParser.STDDEV - 233)) | (1 << (SqlParser.STDDEV_POP - 233)) | (1 << (SqlParser.STDDEV_SAMP - 233)) | (1 << (SqlParser.SUM - 233)) | (1 << (SqlParser.VAR_POP - 233)) | (1 << (SqlParser.VAR_SAMP - 233)) | (1 << (SqlParser.VARIANCE - 233)) | (1 << (SqlParser.CURRENT_DATE - 233)) | (1 << (SqlParser.CURRENT_TIME - 233)) | (1 << (SqlParser.CURRENT_TIMESTAMP - 233)) | (1 << (SqlParser.LOCALTIME - 233)) | (1 << (SqlParser.CURDATE - 233)) | (1 << (SqlParser.CURTIME - 233)) | (1 << (SqlParser.DATE_ADD - 233)) | (1 << (SqlParser.DATE_SUB - 233)) | (1 << (SqlParser.EXTRACT - 233)) | (1 << (SqlParser.LOCALTIMESTAMP - 233)) | (1 << (SqlParser.NOW - 233)) | (1 << (SqlParser.POSITION - 233)) | (1 << (SqlParser.SUBSTR - 233)) | (1 << (SqlParser.SUBSTRING - 233)))) !== 0) || ((((_la - 265)) & ~0x1f) == 0 && ((1 << (_la - 265)) & ((1 << (SqlParser.SYSDATE - 265)) | (1 << (SqlParser.TRIM - 265)) | (1 << (SqlParser.UTC_DATE - 265)) | (1 << (SqlParser.UTC_TIME - 265)) | (1 << (SqlParser.UTC_TIMESTAMP - 265)) | (1 << (SqlParser.ACCOUNT - 265)) | (1 << (SqlParser.ACTION - 265)) | (1 << (SqlParser.AFTER - 265)) | (1 << (SqlParser.AGGREGATE - 265)) | (1 << (SqlParser.ALGORITHM - 265)) | (1 << (SqlParser.ANY - 265)) | (1 << (SqlParser.AT - 265)) | (1 << (SqlParser.AUTHORS - 265)) | (1 << (SqlParser.AUTOCOMMIT - 265)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 265)) | (1 << (SqlParser.AUTO_INCREMENT - 265)) | (1 << (SqlParser.AVG_ROW_LENGTH - 265)) | (1 << (SqlParser.BEGIN - 265)) | (1 << (SqlParser.BINLOG - 265)) | (1 << (SqlParser.BIT - 265)) | (1 << (SqlParser.BLOCK - 265)) | (1 << (SqlParser.BOOL - 265)) | (1 << (SqlParser.BOOLEAN - 265)) | (1 << (SqlParser.BTREE - 265)) | (1 << (SqlParser.CACHE - 265)) | (1 << (SqlParser.CASCADED - 265)) | (1 << (SqlParser.CHAIN - 265)) | (1 << (SqlParser.CHANGED - 265)) | (1 << (SqlParser.CHANNEL - 265)) | (1 << (SqlParser.CHECKSUM - 265)) | (1 << (SqlParser.PAGE_CHECKSUM - 265)) | (1 << (SqlParser.CIPHER - 265)))) !== 0) || ((((_la - 297)) & ~0x1f) == 0 && ((1 << (_la - 297)) & ((1 << (SqlParser.CLASS_ORIGIN - 297)) | (1 << (SqlParser.CLIENT - 297)) | (1 << (SqlParser.CLOSE - 297)) | (1 << (SqlParser.COALESCE - 297)) | (1 << (SqlParser.CODE - 297)) | (1 << (SqlParser.COLUMNS - 297)) | (1 << (SqlParser.COLUMN_FORMAT - 297)) | (1 << (SqlParser.COLUMN_NAME - 297)) | (1 << (SqlParser.COMMENT - 297)) | (1 << (SqlParser.COMMIT - 297)) | (1 << (SqlParser.COMPACT - 297)) | (1 << (SqlParser.COMPLETION - 297)) | (1 << (SqlParser.COMPRESSED - 297)) | (1 << (SqlParser.COMPRESSION - 297)) | (1 << (SqlParser.CONCURRENT - 297)) | (1 << (SqlParser.CONNECTION - 297)) | (1 << (SqlParser.CONSISTENT - 297)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 297)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 297)) | (1 << (SqlParser.CONSTRAINT_NAME - 297)) | (1 << (SqlParser.CONTAINS - 297)) | (1 << (SqlParser.CONTEXT - 297)) | (1 << (SqlParser.CONTRIBUTORS - 297)) | (1 << (SqlParser.COPY - 297)) | (1 << (SqlParser.CPU - 297)) | (1 << (SqlParser.CURSOR_NAME - 297)) | (1 << (SqlParser.DATA - 297)) | (1 << (SqlParser.DATAFILE - 297)) | (1 << (SqlParser.DEALLOCATE - 297)) | (1 << (SqlParser.DEFAULT_AUTH - 297)) | (1 << (SqlParser.DEFINER - 297)) | (1 << (SqlParser.DELAY_KEY_WRITE - 297)))) !== 0) || ((((_la - 329)) & ~0x1f) == 0 && ((1 << (_la - 329)) & ((1 << (SqlParser.DES_KEY_FILE - 329)) | (1 << (SqlParser.DIRECTORY - 329)) | (1 << (SqlParser.DISABLE - 329)) | (1 << (SqlParser.DISCARD - 329)) | (1 << (SqlParser.DISK - 329)) | (1 << (SqlParser.DO - 329)) | (1 << (SqlParser.DUMPFILE - 329)) | (1 << (SqlParser.DUPLICATE - 329)) | (1 << (SqlParser.DYNAMIC - 329)) | (1 << (SqlParser.ENABLE - 329)) | (1 << (SqlParser.ENCRYPTION - 329)) | (1 << (SqlParser.END - 329)) | (1 << (SqlParser.ENDS - 329)) | (1 << (SqlParser.ENGINE - 329)) | (1 << (SqlParser.ENGINES - 329)) | (1 << (SqlParser.ERROR - 329)) | (1 << (SqlParser.ERRORS - 329)) | (1 << (SqlParser.ESCAPE - 329)) | (1 << (SqlParser.EVEN - 329)) | (1 << (SqlParser.EVENT - 329)) | (1 << (SqlParser.EVENTS - 329)) | (1 << (SqlParser.EVERY - 329)) | (1 << (SqlParser.EXCHANGE - 329)) | (1 << (SqlParser.EXCLUSIVE - 329)) | (1 << (SqlParser.EXPIRE - 329)) | (1 << (SqlParser.EXPORT - 329)) | (1 << (SqlParser.EXTENDED - 329)) | (1 << (SqlParser.EXTENT_SIZE - 329)) | (1 << (SqlParser.FAST - 329)) | (1 << (SqlParser.FAULTS - 329)) | (1 << (SqlParser.FIELDS - 329)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 329)))) !== 0) || ((((_la - 361)) & ~0x1f) == 0 && ((1 << (_la - 361)) & ((1 << (SqlParser.FILTER - 361)) | (1 << (SqlParser.FIRST - 361)) | (1 << (SqlParser.FIXED - 361)) | (1 << (SqlParser.FLUSH - 361)) | (1 << (SqlParser.FOLLOWS - 361)) | (1 << (SqlParser.FOUND - 361)) | (1 << (SqlParser.FULL - 361)) | (1 << (SqlParser.FUNCTION - 361)) | (1 << (SqlParser.GENERAL - 361)) | (1 << (SqlParser.GLOBAL - 361)) | (1 << (SqlParser.GRANTS - 361)) | (1 << (SqlParser.GROUP_REPLICATION - 361)) | (1 << (SqlParser.HANDLER - 361)) | (1 << (SqlParser.HASH - 361)) | (1 << (SqlParser.HELP - 361)) | (1 << (SqlParser.HOST - 361)) | (1 << (SqlParser.HOSTS - 361)) | (1 << (SqlParser.IDENTIFIED - 361)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 361)) | (1 << (SqlParser.IMPORT - 361)) | (1 << (SqlParser.INDEXES - 361)) | (1 << (SqlParser.INITIAL_SIZE - 361)) | (1 << (SqlParser.INPLACE - 361)) | (1 << (SqlParser.INSERT_METHOD - 361)) | (1 << (SqlParser.INSTALL - 361)) | (1 << (SqlParser.INSTANCE - 361)) | (1 << (SqlParser.INVISIBLE - 361)) | (1 << (SqlParser.INVOKER - 361)) | (1 << (SqlParser.IO - 361)) | (1 << (SqlParser.IO_THREAD - 361)) | (1 << (SqlParser.IPC - 361)) | (1 << (SqlParser.ISOLATION - 361)))) !== 0) || ((((_la - 393)) & ~0x1f) == 0 && ((1 << (_la - 393)) & ((1 << (SqlParser.ISSUER - 393)) | (1 << (SqlParser.JSON - 393)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 393)) | (1 << (SqlParser.LANGUAGE - 393)) | (1 << (SqlParser.LAST - 393)) | (1 << (SqlParser.LEAVES - 393)) | (1 << (SqlParser.LESS - 393)) | (1 << (SqlParser.LEVEL - 393)) | (1 << (SqlParser.LIST - 393)) | (1 << (SqlParser.LOCAL - 393)) | (1 << (SqlParser.LOGFILE - 393)) | (1 << (SqlParser.LOGS - 393)) | (1 << (SqlParser.MASTER - 393)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 393)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 393)) | (1 << (SqlParser.MASTER_DELAY - 393)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 393)) | (1 << (SqlParser.MASTER_HOST - 393)) | (1 << (SqlParser.MASTER_LOG_FILE - 393)) | (1 << (SqlParser.MASTER_LOG_POS - 393)) | (1 << (SqlParser.MASTER_PASSWORD - 393)) | (1 << (SqlParser.MASTER_PORT - 393)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 393)) | (1 << (SqlParser.MASTER_SSL - 393)) | (1 << (SqlParser.MASTER_SSL_CA - 393)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 393)) | (1 << (SqlParser.MASTER_SSL_CERT - 393)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 393)) | (1 << (SqlParser.MASTER_SSL_CRL - 393)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 393)) | (1 << (SqlParser.MASTER_SSL_KEY - 393)) | (1 << (SqlParser.MASTER_TLS_VERSION - 393)))) !== 0) || ((((_la - 425)) & ~0x1f) == 0 && ((1 << (_la - 425)) & ((1 << (SqlParser.MASTER_USER - 425)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 425)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 425)) | (1 << (SqlParser.MAX_ROWS - 425)) | (1 << (SqlParser.MAX_SIZE - 425)) | (1 << (SqlParser.MAX_UPDATES_PER_HOUR - 425)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 425)) | (1 << (SqlParser.MEDIUM - 425)) | (1 << (SqlParser.MERGE - 425)) | (1 << (SqlParser.MESSAGE_TEXT - 425)) | (1 << (SqlParser.MID - 425)) | (1 << (SqlParser.MIGRATE - 425)) | (1 << (SqlParser.MIN_ROWS - 425)) | (1 << (SqlParser.MODE - 425)) | (1 << (SqlParser.MODIFY - 425)) | (1 << (SqlParser.MUTEX - 425)) | (1 << (SqlParser.MYSQL - 425)) | (1 << (SqlParser.MYSQL_ERRNO - 425)) | (1 << (SqlParser.NAME - 425)) | (1 << (SqlParser.NAMES - 425)) | (1 << (SqlParser.NCHAR - 425)) | (1 << (SqlParser.NEVER - 425)) | (1 << (SqlParser.NEXT - 425)) | (1 << (SqlParser.NO - 425)) | (1 << (SqlParser.NODEGROUP - 425)) | (1 << (SqlParser.NONE - 425)) | (1 << (SqlParser.OFFLINE - 425)) | (1 << (SqlParser.OFFSET - 425)) | (1 << (SqlParser.OJ - 425)) | (1 << (SqlParser.OLD_PASSWORD - 425)) | (1 << (SqlParser.ONE - 425)) | (1 << (SqlParser.ONLINE - 425)))) !== 0) || ((((_la - 457)) & ~0x1f) == 0 && ((1 << (_la - 457)) & ((1 << (SqlParser.ONLY - 457)) | (1 << (SqlParser.OPEN - 457)) | (1 << (SqlParser.OPTIMIZER_COSTS - 457)) | (1 << (SqlParser.OPTIONS - 457)) | (1 << (SqlParser.OWNER - 457)) | (1 << (SqlParser.PACK_KEYS - 457)) | (1 << (SqlParser.PAGE - 457)) | (1 << (SqlParser.PARSER - 457)) | (1 << (SqlParser.PARTIAL - 457)) | (1 << (SqlParser.PARTITIONING - 457)) | (1 << (SqlParser.PARTITIONS - 457)) | (1 << (SqlParser.PASSWORD - 457)) | (1 << (SqlParser.PHASE - 457)) | (1 << (SqlParser.PLUGIN - 457)) | (1 << (SqlParser.PLUGIN_DIR - 457)) | (1 << (SqlParser.PLUGINS - 457)) | (1 << (SqlParser.PORT - 457)) | (1 << (SqlParser.PRECEDES - 457)) | (1 << (SqlParser.PREPARE - 457)) | (1 << (SqlParser.PRESERVE - 457)) | (1 << (SqlParser.PREV - 457)) | (1 << (SqlParser.PROCESSLIST - 457)) | (1 << (SqlParser.PROFILE - 457)) | (1 << (SqlParser.PROFILES - 457)) | (1 << (SqlParser.PROXY - 457)) | (1 << (SqlParser.QUERY - 457)) | (1 << (SqlParser.QUICK - 457)) | (1 << (SqlParser.REBUILD - 457)) | (1 << (SqlParser.RECOVER - 457)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 457)) | (1 << (SqlParser.REDUNDANT - 457)) | (1 << (SqlParser.RELAY - 457)))) !== 0) || ((((_la - 489)) & ~0x1f) == 0 && ((1 << (_la - 489)) & ((1 << (SqlParser.RELAY_LOG_FILE - 489)) | (1 << (SqlParser.RELAY_LOG_POS - 489)) | (1 << (SqlParser.RELAYLOG - 489)) | (1 << (SqlParser.REMOVE - 489)) | (1 << (SqlParser.REORGANIZE - 489)) | (1 << (SqlParser.REPAIR - 489)) | (1 << (SqlParser.REPLICATE_DO_DB - 489)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 489)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 489)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 489)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 489)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 489)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 489)) | (1 << (SqlParser.REPLICATION - 489)) | (1 << (SqlParser.RESET - 489)) | (1 << (SqlParser.RESUME - 489)) | (1 << (SqlParser.RETURNED_SQLSTATE - 489)) | (1 << (SqlParser.RETURNS - 489)) | (1 << (SqlParser.ROLE - 489)) | (1 << (SqlParser.ROLLBACK - 489)) | (1 << (SqlParser.ROLLUP - 489)) | (1 << (SqlParser.ROTATE - 489)) | (1 << (SqlParser.ROW - 489)) | (1 << (SqlParser.ROWS - 489)) | (1 << (SqlParser.ROW_FORMAT - 489)) | (1 << (SqlParser.SAVEPOINT - 489)) | (1 << (SqlParser.SCHEDULE - 489)) | (1 << (SqlParser.SECURITY - 489)) | (1 << (SqlParser.SERVER - 489)) | (1 << (SqlParser.SESSION - 489)) | (1 << (SqlParser.SHARE - 489)) | (1 << (SqlParser.SHARED - 489)))) !== 0) || ((((_la - 521)) & ~0x1f) == 0 && ((1 << (_la - 521)) & ((1 << (SqlParser.SIGNED - 521)) | (1 << (SqlParser.SIMPLE - 521)) | (1 << (SqlParser.SLAVE - 521)) | (1 << (SqlParser.SLOW - 521)) | (1 << (SqlParser.SNAPSHOT - 521)) | (1 << (SqlParser.SOCKET - 521)) | (1 << (SqlParser.SOME - 521)) | (1 << (SqlParser.SONAME - 521)) | (1 << (SqlParser.SOUNDS - 521)) | (1 << (SqlParser.SOURCE - 521)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 521)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 521)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 521)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 521)) | (1 << (SqlParser.SQL_CACHE - 521)) | (1 << (SqlParser.SQL_NO_CACHE - 521)) | (1 << (SqlParser.SQL_THREAD - 521)) | (1 << (SqlParser.START - 521)) | (1 << (SqlParser.STARTS - 521)) | (1 << (SqlParser.STATS_AUTO_RECALC - 521)) | (1 << (SqlParser.STATS_PERSISTENT - 521)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 521)) | (1 << (SqlParser.STATUS - 521)) | (1 << (SqlParser.STOP - 521)) | (1 << (SqlParser.STORAGE - 521)) | (1 << (SqlParser.STRING - 521)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 521)) | (1 << (SqlParser.SUBJECT - 521)) | (1 << (SqlParser.SUBPARTITION - 521)) | (1 << (SqlParser.SUBPARTITIONS - 521)) | (1 << (SqlParser.SUSPEND - 521)))) !== 0) || ((((_la - 553)) & ~0x1f) == 0 && ((1 << (_la - 553)) & ((1 << (SqlParser.SWAPS - 553)) | (1 << (SqlParser.SWITCHES - 553)) | (1 << (SqlParser.TABLE_NAME - 553)) | (1 << (SqlParser.TABLESPACE - 553)) | (1 << (SqlParser.TEMPORARY - 553)) | (1 << (SqlParser.TEMPTABLE - 553)) | (1 << (SqlParser.THAN - 553)) | (1 << (SqlParser.TRADITIONAL - 553)) | (1 << (SqlParser.TRANSACTION - 553)) | (1 << (SqlParser.TRANSACTIONAL - 553)) | (1 << (SqlParser.TRIGGERS - 553)) | (1 << (SqlParser.TRUNCATE - 553)) | (1 << (SqlParser.UNDEFINED - 553)) | (1 << (SqlParser.UNDOFILE - 553)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 553)) | (1 << (SqlParser.UNINSTALL - 553)) | (1 << (SqlParser.UNKNOWN - 553)) | (1 << (SqlParser.UNTIL - 553)) | (1 << (SqlParser.UPGRADE - 553)) | (1 << (SqlParser.USER - 553)) | (1 << (SqlParser.USE_FRM - 553)) | (1 << (SqlParser.USER_RESOURCES - 553)) | (1 << (SqlParser.VALIDATION - 553)) | (1 << (SqlParser.VALUE - 553)) | (1 << (SqlParser.VARIABLES - 553)) | (1 << (SqlParser.VIEW - 553)) | (1 << (SqlParser.VISIBLE - 553)) | (1 << (SqlParser.WAIT - 553)) | (1 << (SqlParser.WARNINGS - 553)) | (1 << (SqlParser.WITHOUT - 553)) | (1 << (SqlParser.WORK - 553)))) !== 0) || ((((_la - 585)) & ~0x1f) == 0 && ((1 << (_la - 585)) & ((1 << (SqlParser.WRAPPER - 585)) | (1 << (SqlParser.X509 - 585)) | (1 << (SqlParser.XA - 585)) | (1 << (SqlParser.XML - 585)) | (1 << (SqlParser.INTERNAL - 585)) | (1 << (SqlParser.QUARTER - 585)) | (1 << (SqlParser.MONTH - 585)) | (1 << (SqlParser.DAY - 585)) | (1 << (SqlParser.HOUR - 585)) | (1 << (SqlParser.MINUTE - 585)) | (1 << (SqlParser.WEEK - 585)) | (1 << (SqlParser.SECOND - 585)) | (1 << (SqlParser.MICROSECOND - 585)) | (1 << (SqlParser.TABLES - 585)) | (1 << (SqlParser.ROUTINE - 585)) | (1 << (SqlParser.EXECUTE - 585)) | (1 << (SqlParser.FILE - 585)) | (1 << (SqlParser.PROCESS - 585)) | (1 << (SqlParser.RELOAD - 585)) | (1 << (SqlParser.SHUTDOWN - 585)) | (1 << (SqlParser.SUPER - 585)) | (1 << (SqlParser.PRIVILEGES - 585)) | (1 << (SqlParser.AUDIT_ADMIN - 585)) | (1 << (SqlParser.BACKUP_ADMIN - 585)) | (1 << (SqlParser.BINLOG_ADMIN - 585)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 585)) | (1 << (SqlParser.CLONE_ADMIN - 585)))) !== 0) || ((((_la - 617)) & ~0x1f) == 0 && ((1 << (_la - 617)) & ((1 << (SqlParser.CONNECTION_ADMIN - 617)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 617)) | (1 << (SqlParser.FIREWALL_ADMIN - 617)) | (1 << (SqlParser.FIREWALL_USER - 617)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 617)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 617)) | (1 << (SqlParser.NDB_STORED_USER - 617)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.REPLICATION_APPLIER - 617)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 617)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 617)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 617)) | (1 << (SqlParser.ROLE_ADMIN - 617)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.SET_USER_ID - 617)) | (1 << (SqlParser.SHOW_ROUTINE - 617)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 617)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 617)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 617)) | (1 << (SqlParser.ARMSCII8 - 617)) | (1 << (SqlParser.ASCII - 617)) | (1 << (SqlParser.BIG5 - 617)) | (1 << (SqlParser.CP1250 - 617)) | (1 << (SqlParser.CP1251 - 617)) | (1 << (SqlParser.CP1256 - 617)) | (1 << (SqlParser.CP1257 - 617)) | (1 << (SqlParser.CP850 - 617)) | (1 << (SqlParser.CP852 - 617)) | (1 << (SqlParser.CP866 - 617)) | (1 << (SqlParser.CP932 - 617)) | (1 << (SqlParser.DEC8 - 617)))) !== 0) || ((((_la - 649)) & ~0x1f) == 0 && ((1 << (_la - 649)) & ((1 << (SqlParser.EUCJPMS - 649)) | (1 << (SqlParser.EUCKR - 649)) | (1 << (SqlParser.GB2312 - 649)) | (1 << (SqlParser.GBK - 649)) | (1 << (SqlParser.GEOSTD8 - 649)) | (1 << (SqlParser.GREEK - 649)) | (1 << (SqlParser.HEBREW - 649)) | (1 << (SqlParser.HP8 - 649)) | (1 << (SqlParser.KEYBCS2 - 649)) | (1 << (SqlParser.KOI8R - 649)) | (1 << (SqlParser.KOI8U - 649)) | (1 << (SqlParser.LATIN1 - 649)) | (1 << (SqlParser.LATIN2 - 649)) | (1 << (SqlParser.LATIN5 - 649)) | (1 << (SqlParser.LATIN7 - 649)) | (1 << (SqlParser.MACCE - 649)) | (1 << (SqlParser.MACROMAN - 649)) | (1 << (SqlParser.SJIS - 649)) | (1 << (SqlParser.SWE7 - 649)) | (1 << (SqlParser.TIS620 - 649)) | (1 << (SqlParser.UCS2 - 649)) | (1 << (SqlParser.UJIS - 649)) | (1 << (SqlParser.UTF16 - 649)) | (1 << (SqlParser.UTF16LE - 649)) | (1 << (SqlParser.UTF32 - 649)) | (1 << (SqlParser.UTF8 - 649)) | (1 << (SqlParser.UTF8MB3 - 649)) | (1 << (SqlParser.UTF8MB4 - 649)) | (1 << (SqlParser.ARCHIVE - 649)) | (1 << (SqlParser.BLACKHOLE - 649)) | (1 << (SqlParser.CSV - 649)) | (1 << (SqlParser.FEDERATED - 649)))) !== 0) || ((((_la - 681)) & ~0x1f) == 0 && ((1 << (_la - 681)) & ((1 << (SqlParser.INNODB - 681)) | (1 << (SqlParser.MEMORY - 681)) | (1 << (SqlParser.MRG_MYISAM - 681)) | (1 << (SqlParser.MYISAM - 681)) | (1 << (SqlParser.NDB - 681)) | (1 << (SqlParser.NDBCLUSTER - 681)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 681)) | (1 << (SqlParser.TOKUDB - 681)) | (1 << (SqlParser.REPEATABLE - 681)) | (1 << (SqlParser.COMMITTED - 681)) | (1 << (SqlParser.UNCOMMITTED - 681)) | (1 << (SqlParser.SERIALIZABLE - 681)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 681)) | (1 << (SqlParser.LINESTRING - 681)) | (1 << (SqlParser.MULTILINESTRING - 681)) | (1 << (SqlParser.MULTIPOINT - 681)) | (1 << (SqlParser.MULTIPOLYGON - 681)) | (1 << (SqlParser.POINT - 681)) | (1 << (SqlParser.POLYGON - 681)) | (1 << (SqlParser.ABS - 681)) | (1 << (SqlParser.ACOS - 681)) | (1 << (SqlParser.ADDDATE - 681)) | (1 << (SqlParser.ADDTIME - 681)) | (1 << (SqlParser.AES_DECRYPT - 681)) | (1 << (SqlParser.AES_ENCRYPT - 681)) | (1 << (SqlParser.AREA - 681)) | (1 << (SqlParser.ASBINARY - 681)) | (1 << (SqlParser.ASIN - 681)) | (1 << (SqlParser.ASTEXT - 681)) | (1 << (SqlParser.ASWKB - 681)))) !== 0) || ((((_la - 713)) & ~0x1f) == 0 && ((1 << (_la - 713)) & ((1 << (SqlParser.ASWKT - 713)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 713)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 713)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 713)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 713)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 713)) | (1 << (SqlParser.ATAN - 713)) | (1 << (SqlParser.ATAN2 - 713)) | (1 << (SqlParser.BENCHMARK - 713)) | (1 << (SqlParser.BIN - 713)) | (1 << (SqlParser.BIT_COUNT - 713)) | (1 << (SqlParser.BIT_LENGTH - 713)) | (1 << (SqlParser.BUFFER - 713)) | (1 << (SqlParser.CATALOG_NAME - 713)) | (1 << (SqlParser.CEIL - 713)) | (1 << (SqlParser.CEILING - 713)) | (1 << (SqlParser.CENTROID - 713)) | (1 << (SqlParser.CHARACTER_LENGTH - 713)) | (1 << (SqlParser.CHARSET - 713)) | (1 << (SqlParser.CHAR_LENGTH - 713)) | (1 << (SqlParser.COERCIBILITY - 713)) | (1 << (SqlParser.COLLATION - 713)) | (1 << (SqlParser.COMPRESS - 713)) | (1 << (SqlParser.CONCAT - 713)) | (1 << (SqlParser.CONCAT_WS - 713)) | (1 << (SqlParser.CONNECTION_ID - 713)) | (1 << (SqlParser.CONV - 713)) | (1 << (SqlParser.CONVERT_TZ - 713)) | (1 << (SqlParser.COS - 713)) | (1 << (SqlParser.COT - 713)) | (1 << (SqlParser.CRC32 - 713)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 713)))) !== 0) || ((((_la - 745)) & ~0x1f) == 0 && ((1 << (_la - 745)) & ((1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 745)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 745)) | (1 << (SqlParser.CREATE_DIGEST - 745)) | (1 << (SqlParser.CROSSES - 745)) | (1 << (SqlParser.DATEDIFF - 745)) | (1 << (SqlParser.DATE_FORMAT - 745)) | (1 << (SqlParser.DAYNAME - 745)) | (1 << (SqlParser.DAYOFMONTH - 745)) | (1 << (SqlParser.DAYOFWEEK - 745)) | (1 << (SqlParser.DAYOFYEAR - 745)) | (1 << (SqlParser.DECODE - 745)) | (1 << (SqlParser.DEGREES - 745)) | (1 << (SqlParser.DES_DECRYPT - 745)) | (1 << (SqlParser.DES_ENCRYPT - 745)) | (1 << (SqlParser.DIMENSION - 745)) | (1 << (SqlParser.DISJOINT - 745)) | (1 << (SqlParser.ELT - 745)) | (1 << (SqlParser.ENCODE - 745)) | (1 << (SqlParser.ENCRYPT - 745)) | (1 << (SqlParser.ENDPOINT - 745)) | (1 << (SqlParser.ENVELOPE - 745)) | (1 << (SqlParser.EQUALS - 745)) | (1 << (SqlParser.EXP - 745)) | (1 << (SqlParser.EXPORT_SET - 745)) | (1 << (SqlParser.EXTERIORRING - 745)) | (1 << (SqlParser.EXTRACTVALUE - 745)) | (1 << (SqlParser.FIELD - 745)) | (1 << (SqlParser.FIND_IN_SET - 745)) | (1 << (SqlParser.FLOOR - 745)) | (1 << (SqlParser.FORMAT - 745)) | (1 << (SqlParser.FOUND_ROWS - 745)) | (1 << (SqlParser.FROM_BASE64 - 745)))) !== 0) || ((((_la - 777)) & ~0x1f) == 0 && ((1 << (_la - 777)) & ((1 << (SqlParser.FROM_DAYS - 777)) | (1 << (SqlParser.FROM_UNIXTIME - 777)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 777)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 777)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 777)) | (1 << (SqlParser.GEOMETRYFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYN - 777)) | (1 << (SqlParser.GEOMETRYTYPE - 777)) | (1 << (SqlParser.GEOMFROMTEXT - 777)) | (1 << (SqlParser.GEOMFROMWKB - 777)) | (1 << (SqlParser.GET_FORMAT - 777)) | (1 << (SqlParser.GET_LOCK - 777)) | (1 << (SqlParser.GLENGTH - 777)) | (1 << (SqlParser.GREATEST - 777)) | (1 << (SqlParser.GTID_SUBSET - 777)) | (1 << (SqlParser.GTID_SUBTRACT - 777)) | (1 << (SqlParser.HEX - 777)) | (1 << (SqlParser.IFNULL - 777)) | (1 << (SqlParser.INET6_ATON - 777)) | (1 << (SqlParser.INET6_NTOA - 777)) | (1 << (SqlParser.INET_ATON - 777)) | (1 << (SqlParser.INET_NTOA - 777)) | (1 << (SqlParser.INSTR - 777)) | (1 << (SqlParser.INTERIORRINGN - 777)) | (1 << (SqlParser.INTERSECTS - 777)) | (1 << (SqlParser.ISCLOSED - 777)) | (1 << (SqlParser.ISEMPTY - 777)) | (1 << (SqlParser.ISNULL - 777)) | (1 << (SqlParser.ISSIMPLE - 777)) | (1 << (SqlParser.IS_FREE_LOCK - 777)))) !== 0) || ((((_la - 809)) & ~0x1f) == 0 && ((1 << (_la - 809)) & ((1 << (SqlParser.IS_IPV4 - 809)) | (1 << (SqlParser.IS_IPV4_COMPAT - 809)) | (1 << (SqlParser.IS_IPV4_MAPPED - 809)) | (1 << (SqlParser.IS_IPV6 - 809)) | (1 << (SqlParser.IS_USED_LOCK - 809)) | (1 << (SqlParser.LAST_INSERT_ID - 809)) | (1 << (SqlParser.LCASE - 809)) | (1 << (SqlParser.LEAST - 809)) | (1 << (SqlParser.LENGTH - 809)) | (1 << (SqlParser.LINEFROMTEXT - 809)) | (1 << (SqlParser.LINEFROMWKB - 809)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 809)) | (1 << (SqlParser.LINESTRINGFROMWKB - 809)) | (1 << (SqlParser.LN - 809)) | (1 << (SqlParser.LOAD_FILE - 809)) | (1 << (SqlParser.LOCATE - 809)) | (1 << (SqlParser.LOG - 809)) | (1 << (SqlParser.LOG10 - 809)) | (1 << (SqlParser.LOG2 - 809)) | (1 << (SqlParser.LOWER - 809)) | (1 << (SqlParser.LPAD - 809)) | (1 << (SqlParser.LTRIM - 809)) | (1 << (SqlParser.MAKEDATE - 809)) | (1 << (SqlParser.MAKETIME - 809)) | (1 << (SqlParser.MAKE_SET - 809)) | (1 << (SqlParser.MASTER_POS_WAIT - 809)) | (1 << (SqlParser.MBRCONTAINS - 809)) | (1 << (SqlParser.MBRDISJOINT - 809)) | (1 << (SqlParser.MBREQUAL - 809)) | (1 << (SqlParser.MBRINTERSECTS - 809)) | (1 << (SqlParser.MBROVERLAPS - 809)) | (1 << (SqlParser.MBRTOUCHES - 809)))) !== 0) || ((((_la - 841)) & ~0x1f) == 0 && ((1 << (_la - 841)) & ((1 << (SqlParser.MBRWITHIN - 841)) | (1 << (SqlParser.MD5 - 841)) | (1 << (SqlParser.MLINEFROMTEXT - 841)) | (1 << (SqlParser.MLINEFROMWKB - 841)) | (1 << (SqlParser.MONTHNAME - 841)) | (1 << (SqlParser.MPOINTFROMTEXT - 841)) | (1 << (SqlParser.MPOINTFROMWKB - 841)) | (1 << (SqlParser.MPOLYFROMTEXT - 841)) | (1 << (SqlParser.MPOLYFROMWKB - 841)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 841)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 841)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 841)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 841)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 841)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 841)) | (1 << (SqlParser.NAME_CONST - 841)) | (1 << (SqlParser.NULLIF - 841)) | (1 << (SqlParser.NUMGEOMETRIES - 841)) | (1 << (SqlParser.NUMINTERIORRINGS - 841)) | (1 << (SqlParser.NUMPOINTS - 841)) | (1 << (SqlParser.OCT - 841)) | (1 << (SqlParser.OCTET_LENGTH - 841)) | (1 << (SqlParser.ORD - 841)) | (1 << (SqlParser.OVERLAPS - 841)) | (1 << (SqlParser.PERIOD_ADD - 841)) | (1 << (SqlParser.PERIOD_DIFF - 841)) | (1 << (SqlParser.PI - 841)) | (1 << (SqlParser.POINTFROMTEXT - 841)) | (1 << (SqlParser.POINTFROMWKB - 841)) | (1 << (SqlParser.POINTN - 841)) | (1 << (SqlParser.POLYFROMTEXT - 841)) | (1 << (SqlParser.POLYFROMWKB - 841)))) !== 0) || ((((_la - 873)) & ~0x1f) == 0 && ((1 << (_la - 873)) & ((1 << (SqlParser.POLYGONFROMTEXT - 873)) | (1 << (SqlParser.POLYGONFROMWKB - 873)) | (1 << (SqlParser.POW - 873)) | (1 << (SqlParser.POWER - 873)) | (1 << (SqlParser.QUOTE - 873)) | (1 << (SqlParser.RADIANS - 873)) | (1 << (SqlParser.RAND - 873)) | (1 << (SqlParser.RANDOM_BYTES - 873)) | (1 << (SqlParser.RELEASE_LOCK - 873)) | (1 << (SqlParser.REVERSE - 873)) | (1 << (SqlParser.ROUND - 873)) | (1 << (SqlParser.ROW_COUNT - 873)) | (1 << (SqlParser.RPAD - 873)) | (1 << (SqlParser.RTRIM - 873)) | (1 << (SqlParser.SEC_TO_TIME - 873)) | (1 << (SqlParser.SESSION_USER - 873)) | (1 << (SqlParser.SHA - 873)) | (1 << (SqlParser.SHA1 - 873)) | (1 << (SqlParser.SHA2 - 873)) | (1 << (SqlParser.SCHEMA_NAME - 873)) | (1 << (SqlParser.SIGN - 873)) | (1 << (SqlParser.SIN - 873)) | (1 << (SqlParser.SLEEP - 873)) | (1 << (SqlParser.SOUNDEX - 873)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 873)) | (1 << (SqlParser.SQRT - 873)) | (1 << (SqlParser.SRID - 873)) | (1 << (SqlParser.STARTPOINT - 873)) | (1 << (SqlParser.STRCMP - 873)) | (1 << (SqlParser.STR_TO_DATE - 873)) | (1 << (SqlParser.ST_AREA - 873)) | (1 << (SqlParser.ST_ASBINARY - 873)))) !== 0) || ((((_la - 905)) & ~0x1f) == 0 && ((1 << (_la - 905)) & ((1 << (SqlParser.ST_ASTEXT - 905)) | (1 << (SqlParser.ST_ASWKB - 905)) | (1 << (SqlParser.ST_ASWKT - 905)) | (1 << (SqlParser.ST_BUFFER - 905)) | (1 << (SqlParser.ST_CENTROID - 905)) | (1 << (SqlParser.ST_CONTAINS - 905)) | (1 << (SqlParser.ST_CROSSES - 905)) | (1 << (SqlParser.ST_DIFFERENCE - 905)) | (1 << (SqlParser.ST_DIMENSION - 905)) | (1 << (SqlParser.ST_DISJOINT - 905)) | (1 << (SqlParser.ST_DISTANCE - 905)) | (1 << (SqlParser.ST_ENDPOINT - 905)) | (1 << (SqlParser.ST_ENVELOPE - 905)) | (1 << (SqlParser.ST_EQUALS - 905)) | (1 << (SqlParser.ST_EXTERIORRING - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYN - 905)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 905)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMFROMWKB - 905)) | (1 << (SqlParser.ST_INTERIORRINGN - 905)) | (1 << (SqlParser.ST_INTERSECTION - 905)) | (1 << (SqlParser.ST_INTERSECTS - 905)) | (1 << (SqlParser.ST_ISCLOSED - 905)) | (1 << (SqlParser.ST_ISEMPTY - 905)) | (1 << (SqlParser.ST_ISSIMPLE - 905)))) !== 0) || ((((_la - 937)) & ~0x1f) == 0 && ((1 << (_la - 937)) & ((1 << (SqlParser.ST_LINEFROMTEXT - 937)) | (1 << (SqlParser.ST_LINEFROMWKB - 937)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 937)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 937)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 937)) | (1 << (SqlParser.ST_NUMINTERIORRING - 937)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 937)) | (1 << (SqlParser.ST_NUMPOINTS - 937)) | (1 << (SqlParser.ST_OVERLAPS - 937)) | (1 << (SqlParser.ST_POINTFROMTEXT - 937)) | (1 << (SqlParser.ST_POINTFROMWKB - 937)) | (1 << (SqlParser.ST_POINTN - 937)) | (1 << (SqlParser.ST_POLYFROMTEXT - 937)) | (1 << (SqlParser.ST_POLYFROMWKB - 937)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 937)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 937)) | (1 << (SqlParser.ST_SRID - 937)) | (1 << (SqlParser.ST_STARTPOINT - 937)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 937)) | (1 << (SqlParser.ST_TOUCHES - 937)) | (1 << (SqlParser.ST_UNION - 937)) | (1 << (SqlParser.ST_WITHIN - 937)) | (1 << (SqlParser.ST_X - 937)) | (1 << (SqlParser.ST_Y - 937)) | (1 << (SqlParser.SUBDATE - 937)) | (1 << (SqlParser.SUBSTRING_INDEX - 937)) | (1 << (SqlParser.SUBTIME - 937)) | (1 << (SqlParser.SYSTEM_USER - 937)) | (1 << (SqlParser.TAN - 937)) | (1 << (SqlParser.TIMEDIFF - 937)) | (1 << (SqlParser.TIMESTAMPADD - 937)) | (1 << (SqlParser.TIMESTAMPDIFF - 937)))) !== 0) || ((((_la - 969)) & ~0x1f) == 0 && ((1 << (_la - 969)) & ((1 << (SqlParser.TIME_FORMAT - 969)) | (1 << (SqlParser.TIME_TO_SEC - 969)) | (1 << (SqlParser.TOUCHES - 969)) | (1 << (SqlParser.TO_BASE64 - 969)) | (1 << (SqlParser.TO_DAYS - 969)) | (1 << (SqlParser.TO_SECONDS - 969)) | (1 << (SqlParser.UCASE - 969)) | (1 << (SqlParser.UNCOMPRESS - 969)) | (1 << (SqlParser.UNCOMPRESSED_LENGTH - 969)) | (1 << (SqlParser.UNHEX - 969)) | (1 << (SqlParser.UNIX_TIMESTAMP - 969)) | (1 << (SqlParser.UPDATEXML - 969)) | (1 << (SqlParser.UPPER - 969)) | (1 << (SqlParser.UUID - 969)) | (1 << (SqlParser.UUID_SHORT - 969)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 969)) | (1 << (SqlParser.VERSION - 969)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 969)) | (1 << (SqlParser.WEEKDAY - 969)) | (1 << (SqlParser.WEEKOFYEAR - 969)) | (1 << (SqlParser.WEIGHT_STRING - 969)) | (1 << (SqlParser.WITHIN - 969)) | (1 << (SqlParser.YEARWEEK - 969)) | (1 << (SqlParser.Y_FUNCTION - 969)) | (1 << (SqlParser.X_FUNCTION - 969)))) !== 0) || ((((_la - 1006)) & ~0x1f) == 0 && ((1 << (_la - 1006)) & ((1 << (SqlParser.PLUS - 1006)) | (1 << (SqlParser.MINUS - 1006)) | (1 << (SqlParser.EXCLAMATION_SYMBOL - 1006)) | (1 << (SqlParser.BIT_NOT_OP - 1006)) | (1 << (SqlParser.LR_BRACKET - 1006)) | (1 << (SqlParser.ZERO_DECIMAL - 1006)) | (1 << (SqlParser.ONE_DECIMAL - 1006)) | (1 << (SqlParser.TWO_DECIMAL - 1006)) | (1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1006)) | (1 << (SqlParser.START_NATIONAL_STRING_LITERAL - 1006)) | (1 << (SqlParser.STRING_LITERAL - 1006)) | (1 << (SqlParser.DECIMAL_LITERAL - 1006)) | (1 << (SqlParser.HEXADECIMAL_LITERAL - 1006)))) !== 0) || ((((_la - 1038)) & ~0x1f) == 0 && ((1 << (_la - 1038)) & ((1 << (SqlParser.REAL_LITERAL - 1038)) | (1 << (SqlParser.NULL_SPEC_LITERAL - 1038)) | (1 << (SqlParser.BIT_STRING - 1038)) | (1 << (SqlParser.STRING_CHARSET_NAME - 1038)) | (1 << (SqlParser.ID - 1038)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1038)) | (1 << (SqlParser.LOCAL_ID - 1038)) | (1 << (SqlParser.GLOBAL_ID - 1038)))) !== 0)) { + this.state = 5866; + this.functionArgs(); + } + + this.state = 5869; + this.match(SqlParser.RR_BRACKET); + break; + + case 4: + localctx = new UdfFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 5871; + this.fullId(); + this.state = 5872; + this.match(SqlParser.LR_BRACKET); + this.state = 5874; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << SqlParser.CASE) | (1 << SqlParser.CAST) | (1 << SqlParser.CONVERT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (SqlParser.CURRENT - 32)) | (1 << (SqlParser.CURRENT_USER - 32)) | (1 << (SqlParser.DATABASE - 32)) | (1 << (SqlParser.DIAGNOSTICS - 32)) | (1 << (SqlParser.EXISTS - 32)) | (1 << (SqlParser.FALSE - 32)))) !== 0) || ((((_la - 69)) & ~0x1f) == 0 && ((1 << (_la - 69)) & ((1 << (SqlParser.IF - 69)) | (1 << (SqlParser.INSERT - 69)) | (1 << (SqlParser.INTERVAL - 69)) | (1 << (SqlParser.LEFT - 69)))) !== 0) || ((((_la - 102)) & ~0x1f) == 0 && ((1 << (_la - 102)) & ((1 << (SqlParser.NOT - 102)) | (1 << (SqlParser.NULL_LITERAL - 102)) | (1 << (SqlParser.NUMBER - 102)) | (1 << (SqlParser.REPLACE - 102)) | (1 << (SqlParser.RIGHT - 102)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (SqlParser.STACKED - 151)) | (1 << (SqlParser.TRUE - 151)) | (1 << (SqlParser.VALUES - 151)))) !== 0) || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.CHAR - 199)) | (1 << (SqlParser.BINARY - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)) | (1 << (SqlParser.SERIAL - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.AVG - 233)) | (1 << (SqlParser.BIT_AND - 233)) | (1 << (SqlParser.BIT_OR - 233)) | (1 << (SqlParser.BIT_XOR - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.GROUP_CONCAT - 233)) | (1 << (SqlParser.MAX - 233)) | (1 << (SqlParser.MIN - 233)) | (1 << (SqlParser.STD - 233)) | (1 << (SqlParser.STDDEV - 233)) | (1 << (SqlParser.STDDEV_POP - 233)) | (1 << (SqlParser.STDDEV_SAMP - 233)) | (1 << (SqlParser.SUM - 233)) | (1 << (SqlParser.VAR_POP - 233)) | (1 << (SqlParser.VAR_SAMP - 233)) | (1 << (SqlParser.VARIANCE - 233)) | (1 << (SqlParser.CURRENT_DATE - 233)) | (1 << (SqlParser.CURRENT_TIME - 233)) | (1 << (SqlParser.CURRENT_TIMESTAMP - 233)) | (1 << (SqlParser.LOCALTIME - 233)) | (1 << (SqlParser.CURDATE - 233)) | (1 << (SqlParser.CURTIME - 233)) | (1 << (SqlParser.DATE_ADD - 233)) | (1 << (SqlParser.DATE_SUB - 233)) | (1 << (SqlParser.EXTRACT - 233)) | (1 << (SqlParser.LOCALTIMESTAMP - 233)) | (1 << (SqlParser.NOW - 233)) | (1 << (SqlParser.POSITION - 233)) | (1 << (SqlParser.SUBSTR - 233)) | (1 << (SqlParser.SUBSTRING - 233)))) !== 0) || ((((_la - 265)) & ~0x1f) == 0 && ((1 << (_la - 265)) & ((1 << (SqlParser.SYSDATE - 265)) | (1 << (SqlParser.TRIM - 265)) | (1 << (SqlParser.UTC_DATE - 265)) | (1 << (SqlParser.UTC_TIME - 265)) | (1 << (SqlParser.UTC_TIMESTAMP - 265)) | (1 << (SqlParser.ACCOUNT - 265)) | (1 << (SqlParser.ACTION - 265)) | (1 << (SqlParser.AFTER - 265)) | (1 << (SqlParser.AGGREGATE - 265)) | (1 << (SqlParser.ALGORITHM - 265)) | (1 << (SqlParser.ANY - 265)) | (1 << (SqlParser.AT - 265)) | (1 << (SqlParser.AUTHORS - 265)) | (1 << (SqlParser.AUTOCOMMIT - 265)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 265)) | (1 << (SqlParser.AUTO_INCREMENT - 265)) | (1 << (SqlParser.AVG_ROW_LENGTH - 265)) | (1 << (SqlParser.BEGIN - 265)) | (1 << (SqlParser.BINLOG - 265)) | (1 << (SqlParser.BIT - 265)) | (1 << (SqlParser.BLOCK - 265)) | (1 << (SqlParser.BOOL - 265)) | (1 << (SqlParser.BOOLEAN - 265)) | (1 << (SqlParser.BTREE - 265)) | (1 << (SqlParser.CACHE - 265)) | (1 << (SqlParser.CASCADED - 265)) | (1 << (SqlParser.CHAIN - 265)) | (1 << (SqlParser.CHANGED - 265)) | (1 << (SqlParser.CHANNEL - 265)) | (1 << (SqlParser.CHECKSUM - 265)) | (1 << (SqlParser.PAGE_CHECKSUM - 265)) | (1 << (SqlParser.CIPHER - 265)))) !== 0) || ((((_la - 297)) & ~0x1f) == 0 && ((1 << (_la - 297)) & ((1 << (SqlParser.CLASS_ORIGIN - 297)) | (1 << (SqlParser.CLIENT - 297)) | (1 << (SqlParser.CLOSE - 297)) | (1 << (SqlParser.COALESCE - 297)) | (1 << (SqlParser.CODE - 297)) | (1 << (SqlParser.COLUMNS - 297)) | (1 << (SqlParser.COLUMN_FORMAT - 297)) | (1 << (SqlParser.COLUMN_NAME - 297)) | (1 << (SqlParser.COMMENT - 297)) | (1 << (SqlParser.COMMIT - 297)) | (1 << (SqlParser.COMPACT - 297)) | (1 << (SqlParser.COMPLETION - 297)) | (1 << (SqlParser.COMPRESSED - 297)) | (1 << (SqlParser.COMPRESSION - 297)) | (1 << (SqlParser.CONCURRENT - 297)) | (1 << (SqlParser.CONNECTION - 297)) | (1 << (SqlParser.CONSISTENT - 297)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 297)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 297)) | (1 << (SqlParser.CONSTRAINT_NAME - 297)) | (1 << (SqlParser.CONTAINS - 297)) | (1 << (SqlParser.CONTEXT - 297)) | (1 << (SqlParser.CONTRIBUTORS - 297)) | (1 << (SqlParser.COPY - 297)) | (1 << (SqlParser.CPU - 297)) | (1 << (SqlParser.CURSOR_NAME - 297)) | (1 << (SqlParser.DATA - 297)) | (1 << (SqlParser.DATAFILE - 297)) | (1 << (SqlParser.DEALLOCATE - 297)) | (1 << (SqlParser.DEFAULT_AUTH - 297)) | (1 << (SqlParser.DEFINER - 297)) | (1 << (SqlParser.DELAY_KEY_WRITE - 297)))) !== 0) || ((((_la - 329)) & ~0x1f) == 0 && ((1 << (_la - 329)) & ((1 << (SqlParser.DES_KEY_FILE - 329)) | (1 << (SqlParser.DIRECTORY - 329)) | (1 << (SqlParser.DISABLE - 329)) | (1 << (SqlParser.DISCARD - 329)) | (1 << (SqlParser.DISK - 329)) | (1 << (SqlParser.DO - 329)) | (1 << (SqlParser.DUMPFILE - 329)) | (1 << (SqlParser.DUPLICATE - 329)) | (1 << (SqlParser.DYNAMIC - 329)) | (1 << (SqlParser.ENABLE - 329)) | (1 << (SqlParser.ENCRYPTION - 329)) | (1 << (SqlParser.END - 329)) | (1 << (SqlParser.ENDS - 329)) | (1 << (SqlParser.ENGINE - 329)) | (1 << (SqlParser.ENGINES - 329)) | (1 << (SqlParser.ERROR - 329)) | (1 << (SqlParser.ERRORS - 329)) | (1 << (SqlParser.ESCAPE - 329)) | (1 << (SqlParser.EVEN - 329)) | (1 << (SqlParser.EVENT - 329)) | (1 << (SqlParser.EVENTS - 329)) | (1 << (SqlParser.EVERY - 329)) | (1 << (SqlParser.EXCHANGE - 329)) | (1 << (SqlParser.EXCLUSIVE - 329)) | (1 << (SqlParser.EXPIRE - 329)) | (1 << (SqlParser.EXPORT - 329)) | (1 << (SqlParser.EXTENDED - 329)) | (1 << (SqlParser.EXTENT_SIZE - 329)) | (1 << (SqlParser.FAST - 329)) | (1 << (SqlParser.FAULTS - 329)) | (1 << (SqlParser.FIELDS - 329)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 329)))) !== 0) || ((((_la - 361)) & ~0x1f) == 0 && ((1 << (_la - 361)) & ((1 << (SqlParser.FILTER - 361)) | (1 << (SqlParser.FIRST - 361)) | (1 << (SqlParser.FIXED - 361)) | (1 << (SqlParser.FLUSH - 361)) | (1 << (SqlParser.FOLLOWS - 361)) | (1 << (SqlParser.FOUND - 361)) | (1 << (SqlParser.FULL - 361)) | (1 << (SqlParser.FUNCTION - 361)) | (1 << (SqlParser.GENERAL - 361)) | (1 << (SqlParser.GLOBAL - 361)) | (1 << (SqlParser.GRANTS - 361)) | (1 << (SqlParser.GROUP_REPLICATION - 361)) | (1 << (SqlParser.HANDLER - 361)) | (1 << (SqlParser.HASH - 361)) | (1 << (SqlParser.HELP - 361)) | (1 << (SqlParser.HOST - 361)) | (1 << (SqlParser.HOSTS - 361)) | (1 << (SqlParser.IDENTIFIED - 361)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 361)) | (1 << (SqlParser.IMPORT - 361)) | (1 << (SqlParser.INDEXES - 361)) | (1 << (SqlParser.INITIAL_SIZE - 361)) | (1 << (SqlParser.INPLACE - 361)) | (1 << (SqlParser.INSERT_METHOD - 361)) | (1 << (SqlParser.INSTALL - 361)) | (1 << (SqlParser.INSTANCE - 361)) | (1 << (SqlParser.INVISIBLE - 361)) | (1 << (SqlParser.INVOKER - 361)) | (1 << (SqlParser.IO - 361)) | (1 << (SqlParser.IO_THREAD - 361)) | (1 << (SqlParser.IPC - 361)) | (1 << (SqlParser.ISOLATION - 361)))) !== 0) || ((((_la - 393)) & ~0x1f) == 0 && ((1 << (_la - 393)) & ((1 << (SqlParser.ISSUER - 393)) | (1 << (SqlParser.JSON - 393)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 393)) | (1 << (SqlParser.LANGUAGE - 393)) | (1 << (SqlParser.LAST - 393)) | (1 << (SqlParser.LEAVES - 393)) | (1 << (SqlParser.LESS - 393)) | (1 << (SqlParser.LEVEL - 393)) | (1 << (SqlParser.LIST - 393)) | (1 << (SqlParser.LOCAL - 393)) | (1 << (SqlParser.LOGFILE - 393)) | (1 << (SqlParser.LOGS - 393)) | (1 << (SqlParser.MASTER - 393)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 393)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 393)) | (1 << (SqlParser.MASTER_DELAY - 393)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 393)) | (1 << (SqlParser.MASTER_HOST - 393)) | (1 << (SqlParser.MASTER_LOG_FILE - 393)) | (1 << (SqlParser.MASTER_LOG_POS - 393)) | (1 << (SqlParser.MASTER_PASSWORD - 393)) | (1 << (SqlParser.MASTER_PORT - 393)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 393)) | (1 << (SqlParser.MASTER_SSL - 393)) | (1 << (SqlParser.MASTER_SSL_CA - 393)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 393)) | (1 << (SqlParser.MASTER_SSL_CERT - 393)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 393)) | (1 << (SqlParser.MASTER_SSL_CRL - 393)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 393)) | (1 << (SqlParser.MASTER_SSL_KEY - 393)) | (1 << (SqlParser.MASTER_TLS_VERSION - 393)))) !== 0) || ((((_la - 425)) & ~0x1f) == 0 && ((1 << (_la - 425)) & ((1 << (SqlParser.MASTER_USER - 425)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 425)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 425)) | (1 << (SqlParser.MAX_ROWS - 425)) | (1 << (SqlParser.MAX_SIZE - 425)) | (1 << (SqlParser.MAX_UPDATES_PER_HOUR - 425)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 425)) | (1 << (SqlParser.MEDIUM - 425)) | (1 << (SqlParser.MERGE - 425)) | (1 << (SqlParser.MESSAGE_TEXT - 425)) | (1 << (SqlParser.MID - 425)) | (1 << (SqlParser.MIGRATE - 425)) | (1 << (SqlParser.MIN_ROWS - 425)) | (1 << (SqlParser.MODE - 425)) | (1 << (SqlParser.MODIFY - 425)) | (1 << (SqlParser.MUTEX - 425)) | (1 << (SqlParser.MYSQL - 425)) | (1 << (SqlParser.MYSQL_ERRNO - 425)) | (1 << (SqlParser.NAME - 425)) | (1 << (SqlParser.NAMES - 425)) | (1 << (SqlParser.NCHAR - 425)) | (1 << (SqlParser.NEVER - 425)) | (1 << (SqlParser.NEXT - 425)) | (1 << (SqlParser.NO - 425)) | (1 << (SqlParser.NODEGROUP - 425)) | (1 << (SqlParser.NONE - 425)) | (1 << (SqlParser.OFFLINE - 425)) | (1 << (SqlParser.OFFSET - 425)) | (1 << (SqlParser.OJ - 425)) | (1 << (SqlParser.OLD_PASSWORD - 425)) | (1 << (SqlParser.ONE - 425)) | (1 << (SqlParser.ONLINE - 425)))) !== 0) || ((((_la - 457)) & ~0x1f) == 0 && ((1 << (_la - 457)) & ((1 << (SqlParser.ONLY - 457)) | (1 << (SqlParser.OPEN - 457)) | (1 << (SqlParser.OPTIMIZER_COSTS - 457)) | (1 << (SqlParser.OPTIONS - 457)) | (1 << (SqlParser.OWNER - 457)) | (1 << (SqlParser.PACK_KEYS - 457)) | (1 << (SqlParser.PAGE - 457)) | (1 << (SqlParser.PARSER - 457)) | (1 << (SqlParser.PARTIAL - 457)) | (1 << (SqlParser.PARTITIONING - 457)) | (1 << (SqlParser.PARTITIONS - 457)) | (1 << (SqlParser.PASSWORD - 457)) | (1 << (SqlParser.PHASE - 457)) | (1 << (SqlParser.PLUGIN - 457)) | (1 << (SqlParser.PLUGIN_DIR - 457)) | (1 << (SqlParser.PLUGINS - 457)) | (1 << (SqlParser.PORT - 457)) | (1 << (SqlParser.PRECEDES - 457)) | (1 << (SqlParser.PREPARE - 457)) | (1 << (SqlParser.PRESERVE - 457)) | (1 << (SqlParser.PREV - 457)) | (1 << (SqlParser.PROCESSLIST - 457)) | (1 << (SqlParser.PROFILE - 457)) | (1 << (SqlParser.PROFILES - 457)) | (1 << (SqlParser.PROXY - 457)) | (1 << (SqlParser.QUERY - 457)) | (1 << (SqlParser.QUICK - 457)) | (1 << (SqlParser.REBUILD - 457)) | (1 << (SqlParser.RECOVER - 457)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 457)) | (1 << (SqlParser.REDUNDANT - 457)) | (1 << (SqlParser.RELAY - 457)))) !== 0) || ((((_la - 489)) & ~0x1f) == 0 && ((1 << (_la - 489)) & ((1 << (SqlParser.RELAY_LOG_FILE - 489)) | (1 << (SqlParser.RELAY_LOG_POS - 489)) | (1 << (SqlParser.RELAYLOG - 489)) | (1 << (SqlParser.REMOVE - 489)) | (1 << (SqlParser.REORGANIZE - 489)) | (1 << (SqlParser.REPAIR - 489)) | (1 << (SqlParser.REPLICATE_DO_DB - 489)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 489)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 489)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 489)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 489)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 489)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 489)) | (1 << (SqlParser.REPLICATION - 489)) | (1 << (SqlParser.RESET - 489)) | (1 << (SqlParser.RESUME - 489)) | (1 << (SqlParser.RETURNED_SQLSTATE - 489)) | (1 << (SqlParser.RETURNS - 489)) | (1 << (SqlParser.ROLE - 489)) | (1 << (SqlParser.ROLLBACK - 489)) | (1 << (SqlParser.ROLLUP - 489)) | (1 << (SqlParser.ROTATE - 489)) | (1 << (SqlParser.ROW - 489)) | (1 << (SqlParser.ROWS - 489)) | (1 << (SqlParser.ROW_FORMAT - 489)) | (1 << (SqlParser.SAVEPOINT - 489)) | (1 << (SqlParser.SCHEDULE - 489)) | (1 << (SqlParser.SECURITY - 489)) | (1 << (SqlParser.SERVER - 489)) | (1 << (SqlParser.SESSION - 489)) | (1 << (SqlParser.SHARE - 489)) | (1 << (SqlParser.SHARED - 489)))) !== 0) || ((((_la - 521)) & ~0x1f) == 0 && ((1 << (_la - 521)) & ((1 << (SqlParser.SIGNED - 521)) | (1 << (SqlParser.SIMPLE - 521)) | (1 << (SqlParser.SLAVE - 521)) | (1 << (SqlParser.SLOW - 521)) | (1 << (SqlParser.SNAPSHOT - 521)) | (1 << (SqlParser.SOCKET - 521)) | (1 << (SqlParser.SOME - 521)) | (1 << (SqlParser.SONAME - 521)) | (1 << (SqlParser.SOUNDS - 521)) | (1 << (SqlParser.SOURCE - 521)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 521)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 521)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 521)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 521)) | (1 << (SqlParser.SQL_CACHE - 521)) | (1 << (SqlParser.SQL_NO_CACHE - 521)) | (1 << (SqlParser.SQL_THREAD - 521)) | (1 << (SqlParser.START - 521)) | (1 << (SqlParser.STARTS - 521)) | (1 << (SqlParser.STATS_AUTO_RECALC - 521)) | (1 << (SqlParser.STATS_PERSISTENT - 521)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 521)) | (1 << (SqlParser.STATUS - 521)) | (1 << (SqlParser.STOP - 521)) | (1 << (SqlParser.STORAGE - 521)) | (1 << (SqlParser.STRING - 521)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 521)) | (1 << (SqlParser.SUBJECT - 521)) | (1 << (SqlParser.SUBPARTITION - 521)) | (1 << (SqlParser.SUBPARTITIONS - 521)) | (1 << (SqlParser.SUSPEND - 521)))) !== 0) || ((((_la - 553)) & ~0x1f) == 0 && ((1 << (_la - 553)) & ((1 << (SqlParser.SWAPS - 553)) | (1 << (SqlParser.SWITCHES - 553)) | (1 << (SqlParser.TABLE_NAME - 553)) | (1 << (SqlParser.TABLESPACE - 553)) | (1 << (SqlParser.TEMPORARY - 553)) | (1 << (SqlParser.TEMPTABLE - 553)) | (1 << (SqlParser.THAN - 553)) | (1 << (SqlParser.TRADITIONAL - 553)) | (1 << (SqlParser.TRANSACTION - 553)) | (1 << (SqlParser.TRANSACTIONAL - 553)) | (1 << (SqlParser.TRIGGERS - 553)) | (1 << (SqlParser.TRUNCATE - 553)) | (1 << (SqlParser.UNDEFINED - 553)) | (1 << (SqlParser.UNDOFILE - 553)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 553)) | (1 << (SqlParser.UNINSTALL - 553)) | (1 << (SqlParser.UNKNOWN - 553)) | (1 << (SqlParser.UNTIL - 553)) | (1 << (SqlParser.UPGRADE - 553)) | (1 << (SqlParser.USER - 553)) | (1 << (SqlParser.USE_FRM - 553)) | (1 << (SqlParser.USER_RESOURCES - 553)) | (1 << (SqlParser.VALIDATION - 553)) | (1 << (SqlParser.VALUE - 553)) | (1 << (SqlParser.VARIABLES - 553)) | (1 << (SqlParser.VIEW - 553)) | (1 << (SqlParser.VISIBLE - 553)) | (1 << (SqlParser.WAIT - 553)) | (1 << (SqlParser.WARNINGS - 553)) | (1 << (SqlParser.WITHOUT - 553)) | (1 << (SqlParser.WORK - 553)))) !== 0) || ((((_la - 585)) & ~0x1f) == 0 && ((1 << (_la - 585)) & ((1 << (SqlParser.WRAPPER - 585)) | (1 << (SqlParser.X509 - 585)) | (1 << (SqlParser.XA - 585)) | (1 << (SqlParser.XML - 585)) | (1 << (SqlParser.INTERNAL - 585)) | (1 << (SqlParser.QUARTER - 585)) | (1 << (SqlParser.MONTH - 585)) | (1 << (SqlParser.DAY - 585)) | (1 << (SqlParser.HOUR - 585)) | (1 << (SqlParser.MINUTE - 585)) | (1 << (SqlParser.WEEK - 585)) | (1 << (SqlParser.SECOND - 585)) | (1 << (SqlParser.MICROSECOND - 585)) | (1 << (SqlParser.TABLES - 585)) | (1 << (SqlParser.ROUTINE - 585)) | (1 << (SqlParser.EXECUTE - 585)) | (1 << (SqlParser.FILE - 585)) | (1 << (SqlParser.PROCESS - 585)) | (1 << (SqlParser.RELOAD - 585)) | (1 << (SqlParser.SHUTDOWN - 585)) | (1 << (SqlParser.SUPER - 585)) | (1 << (SqlParser.PRIVILEGES - 585)) | (1 << (SqlParser.AUDIT_ADMIN - 585)) | (1 << (SqlParser.BACKUP_ADMIN - 585)) | (1 << (SqlParser.BINLOG_ADMIN - 585)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 585)) | (1 << (SqlParser.CLONE_ADMIN - 585)))) !== 0) || ((((_la - 617)) & ~0x1f) == 0 && ((1 << (_la - 617)) & ((1 << (SqlParser.CONNECTION_ADMIN - 617)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 617)) | (1 << (SqlParser.FIREWALL_ADMIN - 617)) | (1 << (SqlParser.FIREWALL_USER - 617)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 617)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 617)) | (1 << (SqlParser.NDB_STORED_USER - 617)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.REPLICATION_APPLIER - 617)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 617)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 617)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 617)) | (1 << (SqlParser.ROLE_ADMIN - 617)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.SET_USER_ID - 617)) | (1 << (SqlParser.SHOW_ROUTINE - 617)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 617)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 617)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 617)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 617)) | (1 << (SqlParser.ARMSCII8 - 617)) | (1 << (SqlParser.ASCII - 617)) | (1 << (SqlParser.BIG5 - 617)) | (1 << (SqlParser.CP1250 - 617)) | (1 << (SqlParser.CP1251 - 617)) | (1 << (SqlParser.CP1256 - 617)) | (1 << (SqlParser.CP1257 - 617)) | (1 << (SqlParser.CP850 - 617)) | (1 << (SqlParser.CP852 - 617)) | (1 << (SqlParser.CP866 - 617)) | (1 << (SqlParser.CP932 - 617)) | (1 << (SqlParser.DEC8 - 617)))) !== 0) || ((((_la - 649)) & ~0x1f) == 0 && ((1 << (_la - 649)) & ((1 << (SqlParser.EUCJPMS - 649)) | (1 << (SqlParser.EUCKR - 649)) | (1 << (SqlParser.GB2312 - 649)) | (1 << (SqlParser.GBK - 649)) | (1 << (SqlParser.GEOSTD8 - 649)) | (1 << (SqlParser.GREEK - 649)) | (1 << (SqlParser.HEBREW - 649)) | (1 << (SqlParser.HP8 - 649)) | (1 << (SqlParser.KEYBCS2 - 649)) | (1 << (SqlParser.KOI8R - 649)) | (1 << (SqlParser.KOI8U - 649)) | (1 << (SqlParser.LATIN1 - 649)) | (1 << (SqlParser.LATIN2 - 649)) | (1 << (SqlParser.LATIN5 - 649)) | (1 << (SqlParser.LATIN7 - 649)) | (1 << (SqlParser.MACCE - 649)) | (1 << (SqlParser.MACROMAN - 649)) | (1 << (SqlParser.SJIS - 649)) | (1 << (SqlParser.SWE7 - 649)) | (1 << (SqlParser.TIS620 - 649)) | (1 << (SqlParser.UCS2 - 649)) | (1 << (SqlParser.UJIS - 649)) | (1 << (SqlParser.UTF16 - 649)) | (1 << (SqlParser.UTF16LE - 649)) | (1 << (SqlParser.UTF32 - 649)) | (1 << (SqlParser.UTF8 - 649)) | (1 << (SqlParser.UTF8MB3 - 649)) | (1 << (SqlParser.UTF8MB4 - 649)) | (1 << (SqlParser.ARCHIVE - 649)) | (1 << (SqlParser.BLACKHOLE - 649)) | (1 << (SqlParser.CSV - 649)) | (1 << (SqlParser.FEDERATED - 649)))) !== 0) || ((((_la - 681)) & ~0x1f) == 0 && ((1 << (_la - 681)) & ((1 << (SqlParser.INNODB - 681)) | (1 << (SqlParser.MEMORY - 681)) | (1 << (SqlParser.MRG_MYISAM - 681)) | (1 << (SqlParser.MYISAM - 681)) | (1 << (SqlParser.NDB - 681)) | (1 << (SqlParser.NDBCLUSTER - 681)) | (1 << (SqlParser.PERFORMANCE_SCHEMA - 681)) | (1 << (SqlParser.TOKUDB - 681)) | (1 << (SqlParser.REPEATABLE - 681)) | (1 << (SqlParser.COMMITTED - 681)) | (1 << (SqlParser.UNCOMMITTED - 681)) | (1 << (SqlParser.SERIALIZABLE - 681)) | (1 << (SqlParser.GEOMETRYCOLLECTION - 681)) | (1 << (SqlParser.LINESTRING - 681)) | (1 << (SqlParser.MULTILINESTRING - 681)) | (1 << (SqlParser.MULTIPOINT - 681)) | (1 << (SqlParser.MULTIPOLYGON - 681)) | (1 << (SqlParser.POINT - 681)) | (1 << (SqlParser.POLYGON - 681)) | (1 << (SqlParser.ABS - 681)) | (1 << (SqlParser.ACOS - 681)) | (1 << (SqlParser.ADDDATE - 681)) | (1 << (SqlParser.ADDTIME - 681)) | (1 << (SqlParser.AES_DECRYPT - 681)) | (1 << (SqlParser.AES_ENCRYPT - 681)) | (1 << (SqlParser.AREA - 681)) | (1 << (SqlParser.ASBINARY - 681)) | (1 << (SqlParser.ASIN - 681)) | (1 << (SqlParser.ASTEXT - 681)) | (1 << (SqlParser.ASWKB - 681)))) !== 0) || ((((_la - 713)) & ~0x1f) == 0 && ((1 << (_la - 713)) & ((1 << (SqlParser.ASWKT - 713)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 713)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 713)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 713)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 713)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 713)) | (1 << (SqlParser.ATAN - 713)) | (1 << (SqlParser.ATAN2 - 713)) | (1 << (SqlParser.BENCHMARK - 713)) | (1 << (SqlParser.BIN - 713)) | (1 << (SqlParser.BIT_COUNT - 713)) | (1 << (SqlParser.BIT_LENGTH - 713)) | (1 << (SqlParser.BUFFER - 713)) | (1 << (SqlParser.CATALOG_NAME - 713)) | (1 << (SqlParser.CEIL - 713)) | (1 << (SqlParser.CEILING - 713)) | (1 << (SqlParser.CENTROID - 713)) | (1 << (SqlParser.CHARACTER_LENGTH - 713)) | (1 << (SqlParser.CHARSET - 713)) | (1 << (SqlParser.CHAR_LENGTH - 713)) | (1 << (SqlParser.COERCIBILITY - 713)) | (1 << (SqlParser.COLLATION - 713)) | (1 << (SqlParser.COMPRESS - 713)) | (1 << (SqlParser.CONCAT - 713)) | (1 << (SqlParser.CONCAT_WS - 713)) | (1 << (SqlParser.CONNECTION_ID - 713)) | (1 << (SqlParser.CONV - 713)) | (1 << (SqlParser.CONVERT_TZ - 713)) | (1 << (SqlParser.COS - 713)) | (1 << (SqlParser.COT - 713)) | (1 << (SqlParser.CRC32 - 713)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 713)))) !== 0) || ((((_la - 745)) & ~0x1f) == 0 && ((1 << (_la - 745)) & ((1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 745)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 745)) | (1 << (SqlParser.CREATE_DIGEST - 745)) | (1 << (SqlParser.CROSSES - 745)) | (1 << (SqlParser.DATEDIFF - 745)) | (1 << (SqlParser.DATE_FORMAT - 745)) | (1 << (SqlParser.DAYNAME - 745)) | (1 << (SqlParser.DAYOFMONTH - 745)) | (1 << (SqlParser.DAYOFWEEK - 745)) | (1 << (SqlParser.DAYOFYEAR - 745)) | (1 << (SqlParser.DECODE - 745)) | (1 << (SqlParser.DEGREES - 745)) | (1 << (SqlParser.DES_DECRYPT - 745)) | (1 << (SqlParser.DES_ENCRYPT - 745)) | (1 << (SqlParser.DIMENSION - 745)) | (1 << (SqlParser.DISJOINT - 745)) | (1 << (SqlParser.ELT - 745)) | (1 << (SqlParser.ENCODE - 745)) | (1 << (SqlParser.ENCRYPT - 745)) | (1 << (SqlParser.ENDPOINT - 745)) | (1 << (SqlParser.ENVELOPE - 745)) | (1 << (SqlParser.EQUALS - 745)) | (1 << (SqlParser.EXP - 745)) | (1 << (SqlParser.EXPORT_SET - 745)) | (1 << (SqlParser.EXTERIORRING - 745)) | (1 << (SqlParser.EXTRACTVALUE - 745)) | (1 << (SqlParser.FIELD - 745)) | (1 << (SqlParser.FIND_IN_SET - 745)) | (1 << (SqlParser.FLOOR - 745)) | (1 << (SqlParser.FORMAT - 745)) | (1 << (SqlParser.FOUND_ROWS - 745)) | (1 << (SqlParser.FROM_BASE64 - 745)))) !== 0) || ((((_la - 777)) & ~0x1f) == 0 && ((1 << (_la - 777)) & ((1 << (SqlParser.FROM_DAYS - 777)) | (1 << (SqlParser.FROM_UNIXTIME - 777)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 777)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 777)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 777)) | (1 << (SqlParser.GEOMETRYFROMWKB - 777)) | (1 << (SqlParser.GEOMETRYN - 777)) | (1 << (SqlParser.GEOMETRYTYPE - 777)) | (1 << (SqlParser.GEOMFROMTEXT - 777)) | (1 << (SqlParser.GEOMFROMWKB - 777)) | (1 << (SqlParser.GET_FORMAT - 777)) | (1 << (SqlParser.GET_LOCK - 777)) | (1 << (SqlParser.GLENGTH - 777)) | (1 << (SqlParser.GREATEST - 777)) | (1 << (SqlParser.GTID_SUBSET - 777)) | (1 << (SqlParser.GTID_SUBTRACT - 777)) | (1 << (SqlParser.HEX - 777)) | (1 << (SqlParser.IFNULL - 777)) | (1 << (SqlParser.INET6_ATON - 777)) | (1 << (SqlParser.INET6_NTOA - 777)) | (1 << (SqlParser.INET_ATON - 777)) | (1 << (SqlParser.INET_NTOA - 777)) | (1 << (SqlParser.INSTR - 777)) | (1 << (SqlParser.INTERIORRINGN - 777)) | (1 << (SqlParser.INTERSECTS - 777)) | (1 << (SqlParser.ISCLOSED - 777)) | (1 << (SqlParser.ISEMPTY - 777)) | (1 << (SqlParser.ISNULL - 777)) | (1 << (SqlParser.ISSIMPLE - 777)) | (1 << (SqlParser.IS_FREE_LOCK - 777)))) !== 0) || ((((_la - 809)) & ~0x1f) == 0 && ((1 << (_la - 809)) & ((1 << (SqlParser.IS_IPV4 - 809)) | (1 << (SqlParser.IS_IPV4_COMPAT - 809)) | (1 << (SqlParser.IS_IPV4_MAPPED - 809)) | (1 << (SqlParser.IS_IPV6 - 809)) | (1 << (SqlParser.IS_USED_LOCK - 809)) | (1 << (SqlParser.LAST_INSERT_ID - 809)) | (1 << (SqlParser.LCASE - 809)) | (1 << (SqlParser.LEAST - 809)) | (1 << (SqlParser.LENGTH - 809)) | (1 << (SqlParser.LINEFROMTEXT - 809)) | (1 << (SqlParser.LINEFROMWKB - 809)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 809)) | (1 << (SqlParser.LINESTRINGFROMWKB - 809)) | (1 << (SqlParser.LN - 809)) | (1 << (SqlParser.LOAD_FILE - 809)) | (1 << (SqlParser.LOCATE - 809)) | (1 << (SqlParser.LOG - 809)) | (1 << (SqlParser.LOG10 - 809)) | (1 << (SqlParser.LOG2 - 809)) | (1 << (SqlParser.LOWER - 809)) | (1 << (SqlParser.LPAD - 809)) | (1 << (SqlParser.LTRIM - 809)) | (1 << (SqlParser.MAKEDATE - 809)) | (1 << (SqlParser.MAKETIME - 809)) | (1 << (SqlParser.MAKE_SET - 809)) | (1 << (SqlParser.MASTER_POS_WAIT - 809)) | (1 << (SqlParser.MBRCONTAINS - 809)) | (1 << (SqlParser.MBRDISJOINT - 809)) | (1 << (SqlParser.MBREQUAL - 809)) | (1 << (SqlParser.MBRINTERSECTS - 809)) | (1 << (SqlParser.MBROVERLAPS - 809)) | (1 << (SqlParser.MBRTOUCHES - 809)))) !== 0) || ((((_la - 841)) & ~0x1f) == 0 && ((1 << (_la - 841)) & ((1 << (SqlParser.MBRWITHIN - 841)) | (1 << (SqlParser.MD5 - 841)) | (1 << (SqlParser.MLINEFROMTEXT - 841)) | (1 << (SqlParser.MLINEFROMWKB - 841)) | (1 << (SqlParser.MONTHNAME - 841)) | (1 << (SqlParser.MPOINTFROMTEXT - 841)) | (1 << (SqlParser.MPOINTFROMWKB - 841)) | (1 << (SqlParser.MPOLYFROMTEXT - 841)) | (1 << (SqlParser.MPOLYFROMWKB - 841)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 841)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 841)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 841)) | (1 << (SqlParser.MULTIPOINTFROMWKB - 841)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 841)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 841)) | (1 << (SqlParser.NAME_CONST - 841)) | (1 << (SqlParser.NULLIF - 841)) | (1 << (SqlParser.NUMGEOMETRIES - 841)) | (1 << (SqlParser.NUMINTERIORRINGS - 841)) | (1 << (SqlParser.NUMPOINTS - 841)) | (1 << (SqlParser.OCT - 841)) | (1 << (SqlParser.OCTET_LENGTH - 841)) | (1 << (SqlParser.ORD - 841)) | (1 << (SqlParser.OVERLAPS - 841)) | (1 << (SqlParser.PERIOD_ADD - 841)) | (1 << (SqlParser.PERIOD_DIFF - 841)) | (1 << (SqlParser.PI - 841)) | (1 << (SqlParser.POINTFROMTEXT - 841)) | (1 << (SqlParser.POINTFROMWKB - 841)) | (1 << (SqlParser.POINTN - 841)) | (1 << (SqlParser.POLYFROMTEXT - 841)) | (1 << (SqlParser.POLYFROMWKB - 841)))) !== 0) || ((((_la - 873)) & ~0x1f) == 0 && ((1 << (_la - 873)) & ((1 << (SqlParser.POLYGONFROMTEXT - 873)) | (1 << (SqlParser.POLYGONFROMWKB - 873)) | (1 << (SqlParser.POW - 873)) | (1 << (SqlParser.POWER - 873)) | (1 << (SqlParser.QUOTE - 873)) | (1 << (SqlParser.RADIANS - 873)) | (1 << (SqlParser.RAND - 873)) | (1 << (SqlParser.RANDOM_BYTES - 873)) | (1 << (SqlParser.RELEASE_LOCK - 873)) | (1 << (SqlParser.REVERSE - 873)) | (1 << (SqlParser.ROUND - 873)) | (1 << (SqlParser.ROW_COUNT - 873)) | (1 << (SqlParser.RPAD - 873)) | (1 << (SqlParser.RTRIM - 873)) | (1 << (SqlParser.SEC_TO_TIME - 873)) | (1 << (SqlParser.SESSION_USER - 873)) | (1 << (SqlParser.SHA - 873)) | (1 << (SqlParser.SHA1 - 873)) | (1 << (SqlParser.SHA2 - 873)) | (1 << (SqlParser.SCHEMA_NAME - 873)) | (1 << (SqlParser.SIGN - 873)) | (1 << (SqlParser.SIN - 873)) | (1 << (SqlParser.SLEEP - 873)) | (1 << (SqlParser.SOUNDEX - 873)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 873)) | (1 << (SqlParser.SQRT - 873)) | (1 << (SqlParser.SRID - 873)) | (1 << (SqlParser.STARTPOINT - 873)) | (1 << (SqlParser.STRCMP - 873)) | (1 << (SqlParser.STR_TO_DATE - 873)) | (1 << (SqlParser.ST_AREA - 873)) | (1 << (SqlParser.ST_ASBINARY - 873)))) !== 0) || ((((_la - 905)) & ~0x1f) == 0 && ((1 << (_la - 905)) & ((1 << (SqlParser.ST_ASTEXT - 905)) | (1 << (SqlParser.ST_ASWKB - 905)) | (1 << (SqlParser.ST_ASWKT - 905)) | (1 << (SqlParser.ST_BUFFER - 905)) | (1 << (SqlParser.ST_CENTROID - 905)) | (1 << (SqlParser.ST_CONTAINS - 905)) | (1 << (SqlParser.ST_CROSSES - 905)) | (1 << (SqlParser.ST_DIFFERENCE - 905)) | (1 << (SqlParser.ST_DIMENSION - 905)) | (1 << (SqlParser.ST_DISJOINT - 905)) | (1 << (SqlParser.ST_DISTANCE - 905)) | (1 << (SqlParser.ST_ENDPOINT - 905)) | (1 << (SqlParser.ST_ENVELOPE - 905)) | (1 << (SqlParser.ST_EQUALS - 905)) | (1 << (SqlParser.ST_EXTERIORRING - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 905)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 905)) | (1 << (SqlParser.ST_GEOMETRYN - 905)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 905)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 905)) | (1 << (SqlParser.ST_GEOMFROMWKB - 905)) | (1 << (SqlParser.ST_INTERIORRINGN - 905)) | (1 << (SqlParser.ST_INTERSECTION - 905)) | (1 << (SqlParser.ST_INTERSECTS - 905)) | (1 << (SqlParser.ST_ISCLOSED - 905)) | (1 << (SqlParser.ST_ISEMPTY - 905)) | (1 << (SqlParser.ST_ISSIMPLE - 905)))) !== 0) || ((((_la - 937)) & ~0x1f) == 0 && ((1 << (_la - 937)) & ((1 << (SqlParser.ST_LINEFROMTEXT - 937)) | (1 << (SqlParser.ST_LINEFROMWKB - 937)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 937)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 937)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 937)) | (1 << (SqlParser.ST_NUMINTERIORRING - 937)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 937)) | (1 << (SqlParser.ST_NUMPOINTS - 937)) | (1 << (SqlParser.ST_OVERLAPS - 937)) | (1 << (SqlParser.ST_POINTFROMTEXT - 937)) | (1 << (SqlParser.ST_POINTFROMWKB - 937)) | (1 << (SqlParser.ST_POINTN - 937)) | (1 << (SqlParser.ST_POLYFROMTEXT - 937)) | (1 << (SqlParser.ST_POLYFROMWKB - 937)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 937)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 937)) | (1 << (SqlParser.ST_SRID - 937)) | (1 << (SqlParser.ST_STARTPOINT - 937)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 937)) | (1 << (SqlParser.ST_TOUCHES - 937)) | (1 << (SqlParser.ST_UNION - 937)) | (1 << (SqlParser.ST_WITHIN - 937)) | (1 << (SqlParser.ST_X - 937)) | (1 << (SqlParser.ST_Y - 937)) | (1 << (SqlParser.SUBDATE - 937)) | (1 << (SqlParser.SUBSTRING_INDEX - 937)) | (1 << (SqlParser.SUBTIME - 937)) | (1 << (SqlParser.SYSTEM_USER - 937)) | (1 << (SqlParser.TAN - 937)) | (1 << (SqlParser.TIMEDIFF - 937)) | (1 << (SqlParser.TIMESTAMPADD - 937)) | (1 << (SqlParser.TIMESTAMPDIFF - 937)))) !== 0) || ((((_la - 969)) & ~0x1f) == 0 && ((1 << (_la - 969)) & ((1 << (SqlParser.TIME_FORMAT - 969)) | (1 << (SqlParser.TIME_TO_SEC - 969)) | (1 << (SqlParser.TOUCHES - 969)) | (1 << (SqlParser.TO_BASE64 - 969)) | (1 << (SqlParser.TO_DAYS - 969)) | (1 << (SqlParser.TO_SECONDS - 969)) | (1 << (SqlParser.UCASE - 969)) | (1 << (SqlParser.UNCOMPRESS - 969)) | (1 << (SqlParser.UNCOMPRESSED_LENGTH - 969)) | (1 << (SqlParser.UNHEX - 969)) | (1 << (SqlParser.UNIX_TIMESTAMP - 969)) | (1 << (SqlParser.UPDATEXML - 969)) | (1 << (SqlParser.UPPER - 969)) | (1 << (SqlParser.UUID - 969)) | (1 << (SqlParser.UUID_SHORT - 969)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 969)) | (1 << (SqlParser.VERSION - 969)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 969)) | (1 << (SqlParser.WEEKDAY - 969)) | (1 << (SqlParser.WEEKOFYEAR - 969)) | (1 << (SqlParser.WEIGHT_STRING - 969)) | (1 << (SqlParser.WITHIN - 969)) | (1 << (SqlParser.YEARWEEK - 969)) | (1 << (SqlParser.Y_FUNCTION - 969)) | (1 << (SqlParser.X_FUNCTION - 969)))) !== 0) || ((((_la - 1006)) & ~0x1f) == 0 && ((1 << (_la - 1006)) & ((1 << (SqlParser.PLUS - 1006)) | (1 << (SqlParser.MINUS - 1006)) | (1 << (SqlParser.EXCLAMATION_SYMBOL - 1006)) | (1 << (SqlParser.BIT_NOT_OP - 1006)) | (1 << (SqlParser.LR_BRACKET - 1006)) | (1 << (SqlParser.ZERO_DECIMAL - 1006)) | (1 << (SqlParser.ONE_DECIMAL - 1006)) | (1 << (SqlParser.TWO_DECIMAL - 1006)) | (1 << (SqlParser.CHARSET_REVERSE_QOUTE_STRING - 1006)) | (1 << (SqlParser.START_NATIONAL_STRING_LITERAL - 1006)) | (1 << (SqlParser.STRING_LITERAL - 1006)) | (1 << (SqlParser.DECIMAL_LITERAL - 1006)) | (1 << (SqlParser.HEXADECIMAL_LITERAL - 1006)))) !== 0) || ((((_la - 1038)) & ~0x1f) == 0 && ((1 << (_la - 1038)) & ((1 << (SqlParser.REAL_LITERAL - 1038)) | (1 << (SqlParser.NULL_SPEC_LITERAL - 1038)) | (1 << (SqlParser.BIT_STRING - 1038)) | (1 << (SqlParser.STRING_CHARSET_NAME - 1038)) | (1 << (SqlParser.ID - 1038)) | (1 << (SqlParser.REVERSE_QUOTE_ID - 1038)) | (1 << (SqlParser.LOCAL_ID - 1038)) | (1 << (SqlParser.GLOBAL_ID - 1038)))) !== 0)) { + this.state = 5873; + this.functionArgs(); + } + + this.state = 5876; + this.match(SqlParser.RR_BRACKET); + break; + + case 5: + localctx = new PasswordFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 5878; + this.passwordFunctionClause(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function SpecificFunctionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_specificFunction; + return this; +} + +SpecificFunctionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +SpecificFunctionContext.prototype.constructor = SpecificFunctionContext; + + + +SpecificFunctionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function PositionFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + this.positionString = null; // StringLiteralContext; + this.positionExpression = null; // ExpressionContext; + this.inString = null; // StringLiteralContext; + this.inExpression = null; // ExpressionContext; + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PositionFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +PositionFunctionCallContext.prototype.constructor = PositionFunctionCallContext; + +SqlParser.PositionFunctionCallContext = PositionFunctionCallContext; + +PositionFunctionCallContext.prototype.POSITION = function() { + return this.getToken(SqlParser.POSITION, 0); +}; + +PositionFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PositionFunctionCallContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; + +PositionFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PositionFunctionCallContext.prototype.stringLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(StringLiteralContext); + } else { + return this.getTypedRuleContext(StringLiteralContext,i); + } +}; + +PositionFunctionCallContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; +PositionFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPositionFunctionCall(this); + } +}; + +PositionFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPositionFunctionCall(this); + } +}; + +PositionFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPositionFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function TrimFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + this.positioinForm = null; // Token; + this.sourceString = null; // StringLiteralContext; + this.sourceExpression = null; // ExpressionContext; + this.fromString = null; // StringLiteralContext; + this.fromExpression = null; // ExpressionContext; + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +TrimFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +TrimFunctionCallContext.prototype.constructor = TrimFunctionCallContext; + +SqlParser.TrimFunctionCallContext = TrimFunctionCallContext; + +TrimFunctionCallContext.prototype.TRIM = function() { + return this.getToken(SqlParser.TRIM, 0); +}; + +TrimFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +TrimFunctionCallContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +TrimFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +TrimFunctionCallContext.prototype.BOTH = function() { + return this.getToken(SqlParser.BOTH, 0); +}; + +TrimFunctionCallContext.prototype.LEADING = function() { + return this.getToken(SqlParser.LEADING, 0); +}; + +TrimFunctionCallContext.prototype.TRAILING = function() { + return this.getToken(SqlParser.TRAILING, 0); +}; + +TrimFunctionCallContext.prototype.stringLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(StringLiteralContext); + } else { + return this.getTypedRuleContext(StringLiteralContext,i); + } +}; + +TrimFunctionCallContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; +TrimFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTrimFunctionCall(this); + } +}; + +TrimFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTrimFunctionCall(this); + } +}; + +TrimFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTrimFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SimpleFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SimpleFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +SimpleFunctionCallContext.prototype.constructor = SimpleFunctionCallContext; + +SqlParser.SimpleFunctionCallContext = SimpleFunctionCallContext; + +SimpleFunctionCallContext.prototype.CURRENT_DATE = function() { + return this.getToken(SqlParser.CURRENT_DATE, 0); +}; + +SimpleFunctionCallContext.prototype.CURRENT_TIME = function() { + return this.getToken(SqlParser.CURRENT_TIME, 0); +}; + +SimpleFunctionCallContext.prototype.CURRENT_TIMESTAMP = function() { + return this.getToken(SqlParser.CURRENT_TIMESTAMP, 0); +}; + +SimpleFunctionCallContext.prototype.CURRENT_USER = function() { + return this.getToken(SqlParser.CURRENT_USER, 0); +}; + +SimpleFunctionCallContext.prototype.LOCALTIME = function() { + return this.getToken(SqlParser.LOCALTIME, 0); +}; +SimpleFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSimpleFunctionCall(this); + } +}; + +SimpleFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSimpleFunctionCall(this); + } +}; + +SimpleFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSimpleFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CharFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CharFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +CharFunctionCallContext.prototype.constructor = CharFunctionCallContext; + +SqlParser.CharFunctionCallContext = CharFunctionCallContext; + +CharFunctionCallContext.prototype.CHAR = function() { + return this.getToken(SqlParser.CHAR, 0); +}; + +CharFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +CharFunctionCallContext.prototype.functionArgs = function() { + return this.getTypedRuleContext(FunctionArgsContext,0); +}; + +CharFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +CharFunctionCallContext.prototype.USING = function() { + return this.getToken(SqlParser.USING, 0); +}; + +CharFunctionCallContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; +CharFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCharFunctionCall(this); + } +}; + +CharFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCharFunctionCall(this); + } +}; + +CharFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCharFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function WeightFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + this.stringFormat = null; // Token; + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +WeightFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +WeightFunctionCallContext.prototype.constructor = WeightFunctionCallContext; + +SqlParser.WeightFunctionCallContext = WeightFunctionCallContext; + +WeightFunctionCallContext.prototype.WEIGHT_STRING = function() { + return this.getToken(SqlParser.WEIGHT_STRING, 0); +}; + +WeightFunctionCallContext.prototype.LR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LR_BRACKET); + } else { + return this.getToken(SqlParser.LR_BRACKET, i); + } +}; + + +WeightFunctionCallContext.prototype.RR_BRACKET = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.RR_BRACKET); + } else { + return this.getToken(SqlParser.RR_BRACKET, i); + } +}; + + +WeightFunctionCallContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +WeightFunctionCallContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +WeightFunctionCallContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; + +WeightFunctionCallContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +WeightFunctionCallContext.prototype.levelsInWeightString = function() { + return this.getTypedRuleContext(LevelsInWeightStringContext,0); +}; + +WeightFunctionCallContext.prototype.CHAR = function() { + return this.getToken(SqlParser.CHAR, 0); +}; + +WeightFunctionCallContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; +WeightFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterWeightFunctionCall(this); + } +}; + +WeightFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitWeightFunctionCall(this); + } +}; + +WeightFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitWeightFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function GetFormatFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + this.datetimeFormat = null; // Token; + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +GetFormatFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +GetFormatFunctionCallContext.prototype.constructor = GetFormatFunctionCallContext; + +SqlParser.GetFormatFunctionCallContext = GetFormatFunctionCallContext; + +GetFormatFunctionCallContext.prototype.GET_FORMAT = function() { + return this.getToken(SqlParser.GET_FORMAT, 0); +}; + +GetFormatFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +GetFormatFunctionCallContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; + +GetFormatFunctionCallContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +GetFormatFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +GetFormatFunctionCallContext.prototype.DATE = function() { + return this.getToken(SqlParser.DATE, 0); +}; + +GetFormatFunctionCallContext.prototype.TIME = function() { + return this.getToken(SqlParser.TIME, 0); +}; + +GetFormatFunctionCallContext.prototype.DATETIME = function() { + return this.getToken(SqlParser.DATETIME, 0); +}; +GetFormatFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterGetFormatFunctionCall(this); + } +}; + +GetFormatFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitGetFormatFunctionCall(this); + } +}; + +GetFormatFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitGetFormatFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CaseFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + this.elseArg = null; // FunctionArgContext; + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CaseFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +CaseFunctionCallContext.prototype.constructor = CaseFunctionCallContext; + +SqlParser.CaseFunctionCallContext = CaseFunctionCallContext; + +CaseFunctionCallContext.prototype.CASE = function() { + return this.getToken(SqlParser.CASE, 0); +}; + +CaseFunctionCallContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +CaseFunctionCallContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +CaseFunctionCallContext.prototype.caseFuncAlternative = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(CaseFuncAlternativeContext); + } else { + return this.getTypedRuleContext(CaseFuncAlternativeContext,i); + } +}; + +CaseFunctionCallContext.prototype.ELSE = function() { + return this.getToken(SqlParser.ELSE, 0); +}; + +CaseFunctionCallContext.prototype.functionArg = function() { + return this.getTypedRuleContext(FunctionArgContext,0); +}; +CaseFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCaseFunctionCall(this); + } +}; + +CaseFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCaseFunctionCall(this); + } +}; + +CaseFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCaseFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ExtractFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + this.sourceString = null; // StringLiteralContext; + this.sourceExpression = null; // ExpressionContext; + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ExtractFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +ExtractFunctionCallContext.prototype.constructor = ExtractFunctionCallContext; + +SqlParser.ExtractFunctionCallContext = ExtractFunctionCallContext; + +ExtractFunctionCallContext.prototype.EXTRACT = function() { + return this.getToken(SqlParser.EXTRACT, 0); +}; + +ExtractFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +ExtractFunctionCallContext.prototype.intervalType = function() { + return this.getTypedRuleContext(IntervalTypeContext,0); +}; + +ExtractFunctionCallContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +ExtractFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +ExtractFunctionCallContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +ExtractFunctionCallContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; +ExtractFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterExtractFunctionCall(this); + } +}; + +ExtractFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitExtractFunctionCall(this); + } +}; + +ExtractFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitExtractFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function DataTypeFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + this.separator = null; // Token; + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +DataTypeFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +DataTypeFunctionCallContext.prototype.constructor = DataTypeFunctionCallContext; + +SqlParser.DataTypeFunctionCallContext = DataTypeFunctionCallContext; + +DataTypeFunctionCallContext.prototype.CONVERT = function() { + return this.getToken(SqlParser.CONVERT, 0); +}; + +DataTypeFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +DataTypeFunctionCallContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +DataTypeFunctionCallContext.prototype.convertedDataType = function() { + return this.getTypedRuleContext(ConvertedDataTypeContext,0); +}; + +DataTypeFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +DataTypeFunctionCallContext.prototype.COMMA = function() { + return this.getToken(SqlParser.COMMA, 0); +}; + +DataTypeFunctionCallContext.prototype.USING = function() { + return this.getToken(SqlParser.USING, 0); +}; + +DataTypeFunctionCallContext.prototype.charsetName = function() { + return this.getTypedRuleContext(CharsetNameContext,0); +}; + +DataTypeFunctionCallContext.prototype.CAST = function() { + return this.getToken(SqlParser.CAST, 0); +}; + +DataTypeFunctionCallContext.prototype.AS = function() { + return this.getToken(SqlParser.AS, 0); +}; +DataTypeFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDataTypeFunctionCall(this); + } +}; + +DataTypeFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDataTypeFunctionCall(this); + } +}; + +DataTypeFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDataTypeFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ValuesFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ValuesFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +ValuesFunctionCallContext.prototype.constructor = ValuesFunctionCallContext; + +SqlParser.ValuesFunctionCallContext = ValuesFunctionCallContext; + +ValuesFunctionCallContext.prototype.VALUES = function() { + return this.getToken(SqlParser.VALUES, 0); +}; + +ValuesFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +ValuesFunctionCallContext.prototype.fullColumnName = function() { + return this.getTypedRuleContext(FullColumnNameContext,0); +}; + +ValuesFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +ValuesFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterValuesFunctionCall(this); + } +}; + +ValuesFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitValuesFunctionCall(this); + } +}; + +ValuesFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitValuesFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SubstrFunctionCallContext(parser, ctx) { + SpecificFunctionContext.call(this, parser); + this.sourceString = null; // StringLiteralContext; + this.sourceExpression = null; // ExpressionContext; + this.fromDecimal = null; // DecimalLiteralContext; + this.fromExpression = null; // ExpressionContext; + this.forDecimal = null; // DecimalLiteralContext; + this.forExpression = null; // ExpressionContext; + SpecificFunctionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SubstrFunctionCallContext.prototype = Object.create(SpecificFunctionContext.prototype); +SubstrFunctionCallContext.prototype.constructor = SubstrFunctionCallContext; + +SqlParser.SubstrFunctionCallContext = SubstrFunctionCallContext; + +SubstrFunctionCallContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +SubstrFunctionCallContext.prototype.FROM = function() { + return this.getToken(SqlParser.FROM, 0); +}; + +SubstrFunctionCallContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +SubstrFunctionCallContext.prototype.SUBSTR = function() { + return this.getToken(SqlParser.SUBSTR, 0); +}; + +SubstrFunctionCallContext.prototype.SUBSTRING = function() { + return this.getToken(SqlParser.SUBSTRING, 0); +}; + +SubstrFunctionCallContext.prototype.stringLiteral = function() { + return this.getTypedRuleContext(StringLiteralContext,0); +}; + +SubstrFunctionCallContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +SubstrFunctionCallContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; + +SubstrFunctionCallContext.prototype.FOR = function() { + return this.getToken(SqlParser.FOR, 0); +}; +SubstrFunctionCallContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSubstrFunctionCall(this); + } +}; + +SubstrFunctionCallContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSubstrFunctionCall(this); + } +}; + +SubstrFunctionCallContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSubstrFunctionCall(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.SpecificFunctionContext = SpecificFunctionContext; + +SqlParser.prototype.specificFunction = function() { + + var localctx = new SpecificFunctionContext(this, this._ctx, this.state); + this.enterRule(localctx, 584, SqlParser.RULE_specificFunction); + var _la = 0; // Token type + try { + this.state = 6038; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,890,this._ctx); + switch(la_) { + case 1: + localctx = new SimpleFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 5881; + _la = this._input.LA(1); + if(!(_la===SqlParser.CURRENT_USER || ((((_la - 251)) & ~0x1f) == 0 && ((1 << (_la - 251)) & ((1 << (SqlParser.CURRENT_DATE - 251)) | (1 << (SqlParser.CURRENT_TIME - 251)) | (1 << (SqlParser.CURRENT_TIMESTAMP - 251)) | (1 << (SqlParser.LOCALTIME - 251)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 2: + localctx = new DataTypeFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 5882; + this.match(SqlParser.CONVERT); + this.state = 5883; + this.match(SqlParser.LR_BRACKET); + this.state = 5884; + this.expression(0); + this.state = 5885; + localctx.separator = this.match(SqlParser.COMMA); + this.state = 5886; + this.convertedDataType(); + this.state = 5887; + this.match(SqlParser.RR_BRACKET); + break; + + case 3: + localctx = new DataTypeFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 3); + this.state = 5889; + this.match(SqlParser.CONVERT); + this.state = 5890; + this.match(SqlParser.LR_BRACKET); + this.state = 5891; + this.expression(0); + this.state = 5892; + this.match(SqlParser.USING); + this.state = 5893; + this.charsetName(); + this.state = 5894; + this.match(SqlParser.RR_BRACKET); + break; + + case 4: + localctx = new DataTypeFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 4); + this.state = 5896; + this.match(SqlParser.CAST); + this.state = 5897; + this.match(SqlParser.LR_BRACKET); + this.state = 5898; + this.expression(0); + this.state = 5899; + this.match(SqlParser.AS); + this.state = 5900; + this.convertedDataType(); + this.state = 5901; + this.match(SqlParser.RR_BRACKET); + break; + + case 5: + localctx = new ValuesFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 5); + this.state = 5903; + this.match(SqlParser.VALUES); + this.state = 5904; + this.match(SqlParser.LR_BRACKET); + this.state = 5905; + this.fullColumnName(); + this.state = 5906; + this.match(SqlParser.RR_BRACKET); + break; + + case 6: + localctx = new CaseFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 6); + this.state = 5908; + this.match(SqlParser.CASE); + this.state = 5909; + this.expression(0); + this.state = 5911; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5910; + this.caseFuncAlternative(); + this.state = 5913; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.WHEN); + this.state = 5917; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ELSE) { + this.state = 5915; + this.match(SqlParser.ELSE); + this.state = 5916; + localctx.elseArg = this.functionArg(); + } + + this.state = 5919; + this.match(SqlParser.END); + break; + + case 7: + localctx = new CaseFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 7); + this.state = 5921; + this.match(SqlParser.CASE); + this.state = 5923; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5922; + this.caseFuncAlternative(); + this.state = 5925; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.WHEN); + this.state = 5929; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ELSE) { + this.state = 5927; + this.match(SqlParser.ELSE); + this.state = 5928; + localctx.elseArg = this.functionArg(); + } + + this.state = 5931; + this.match(SqlParser.END); + break; + + case 8: + localctx = new CharFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 8); + this.state = 5933; + this.match(SqlParser.CHAR); + this.state = 5934; + this.match(SqlParser.LR_BRACKET); + this.state = 5935; + this.functionArgs(); + this.state = 5938; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.USING) { + this.state = 5936; + this.match(SqlParser.USING); + this.state = 5937; + this.charsetName(); + } + + this.state = 5940; + this.match(SqlParser.RR_BRACKET); + break; + + case 9: + localctx = new PositionFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 9); + this.state = 5942; + this.match(SqlParser.POSITION); + this.state = 5943; + this.match(SqlParser.LR_BRACKET); + this.state = 5946; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,876,this._ctx); + switch(la_) { + case 1: + this.state = 5944; + localctx.positionString = this.stringLiteral(); + break; + + case 2: + this.state = 5945; + localctx.positionExpression = this.expression(0); + break; + + } + this.state = 5948; + this.match(SqlParser.IN); + this.state = 5951; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,877,this._ctx); + switch(la_) { + case 1: + this.state = 5949; + localctx.inString = this.stringLiteral(); + break; + + case 2: + this.state = 5950; + localctx.inExpression = this.expression(0); + break; + + } + this.state = 5953; + this.match(SqlParser.RR_BRACKET); + break; + + case 10: + localctx = new SubstrFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 10); + this.state = 5955; + _la = this._input.LA(1); + if(!(_la===SqlParser.SUBSTR || _la===SqlParser.SUBSTRING)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5956; + this.match(SqlParser.LR_BRACKET); + this.state = 5959; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,878,this._ctx); + switch(la_) { + case 1: + this.state = 5957; + localctx.sourceString = this.stringLiteral(); + break; + + case 2: + this.state = 5958; + localctx.sourceExpression = this.expression(0); + break; + + } + this.state = 5961; + this.match(SqlParser.FROM); + this.state = 5964; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,879,this._ctx); + switch(la_) { + case 1: + this.state = 5962; + localctx.fromDecimal = this.decimalLiteral(); + break; + + case 2: + this.state = 5963; + localctx.fromExpression = this.expression(0); + break; + + } + this.state = 5971; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.FOR) { + this.state = 5966; + this.match(SqlParser.FOR); + this.state = 5969; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,880,this._ctx); + switch(la_) { + case 1: + this.state = 5967; + localctx.forDecimal = this.decimalLiteral(); + break; + + case 2: + this.state = 5968; + localctx.forExpression = this.expression(0); + break; + + } + } + + this.state = 5973; + this.match(SqlParser.RR_BRACKET); + break; + + case 11: + localctx = new TrimFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 11); + this.state = 5975; + this.match(SqlParser.TRIM); + this.state = 5976; + this.match(SqlParser.LR_BRACKET); + this.state = 5977; + localctx.positioinForm = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.BOTH || _la===SqlParser.LEADING || _la===SqlParser.TRAILING)) { + localctx.positioinForm = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5980; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,882,this._ctx); + if(la_===1) { + this.state = 5978; + localctx.sourceString = this.stringLiteral(); + + } else if(la_===2) { + this.state = 5979; + localctx.sourceExpression = this.expression(0); + + } + this.state = 5982; + this.match(SqlParser.FROM); + this.state = 5985; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,883,this._ctx); + switch(la_) { + case 1: + this.state = 5983; + localctx.fromString = this.stringLiteral(); + break; + + case 2: + this.state = 5984; + localctx.fromExpression = this.expression(0); + break; + + } + this.state = 5987; + this.match(SqlParser.RR_BRACKET); + break; + + case 12: + localctx = new TrimFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 12); + this.state = 5989; + this.match(SqlParser.TRIM); + this.state = 5990; + this.match(SqlParser.LR_BRACKET); + this.state = 5993; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,884,this._ctx); + switch(la_) { + case 1: + this.state = 5991; + localctx.sourceString = this.stringLiteral(); + break; + + case 2: + this.state = 5992; + localctx.sourceExpression = this.expression(0); + break; + + } + this.state = 5995; + this.match(SqlParser.FROM); + this.state = 5998; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,885,this._ctx); + switch(la_) { + case 1: + this.state = 5996; + localctx.fromString = this.stringLiteral(); + break; + + case 2: + this.state = 5997; + localctx.fromExpression = this.expression(0); + break; + + } + this.state = 6000; + this.match(SqlParser.RR_BRACKET); + break; + + case 13: + localctx = new WeightFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 13); + this.state = 6002; + this.match(SqlParser.WEIGHT_STRING); + this.state = 6003; + this.match(SqlParser.LR_BRACKET); + this.state = 6006; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,886,this._ctx); + switch(la_) { + case 1: + this.state = 6004; + this.stringLiteral(); + break; + + case 2: + this.state = 6005; + this.expression(0); + break; + + } + this.state = 6014; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.AS) { + this.state = 6008; + this.match(SqlParser.AS); + this.state = 6009; + localctx.stringFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.CHAR || _la===SqlParser.BINARY)) { + localctx.stringFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6010; + this.match(SqlParser.LR_BRACKET); + this.state = 6011; + this.decimalLiteral(); + this.state = 6012; + this.match(SqlParser.RR_BRACKET); + } + + this.state = 6017; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.LEVEL) { + this.state = 6016; + this.levelsInWeightString(); + } + + this.state = 6019; + this.match(SqlParser.RR_BRACKET); + break; + + case 14: + localctx = new ExtractFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 14); + this.state = 6021; + this.match(SqlParser.EXTRACT); + this.state = 6022; + this.match(SqlParser.LR_BRACKET); + this.state = 6023; + this.intervalType(); + this.state = 6024; + this.match(SqlParser.FROM); + this.state = 6027; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,889,this._ctx); + switch(la_) { + case 1: + this.state = 6025; + localctx.sourceString = this.stringLiteral(); + break; + + case 2: + this.state = 6026; + localctx.sourceExpression = this.expression(0); + break; + + } + this.state = 6029; + this.match(SqlParser.RR_BRACKET); + break; + + case 15: + localctx = new GetFormatFunctionCallContext(this, localctx); + this.enterOuterAlt(localctx, 15); + this.state = 6031; + this.match(SqlParser.GET_FORMAT); + this.state = 6032; + this.match(SqlParser.LR_BRACKET); + this.state = 6033; + localctx.datetimeFormat = this._input.LT(1); + _la = this._input.LA(1); + if(!(((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.DATETIME - 199)))) !== 0))) { + localctx.datetimeFormat = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6034; + this.match(SqlParser.COMMA); + this.state = 6035; + this.stringLiteral(); + this.state = 6036; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CaseFuncAlternativeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_caseFuncAlternative; + this.condition = null; // FunctionArgContext + this.consequent = null; // FunctionArgContext + return this; +} + +CaseFuncAlternativeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CaseFuncAlternativeContext.prototype.constructor = CaseFuncAlternativeContext; + +CaseFuncAlternativeContext.prototype.WHEN = function() { + return this.getToken(SqlParser.WHEN, 0); +}; + +CaseFuncAlternativeContext.prototype.THEN = function() { + return this.getToken(SqlParser.THEN, 0); +}; + +CaseFuncAlternativeContext.prototype.functionArg = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FunctionArgContext); + } else { + return this.getTypedRuleContext(FunctionArgContext,i); + } +}; + +CaseFuncAlternativeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCaseFuncAlternative(this); + } +}; + +CaseFuncAlternativeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCaseFuncAlternative(this); + } +}; + +CaseFuncAlternativeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCaseFuncAlternative(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CaseFuncAlternativeContext = CaseFuncAlternativeContext; + +SqlParser.prototype.caseFuncAlternative = function() { + + var localctx = new CaseFuncAlternativeContext(this, this._ctx, this.state); + this.enterRule(localctx, 586, SqlParser.RULE_caseFuncAlternative); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6040; + this.match(SqlParser.WHEN); + this.state = 6041; + localctx.condition = this.functionArg(); + this.state = 6042; + this.match(SqlParser.THEN); + this.state = 6043; + localctx.consequent = this.functionArg(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LevelsInWeightStringContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_levelsInWeightString; + return this; +} + +LevelsInWeightStringContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LevelsInWeightStringContext.prototype.constructor = LevelsInWeightStringContext; + + + +LevelsInWeightStringContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function LevelWeightRangeContext(parser, ctx) { + LevelsInWeightStringContext.call(this, parser); + this.firstLevel = null; // DecimalLiteralContext; + this.lastLevel = null; // DecimalLiteralContext; + LevelsInWeightStringContext.prototype.copyFrom.call(this, ctx); + return this; +} + +LevelWeightRangeContext.prototype = Object.create(LevelsInWeightStringContext.prototype); +LevelWeightRangeContext.prototype.constructor = LevelWeightRangeContext; + +SqlParser.LevelWeightRangeContext = LevelWeightRangeContext; + +LevelWeightRangeContext.prototype.LEVEL = function() { + return this.getToken(SqlParser.LEVEL, 0); +}; + +LevelWeightRangeContext.prototype.MINUS = function() { + return this.getToken(SqlParser.MINUS, 0); +}; + +LevelWeightRangeContext.prototype.decimalLiteral = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DecimalLiteralContext); + } else { + return this.getTypedRuleContext(DecimalLiteralContext,i); + } +}; +LevelWeightRangeContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLevelWeightRange(this); + } +}; + +LevelWeightRangeContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLevelWeightRange(this); + } +}; + +LevelWeightRangeContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLevelWeightRange(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function LevelWeightListContext(parser, ctx) { + LevelsInWeightStringContext.call(this, parser); + LevelsInWeightStringContext.prototype.copyFrom.call(this, ctx); + return this; +} + +LevelWeightListContext.prototype = Object.create(LevelsInWeightStringContext.prototype); +LevelWeightListContext.prototype.constructor = LevelWeightListContext; + +SqlParser.LevelWeightListContext = LevelWeightListContext; + +LevelWeightListContext.prototype.LEVEL = function() { + return this.getToken(SqlParser.LEVEL, 0); +}; + +LevelWeightListContext.prototype.levelInWeightListElement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(LevelInWeightListElementContext); + } else { + return this.getTypedRuleContext(LevelInWeightListElementContext,i); + } +}; + +LevelWeightListContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +LevelWeightListContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLevelWeightList(this); + } +}; + +LevelWeightListContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLevelWeightList(this); + } +}; + +LevelWeightListContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLevelWeightList(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.LevelsInWeightStringContext = LevelsInWeightStringContext; + +SqlParser.prototype.levelsInWeightString = function() { + + var localctx = new LevelsInWeightStringContext(this, this._ctx, this.state); + this.enterRule(localctx, 588, SqlParser.RULE_levelsInWeightString); + var _la = 0; // Token type + try { + this.state = 6059; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,892,this._ctx); + switch(la_) { + case 1: + localctx = new LevelWeightListContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 6045; + this.match(SqlParser.LEVEL); + this.state = 6046; + this.levelInWeightListElement(); + this.state = 6051; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 6047; + this.match(SqlParser.COMMA); + this.state = 6048; + this.levelInWeightListElement(); + this.state = 6053; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + localctx = new LevelWeightRangeContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 6054; + this.match(SqlParser.LEVEL); + this.state = 6055; + localctx.firstLevel = this.decimalLiteral(); + this.state = 6056; + this.match(SqlParser.MINUS); + this.state = 6057; + localctx.lastLevel = this.decimalLiteral(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LevelInWeightListElementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_levelInWeightListElement; + this.orderType = null; // Token + return this; +} + +LevelInWeightListElementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LevelInWeightListElementContext.prototype.constructor = LevelInWeightListElementContext; + +LevelInWeightListElementContext.prototype.decimalLiteral = function() { + return this.getTypedRuleContext(DecimalLiteralContext,0); +}; + +LevelInWeightListElementContext.prototype.ASC = function() { + return this.getToken(SqlParser.ASC, 0); +}; + +LevelInWeightListElementContext.prototype.DESC = function() { + return this.getToken(SqlParser.DESC, 0); +}; + +LevelInWeightListElementContext.prototype.REVERSE = function() { + return this.getToken(SqlParser.REVERSE, 0); +}; + +LevelInWeightListElementContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLevelInWeightListElement(this); + } +}; + +LevelInWeightListElementContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLevelInWeightListElement(this); + } +}; + +LevelInWeightListElementContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLevelInWeightListElement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LevelInWeightListElementContext = LevelInWeightListElementContext; + +SqlParser.prototype.levelInWeightListElement = function() { + + var localctx = new LevelInWeightListElementContext(this, this._ctx, this.state); + this.enterRule(localctx, 590, SqlParser.RULE_levelInWeightListElement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6061; + this.decimalLiteral(); + this.state = 6063; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ASC || _la===SqlParser.DESC || _la===SqlParser.REVERSE) { + this.state = 6062; + localctx.orderType = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ASC || _la===SqlParser.DESC || _la===SqlParser.REVERSE)) { + localctx.orderType = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AggregateWindowedFunctionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_aggregateWindowedFunction; + this.aggregator = null; // Token + this.starArg = null; // Token + this.separator = null; // Token + return this; +} + +AggregateWindowedFunctionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AggregateWindowedFunctionContext.prototype.constructor = AggregateWindowedFunctionContext; + +AggregateWindowedFunctionContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +AggregateWindowedFunctionContext.prototype.functionArg = function() { + return this.getTypedRuleContext(FunctionArgContext,0); +}; + +AggregateWindowedFunctionContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +AggregateWindowedFunctionContext.prototype.AVG = function() { + return this.getToken(SqlParser.AVG, 0); +}; + +AggregateWindowedFunctionContext.prototype.MAX = function() { + return this.getToken(SqlParser.MAX, 0); +}; + +AggregateWindowedFunctionContext.prototype.MIN = function() { + return this.getToken(SqlParser.MIN, 0); +}; + +AggregateWindowedFunctionContext.prototype.SUM = function() { + return this.getToken(SqlParser.SUM, 0); +}; + +AggregateWindowedFunctionContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +AggregateWindowedFunctionContext.prototype.DISTINCT = function() { + return this.getToken(SqlParser.DISTINCT, 0); +}; + +AggregateWindowedFunctionContext.prototype.COUNT = function() { + return this.getToken(SqlParser.COUNT, 0); +}; + +AggregateWindowedFunctionContext.prototype.STAR = function() { + return this.getToken(SqlParser.STAR, 0); +}; + +AggregateWindowedFunctionContext.prototype.functionArgs = function() { + return this.getTypedRuleContext(FunctionArgsContext,0); +}; + +AggregateWindowedFunctionContext.prototype.BIT_AND = function() { + return this.getToken(SqlParser.BIT_AND, 0); +}; + +AggregateWindowedFunctionContext.prototype.BIT_OR = function() { + return this.getToken(SqlParser.BIT_OR, 0); +}; + +AggregateWindowedFunctionContext.prototype.BIT_XOR = function() { + return this.getToken(SqlParser.BIT_XOR, 0); +}; + +AggregateWindowedFunctionContext.prototype.STD = function() { + return this.getToken(SqlParser.STD, 0); +}; + +AggregateWindowedFunctionContext.prototype.STDDEV = function() { + return this.getToken(SqlParser.STDDEV, 0); +}; + +AggregateWindowedFunctionContext.prototype.STDDEV_POP = function() { + return this.getToken(SqlParser.STDDEV_POP, 0); +}; + +AggregateWindowedFunctionContext.prototype.STDDEV_SAMP = function() { + return this.getToken(SqlParser.STDDEV_SAMP, 0); +}; + +AggregateWindowedFunctionContext.prototype.VAR_POP = function() { + return this.getToken(SqlParser.VAR_POP, 0); +}; + +AggregateWindowedFunctionContext.prototype.VAR_SAMP = function() { + return this.getToken(SqlParser.VAR_SAMP, 0); +}; + +AggregateWindowedFunctionContext.prototype.VARIANCE = function() { + return this.getToken(SqlParser.VARIANCE, 0); +}; + +AggregateWindowedFunctionContext.prototype.GROUP_CONCAT = function() { + return this.getToken(SqlParser.GROUP_CONCAT, 0); +}; + +AggregateWindowedFunctionContext.prototype.ORDER = function() { + return this.getToken(SqlParser.ORDER, 0); +}; + +AggregateWindowedFunctionContext.prototype.BY = function() { + return this.getToken(SqlParser.BY, 0); +}; + +AggregateWindowedFunctionContext.prototype.orderByExpression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(OrderByExpressionContext); + } else { + return this.getTypedRuleContext(OrderByExpressionContext,i); + } +}; + +AggregateWindowedFunctionContext.prototype.SEPARATOR = function() { + return this.getToken(SqlParser.SEPARATOR, 0); +}; + +AggregateWindowedFunctionContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; + +AggregateWindowedFunctionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +AggregateWindowedFunctionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterAggregateWindowedFunction(this); + } +}; + +AggregateWindowedFunctionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitAggregateWindowedFunction(this); + } +}; + +AggregateWindowedFunctionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitAggregateWindowedFunction(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.AggregateWindowedFunctionContext = AggregateWindowedFunctionContext; + +SqlParser.prototype.aggregateWindowedFunction = function() { + + var localctx = new AggregateWindowedFunctionContext(this, this._ctx, this.state); + this.enterRule(localctx, 592, SqlParser.RULE_aggregateWindowedFunction); + var _la = 0; // Token type + try { + this.state = 6121; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,902,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 6065; + _la = this._input.LA(1); + if(!(((((_la - 235)) & ~0x1f) == 0 && ((1 << (_la - 235)) & ((1 << (SqlParser.AVG - 235)) | (1 << (SqlParser.MAX - 235)) | (1 << (SqlParser.MIN - 235)) | (1 << (SqlParser.SUM - 235)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6066; + this.match(SqlParser.LR_BRACKET); + this.state = 6068; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALL || _la===SqlParser.DISTINCT) { + this.state = 6067; + localctx.aggregator = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ALL || _la===SqlParser.DISTINCT)) { + localctx.aggregator = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 6070; + this.functionArg(); + this.state = 6071; + this.match(SqlParser.RR_BRACKET); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 6073; + this.match(SqlParser.COUNT); + this.state = 6074; + this.match(SqlParser.LR_BRACKET); + this.state = 6080; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.STAR: + this.state = 6075; + localctx.starArg = this.match(SqlParser.STAR); + break; + case SqlParser.ALL: + case SqlParser.CASE: + case SqlParser.CAST: + case SqlParser.CONVERT: + case SqlParser.CURRENT: + case SqlParser.CURRENT_USER: + case SqlParser.DATABASE: + case SqlParser.DIAGNOSTICS: + case SqlParser.EXISTS: + case SqlParser.FALSE: + case SqlParser.IF: + case SqlParser.INSERT: + case SqlParser.INTERVAL: + case SqlParser.LEFT: + case SqlParser.NOT: + case SqlParser.NULL_LITERAL: + case SqlParser.NUMBER: + case SqlParser.REPLACE: + case SqlParser.RIGHT: + case SqlParser.STACKED: + case SqlParser.TRUE: + case SqlParser.VALUES: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.DATETIME: + case SqlParser.YEAR: + case SqlParser.CHAR: + case SqlParser.BINARY: + case SqlParser.TEXT: + case SqlParser.ENUM: + case SqlParser.SERIAL: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.AVG: + case SqlParser.BIT_AND: + case SqlParser.BIT_OR: + case SqlParser.BIT_XOR: + case SqlParser.COUNT: + case SqlParser.GROUP_CONCAT: + case SqlParser.MAX: + case SqlParser.MIN: + case SqlParser.STD: + case SqlParser.STDDEV: + case SqlParser.STDDEV_POP: + case SqlParser.STDDEV_SAMP: + case SqlParser.SUM: + case SqlParser.VAR_POP: + case SqlParser.VAR_SAMP: + case SqlParser.VARIANCE: + case SqlParser.CURRENT_DATE: + case SqlParser.CURRENT_TIME: + case SqlParser.CURRENT_TIMESTAMP: + case SqlParser.LOCALTIME: + case SqlParser.CURDATE: + case SqlParser.CURTIME: + case SqlParser.DATE_ADD: + case SqlParser.DATE_SUB: + case SqlParser.EXTRACT: + case SqlParser.LOCALTIMESTAMP: + case SqlParser.NOW: + case SqlParser.POSITION: + case SqlParser.SUBSTR: + case SqlParser.SUBSTRING: + case SqlParser.SYSDATE: + case SqlParser.TRIM: + case SqlParser.UTC_DATE: + case SqlParser.UTC_TIME: + case SqlParser.UTC_TIMESTAMP: + case SqlParser.ACCOUNT: + case SqlParser.ACTION: + case SqlParser.AFTER: + case SqlParser.AGGREGATE: + case SqlParser.ALGORITHM: + case SqlParser.ANY: + case SqlParser.AT: + case SqlParser.AUTHORS: + case SqlParser.AUTOCOMMIT: + case SqlParser.AUTOEXTEND_SIZE: + case SqlParser.AUTO_INCREMENT: + case SqlParser.AVG_ROW_LENGTH: + case SqlParser.BEGIN: + case SqlParser.BINLOG: + case SqlParser.BIT: + case SqlParser.BLOCK: + case SqlParser.BOOL: + case SqlParser.BOOLEAN: + case SqlParser.BTREE: + case SqlParser.CACHE: + case SqlParser.CASCADED: + case SqlParser.CHAIN: + case SqlParser.CHANGED: + case SqlParser.CHANNEL: + case SqlParser.CHECKSUM: + case SqlParser.PAGE_CHECKSUM: + case SqlParser.CIPHER: + case SqlParser.CLASS_ORIGIN: + case SqlParser.CLIENT: + case SqlParser.CLOSE: + case SqlParser.COALESCE: + case SqlParser.CODE: + case SqlParser.COLUMNS: + case SqlParser.COLUMN_FORMAT: + case SqlParser.COLUMN_NAME: + case SqlParser.COMMENT: + case SqlParser.COMMIT: + case SqlParser.COMPACT: + case SqlParser.COMPLETION: + case SqlParser.COMPRESSED: + case SqlParser.COMPRESSION: + case SqlParser.CONCURRENT: + case SqlParser.CONNECTION: + case SqlParser.CONSISTENT: + case SqlParser.CONSTRAINT_CATALOG: + case SqlParser.CONSTRAINT_SCHEMA: + case SqlParser.CONSTRAINT_NAME: + case SqlParser.CONTAINS: + case SqlParser.CONTEXT: + case SqlParser.CONTRIBUTORS: + case SqlParser.COPY: + case SqlParser.CPU: + case SqlParser.CURSOR_NAME: + case SqlParser.DATA: + case SqlParser.DATAFILE: + case SqlParser.DEALLOCATE: + case SqlParser.DEFAULT_AUTH: + case SqlParser.DEFINER: + case SqlParser.DELAY_KEY_WRITE: + case SqlParser.DES_KEY_FILE: + case SqlParser.DIRECTORY: + case SqlParser.DISABLE: + case SqlParser.DISCARD: + case SqlParser.DISK: + case SqlParser.DO: + case SqlParser.DUMPFILE: + case SqlParser.DUPLICATE: + case SqlParser.DYNAMIC: + case SqlParser.ENABLE: + case SqlParser.ENCRYPTION: + case SqlParser.END: + case SqlParser.ENDS: + case SqlParser.ENGINE: + case SqlParser.ENGINES: + case SqlParser.ERROR: + case SqlParser.ERRORS: + case SqlParser.ESCAPE: + case SqlParser.EVEN: + case SqlParser.EVENT: + case SqlParser.EVENTS: + case SqlParser.EVERY: + case SqlParser.EXCHANGE: + case SqlParser.EXCLUSIVE: + case SqlParser.EXPIRE: + case SqlParser.EXPORT: + case SqlParser.EXTENDED: + case SqlParser.EXTENT_SIZE: + case SqlParser.FAST: + case SqlParser.FAULTS: + case SqlParser.FIELDS: + case SqlParser.FILE_BLOCK_SIZE: + case SqlParser.FILTER: + case SqlParser.FIRST: + case SqlParser.FIXED: + case SqlParser.FLUSH: + case SqlParser.FOLLOWS: + case SqlParser.FOUND: + case SqlParser.FULL: + case SqlParser.FUNCTION: + case SqlParser.GENERAL: + case SqlParser.GLOBAL: + case SqlParser.GRANTS: + case SqlParser.GROUP_REPLICATION: + case SqlParser.HANDLER: + case SqlParser.HASH: + case SqlParser.HELP: + case SqlParser.HOST: + case SqlParser.HOSTS: + case SqlParser.IDENTIFIED: + case SqlParser.IGNORE_SERVER_IDS: + case SqlParser.IMPORT: + case SqlParser.INDEXES: + case SqlParser.INITIAL_SIZE: + case SqlParser.INPLACE: + case SqlParser.INSERT_METHOD: + case SqlParser.INSTALL: + case SqlParser.INSTANCE: + case SqlParser.INVISIBLE: + case SqlParser.INVOKER: + case SqlParser.IO: + case SqlParser.IO_THREAD: + case SqlParser.IPC: + case SqlParser.ISOLATION: + case SqlParser.ISSUER: + case SqlParser.JSON: + case SqlParser.KEY_BLOCK_SIZE: + case SqlParser.LANGUAGE: + case SqlParser.LAST: + case SqlParser.LEAVES: + case SqlParser.LESS: + case SqlParser.LEVEL: + case SqlParser.LIST: + case SqlParser.LOCAL: + case SqlParser.LOGFILE: + case SqlParser.LOGS: + case SqlParser.MASTER: + case SqlParser.MASTER_AUTO_POSITION: + case SqlParser.MASTER_CONNECT_RETRY: + case SqlParser.MASTER_DELAY: + case SqlParser.MASTER_HEARTBEAT_PERIOD: + case SqlParser.MASTER_HOST: + case SqlParser.MASTER_LOG_FILE: + case SqlParser.MASTER_LOG_POS: + case SqlParser.MASTER_PASSWORD: + case SqlParser.MASTER_PORT: + case SqlParser.MASTER_RETRY_COUNT: + case SqlParser.MASTER_SSL: + case SqlParser.MASTER_SSL_CA: + case SqlParser.MASTER_SSL_CAPATH: + case SqlParser.MASTER_SSL_CERT: + case SqlParser.MASTER_SSL_CIPHER: + case SqlParser.MASTER_SSL_CRL: + case SqlParser.MASTER_SSL_CRLPATH: + case SqlParser.MASTER_SSL_KEY: + case SqlParser.MASTER_TLS_VERSION: + case SqlParser.MASTER_USER: + case SqlParser.MAX_CONNECTIONS_PER_HOUR: + case SqlParser.MAX_QUERIES_PER_HOUR: + case SqlParser.MAX_ROWS: + case SqlParser.MAX_SIZE: + case SqlParser.MAX_UPDATES_PER_HOUR: + case SqlParser.MAX_USER_CONNECTIONS: + case SqlParser.MEDIUM: + case SqlParser.MERGE: + case SqlParser.MESSAGE_TEXT: + case SqlParser.MID: + case SqlParser.MIGRATE: + case SqlParser.MIN_ROWS: + case SqlParser.MODE: + case SqlParser.MODIFY: + case SqlParser.MUTEX: + case SqlParser.MYSQL: + case SqlParser.MYSQL_ERRNO: + case SqlParser.NAME: + case SqlParser.NAMES: + case SqlParser.NCHAR: + case SqlParser.NEVER: + case SqlParser.NEXT: + case SqlParser.NO: + case SqlParser.NODEGROUP: + case SqlParser.NONE: + case SqlParser.OFFLINE: + case SqlParser.OFFSET: + case SqlParser.OJ: + case SqlParser.OLD_PASSWORD: + case SqlParser.ONE: + case SqlParser.ONLINE: + case SqlParser.ONLY: + case SqlParser.OPEN: + case SqlParser.OPTIMIZER_COSTS: + case SqlParser.OPTIONS: + case SqlParser.OWNER: + case SqlParser.PACK_KEYS: + case SqlParser.PAGE: + case SqlParser.PARSER: + case SqlParser.PARTIAL: + case SqlParser.PARTITIONING: + case SqlParser.PARTITIONS: + case SqlParser.PASSWORD: + case SqlParser.PHASE: + case SqlParser.PLUGIN: + case SqlParser.PLUGIN_DIR: + case SqlParser.PLUGINS: + case SqlParser.PORT: + case SqlParser.PRECEDES: + case SqlParser.PREPARE: + case SqlParser.PRESERVE: + case SqlParser.PREV: + case SqlParser.PROCESSLIST: + case SqlParser.PROFILE: + case SqlParser.PROFILES: + case SqlParser.PROXY: + case SqlParser.QUERY: + case SqlParser.QUICK: + case SqlParser.REBUILD: + case SqlParser.RECOVER: + case SqlParser.REDO_BUFFER_SIZE: + case SqlParser.REDUNDANT: + case SqlParser.RELAY: + case SqlParser.RELAY_LOG_FILE: + case SqlParser.RELAY_LOG_POS: + case SqlParser.RELAYLOG: + case SqlParser.REMOVE: + case SqlParser.REORGANIZE: + case SqlParser.REPAIR: + case SqlParser.REPLICATE_DO_DB: + case SqlParser.REPLICATE_DO_TABLE: + case SqlParser.REPLICATE_IGNORE_DB: + case SqlParser.REPLICATE_IGNORE_TABLE: + case SqlParser.REPLICATE_REWRITE_DB: + case SqlParser.REPLICATE_WILD_DO_TABLE: + case SqlParser.REPLICATE_WILD_IGNORE_TABLE: + case SqlParser.REPLICATION: + case SqlParser.RESET: + case SqlParser.RESUME: + case SqlParser.RETURNED_SQLSTATE: + case SqlParser.RETURNS: + case SqlParser.ROLE: + case SqlParser.ROLLBACK: + case SqlParser.ROLLUP: + case SqlParser.ROTATE: + case SqlParser.ROW: + case SqlParser.ROWS: + case SqlParser.ROW_FORMAT: + case SqlParser.SAVEPOINT: + case SqlParser.SCHEDULE: + case SqlParser.SECURITY: + case SqlParser.SERVER: + case SqlParser.SESSION: + case SqlParser.SHARE: + case SqlParser.SHARED: + case SqlParser.SIGNED: + case SqlParser.SIMPLE: + case SqlParser.SLAVE: + case SqlParser.SLOW: + case SqlParser.SNAPSHOT: + case SqlParser.SOCKET: + case SqlParser.SOME: + case SqlParser.SONAME: + case SqlParser.SOUNDS: + case SqlParser.SOURCE: + case SqlParser.SQL_AFTER_GTIDS: + case SqlParser.SQL_AFTER_MTS_GAPS: + case SqlParser.SQL_BEFORE_GTIDS: + case SqlParser.SQL_BUFFER_RESULT: + case SqlParser.SQL_CACHE: + case SqlParser.SQL_NO_CACHE: + case SqlParser.SQL_THREAD: + case SqlParser.START: + case SqlParser.STARTS: + case SqlParser.STATS_AUTO_RECALC: + case SqlParser.STATS_PERSISTENT: + case SqlParser.STATS_SAMPLE_PAGES: + case SqlParser.STATUS: + case SqlParser.STOP: + case SqlParser.STORAGE: + case SqlParser.STRING: + case SqlParser.SUBCLASS_ORIGIN: + case SqlParser.SUBJECT: + case SqlParser.SUBPARTITION: + case SqlParser.SUBPARTITIONS: + case SqlParser.SUSPEND: + case SqlParser.SWAPS: + case SqlParser.SWITCHES: + case SqlParser.TABLE_NAME: + case SqlParser.TABLESPACE: + case SqlParser.TEMPORARY: + case SqlParser.TEMPTABLE: + case SqlParser.THAN: + case SqlParser.TRADITIONAL: + case SqlParser.TRANSACTION: + case SqlParser.TRANSACTIONAL: + case SqlParser.TRIGGERS: + case SqlParser.TRUNCATE: + case SqlParser.UNDEFINED: + case SqlParser.UNDOFILE: + case SqlParser.UNDO_BUFFER_SIZE: + case SqlParser.UNINSTALL: + case SqlParser.UNKNOWN: + case SqlParser.UNTIL: + case SqlParser.UPGRADE: + case SqlParser.USER: + case SqlParser.USE_FRM: + case SqlParser.USER_RESOURCES: + case SqlParser.VALIDATION: + case SqlParser.VALUE: + case SqlParser.VARIABLES: + case SqlParser.VIEW: + case SqlParser.VISIBLE: + case SqlParser.WAIT: + case SqlParser.WARNINGS: + case SqlParser.WITHOUT: + case SqlParser.WORK: + case SqlParser.WRAPPER: + case SqlParser.X509: + case SqlParser.XA: + case SqlParser.XML: + case SqlParser.INTERNAL: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.TABLES: + case SqlParser.ROUTINE: + case SqlParser.EXECUTE: + case SqlParser.FILE: + case SqlParser.PROCESS: + case SqlParser.RELOAD: + case SqlParser.SHUTDOWN: + case SqlParser.SUPER: + case SqlParser.PRIVILEGES: + case SqlParser.AUDIT_ADMIN: + case SqlParser.BACKUP_ADMIN: + case SqlParser.BINLOG_ADMIN: + case SqlParser.BINLOG_ENCRYPTION_ADMIN: + case SqlParser.CLONE_ADMIN: + case SqlParser.CONNECTION_ADMIN: + case SqlParser.ENCRYPTION_KEY_ADMIN: + case SqlParser.FIREWALL_ADMIN: + case SqlParser.FIREWALL_USER: + case SqlParser.GROUP_REPLICATION_ADMIN: + case SqlParser.INNODB_REDO_LOG_ARCHIVE: + case SqlParser.NDB_STORED_USER: + case SqlParser.PERSIST_RO_VARIABLES_ADMIN: + case SqlParser.REPLICATION_APPLIER: + case SqlParser.REPLICATION_SLAVE_ADMIN: + case SqlParser.RESOURCE_GROUP_ADMIN: + case SqlParser.RESOURCE_GROUP_USER: + case SqlParser.ROLE_ADMIN: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.SET_USER_ID: + case SqlParser.SHOW_ROUTINE: + case SqlParser.SYSTEM_VARIABLES_ADMIN: + case SqlParser.TABLE_ENCRYPTION_ADMIN: + case SqlParser.VERSION_TOKEN_ADMIN: + case SqlParser.XA_RECOVER_ADMIN: + case SqlParser.ARMSCII8: + case SqlParser.ASCII: + case SqlParser.BIG5: + case SqlParser.CP1250: + case SqlParser.CP1251: + case SqlParser.CP1256: + case SqlParser.CP1257: + case SqlParser.CP850: + case SqlParser.CP852: + case SqlParser.CP866: + case SqlParser.CP932: + case SqlParser.DEC8: + case SqlParser.EUCJPMS: + case SqlParser.EUCKR: + case SqlParser.GB2312: + case SqlParser.GBK: + case SqlParser.GEOSTD8: + case SqlParser.GREEK: + case SqlParser.HEBREW: + case SqlParser.HP8: + case SqlParser.KEYBCS2: + case SqlParser.KOI8R: + case SqlParser.KOI8U: + case SqlParser.LATIN1: + case SqlParser.LATIN2: + case SqlParser.LATIN5: + case SqlParser.LATIN7: + case SqlParser.MACCE: + case SqlParser.MACROMAN: + case SqlParser.SJIS: + case SqlParser.SWE7: + case SqlParser.TIS620: + case SqlParser.UCS2: + case SqlParser.UJIS: + case SqlParser.UTF16: + case SqlParser.UTF16LE: + case SqlParser.UTF32: + case SqlParser.UTF8: + case SqlParser.UTF8MB3: + case SqlParser.UTF8MB4: + case SqlParser.ARCHIVE: + case SqlParser.BLACKHOLE: + case SqlParser.CSV: + case SqlParser.FEDERATED: + case SqlParser.INNODB: + case SqlParser.MEMORY: + case SqlParser.MRG_MYISAM: + case SqlParser.MYISAM: + case SqlParser.NDB: + case SqlParser.NDBCLUSTER: + case SqlParser.PERFORMANCE_SCHEMA: + case SqlParser.TOKUDB: + case SqlParser.REPEATABLE: + case SqlParser.COMMITTED: + case SqlParser.UNCOMMITTED: + case SqlParser.SERIALIZABLE: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CATALOG_NAME: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SCHEMA_NAME: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + case SqlParser.PLUS: + case SqlParser.MINUS: + case SqlParser.EXCLAMATION_SYMBOL: + case SqlParser.BIT_NOT_OP: + case SqlParser.LR_BRACKET: + case SqlParser.ZERO_DECIMAL: + case SqlParser.ONE_DECIMAL: + case SqlParser.TWO_DECIMAL: + case SqlParser.CHARSET_REVERSE_QOUTE_STRING: + case SqlParser.START_NATIONAL_STRING_LITERAL: + case SqlParser.STRING_LITERAL: + case SqlParser.DECIMAL_LITERAL: + case SqlParser.HEXADECIMAL_LITERAL: + case SqlParser.REAL_LITERAL: + case SqlParser.NULL_SPEC_LITERAL: + case SqlParser.BIT_STRING: + case SqlParser.STRING_CHARSET_NAME: + case SqlParser.ID: + case SqlParser.REVERSE_QUOTE_ID: + case SqlParser.LOCAL_ID: + case SqlParser.GLOBAL_ID: + this.state = 6077; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALL) { + this.state = 6076; + localctx.aggregator = this.match(SqlParser.ALL); + } + + this.state = 6079; + this.functionArg(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6082; + this.match(SqlParser.RR_BRACKET); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 6083; + this.match(SqlParser.COUNT); + this.state = 6084; + this.match(SqlParser.LR_BRACKET); + this.state = 6085; + localctx.aggregator = this.match(SqlParser.DISTINCT); + this.state = 6086; + this.functionArgs(); + this.state = 6087; + this.match(SqlParser.RR_BRACKET); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 6089; + _la = this._input.LA(1); + if(!(((((_la - 236)) & ~0x1f) == 0 && ((1 << (_la - 236)) & ((1 << (SqlParser.BIT_AND - 236)) | (1 << (SqlParser.BIT_OR - 236)) | (1 << (SqlParser.BIT_XOR - 236)) | (1 << (SqlParser.STD - 236)) | (1 << (SqlParser.STDDEV - 236)) | (1 << (SqlParser.STDDEV_POP - 236)) | (1 << (SqlParser.STDDEV_SAMP - 236)) | (1 << (SqlParser.VAR_POP - 236)) | (1 << (SqlParser.VAR_SAMP - 236)) | (1 << (SqlParser.VARIANCE - 236)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6090; + this.match(SqlParser.LR_BRACKET); + this.state = 6092; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ALL) { + this.state = 6091; + localctx.aggregator = this.match(SqlParser.ALL); + } + + this.state = 6094; + this.functionArg(); + this.state = 6095; + this.match(SqlParser.RR_BRACKET); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 6097; + this.match(SqlParser.GROUP_CONCAT); + this.state = 6098; + this.match(SqlParser.LR_BRACKET); + this.state = 6100; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.DISTINCT) { + this.state = 6099; + localctx.aggregator = this.match(SqlParser.DISTINCT); + } + + this.state = 6102; + this.functionArgs(); + this.state = 6113; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.ORDER) { + this.state = 6103; + this.match(SqlParser.ORDER); + this.state = 6104; + this.match(SqlParser.BY); + this.state = 6105; + this.orderByExpression(); + this.state = 6110; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 6106; + this.match(SqlParser.COMMA); + this.state = 6107; + this.orderByExpression(); + this.state = 6112; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 6117; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.SEPARATOR) { + this.state = 6115; + this.match(SqlParser.SEPARATOR); + this.state = 6116; + localctx.separator = this.match(SqlParser.STRING_LITERAL); + } + + this.state = 6119; + this.match(SqlParser.RR_BRACKET); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ScalarFunctionNameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_scalarFunctionName; + return this; +} + +ScalarFunctionNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ScalarFunctionNameContext.prototype.constructor = ScalarFunctionNameContext; + +ScalarFunctionNameContext.prototype.functionNameBase = function() { + return this.getTypedRuleContext(FunctionNameBaseContext,0); +}; + +ScalarFunctionNameContext.prototype.ASCII = function() { + return this.getToken(SqlParser.ASCII, 0); +}; + +ScalarFunctionNameContext.prototype.CURDATE = function() { + return this.getToken(SqlParser.CURDATE, 0); +}; + +ScalarFunctionNameContext.prototype.CURRENT_DATE = function() { + return this.getToken(SqlParser.CURRENT_DATE, 0); +}; + +ScalarFunctionNameContext.prototype.CURRENT_TIME = function() { + return this.getToken(SqlParser.CURRENT_TIME, 0); +}; + +ScalarFunctionNameContext.prototype.CURRENT_TIMESTAMP = function() { + return this.getToken(SqlParser.CURRENT_TIMESTAMP, 0); +}; + +ScalarFunctionNameContext.prototype.CURTIME = function() { + return this.getToken(SqlParser.CURTIME, 0); +}; + +ScalarFunctionNameContext.prototype.DATE_ADD = function() { + return this.getToken(SqlParser.DATE_ADD, 0); +}; + +ScalarFunctionNameContext.prototype.DATE_SUB = function() { + return this.getToken(SqlParser.DATE_SUB, 0); +}; + +ScalarFunctionNameContext.prototype.IF = function() { + return this.getToken(SqlParser.IF, 0); +}; + +ScalarFunctionNameContext.prototype.INSERT = function() { + return this.getToken(SqlParser.INSERT, 0); +}; + +ScalarFunctionNameContext.prototype.LOCALTIME = function() { + return this.getToken(SqlParser.LOCALTIME, 0); +}; + +ScalarFunctionNameContext.prototype.LOCALTIMESTAMP = function() { + return this.getToken(SqlParser.LOCALTIMESTAMP, 0); +}; + +ScalarFunctionNameContext.prototype.MID = function() { + return this.getToken(SqlParser.MID, 0); +}; + +ScalarFunctionNameContext.prototype.NOW = function() { + return this.getToken(SqlParser.NOW, 0); +}; + +ScalarFunctionNameContext.prototype.REPLACE = function() { + return this.getToken(SqlParser.REPLACE, 0); +}; + +ScalarFunctionNameContext.prototype.SUBSTR = function() { + return this.getToken(SqlParser.SUBSTR, 0); +}; + +ScalarFunctionNameContext.prototype.SUBSTRING = function() { + return this.getToken(SqlParser.SUBSTRING, 0); +}; + +ScalarFunctionNameContext.prototype.SYSDATE = function() { + return this.getToken(SqlParser.SYSDATE, 0); +}; + +ScalarFunctionNameContext.prototype.TRIM = function() { + return this.getToken(SqlParser.TRIM, 0); +}; + +ScalarFunctionNameContext.prototype.UTC_DATE = function() { + return this.getToken(SqlParser.UTC_DATE, 0); +}; + +ScalarFunctionNameContext.prototype.UTC_TIME = function() { + return this.getToken(SqlParser.UTC_TIME, 0); +}; + +ScalarFunctionNameContext.prototype.UTC_TIMESTAMP = function() { + return this.getToken(SqlParser.UTC_TIMESTAMP, 0); +}; + +ScalarFunctionNameContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterScalarFunctionName(this); + } +}; + +ScalarFunctionNameContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitScalarFunctionName(this); + } +}; + +ScalarFunctionNameContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitScalarFunctionName(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ScalarFunctionNameContext = ScalarFunctionNameContext; + +SqlParser.prototype.scalarFunctionName = function() { + + var localctx = new ScalarFunctionNameContext(this, this._ctx, this.state); + this.enterRule(localctx, 594, SqlParser.RULE_scalarFunctionName); + try { + this.state = 6146; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.DATABASE: + case SqlParser.LEFT: + case SqlParser.RIGHT: + case SqlParser.DATE: + case SqlParser.TIME: + case SqlParser.TIMESTAMP: + case SqlParser.YEAR: + case SqlParser.JSON_VALID: + case SqlParser.JSON_SCHEMA_VALID: + case SqlParser.COUNT: + case SqlParser.POSITION: + case SqlParser.INVISIBLE: + case SqlParser.VISIBLE: + case SqlParser.QUARTER: + case SqlParser.MONTH: + case SqlParser.DAY: + case SqlParser.HOUR: + case SqlParser.MINUTE: + case SqlParser.WEEK: + case SqlParser.SECOND: + case SqlParser.MICROSECOND: + case SqlParser.SESSION_VARIABLES_ADMIN: + case SqlParser.GEOMETRYCOLLECTION: + case SqlParser.LINESTRING: + case SqlParser.MULTILINESTRING: + case SqlParser.MULTIPOINT: + case SqlParser.MULTIPOLYGON: + case SqlParser.POINT: + case SqlParser.POLYGON: + case SqlParser.ABS: + case SqlParser.ACOS: + case SqlParser.ADDDATE: + case SqlParser.ADDTIME: + case SqlParser.AES_DECRYPT: + case SqlParser.AES_ENCRYPT: + case SqlParser.AREA: + case SqlParser.ASBINARY: + case SqlParser.ASIN: + case SqlParser.ASTEXT: + case SqlParser.ASWKB: + case SqlParser.ASWKT: + case SqlParser.ASYMMETRIC_DECRYPT: + case SqlParser.ASYMMETRIC_DERIVE: + case SqlParser.ASYMMETRIC_ENCRYPT: + case SqlParser.ASYMMETRIC_SIGN: + case SqlParser.ASYMMETRIC_VERIFY: + case SqlParser.ATAN: + case SqlParser.ATAN2: + case SqlParser.BENCHMARK: + case SqlParser.BIN: + case SqlParser.BIT_COUNT: + case SqlParser.BIT_LENGTH: + case SqlParser.BUFFER: + case SqlParser.CEIL: + case SqlParser.CEILING: + case SqlParser.CENTROID: + case SqlParser.CHARACTER_LENGTH: + case SqlParser.CHARSET: + case SqlParser.CHAR_LENGTH: + case SqlParser.COERCIBILITY: + case SqlParser.COLLATION: + case SqlParser.COMPRESS: + case SqlParser.CONCAT: + case SqlParser.CONCAT_WS: + case SqlParser.CONNECTION_ID: + case SqlParser.CONV: + case SqlParser.CONVERT_TZ: + case SqlParser.COS: + case SqlParser.COT: + case SqlParser.CRC32: + case SqlParser.CREATE_ASYMMETRIC_PRIV_KEY: + case SqlParser.CREATE_ASYMMETRIC_PUB_KEY: + case SqlParser.CREATE_DH_PARAMETERS: + case SqlParser.CREATE_DIGEST: + case SqlParser.CROSSES: + case SqlParser.DATEDIFF: + case SqlParser.DATE_FORMAT: + case SqlParser.DAYNAME: + case SqlParser.DAYOFMONTH: + case SqlParser.DAYOFWEEK: + case SqlParser.DAYOFYEAR: + case SqlParser.DECODE: + case SqlParser.DEGREES: + case SqlParser.DES_DECRYPT: + case SqlParser.DES_ENCRYPT: + case SqlParser.DIMENSION: + case SqlParser.DISJOINT: + case SqlParser.ELT: + case SqlParser.ENCODE: + case SqlParser.ENCRYPT: + case SqlParser.ENDPOINT: + case SqlParser.ENVELOPE: + case SqlParser.EQUALS: + case SqlParser.EXP: + case SqlParser.EXPORT_SET: + case SqlParser.EXTERIORRING: + case SqlParser.EXTRACTVALUE: + case SqlParser.FIELD: + case SqlParser.FIND_IN_SET: + case SqlParser.FLOOR: + case SqlParser.FORMAT: + case SqlParser.FOUND_ROWS: + case SqlParser.FROM_BASE64: + case SqlParser.FROM_DAYS: + case SqlParser.FROM_UNIXTIME: + case SqlParser.GEOMCOLLFROMTEXT: + case SqlParser.GEOMCOLLFROMWKB: + case SqlParser.GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.GEOMETRYFROMTEXT: + case SqlParser.GEOMETRYFROMWKB: + case SqlParser.GEOMETRYN: + case SqlParser.GEOMETRYTYPE: + case SqlParser.GEOMFROMTEXT: + case SqlParser.GEOMFROMWKB: + case SqlParser.GET_FORMAT: + case SqlParser.GET_LOCK: + case SqlParser.GLENGTH: + case SqlParser.GREATEST: + case SqlParser.GTID_SUBSET: + case SqlParser.GTID_SUBTRACT: + case SqlParser.HEX: + case SqlParser.IFNULL: + case SqlParser.INET6_ATON: + case SqlParser.INET6_NTOA: + case SqlParser.INET_ATON: + case SqlParser.INET_NTOA: + case SqlParser.INSTR: + case SqlParser.INTERIORRINGN: + case SqlParser.INTERSECTS: + case SqlParser.ISCLOSED: + case SqlParser.ISEMPTY: + case SqlParser.ISNULL: + case SqlParser.ISSIMPLE: + case SqlParser.IS_FREE_LOCK: + case SqlParser.IS_IPV4: + case SqlParser.IS_IPV4_COMPAT: + case SqlParser.IS_IPV4_MAPPED: + case SqlParser.IS_IPV6: + case SqlParser.IS_USED_LOCK: + case SqlParser.LAST_INSERT_ID: + case SqlParser.LCASE: + case SqlParser.LEAST: + case SqlParser.LENGTH: + case SqlParser.LINEFROMTEXT: + case SqlParser.LINEFROMWKB: + case SqlParser.LINESTRINGFROMTEXT: + case SqlParser.LINESTRINGFROMWKB: + case SqlParser.LN: + case SqlParser.LOAD_FILE: + case SqlParser.LOCATE: + case SqlParser.LOG: + case SqlParser.LOG10: + case SqlParser.LOG2: + case SqlParser.LOWER: + case SqlParser.LPAD: + case SqlParser.LTRIM: + case SqlParser.MAKEDATE: + case SqlParser.MAKETIME: + case SqlParser.MAKE_SET: + case SqlParser.MASTER_POS_WAIT: + case SqlParser.MBRCONTAINS: + case SqlParser.MBRDISJOINT: + case SqlParser.MBREQUAL: + case SqlParser.MBRINTERSECTS: + case SqlParser.MBROVERLAPS: + case SqlParser.MBRTOUCHES: + case SqlParser.MBRWITHIN: + case SqlParser.MD5: + case SqlParser.MLINEFROMTEXT: + case SqlParser.MLINEFROMWKB: + case SqlParser.MONTHNAME: + case SqlParser.MPOINTFROMTEXT: + case SqlParser.MPOINTFROMWKB: + case SqlParser.MPOLYFROMTEXT: + case SqlParser.MPOLYFROMWKB: + case SqlParser.MULTILINESTRINGFROMTEXT: + case SqlParser.MULTILINESTRINGFROMWKB: + case SqlParser.MULTIPOINTFROMTEXT: + case SqlParser.MULTIPOINTFROMWKB: + case SqlParser.MULTIPOLYGONFROMTEXT: + case SqlParser.MULTIPOLYGONFROMWKB: + case SqlParser.NAME_CONST: + case SqlParser.NULLIF: + case SqlParser.NUMGEOMETRIES: + case SqlParser.NUMINTERIORRINGS: + case SqlParser.NUMPOINTS: + case SqlParser.OCT: + case SqlParser.OCTET_LENGTH: + case SqlParser.ORD: + case SqlParser.OVERLAPS: + case SqlParser.PERIOD_ADD: + case SqlParser.PERIOD_DIFF: + case SqlParser.PI: + case SqlParser.POINTFROMTEXT: + case SqlParser.POINTFROMWKB: + case SqlParser.POINTN: + case SqlParser.POLYFROMTEXT: + case SqlParser.POLYFROMWKB: + case SqlParser.POLYGONFROMTEXT: + case SqlParser.POLYGONFROMWKB: + case SqlParser.POW: + case SqlParser.POWER: + case SqlParser.QUOTE: + case SqlParser.RADIANS: + case SqlParser.RAND: + case SqlParser.RANDOM_BYTES: + case SqlParser.RELEASE_LOCK: + case SqlParser.REVERSE: + case SqlParser.ROUND: + case SqlParser.ROW_COUNT: + case SqlParser.RPAD: + case SqlParser.RTRIM: + case SqlParser.SEC_TO_TIME: + case SqlParser.SESSION_USER: + case SqlParser.SHA: + case SqlParser.SHA1: + case SqlParser.SHA2: + case SqlParser.SIGN: + case SqlParser.SIN: + case SqlParser.SLEEP: + case SqlParser.SOUNDEX: + case SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS: + case SqlParser.SQRT: + case SqlParser.SRID: + case SqlParser.STARTPOINT: + case SqlParser.STRCMP: + case SqlParser.STR_TO_DATE: + case SqlParser.ST_AREA: + case SqlParser.ST_ASBINARY: + case SqlParser.ST_ASTEXT: + case SqlParser.ST_ASWKB: + case SqlParser.ST_ASWKT: + case SqlParser.ST_BUFFER: + case SqlParser.ST_CENTROID: + case SqlParser.ST_CONTAINS: + case SqlParser.ST_CROSSES: + case SqlParser.ST_DIFFERENCE: + case SqlParser.ST_DIMENSION: + case SqlParser.ST_DISJOINT: + case SqlParser.ST_DISTANCE: + case SqlParser.ST_ENDPOINT: + case SqlParser.ST_ENVELOPE: + case SqlParser.ST_EQUALS: + case SqlParser.ST_EXTERIORRING: + case SqlParser.ST_GEOMCOLLFROMTEXT: + case SqlParser.ST_GEOMCOLLFROMTXT: + case SqlParser.ST_GEOMCOLLFROMWKB: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT: + case SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB: + case SqlParser.ST_GEOMETRYFROMTEXT: + case SqlParser.ST_GEOMETRYFROMWKB: + case SqlParser.ST_GEOMETRYN: + case SqlParser.ST_GEOMETRYTYPE: + case SqlParser.ST_GEOMFROMTEXT: + case SqlParser.ST_GEOMFROMWKB: + case SqlParser.ST_INTERIORRINGN: + case SqlParser.ST_INTERSECTION: + case SqlParser.ST_INTERSECTS: + case SqlParser.ST_ISCLOSED: + case SqlParser.ST_ISEMPTY: + case SqlParser.ST_ISSIMPLE: + case SqlParser.ST_LINEFROMTEXT: + case SqlParser.ST_LINEFROMWKB: + case SqlParser.ST_LINESTRINGFROMTEXT: + case SqlParser.ST_LINESTRINGFROMWKB: + case SqlParser.ST_NUMGEOMETRIES: + case SqlParser.ST_NUMINTERIORRING: + case SqlParser.ST_NUMINTERIORRINGS: + case SqlParser.ST_NUMPOINTS: + case SqlParser.ST_OVERLAPS: + case SqlParser.ST_POINTFROMTEXT: + case SqlParser.ST_POINTFROMWKB: + case SqlParser.ST_POINTN: + case SqlParser.ST_POLYFROMTEXT: + case SqlParser.ST_POLYFROMWKB: + case SqlParser.ST_POLYGONFROMTEXT: + case SqlParser.ST_POLYGONFROMWKB: + case SqlParser.ST_SRID: + case SqlParser.ST_STARTPOINT: + case SqlParser.ST_SYMDIFFERENCE: + case SqlParser.ST_TOUCHES: + case SqlParser.ST_UNION: + case SqlParser.ST_WITHIN: + case SqlParser.ST_X: + case SqlParser.ST_Y: + case SqlParser.SUBDATE: + case SqlParser.SUBSTRING_INDEX: + case SqlParser.SUBTIME: + case SqlParser.SYSTEM_USER: + case SqlParser.TAN: + case SqlParser.TIMEDIFF: + case SqlParser.TIMESTAMPADD: + case SqlParser.TIMESTAMPDIFF: + case SqlParser.TIME_FORMAT: + case SqlParser.TIME_TO_SEC: + case SqlParser.TOUCHES: + case SqlParser.TO_BASE64: + case SqlParser.TO_DAYS: + case SqlParser.TO_SECONDS: + case SqlParser.UCASE: + case SqlParser.UNCOMPRESS: + case SqlParser.UNCOMPRESSED_LENGTH: + case SqlParser.UNHEX: + case SqlParser.UNIX_TIMESTAMP: + case SqlParser.UPDATEXML: + case SqlParser.UPPER: + case SqlParser.UUID: + case SqlParser.UUID_SHORT: + case SqlParser.VALIDATE_PASSWORD_STRENGTH: + case SqlParser.VERSION: + case SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: + case SqlParser.WEEKDAY: + case SqlParser.WEEKOFYEAR: + case SqlParser.WEIGHT_STRING: + case SqlParser.WITHIN: + case SqlParser.YEARWEEK: + case SqlParser.Y_FUNCTION: + case SqlParser.X_FUNCTION: + this.enterOuterAlt(localctx, 1); + this.state = 6123; + this.functionNameBase(); + break; + case SqlParser.ASCII: + this.enterOuterAlt(localctx, 2); + this.state = 6124; + this.match(SqlParser.ASCII); + break; + case SqlParser.CURDATE: + this.enterOuterAlt(localctx, 3); + this.state = 6125; + this.match(SqlParser.CURDATE); + break; + case SqlParser.CURRENT_DATE: + this.enterOuterAlt(localctx, 4); + this.state = 6126; + this.match(SqlParser.CURRENT_DATE); + break; + case SqlParser.CURRENT_TIME: + this.enterOuterAlt(localctx, 5); + this.state = 6127; + this.match(SqlParser.CURRENT_TIME); + break; + case SqlParser.CURRENT_TIMESTAMP: + this.enterOuterAlt(localctx, 6); + this.state = 6128; + this.match(SqlParser.CURRENT_TIMESTAMP); + break; + case SqlParser.CURTIME: + this.enterOuterAlt(localctx, 7); + this.state = 6129; + this.match(SqlParser.CURTIME); + break; + case SqlParser.DATE_ADD: + this.enterOuterAlt(localctx, 8); + this.state = 6130; + this.match(SqlParser.DATE_ADD); + break; + case SqlParser.DATE_SUB: + this.enterOuterAlt(localctx, 9); + this.state = 6131; + this.match(SqlParser.DATE_SUB); + break; + case SqlParser.IF: + this.enterOuterAlt(localctx, 10); + this.state = 6132; + this.match(SqlParser.IF); + break; + case SqlParser.INSERT: + this.enterOuterAlt(localctx, 11); + this.state = 6133; + this.match(SqlParser.INSERT); + break; + case SqlParser.LOCALTIME: + this.enterOuterAlt(localctx, 12); + this.state = 6134; + this.match(SqlParser.LOCALTIME); + break; + case SqlParser.LOCALTIMESTAMP: + this.enterOuterAlt(localctx, 13); + this.state = 6135; + this.match(SqlParser.LOCALTIMESTAMP); + break; + case SqlParser.MID: + this.enterOuterAlt(localctx, 14); + this.state = 6136; + this.match(SqlParser.MID); + break; + case SqlParser.NOW: + this.enterOuterAlt(localctx, 15); + this.state = 6137; + this.match(SqlParser.NOW); + break; + case SqlParser.REPLACE: + this.enterOuterAlt(localctx, 16); + this.state = 6138; + this.match(SqlParser.REPLACE); + break; + case SqlParser.SUBSTR: + this.enterOuterAlt(localctx, 17); + this.state = 6139; + this.match(SqlParser.SUBSTR); + break; + case SqlParser.SUBSTRING: + this.enterOuterAlt(localctx, 18); + this.state = 6140; + this.match(SqlParser.SUBSTRING); + break; + case SqlParser.SYSDATE: + this.enterOuterAlt(localctx, 19); + this.state = 6141; + this.match(SqlParser.SYSDATE); + break; + case SqlParser.TRIM: + this.enterOuterAlt(localctx, 20); + this.state = 6142; + this.match(SqlParser.TRIM); + break; + case SqlParser.UTC_DATE: + this.enterOuterAlt(localctx, 21); + this.state = 6143; + this.match(SqlParser.UTC_DATE); + break; + case SqlParser.UTC_TIME: + this.enterOuterAlt(localctx, 22); + this.state = 6144; + this.match(SqlParser.UTC_TIME); + break; + case SqlParser.UTC_TIMESTAMP: + this.enterOuterAlt(localctx, 23); + this.state = 6145; + this.match(SqlParser.UTC_TIMESTAMP); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PasswordFunctionClauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_passwordFunctionClause; + this.functionName = null; // Token + return this; +} + +PasswordFunctionClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PasswordFunctionClauseContext.prototype.constructor = PasswordFunctionClauseContext; + +PasswordFunctionClauseContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +PasswordFunctionClauseContext.prototype.functionArg = function() { + return this.getTypedRuleContext(FunctionArgContext,0); +}; + +PasswordFunctionClauseContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +PasswordFunctionClauseContext.prototype.PASSWORD = function() { + return this.getToken(SqlParser.PASSWORD, 0); +}; + +PasswordFunctionClauseContext.prototype.OLD_PASSWORD = function() { + return this.getToken(SqlParser.OLD_PASSWORD, 0); +}; + +PasswordFunctionClauseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPasswordFunctionClause(this); + } +}; + +PasswordFunctionClauseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPasswordFunctionClause(this); + } +}; + +PasswordFunctionClauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPasswordFunctionClause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PasswordFunctionClauseContext = PasswordFunctionClauseContext; + +SqlParser.prototype.passwordFunctionClause = function() { + + var localctx = new PasswordFunctionClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 596, SqlParser.RULE_passwordFunctionClause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6148; + localctx.functionName = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.OLD_PASSWORD || _la===SqlParser.PASSWORD)) { + localctx.functionName = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6149; + this.match(SqlParser.LR_BRACKET); + this.state = 6150; + this.functionArg(); + this.state = 6151; + this.match(SqlParser.RR_BRACKET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FunctionArgsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_functionArgs; + return this; +} + +FunctionArgsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FunctionArgsContext.prototype.constructor = FunctionArgsContext; + +FunctionArgsContext.prototype.constant = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ConstantContext); + } else { + return this.getTypedRuleContext(ConstantContext,i); + } +}; + +FunctionArgsContext.prototype.fullColumnName = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FullColumnNameContext); + } else { + return this.getTypedRuleContext(FullColumnNameContext,i); + } +}; + +FunctionArgsContext.prototype.functionCall = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FunctionCallContext); + } else { + return this.getTypedRuleContext(FunctionCallContext,i); + } +}; + +FunctionArgsContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +FunctionArgsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + + +FunctionArgsContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFunctionArgs(this); + } +}; + +FunctionArgsContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFunctionArgs(this); + } +}; + +FunctionArgsContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFunctionArgs(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FunctionArgsContext = FunctionArgsContext; + +SqlParser.prototype.functionArgs = function() { + + var localctx = new FunctionArgsContext(this, this._ctx, this.state); + this.enterRule(localctx, 598, SqlParser.RULE_functionArgs); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6157; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,904,this._ctx); + switch(la_) { + case 1: + this.state = 6153; + this.constant(); + break; + + case 2: + this.state = 6154; + this.fullColumnName(); + break; + + case 3: + this.state = 6155; + this.functionCall(); + break; + + case 4: + this.state = 6156; + this.expression(0); + break; + + } + this.state = 6168; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 6159; + this.match(SqlParser.COMMA); + this.state = 6164; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,905,this._ctx); + switch(la_) { + case 1: + this.state = 6160; + this.constant(); + break; + + case 2: + this.state = 6161; + this.fullColumnName(); + break; + + case 3: + this.state = 6162; + this.functionCall(); + break; + + case 4: + this.state = 6163; + this.expression(0); + break; + + } + this.state = 6170; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FunctionArgContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_functionArg; + return this; +} + +FunctionArgContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FunctionArgContext.prototype.constructor = FunctionArgContext; + +FunctionArgContext.prototype.constant = function() { + return this.getTypedRuleContext(ConstantContext,0); +}; + +FunctionArgContext.prototype.fullColumnName = function() { + return this.getTypedRuleContext(FullColumnNameContext,0); +}; + +FunctionArgContext.prototype.functionCall = function() { + return this.getTypedRuleContext(FunctionCallContext,0); +}; + +FunctionArgContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +FunctionArgContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFunctionArg(this); + } +}; + +FunctionArgContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFunctionArg(this); + } +}; + +FunctionArgContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFunctionArg(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FunctionArgContext = FunctionArgContext; + +SqlParser.prototype.functionArg = function() { + + var localctx = new FunctionArgContext(this, this._ctx, this.state); + this.enterRule(localctx, 600, SqlParser.RULE_functionArg); + try { + this.state = 6175; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,907,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 6171; + this.constant(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 6172; + this.fullColumnName(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 6173; + this.functionCall(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 6174; + this.expression(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ExpressionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_expression; + return this; +} + +ExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ExpressionContext.prototype.constructor = ExpressionContext; + + + +ExpressionContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + +function IsExpressionContext(parser, ctx) { + ExpressionContext.call(this, parser); + this.testValue = null; // Token; + ExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +IsExpressionContext.prototype = Object.create(ExpressionContext.prototype); +IsExpressionContext.prototype.constructor = IsExpressionContext; + +SqlParser.IsExpressionContext = IsExpressionContext; + +IsExpressionContext.prototype.predicate = function() { + return this.getTypedRuleContext(PredicateContext,0); +}; + +IsExpressionContext.prototype.IS = function() { + return this.getToken(SqlParser.IS, 0); +}; + +IsExpressionContext.prototype.TRUE = function() { + return this.getToken(SqlParser.TRUE, 0); +}; + +IsExpressionContext.prototype.FALSE = function() { + return this.getToken(SqlParser.FALSE, 0); +}; + +IsExpressionContext.prototype.UNKNOWN = function() { + return this.getToken(SqlParser.UNKNOWN, 0); +}; + +IsExpressionContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; +IsExpressionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIsExpression(this); + } +}; + +IsExpressionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIsExpression(this); + } +}; + +IsExpressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIsExpression(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function NotExpressionContext(parser, ctx) { + ExpressionContext.call(this, parser); + this.notOperator = null; // Token; + ExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +NotExpressionContext.prototype = Object.create(ExpressionContext.prototype); +NotExpressionContext.prototype.constructor = NotExpressionContext; + +SqlParser.NotExpressionContext = NotExpressionContext; + +NotExpressionContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +NotExpressionContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +NotExpressionContext.prototype.EXCLAMATION_SYMBOL = function() { + return this.getToken(SqlParser.EXCLAMATION_SYMBOL, 0); +}; +NotExpressionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterNotExpression(this); + } +}; + +NotExpressionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitNotExpression(this); + } +}; + +NotExpressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitNotExpression(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function LogicalExpressionContext(parser, ctx) { + ExpressionContext.call(this, parser); + ExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +LogicalExpressionContext.prototype = Object.create(ExpressionContext.prototype); +LogicalExpressionContext.prototype.constructor = LogicalExpressionContext; + +SqlParser.LogicalExpressionContext = LogicalExpressionContext; + +LogicalExpressionContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +LogicalExpressionContext.prototype.logicalOperator = function() { + return this.getTypedRuleContext(LogicalOperatorContext,0); +}; +LogicalExpressionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLogicalExpression(this); + } +}; + +LogicalExpressionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLogicalExpression(this); + } +}; + +LogicalExpressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLogicalExpression(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function PredicateExpressionContext(parser, ctx) { + ExpressionContext.call(this, parser); + ExpressionContext.prototype.copyFrom.call(this, ctx); + return this; +} + +PredicateExpressionContext.prototype = Object.create(ExpressionContext.prototype); +PredicateExpressionContext.prototype.constructor = PredicateExpressionContext; + +SqlParser.PredicateExpressionContext = PredicateExpressionContext; + +PredicateExpressionContext.prototype.predicate = function() { + return this.getTypedRuleContext(PredicateContext,0); +}; +PredicateExpressionContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPredicateExpression(this); + } +}; + +PredicateExpressionContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPredicateExpression(this); + } +}; + +PredicateExpressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPredicateExpression(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.prototype.expression = function(_p) { + if(_p===undefined) { + _p = 0; + } + var _parentctx = this._ctx; + var _parentState = this.state; + var localctx = new ExpressionContext(this, this._ctx, _parentState); + var _prevctx = localctx; + var _startState = 602; + this.enterRecursionRule(localctx, 602, SqlParser.RULE_expression, _p); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6188; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,909,this._ctx); + switch(la_) { + case 1: + localctx = new NotExpressionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 6178; + localctx.notOperator = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.NOT || _la===SqlParser.EXCLAMATION_SYMBOL)) { + localctx.notOperator = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6179; + this.expression(4); + break; + + case 2: + localctx = new IsExpressionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6180; + this.predicate(0); + this.state = 6181; + this.match(SqlParser.IS); + this.state = 6183; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 6182; + this.match(SqlParser.NOT); + } + + this.state = 6185; + localctx.testValue = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.FALSE || _la===SqlParser.TRUE || _la===SqlParser.UNKNOWN)) { + localctx.testValue = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 3: + localctx = new PredicateExpressionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6187; + this.predicate(0); + break; + + } + this._ctx.stop = this._input.LT(-1); + this.state = 6196; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,910,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + if(this._parseListeners!==null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + localctx = new LogicalExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_expression); + this.state = 6190; + if (!( this.precpred(this._ctx, 3))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); + } + this.state = 6191; + this.logicalOperator(); + this.state = 6192; + this.expression(4); + } + this.state = 6198; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,910,this._ctx); + } + + } catch( error) { + if(error instanceof antlr4.error.RecognitionException) { + localctx.exception = error; + this._errHandler.reportError(this, error); + this._errHandler.recover(this, error); + } else { + throw error; + } + } finally { + this.unrollRecursionContexts(_parentctx) + } + return localctx; +}; + + +function PredicateContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_predicate; + return this; +} + +PredicateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PredicateContext.prototype.constructor = PredicateContext; + + + +PredicateContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + +function SoundsLikePredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SoundsLikePredicateContext.prototype = Object.create(PredicateContext.prototype); +SoundsLikePredicateContext.prototype.constructor = SoundsLikePredicateContext; + +SqlParser.SoundsLikePredicateContext = SoundsLikePredicateContext; + +SoundsLikePredicateContext.prototype.predicate = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PredicateContext); + } else { + return this.getTypedRuleContext(PredicateContext,i); + } +}; + +SoundsLikePredicateContext.prototype.SOUNDS = function() { + return this.getToken(SqlParser.SOUNDS, 0); +}; + +SoundsLikePredicateContext.prototype.LIKE = function() { + return this.getToken(SqlParser.LIKE, 0); +}; +SoundsLikePredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSoundsLikePredicate(this); + } +}; + +SoundsLikePredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSoundsLikePredicate(this); + } +}; + +SoundsLikePredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSoundsLikePredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ExpressionAtomPredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ExpressionAtomPredicateContext.prototype = Object.create(PredicateContext.prototype); +ExpressionAtomPredicateContext.prototype.constructor = ExpressionAtomPredicateContext; + +SqlParser.ExpressionAtomPredicateContext = ExpressionAtomPredicateContext; + +ExpressionAtomPredicateContext.prototype.expressionAtom = function() { + return this.getTypedRuleContext(ExpressionAtomContext,0); +}; + +ExpressionAtomPredicateContext.prototype.LOCAL_ID = function() { + return this.getToken(SqlParser.LOCAL_ID, 0); +}; + +ExpressionAtomPredicateContext.prototype.VAR_ASSIGN = function() { + return this.getToken(SqlParser.VAR_ASSIGN, 0); +}; +ExpressionAtomPredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterExpressionAtomPredicate(this); + } +}; + +ExpressionAtomPredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitExpressionAtomPredicate(this); + } +}; + +ExpressionAtomPredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitExpressionAtomPredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function InPredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +InPredicateContext.prototype = Object.create(PredicateContext.prototype); +InPredicateContext.prototype.constructor = InPredicateContext; + +SqlParser.InPredicateContext = InPredicateContext; + +InPredicateContext.prototype.predicate = function() { + return this.getTypedRuleContext(PredicateContext,0); +}; + +InPredicateContext.prototype.IN = function() { + return this.getToken(SqlParser.IN, 0); +}; + +InPredicateContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +InPredicateContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +InPredicateContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +InPredicateContext.prototype.expressions = function() { + return this.getTypedRuleContext(ExpressionsContext,0); +}; + +InPredicateContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; +InPredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterInPredicate(this); + } +}; + +InPredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitInPredicate(this); + } +}; + +InPredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitInPredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SubqueryComparasionPredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + this.quantifier = null; // Token; + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SubqueryComparasionPredicateContext.prototype = Object.create(PredicateContext.prototype); +SubqueryComparasionPredicateContext.prototype.constructor = SubqueryComparasionPredicateContext; + +SqlParser.SubqueryComparasionPredicateContext = SubqueryComparasionPredicateContext; + +SubqueryComparasionPredicateContext.prototype.predicate = function() { + return this.getTypedRuleContext(PredicateContext,0); +}; + +SubqueryComparasionPredicateContext.prototype.comparisonOperator = function() { + return this.getTypedRuleContext(ComparisonOperatorContext,0); +}; + +SubqueryComparasionPredicateContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +SubqueryComparasionPredicateContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +SubqueryComparasionPredicateContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +SubqueryComparasionPredicateContext.prototype.ALL = function() { + return this.getToken(SqlParser.ALL, 0); +}; + +SubqueryComparasionPredicateContext.prototype.ANY = function() { + return this.getToken(SqlParser.ANY, 0); +}; + +SubqueryComparasionPredicateContext.prototype.SOME = function() { + return this.getToken(SqlParser.SOME, 0); +}; +SubqueryComparasionPredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSubqueryComparasionPredicate(this); + } +}; + +SubqueryComparasionPredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSubqueryComparasionPredicate(this); + } +}; + +SubqueryComparasionPredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSubqueryComparasionPredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function BetweenPredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +BetweenPredicateContext.prototype = Object.create(PredicateContext.prototype); +BetweenPredicateContext.prototype.constructor = BetweenPredicateContext; + +SqlParser.BetweenPredicateContext = BetweenPredicateContext; + +BetweenPredicateContext.prototype.predicate = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PredicateContext); + } else { + return this.getTypedRuleContext(PredicateContext,i); + } +}; + +BetweenPredicateContext.prototype.BETWEEN = function() { + return this.getToken(SqlParser.BETWEEN, 0); +}; + +BetweenPredicateContext.prototype.AND = function() { + return this.getToken(SqlParser.AND, 0); +}; + +BetweenPredicateContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; +BetweenPredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBetweenPredicate(this); + } +}; + +BetweenPredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBetweenPredicate(this); + } +}; + +BetweenPredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBetweenPredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function BinaryComparasionPredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + this.left = null; // PredicateContext; + this.right = null; // PredicateContext; + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +BinaryComparasionPredicateContext.prototype = Object.create(PredicateContext.prototype); +BinaryComparasionPredicateContext.prototype.constructor = BinaryComparasionPredicateContext; + +SqlParser.BinaryComparasionPredicateContext = BinaryComparasionPredicateContext; + +BinaryComparasionPredicateContext.prototype.comparisonOperator = function() { + return this.getTypedRuleContext(ComparisonOperatorContext,0); +}; + +BinaryComparasionPredicateContext.prototype.predicate = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PredicateContext); + } else { + return this.getTypedRuleContext(PredicateContext,i); + } +}; +BinaryComparasionPredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBinaryComparasionPredicate(this); + } +}; + +BinaryComparasionPredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBinaryComparasionPredicate(this); + } +}; + +BinaryComparasionPredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBinaryComparasionPredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function IsNullPredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +IsNullPredicateContext.prototype = Object.create(PredicateContext.prototype); +IsNullPredicateContext.prototype.constructor = IsNullPredicateContext; + +SqlParser.IsNullPredicateContext = IsNullPredicateContext; + +IsNullPredicateContext.prototype.predicate = function() { + return this.getTypedRuleContext(PredicateContext,0); +}; + +IsNullPredicateContext.prototype.IS = function() { + return this.getToken(SqlParser.IS, 0); +}; + +IsNullPredicateContext.prototype.nullNotnull = function() { + return this.getTypedRuleContext(NullNotnullContext,0); +}; +IsNullPredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIsNullPredicate(this); + } +}; + +IsNullPredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIsNullPredicate(this); + } +}; + +IsNullPredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIsNullPredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function LikePredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +LikePredicateContext.prototype = Object.create(PredicateContext.prototype); +LikePredicateContext.prototype.constructor = LikePredicateContext; + +SqlParser.LikePredicateContext = LikePredicateContext; + +LikePredicateContext.prototype.predicate = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PredicateContext); + } else { + return this.getTypedRuleContext(PredicateContext,i); + } +}; + +LikePredicateContext.prototype.LIKE = function() { + return this.getToken(SqlParser.LIKE, 0); +}; + +LikePredicateContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +LikePredicateContext.prototype.ESCAPE = function() { + return this.getToken(SqlParser.ESCAPE, 0); +}; + +LikePredicateContext.prototype.STRING_LITERAL = function() { + return this.getToken(SqlParser.STRING_LITERAL, 0); +}; +LikePredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLikePredicate(this); + } +}; + +LikePredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLikePredicate(this); + } +}; + +LikePredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLikePredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function RegexpPredicateContext(parser, ctx) { + PredicateContext.call(this, parser); + this.regex = null; // Token; + PredicateContext.prototype.copyFrom.call(this, ctx); + return this; +} + +RegexpPredicateContext.prototype = Object.create(PredicateContext.prototype); +RegexpPredicateContext.prototype.constructor = RegexpPredicateContext; + +SqlParser.RegexpPredicateContext = RegexpPredicateContext; + +RegexpPredicateContext.prototype.predicate = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(PredicateContext); + } else { + return this.getTypedRuleContext(PredicateContext,i); + } +}; + +RegexpPredicateContext.prototype.REGEXP = function() { + return this.getToken(SqlParser.REGEXP, 0); +}; + +RegexpPredicateContext.prototype.RLIKE = function() { + return this.getToken(SqlParser.RLIKE, 0); +}; + +RegexpPredicateContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; +RegexpPredicateContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterRegexpPredicate(this); + } +}; + +RegexpPredicateContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitRegexpPredicate(this); + } +}; + +RegexpPredicateContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitRegexpPredicate(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.prototype.predicate = function(_p) { + if(_p===undefined) { + _p = 0; + } + var _parentctx = this._ctx; + var _parentState = this.state; + var localctx = new PredicateContext(this, this._ctx, _parentState); + var _prevctx = localctx; + var _startState = 604; + this.enterRecursionRule(localctx, 604, SqlParser.RULE_predicate, _p); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + localctx = new ExpressionAtomPredicateContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 6202; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,911,this._ctx); + if(la_===1) { + this.state = 6200; + this.match(SqlParser.LOCAL_ID); + this.state = 6201; + this.match(SqlParser.VAR_ASSIGN); + + } + this.state = 6204; + this.expressionAtom(0); + this._ctx.stop = this._input.LT(-1); + this.state = 6263; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,919,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + if(this._parseListeners!==null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + this.state = 6261; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,918,this._ctx); + switch(la_) { + case 1: + localctx = new BinaryComparasionPredicateContext(this, new PredicateContext(this, _parentctx, _parentState)); + localctx.left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_predicate); + this.state = 6206; + if (!( this.precpred(this._ctx, 7))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 7)"); + } + this.state = 6207; + this.comparisonOperator(); + this.state = 6208; + localctx.right = this.predicate(8); + break; + + case 2: + localctx = new BetweenPredicateContext(this, new PredicateContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_predicate); + this.state = 6210; + if (!( this.precpred(this._ctx, 5))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 5)"); + } + this.state = 6212; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 6211; + this.match(SqlParser.NOT); + } + + this.state = 6214; + this.match(SqlParser.BETWEEN); + this.state = 6215; + this.predicate(0); + this.state = 6216; + this.match(SqlParser.AND); + this.state = 6217; + this.predicate(6); + break; + + case 3: + localctx = new SoundsLikePredicateContext(this, new PredicateContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_predicate); + this.state = 6219; + if (!( this.precpred(this._ctx, 4))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 4)"); + } + this.state = 6220; + this.match(SqlParser.SOUNDS); + this.state = 6221; + this.match(SqlParser.LIKE); + this.state = 6222; + this.predicate(5); + break; + + case 4: + localctx = new RegexpPredicateContext(this, new PredicateContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_predicate); + this.state = 6223; + if (!( this.precpred(this._ctx, 2))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); + } + this.state = 6225; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 6224; + this.match(SqlParser.NOT); + } + + this.state = 6227; + localctx.regex = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.REGEXP || _la===SqlParser.RLIKE)) { + localctx.regex = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6228; + this.predicate(3); + break; + + case 5: + localctx = new InPredicateContext(this, new PredicateContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_predicate); + this.state = 6229; + if (!( this.precpred(this._ctx, 9))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 9)"); + } + this.state = 6231; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 6230; + this.match(SqlParser.NOT); + } + + this.state = 6233; + this.match(SqlParser.IN); + this.state = 6234; + this.match(SqlParser.LR_BRACKET); + this.state = 6237; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,915,this._ctx); + switch(la_) { + case 1: + this.state = 6235; + this.selectStatement(); + break; + + case 2: + this.state = 6236; + this.expressions(); + break; + + } + this.state = 6239; + this.match(SqlParser.RR_BRACKET); + break; + + case 6: + localctx = new IsNullPredicateContext(this, new PredicateContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_predicate); + this.state = 6241; + if (!( this.precpred(this._ctx, 8))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 8)"); + } + this.state = 6242; + this.match(SqlParser.IS); + this.state = 6243; + this.nullNotnull(); + break; + + case 7: + localctx = new SubqueryComparasionPredicateContext(this, new PredicateContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_predicate); + this.state = 6244; + if (!( this.precpred(this._ctx, 6))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 6)"); + } + this.state = 6245; + this.comparisonOperator(); + this.state = 6246; + localctx.quantifier = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===SqlParser.ALL || _la===SqlParser.ANY || _la===SqlParser.SOME)) { + localctx.quantifier = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6247; + this.match(SqlParser.LR_BRACKET); + this.state = 6248; + this.selectStatement(); + this.state = 6249; + this.match(SqlParser.RR_BRACKET); + break; + + case 8: + localctx = new LikePredicateContext(this, new PredicateContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_predicate); + this.state = 6251; + if (!( this.precpred(this._ctx, 3))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); + } + this.state = 6253; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===SqlParser.NOT) { + this.state = 6252; + this.match(SqlParser.NOT); + } + + this.state = 6255; + this.match(SqlParser.LIKE); + this.state = 6256; + this.predicate(0); + this.state = 6259; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,917,this._ctx); + if(la_===1) { + this.state = 6257; + this.match(SqlParser.ESCAPE); + this.state = 6258; + this.match(SqlParser.STRING_LITERAL); + + } + break; + + } + } + this.state = 6265; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,919,this._ctx); + } + + } catch( error) { + if(error instanceof antlr4.error.RecognitionException) { + localctx.exception = error; + this._errHandler.reportError(this, error); + this._errHandler.recover(this, error); + } else { + throw error; + } + } finally { + this.unrollRecursionContexts(_parentctx) + } + return localctx; +}; + + +function ExpressionAtomContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_expressionAtom; + return this; +} + +ExpressionAtomContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ExpressionAtomContext.prototype.constructor = ExpressionAtomContext; + + + +ExpressionAtomContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + +function UnaryExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +UnaryExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +UnaryExpressionAtomContext.prototype.constructor = UnaryExpressionAtomContext; + +SqlParser.UnaryExpressionAtomContext = UnaryExpressionAtomContext; + +UnaryExpressionAtomContext.prototype.unaryOperator = function() { + return this.getTypedRuleContext(UnaryOperatorContext,0); +}; + +UnaryExpressionAtomContext.prototype.expressionAtom = function() { + return this.getTypedRuleContext(ExpressionAtomContext,0); +}; +UnaryExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUnaryExpressionAtom(this); + } +}; + +UnaryExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUnaryExpressionAtom(this); + } +}; + +UnaryExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUnaryExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function CollateExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +CollateExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +CollateExpressionAtomContext.prototype.constructor = CollateExpressionAtomContext; + +SqlParser.CollateExpressionAtomContext = CollateExpressionAtomContext; + +CollateExpressionAtomContext.prototype.expressionAtom = function() { + return this.getTypedRuleContext(ExpressionAtomContext,0); +}; + +CollateExpressionAtomContext.prototype.COLLATE = function() { + return this.getToken(SqlParser.COLLATE, 0); +}; + +CollateExpressionAtomContext.prototype.collationName = function() { + return this.getTypedRuleContext(CollationNameContext,0); +}; +CollateExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCollateExpressionAtom(this); + } +}; + +CollateExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCollateExpressionAtom(this); + } +}; + +CollateExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCollateExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function SubqueryExpessionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +SubqueryExpessionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +SubqueryExpessionAtomContext.prototype.constructor = SubqueryExpessionAtomContext; + +SqlParser.SubqueryExpessionAtomContext = SubqueryExpessionAtomContext; + +SubqueryExpessionAtomContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +SubqueryExpessionAtomContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +SubqueryExpessionAtomContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +SubqueryExpessionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterSubqueryExpessionAtom(this); + } +}; + +SubqueryExpessionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitSubqueryExpessionAtom(this); + } +}; + +SubqueryExpessionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitSubqueryExpessionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function MysqlVariableExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +MysqlVariableExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +MysqlVariableExpressionAtomContext.prototype.constructor = MysqlVariableExpressionAtomContext; + +SqlParser.MysqlVariableExpressionAtomContext = MysqlVariableExpressionAtomContext; + +MysqlVariableExpressionAtomContext.prototype.mysqlVariable = function() { + return this.getTypedRuleContext(MysqlVariableContext,0); +}; +MysqlVariableExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMysqlVariableExpressionAtom(this); + } +}; + +MysqlVariableExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMysqlVariableExpressionAtom(this); + } +}; + +MysqlVariableExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMysqlVariableExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function NestedExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +NestedExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +NestedExpressionAtomContext.prototype.constructor = NestedExpressionAtomContext; + +SqlParser.NestedExpressionAtomContext = NestedExpressionAtomContext; + +NestedExpressionAtomContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +NestedExpressionAtomContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +NestedExpressionAtomContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +NestedExpressionAtomContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +NestedExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterNestedExpressionAtom(this); + } +}; + +NestedExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitNestedExpressionAtom(this); + } +}; + +NestedExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitNestedExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function NestedRowExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +NestedRowExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +NestedRowExpressionAtomContext.prototype.constructor = NestedRowExpressionAtomContext; + +SqlParser.NestedRowExpressionAtomContext = NestedRowExpressionAtomContext; + +NestedRowExpressionAtomContext.prototype.ROW = function() { + return this.getToken(SqlParser.ROW, 0); +}; + +NestedRowExpressionAtomContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +NestedRowExpressionAtomContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +NestedRowExpressionAtomContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; + +NestedRowExpressionAtomContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.COMMA); + } else { + return this.getToken(SqlParser.COMMA, i); + } +}; + +NestedRowExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterNestedRowExpressionAtom(this); + } +}; + +NestedRowExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitNestedRowExpressionAtom(this); + } +}; + +NestedRowExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitNestedRowExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function MathExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + this.left = null; // ExpressionAtomContext; + this.right = null; // ExpressionAtomContext; + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +MathExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +MathExpressionAtomContext.prototype.constructor = MathExpressionAtomContext; + +SqlParser.MathExpressionAtomContext = MathExpressionAtomContext; + +MathExpressionAtomContext.prototype.mathOperator = function() { + return this.getTypedRuleContext(MathOperatorContext,0); +}; + +MathExpressionAtomContext.prototype.expressionAtom = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionAtomContext); + } else { + return this.getTypedRuleContext(ExpressionAtomContext,i); + } +}; +MathExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMathExpressionAtom(this); + } +}; + +MathExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMathExpressionAtom(this); + } +}; + +MathExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMathExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function IntervalExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +IntervalExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +IntervalExpressionAtomContext.prototype.constructor = IntervalExpressionAtomContext; + +SqlParser.IntervalExpressionAtomContext = IntervalExpressionAtomContext; + +IntervalExpressionAtomContext.prototype.INTERVAL = function() { + return this.getToken(SqlParser.INTERVAL, 0); +}; + +IntervalExpressionAtomContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +IntervalExpressionAtomContext.prototype.intervalType = function() { + return this.getTypedRuleContext(IntervalTypeContext,0); +}; +IntervalExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIntervalExpressionAtom(this); + } +}; + +IntervalExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIntervalExpressionAtom(this); + } +}; + +IntervalExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIntervalExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ExistsExpessionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ExistsExpessionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +ExistsExpessionAtomContext.prototype.constructor = ExistsExpessionAtomContext; + +SqlParser.ExistsExpessionAtomContext = ExistsExpessionAtomContext; + +ExistsExpessionAtomContext.prototype.EXISTS = function() { + return this.getToken(SqlParser.EXISTS, 0); +}; + +ExistsExpessionAtomContext.prototype.LR_BRACKET = function() { + return this.getToken(SqlParser.LR_BRACKET, 0); +}; + +ExistsExpessionAtomContext.prototype.selectStatement = function() { + return this.getTypedRuleContext(SelectStatementContext,0); +}; + +ExistsExpessionAtomContext.prototype.RR_BRACKET = function() { + return this.getToken(SqlParser.RR_BRACKET, 0); +}; +ExistsExpessionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterExistsExpessionAtom(this); + } +}; + +ExistsExpessionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitExistsExpessionAtom(this); + } +}; + +ExistsExpessionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitExistsExpessionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function ConstantExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +ConstantExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +ConstantExpressionAtomContext.prototype.constructor = ConstantExpressionAtomContext; + +SqlParser.ConstantExpressionAtomContext = ConstantExpressionAtomContext; + +ConstantExpressionAtomContext.prototype.constant = function() { + return this.getTypedRuleContext(ConstantContext,0); +}; +ConstantExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterConstantExpressionAtom(this); + } +}; + +ConstantExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitConstantExpressionAtom(this); + } +}; + +ConstantExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitConstantExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function FunctionCallExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +FunctionCallExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +FunctionCallExpressionAtomContext.prototype.constructor = FunctionCallExpressionAtomContext; + +SqlParser.FunctionCallExpressionAtomContext = FunctionCallExpressionAtomContext; + +FunctionCallExpressionAtomContext.prototype.functionCall = function() { + return this.getTypedRuleContext(FunctionCallContext,0); +}; +FunctionCallExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFunctionCallExpressionAtom(this); + } +}; + +FunctionCallExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFunctionCallExpressionAtom(this); + } +}; + +FunctionCallExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFunctionCallExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function BinaryExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +BinaryExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +BinaryExpressionAtomContext.prototype.constructor = BinaryExpressionAtomContext; + +SqlParser.BinaryExpressionAtomContext = BinaryExpressionAtomContext; + +BinaryExpressionAtomContext.prototype.BINARY = function() { + return this.getToken(SqlParser.BINARY, 0); +}; + +BinaryExpressionAtomContext.prototype.expressionAtom = function() { + return this.getTypedRuleContext(ExpressionAtomContext,0); +}; +BinaryExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBinaryExpressionAtom(this); + } +}; + +BinaryExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBinaryExpressionAtom(this); + } +}; + +BinaryExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBinaryExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function FullColumnNameExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +FullColumnNameExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +FullColumnNameExpressionAtomContext.prototype.constructor = FullColumnNameExpressionAtomContext; + +SqlParser.FullColumnNameExpressionAtomContext = FullColumnNameExpressionAtomContext; + +FullColumnNameExpressionAtomContext.prototype.fullColumnName = function() { + return this.getTypedRuleContext(FullColumnNameContext,0); +}; +FullColumnNameExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFullColumnNameExpressionAtom(this); + } +}; + +FullColumnNameExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFullColumnNameExpressionAtom(this); + } +}; + +FullColumnNameExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFullColumnNameExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function BitExpressionAtomContext(parser, ctx) { + ExpressionAtomContext.call(this, parser); + this.left = null; // ExpressionAtomContext; + this.right = null; // ExpressionAtomContext; + ExpressionAtomContext.prototype.copyFrom.call(this, ctx); + return this; +} + +BitExpressionAtomContext.prototype = Object.create(ExpressionAtomContext.prototype); +BitExpressionAtomContext.prototype.constructor = BitExpressionAtomContext; + +SqlParser.BitExpressionAtomContext = BitExpressionAtomContext; + +BitExpressionAtomContext.prototype.bitOperator = function() { + return this.getTypedRuleContext(BitOperatorContext,0); +}; + +BitExpressionAtomContext.prototype.expressionAtom = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionAtomContext); + } else { + return this.getTypedRuleContext(ExpressionAtomContext,i); + } +}; +BitExpressionAtomContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBitExpressionAtom(this); + } +}; + +BitExpressionAtomContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBitExpressionAtom(this); + } +}; + +BitExpressionAtomContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBitExpressionAtom(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +SqlParser.prototype.expressionAtom = function(_p) { + if(_p===undefined) { + _p = 0; + } + var _parentctx = this._ctx; + var _parentState = this.state; + var localctx = new ExpressionAtomContext(this, this._ctx, _parentState); + var _prevctx = localctx; + var _startState = 606; + this.enterRecursionRule(localctx, 606, SqlParser.RULE_expressionAtom, _p); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6311; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,922,this._ctx); + switch(la_) { + case 1: + localctx = new ConstantExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 6267; + this.constant(); + break; + + case 2: + localctx = new FullColumnNameExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6268; + this.fullColumnName(); + break; + + case 3: + localctx = new FunctionCallExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6269; + this.functionCall(); + break; + + case 4: + localctx = new MysqlVariableExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6270; + this.mysqlVariable(); + break; + + case 5: + localctx = new UnaryExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6271; + this.unaryOperator(); + this.state = 6272; + this.expressionAtom(9); + break; + + case 6: + localctx = new BinaryExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6274; + this.match(SqlParser.BINARY); + this.state = 6275; + this.expressionAtom(8); + break; + + case 7: + localctx = new NestedExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6276; + this.match(SqlParser.LR_BRACKET); + this.state = 6277; + this.expression(0); + this.state = 6282; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===SqlParser.COMMA) { + this.state = 6278; + this.match(SqlParser.COMMA); + this.state = 6279; + this.expression(0); + this.state = 6284; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6285; + this.match(SqlParser.RR_BRACKET); + break; + + case 8: + localctx = new NestedRowExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6287; + this.match(SqlParser.ROW); + this.state = 6288; + this.match(SqlParser.LR_BRACKET); + this.state = 6289; + this.expression(0); + this.state = 6292; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6290; + this.match(SqlParser.COMMA); + this.state = 6291; + this.expression(0); + this.state = 6294; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===SqlParser.COMMA); + this.state = 6296; + this.match(SqlParser.RR_BRACKET); + break; + + case 9: + localctx = new ExistsExpessionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6298; + this.match(SqlParser.EXISTS); + this.state = 6299; + this.match(SqlParser.LR_BRACKET); + this.state = 6300; + this.selectStatement(); + this.state = 6301; + this.match(SqlParser.RR_BRACKET); + break; + + case 10: + localctx = new SubqueryExpessionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6303; + this.match(SqlParser.LR_BRACKET); + this.state = 6304; + this.selectStatement(); + this.state = 6305; + this.match(SqlParser.RR_BRACKET); + break; + + case 11: + localctx = new IntervalExpressionAtomContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 6307; + this.match(SqlParser.INTERVAL); + this.state = 6308; + this.expression(0); + this.state = 6309; + this.intervalType(); + break; + + } + this._ctx.stop = this._input.LT(-1); + this.state = 6326; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,924,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + if(this._parseListeners!==null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + this.state = 6324; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,923,this._ctx); + switch(la_) { + case 1: + localctx = new BitExpressionAtomContext(this, new ExpressionAtomContext(this, _parentctx, _parentState)); + localctx.left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_expressionAtom); + this.state = 6313; + if (!( this.precpred(this._ctx, 2))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); + } + this.state = 6314; + this.bitOperator(); + this.state = 6315; + localctx.right = this.expressionAtom(3); + break; + + case 2: + localctx = new MathExpressionAtomContext(this, new ExpressionAtomContext(this, _parentctx, _parentState)); + localctx.left = _prevctx; + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_expressionAtom); + this.state = 6317; + if (!( this.precpred(this._ctx, 1))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)"); + } + this.state = 6318; + this.mathOperator(); + this.state = 6319; + localctx.right = this.expressionAtom(2); + break; + + case 3: + localctx = new CollateExpressionAtomContext(this, new ExpressionAtomContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, SqlParser.RULE_expressionAtom); + this.state = 6321; + if (!( this.precpred(this._ctx, 11))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 11)"); + } + this.state = 6322; + this.match(SqlParser.COLLATE); + this.state = 6323; + this.collationName(); + break; + + } + } + this.state = 6328; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,924,this._ctx); + } + + } catch( error) { + if(error instanceof antlr4.error.RecognitionException) { + localctx.exception = error; + this._errHandler.reportError(this, error); + this._errHandler.recover(this, error); + } else { + throw error; + } + } finally { + this.unrollRecursionContexts(_parentctx) + } + return localctx; +}; + + +function UnaryOperatorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_unaryOperator; + return this; +} + +UnaryOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +UnaryOperatorContext.prototype.constructor = UnaryOperatorContext; + +UnaryOperatorContext.prototype.EXCLAMATION_SYMBOL = function() { + return this.getToken(SqlParser.EXCLAMATION_SYMBOL, 0); +}; + +UnaryOperatorContext.prototype.BIT_NOT_OP = function() { + return this.getToken(SqlParser.BIT_NOT_OP, 0); +}; + +UnaryOperatorContext.prototype.PLUS = function() { + return this.getToken(SqlParser.PLUS, 0); +}; + +UnaryOperatorContext.prototype.MINUS = function() { + return this.getToken(SqlParser.MINUS, 0); +}; + +UnaryOperatorContext.prototype.NOT = function() { + return this.getToken(SqlParser.NOT, 0); +}; + +UnaryOperatorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterUnaryOperator(this); + } +}; + +UnaryOperatorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitUnaryOperator(this); + } +}; + +UnaryOperatorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitUnaryOperator(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.UnaryOperatorContext = UnaryOperatorContext; + +SqlParser.prototype.unaryOperator = function() { + + var localctx = new UnaryOperatorContext(this, this._ctx, this.state); + this.enterRule(localctx, 608, SqlParser.RULE_unaryOperator); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6329; + _la = this._input.LA(1); + if(!(_la===SqlParser.NOT || ((((_la - 1006)) & ~0x1f) == 0 && ((1 << (_la - 1006)) & ((1 << (SqlParser.PLUS - 1006)) | (1 << (SqlParser.MINUS - 1006)) | (1 << (SqlParser.EXCLAMATION_SYMBOL - 1006)) | (1 << (SqlParser.BIT_NOT_OP - 1006)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ComparisonOperatorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_comparisonOperator; + return this; +} + +ComparisonOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ComparisonOperatorContext.prototype.constructor = ComparisonOperatorContext; + +ComparisonOperatorContext.prototype.EQUAL_SYMBOL = function() { + return this.getToken(SqlParser.EQUAL_SYMBOL, 0); +}; + +ComparisonOperatorContext.prototype.GREATER_SYMBOL = function() { + return this.getToken(SqlParser.GREATER_SYMBOL, 0); +}; + +ComparisonOperatorContext.prototype.LESS_SYMBOL = function() { + return this.getToken(SqlParser.LESS_SYMBOL, 0); +}; + +ComparisonOperatorContext.prototype.EXCLAMATION_SYMBOL = function() { + return this.getToken(SqlParser.EXCLAMATION_SYMBOL, 0); +}; + +ComparisonOperatorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterComparisonOperator(this); + } +}; + +ComparisonOperatorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitComparisonOperator(this); + } +}; + +ComparisonOperatorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitComparisonOperator(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.ComparisonOperatorContext = ComparisonOperatorContext; + +SqlParser.prototype.comparisonOperator = function() { + + var localctx = new ComparisonOperatorContext(this, this._ctx, this.state); + this.enterRule(localctx, 610, SqlParser.RULE_comparisonOperator); + try { + this.state = 6345; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,925,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 6331; + this.match(SqlParser.EQUAL_SYMBOL); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 6332; + this.match(SqlParser.GREATER_SYMBOL); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 6333; + this.match(SqlParser.LESS_SYMBOL); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 6334; + this.match(SqlParser.LESS_SYMBOL); + this.state = 6335; + this.match(SqlParser.EQUAL_SYMBOL); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 6336; + this.match(SqlParser.GREATER_SYMBOL); + this.state = 6337; + this.match(SqlParser.EQUAL_SYMBOL); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 6338; + this.match(SqlParser.LESS_SYMBOL); + this.state = 6339; + this.match(SqlParser.GREATER_SYMBOL); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 6340; + this.match(SqlParser.EXCLAMATION_SYMBOL); + this.state = 6341; + this.match(SqlParser.EQUAL_SYMBOL); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 6342; + this.match(SqlParser.LESS_SYMBOL); + this.state = 6343; + this.match(SqlParser.EQUAL_SYMBOL); + this.state = 6344; + this.match(SqlParser.GREATER_SYMBOL); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LogicalOperatorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_logicalOperator; + return this; +} + +LogicalOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LogicalOperatorContext.prototype.constructor = LogicalOperatorContext; + +LogicalOperatorContext.prototype.AND = function() { + return this.getToken(SqlParser.AND, 0); +}; + +LogicalOperatorContext.prototype.BIT_AND_OP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.BIT_AND_OP); + } else { + return this.getToken(SqlParser.BIT_AND_OP, i); + } +}; + + +LogicalOperatorContext.prototype.XOR = function() { + return this.getToken(SqlParser.XOR, 0); +}; + +LogicalOperatorContext.prototype.OR = function() { + return this.getToken(SqlParser.OR, 0); +}; + +LogicalOperatorContext.prototype.BIT_OR_OP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.BIT_OR_OP); + } else { + return this.getToken(SqlParser.BIT_OR_OP, i); + } +}; + + +LogicalOperatorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterLogicalOperator(this); + } +}; + +LogicalOperatorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitLogicalOperator(this); + } +}; + +LogicalOperatorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitLogicalOperator(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.LogicalOperatorContext = LogicalOperatorContext; + +SqlParser.prototype.logicalOperator = function() { + + var localctx = new LogicalOperatorContext(this, this._ctx, this.state); + this.enterRule(localctx, 612, SqlParser.RULE_logicalOperator); + try { + this.state = 6354; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.AND: + this.enterOuterAlt(localctx, 1); + this.state = 6347; + this.match(SqlParser.AND); + break; + case SqlParser.BIT_AND_OP: + this.enterOuterAlt(localctx, 2); + this.state = 6348; + this.match(SqlParser.BIT_AND_OP); + this.state = 6349; + this.match(SqlParser.BIT_AND_OP); + break; + case SqlParser.XOR: + this.enterOuterAlt(localctx, 3); + this.state = 6350; + this.match(SqlParser.XOR); + break; + case SqlParser.OR: + this.enterOuterAlt(localctx, 4); + this.state = 6351; + this.match(SqlParser.OR); + break; + case SqlParser.BIT_OR_OP: + this.enterOuterAlt(localctx, 5); + this.state = 6352; + this.match(SqlParser.BIT_OR_OP); + this.state = 6353; + this.match(SqlParser.BIT_OR_OP); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function BitOperatorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_bitOperator; + return this; +} + +BitOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +BitOperatorContext.prototype.constructor = BitOperatorContext; + +BitOperatorContext.prototype.LESS_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.LESS_SYMBOL); + } else { + return this.getToken(SqlParser.LESS_SYMBOL, i); + } +}; + + +BitOperatorContext.prototype.GREATER_SYMBOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(SqlParser.GREATER_SYMBOL); + } else { + return this.getToken(SqlParser.GREATER_SYMBOL, i); + } +}; + + +BitOperatorContext.prototype.BIT_AND_OP = function() { + return this.getToken(SqlParser.BIT_AND_OP, 0); +}; + +BitOperatorContext.prototype.BIT_XOR_OP = function() { + return this.getToken(SqlParser.BIT_XOR_OP, 0); +}; + +BitOperatorContext.prototype.BIT_OR_OP = function() { + return this.getToken(SqlParser.BIT_OR_OP, 0); +}; + +BitOperatorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterBitOperator(this); + } +}; + +BitOperatorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitBitOperator(this); + } +}; + +BitOperatorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitBitOperator(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.BitOperatorContext = BitOperatorContext; + +SqlParser.prototype.bitOperator = function() { + + var localctx = new BitOperatorContext(this, this._ctx, this.state); + this.enterRule(localctx, 614, SqlParser.RULE_bitOperator); + try { + this.state = 6363; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case SqlParser.LESS_SYMBOL: + this.enterOuterAlt(localctx, 1); + this.state = 6356; + this.match(SqlParser.LESS_SYMBOL); + this.state = 6357; + this.match(SqlParser.LESS_SYMBOL); + break; + case SqlParser.GREATER_SYMBOL: + this.enterOuterAlt(localctx, 2); + this.state = 6358; + this.match(SqlParser.GREATER_SYMBOL); + this.state = 6359; + this.match(SqlParser.GREATER_SYMBOL); + break; + case SqlParser.BIT_AND_OP: + this.enterOuterAlt(localctx, 3); + this.state = 6360; + this.match(SqlParser.BIT_AND_OP); + break; + case SqlParser.BIT_XOR_OP: + this.enterOuterAlt(localctx, 4); + this.state = 6361; + this.match(SqlParser.BIT_XOR_OP); + break; + case SqlParser.BIT_OR_OP: + this.enterOuterAlt(localctx, 5); + this.state = 6362; + this.match(SqlParser.BIT_OR_OP); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function MathOperatorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_mathOperator; + return this; +} + +MathOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +MathOperatorContext.prototype.constructor = MathOperatorContext; + +MathOperatorContext.prototype.STAR = function() { + return this.getToken(SqlParser.STAR, 0); +}; + +MathOperatorContext.prototype.DIVIDE = function() { + return this.getToken(SqlParser.DIVIDE, 0); +}; + +MathOperatorContext.prototype.MODULE = function() { + return this.getToken(SqlParser.MODULE, 0); +}; + +MathOperatorContext.prototype.DIV = function() { + return this.getToken(SqlParser.DIV, 0); +}; + +MathOperatorContext.prototype.MOD = function() { + return this.getToken(SqlParser.MOD, 0); +}; + +MathOperatorContext.prototype.PLUS = function() { + return this.getToken(SqlParser.PLUS, 0); +}; + +MathOperatorContext.prototype.MINUS = function() { + return this.getToken(SqlParser.MINUS, 0); +}; + +MathOperatorContext.prototype.MINUSMINUS = function() { + return this.getToken(SqlParser.MINUSMINUS, 0); +}; + +MathOperatorContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterMathOperator(this); + } +}; + +MathOperatorContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitMathOperator(this); + } +}; + +MathOperatorContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitMathOperator(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.MathOperatorContext = MathOperatorContext; + +SqlParser.prototype.mathOperator = function() { + + var localctx = new MathOperatorContext(this, this._ctx, this.state); + this.enterRule(localctx, 616, SqlParser.RULE_mathOperator); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6365; + _la = this._input.LA(1); + if(!(((((_la - 1003)) & ~0x1f) == 0 && ((1 << (_la - 1003)) & ((1 << (SqlParser.STAR - 1003)) | (1 << (SqlParser.DIVIDE - 1003)) | (1 << (SqlParser.MODULE - 1003)) | (1 << (SqlParser.PLUS - 1003)) | (1 << (SqlParser.MINUSMINUS - 1003)) | (1 << (SqlParser.MINUS - 1003)) | (1 << (SqlParser.DIV - 1003)) | (1 << (SqlParser.MOD - 1003)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function CharsetNameBaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_charsetNameBase; + return this; +} + +CharsetNameBaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +CharsetNameBaseContext.prototype.constructor = CharsetNameBaseContext; + +CharsetNameBaseContext.prototype.ARMSCII8 = function() { + return this.getToken(SqlParser.ARMSCII8, 0); +}; + +CharsetNameBaseContext.prototype.ASCII = function() { + return this.getToken(SqlParser.ASCII, 0); +}; + +CharsetNameBaseContext.prototype.BIG5 = function() { + return this.getToken(SqlParser.BIG5, 0); +}; + +CharsetNameBaseContext.prototype.CP1250 = function() { + return this.getToken(SqlParser.CP1250, 0); +}; + +CharsetNameBaseContext.prototype.CP1251 = function() { + return this.getToken(SqlParser.CP1251, 0); +}; + +CharsetNameBaseContext.prototype.CP1256 = function() { + return this.getToken(SqlParser.CP1256, 0); +}; + +CharsetNameBaseContext.prototype.CP1257 = function() { + return this.getToken(SqlParser.CP1257, 0); +}; + +CharsetNameBaseContext.prototype.CP850 = function() { + return this.getToken(SqlParser.CP850, 0); +}; + +CharsetNameBaseContext.prototype.CP852 = function() { + return this.getToken(SqlParser.CP852, 0); +}; + +CharsetNameBaseContext.prototype.CP866 = function() { + return this.getToken(SqlParser.CP866, 0); +}; + +CharsetNameBaseContext.prototype.CP932 = function() { + return this.getToken(SqlParser.CP932, 0); +}; + +CharsetNameBaseContext.prototype.DEC8 = function() { + return this.getToken(SqlParser.DEC8, 0); +}; + +CharsetNameBaseContext.prototype.EUCJPMS = function() { + return this.getToken(SqlParser.EUCJPMS, 0); +}; + +CharsetNameBaseContext.prototype.EUCKR = function() { + return this.getToken(SqlParser.EUCKR, 0); +}; + +CharsetNameBaseContext.prototype.GB2312 = function() { + return this.getToken(SqlParser.GB2312, 0); +}; + +CharsetNameBaseContext.prototype.GBK = function() { + return this.getToken(SqlParser.GBK, 0); +}; + +CharsetNameBaseContext.prototype.GEOSTD8 = function() { + return this.getToken(SqlParser.GEOSTD8, 0); +}; + +CharsetNameBaseContext.prototype.GREEK = function() { + return this.getToken(SqlParser.GREEK, 0); +}; + +CharsetNameBaseContext.prototype.HEBREW = function() { + return this.getToken(SqlParser.HEBREW, 0); +}; + +CharsetNameBaseContext.prototype.HP8 = function() { + return this.getToken(SqlParser.HP8, 0); +}; + +CharsetNameBaseContext.prototype.KEYBCS2 = function() { + return this.getToken(SqlParser.KEYBCS2, 0); +}; + +CharsetNameBaseContext.prototype.KOI8R = function() { + return this.getToken(SqlParser.KOI8R, 0); +}; + +CharsetNameBaseContext.prototype.KOI8U = function() { + return this.getToken(SqlParser.KOI8U, 0); +}; + +CharsetNameBaseContext.prototype.LATIN1 = function() { + return this.getToken(SqlParser.LATIN1, 0); +}; + +CharsetNameBaseContext.prototype.LATIN2 = function() { + return this.getToken(SqlParser.LATIN2, 0); +}; + +CharsetNameBaseContext.prototype.LATIN5 = function() { + return this.getToken(SqlParser.LATIN5, 0); +}; + +CharsetNameBaseContext.prototype.LATIN7 = function() { + return this.getToken(SqlParser.LATIN7, 0); +}; + +CharsetNameBaseContext.prototype.MACCE = function() { + return this.getToken(SqlParser.MACCE, 0); +}; + +CharsetNameBaseContext.prototype.MACROMAN = function() { + return this.getToken(SqlParser.MACROMAN, 0); +}; + +CharsetNameBaseContext.prototype.SJIS = function() { + return this.getToken(SqlParser.SJIS, 0); +}; + +CharsetNameBaseContext.prototype.SWE7 = function() { + return this.getToken(SqlParser.SWE7, 0); +}; + +CharsetNameBaseContext.prototype.TIS620 = function() { + return this.getToken(SqlParser.TIS620, 0); +}; + +CharsetNameBaseContext.prototype.UCS2 = function() { + return this.getToken(SqlParser.UCS2, 0); +}; + +CharsetNameBaseContext.prototype.UJIS = function() { + return this.getToken(SqlParser.UJIS, 0); +}; + +CharsetNameBaseContext.prototype.UTF16 = function() { + return this.getToken(SqlParser.UTF16, 0); +}; + +CharsetNameBaseContext.prototype.UTF16LE = function() { + return this.getToken(SqlParser.UTF16LE, 0); +}; + +CharsetNameBaseContext.prototype.UTF32 = function() { + return this.getToken(SqlParser.UTF32, 0); +}; + +CharsetNameBaseContext.prototype.UTF8 = function() { + return this.getToken(SqlParser.UTF8, 0); +}; + +CharsetNameBaseContext.prototype.UTF8MB3 = function() { + return this.getToken(SqlParser.UTF8MB3, 0); +}; + +CharsetNameBaseContext.prototype.UTF8MB4 = function() { + return this.getToken(SqlParser.UTF8MB4, 0); +}; + +CharsetNameBaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterCharsetNameBase(this); + } +}; + +CharsetNameBaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitCharsetNameBase(this); + } +}; + +CharsetNameBaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitCharsetNameBase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.CharsetNameBaseContext = CharsetNameBaseContext; + +SqlParser.prototype.charsetNameBase = function() { + + var localctx = new CharsetNameBaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 618, SqlParser.RULE_charsetNameBase); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6367; + _la = this._input.LA(1); + if(!(((((_la - 637)) & ~0x1f) == 0 && ((1 << (_la - 637)) & ((1 << (SqlParser.ARMSCII8 - 637)) | (1 << (SqlParser.ASCII - 637)) | (1 << (SqlParser.BIG5 - 637)) | (1 << (SqlParser.CP1250 - 637)) | (1 << (SqlParser.CP1251 - 637)) | (1 << (SqlParser.CP1256 - 637)) | (1 << (SqlParser.CP1257 - 637)) | (1 << (SqlParser.CP850 - 637)) | (1 << (SqlParser.CP852 - 637)) | (1 << (SqlParser.CP866 - 637)) | (1 << (SqlParser.CP932 - 637)) | (1 << (SqlParser.DEC8 - 637)) | (1 << (SqlParser.EUCJPMS - 637)) | (1 << (SqlParser.EUCKR - 637)) | (1 << (SqlParser.GB2312 - 637)) | (1 << (SqlParser.GBK - 637)) | (1 << (SqlParser.GEOSTD8 - 637)) | (1 << (SqlParser.GREEK - 637)) | (1 << (SqlParser.HEBREW - 637)) | (1 << (SqlParser.HP8 - 637)) | (1 << (SqlParser.KEYBCS2 - 637)) | (1 << (SqlParser.KOI8R - 637)) | (1 << (SqlParser.KOI8U - 637)) | (1 << (SqlParser.LATIN1 - 637)) | (1 << (SqlParser.LATIN2 - 637)) | (1 << (SqlParser.LATIN5 - 637)) | (1 << (SqlParser.LATIN7 - 637)) | (1 << (SqlParser.MACCE - 637)) | (1 << (SqlParser.MACROMAN - 637)) | (1 << (SqlParser.SJIS - 637)) | (1 << (SqlParser.SWE7 - 637)) | (1 << (SqlParser.TIS620 - 637)))) !== 0) || ((((_la - 669)) & ~0x1f) == 0 && ((1 << (_la - 669)) & ((1 << (SqlParser.UCS2 - 669)) | (1 << (SqlParser.UJIS - 669)) | (1 << (SqlParser.UTF16 - 669)) | (1 << (SqlParser.UTF16LE - 669)) | (1 << (SqlParser.UTF32 - 669)) | (1 << (SqlParser.UTF8 - 669)) | (1 << (SqlParser.UTF8MB3 - 669)) | (1 << (SqlParser.UTF8MB4 - 669)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function TransactionLevelBaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_transactionLevelBase; + return this; +} + +TransactionLevelBaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +TransactionLevelBaseContext.prototype.constructor = TransactionLevelBaseContext; + +TransactionLevelBaseContext.prototype.REPEATABLE = function() { + return this.getToken(SqlParser.REPEATABLE, 0); +}; + +TransactionLevelBaseContext.prototype.COMMITTED = function() { + return this.getToken(SqlParser.COMMITTED, 0); +}; + +TransactionLevelBaseContext.prototype.UNCOMMITTED = function() { + return this.getToken(SqlParser.UNCOMMITTED, 0); +}; + +TransactionLevelBaseContext.prototype.SERIALIZABLE = function() { + return this.getToken(SqlParser.SERIALIZABLE, 0); +}; + +TransactionLevelBaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterTransactionLevelBase(this); + } +}; + +TransactionLevelBaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitTransactionLevelBase(this); + } +}; + +TransactionLevelBaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitTransactionLevelBase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.TransactionLevelBaseContext = TransactionLevelBaseContext; + +SqlParser.prototype.transactionLevelBase = function() { + + var localctx = new TransactionLevelBaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 620, SqlParser.RULE_transactionLevelBase); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6369; + _la = this._input.LA(1); + if(!(((((_la - 689)) & ~0x1f) == 0 && ((1 << (_la - 689)) & ((1 << (SqlParser.REPEATABLE - 689)) | (1 << (SqlParser.COMMITTED - 689)) | (1 << (SqlParser.UNCOMMITTED - 689)) | (1 << (SqlParser.SERIALIZABLE - 689)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function PrivilegesBaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_privilegesBase; + return this; +} + +PrivilegesBaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +PrivilegesBaseContext.prototype.constructor = PrivilegesBaseContext; + +PrivilegesBaseContext.prototype.TABLES = function() { + return this.getToken(SqlParser.TABLES, 0); +}; + +PrivilegesBaseContext.prototype.ROUTINE = function() { + return this.getToken(SqlParser.ROUTINE, 0); +}; + +PrivilegesBaseContext.prototype.EXECUTE = function() { + return this.getToken(SqlParser.EXECUTE, 0); +}; + +PrivilegesBaseContext.prototype.FILE = function() { + return this.getToken(SqlParser.FILE, 0); +}; + +PrivilegesBaseContext.prototype.PROCESS = function() { + return this.getToken(SqlParser.PROCESS, 0); +}; + +PrivilegesBaseContext.prototype.RELOAD = function() { + return this.getToken(SqlParser.RELOAD, 0); +}; + +PrivilegesBaseContext.prototype.SHUTDOWN = function() { + return this.getToken(SqlParser.SHUTDOWN, 0); +}; + +PrivilegesBaseContext.prototype.SUPER = function() { + return this.getToken(SqlParser.SUPER, 0); +}; + +PrivilegesBaseContext.prototype.PRIVILEGES = function() { + return this.getToken(SqlParser.PRIVILEGES, 0); +}; + +PrivilegesBaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterPrivilegesBase(this); + } +}; + +PrivilegesBaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitPrivilegesBase(this); + } +}; + +PrivilegesBaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitPrivilegesBase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.PrivilegesBaseContext = PrivilegesBaseContext; + +SqlParser.prototype.privilegesBase = function() { + + var localctx = new PrivilegesBaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 622, SqlParser.RULE_privilegesBase); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6371; + _la = this._input.LA(1); + if(!(((((_la - 602)) & ~0x1f) == 0 && ((1 << (_la - 602)) & ((1 << (SqlParser.TABLES - 602)) | (1 << (SqlParser.ROUTINE - 602)) | (1 << (SqlParser.EXECUTE - 602)) | (1 << (SqlParser.FILE - 602)) | (1 << (SqlParser.PROCESS - 602)) | (1 << (SqlParser.RELOAD - 602)) | (1 << (SqlParser.SHUTDOWN - 602)) | (1 << (SqlParser.SUPER - 602)) | (1 << (SqlParser.PRIVILEGES - 602)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IntervalTypeBaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_intervalTypeBase; + return this; +} + +IntervalTypeBaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IntervalTypeBaseContext.prototype.constructor = IntervalTypeBaseContext; + +IntervalTypeBaseContext.prototype.QUARTER = function() { + return this.getToken(SqlParser.QUARTER, 0); +}; + +IntervalTypeBaseContext.prototype.MONTH = function() { + return this.getToken(SqlParser.MONTH, 0); +}; + +IntervalTypeBaseContext.prototype.DAY = function() { + return this.getToken(SqlParser.DAY, 0); +}; + +IntervalTypeBaseContext.prototype.HOUR = function() { + return this.getToken(SqlParser.HOUR, 0); +}; + +IntervalTypeBaseContext.prototype.MINUTE = function() { + return this.getToken(SqlParser.MINUTE, 0); +}; + +IntervalTypeBaseContext.prototype.WEEK = function() { + return this.getToken(SqlParser.WEEK, 0); +}; + +IntervalTypeBaseContext.prototype.SECOND = function() { + return this.getToken(SqlParser.SECOND, 0); +}; + +IntervalTypeBaseContext.prototype.MICROSECOND = function() { + return this.getToken(SqlParser.MICROSECOND, 0); +}; + +IntervalTypeBaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterIntervalTypeBase(this); + } +}; + +IntervalTypeBaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitIntervalTypeBase(this); + } +}; + +IntervalTypeBaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitIntervalTypeBase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.IntervalTypeBaseContext = IntervalTypeBaseContext; + +SqlParser.prototype.intervalTypeBase = function() { + + var localctx = new IntervalTypeBaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 624, SqlParser.RULE_intervalTypeBase); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6373; + _la = this._input.LA(1); + if(!(((((_la - 594)) & ~0x1f) == 0 && ((1 << (_la - 594)) & ((1 << (SqlParser.QUARTER - 594)) | (1 << (SqlParser.MONTH - 594)) | (1 << (SqlParser.DAY - 594)) | (1 << (SqlParser.HOUR - 594)) | (1 << (SqlParser.MINUTE - 594)) | (1 << (SqlParser.WEEK - 594)) | (1 << (SqlParser.SECOND - 594)) | (1 << (SqlParser.MICROSECOND - 594)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DataTypeBaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_dataTypeBase; + return this; +} + +DataTypeBaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DataTypeBaseContext.prototype.constructor = DataTypeBaseContext; + +DataTypeBaseContext.prototype.DATE = function() { + return this.getToken(SqlParser.DATE, 0); +}; + +DataTypeBaseContext.prototype.TIME = function() { + return this.getToken(SqlParser.TIME, 0); +}; + +DataTypeBaseContext.prototype.TIMESTAMP = function() { + return this.getToken(SqlParser.TIMESTAMP, 0); +}; + +DataTypeBaseContext.prototype.DATETIME = function() { + return this.getToken(SqlParser.DATETIME, 0); +}; + +DataTypeBaseContext.prototype.YEAR = function() { + return this.getToken(SqlParser.YEAR, 0); +}; + +DataTypeBaseContext.prototype.ENUM = function() { + return this.getToken(SqlParser.ENUM, 0); +}; + +DataTypeBaseContext.prototype.TEXT = function() { + return this.getToken(SqlParser.TEXT, 0); +}; + +DataTypeBaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterDataTypeBase(this); + } +}; + +DataTypeBaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitDataTypeBase(this); + } +}; + +DataTypeBaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitDataTypeBase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.DataTypeBaseContext = DataTypeBaseContext; + +SqlParser.prototype.dataTypeBase = function() { + + var localctx = new DataTypeBaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 626, SqlParser.RULE_dataTypeBase); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6375; + _la = this._input.LA(1); + if(!(((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.DATETIME - 199)) | (1 << (SqlParser.YEAR - 199)) | (1 << (SqlParser.TEXT - 199)) | (1 << (SqlParser.ENUM - 199)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function KeywordsCanBeIdContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_keywordsCanBeId; + return this; +} + +KeywordsCanBeIdContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +KeywordsCanBeIdContext.prototype.constructor = KeywordsCanBeIdContext; + +KeywordsCanBeIdContext.prototype.ACCOUNT = function() { + return this.getToken(SqlParser.ACCOUNT, 0); +}; + +KeywordsCanBeIdContext.prototype.ACTION = function() { + return this.getToken(SqlParser.ACTION, 0); +}; + +KeywordsCanBeIdContext.prototype.AFTER = function() { + return this.getToken(SqlParser.AFTER, 0); +}; + +KeywordsCanBeIdContext.prototype.AGGREGATE = function() { + return this.getToken(SqlParser.AGGREGATE, 0); +}; + +KeywordsCanBeIdContext.prototype.ALGORITHM = function() { + return this.getToken(SqlParser.ALGORITHM, 0); +}; + +KeywordsCanBeIdContext.prototype.ANY = function() { + return this.getToken(SqlParser.ANY, 0); +}; + +KeywordsCanBeIdContext.prototype.AT = function() { + return this.getToken(SqlParser.AT, 0); +}; + +KeywordsCanBeIdContext.prototype.AUDIT_ADMIN = function() { + return this.getToken(SqlParser.AUDIT_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.AUTHORS = function() { + return this.getToken(SqlParser.AUTHORS, 0); +}; + +KeywordsCanBeIdContext.prototype.AUTOCOMMIT = function() { + return this.getToken(SqlParser.AUTOCOMMIT, 0); +}; + +KeywordsCanBeIdContext.prototype.AUTOEXTEND_SIZE = function() { + return this.getToken(SqlParser.AUTOEXTEND_SIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.AUTO_INCREMENT = function() { + return this.getToken(SqlParser.AUTO_INCREMENT, 0); +}; + +KeywordsCanBeIdContext.prototype.AVG_ROW_LENGTH = function() { + return this.getToken(SqlParser.AVG_ROW_LENGTH, 0); +}; + +KeywordsCanBeIdContext.prototype.BACKUP_ADMIN = function() { + return this.getToken(SqlParser.BACKUP_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.BEGIN = function() { + return this.getToken(SqlParser.BEGIN, 0); +}; + +KeywordsCanBeIdContext.prototype.BINLOG = function() { + return this.getToken(SqlParser.BINLOG, 0); +}; + +KeywordsCanBeIdContext.prototype.BINLOG_ADMIN = function() { + return this.getToken(SqlParser.BINLOG_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.BINLOG_ENCRYPTION_ADMIN = function() { + return this.getToken(SqlParser.BINLOG_ENCRYPTION_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.BIT = function() { + return this.getToken(SqlParser.BIT, 0); +}; + +KeywordsCanBeIdContext.prototype.BLOCK = function() { + return this.getToken(SqlParser.BLOCK, 0); +}; + +KeywordsCanBeIdContext.prototype.BOOL = function() { + return this.getToken(SqlParser.BOOL, 0); +}; + +KeywordsCanBeIdContext.prototype.BOOLEAN = function() { + return this.getToken(SqlParser.BOOLEAN, 0); +}; + +KeywordsCanBeIdContext.prototype.BTREE = function() { + return this.getToken(SqlParser.BTREE, 0); +}; + +KeywordsCanBeIdContext.prototype.CACHE = function() { + return this.getToken(SqlParser.CACHE, 0); +}; + +KeywordsCanBeIdContext.prototype.CASCADED = function() { + return this.getToken(SqlParser.CASCADED, 0); +}; + +KeywordsCanBeIdContext.prototype.CHAIN = function() { + return this.getToken(SqlParser.CHAIN, 0); +}; + +KeywordsCanBeIdContext.prototype.CHANGED = function() { + return this.getToken(SqlParser.CHANGED, 0); +}; + +KeywordsCanBeIdContext.prototype.CHANNEL = function() { + return this.getToken(SqlParser.CHANNEL, 0); +}; + +KeywordsCanBeIdContext.prototype.CHECKSUM = function() { + return this.getToken(SqlParser.CHECKSUM, 0); +}; + +KeywordsCanBeIdContext.prototype.PAGE_CHECKSUM = function() { + return this.getToken(SqlParser.PAGE_CHECKSUM, 0); +}; + +KeywordsCanBeIdContext.prototype.CATALOG_NAME = function() { + return this.getToken(SqlParser.CATALOG_NAME, 0); +}; + +KeywordsCanBeIdContext.prototype.CIPHER = function() { + return this.getToken(SqlParser.CIPHER, 0); +}; + +KeywordsCanBeIdContext.prototype.CLASS_ORIGIN = function() { + return this.getToken(SqlParser.CLASS_ORIGIN, 0); +}; + +KeywordsCanBeIdContext.prototype.CLIENT = function() { + return this.getToken(SqlParser.CLIENT, 0); +}; + +KeywordsCanBeIdContext.prototype.CLONE_ADMIN = function() { + return this.getToken(SqlParser.CLONE_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.CLOSE = function() { + return this.getToken(SqlParser.CLOSE, 0); +}; + +KeywordsCanBeIdContext.prototype.COALESCE = function() { + return this.getToken(SqlParser.COALESCE, 0); +}; + +KeywordsCanBeIdContext.prototype.CODE = function() { + return this.getToken(SqlParser.CODE, 0); +}; + +KeywordsCanBeIdContext.prototype.COLUMNS = function() { + return this.getToken(SqlParser.COLUMNS, 0); +}; + +KeywordsCanBeIdContext.prototype.COLUMN_FORMAT = function() { + return this.getToken(SqlParser.COLUMN_FORMAT, 0); +}; + +KeywordsCanBeIdContext.prototype.COLUMN_NAME = function() { + return this.getToken(SqlParser.COLUMN_NAME, 0); +}; + +KeywordsCanBeIdContext.prototype.COMMENT = function() { + return this.getToken(SqlParser.COMMENT, 0); +}; + +KeywordsCanBeIdContext.prototype.COMMIT = function() { + return this.getToken(SqlParser.COMMIT, 0); +}; + +KeywordsCanBeIdContext.prototype.COMPACT = function() { + return this.getToken(SqlParser.COMPACT, 0); +}; + +KeywordsCanBeIdContext.prototype.COMPLETION = function() { + return this.getToken(SqlParser.COMPLETION, 0); +}; + +KeywordsCanBeIdContext.prototype.COMPRESSED = function() { + return this.getToken(SqlParser.COMPRESSED, 0); +}; + +KeywordsCanBeIdContext.prototype.COMPRESSION = function() { + return this.getToken(SqlParser.COMPRESSION, 0); +}; + +KeywordsCanBeIdContext.prototype.CONCURRENT = function() { + return this.getToken(SqlParser.CONCURRENT, 0); +}; + +KeywordsCanBeIdContext.prototype.CONNECTION = function() { + return this.getToken(SqlParser.CONNECTION, 0); +}; + +KeywordsCanBeIdContext.prototype.CONNECTION_ADMIN = function() { + return this.getToken(SqlParser.CONNECTION_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.CONSISTENT = function() { + return this.getToken(SqlParser.CONSISTENT, 0); +}; + +KeywordsCanBeIdContext.prototype.CONSTRAINT_CATALOG = function() { + return this.getToken(SqlParser.CONSTRAINT_CATALOG, 0); +}; + +KeywordsCanBeIdContext.prototype.CONSTRAINT_NAME = function() { + return this.getToken(SqlParser.CONSTRAINT_NAME, 0); +}; + +KeywordsCanBeIdContext.prototype.CONSTRAINT_SCHEMA = function() { + return this.getToken(SqlParser.CONSTRAINT_SCHEMA, 0); +}; + +KeywordsCanBeIdContext.prototype.CONTAINS = function() { + return this.getToken(SqlParser.CONTAINS, 0); +}; + +KeywordsCanBeIdContext.prototype.CONTEXT = function() { + return this.getToken(SqlParser.CONTEXT, 0); +}; + +KeywordsCanBeIdContext.prototype.CONTRIBUTORS = function() { + return this.getToken(SqlParser.CONTRIBUTORS, 0); +}; + +KeywordsCanBeIdContext.prototype.COPY = function() { + return this.getToken(SqlParser.COPY, 0); +}; + +KeywordsCanBeIdContext.prototype.CPU = function() { + return this.getToken(SqlParser.CPU, 0); +}; + +KeywordsCanBeIdContext.prototype.CURRENT = function() { + return this.getToken(SqlParser.CURRENT, 0); +}; + +KeywordsCanBeIdContext.prototype.CURSOR_NAME = function() { + return this.getToken(SqlParser.CURSOR_NAME, 0); +}; + +KeywordsCanBeIdContext.prototype.DATA = function() { + return this.getToken(SqlParser.DATA, 0); +}; + +KeywordsCanBeIdContext.prototype.DATAFILE = function() { + return this.getToken(SqlParser.DATAFILE, 0); +}; + +KeywordsCanBeIdContext.prototype.DEALLOCATE = function() { + return this.getToken(SqlParser.DEALLOCATE, 0); +}; + +KeywordsCanBeIdContext.prototype.DEFAULT_AUTH = function() { + return this.getToken(SqlParser.DEFAULT_AUTH, 0); +}; + +KeywordsCanBeIdContext.prototype.DEFINER = function() { + return this.getToken(SqlParser.DEFINER, 0); +}; + +KeywordsCanBeIdContext.prototype.DELAY_KEY_WRITE = function() { + return this.getToken(SqlParser.DELAY_KEY_WRITE, 0); +}; + +KeywordsCanBeIdContext.prototype.DES_KEY_FILE = function() { + return this.getToken(SqlParser.DES_KEY_FILE, 0); +}; + +KeywordsCanBeIdContext.prototype.DIAGNOSTICS = function() { + return this.getToken(SqlParser.DIAGNOSTICS, 0); +}; + +KeywordsCanBeIdContext.prototype.DIRECTORY = function() { + return this.getToken(SqlParser.DIRECTORY, 0); +}; + +KeywordsCanBeIdContext.prototype.DISABLE = function() { + return this.getToken(SqlParser.DISABLE, 0); +}; + +KeywordsCanBeIdContext.prototype.DISCARD = function() { + return this.getToken(SqlParser.DISCARD, 0); +}; + +KeywordsCanBeIdContext.prototype.DISK = function() { + return this.getToken(SqlParser.DISK, 0); +}; + +KeywordsCanBeIdContext.prototype.DO = function() { + return this.getToken(SqlParser.DO, 0); +}; + +KeywordsCanBeIdContext.prototype.DUMPFILE = function() { + return this.getToken(SqlParser.DUMPFILE, 0); +}; + +KeywordsCanBeIdContext.prototype.DUPLICATE = function() { + return this.getToken(SqlParser.DUPLICATE, 0); +}; + +KeywordsCanBeIdContext.prototype.DYNAMIC = function() { + return this.getToken(SqlParser.DYNAMIC, 0); +}; + +KeywordsCanBeIdContext.prototype.ENABLE = function() { + return this.getToken(SqlParser.ENABLE, 0); +}; + +KeywordsCanBeIdContext.prototype.ENCRYPTION = function() { + return this.getToken(SqlParser.ENCRYPTION, 0); +}; + +KeywordsCanBeIdContext.prototype.ENCRYPTION_KEY_ADMIN = function() { + return this.getToken(SqlParser.ENCRYPTION_KEY_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.END = function() { + return this.getToken(SqlParser.END, 0); +}; + +KeywordsCanBeIdContext.prototype.ENDS = function() { + return this.getToken(SqlParser.ENDS, 0); +}; + +KeywordsCanBeIdContext.prototype.ENGINE = function() { + return this.getToken(SqlParser.ENGINE, 0); +}; + +KeywordsCanBeIdContext.prototype.ENGINES = function() { + return this.getToken(SqlParser.ENGINES, 0); +}; + +KeywordsCanBeIdContext.prototype.ERROR = function() { + return this.getToken(SqlParser.ERROR, 0); +}; + +KeywordsCanBeIdContext.prototype.ERRORS = function() { + return this.getToken(SqlParser.ERRORS, 0); +}; + +KeywordsCanBeIdContext.prototype.ESCAPE = function() { + return this.getToken(SqlParser.ESCAPE, 0); +}; + +KeywordsCanBeIdContext.prototype.EVEN = function() { + return this.getToken(SqlParser.EVEN, 0); +}; + +KeywordsCanBeIdContext.prototype.EVENT = function() { + return this.getToken(SqlParser.EVENT, 0); +}; + +KeywordsCanBeIdContext.prototype.EVENTS = function() { + return this.getToken(SqlParser.EVENTS, 0); +}; + +KeywordsCanBeIdContext.prototype.EVERY = function() { + return this.getToken(SqlParser.EVERY, 0); +}; + +KeywordsCanBeIdContext.prototype.EXCHANGE = function() { + return this.getToken(SqlParser.EXCHANGE, 0); +}; + +KeywordsCanBeIdContext.prototype.EXCLUSIVE = function() { + return this.getToken(SqlParser.EXCLUSIVE, 0); +}; + +KeywordsCanBeIdContext.prototype.EXPIRE = function() { + return this.getToken(SqlParser.EXPIRE, 0); +}; + +KeywordsCanBeIdContext.prototype.EXPORT = function() { + return this.getToken(SqlParser.EXPORT, 0); +}; + +KeywordsCanBeIdContext.prototype.EXTENDED = function() { + return this.getToken(SqlParser.EXTENDED, 0); +}; + +KeywordsCanBeIdContext.prototype.EXTENT_SIZE = function() { + return this.getToken(SqlParser.EXTENT_SIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.FAST = function() { + return this.getToken(SqlParser.FAST, 0); +}; + +KeywordsCanBeIdContext.prototype.FAULTS = function() { + return this.getToken(SqlParser.FAULTS, 0); +}; + +KeywordsCanBeIdContext.prototype.FIELDS = function() { + return this.getToken(SqlParser.FIELDS, 0); +}; + +KeywordsCanBeIdContext.prototype.FILE_BLOCK_SIZE = function() { + return this.getToken(SqlParser.FILE_BLOCK_SIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.FILTER = function() { + return this.getToken(SqlParser.FILTER, 0); +}; + +KeywordsCanBeIdContext.prototype.FIREWALL_ADMIN = function() { + return this.getToken(SqlParser.FIREWALL_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.FIREWALL_USER = function() { + return this.getToken(SqlParser.FIREWALL_USER, 0); +}; + +KeywordsCanBeIdContext.prototype.FIRST = function() { + return this.getToken(SqlParser.FIRST, 0); +}; + +KeywordsCanBeIdContext.prototype.FIXED = function() { + return this.getToken(SqlParser.FIXED, 0); +}; + +KeywordsCanBeIdContext.prototype.FLUSH = function() { + return this.getToken(SqlParser.FLUSH, 0); +}; + +KeywordsCanBeIdContext.prototype.FOLLOWS = function() { + return this.getToken(SqlParser.FOLLOWS, 0); +}; + +KeywordsCanBeIdContext.prototype.FOUND = function() { + return this.getToken(SqlParser.FOUND, 0); +}; + +KeywordsCanBeIdContext.prototype.FULL = function() { + return this.getToken(SqlParser.FULL, 0); +}; + +KeywordsCanBeIdContext.prototype.FUNCTION = function() { + return this.getToken(SqlParser.FUNCTION, 0); +}; + +KeywordsCanBeIdContext.prototype.GENERAL = function() { + return this.getToken(SqlParser.GENERAL, 0); +}; + +KeywordsCanBeIdContext.prototype.GLOBAL = function() { + return this.getToken(SqlParser.GLOBAL, 0); +}; + +KeywordsCanBeIdContext.prototype.GRANTS = function() { + return this.getToken(SqlParser.GRANTS, 0); +}; + +KeywordsCanBeIdContext.prototype.GROUP_REPLICATION = function() { + return this.getToken(SqlParser.GROUP_REPLICATION, 0); +}; + +KeywordsCanBeIdContext.prototype.GROUP_REPLICATION_ADMIN = function() { + return this.getToken(SqlParser.GROUP_REPLICATION_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.HANDLER = function() { + return this.getToken(SqlParser.HANDLER, 0); +}; + +KeywordsCanBeIdContext.prototype.HASH = function() { + return this.getToken(SqlParser.HASH, 0); +}; + +KeywordsCanBeIdContext.prototype.HELP = function() { + return this.getToken(SqlParser.HELP, 0); +}; + +KeywordsCanBeIdContext.prototype.HOST = function() { + return this.getToken(SqlParser.HOST, 0); +}; + +KeywordsCanBeIdContext.prototype.HOSTS = function() { + return this.getToken(SqlParser.HOSTS, 0); +}; + +KeywordsCanBeIdContext.prototype.IDENTIFIED = function() { + return this.getToken(SqlParser.IDENTIFIED, 0); +}; + +KeywordsCanBeIdContext.prototype.IGNORE_SERVER_IDS = function() { + return this.getToken(SqlParser.IGNORE_SERVER_IDS, 0); +}; + +KeywordsCanBeIdContext.prototype.IMPORT = function() { + return this.getToken(SqlParser.IMPORT, 0); +}; + +KeywordsCanBeIdContext.prototype.INDEXES = function() { + return this.getToken(SqlParser.INDEXES, 0); +}; + +KeywordsCanBeIdContext.prototype.INITIAL_SIZE = function() { + return this.getToken(SqlParser.INITIAL_SIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.INNODB_REDO_LOG_ARCHIVE = function() { + return this.getToken(SqlParser.INNODB_REDO_LOG_ARCHIVE, 0); +}; + +KeywordsCanBeIdContext.prototype.INPLACE = function() { + return this.getToken(SqlParser.INPLACE, 0); +}; + +KeywordsCanBeIdContext.prototype.INSERT_METHOD = function() { + return this.getToken(SqlParser.INSERT_METHOD, 0); +}; + +KeywordsCanBeIdContext.prototype.INSTALL = function() { + return this.getToken(SqlParser.INSTALL, 0); +}; + +KeywordsCanBeIdContext.prototype.INSTANCE = function() { + return this.getToken(SqlParser.INSTANCE, 0); +}; + +KeywordsCanBeIdContext.prototype.INTERNAL = function() { + return this.getToken(SqlParser.INTERNAL, 0); +}; + +KeywordsCanBeIdContext.prototype.INVOKER = function() { + return this.getToken(SqlParser.INVOKER, 0); +}; + +KeywordsCanBeIdContext.prototype.IO = function() { + return this.getToken(SqlParser.IO, 0); +}; + +KeywordsCanBeIdContext.prototype.IO_THREAD = function() { + return this.getToken(SqlParser.IO_THREAD, 0); +}; + +KeywordsCanBeIdContext.prototype.IPC = function() { + return this.getToken(SqlParser.IPC, 0); +}; + +KeywordsCanBeIdContext.prototype.ISOLATION = function() { + return this.getToken(SqlParser.ISOLATION, 0); +}; + +KeywordsCanBeIdContext.prototype.ISSUER = function() { + return this.getToken(SqlParser.ISSUER, 0); +}; + +KeywordsCanBeIdContext.prototype.JSON = function() { + return this.getToken(SqlParser.JSON, 0); +}; + +KeywordsCanBeIdContext.prototype.KEY_BLOCK_SIZE = function() { + return this.getToken(SqlParser.KEY_BLOCK_SIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.LANGUAGE = function() { + return this.getToken(SqlParser.LANGUAGE, 0); +}; + +KeywordsCanBeIdContext.prototype.LAST = function() { + return this.getToken(SqlParser.LAST, 0); +}; + +KeywordsCanBeIdContext.prototype.LEAVES = function() { + return this.getToken(SqlParser.LEAVES, 0); +}; + +KeywordsCanBeIdContext.prototype.LESS = function() { + return this.getToken(SqlParser.LESS, 0); +}; + +KeywordsCanBeIdContext.prototype.LEVEL = function() { + return this.getToken(SqlParser.LEVEL, 0); +}; + +KeywordsCanBeIdContext.prototype.LIST = function() { + return this.getToken(SqlParser.LIST, 0); +}; + +KeywordsCanBeIdContext.prototype.LOCAL = function() { + return this.getToken(SqlParser.LOCAL, 0); +}; + +KeywordsCanBeIdContext.prototype.LOGFILE = function() { + return this.getToken(SqlParser.LOGFILE, 0); +}; + +KeywordsCanBeIdContext.prototype.LOGS = function() { + return this.getToken(SqlParser.LOGS, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER = function() { + return this.getToken(SqlParser.MASTER, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_AUTO_POSITION = function() { + return this.getToken(SqlParser.MASTER_AUTO_POSITION, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_CONNECT_RETRY = function() { + return this.getToken(SqlParser.MASTER_CONNECT_RETRY, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_DELAY = function() { + return this.getToken(SqlParser.MASTER_DELAY, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_HEARTBEAT_PERIOD = function() { + return this.getToken(SqlParser.MASTER_HEARTBEAT_PERIOD, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_HOST = function() { + return this.getToken(SqlParser.MASTER_HOST, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_LOG_FILE = function() { + return this.getToken(SqlParser.MASTER_LOG_FILE, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_LOG_POS = function() { + return this.getToken(SqlParser.MASTER_LOG_POS, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_PASSWORD = function() { + return this.getToken(SqlParser.MASTER_PASSWORD, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_PORT = function() { + return this.getToken(SqlParser.MASTER_PORT, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_RETRY_COUNT = function() { + return this.getToken(SqlParser.MASTER_RETRY_COUNT, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_SSL = function() { + return this.getToken(SqlParser.MASTER_SSL, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_SSL_CA = function() { + return this.getToken(SqlParser.MASTER_SSL_CA, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_SSL_CAPATH = function() { + return this.getToken(SqlParser.MASTER_SSL_CAPATH, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_SSL_CERT = function() { + return this.getToken(SqlParser.MASTER_SSL_CERT, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_SSL_CIPHER = function() { + return this.getToken(SqlParser.MASTER_SSL_CIPHER, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_SSL_CRL = function() { + return this.getToken(SqlParser.MASTER_SSL_CRL, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_SSL_CRLPATH = function() { + return this.getToken(SqlParser.MASTER_SSL_CRLPATH, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_SSL_KEY = function() { + return this.getToken(SqlParser.MASTER_SSL_KEY, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_TLS_VERSION = function() { + return this.getToken(SqlParser.MASTER_TLS_VERSION, 0); +}; + +KeywordsCanBeIdContext.prototype.MASTER_USER = function() { + return this.getToken(SqlParser.MASTER_USER, 0); +}; + +KeywordsCanBeIdContext.prototype.MAX_CONNECTIONS_PER_HOUR = function() { + return this.getToken(SqlParser.MAX_CONNECTIONS_PER_HOUR, 0); +}; + +KeywordsCanBeIdContext.prototype.MAX_QUERIES_PER_HOUR = function() { + return this.getToken(SqlParser.MAX_QUERIES_PER_HOUR, 0); +}; + +KeywordsCanBeIdContext.prototype.MAX_ROWS = function() { + return this.getToken(SqlParser.MAX_ROWS, 0); +}; + +KeywordsCanBeIdContext.prototype.MAX_SIZE = function() { + return this.getToken(SqlParser.MAX_SIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.MAX_UPDATES_PER_HOUR = function() { + return this.getToken(SqlParser.MAX_UPDATES_PER_HOUR, 0); +}; + +KeywordsCanBeIdContext.prototype.MAX_USER_CONNECTIONS = function() { + return this.getToken(SqlParser.MAX_USER_CONNECTIONS, 0); +}; + +KeywordsCanBeIdContext.prototype.MEDIUM = function() { + return this.getToken(SqlParser.MEDIUM, 0); +}; + +KeywordsCanBeIdContext.prototype.MEMORY = function() { + return this.getToken(SqlParser.MEMORY, 0); +}; + +KeywordsCanBeIdContext.prototype.MERGE = function() { + return this.getToken(SqlParser.MERGE, 0); +}; + +KeywordsCanBeIdContext.prototype.MESSAGE_TEXT = function() { + return this.getToken(SqlParser.MESSAGE_TEXT, 0); +}; + +KeywordsCanBeIdContext.prototype.MID = function() { + return this.getToken(SqlParser.MID, 0); +}; + +KeywordsCanBeIdContext.prototype.MIGRATE = function() { + return this.getToken(SqlParser.MIGRATE, 0); +}; + +KeywordsCanBeIdContext.prototype.MIN_ROWS = function() { + return this.getToken(SqlParser.MIN_ROWS, 0); +}; + +KeywordsCanBeIdContext.prototype.MODE = function() { + return this.getToken(SqlParser.MODE, 0); +}; + +KeywordsCanBeIdContext.prototype.MODIFY = function() { + return this.getToken(SqlParser.MODIFY, 0); +}; + +KeywordsCanBeIdContext.prototype.MUTEX = function() { + return this.getToken(SqlParser.MUTEX, 0); +}; + +KeywordsCanBeIdContext.prototype.MYSQL = function() { + return this.getToken(SqlParser.MYSQL, 0); +}; + +KeywordsCanBeIdContext.prototype.MYSQL_ERRNO = function() { + return this.getToken(SqlParser.MYSQL_ERRNO, 0); +}; + +KeywordsCanBeIdContext.prototype.NAME = function() { + return this.getToken(SqlParser.NAME, 0); +}; + +KeywordsCanBeIdContext.prototype.NAMES = function() { + return this.getToken(SqlParser.NAMES, 0); +}; + +KeywordsCanBeIdContext.prototype.NCHAR = function() { + return this.getToken(SqlParser.NCHAR, 0); +}; + +KeywordsCanBeIdContext.prototype.NDB_STORED_USER = function() { + return this.getToken(SqlParser.NDB_STORED_USER, 0); +}; + +KeywordsCanBeIdContext.prototype.NEVER = function() { + return this.getToken(SqlParser.NEVER, 0); +}; + +KeywordsCanBeIdContext.prototype.NEXT = function() { + return this.getToken(SqlParser.NEXT, 0); +}; + +KeywordsCanBeIdContext.prototype.NO = function() { + return this.getToken(SqlParser.NO, 0); +}; + +KeywordsCanBeIdContext.prototype.NODEGROUP = function() { + return this.getToken(SqlParser.NODEGROUP, 0); +}; + +KeywordsCanBeIdContext.prototype.NONE = function() { + return this.getToken(SqlParser.NONE, 0); +}; + +KeywordsCanBeIdContext.prototype.NUMBER = function() { + return this.getToken(SqlParser.NUMBER, 0); +}; + +KeywordsCanBeIdContext.prototype.OFFLINE = function() { + return this.getToken(SqlParser.OFFLINE, 0); +}; + +KeywordsCanBeIdContext.prototype.OFFSET = function() { + return this.getToken(SqlParser.OFFSET, 0); +}; + +KeywordsCanBeIdContext.prototype.OJ = function() { + return this.getToken(SqlParser.OJ, 0); +}; + +KeywordsCanBeIdContext.prototype.OLD_PASSWORD = function() { + return this.getToken(SqlParser.OLD_PASSWORD, 0); +}; + +KeywordsCanBeIdContext.prototype.ONE = function() { + return this.getToken(SqlParser.ONE, 0); +}; + +KeywordsCanBeIdContext.prototype.ONLINE = function() { + return this.getToken(SqlParser.ONLINE, 0); +}; + +KeywordsCanBeIdContext.prototype.ONLY = function() { + return this.getToken(SqlParser.ONLY, 0); +}; + +KeywordsCanBeIdContext.prototype.OPEN = function() { + return this.getToken(SqlParser.OPEN, 0); +}; + +KeywordsCanBeIdContext.prototype.OPTIMIZER_COSTS = function() { + return this.getToken(SqlParser.OPTIMIZER_COSTS, 0); +}; + +KeywordsCanBeIdContext.prototype.OPTIONS = function() { + return this.getToken(SqlParser.OPTIONS, 0); +}; + +KeywordsCanBeIdContext.prototype.OWNER = function() { + return this.getToken(SqlParser.OWNER, 0); +}; + +KeywordsCanBeIdContext.prototype.PACK_KEYS = function() { + return this.getToken(SqlParser.PACK_KEYS, 0); +}; + +KeywordsCanBeIdContext.prototype.PAGE = function() { + return this.getToken(SqlParser.PAGE, 0); +}; + +KeywordsCanBeIdContext.prototype.PARSER = function() { + return this.getToken(SqlParser.PARSER, 0); +}; + +KeywordsCanBeIdContext.prototype.PARTIAL = function() { + return this.getToken(SqlParser.PARTIAL, 0); +}; + +KeywordsCanBeIdContext.prototype.PARTITIONING = function() { + return this.getToken(SqlParser.PARTITIONING, 0); +}; + +KeywordsCanBeIdContext.prototype.PARTITIONS = function() { + return this.getToken(SqlParser.PARTITIONS, 0); +}; + +KeywordsCanBeIdContext.prototype.PASSWORD = function() { + return this.getToken(SqlParser.PASSWORD, 0); +}; + +KeywordsCanBeIdContext.prototype.PERSIST_RO_VARIABLES_ADMIN = function() { + return this.getToken(SqlParser.PERSIST_RO_VARIABLES_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.PHASE = function() { + return this.getToken(SqlParser.PHASE, 0); +}; + +KeywordsCanBeIdContext.prototype.PLUGINS = function() { + return this.getToken(SqlParser.PLUGINS, 0); +}; + +KeywordsCanBeIdContext.prototype.PLUGIN_DIR = function() { + return this.getToken(SqlParser.PLUGIN_DIR, 0); +}; + +KeywordsCanBeIdContext.prototype.PLUGIN = function() { + return this.getToken(SqlParser.PLUGIN, 0); +}; + +KeywordsCanBeIdContext.prototype.PORT = function() { + return this.getToken(SqlParser.PORT, 0); +}; + +KeywordsCanBeIdContext.prototype.PRECEDES = function() { + return this.getToken(SqlParser.PRECEDES, 0); +}; + +KeywordsCanBeIdContext.prototype.PREPARE = function() { + return this.getToken(SqlParser.PREPARE, 0); +}; + +KeywordsCanBeIdContext.prototype.PRESERVE = function() { + return this.getToken(SqlParser.PRESERVE, 0); +}; + +KeywordsCanBeIdContext.prototype.PREV = function() { + return this.getToken(SqlParser.PREV, 0); +}; + +KeywordsCanBeIdContext.prototype.PROCESSLIST = function() { + return this.getToken(SqlParser.PROCESSLIST, 0); +}; + +KeywordsCanBeIdContext.prototype.PROFILE = function() { + return this.getToken(SqlParser.PROFILE, 0); +}; + +KeywordsCanBeIdContext.prototype.PROFILES = function() { + return this.getToken(SqlParser.PROFILES, 0); +}; + +KeywordsCanBeIdContext.prototype.PROXY = function() { + return this.getToken(SqlParser.PROXY, 0); +}; + +KeywordsCanBeIdContext.prototype.QUERY = function() { + return this.getToken(SqlParser.QUERY, 0); +}; + +KeywordsCanBeIdContext.prototype.QUICK = function() { + return this.getToken(SqlParser.QUICK, 0); +}; + +KeywordsCanBeIdContext.prototype.REBUILD = function() { + return this.getToken(SqlParser.REBUILD, 0); +}; + +KeywordsCanBeIdContext.prototype.RECOVER = function() { + return this.getToken(SqlParser.RECOVER, 0); +}; + +KeywordsCanBeIdContext.prototype.REDO_BUFFER_SIZE = function() { + return this.getToken(SqlParser.REDO_BUFFER_SIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.REDUNDANT = function() { + return this.getToken(SqlParser.REDUNDANT, 0); +}; + +KeywordsCanBeIdContext.prototype.RELAY = function() { + return this.getToken(SqlParser.RELAY, 0); +}; + +KeywordsCanBeIdContext.prototype.RELAYLOG = function() { + return this.getToken(SqlParser.RELAYLOG, 0); +}; + +KeywordsCanBeIdContext.prototype.RELAY_LOG_FILE = function() { + return this.getToken(SqlParser.RELAY_LOG_FILE, 0); +}; + +KeywordsCanBeIdContext.prototype.RELAY_LOG_POS = function() { + return this.getToken(SqlParser.RELAY_LOG_POS, 0); +}; + +KeywordsCanBeIdContext.prototype.REMOVE = function() { + return this.getToken(SqlParser.REMOVE, 0); +}; + +KeywordsCanBeIdContext.prototype.REORGANIZE = function() { + return this.getToken(SqlParser.REORGANIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.REPAIR = function() { + return this.getToken(SqlParser.REPAIR, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATE_DO_DB = function() { + return this.getToken(SqlParser.REPLICATE_DO_DB, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATE_DO_TABLE = function() { + return this.getToken(SqlParser.REPLICATE_DO_TABLE, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATE_IGNORE_DB = function() { + return this.getToken(SqlParser.REPLICATE_IGNORE_DB, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATE_IGNORE_TABLE = function() { + return this.getToken(SqlParser.REPLICATE_IGNORE_TABLE, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATE_REWRITE_DB = function() { + return this.getToken(SqlParser.REPLICATE_REWRITE_DB, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATE_WILD_DO_TABLE = function() { + return this.getToken(SqlParser.REPLICATE_WILD_DO_TABLE, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATE_WILD_IGNORE_TABLE = function() { + return this.getToken(SqlParser.REPLICATE_WILD_IGNORE_TABLE, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATION = function() { + return this.getToken(SqlParser.REPLICATION, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATION_APPLIER = function() { + return this.getToken(SqlParser.REPLICATION_APPLIER, 0); +}; + +KeywordsCanBeIdContext.prototype.REPLICATION_SLAVE_ADMIN = function() { + return this.getToken(SqlParser.REPLICATION_SLAVE_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.RESET = function() { + return this.getToken(SqlParser.RESET, 0); +}; + +KeywordsCanBeIdContext.prototype.RESOURCE_GROUP_ADMIN = function() { + return this.getToken(SqlParser.RESOURCE_GROUP_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.RESOURCE_GROUP_USER = function() { + return this.getToken(SqlParser.RESOURCE_GROUP_USER, 0); +}; + +KeywordsCanBeIdContext.prototype.RESUME = function() { + return this.getToken(SqlParser.RESUME, 0); +}; + +KeywordsCanBeIdContext.prototype.RETURNED_SQLSTATE = function() { + return this.getToken(SqlParser.RETURNED_SQLSTATE, 0); +}; + +KeywordsCanBeIdContext.prototype.RETURNS = function() { + return this.getToken(SqlParser.RETURNS, 0); +}; + +KeywordsCanBeIdContext.prototype.ROLE = function() { + return this.getToken(SqlParser.ROLE, 0); +}; + +KeywordsCanBeIdContext.prototype.ROLE_ADMIN = function() { + return this.getToken(SqlParser.ROLE_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.ROLLBACK = function() { + return this.getToken(SqlParser.ROLLBACK, 0); +}; + +KeywordsCanBeIdContext.prototype.ROLLUP = function() { + return this.getToken(SqlParser.ROLLUP, 0); +}; + +KeywordsCanBeIdContext.prototype.ROTATE = function() { + return this.getToken(SqlParser.ROTATE, 0); +}; + +KeywordsCanBeIdContext.prototype.ROW = function() { + return this.getToken(SqlParser.ROW, 0); +}; + +KeywordsCanBeIdContext.prototype.ROWS = function() { + return this.getToken(SqlParser.ROWS, 0); +}; + +KeywordsCanBeIdContext.prototype.ROW_FORMAT = function() { + return this.getToken(SqlParser.ROW_FORMAT, 0); +}; + +KeywordsCanBeIdContext.prototype.SAVEPOINT = function() { + return this.getToken(SqlParser.SAVEPOINT, 0); +}; + +KeywordsCanBeIdContext.prototype.SCHEDULE = function() { + return this.getToken(SqlParser.SCHEDULE, 0); +}; + +KeywordsCanBeIdContext.prototype.SCHEMA_NAME = function() { + return this.getToken(SqlParser.SCHEMA_NAME, 0); +}; + +KeywordsCanBeIdContext.prototype.SECURITY = function() { + return this.getToken(SqlParser.SECURITY, 0); +}; + +KeywordsCanBeIdContext.prototype.SERIAL = function() { + return this.getToken(SqlParser.SERIAL, 0); +}; + +KeywordsCanBeIdContext.prototype.SERVER = function() { + return this.getToken(SqlParser.SERVER, 0); +}; + +KeywordsCanBeIdContext.prototype.SESSION = function() { + return this.getToken(SqlParser.SESSION, 0); +}; + +KeywordsCanBeIdContext.prototype.SESSION_VARIABLES_ADMIN = function() { + return this.getToken(SqlParser.SESSION_VARIABLES_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.SET_USER_ID = function() { + return this.getToken(SqlParser.SET_USER_ID, 0); +}; + +KeywordsCanBeIdContext.prototype.SHARE = function() { + return this.getToken(SqlParser.SHARE, 0); +}; + +KeywordsCanBeIdContext.prototype.SHARED = function() { + return this.getToken(SqlParser.SHARED, 0); +}; + +KeywordsCanBeIdContext.prototype.SHOW_ROUTINE = function() { + return this.getToken(SqlParser.SHOW_ROUTINE, 0); +}; + +KeywordsCanBeIdContext.prototype.SIGNED = function() { + return this.getToken(SqlParser.SIGNED, 0); +}; + +KeywordsCanBeIdContext.prototype.SIMPLE = function() { + return this.getToken(SqlParser.SIMPLE, 0); +}; + +KeywordsCanBeIdContext.prototype.SLAVE = function() { + return this.getToken(SqlParser.SLAVE, 0); +}; + +KeywordsCanBeIdContext.prototype.SLOW = function() { + return this.getToken(SqlParser.SLOW, 0); +}; + +KeywordsCanBeIdContext.prototype.SNAPSHOT = function() { + return this.getToken(SqlParser.SNAPSHOT, 0); +}; + +KeywordsCanBeIdContext.prototype.SOCKET = function() { + return this.getToken(SqlParser.SOCKET, 0); +}; + +KeywordsCanBeIdContext.prototype.SOME = function() { + return this.getToken(SqlParser.SOME, 0); +}; + +KeywordsCanBeIdContext.prototype.SONAME = function() { + return this.getToken(SqlParser.SONAME, 0); +}; + +KeywordsCanBeIdContext.prototype.SOUNDS = function() { + return this.getToken(SqlParser.SOUNDS, 0); +}; + +KeywordsCanBeIdContext.prototype.SOURCE = function() { + return this.getToken(SqlParser.SOURCE, 0); +}; + +KeywordsCanBeIdContext.prototype.SQL_AFTER_GTIDS = function() { + return this.getToken(SqlParser.SQL_AFTER_GTIDS, 0); +}; + +KeywordsCanBeIdContext.prototype.SQL_AFTER_MTS_GAPS = function() { + return this.getToken(SqlParser.SQL_AFTER_MTS_GAPS, 0); +}; + +KeywordsCanBeIdContext.prototype.SQL_BEFORE_GTIDS = function() { + return this.getToken(SqlParser.SQL_BEFORE_GTIDS, 0); +}; + +KeywordsCanBeIdContext.prototype.SQL_BUFFER_RESULT = function() { + return this.getToken(SqlParser.SQL_BUFFER_RESULT, 0); +}; + +KeywordsCanBeIdContext.prototype.SQL_CACHE = function() { + return this.getToken(SqlParser.SQL_CACHE, 0); +}; + +KeywordsCanBeIdContext.prototype.SQL_NO_CACHE = function() { + return this.getToken(SqlParser.SQL_NO_CACHE, 0); +}; + +KeywordsCanBeIdContext.prototype.SQL_THREAD = function() { + return this.getToken(SqlParser.SQL_THREAD, 0); +}; + +KeywordsCanBeIdContext.prototype.STACKED = function() { + return this.getToken(SqlParser.STACKED, 0); +}; + +KeywordsCanBeIdContext.prototype.START = function() { + return this.getToken(SqlParser.START, 0); +}; + +KeywordsCanBeIdContext.prototype.STARTS = function() { + return this.getToken(SqlParser.STARTS, 0); +}; + +KeywordsCanBeIdContext.prototype.STATS_AUTO_RECALC = function() { + return this.getToken(SqlParser.STATS_AUTO_RECALC, 0); +}; + +KeywordsCanBeIdContext.prototype.STATS_PERSISTENT = function() { + return this.getToken(SqlParser.STATS_PERSISTENT, 0); +}; + +KeywordsCanBeIdContext.prototype.STATS_SAMPLE_PAGES = function() { + return this.getToken(SqlParser.STATS_SAMPLE_PAGES, 0); +}; + +KeywordsCanBeIdContext.prototype.STATUS = function() { + return this.getToken(SqlParser.STATUS, 0); +}; + +KeywordsCanBeIdContext.prototype.STOP = function() { + return this.getToken(SqlParser.STOP, 0); +}; + +KeywordsCanBeIdContext.prototype.STORAGE = function() { + return this.getToken(SqlParser.STORAGE, 0); +}; + +KeywordsCanBeIdContext.prototype.STRING = function() { + return this.getToken(SqlParser.STRING, 0); +}; + +KeywordsCanBeIdContext.prototype.SUBCLASS_ORIGIN = function() { + return this.getToken(SqlParser.SUBCLASS_ORIGIN, 0); +}; + +KeywordsCanBeIdContext.prototype.SUBJECT = function() { + return this.getToken(SqlParser.SUBJECT, 0); +}; + +KeywordsCanBeIdContext.prototype.SUBPARTITION = function() { + return this.getToken(SqlParser.SUBPARTITION, 0); +}; + +KeywordsCanBeIdContext.prototype.SUBPARTITIONS = function() { + return this.getToken(SqlParser.SUBPARTITIONS, 0); +}; + +KeywordsCanBeIdContext.prototype.SUSPEND = function() { + return this.getToken(SqlParser.SUSPEND, 0); +}; + +KeywordsCanBeIdContext.prototype.SWAPS = function() { + return this.getToken(SqlParser.SWAPS, 0); +}; + +KeywordsCanBeIdContext.prototype.SWITCHES = function() { + return this.getToken(SqlParser.SWITCHES, 0); +}; + +KeywordsCanBeIdContext.prototype.SYSTEM_VARIABLES_ADMIN = function() { + return this.getToken(SqlParser.SYSTEM_VARIABLES_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.TABLE_NAME = function() { + return this.getToken(SqlParser.TABLE_NAME, 0); +}; + +KeywordsCanBeIdContext.prototype.TABLESPACE = function() { + return this.getToken(SqlParser.TABLESPACE, 0); +}; + +KeywordsCanBeIdContext.prototype.TABLE_ENCRYPTION_ADMIN = function() { + return this.getToken(SqlParser.TABLE_ENCRYPTION_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.TEMPORARY = function() { + return this.getToken(SqlParser.TEMPORARY, 0); +}; + +KeywordsCanBeIdContext.prototype.TEMPTABLE = function() { + return this.getToken(SqlParser.TEMPTABLE, 0); +}; + +KeywordsCanBeIdContext.prototype.THAN = function() { + return this.getToken(SqlParser.THAN, 0); +}; + +KeywordsCanBeIdContext.prototype.TRADITIONAL = function() { + return this.getToken(SqlParser.TRADITIONAL, 0); +}; + +KeywordsCanBeIdContext.prototype.TRANSACTION = function() { + return this.getToken(SqlParser.TRANSACTION, 0); +}; + +KeywordsCanBeIdContext.prototype.TRANSACTIONAL = function() { + return this.getToken(SqlParser.TRANSACTIONAL, 0); +}; + +KeywordsCanBeIdContext.prototype.TRIGGERS = function() { + return this.getToken(SqlParser.TRIGGERS, 0); +}; + +KeywordsCanBeIdContext.prototype.TRUNCATE = function() { + return this.getToken(SqlParser.TRUNCATE, 0); +}; + +KeywordsCanBeIdContext.prototype.UNDEFINED = function() { + return this.getToken(SqlParser.UNDEFINED, 0); +}; + +KeywordsCanBeIdContext.prototype.UNDOFILE = function() { + return this.getToken(SqlParser.UNDOFILE, 0); +}; + +KeywordsCanBeIdContext.prototype.UNDO_BUFFER_SIZE = function() { + return this.getToken(SqlParser.UNDO_BUFFER_SIZE, 0); +}; + +KeywordsCanBeIdContext.prototype.UNINSTALL = function() { + return this.getToken(SqlParser.UNINSTALL, 0); +}; + +KeywordsCanBeIdContext.prototype.UNKNOWN = function() { + return this.getToken(SqlParser.UNKNOWN, 0); +}; + +KeywordsCanBeIdContext.prototype.UNTIL = function() { + return this.getToken(SqlParser.UNTIL, 0); +}; + +KeywordsCanBeIdContext.prototype.UPGRADE = function() { + return this.getToken(SqlParser.UPGRADE, 0); +}; + +KeywordsCanBeIdContext.prototype.USER = function() { + return this.getToken(SqlParser.USER, 0); +}; + +KeywordsCanBeIdContext.prototype.USE_FRM = function() { + return this.getToken(SqlParser.USE_FRM, 0); +}; + +KeywordsCanBeIdContext.prototype.USER_RESOURCES = function() { + return this.getToken(SqlParser.USER_RESOURCES, 0); +}; + +KeywordsCanBeIdContext.prototype.VALIDATION = function() { + return this.getToken(SqlParser.VALIDATION, 0); +}; + +KeywordsCanBeIdContext.prototype.VALUE = function() { + return this.getToken(SqlParser.VALUE, 0); +}; + +KeywordsCanBeIdContext.prototype.VARIABLES = function() { + return this.getToken(SqlParser.VARIABLES, 0); +}; + +KeywordsCanBeIdContext.prototype.VERSION_TOKEN_ADMIN = function() { + return this.getToken(SqlParser.VERSION_TOKEN_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.VIEW = function() { + return this.getToken(SqlParser.VIEW, 0); +}; + +KeywordsCanBeIdContext.prototype.WAIT = function() { + return this.getToken(SqlParser.WAIT, 0); +}; + +KeywordsCanBeIdContext.prototype.WARNINGS = function() { + return this.getToken(SqlParser.WARNINGS, 0); +}; + +KeywordsCanBeIdContext.prototype.WITHOUT = function() { + return this.getToken(SqlParser.WITHOUT, 0); +}; + +KeywordsCanBeIdContext.prototype.WORK = function() { + return this.getToken(SqlParser.WORK, 0); +}; + +KeywordsCanBeIdContext.prototype.WRAPPER = function() { + return this.getToken(SqlParser.WRAPPER, 0); +}; + +KeywordsCanBeIdContext.prototype.X509 = function() { + return this.getToken(SqlParser.X509, 0); +}; + +KeywordsCanBeIdContext.prototype.XA = function() { + return this.getToken(SqlParser.XA, 0); +}; + +KeywordsCanBeIdContext.prototype.XA_RECOVER_ADMIN = function() { + return this.getToken(SqlParser.XA_RECOVER_ADMIN, 0); +}; + +KeywordsCanBeIdContext.prototype.XML = function() { + return this.getToken(SqlParser.XML, 0); +}; + +KeywordsCanBeIdContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterKeywordsCanBeId(this); + } +}; + +KeywordsCanBeIdContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitKeywordsCanBeId(this); + } +}; + +KeywordsCanBeIdContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitKeywordsCanBeId(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.KeywordsCanBeIdContext = KeywordsCanBeIdContext; + +SqlParser.prototype.keywordsCanBeId = function() { + + var localctx = new KeywordsCanBeIdContext(this, this._ctx, this.state); + this.enterRule(localctx, 628, SqlParser.RULE_keywordsCanBeId); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6377; + _la = this._input.LA(1); + if(!(_la===SqlParser.CURRENT || _la===SqlParser.DIAGNOSTICS || _la===SqlParser.NUMBER || _la===SqlParser.STACKED || _la===SqlParser.SERIAL || ((((_la - 270)) & ~0x1f) == 0 && ((1 << (_la - 270)) & ((1 << (SqlParser.ACCOUNT - 270)) | (1 << (SqlParser.ACTION - 270)) | (1 << (SqlParser.AFTER - 270)) | (1 << (SqlParser.AGGREGATE - 270)) | (1 << (SqlParser.ALGORITHM - 270)) | (1 << (SqlParser.ANY - 270)) | (1 << (SqlParser.AT - 270)) | (1 << (SqlParser.AUTHORS - 270)) | (1 << (SqlParser.AUTOCOMMIT - 270)) | (1 << (SqlParser.AUTOEXTEND_SIZE - 270)) | (1 << (SqlParser.AUTO_INCREMENT - 270)) | (1 << (SqlParser.AVG_ROW_LENGTH - 270)) | (1 << (SqlParser.BEGIN - 270)) | (1 << (SqlParser.BINLOG - 270)) | (1 << (SqlParser.BIT - 270)) | (1 << (SqlParser.BLOCK - 270)) | (1 << (SqlParser.BOOL - 270)) | (1 << (SqlParser.BOOLEAN - 270)) | (1 << (SqlParser.BTREE - 270)) | (1 << (SqlParser.CACHE - 270)) | (1 << (SqlParser.CASCADED - 270)) | (1 << (SqlParser.CHAIN - 270)) | (1 << (SqlParser.CHANGED - 270)) | (1 << (SqlParser.CHANNEL - 270)) | (1 << (SqlParser.CHECKSUM - 270)) | (1 << (SqlParser.PAGE_CHECKSUM - 270)) | (1 << (SqlParser.CIPHER - 270)) | (1 << (SqlParser.CLASS_ORIGIN - 270)) | (1 << (SqlParser.CLIENT - 270)) | (1 << (SqlParser.CLOSE - 270)) | (1 << (SqlParser.COALESCE - 270)) | (1 << (SqlParser.CODE - 270)))) !== 0) || ((((_la - 302)) & ~0x1f) == 0 && ((1 << (_la - 302)) & ((1 << (SqlParser.COLUMNS - 302)) | (1 << (SqlParser.COLUMN_FORMAT - 302)) | (1 << (SqlParser.COLUMN_NAME - 302)) | (1 << (SqlParser.COMMENT - 302)) | (1 << (SqlParser.COMMIT - 302)) | (1 << (SqlParser.COMPACT - 302)) | (1 << (SqlParser.COMPLETION - 302)) | (1 << (SqlParser.COMPRESSED - 302)) | (1 << (SqlParser.COMPRESSION - 302)) | (1 << (SqlParser.CONCURRENT - 302)) | (1 << (SqlParser.CONNECTION - 302)) | (1 << (SqlParser.CONSISTENT - 302)) | (1 << (SqlParser.CONSTRAINT_CATALOG - 302)) | (1 << (SqlParser.CONSTRAINT_SCHEMA - 302)) | (1 << (SqlParser.CONSTRAINT_NAME - 302)) | (1 << (SqlParser.CONTAINS - 302)) | (1 << (SqlParser.CONTEXT - 302)) | (1 << (SqlParser.CONTRIBUTORS - 302)) | (1 << (SqlParser.COPY - 302)) | (1 << (SqlParser.CPU - 302)) | (1 << (SqlParser.CURSOR_NAME - 302)) | (1 << (SqlParser.DATA - 302)) | (1 << (SqlParser.DATAFILE - 302)) | (1 << (SqlParser.DEALLOCATE - 302)) | (1 << (SqlParser.DEFAULT_AUTH - 302)) | (1 << (SqlParser.DEFINER - 302)) | (1 << (SqlParser.DELAY_KEY_WRITE - 302)) | (1 << (SqlParser.DES_KEY_FILE - 302)) | (1 << (SqlParser.DIRECTORY - 302)) | (1 << (SqlParser.DISABLE - 302)) | (1 << (SqlParser.DISCARD - 302)) | (1 << (SqlParser.DISK - 302)))) !== 0) || ((((_la - 334)) & ~0x1f) == 0 && ((1 << (_la - 334)) & ((1 << (SqlParser.DO - 334)) | (1 << (SqlParser.DUMPFILE - 334)) | (1 << (SqlParser.DUPLICATE - 334)) | (1 << (SqlParser.DYNAMIC - 334)) | (1 << (SqlParser.ENABLE - 334)) | (1 << (SqlParser.ENCRYPTION - 334)) | (1 << (SqlParser.END - 334)) | (1 << (SqlParser.ENDS - 334)) | (1 << (SqlParser.ENGINE - 334)) | (1 << (SqlParser.ENGINES - 334)) | (1 << (SqlParser.ERROR - 334)) | (1 << (SqlParser.ERRORS - 334)) | (1 << (SqlParser.ESCAPE - 334)) | (1 << (SqlParser.EVEN - 334)) | (1 << (SqlParser.EVENT - 334)) | (1 << (SqlParser.EVENTS - 334)) | (1 << (SqlParser.EVERY - 334)) | (1 << (SqlParser.EXCHANGE - 334)) | (1 << (SqlParser.EXCLUSIVE - 334)) | (1 << (SqlParser.EXPIRE - 334)) | (1 << (SqlParser.EXPORT - 334)) | (1 << (SqlParser.EXTENDED - 334)) | (1 << (SqlParser.EXTENT_SIZE - 334)) | (1 << (SqlParser.FAST - 334)) | (1 << (SqlParser.FAULTS - 334)) | (1 << (SqlParser.FIELDS - 334)) | (1 << (SqlParser.FILE_BLOCK_SIZE - 334)) | (1 << (SqlParser.FILTER - 334)) | (1 << (SqlParser.FIRST - 334)) | (1 << (SqlParser.FIXED - 334)) | (1 << (SqlParser.FLUSH - 334)) | (1 << (SqlParser.FOLLOWS - 334)))) !== 0) || ((((_la - 366)) & ~0x1f) == 0 && ((1 << (_la - 366)) & ((1 << (SqlParser.FOUND - 366)) | (1 << (SqlParser.FULL - 366)) | (1 << (SqlParser.FUNCTION - 366)) | (1 << (SqlParser.GENERAL - 366)) | (1 << (SqlParser.GLOBAL - 366)) | (1 << (SqlParser.GRANTS - 366)) | (1 << (SqlParser.GROUP_REPLICATION - 366)) | (1 << (SqlParser.HANDLER - 366)) | (1 << (SqlParser.HASH - 366)) | (1 << (SqlParser.HELP - 366)) | (1 << (SqlParser.HOST - 366)) | (1 << (SqlParser.HOSTS - 366)) | (1 << (SqlParser.IDENTIFIED - 366)) | (1 << (SqlParser.IGNORE_SERVER_IDS - 366)) | (1 << (SqlParser.IMPORT - 366)) | (1 << (SqlParser.INDEXES - 366)) | (1 << (SqlParser.INITIAL_SIZE - 366)) | (1 << (SqlParser.INPLACE - 366)) | (1 << (SqlParser.INSERT_METHOD - 366)) | (1 << (SqlParser.INSTALL - 366)) | (1 << (SqlParser.INSTANCE - 366)) | (1 << (SqlParser.INVOKER - 366)) | (1 << (SqlParser.IO - 366)) | (1 << (SqlParser.IO_THREAD - 366)) | (1 << (SqlParser.IPC - 366)) | (1 << (SqlParser.ISOLATION - 366)) | (1 << (SqlParser.ISSUER - 366)) | (1 << (SqlParser.JSON - 366)) | (1 << (SqlParser.KEY_BLOCK_SIZE - 366)) | (1 << (SqlParser.LANGUAGE - 366)) | (1 << (SqlParser.LAST - 366)))) !== 0) || ((((_la - 398)) & ~0x1f) == 0 && ((1 << (_la - 398)) & ((1 << (SqlParser.LEAVES - 398)) | (1 << (SqlParser.LESS - 398)) | (1 << (SqlParser.LEVEL - 398)) | (1 << (SqlParser.LIST - 398)) | (1 << (SqlParser.LOCAL - 398)) | (1 << (SqlParser.LOGFILE - 398)) | (1 << (SqlParser.LOGS - 398)) | (1 << (SqlParser.MASTER - 398)) | (1 << (SqlParser.MASTER_AUTO_POSITION - 398)) | (1 << (SqlParser.MASTER_CONNECT_RETRY - 398)) | (1 << (SqlParser.MASTER_DELAY - 398)) | (1 << (SqlParser.MASTER_HEARTBEAT_PERIOD - 398)) | (1 << (SqlParser.MASTER_HOST - 398)) | (1 << (SqlParser.MASTER_LOG_FILE - 398)) | (1 << (SqlParser.MASTER_LOG_POS - 398)) | (1 << (SqlParser.MASTER_PASSWORD - 398)) | (1 << (SqlParser.MASTER_PORT - 398)) | (1 << (SqlParser.MASTER_RETRY_COUNT - 398)) | (1 << (SqlParser.MASTER_SSL - 398)) | (1 << (SqlParser.MASTER_SSL_CA - 398)) | (1 << (SqlParser.MASTER_SSL_CAPATH - 398)) | (1 << (SqlParser.MASTER_SSL_CERT - 398)) | (1 << (SqlParser.MASTER_SSL_CIPHER - 398)) | (1 << (SqlParser.MASTER_SSL_CRL - 398)) | (1 << (SqlParser.MASTER_SSL_CRLPATH - 398)) | (1 << (SqlParser.MASTER_SSL_KEY - 398)) | (1 << (SqlParser.MASTER_TLS_VERSION - 398)) | (1 << (SqlParser.MASTER_USER - 398)) | (1 << (SqlParser.MAX_CONNECTIONS_PER_HOUR - 398)) | (1 << (SqlParser.MAX_QUERIES_PER_HOUR - 398)) | (1 << (SqlParser.MAX_ROWS - 398)) | (1 << (SqlParser.MAX_SIZE - 398)))) !== 0) || ((((_la - 430)) & ~0x1f) == 0 && ((1 << (_la - 430)) & ((1 << (SqlParser.MAX_UPDATES_PER_HOUR - 430)) | (1 << (SqlParser.MAX_USER_CONNECTIONS - 430)) | (1 << (SqlParser.MEDIUM - 430)) | (1 << (SqlParser.MERGE - 430)) | (1 << (SqlParser.MESSAGE_TEXT - 430)) | (1 << (SqlParser.MID - 430)) | (1 << (SqlParser.MIGRATE - 430)) | (1 << (SqlParser.MIN_ROWS - 430)) | (1 << (SqlParser.MODE - 430)) | (1 << (SqlParser.MODIFY - 430)) | (1 << (SqlParser.MUTEX - 430)) | (1 << (SqlParser.MYSQL - 430)) | (1 << (SqlParser.MYSQL_ERRNO - 430)) | (1 << (SqlParser.NAME - 430)) | (1 << (SqlParser.NAMES - 430)) | (1 << (SqlParser.NCHAR - 430)) | (1 << (SqlParser.NEVER - 430)) | (1 << (SqlParser.NEXT - 430)) | (1 << (SqlParser.NO - 430)) | (1 << (SqlParser.NODEGROUP - 430)) | (1 << (SqlParser.NONE - 430)) | (1 << (SqlParser.OFFLINE - 430)) | (1 << (SqlParser.OFFSET - 430)) | (1 << (SqlParser.OJ - 430)) | (1 << (SqlParser.OLD_PASSWORD - 430)) | (1 << (SqlParser.ONE - 430)) | (1 << (SqlParser.ONLINE - 430)) | (1 << (SqlParser.ONLY - 430)) | (1 << (SqlParser.OPEN - 430)) | (1 << (SqlParser.OPTIMIZER_COSTS - 430)) | (1 << (SqlParser.OPTIONS - 430)) | (1 << (SqlParser.OWNER - 430)))) !== 0) || ((((_la - 462)) & ~0x1f) == 0 && ((1 << (_la - 462)) & ((1 << (SqlParser.PACK_KEYS - 462)) | (1 << (SqlParser.PAGE - 462)) | (1 << (SqlParser.PARSER - 462)) | (1 << (SqlParser.PARTIAL - 462)) | (1 << (SqlParser.PARTITIONING - 462)) | (1 << (SqlParser.PARTITIONS - 462)) | (1 << (SqlParser.PASSWORD - 462)) | (1 << (SqlParser.PHASE - 462)) | (1 << (SqlParser.PLUGIN - 462)) | (1 << (SqlParser.PLUGIN_DIR - 462)) | (1 << (SqlParser.PLUGINS - 462)) | (1 << (SqlParser.PORT - 462)) | (1 << (SqlParser.PRECEDES - 462)) | (1 << (SqlParser.PREPARE - 462)) | (1 << (SqlParser.PRESERVE - 462)) | (1 << (SqlParser.PREV - 462)) | (1 << (SqlParser.PROCESSLIST - 462)) | (1 << (SqlParser.PROFILE - 462)) | (1 << (SqlParser.PROFILES - 462)) | (1 << (SqlParser.PROXY - 462)) | (1 << (SqlParser.QUERY - 462)) | (1 << (SqlParser.QUICK - 462)) | (1 << (SqlParser.REBUILD - 462)) | (1 << (SqlParser.RECOVER - 462)) | (1 << (SqlParser.REDO_BUFFER_SIZE - 462)) | (1 << (SqlParser.REDUNDANT - 462)) | (1 << (SqlParser.RELAY - 462)) | (1 << (SqlParser.RELAY_LOG_FILE - 462)) | (1 << (SqlParser.RELAY_LOG_POS - 462)) | (1 << (SqlParser.RELAYLOG - 462)) | (1 << (SqlParser.REMOVE - 462)) | (1 << (SqlParser.REORGANIZE - 462)))) !== 0) || ((((_la - 494)) & ~0x1f) == 0 && ((1 << (_la - 494)) & ((1 << (SqlParser.REPAIR - 494)) | (1 << (SqlParser.REPLICATE_DO_DB - 494)) | (1 << (SqlParser.REPLICATE_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_DB - 494)) | (1 << (SqlParser.REPLICATE_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATE_REWRITE_DB - 494)) | (1 << (SqlParser.REPLICATE_WILD_DO_TABLE - 494)) | (1 << (SqlParser.REPLICATE_WILD_IGNORE_TABLE - 494)) | (1 << (SqlParser.REPLICATION - 494)) | (1 << (SqlParser.RESET - 494)) | (1 << (SqlParser.RESUME - 494)) | (1 << (SqlParser.RETURNED_SQLSTATE - 494)) | (1 << (SqlParser.RETURNS - 494)) | (1 << (SqlParser.ROLE - 494)) | (1 << (SqlParser.ROLLBACK - 494)) | (1 << (SqlParser.ROLLUP - 494)) | (1 << (SqlParser.ROTATE - 494)) | (1 << (SqlParser.ROW - 494)) | (1 << (SqlParser.ROWS - 494)) | (1 << (SqlParser.ROW_FORMAT - 494)) | (1 << (SqlParser.SAVEPOINT - 494)) | (1 << (SqlParser.SCHEDULE - 494)) | (1 << (SqlParser.SECURITY - 494)) | (1 << (SqlParser.SERVER - 494)) | (1 << (SqlParser.SESSION - 494)) | (1 << (SqlParser.SHARE - 494)) | (1 << (SqlParser.SHARED - 494)) | (1 << (SqlParser.SIGNED - 494)) | (1 << (SqlParser.SIMPLE - 494)) | (1 << (SqlParser.SLAVE - 494)) | (1 << (SqlParser.SLOW - 494)) | (1 << (SqlParser.SNAPSHOT - 494)))) !== 0) || ((((_la - 526)) & ~0x1f) == 0 && ((1 << (_la - 526)) & ((1 << (SqlParser.SOCKET - 526)) | (1 << (SqlParser.SOME - 526)) | (1 << (SqlParser.SONAME - 526)) | (1 << (SqlParser.SOUNDS - 526)) | (1 << (SqlParser.SOURCE - 526)) | (1 << (SqlParser.SQL_AFTER_GTIDS - 526)) | (1 << (SqlParser.SQL_AFTER_MTS_GAPS - 526)) | (1 << (SqlParser.SQL_BEFORE_GTIDS - 526)) | (1 << (SqlParser.SQL_BUFFER_RESULT - 526)) | (1 << (SqlParser.SQL_CACHE - 526)) | (1 << (SqlParser.SQL_NO_CACHE - 526)) | (1 << (SqlParser.SQL_THREAD - 526)) | (1 << (SqlParser.START - 526)) | (1 << (SqlParser.STARTS - 526)) | (1 << (SqlParser.STATS_AUTO_RECALC - 526)) | (1 << (SqlParser.STATS_PERSISTENT - 526)) | (1 << (SqlParser.STATS_SAMPLE_PAGES - 526)) | (1 << (SqlParser.STATUS - 526)) | (1 << (SqlParser.STOP - 526)) | (1 << (SqlParser.STORAGE - 526)) | (1 << (SqlParser.STRING - 526)) | (1 << (SqlParser.SUBCLASS_ORIGIN - 526)) | (1 << (SqlParser.SUBJECT - 526)) | (1 << (SqlParser.SUBPARTITION - 526)) | (1 << (SqlParser.SUBPARTITIONS - 526)) | (1 << (SqlParser.SUSPEND - 526)) | (1 << (SqlParser.SWAPS - 526)) | (1 << (SqlParser.SWITCHES - 526)) | (1 << (SqlParser.TABLE_NAME - 526)) | (1 << (SqlParser.TABLESPACE - 526)) | (1 << (SqlParser.TEMPORARY - 526)))) !== 0) || ((((_la - 558)) & ~0x1f) == 0 && ((1 << (_la - 558)) & ((1 << (SqlParser.TEMPTABLE - 558)) | (1 << (SqlParser.THAN - 558)) | (1 << (SqlParser.TRADITIONAL - 558)) | (1 << (SqlParser.TRANSACTION - 558)) | (1 << (SqlParser.TRANSACTIONAL - 558)) | (1 << (SqlParser.TRIGGERS - 558)) | (1 << (SqlParser.TRUNCATE - 558)) | (1 << (SqlParser.UNDEFINED - 558)) | (1 << (SqlParser.UNDOFILE - 558)) | (1 << (SqlParser.UNDO_BUFFER_SIZE - 558)) | (1 << (SqlParser.UNINSTALL - 558)) | (1 << (SqlParser.UNKNOWN - 558)) | (1 << (SqlParser.UNTIL - 558)) | (1 << (SqlParser.UPGRADE - 558)) | (1 << (SqlParser.USER - 558)) | (1 << (SqlParser.USE_FRM - 558)) | (1 << (SqlParser.USER_RESOURCES - 558)) | (1 << (SqlParser.VALIDATION - 558)) | (1 << (SqlParser.VALUE - 558)) | (1 << (SqlParser.VARIABLES - 558)) | (1 << (SqlParser.VIEW - 558)) | (1 << (SqlParser.WAIT - 558)) | (1 << (SqlParser.WARNINGS - 558)) | (1 << (SqlParser.WITHOUT - 558)) | (1 << (SqlParser.WORK - 558)) | (1 << (SqlParser.WRAPPER - 558)) | (1 << (SqlParser.X509 - 558)) | (1 << (SqlParser.XA - 558)) | (1 << (SqlParser.XML - 558)))) !== 0) || ((((_la - 593)) & ~0x1f) == 0 && ((1 << (_la - 593)) & ((1 << (SqlParser.INTERNAL - 593)) | (1 << (SqlParser.AUDIT_ADMIN - 593)) | (1 << (SqlParser.BACKUP_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ADMIN - 593)) | (1 << (SqlParser.BINLOG_ENCRYPTION_ADMIN - 593)) | (1 << (SqlParser.CLONE_ADMIN - 593)) | (1 << (SqlParser.CONNECTION_ADMIN - 593)) | (1 << (SqlParser.ENCRYPTION_KEY_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_ADMIN - 593)) | (1 << (SqlParser.FIREWALL_USER - 593)) | (1 << (SqlParser.GROUP_REPLICATION_ADMIN - 593)) | (1 << (SqlParser.INNODB_REDO_LOG_ARCHIVE - 593)) | (1 << (SqlParser.NDB_STORED_USER - 593)) | (1 << (SqlParser.PERSIST_RO_VARIABLES_ADMIN - 593)))) !== 0) || ((((_la - 625)) & ~0x1f) == 0 && ((1 << (_la - 625)) & ((1 << (SqlParser.REPLICATION_APPLIER - 625)) | (1 << (SqlParser.REPLICATION_SLAVE_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_ADMIN - 625)) | (1 << (SqlParser.RESOURCE_GROUP_USER - 625)) | (1 << (SqlParser.ROLE_ADMIN - 625)) | (1 << (SqlParser.SESSION_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.SET_USER_ID - 625)) | (1 << (SqlParser.SHOW_ROUTINE - 625)) | (1 << (SqlParser.SYSTEM_VARIABLES_ADMIN - 625)) | (1 << (SqlParser.TABLE_ENCRYPTION_ADMIN - 625)) | (1 << (SqlParser.VERSION_TOKEN_ADMIN - 625)) | (1 << (SqlParser.XA_RECOVER_ADMIN - 625)))) !== 0) || _la===SqlParser.MEMORY || _la===SqlParser.CATALOG_NAME || _la===SqlParser.SCHEMA_NAME)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FunctionNameBaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = SqlParser.RULE_functionNameBase; + return this; +} + +FunctionNameBaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FunctionNameBaseContext.prototype.constructor = FunctionNameBaseContext; + +FunctionNameBaseContext.prototype.ABS = function() { + return this.getToken(SqlParser.ABS, 0); +}; + +FunctionNameBaseContext.prototype.ACOS = function() { + return this.getToken(SqlParser.ACOS, 0); +}; + +FunctionNameBaseContext.prototype.ADDDATE = function() { + return this.getToken(SqlParser.ADDDATE, 0); +}; + +FunctionNameBaseContext.prototype.ADDTIME = function() { + return this.getToken(SqlParser.ADDTIME, 0); +}; + +FunctionNameBaseContext.prototype.AES_DECRYPT = function() { + return this.getToken(SqlParser.AES_DECRYPT, 0); +}; + +FunctionNameBaseContext.prototype.AES_ENCRYPT = function() { + return this.getToken(SqlParser.AES_ENCRYPT, 0); +}; + +FunctionNameBaseContext.prototype.AREA = function() { + return this.getToken(SqlParser.AREA, 0); +}; + +FunctionNameBaseContext.prototype.ASBINARY = function() { + return this.getToken(SqlParser.ASBINARY, 0); +}; + +FunctionNameBaseContext.prototype.ASIN = function() { + return this.getToken(SqlParser.ASIN, 0); +}; + +FunctionNameBaseContext.prototype.ASTEXT = function() { + return this.getToken(SqlParser.ASTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ASWKB = function() { + return this.getToken(SqlParser.ASWKB, 0); +}; + +FunctionNameBaseContext.prototype.ASWKT = function() { + return this.getToken(SqlParser.ASWKT, 0); +}; + +FunctionNameBaseContext.prototype.ASYMMETRIC_DECRYPT = function() { + return this.getToken(SqlParser.ASYMMETRIC_DECRYPT, 0); +}; + +FunctionNameBaseContext.prototype.ASYMMETRIC_DERIVE = function() { + return this.getToken(SqlParser.ASYMMETRIC_DERIVE, 0); +}; + +FunctionNameBaseContext.prototype.ASYMMETRIC_ENCRYPT = function() { + return this.getToken(SqlParser.ASYMMETRIC_ENCRYPT, 0); +}; + +FunctionNameBaseContext.prototype.ASYMMETRIC_SIGN = function() { + return this.getToken(SqlParser.ASYMMETRIC_SIGN, 0); +}; + +FunctionNameBaseContext.prototype.ASYMMETRIC_VERIFY = function() { + return this.getToken(SqlParser.ASYMMETRIC_VERIFY, 0); +}; + +FunctionNameBaseContext.prototype.ATAN = function() { + return this.getToken(SqlParser.ATAN, 0); +}; + +FunctionNameBaseContext.prototype.ATAN2 = function() { + return this.getToken(SqlParser.ATAN2, 0); +}; + +FunctionNameBaseContext.prototype.BENCHMARK = function() { + return this.getToken(SqlParser.BENCHMARK, 0); +}; + +FunctionNameBaseContext.prototype.BIN = function() { + return this.getToken(SqlParser.BIN, 0); +}; + +FunctionNameBaseContext.prototype.BIT_COUNT = function() { + return this.getToken(SqlParser.BIT_COUNT, 0); +}; + +FunctionNameBaseContext.prototype.BIT_LENGTH = function() { + return this.getToken(SqlParser.BIT_LENGTH, 0); +}; + +FunctionNameBaseContext.prototype.BUFFER = function() { + return this.getToken(SqlParser.BUFFER, 0); +}; + +FunctionNameBaseContext.prototype.CEIL = function() { + return this.getToken(SqlParser.CEIL, 0); +}; + +FunctionNameBaseContext.prototype.CEILING = function() { + return this.getToken(SqlParser.CEILING, 0); +}; + +FunctionNameBaseContext.prototype.CENTROID = function() { + return this.getToken(SqlParser.CENTROID, 0); +}; + +FunctionNameBaseContext.prototype.CHARACTER_LENGTH = function() { + return this.getToken(SqlParser.CHARACTER_LENGTH, 0); +}; + +FunctionNameBaseContext.prototype.CHARSET = function() { + return this.getToken(SqlParser.CHARSET, 0); +}; + +FunctionNameBaseContext.prototype.CHAR_LENGTH = function() { + return this.getToken(SqlParser.CHAR_LENGTH, 0); +}; + +FunctionNameBaseContext.prototype.COERCIBILITY = function() { + return this.getToken(SqlParser.COERCIBILITY, 0); +}; + +FunctionNameBaseContext.prototype.COLLATION = function() { + return this.getToken(SqlParser.COLLATION, 0); +}; + +FunctionNameBaseContext.prototype.COMPRESS = function() { + return this.getToken(SqlParser.COMPRESS, 0); +}; + +FunctionNameBaseContext.prototype.CONCAT = function() { + return this.getToken(SqlParser.CONCAT, 0); +}; + +FunctionNameBaseContext.prototype.CONCAT_WS = function() { + return this.getToken(SqlParser.CONCAT_WS, 0); +}; + +FunctionNameBaseContext.prototype.CONNECTION_ID = function() { + return this.getToken(SqlParser.CONNECTION_ID, 0); +}; + +FunctionNameBaseContext.prototype.CONV = function() { + return this.getToken(SqlParser.CONV, 0); +}; + +FunctionNameBaseContext.prototype.CONVERT_TZ = function() { + return this.getToken(SqlParser.CONVERT_TZ, 0); +}; + +FunctionNameBaseContext.prototype.COS = function() { + return this.getToken(SqlParser.COS, 0); +}; + +FunctionNameBaseContext.prototype.COT = function() { + return this.getToken(SqlParser.COT, 0); +}; + +FunctionNameBaseContext.prototype.COUNT = function() { + return this.getToken(SqlParser.COUNT, 0); +}; + +FunctionNameBaseContext.prototype.CRC32 = function() { + return this.getToken(SqlParser.CRC32, 0); +}; + +FunctionNameBaseContext.prototype.CREATE_ASYMMETRIC_PRIV_KEY = function() { + return this.getToken(SqlParser.CREATE_ASYMMETRIC_PRIV_KEY, 0); +}; + +FunctionNameBaseContext.prototype.CREATE_ASYMMETRIC_PUB_KEY = function() { + return this.getToken(SqlParser.CREATE_ASYMMETRIC_PUB_KEY, 0); +}; + +FunctionNameBaseContext.prototype.CREATE_DH_PARAMETERS = function() { + return this.getToken(SqlParser.CREATE_DH_PARAMETERS, 0); +}; + +FunctionNameBaseContext.prototype.CREATE_DIGEST = function() { + return this.getToken(SqlParser.CREATE_DIGEST, 0); +}; + +FunctionNameBaseContext.prototype.CROSSES = function() { + return this.getToken(SqlParser.CROSSES, 0); +}; + +FunctionNameBaseContext.prototype.DATABASE = function() { + return this.getToken(SqlParser.DATABASE, 0); +}; + +FunctionNameBaseContext.prototype.DATE = function() { + return this.getToken(SqlParser.DATE, 0); +}; + +FunctionNameBaseContext.prototype.DATEDIFF = function() { + return this.getToken(SqlParser.DATEDIFF, 0); +}; + +FunctionNameBaseContext.prototype.DATE_FORMAT = function() { + return this.getToken(SqlParser.DATE_FORMAT, 0); +}; + +FunctionNameBaseContext.prototype.DAY = function() { + return this.getToken(SqlParser.DAY, 0); +}; + +FunctionNameBaseContext.prototype.DAYNAME = function() { + return this.getToken(SqlParser.DAYNAME, 0); +}; + +FunctionNameBaseContext.prototype.DAYOFMONTH = function() { + return this.getToken(SqlParser.DAYOFMONTH, 0); +}; + +FunctionNameBaseContext.prototype.DAYOFWEEK = function() { + return this.getToken(SqlParser.DAYOFWEEK, 0); +}; + +FunctionNameBaseContext.prototype.DAYOFYEAR = function() { + return this.getToken(SqlParser.DAYOFYEAR, 0); +}; + +FunctionNameBaseContext.prototype.DECODE = function() { + return this.getToken(SqlParser.DECODE, 0); +}; + +FunctionNameBaseContext.prototype.DEGREES = function() { + return this.getToken(SqlParser.DEGREES, 0); +}; + +FunctionNameBaseContext.prototype.DES_DECRYPT = function() { + return this.getToken(SqlParser.DES_DECRYPT, 0); +}; + +FunctionNameBaseContext.prototype.DES_ENCRYPT = function() { + return this.getToken(SqlParser.DES_ENCRYPT, 0); +}; + +FunctionNameBaseContext.prototype.DIMENSION = function() { + return this.getToken(SqlParser.DIMENSION, 0); +}; + +FunctionNameBaseContext.prototype.DISJOINT = function() { + return this.getToken(SqlParser.DISJOINT, 0); +}; + +FunctionNameBaseContext.prototype.ELT = function() { + return this.getToken(SqlParser.ELT, 0); +}; + +FunctionNameBaseContext.prototype.ENCODE = function() { + return this.getToken(SqlParser.ENCODE, 0); +}; + +FunctionNameBaseContext.prototype.ENCRYPT = function() { + return this.getToken(SqlParser.ENCRYPT, 0); +}; + +FunctionNameBaseContext.prototype.ENDPOINT = function() { + return this.getToken(SqlParser.ENDPOINT, 0); +}; + +FunctionNameBaseContext.prototype.ENVELOPE = function() { + return this.getToken(SqlParser.ENVELOPE, 0); +}; + +FunctionNameBaseContext.prototype.EQUALS = function() { + return this.getToken(SqlParser.EQUALS, 0); +}; + +FunctionNameBaseContext.prototype.EXP = function() { + return this.getToken(SqlParser.EXP, 0); +}; + +FunctionNameBaseContext.prototype.EXPORT_SET = function() { + return this.getToken(SqlParser.EXPORT_SET, 0); +}; + +FunctionNameBaseContext.prototype.EXTERIORRING = function() { + return this.getToken(SqlParser.EXTERIORRING, 0); +}; + +FunctionNameBaseContext.prototype.EXTRACTVALUE = function() { + return this.getToken(SqlParser.EXTRACTVALUE, 0); +}; + +FunctionNameBaseContext.prototype.FIELD = function() { + return this.getToken(SqlParser.FIELD, 0); +}; + +FunctionNameBaseContext.prototype.FIND_IN_SET = function() { + return this.getToken(SqlParser.FIND_IN_SET, 0); +}; + +FunctionNameBaseContext.prototype.FLOOR = function() { + return this.getToken(SqlParser.FLOOR, 0); +}; + +FunctionNameBaseContext.prototype.FORMAT = function() { + return this.getToken(SqlParser.FORMAT, 0); +}; + +FunctionNameBaseContext.prototype.FOUND_ROWS = function() { + return this.getToken(SqlParser.FOUND_ROWS, 0); +}; + +FunctionNameBaseContext.prototype.FROM_BASE64 = function() { + return this.getToken(SqlParser.FROM_BASE64, 0); +}; + +FunctionNameBaseContext.prototype.FROM_DAYS = function() { + return this.getToken(SqlParser.FROM_DAYS, 0); +}; + +FunctionNameBaseContext.prototype.FROM_UNIXTIME = function() { + return this.getToken(SqlParser.FROM_UNIXTIME, 0); +}; + +FunctionNameBaseContext.prototype.GEOMCOLLFROMTEXT = function() { + return this.getToken(SqlParser.GEOMCOLLFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.GEOMCOLLFROMWKB = function() { + return this.getToken(SqlParser.GEOMCOLLFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.GEOMETRYCOLLECTION = function() { + return this.getToken(SqlParser.GEOMETRYCOLLECTION, 0); +}; + +FunctionNameBaseContext.prototype.GEOMETRYCOLLECTIONFROMTEXT = function() { + return this.getToken(SqlParser.GEOMETRYCOLLECTIONFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.GEOMETRYCOLLECTIONFROMWKB = function() { + return this.getToken(SqlParser.GEOMETRYCOLLECTIONFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.GEOMETRYFROMTEXT = function() { + return this.getToken(SqlParser.GEOMETRYFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.GEOMETRYFROMWKB = function() { + return this.getToken(SqlParser.GEOMETRYFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.GEOMETRYN = function() { + return this.getToken(SqlParser.GEOMETRYN, 0); +}; + +FunctionNameBaseContext.prototype.GEOMETRYTYPE = function() { + return this.getToken(SqlParser.GEOMETRYTYPE, 0); +}; + +FunctionNameBaseContext.prototype.GEOMFROMTEXT = function() { + return this.getToken(SqlParser.GEOMFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.GEOMFROMWKB = function() { + return this.getToken(SqlParser.GEOMFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.GET_FORMAT = function() { + return this.getToken(SqlParser.GET_FORMAT, 0); +}; + +FunctionNameBaseContext.prototype.GET_LOCK = function() { + return this.getToken(SqlParser.GET_LOCK, 0); +}; + +FunctionNameBaseContext.prototype.GLENGTH = function() { + return this.getToken(SqlParser.GLENGTH, 0); +}; + +FunctionNameBaseContext.prototype.GREATEST = function() { + return this.getToken(SqlParser.GREATEST, 0); +}; + +FunctionNameBaseContext.prototype.GTID_SUBSET = function() { + return this.getToken(SqlParser.GTID_SUBSET, 0); +}; + +FunctionNameBaseContext.prototype.GTID_SUBTRACT = function() { + return this.getToken(SqlParser.GTID_SUBTRACT, 0); +}; + +FunctionNameBaseContext.prototype.HEX = function() { + return this.getToken(SqlParser.HEX, 0); +}; + +FunctionNameBaseContext.prototype.HOUR = function() { + return this.getToken(SqlParser.HOUR, 0); +}; + +FunctionNameBaseContext.prototype.IFNULL = function() { + return this.getToken(SqlParser.IFNULL, 0); +}; + +FunctionNameBaseContext.prototype.INET6_ATON = function() { + return this.getToken(SqlParser.INET6_ATON, 0); +}; + +FunctionNameBaseContext.prototype.INET6_NTOA = function() { + return this.getToken(SqlParser.INET6_NTOA, 0); +}; + +FunctionNameBaseContext.prototype.INET_ATON = function() { + return this.getToken(SqlParser.INET_ATON, 0); +}; + +FunctionNameBaseContext.prototype.INET_NTOA = function() { + return this.getToken(SqlParser.INET_NTOA, 0); +}; + +FunctionNameBaseContext.prototype.INSTR = function() { + return this.getToken(SqlParser.INSTR, 0); +}; + +FunctionNameBaseContext.prototype.INTERIORRINGN = function() { + return this.getToken(SqlParser.INTERIORRINGN, 0); +}; + +FunctionNameBaseContext.prototype.INTERSECTS = function() { + return this.getToken(SqlParser.INTERSECTS, 0); +}; + +FunctionNameBaseContext.prototype.INVISIBLE = function() { + return this.getToken(SqlParser.INVISIBLE, 0); +}; + +FunctionNameBaseContext.prototype.ISCLOSED = function() { + return this.getToken(SqlParser.ISCLOSED, 0); +}; + +FunctionNameBaseContext.prototype.ISEMPTY = function() { + return this.getToken(SqlParser.ISEMPTY, 0); +}; + +FunctionNameBaseContext.prototype.ISNULL = function() { + return this.getToken(SqlParser.ISNULL, 0); +}; + +FunctionNameBaseContext.prototype.ISSIMPLE = function() { + return this.getToken(SqlParser.ISSIMPLE, 0); +}; + +FunctionNameBaseContext.prototype.IS_FREE_LOCK = function() { + return this.getToken(SqlParser.IS_FREE_LOCK, 0); +}; + +FunctionNameBaseContext.prototype.IS_IPV4 = function() { + return this.getToken(SqlParser.IS_IPV4, 0); +}; + +FunctionNameBaseContext.prototype.IS_IPV4_COMPAT = function() { + return this.getToken(SqlParser.IS_IPV4_COMPAT, 0); +}; + +FunctionNameBaseContext.prototype.IS_IPV4_MAPPED = function() { + return this.getToken(SqlParser.IS_IPV4_MAPPED, 0); +}; + +FunctionNameBaseContext.prototype.IS_IPV6 = function() { + return this.getToken(SqlParser.IS_IPV6, 0); +}; + +FunctionNameBaseContext.prototype.IS_USED_LOCK = function() { + return this.getToken(SqlParser.IS_USED_LOCK, 0); +}; + +FunctionNameBaseContext.prototype.LAST_INSERT_ID = function() { + return this.getToken(SqlParser.LAST_INSERT_ID, 0); +}; + +FunctionNameBaseContext.prototype.LCASE = function() { + return this.getToken(SqlParser.LCASE, 0); +}; + +FunctionNameBaseContext.prototype.LEAST = function() { + return this.getToken(SqlParser.LEAST, 0); +}; + +FunctionNameBaseContext.prototype.LEFT = function() { + return this.getToken(SqlParser.LEFT, 0); +}; + +FunctionNameBaseContext.prototype.LENGTH = function() { + return this.getToken(SqlParser.LENGTH, 0); +}; + +FunctionNameBaseContext.prototype.LINEFROMTEXT = function() { + return this.getToken(SqlParser.LINEFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.LINEFROMWKB = function() { + return this.getToken(SqlParser.LINEFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.LINESTRING = function() { + return this.getToken(SqlParser.LINESTRING, 0); +}; + +FunctionNameBaseContext.prototype.LINESTRINGFROMTEXT = function() { + return this.getToken(SqlParser.LINESTRINGFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.LINESTRINGFROMWKB = function() { + return this.getToken(SqlParser.LINESTRINGFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.LN = function() { + return this.getToken(SqlParser.LN, 0); +}; + +FunctionNameBaseContext.prototype.LOAD_FILE = function() { + return this.getToken(SqlParser.LOAD_FILE, 0); +}; + +FunctionNameBaseContext.prototype.LOCATE = function() { + return this.getToken(SqlParser.LOCATE, 0); +}; + +FunctionNameBaseContext.prototype.LOG = function() { + return this.getToken(SqlParser.LOG, 0); +}; + +FunctionNameBaseContext.prototype.LOG10 = function() { + return this.getToken(SqlParser.LOG10, 0); +}; + +FunctionNameBaseContext.prototype.LOG2 = function() { + return this.getToken(SqlParser.LOG2, 0); +}; + +FunctionNameBaseContext.prototype.LOWER = function() { + return this.getToken(SqlParser.LOWER, 0); +}; + +FunctionNameBaseContext.prototype.LPAD = function() { + return this.getToken(SqlParser.LPAD, 0); +}; + +FunctionNameBaseContext.prototype.LTRIM = function() { + return this.getToken(SqlParser.LTRIM, 0); +}; + +FunctionNameBaseContext.prototype.MAKEDATE = function() { + return this.getToken(SqlParser.MAKEDATE, 0); +}; + +FunctionNameBaseContext.prototype.MAKETIME = function() { + return this.getToken(SqlParser.MAKETIME, 0); +}; + +FunctionNameBaseContext.prototype.MAKE_SET = function() { + return this.getToken(SqlParser.MAKE_SET, 0); +}; + +FunctionNameBaseContext.prototype.MASTER_POS_WAIT = function() { + return this.getToken(SqlParser.MASTER_POS_WAIT, 0); +}; + +FunctionNameBaseContext.prototype.MBRCONTAINS = function() { + return this.getToken(SqlParser.MBRCONTAINS, 0); +}; + +FunctionNameBaseContext.prototype.MBRDISJOINT = function() { + return this.getToken(SqlParser.MBRDISJOINT, 0); +}; + +FunctionNameBaseContext.prototype.MBREQUAL = function() { + return this.getToken(SqlParser.MBREQUAL, 0); +}; + +FunctionNameBaseContext.prototype.MBRINTERSECTS = function() { + return this.getToken(SqlParser.MBRINTERSECTS, 0); +}; + +FunctionNameBaseContext.prototype.MBROVERLAPS = function() { + return this.getToken(SqlParser.MBROVERLAPS, 0); +}; + +FunctionNameBaseContext.prototype.MBRTOUCHES = function() { + return this.getToken(SqlParser.MBRTOUCHES, 0); +}; + +FunctionNameBaseContext.prototype.MBRWITHIN = function() { + return this.getToken(SqlParser.MBRWITHIN, 0); +}; + +FunctionNameBaseContext.prototype.MD5 = function() { + return this.getToken(SqlParser.MD5, 0); +}; + +FunctionNameBaseContext.prototype.MICROSECOND = function() { + return this.getToken(SqlParser.MICROSECOND, 0); +}; + +FunctionNameBaseContext.prototype.MINUTE = function() { + return this.getToken(SqlParser.MINUTE, 0); +}; + +FunctionNameBaseContext.prototype.MLINEFROMTEXT = function() { + return this.getToken(SqlParser.MLINEFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.MLINEFROMWKB = function() { + return this.getToken(SqlParser.MLINEFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.MONTH = function() { + return this.getToken(SqlParser.MONTH, 0); +}; + +FunctionNameBaseContext.prototype.MONTHNAME = function() { + return this.getToken(SqlParser.MONTHNAME, 0); +}; + +FunctionNameBaseContext.prototype.MPOINTFROMTEXT = function() { + return this.getToken(SqlParser.MPOINTFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.MPOINTFROMWKB = function() { + return this.getToken(SqlParser.MPOINTFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.MPOLYFROMTEXT = function() { + return this.getToken(SqlParser.MPOLYFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.MPOLYFROMWKB = function() { + return this.getToken(SqlParser.MPOLYFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.MULTILINESTRING = function() { + return this.getToken(SqlParser.MULTILINESTRING, 0); +}; + +FunctionNameBaseContext.prototype.MULTILINESTRINGFROMTEXT = function() { + return this.getToken(SqlParser.MULTILINESTRINGFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.MULTILINESTRINGFROMWKB = function() { + return this.getToken(SqlParser.MULTILINESTRINGFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.MULTIPOINT = function() { + return this.getToken(SqlParser.MULTIPOINT, 0); +}; + +FunctionNameBaseContext.prototype.MULTIPOINTFROMTEXT = function() { + return this.getToken(SqlParser.MULTIPOINTFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.MULTIPOINTFROMWKB = function() { + return this.getToken(SqlParser.MULTIPOINTFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.MULTIPOLYGON = function() { + return this.getToken(SqlParser.MULTIPOLYGON, 0); +}; + +FunctionNameBaseContext.prototype.MULTIPOLYGONFROMTEXT = function() { + return this.getToken(SqlParser.MULTIPOLYGONFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.MULTIPOLYGONFROMWKB = function() { + return this.getToken(SqlParser.MULTIPOLYGONFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.NAME_CONST = function() { + return this.getToken(SqlParser.NAME_CONST, 0); +}; + +FunctionNameBaseContext.prototype.NULLIF = function() { + return this.getToken(SqlParser.NULLIF, 0); +}; + +FunctionNameBaseContext.prototype.NUMGEOMETRIES = function() { + return this.getToken(SqlParser.NUMGEOMETRIES, 0); +}; + +FunctionNameBaseContext.prototype.NUMINTERIORRINGS = function() { + return this.getToken(SqlParser.NUMINTERIORRINGS, 0); +}; + +FunctionNameBaseContext.prototype.NUMPOINTS = function() { + return this.getToken(SqlParser.NUMPOINTS, 0); +}; + +FunctionNameBaseContext.prototype.OCT = function() { + return this.getToken(SqlParser.OCT, 0); +}; + +FunctionNameBaseContext.prototype.OCTET_LENGTH = function() { + return this.getToken(SqlParser.OCTET_LENGTH, 0); +}; + +FunctionNameBaseContext.prototype.ORD = function() { + return this.getToken(SqlParser.ORD, 0); +}; + +FunctionNameBaseContext.prototype.OVERLAPS = function() { + return this.getToken(SqlParser.OVERLAPS, 0); +}; + +FunctionNameBaseContext.prototype.PERIOD_ADD = function() { + return this.getToken(SqlParser.PERIOD_ADD, 0); +}; + +FunctionNameBaseContext.prototype.PERIOD_DIFF = function() { + return this.getToken(SqlParser.PERIOD_DIFF, 0); +}; + +FunctionNameBaseContext.prototype.PI = function() { + return this.getToken(SqlParser.PI, 0); +}; + +FunctionNameBaseContext.prototype.POINT = function() { + return this.getToken(SqlParser.POINT, 0); +}; + +FunctionNameBaseContext.prototype.POINTFROMTEXT = function() { + return this.getToken(SqlParser.POINTFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.POINTFROMWKB = function() { + return this.getToken(SqlParser.POINTFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.POINTN = function() { + return this.getToken(SqlParser.POINTN, 0); +}; + +FunctionNameBaseContext.prototype.POLYFROMTEXT = function() { + return this.getToken(SqlParser.POLYFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.POLYFROMWKB = function() { + return this.getToken(SqlParser.POLYFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.POLYGON = function() { + return this.getToken(SqlParser.POLYGON, 0); +}; + +FunctionNameBaseContext.prototype.POLYGONFROMTEXT = function() { + return this.getToken(SqlParser.POLYGONFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.POLYGONFROMWKB = function() { + return this.getToken(SqlParser.POLYGONFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.POSITION = function() { + return this.getToken(SqlParser.POSITION, 0); +}; + +FunctionNameBaseContext.prototype.POW = function() { + return this.getToken(SqlParser.POW, 0); +}; + +FunctionNameBaseContext.prototype.POWER = function() { + return this.getToken(SqlParser.POWER, 0); +}; + +FunctionNameBaseContext.prototype.QUARTER = function() { + return this.getToken(SqlParser.QUARTER, 0); +}; + +FunctionNameBaseContext.prototype.QUOTE = function() { + return this.getToken(SqlParser.QUOTE, 0); +}; + +FunctionNameBaseContext.prototype.RADIANS = function() { + return this.getToken(SqlParser.RADIANS, 0); +}; + +FunctionNameBaseContext.prototype.RAND = function() { + return this.getToken(SqlParser.RAND, 0); +}; + +FunctionNameBaseContext.prototype.RANDOM_BYTES = function() { + return this.getToken(SqlParser.RANDOM_BYTES, 0); +}; + +FunctionNameBaseContext.prototype.RELEASE_LOCK = function() { + return this.getToken(SqlParser.RELEASE_LOCK, 0); +}; + +FunctionNameBaseContext.prototype.REVERSE = function() { + return this.getToken(SqlParser.REVERSE, 0); +}; + +FunctionNameBaseContext.prototype.RIGHT = function() { + return this.getToken(SqlParser.RIGHT, 0); +}; + +FunctionNameBaseContext.prototype.ROUND = function() { + return this.getToken(SqlParser.ROUND, 0); +}; + +FunctionNameBaseContext.prototype.ROW_COUNT = function() { + return this.getToken(SqlParser.ROW_COUNT, 0); +}; + +FunctionNameBaseContext.prototype.RPAD = function() { + return this.getToken(SqlParser.RPAD, 0); +}; + +FunctionNameBaseContext.prototype.RTRIM = function() { + return this.getToken(SqlParser.RTRIM, 0); +}; + +FunctionNameBaseContext.prototype.SECOND = function() { + return this.getToken(SqlParser.SECOND, 0); +}; + +FunctionNameBaseContext.prototype.SEC_TO_TIME = function() { + return this.getToken(SqlParser.SEC_TO_TIME, 0); +}; + +FunctionNameBaseContext.prototype.SESSION_USER = function() { + return this.getToken(SqlParser.SESSION_USER, 0); +}; + +FunctionNameBaseContext.prototype.SESSION_VARIABLES_ADMIN = function() { + return this.getToken(SqlParser.SESSION_VARIABLES_ADMIN, 0); +}; + +FunctionNameBaseContext.prototype.SHA = function() { + return this.getToken(SqlParser.SHA, 0); +}; + +FunctionNameBaseContext.prototype.SHA1 = function() { + return this.getToken(SqlParser.SHA1, 0); +}; + +FunctionNameBaseContext.prototype.SHA2 = function() { + return this.getToken(SqlParser.SHA2, 0); +}; + +FunctionNameBaseContext.prototype.SIGN = function() { + return this.getToken(SqlParser.SIGN, 0); +}; + +FunctionNameBaseContext.prototype.SIN = function() { + return this.getToken(SqlParser.SIN, 0); +}; + +FunctionNameBaseContext.prototype.SLEEP = function() { + return this.getToken(SqlParser.SLEEP, 0); +}; + +FunctionNameBaseContext.prototype.SOUNDEX = function() { + return this.getToken(SqlParser.SOUNDEX, 0); +}; + +FunctionNameBaseContext.prototype.SQL_THREAD_WAIT_AFTER_GTIDS = function() { + return this.getToken(SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS, 0); +}; + +FunctionNameBaseContext.prototype.SQRT = function() { + return this.getToken(SqlParser.SQRT, 0); +}; + +FunctionNameBaseContext.prototype.SRID = function() { + return this.getToken(SqlParser.SRID, 0); +}; + +FunctionNameBaseContext.prototype.STARTPOINT = function() { + return this.getToken(SqlParser.STARTPOINT, 0); +}; + +FunctionNameBaseContext.prototype.STRCMP = function() { + return this.getToken(SqlParser.STRCMP, 0); +}; + +FunctionNameBaseContext.prototype.STR_TO_DATE = function() { + return this.getToken(SqlParser.STR_TO_DATE, 0); +}; + +FunctionNameBaseContext.prototype.ST_AREA = function() { + return this.getToken(SqlParser.ST_AREA, 0); +}; + +FunctionNameBaseContext.prototype.ST_ASBINARY = function() { + return this.getToken(SqlParser.ST_ASBINARY, 0); +}; + +FunctionNameBaseContext.prototype.ST_ASTEXT = function() { + return this.getToken(SqlParser.ST_ASTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_ASWKB = function() { + return this.getToken(SqlParser.ST_ASWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_ASWKT = function() { + return this.getToken(SqlParser.ST_ASWKT, 0); +}; + +FunctionNameBaseContext.prototype.ST_BUFFER = function() { + return this.getToken(SqlParser.ST_BUFFER, 0); +}; + +FunctionNameBaseContext.prototype.ST_CENTROID = function() { + return this.getToken(SqlParser.ST_CENTROID, 0); +}; + +FunctionNameBaseContext.prototype.ST_CONTAINS = function() { + return this.getToken(SqlParser.ST_CONTAINS, 0); +}; + +FunctionNameBaseContext.prototype.ST_CROSSES = function() { + return this.getToken(SqlParser.ST_CROSSES, 0); +}; + +FunctionNameBaseContext.prototype.ST_DIFFERENCE = function() { + return this.getToken(SqlParser.ST_DIFFERENCE, 0); +}; + +FunctionNameBaseContext.prototype.ST_DIMENSION = function() { + return this.getToken(SqlParser.ST_DIMENSION, 0); +}; + +FunctionNameBaseContext.prototype.ST_DISJOINT = function() { + return this.getToken(SqlParser.ST_DISJOINT, 0); +}; + +FunctionNameBaseContext.prototype.ST_DISTANCE = function() { + return this.getToken(SqlParser.ST_DISTANCE, 0); +}; + +FunctionNameBaseContext.prototype.ST_ENDPOINT = function() { + return this.getToken(SqlParser.ST_ENDPOINT, 0); +}; + +FunctionNameBaseContext.prototype.ST_ENVELOPE = function() { + return this.getToken(SqlParser.ST_ENVELOPE, 0); +}; + +FunctionNameBaseContext.prototype.ST_EQUALS = function() { + return this.getToken(SqlParser.ST_EQUALS, 0); +}; + +FunctionNameBaseContext.prototype.ST_EXTERIORRING = function() { + return this.getToken(SqlParser.ST_EXTERIORRING, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMCOLLFROMTEXT = function() { + return this.getToken(SqlParser.ST_GEOMCOLLFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMCOLLFROMTXT = function() { + return this.getToken(SqlParser.ST_GEOMCOLLFROMTXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMCOLLFROMWKB = function() { + return this.getToken(SqlParser.ST_GEOMCOLLFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMETRYCOLLECTIONFROMTEXT = function() { + return this.getToken(SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMETRYCOLLECTIONFROMWKB = function() { + return this.getToken(SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMETRYFROMTEXT = function() { + return this.getToken(SqlParser.ST_GEOMETRYFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMETRYFROMWKB = function() { + return this.getToken(SqlParser.ST_GEOMETRYFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMETRYN = function() { + return this.getToken(SqlParser.ST_GEOMETRYN, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMETRYTYPE = function() { + return this.getToken(SqlParser.ST_GEOMETRYTYPE, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMFROMTEXT = function() { + return this.getToken(SqlParser.ST_GEOMFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_GEOMFROMWKB = function() { + return this.getToken(SqlParser.ST_GEOMFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_INTERIORRINGN = function() { + return this.getToken(SqlParser.ST_INTERIORRINGN, 0); +}; + +FunctionNameBaseContext.prototype.ST_INTERSECTION = function() { + return this.getToken(SqlParser.ST_INTERSECTION, 0); +}; + +FunctionNameBaseContext.prototype.ST_INTERSECTS = function() { + return this.getToken(SqlParser.ST_INTERSECTS, 0); +}; + +FunctionNameBaseContext.prototype.ST_ISCLOSED = function() { + return this.getToken(SqlParser.ST_ISCLOSED, 0); +}; + +FunctionNameBaseContext.prototype.ST_ISEMPTY = function() { + return this.getToken(SqlParser.ST_ISEMPTY, 0); +}; + +FunctionNameBaseContext.prototype.ST_ISSIMPLE = function() { + return this.getToken(SqlParser.ST_ISSIMPLE, 0); +}; + +FunctionNameBaseContext.prototype.ST_LINEFROMTEXT = function() { + return this.getToken(SqlParser.ST_LINEFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_LINEFROMWKB = function() { + return this.getToken(SqlParser.ST_LINEFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_LINESTRINGFROMTEXT = function() { + return this.getToken(SqlParser.ST_LINESTRINGFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_LINESTRINGFROMWKB = function() { + return this.getToken(SqlParser.ST_LINESTRINGFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_NUMGEOMETRIES = function() { + return this.getToken(SqlParser.ST_NUMGEOMETRIES, 0); +}; + +FunctionNameBaseContext.prototype.ST_NUMINTERIORRING = function() { + return this.getToken(SqlParser.ST_NUMINTERIORRING, 0); +}; + +FunctionNameBaseContext.prototype.ST_NUMINTERIORRINGS = function() { + return this.getToken(SqlParser.ST_NUMINTERIORRINGS, 0); +}; + +FunctionNameBaseContext.prototype.ST_NUMPOINTS = function() { + return this.getToken(SqlParser.ST_NUMPOINTS, 0); +}; + +FunctionNameBaseContext.prototype.ST_OVERLAPS = function() { + return this.getToken(SqlParser.ST_OVERLAPS, 0); +}; + +FunctionNameBaseContext.prototype.ST_POINTFROMTEXT = function() { + return this.getToken(SqlParser.ST_POINTFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_POINTFROMWKB = function() { + return this.getToken(SqlParser.ST_POINTFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_POINTN = function() { + return this.getToken(SqlParser.ST_POINTN, 0); +}; + +FunctionNameBaseContext.prototype.ST_POLYFROMTEXT = function() { + return this.getToken(SqlParser.ST_POLYFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_POLYFROMWKB = function() { + return this.getToken(SqlParser.ST_POLYFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_POLYGONFROMTEXT = function() { + return this.getToken(SqlParser.ST_POLYGONFROMTEXT, 0); +}; + +FunctionNameBaseContext.prototype.ST_POLYGONFROMWKB = function() { + return this.getToken(SqlParser.ST_POLYGONFROMWKB, 0); +}; + +FunctionNameBaseContext.prototype.ST_SRID = function() { + return this.getToken(SqlParser.ST_SRID, 0); +}; + +FunctionNameBaseContext.prototype.ST_STARTPOINT = function() { + return this.getToken(SqlParser.ST_STARTPOINT, 0); +}; + +FunctionNameBaseContext.prototype.ST_SYMDIFFERENCE = function() { + return this.getToken(SqlParser.ST_SYMDIFFERENCE, 0); +}; + +FunctionNameBaseContext.prototype.ST_TOUCHES = function() { + return this.getToken(SqlParser.ST_TOUCHES, 0); +}; + +FunctionNameBaseContext.prototype.ST_UNION = function() { + return this.getToken(SqlParser.ST_UNION, 0); +}; + +FunctionNameBaseContext.prototype.ST_WITHIN = function() { + return this.getToken(SqlParser.ST_WITHIN, 0); +}; + +FunctionNameBaseContext.prototype.ST_X = function() { + return this.getToken(SqlParser.ST_X, 0); +}; + +FunctionNameBaseContext.prototype.ST_Y = function() { + return this.getToken(SqlParser.ST_Y, 0); +}; + +FunctionNameBaseContext.prototype.SUBDATE = function() { + return this.getToken(SqlParser.SUBDATE, 0); +}; + +FunctionNameBaseContext.prototype.SUBSTRING_INDEX = function() { + return this.getToken(SqlParser.SUBSTRING_INDEX, 0); +}; + +FunctionNameBaseContext.prototype.SUBTIME = function() { + return this.getToken(SqlParser.SUBTIME, 0); +}; + +FunctionNameBaseContext.prototype.SYSTEM_USER = function() { + return this.getToken(SqlParser.SYSTEM_USER, 0); +}; + +FunctionNameBaseContext.prototype.TAN = function() { + return this.getToken(SqlParser.TAN, 0); +}; + +FunctionNameBaseContext.prototype.TIME = function() { + return this.getToken(SqlParser.TIME, 0); +}; + +FunctionNameBaseContext.prototype.TIMEDIFF = function() { + return this.getToken(SqlParser.TIMEDIFF, 0); +}; + +FunctionNameBaseContext.prototype.TIMESTAMP = function() { + return this.getToken(SqlParser.TIMESTAMP, 0); +}; + +FunctionNameBaseContext.prototype.TIMESTAMPADD = function() { + return this.getToken(SqlParser.TIMESTAMPADD, 0); +}; + +FunctionNameBaseContext.prototype.TIMESTAMPDIFF = function() { + return this.getToken(SqlParser.TIMESTAMPDIFF, 0); +}; + +FunctionNameBaseContext.prototype.TIME_FORMAT = function() { + return this.getToken(SqlParser.TIME_FORMAT, 0); +}; + +FunctionNameBaseContext.prototype.TIME_TO_SEC = function() { + return this.getToken(SqlParser.TIME_TO_SEC, 0); +}; + +FunctionNameBaseContext.prototype.TOUCHES = function() { + return this.getToken(SqlParser.TOUCHES, 0); +}; + +FunctionNameBaseContext.prototype.TO_BASE64 = function() { + return this.getToken(SqlParser.TO_BASE64, 0); +}; + +FunctionNameBaseContext.prototype.TO_DAYS = function() { + return this.getToken(SqlParser.TO_DAYS, 0); +}; + +FunctionNameBaseContext.prototype.TO_SECONDS = function() { + return this.getToken(SqlParser.TO_SECONDS, 0); +}; + +FunctionNameBaseContext.prototype.UCASE = function() { + return this.getToken(SqlParser.UCASE, 0); +}; + +FunctionNameBaseContext.prototype.UNCOMPRESS = function() { + return this.getToken(SqlParser.UNCOMPRESS, 0); +}; + +FunctionNameBaseContext.prototype.UNCOMPRESSED_LENGTH = function() { + return this.getToken(SqlParser.UNCOMPRESSED_LENGTH, 0); +}; + +FunctionNameBaseContext.prototype.UNHEX = function() { + return this.getToken(SqlParser.UNHEX, 0); +}; + +FunctionNameBaseContext.prototype.UNIX_TIMESTAMP = function() { + return this.getToken(SqlParser.UNIX_TIMESTAMP, 0); +}; + +FunctionNameBaseContext.prototype.UPDATEXML = function() { + return this.getToken(SqlParser.UPDATEXML, 0); +}; + +FunctionNameBaseContext.prototype.UPPER = function() { + return this.getToken(SqlParser.UPPER, 0); +}; + +FunctionNameBaseContext.prototype.UUID = function() { + return this.getToken(SqlParser.UUID, 0); +}; + +FunctionNameBaseContext.prototype.UUID_SHORT = function() { + return this.getToken(SqlParser.UUID_SHORT, 0); +}; + +FunctionNameBaseContext.prototype.VALIDATE_PASSWORD_STRENGTH = function() { + return this.getToken(SqlParser.VALIDATE_PASSWORD_STRENGTH, 0); +}; + +FunctionNameBaseContext.prototype.VERSION = function() { + return this.getToken(SqlParser.VERSION, 0); +}; + +FunctionNameBaseContext.prototype.VISIBLE = function() { + return this.getToken(SqlParser.VISIBLE, 0); +}; + +FunctionNameBaseContext.prototype.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = function() { + return this.getToken(SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, 0); +}; + +FunctionNameBaseContext.prototype.WEEK = function() { + return this.getToken(SqlParser.WEEK, 0); +}; + +FunctionNameBaseContext.prototype.WEEKDAY = function() { + return this.getToken(SqlParser.WEEKDAY, 0); +}; + +FunctionNameBaseContext.prototype.WEEKOFYEAR = function() { + return this.getToken(SqlParser.WEEKOFYEAR, 0); +}; + +FunctionNameBaseContext.prototype.WEIGHT_STRING = function() { + return this.getToken(SqlParser.WEIGHT_STRING, 0); +}; + +FunctionNameBaseContext.prototype.WITHIN = function() { + return this.getToken(SqlParser.WITHIN, 0); +}; + +FunctionNameBaseContext.prototype.YEAR = function() { + return this.getToken(SqlParser.YEAR, 0); +}; + +FunctionNameBaseContext.prototype.YEARWEEK = function() { + return this.getToken(SqlParser.YEARWEEK, 0); +}; + +FunctionNameBaseContext.prototype.Y_FUNCTION = function() { + return this.getToken(SqlParser.Y_FUNCTION, 0); +}; + +FunctionNameBaseContext.prototype.X_FUNCTION = function() { + return this.getToken(SqlParser.X_FUNCTION, 0); +}; + +FunctionNameBaseContext.prototype.JSON_VALID = function() { + return this.getToken(SqlParser.JSON_VALID, 0); +}; + +FunctionNameBaseContext.prototype.JSON_SCHEMA_VALID = function() { + return this.getToken(SqlParser.JSON_SCHEMA_VALID, 0); +}; + +FunctionNameBaseContext.prototype.enterRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.enterFunctionNameBase(this); + } +}; + +FunctionNameBaseContext.prototype.exitRule = function(listener) { + if(listener instanceof SqlParserListener ) { + listener.exitFunctionNameBase(this); + } +}; + +FunctionNameBaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof SqlParserVisitor ) { + return visitor.visitFunctionNameBase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +SqlParser.FunctionNameBaseContext = FunctionNameBaseContext; + +SqlParser.prototype.functionNameBase = function() { + + var localctx = new FunctionNameBaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 630, SqlParser.RULE_functionNameBase); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6379; + _la = this._input.LA(1); + if(!(_la===SqlParser.DATABASE || _la===SqlParser.LEFT || _la===SqlParser.RIGHT || ((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (SqlParser.DATE - 199)) | (1 << (SqlParser.TIME - 199)) | (1 << (SqlParser.TIMESTAMP - 199)) | (1 << (SqlParser.YEAR - 199)))) !== 0) || ((((_la - 233)) & ~0x1f) == 0 && ((1 << (_la - 233)) & ((1 << (SqlParser.JSON_VALID - 233)) | (1 << (SqlParser.JSON_SCHEMA_VALID - 233)) | (1 << (SqlParser.COUNT - 233)) | (1 << (SqlParser.POSITION - 233)))) !== 0) || _la===SqlParser.INVISIBLE || ((((_la - 580)) & ~0x1f) == 0 && ((1 << (_la - 580)) & ((1 << (SqlParser.VISIBLE - 580)) | (1 << (SqlParser.QUARTER - 580)) | (1 << (SqlParser.MONTH - 580)) | (1 << (SqlParser.DAY - 580)) | (1 << (SqlParser.HOUR - 580)) | (1 << (SqlParser.MINUTE - 580)) | (1 << (SqlParser.WEEK - 580)) | (1 << (SqlParser.SECOND - 580)) | (1 << (SqlParser.MICROSECOND - 580)))) !== 0) || _la===SqlParser.SESSION_VARIABLES_ADMIN || ((((_la - 693)) & ~0x1f) == 0 && ((1 << (_la - 693)) & ((1 << (SqlParser.GEOMETRYCOLLECTION - 693)) | (1 << (SqlParser.LINESTRING - 693)) | (1 << (SqlParser.MULTILINESTRING - 693)) | (1 << (SqlParser.MULTIPOINT - 693)) | (1 << (SqlParser.MULTIPOLYGON - 693)) | (1 << (SqlParser.POINT - 693)) | (1 << (SqlParser.POLYGON - 693)) | (1 << (SqlParser.ABS - 693)) | (1 << (SqlParser.ACOS - 693)) | (1 << (SqlParser.ADDDATE - 693)) | (1 << (SqlParser.ADDTIME - 693)) | (1 << (SqlParser.AES_DECRYPT - 693)) | (1 << (SqlParser.AES_ENCRYPT - 693)) | (1 << (SqlParser.AREA - 693)) | (1 << (SqlParser.ASBINARY - 693)) | (1 << (SqlParser.ASIN - 693)) | (1 << (SqlParser.ASTEXT - 693)) | (1 << (SqlParser.ASWKB - 693)) | (1 << (SqlParser.ASWKT - 693)) | (1 << (SqlParser.ASYMMETRIC_DECRYPT - 693)) | (1 << (SqlParser.ASYMMETRIC_DERIVE - 693)) | (1 << (SqlParser.ASYMMETRIC_ENCRYPT - 693)) | (1 << (SqlParser.ASYMMETRIC_SIGN - 693)) | (1 << (SqlParser.ASYMMETRIC_VERIFY - 693)) | (1 << (SqlParser.ATAN - 693)) | (1 << (SqlParser.ATAN2 - 693)) | (1 << (SqlParser.BENCHMARK - 693)) | (1 << (SqlParser.BIN - 693)) | (1 << (SqlParser.BIT_COUNT - 693)) | (1 << (SqlParser.BIT_LENGTH - 693)))) !== 0) || ((((_la - 725)) & ~0x1f) == 0 && ((1 << (_la - 725)) & ((1 << (SqlParser.BUFFER - 725)) | (1 << (SqlParser.CEIL - 725)) | (1 << (SqlParser.CEILING - 725)) | (1 << (SqlParser.CENTROID - 725)) | (1 << (SqlParser.CHARACTER_LENGTH - 725)) | (1 << (SqlParser.CHARSET - 725)) | (1 << (SqlParser.CHAR_LENGTH - 725)) | (1 << (SqlParser.COERCIBILITY - 725)) | (1 << (SqlParser.COLLATION - 725)) | (1 << (SqlParser.COMPRESS - 725)) | (1 << (SqlParser.CONCAT - 725)) | (1 << (SqlParser.CONCAT_WS - 725)) | (1 << (SqlParser.CONNECTION_ID - 725)) | (1 << (SqlParser.CONV - 725)) | (1 << (SqlParser.CONVERT_TZ - 725)) | (1 << (SqlParser.COS - 725)) | (1 << (SqlParser.COT - 725)) | (1 << (SqlParser.CRC32 - 725)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PRIV_KEY - 725)) | (1 << (SqlParser.CREATE_ASYMMETRIC_PUB_KEY - 725)) | (1 << (SqlParser.CREATE_DH_PARAMETERS - 725)) | (1 << (SqlParser.CREATE_DIGEST - 725)) | (1 << (SqlParser.CROSSES - 725)) | (1 << (SqlParser.DATEDIFF - 725)) | (1 << (SqlParser.DATE_FORMAT - 725)) | (1 << (SqlParser.DAYNAME - 725)) | (1 << (SqlParser.DAYOFMONTH - 725)) | (1 << (SqlParser.DAYOFWEEK - 725)) | (1 << (SqlParser.DAYOFYEAR - 725)) | (1 << (SqlParser.DECODE - 725)) | (1 << (SqlParser.DEGREES - 725)))) !== 0) || ((((_la - 757)) & ~0x1f) == 0 && ((1 << (_la - 757)) & ((1 << (SqlParser.DES_DECRYPT - 757)) | (1 << (SqlParser.DES_ENCRYPT - 757)) | (1 << (SqlParser.DIMENSION - 757)) | (1 << (SqlParser.DISJOINT - 757)) | (1 << (SqlParser.ELT - 757)) | (1 << (SqlParser.ENCODE - 757)) | (1 << (SqlParser.ENCRYPT - 757)) | (1 << (SqlParser.ENDPOINT - 757)) | (1 << (SqlParser.ENVELOPE - 757)) | (1 << (SqlParser.EQUALS - 757)) | (1 << (SqlParser.EXP - 757)) | (1 << (SqlParser.EXPORT_SET - 757)) | (1 << (SqlParser.EXTERIORRING - 757)) | (1 << (SqlParser.EXTRACTVALUE - 757)) | (1 << (SqlParser.FIELD - 757)) | (1 << (SqlParser.FIND_IN_SET - 757)) | (1 << (SqlParser.FLOOR - 757)) | (1 << (SqlParser.FORMAT - 757)) | (1 << (SqlParser.FOUND_ROWS - 757)) | (1 << (SqlParser.FROM_BASE64 - 757)) | (1 << (SqlParser.FROM_DAYS - 757)) | (1 << (SqlParser.FROM_UNIXTIME - 757)) | (1 << (SqlParser.GEOMCOLLFROMTEXT - 757)) | (1 << (SqlParser.GEOMCOLLFROMWKB - 757)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMTEXT - 757)) | (1 << (SqlParser.GEOMETRYCOLLECTIONFROMWKB - 757)) | (1 << (SqlParser.GEOMETRYFROMTEXT - 757)) | (1 << (SqlParser.GEOMETRYFROMWKB - 757)) | (1 << (SqlParser.GEOMETRYN - 757)) | (1 << (SqlParser.GEOMETRYTYPE - 757)) | (1 << (SqlParser.GEOMFROMTEXT - 757)) | (1 << (SqlParser.GEOMFROMWKB - 757)))) !== 0) || ((((_la - 789)) & ~0x1f) == 0 && ((1 << (_la - 789)) & ((1 << (SqlParser.GET_FORMAT - 789)) | (1 << (SqlParser.GET_LOCK - 789)) | (1 << (SqlParser.GLENGTH - 789)) | (1 << (SqlParser.GREATEST - 789)) | (1 << (SqlParser.GTID_SUBSET - 789)) | (1 << (SqlParser.GTID_SUBTRACT - 789)) | (1 << (SqlParser.HEX - 789)) | (1 << (SqlParser.IFNULL - 789)) | (1 << (SqlParser.INET6_ATON - 789)) | (1 << (SqlParser.INET6_NTOA - 789)) | (1 << (SqlParser.INET_ATON - 789)) | (1 << (SqlParser.INET_NTOA - 789)) | (1 << (SqlParser.INSTR - 789)) | (1 << (SqlParser.INTERIORRINGN - 789)) | (1 << (SqlParser.INTERSECTS - 789)) | (1 << (SqlParser.ISCLOSED - 789)) | (1 << (SqlParser.ISEMPTY - 789)) | (1 << (SqlParser.ISNULL - 789)) | (1 << (SqlParser.ISSIMPLE - 789)) | (1 << (SqlParser.IS_FREE_LOCK - 789)) | (1 << (SqlParser.IS_IPV4 - 789)) | (1 << (SqlParser.IS_IPV4_COMPAT - 789)) | (1 << (SqlParser.IS_IPV4_MAPPED - 789)) | (1 << (SqlParser.IS_IPV6 - 789)) | (1 << (SqlParser.IS_USED_LOCK - 789)) | (1 << (SqlParser.LAST_INSERT_ID - 789)) | (1 << (SqlParser.LCASE - 789)) | (1 << (SqlParser.LEAST - 789)) | (1 << (SqlParser.LENGTH - 789)) | (1 << (SqlParser.LINEFROMTEXT - 789)) | (1 << (SqlParser.LINEFROMWKB - 789)) | (1 << (SqlParser.LINESTRINGFROMTEXT - 789)))) !== 0) || ((((_la - 821)) & ~0x1f) == 0 && ((1 << (_la - 821)) & ((1 << (SqlParser.LINESTRINGFROMWKB - 821)) | (1 << (SqlParser.LN - 821)) | (1 << (SqlParser.LOAD_FILE - 821)) | (1 << (SqlParser.LOCATE - 821)) | (1 << (SqlParser.LOG - 821)) | (1 << (SqlParser.LOG10 - 821)) | (1 << (SqlParser.LOG2 - 821)) | (1 << (SqlParser.LOWER - 821)) | (1 << (SqlParser.LPAD - 821)) | (1 << (SqlParser.LTRIM - 821)) | (1 << (SqlParser.MAKEDATE - 821)) | (1 << (SqlParser.MAKETIME - 821)) | (1 << (SqlParser.MAKE_SET - 821)) | (1 << (SqlParser.MASTER_POS_WAIT - 821)) | (1 << (SqlParser.MBRCONTAINS - 821)) | (1 << (SqlParser.MBRDISJOINT - 821)) | (1 << (SqlParser.MBREQUAL - 821)) | (1 << (SqlParser.MBRINTERSECTS - 821)) | (1 << (SqlParser.MBROVERLAPS - 821)) | (1 << (SqlParser.MBRTOUCHES - 821)) | (1 << (SqlParser.MBRWITHIN - 821)) | (1 << (SqlParser.MD5 - 821)) | (1 << (SqlParser.MLINEFROMTEXT - 821)) | (1 << (SqlParser.MLINEFROMWKB - 821)) | (1 << (SqlParser.MONTHNAME - 821)) | (1 << (SqlParser.MPOINTFROMTEXT - 821)) | (1 << (SqlParser.MPOINTFROMWKB - 821)) | (1 << (SqlParser.MPOLYFROMTEXT - 821)) | (1 << (SqlParser.MPOLYFROMWKB - 821)) | (1 << (SqlParser.MULTILINESTRINGFROMTEXT - 821)) | (1 << (SqlParser.MULTILINESTRINGFROMWKB - 821)) | (1 << (SqlParser.MULTIPOINTFROMTEXT - 821)))) !== 0) || ((((_la - 853)) & ~0x1f) == 0 && ((1 << (_la - 853)) & ((1 << (SqlParser.MULTIPOINTFROMWKB - 853)) | (1 << (SqlParser.MULTIPOLYGONFROMTEXT - 853)) | (1 << (SqlParser.MULTIPOLYGONFROMWKB - 853)) | (1 << (SqlParser.NAME_CONST - 853)) | (1 << (SqlParser.NULLIF - 853)) | (1 << (SqlParser.NUMGEOMETRIES - 853)) | (1 << (SqlParser.NUMINTERIORRINGS - 853)) | (1 << (SqlParser.NUMPOINTS - 853)) | (1 << (SqlParser.OCT - 853)) | (1 << (SqlParser.OCTET_LENGTH - 853)) | (1 << (SqlParser.ORD - 853)) | (1 << (SqlParser.OVERLAPS - 853)) | (1 << (SqlParser.PERIOD_ADD - 853)) | (1 << (SqlParser.PERIOD_DIFF - 853)) | (1 << (SqlParser.PI - 853)) | (1 << (SqlParser.POINTFROMTEXT - 853)) | (1 << (SqlParser.POINTFROMWKB - 853)) | (1 << (SqlParser.POINTN - 853)) | (1 << (SqlParser.POLYFROMTEXT - 853)) | (1 << (SqlParser.POLYFROMWKB - 853)) | (1 << (SqlParser.POLYGONFROMTEXT - 853)) | (1 << (SqlParser.POLYGONFROMWKB - 853)) | (1 << (SqlParser.POW - 853)) | (1 << (SqlParser.POWER - 853)) | (1 << (SqlParser.QUOTE - 853)) | (1 << (SqlParser.RADIANS - 853)) | (1 << (SqlParser.RAND - 853)) | (1 << (SqlParser.RANDOM_BYTES - 853)) | (1 << (SqlParser.RELEASE_LOCK - 853)) | (1 << (SqlParser.REVERSE - 853)) | (1 << (SqlParser.ROUND - 853)) | (1 << (SqlParser.ROW_COUNT - 853)))) !== 0) || ((((_la - 885)) & ~0x1f) == 0 && ((1 << (_la - 885)) & ((1 << (SqlParser.RPAD - 885)) | (1 << (SqlParser.RTRIM - 885)) | (1 << (SqlParser.SEC_TO_TIME - 885)) | (1 << (SqlParser.SESSION_USER - 885)) | (1 << (SqlParser.SHA - 885)) | (1 << (SqlParser.SHA1 - 885)) | (1 << (SqlParser.SHA2 - 885)) | (1 << (SqlParser.SIGN - 885)) | (1 << (SqlParser.SIN - 885)) | (1 << (SqlParser.SLEEP - 885)) | (1 << (SqlParser.SOUNDEX - 885)) | (1 << (SqlParser.SQL_THREAD_WAIT_AFTER_GTIDS - 885)) | (1 << (SqlParser.SQRT - 885)) | (1 << (SqlParser.SRID - 885)) | (1 << (SqlParser.STARTPOINT - 885)) | (1 << (SqlParser.STRCMP - 885)) | (1 << (SqlParser.STR_TO_DATE - 885)) | (1 << (SqlParser.ST_AREA - 885)) | (1 << (SqlParser.ST_ASBINARY - 885)) | (1 << (SqlParser.ST_ASTEXT - 885)) | (1 << (SqlParser.ST_ASWKB - 885)) | (1 << (SqlParser.ST_ASWKT - 885)) | (1 << (SqlParser.ST_BUFFER - 885)) | (1 << (SqlParser.ST_CENTROID - 885)) | (1 << (SqlParser.ST_CONTAINS - 885)) | (1 << (SqlParser.ST_CROSSES - 885)) | (1 << (SqlParser.ST_DIFFERENCE - 885)) | (1 << (SqlParser.ST_DIMENSION - 885)) | (1 << (SqlParser.ST_DISJOINT - 885)) | (1 << (SqlParser.ST_DISTANCE - 885)) | (1 << (SqlParser.ST_ENDPOINT - 885)))) !== 0) || ((((_la - 917)) & ~0x1f) == 0 && ((1 << (_la - 917)) & ((1 << (SqlParser.ST_ENVELOPE - 917)) | (1 << (SqlParser.ST_EQUALS - 917)) | (1 << (SqlParser.ST_EXTERIORRING - 917)) | (1 << (SqlParser.ST_GEOMCOLLFROMTEXT - 917)) | (1 << (SqlParser.ST_GEOMCOLLFROMTXT - 917)) | (1 << (SqlParser.ST_GEOMCOLLFROMWKB - 917)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMTEXT - 917)) | (1 << (SqlParser.ST_GEOMETRYCOLLECTIONFROMWKB - 917)) | (1 << (SqlParser.ST_GEOMETRYFROMTEXT - 917)) | (1 << (SqlParser.ST_GEOMETRYFROMWKB - 917)) | (1 << (SqlParser.ST_GEOMETRYN - 917)) | (1 << (SqlParser.ST_GEOMETRYTYPE - 917)) | (1 << (SqlParser.ST_GEOMFROMTEXT - 917)) | (1 << (SqlParser.ST_GEOMFROMWKB - 917)) | (1 << (SqlParser.ST_INTERIORRINGN - 917)) | (1 << (SqlParser.ST_INTERSECTION - 917)) | (1 << (SqlParser.ST_INTERSECTS - 917)) | (1 << (SqlParser.ST_ISCLOSED - 917)) | (1 << (SqlParser.ST_ISEMPTY - 917)) | (1 << (SqlParser.ST_ISSIMPLE - 917)) | (1 << (SqlParser.ST_LINEFROMTEXT - 917)) | (1 << (SqlParser.ST_LINEFROMWKB - 917)) | (1 << (SqlParser.ST_LINESTRINGFROMTEXT - 917)) | (1 << (SqlParser.ST_LINESTRINGFROMWKB - 917)) | (1 << (SqlParser.ST_NUMGEOMETRIES - 917)) | (1 << (SqlParser.ST_NUMINTERIORRING - 917)) | (1 << (SqlParser.ST_NUMINTERIORRINGS - 917)) | (1 << (SqlParser.ST_NUMPOINTS - 917)) | (1 << (SqlParser.ST_OVERLAPS - 917)) | (1 << (SqlParser.ST_POINTFROMTEXT - 917)) | (1 << (SqlParser.ST_POINTFROMWKB - 917)) | (1 << (SqlParser.ST_POINTN - 917)))) !== 0) || ((((_la - 949)) & ~0x1f) == 0 && ((1 << (_la - 949)) & ((1 << (SqlParser.ST_POLYFROMTEXT - 949)) | (1 << (SqlParser.ST_POLYFROMWKB - 949)) | (1 << (SqlParser.ST_POLYGONFROMTEXT - 949)) | (1 << (SqlParser.ST_POLYGONFROMWKB - 949)) | (1 << (SqlParser.ST_SRID - 949)) | (1 << (SqlParser.ST_STARTPOINT - 949)) | (1 << (SqlParser.ST_SYMDIFFERENCE - 949)) | (1 << (SqlParser.ST_TOUCHES - 949)) | (1 << (SqlParser.ST_UNION - 949)) | (1 << (SqlParser.ST_WITHIN - 949)) | (1 << (SqlParser.ST_X - 949)) | (1 << (SqlParser.ST_Y - 949)) | (1 << (SqlParser.SUBDATE - 949)) | (1 << (SqlParser.SUBSTRING_INDEX - 949)) | (1 << (SqlParser.SUBTIME - 949)) | (1 << (SqlParser.SYSTEM_USER - 949)) | (1 << (SqlParser.TAN - 949)) | (1 << (SqlParser.TIMEDIFF - 949)) | (1 << (SqlParser.TIMESTAMPADD - 949)) | (1 << (SqlParser.TIMESTAMPDIFF - 949)) | (1 << (SqlParser.TIME_FORMAT - 949)) | (1 << (SqlParser.TIME_TO_SEC - 949)) | (1 << (SqlParser.TOUCHES - 949)) | (1 << (SqlParser.TO_BASE64 - 949)) | (1 << (SqlParser.TO_DAYS - 949)) | (1 << (SqlParser.TO_SECONDS - 949)) | (1 << (SqlParser.UCASE - 949)) | (1 << (SqlParser.UNCOMPRESS - 949)) | (1 << (SqlParser.UNCOMPRESSED_LENGTH - 949)) | (1 << (SqlParser.UNHEX - 949)) | (1 << (SqlParser.UNIX_TIMESTAMP - 949)) | (1 << (SqlParser.UPDATEXML - 949)))) !== 0) || ((((_la - 981)) & ~0x1f) == 0 && ((1 << (_la - 981)) & ((1 << (SqlParser.UPPER - 981)) | (1 << (SqlParser.UUID - 981)) | (1 << (SqlParser.UUID_SHORT - 981)) | (1 << (SqlParser.VALIDATE_PASSWORD_STRENGTH - 981)) | (1 << (SqlParser.VERSION - 981)) | (1 << (SqlParser.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS - 981)) | (1 << (SqlParser.WEEKDAY - 981)) | (1 << (SqlParser.WEEKOFYEAR - 981)) | (1 << (SqlParser.WEIGHT_STRING - 981)) | (1 << (SqlParser.WITHIN - 981)) | (1 << (SqlParser.YEARWEEK - 981)) | (1 << (SqlParser.Y_FUNCTION - 981)) | (1 << (SqlParser.X_FUNCTION - 981)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +SqlParser.prototype.sempred = function(localctx, ruleIndex, predIndex) { + switch(ruleIndex) { + case 301: + return this.expression_sempred(localctx, predIndex); + case 302: + return this.predicate_sempred(localctx, predIndex); + case 303: + return this.expressionAtom_sempred(localctx, predIndex); + default: + throw "No predicate with index:" + ruleIndex; + } +}; + +SqlParser.prototype.expression_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 0: + return this.precpred(this._ctx, 3); + default: + throw "No predicate with index:" + predIndex; + } +}; + +SqlParser.prototype.predicate_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 1: + return this.precpred(this._ctx, 7); + case 2: + return this.precpred(this._ctx, 5); + case 3: + return this.precpred(this._ctx, 4); + case 4: + return this.precpred(this._ctx, 2); + case 5: + return this.precpred(this._ctx, 9); + case 6: + return this.precpred(this._ctx, 8); + case 7: + return this.precpred(this._ctx, 6); + case 8: + return this.precpred(this._ctx, 3); + default: + throw "No predicate with index:" + predIndex; + } +}; + +SqlParser.prototype.expressionAtom_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 9: + return this.precpred(this._ctx, 2); + case 10: + return this.precpred(this._ctx, 1); + case 11: + return this.precpred(this._ctx, 11); + default: + throw "No predicate with index:" + predIndex; + } +}; + + +exports.SqlParser = SqlParser; diff --git a/src/lib/generic/SqlParser.tokens b/src/lib/generic/SqlParser.tokens new file mode 100644 index 0000000..57b4669 --- /dev/null +++ b/src/lib/generic/SqlParser.tokens @@ -0,0 +1,2074 @@ +SPACE=1 +SPEC_MYSQL_COMMENT=2 +COMMENT_INPUT=3 +LINE_COMMENT=4 +ADD=5 +ALL=6 +ALTER=7 +ALWAYS=8 +ANALYZE=9 +AND=10 +AS=11 +ASC=12 +BEFORE=13 +BETWEEN=14 +BOTH=15 +BY=16 +CALL=17 +CASCADE=18 +CASE=19 +CAST=20 +CHANGE=21 +CHARACTER=22 +CHECK=23 +COLLATE=24 +COLUMN=25 +CONDITION=26 +CONSTRAINT=27 +CONTINUE=28 +CONVERT=29 +CREATE=30 +CROSS=31 +CURRENT=32 +CURRENT_USER=33 +CURSOR=34 +DATABASE=35 +DATABASES=36 +DECLARE=37 +DEFAULT=38 +DELAYED=39 +DELETE=40 +DESC=41 +DESCRIBE=42 +DETERMINISTIC=43 +DIAGNOSTICS=44 +DISTINCT=45 +DISTINCTROW=46 +DROP=47 +EACH=48 +ELSE=49 +ELSEIF=50 +ENCLOSED=51 +ESCAPED=52 +EXISTS=53 +EXIT=54 +EXPLAIN=55 +FALSE=56 +FETCH=57 +FOR=58 +FORCE=59 +FOREIGN=60 +FROM=61 +FULLTEXT=62 +GENERATED=63 +GET=64 +GRANT=65 +GROUP=66 +HAVING=67 +HIGH_PRIORITY=68 +IF=69 +IGNORE=70 +IN=71 +INDEX=72 +INFILE=73 +INNER=74 +INOUT=75 +INSERT=76 +INTERVAL=77 +INTO=78 +IS=79 +ITERATE=80 +JOIN=81 +KEY=82 +KEYS=83 +KILL=84 +LEADING=85 +LEAVE=86 +LEFT=87 +LIKE=88 +LIMIT=89 +LINEAR=90 +LINES=91 +LOAD=92 +LOCK=93 +LOOP=94 +LOW_PRIORITY=95 +MASTER_BIND=96 +MASTER_SSL_VERIFY_SERVER_CERT=97 +MATCH=98 +MAXVALUE=99 +MODIFIES=100 +NATURAL=101 +NOT=102 +NO_WRITE_TO_BINLOG=103 +NULL_LITERAL=104 +NUMBER=105 +ON=106 +OPTIMIZE=107 +OPTION=108 +OPTIONALLY=109 +OR=110 +ORDER=111 +OUT=112 +OUTER=113 +OUTFILE=114 +PARTITION=115 +PRIMARY=116 +PROCEDURE=117 +PURGE=118 +RANGE=119 +READ=120 +READS=121 +REFERENCES=122 +REGEXP=123 +RELEASE=124 +RENAME=125 +REPEAT=126 +REPLACE=127 +REQUIRE=128 +RESIGNAL=129 +RESTRICT=130 +RETURN=131 +REVOKE=132 +RIGHT=133 +RLIKE=134 +SCHEMA=135 +SCHEMAS=136 +SELECT=137 +SET=138 +SEPARATOR=139 +SHOW=140 +SIGNAL=141 +SPATIAL=142 +SQL=143 +SQLEXCEPTION=144 +SQLSTATE=145 +SQLWARNING=146 +SQL_BIG_RESULT=147 +SQL_CALC_FOUND_ROWS=148 +SQL_SMALL_RESULT=149 +SSL=150 +STACKED=151 +STARTING=152 +STRAIGHT_JOIN=153 +TABLE=154 +TERMINATED=155 +THEN=156 +TO=157 +TRAILING=158 +TRIGGER=159 +TRUE=160 +UNDO=161 +UNION=162 +UNIQUE=163 +UNLOCK=164 +UNSIGNED=165 +UPDATE=166 +USAGE=167 +USE=168 +USING=169 +VALUES=170 +WHEN=171 +WHERE=172 +WHILE=173 +WITH=174 +WRITE=175 +XOR=176 +ZEROFILL=177 +TINYINT=178 +SMALLINT=179 +MEDIUMINT=180 +MIDDLEINT=181 +INT=182 +INT1=183 +INT2=184 +INT3=185 +INT4=186 +INT8=187 +INTEGER=188 +BIGINT=189 +REAL=190 +DOUBLE=191 +PRECISION=192 +FLOAT=193 +FLOAT4=194 +FLOAT8=195 +DECIMAL=196 +DEC=197 +NUMERIC=198 +DATE=199 +TIME=200 +TIMESTAMP=201 +DATETIME=202 +YEAR=203 +CHAR=204 +VARCHAR=205 +NVARCHAR=206 +NATIONAL=207 +BINARY=208 +VARBINARY=209 +TINYBLOB=210 +BLOB=211 +MEDIUMBLOB=212 +LONG=213 +LONGBLOB=214 +TINYTEXT=215 +TEXT=216 +MEDIUMTEXT=217 +LONGTEXT=218 +ENUM=219 +VARYING=220 +SERIAL=221 +YEAR_MONTH=222 +DAY_HOUR=223 +DAY_MINUTE=224 +DAY_SECOND=225 +HOUR_MINUTE=226 +HOUR_SECOND=227 +MINUTE_SECOND=228 +SECOND_MICROSECOND=229 +MINUTE_MICROSECOND=230 +HOUR_MICROSECOND=231 +DAY_MICROSECOND=232 +JSON_VALID=233 +JSON_SCHEMA_VALID=234 +AVG=235 +BIT_AND=236 +BIT_OR=237 +BIT_XOR=238 +COUNT=239 +GROUP_CONCAT=240 +MAX=241 +MIN=242 +STD=243 +STDDEV=244 +STDDEV_POP=245 +STDDEV_SAMP=246 +SUM=247 +VAR_POP=248 +VAR_SAMP=249 +VARIANCE=250 +CURRENT_DATE=251 +CURRENT_TIME=252 +CURRENT_TIMESTAMP=253 +LOCALTIME=254 +CURDATE=255 +CURTIME=256 +DATE_ADD=257 +DATE_SUB=258 +EXTRACT=259 +LOCALTIMESTAMP=260 +NOW=261 +POSITION=262 +SUBSTR=263 +SUBSTRING=264 +SYSDATE=265 +TRIM=266 +UTC_DATE=267 +UTC_TIME=268 +UTC_TIMESTAMP=269 +ACCOUNT=270 +ACTION=271 +AFTER=272 +AGGREGATE=273 +ALGORITHM=274 +ANY=275 +AT=276 +AUTHORS=277 +AUTOCOMMIT=278 +AUTOEXTEND_SIZE=279 +AUTO_INCREMENT=280 +AVG_ROW_LENGTH=281 +BEGIN=282 +BINLOG=283 +BIT=284 +BLOCK=285 +BOOL=286 +BOOLEAN=287 +BTREE=288 +CACHE=289 +CASCADED=290 +CHAIN=291 +CHANGED=292 +CHANNEL=293 +CHECKSUM=294 +PAGE_CHECKSUM=295 +CIPHER=296 +CLASS_ORIGIN=297 +CLIENT=298 +CLOSE=299 +COALESCE=300 +CODE=301 +COLUMNS=302 +COLUMN_FORMAT=303 +COLUMN_NAME=304 +COMMENT=305 +COMMIT=306 +COMPACT=307 +COMPLETION=308 +COMPRESSED=309 +COMPRESSION=310 +CONCURRENT=311 +CONNECTION=312 +CONSISTENT=313 +CONSTRAINT_CATALOG=314 +CONSTRAINT_SCHEMA=315 +CONSTRAINT_NAME=316 +CONTAINS=317 +CONTEXT=318 +CONTRIBUTORS=319 +COPY=320 +CPU=321 +CURSOR_NAME=322 +DATA=323 +DATAFILE=324 +DEALLOCATE=325 +DEFAULT_AUTH=326 +DEFINER=327 +DELAY_KEY_WRITE=328 +DES_KEY_FILE=329 +DIRECTORY=330 +DISABLE=331 +DISCARD=332 +DISK=333 +DO=334 +DUMPFILE=335 +DUPLICATE=336 +DYNAMIC=337 +ENABLE=338 +ENCRYPTION=339 +END=340 +ENDS=341 +ENGINE=342 +ENGINES=343 +ERROR=344 +ERRORS=345 +ESCAPE=346 +EVEN=347 +EVENT=348 +EVENTS=349 +EVERY=350 +EXCHANGE=351 +EXCLUSIVE=352 +EXPIRE=353 +EXPORT=354 +EXTENDED=355 +EXTENT_SIZE=356 +FAST=357 +FAULTS=358 +FIELDS=359 +FILE_BLOCK_SIZE=360 +FILTER=361 +FIRST=362 +FIXED=363 +FLUSH=364 +FOLLOWS=365 +FOUND=366 +FULL=367 +FUNCTION=368 +GENERAL=369 +GLOBAL=370 +GRANTS=371 +GROUP_REPLICATION=372 +HANDLER=373 +HASH=374 +HELP=375 +HOST=376 +HOSTS=377 +IDENTIFIED=378 +IGNORE_SERVER_IDS=379 +IMPORT=380 +INDEXES=381 +INITIAL_SIZE=382 +INPLACE=383 +INSERT_METHOD=384 +INSTALL=385 +INSTANCE=386 +INVISIBLE=387 +INVOKER=388 +IO=389 +IO_THREAD=390 +IPC=391 +ISOLATION=392 +ISSUER=393 +JSON=394 +KEY_BLOCK_SIZE=395 +LANGUAGE=396 +LAST=397 +LEAVES=398 +LESS=399 +LEVEL=400 +LIST=401 +LOCAL=402 +LOGFILE=403 +LOGS=404 +MASTER=405 +MASTER_AUTO_POSITION=406 +MASTER_CONNECT_RETRY=407 +MASTER_DELAY=408 +MASTER_HEARTBEAT_PERIOD=409 +MASTER_HOST=410 +MASTER_LOG_FILE=411 +MASTER_LOG_POS=412 +MASTER_PASSWORD=413 +MASTER_PORT=414 +MASTER_RETRY_COUNT=415 +MASTER_SSL=416 +MASTER_SSL_CA=417 +MASTER_SSL_CAPATH=418 +MASTER_SSL_CERT=419 +MASTER_SSL_CIPHER=420 +MASTER_SSL_CRL=421 +MASTER_SSL_CRLPATH=422 +MASTER_SSL_KEY=423 +MASTER_TLS_VERSION=424 +MASTER_USER=425 +MAX_CONNECTIONS_PER_HOUR=426 +MAX_QUERIES_PER_HOUR=427 +MAX_ROWS=428 +MAX_SIZE=429 +MAX_UPDATES_PER_HOUR=430 +MAX_USER_CONNECTIONS=431 +MEDIUM=432 +MERGE=433 +MESSAGE_TEXT=434 +MID=435 +MIGRATE=436 +MIN_ROWS=437 +MODE=438 +MODIFY=439 +MUTEX=440 +MYSQL=441 +MYSQL_ERRNO=442 +NAME=443 +NAMES=444 +NCHAR=445 +NEVER=446 +NEXT=447 +NO=448 +NODEGROUP=449 +NONE=450 +OFFLINE=451 +OFFSET=452 +OJ=453 +OLD_PASSWORD=454 +ONE=455 +ONLINE=456 +ONLY=457 +OPEN=458 +OPTIMIZER_COSTS=459 +OPTIONS=460 +OWNER=461 +PACK_KEYS=462 +PAGE=463 +PARSER=464 +PARTIAL=465 +PARTITIONING=466 +PARTITIONS=467 +PASSWORD=468 +PHASE=469 +PLUGIN=470 +PLUGIN_DIR=471 +PLUGINS=472 +PORT=473 +PRECEDES=474 +PREPARE=475 +PRESERVE=476 +PREV=477 +PROCESSLIST=478 +PROFILE=479 +PROFILES=480 +PROXY=481 +QUERY=482 +QUICK=483 +REBUILD=484 +RECOVER=485 +REDO_BUFFER_SIZE=486 +REDUNDANT=487 +RELAY=488 +RELAY_LOG_FILE=489 +RELAY_LOG_POS=490 +RELAYLOG=491 +REMOVE=492 +REORGANIZE=493 +REPAIR=494 +REPLICATE_DO_DB=495 +REPLICATE_DO_TABLE=496 +REPLICATE_IGNORE_DB=497 +REPLICATE_IGNORE_TABLE=498 +REPLICATE_REWRITE_DB=499 +REPLICATE_WILD_DO_TABLE=500 +REPLICATE_WILD_IGNORE_TABLE=501 +REPLICATION=502 +RESET=503 +RESUME=504 +RETURNED_SQLSTATE=505 +RETURNS=506 +ROLE=507 +ROLLBACK=508 +ROLLUP=509 +ROTATE=510 +ROW=511 +ROWS=512 +ROW_FORMAT=513 +SAVEPOINT=514 +SCHEDULE=515 +SECURITY=516 +SERVER=517 +SESSION=518 +SHARE=519 +SHARED=520 +SIGNED=521 +SIMPLE=522 +SLAVE=523 +SLOW=524 +SNAPSHOT=525 +SOCKET=526 +SOME=527 +SONAME=528 +SOUNDS=529 +SOURCE=530 +SQL_AFTER_GTIDS=531 +SQL_AFTER_MTS_GAPS=532 +SQL_BEFORE_GTIDS=533 +SQL_BUFFER_RESULT=534 +SQL_CACHE=535 +SQL_NO_CACHE=536 +SQL_THREAD=537 +START=538 +STARTS=539 +STATS_AUTO_RECALC=540 +STATS_PERSISTENT=541 +STATS_SAMPLE_PAGES=542 +STATUS=543 +STOP=544 +STORAGE=545 +STORED=546 +STRING=547 +SUBCLASS_ORIGIN=548 +SUBJECT=549 +SUBPARTITION=550 +SUBPARTITIONS=551 +SUSPEND=552 +SWAPS=553 +SWITCHES=554 +TABLE_NAME=555 +TABLESPACE=556 +TEMPORARY=557 +TEMPTABLE=558 +THAN=559 +TRADITIONAL=560 +TRANSACTION=561 +TRANSACTIONAL=562 +TRIGGERS=563 +TRUNCATE=564 +UNDEFINED=565 +UNDOFILE=566 +UNDO_BUFFER_SIZE=567 +UNINSTALL=568 +UNKNOWN=569 +UNTIL=570 +UPGRADE=571 +USER=572 +USE_FRM=573 +USER_RESOURCES=574 +VALIDATION=575 +VALUE=576 +VARIABLES=577 +VIEW=578 +VIRTUAL=579 +VISIBLE=580 +WAIT=581 +WARNINGS=582 +WITHOUT=583 +WORK=584 +WRAPPER=585 +X509=586 +XA=587 +XML=588 +EUR=589 +USA=590 +JIS=591 +ISO=592 +INTERNAL=593 +QUARTER=594 +MONTH=595 +DAY=596 +HOUR=597 +MINUTE=598 +WEEK=599 +SECOND=600 +MICROSECOND=601 +TABLES=602 +ROUTINE=603 +EXECUTE=604 +FILE=605 +PROCESS=606 +RELOAD=607 +SHUTDOWN=608 +SUPER=609 +PRIVILEGES=610 +APPLICATION_PASSWORD_ADMIN=611 +AUDIT_ADMIN=612 +BACKUP_ADMIN=613 +BINLOG_ADMIN=614 +BINLOG_ENCRYPTION_ADMIN=615 +CLONE_ADMIN=616 +CONNECTION_ADMIN=617 +ENCRYPTION_KEY_ADMIN=618 +FIREWALL_ADMIN=619 +FIREWALL_USER=620 +GROUP_REPLICATION_ADMIN=621 +INNODB_REDO_LOG_ARCHIVE=622 +NDB_STORED_USER=623 +PERSIST_RO_VARIABLES_ADMIN=624 +REPLICATION_APPLIER=625 +REPLICATION_SLAVE_ADMIN=626 +RESOURCE_GROUP_ADMIN=627 +RESOURCE_GROUP_USER=628 +ROLE_ADMIN=629 +SESSION_VARIABLES_ADMIN=630 +SET_USER_ID=631 +SHOW_ROUTINE=632 +SYSTEM_VARIABLES_ADMIN=633 +TABLE_ENCRYPTION_ADMIN=634 +VERSION_TOKEN_ADMIN=635 +XA_RECOVER_ADMIN=636 +ARMSCII8=637 +ASCII=638 +BIG5=639 +CP1250=640 +CP1251=641 +CP1256=642 +CP1257=643 +CP850=644 +CP852=645 +CP866=646 +CP932=647 +DEC8=648 +EUCJPMS=649 +EUCKR=650 +GB2312=651 +GBK=652 +GEOSTD8=653 +GREEK=654 +HEBREW=655 +HP8=656 +KEYBCS2=657 +KOI8R=658 +KOI8U=659 +LATIN1=660 +LATIN2=661 +LATIN5=662 +LATIN7=663 +MACCE=664 +MACROMAN=665 +SJIS=666 +SWE7=667 +TIS620=668 +UCS2=669 +UJIS=670 +UTF16=671 +UTF16LE=672 +UTF32=673 +UTF8=674 +UTF8MB3=675 +UTF8MB4=676 +ARCHIVE=677 +BLACKHOLE=678 +CSV=679 +FEDERATED=680 +INNODB=681 +MEMORY=682 +MRG_MYISAM=683 +MYISAM=684 +NDB=685 +NDBCLUSTER=686 +PERFORMANCE_SCHEMA=687 +TOKUDB=688 +REPEATABLE=689 +COMMITTED=690 +UNCOMMITTED=691 +SERIALIZABLE=692 +GEOMETRYCOLLECTION=693 +GEOMCOLLECTION=694 +GEOMETRY=695 +LINESTRING=696 +MULTILINESTRING=697 +MULTIPOINT=698 +MULTIPOLYGON=699 +POINT=700 +POLYGON=701 +ABS=702 +ACOS=703 +ADDDATE=704 +ADDTIME=705 +AES_DECRYPT=706 +AES_ENCRYPT=707 +AREA=708 +ASBINARY=709 +ASIN=710 +ASTEXT=711 +ASWKB=712 +ASWKT=713 +ASYMMETRIC_DECRYPT=714 +ASYMMETRIC_DERIVE=715 +ASYMMETRIC_ENCRYPT=716 +ASYMMETRIC_SIGN=717 +ASYMMETRIC_VERIFY=718 +ATAN=719 +ATAN2=720 +BENCHMARK=721 +BIN=722 +BIT_COUNT=723 +BIT_LENGTH=724 +BUFFER=725 +CATALOG_NAME=726 +CEIL=727 +CEILING=728 +CENTROID=729 +CHARACTER_LENGTH=730 +CHARSET=731 +CHAR_LENGTH=732 +COERCIBILITY=733 +COLLATION=734 +COMPRESS=735 +CONCAT=736 +CONCAT_WS=737 +CONNECTION_ID=738 +CONV=739 +CONVERT_TZ=740 +COS=741 +COT=742 +CRC32=743 +CREATE_ASYMMETRIC_PRIV_KEY=744 +CREATE_ASYMMETRIC_PUB_KEY=745 +CREATE_DH_PARAMETERS=746 +CREATE_DIGEST=747 +CROSSES=748 +DATEDIFF=749 +DATE_FORMAT=750 +DAYNAME=751 +DAYOFMONTH=752 +DAYOFWEEK=753 +DAYOFYEAR=754 +DECODE=755 +DEGREES=756 +DES_DECRYPT=757 +DES_ENCRYPT=758 +DIMENSION=759 +DISJOINT=760 +ELT=761 +ENCODE=762 +ENCRYPT=763 +ENDPOINT=764 +ENVELOPE=765 +EQUALS=766 +EXP=767 +EXPORT_SET=768 +EXTERIORRING=769 +EXTRACTVALUE=770 +FIELD=771 +FIND_IN_SET=772 +FLOOR=773 +FORMAT=774 +FOUND_ROWS=775 +FROM_BASE64=776 +FROM_DAYS=777 +FROM_UNIXTIME=778 +GEOMCOLLFROMTEXT=779 +GEOMCOLLFROMWKB=780 +GEOMETRYCOLLECTIONFROMTEXT=781 +GEOMETRYCOLLECTIONFROMWKB=782 +GEOMETRYFROMTEXT=783 +GEOMETRYFROMWKB=784 +GEOMETRYN=785 +GEOMETRYTYPE=786 +GEOMFROMTEXT=787 +GEOMFROMWKB=788 +GET_FORMAT=789 +GET_LOCK=790 +GLENGTH=791 +GREATEST=792 +GTID_SUBSET=793 +GTID_SUBTRACT=794 +HEX=795 +IFNULL=796 +INET6_ATON=797 +INET6_NTOA=798 +INET_ATON=799 +INET_NTOA=800 +INSTR=801 +INTERIORRINGN=802 +INTERSECTS=803 +ISCLOSED=804 +ISEMPTY=805 +ISNULL=806 +ISSIMPLE=807 +IS_FREE_LOCK=808 +IS_IPV4=809 +IS_IPV4_COMPAT=810 +IS_IPV4_MAPPED=811 +IS_IPV6=812 +IS_USED_LOCK=813 +LAST_INSERT_ID=814 +LCASE=815 +LEAST=816 +LENGTH=817 +LINEFROMTEXT=818 +LINEFROMWKB=819 +LINESTRINGFROMTEXT=820 +LINESTRINGFROMWKB=821 +LN=822 +LOAD_FILE=823 +LOCATE=824 +LOG=825 +LOG10=826 +LOG2=827 +LOWER=828 +LPAD=829 +LTRIM=830 +MAKEDATE=831 +MAKETIME=832 +MAKE_SET=833 +MASTER_POS_WAIT=834 +MBRCONTAINS=835 +MBRDISJOINT=836 +MBREQUAL=837 +MBRINTERSECTS=838 +MBROVERLAPS=839 +MBRTOUCHES=840 +MBRWITHIN=841 +MD5=842 +MLINEFROMTEXT=843 +MLINEFROMWKB=844 +MONTHNAME=845 +MPOINTFROMTEXT=846 +MPOINTFROMWKB=847 +MPOLYFROMTEXT=848 +MPOLYFROMWKB=849 +MULTILINESTRINGFROMTEXT=850 +MULTILINESTRINGFROMWKB=851 +MULTIPOINTFROMTEXT=852 +MULTIPOINTFROMWKB=853 +MULTIPOLYGONFROMTEXT=854 +MULTIPOLYGONFROMWKB=855 +NAME_CONST=856 +NULLIF=857 +NUMGEOMETRIES=858 +NUMINTERIORRINGS=859 +NUMPOINTS=860 +OCT=861 +OCTET_LENGTH=862 +ORD=863 +OVERLAPS=864 +PERIOD_ADD=865 +PERIOD_DIFF=866 +PI=867 +POINTFROMTEXT=868 +POINTFROMWKB=869 +POINTN=870 +POLYFROMTEXT=871 +POLYFROMWKB=872 +POLYGONFROMTEXT=873 +POLYGONFROMWKB=874 +POW=875 +POWER=876 +QUOTE=877 +RADIANS=878 +RAND=879 +RANDOM_BYTES=880 +RELEASE_LOCK=881 +REVERSE=882 +ROUND=883 +ROW_COUNT=884 +RPAD=885 +RTRIM=886 +SEC_TO_TIME=887 +SESSION_USER=888 +SHA=889 +SHA1=890 +SHA2=891 +SCHEMA_NAME=892 +SIGN=893 +SIN=894 +SLEEP=895 +SOUNDEX=896 +SQL_THREAD_WAIT_AFTER_GTIDS=897 +SQRT=898 +SRID=899 +STARTPOINT=900 +STRCMP=901 +STR_TO_DATE=902 +ST_AREA=903 +ST_ASBINARY=904 +ST_ASTEXT=905 +ST_ASWKB=906 +ST_ASWKT=907 +ST_BUFFER=908 +ST_CENTROID=909 +ST_CONTAINS=910 +ST_CROSSES=911 +ST_DIFFERENCE=912 +ST_DIMENSION=913 +ST_DISJOINT=914 +ST_DISTANCE=915 +ST_ENDPOINT=916 +ST_ENVELOPE=917 +ST_EQUALS=918 +ST_EXTERIORRING=919 +ST_GEOMCOLLFROMTEXT=920 +ST_GEOMCOLLFROMTXT=921 +ST_GEOMCOLLFROMWKB=922 +ST_GEOMETRYCOLLECTIONFROMTEXT=923 +ST_GEOMETRYCOLLECTIONFROMWKB=924 +ST_GEOMETRYFROMTEXT=925 +ST_GEOMETRYFROMWKB=926 +ST_GEOMETRYN=927 +ST_GEOMETRYTYPE=928 +ST_GEOMFROMTEXT=929 +ST_GEOMFROMWKB=930 +ST_INTERIORRINGN=931 +ST_INTERSECTION=932 +ST_INTERSECTS=933 +ST_ISCLOSED=934 +ST_ISEMPTY=935 +ST_ISSIMPLE=936 +ST_LINEFROMTEXT=937 +ST_LINEFROMWKB=938 +ST_LINESTRINGFROMTEXT=939 +ST_LINESTRINGFROMWKB=940 +ST_NUMGEOMETRIES=941 +ST_NUMINTERIORRING=942 +ST_NUMINTERIORRINGS=943 +ST_NUMPOINTS=944 +ST_OVERLAPS=945 +ST_POINTFROMTEXT=946 +ST_POINTFROMWKB=947 +ST_POINTN=948 +ST_POLYFROMTEXT=949 +ST_POLYFROMWKB=950 +ST_POLYGONFROMTEXT=951 +ST_POLYGONFROMWKB=952 +ST_SRID=953 +ST_STARTPOINT=954 +ST_SYMDIFFERENCE=955 +ST_TOUCHES=956 +ST_UNION=957 +ST_WITHIN=958 +ST_X=959 +ST_Y=960 +SUBDATE=961 +SUBSTRING_INDEX=962 +SUBTIME=963 +SYSTEM_USER=964 +TAN=965 +TIMEDIFF=966 +TIMESTAMPADD=967 +TIMESTAMPDIFF=968 +TIME_FORMAT=969 +TIME_TO_SEC=970 +TOUCHES=971 +TO_BASE64=972 +TO_DAYS=973 +TO_SECONDS=974 +UCASE=975 +UNCOMPRESS=976 +UNCOMPRESSED_LENGTH=977 +UNHEX=978 +UNIX_TIMESTAMP=979 +UPDATEXML=980 +UPPER=981 +UUID=982 +UUID_SHORT=983 +VALIDATE_PASSWORD_STRENGTH=984 +VERSION=985 +WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS=986 +WEEKDAY=987 +WEEKOFYEAR=988 +WEIGHT_STRING=989 +WITHIN=990 +YEARWEEK=991 +Y_FUNCTION=992 +X_FUNCTION=993 +VAR_ASSIGN=994 +PLUS_ASSIGN=995 +MINUS_ASSIGN=996 +MULT_ASSIGN=997 +DIV_ASSIGN=998 +MOD_ASSIGN=999 +AND_ASSIGN=1000 +XOR_ASSIGN=1001 +OR_ASSIGN=1002 +STAR=1003 +DIVIDE=1004 +MODULE=1005 +PLUS=1006 +MINUSMINUS=1007 +MINUS=1008 +DIV=1009 +MOD=1010 +EQUAL_SYMBOL=1011 +GREATER_SYMBOL=1012 +LESS_SYMBOL=1013 +EXCLAMATION_SYMBOL=1014 +BIT_NOT_OP=1015 +BIT_OR_OP=1016 +BIT_AND_OP=1017 +BIT_XOR_OP=1018 +DOT=1019 +LR_BRACKET=1020 +RR_BRACKET=1021 +COMMA=1022 +SEMI=1023 +AT_SIGN=1024 +ZERO_DECIMAL=1025 +ONE_DECIMAL=1026 +TWO_DECIMAL=1027 +SINGLE_QUOTE_SYMB=1028 +DOUBLE_QUOTE_SYMB=1029 +REVERSE_QUOTE_SYMB=1030 +COLON_SYMB=1031 +CHARSET_REVERSE_QOUTE_STRING=1032 +FILESIZE_LITERAL=1033 +START_NATIONAL_STRING_LITERAL=1034 +STRING_LITERAL=1035 +DECIMAL_LITERAL=1036 +HEXADECIMAL_LITERAL=1037 +REAL_LITERAL=1038 +NULL_SPEC_LITERAL=1039 +BIT_STRING=1040 +STRING_CHARSET_NAME=1041 +DOT_ID=1042 +ID=1043 +REVERSE_QUOTE_ID=1044 +STRING_USER_NAME=1045 +LOCAL_ID=1046 +GLOBAL_ID=1047 +ERROR_RECONGNIGION=1048 +'ADD'=5 +'ALL'=6 +'ALTER'=7 +'ALWAYS'=8 +'ANALYZE'=9 +'AND'=10 +'AS'=11 +'ASC'=12 +'BEFORE'=13 +'BETWEEN'=14 +'BOTH'=15 +'BY'=16 +'CALL'=17 +'CASCADE'=18 +'CASE'=19 +'CAST'=20 +'CHANGE'=21 +'CHARACTER'=22 +'CHECK'=23 +'COLLATE'=24 +'COLUMN'=25 +'CONDITION'=26 +'CONSTRAINT'=27 +'CONTINUE'=28 +'CONVERT'=29 +'CREATE'=30 +'CROSS'=31 +'CURRENT'=32 +'CURRENT_USER'=33 +'CURSOR'=34 +'DATABASE'=35 +'DATABASES'=36 +'DECLARE'=37 +'DEFAULT'=38 +'DELAYED'=39 +'DELETE'=40 +'DESC'=41 +'DESCRIBE'=42 +'DETERMINISTIC'=43 +'DIAGNOSTICS'=44 +'DISTINCT'=45 +'DISTINCTROW'=46 +'DROP'=47 +'EACH'=48 +'ELSE'=49 +'ELSEIF'=50 +'ENCLOSED'=51 +'ESCAPED'=52 +'EXISTS'=53 +'EXIT'=54 +'EXPLAIN'=55 +'FALSE'=56 +'FETCH'=57 +'FOR'=58 +'FORCE'=59 +'FOREIGN'=60 +'FROM'=61 +'FULLTEXT'=62 +'GENERATED'=63 +'GET'=64 +'GRANT'=65 +'GROUP'=66 +'HAVING'=67 +'HIGH_PRIORITY'=68 +'IF'=69 +'IGNORE'=70 +'IN'=71 +'INDEX'=72 +'INFILE'=73 +'INNER'=74 +'INOUT'=75 +'INSERT'=76 +'INTERVAL'=77 +'INTO'=78 +'IS'=79 +'ITERATE'=80 +'JOIN'=81 +'KEY'=82 +'KEYS'=83 +'KILL'=84 +'LEADING'=85 +'LEAVE'=86 +'LEFT'=87 +'LIKE'=88 +'LIMIT'=89 +'LINEAR'=90 +'LINES'=91 +'LOAD'=92 +'LOCK'=93 +'LOOP'=94 +'LOW_PRIORITY'=95 +'MASTER_BIND'=96 +'MASTER_SSL_VERIFY_SERVER_CERT'=97 +'MATCH'=98 +'MAXVALUE'=99 +'MODIFIES'=100 +'NATURAL'=101 +'NOT'=102 +'NO_WRITE_TO_BINLOG'=103 +'NULL'=104 +'NUMBER'=105 +'ON'=106 +'OPTIMIZE'=107 +'OPTION'=108 +'OPTIONALLY'=109 +'OR'=110 +'ORDER'=111 +'OUT'=112 +'OUTER'=113 +'OUTFILE'=114 +'PARTITION'=115 +'PRIMARY'=116 +'PROCEDURE'=117 +'PURGE'=118 +'RANGE'=119 +'READ'=120 +'READS'=121 +'REFERENCES'=122 +'REGEXP'=123 +'RELEASE'=124 +'RENAME'=125 +'REPEAT'=126 +'REPLACE'=127 +'REQUIRE'=128 +'RESIGNAL'=129 +'RESTRICT'=130 +'RETURN'=131 +'REVOKE'=132 +'RIGHT'=133 +'RLIKE'=134 +'SCHEMA'=135 +'SCHEMAS'=136 +'SELECT'=137 +'SET'=138 +'SEPARATOR'=139 +'SHOW'=140 +'SIGNAL'=141 +'SPATIAL'=142 +'SQL'=143 +'SQLEXCEPTION'=144 +'SQLSTATE'=145 +'SQLWARNING'=146 +'SQL_BIG_RESULT'=147 +'SQL_CALC_FOUND_ROWS'=148 +'SQL_SMALL_RESULT'=149 +'SSL'=150 +'STACKED'=151 +'STARTING'=152 +'STRAIGHT_JOIN'=153 +'TABLE'=154 +'TERMINATED'=155 +'THEN'=156 +'TO'=157 +'TRAILING'=158 +'TRIGGER'=159 +'TRUE'=160 +'UNDO'=161 +'UNION'=162 +'UNIQUE'=163 +'UNLOCK'=164 +'UNSIGNED'=165 +'UPDATE'=166 +'USAGE'=167 +'USE'=168 +'USING'=169 +'VALUES'=170 +'WHEN'=171 +'WHERE'=172 +'WHILE'=173 +'WITH'=174 +'WRITE'=175 +'XOR'=176 +'ZEROFILL'=177 +'TINYINT'=178 +'SMALLINT'=179 +'MEDIUMINT'=180 +'MIDDLEINT'=181 +'INT'=182 +'INT1'=183 +'INT2'=184 +'INT3'=185 +'INT4'=186 +'INT8'=187 +'INTEGER'=188 +'BIGINT'=189 +'REAL'=190 +'DOUBLE'=191 +'PRECISION'=192 +'FLOAT'=193 +'FLOAT4'=194 +'FLOAT8'=195 +'DECIMAL'=196 +'DEC'=197 +'NUMERIC'=198 +'DATE'=199 +'TIME'=200 +'TIMESTAMP'=201 +'DATETIME'=202 +'YEAR'=203 +'CHAR'=204 +'VARCHAR'=205 +'NVARCHAR'=206 +'NATIONAL'=207 +'BINARY'=208 +'VARBINARY'=209 +'TINYBLOB'=210 +'BLOB'=211 +'MEDIUMBLOB'=212 +'LONG'=213 +'LONGBLOB'=214 +'TINYTEXT'=215 +'TEXT'=216 +'MEDIUMTEXT'=217 +'LONGTEXT'=218 +'ENUM'=219 +'VARYING'=220 +'SERIAL'=221 +'YEAR_MONTH'=222 +'DAY_HOUR'=223 +'DAY_MINUTE'=224 +'DAY_SECOND'=225 +'HOUR_MINUTE'=226 +'HOUR_SECOND'=227 +'MINUTE_SECOND'=228 +'SECOND_MICROSECOND'=229 +'MINUTE_MICROSECOND'=230 +'HOUR_MICROSECOND'=231 +'DAY_MICROSECOND'=232 +'JSON_VALID'=233 +'JSON_SCHEMA_VALID'=234 +'AVG'=235 +'BIT_AND'=236 +'BIT_OR'=237 +'BIT_XOR'=238 +'COUNT'=239 +'GROUP_CONCAT'=240 +'MAX'=241 +'MIN'=242 +'STD'=243 +'STDDEV'=244 +'STDDEV_POP'=245 +'STDDEV_SAMP'=246 +'SUM'=247 +'VAR_POP'=248 +'VAR_SAMP'=249 +'VARIANCE'=250 +'CURRENT_DATE'=251 +'CURRENT_TIME'=252 +'CURRENT_TIMESTAMP'=253 +'LOCALTIME'=254 +'CURDATE'=255 +'CURTIME'=256 +'DATE_ADD'=257 +'DATE_SUB'=258 +'EXTRACT'=259 +'LOCALTIMESTAMP'=260 +'NOW'=261 +'POSITION'=262 +'SUBSTR'=263 +'SUBSTRING'=264 +'SYSDATE'=265 +'TRIM'=266 +'UTC_DATE'=267 +'UTC_TIME'=268 +'UTC_TIMESTAMP'=269 +'ACCOUNT'=270 +'ACTION'=271 +'AFTER'=272 +'AGGREGATE'=273 +'ALGORITHM'=274 +'ANY'=275 +'AT'=276 +'AUTHORS'=277 +'AUTOCOMMIT'=278 +'AUTOEXTEND_SIZE'=279 +'AUTO_INCREMENT'=280 +'AVG_ROW_LENGTH'=281 +'BEGIN'=282 +'BINLOG'=283 +'BIT'=284 +'BLOCK'=285 +'BOOL'=286 +'BOOLEAN'=287 +'BTREE'=288 +'CACHE'=289 +'CASCADED'=290 +'CHAIN'=291 +'CHANGED'=292 +'CHANNEL'=293 +'CHECKSUM'=294 +'PAGE_CHECKSUM'=295 +'CIPHER'=296 +'CLASS_ORIGIN'=297 +'CLIENT'=298 +'CLOSE'=299 +'COALESCE'=300 +'CODE'=301 +'COLUMNS'=302 +'COLUMN_FORMAT'=303 +'COLUMN_NAME'=304 +'COMMENT'=305 +'COMMIT'=306 +'COMPACT'=307 +'COMPLETION'=308 +'COMPRESSED'=309 +'COMPRESSION'=310 +'CONCURRENT'=311 +'CONNECTION'=312 +'CONSISTENT'=313 +'CONSTRAINT_CATALOG'=314 +'CONSTRAINT_SCHEMA'=315 +'CONSTRAINT_NAME'=316 +'CONTAINS'=317 +'CONTEXT'=318 +'CONTRIBUTORS'=319 +'COPY'=320 +'CPU'=321 +'CURSOR_NAME'=322 +'DATA'=323 +'DATAFILE'=324 +'DEALLOCATE'=325 +'DEFAULT_AUTH'=326 +'DEFINER'=327 +'DELAY_KEY_WRITE'=328 +'DES_KEY_FILE'=329 +'DIRECTORY'=330 +'DISABLE'=331 +'DISCARD'=332 +'DISK'=333 +'DO'=334 +'DUMPFILE'=335 +'DUPLICATE'=336 +'DYNAMIC'=337 +'ENABLE'=338 +'ENCRYPTION'=339 +'END'=340 +'ENDS'=341 +'ENGINE'=342 +'ENGINES'=343 +'ERROR'=344 +'ERRORS'=345 +'ESCAPE'=346 +'EVEN'=347 +'EVENT'=348 +'EVENTS'=349 +'EVERY'=350 +'EXCHANGE'=351 +'EXCLUSIVE'=352 +'EXPIRE'=353 +'EXPORT'=354 +'EXTENDED'=355 +'EXTENT_SIZE'=356 +'FAST'=357 +'FAULTS'=358 +'FIELDS'=359 +'FILE_BLOCK_SIZE'=360 +'FILTER'=361 +'FIRST'=362 +'FIXED'=363 +'FLUSH'=364 +'FOLLOWS'=365 +'FOUND'=366 +'FULL'=367 +'FUNCTION'=368 +'GENERAL'=369 +'GLOBAL'=370 +'GRANTS'=371 +'GROUP_REPLICATION'=372 +'HANDLER'=373 +'HASH'=374 +'HELP'=375 +'HOST'=376 +'HOSTS'=377 +'IDENTIFIED'=378 +'IGNORE_SERVER_IDS'=379 +'IMPORT'=380 +'INDEXES'=381 +'INITIAL_SIZE'=382 +'INPLACE'=383 +'INSERT_METHOD'=384 +'INSTALL'=385 +'INSTANCE'=386 +'INVISIBLE'=387 +'INVOKER'=388 +'IO'=389 +'IO_THREAD'=390 +'IPC'=391 +'ISOLATION'=392 +'ISSUER'=393 +'JSON'=394 +'KEY_BLOCK_SIZE'=395 +'LANGUAGE'=396 +'LAST'=397 +'LEAVES'=398 +'LESS'=399 +'LEVEL'=400 +'LIST'=401 +'LOCAL'=402 +'LOGFILE'=403 +'LOGS'=404 +'MASTER'=405 +'MASTER_AUTO_POSITION'=406 +'MASTER_CONNECT_RETRY'=407 +'MASTER_DELAY'=408 +'MASTER_HEARTBEAT_PERIOD'=409 +'MASTER_HOST'=410 +'MASTER_LOG_FILE'=411 +'MASTER_LOG_POS'=412 +'MASTER_PASSWORD'=413 +'MASTER_PORT'=414 +'MASTER_RETRY_COUNT'=415 +'MASTER_SSL'=416 +'MASTER_SSL_CA'=417 +'MASTER_SSL_CAPATH'=418 +'MASTER_SSL_CERT'=419 +'MASTER_SSL_CIPHER'=420 +'MASTER_SSL_CRL'=421 +'MASTER_SSL_CRLPATH'=422 +'MASTER_SSL_KEY'=423 +'MASTER_TLS_VERSION'=424 +'MASTER_USER'=425 +'MAX_CONNECTIONS_PER_HOUR'=426 +'MAX_QUERIES_PER_HOUR'=427 +'MAX_ROWS'=428 +'MAX_SIZE'=429 +'MAX_UPDATES_PER_HOUR'=430 +'MAX_USER_CONNECTIONS'=431 +'MEDIUM'=432 +'MERGE'=433 +'MESSAGE_TEXT'=434 +'MID'=435 +'MIGRATE'=436 +'MIN_ROWS'=437 +'MODE'=438 +'MODIFY'=439 +'MUTEX'=440 +'MYSQL'=441 +'MYSQL_ERRNO'=442 +'NAME'=443 +'NAMES'=444 +'NCHAR'=445 +'NEVER'=446 +'NEXT'=447 +'NO'=448 +'NODEGROUP'=449 +'NONE'=450 +'OFFLINE'=451 +'OFFSET'=452 +'OJ'=453 +'OLD_PASSWORD'=454 +'ONE'=455 +'ONLINE'=456 +'ONLY'=457 +'OPEN'=458 +'OPTIMIZER_COSTS'=459 +'OPTIONS'=460 +'OWNER'=461 +'PACK_KEYS'=462 +'PAGE'=463 +'PARSER'=464 +'PARTIAL'=465 +'PARTITIONING'=466 +'PARTITIONS'=467 +'PASSWORD'=468 +'PHASE'=469 +'PLUGIN'=470 +'PLUGIN_DIR'=471 +'PLUGINS'=472 +'PORT'=473 +'PRECEDES'=474 +'PREPARE'=475 +'PRESERVE'=476 +'PREV'=477 +'PROCESSLIST'=478 +'PROFILE'=479 +'PROFILES'=480 +'PROXY'=481 +'QUERY'=482 +'QUICK'=483 +'REBUILD'=484 +'RECOVER'=485 +'REDO_BUFFER_SIZE'=486 +'REDUNDANT'=487 +'RELAY'=488 +'RELAY_LOG_FILE'=489 +'RELAY_LOG_POS'=490 +'RELAYLOG'=491 +'REMOVE'=492 +'REORGANIZE'=493 +'REPAIR'=494 +'REPLICATE_DO_DB'=495 +'REPLICATE_DO_TABLE'=496 +'REPLICATE_IGNORE_DB'=497 +'REPLICATE_IGNORE_TABLE'=498 +'REPLICATE_REWRITE_DB'=499 +'REPLICATE_WILD_DO_TABLE'=500 +'REPLICATE_WILD_IGNORE_TABLE'=501 +'REPLICATION'=502 +'RESET'=503 +'RESUME'=504 +'RETURNED_SQLSTATE'=505 +'RETURNS'=506 +'ROLE'=507 +'ROLLBACK'=508 +'ROLLUP'=509 +'ROTATE'=510 +'ROW'=511 +'ROWS'=512 +'ROW_FORMAT'=513 +'SAVEPOINT'=514 +'SCHEDULE'=515 +'SECURITY'=516 +'SERVER'=517 +'SESSION'=518 +'SHARE'=519 +'SHARED'=520 +'SIGNED'=521 +'SIMPLE'=522 +'SLAVE'=523 +'SLOW'=524 +'SNAPSHOT'=525 +'SOCKET'=526 +'SOME'=527 +'SONAME'=528 +'SOUNDS'=529 +'SOURCE'=530 +'SQL_AFTER_GTIDS'=531 +'SQL_AFTER_MTS_GAPS'=532 +'SQL_BEFORE_GTIDS'=533 +'SQL_BUFFER_RESULT'=534 +'SQL_CACHE'=535 +'SQL_NO_CACHE'=536 +'SQL_THREAD'=537 +'START'=538 +'STARTS'=539 +'STATS_AUTO_RECALC'=540 +'STATS_PERSISTENT'=541 +'STATS_SAMPLE_PAGES'=542 +'STATUS'=543 +'STOP'=544 +'STORAGE'=545 +'STORED'=546 +'STRING'=547 +'SUBCLASS_ORIGIN'=548 +'SUBJECT'=549 +'SUBPARTITION'=550 +'SUBPARTITIONS'=551 +'SUSPEND'=552 +'SWAPS'=553 +'SWITCHES'=554 +'TABLE_NAME'=555 +'TABLESPACE'=556 +'TEMPORARY'=557 +'TEMPTABLE'=558 +'THAN'=559 +'TRADITIONAL'=560 +'TRANSACTION'=561 +'TRANSACTIONAL'=562 +'TRIGGERS'=563 +'TRUNCATE'=564 +'UNDEFINED'=565 +'UNDOFILE'=566 +'UNDO_BUFFER_SIZE'=567 +'UNINSTALL'=568 +'UNKNOWN'=569 +'UNTIL'=570 +'UPGRADE'=571 +'USER'=572 +'USE_FRM'=573 +'USER_RESOURCES'=574 +'VALIDATION'=575 +'VALUE'=576 +'VARIABLES'=577 +'VIEW'=578 +'VIRTUAL'=579 +'VISIBLE'=580 +'WAIT'=581 +'WARNINGS'=582 +'WITHOUT'=583 +'WORK'=584 +'WRAPPER'=585 +'X509'=586 +'XA'=587 +'XML'=588 +'EUR'=589 +'USA'=590 +'JIS'=591 +'ISO'=592 +'INTERNAL'=593 +'QUARTER'=594 +'MONTH'=595 +'DAY'=596 +'HOUR'=597 +'MINUTE'=598 +'WEEK'=599 +'SECOND'=600 +'MICROSECOND'=601 +'TABLES'=602 +'ROUTINE'=603 +'EXECUTE'=604 +'FILE'=605 +'PROCESS'=606 +'RELOAD'=607 +'SHUTDOWN'=608 +'SUPER'=609 +'PRIVILEGES'=610 +'APPLICATION_PASSWORD_ADMIN'=611 +'AUDIT_ADMIN'=612 +'BACKUP_ADMIN'=613 +'BINLOG_ADMIN'=614 +'BINLOG_ENCRYPTION_ADMIN'=615 +'CLONE_ADMIN'=616 +'CONNECTION_ADMIN'=617 +'ENCRYPTION_KEY_ADMIN'=618 +'FIREWALL_ADMIN'=619 +'FIREWALL_USER'=620 +'GROUP_REPLICATION_ADMIN'=621 +'INNODB_REDO_LOG_ARCHIVE'=622 +'NDB_STORED_USER'=623 +'PERSIST_RO_VARIABLES_ADMIN'=624 +'REPLICATION_APPLIER'=625 +'REPLICATION_SLAVE_ADMIN'=626 +'RESOURCE_GROUP_ADMIN'=627 +'RESOURCE_GROUP_USER'=628 +'ROLE_ADMIN'=629 +'SET_USER_ID'=631 +'SHOW_ROUTINE'=632 +'SYSTEM_VARIABLES_ADMIN'=633 +'TABLE_ENCRYPTION_ADMIN'=634 +'VERSION_TOKEN_ADMIN'=635 +'XA_RECOVER_ADMIN'=636 +'ARMSCII8'=637 +'ASCII'=638 +'BIG5'=639 +'CP1250'=640 +'CP1251'=641 +'CP1256'=642 +'CP1257'=643 +'CP850'=644 +'CP852'=645 +'CP866'=646 +'CP932'=647 +'DEC8'=648 +'EUCJPMS'=649 +'EUCKR'=650 +'GB2312'=651 +'GBK'=652 +'GEOSTD8'=653 +'GREEK'=654 +'HEBREW'=655 +'HP8'=656 +'KEYBCS2'=657 +'KOI8R'=658 +'KOI8U'=659 +'LATIN1'=660 +'LATIN2'=661 +'LATIN5'=662 +'LATIN7'=663 +'MACCE'=664 +'MACROMAN'=665 +'SJIS'=666 +'SWE7'=667 +'TIS620'=668 +'UCS2'=669 +'UJIS'=670 +'UTF16'=671 +'UTF16LE'=672 +'UTF32'=673 +'UTF8'=674 +'UTF8MB3'=675 +'UTF8MB4'=676 +'ARCHIVE'=677 +'BLACKHOLE'=678 +'CSV'=679 +'FEDERATED'=680 +'INNODB'=681 +'MEMORY'=682 +'MRG_MYISAM'=683 +'MYISAM'=684 +'NDB'=685 +'NDBCLUSTER'=686 +'PERFORMANCE_SCHEMA'=687 +'TOKUDB'=688 +'REPEATABLE'=689 +'COMMITTED'=690 +'UNCOMMITTED'=691 +'SERIALIZABLE'=692 +'GEOMETRYCOLLECTION'=693 +'GEOMCOLLECTION'=694 +'GEOMETRY'=695 +'LINESTRING'=696 +'MULTILINESTRING'=697 +'MULTIPOINT'=698 +'MULTIPOLYGON'=699 +'POINT'=700 +'POLYGON'=701 +'ABS'=702 +'ACOS'=703 +'ADDDATE'=704 +'ADDTIME'=705 +'AES_DECRYPT'=706 +'AES_ENCRYPT'=707 +'AREA'=708 +'ASBINARY'=709 +'ASIN'=710 +'ASTEXT'=711 +'ASWKB'=712 +'ASWKT'=713 +'ASYMMETRIC_DECRYPT'=714 +'ASYMMETRIC_DERIVE'=715 +'ASYMMETRIC_ENCRYPT'=716 +'ASYMMETRIC_SIGN'=717 +'ASYMMETRIC_VERIFY'=718 +'ATAN'=719 +'ATAN2'=720 +'BENCHMARK'=721 +'BIN'=722 +'BIT_COUNT'=723 +'BIT_LENGTH'=724 +'BUFFER'=725 +'CATALOG_NAME'=726 +'CEIL'=727 +'CEILING'=728 +'CENTROID'=729 +'CHARACTER_LENGTH'=730 +'CHARSET'=731 +'CHAR_LENGTH'=732 +'COERCIBILITY'=733 +'COLLATION'=734 +'COMPRESS'=735 +'CONCAT'=736 +'CONCAT_WS'=737 +'CONNECTION_ID'=738 +'CONV'=739 +'CONVERT_TZ'=740 +'COS'=741 +'COT'=742 +'CRC32'=743 +'CREATE_ASYMMETRIC_PRIV_KEY'=744 +'CREATE_ASYMMETRIC_PUB_KEY'=745 +'CREATE_DH_PARAMETERS'=746 +'CREATE_DIGEST'=747 +'CROSSES'=748 +'DATEDIFF'=749 +'DATE_FORMAT'=750 +'DAYNAME'=751 +'DAYOFMONTH'=752 +'DAYOFWEEK'=753 +'DAYOFYEAR'=754 +'DECODE'=755 +'DEGREES'=756 +'DES_DECRYPT'=757 +'DES_ENCRYPT'=758 +'DIMENSION'=759 +'DISJOINT'=760 +'ELT'=761 +'ENCODE'=762 +'ENCRYPT'=763 +'ENDPOINT'=764 +'ENVELOPE'=765 +'EQUALS'=766 +'EXP'=767 +'EXPORT_SET'=768 +'EXTERIORRING'=769 +'EXTRACTVALUE'=770 +'FIELD'=771 +'FIND_IN_SET'=772 +'FLOOR'=773 +'FORMAT'=774 +'FOUND_ROWS'=775 +'FROM_BASE64'=776 +'FROM_DAYS'=777 +'FROM_UNIXTIME'=778 +'GEOMCOLLFROMTEXT'=779 +'GEOMCOLLFROMWKB'=780 +'GEOMETRYCOLLECTIONFROMTEXT'=781 +'GEOMETRYCOLLECTIONFROMWKB'=782 +'GEOMETRYFROMTEXT'=783 +'GEOMETRYFROMWKB'=784 +'GEOMETRYN'=785 +'GEOMETRYTYPE'=786 +'GEOMFROMTEXT'=787 +'GEOMFROMWKB'=788 +'GET_FORMAT'=789 +'GET_LOCK'=790 +'GLENGTH'=791 +'GREATEST'=792 +'GTID_SUBSET'=793 +'GTID_SUBTRACT'=794 +'HEX'=795 +'IFNULL'=796 +'INET6_ATON'=797 +'INET6_NTOA'=798 +'INET_ATON'=799 +'INET_NTOA'=800 +'INSTR'=801 +'INTERIORRINGN'=802 +'INTERSECTS'=803 +'ISCLOSED'=804 +'ISEMPTY'=805 +'ISNULL'=806 +'ISSIMPLE'=807 +'IS_FREE_LOCK'=808 +'IS_IPV4'=809 +'IS_IPV4_COMPAT'=810 +'IS_IPV4_MAPPED'=811 +'IS_IPV6'=812 +'IS_USED_LOCK'=813 +'LAST_INSERT_ID'=814 +'LCASE'=815 +'LEAST'=816 +'LENGTH'=817 +'LINEFROMTEXT'=818 +'LINEFROMWKB'=819 +'LINESTRINGFROMTEXT'=820 +'LINESTRINGFROMWKB'=821 +'LN'=822 +'LOAD_FILE'=823 +'LOCATE'=824 +'LOG'=825 +'LOG10'=826 +'LOG2'=827 +'LOWER'=828 +'LPAD'=829 +'LTRIM'=830 +'MAKEDATE'=831 +'MAKETIME'=832 +'MAKE_SET'=833 +'MASTER_POS_WAIT'=834 +'MBRCONTAINS'=835 +'MBRDISJOINT'=836 +'MBREQUAL'=837 +'MBRINTERSECTS'=838 +'MBROVERLAPS'=839 +'MBRTOUCHES'=840 +'MBRWITHIN'=841 +'MD5'=842 +'MLINEFROMTEXT'=843 +'MLINEFROMWKB'=844 +'MONTHNAME'=845 +'MPOINTFROMTEXT'=846 +'MPOINTFROMWKB'=847 +'MPOLYFROMTEXT'=848 +'MPOLYFROMWKB'=849 +'MULTILINESTRINGFROMTEXT'=850 +'MULTILINESTRINGFROMWKB'=851 +'MULTIPOINTFROMTEXT'=852 +'MULTIPOINTFROMWKB'=853 +'MULTIPOLYGONFROMTEXT'=854 +'MULTIPOLYGONFROMWKB'=855 +'NAME_CONST'=856 +'NULLIF'=857 +'NUMGEOMETRIES'=858 +'NUMINTERIORRINGS'=859 +'NUMPOINTS'=860 +'OCT'=861 +'OCTET_LENGTH'=862 +'ORD'=863 +'OVERLAPS'=864 +'PERIOD_ADD'=865 +'PERIOD_DIFF'=866 +'PI'=867 +'POINTFROMTEXT'=868 +'POINTFROMWKB'=869 +'POINTN'=870 +'POLYFROMTEXT'=871 +'POLYFROMWKB'=872 +'POLYGONFROMTEXT'=873 +'POLYGONFROMWKB'=874 +'POW'=875 +'POWER'=876 +'QUOTE'=877 +'RADIANS'=878 +'RAND'=879 +'RANDOM_BYTES'=880 +'RELEASE_LOCK'=881 +'REVERSE'=882 +'ROUND'=883 +'ROW_COUNT'=884 +'RPAD'=885 +'RTRIM'=886 +'SEC_TO_TIME'=887 +'SESSION_USER'=888 +'SHA'=889 +'SHA1'=890 +'SHA2'=891 +'SCHEMA_NAME'=892 +'SIGN'=893 +'SIN'=894 +'SLEEP'=895 +'SOUNDEX'=896 +'SQL_THREAD_WAIT_AFTER_GTIDS'=897 +'SQRT'=898 +'SRID'=899 +'STARTPOINT'=900 +'STRCMP'=901 +'STR_TO_DATE'=902 +'ST_AREA'=903 +'ST_ASBINARY'=904 +'ST_ASTEXT'=905 +'ST_ASWKB'=906 +'ST_ASWKT'=907 +'ST_BUFFER'=908 +'ST_CENTROID'=909 +'ST_CONTAINS'=910 +'ST_CROSSES'=911 +'ST_DIFFERENCE'=912 +'ST_DIMENSION'=913 +'ST_DISJOINT'=914 +'ST_DISTANCE'=915 +'ST_ENDPOINT'=916 +'ST_ENVELOPE'=917 +'ST_EQUALS'=918 +'ST_EXTERIORRING'=919 +'ST_GEOMCOLLFROMTEXT'=920 +'ST_GEOMCOLLFROMTXT'=921 +'ST_GEOMCOLLFROMWKB'=922 +'ST_GEOMETRYCOLLECTIONFROMTEXT'=923 +'ST_GEOMETRYCOLLECTIONFROMWKB'=924 +'ST_GEOMETRYFROMTEXT'=925 +'ST_GEOMETRYFROMWKB'=926 +'ST_GEOMETRYN'=927 +'ST_GEOMETRYTYPE'=928 +'ST_GEOMFROMTEXT'=929 +'ST_GEOMFROMWKB'=930 +'ST_INTERIORRINGN'=931 +'ST_INTERSECTION'=932 +'ST_INTERSECTS'=933 +'ST_ISCLOSED'=934 +'ST_ISEMPTY'=935 +'ST_ISSIMPLE'=936 +'ST_LINEFROMTEXT'=937 +'ST_LINEFROMWKB'=938 +'ST_LINESTRINGFROMTEXT'=939 +'ST_LINESTRINGFROMWKB'=940 +'ST_NUMGEOMETRIES'=941 +'ST_NUMINTERIORRING'=942 +'ST_NUMINTERIORRINGS'=943 +'ST_NUMPOINTS'=944 +'ST_OVERLAPS'=945 +'ST_POINTFROMTEXT'=946 +'ST_POINTFROMWKB'=947 +'ST_POINTN'=948 +'ST_POLYFROMTEXT'=949 +'ST_POLYFROMWKB'=950 +'ST_POLYGONFROMTEXT'=951 +'ST_POLYGONFROMWKB'=952 +'ST_SRID'=953 +'ST_STARTPOINT'=954 +'ST_SYMDIFFERENCE'=955 +'ST_TOUCHES'=956 +'ST_UNION'=957 +'ST_WITHIN'=958 +'ST_X'=959 +'ST_Y'=960 +'SUBDATE'=961 +'SUBSTRING_INDEX'=962 +'SUBTIME'=963 +'SYSTEM_USER'=964 +'TAN'=965 +'TIMEDIFF'=966 +'TIMESTAMPADD'=967 +'TIMESTAMPDIFF'=968 +'TIME_FORMAT'=969 +'TIME_TO_SEC'=970 +'TOUCHES'=971 +'TO_BASE64'=972 +'TO_DAYS'=973 +'TO_SECONDS'=974 +'UCASE'=975 +'UNCOMPRESS'=976 +'UNCOMPRESSED_LENGTH'=977 +'UNHEX'=978 +'UNIX_TIMESTAMP'=979 +'UPDATEXML'=980 +'UPPER'=981 +'UUID'=982 +'UUID_SHORT'=983 +'VALIDATE_PASSWORD_STRENGTH'=984 +'VERSION'=985 +'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'=986 +'WEEKDAY'=987 +'WEEKOFYEAR'=988 +'WEIGHT_STRING'=989 +'WITHIN'=990 +'YEARWEEK'=991 +'Y'=992 +'X'=993 +':='=994 +'+='=995 +'-='=996 +'*='=997 +'/='=998 +'%='=999 +'&='=1000 +'^='=1001 +'|='=1002 +'*'=1003 +'/'=1004 +'%'=1005 +'+'=1006 +'--'=1007 +'-'=1008 +'DIV'=1009 +'MOD'=1010 +'='=1011 +'>'=1012 +'<'=1013 +'!'=1014 +'~'=1015 +'|'=1016 +'&'=1017 +'^'=1018 +'.'=1019 +'('=1020 +')'=1021 +','=1022 +';'=1023 +'@'=1024 +'0'=1025 +'1'=1026 +'2'=1027 +'\''=1028 +'"'=1029 +'`'=1030 +':'=1031 diff --git a/src/lib/generic/SqlParserListener.js b/src/lib/generic/SqlParserListener.js new file mode 100644 index 0000000..904ac77 --- /dev/null +++ b/src/lib/generic/SqlParserListener.js @@ -0,0 +1,4929 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/generic/SqlParser.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + +// This class defines a complete listener for a parse tree produced by SqlParser. +function SqlParserListener() { + antlr4.tree.ParseTreeListener.call(this); + return this; +} + +SqlParserListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype); +SqlParserListener.prototype.constructor = SqlParserListener; + +// Enter a parse tree produced by SqlParser#program. +SqlParserListener.prototype.enterProgram = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#program. +SqlParserListener.prototype.exitProgram = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#statement. +SqlParserListener.prototype.enterStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#statement. +SqlParserListener.prototype.exitStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#sqlStatements. +SqlParserListener.prototype.enterSqlStatements = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#sqlStatements. +SqlParserListener.prototype.exitSqlStatements = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#sqlStatement. +SqlParserListener.prototype.enterSqlStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#sqlStatement. +SqlParserListener.prototype.exitSqlStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#emptyStatement. +SqlParserListener.prototype.enterEmptyStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#emptyStatement. +SqlParserListener.prototype.exitEmptyStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#ddlStatement. +SqlParserListener.prototype.enterDdlStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#ddlStatement. +SqlParserListener.prototype.exitDdlStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dmlStatement. +SqlParserListener.prototype.enterDmlStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dmlStatement. +SqlParserListener.prototype.exitDmlStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#transactionStatement. +SqlParserListener.prototype.enterTransactionStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#transactionStatement. +SqlParserListener.prototype.exitTransactionStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#replicationStatement. +SqlParserListener.prototype.enterReplicationStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#replicationStatement. +SqlParserListener.prototype.exitReplicationStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#preparedStatement. +SqlParserListener.prototype.enterPreparedStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#preparedStatement. +SqlParserListener.prototype.exitPreparedStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#compoundStatement. +SqlParserListener.prototype.enterCompoundStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#compoundStatement. +SqlParserListener.prototype.exitCompoundStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#administrationStatement. +SqlParserListener.prototype.enterAdministrationStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#administrationStatement. +SqlParserListener.prototype.exitAdministrationStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#utilityStatement. +SqlParserListener.prototype.enterUtilityStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#utilityStatement. +SqlParserListener.prototype.exitUtilityStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createDatabase. +SqlParserListener.prototype.enterCreateDatabase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createDatabase. +SqlParserListener.prototype.exitCreateDatabase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createEvent. +SqlParserListener.prototype.enterCreateEvent = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createEvent. +SqlParserListener.prototype.exitCreateEvent = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createIndex. +SqlParserListener.prototype.enterCreateIndex = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createIndex. +SqlParserListener.prototype.exitCreateIndex = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createLogfileGroup. +SqlParserListener.prototype.enterCreateLogfileGroup = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createLogfileGroup. +SqlParserListener.prototype.exitCreateLogfileGroup = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createProcedure. +SqlParserListener.prototype.enterCreateProcedure = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createProcedure. +SqlParserListener.prototype.exitCreateProcedure = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createFunction. +SqlParserListener.prototype.enterCreateFunction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createFunction. +SqlParserListener.prototype.exitCreateFunction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createServer. +SqlParserListener.prototype.enterCreateServer = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createServer. +SqlParserListener.prototype.exitCreateServer = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#copyCreateTable. +SqlParserListener.prototype.enterCopyCreateTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#copyCreateTable. +SqlParserListener.prototype.exitCopyCreateTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#queryCreateTable. +SqlParserListener.prototype.enterQueryCreateTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#queryCreateTable. +SqlParserListener.prototype.exitQueryCreateTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#columnCreateTable. +SqlParserListener.prototype.enterColumnCreateTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#columnCreateTable. +SqlParserListener.prototype.exitColumnCreateTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createTablespaceInnodb. +SqlParserListener.prototype.enterCreateTablespaceInnodb = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createTablespaceInnodb. +SqlParserListener.prototype.exitCreateTablespaceInnodb = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createTablespaceNdb. +SqlParserListener.prototype.enterCreateTablespaceNdb = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createTablespaceNdb. +SqlParserListener.prototype.exitCreateTablespaceNdb = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createTrigger. +SqlParserListener.prototype.enterCreateTrigger = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createTrigger. +SqlParserListener.prototype.exitCreateTrigger = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createView. +SqlParserListener.prototype.enterCreateView = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createView. +SqlParserListener.prototype.exitCreateView = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createDatabaseOption. +SqlParserListener.prototype.enterCreateDatabaseOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createDatabaseOption. +SqlParserListener.prototype.exitCreateDatabaseOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#ownerStatement. +SqlParserListener.prototype.enterOwnerStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#ownerStatement. +SqlParserListener.prototype.exitOwnerStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#preciseSchedule. +SqlParserListener.prototype.enterPreciseSchedule = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#preciseSchedule. +SqlParserListener.prototype.exitPreciseSchedule = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#intervalSchedule. +SqlParserListener.prototype.enterIntervalSchedule = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#intervalSchedule. +SqlParserListener.prototype.exitIntervalSchedule = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#timestampValue. +SqlParserListener.prototype.enterTimestampValue = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#timestampValue. +SqlParserListener.prototype.exitTimestampValue = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#intervalExpr. +SqlParserListener.prototype.enterIntervalExpr = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#intervalExpr. +SqlParserListener.prototype.exitIntervalExpr = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#intervalType. +SqlParserListener.prototype.enterIntervalType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#intervalType. +SqlParserListener.prototype.exitIntervalType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#enableType. +SqlParserListener.prototype.enterEnableType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#enableType. +SqlParserListener.prototype.exitEnableType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#indexType. +SqlParserListener.prototype.enterIndexType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#indexType. +SqlParserListener.prototype.exitIndexType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#indexOption. +SqlParserListener.prototype.enterIndexOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#indexOption. +SqlParserListener.prototype.exitIndexOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#procedureParameter. +SqlParserListener.prototype.enterProcedureParameter = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#procedureParameter. +SqlParserListener.prototype.exitProcedureParameter = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#functionParameter. +SqlParserListener.prototype.enterFunctionParameter = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#functionParameter. +SqlParserListener.prototype.exitFunctionParameter = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#routineComment. +SqlParserListener.prototype.enterRoutineComment = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#routineComment. +SqlParserListener.prototype.exitRoutineComment = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#routineLanguage. +SqlParserListener.prototype.enterRoutineLanguage = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#routineLanguage. +SqlParserListener.prototype.exitRoutineLanguage = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#routineBehavior. +SqlParserListener.prototype.enterRoutineBehavior = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#routineBehavior. +SqlParserListener.prototype.exitRoutineBehavior = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#routineData. +SqlParserListener.prototype.enterRoutineData = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#routineData. +SqlParserListener.prototype.exitRoutineData = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#routineSecurity. +SqlParserListener.prototype.enterRoutineSecurity = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#routineSecurity. +SqlParserListener.prototype.exitRoutineSecurity = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#serverOption. +SqlParserListener.prototype.enterServerOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#serverOption. +SqlParserListener.prototype.exitServerOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createDefinitions. +SqlParserListener.prototype.enterCreateDefinitions = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createDefinitions. +SqlParserListener.prototype.exitCreateDefinitions = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#columnDeclaration. +SqlParserListener.prototype.enterColumnDeclaration = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#columnDeclaration. +SqlParserListener.prototype.exitColumnDeclaration = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#constraintDeclaration. +SqlParserListener.prototype.enterConstraintDeclaration = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#constraintDeclaration. +SqlParserListener.prototype.exitConstraintDeclaration = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#indexDeclaration. +SqlParserListener.prototype.enterIndexDeclaration = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#indexDeclaration. +SqlParserListener.prototype.exitIndexDeclaration = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#columnDefinition. +SqlParserListener.prototype.enterColumnDefinition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#columnDefinition. +SqlParserListener.prototype.exitColumnDefinition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#nullColumnConstraint. +SqlParserListener.prototype.enterNullColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#nullColumnConstraint. +SqlParserListener.prototype.exitNullColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#defaultColumnConstraint. +SqlParserListener.prototype.enterDefaultColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#defaultColumnConstraint. +SqlParserListener.prototype.exitDefaultColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#autoIncrementColumnConstraint. +SqlParserListener.prototype.enterAutoIncrementColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#autoIncrementColumnConstraint. +SqlParserListener.prototype.exitAutoIncrementColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#primaryKeyColumnConstraint. +SqlParserListener.prototype.enterPrimaryKeyColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#primaryKeyColumnConstraint. +SqlParserListener.prototype.exitPrimaryKeyColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#uniqueKeyColumnConstraint. +SqlParserListener.prototype.enterUniqueKeyColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#uniqueKeyColumnConstraint. +SqlParserListener.prototype.exitUniqueKeyColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#commentColumnConstraint. +SqlParserListener.prototype.enterCommentColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#commentColumnConstraint. +SqlParserListener.prototype.exitCommentColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#formatColumnConstraint. +SqlParserListener.prototype.enterFormatColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#formatColumnConstraint. +SqlParserListener.prototype.exitFormatColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#storageColumnConstraint. +SqlParserListener.prototype.enterStorageColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#storageColumnConstraint. +SqlParserListener.prototype.exitStorageColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#referenceColumnConstraint. +SqlParserListener.prototype.enterReferenceColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#referenceColumnConstraint. +SqlParserListener.prototype.exitReferenceColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#collateColumnConstraint. +SqlParserListener.prototype.enterCollateColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#collateColumnConstraint. +SqlParserListener.prototype.exitCollateColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#generatedColumnConstraint. +SqlParserListener.prototype.enterGeneratedColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#generatedColumnConstraint. +SqlParserListener.prototype.exitGeneratedColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#serialDefaultColumnConstraint. +SqlParserListener.prototype.enterSerialDefaultColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#serialDefaultColumnConstraint. +SqlParserListener.prototype.exitSerialDefaultColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#checkColumnConstraint. +SqlParserListener.prototype.enterCheckColumnConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#checkColumnConstraint. +SqlParserListener.prototype.exitCheckColumnConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#primaryKeyTableConstraint. +SqlParserListener.prototype.enterPrimaryKeyTableConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#primaryKeyTableConstraint. +SqlParserListener.prototype.exitPrimaryKeyTableConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#uniqueKeyTableConstraint. +SqlParserListener.prototype.enterUniqueKeyTableConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#uniqueKeyTableConstraint. +SqlParserListener.prototype.exitUniqueKeyTableConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#foreignKeyTableConstraint. +SqlParserListener.prototype.enterForeignKeyTableConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#foreignKeyTableConstraint. +SqlParserListener.prototype.exitForeignKeyTableConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#checkTableConstraint. +SqlParserListener.prototype.enterCheckTableConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#checkTableConstraint. +SqlParserListener.prototype.exitCheckTableConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#referenceDefinition. +SqlParserListener.prototype.enterReferenceDefinition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#referenceDefinition. +SqlParserListener.prototype.exitReferenceDefinition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#referenceAction. +SqlParserListener.prototype.enterReferenceAction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#referenceAction. +SqlParserListener.prototype.exitReferenceAction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#referenceControlType. +SqlParserListener.prototype.enterReferenceControlType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#referenceControlType. +SqlParserListener.prototype.exitReferenceControlType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleIndexDeclaration. +SqlParserListener.prototype.enterSimpleIndexDeclaration = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleIndexDeclaration. +SqlParserListener.prototype.exitSimpleIndexDeclaration = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#specialIndexDeclaration. +SqlParserListener.prototype.enterSpecialIndexDeclaration = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#specialIndexDeclaration. +SqlParserListener.prototype.exitSpecialIndexDeclaration = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionEngine. +SqlParserListener.prototype.enterTableOptionEngine = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionEngine. +SqlParserListener.prototype.exitTableOptionEngine = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionAutoIncrement. +SqlParserListener.prototype.enterTableOptionAutoIncrement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionAutoIncrement. +SqlParserListener.prototype.exitTableOptionAutoIncrement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionAverage. +SqlParserListener.prototype.enterTableOptionAverage = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionAverage. +SqlParserListener.prototype.exitTableOptionAverage = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionCharset. +SqlParserListener.prototype.enterTableOptionCharset = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionCharset. +SqlParserListener.prototype.exitTableOptionCharset = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionChecksum. +SqlParserListener.prototype.enterTableOptionChecksum = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionChecksum. +SqlParserListener.prototype.exitTableOptionChecksum = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionCollate. +SqlParserListener.prototype.enterTableOptionCollate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionCollate. +SqlParserListener.prototype.exitTableOptionCollate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionComment. +SqlParserListener.prototype.enterTableOptionComment = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionComment. +SqlParserListener.prototype.exitTableOptionComment = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionCompression. +SqlParserListener.prototype.enterTableOptionCompression = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionCompression. +SqlParserListener.prototype.exitTableOptionCompression = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionConnection. +SqlParserListener.prototype.enterTableOptionConnection = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionConnection. +SqlParserListener.prototype.exitTableOptionConnection = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionDataDirectory. +SqlParserListener.prototype.enterTableOptionDataDirectory = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionDataDirectory. +SqlParserListener.prototype.exitTableOptionDataDirectory = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionDelay. +SqlParserListener.prototype.enterTableOptionDelay = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionDelay. +SqlParserListener.prototype.exitTableOptionDelay = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionEncryption. +SqlParserListener.prototype.enterTableOptionEncryption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionEncryption. +SqlParserListener.prototype.exitTableOptionEncryption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionIndexDirectory. +SqlParserListener.prototype.enterTableOptionIndexDirectory = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionIndexDirectory. +SqlParserListener.prototype.exitTableOptionIndexDirectory = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionInsertMethod. +SqlParserListener.prototype.enterTableOptionInsertMethod = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionInsertMethod. +SqlParserListener.prototype.exitTableOptionInsertMethod = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionKeyBlockSize. +SqlParserListener.prototype.enterTableOptionKeyBlockSize = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionKeyBlockSize. +SqlParserListener.prototype.exitTableOptionKeyBlockSize = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionMaxRows. +SqlParserListener.prototype.enterTableOptionMaxRows = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionMaxRows. +SqlParserListener.prototype.exitTableOptionMaxRows = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionMinRows. +SqlParserListener.prototype.enterTableOptionMinRows = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionMinRows. +SqlParserListener.prototype.exitTableOptionMinRows = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionPackKeys. +SqlParserListener.prototype.enterTableOptionPackKeys = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionPackKeys. +SqlParserListener.prototype.exitTableOptionPackKeys = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionPassword. +SqlParserListener.prototype.enterTableOptionPassword = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionPassword. +SqlParserListener.prototype.exitTableOptionPassword = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionRowFormat. +SqlParserListener.prototype.enterTableOptionRowFormat = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionRowFormat. +SqlParserListener.prototype.exitTableOptionRowFormat = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionRecalculation. +SqlParserListener.prototype.enterTableOptionRecalculation = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionRecalculation. +SqlParserListener.prototype.exitTableOptionRecalculation = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionPersistent. +SqlParserListener.prototype.enterTableOptionPersistent = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionPersistent. +SqlParserListener.prototype.exitTableOptionPersistent = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionSamplePage. +SqlParserListener.prototype.enterTableOptionSamplePage = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionSamplePage. +SqlParserListener.prototype.exitTableOptionSamplePage = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionTablespace. +SqlParserListener.prototype.enterTableOptionTablespace = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionTablespace. +SqlParserListener.prototype.exitTableOptionTablespace = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableOptionUnion. +SqlParserListener.prototype.enterTableOptionUnion = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableOptionUnion. +SqlParserListener.prototype.exitTableOptionUnion = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tablespaceStorage. +SqlParserListener.prototype.enterTablespaceStorage = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tablespaceStorage. +SqlParserListener.prototype.exitTablespaceStorage = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionDefinitions. +SqlParserListener.prototype.enterPartitionDefinitions = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionDefinitions. +SqlParserListener.prototype.exitPartitionDefinitions = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionFunctionHash. +SqlParserListener.prototype.enterPartitionFunctionHash = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionFunctionHash. +SqlParserListener.prototype.exitPartitionFunctionHash = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionFunctionKey. +SqlParserListener.prototype.enterPartitionFunctionKey = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionFunctionKey. +SqlParserListener.prototype.exitPartitionFunctionKey = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionFunctionRange. +SqlParserListener.prototype.enterPartitionFunctionRange = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionFunctionRange. +SqlParserListener.prototype.exitPartitionFunctionRange = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionFunctionList. +SqlParserListener.prototype.enterPartitionFunctionList = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionFunctionList. +SqlParserListener.prototype.exitPartitionFunctionList = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#subPartitionFunctionHash. +SqlParserListener.prototype.enterSubPartitionFunctionHash = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#subPartitionFunctionHash. +SqlParserListener.prototype.exitSubPartitionFunctionHash = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#subPartitionFunctionKey. +SqlParserListener.prototype.enterSubPartitionFunctionKey = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#subPartitionFunctionKey. +SqlParserListener.prototype.exitSubPartitionFunctionKey = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionComparision. +SqlParserListener.prototype.enterPartitionComparision = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionComparision. +SqlParserListener.prototype.exitPartitionComparision = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionListAtom. +SqlParserListener.prototype.enterPartitionListAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionListAtom. +SqlParserListener.prototype.exitPartitionListAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionListVector. +SqlParserListener.prototype.enterPartitionListVector = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionListVector. +SqlParserListener.prototype.exitPartitionListVector = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionSimple. +SqlParserListener.prototype.enterPartitionSimple = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionSimple. +SqlParserListener.prototype.exitPartitionSimple = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionDefinerAtom. +SqlParserListener.prototype.enterPartitionDefinerAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionDefinerAtom. +SqlParserListener.prototype.exitPartitionDefinerAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionDefinerVector. +SqlParserListener.prototype.enterPartitionDefinerVector = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionDefinerVector. +SqlParserListener.prototype.exitPartitionDefinerVector = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#subpartitionDefinition. +SqlParserListener.prototype.enterSubpartitionDefinition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#subpartitionDefinition. +SqlParserListener.prototype.exitSubpartitionDefinition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionOptionEngine. +SqlParserListener.prototype.enterPartitionOptionEngine = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionOptionEngine. +SqlParserListener.prototype.exitPartitionOptionEngine = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionOptionComment. +SqlParserListener.prototype.enterPartitionOptionComment = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionOptionComment. +SqlParserListener.prototype.exitPartitionOptionComment = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionOptionDataDirectory. +SqlParserListener.prototype.enterPartitionOptionDataDirectory = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionOptionDataDirectory. +SqlParserListener.prototype.exitPartitionOptionDataDirectory = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionOptionIndexDirectory. +SqlParserListener.prototype.enterPartitionOptionIndexDirectory = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionOptionIndexDirectory. +SqlParserListener.prototype.exitPartitionOptionIndexDirectory = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionOptionMaxRows. +SqlParserListener.prototype.enterPartitionOptionMaxRows = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionOptionMaxRows. +SqlParserListener.prototype.exitPartitionOptionMaxRows = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionOptionMinRows. +SqlParserListener.prototype.enterPartitionOptionMinRows = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionOptionMinRows. +SqlParserListener.prototype.exitPartitionOptionMinRows = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionOptionTablespace. +SqlParserListener.prototype.enterPartitionOptionTablespace = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionOptionTablespace. +SqlParserListener.prototype.exitPartitionOptionTablespace = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#partitionOptionNodeGroup. +SqlParserListener.prototype.enterPartitionOptionNodeGroup = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#partitionOptionNodeGroup. +SqlParserListener.prototype.exitPartitionOptionNodeGroup = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterSimpleDatabase. +SqlParserListener.prototype.enterAlterSimpleDatabase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterSimpleDatabase. +SqlParserListener.prototype.exitAlterSimpleDatabase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterUpgradeName. +SqlParserListener.prototype.enterAlterUpgradeName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterUpgradeName. +SqlParserListener.prototype.exitAlterUpgradeName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterEvent. +SqlParserListener.prototype.enterAlterEvent = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterEvent. +SqlParserListener.prototype.exitAlterEvent = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterFunction. +SqlParserListener.prototype.enterAlterFunction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterFunction. +SqlParserListener.prototype.exitAlterFunction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterInstance. +SqlParserListener.prototype.enterAlterInstance = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterInstance. +SqlParserListener.prototype.exitAlterInstance = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterLogfileGroup. +SqlParserListener.prototype.enterAlterLogfileGroup = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterLogfileGroup. +SqlParserListener.prototype.exitAlterLogfileGroup = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterProcedure. +SqlParserListener.prototype.enterAlterProcedure = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterProcedure. +SqlParserListener.prototype.exitAlterProcedure = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterServer. +SqlParserListener.prototype.enterAlterServer = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterServer. +SqlParserListener.prototype.exitAlterServer = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterTable. +SqlParserListener.prototype.enterAlterTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterTable. +SqlParserListener.prototype.exitAlterTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterTablespace. +SqlParserListener.prototype.enterAlterTablespace = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterTablespace. +SqlParserListener.prototype.exitAlterTablespace = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterView. +SqlParserListener.prototype.enterAlterView = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterView. +SqlParserListener.prototype.exitAlterView = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByTableOption. +SqlParserListener.prototype.enterAlterByTableOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByTableOption. +SqlParserListener.prototype.exitAlterByTableOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddColumn. +SqlParserListener.prototype.enterAlterByAddColumn = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddColumn. +SqlParserListener.prototype.exitAlterByAddColumn = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddColumns. +SqlParserListener.prototype.enterAlterByAddColumns = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddColumns. +SqlParserListener.prototype.exitAlterByAddColumns = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddIndex. +SqlParserListener.prototype.enterAlterByAddIndex = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddIndex. +SqlParserListener.prototype.exitAlterByAddIndex = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddPrimaryKey. +SqlParserListener.prototype.enterAlterByAddPrimaryKey = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddPrimaryKey. +SqlParserListener.prototype.exitAlterByAddPrimaryKey = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddUniqueKey. +SqlParserListener.prototype.enterAlterByAddUniqueKey = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddUniqueKey. +SqlParserListener.prototype.exitAlterByAddUniqueKey = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddSpecialIndex. +SqlParserListener.prototype.enterAlterByAddSpecialIndex = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddSpecialIndex. +SqlParserListener.prototype.exitAlterByAddSpecialIndex = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddForeignKey. +SqlParserListener.prototype.enterAlterByAddForeignKey = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddForeignKey. +SqlParserListener.prototype.exitAlterByAddForeignKey = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddCheckTableConstraint. +SqlParserListener.prototype.enterAlterByAddCheckTableConstraint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddCheckTableConstraint. +SqlParserListener.prototype.exitAlterByAddCheckTableConstraint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterBySetAlgorithm. +SqlParserListener.prototype.enterAlterBySetAlgorithm = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterBySetAlgorithm. +SqlParserListener.prototype.exitAlterBySetAlgorithm = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByChangeDefault. +SqlParserListener.prototype.enterAlterByChangeDefault = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByChangeDefault. +SqlParserListener.prototype.exitAlterByChangeDefault = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByChangeColumn. +SqlParserListener.prototype.enterAlterByChangeColumn = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByChangeColumn. +SqlParserListener.prototype.exitAlterByChangeColumn = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByRenameColumn. +SqlParserListener.prototype.enterAlterByRenameColumn = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByRenameColumn. +SqlParserListener.prototype.exitAlterByRenameColumn = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByLock. +SqlParserListener.prototype.enterAlterByLock = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByLock. +SqlParserListener.prototype.exitAlterByLock = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByModifyColumn. +SqlParserListener.prototype.enterAlterByModifyColumn = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByModifyColumn. +SqlParserListener.prototype.exitAlterByModifyColumn = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDropColumn. +SqlParserListener.prototype.enterAlterByDropColumn = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDropColumn. +SqlParserListener.prototype.exitAlterByDropColumn = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDropPrimaryKey. +SqlParserListener.prototype.enterAlterByDropPrimaryKey = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDropPrimaryKey. +SqlParserListener.prototype.exitAlterByDropPrimaryKey = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByRenameIndex. +SqlParserListener.prototype.enterAlterByRenameIndex = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByRenameIndex. +SqlParserListener.prototype.exitAlterByRenameIndex = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAlterIndexVisibility. +SqlParserListener.prototype.enterAlterByAlterIndexVisibility = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAlterIndexVisibility. +SqlParserListener.prototype.exitAlterByAlterIndexVisibility = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDropIndex. +SqlParserListener.prototype.enterAlterByDropIndex = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDropIndex. +SqlParserListener.prototype.exitAlterByDropIndex = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDropForeignKey. +SqlParserListener.prototype.enterAlterByDropForeignKey = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDropForeignKey. +SqlParserListener.prototype.exitAlterByDropForeignKey = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDisableKeys. +SqlParserListener.prototype.enterAlterByDisableKeys = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDisableKeys. +SqlParserListener.prototype.exitAlterByDisableKeys = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByEnableKeys. +SqlParserListener.prototype.enterAlterByEnableKeys = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByEnableKeys. +SqlParserListener.prototype.exitAlterByEnableKeys = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByRename. +SqlParserListener.prototype.enterAlterByRename = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByRename. +SqlParserListener.prototype.exitAlterByRename = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByOrder. +SqlParserListener.prototype.enterAlterByOrder = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByOrder. +SqlParserListener.prototype.exitAlterByOrder = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByConvertCharset. +SqlParserListener.prototype.enterAlterByConvertCharset = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByConvertCharset. +SqlParserListener.prototype.exitAlterByConvertCharset = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDefaultCharset. +SqlParserListener.prototype.enterAlterByDefaultCharset = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDefaultCharset. +SqlParserListener.prototype.exitAlterByDefaultCharset = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDiscardTablespace. +SqlParserListener.prototype.enterAlterByDiscardTablespace = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDiscardTablespace. +SqlParserListener.prototype.exitAlterByDiscardTablespace = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByImportTablespace. +SqlParserListener.prototype.enterAlterByImportTablespace = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByImportTablespace. +SqlParserListener.prototype.exitAlterByImportTablespace = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByForce. +SqlParserListener.prototype.enterAlterByForce = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByForce. +SqlParserListener.prototype.exitAlterByForce = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByValidate. +SqlParserListener.prototype.enterAlterByValidate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByValidate. +SqlParserListener.prototype.exitAlterByValidate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAddPartition. +SqlParserListener.prototype.enterAlterByAddPartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAddPartition. +SqlParserListener.prototype.exitAlterByAddPartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDropPartition. +SqlParserListener.prototype.enterAlterByDropPartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDropPartition. +SqlParserListener.prototype.exitAlterByDropPartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByDiscardPartition. +SqlParserListener.prototype.enterAlterByDiscardPartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByDiscardPartition. +SqlParserListener.prototype.exitAlterByDiscardPartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByImportPartition. +SqlParserListener.prototype.enterAlterByImportPartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByImportPartition. +SqlParserListener.prototype.exitAlterByImportPartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByTruncatePartition. +SqlParserListener.prototype.enterAlterByTruncatePartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByTruncatePartition. +SqlParserListener.prototype.exitAlterByTruncatePartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByCoalescePartition. +SqlParserListener.prototype.enterAlterByCoalescePartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByCoalescePartition. +SqlParserListener.prototype.exitAlterByCoalescePartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByReorganizePartition. +SqlParserListener.prototype.enterAlterByReorganizePartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByReorganizePartition. +SqlParserListener.prototype.exitAlterByReorganizePartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByExchangePartition. +SqlParserListener.prototype.enterAlterByExchangePartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByExchangePartition. +SqlParserListener.prototype.exitAlterByExchangePartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByAnalyzePartition. +SqlParserListener.prototype.enterAlterByAnalyzePartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByAnalyzePartition. +SqlParserListener.prototype.exitAlterByAnalyzePartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByCheckPartition. +SqlParserListener.prototype.enterAlterByCheckPartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByCheckPartition. +SqlParserListener.prototype.exitAlterByCheckPartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByOptimizePartition. +SqlParserListener.prototype.enterAlterByOptimizePartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByOptimizePartition. +SqlParserListener.prototype.exitAlterByOptimizePartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByRebuildPartition. +SqlParserListener.prototype.enterAlterByRebuildPartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByRebuildPartition. +SqlParserListener.prototype.exitAlterByRebuildPartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByRepairPartition. +SqlParserListener.prototype.enterAlterByRepairPartition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByRepairPartition. +SqlParserListener.prototype.exitAlterByRepairPartition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByRemovePartitioning. +SqlParserListener.prototype.enterAlterByRemovePartitioning = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByRemovePartitioning. +SqlParserListener.prototype.exitAlterByRemovePartitioning = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterByUpgradePartitioning. +SqlParserListener.prototype.enterAlterByUpgradePartitioning = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterByUpgradePartitioning. +SqlParserListener.prototype.exitAlterByUpgradePartitioning = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropDatabase. +SqlParserListener.prototype.enterDropDatabase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropDatabase. +SqlParserListener.prototype.exitDropDatabase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropEvent. +SqlParserListener.prototype.enterDropEvent = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropEvent. +SqlParserListener.prototype.exitDropEvent = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropIndex. +SqlParserListener.prototype.enterDropIndex = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropIndex. +SqlParserListener.prototype.exitDropIndex = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropLogfileGroup. +SqlParserListener.prototype.enterDropLogfileGroup = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropLogfileGroup. +SqlParserListener.prototype.exitDropLogfileGroup = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropProcedure. +SqlParserListener.prototype.enterDropProcedure = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropProcedure. +SqlParserListener.prototype.exitDropProcedure = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropFunction. +SqlParserListener.prototype.enterDropFunction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropFunction. +SqlParserListener.prototype.exitDropFunction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropServer. +SqlParserListener.prototype.enterDropServer = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropServer. +SqlParserListener.prototype.exitDropServer = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropTable. +SqlParserListener.prototype.enterDropTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropTable. +SqlParserListener.prototype.exitDropTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropTablespace. +SqlParserListener.prototype.enterDropTablespace = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropTablespace. +SqlParserListener.prototype.exitDropTablespace = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropTrigger. +SqlParserListener.prototype.enterDropTrigger = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropTrigger. +SqlParserListener.prototype.exitDropTrigger = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropView. +SqlParserListener.prototype.enterDropView = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropView. +SqlParserListener.prototype.exitDropView = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#renameTable. +SqlParserListener.prototype.enterRenameTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#renameTable. +SqlParserListener.prototype.exitRenameTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#renameTableClause. +SqlParserListener.prototype.enterRenameTableClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#renameTableClause. +SqlParserListener.prototype.exitRenameTableClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#truncateTable. +SqlParserListener.prototype.enterTruncateTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#truncateTable. +SqlParserListener.prototype.exitTruncateTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#callStatement. +SqlParserListener.prototype.enterCallStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#callStatement. +SqlParserListener.prototype.exitCallStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#deleteStatement. +SqlParserListener.prototype.enterDeleteStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#deleteStatement. +SqlParserListener.prototype.exitDeleteStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#doStatement. +SqlParserListener.prototype.enterDoStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#doStatement. +SqlParserListener.prototype.exitDoStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerStatement. +SqlParserListener.prototype.enterHandlerStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerStatement. +SqlParserListener.prototype.exitHandlerStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#insertStatement. +SqlParserListener.prototype.enterInsertStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#insertStatement. +SqlParserListener.prototype.exitInsertStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#loadDataStatement. +SqlParserListener.prototype.enterLoadDataStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#loadDataStatement. +SqlParserListener.prototype.exitLoadDataStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#loadXmlStatement. +SqlParserListener.prototype.enterLoadXmlStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#loadXmlStatement. +SqlParserListener.prototype.exitLoadXmlStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#replaceStatement. +SqlParserListener.prototype.enterReplaceStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#replaceStatement. +SqlParserListener.prototype.exitReplaceStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleSelect. +SqlParserListener.prototype.enterSimpleSelect = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleSelect. +SqlParserListener.prototype.exitSimpleSelect = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#parenthesisSelect. +SqlParserListener.prototype.enterParenthesisSelect = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#parenthesisSelect. +SqlParserListener.prototype.exitParenthesisSelect = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#unionSelect. +SqlParserListener.prototype.enterUnionSelect = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#unionSelect. +SqlParserListener.prototype.exitUnionSelect = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#unionParenthesisSelect. +SqlParserListener.prototype.enterUnionParenthesisSelect = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#unionParenthesisSelect. +SqlParserListener.prototype.exitUnionParenthesisSelect = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#updateStatement. +SqlParserListener.prototype.enterUpdateStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#updateStatement. +SqlParserListener.prototype.exitUpdateStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#insertStatementValue. +SqlParserListener.prototype.enterInsertStatementValue = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#insertStatementValue. +SqlParserListener.prototype.exitInsertStatementValue = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#updatedElement. +SqlParserListener.prototype.enterUpdatedElement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#updatedElement. +SqlParserListener.prototype.exitUpdatedElement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#assignmentField. +SqlParserListener.prototype.enterAssignmentField = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#assignmentField. +SqlParserListener.prototype.exitAssignmentField = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#lockClause. +SqlParserListener.prototype.enterLockClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#lockClause. +SqlParserListener.prototype.exitLockClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#singleDeleteStatement. +SqlParserListener.prototype.enterSingleDeleteStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#singleDeleteStatement. +SqlParserListener.prototype.exitSingleDeleteStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#multipleDeleteStatement. +SqlParserListener.prototype.enterMultipleDeleteStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#multipleDeleteStatement. +SqlParserListener.prototype.exitMultipleDeleteStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerOpenStatement. +SqlParserListener.prototype.enterHandlerOpenStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerOpenStatement. +SqlParserListener.prototype.exitHandlerOpenStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerReadIndexStatement. +SqlParserListener.prototype.enterHandlerReadIndexStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerReadIndexStatement. +SqlParserListener.prototype.exitHandlerReadIndexStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerReadStatement. +SqlParserListener.prototype.enterHandlerReadStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerReadStatement. +SqlParserListener.prototype.exitHandlerReadStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerCloseStatement. +SqlParserListener.prototype.enterHandlerCloseStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerCloseStatement. +SqlParserListener.prototype.exitHandlerCloseStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#singleUpdateStatement. +SqlParserListener.prototype.enterSingleUpdateStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#singleUpdateStatement. +SqlParserListener.prototype.exitSingleUpdateStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#multipleUpdateStatement. +SqlParserListener.prototype.enterMultipleUpdateStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#multipleUpdateStatement. +SqlParserListener.prototype.exitMultipleUpdateStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#orderByClause. +SqlParserListener.prototype.enterOrderByClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#orderByClause. +SqlParserListener.prototype.exitOrderByClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#orderByExpression. +SqlParserListener.prototype.enterOrderByExpression = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#orderByExpression. +SqlParserListener.prototype.exitOrderByExpression = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableSources. +SqlParserListener.prototype.enterTableSources = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableSources. +SqlParserListener.prototype.exitTableSources = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableSourceBase. +SqlParserListener.prototype.enterTableSourceBase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableSourceBase. +SqlParserListener.prototype.exitTableSourceBase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableSourceNested. +SqlParserListener.prototype.enterTableSourceNested = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableSourceNested. +SqlParserListener.prototype.exitTableSourceNested = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#atomTableItem. +SqlParserListener.prototype.enterAtomTableItem = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#atomTableItem. +SqlParserListener.prototype.exitAtomTableItem = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#subqueryTableItem. +SqlParserListener.prototype.enterSubqueryTableItem = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#subqueryTableItem. +SqlParserListener.prototype.exitSubqueryTableItem = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableSourcesItem. +SqlParserListener.prototype.enterTableSourcesItem = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableSourcesItem. +SqlParserListener.prototype.exitTableSourcesItem = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#indexHint. +SqlParserListener.prototype.enterIndexHint = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#indexHint. +SqlParserListener.prototype.exitIndexHint = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#indexHintType. +SqlParserListener.prototype.enterIndexHintType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#indexHintType. +SqlParserListener.prototype.exitIndexHintType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#innerJoin. +SqlParserListener.prototype.enterInnerJoin = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#innerJoin. +SqlParserListener.prototype.exitInnerJoin = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#straightJoin. +SqlParserListener.prototype.enterStraightJoin = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#straightJoin. +SqlParserListener.prototype.exitStraightJoin = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#outerJoin. +SqlParserListener.prototype.enterOuterJoin = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#outerJoin. +SqlParserListener.prototype.exitOuterJoin = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#naturalJoin. +SqlParserListener.prototype.enterNaturalJoin = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#naturalJoin. +SqlParserListener.prototype.exitNaturalJoin = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#queryExpression. +SqlParserListener.prototype.enterQueryExpression = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#queryExpression. +SqlParserListener.prototype.exitQueryExpression = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#queryExpressionNointo. +SqlParserListener.prototype.enterQueryExpressionNointo = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#queryExpressionNointo. +SqlParserListener.prototype.exitQueryExpressionNointo = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#querySpecification. +SqlParserListener.prototype.enterQuerySpecification = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#querySpecification. +SqlParserListener.prototype.exitQuerySpecification = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#querySpecificationNointo. +SqlParserListener.prototype.enterQuerySpecificationNointo = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#querySpecificationNointo. +SqlParserListener.prototype.exitQuerySpecificationNointo = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#unionParenthesis. +SqlParserListener.prototype.enterUnionParenthesis = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#unionParenthesis. +SqlParserListener.prototype.exitUnionParenthesis = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#unionStatement. +SqlParserListener.prototype.enterUnionStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#unionStatement. +SqlParserListener.prototype.exitUnionStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectSpec. +SqlParserListener.prototype.enterSelectSpec = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectSpec. +SqlParserListener.prototype.exitSelectSpec = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectElements. +SqlParserListener.prototype.enterSelectElements = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectElements. +SqlParserListener.prototype.exitSelectElements = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectStarElement. +SqlParserListener.prototype.enterSelectStarElement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectStarElement. +SqlParserListener.prototype.exitSelectStarElement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectColumnElement. +SqlParserListener.prototype.enterSelectColumnElement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectColumnElement. +SqlParserListener.prototype.exitSelectColumnElement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectFunctionElement. +SqlParserListener.prototype.enterSelectFunctionElement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectFunctionElement. +SqlParserListener.prototype.exitSelectFunctionElement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectExpressionElement. +SqlParserListener.prototype.enterSelectExpressionElement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectExpressionElement. +SqlParserListener.prototype.exitSelectExpressionElement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectIntoVariables. +SqlParserListener.prototype.enterSelectIntoVariables = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectIntoVariables. +SqlParserListener.prototype.exitSelectIntoVariables = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectIntoDumpFile. +SqlParserListener.prototype.enterSelectIntoDumpFile = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectIntoDumpFile. +SqlParserListener.prototype.exitSelectIntoDumpFile = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectIntoTextFile. +SqlParserListener.prototype.enterSelectIntoTextFile = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectIntoTextFile. +SqlParserListener.prototype.exitSelectIntoTextFile = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectFieldsInto. +SqlParserListener.prototype.enterSelectFieldsInto = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectFieldsInto. +SqlParserListener.prototype.exitSelectFieldsInto = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#selectLinesInto. +SqlParserListener.prototype.enterSelectLinesInto = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#selectLinesInto. +SqlParserListener.prototype.exitSelectLinesInto = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#fromClause. +SqlParserListener.prototype.enterFromClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#fromClause. +SqlParserListener.prototype.exitFromClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#groupByItem. +SqlParserListener.prototype.enterGroupByItem = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#groupByItem. +SqlParserListener.prototype.exitGroupByItem = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#limitClause. +SqlParserListener.prototype.enterLimitClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#limitClause. +SqlParserListener.prototype.exitLimitClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#limitClauseAtom. +SqlParserListener.prototype.enterLimitClauseAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#limitClauseAtom. +SqlParserListener.prototype.exitLimitClauseAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#startTransaction. +SqlParserListener.prototype.enterStartTransaction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#startTransaction. +SqlParserListener.prototype.exitStartTransaction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#beginWork. +SqlParserListener.prototype.enterBeginWork = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#beginWork. +SqlParserListener.prototype.exitBeginWork = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#commitWork. +SqlParserListener.prototype.enterCommitWork = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#commitWork. +SqlParserListener.prototype.exitCommitWork = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#rollbackWork. +SqlParserListener.prototype.enterRollbackWork = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#rollbackWork. +SqlParserListener.prototype.exitRollbackWork = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#savepointStatement. +SqlParserListener.prototype.enterSavepointStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#savepointStatement. +SqlParserListener.prototype.exitSavepointStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#rollbackStatement. +SqlParserListener.prototype.enterRollbackStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#rollbackStatement. +SqlParserListener.prototype.exitRollbackStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#releaseStatement. +SqlParserListener.prototype.enterReleaseStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#releaseStatement. +SqlParserListener.prototype.exitReleaseStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#lockTables. +SqlParserListener.prototype.enterLockTables = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#lockTables. +SqlParserListener.prototype.exitLockTables = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#unlockTables. +SqlParserListener.prototype.enterUnlockTables = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#unlockTables. +SqlParserListener.prototype.exitUnlockTables = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setAutocommitStatement. +SqlParserListener.prototype.enterSetAutocommitStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setAutocommitStatement. +SqlParserListener.prototype.exitSetAutocommitStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setTransactionStatement. +SqlParserListener.prototype.enterSetTransactionStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setTransactionStatement. +SqlParserListener.prototype.exitSetTransactionStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#transactionMode. +SqlParserListener.prototype.enterTransactionMode = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#transactionMode. +SqlParserListener.prototype.exitTransactionMode = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#lockTableElement. +SqlParserListener.prototype.enterLockTableElement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#lockTableElement. +SqlParserListener.prototype.exitLockTableElement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#lockAction. +SqlParserListener.prototype.enterLockAction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#lockAction. +SqlParserListener.prototype.exitLockAction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#transactionOption. +SqlParserListener.prototype.enterTransactionOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#transactionOption. +SqlParserListener.prototype.exitTransactionOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#transactionLevel. +SqlParserListener.prototype.enterTransactionLevel = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#transactionLevel. +SqlParserListener.prototype.exitTransactionLevel = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#changeMaster. +SqlParserListener.prototype.enterChangeMaster = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#changeMaster. +SqlParserListener.prototype.exitChangeMaster = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#changeReplicationFilter. +SqlParserListener.prototype.enterChangeReplicationFilter = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#changeReplicationFilter. +SqlParserListener.prototype.exitChangeReplicationFilter = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#purgeBinaryLogs. +SqlParserListener.prototype.enterPurgeBinaryLogs = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#purgeBinaryLogs. +SqlParserListener.prototype.exitPurgeBinaryLogs = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#resetMaster. +SqlParserListener.prototype.enterResetMaster = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#resetMaster. +SqlParserListener.prototype.exitResetMaster = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#resetSlave. +SqlParserListener.prototype.enterResetSlave = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#resetSlave. +SqlParserListener.prototype.exitResetSlave = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#startSlave. +SqlParserListener.prototype.enterStartSlave = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#startSlave. +SqlParserListener.prototype.exitStartSlave = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#stopSlave. +SqlParserListener.prototype.enterStopSlave = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#stopSlave. +SqlParserListener.prototype.exitStopSlave = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#startGroupReplication. +SqlParserListener.prototype.enterStartGroupReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#startGroupReplication. +SqlParserListener.prototype.exitStartGroupReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#stopGroupReplication. +SqlParserListener.prototype.enterStopGroupReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#stopGroupReplication. +SqlParserListener.prototype.exitStopGroupReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#masterStringOption. +SqlParserListener.prototype.enterMasterStringOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#masterStringOption. +SqlParserListener.prototype.exitMasterStringOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#masterDecimalOption. +SqlParserListener.prototype.enterMasterDecimalOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#masterDecimalOption. +SqlParserListener.prototype.exitMasterDecimalOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#masterBoolOption. +SqlParserListener.prototype.enterMasterBoolOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#masterBoolOption. +SqlParserListener.prototype.exitMasterBoolOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#masterRealOption. +SqlParserListener.prototype.enterMasterRealOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#masterRealOption. +SqlParserListener.prototype.exitMasterRealOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#masterUidListOption. +SqlParserListener.prototype.enterMasterUidListOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#masterUidListOption. +SqlParserListener.prototype.exitMasterUidListOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#stringMasterOption. +SqlParserListener.prototype.enterStringMasterOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#stringMasterOption. +SqlParserListener.prototype.exitStringMasterOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#decimalMasterOption. +SqlParserListener.prototype.enterDecimalMasterOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#decimalMasterOption. +SqlParserListener.prototype.exitDecimalMasterOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#boolMasterOption. +SqlParserListener.prototype.enterBoolMasterOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#boolMasterOption. +SqlParserListener.prototype.exitBoolMasterOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#channelOption. +SqlParserListener.prototype.enterChannelOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#channelOption. +SqlParserListener.prototype.exitChannelOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#doDbReplication. +SqlParserListener.prototype.enterDoDbReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#doDbReplication. +SqlParserListener.prototype.exitDoDbReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#ignoreDbReplication. +SqlParserListener.prototype.enterIgnoreDbReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#ignoreDbReplication. +SqlParserListener.prototype.exitIgnoreDbReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#doTableReplication. +SqlParserListener.prototype.enterDoTableReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#doTableReplication. +SqlParserListener.prototype.exitDoTableReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#ignoreTableReplication. +SqlParserListener.prototype.enterIgnoreTableReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#ignoreTableReplication. +SqlParserListener.prototype.exitIgnoreTableReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#wildDoTableReplication. +SqlParserListener.prototype.enterWildDoTableReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#wildDoTableReplication. +SqlParserListener.prototype.exitWildDoTableReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#wildIgnoreTableReplication. +SqlParserListener.prototype.enterWildIgnoreTableReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#wildIgnoreTableReplication. +SqlParserListener.prototype.exitWildIgnoreTableReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#rewriteDbReplication. +SqlParserListener.prototype.enterRewriteDbReplication = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#rewriteDbReplication. +SqlParserListener.prototype.exitRewriteDbReplication = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tablePair. +SqlParserListener.prototype.enterTablePair = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tablePair. +SqlParserListener.prototype.exitTablePair = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#threadType. +SqlParserListener.prototype.enterThreadType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#threadType. +SqlParserListener.prototype.exitThreadType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#gtidsUntilOption. +SqlParserListener.prototype.enterGtidsUntilOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#gtidsUntilOption. +SqlParserListener.prototype.exitGtidsUntilOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#masterLogUntilOption. +SqlParserListener.prototype.enterMasterLogUntilOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#masterLogUntilOption. +SqlParserListener.prototype.exitMasterLogUntilOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#relayLogUntilOption. +SqlParserListener.prototype.enterRelayLogUntilOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#relayLogUntilOption. +SqlParserListener.prototype.exitRelayLogUntilOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#sqlGapsUntilOption. +SqlParserListener.prototype.enterSqlGapsUntilOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#sqlGapsUntilOption. +SqlParserListener.prototype.exitSqlGapsUntilOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#userConnectionOption. +SqlParserListener.prototype.enterUserConnectionOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#userConnectionOption. +SqlParserListener.prototype.exitUserConnectionOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#passwordConnectionOption. +SqlParserListener.prototype.enterPasswordConnectionOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#passwordConnectionOption. +SqlParserListener.prototype.exitPasswordConnectionOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#defaultAuthConnectionOption. +SqlParserListener.prototype.enterDefaultAuthConnectionOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#defaultAuthConnectionOption. +SqlParserListener.prototype.exitDefaultAuthConnectionOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#pluginDirConnectionOption. +SqlParserListener.prototype.enterPluginDirConnectionOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#pluginDirConnectionOption. +SqlParserListener.prototype.exitPluginDirConnectionOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#gtuidSet. +SqlParserListener.prototype.enterGtuidSet = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#gtuidSet. +SqlParserListener.prototype.exitGtuidSet = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#xaStartTransaction. +SqlParserListener.prototype.enterXaStartTransaction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#xaStartTransaction. +SqlParserListener.prototype.exitXaStartTransaction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#xaEndTransaction. +SqlParserListener.prototype.enterXaEndTransaction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#xaEndTransaction. +SqlParserListener.prototype.exitXaEndTransaction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#xaPrepareStatement. +SqlParserListener.prototype.enterXaPrepareStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#xaPrepareStatement. +SqlParserListener.prototype.exitXaPrepareStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#xaCommitWork. +SqlParserListener.prototype.enterXaCommitWork = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#xaCommitWork. +SqlParserListener.prototype.exitXaCommitWork = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#xaRollbackWork. +SqlParserListener.prototype.enterXaRollbackWork = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#xaRollbackWork. +SqlParserListener.prototype.exitXaRollbackWork = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#xaRecoverWork. +SqlParserListener.prototype.enterXaRecoverWork = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#xaRecoverWork. +SqlParserListener.prototype.exitXaRecoverWork = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#prepareStatement. +SqlParserListener.prototype.enterPrepareStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#prepareStatement. +SqlParserListener.prototype.exitPrepareStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#executeStatement. +SqlParserListener.prototype.enterExecuteStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#executeStatement. +SqlParserListener.prototype.exitExecuteStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#deallocatePrepare. +SqlParserListener.prototype.enterDeallocatePrepare = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#deallocatePrepare. +SqlParserListener.prototype.exitDeallocatePrepare = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#routineBody. +SqlParserListener.prototype.enterRoutineBody = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#routineBody. +SqlParserListener.prototype.exitRoutineBody = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#blockStatement. +SqlParserListener.prototype.enterBlockStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#blockStatement. +SqlParserListener.prototype.exitBlockStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#caseStatement. +SqlParserListener.prototype.enterCaseStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#caseStatement. +SqlParserListener.prototype.exitCaseStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#ifStatement. +SqlParserListener.prototype.enterIfStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#ifStatement. +SqlParserListener.prototype.exitIfStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#iterateStatement. +SqlParserListener.prototype.enterIterateStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#iterateStatement. +SqlParserListener.prototype.exitIterateStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#leaveStatement. +SqlParserListener.prototype.enterLeaveStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#leaveStatement. +SqlParserListener.prototype.exitLeaveStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#loopStatement. +SqlParserListener.prototype.enterLoopStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#loopStatement. +SqlParserListener.prototype.exitLoopStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#repeatStatement. +SqlParserListener.prototype.enterRepeatStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#repeatStatement. +SqlParserListener.prototype.exitRepeatStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#returnStatement. +SqlParserListener.prototype.enterReturnStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#returnStatement. +SqlParserListener.prototype.exitReturnStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#whileStatement. +SqlParserListener.prototype.enterWhileStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#whileStatement. +SqlParserListener.prototype.exitWhileStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#CloseCursor. +SqlParserListener.prototype.enterCloseCursor = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#CloseCursor. +SqlParserListener.prototype.exitCloseCursor = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#FetchCursor. +SqlParserListener.prototype.enterFetchCursor = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#FetchCursor. +SqlParserListener.prototype.exitFetchCursor = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#OpenCursor. +SqlParserListener.prototype.enterOpenCursor = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#OpenCursor. +SqlParserListener.prototype.exitOpenCursor = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#declareVariable. +SqlParserListener.prototype.enterDeclareVariable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#declareVariable. +SqlParserListener.prototype.exitDeclareVariable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#declareCondition. +SqlParserListener.prototype.enterDeclareCondition = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#declareCondition. +SqlParserListener.prototype.exitDeclareCondition = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#declareCursor. +SqlParserListener.prototype.enterDeclareCursor = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#declareCursor. +SqlParserListener.prototype.exitDeclareCursor = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#declareHandler. +SqlParserListener.prototype.enterDeclareHandler = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#declareHandler. +SqlParserListener.prototype.exitDeclareHandler = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerConditionCode. +SqlParserListener.prototype.enterHandlerConditionCode = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerConditionCode. +SqlParserListener.prototype.exitHandlerConditionCode = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerConditionState. +SqlParserListener.prototype.enterHandlerConditionState = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerConditionState. +SqlParserListener.prototype.exitHandlerConditionState = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerConditionName. +SqlParserListener.prototype.enterHandlerConditionName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerConditionName. +SqlParserListener.prototype.exitHandlerConditionName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerConditionWarning. +SqlParserListener.prototype.enterHandlerConditionWarning = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerConditionWarning. +SqlParserListener.prototype.exitHandlerConditionWarning = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerConditionNotfound. +SqlParserListener.prototype.enterHandlerConditionNotfound = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerConditionNotfound. +SqlParserListener.prototype.exitHandlerConditionNotfound = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#handlerConditionException. +SqlParserListener.prototype.enterHandlerConditionException = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#handlerConditionException. +SqlParserListener.prototype.exitHandlerConditionException = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#procedureSqlStatement. +SqlParserListener.prototype.enterProcedureSqlStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#procedureSqlStatement. +SqlParserListener.prototype.exitProcedureSqlStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#caseAlternative. +SqlParserListener.prototype.enterCaseAlternative = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#caseAlternative. +SqlParserListener.prototype.exitCaseAlternative = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#elifAlternative. +SqlParserListener.prototype.enterElifAlternative = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#elifAlternative. +SqlParserListener.prototype.exitElifAlternative = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterUserMysqlV56. +SqlParserListener.prototype.enterAlterUserMysqlV56 = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterUserMysqlV56. +SqlParserListener.prototype.exitAlterUserMysqlV56 = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#alterUserMysqlV57. +SqlParserListener.prototype.enterAlterUserMysqlV57 = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#alterUserMysqlV57. +SqlParserListener.prototype.exitAlterUserMysqlV57 = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createUserMysqlV56. +SqlParserListener.prototype.enterCreateUserMysqlV56 = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createUserMysqlV56. +SqlParserListener.prototype.exitCreateUserMysqlV56 = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createUserMysqlV57. +SqlParserListener.prototype.enterCreateUserMysqlV57 = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createUserMysqlV57. +SqlParserListener.prototype.exitCreateUserMysqlV57 = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dropUser. +SqlParserListener.prototype.enterDropUser = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dropUser. +SqlParserListener.prototype.exitDropUser = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#grantStatement. +SqlParserListener.prototype.enterGrantStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#grantStatement. +SqlParserListener.prototype.exitGrantStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#grantProxy. +SqlParserListener.prototype.enterGrantProxy = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#grantProxy. +SqlParserListener.prototype.exitGrantProxy = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#renameUser. +SqlParserListener.prototype.enterRenameUser = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#renameUser. +SqlParserListener.prototype.exitRenameUser = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#detailRevoke. +SqlParserListener.prototype.enterDetailRevoke = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#detailRevoke. +SqlParserListener.prototype.exitDetailRevoke = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#shortRevoke. +SqlParserListener.prototype.enterShortRevoke = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#shortRevoke. +SqlParserListener.prototype.exitShortRevoke = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#revokeProxy. +SqlParserListener.prototype.enterRevokeProxy = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#revokeProxy. +SqlParserListener.prototype.exitRevokeProxy = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setPasswordStatement. +SqlParserListener.prototype.enterSetPasswordStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setPasswordStatement. +SqlParserListener.prototype.exitSetPasswordStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#userSpecification. +SqlParserListener.prototype.enterUserSpecification = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#userSpecification. +SqlParserListener.prototype.exitUserSpecification = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#passwordAuthOption. +SqlParserListener.prototype.enterPasswordAuthOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#passwordAuthOption. +SqlParserListener.prototype.exitPasswordAuthOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#stringAuthOption. +SqlParserListener.prototype.enterStringAuthOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#stringAuthOption. +SqlParserListener.prototype.exitStringAuthOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#hashAuthOption. +SqlParserListener.prototype.enterHashAuthOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#hashAuthOption. +SqlParserListener.prototype.exitHashAuthOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleAuthOption. +SqlParserListener.prototype.enterSimpleAuthOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleAuthOption. +SqlParserListener.prototype.exitSimpleAuthOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tlsOption. +SqlParserListener.prototype.enterTlsOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tlsOption. +SqlParserListener.prototype.exitTlsOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#userResourceOption. +SqlParserListener.prototype.enterUserResourceOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#userResourceOption. +SqlParserListener.prototype.exitUserResourceOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#userPasswordOption. +SqlParserListener.prototype.enterUserPasswordOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#userPasswordOption. +SqlParserListener.prototype.exitUserPasswordOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#userLockOption. +SqlParserListener.prototype.enterUserLockOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#userLockOption. +SqlParserListener.prototype.exitUserLockOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#privelegeClause. +SqlParserListener.prototype.enterPrivelegeClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#privelegeClause. +SqlParserListener.prototype.exitPrivelegeClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#privilege. +SqlParserListener.prototype.enterPrivilege = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#privilege. +SqlParserListener.prototype.exitPrivilege = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#currentSchemaPriviLevel. +SqlParserListener.prototype.enterCurrentSchemaPriviLevel = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#currentSchemaPriviLevel. +SqlParserListener.prototype.exitCurrentSchemaPriviLevel = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#globalPrivLevel. +SqlParserListener.prototype.enterGlobalPrivLevel = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#globalPrivLevel. +SqlParserListener.prototype.exitGlobalPrivLevel = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#definiteSchemaPrivLevel. +SqlParserListener.prototype.enterDefiniteSchemaPrivLevel = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#definiteSchemaPrivLevel. +SqlParserListener.prototype.exitDefiniteSchemaPrivLevel = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#definiteFullTablePrivLevel. +SqlParserListener.prototype.enterDefiniteFullTablePrivLevel = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#definiteFullTablePrivLevel. +SqlParserListener.prototype.exitDefiniteFullTablePrivLevel = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#definiteFullTablePrivLevel2. +SqlParserListener.prototype.enterDefiniteFullTablePrivLevel2 = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#definiteFullTablePrivLevel2. +SqlParserListener.prototype.exitDefiniteFullTablePrivLevel2 = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#definiteTablePrivLevel. +SqlParserListener.prototype.enterDefiniteTablePrivLevel = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#definiteTablePrivLevel. +SqlParserListener.prototype.exitDefiniteTablePrivLevel = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#renameUserClause. +SqlParserListener.prototype.enterRenameUserClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#renameUserClause. +SqlParserListener.prototype.exitRenameUserClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#analyzeTable. +SqlParserListener.prototype.enterAnalyzeTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#analyzeTable. +SqlParserListener.prototype.exitAnalyzeTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#checkTable. +SqlParserListener.prototype.enterCheckTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#checkTable. +SqlParserListener.prototype.exitCheckTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#checksumTable. +SqlParserListener.prototype.enterChecksumTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#checksumTable. +SqlParserListener.prototype.exitChecksumTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#optimizeTable. +SqlParserListener.prototype.enterOptimizeTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#optimizeTable. +SqlParserListener.prototype.exitOptimizeTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#repairTable. +SqlParserListener.prototype.enterRepairTable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#repairTable. +SqlParserListener.prototype.exitRepairTable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#checkTableOption. +SqlParserListener.prototype.enterCheckTableOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#checkTableOption. +SqlParserListener.prototype.exitCheckTableOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#createUdfunction. +SqlParserListener.prototype.enterCreateUdfunction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#createUdfunction. +SqlParserListener.prototype.exitCreateUdfunction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#installPlugin. +SqlParserListener.prototype.enterInstallPlugin = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#installPlugin. +SqlParserListener.prototype.exitInstallPlugin = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#uninstallPlugin. +SqlParserListener.prototype.enterUninstallPlugin = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#uninstallPlugin. +SqlParserListener.prototype.exitUninstallPlugin = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setVariable. +SqlParserListener.prototype.enterSetVariable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setVariable. +SqlParserListener.prototype.exitSetVariable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setCharset. +SqlParserListener.prototype.enterSetCharset = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setCharset. +SqlParserListener.prototype.exitSetCharset = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setNames. +SqlParserListener.prototype.enterSetNames = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setNames. +SqlParserListener.prototype.exitSetNames = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setPassword. +SqlParserListener.prototype.enterSetPassword = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setPassword. +SqlParserListener.prototype.exitSetPassword = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setTransaction. +SqlParserListener.prototype.enterSetTransaction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setTransaction. +SqlParserListener.prototype.exitSetTransaction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setAutocommit. +SqlParserListener.prototype.enterSetAutocommit = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setAutocommit. +SqlParserListener.prototype.exitSetAutocommit = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#setNewValueInsideTrigger. +SqlParserListener.prototype.enterSetNewValueInsideTrigger = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#setNewValueInsideTrigger. +SqlParserListener.prototype.exitSetNewValueInsideTrigger = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showMasterLogs. +SqlParserListener.prototype.enterShowMasterLogs = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showMasterLogs. +SqlParserListener.prototype.exitShowMasterLogs = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showLogEvents. +SqlParserListener.prototype.enterShowLogEvents = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showLogEvents. +SqlParserListener.prototype.exitShowLogEvents = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showObjectFilter. +SqlParserListener.prototype.enterShowObjectFilter = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showObjectFilter. +SqlParserListener.prototype.exitShowObjectFilter = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showColumns. +SqlParserListener.prototype.enterShowColumns = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showColumns. +SqlParserListener.prototype.exitShowColumns = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showCreateDb. +SqlParserListener.prototype.enterShowCreateDb = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showCreateDb. +SqlParserListener.prototype.exitShowCreateDb = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showCreateFullIdObject. +SqlParserListener.prototype.enterShowCreateFullIdObject = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showCreateFullIdObject. +SqlParserListener.prototype.exitShowCreateFullIdObject = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showCreateUser. +SqlParserListener.prototype.enterShowCreateUser = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showCreateUser. +SqlParserListener.prototype.exitShowCreateUser = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showEngine. +SqlParserListener.prototype.enterShowEngine = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showEngine. +SqlParserListener.prototype.exitShowEngine = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showGlobalInfo. +SqlParserListener.prototype.enterShowGlobalInfo = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showGlobalInfo. +SqlParserListener.prototype.exitShowGlobalInfo = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showErrors. +SqlParserListener.prototype.enterShowErrors = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showErrors. +SqlParserListener.prototype.exitShowErrors = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showCountErrors. +SqlParserListener.prototype.enterShowCountErrors = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showCountErrors. +SqlParserListener.prototype.exitShowCountErrors = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showSchemaFilter. +SqlParserListener.prototype.enterShowSchemaFilter = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showSchemaFilter. +SqlParserListener.prototype.exitShowSchemaFilter = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showRoutine. +SqlParserListener.prototype.enterShowRoutine = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showRoutine. +SqlParserListener.prototype.exitShowRoutine = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showGrants. +SqlParserListener.prototype.enterShowGrants = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showGrants. +SqlParserListener.prototype.exitShowGrants = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showIndexes. +SqlParserListener.prototype.enterShowIndexes = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showIndexes. +SqlParserListener.prototype.exitShowIndexes = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showOpenTables. +SqlParserListener.prototype.enterShowOpenTables = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showOpenTables. +SqlParserListener.prototype.exitShowOpenTables = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showProfile. +SqlParserListener.prototype.enterShowProfile = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showProfile. +SqlParserListener.prototype.exitShowProfile = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showSlaveStatus. +SqlParserListener.prototype.enterShowSlaveStatus = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showSlaveStatus. +SqlParserListener.prototype.exitShowSlaveStatus = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#variableClause. +SqlParserListener.prototype.enterVariableClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#variableClause. +SqlParserListener.prototype.exitVariableClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showCommonEntity. +SqlParserListener.prototype.enterShowCommonEntity = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showCommonEntity. +SqlParserListener.prototype.exitShowCommonEntity = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showFilter. +SqlParserListener.prototype.enterShowFilter = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showFilter. +SqlParserListener.prototype.exitShowFilter = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showGlobalInfoClause. +SqlParserListener.prototype.enterShowGlobalInfoClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showGlobalInfoClause. +SqlParserListener.prototype.exitShowGlobalInfoClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showSchemaEntity. +SqlParserListener.prototype.enterShowSchemaEntity = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showSchemaEntity. +SqlParserListener.prototype.exitShowSchemaEntity = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#showProfileType. +SqlParserListener.prototype.enterShowProfileType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#showProfileType. +SqlParserListener.prototype.exitShowProfileType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#binlogStatement. +SqlParserListener.prototype.enterBinlogStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#binlogStatement. +SqlParserListener.prototype.exitBinlogStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#cacheIndexStatement. +SqlParserListener.prototype.enterCacheIndexStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#cacheIndexStatement. +SqlParserListener.prototype.exitCacheIndexStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#flushStatement. +SqlParserListener.prototype.enterFlushStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#flushStatement. +SqlParserListener.prototype.exitFlushStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#killStatement. +SqlParserListener.prototype.enterKillStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#killStatement. +SqlParserListener.prototype.exitKillStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#loadIndexIntoCache. +SqlParserListener.prototype.enterLoadIndexIntoCache = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#loadIndexIntoCache. +SqlParserListener.prototype.exitLoadIndexIntoCache = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#resetStatement. +SqlParserListener.prototype.enterResetStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#resetStatement. +SqlParserListener.prototype.exitResetStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#shutdownStatement. +SqlParserListener.prototype.enterShutdownStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#shutdownStatement. +SqlParserListener.prototype.exitShutdownStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableIndexes. +SqlParserListener.prototype.enterTableIndexes = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableIndexes. +SqlParserListener.prototype.exitTableIndexes = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleFlushOption. +SqlParserListener.prototype.enterSimpleFlushOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleFlushOption. +SqlParserListener.prototype.exitSimpleFlushOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#channelFlushOption. +SqlParserListener.prototype.enterChannelFlushOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#channelFlushOption. +SqlParserListener.prototype.exitChannelFlushOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableFlushOption. +SqlParserListener.prototype.enterTableFlushOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableFlushOption. +SqlParserListener.prototype.exitTableFlushOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#flushTableOption. +SqlParserListener.prototype.enterFlushTableOption = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#flushTableOption. +SqlParserListener.prototype.exitFlushTableOption = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#loadedTableIndexes. +SqlParserListener.prototype.enterLoadedTableIndexes = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#loadedTableIndexes. +SqlParserListener.prototype.exitLoadedTableIndexes = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleDescribeStatement. +SqlParserListener.prototype.enterSimpleDescribeStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleDescribeStatement. +SqlParserListener.prototype.exitSimpleDescribeStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#fullDescribeStatement. +SqlParserListener.prototype.enterFullDescribeStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#fullDescribeStatement. +SqlParserListener.prototype.exitFullDescribeStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#helpStatement. +SqlParserListener.prototype.enterHelpStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#helpStatement. +SqlParserListener.prototype.exitHelpStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#useStatement. +SqlParserListener.prototype.enterUseStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#useStatement. +SqlParserListener.prototype.exitUseStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#signalStatement. +SqlParserListener.prototype.enterSignalStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#signalStatement. +SqlParserListener.prototype.exitSignalStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#resignalStatement. +SqlParserListener.prototype.enterResignalStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#resignalStatement. +SqlParserListener.prototype.exitResignalStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#signalConditionInformation. +SqlParserListener.prototype.enterSignalConditionInformation = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#signalConditionInformation. +SqlParserListener.prototype.exitSignalConditionInformation = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#diagnosticsStatement. +SqlParserListener.prototype.enterDiagnosticsStatement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#diagnosticsStatement. +SqlParserListener.prototype.exitDiagnosticsStatement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#diagnosticsConditionInformationName. +SqlParserListener.prototype.enterDiagnosticsConditionInformationName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#diagnosticsConditionInformationName. +SqlParserListener.prototype.exitDiagnosticsConditionInformationName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#describeStatements. +SqlParserListener.prototype.enterDescribeStatements = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#describeStatements. +SqlParserListener.prototype.exitDescribeStatements = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#describeConnection. +SqlParserListener.prototype.enterDescribeConnection = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#describeConnection. +SqlParserListener.prototype.exitDescribeConnection = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#fullId. +SqlParserListener.prototype.enterFullId = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#fullId. +SqlParserListener.prototype.exitFullId = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tableName. +SqlParserListener.prototype.enterTableName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tableName. +SqlParserListener.prototype.exitTableName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#fullColumnName. +SqlParserListener.prototype.enterFullColumnName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#fullColumnName. +SqlParserListener.prototype.exitFullColumnName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#indexColumnName. +SqlParserListener.prototype.enterIndexColumnName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#indexColumnName. +SqlParserListener.prototype.exitIndexColumnName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#userName. +SqlParserListener.prototype.enterUserName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#userName. +SqlParserListener.prototype.exitUserName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#mysqlVariable. +SqlParserListener.prototype.enterMysqlVariable = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#mysqlVariable. +SqlParserListener.prototype.exitMysqlVariable = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#charsetName. +SqlParserListener.prototype.enterCharsetName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#charsetName. +SqlParserListener.prototype.exitCharsetName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#collationName. +SqlParserListener.prototype.enterCollationName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#collationName. +SqlParserListener.prototype.exitCollationName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#engineName. +SqlParserListener.prototype.enterEngineName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#engineName. +SqlParserListener.prototype.exitEngineName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#uuidSet. +SqlParserListener.prototype.enterUuidSet = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#uuidSet. +SqlParserListener.prototype.exitUuidSet = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#xid. +SqlParserListener.prototype.enterXid = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#xid. +SqlParserListener.prototype.exitXid = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#xuidStringId. +SqlParserListener.prototype.enterXuidStringId = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#xuidStringId. +SqlParserListener.prototype.exitXuidStringId = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#authPlugin. +SqlParserListener.prototype.enterAuthPlugin = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#authPlugin. +SqlParserListener.prototype.exitAuthPlugin = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#uid. +SqlParserListener.prototype.enterUid = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#uid. +SqlParserListener.prototype.exitUid = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleId. +SqlParserListener.prototype.enterSimpleId = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleId. +SqlParserListener.prototype.exitSimpleId = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dottedId. +SqlParserListener.prototype.enterDottedId = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dottedId. +SqlParserListener.prototype.exitDottedId = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#decimalLiteral. +SqlParserListener.prototype.enterDecimalLiteral = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#decimalLiteral. +SqlParserListener.prototype.exitDecimalLiteral = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#fileSizeLiteral. +SqlParserListener.prototype.enterFileSizeLiteral = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#fileSizeLiteral. +SqlParserListener.prototype.exitFileSizeLiteral = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#stringLiteral. +SqlParserListener.prototype.enterStringLiteral = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#stringLiteral. +SqlParserListener.prototype.exitStringLiteral = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#booleanLiteral. +SqlParserListener.prototype.enterBooleanLiteral = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#booleanLiteral. +SqlParserListener.prototype.exitBooleanLiteral = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#hexadecimalLiteral. +SqlParserListener.prototype.enterHexadecimalLiteral = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#hexadecimalLiteral. +SqlParserListener.prototype.exitHexadecimalLiteral = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#nullNotnull. +SqlParserListener.prototype.enterNullNotnull = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#nullNotnull. +SqlParserListener.prototype.exitNullNotnull = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#constant. +SqlParserListener.prototype.enterConstant = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#constant. +SqlParserListener.prototype.exitConstant = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#stringDataType. +SqlParserListener.prototype.enterStringDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#stringDataType. +SqlParserListener.prototype.exitStringDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#nationalStringDataType. +SqlParserListener.prototype.enterNationalStringDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#nationalStringDataType. +SqlParserListener.prototype.exitNationalStringDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#nationalVaryingStringDataType. +SqlParserListener.prototype.enterNationalVaryingStringDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#nationalVaryingStringDataType. +SqlParserListener.prototype.exitNationalVaryingStringDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dimensionDataType. +SqlParserListener.prototype.enterDimensionDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dimensionDataType. +SqlParserListener.prototype.exitDimensionDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleDataType. +SqlParserListener.prototype.enterSimpleDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleDataType. +SqlParserListener.prototype.exitSimpleDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#collectionDataType. +SqlParserListener.prototype.enterCollectionDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#collectionDataType. +SqlParserListener.prototype.exitCollectionDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#spatialDataType. +SqlParserListener.prototype.enterSpatialDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#spatialDataType. +SqlParserListener.prototype.exitSpatialDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#longVarcharDataType. +SqlParserListener.prototype.enterLongVarcharDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#longVarcharDataType. +SqlParserListener.prototype.exitLongVarcharDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#longVarbinaryDataType. +SqlParserListener.prototype.enterLongVarbinaryDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#longVarbinaryDataType. +SqlParserListener.prototype.exitLongVarbinaryDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#collectionOptions. +SqlParserListener.prototype.enterCollectionOptions = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#collectionOptions. +SqlParserListener.prototype.exitCollectionOptions = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#convertedDataType. +SqlParserListener.prototype.enterConvertedDataType = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#convertedDataType. +SqlParserListener.prototype.exitConvertedDataType = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#lengthOneDimension. +SqlParserListener.prototype.enterLengthOneDimension = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#lengthOneDimension. +SqlParserListener.prototype.exitLengthOneDimension = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#lengthTwoDimension. +SqlParserListener.prototype.enterLengthTwoDimension = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#lengthTwoDimension. +SqlParserListener.prototype.exitLengthTwoDimension = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#lengthTwoOptionalDimension. +SqlParserListener.prototype.enterLengthTwoOptionalDimension = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#lengthTwoOptionalDimension. +SqlParserListener.prototype.exitLengthTwoOptionalDimension = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#uidList. +SqlParserListener.prototype.enterUidList = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#uidList. +SqlParserListener.prototype.exitUidList = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#tables. +SqlParserListener.prototype.enterTables = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#tables. +SqlParserListener.prototype.exitTables = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#indexColumnNames. +SqlParserListener.prototype.enterIndexColumnNames = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#indexColumnNames. +SqlParserListener.prototype.exitIndexColumnNames = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#expressions. +SqlParserListener.prototype.enterExpressions = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#expressions. +SqlParserListener.prototype.exitExpressions = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#expressionsWithDefaults. +SqlParserListener.prototype.enterExpressionsWithDefaults = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#expressionsWithDefaults. +SqlParserListener.prototype.exitExpressionsWithDefaults = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#constants. +SqlParserListener.prototype.enterConstants = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#constants. +SqlParserListener.prototype.exitConstants = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleStrings. +SqlParserListener.prototype.enterSimpleStrings = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleStrings. +SqlParserListener.prototype.exitSimpleStrings = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#userVariables. +SqlParserListener.prototype.enterUserVariables = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#userVariables. +SqlParserListener.prototype.exitUserVariables = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#defaultValue. +SqlParserListener.prototype.enterDefaultValue = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#defaultValue. +SqlParserListener.prototype.exitDefaultValue = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#currentTimestamp. +SqlParserListener.prototype.enterCurrentTimestamp = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#currentTimestamp. +SqlParserListener.prototype.exitCurrentTimestamp = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#expressionOrDefault. +SqlParserListener.prototype.enterExpressionOrDefault = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#expressionOrDefault. +SqlParserListener.prototype.exitExpressionOrDefault = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#ifExists. +SqlParserListener.prototype.enterIfExists = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#ifExists. +SqlParserListener.prototype.exitIfExists = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#ifNotExists. +SqlParserListener.prototype.enterIfNotExists = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#ifNotExists. +SqlParserListener.prototype.exitIfNotExists = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#specificFunctionCall. +SqlParserListener.prototype.enterSpecificFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#specificFunctionCall. +SqlParserListener.prototype.exitSpecificFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#aggregateFunctionCall. +SqlParserListener.prototype.enterAggregateFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#aggregateFunctionCall. +SqlParserListener.prototype.exitAggregateFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#scalarFunctionCall. +SqlParserListener.prototype.enterScalarFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#scalarFunctionCall. +SqlParserListener.prototype.exitScalarFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#udfFunctionCall. +SqlParserListener.prototype.enterUdfFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#udfFunctionCall. +SqlParserListener.prototype.exitUdfFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#passwordFunctionCall. +SqlParserListener.prototype.enterPasswordFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#passwordFunctionCall. +SqlParserListener.prototype.exitPasswordFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#simpleFunctionCall. +SqlParserListener.prototype.enterSimpleFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#simpleFunctionCall. +SqlParserListener.prototype.exitSimpleFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dataTypeFunctionCall. +SqlParserListener.prototype.enterDataTypeFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dataTypeFunctionCall. +SqlParserListener.prototype.exitDataTypeFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#valuesFunctionCall. +SqlParserListener.prototype.enterValuesFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#valuesFunctionCall. +SqlParserListener.prototype.exitValuesFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#caseFunctionCall. +SqlParserListener.prototype.enterCaseFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#caseFunctionCall. +SqlParserListener.prototype.exitCaseFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#charFunctionCall. +SqlParserListener.prototype.enterCharFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#charFunctionCall. +SqlParserListener.prototype.exitCharFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#positionFunctionCall. +SqlParserListener.prototype.enterPositionFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#positionFunctionCall. +SqlParserListener.prototype.exitPositionFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#substrFunctionCall. +SqlParserListener.prototype.enterSubstrFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#substrFunctionCall. +SqlParserListener.prototype.exitSubstrFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#trimFunctionCall. +SqlParserListener.prototype.enterTrimFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#trimFunctionCall. +SqlParserListener.prototype.exitTrimFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#weightFunctionCall. +SqlParserListener.prototype.enterWeightFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#weightFunctionCall. +SqlParserListener.prototype.exitWeightFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#extractFunctionCall. +SqlParserListener.prototype.enterExtractFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#extractFunctionCall. +SqlParserListener.prototype.exitExtractFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#getFormatFunctionCall. +SqlParserListener.prototype.enterGetFormatFunctionCall = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#getFormatFunctionCall. +SqlParserListener.prototype.exitGetFormatFunctionCall = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#caseFuncAlternative. +SqlParserListener.prototype.enterCaseFuncAlternative = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#caseFuncAlternative. +SqlParserListener.prototype.exitCaseFuncAlternative = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#levelWeightList. +SqlParserListener.prototype.enterLevelWeightList = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#levelWeightList. +SqlParserListener.prototype.exitLevelWeightList = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#levelWeightRange. +SqlParserListener.prototype.enterLevelWeightRange = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#levelWeightRange. +SqlParserListener.prototype.exitLevelWeightRange = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#levelInWeightListElement. +SqlParserListener.prototype.enterLevelInWeightListElement = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#levelInWeightListElement. +SqlParserListener.prototype.exitLevelInWeightListElement = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#aggregateWindowedFunction. +SqlParserListener.prototype.enterAggregateWindowedFunction = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#aggregateWindowedFunction. +SqlParserListener.prototype.exitAggregateWindowedFunction = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#scalarFunctionName. +SqlParserListener.prototype.enterScalarFunctionName = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#scalarFunctionName. +SqlParserListener.prototype.exitScalarFunctionName = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#passwordFunctionClause. +SqlParserListener.prototype.enterPasswordFunctionClause = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#passwordFunctionClause. +SqlParserListener.prototype.exitPasswordFunctionClause = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#functionArgs. +SqlParserListener.prototype.enterFunctionArgs = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#functionArgs. +SqlParserListener.prototype.exitFunctionArgs = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#functionArg. +SqlParserListener.prototype.enterFunctionArg = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#functionArg. +SqlParserListener.prototype.exitFunctionArg = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#isExpression. +SqlParserListener.prototype.enterIsExpression = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#isExpression. +SqlParserListener.prototype.exitIsExpression = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#notExpression. +SqlParserListener.prototype.enterNotExpression = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#notExpression. +SqlParserListener.prototype.exitNotExpression = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#logicalExpression. +SqlParserListener.prototype.enterLogicalExpression = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#logicalExpression. +SqlParserListener.prototype.exitLogicalExpression = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#predicateExpression. +SqlParserListener.prototype.enterPredicateExpression = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#predicateExpression. +SqlParserListener.prototype.exitPredicateExpression = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#soundsLikePredicate. +SqlParserListener.prototype.enterSoundsLikePredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#soundsLikePredicate. +SqlParserListener.prototype.exitSoundsLikePredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#expressionAtomPredicate. +SqlParserListener.prototype.enterExpressionAtomPredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#expressionAtomPredicate. +SqlParserListener.prototype.exitExpressionAtomPredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#inPredicate. +SqlParserListener.prototype.enterInPredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#inPredicate. +SqlParserListener.prototype.exitInPredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#subqueryComparasionPredicate. +SqlParserListener.prototype.enterSubqueryComparasionPredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#subqueryComparasionPredicate. +SqlParserListener.prototype.exitSubqueryComparasionPredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#betweenPredicate. +SqlParserListener.prototype.enterBetweenPredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#betweenPredicate. +SqlParserListener.prototype.exitBetweenPredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#binaryComparasionPredicate. +SqlParserListener.prototype.enterBinaryComparasionPredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#binaryComparasionPredicate. +SqlParserListener.prototype.exitBinaryComparasionPredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#isNullPredicate. +SqlParserListener.prototype.enterIsNullPredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#isNullPredicate. +SqlParserListener.prototype.exitIsNullPredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#likePredicate. +SqlParserListener.prototype.enterLikePredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#likePredicate. +SqlParserListener.prototype.exitLikePredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#regexpPredicate. +SqlParserListener.prototype.enterRegexpPredicate = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#regexpPredicate. +SqlParserListener.prototype.exitRegexpPredicate = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#unaryExpressionAtom. +SqlParserListener.prototype.enterUnaryExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#unaryExpressionAtom. +SqlParserListener.prototype.exitUnaryExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#collateExpressionAtom. +SqlParserListener.prototype.enterCollateExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#collateExpressionAtom. +SqlParserListener.prototype.exitCollateExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#subqueryExpessionAtom. +SqlParserListener.prototype.enterSubqueryExpessionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#subqueryExpessionAtom. +SqlParserListener.prototype.exitSubqueryExpessionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#mysqlVariableExpressionAtom. +SqlParserListener.prototype.enterMysqlVariableExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#mysqlVariableExpressionAtom. +SqlParserListener.prototype.exitMysqlVariableExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#nestedExpressionAtom. +SqlParserListener.prototype.enterNestedExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#nestedExpressionAtom. +SqlParserListener.prototype.exitNestedExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#nestedRowExpressionAtom. +SqlParserListener.prototype.enterNestedRowExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#nestedRowExpressionAtom. +SqlParserListener.prototype.exitNestedRowExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#mathExpressionAtom. +SqlParserListener.prototype.enterMathExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#mathExpressionAtom. +SqlParserListener.prototype.exitMathExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#intervalExpressionAtom. +SqlParserListener.prototype.enterIntervalExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#intervalExpressionAtom. +SqlParserListener.prototype.exitIntervalExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#existsExpessionAtom. +SqlParserListener.prototype.enterExistsExpessionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#existsExpessionAtom. +SqlParserListener.prototype.exitExistsExpessionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#constantExpressionAtom. +SqlParserListener.prototype.enterConstantExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#constantExpressionAtom. +SqlParserListener.prototype.exitConstantExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#functionCallExpressionAtom. +SqlParserListener.prototype.enterFunctionCallExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#functionCallExpressionAtom. +SqlParserListener.prototype.exitFunctionCallExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#binaryExpressionAtom. +SqlParserListener.prototype.enterBinaryExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#binaryExpressionAtom. +SqlParserListener.prototype.exitBinaryExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#fullColumnNameExpressionAtom. +SqlParserListener.prototype.enterFullColumnNameExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#fullColumnNameExpressionAtom. +SqlParserListener.prototype.exitFullColumnNameExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#bitExpressionAtom. +SqlParserListener.prototype.enterBitExpressionAtom = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#bitExpressionAtom. +SqlParserListener.prototype.exitBitExpressionAtom = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#unaryOperator. +SqlParserListener.prototype.enterUnaryOperator = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#unaryOperator. +SqlParserListener.prototype.exitUnaryOperator = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#comparisonOperator. +SqlParserListener.prototype.enterComparisonOperator = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#comparisonOperator. +SqlParserListener.prototype.exitComparisonOperator = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#logicalOperator. +SqlParserListener.prototype.enterLogicalOperator = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#logicalOperator. +SqlParserListener.prototype.exitLogicalOperator = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#bitOperator. +SqlParserListener.prototype.enterBitOperator = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#bitOperator. +SqlParserListener.prototype.exitBitOperator = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#mathOperator. +SqlParserListener.prototype.enterMathOperator = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#mathOperator. +SqlParserListener.prototype.exitMathOperator = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#charsetNameBase. +SqlParserListener.prototype.enterCharsetNameBase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#charsetNameBase. +SqlParserListener.prototype.exitCharsetNameBase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#transactionLevelBase. +SqlParserListener.prototype.enterTransactionLevelBase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#transactionLevelBase. +SqlParserListener.prototype.exitTransactionLevelBase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#privilegesBase. +SqlParserListener.prototype.enterPrivilegesBase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#privilegesBase. +SqlParserListener.prototype.exitPrivilegesBase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#intervalTypeBase. +SqlParserListener.prototype.enterIntervalTypeBase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#intervalTypeBase. +SqlParserListener.prototype.exitIntervalTypeBase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#dataTypeBase. +SqlParserListener.prototype.enterDataTypeBase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#dataTypeBase. +SqlParserListener.prototype.exitDataTypeBase = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#keywordsCanBeId. +SqlParserListener.prototype.enterKeywordsCanBeId = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#keywordsCanBeId. +SqlParserListener.prototype.exitKeywordsCanBeId = function(ctx) { +}; + + +// Enter a parse tree produced by SqlParser#functionNameBase. +SqlParserListener.prototype.enterFunctionNameBase = function(ctx) { +}; + +// Exit a parse tree produced by SqlParser#functionNameBase. +SqlParserListener.prototype.exitFunctionNameBase = function(ctx) { +}; + + + +exports.SqlParserListener = SqlParserListener; \ No newline at end of file diff --git a/src/lib/generic/SqlParserVisitor.js b/src/lib/generic/SqlParserVisitor.js new file mode 100644 index 0000000..6c03f95 --- /dev/null +++ b/src/lib/generic/SqlParserVisitor.js @@ -0,0 +1,3292 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/generic/SqlParser.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + +// This class defines a complete generic visitor for a parse tree produced by SqlParser. + +function SqlParserVisitor() { + antlr4.tree.ParseTreeVisitor.call(this); + return this; +} + +SqlParserVisitor.prototype = Object.create(antlr4.tree.ParseTreeVisitor.prototype); +SqlParserVisitor.prototype.constructor = SqlParserVisitor; + +// Visit a parse tree produced by SqlParser#program. +SqlParserVisitor.prototype.visitProgram = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#statement. +SqlParserVisitor.prototype.visitStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#sqlStatements. +SqlParserVisitor.prototype.visitSqlStatements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#sqlStatement. +SqlParserVisitor.prototype.visitSqlStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#emptyStatement. +SqlParserVisitor.prototype.visitEmptyStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#ddlStatement. +SqlParserVisitor.prototype.visitDdlStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dmlStatement. +SqlParserVisitor.prototype.visitDmlStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#transactionStatement. +SqlParserVisitor.prototype.visitTransactionStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#replicationStatement. +SqlParserVisitor.prototype.visitReplicationStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#preparedStatement. +SqlParserVisitor.prototype.visitPreparedStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#compoundStatement. +SqlParserVisitor.prototype.visitCompoundStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#administrationStatement. +SqlParserVisitor.prototype.visitAdministrationStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#utilityStatement. +SqlParserVisitor.prototype.visitUtilityStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createDatabase. +SqlParserVisitor.prototype.visitCreateDatabase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createEvent. +SqlParserVisitor.prototype.visitCreateEvent = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createIndex. +SqlParserVisitor.prototype.visitCreateIndex = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createLogfileGroup. +SqlParserVisitor.prototype.visitCreateLogfileGroup = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createProcedure. +SqlParserVisitor.prototype.visitCreateProcedure = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createFunction. +SqlParserVisitor.prototype.visitCreateFunction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createServer. +SqlParserVisitor.prototype.visitCreateServer = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#copyCreateTable. +SqlParserVisitor.prototype.visitCopyCreateTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#queryCreateTable. +SqlParserVisitor.prototype.visitQueryCreateTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#columnCreateTable. +SqlParserVisitor.prototype.visitColumnCreateTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createTablespaceInnodb. +SqlParserVisitor.prototype.visitCreateTablespaceInnodb = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createTablespaceNdb. +SqlParserVisitor.prototype.visitCreateTablespaceNdb = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createTrigger. +SqlParserVisitor.prototype.visitCreateTrigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createView. +SqlParserVisitor.prototype.visitCreateView = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createDatabaseOption. +SqlParserVisitor.prototype.visitCreateDatabaseOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#ownerStatement. +SqlParserVisitor.prototype.visitOwnerStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#preciseSchedule. +SqlParserVisitor.prototype.visitPreciseSchedule = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#intervalSchedule. +SqlParserVisitor.prototype.visitIntervalSchedule = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#timestampValue. +SqlParserVisitor.prototype.visitTimestampValue = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#intervalExpr. +SqlParserVisitor.prototype.visitIntervalExpr = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#intervalType. +SqlParserVisitor.prototype.visitIntervalType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#enableType. +SqlParserVisitor.prototype.visitEnableType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#indexType. +SqlParserVisitor.prototype.visitIndexType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#indexOption. +SqlParserVisitor.prototype.visitIndexOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#procedureParameter. +SqlParserVisitor.prototype.visitProcedureParameter = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#functionParameter. +SqlParserVisitor.prototype.visitFunctionParameter = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#routineComment. +SqlParserVisitor.prototype.visitRoutineComment = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#routineLanguage. +SqlParserVisitor.prototype.visitRoutineLanguage = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#routineBehavior. +SqlParserVisitor.prototype.visitRoutineBehavior = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#routineData. +SqlParserVisitor.prototype.visitRoutineData = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#routineSecurity. +SqlParserVisitor.prototype.visitRoutineSecurity = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#serverOption. +SqlParserVisitor.prototype.visitServerOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createDefinitions. +SqlParserVisitor.prototype.visitCreateDefinitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#columnDeclaration. +SqlParserVisitor.prototype.visitColumnDeclaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#constraintDeclaration. +SqlParserVisitor.prototype.visitConstraintDeclaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#indexDeclaration. +SqlParserVisitor.prototype.visitIndexDeclaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#columnDefinition. +SqlParserVisitor.prototype.visitColumnDefinition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#nullColumnConstraint. +SqlParserVisitor.prototype.visitNullColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#defaultColumnConstraint. +SqlParserVisitor.prototype.visitDefaultColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#autoIncrementColumnConstraint. +SqlParserVisitor.prototype.visitAutoIncrementColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#primaryKeyColumnConstraint. +SqlParserVisitor.prototype.visitPrimaryKeyColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#uniqueKeyColumnConstraint. +SqlParserVisitor.prototype.visitUniqueKeyColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#commentColumnConstraint. +SqlParserVisitor.prototype.visitCommentColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#formatColumnConstraint. +SqlParserVisitor.prototype.visitFormatColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#storageColumnConstraint. +SqlParserVisitor.prototype.visitStorageColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#referenceColumnConstraint. +SqlParserVisitor.prototype.visitReferenceColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#collateColumnConstraint. +SqlParserVisitor.prototype.visitCollateColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#generatedColumnConstraint. +SqlParserVisitor.prototype.visitGeneratedColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#serialDefaultColumnConstraint. +SqlParserVisitor.prototype.visitSerialDefaultColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#checkColumnConstraint. +SqlParserVisitor.prototype.visitCheckColumnConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#primaryKeyTableConstraint. +SqlParserVisitor.prototype.visitPrimaryKeyTableConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#uniqueKeyTableConstraint. +SqlParserVisitor.prototype.visitUniqueKeyTableConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#foreignKeyTableConstraint. +SqlParserVisitor.prototype.visitForeignKeyTableConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#checkTableConstraint. +SqlParserVisitor.prototype.visitCheckTableConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#referenceDefinition. +SqlParserVisitor.prototype.visitReferenceDefinition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#referenceAction. +SqlParserVisitor.prototype.visitReferenceAction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#referenceControlType. +SqlParserVisitor.prototype.visitReferenceControlType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleIndexDeclaration. +SqlParserVisitor.prototype.visitSimpleIndexDeclaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#specialIndexDeclaration. +SqlParserVisitor.prototype.visitSpecialIndexDeclaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionEngine. +SqlParserVisitor.prototype.visitTableOptionEngine = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionAutoIncrement. +SqlParserVisitor.prototype.visitTableOptionAutoIncrement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionAverage. +SqlParserVisitor.prototype.visitTableOptionAverage = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionCharset. +SqlParserVisitor.prototype.visitTableOptionCharset = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionChecksum. +SqlParserVisitor.prototype.visitTableOptionChecksum = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionCollate. +SqlParserVisitor.prototype.visitTableOptionCollate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionComment. +SqlParserVisitor.prototype.visitTableOptionComment = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionCompression. +SqlParserVisitor.prototype.visitTableOptionCompression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionConnection. +SqlParserVisitor.prototype.visitTableOptionConnection = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionDataDirectory. +SqlParserVisitor.prototype.visitTableOptionDataDirectory = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionDelay. +SqlParserVisitor.prototype.visitTableOptionDelay = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionEncryption. +SqlParserVisitor.prototype.visitTableOptionEncryption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionIndexDirectory. +SqlParserVisitor.prototype.visitTableOptionIndexDirectory = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionInsertMethod. +SqlParserVisitor.prototype.visitTableOptionInsertMethod = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionKeyBlockSize. +SqlParserVisitor.prototype.visitTableOptionKeyBlockSize = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionMaxRows. +SqlParserVisitor.prototype.visitTableOptionMaxRows = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionMinRows. +SqlParserVisitor.prototype.visitTableOptionMinRows = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionPackKeys. +SqlParserVisitor.prototype.visitTableOptionPackKeys = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionPassword. +SqlParserVisitor.prototype.visitTableOptionPassword = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionRowFormat. +SqlParserVisitor.prototype.visitTableOptionRowFormat = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionRecalculation. +SqlParserVisitor.prototype.visitTableOptionRecalculation = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionPersistent. +SqlParserVisitor.prototype.visitTableOptionPersistent = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionSamplePage. +SqlParserVisitor.prototype.visitTableOptionSamplePage = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionTablespace. +SqlParserVisitor.prototype.visitTableOptionTablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableOptionUnion. +SqlParserVisitor.prototype.visitTableOptionUnion = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tablespaceStorage. +SqlParserVisitor.prototype.visitTablespaceStorage = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionDefinitions. +SqlParserVisitor.prototype.visitPartitionDefinitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionFunctionHash. +SqlParserVisitor.prototype.visitPartitionFunctionHash = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionFunctionKey. +SqlParserVisitor.prototype.visitPartitionFunctionKey = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionFunctionRange. +SqlParserVisitor.prototype.visitPartitionFunctionRange = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionFunctionList. +SqlParserVisitor.prototype.visitPartitionFunctionList = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#subPartitionFunctionHash. +SqlParserVisitor.prototype.visitSubPartitionFunctionHash = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#subPartitionFunctionKey. +SqlParserVisitor.prototype.visitSubPartitionFunctionKey = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionComparision. +SqlParserVisitor.prototype.visitPartitionComparision = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionListAtom. +SqlParserVisitor.prototype.visitPartitionListAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionListVector. +SqlParserVisitor.prototype.visitPartitionListVector = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionSimple. +SqlParserVisitor.prototype.visitPartitionSimple = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionDefinerAtom. +SqlParserVisitor.prototype.visitPartitionDefinerAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionDefinerVector. +SqlParserVisitor.prototype.visitPartitionDefinerVector = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#subpartitionDefinition. +SqlParserVisitor.prototype.visitSubpartitionDefinition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionOptionEngine. +SqlParserVisitor.prototype.visitPartitionOptionEngine = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionOptionComment. +SqlParserVisitor.prototype.visitPartitionOptionComment = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionOptionDataDirectory. +SqlParserVisitor.prototype.visitPartitionOptionDataDirectory = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionOptionIndexDirectory. +SqlParserVisitor.prototype.visitPartitionOptionIndexDirectory = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionOptionMaxRows. +SqlParserVisitor.prototype.visitPartitionOptionMaxRows = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionOptionMinRows. +SqlParserVisitor.prototype.visitPartitionOptionMinRows = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionOptionTablespace. +SqlParserVisitor.prototype.visitPartitionOptionTablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#partitionOptionNodeGroup. +SqlParserVisitor.prototype.visitPartitionOptionNodeGroup = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterSimpleDatabase. +SqlParserVisitor.prototype.visitAlterSimpleDatabase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterUpgradeName. +SqlParserVisitor.prototype.visitAlterUpgradeName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterEvent. +SqlParserVisitor.prototype.visitAlterEvent = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterFunction. +SqlParserVisitor.prototype.visitAlterFunction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterInstance. +SqlParserVisitor.prototype.visitAlterInstance = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterLogfileGroup. +SqlParserVisitor.prototype.visitAlterLogfileGroup = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterProcedure. +SqlParserVisitor.prototype.visitAlterProcedure = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterServer. +SqlParserVisitor.prototype.visitAlterServer = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterTable. +SqlParserVisitor.prototype.visitAlterTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterTablespace. +SqlParserVisitor.prototype.visitAlterTablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterView. +SqlParserVisitor.prototype.visitAlterView = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByTableOption. +SqlParserVisitor.prototype.visitAlterByTableOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddColumn. +SqlParserVisitor.prototype.visitAlterByAddColumn = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddColumns. +SqlParserVisitor.prototype.visitAlterByAddColumns = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddIndex. +SqlParserVisitor.prototype.visitAlterByAddIndex = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddPrimaryKey. +SqlParserVisitor.prototype.visitAlterByAddPrimaryKey = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddUniqueKey. +SqlParserVisitor.prototype.visitAlterByAddUniqueKey = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddSpecialIndex. +SqlParserVisitor.prototype.visitAlterByAddSpecialIndex = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddForeignKey. +SqlParserVisitor.prototype.visitAlterByAddForeignKey = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddCheckTableConstraint. +SqlParserVisitor.prototype.visitAlterByAddCheckTableConstraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterBySetAlgorithm. +SqlParserVisitor.prototype.visitAlterBySetAlgorithm = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByChangeDefault. +SqlParserVisitor.prototype.visitAlterByChangeDefault = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByChangeColumn. +SqlParserVisitor.prototype.visitAlterByChangeColumn = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByRenameColumn. +SqlParserVisitor.prototype.visitAlterByRenameColumn = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByLock. +SqlParserVisitor.prototype.visitAlterByLock = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByModifyColumn. +SqlParserVisitor.prototype.visitAlterByModifyColumn = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDropColumn. +SqlParserVisitor.prototype.visitAlterByDropColumn = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDropPrimaryKey. +SqlParserVisitor.prototype.visitAlterByDropPrimaryKey = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByRenameIndex. +SqlParserVisitor.prototype.visitAlterByRenameIndex = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAlterIndexVisibility. +SqlParserVisitor.prototype.visitAlterByAlterIndexVisibility = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDropIndex. +SqlParserVisitor.prototype.visitAlterByDropIndex = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDropForeignKey. +SqlParserVisitor.prototype.visitAlterByDropForeignKey = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDisableKeys. +SqlParserVisitor.prototype.visitAlterByDisableKeys = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByEnableKeys. +SqlParserVisitor.prototype.visitAlterByEnableKeys = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByRename. +SqlParserVisitor.prototype.visitAlterByRename = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByOrder. +SqlParserVisitor.prototype.visitAlterByOrder = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByConvertCharset. +SqlParserVisitor.prototype.visitAlterByConvertCharset = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDefaultCharset. +SqlParserVisitor.prototype.visitAlterByDefaultCharset = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDiscardTablespace. +SqlParserVisitor.prototype.visitAlterByDiscardTablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByImportTablespace. +SqlParserVisitor.prototype.visitAlterByImportTablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByForce. +SqlParserVisitor.prototype.visitAlterByForce = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByValidate. +SqlParserVisitor.prototype.visitAlterByValidate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAddPartition. +SqlParserVisitor.prototype.visitAlterByAddPartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDropPartition. +SqlParserVisitor.prototype.visitAlterByDropPartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByDiscardPartition. +SqlParserVisitor.prototype.visitAlterByDiscardPartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByImportPartition. +SqlParserVisitor.prototype.visitAlterByImportPartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByTruncatePartition. +SqlParserVisitor.prototype.visitAlterByTruncatePartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByCoalescePartition. +SqlParserVisitor.prototype.visitAlterByCoalescePartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByReorganizePartition. +SqlParserVisitor.prototype.visitAlterByReorganizePartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByExchangePartition. +SqlParserVisitor.prototype.visitAlterByExchangePartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByAnalyzePartition. +SqlParserVisitor.prototype.visitAlterByAnalyzePartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByCheckPartition. +SqlParserVisitor.prototype.visitAlterByCheckPartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByOptimizePartition. +SqlParserVisitor.prototype.visitAlterByOptimizePartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByRebuildPartition. +SqlParserVisitor.prototype.visitAlterByRebuildPartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByRepairPartition. +SqlParserVisitor.prototype.visitAlterByRepairPartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByRemovePartitioning. +SqlParserVisitor.prototype.visitAlterByRemovePartitioning = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterByUpgradePartitioning. +SqlParserVisitor.prototype.visitAlterByUpgradePartitioning = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropDatabase. +SqlParserVisitor.prototype.visitDropDatabase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropEvent. +SqlParserVisitor.prototype.visitDropEvent = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropIndex. +SqlParserVisitor.prototype.visitDropIndex = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropLogfileGroup. +SqlParserVisitor.prototype.visitDropLogfileGroup = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropProcedure. +SqlParserVisitor.prototype.visitDropProcedure = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropFunction. +SqlParserVisitor.prototype.visitDropFunction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropServer. +SqlParserVisitor.prototype.visitDropServer = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropTable. +SqlParserVisitor.prototype.visitDropTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropTablespace. +SqlParserVisitor.prototype.visitDropTablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropTrigger. +SqlParserVisitor.prototype.visitDropTrigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropView. +SqlParserVisitor.prototype.visitDropView = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#renameTable. +SqlParserVisitor.prototype.visitRenameTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#renameTableClause. +SqlParserVisitor.prototype.visitRenameTableClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#truncateTable. +SqlParserVisitor.prototype.visitTruncateTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#callStatement. +SqlParserVisitor.prototype.visitCallStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#deleteStatement. +SqlParserVisitor.prototype.visitDeleteStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#doStatement. +SqlParserVisitor.prototype.visitDoStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerStatement. +SqlParserVisitor.prototype.visitHandlerStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#insertStatement. +SqlParserVisitor.prototype.visitInsertStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#loadDataStatement. +SqlParserVisitor.prototype.visitLoadDataStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#loadXmlStatement. +SqlParserVisitor.prototype.visitLoadXmlStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#replaceStatement. +SqlParserVisitor.prototype.visitReplaceStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleSelect. +SqlParserVisitor.prototype.visitSimpleSelect = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#parenthesisSelect. +SqlParserVisitor.prototype.visitParenthesisSelect = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#unionSelect. +SqlParserVisitor.prototype.visitUnionSelect = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#unionParenthesisSelect. +SqlParserVisitor.prototype.visitUnionParenthesisSelect = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#updateStatement. +SqlParserVisitor.prototype.visitUpdateStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#insertStatementValue. +SqlParserVisitor.prototype.visitInsertStatementValue = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#updatedElement. +SqlParserVisitor.prototype.visitUpdatedElement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#assignmentField. +SqlParserVisitor.prototype.visitAssignmentField = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#lockClause. +SqlParserVisitor.prototype.visitLockClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#singleDeleteStatement. +SqlParserVisitor.prototype.visitSingleDeleteStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#multipleDeleteStatement. +SqlParserVisitor.prototype.visitMultipleDeleteStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerOpenStatement. +SqlParserVisitor.prototype.visitHandlerOpenStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerReadIndexStatement. +SqlParserVisitor.prototype.visitHandlerReadIndexStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerReadStatement. +SqlParserVisitor.prototype.visitHandlerReadStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerCloseStatement. +SqlParserVisitor.prototype.visitHandlerCloseStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#singleUpdateStatement. +SqlParserVisitor.prototype.visitSingleUpdateStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#multipleUpdateStatement. +SqlParserVisitor.prototype.visitMultipleUpdateStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#orderByClause. +SqlParserVisitor.prototype.visitOrderByClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#orderByExpression. +SqlParserVisitor.prototype.visitOrderByExpression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableSources. +SqlParserVisitor.prototype.visitTableSources = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableSourceBase. +SqlParserVisitor.prototype.visitTableSourceBase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableSourceNested. +SqlParserVisitor.prototype.visitTableSourceNested = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#atomTableItem. +SqlParserVisitor.prototype.visitAtomTableItem = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#subqueryTableItem. +SqlParserVisitor.prototype.visitSubqueryTableItem = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableSourcesItem. +SqlParserVisitor.prototype.visitTableSourcesItem = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#indexHint. +SqlParserVisitor.prototype.visitIndexHint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#indexHintType. +SqlParserVisitor.prototype.visitIndexHintType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#innerJoin. +SqlParserVisitor.prototype.visitInnerJoin = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#straightJoin. +SqlParserVisitor.prototype.visitStraightJoin = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#outerJoin. +SqlParserVisitor.prototype.visitOuterJoin = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#naturalJoin. +SqlParserVisitor.prototype.visitNaturalJoin = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#queryExpression. +SqlParserVisitor.prototype.visitQueryExpression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#queryExpressionNointo. +SqlParserVisitor.prototype.visitQueryExpressionNointo = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#querySpecification. +SqlParserVisitor.prototype.visitQuerySpecification = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#querySpecificationNointo. +SqlParserVisitor.prototype.visitQuerySpecificationNointo = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#unionParenthesis. +SqlParserVisitor.prototype.visitUnionParenthesis = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#unionStatement. +SqlParserVisitor.prototype.visitUnionStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectSpec. +SqlParserVisitor.prototype.visitSelectSpec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectElements. +SqlParserVisitor.prototype.visitSelectElements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectStarElement. +SqlParserVisitor.prototype.visitSelectStarElement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectColumnElement. +SqlParserVisitor.prototype.visitSelectColumnElement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectFunctionElement. +SqlParserVisitor.prototype.visitSelectFunctionElement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectExpressionElement. +SqlParserVisitor.prototype.visitSelectExpressionElement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectIntoVariables. +SqlParserVisitor.prototype.visitSelectIntoVariables = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectIntoDumpFile. +SqlParserVisitor.prototype.visitSelectIntoDumpFile = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectIntoTextFile. +SqlParserVisitor.prototype.visitSelectIntoTextFile = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectFieldsInto. +SqlParserVisitor.prototype.visitSelectFieldsInto = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#selectLinesInto. +SqlParserVisitor.prototype.visitSelectLinesInto = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#fromClause. +SqlParserVisitor.prototype.visitFromClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#groupByItem. +SqlParserVisitor.prototype.visitGroupByItem = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#limitClause. +SqlParserVisitor.prototype.visitLimitClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#limitClauseAtom. +SqlParserVisitor.prototype.visitLimitClauseAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#startTransaction. +SqlParserVisitor.prototype.visitStartTransaction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#beginWork. +SqlParserVisitor.prototype.visitBeginWork = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#commitWork. +SqlParserVisitor.prototype.visitCommitWork = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#rollbackWork. +SqlParserVisitor.prototype.visitRollbackWork = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#savepointStatement. +SqlParserVisitor.prototype.visitSavepointStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#rollbackStatement. +SqlParserVisitor.prototype.visitRollbackStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#releaseStatement. +SqlParserVisitor.prototype.visitReleaseStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#lockTables. +SqlParserVisitor.prototype.visitLockTables = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#unlockTables. +SqlParserVisitor.prototype.visitUnlockTables = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setAutocommitStatement. +SqlParserVisitor.prototype.visitSetAutocommitStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setTransactionStatement. +SqlParserVisitor.prototype.visitSetTransactionStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#transactionMode. +SqlParserVisitor.prototype.visitTransactionMode = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#lockTableElement. +SqlParserVisitor.prototype.visitLockTableElement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#lockAction. +SqlParserVisitor.prototype.visitLockAction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#transactionOption. +SqlParserVisitor.prototype.visitTransactionOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#transactionLevel. +SqlParserVisitor.prototype.visitTransactionLevel = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#changeMaster. +SqlParserVisitor.prototype.visitChangeMaster = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#changeReplicationFilter. +SqlParserVisitor.prototype.visitChangeReplicationFilter = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#purgeBinaryLogs. +SqlParserVisitor.prototype.visitPurgeBinaryLogs = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#resetMaster. +SqlParserVisitor.prototype.visitResetMaster = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#resetSlave. +SqlParserVisitor.prototype.visitResetSlave = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#startSlave. +SqlParserVisitor.prototype.visitStartSlave = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#stopSlave. +SqlParserVisitor.prototype.visitStopSlave = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#startGroupReplication. +SqlParserVisitor.prototype.visitStartGroupReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#stopGroupReplication. +SqlParserVisitor.prototype.visitStopGroupReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#masterStringOption. +SqlParserVisitor.prototype.visitMasterStringOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#masterDecimalOption. +SqlParserVisitor.prototype.visitMasterDecimalOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#masterBoolOption. +SqlParserVisitor.prototype.visitMasterBoolOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#masterRealOption. +SqlParserVisitor.prototype.visitMasterRealOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#masterUidListOption. +SqlParserVisitor.prototype.visitMasterUidListOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#stringMasterOption. +SqlParserVisitor.prototype.visitStringMasterOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#decimalMasterOption. +SqlParserVisitor.prototype.visitDecimalMasterOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#boolMasterOption. +SqlParserVisitor.prototype.visitBoolMasterOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#channelOption. +SqlParserVisitor.prototype.visitChannelOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#doDbReplication. +SqlParserVisitor.prototype.visitDoDbReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#ignoreDbReplication. +SqlParserVisitor.prototype.visitIgnoreDbReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#doTableReplication. +SqlParserVisitor.prototype.visitDoTableReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#ignoreTableReplication. +SqlParserVisitor.prototype.visitIgnoreTableReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#wildDoTableReplication. +SqlParserVisitor.prototype.visitWildDoTableReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#wildIgnoreTableReplication. +SqlParserVisitor.prototype.visitWildIgnoreTableReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#rewriteDbReplication. +SqlParserVisitor.prototype.visitRewriteDbReplication = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tablePair. +SqlParserVisitor.prototype.visitTablePair = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#threadType. +SqlParserVisitor.prototype.visitThreadType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#gtidsUntilOption. +SqlParserVisitor.prototype.visitGtidsUntilOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#masterLogUntilOption. +SqlParserVisitor.prototype.visitMasterLogUntilOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#relayLogUntilOption. +SqlParserVisitor.prototype.visitRelayLogUntilOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#sqlGapsUntilOption. +SqlParserVisitor.prototype.visitSqlGapsUntilOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#userConnectionOption. +SqlParserVisitor.prototype.visitUserConnectionOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#passwordConnectionOption. +SqlParserVisitor.prototype.visitPasswordConnectionOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#defaultAuthConnectionOption. +SqlParserVisitor.prototype.visitDefaultAuthConnectionOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#pluginDirConnectionOption. +SqlParserVisitor.prototype.visitPluginDirConnectionOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#gtuidSet. +SqlParserVisitor.prototype.visitGtuidSet = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#xaStartTransaction. +SqlParserVisitor.prototype.visitXaStartTransaction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#xaEndTransaction. +SqlParserVisitor.prototype.visitXaEndTransaction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#xaPrepareStatement. +SqlParserVisitor.prototype.visitXaPrepareStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#xaCommitWork. +SqlParserVisitor.prototype.visitXaCommitWork = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#xaRollbackWork. +SqlParserVisitor.prototype.visitXaRollbackWork = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#xaRecoverWork. +SqlParserVisitor.prototype.visitXaRecoverWork = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#prepareStatement. +SqlParserVisitor.prototype.visitPrepareStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#executeStatement. +SqlParserVisitor.prototype.visitExecuteStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#deallocatePrepare. +SqlParserVisitor.prototype.visitDeallocatePrepare = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#routineBody. +SqlParserVisitor.prototype.visitRoutineBody = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#blockStatement. +SqlParserVisitor.prototype.visitBlockStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#caseStatement. +SqlParserVisitor.prototype.visitCaseStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#ifStatement. +SqlParserVisitor.prototype.visitIfStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#iterateStatement. +SqlParserVisitor.prototype.visitIterateStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#leaveStatement. +SqlParserVisitor.prototype.visitLeaveStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#loopStatement. +SqlParserVisitor.prototype.visitLoopStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#repeatStatement. +SqlParserVisitor.prototype.visitRepeatStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#returnStatement. +SqlParserVisitor.prototype.visitReturnStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#whileStatement. +SqlParserVisitor.prototype.visitWhileStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#CloseCursor. +SqlParserVisitor.prototype.visitCloseCursor = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#FetchCursor. +SqlParserVisitor.prototype.visitFetchCursor = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#OpenCursor. +SqlParserVisitor.prototype.visitOpenCursor = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#declareVariable. +SqlParserVisitor.prototype.visitDeclareVariable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#declareCondition. +SqlParserVisitor.prototype.visitDeclareCondition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#declareCursor. +SqlParserVisitor.prototype.visitDeclareCursor = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#declareHandler. +SqlParserVisitor.prototype.visitDeclareHandler = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerConditionCode. +SqlParserVisitor.prototype.visitHandlerConditionCode = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerConditionState. +SqlParserVisitor.prototype.visitHandlerConditionState = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerConditionName. +SqlParserVisitor.prototype.visitHandlerConditionName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerConditionWarning. +SqlParserVisitor.prototype.visitHandlerConditionWarning = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerConditionNotfound. +SqlParserVisitor.prototype.visitHandlerConditionNotfound = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#handlerConditionException. +SqlParserVisitor.prototype.visitHandlerConditionException = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#procedureSqlStatement. +SqlParserVisitor.prototype.visitProcedureSqlStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#caseAlternative. +SqlParserVisitor.prototype.visitCaseAlternative = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#elifAlternative. +SqlParserVisitor.prototype.visitElifAlternative = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterUserMysqlV56. +SqlParserVisitor.prototype.visitAlterUserMysqlV56 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#alterUserMysqlV57. +SqlParserVisitor.prototype.visitAlterUserMysqlV57 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createUserMysqlV56. +SqlParserVisitor.prototype.visitCreateUserMysqlV56 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createUserMysqlV57. +SqlParserVisitor.prototype.visitCreateUserMysqlV57 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dropUser. +SqlParserVisitor.prototype.visitDropUser = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#grantStatement. +SqlParserVisitor.prototype.visitGrantStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#grantProxy. +SqlParserVisitor.prototype.visitGrantProxy = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#renameUser. +SqlParserVisitor.prototype.visitRenameUser = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#detailRevoke. +SqlParserVisitor.prototype.visitDetailRevoke = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#shortRevoke. +SqlParserVisitor.prototype.visitShortRevoke = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#revokeProxy. +SqlParserVisitor.prototype.visitRevokeProxy = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setPasswordStatement. +SqlParserVisitor.prototype.visitSetPasswordStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#userSpecification. +SqlParserVisitor.prototype.visitUserSpecification = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#passwordAuthOption. +SqlParserVisitor.prototype.visitPasswordAuthOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#stringAuthOption. +SqlParserVisitor.prototype.visitStringAuthOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#hashAuthOption. +SqlParserVisitor.prototype.visitHashAuthOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleAuthOption. +SqlParserVisitor.prototype.visitSimpleAuthOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tlsOption. +SqlParserVisitor.prototype.visitTlsOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#userResourceOption. +SqlParserVisitor.prototype.visitUserResourceOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#userPasswordOption. +SqlParserVisitor.prototype.visitUserPasswordOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#userLockOption. +SqlParserVisitor.prototype.visitUserLockOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#privelegeClause. +SqlParserVisitor.prototype.visitPrivelegeClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#privilege. +SqlParserVisitor.prototype.visitPrivilege = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#currentSchemaPriviLevel. +SqlParserVisitor.prototype.visitCurrentSchemaPriviLevel = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#globalPrivLevel. +SqlParserVisitor.prototype.visitGlobalPrivLevel = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#definiteSchemaPrivLevel. +SqlParserVisitor.prototype.visitDefiniteSchemaPrivLevel = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#definiteFullTablePrivLevel. +SqlParserVisitor.prototype.visitDefiniteFullTablePrivLevel = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#definiteFullTablePrivLevel2. +SqlParserVisitor.prototype.visitDefiniteFullTablePrivLevel2 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#definiteTablePrivLevel. +SqlParserVisitor.prototype.visitDefiniteTablePrivLevel = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#renameUserClause. +SqlParserVisitor.prototype.visitRenameUserClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#analyzeTable. +SqlParserVisitor.prototype.visitAnalyzeTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#checkTable. +SqlParserVisitor.prototype.visitCheckTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#checksumTable. +SqlParserVisitor.prototype.visitChecksumTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#optimizeTable. +SqlParserVisitor.prototype.visitOptimizeTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#repairTable. +SqlParserVisitor.prototype.visitRepairTable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#checkTableOption. +SqlParserVisitor.prototype.visitCheckTableOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#createUdfunction. +SqlParserVisitor.prototype.visitCreateUdfunction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#installPlugin. +SqlParserVisitor.prototype.visitInstallPlugin = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#uninstallPlugin. +SqlParserVisitor.prototype.visitUninstallPlugin = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setVariable. +SqlParserVisitor.prototype.visitSetVariable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setCharset. +SqlParserVisitor.prototype.visitSetCharset = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setNames. +SqlParserVisitor.prototype.visitSetNames = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setPassword. +SqlParserVisitor.prototype.visitSetPassword = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setTransaction. +SqlParserVisitor.prototype.visitSetTransaction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setAutocommit. +SqlParserVisitor.prototype.visitSetAutocommit = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#setNewValueInsideTrigger. +SqlParserVisitor.prototype.visitSetNewValueInsideTrigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showMasterLogs. +SqlParserVisitor.prototype.visitShowMasterLogs = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showLogEvents. +SqlParserVisitor.prototype.visitShowLogEvents = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showObjectFilter. +SqlParserVisitor.prototype.visitShowObjectFilter = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showColumns. +SqlParserVisitor.prototype.visitShowColumns = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showCreateDb. +SqlParserVisitor.prototype.visitShowCreateDb = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showCreateFullIdObject. +SqlParserVisitor.prototype.visitShowCreateFullIdObject = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showCreateUser. +SqlParserVisitor.prototype.visitShowCreateUser = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showEngine. +SqlParserVisitor.prototype.visitShowEngine = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showGlobalInfo. +SqlParserVisitor.prototype.visitShowGlobalInfo = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showErrors. +SqlParserVisitor.prototype.visitShowErrors = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showCountErrors. +SqlParserVisitor.prototype.visitShowCountErrors = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showSchemaFilter. +SqlParserVisitor.prototype.visitShowSchemaFilter = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showRoutine. +SqlParserVisitor.prototype.visitShowRoutine = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showGrants. +SqlParserVisitor.prototype.visitShowGrants = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showIndexes. +SqlParserVisitor.prototype.visitShowIndexes = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showOpenTables. +SqlParserVisitor.prototype.visitShowOpenTables = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showProfile. +SqlParserVisitor.prototype.visitShowProfile = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showSlaveStatus. +SqlParserVisitor.prototype.visitShowSlaveStatus = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#variableClause. +SqlParserVisitor.prototype.visitVariableClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showCommonEntity. +SqlParserVisitor.prototype.visitShowCommonEntity = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showFilter. +SqlParserVisitor.prototype.visitShowFilter = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showGlobalInfoClause. +SqlParserVisitor.prototype.visitShowGlobalInfoClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showSchemaEntity. +SqlParserVisitor.prototype.visitShowSchemaEntity = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#showProfileType. +SqlParserVisitor.prototype.visitShowProfileType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#binlogStatement. +SqlParserVisitor.prototype.visitBinlogStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#cacheIndexStatement. +SqlParserVisitor.prototype.visitCacheIndexStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#flushStatement. +SqlParserVisitor.prototype.visitFlushStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#killStatement. +SqlParserVisitor.prototype.visitKillStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#loadIndexIntoCache. +SqlParserVisitor.prototype.visitLoadIndexIntoCache = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#resetStatement. +SqlParserVisitor.prototype.visitResetStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#shutdownStatement. +SqlParserVisitor.prototype.visitShutdownStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableIndexes. +SqlParserVisitor.prototype.visitTableIndexes = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleFlushOption. +SqlParserVisitor.prototype.visitSimpleFlushOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#channelFlushOption. +SqlParserVisitor.prototype.visitChannelFlushOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableFlushOption. +SqlParserVisitor.prototype.visitTableFlushOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#flushTableOption. +SqlParserVisitor.prototype.visitFlushTableOption = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#loadedTableIndexes. +SqlParserVisitor.prototype.visitLoadedTableIndexes = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleDescribeStatement. +SqlParserVisitor.prototype.visitSimpleDescribeStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#fullDescribeStatement. +SqlParserVisitor.prototype.visitFullDescribeStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#helpStatement. +SqlParserVisitor.prototype.visitHelpStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#useStatement. +SqlParserVisitor.prototype.visitUseStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#signalStatement. +SqlParserVisitor.prototype.visitSignalStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#resignalStatement. +SqlParserVisitor.prototype.visitResignalStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#signalConditionInformation. +SqlParserVisitor.prototype.visitSignalConditionInformation = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#diagnosticsStatement. +SqlParserVisitor.prototype.visitDiagnosticsStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#diagnosticsConditionInformationName. +SqlParserVisitor.prototype.visitDiagnosticsConditionInformationName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#describeStatements. +SqlParserVisitor.prototype.visitDescribeStatements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#describeConnection. +SqlParserVisitor.prototype.visitDescribeConnection = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#fullId. +SqlParserVisitor.prototype.visitFullId = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tableName. +SqlParserVisitor.prototype.visitTableName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#fullColumnName. +SqlParserVisitor.prototype.visitFullColumnName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#indexColumnName. +SqlParserVisitor.prototype.visitIndexColumnName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#userName. +SqlParserVisitor.prototype.visitUserName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#mysqlVariable. +SqlParserVisitor.prototype.visitMysqlVariable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#charsetName. +SqlParserVisitor.prototype.visitCharsetName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#collationName. +SqlParserVisitor.prototype.visitCollationName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#engineName. +SqlParserVisitor.prototype.visitEngineName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#uuidSet. +SqlParserVisitor.prototype.visitUuidSet = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#xid. +SqlParserVisitor.prototype.visitXid = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#xuidStringId. +SqlParserVisitor.prototype.visitXuidStringId = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#authPlugin. +SqlParserVisitor.prototype.visitAuthPlugin = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#uid. +SqlParserVisitor.prototype.visitUid = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleId. +SqlParserVisitor.prototype.visitSimpleId = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dottedId. +SqlParserVisitor.prototype.visitDottedId = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#decimalLiteral. +SqlParserVisitor.prototype.visitDecimalLiteral = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#fileSizeLiteral. +SqlParserVisitor.prototype.visitFileSizeLiteral = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#stringLiteral. +SqlParserVisitor.prototype.visitStringLiteral = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#booleanLiteral. +SqlParserVisitor.prototype.visitBooleanLiteral = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#hexadecimalLiteral. +SqlParserVisitor.prototype.visitHexadecimalLiteral = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#nullNotnull. +SqlParserVisitor.prototype.visitNullNotnull = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#constant. +SqlParserVisitor.prototype.visitConstant = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#stringDataType. +SqlParserVisitor.prototype.visitStringDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#nationalStringDataType. +SqlParserVisitor.prototype.visitNationalStringDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#nationalVaryingStringDataType. +SqlParserVisitor.prototype.visitNationalVaryingStringDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dimensionDataType. +SqlParserVisitor.prototype.visitDimensionDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleDataType. +SqlParserVisitor.prototype.visitSimpleDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#collectionDataType. +SqlParserVisitor.prototype.visitCollectionDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#spatialDataType. +SqlParserVisitor.prototype.visitSpatialDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#longVarcharDataType. +SqlParserVisitor.prototype.visitLongVarcharDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#longVarbinaryDataType. +SqlParserVisitor.prototype.visitLongVarbinaryDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#collectionOptions. +SqlParserVisitor.prototype.visitCollectionOptions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#convertedDataType. +SqlParserVisitor.prototype.visitConvertedDataType = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#lengthOneDimension. +SqlParserVisitor.prototype.visitLengthOneDimension = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#lengthTwoDimension. +SqlParserVisitor.prototype.visitLengthTwoDimension = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#lengthTwoOptionalDimension. +SqlParserVisitor.prototype.visitLengthTwoOptionalDimension = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#uidList. +SqlParserVisitor.prototype.visitUidList = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#tables. +SqlParserVisitor.prototype.visitTables = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#indexColumnNames. +SqlParserVisitor.prototype.visitIndexColumnNames = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#expressions. +SqlParserVisitor.prototype.visitExpressions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#expressionsWithDefaults. +SqlParserVisitor.prototype.visitExpressionsWithDefaults = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#constants. +SqlParserVisitor.prototype.visitConstants = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleStrings. +SqlParserVisitor.prototype.visitSimpleStrings = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#userVariables. +SqlParserVisitor.prototype.visitUserVariables = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#defaultValue. +SqlParserVisitor.prototype.visitDefaultValue = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#currentTimestamp. +SqlParserVisitor.prototype.visitCurrentTimestamp = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#expressionOrDefault. +SqlParserVisitor.prototype.visitExpressionOrDefault = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#ifExists. +SqlParserVisitor.prototype.visitIfExists = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#ifNotExists. +SqlParserVisitor.prototype.visitIfNotExists = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#specificFunctionCall. +SqlParserVisitor.prototype.visitSpecificFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#aggregateFunctionCall. +SqlParserVisitor.prototype.visitAggregateFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#scalarFunctionCall. +SqlParserVisitor.prototype.visitScalarFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#udfFunctionCall. +SqlParserVisitor.prototype.visitUdfFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#passwordFunctionCall. +SqlParserVisitor.prototype.visitPasswordFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#simpleFunctionCall. +SqlParserVisitor.prototype.visitSimpleFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dataTypeFunctionCall. +SqlParserVisitor.prototype.visitDataTypeFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#valuesFunctionCall. +SqlParserVisitor.prototype.visitValuesFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#caseFunctionCall. +SqlParserVisitor.prototype.visitCaseFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#charFunctionCall. +SqlParserVisitor.prototype.visitCharFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#positionFunctionCall. +SqlParserVisitor.prototype.visitPositionFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#substrFunctionCall. +SqlParserVisitor.prototype.visitSubstrFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#trimFunctionCall. +SqlParserVisitor.prototype.visitTrimFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#weightFunctionCall. +SqlParserVisitor.prototype.visitWeightFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#extractFunctionCall. +SqlParserVisitor.prototype.visitExtractFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#getFormatFunctionCall. +SqlParserVisitor.prototype.visitGetFormatFunctionCall = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#caseFuncAlternative. +SqlParserVisitor.prototype.visitCaseFuncAlternative = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#levelWeightList. +SqlParserVisitor.prototype.visitLevelWeightList = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#levelWeightRange. +SqlParserVisitor.prototype.visitLevelWeightRange = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#levelInWeightListElement. +SqlParserVisitor.prototype.visitLevelInWeightListElement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#aggregateWindowedFunction. +SqlParserVisitor.prototype.visitAggregateWindowedFunction = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#scalarFunctionName. +SqlParserVisitor.prototype.visitScalarFunctionName = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#passwordFunctionClause. +SqlParserVisitor.prototype.visitPasswordFunctionClause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#functionArgs. +SqlParserVisitor.prototype.visitFunctionArgs = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#functionArg. +SqlParserVisitor.prototype.visitFunctionArg = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#isExpression. +SqlParserVisitor.prototype.visitIsExpression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#notExpression. +SqlParserVisitor.prototype.visitNotExpression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#logicalExpression. +SqlParserVisitor.prototype.visitLogicalExpression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#predicateExpression. +SqlParserVisitor.prototype.visitPredicateExpression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#soundsLikePredicate. +SqlParserVisitor.prototype.visitSoundsLikePredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#expressionAtomPredicate. +SqlParserVisitor.prototype.visitExpressionAtomPredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#inPredicate. +SqlParserVisitor.prototype.visitInPredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#subqueryComparasionPredicate. +SqlParserVisitor.prototype.visitSubqueryComparasionPredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#betweenPredicate. +SqlParserVisitor.prototype.visitBetweenPredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#binaryComparasionPredicate. +SqlParserVisitor.prototype.visitBinaryComparasionPredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#isNullPredicate. +SqlParserVisitor.prototype.visitIsNullPredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#likePredicate. +SqlParserVisitor.prototype.visitLikePredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#regexpPredicate. +SqlParserVisitor.prototype.visitRegexpPredicate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#unaryExpressionAtom. +SqlParserVisitor.prototype.visitUnaryExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#collateExpressionAtom. +SqlParserVisitor.prototype.visitCollateExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#subqueryExpessionAtom. +SqlParserVisitor.prototype.visitSubqueryExpessionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#mysqlVariableExpressionAtom. +SqlParserVisitor.prototype.visitMysqlVariableExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#nestedExpressionAtom. +SqlParserVisitor.prototype.visitNestedExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#nestedRowExpressionAtom. +SqlParserVisitor.prototype.visitNestedRowExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#mathExpressionAtom. +SqlParserVisitor.prototype.visitMathExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#intervalExpressionAtom. +SqlParserVisitor.prototype.visitIntervalExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#existsExpessionAtom. +SqlParserVisitor.prototype.visitExistsExpessionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#constantExpressionAtom. +SqlParserVisitor.prototype.visitConstantExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#functionCallExpressionAtom. +SqlParserVisitor.prototype.visitFunctionCallExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#binaryExpressionAtom. +SqlParserVisitor.prototype.visitBinaryExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#fullColumnNameExpressionAtom. +SqlParserVisitor.prototype.visitFullColumnNameExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#bitExpressionAtom. +SqlParserVisitor.prototype.visitBitExpressionAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#unaryOperator. +SqlParserVisitor.prototype.visitUnaryOperator = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#comparisonOperator. +SqlParserVisitor.prototype.visitComparisonOperator = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#logicalOperator. +SqlParserVisitor.prototype.visitLogicalOperator = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#bitOperator. +SqlParserVisitor.prototype.visitBitOperator = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#mathOperator. +SqlParserVisitor.prototype.visitMathOperator = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#charsetNameBase. +SqlParserVisitor.prototype.visitCharsetNameBase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#transactionLevelBase. +SqlParserVisitor.prototype.visitTransactionLevelBase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#privilegesBase. +SqlParserVisitor.prototype.visitPrivilegesBase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#intervalTypeBase. +SqlParserVisitor.prototype.visitIntervalTypeBase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#dataTypeBase. +SqlParserVisitor.prototype.visitDataTypeBase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#keywordsCanBeId. +SqlParserVisitor.prototype.visitKeywordsCanBeId = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by SqlParser#functionNameBase. +SqlParserVisitor.prototype.visitFunctionNameBase = function(ctx) { + return this.visitChildren(ctx); +}; + + + +exports.SqlParserVisitor = SqlParserVisitor; \ No newline at end of file diff --git a/src/lib/hive/HiveSql.interp b/src/lib/hive/HiveSql.interp new file mode 100644 index 0000000..227fd24 --- /dev/null +++ b/src/lib/hive/HiveSql.interp @@ -0,0 +1,985 @@ +token literal names: +null +'@' +'#' +'/' +'%' +'.' +'*' +'!' +';' +'-' +'+' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null + +token symbolic names: +null +null +null +null +null +null +null +null +null +null +null +T_GO +T_BEGIN +T_SEMICOLON +T_END +T_EXCEPTION +T_WHEN +L_ID +T_THEN +T_NULL +T_SET +T_COMMA +T_COLON +T_EQUAL +T_OPEN_P +T_CLOSE_P +T_ALLOCATE +T_CURSOR +T_FOR +T_RESULT +T_PROCEDURE +T_ASSOCIATE +T_LOCATOR +T_LOCATORS +T_WITH +T_TRANSACTION +T_BREAK +T_CALL +T_DECLARE +T_AS +T_CONSTANT +T_CONDITION +T_IS +T_RETURN +T_ONLY +T_TO +T_CALLER +T_CLIENT +T_WITHOUT +T_CONTINUE +T_EXIT +T_HANDLER +T_SQLEXCEPTION +T_SQLWARNING +T_NOT +T_FOUND +T_GLOBAL +T_TEMPORARY +T_TABLE +T_CREATE +T_IF +T_EXISTS +T_LOCAL +T_MULTISET +T_VOLATILE +T_LIKE +T_CONSTRAINT +T_PRIMARY +T_KEY +T_UNIQUE +T_REFERENCES +T_IDENTITY +L_INT +T_AUTO_INCREMENT +T_ENABLE +T_CLUSTERED +T_ASC +T_DESC +T_FOREIGN +T_ON +T_UPDATE +T_DELETE +T_NO +T_ACTION +T_RESTRICT +T_DEFAULT +T_CASCADE +T_LOG +T_FALLBACK +T_COMMIT +T_PRESERVE +T_ROWS +T_SEGMENT +T_CREATION +T_IMMEDIATE +T_DEFERRED +T_PCTFREE +T_PCTUSED +T_INITRANS +T_MAXTRANS +T_NOCOMPRESS +T_LOGGING +T_NOLOGGING +T_STORAGE +T_TABLESPACE +T_INDEX +T_IN +T_REPLACE +T_DISTRIBUTE +T_BY +T_HASH +T_LOGGED +T_COMPRESS +T_YES +T_DEFINITION +T_DROP +T_DATA +T_STORED +T_ROW +T_FORMAT +T_DELIMITED +T_FIELDS +T_TERMINATED +T_ESCAPED +T_COLLECTION +T_ITEMS +T_MAP +T_KEYS +T_LINES +T_DEFINED +T_TEXTIMAGE_ON +T_COMMENT +T_CHARACTER +T_CHARSET +T_ENGINE +T_ALTER +T_ADD2 +T_CHAR +T_BIGINT +T_BINARY_DOUBLE +T_BINARY_FLOAT +T_BINARY_INTEGER +T_BIT +T_DATE +T_DATETIME +T_DEC +T_DECIMAL +T_DOUBLE +T_PRECISION +T_FLOAT +T_INT +T_INT2 +T_INT4 +T_INT8 +T_INTEGER +T_NCHAR +T_NVARCHAR +T_NUMBER +T_NUMERIC +T_PLS_INTEGER +T_REAL +T_RESULT_SET_LOCATOR +T_VARYING +T_SIMPLE_FLOAT +T_SIMPLE_DOUBLE +T_SIMPLE_INTEGER +T_SMALLINT +T_SMALLDATETIME +T_STRING +T_SYS_REFCURSOR +T_TIMESTAMP +T_TINYINT +T_VARCHAR +T_VARCHAR2 +T_XML +T_TYPE +T_ROWTYPE +T_MAX +T_BYTE +T_CASESPECIFIC +T_CS +T_DATABASE +T_SCHEMA +T_LOCATION +T_OR +T_FUNCTION +T_RETURNS +T_PACKAGE +T_PROC +T_BODY +T_OUT +T_INOUT +T_LANGUAGE +T_SQL +T_SECURITY +T_CREATOR +T_DEFINER +T_INVOKER +T_OWNER +T_DYNAMIC +T_SETS +T_EXEC +T_EXECUTE +T_INTO +T_ELSE +T_ELSIF +T_ELSEIF +T_INCLUDE +T_INSERT +T_OVERWRITE +T_VALUES +T_DIRECTORY +T_GET +T_DIAGNOSTICS +T_MESSAGE_TEXT +T_ROW_COUNT +T_GRANT +T_ROLE +T_LEAVE +T_OBJECT +T_AT +T_OPEN +T_FETCH +T_FROM +T_COLLECT +T_STATISTICS +T_STATS +T_COLUMN +T_CLOSE +T_CMP +T_SUM +T_COPY +T_HDFS +T_BATCHSIZE +T_DELIMITER +T_SQLINSERT +T_IGNORE +T_WORK +T_PRINT +T_QUIT +T_RAISE +T_RESIGNAL +T_SQLSTATE +T_VALUE +T_ROLLBACK +T_CURRENT +T_CURRENT_SCHEMA +T_ANSI_NULLS +T_ANSI_PADDING +T_NOCOUNT +T_QUOTED_IDENTIFIER +T_XACT_ABORT +T_OFF +T_QUERY_BAND +T_NONE +T_SESSION +T_SIGNAL +T_SUMMARY +T_TOP +T_LIMIT +T_TRUNCATE +T_USE +T_WHILE +T_DO +T_LOOP +T_REVERSE +T_DOT2 +T_STEP +L_LABEL +T_LESS +T_GREATER +T_USING +T_UNION +T_ALL +T_EXCEPT +T_INTERSECT +T_SELECT +T_SEL +T_DISTINCT +T_TITLE +L_S_STRING +T_INNER +T_JOIN +T_LEFT +T_RIGHT +T_FULL +T_OUTER +T_WHERE +T_GROUP +T_HAVING +T_QUALIFY +T_ORDER +T_RR +T_RS +T_UR +T_AND +T_KEEP +T_EXCLUSIVE +T_SHARE +T_LOCKS +T_MERGE +T_MATCHED +T_DESCRIBE +T_BETWEEN +T_EQUAL2 +T_NOTEQUAL +T_NOTEQUAL2 +T_LESSEQUAL +T_GREATEREQUAL +T_RLIKE +T_REGEXP +T_MUL +T_DIV +T_ADD +T_SUB +T_INTERVAL +T_DAY +T_DAYS +T_MICROSECOND +T_MICROSECONDS +T_SECOND +T_SECONDS +T_PIPE +T_CONCAT +T_CASE +T_ISOPEN +T_NOTFOUND +T_AVG +T_COUNT +T_COUNT_BIG +T_CUME_DIST +T_DENSE_RANK +T_FIRST_VALUE +T_LAG +T_LAST_VALUE +T_LEAD +T_MIN +T_RANK +T_ROW_NUMBER +T_STDEV +T_VAR +T_VARIANCE +T_OVER +T_PARTITION +T_ACTIVITY_COUNT +T_CAST +T_CURRENT_DATE +T_CURRENT_TIMESTAMP +T_CURRENT_USER +T_USER +T_MAX_PART_STRING +T_MIN_PART_STRING +T_MAX_PART_INT +T_MIN_PART_INT +T_MAX_PART_DATE +T_MIN_PART_DATE +T_PART_COUNT +T_PART_LOC +T_TRIM +T_SUBSTRING +T_SYSDATE +T_HIVE +T_HOST +L_FILE +L_D_STRING +L_DEC +T_TRUE +T_FALSE +T_DIR +T_FILE +T_FILES +T_NEW +T_PWD +T_SESSIONS +T_SUBDIR + +rule names: +program +block +begin_end_block +single_block_stmt +block_end +proc_block +stmt +semicolon_stmt +exception_block +exception_block_item +null_stmt +expr_stmt +assignment_stmt +assignment_stmt_item +assignment_stmt_single_item +assignment_stmt_multiple_item +assignment_stmt_select_item +allocate_cursor_stmt +associate_locator_stmt +begin_transaction_stmt +break_stmt +call_stmt +declare_stmt +declare_block +declare_block_inplace +declare_stmt_item +declare_var_item +declare_condition_item +declare_cursor_item +cursor_with_return +cursor_without_return +declare_handler_item +declare_temporary_table_item +create_table_stmt +create_local_temp_table_stmt +create_table_definition +create_table_columns +create_table_columns_item +column_name +create_table_column_inline_cons +create_table_column_cons +create_table_fk_action +create_table_preoptions +create_table_preoptions_item +create_table_preoptions_td_item +create_table_options +create_table_options_item +create_table_options_ora_item +create_table_options_db2_item +create_table_options_td_item +create_table_options_hive_item +create_table_hive_row_format +create_table_hive_row_format_fields +create_table_options_mssql_item +create_table_options_mysql_item +alter_table_stmt +alter_table_item +alter_table_add_constraint +alter_table_add_constraint_item +dtype +dtype_len +dtype_attr +dtype_default +create_database_stmt +create_database_option +create_function_stmt +create_function_return +create_package_stmt +package_spec +package_spec_item +create_package_body_stmt +package_body +package_body_item +create_procedure_stmt +create_routine_params +create_routine_param_item +create_routine_options +create_routine_option +drop_stmt +end_transaction_stmt +exec_stmt +if_stmt +if_plsql_stmt +if_tsql_stmt +if_bteq_stmt +elseif_block +else_block +include_stmt +insert_stmt +insert_stmt_cols +insert_stmt_rows +insert_stmt_row +insert_directory_stmt +exit_stmt +get_diag_stmt +get_diag_stmt_item +get_diag_stmt_exception_item +get_diag_stmt_rowcount_item +grant_stmt +grant_stmt_item +leave_stmt +map_object_stmt +open_stmt +fetch_stmt +collect_stats_stmt +collect_stats_clause +close_stmt +cmp_stmt +cmp_source +copy_from_local_stmt +copy_stmt +copy_source +copy_target +copy_option +copy_file_option +commit_stmt +create_index_stmt +create_index_col +index_storage_clause +index_mssql_storage_clause +print_stmt +quit_stmt +raise_stmt +resignal_stmt +return_stmt +rollback_stmt +set_session_option +set_current_schema_option +set_mssql_session_option +set_teradata_session_option +signal_stmt +summary_stmt +truncate_stmt +use_stmt +values_into_stmt +while_stmt +for_cursor_stmt +for_range_stmt +label +using_clause +select_stmt +cte_select_stmt +cte_select_stmt_item +cte_select_cols +fullselect_stmt +fullselect_stmt_item +fullselect_set_clause +subselect_stmt +select_list +select_list_set +select_list_limit +select_list_item +select_list_alias +select_list_asterisk +into_clause +from_clause +from_table_clause +from_table_name_clause +from_subselect_clause +from_join_clause +from_join_type_clause +from_table_values_clause +from_table_values_row +from_alias_clause +table_name +where_clause +group_by_clause +having_clause +qualify_clause +order_by_clause +select_options +select_options_item +update_stmt +update_assignment +update_table +update_upsert +merge_stmt +merge_table +merge_condition +merge_action +delete_stmt +delete_alias +describe_stmt +bool_expr +bool_expr_atom +bool_expr_unary +bool_expr_single_in +bool_expr_multi_in +bool_expr_binary +bool_expr_logical_operator +bool_expr_binary_operator +expr +expr_atom +expr_interval +interval_item +expr_concat +expr_concat_item +expr_case +expr_case_simple +expr_case_searched +expr_cursor_attribute +expr_agg_window_func +expr_func_all_distinct +expr_func_over_clause +expr_func_partition_by_clause +expr_spec_func +expr_func +expr_func_params +func_param +expr_select +expr_file +hive +hive_item +host +host_cmd +host_stmt +file_name +date_literal +timestamp_literal +ident +string +int_number +dec_number +bool_literal +null_const +non_reserved_words + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 376, 3345, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 460, 10, 3, 3, 3, 5, 3, 463, 10, 3, 6, 3, 465, 10, 3, 13, 3, 14, 3, 466, 3, 4, 5, 4, 470, 10, 4, 3, 4, 3, 4, 3, 4, 5, 4, 475, 10, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 5, 5, 482, 10, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 488, 10, 5, 5, 5, 490, 10, 5, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 6, 7, 497, 10, 7, 13, 7, 14, 7, 498, 3, 7, 5, 7, 502, 10, 7, 5, 7, 504, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 567, 10, 8, 3, 9, 3, 9, 3, 10, 3, 10, 6, 10, 573, 10, 10, 13, 10, 14, 10, 574, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 5, 14, 591, 10, 14, 3, 14, 3, 14, 3, 14, 7, 14, 596, 10, 14, 12, 14, 14, 14, 599, 11, 14, 5, 14, 601, 10, 14, 3, 15, 3, 15, 3, 15, 5, 15, 606, 10, 15, 3, 16, 3, 16, 5, 16, 610, 10, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 619, 10, 16, 3, 16, 3, 16, 3, 16, 5, 16, 624, 10, 16, 3, 17, 3, 17, 3, 17, 3, 17, 7, 17, 630, 10, 17, 12, 17, 14, 17, 633, 11, 17, 3, 17, 3, 17, 5, 17, 637, 10, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 7, 17, 644, 10, 17, 12, 17, 14, 17, 647, 11, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 7, 18, 656, 10, 18, 12, 18, 14, 18, 659, 11, 18, 3, 18, 3, 18, 5, 18, 663, 10, 18, 3, 18, 5, 18, 666, 10, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 680, 10, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 5, 20, 687, 10, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 694, 10, 20, 12, 20, 14, 20, 697, 11, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 713, 10, 23, 3, 23, 3, 23, 5, 23, 717, 10, 23, 3, 24, 3, 24, 3, 24, 3, 24, 7, 24, 723, 10, 24, 12, 24, 14, 24, 726, 11, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 7, 25, 734, 10, 25, 12, 25, 14, 25, 737, 11, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 7, 26, 744, 10, 26, 12, 26, 14, 26, 747, 11, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 754, 10, 27, 3, 28, 3, 28, 3, 28, 7, 28, 759, 10, 28, 12, 28, 14, 28, 762, 11, 28, 3, 28, 5, 28, 765, 10, 28, 3, 28, 3, 28, 5, 28, 769, 10, 28, 3, 28, 7, 28, 772, 10, 28, 12, 28, 14, 28, 775, 11, 28, 3, 28, 5, 28, 778, 10, 28, 3, 28, 3, 28, 3, 28, 5, 28, 783, 10, 28, 3, 28, 3, 28, 5, 28, 787, 10, 28, 3, 28, 3, 28, 5, 28, 791, 10, 28, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 5, 30, 801, 10, 30, 3, 30, 3, 30, 5, 30, 805, 10, 30, 3, 30, 3, 30, 3, 30, 5, 30, 810, 10, 30, 3, 31, 3, 31, 3, 31, 5, 31, 815, 10, 31, 3, 31, 3, 31, 5, 31, 819, 10, 31, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 5, 33, 832, 10, 33, 3, 33, 3, 33, 3, 34, 5, 34, 837, 10, 34, 3, 34, 3, 34, 3, 34, 3, 34, 5, 34, 843, 10, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 5, 35, 852, 10, 35, 3, 35, 3, 35, 5, 35, 856, 10, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 5, 36, 864, 10, 36, 3, 36, 5, 36, 867, 10, 36, 3, 36, 3, 36, 3, 36, 5, 36, 872, 10, 36, 3, 36, 3, 36, 3, 37, 5, 37, 877, 10, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 5, 37, 884, 10, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 5, 37, 893, 10, 37, 3, 37, 5, 37, 896, 10, 37, 3, 38, 3, 38, 3, 38, 7, 38, 901, 10, 38, 12, 38, 14, 38, 904, 11, 38, 3, 39, 3, 39, 3, 39, 5, 39, 909, 10, 39, 3, 39, 7, 39, 912, 10, 39, 12, 39, 14, 39, 915, 11, 39, 3, 39, 7, 39, 918, 10, 39, 12, 39, 14, 39, 921, 11, 39, 3, 39, 3, 39, 5, 39, 925, 10, 39, 3, 39, 5, 39, 928, 10, 39, 3, 40, 3, 40, 3, 41, 3, 41, 5, 41, 934, 10, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 7, 41, 946, 10, 41, 12, 41, 14, 41, 949, 11, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 7, 41, 956, 10, 41, 12, 41, 14, 41, 959, 11, 41, 3, 41, 3, 41, 3, 41, 5, 41, 964, 10, 41, 3, 42, 3, 42, 3, 42, 5, 42, 969, 10, 42, 3, 42, 3, 42, 3, 42, 5, 42, 974, 10, 42, 3, 42, 3, 42, 3, 42, 5, 42, 979, 10, 42, 7, 42, 981, 10, 42, 12, 42, 14, 42, 984, 11, 42, 3, 42, 3, 42, 5, 42, 988, 10, 42, 3, 42, 5, 42, 991, 10, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 7, 42, 999, 10, 42, 12, 42, 14, 42, 1002, 11, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 7, 42, 1011, 10, 42, 12, 42, 14, 42, 1014, 11, 42, 3, 42, 3, 42, 7, 42, 1018, 10, 42, 12, 42, 14, 42, 1021, 11, 42, 5, 42, 1023, 10, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 1035, 10, 43, 3, 44, 6, 44, 1038, 10, 44, 13, 44, 14, 44, 1039, 3, 45, 3, 45, 3, 45, 5, 45, 1045, 10, 45, 3, 46, 5, 46, 1048, 10, 46, 3, 46, 3, 46, 3, 47, 6, 47, 1053, 10, 47, 13, 47, 14, 47, 1054, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 5, 48, 1067, 10, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 6, 49, 1080, 10, 49, 13, 49, 14, 49, 1081, 3, 49, 3, 49, 3, 49, 5, 49, 1087, 10, 49, 3, 50, 5, 50, 1090, 10, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 7, 50, 1103, 10, 50, 12, 50, 14, 50, 1106, 11, 50, 3, 50, 3, 50, 3, 50, 5, 50, 1111, 10, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 5, 50, 1122, 10, 50, 3, 51, 5, 51, 1125, 10, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 7, 51, 1133, 10, 51, 12, 51, 14, 51, 1136, 11, 51, 3, 51, 3, 51, 3, 51, 3, 51, 5, 51, 1142, 10, 51, 3, 52, 3, 52, 3, 52, 3, 52, 5, 52, 1148, 10, 52, 3, 53, 3, 53, 3, 53, 3, 53, 7, 53, 1154, 10, 53, 12, 53, 14, 53, 1157, 11, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 5, 54, 1166, 10, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 5, 54, 1186, 10, 54, 3, 55, 3, 55, 3, 55, 3, 55, 5, 55, 1192, 10, 55, 3, 56, 3, 56, 5, 56, 1196, 10, 56, 3, 56, 3, 56, 3, 56, 5, 56, 1201, 10, 56, 3, 56, 3, 56, 5, 56, 1205, 10, 56, 3, 56, 3, 56, 3, 56, 5, 56, 1210, 10, 56, 3, 56, 5, 56, 1213, 10, 56, 3, 56, 3, 56, 3, 56, 5, 56, 1218, 10, 56, 3, 56, 5, 56, 1221, 10, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 5, 59, 1233, 10, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 5, 60, 1240, 10, 60, 3, 60, 3, 60, 3, 60, 5, 60, 1245, 10, 60, 3, 60, 3, 60, 3, 60, 5, 60, 1250, 10, 60, 7, 60, 1252, 10, 60, 12, 60, 14, 60, 1255, 11, 60, 3, 60, 3, 60, 5, 60, 1259, 10, 60, 3, 60, 5, 60, 1262, 10, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 7, 60, 1270, 10, 60, 12, 60, 14, 60, 1273, 11, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 7, 60, 1282, 10, 60, 12, 60, 14, 60, 1285, 11, 60, 3, 60, 3, 60, 7, 60, 1289, 10, 60, 12, 60, 14, 60, 1292, 11, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 5, 60, 1299, 10, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 5, 61, 1314, 10, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 5, 61, 1345, 10, 61, 5, 61, 1347, 10, 61, 3, 62, 3, 62, 3, 62, 5, 62, 1352, 10, 62, 3, 62, 3, 62, 5, 62, 1356, 10, 62, 3, 62, 3, 62, 3, 63, 5, 63, 1361, 10, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 5, 63, 1368, 10, 63, 3, 63, 5, 63, 1371, 10, 63, 3, 64, 5, 64, 1374, 10, 64, 3, 64, 3, 64, 3, 64, 5, 64, 1379, 10, 64, 3, 64, 3, 64, 5, 64, 1383, 10, 64, 5, 64, 1385, 10, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 5, 65, 1392, 10, 65, 3, 65, 3, 65, 7, 65, 1396, 10, 65, 12, 65, 14, 65, 1399, 11, 65, 3, 66, 3, 66, 3, 66, 3, 66, 5, 66, 1405, 10, 66, 3, 67, 3, 67, 3, 67, 3, 67, 5, 67, 1411, 10, 67, 3, 67, 5, 67, 1414, 10, 67, 3, 67, 3, 67, 3, 67, 5, 67, 1419, 10, 67, 3, 67, 3, 67, 5, 67, 1423, 10, 67, 3, 67, 5, 67, 1426, 10, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 5, 68, 1433, 10, 68, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 1439, 10, 69, 3, 69, 5, 69, 1442, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 1452, 10, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 7, 70, 1459, 10, 70, 12, 70, 14, 70, 1462, 11, 70, 3, 71, 3, 71, 3, 71, 3, 71, 5, 71, 1468, 10, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 5, 71, 1475, 10, 71, 5, 71, 1477, 10, 71, 3, 72, 3, 72, 3, 72, 3, 72, 5, 72, 1483, 10, 72, 3, 72, 5, 72, 1486, 10, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 5, 72, 1497, 10, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 7, 73, 1504, 10, 73, 12, 73, 14, 73, 1507, 11, 73, 3, 74, 3, 74, 3, 74, 5, 74, 1512, 10, 74, 3, 75, 3, 75, 3, 75, 3, 75, 5, 75, 1518, 10, 75, 3, 75, 5, 75, 1521, 10, 75, 3, 75, 3, 75, 3, 75, 5, 75, 1526, 10, 75, 3, 75, 5, 75, 1529, 10, 75, 3, 75, 5, 75, 1532, 10, 75, 3, 75, 5, 75, 1535, 10, 75, 3, 75, 5, 75, 1538, 10, 75, 3, 75, 3, 75, 3, 75, 3, 75, 5, 75, 1544, 10, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 7, 76, 1552, 10, 76, 12, 76, 14, 76, 1555, 11, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 7, 76, 1563, 10, 76, 12, 76, 14, 76, 1566, 11, 76, 5, 76, 1568, 10, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 5, 77, 1575, 10, 77, 3, 77, 3, 77, 3, 77, 5, 77, 1580, 10, 77, 3, 77, 7, 77, 1583, 10, 77, 12, 77, 14, 77, 1586, 11, 77, 3, 77, 5, 77, 1589, 10, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 5, 77, 1597, 10, 77, 3, 77, 3, 77, 5, 77, 1601, 10, 77, 3, 77, 7, 77, 1604, 10, 77, 12, 77, 14, 77, 1607, 11, 77, 3, 77, 5, 77, 1610, 10, 77, 5, 77, 1612, 10, 77, 3, 78, 6, 78, 1615, 10, 78, 13, 78, 14, 78, 1616, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 5, 79, 1625, 10, 79, 3, 79, 3, 79, 3, 79, 5, 79, 1630, 10, 79, 3, 80, 3, 80, 3, 80, 3, 80, 5, 80, 1636, 10, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 5, 80, 1643, 10, 80, 3, 80, 5, 80, 1646, 10, 80, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 5, 82, 1653, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 5, 82, 1661, 10, 82, 3, 82, 3, 82, 3, 82, 3, 82, 7, 82, 1667, 10, 82, 12, 82, 14, 82, 1670, 11, 82, 5, 82, 1672, 10, 82, 3, 82, 5, 82, 1675, 10, 82, 3, 83, 3, 83, 3, 83, 5, 83, 1680, 10, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 7, 84, 1687, 10, 84, 12, 84, 14, 84, 1690, 11, 84, 3, 84, 5, 84, 1693, 10, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 5, 85, 1703, 10, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 5, 89, 1722, 10, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 5, 90, 1729, 10, 90, 5, 90, 1731, 10, 90, 3, 90, 3, 90, 5, 90, 1735, 10, 90, 3, 90, 3, 90, 5, 90, 1739, 10, 90, 3, 91, 3, 91, 3, 91, 3, 91, 7, 91, 1745, 10, 91, 12, 91, 14, 91, 1748, 11, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 92, 7, 92, 1756, 10, 92, 12, 92, 14, 92, 1759, 11, 92, 3, 93, 3, 93, 3, 93, 3, 93, 7, 93, 1765, 10, 93, 12, 93, 14, 93, 1768, 11, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 5, 94, 1775, 10, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 5, 95, 1783, 10, 95, 3, 95, 3, 95, 5, 95, 1787, 10, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 97, 3, 97, 5, 97, 1795, 10, 97, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100, 3, 100, 7, 100, 1811, 10, 100, 12, 100, 14, 100, 1814, 11, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102, 5, 102, 1827, 10, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 5, 103, 1834, 10, 103, 3, 103, 3, 103, 5, 103, 1838, 10, 103, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 1845, 10, 104, 5, 104, 1847, 10, 104, 3, 105, 3, 105, 5, 105, 1851, 10, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 7, 105, 1858, 10, 105, 12, 105, 14, 105, 1861, 11, 105, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 5, 106, 1868, 10, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 1875, 10, 107, 12, 107, 14, 107, 1878, 11, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 5, 110, 1893, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 1899, 10, 110, 3, 110, 3, 110, 5, 110, 1903, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 7, 111, 1911, 10, 111, 12, 111, 14, 111, 1914, 11, 111, 3, 111, 3, 111, 3, 111, 7, 111, 1919, 10, 111, 12, 111, 14, 111, 1922, 11, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 5, 112, 1930, 10, 112, 3, 112, 3, 112, 5, 112, 1934, 10, 112, 3, 112, 3, 112, 7, 112, 1938, 10, 112, 12, 112, 14, 112, 1941, 11, 112, 3, 113, 3, 113, 5, 113, 1945, 10, 113, 3, 114, 3, 114, 5, 114, 1949, 10, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 5, 115, 1959, 10, 115, 3, 116, 3, 116, 3, 117, 3, 117, 5, 117, 1965, 10, 117, 3, 118, 3, 118, 5, 118, 1969, 10, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 7, 118, 1979, 10, 118, 12, 118, 14, 118, 1982, 11, 118, 3, 118, 3, 118, 3, 119, 3, 119, 5, 119, 1988, 10, 119, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 7, 121, 2002, 10, 121, 12, 121, 14, 121, 2005, 11, 121, 3, 121, 3, 121, 7, 121, 2009, 10, 121, 12, 121, 14, 121, 2012, 11, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 5, 122, 2021, 10, 122, 3, 123, 5, 123, 2024, 10, 123, 3, 123, 3, 123, 5, 123, 2028, 10, 123, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 5, 125, 2035, 10, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 5, 125, 2042, 10, 125, 5, 125, 2044, 10, 125, 3, 126, 3, 126, 5, 126, 2048, 10, 126, 3, 127, 3, 127, 5, 127, 2052, 10, 127, 3, 128, 3, 128, 3, 128, 5, 128, 2057, 10, 128, 3, 129, 5, 129, 2060, 10, 129, 3, 129, 3, 129, 5, 129, 2064, 10, 129, 3, 129, 5, 129, 2067, 10, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 3, 131, 5, 131, 2078, 10, 131, 3, 131, 5, 131, 2081, 10, 131, 3, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132, 3, 133, 3, 133, 3, 133, 5, 133, 2092, 10, 133, 3, 133, 3, 133, 3, 133, 3, 133, 5, 133, 2098, 10, 133, 3, 133, 3, 133, 5, 133, 2102, 10, 133, 5, 133, 2104, 10, 133, 3, 134, 3, 134, 5, 134, 2108, 10, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135, 3, 136, 3, 136, 5, 136, 2117, 10, 136, 3, 136, 3, 136, 3, 136, 7, 136, 2122, 10, 136, 12, 136, 14, 136, 2125, 11, 136, 3, 136, 5, 136, 2128, 10, 136, 3, 136, 3, 136, 5, 136, 2132, 10, 136, 3, 136, 3, 136, 3, 136, 7, 136, 2137, 10, 136, 12, 136, 14, 136, 2140, 11, 136, 3, 136, 5, 136, 2143, 10, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 5, 137, 2151, 10, 137, 3, 138, 3, 138, 3, 138, 3, 138, 5, 138, 2157, 10, 138, 3, 138, 3, 138, 5, 138, 2161, 10, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 5, 139, 2172, 10, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 5, 139, 2179, 10, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 5, 140, 2192, 10, 140, 3, 141, 3, 141, 3, 141, 3, 141, 7, 141, 2198, 10, 141, 12, 141, 14, 141, 2201, 11, 141, 3, 142, 5, 142, 2204, 10, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 3, 143, 7, 143, 2212, 10, 143, 12, 143, 14, 143, 2215, 11, 143, 3, 144, 3, 144, 5, 144, 2219, 10, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145, 3, 145, 7, 145, 2230, 10, 145, 12, 145, 14, 145, 2233, 11, 145, 3, 145, 3, 145, 3, 146, 3, 146, 3, 146, 3, 146, 7, 146, 2241, 10, 146, 12, 146, 14, 146, 2244, 11, 146, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 5, 147, 2251, 10, 147, 3, 148, 3, 148, 5, 148, 2255, 10, 148, 3, 148, 3, 148, 5, 148, 2259, 10, 148, 3, 148, 3, 148, 5, 148, 2263, 10, 148, 5, 148, 2265, 10, 148, 3, 149, 3, 149, 3, 149, 5, 149, 2270, 10, 149, 3, 149, 5, 149, 2273, 10, 149, 3, 149, 5, 149, 2276, 10, 149, 3, 149, 5, 149, 2279, 10, 149, 3, 149, 3, 149, 5, 149, 2283, 10, 149, 3, 149, 5, 149, 2286, 10, 149, 3, 149, 5, 149, 2289, 10, 149, 3, 150, 5, 150, 2292, 10, 150, 3, 150, 5, 150, 2295, 10, 150, 3, 150, 3, 150, 3, 150, 7, 150, 2300, 10, 150, 12, 150, 14, 150, 2303, 11, 150, 3, 151, 3, 151, 3, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 5, 153, 2313, 10, 153, 3, 153, 3, 153, 5, 153, 2317, 10, 153, 3, 153, 5, 153, 2320, 10, 153, 3, 154, 3, 154, 5, 154, 2324, 10, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 5, 154, 2331, 10, 154, 3, 155, 3, 155, 5, 155, 2335, 10, 155, 3, 155, 3, 155, 3, 156, 3, 156, 3, 156, 3, 156, 7, 156, 2343, 10, 156, 12, 156, 14, 156, 2346, 11, 156, 3, 157, 3, 157, 3, 157, 7, 157, 2351, 10, 157, 12, 157, 14, 157, 2354, 11, 157, 3, 158, 3, 158, 3, 158, 5, 158, 2359, 10, 158, 3, 159, 3, 159, 5, 159, 2363, 10, 159, 3, 160, 3, 160, 3, 160, 3, 160, 5, 160, 2369, 10, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 5, 161, 2378, 10, 161, 3, 162, 5, 162, 2381, 10, 162, 3, 162, 3, 162, 3, 162, 5, 162, 2386, 10, 162, 3, 162, 5, 162, 2389, 10, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 7, 163, 2397, 10, 163, 12, 163, 14, 163, 2400, 11, 163, 3, 163, 3, 163, 5, 163, 2404, 10, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 7, 164, 2411, 10, 164, 12, 164, 14, 164, 2414, 11, 164, 3, 164, 3, 164, 5, 164, 2418, 10, 164, 3, 165, 3, 165, 5, 165, 2422, 10, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 7, 165, 2429, 10, 165, 12, 165, 14, 165, 2432, 11, 165, 3, 165, 5, 165, 2435, 10, 165, 3, 166, 3, 166, 3, 167, 3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 7, 168, 2447, 10, 168, 12, 168, 14, 168, 2450, 11, 168, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 5, 171, 2462, 10, 171, 3, 171, 3, 171, 3, 171, 5, 171, 2467, 10, 171, 7, 171, 2469, 10, 171, 12, 171, 14, 171, 2472, 11, 171, 3, 172, 6, 172, 2475, 10, 172, 13, 172, 14, 172, 2476, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 5, 173, 2488, 10, 173, 5, 173, 2490, 10, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 5, 174, 2497, 10, 174, 3, 174, 5, 174, 2500, 10, 174, 3, 175, 3, 175, 3, 175, 7, 175, 2505, 10, 175, 12, 175, 14, 175, 2508, 11, 175, 3, 176, 3, 176, 5, 176, 2512, 10, 176, 3, 176, 3, 176, 3, 176, 3, 176, 5, 176, 2518, 10, 176, 3, 176, 5, 176, 2521, 10, 176, 3, 176, 5, 176, 2524, 10, 176, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 6, 178, 2537, 10, 178, 13, 178, 14, 178, 2538, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 5, 179, 2546, 10, 179, 3, 179, 5, 179, 2549, 10, 179, 3, 179, 5, 179, 2552, 10, 179, 3, 180, 3, 180, 5, 180, 2556, 10, 180, 3, 180, 3, 180, 3, 180, 5, 180, 2561, 10, 180, 3, 180, 3, 180, 3, 180, 3, 180, 5, 180, 2567, 10, 180, 3, 181, 3, 181, 5, 181, 2571, 10, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 7, 181, 2580, 10, 181, 12, 181, 14, 181, 2583, 11, 181, 3, 181, 5, 181, 2586, 10, 181, 3, 181, 5, 181, 2589, 10, 181, 3, 182, 3, 182, 5, 182, 2593, 10, 182, 3, 182, 3, 182, 5, 182, 2597, 10, 182, 3, 182, 3, 182, 5, 182, 2601, 10, 182, 3, 183, 3, 183, 5, 183, 2605, 10, 183, 3, 183, 3, 183, 3, 184, 3, 184, 5, 184, 2611, 10, 184, 3, 184, 3, 184, 3, 185, 3, 185, 5, 185, 2617, 10, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 5, 185, 2624, 10, 185, 3, 185, 3, 185, 3, 185, 3, 185, 7, 185, 2630, 10, 185, 12, 185, 14, 185, 2633, 11, 185, 3, 186, 3, 186, 3, 186, 5, 186, 2638, 10, 186, 3, 187, 3, 187, 3, 187, 5, 187, 2643, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 2654, 10, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 5, 187, 2663, 10, 187, 3, 188, 3, 188, 5, 188, 2667, 10, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 7, 188, 2674, 10, 188, 12, 188, 14, 188, 2677, 11, 188, 3, 188, 5, 188, 2680, 10, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 7, 189, 2688, 10, 189, 12, 189, 14, 189, 2691, 11, 189, 3, 189, 3, 189, 5, 189, 2695, 10, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 5, 192, 2717, 10, 192, 3, 192, 5, 192, 2720, 10, 192, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 5, 193, 2739, 10, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 7, 193, 2755, 10, 193, 12, 193, 14, 193, 2758, 11, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 5, 194, 2768, 10, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 7, 197, 2781, 10, 197, 12, 197, 14, 197, 2784, 11, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 5, 198, 2795, 10, 198, 3, 199, 3, 199, 5, 199, 2799, 10, 199, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 6, 200, 2808, 10, 200, 13, 200, 14, 200, 2809, 3, 200, 3, 200, 5, 200, 2814, 10, 200, 3, 200, 3, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 6, 201, 2824, 10, 201, 13, 201, 14, 201, 2825, 3, 201, 3, 201, 5, 201, 2830, 10, 201, 3, 201, 3, 201, 3, 202, 3, 202, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 5, 203, 2841, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2846, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2851, 10, 203, 3, 203, 3, 203, 5, 203, 2855, 10, 203, 3, 203, 3, 203, 5, 203, 2859, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2864, 10, 203, 3, 203, 3, 203, 5, 203, 2868, 10, 203, 3, 203, 3, 203, 5, 203, 2872, 10, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2895, 10, 203, 5, 203, 2897, 10, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2915, 10, 203, 5, 203, 2917, 10, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2925, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2930, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2935, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2940, 10, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2953, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2958, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2963, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2968, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2973, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2978, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2983, 10, 203, 3, 203, 3, 203, 3, 203, 5, 203, 2988, 10, 203, 5, 203, 2990, 10, 203, 3, 204, 3, 204, 3, 205, 3, 205, 3, 205, 5, 205, 2997, 10, 205, 3, 205, 5, 205, 3000, 10, 205, 3, 205, 3, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 7, 206, 3009, 10, 206, 12, 206, 14, 206, 3012, 11, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 3021, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 3029, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 3038, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 3044, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 7, 207, 3059, 10, 207, 12, 207, 14, 207, 3062, 11, 207, 5, 207, 3064, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 7, 207, 3078, 10, 207, 12, 207, 14, 207, 3081, 11, 207, 5, 207, 3083, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 7, 207, 3097, 10, 207, 12, 207, 14, 207, 3100, 11, 207, 5, 207, 3102, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 7, 207, 3116, 10, 207, 12, 207, 14, 207, 3119, 11, 207, 5, 207, 3121, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 7, 207, 3135, 10, 207, 12, 207, 14, 207, 3138, 11, 207, 5, 207, 3140, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 7, 207, 3154, 10, 207, 12, 207, 14, 207, 3157, 11, 207, 5, 207, 3159, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 7, 207, 3171, 10, 207, 12, 207, 14, 207, 3174, 11, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 6, 207, 3186, 10, 207, 13, 207, 14, 207, 3187, 3, 207, 3, 207, 5, 207, 3192, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 3208, 10, 207, 3, 207, 3, 207, 3, 207, 3, 207, 5, 207, 3214, 10, 207, 3, 208, 3, 208, 3, 208, 5, 208, 3219, 10, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 7, 209, 3226, 10, 209, 12, 209, 14, 209, 3229, 11, 209, 3, 210, 3, 210, 3, 210, 3, 210, 5, 210, 3235, 10, 210, 5, 210, 3237, 10, 210, 3, 210, 3, 210, 3, 211, 3, 211, 5, 211, 3243, 10, 211, 3, 212, 3, 212, 5, 212, 3247, 10, 212, 3, 213, 3, 213, 7, 213, 3251, 10, 213, 12, 213, 14, 213, 3254, 11, 213, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 5, 214, 3268, 10, 214, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 5, 215, 3275, 10, 215, 3, 216, 7, 216, 3278, 10, 216, 12, 216, 14, 216, 3281, 11, 216, 3, 217, 3, 217, 3, 217, 3, 218, 3, 218, 3, 218, 3, 218, 5, 218, 3290, 10, 218, 3, 218, 3, 218, 3, 218, 7, 218, 3295, 10, 218, 12, 218, 14, 218, 3298, 11, 218, 5, 218, 3300, 10, 218, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 3, 221, 5, 221, 3309, 10, 221, 3, 221, 3, 221, 5, 221, 3313, 10, 221, 3, 221, 3, 221, 3, 221, 5, 221, 3318, 10, 221, 7, 221, 3320, 10, 221, 12, 221, 14, 221, 3323, 11, 221, 3, 222, 3, 222, 5, 222, 3327, 10, 222, 3, 223, 5, 223, 3330, 10, 223, 3, 223, 3, 223, 3, 224, 5, 224, 3335, 10, 224, 3, 224, 3, 224, 3, 225, 3, 225, 3, 226, 3, 226, 3, 227, 3, 227, 3, 227, 3, 3279, 4, 368, 384, 228, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 2, 51, 4, 2, 3, 5, 15, 15, 4, 2, 16, 16, 18, 18, 3, 2, 34, 35, 5, 2, 30, 30, 41, 41, 44, 44, 3, 2, 48, 49, 3, 2, 51, 52, 4, 2, 22, 22, 65, 65, 3, 2, 78, 79, 3, 2, 82, 83, 3, 2, 89, 90, 4, 2, 83, 83, 92, 92, 3, 2, 96, 97, 3, 2, 98, 101, 3, 2, 103, 104, 4, 2, 84, 84, 115, 115, 3, 2, 177, 178, 4, 2, 74, 74, 179, 179, 4, 2, 139, 139, 180, 180, 3, 2, 181, 182, 3, 2, 183, 184, 4, 2, 41, 41, 44, 44, 4, 2, 45, 45, 188, 188, 4, 2, 32, 32, 190, 190, 3, 2, 197, 200, 3, 2, 203, 204, 3, 2, 207, 208, 3, 2, 227, 228, 4, 2, 217, 217, 232, 232, 5, 2, 83, 83, 211, 211, 238, 238, 3, 2, 249, 253, 4, 2, 81, 81, 254, 254, 4, 2, 37, 37, 257, 257, 5, 2, 14, 14, 20, 20, 265, 266, 4, 2, 264, 264, 266, 266, 4, 2, 111, 111, 269, 269, 3, 2, 278, 279, 4, 2, 275, 275, 280, 280, 3, 2, 285, 287, 4, 2, 182, 182, 294, 296, 4, 2, 82, 82, 299, 300, 4, 2, 79, 79, 304, 304, 4, 2, 186, 186, 297, 297, 4, 2, 67, 67, 311, 312, 3, 2, 318, 323, 3, 2, 324, 325, 4, 2, 57, 57, 327, 328, 3, 2, 11, 12, 3, 2, 368, 369, 24, 2, 13, 14, 17, 17, 20, 20, 22, 22, 28, 73, 75, 142, 144, 160, 162, 166, 168, 172, 174, 176, 179, 205, 209, 267, 269, 269, 273, 273, 275, 281, 283, 288, 290, 305, 311, 312, 317, 323, 325, 351, 358, 364, 368, 376, 2, 3772, 2, 454, 3, 2, 2, 2, 4, 464, 3, 2, 2, 2, 6, 469, 3, 2, 2, 2, 8, 489, 3, 2, 2, 2, 10, 491, 3, 2, 2, 2, 12, 503, 3, 2, 2, 2, 14, 566, 3, 2, 2, 2, 16, 568, 3, 2, 2, 2, 18, 570, 3, 2, 2, 2, 20, 576, 3, 2, 2, 2, 22, 582, 3, 2, 2, 2, 24, 584, 3, 2, 2, 2, 26, 600, 3, 2, 2, 2, 28, 605, 3, 2, 2, 2, 30, 623, 3, 2, 2, 2, 32, 625, 3, 2, 2, 2, 34, 662, 3, 2, 2, 2, 36, 672, 3, 2, 2, 2, 38, 683, 3, 2, 2, 2, 40, 703, 3, 2, 2, 2, 42, 706, 3, 2, 2, 2, 44, 708, 3, 2, 2, 2, 46, 718, 3, 2, 2, 2, 48, 727, 3, 2, 2, 2, 50, 738, 3, 2, 2, 2, 52, 753, 3, 2, 2, 2, 54, 790, 3, 2, 2, 2, 56, 792, 3, 2, 2, 2, 58, 800, 3, 2, 2, 2, 60, 811, 3, 2, 2, 2, 62, 820, 3, 2, 2, 2, 64, 823, 3, 2, 2, 2, 66, 836, 3, 2, 2, 2, 68, 846, 3, 2, 2, 2, 70, 859, 3, 2, 2, 2, 72, 892, 3, 2, 2, 2, 74, 897, 3, 2, 2, 2, 76, 927, 3, 2, 2, 2, 78, 929, 3, 2, 2, 2, 80, 963, 3, 2, 2, 2, 82, 1022, 3, 2, 2, 2, 84, 1024, 3, 2, 2, 2, 86, 1037, 3, 2, 2, 2, 88, 1044, 3, 2, 2, 2, 90, 1047, 3, 2, 2, 2, 92, 1052, 3, 2, 2, 2, 94, 1066, 3, 2, 2, 2, 96, 1086, 3, 2, 2, 2, 98, 1121, 3, 2, 2, 2, 100, 1141, 3, 2, 2, 2, 102, 1147, 3, 2, 2, 2, 104, 1149, 3, 2, 2, 2, 106, 1185, 3, 2, 2, 2, 108, 1191, 3, 2, 2, 2, 110, 1220, 3, 2, 2, 2, 112, 1222, 3, 2, 2, 2, 114, 1227, 3, 2, 2, 2, 116, 1229, 3, 2, 2, 2, 118, 1298, 3, 2, 2, 2, 120, 1346, 3, 2, 2, 2, 122, 1348, 3, 2, 2, 2, 124, 1370, 3, 2, 2, 2, 126, 1384, 3, 2, 2, 2, 128, 1386, 3, 2, 2, 2, 130, 1404, 3, 2, 2, 2, 132, 1413, 3, 2, 2, 2, 134, 1429, 3, 2, 2, 2, 136, 1441, 3, 2, 2, 2, 138, 1453, 3, 2, 2, 2, 140, 1476, 3, 2, 2, 2, 142, 1485, 3, 2, 2, 2, 144, 1498, 3, 2, 2, 2, 146, 1511, 3, 2, 2, 2, 148, 1520, 3, 2, 2, 2, 150, 1567, 3, 2, 2, 2, 152, 1611, 3, 2, 2, 2, 154, 1614, 3, 2, 2, 2, 156, 1629, 3, 2, 2, 2, 158, 1645, 3, 2, 2, 2, 160, 1647, 3, 2, 2, 2, 162, 1650, 3, 2, 2, 2, 164, 1679, 3, 2, 2, 2, 166, 1681, 3, 2, 2, 2, 168, 1697, 3, 2, 2, 2, 170, 1704, 3, 2, 2, 2, 172, 1710, 3, 2, 2, 2, 174, 1715, 3, 2, 2, 2, 176, 1718, 3, 2, 2, 2, 178, 1723, 3, 2, 2, 2, 180, 1740, 3, 2, 2, 2, 182, 1751, 3, 2, 2, 2, 184, 1760, 3, 2, 2, 2, 186, 1771, 3, 2, 2, 2, 188, 1780, 3, 2, 2, 2, 190, 1788, 3, 2, 2, 2, 192, 1794, 3, 2, 2, 2, 194, 1796, 3, 2, 2, 2, 196, 1802, 3, 2, 2, 2, 198, 1806, 3, 2, 2, 2, 200, 1819, 3, 2, 2, 2, 202, 1824, 3, 2, 2, 2, 204, 1828, 3, 2, 2, 2, 206, 1839, 3, 2, 2, 2, 208, 1848, 3, 2, 2, 2, 210, 1862, 3, 2, 2, 2, 212, 1869, 3, 2, 2, 2, 214, 1881, 3, 2, 2, 2, 216, 1884, 3, 2, 2, 2, 218, 1898, 3, 2, 2, 2, 220, 1904, 3, 2, 2, 2, 222, 1923, 3, 2, 2, 2, 224, 1944, 3, 2, 2, 2, 226, 1948, 3, 2, 2, 2, 228, 1958, 3, 2, 2, 2, 230, 1960, 3, 2, 2, 2, 232, 1962, 3, 2, 2, 2, 234, 1966, 3, 2, 2, 2, 236, 1985, 3, 2, 2, 2, 238, 1989, 3, 2, 2, 2, 240, 1991, 3, 2, 2, 2, 242, 2020, 3, 2, 2, 2, 244, 2023, 3, 2, 2, 2, 246, 2029, 3, 2, 2, 2, 248, 2031, 3, 2, 2, 2, 250, 2045, 3, 2, 2, 2, 252, 2049, 3, 2, 2, 2, 254, 2056, 3, 2, 2, 2, 256, 2063, 3, 2, 2, 2, 258, 2070, 3, 2, 2, 2, 260, 2073, 3, 2, 2, 2, 262, 2085, 3, 2, 2, 2, 264, 2088, 3, 2, 2, 2, 266, 2105, 3, 2, 2, 2, 268, 2111, 3, 2, 2, 2, 270, 2114, 3, 2, 2, 2, 272, 2144, 3, 2, 2, 2, 274, 2152, 3, 2, 2, 2, 276, 2167, 3, 2, 2, 2, 278, 2191, 3, 2, 2, 2, 280, 2193, 3, 2, 2, 2, 282, 2203, 3, 2, 2, 2, 284, 2207, 3, 2, 2, 2, 286, 2216, 3, 2, 2, 2, 288, 2225, 3, 2, 2, 2, 290, 2236, 3, 2, 2, 2, 292, 2250, 3, 2, 2, 2, 294, 2264, 3, 2, 2, 2, 296, 2266, 3, 2, 2, 2, 298, 2291, 3, 2, 2, 2, 300, 2304, 3, 2, 2, 2, 302, 2306, 3, 2, 2, 2, 304, 2319, 3, 2, 2, 2, 306, 2330, 3, 2, 2, 2, 308, 2334, 3, 2, 2, 2, 310, 2338, 3, 2, 2, 2, 312, 2347, 3, 2, 2, 2, 314, 2358, 3, 2, 2, 2, 316, 2360, 3, 2, 2, 2, 318, 2364, 3, 2, 2, 2, 320, 2377, 3, 2, 2, 2, 322, 2388, 3, 2, 2, 2, 324, 2390, 3, 2, 2, 2, 326, 2417, 3, 2, 2, 2, 328, 2419, 3, 2, 2, 2, 330, 2436, 3, 2, 2, 2, 332, 2438, 3, 2, 2, 2, 334, 2441, 3, 2, 2, 2, 336, 2451, 3, 2, 2, 2, 338, 2454, 3, 2, 2, 2, 340, 2457, 3, 2, 2, 2, 342, 2474, 3, 2, 2, 2, 344, 2489, 3, 2, 2, 2, 346, 2491, 3, 2, 2, 2, 348, 2501, 3, 2, 2, 2, 350, 2517, 3, 2, 2, 2, 352, 2525, 3, 2, 2, 2, 354, 2528, 3, 2, 2, 2, 356, 2545, 3, 2, 2, 2, 358, 2566, 3, 2, 2, 2, 360, 2588, 3, 2, 2, 2, 362, 2590, 3, 2, 2, 2, 364, 2602, 3, 2, 2, 2, 366, 2608, 3, 2, 2, 2, 368, 2623, 3, 2, 2, 2, 370, 2637, 3, 2, 2, 2, 372, 2662, 3, 2, 2, 2, 374, 2664, 3, 2, 2, 2, 376, 2683, 3, 2, 2, 2, 378, 2701, 3, 2, 2, 2, 380, 2705, 3, 2, 2, 2, 382, 2719, 3, 2, 2, 2, 384, 2738, 3, 2, 2, 2, 386, 2767, 3, 2, 2, 2, 388, 2769, 3, 2, 2, 2, 390, 2773, 3, 2, 2, 2, 392, 2775, 3, 2, 2, 2, 394, 2794, 3, 2, 2, 2, 396, 2798, 3, 2, 2, 2, 398, 2800, 3, 2, 2, 2, 400, 2817, 3, 2, 2, 2, 402, 2833, 3, 2, 2, 2, 404, 2989, 3, 2, 2, 2, 406, 2991, 3, 2, 2, 2, 408, 2993, 3, 2, 2, 2, 410, 3003, 3, 2, 2, 2, 412, 3213, 3, 2, 2, 2, 414, 3215, 3, 2, 2, 2, 416, 3222, 3, 2, 2, 2, 418, 3230, 3, 2, 2, 2, 420, 3242, 3, 2, 2, 2, 422, 3246, 3, 2, 2, 2, 424, 3248, 3, 2, 2, 2, 426, 3267, 3, 2, 2, 2, 428, 3274, 3, 2, 2, 2, 430, 3279, 3, 2, 2, 2, 432, 3282, 3, 2, 2, 2, 434, 3299, 3, 2, 2, 2, 436, 3301, 3, 2, 2, 2, 438, 3304, 3, 2, 2, 2, 440, 3308, 3, 2, 2, 2, 442, 3326, 3, 2, 2, 2, 444, 3329, 3, 2, 2, 2, 446, 3334, 3, 2, 2, 2, 448, 3338, 3, 2, 2, 2, 450, 3340, 3, 2, 2, 2, 452, 3342, 3, 2, 2, 2, 454, 455, 5, 4, 3, 2, 455, 456, 7, 2, 2, 3, 456, 3, 3, 2, 2, 2, 457, 460, 5, 6, 4, 2, 458, 460, 5, 14, 8, 2, 459, 457, 3, 2, 2, 2, 459, 458, 3, 2, 2, 2, 460, 462, 3, 2, 2, 2, 461, 463, 7, 13, 2, 2, 462, 461, 3, 2, 2, 2, 462, 463, 3, 2, 2, 2, 463, 465, 3, 2, 2, 2, 464, 459, 3, 2, 2, 2, 465, 466, 3, 2, 2, 2, 466, 464, 3, 2, 2, 2, 466, 467, 3, 2, 2, 2, 467, 5, 3, 2, 2, 2, 468, 470, 5, 48, 25, 2, 469, 468, 3, 2, 2, 2, 469, 470, 3, 2, 2, 2, 470, 471, 3, 2, 2, 2, 471, 472, 7, 14, 2, 2, 472, 474, 5, 4, 3, 2, 473, 475, 5, 18, 10, 2, 474, 473, 3, 2, 2, 2, 474, 475, 3, 2, 2, 2, 475, 476, 3, 2, 2, 2, 476, 477, 5, 10, 6, 2, 477, 7, 3, 2, 2, 2, 478, 479, 7, 14, 2, 2, 479, 481, 5, 4, 3, 2, 480, 482, 5, 18, 10, 2, 481, 480, 3, 2, 2, 2, 481, 482, 3, 2, 2, 2, 482, 483, 3, 2, 2, 2, 483, 484, 5, 10, 6, 2, 484, 490, 3, 2, 2, 2, 485, 487, 5, 14, 8, 2, 486, 488, 7, 15, 2, 2, 487, 486, 3, 2, 2, 2, 487, 488, 3, 2, 2, 2, 488, 490, 3, 2, 2, 2, 489, 478, 3, 2, 2, 2, 489, 485, 3, 2, 2, 2, 490, 9, 3, 2, 2, 2, 491, 492, 6, 6, 2, 2, 492, 493, 7, 16, 2, 2, 493, 11, 3, 2, 2, 2, 494, 504, 5, 6, 4, 2, 495, 497, 5, 14, 8, 2, 496, 495, 3, 2, 2, 2, 497, 498, 3, 2, 2, 2, 498, 496, 3, 2, 2, 2, 498, 499, 3, 2, 2, 2, 499, 501, 3, 2, 2, 2, 500, 502, 7, 13, 2, 2, 501, 500, 3, 2, 2, 2, 501, 502, 3, 2, 2, 2, 502, 504, 3, 2, 2, 2, 503, 494, 3, 2, 2, 2, 503, 496, 3, 2, 2, 2, 504, 13, 3, 2, 2, 2, 505, 567, 5, 26, 14, 2, 506, 567, 5, 36, 19, 2, 507, 567, 5, 112, 57, 2, 508, 567, 5, 38, 20, 2, 509, 567, 5, 40, 21, 2, 510, 567, 5, 42, 22, 2, 511, 567, 5, 44, 23, 2, 512, 567, 5, 210, 106, 2, 513, 567, 5, 214, 108, 2, 514, 567, 5, 216, 109, 2, 515, 567, 5, 220, 111, 2, 516, 567, 5, 222, 112, 2, 517, 567, 5, 232, 117, 2, 518, 567, 5, 128, 65, 2, 519, 567, 5, 132, 67, 2, 520, 567, 5, 234, 118, 2, 521, 567, 5, 70, 36, 2, 522, 567, 5, 136, 69, 2, 523, 567, 5, 142, 72, 2, 524, 567, 5, 148, 75, 2, 525, 567, 5, 68, 35, 2, 526, 567, 5, 46, 24, 2, 527, 567, 5, 362, 182, 2, 528, 567, 5, 366, 184, 2, 529, 567, 5, 158, 80, 2, 530, 567, 5, 160, 81, 2, 531, 567, 5, 162, 82, 2, 532, 567, 5, 188, 95, 2, 533, 567, 5, 208, 105, 2, 534, 567, 5, 274, 138, 2, 535, 567, 5, 276, 139, 2, 536, 567, 5, 164, 83, 2, 537, 567, 5, 176, 89, 2, 538, 567, 5, 178, 90, 2, 539, 567, 5, 186, 94, 2, 540, 567, 5, 190, 96, 2, 541, 567, 5, 198, 100, 2, 542, 567, 5, 202, 102, 2, 543, 567, 5, 204, 103, 2, 544, 567, 5, 354, 178, 2, 545, 567, 5, 206, 104, 2, 546, 567, 5, 242, 122, 2, 547, 567, 5, 244, 123, 2, 548, 567, 5, 246, 124, 2, 549, 567, 5, 248, 125, 2, 550, 567, 5, 250, 126, 2, 551, 567, 5, 252, 127, 2, 552, 567, 5, 282, 142, 2, 553, 567, 5, 262, 132, 2, 554, 567, 5, 264, 133, 2, 555, 567, 5, 346, 174, 2, 556, 567, 5, 268, 135, 2, 557, 567, 5, 266, 134, 2, 558, 567, 5, 270, 136, 2, 559, 567, 5, 272, 137, 2, 560, 567, 5, 278, 140, 2, 561, 567, 5, 424, 213, 2, 562, 567, 5, 428, 215, 2, 563, 567, 5, 22, 12, 2, 564, 567, 5, 24, 13, 2, 565, 567, 5, 16, 9, 2, 566, 505, 3, 2, 2, 2, 566, 506, 3, 2, 2, 2, 566, 507, 3, 2, 2, 2, 566, 508, 3, 2, 2, 2, 566, 509, 3, 2, 2, 2, 566, 510, 3, 2, 2, 2, 566, 511, 3, 2, 2, 2, 566, 512, 3, 2, 2, 2, 566, 513, 3, 2, 2, 2, 566, 514, 3, 2, 2, 2, 566, 515, 3, 2, 2, 2, 566, 516, 3, 2, 2, 2, 566, 517, 3, 2, 2, 2, 566, 518, 3, 2, 2, 2, 566, 519, 3, 2, 2, 2, 566, 520, 3, 2, 2, 2, 566, 521, 3, 2, 2, 2, 566, 522, 3, 2, 2, 2, 566, 523, 3, 2, 2, 2, 566, 524, 3, 2, 2, 2, 566, 525, 3, 2, 2, 2, 566, 526, 3, 2, 2, 2, 566, 527, 3, 2, 2, 2, 566, 528, 3, 2, 2, 2, 566, 529, 3, 2, 2, 2, 566, 530, 3, 2, 2, 2, 566, 531, 3, 2, 2, 2, 566, 532, 3, 2, 2, 2, 566, 533, 3, 2, 2, 2, 566, 534, 3, 2, 2, 2, 566, 535, 3, 2, 2, 2, 566, 536, 3, 2, 2, 2, 566, 537, 3, 2, 2, 2, 566, 538, 3, 2, 2, 2, 566, 539, 3, 2, 2, 2, 566, 540, 3, 2, 2, 2, 566, 541, 3, 2, 2, 2, 566, 542, 3, 2, 2, 2, 566, 543, 3, 2, 2, 2, 566, 544, 3, 2, 2, 2, 566, 545, 3, 2, 2, 2, 566, 546, 3, 2, 2, 2, 566, 547, 3, 2, 2, 2, 566, 548, 3, 2, 2, 2, 566, 549, 3, 2, 2, 2, 566, 550, 3, 2, 2, 2, 566, 551, 3, 2, 2, 2, 566, 552, 3, 2, 2, 2, 566, 553, 3, 2, 2, 2, 566, 554, 3, 2, 2, 2, 566, 555, 3, 2, 2, 2, 566, 556, 3, 2, 2, 2, 566, 557, 3, 2, 2, 2, 566, 558, 3, 2, 2, 2, 566, 559, 3, 2, 2, 2, 566, 560, 3, 2, 2, 2, 566, 561, 3, 2, 2, 2, 566, 562, 3, 2, 2, 2, 566, 563, 3, 2, 2, 2, 566, 564, 3, 2, 2, 2, 566, 565, 3, 2, 2, 2, 567, 15, 3, 2, 2, 2, 568, 569, 9, 2, 2, 2, 569, 17, 3, 2, 2, 2, 570, 572, 7, 17, 2, 2, 571, 573, 5, 20, 11, 2, 572, 571, 3, 2, 2, 2, 573, 574, 3, 2, 2, 2, 574, 572, 3, 2, 2, 2, 574, 575, 3, 2, 2, 2, 575, 19, 3, 2, 2, 2, 576, 577, 7, 18, 2, 2, 577, 578, 7, 19, 2, 2, 578, 579, 7, 20, 2, 2, 579, 580, 5, 4, 3, 2, 580, 581, 10, 3, 2, 2, 581, 21, 3, 2, 2, 2, 582, 583, 7, 21, 2, 2, 583, 23, 3, 2, 2, 2, 584, 585, 6, 13, 3, 2, 585, 586, 5, 384, 193, 2, 586, 25, 3, 2, 2, 2, 587, 588, 7, 22, 2, 2, 588, 601, 5, 254, 128, 2, 589, 591, 7, 22, 2, 2, 590, 589, 3, 2, 2, 2, 590, 591, 3, 2, 2, 2, 591, 592, 3, 2, 2, 2, 592, 597, 5, 28, 15, 2, 593, 594, 7, 23, 2, 2, 594, 596, 5, 28, 15, 2, 595, 593, 3, 2, 2, 2, 596, 599, 3, 2, 2, 2, 597, 595, 3, 2, 2, 2, 597, 598, 3, 2, 2, 2, 598, 601, 3, 2, 2, 2, 599, 597, 3, 2, 2, 2, 600, 587, 3, 2, 2, 2, 600, 590, 3, 2, 2, 2, 601, 27, 3, 2, 2, 2, 602, 606, 5, 30, 16, 2, 603, 606, 5, 32, 17, 2, 604, 606, 5, 34, 18, 2, 605, 602, 3, 2, 2, 2, 605, 603, 3, 2, 2, 2, 605, 604, 3, 2, 2, 2, 606, 29, 3, 2, 2, 2, 607, 609, 5, 440, 221, 2, 608, 610, 7, 24, 2, 2, 609, 608, 3, 2, 2, 2, 609, 610, 3, 2, 2, 2, 610, 611, 3, 2, 2, 2, 611, 612, 7, 25, 2, 2, 612, 613, 5, 384, 193, 2, 613, 624, 3, 2, 2, 2, 614, 615, 7, 26, 2, 2, 615, 616, 5, 440, 221, 2, 616, 618, 7, 27, 2, 2, 617, 619, 7, 24, 2, 2, 618, 617, 3, 2, 2, 2, 618, 619, 3, 2, 2, 2, 619, 620, 3, 2, 2, 2, 620, 621, 7, 25, 2, 2, 621, 622, 5, 384, 193, 2, 622, 624, 3, 2, 2, 2, 623, 607, 3, 2, 2, 2, 623, 614, 3, 2, 2, 2, 624, 31, 3, 2, 2, 2, 625, 626, 7, 26, 2, 2, 626, 631, 5, 440, 221, 2, 627, 628, 7, 23, 2, 2, 628, 630, 5, 440, 221, 2, 629, 627, 3, 2, 2, 2, 630, 633, 3, 2, 2, 2, 631, 629, 3, 2, 2, 2, 631, 632, 3, 2, 2, 2, 632, 634, 3, 2, 2, 2, 633, 631, 3, 2, 2, 2, 634, 636, 7, 27, 2, 2, 635, 637, 7, 24, 2, 2, 636, 635, 3, 2, 2, 2, 636, 637, 3, 2, 2, 2, 637, 638, 3, 2, 2, 2, 638, 639, 7, 25, 2, 2, 639, 640, 7, 26, 2, 2, 640, 645, 5, 384, 193, 2, 641, 642, 7, 23, 2, 2, 642, 644, 5, 384, 193, 2, 643, 641, 3, 2, 2, 2, 644, 647, 3, 2, 2, 2, 645, 643, 3, 2, 2, 2, 645, 646, 3, 2, 2, 2, 646, 648, 3, 2, 2, 2, 647, 645, 3, 2, 2, 2, 648, 649, 7, 27, 2, 2, 649, 33, 3, 2, 2, 2, 650, 663, 5, 440, 221, 2, 651, 652, 7, 26, 2, 2, 652, 657, 5, 440, 221, 2, 653, 654, 7, 23, 2, 2, 654, 656, 5, 440, 221, 2, 655, 653, 3, 2, 2, 2, 656, 659, 3, 2, 2, 2, 657, 655, 3, 2, 2, 2, 657, 658, 3, 2, 2, 2, 658, 660, 3, 2, 2, 2, 659, 657, 3, 2, 2, 2, 660, 661, 7, 27, 2, 2, 661, 663, 3, 2, 2, 2, 662, 650, 3, 2, 2, 2, 662, 651, 3, 2, 2, 2, 663, 665, 3, 2, 2, 2, 664, 666, 7, 24, 2, 2, 665, 664, 3, 2, 2, 2, 665, 666, 3, 2, 2, 2, 666, 667, 3, 2, 2, 2, 667, 668, 7, 25, 2, 2, 668, 669, 7, 26, 2, 2, 669, 670, 5, 282, 142, 2, 670, 671, 7, 27, 2, 2, 671, 35, 3, 2, 2, 2, 672, 673, 7, 28, 2, 2, 673, 674, 5, 440, 221, 2, 674, 675, 7, 29, 2, 2, 675, 679, 7, 30, 2, 2, 676, 677, 7, 31, 2, 2, 677, 680, 7, 22, 2, 2, 678, 680, 7, 32, 2, 2, 679, 676, 3, 2, 2, 2, 679, 678, 3, 2, 2, 2, 680, 681, 3, 2, 2, 2, 681, 682, 5, 440, 221, 2, 682, 37, 3, 2, 2, 2, 683, 686, 7, 33, 2, 2, 684, 685, 7, 31, 2, 2, 685, 687, 7, 22, 2, 2, 686, 684, 3, 2, 2, 2, 686, 687, 3, 2, 2, 2, 687, 688, 3, 2, 2, 2, 688, 689, 9, 4, 2, 2, 689, 690, 7, 26, 2, 2, 690, 695, 5, 440, 221, 2, 691, 692, 7, 23, 2, 2, 692, 694, 5, 440, 221, 2, 693, 691, 3, 2, 2, 2, 694, 697, 3, 2, 2, 2, 695, 693, 3, 2, 2, 2, 695, 696, 3, 2, 2, 2, 696, 698, 3, 2, 2, 2, 697, 695, 3, 2, 2, 2, 698, 699, 7, 27, 2, 2, 699, 700, 7, 36, 2, 2, 700, 701, 7, 32, 2, 2, 701, 702, 5, 440, 221, 2, 702, 39, 3, 2, 2, 2, 703, 704, 7, 14, 2, 2, 704, 705, 7, 37, 2, 2, 705, 41, 3, 2, 2, 2, 706, 707, 7, 38, 2, 2, 707, 43, 3, 2, 2, 2, 708, 709, 7, 39, 2, 2, 709, 716, 5, 440, 221, 2, 710, 712, 7, 26, 2, 2, 711, 713, 5, 416, 209, 2, 712, 711, 3, 2, 2, 2, 712, 713, 3, 2, 2, 2, 713, 714, 3, 2, 2, 2, 714, 717, 7, 27, 2, 2, 715, 717, 5, 416, 209, 2, 716, 710, 3, 2, 2, 2, 716, 715, 3, 2, 2, 2, 716, 717, 3, 2, 2, 2, 717, 45, 3, 2, 2, 2, 718, 719, 7, 40, 2, 2, 719, 724, 5, 52, 27, 2, 720, 721, 7, 23, 2, 2, 721, 723, 5, 52, 27, 2, 722, 720, 3, 2, 2, 2, 723, 726, 3, 2, 2, 2, 724, 722, 3, 2, 2, 2, 724, 725, 3, 2, 2, 2, 725, 47, 3, 2, 2, 2, 726, 724, 3, 2, 2, 2, 727, 728, 7, 40, 2, 2, 728, 729, 5, 52, 27, 2, 729, 735, 7, 15, 2, 2, 730, 731, 5, 52, 27, 2, 731, 732, 7, 15, 2, 2, 732, 734, 3, 2, 2, 2, 733, 730, 3, 2, 2, 2, 734, 737, 3, 2, 2, 2, 735, 733, 3, 2, 2, 2, 735, 736, 3, 2, 2, 2, 736, 49, 3, 2, 2, 2, 737, 735, 3, 2, 2, 2, 738, 739, 5, 52, 27, 2, 739, 745, 7, 15, 2, 2, 740, 741, 5, 52, 27, 2, 741, 742, 7, 15, 2, 2, 742, 744, 3, 2, 2, 2, 743, 740, 3, 2, 2, 2, 744, 747, 3, 2, 2, 2, 745, 743, 3, 2, 2, 2, 745, 746, 3, 2, 2, 2, 746, 51, 3, 2, 2, 2, 747, 745, 3, 2, 2, 2, 748, 754, 5, 58, 30, 2, 749, 754, 5, 56, 29, 2, 750, 754, 5, 64, 33, 2, 751, 754, 5, 54, 28, 2, 752, 754, 5, 66, 34, 2, 753, 748, 3, 2, 2, 2, 753, 749, 3, 2, 2, 2, 753, 750, 3, 2, 2, 2, 753, 751, 3, 2, 2, 2, 753, 752, 3, 2, 2, 2, 754, 53, 3, 2, 2, 2, 755, 760, 5, 440, 221, 2, 756, 757, 7, 23, 2, 2, 757, 759, 5, 440, 221, 2, 758, 756, 3, 2, 2, 2, 759, 762, 3, 2, 2, 2, 760, 758, 3, 2, 2, 2, 760, 761, 3, 2, 2, 2, 761, 764, 3, 2, 2, 2, 762, 760, 3, 2, 2, 2, 763, 765, 7, 41, 2, 2, 764, 763, 3, 2, 2, 2, 764, 765, 3, 2, 2, 2, 765, 766, 3, 2, 2, 2, 766, 768, 5, 120, 61, 2, 767, 769, 5, 122, 62, 2, 768, 767, 3, 2, 2, 2, 768, 769, 3, 2, 2, 2, 769, 773, 3, 2, 2, 2, 770, 772, 5, 124, 63, 2, 771, 770, 3, 2, 2, 2, 772, 775, 3, 2, 2, 2, 773, 771, 3, 2, 2, 2, 773, 774, 3, 2, 2, 2, 774, 777, 3, 2, 2, 2, 775, 773, 3, 2, 2, 2, 776, 778, 5, 126, 64, 2, 777, 776, 3, 2, 2, 2, 777, 778, 3, 2, 2, 2, 778, 791, 3, 2, 2, 2, 779, 780, 5, 440, 221, 2, 780, 782, 7, 42, 2, 2, 781, 783, 7, 41, 2, 2, 782, 781, 3, 2, 2, 2, 782, 783, 3, 2, 2, 2, 783, 784, 3, 2, 2, 2, 784, 786, 5, 120, 61, 2, 785, 787, 5, 122, 62, 2, 786, 785, 3, 2, 2, 2, 786, 787, 3, 2, 2, 2, 787, 788, 3, 2, 2, 2, 788, 789, 5, 126, 64, 2, 789, 791, 3, 2, 2, 2, 790, 755, 3, 2, 2, 2, 790, 779, 3, 2, 2, 2, 791, 55, 3, 2, 2, 2, 792, 793, 5, 440, 221, 2, 793, 794, 7, 43, 2, 2, 794, 57, 3, 2, 2, 2, 795, 796, 7, 29, 2, 2, 796, 801, 5, 440, 221, 2, 797, 798, 5, 440, 221, 2, 798, 799, 7, 29, 2, 2, 799, 801, 3, 2, 2, 2, 800, 795, 3, 2, 2, 2, 800, 797, 3, 2, 2, 2, 801, 804, 3, 2, 2, 2, 802, 805, 5, 60, 31, 2, 803, 805, 5, 62, 32, 2, 804, 802, 3, 2, 2, 2, 804, 803, 3, 2, 2, 2, 804, 805, 3, 2, 2, 2, 805, 806, 3, 2, 2, 2, 806, 809, 9, 5, 2, 2, 807, 810, 5, 282, 142, 2, 808, 810, 5, 384, 193, 2, 809, 807, 3, 2, 2, 2, 809, 808, 3, 2, 2, 2, 810, 59, 3, 2, 2, 2, 811, 812, 7, 36, 2, 2, 812, 814, 7, 45, 2, 2, 813, 815, 7, 46, 2, 2, 814, 813, 3, 2, 2, 2, 814, 815, 3, 2, 2, 2, 815, 818, 3, 2, 2, 2, 816, 817, 7, 47, 2, 2, 817, 819, 9, 6, 2, 2, 818, 816, 3, 2, 2, 2, 818, 819, 3, 2, 2, 2, 819, 61, 3, 2, 2, 2, 820, 821, 7, 50, 2, 2, 821, 822, 7, 45, 2, 2, 822, 63, 3, 2, 2, 2, 823, 824, 9, 7, 2, 2, 824, 825, 7, 53, 2, 2, 825, 831, 7, 30, 2, 2, 826, 832, 7, 54, 2, 2, 827, 832, 7, 55, 2, 2, 828, 829, 7, 56, 2, 2, 829, 832, 7, 57, 2, 2, 830, 832, 5, 440, 221, 2, 831, 826, 3, 2, 2, 2, 831, 827, 3, 2, 2, 2, 831, 828, 3, 2, 2, 2, 831, 830, 3, 2, 2, 2, 832, 833, 3, 2, 2, 2, 833, 834, 5, 8, 5, 2, 834, 65, 3, 2, 2, 2, 835, 837, 7, 58, 2, 2, 836, 835, 3, 2, 2, 2, 836, 837, 3, 2, 2, 2, 837, 838, 3, 2, 2, 2, 838, 839, 7, 59, 2, 2, 839, 840, 7, 60, 2, 2, 840, 842, 5, 440, 221, 2, 841, 843, 5, 86, 44, 2, 842, 841, 3, 2, 2, 2, 842, 843, 3, 2, 2, 2, 843, 844, 3, 2, 2, 2, 844, 845, 5, 72, 37, 2, 845, 67, 3, 2, 2, 2, 846, 847, 7, 61, 2, 2, 847, 851, 7, 60, 2, 2, 848, 849, 7, 62, 2, 2, 849, 850, 7, 56, 2, 2, 850, 852, 7, 63, 2, 2, 851, 848, 3, 2, 2, 2, 851, 852, 3, 2, 2, 2, 852, 853, 3, 2, 2, 2, 853, 855, 5, 330, 166, 2, 854, 856, 5, 86, 44, 2, 855, 854, 3, 2, 2, 2, 855, 856, 3, 2, 2, 2, 856, 857, 3, 2, 2, 2, 857, 858, 5, 72, 37, 2, 858, 69, 3, 2, 2, 2, 859, 866, 7, 61, 2, 2, 860, 861, 7, 64, 2, 2, 861, 867, 7, 59, 2, 2, 862, 864, 9, 8, 2, 2, 863, 862, 3, 2, 2, 2, 863, 864, 3, 2, 2, 2, 864, 865, 3, 2, 2, 2, 865, 867, 7, 66, 2, 2, 866, 860, 3, 2, 2, 2, 866, 863, 3, 2, 2, 2, 867, 868, 3, 2, 2, 2, 868, 869, 7, 60, 2, 2, 869, 871, 5, 440, 221, 2, 870, 872, 5, 86, 44, 2, 871, 870, 3, 2, 2, 2, 871, 872, 3, 2, 2, 2, 872, 873, 3, 2, 2, 2, 873, 874, 5, 72, 37, 2, 874, 71, 3, 2, 2, 2, 875, 877, 7, 41, 2, 2, 876, 875, 3, 2, 2, 2, 876, 877, 3, 2, 2, 2, 877, 878, 3, 2, 2, 2, 878, 879, 7, 26, 2, 2, 879, 880, 5, 282, 142, 2, 880, 881, 7, 27, 2, 2, 881, 893, 3, 2, 2, 2, 882, 884, 7, 41, 2, 2, 883, 882, 3, 2, 2, 2, 883, 884, 3, 2, 2, 2, 884, 885, 3, 2, 2, 2, 885, 893, 5, 282, 142, 2, 886, 887, 7, 26, 2, 2, 887, 888, 5, 74, 38, 2, 888, 889, 7, 27, 2, 2, 889, 893, 3, 2, 2, 2, 890, 891, 7, 67, 2, 2, 891, 893, 5, 330, 166, 2, 892, 876, 3, 2, 2, 2, 892, 883, 3, 2, 2, 2, 892, 886, 3, 2, 2, 2, 892, 890, 3, 2, 2, 2, 893, 895, 3, 2, 2, 2, 894, 896, 5, 92, 47, 2, 895, 894, 3, 2, 2, 2, 895, 896, 3, 2, 2, 2, 896, 73, 3, 2, 2, 2, 897, 902, 5, 76, 39, 2, 898, 899, 7, 23, 2, 2, 899, 901, 5, 76, 39, 2, 900, 898, 3, 2, 2, 2, 901, 904, 3, 2, 2, 2, 902, 900, 3, 2, 2, 2, 902, 903, 3, 2, 2, 2, 903, 75, 3, 2, 2, 2, 904, 902, 3, 2, 2, 2, 905, 906, 5, 78, 40, 2, 906, 908, 5, 120, 61, 2, 907, 909, 5, 122, 62, 2, 908, 907, 3, 2, 2, 2, 908, 909, 3, 2, 2, 2, 909, 913, 3, 2, 2, 2, 910, 912, 5, 124, 63, 2, 911, 910, 3, 2, 2, 2, 912, 915, 3, 2, 2, 2, 913, 911, 3, 2, 2, 2, 913, 914, 3, 2, 2, 2, 914, 919, 3, 2, 2, 2, 915, 913, 3, 2, 2, 2, 916, 918, 5, 80, 41, 2, 917, 916, 3, 2, 2, 2, 918, 921, 3, 2, 2, 2, 919, 917, 3, 2, 2, 2, 919, 920, 3, 2, 2, 2, 920, 928, 3, 2, 2, 2, 921, 919, 3, 2, 2, 2, 922, 923, 7, 68, 2, 2, 923, 925, 5, 440, 221, 2, 924, 922, 3, 2, 2, 2, 924, 925, 3, 2, 2, 2, 925, 926, 3, 2, 2, 2, 926, 928, 5, 82, 42, 2, 927, 905, 3, 2, 2, 2, 927, 924, 3, 2, 2, 2, 928, 77, 3, 2, 2, 2, 929, 930, 5, 440, 221, 2, 930, 79, 3, 2, 2, 2, 931, 964, 5, 126, 64, 2, 932, 934, 7, 56, 2, 2, 933, 932, 3, 2, 2, 2, 933, 934, 3, 2, 2, 2, 934, 935, 3, 2, 2, 2, 935, 964, 7, 21, 2, 2, 936, 937, 7, 69, 2, 2, 937, 964, 7, 70, 2, 2, 938, 964, 7, 71, 2, 2, 939, 940, 7, 72, 2, 2, 940, 941, 5, 330, 166, 2, 941, 942, 7, 26, 2, 2, 942, 943, 5, 440, 221, 2, 943, 947, 7, 27, 2, 2, 944, 946, 5, 84, 43, 2, 945, 944, 3, 2, 2, 2, 946, 949, 3, 2, 2, 2, 947, 945, 3, 2, 2, 2, 947, 948, 3, 2, 2, 2, 948, 964, 3, 2, 2, 2, 949, 947, 3, 2, 2, 2, 950, 951, 7, 73, 2, 2, 951, 952, 7, 26, 2, 2, 952, 957, 7, 74, 2, 2, 953, 954, 7, 23, 2, 2, 954, 956, 7, 74, 2, 2, 955, 953, 3, 2, 2, 2, 956, 959, 3, 2, 2, 2, 957, 955, 3, 2, 2, 2, 957, 958, 3, 2, 2, 2, 958, 960, 3, 2, 2, 2, 959, 957, 3, 2, 2, 2, 960, 964, 7, 27, 2, 2, 961, 964, 7, 75, 2, 2, 962, 964, 7, 76, 2, 2, 963, 931, 3, 2, 2, 2, 963, 933, 3, 2, 2, 2, 963, 936, 3, 2, 2, 2, 963, 938, 3, 2, 2, 2, 963, 939, 3, 2, 2, 2, 963, 950, 3, 2, 2, 2, 963, 961, 3, 2, 2, 2, 963, 962, 3, 2, 2, 2, 964, 81, 3, 2, 2, 2, 965, 966, 7, 69, 2, 2, 966, 968, 7, 70, 2, 2, 967, 969, 7, 77, 2, 2, 968, 967, 3, 2, 2, 2, 968, 969, 3, 2, 2, 2, 969, 970, 3, 2, 2, 2, 970, 971, 7, 26, 2, 2, 971, 973, 5, 440, 221, 2, 972, 974, 9, 9, 2, 2, 973, 972, 3, 2, 2, 2, 973, 974, 3, 2, 2, 2, 974, 982, 3, 2, 2, 2, 975, 976, 7, 23, 2, 2, 976, 978, 5, 440, 221, 2, 977, 979, 9, 9, 2, 2, 978, 977, 3, 2, 2, 2, 978, 979, 3, 2, 2, 2, 979, 981, 3, 2, 2, 2, 980, 975, 3, 2, 2, 2, 981, 984, 3, 2, 2, 2, 982, 980, 3, 2, 2, 2, 982, 983, 3, 2, 2, 2, 983, 985, 3, 2, 2, 2, 984, 982, 3, 2, 2, 2, 985, 987, 7, 27, 2, 2, 986, 988, 7, 76, 2, 2, 987, 986, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 990, 3, 2, 2, 2, 989, 991, 5, 238, 120, 2, 990, 989, 3, 2, 2, 2, 990, 991, 3, 2, 2, 2, 991, 1023, 3, 2, 2, 2, 992, 993, 7, 80, 2, 2, 993, 994, 7, 70, 2, 2, 994, 995, 7, 26, 2, 2, 995, 1000, 5, 440, 221, 2, 996, 997, 7, 23, 2, 2, 997, 999, 5, 440, 221, 2, 998, 996, 3, 2, 2, 2, 999, 1002, 3, 2, 2, 2, 1000, 998, 3, 2, 2, 2, 1000, 1001, 3, 2, 2, 2, 1001, 1003, 3, 2, 2, 2, 1002, 1000, 3, 2, 2, 2, 1003, 1004, 7, 27, 2, 2, 1004, 1005, 7, 72, 2, 2, 1005, 1006, 5, 330, 166, 2, 1006, 1007, 7, 26, 2, 2, 1007, 1012, 5, 440, 221, 2, 1008, 1009, 7, 23, 2, 2, 1009, 1011, 5, 440, 221, 2, 1010, 1008, 3, 2, 2, 2, 1011, 1014, 3, 2, 2, 2, 1012, 1010, 3, 2, 2, 2, 1012, 1013, 3, 2, 2, 2, 1013, 1015, 3, 2, 2, 2, 1014, 1012, 3, 2, 2, 2, 1015, 1019, 7, 27, 2, 2, 1016, 1018, 5, 84, 43, 2, 1017, 1016, 3, 2, 2, 2, 1018, 1021, 3, 2, 2, 2, 1019, 1017, 3, 2, 2, 2, 1019, 1020, 3, 2, 2, 2, 1020, 1023, 3, 2, 2, 2, 1021, 1019, 3, 2, 2, 2, 1022, 965, 3, 2, 2, 2, 1022, 992, 3, 2, 2, 2, 1023, 83, 3, 2, 2, 2, 1024, 1025, 7, 81, 2, 2, 1025, 1034, 9, 10, 2, 2, 1026, 1027, 7, 84, 2, 2, 1027, 1035, 7, 85, 2, 2, 1028, 1035, 7, 86, 2, 2, 1029, 1030, 7, 22, 2, 2, 1030, 1035, 7, 21, 2, 2, 1031, 1032, 7, 22, 2, 2, 1032, 1035, 7, 87, 2, 2, 1033, 1035, 7, 88, 2, 2, 1034, 1026, 3, 2, 2, 2, 1034, 1028, 3, 2, 2, 2, 1034, 1029, 3, 2, 2, 2, 1034, 1031, 3, 2, 2, 2, 1034, 1033, 3, 2, 2, 2, 1035, 85, 3, 2, 2, 2, 1036, 1038, 5, 88, 45, 2, 1037, 1036, 3, 2, 2, 2, 1038, 1039, 3, 2, 2, 2, 1039, 1037, 3, 2, 2, 2, 1039, 1040, 3, 2, 2, 2, 1040, 87, 3, 2, 2, 2, 1041, 1042, 7, 23, 2, 2, 1042, 1045, 5, 90, 46, 2, 1043, 1045, 5, 102, 52, 2, 1044, 1041, 3, 2, 2, 2, 1044, 1043, 3, 2, 2, 2, 1045, 89, 3, 2, 2, 2, 1046, 1048, 7, 84, 2, 2, 1047, 1046, 3, 2, 2, 2, 1047, 1048, 3, 2, 2, 2, 1048, 1049, 3, 2, 2, 2, 1049, 1050, 9, 11, 2, 2, 1050, 91, 3, 2, 2, 2, 1051, 1053, 5, 94, 48, 2, 1052, 1051, 3, 2, 2, 2, 1053, 1054, 3, 2, 2, 2, 1054, 1052, 3, 2, 2, 2, 1054, 1055, 3, 2, 2, 2, 1055, 93, 3, 2, 2, 2, 1056, 1057, 7, 81, 2, 2, 1057, 1058, 7, 91, 2, 2, 1058, 1059, 9, 12, 2, 2, 1059, 1067, 7, 93, 2, 2, 1060, 1067, 5, 96, 49, 2, 1061, 1067, 5, 98, 50, 2, 1062, 1067, 5, 100, 51, 2, 1063, 1067, 5, 102, 52, 2, 1064, 1067, 5, 108, 55, 2, 1065, 1067, 5, 110, 56, 2, 1066, 1056, 3, 2, 2, 2, 1066, 1060, 3, 2, 2, 2, 1066, 1061, 3, 2, 2, 2, 1066, 1062, 3, 2, 2, 2, 1066, 1063, 3, 2, 2, 2, 1066, 1064, 3, 2, 2, 2, 1066, 1065, 3, 2, 2, 2, 1067, 95, 3, 2, 2, 2, 1068, 1069, 7, 94, 2, 2, 1069, 1070, 7, 95, 2, 2, 1070, 1087, 9, 13, 2, 2, 1071, 1072, 9, 14, 2, 2, 1072, 1087, 7, 74, 2, 2, 1073, 1087, 7, 102, 2, 2, 1074, 1087, 9, 15, 2, 2, 1075, 1076, 7, 105, 2, 2, 1076, 1079, 7, 26, 2, 2, 1077, 1080, 5, 440, 221, 2, 1078, 1080, 7, 74, 2, 2, 1079, 1077, 3, 2, 2, 2, 1079, 1078, 3, 2, 2, 2, 1080, 1081, 3, 2, 2, 2, 1081, 1079, 3, 2, 2, 2, 1081, 1082, 3, 2, 2, 2, 1082, 1083, 3, 2, 2, 2, 1083, 1087, 7, 27, 2, 2, 1084, 1085, 7, 106, 2, 2, 1085, 1087, 5, 440, 221, 2, 1086, 1068, 3, 2, 2, 2, 1086, 1071, 3, 2, 2, 2, 1086, 1073, 3, 2, 2, 2, 1086, 1074, 3, 2, 2, 2, 1086, 1075, 3, 2, 2, 2, 1086, 1084, 3, 2, 2, 2, 1087, 97, 3, 2, 2, 2, 1088, 1090, 7, 107, 2, 2, 1089, 1088, 3, 2, 2, 2, 1089, 1090, 3, 2, 2, 2, 1090, 1091, 3, 2, 2, 2, 1091, 1092, 7, 108, 2, 2, 1092, 1122, 5, 440, 221, 2, 1093, 1094, 7, 36, 2, 2, 1094, 1122, 7, 109, 2, 2, 1095, 1096, 7, 110, 2, 2, 1096, 1097, 7, 111, 2, 2, 1097, 1098, 7, 112, 2, 2, 1098, 1099, 7, 26, 2, 2, 1099, 1104, 5, 440, 221, 2, 1100, 1101, 7, 23, 2, 2, 1101, 1103, 5, 440, 221, 2, 1102, 1100, 3, 2, 2, 2, 1103, 1106, 3, 2, 2, 2, 1104, 1102, 3, 2, 2, 2, 1104, 1105, 3, 2, 2, 2, 1105, 1107, 3, 2, 2, 2, 1106, 1104, 3, 2, 2, 2, 1107, 1108, 7, 27, 2, 2, 1108, 1122, 3, 2, 2, 2, 1109, 1111, 7, 56, 2, 2, 1110, 1109, 3, 2, 2, 2, 1110, 1111, 3, 2, 2, 2, 1111, 1112, 3, 2, 2, 2, 1112, 1122, 7, 113, 2, 2, 1113, 1114, 7, 114, 2, 2, 1114, 1122, 9, 16, 2, 2, 1115, 1116, 7, 116, 2, 2, 1116, 1122, 7, 46, 2, 2, 1117, 1118, 7, 36, 2, 2, 1118, 1119, 7, 86, 2, 2, 1119, 1120, 7, 81, 2, 2, 1120, 1122, 7, 117, 2, 2, 1121, 1089, 3, 2, 2, 2, 1121, 1093, 3, 2, 2, 2, 1121, 1095, 3, 2, 2, 2, 1121, 1110, 3, 2, 2, 2, 1121, 1113, 3, 2, 2, 2, 1121, 1115, 3, 2, 2, 2, 1121, 1117, 3, 2, 2, 2, 1122, 99, 3, 2, 2, 2, 1123, 1125, 7, 71, 2, 2, 1124, 1123, 3, 2, 2, 2, 1124, 1125, 3, 2, 2, 2, 1125, 1126, 3, 2, 2, 2, 1126, 1127, 7, 69, 2, 2, 1127, 1128, 7, 107, 2, 2, 1128, 1129, 7, 26, 2, 2, 1129, 1134, 5, 440, 221, 2, 1130, 1131, 7, 23, 2, 2, 1131, 1133, 5, 440, 221, 2, 1132, 1130, 3, 2, 2, 2, 1133, 1136, 3, 2, 2, 2, 1134, 1132, 3, 2, 2, 2, 1134, 1135, 3, 2, 2, 2, 1135, 1137, 3, 2, 2, 2, 1136, 1134, 3, 2, 2, 2, 1137, 1138, 7, 27, 2, 2, 1138, 1142, 3, 2, 2, 2, 1139, 1140, 7, 36, 2, 2, 1140, 1142, 7, 118, 2, 2, 1141, 1124, 3, 2, 2, 2, 1141, 1139, 3, 2, 2, 2, 1142, 101, 3, 2, 2, 2, 1143, 1148, 5, 104, 53, 2, 1144, 1145, 7, 119, 2, 2, 1145, 1146, 7, 41, 2, 2, 1146, 1148, 5, 440, 221, 2, 1147, 1143, 3, 2, 2, 2, 1147, 1144, 3, 2, 2, 2, 1148, 103, 3, 2, 2, 2, 1149, 1150, 7, 120, 2, 2, 1150, 1151, 7, 121, 2, 2, 1151, 1155, 7, 122, 2, 2, 1152, 1154, 5, 106, 54, 2, 1153, 1152, 3, 2, 2, 2, 1154, 1157, 3, 2, 2, 2, 1155, 1153, 3, 2, 2, 2, 1155, 1156, 3, 2, 2, 2, 1156, 105, 3, 2, 2, 2, 1157, 1155, 3, 2, 2, 2, 1158, 1159, 7, 123, 2, 2, 1159, 1160, 7, 124, 2, 2, 1160, 1161, 7, 111, 2, 2, 1161, 1165, 5, 384, 193, 2, 1162, 1163, 7, 125, 2, 2, 1163, 1164, 7, 111, 2, 2, 1164, 1166, 5, 384, 193, 2, 1165, 1162, 3, 2, 2, 2, 1165, 1166, 3, 2, 2, 2, 1166, 1186, 3, 2, 2, 2, 1167, 1168, 7, 126, 2, 2, 1168, 1169, 7, 127, 2, 2, 1169, 1170, 7, 124, 2, 2, 1170, 1171, 7, 111, 2, 2, 1171, 1186, 5, 384, 193, 2, 1172, 1173, 7, 128, 2, 2, 1173, 1174, 7, 129, 2, 2, 1174, 1175, 7, 124, 2, 2, 1175, 1176, 7, 111, 2, 2, 1176, 1186, 5, 384, 193, 2, 1177, 1178, 7, 130, 2, 2, 1178, 1179, 7, 124, 2, 2, 1179, 1180, 7, 111, 2, 2, 1180, 1186, 5, 384, 193, 2, 1181, 1182, 7, 21, 2, 2, 1182, 1183, 7, 131, 2, 2, 1183, 1184, 7, 41, 2, 2, 1184, 1186, 5, 384, 193, 2, 1185, 1158, 3, 2, 2, 2, 1185, 1167, 3, 2, 2, 2, 1185, 1172, 3, 2, 2, 2, 1185, 1177, 3, 2, 2, 2, 1185, 1181, 3, 2, 2, 2, 1186, 107, 3, 2, 2, 2, 1187, 1188, 7, 81, 2, 2, 1188, 1192, 5, 440, 221, 2, 1189, 1190, 7, 132, 2, 2, 1190, 1192, 5, 440, 221, 2, 1191, 1187, 3, 2, 2, 2, 1191, 1189, 3, 2, 2, 2, 1192, 109, 3, 2, 2, 2, 1193, 1195, 7, 75, 2, 2, 1194, 1196, 7, 25, 2, 2, 1195, 1194, 3, 2, 2, 2, 1195, 1196, 3, 2, 2, 2, 1196, 1197, 3, 2, 2, 2, 1197, 1221, 5, 384, 193, 2, 1198, 1200, 7, 133, 2, 2, 1199, 1201, 7, 25, 2, 2, 1200, 1199, 3, 2, 2, 2, 1200, 1201, 3, 2, 2, 2, 1201, 1202, 3, 2, 2, 2, 1202, 1221, 5, 384, 193, 2, 1203, 1205, 7, 87, 2, 2, 1204, 1203, 3, 2, 2, 2, 1204, 1205, 3, 2, 2, 2, 1205, 1209, 3, 2, 2, 2, 1206, 1207, 7, 134, 2, 2, 1207, 1210, 7, 22, 2, 2, 1208, 1210, 7, 135, 2, 2, 1209, 1206, 3, 2, 2, 2, 1209, 1208, 3, 2, 2, 2, 1210, 1212, 3, 2, 2, 2, 1211, 1213, 7, 25, 2, 2, 1212, 1211, 3, 2, 2, 2, 1212, 1213, 3, 2, 2, 2, 1213, 1214, 3, 2, 2, 2, 1214, 1221, 5, 384, 193, 2, 1215, 1217, 7, 136, 2, 2, 1216, 1218, 7, 25, 2, 2, 1217, 1216, 3, 2, 2, 2, 1217, 1218, 3, 2, 2, 2, 1218, 1219, 3, 2, 2, 2, 1219, 1221, 5, 384, 193, 2, 1220, 1193, 3, 2, 2, 2, 1220, 1198, 3, 2, 2, 2, 1220, 1204, 3, 2, 2, 2, 1220, 1215, 3, 2, 2, 2, 1221, 111, 3, 2, 2, 2, 1222, 1223, 7, 137, 2, 2, 1223, 1224, 7, 60, 2, 2, 1224, 1225, 5, 330, 166, 2, 1225, 1226, 5, 114, 58, 2, 1226, 113, 3, 2, 2, 2, 1227, 1228, 5, 116, 59, 2, 1228, 115, 3, 2, 2, 2, 1229, 1232, 7, 138, 2, 2, 1230, 1231, 7, 68, 2, 2, 1231, 1233, 5, 440, 221, 2, 1232, 1230, 3, 2, 2, 2, 1232, 1233, 3, 2, 2, 2, 1233, 1234, 3, 2, 2, 2, 1234, 1235, 5, 118, 60, 2, 1235, 117, 3, 2, 2, 2, 1236, 1237, 7, 69, 2, 2, 1237, 1239, 7, 70, 2, 2, 1238, 1240, 7, 77, 2, 2, 1239, 1238, 3, 2, 2, 2, 1239, 1240, 3, 2, 2, 2, 1240, 1241, 3, 2, 2, 2, 1241, 1242, 7, 26, 2, 2, 1242, 1244, 5, 440, 221, 2, 1243, 1245, 9, 9, 2, 2, 1244, 1243, 3, 2, 2, 2, 1244, 1245, 3, 2, 2, 2, 1245, 1253, 3, 2, 2, 2, 1246, 1247, 7, 23, 2, 2, 1247, 1249, 5, 440, 221, 2, 1248, 1250, 9, 9, 2, 2, 1249, 1248, 3, 2, 2, 2, 1249, 1250, 3, 2, 2, 2, 1250, 1252, 3, 2, 2, 2, 1251, 1246, 3, 2, 2, 2, 1252, 1255, 3, 2, 2, 2, 1253, 1251, 3, 2, 2, 2, 1253, 1254, 3, 2, 2, 2, 1254, 1256, 3, 2, 2, 2, 1255, 1253, 3, 2, 2, 2, 1256, 1258, 7, 27, 2, 2, 1257, 1259, 7, 76, 2, 2, 1258, 1257, 3, 2, 2, 2, 1258, 1259, 3, 2, 2, 2, 1259, 1261, 3, 2, 2, 2, 1260, 1262, 5, 238, 120, 2, 1261, 1260, 3, 2, 2, 2, 1261, 1262, 3, 2, 2, 2, 1262, 1299, 3, 2, 2, 2, 1263, 1264, 7, 80, 2, 2, 1264, 1265, 7, 70, 2, 2, 1265, 1266, 7, 26, 2, 2, 1266, 1271, 5, 440, 221, 2, 1267, 1268, 7, 23, 2, 2, 1268, 1270, 5, 440, 221, 2, 1269, 1267, 3, 2, 2, 2, 1270, 1273, 3, 2, 2, 2, 1271, 1269, 3, 2, 2, 2, 1271, 1272, 3, 2, 2, 2, 1272, 1274, 3, 2, 2, 2, 1273, 1271, 3, 2, 2, 2, 1274, 1275, 7, 27, 2, 2, 1275, 1276, 7, 72, 2, 2, 1276, 1277, 5, 330, 166, 2, 1277, 1278, 7, 26, 2, 2, 1278, 1283, 5, 440, 221, 2, 1279, 1280, 7, 23, 2, 2, 1280, 1282, 5, 440, 221, 2, 1281, 1279, 3, 2, 2, 2, 1282, 1285, 3, 2, 2, 2, 1283, 1281, 3, 2, 2, 2, 1283, 1284, 3, 2, 2, 2, 1284, 1286, 3, 2, 2, 2, 1285, 1283, 3, 2, 2, 2, 1286, 1290, 7, 27, 2, 2, 1287, 1289, 5, 84, 43, 2, 1288, 1287, 3, 2, 2, 2, 1289, 1292, 3, 2, 2, 2, 1290, 1288, 3, 2, 2, 2, 1290, 1291, 3, 2, 2, 2, 1291, 1299, 3, 2, 2, 2, 1292, 1290, 3, 2, 2, 2, 1293, 1294, 7, 87, 2, 2, 1294, 1295, 5, 384, 193, 2, 1295, 1296, 7, 30, 2, 2, 1296, 1297, 5, 440, 221, 2, 1297, 1299, 3, 2, 2, 2, 1298, 1236, 3, 2, 2, 2, 1298, 1263, 3, 2, 2, 2, 1298, 1293, 3, 2, 2, 2, 1299, 119, 3, 2, 2, 2, 1300, 1347, 7, 139, 2, 2, 1301, 1347, 7, 134, 2, 2, 1302, 1347, 7, 140, 2, 2, 1303, 1347, 7, 141, 2, 2, 1304, 1347, 7, 142, 2, 2, 1305, 1347, 7, 143, 2, 2, 1306, 1347, 7, 144, 2, 2, 1307, 1347, 7, 145, 2, 2, 1308, 1347, 7, 146, 2, 2, 1309, 1347, 7, 147, 2, 2, 1310, 1347, 7, 148, 2, 2, 1311, 1313, 7, 149, 2, 2, 1312, 1314, 7, 150, 2, 2, 1313, 1312, 3, 2, 2, 2, 1313, 1314, 3, 2, 2, 2, 1314, 1347, 3, 2, 2, 2, 1315, 1347, 7, 151, 2, 2, 1316, 1347, 7, 152, 2, 2, 1317, 1347, 7, 153, 2, 2, 1318, 1347, 7, 154, 2, 2, 1319, 1347, 7, 155, 2, 2, 1320, 1347, 7, 156, 2, 2, 1321, 1347, 7, 157, 2, 2, 1322, 1347, 7, 158, 2, 2, 1323, 1347, 7, 159, 2, 2, 1324, 1347, 7, 160, 2, 2, 1325, 1347, 7, 161, 2, 2, 1326, 1347, 7, 162, 2, 2, 1327, 1328, 7, 163, 2, 2, 1328, 1347, 7, 164, 2, 2, 1329, 1347, 7, 165, 2, 2, 1330, 1347, 7, 166, 2, 2, 1331, 1347, 7, 167, 2, 2, 1332, 1347, 7, 168, 2, 2, 1333, 1347, 7, 169, 2, 2, 1334, 1347, 7, 170, 2, 2, 1335, 1347, 7, 171, 2, 2, 1336, 1347, 7, 172, 2, 2, 1337, 1347, 7, 173, 2, 2, 1338, 1347, 7, 174, 2, 2, 1339, 1347, 7, 175, 2, 2, 1340, 1347, 7, 176, 2, 2, 1341, 1344, 5, 440, 221, 2, 1342, 1343, 7, 6, 2, 2, 1343, 1345, 9, 17, 2, 2, 1344, 1342, 3, 2, 2, 2, 1344, 1345, 3, 2, 2, 2, 1345, 1347, 3, 2, 2, 2, 1346, 1300, 3, 2, 2, 2, 1346, 1301, 3, 2, 2, 2, 1346, 1302, 3, 2, 2, 2, 1346, 1303, 3, 2, 2, 2, 1346, 1304, 3, 2, 2, 2, 1346, 1305, 3, 2, 2, 2, 1346, 1306, 3, 2, 2, 2, 1346, 1307, 3, 2, 2, 2, 1346, 1308, 3, 2, 2, 2, 1346, 1309, 3, 2, 2, 2, 1346, 1310, 3, 2, 2, 2, 1346, 1311, 3, 2, 2, 2, 1346, 1315, 3, 2, 2, 2, 1346, 1316, 3, 2, 2, 2, 1346, 1317, 3, 2, 2, 2, 1346, 1318, 3, 2, 2, 2, 1346, 1319, 3, 2, 2, 2, 1346, 1320, 3, 2, 2, 2, 1346, 1321, 3, 2, 2, 2, 1346, 1322, 3, 2, 2, 2, 1346, 1323, 3, 2, 2, 2, 1346, 1324, 3, 2, 2, 2, 1346, 1325, 3, 2, 2, 2, 1346, 1326, 3, 2, 2, 2, 1346, 1327, 3, 2, 2, 2, 1346, 1329, 3, 2, 2, 2, 1346, 1330, 3, 2, 2, 2, 1346, 1331, 3, 2, 2, 2, 1346, 1332, 3, 2, 2, 2, 1346, 1333, 3, 2, 2, 2, 1346, 1334, 3, 2, 2, 2, 1346, 1335, 3, 2, 2, 2, 1346, 1336, 3, 2, 2, 2, 1346, 1337, 3, 2, 2, 2, 1346, 1338, 3, 2, 2, 2, 1346, 1339, 3, 2, 2, 2, 1346, 1340, 3, 2, 2, 2, 1346, 1341, 3, 2, 2, 2, 1347, 121, 3, 2, 2, 2, 1348, 1349, 7, 26, 2, 2, 1349, 1351, 9, 18, 2, 2, 1350, 1352, 9, 19, 2, 2, 1351, 1350, 3, 2, 2, 2, 1351, 1352, 3, 2, 2, 2, 1352, 1355, 3, 2, 2, 2, 1353, 1354, 7, 23, 2, 2, 1354, 1356, 7, 74, 2, 2, 1355, 1353, 3, 2, 2, 2, 1355, 1356, 3, 2, 2, 2, 1356, 1357, 3, 2, 2, 2, 1357, 1358, 7, 27, 2, 2, 1358, 123, 3, 2, 2, 2, 1359, 1361, 7, 56, 2, 2, 1360, 1359, 3, 2, 2, 2, 1360, 1361, 3, 2, 2, 2, 1361, 1362, 3, 2, 2, 2, 1362, 1371, 7, 21, 2, 2, 1363, 1364, 7, 134, 2, 2, 1364, 1365, 7, 22, 2, 2, 1365, 1371, 5, 440, 221, 2, 1366, 1368, 7, 56, 2, 2, 1367, 1366, 3, 2, 2, 2, 1367, 1368, 3, 2, 2, 2, 1368, 1369, 3, 2, 2, 2, 1369, 1371, 9, 20, 2, 2, 1370, 1360, 3, 2, 2, 2, 1370, 1363, 3, 2, 2, 2, 1370, 1367, 3, 2, 2, 2, 1371, 125, 3, 2, 2, 2, 1372, 1374, 7, 24, 2, 2, 1373, 1372, 3, 2, 2, 2, 1373, 1374, 3, 2, 2, 2, 1374, 1375, 3, 2, 2, 2, 1375, 1376, 7, 25, 2, 2, 1376, 1385, 5, 384, 193, 2, 1377, 1379, 7, 36, 2, 2, 1378, 1377, 3, 2, 2, 2, 1378, 1379, 3, 2, 2, 2, 1379, 1380, 3, 2, 2, 2, 1380, 1382, 7, 87, 2, 2, 1381, 1383, 5, 384, 193, 2, 1382, 1381, 3, 2, 2, 2, 1382, 1383, 3, 2, 2, 2, 1383, 1385, 3, 2, 2, 2, 1384, 1373, 3, 2, 2, 2, 1384, 1378, 3, 2, 2, 2, 1385, 127, 3, 2, 2, 2, 1386, 1387, 7, 61, 2, 2, 1387, 1391, 9, 21, 2, 2, 1388, 1389, 7, 62, 2, 2, 1389, 1390, 7, 56, 2, 2, 1390, 1392, 7, 63, 2, 2, 1391, 1388, 3, 2, 2, 2, 1391, 1392, 3, 2, 2, 2, 1392, 1393, 3, 2, 2, 2, 1393, 1397, 5, 384, 193, 2, 1394, 1396, 5, 130, 66, 2, 1395, 1394, 3, 2, 2, 2, 1396, 1399, 3, 2, 2, 2, 1397, 1395, 3, 2, 2, 2, 1397, 1398, 3, 2, 2, 2, 1398, 129, 3, 2, 2, 2, 1399, 1397, 3, 2, 2, 2, 1400, 1401, 7, 133, 2, 2, 1401, 1405, 5, 384, 193, 2, 1402, 1403, 7, 185, 2, 2, 1403, 1405, 5, 384, 193, 2, 1404, 1400, 3, 2, 2, 2, 1404, 1402, 3, 2, 2, 2, 1405, 131, 3, 2, 2, 2, 1406, 1414, 7, 137, 2, 2, 1407, 1410, 7, 61, 2, 2, 1408, 1409, 7, 186, 2, 2, 1409, 1411, 7, 109, 2, 2, 1410, 1408, 3, 2, 2, 2, 1410, 1411, 3, 2, 2, 2, 1411, 1414, 3, 2, 2, 2, 1412, 1414, 7, 109, 2, 2, 1413, 1406, 3, 2, 2, 2, 1413, 1407, 3, 2, 2, 2, 1413, 1412, 3, 2, 2, 2, 1413, 1414, 3, 2, 2, 2, 1414, 1415, 3, 2, 2, 2, 1415, 1416, 7, 187, 2, 2, 1416, 1418, 5, 440, 221, 2, 1417, 1419, 5, 150, 76, 2, 1418, 1417, 3, 2, 2, 2, 1418, 1419, 3, 2, 2, 2, 1419, 1420, 3, 2, 2, 2, 1420, 1422, 5, 134, 68, 2, 1421, 1423, 9, 22, 2, 2, 1422, 1421, 3, 2, 2, 2, 1422, 1423, 3, 2, 2, 2, 1423, 1425, 3, 2, 2, 2, 1424, 1426, 5, 50, 26, 2, 1425, 1424, 3, 2, 2, 2, 1425, 1426, 3, 2, 2, 2, 1426, 1427, 3, 2, 2, 2, 1427, 1428, 5, 8, 5, 2, 1428, 133, 3, 2, 2, 2, 1429, 1430, 9, 23, 2, 2, 1430, 1432, 5, 120, 61, 2, 1431, 1433, 5, 122, 62, 2, 1432, 1431, 3, 2, 2, 2, 1432, 1433, 3, 2, 2, 2, 1433, 135, 3, 2, 2, 2, 1434, 1442, 7, 137, 2, 2, 1435, 1438, 7, 61, 2, 2, 1436, 1437, 7, 186, 2, 2, 1437, 1439, 7, 109, 2, 2, 1438, 1436, 3, 2, 2, 2, 1438, 1439, 3, 2, 2, 2, 1439, 1442, 3, 2, 2, 2, 1440, 1442, 7, 109, 2, 2, 1441, 1434, 3, 2, 2, 2, 1441, 1435, 3, 2, 2, 2, 1441, 1440, 3, 2, 2, 2, 1441, 1442, 3, 2, 2, 2, 1442, 1443, 3, 2, 2, 2, 1443, 1444, 7, 189, 2, 2, 1444, 1445, 5, 440, 221, 2, 1445, 1446, 9, 22, 2, 2, 1446, 1447, 5, 138, 70, 2, 1447, 1451, 7, 16, 2, 2, 1448, 1449, 5, 440, 221, 2, 1449, 1450, 7, 15, 2, 2, 1450, 1452, 3, 2, 2, 2, 1451, 1448, 3, 2, 2, 2, 1451, 1452, 3, 2, 2, 2, 1452, 137, 3, 2, 2, 2, 1453, 1454, 5, 140, 71, 2, 1454, 1460, 7, 15, 2, 2, 1455, 1456, 5, 140, 71, 2, 1456, 1457, 7, 15, 2, 2, 1457, 1459, 3, 2, 2, 2, 1458, 1455, 3, 2, 2, 2, 1459, 1462, 3, 2, 2, 2, 1460, 1458, 3, 2, 2, 2, 1460, 1461, 3, 2, 2, 2, 1461, 139, 3, 2, 2, 2, 1462, 1460, 3, 2, 2, 2, 1463, 1477, 5, 52, 27, 2, 1464, 1465, 7, 187, 2, 2, 1465, 1467, 5, 440, 221, 2, 1466, 1468, 5, 150, 76, 2, 1467, 1466, 3, 2, 2, 2, 1467, 1468, 3, 2, 2, 2, 1468, 1469, 3, 2, 2, 2, 1469, 1470, 5, 134, 68, 2, 1470, 1477, 3, 2, 2, 2, 1471, 1472, 9, 24, 2, 2, 1472, 1474, 5, 440, 221, 2, 1473, 1475, 5, 150, 76, 2, 1474, 1473, 3, 2, 2, 2, 1474, 1475, 3, 2, 2, 2, 1475, 1477, 3, 2, 2, 2, 1476, 1463, 3, 2, 2, 2, 1476, 1464, 3, 2, 2, 2, 1476, 1471, 3, 2, 2, 2, 1477, 141, 3, 2, 2, 2, 1478, 1486, 7, 137, 2, 2, 1479, 1482, 7, 61, 2, 2, 1480, 1481, 7, 186, 2, 2, 1481, 1483, 7, 109, 2, 2, 1482, 1480, 3, 2, 2, 2, 1482, 1483, 3, 2, 2, 2, 1483, 1486, 3, 2, 2, 2, 1484, 1486, 7, 109, 2, 2, 1485, 1478, 3, 2, 2, 2, 1485, 1479, 3, 2, 2, 2, 1485, 1484, 3, 2, 2, 2, 1485, 1486, 3, 2, 2, 2, 1486, 1487, 3, 2, 2, 2, 1487, 1488, 7, 189, 2, 2, 1488, 1489, 7, 191, 2, 2, 1489, 1490, 5, 440, 221, 2, 1490, 1491, 9, 22, 2, 2, 1491, 1492, 5, 144, 73, 2, 1492, 1496, 7, 16, 2, 2, 1493, 1494, 5, 440, 221, 2, 1494, 1495, 7, 15, 2, 2, 1495, 1497, 3, 2, 2, 2, 1496, 1493, 3, 2, 2, 2, 1496, 1497, 3, 2, 2, 2, 1497, 143, 3, 2, 2, 2, 1498, 1499, 5, 146, 74, 2, 1499, 1505, 7, 15, 2, 2, 1500, 1501, 5, 146, 74, 2, 1501, 1502, 7, 15, 2, 2, 1502, 1504, 3, 2, 2, 2, 1503, 1500, 3, 2, 2, 2, 1504, 1507, 3, 2, 2, 2, 1505, 1503, 3, 2, 2, 2, 1505, 1506, 3, 2, 2, 2, 1506, 145, 3, 2, 2, 2, 1507, 1505, 3, 2, 2, 2, 1508, 1512, 5, 52, 27, 2, 1509, 1512, 5, 132, 67, 2, 1510, 1512, 5, 148, 75, 2, 1511, 1508, 3, 2, 2, 2, 1511, 1509, 3, 2, 2, 2, 1511, 1510, 3, 2, 2, 2, 1512, 147, 3, 2, 2, 2, 1513, 1521, 7, 137, 2, 2, 1514, 1517, 7, 61, 2, 2, 1515, 1516, 7, 186, 2, 2, 1516, 1518, 7, 109, 2, 2, 1517, 1515, 3, 2, 2, 2, 1517, 1518, 3, 2, 2, 2, 1518, 1521, 3, 2, 2, 2, 1519, 1521, 7, 109, 2, 2, 1520, 1513, 3, 2, 2, 2, 1520, 1514, 3, 2, 2, 2, 1520, 1519, 3, 2, 2, 2, 1520, 1521, 3, 2, 2, 2, 1521, 1522, 3, 2, 2, 2, 1522, 1523, 9, 24, 2, 2, 1523, 1525, 5, 440, 221, 2, 1524, 1526, 5, 150, 76, 2, 1525, 1524, 3, 2, 2, 2, 1525, 1526, 3, 2, 2, 2, 1526, 1528, 3, 2, 2, 2, 1527, 1529, 5, 154, 78, 2, 1528, 1527, 3, 2, 2, 2, 1528, 1529, 3, 2, 2, 2, 1529, 1531, 3, 2, 2, 2, 1530, 1532, 9, 22, 2, 2, 1531, 1530, 3, 2, 2, 2, 1531, 1532, 3, 2, 2, 2, 1532, 1534, 3, 2, 2, 2, 1533, 1535, 5, 50, 26, 2, 1534, 1533, 3, 2, 2, 2, 1534, 1535, 3, 2, 2, 2, 1535, 1537, 3, 2, 2, 2, 1536, 1538, 5, 278, 140, 2, 1537, 1536, 3, 2, 2, 2, 1537, 1538, 3, 2, 2, 2, 1538, 1539, 3, 2, 2, 2, 1539, 1543, 5, 12, 7, 2, 1540, 1541, 5, 440, 221, 2, 1541, 1542, 7, 15, 2, 2, 1542, 1544, 3, 2, 2, 2, 1543, 1540, 3, 2, 2, 2, 1543, 1544, 3, 2, 2, 2, 1544, 149, 3, 2, 2, 2, 1545, 1546, 7, 26, 2, 2, 1546, 1568, 7, 27, 2, 2, 1547, 1548, 7, 26, 2, 2, 1548, 1553, 5, 152, 77, 2, 1549, 1550, 7, 23, 2, 2, 1550, 1552, 5, 152, 77, 2, 1551, 1549, 3, 2, 2, 2, 1552, 1555, 3, 2, 2, 2, 1553, 1551, 3, 2, 2, 2, 1553, 1554, 3, 2, 2, 2, 1554, 1556, 3, 2, 2, 2, 1555, 1553, 3, 2, 2, 2, 1556, 1557, 7, 27, 2, 2, 1557, 1568, 3, 2, 2, 2, 1558, 1559, 6, 76, 4, 2, 1559, 1564, 5, 152, 77, 2, 1560, 1561, 7, 23, 2, 2, 1561, 1563, 5, 152, 77, 2, 1562, 1560, 3, 2, 2, 2, 1563, 1566, 3, 2, 2, 2, 1564, 1562, 3, 2, 2, 2, 1564, 1565, 3, 2, 2, 2, 1565, 1568, 3, 2, 2, 2, 1566, 1564, 3, 2, 2, 2, 1567, 1545, 3, 2, 2, 2, 1567, 1547, 3, 2, 2, 2, 1567, 1558, 3, 2, 2, 2, 1568, 151, 3, 2, 2, 2, 1569, 1575, 7, 108, 2, 2, 1570, 1575, 7, 192, 2, 2, 1571, 1575, 7, 193, 2, 2, 1572, 1573, 7, 108, 2, 2, 1573, 1575, 7, 192, 2, 2, 1574, 1569, 3, 2, 2, 2, 1574, 1570, 3, 2, 2, 2, 1574, 1571, 3, 2, 2, 2, 1574, 1572, 3, 2, 2, 2, 1574, 1575, 3, 2, 2, 2, 1575, 1576, 3, 2, 2, 2, 1576, 1577, 5, 440, 221, 2, 1577, 1579, 5, 120, 61, 2, 1578, 1580, 5, 122, 62, 2, 1579, 1578, 3, 2, 2, 2, 1579, 1580, 3, 2, 2, 2, 1580, 1584, 3, 2, 2, 2, 1581, 1583, 5, 124, 63, 2, 1582, 1581, 3, 2, 2, 2, 1583, 1586, 3, 2, 2, 2, 1584, 1582, 3, 2, 2, 2, 1584, 1585, 3, 2, 2, 2, 1585, 1588, 3, 2, 2, 2, 1586, 1584, 3, 2, 2, 2, 1587, 1589, 5, 126, 64, 2, 1588, 1587, 3, 2, 2, 2, 1588, 1589, 3, 2, 2, 2, 1589, 1612, 3, 2, 2, 2, 1590, 1596, 5, 440, 221, 2, 1591, 1597, 7, 108, 2, 2, 1592, 1597, 7, 192, 2, 2, 1593, 1597, 7, 193, 2, 2, 1594, 1595, 7, 108, 2, 2, 1595, 1597, 7, 192, 2, 2, 1596, 1591, 3, 2, 2, 2, 1596, 1592, 3, 2, 2, 2, 1596, 1593, 3, 2, 2, 2, 1596, 1594, 3, 2, 2, 2, 1596, 1597, 3, 2, 2, 2, 1597, 1598, 3, 2, 2, 2, 1598, 1600, 5, 120, 61, 2, 1599, 1601, 5, 122, 62, 2, 1600, 1599, 3, 2, 2, 2, 1600, 1601, 3, 2, 2, 2, 1601, 1605, 3, 2, 2, 2, 1602, 1604, 5, 124, 63, 2, 1603, 1602, 3, 2, 2, 2, 1604, 1607, 3, 2, 2, 2, 1605, 1603, 3, 2, 2, 2, 1605, 1606, 3, 2, 2, 2, 1606, 1609, 3, 2, 2, 2, 1607, 1605, 3, 2, 2, 2, 1608, 1610, 5, 126, 64, 2, 1609, 1608, 3, 2, 2, 2, 1609, 1610, 3, 2, 2, 2, 1610, 1612, 3, 2, 2, 2, 1611, 1574, 3, 2, 2, 2, 1611, 1590, 3, 2, 2, 2, 1612, 153, 3, 2, 2, 2, 1613, 1615, 5, 156, 79, 2, 1614, 1613, 3, 2, 2, 2, 1615, 1616, 3, 2, 2, 2, 1616, 1614, 3, 2, 2, 2, 1616, 1617, 3, 2, 2, 2, 1617, 155, 3, 2, 2, 2, 1618, 1619, 7, 194, 2, 2, 1619, 1630, 7, 195, 2, 2, 1620, 1621, 7, 195, 2, 2, 1621, 1622, 7, 196, 2, 2, 1622, 1630, 9, 25, 2, 2, 1623, 1625, 7, 201, 2, 2, 1624, 1623, 3, 2, 2, 2, 1624, 1625, 3, 2, 2, 2, 1625, 1626, 3, 2, 2, 2, 1626, 1627, 7, 31, 2, 2, 1627, 1628, 7, 202, 2, 2, 1628, 1630, 7, 74, 2, 2, 1629, 1618, 3, 2, 2, 2, 1629, 1620, 3, 2, 2, 2, 1629, 1624, 3, 2, 2, 2, 1630, 157, 3, 2, 2, 2, 1631, 1632, 7, 117, 2, 2, 1632, 1635, 7, 60, 2, 2, 1633, 1634, 7, 62, 2, 2, 1634, 1636, 7, 63, 2, 2, 1635, 1633, 3, 2, 2, 2, 1635, 1636, 3, 2, 2, 2, 1636, 1637, 3, 2, 2, 2, 1637, 1646, 5, 330, 166, 2, 1638, 1639, 7, 117, 2, 2, 1639, 1642, 9, 21, 2, 2, 1640, 1641, 7, 62, 2, 2, 1641, 1643, 7, 63, 2, 2, 1642, 1640, 3, 2, 2, 2, 1642, 1643, 3, 2, 2, 2, 1643, 1644, 3, 2, 2, 2, 1644, 1646, 5, 384, 193, 2, 1645, 1631, 3, 2, 2, 2, 1645, 1638, 3, 2, 2, 2, 1646, 159, 3, 2, 2, 2, 1647, 1648, 7, 16, 2, 2, 1648, 1649, 7, 37, 2, 2, 1649, 161, 3, 2, 2, 2, 1650, 1652, 9, 26, 2, 2, 1651, 1653, 7, 96, 2, 2, 1652, 1651, 3, 2, 2, 2, 1652, 1653, 3, 2, 2, 2, 1653, 1654, 3, 2, 2, 2, 1654, 1660, 5, 384, 193, 2, 1655, 1656, 7, 26, 2, 2, 1656, 1657, 5, 416, 209, 2, 1657, 1658, 7, 27, 2, 2, 1658, 1661, 3, 2, 2, 2, 1659, 1661, 5, 416, 209, 2, 1660, 1655, 3, 2, 2, 2, 1660, 1659, 3, 2, 2, 2, 1660, 1661, 3, 2, 2, 2, 1661, 1671, 3, 2, 2, 2, 1662, 1663, 7, 205, 2, 2, 1663, 1668, 7, 19, 2, 2, 1664, 1665, 7, 23, 2, 2, 1665, 1667, 7, 19, 2, 2, 1666, 1664, 3, 2, 2, 2, 1667, 1670, 3, 2, 2, 2, 1668, 1666, 3, 2, 2, 2, 1668, 1669, 3, 2, 2, 2, 1669, 1672, 3, 2, 2, 2, 1670, 1668, 3, 2, 2, 2, 1671, 1662, 3, 2, 2, 2, 1671, 1672, 3, 2, 2, 2, 1672, 1674, 3, 2, 2, 2, 1673, 1675, 5, 280, 141, 2, 1674, 1673, 3, 2, 2, 2, 1674, 1675, 3, 2, 2, 2, 1675, 163, 3, 2, 2, 2, 1676, 1680, 5, 166, 84, 2, 1677, 1680, 5, 168, 85, 2, 1678, 1680, 5, 170, 86, 2, 1679, 1676, 3, 2, 2, 2, 1679, 1677, 3, 2, 2, 2, 1679, 1678, 3, 2, 2, 2, 1680, 165, 3, 2, 2, 2, 1681, 1682, 7, 62, 2, 2, 1682, 1683, 5, 368, 185, 2, 1683, 1684, 7, 20, 2, 2, 1684, 1688, 5, 4, 3, 2, 1685, 1687, 5, 172, 87, 2, 1686, 1685, 3, 2, 2, 2, 1687, 1690, 3, 2, 2, 2, 1688, 1686, 3, 2, 2, 2, 1688, 1689, 3, 2, 2, 2, 1689, 1692, 3, 2, 2, 2, 1690, 1688, 3, 2, 2, 2, 1691, 1693, 5, 174, 88, 2, 1692, 1691, 3, 2, 2, 2, 1692, 1693, 3, 2, 2, 2, 1693, 1694, 3, 2, 2, 2, 1694, 1695, 7, 16, 2, 2, 1695, 1696, 7, 62, 2, 2, 1696, 167, 3, 2, 2, 2, 1697, 1698, 7, 62, 2, 2, 1698, 1699, 5, 368, 185, 2, 1699, 1702, 5, 8, 5, 2, 1700, 1701, 7, 206, 2, 2, 1701, 1703, 5, 8, 5, 2, 1702, 1700, 3, 2, 2, 2, 1702, 1703, 3, 2, 2, 2, 1703, 169, 3, 2, 2, 2, 1704, 1705, 7, 7, 2, 2, 1705, 1706, 7, 62, 2, 2, 1706, 1707, 5, 368, 185, 2, 1707, 1708, 7, 20, 2, 2, 1708, 1709, 5, 8, 5, 2, 1709, 171, 3, 2, 2, 2, 1710, 1711, 9, 27, 2, 2, 1711, 1712, 5, 368, 185, 2, 1712, 1713, 7, 20, 2, 2, 1713, 1714, 5, 4, 3, 2, 1714, 173, 3, 2, 2, 2, 1715, 1716, 7, 206, 2, 2, 1716, 1717, 5, 4, 3, 2, 1717, 175, 3, 2, 2, 2, 1718, 1721, 7, 209, 2, 2, 1719, 1722, 5, 434, 218, 2, 1720, 1722, 5, 384, 193, 2, 1721, 1719, 3, 2, 2, 2, 1721, 1720, 3, 2, 2, 2, 1722, 177, 3, 2, 2, 2, 1723, 1730, 7, 210, 2, 2, 1724, 1725, 7, 211, 2, 2, 1725, 1731, 7, 60, 2, 2, 1726, 1728, 7, 205, 2, 2, 1727, 1729, 7, 60, 2, 2, 1728, 1727, 3, 2, 2, 2, 1728, 1729, 3, 2, 2, 2, 1729, 1731, 3, 2, 2, 2, 1730, 1724, 3, 2, 2, 2, 1730, 1726, 3, 2, 2, 2, 1731, 1732, 3, 2, 2, 2, 1732, 1734, 5, 330, 166, 2, 1733, 1735, 5, 180, 91, 2, 1734, 1733, 3, 2, 2, 2, 1734, 1735, 3, 2, 2, 2, 1735, 1738, 3, 2, 2, 2, 1736, 1739, 5, 282, 142, 2, 1737, 1739, 5, 182, 92, 2, 1738, 1736, 3, 2, 2, 2, 1738, 1737, 3, 2, 2, 2, 1739, 179, 3, 2, 2, 2, 1740, 1741, 7, 26, 2, 2, 1741, 1746, 5, 440, 221, 2, 1742, 1743, 7, 23, 2, 2, 1743, 1745, 5, 440, 221, 2, 1744, 1742, 3, 2, 2, 2, 1745, 1748, 3, 2, 2, 2, 1746, 1744, 3, 2, 2, 2, 1746, 1747, 3, 2, 2, 2, 1747, 1749, 3, 2, 2, 2, 1748, 1746, 3, 2, 2, 2, 1749, 1750, 7, 27, 2, 2, 1750, 181, 3, 2, 2, 2, 1751, 1752, 7, 212, 2, 2, 1752, 1757, 5, 184, 93, 2, 1753, 1754, 7, 23, 2, 2, 1754, 1756, 5, 184, 93, 2, 1755, 1753, 3, 2, 2, 2, 1756, 1759, 3, 2, 2, 2, 1757, 1755, 3, 2, 2, 2, 1757, 1758, 3, 2, 2, 2, 1758, 183, 3, 2, 2, 2, 1759, 1757, 3, 2, 2, 2, 1760, 1761, 7, 26, 2, 2, 1761, 1766, 5, 384, 193, 2, 1762, 1763, 7, 23, 2, 2, 1763, 1765, 5, 384, 193, 2, 1764, 1762, 3, 2, 2, 2, 1765, 1768, 3, 2, 2, 2, 1766, 1764, 3, 2, 2, 2, 1766, 1767, 3, 2, 2, 2, 1767, 1769, 3, 2, 2, 2, 1768, 1766, 3, 2, 2, 2, 1769, 1770, 7, 27, 2, 2, 1770, 185, 3, 2, 2, 2, 1771, 1772, 7, 210, 2, 2, 1772, 1774, 7, 211, 2, 2, 1773, 1775, 7, 64, 2, 2, 1774, 1773, 3, 2, 2, 2, 1774, 1775, 3, 2, 2, 2, 1775, 1776, 3, 2, 2, 2, 1776, 1777, 7, 213, 2, 2, 1777, 1778, 5, 422, 212, 2, 1778, 1779, 5, 420, 211, 2, 1779, 187, 3, 2, 2, 2, 1780, 1782, 7, 52, 2, 2, 1781, 1783, 7, 19, 2, 2, 1782, 1781, 3, 2, 2, 2, 1782, 1783, 3, 2, 2, 2, 1783, 1786, 3, 2, 2, 2, 1784, 1785, 7, 18, 2, 2, 1785, 1787, 5, 368, 185, 2, 1786, 1784, 3, 2, 2, 2, 1786, 1787, 3, 2, 2, 2, 1787, 189, 3, 2, 2, 2, 1788, 1789, 7, 214, 2, 2, 1789, 1790, 7, 215, 2, 2, 1790, 1791, 5, 192, 97, 2, 1791, 191, 3, 2, 2, 2, 1792, 1795, 5, 194, 98, 2, 1793, 1795, 5, 196, 99, 2, 1794, 1792, 3, 2, 2, 2, 1794, 1793, 3, 2, 2, 2, 1795, 193, 3, 2, 2, 2, 1796, 1797, 7, 17, 2, 2, 1797, 1798, 7, 74, 2, 2, 1798, 1799, 5, 440, 221, 2, 1799, 1800, 7, 25, 2, 2, 1800, 1801, 7, 216, 2, 2, 1801, 195, 3, 2, 2, 2, 1802, 1803, 5, 440, 221, 2, 1803, 1804, 7, 25, 2, 2, 1804, 1805, 7, 217, 2, 2, 1805, 197, 3, 2, 2, 2, 1806, 1807, 7, 218, 2, 2, 1807, 1812, 5, 200, 101, 2, 1808, 1809, 7, 23, 2, 2, 1809, 1811, 5, 200, 101, 2, 1810, 1808, 3, 2, 2, 2, 1811, 1814, 3, 2, 2, 2, 1812, 1810, 3, 2, 2, 2, 1812, 1813, 3, 2, 2, 2, 1813, 1815, 3, 2, 2, 2, 1814, 1812, 3, 2, 2, 2, 1815, 1816, 7, 47, 2, 2, 1816, 1817, 7, 219, 2, 2, 1817, 1818, 5, 440, 221, 2, 1818, 199, 3, 2, 2, 2, 1819, 1820, 7, 204, 2, 2, 1820, 1821, 7, 81, 2, 2, 1821, 1822, 7, 32, 2, 2, 1822, 1823, 5, 440, 221, 2, 1823, 201, 3, 2, 2, 2, 1824, 1826, 7, 220, 2, 2, 1825, 1827, 7, 19, 2, 2, 1826, 1825, 3, 2, 2, 2, 1826, 1827, 3, 2, 2, 2, 1827, 203, 3, 2, 2, 2, 1828, 1829, 7, 128, 2, 2, 1829, 1830, 7, 221, 2, 2, 1830, 1833, 5, 384, 193, 2, 1831, 1832, 7, 47, 2, 2, 1832, 1834, 5, 384, 193, 2, 1833, 1831, 3, 2, 2, 2, 1833, 1834, 3, 2, 2, 2, 1834, 1837, 3, 2, 2, 2, 1835, 1836, 7, 222, 2, 2, 1836, 1838, 5, 384, 193, 2, 1837, 1835, 3, 2, 2, 2, 1837, 1838, 3, 2, 2, 2, 1838, 205, 3, 2, 2, 2, 1839, 1840, 7, 223, 2, 2, 1840, 1846, 7, 19, 2, 2, 1841, 1844, 7, 30, 2, 2, 1842, 1845, 5, 282, 142, 2, 1843, 1845, 5, 384, 193, 2, 1844, 1842, 3, 2, 2, 2, 1844, 1843, 3, 2, 2, 2, 1845, 1847, 3, 2, 2, 2, 1846, 1841, 3, 2, 2, 2, 1846, 1847, 3, 2, 2, 2, 1847, 207, 3, 2, 2, 2, 1848, 1850, 7, 224, 2, 2, 1849, 1851, 7, 225, 2, 2, 1850, 1849, 3, 2, 2, 2, 1850, 1851, 3, 2, 2, 2, 1851, 1852, 3, 2, 2, 2, 1852, 1853, 7, 19, 2, 2, 1853, 1854, 7, 205, 2, 2, 1854, 1859, 7, 19, 2, 2, 1855, 1856, 7, 23, 2, 2, 1856, 1858, 7, 19, 2, 2, 1857, 1855, 3, 2, 2, 2, 1858, 1861, 3, 2, 2, 2, 1859, 1857, 3, 2, 2, 2, 1859, 1860, 3, 2, 2, 2, 1860, 209, 3, 2, 2, 2, 1861, 1859, 3, 2, 2, 2, 1862, 1863, 7, 226, 2, 2, 1863, 1864, 9, 28, 2, 2, 1864, 1865, 7, 81, 2, 2, 1865, 1867, 5, 330, 166, 2, 1866, 1868, 5, 212, 107, 2, 1867, 1866, 3, 2, 2, 2, 1867, 1868, 3, 2, 2, 2, 1868, 211, 3, 2, 2, 2, 1869, 1870, 7, 229, 2, 2, 1870, 1871, 7, 26, 2, 2, 1871, 1876, 5, 440, 221, 2, 1872, 1873, 7, 23, 2, 2, 1873, 1875, 5, 440, 221, 2, 1874, 1872, 3, 2, 2, 2, 1875, 1878, 3, 2, 2, 2, 1876, 1874, 3, 2, 2, 2, 1876, 1877, 3, 2, 2, 2, 1877, 1879, 3, 2, 2, 2, 1878, 1876, 3, 2, 2, 2, 1879, 1880, 7, 27, 2, 2, 1880, 213, 3, 2, 2, 2, 1881, 1882, 7, 230, 2, 2, 1882, 1883, 7, 19, 2, 2, 1883, 215, 3, 2, 2, 2, 1884, 1885, 7, 231, 2, 2, 1885, 1886, 9, 29, 2, 2, 1886, 1887, 5, 218, 110, 2, 1887, 1888, 7, 23, 2, 2, 1888, 1889, 5, 218, 110, 2, 1889, 217, 3, 2, 2, 2, 1890, 1892, 5, 330, 166, 2, 1891, 1893, 5, 332, 167, 2, 1892, 1891, 3, 2, 2, 2, 1892, 1893, 3, 2, 2, 2, 1893, 1899, 3, 2, 2, 2, 1894, 1895, 7, 26, 2, 2, 1895, 1896, 5, 282, 142, 2, 1896, 1897, 7, 27, 2, 2, 1897, 1899, 3, 2, 2, 2, 1898, 1890, 3, 2, 2, 2, 1898, 1894, 3, 2, 2, 2, 1899, 1902, 3, 2, 2, 2, 1900, 1901, 7, 222, 2, 2, 1901, 1903, 5, 440, 221, 2, 1902, 1900, 3, 2, 2, 2, 1902, 1903, 3, 2, 2, 2, 1903, 219, 3, 2, 2, 2, 1904, 1905, 7, 233, 2, 2, 1905, 1906, 7, 225, 2, 2, 1906, 1907, 7, 64, 2, 2, 1907, 1912, 5, 224, 113, 2, 1908, 1909, 7, 23, 2, 2, 1909, 1911, 5, 224, 113, 2, 1910, 1908, 3, 2, 2, 2, 1911, 1914, 3, 2, 2, 2, 1912, 1910, 3, 2, 2, 2, 1912, 1913, 3, 2, 2, 2, 1913, 1915, 3, 2, 2, 2, 1914, 1912, 3, 2, 2, 2, 1915, 1916, 7, 47, 2, 2, 1916, 1920, 5, 226, 114, 2, 1917, 1919, 5, 230, 116, 2, 1918, 1917, 3, 2, 2, 2, 1919, 1922, 3, 2, 2, 2, 1920, 1918, 3, 2, 2, 2, 1920, 1921, 3, 2, 2, 2, 1921, 221, 3, 2, 2, 2, 1922, 1920, 3, 2, 2, 2, 1923, 1929, 7, 233, 2, 2, 1924, 1930, 5, 330, 166, 2, 1925, 1926, 7, 26, 2, 2, 1926, 1927, 5, 282, 142, 2, 1927, 1928, 7, 27, 2, 2, 1928, 1930, 3, 2, 2, 2, 1929, 1924, 3, 2, 2, 2, 1929, 1925, 3, 2, 2, 2, 1930, 1931, 3, 2, 2, 2, 1931, 1933, 7, 47, 2, 2, 1932, 1934, 7, 234, 2, 2, 1933, 1932, 3, 2, 2, 2, 1933, 1934, 3, 2, 2, 2, 1934, 1935, 3, 2, 2, 2, 1935, 1939, 5, 226, 114, 2, 1936, 1938, 5, 228, 115, 2, 1937, 1936, 3, 2, 2, 2, 1938, 1941, 3, 2, 2, 2, 1939, 1937, 3, 2, 2, 2, 1939, 1940, 3, 2, 2, 2, 1940, 223, 3, 2, 2, 2, 1941, 1939, 3, 2, 2, 2, 1942, 1945, 5, 434, 218, 2, 1943, 1945, 5, 384, 193, 2, 1944, 1942, 3, 2, 2, 2, 1944, 1943, 3, 2, 2, 2, 1945, 225, 3, 2, 2, 2, 1946, 1949, 5, 434, 218, 2, 1947, 1949, 5, 384, 193, 2, 1948, 1946, 3, 2, 2, 2, 1948, 1947, 3, 2, 2, 2, 1949, 227, 3, 2, 2, 2, 1950, 1951, 7, 222, 2, 2, 1951, 1959, 5, 440, 221, 2, 1952, 1953, 7, 235, 2, 2, 1953, 1959, 5, 384, 193, 2, 1954, 1955, 7, 236, 2, 2, 1955, 1959, 5, 384, 193, 2, 1956, 1957, 7, 237, 2, 2, 1957, 1959, 5, 440, 221, 2, 1958, 1950, 3, 2, 2, 2, 1958, 1952, 3, 2, 2, 2, 1958, 1954, 3, 2, 2, 2, 1958, 1956, 3, 2, 2, 2, 1959, 229, 3, 2, 2, 2, 1960, 1961, 9, 30, 2, 2, 1961, 231, 3, 2, 2, 2, 1962, 1964, 7, 91, 2, 2, 1963, 1965, 7, 239, 2, 2, 1964, 1963, 3, 2, 2, 2, 1964, 1965, 3, 2, 2, 2, 1965, 233, 3, 2, 2, 2, 1966, 1968, 7, 61, 2, 2, 1967, 1969, 7, 71, 2, 2, 1968, 1967, 3, 2, 2, 2, 1968, 1969, 3, 2, 2, 2, 1969, 1970, 3, 2, 2, 2, 1970, 1971, 7, 107, 2, 2, 1971, 1972, 5, 440, 221, 2, 1972, 1973, 7, 81, 2, 2, 1973, 1974, 5, 330, 166, 2, 1974, 1975, 7, 26, 2, 2, 1975, 1980, 5, 236, 119, 2, 1976, 1977, 7, 23, 2, 2, 1977, 1979, 5, 236, 119, 2, 1978, 1976, 3, 2, 2, 2, 1979, 1982, 3, 2, 2, 2, 1980, 1978, 3, 2, 2, 2, 1980, 1981, 3, 2, 2, 2, 1981, 1983, 3, 2, 2, 2, 1982, 1980, 3, 2, 2, 2, 1983, 1984, 7, 27, 2, 2, 1984, 235, 3, 2, 2, 2, 1985, 1987, 5, 440, 221, 2, 1986, 1988, 9, 9, 2, 2, 1987, 1986, 3, 2, 2, 2, 1987, 1988, 3, 2, 2, 2, 1988, 237, 3, 2, 2, 2, 1989, 1990, 5, 240, 121, 2, 1990, 239, 3, 2, 2, 2, 1991, 1992, 7, 36, 2, 2, 1992, 1993, 7, 26, 2, 2, 1993, 1994, 5, 440, 221, 2, 1994, 1995, 7, 25, 2, 2, 1995, 2003, 5, 440, 221, 2, 1996, 1997, 7, 23, 2, 2, 1997, 1998, 5, 440, 221, 2, 1998, 1999, 7, 25, 2, 2, 1999, 2000, 5, 440, 221, 2, 2000, 2002, 3, 2, 2, 2, 2001, 1996, 3, 2, 2, 2, 2002, 2005, 3, 2, 2, 2, 2003, 2001, 3, 2, 2, 2, 2003, 2004, 3, 2, 2, 2, 2004, 2006, 3, 2, 2, 2, 2005, 2003, 3, 2, 2, 2, 2006, 2010, 7, 27, 2, 2, 2007, 2009, 5, 108, 55, 2, 2008, 2007, 3, 2, 2, 2, 2009, 2012, 3, 2, 2, 2, 2010, 2008, 3, 2, 2, 2, 2010, 2011, 3, 2, 2, 2, 2011, 241, 3, 2, 2, 2, 2012, 2010, 3, 2, 2, 2, 2013, 2014, 7, 240, 2, 2, 2014, 2021, 5, 384, 193, 2, 2015, 2016, 7, 240, 2, 2, 2016, 2017, 7, 26, 2, 2, 2017, 2018, 5, 384, 193, 2, 2018, 2019, 7, 27, 2, 2, 2019, 2021, 3, 2, 2, 2, 2020, 2013, 3, 2, 2, 2, 2020, 2015, 3, 2, 2, 2, 2021, 243, 3, 2, 2, 2, 2022, 2024, 7, 7, 2, 2, 2023, 2022, 3, 2, 2, 2, 2023, 2024, 3, 2, 2, 2, 2024, 2025, 3, 2, 2, 2, 2025, 2027, 7, 241, 2, 2, 2026, 2028, 5, 384, 193, 2, 2027, 2026, 3, 2, 2, 2, 2027, 2028, 3, 2, 2, 2, 2028, 245, 3, 2, 2, 2, 2029, 2030, 7, 242, 2, 2, 2030, 247, 3, 2, 2, 2, 2031, 2043, 7, 243, 2, 2, 2032, 2034, 7, 244, 2, 2, 2033, 2035, 7, 245, 2, 2, 2034, 2033, 3, 2, 2, 2, 2034, 2035, 3, 2, 2, 2, 2035, 2036, 3, 2, 2, 2, 2036, 2041, 5, 384, 193, 2, 2037, 2038, 7, 22, 2, 2, 2038, 2039, 7, 216, 2, 2, 2039, 2040, 7, 25, 2, 2, 2040, 2042, 5, 384, 193, 2, 2041, 2037, 3, 2, 2, 2, 2041, 2042, 3, 2, 2, 2, 2042, 2044, 3, 2, 2, 2, 2043, 2032, 3, 2, 2, 2, 2043, 2044, 3, 2, 2, 2, 2044, 249, 3, 2, 2, 2, 2045, 2047, 7, 45, 2, 2, 2046, 2048, 5, 384, 193, 2, 2047, 2046, 3, 2, 2, 2, 2047, 2048, 3, 2, 2, 2, 2048, 251, 3, 2, 2, 2, 2049, 2051, 7, 246, 2, 2, 2050, 2052, 7, 239, 2, 2, 2051, 2050, 3, 2, 2, 2, 2051, 2052, 3, 2, 2, 2, 2052, 253, 3, 2, 2, 2, 2053, 2057, 5, 256, 129, 2, 2054, 2057, 5, 258, 130, 2, 2055, 2057, 5, 260, 131, 2, 2056, 2053, 3, 2, 2, 2, 2056, 2054, 3, 2, 2, 2, 2056, 2055, 3, 2, 2, 2, 2057, 255, 3, 2, 2, 2, 2058, 2060, 7, 247, 2, 2, 2059, 2058, 3, 2, 2, 2, 2059, 2060, 3, 2, 2, 2, 2060, 2061, 3, 2, 2, 2, 2061, 2064, 7, 184, 2, 2, 2062, 2064, 7, 248, 2, 2, 2063, 2059, 3, 2, 2, 2, 2063, 2062, 3, 2, 2, 2, 2064, 2066, 3, 2, 2, 2, 2065, 2067, 7, 25, 2, 2, 2066, 2065, 3, 2, 2, 2, 2066, 2067, 3, 2, 2, 2, 2067, 2068, 3, 2, 2, 2, 2068, 2069, 5, 384, 193, 2, 2069, 257, 3, 2, 2, 2, 2070, 2071, 9, 31, 2, 2, 2071, 2072, 9, 32, 2, 2, 2072, 259, 3, 2, 2, 2, 2073, 2074, 7, 255, 2, 2, 2074, 2077, 7, 25, 2, 2, 2075, 2078, 5, 384, 193, 2, 2076, 2078, 7, 256, 2, 2, 2077, 2075, 3, 2, 2, 2, 2077, 2076, 3, 2, 2, 2, 2078, 2080, 3, 2, 2, 2, 2079, 2081, 7, 82, 2, 2, 2080, 2079, 3, 2, 2, 2, 2080, 2081, 3, 2, 2, 2, 2081, 2082, 3, 2, 2, 2, 2082, 2083, 7, 30, 2, 2, 2083, 2084, 9, 33, 2, 2, 2084, 261, 3, 2, 2, 2, 2085, 2086, 7, 258, 2, 2, 2086, 2087, 5, 440, 221, 2, 2087, 263, 3, 2, 2, 2, 2088, 2091, 7, 259, 2, 2, 2089, 2090, 7, 260, 2, 2, 2090, 2092, 5, 384, 193, 2, 2091, 2089, 3, 2, 2, 2, 2091, 2092, 3, 2, 2, 2, 2092, 2093, 3, 2, 2, 2, 2093, 2103, 7, 30, 2, 2, 2094, 2104, 5, 282, 142, 2, 2095, 2097, 5, 330, 166, 2, 2096, 2098, 5, 332, 167, 2, 2097, 2096, 3, 2, 2, 2, 2097, 2098, 3, 2, 2, 2, 2098, 2101, 3, 2, 2, 2, 2099, 2100, 7, 261, 2, 2, 2100, 2102, 5, 384, 193, 2, 2101, 2099, 3, 2, 2, 2, 2101, 2102, 3, 2, 2, 2, 2102, 2104, 3, 2, 2, 2, 2103, 2094, 3, 2, 2, 2, 2103, 2095, 3, 2, 2, 2, 2104, 265, 3, 2, 2, 2, 2105, 2107, 7, 262, 2, 2, 2106, 2108, 7, 60, 2, 2, 2107, 2106, 3, 2, 2, 2, 2107, 2108, 3, 2, 2, 2, 2108, 2109, 3, 2, 2, 2, 2109, 2110, 5, 330, 166, 2, 2110, 267, 3, 2, 2, 2, 2111, 2112, 7, 263, 2, 2, 2112, 2113, 5, 384, 193, 2, 2113, 269, 3, 2, 2, 2, 2114, 2116, 7, 212, 2, 2, 2115, 2117, 7, 26, 2, 2, 2116, 2115, 3, 2, 2, 2, 2116, 2117, 3, 2, 2, 2, 2117, 2118, 3, 2, 2, 2, 2118, 2123, 5, 384, 193, 2, 2119, 2120, 7, 23, 2, 2, 2120, 2122, 5, 384, 193, 2, 2121, 2119, 3, 2, 2, 2, 2122, 2125, 3, 2, 2, 2, 2123, 2121, 3, 2, 2, 2, 2123, 2124, 3, 2, 2, 2, 2124, 2127, 3, 2, 2, 2, 2125, 2123, 3, 2, 2, 2, 2126, 2128, 7, 27, 2, 2, 2127, 2126, 3, 2, 2, 2, 2127, 2128, 3, 2, 2, 2, 2128, 2129, 3, 2, 2, 2, 2129, 2131, 7, 205, 2, 2, 2130, 2132, 7, 26, 2, 2, 2131, 2130, 3, 2, 2, 2, 2131, 2132, 3, 2, 2, 2, 2132, 2133, 3, 2, 2, 2, 2133, 2138, 5, 440, 221, 2, 2134, 2135, 7, 23, 2, 2, 2135, 2137, 5, 440, 221, 2, 2136, 2134, 3, 2, 2, 2, 2137, 2140, 3, 2, 2, 2, 2138, 2136, 3, 2, 2, 2, 2138, 2139, 3, 2, 2, 2, 2139, 2142, 3, 2, 2, 2, 2140, 2138, 3, 2, 2, 2, 2141, 2143, 7, 27, 2, 2, 2142, 2141, 3, 2, 2, 2, 2142, 2143, 3, 2, 2, 2, 2143, 271, 3, 2, 2, 2, 2144, 2145, 7, 264, 2, 2, 2145, 2146, 5, 368, 185, 2, 2146, 2147, 9, 34, 2, 2, 2147, 2148, 5, 4, 3, 2, 2148, 2150, 7, 16, 2, 2, 2149, 2151, 9, 35, 2, 2, 2150, 2149, 3, 2, 2, 2, 2150, 2151, 3, 2, 2, 2, 2151, 273, 3, 2, 2, 2, 2152, 2153, 7, 30, 2, 2, 2153, 2154, 7, 19, 2, 2, 2154, 2156, 7, 108, 2, 2, 2155, 2157, 7, 26, 2, 2, 2156, 2155, 3, 2, 2, 2, 2156, 2157, 3, 2, 2, 2, 2157, 2158, 3, 2, 2, 2, 2158, 2160, 5, 282, 142, 2, 2159, 2161, 7, 27, 2, 2, 2160, 2159, 3, 2, 2, 2, 2160, 2161, 3, 2, 2, 2, 2161, 2162, 3, 2, 2, 2, 2162, 2163, 7, 266, 2, 2, 2163, 2164, 5, 4, 3, 2, 2164, 2165, 7, 16, 2, 2, 2165, 2166, 7, 266, 2, 2, 2166, 275, 3, 2, 2, 2, 2167, 2168, 7, 30, 2, 2, 2168, 2169, 7, 19, 2, 2, 2169, 2171, 7, 108, 2, 2, 2170, 2172, 7, 267, 2, 2, 2171, 2170, 3, 2, 2, 2, 2171, 2172, 3, 2, 2, 2, 2172, 2173, 3, 2, 2, 2, 2173, 2174, 5, 384, 193, 2, 2174, 2175, 7, 268, 2, 2, 2175, 2178, 5, 384, 193, 2, 2176, 2177, 9, 36, 2, 2, 2177, 2179, 5, 384, 193, 2, 2178, 2176, 3, 2, 2, 2, 2178, 2179, 3, 2, 2, 2, 2179, 2180, 3, 2, 2, 2, 2180, 2181, 7, 266, 2, 2, 2181, 2182, 5, 4, 3, 2, 2182, 2183, 7, 16, 2, 2, 2183, 2184, 7, 266, 2, 2, 2184, 277, 3, 2, 2, 2, 2185, 2192, 7, 270, 2, 2, 2186, 2187, 7, 271, 2, 2, 2187, 2188, 7, 271, 2, 2, 2188, 2189, 7, 19, 2, 2, 2189, 2190, 7, 272, 2, 2, 2190, 2192, 7, 272, 2, 2, 2191, 2185, 3, 2, 2, 2, 2191, 2186, 3, 2, 2, 2, 2192, 279, 3, 2, 2, 2, 2193, 2194, 7, 273, 2, 2, 2194, 2199, 5, 384, 193, 2, 2195, 2196, 7, 23, 2, 2, 2196, 2198, 5, 384, 193, 2, 2197, 2195, 3, 2, 2, 2, 2198, 2201, 3, 2, 2, 2, 2199, 2197, 3, 2, 2, 2, 2199, 2200, 3, 2, 2, 2, 2200, 281, 3, 2, 2, 2, 2201, 2199, 3, 2, 2, 2, 2202, 2204, 5, 284, 143, 2, 2203, 2202, 3, 2, 2, 2, 2203, 2204, 3, 2, 2, 2, 2204, 2205, 3, 2, 2, 2, 2205, 2206, 5, 290, 146, 2, 2206, 283, 3, 2, 2, 2, 2207, 2208, 7, 36, 2, 2, 2208, 2213, 5, 286, 144, 2, 2209, 2210, 7, 23, 2, 2, 2210, 2212, 5, 286, 144, 2, 2211, 2209, 3, 2, 2, 2, 2212, 2215, 3, 2, 2, 2, 2213, 2211, 3, 2, 2, 2, 2213, 2214, 3, 2, 2, 2, 2214, 285, 3, 2, 2, 2, 2215, 2213, 3, 2, 2, 2, 2216, 2218, 5, 440, 221, 2, 2217, 2219, 5, 288, 145, 2, 2218, 2217, 3, 2, 2, 2, 2218, 2219, 3, 2, 2, 2, 2219, 2220, 3, 2, 2, 2, 2220, 2221, 7, 41, 2, 2, 2221, 2222, 7, 26, 2, 2, 2222, 2223, 5, 290, 146, 2, 2223, 2224, 7, 27, 2, 2, 2224, 287, 3, 2, 2, 2, 2225, 2226, 7, 26, 2, 2, 2226, 2231, 5, 440, 221, 2, 2227, 2228, 7, 23, 2, 2, 2228, 2230, 5, 440, 221, 2, 2229, 2227, 3, 2, 2, 2, 2230, 2233, 3, 2, 2, 2, 2231, 2229, 3, 2, 2, 2, 2231, 2232, 3, 2, 2, 2, 2232, 2234, 3, 2, 2, 2, 2233, 2231, 3, 2, 2, 2, 2234, 2235, 7, 27, 2, 2, 2235, 289, 3, 2, 2, 2, 2236, 2242, 5, 292, 147, 2, 2237, 2238, 5, 294, 148, 2, 2238, 2239, 5, 292, 147, 2, 2239, 2241, 3, 2, 2, 2, 2240, 2237, 3, 2, 2, 2, 2241, 2244, 3, 2, 2, 2, 2242, 2240, 3, 2, 2, 2, 2242, 2243, 3, 2, 2, 2, 2243, 291, 3, 2, 2, 2, 2244, 2242, 3, 2, 2, 2, 2245, 2251, 5, 296, 149, 2, 2246, 2247, 7, 26, 2, 2, 2247, 2248, 5, 290, 146, 2, 2248, 2249, 7, 27, 2, 2, 2249, 2251, 3, 2, 2, 2, 2250, 2245, 3, 2, 2, 2, 2250, 2246, 3, 2, 2, 2, 2251, 293, 3, 2, 2, 2, 2252, 2254, 7, 274, 2, 2, 2253, 2255, 7, 275, 2, 2, 2254, 2253, 3, 2, 2, 2, 2254, 2255, 3, 2, 2, 2, 2255, 2265, 3, 2, 2, 2, 2256, 2258, 7, 276, 2, 2, 2257, 2259, 7, 275, 2, 2, 2258, 2257, 3, 2, 2, 2, 2258, 2259, 3, 2, 2, 2, 2259, 2265, 3, 2, 2, 2, 2260, 2262, 7, 277, 2, 2, 2261, 2263, 7, 275, 2, 2, 2262, 2261, 3, 2, 2, 2, 2262, 2263, 3, 2, 2, 2, 2263, 2265, 3, 2, 2, 2, 2264, 2252, 3, 2, 2, 2, 2264, 2256, 3, 2, 2, 2, 2264, 2260, 3, 2, 2, 2, 2265, 295, 3, 2, 2, 2, 2266, 2267, 9, 37, 2, 2, 2267, 2269, 5, 298, 150, 2, 2268, 2270, 5, 310, 156, 2, 2269, 2268, 3, 2, 2, 2, 2269, 2270, 3, 2, 2, 2, 2270, 2272, 3, 2, 2, 2, 2271, 2273, 5, 312, 157, 2, 2272, 2271, 3, 2, 2, 2, 2272, 2273, 3, 2, 2, 2, 2273, 2275, 3, 2, 2, 2, 2274, 2276, 5, 332, 167, 2, 2275, 2274, 3, 2, 2, 2, 2275, 2276, 3, 2, 2, 2, 2276, 2278, 3, 2, 2, 2, 2277, 2279, 5, 334, 168, 2, 2278, 2277, 3, 2, 2, 2, 2278, 2279, 3, 2, 2, 2, 2279, 2282, 3, 2, 2, 2, 2280, 2283, 5, 336, 169, 2, 2281, 2283, 5, 338, 170, 2, 2282, 2280, 3, 2, 2, 2, 2282, 2281, 3, 2, 2, 2, 2282, 2283, 3, 2, 2, 2, 2283, 2285, 3, 2, 2, 2, 2284, 2286, 5, 340, 171, 2, 2285, 2284, 3, 2, 2, 2, 2285, 2286, 3, 2, 2, 2, 2286, 2288, 3, 2, 2, 2, 2287, 2289, 5, 342, 172, 2, 2288, 2287, 3, 2, 2, 2, 2288, 2289, 3, 2, 2, 2, 2289, 297, 3, 2, 2, 2, 2290, 2292, 5, 300, 151, 2, 2291, 2290, 3, 2, 2, 2, 2291, 2292, 3, 2, 2, 2, 2292, 2294, 3, 2, 2, 2, 2293, 2295, 5, 302, 152, 2, 2294, 2293, 3, 2, 2, 2, 2294, 2295, 3, 2, 2, 2, 2295, 2296, 3, 2, 2, 2, 2296, 2301, 5, 304, 153, 2, 2297, 2298, 7, 23, 2, 2, 2298, 2300, 5, 304, 153, 2, 2299, 2297, 3, 2, 2, 2, 2300, 2303, 3, 2, 2, 2, 2301, 2299, 3, 2, 2, 2, 2301, 2302, 3, 2, 2, 2, 2302, 299, 3, 2, 2, 2, 2303, 2301, 3, 2, 2, 2, 2304, 2305, 9, 38, 2, 2, 2305, 301, 3, 2, 2, 2, 2306, 2307, 7, 260, 2, 2, 2307, 2308, 5, 384, 193, 2, 2308, 303, 3, 2, 2, 2, 2309, 2310, 5, 440, 221, 2, 2310, 2311, 7, 25, 2, 2, 2311, 2313, 3, 2, 2, 2, 2312, 2309, 3, 2, 2, 2, 2312, 2313, 3, 2, 2, 2, 2313, 2314, 3, 2, 2, 2, 2314, 2316, 5, 384, 193, 2, 2315, 2317, 5, 306, 154, 2, 2316, 2315, 3, 2, 2, 2, 2316, 2317, 3, 2, 2, 2, 2317, 2320, 3, 2, 2, 2, 2318, 2320, 5, 308, 155, 2, 2319, 2312, 3, 2, 2, 2, 2319, 2318, 3, 2, 2, 2, 2320, 305, 3, 2, 2, 2, 2321, 2323, 6, 154, 5, 2, 2322, 2324, 7, 41, 2, 2, 2323, 2322, 3, 2, 2, 2, 2323, 2324, 3, 2, 2, 2, 2324, 2325, 3, 2, 2, 2, 2325, 2331, 5, 440, 221, 2, 2326, 2327, 7, 26, 2, 2, 2327, 2328, 7, 281, 2, 2, 2328, 2329, 7, 282, 2, 2, 2329, 2331, 7, 27, 2, 2, 2330, 2321, 3, 2, 2, 2, 2330, 2326, 3, 2, 2, 2, 2331, 307, 3, 2, 2, 2, 2332, 2333, 7, 19, 2, 2, 2333, 2335, 7, 7, 2, 2, 2334, 2332, 3, 2, 2, 2, 2334, 2335, 3, 2, 2, 2, 2335, 2336, 3, 2, 2, 2, 2336, 2337, 7, 8, 2, 2, 2337, 309, 3, 2, 2, 2, 2338, 2339, 7, 205, 2, 2, 2339, 2344, 5, 440, 221, 2, 2340, 2341, 7, 23, 2, 2, 2341, 2343, 5, 440, 221, 2, 2342, 2340, 3, 2, 2, 2, 2343, 2346, 3, 2, 2, 2, 2344, 2342, 3, 2, 2, 2, 2344, 2345, 3, 2, 2, 2, 2345, 311, 3, 2, 2, 2, 2346, 2344, 3, 2, 2, 2, 2347, 2348, 7, 225, 2, 2, 2348, 2352, 5, 314, 158, 2, 2349, 2351, 5, 320, 161, 2, 2350, 2349, 3, 2, 2, 2, 2351, 2354, 3, 2, 2, 2, 2352, 2350, 3, 2, 2, 2, 2352, 2353, 3, 2, 2, 2, 2353, 313, 3, 2, 2, 2, 2354, 2352, 3, 2, 2, 2, 2355, 2359, 5, 316, 159, 2, 2356, 2359, 5, 318, 160, 2, 2357, 2359, 5, 324, 163, 2, 2358, 2355, 3, 2, 2, 2, 2358, 2356, 3, 2, 2, 2, 2358, 2357, 3, 2, 2, 2, 2359, 315, 3, 2, 2, 2, 2360, 2362, 5, 330, 166, 2, 2361, 2363, 5, 328, 165, 2, 2362, 2361, 3, 2, 2, 2, 2362, 2363, 3, 2, 2, 2, 2363, 317, 3, 2, 2, 2, 2364, 2365, 7, 26, 2, 2, 2365, 2366, 5, 282, 142, 2, 2366, 2368, 7, 27, 2, 2, 2367, 2369, 5, 328, 165, 2, 2368, 2367, 3, 2, 2, 2, 2368, 2369, 3, 2, 2, 2, 2369, 319, 3, 2, 2, 2, 2370, 2371, 7, 23, 2, 2, 2371, 2378, 5, 314, 158, 2, 2372, 2373, 5, 322, 162, 2, 2373, 2374, 5, 314, 158, 2, 2374, 2375, 7, 81, 2, 2, 2375, 2376, 5, 368, 185, 2, 2376, 2378, 3, 2, 2, 2, 2377, 2370, 3, 2, 2, 2, 2377, 2372, 3, 2, 2, 2, 2378, 321, 3, 2, 2, 2, 2379, 2381, 7, 283, 2, 2, 2380, 2379, 3, 2, 2, 2, 2380, 2381, 3, 2, 2, 2, 2381, 2382, 3, 2, 2, 2, 2382, 2389, 7, 284, 2, 2, 2383, 2385, 9, 39, 2, 2, 2384, 2386, 7, 288, 2, 2, 2385, 2384, 3, 2, 2, 2, 2385, 2386, 3, 2, 2, 2, 2386, 2387, 3, 2, 2, 2, 2387, 2389, 7, 284, 2, 2, 2388, 2380, 3, 2, 2, 2, 2388, 2383, 3, 2, 2, 2, 2389, 323, 3, 2, 2, 2, 2390, 2391, 7, 60, 2, 2, 2391, 2392, 7, 26, 2, 2, 2392, 2393, 7, 212, 2, 2, 2393, 2398, 5, 326, 164, 2, 2394, 2395, 7, 23, 2, 2, 2395, 2397, 5, 326, 164, 2, 2396, 2394, 3, 2, 2, 2, 2397, 2400, 3, 2, 2, 2, 2398, 2396, 3, 2, 2, 2, 2398, 2399, 3, 2, 2, 2, 2399, 2401, 3, 2, 2, 2, 2400, 2398, 3, 2, 2, 2, 2401, 2403, 7, 27, 2, 2, 2402, 2404, 5, 328, 165, 2, 2403, 2402, 3, 2, 2, 2, 2403, 2404, 3, 2, 2, 2, 2404, 325, 3, 2, 2, 2, 2405, 2418, 5, 384, 193, 2, 2406, 2407, 7, 26, 2, 2, 2407, 2412, 5, 384, 193, 2, 2408, 2409, 7, 23, 2, 2, 2409, 2411, 5, 384, 193, 2, 2410, 2408, 3, 2, 2, 2, 2411, 2414, 3, 2, 2, 2, 2412, 2410, 3, 2, 2, 2, 2412, 2413, 3, 2, 2, 2, 2413, 2415, 3, 2, 2, 2, 2414, 2412, 3, 2, 2, 2, 2415, 2416, 7, 27, 2, 2, 2416, 2418, 3, 2, 2, 2, 2417, 2405, 3, 2, 2, 2, 2417, 2406, 3, 2, 2, 2, 2418, 327, 3, 2, 2, 2, 2419, 2421, 6, 165, 6, 2, 2420, 2422, 7, 41, 2, 2, 2421, 2420, 3, 2, 2, 2, 2421, 2422, 3, 2, 2, 2, 2422, 2423, 3, 2, 2, 2, 2423, 2434, 5, 440, 221, 2, 2424, 2425, 7, 26, 2, 2, 2425, 2430, 7, 19, 2, 2, 2426, 2427, 7, 23, 2, 2, 2427, 2429, 7, 19, 2, 2, 2428, 2426, 3, 2, 2, 2, 2429, 2432, 3, 2, 2, 2, 2430, 2428, 3, 2, 2, 2, 2430, 2431, 3, 2, 2, 2, 2431, 2433, 3, 2, 2, 2, 2432, 2430, 3, 2, 2, 2, 2433, 2435, 7, 27, 2, 2, 2434, 2424, 3, 2, 2, 2, 2434, 2435, 3, 2, 2, 2, 2435, 329, 3, 2, 2, 2, 2436, 2437, 5, 440, 221, 2, 2437, 331, 3, 2, 2, 2, 2438, 2439, 7, 289, 2, 2, 2439, 2440, 5, 368, 185, 2, 2440, 333, 3, 2, 2, 2, 2441, 2442, 7, 290, 2, 2, 2442, 2443, 7, 111, 2, 2, 2443, 2448, 5, 384, 193, 2, 2444, 2445, 7, 23, 2, 2, 2445, 2447, 5, 384, 193, 2, 2446, 2444, 3, 2, 2, 2, 2447, 2450, 3, 2, 2, 2, 2448, 2446, 3, 2, 2, 2, 2448, 2449, 3, 2, 2, 2, 2449, 335, 3, 2, 2, 2, 2450, 2448, 3, 2, 2, 2, 2451, 2452, 7, 291, 2, 2, 2452, 2453, 5, 368, 185, 2, 2453, 337, 3, 2, 2, 2, 2454, 2455, 7, 292, 2, 2, 2455, 2456, 5, 368, 185, 2, 2456, 339, 3, 2, 2, 2, 2457, 2458, 7, 293, 2, 2, 2458, 2459, 7, 111, 2, 2, 2459, 2461, 5, 384, 193, 2, 2460, 2462, 9, 9, 2, 2, 2461, 2460, 3, 2, 2, 2, 2461, 2462, 3, 2, 2, 2, 2462, 2470, 3, 2, 2, 2, 2463, 2464, 7, 23, 2, 2, 2464, 2466, 5, 384, 193, 2, 2465, 2467, 9, 9, 2, 2, 2466, 2465, 3, 2, 2, 2, 2466, 2467, 3, 2, 2, 2, 2467, 2469, 3, 2, 2, 2, 2468, 2463, 3, 2, 2, 2, 2469, 2472, 3, 2, 2, 2, 2470, 2468, 3, 2, 2, 2, 2470, 2471, 3, 2, 2, 2, 2471, 341, 3, 2, 2, 2, 2472, 2470, 3, 2, 2, 2, 2473, 2475, 5, 344, 173, 2, 2474, 2473, 3, 2, 2, 2, 2475, 2476, 3, 2, 2, 2, 2476, 2474, 3, 2, 2, 2, 2476, 2477, 3, 2, 2, 2, 2477, 343, 3, 2, 2, 2, 2478, 2479, 7, 261, 2, 2, 2479, 2490, 5, 384, 193, 2, 2480, 2481, 7, 36, 2, 2, 2481, 2487, 9, 40, 2, 2, 2482, 2483, 7, 263, 2, 2, 2483, 2484, 7, 297, 2, 2, 2484, 2485, 7, 298, 2, 2, 2485, 2486, 9, 41, 2, 2, 2486, 2488, 7, 301, 2, 2, 2487, 2482, 3, 2, 2, 2, 2487, 2488, 3, 2, 2, 2, 2488, 2490, 3, 2, 2, 2, 2489, 2478, 3, 2, 2, 2, 2489, 2480, 3, 2, 2, 2, 2490, 345, 3, 2, 2, 2, 2491, 2492, 7, 82, 2, 2, 2492, 2493, 5, 350, 176, 2, 2493, 2494, 7, 22, 2, 2, 2494, 2496, 5, 348, 175, 2, 2495, 2497, 5, 332, 167, 2, 2496, 2495, 3, 2, 2, 2, 2496, 2497, 3, 2, 2, 2, 2497, 2499, 3, 2, 2, 2, 2498, 2500, 5, 352, 177, 2, 2499, 2498, 3, 2, 2, 2, 2499, 2500, 3, 2, 2, 2, 2500, 347, 3, 2, 2, 2, 2501, 2506, 5, 28, 15, 2, 2502, 2503, 7, 23, 2, 2, 2503, 2505, 5, 28, 15, 2, 2504, 2502, 3, 2, 2, 2, 2505, 2508, 3, 2, 2, 2, 2506, 2504, 3, 2, 2, 2, 2506, 2507, 3, 2, 2, 2, 2507, 349, 3, 2, 2, 2, 2508, 2506, 3, 2, 2, 2, 2509, 2511, 5, 330, 166, 2, 2510, 2512, 5, 312, 157, 2, 2511, 2510, 3, 2, 2, 2, 2511, 2512, 3, 2, 2, 2, 2512, 2518, 3, 2, 2, 2, 2513, 2514, 7, 26, 2, 2, 2514, 2515, 5, 282, 142, 2, 2515, 2516, 7, 27, 2, 2, 2516, 2518, 3, 2, 2, 2, 2517, 2509, 3, 2, 2, 2, 2517, 2513, 3, 2, 2, 2, 2518, 2523, 3, 2, 2, 2, 2519, 2521, 7, 41, 2, 2, 2520, 2519, 3, 2, 2, 2, 2520, 2521, 3, 2, 2, 2, 2521, 2522, 3, 2, 2, 2, 2522, 2524, 5, 440, 221, 2, 2523, 2520, 3, 2, 2, 2, 2523, 2524, 3, 2, 2, 2, 2524, 351, 3, 2, 2, 2, 2525, 2526, 7, 206, 2, 2, 2526, 2527, 5, 178, 90, 2, 2527, 353, 3, 2, 2, 2, 2528, 2529, 7, 302, 2, 2, 2529, 2530, 7, 205, 2, 2, 2530, 2531, 5, 356, 179, 2, 2531, 2532, 7, 273, 2, 2, 2532, 2533, 5, 356, 179, 2, 2533, 2534, 7, 81, 2, 2, 2534, 2536, 5, 368, 185, 2, 2535, 2537, 5, 358, 180, 2, 2536, 2535, 3, 2, 2, 2, 2537, 2538, 3, 2, 2, 2, 2538, 2536, 3, 2, 2, 2, 2538, 2539, 3, 2, 2, 2, 2539, 355, 3, 2, 2, 2, 2540, 2546, 5, 330, 166, 2, 2541, 2542, 7, 26, 2, 2, 2542, 2543, 5, 282, 142, 2, 2543, 2544, 7, 27, 2, 2, 2544, 2546, 3, 2, 2, 2, 2545, 2540, 3, 2, 2, 2, 2545, 2541, 3, 2, 2, 2, 2546, 2551, 3, 2, 2, 2, 2547, 2549, 7, 41, 2, 2, 2548, 2547, 3, 2, 2, 2, 2548, 2549, 3, 2, 2, 2, 2549, 2550, 3, 2, 2, 2, 2550, 2552, 5, 440, 221, 2, 2551, 2548, 3, 2, 2, 2, 2551, 2552, 3, 2, 2, 2, 2552, 357, 3, 2, 2, 2, 2553, 2555, 7, 18, 2, 2, 2554, 2556, 7, 56, 2, 2, 2555, 2554, 3, 2, 2, 2, 2555, 2556, 3, 2, 2, 2, 2556, 2557, 3, 2, 2, 2, 2557, 2560, 7, 303, 2, 2, 2558, 2559, 7, 297, 2, 2, 2559, 2561, 5, 368, 185, 2, 2560, 2558, 3, 2, 2, 2, 2560, 2561, 3, 2, 2, 2, 2561, 2562, 3, 2, 2, 2, 2562, 2563, 7, 20, 2, 2, 2563, 2567, 5, 360, 181, 2, 2564, 2565, 7, 206, 2, 2, 2565, 2567, 7, 238, 2, 2, 2566, 2553, 3, 2, 2, 2, 2566, 2564, 3, 2, 2, 2, 2567, 359, 3, 2, 2, 2, 2568, 2570, 7, 210, 2, 2, 2569, 2571, 5, 180, 91, 2, 2570, 2569, 3, 2, 2, 2, 2570, 2571, 3, 2, 2, 2, 2571, 2572, 3, 2, 2, 2, 2572, 2573, 7, 212, 2, 2, 2573, 2589, 5, 184, 93, 2, 2574, 2575, 7, 82, 2, 2, 2575, 2576, 7, 22, 2, 2, 2576, 2581, 5, 28, 15, 2, 2577, 2578, 7, 23, 2, 2, 2578, 2580, 5, 28, 15, 2, 2579, 2577, 3, 2, 2, 2, 2580, 2583, 3, 2, 2, 2, 2581, 2579, 3, 2, 2, 2, 2581, 2582, 3, 2, 2, 2, 2582, 2585, 3, 2, 2, 2, 2583, 2581, 3, 2, 2, 2, 2584, 2586, 5, 332, 167, 2, 2585, 2584, 3, 2, 2, 2, 2585, 2586, 3, 2, 2, 2, 2586, 2589, 3, 2, 2, 2, 2587, 2589, 7, 83, 2, 2, 2588, 2568, 3, 2, 2, 2, 2588, 2574, 3, 2, 2, 2, 2588, 2587, 3, 2, 2, 2, 2589, 361, 3, 2, 2, 2, 2590, 2592, 7, 83, 2, 2, 2591, 2593, 7, 225, 2, 2, 2592, 2591, 3, 2, 2, 2, 2592, 2593, 3, 2, 2, 2, 2593, 2594, 3, 2, 2, 2, 2594, 2596, 5, 330, 166, 2, 2595, 2597, 5, 364, 183, 2, 2596, 2595, 3, 2, 2, 2, 2596, 2597, 3, 2, 2, 2, 2597, 2600, 3, 2, 2, 2, 2598, 2601, 5, 332, 167, 2, 2599, 2601, 7, 275, 2, 2, 2600, 2598, 3, 2, 2, 2, 2600, 2599, 3, 2, 2, 2, 2600, 2601, 3, 2, 2, 2, 2601, 363, 3, 2, 2, 2, 2602, 2604, 6, 183, 7, 2, 2603, 2605, 7, 41, 2, 2, 2604, 2603, 3, 2, 2, 2, 2604, 2605, 3, 2, 2, 2, 2605, 2606, 3, 2, 2, 2, 2606, 2607, 5, 440, 221, 2, 2607, 365, 3, 2, 2, 2, 2608, 2610, 9, 42, 2, 2, 2609, 2611, 7, 60, 2, 2, 2610, 2609, 3, 2, 2, 2, 2610, 2611, 3, 2, 2, 2, 2611, 2612, 3, 2, 2, 2, 2612, 2613, 5, 330, 166, 2, 2613, 367, 3, 2, 2, 2, 2614, 2616, 8, 185, 1, 2, 2615, 2617, 7, 56, 2, 2, 2616, 2615, 3, 2, 2, 2, 2616, 2617, 3, 2, 2, 2, 2617, 2618, 3, 2, 2, 2, 2618, 2619, 7, 26, 2, 2, 2619, 2620, 5, 368, 185, 2, 2620, 2621, 7, 27, 2, 2, 2621, 2624, 3, 2, 2, 2, 2622, 2624, 5, 370, 186, 2, 2623, 2614, 3, 2, 2, 2, 2623, 2622, 3, 2, 2, 2, 2624, 2631, 3, 2, 2, 2, 2625, 2626, 12, 4, 2, 2, 2626, 2627, 5, 380, 191, 2, 2627, 2628, 5, 368, 185, 5, 2628, 2630, 3, 2, 2, 2, 2629, 2625, 3, 2, 2, 2, 2630, 2633, 3, 2, 2, 2, 2631, 2629, 3, 2, 2, 2, 2631, 2632, 3, 2, 2, 2, 2632, 369, 3, 2, 2, 2, 2633, 2631, 3, 2, 2, 2, 2634, 2638, 5, 372, 187, 2, 2635, 2638, 5, 378, 190, 2, 2636, 2638, 5, 384, 193, 2, 2637, 2634, 3, 2, 2, 2, 2637, 2635, 3, 2, 2, 2, 2637, 2636, 3, 2, 2, 2, 2638, 371, 3, 2, 2, 2, 2639, 2640, 5, 384, 193, 2, 2640, 2642, 7, 44, 2, 2, 2641, 2643, 7, 56, 2, 2, 2642, 2641, 3, 2, 2, 2, 2642, 2643, 3, 2, 2, 2, 2643, 2644, 3, 2, 2, 2, 2644, 2645, 7, 21, 2, 2, 2645, 2663, 3, 2, 2, 2, 2646, 2647, 5, 384, 193, 2, 2647, 2648, 7, 305, 2, 2, 2648, 2649, 5, 384, 193, 2, 2649, 2650, 7, 297, 2, 2, 2650, 2651, 5, 384, 193, 2, 2651, 2663, 3, 2, 2, 2, 2652, 2654, 7, 56, 2, 2, 2653, 2652, 3, 2, 2, 2, 2653, 2654, 3, 2, 2, 2, 2654, 2655, 3, 2, 2, 2, 2655, 2656, 7, 63, 2, 2, 2656, 2657, 7, 26, 2, 2, 2657, 2658, 5, 282, 142, 2, 2658, 2659, 7, 27, 2, 2, 2659, 2663, 3, 2, 2, 2, 2660, 2663, 5, 374, 188, 2, 2661, 2663, 5, 376, 189, 2, 2662, 2639, 3, 2, 2, 2, 2662, 2646, 3, 2, 2, 2, 2662, 2653, 3, 2, 2, 2, 2662, 2660, 3, 2, 2, 2, 2662, 2661, 3, 2, 2, 2, 2663, 373, 3, 2, 2, 2, 2664, 2666, 5, 384, 193, 2, 2665, 2667, 7, 56, 2, 2, 2666, 2665, 3, 2, 2, 2, 2666, 2667, 3, 2, 2, 2, 2667, 2668, 3, 2, 2, 2, 2668, 2669, 7, 108, 2, 2, 2669, 2679, 7, 26, 2, 2, 2670, 2675, 5, 384, 193, 2, 2671, 2672, 7, 23, 2, 2, 2672, 2674, 5, 384, 193, 2, 2673, 2671, 3, 2, 2, 2, 2674, 2677, 3, 2, 2, 2, 2675, 2673, 3, 2, 2, 2, 2675, 2676, 3, 2, 2, 2, 2676, 2680, 3, 2, 2, 2, 2677, 2675, 3, 2, 2, 2, 2678, 2680, 5, 282, 142, 2, 2679, 2670, 3, 2, 2, 2, 2679, 2678, 3, 2, 2, 2, 2680, 2681, 3, 2, 2, 2, 2681, 2682, 7, 27, 2, 2, 2682, 375, 3, 2, 2, 2, 2683, 2684, 7, 26, 2, 2, 2684, 2689, 5, 384, 193, 2, 2685, 2686, 7, 23, 2, 2, 2686, 2688, 5, 384, 193, 2, 2687, 2685, 3, 2, 2, 2, 2688, 2691, 3, 2, 2, 2, 2689, 2687, 3, 2, 2, 2, 2689, 2690, 3, 2, 2, 2, 2690, 2692, 3, 2, 2, 2, 2691, 2689, 3, 2, 2, 2, 2692, 2694, 7, 27, 2, 2, 2693, 2695, 7, 56, 2, 2, 2694, 2693, 3, 2, 2, 2, 2694, 2695, 3, 2, 2, 2, 2695, 2696, 3, 2, 2, 2, 2696, 2697, 7, 108, 2, 2, 2697, 2698, 7, 26, 2, 2, 2698, 2699, 5, 282, 142, 2, 2699, 2700, 7, 27, 2, 2, 2700, 377, 3, 2, 2, 2, 2701, 2702, 5, 384, 193, 2, 2702, 2703, 5, 382, 192, 2, 2703, 2704, 5, 384, 193, 2, 2704, 379, 3, 2, 2, 2, 2705, 2706, 9, 43, 2, 2, 2706, 381, 3, 2, 2, 2, 2707, 2720, 7, 25, 2, 2, 2708, 2720, 7, 306, 2, 2, 2709, 2720, 7, 307, 2, 2, 2710, 2720, 7, 308, 2, 2, 2711, 2720, 7, 271, 2, 2, 2712, 2720, 7, 309, 2, 2, 2713, 2720, 7, 272, 2, 2, 2714, 2720, 7, 310, 2, 2, 2715, 2717, 7, 56, 2, 2, 2716, 2715, 3, 2, 2, 2, 2716, 2717, 3, 2, 2, 2, 2717, 2718, 3, 2, 2, 2, 2718, 2720, 9, 44, 2, 2, 2719, 2707, 3, 2, 2, 2, 2719, 2708, 3, 2, 2, 2, 2719, 2709, 3, 2, 2, 2, 2719, 2710, 3, 2, 2, 2, 2719, 2711, 3, 2, 2, 2, 2719, 2712, 3, 2, 2, 2, 2719, 2713, 3, 2, 2, 2, 2719, 2714, 3, 2, 2, 2, 2719, 2716, 3, 2, 2, 2, 2720, 383, 3, 2, 2, 2, 2721, 2722, 8, 193, 1, 2, 2722, 2723, 7, 26, 2, 2, 2723, 2724, 5, 282, 142, 2, 2724, 2725, 7, 27, 2, 2, 2725, 2739, 3, 2, 2, 2, 2726, 2727, 7, 26, 2, 2, 2727, 2728, 5, 384, 193, 2, 2728, 2729, 7, 27, 2, 2, 2729, 2739, 3, 2, 2, 2, 2730, 2739, 5, 388, 195, 2, 2731, 2739, 5, 392, 197, 2, 2732, 2739, 5, 396, 199, 2, 2733, 2739, 5, 402, 202, 2, 2734, 2739, 5, 404, 203, 2, 2735, 2739, 5, 412, 207, 2, 2736, 2739, 5, 414, 208, 2, 2737, 2739, 5, 386, 194, 2, 2738, 2721, 3, 2, 2, 2, 2738, 2726, 3, 2, 2, 2, 2738, 2730, 3, 2, 2, 2, 2738, 2731, 3, 2, 2, 2, 2738, 2732, 3, 2, 2, 2, 2738, 2733, 3, 2, 2, 2, 2738, 2734, 3, 2, 2, 2, 2738, 2735, 3, 2, 2, 2, 2738, 2736, 3, 2, 2, 2, 2738, 2737, 3, 2, 2, 2, 2739, 2756, 3, 2, 2, 2, 2740, 2741, 12, 16, 2, 2, 2741, 2742, 7, 313, 2, 2, 2742, 2755, 5, 384, 193, 17, 2743, 2744, 12, 15, 2, 2, 2744, 2745, 7, 314, 2, 2, 2745, 2755, 5, 384, 193, 16, 2746, 2747, 12, 14, 2, 2, 2747, 2748, 7, 315, 2, 2, 2748, 2755, 5, 384, 193, 15, 2749, 2750, 12, 13, 2, 2, 2750, 2751, 7, 316, 2, 2, 2751, 2755, 5, 384, 193, 14, 2752, 2753, 12, 17, 2, 2, 2753, 2755, 5, 390, 196, 2, 2754, 2740, 3, 2, 2, 2, 2754, 2743, 3, 2, 2, 2, 2754, 2746, 3, 2, 2, 2, 2754, 2749, 3, 2, 2, 2, 2754, 2752, 3, 2, 2, 2, 2755, 2758, 3, 2, 2, 2, 2756, 2754, 3, 2, 2, 2, 2756, 2757, 3, 2, 2, 2, 2757, 385, 3, 2, 2, 2, 2758, 2756, 3, 2, 2, 2, 2759, 2768, 5, 436, 219, 2, 2760, 2768, 5, 438, 220, 2, 2761, 2768, 5, 448, 225, 2, 2762, 2768, 5, 440, 221, 2, 2763, 2768, 5, 442, 222, 2, 2764, 2768, 5, 446, 224, 2, 2765, 2768, 5, 444, 223, 2, 2766, 2768, 5, 450, 226, 2, 2767, 2759, 3, 2, 2, 2, 2767, 2760, 3, 2, 2, 2, 2767, 2761, 3, 2, 2, 2, 2767, 2762, 3, 2, 2, 2, 2767, 2763, 3, 2, 2, 2, 2767, 2764, 3, 2, 2, 2, 2767, 2765, 3, 2, 2, 2, 2767, 2766, 3, 2, 2, 2, 2768, 387, 3, 2, 2, 2, 2769, 2770, 7, 317, 2, 2, 2770, 2771, 5, 384, 193, 2, 2771, 2772, 5, 390, 196, 2, 2772, 389, 3, 2, 2, 2, 2773, 2774, 9, 45, 2, 2, 2774, 391, 3, 2, 2, 2, 2775, 2776, 5, 394, 198, 2, 2776, 2777, 9, 46, 2, 2, 2777, 2782, 5, 394, 198, 2, 2778, 2779, 9, 46, 2, 2, 2779, 2781, 5, 394, 198, 2, 2780, 2778, 3, 2, 2, 2, 2781, 2784, 3, 2, 2, 2, 2782, 2780, 3, 2, 2, 2, 2782, 2783, 3, 2, 2, 2, 2783, 393, 3, 2, 2, 2, 2784, 2782, 3, 2, 2, 2, 2785, 2786, 7, 26, 2, 2, 2786, 2787, 5, 384, 193, 2, 2787, 2788, 7, 27, 2, 2, 2788, 2795, 3, 2, 2, 2, 2789, 2795, 5, 396, 199, 2, 2790, 2795, 5, 404, 203, 2, 2791, 2795, 5, 412, 207, 2, 2792, 2795, 5, 414, 208, 2, 2793, 2795, 5, 386, 194, 2, 2794, 2785, 3, 2, 2, 2, 2794, 2789, 3, 2, 2, 2, 2794, 2790, 3, 2, 2, 2, 2794, 2791, 3, 2, 2, 2, 2794, 2792, 3, 2, 2, 2, 2794, 2793, 3, 2, 2, 2, 2795, 395, 3, 2, 2, 2, 2796, 2799, 5, 398, 200, 2, 2797, 2799, 5, 400, 201, 2, 2798, 2796, 3, 2, 2, 2, 2798, 2797, 3, 2, 2, 2, 2799, 397, 3, 2, 2, 2, 2800, 2801, 7, 326, 2, 2, 2801, 2807, 5, 384, 193, 2, 2802, 2803, 7, 18, 2, 2, 2803, 2804, 5, 384, 193, 2, 2804, 2805, 7, 20, 2, 2, 2805, 2806, 5, 384, 193, 2, 2806, 2808, 3, 2, 2, 2, 2807, 2802, 3, 2, 2, 2, 2808, 2809, 3, 2, 2, 2, 2809, 2807, 3, 2, 2, 2, 2809, 2810, 3, 2, 2, 2, 2810, 2813, 3, 2, 2, 2, 2811, 2812, 7, 206, 2, 2, 2812, 2814, 5, 384, 193, 2, 2813, 2811, 3, 2, 2, 2, 2813, 2814, 3, 2, 2, 2, 2814, 2815, 3, 2, 2, 2, 2815, 2816, 7, 16, 2, 2, 2816, 399, 3, 2, 2, 2, 2817, 2823, 7, 326, 2, 2, 2818, 2819, 7, 18, 2, 2, 2819, 2820, 5, 368, 185, 2, 2820, 2821, 7, 20, 2, 2, 2821, 2822, 5, 384, 193, 2, 2822, 2824, 3, 2, 2, 2, 2823, 2818, 3, 2, 2, 2, 2824, 2825, 3, 2, 2, 2, 2825, 2823, 3, 2, 2, 2, 2825, 2826, 3, 2, 2, 2, 2826, 2829, 3, 2, 2, 2, 2827, 2828, 7, 206, 2, 2, 2828, 2830, 5, 384, 193, 2, 2829, 2827, 3, 2, 2, 2, 2829, 2830, 3, 2, 2, 2, 2830, 2831, 3, 2, 2, 2, 2831, 2832, 7, 16, 2, 2, 2832, 401, 3, 2, 2, 2, 2833, 2834, 5, 440, 221, 2, 2834, 2835, 7, 6, 2, 2, 2835, 2836, 9, 47, 2, 2, 2836, 403, 3, 2, 2, 2, 2837, 2838, 7, 329, 2, 2, 2838, 2840, 7, 26, 2, 2, 2839, 2841, 5, 406, 204, 2, 2840, 2839, 3, 2, 2, 2, 2840, 2841, 3, 2, 2, 2, 2841, 2842, 3, 2, 2, 2, 2842, 2843, 5, 384, 193, 2, 2843, 2845, 7, 27, 2, 2, 2844, 2846, 5, 408, 205, 2, 2845, 2844, 3, 2, 2, 2, 2845, 2846, 3, 2, 2, 2, 2846, 2990, 3, 2, 2, 2, 2847, 2848, 7, 330, 2, 2, 2848, 2854, 7, 26, 2, 2, 2849, 2851, 5, 406, 204, 2, 2850, 2849, 3, 2, 2, 2, 2850, 2851, 3, 2, 2, 2, 2851, 2852, 3, 2, 2, 2, 2852, 2855, 5, 384, 193, 2, 2853, 2855, 7, 8, 2, 2, 2854, 2850, 3, 2, 2, 2, 2854, 2853, 3, 2, 2, 2, 2855, 2856, 3, 2, 2, 2, 2856, 2858, 7, 27, 2, 2, 2857, 2859, 5, 408, 205, 2, 2858, 2857, 3, 2, 2, 2, 2858, 2859, 3, 2, 2, 2, 2859, 2990, 3, 2, 2, 2, 2860, 2861, 7, 331, 2, 2, 2861, 2867, 7, 26, 2, 2, 2862, 2864, 5, 406, 204, 2, 2863, 2862, 3, 2, 2, 2, 2863, 2864, 3, 2, 2, 2, 2864, 2865, 3, 2, 2, 2, 2865, 2868, 5, 384, 193, 2, 2866, 2868, 7, 8, 2, 2, 2867, 2863, 3, 2, 2, 2, 2867, 2866, 3, 2, 2, 2, 2868, 2869, 3, 2, 2, 2, 2869, 2871, 7, 27, 2, 2, 2870, 2872, 5, 408, 205, 2, 2871, 2870, 3, 2, 2, 2, 2871, 2872, 3, 2, 2, 2, 2872, 2990, 3, 2, 2, 2, 2873, 2874, 7, 332, 2, 2, 2874, 2875, 7, 26, 2, 2, 2875, 2876, 7, 27, 2, 2, 2876, 2990, 5, 408, 205, 2, 2877, 2878, 7, 333, 2, 2, 2878, 2879, 7, 26, 2, 2, 2879, 2880, 7, 27, 2, 2, 2880, 2990, 5, 408, 205, 2, 2881, 2882, 7, 334, 2, 2, 2882, 2883, 7, 26, 2, 2, 2883, 2884, 5, 384, 193, 2, 2884, 2885, 7, 27, 2, 2, 2885, 2886, 5, 408, 205, 2, 2886, 2990, 3, 2, 2, 2, 2887, 2888, 7, 335, 2, 2, 2888, 2889, 7, 26, 2, 2, 2889, 2896, 5, 384, 193, 2, 2890, 2891, 7, 23, 2, 2, 2891, 2894, 5, 384, 193, 2, 2892, 2893, 7, 23, 2, 2, 2893, 2895, 5, 384, 193, 2, 2894, 2892, 3, 2, 2, 2, 2894, 2895, 3, 2, 2, 2, 2895, 2897, 3, 2, 2, 2, 2896, 2890, 3, 2, 2, 2, 2896, 2897, 3, 2, 2, 2, 2897, 2898, 3, 2, 2, 2, 2898, 2899, 7, 27, 2, 2, 2899, 2900, 5, 408, 205, 2, 2900, 2990, 3, 2, 2, 2, 2901, 2902, 7, 336, 2, 2, 2902, 2903, 7, 26, 2, 2, 2903, 2904, 5, 384, 193, 2, 2904, 2905, 7, 27, 2, 2, 2905, 2906, 5, 408, 205, 2, 2906, 2990, 3, 2, 2, 2, 2907, 2908, 7, 337, 2, 2, 2908, 2909, 7, 26, 2, 2, 2909, 2916, 5, 384, 193, 2, 2910, 2911, 7, 23, 2, 2, 2911, 2914, 5, 384, 193, 2, 2912, 2913, 7, 23, 2, 2, 2913, 2915, 5, 384, 193, 2, 2914, 2912, 3, 2, 2, 2, 2914, 2915, 3, 2, 2, 2, 2915, 2917, 3, 2, 2, 2, 2916, 2910, 3, 2, 2, 2, 2916, 2917, 3, 2, 2, 2, 2917, 2918, 3, 2, 2, 2, 2918, 2919, 7, 27, 2, 2, 2919, 2920, 5, 408, 205, 2, 2920, 2990, 3, 2, 2, 2, 2921, 2922, 7, 179, 2, 2, 2922, 2924, 7, 26, 2, 2, 2923, 2925, 5, 406, 204, 2, 2924, 2923, 3, 2, 2, 2, 2924, 2925, 3, 2, 2, 2, 2925, 2926, 3, 2, 2, 2, 2926, 2927, 5, 384, 193, 2, 2927, 2929, 7, 27, 2, 2, 2928, 2930, 5, 408, 205, 2, 2929, 2928, 3, 2, 2, 2, 2929, 2930, 3, 2, 2, 2, 2930, 2990, 3, 2, 2, 2, 2931, 2932, 7, 338, 2, 2, 2932, 2934, 7, 26, 2, 2, 2933, 2935, 5, 406, 204, 2, 2934, 2933, 3, 2, 2, 2, 2934, 2935, 3, 2, 2, 2, 2935, 2936, 3, 2, 2, 2, 2936, 2937, 5, 384, 193, 2, 2937, 2939, 7, 27, 2, 2, 2938, 2940, 5, 408, 205, 2, 2939, 2938, 3, 2, 2, 2, 2939, 2940, 3, 2, 2, 2, 2940, 2990, 3, 2, 2, 2, 2941, 2942, 7, 339, 2, 2, 2942, 2943, 7, 26, 2, 2, 2943, 2944, 7, 27, 2, 2, 2944, 2990, 5, 408, 205, 2, 2945, 2946, 7, 340, 2, 2, 2946, 2947, 7, 26, 2, 2, 2947, 2948, 7, 27, 2, 2, 2948, 2990, 5, 408, 205, 2, 2949, 2950, 7, 341, 2, 2, 2950, 2952, 7, 26, 2, 2, 2951, 2953, 5, 406, 204, 2, 2952, 2951, 3, 2, 2, 2, 2952, 2953, 3, 2, 2, 2, 2953, 2954, 3, 2, 2, 2, 2954, 2955, 5, 384, 193, 2, 2955, 2957, 7, 27, 2, 2, 2956, 2958, 5, 408, 205, 2, 2957, 2956, 3, 2, 2, 2, 2957, 2958, 3, 2, 2, 2, 2958, 2990, 3, 2, 2, 2, 2959, 2960, 7, 232, 2, 2, 2960, 2962, 7, 26, 2, 2, 2961, 2963, 5, 406, 204, 2, 2962, 2961, 3, 2, 2, 2, 2962, 2963, 3, 2, 2, 2, 2963, 2964, 3, 2, 2, 2, 2964, 2965, 5, 384, 193, 2, 2965, 2967, 7, 27, 2, 2, 2966, 2968, 5, 408, 205, 2, 2967, 2966, 3, 2, 2, 2, 2967, 2968, 3, 2, 2, 2, 2968, 2990, 3, 2, 2, 2, 2969, 2970, 7, 342, 2, 2, 2970, 2972, 7, 26, 2, 2, 2971, 2973, 5, 406, 204, 2, 2972, 2971, 3, 2, 2, 2, 2972, 2973, 3, 2, 2, 2, 2973, 2974, 3, 2, 2, 2, 2974, 2975, 5, 384, 193, 2, 2975, 2977, 7, 27, 2, 2, 2976, 2978, 5, 408, 205, 2, 2977, 2976, 3, 2, 2, 2, 2977, 2978, 3, 2, 2, 2, 2978, 2990, 3, 2, 2, 2, 2979, 2980, 7, 343, 2, 2, 2980, 2982, 7, 26, 2, 2, 2981, 2983, 5, 406, 204, 2, 2982, 2981, 3, 2, 2, 2, 2982, 2983, 3, 2, 2, 2, 2983, 2984, 3, 2, 2, 2, 2984, 2985, 5, 384, 193, 2, 2985, 2987, 7, 27, 2, 2, 2986, 2988, 5, 408, 205, 2, 2987, 2986, 3, 2, 2, 2, 2987, 2988, 3, 2, 2, 2, 2988, 2990, 3, 2, 2, 2, 2989, 2837, 3, 2, 2, 2, 2989, 2847, 3, 2, 2, 2, 2989, 2860, 3, 2, 2, 2, 2989, 2873, 3, 2, 2, 2, 2989, 2877, 3, 2, 2, 2, 2989, 2881, 3, 2, 2, 2, 2989, 2887, 3, 2, 2, 2, 2989, 2901, 3, 2, 2, 2, 2989, 2907, 3, 2, 2, 2, 2989, 2921, 3, 2, 2, 2, 2989, 2931, 3, 2, 2, 2, 2989, 2941, 3, 2, 2, 2, 2989, 2945, 3, 2, 2, 2, 2989, 2949, 3, 2, 2, 2, 2989, 2959, 3, 2, 2, 2, 2989, 2969, 3, 2, 2, 2, 2989, 2979, 3, 2, 2, 2, 2990, 405, 3, 2, 2, 2, 2991, 2992, 9, 38, 2, 2, 2992, 407, 3, 2, 2, 2, 2993, 2994, 7, 344, 2, 2, 2994, 2996, 7, 26, 2, 2, 2995, 2997, 5, 410, 206, 2, 2996, 2995, 3, 2, 2, 2, 2996, 2997, 3, 2, 2, 2, 2997, 2999, 3, 2, 2, 2, 2998, 3000, 5, 340, 171, 2, 2999, 2998, 3, 2, 2, 2, 2999, 3000, 3, 2, 2, 2, 3000, 3001, 3, 2, 2, 2, 3001, 3002, 7, 27, 2, 2, 3002, 409, 3, 2, 2, 2, 3003, 3004, 7, 345, 2, 2, 3004, 3005, 7, 111, 2, 2, 3005, 3010, 5, 384, 193, 2, 3006, 3007, 7, 23, 2, 2, 3007, 3009, 5, 384, 193, 2, 3008, 3006, 3, 2, 2, 2, 3009, 3012, 3, 2, 2, 2, 3010, 3008, 3, 2, 2, 2, 3010, 3011, 3, 2, 2, 2, 3011, 411, 3, 2, 2, 2, 3012, 3010, 3, 2, 2, 2, 3013, 3214, 7, 346, 2, 2, 3014, 3015, 7, 347, 2, 2, 3015, 3016, 7, 26, 2, 2, 3016, 3017, 5, 384, 193, 2, 3017, 3018, 7, 41, 2, 2, 3018, 3020, 5, 120, 61, 2, 3019, 3021, 5, 122, 62, 2, 3020, 3019, 3, 2, 2, 2, 3020, 3021, 3, 2, 2, 2, 3021, 3022, 3, 2, 2, 2, 3022, 3023, 7, 27, 2, 2, 3023, 3214, 3, 2, 2, 2, 3024, 3025, 7, 330, 2, 2, 3025, 3028, 7, 26, 2, 2, 3026, 3029, 5, 384, 193, 2, 3027, 3029, 7, 8, 2, 2, 3028, 3026, 3, 2, 2, 2, 3028, 3027, 3, 2, 2, 2, 3029, 3030, 3, 2, 2, 2, 3030, 3214, 7, 27, 2, 2, 3031, 3214, 7, 348, 2, 2, 3032, 3033, 7, 247, 2, 2, 3033, 3214, 7, 145, 2, 2, 3034, 3038, 7, 349, 2, 2, 3035, 3036, 7, 247, 2, 2, 3036, 3038, 7, 172, 2, 2, 3037, 3034, 3, 2, 2, 2, 3037, 3035, 3, 2, 2, 2, 3038, 3043, 3, 2, 2, 2, 3039, 3040, 7, 26, 2, 2, 3040, 3041, 5, 384, 193, 2, 3041, 3042, 7, 27, 2, 2, 3042, 3044, 3, 2, 2, 2, 3043, 3039, 3, 2, 2, 2, 3043, 3044, 3, 2, 2, 2, 3044, 3214, 3, 2, 2, 2, 3045, 3214, 7, 350, 2, 2, 3046, 3047, 7, 247, 2, 2, 3047, 3214, 7, 351, 2, 2, 3048, 3049, 7, 352, 2, 2, 3049, 3050, 7, 26, 2, 2, 3050, 3063, 5, 384, 193, 2, 3051, 3052, 7, 23, 2, 2, 3052, 3060, 5, 384, 193, 2, 3053, 3054, 7, 23, 2, 2, 3054, 3055, 5, 384, 193, 2, 3055, 3056, 7, 25, 2, 2, 3056, 3057, 5, 384, 193, 2, 3057, 3059, 3, 2, 2, 2, 3058, 3053, 3, 2, 2, 2, 3059, 3062, 3, 2, 2, 2, 3060, 3058, 3, 2, 2, 2, 3060, 3061, 3, 2, 2, 2, 3061, 3064, 3, 2, 2, 2, 3062, 3060, 3, 2, 2, 2, 3063, 3051, 3, 2, 2, 2, 3063, 3064, 3, 2, 2, 2, 3064, 3065, 3, 2, 2, 2, 3065, 3066, 7, 27, 2, 2, 3066, 3214, 3, 2, 2, 2, 3067, 3068, 7, 353, 2, 2, 3068, 3069, 7, 26, 2, 2, 3069, 3082, 5, 384, 193, 2, 3070, 3071, 7, 23, 2, 2, 3071, 3079, 5, 384, 193, 2, 3072, 3073, 7, 23, 2, 2, 3073, 3074, 5, 384, 193, 2, 3074, 3075, 7, 25, 2, 2, 3075, 3076, 5, 384, 193, 2, 3076, 3078, 3, 2, 2, 2, 3077, 3072, 3, 2, 2, 2, 3078, 3081, 3, 2, 2, 2, 3079, 3077, 3, 2, 2, 2, 3079, 3080, 3, 2, 2, 2, 3080, 3083, 3, 2, 2, 2, 3081, 3079, 3, 2, 2, 2, 3082, 3070, 3, 2, 2, 2, 3082, 3083, 3, 2, 2, 2, 3083, 3084, 3, 2, 2, 2, 3084, 3085, 7, 27, 2, 2, 3085, 3214, 3, 2, 2, 2, 3086, 3087, 7, 354, 2, 2, 3087, 3088, 7, 26, 2, 2, 3088, 3101, 5, 384, 193, 2, 3089, 3090, 7, 23, 2, 2, 3090, 3098, 5, 384, 193, 2, 3091, 3092, 7, 23, 2, 2, 3092, 3093, 5, 384, 193, 2, 3093, 3094, 7, 25, 2, 2, 3094, 3095, 5, 384, 193, 2, 3095, 3097, 3, 2, 2, 2, 3096, 3091, 3, 2, 2, 2, 3097, 3100, 3, 2, 2, 2, 3098, 3096, 3, 2, 2, 2, 3098, 3099, 3, 2, 2, 2, 3099, 3102, 3, 2, 2, 2, 3100, 3098, 3, 2, 2, 2, 3101, 3089, 3, 2, 2, 2, 3101, 3102, 3, 2, 2, 2, 3102, 3103, 3, 2, 2, 2, 3103, 3104, 7, 27, 2, 2, 3104, 3214, 3, 2, 2, 2, 3105, 3106, 7, 355, 2, 2, 3106, 3107, 7, 26, 2, 2, 3107, 3120, 5, 384, 193, 2, 3108, 3109, 7, 23, 2, 2, 3109, 3117, 5, 384, 193, 2, 3110, 3111, 7, 23, 2, 2, 3111, 3112, 5, 384, 193, 2, 3112, 3113, 7, 25, 2, 2, 3113, 3114, 5, 384, 193, 2, 3114, 3116, 3, 2, 2, 2, 3115, 3110, 3, 2, 2, 2, 3116, 3119, 3, 2, 2, 2, 3117, 3115, 3, 2, 2, 2, 3117, 3118, 3, 2, 2, 2, 3118, 3121, 3, 2, 2, 2, 3119, 3117, 3, 2, 2, 2, 3120, 3108, 3, 2, 2, 2, 3120, 3121, 3, 2, 2, 2, 3121, 3122, 3, 2, 2, 2, 3122, 3123, 7, 27, 2, 2, 3123, 3214, 3, 2, 2, 2, 3124, 3125, 7, 356, 2, 2, 3125, 3126, 7, 26, 2, 2, 3126, 3139, 5, 384, 193, 2, 3127, 3128, 7, 23, 2, 2, 3128, 3136, 5, 384, 193, 2, 3129, 3130, 7, 23, 2, 2, 3130, 3131, 5, 384, 193, 2, 3131, 3132, 7, 25, 2, 2, 3132, 3133, 5, 384, 193, 2, 3133, 3135, 3, 2, 2, 2, 3134, 3129, 3, 2, 2, 2, 3135, 3138, 3, 2, 2, 2, 3136, 3134, 3, 2, 2, 2, 3136, 3137, 3, 2, 2, 2, 3137, 3140, 3, 2, 2, 2, 3138, 3136, 3, 2, 2, 2, 3139, 3127, 3, 2, 2, 2, 3139, 3140, 3, 2, 2, 2, 3140, 3141, 3, 2, 2, 2, 3141, 3142, 7, 27, 2, 2, 3142, 3214, 3, 2, 2, 2, 3143, 3144, 7, 357, 2, 2, 3144, 3145, 7, 26, 2, 2, 3145, 3158, 5, 384, 193, 2, 3146, 3147, 7, 23, 2, 2, 3147, 3155, 5, 384, 193, 2, 3148, 3149, 7, 23, 2, 2, 3149, 3150, 5, 384, 193, 2, 3150, 3151, 7, 25, 2, 2, 3151, 3152, 5, 384, 193, 2, 3152, 3154, 3, 2, 2, 2, 3153, 3148, 3, 2, 2, 2, 3154, 3157, 3, 2, 2, 2, 3155, 3153, 3, 2, 2, 2, 3155, 3156, 3, 2, 2, 2, 3156, 3159, 3, 2, 2, 2, 3157, 3155, 3, 2, 2, 2, 3158, 3146, 3, 2, 2, 2, 3158, 3159, 3, 2, 2, 2, 3159, 3160, 3, 2, 2, 2, 3160, 3161, 7, 27, 2, 2, 3161, 3214, 3, 2, 2, 2, 3162, 3163, 7, 358, 2, 2, 3163, 3164, 7, 26, 2, 2, 3164, 3172, 5, 384, 193, 2, 3165, 3166, 7, 23, 2, 2, 3166, 3167, 5, 384, 193, 2, 3167, 3168, 7, 25, 2, 2, 3168, 3169, 5, 384, 193, 2, 3169, 3171, 3, 2, 2, 2, 3170, 3165, 3, 2, 2, 2, 3171, 3174, 3, 2, 2, 2, 3172, 3170, 3, 2, 2, 2, 3172, 3173, 3, 2, 2, 2, 3173, 3175, 3, 2, 2, 2, 3174, 3172, 3, 2, 2, 2, 3175, 3176, 7, 27, 2, 2, 3176, 3214, 3, 2, 2, 2, 3177, 3178, 7, 359, 2, 2, 3178, 3179, 7, 26, 2, 2, 3179, 3185, 5, 384, 193, 2, 3180, 3181, 7, 23, 2, 2, 3181, 3182, 5, 384, 193, 2, 3182, 3183, 7, 25, 2, 2, 3183, 3184, 5, 384, 193, 2, 3184, 3186, 3, 2, 2, 2, 3185, 3180, 3, 2, 2, 2, 3186, 3187, 3, 2, 2, 2, 3187, 3185, 3, 2, 2, 2, 3187, 3188, 3, 2, 2, 2, 3188, 3191, 3, 2, 2, 2, 3189, 3190, 7, 23, 2, 2, 3190, 3192, 5, 384, 193, 2, 3191, 3189, 3, 2, 2, 2, 3191, 3192, 3, 2, 2, 2, 3192, 3193, 3, 2, 2, 2, 3193, 3194, 7, 27, 2, 2, 3194, 3214, 3, 2, 2, 2, 3195, 3196, 7, 360, 2, 2, 3196, 3197, 7, 26, 2, 2, 3197, 3198, 5, 384, 193, 2, 3198, 3199, 7, 27, 2, 2, 3199, 3214, 3, 2, 2, 2, 3200, 3201, 7, 361, 2, 2, 3201, 3202, 7, 26, 2, 2, 3202, 3203, 5, 384, 193, 2, 3203, 3204, 7, 225, 2, 2, 3204, 3207, 5, 384, 193, 2, 3205, 3206, 7, 30, 2, 2, 3206, 3208, 5, 384, 193, 2, 3207, 3205, 3, 2, 2, 2, 3207, 3208, 3, 2, 2, 2, 3208, 3209, 3, 2, 2, 2, 3209, 3210, 7, 27, 2, 2, 3210, 3214, 3, 2, 2, 2, 3211, 3214, 7, 362, 2, 2, 3212, 3214, 7, 351, 2, 2, 3213, 3013, 3, 2, 2, 2, 3213, 3014, 3, 2, 2, 2, 3213, 3024, 3, 2, 2, 2, 3213, 3031, 3, 2, 2, 2, 3213, 3032, 3, 2, 2, 2, 3213, 3037, 3, 2, 2, 2, 3213, 3045, 3, 2, 2, 2, 3213, 3046, 3, 2, 2, 2, 3213, 3048, 3, 2, 2, 2, 3213, 3067, 3, 2, 2, 2, 3213, 3086, 3, 2, 2, 2, 3213, 3105, 3, 2, 2, 2, 3213, 3124, 3, 2, 2, 2, 3213, 3143, 3, 2, 2, 2, 3213, 3162, 3, 2, 2, 2, 3213, 3177, 3, 2, 2, 2, 3213, 3195, 3, 2, 2, 2, 3213, 3200, 3, 2, 2, 2, 3213, 3211, 3, 2, 2, 2, 3213, 3212, 3, 2, 2, 2, 3214, 413, 3, 2, 2, 2, 3215, 3216, 5, 440, 221, 2, 3216, 3218, 7, 26, 2, 2, 3217, 3219, 5, 416, 209, 2, 3218, 3217, 3, 2, 2, 2, 3218, 3219, 3, 2, 2, 2, 3219, 3220, 3, 2, 2, 2, 3220, 3221, 7, 27, 2, 2, 3221, 415, 3, 2, 2, 2, 3222, 3227, 5, 418, 210, 2, 3223, 3224, 7, 23, 2, 2, 3224, 3226, 5, 418, 210, 2, 3225, 3223, 3, 2, 2, 2, 3226, 3229, 3, 2, 2, 2, 3227, 3225, 3, 2, 2, 2, 3227, 3228, 3, 2, 2, 2, 3228, 417, 3, 2, 2, 2, 3229, 3227, 3, 2, 2, 2, 3230, 3236, 6, 210, 14, 2, 3231, 3232, 5, 440, 221, 2, 3232, 3234, 7, 25, 2, 2, 3233, 3235, 7, 272, 2, 2, 3234, 3233, 3, 2, 2, 2, 3234, 3235, 3, 2, 2, 2, 3235, 3237, 3, 2, 2, 2, 3236, 3231, 3, 2, 2, 2, 3236, 3237, 3, 2, 2, 2, 3237, 3238, 3, 2, 2, 2, 3238, 3239, 5, 384, 193, 2, 3239, 419, 3, 2, 2, 2, 3240, 3243, 5, 282, 142, 2, 3241, 3243, 5, 384, 193, 2, 3242, 3240, 3, 2, 2, 2, 3242, 3241, 3, 2, 2, 2, 3243, 421, 3, 2, 2, 2, 3244, 3247, 5, 434, 218, 2, 3245, 3247, 5, 384, 193, 2, 3246, 3244, 3, 2, 2, 2, 3246, 3245, 3, 2, 2, 2, 3247, 423, 3, 2, 2, 2, 3248, 3252, 7, 363, 2, 2, 3249, 3251, 5, 426, 214, 2, 3250, 3249, 3, 2, 2, 2, 3251, 3254, 3, 2, 2, 2, 3252, 3250, 3, 2, 2, 2, 3252, 3253, 3, 2, 2, 2, 3253, 425, 3, 2, 2, 2, 3254, 3252, 3, 2, 2, 2, 3255, 3256, 7, 316, 2, 2, 3256, 3257, 5, 440, 221, 2, 3257, 3258, 5, 384, 193, 2, 3258, 3268, 3, 2, 2, 2, 3259, 3260, 7, 316, 2, 2, 3260, 3261, 5, 440, 221, 2, 3261, 3262, 7, 19, 2, 2, 3262, 3263, 7, 25, 2, 2, 3263, 3264, 5, 384, 193, 2, 3264, 3268, 3, 2, 2, 2, 3265, 3266, 7, 316, 2, 2, 3266, 3268, 5, 440, 221, 2, 3267, 3255, 3, 2, 2, 2, 3267, 3259, 3, 2, 2, 2, 3267, 3265, 3, 2, 2, 2, 3268, 427, 3, 2, 2, 2, 3269, 3270, 7, 9, 2, 2, 3270, 3271, 5, 430, 216, 2, 3271, 3272, 7, 10, 2, 2, 3272, 3275, 3, 2, 2, 2, 3273, 3275, 5, 432, 217, 2, 3274, 3269, 3, 2, 2, 2, 3274, 3273, 3, 2, 2, 2, 3275, 429, 3, 2, 2, 2, 3276, 3278, 11, 2, 2, 2, 3277, 3276, 3, 2, 2, 2, 3278, 3281, 3, 2, 2, 2, 3279, 3280, 3, 2, 2, 2, 3279, 3277, 3, 2, 2, 2, 3280, 431, 3, 2, 2, 2, 3281, 3279, 3, 2, 2, 2, 3282, 3283, 7, 364, 2, 2, 3283, 3284, 5, 384, 193, 2, 3284, 433, 3, 2, 2, 2, 3285, 3300, 7, 365, 2, 2, 3286, 3290, 7, 5, 2, 2, 3287, 3288, 7, 7, 2, 2, 3288, 3290, 7, 5, 2, 2, 3289, 3286, 3, 2, 2, 2, 3289, 3287, 3, 2, 2, 2, 3289, 3290, 3, 2, 2, 2, 3290, 3291, 3, 2, 2, 2, 3291, 3296, 5, 440, 221, 2, 3292, 3293, 7, 5, 2, 2, 3293, 3295, 5, 440, 221, 2, 3294, 3292, 3, 2, 2, 2, 3295, 3298, 3, 2, 2, 2, 3296, 3294, 3, 2, 2, 2, 3296, 3297, 3, 2, 2, 2, 3297, 3300, 3, 2, 2, 2, 3298, 3296, 3, 2, 2, 2, 3299, 3285, 3, 2, 2, 2, 3299, 3289, 3, 2, 2, 2, 3300, 435, 3, 2, 2, 2, 3301, 3302, 7, 145, 2, 2, 3302, 3303, 5, 442, 222, 2, 3303, 437, 3, 2, 2, 2, 3304, 3305, 7, 172, 2, 2, 3305, 3306, 5, 442, 222, 2, 3306, 439, 3, 2, 2, 2, 3307, 3309, 7, 11, 2, 2, 3308, 3307, 3, 2, 2, 2, 3308, 3309, 3, 2, 2, 2, 3309, 3312, 3, 2, 2, 2, 3310, 3313, 7, 19, 2, 2, 3311, 3313, 5, 452, 227, 2, 3312, 3310, 3, 2, 2, 2, 3312, 3311, 3, 2, 2, 2, 3313, 3321, 3, 2, 2, 2, 3314, 3317, 7, 7, 2, 2, 3315, 3318, 7, 19, 2, 2, 3316, 3318, 5, 452, 227, 2, 3317, 3315, 3, 2, 2, 2, 3317, 3316, 3, 2, 2, 2, 3318, 3320, 3, 2, 2, 2, 3319, 3314, 3, 2, 2, 2, 3320, 3323, 3, 2, 2, 2, 3321, 3319, 3, 2, 2, 2, 3321, 3322, 3, 2, 2, 2, 3322, 441, 3, 2, 2, 2, 3323, 3321, 3, 2, 2, 2, 3324, 3327, 7, 282, 2, 2, 3325, 3327, 7, 366, 2, 2, 3326, 3324, 3, 2, 2, 2, 3326, 3325, 3, 2, 2, 2, 3327, 443, 3, 2, 2, 2, 3328, 3330, 9, 48, 2, 2, 3329, 3328, 3, 2, 2, 2, 3329, 3330, 3, 2, 2, 2, 3330, 3331, 3, 2, 2, 2, 3331, 3332, 7, 74, 2, 2, 3332, 445, 3, 2, 2, 2, 3333, 3335, 9, 48, 2, 2, 3334, 3333, 3, 2, 2, 2, 3334, 3335, 3, 2, 2, 2, 3335, 3336, 3, 2, 2, 2, 3336, 3337, 7, 367, 2, 2, 3337, 447, 3, 2, 2, 2, 3338, 3339, 9, 49, 2, 2, 3339, 449, 3, 2, 2, 2, 3340, 3341, 7, 21, 2, 2, 3341, 451, 3, 2, 2, 2, 3342, 3343, 9, 50, 2, 2, 3343, 453, 3, 2, 2, 2, 426, 459, 462, 466, 469, 474, 481, 487, 489, 498, 501, 503, 566, 574, 590, 597, 600, 605, 609, 618, 623, 631, 636, 645, 657, 662, 665, 679, 686, 695, 712, 716, 724, 735, 745, 753, 760, 764, 768, 773, 777, 782, 786, 790, 800, 804, 809, 814, 818, 831, 836, 842, 851, 855, 863, 866, 871, 876, 883, 892, 895, 902, 908, 913, 919, 924, 927, 933, 947, 957, 963, 968, 973, 978, 982, 987, 990, 1000, 1012, 1019, 1022, 1034, 1039, 1044, 1047, 1054, 1066, 1079, 1081, 1086, 1089, 1104, 1110, 1121, 1124, 1134, 1141, 1147, 1155, 1165, 1185, 1191, 1195, 1200, 1204, 1209, 1212, 1217, 1220, 1232, 1239, 1244, 1249, 1253, 1258, 1261, 1271, 1283, 1290, 1298, 1313, 1344, 1346, 1351, 1355, 1360, 1367, 1370, 1373, 1378, 1382, 1384, 1391, 1397, 1404, 1410, 1413, 1418, 1422, 1425, 1432, 1438, 1441, 1451, 1460, 1467, 1474, 1476, 1482, 1485, 1496, 1505, 1511, 1517, 1520, 1525, 1528, 1531, 1534, 1537, 1543, 1553, 1564, 1567, 1574, 1579, 1584, 1588, 1596, 1600, 1605, 1609, 1611, 1616, 1624, 1629, 1635, 1642, 1645, 1652, 1660, 1668, 1671, 1674, 1679, 1688, 1692, 1702, 1721, 1728, 1730, 1734, 1738, 1746, 1757, 1766, 1774, 1782, 1786, 1794, 1812, 1826, 1833, 1837, 1844, 1846, 1850, 1859, 1867, 1876, 1892, 1898, 1902, 1912, 1920, 1929, 1933, 1939, 1944, 1948, 1958, 1964, 1968, 1980, 1987, 2003, 2010, 2020, 2023, 2027, 2034, 2041, 2043, 2047, 2051, 2056, 2059, 2063, 2066, 2077, 2080, 2091, 2097, 2101, 2103, 2107, 2116, 2123, 2127, 2131, 2138, 2142, 2150, 2156, 2160, 2171, 2178, 2191, 2199, 2203, 2213, 2218, 2231, 2242, 2250, 2254, 2258, 2262, 2264, 2269, 2272, 2275, 2278, 2282, 2285, 2288, 2291, 2294, 2301, 2312, 2316, 2319, 2323, 2330, 2334, 2344, 2352, 2358, 2362, 2368, 2377, 2380, 2385, 2388, 2398, 2403, 2412, 2417, 2421, 2430, 2434, 2448, 2461, 2466, 2470, 2476, 2487, 2489, 2496, 2499, 2506, 2511, 2517, 2520, 2523, 2538, 2545, 2548, 2551, 2555, 2560, 2566, 2570, 2581, 2585, 2588, 2592, 2596, 2600, 2604, 2610, 2616, 2623, 2631, 2637, 2642, 2653, 2662, 2666, 2675, 2679, 2689, 2694, 2716, 2719, 2738, 2754, 2756, 2767, 2782, 2794, 2798, 2809, 2813, 2825, 2829, 2840, 2845, 2850, 2854, 2858, 2863, 2867, 2871, 2894, 2896, 2914, 2916, 2924, 2929, 2934, 2939, 2952, 2957, 2962, 2967, 2972, 2977, 2982, 2987, 2989, 2996, 2999, 3010, 3020, 3028, 3037, 3043, 3060, 3063, 3079, 3082, 3098, 3101, 3117, 3120, 3136, 3139, 3155, 3158, 3172, 3187, 3191, 3207, 3213, 3218, 3227, 3234, 3236, 3242, 3246, 3252, 3267, 3274, 3279, 3289, 3296, 3299, 3308, 3312, 3317, 3321, 3326, 3329, 3334] \ No newline at end of file diff --git a/src/lib/hive/HiveSql.tokens b/src/lib/hive/HiveSql.tokens new file mode 100644 index 0000000..7ce6027 --- /dev/null +++ b/src/lib/hive/HiveSql.tokens @@ -0,0 +1,384 @@ +T__0=1 +T__1=2 +T__2=3 +T__3=4 +T__4=5 +T__5=6 +T__6=7 +T__7=8 +T__8=9 +T__9=10 +T_GO=11 +T_BEGIN=12 +T_SEMICOLON=13 +T_END=14 +T_EXCEPTION=15 +T_WHEN=16 +L_ID=17 +T_THEN=18 +T_NULL=19 +T_SET=20 +T_COMMA=21 +T_COLON=22 +T_EQUAL=23 +T_OPEN_P=24 +T_CLOSE_P=25 +T_ALLOCATE=26 +T_CURSOR=27 +T_FOR=28 +T_RESULT=29 +T_PROCEDURE=30 +T_ASSOCIATE=31 +T_LOCATOR=32 +T_LOCATORS=33 +T_WITH=34 +T_TRANSACTION=35 +T_BREAK=36 +T_CALL=37 +T_DECLARE=38 +T_AS=39 +T_CONSTANT=40 +T_CONDITION=41 +T_IS=42 +T_RETURN=43 +T_ONLY=44 +T_TO=45 +T_CALLER=46 +T_CLIENT=47 +T_WITHOUT=48 +T_CONTINUE=49 +T_EXIT=50 +T_HANDLER=51 +T_SQLEXCEPTION=52 +T_SQLWARNING=53 +T_NOT=54 +T_FOUND=55 +T_GLOBAL=56 +T_TEMPORARY=57 +T_TABLE=58 +T_CREATE=59 +T_IF=60 +T_EXISTS=61 +T_LOCAL=62 +T_MULTISET=63 +T_VOLATILE=64 +T_LIKE=65 +T_CONSTRAINT=66 +T_PRIMARY=67 +T_KEY=68 +T_UNIQUE=69 +T_REFERENCES=70 +T_IDENTITY=71 +L_INT=72 +T_AUTO_INCREMENT=73 +T_ENABLE=74 +T_CLUSTERED=75 +T_ASC=76 +T_DESC=77 +T_FOREIGN=78 +T_ON=79 +T_UPDATE=80 +T_DELETE=81 +T_NO=82 +T_ACTION=83 +T_RESTRICT=84 +T_DEFAULT=85 +T_CASCADE=86 +T_LOG=87 +T_FALLBACK=88 +T_COMMIT=89 +T_PRESERVE=90 +T_ROWS=91 +T_SEGMENT=92 +T_CREATION=93 +T_IMMEDIATE=94 +T_DEFERRED=95 +T_PCTFREE=96 +T_PCTUSED=97 +T_INITRANS=98 +T_MAXTRANS=99 +T_NOCOMPRESS=100 +T_LOGGING=101 +T_NOLOGGING=102 +T_STORAGE=103 +T_TABLESPACE=104 +T_INDEX=105 +T_IN=106 +T_REPLACE=107 +T_DISTRIBUTE=108 +T_BY=109 +T_HASH=110 +T_LOGGED=111 +T_COMPRESS=112 +T_YES=113 +T_DEFINITION=114 +T_DROP=115 +T_DATA=116 +T_STORED=117 +T_ROW=118 +T_FORMAT=119 +T_DELIMITED=120 +T_FIELDS=121 +T_TERMINATED=122 +T_ESCAPED=123 +T_COLLECTION=124 +T_ITEMS=125 +T_MAP=126 +T_KEYS=127 +T_LINES=128 +T_DEFINED=129 +T_TEXTIMAGE_ON=130 +T_COMMENT=131 +T_CHARACTER=132 +T_CHARSET=133 +T_ENGINE=134 +T_ALTER=135 +T_ADD2=136 +T_CHAR=137 +T_BIGINT=138 +T_BINARY_DOUBLE=139 +T_BINARY_FLOAT=140 +T_BINARY_INTEGER=141 +T_BIT=142 +T_DATE=143 +T_DATETIME=144 +T_DEC=145 +T_DECIMAL=146 +T_DOUBLE=147 +T_PRECISION=148 +T_FLOAT=149 +T_INT=150 +T_INT2=151 +T_INT4=152 +T_INT8=153 +T_INTEGER=154 +T_NCHAR=155 +T_NVARCHAR=156 +T_NUMBER=157 +T_NUMERIC=158 +T_PLS_INTEGER=159 +T_REAL=160 +T_RESULT_SET_LOCATOR=161 +T_VARYING=162 +T_SIMPLE_FLOAT=163 +T_SIMPLE_DOUBLE=164 +T_SIMPLE_INTEGER=165 +T_SMALLINT=166 +T_SMALLDATETIME=167 +T_STRING=168 +T_SYS_REFCURSOR=169 +T_TIMESTAMP=170 +T_TINYINT=171 +T_VARCHAR=172 +T_VARCHAR2=173 +T_XML=174 +T_TYPE=175 +T_ROWTYPE=176 +T_MAX=177 +T_BYTE=178 +T_CASESPECIFIC=179 +T_CS=180 +T_DATABASE=181 +T_SCHEMA=182 +T_LOCATION=183 +T_OR=184 +T_FUNCTION=185 +T_RETURNS=186 +T_PACKAGE=187 +T_PROC=188 +T_BODY=189 +T_OUT=190 +T_INOUT=191 +T_LANGUAGE=192 +T_SQL=193 +T_SECURITY=194 +T_CREATOR=195 +T_DEFINER=196 +T_INVOKER=197 +T_OWNER=198 +T_DYNAMIC=199 +T_SETS=200 +T_EXEC=201 +T_EXECUTE=202 +T_INTO=203 +T_ELSE=204 +T_ELSIF=205 +T_ELSEIF=206 +T_INCLUDE=207 +T_INSERT=208 +T_OVERWRITE=209 +T_VALUES=210 +T_DIRECTORY=211 +T_GET=212 +T_DIAGNOSTICS=213 +T_MESSAGE_TEXT=214 +T_ROW_COUNT=215 +T_GRANT=216 +T_ROLE=217 +T_LEAVE=218 +T_OBJECT=219 +T_AT=220 +T_OPEN=221 +T_FETCH=222 +T_FROM=223 +T_COLLECT=224 +T_STATISTICS=225 +T_STATS=226 +T_COLUMN=227 +T_CLOSE=228 +T_CMP=229 +T_SUM=230 +T_COPY=231 +T_HDFS=232 +T_BATCHSIZE=233 +T_DELIMITER=234 +T_SQLINSERT=235 +T_IGNORE=236 +T_WORK=237 +T_PRINT=238 +T_QUIT=239 +T_RAISE=240 +T_RESIGNAL=241 +T_SQLSTATE=242 +T_VALUE=243 +T_ROLLBACK=244 +T_CURRENT=245 +T_CURRENT_SCHEMA=246 +T_ANSI_NULLS=247 +T_ANSI_PADDING=248 +T_NOCOUNT=249 +T_QUOTED_IDENTIFIER=250 +T_XACT_ABORT=251 +T_OFF=252 +T_QUERY_BAND=253 +T_NONE=254 +T_SESSION=255 +T_SIGNAL=256 +T_SUMMARY=257 +T_TOP=258 +T_LIMIT=259 +T_TRUNCATE=260 +T_USE=261 +T_WHILE=262 +T_DO=263 +T_LOOP=264 +T_REVERSE=265 +T_DOT2=266 +T_STEP=267 +L_LABEL=268 +T_LESS=269 +T_GREATER=270 +T_USING=271 +T_UNION=272 +T_ALL=273 +T_EXCEPT=274 +T_INTERSECT=275 +T_SELECT=276 +T_SEL=277 +T_DISTINCT=278 +T_TITLE=279 +L_S_STRING=280 +T_INNER=281 +T_JOIN=282 +T_LEFT=283 +T_RIGHT=284 +T_FULL=285 +T_OUTER=286 +T_WHERE=287 +T_GROUP=288 +T_HAVING=289 +T_QUALIFY=290 +T_ORDER=291 +T_RR=292 +T_RS=293 +T_UR=294 +T_AND=295 +T_KEEP=296 +T_EXCLUSIVE=297 +T_SHARE=298 +T_LOCKS=299 +T_MERGE=300 +T_MATCHED=301 +T_DESCRIBE=302 +T_BETWEEN=303 +T_EQUAL2=304 +T_NOTEQUAL=305 +T_NOTEQUAL2=306 +T_LESSEQUAL=307 +T_GREATEREQUAL=308 +T_RLIKE=309 +T_REGEXP=310 +T_MUL=311 +T_DIV=312 +T_ADD=313 +T_SUB=314 +T_INTERVAL=315 +T_DAY=316 +T_DAYS=317 +T_MICROSECOND=318 +T_MICROSECONDS=319 +T_SECOND=320 +T_SECONDS=321 +T_PIPE=322 +T_CONCAT=323 +T_CASE=324 +T_ISOPEN=325 +T_NOTFOUND=326 +T_AVG=327 +T_COUNT=328 +T_COUNT_BIG=329 +T_CUME_DIST=330 +T_DENSE_RANK=331 +T_FIRST_VALUE=332 +T_LAG=333 +T_LAST_VALUE=334 +T_LEAD=335 +T_MIN=336 +T_RANK=337 +T_ROW_NUMBER=338 +T_STDEV=339 +T_VAR=340 +T_VARIANCE=341 +T_OVER=342 +T_PARTITION=343 +T_ACTIVITY_COUNT=344 +T_CAST=345 +T_CURRENT_DATE=346 +T_CURRENT_TIMESTAMP=347 +T_CURRENT_USER=348 +T_USER=349 +T_MAX_PART_STRING=350 +T_MIN_PART_STRING=351 +T_MAX_PART_INT=352 +T_MIN_PART_INT=353 +T_MAX_PART_DATE=354 +T_MIN_PART_DATE=355 +T_PART_COUNT=356 +T_PART_LOC=357 +T_TRIM=358 +T_SUBSTRING=359 +T_SYSDATE=360 +T_HIVE=361 +T_HOST=362 +L_FILE=363 +L_D_STRING=364 +L_DEC=365 +T_TRUE=366 +T_FALSE=367 +T_DIR=368 +T_FILE=369 +T_FILES=370 +T_NEW=371 +T_PWD=372 +T_SESSIONS=373 +T_SUBDIR=374 +'@'=1 +'#'=2 +'/'=3 +'%'=4 +'.'=5 +'*'=6 +'!'=7 +';'=8 +'-'=9 +'+'=10 diff --git a/src/lib/hive/HiveSqlLexer.interp b/src/lib/hive/HiveSqlLexer.interp new file mode 100644 index 0000000..4a6bed6 --- /dev/null +++ b/src/lib/hive/HiveSqlLexer.interp @@ -0,0 +1,47 @@ +token literal names: +null +'@' +'#' +'/' +'%' +'.' +'*' +'!' +';' +'-' +'+' + +token symbolic names: +null +null +null +null +null +null +null +null +null +null +null + +rule names: +T__0 +T__1 +T__2 +T__3 +T__4 +T__5 +T__6 +T__7 +T__8 +T__9 + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 12, 43, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 2, 2, 12, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 3, 2, 2, 2, 42, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 3, 23, 3, 2, 2, 2, 5, 25, 3, 2, 2, 2, 7, 27, 3, 2, 2, 2, 9, 29, 3, 2, 2, 2, 11, 31, 3, 2, 2, 2, 13, 33, 3, 2, 2, 2, 15, 35, 3, 2, 2, 2, 17, 37, 3, 2, 2, 2, 19, 39, 3, 2, 2, 2, 21, 41, 3, 2, 2, 2, 23, 24, 7, 66, 2, 2, 24, 4, 3, 2, 2, 2, 25, 26, 7, 37, 2, 2, 26, 6, 3, 2, 2, 2, 27, 28, 7, 49, 2, 2, 28, 8, 3, 2, 2, 2, 29, 30, 7, 39, 2, 2, 30, 10, 3, 2, 2, 2, 31, 32, 7, 48, 2, 2, 32, 12, 3, 2, 2, 2, 33, 34, 7, 44, 2, 2, 34, 14, 3, 2, 2, 2, 35, 36, 7, 35, 2, 2, 36, 16, 3, 2, 2, 2, 37, 38, 7, 61, 2, 2, 38, 18, 3, 2, 2, 2, 39, 40, 7, 47, 2, 2, 40, 20, 3, 2, 2, 2, 41, 42, 7, 45, 2, 2, 42, 22, 3, 2, 2, 2, 3, 2, 2] \ No newline at end of file diff --git a/src/lib/hive/HiveSqlLexer.js b/src/lib/hive/HiveSqlLexer.js new file mode 100644 index 0000000..748797c --- /dev/null +++ b/src/lib/hive/HiveSqlLexer.js @@ -0,0 +1,85 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/hive/HiveSql.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + + + +var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", + "\u0002\f+\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004", + "\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007", + "\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0003\u0002", + "\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0003\u0005", + "\u0003\u0005\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003\b", + "\u0003\b\u0003\t\u0003\t\u0003\n\u0003\n\u0003\u000b\u0003\u000b\u0002", + "\u0002\f\u0003\u0003\u0005\u0004\u0007\u0005\t\u0006\u000b\u0007\r\b", + "\u000f\t\u0011\n\u0013\u000b\u0015\f\u0003\u0002\u0002\u0002*\u0002", + "\u0003\u0003\u0002\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002\u0002", + "\u0007\u0003\u0002\u0002\u0002\u0002\t\u0003\u0002\u0002\u0002\u0002", + "\u000b\u0003\u0002\u0002\u0002\u0002\r\u0003\u0002\u0002\u0002\u0002", + "\u000f\u0003\u0002\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002\u0002", + "\u0013\u0003\u0002\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002\u0003", + "\u0017\u0003\u0002\u0002\u0002\u0005\u0019\u0003\u0002\u0002\u0002\u0007", + "\u001b\u0003\u0002\u0002\u0002\t\u001d\u0003\u0002\u0002\u0002\u000b", + "\u001f\u0003\u0002\u0002\u0002\r!\u0003\u0002\u0002\u0002\u000f#\u0003", + "\u0002\u0002\u0002\u0011%\u0003\u0002\u0002\u0002\u0013\'\u0003\u0002", + "\u0002\u0002\u0015)\u0003\u0002\u0002\u0002\u0017\u0018\u0007B\u0002", + "\u0002\u0018\u0004\u0003\u0002\u0002\u0002\u0019\u001a\u0007%\u0002", + "\u0002\u001a\u0006\u0003\u0002\u0002\u0002\u001b\u001c\u00071\u0002", + "\u0002\u001c\b\u0003\u0002\u0002\u0002\u001d\u001e\u0007\'\u0002\u0002", + "\u001e\n\u0003\u0002\u0002\u0002\u001f \u00070\u0002\u0002 \f\u0003", + "\u0002\u0002\u0002!\"\u0007,\u0002\u0002\"\u000e\u0003\u0002\u0002\u0002", + "#$\u0007#\u0002\u0002$\u0010\u0003\u0002\u0002\u0002%&\u0007=\u0002", + "\u0002&\u0012\u0003\u0002\u0002\u0002\'(\u0007/\u0002\u0002(\u0014\u0003", + "\u0002\u0002\u0002)*\u0007-\u0002\u0002*\u0016\u0003\u0002\u0002\u0002", + "\u0003\u0002\u0002"].join(""); + + +var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); + +var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); + +function HiveSqlLexer(input) { + antlr4.Lexer.call(this, input); + this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache()); + return this; +} + +HiveSqlLexer.prototype = Object.create(antlr4.Lexer.prototype); +HiveSqlLexer.prototype.constructor = HiveSqlLexer; + +Object.defineProperty(HiveSqlLexer.prototype, "atn", { + get : function() { + return atn; + } +}); + +HiveSqlLexer.EOF = antlr4.Token.EOF; +HiveSqlLexer.T__0 = 1; +HiveSqlLexer.T__1 = 2; +HiveSqlLexer.T__2 = 3; +HiveSqlLexer.T__3 = 4; +HiveSqlLexer.T__4 = 5; +HiveSqlLexer.T__5 = 6; +HiveSqlLexer.T__6 = 7; +HiveSqlLexer.T__7 = 8; +HiveSqlLexer.T__8 = 9; +HiveSqlLexer.T__9 = 10; + +HiveSqlLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; + +HiveSqlLexer.prototype.modeNames = [ "DEFAULT_MODE" ]; + +HiveSqlLexer.prototype.literalNames = [ null, "'@'", "'#'", "'/'", "'%'", + "'.'", "'*'", "'!'", "';'", "'-'", + "'+'" ]; + +HiveSqlLexer.prototype.symbolicNames = [ ]; + +HiveSqlLexer.prototype.ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", + "T__5", "T__6", "T__7", "T__8", "T__9" ]; + +HiveSqlLexer.prototype.grammarFileName = "HiveSql.g4"; + + +exports.HiveSqlLexer = HiveSqlLexer; + diff --git a/src/lib/hive/HiveSqlLexer.tokens b/src/lib/hive/HiveSqlLexer.tokens new file mode 100644 index 0000000..891ccf7 --- /dev/null +++ b/src/lib/hive/HiveSqlLexer.tokens @@ -0,0 +1,20 @@ +T__0=1 +T__1=2 +T__2=3 +T__3=4 +T__4=5 +T__5=6 +T__6=7 +T__7=8 +T__8=9 +T__9=10 +'@'=1 +'#'=2 +'/'=3 +'%'=4 +'.'=5 +'*'=6 +'!'=7 +';'=8 +'-'=9 +'+'=10 diff --git a/src/lib/hive/HiveSqlListener.js b/src/lib/hive/HiveSqlListener.js new file mode 100644 index 0000000..7f0223a --- /dev/null +++ b/src/lib/hive/HiveSqlListener.js @@ -0,0 +1,2058 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/hive/HiveSql.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + +// This class defines a complete listener for a parse tree produced by HiveSqlParser. +function HiveSqlListener() { + antlr4.tree.ParseTreeListener.call(this); + return this; +} + +HiveSqlListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype); +HiveSqlListener.prototype.constructor = HiveSqlListener; + +// Enter a parse tree produced by HiveSqlParser#program. +HiveSqlListener.prototype.enterProgram = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#program. +HiveSqlListener.prototype.exitProgram = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#block. +HiveSqlListener.prototype.enterBlock = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#block. +HiveSqlListener.prototype.exitBlock = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#begin_end_block. +HiveSqlListener.prototype.enterBegin_end_block = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#begin_end_block. +HiveSqlListener.prototype.exitBegin_end_block = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#single_block_stmt. +HiveSqlListener.prototype.enterSingle_block_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#single_block_stmt. +HiveSqlListener.prototype.exitSingle_block_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#block_end. +HiveSqlListener.prototype.enterBlock_end = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#block_end. +HiveSqlListener.prototype.exitBlock_end = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#proc_block. +HiveSqlListener.prototype.enterProc_block = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#proc_block. +HiveSqlListener.prototype.exitProc_block = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#stmt. +HiveSqlListener.prototype.enterStmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#stmt. +HiveSqlListener.prototype.exitStmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#semicolon_stmt. +HiveSqlListener.prototype.enterSemicolon_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#semicolon_stmt. +HiveSqlListener.prototype.exitSemicolon_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#exception_block. +HiveSqlListener.prototype.enterException_block = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#exception_block. +HiveSqlListener.prototype.exitException_block = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#exception_block_item. +HiveSqlListener.prototype.enterException_block_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#exception_block_item. +HiveSqlListener.prototype.exitException_block_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#null_stmt. +HiveSqlListener.prototype.enterNull_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#null_stmt. +HiveSqlListener.prototype.exitNull_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_stmt. +HiveSqlListener.prototype.enterExpr_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_stmt. +HiveSqlListener.prototype.exitExpr_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#assignment_stmt. +HiveSqlListener.prototype.enterAssignment_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#assignment_stmt. +HiveSqlListener.prototype.exitAssignment_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#assignment_stmt_item. +HiveSqlListener.prototype.enterAssignment_stmt_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#assignment_stmt_item. +HiveSqlListener.prototype.exitAssignment_stmt_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#assignment_stmt_single_item. +HiveSqlListener.prototype.enterAssignment_stmt_single_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#assignment_stmt_single_item. +HiveSqlListener.prototype.exitAssignment_stmt_single_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#assignment_stmt_multiple_item. +HiveSqlListener.prototype.enterAssignment_stmt_multiple_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#assignment_stmt_multiple_item. +HiveSqlListener.prototype.exitAssignment_stmt_multiple_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#assignment_stmt_select_item. +HiveSqlListener.prototype.enterAssignment_stmt_select_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#assignment_stmt_select_item. +HiveSqlListener.prototype.exitAssignment_stmt_select_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#allocate_cursor_stmt. +HiveSqlListener.prototype.enterAllocate_cursor_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#allocate_cursor_stmt. +HiveSqlListener.prototype.exitAllocate_cursor_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#associate_locator_stmt. +HiveSqlListener.prototype.enterAssociate_locator_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#associate_locator_stmt. +HiveSqlListener.prototype.exitAssociate_locator_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#begin_transaction_stmt. +HiveSqlListener.prototype.enterBegin_transaction_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#begin_transaction_stmt. +HiveSqlListener.prototype.exitBegin_transaction_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#break_stmt. +HiveSqlListener.prototype.enterBreak_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#break_stmt. +HiveSqlListener.prototype.exitBreak_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#call_stmt. +HiveSqlListener.prototype.enterCall_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#call_stmt. +HiveSqlListener.prototype.exitCall_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_stmt. +HiveSqlListener.prototype.enterDeclare_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_stmt. +HiveSqlListener.prototype.exitDeclare_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_block. +HiveSqlListener.prototype.enterDeclare_block = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_block. +HiveSqlListener.prototype.exitDeclare_block = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_block_inplace. +HiveSqlListener.prototype.enterDeclare_block_inplace = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_block_inplace. +HiveSqlListener.prototype.exitDeclare_block_inplace = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_stmt_item. +HiveSqlListener.prototype.enterDeclare_stmt_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_stmt_item. +HiveSqlListener.prototype.exitDeclare_stmt_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_var_item. +HiveSqlListener.prototype.enterDeclare_var_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_var_item. +HiveSqlListener.prototype.exitDeclare_var_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_condition_item. +HiveSqlListener.prototype.enterDeclare_condition_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_condition_item. +HiveSqlListener.prototype.exitDeclare_condition_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_cursor_item. +HiveSqlListener.prototype.enterDeclare_cursor_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_cursor_item. +HiveSqlListener.prototype.exitDeclare_cursor_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#cursor_with_return. +HiveSqlListener.prototype.enterCursor_with_return = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#cursor_with_return. +HiveSqlListener.prototype.exitCursor_with_return = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#cursor_without_return. +HiveSqlListener.prototype.enterCursor_without_return = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#cursor_without_return. +HiveSqlListener.prototype.exitCursor_without_return = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_handler_item. +HiveSqlListener.prototype.enterDeclare_handler_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_handler_item. +HiveSqlListener.prototype.exitDeclare_handler_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#declare_temporary_table_item. +HiveSqlListener.prototype.enterDeclare_temporary_table_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#declare_temporary_table_item. +HiveSqlListener.prototype.exitDeclare_temporary_table_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_stmt. +HiveSqlListener.prototype.enterCreate_table_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_stmt. +HiveSqlListener.prototype.exitCreate_table_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_local_temp_table_stmt. +HiveSqlListener.prototype.enterCreate_local_temp_table_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_local_temp_table_stmt. +HiveSqlListener.prototype.exitCreate_local_temp_table_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_definition. +HiveSqlListener.prototype.enterCreate_table_definition = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_definition. +HiveSqlListener.prototype.exitCreate_table_definition = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_columns. +HiveSqlListener.prototype.enterCreate_table_columns = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_columns. +HiveSqlListener.prototype.exitCreate_table_columns = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_columns_item. +HiveSqlListener.prototype.enterCreate_table_columns_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_columns_item. +HiveSqlListener.prototype.exitCreate_table_columns_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#column_name. +HiveSqlListener.prototype.enterColumn_name = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#column_name. +HiveSqlListener.prototype.exitColumn_name = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_column_inline_cons. +HiveSqlListener.prototype.enterCreate_table_column_inline_cons = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_column_inline_cons. +HiveSqlListener.prototype.exitCreate_table_column_inline_cons = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_column_cons. +HiveSqlListener.prototype.enterCreate_table_column_cons = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_column_cons. +HiveSqlListener.prototype.exitCreate_table_column_cons = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_fk_action. +HiveSqlListener.prototype.enterCreate_table_fk_action = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_fk_action. +HiveSqlListener.prototype.exitCreate_table_fk_action = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_preoptions. +HiveSqlListener.prototype.enterCreate_table_preoptions = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_preoptions. +HiveSqlListener.prototype.exitCreate_table_preoptions = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_preoptions_item. +HiveSqlListener.prototype.enterCreate_table_preoptions_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_preoptions_item. +HiveSqlListener.prototype.exitCreate_table_preoptions_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_preoptions_td_item. +HiveSqlListener.prototype.enterCreate_table_preoptions_td_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_preoptions_td_item. +HiveSqlListener.prototype.exitCreate_table_preoptions_td_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_options. +HiveSqlListener.prototype.enterCreate_table_options = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_options. +HiveSqlListener.prototype.exitCreate_table_options = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_options_item. +HiveSqlListener.prototype.enterCreate_table_options_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_options_item. +HiveSqlListener.prototype.exitCreate_table_options_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_options_ora_item. +HiveSqlListener.prototype.enterCreate_table_options_ora_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_options_ora_item. +HiveSqlListener.prototype.exitCreate_table_options_ora_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_options_db2_item. +HiveSqlListener.prototype.enterCreate_table_options_db2_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_options_db2_item. +HiveSqlListener.prototype.exitCreate_table_options_db2_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_options_td_item. +HiveSqlListener.prototype.enterCreate_table_options_td_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_options_td_item. +HiveSqlListener.prototype.exitCreate_table_options_td_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_options_hive_item. +HiveSqlListener.prototype.enterCreate_table_options_hive_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_options_hive_item. +HiveSqlListener.prototype.exitCreate_table_options_hive_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_hive_row_format. +HiveSqlListener.prototype.enterCreate_table_hive_row_format = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_hive_row_format. +HiveSqlListener.prototype.exitCreate_table_hive_row_format = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_hive_row_format_fields. +HiveSqlListener.prototype.enterCreate_table_hive_row_format_fields = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_hive_row_format_fields. +HiveSqlListener.prototype.exitCreate_table_hive_row_format_fields = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_options_mssql_item. +HiveSqlListener.prototype.enterCreate_table_options_mssql_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_options_mssql_item. +HiveSqlListener.prototype.exitCreate_table_options_mssql_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_table_options_mysql_item. +HiveSqlListener.prototype.enterCreate_table_options_mysql_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_table_options_mysql_item. +HiveSqlListener.prototype.exitCreate_table_options_mysql_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#alter_table_stmt. +HiveSqlListener.prototype.enterAlter_table_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#alter_table_stmt. +HiveSqlListener.prototype.exitAlter_table_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#alter_table_item. +HiveSqlListener.prototype.enterAlter_table_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#alter_table_item. +HiveSqlListener.prototype.exitAlter_table_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#alter_table_add_constraint. +HiveSqlListener.prototype.enterAlter_table_add_constraint = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#alter_table_add_constraint. +HiveSqlListener.prototype.exitAlter_table_add_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#alter_table_add_constraint_item. +HiveSqlListener.prototype.enterAlter_table_add_constraint_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#alter_table_add_constraint_item. +HiveSqlListener.prototype.exitAlter_table_add_constraint_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#dtype. +HiveSqlListener.prototype.enterDtype = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#dtype. +HiveSqlListener.prototype.exitDtype = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#dtype_len. +HiveSqlListener.prototype.enterDtype_len = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#dtype_len. +HiveSqlListener.prototype.exitDtype_len = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#dtype_attr. +HiveSqlListener.prototype.enterDtype_attr = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#dtype_attr. +HiveSqlListener.prototype.exitDtype_attr = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#dtype_default. +HiveSqlListener.prototype.enterDtype_default = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#dtype_default. +HiveSqlListener.prototype.exitDtype_default = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_database_stmt. +HiveSqlListener.prototype.enterCreate_database_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_database_stmt. +HiveSqlListener.prototype.exitCreate_database_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_database_option. +HiveSqlListener.prototype.enterCreate_database_option = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_database_option. +HiveSqlListener.prototype.exitCreate_database_option = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_function_stmt. +HiveSqlListener.prototype.enterCreate_function_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_function_stmt. +HiveSqlListener.prototype.exitCreate_function_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_function_return. +HiveSqlListener.prototype.enterCreate_function_return = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_function_return. +HiveSqlListener.prototype.exitCreate_function_return = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_package_stmt. +HiveSqlListener.prototype.enterCreate_package_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_package_stmt. +HiveSqlListener.prototype.exitCreate_package_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#package_spec. +HiveSqlListener.prototype.enterPackage_spec = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#package_spec. +HiveSqlListener.prototype.exitPackage_spec = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#package_spec_item. +HiveSqlListener.prototype.enterPackage_spec_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#package_spec_item. +HiveSqlListener.prototype.exitPackage_spec_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_package_body_stmt. +HiveSqlListener.prototype.enterCreate_package_body_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_package_body_stmt. +HiveSqlListener.prototype.exitCreate_package_body_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#package_body. +HiveSqlListener.prototype.enterPackage_body = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#package_body. +HiveSqlListener.prototype.exitPackage_body = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#package_body_item. +HiveSqlListener.prototype.enterPackage_body_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#package_body_item. +HiveSqlListener.prototype.exitPackage_body_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_procedure_stmt. +HiveSqlListener.prototype.enterCreate_procedure_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_procedure_stmt. +HiveSqlListener.prototype.exitCreate_procedure_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_routine_params. +HiveSqlListener.prototype.enterCreate_routine_params = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_routine_params. +HiveSqlListener.prototype.exitCreate_routine_params = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_routine_param_item. +HiveSqlListener.prototype.enterCreate_routine_param_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_routine_param_item. +HiveSqlListener.prototype.exitCreate_routine_param_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_routine_options. +HiveSqlListener.prototype.enterCreate_routine_options = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_routine_options. +HiveSqlListener.prototype.exitCreate_routine_options = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_routine_option. +HiveSqlListener.prototype.enterCreate_routine_option = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_routine_option. +HiveSqlListener.prototype.exitCreate_routine_option = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#drop_stmt. +HiveSqlListener.prototype.enterDrop_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#drop_stmt. +HiveSqlListener.prototype.exitDrop_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#end_transaction_stmt. +HiveSqlListener.prototype.enterEnd_transaction_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#end_transaction_stmt. +HiveSqlListener.prototype.exitEnd_transaction_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#exec_stmt. +HiveSqlListener.prototype.enterExec_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#exec_stmt. +HiveSqlListener.prototype.exitExec_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#if_stmt. +HiveSqlListener.prototype.enterIf_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#if_stmt. +HiveSqlListener.prototype.exitIf_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#if_plsql_stmt. +HiveSqlListener.prototype.enterIf_plsql_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#if_plsql_stmt. +HiveSqlListener.prototype.exitIf_plsql_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#if_tsql_stmt. +HiveSqlListener.prototype.enterIf_tsql_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#if_tsql_stmt. +HiveSqlListener.prototype.exitIf_tsql_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#if_bteq_stmt. +HiveSqlListener.prototype.enterIf_bteq_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#if_bteq_stmt. +HiveSqlListener.prototype.exitIf_bteq_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#elseif_block. +HiveSqlListener.prototype.enterElseif_block = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#elseif_block. +HiveSqlListener.prototype.exitElseif_block = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#else_block. +HiveSqlListener.prototype.enterElse_block = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#else_block. +HiveSqlListener.prototype.exitElse_block = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#include_stmt. +HiveSqlListener.prototype.enterInclude_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#include_stmt. +HiveSqlListener.prototype.exitInclude_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#insert_stmt. +HiveSqlListener.prototype.enterInsert_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#insert_stmt. +HiveSqlListener.prototype.exitInsert_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#insert_stmt_cols. +HiveSqlListener.prototype.enterInsert_stmt_cols = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#insert_stmt_cols. +HiveSqlListener.prototype.exitInsert_stmt_cols = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#insert_stmt_rows. +HiveSqlListener.prototype.enterInsert_stmt_rows = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#insert_stmt_rows. +HiveSqlListener.prototype.exitInsert_stmt_rows = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#insert_stmt_row. +HiveSqlListener.prototype.enterInsert_stmt_row = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#insert_stmt_row. +HiveSqlListener.prototype.exitInsert_stmt_row = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#insert_directory_stmt. +HiveSqlListener.prototype.enterInsert_directory_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#insert_directory_stmt. +HiveSqlListener.prototype.exitInsert_directory_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#exit_stmt. +HiveSqlListener.prototype.enterExit_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#exit_stmt. +HiveSqlListener.prototype.exitExit_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#get_diag_stmt. +HiveSqlListener.prototype.enterGet_diag_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#get_diag_stmt. +HiveSqlListener.prototype.exitGet_diag_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#get_diag_stmt_item. +HiveSqlListener.prototype.enterGet_diag_stmt_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#get_diag_stmt_item. +HiveSqlListener.prototype.exitGet_diag_stmt_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#get_diag_stmt_exception_item. +HiveSqlListener.prototype.enterGet_diag_stmt_exception_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#get_diag_stmt_exception_item. +HiveSqlListener.prototype.exitGet_diag_stmt_exception_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#get_diag_stmt_rowcount_item. +HiveSqlListener.prototype.enterGet_diag_stmt_rowcount_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#get_diag_stmt_rowcount_item. +HiveSqlListener.prototype.exitGet_diag_stmt_rowcount_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#grant_stmt. +HiveSqlListener.prototype.enterGrant_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#grant_stmt. +HiveSqlListener.prototype.exitGrant_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#grant_stmt_item. +HiveSqlListener.prototype.enterGrant_stmt_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#grant_stmt_item. +HiveSqlListener.prototype.exitGrant_stmt_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#leave_stmt. +HiveSqlListener.prototype.enterLeave_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#leave_stmt. +HiveSqlListener.prototype.exitLeave_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#map_object_stmt. +HiveSqlListener.prototype.enterMap_object_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#map_object_stmt. +HiveSqlListener.prototype.exitMap_object_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#open_stmt. +HiveSqlListener.prototype.enterOpen_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#open_stmt. +HiveSqlListener.prototype.exitOpen_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#fetch_stmt. +HiveSqlListener.prototype.enterFetch_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#fetch_stmt. +HiveSqlListener.prototype.exitFetch_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#collect_stats_stmt. +HiveSqlListener.prototype.enterCollect_stats_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#collect_stats_stmt. +HiveSqlListener.prototype.exitCollect_stats_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#collect_stats_clause. +HiveSqlListener.prototype.enterCollect_stats_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#collect_stats_clause. +HiveSqlListener.prototype.exitCollect_stats_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#close_stmt. +HiveSqlListener.prototype.enterClose_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#close_stmt. +HiveSqlListener.prototype.exitClose_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#cmp_stmt. +HiveSqlListener.prototype.enterCmp_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#cmp_stmt. +HiveSqlListener.prototype.exitCmp_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#cmp_source. +HiveSqlListener.prototype.enterCmp_source = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#cmp_source. +HiveSqlListener.prototype.exitCmp_source = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#copy_from_local_stmt. +HiveSqlListener.prototype.enterCopy_from_local_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#copy_from_local_stmt. +HiveSqlListener.prototype.exitCopy_from_local_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#copy_stmt. +HiveSqlListener.prototype.enterCopy_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#copy_stmt. +HiveSqlListener.prototype.exitCopy_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#copy_source. +HiveSqlListener.prototype.enterCopy_source = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#copy_source. +HiveSqlListener.prototype.exitCopy_source = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#copy_target. +HiveSqlListener.prototype.enterCopy_target = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#copy_target. +HiveSqlListener.prototype.exitCopy_target = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#copy_option. +HiveSqlListener.prototype.enterCopy_option = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#copy_option. +HiveSqlListener.prototype.exitCopy_option = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#copy_file_option. +HiveSqlListener.prototype.enterCopy_file_option = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#copy_file_option. +HiveSqlListener.prototype.exitCopy_file_option = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#commit_stmt. +HiveSqlListener.prototype.enterCommit_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#commit_stmt. +HiveSqlListener.prototype.exitCommit_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_index_stmt. +HiveSqlListener.prototype.enterCreate_index_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_index_stmt. +HiveSqlListener.prototype.exitCreate_index_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#create_index_col. +HiveSqlListener.prototype.enterCreate_index_col = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#create_index_col. +HiveSqlListener.prototype.exitCreate_index_col = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#index_storage_clause. +HiveSqlListener.prototype.enterIndex_storage_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#index_storage_clause. +HiveSqlListener.prototype.exitIndex_storage_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#index_mssql_storage_clause. +HiveSqlListener.prototype.enterIndex_mssql_storage_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#index_mssql_storage_clause. +HiveSqlListener.prototype.exitIndex_mssql_storage_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#print_stmt. +HiveSqlListener.prototype.enterPrint_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#print_stmt. +HiveSqlListener.prototype.exitPrint_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#quit_stmt. +HiveSqlListener.prototype.enterQuit_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#quit_stmt. +HiveSqlListener.prototype.exitQuit_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#raise_stmt. +HiveSqlListener.prototype.enterRaise_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#raise_stmt. +HiveSqlListener.prototype.exitRaise_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#resignal_stmt. +HiveSqlListener.prototype.enterResignal_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#resignal_stmt. +HiveSqlListener.prototype.exitResignal_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#return_stmt. +HiveSqlListener.prototype.enterReturn_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#return_stmt. +HiveSqlListener.prototype.exitReturn_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#rollback_stmt. +HiveSqlListener.prototype.enterRollback_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#rollback_stmt. +HiveSqlListener.prototype.exitRollback_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#set_session_option. +HiveSqlListener.prototype.enterSet_session_option = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#set_session_option. +HiveSqlListener.prototype.exitSet_session_option = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#set_current_schema_option. +HiveSqlListener.prototype.enterSet_current_schema_option = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#set_current_schema_option. +HiveSqlListener.prototype.exitSet_current_schema_option = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#set_mssql_session_option. +HiveSqlListener.prototype.enterSet_mssql_session_option = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#set_mssql_session_option. +HiveSqlListener.prototype.exitSet_mssql_session_option = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#set_teradata_session_option. +HiveSqlListener.prototype.enterSet_teradata_session_option = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#set_teradata_session_option. +HiveSqlListener.prototype.exitSet_teradata_session_option = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#signal_stmt. +HiveSqlListener.prototype.enterSignal_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#signal_stmt. +HiveSqlListener.prototype.exitSignal_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#summary_stmt. +HiveSqlListener.prototype.enterSummary_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#summary_stmt. +HiveSqlListener.prototype.exitSummary_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#truncate_stmt. +HiveSqlListener.prototype.enterTruncate_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#truncate_stmt. +HiveSqlListener.prototype.exitTruncate_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#use_stmt. +HiveSqlListener.prototype.enterUse_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#use_stmt. +HiveSqlListener.prototype.exitUse_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#values_into_stmt. +HiveSqlListener.prototype.enterValues_into_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#values_into_stmt. +HiveSqlListener.prototype.exitValues_into_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#while_stmt. +HiveSqlListener.prototype.enterWhile_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#while_stmt. +HiveSqlListener.prototype.exitWhile_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#for_cursor_stmt. +HiveSqlListener.prototype.enterFor_cursor_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#for_cursor_stmt. +HiveSqlListener.prototype.exitFor_cursor_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#for_range_stmt. +HiveSqlListener.prototype.enterFor_range_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#for_range_stmt. +HiveSqlListener.prototype.exitFor_range_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#label. +HiveSqlListener.prototype.enterLabel = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#label. +HiveSqlListener.prototype.exitLabel = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#using_clause. +HiveSqlListener.prototype.enterUsing_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#using_clause. +HiveSqlListener.prototype.exitUsing_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_stmt. +HiveSqlListener.prototype.enterSelect_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_stmt. +HiveSqlListener.prototype.exitSelect_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#cte_select_stmt. +HiveSqlListener.prototype.enterCte_select_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#cte_select_stmt. +HiveSqlListener.prototype.exitCte_select_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#cte_select_stmt_item. +HiveSqlListener.prototype.enterCte_select_stmt_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#cte_select_stmt_item. +HiveSqlListener.prototype.exitCte_select_stmt_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#cte_select_cols. +HiveSqlListener.prototype.enterCte_select_cols = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#cte_select_cols. +HiveSqlListener.prototype.exitCte_select_cols = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#fullselect_stmt. +HiveSqlListener.prototype.enterFullselect_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#fullselect_stmt. +HiveSqlListener.prototype.exitFullselect_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#fullselect_stmt_item. +HiveSqlListener.prototype.enterFullselect_stmt_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#fullselect_stmt_item. +HiveSqlListener.prototype.exitFullselect_stmt_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#fullselect_set_clause. +HiveSqlListener.prototype.enterFullselect_set_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#fullselect_set_clause. +HiveSqlListener.prototype.exitFullselect_set_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#subselect_stmt. +HiveSqlListener.prototype.enterSubselect_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#subselect_stmt. +HiveSqlListener.prototype.exitSubselect_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_list. +HiveSqlListener.prototype.enterSelect_list = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_list. +HiveSqlListener.prototype.exitSelect_list = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_list_set. +HiveSqlListener.prototype.enterSelect_list_set = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_list_set. +HiveSqlListener.prototype.exitSelect_list_set = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_list_limit. +HiveSqlListener.prototype.enterSelect_list_limit = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_list_limit. +HiveSqlListener.prototype.exitSelect_list_limit = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_list_item. +HiveSqlListener.prototype.enterSelect_list_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_list_item. +HiveSqlListener.prototype.exitSelect_list_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_list_alias. +HiveSqlListener.prototype.enterSelect_list_alias = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_list_alias. +HiveSqlListener.prototype.exitSelect_list_alias = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_list_asterisk. +HiveSqlListener.prototype.enterSelect_list_asterisk = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_list_asterisk. +HiveSqlListener.prototype.exitSelect_list_asterisk = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#into_clause. +HiveSqlListener.prototype.enterInto_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#into_clause. +HiveSqlListener.prototype.exitInto_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_clause. +HiveSqlListener.prototype.enterFrom_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_clause. +HiveSqlListener.prototype.exitFrom_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_table_clause. +HiveSqlListener.prototype.enterFrom_table_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_table_clause. +HiveSqlListener.prototype.exitFrom_table_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_table_name_clause. +HiveSqlListener.prototype.enterFrom_table_name_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_table_name_clause. +HiveSqlListener.prototype.exitFrom_table_name_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_subselect_clause. +HiveSqlListener.prototype.enterFrom_subselect_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_subselect_clause. +HiveSqlListener.prototype.exitFrom_subselect_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_join_clause. +HiveSqlListener.prototype.enterFrom_join_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_join_clause. +HiveSqlListener.prototype.exitFrom_join_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_join_type_clause. +HiveSqlListener.prototype.enterFrom_join_type_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_join_type_clause. +HiveSqlListener.prototype.exitFrom_join_type_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_table_values_clause. +HiveSqlListener.prototype.enterFrom_table_values_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_table_values_clause. +HiveSqlListener.prototype.exitFrom_table_values_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_table_values_row. +HiveSqlListener.prototype.enterFrom_table_values_row = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_table_values_row. +HiveSqlListener.prototype.exitFrom_table_values_row = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#from_alias_clause. +HiveSqlListener.prototype.enterFrom_alias_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#from_alias_clause. +HiveSqlListener.prototype.exitFrom_alias_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#table_name. +HiveSqlListener.prototype.enterTable_name = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#table_name. +HiveSqlListener.prototype.exitTable_name = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#where_clause. +HiveSqlListener.prototype.enterWhere_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#where_clause. +HiveSqlListener.prototype.exitWhere_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#group_by_clause. +HiveSqlListener.prototype.enterGroup_by_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#group_by_clause. +HiveSqlListener.prototype.exitGroup_by_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#having_clause. +HiveSqlListener.prototype.enterHaving_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#having_clause. +HiveSqlListener.prototype.exitHaving_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#qualify_clause. +HiveSqlListener.prototype.enterQualify_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#qualify_clause. +HiveSqlListener.prototype.exitQualify_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#order_by_clause. +HiveSqlListener.prototype.enterOrder_by_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#order_by_clause. +HiveSqlListener.prototype.exitOrder_by_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_options. +HiveSqlListener.prototype.enterSelect_options = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_options. +HiveSqlListener.prototype.exitSelect_options = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#select_options_item. +HiveSqlListener.prototype.enterSelect_options_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#select_options_item. +HiveSqlListener.prototype.exitSelect_options_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#update_stmt. +HiveSqlListener.prototype.enterUpdate_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#update_stmt. +HiveSqlListener.prototype.exitUpdate_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#update_assignment. +HiveSqlListener.prototype.enterUpdate_assignment = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#update_assignment. +HiveSqlListener.prototype.exitUpdate_assignment = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#update_table. +HiveSqlListener.prototype.enterUpdate_table = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#update_table. +HiveSqlListener.prototype.exitUpdate_table = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#update_upsert. +HiveSqlListener.prototype.enterUpdate_upsert = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#update_upsert. +HiveSqlListener.prototype.exitUpdate_upsert = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#merge_stmt. +HiveSqlListener.prototype.enterMerge_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#merge_stmt. +HiveSqlListener.prototype.exitMerge_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#merge_table. +HiveSqlListener.prototype.enterMerge_table = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#merge_table. +HiveSqlListener.prototype.exitMerge_table = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#merge_condition. +HiveSqlListener.prototype.enterMerge_condition = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#merge_condition. +HiveSqlListener.prototype.exitMerge_condition = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#merge_action. +HiveSqlListener.prototype.enterMerge_action = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#merge_action. +HiveSqlListener.prototype.exitMerge_action = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#delete_stmt. +HiveSqlListener.prototype.enterDelete_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#delete_stmt. +HiveSqlListener.prototype.exitDelete_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#delete_alias. +HiveSqlListener.prototype.enterDelete_alias = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#delete_alias. +HiveSqlListener.prototype.exitDelete_alias = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#describe_stmt. +HiveSqlListener.prototype.enterDescribe_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#describe_stmt. +HiveSqlListener.prototype.exitDescribe_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_expr. +HiveSqlListener.prototype.enterBool_expr = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_expr. +HiveSqlListener.prototype.exitBool_expr = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_expr_atom. +HiveSqlListener.prototype.enterBool_expr_atom = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_expr_atom. +HiveSqlListener.prototype.exitBool_expr_atom = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_expr_unary. +HiveSqlListener.prototype.enterBool_expr_unary = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_expr_unary. +HiveSqlListener.prototype.exitBool_expr_unary = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_expr_single_in. +HiveSqlListener.prototype.enterBool_expr_single_in = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_expr_single_in. +HiveSqlListener.prototype.exitBool_expr_single_in = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_expr_multi_in. +HiveSqlListener.prototype.enterBool_expr_multi_in = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_expr_multi_in. +HiveSqlListener.prototype.exitBool_expr_multi_in = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_expr_binary. +HiveSqlListener.prototype.enterBool_expr_binary = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_expr_binary. +HiveSqlListener.prototype.exitBool_expr_binary = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_expr_logical_operator. +HiveSqlListener.prototype.enterBool_expr_logical_operator = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_expr_logical_operator. +HiveSqlListener.prototype.exitBool_expr_logical_operator = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_expr_binary_operator. +HiveSqlListener.prototype.enterBool_expr_binary_operator = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_expr_binary_operator. +HiveSqlListener.prototype.exitBool_expr_binary_operator = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr. +HiveSqlListener.prototype.enterExpr = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr. +HiveSqlListener.prototype.exitExpr = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_atom. +HiveSqlListener.prototype.enterExpr_atom = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_atom. +HiveSqlListener.prototype.exitExpr_atom = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_interval. +HiveSqlListener.prototype.enterExpr_interval = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_interval. +HiveSqlListener.prototype.exitExpr_interval = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#interval_item. +HiveSqlListener.prototype.enterInterval_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#interval_item. +HiveSqlListener.prototype.exitInterval_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_concat. +HiveSqlListener.prototype.enterExpr_concat = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_concat. +HiveSqlListener.prototype.exitExpr_concat = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_concat_item. +HiveSqlListener.prototype.enterExpr_concat_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_concat_item. +HiveSqlListener.prototype.exitExpr_concat_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_case. +HiveSqlListener.prototype.enterExpr_case = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_case. +HiveSqlListener.prototype.exitExpr_case = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_case_simple. +HiveSqlListener.prototype.enterExpr_case_simple = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_case_simple. +HiveSqlListener.prototype.exitExpr_case_simple = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_case_searched. +HiveSqlListener.prototype.enterExpr_case_searched = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_case_searched. +HiveSqlListener.prototype.exitExpr_case_searched = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_cursor_attribute. +HiveSqlListener.prototype.enterExpr_cursor_attribute = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_cursor_attribute. +HiveSqlListener.prototype.exitExpr_cursor_attribute = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_agg_window_func. +HiveSqlListener.prototype.enterExpr_agg_window_func = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_agg_window_func. +HiveSqlListener.prototype.exitExpr_agg_window_func = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_func_all_distinct. +HiveSqlListener.prototype.enterExpr_func_all_distinct = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_func_all_distinct. +HiveSqlListener.prototype.exitExpr_func_all_distinct = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_func_over_clause. +HiveSqlListener.prototype.enterExpr_func_over_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_func_over_clause. +HiveSqlListener.prototype.exitExpr_func_over_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_func_partition_by_clause. +HiveSqlListener.prototype.enterExpr_func_partition_by_clause = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_func_partition_by_clause. +HiveSqlListener.prototype.exitExpr_func_partition_by_clause = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_spec_func. +HiveSqlListener.prototype.enterExpr_spec_func = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_spec_func. +HiveSqlListener.prototype.exitExpr_spec_func = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_func. +HiveSqlListener.prototype.enterExpr_func = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_func. +HiveSqlListener.prototype.exitExpr_func = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_func_params. +HiveSqlListener.prototype.enterExpr_func_params = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_func_params. +HiveSqlListener.prototype.exitExpr_func_params = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#func_param. +HiveSqlListener.prototype.enterFunc_param = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#func_param. +HiveSqlListener.prototype.exitFunc_param = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_select. +HiveSqlListener.prototype.enterExpr_select = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_select. +HiveSqlListener.prototype.exitExpr_select = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#expr_file. +HiveSqlListener.prototype.enterExpr_file = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#expr_file. +HiveSqlListener.prototype.exitExpr_file = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#hive. +HiveSqlListener.prototype.enterHive = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#hive. +HiveSqlListener.prototype.exitHive = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#hive_item. +HiveSqlListener.prototype.enterHive_item = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#hive_item. +HiveSqlListener.prototype.exitHive_item = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#host. +HiveSqlListener.prototype.enterHost = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#host. +HiveSqlListener.prototype.exitHost = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#host_cmd. +HiveSqlListener.prototype.enterHost_cmd = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#host_cmd. +HiveSqlListener.prototype.exitHost_cmd = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#host_stmt. +HiveSqlListener.prototype.enterHost_stmt = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#host_stmt. +HiveSqlListener.prototype.exitHost_stmt = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#file_name. +HiveSqlListener.prototype.enterFile_name = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#file_name. +HiveSqlListener.prototype.exitFile_name = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#date_literal. +HiveSqlListener.prototype.enterDate_literal = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#date_literal. +HiveSqlListener.prototype.exitDate_literal = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#timestamp_literal. +HiveSqlListener.prototype.enterTimestamp_literal = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#timestamp_literal. +HiveSqlListener.prototype.exitTimestamp_literal = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#ident. +HiveSqlListener.prototype.enterIdent = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#ident. +HiveSqlListener.prototype.exitIdent = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#single_quotedString. +HiveSqlListener.prototype.enterSingle_quotedString = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#single_quotedString. +HiveSqlListener.prototype.exitSingle_quotedString = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#double_quotedString. +HiveSqlListener.prototype.enterDouble_quotedString = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#double_quotedString. +HiveSqlListener.prototype.exitDouble_quotedString = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#int_number. +HiveSqlListener.prototype.enterInt_number = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#int_number. +HiveSqlListener.prototype.exitInt_number = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#dec_number. +HiveSqlListener.prototype.enterDec_number = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#dec_number. +HiveSqlListener.prototype.exitDec_number = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#bool_literal. +HiveSqlListener.prototype.enterBool_literal = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#bool_literal. +HiveSqlListener.prototype.exitBool_literal = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#null_const. +HiveSqlListener.prototype.enterNull_const = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#null_const. +HiveSqlListener.prototype.exitNull_const = function(ctx) { +}; + + +// Enter a parse tree produced by HiveSqlParser#non_reserved_words. +HiveSqlListener.prototype.enterNon_reserved_words = function(ctx) { +}; + +// Exit a parse tree produced by HiveSqlParser#non_reserved_words. +HiveSqlListener.prototype.exitNon_reserved_words = function(ctx) { +}; + + + +exports.HiveSqlListener = HiveSqlListener; \ No newline at end of file diff --git a/src/lib/hive/HiveSqlParser.js b/src/lib/hive/HiveSqlParser.js new file mode 100644 index 0000000..6be559b --- /dev/null +++ b/src/lib/hive/HiveSqlParser.js @@ -0,0 +1,37756 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/hive/HiveSql.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); +var HiveSqlListener = require('./HiveSqlListener').HiveSqlListener; +var HiveSqlVisitor = require('./HiveSqlVisitor').HiveSqlVisitor; + +var grammarFileName = "HiveSql.g4"; + + +var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", + "\u0003\u0178\u0d11\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004", + "\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007", + "\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f", + "\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010", + "\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014", + "\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017\t\u0017", + "\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a\u0004\u001b", + "\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e\t\u001e", + "\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#\t#\u0004", + "$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004*\t*\u0004", + "+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u0004", + "2\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u00048\t8\u0004", + "9\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004?\t?\u0004", + "@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004F\tF\u0004", + "G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004M\tM\u0004", + "N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004T\tT\u0004", + "U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004[\t[\u0004", + "\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004b\tb\u0004", + "c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004i\ti\u0004", + "j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004p\tp\u0004", + "q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004w\tw\u0004", + "x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004~\t~\u0004", + "\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004\u0082\t", + "\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t\u0085\u0004", + "\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004\u0089\t", + "\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t\u008c\u0004", + "\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004\u0090\t", + "\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t\u0093\u0004", + "\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004\u0097\t", + "\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t\u009a\u0004", + "\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004\u009e\t", + "\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t\u00a1\u0004", + "\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004\u00a5\t", + "\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t\u00a8\u0004", + "\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004\u00ac\t", + "\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t\u00af\u0004", + "\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004\u00b3\t", + "\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t\u00b6\u0004", + "\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004\u00ba\t", + "\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t\u00bd\u0004", + "\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004\u00c1\t", + "\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t\u00c4\u0004", + "\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004\u00c8\t", + "\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t\u00cb\u0004", + "\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004\u00cf\t", + "\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t\u00d2\u0004", + "\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004\u00d6\t", + "\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t\u00d9\u0004", + "\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004\u00dd\t", + "\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t\u00e0\u0004", + "\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0003\u0002\u0003", + "\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0005\u0003\u01cc\n\u0003", + "\u0003\u0003\u0005\u0003\u01cf\n\u0003\u0006\u0003\u01d1\n\u0003\r\u0003", + "\u000e\u0003\u01d2\u0003\u0004\u0005\u0004\u01d6\n\u0004\u0003\u0004", + "\u0003\u0004\u0003\u0004\u0005\u0004\u01db\n\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0005\u0003\u0005\u0003\u0005\u0005\u0005\u01e2\n\u0005", + "\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0005\u0005\u01e8\n", + "\u0005\u0005\u0005\u01ea\n\u0005\u0003\u0006\u0003\u0006\u0003\u0006", + "\u0003\u0007\u0003\u0007\u0006\u0007\u01f1\n\u0007\r\u0007\u000e\u0007", + "\u01f2\u0003\u0007\u0005\u0007\u01f6\n\u0007\u0005\u0007\u01f8\n\u0007", + "\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", + "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", + "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", + "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", + "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", + "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", + "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u0237", + "\n\b\u0003\t\u0003\t\u0003\n\u0003\n\u0006\n\u023d\n\n\r\n\u000e\n\u023e", + "\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b", + "\u0003\f\u0003\f\u0003\r\u0003\r\u0003\r\u0003\u000e\u0003\u000e\u0003", + "\u000e\u0005\u000e\u024f\n\u000e\u0003\u000e\u0003\u000e\u0003\u000e", + "\u0007\u000e\u0254\n\u000e\f\u000e\u000e\u000e\u0257\u000b\u000e\u0005", + "\u000e\u0259\n\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0005\u000f", + "\u025e\n\u000f\u0003\u0010\u0003\u0010\u0005\u0010\u0262\n\u0010\u0003", + "\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003", + "\u0010\u0005\u0010\u026b\n\u0010\u0003\u0010\u0003\u0010\u0003\u0010", + "\u0005\u0010\u0270\n\u0010\u0003\u0011\u0003\u0011\u0003\u0011\u0003", + "\u0011\u0007\u0011\u0276\n\u0011\f\u0011\u000e\u0011\u0279\u000b\u0011", + "\u0003\u0011\u0003\u0011\u0005\u0011\u027d\n\u0011\u0003\u0011\u0003", + "\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0007\u0011\u0284\n\u0011", + "\f\u0011\u000e\u0011\u0287\u000b\u0011\u0003\u0011\u0003\u0011\u0003", + "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0007\u0012\u0290", + "\n\u0012\f\u0012\u000e\u0012\u0293\u000b\u0012\u0003\u0012\u0003\u0012", + "\u0005\u0012\u0297\n\u0012\u0003\u0012\u0005\u0012\u029a\n\u0012\u0003", + "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0013\u0003", + "\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0005", + "\u0013\u02a8\n\u0013\u0003\u0013\u0003\u0013\u0003\u0014\u0003\u0014", + "\u0003\u0014\u0005\u0014\u02af\n\u0014\u0003\u0014\u0003\u0014\u0003", + "\u0014\u0003\u0014\u0003\u0014\u0007\u0014\u02b6\n\u0014\f\u0014\u000e", + "\u0014\u02b9\u000b\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014", + "\u0003\u0014\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0016\u0003\u0016", + "\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u02c9\n", + "\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u02cd\n\u0017\u0003\u0018", + "\u0003\u0018\u0003\u0018\u0003\u0018\u0007\u0018\u02d3\n\u0018\f\u0018", + "\u000e\u0018\u02d6\u000b\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003", + "\u0019\u0003\u0019\u0003\u0019\u0007\u0019\u02de\n\u0019\f\u0019\u000e", + "\u0019\u02e1\u000b\u0019\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a", + "\u0003\u001a\u0007\u001a\u02e8\n\u001a\f\u001a\u000e\u001a\u02eb\u000b", + "\u001a\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0005", + "\u001b\u02f2\n\u001b\u0003\u001c\u0003\u001c\u0003\u001c\u0007\u001c", + "\u02f7\n\u001c\f\u001c\u000e\u001c\u02fa\u000b\u001c\u0003\u001c\u0005", + "\u001c\u02fd\n\u001c\u0003\u001c\u0003\u001c\u0005\u001c\u0301\n\u001c", + "\u0003\u001c\u0007\u001c\u0304\n\u001c\f\u001c\u000e\u001c\u0307\u000b", + "\u001c\u0003\u001c\u0005\u001c\u030a\n\u001c\u0003\u001c\u0003\u001c", + "\u0003\u001c\u0005\u001c\u030f\n\u001c\u0003\u001c\u0003\u001c\u0005", + "\u001c\u0313\n\u001c\u0003\u001c\u0003\u001c\u0005\u001c\u0317\n\u001c", + "\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001e\u0003\u001e\u0003\u001e", + "\u0003\u001e\u0003\u001e\u0005\u001e\u0321\n\u001e\u0003\u001e\u0003", + "\u001e\u0005\u001e\u0325\n\u001e\u0003\u001e\u0003\u001e\u0003\u001e", + "\u0005\u001e\u032a\n\u001e\u0003\u001f\u0003\u001f\u0003\u001f\u0005", + "\u001f\u032f\n\u001f\u0003\u001f\u0003\u001f\u0005\u001f\u0333\n\u001f", + "\u0003 \u0003 \u0003 \u0003!\u0003!\u0003!\u0003!\u0003!\u0003!\u0003", + "!\u0003!\u0005!\u0340\n!\u0003!\u0003!\u0003\"\u0005\"\u0345\n\"\u0003", + "\"\u0003\"\u0003\"\u0003\"\u0005\"\u034b\n\"\u0003\"\u0003\"\u0003#", + "\u0003#\u0003#\u0003#\u0003#\u0005#\u0354\n#\u0003#\u0003#\u0005#\u0358", + "\n#\u0003#\u0003#\u0003$\u0003$\u0003$\u0003$\u0005$\u0360\n$\u0003", + "$\u0005$\u0363\n$\u0003$\u0003$\u0003$\u0005$\u0368\n$\u0003$\u0003", + "$\u0003%\u0005%\u036d\n%\u0003%\u0003%\u0003%\u0003%\u0003%\u0005%\u0374", + "\n%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0005%\u037d\n", + "%\u0003%\u0005%\u0380\n%\u0003&\u0003&\u0003&\u0007&\u0385\n&\f&\u000e", + "&\u0388\u000b&\u0003\'\u0003\'\u0003\'\u0005\'\u038d\n\'\u0003\'\u0007", + "\'\u0390\n\'\f\'\u000e\'\u0393\u000b\'\u0003\'\u0007\'\u0396\n\'\f\'", + "\u000e\'\u0399\u000b\'\u0003\'\u0003\'\u0005\'\u039d\n\'\u0003\'\u0005", + "\'\u03a0\n\'\u0003(\u0003(\u0003)\u0003)\u0005)\u03a6\n)\u0003)\u0003", + ")\u0003)\u0003)\u0003)\u0003)\u0003)\u0003)\u0003)\u0003)\u0007)\u03b2", + "\n)\f)\u000e)\u03b5\u000b)\u0003)\u0003)\u0003)\u0003)\u0003)\u0007", + ")\u03bc\n)\f)\u000e)\u03bf\u000b)\u0003)\u0003)\u0003)\u0005)\u03c4", + "\n)\u0003*\u0003*\u0003*\u0005*\u03c9\n*\u0003*\u0003*\u0003*\u0005", + "*\u03ce\n*\u0003*\u0003*\u0003*\u0005*\u03d3\n*\u0007*\u03d5\n*\f*\u000e", + "*\u03d8\u000b*\u0003*\u0003*\u0005*\u03dc\n*\u0003*\u0005*\u03df\n*", + "\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0007*\u03e7\n*\f*\u000e", + "*\u03ea\u000b*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0003*\u0007", + "*\u03f3\n*\f*\u000e*\u03f6\u000b*\u0003*\u0003*\u0007*\u03fa\n*\f*\u000e", + "*\u03fd\u000b*\u0005*\u03ff\n*\u0003+\u0003+\u0003+\u0003+\u0003+\u0003", + "+\u0003+\u0003+\u0003+\u0003+\u0005+\u040b\n+\u0003,\u0006,\u040e\n", + ",\r,\u000e,\u040f\u0003-\u0003-\u0003-\u0005-\u0415\n-\u0003.\u0005", + ".\u0418\n.\u0003.\u0003.\u0003/\u0006/\u041d\n/\r/\u000e/\u041e\u0003", + "0\u00030\u00030\u00030\u00030\u00030\u00030\u00030\u00030\u00030\u0005", + "0\u042b\n0\u00031\u00031\u00031\u00031\u00031\u00031\u00031\u00031\u0003", + "1\u00031\u00031\u00061\u0438\n1\r1\u000e1\u0439\u00031\u00031\u0003", + "1\u00051\u043f\n1\u00032\u00052\u0442\n2\u00032\u00032\u00032\u0003", + "2\u00032\u00032\u00032\u00032\u00032\u00032\u00032\u00072\u044f\n2\f", + "2\u000e2\u0452\u000b2\u00032\u00032\u00032\u00052\u0457\n2\u00032\u0003", + "2\u00032\u00032\u00032\u00032\u00032\u00032\u00032\u00052\u0462\n2\u0003", + "3\u00053\u0465\n3\u00033\u00033\u00033\u00033\u00033\u00033\u00073\u046d", + "\n3\f3\u000e3\u0470\u000b3\u00033\u00033\u00033\u00033\u00053\u0476", + "\n3\u00034\u00034\u00034\u00034\u00054\u047c\n4\u00035\u00035\u0003", + "5\u00035\u00075\u0482\n5\f5\u000e5\u0485\u000b5\u00036\u00036\u0003", + "6\u00036\u00036\u00036\u00036\u00056\u048e\n6\u00036\u00036\u00036\u0003", + "6\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u0003", + "6\u00036\u00036\u00036\u00036\u00056\u04a2\n6\u00037\u00037\u00037\u0003", + "7\u00057\u04a8\n7\u00038\u00038\u00058\u04ac\n8\u00038\u00038\u0003", + "8\u00058\u04b1\n8\u00038\u00038\u00058\u04b5\n8\u00038\u00038\u0003", + "8\u00058\u04ba\n8\u00038\u00058\u04bd\n8\u00038\u00038\u00038\u0005", + "8\u04c2\n8\u00038\u00058\u04c5\n8\u00039\u00039\u00039\u00039\u0003", + "9\u0003:\u0003:\u0003;\u0003;\u0003;\u0005;\u04d1\n;\u0003;\u0003;\u0003", + "<\u0003<\u0003<\u0005<\u04d8\n<\u0003<\u0003<\u0003<\u0005<\u04dd\n", + "<\u0003<\u0003<\u0003<\u0005<\u04e2\n<\u0007<\u04e4\n<\f<\u000e<\u04e7", + "\u000b<\u0003<\u0003<\u0005<\u04eb\n<\u0003<\u0005<\u04ee\n<\u0003<", + "\u0003<\u0003<\u0003<\u0003<\u0003<\u0007<\u04f6\n<\f<\u000e<\u04f9", + "\u000b<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0007<\u0502", + "\n<\f<\u000e<\u0505\u000b<\u0003<\u0003<\u0007<\u0509\n<\f<\u000e<\u050c", + "\u000b<\u0003<\u0003<\u0003<\u0003<\u0003<\u0005<\u0513\n<\u0003=\u0003", + "=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003", + "=\u0003=\u0005=\u0522\n=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003", + "=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003", + "=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003", + "=\u0003=\u0003=\u0005=\u0541\n=\u0005=\u0543\n=\u0003>\u0003>\u0003", + ">\u0005>\u0548\n>\u0003>\u0003>\u0005>\u054c\n>\u0003>\u0003>\u0003", + "?\u0005?\u0551\n?\u0003?\u0003?\u0003?\u0003?\u0003?\u0005?\u0558\n", + "?\u0003?\u0005?\u055b\n?\u0003@\u0005@\u055e\n@\u0003@\u0003@\u0003", + "@\u0005@\u0563\n@\u0003@\u0003@\u0005@\u0567\n@\u0005@\u0569\n@\u0003", + "A\u0003A\u0003A\u0003A\u0003A\u0005A\u0570\nA\u0003A\u0003A\u0007A\u0574", + "\nA\fA\u000eA\u0577\u000bA\u0003B\u0003B\u0003B\u0003B\u0005B\u057d", + "\nB\u0003C\u0003C\u0003C\u0003C\u0005C\u0583\nC\u0003C\u0005C\u0586", + "\nC\u0003C\u0003C\u0003C\u0005C\u058b\nC\u0003C\u0003C\u0005C\u058f", + "\nC\u0003C\u0005C\u0592\nC\u0003C\u0003C\u0003D\u0003D\u0003D\u0005", + "D\u0599\nD\u0003E\u0003E\u0003E\u0003E\u0005E\u059f\nE\u0003E\u0005", + "E\u05a2\nE\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0005", + "E\u05ac\nE\u0003F\u0003F\u0003F\u0003F\u0003F\u0007F\u05b3\nF\fF\u000e", + "F\u05b6\u000bF\u0003G\u0003G\u0003G\u0003G\u0005G\u05bc\nG\u0003G\u0003", + "G\u0003G\u0003G\u0003G\u0005G\u05c3\nG\u0005G\u05c5\nG\u0003H\u0003", + "H\u0003H\u0003H\u0005H\u05cb\nH\u0003H\u0005H\u05ce\nH\u0003H\u0003", + "H\u0003H\u0003H\u0003H\u0003H\u0003H\u0003H\u0003H\u0005H\u05d9\nH\u0003", + "I\u0003I\u0003I\u0003I\u0003I\u0007I\u05e0\nI\fI\u000eI\u05e3\u000b", + "I\u0003J\u0003J\u0003J\u0005J\u05e8\nJ\u0003K\u0003K\u0003K\u0003K\u0005", + "K\u05ee\nK\u0003K\u0005K\u05f1\nK\u0003K\u0003K\u0003K\u0005K\u05f6", + "\nK\u0003K\u0005K\u05f9\nK\u0003K\u0005K\u05fc\nK\u0003K\u0005K\u05ff", + "\nK\u0003K\u0005K\u0602\nK\u0003K\u0003K\u0003K\u0003K\u0005K\u0608", + "\nK\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0007L\u0610\nL\fL\u000e", + "L\u0613\u000bL\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0007L\u061b", + "\nL\fL\u000eL\u061e\u000bL\u0005L\u0620\nL\u0003M\u0003M\u0003M\u0003", + "M\u0003M\u0005M\u0627\nM\u0003M\u0003M\u0003M\u0005M\u062c\nM\u0003", + "M\u0007M\u062f\nM\fM\u000eM\u0632\u000bM\u0003M\u0005M\u0635\nM\u0003", + "M\u0003M\u0003M\u0003M\u0003M\u0003M\u0005M\u063d\nM\u0003M\u0003M\u0005", + "M\u0641\nM\u0003M\u0007M\u0644\nM\fM\u000eM\u0647\u000bM\u0003M\u0005", + "M\u064a\nM\u0005M\u064c\nM\u0003N\u0006N\u064f\nN\rN\u000eN\u0650\u0003", + "O\u0003O\u0003O\u0003O\u0003O\u0003O\u0005O\u0659\nO\u0003O\u0003O\u0003", + "O\u0005O\u065e\nO\u0003P\u0003P\u0003P\u0003P\u0005P\u0664\nP\u0003", + "P\u0003P\u0003P\u0003P\u0003P\u0005P\u066b\nP\u0003P\u0005P\u066e\n", + "P\u0003Q\u0003Q\u0003Q\u0003R\u0003R\u0005R\u0675\nR\u0003R\u0003R\u0003", + "R\u0003R\u0003R\u0003R\u0005R\u067d\nR\u0003R\u0003R\u0003R\u0003R\u0007", + "R\u0683\nR\fR\u000eR\u0686\u000bR\u0005R\u0688\nR\u0003R\u0005R\u068b", + "\nR\u0003S\u0003S\u0003S\u0005S\u0690\nS\u0003T\u0003T\u0003T\u0003", + "T\u0003T\u0007T\u0697\nT\fT\u000eT\u069a\u000bT\u0003T\u0005T\u069d", + "\nT\u0003T\u0003T\u0003T\u0003U\u0003U\u0003U\u0003U\u0003U\u0005U\u06a7", + "\nU\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003W\u0003W\u0003W\u0003", + "W\u0003W\u0003X\u0003X\u0003X\u0003Y\u0003Y\u0003Y\u0005Y\u06ba\nY\u0003", + "Z\u0003Z\u0003Z\u0003Z\u0003Z\u0005Z\u06c1\nZ\u0005Z\u06c3\nZ\u0003", + "Z\u0003Z\u0005Z\u06c7\nZ\u0003Z\u0003Z\u0005Z\u06cb\nZ\u0003[\u0003", + "[\u0003[\u0003[\u0007[\u06d1\n[\f[\u000e[\u06d4\u000b[\u0003[\u0003", + "[\u0003\\\u0003\\\u0003\\\u0003\\\u0007\\\u06dc\n\\\f\\\u000e\\\u06df", + "\u000b\\\u0003]\u0003]\u0003]\u0003]\u0007]\u06e5\n]\f]\u000e]\u06e8", + "\u000b]\u0003]\u0003]\u0003^\u0003^\u0003^\u0005^\u06ef\n^\u0003^\u0003", + "^\u0003^\u0003^\u0003_\u0003_\u0005_\u06f7\n_\u0003_\u0003_\u0005_\u06fb", + "\n_\u0003`\u0003`\u0003`\u0003`\u0003a\u0003a\u0005a\u0703\na\u0003", + "b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003c\u0003c\u0003c\u0003c\u0003", + "d\u0003d\u0003d\u0003d\u0007d\u0713\nd\fd\u000ed\u0716\u000bd\u0003", + "d\u0003d\u0003d\u0003d\u0003e\u0003e\u0003e\u0003e\u0003e\u0003f\u0003", + "f\u0005f\u0723\nf\u0003g\u0003g\u0003g\u0003g\u0003g\u0005g\u072a\n", + "g\u0003g\u0003g\u0005g\u072e\ng\u0003h\u0003h\u0003h\u0003h\u0003h\u0005", + "h\u0735\nh\u0005h\u0737\nh\u0003i\u0003i\u0005i\u073b\ni\u0003i\u0003", + "i\u0003i\u0003i\u0003i\u0007i\u0742\ni\fi\u000ei\u0745\u000bi\u0003", + "j\u0003j\u0003j\u0003j\u0003j\u0005j\u074c\nj\u0003k\u0003k\u0003k\u0003", + "k\u0003k\u0007k\u0753\nk\fk\u000ek\u0756\u000bk\u0003k\u0003k\u0003", + "l\u0003l\u0003l\u0003m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003n\u0003", + "n\u0005n\u0765\nn\u0003n\u0003n\u0003n\u0003n\u0005n\u076b\nn\u0003", + "n\u0003n\u0005n\u076f\nn\u0003o\u0003o\u0003o\u0003o\u0003o\u0003o\u0007", + "o\u0777\no\fo\u000eo\u077a\u000bo\u0003o\u0003o\u0003o\u0007o\u077f", + "\no\fo\u000eo\u0782\u000bo\u0003p\u0003p\u0003p\u0003p\u0003p\u0003", + "p\u0005p\u078a\np\u0003p\u0003p\u0005p\u078e\np\u0003p\u0003p\u0007", + "p\u0792\np\fp\u000ep\u0795\u000bp\u0003q\u0003q\u0005q\u0799\nq\u0003", + "r\u0003r\u0005r\u079d\nr\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003", + "s\u0003s\u0005s\u07a7\ns\u0003t\u0003t\u0003u\u0003u\u0005u\u07ad\n", + "u\u0003v\u0003v\u0005v\u07b1\nv\u0003v\u0003v\u0003v\u0003v\u0003v\u0003", + "v\u0003v\u0003v\u0007v\u07bb\nv\fv\u000ev\u07be\u000bv\u0003v\u0003", + "v\u0003w\u0003w\u0005w\u07c4\nw\u0003x\u0003x\u0003y\u0003y\u0003y\u0003", + "y\u0003y\u0003y\u0003y\u0003y\u0003y\u0003y\u0007y\u07d2\ny\fy\u000e", + "y\u07d5\u000by\u0003y\u0003y\u0007y\u07d9\ny\fy\u000ey\u07dc\u000by", + "\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0005z\u07e5\nz\u0003", + "{\u0005{\u07e8\n{\u0003{\u0003{\u0005{\u07ec\n{\u0003|\u0003|\u0003", + "}\u0003}\u0003}\u0005}\u07f3\n}\u0003}\u0003}\u0003}\u0003}\u0003}\u0005", + "}\u07fa\n}\u0005}\u07fc\n}\u0003~\u0003~\u0005~\u0800\n~\u0003\u007f", + "\u0003\u007f\u0005\u007f\u0804\n\u007f\u0003\u0080\u0003\u0080\u0003", + "\u0080\u0005\u0080\u0809\n\u0080\u0003\u0081\u0005\u0081\u080c\n\u0081", + "\u0003\u0081\u0003\u0081\u0005\u0081\u0810\n\u0081\u0003\u0081\u0005", + "\u0081\u0813\n\u0081\u0003\u0081\u0003\u0081\u0003\u0082\u0003\u0082", + "\u0003\u0082\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0005\u0083", + "\u081e\n\u0083\u0003\u0083\u0005\u0083\u0821\n\u0083\u0003\u0083\u0003", + "\u0083\u0003\u0083\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0085\u0003", + "\u0085\u0003\u0085\u0005\u0085\u082c\n\u0085\u0003\u0085\u0003\u0085", + "\u0003\u0085\u0003\u0085\u0005\u0085\u0832\n\u0085\u0003\u0085\u0003", + "\u0085\u0005\u0085\u0836\n\u0085\u0005\u0085\u0838\n\u0085\u0003\u0086", + "\u0003\u0086\u0005\u0086\u083c\n\u0086\u0003\u0086\u0003\u0086\u0003", + "\u0087\u0003\u0087\u0003\u0087\u0003\u0088\u0003\u0088\u0005\u0088\u0845", + "\n\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0007\u0088\u084a\n\u0088", + "\f\u0088\u000e\u0088\u084d\u000b\u0088\u0003\u0088\u0005\u0088\u0850", + "\n\u0088\u0003\u0088\u0003\u0088\u0005\u0088\u0854\n\u0088\u0003\u0088", + "\u0003\u0088\u0003\u0088\u0007\u0088\u0859\n\u0088\f\u0088\u000e\u0088", + "\u085c\u000b\u0088\u0003\u0088\u0005\u0088\u085f\n\u0088\u0003\u0089", + "\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0005\u0089", + "\u0867\n\u0089\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0005", + "\u008a\u086d\n\u008a\u0003\u008a\u0003\u008a\u0005\u008a\u0871\n\u008a", + "\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008b", + "\u0003\u008b\u0003\u008b\u0003\u008b\u0005\u008b\u087c\n\u008b\u0003", + "\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0005\u008b\u0883", + "\n\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b", + "\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c", + "\u0005\u008c\u0890\n\u008c\u0003\u008d\u0003\u008d\u0003\u008d\u0003", + "\u008d\u0007\u008d\u0896\n\u008d\f\u008d\u000e\u008d\u0899\u000b\u008d", + "\u0003\u008e\u0005\u008e\u089c\n\u008e\u0003\u008e\u0003\u008e\u0003", + "\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0007\u008f\u08a4\n\u008f", + "\f\u008f\u000e\u008f\u08a7\u000b\u008f\u0003\u0090\u0003\u0090\u0005", + "\u0090\u08ab\n\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090", + "\u0003\u0090\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0007\u0091", + "\u08b6\n\u0091\f\u0091\u000e\u0091\u08b9\u000b\u0091\u0003\u0091\u0003", + "\u0091\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0007\u0092\u08c1", + "\n\u0092\f\u0092\u000e\u0092\u08c4\u000b\u0092\u0003\u0093\u0003\u0093", + "\u0003\u0093\u0003\u0093\u0003\u0093\u0005\u0093\u08cb\n\u0093\u0003", + "\u0094\u0003\u0094\u0005\u0094\u08cf\n\u0094\u0003\u0094\u0003\u0094", + "\u0005\u0094\u08d3\n\u0094\u0003\u0094\u0003\u0094\u0005\u0094\u08d7", + "\n\u0094\u0005\u0094\u08d9\n\u0094\u0003\u0095\u0003\u0095\u0003\u0095", + "\u0005\u0095\u08de\n\u0095\u0003\u0095\u0005\u0095\u08e1\n\u0095\u0003", + "\u0095\u0005\u0095\u08e4\n\u0095\u0003\u0095\u0005\u0095\u08e7\n\u0095", + "\u0003\u0095\u0003\u0095\u0005\u0095\u08eb\n\u0095\u0003\u0095\u0005", + "\u0095\u08ee\n\u0095\u0003\u0095\u0005\u0095\u08f1\n\u0095\u0003\u0096", + "\u0005\u0096\u08f4\n\u0096\u0003\u0096\u0005\u0096\u08f7\n\u0096\u0003", + "\u0096\u0003\u0096\u0003\u0096\u0007\u0096\u08fc\n\u0096\f\u0096\u000e", + "\u0096\u08ff\u000b\u0096\u0003\u0097\u0003\u0097\u0003\u0098\u0003\u0098", + "\u0003\u0098\u0003\u0099\u0003\u0099\u0003\u0099\u0005\u0099\u0909\n", + "\u0099\u0003\u0099\u0003\u0099\u0005\u0099\u090d\n\u0099\u0003\u0099", + "\u0005\u0099\u0910\n\u0099\u0003\u009a\u0003\u009a\u0005\u009a\u0914", + "\n\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a", + "\u0005\u009a\u091b\n\u009a\u0003\u009b\u0003\u009b\u0005\u009b\u091f", + "\n\u009b\u0003\u009b\u0003\u009b\u0003\u009c\u0003\u009c\u0003\u009c", + "\u0003\u009c\u0007\u009c\u0927\n\u009c\f\u009c\u000e\u009c\u092a\u000b", + "\u009c\u0003\u009d\u0003\u009d\u0003\u009d\u0007\u009d\u092f\n\u009d", + "\f\u009d\u000e\u009d\u0932\u000b\u009d\u0003\u009e\u0003\u009e\u0003", + "\u009e\u0005\u009e\u0937\n\u009e\u0003\u009f\u0003\u009f\u0005\u009f", + "\u093b\n\u009f\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0005", + "\u00a0\u0941\n\u00a0\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1", + "\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0005\u00a1\u094a\n\u00a1\u0003", + "\u00a2\u0005\u00a2\u094d\n\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2", + "\u0005\u00a2\u0952\n\u00a2\u0003\u00a2\u0005\u00a2\u0955\n\u00a2\u0003", + "\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0007", + "\u00a3\u095d\n\u00a3\f\u00a3\u000e\u00a3\u0960\u000b\u00a3\u0003\u00a3", + "\u0003\u00a3\u0005\u00a3\u0964\n\u00a3\u0003\u00a4\u0003\u00a4\u0003", + "\u00a4\u0003\u00a4\u0003\u00a4\u0007\u00a4\u096b\n\u00a4\f\u00a4\u000e", + "\u00a4\u096e\u000b\u00a4\u0003\u00a4\u0003\u00a4\u0005\u00a4\u0972\n", + "\u00a4\u0003\u00a5\u0003\u00a5\u0005\u00a5\u0976\n\u00a5\u0003\u00a5", + "\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0007\u00a5\u097d\n", + "\u00a5\f\u00a5\u000e\u00a5\u0980\u000b\u00a5\u0003\u00a5\u0005\u00a5", + "\u0983\n\u00a5\u0003\u00a6\u0003\u00a6\u0003\u00a7\u0003\u00a7\u0003", + "\u00a7\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0007", + "\u00a8\u098f\n\u00a8\f\u00a8\u000e\u00a8\u0992\u000b\u00a8\u0003\u00a9", + "\u0003\u00a9\u0003\u00a9\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00ab", + "\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0005\u00ab\u099e\n\u00ab\u0003", + "\u00ab\u0003\u00ab\u0003\u00ab\u0005\u00ab\u09a3\n\u00ab\u0007\u00ab", + "\u09a5\n\u00ab\f\u00ab\u000e\u00ab\u09a8\u000b\u00ab\u0003\u00ac\u0006", + "\u00ac\u09ab\n\u00ac\r\u00ac\u000e\u00ac\u09ac\u0003\u00ad\u0003\u00ad", + "\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad", + "\u0003\u00ad\u0005\u00ad\u09b8\n\u00ad\u0005\u00ad\u09ba\n\u00ad\u0003", + "\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0005\u00ae\u09c1", + "\n\u00ae\u0003\u00ae\u0005\u00ae\u09c4\n\u00ae\u0003\u00af\u0003\u00af", + "\u0003\u00af\u0007\u00af\u09c9\n\u00af\f\u00af\u000e\u00af\u09cc\u000b", + "\u00af\u0003\u00b0\u0003\u00b0\u0005\u00b0\u09d0\n\u00b0\u0003\u00b0", + "\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0005\u00b0\u09d6\n\u00b0\u0003", + "\u00b0\u0005\u00b0\u09d9\n\u00b0\u0003\u00b0\u0005\u00b0\u09dc\n\u00b0", + "\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b2\u0003\u00b2\u0003\u00b2", + "\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0006\u00b2", + "\u09e9\n\u00b2\r\u00b2\u000e\u00b2\u09ea\u0003\u00b3\u0003\u00b3\u0003", + "\u00b3\u0003\u00b3\u0003\u00b3\u0005\u00b3\u09f2\n\u00b3\u0003\u00b3", + "\u0005\u00b3\u09f5\n\u00b3\u0003\u00b3\u0005\u00b3\u09f8\n\u00b3\u0003", + "\u00b4\u0003\u00b4\u0005\u00b4\u09fc\n\u00b4\u0003\u00b4\u0003\u00b4", + "\u0003\u00b4\u0005\u00b4\u0a01\n\u00b4\u0003\u00b4\u0003\u00b4\u0003", + "\u00b4\u0003\u00b4\u0005\u00b4\u0a07\n\u00b4\u0003\u00b5\u0003\u00b5", + "\u0005\u00b5\u0a0b\n\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003", + "\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0007\u00b5\u0a14\n\u00b5", + "\f\u00b5\u000e\u00b5\u0a17\u000b\u00b5\u0003\u00b5\u0005\u00b5\u0a1a", + "\n\u00b5\u0003\u00b5\u0005\u00b5\u0a1d\n\u00b5\u0003\u00b6\u0003\u00b6", + "\u0005\u00b6\u0a21\n\u00b6\u0003\u00b6\u0003\u00b6\u0005\u00b6\u0a25", + "\n\u00b6\u0003\u00b6\u0003\u00b6\u0005\u00b6\u0a29\n\u00b6\u0003\u00b7", + "\u0003\u00b7\u0005\u00b7\u0a2d\n\u00b7\u0003\u00b7\u0003\u00b7\u0003", + "\u00b8\u0003\u00b8\u0005\u00b8\u0a33\n\u00b8\u0003\u00b8\u0003\u00b8", + "\u0003\u00b9\u0003\u00b9\u0005\u00b9\u0a39\n\u00b9\u0003\u00b9\u0003", + "\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0005\u00b9\u0a40\n\u00b9", + "\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0007\u00b9\u0a46\n", + "\u00b9\f\u00b9\u000e\u00b9\u0a49\u000b\u00b9\u0003\u00ba\u0003\u00ba", + "\u0003\u00ba\u0005\u00ba\u0a4e\n\u00ba\u0003\u00bb\u0003\u00bb\u0003", + "\u00bb\u0005\u00bb\u0a53\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb", + "\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb", + "\u0005\u00bb\u0a5e\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003", + "\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0005\u00bb\u0a67\n\u00bb", + "\u0003\u00bc\u0003\u00bc\u0005\u00bc\u0a6b\n\u00bc\u0003\u00bc\u0003", + "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0007\u00bc\u0a72\n\u00bc", + "\f\u00bc\u000e\u00bc\u0a75\u000b\u00bc\u0003\u00bc\u0005\u00bc\u0a78", + "\n\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bd\u0003\u00bd\u0003\u00bd", + "\u0003\u00bd\u0007\u00bd\u0a80\n\u00bd\f\u00bd\u000e\u00bd\u0a83\u000b", + "\u00bd\u0003\u00bd\u0003\u00bd\u0005\u00bd\u0a87\n\u00bd\u0003\u00bd", + "\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00bf\u0003\u00bf\u0003\u00c0\u0003\u00c0", + "\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0", + "\u0003\u00c0\u0005\u00c0\u0a9d\n\u00c0\u0003\u00c0\u0005\u00c0\u0aa0", + "\n\u00c0\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1", + "\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1", + "\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1", + "\u0005\u00c1\u0ab3\n\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003", + "\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003", + "\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0007\u00c1\u0ac3", + "\n\u00c1\f\u00c1\u000e\u00c1\u0ac6\u000b\u00c1\u0003\u00c2\u0003\u00c2", + "\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2", + "\u0005\u00c2\u0ad0\n\u00c2\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", + "\u00c3\u0003\u00c4\u0003\u00c4\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", + "\u00c5\u0003\u00c5\u0007\u00c5\u0add\n\u00c5\f\u00c5\u000e\u00c5\u0ae0", + "\u000b\u00c5\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6", + "\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0005\u00c6\u0aeb\n", + "\u00c6\u0003\u00c7\u0003\u00c7\u0005\u00c7\u0aef\n\u00c7\u0003\u00c8", + "\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8", + "\u0006\u00c8\u0af8\n\u00c8\r\u00c8\u000e\u00c8\u0af9\u0003\u00c8\u0003", + "\u00c8\u0005\u00c8\u0afe\n\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c9", + "\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0006\u00c9", + "\u0b08\n\u00c9\r\u00c9\u000e\u00c9\u0b09\u0003\u00c9\u0003\u00c9\u0005", + "\u00c9\u0b0e\n\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00ca\u0003\u00ca", + "\u0003\u00ca\u0003\u00ca\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb", + "\u0b19\n\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b1e", + "\n\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b23\n\u00cb", + "\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b27\n\u00cb\u0003\u00cb\u0003", + "\u00cb\u0005\u00cb\u0b2b\n\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb", + "\u0005\u00cb\u0b30\n\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b34", + "\n\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b38\n\u00cb\u0003\u00cb", + "\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb", + "\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb", + "\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb", + "\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b4f\n\u00cb\u0005\u00cb\u0b51", + "\n\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb", + "\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb", + "\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb", + "\u0b63\n\u00cb\u0005\u00cb\u0b65\n\u00cb\u0003\u00cb\u0003\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b6d\n\u00cb", + "\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b72\n\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b77\n\u00cb\u0003\u00cb", + "\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b7c\n\u00cb\u0003\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b89\n\u00cb", + "\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b8e\n\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b93\n\u00cb\u0003\u00cb", + "\u0003\u00cb\u0003\u00cb\u0005\u00cb\u0b98\n\u00cb\u0003\u00cb\u0003", + "\u00cb\u0003\u00cb\u0005\u00cb\u0b9d\n\u00cb\u0003\u00cb\u0003\u00cb", + "\u0003\u00cb\u0005\u00cb\u0ba2\n\u00cb\u0003\u00cb\u0003\u00cb\u0003", + "\u00cb\u0005\u00cb\u0ba7\n\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb", + "\u0005\u00cb\u0bac\n\u00cb\u0005\u00cb\u0bae\n\u00cb\u0003\u00cc\u0003", + "\u00cc\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0005\u00cd\u0bb5\n\u00cd", + "\u0003\u00cd\u0005\u00cd\u0bb8\n\u00cd\u0003\u00cd\u0003\u00cd\u0003", + "\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0007\u00ce\u0bc1", + "\n\u00ce\f\u00ce\u000e\u00ce\u0bc4\u000b\u00ce\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0005\u00cf", + "\u0bcd\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", + "\u00cf\u0003\u00cf\u0005\u00cf\u0bd5\n\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0005\u00cf", + "\u0bde\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0005", + "\u00cf\u0be4\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0007\u00cf\u0bf3\n\u00cf\f\u00cf", + "\u000e\u00cf\u0bf6\u000b\u00cf\u0005\u00cf\u0bf8\n\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0007\u00cf", + "\u0c06\n\u00cf\f\u00cf\u000e\u00cf\u0c09\u000b\u00cf\u0005\u00cf\u0c0b", + "\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0007\u00cf\u0c19\n\u00cf\f\u00cf\u000e\u00cf\u0c1c\u000b", + "\u00cf\u0005\u00cf\u0c1e\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0007\u00cf\u0c2c\n\u00cf\f\u00cf", + "\u000e\u00cf\u0c2f\u000b\u00cf\u0005\u00cf\u0c31\n\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0007\u00cf", + "\u0c3f\n\u00cf\f\u00cf\u000e\u00cf\u0c42\u000b\u00cf\u0005\u00cf\u0c44", + "\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0007\u00cf\u0c52\n\u00cf\f\u00cf\u000e\u00cf\u0c55\u000b", + "\u00cf\u0005\u00cf\u0c57\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf", + "\u0003\u00cf\u0007\u00cf\u0c63\n\u00cf\f\u00cf\u000e\u00cf\u0c66\u000b", + "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", + "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0006\u00cf\u0c72", + "\n\u00cf\r\u00cf\u000e\u00cf\u0c73\u0003\u00cf\u0003\u00cf\u0005\u00cf", + "\u0c78\n\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", + "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", + "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0005\u00cf\u0c88\n\u00cf", + "\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0005\u00cf\u0c8e\n", + "\u00cf\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0005\u00d0\u0c93\n\u00d0", + "\u0003\u00d0\u0003\u00d0\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0007\u00d1", + "\u0c9a\n\u00d1\f\u00d1\u000e\u00d1\u0c9d\u000b\u00d1\u0003\u00d2\u0003", + "\u00d2\u0003\u00d2\u0003\u00d2\u0005\u00d2\u0ca3\n\u00d2\u0005\u00d2", + "\u0ca5\n\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d3\u0003\u00d3\u0005", + "\u00d3\u0cab\n\u00d3\u0003\u00d4\u0003\u00d4\u0005\u00d4\u0caf\n\u00d4", + "\u0003\u00d5\u0003\u00d5\u0007\u00d5\u0cb3\n\u00d5\f\u00d5\u000e\u00d5", + "\u0cb6\u000b\u00d5\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003", + "\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003", + "\u00d6\u0003\u00d6\u0005\u00d6\u0cc4\n\u00d6\u0003\u00d7\u0003\u00d7", + "\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0005\u00d7\u0ccb\n\u00d7\u0003", + "\u00d8\u0007\u00d8\u0cce\n\u00d8\f\u00d8\u000e\u00d8\u0cd1\u000b\u00d8", + "\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00da\u0003\u00da\u0003\u00da", + "\u0003\u00da\u0005\u00da\u0cda\n\u00da\u0003\u00da\u0003\u00da\u0003", + "\u00da\u0007\u00da\u0cdf\n\u00da\f\u00da\u000e\u00da\u0ce2\u000b\u00da", + "\u0005\u00da\u0ce4\n\u00da\u0003\u00db\u0003\u00db\u0003\u00db\u0003", + "\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dd\u0005\u00dd\u0ced\n\u00dd", + "\u0003\u00dd\u0003\u00dd\u0005\u00dd\u0cf1\n\u00dd\u0003\u00dd\u0003", + "\u00dd\u0003\u00dd\u0005\u00dd\u0cf6\n\u00dd\u0007\u00dd\u0cf8\n\u00dd", + "\f\u00dd\u000e\u00dd\u0cfb\u000b\u00dd\u0003\u00de\u0003\u00de\u0005", + "\u00de\u0cff\n\u00de\u0003\u00df\u0005\u00df\u0d02\n\u00df\u0003\u00df", + "\u0003\u00df\u0003\u00e0\u0005\u00e0\u0d07\n\u00e0\u0003\u00e0\u0003", + "\u00e0\u0003\u00e1\u0003\u00e1\u0003\u00e2\u0003\u00e2\u0003\u00e3\u0003", + "\u00e3\u0003\u00e3\u0003\u0ccf\u0004\u0170\u0180\u00e4\u0002\u0004\u0006", + "\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*", + ",.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086", + "\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e", + "\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6", + "\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce", + "\u00d0\u00d2\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6", + "\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe", + "\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116", + "\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e", + "\u0130\u0132\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146", + "\u0148\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e", + "\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176", + "\u0178\u017a\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e", + "\u0190\u0192\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6", + "\u01a8\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be", + "\u01c0\u01c2\u01c4\u00023\u0004\u0002\u0003\u0005\u000f\u000f\u0004", + "\u0002\u0010\u0010\u0012\u0012\u0003\u0002\"#\u0005\u0002\u001e\u001e", + ")),,\u0003\u000201\u0003\u000234\u0004\u0002\u0016\u0016AA\u0003\u0002", + "NO\u0003\u0002RS\u0003\u0002YZ\u0004\u0002SS\\\\\u0003\u0002`a\u0003", + "\u0002be\u0003\u0002gh\u0004\u0002TTss\u0003\u0002\u00b1\u00b2\u0004", + "\u0002JJ\u00b3\u00b3\u0004\u0002\u008b\u008b\u00b4\u00b4\u0003\u0002", + "\u00b5\u00b6\u0003\u0002\u00b7\u00b8\u0004\u0002)),,\u0004\u0002--\u00bc", + "\u00bc\u0004\u0002 \u00be\u00be\u0003\u0002\u00c5\u00c8\u0003\u0002", + "\u00cb\u00cc\u0003\u0002\u00cf\u00d0\u0003\u0002\u00e3\u00e4\u0004\u0002", + "\u00d9\u00d9\u00e8\u00e8\u0005\u0002SS\u00d3\u00d3\u00ee\u00ee\u0003", + "\u0002\u00f9\u00fd\u0004\u0002QQ\u00fe\u00fe\u0004\u0002%%\u0101\u0101", + "\u0005\u0002\u000e\u000e\u0014\u0014\u0109\u010a\u0004\u0002\u0108\u0108", + "\u010a\u010a\u0004\u0002oo\u010d\u010d\u0003\u0002\u0116\u0117\u0004", + "\u0002\u0113\u0113\u0118\u0118\u0003\u0002\u011d\u011f\u0004\u0002\u00b6", + "\u00b6\u0126\u0128\u0004\u0002RR\u012b\u012c\u0004\u0002OO\u0130\u0130", + "\u0004\u0002\u00ba\u00ba\u0129\u0129\u0004\u0002CC\u0137\u0138\u0003", + "\u0002\u013e\u0143\u0003\u0002\u0144\u0145\u0004\u000299\u0147\u0148", + "\u0003\u0002\u000b\f\u0003\u0002\u0170\u0171\u0018\u0002\r\u000e\u0011", + "\u0011\u0014\u0014\u0016\u0016\u001cIK\u008e\u0090\u00a0\u00a2\u00a6", + "\u00a8\u00ac\u00ae\u00b0\u00b3\u00cd\u00d1\u010b\u010d\u010d\u0111\u0111", + "\u0113\u0119\u011b\u0120\u0122\u0131\u0137\u0138\u013d\u0143\u0145\u015f", + "\u0166\u016c\u0170\u0178\u0002\u0ebc\u0002\u01c6\u0003\u0002\u0002\u0002", + "\u0004\u01d0\u0003\u0002\u0002\u0002\u0006\u01d5\u0003\u0002\u0002\u0002", + "\b\u01e9\u0003\u0002\u0002\u0002\n\u01eb\u0003\u0002\u0002\u0002\f\u01f7", + "\u0003\u0002\u0002\u0002\u000e\u0236\u0003\u0002\u0002\u0002\u0010\u0238", + "\u0003\u0002\u0002\u0002\u0012\u023a\u0003\u0002\u0002\u0002\u0014\u0240", + "\u0003\u0002\u0002\u0002\u0016\u0246\u0003\u0002\u0002\u0002\u0018\u0248", + "\u0003\u0002\u0002\u0002\u001a\u0258\u0003\u0002\u0002\u0002\u001c\u025d", + "\u0003\u0002\u0002\u0002\u001e\u026f\u0003\u0002\u0002\u0002 \u0271", + "\u0003\u0002\u0002\u0002\"\u0296\u0003\u0002\u0002\u0002$\u02a0\u0003", + "\u0002\u0002\u0002&\u02ab\u0003\u0002\u0002\u0002(\u02bf\u0003\u0002", + "\u0002\u0002*\u02c2\u0003\u0002\u0002\u0002,\u02c4\u0003\u0002\u0002", + "\u0002.\u02ce\u0003\u0002\u0002\u00020\u02d7\u0003\u0002\u0002\u0002", + "2\u02e2\u0003\u0002\u0002\u00024\u02f1\u0003\u0002\u0002\u00026\u0316", + "\u0003\u0002\u0002\u00028\u0318\u0003\u0002\u0002\u0002:\u0320\u0003", + "\u0002\u0002\u0002<\u032b\u0003\u0002\u0002\u0002>\u0334\u0003\u0002", + "\u0002\u0002@\u0337\u0003\u0002\u0002\u0002B\u0344\u0003\u0002\u0002", + "\u0002D\u034e\u0003\u0002\u0002\u0002F\u035b\u0003\u0002\u0002\u0002", + "H\u037c\u0003\u0002\u0002\u0002J\u0381\u0003\u0002\u0002\u0002L\u039f", + "\u0003\u0002\u0002\u0002N\u03a1\u0003\u0002\u0002\u0002P\u03c3\u0003", + "\u0002\u0002\u0002R\u03fe\u0003\u0002\u0002\u0002T\u0400\u0003\u0002", + "\u0002\u0002V\u040d\u0003\u0002\u0002\u0002X\u0414\u0003\u0002\u0002", + "\u0002Z\u0417\u0003\u0002\u0002\u0002\\\u041c\u0003\u0002\u0002\u0002", + "^\u042a\u0003\u0002\u0002\u0002`\u043e\u0003\u0002\u0002\u0002b\u0461", + "\u0003\u0002\u0002\u0002d\u0475\u0003\u0002\u0002\u0002f\u047b\u0003", + "\u0002\u0002\u0002h\u047d\u0003\u0002\u0002\u0002j\u04a1\u0003\u0002", + "\u0002\u0002l\u04a7\u0003\u0002\u0002\u0002n\u04c4\u0003\u0002\u0002", + "\u0002p\u04c6\u0003\u0002\u0002\u0002r\u04cb\u0003\u0002\u0002\u0002", + "t\u04cd\u0003\u0002\u0002\u0002v\u0512\u0003\u0002\u0002\u0002x\u0542", + "\u0003\u0002\u0002\u0002z\u0544\u0003\u0002\u0002\u0002|\u055a\u0003", + "\u0002\u0002\u0002~\u0568\u0003\u0002\u0002\u0002\u0080\u056a\u0003", + "\u0002\u0002\u0002\u0082\u057c\u0003\u0002\u0002\u0002\u0084\u0585\u0003", + "\u0002\u0002\u0002\u0086\u0595\u0003\u0002\u0002\u0002\u0088\u05a1\u0003", + "\u0002\u0002\u0002\u008a\u05ad\u0003\u0002\u0002\u0002\u008c\u05c4\u0003", + "\u0002\u0002\u0002\u008e\u05cd\u0003\u0002\u0002\u0002\u0090\u05da\u0003", + "\u0002\u0002\u0002\u0092\u05e7\u0003\u0002\u0002\u0002\u0094\u05f0\u0003", + "\u0002\u0002\u0002\u0096\u061f\u0003\u0002\u0002\u0002\u0098\u064b\u0003", + "\u0002\u0002\u0002\u009a\u064e\u0003\u0002\u0002\u0002\u009c\u065d\u0003", + "\u0002\u0002\u0002\u009e\u066d\u0003\u0002\u0002\u0002\u00a0\u066f\u0003", + "\u0002\u0002\u0002\u00a2\u0672\u0003\u0002\u0002\u0002\u00a4\u068f\u0003", + "\u0002\u0002\u0002\u00a6\u0691\u0003\u0002\u0002\u0002\u00a8\u06a1\u0003", + "\u0002\u0002\u0002\u00aa\u06a8\u0003\u0002\u0002\u0002\u00ac\u06ae\u0003", + "\u0002\u0002\u0002\u00ae\u06b3\u0003\u0002\u0002\u0002\u00b0\u06b6\u0003", + "\u0002\u0002\u0002\u00b2\u06bb\u0003\u0002\u0002\u0002\u00b4\u06cc\u0003", + "\u0002\u0002\u0002\u00b6\u06d7\u0003\u0002\u0002\u0002\u00b8\u06e0\u0003", + "\u0002\u0002\u0002\u00ba\u06eb\u0003\u0002\u0002\u0002\u00bc\u06f4\u0003", + "\u0002\u0002\u0002\u00be\u06fc\u0003\u0002\u0002\u0002\u00c0\u0702\u0003", + "\u0002\u0002\u0002\u00c2\u0704\u0003\u0002\u0002\u0002\u00c4\u070a\u0003", + "\u0002\u0002\u0002\u00c6\u070e\u0003\u0002\u0002\u0002\u00c8\u071b\u0003", + "\u0002\u0002\u0002\u00ca\u0720\u0003\u0002\u0002\u0002\u00cc\u0724\u0003", + "\u0002\u0002\u0002\u00ce\u072f\u0003\u0002\u0002\u0002\u00d0\u0738\u0003", + "\u0002\u0002\u0002\u00d2\u0746\u0003\u0002\u0002\u0002\u00d4\u074d\u0003", + "\u0002\u0002\u0002\u00d6\u0759\u0003\u0002\u0002\u0002\u00d8\u075c\u0003", + "\u0002\u0002\u0002\u00da\u076a\u0003\u0002\u0002\u0002\u00dc\u0770\u0003", + "\u0002\u0002\u0002\u00de\u0783\u0003\u0002\u0002\u0002\u00e0\u0798\u0003", + "\u0002\u0002\u0002\u00e2\u079c\u0003\u0002\u0002\u0002\u00e4\u07a6\u0003", + "\u0002\u0002\u0002\u00e6\u07a8\u0003\u0002\u0002\u0002\u00e8\u07aa\u0003", + "\u0002\u0002\u0002\u00ea\u07ae\u0003\u0002\u0002\u0002\u00ec\u07c1\u0003", + "\u0002\u0002\u0002\u00ee\u07c5\u0003\u0002\u0002\u0002\u00f0\u07c7\u0003", + "\u0002\u0002\u0002\u00f2\u07e4\u0003\u0002\u0002\u0002\u00f4\u07e7\u0003", + "\u0002\u0002\u0002\u00f6\u07ed\u0003\u0002\u0002\u0002\u00f8\u07ef\u0003", + "\u0002\u0002\u0002\u00fa\u07fd\u0003\u0002\u0002\u0002\u00fc\u0801\u0003", + "\u0002\u0002\u0002\u00fe\u0808\u0003\u0002\u0002\u0002\u0100\u080f\u0003", + "\u0002\u0002\u0002\u0102\u0816\u0003\u0002\u0002\u0002\u0104\u0819\u0003", + "\u0002\u0002\u0002\u0106\u0825\u0003\u0002\u0002\u0002\u0108\u0828\u0003", + "\u0002\u0002\u0002\u010a\u0839\u0003\u0002\u0002\u0002\u010c\u083f\u0003", + "\u0002\u0002\u0002\u010e\u0842\u0003\u0002\u0002\u0002\u0110\u0860\u0003", + "\u0002\u0002\u0002\u0112\u0868\u0003\u0002\u0002\u0002\u0114\u0877\u0003", + "\u0002\u0002\u0002\u0116\u088f\u0003\u0002\u0002\u0002\u0118\u0891\u0003", + "\u0002\u0002\u0002\u011a\u089b\u0003\u0002\u0002\u0002\u011c\u089f\u0003", + "\u0002\u0002\u0002\u011e\u08a8\u0003\u0002\u0002\u0002\u0120\u08b1\u0003", + "\u0002\u0002\u0002\u0122\u08bc\u0003\u0002\u0002\u0002\u0124\u08ca\u0003", + "\u0002\u0002\u0002\u0126\u08d8\u0003\u0002\u0002\u0002\u0128\u08da\u0003", + "\u0002\u0002\u0002\u012a\u08f3\u0003\u0002\u0002\u0002\u012c\u0900\u0003", + "\u0002\u0002\u0002\u012e\u0902\u0003\u0002\u0002\u0002\u0130\u090f\u0003", + "\u0002\u0002\u0002\u0132\u091a\u0003\u0002\u0002\u0002\u0134\u091e\u0003", + "\u0002\u0002\u0002\u0136\u0922\u0003\u0002\u0002\u0002\u0138\u092b\u0003", + "\u0002\u0002\u0002\u013a\u0936\u0003\u0002\u0002\u0002\u013c\u0938\u0003", + "\u0002\u0002\u0002\u013e\u093c\u0003\u0002\u0002\u0002\u0140\u0949\u0003", + "\u0002\u0002\u0002\u0142\u0954\u0003\u0002\u0002\u0002\u0144\u0956\u0003", + "\u0002\u0002\u0002\u0146\u0971\u0003\u0002\u0002\u0002\u0148\u0973\u0003", + "\u0002\u0002\u0002\u014a\u0984\u0003\u0002\u0002\u0002\u014c\u0986\u0003", + "\u0002\u0002\u0002\u014e\u0989\u0003\u0002\u0002\u0002\u0150\u0993\u0003", + "\u0002\u0002\u0002\u0152\u0996\u0003\u0002\u0002\u0002\u0154\u0999\u0003", + "\u0002\u0002\u0002\u0156\u09aa\u0003\u0002\u0002\u0002\u0158\u09b9\u0003", + "\u0002\u0002\u0002\u015a\u09bb\u0003\u0002\u0002\u0002\u015c\u09c5\u0003", + "\u0002\u0002\u0002\u015e\u09d5\u0003\u0002\u0002\u0002\u0160\u09dd\u0003", + "\u0002\u0002\u0002\u0162\u09e0\u0003\u0002\u0002\u0002\u0164\u09f1\u0003", + "\u0002\u0002\u0002\u0166\u0a06\u0003\u0002\u0002\u0002\u0168\u0a1c\u0003", + "\u0002\u0002\u0002\u016a\u0a1e\u0003\u0002\u0002\u0002\u016c\u0a2a\u0003", + "\u0002\u0002\u0002\u016e\u0a30\u0003\u0002\u0002\u0002\u0170\u0a3f\u0003", + "\u0002\u0002\u0002\u0172\u0a4d\u0003\u0002\u0002\u0002\u0174\u0a66\u0003", + "\u0002\u0002\u0002\u0176\u0a68\u0003\u0002\u0002\u0002\u0178\u0a7b\u0003", + "\u0002\u0002\u0002\u017a\u0a8d\u0003\u0002\u0002\u0002\u017c\u0a91\u0003", + "\u0002\u0002\u0002\u017e\u0a9f\u0003\u0002\u0002\u0002\u0180\u0ab2\u0003", + "\u0002\u0002\u0002\u0182\u0acf\u0003\u0002\u0002\u0002\u0184\u0ad1\u0003", + "\u0002\u0002\u0002\u0186\u0ad5\u0003\u0002\u0002\u0002\u0188\u0ad7\u0003", + "\u0002\u0002\u0002\u018a\u0aea\u0003\u0002\u0002\u0002\u018c\u0aee\u0003", + "\u0002\u0002\u0002\u018e\u0af0\u0003\u0002\u0002\u0002\u0190\u0b01\u0003", + "\u0002\u0002\u0002\u0192\u0b11\u0003\u0002\u0002\u0002\u0194\u0bad\u0003", + "\u0002\u0002\u0002\u0196\u0baf\u0003\u0002\u0002\u0002\u0198\u0bb1\u0003", + "\u0002\u0002\u0002\u019a\u0bbb\u0003\u0002\u0002\u0002\u019c\u0c8d\u0003", + "\u0002\u0002\u0002\u019e\u0c8f\u0003\u0002\u0002\u0002\u01a0\u0c96\u0003", + "\u0002\u0002\u0002\u01a2\u0c9e\u0003\u0002\u0002\u0002\u01a4\u0caa\u0003", + "\u0002\u0002\u0002\u01a6\u0cae\u0003\u0002\u0002\u0002\u01a8\u0cb0\u0003", + "\u0002\u0002\u0002\u01aa\u0cc3\u0003\u0002\u0002\u0002\u01ac\u0cca\u0003", + "\u0002\u0002\u0002\u01ae\u0ccf\u0003\u0002\u0002\u0002\u01b0\u0cd2\u0003", + "\u0002\u0002\u0002\u01b2\u0ce3\u0003\u0002\u0002\u0002\u01b4\u0ce5\u0003", + "\u0002\u0002\u0002\u01b6\u0ce8\u0003\u0002\u0002\u0002\u01b8\u0cec\u0003", + "\u0002\u0002\u0002\u01ba\u0cfe\u0003\u0002\u0002\u0002\u01bc\u0d01\u0003", + "\u0002\u0002\u0002\u01be\u0d06\u0003\u0002\u0002\u0002\u01c0\u0d0a\u0003", + "\u0002\u0002\u0002\u01c2\u0d0c\u0003\u0002\u0002\u0002\u01c4\u0d0e\u0003", + "\u0002\u0002\u0002\u01c6\u01c7\u0005\u0004\u0003\u0002\u01c7\u01c8\u0007", + "\u0002\u0002\u0003\u01c8\u0003\u0003\u0002\u0002\u0002\u01c9\u01cc\u0005", + "\u0006\u0004\u0002\u01ca\u01cc\u0005\u000e\b\u0002\u01cb\u01c9\u0003", + "\u0002\u0002\u0002\u01cb\u01ca\u0003\u0002\u0002\u0002\u01cc\u01ce\u0003", + "\u0002\u0002\u0002\u01cd\u01cf\u0007\r\u0002\u0002\u01ce\u01cd\u0003", + "\u0002\u0002\u0002\u01ce\u01cf\u0003\u0002\u0002\u0002\u01cf\u01d1\u0003", + "\u0002\u0002\u0002\u01d0\u01cb\u0003\u0002\u0002\u0002\u01d1\u01d2\u0003", + "\u0002\u0002\u0002\u01d2\u01d0\u0003\u0002\u0002\u0002\u01d2\u01d3\u0003", + "\u0002\u0002\u0002\u01d3\u0005\u0003\u0002\u0002\u0002\u01d4\u01d6\u0005", + "0\u0019\u0002\u01d5\u01d4\u0003\u0002\u0002\u0002\u01d5\u01d6\u0003", + "\u0002\u0002\u0002\u01d6\u01d7\u0003\u0002\u0002\u0002\u01d7\u01d8\u0007", + "\u000e\u0002\u0002\u01d8\u01da\u0005\u0004\u0003\u0002\u01d9\u01db\u0005", + "\u0012\n\u0002\u01da\u01d9\u0003\u0002\u0002\u0002\u01da\u01db\u0003", + "\u0002\u0002\u0002\u01db\u01dc\u0003\u0002\u0002\u0002\u01dc\u01dd\u0005", + "\n\u0006\u0002\u01dd\u0007\u0003\u0002\u0002\u0002\u01de\u01df\u0007", + "\u000e\u0002\u0002\u01df\u01e1\u0005\u0004\u0003\u0002\u01e0\u01e2\u0005", + "\u0012\n\u0002\u01e1\u01e0\u0003\u0002\u0002\u0002\u01e1\u01e2\u0003", + "\u0002\u0002\u0002\u01e2\u01e3\u0003\u0002\u0002\u0002\u01e3\u01e4\u0005", + "\n\u0006\u0002\u01e4\u01ea\u0003\u0002\u0002\u0002\u01e5\u01e7\u0005", + "\u000e\b\u0002\u01e6\u01e8\u0007\u000f\u0002\u0002\u01e7\u01e6\u0003", + "\u0002\u0002\u0002\u01e7\u01e8\u0003\u0002\u0002\u0002\u01e8\u01ea\u0003", + "\u0002\u0002\u0002\u01e9\u01de\u0003\u0002\u0002\u0002\u01e9\u01e5\u0003", + "\u0002\u0002\u0002\u01ea\t\u0003\u0002\u0002\u0002\u01eb\u01ec\u0006", + "\u0006\u0002\u0002\u01ec\u01ed\u0007\u0010\u0002\u0002\u01ed\u000b\u0003", + "\u0002\u0002\u0002\u01ee\u01f8\u0005\u0006\u0004\u0002\u01ef\u01f1\u0005", + "\u000e\b\u0002\u01f0\u01ef\u0003\u0002\u0002\u0002\u01f1\u01f2\u0003", + "\u0002\u0002\u0002\u01f2\u01f0\u0003\u0002\u0002\u0002\u01f2\u01f3\u0003", + "\u0002\u0002\u0002\u01f3\u01f5\u0003\u0002\u0002\u0002\u01f4\u01f6\u0007", + "\r\u0002\u0002\u01f5\u01f4\u0003\u0002\u0002\u0002\u01f5\u01f6\u0003", + "\u0002\u0002\u0002\u01f6\u01f8\u0003\u0002\u0002\u0002\u01f7\u01ee\u0003", + "\u0002\u0002\u0002\u01f7\u01f0\u0003\u0002\u0002\u0002\u01f8\r\u0003", + "\u0002\u0002\u0002\u01f9\u0237\u0005\u001a\u000e\u0002\u01fa\u0237\u0005", + "$\u0013\u0002\u01fb\u0237\u0005p9\u0002\u01fc\u0237\u0005&\u0014\u0002", + "\u01fd\u0237\u0005(\u0015\u0002\u01fe\u0237\u0005*\u0016\u0002\u01ff", + "\u0237\u0005,\u0017\u0002\u0200\u0237\u0005\u00d2j\u0002\u0201\u0237", + "\u0005\u00d6l\u0002\u0202\u0237\u0005\u00d8m\u0002\u0203\u0237\u0005", + "\u00dco\u0002\u0204\u0237\u0005\u00dep\u0002\u0205\u0237\u0005\u00e8", + "u\u0002\u0206\u0237\u0005\u0080A\u0002\u0207\u0237\u0005\u0084C\u0002", + "\u0208\u0237\u0005\u00eav\u0002\u0209\u0237\u0005F$\u0002\u020a\u0237", + "\u0005\u0088E\u0002\u020b\u0237\u0005\u008eH\u0002\u020c\u0237\u0005", + "\u0094K\u0002\u020d\u0237\u0005D#\u0002\u020e\u0237\u0005.\u0018\u0002", + "\u020f\u0237\u0005\u016a\u00b6\u0002\u0210\u0237\u0005\u016e\u00b8\u0002", + "\u0211\u0237\u0005\u009eP\u0002\u0212\u0237\u0005\u00a0Q\u0002\u0213", + "\u0237\u0005\u00a2R\u0002\u0214\u0237\u0005\u00bc_\u0002\u0215\u0237", + "\u0005\u00d0i\u0002\u0216\u0237\u0005\u0112\u008a\u0002\u0217\u0237", + "\u0005\u0114\u008b\u0002\u0218\u0237\u0005\u00a4S\u0002\u0219\u0237", + "\u0005\u00b0Y\u0002\u021a\u0237\u0005\u00b2Z\u0002\u021b\u0237\u0005", + "\u00ba^\u0002\u021c\u0237\u0005\u00be`\u0002\u021d\u0237\u0005\u00c6", + "d\u0002\u021e\u0237\u0005\u00caf\u0002\u021f\u0237\u0005\u00ccg\u0002", + "\u0220\u0237\u0005\u0162\u00b2\u0002\u0221\u0237\u0005\u00ceh\u0002", + "\u0222\u0237\u0005\u00f2z\u0002\u0223\u0237\u0005\u00f4{\u0002\u0224", + "\u0237\u0005\u00f6|\u0002\u0225\u0237\u0005\u00f8}\u0002\u0226\u0237", + "\u0005\u00fa~\u0002\u0227\u0237\u0005\u00fc\u007f\u0002\u0228\u0237", + "\u0005\u011a\u008e\u0002\u0229\u0237\u0005\u0106\u0084\u0002\u022a\u0237", + "\u0005\u0108\u0085\u0002\u022b\u0237\u0005\u015a\u00ae\u0002\u022c\u0237", + "\u0005\u010c\u0087\u0002\u022d\u0237\u0005\u010a\u0086\u0002\u022e\u0237", + "\u0005\u010e\u0088\u0002\u022f\u0237\u0005\u0110\u0089\u0002\u0230\u0237", + "\u0005\u0116\u008c\u0002\u0231\u0237\u0005\u01a8\u00d5\u0002\u0232\u0237", + "\u0005\u01ac\u00d7\u0002\u0233\u0237\u0005\u0016\f\u0002\u0234\u0237", + "\u0005\u0018\r\u0002\u0235\u0237\u0005\u0010\t\u0002\u0236\u01f9\u0003", + "\u0002\u0002\u0002\u0236\u01fa\u0003\u0002\u0002\u0002\u0236\u01fb\u0003", + "\u0002\u0002\u0002\u0236\u01fc\u0003\u0002\u0002\u0002\u0236\u01fd\u0003", + "\u0002\u0002\u0002\u0236\u01fe\u0003\u0002\u0002\u0002\u0236\u01ff\u0003", + "\u0002\u0002\u0002\u0236\u0200\u0003\u0002\u0002\u0002\u0236\u0201\u0003", + "\u0002\u0002\u0002\u0236\u0202\u0003\u0002\u0002\u0002\u0236\u0203\u0003", + "\u0002\u0002\u0002\u0236\u0204\u0003\u0002\u0002\u0002\u0236\u0205\u0003", + "\u0002\u0002\u0002\u0236\u0206\u0003\u0002\u0002\u0002\u0236\u0207\u0003", + "\u0002\u0002\u0002\u0236\u0208\u0003\u0002\u0002\u0002\u0236\u0209\u0003", + "\u0002\u0002\u0002\u0236\u020a\u0003\u0002\u0002\u0002\u0236\u020b\u0003", + "\u0002\u0002\u0002\u0236\u020c\u0003\u0002\u0002\u0002\u0236\u020d\u0003", + "\u0002\u0002\u0002\u0236\u020e\u0003\u0002\u0002\u0002\u0236\u020f\u0003", + "\u0002\u0002\u0002\u0236\u0210\u0003\u0002\u0002\u0002\u0236\u0211\u0003", + "\u0002\u0002\u0002\u0236\u0212\u0003\u0002\u0002\u0002\u0236\u0213\u0003", + "\u0002\u0002\u0002\u0236\u0214\u0003\u0002\u0002\u0002\u0236\u0215\u0003", + "\u0002\u0002\u0002\u0236\u0216\u0003\u0002\u0002\u0002\u0236\u0217\u0003", + "\u0002\u0002\u0002\u0236\u0218\u0003\u0002\u0002\u0002\u0236\u0219\u0003", + "\u0002\u0002\u0002\u0236\u021a\u0003\u0002\u0002\u0002\u0236\u021b\u0003", + "\u0002\u0002\u0002\u0236\u021c\u0003\u0002\u0002\u0002\u0236\u021d\u0003", + "\u0002\u0002\u0002\u0236\u021e\u0003\u0002\u0002\u0002\u0236\u021f\u0003", + "\u0002\u0002\u0002\u0236\u0220\u0003\u0002\u0002\u0002\u0236\u0221\u0003", + "\u0002\u0002\u0002\u0236\u0222\u0003\u0002\u0002\u0002\u0236\u0223\u0003", + "\u0002\u0002\u0002\u0236\u0224\u0003\u0002\u0002\u0002\u0236\u0225\u0003", + "\u0002\u0002\u0002\u0236\u0226\u0003\u0002\u0002\u0002\u0236\u0227\u0003", + "\u0002\u0002\u0002\u0236\u0228\u0003\u0002\u0002\u0002\u0236\u0229\u0003", + "\u0002\u0002\u0002\u0236\u022a\u0003\u0002\u0002\u0002\u0236\u022b\u0003", + "\u0002\u0002\u0002\u0236\u022c\u0003\u0002\u0002\u0002\u0236\u022d\u0003", + "\u0002\u0002\u0002\u0236\u022e\u0003\u0002\u0002\u0002\u0236\u022f\u0003", + "\u0002\u0002\u0002\u0236\u0230\u0003\u0002\u0002\u0002\u0236\u0231\u0003", + "\u0002\u0002\u0002\u0236\u0232\u0003\u0002\u0002\u0002\u0236\u0233\u0003", + "\u0002\u0002\u0002\u0236\u0234\u0003\u0002\u0002\u0002\u0236\u0235\u0003", + "\u0002\u0002\u0002\u0237\u000f\u0003\u0002\u0002\u0002\u0238\u0239\t", + "\u0002\u0002\u0002\u0239\u0011\u0003\u0002\u0002\u0002\u023a\u023c\u0007", + "\u0011\u0002\u0002\u023b\u023d\u0005\u0014\u000b\u0002\u023c\u023b\u0003", + "\u0002\u0002\u0002\u023d\u023e\u0003\u0002\u0002\u0002\u023e\u023c\u0003", + "\u0002\u0002\u0002\u023e\u023f\u0003\u0002\u0002\u0002\u023f\u0013\u0003", + "\u0002\u0002\u0002\u0240\u0241\u0007\u0012\u0002\u0002\u0241\u0242\u0007", + "\u0013\u0002\u0002\u0242\u0243\u0007\u0014\u0002\u0002\u0243\u0244\u0005", + "\u0004\u0003\u0002\u0244\u0245\n\u0003\u0002\u0002\u0245\u0015\u0003", + "\u0002\u0002\u0002\u0246\u0247\u0007\u0015\u0002\u0002\u0247\u0017\u0003", + "\u0002\u0002\u0002\u0248\u0249\u0006\r\u0003\u0002\u0249\u024a\u0005", + "\u0180\u00c1\u0002\u024a\u0019\u0003\u0002\u0002\u0002\u024b\u024c\u0007", + "\u0016\u0002\u0002\u024c\u0259\u0005\u00fe\u0080\u0002\u024d\u024f\u0007", + "\u0016\u0002\u0002\u024e\u024d\u0003\u0002\u0002\u0002\u024e\u024f\u0003", + "\u0002\u0002\u0002\u024f\u0250\u0003\u0002\u0002\u0002\u0250\u0255\u0005", + "\u001c\u000f\u0002\u0251\u0252\u0007\u0017\u0002\u0002\u0252\u0254\u0005", + "\u001c\u000f\u0002\u0253\u0251\u0003\u0002\u0002\u0002\u0254\u0257\u0003", + "\u0002\u0002\u0002\u0255\u0253\u0003\u0002\u0002\u0002\u0255\u0256\u0003", + "\u0002\u0002\u0002\u0256\u0259\u0003\u0002\u0002\u0002\u0257\u0255\u0003", + "\u0002\u0002\u0002\u0258\u024b\u0003\u0002\u0002\u0002\u0258\u024e\u0003", + "\u0002\u0002\u0002\u0259\u001b\u0003\u0002\u0002\u0002\u025a\u025e\u0005", + "\u001e\u0010\u0002\u025b\u025e\u0005 \u0011\u0002\u025c\u025e\u0005", + "\"\u0012\u0002\u025d\u025a\u0003\u0002\u0002\u0002\u025d\u025b\u0003", + "\u0002\u0002\u0002\u025d\u025c\u0003\u0002\u0002\u0002\u025e\u001d\u0003", + "\u0002\u0002\u0002\u025f\u0261\u0005\u01b8\u00dd\u0002\u0260\u0262\u0007", + "\u0018\u0002\u0002\u0261\u0260\u0003\u0002\u0002\u0002\u0261\u0262\u0003", + "\u0002\u0002\u0002\u0262\u0263\u0003\u0002\u0002\u0002\u0263\u0264\u0007", + "\u0019\u0002\u0002\u0264\u0265\u0005\u0180\u00c1\u0002\u0265\u0270\u0003", + "\u0002\u0002\u0002\u0266\u0267\u0007\u001a\u0002\u0002\u0267\u0268\u0005", + "\u01b8\u00dd\u0002\u0268\u026a\u0007\u001b\u0002\u0002\u0269\u026b\u0007", + "\u0018\u0002\u0002\u026a\u0269\u0003\u0002\u0002\u0002\u026a\u026b\u0003", + "\u0002\u0002\u0002\u026b\u026c\u0003\u0002\u0002\u0002\u026c\u026d\u0007", + "\u0019\u0002\u0002\u026d\u026e\u0005\u0180\u00c1\u0002\u026e\u0270\u0003", + "\u0002\u0002\u0002\u026f\u025f\u0003\u0002\u0002\u0002\u026f\u0266\u0003", + "\u0002\u0002\u0002\u0270\u001f\u0003\u0002\u0002\u0002\u0271\u0272\u0007", + "\u001a\u0002\u0002\u0272\u0277\u0005\u01b8\u00dd\u0002\u0273\u0274\u0007", + "\u0017\u0002\u0002\u0274\u0276\u0005\u01b8\u00dd\u0002\u0275\u0273\u0003", + "\u0002\u0002\u0002\u0276\u0279\u0003\u0002\u0002\u0002\u0277\u0275\u0003", + "\u0002\u0002\u0002\u0277\u0278\u0003\u0002\u0002\u0002\u0278\u027a\u0003", + "\u0002\u0002\u0002\u0279\u0277\u0003\u0002\u0002\u0002\u027a\u027c\u0007", + "\u001b\u0002\u0002\u027b\u027d\u0007\u0018\u0002\u0002\u027c\u027b\u0003", + "\u0002\u0002\u0002\u027c\u027d\u0003\u0002\u0002\u0002\u027d\u027e\u0003", + "\u0002\u0002\u0002\u027e\u027f\u0007\u0019\u0002\u0002\u027f\u0280\u0007", + "\u001a\u0002\u0002\u0280\u0285\u0005\u0180\u00c1\u0002\u0281\u0282\u0007", + "\u0017\u0002\u0002\u0282\u0284\u0005\u0180\u00c1\u0002\u0283\u0281\u0003", + "\u0002\u0002\u0002\u0284\u0287\u0003\u0002\u0002\u0002\u0285\u0283\u0003", + "\u0002\u0002\u0002\u0285\u0286\u0003\u0002\u0002\u0002\u0286\u0288\u0003", + "\u0002\u0002\u0002\u0287\u0285\u0003\u0002\u0002\u0002\u0288\u0289\u0007", + "\u001b\u0002\u0002\u0289!\u0003\u0002\u0002\u0002\u028a\u0297\u0005", + "\u01b8\u00dd\u0002\u028b\u028c\u0007\u001a\u0002\u0002\u028c\u0291\u0005", + "\u01b8\u00dd\u0002\u028d\u028e\u0007\u0017\u0002\u0002\u028e\u0290\u0005", + "\u01b8\u00dd\u0002\u028f\u028d\u0003\u0002\u0002\u0002\u0290\u0293\u0003", + "\u0002\u0002\u0002\u0291\u028f\u0003\u0002\u0002\u0002\u0291\u0292\u0003", + "\u0002\u0002\u0002\u0292\u0294\u0003\u0002\u0002\u0002\u0293\u0291\u0003", + "\u0002\u0002\u0002\u0294\u0295\u0007\u001b\u0002\u0002\u0295\u0297\u0003", + "\u0002\u0002\u0002\u0296\u028a\u0003\u0002\u0002\u0002\u0296\u028b\u0003", + "\u0002\u0002\u0002\u0297\u0299\u0003\u0002\u0002\u0002\u0298\u029a\u0007", + "\u0018\u0002\u0002\u0299\u0298\u0003\u0002\u0002\u0002\u0299\u029a\u0003", + "\u0002\u0002\u0002\u029a\u029b\u0003\u0002\u0002\u0002\u029b\u029c\u0007", + "\u0019\u0002\u0002\u029c\u029d\u0007\u001a\u0002\u0002\u029d\u029e\u0005", + "\u011a\u008e\u0002\u029e\u029f\u0007\u001b\u0002\u0002\u029f#\u0003", + "\u0002\u0002\u0002\u02a0\u02a1\u0007\u001c\u0002\u0002\u02a1\u02a2\u0005", + "\u01b8\u00dd\u0002\u02a2\u02a3\u0007\u001d\u0002\u0002\u02a3\u02a7\u0007", + "\u001e\u0002\u0002\u02a4\u02a5\u0007\u001f\u0002\u0002\u02a5\u02a8\u0007", + "\u0016\u0002\u0002\u02a6\u02a8\u0007 \u0002\u0002\u02a7\u02a4\u0003", + "\u0002\u0002\u0002\u02a7\u02a6\u0003\u0002\u0002\u0002\u02a8\u02a9\u0003", + "\u0002\u0002\u0002\u02a9\u02aa\u0005\u01b8\u00dd\u0002\u02aa%\u0003", + "\u0002\u0002\u0002\u02ab\u02ae\u0007!\u0002\u0002\u02ac\u02ad\u0007", + "\u001f\u0002\u0002\u02ad\u02af\u0007\u0016\u0002\u0002\u02ae\u02ac\u0003", + "\u0002\u0002\u0002\u02ae\u02af\u0003\u0002\u0002\u0002\u02af\u02b0\u0003", + "\u0002\u0002\u0002\u02b0\u02b1\t\u0004\u0002\u0002\u02b1\u02b2\u0007", + "\u001a\u0002\u0002\u02b2\u02b7\u0005\u01b8\u00dd\u0002\u02b3\u02b4\u0007", + "\u0017\u0002\u0002\u02b4\u02b6\u0005\u01b8\u00dd\u0002\u02b5\u02b3\u0003", + "\u0002\u0002\u0002\u02b6\u02b9\u0003\u0002\u0002\u0002\u02b7\u02b5\u0003", + "\u0002\u0002\u0002\u02b7\u02b8\u0003\u0002\u0002\u0002\u02b8\u02ba\u0003", + "\u0002\u0002\u0002\u02b9\u02b7\u0003\u0002\u0002\u0002\u02ba\u02bb\u0007", + "\u001b\u0002\u0002\u02bb\u02bc\u0007$\u0002\u0002\u02bc\u02bd\u0007", + " \u0002\u0002\u02bd\u02be\u0005\u01b8\u00dd\u0002\u02be\'\u0003\u0002", + "\u0002\u0002\u02bf\u02c0\u0007\u000e\u0002\u0002\u02c0\u02c1\u0007%", + "\u0002\u0002\u02c1)\u0003\u0002\u0002\u0002\u02c2\u02c3\u0007&\u0002", + "\u0002\u02c3+\u0003\u0002\u0002\u0002\u02c4\u02c5\u0007\'\u0002\u0002", + "\u02c5\u02cc\u0005\u01b8\u00dd\u0002\u02c6\u02c8\u0007\u001a\u0002\u0002", + "\u02c7\u02c9\u0005\u01a0\u00d1\u0002\u02c8\u02c7\u0003\u0002\u0002\u0002", + "\u02c8\u02c9\u0003\u0002\u0002\u0002\u02c9\u02ca\u0003\u0002\u0002\u0002", + "\u02ca\u02cd\u0007\u001b\u0002\u0002\u02cb\u02cd\u0005\u01a0\u00d1\u0002", + "\u02cc\u02c6\u0003\u0002\u0002\u0002\u02cc\u02cb\u0003\u0002\u0002\u0002", + "\u02cc\u02cd\u0003\u0002\u0002\u0002\u02cd-\u0003\u0002\u0002\u0002", + "\u02ce\u02cf\u0007(\u0002\u0002\u02cf\u02d4\u00054\u001b\u0002\u02d0", + "\u02d1\u0007\u0017\u0002\u0002\u02d1\u02d3\u00054\u001b\u0002\u02d2", + "\u02d0\u0003\u0002\u0002\u0002\u02d3\u02d6\u0003\u0002\u0002\u0002\u02d4", + "\u02d2\u0003\u0002\u0002\u0002\u02d4\u02d5\u0003\u0002\u0002\u0002\u02d5", + "/\u0003\u0002\u0002\u0002\u02d6\u02d4\u0003\u0002\u0002\u0002\u02d7", + "\u02d8\u0007(\u0002\u0002\u02d8\u02d9\u00054\u001b\u0002\u02d9\u02df", + "\u0007\u000f\u0002\u0002\u02da\u02db\u00054\u001b\u0002\u02db\u02dc", + "\u0007\u000f\u0002\u0002\u02dc\u02de\u0003\u0002\u0002\u0002\u02dd\u02da", + "\u0003\u0002\u0002\u0002\u02de\u02e1\u0003\u0002\u0002\u0002\u02df\u02dd", + "\u0003\u0002\u0002\u0002\u02df\u02e0\u0003\u0002\u0002\u0002\u02e01", + "\u0003\u0002\u0002\u0002\u02e1\u02df\u0003\u0002\u0002\u0002\u02e2\u02e3", + "\u00054\u001b\u0002\u02e3\u02e9\u0007\u000f\u0002\u0002\u02e4\u02e5", + "\u00054\u001b\u0002\u02e5\u02e6\u0007\u000f\u0002\u0002\u02e6\u02e8", + "\u0003\u0002\u0002\u0002\u02e7\u02e4\u0003\u0002\u0002\u0002\u02e8\u02eb", + "\u0003\u0002\u0002\u0002\u02e9\u02e7\u0003\u0002\u0002\u0002\u02e9\u02ea", + "\u0003\u0002\u0002\u0002\u02ea3\u0003\u0002\u0002\u0002\u02eb\u02e9", + "\u0003\u0002\u0002\u0002\u02ec\u02f2\u0005:\u001e\u0002\u02ed\u02f2", + "\u00058\u001d\u0002\u02ee\u02f2\u0005@!\u0002\u02ef\u02f2\u00056\u001c", + "\u0002\u02f0\u02f2\u0005B\"\u0002\u02f1\u02ec\u0003\u0002\u0002\u0002", + "\u02f1\u02ed\u0003\u0002\u0002\u0002\u02f1\u02ee\u0003\u0002\u0002\u0002", + "\u02f1\u02ef\u0003\u0002\u0002\u0002\u02f1\u02f0\u0003\u0002\u0002\u0002", + "\u02f25\u0003\u0002\u0002\u0002\u02f3\u02f8\u0005\u01b8\u00dd\u0002", + "\u02f4\u02f5\u0007\u0017\u0002\u0002\u02f5\u02f7\u0005\u01b8\u00dd\u0002", + "\u02f6\u02f4\u0003\u0002\u0002\u0002\u02f7\u02fa\u0003\u0002\u0002\u0002", + "\u02f8\u02f6\u0003\u0002\u0002\u0002\u02f8\u02f9\u0003\u0002\u0002\u0002", + "\u02f9\u02fc\u0003\u0002\u0002\u0002\u02fa\u02f8\u0003\u0002\u0002\u0002", + "\u02fb\u02fd\u0007)\u0002\u0002\u02fc\u02fb\u0003\u0002\u0002\u0002", + "\u02fc\u02fd\u0003\u0002\u0002\u0002\u02fd\u02fe\u0003\u0002\u0002\u0002", + "\u02fe\u0300\u0005x=\u0002\u02ff\u0301\u0005z>\u0002\u0300\u02ff\u0003", + "\u0002\u0002\u0002\u0300\u0301\u0003\u0002\u0002\u0002\u0301\u0305\u0003", + "\u0002\u0002\u0002\u0302\u0304\u0005|?\u0002\u0303\u0302\u0003\u0002", + "\u0002\u0002\u0304\u0307\u0003\u0002\u0002\u0002\u0305\u0303\u0003\u0002", + "\u0002\u0002\u0305\u0306\u0003\u0002\u0002\u0002\u0306\u0309\u0003\u0002", + "\u0002\u0002\u0307\u0305\u0003\u0002\u0002\u0002\u0308\u030a\u0005~", + "@\u0002\u0309\u0308\u0003\u0002\u0002\u0002\u0309\u030a\u0003\u0002", + "\u0002\u0002\u030a\u0317\u0003\u0002\u0002\u0002\u030b\u030c\u0005\u01b8", + "\u00dd\u0002\u030c\u030e\u0007*\u0002\u0002\u030d\u030f\u0007)\u0002", + "\u0002\u030e\u030d\u0003\u0002\u0002\u0002\u030e\u030f\u0003\u0002\u0002", + "\u0002\u030f\u0310\u0003\u0002\u0002\u0002\u0310\u0312\u0005x=\u0002", + "\u0311\u0313\u0005z>\u0002\u0312\u0311\u0003\u0002\u0002\u0002\u0312", + "\u0313\u0003\u0002\u0002\u0002\u0313\u0314\u0003\u0002\u0002\u0002\u0314", + "\u0315\u0005~@\u0002\u0315\u0317\u0003\u0002\u0002\u0002\u0316\u02f3", + "\u0003\u0002\u0002\u0002\u0316\u030b\u0003\u0002\u0002\u0002\u03177", + "\u0003\u0002\u0002\u0002\u0318\u0319\u0005\u01b8\u00dd\u0002\u0319\u031a", + "\u0007+\u0002\u0002\u031a9\u0003\u0002\u0002\u0002\u031b\u031c\u0007", + "\u001d\u0002\u0002\u031c\u0321\u0005\u01b8\u00dd\u0002\u031d\u031e\u0005", + "\u01b8\u00dd\u0002\u031e\u031f\u0007\u001d\u0002\u0002\u031f\u0321\u0003", + "\u0002\u0002\u0002\u0320\u031b\u0003\u0002\u0002\u0002\u0320\u031d\u0003", + "\u0002\u0002\u0002\u0321\u0324\u0003\u0002\u0002\u0002\u0322\u0325\u0005", + "<\u001f\u0002\u0323\u0325\u0005> \u0002\u0324\u0322\u0003\u0002\u0002", + "\u0002\u0324\u0323\u0003\u0002\u0002\u0002\u0324\u0325\u0003\u0002\u0002", + "\u0002\u0325\u0326\u0003\u0002\u0002\u0002\u0326\u0329\t\u0005\u0002", + "\u0002\u0327\u032a\u0005\u011a\u008e\u0002\u0328\u032a\u0005\u0180\u00c1", + "\u0002\u0329\u0327\u0003\u0002\u0002\u0002\u0329\u0328\u0003\u0002\u0002", + "\u0002\u032a;\u0003\u0002\u0002\u0002\u032b\u032c\u0007$\u0002\u0002", + "\u032c\u032e\u0007-\u0002\u0002\u032d\u032f\u0007.\u0002\u0002\u032e", + "\u032d\u0003\u0002\u0002\u0002\u032e\u032f\u0003\u0002\u0002\u0002\u032f", + "\u0332\u0003\u0002\u0002\u0002\u0330\u0331\u0007/\u0002\u0002\u0331", + "\u0333\t\u0006\u0002\u0002\u0332\u0330\u0003\u0002\u0002\u0002\u0332", + "\u0333\u0003\u0002\u0002\u0002\u0333=\u0003\u0002\u0002\u0002\u0334", + "\u0335\u00072\u0002\u0002\u0335\u0336\u0007-\u0002\u0002\u0336?\u0003", + "\u0002\u0002\u0002\u0337\u0338\t\u0007\u0002\u0002\u0338\u0339\u0007", + "5\u0002\u0002\u0339\u033f\u0007\u001e\u0002\u0002\u033a\u0340\u0007", + "6\u0002\u0002\u033b\u0340\u00077\u0002\u0002\u033c\u033d\u00078\u0002", + "\u0002\u033d\u0340\u00079\u0002\u0002\u033e\u0340\u0005\u01b8\u00dd", + "\u0002\u033f\u033a\u0003\u0002\u0002\u0002\u033f\u033b\u0003\u0002\u0002", + "\u0002\u033f\u033c\u0003\u0002\u0002\u0002\u033f\u033e\u0003\u0002\u0002", + "\u0002\u0340\u0341\u0003\u0002\u0002\u0002\u0341\u0342\u0005\b\u0005", + "\u0002\u0342A\u0003\u0002\u0002\u0002\u0343\u0345\u0007:\u0002\u0002", + "\u0344\u0343\u0003\u0002\u0002\u0002\u0344\u0345\u0003\u0002\u0002\u0002", + "\u0345\u0346\u0003\u0002\u0002\u0002\u0346\u0347\u0007;\u0002\u0002", + "\u0347\u0348\u0007<\u0002\u0002\u0348\u034a\u0005\u01b8\u00dd\u0002", + "\u0349\u034b\u0005V,\u0002\u034a\u0349\u0003\u0002\u0002\u0002\u034a", + "\u034b\u0003\u0002\u0002\u0002\u034b\u034c\u0003\u0002\u0002\u0002\u034c", + "\u034d\u0005H%\u0002\u034dC\u0003\u0002\u0002\u0002\u034e\u034f\u0007", + "=\u0002\u0002\u034f\u0353\u0007<\u0002\u0002\u0350\u0351\u0007>\u0002", + "\u0002\u0351\u0352\u00078\u0002\u0002\u0352\u0354\u0007?\u0002\u0002", + "\u0353\u0350\u0003\u0002\u0002\u0002\u0353\u0354\u0003\u0002\u0002\u0002", + "\u0354\u0355\u0003\u0002\u0002\u0002\u0355\u0357\u0005\u014a\u00a6\u0002", + "\u0356\u0358\u0005V,\u0002\u0357\u0356\u0003\u0002\u0002\u0002\u0357", + "\u0358\u0003\u0002\u0002\u0002\u0358\u0359\u0003\u0002\u0002\u0002\u0359", + "\u035a\u0005H%\u0002\u035aE\u0003\u0002\u0002\u0002\u035b\u0362\u0007", + "=\u0002\u0002\u035c\u035d\u0007@\u0002\u0002\u035d\u0363\u0007;\u0002", + "\u0002\u035e\u0360\t\b\u0002\u0002\u035f\u035e\u0003\u0002\u0002\u0002", + "\u035f\u0360\u0003\u0002\u0002\u0002\u0360\u0361\u0003\u0002\u0002\u0002", + "\u0361\u0363\u0007B\u0002\u0002\u0362\u035c\u0003\u0002\u0002\u0002", + "\u0362\u035f\u0003\u0002\u0002\u0002\u0363\u0364\u0003\u0002\u0002\u0002", + "\u0364\u0365\u0007<\u0002\u0002\u0365\u0367\u0005\u01b8\u00dd\u0002", + "\u0366\u0368\u0005V,\u0002\u0367\u0366\u0003\u0002\u0002\u0002\u0367", + "\u0368\u0003\u0002\u0002\u0002\u0368\u0369\u0003\u0002\u0002\u0002\u0369", + "\u036a\u0005H%\u0002\u036aG\u0003\u0002\u0002\u0002\u036b\u036d\u0007", + ")\u0002\u0002\u036c\u036b\u0003\u0002\u0002\u0002\u036c\u036d\u0003", + "\u0002\u0002\u0002\u036d\u036e\u0003\u0002\u0002\u0002\u036e\u036f\u0007", + "\u001a\u0002\u0002\u036f\u0370\u0005\u011a\u008e\u0002\u0370\u0371\u0007", + "\u001b\u0002\u0002\u0371\u037d\u0003\u0002\u0002\u0002\u0372\u0374\u0007", + ")\u0002\u0002\u0373\u0372\u0003\u0002\u0002\u0002\u0373\u0374\u0003", + "\u0002\u0002\u0002\u0374\u0375\u0003\u0002\u0002\u0002\u0375\u037d\u0005", + "\u011a\u008e\u0002\u0376\u0377\u0007\u001a\u0002\u0002\u0377\u0378\u0005", + "J&\u0002\u0378\u0379\u0007\u001b\u0002\u0002\u0379\u037d\u0003\u0002", + "\u0002\u0002\u037a\u037b\u0007C\u0002\u0002\u037b\u037d\u0005\u014a", + "\u00a6\u0002\u037c\u036c\u0003\u0002\u0002\u0002\u037c\u0373\u0003\u0002", + "\u0002\u0002\u037c\u0376\u0003\u0002\u0002\u0002\u037c\u037a\u0003\u0002", + "\u0002\u0002\u037d\u037f\u0003\u0002\u0002\u0002\u037e\u0380\u0005\\", + "/\u0002\u037f\u037e\u0003\u0002\u0002\u0002\u037f\u0380\u0003\u0002", + "\u0002\u0002\u0380I\u0003\u0002\u0002\u0002\u0381\u0386\u0005L\'\u0002", + "\u0382\u0383\u0007\u0017\u0002\u0002\u0383\u0385\u0005L\'\u0002\u0384", + "\u0382\u0003\u0002\u0002\u0002\u0385\u0388\u0003\u0002\u0002\u0002\u0386", + "\u0384\u0003\u0002\u0002\u0002\u0386\u0387\u0003\u0002\u0002\u0002\u0387", + "K\u0003\u0002\u0002\u0002\u0388\u0386\u0003\u0002\u0002\u0002\u0389", + "\u038a\u0005N(\u0002\u038a\u038c\u0005x=\u0002\u038b\u038d\u0005z>\u0002", + "\u038c\u038b\u0003\u0002\u0002\u0002\u038c\u038d\u0003\u0002\u0002\u0002", + "\u038d\u0391\u0003\u0002\u0002\u0002\u038e\u0390\u0005|?\u0002\u038f", + "\u038e\u0003\u0002\u0002\u0002\u0390\u0393\u0003\u0002\u0002\u0002\u0391", + "\u038f\u0003\u0002\u0002\u0002\u0391\u0392\u0003\u0002\u0002\u0002\u0392", + "\u0397\u0003\u0002\u0002\u0002\u0393\u0391\u0003\u0002\u0002\u0002\u0394", + "\u0396\u0005P)\u0002\u0395\u0394\u0003\u0002\u0002\u0002\u0396\u0399", + "\u0003\u0002\u0002\u0002\u0397\u0395\u0003\u0002\u0002\u0002\u0397\u0398", + "\u0003\u0002\u0002\u0002\u0398\u03a0\u0003\u0002\u0002\u0002\u0399\u0397", + "\u0003\u0002\u0002\u0002\u039a\u039b\u0007D\u0002\u0002\u039b\u039d", + "\u0005\u01b8\u00dd\u0002\u039c\u039a\u0003\u0002\u0002\u0002\u039c\u039d", + "\u0003\u0002\u0002\u0002\u039d\u039e\u0003\u0002\u0002\u0002\u039e\u03a0", + "\u0005R*\u0002\u039f\u0389\u0003\u0002\u0002\u0002\u039f\u039c\u0003", + "\u0002\u0002\u0002\u03a0M\u0003\u0002\u0002\u0002\u03a1\u03a2\u0005", + "\u01b8\u00dd\u0002\u03a2O\u0003\u0002\u0002\u0002\u03a3\u03c4\u0005", + "~@\u0002\u03a4\u03a6\u00078\u0002\u0002\u03a5\u03a4\u0003\u0002\u0002", + "\u0002\u03a5\u03a6\u0003\u0002\u0002\u0002\u03a6\u03a7\u0003\u0002\u0002", + "\u0002\u03a7\u03c4\u0007\u0015\u0002\u0002\u03a8\u03a9\u0007E\u0002", + "\u0002\u03a9\u03c4\u0007F\u0002\u0002\u03aa\u03c4\u0007G\u0002\u0002", + "\u03ab\u03ac\u0007H\u0002\u0002\u03ac\u03ad\u0005\u014a\u00a6\u0002", + "\u03ad\u03ae\u0007\u001a\u0002\u0002\u03ae\u03af\u0005\u01b8\u00dd\u0002", + "\u03af\u03b3\u0007\u001b\u0002\u0002\u03b0\u03b2\u0005T+\u0002\u03b1", + "\u03b0\u0003\u0002\u0002\u0002\u03b2\u03b5\u0003\u0002\u0002\u0002\u03b3", + "\u03b1\u0003\u0002\u0002\u0002\u03b3\u03b4\u0003\u0002\u0002\u0002\u03b4", + "\u03c4\u0003\u0002\u0002\u0002\u03b5\u03b3\u0003\u0002\u0002\u0002\u03b6", + "\u03b7\u0007I\u0002\u0002\u03b7\u03b8\u0007\u001a\u0002\u0002\u03b8", + "\u03bd\u0007J\u0002\u0002\u03b9\u03ba\u0007\u0017\u0002\u0002\u03ba", + "\u03bc\u0007J\u0002\u0002\u03bb\u03b9\u0003\u0002\u0002\u0002\u03bc", + "\u03bf\u0003\u0002\u0002\u0002\u03bd\u03bb\u0003\u0002\u0002\u0002\u03bd", + "\u03be\u0003\u0002\u0002\u0002\u03be\u03c0\u0003\u0002\u0002\u0002\u03bf", + "\u03bd\u0003\u0002\u0002\u0002\u03c0\u03c4\u0007\u001b\u0002\u0002\u03c1", + "\u03c4\u0007K\u0002\u0002\u03c2\u03c4\u0007L\u0002\u0002\u03c3\u03a3", + "\u0003\u0002\u0002\u0002\u03c3\u03a5\u0003\u0002\u0002\u0002\u03c3\u03a8", + "\u0003\u0002\u0002\u0002\u03c3\u03aa\u0003\u0002\u0002\u0002\u03c3\u03ab", + "\u0003\u0002\u0002\u0002\u03c3\u03b6\u0003\u0002\u0002\u0002\u03c3\u03c1", + "\u0003\u0002\u0002\u0002\u03c3\u03c2\u0003\u0002\u0002\u0002\u03c4Q", + "\u0003\u0002\u0002\u0002\u03c5\u03c6\u0007E\u0002\u0002\u03c6\u03c8", + "\u0007F\u0002\u0002\u03c7\u03c9\u0007M\u0002\u0002\u03c8\u03c7\u0003", + "\u0002\u0002\u0002\u03c8\u03c9\u0003\u0002\u0002\u0002\u03c9\u03ca\u0003", + "\u0002\u0002\u0002\u03ca\u03cb\u0007\u001a\u0002\u0002\u03cb\u03cd\u0005", + "\u01b8\u00dd\u0002\u03cc\u03ce\t\t\u0002\u0002\u03cd\u03cc\u0003\u0002", + "\u0002\u0002\u03cd\u03ce\u0003\u0002\u0002\u0002\u03ce\u03d6\u0003\u0002", + "\u0002\u0002\u03cf\u03d0\u0007\u0017\u0002\u0002\u03d0\u03d2\u0005\u01b8", + "\u00dd\u0002\u03d1\u03d3\t\t\u0002\u0002\u03d2\u03d1\u0003\u0002\u0002", + "\u0002\u03d2\u03d3\u0003\u0002\u0002\u0002\u03d3\u03d5\u0003\u0002\u0002", + "\u0002\u03d4\u03cf\u0003\u0002\u0002\u0002\u03d5\u03d8\u0003\u0002\u0002", + "\u0002\u03d6\u03d4\u0003\u0002\u0002\u0002\u03d6\u03d7\u0003\u0002\u0002", + "\u0002\u03d7\u03d9\u0003\u0002\u0002\u0002\u03d8\u03d6\u0003\u0002\u0002", + "\u0002\u03d9\u03db\u0007\u001b\u0002\u0002\u03da\u03dc\u0007L\u0002", + "\u0002\u03db\u03da\u0003\u0002\u0002\u0002\u03db\u03dc\u0003\u0002\u0002", + "\u0002\u03dc\u03de\u0003\u0002\u0002\u0002\u03dd\u03df\u0005\u00eex", + "\u0002\u03de\u03dd\u0003\u0002\u0002\u0002\u03de\u03df\u0003\u0002\u0002", + "\u0002\u03df\u03ff\u0003\u0002\u0002\u0002\u03e0\u03e1\u0007P\u0002", + "\u0002\u03e1\u03e2\u0007F\u0002\u0002\u03e2\u03e3\u0007\u001a\u0002", + "\u0002\u03e3\u03e8\u0005\u01b8\u00dd\u0002\u03e4\u03e5\u0007\u0017\u0002", + "\u0002\u03e5\u03e7\u0005\u01b8\u00dd\u0002\u03e6\u03e4\u0003\u0002\u0002", + "\u0002\u03e7\u03ea\u0003\u0002\u0002\u0002\u03e8\u03e6\u0003\u0002\u0002", + "\u0002\u03e8\u03e9\u0003\u0002\u0002\u0002\u03e9\u03eb\u0003\u0002\u0002", + "\u0002\u03ea\u03e8\u0003\u0002\u0002\u0002\u03eb\u03ec\u0007\u001b\u0002", + "\u0002\u03ec\u03ed\u0007H\u0002\u0002\u03ed\u03ee\u0005\u014a\u00a6", + "\u0002\u03ee\u03ef\u0007\u001a\u0002\u0002\u03ef\u03f4\u0005\u01b8\u00dd", + "\u0002\u03f0\u03f1\u0007\u0017\u0002\u0002\u03f1\u03f3\u0005\u01b8\u00dd", + "\u0002\u03f2\u03f0\u0003\u0002\u0002\u0002\u03f3\u03f6\u0003\u0002\u0002", + "\u0002\u03f4\u03f2\u0003\u0002\u0002\u0002\u03f4\u03f5\u0003\u0002\u0002", + "\u0002\u03f5\u03f7\u0003\u0002\u0002\u0002\u03f6\u03f4\u0003\u0002\u0002", + "\u0002\u03f7\u03fb\u0007\u001b\u0002\u0002\u03f8\u03fa\u0005T+\u0002", + "\u03f9\u03f8\u0003\u0002\u0002\u0002\u03fa\u03fd\u0003\u0002\u0002\u0002", + "\u03fb\u03f9\u0003\u0002\u0002\u0002\u03fb\u03fc\u0003\u0002\u0002\u0002", + "\u03fc\u03ff\u0003\u0002\u0002\u0002\u03fd\u03fb\u0003\u0002\u0002\u0002", + "\u03fe\u03c5\u0003\u0002\u0002\u0002\u03fe\u03e0\u0003\u0002\u0002\u0002", + "\u03ffS\u0003\u0002\u0002\u0002\u0400\u0401\u0007Q\u0002\u0002\u0401", + "\u040a\t\n\u0002\u0002\u0402\u0403\u0007T\u0002\u0002\u0403\u040b\u0007", + "U\u0002\u0002\u0404\u040b\u0007V\u0002\u0002\u0405\u0406\u0007\u0016", + "\u0002\u0002\u0406\u040b\u0007\u0015\u0002\u0002\u0407\u0408\u0007\u0016", + "\u0002\u0002\u0408\u040b\u0007W\u0002\u0002\u0409\u040b\u0007X\u0002", + "\u0002\u040a\u0402\u0003\u0002\u0002\u0002\u040a\u0404\u0003\u0002\u0002", + "\u0002\u040a\u0405\u0003\u0002\u0002\u0002\u040a\u0407\u0003\u0002\u0002", + "\u0002\u040a\u0409\u0003\u0002\u0002\u0002\u040bU\u0003\u0002\u0002", + "\u0002\u040c\u040e\u0005X-\u0002\u040d\u040c\u0003\u0002\u0002\u0002", + "\u040e\u040f\u0003\u0002\u0002\u0002\u040f\u040d\u0003\u0002\u0002\u0002", + "\u040f\u0410\u0003\u0002\u0002\u0002\u0410W\u0003\u0002\u0002\u0002", + "\u0411\u0412\u0007\u0017\u0002\u0002\u0412\u0415\u0005Z.\u0002\u0413", + "\u0415\u0005f4\u0002\u0414\u0411\u0003\u0002\u0002\u0002\u0414\u0413", + "\u0003\u0002\u0002\u0002\u0415Y\u0003\u0002\u0002\u0002\u0416\u0418", + "\u0007T\u0002\u0002\u0417\u0416\u0003\u0002\u0002\u0002\u0417\u0418", + "\u0003\u0002\u0002\u0002\u0418\u0419\u0003\u0002\u0002\u0002\u0419\u041a", + "\t\u000b\u0002\u0002\u041a[\u0003\u0002\u0002\u0002\u041b\u041d\u0005", + "^0\u0002\u041c\u041b\u0003\u0002\u0002\u0002\u041d\u041e\u0003\u0002", + "\u0002\u0002\u041e\u041c\u0003\u0002\u0002\u0002\u041e\u041f\u0003\u0002", + "\u0002\u0002\u041f]\u0003\u0002\u0002\u0002\u0420\u0421\u0007Q\u0002", + "\u0002\u0421\u0422\u0007[\u0002\u0002\u0422\u0423\t\f\u0002\u0002\u0423", + "\u042b\u0007]\u0002\u0002\u0424\u042b\u0005`1\u0002\u0425\u042b\u0005", + "b2\u0002\u0426\u042b\u0005d3\u0002\u0427\u042b\u0005f4\u0002\u0428\u042b", + "\u0005l7\u0002\u0429\u042b\u0005n8\u0002\u042a\u0420\u0003\u0002\u0002", + "\u0002\u042a\u0424\u0003\u0002\u0002\u0002\u042a\u0425\u0003\u0002\u0002", + "\u0002\u042a\u0426\u0003\u0002\u0002\u0002\u042a\u0427\u0003\u0002\u0002", + "\u0002\u042a\u0428\u0003\u0002\u0002\u0002\u042a\u0429\u0003\u0002\u0002", + "\u0002\u042b_\u0003\u0002\u0002\u0002\u042c\u042d\u0007^\u0002\u0002", + "\u042d\u042e\u0007_\u0002\u0002\u042e\u043f\t\r\u0002\u0002\u042f\u0430", + "\t\u000e\u0002\u0002\u0430\u043f\u0007J\u0002\u0002\u0431\u043f\u0007", + "f\u0002\u0002\u0432\u043f\t\u000f\u0002\u0002\u0433\u0434\u0007i\u0002", + "\u0002\u0434\u0437\u0007\u001a\u0002\u0002\u0435\u0438\u0005\u01b8\u00dd", + "\u0002\u0436\u0438\u0007J\u0002\u0002\u0437\u0435\u0003\u0002\u0002", + "\u0002\u0437\u0436\u0003\u0002\u0002\u0002\u0438\u0439\u0003\u0002\u0002", + "\u0002\u0439\u0437\u0003\u0002\u0002\u0002\u0439\u043a\u0003\u0002\u0002", + "\u0002\u043a\u043b\u0003\u0002\u0002\u0002\u043b\u043f\u0007\u001b\u0002", + "\u0002\u043c\u043d\u0007j\u0002\u0002\u043d\u043f\u0005\u01b8\u00dd", + "\u0002\u043e\u042c\u0003\u0002\u0002\u0002\u043e\u042f\u0003\u0002\u0002", + "\u0002\u043e\u0431\u0003\u0002\u0002\u0002\u043e\u0432\u0003\u0002\u0002", + "\u0002\u043e\u0433\u0003\u0002\u0002\u0002\u043e\u043c\u0003\u0002\u0002", + "\u0002\u043fa\u0003\u0002\u0002\u0002\u0440\u0442\u0007k\u0002\u0002", + "\u0441\u0440\u0003\u0002\u0002\u0002\u0441\u0442\u0003\u0002\u0002\u0002", + "\u0442\u0443\u0003\u0002\u0002\u0002\u0443\u0444\u0007l\u0002\u0002", + "\u0444\u0462\u0005\u01b8\u00dd\u0002\u0445\u0446\u0007$\u0002\u0002", + "\u0446\u0462\u0007m\u0002\u0002\u0447\u0448\u0007n\u0002\u0002\u0448", + "\u0449\u0007o\u0002\u0002\u0449\u044a\u0007p\u0002\u0002\u044a\u044b", + "\u0007\u001a\u0002\u0002\u044b\u0450\u0005\u01b8\u00dd\u0002\u044c\u044d", + "\u0007\u0017\u0002\u0002\u044d\u044f\u0005\u01b8\u00dd\u0002\u044e\u044c", + "\u0003\u0002\u0002\u0002\u044f\u0452\u0003\u0002\u0002\u0002\u0450\u044e", + "\u0003\u0002\u0002\u0002\u0450\u0451\u0003\u0002\u0002\u0002\u0451\u0453", + "\u0003\u0002\u0002\u0002\u0452\u0450\u0003\u0002\u0002\u0002\u0453\u0454", + "\u0007\u001b\u0002\u0002\u0454\u0462\u0003\u0002\u0002\u0002\u0455\u0457", + "\u00078\u0002\u0002\u0456\u0455\u0003\u0002\u0002\u0002\u0456\u0457", + "\u0003\u0002\u0002\u0002\u0457\u0458\u0003\u0002\u0002\u0002\u0458\u0462", + "\u0007q\u0002\u0002\u0459\u045a\u0007r\u0002\u0002\u045a\u0462\t\u0010", + "\u0002\u0002\u045b\u045c\u0007t\u0002\u0002\u045c\u0462\u0007.\u0002", + "\u0002\u045d\u045e\u0007$\u0002\u0002\u045e\u045f\u0007V\u0002\u0002", + "\u045f\u0460\u0007Q\u0002\u0002\u0460\u0462\u0007u\u0002\u0002\u0461", + "\u0441\u0003\u0002\u0002\u0002\u0461\u0445\u0003\u0002\u0002\u0002\u0461", + "\u0447\u0003\u0002\u0002\u0002\u0461\u0456\u0003\u0002\u0002\u0002\u0461", + "\u0459\u0003\u0002\u0002\u0002\u0461\u045b\u0003\u0002\u0002\u0002\u0461", + "\u045d\u0003\u0002\u0002\u0002\u0462c\u0003\u0002\u0002\u0002\u0463", + "\u0465\u0007G\u0002\u0002\u0464\u0463\u0003\u0002\u0002\u0002\u0464", + "\u0465\u0003\u0002\u0002\u0002\u0465\u0466\u0003\u0002\u0002\u0002\u0466", + "\u0467\u0007E\u0002\u0002\u0467\u0468\u0007k\u0002\u0002\u0468\u0469", + "\u0007\u001a\u0002\u0002\u0469\u046e\u0005\u01b8\u00dd\u0002\u046a\u046b", + "\u0007\u0017\u0002\u0002\u046b\u046d\u0005\u01b8\u00dd\u0002\u046c\u046a", + "\u0003\u0002\u0002\u0002\u046d\u0470\u0003\u0002\u0002\u0002\u046e\u046c", + "\u0003\u0002\u0002\u0002\u046e\u046f\u0003\u0002\u0002\u0002\u046f\u0471", + "\u0003\u0002\u0002\u0002\u0470\u046e\u0003\u0002\u0002\u0002\u0471\u0472", + "\u0007\u001b\u0002\u0002\u0472\u0476\u0003\u0002\u0002\u0002\u0473\u0474", + "\u0007$\u0002\u0002\u0474\u0476\u0007v\u0002\u0002\u0475\u0464\u0003", + "\u0002\u0002\u0002\u0475\u0473\u0003\u0002\u0002\u0002\u0476e\u0003", + "\u0002\u0002\u0002\u0477\u047c\u0005h5\u0002\u0478\u0479\u0007w\u0002", + "\u0002\u0479\u047a\u0007)\u0002\u0002\u047a\u047c\u0005\u01b8\u00dd", + "\u0002\u047b\u0477\u0003\u0002\u0002\u0002\u047b\u0478\u0003\u0002\u0002", + "\u0002\u047cg\u0003\u0002\u0002\u0002\u047d\u047e\u0007x\u0002\u0002", + "\u047e\u047f\u0007y\u0002\u0002\u047f\u0483\u0007z\u0002\u0002\u0480", + "\u0482\u0005j6\u0002\u0481\u0480\u0003\u0002\u0002\u0002\u0482\u0485", + "\u0003\u0002\u0002\u0002\u0483\u0481\u0003\u0002\u0002\u0002\u0483\u0484", + "\u0003\u0002\u0002\u0002\u0484i\u0003\u0002\u0002\u0002\u0485\u0483", + "\u0003\u0002\u0002\u0002\u0486\u0487\u0007{\u0002\u0002\u0487\u0488", + "\u0007|\u0002\u0002\u0488\u0489\u0007o\u0002\u0002\u0489\u048d\u0005", + "\u0180\u00c1\u0002\u048a\u048b\u0007}\u0002\u0002\u048b\u048c\u0007", + "o\u0002\u0002\u048c\u048e\u0005\u0180\u00c1\u0002\u048d\u048a\u0003", + "\u0002\u0002\u0002\u048d\u048e\u0003\u0002\u0002\u0002\u048e\u04a2\u0003", + "\u0002\u0002\u0002\u048f\u0490\u0007~\u0002\u0002\u0490\u0491\u0007", + "\u007f\u0002\u0002\u0491\u0492\u0007|\u0002\u0002\u0492\u0493\u0007", + "o\u0002\u0002\u0493\u04a2\u0005\u0180\u00c1\u0002\u0494\u0495\u0007", + "\u0080\u0002\u0002\u0495\u0496\u0007\u0081\u0002\u0002\u0496\u0497\u0007", + "|\u0002\u0002\u0497\u0498\u0007o\u0002\u0002\u0498\u04a2\u0005\u0180", + "\u00c1\u0002\u0499\u049a\u0007\u0082\u0002\u0002\u049a\u049b\u0007|", + "\u0002\u0002\u049b\u049c\u0007o\u0002\u0002\u049c\u04a2\u0005\u0180", + "\u00c1\u0002\u049d\u049e\u0007\u0015\u0002\u0002\u049e\u049f\u0007\u0083", + "\u0002\u0002\u049f\u04a0\u0007)\u0002\u0002\u04a0\u04a2\u0005\u0180", + "\u00c1\u0002\u04a1\u0486\u0003\u0002\u0002\u0002\u04a1\u048f\u0003\u0002", + "\u0002\u0002\u04a1\u0494\u0003\u0002\u0002\u0002\u04a1\u0499\u0003\u0002", + "\u0002\u0002\u04a1\u049d\u0003\u0002\u0002\u0002\u04a2k\u0003\u0002", + "\u0002\u0002\u04a3\u04a4\u0007Q\u0002\u0002\u04a4\u04a8\u0005\u01b8", + "\u00dd\u0002\u04a5\u04a6\u0007\u0084\u0002\u0002\u04a6\u04a8\u0005\u01b8", + "\u00dd\u0002\u04a7\u04a3\u0003\u0002\u0002\u0002\u04a7\u04a5\u0003\u0002", + "\u0002\u0002\u04a8m\u0003\u0002\u0002\u0002\u04a9\u04ab\u0007K\u0002", + "\u0002\u04aa\u04ac\u0007\u0019\u0002\u0002\u04ab\u04aa\u0003\u0002\u0002", + "\u0002\u04ab\u04ac\u0003\u0002\u0002\u0002\u04ac\u04ad\u0003\u0002\u0002", + "\u0002\u04ad\u04c5\u0005\u0180\u00c1\u0002\u04ae\u04b0\u0007\u0085\u0002", + "\u0002\u04af\u04b1\u0007\u0019\u0002\u0002\u04b0\u04af\u0003\u0002\u0002", + "\u0002\u04b0\u04b1\u0003\u0002\u0002\u0002\u04b1\u04b2\u0003\u0002\u0002", + "\u0002\u04b2\u04c5\u0005\u0180\u00c1\u0002\u04b3\u04b5\u0007W\u0002", + "\u0002\u04b4\u04b3\u0003\u0002\u0002\u0002\u04b4\u04b5\u0003\u0002\u0002", + "\u0002\u04b5\u04b9\u0003\u0002\u0002\u0002\u04b6\u04b7\u0007\u0086\u0002", + "\u0002\u04b7\u04ba\u0007\u0016\u0002\u0002\u04b8\u04ba\u0007\u0087\u0002", + "\u0002\u04b9\u04b6\u0003\u0002\u0002\u0002\u04b9\u04b8\u0003\u0002\u0002", + "\u0002\u04ba\u04bc\u0003\u0002\u0002\u0002\u04bb\u04bd\u0007\u0019\u0002", + "\u0002\u04bc\u04bb\u0003\u0002\u0002\u0002\u04bc\u04bd\u0003\u0002\u0002", + "\u0002\u04bd\u04be\u0003\u0002\u0002\u0002\u04be\u04c5\u0005\u0180\u00c1", + "\u0002\u04bf\u04c1\u0007\u0088\u0002\u0002\u04c0\u04c2\u0007\u0019\u0002", + "\u0002\u04c1\u04c0\u0003\u0002\u0002\u0002\u04c1\u04c2\u0003\u0002\u0002", + "\u0002\u04c2\u04c3\u0003\u0002\u0002\u0002\u04c3\u04c5\u0005\u0180\u00c1", + "\u0002\u04c4\u04a9\u0003\u0002\u0002\u0002\u04c4\u04ae\u0003\u0002\u0002", + "\u0002\u04c4\u04b4\u0003\u0002\u0002\u0002\u04c4\u04bf\u0003\u0002\u0002", + "\u0002\u04c5o\u0003\u0002\u0002\u0002\u04c6\u04c7\u0007\u0089\u0002", + "\u0002\u04c7\u04c8\u0007<\u0002\u0002\u04c8\u04c9\u0005\u014a\u00a6", + "\u0002\u04c9\u04ca\u0005r:\u0002\u04caq\u0003\u0002\u0002\u0002\u04cb", + "\u04cc\u0005t;\u0002\u04ccs\u0003\u0002\u0002\u0002\u04cd\u04d0\u0007", + "\u008a\u0002\u0002\u04ce\u04cf\u0007D\u0002\u0002\u04cf\u04d1\u0005", + "\u01b8\u00dd\u0002\u04d0\u04ce\u0003\u0002\u0002\u0002\u04d0\u04d1\u0003", + "\u0002\u0002\u0002\u04d1\u04d2\u0003\u0002\u0002\u0002\u04d2\u04d3\u0005", + "v<\u0002\u04d3u\u0003\u0002\u0002\u0002\u04d4\u04d5\u0007E\u0002\u0002", + "\u04d5\u04d7\u0007F\u0002\u0002\u04d6\u04d8\u0007M\u0002\u0002\u04d7", + "\u04d6\u0003\u0002\u0002\u0002\u04d7\u04d8\u0003\u0002\u0002\u0002\u04d8", + "\u04d9\u0003\u0002\u0002\u0002\u04d9\u04da\u0007\u001a\u0002\u0002\u04da", + "\u04dc\u0005\u01b8\u00dd\u0002\u04db\u04dd\t\t\u0002\u0002\u04dc\u04db", + "\u0003\u0002\u0002\u0002\u04dc\u04dd\u0003\u0002\u0002\u0002\u04dd\u04e5", + "\u0003\u0002\u0002\u0002\u04de\u04df\u0007\u0017\u0002\u0002\u04df\u04e1", + "\u0005\u01b8\u00dd\u0002\u04e0\u04e2\t\t\u0002\u0002\u04e1\u04e0\u0003", + "\u0002\u0002\u0002\u04e1\u04e2\u0003\u0002\u0002\u0002\u04e2\u04e4\u0003", + "\u0002\u0002\u0002\u04e3\u04de\u0003\u0002\u0002\u0002\u04e4\u04e7\u0003", + "\u0002\u0002\u0002\u04e5\u04e3\u0003\u0002\u0002\u0002\u04e5\u04e6\u0003", + "\u0002\u0002\u0002\u04e6\u04e8\u0003\u0002\u0002\u0002\u04e7\u04e5\u0003", + "\u0002\u0002\u0002\u04e8\u04ea\u0007\u001b\u0002\u0002\u04e9\u04eb\u0007", + "L\u0002\u0002\u04ea\u04e9\u0003\u0002\u0002\u0002\u04ea\u04eb\u0003", + "\u0002\u0002\u0002\u04eb\u04ed\u0003\u0002\u0002\u0002\u04ec\u04ee\u0005", + "\u00eex\u0002\u04ed\u04ec\u0003\u0002\u0002\u0002\u04ed\u04ee\u0003", + "\u0002\u0002\u0002\u04ee\u0513\u0003\u0002\u0002\u0002\u04ef\u04f0\u0007", + "P\u0002\u0002\u04f0\u04f1\u0007F\u0002\u0002\u04f1\u04f2\u0007\u001a", + "\u0002\u0002\u04f2\u04f7\u0005\u01b8\u00dd\u0002\u04f3\u04f4\u0007\u0017", + "\u0002\u0002\u04f4\u04f6\u0005\u01b8\u00dd\u0002\u04f5\u04f3\u0003\u0002", + "\u0002\u0002\u04f6\u04f9\u0003\u0002\u0002\u0002\u04f7\u04f5\u0003\u0002", + "\u0002\u0002\u04f7\u04f8\u0003\u0002\u0002\u0002\u04f8\u04fa\u0003\u0002", + "\u0002\u0002\u04f9\u04f7\u0003\u0002\u0002\u0002\u04fa\u04fb\u0007\u001b", + "\u0002\u0002\u04fb\u04fc\u0007H\u0002\u0002\u04fc\u04fd\u0005\u014a", + "\u00a6\u0002\u04fd\u04fe\u0007\u001a\u0002\u0002\u04fe\u0503\u0005\u01b8", + "\u00dd\u0002\u04ff\u0500\u0007\u0017\u0002\u0002\u0500\u0502\u0005\u01b8", + "\u00dd\u0002\u0501\u04ff\u0003\u0002\u0002\u0002\u0502\u0505\u0003\u0002", + "\u0002\u0002\u0503\u0501\u0003\u0002\u0002\u0002\u0503\u0504\u0003\u0002", + "\u0002\u0002\u0504\u0506\u0003\u0002\u0002\u0002\u0505\u0503\u0003\u0002", + "\u0002\u0002\u0506\u050a\u0007\u001b\u0002\u0002\u0507\u0509\u0005T", + "+\u0002\u0508\u0507\u0003\u0002\u0002\u0002\u0509\u050c\u0003\u0002", + "\u0002\u0002\u050a\u0508\u0003\u0002\u0002\u0002\u050a\u050b\u0003\u0002", + "\u0002\u0002\u050b\u0513\u0003\u0002\u0002\u0002\u050c\u050a\u0003\u0002", + "\u0002\u0002\u050d\u050e\u0007W\u0002\u0002\u050e\u050f\u0005\u0180", + "\u00c1\u0002\u050f\u0510\u0007\u001e\u0002\u0002\u0510\u0511\u0005\u01b8", + "\u00dd\u0002\u0511\u0513\u0003\u0002\u0002\u0002\u0512\u04d4\u0003\u0002", + "\u0002\u0002\u0512\u04ef\u0003\u0002\u0002\u0002\u0512\u050d\u0003\u0002", + "\u0002\u0002\u0513w\u0003\u0002\u0002\u0002\u0514\u0543\u0007\u008b", + "\u0002\u0002\u0515\u0543\u0007\u0086\u0002\u0002\u0516\u0543\u0007\u008c", + "\u0002\u0002\u0517\u0543\u0007\u008d\u0002\u0002\u0518\u0543\u0007\u008e", + "\u0002\u0002\u0519\u0543\u0007\u008f\u0002\u0002\u051a\u0543\u0007\u0090", + "\u0002\u0002\u051b\u0543\u0007\u0091\u0002\u0002\u051c\u0543\u0007\u0092", + "\u0002\u0002\u051d\u0543\u0007\u0093\u0002\u0002\u051e\u0543\u0007\u0094", + "\u0002\u0002\u051f\u0521\u0007\u0095\u0002\u0002\u0520\u0522\u0007\u0096", + "\u0002\u0002\u0521\u0520\u0003\u0002\u0002\u0002\u0521\u0522\u0003\u0002", + "\u0002\u0002\u0522\u0543\u0003\u0002\u0002\u0002\u0523\u0543\u0007\u0097", + "\u0002\u0002\u0524\u0543\u0007\u0098\u0002\u0002\u0525\u0543\u0007\u0099", + "\u0002\u0002\u0526\u0543\u0007\u009a\u0002\u0002\u0527\u0543\u0007\u009b", + "\u0002\u0002\u0528\u0543\u0007\u009c\u0002\u0002\u0529\u0543\u0007\u009d", + "\u0002\u0002\u052a\u0543\u0007\u009e\u0002\u0002\u052b\u0543\u0007\u009f", + "\u0002\u0002\u052c\u0543\u0007\u00a0\u0002\u0002\u052d\u0543\u0007\u00a1", + "\u0002\u0002\u052e\u0543\u0007\u00a2\u0002\u0002\u052f\u0530\u0007\u00a3", + "\u0002\u0002\u0530\u0543\u0007\u00a4\u0002\u0002\u0531\u0543\u0007\u00a5", + "\u0002\u0002\u0532\u0543\u0007\u00a6\u0002\u0002\u0533\u0543\u0007\u00a7", + "\u0002\u0002\u0534\u0543\u0007\u00a8\u0002\u0002\u0535\u0543\u0007\u00a9", + "\u0002\u0002\u0536\u0543\u0007\u00aa\u0002\u0002\u0537\u0543\u0007\u00ab", + "\u0002\u0002\u0538\u0543\u0007\u00ac\u0002\u0002\u0539\u0543\u0007\u00ad", + "\u0002\u0002\u053a\u0543\u0007\u00ae\u0002\u0002\u053b\u0543\u0007\u00af", + "\u0002\u0002\u053c\u0543\u0007\u00b0\u0002\u0002\u053d\u0540\u0005\u01b8", + "\u00dd\u0002\u053e\u053f\u0007\u0006\u0002\u0002\u053f\u0541\t\u0011", + "\u0002\u0002\u0540\u053e\u0003\u0002\u0002\u0002\u0540\u0541\u0003\u0002", + "\u0002\u0002\u0541\u0543\u0003\u0002\u0002\u0002\u0542\u0514\u0003\u0002", + "\u0002\u0002\u0542\u0515\u0003\u0002\u0002\u0002\u0542\u0516\u0003\u0002", + "\u0002\u0002\u0542\u0517\u0003\u0002\u0002\u0002\u0542\u0518\u0003\u0002", + "\u0002\u0002\u0542\u0519\u0003\u0002\u0002\u0002\u0542\u051a\u0003\u0002", + "\u0002\u0002\u0542\u051b\u0003\u0002\u0002\u0002\u0542\u051c\u0003\u0002", + "\u0002\u0002\u0542\u051d\u0003\u0002\u0002\u0002\u0542\u051e\u0003\u0002", + "\u0002\u0002\u0542\u051f\u0003\u0002\u0002\u0002\u0542\u0523\u0003\u0002", + "\u0002\u0002\u0542\u0524\u0003\u0002\u0002\u0002\u0542\u0525\u0003\u0002", + "\u0002\u0002\u0542\u0526\u0003\u0002\u0002\u0002\u0542\u0527\u0003\u0002", + "\u0002\u0002\u0542\u0528\u0003\u0002\u0002\u0002\u0542\u0529\u0003\u0002", + "\u0002\u0002\u0542\u052a\u0003\u0002\u0002\u0002\u0542\u052b\u0003\u0002", + "\u0002\u0002\u0542\u052c\u0003\u0002\u0002\u0002\u0542\u052d\u0003\u0002", + "\u0002\u0002\u0542\u052e\u0003\u0002\u0002\u0002\u0542\u052f\u0003\u0002", + "\u0002\u0002\u0542\u0531\u0003\u0002\u0002\u0002\u0542\u0532\u0003\u0002", + "\u0002\u0002\u0542\u0533\u0003\u0002\u0002\u0002\u0542\u0534\u0003\u0002", + "\u0002\u0002\u0542\u0535\u0003\u0002\u0002\u0002\u0542\u0536\u0003\u0002", + "\u0002\u0002\u0542\u0537\u0003\u0002\u0002\u0002\u0542\u0538\u0003\u0002", + "\u0002\u0002\u0542\u0539\u0003\u0002\u0002\u0002\u0542\u053a\u0003\u0002", + "\u0002\u0002\u0542\u053b\u0003\u0002\u0002\u0002\u0542\u053c\u0003\u0002", + "\u0002\u0002\u0542\u053d\u0003\u0002\u0002\u0002\u0543y\u0003\u0002", + "\u0002\u0002\u0544\u0545\u0007\u001a\u0002\u0002\u0545\u0547\t\u0012", + "\u0002\u0002\u0546\u0548\t\u0013\u0002\u0002\u0547\u0546\u0003\u0002", + "\u0002\u0002\u0547\u0548\u0003\u0002\u0002\u0002\u0548\u054b\u0003\u0002", + "\u0002\u0002\u0549\u054a\u0007\u0017\u0002\u0002\u054a\u054c\u0007J", + "\u0002\u0002\u054b\u0549\u0003\u0002\u0002\u0002\u054b\u054c\u0003\u0002", + "\u0002\u0002\u054c\u054d\u0003\u0002\u0002\u0002\u054d\u054e\u0007\u001b", + "\u0002\u0002\u054e{\u0003\u0002\u0002\u0002\u054f\u0551\u00078\u0002", + "\u0002\u0550\u054f\u0003\u0002\u0002\u0002\u0550\u0551\u0003\u0002\u0002", + "\u0002\u0551\u0552\u0003\u0002\u0002\u0002\u0552\u055b\u0007\u0015\u0002", + "\u0002\u0553\u0554\u0007\u0086\u0002\u0002\u0554\u0555\u0007\u0016\u0002", + "\u0002\u0555\u055b\u0005\u01b8\u00dd\u0002\u0556\u0558\u00078\u0002", + "\u0002\u0557\u0556\u0003\u0002\u0002\u0002\u0557\u0558\u0003\u0002\u0002", + "\u0002\u0558\u0559\u0003\u0002\u0002\u0002\u0559\u055b\t\u0014\u0002", + "\u0002\u055a\u0550\u0003\u0002\u0002\u0002\u055a\u0553\u0003\u0002\u0002", + "\u0002\u055a\u0557\u0003\u0002\u0002\u0002\u055b}\u0003\u0002\u0002", + "\u0002\u055c\u055e\u0007\u0018\u0002\u0002\u055d\u055c\u0003\u0002\u0002", + "\u0002\u055d\u055e\u0003\u0002\u0002\u0002\u055e\u055f\u0003\u0002\u0002", + "\u0002\u055f\u0560\u0007\u0019\u0002\u0002\u0560\u0569\u0005\u0180\u00c1", + "\u0002\u0561\u0563\u0007$\u0002\u0002\u0562\u0561\u0003\u0002\u0002", + "\u0002\u0562\u0563\u0003\u0002\u0002\u0002\u0563\u0564\u0003\u0002\u0002", + "\u0002\u0564\u0566\u0007W\u0002\u0002\u0565\u0567\u0005\u0180\u00c1", + "\u0002\u0566\u0565\u0003\u0002\u0002\u0002\u0566\u0567\u0003\u0002\u0002", + "\u0002\u0567\u0569\u0003\u0002\u0002\u0002\u0568\u055d\u0003\u0002\u0002", + "\u0002\u0568\u0562\u0003\u0002\u0002\u0002\u0569\u007f\u0003\u0002\u0002", + "\u0002\u056a\u056b\u0007=\u0002\u0002\u056b\u056f\t\u0015\u0002\u0002", + "\u056c\u056d\u0007>\u0002\u0002\u056d\u056e\u00078\u0002\u0002\u056e", + "\u0570\u0007?\u0002\u0002\u056f\u056c\u0003\u0002\u0002\u0002\u056f", + "\u0570\u0003\u0002\u0002\u0002\u0570\u0571\u0003\u0002\u0002\u0002\u0571", + "\u0575\u0005\u0180\u00c1\u0002\u0572\u0574\u0005\u0082B\u0002\u0573", + "\u0572\u0003\u0002\u0002\u0002\u0574\u0577\u0003\u0002\u0002\u0002\u0575", + "\u0573\u0003\u0002\u0002\u0002\u0575\u0576\u0003\u0002\u0002\u0002\u0576", + "\u0081\u0003\u0002\u0002\u0002\u0577\u0575\u0003\u0002\u0002\u0002\u0578", + "\u0579\u0007\u0085\u0002\u0002\u0579\u057d\u0005\u0180\u00c1\u0002\u057a", + "\u057b\u0007\u00b9\u0002\u0002\u057b\u057d\u0005\u0180\u00c1\u0002\u057c", + "\u0578\u0003\u0002\u0002\u0002\u057c\u057a\u0003\u0002\u0002\u0002\u057d", + "\u0083\u0003\u0002\u0002\u0002\u057e\u0586\u0007\u0089\u0002\u0002\u057f", + "\u0582\u0007=\u0002\u0002\u0580\u0581\u0007\u00ba\u0002\u0002\u0581", + "\u0583\u0007m\u0002\u0002\u0582\u0580\u0003\u0002\u0002\u0002\u0582", + "\u0583\u0003\u0002\u0002\u0002\u0583\u0586\u0003\u0002\u0002\u0002\u0584", + "\u0586\u0007m\u0002\u0002\u0585\u057e\u0003\u0002\u0002\u0002\u0585", + "\u057f\u0003\u0002\u0002\u0002\u0585\u0584\u0003\u0002\u0002\u0002\u0585", + "\u0586\u0003\u0002\u0002\u0002\u0586\u0587\u0003\u0002\u0002\u0002\u0587", + "\u0588\u0007\u00bb\u0002\u0002\u0588\u058a\u0005\u01b8\u00dd\u0002\u0589", + "\u058b\u0005\u0096L\u0002\u058a\u0589\u0003\u0002\u0002\u0002\u058a", + "\u058b\u0003\u0002\u0002\u0002\u058b\u058c\u0003\u0002\u0002\u0002\u058c", + "\u058e\u0005\u0086D\u0002\u058d\u058f\t\u0016\u0002\u0002\u058e\u058d", + "\u0003\u0002\u0002\u0002\u058e\u058f\u0003\u0002\u0002\u0002\u058f\u0591", + "\u0003\u0002\u0002\u0002\u0590\u0592\u00052\u001a\u0002\u0591\u0590", + "\u0003\u0002\u0002\u0002\u0591\u0592\u0003\u0002\u0002\u0002\u0592\u0593", + "\u0003\u0002\u0002\u0002\u0593\u0594\u0005\b\u0005\u0002\u0594\u0085", + "\u0003\u0002\u0002\u0002\u0595\u0596\t\u0017\u0002\u0002\u0596\u0598", + "\u0005x=\u0002\u0597\u0599\u0005z>\u0002\u0598\u0597\u0003\u0002\u0002", + "\u0002\u0598\u0599\u0003\u0002\u0002\u0002\u0599\u0087\u0003\u0002\u0002", + "\u0002\u059a\u05a2\u0007\u0089\u0002\u0002\u059b\u059e\u0007=\u0002", + "\u0002\u059c\u059d\u0007\u00ba\u0002\u0002\u059d\u059f\u0007m\u0002", + "\u0002\u059e\u059c\u0003\u0002\u0002\u0002\u059e\u059f\u0003\u0002\u0002", + "\u0002\u059f\u05a2\u0003\u0002\u0002\u0002\u05a0\u05a2\u0007m\u0002", + "\u0002\u05a1\u059a\u0003\u0002\u0002\u0002\u05a1\u059b\u0003\u0002\u0002", + "\u0002\u05a1\u05a0\u0003\u0002\u0002\u0002\u05a1\u05a2\u0003\u0002\u0002", + "\u0002\u05a2\u05a3\u0003\u0002\u0002\u0002\u05a3\u05a4\u0007\u00bd\u0002", + "\u0002\u05a4\u05a5\u0005\u01b8\u00dd\u0002\u05a5\u05a6\t\u0016\u0002", + "\u0002\u05a6\u05a7\u0005\u008aF\u0002\u05a7\u05ab\u0007\u0010\u0002", + "\u0002\u05a8\u05a9\u0005\u01b8\u00dd\u0002\u05a9\u05aa\u0007\u000f\u0002", + "\u0002\u05aa\u05ac\u0003\u0002\u0002\u0002\u05ab\u05a8\u0003\u0002\u0002", + "\u0002\u05ab\u05ac\u0003\u0002\u0002\u0002\u05ac\u0089\u0003\u0002\u0002", + "\u0002\u05ad\u05ae\u0005\u008cG\u0002\u05ae\u05b4\u0007\u000f\u0002", + "\u0002\u05af\u05b0\u0005\u008cG\u0002\u05b0\u05b1\u0007\u000f\u0002", + "\u0002\u05b1\u05b3\u0003\u0002\u0002\u0002\u05b2\u05af\u0003\u0002\u0002", + "\u0002\u05b3\u05b6\u0003\u0002\u0002\u0002\u05b4\u05b2\u0003\u0002\u0002", + "\u0002\u05b4\u05b5\u0003\u0002\u0002\u0002\u05b5\u008b\u0003\u0002\u0002", + "\u0002\u05b6\u05b4\u0003\u0002\u0002\u0002\u05b7\u05c5\u00054\u001b", + "\u0002\u05b8\u05b9\u0007\u00bb\u0002\u0002\u05b9\u05bb\u0005\u01b8\u00dd", + "\u0002\u05ba\u05bc\u0005\u0096L\u0002\u05bb\u05ba\u0003\u0002\u0002", + "\u0002\u05bb\u05bc\u0003\u0002\u0002\u0002\u05bc\u05bd\u0003\u0002\u0002", + "\u0002\u05bd\u05be\u0005\u0086D\u0002\u05be\u05c5\u0003\u0002\u0002", + "\u0002\u05bf\u05c0\t\u0018\u0002\u0002\u05c0\u05c2\u0005\u01b8\u00dd", + "\u0002\u05c1\u05c3\u0005\u0096L\u0002\u05c2\u05c1\u0003\u0002\u0002", + "\u0002\u05c2\u05c3\u0003\u0002\u0002\u0002\u05c3\u05c5\u0003\u0002\u0002", + "\u0002\u05c4\u05b7\u0003\u0002\u0002\u0002\u05c4\u05b8\u0003\u0002\u0002", + "\u0002\u05c4\u05bf\u0003\u0002\u0002\u0002\u05c5\u008d\u0003\u0002\u0002", + "\u0002\u05c6\u05ce\u0007\u0089\u0002\u0002\u05c7\u05ca\u0007=\u0002", + "\u0002\u05c8\u05c9\u0007\u00ba\u0002\u0002\u05c9\u05cb\u0007m\u0002", + "\u0002\u05ca\u05c8\u0003\u0002\u0002\u0002\u05ca\u05cb\u0003\u0002\u0002", + "\u0002\u05cb\u05ce\u0003\u0002\u0002\u0002\u05cc\u05ce\u0007m\u0002", + "\u0002\u05cd\u05c6\u0003\u0002\u0002\u0002\u05cd\u05c7\u0003\u0002\u0002", + "\u0002\u05cd\u05cc\u0003\u0002\u0002\u0002\u05cd\u05ce\u0003\u0002\u0002", + "\u0002\u05ce\u05cf\u0003\u0002\u0002\u0002\u05cf\u05d0\u0007\u00bd\u0002", + "\u0002\u05d0\u05d1\u0007\u00bf\u0002\u0002\u05d1\u05d2\u0005\u01b8\u00dd", + "\u0002\u05d2\u05d3\t\u0016\u0002\u0002\u05d3\u05d4\u0005\u0090I\u0002", + "\u05d4\u05d8\u0007\u0010\u0002\u0002\u05d5\u05d6\u0005\u01b8\u00dd\u0002", + "\u05d6\u05d7\u0007\u000f\u0002\u0002\u05d7\u05d9\u0003\u0002\u0002\u0002", + "\u05d8\u05d5\u0003\u0002\u0002\u0002\u05d8\u05d9\u0003\u0002\u0002\u0002", + "\u05d9\u008f\u0003\u0002\u0002\u0002\u05da\u05db\u0005\u0092J\u0002", + "\u05db\u05e1\u0007\u000f\u0002\u0002\u05dc\u05dd\u0005\u0092J\u0002", + "\u05dd\u05de\u0007\u000f\u0002\u0002\u05de\u05e0\u0003\u0002\u0002\u0002", + "\u05df\u05dc\u0003\u0002\u0002\u0002\u05e0\u05e3\u0003\u0002\u0002\u0002", + "\u05e1\u05df\u0003\u0002\u0002\u0002\u05e1\u05e2\u0003\u0002\u0002\u0002", + "\u05e2\u0091\u0003\u0002\u0002\u0002\u05e3\u05e1\u0003\u0002\u0002\u0002", + "\u05e4\u05e8\u00054\u001b\u0002\u05e5\u05e8\u0005\u0084C\u0002\u05e6", + "\u05e8\u0005\u0094K\u0002\u05e7\u05e4\u0003\u0002\u0002\u0002\u05e7", + "\u05e5\u0003\u0002\u0002\u0002\u05e7\u05e6\u0003\u0002\u0002\u0002\u05e8", + "\u0093\u0003\u0002\u0002\u0002\u05e9\u05f1\u0007\u0089\u0002\u0002\u05ea", + "\u05ed\u0007=\u0002\u0002\u05eb\u05ec\u0007\u00ba\u0002\u0002\u05ec", + "\u05ee\u0007m\u0002\u0002\u05ed\u05eb\u0003\u0002\u0002\u0002\u05ed", + "\u05ee\u0003\u0002\u0002\u0002\u05ee\u05f1\u0003\u0002\u0002\u0002\u05ef", + "\u05f1\u0007m\u0002\u0002\u05f0\u05e9\u0003\u0002\u0002\u0002\u05f0", + "\u05ea\u0003\u0002\u0002\u0002\u05f0\u05ef\u0003\u0002\u0002\u0002\u05f0", + "\u05f1\u0003\u0002\u0002\u0002\u05f1\u05f2\u0003\u0002\u0002\u0002\u05f2", + "\u05f3\t\u0018\u0002\u0002\u05f3\u05f5\u0005\u01b8\u00dd\u0002\u05f4", + "\u05f6\u0005\u0096L\u0002\u05f5\u05f4\u0003\u0002\u0002\u0002\u05f5", + "\u05f6\u0003\u0002\u0002\u0002\u05f6\u05f8\u0003\u0002\u0002\u0002\u05f7", + "\u05f9\u0005\u009aN\u0002\u05f8\u05f7\u0003\u0002\u0002\u0002\u05f8", + "\u05f9\u0003\u0002\u0002\u0002\u05f9\u05fb\u0003\u0002\u0002\u0002\u05fa", + "\u05fc\t\u0016\u0002\u0002\u05fb\u05fa\u0003\u0002\u0002\u0002\u05fb", + "\u05fc\u0003\u0002\u0002\u0002\u05fc\u05fe\u0003\u0002\u0002\u0002\u05fd", + "\u05ff\u00052\u001a\u0002\u05fe\u05fd\u0003\u0002\u0002\u0002\u05fe", + "\u05ff\u0003\u0002\u0002\u0002\u05ff\u0601\u0003\u0002\u0002\u0002\u0600", + "\u0602\u0005\u0116\u008c\u0002\u0601\u0600\u0003\u0002\u0002\u0002\u0601", + "\u0602\u0003\u0002\u0002\u0002\u0602\u0603\u0003\u0002\u0002\u0002\u0603", + "\u0607\u0005\f\u0007\u0002\u0604\u0605\u0005\u01b8\u00dd\u0002\u0605", + "\u0606\u0007\u000f\u0002\u0002\u0606\u0608\u0003\u0002\u0002\u0002\u0607", + "\u0604\u0003\u0002\u0002\u0002\u0607\u0608\u0003\u0002\u0002\u0002\u0608", + "\u0095\u0003\u0002\u0002\u0002\u0609\u060a\u0007\u001a\u0002\u0002\u060a", + "\u0620\u0007\u001b\u0002\u0002\u060b\u060c\u0007\u001a\u0002\u0002\u060c", + "\u0611\u0005\u0098M\u0002\u060d\u060e\u0007\u0017\u0002\u0002\u060e", + "\u0610\u0005\u0098M\u0002\u060f\u060d\u0003\u0002\u0002\u0002\u0610", + "\u0613\u0003\u0002\u0002\u0002\u0611\u060f\u0003\u0002\u0002\u0002\u0611", + "\u0612\u0003\u0002\u0002\u0002\u0612\u0614\u0003\u0002\u0002\u0002\u0613", + "\u0611\u0003\u0002\u0002\u0002\u0614\u0615\u0007\u001b\u0002\u0002\u0615", + "\u0620\u0003\u0002\u0002\u0002\u0616\u0617\u0006L\u0004\u0002\u0617", + "\u061c\u0005\u0098M\u0002\u0618\u0619\u0007\u0017\u0002\u0002\u0619", + "\u061b\u0005\u0098M\u0002\u061a\u0618\u0003\u0002\u0002\u0002\u061b", + "\u061e\u0003\u0002\u0002\u0002\u061c\u061a\u0003\u0002\u0002\u0002\u061c", + "\u061d\u0003\u0002\u0002\u0002\u061d\u0620\u0003\u0002\u0002\u0002\u061e", + "\u061c\u0003\u0002\u0002\u0002\u061f\u0609\u0003\u0002\u0002\u0002\u061f", + "\u060b\u0003\u0002\u0002\u0002\u061f\u0616\u0003\u0002\u0002\u0002\u0620", + "\u0097\u0003\u0002\u0002\u0002\u0621\u0627\u0007l\u0002\u0002\u0622", + "\u0627\u0007\u00c0\u0002\u0002\u0623\u0627\u0007\u00c1\u0002\u0002\u0624", + "\u0625\u0007l\u0002\u0002\u0625\u0627\u0007\u00c0\u0002\u0002\u0626", + "\u0621\u0003\u0002\u0002\u0002\u0626\u0622\u0003\u0002\u0002\u0002\u0626", + "\u0623\u0003\u0002\u0002\u0002\u0626\u0624\u0003\u0002\u0002\u0002\u0626", + "\u0627\u0003\u0002\u0002\u0002\u0627\u0628\u0003\u0002\u0002\u0002\u0628", + "\u0629\u0005\u01b8\u00dd\u0002\u0629\u062b\u0005x=\u0002\u062a\u062c", + "\u0005z>\u0002\u062b\u062a\u0003\u0002\u0002\u0002\u062b\u062c\u0003", + "\u0002\u0002\u0002\u062c\u0630\u0003\u0002\u0002\u0002\u062d\u062f\u0005", + "|?\u0002\u062e\u062d\u0003\u0002\u0002\u0002\u062f\u0632\u0003\u0002", + "\u0002\u0002\u0630\u062e\u0003\u0002\u0002\u0002\u0630\u0631\u0003\u0002", + "\u0002\u0002\u0631\u0634\u0003\u0002\u0002\u0002\u0632\u0630\u0003\u0002", + "\u0002\u0002\u0633\u0635\u0005~@\u0002\u0634\u0633\u0003\u0002\u0002", + "\u0002\u0634\u0635\u0003\u0002\u0002\u0002\u0635\u064c\u0003\u0002\u0002", + "\u0002\u0636\u063c\u0005\u01b8\u00dd\u0002\u0637\u063d\u0007l\u0002", + "\u0002\u0638\u063d\u0007\u00c0\u0002\u0002\u0639\u063d\u0007\u00c1\u0002", + "\u0002\u063a\u063b\u0007l\u0002\u0002\u063b\u063d\u0007\u00c0\u0002", + "\u0002\u063c\u0637\u0003\u0002\u0002\u0002\u063c\u0638\u0003\u0002\u0002", + "\u0002\u063c\u0639\u0003\u0002\u0002\u0002\u063c\u063a\u0003\u0002\u0002", + "\u0002\u063c\u063d\u0003\u0002\u0002\u0002\u063d\u063e\u0003\u0002\u0002", + "\u0002\u063e\u0640\u0005x=\u0002\u063f\u0641\u0005z>\u0002\u0640\u063f", + "\u0003\u0002\u0002\u0002\u0640\u0641\u0003\u0002\u0002\u0002\u0641\u0645", + "\u0003\u0002\u0002\u0002\u0642\u0644\u0005|?\u0002\u0643\u0642\u0003", + "\u0002\u0002\u0002\u0644\u0647\u0003\u0002\u0002\u0002\u0645\u0643\u0003", + "\u0002\u0002\u0002\u0645\u0646\u0003\u0002\u0002\u0002\u0646\u0649\u0003", + "\u0002\u0002\u0002\u0647\u0645\u0003\u0002\u0002\u0002\u0648\u064a\u0005", + "~@\u0002\u0649\u0648\u0003\u0002\u0002\u0002\u0649\u064a\u0003\u0002", + "\u0002\u0002\u064a\u064c\u0003\u0002\u0002\u0002\u064b\u0626\u0003\u0002", + "\u0002\u0002\u064b\u0636\u0003\u0002\u0002\u0002\u064c\u0099\u0003\u0002", + "\u0002\u0002\u064d\u064f\u0005\u009cO\u0002\u064e\u064d\u0003\u0002", + "\u0002\u0002\u064f\u0650\u0003\u0002\u0002\u0002\u0650\u064e\u0003\u0002", + "\u0002\u0002\u0650\u0651\u0003\u0002\u0002\u0002\u0651\u009b\u0003\u0002", + "\u0002\u0002\u0652\u0653\u0007\u00c2\u0002\u0002\u0653\u065e\u0007\u00c3", + "\u0002\u0002\u0654\u0655\u0007\u00c3\u0002\u0002\u0655\u0656\u0007\u00c4", + "\u0002\u0002\u0656\u065e\t\u0019\u0002\u0002\u0657\u0659\u0007\u00c9", + "\u0002\u0002\u0658\u0657\u0003\u0002\u0002\u0002\u0658\u0659\u0003\u0002", + "\u0002\u0002\u0659\u065a\u0003\u0002\u0002\u0002\u065a\u065b\u0007\u001f", + "\u0002\u0002\u065b\u065c\u0007\u00ca\u0002\u0002\u065c\u065e\u0007J", + "\u0002\u0002\u065d\u0652\u0003\u0002\u0002\u0002\u065d\u0654\u0003\u0002", + "\u0002\u0002\u065d\u0658\u0003\u0002\u0002\u0002\u065e\u009d\u0003\u0002", + "\u0002\u0002\u065f\u0660\u0007u\u0002\u0002\u0660\u0663\u0007<\u0002", + "\u0002\u0661\u0662\u0007>\u0002\u0002\u0662\u0664\u0007?\u0002\u0002", + "\u0663\u0661\u0003\u0002\u0002\u0002\u0663\u0664\u0003\u0002\u0002\u0002", + "\u0664\u0665\u0003\u0002\u0002\u0002\u0665\u066e\u0005\u014a\u00a6\u0002", + "\u0666\u0667\u0007u\u0002\u0002\u0667\u066a\t\u0015\u0002\u0002\u0668", + "\u0669\u0007>\u0002\u0002\u0669\u066b\u0007?\u0002\u0002\u066a\u0668", + "\u0003\u0002\u0002\u0002\u066a\u066b\u0003\u0002\u0002\u0002\u066b\u066c", + "\u0003\u0002\u0002\u0002\u066c\u066e\u0005\u0180\u00c1\u0002\u066d\u065f", + "\u0003\u0002\u0002\u0002\u066d\u0666\u0003\u0002\u0002\u0002\u066e\u009f", + "\u0003\u0002\u0002\u0002\u066f\u0670\u0007\u0010\u0002\u0002\u0670\u0671", + "\u0007%\u0002\u0002\u0671\u00a1\u0003\u0002\u0002\u0002\u0672\u0674", + "\t\u001a\u0002\u0002\u0673\u0675\u0007`\u0002\u0002\u0674\u0673\u0003", + "\u0002\u0002\u0002\u0674\u0675\u0003\u0002\u0002\u0002\u0675\u0676\u0003", + "\u0002\u0002\u0002\u0676\u067c\u0005\u0180\u00c1\u0002\u0677\u0678\u0007", + "\u001a\u0002\u0002\u0678\u0679\u0005\u01a0\u00d1\u0002\u0679\u067a\u0007", + "\u001b\u0002\u0002\u067a\u067d\u0003\u0002\u0002\u0002\u067b\u067d\u0005", + "\u01a0\u00d1\u0002\u067c\u0677\u0003\u0002\u0002\u0002\u067c\u067b\u0003", + "\u0002\u0002\u0002\u067c\u067d\u0003\u0002\u0002\u0002\u067d\u0687\u0003", + "\u0002\u0002\u0002\u067e\u067f\u0007\u00cd\u0002\u0002\u067f\u0684\u0007", + "\u0013\u0002\u0002\u0680\u0681\u0007\u0017\u0002\u0002\u0681\u0683\u0007", + "\u0013\u0002\u0002\u0682\u0680\u0003\u0002\u0002\u0002\u0683\u0686\u0003", + "\u0002\u0002\u0002\u0684\u0682\u0003\u0002\u0002\u0002\u0684\u0685\u0003", + "\u0002\u0002\u0002\u0685\u0688\u0003\u0002\u0002\u0002\u0686\u0684\u0003", + "\u0002\u0002\u0002\u0687\u067e\u0003\u0002\u0002\u0002\u0687\u0688\u0003", + "\u0002\u0002\u0002\u0688\u068a\u0003\u0002\u0002\u0002\u0689\u068b\u0005", + "\u0118\u008d\u0002\u068a\u0689\u0003\u0002\u0002\u0002\u068a\u068b\u0003", + "\u0002\u0002\u0002\u068b\u00a3\u0003\u0002\u0002\u0002\u068c\u0690\u0005", + "\u00a6T\u0002\u068d\u0690\u0005\u00a8U\u0002\u068e\u0690\u0005\u00aa", + "V\u0002\u068f\u068c\u0003\u0002\u0002\u0002\u068f\u068d\u0003\u0002", + "\u0002\u0002\u068f\u068e\u0003\u0002\u0002\u0002\u0690\u00a5\u0003\u0002", + "\u0002\u0002\u0691\u0692\u0007>\u0002\u0002\u0692\u0693\u0005\u0170", + "\u00b9\u0002\u0693\u0694\u0007\u0014\u0002\u0002\u0694\u0698\u0005\u0004", + "\u0003\u0002\u0695\u0697\u0005\u00acW\u0002\u0696\u0695\u0003\u0002", + "\u0002\u0002\u0697\u069a\u0003\u0002\u0002\u0002\u0698\u0696\u0003\u0002", + "\u0002\u0002\u0698\u0699\u0003\u0002\u0002\u0002\u0699\u069c\u0003\u0002", + "\u0002\u0002\u069a\u0698\u0003\u0002\u0002\u0002\u069b\u069d\u0005\u00ae", + "X\u0002\u069c\u069b\u0003\u0002\u0002\u0002\u069c\u069d\u0003\u0002", + "\u0002\u0002\u069d\u069e\u0003\u0002\u0002\u0002\u069e\u069f\u0007\u0010", + "\u0002\u0002\u069f\u06a0\u0007>\u0002\u0002\u06a0\u00a7\u0003\u0002", + "\u0002\u0002\u06a1\u06a2\u0007>\u0002\u0002\u06a2\u06a3\u0005\u0170", + "\u00b9\u0002\u06a3\u06a6\u0005\b\u0005\u0002\u06a4\u06a5\u0007\u00ce", + "\u0002\u0002\u06a5\u06a7\u0005\b\u0005\u0002\u06a6\u06a4\u0003\u0002", + "\u0002\u0002\u06a6\u06a7\u0003\u0002\u0002\u0002\u06a7\u00a9\u0003\u0002", + "\u0002\u0002\u06a8\u06a9\u0007\u0007\u0002\u0002\u06a9\u06aa\u0007>", + "\u0002\u0002\u06aa\u06ab\u0005\u0170\u00b9\u0002\u06ab\u06ac\u0007\u0014", + "\u0002\u0002\u06ac\u06ad\u0005\b\u0005\u0002\u06ad\u00ab\u0003\u0002", + "\u0002\u0002\u06ae\u06af\t\u001b\u0002\u0002\u06af\u06b0\u0005\u0170", + "\u00b9\u0002\u06b0\u06b1\u0007\u0014\u0002\u0002\u06b1\u06b2\u0005\u0004", + "\u0003\u0002\u06b2\u00ad\u0003\u0002\u0002\u0002\u06b3\u06b4\u0007\u00ce", + "\u0002\u0002\u06b4\u06b5\u0005\u0004\u0003\u0002\u06b5\u00af\u0003\u0002", + "\u0002\u0002\u06b6\u06b9\u0007\u00d1\u0002\u0002\u06b7\u06ba\u0005\u01b2", + "\u00da\u0002\u06b8\u06ba\u0005\u0180\u00c1\u0002\u06b9\u06b7\u0003\u0002", + "\u0002\u0002\u06b9\u06b8\u0003\u0002\u0002\u0002\u06ba\u00b1\u0003\u0002", + "\u0002\u0002\u06bb\u06c2\u0007\u00d2\u0002\u0002\u06bc\u06bd\u0007\u00d3", + "\u0002\u0002\u06bd\u06c3\u0007<\u0002\u0002\u06be\u06c0\u0007\u00cd", + "\u0002\u0002\u06bf\u06c1\u0007<\u0002\u0002\u06c0\u06bf\u0003\u0002", + "\u0002\u0002\u06c0\u06c1\u0003\u0002\u0002\u0002\u06c1\u06c3\u0003\u0002", + "\u0002\u0002\u06c2\u06bc\u0003\u0002\u0002\u0002\u06c2\u06be\u0003\u0002", + "\u0002\u0002\u06c3\u06c4\u0003\u0002\u0002\u0002\u06c4\u06c6\u0005\u014a", + "\u00a6\u0002\u06c5\u06c7\u0005\u00b4[\u0002\u06c6\u06c5\u0003\u0002", + "\u0002\u0002\u06c6\u06c7\u0003\u0002\u0002\u0002\u06c7\u06ca\u0003\u0002", + "\u0002\u0002\u06c8\u06cb\u0005\u011a\u008e\u0002\u06c9\u06cb\u0005\u00b6", + "\\\u0002\u06ca\u06c8\u0003\u0002\u0002\u0002\u06ca\u06c9\u0003\u0002", + "\u0002\u0002\u06cb\u00b3\u0003\u0002\u0002\u0002\u06cc\u06cd\u0007\u001a", + "\u0002\u0002\u06cd\u06d2\u0005\u01b8\u00dd\u0002\u06ce\u06cf\u0007\u0017", + "\u0002\u0002\u06cf\u06d1\u0005\u01b8\u00dd\u0002\u06d0\u06ce\u0003\u0002", + "\u0002\u0002\u06d1\u06d4\u0003\u0002\u0002\u0002\u06d2\u06d0\u0003\u0002", + "\u0002\u0002\u06d2\u06d3\u0003\u0002\u0002\u0002\u06d3\u06d5\u0003\u0002", + "\u0002\u0002\u06d4\u06d2\u0003\u0002\u0002\u0002\u06d5\u06d6\u0007\u001b", + "\u0002\u0002\u06d6\u00b5\u0003\u0002\u0002\u0002\u06d7\u06d8\u0007\u00d4", + "\u0002\u0002\u06d8\u06dd\u0005\u00b8]\u0002\u06d9\u06da\u0007\u0017", + "\u0002\u0002\u06da\u06dc\u0005\u00b8]\u0002\u06db\u06d9\u0003\u0002", + "\u0002\u0002\u06dc\u06df\u0003\u0002\u0002\u0002\u06dd\u06db\u0003\u0002", + "\u0002\u0002\u06dd\u06de\u0003\u0002\u0002\u0002\u06de\u00b7\u0003\u0002", + "\u0002\u0002\u06df\u06dd\u0003\u0002\u0002\u0002\u06e0\u06e1\u0007\u001a", + "\u0002\u0002\u06e1\u06e6\u0005\u0180\u00c1\u0002\u06e2\u06e3\u0007\u0017", + "\u0002\u0002\u06e3\u06e5\u0005\u0180\u00c1\u0002\u06e4\u06e2\u0003\u0002", + "\u0002\u0002\u06e5\u06e8\u0003\u0002\u0002\u0002\u06e6\u06e4\u0003\u0002", + "\u0002\u0002\u06e6\u06e7\u0003\u0002\u0002\u0002\u06e7\u06e9\u0003\u0002", + "\u0002\u0002\u06e8\u06e6\u0003\u0002\u0002\u0002\u06e9\u06ea\u0007\u001b", + "\u0002\u0002\u06ea\u00b9\u0003\u0002\u0002\u0002\u06eb\u06ec\u0007\u00d2", + "\u0002\u0002\u06ec\u06ee\u0007\u00d3\u0002\u0002\u06ed\u06ef\u0007@", + "\u0002\u0002\u06ee\u06ed\u0003\u0002\u0002\u0002\u06ee\u06ef\u0003\u0002", + "\u0002\u0002\u06ef\u06f0\u0003\u0002\u0002\u0002\u06f0\u06f1\u0007\u00d5", + "\u0002\u0002\u06f1\u06f2\u0005\u01a6\u00d4\u0002\u06f2\u06f3\u0005\u01a4", + "\u00d3\u0002\u06f3\u00bb\u0003\u0002\u0002\u0002\u06f4\u06f6\u00074", + "\u0002\u0002\u06f5\u06f7\u0007\u0013\u0002\u0002\u06f6\u06f5\u0003\u0002", + "\u0002\u0002\u06f6\u06f7\u0003\u0002\u0002\u0002\u06f7\u06fa\u0003\u0002", + "\u0002\u0002\u06f8\u06f9\u0007\u0012\u0002\u0002\u06f9\u06fb\u0005\u0170", + "\u00b9\u0002\u06fa\u06f8\u0003\u0002\u0002\u0002\u06fa\u06fb\u0003\u0002", + "\u0002\u0002\u06fb\u00bd\u0003\u0002\u0002\u0002\u06fc\u06fd\u0007\u00d6", + "\u0002\u0002\u06fd\u06fe\u0007\u00d7\u0002\u0002\u06fe\u06ff\u0005\u00c0", + "a\u0002\u06ff\u00bf\u0003\u0002\u0002\u0002\u0700\u0703\u0005\u00c2", + "b\u0002\u0701\u0703\u0005\u00c4c\u0002\u0702\u0700\u0003\u0002\u0002", + "\u0002\u0702\u0701\u0003\u0002\u0002\u0002\u0703\u00c1\u0003\u0002\u0002", + "\u0002\u0704\u0705\u0007\u0011\u0002\u0002\u0705\u0706\u0007J\u0002", + "\u0002\u0706\u0707\u0005\u01b8\u00dd\u0002\u0707\u0708\u0007\u0019\u0002", + "\u0002\u0708\u0709\u0007\u00d8\u0002\u0002\u0709\u00c3\u0003\u0002\u0002", + "\u0002\u070a\u070b\u0005\u01b8\u00dd\u0002\u070b\u070c\u0007\u0019\u0002", + "\u0002\u070c\u070d\u0007\u00d9\u0002\u0002\u070d\u00c5\u0003\u0002\u0002", + "\u0002\u070e\u070f\u0007\u00da\u0002\u0002\u070f\u0714\u0005\u00c8e", + "\u0002\u0710\u0711\u0007\u0017\u0002\u0002\u0711\u0713\u0005\u00c8e", + "\u0002\u0712\u0710\u0003\u0002\u0002\u0002\u0713\u0716\u0003\u0002\u0002", + "\u0002\u0714\u0712\u0003\u0002\u0002\u0002\u0714\u0715\u0003\u0002\u0002", + "\u0002\u0715\u0717\u0003\u0002\u0002\u0002\u0716\u0714\u0003\u0002\u0002", + "\u0002\u0717\u0718\u0007/\u0002\u0002\u0718\u0719\u0007\u00db\u0002", + "\u0002\u0719\u071a\u0005\u01b8\u00dd\u0002\u071a\u00c7\u0003\u0002\u0002", + "\u0002\u071b\u071c\u0007\u00cc\u0002\u0002\u071c\u071d\u0007Q\u0002", + "\u0002\u071d\u071e\u0007 \u0002\u0002\u071e\u071f\u0005\u01b8\u00dd", + "\u0002\u071f\u00c9\u0003\u0002\u0002\u0002\u0720\u0722\u0007\u00dc\u0002", + "\u0002\u0721\u0723\u0007\u0013\u0002\u0002\u0722\u0721\u0003\u0002\u0002", + "\u0002\u0722\u0723\u0003\u0002\u0002\u0002\u0723\u00cb\u0003\u0002\u0002", + "\u0002\u0724\u0725\u0007\u0080\u0002\u0002\u0725\u0726\u0007\u00dd\u0002", + "\u0002\u0726\u0729\u0005\u0180\u00c1\u0002\u0727\u0728\u0007/\u0002", + "\u0002\u0728\u072a\u0005\u0180\u00c1\u0002\u0729\u0727\u0003\u0002\u0002", + "\u0002\u0729\u072a\u0003\u0002\u0002\u0002\u072a\u072d\u0003\u0002\u0002", + "\u0002\u072b\u072c\u0007\u00de\u0002\u0002\u072c\u072e\u0005\u0180\u00c1", + "\u0002\u072d\u072b\u0003\u0002\u0002\u0002\u072d\u072e\u0003\u0002\u0002", + "\u0002\u072e\u00cd\u0003\u0002\u0002\u0002\u072f\u0730\u0007\u00df\u0002", + "\u0002\u0730\u0736\u0007\u0013\u0002\u0002\u0731\u0734\u0007\u001e\u0002", + "\u0002\u0732\u0735\u0005\u011a\u008e\u0002\u0733\u0735\u0005\u0180\u00c1", + "\u0002\u0734\u0732\u0003\u0002\u0002\u0002\u0734\u0733\u0003\u0002\u0002", + "\u0002\u0735\u0737\u0003\u0002\u0002\u0002\u0736\u0731\u0003\u0002\u0002", + "\u0002\u0736\u0737\u0003\u0002\u0002\u0002\u0737\u00cf\u0003\u0002\u0002", + "\u0002\u0738\u073a\u0007\u00e0\u0002\u0002\u0739\u073b\u0007\u00e1\u0002", + "\u0002\u073a\u0739\u0003\u0002\u0002\u0002\u073a\u073b\u0003\u0002\u0002", + "\u0002\u073b\u073c\u0003\u0002\u0002\u0002\u073c\u073d\u0007\u0013\u0002", + "\u0002\u073d\u073e\u0007\u00cd\u0002\u0002\u073e\u0743\u0007\u0013\u0002", + "\u0002\u073f\u0740\u0007\u0017\u0002\u0002\u0740\u0742\u0007\u0013\u0002", + "\u0002\u0741\u073f\u0003\u0002\u0002\u0002\u0742\u0745\u0003\u0002\u0002", + "\u0002\u0743\u0741\u0003\u0002\u0002\u0002\u0743\u0744\u0003\u0002\u0002", + "\u0002\u0744\u00d1\u0003\u0002\u0002\u0002\u0745\u0743\u0003\u0002\u0002", + "\u0002\u0746\u0747\u0007\u00e2\u0002\u0002\u0747\u0748\t\u001c\u0002", + "\u0002\u0748\u0749\u0007Q\u0002\u0002\u0749\u074b\u0005\u014a\u00a6", + "\u0002\u074a\u074c\u0005\u00d4k\u0002\u074b\u074a\u0003\u0002\u0002", + "\u0002\u074b\u074c\u0003\u0002\u0002\u0002\u074c\u00d3\u0003\u0002\u0002", + "\u0002\u074d\u074e\u0007\u00e5\u0002\u0002\u074e\u074f\u0007\u001a\u0002", + "\u0002\u074f\u0754\u0005\u01b8\u00dd\u0002\u0750\u0751\u0007\u0017\u0002", + "\u0002\u0751\u0753\u0005\u01b8\u00dd\u0002\u0752\u0750\u0003\u0002\u0002", + "\u0002\u0753\u0756\u0003\u0002\u0002\u0002\u0754\u0752\u0003\u0002\u0002", + "\u0002\u0754\u0755\u0003\u0002\u0002\u0002\u0755\u0757\u0003\u0002\u0002", + "\u0002\u0756\u0754\u0003\u0002\u0002\u0002\u0757\u0758\u0007\u001b\u0002", + "\u0002\u0758\u00d5\u0003\u0002\u0002\u0002\u0759\u075a\u0007\u00e6\u0002", + "\u0002\u075a\u075b\u0007\u0013\u0002\u0002\u075b\u00d7\u0003\u0002\u0002", + "\u0002\u075c\u075d\u0007\u00e7\u0002\u0002\u075d\u075e\t\u001d\u0002", + "\u0002\u075e\u075f\u0005\u00dan\u0002\u075f\u0760\u0007\u0017\u0002", + "\u0002\u0760\u0761\u0005\u00dan\u0002\u0761\u00d9\u0003\u0002\u0002", + "\u0002\u0762\u0764\u0005\u014a\u00a6\u0002\u0763\u0765\u0005\u014c\u00a7", + "\u0002\u0764\u0763\u0003\u0002\u0002\u0002\u0764\u0765\u0003\u0002\u0002", + "\u0002\u0765\u076b\u0003\u0002\u0002\u0002\u0766\u0767\u0007\u001a\u0002", + "\u0002\u0767\u0768\u0005\u011a\u008e\u0002\u0768\u0769\u0007\u001b\u0002", + "\u0002\u0769\u076b\u0003\u0002\u0002\u0002\u076a\u0762\u0003\u0002\u0002", + "\u0002\u076a\u0766\u0003\u0002\u0002\u0002\u076b\u076e\u0003\u0002\u0002", + "\u0002\u076c\u076d\u0007\u00de\u0002\u0002\u076d\u076f\u0005\u01b8\u00dd", + "\u0002\u076e\u076c\u0003\u0002\u0002\u0002\u076e\u076f\u0003\u0002\u0002", + "\u0002\u076f\u00db\u0003\u0002\u0002\u0002\u0770\u0771\u0007\u00e9\u0002", + "\u0002\u0771\u0772\u0007\u00e1\u0002\u0002\u0772\u0773\u0007@\u0002", + "\u0002\u0773\u0778\u0005\u00e0q\u0002\u0774\u0775\u0007\u0017\u0002", + "\u0002\u0775\u0777\u0005\u00e0q\u0002\u0776\u0774\u0003\u0002\u0002", + "\u0002\u0777\u077a\u0003\u0002\u0002\u0002\u0778\u0776\u0003\u0002\u0002", + "\u0002\u0778\u0779\u0003\u0002\u0002\u0002\u0779\u077b\u0003\u0002\u0002", + "\u0002\u077a\u0778\u0003\u0002\u0002\u0002\u077b\u077c\u0007/\u0002", + "\u0002\u077c\u0780\u0005\u00e2r\u0002\u077d\u077f\u0005\u00e6t\u0002", + "\u077e\u077d\u0003\u0002\u0002\u0002\u077f\u0782\u0003\u0002\u0002\u0002", + "\u0780\u077e\u0003\u0002\u0002\u0002\u0780\u0781\u0003\u0002\u0002\u0002", + "\u0781\u00dd\u0003\u0002\u0002\u0002\u0782\u0780\u0003\u0002\u0002\u0002", + "\u0783\u0789\u0007\u00e9\u0002\u0002\u0784\u078a\u0005\u014a\u00a6\u0002", + "\u0785\u0786\u0007\u001a\u0002\u0002\u0786\u0787\u0005\u011a\u008e\u0002", + "\u0787\u0788\u0007\u001b\u0002\u0002\u0788\u078a\u0003\u0002\u0002\u0002", + "\u0789\u0784\u0003\u0002\u0002\u0002\u0789\u0785\u0003\u0002\u0002\u0002", + "\u078a\u078b\u0003\u0002\u0002\u0002\u078b\u078d\u0007/\u0002\u0002", + "\u078c\u078e\u0007\u00ea\u0002\u0002\u078d\u078c\u0003\u0002\u0002\u0002", + "\u078d\u078e\u0003\u0002\u0002\u0002\u078e\u078f\u0003\u0002\u0002\u0002", + "\u078f\u0793\u0005\u00e2r\u0002\u0790\u0792\u0005\u00e4s\u0002\u0791", + "\u0790\u0003\u0002\u0002\u0002\u0792\u0795\u0003\u0002\u0002\u0002\u0793", + "\u0791\u0003\u0002\u0002\u0002\u0793\u0794\u0003\u0002\u0002\u0002\u0794", + "\u00df\u0003\u0002\u0002\u0002\u0795\u0793\u0003\u0002\u0002\u0002\u0796", + "\u0799\u0005\u01b2\u00da\u0002\u0797\u0799\u0005\u0180\u00c1\u0002\u0798", + "\u0796\u0003\u0002\u0002\u0002\u0798\u0797\u0003\u0002\u0002\u0002\u0799", + "\u00e1\u0003\u0002\u0002\u0002\u079a\u079d\u0005\u01b2\u00da\u0002\u079b", + "\u079d\u0005\u0180\u00c1\u0002\u079c\u079a\u0003\u0002\u0002\u0002\u079c", + "\u079b\u0003\u0002\u0002\u0002\u079d\u00e3\u0003\u0002\u0002\u0002\u079e", + "\u079f\u0007\u00de\u0002\u0002\u079f\u07a7\u0005\u01b8\u00dd\u0002\u07a0", + "\u07a1\u0007\u00eb\u0002\u0002\u07a1\u07a7\u0005\u0180\u00c1\u0002\u07a2", + "\u07a3\u0007\u00ec\u0002\u0002\u07a3\u07a7\u0005\u0180\u00c1\u0002\u07a4", + "\u07a5\u0007\u00ed\u0002\u0002\u07a5\u07a7\u0005\u01b8\u00dd\u0002\u07a6", + "\u079e\u0003\u0002\u0002\u0002\u07a6\u07a0\u0003\u0002\u0002\u0002\u07a6", + "\u07a2\u0003\u0002\u0002\u0002\u07a6\u07a4\u0003\u0002\u0002\u0002\u07a7", + "\u00e5\u0003\u0002\u0002\u0002\u07a8\u07a9\t\u001e\u0002\u0002\u07a9", + "\u00e7\u0003\u0002\u0002\u0002\u07aa\u07ac\u0007[\u0002\u0002\u07ab", + "\u07ad\u0007\u00ef\u0002\u0002\u07ac\u07ab\u0003\u0002\u0002\u0002\u07ac", + "\u07ad\u0003\u0002\u0002\u0002\u07ad\u00e9\u0003\u0002\u0002\u0002\u07ae", + "\u07b0\u0007=\u0002\u0002\u07af\u07b1\u0007G\u0002\u0002\u07b0\u07af", + "\u0003\u0002\u0002\u0002\u07b0\u07b1\u0003\u0002\u0002\u0002\u07b1\u07b2", + "\u0003\u0002\u0002\u0002\u07b2\u07b3\u0007k\u0002\u0002\u07b3\u07b4", + "\u0005\u01b8\u00dd\u0002\u07b4\u07b5\u0007Q\u0002\u0002\u07b5\u07b6", + "\u0005\u014a\u00a6\u0002\u07b6\u07b7\u0007\u001a\u0002\u0002\u07b7\u07bc", + "\u0005\u00ecw\u0002\u07b8\u07b9\u0007\u0017\u0002\u0002\u07b9\u07bb", + "\u0005\u00ecw\u0002\u07ba\u07b8\u0003\u0002\u0002\u0002\u07bb\u07be", + "\u0003\u0002\u0002\u0002\u07bc\u07ba\u0003\u0002\u0002\u0002\u07bc\u07bd", + "\u0003\u0002\u0002\u0002\u07bd\u07bf\u0003\u0002\u0002\u0002\u07be\u07bc", + "\u0003\u0002\u0002\u0002\u07bf\u07c0\u0007\u001b\u0002\u0002\u07c0\u00eb", + "\u0003\u0002\u0002\u0002\u07c1\u07c3\u0005\u01b8\u00dd\u0002\u07c2\u07c4", + "\t\t\u0002\u0002\u07c3\u07c2\u0003\u0002\u0002\u0002\u07c3\u07c4\u0003", + "\u0002\u0002\u0002\u07c4\u00ed\u0003\u0002\u0002\u0002\u07c5\u07c6\u0005", + "\u00f0y\u0002\u07c6\u00ef\u0003\u0002\u0002\u0002\u07c7\u07c8\u0007", + "$\u0002\u0002\u07c8\u07c9\u0007\u001a\u0002\u0002\u07c9\u07ca\u0005", + "\u01b8\u00dd\u0002\u07ca\u07cb\u0007\u0019\u0002\u0002\u07cb\u07d3\u0005", + "\u01b8\u00dd\u0002\u07cc\u07cd\u0007\u0017\u0002\u0002\u07cd\u07ce\u0005", + "\u01b8\u00dd\u0002\u07ce\u07cf\u0007\u0019\u0002\u0002\u07cf\u07d0\u0005", + "\u01b8\u00dd\u0002\u07d0\u07d2\u0003\u0002\u0002\u0002\u07d1\u07cc\u0003", + "\u0002\u0002\u0002\u07d2\u07d5\u0003\u0002\u0002\u0002\u07d3\u07d1\u0003", + "\u0002\u0002\u0002\u07d3\u07d4\u0003\u0002\u0002\u0002\u07d4\u07d6\u0003", + "\u0002\u0002\u0002\u07d5\u07d3\u0003\u0002\u0002\u0002\u07d6\u07da\u0007", + "\u001b\u0002\u0002\u07d7\u07d9\u0005l7\u0002\u07d8\u07d7\u0003\u0002", + "\u0002\u0002\u07d9\u07dc\u0003\u0002\u0002\u0002\u07da\u07d8\u0003\u0002", + "\u0002\u0002\u07da\u07db\u0003\u0002\u0002\u0002\u07db\u00f1\u0003\u0002", + "\u0002\u0002\u07dc\u07da\u0003\u0002\u0002\u0002\u07dd\u07de\u0007\u00f0", + "\u0002\u0002\u07de\u07e5\u0005\u0180\u00c1\u0002\u07df\u07e0\u0007\u00f0", + "\u0002\u0002\u07e0\u07e1\u0007\u001a\u0002\u0002\u07e1\u07e2\u0005\u0180", + "\u00c1\u0002\u07e2\u07e3\u0007\u001b\u0002\u0002\u07e3\u07e5\u0003\u0002", + "\u0002\u0002\u07e4\u07dd\u0003\u0002\u0002\u0002\u07e4\u07df\u0003\u0002", + "\u0002\u0002\u07e5\u00f3\u0003\u0002\u0002\u0002\u07e6\u07e8\u0007\u0007", + "\u0002\u0002\u07e7\u07e6\u0003\u0002\u0002\u0002\u07e7\u07e8\u0003\u0002", + "\u0002\u0002\u07e8\u07e9\u0003\u0002\u0002\u0002\u07e9\u07eb\u0007\u00f1", + "\u0002\u0002\u07ea\u07ec\u0005\u0180\u00c1\u0002\u07eb\u07ea\u0003\u0002", + "\u0002\u0002\u07eb\u07ec\u0003\u0002\u0002\u0002\u07ec\u00f5\u0003\u0002", + "\u0002\u0002\u07ed\u07ee\u0007\u00f2\u0002\u0002\u07ee\u00f7\u0003\u0002", + "\u0002\u0002\u07ef\u07fb\u0007\u00f3\u0002\u0002\u07f0\u07f2\u0007\u00f4", + "\u0002\u0002\u07f1\u07f3\u0007\u00f5\u0002\u0002\u07f2\u07f1\u0003\u0002", + "\u0002\u0002\u07f2\u07f3\u0003\u0002\u0002\u0002\u07f3\u07f4\u0003\u0002", + "\u0002\u0002\u07f4\u07f9\u0005\u0180\u00c1\u0002\u07f5\u07f6\u0007\u0016", + "\u0002\u0002\u07f6\u07f7\u0007\u00d8\u0002\u0002\u07f7\u07f8\u0007\u0019", + "\u0002\u0002\u07f8\u07fa\u0005\u0180\u00c1\u0002\u07f9\u07f5\u0003\u0002", + "\u0002\u0002\u07f9\u07fa\u0003\u0002\u0002\u0002\u07fa\u07fc\u0003\u0002", + "\u0002\u0002\u07fb\u07f0\u0003\u0002\u0002\u0002\u07fb\u07fc\u0003\u0002", + "\u0002\u0002\u07fc\u00f9\u0003\u0002\u0002\u0002\u07fd\u07ff\u0007-", + "\u0002\u0002\u07fe\u0800\u0005\u0180\u00c1\u0002\u07ff\u07fe\u0003\u0002", + "\u0002\u0002\u07ff\u0800\u0003\u0002\u0002\u0002\u0800\u00fb\u0003\u0002", + "\u0002\u0002\u0801\u0803\u0007\u00f6\u0002\u0002\u0802\u0804\u0007\u00ef", + "\u0002\u0002\u0803\u0802\u0003\u0002\u0002\u0002\u0803\u0804\u0003\u0002", + "\u0002\u0002\u0804\u00fd\u0003\u0002\u0002\u0002\u0805\u0809\u0005\u0100", + "\u0081\u0002\u0806\u0809\u0005\u0102\u0082\u0002\u0807\u0809\u0005\u0104", + "\u0083\u0002\u0808\u0805\u0003\u0002\u0002\u0002\u0808\u0806\u0003\u0002", + "\u0002\u0002\u0808\u0807\u0003\u0002\u0002\u0002\u0809\u00ff\u0003\u0002", + "\u0002\u0002\u080a\u080c\u0007\u00f7\u0002\u0002\u080b\u080a\u0003\u0002", + "\u0002\u0002\u080b\u080c\u0003\u0002\u0002\u0002\u080c\u080d\u0003\u0002", + "\u0002\u0002\u080d\u0810\u0007\u00b8\u0002\u0002\u080e\u0810\u0007\u00f8", + "\u0002\u0002\u080f\u080b\u0003\u0002\u0002\u0002\u080f\u080e\u0003\u0002", + "\u0002\u0002\u0810\u0812\u0003\u0002\u0002\u0002\u0811\u0813\u0007\u0019", + "\u0002\u0002\u0812\u0811\u0003\u0002\u0002\u0002\u0812\u0813\u0003\u0002", + "\u0002\u0002\u0813\u0814\u0003\u0002\u0002\u0002\u0814\u0815\u0005\u0180", + "\u00c1\u0002\u0815\u0101\u0003\u0002\u0002\u0002\u0816\u0817\t\u001f", + "\u0002\u0002\u0817\u0818\t \u0002\u0002\u0818\u0103\u0003\u0002\u0002", + "\u0002\u0819\u081a\u0007\u00ff\u0002\u0002\u081a\u081d\u0007\u0019\u0002", + "\u0002\u081b\u081e\u0005\u0180\u00c1\u0002\u081c\u081e\u0007\u0100\u0002", + "\u0002\u081d\u081b\u0003\u0002\u0002\u0002\u081d\u081c\u0003\u0002\u0002", + "\u0002\u081e\u0820\u0003\u0002\u0002\u0002\u081f\u0821\u0007R\u0002", + "\u0002\u0820\u081f\u0003\u0002\u0002\u0002\u0820\u0821\u0003\u0002\u0002", + "\u0002\u0821\u0822\u0003\u0002\u0002\u0002\u0822\u0823\u0007\u001e\u0002", + "\u0002\u0823\u0824\t!\u0002\u0002\u0824\u0105\u0003\u0002\u0002\u0002", + "\u0825\u0826\u0007\u0102\u0002\u0002\u0826\u0827\u0005\u01b8\u00dd\u0002", + "\u0827\u0107\u0003\u0002\u0002\u0002\u0828\u082b\u0007\u0103\u0002\u0002", + "\u0829\u082a\u0007\u0104\u0002\u0002\u082a\u082c\u0005\u0180\u00c1\u0002", + "\u082b\u0829\u0003\u0002\u0002\u0002\u082b\u082c\u0003\u0002\u0002\u0002", + "\u082c\u082d\u0003\u0002\u0002\u0002\u082d\u0837\u0007\u001e\u0002\u0002", + "\u082e\u0838\u0005\u011a\u008e\u0002\u082f\u0831\u0005\u014a\u00a6\u0002", + "\u0830\u0832\u0005\u014c\u00a7\u0002\u0831\u0830\u0003\u0002\u0002\u0002", + "\u0831\u0832\u0003\u0002\u0002\u0002\u0832\u0835\u0003\u0002\u0002\u0002", + "\u0833\u0834\u0007\u0105\u0002\u0002\u0834\u0836\u0005\u0180\u00c1\u0002", + "\u0835\u0833\u0003\u0002\u0002\u0002\u0835\u0836\u0003\u0002\u0002\u0002", + "\u0836\u0838\u0003\u0002\u0002\u0002\u0837\u082e\u0003\u0002\u0002\u0002", + "\u0837\u082f\u0003\u0002\u0002\u0002\u0838\u0109\u0003\u0002\u0002\u0002", + "\u0839\u083b\u0007\u0106\u0002\u0002\u083a\u083c\u0007<\u0002\u0002", + "\u083b\u083a\u0003\u0002\u0002\u0002\u083b\u083c\u0003\u0002\u0002\u0002", + "\u083c\u083d\u0003\u0002\u0002\u0002\u083d\u083e\u0005\u014a\u00a6\u0002", + "\u083e\u010b\u0003\u0002\u0002\u0002\u083f\u0840\u0007\u0107\u0002\u0002", + "\u0840\u0841\u0005\u0180\u00c1\u0002\u0841\u010d\u0003\u0002\u0002\u0002", + "\u0842\u0844\u0007\u00d4\u0002\u0002\u0843\u0845\u0007\u001a\u0002\u0002", + "\u0844\u0843\u0003\u0002\u0002\u0002\u0844\u0845\u0003\u0002\u0002\u0002", + "\u0845\u0846\u0003\u0002\u0002\u0002\u0846\u084b\u0005\u0180\u00c1\u0002", + "\u0847\u0848\u0007\u0017\u0002\u0002\u0848\u084a\u0005\u0180\u00c1\u0002", + "\u0849\u0847\u0003\u0002\u0002\u0002\u084a\u084d\u0003\u0002\u0002\u0002", + "\u084b\u0849\u0003\u0002\u0002\u0002\u084b\u084c\u0003\u0002\u0002\u0002", + "\u084c\u084f\u0003\u0002\u0002\u0002\u084d\u084b\u0003\u0002\u0002\u0002", + "\u084e\u0850\u0007\u001b\u0002\u0002\u084f\u084e\u0003\u0002\u0002\u0002", + "\u084f\u0850\u0003\u0002\u0002\u0002\u0850\u0851\u0003\u0002\u0002\u0002", + "\u0851\u0853\u0007\u00cd\u0002\u0002\u0852\u0854\u0007\u001a\u0002\u0002", + "\u0853\u0852\u0003\u0002\u0002\u0002\u0853\u0854\u0003\u0002\u0002\u0002", + "\u0854\u0855\u0003\u0002\u0002\u0002\u0855\u085a\u0005\u01b8\u00dd\u0002", + "\u0856\u0857\u0007\u0017\u0002\u0002\u0857\u0859\u0005\u01b8\u00dd\u0002", + "\u0858\u0856\u0003\u0002\u0002\u0002\u0859\u085c\u0003\u0002\u0002\u0002", + "\u085a\u0858\u0003\u0002\u0002\u0002\u085a\u085b\u0003\u0002\u0002\u0002", + "\u085b\u085e\u0003\u0002\u0002\u0002\u085c\u085a\u0003\u0002\u0002\u0002", + "\u085d\u085f\u0007\u001b\u0002\u0002\u085e\u085d\u0003\u0002\u0002\u0002", + "\u085e\u085f\u0003\u0002\u0002\u0002\u085f\u010f\u0003\u0002\u0002\u0002", + "\u0860\u0861\u0007\u0108\u0002\u0002\u0861\u0862\u0005\u0170\u00b9\u0002", + "\u0862\u0863\t\"\u0002\u0002\u0863\u0864\u0005\u0004\u0003\u0002\u0864", + "\u0866\u0007\u0010\u0002\u0002\u0865\u0867\t#\u0002\u0002\u0866\u0865", + "\u0003\u0002\u0002\u0002\u0866\u0867\u0003\u0002\u0002\u0002\u0867\u0111", + "\u0003\u0002\u0002\u0002\u0868\u0869\u0007\u001e\u0002\u0002\u0869\u086a", + "\u0007\u0013\u0002\u0002\u086a\u086c\u0007l\u0002\u0002\u086b\u086d", + "\u0007\u001a\u0002\u0002\u086c\u086b\u0003\u0002\u0002\u0002\u086c\u086d", + "\u0003\u0002\u0002\u0002\u086d\u086e\u0003\u0002\u0002\u0002\u086e\u0870", + "\u0005\u011a\u008e\u0002\u086f\u0871\u0007\u001b\u0002\u0002\u0870\u086f", + "\u0003\u0002\u0002\u0002\u0870\u0871\u0003\u0002\u0002\u0002\u0871\u0872", + "\u0003\u0002\u0002\u0002\u0872\u0873\u0007\u010a\u0002\u0002\u0873\u0874", + "\u0005\u0004\u0003\u0002\u0874\u0875\u0007\u0010\u0002\u0002\u0875\u0876", + "\u0007\u010a\u0002\u0002\u0876\u0113\u0003\u0002\u0002\u0002\u0877\u0878", + "\u0007\u001e\u0002\u0002\u0878\u0879\u0007\u0013\u0002\u0002\u0879\u087b", + "\u0007l\u0002\u0002\u087a\u087c\u0007\u010b\u0002\u0002\u087b\u087a", + "\u0003\u0002\u0002\u0002\u087b\u087c\u0003\u0002\u0002\u0002\u087c\u087d", + "\u0003\u0002\u0002\u0002\u087d\u087e\u0005\u0180\u00c1\u0002\u087e\u087f", + "\u0007\u010c\u0002\u0002\u087f\u0882\u0005\u0180\u00c1\u0002\u0880\u0881", + "\t$\u0002\u0002\u0881\u0883\u0005\u0180\u00c1\u0002\u0882\u0880\u0003", + "\u0002\u0002\u0002\u0882\u0883\u0003\u0002\u0002\u0002\u0883\u0884\u0003", + "\u0002\u0002\u0002\u0884\u0885\u0007\u010a\u0002\u0002\u0885\u0886\u0005", + "\u0004\u0003\u0002\u0886\u0887\u0007\u0010\u0002\u0002\u0887\u0888\u0007", + "\u010a\u0002\u0002\u0888\u0115\u0003\u0002\u0002\u0002\u0889\u0890\u0007", + "\u010e\u0002\u0002\u088a\u088b\u0007\u010f\u0002\u0002\u088b\u088c\u0007", + "\u010f\u0002\u0002\u088c\u088d\u0007\u0013\u0002\u0002\u088d\u088e\u0007", + "\u0110\u0002\u0002\u088e\u0890\u0007\u0110\u0002\u0002\u088f\u0889\u0003", + "\u0002\u0002\u0002\u088f\u088a\u0003\u0002\u0002\u0002\u0890\u0117\u0003", + "\u0002\u0002\u0002\u0891\u0892\u0007\u0111\u0002\u0002\u0892\u0897\u0005", + "\u0180\u00c1\u0002\u0893\u0894\u0007\u0017\u0002\u0002\u0894\u0896\u0005", + "\u0180\u00c1\u0002\u0895\u0893\u0003\u0002\u0002\u0002\u0896\u0899\u0003", + "\u0002\u0002\u0002\u0897\u0895\u0003\u0002\u0002\u0002\u0897\u0898\u0003", + "\u0002\u0002\u0002\u0898\u0119\u0003\u0002\u0002\u0002\u0899\u0897\u0003", + "\u0002\u0002\u0002\u089a\u089c\u0005\u011c\u008f\u0002\u089b\u089a\u0003", + "\u0002\u0002\u0002\u089b\u089c\u0003\u0002\u0002\u0002\u089c\u089d\u0003", + "\u0002\u0002\u0002\u089d\u089e\u0005\u0122\u0092\u0002\u089e\u011b\u0003", + "\u0002\u0002\u0002\u089f\u08a0\u0007$\u0002\u0002\u08a0\u08a5\u0005", + "\u011e\u0090\u0002\u08a1\u08a2\u0007\u0017\u0002\u0002\u08a2\u08a4\u0005", + "\u011e\u0090\u0002\u08a3\u08a1\u0003\u0002\u0002\u0002\u08a4\u08a7\u0003", + "\u0002\u0002\u0002\u08a5\u08a3\u0003\u0002\u0002\u0002\u08a5\u08a6\u0003", + "\u0002\u0002\u0002\u08a6\u011d\u0003\u0002\u0002\u0002\u08a7\u08a5\u0003", + "\u0002\u0002\u0002\u08a8\u08aa\u0005\u01b8\u00dd\u0002\u08a9\u08ab\u0005", + "\u0120\u0091\u0002\u08aa\u08a9\u0003\u0002\u0002\u0002\u08aa\u08ab\u0003", + "\u0002\u0002\u0002\u08ab\u08ac\u0003\u0002\u0002\u0002\u08ac\u08ad\u0007", + ")\u0002\u0002\u08ad\u08ae\u0007\u001a\u0002\u0002\u08ae\u08af\u0005", + "\u0122\u0092\u0002\u08af\u08b0\u0007\u001b\u0002\u0002\u08b0\u011f\u0003", + "\u0002\u0002\u0002\u08b1\u08b2\u0007\u001a\u0002\u0002\u08b2\u08b7\u0005", + "\u01b8\u00dd\u0002\u08b3\u08b4\u0007\u0017\u0002\u0002\u08b4\u08b6\u0005", + "\u01b8\u00dd\u0002\u08b5\u08b3\u0003\u0002\u0002\u0002\u08b6\u08b9\u0003", + "\u0002\u0002\u0002\u08b7\u08b5\u0003\u0002\u0002\u0002\u08b7\u08b8\u0003", + "\u0002\u0002\u0002\u08b8\u08ba\u0003\u0002\u0002\u0002\u08b9\u08b7\u0003", + "\u0002\u0002\u0002\u08ba\u08bb\u0007\u001b\u0002\u0002\u08bb\u0121\u0003", + "\u0002\u0002\u0002\u08bc\u08c2\u0005\u0124\u0093\u0002\u08bd\u08be\u0005", + "\u0126\u0094\u0002\u08be\u08bf\u0005\u0124\u0093\u0002\u08bf\u08c1\u0003", + "\u0002\u0002\u0002\u08c0\u08bd\u0003\u0002\u0002\u0002\u08c1\u08c4\u0003", + "\u0002\u0002\u0002\u08c2\u08c0\u0003\u0002\u0002\u0002\u08c2\u08c3\u0003", + "\u0002\u0002\u0002\u08c3\u0123\u0003\u0002\u0002\u0002\u08c4\u08c2\u0003", + "\u0002\u0002\u0002\u08c5\u08cb\u0005\u0128\u0095\u0002\u08c6\u08c7\u0007", + "\u001a\u0002\u0002\u08c7\u08c8\u0005\u0122\u0092\u0002\u08c8\u08c9\u0007", + "\u001b\u0002\u0002\u08c9\u08cb\u0003\u0002\u0002\u0002\u08ca\u08c5\u0003", + "\u0002\u0002\u0002\u08ca\u08c6\u0003\u0002\u0002\u0002\u08cb\u0125\u0003", + "\u0002\u0002\u0002\u08cc\u08ce\u0007\u0112\u0002\u0002\u08cd\u08cf\u0007", + "\u0113\u0002\u0002\u08ce\u08cd\u0003\u0002\u0002\u0002\u08ce\u08cf\u0003", + "\u0002\u0002\u0002\u08cf\u08d9\u0003\u0002\u0002\u0002\u08d0\u08d2\u0007", + "\u0114\u0002\u0002\u08d1\u08d3\u0007\u0113\u0002\u0002\u08d2\u08d1\u0003", + "\u0002\u0002\u0002\u08d2\u08d3\u0003\u0002\u0002\u0002\u08d3\u08d9\u0003", + "\u0002\u0002\u0002\u08d4\u08d6\u0007\u0115\u0002\u0002\u08d5\u08d7\u0007", + "\u0113\u0002\u0002\u08d6\u08d5\u0003\u0002\u0002\u0002\u08d6\u08d7\u0003", + "\u0002\u0002\u0002\u08d7\u08d9\u0003\u0002\u0002\u0002\u08d8\u08cc\u0003", + "\u0002\u0002\u0002\u08d8\u08d0\u0003\u0002\u0002\u0002\u08d8\u08d4\u0003", + "\u0002\u0002\u0002\u08d9\u0127\u0003\u0002\u0002\u0002\u08da\u08db\t", + "%\u0002\u0002\u08db\u08dd\u0005\u012a\u0096\u0002\u08dc\u08de\u0005", + "\u0136\u009c\u0002\u08dd\u08dc\u0003\u0002\u0002\u0002\u08dd\u08de\u0003", + "\u0002\u0002\u0002\u08de\u08e0\u0003\u0002\u0002\u0002\u08df\u08e1\u0005", + "\u0138\u009d\u0002\u08e0\u08df\u0003\u0002\u0002\u0002\u08e0\u08e1\u0003", + "\u0002\u0002\u0002\u08e1\u08e3\u0003\u0002\u0002\u0002\u08e2\u08e4\u0005", + "\u014c\u00a7\u0002\u08e3\u08e2\u0003\u0002\u0002\u0002\u08e3\u08e4\u0003", + "\u0002\u0002\u0002\u08e4\u08e6\u0003\u0002\u0002\u0002\u08e5\u08e7\u0005", + "\u014e\u00a8\u0002\u08e6\u08e5\u0003\u0002\u0002\u0002\u08e6\u08e7\u0003", + "\u0002\u0002\u0002\u08e7\u08ea\u0003\u0002\u0002\u0002\u08e8\u08eb\u0005", + "\u0150\u00a9\u0002\u08e9\u08eb\u0005\u0152\u00aa\u0002\u08ea\u08e8\u0003", + "\u0002\u0002\u0002\u08ea\u08e9\u0003\u0002\u0002\u0002\u08ea\u08eb\u0003", + "\u0002\u0002\u0002\u08eb\u08ed\u0003\u0002\u0002\u0002\u08ec\u08ee\u0005", + "\u0154\u00ab\u0002\u08ed\u08ec\u0003\u0002\u0002\u0002\u08ed\u08ee\u0003", + "\u0002\u0002\u0002\u08ee\u08f0\u0003\u0002\u0002\u0002\u08ef\u08f1\u0005", + "\u0156\u00ac\u0002\u08f0\u08ef\u0003\u0002\u0002\u0002\u08f0\u08f1\u0003", + "\u0002\u0002\u0002\u08f1\u0129\u0003\u0002\u0002\u0002\u08f2\u08f4\u0005", + "\u012c\u0097\u0002\u08f3\u08f2\u0003\u0002\u0002\u0002\u08f3\u08f4\u0003", + "\u0002\u0002\u0002\u08f4\u08f6\u0003\u0002\u0002\u0002\u08f5\u08f7\u0005", + "\u012e\u0098\u0002\u08f6\u08f5\u0003\u0002\u0002\u0002\u08f6\u08f7\u0003", + "\u0002\u0002\u0002\u08f7\u08f8\u0003\u0002\u0002\u0002\u08f8\u08fd\u0005", + "\u0130\u0099\u0002\u08f9\u08fa\u0007\u0017\u0002\u0002\u08fa\u08fc\u0005", + "\u0130\u0099\u0002\u08fb\u08f9\u0003\u0002\u0002\u0002\u08fc\u08ff\u0003", + "\u0002\u0002\u0002\u08fd\u08fb\u0003\u0002\u0002\u0002\u08fd\u08fe\u0003", + "\u0002\u0002\u0002\u08fe\u012b\u0003\u0002\u0002\u0002\u08ff\u08fd\u0003", + "\u0002\u0002\u0002\u0900\u0901\t&\u0002\u0002\u0901\u012d\u0003\u0002", + "\u0002\u0002\u0902\u0903\u0007\u0104\u0002\u0002\u0903\u0904\u0005\u0180", + "\u00c1\u0002\u0904\u012f\u0003\u0002\u0002\u0002\u0905\u0906\u0005\u01b8", + "\u00dd\u0002\u0906\u0907\u0007\u0019\u0002\u0002\u0907\u0909\u0003\u0002", + "\u0002\u0002\u0908\u0905\u0003\u0002\u0002\u0002\u0908\u0909\u0003\u0002", + "\u0002\u0002\u0909\u090a\u0003\u0002\u0002\u0002\u090a\u090c\u0005\u0180", + "\u00c1\u0002\u090b\u090d\u0005\u0132\u009a\u0002\u090c\u090b\u0003\u0002", + "\u0002\u0002\u090c\u090d\u0003\u0002\u0002\u0002\u090d\u0910\u0003\u0002", + "\u0002\u0002\u090e\u0910\u0005\u0134\u009b\u0002\u090f\u0908\u0003\u0002", + "\u0002\u0002\u090f\u090e\u0003\u0002\u0002\u0002\u0910\u0131\u0003\u0002", + "\u0002\u0002\u0911\u0913\u0006\u009a\u0005\u0002\u0912\u0914\u0007)", + "\u0002\u0002\u0913\u0912\u0003\u0002\u0002\u0002\u0913\u0914\u0003\u0002", + "\u0002\u0002\u0914\u0915\u0003\u0002\u0002\u0002\u0915\u091b\u0005\u01b8", + "\u00dd\u0002\u0916\u0917\u0007\u001a\u0002\u0002\u0917\u0918\u0007\u0119", + "\u0002\u0002\u0918\u0919\u0007\u011a\u0002\u0002\u0919\u091b\u0007\u001b", + "\u0002\u0002\u091a\u0911\u0003\u0002\u0002\u0002\u091a\u0916\u0003\u0002", + "\u0002\u0002\u091b\u0133\u0003\u0002\u0002\u0002\u091c\u091d\u0007\u0013", + "\u0002\u0002\u091d\u091f\u0007\u0007\u0002\u0002\u091e\u091c\u0003\u0002", + "\u0002\u0002\u091e\u091f\u0003\u0002\u0002\u0002\u091f\u0920\u0003\u0002", + "\u0002\u0002\u0920\u0921\u0007\b\u0002\u0002\u0921\u0135\u0003\u0002", + "\u0002\u0002\u0922\u0923\u0007\u00cd\u0002\u0002\u0923\u0928\u0005\u01b8", + "\u00dd\u0002\u0924\u0925\u0007\u0017\u0002\u0002\u0925\u0927\u0005\u01b8", + "\u00dd\u0002\u0926\u0924\u0003\u0002\u0002\u0002\u0927\u092a\u0003\u0002", + "\u0002\u0002\u0928\u0926\u0003\u0002\u0002\u0002\u0928\u0929\u0003\u0002", + "\u0002\u0002\u0929\u0137\u0003\u0002\u0002\u0002\u092a\u0928\u0003\u0002", + "\u0002\u0002\u092b\u092c\u0007\u00e1\u0002\u0002\u092c\u0930\u0005\u013a", + "\u009e\u0002\u092d\u092f\u0005\u0140\u00a1\u0002\u092e\u092d\u0003\u0002", + "\u0002\u0002\u092f\u0932\u0003\u0002\u0002\u0002\u0930\u092e\u0003\u0002", + "\u0002\u0002\u0930\u0931\u0003\u0002\u0002\u0002\u0931\u0139\u0003\u0002", + "\u0002\u0002\u0932\u0930\u0003\u0002\u0002\u0002\u0933\u0937\u0005\u013c", + "\u009f\u0002\u0934\u0937\u0005\u013e\u00a0\u0002\u0935\u0937\u0005\u0144", + "\u00a3\u0002\u0936\u0933\u0003\u0002\u0002\u0002\u0936\u0934\u0003\u0002", + "\u0002\u0002\u0936\u0935\u0003\u0002\u0002\u0002\u0937\u013b\u0003\u0002", + "\u0002\u0002\u0938\u093a\u0005\u014a\u00a6\u0002\u0939\u093b\u0005\u0148", + "\u00a5\u0002\u093a\u0939\u0003\u0002\u0002\u0002\u093a\u093b\u0003\u0002", + "\u0002\u0002\u093b\u013d\u0003\u0002\u0002\u0002\u093c\u093d\u0007\u001a", + "\u0002\u0002\u093d\u093e\u0005\u011a\u008e\u0002\u093e\u0940\u0007\u001b", + "\u0002\u0002\u093f\u0941\u0005\u0148\u00a5\u0002\u0940\u093f\u0003\u0002", + "\u0002\u0002\u0940\u0941\u0003\u0002\u0002\u0002\u0941\u013f\u0003\u0002", + "\u0002\u0002\u0942\u0943\u0007\u0017\u0002\u0002\u0943\u094a\u0005\u013a", + "\u009e\u0002\u0944\u0945\u0005\u0142\u00a2\u0002\u0945\u0946\u0005\u013a", + "\u009e\u0002\u0946\u0947\u0007Q\u0002\u0002\u0947\u0948\u0005\u0170", + "\u00b9\u0002\u0948\u094a\u0003\u0002\u0002\u0002\u0949\u0942\u0003\u0002", + "\u0002\u0002\u0949\u0944\u0003\u0002\u0002\u0002\u094a\u0141\u0003\u0002", + "\u0002\u0002\u094b\u094d\u0007\u011b\u0002\u0002\u094c\u094b\u0003\u0002", + "\u0002\u0002\u094c\u094d\u0003\u0002\u0002\u0002\u094d\u094e\u0003\u0002", + "\u0002\u0002\u094e\u0955\u0007\u011c\u0002\u0002\u094f\u0951\t\'\u0002", + "\u0002\u0950\u0952\u0007\u0120\u0002\u0002\u0951\u0950\u0003\u0002\u0002", + "\u0002\u0951\u0952\u0003\u0002\u0002\u0002\u0952\u0953\u0003\u0002\u0002", + "\u0002\u0953\u0955\u0007\u011c\u0002\u0002\u0954\u094c\u0003\u0002\u0002", + "\u0002\u0954\u094f\u0003\u0002\u0002\u0002\u0955\u0143\u0003\u0002\u0002", + "\u0002\u0956\u0957\u0007<\u0002\u0002\u0957\u0958\u0007\u001a\u0002", + "\u0002\u0958\u0959\u0007\u00d4\u0002\u0002\u0959\u095e\u0005\u0146\u00a4", + "\u0002\u095a\u095b\u0007\u0017\u0002\u0002\u095b\u095d\u0005\u0146\u00a4", + "\u0002\u095c\u095a\u0003\u0002\u0002\u0002\u095d\u0960\u0003\u0002\u0002", + "\u0002\u095e\u095c\u0003\u0002\u0002\u0002\u095e\u095f\u0003\u0002\u0002", + "\u0002\u095f\u0961\u0003\u0002\u0002\u0002\u0960\u095e\u0003\u0002\u0002", + "\u0002\u0961\u0963\u0007\u001b\u0002\u0002\u0962\u0964\u0005\u0148\u00a5", + "\u0002\u0963\u0962\u0003\u0002\u0002\u0002\u0963\u0964\u0003\u0002\u0002", + "\u0002\u0964\u0145\u0003\u0002\u0002\u0002\u0965\u0972\u0005\u0180\u00c1", + "\u0002\u0966\u0967\u0007\u001a\u0002\u0002\u0967\u096c\u0005\u0180\u00c1", + "\u0002\u0968\u0969\u0007\u0017\u0002\u0002\u0969\u096b\u0005\u0180\u00c1", + "\u0002\u096a\u0968\u0003\u0002\u0002\u0002\u096b\u096e\u0003\u0002\u0002", + "\u0002\u096c\u096a\u0003\u0002\u0002\u0002\u096c\u096d\u0003\u0002\u0002", + "\u0002\u096d\u096f\u0003\u0002\u0002\u0002\u096e\u096c\u0003\u0002\u0002", + "\u0002\u096f\u0970\u0007\u001b\u0002\u0002\u0970\u0972\u0003\u0002\u0002", + "\u0002\u0971\u0965\u0003\u0002\u0002\u0002\u0971\u0966\u0003\u0002\u0002", + "\u0002\u0972\u0147\u0003\u0002\u0002\u0002\u0973\u0975\u0006\u00a5\u0006", + "\u0002\u0974\u0976\u0007)\u0002\u0002\u0975\u0974\u0003\u0002\u0002", + "\u0002\u0975\u0976\u0003\u0002\u0002\u0002\u0976\u0977\u0003\u0002\u0002", + "\u0002\u0977\u0982\u0005\u01b8\u00dd\u0002\u0978\u0979\u0007\u001a\u0002", + "\u0002\u0979\u097e\u0007\u0013\u0002\u0002\u097a\u097b\u0007\u0017\u0002", + "\u0002\u097b\u097d\u0007\u0013\u0002\u0002\u097c\u097a\u0003\u0002\u0002", + "\u0002\u097d\u0980\u0003\u0002\u0002\u0002\u097e\u097c\u0003\u0002\u0002", + "\u0002\u097e\u097f\u0003\u0002\u0002\u0002\u097f\u0981\u0003\u0002\u0002", + "\u0002\u0980\u097e\u0003\u0002\u0002\u0002\u0981\u0983\u0007\u001b\u0002", + "\u0002\u0982\u0978\u0003\u0002\u0002\u0002\u0982\u0983\u0003\u0002\u0002", + "\u0002\u0983\u0149\u0003\u0002\u0002\u0002\u0984\u0985\u0005\u01b8\u00dd", + "\u0002\u0985\u014b\u0003\u0002\u0002\u0002\u0986\u0987\u0007\u0121\u0002", + "\u0002\u0987\u0988\u0005\u0170\u00b9\u0002\u0988\u014d\u0003\u0002\u0002", + "\u0002\u0989\u098a\u0007\u0122\u0002\u0002\u098a\u098b\u0007o\u0002", + "\u0002\u098b\u0990\u0005\u0180\u00c1\u0002\u098c\u098d\u0007\u0017\u0002", + "\u0002\u098d\u098f\u0005\u0180\u00c1\u0002\u098e\u098c\u0003\u0002\u0002", + "\u0002\u098f\u0992\u0003\u0002\u0002\u0002\u0990\u098e\u0003\u0002\u0002", + "\u0002\u0990\u0991\u0003\u0002\u0002\u0002\u0991\u014f\u0003\u0002\u0002", + "\u0002\u0992\u0990\u0003\u0002\u0002\u0002\u0993\u0994\u0007\u0123\u0002", + "\u0002\u0994\u0995\u0005\u0170\u00b9\u0002\u0995\u0151\u0003\u0002\u0002", + "\u0002\u0996\u0997\u0007\u0124\u0002\u0002\u0997\u0998\u0005\u0170\u00b9", + "\u0002\u0998\u0153\u0003\u0002\u0002\u0002\u0999\u099a\u0007\u0125\u0002", + "\u0002\u099a\u099b\u0007o\u0002\u0002\u099b\u099d\u0005\u0180\u00c1", + "\u0002\u099c\u099e\t\t\u0002\u0002\u099d\u099c\u0003\u0002\u0002\u0002", + "\u099d\u099e\u0003\u0002\u0002\u0002\u099e\u09a6\u0003\u0002\u0002\u0002", + "\u099f\u09a0\u0007\u0017\u0002\u0002\u09a0\u09a2\u0005\u0180\u00c1\u0002", + "\u09a1\u09a3\t\t\u0002\u0002\u09a2\u09a1\u0003\u0002\u0002\u0002\u09a2", + "\u09a3\u0003\u0002\u0002\u0002\u09a3\u09a5\u0003\u0002\u0002\u0002\u09a4", + "\u099f\u0003\u0002\u0002\u0002\u09a5\u09a8\u0003\u0002\u0002\u0002\u09a6", + "\u09a4\u0003\u0002\u0002\u0002\u09a6\u09a7\u0003\u0002\u0002\u0002\u09a7", + "\u0155\u0003\u0002\u0002\u0002\u09a8\u09a6\u0003\u0002\u0002\u0002\u09a9", + "\u09ab\u0005\u0158\u00ad\u0002\u09aa\u09a9\u0003\u0002\u0002\u0002\u09ab", + "\u09ac\u0003\u0002\u0002\u0002\u09ac\u09aa\u0003\u0002\u0002\u0002\u09ac", + "\u09ad\u0003\u0002\u0002\u0002\u09ad\u0157\u0003\u0002\u0002\u0002\u09ae", + "\u09af\u0007\u0105\u0002\u0002\u09af\u09ba\u0005\u0180\u00c1\u0002\u09b0", + "\u09b1\u0007$\u0002\u0002\u09b1\u09b7\t(\u0002\u0002\u09b2\u09b3\u0007", + "\u0107\u0002\u0002\u09b3\u09b4\u0007\u0129\u0002\u0002\u09b4\u09b5\u0007", + "\u012a\u0002\u0002\u09b5\u09b6\t)\u0002\u0002\u09b6\u09b8\u0007\u012d", + "\u0002\u0002\u09b7\u09b2\u0003\u0002\u0002\u0002\u09b7\u09b8\u0003\u0002", + "\u0002\u0002\u09b8\u09ba\u0003\u0002\u0002\u0002\u09b9\u09ae\u0003\u0002", + "\u0002\u0002\u09b9\u09b0\u0003\u0002\u0002\u0002\u09ba\u0159\u0003\u0002", + "\u0002\u0002\u09bb\u09bc\u0007R\u0002\u0002\u09bc\u09bd\u0005\u015e", + "\u00b0\u0002\u09bd\u09be\u0007\u0016\u0002\u0002\u09be\u09c0\u0005\u015c", + "\u00af\u0002\u09bf\u09c1\u0005\u014c\u00a7\u0002\u09c0\u09bf\u0003\u0002", + "\u0002\u0002\u09c0\u09c1\u0003\u0002\u0002\u0002\u09c1\u09c3\u0003\u0002", + "\u0002\u0002\u09c2\u09c4\u0005\u0160\u00b1\u0002\u09c3\u09c2\u0003\u0002", + "\u0002\u0002\u09c3\u09c4\u0003\u0002\u0002\u0002\u09c4\u015b\u0003\u0002", + "\u0002\u0002\u09c5\u09ca\u0005\u001c\u000f\u0002\u09c6\u09c7\u0007\u0017", + "\u0002\u0002\u09c7\u09c9\u0005\u001c\u000f\u0002\u09c8\u09c6\u0003\u0002", + "\u0002\u0002\u09c9\u09cc\u0003\u0002\u0002\u0002\u09ca\u09c8\u0003\u0002", + "\u0002\u0002\u09ca\u09cb\u0003\u0002\u0002\u0002\u09cb\u015d\u0003\u0002", + "\u0002\u0002\u09cc\u09ca\u0003\u0002\u0002\u0002\u09cd\u09cf\u0005\u014a", + "\u00a6\u0002\u09ce\u09d0\u0005\u0138\u009d\u0002\u09cf\u09ce\u0003\u0002", + "\u0002\u0002\u09cf\u09d0\u0003\u0002\u0002\u0002\u09d0\u09d6\u0003\u0002", + "\u0002\u0002\u09d1\u09d2\u0007\u001a\u0002\u0002\u09d2\u09d3\u0005\u011a", + "\u008e\u0002\u09d3\u09d4\u0007\u001b\u0002\u0002\u09d4\u09d6\u0003\u0002", + "\u0002\u0002\u09d5\u09cd\u0003\u0002\u0002\u0002\u09d5\u09d1\u0003\u0002", + "\u0002\u0002\u09d6\u09db\u0003\u0002\u0002\u0002\u09d7\u09d9\u0007)", + "\u0002\u0002\u09d8\u09d7\u0003\u0002\u0002\u0002\u09d8\u09d9\u0003\u0002", + "\u0002\u0002\u09d9\u09da\u0003\u0002\u0002\u0002\u09da\u09dc\u0005\u01b8", + "\u00dd\u0002\u09db\u09d8\u0003\u0002\u0002\u0002\u09db\u09dc\u0003\u0002", + "\u0002\u0002\u09dc\u015f\u0003\u0002\u0002\u0002\u09dd\u09de\u0007\u00ce", + "\u0002\u0002\u09de\u09df\u0005\u00b2Z\u0002\u09df\u0161\u0003\u0002", + "\u0002\u0002\u09e0\u09e1\u0007\u012e\u0002\u0002\u09e1\u09e2\u0007\u00cd", + "\u0002\u0002\u09e2\u09e3\u0005\u0164\u00b3\u0002\u09e3\u09e4\u0007\u0111", + "\u0002\u0002\u09e4\u09e5\u0005\u0164\u00b3\u0002\u09e5\u09e6\u0007Q", + "\u0002\u0002\u09e6\u09e8\u0005\u0170\u00b9\u0002\u09e7\u09e9\u0005\u0166", + "\u00b4\u0002\u09e8\u09e7\u0003\u0002\u0002\u0002\u09e9\u09ea\u0003\u0002", + "\u0002\u0002\u09ea\u09e8\u0003\u0002\u0002\u0002\u09ea\u09eb\u0003\u0002", + "\u0002\u0002\u09eb\u0163\u0003\u0002\u0002\u0002\u09ec\u09f2\u0005\u014a", + "\u00a6\u0002\u09ed\u09ee\u0007\u001a\u0002\u0002\u09ee\u09ef\u0005\u011a", + "\u008e\u0002\u09ef\u09f0\u0007\u001b\u0002\u0002\u09f0\u09f2\u0003\u0002", + "\u0002\u0002\u09f1\u09ec\u0003\u0002\u0002\u0002\u09f1\u09ed\u0003\u0002", + "\u0002\u0002\u09f2\u09f7\u0003\u0002\u0002\u0002\u09f3\u09f5\u0007)", + "\u0002\u0002\u09f4\u09f3\u0003\u0002\u0002\u0002\u09f4\u09f5\u0003\u0002", + "\u0002\u0002\u09f5\u09f6\u0003\u0002\u0002\u0002\u09f6\u09f8\u0005\u01b8", + "\u00dd\u0002\u09f7\u09f4\u0003\u0002\u0002\u0002\u09f7\u09f8\u0003\u0002", + "\u0002\u0002\u09f8\u0165\u0003\u0002\u0002\u0002\u09f9\u09fb\u0007\u0012", + "\u0002\u0002\u09fa\u09fc\u00078\u0002\u0002\u09fb\u09fa\u0003\u0002", + "\u0002\u0002\u09fb\u09fc\u0003\u0002\u0002\u0002\u09fc\u09fd\u0003\u0002", + "\u0002\u0002\u09fd\u0a00\u0007\u012f\u0002\u0002\u09fe\u09ff\u0007\u0129", + "\u0002\u0002\u09ff\u0a01\u0005\u0170\u00b9\u0002\u0a00\u09fe\u0003\u0002", + "\u0002\u0002\u0a00\u0a01\u0003\u0002\u0002\u0002\u0a01\u0a02\u0003\u0002", + "\u0002\u0002\u0a02\u0a03\u0007\u0014\u0002\u0002\u0a03\u0a07\u0005\u0168", + "\u00b5\u0002\u0a04\u0a05\u0007\u00ce\u0002\u0002\u0a05\u0a07\u0007\u00ee", + "\u0002\u0002\u0a06\u09f9\u0003\u0002\u0002\u0002\u0a06\u0a04\u0003\u0002", + "\u0002\u0002\u0a07\u0167\u0003\u0002\u0002\u0002\u0a08\u0a0a\u0007\u00d2", + "\u0002\u0002\u0a09\u0a0b\u0005\u00b4[\u0002\u0a0a\u0a09\u0003\u0002", + "\u0002\u0002\u0a0a\u0a0b\u0003\u0002\u0002\u0002\u0a0b\u0a0c\u0003\u0002", + "\u0002\u0002\u0a0c\u0a0d\u0007\u00d4\u0002\u0002\u0a0d\u0a1d\u0005\u00b8", + "]\u0002\u0a0e\u0a0f\u0007R\u0002\u0002\u0a0f\u0a10\u0007\u0016\u0002", + "\u0002\u0a10\u0a15\u0005\u001c\u000f\u0002\u0a11\u0a12\u0007\u0017\u0002", + "\u0002\u0a12\u0a14\u0005\u001c\u000f\u0002\u0a13\u0a11\u0003\u0002\u0002", + "\u0002\u0a14\u0a17\u0003\u0002\u0002\u0002\u0a15\u0a13\u0003\u0002\u0002", + "\u0002\u0a15\u0a16\u0003\u0002\u0002\u0002\u0a16\u0a19\u0003\u0002\u0002", + "\u0002\u0a17\u0a15\u0003\u0002\u0002\u0002\u0a18\u0a1a\u0005\u014c\u00a7", + "\u0002\u0a19\u0a18\u0003\u0002\u0002\u0002\u0a19\u0a1a\u0003\u0002\u0002", + "\u0002\u0a1a\u0a1d\u0003\u0002\u0002\u0002\u0a1b\u0a1d\u0007S\u0002", + "\u0002\u0a1c\u0a08\u0003\u0002\u0002\u0002\u0a1c\u0a0e\u0003\u0002\u0002", + "\u0002\u0a1c\u0a1b\u0003\u0002\u0002\u0002\u0a1d\u0169\u0003\u0002\u0002", + "\u0002\u0a1e\u0a20\u0007S\u0002\u0002\u0a1f\u0a21\u0007\u00e1\u0002", + "\u0002\u0a20\u0a1f\u0003\u0002\u0002\u0002\u0a20\u0a21\u0003\u0002\u0002", + "\u0002\u0a21\u0a22\u0003\u0002\u0002\u0002\u0a22\u0a24\u0005\u014a\u00a6", + "\u0002\u0a23\u0a25\u0005\u016c\u00b7\u0002\u0a24\u0a23\u0003\u0002\u0002", + "\u0002\u0a24\u0a25\u0003\u0002\u0002\u0002\u0a25\u0a28\u0003\u0002\u0002", + "\u0002\u0a26\u0a29\u0005\u014c\u00a7\u0002\u0a27\u0a29\u0007\u0113\u0002", + "\u0002\u0a28\u0a26\u0003\u0002\u0002\u0002\u0a28\u0a27\u0003\u0002\u0002", + "\u0002\u0a28\u0a29\u0003\u0002\u0002\u0002\u0a29\u016b\u0003\u0002\u0002", + "\u0002\u0a2a\u0a2c\u0006\u00b7\u0007\u0002\u0a2b\u0a2d\u0007)\u0002", + "\u0002\u0a2c\u0a2b\u0003\u0002\u0002\u0002\u0a2c\u0a2d\u0003\u0002\u0002", + "\u0002\u0a2d\u0a2e\u0003\u0002\u0002\u0002\u0a2e\u0a2f\u0005\u01b8\u00dd", + "\u0002\u0a2f\u016d\u0003\u0002\u0002\u0002\u0a30\u0a32\t*\u0002\u0002", + "\u0a31\u0a33\u0007<\u0002\u0002\u0a32\u0a31\u0003\u0002\u0002\u0002", + "\u0a32\u0a33\u0003\u0002\u0002\u0002\u0a33\u0a34\u0003\u0002\u0002\u0002", + "\u0a34\u0a35\u0005\u014a\u00a6\u0002\u0a35\u016f\u0003\u0002\u0002\u0002", + "\u0a36\u0a38\b\u00b9\u0001\u0002\u0a37\u0a39\u00078\u0002\u0002\u0a38", + "\u0a37\u0003\u0002\u0002\u0002\u0a38\u0a39\u0003\u0002\u0002\u0002\u0a39", + "\u0a3a\u0003\u0002\u0002\u0002\u0a3a\u0a3b\u0007\u001a\u0002\u0002\u0a3b", + "\u0a3c\u0005\u0170\u00b9\u0002\u0a3c\u0a3d\u0007\u001b\u0002\u0002\u0a3d", + "\u0a40\u0003\u0002\u0002\u0002\u0a3e\u0a40\u0005\u0172\u00ba\u0002\u0a3f", + "\u0a36\u0003\u0002\u0002\u0002\u0a3f\u0a3e\u0003\u0002\u0002\u0002\u0a40", + "\u0a47\u0003\u0002\u0002\u0002\u0a41\u0a42\f\u0004\u0002\u0002\u0a42", + "\u0a43\u0005\u017c\u00bf\u0002\u0a43\u0a44\u0005\u0170\u00b9\u0005\u0a44", + "\u0a46\u0003\u0002\u0002\u0002\u0a45\u0a41\u0003\u0002\u0002\u0002\u0a46", + "\u0a49\u0003\u0002\u0002\u0002\u0a47\u0a45\u0003\u0002\u0002\u0002\u0a47", + "\u0a48\u0003\u0002\u0002\u0002\u0a48\u0171\u0003\u0002\u0002\u0002\u0a49", + "\u0a47\u0003\u0002\u0002\u0002\u0a4a\u0a4e\u0005\u0174\u00bb\u0002\u0a4b", + "\u0a4e\u0005\u017a\u00be\u0002\u0a4c\u0a4e\u0005\u0180\u00c1\u0002\u0a4d", + "\u0a4a\u0003\u0002\u0002\u0002\u0a4d\u0a4b\u0003\u0002\u0002\u0002\u0a4d", + "\u0a4c\u0003\u0002\u0002\u0002\u0a4e\u0173\u0003\u0002\u0002\u0002\u0a4f", + "\u0a50\u0005\u0180\u00c1\u0002\u0a50\u0a52\u0007,\u0002\u0002\u0a51", + "\u0a53\u00078\u0002\u0002\u0a52\u0a51\u0003\u0002\u0002\u0002\u0a52", + "\u0a53\u0003\u0002\u0002\u0002\u0a53\u0a54\u0003\u0002\u0002\u0002\u0a54", + "\u0a55\u0007\u0015\u0002\u0002\u0a55\u0a67\u0003\u0002\u0002\u0002\u0a56", + "\u0a57\u0005\u0180\u00c1\u0002\u0a57\u0a58\u0007\u0131\u0002\u0002\u0a58", + "\u0a59\u0005\u0180\u00c1\u0002\u0a59\u0a5a\u0007\u0129\u0002\u0002\u0a5a", + "\u0a5b\u0005\u0180\u00c1\u0002\u0a5b\u0a67\u0003\u0002\u0002\u0002\u0a5c", + "\u0a5e\u00078\u0002\u0002\u0a5d\u0a5c\u0003\u0002\u0002\u0002\u0a5d", + "\u0a5e\u0003\u0002\u0002\u0002\u0a5e\u0a5f\u0003\u0002\u0002\u0002\u0a5f", + "\u0a60\u0007?\u0002\u0002\u0a60\u0a61\u0007\u001a\u0002\u0002\u0a61", + "\u0a62\u0005\u011a\u008e\u0002\u0a62\u0a63\u0007\u001b\u0002\u0002\u0a63", + "\u0a67\u0003\u0002\u0002\u0002\u0a64\u0a67\u0005\u0176\u00bc\u0002\u0a65", + "\u0a67\u0005\u0178\u00bd\u0002\u0a66\u0a4f\u0003\u0002\u0002\u0002\u0a66", + "\u0a56\u0003\u0002\u0002\u0002\u0a66\u0a5d\u0003\u0002\u0002\u0002\u0a66", + "\u0a64\u0003\u0002\u0002\u0002\u0a66\u0a65\u0003\u0002\u0002\u0002\u0a67", + "\u0175\u0003\u0002\u0002\u0002\u0a68\u0a6a\u0005\u0180\u00c1\u0002\u0a69", + "\u0a6b\u00078\u0002\u0002\u0a6a\u0a69\u0003\u0002\u0002\u0002\u0a6a", + "\u0a6b\u0003\u0002\u0002\u0002\u0a6b\u0a6c\u0003\u0002\u0002\u0002\u0a6c", + "\u0a6d\u0007l\u0002\u0002\u0a6d\u0a77\u0007\u001a\u0002\u0002\u0a6e", + "\u0a73\u0005\u0180\u00c1\u0002\u0a6f\u0a70\u0007\u0017\u0002\u0002\u0a70", + "\u0a72\u0005\u0180\u00c1\u0002\u0a71\u0a6f\u0003\u0002\u0002\u0002\u0a72", + "\u0a75\u0003\u0002\u0002\u0002\u0a73\u0a71\u0003\u0002\u0002\u0002\u0a73", + "\u0a74\u0003\u0002\u0002\u0002\u0a74\u0a78\u0003\u0002\u0002\u0002\u0a75", + "\u0a73\u0003\u0002\u0002\u0002\u0a76\u0a78\u0005\u011a\u008e\u0002\u0a77", + "\u0a6e\u0003\u0002\u0002\u0002\u0a77\u0a76\u0003\u0002\u0002\u0002\u0a78", + "\u0a79\u0003\u0002\u0002\u0002\u0a79\u0a7a\u0007\u001b\u0002\u0002\u0a7a", + "\u0177\u0003\u0002\u0002\u0002\u0a7b\u0a7c\u0007\u001a\u0002\u0002\u0a7c", + "\u0a81\u0005\u0180\u00c1\u0002\u0a7d\u0a7e\u0007\u0017\u0002\u0002\u0a7e", + "\u0a80\u0005\u0180\u00c1\u0002\u0a7f\u0a7d\u0003\u0002\u0002\u0002\u0a80", + "\u0a83\u0003\u0002\u0002\u0002\u0a81\u0a7f\u0003\u0002\u0002\u0002\u0a81", + "\u0a82\u0003\u0002\u0002\u0002\u0a82\u0a84\u0003\u0002\u0002\u0002\u0a83", + "\u0a81\u0003\u0002\u0002\u0002\u0a84\u0a86\u0007\u001b\u0002\u0002\u0a85", + "\u0a87\u00078\u0002\u0002\u0a86\u0a85\u0003\u0002\u0002\u0002\u0a86", + "\u0a87\u0003\u0002\u0002\u0002\u0a87\u0a88\u0003\u0002\u0002\u0002\u0a88", + "\u0a89\u0007l\u0002\u0002\u0a89\u0a8a\u0007\u001a\u0002\u0002\u0a8a", + "\u0a8b\u0005\u011a\u008e\u0002\u0a8b\u0a8c\u0007\u001b\u0002\u0002\u0a8c", + "\u0179\u0003\u0002\u0002\u0002\u0a8d\u0a8e\u0005\u0180\u00c1\u0002\u0a8e", + "\u0a8f\u0005\u017e\u00c0\u0002\u0a8f\u0a90\u0005\u0180\u00c1\u0002\u0a90", + "\u017b\u0003\u0002\u0002\u0002\u0a91\u0a92\t+\u0002\u0002\u0a92\u017d", + "\u0003\u0002\u0002\u0002\u0a93\u0aa0\u0007\u0019\u0002\u0002\u0a94\u0aa0", + "\u0007\u0132\u0002\u0002\u0a95\u0aa0\u0007\u0133\u0002\u0002\u0a96\u0aa0", + "\u0007\u0134\u0002\u0002\u0a97\u0aa0\u0007\u010f\u0002\u0002\u0a98\u0aa0", + "\u0007\u0135\u0002\u0002\u0a99\u0aa0\u0007\u0110\u0002\u0002\u0a9a\u0aa0", + "\u0007\u0136\u0002\u0002\u0a9b\u0a9d\u00078\u0002\u0002\u0a9c\u0a9b", + "\u0003\u0002\u0002\u0002\u0a9c\u0a9d\u0003\u0002\u0002\u0002\u0a9d\u0a9e", + "\u0003\u0002\u0002\u0002\u0a9e\u0aa0\t,\u0002\u0002\u0a9f\u0a93\u0003", + "\u0002\u0002\u0002\u0a9f\u0a94\u0003\u0002\u0002\u0002\u0a9f\u0a95\u0003", + "\u0002\u0002\u0002\u0a9f\u0a96\u0003\u0002\u0002\u0002\u0a9f\u0a97\u0003", + "\u0002\u0002\u0002\u0a9f\u0a98\u0003\u0002\u0002\u0002\u0a9f\u0a99\u0003", + "\u0002\u0002\u0002\u0a9f\u0a9a\u0003\u0002\u0002\u0002\u0a9f\u0a9c\u0003", + "\u0002\u0002\u0002\u0aa0\u017f\u0003\u0002\u0002\u0002\u0aa1\u0aa2\b", + "\u00c1\u0001\u0002\u0aa2\u0aa3\u0007\u001a\u0002\u0002\u0aa3\u0aa4\u0005", + "\u011a\u008e\u0002\u0aa4\u0aa5\u0007\u001b\u0002\u0002\u0aa5\u0ab3\u0003", + "\u0002\u0002\u0002\u0aa6\u0aa7\u0007\u001a\u0002\u0002\u0aa7\u0aa8\u0005", + "\u0180\u00c1\u0002\u0aa8\u0aa9\u0007\u001b\u0002\u0002\u0aa9\u0ab3\u0003", + "\u0002\u0002\u0002\u0aaa\u0ab3\u0005\u0184\u00c3\u0002\u0aab\u0ab3\u0005", + "\u0188\u00c5\u0002\u0aac\u0ab3\u0005\u018c\u00c7\u0002\u0aad\u0ab3\u0005", + "\u0192\u00ca\u0002\u0aae\u0ab3\u0005\u0194\u00cb\u0002\u0aaf\u0ab3\u0005", + "\u019c\u00cf\u0002\u0ab0\u0ab3\u0005\u019e\u00d0\u0002\u0ab1\u0ab3\u0005", + "\u0182\u00c2\u0002\u0ab2\u0aa1\u0003\u0002\u0002\u0002\u0ab2\u0aa6\u0003", + "\u0002\u0002\u0002\u0ab2\u0aaa\u0003\u0002\u0002\u0002\u0ab2\u0aab\u0003", + "\u0002\u0002\u0002\u0ab2\u0aac\u0003\u0002\u0002\u0002\u0ab2\u0aad\u0003", + "\u0002\u0002\u0002\u0ab2\u0aae\u0003\u0002\u0002\u0002\u0ab2\u0aaf\u0003", + "\u0002\u0002\u0002\u0ab2\u0ab0\u0003\u0002\u0002\u0002\u0ab2\u0ab1\u0003", + "\u0002\u0002\u0002\u0ab3\u0ac4\u0003\u0002\u0002\u0002\u0ab4\u0ab5\f", + "\u0010\u0002\u0002\u0ab5\u0ab6\u0007\u0139\u0002\u0002\u0ab6\u0ac3\u0005", + "\u0180\u00c1\u0011\u0ab7\u0ab8\f\u000f\u0002\u0002\u0ab8\u0ab9\u0007", + "\u013a\u0002\u0002\u0ab9\u0ac3\u0005\u0180\u00c1\u0010\u0aba\u0abb\f", + "\u000e\u0002\u0002\u0abb\u0abc\u0007\u013b\u0002\u0002\u0abc\u0ac3\u0005", + "\u0180\u00c1\u000f\u0abd\u0abe\f\r\u0002\u0002\u0abe\u0abf\u0007\u013c", + "\u0002\u0002\u0abf\u0ac3\u0005\u0180\u00c1\u000e\u0ac0\u0ac1\f\u0011", + "\u0002\u0002\u0ac1\u0ac3\u0005\u0186\u00c4\u0002\u0ac2\u0ab4\u0003\u0002", + "\u0002\u0002\u0ac2\u0ab7\u0003\u0002\u0002\u0002\u0ac2\u0aba\u0003\u0002", + "\u0002\u0002\u0ac2\u0abd\u0003\u0002\u0002\u0002\u0ac2\u0ac0\u0003\u0002", + "\u0002\u0002\u0ac3\u0ac6\u0003\u0002\u0002\u0002\u0ac4\u0ac2\u0003\u0002", + "\u0002\u0002\u0ac4\u0ac5\u0003\u0002\u0002\u0002\u0ac5\u0181\u0003\u0002", + "\u0002\u0002\u0ac6\u0ac4\u0003\u0002\u0002\u0002\u0ac7\u0ad0\u0005\u01b4", + "\u00db\u0002\u0ac8\u0ad0\u0005\u01b6\u00dc\u0002\u0ac9\u0ad0\u0005\u01c0", + "\u00e1\u0002\u0aca\u0ad0\u0005\u01b8\u00dd\u0002\u0acb\u0ad0\u0005\u01ba", + "\u00de\u0002\u0acc\u0ad0\u0005\u01be\u00e0\u0002\u0acd\u0ad0\u0005\u01bc", + "\u00df\u0002\u0ace\u0ad0\u0005\u01c2\u00e2\u0002\u0acf\u0ac7\u0003\u0002", + "\u0002\u0002\u0acf\u0ac8\u0003\u0002\u0002\u0002\u0acf\u0ac9\u0003\u0002", + "\u0002\u0002\u0acf\u0aca\u0003\u0002\u0002\u0002\u0acf\u0acb\u0003\u0002", + "\u0002\u0002\u0acf\u0acc\u0003\u0002\u0002\u0002\u0acf\u0acd\u0003\u0002", + "\u0002\u0002\u0acf\u0ace\u0003\u0002\u0002\u0002\u0ad0\u0183\u0003\u0002", + "\u0002\u0002\u0ad1\u0ad2\u0007\u013d\u0002\u0002\u0ad2\u0ad3\u0005\u0180", + "\u00c1\u0002\u0ad3\u0ad4\u0005\u0186\u00c4\u0002\u0ad4\u0185\u0003\u0002", + "\u0002\u0002\u0ad5\u0ad6\t-\u0002\u0002\u0ad6\u0187\u0003\u0002\u0002", + "\u0002\u0ad7\u0ad8\u0005\u018a\u00c6\u0002\u0ad8\u0ad9\t.\u0002\u0002", + "\u0ad9\u0ade\u0005\u018a\u00c6\u0002\u0ada\u0adb\t.\u0002\u0002\u0adb", + "\u0add\u0005\u018a\u00c6\u0002\u0adc\u0ada\u0003\u0002\u0002\u0002\u0add", + "\u0ae0\u0003\u0002\u0002\u0002\u0ade\u0adc\u0003\u0002\u0002\u0002\u0ade", + "\u0adf\u0003\u0002\u0002\u0002\u0adf\u0189\u0003\u0002\u0002\u0002\u0ae0", + "\u0ade\u0003\u0002\u0002\u0002\u0ae1\u0ae2\u0007\u001a\u0002\u0002\u0ae2", + "\u0ae3\u0005\u0180\u00c1\u0002\u0ae3\u0ae4\u0007\u001b\u0002\u0002\u0ae4", + "\u0aeb\u0003\u0002\u0002\u0002\u0ae5\u0aeb\u0005\u018c\u00c7\u0002\u0ae6", + "\u0aeb\u0005\u0194\u00cb\u0002\u0ae7\u0aeb\u0005\u019c\u00cf\u0002\u0ae8", + "\u0aeb\u0005\u019e\u00d0\u0002\u0ae9\u0aeb\u0005\u0182\u00c2\u0002\u0aea", + "\u0ae1\u0003\u0002\u0002\u0002\u0aea\u0ae5\u0003\u0002\u0002\u0002\u0aea", + "\u0ae6\u0003\u0002\u0002\u0002\u0aea\u0ae7\u0003\u0002\u0002\u0002\u0aea", + "\u0ae8\u0003\u0002\u0002\u0002\u0aea\u0ae9\u0003\u0002\u0002\u0002\u0aeb", + "\u018b\u0003\u0002\u0002\u0002\u0aec\u0aef\u0005\u018e\u00c8\u0002\u0aed", + "\u0aef\u0005\u0190\u00c9\u0002\u0aee\u0aec\u0003\u0002\u0002\u0002\u0aee", + "\u0aed\u0003\u0002\u0002\u0002\u0aef\u018d\u0003\u0002\u0002\u0002\u0af0", + "\u0af1\u0007\u0146\u0002\u0002\u0af1\u0af7\u0005\u0180\u00c1\u0002\u0af2", + "\u0af3\u0007\u0012\u0002\u0002\u0af3\u0af4\u0005\u0180\u00c1\u0002\u0af4", + "\u0af5\u0007\u0014\u0002\u0002\u0af5\u0af6\u0005\u0180\u00c1\u0002\u0af6", + "\u0af8\u0003\u0002\u0002\u0002\u0af7\u0af2\u0003\u0002\u0002\u0002\u0af8", + "\u0af9\u0003\u0002\u0002\u0002\u0af9\u0af7\u0003\u0002\u0002\u0002\u0af9", + "\u0afa\u0003\u0002\u0002\u0002\u0afa\u0afd\u0003\u0002\u0002\u0002\u0afb", + "\u0afc\u0007\u00ce\u0002\u0002\u0afc\u0afe\u0005\u0180\u00c1\u0002\u0afd", + "\u0afb\u0003\u0002\u0002\u0002\u0afd\u0afe\u0003\u0002\u0002\u0002\u0afe", + "\u0aff\u0003\u0002\u0002\u0002\u0aff\u0b00\u0007\u0010\u0002\u0002\u0b00", + "\u018f\u0003\u0002\u0002\u0002\u0b01\u0b07\u0007\u0146\u0002\u0002\u0b02", + "\u0b03\u0007\u0012\u0002\u0002\u0b03\u0b04\u0005\u0170\u00b9\u0002\u0b04", + "\u0b05\u0007\u0014\u0002\u0002\u0b05\u0b06\u0005\u0180\u00c1\u0002\u0b06", + "\u0b08\u0003\u0002\u0002\u0002\u0b07\u0b02\u0003\u0002\u0002\u0002\u0b08", + "\u0b09\u0003\u0002\u0002\u0002\u0b09\u0b07\u0003\u0002\u0002\u0002\u0b09", + "\u0b0a\u0003\u0002\u0002\u0002\u0b0a\u0b0d\u0003\u0002\u0002\u0002\u0b0b", + "\u0b0c\u0007\u00ce\u0002\u0002\u0b0c\u0b0e\u0005\u0180\u00c1\u0002\u0b0d", + "\u0b0b\u0003\u0002\u0002\u0002\u0b0d\u0b0e\u0003\u0002\u0002\u0002\u0b0e", + "\u0b0f\u0003\u0002\u0002\u0002\u0b0f\u0b10\u0007\u0010\u0002\u0002\u0b10", + "\u0191\u0003\u0002\u0002\u0002\u0b11\u0b12\u0005\u01b8\u00dd\u0002\u0b12", + "\u0b13\u0007\u0006\u0002\u0002\u0b13\u0b14\t/\u0002\u0002\u0b14\u0193", + "\u0003\u0002\u0002\u0002\u0b15\u0b16\u0007\u0149\u0002\u0002\u0b16\u0b18", + "\u0007\u001a\u0002\u0002\u0b17\u0b19\u0005\u0196\u00cc\u0002\u0b18\u0b17", + "\u0003\u0002\u0002\u0002\u0b18\u0b19\u0003\u0002\u0002\u0002\u0b19\u0b1a", + "\u0003\u0002\u0002\u0002\u0b1a\u0b1b\u0005\u0180\u00c1\u0002\u0b1b\u0b1d", + "\u0007\u001b\u0002\u0002\u0b1c\u0b1e\u0005\u0198\u00cd\u0002\u0b1d\u0b1c", + "\u0003\u0002\u0002\u0002\u0b1d\u0b1e\u0003\u0002\u0002\u0002\u0b1e\u0bae", + "\u0003\u0002\u0002\u0002\u0b1f\u0b20\u0007\u014a\u0002\u0002\u0b20\u0b26", + "\u0007\u001a\u0002\u0002\u0b21\u0b23\u0005\u0196\u00cc\u0002\u0b22\u0b21", + "\u0003\u0002\u0002\u0002\u0b22\u0b23\u0003\u0002\u0002\u0002\u0b23\u0b24", + "\u0003\u0002\u0002\u0002\u0b24\u0b27\u0005\u0180\u00c1\u0002\u0b25\u0b27", + "\u0007\b\u0002\u0002\u0b26\u0b22\u0003\u0002\u0002\u0002\u0b26\u0b25", + "\u0003\u0002\u0002\u0002\u0b27\u0b28\u0003\u0002\u0002\u0002\u0b28\u0b2a", + "\u0007\u001b\u0002\u0002\u0b29\u0b2b\u0005\u0198\u00cd\u0002\u0b2a\u0b29", + "\u0003\u0002\u0002\u0002\u0b2a\u0b2b\u0003\u0002\u0002\u0002\u0b2b\u0bae", + "\u0003\u0002\u0002\u0002\u0b2c\u0b2d\u0007\u014b\u0002\u0002\u0b2d\u0b33", + "\u0007\u001a\u0002\u0002\u0b2e\u0b30\u0005\u0196\u00cc\u0002\u0b2f\u0b2e", + "\u0003\u0002\u0002\u0002\u0b2f\u0b30\u0003\u0002\u0002\u0002\u0b30\u0b31", + "\u0003\u0002\u0002\u0002\u0b31\u0b34\u0005\u0180\u00c1\u0002\u0b32\u0b34", + "\u0007\b\u0002\u0002\u0b33\u0b2f\u0003\u0002\u0002\u0002\u0b33\u0b32", + "\u0003\u0002\u0002\u0002\u0b34\u0b35\u0003\u0002\u0002\u0002\u0b35\u0b37", + "\u0007\u001b\u0002\u0002\u0b36\u0b38\u0005\u0198\u00cd\u0002\u0b37\u0b36", + "\u0003\u0002\u0002\u0002\u0b37\u0b38\u0003\u0002\u0002\u0002\u0b38\u0bae", + "\u0003\u0002\u0002\u0002\u0b39\u0b3a\u0007\u014c\u0002\u0002\u0b3a\u0b3b", + "\u0007\u001a\u0002\u0002\u0b3b\u0b3c\u0007\u001b\u0002\u0002\u0b3c\u0bae", + "\u0005\u0198\u00cd\u0002\u0b3d\u0b3e\u0007\u014d\u0002\u0002\u0b3e\u0b3f", + "\u0007\u001a\u0002\u0002\u0b3f\u0b40\u0007\u001b\u0002\u0002\u0b40\u0bae", + "\u0005\u0198\u00cd\u0002\u0b41\u0b42\u0007\u014e\u0002\u0002\u0b42\u0b43", + "\u0007\u001a\u0002\u0002\u0b43\u0b44\u0005\u0180\u00c1\u0002\u0b44\u0b45", + "\u0007\u001b\u0002\u0002\u0b45\u0b46\u0005\u0198\u00cd\u0002\u0b46\u0bae", + "\u0003\u0002\u0002\u0002\u0b47\u0b48\u0007\u014f\u0002\u0002\u0b48\u0b49", + "\u0007\u001a\u0002\u0002\u0b49\u0b50\u0005\u0180\u00c1\u0002\u0b4a\u0b4b", + "\u0007\u0017\u0002\u0002\u0b4b\u0b4e\u0005\u0180\u00c1\u0002\u0b4c\u0b4d", + "\u0007\u0017\u0002\u0002\u0b4d\u0b4f\u0005\u0180\u00c1\u0002\u0b4e\u0b4c", + "\u0003\u0002\u0002\u0002\u0b4e\u0b4f\u0003\u0002\u0002\u0002\u0b4f\u0b51", + "\u0003\u0002\u0002\u0002\u0b50\u0b4a\u0003\u0002\u0002\u0002\u0b50\u0b51", + "\u0003\u0002\u0002\u0002\u0b51\u0b52\u0003\u0002\u0002\u0002\u0b52\u0b53", + "\u0007\u001b\u0002\u0002\u0b53\u0b54\u0005\u0198\u00cd\u0002\u0b54\u0bae", + "\u0003\u0002\u0002\u0002\u0b55\u0b56\u0007\u0150\u0002\u0002\u0b56\u0b57", + "\u0007\u001a\u0002\u0002\u0b57\u0b58\u0005\u0180\u00c1\u0002\u0b58\u0b59", + "\u0007\u001b\u0002\u0002\u0b59\u0b5a\u0005\u0198\u00cd\u0002\u0b5a\u0bae", + "\u0003\u0002\u0002\u0002\u0b5b\u0b5c\u0007\u0151\u0002\u0002\u0b5c\u0b5d", + "\u0007\u001a\u0002\u0002\u0b5d\u0b64\u0005\u0180\u00c1\u0002\u0b5e\u0b5f", + "\u0007\u0017\u0002\u0002\u0b5f\u0b62\u0005\u0180\u00c1\u0002\u0b60\u0b61", + "\u0007\u0017\u0002\u0002\u0b61\u0b63\u0005\u0180\u00c1\u0002\u0b62\u0b60", + "\u0003\u0002\u0002\u0002\u0b62\u0b63\u0003\u0002\u0002\u0002\u0b63\u0b65", + "\u0003\u0002\u0002\u0002\u0b64\u0b5e\u0003\u0002\u0002\u0002\u0b64\u0b65", + "\u0003\u0002\u0002\u0002\u0b65\u0b66\u0003\u0002\u0002\u0002\u0b66\u0b67", + "\u0007\u001b\u0002\u0002\u0b67\u0b68\u0005\u0198\u00cd\u0002\u0b68\u0bae", + "\u0003\u0002\u0002\u0002\u0b69\u0b6a\u0007\u00b3\u0002\u0002\u0b6a\u0b6c", + "\u0007\u001a\u0002\u0002\u0b6b\u0b6d\u0005\u0196\u00cc\u0002\u0b6c\u0b6b", + "\u0003\u0002\u0002\u0002\u0b6c\u0b6d\u0003\u0002\u0002\u0002\u0b6d\u0b6e", + "\u0003\u0002\u0002\u0002\u0b6e\u0b6f\u0005\u0180\u00c1\u0002\u0b6f\u0b71", + "\u0007\u001b\u0002\u0002\u0b70\u0b72\u0005\u0198\u00cd\u0002\u0b71\u0b70", + "\u0003\u0002\u0002\u0002\u0b71\u0b72\u0003\u0002\u0002\u0002\u0b72\u0bae", + "\u0003\u0002\u0002\u0002\u0b73\u0b74\u0007\u0152\u0002\u0002\u0b74\u0b76", + "\u0007\u001a\u0002\u0002\u0b75\u0b77\u0005\u0196\u00cc\u0002\u0b76\u0b75", + "\u0003\u0002\u0002\u0002\u0b76\u0b77\u0003\u0002\u0002\u0002\u0b77\u0b78", + "\u0003\u0002\u0002\u0002\u0b78\u0b79\u0005\u0180\u00c1\u0002\u0b79\u0b7b", + "\u0007\u001b\u0002\u0002\u0b7a\u0b7c\u0005\u0198\u00cd\u0002\u0b7b\u0b7a", + "\u0003\u0002\u0002\u0002\u0b7b\u0b7c\u0003\u0002\u0002\u0002\u0b7c\u0bae", + "\u0003\u0002\u0002\u0002\u0b7d\u0b7e\u0007\u0153\u0002\u0002\u0b7e\u0b7f", + "\u0007\u001a\u0002\u0002\u0b7f\u0b80\u0007\u001b\u0002\u0002\u0b80\u0bae", + "\u0005\u0198\u00cd\u0002\u0b81\u0b82\u0007\u0154\u0002\u0002\u0b82\u0b83", + "\u0007\u001a\u0002\u0002\u0b83\u0b84\u0007\u001b\u0002\u0002\u0b84\u0bae", + "\u0005\u0198\u00cd\u0002\u0b85\u0b86\u0007\u0155\u0002\u0002\u0b86\u0b88", + "\u0007\u001a\u0002\u0002\u0b87\u0b89\u0005\u0196\u00cc\u0002\u0b88\u0b87", + "\u0003\u0002\u0002\u0002\u0b88\u0b89\u0003\u0002\u0002\u0002\u0b89\u0b8a", + "\u0003\u0002\u0002\u0002\u0b8a\u0b8b\u0005\u0180\u00c1\u0002\u0b8b\u0b8d", + "\u0007\u001b\u0002\u0002\u0b8c\u0b8e\u0005\u0198\u00cd\u0002\u0b8d\u0b8c", + "\u0003\u0002\u0002\u0002\u0b8d\u0b8e\u0003\u0002\u0002\u0002\u0b8e\u0bae", + "\u0003\u0002\u0002\u0002\u0b8f\u0b90\u0007\u00e8\u0002\u0002\u0b90\u0b92", + "\u0007\u001a\u0002\u0002\u0b91\u0b93\u0005\u0196\u00cc\u0002\u0b92\u0b91", + "\u0003\u0002\u0002\u0002\u0b92\u0b93\u0003\u0002\u0002\u0002\u0b93\u0b94", + "\u0003\u0002\u0002\u0002\u0b94\u0b95\u0005\u0180\u00c1\u0002\u0b95\u0b97", + "\u0007\u001b\u0002\u0002\u0b96\u0b98\u0005\u0198\u00cd\u0002\u0b97\u0b96", + "\u0003\u0002\u0002\u0002\u0b97\u0b98\u0003\u0002\u0002\u0002\u0b98\u0bae", + "\u0003\u0002\u0002\u0002\u0b99\u0b9a\u0007\u0156\u0002\u0002\u0b9a\u0b9c", + "\u0007\u001a\u0002\u0002\u0b9b\u0b9d\u0005\u0196\u00cc\u0002\u0b9c\u0b9b", + "\u0003\u0002\u0002\u0002\u0b9c\u0b9d\u0003\u0002\u0002\u0002\u0b9d\u0b9e", + "\u0003\u0002\u0002\u0002\u0b9e\u0b9f\u0005\u0180\u00c1\u0002\u0b9f\u0ba1", + "\u0007\u001b\u0002\u0002\u0ba0\u0ba2\u0005\u0198\u00cd\u0002\u0ba1\u0ba0", + "\u0003\u0002\u0002\u0002\u0ba1\u0ba2\u0003\u0002\u0002\u0002\u0ba2\u0bae", + "\u0003\u0002\u0002\u0002\u0ba3\u0ba4\u0007\u0157\u0002\u0002\u0ba4\u0ba6", + "\u0007\u001a\u0002\u0002\u0ba5\u0ba7\u0005\u0196\u00cc\u0002\u0ba6\u0ba5", + "\u0003\u0002\u0002\u0002\u0ba6\u0ba7\u0003\u0002\u0002\u0002\u0ba7\u0ba8", + "\u0003\u0002\u0002\u0002\u0ba8\u0ba9\u0005\u0180\u00c1\u0002\u0ba9\u0bab", + "\u0007\u001b\u0002\u0002\u0baa\u0bac\u0005\u0198\u00cd\u0002\u0bab\u0baa", + "\u0003\u0002\u0002\u0002\u0bab\u0bac\u0003\u0002\u0002\u0002\u0bac\u0bae", + "\u0003\u0002\u0002\u0002\u0bad\u0b15\u0003\u0002\u0002\u0002\u0bad\u0b1f", + "\u0003\u0002\u0002\u0002\u0bad\u0b2c\u0003\u0002\u0002\u0002\u0bad\u0b39", + "\u0003\u0002\u0002\u0002\u0bad\u0b3d\u0003\u0002\u0002\u0002\u0bad\u0b41", + "\u0003\u0002\u0002\u0002\u0bad\u0b47\u0003\u0002\u0002\u0002\u0bad\u0b55", + "\u0003\u0002\u0002\u0002\u0bad\u0b5b\u0003\u0002\u0002\u0002\u0bad\u0b69", + "\u0003\u0002\u0002\u0002\u0bad\u0b73\u0003\u0002\u0002\u0002\u0bad\u0b7d", + "\u0003\u0002\u0002\u0002\u0bad\u0b81\u0003\u0002\u0002\u0002\u0bad\u0b85", + "\u0003\u0002\u0002\u0002\u0bad\u0b8f\u0003\u0002\u0002\u0002\u0bad\u0b99", + "\u0003\u0002\u0002\u0002\u0bad\u0ba3\u0003\u0002\u0002\u0002\u0bae\u0195", + "\u0003\u0002\u0002\u0002\u0baf\u0bb0\t&\u0002\u0002\u0bb0\u0197\u0003", + "\u0002\u0002\u0002\u0bb1\u0bb2\u0007\u0158\u0002\u0002\u0bb2\u0bb4\u0007", + "\u001a\u0002\u0002\u0bb3\u0bb5\u0005\u019a\u00ce\u0002\u0bb4\u0bb3\u0003", + "\u0002\u0002\u0002\u0bb4\u0bb5\u0003\u0002\u0002\u0002\u0bb5\u0bb7\u0003", + "\u0002\u0002\u0002\u0bb6\u0bb8\u0005\u0154\u00ab\u0002\u0bb7\u0bb6\u0003", + "\u0002\u0002\u0002\u0bb7\u0bb8\u0003\u0002\u0002\u0002\u0bb8\u0bb9\u0003", + "\u0002\u0002\u0002\u0bb9\u0bba\u0007\u001b\u0002\u0002\u0bba\u0199\u0003", + "\u0002\u0002\u0002\u0bbb\u0bbc\u0007\u0159\u0002\u0002\u0bbc\u0bbd\u0007", + "o\u0002\u0002\u0bbd\u0bc2\u0005\u0180\u00c1\u0002\u0bbe\u0bbf\u0007", + "\u0017\u0002\u0002\u0bbf\u0bc1\u0005\u0180\u00c1\u0002\u0bc0\u0bbe\u0003", + "\u0002\u0002\u0002\u0bc1\u0bc4\u0003\u0002\u0002\u0002\u0bc2\u0bc0\u0003", + "\u0002\u0002\u0002\u0bc2\u0bc3\u0003\u0002\u0002\u0002\u0bc3\u019b\u0003", + "\u0002\u0002\u0002\u0bc4\u0bc2\u0003\u0002\u0002\u0002\u0bc5\u0c8e\u0007", + "\u015a\u0002\u0002\u0bc6\u0bc7\u0007\u015b\u0002\u0002\u0bc7\u0bc8\u0007", + "\u001a\u0002\u0002\u0bc8\u0bc9\u0005\u0180\u00c1\u0002\u0bc9\u0bca\u0007", + ")\u0002\u0002\u0bca\u0bcc\u0005x=\u0002\u0bcb\u0bcd\u0005z>\u0002\u0bcc", + "\u0bcb\u0003\u0002\u0002\u0002\u0bcc\u0bcd\u0003\u0002\u0002\u0002\u0bcd", + "\u0bce\u0003\u0002\u0002\u0002\u0bce\u0bcf\u0007\u001b\u0002\u0002\u0bcf", + "\u0c8e\u0003\u0002\u0002\u0002\u0bd0\u0bd1\u0007\u014a\u0002\u0002\u0bd1", + "\u0bd4\u0007\u001a\u0002\u0002\u0bd2\u0bd5\u0005\u0180\u00c1\u0002\u0bd3", + "\u0bd5\u0007\b\u0002\u0002\u0bd4\u0bd2\u0003\u0002\u0002\u0002\u0bd4", + "\u0bd3\u0003\u0002\u0002\u0002\u0bd5\u0bd6\u0003\u0002\u0002\u0002\u0bd6", + "\u0c8e\u0007\u001b\u0002\u0002\u0bd7\u0c8e\u0007\u015c\u0002\u0002\u0bd8", + "\u0bd9\u0007\u00f7\u0002\u0002\u0bd9\u0c8e\u0007\u0091\u0002\u0002\u0bda", + "\u0bde\u0007\u015d\u0002\u0002\u0bdb\u0bdc\u0007\u00f7\u0002\u0002\u0bdc", + "\u0bde\u0007\u00ac\u0002\u0002\u0bdd\u0bda\u0003\u0002\u0002\u0002\u0bdd", + "\u0bdb\u0003\u0002\u0002\u0002\u0bde\u0be3\u0003\u0002\u0002\u0002\u0bdf", + "\u0be0\u0007\u001a\u0002\u0002\u0be0\u0be1\u0005\u0180\u00c1\u0002\u0be1", + "\u0be2\u0007\u001b\u0002\u0002\u0be2\u0be4\u0003\u0002\u0002\u0002\u0be3", + "\u0bdf\u0003\u0002\u0002\u0002\u0be3\u0be4\u0003\u0002\u0002\u0002\u0be4", + "\u0c8e\u0003\u0002\u0002\u0002\u0be5\u0c8e\u0007\u015e\u0002\u0002\u0be6", + "\u0be7\u0007\u00f7\u0002\u0002\u0be7\u0c8e\u0007\u015f\u0002\u0002\u0be8", + "\u0be9\u0007\u0160\u0002\u0002\u0be9\u0bea\u0007\u001a\u0002\u0002\u0bea", + "\u0bf7\u0005\u0180\u00c1\u0002\u0beb\u0bec\u0007\u0017\u0002\u0002\u0bec", + "\u0bf4\u0005\u0180\u00c1\u0002\u0bed\u0bee\u0007\u0017\u0002\u0002\u0bee", + "\u0bef\u0005\u0180\u00c1\u0002\u0bef\u0bf0\u0007\u0019\u0002\u0002\u0bf0", + "\u0bf1\u0005\u0180\u00c1\u0002\u0bf1\u0bf3\u0003\u0002\u0002\u0002\u0bf2", + "\u0bed\u0003\u0002\u0002\u0002\u0bf3\u0bf6\u0003\u0002\u0002\u0002\u0bf4", + "\u0bf2\u0003\u0002\u0002\u0002\u0bf4\u0bf5\u0003\u0002\u0002\u0002\u0bf5", + "\u0bf8\u0003\u0002\u0002\u0002\u0bf6\u0bf4\u0003\u0002\u0002\u0002\u0bf7", + "\u0beb\u0003\u0002\u0002\u0002\u0bf7\u0bf8\u0003\u0002\u0002\u0002\u0bf8", + "\u0bf9\u0003\u0002\u0002\u0002\u0bf9\u0bfa\u0007\u001b\u0002\u0002\u0bfa", + "\u0c8e\u0003\u0002\u0002\u0002\u0bfb\u0bfc\u0007\u0161\u0002\u0002\u0bfc", + "\u0bfd\u0007\u001a\u0002\u0002\u0bfd\u0c0a\u0005\u0180\u00c1\u0002\u0bfe", + "\u0bff\u0007\u0017\u0002\u0002\u0bff\u0c07\u0005\u0180\u00c1\u0002\u0c00", + "\u0c01\u0007\u0017\u0002\u0002\u0c01\u0c02\u0005\u0180\u00c1\u0002\u0c02", + "\u0c03\u0007\u0019\u0002\u0002\u0c03\u0c04\u0005\u0180\u00c1\u0002\u0c04", + "\u0c06\u0003\u0002\u0002\u0002\u0c05\u0c00\u0003\u0002\u0002\u0002\u0c06", + "\u0c09\u0003\u0002\u0002\u0002\u0c07\u0c05\u0003\u0002\u0002\u0002\u0c07", + "\u0c08\u0003\u0002\u0002\u0002\u0c08\u0c0b\u0003\u0002\u0002\u0002\u0c09", + "\u0c07\u0003\u0002\u0002\u0002\u0c0a\u0bfe\u0003\u0002\u0002\u0002\u0c0a", + "\u0c0b\u0003\u0002\u0002\u0002\u0c0b\u0c0c\u0003\u0002\u0002\u0002\u0c0c", + "\u0c0d\u0007\u001b\u0002\u0002\u0c0d\u0c8e\u0003\u0002\u0002\u0002\u0c0e", + "\u0c0f\u0007\u0162\u0002\u0002\u0c0f\u0c10\u0007\u001a\u0002\u0002\u0c10", + "\u0c1d\u0005\u0180\u00c1\u0002\u0c11\u0c12\u0007\u0017\u0002\u0002\u0c12", + "\u0c1a\u0005\u0180\u00c1\u0002\u0c13\u0c14\u0007\u0017\u0002\u0002\u0c14", + "\u0c15\u0005\u0180\u00c1\u0002\u0c15\u0c16\u0007\u0019\u0002\u0002\u0c16", + "\u0c17\u0005\u0180\u00c1\u0002\u0c17\u0c19\u0003\u0002\u0002\u0002\u0c18", + "\u0c13\u0003\u0002\u0002\u0002\u0c19\u0c1c\u0003\u0002\u0002\u0002\u0c1a", + "\u0c18\u0003\u0002\u0002\u0002\u0c1a\u0c1b\u0003\u0002\u0002\u0002\u0c1b", + "\u0c1e\u0003\u0002\u0002\u0002\u0c1c\u0c1a\u0003\u0002\u0002\u0002\u0c1d", + "\u0c11\u0003\u0002\u0002\u0002\u0c1d\u0c1e\u0003\u0002\u0002\u0002\u0c1e", + "\u0c1f\u0003\u0002\u0002\u0002\u0c1f\u0c20\u0007\u001b\u0002\u0002\u0c20", + "\u0c8e\u0003\u0002\u0002\u0002\u0c21\u0c22\u0007\u0163\u0002\u0002\u0c22", + "\u0c23\u0007\u001a\u0002\u0002\u0c23\u0c30\u0005\u0180\u00c1\u0002\u0c24", + "\u0c25\u0007\u0017\u0002\u0002\u0c25\u0c2d\u0005\u0180\u00c1\u0002\u0c26", + "\u0c27\u0007\u0017\u0002\u0002\u0c27\u0c28\u0005\u0180\u00c1\u0002\u0c28", + "\u0c29\u0007\u0019\u0002\u0002\u0c29\u0c2a\u0005\u0180\u00c1\u0002\u0c2a", + "\u0c2c\u0003\u0002\u0002\u0002\u0c2b\u0c26\u0003\u0002\u0002\u0002\u0c2c", + "\u0c2f\u0003\u0002\u0002\u0002\u0c2d\u0c2b\u0003\u0002\u0002\u0002\u0c2d", + "\u0c2e\u0003\u0002\u0002\u0002\u0c2e\u0c31\u0003\u0002\u0002\u0002\u0c2f", + "\u0c2d\u0003\u0002\u0002\u0002\u0c30\u0c24\u0003\u0002\u0002\u0002\u0c30", + "\u0c31\u0003\u0002\u0002\u0002\u0c31\u0c32\u0003\u0002\u0002\u0002\u0c32", + "\u0c33\u0007\u001b\u0002\u0002\u0c33\u0c8e\u0003\u0002\u0002\u0002\u0c34", + "\u0c35\u0007\u0164\u0002\u0002\u0c35\u0c36\u0007\u001a\u0002\u0002\u0c36", + "\u0c43\u0005\u0180\u00c1\u0002\u0c37\u0c38\u0007\u0017\u0002\u0002\u0c38", + "\u0c40\u0005\u0180\u00c1\u0002\u0c39\u0c3a\u0007\u0017\u0002\u0002\u0c3a", + "\u0c3b\u0005\u0180\u00c1\u0002\u0c3b\u0c3c\u0007\u0019\u0002\u0002\u0c3c", + "\u0c3d\u0005\u0180\u00c1\u0002\u0c3d\u0c3f\u0003\u0002\u0002\u0002\u0c3e", + "\u0c39\u0003\u0002\u0002\u0002\u0c3f\u0c42\u0003\u0002\u0002\u0002\u0c40", + "\u0c3e\u0003\u0002\u0002\u0002\u0c40\u0c41\u0003\u0002\u0002\u0002\u0c41", + "\u0c44\u0003\u0002\u0002\u0002\u0c42\u0c40\u0003\u0002\u0002\u0002\u0c43", + "\u0c37\u0003\u0002\u0002\u0002\u0c43\u0c44\u0003\u0002\u0002\u0002\u0c44", + "\u0c45\u0003\u0002\u0002\u0002\u0c45\u0c46\u0007\u001b\u0002\u0002\u0c46", + "\u0c8e\u0003\u0002\u0002\u0002\u0c47\u0c48\u0007\u0165\u0002\u0002\u0c48", + "\u0c49\u0007\u001a\u0002\u0002\u0c49\u0c56\u0005\u0180\u00c1\u0002\u0c4a", + "\u0c4b\u0007\u0017\u0002\u0002\u0c4b\u0c53\u0005\u0180\u00c1\u0002\u0c4c", + "\u0c4d\u0007\u0017\u0002\u0002\u0c4d\u0c4e\u0005\u0180\u00c1\u0002\u0c4e", + "\u0c4f\u0007\u0019\u0002\u0002\u0c4f\u0c50\u0005\u0180\u00c1\u0002\u0c50", + "\u0c52\u0003\u0002\u0002\u0002\u0c51\u0c4c\u0003\u0002\u0002\u0002\u0c52", + "\u0c55\u0003\u0002\u0002\u0002\u0c53\u0c51\u0003\u0002\u0002\u0002\u0c53", + "\u0c54\u0003\u0002\u0002\u0002\u0c54\u0c57\u0003\u0002\u0002\u0002\u0c55", + "\u0c53\u0003\u0002\u0002\u0002\u0c56\u0c4a\u0003\u0002\u0002\u0002\u0c56", + "\u0c57\u0003\u0002\u0002\u0002\u0c57\u0c58\u0003\u0002\u0002\u0002\u0c58", + "\u0c59\u0007\u001b\u0002\u0002\u0c59\u0c8e\u0003\u0002\u0002\u0002\u0c5a", + "\u0c5b\u0007\u0166\u0002\u0002\u0c5b\u0c5c\u0007\u001a\u0002\u0002\u0c5c", + "\u0c64\u0005\u0180\u00c1\u0002\u0c5d\u0c5e\u0007\u0017\u0002\u0002\u0c5e", + "\u0c5f\u0005\u0180\u00c1\u0002\u0c5f\u0c60\u0007\u0019\u0002\u0002\u0c60", + "\u0c61\u0005\u0180\u00c1\u0002\u0c61\u0c63\u0003\u0002\u0002\u0002\u0c62", + "\u0c5d\u0003\u0002\u0002\u0002\u0c63\u0c66\u0003\u0002\u0002\u0002\u0c64", + "\u0c62\u0003\u0002\u0002\u0002\u0c64\u0c65\u0003\u0002\u0002\u0002\u0c65", + "\u0c67\u0003\u0002\u0002\u0002\u0c66\u0c64\u0003\u0002\u0002\u0002\u0c67", + "\u0c68\u0007\u001b\u0002\u0002\u0c68\u0c8e\u0003\u0002\u0002\u0002\u0c69", + "\u0c6a\u0007\u0167\u0002\u0002\u0c6a\u0c6b\u0007\u001a\u0002\u0002\u0c6b", + "\u0c71\u0005\u0180\u00c1\u0002\u0c6c\u0c6d\u0007\u0017\u0002\u0002\u0c6d", + "\u0c6e\u0005\u0180\u00c1\u0002\u0c6e\u0c6f\u0007\u0019\u0002\u0002\u0c6f", + "\u0c70\u0005\u0180\u00c1\u0002\u0c70\u0c72\u0003\u0002\u0002\u0002\u0c71", + "\u0c6c\u0003\u0002\u0002\u0002\u0c72\u0c73\u0003\u0002\u0002\u0002\u0c73", + "\u0c71\u0003\u0002\u0002\u0002\u0c73\u0c74\u0003\u0002\u0002\u0002\u0c74", + "\u0c77\u0003\u0002\u0002\u0002\u0c75\u0c76\u0007\u0017\u0002\u0002\u0c76", + "\u0c78\u0005\u0180\u00c1\u0002\u0c77\u0c75\u0003\u0002\u0002\u0002\u0c77", + "\u0c78\u0003\u0002\u0002\u0002\u0c78\u0c79\u0003\u0002\u0002\u0002\u0c79", + "\u0c7a\u0007\u001b\u0002\u0002\u0c7a\u0c8e\u0003\u0002\u0002\u0002\u0c7b", + "\u0c7c\u0007\u0168\u0002\u0002\u0c7c\u0c7d\u0007\u001a\u0002\u0002\u0c7d", + "\u0c7e\u0005\u0180\u00c1\u0002\u0c7e\u0c7f\u0007\u001b\u0002\u0002\u0c7f", + "\u0c8e\u0003\u0002\u0002\u0002\u0c80\u0c81\u0007\u0169\u0002\u0002\u0c81", + "\u0c82\u0007\u001a\u0002\u0002\u0c82\u0c83\u0005\u0180\u00c1\u0002\u0c83", + "\u0c84\u0007\u00e1\u0002\u0002\u0c84\u0c87\u0005\u0180\u00c1\u0002\u0c85", + "\u0c86\u0007\u001e\u0002\u0002\u0c86\u0c88\u0005\u0180\u00c1\u0002\u0c87", + "\u0c85\u0003\u0002\u0002\u0002\u0c87\u0c88\u0003\u0002\u0002\u0002\u0c88", + "\u0c89\u0003\u0002\u0002\u0002\u0c89\u0c8a\u0007\u001b\u0002\u0002\u0c8a", + "\u0c8e\u0003\u0002\u0002\u0002\u0c8b\u0c8e\u0007\u016a\u0002\u0002\u0c8c", + "\u0c8e\u0007\u015f\u0002\u0002\u0c8d\u0bc5\u0003\u0002\u0002\u0002\u0c8d", + "\u0bc6\u0003\u0002\u0002\u0002\u0c8d\u0bd0\u0003\u0002\u0002\u0002\u0c8d", + "\u0bd7\u0003\u0002\u0002\u0002\u0c8d\u0bd8\u0003\u0002\u0002\u0002\u0c8d", + "\u0bdd\u0003\u0002\u0002\u0002\u0c8d\u0be5\u0003\u0002\u0002\u0002\u0c8d", + "\u0be6\u0003\u0002\u0002\u0002\u0c8d\u0be8\u0003\u0002\u0002\u0002\u0c8d", + "\u0bfb\u0003\u0002\u0002\u0002\u0c8d\u0c0e\u0003\u0002\u0002\u0002\u0c8d", + "\u0c21\u0003\u0002\u0002\u0002\u0c8d\u0c34\u0003\u0002\u0002\u0002\u0c8d", + "\u0c47\u0003\u0002\u0002\u0002\u0c8d\u0c5a\u0003\u0002\u0002\u0002\u0c8d", + "\u0c69\u0003\u0002\u0002\u0002\u0c8d\u0c7b\u0003\u0002\u0002\u0002\u0c8d", + "\u0c80\u0003\u0002\u0002\u0002\u0c8d\u0c8b\u0003\u0002\u0002\u0002\u0c8d", + "\u0c8c\u0003\u0002\u0002\u0002\u0c8e\u019d\u0003\u0002\u0002\u0002\u0c8f", + "\u0c90\u0005\u01b8\u00dd\u0002\u0c90\u0c92\u0007\u001a\u0002\u0002\u0c91", + "\u0c93\u0005\u01a0\u00d1\u0002\u0c92\u0c91\u0003\u0002\u0002\u0002\u0c92", + "\u0c93\u0003\u0002\u0002\u0002\u0c93\u0c94\u0003\u0002\u0002\u0002\u0c94", + "\u0c95\u0007\u001b\u0002\u0002\u0c95\u019f\u0003\u0002\u0002\u0002\u0c96", + "\u0c9b\u0005\u01a2\u00d2\u0002\u0c97\u0c98\u0007\u0017\u0002\u0002\u0c98", + "\u0c9a\u0005\u01a2\u00d2\u0002\u0c99\u0c97\u0003\u0002\u0002\u0002\u0c9a", + "\u0c9d\u0003\u0002\u0002\u0002\u0c9b\u0c99\u0003\u0002\u0002\u0002\u0c9b", + "\u0c9c\u0003\u0002\u0002\u0002\u0c9c\u01a1\u0003\u0002\u0002\u0002\u0c9d", + "\u0c9b\u0003\u0002\u0002\u0002\u0c9e\u0ca4\u0006\u00d2\u000e\u0002\u0c9f", + "\u0ca0\u0005\u01b8\u00dd\u0002\u0ca0\u0ca2\u0007\u0019\u0002\u0002\u0ca1", + "\u0ca3\u0007\u0110\u0002\u0002\u0ca2\u0ca1\u0003\u0002\u0002\u0002\u0ca2", + "\u0ca3\u0003\u0002\u0002\u0002\u0ca3\u0ca5\u0003\u0002\u0002\u0002\u0ca4", + "\u0c9f\u0003\u0002\u0002\u0002\u0ca4\u0ca5\u0003\u0002\u0002\u0002\u0ca5", + "\u0ca6\u0003\u0002\u0002\u0002\u0ca6\u0ca7\u0005\u0180\u00c1\u0002\u0ca7", + "\u01a3\u0003\u0002\u0002\u0002\u0ca8\u0cab\u0005\u011a\u008e\u0002\u0ca9", + "\u0cab\u0005\u0180\u00c1\u0002\u0caa\u0ca8\u0003\u0002\u0002\u0002\u0caa", + "\u0ca9\u0003\u0002\u0002\u0002\u0cab\u01a5\u0003\u0002\u0002\u0002\u0cac", + "\u0caf\u0005\u01b2\u00da\u0002\u0cad\u0caf\u0005\u0180\u00c1\u0002\u0cae", + "\u0cac\u0003\u0002\u0002\u0002\u0cae\u0cad\u0003\u0002\u0002\u0002\u0caf", + "\u01a7\u0003\u0002\u0002\u0002\u0cb0\u0cb4\u0007\u016b\u0002\u0002\u0cb1", + "\u0cb3\u0005\u01aa\u00d6\u0002\u0cb2\u0cb1\u0003\u0002\u0002\u0002\u0cb3", + "\u0cb6\u0003\u0002\u0002\u0002\u0cb4\u0cb2\u0003\u0002\u0002\u0002\u0cb4", + "\u0cb5\u0003\u0002\u0002\u0002\u0cb5\u01a9\u0003\u0002\u0002\u0002\u0cb6", + "\u0cb4\u0003\u0002\u0002\u0002\u0cb7\u0cb8\u0007\u013c\u0002\u0002\u0cb8", + "\u0cb9\u0005\u01b8\u00dd\u0002\u0cb9\u0cba\u0005\u0180\u00c1\u0002\u0cba", + "\u0cc4\u0003\u0002\u0002\u0002\u0cbb\u0cbc\u0007\u013c\u0002\u0002\u0cbc", + "\u0cbd\u0005\u01b8\u00dd\u0002\u0cbd\u0cbe\u0007\u0013\u0002\u0002\u0cbe", + "\u0cbf\u0007\u0019\u0002\u0002\u0cbf\u0cc0\u0005\u0180\u00c1\u0002\u0cc0", + "\u0cc4\u0003\u0002\u0002\u0002\u0cc1\u0cc2\u0007\u013c\u0002\u0002\u0cc2", + "\u0cc4\u0005\u01b8\u00dd\u0002\u0cc3\u0cb7\u0003\u0002\u0002\u0002\u0cc3", + "\u0cbb\u0003\u0002\u0002\u0002\u0cc3\u0cc1\u0003\u0002\u0002\u0002\u0cc4", + "\u01ab\u0003\u0002\u0002\u0002\u0cc5\u0cc6\u0007\t\u0002\u0002\u0cc6", + "\u0cc7\u0005\u01ae\u00d8\u0002\u0cc7\u0cc8\u0007\n\u0002\u0002\u0cc8", + "\u0ccb\u0003\u0002\u0002\u0002\u0cc9\u0ccb\u0005\u01b0\u00d9\u0002\u0cca", + "\u0cc5\u0003\u0002\u0002\u0002\u0cca\u0cc9\u0003\u0002\u0002\u0002\u0ccb", + "\u01ad\u0003\u0002\u0002\u0002\u0ccc\u0cce\u000b\u0002\u0002\u0002\u0ccd", + "\u0ccc\u0003\u0002\u0002\u0002\u0cce\u0cd1\u0003\u0002\u0002\u0002\u0ccf", + "\u0cd0\u0003\u0002\u0002\u0002\u0ccf\u0ccd\u0003\u0002\u0002\u0002\u0cd0", + "\u01af\u0003\u0002\u0002\u0002\u0cd1\u0ccf\u0003\u0002\u0002\u0002\u0cd2", + "\u0cd3\u0007\u016c\u0002\u0002\u0cd3\u0cd4\u0005\u0180\u00c1\u0002\u0cd4", + "\u01b1\u0003\u0002\u0002\u0002\u0cd5\u0ce4\u0007\u016d\u0002\u0002\u0cd6", + "\u0cda\u0007\u0005\u0002\u0002\u0cd7\u0cd8\u0007\u0007\u0002\u0002\u0cd8", + "\u0cda\u0007\u0005\u0002\u0002\u0cd9\u0cd6\u0003\u0002\u0002\u0002\u0cd9", + "\u0cd7\u0003\u0002\u0002\u0002\u0cd9\u0cda\u0003\u0002\u0002\u0002\u0cda", + "\u0cdb\u0003\u0002\u0002\u0002\u0cdb\u0ce0\u0005\u01b8\u00dd\u0002\u0cdc", + "\u0cdd\u0007\u0005\u0002\u0002\u0cdd\u0cdf\u0005\u01b8\u00dd\u0002\u0cde", + "\u0cdc\u0003\u0002\u0002\u0002\u0cdf\u0ce2\u0003\u0002\u0002\u0002\u0ce0", + "\u0cde\u0003\u0002\u0002\u0002\u0ce0\u0ce1\u0003\u0002\u0002\u0002\u0ce1", + "\u0ce4\u0003\u0002\u0002\u0002\u0ce2\u0ce0\u0003\u0002\u0002\u0002\u0ce3", + "\u0cd5\u0003\u0002\u0002\u0002\u0ce3\u0cd9\u0003\u0002\u0002\u0002\u0ce4", + "\u01b3\u0003\u0002\u0002\u0002\u0ce5\u0ce6\u0007\u0091\u0002\u0002\u0ce6", + "\u0ce7\u0005\u01ba\u00de\u0002\u0ce7\u01b5\u0003\u0002\u0002\u0002\u0ce8", + "\u0ce9\u0007\u00ac\u0002\u0002\u0ce9\u0cea\u0005\u01ba\u00de\u0002\u0cea", + "\u01b7\u0003\u0002\u0002\u0002\u0ceb\u0ced\u0007\u000b\u0002\u0002\u0cec", + "\u0ceb\u0003\u0002\u0002\u0002\u0cec\u0ced\u0003\u0002\u0002\u0002\u0ced", + "\u0cf0\u0003\u0002\u0002\u0002\u0cee\u0cf1\u0007\u0013\u0002\u0002\u0cef", + "\u0cf1\u0005\u01c4\u00e3\u0002\u0cf0\u0cee\u0003\u0002\u0002\u0002\u0cf0", + "\u0cef\u0003\u0002\u0002\u0002\u0cf1\u0cf9\u0003\u0002\u0002\u0002\u0cf2", + "\u0cf5\u0007\u0007\u0002\u0002\u0cf3\u0cf6\u0007\u0013\u0002\u0002\u0cf4", + "\u0cf6\u0005\u01c4\u00e3\u0002\u0cf5\u0cf3\u0003\u0002\u0002\u0002\u0cf5", + "\u0cf4\u0003\u0002\u0002\u0002\u0cf6\u0cf8\u0003\u0002\u0002\u0002\u0cf7", + "\u0cf2\u0003\u0002\u0002\u0002\u0cf8\u0cfb\u0003\u0002\u0002\u0002\u0cf9", + "\u0cf7\u0003\u0002\u0002\u0002\u0cf9\u0cfa\u0003\u0002\u0002\u0002\u0cfa", + "\u01b9\u0003\u0002\u0002\u0002\u0cfb\u0cf9\u0003\u0002\u0002\u0002\u0cfc", + "\u0cff\u0007\u011a\u0002\u0002\u0cfd\u0cff\u0007\u016e\u0002\u0002\u0cfe", + "\u0cfc\u0003\u0002\u0002\u0002\u0cfe\u0cfd\u0003\u0002\u0002\u0002\u0cff", + "\u01bb\u0003\u0002\u0002\u0002\u0d00\u0d02\t0\u0002\u0002\u0d01\u0d00", + "\u0003\u0002\u0002\u0002\u0d01\u0d02\u0003\u0002\u0002\u0002\u0d02\u0d03", + "\u0003\u0002\u0002\u0002\u0d03\u0d04\u0007J\u0002\u0002\u0d04\u01bd", + "\u0003\u0002\u0002\u0002\u0d05\u0d07\t0\u0002\u0002\u0d06\u0d05\u0003", + "\u0002\u0002\u0002\u0d06\u0d07\u0003\u0002\u0002\u0002\u0d07\u0d08\u0003", + "\u0002\u0002\u0002\u0d08\u0d09\u0007\u016f\u0002\u0002\u0d09\u01bf\u0003", + "\u0002\u0002\u0002\u0d0a\u0d0b\t1\u0002\u0002\u0d0b\u01c1\u0003\u0002", + "\u0002\u0002\u0d0c\u0d0d\u0007\u0015\u0002\u0002\u0d0d\u01c3\u0003\u0002", + "\u0002\u0002\u0d0e\u0d0f\t2\u0002\u0002\u0d0f\u01c5\u0003\u0002\u0002", + "\u0002\u01aa\u01cb\u01ce\u01d2\u01d5\u01da\u01e1\u01e7\u01e9\u01f2\u01f5", + "\u01f7\u0236\u023e\u024e\u0255\u0258\u025d\u0261\u026a\u026f\u0277\u027c", + "\u0285\u0291\u0296\u0299\u02a7\u02ae\u02b7\u02c8\u02cc\u02d4\u02df\u02e9", + "\u02f1\u02f8\u02fc\u0300\u0305\u0309\u030e\u0312\u0316\u0320\u0324\u0329", + "\u032e\u0332\u033f\u0344\u034a\u0353\u0357\u035f\u0362\u0367\u036c\u0373", + "\u037c\u037f\u0386\u038c\u0391\u0397\u039c\u039f\u03a5\u03b3\u03bd\u03c3", + "\u03c8\u03cd\u03d2\u03d6\u03db\u03de\u03e8\u03f4\u03fb\u03fe\u040a\u040f", + "\u0414\u0417\u041e\u042a\u0437\u0439\u043e\u0441\u0450\u0456\u0461\u0464", + "\u046e\u0475\u047b\u0483\u048d\u04a1\u04a7\u04ab\u04b0\u04b4\u04b9\u04bc", + "\u04c1\u04c4\u04d0\u04d7\u04dc\u04e1\u04e5\u04ea\u04ed\u04f7\u0503\u050a", + "\u0512\u0521\u0540\u0542\u0547\u054b\u0550\u0557\u055a\u055d\u0562\u0566", + "\u0568\u056f\u0575\u057c\u0582\u0585\u058a\u058e\u0591\u0598\u059e\u05a1", + "\u05ab\u05b4\u05bb\u05c2\u05c4\u05ca\u05cd\u05d8\u05e1\u05e7\u05ed\u05f0", + "\u05f5\u05f8\u05fb\u05fe\u0601\u0607\u0611\u061c\u061f\u0626\u062b\u0630", + "\u0634\u063c\u0640\u0645\u0649\u064b\u0650\u0658\u065d\u0663\u066a\u066d", + "\u0674\u067c\u0684\u0687\u068a\u068f\u0698\u069c\u06a6\u06b9\u06c0\u06c2", + "\u06c6\u06ca\u06d2\u06dd\u06e6\u06ee\u06f6\u06fa\u0702\u0714\u0722\u0729", + "\u072d\u0734\u0736\u073a\u0743\u074b\u0754\u0764\u076a\u076e\u0778\u0780", + "\u0789\u078d\u0793\u0798\u079c\u07a6\u07ac\u07b0\u07bc\u07c3\u07d3\u07da", + "\u07e4\u07e7\u07eb\u07f2\u07f9\u07fb\u07ff\u0803\u0808\u080b\u080f\u0812", + "\u081d\u0820\u082b\u0831\u0835\u0837\u083b\u0844\u084b\u084f\u0853\u085a", + "\u085e\u0866\u086c\u0870\u087b\u0882\u088f\u0897\u089b\u08a5\u08aa\u08b7", + "\u08c2\u08ca\u08ce\u08d2\u08d6\u08d8\u08dd\u08e0\u08e3\u08e6\u08ea\u08ed", + "\u08f0\u08f3\u08f6\u08fd\u0908\u090c\u090f\u0913\u091a\u091e\u0928\u0930", + "\u0936\u093a\u0940\u0949\u094c\u0951\u0954\u095e\u0963\u096c\u0971\u0975", + "\u097e\u0982\u0990\u099d\u09a2\u09a6\u09ac\u09b7\u09b9\u09c0\u09c3\u09ca", + "\u09cf\u09d5\u09d8\u09db\u09ea\u09f1\u09f4\u09f7\u09fb\u0a00\u0a06\u0a0a", + "\u0a15\u0a19\u0a1c\u0a20\u0a24\u0a28\u0a2c\u0a32\u0a38\u0a3f\u0a47\u0a4d", + "\u0a52\u0a5d\u0a66\u0a6a\u0a73\u0a77\u0a81\u0a86\u0a9c\u0a9f\u0ab2\u0ac2", + "\u0ac4\u0acf\u0ade\u0aea\u0aee\u0af9\u0afd\u0b09\u0b0d\u0b18\u0b1d\u0b22", + "\u0b26\u0b2a\u0b2f\u0b33\u0b37\u0b4e\u0b50\u0b62\u0b64\u0b6c\u0b71\u0b76", + "\u0b7b\u0b88\u0b8d\u0b92\u0b97\u0b9c\u0ba1\u0ba6\u0bab\u0bad\u0bb4\u0bb7", + "\u0bc2\u0bcc\u0bd4\u0bdd\u0be3\u0bf4\u0bf7\u0c07\u0c0a\u0c1a\u0c1d\u0c2d", + "\u0c30\u0c40\u0c43\u0c53\u0c56\u0c64\u0c73\u0c77\u0c87\u0c8d\u0c92\u0c9b", + "\u0ca2\u0ca4\u0caa\u0cae\u0cb4\u0cc3\u0cca\u0ccf\u0cd9\u0ce0\u0ce3\u0cec", + "\u0cf0\u0cf5\u0cf9\u0cfe\u0d01\u0d06"].join(""); + + +var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); + +var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); + +var sharedContextCache = new antlr4.PredictionContextCache(); + +var literalNames = [ null, "'@'", "'#'", "'/'", "'%'", "'.'", "'*'", "'!'", + "';'", "'-'", "'+'" ]; + +var symbolicNames = [ null, null, null, null, null, null, null, null, null, + null, null, "T_GO", "T_BEGIN", "T_SEMICOLON", "T_END", + "T_EXCEPTION", "T_WHEN", "L_ID", "T_THEN", "T_NULL", + "T_SET", "T_COMMA", "T_COLON", "T_EQUAL", "T_OPEN_P", + "T_CLOSE_P", "T_ALLOCATE", "T_CURSOR", "T_FOR", "T_RESULT", + "T_PROCEDURE", "T_ASSOCIATE", "T_LOCATOR", "T_LOCATORS", + "T_WITH", "T_TRANSACTION", "T_BREAK", "T_CALL", "T_DECLARE", + "T_AS", "T_CONSTANT", "T_CONDITION", "T_IS", "T_RETURN", + "T_ONLY", "T_TO", "T_CALLER", "T_CLIENT", "T_WITHOUT", + "T_CONTINUE", "T_EXIT", "T_HANDLER", "T_SQLEXCEPTION", + "T_SQLWARNING", "T_NOT", "T_FOUND", "T_GLOBAL", "T_TEMPORARY", + "T_TABLE", "T_CREATE", "T_IF", "T_EXISTS", "T_LOCAL", + "T_MULTISET", "T_VOLATILE", "T_LIKE", "T_CONSTRAINT", + "T_PRIMARY", "T_KEY", "T_UNIQUE", "T_REFERENCES", + "T_IDENTITY", "L_INT", "T_AUTO_INCREMENT", "T_ENABLE", + "T_CLUSTERED", "T_ASC", "T_DESC", "T_FOREIGN", "T_ON", + "T_UPDATE", "T_DELETE", "T_NO", "T_ACTION", "T_RESTRICT", + "T_DEFAULT", "T_CASCADE", "T_LOG", "T_FALLBACK", "T_COMMIT", + "T_PRESERVE", "T_ROWS", "T_SEGMENT", "T_CREATION", + "T_IMMEDIATE", "T_DEFERRED", "T_PCTFREE", "T_PCTUSED", + "T_INITRANS", "T_MAXTRANS", "T_NOCOMPRESS", "T_LOGGING", + "T_NOLOGGING", "T_STORAGE", "T_TABLESPACE", "T_INDEX", + "T_IN", "T_REPLACE", "T_DISTRIBUTE", "T_BY", "T_HASH", + "T_LOGGED", "T_COMPRESS", "T_YES", "T_DEFINITION", + "T_DROP", "T_DATA", "T_STORED", "T_ROW", "T_FORMAT", + "T_DELIMITED", "T_FIELDS", "T_TERMINATED", "T_ESCAPED", + "T_COLLECTION", "T_ITEMS", "T_MAP", "T_KEYS", "T_LINES", + "T_DEFINED", "T_TEXTIMAGE_ON", "T_COMMENT", "T_CHARACTER", + "T_CHARSET", "T_ENGINE", "T_ALTER", "T_ADD2", "T_CHAR", + "T_BIGINT", "T_BINARY_DOUBLE", "T_BINARY_FLOAT", "T_BINARY_INTEGER", + "T_BIT", "T_DATE", "T_DATETIME", "T_DEC", "T_DECIMAL", + "T_DOUBLE", "T_PRECISION", "T_FLOAT", "T_INT", "T_INT2", + "T_INT4", "T_INT8", "T_INTEGER", "T_NCHAR", "T_NVARCHAR", + "T_NUMBER", "T_NUMERIC", "T_PLS_INTEGER", "T_REAL", + "T_RESULT_SET_LOCATOR", "T_VARYING", "T_SIMPLE_FLOAT", + "T_SIMPLE_DOUBLE", "T_SIMPLE_INTEGER", "T_SMALLINT", + "T_SMALLDATETIME", "T_STRING", "T_SYS_REFCURSOR", + "T_TIMESTAMP", "T_TINYINT", "T_VARCHAR", "T_VARCHAR2", + "T_XML", "T_TYPE", "T_ROWTYPE", "T_MAX", "T_BYTE", + "T_CASESPECIFIC", "T_CS", "T_DATABASE", "T_SCHEMA", + "T_LOCATION", "T_OR", "T_FUNCTION", "T_RETURNS", "T_PACKAGE", + "T_PROC", "T_BODY", "T_OUT", "T_INOUT", "T_LANGUAGE", + "T_SQL", "T_SECURITY", "T_CREATOR", "T_DEFINER", "T_INVOKER", + "T_OWNER", "T_DYNAMIC", "T_SETS", "T_EXEC", "T_EXECUTE", + "T_INTO", "T_ELSE", "T_ELSIF", "T_ELSEIF", "T_INCLUDE", + "T_INSERT", "T_OVERWRITE", "T_VALUES", "T_DIRECTORY", + "T_GET", "T_DIAGNOSTICS", "T_MESSAGE_TEXT", "T_ROW_COUNT", + "T_GRANT", "T_ROLE", "T_LEAVE", "T_OBJECT", "T_AT", + "T_OPEN", "T_FETCH", "T_FROM", "T_COLLECT", "T_STATISTICS", + "T_STATS", "T_COLUMN", "T_CLOSE", "T_CMP", "T_SUM", + "T_COPY", "T_HDFS", "T_BATCHSIZE", "T_DELIMITER", + "T_SQLINSERT", "T_IGNORE", "T_WORK", "T_PRINT", "T_QUIT", + "T_RAISE", "T_RESIGNAL", "T_SQLSTATE", "T_VALUE", + "T_ROLLBACK", "T_CURRENT", "T_CURRENT_SCHEMA", "T_ANSI_NULLS", + "T_ANSI_PADDING", "T_NOCOUNT", "T_QUOTED_IDENTIFIER", + "T_XACT_ABORT", "T_OFF", "T_QUERY_BAND", "T_NONE", + "T_SESSION", "T_SIGNAL", "T_SUMMARY", "T_TOP", "T_LIMIT", + "T_TRUNCATE", "T_USE", "T_WHILE", "T_DO", "T_LOOP", + "T_REVERSE", "T_DOT2", "T_STEP", "L_LABEL", "T_LESS", + "T_GREATER", "T_USING", "T_UNION", "T_ALL", "T_EXCEPT", + "T_INTERSECT", "T_SELECT", "T_SEL", "T_DISTINCT", + "T_TITLE", "L_S_STRING", "T_INNER", "T_JOIN", "T_LEFT", + "T_RIGHT", "T_FULL", "T_OUTER", "T_WHERE", "T_GROUP", + "T_HAVING", "T_QUALIFY", "T_ORDER", "T_RR", "T_RS", + "T_UR", "T_AND", "T_KEEP", "T_EXCLUSIVE", "T_SHARE", + "T_LOCKS", "T_MERGE", "T_MATCHED", "T_DESCRIBE", "T_BETWEEN", + "T_EQUAL2", "T_NOTEQUAL", "T_NOTEQUAL2", "T_LESSEQUAL", + "T_GREATEREQUAL", "T_RLIKE", "T_REGEXP", "T_MUL", + "T_DIV", "T_ADD", "T_SUB", "T_INTERVAL", "T_DAY", + "T_DAYS", "T_MICROSECOND", "T_MICROSECONDS", "T_SECOND", + "T_SECONDS", "T_PIPE", "T_CONCAT", "T_CASE", "T_ISOPEN", + "T_NOTFOUND", "T_AVG", "T_COUNT", "T_COUNT_BIG", "T_CUME_DIST", + "T_DENSE_RANK", "T_FIRST_VALUE", "T_LAG", "T_LAST_VALUE", + "T_LEAD", "T_MIN", "T_RANK", "T_ROW_NUMBER", "T_STDEV", + "T_VAR", "T_VARIANCE", "T_OVER", "T_PARTITION", "T_ACTIVITY_COUNT", + "T_CAST", "T_CURRENT_DATE", "T_CURRENT_TIMESTAMP", + "T_CURRENT_USER", "T_USER", "T_MAX_PART_STRING", "T_MIN_PART_STRING", + "T_MAX_PART_INT", "T_MIN_PART_INT", "T_MAX_PART_DATE", + "T_MIN_PART_DATE", "T_PART_COUNT", "T_PART_LOC", "T_TRIM", + "T_SUBSTRING", "T_SYSDATE", "T_HIVE", "T_HOST", "L_FILE", + "L_D_STRING", "L_DEC", "T_TRUE", "T_FALSE", "T_DIR", + "T_FILE", "T_FILES", "T_NEW", "T_PWD", "T_SESSIONS", + "T_SUBDIR" ]; + +var ruleNames = [ "program", "block", "begin_end_block", "single_block_stmt", + "block_end", "proc_block", "stmt", "semicolon_stmt", + "exception_block", "exception_block_item", "null_stmt", + "expr_stmt", "assignment_stmt", "assignment_stmt_item", + "assignment_stmt_single_item", "assignment_stmt_multiple_item", + "assignment_stmt_select_item", "allocate_cursor_stmt", + "associate_locator_stmt", "begin_transaction_stmt", "break_stmt", + "call_stmt", "declare_stmt", "declare_block", "declare_block_inplace", + "declare_stmt_item", "declare_var_item", "declare_condition_item", + "declare_cursor_item", "cursor_with_return", "cursor_without_return", + "declare_handler_item", "declare_temporary_table_item", + "create_table_stmt", "create_local_temp_table_stmt", + "create_table_definition", "create_table_columns", "create_table_columns_item", + "column_name", "create_table_column_inline_cons", "create_table_column_cons", + "create_table_fk_action", "create_table_preoptions", + "create_table_preoptions_item", "create_table_preoptions_td_item", + "create_table_options", "create_table_options_item", + "create_table_options_ora_item", "create_table_options_db2_item", + "create_table_options_td_item", "create_table_options_hive_item", + "create_table_hive_row_format", "create_table_hive_row_format_fields", + "create_table_options_mssql_item", "create_table_options_mysql_item", + "alter_table_stmt", "alter_table_item", "alter_table_add_constraint", + "alter_table_add_constraint_item", "dtype", "dtype_len", + "dtype_attr", "dtype_default", "create_database_stmt", + "create_database_option", "create_function_stmt", "create_function_return", + "create_package_stmt", "package_spec", "package_spec_item", + "create_package_body_stmt", "package_body", "package_body_item", + "create_procedure_stmt", "create_routine_params", "create_routine_param_item", + "create_routine_options", "create_routine_option", "drop_stmt", + "end_transaction_stmt", "exec_stmt", "if_stmt", "if_plsql_stmt", + "if_tsql_stmt", "if_bteq_stmt", "elseif_block", "else_block", + "include_stmt", "insert_stmt", "insert_stmt_cols", "insert_stmt_rows", + "insert_stmt_row", "insert_directory_stmt", "exit_stmt", + "get_diag_stmt", "get_diag_stmt_item", "get_diag_stmt_exception_item", + "get_diag_stmt_rowcount_item", "grant_stmt", "grant_stmt_item", + "leave_stmt", "map_object_stmt", "open_stmt", "fetch_stmt", + "collect_stats_stmt", "collect_stats_clause", "close_stmt", + "cmp_stmt", "cmp_source", "copy_from_local_stmt", "copy_stmt", + "copy_source", "copy_target", "copy_option", "copy_file_option", + "commit_stmt", "create_index_stmt", "create_index_col", + "index_storage_clause", "index_mssql_storage_clause", + "print_stmt", "quit_stmt", "raise_stmt", "resignal_stmt", + "return_stmt", "rollback_stmt", "set_session_option", + "set_current_schema_option", "set_mssql_session_option", + "set_teradata_session_option", "signal_stmt", "summary_stmt", + "truncate_stmt", "use_stmt", "values_into_stmt", "while_stmt", + "for_cursor_stmt", "for_range_stmt", "label", "using_clause", + "select_stmt", "cte_select_stmt", "cte_select_stmt_item", + "cte_select_cols", "fullselect_stmt", "fullselect_stmt_item", + "fullselect_set_clause", "subselect_stmt", "select_list", + "select_list_set", "select_list_limit", "select_list_item", + "select_list_alias", "select_list_asterisk", "into_clause", + "from_clause", "from_table_clause", "from_table_name_clause", + "from_subselect_clause", "from_join_clause", "from_join_type_clause", + "from_table_values_clause", "from_table_values_row", + "from_alias_clause", "table_name", "where_clause", "group_by_clause", + "having_clause", "qualify_clause", "order_by_clause", + "select_options", "select_options_item", "update_stmt", + "update_assignment", "update_table", "update_upsert", + "merge_stmt", "merge_table", "merge_condition", "merge_action", + "delete_stmt", "delete_alias", "describe_stmt", "bool_expr", + "bool_expr_atom", "bool_expr_unary", "bool_expr_single_in", + "bool_expr_multi_in", "bool_expr_binary", "bool_expr_logical_operator", + "bool_expr_binary_operator", "expr", "expr_atom", "expr_interval", + "interval_item", "expr_concat", "expr_concat_item", "expr_case", + "expr_case_simple", "expr_case_searched", "expr_cursor_attribute", + "expr_agg_window_func", "expr_func_all_distinct", "expr_func_over_clause", + "expr_func_partition_by_clause", "expr_spec_func", "expr_func", + "expr_func_params", "func_param", "expr_select", "expr_file", + "hive", "hive_item", "host", "host_cmd", "host_stmt", + "file_name", "date_literal", "timestamp_literal", "ident", + "string", "int_number", "dec_number", "bool_literal", + "null_const", "non_reserved_words" ]; + +function HiveSqlParser (input) { + antlr4.Parser.call(this, input); + this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache); + this.ruleNames = ruleNames; + this.literalNames = literalNames; + this.symbolicNames = symbolicNames; + return this; +} + +HiveSqlParser.prototype = Object.create(antlr4.Parser.prototype); +HiveSqlParser.prototype.constructor = HiveSqlParser; + +Object.defineProperty(HiveSqlParser.prototype, "atn", { + get : function() { + return atn; + } +}); + +HiveSqlParser.EOF = antlr4.Token.EOF; +HiveSqlParser.T__0 = 1; +HiveSqlParser.T__1 = 2; +HiveSqlParser.T__2 = 3; +HiveSqlParser.T__3 = 4; +HiveSqlParser.T__4 = 5; +HiveSqlParser.T__5 = 6; +HiveSqlParser.T__6 = 7; +HiveSqlParser.T__7 = 8; +HiveSqlParser.T__8 = 9; +HiveSqlParser.T__9 = 10; +HiveSqlParser.T_GO = 11; +HiveSqlParser.T_BEGIN = 12; +HiveSqlParser.T_SEMICOLON = 13; +HiveSqlParser.T_END = 14; +HiveSqlParser.T_EXCEPTION = 15; +HiveSqlParser.T_WHEN = 16; +HiveSqlParser.L_ID = 17; +HiveSqlParser.T_THEN = 18; +HiveSqlParser.T_NULL = 19; +HiveSqlParser.T_SET = 20; +HiveSqlParser.T_COMMA = 21; +HiveSqlParser.T_COLON = 22; +HiveSqlParser.T_EQUAL = 23; +HiveSqlParser.T_OPEN_P = 24; +HiveSqlParser.T_CLOSE_P = 25; +HiveSqlParser.T_ALLOCATE = 26; +HiveSqlParser.T_CURSOR = 27; +HiveSqlParser.T_FOR = 28; +HiveSqlParser.T_RESULT = 29; +HiveSqlParser.T_PROCEDURE = 30; +HiveSqlParser.T_ASSOCIATE = 31; +HiveSqlParser.T_LOCATOR = 32; +HiveSqlParser.T_LOCATORS = 33; +HiveSqlParser.T_WITH = 34; +HiveSqlParser.T_TRANSACTION = 35; +HiveSqlParser.T_BREAK = 36; +HiveSqlParser.T_CALL = 37; +HiveSqlParser.T_DECLARE = 38; +HiveSqlParser.T_AS = 39; +HiveSqlParser.T_CONSTANT = 40; +HiveSqlParser.T_CONDITION = 41; +HiveSqlParser.T_IS = 42; +HiveSqlParser.T_RETURN = 43; +HiveSqlParser.T_ONLY = 44; +HiveSqlParser.T_TO = 45; +HiveSqlParser.T_CALLER = 46; +HiveSqlParser.T_CLIENT = 47; +HiveSqlParser.T_WITHOUT = 48; +HiveSqlParser.T_CONTINUE = 49; +HiveSqlParser.T_EXIT = 50; +HiveSqlParser.T_HANDLER = 51; +HiveSqlParser.T_SQLEXCEPTION = 52; +HiveSqlParser.T_SQLWARNING = 53; +HiveSqlParser.T_NOT = 54; +HiveSqlParser.T_FOUND = 55; +HiveSqlParser.T_GLOBAL = 56; +HiveSqlParser.T_TEMPORARY = 57; +HiveSqlParser.T_TABLE = 58; +HiveSqlParser.T_CREATE = 59; +HiveSqlParser.T_IF = 60; +HiveSqlParser.T_EXISTS = 61; +HiveSqlParser.T_LOCAL = 62; +HiveSqlParser.T_MULTISET = 63; +HiveSqlParser.T_VOLATILE = 64; +HiveSqlParser.T_LIKE = 65; +HiveSqlParser.T_CONSTRAINT = 66; +HiveSqlParser.T_PRIMARY = 67; +HiveSqlParser.T_KEY = 68; +HiveSqlParser.T_UNIQUE = 69; +HiveSqlParser.T_REFERENCES = 70; +HiveSqlParser.T_IDENTITY = 71; +HiveSqlParser.L_INT = 72; +HiveSqlParser.T_AUTO_INCREMENT = 73; +HiveSqlParser.T_ENABLE = 74; +HiveSqlParser.T_CLUSTERED = 75; +HiveSqlParser.T_ASC = 76; +HiveSqlParser.T_DESC = 77; +HiveSqlParser.T_FOREIGN = 78; +HiveSqlParser.T_ON = 79; +HiveSqlParser.T_UPDATE = 80; +HiveSqlParser.T_DELETE = 81; +HiveSqlParser.T_NO = 82; +HiveSqlParser.T_ACTION = 83; +HiveSqlParser.T_RESTRICT = 84; +HiveSqlParser.T_DEFAULT = 85; +HiveSqlParser.T_CASCADE = 86; +HiveSqlParser.T_LOG = 87; +HiveSqlParser.T_FALLBACK = 88; +HiveSqlParser.T_COMMIT = 89; +HiveSqlParser.T_PRESERVE = 90; +HiveSqlParser.T_ROWS = 91; +HiveSqlParser.T_SEGMENT = 92; +HiveSqlParser.T_CREATION = 93; +HiveSqlParser.T_IMMEDIATE = 94; +HiveSqlParser.T_DEFERRED = 95; +HiveSqlParser.T_PCTFREE = 96; +HiveSqlParser.T_PCTUSED = 97; +HiveSqlParser.T_INITRANS = 98; +HiveSqlParser.T_MAXTRANS = 99; +HiveSqlParser.T_NOCOMPRESS = 100; +HiveSqlParser.T_LOGGING = 101; +HiveSqlParser.T_NOLOGGING = 102; +HiveSqlParser.T_STORAGE = 103; +HiveSqlParser.T_TABLESPACE = 104; +HiveSqlParser.T_INDEX = 105; +HiveSqlParser.T_IN = 106; +HiveSqlParser.T_REPLACE = 107; +HiveSqlParser.T_DISTRIBUTE = 108; +HiveSqlParser.T_BY = 109; +HiveSqlParser.T_HASH = 110; +HiveSqlParser.T_LOGGED = 111; +HiveSqlParser.T_COMPRESS = 112; +HiveSqlParser.T_YES = 113; +HiveSqlParser.T_DEFINITION = 114; +HiveSqlParser.T_DROP = 115; +HiveSqlParser.T_DATA = 116; +HiveSqlParser.T_STORED = 117; +HiveSqlParser.T_ROW = 118; +HiveSqlParser.T_FORMAT = 119; +HiveSqlParser.T_DELIMITED = 120; +HiveSqlParser.T_FIELDS = 121; +HiveSqlParser.T_TERMINATED = 122; +HiveSqlParser.T_ESCAPED = 123; +HiveSqlParser.T_COLLECTION = 124; +HiveSqlParser.T_ITEMS = 125; +HiveSqlParser.T_MAP = 126; +HiveSqlParser.T_KEYS = 127; +HiveSqlParser.T_LINES = 128; +HiveSqlParser.T_DEFINED = 129; +HiveSqlParser.T_TEXTIMAGE_ON = 130; +HiveSqlParser.T_COMMENT = 131; +HiveSqlParser.T_CHARACTER = 132; +HiveSqlParser.T_CHARSET = 133; +HiveSqlParser.T_ENGINE = 134; +HiveSqlParser.T_ALTER = 135; +HiveSqlParser.T_ADD2 = 136; +HiveSqlParser.T_CHAR = 137; +HiveSqlParser.T_BIGINT = 138; +HiveSqlParser.T_BINARY_DOUBLE = 139; +HiveSqlParser.T_BINARY_FLOAT = 140; +HiveSqlParser.T_BINARY_INTEGER = 141; +HiveSqlParser.T_BIT = 142; +HiveSqlParser.T_DATE = 143; +HiveSqlParser.T_DATETIME = 144; +HiveSqlParser.T_DEC = 145; +HiveSqlParser.T_DECIMAL = 146; +HiveSqlParser.T_DOUBLE = 147; +HiveSqlParser.T_PRECISION = 148; +HiveSqlParser.T_FLOAT = 149; +HiveSqlParser.T_INT = 150; +HiveSqlParser.T_INT2 = 151; +HiveSqlParser.T_INT4 = 152; +HiveSqlParser.T_INT8 = 153; +HiveSqlParser.T_INTEGER = 154; +HiveSqlParser.T_NCHAR = 155; +HiveSqlParser.T_NVARCHAR = 156; +HiveSqlParser.T_NUMBER = 157; +HiveSqlParser.T_NUMERIC = 158; +HiveSqlParser.T_PLS_INTEGER = 159; +HiveSqlParser.T_REAL = 160; +HiveSqlParser.T_RESULT_SET_LOCATOR = 161; +HiveSqlParser.T_VARYING = 162; +HiveSqlParser.T_SIMPLE_FLOAT = 163; +HiveSqlParser.T_SIMPLE_DOUBLE = 164; +HiveSqlParser.T_SIMPLE_INTEGER = 165; +HiveSqlParser.T_SMALLINT = 166; +HiveSqlParser.T_SMALLDATETIME = 167; +HiveSqlParser.T_STRING = 168; +HiveSqlParser.T_SYS_REFCURSOR = 169; +HiveSqlParser.T_TIMESTAMP = 170; +HiveSqlParser.T_TINYINT = 171; +HiveSqlParser.T_VARCHAR = 172; +HiveSqlParser.T_VARCHAR2 = 173; +HiveSqlParser.T_XML = 174; +HiveSqlParser.T_TYPE = 175; +HiveSqlParser.T_ROWTYPE = 176; +HiveSqlParser.T_MAX = 177; +HiveSqlParser.T_BYTE = 178; +HiveSqlParser.T_CASESPECIFIC = 179; +HiveSqlParser.T_CS = 180; +HiveSqlParser.T_DATABASE = 181; +HiveSqlParser.T_SCHEMA = 182; +HiveSqlParser.T_LOCATION = 183; +HiveSqlParser.T_OR = 184; +HiveSqlParser.T_FUNCTION = 185; +HiveSqlParser.T_RETURNS = 186; +HiveSqlParser.T_PACKAGE = 187; +HiveSqlParser.T_PROC = 188; +HiveSqlParser.T_BODY = 189; +HiveSqlParser.T_OUT = 190; +HiveSqlParser.T_INOUT = 191; +HiveSqlParser.T_LANGUAGE = 192; +HiveSqlParser.T_SQL = 193; +HiveSqlParser.T_SECURITY = 194; +HiveSqlParser.T_CREATOR = 195; +HiveSqlParser.T_DEFINER = 196; +HiveSqlParser.T_INVOKER = 197; +HiveSqlParser.T_OWNER = 198; +HiveSqlParser.T_DYNAMIC = 199; +HiveSqlParser.T_SETS = 200; +HiveSqlParser.T_EXEC = 201; +HiveSqlParser.T_EXECUTE = 202; +HiveSqlParser.T_INTO = 203; +HiveSqlParser.T_ELSE = 204; +HiveSqlParser.T_ELSIF = 205; +HiveSqlParser.T_ELSEIF = 206; +HiveSqlParser.T_INCLUDE = 207; +HiveSqlParser.T_INSERT = 208; +HiveSqlParser.T_OVERWRITE = 209; +HiveSqlParser.T_VALUES = 210; +HiveSqlParser.T_DIRECTORY = 211; +HiveSqlParser.T_GET = 212; +HiveSqlParser.T_DIAGNOSTICS = 213; +HiveSqlParser.T_MESSAGE_TEXT = 214; +HiveSqlParser.T_ROW_COUNT = 215; +HiveSqlParser.T_GRANT = 216; +HiveSqlParser.T_ROLE = 217; +HiveSqlParser.T_LEAVE = 218; +HiveSqlParser.T_OBJECT = 219; +HiveSqlParser.T_AT = 220; +HiveSqlParser.T_OPEN = 221; +HiveSqlParser.T_FETCH = 222; +HiveSqlParser.T_FROM = 223; +HiveSqlParser.T_COLLECT = 224; +HiveSqlParser.T_STATISTICS = 225; +HiveSqlParser.T_STATS = 226; +HiveSqlParser.T_COLUMN = 227; +HiveSqlParser.T_CLOSE = 228; +HiveSqlParser.T_CMP = 229; +HiveSqlParser.T_SUM = 230; +HiveSqlParser.T_COPY = 231; +HiveSqlParser.T_HDFS = 232; +HiveSqlParser.T_BATCHSIZE = 233; +HiveSqlParser.T_DELIMITER = 234; +HiveSqlParser.T_SQLINSERT = 235; +HiveSqlParser.T_IGNORE = 236; +HiveSqlParser.T_WORK = 237; +HiveSqlParser.T_PRINT = 238; +HiveSqlParser.T_QUIT = 239; +HiveSqlParser.T_RAISE = 240; +HiveSqlParser.T_RESIGNAL = 241; +HiveSqlParser.T_SQLSTATE = 242; +HiveSqlParser.T_VALUE = 243; +HiveSqlParser.T_ROLLBACK = 244; +HiveSqlParser.T_CURRENT = 245; +HiveSqlParser.T_CURRENT_SCHEMA = 246; +HiveSqlParser.T_ANSI_NULLS = 247; +HiveSqlParser.T_ANSI_PADDING = 248; +HiveSqlParser.T_NOCOUNT = 249; +HiveSqlParser.T_QUOTED_IDENTIFIER = 250; +HiveSqlParser.T_XACT_ABORT = 251; +HiveSqlParser.T_OFF = 252; +HiveSqlParser.T_QUERY_BAND = 253; +HiveSqlParser.T_NONE = 254; +HiveSqlParser.T_SESSION = 255; +HiveSqlParser.T_SIGNAL = 256; +HiveSqlParser.T_SUMMARY = 257; +HiveSqlParser.T_TOP = 258; +HiveSqlParser.T_LIMIT = 259; +HiveSqlParser.T_TRUNCATE = 260; +HiveSqlParser.T_USE = 261; +HiveSqlParser.T_WHILE = 262; +HiveSqlParser.T_DO = 263; +HiveSqlParser.T_LOOP = 264; +HiveSqlParser.T_REVERSE = 265; +HiveSqlParser.T_DOT2 = 266; +HiveSqlParser.T_STEP = 267; +HiveSqlParser.L_LABEL = 268; +HiveSqlParser.T_LESS = 269; +HiveSqlParser.T_GREATER = 270; +HiveSqlParser.T_USING = 271; +HiveSqlParser.T_UNION = 272; +HiveSqlParser.T_ALL = 273; +HiveSqlParser.T_EXCEPT = 274; +HiveSqlParser.T_INTERSECT = 275; +HiveSqlParser.T_SELECT = 276; +HiveSqlParser.T_SEL = 277; +HiveSqlParser.T_DISTINCT = 278; +HiveSqlParser.T_TITLE = 279; +HiveSqlParser.L_S_STRING = 280; +HiveSqlParser.T_INNER = 281; +HiveSqlParser.T_JOIN = 282; +HiveSqlParser.T_LEFT = 283; +HiveSqlParser.T_RIGHT = 284; +HiveSqlParser.T_FULL = 285; +HiveSqlParser.T_OUTER = 286; +HiveSqlParser.T_WHERE = 287; +HiveSqlParser.T_GROUP = 288; +HiveSqlParser.T_HAVING = 289; +HiveSqlParser.T_QUALIFY = 290; +HiveSqlParser.T_ORDER = 291; +HiveSqlParser.T_RR = 292; +HiveSqlParser.T_RS = 293; +HiveSqlParser.T_UR = 294; +HiveSqlParser.T_AND = 295; +HiveSqlParser.T_KEEP = 296; +HiveSqlParser.T_EXCLUSIVE = 297; +HiveSqlParser.T_SHARE = 298; +HiveSqlParser.T_LOCKS = 299; +HiveSqlParser.T_MERGE = 300; +HiveSqlParser.T_MATCHED = 301; +HiveSqlParser.T_DESCRIBE = 302; +HiveSqlParser.T_BETWEEN = 303; +HiveSqlParser.T_EQUAL2 = 304; +HiveSqlParser.T_NOTEQUAL = 305; +HiveSqlParser.T_NOTEQUAL2 = 306; +HiveSqlParser.T_LESSEQUAL = 307; +HiveSqlParser.T_GREATEREQUAL = 308; +HiveSqlParser.T_RLIKE = 309; +HiveSqlParser.T_REGEXP = 310; +HiveSqlParser.T_MUL = 311; +HiveSqlParser.T_DIV = 312; +HiveSqlParser.T_ADD = 313; +HiveSqlParser.T_SUB = 314; +HiveSqlParser.T_INTERVAL = 315; +HiveSqlParser.T_DAY = 316; +HiveSqlParser.T_DAYS = 317; +HiveSqlParser.T_MICROSECOND = 318; +HiveSqlParser.T_MICROSECONDS = 319; +HiveSqlParser.T_SECOND = 320; +HiveSqlParser.T_SECONDS = 321; +HiveSqlParser.T_PIPE = 322; +HiveSqlParser.T_CONCAT = 323; +HiveSqlParser.T_CASE = 324; +HiveSqlParser.T_ISOPEN = 325; +HiveSqlParser.T_NOTFOUND = 326; +HiveSqlParser.T_AVG = 327; +HiveSqlParser.T_COUNT = 328; +HiveSqlParser.T_COUNT_BIG = 329; +HiveSqlParser.T_CUME_DIST = 330; +HiveSqlParser.T_DENSE_RANK = 331; +HiveSqlParser.T_FIRST_VALUE = 332; +HiveSqlParser.T_LAG = 333; +HiveSqlParser.T_LAST_VALUE = 334; +HiveSqlParser.T_LEAD = 335; +HiveSqlParser.T_MIN = 336; +HiveSqlParser.T_RANK = 337; +HiveSqlParser.T_ROW_NUMBER = 338; +HiveSqlParser.T_STDEV = 339; +HiveSqlParser.T_VAR = 340; +HiveSqlParser.T_VARIANCE = 341; +HiveSqlParser.T_OVER = 342; +HiveSqlParser.T_PARTITION = 343; +HiveSqlParser.T_ACTIVITY_COUNT = 344; +HiveSqlParser.T_CAST = 345; +HiveSqlParser.T_CURRENT_DATE = 346; +HiveSqlParser.T_CURRENT_TIMESTAMP = 347; +HiveSqlParser.T_CURRENT_USER = 348; +HiveSqlParser.T_USER = 349; +HiveSqlParser.T_MAX_PART_STRING = 350; +HiveSqlParser.T_MIN_PART_STRING = 351; +HiveSqlParser.T_MAX_PART_INT = 352; +HiveSqlParser.T_MIN_PART_INT = 353; +HiveSqlParser.T_MAX_PART_DATE = 354; +HiveSqlParser.T_MIN_PART_DATE = 355; +HiveSqlParser.T_PART_COUNT = 356; +HiveSqlParser.T_PART_LOC = 357; +HiveSqlParser.T_TRIM = 358; +HiveSqlParser.T_SUBSTRING = 359; +HiveSqlParser.T_SYSDATE = 360; +HiveSqlParser.T_HIVE = 361; +HiveSqlParser.T_HOST = 362; +HiveSqlParser.L_FILE = 363; +HiveSqlParser.L_D_STRING = 364; +HiveSqlParser.L_DEC = 365; +HiveSqlParser.T_TRUE = 366; +HiveSqlParser.T_FALSE = 367; +HiveSqlParser.T_DIR = 368; +HiveSqlParser.T_FILE = 369; +HiveSqlParser.T_FILES = 370; +HiveSqlParser.T_NEW = 371; +HiveSqlParser.T_PWD = 372; +HiveSqlParser.T_SESSIONS = 373; +HiveSqlParser.T_SUBDIR = 374; + +HiveSqlParser.RULE_program = 0; +HiveSqlParser.RULE_block = 1; +HiveSqlParser.RULE_begin_end_block = 2; +HiveSqlParser.RULE_single_block_stmt = 3; +HiveSqlParser.RULE_block_end = 4; +HiveSqlParser.RULE_proc_block = 5; +HiveSqlParser.RULE_stmt = 6; +HiveSqlParser.RULE_semicolon_stmt = 7; +HiveSqlParser.RULE_exception_block = 8; +HiveSqlParser.RULE_exception_block_item = 9; +HiveSqlParser.RULE_null_stmt = 10; +HiveSqlParser.RULE_expr_stmt = 11; +HiveSqlParser.RULE_assignment_stmt = 12; +HiveSqlParser.RULE_assignment_stmt_item = 13; +HiveSqlParser.RULE_assignment_stmt_single_item = 14; +HiveSqlParser.RULE_assignment_stmt_multiple_item = 15; +HiveSqlParser.RULE_assignment_stmt_select_item = 16; +HiveSqlParser.RULE_allocate_cursor_stmt = 17; +HiveSqlParser.RULE_associate_locator_stmt = 18; +HiveSqlParser.RULE_begin_transaction_stmt = 19; +HiveSqlParser.RULE_break_stmt = 20; +HiveSqlParser.RULE_call_stmt = 21; +HiveSqlParser.RULE_declare_stmt = 22; +HiveSqlParser.RULE_declare_block = 23; +HiveSqlParser.RULE_declare_block_inplace = 24; +HiveSqlParser.RULE_declare_stmt_item = 25; +HiveSqlParser.RULE_declare_var_item = 26; +HiveSqlParser.RULE_declare_condition_item = 27; +HiveSqlParser.RULE_declare_cursor_item = 28; +HiveSqlParser.RULE_cursor_with_return = 29; +HiveSqlParser.RULE_cursor_without_return = 30; +HiveSqlParser.RULE_declare_handler_item = 31; +HiveSqlParser.RULE_declare_temporary_table_item = 32; +HiveSqlParser.RULE_create_table_stmt = 33; +HiveSqlParser.RULE_create_local_temp_table_stmt = 34; +HiveSqlParser.RULE_create_table_definition = 35; +HiveSqlParser.RULE_create_table_columns = 36; +HiveSqlParser.RULE_create_table_columns_item = 37; +HiveSqlParser.RULE_column_name = 38; +HiveSqlParser.RULE_create_table_column_inline_cons = 39; +HiveSqlParser.RULE_create_table_column_cons = 40; +HiveSqlParser.RULE_create_table_fk_action = 41; +HiveSqlParser.RULE_create_table_preoptions = 42; +HiveSqlParser.RULE_create_table_preoptions_item = 43; +HiveSqlParser.RULE_create_table_preoptions_td_item = 44; +HiveSqlParser.RULE_create_table_options = 45; +HiveSqlParser.RULE_create_table_options_item = 46; +HiveSqlParser.RULE_create_table_options_ora_item = 47; +HiveSqlParser.RULE_create_table_options_db2_item = 48; +HiveSqlParser.RULE_create_table_options_td_item = 49; +HiveSqlParser.RULE_create_table_options_hive_item = 50; +HiveSqlParser.RULE_create_table_hive_row_format = 51; +HiveSqlParser.RULE_create_table_hive_row_format_fields = 52; +HiveSqlParser.RULE_create_table_options_mssql_item = 53; +HiveSqlParser.RULE_create_table_options_mysql_item = 54; +HiveSqlParser.RULE_alter_table_stmt = 55; +HiveSqlParser.RULE_alter_table_item = 56; +HiveSqlParser.RULE_alter_table_add_constraint = 57; +HiveSqlParser.RULE_alter_table_add_constraint_item = 58; +HiveSqlParser.RULE_dtype = 59; +HiveSqlParser.RULE_dtype_len = 60; +HiveSqlParser.RULE_dtype_attr = 61; +HiveSqlParser.RULE_dtype_default = 62; +HiveSqlParser.RULE_create_database_stmt = 63; +HiveSqlParser.RULE_create_database_option = 64; +HiveSqlParser.RULE_create_function_stmt = 65; +HiveSqlParser.RULE_create_function_return = 66; +HiveSqlParser.RULE_create_package_stmt = 67; +HiveSqlParser.RULE_package_spec = 68; +HiveSqlParser.RULE_package_spec_item = 69; +HiveSqlParser.RULE_create_package_body_stmt = 70; +HiveSqlParser.RULE_package_body = 71; +HiveSqlParser.RULE_package_body_item = 72; +HiveSqlParser.RULE_create_procedure_stmt = 73; +HiveSqlParser.RULE_create_routine_params = 74; +HiveSqlParser.RULE_create_routine_param_item = 75; +HiveSqlParser.RULE_create_routine_options = 76; +HiveSqlParser.RULE_create_routine_option = 77; +HiveSqlParser.RULE_drop_stmt = 78; +HiveSqlParser.RULE_end_transaction_stmt = 79; +HiveSqlParser.RULE_exec_stmt = 80; +HiveSqlParser.RULE_if_stmt = 81; +HiveSqlParser.RULE_if_plsql_stmt = 82; +HiveSqlParser.RULE_if_tsql_stmt = 83; +HiveSqlParser.RULE_if_bteq_stmt = 84; +HiveSqlParser.RULE_elseif_block = 85; +HiveSqlParser.RULE_else_block = 86; +HiveSqlParser.RULE_include_stmt = 87; +HiveSqlParser.RULE_insert_stmt = 88; +HiveSqlParser.RULE_insert_stmt_cols = 89; +HiveSqlParser.RULE_insert_stmt_rows = 90; +HiveSqlParser.RULE_insert_stmt_row = 91; +HiveSqlParser.RULE_insert_directory_stmt = 92; +HiveSqlParser.RULE_exit_stmt = 93; +HiveSqlParser.RULE_get_diag_stmt = 94; +HiveSqlParser.RULE_get_diag_stmt_item = 95; +HiveSqlParser.RULE_get_diag_stmt_exception_item = 96; +HiveSqlParser.RULE_get_diag_stmt_rowcount_item = 97; +HiveSqlParser.RULE_grant_stmt = 98; +HiveSqlParser.RULE_grant_stmt_item = 99; +HiveSqlParser.RULE_leave_stmt = 100; +HiveSqlParser.RULE_map_object_stmt = 101; +HiveSqlParser.RULE_open_stmt = 102; +HiveSqlParser.RULE_fetch_stmt = 103; +HiveSqlParser.RULE_collect_stats_stmt = 104; +HiveSqlParser.RULE_collect_stats_clause = 105; +HiveSqlParser.RULE_close_stmt = 106; +HiveSqlParser.RULE_cmp_stmt = 107; +HiveSqlParser.RULE_cmp_source = 108; +HiveSqlParser.RULE_copy_from_local_stmt = 109; +HiveSqlParser.RULE_copy_stmt = 110; +HiveSqlParser.RULE_copy_source = 111; +HiveSqlParser.RULE_copy_target = 112; +HiveSqlParser.RULE_copy_option = 113; +HiveSqlParser.RULE_copy_file_option = 114; +HiveSqlParser.RULE_commit_stmt = 115; +HiveSqlParser.RULE_create_index_stmt = 116; +HiveSqlParser.RULE_create_index_col = 117; +HiveSqlParser.RULE_index_storage_clause = 118; +HiveSqlParser.RULE_index_mssql_storage_clause = 119; +HiveSqlParser.RULE_print_stmt = 120; +HiveSqlParser.RULE_quit_stmt = 121; +HiveSqlParser.RULE_raise_stmt = 122; +HiveSqlParser.RULE_resignal_stmt = 123; +HiveSqlParser.RULE_return_stmt = 124; +HiveSqlParser.RULE_rollback_stmt = 125; +HiveSqlParser.RULE_set_session_option = 126; +HiveSqlParser.RULE_set_current_schema_option = 127; +HiveSqlParser.RULE_set_mssql_session_option = 128; +HiveSqlParser.RULE_set_teradata_session_option = 129; +HiveSqlParser.RULE_signal_stmt = 130; +HiveSqlParser.RULE_summary_stmt = 131; +HiveSqlParser.RULE_truncate_stmt = 132; +HiveSqlParser.RULE_use_stmt = 133; +HiveSqlParser.RULE_values_into_stmt = 134; +HiveSqlParser.RULE_while_stmt = 135; +HiveSqlParser.RULE_for_cursor_stmt = 136; +HiveSqlParser.RULE_for_range_stmt = 137; +HiveSqlParser.RULE_label = 138; +HiveSqlParser.RULE_using_clause = 139; +HiveSqlParser.RULE_select_stmt = 140; +HiveSqlParser.RULE_cte_select_stmt = 141; +HiveSqlParser.RULE_cte_select_stmt_item = 142; +HiveSqlParser.RULE_cte_select_cols = 143; +HiveSqlParser.RULE_fullselect_stmt = 144; +HiveSqlParser.RULE_fullselect_stmt_item = 145; +HiveSqlParser.RULE_fullselect_set_clause = 146; +HiveSqlParser.RULE_subselect_stmt = 147; +HiveSqlParser.RULE_select_list = 148; +HiveSqlParser.RULE_select_list_set = 149; +HiveSqlParser.RULE_select_list_limit = 150; +HiveSqlParser.RULE_select_list_item = 151; +HiveSqlParser.RULE_select_list_alias = 152; +HiveSqlParser.RULE_select_list_asterisk = 153; +HiveSqlParser.RULE_into_clause = 154; +HiveSqlParser.RULE_from_clause = 155; +HiveSqlParser.RULE_from_table_clause = 156; +HiveSqlParser.RULE_from_table_name_clause = 157; +HiveSqlParser.RULE_from_subselect_clause = 158; +HiveSqlParser.RULE_from_join_clause = 159; +HiveSqlParser.RULE_from_join_type_clause = 160; +HiveSqlParser.RULE_from_table_values_clause = 161; +HiveSqlParser.RULE_from_table_values_row = 162; +HiveSqlParser.RULE_from_alias_clause = 163; +HiveSqlParser.RULE_table_name = 164; +HiveSqlParser.RULE_where_clause = 165; +HiveSqlParser.RULE_group_by_clause = 166; +HiveSqlParser.RULE_having_clause = 167; +HiveSqlParser.RULE_qualify_clause = 168; +HiveSqlParser.RULE_order_by_clause = 169; +HiveSqlParser.RULE_select_options = 170; +HiveSqlParser.RULE_select_options_item = 171; +HiveSqlParser.RULE_update_stmt = 172; +HiveSqlParser.RULE_update_assignment = 173; +HiveSqlParser.RULE_update_table = 174; +HiveSqlParser.RULE_update_upsert = 175; +HiveSqlParser.RULE_merge_stmt = 176; +HiveSqlParser.RULE_merge_table = 177; +HiveSqlParser.RULE_merge_condition = 178; +HiveSqlParser.RULE_merge_action = 179; +HiveSqlParser.RULE_delete_stmt = 180; +HiveSqlParser.RULE_delete_alias = 181; +HiveSqlParser.RULE_describe_stmt = 182; +HiveSqlParser.RULE_bool_expr = 183; +HiveSqlParser.RULE_bool_expr_atom = 184; +HiveSqlParser.RULE_bool_expr_unary = 185; +HiveSqlParser.RULE_bool_expr_single_in = 186; +HiveSqlParser.RULE_bool_expr_multi_in = 187; +HiveSqlParser.RULE_bool_expr_binary = 188; +HiveSqlParser.RULE_bool_expr_logical_operator = 189; +HiveSqlParser.RULE_bool_expr_binary_operator = 190; +HiveSqlParser.RULE_expr = 191; +HiveSqlParser.RULE_expr_atom = 192; +HiveSqlParser.RULE_expr_interval = 193; +HiveSqlParser.RULE_interval_item = 194; +HiveSqlParser.RULE_expr_concat = 195; +HiveSqlParser.RULE_expr_concat_item = 196; +HiveSqlParser.RULE_expr_case = 197; +HiveSqlParser.RULE_expr_case_simple = 198; +HiveSqlParser.RULE_expr_case_searched = 199; +HiveSqlParser.RULE_expr_cursor_attribute = 200; +HiveSqlParser.RULE_expr_agg_window_func = 201; +HiveSqlParser.RULE_expr_func_all_distinct = 202; +HiveSqlParser.RULE_expr_func_over_clause = 203; +HiveSqlParser.RULE_expr_func_partition_by_clause = 204; +HiveSqlParser.RULE_expr_spec_func = 205; +HiveSqlParser.RULE_expr_func = 206; +HiveSqlParser.RULE_expr_func_params = 207; +HiveSqlParser.RULE_func_param = 208; +HiveSqlParser.RULE_expr_select = 209; +HiveSqlParser.RULE_expr_file = 210; +HiveSqlParser.RULE_hive = 211; +HiveSqlParser.RULE_hive_item = 212; +HiveSqlParser.RULE_host = 213; +HiveSqlParser.RULE_host_cmd = 214; +HiveSqlParser.RULE_host_stmt = 215; +HiveSqlParser.RULE_file_name = 216; +HiveSqlParser.RULE_date_literal = 217; +HiveSqlParser.RULE_timestamp_literal = 218; +HiveSqlParser.RULE_ident = 219; +HiveSqlParser.RULE_string = 220; +HiveSqlParser.RULE_int_number = 221; +HiveSqlParser.RULE_dec_number = 222; +HiveSqlParser.RULE_bool_literal = 223; +HiveSqlParser.RULE_null_const = 224; +HiveSqlParser.RULE_non_reserved_words = 225; + + +function ProgramContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_program; + return this; +} + +ProgramContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ProgramContext.prototype.constructor = ProgramContext; + +ProgramContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +ProgramContext.prototype.EOF = function() { + return this.getToken(HiveSqlParser.EOF, 0); +}; + +ProgramContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterProgram(this); + } +}; + +ProgramContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitProgram(this); + } +}; + +ProgramContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitProgram(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.ProgramContext = ProgramContext; + +HiveSqlParser.prototype.program = function() { + + var localctx = new ProgramContext(this, this._ctx, this.state); + this.enterRule(localctx, 0, HiveSqlParser.RULE_program); + try { + this.enterOuterAlt(localctx, 1); + this.state = 452; + this.block(); + this.state = 453; + this.match(HiveSqlParser.EOF); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function BlockContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_block; + return this; +} + +BlockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +BlockContext.prototype.constructor = BlockContext; + +BlockContext.prototype.begin_end_block = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Begin_end_blockContext); + } else { + return this.getTypedRuleContext(Begin_end_blockContext,i); + } +}; + +BlockContext.prototype.stmt = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(StmtContext); + } else { + return this.getTypedRuleContext(StmtContext,i); + } +}; + +BlockContext.prototype.T_GO = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_GO); + } else { + return this.getToken(HiveSqlParser.T_GO, i); + } +}; + + +BlockContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBlock(this); + } +}; + +BlockContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBlock(this); + } +}; + +BlockContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBlock(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.BlockContext = BlockContext; + +HiveSqlParser.prototype.block = function() { + + var localctx = new BlockContext(this, this._ctx, this.state); + this.enterRule(localctx, 2, HiveSqlParser.RULE_block); + try { + this.enterOuterAlt(localctx, 1); + this.state = 462; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 457; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,0,this._ctx); + switch(la_) { + case 1: + this.state = 455; + this.begin_end_block(); + break; + + case 2: + this.state = 456; + this.stmt(); + break; + + } + this.state = 460; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,1,this._ctx); + if(la_===1) { + this.state = 459; + this.match(HiveSqlParser.T_GO); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 464; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,2, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Begin_end_blockContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_begin_end_block; + return this; +} + +Begin_end_blockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Begin_end_blockContext.prototype.constructor = Begin_end_blockContext; + +Begin_end_blockContext.prototype.T_BEGIN = function() { + return this.getToken(HiveSqlParser.T_BEGIN, 0); +}; + +Begin_end_blockContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +Begin_end_blockContext.prototype.block_end = function() { + return this.getTypedRuleContext(Block_endContext,0); +}; + +Begin_end_blockContext.prototype.declare_block = function() { + return this.getTypedRuleContext(Declare_blockContext,0); +}; + +Begin_end_blockContext.prototype.exception_block = function() { + return this.getTypedRuleContext(Exception_blockContext,0); +}; + +Begin_end_blockContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBegin_end_block(this); + } +}; + +Begin_end_blockContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBegin_end_block(this); + } +}; + +Begin_end_blockContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBegin_end_block(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Begin_end_blockContext = Begin_end_blockContext; + +HiveSqlParser.prototype.begin_end_block = function() { + + var localctx = new Begin_end_blockContext(this, this._ctx, this.state); + this.enterRule(localctx, 4, HiveSqlParser.RULE_begin_end_block); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 467; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_DECLARE) { + this.state = 466; + this.declare_block(); + } + + this.state = 469; + this.match(HiveSqlParser.T_BEGIN); + this.state = 470; + this.block(); + this.state = 472; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,4,this._ctx); + if(la_===1) { + this.state = 471; + this.exception_block(); + + } + this.state = 474; + this.block_end(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Single_block_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_single_block_stmt; + return this; +} + +Single_block_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Single_block_stmtContext.prototype.constructor = Single_block_stmtContext; + +Single_block_stmtContext.prototype.T_BEGIN = function() { + return this.getToken(HiveSqlParser.T_BEGIN, 0); +}; + +Single_block_stmtContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +Single_block_stmtContext.prototype.block_end = function() { + return this.getTypedRuleContext(Block_endContext,0); +}; + +Single_block_stmtContext.prototype.exception_block = function() { + return this.getTypedRuleContext(Exception_blockContext,0); +}; + +Single_block_stmtContext.prototype.stmt = function() { + return this.getTypedRuleContext(StmtContext,0); +}; + +Single_block_stmtContext.prototype.T_SEMICOLON = function() { + return this.getToken(HiveSqlParser.T_SEMICOLON, 0); +}; + +Single_block_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSingle_block_stmt(this); + } +}; + +Single_block_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSingle_block_stmt(this); + } +}; + +Single_block_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSingle_block_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Single_block_stmtContext = Single_block_stmtContext; + +HiveSqlParser.prototype.single_block_stmt = function() { + + var localctx = new Single_block_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 6, HiveSqlParser.RULE_single_block_stmt); + try { + this.state = 487; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,7,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 476; + this.match(HiveSqlParser.T_BEGIN); + this.state = 477; + this.block(); + this.state = 479; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,5,this._ctx); + if(la_===1) { + this.state = 478; + this.exception_block(); + + } + this.state = 481; + this.block_end(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 483; + this.stmt(); + this.state = 485; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,6,this._ctx); + if(la_===1) { + this.state = 484; + this.match(HiveSqlParser.T_SEMICOLON); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Block_endContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_block_end; + return this; +} + +Block_endContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Block_endContext.prototype.constructor = Block_endContext; + +Block_endContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +Block_endContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBlock_end(this); + } +}; + +Block_endContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBlock_end(this); + } +}; + +Block_endContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBlock_end(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Block_endContext = Block_endContext; + +HiveSqlParser.prototype.block_end = function() { + + var localctx = new Block_endContext(this, this._ctx, this.state); + this.enterRule(localctx, 8, HiveSqlParser.RULE_block_end); + try { + this.enterOuterAlt(localctx, 1); + this.state = 489; + if (!( !this._input.LT(2).getText().equalsIgnoreCase("TRANSACTION"))) { + throw new antlr4.error.FailedPredicateException(this, "!this._input.LT(2).getText().equalsIgnoreCase(\"TRANSACTION\")"); + } + this.state = 490; + this.match(HiveSqlParser.T_END); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Proc_blockContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_proc_block; + return this; +} + +Proc_blockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Proc_blockContext.prototype.constructor = Proc_blockContext; + +Proc_blockContext.prototype.begin_end_block = function() { + return this.getTypedRuleContext(Begin_end_blockContext,0); +}; + +Proc_blockContext.prototype.stmt = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(StmtContext); + } else { + return this.getTypedRuleContext(StmtContext,i); + } +}; + +Proc_blockContext.prototype.T_GO = function() { + return this.getToken(HiveSqlParser.T_GO, 0); +}; + +Proc_blockContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterProc_block(this); + } +}; + +Proc_blockContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitProc_block(this); + } +}; + +Proc_blockContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitProc_block(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Proc_blockContext = Proc_blockContext; + +HiveSqlParser.prototype.proc_block = function() { + + var localctx = new Proc_blockContext(this, this._ctx, this.state); + this.enterRule(localctx, 10, HiveSqlParser.RULE_proc_block); + try { + this.state = 501; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,10,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 492; + this.begin_end_block(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 494; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 493; + this.stmt(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 496; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,8, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 499; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,9,this._ctx); + if(la_===1) { + this.state = 498; + this.match(HiveSqlParser.T_GO); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_stmt; + return this; +} + +StmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StmtContext.prototype.constructor = StmtContext; + +StmtContext.prototype.assignment_stmt = function() { + return this.getTypedRuleContext(Assignment_stmtContext,0); +}; + +StmtContext.prototype.allocate_cursor_stmt = function() { + return this.getTypedRuleContext(Allocate_cursor_stmtContext,0); +}; + +StmtContext.prototype.alter_table_stmt = function() { + return this.getTypedRuleContext(Alter_table_stmtContext,0); +}; + +StmtContext.prototype.associate_locator_stmt = function() { + return this.getTypedRuleContext(Associate_locator_stmtContext,0); +}; + +StmtContext.prototype.begin_transaction_stmt = function() { + return this.getTypedRuleContext(Begin_transaction_stmtContext,0); +}; + +StmtContext.prototype.break_stmt = function() { + return this.getTypedRuleContext(Break_stmtContext,0); +}; + +StmtContext.prototype.call_stmt = function() { + return this.getTypedRuleContext(Call_stmtContext,0); +}; + +StmtContext.prototype.collect_stats_stmt = function() { + return this.getTypedRuleContext(Collect_stats_stmtContext,0); +}; + +StmtContext.prototype.close_stmt = function() { + return this.getTypedRuleContext(Close_stmtContext,0); +}; + +StmtContext.prototype.cmp_stmt = function() { + return this.getTypedRuleContext(Cmp_stmtContext,0); +}; + +StmtContext.prototype.copy_from_local_stmt = function() { + return this.getTypedRuleContext(Copy_from_local_stmtContext,0); +}; + +StmtContext.prototype.copy_stmt = function() { + return this.getTypedRuleContext(Copy_stmtContext,0); +}; + +StmtContext.prototype.commit_stmt = function() { + return this.getTypedRuleContext(Commit_stmtContext,0); +}; + +StmtContext.prototype.create_database_stmt = function() { + return this.getTypedRuleContext(Create_database_stmtContext,0); +}; + +StmtContext.prototype.create_function_stmt = function() { + return this.getTypedRuleContext(Create_function_stmtContext,0); +}; + +StmtContext.prototype.create_index_stmt = function() { + return this.getTypedRuleContext(Create_index_stmtContext,0); +}; + +StmtContext.prototype.create_local_temp_table_stmt = function() { + return this.getTypedRuleContext(Create_local_temp_table_stmtContext,0); +}; + +StmtContext.prototype.create_package_stmt = function() { + return this.getTypedRuleContext(Create_package_stmtContext,0); +}; + +StmtContext.prototype.create_package_body_stmt = function() { + return this.getTypedRuleContext(Create_package_body_stmtContext,0); +}; + +StmtContext.prototype.create_procedure_stmt = function() { + return this.getTypedRuleContext(Create_procedure_stmtContext,0); +}; + +StmtContext.prototype.create_table_stmt = function() { + return this.getTypedRuleContext(Create_table_stmtContext,0); +}; + +StmtContext.prototype.declare_stmt = function() { + return this.getTypedRuleContext(Declare_stmtContext,0); +}; + +StmtContext.prototype.delete_stmt = function() { + return this.getTypedRuleContext(Delete_stmtContext,0); +}; + +StmtContext.prototype.describe_stmt = function() { + return this.getTypedRuleContext(Describe_stmtContext,0); +}; + +StmtContext.prototype.drop_stmt = function() { + return this.getTypedRuleContext(Drop_stmtContext,0); +}; + +StmtContext.prototype.end_transaction_stmt = function() { + return this.getTypedRuleContext(End_transaction_stmtContext,0); +}; + +StmtContext.prototype.exec_stmt = function() { + return this.getTypedRuleContext(Exec_stmtContext,0); +}; + +StmtContext.prototype.exit_stmt = function() { + return this.getTypedRuleContext(Exit_stmtContext,0); +}; + +StmtContext.prototype.fetch_stmt = function() { + return this.getTypedRuleContext(Fetch_stmtContext,0); +}; + +StmtContext.prototype.for_cursor_stmt = function() { + return this.getTypedRuleContext(For_cursor_stmtContext,0); +}; + +StmtContext.prototype.for_range_stmt = function() { + return this.getTypedRuleContext(For_range_stmtContext,0); +}; + +StmtContext.prototype.if_stmt = function() { + return this.getTypedRuleContext(If_stmtContext,0); +}; + +StmtContext.prototype.include_stmt = function() { + return this.getTypedRuleContext(Include_stmtContext,0); +}; + +StmtContext.prototype.insert_stmt = function() { + return this.getTypedRuleContext(Insert_stmtContext,0); +}; + +StmtContext.prototype.insert_directory_stmt = function() { + return this.getTypedRuleContext(Insert_directory_stmtContext,0); +}; + +StmtContext.prototype.get_diag_stmt = function() { + return this.getTypedRuleContext(Get_diag_stmtContext,0); +}; + +StmtContext.prototype.grant_stmt = function() { + return this.getTypedRuleContext(Grant_stmtContext,0); +}; + +StmtContext.prototype.leave_stmt = function() { + return this.getTypedRuleContext(Leave_stmtContext,0); +}; + +StmtContext.prototype.map_object_stmt = function() { + return this.getTypedRuleContext(Map_object_stmtContext,0); +}; + +StmtContext.prototype.merge_stmt = function() { + return this.getTypedRuleContext(Merge_stmtContext,0); +}; + +StmtContext.prototype.open_stmt = function() { + return this.getTypedRuleContext(Open_stmtContext,0); +}; + +StmtContext.prototype.print_stmt = function() { + return this.getTypedRuleContext(Print_stmtContext,0); +}; + +StmtContext.prototype.quit_stmt = function() { + return this.getTypedRuleContext(Quit_stmtContext,0); +}; + +StmtContext.prototype.raise_stmt = function() { + return this.getTypedRuleContext(Raise_stmtContext,0); +}; + +StmtContext.prototype.resignal_stmt = function() { + return this.getTypedRuleContext(Resignal_stmtContext,0); +}; + +StmtContext.prototype.return_stmt = function() { + return this.getTypedRuleContext(Return_stmtContext,0); +}; + +StmtContext.prototype.rollback_stmt = function() { + return this.getTypedRuleContext(Rollback_stmtContext,0); +}; + +StmtContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +StmtContext.prototype.signal_stmt = function() { + return this.getTypedRuleContext(Signal_stmtContext,0); +}; + +StmtContext.prototype.summary_stmt = function() { + return this.getTypedRuleContext(Summary_stmtContext,0); +}; + +StmtContext.prototype.update_stmt = function() { + return this.getTypedRuleContext(Update_stmtContext,0); +}; + +StmtContext.prototype.use_stmt = function() { + return this.getTypedRuleContext(Use_stmtContext,0); +}; + +StmtContext.prototype.truncate_stmt = function() { + return this.getTypedRuleContext(Truncate_stmtContext,0); +}; + +StmtContext.prototype.values_into_stmt = function() { + return this.getTypedRuleContext(Values_into_stmtContext,0); +}; + +StmtContext.prototype.while_stmt = function() { + return this.getTypedRuleContext(While_stmtContext,0); +}; + +StmtContext.prototype.label = function() { + return this.getTypedRuleContext(LabelContext,0); +}; + +StmtContext.prototype.hive = function() { + return this.getTypedRuleContext(HiveContext,0); +}; + +StmtContext.prototype.host = function() { + return this.getTypedRuleContext(HostContext,0); +}; + +StmtContext.prototype.null_stmt = function() { + return this.getTypedRuleContext(Null_stmtContext,0); +}; + +StmtContext.prototype.expr_stmt = function() { + return this.getTypedRuleContext(Expr_stmtContext,0); +}; + +StmtContext.prototype.semicolon_stmt = function() { + return this.getTypedRuleContext(Semicolon_stmtContext,0); +}; + +StmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterStmt(this); + } +}; + +StmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitStmt(this); + } +}; + +StmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitStmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.StmtContext = StmtContext; + +HiveSqlParser.prototype.stmt = function() { + + var localctx = new StmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 12, HiveSqlParser.RULE_stmt); + try { + this.state = 564; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,11,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 503; + this.assignment_stmt(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 504; + this.allocate_cursor_stmt(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 505; + this.alter_table_stmt(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 506; + this.associate_locator_stmt(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 507; + this.begin_transaction_stmt(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 508; + this.break_stmt(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 509; + this.call_stmt(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 510; + this.collect_stats_stmt(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 511; + this.close_stmt(); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 512; + this.cmp_stmt(); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 513; + this.copy_from_local_stmt(); + break; + + case 12: + this.enterOuterAlt(localctx, 12); + this.state = 514; + this.copy_stmt(); + break; + + case 13: + this.enterOuterAlt(localctx, 13); + this.state = 515; + this.commit_stmt(); + break; + + case 14: + this.enterOuterAlt(localctx, 14); + this.state = 516; + this.create_database_stmt(); + break; + + case 15: + this.enterOuterAlt(localctx, 15); + this.state = 517; + this.create_function_stmt(); + break; + + case 16: + this.enterOuterAlt(localctx, 16); + this.state = 518; + this.create_index_stmt(); + break; + + case 17: + this.enterOuterAlt(localctx, 17); + this.state = 519; + this.create_local_temp_table_stmt(); + break; + + case 18: + this.enterOuterAlt(localctx, 18); + this.state = 520; + this.create_package_stmt(); + break; + + case 19: + this.enterOuterAlt(localctx, 19); + this.state = 521; + this.create_package_body_stmt(); + break; + + case 20: + this.enterOuterAlt(localctx, 20); + this.state = 522; + this.create_procedure_stmt(); + break; + + case 21: + this.enterOuterAlt(localctx, 21); + this.state = 523; + this.create_table_stmt(); + break; + + case 22: + this.enterOuterAlt(localctx, 22); + this.state = 524; + this.declare_stmt(); + break; + + case 23: + this.enterOuterAlt(localctx, 23); + this.state = 525; + this.delete_stmt(); + break; + + case 24: + this.enterOuterAlt(localctx, 24); + this.state = 526; + this.describe_stmt(); + break; + + case 25: + this.enterOuterAlt(localctx, 25); + this.state = 527; + this.drop_stmt(); + break; + + case 26: + this.enterOuterAlt(localctx, 26); + this.state = 528; + this.end_transaction_stmt(); + break; + + case 27: + this.enterOuterAlt(localctx, 27); + this.state = 529; + this.exec_stmt(); + break; + + case 28: + this.enterOuterAlt(localctx, 28); + this.state = 530; + this.exit_stmt(); + break; + + case 29: + this.enterOuterAlt(localctx, 29); + this.state = 531; + this.fetch_stmt(); + break; + + case 30: + this.enterOuterAlt(localctx, 30); + this.state = 532; + this.for_cursor_stmt(); + break; + + case 31: + this.enterOuterAlt(localctx, 31); + this.state = 533; + this.for_range_stmt(); + break; + + case 32: + this.enterOuterAlt(localctx, 32); + this.state = 534; + this.if_stmt(); + break; + + case 33: + this.enterOuterAlt(localctx, 33); + this.state = 535; + this.include_stmt(); + break; + + case 34: + this.enterOuterAlt(localctx, 34); + this.state = 536; + this.insert_stmt(); + break; + + case 35: + this.enterOuterAlt(localctx, 35); + this.state = 537; + this.insert_directory_stmt(); + break; + + case 36: + this.enterOuterAlt(localctx, 36); + this.state = 538; + this.get_diag_stmt(); + break; + + case 37: + this.enterOuterAlt(localctx, 37); + this.state = 539; + this.grant_stmt(); + break; + + case 38: + this.enterOuterAlt(localctx, 38); + this.state = 540; + this.leave_stmt(); + break; + + case 39: + this.enterOuterAlt(localctx, 39); + this.state = 541; + this.map_object_stmt(); + break; + + case 40: + this.enterOuterAlt(localctx, 40); + this.state = 542; + this.merge_stmt(); + break; + + case 41: + this.enterOuterAlt(localctx, 41); + this.state = 543; + this.open_stmt(); + break; + + case 42: + this.enterOuterAlt(localctx, 42); + this.state = 544; + this.print_stmt(); + break; + + case 43: + this.enterOuterAlt(localctx, 43); + this.state = 545; + this.quit_stmt(); + break; + + case 44: + this.enterOuterAlt(localctx, 44); + this.state = 546; + this.raise_stmt(); + break; + + case 45: + this.enterOuterAlt(localctx, 45); + this.state = 547; + this.resignal_stmt(); + break; + + case 46: + this.enterOuterAlt(localctx, 46); + this.state = 548; + this.return_stmt(); + break; + + case 47: + this.enterOuterAlt(localctx, 47); + this.state = 549; + this.rollback_stmt(); + break; + + case 48: + this.enterOuterAlt(localctx, 48); + this.state = 550; + this.select_stmt(); + break; + + case 49: + this.enterOuterAlt(localctx, 49); + this.state = 551; + this.signal_stmt(); + break; + + case 50: + this.enterOuterAlt(localctx, 50); + this.state = 552; + this.summary_stmt(); + break; + + case 51: + this.enterOuterAlt(localctx, 51); + this.state = 553; + this.update_stmt(); + break; + + case 52: + this.enterOuterAlt(localctx, 52); + this.state = 554; + this.use_stmt(); + break; + + case 53: + this.enterOuterAlt(localctx, 53); + this.state = 555; + this.truncate_stmt(); + break; + + case 54: + this.enterOuterAlt(localctx, 54); + this.state = 556; + this.values_into_stmt(); + break; + + case 55: + this.enterOuterAlt(localctx, 55); + this.state = 557; + this.while_stmt(); + break; + + case 56: + this.enterOuterAlt(localctx, 56); + this.state = 558; + this.label(); + break; + + case 57: + this.enterOuterAlt(localctx, 57); + this.state = 559; + this.hive(); + break; + + case 58: + this.enterOuterAlt(localctx, 58); + this.state = 560; + this.host(); + break; + + case 59: + this.enterOuterAlt(localctx, 59); + this.state = 561; + this.null_stmt(); + break; + + case 60: + this.enterOuterAlt(localctx, 60); + this.state = 562; + this.expr_stmt(); + break; + + case 61: + this.enterOuterAlt(localctx, 61); + this.state = 563; + this.semicolon_stmt(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Semicolon_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_semicolon_stmt; + return this; +} + +Semicolon_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Semicolon_stmtContext.prototype.constructor = Semicolon_stmtContext; + +Semicolon_stmtContext.prototype.T_SEMICOLON = function() { + return this.getToken(HiveSqlParser.T_SEMICOLON, 0); +}; + +Semicolon_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSemicolon_stmt(this); + } +}; + +Semicolon_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSemicolon_stmt(this); + } +}; + +Semicolon_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSemicolon_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Semicolon_stmtContext = Semicolon_stmtContext; + +HiveSqlParser.prototype.semicolon_stmt = function() { + + var localctx = new Semicolon_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 14, HiveSqlParser.RULE_semicolon_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 566; + _la = this._input.LA(1); + if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << HiveSqlParser.T__0) | (1 << HiveSqlParser.T__1) | (1 << HiveSqlParser.T__2) | (1 << HiveSqlParser.T_SEMICOLON))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Exception_blockContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_exception_block; + return this; +} + +Exception_blockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Exception_blockContext.prototype.constructor = Exception_blockContext; + +Exception_blockContext.prototype.T_EXCEPTION = function() { + return this.getToken(HiveSqlParser.T_EXCEPTION, 0); +}; + +Exception_blockContext.prototype.exception_block_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Exception_block_itemContext); + } else { + return this.getTypedRuleContext(Exception_block_itemContext,i); + } +}; + +Exception_blockContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterException_block(this); + } +}; + +Exception_blockContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitException_block(this); + } +}; + +Exception_blockContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitException_block(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Exception_blockContext = Exception_blockContext; + +HiveSqlParser.prototype.exception_block = function() { + + var localctx = new Exception_blockContext(this, this._ctx, this.state); + this.enterRule(localctx, 16, HiveSqlParser.RULE_exception_block); + try { + this.enterOuterAlt(localctx, 1); + this.state = 568; + this.match(HiveSqlParser.T_EXCEPTION); + this.state = 570; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 569; + this.exception_block_item(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 572; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,12, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Exception_block_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_exception_block_item; + return this; +} + +Exception_block_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Exception_block_itemContext.prototype.constructor = Exception_block_itemContext; + +Exception_block_itemContext.prototype.T_WHEN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_WHEN); + } else { + return this.getToken(HiveSqlParser.T_WHEN, i); + } +}; + + +Exception_block_itemContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +Exception_block_itemContext.prototype.T_THEN = function() { + return this.getToken(HiveSqlParser.T_THEN, 0); +}; + +Exception_block_itemContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +Exception_block_itemContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +Exception_block_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterException_block_item(this); + } +}; + +Exception_block_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitException_block_item(this); + } +}; + +Exception_block_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitException_block_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Exception_block_itemContext = Exception_block_itemContext; + +HiveSqlParser.prototype.exception_block_item = function() { + + var localctx = new Exception_block_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 18, HiveSqlParser.RULE_exception_block_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 574; + this.match(HiveSqlParser.T_WHEN); + this.state = 575; + this.match(HiveSqlParser.L_ID); + this.state = 576; + this.match(HiveSqlParser.T_THEN); + this.state = 577; + this.block(); + this.state = 578; + _la = this._input.LA(1); + if(_la<=0 || _la===HiveSqlParser.T_END || _la===HiveSqlParser.T_WHEN) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Null_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_null_stmt; + return this; +} + +Null_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Null_stmtContext.prototype.constructor = Null_stmtContext; + +Null_stmtContext.prototype.T_NULL = function() { + return this.getToken(HiveSqlParser.T_NULL, 0); +}; + +Null_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterNull_stmt(this); + } +}; + +Null_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitNull_stmt(this); + } +}; + +Null_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitNull_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Null_stmtContext = Null_stmtContext; + +HiveSqlParser.prototype.null_stmt = function() { + + var localctx = new Null_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 20, HiveSqlParser.RULE_null_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 580; + this.match(HiveSqlParser.T_NULL); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_stmt; + return this; +} + +Expr_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_stmtContext.prototype.constructor = Expr_stmtContext; + +Expr_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Expr_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_stmt(this); + } +}; + +Expr_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_stmt(this); + } +}; + +Expr_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_stmtContext = Expr_stmtContext; + +HiveSqlParser.prototype.expr_stmt = function() { + + var localctx = new Expr_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 22, HiveSqlParser.RULE_expr_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 582; + if (!( !this._input.LT(1).getText().equalsIgnoreCase("GO"))) { + throw new antlr4.error.FailedPredicateException(this, "!this._input.LT(1).getText().equalsIgnoreCase(\"GO\")"); + } + this.state = 583; + this.expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Assignment_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_assignment_stmt; + return this; +} + +Assignment_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Assignment_stmtContext.prototype.constructor = Assignment_stmtContext; + +Assignment_stmtContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Assignment_stmtContext.prototype.set_session_option = function() { + return this.getTypedRuleContext(Set_session_optionContext,0); +}; + +Assignment_stmtContext.prototype.assignment_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Assignment_stmt_itemContext); + } else { + return this.getTypedRuleContext(Assignment_stmt_itemContext,i); + } +}; + +Assignment_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Assignment_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAssignment_stmt(this); + } +}; + +Assignment_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAssignment_stmt(this); + } +}; + +Assignment_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAssignment_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Assignment_stmtContext = Assignment_stmtContext; + +HiveSqlParser.prototype.assignment_stmt = function() { + + var localctx = new Assignment_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 24, HiveSqlParser.RULE_assignment_stmt); + try { + this.state = 598; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,15,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 585; + this.match(HiveSqlParser.T_SET); + this.state = 586; + this.set_session_option(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 588; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,13,this._ctx); + if(la_===1) { + this.state = 587; + this.match(HiveSqlParser.T_SET); + + } + this.state = 590; + this.assignment_stmt_item(); + this.state = 595; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,14,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 591; + this.match(HiveSqlParser.T_COMMA); + this.state = 592; + this.assignment_stmt_item(); + } + this.state = 597; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,14,this._ctx); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Assignment_stmt_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_assignment_stmt_item; + return this; +} + +Assignment_stmt_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Assignment_stmt_itemContext.prototype.constructor = Assignment_stmt_itemContext; + +Assignment_stmt_itemContext.prototype.assignment_stmt_single_item = function() { + return this.getTypedRuleContext(Assignment_stmt_single_itemContext,0); +}; + +Assignment_stmt_itemContext.prototype.assignment_stmt_multiple_item = function() { + return this.getTypedRuleContext(Assignment_stmt_multiple_itemContext,0); +}; + +Assignment_stmt_itemContext.prototype.assignment_stmt_select_item = function() { + return this.getTypedRuleContext(Assignment_stmt_select_itemContext,0); +}; + +Assignment_stmt_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAssignment_stmt_item(this); + } +}; + +Assignment_stmt_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAssignment_stmt_item(this); + } +}; + +Assignment_stmt_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAssignment_stmt_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Assignment_stmt_itemContext = Assignment_stmt_itemContext; + +HiveSqlParser.prototype.assignment_stmt_item = function() { + + var localctx = new Assignment_stmt_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 26, HiveSqlParser.RULE_assignment_stmt_item); + try { + this.state = 603; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,16,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 600; + this.assignment_stmt_single_item(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 601; + this.assignment_stmt_multiple_item(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 602; + this.assignment_stmt_select_item(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Assignment_stmt_single_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_assignment_stmt_single_item; + return this; +} + +Assignment_stmt_single_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Assignment_stmt_single_itemContext.prototype.constructor = Assignment_stmt_single_itemContext; + +Assignment_stmt_single_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Assignment_stmt_single_itemContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Assignment_stmt_single_itemContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Assignment_stmt_single_itemContext.prototype.T_COLON = function() { + return this.getToken(HiveSqlParser.T_COLON, 0); +}; + +Assignment_stmt_single_itemContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Assignment_stmt_single_itemContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Assignment_stmt_single_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAssignment_stmt_single_item(this); + } +}; + +Assignment_stmt_single_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAssignment_stmt_single_item(this); + } +}; + +Assignment_stmt_single_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAssignment_stmt_single_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Assignment_stmt_single_itemContext = Assignment_stmt_single_itemContext; + +HiveSqlParser.prototype.assignment_stmt_single_item = function() { + + var localctx = new Assignment_stmt_single_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 28, HiveSqlParser.RULE_assignment_stmt_single_item); + var _la = 0; // Token type + try { + this.state = 621; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.enterOuterAlt(localctx, 1); + this.state = 605; + this.ident(); + this.state = 607; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COLON) { + this.state = 606; + this.match(HiveSqlParser.T_COLON); + } + + this.state = 609; + this.match(HiveSqlParser.T_EQUAL); + this.state = 610; + this.expr(0); + break; + case HiveSqlParser.T_OPEN_P: + this.enterOuterAlt(localctx, 2); + this.state = 612; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 613; + this.ident(); + this.state = 614; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 616; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COLON) { + this.state = 615; + this.match(HiveSqlParser.T_COLON); + } + + this.state = 618; + this.match(HiveSqlParser.T_EQUAL); + this.state = 619; + this.expr(0); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Assignment_stmt_multiple_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_assignment_stmt_multiple_item; + return this; +} + +Assignment_stmt_multiple_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Assignment_stmt_multiple_itemContext.prototype.constructor = Assignment_stmt_multiple_itemContext; + +Assignment_stmt_multiple_itemContext.prototype.T_OPEN_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_OPEN_P); + } else { + return this.getToken(HiveSqlParser.T_OPEN_P, i); + } +}; + + +Assignment_stmt_multiple_itemContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Assignment_stmt_multiple_itemContext.prototype.T_CLOSE_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_CLOSE_P); + } else { + return this.getToken(HiveSqlParser.T_CLOSE_P, i); + } +}; + + +Assignment_stmt_multiple_itemContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Assignment_stmt_multiple_itemContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Assignment_stmt_multiple_itemContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Assignment_stmt_multiple_itemContext.prototype.T_COLON = function() { + return this.getToken(HiveSqlParser.T_COLON, 0); +}; + +Assignment_stmt_multiple_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAssignment_stmt_multiple_item(this); + } +}; + +Assignment_stmt_multiple_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAssignment_stmt_multiple_item(this); + } +}; + +Assignment_stmt_multiple_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAssignment_stmt_multiple_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Assignment_stmt_multiple_itemContext = Assignment_stmt_multiple_itemContext; + +HiveSqlParser.prototype.assignment_stmt_multiple_item = function() { + + var localctx = new Assignment_stmt_multiple_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 30, HiveSqlParser.RULE_assignment_stmt_multiple_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 623; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 624; + this.ident(); + this.state = 629; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 625; + this.match(HiveSqlParser.T_COMMA); + this.state = 626; + this.ident(); + this.state = 631; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 632; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 634; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COLON) { + this.state = 633; + this.match(HiveSqlParser.T_COLON); + } + + this.state = 636; + this.match(HiveSqlParser.T_EQUAL); + this.state = 637; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 638; + this.expr(0); + this.state = 643; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 639; + this.match(HiveSqlParser.T_COMMA); + this.state = 640; + this.expr(0); + this.state = 645; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 646; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Assignment_stmt_select_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_assignment_stmt_select_item; + return this; +} + +Assignment_stmt_select_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Assignment_stmt_select_itemContext.prototype.constructor = Assignment_stmt_select_itemContext; + +Assignment_stmt_select_itemContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Assignment_stmt_select_itemContext.prototype.T_OPEN_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_OPEN_P); + } else { + return this.getToken(HiveSqlParser.T_OPEN_P, i); + } +}; + + +Assignment_stmt_select_itemContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Assignment_stmt_select_itemContext.prototype.T_CLOSE_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_CLOSE_P); + } else { + return this.getToken(HiveSqlParser.T_CLOSE_P, i); + } +}; + + +Assignment_stmt_select_itemContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Assignment_stmt_select_itemContext.prototype.T_COLON = function() { + return this.getToken(HiveSqlParser.T_COLON, 0); +}; + +Assignment_stmt_select_itemContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Assignment_stmt_select_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAssignment_stmt_select_item(this); + } +}; + +Assignment_stmt_select_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAssignment_stmt_select_item(this); + } +}; + +Assignment_stmt_select_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAssignment_stmt_select_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Assignment_stmt_select_itemContext = Assignment_stmt_select_itemContext; + +HiveSqlParser.prototype.assignment_stmt_select_item = function() { + + var localctx = new Assignment_stmt_select_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 32, HiveSqlParser.RULE_assignment_stmt_select_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 660; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 648; + this.ident(); + break; + case HiveSqlParser.T_OPEN_P: + this.state = 649; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 650; + this.ident(); + this.state = 655; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 651; + this.match(HiveSqlParser.T_COMMA); + this.state = 652; + this.ident(); + this.state = 657; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 658; + this.match(HiveSqlParser.T_CLOSE_P); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 663; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COLON) { + this.state = 662; + this.match(HiveSqlParser.T_COLON); + } + + this.state = 665; + this.match(HiveSqlParser.T_EQUAL); + this.state = 666; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 667; + this.select_stmt(); + this.state = 668; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Allocate_cursor_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_allocate_cursor_stmt; + return this; +} + +Allocate_cursor_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Allocate_cursor_stmtContext.prototype.constructor = Allocate_cursor_stmtContext; + +Allocate_cursor_stmtContext.prototype.T_ALLOCATE = function() { + return this.getToken(HiveSqlParser.T_ALLOCATE, 0); +}; + +Allocate_cursor_stmtContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Allocate_cursor_stmtContext.prototype.T_CURSOR = function() { + return this.getToken(HiveSqlParser.T_CURSOR, 0); +}; + +Allocate_cursor_stmtContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Allocate_cursor_stmtContext.prototype.T_PROCEDURE = function() { + return this.getToken(HiveSqlParser.T_PROCEDURE, 0); +}; + +Allocate_cursor_stmtContext.prototype.T_RESULT = function() { + return this.getToken(HiveSqlParser.T_RESULT, 0); +}; + +Allocate_cursor_stmtContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Allocate_cursor_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAllocate_cursor_stmt(this); + } +}; + +Allocate_cursor_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAllocate_cursor_stmt(this); + } +}; + +Allocate_cursor_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAllocate_cursor_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Allocate_cursor_stmtContext = Allocate_cursor_stmtContext; + +HiveSqlParser.prototype.allocate_cursor_stmt = function() { + + var localctx = new Allocate_cursor_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 34, HiveSqlParser.RULE_allocate_cursor_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 670; + this.match(HiveSqlParser.T_ALLOCATE); + this.state = 671; + this.ident(); + this.state = 672; + this.match(HiveSqlParser.T_CURSOR); + this.state = 673; + this.match(HiveSqlParser.T_FOR); + this.state = 677; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_RESULT: + this.state = 674; + this.match(HiveSqlParser.T_RESULT); + this.state = 675; + this.match(HiveSqlParser.T_SET); + break; + case HiveSqlParser.T_PROCEDURE: + this.state = 676; + this.match(HiveSqlParser.T_PROCEDURE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 679; + this.ident(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Associate_locator_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_associate_locator_stmt; + return this; +} + +Associate_locator_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Associate_locator_stmtContext.prototype.constructor = Associate_locator_stmtContext; + +Associate_locator_stmtContext.prototype.T_ASSOCIATE = function() { + return this.getToken(HiveSqlParser.T_ASSOCIATE, 0); +}; + +Associate_locator_stmtContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Associate_locator_stmtContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Associate_locator_stmtContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Associate_locator_stmtContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Associate_locator_stmtContext.prototype.T_PROCEDURE = function() { + return this.getToken(HiveSqlParser.T_PROCEDURE, 0); +}; + +Associate_locator_stmtContext.prototype.T_LOCATOR = function() { + return this.getToken(HiveSqlParser.T_LOCATOR, 0); +}; + +Associate_locator_stmtContext.prototype.T_LOCATORS = function() { + return this.getToken(HiveSqlParser.T_LOCATORS, 0); +}; + +Associate_locator_stmtContext.prototype.T_RESULT = function() { + return this.getToken(HiveSqlParser.T_RESULT, 0); +}; + +Associate_locator_stmtContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Associate_locator_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Associate_locator_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAssociate_locator_stmt(this); + } +}; + +Associate_locator_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAssociate_locator_stmt(this); + } +}; + +Associate_locator_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAssociate_locator_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Associate_locator_stmtContext = Associate_locator_stmtContext; + +HiveSqlParser.prototype.associate_locator_stmt = function() { + + var localctx = new Associate_locator_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 36, HiveSqlParser.RULE_associate_locator_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 681; + this.match(HiveSqlParser.T_ASSOCIATE); + this.state = 684; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_RESULT) { + this.state = 682; + this.match(HiveSqlParser.T_RESULT); + this.state = 683; + this.match(HiveSqlParser.T_SET); + } + + this.state = 686; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_LOCATOR || _la===HiveSqlParser.T_LOCATORS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 687; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 688; + this.ident(); + this.state = 693; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 689; + this.match(HiveSqlParser.T_COMMA); + this.state = 690; + this.ident(); + this.state = 695; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 696; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 697; + this.match(HiveSqlParser.T_WITH); + this.state = 698; + this.match(HiveSqlParser.T_PROCEDURE); + this.state = 699; + this.ident(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Begin_transaction_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_begin_transaction_stmt; + return this; +} + +Begin_transaction_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Begin_transaction_stmtContext.prototype.constructor = Begin_transaction_stmtContext; + +Begin_transaction_stmtContext.prototype.T_BEGIN = function() { + return this.getToken(HiveSqlParser.T_BEGIN, 0); +}; + +Begin_transaction_stmtContext.prototype.T_TRANSACTION = function() { + return this.getToken(HiveSqlParser.T_TRANSACTION, 0); +}; + +Begin_transaction_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBegin_transaction_stmt(this); + } +}; + +Begin_transaction_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBegin_transaction_stmt(this); + } +}; + +Begin_transaction_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBegin_transaction_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Begin_transaction_stmtContext = Begin_transaction_stmtContext; + +HiveSqlParser.prototype.begin_transaction_stmt = function() { + + var localctx = new Begin_transaction_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 38, HiveSqlParser.RULE_begin_transaction_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 701; + this.match(HiveSqlParser.T_BEGIN); + this.state = 702; + this.match(HiveSqlParser.T_TRANSACTION); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Break_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_break_stmt; + return this; +} + +Break_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Break_stmtContext.prototype.constructor = Break_stmtContext; + +Break_stmtContext.prototype.T_BREAK = function() { + return this.getToken(HiveSqlParser.T_BREAK, 0); +}; + +Break_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBreak_stmt(this); + } +}; + +Break_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBreak_stmt(this); + } +}; + +Break_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBreak_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Break_stmtContext = Break_stmtContext; + +HiveSqlParser.prototype.break_stmt = function() { + + var localctx = new Break_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 40, HiveSqlParser.RULE_break_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 704; + this.match(HiveSqlParser.T_BREAK); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Call_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_call_stmt; + return this; +} + +Call_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Call_stmtContext.prototype.constructor = Call_stmtContext; + +Call_stmtContext.prototype.T_CALL = function() { + return this.getToken(HiveSqlParser.T_CALL, 0); +}; + +Call_stmtContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Call_stmtContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Call_stmtContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Call_stmtContext.prototype.expr_func_params = function() { + return this.getTypedRuleContext(Expr_func_paramsContext,0); +}; + +Call_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCall_stmt(this); + } +}; + +Call_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCall_stmt(this); + } +}; + +Call_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCall_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Call_stmtContext = Call_stmtContext; + +HiveSqlParser.prototype.call_stmt = function() { + + var localctx = new Call_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 42, HiveSqlParser.RULE_call_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 706; + this.match(HiveSqlParser.T_CALL); + this.state = 707; + this.ident(); + this.state = 714; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,30,this._ctx); + if(la_===1) { + this.state = 708; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 710; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,29,this._ctx); + if(la_===1) { + this.state = 709; + this.expr_func_params(); + + } + this.state = 712; + this.match(HiveSqlParser.T_CLOSE_P); + + } else if(la_===2) { + this.state = 713; + this.expr_func_params(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_stmt; + return this; +} + +Declare_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_stmtContext.prototype.constructor = Declare_stmtContext; + +Declare_stmtContext.prototype.T_DECLARE = function() { + return this.getToken(HiveSqlParser.T_DECLARE, 0); +}; + +Declare_stmtContext.prototype.declare_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Declare_stmt_itemContext); + } else { + return this.getTypedRuleContext(Declare_stmt_itemContext,i); + } +}; + +Declare_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Declare_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_stmt(this); + } +}; + +Declare_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_stmt(this); + } +}; + +Declare_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_stmtContext = Declare_stmtContext; + +HiveSqlParser.prototype.declare_stmt = function() { + + var localctx = new Declare_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 44, HiveSqlParser.RULE_declare_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 716; + this.match(HiveSqlParser.T_DECLARE); + this.state = 717; + this.declare_stmt_item(); + this.state = 722; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,31,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 718; + this.match(HiveSqlParser.T_COMMA); + this.state = 719; + this.declare_stmt_item(); + } + this.state = 724; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,31,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_blockContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_block; + return this; +} + +Declare_blockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_blockContext.prototype.constructor = Declare_blockContext; + +Declare_blockContext.prototype.T_DECLARE = function() { + return this.getToken(HiveSqlParser.T_DECLARE, 0); +}; + +Declare_blockContext.prototype.declare_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Declare_stmt_itemContext); + } else { + return this.getTypedRuleContext(Declare_stmt_itemContext,i); + } +}; + +Declare_blockContext.prototype.T_SEMICOLON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_SEMICOLON); + } else { + return this.getToken(HiveSqlParser.T_SEMICOLON, i); + } +}; + + +Declare_blockContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_block(this); + } +}; + +Declare_blockContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_block(this); + } +}; + +Declare_blockContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_block(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_blockContext = Declare_blockContext; + +HiveSqlParser.prototype.declare_block = function() { + + var localctx = new Declare_blockContext(this, this._ctx, this.state); + this.enterRule(localctx, 46, HiveSqlParser.RULE_declare_block); + try { + this.enterOuterAlt(localctx, 1); + this.state = 725; + this.match(HiveSqlParser.T_DECLARE); + this.state = 726; + this.declare_stmt_item(); + this.state = 727; + this.match(HiveSqlParser.T_SEMICOLON); + this.state = 733; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,32,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 728; + this.declare_stmt_item(); + this.state = 729; + this.match(HiveSqlParser.T_SEMICOLON); + } + this.state = 735; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,32,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_block_inplaceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_block_inplace; + return this; +} + +Declare_block_inplaceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_block_inplaceContext.prototype.constructor = Declare_block_inplaceContext; + +Declare_block_inplaceContext.prototype.declare_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Declare_stmt_itemContext); + } else { + return this.getTypedRuleContext(Declare_stmt_itemContext,i); + } +}; + +Declare_block_inplaceContext.prototype.T_SEMICOLON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_SEMICOLON); + } else { + return this.getToken(HiveSqlParser.T_SEMICOLON, i); + } +}; + + +Declare_block_inplaceContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_block_inplace(this); + } +}; + +Declare_block_inplaceContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_block_inplace(this); + } +}; + +Declare_block_inplaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_block_inplace(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_block_inplaceContext = Declare_block_inplaceContext; + +HiveSqlParser.prototype.declare_block_inplace = function() { + + var localctx = new Declare_block_inplaceContext(this, this._ctx, this.state); + this.enterRule(localctx, 48, HiveSqlParser.RULE_declare_block_inplace); + try { + this.enterOuterAlt(localctx, 1); + this.state = 736; + this.declare_stmt_item(); + this.state = 737; + this.match(HiveSqlParser.T_SEMICOLON); + this.state = 743; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,33,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 738; + this.declare_stmt_item(); + this.state = 739; + this.match(HiveSqlParser.T_SEMICOLON); + } + this.state = 745; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,33,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_stmt_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_stmt_item; + return this; +} + +Declare_stmt_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_stmt_itemContext.prototype.constructor = Declare_stmt_itemContext; + +Declare_stmt_itemContext.prototype.declare_cursor_item = function() { + return this.getTypedRuleContext(Declare_cursor_itemContext,0); +}; + +Declare_stmt_itemContext.prototype.declare_condition_item = function() { + return this.getTypedRuleContext(Declare_condition_itemContext,0); +}; + +Declare_stmt_itemContext.prototype.declare_handler_item = function() { + return this.getTypedRuleContext(Declare_handler_itemContext,0); +}; + +Declare_stmt_itemContext.prototype.declare_var_item = function() { + return this.getTypedRuleContext(Declare_var_itemContext,0); +}; + +Declare_stmt_itemContext.prototype.declare_temporary_table_item = function() { + return this.getTypedRuleContext(Declare_temporary_table_itemContext,0); +}; + +Declare_stmt_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_stmt_item(this); + } +}; + +Declare_stmt_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_stmt_item(this); + } +}; + +Declare_stmt_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_stmt_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_stmt_itemContext = Declare_stmt_itemContext; + +HiveSqlParser.prototype.declare_stmt_item = function() { + + var localctx = new Declare_stmt_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 50, HiveSqlParser.RULE_declare_stmt_item); + try { + this.state = 751; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,34,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 746; + this.declare_cursor_item(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 747; + this.declare_condition_item(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 748; + this.declare_handler_item(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 749; + this.declare_var_item(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 750; + this.declare_temporary_table_item(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_var_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_var_item; + return this; +} + +Declare_var_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_var_itemContext.prototype.constructor = Declare_var_itemContext; + +Declare_var_itemContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Declare_var_itemContext.prototype.dtype = function() { + return this.getTypedRuleContext(DtypeContext,0); +}; + +Declare_var_itemContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Declare_var_itemContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Declare_var_itemContext.prototype.dtype_len = function() { + return this.getTypedRuleContext(Dtype_lenContext,0); +}; + +Declare_var_itemContext.prototype.dtype_attr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Dtype_attrContext); + } else { + return this.getTypedRuleContext(Dtype_attrContext,i); + } +}; + +Declare_var_itemContext.prototype.dtype_default = function() { + return this.getTypedRuleContext(Dtype_defaultContext,0); +}; + +Declare_var_itemContext.prototype.T_CONSTANT = function() { + return this.getToken(HiveSqlParser.T_CONSTANT, 0); +}; + +Declare_var_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_var_item(this); + } +}; + +Declare_var_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_var_item(this); + } +}; + +Declare_var_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_var_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_var_itemContext = Declare_var_itemContext; + +HiveSqlParser.prototype.declare_var_item = function() { + + var localctx = new Declare_var_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 52, HiveSqlParser.RULE_declare_var_item); + var _la = 0; // Token type + try { + this.state = 788; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,42,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 753; + this.ident(); + this.state = 758; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 754; + this.match(HiveSqlParser.T_COMMA); + this.state = 755; + this.ident(); + this.state = 760; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 762; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,36,this._ctx); + if(la_===1) { + this.state = 761; + this.match(HiveSqlParser.T_AS); + + } + this.state = 764; + this.dtype(); + this.state = 766; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,37,this._ctx); + if(la_===1) { + this.state = 765; + this.dtype_len(); + + } + this.state = 771; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,38,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 768; + this.dtype_attr(); + } + this.state = 773; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,38,this._ctx); + } + + this.state = 775; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,39,this._ctx); + if(la_===1) { + this.state = 774; + this.dtype_default(); + + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 777; + this.ident(); + this.state = 778; + this.match(HiveSqlParser.T_CONSTANT); + this.state = 780; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,40,this._ctx); + if(la_===1) { + this.state = 779; + this.match(HiveSqlParser.T_AS); + + } + this.state = 782; + this.dtype(); + this.state = 784; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OPEN_P) { + this.state = 783; + this.dtype_len(); + } + + this.state = 786; + this.dtype_default(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_condition_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_condition_item; + return this; +} + +Declare_condition_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_condition_itemContext.prototype.constructor = Declare_condition_itemContext; + +Declare_condition_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Declare_condition_itemContext.prototype.T_CONDITION = function() { + return this.getToken(HiveSqlParser.T_CONDITION, 0); +}; + +Declare_condition_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_condition_item(this); + } +}; + +Declare_condition_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_condition_item(this); + } +}; + +Declare_condition_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_condition_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_condition_itemContext = Declare_condition_itemContext; + +HiveSqlParser.prototype.declare_condition_item = function() { + + var localctx = new Declare_condition_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 54, HiveSqlParser.RULE_declare_condition_item); + try { + this.enterOuterAlt(localctx, 1); + this.state = 790; + this.ident(); + this.state = 791; + this.match(HiveSqlParser.T_CONDITION); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_cursor_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_cursor_item; + return this; +} + +Declare_cursor_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_cursor_itemContext.prototype.constructor = Declare_cursor_itemContext; + +Declare_cursor_itemContext.prototype.T_IS = function() { + return this.getToken(HiveSqlParser.T_IS, 0); +}; + +Declare_cursor_itemContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Declare_cursor_itemContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Declare_cursor_itemContext.prototype.T_CURSOR = function() { + return this.getToken(HiveSqlParser.T_CURSOR, 0); +}; + +Declare_cursor_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Declare_cursor_itemContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Declare_cursor_itemContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Declare_cursor_itemContext.prototype.cursor_with_return = function() { + return this.getTypedRuleContext(Cursor_with_returnContext,0); +}; + +Declare_cursor_itemContext.prototype.cursor_without_return = function() { + return this.getTypedRuleContext(Cursor_without_returnContext,0); +}; + +Declare_cursor_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_cursor_item(this); + } +}; + +Declare_cursor_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_cursor_item(this); + } +}; + +Declare_cursor_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_cursor_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_cursor_itemContext = Declare_cursor_itemContext; + +HiveSqlParser.prototype.declare_cursor_item = function() { + + var localctx = new Declare_cursor_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 56, HiveSqlParser.RULE_declare_cursor_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 798; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,43,this._ctx); + switch(la_) { + case 1: + this.state = 793; + this.match(HiveSqlParser.T_CURSOR); + this.state = 794; + this.ident(); + break; + + case 2: + this.state = 795; + this.ident(); + this.state = 796; + this.match(HiveSqlParser.T_CURSOR); + break; + + } + this.state = 802; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case HiveSqlParser.T_WITH: + this.state = 800; + this.cursor_with_return(); + break; + case HiveSqlParser.T_WITHOUT: + this.state = 801; + this.cursor_without_return(); + break; + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_IS: + break; + default: + break; + } + this.state = 804; + _la = this._input.LA(1); + if(!(((((_la - 28)) & ~0x1f) == 0 && ((1 << (_la - 28)) & ((1 << (HiveSqlParser.T_FOR - 28)) | (1 << (HiveSqlParser.T_AS - 28)) | (1 << (HiveSqlParser.T_IS - 28)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 807; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,45,this._ctx); + switch(la_) { + case 1: + this.state = 805; + this.select_stmt(); + break; + + case 2: + this.state = 806; + this.expr(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cursor_with_returnContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_cursor_with_return; + return this; +} + +Cursor_with_returnContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cursor_with_returnContext.prototype.constructor = Cursor_with_returnContext; + +Cursor_with_returnContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Cursor_with_returnContext.prototype.T_RETURN = function() { + return this.getToken(HiveSqlParser.T_RETURN, 0); +}; + +Cursor_with_returnContext.prototype.T_ONLY = function() { + return this.getToken(HiveSqlParser.T_ONLY, 0); +}; + +Cursor_with_returnContext.prototype.T_TO = function() { + return this.getToken(HiveSqlParser.T_TO, 0); +}; + +Cursor_with_returnContext.prototype.T_CALLER = function() { + return this.getToken(HiveSqlParser.T_CALLER, 0); +}; + +Cursor_with_returnContext.prototype.T_CLIENT = function() { + return this.getToken(HiveSqlParser.T_CLIENT, 0); +}; + +Cursor_with_returnContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCursor_with_return(this); + } +}; + +Cursor_with_returnContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCursor_with_return(this); + } +}; + +Cursor_with_returnContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCursor_with_return(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Cursor_with_returnContext = Cursor_with_returnContext; + +HiveSqlParser.prototype.cursor_with_return = function() { + + var localctx = new Cursor_with_returnContext(this, this._ctx, this.state); + this.enterRule(localctx, 58, HiveSqlParser.RULE_cursor_with_return); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 809; + this.match(HiveSqlParser.T_WITH); + this.state = 810; + this.match(HiveSqlParser.T_RETURN); + this.state = 812; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ONLY) { + this.state = 811; + this.match(HiveSqlParser.T_ONLY); + } + + this.state = 816; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_TO) { + this.state = 814; + this.match(HiveSqlParser.T_TO); + this.state = 815; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_CALLER || _la===HiveSqlParser.T_CLIENT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cursor_without_returnContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_cursor_without_return; + return this; +} + +Cursor_without_returnContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cursor_without_returnContext.prototype.constructor = Cursor_without_returnContext; + +Cursor_without_returnContext.prototype.T_WITHOUT = function() { + return this.getToken(HiveSqlParser.T_WITHOUT, 0); +}; + +Cursor_without_returnContext.prototype.T_RETURN = function() { + return this.getToken(HiveSqlParser.T_RETURN, 0); +}; + +Cursor_without_returnContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCursor_without_return(this); + } +}; + +Cursor_without_returnContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCursor_without_return(this); + } +}; + +Cursor_without_returnContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCursor_without_return(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Cursor_without_returnContext = Cursor_without_returnContext; + +HiveSqlParser.prototype.cursor_without_return = function() { + + var localctx = new Cursor_without_returnContext(this, this._ctx, this.state); + this.enterRule(localctx, 60, HiveSqlParser.RULE_cursor_without_return); + try { + this.enterOuterAlt(localctx, 1); + this.state = 818; + this.match(HiveSqlParser.T_WITHOUT); + this.state = 819; + this.match(HiveSqlParser.T_RETURN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_handler_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_handler_item; + return this; +} + +Declare_handler_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_handler_itemContext.prototype.constructor = Declare_handler_itemContext; + +Declare_handler_itemContext.prototype.T_HANDLER = function() { + return this.getToken(HiveSqlParser.T_HANDLER, 0); +}; + +Declare_handler_itemContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Declare_handler_itemContext.prototype.single_block_stmt = function() { + return this.getTypedRuleContext(Single_block_stmtContext,0); +}; + +Declare_handler_itemContext.prototype.T_CONTINUE = function() { + return this.getToken(HiveSqlParser.T_CONTINUE, 0); +}; + +Declare_handler_itemContext.prototype.T_EXIT = function() { + return this.getToken(HiveSqlParser.T_EXIT, 0); +}; + +Declare_handler_itemContext.prototype.T_SQLEXCEPTION = function() { + return this.getToken(HiveSqlParser.T_SQLEXCEPTION, 0); +}; + +Declare_handler_itemContext.prototype.T_SQLWARNING = function() { + return this.getToken(HiveSqlParser.T_SQLWARNING, 0); +}; + +Declare_handler_itemContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Declare_handler_itemContext.prototype.T_FOUND = function() { + return this.getToken(HiveSqlParser.T_FOUND, 0); +}; + +Declare_handler_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Declare_handler_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_handler_item(this); + } +}; + +Declare_handler_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_handler_item(this); + } +}; + +Declare_handler_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_handler_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_handler_itemContext = Declare_handler_itemContext; + +HiveSqlParser.prototype.declare_handler_item = function() { + + var localctx = new Declare_handler_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 62, HiveSqlParser.RULE_declare_handler_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 821; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_CONTINUE || _la===HiveSqlParser.T_EXIT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 822; + this.match(HiveSqlParser.T_HANDLER); + this.state = 823; + this.match(HiveSqlParser.T_FOR); + this.state = 829; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,48,this._ctx); + switch(la_) { + case 1: + this.state = 824; + this.match(HiveSqlParser.T_SQLEXCEPTION); + break; + + case 2: + this.state = 825; + this.match(HiveSqlParser.T_SQLWARNING); + break; + + case 3: + this.state = 826; + this.match(HiveSqlParser.T_NOT); + this.state = 827; + this.match(HiveSqlParser.T_FOUND); + break; + + case 4: + this.state = 828; + this.ident(); + break; + + } + this.state = 831; + this.single_block_stmt(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Declare_temporary_table_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_declare_temporary_table_item; + return this; +} + +Declare_temporary_table_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Declare_temporary_table_itemContext.prototype.constructor = Declare_temporary_table_itemContext; + +Declare_temporary_table_itemContext.prototype.T_TEMPORARY = function() { + return this.getToken(HiveSqlParser.T_TEMPORARY, 0); +}; + +Declare_temporary_table_itemContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Declare_temporary_table_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Declare_temporary_table_itemContext.prototype.create_table_definition = function() { + return this.getTypedRuleContext(Create_table_definitionContext,0); +}; + +Declare_temporary_table_itemContext.prototype.T_GLOBAL = function() { + return this.getToken(HiveSqlParser.T_GLOBAL, 0); +}; + +Declare_temporary_table_itemContext.prototype.create_table_preoptions = function() { + return this.getTypedRuleContext(Create_table_preoptionsContext,0); +}; + +Declare_temporary_table_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDeclare_temporary_table_item(this); + } +}; + +Declare_temporary_table_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDeclare_temporary_table_item(this); + } +}; + +Declare_temporary_table_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDeclare_temporary_table_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Declare_temporary_table_itemContext = Declare_temporary_table_itemContext; + +HiveSqlParser.prototype.declare_temporary_table_item = function() { + + var localctx = new Declare_temporary_table_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 64, HiveSqlParser.RULE_declare_temporary_table_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 834; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_GLOBAL) { + this.state = 833; + this.match(HiveSqlParser.T_GLOBAL); + } + + this.state = 836; + this.match(HiveSqlParser.T_TEMPORARY); + this.state = 837; + this.match(HiveSqlParser.T_TABLE); + this.state = 838; + this.ident(); + this.state = 840; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA || _la===HiveSqlParser.T_STORED || _la===HiveSqlParser.T_ROW) { + this.state = 839; + this.create_table_preoptions(); + } + + this.state = 842; + this.create_table_definition(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_stmt; + return this; +} + +Create_table_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_stmtContext.prototype.constructor = Create_table_stmtContext; + +Create_table_stmtContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Create_table_stmtContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Create_table_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Create_table_stmtContext.prototype.create_table_definition = function() { + return this.getTypedRuleContext(Create_table_definitionContext,0); +}; + +Create_table_stmtContext.prototype.T_IF = function() { + return this.getToken(HiveSqlParser.T_IF, 0); +}; + +Create_table_stmtContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Create_table_stmtContext.prototype.T_EXISTS = function() { + return this.getToken(HiveSqlParser.T_EXISTS, 0); +}; + +Create_table_stmtContext.prototype.create_table_preoptions = function() { + return this.getTypedRuleContext(Create_table_preoptionsContext,0); +}; + +Create_table_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_stmt(this); + } +}; + +Create_table_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_stmt(this); + } +}; + +Create_table_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_stmtContext = Create_table_stmtContext; + +HiveSqlParser.prototype.create_table_stmt = function() { + + var localctx = new Create_table_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 66, HiveSqlParser.RULE_create_table_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 844; + this.match(HiveSqlParser.T_CREATE); + this.state = 845; + this.match(HiveSqlParser.T_TABLE); + this.state = 849; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,51,this._ctx); + if(la_===1) { + this.state = 846; + this.match(HiveSqlParser.T_IF); + this.state = 847; + this.match(HiveSqlParser.T_NOT); + this.state = 848; + this.match(HiveSqlParser.T_EXISTS); + + } + this.state = 851; + this.table_name(); + this.state = 853; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA || _la===HiveSqlParser.T_STORED || _la===HiveSqlParser.T_ROW) { + this.state = 852; + this.create_table_preoptions(); + } + + this.state = 855; + this.create_table_definition(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_local_temp_table_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_local_temp_table_stmt; + return this; +} + +Create_local_temp_table_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_local_temp_table_stmtContext.prototype.constructor = Create_local_temp_table_stmtContext; + +Create_local_temp_table_stmtContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Create_local_temp_table_stmtContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Create_local_temp_table_stmtContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_local_temp_table_stmtContext.prototype.create_table_definition = function() { + return this.getTypedRuleContext(Create_table_definitionContext,0); +}; + +Create_local_temp_table_stmtContext.prototype.T_LOCAL = function() { + return this.getToken(HiveSqlParser.T_LOCAL, 0); +}; + +Create_local_temp_table_stmtContext.prototype.T_TEMPORARY = function() { + return this.getToken(HiveSqlParser.T_TEMPORARY, 0); +}; + +Create_local_temp_table_stmtContext.prototype.T_VOLATILE = function() { + return this.getToken(HiveSqlParser.T_VOLATILE, 0); +}; + +Create_local_temp_table_stmtContext.prototype.create_table_preoptions = function() { + return this.getTypedRuleContext(Create_table_preoptionsContext,0); +}; + +Create_local_temp_table_stmtContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Create_local_temp_table_stmtContext.prototype.T_MULTISET = function() { + return this.getToken(HiveSqlParser.T_MULTISET, 0); +}; + +Create_local_temp_table_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_local_temp_table_stmt(this); + } +}; + +Create_local_temp_table_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_local_temp_table_stmt(this); + } +}; + +Create_local_temp_table_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_local_temp_table_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_local_temp_table_stmtContext = Create_local_temp_table_stmtContext; + +HiveSqlParser.prototype.create_local_temp_table_stmt = function() { + + var localctx = new Create_local_temp_table_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 68, HiveSqlParser.RULE_create_local_temp_table_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 857; + this.match(HiveSqlParser.T_CREATE); + this.state = 864; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_LOCAL: + this.state = 858; + this.match(HiveSqlParser.T_LOCAL); + this.state = 859; + this.match(HiveSqlParser.T_TEMPORARY); + break; + case HiveSqlParser.T_SET: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + this.state = 861; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_SET || _la===HiveSqlParser.T_MULTISET) { + this.state = 860; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_SET || _la===HiveSqlParser.T_MULTISET)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 863; + this.match(HiveSqlParser.T_VOLATILE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 866; + this.match(HiveSqlParser.T_TABLE); + this.state = 867; + this.ident(); + this.state = 869; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA || _la===HiveSqlParser.T_STORED || _la===HiveSqlParser.T_ROW) { + this.state = 868; + this.create_table_preoptions(); + } + + this.state = 871; + this.create_table_definition(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_definitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_definition; + return this; +} + +Create_table_definitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_definitionContext.prototype.constructor = Create_table_definitionContext; + +Create_table_definitionContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Create_table_definitionContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Create_table_definitionContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Create_table_definitionContext.prototype.create_table_columns = function() { + return this.getTypedRuleContext(Create_table_columnsContext,0); +}; + +Create_table_definitionContext.prototype.T_LIKE = function() { + return this.getToken(HiveSqlParser.T_LIKE, 0); +}; + +Create_table_definitionContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Create_table_definitionContext.prototype.create_table_options = function() { + return this.getTypedRuleContext(Create_table_optionsContext,0); +}; + +Create_table_definitionContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Create_table_definitionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_definition(this); + } +}; + +Create_table_definitionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_definition(this); + } +}; + +Create_table_definitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_definition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_definitionContext = Create_table_definitionContext; + +HiveSqlParser.prototype.create_table_definition = function() { + + var localctx = new Create_table_definitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 70, HiveSqlParser.RULE_create_table_definition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 890; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,58,this._ctx); + switch(la_) { + case 1: + this.state = 874; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_AS) { + this.state = 873; + this.match(HiveSqlParser.T_AS); + } + + this.state = 876; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 877; + this.select_stmt(); + this.state = 878; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 2: + this.state = 881; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_AS) { + this.state = 880; + this.match(HiveSqlParser.T_AS); + } + + this.state = 883; + this.select_stmt(); + break; + + case 3: + this.state = 884; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 885; + this.create_table_columns(); + this.state = 886; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 4: + this.state = 888; + this.match(HiveSqlParser.T_LIKE); + this.state = 889; + this.table_name(); + break; + + } + this.state = 893; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,59,this._ctx); + if(la_===1) { + this.state = 892; + this.create_table_options(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_columnsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_columns; + return this; +} + +Create_table_columnsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_columnsContext.prototype.constructor = Create_table_columnsContext; + +Create_table_columnsContext.prototype.create_table_columns_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_columns_itemContext); + } else { + return this.getTypedRuleContext(Create_table_columns_itemContext,i); + } +}; + +Create_table_columnsContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Create_table_columnsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_columns(this); + } +}; + +Create_table_columnsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_columns(this); + } +}; + +Create_table_columnsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_columns(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_columnsContext = Create_table_columnsContext; + +HiveSqlParser.prototype.create_table_columns = function() { + + var localctx = new Create_table_columnsContext(this, this._ctx, this.state); + this.enterRule(localctx, 72, HiveSqlParser.RULE_create_table_columns); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 895; + this.create_table_columns_item(); + this.state = 900; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 896; + this.match(HiveSqlParser.T_COMMA); + this.state = 897; + this.create_table_columns_item(); + this.state = 902; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_columns_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_columns_item; + return this; +} + +Create_table_columns_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_columns_itemContext.prototype.constructor = Create_table_columns_itemContext; + +Create_table_columns_itemContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Create_table_columns_itemContext.prototype.dtype = function() { + return this.getTypedRuleContext(DtypeContext,0); +}; + +Create_table_columns_itemContext.prototype.dtype_len = function() { + return this.getTypedRuleContext(Dtype_lenContext,0); +}; + +Create_table_columns_itemContext.prototype.dtype_attr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Dtype_attrContext); + } else { + return this.getTypedRuleContext(Dtype_attrContext,i); + } +}; + +Create_table_columns_itemContext.prototype.create_table_column_inline_cons = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_column_inline_consContext); + } else { + return this.getTypedRuleContext(Create_table_column_inline_consContext,i); + } +}; + +Create_table_columns_itemContext.prototype.create_table_column_cons = function() { + return this.getTypedRuleContext(Create_table_column_consContext,0); +}; + +Create_table_columns_itemContext.prototype.T_CONSTRAINT = function() { + return this.getToken(HiveSqlParser.T_CONSTRAINT, 0); +}; + +Create_table_columns_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_table_columns_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_columns_item(this); + } +}; + +Create_table_columns_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_columns_item(this); + } +}; + +Create_table_columns_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_columns_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_columns_itemContext = Create_table_columns_itemContext; + +HiveSqlParser.prototype.create_table_columns_item = function() { + + var localctx = new Create_table_columns_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 74, HiveSqlParser.RULE_create_table_columns_item); + var _la = 0; // Token type + try { + this.state = 925; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,65,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 903; + this.column_name(); + this.state = 904; + this.dtype(); + this.state = 906; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OPEN_P) { + this.state = 905; + this.dtype_len(); + } + + this.state = 911; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,62,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 908; + this.dtype_attr(); + } + this.state = 913; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,62,this._ctx); + } + + this.state = 917; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(((((_la - 19)) & ~0x1f) == 0 && ((1 << (_la - 19)) & ((1 << (HiveSqlParser.T_NULL - 19)) | (1 << (HiveSqlParser.T_COLON - 19)) | (1 << (HiveSqlParser.T_EQUAL - 19)) | (1 << (HiveSqlParser.T_WITH - 19)))) !== 0) || ((((_la - 54)) & ~0x1f) == 0 && ((1 << (_la - 54)) & ((1 << (HiveSqlParser.T_NOT - 54)) | (1 << (HiveSqlParser.T_PRIMARY - 54)) | (1 << (HiveSqlParser.T_UNIQUE - 54)) | (1 << (HiveSqlParser.T_REFERENCES - 54)) | (1 << (HiveSqlParser.T_IDENTITY - 54)) | (1 << (HiveSqlParser.T_AUTO_INCREMENT - 54)) | (1 << (HiveSqlParser.T_ENABLE - 54)) | (1 << (HiveSqlParser.T_DEFAULT - 54)))) !== 0)) { + this.state = 914; + this.create_table_column_inline_cons(); + this.state = 919; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 922; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_CONSTRAINT) { + this.state = 920; + this.match(HiveSqlParser.T_CONSTRAINT); + this.state = 921; + this.ident(); + } + + this.state = 924; + this.create_table_column_cons(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Column_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_column_name; + return this; +} + +Column_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Column_nameContext.prototype.constructor = Column_nameContext; + +Column_nameContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Column_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterColumn_name(this); + } +}; + +Column_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitColumn_name(this); + } +}; + +Column_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitColumn_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Column_nameContext = Column_nameContext; + +HiveSqlParser.prototype.column_name = function() { + + var localctx = new Column_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 76, HiveSqlParser.RULE_column_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 927; + this.ident(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_column_inline_consContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_column_inline_cons; + return this; +} + +Create_table_column_inline_consContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_column_inline_consContext.prototype.constructor = Create_table_column_inline_consContext; + +Create_table_column_inline_consContext.prototype.dtype_default = function() { + return this.getTypedRuleContext(Dtype_defaultContext,0); +}; + +Create_table_column_inline_consContext.prototype.T_NULL = function() { + return this.getToken(HiveSqlParser.T_NULL, 0); +}; + +Create_table_column_inline_consContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Create_table_column_inline_consContext.prototype.T_PRIMARY = function() { + return this.getToken(HiveSqlParser.T_PRIMARY, 0); +}; + +Create_table_column_inline_consContext.prototype.T_KEY = function() { + return this.getToken(HiveSqlParser.T_KEY, 0); +}; + +Create_table_column_inline_consContext.prototype.T_UNIQUE = function() { + return this.getToken(HiveSqlParser.T_UNIQUE, 0); +}; + +Create_table_column_inline_consContext.prototype.T_REFERENCES = function() { + return this.getToken(HiveSqlParser.T_REFERENCES, 0); +}; + +Create_table_column_inline_consContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Create_table_column_inline_consContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Create_table_column_inline_consContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_table_column_inline_consContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Create_table_column_inline_consContext.prototype.create_table_fk_action = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_fk_actionContext); + } else { + return this.getTypedRuleContext(Create_table_fk_actionContext,i); + } +}; + +Create_table_column_inline_consContext.prototype.T_IDENTITY = function() { + return this.getToken(HiveSqlParser.T_IDENTITY, 0); +}; + +Create_table_column_inline_consContext.prototype.L_INT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.L_INT); + } else { + return this.getToken(HiveSqlParser.L_INT, i); + } +}; + + +Create_table_column_inline_consContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Create_table_column_inline_consContext.prototype.T_AUTO_INCREMENT = function() { + return this.getToken(HiveSqlParser.T_AUTO_INCREMENT, 0); +}; + +Create_table_column_inline_consContext.prototype.T_ENABLE = function() { + return this.getToken(HiveSqlParser.T_ENABLE, 0); +}; + +Create_table_column_inline_consContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_column_inline_cons(this); + } +}; + +Create_table_column_inline_consContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_column_inline_cons(this); + } +}; + +Create_table_column_inline_consContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_column_inline_cons(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_column_inline_consContext = Create_table_column_inline_consContext; + +HiveSqlParser.prototype.create_table_column_inline_cons = function() { + + var localctx = new Create_table_column_inline_consContext(this, this._ctx, this.state); + this.enterRule(localctx, 78, HiveSqlParser.RULE_create_table_column_inline_cons); + var _la = 0; // Token type + try { + this.state = 961; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_COLON: + case HiveSqlParser.T_EQUAL: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_DEFAULT: + this.enterOuterAlt(localctx, 1); + this.state = 929; + this.dtype_default(); + break; + case HiveSqlParser.T_NULL: + case HiveSqlParser.T_NOT: + this.enterOuterAlt(localctx, 2); + this.state = 931; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 930; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 933; + this.match(HiveSqlParser.T_NULL); + break; + case HiveSqlParser.T_PRIMARY: + this.enterOuterAlt(localctx, 3); + this.state = 934; + this.match(HiveSqlParser.T_PRIMARY); + this.state = 935; + this.match(HiveSqlParser.T_KEY); + break; + case HiveSqlParser.T_UNIQUE: + this.enterOuterAlt(localctx, 4); + this.state = 936; + this.match(HiveSqlParser.T_UNIQUE); + break; + case HiveSqlParser.T_REFERENCES: + this.enterOuterAlt(localctx, 5); + this.state = 937; + this.match(HiveSqlParser.T_REFERENCES); + this.state = 938; + this.table_name(); + this.state = 939; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 940; + this.ident(); + this.state = 941; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 945; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_ON) { + this.state = 942; + this.create_table_fk_action(); + this.state = 947; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case HiveSqlParser.T_IDENTITY: + this.enterOuterAlt(localctx, 6); + this.state = 948; + this.match(HiveSqlParser.T_IDENTITY); + this.state = 949; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 950; + this.match(HiveSqlParser.L_INT); + this.state = 955; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 951; + this.match(HiveSqlParser.T_COMMA); + this.state = 952; + this.match(HiveSqlParser.L_INT); + this.state = 957; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 958; + this.match(HiveSqlParser.T_CLOSE_P); + break; + case HiveSqlParser.T_AUTO_INCREMENT: + this.enterOuterAlt(localctx, 7); + this.state = 959; + this.match(HiveSqlParser.T_AUTO_INCREMENT); + break; + case HiveSqlParser.T_ENABLE: + this.enterOuterAlt(localctx, 8); + this.state = 960; + this.match(HiveSqlParser.T_ENABLE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_column_consContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_column_cons; + return this; +} + +Create_table_column_consContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_column_consContext.prototype.constructor = Create_table_column_consContext; + +Create_table_column_consContext.prototype.T_PRIMARY = function() { + return this.getToken(HiveSqlParser.T_PRIMARY, 0); +}; + +Create_table_column_consContext.prototype.T_KEY = function() { + return this.getToken(HiveSqlParser.T_KEY, 0); +}; + +Create_table_column_consContext.prototype.T_OPEN_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_OPEN_P); + } else { + return this.getToken(HiveSqlParser.T_OPEN_P, i); + } +}; + + +Create_table_column_consContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Create_table_column_consContext.prototype.T_CLOSE_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_CLOSE_P); + } else { + return this.getToken(HiveSqlParser.T_CLOSE_P, i); + } +}; + + +Create_table_column_consContext.prototype.T_CLUSTERED = function() { + return this.getToken(HiveSqlParser.T_CLUSTERED, 0); +}; + +Create_table_column_consContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Create_table_column_consContext.prototype.T_ENABLE = function() { + return this.getToken(HiveSqlParser.T_ENABLE, 0); +}; + +Create_table_column_consContext.prototype.index_storage_clause = function() { + return this.getTypedRuleContext(Index_storage_clauseContext,0); +}; + +Create_table_column_consContext.prototype.T_ASC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_ASC); + } else { + return this.getToken(HiveSqlParser.T_ASC, i); + } +}; + + +Create_table_column_consContext.prototype.T_DESC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_DESC); + } else { + return this.getToken(HiveSqlParser.T_DESC, i); + } +}; + + +Create_table_column_consContext.prototype.T_FOREIGN = function() { + return this.getToken(HiveSqlParser.T_FOREIGN, 0); +}; + +Create_table_column_consContext.prototype.T_REFERENCES = function() { + return this.getToken(HiveSqlParser.T_REFERENCES, 0); +}; + +Create_table_column_consContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Create_table_column_consContext.prototype.create_table_fk_action = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_fk_actionContext); + } else { + return this.getTypedRuleContext(Create_table_fk_actionContext,i); + } +}; + +Create_table_column_consContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_column_cons(this); + } +}; + +Create_table_column_consContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_column_cons(this); + } +}; + +Create_table_column_consContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_column_cons(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_column_consContext = Create_table_column_consContext; + +HiveSqlParser.prototype.create_table_column_cons = function() { + + var localctx = new Create_table_column_consContext(this, this._ctx, this.state); + this.enterRule(localctx, 80, HiveSqlParser.RULE_create_table_column_cons); + var _la = 0; // Token type + try { + this.state = 1020; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_PRIMARY: + this.enterOuterAlt(localctx, 1); + this.state = 963; + this.match(HiveSqlParser.T_PRIMARY); + this.state = 964; + this.match(HiveSqlParser.T_KEY); + this.state = 966; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_CLUSTERED) { + this.state = 965; + this.match(HiveSqlParser.T_CLUSTERED); + } + + this.state = 968; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 969; + this.ident(); + this.state = 971; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC) { + this.state = 970; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 980; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 973; + this.match(HiveSqlParser.T_COMMA); + this.state = 974; + this.ident(); + this.state = 976; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC) { + this.state = 975; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 982; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 983; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 985; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ENABLE) { + this.state = 984; + this.match(HiveSqlParser.T_ENABLE); + } + + this.state = 988; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_WITH) { + this.state = 987; + this.index_storage_clause(); + } + + break; + case HiveSqlParser.T_FOREIGN: + this.enterOuterAlt(localctx, 2); + this.state = 990; + this.match(HiveSqlParser.T_FOREIGN); + this.state = 991; + this.match(HiveSqlParser.T_KEY); + this.state = 992; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 993; + this.ident(); + this.state = 998; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 994; + this.match(HiveSqlParser.T_COMMA); + this.state = 995; + this.ident(); + this.state = 1000; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1001; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 1002; + this.match(HiveSqlParser.T_REFERENCES); + this.state = 1003; + this.table_name(); + this.state = 1004; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1005; + this.ident(); + this.state = 1010; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1006; + this.match(HiveSqlParser.T_COMMA); + this.state = 1007; + this.ident(); + this.state = 1012; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1013; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 1017; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_ON) { + this.state = 1014; + this.create_table_fk_action(); + this.state = 1019; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_fk_actionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_fk_action; + return this; +} + +Create_table_fk_actionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_fk_actionContext.prototype.constructor = Create_table_fk_actionContext; + +Create_table_fk_actionContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Create_table_fk_actionContext.prototype.T_UPDATE = function() { + return this.getToken(HiveSqlParser.T_UPDATE, 0); +}; + +Create_table_fk_actionContext.prototype.T_DELETE = function() { + return this.getToken(HiveSqlParser.T_DELETE, 0); +}; + +Create_table_fk_actionContext.prototype.T_NO = function() { + return this.getToken(HiveSqlParser.T_NO, 0); +}; + +Create_table_fk_actionContext.prototype.T_ACTION = function() { + return this.getToken(HiveSqlParser.T_ACTION, 0); +}; + +Create_table_fk_actionContext.prototype.T_RESTRICT = function() { + return this.getToken(HiveSqlParser.T_RESTRICT, 0); +}; + +Create_table_fk_actionContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Create_table_fk_actionContext.prototype.T_NULL = function() { + return this.getToken(HiveSqlParser.T_NULL, 0); +}; + +Create_table_fk_actionContext.prototype.T_DEFAULT = function() { + return this.getToken(HiveSqlParser.T_DEFAULT, 0); +}; + +Create_table_fk_actionContext.prototype.T_CASCADE = function() { + return this.getToken(HiveSqlParser.T_CASCADE, 0); +}; + +Create_table_fk_actionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_fk_action(this); + } +}; + +Create_table_fk_actionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_fk_action(this); + } +}; + +Create_table_fk_actionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_fk_action(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_fk_actionContext = Create_table_fk_actionContext; + +HiveSqlParser.prototype.create_table_fk_action = function() { + + var localctx = new Create_table_fk_actionContext(this, this._ctx, this.state); + this.enterRule(localctx, 82, HiveSqlParser.RULE_create_table_fk_action); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1022; + this.match(HiveSqlParser.T_ON); + this.state = 1023; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_UPDATE || _la===HiveSqlParser.T_DELETE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1032; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,80,this._ctx); + switch(la_) { + case 1: + this.state = 1024; + this.match(HiveSqlParser.T_NO); + this.state = 1025; + this.match(HiveSqlParser.T_ACTION); + break; + + case 2: + this.state = 1026; + this.match(HiveSqlParser.T_RESTRICT); + break; + + case 3: + this.state = 1027; + this.match(HiveSqlParser.T_SET); + this.state = 1028; + this.match(HiveSqlParser.T_NULL); + break; + + case 4: + this.state = 1029; + this.match(HiveSqlParser.T_SET); + this.state = 1030; + this.match(HiveSqlParser.T_DEFAULT); + break; + + case 5: + this.state = 1031; + this.match(HiveSqlParser.T_CASCADE); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_preoptionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_preoptions; + return this; +} + +Create_table_preoptionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_preoptionsContext.prototype.constructor = Create_table_preoptionsContext; + +Create_table_preoptionsContext.prototype.create_table_preoptions_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_preoptions_itemContext); + } else { + return this.getTypedRuleContext(Create_table_preoptions_itemContext,i); + } +}; + +Create_table_preoptionsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_preoptions(this); + } +}; + +Create_table_preoptionsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_preoptions(this); + } +}; + +Create_table_preoptionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_preoptions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_preoptionsContext = Create_table_preoptionsContext; + +HiveSqlParser.prototype.create_table_preoptions = function() { + + var localctx = new Create_table_preoptionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 84, HiveSqlParser.RULE_create_table_preoptions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1035; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 1034; + this.create_table_preoptions_item(); + this.state = 1037; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===HiveSqlParser.T_COMMA || _la===HiveSqlParser.T_STORED || _la===HiveSqlParser.T_ROW); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_preoptions_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_preoptions_item; + return this; +} + +Create_table_preoptions_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_preoptions_itemContext.prototype.constructor = Create_table_preoptions_itemContext; + +Create_table_preoptions_itemContext.prototype.T_COMMA = function() { + return this.getToken(HiveSqlParser.T_COMMA, 0); +}; + +Create_table_preoptions_itemContext.prototype.create_table_preoptions_td_item = function() { + return this.getTypedRuleContext(Create_table_preoptions_td_itemContext,0); +}; + +Create_table_preoptions_itemContext.prototype.create_table_options_hive_item = function() { + return this.getTypedRuleContext(Create_table_options_hive_itemContext,0); +}; + +Create_table_preoptions_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_preoptions_item(this); + } +}; + +Create_table_preoptions_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_preoptions_item(this); + } +}; + +Create_table_preoptions_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_preoptions_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_preoptions_itemContext = Create_table_preoptions_itemContext; + +HiveSqlParser.prototype.create_table_preoptions_item = function() { + + var localctx = new Create_table_preoptions_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 86, HiveSqlParser.RULE_create_table_preoptions_item); + try { + this.state = 1042; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_COMMA: + this.enterOuterAlt(localctx, 1); + this.state = 1039; + this.match(HiveSqlParser.T_COMMA); + this.state = 1040; + this.create_table_preoptions_td_item(); + break; + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + this.enterOuterAlt(localctx, 2); + this.state = 1041; + this.create_table_options_hive_item(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_preoptions_td_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_preoptions_td_item; + return this; +} + +Create_table_preoptions_td_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_preoptions_td_itemContext.prototype.constructor = Create_table_preoptions_td_itemContext; + +Create_table_preoptions_td_itemContext.prototype.T_LOG = function() { + return this.getToken(HiveSqlParser.T_LOG, 0); +}; + +Create_table_preoptions_td_itemContext.prototype.T_FALLBACK = function() { + return this.getToken(HiveSqlParser.T_FALLBACK, 0); +}; + +Create_table_preoptions_td_itemContext.prototype.T_NO = function() { + return this.getToken(HiveSqlParser.T_NO, 0); +}; + +Create_table_preoptions_td_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_preoptions_td_item(this); + } +}; + +Create_table_preoptions_td_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_preoptions_td_item(this); + } +}; + +Create_table_preoptions_td_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_preoptions_td_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_preoptions_td_itemContext = Create_table_preoptions_td_itemContext; + +HiveSqlParser.prototype.create_table_preoptions_td_item = function() { + + var localctx = new Create_table_preoptions_td_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 88, HiveSqlParser.RULE_create_table_preoptions_td_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1045; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NO) { + this.state = 1044; + this.match(HiveSqlParser.T_NO); + } + + this.state = 1047; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_LOG || _la===HiveSqlParser.T_FALLBACK)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_optionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_options; + return this; +} + +Create_table_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_optionsContext.prototype.constructor = Create_table_optionsContext; + +Create_table_optionsContext.prototype.create_table_options_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_options_itemContext); + } else { + return this.getTypedRuleContext(Create_table_options_itemContext,i); + } +}; + +Create_table_optionsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_options(this); + } +}; + +Create_table_optionsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_options(this); + } +}; + +Create_table_optionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_options(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_optionsContext = Create_table_optionsContext; + +HiveSqlParser.prototype.create_table_options = function() { + + var localctx = new Create_table_optionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 90, HiveSqlParser.RULE_create_table_options); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1050; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 1049; + this.create_table_options_item(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1052; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,84, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_options_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_options_item; + return this; +} + +Create_table_options_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_options_itemContext.prototype.constructor = Create_table_options_itemContext; + +Create_table_options_itemContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Create_table_options_itemContext.prototype.T_COMMIT = function() { + return this.getToken(HiveSqlParser.T_COMMIT, 0); +}; + +Create_table_options_itemContext.prototype.T_ROWS = function() { + return this.getToken(HiveSqlParser.T_ROWS, 0); +}; + +Create_table_options_itemContext.prototype.T_DELETE = function() { + return this.getToken(HiveSqlParser.T_DELETE, 0); +}; + +Create_table_options_itemContext.prototype.T_PRESERVE = function() { + return this.getToken(HiveSqlParser.T_PRESERVE, 0); +}; + +Create_table_options_itemContext.prototype.create_table_options_ora_item = function() { + return this.getTypedRuleContext(Create_table_options_ora_itemContext,0); +}; + +Create_table_options_itemContext.prototype.create_table_options_db2_item = function() { + return this.getTypedRuleContext(Create_table_options_db2_itemContext,0); +}; + +Create_table_options_itemContext.prototype.create_table_options_td_item = function() { + return this.getTypedRuleContext(Create_table_options_td_itemContext,0); +}; + +Create_table_options_itemContext.prototype.create_table_options_hive_item = function() { + return this.getTypedRuleContext(Create_table_options_hive_itemContext,0); +}; + +Create_table_options_itemContext.prototype.create_table_options_mssql_item = function() { + return this.getTypedRuleContext(Create_table_options_mssql_itemContext,0); +}; + +Create_table_options_itemContext.prototype.create_table_options_mysql_item = function() { + return this.getTypedRuleContext(Create_table_options_mysql_itemContext,0); +}; + +Create_table_options_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_options_item(this); + } +}; + +Create_table_options_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_options_item(this); + } +}; + +Create_table_options_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_options_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_options_itemContext = Create_table_options_itemContext; + +HiveSqlParser.prototype.create_table_options_item = function() { + + var localctx = new Create_table_options_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 92, HiveSqlParser.RULE_create_table_options_item); + var _la = 0; // Token type + try { + this.state = 1064; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,85,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1054; + this.match(HiveSqlParser.T_ON); + this.state = 1055; + this.match(HiveSqlParser.T_COMMIT); + this.state = 1056; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_DELETE || _la===HiveSqlParser.T_PRESERVE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1057; + this.match(HiveSqlParser.T_ROWS); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1058; + this.create_table_options_ora_item(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1059; + this.create_table_options_db2_item(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 1060; + this.create_table_options_td_item(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 1061; + this.create_table_options_hive_item(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 1062; + this.create_table_options_mssql_item(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 1063; + this.create_table_options_mysql_item(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_options_ora_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_options_ora_item; + return this; +} + +Create_table_options_ora_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_options_ora_itemContext.prototype.constructor = Create_table_options_ora_itemContext; + +Create_table_options_ora_itemContext.prototype.T_SEGMENT = function() { + return this.getToken(HiveSqlParser.T_SEGMENT, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_CREATION = function() { + return this.getToken(HiveSqlParser.T_CREATION, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_IMMEDIATE = function() { + return this.getToken(HiveSqlParser.T_IMMEDIATE, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_DEFERRED = function() { + return this.getToken(HiveSqlParser.T_DEFERRED, 0); +}; + +Create_table_options_ora_itemContext.prototype.L_INT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.L_INT); + } else { + return this.getToken(HiveSqlParser.L_INT, i); + } +}; + + +Create_table_options_ora_itemContext.prototype.T_PCTFREE = function() { + return this.getToken(HiveSqlParser.T_PCTFREE, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_PCTUSED = function() { + return this.getToken(HiveSqlParser.T_PCTUSED, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_INITRANS = function() { + return this.getToken(HiveSqlParser.T_INITRANS, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_MAXTRANS = function() { + return this.getToken(HiveSqlParser.T_MAXTRANS, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_NOCOMPRESS = function() { + return this.getToken(HiveSqlParser.T_NOCOMPRESS, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_LOGGING = function() { + return this.getToken(HiveSqlParser.T_LOGGING, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_NOLOGGING = function() { + return this.getToken(HiveSqlParser.T_NOLOGGING, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_STORAGE = function() { + return this.getToken(HiveSqlParser.T_STORAGE, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Create_table_options_ora_itemContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Create_table_options_ora_itemContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Create_table_options_ora_itemContext.prototype.T_TABLESPACE = function() { + return this.getToken(HiveSqlParser.T_TABLESPACE, 0); +}; + +Create_table_options_ora_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_options_ora_item(this); + } +}; + +Create_table_options_ora_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_options_ora_item(this); + } +}; + +Create_table_options_ora_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_options_ora_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_options_ora_itemContext = Create_table_options_ora_itemContext; + +HiveSqlParser.prototype.create_table_options_ora_item = function() { + + var localctx = new Create_table_options_ora_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 94, HiveSqlParser.RULE_create_table_options_ora_item); + var _la = 0; // Token type + try { + this.state = 1084; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_SEGMENT: + this.enterOuterAlt(localctx, 1); + this.state = 1066; + this.match(HiveSqlParser.T_SEGMENT); + this.state = 1067; + this.match(HiveSqlParser.T_CREATION); + this.state = 1068; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_IMMEDIATE || _la===HiveSqlParser.T_DEFERRED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + this.enterOuterAlt(localctx, 2); + this.state = 1069; + _la = this._input.LA(1); + if(!(((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (HiveSqlParser.T_PCTFREE - 96)) | (1 << (HiveSqlParser.T_PCTUSED - 96)) | (1 << (HiveSqlParser.T_INITRANS - 96)) | (1 << (HiveSqlParser.T_MAXTRANS - 96)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1070; + this.match(HiveSqlParser.L_INT); + break; + case HiveSqlParser.T_NOCOMPRESS: + this.enterOuterAlt(localctx, 3); + this.state = 1071; + this.match(HiveSqlParser.T_NOCOMPRESS); + break; + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + this.enterOuterAlt(localctx, 4); + this.state = 1072; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_LOGGING || _la===HiveSqlParser.T_NOLOGGING)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case HiveSqlParser.T_STORAGE: + this.enterOuterAlt(localctx, 5); + this.state = 1073; + this.match(HiveSqlParser.T_STORAGE); + this.state = 1074; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1077; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 1077; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 1075; + this.ident(); + break; + case HiveSqlParser.L_INT: + this.state = 1076; + this.match(HiveSqlParser.L_INT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1079; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << HiveSqlParser.T__8) | (1 << HiveSqlParser.T_GO) | (1 << HiveSqlParser.T_BEGIN) | (1 << HiveSqlParser.T_EXCEPTION) | (1 << HiveSqlParser.L_ID) | (1 << HiveSqlParser.T_THEN) | (1 << HiveSqlParser.T_SET) | (1 << HiveSqlParser.T_ALLOCATE) | (1 << HiveSqlParser.T_CURSOR) | (1 << HiveSqlParser.T_FOR) | (1 << HiveSqlParser.T_RESULT) | (1 << HiveSqlParser.T_PROCEDURE) | (1 << HiveSqlParser.T_ASSOCIATE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (HiveSqlParser.T_LOCATOR - 32)) | (1 << (HiveSqlParser.T_LOCATORS - 32)) | (1 << (HiveSqlParser.T_WITH - 32)) | (1 << (HiveSqlParser.T_TRANSACTION - 32)) | (1 << (HiveSqlParser.T_BREAK - 32)) | (1 << (HiveSqlParser.T_CALL - 32)) | (1 << (HiveSqlParser.T_DECLARE - 32)) | (1 << (HiveSqlParser.T_AS - 32)) | (1 << (HiveSqlParser.T_CONSTANT - 32)) | (1 << (HiveSqlParser.T_CONDITION - 32)) | (1 << (HiveSqlParser.T_IS - 32)) | (1 << (HiveSqlParser.T_RETURN - 32)) | (1 << (HiveSqlParser.T_ONLY - 32)) | (1 << (HiveSqlParser.T_TO - 32)) | (1 << (HiveSqlParser.T_CALLER - 32)) | (1 << (HiveSqlParser.T_CLIENT - 32)) | (1 << (HiveSqlParser.T_WITHOUT - 32)) | (1 << (HiveSqlParser.T_CONTINUE - 32)) | (1 << (HiveSqlParser.T_EXIT - 32)) | (1 << (HiveSqlParser.T_HANDLER - 32)) | (1 << (HiveSqlParser.T_SQLEXCEPTION - 32)) | (1 << (HiveSqlParser.T_SQLWARNING - 32)) | (1 << (HiveSqlParser.T_NOT - 32)) | (1 << (HiveSqlParser.T_FOUND - 32)) | (1 << (HiveSqlParser.T_GLOBAL - 32)) | (1 << (HiveSqlParser.T_TEMPORARY - 32)) | (1 << (HiveSqlParser.T_TABLE - 32)) | (1 << (HiveSqlParser.T_CREATE - 32)) | (1 << (HiveSqlParser.T_IF - 32)) | (1 << (HiveSqlParser.T_EXISTS - 32)) | (1 << (HiveSqlParser.T_LOCAL - 32)) | (1 << (HiveSqlParser.T_MULTISET - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (HiveSqlParser.T_VOLATILE - 64)) | (1 << (HiveSqlParser.T_LIKE - 64)) | (1 << (HiveSqlParser.T_CONSTRAINT - 64)) | (1 << (HiveSqlParser.T_PRIMARY - 64)) | (1 << (HiveSqlParser.T_KEY - 64)) | (1 << (HiveSqlParser.T_UNIQUE - 64)) | (1 << (HiveSqlParser.T_REFERENCES - 64)) | (1 << (HiveSqlParser.T_IDENTITY - 64)) | (1 << (HiveSqlParser.L_INT - 64)) | (1 << (HiveSqlParser.T_AUTO_INCREMENT - 64)) | (1 << (HiveSqlParser.T_ENABLE - 64)) | (1 << (HiveSqlParser.T_CLUSTERED - 64)) | (1 << (HiveSqlParser.T_ASC - 64)) | (1 << (HiveSqlParser.T_DESC - 64)) | (1 << (HiveSqlParser.T_FOREIGN - 64)) | (1 << (HiveSqlParser.T_ON - 64)) | (1 << (HiveSqlParser.T_UPDATE - 64)) | (1 << (HiveSqlParser.T_DELETE - 64)) | (1 << (HiveSqlParser.T_NO - 64)) | (1 << (HiveSqlParser.T_ACTION - 64)) | (1 << (HiveSqlParser.T_RESTRICT - 64)) | (1 << (HiveSqlParser.T_DEFAULT - 64)) | (1 << (HiveSqlParser.T_CASCADE - 64)) | (1 << (HiveSqlParser.T_LOG - 64)) | (1 << (HiveSqlParser.T_FALLBACK - 64)) | (1 << (HiveSqlParser.T_COMMIT - 64)) | (1 << (HiveSqlParser.T_PRESERVE - 64)) | (1 << (HiveSqlParser.T_ROWS - 64)) | (1 << (HiveSqlParser.T_SEGMENT - 64)) | (1 << (HiveSqlParser.T_CREATION - 64)) | (1 << (HiveSqlParser.T_IMMEDIATE - 64)) | (1 << (HiveSqlParser.T_DEFERRED - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (HiveSqlParser.T_PCTFREE - 96)) | (1 << (HiveSqlParser.T_PCTUSED - 96)) | (1 << (HiveSqlParser.T_INITRANS - 96)) | (1 << (HiveSqlParser.T_MAXTRANS - 96)) | (1 << (HiveSqlParser.T_NOCOMPRESS - 96)) | (1 << (HiveSqlParser.T_LOGGING - 96)) | (1 << (HiveSqlParser.T_NOLOGGING - 96)) | (1 << (HiveSqlParser.T_STORAGE - 96)) | (1 << (HiveSqlParser.T_TABLESPACE - 96)) | (1 << (HiveSqlParser.T_INDEX - 96)) | (1 << (HiveSqlParser.T_IN - 96)) | (1 << (HiveSqlParser.T_REPLACE - 96)) | (1 << (HiveSqlParser.T_DISTRIBUTE - 96)) | (1 << (HiveSqlParser.T_BY - 96)) | (1 << (HiveSqlParser.T_HASH - 96)) | (1 << (HiveSqlParser.T_LOGGED - 96)) | (1 << (HiveSqlParser.T_COMPRESS - 96)) | (1 << (HiveSqlParser.T_YES - 96)) | (1 << (HiveSqlParser.T_DEFINITION - 96)) | (1 << (HiveSqlParser.T_DROP - 96)) | (1 << (HiveSqlParser.T_DATA - 96)) | (1 << (HiveSqlParser.T_STORED - 96)) | (1 << (HiveSqlParser.T_ROW - 96)) | (1 << (HiveSqlParser.T_FORMAT - 96)) | (1 << (HiveSqlParser.T_DELIMITED - 96)) | (1 << (HiveSqlParser.T_FIELDS - 96)) | (1 << (HiveSqlParser.T_TERMINATED - 96)) | (1 << (HiveSqlParser.T_ESCAPED - 96)) | (1 << (HiveSqlParser.T_COLLECTION - 96)) | (1 << (HiveSqlParser.T_ITEMS - 96)) | (1 << (HiveSqlParser.T_MAP - 96)) | (1 << (HiveSqlParser.T_KEYS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (HiveSqlParser.T_LINES - 128)) | (1 << (HiveSqlParser.T_DEFINED - 128)) | (1 << (HiveSqlParser.T_TEXTIMAGE_ON - 128)) | (1 << (HiveSqlParser.T_COMMENT - 128)) | (1 << (HiveSqlParser.T_CHARACTER - 128)) | (1 << (HiveSqlParser.T_CHARSET - 128)) | (1 << (HiveSqlParser.T_ENGINE - 128)) | (1 << (HiveSqlParser.T_ALTER - 128)) | (1 << (HiveSqlParser.T_ADD2 - 128)) | (1 << (HiveSqlParser.T_CHAR - 128)) | (1 << (HiveSqlParser.T_BIGINT - 128)) | (1 << (HiveSqlParser.T_BINARY_DOUBLE - 128)) | (1 << (HiveSqlParser.T_BINARY_FLOAT - 128)) | (1 << (HiveSqlParser.T_BIT - 128)) | (1 << (HiveSqlParser.T_DATE - 128)) | (1 << (HiveSqlParser.T_DATETIME - 128)) | (1 << (HiveSqlParser.T_DEC - 128)) | (1 << (HiveSqlParser.T_DECIMAL - 128)) | (1 << (HiveSqlParser.T_DOUBLE - 128)) | (1 << (HiveSqlParser.T_PRECISION - 128)) | (1 << (HiveSqlParser.T_FLOAT - 128)) | (1 << (HiveSqlParser.T_INT - 128)) | (1 << (HiveSqlParser.T_INT2 - 128)) | (1 << (HiveSqlParser.T_INT4 - 128)) | (1 << (HiveSqlParser.T_INT8 - 128)) | (1 << (HiveSqlParser.T_INTEGER - 128)) | (1 << (HiveSqlParser.T_NCHAR - 128)) | (1 << (HiveSqlParser.T_NVARCHAR - 128)) | (1 << (HiveSqlParser.T_NUMBER - 128)) | (1 << (HiveSqlParser.T_NUMERIC - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (HiveSqlParser.T_REAL - 160)) | (1 << (HiveSqlParser.T_RESULT_SET_LOCATOR - 160)) | (1 << (HiveSqlParser.T_VARYING - 160)) | (1 << (HiveSqlParser.T_SIMPLE_FLOAT - 160)) | (1 << (HiveSqlParser.T_SIMPLE_DOUBLE - 160)) | (1 << (HiveSqlParser.T_SMALLINT - 160)) | (1 << (HiveSqlParser.T_SMALLDATETIME - 160)) | (1 << (HiveSqlParser.T_STRING - 160)) | (1 << (HiveSqlParser.T_SYS_REFCURSOR - 160)) | (1 << (HiveSqlParser.T_TIMESTAMP - 160)) | (1 << (HiveSqlParser.T_VARCHAR - 160)) | (1 << (HiveSqlParser.T_VARCHAR2 - 160)) | (1 << (HiveSqlParser.T_XML - 160)) | (1 << (HiveSqlParser.T_MAX - 160)) | (1 << (HiveSqlParser.T_BYTE - 160)) | (1 << (HiveSqlParser.T_CASESPECIFIC - 160)) | (1 << (HiveSqlParser.T_CS - 160)) | (1 << (HiveSqlParser.T_DATABASE - 160)) | (1 << (HiveSqlParser.T_SCHEMA - 160)) | (1 << (HiveSqlParser.T_LOCATION - 160)) | (1 << (HiveSqlParser.T_OR - 160)) | (1 << (HiveSqlParser.T_FUNCTION - 160)) | (1 << (HiveSqlParser.T_RETURNS - 160)) | (1 << (HiveSqlParser.T_PACKAGE - 160)) | (1 << (HiveSqlParser.T_PROC - 160)) | (1 << (HiveSqlParser.T_BODY - 160)) | (1 << (HiveSqlParser.T_OUT - 160)) | (1 << (HiveSqlParser.T_INOUT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (HiveSqlParser.T_LANGUAGE - 192)) | (1 << (HiveSqlParser.T_SQL - 192)) | (1 << (HiveSqlParser.T_SECURITY - 192)) | (1 << (HiveSqlParser.T_CREATOR - 192)) | (1 << (HiveSqlParser.T_DEFINER - 192)) | (1 << (HiveSqlParser.T_INVOKER - 192)) | (1 << (HiveSqlParser.T_OWNER - 192)) | (1 << (HiveSqlParser.T_DYNAMIC - 192)) | (1 << (HiveSqlParser.T_SETS - 192)) | (1 << (HiveSqlParser.T_EXEC - 192)) | (1 << (HiveSqlParser.T_EXECUTE - 192)) | (1 << (HiveSqlParser.T_INTO - 192)) | (1 << (HiveSqlParser.T_INCLUDE - 192)) | (1 << (HiveSqlParser.T_INSERT - 192)) | (1 << (HiveSqlParser.T_OVERWRITE - 192)) | (1 << (HiveSqlParser.T_VALUES - 192)) | (1 << (HiveSqlParser.T_DIRECTORY - 192)) | (1 << (HiveSqlParser.T_GET - 192)) | (1 << (HiveSqlParser.T_DIAGNOSTICS - 192)) | (1 << (HiveSqlParser.T_MESSAGE_TEXT - 192)) | (1 << (HiveSqlParser.T_ROW_COUNT - 192)) | (1 << (HiveSqlParser.T_GRANT - 192)) | (1 << (HiveSqlParser.T_ROLE - 192)) | (1 << (HiveSqlParser.T_LEAVE - 192)) | (1 << (HiveSqlParser.T_OBJECT - 192)) | (1 << (HiveSqlParser.T_AT - 192)) | (1 << (HiveSqlParser.T_OPEN - 192)) | (1 << (HiveSqlParser.T_FETCH - 192)) | (1 << (HiveSqlParser.T_FROM - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (HiveSqlParser.T_COLLECT - 224)) | (1 << (HiveSqlParser.T_STATISTICS - 224)) | (1 << (HiveSqlParser.T_STATS - 224)) | (1 << (HiveSqlParser.T_COLUMN - 224)) | (1 << (HiveSqlParser.T_CLOSE - 224)) | (1 << (HiveSqlParser.T_CMP - 224)) | (1 << (HiveSqlParser.T_SUM - 224)) | (1 << (HiveSqlParser.T_COPY - 224)) | (1 << (HiveSqlParser.T_HDFS - 224)) | (1 << (HiveSqlParser.T_BATCHSIZE - 224)) | (1 << (HiveSqlParser.T_DELIMITER - 224)) | (1 << (HiveSqlParser.T_SQLINSERT - 224)) | (1 << (HiveSqlParser.T_IGNORE - 224)) | (1 << (HiveSqlParser.T_WORK - 224)) | (1 << (HiveSqlParser.T_PRINT - 224)) | (1 << (HiveSqlParser.T_QUIT - 224)) | (1 << (HiveSqlParser.T_RAISE - 224)) | (1 << (HiveSqlParser.T_RESIGNAL - 224)) | (1 << (HiveSqlParser.T_SQLSTATE - 224)) | (1 << (HiveSqlParser.T_VALUE - 224)) | (1 << (HiveSqlParser.T_ROLLBACK - 224)) | (1 << (HiveSqlParser.T_CURRENT - 224)) | (1 << (HiveSqlParser.T_CURRENT_SCHEMA - 224)) | (1 << (HiveSqlParser.T_ANSI_NULLS - 224)) | (1 << (HiveSqlParser.T_ANSI_PADDING - 224)) | (1 << (HiveSqlParser.T_NOCOUNT - 224)) | (1 << (HiveSqlParser.T_QUOTED_IDENTIFIER - 224)) | (1 << (HiveSqlParser.T_XACT_ABORT - 224)) | (1 << (HiveSqlParser.T_OFF - 224)) | (1 << (HiveSqlParser.T_QUERY_BAND - 224)) | (1 << (HiveSqlParser.T_NONE - 224)) | (1 << (HiveSqlParser.T_SESSION - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (HiveSqlParser.T_SIGNAL - 256)) | (1 << (HiveSqlParser.T_SUMMARY - 256)) | (1 << (HiveSqlParser.T_TOP - 256)) | (1 << (HiveSqlParser.T_LIMIT - 256)) | (1 << (HiveSqlParser.T_TRUNCATE - 256)) | (1 << (HiveSqlParser.T_USE - 256)) | (1 << (HiveSqlParser.T_WHILE - 256)) | (1 << (HiveSqlParser.T_DO - 256)) | (1 << (HiveSqlParser.T_LOOP - 256)) | (1 << (HiveSqlParser.T_REVERSE - 256)) | (1 << (HiveSqlParser.T_STEP - 256)) | (1 << (HiveSqlParser.T_USING - 256)) | (1 << (HiveSqlParser.T_ALL - 256)) | (1 << (HiveSqlParser.T_EXCEPT - 256)) | (1 << (HiveSqlParser.T_INTERSECT - 256)) | (1 << (HiveSqlParser.T_SELECT - 256)) | (1 << (HiveSqlParser.T_SEL - 256)) | (1 << (HiveSqlParser.T_DISTINCT - 256)) | (1 << (HiveSqlParser.T_TITLE - 256)) | (1 << (HiveSqlParser.T_INNER - 256)) | (1 << (HiveSqlParser.T_JOIN - 256)) | (1 << (HiveSqlParser.T_LEFT - 256)) | (1 << (HiveSqlParser.T_RIGHT - 256)) | (1 << (HiveSqlParser.T_FULL - 256)) | (1 << (HiveSqlParser.T_OUTER - 256)))) !== 0) || ((((_la - 288)) & ~0x1f) == 0 && ((1 << (_la - 288)) & ((1 << (HiveSqlParser.T_GROUP - 288)) | (1 << (HiveSqlParser.T_HAVING - 288)) | (1 << (HiveSqlParser.T_QUALIFY - 288)) | (1 << (HiveSqlParser.T_ORDER - 288)) | (1 << (HiveSqlParser.T_RR - 288)) | (1 << (HiveSqlParser.T_RS - 288)) | (1 << (HiveSqlParser.T_UR - 288)) | (1 << (HiveSqlParser.T_AND - 288)) | (1 << (HiveSqlParser.T_KEEP - 288)) | (1 << (HiveSqlParser.T_EXCLUSIVE - 288)) | (1 << (HiveSqlParser.T_SHARE - 288)) | (1 << (HiveSqlParser.T_LOCKS - 288)) | (1 << (HiveSqlParser.T_MERGE - 288)) | (1 << (HiveSqlParser.T_MATCHED - 288)) | (1 << (HiveSqlParser.T_DESCRIBE - 288)) | (1 << (HiveSqlParser.T_BETWEEN - 288)) | (1 << (HiveSqlParser.T_RLIKE - 288)) | (1 << (HiveSqlParser.T_REGEXP - 288)) | (1 << (HiveSqlParser.T_INTERVAL - 288)) | (1 << (HiveSqlParser.T_DAY - 288)) | (1 << (HiveSqlParser.T_DAYS - 288)) | (1 << (HiveSqlParser.T_MICROSECOND - 288)) | (1 << (HiveSqlParser.T_MICROSECONDS - 288)))) !== 0) || ((((_la - 320)) & ~0x1f) == 0 && ((1 << (_la - 320)) & ((1 << (HiveSqlParser.T_SECOND - 320)) | (1 << (HiveSqlParser.T_SECONDS - 320)) | (1 << (HiveSqlParser.T_CONCAT - 320)) | (1 << (HiveSqlParser.T_CASE - 320)) | (1 << (HiveSqlParser.T_ISOPEN - 320)) | (1 << (HiveSqlParser.T_NOTFOUND - 320)) | (1 << (HiveSqlParser.T_AVG - 320)) | (1 << (HiveSqlParser.T_COUNT - 320)) | (1 << (HiveSqlParser.T_COUNT_BIG - 320)) | (1 << (HiveSqlParser.T_CUME_DIST - 320)) | (1 << (HiveSqlParser.T_DENSE_RANK - 320)) | (1 << (HiveSqlParser.T_FIRST_VALUE - 320)) | (1 << (HiveSqlParser.T_LAG - 320)) | (1 << (HiveSqlParser.T_LAST_VALUE - 320)) | (1 << (HiveSqlParser.T_LEAD - 320)) | (1 << (HiveSqlParser.T_MIN - 320)) | (1 << (HiveSqlParser.T_RANK - 320)) | (1 << (HiveSqlParser.T_ROW_NUMBER - 320)) | (1 << (HiveSqlParser.T_STDEV - 320)) | (1 << (HiveSqlParser.T_VAR - 320)) | (1 << (HiveSqlParser.T_VARIANCE - 320)) | (1 << (HiveSqlParser.T_OVER - 320)) | (1 << (HiveSqlParser.T_PARTITION - 320)) | (1 << (HiveSqlParser.T_ACTIVITY_COUNT - 320)) | (1 << (HiveSqlParser.T_CAST - 320)) | (1 << (HiveSqlParser.T_CURRENT_DATE - 320)) | (1 << (HiveSqlParser.T_CURRENT_TIMESTAMP - 320)) | (1 << (HiveSqlParser.T_CURRENT_USER - 320)) | (1 << (HiveSqlParser.T_USER - 320)))) !== 0) || ((((_la - 356)) & ~0x1f) == 0 && ((1 << (_la - 356)) & ((1 << (HiveSqlParser.T_PART_COUNT - 356)) | (1 << (HiveSqlParser.T_PART_LOC - 356)) | (1 << (HiveSqlParser.T_TRIM - 356)) | (1 << (HiveSqlParser.T_SUBSTRING - 356)) | (1 << (HiveSqlParser.T_SYSDATE - 356)) | (1 << (HiveSqlParser.T_HIVE - 356)) | (1 << (HiveSqlParser.T_HOST - 356)) | (1 << (HiveSqlParser.T_TRUE - 356)) | (1 << (HiveSqlParser.T_FALSE - 356)) | (1 << (HiveSqlParser.T_DIR - 356)) | (1 << (HiveSqlParser.T_FILE - 356)) | (1 << (HiveSqlParser.T_FILES - 356)) | (1 << (HiveSqlParser.T_NEW - 356)) | (1 << (HiveSqlParser.T_PWD - 356)) | (1 << (HiveSqlParser.T_SESSIONS - 356)) | (1 << (HiveSqlParser.T_SUBDIR - 356)))) !== 0)); + this.state = 1081; + this.match(HiveSqlParser.T_CLOSE_P); + break; + case HiveSqlParser.T_TABLESPACE: + this.enterOuterAlt(localctx, 6); + this.state = 1082; + this.match(HiveSqlParser.T_TABLESPACE); + this.state = 1083; + this.ident(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_options_db2_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_options_db2_item; + return this; +} + +Create_table_options_db2_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_options_db2_itemContext.prototype.constructor = Create_table_options_db2_itemContext; + +Create_table_options_db2_itemContext.prototype.T_IN = function() { + return this.getToken(HiveSqlParser.T_IN, 0); +}; + +Create_table_options_db2_itemContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Create_table_options_db2_itemContext.prototype.T_INDEX = function() { + return this.getToken(HiveSqlParser.T_INDEX, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_REPLACE = function() { + return this.getToken(HiveSqlParser.T_REPLACE, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_DISTRIBUTE = function() { + return this.getToken(HiveSqlParser.T_DISTRIBUTE, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_BY = function() { + return this.getToken(HiveSqlParser.T_BY, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_HASH = function() { + return this.getToken(HiveSqlParser.T_HASH, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Create_table_options_db2_itemContext.prototype.T_LOGGED = function() { + return this.getToken(HiveSqlParser.T_LOGGED, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_COMPRESS = function() { + return this.getToken(HiveSqlParser.T_COMPRESS, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_YES = function() { + return this.getToken(HiveSqlParser.T_YES, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_NO = function() { + return this.getToken(HiveSqlParser.T_NO, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_DEFINITION = function() { + return this.getToken(HiveSqlParser.T_DEFINITION, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_ONLY = function() { + return this.getToken(HiveSqlParser.T_ONLY, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_RESTRICT = function() { + return this.getToken(HiveSqlParser.T_RESTRICT, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Create_table_options_db2_itemContext.prototype.T_DROP = function() { + return this.getToken(HiveSqlParser.T_DROP, 0); +}; + +Create_table_options_db2_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_options_db2_item(this); + } +}; + +Create_table_options_db2_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_options_db2_item(this); + } +}; + +Create_table_options_db2_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_options_db2_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_options_db2_itemContext = Create_table_options_db2_itemContext; + +HiveSqlParser.prototype.create_table_options_db2_item = function() { + + var localctx = new Create_table_options_db2_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 96, HiveSqlParser.RULE_create_table_options_db2_item); + var _la = 0; // Token type + try { + this.state = 1119; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,92,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1087; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_INDEX) { + this.state = 1086; + this.match(HiveSqlParser.T_INDEX); + } + + this.state = 1089; + this.match(HiveSqlParser.T_IN); + this.state = 1090; + this.ident(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1091; + this.match(HiveSqlParser.T_WITH); + this.state = 1092; + this.match(HiveSqlParser.T_REPLACE); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1093; + this.match(HiveSqlParser.T_DISTRIBUTE); + this.state = 1094; + this.match(HiveSqlParser.T_BY); + this.state = 1095; + this.match(HiveSqlParser.T_HASH); + this.state = 1096; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1097; + this.ident(); + this.state = 1102; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1098; + this.match(HiveSqlParser.T_COMMA); + this.state = 1099; + this.ident(); + this.state = 1104; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1105; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 1108; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 1107; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 1110; + this.match(HiveSqlParser.T_LOGGED); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 1111; + this.match(HiveSqlParser.T_COMPRESS); + this.state = 1112; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_NO || _la===HiveSqlParser.T_YES)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 1113; + this.match(HiveSqlParser.T_DEFINITION); + this.state = 1114; + this.match(HiveSqlParser.T_ONLY); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 1115; + this.match(HiveSqlParser.T_WITH); + this.state = 1116; + this.match(HiveSqlParser.T_RESTRICT); + this.state = 1117; + this.match(HiveSqlParser.T_ON); + this.state = 1118; + this.match(HiveSqlParser.T_DROP); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_options_td_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_options_td_item; + return this; +} + +Create_table_options_td_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_options_td_itemContext.prototype.constructor = Create_table_options_td_itemContext; + +Create_table_options_td_itemContext.prototype.T_PRIMARY = function() { + return this.getToken(HiveSqlParser.T_PRIMARY, 0); +}; + +Create_table_options_td_itemContext.prototype.T_INDEX = function() { + return this.getToken(HiveSqlParser.T_INDEX, 0); +}; + +Create_table_options_td_itemContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Create_table_options_td_itemContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Create_table_options_td_itemContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Create_table_options_td_itemContext.prototype.T_UNIQUE = function() { + return this.getToken(HiveSqlParser.T_UNIQUE, 0); +}; + +Create_table_options_td_itemContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Create_table_options_td_itemContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Create_table_options_td_itemContext.prototype.T_DATA = function() { + return this.getToken(HiveSqlParser.T_DATA, 0); +}; + +Create_table_options_td_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_options_td_item(this); + } +}; + +Create_table_options_td_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_options_td_item(this); + } +}; + +Create_table_options_td_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_options_td_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_options_td_itemContext = Create_table_options_td_itemContext; + +HiveSqlParser.prototype.create_table_options_td_item = function() { + + var localctx = new Create_table_options_td_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 98, HiveSqlParser.RULE_create_table_options_td_item); + var _la = 0; // Token type + try { + this.state = 1139; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_UNIQUE: + this.enterOuterAlt(localctx, 1); + this.state = 1122; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_UNIQUE) { + this.state = 1121; + this.match(HiveSqlParser.T_UNIQUE); + } + + this.state = 1124; + this.match(HiveSqlParser.T_PRIMARY); + this.state = 1125; + this.match(HiveSqlParser.T_INDEX); + this.state = 1126; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1127; + this.ident(); + this.state = 1132; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1128; + this.match(HiveSqlParser.T_COMMA); + this.state = 1129; + this.ident(); + this.state = 1134; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1135; + this.match(HiveSqlParser.T_CLOSE_P); + break; + case HiveSqlParser.T_WITH: + this.enterOuterAlt(localctx, 2); + this.state = 1137; + this.match(HiveSqlParser.T_WITH); + this.state = 1138; + this.match(HiveSqlParser.T_DATA); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_options_hive_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_options_hive_item; + return this; +} + +Create_table_options_hive_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_options_hive_itemContext.prototype.constructor = Create_table_options_hive_itemContext; + +Create_table_options_hive_itemContext.prototype.create_table_hive_row_format = function() { + return this.getTypedRuleContext(Create_table_hive_row_formatContext,0); +}; + +Create_table_options_hive_itemContext.prototype.T_STORED = function() { + return this.getToken(HiveSqlParser.T_STORED, 0); +}; + +Create_table_options_hive_itemContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Create_table_options_hive_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_table_options_hive_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_options_hive_item(this); + } +}; + +Create_table_options_hive_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_options_hive_item(this); + } +}; + +Create_table_options_hive_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_options_hive_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_options_hive_itemContext = Create_table_options_hive_itemContext; + +HiveSqlParser.prototype.create_table_options_hive_item = function() { + + var localctx = new Create_table_options_hive_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 100, HiveSqlParser.RULE_create_table_options_hive_item); + try { + this.state = 1145; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_ROW: + this.enterOuterAlt(localctx, 1); + this.state = 1141; + this.create_table_hive_row_format(); + break; + case HiveSqlParser.T_STORED: + this.enterOuterAlt(localctx, 2); + this.state = 1142; + this.match(HiveSqlParser.T_STORED); + this.state = 1143; + this.match(HiveSqlParser.T_AS); + this.state = 1144; + this.ident(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_hive_row_formatContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_hive_row_format; + return this; +} + +Create_table_hive_row_formatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_hive_row_formatContext.prototype.constructor = Create_table_hive_row_formatContext; + +Create_table_hive_row_formatContext.prototype.T_ROW = function() { + return this.getToken(HiveSqlParser.T_ROW, 0); +}; + +Create_table_hive_row_formatContext.prototype.T_FORMAT = function() { + return this.getToken(HiveSqlParser.T_FORMAT, 0); +}; + +Create_table_hive_row_formatContext.prototype.T_DELIMITED = function() { + return this.getToken(HiveSqlParser.T_DELIMITED, 0); +}; + +Create_table_hive_row_formatContext.prototype.create_table_hive_row_format_fields = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_hive_row_format_fieldsContext); + } else { + return this.getTypedRuleContext(Create_table_hive_row_format_fieldsContext,i); + } +}; + +Create_table_hive_row_formatContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_hive_row_format(this); + } +}; + +Create_table_hive_row_formatContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_hive_row_format(this); + } +}; + +Create_table_hive_row_formatContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_hive_row_format(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_hive_row_formatContext = Create_table_hive_row_formatContext; + +HiveSqlParser.prototype.create_table_hive_row_format = function() { + + var localctx = new Create_table_hive_row_formatContext(this, this._ctx, this.state); + this.enterRule(localctx, 102, HiveSqlParser.RULE_create_table_hive_row_format); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1147; + this.match(HiveSqlParser.T_ROW); + this.state = 1148; + this.match(HiveSqlParser.T_FORMAT); + this.state = 1149; + this.match(HiveSqlParser.T_DELIMITED); + this.state = 1153; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,97,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1150; + this.create_table_hive_row_format_fields(); + } + this.state = 1155; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,97,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_hive_row_format_fieldsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_hive_row_format_fields; + return this; +} + +Create_table_hive_row_format_fieldsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_hive_row_format_fieldsContext.prototype.constructor = Create_table_hive_row_format_fieldsContext; + +Create_table_hive_row_format_fieldsContext.prototype.T_FIELDS = function() { + return this.getToken(HiveSqlParser.T_FIELDS, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_TERMINATED = function() { + return this.getToken(HiveSqlParser.T_TERMINATED, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_BY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_BY); + } else { + return this.getToken(HiveSqlParser.T_BY, i); + } +}; + + +Create_table_hive_row_format_fieldsContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_ESCAPED = function() { + return this.getToken(HiveSqlParser.T_ESCAPED, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_COLLECTION = function() { + return this.getToken(HiveSqlParser.T_COLLECTION, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_ITEMS = function() { + return this.getToken(HiveSqlParser.T_ITEMS, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_MAP = function() { + return this.getToken(HiveSqlParser.T_MAP, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_KEYS = function() { + return this.getToken(HiveSqlParser.T_KEYS, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_LINES = function() { + return this.getToken(HiveSqlParser.T_LINES, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_NULL = function() { + return this.getToken(HiveSqlParser.T_NULL, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_DEFINED = function() { + return this.getToken(HiveSqlParser.T_DEFINED, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Create_table_hive_row_format_fieldsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_hive_row_format_fields(this); + } +}; + +Create_table_hive_row_format_fieldsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_hive_row_format_fields(this); + } +}; + +Create_table_hive_row_format_fieldsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_hive_row_format_fields(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_hive_row_format_fieldsContext = Create_table_hive_row_format_fieldsContext; + +HiveSqlParser.prototype.create_table_hive_row_format_fields = function() { + + var localctx = new Create_table_hive_row_format_fieldsContext(this, this._ctx, this.state); + this.enterRule(localctx, 104, HiveSqlParser.RULE_create_table_hive_row_format_fields); + try { + this.state = 1183; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_FIELDS: + this.enterOuterAlt(localctx, 1); + this.state = 1156; + this.match(HiveSqlParser.T_FIELDS); + this.state = 1157; + this.match(HiveSqlParser.T_TERMINATED); + this.state = 1158; + this.match(HiveSqlParser.T_BY); + this.state = 1159; + this.expr(0); + this.state = 1163; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,98,this._ctx); + if(la_===1) { + this.state = 1160; + this.match(HiveSqlParser.T_ESCAPED); + this.state = 1161; + this.match(HiveSqlParser.T_BY); + this.state = 1162; + this.expr(0); + + } + break; + case HiveSqlParser.T_COLLECTION: + this.enterOuterAlt(localctx, 2); + this.state = 1165; + this.match(HiveSqlParser.T_COLLECTION); + this.state = 1166; + this.match(HiveSqlParser.T_ITEMS); + this.state = 1167; + this.match(HiveSqlParser.T_TERMINATED); + this.state = 1168; + this.match(HiveSqlParser.T_BY); + this.state = 1169; + this.expr(0); + break; + case HiveSqlParser.T_MAP: + this.enterOuterAlt(localctx, 3); + this.state = 1170; + this.match(HiveSqlParser.T_MAP); + this.state = 1171; + this.match(HiveSqlParser.T_KEYS); + this.state = 1172; + this.match(HiveSqlParser.T_TERMINATED); + this.state = 1173; + this.match(HiveSqlParser.T_BY); + this.state = 1174; + this.expr(0); + break; + case HiveSqlParser.T_LINES: + this.enterOuterAlt(localctx, 4); + this.state = 1175; + this.match(HiveSqlParser.T_LINES); + this.state = 1176; + this.match(HiveSqlParser.T_TERMINATED); + this.state = 1177; + this.match(HiveSqlParser.T_BY); + this.state = 1178; + this.expr(0); + break; + case HiveSqlParser.T_NULL: + this.enterOuterAlt(localctx, 5); + this.state = 1179; + this.match(HiveSqlParser.T_NULL); + this.state = 1180; + this.match(HiveSqlParser.T_DEFINED); + this.state = 1181; + this.match(HiveSqlParser.T_AS); + this.state = 1182; + this.expr(0); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_options_mssql_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_options_mssql_item; + return this; +} + +Create_table_options_mssql_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_options_mssql_itemContext.prototype.constructor = Create_table_options_mssql_itemContext; + +Create_table_options_mssql_itemContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Create_table_options_mssql_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_table_options_mssql_itemContext.prototype.T_TEXTIMAGE_ON = function() { + return this.getToken(HiveSqlParser.T_TEXTIMAGE_ON, 0); +}; + +Create_table_options_mssql_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_options_mssql_item(this); + } +}; + +Create_table_options_mssql_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_options_mssql_item(this); + } +}; + +Create_table_options_mssql_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_options_mssql_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_options_mssql_itemContext = Create_table_options_mssql_itemContext; + +HiveSqlParser.prototype.create_table_options_mssql_item = function() { + + var localctx = new Create_table_options_mssql_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 106, HiveSqlParser.RULE_create_table_options_mssql_item); + try { + this.state = 1189; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_ON: + this.enterOuterAlt(localctx, 1); + this.state = 1185; + this.match(HiveSqlParser.T_ON); + this.state = 1186; + this.ident(); + break; + case HiveSqlParser.T_TEXTIMAGE_ON: + this.enterOuterAlt(localctx, 2); + this.state = 1187; + this.match(HiveSqlParser.T_TEXTIMAGE_ON); + this.state = 1188; + this.ident(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_table_options_mysql_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_table_options_mysql_item; + return this; +} + +Create_table_options_mysql_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_table_options_mysql_itemContext.prototype.constructor = Create_table_options_mysql_itemContext; + +Create_table_options_mysql_itemContext.prototype.T_AUTO_INCREMENT = function() { + return this.getToken(HiveSqlParser.T_AUTO_INCREMENT, 0); +}; + +Create_table_options_mysql_itemContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Create_table_options_mysql_itemContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Create_table_options_mysql_itemContext.prototype.T_COMMENT = function() { + return this.getToken(HiveSqlParser.T_COMMENT, 0); +}; + +Create_table_options_mysql_itemContext.prototype.T_CHARACTER = function() { + return this.getToken(HiveSqlParser.T_CHARACTER, 0); +}; + +Create_table_options_mysql_itemContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Create_table_options_mysql_itemContext.prototype.T_CHARSET = function() { + return this.getToken(HiveSqlParser.T_CHARSET, 0); +}; + +Create_table_options_mysql_itemContext.prototype.T_DEFAULT = function() { + return this.getToken(HiveSqlParser.T_DEFAULT, 0); +}; + +Create_table_options_mysql_itemContext.prototype.T_ENGINE = function() { + return this.getToken(HiveSqlParser.T_ENGINE, 0); +}; + +Create_table_options_mysql_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_table_options_mysql_item(this); + } +}; + +Create_table_options_mysql_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_table_options_mysql_item(this); + } +}; + +Create_table_options_mysql_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_table_options_mysql_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_table_options_mysql_itemContext = Create_table_options_mysql_itemContext; + +HiveSqlParser.prototype.create_table_options_mysql_item = function() { + + var localctx = new Create_table_options_mysql_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 108, HiveSqlParser.RULE_create_table_options_mysql_item); + var _la = 0; // Token type + try { + this.state = 1218; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_AUTO_INCREMENT: + this.enterOuterAlt(localctx, 1); + this.state = 1191; + this.match(HiveSqlParser.T_AUTO_INCREMENT); + this.state = 1193; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_EQUAL) { + this.state = 1192; + this.match(HiveSqlParser.T_EQUAL); + } + + this.state = 1195; + this.expr(0); + break; + case HiveSqlParser.T_COMMENT: + this.enterOuterAlt(localctx, 2); + this.state = 1196; + this.match(HiveSqlParser.T_COMMENT); + this.state = 1198; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_EQUAL) { + this.state = 1197; + this.match(HiveSqlParser.T_EQUAL); + } + + this.state = 1200; + this.expr(0); + break; + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + this.enterOuterAlt(localctx, 3); + this.state = 1202; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_DEFAULT) { + this.state = 1201; + this.match(HiveSqlParser.T_DEFAULT); + } + + this.state = 1207; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_CHARACTER: + this.state = 1204; + this.match(HiveSqlParser.T_CHARACTER); + this.state = 1205; + this.match(HiveSqlParser.T_SET); + break; + case HiveSqlParser.T_CHARSET: + this.state = 1206; + this.match(HiveSqlParser.T_CHARSET); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1210; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_EQUAL) { + this.state = 1209; + this.match(HiveSqlParser.T_EQUAL); + } + + this.state = 1212; + this.expr(0); + break; + case HiveSqlParser.T_ENGINE: + this.enterOuterAlt(localctx, 4); + this.state = 1213; + this.match(HiveSqlParser.T_ENGINE); + this.state = 1215; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_EQUAL) { + this.state = 1214; + this.match(HiveSqlParser.T_EQUAL); + } + + this.state = 1217; + this.expr(0); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_table_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_alter_table_stmt; + return this; +} + +Alter_table_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_table_stmtContext.prototype.constructor = Alter_table_stmtContext; + +Alter_table_stmtContext.prototype.T_ALTER = function() { + return this.getToken(HiveSqlParser.T_ALTER, 0); +}; + +Alter_table_stmtContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Alter_table_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Alter_table_stmtContext.prototype.alter_table_item = function() { + return this.getTypedRuleContext(Alter_table_itemContext,0); +}; + +Alter_table_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAlter_table_stmt(this); + } +}; + +Alter_table_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAlter_table_stmt(this); + } +}; + +Alter_table_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAlter_table_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Alter_table_stmtContext = Alter_table_stmtContext; + +HiveSqlParser.prototype.alter_table_stmt = function() { + + var localctx = new Alter_table_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 110, HiveSqlParser.RULE_alter_table_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1220; + this.match(HiveSqlParser.T_ALTER); + this.state = 1221; + this.match(HiveSqlParser.T_TABLE); + this.state = 1222; + this.table_name(); + this.state = 1223; + this.alter_table_item(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_table_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_alter_table_item; + return this; +} + +Alter_table_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_table_itemContext.prototype.constructor = Alter_table_itemContext; + +Alter_table_itemContext.prototype.alter_table_add_constraint = function() { + return this.getTypedRuleContext(Alter_table_add_constraintContext,0); +}; + +Alter_table_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAlter_table_item(this); + } +}; + +Alter_table_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAlter_table_item(this); + } +}; + +Alter_table_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAlter_table_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Alter_table_itemContext = Alter_table_itemContext; + +HiveSqlParser.prototype.alter_table_item = function() { + + var localctx = new Alter_table_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 112, HiveSqlParser.RULE_alter_table_item); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1225; + this.alter_table_add_constraint(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_table_add_constraintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_alter_table_add_constraint; + return this; +} + +Alter_table_add_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_table_add_constraintContext.prototype.constructor = Alter_table_add_constraintContext; + +Alter_table_add_constraintContext.prototype.T_ADD2 = function() { + return this.getToken(HiveSqlParser.T_ADD2, 0); +}; + +Alter_table_add_constraintContext.prototype.alter_table_add_constraint_item = function() { + return this.getTypedRuleContext(Alter_table_add_constraint_itemContext,0); +}; + +Alter_table_add_constraintContext.prototype.T_CONSTRAINT = function() { + return this.getToken(HiveSqlParser.T_CONSTRAINT, 0); +}; + +Alter_table_add_constraintContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Alter_table_add_constraintContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAlter_table_add_constraint(this); + } +}; + +Alter_table_add_constraintContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAlter_table_add_constraint(this); + } +}; + +Alter_table_add_constraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAlter_table_add_constraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Alter_table_add_constraintContext = Alter_table_add_constraintContext; + +HiveSqlParser.prototype.alter_table_add_constraint = function() { + + var localctx = new Alter_table_add_constraintContext(this, this._ctx, this.state); + this.enterRule(localctx, 114, HiveSqlParser.RULE_alter_table_add_constraint); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1227; + this.match(HiveSqlParser.T_ADD2); + this.state = 1230; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_CONSTRAINT) { + this.state = 1228; + this.match(HiveSqlParser.T_CONSTRAINT); + this.state = 1229; + this.ident(); + } + + this.state = 1232; + this.alter_table_add_constraint_item(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_table_add_constraint_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_alter_table_add_constraint_item; + return this; +} + +Alter_table_add_constraint_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_table_add_constraint_itemContext.prototype.constructor = Alter_table_add_constraint_itemContext; + +Alter_table_add_constraint_itemContext.prototype.T_PRIMARY = function() { + return this.getToken(HiveSqlParser.T_PRIMARY, 0); +}; + +Alter_table_add_constraint_itemContext.prototype.T_KEY = function() { + return this.getToken(HiveSqlParser.T_KEY, 0); +}; + +Alter_table_add_constraint_itemContext.prototype.T_OPEN_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_OPEN_P); + } else { + return this.getToken(HiveSqlParser.T_OPEN_P, i); + } +}; + + +Alter_table_add_constraint_itemContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Alter_table_add_constraint_itemContext.prototype.T_CLOSE_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_CLOSE_P); + } else { + return this.getToken(HiveSqlParser.T_CLOSE_P, i); + } +}; + + +Alter_table_add_constraint_itemContext.prototype.T_CLUSTERED = function() { + return this.getToken(HiveSqlParser.T_CLUSTERED, 0); +}; + +Alter_table_add_constraint_itemContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Alter_table_add_constraint_itemContext.prototype.T_ENABLE = function() { + return this.getToken(HiveSqlParser.T_ENABLE, 0); +}; + +Alter_table_add_constraint_itemContext.prototype.index_storage_clause = function() { + return this.getTypedRuleContext(Index_storage_clauseContext,0); +}; + +Alter_table_add_constraint_itemContext.prototype.T_ASC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_ASC); + } else { + return this.getToken(HiveSqlParser.T_ASC, i); + } +}; + + +Alter_table_add_constraint_itemContext.prototype.T_DESC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_DESC); + } else { + return this.getToken(HiveSqlParser.T_DESC, i); + } +}; + + +Alter_table_add_constraint_itemContext.prototype.T_FOREIGN = function() { + return this.getToken(HiveSqlParser.T_FOREIGN, 0); +}; + +Alter_table_add_constraint_itemContext.prototype.T_REFERENCES = function() { + return this.getToken(HiveSqlParser.T_REFERENCES, 0); +}; + +Alter_table_add_constraint_itemContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Alter_table_add_constraint_itemContext.prototype.create_table_fk_action = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_fk_actionContext); + } else { + return this.getTypedRuleContext(Create_table_fk_actionContext,i); + } +}; + +Alter_table_add_constraint_itemContext.prototype.T_DEFAULT = function() { + return this.getToken(HiveSqlParser.T_DEFAULT, 0); +}; + +Alter_table_add_constraint_itemContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Alter_table_add_constraint_itemContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Alter_table_add_constraint_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterAlter_table_add_constraint_item(this); + } +}; + +Alter_table_add_constraint_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitAlter_table_add_constraint_item(this); + } +}; + +Alter_table_add_constraint_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitAlter_table_add_constraint_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Alter_table_add_constraint_itemContext = Alter_table_add_constraint_itemContext; + +HiveSqlParser.prototype.alter_table_add_constraint_item = function() { + + var localctx = new Alter_table_add_constraint_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 116, HiveSqlParser.RULE_alter_table_add_constraint_item); + var _la = 0; // Token type + try { + this.state = 1296; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_PRIMARY: + this.enterOuterAlt(localctx, 1); + this.state = 1234; + this.match(HiveSqlParser.T_PRIMARY); + this.state = 1235; + this.match(HiveSqlParser.T_KEY); + this.state = 1237; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_CLUSTERED) { + this.state = 1236; + this.match(HiveSqlParser.T_CLUSTERED); + } + + this.state = 1239; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1240; + this.ident(); + this.state = 1242; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC) { + this.state = 1241; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1251; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1244; + this.match(HiveSqlParser.T_COMMA); + this.state = 1245; + this.ident(); + this.state = 1247; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC) { + this.state = 1246; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1253; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1254; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 1256; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,113,this._ctx); + if(la_===1) { + this.state = 1255; + this.match(HiveSqlParser.T_ENABLE); + + } + this.state = 1259; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,114,this._ctx); + if(la_===1) { + this.state = 1258; + this.index_storage_clause(); + + } + break; + case HiveSqlParser.T_FOREIGN: + this.enterOuterAlt(localctx, 2); + this.state = 1261; + this.match(HiveSqlParser.T_FOREIGN); + this.state = 1262; + this.match(HiveSqlParser.T_KEY); + this.state = 1263; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1264; + this.ident(); + this.state = 1269; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1265; + this.match(HiveSqlParser.T_COMMA); + this.state = 1266; + this.ident(); + this.state = 1271; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1272; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 1273; + this.match(HiveSqlParser.T_REFERENCES); + this.state = 1274; + this.table_name(); + this.state = 1275; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1276; + this.ident(); + this.state = 1281; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1277; + this.match(HiveSqlParser.T_COMMA); + this.state = 1278; + this.ident(); + this.state = 1283; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1284; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 1288; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,117,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1285; + this.create_table_fk_action(); + } + this.state = 1290; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,117,this._ctx); + } + + break; + case HiveSqlParser.T_DEFAULT: + this.enterOuterAlt(localctx, 3); + this.state = 1291; + this.match(HiveSqlParser.T_DEFAULT); + this.state = 1292; + this.expr(0); + this.state = 1293; + this.match(HiveSqlParser.T_FOR); + this.state = 1294; + this.ident(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DtypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_dtype; + return this; +} + +DtypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DtypeContext.prototype.constructor = DtypeContext; + +DtypeContext.prototype.T_CHAR = function() { + return this.getToken(HiveSqlParser.T_CHAR, 0); +}; + +DtypeContext.prototype.T_CHARACTER = function() { + return this.getToken(HiveSqlParser.T_CHARACTER, 0); +}; + +DtypeContext.prototype.T_BIGINT = function() { + return this.getToken(HiveSqlParser.T_BIGINT, 0); +}; + +DtypeContext.prototype.T_BINARY_DOUBLE = function() { + return this.getToken(HiveSqlParser.T_BINARY_DOUBLE, 0); +}; + +DtypeContext.prototype.T_BINARY_FLOAT = function() { + return this.getToken(HiveSqlParser.T_BINARY_FLOAT, 0); +}; + +DtypeContext.prototype.T_BINARY_INTEGER = function() { + return this.getToken(HiveSqlParser.T_BINARY_INTEGER, 0); +}; + +DtypeContext.prototype.T_BIT = function() { + return this.getToken(HiveSqlParser.T_BIT, 0); +}; + +DtypeContext.prototype.T_DATE = function() { + return this.getToken(HiveSqlParser.T_DATE, 0); +}; + +DtypeContext.prototype.T_DATETIME = function() { + return this.getToken(HiveSqlParser.T_DATETIME, 0); +}; + +DtypeContext.prototype.T_DEC = function() { + return this.getToken(HiveSqlParser.T_DEC, 0); +}; + +DtypeContext.prototype.T_DECIMAL = function() { + return this.getToken(HiveSqlParser.T_DECIMAL, 0); +}; + +DtypeContext.prototype.T_DOUBLE = function() { + return this.getToken(HiveSqlParser.T_DOUBLE, 0); +}; + +DtypeContext.prototype.T_PRECISION = function() { + return this.getToken(HiveSqlParser.T_PRECISION, 0); +}; + +DtypeContext.prototype.T_FLOAT = function() { + return this.getToken(HiveSqlParser.T_FLOAT, 0); +}; + +DtypeContext.prototype.T_INT = function() { + return this.getToken(HiveSqlParser.T_INT, 0); +}; + +DtypeContext.prototype.T_INT2 = function() { + return this.getToken(HiveSqlParser.T_INT2, 0); +}; + +DtypeContext.prototype.T_INT4 = function() { + return this.getToken(HiveSqlParser.T_INT4, 0); +}; + +DtypeContext.prototype.T_INT8 = function() { + return this.getToken(HiveSqlParser.T_INT8, 0); +}; + +DtypeContext.prototype.T_INTEGER = function() { + return this.getToken(HiveSqlParser.T_INTEGER, 0); +}; + +DtypeContext.prototype.T_NCHAR = function() { + return this.getToken(HiveSqlParser.T_NCHAR, 0); +}; + +DtypeContext.prototype.T_NVARCHAR = function() { + return this.getToken(HiveSqlParser.T_NVARCHAR, 0); +}; + +DtypeContext.prototype.T_NUMBER = function() { + return this.getToken(HiveSqlParser.T_NUMBER, 0); +}; + +DtypeContext.prototype.T_NUMERIC = function() { + return this.getToken(HiveSqlParser.T_NUMERIC, 0); +}; + +DtypeContext.prototype.T_PLS_INTEGER = function() { + return this.getToken(HiveSqlParser.T_PLS_INTEGER, 0); +}; + +DtypeContext.prototype.T_REAL = function() { + return this.getToken(HiveSqlParser.T_REAL, 0); +}; + +DtypeContext.prototype.T_RESULT_SET_LOCATOR = function() { + return this.getToken(HiveSqlParser.T_RESULT_SET_LOCATOR, 0); +}; + +DtypeContext.prototype.T_VARYING = function() { + return this.getToken(HiveSqlParser.T_VARYING, 0); +}; + +DtypeContext.prototype.T_SIMPLE_FLOAT = function() { + return this.getToken(HiveSqlParser.T_SIMPLE_FLOAT, 0); +}; + +DtypeContext.prototype.T_SIMPLE_DOUBLE = function() { + return this.getToken(HiveSqlParser.T_SIMPLE_DOUBLE, 0); +}; + +DtypeContext.prototype.T_SIMPLE_INTEGER = function() { + return this.getToken(HiveSqlParser.T_SIMPLE_INTEGER, 0); +}; + +DtypeContext.prototype.T_SMALLINT = function() { + return this.getToken(HiveSqlParser.T_SMALLINT, 0); +}; + +DtypeContext.prototype.T_SMALLDATETIME = function() { + return this.getToken(HiveSqlParser.T_SMALLDATETIME, 0); +}; + +DtypeContext.prototype.T_STRING = function() { + return this.getToken(HiveSqlParser.T_STRING, 0); +}; + +DtypeContext.prototype.T_SYS_REFCURSOR = function() { + return this.getToken(HiveSqlParser.T_SYS_REFCURSOR, 0); +}; + +DtypeContext.prototype.T_TIMESTAMP = function() { + return this.getToken(HiveSqlParser.T_TIMESTAMP, 0); +}; + +DtypeContext.prototype.T_TINYINT = function() { + return this.getToken(HiveSqlParser.T_TINYINT, 0); +}; + +DtypeContext.prototype.T_VARCHAR = function() { + return this.getToken(HiveSqlParser.T_VARCHAR, 0); +}; + +DtypeContext.prototype.T_VARCHAR2 = function() { + return this.getToken(HiveSqlParser.T_VARCHAR2, 0); +}; + +DtypeContext.prototype.T_XML = function() { + return this.getToken(HiveSqlParser.T_XML, 0); +}; + +DtypeContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +DtypeContext.prototype.T_TYPE = function() { + return this.getToken(HiveSqlParser.T_TYPE, 0); +}; + +DtypeContext.prototype.T_ROWTYPE = function() { + return this.getToken(HiveSqlParser.T_ROWTYPE, 0); +}; + +DtypeContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDtype(this); + } +}; + +DtypeContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDtype(this); + } +}; + +DtypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDtype(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.DtypeContext = DtypeContext; + +HiveSqlParser.prototype.dtype = function() { + + var localctx = new DtypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 118, HiveSqlParser.RULE_dtype); + var _la = 0; // Token type + try { + this.state = 1344; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,121,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1298; + this.match(HiveSqlParser.T_CHAR); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1299; + this.match(HiveSqlParser.T_CHARACTER); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1300; + this.match(HiveSqlParser.T_BIGINT); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 1301; + this.match(HiveSqlParser.T_BINARY_DOUBLE); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 1302; + this.match(HiveSqlParser.T_BINARY_FLOAT); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 1303; + this.match(HiveSqlParser.T_BINARY_INTEGER); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 1304; + this.match(HiveSqlParser.T_BIT); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 1305; + this.match(HiveSqlParser.T_DATE); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 1306; + this.match(HiveSqlParser.T_DATETIME); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 1307; + this.match(HiveSqlParser.T_DEC); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 1308; + this.match(HiveSqlParser.T_DECIMAL); + break; + + case 12: + this.enterOuterAlt(localctx, 12); + this.state = 1309; + this.match(HiveSqlParser.T_DOUBLE); + this.state = 1311; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,119,this._ctx); + if(la_===1) { + this.state = 1310; + this.match(HiveSqlParser.T_PRECISION); + + } + break; + + case 13: + this.enterOuterAlt(localctx, 13); + this.state = 1313; + this.match(HiveSqlParser.T_FLOAT); + break; + + case 14: + this.enterOuterAlt(localctx, 14); + this.state = 1314; + this.match(HiveSqlParser.T_INT); + break; + + case 15: + this.enterOuterAlt(localctx, 15); + this.state = 1315; + this.match(HiveSqlParser.T_INT2); + break; + + case 16: + this.enterOuterAlt(localctx, 16); + this.state = 1316; + this.match(HiveSqlParser.T_INT4); + break; + + case 17: + this.enterOuterAlt(localctx, 17); + this.state = 1317; + this.match(HiveSqlParser.T_INT8); + break; + + case 18: + this.enterOuterAlt(localctx, 18); + this.state = 1318; + this.match(HiveSqlParser.T_INTEGER); + break; + + case 19: + this.enterOuterAlt(localctx, 19); + this.state = 1319; + this.match(HiveSqlParser.T_NCHAR); + break; + + case 20: + this.enterOuterAlt(localctx, 20); + this.state = 1320; + this.match(HiveSqlParser.T_NVARCHAR); + break; + + case 21: + this.enterOuterAlt(localctx, 21); + this.state = 1321; + this.match(HiveSqlParser.T_NUMBER); + break; + + case 22: + this.enterOuterAlt(localctx, 22); + this.state = 1322; + this.match(HiveSqlParser.T_NUMERIC); + break; + + case 23: + this.enterOuterAlt(localctx, 23); + this.state = 1323; + this.match(HiveSqlParser.T_PLS_INTEGER); + break; + + case 24: + this.enterOuterAlt(localctx, 24); + this.state = 1324; + this.match(HiveSqlParser.T_REAL); + break; + + case 25: + this.enterOuterAlt(localctx, 25); + this.state = 1325; + this.match(HiveSqlParser.T_RESULT_SET_LOCATOR); + this.state = 1326; + this.match(HiveSqlParser.T_VARYING); + break; + + case 26: + this.enterOuterAlt(localctx, 26); + this.state = 1327; + this.match(HiveSqlParser.T_SIMPLE_FLOAT); + break; + + case 27: + this.enterOuterAlt(localctx, 27); + this.state = 1328; + this.match(HiveSqlParser.T_SIMPLE_DOUBLE); + break; + + case 28: + this.enterOuterAlt(localctx, 28); + this.state = 1329; + this.match(HiveSqlParser.T_SIMPLE_INTEGER); + break; + + case 29: + this.enterOuterAlt(localctx, 29); + this.state = 1330; + this.match(HiveSqlParser.T_SMALLINT); + break; + + case 30: + this.enterOuterAlt(localctx, 30); + this.state = 1331; + this.match(HiveSqlParser.T_SMALLDATETIME); + break; + + case 31: + this.enterOuterAlt(localctx, 31); + this.state = 1332; + this.match(HiveSqlParser.T_STRING); + break; + + case 32: + this.enterOuterAlt(localctx, 32); + this.state = 1333; + this.match(HiveSqlParser.T_SYS_REFCURSOR); + break; + + case 33: + this.enterOuterAlt(localctx, 33); + this.state = 1334; + this.match(HiveSqlParser.T_TIMESTAMP); + break; + + case 34: + this.enterOuterAlt(localctx, 34); + this.state = 1335; + this.match(HiveSqlParser.T_TINYINT); + break; + + case 35: + this.enterOuterAlt(localctx, 35); + this.state = 1336; + this.match(HiveSqlParser.T_VARCHAR); + break; + + case 36: + this.enterOuterAlt(localctx, 36); + this.state = 1337; + this.match(HiveSqlParser.T_VARCHAR2); + break; + + case 37: + this.enterOuterAlt(localctx, 37); + this.state = 1338; + this.match(HiveSqlParser.T_XML); + break; + + case 38: + this.enterOuterAlt(localctx, 38); + this.state = 1339; + this.ident(); + this.state = 1342; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,120,this._ctx); + if(la_===1) { + this.state = 1340; + this.match(HiveSqlParser.T__3); + this.state = 1341; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_TYPE || _la===HiveSqlParser.T_ROWTYPE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dtype_lenContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_dtype_len; + return this; +} + +Dtype_lenContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dtype_lenContext.prototype.constructor = Dtype_lenContext; + +Dtype_lenContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Dtype_lenContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Dtype_lenContext.prototype.L_INT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.L_INT); + } else { + return this.getToken(HiveSqlParser.L_INT, i); + } +}; + + +Dtype_lenContext.prototype.T_MAX = function() { + return this.getToken(HiveSqlParser.T_MAX, 0); +}; + +Dtype_lenContext.prototype.T_COMMA = function() { + return this.getToken(HiveSqlParser.T_COMMA, 0); +}; + +Dtype_lenContext.prototype.T_CHAR = function() { + return this.getToken(HiveSqlParser.T_CHAR, 0); +}; + +Dtype_lenContext.prototype.T_BYTE = function() { + return this.getToken(HiveSqlParser.T_BYTE, 0); +}; + +Dtype_lenContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDtype_len(this); + } +}; + +Dtype_lenContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDtype_len(this); + } +}; + +Dtype_lenContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDtype_len(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Dtype_lenContext = Dtype_lenContext; + +HiveSqlParser.prototype.dtype_len = function() { + + var localctx = new Dtype_lenContext(this, this._ctx, this.state); + this.enterRule(localctx, 120, HiveSqlParser.RULE_dtype_len); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1346; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1347; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.L_INT || _la===HiveSqlParser.T_MAX)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1349; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_CHAR || _la===HiveSqlParser.T_BYTE) { + this.state = 1348; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_CHAR || _la===HiveSqlParser.T_BYTE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 1353; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 1351; + this.match(HiveSqlParser.T_COMMA); + this.state = 1352; + this.match(HiveSqlParser.L_INT); + } + + this.state = 1355; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dtype_attrContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_dtype_attr; + return this; +} + +Dtype_attrContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dtype_attrContext.prototype.constructor = Dtype_attrContext; + +Dtype_attrContext.prototype.T_NULL = function() { + return this.getToken(HiveSqlParser.T_NULL, 0); +}; + +Dtype_attrContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Dtype_attrContext.prototype.T_CHARACTER = function() { + return this.getToken(HiveSqlParser.T_CHARACTER, 0); +}; + +Dtype_attrContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Dtype_attrContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Dtype_attrContext.prototype.T_CASESPECIFIC = function() { + return this.getToken(HiveSqlParser.T_CASESPECIFIC, 0); +}; + +Dtype_attrContext.prototype.T_CS = function() { + return this.getToken(HiveSqlParser.T_CS, 0); +}; + +Dtype_attrContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDtype_attr(this); + } +}; + +Dtype_attrContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDtype_attr(this); + } +}; + +Dtype_attrContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDtype_attr(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Dtype_attrContext = Dtype_attrContext; + +HiveSqlParser.prototype.dtype_attr = function() { + + var localctx = new Dtype_attrContext(this, this._ctx, this.state); + this.enterRule(localctx, 122, HiveSqlParser.RULE_dtype_attr); + var _la = 0; // Token type + try { + this.state = 1368; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,126,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1358; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 1357; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 1360; + this.match(HiveSqlParser.T_NULL); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1361; + this.match(HiveSqlParser.T_CHARACTER); + this.state = 1362; + this.match(HiveSqlParser.T_SET); + this.state = 1363; + this.ident(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1365; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 1364; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 1367; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_CASESPECIFIC || _la===HiveSqlParser.T_CS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dtype_defaultContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_dtype_default; + return this; +} + +Dtype_defaultContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dtype_defaultContext.prototype.constructor = Dtype_defaultContext; + +Dtype_defaultContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Dtype_defaultContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Dtype_defaultContext.prototype.T_COLON = function() { + return this.getToken(HiveSqlParser.T_COLON, 0); +}; + +Dtype_defaultContext.prototype.T_DEFAULT = function() { + return this.getToken(HiveSqlParser.T_DEFAULT, 0); +}; + +Dtype_defaultContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Dtype_defaultContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDtype_default(this); + } +}; + +Dtype_defaultContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDtype_default(this); + } +}; + +Dtype_defaultContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDtype_default(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Dtype_defaultContext = Dtype_defaultContext; + +HiveSqlParser.prototype.dtype_default = function() { + + var localctx = new Dtype_defaultContext(this, this._ctx, this.state); + this.enterRule(localctx, 124, HiveSqlParser.RULE_dtype_default); + var _la = 0; // Token type + try { + this.state = 1382; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_COLON: + case HiveSqlParser.T_EQUAL: + this.enterOuterAlt(localctx, 1); + this.state = 1371; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COLON) { + this.state = 1370; + this.match(HiveSqlParser.T_COLON); + } + + this.state = 1373; + this.match(HiveSqlParser.T_EQUAL); + this.state = 1374; + this.expr(0); + break; + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_DEFAULT: + this.enterOuterAlt(localctx, 2); + this.state = 1376; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_WITH) { + this.state = 1375; + this.match(HiveSqlParser.T_WITH); + } + + this.state = 1378; + this.match(HiveSqlParser.T_DEFAULT); + this.state = 1380; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,129,this._ctx); + if(la_===1) { + this.state = 1379; + this.expr(0); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_database_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_database_stmt; + return this; +} + +Create_database_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_database_stmtContext.prototype.constructor = Create_database_stmtContext; + +Create_database_stmtContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Create_database_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Create_database_stmtContext.prototype.T_DATABASE = function() { + return this.getToken(HiveSqlParser.T_DATABASE, 0); +}; + +Create_database_stmtContext.prototype.T_SCHEMA = function() { + return this.getToken(HiveSqlParser.T_SCHEMA, 0); +}; + +Create_database_stmtContext.prototype.T_IF = function() { + return this.getToken(HiveSqlParser.T_IF, 0); +}; + +Create_database_stmtContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Create_database_stmtContext.prototype.T_EXISTS = function() { + return this.getToken(HiveSqlParser.T_EXISTS, 0); +}; + +Create_database_stmtContext.prototype.create_database_option = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_database_optionContext); + } else { + return this.getTypedRuleContext(Create_database_optionContext,i); + } +}; + +Create_database_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_database_stmt(this); + } +}; + +Create_database_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_database_stmt(this); + } +}; + +Create_database_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_database_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_database_stmtContext = Create_database_stmtContext; + +HiveSqlParser.prototype.create_database_stmt = function() { + + var localctx = new Create_database_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 126, HiveSqlParser.RULE_create_database_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1384; + this.match(HiveSqlParser.T_CREATE); + this.state = 1385; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_DATABASE || _la===HiveSqlParser.T_SCHEMA)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1389; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,131,this._ctx); + if(la_===1) { + this.state = 1386; + this.match(HiveSqlParser.T_IF); + this.state = 1387; + this.match(HiveSqlParser.T_NOT); + this.state = 1388; + this.match(HiveSqlParser.T_EXISTS); + + } + this.state = 1391; + this.expr(0); + this.state = 1395; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,132,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1392; + this.create_database_option(); + } + this.state = 1397; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,132,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_database_optionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_database_option; + return this; +} + +Create_database_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_database_optionContext.prototype.constructor = Create_database_optionContext; + +Create_database_optionContext.prototype.T_COMMENT = function() { + return this.getToken(HiveSqlParser.T_COMMENT, 0); +}; + +Create_database_optionContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Create_database_optionContext.prototype.T_LOCATION = function() { + return this.getToken(HiveSqlParser.T_LOCATION, 0); +}; + +Create_database_optionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_database_option(this); + } +}; + +Create_database_optionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_database_option(this); + } +}; + +Create_database_optionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_database_option(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_database_optionContext = Create_database_optionContext; + +HiveSqlParser.prototype.create_database_option = function() { + + var localctx = new Create_database_optionContext(this, this._ctx, this.state); + this.enterRule(localctx, 128, HiveSqlParser.RULE_create_database_option); + try { + this.state = 1402; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_COMMENT: + this.enterOuterAlt(localctx, 1); + this.state = 1398; + this.match(HiveSqlParser.T_COMMENT); + this.state = 1399; + this.expr(0); + break; + case HiveSqlParser.T_LOCATION: + this.enterOuterAlt(localctx, 2); + this.state = 1400; + this.match(HiveSqlParser.T_LOCATION); + this.state = 1401; + this.expr(0); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_function_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_function_stmt; + return this; +} + +Create_function_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_function_stmtContext.prototype.constructor = Create_function_stmtContext; + +Create_function_stmtContext.prototype.T_FUNCTION = function() { + return this.getToken(HiveSqlParser.T_FUNCTION, 0); +}; + +Create_function_stmtContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_function_stmtContext.prototype.create_function_return = function() { + return this.getTypedRuleContext(Create_function_returnContext,0); +}; + +Create_function_stmtContext.prototype.single_block_stmt = function() { + return this.getTypedRuleContext(Single_block_stmtContext,0); +}; + +Create_function_stmtContext.prototype.T_ALTER = function() { + return this.getToken(HiveSqlParser.T_ALTER, 0); +}; + +Create_function_stmtContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Create_function_stmtContext.prototype.T_REPLACE = function() { + return this.getToken(HiveSqlParser.T_REPLACE, 0); +}; + +Create_function_stmtContext.prototype.create_routine_params = function() { + return this.getTypedRuleContext(Create_routine_paramsContext,0); +}; + +Create_function_stmtContext.prototype.declare_block_inplace = function() { + return this.getTypedRuleContext(Declare_block_inplaceContext,0); +}; + +Create_function_stmtContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Create_function_stmtContext.prototype.T_IS = function() { + return this.getToken(HiveSqlParser.T_IS, 0); +}; + +Create_function_stmtContext.prototype.T_OR = function() { + return this.getToken(HiveSqlParser.T_OR, 0); +}; + +Create_function_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_function_stmt(this); + } +}; + +Create_function_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_function_stmt(this); + } +}; + +Create_function_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_function_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_function_stmtContext = Create_function_stmtContext; + +HiveSqlParser.prototype.create_function_stmt = function() { + + var localctx = new Create_function_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 130, HiveSqlParser.RULE_create_function_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1411; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case HiveSqlParser.T_ALTER: + this.state = 1404; + this.match(HiveSqlParser.T_ALTER); + break; + case HiveSqlParser.T_CREATE: + this.state = 1405; + this.match(HiveSqlParser.T_CREATE); + this.state = 1408; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OR) { + this.state = 1406; + this.match(HiveSqlParser.T_OR); + this.state = 1407; + this.match(HiveSqlParser.T_REPLACE); + } + + break; + case HiveSqlParser.T_REPLACE: + this.state = 1410; + this.match(HiveSqlParser.T_REPLACE); + break; + case HiveSqlParser.T_FUNCTION: + break; + default: + break; + } + this.state = 1413; + this.match(HiveSqlParser.T_FUNCTION); + this.state = 1414; + this.ident(); + this.state = 1416; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,136,this._ctx); + if(la_===1) { + this.state = 1415; + this.create_routine_params(); + + } + this.state = 1418; + this.create_function_return(); + this.state = 1420; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,137,this._ctx); + if(la_===1) { + this.state = 1419; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_AS || _la===HiveSqlParser.T_IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 1423; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,138,this._ctx); + if(la_===1) { + this.state = 1422; + this.declare_block_inplace(); + + } + this.state = 1425; + this.single_block_stmt(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_function_returnContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_function_return; + return this; +} + +Create_function_returnContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_function_returnContext.prototype.constructor = Create_function_returnContext; + +Create_function_returnContext.prototype.dtype = function() { + return this.getTypedRuleContext(DtypeContext,0); +}; + +Create_function_returnContext.prototype.T_RETURN = function() { + return this.getToken(HiveSqlParser.T_RETURN, 0); +}; + +Create_function_returnContext.prototype.T_RETURNS = function() { + return this.getToken(HiveSqlParser.T_RETURNS, 0); +}; + +Create_function_returnContext.prototype.dtype_len = function() { + return this.getTypedRuleContext(Dtype_lenContext,0); +}; + +Create_function_returnContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_function_return(this); + } +}; + +Create_function_returnContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_function_return(this); + } +}; + +Create_function_returnContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_function_return(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_function_returnContext = Create_function_returnContext; + +HiveSqlParser.prototype.create_function_return = function() { + + var localctx = new Create_function_returnContext(this, this._ctx, this.state); + this.enterRule(localctx, 132, HiveSqlParser.RULE_create_function_return); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1427; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_RETURN || _la===HiveSqlParser.T_RETURNS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1428; + this.dtype(); + this.state = 1430; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,139,this._ctx); + if(la_===1) { + this.state = 1429; + this.dtype_len(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_package_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_package_stmt; + return this; +} + +Create_package_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_package_stmtContext.prototype.constructor = Create_package_stmtContext; + +Create_package_stmtContext.prototype.T_PACKAGE = function() { + return this.getToken(HiveSqlParser.T_PACKAGE, 0); +}; + +Create_package_stmtContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Create_package_stmtContext.prototype.package_spec = function() { + return this.getTypedRuleContext(Package_specContext,0); +}; + +Create_package_stmtContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +Create_package_stmtContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Create_package_stmtContext.prototype.T_IS = function() { + return this.getToken(HiveSqlParser.T_IS, 0); +}; + +Create_package_stmtContext.prototype.T_ALTER = function() { + return this.getToken(HiveSqlParser.T_ALTER, 0); +}; + +Create_package_stmtContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Create_package_stmtContext.prototype.T_REPLACE = function() { + return this.getToken(HiveSqlParser.T_REPLACE, 0); +}; + +Create_package_stmtContext.prototype.T_SEMICOLON = function() { + return this.getToken(HiveSqlParser.T_SEMICOLON, 0); +}; + +Create_package_stmtContext.prototype.T_OR = function() { + return this.getToken(HiveSqlParser.T_OR, 0); +}; + +Create_package_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_package_stmt(this); + } +}; + +Create_package_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_package_stmt(this); + } +}; + +Create_package_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_package_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_package_stmtContext = Create_package_stmtContext; + +HiveSqlParser.prototype.create_package_stmt = function() { + + var localctx = new Create_package_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 134, HiveSqlParser.RULE_create_package_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1439; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case HiveSqlParser.T_ALTER: + this.state = 1432; + this.match(HiveSqlParser.T_ALTER); + break; + case HiveSqlParser.T_CREATE: + this.state = 1433; + this.match(HiveSqlParser.T_CREATE); + this.state = 1436; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OR) { + this.state = 1434; + this.match(HiveSqlParser.T_OR); + this.state = 1435; + this.match(HiveSqlParser.T_REPLACE); + } + + break; + case HiveSqlParser.T_REPLACE: + this.state = 1438; + this.match(HiveSqlParser.T_REPLACE); + break; + case HiveSqlParser.T_PACKAGE: + break; + default: + break; + } + this.state = 1441; + this.match(HiveSqlParser.T_PACKAGE); + this.state = 1442; + this.ident(); + this.state = 1443; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_AS || _la===HiveSqlParser.T_IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1444; + this.package_spec(); + this.state = 1445; + this.match(HiveSqlParser.T_END); + this.state = 1449; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,142,this._ctx); + if(la_===1) { + this.state = 1446; + this.ident(); + this.state = 1447; + this.match(HiveSqlParser.T_SEMICOLON); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Package_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_package_spec; + return this; +} + +Package_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Package_specContext.prototype.constructor = Package_specContext; + +Package_specContext.prototype.package_spec_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Package_spec_itemContext); + } else { + return this.getTypedRuleContext(Package_spec_itemContext,i); + } +}; + +Package_specContext.prototype.T_SEMICOLON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_SEMICOLON); + } else { + return this.getToken(HiveSqlParser.T_SEMICOLON, i); + } +}; + + +Package_specContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterPackage_spec(this); + } +}; + +Package_specContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitPackage_spec(this); + } +}; + +Package_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitPackage_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Package_specContext = Package_specContext; + +HiveSqlParser.prototype.package_spec = function() { + + var localctx = new Package_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 136, HiveSqlParser.RULE_package_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1451; + this.package_spec_item(); + this.state = 1452; + this.match(HiveSqlParser.T_SEMICOLON); + this.state = 1458; + this._errHandler.sync(this); + _la = this._input.LA(1); + while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << HiveSqlParser.T__8) | (1 << HiveSqlParser.T_GO) | (1 << HiveSqlParser.T_BEGIN) | (1 << HiveSqlParser.T_EXCEPTION) | (1 << HiveSqlParser.L_ID) | (1 << HiveSqlParser.T_THEN) | (1 << HiveSqlParser.T_SET) | (1 << HiveSqlParser.T_ALLOCATE) | (1 << HiveSqlParser.T_CURSOR) | (1 << HiveSqlParser.T_FOR) | (1 << HiveSqlParser.T_RESULT) | (1 << HiveSqlParser.T_PROCEDURE) | (1 << HiveSqlParser.T_ASSOCIATE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (HiveSqlParser.T_LOCATOR - 32)) | (1 << (HiveSqlParser.T_LOCATORS - 32)) | (1 << (HiveSqlParser.T_WITH - 32)) | (1 << (HiveSqlParser.T_TRANSACTION - 32)) | (1 << (HiveSqlParser.T_BREAK - 32)) | (1 << (HiveSqlParser.T_CALL - 32)) | (1 << (HiveSqlParser.T_DECLARE - 32)) | (1 << (HiveSqlParser.T_AS - 32)) | (1 << (HiveSqlParser.T_CONSTANT - 32)) | (1 << (HiveSqlParser.T_CONDITION - 32)) | (1 << (HiveSqlParser.T_IS - 32)) | (1 << (HiveSqlParser.T_RETURN - 32)) | (1 << (HiveSqlParser.T_ONLY - 32)) | (1 << (HiveSqlParser.T_TO - 32)) | (1 << (HiveSqlParser.T_CALLER - 32)) | (1 << (HiveSqlParser.T_CLIENT - 32)) | (1 << (HiveSqlParser.T_WITHOUT - 32)) | (1 << (HiveSqlParser.T_CONTINUE - 32)) | (1 << (HiveSqlParser.T_EXIT - 32)) | (1 << (HiveSqlParser.T_HANDLER - 32)) | (1 << (HiveSqlParser.T_SQLEXCEPTION - 32)) | (1 << (HiveSqlParser.T_SQLWARNING - 32)) | (1 << (HiveSqlParser.T_NOT - 32)) | (1 << (HiveSqlParser.T_FOUND - 32)) | (1 << (HiveSqlParser.T_GLOBAL - 32)) | (1 << (HiveSqlParser.T_TEMPORARY - 32)) | (1 << (HiveSqlParser.T_TABLE - 32)) | (1 << (HiveSqlParser.T_CREATE - 32)) | (1 << (HiveSqlParser.T_IF - 32)) | (1 << (HiveSqlParser.T_EXISTS - 32)) | (1 << (HiveSqlParser.T_LOCAL - 32)) | (1 << (HiveSqlParser.T_MULTISET - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (HiveSqlParser.T_VOLATILE - 64)) | (1 << (HiveSqlParser.T_LIKE - 64)) | (1 << (HiveSqlParser.T_CONSTRAINT - 64)) | (1 << (HiveSqlParser.T_PRIMARY - 64)) | (1 << (HiveSqlParser.T_KEY - 64)) | (1 << (HiveSqlParser.T_UNIQUE - 64)) | (1 << (HiveSqlParser.T_REFERENCES - 64)) | (1 << (HiveSqlParser.T_IDENTITY - 64)) | (1 << (HiveSqlParser.T_AUTO_INCREMENT - 64)) | (1 << (HiveSqlParser.T_ENABLE - 64)) | (1 << (HiveSqlParser.T_CLUSTERED - 64)) | (1 << (HiveSqlParser.T_ASC - 64)) | (1 << (HiveSqlParser.T_DESC - 64)) | (1 << (HiveSqlParser.T_FOREIGN - 64)) | (1 << (HiveSqlParser.T_ON - 64)) | (1 << (HiveSqlParser.T_UPDATE - 64)) | (1 << (HiveSqlParser.T_DELETE - 64)) | (1 << (HiveSqlParser.T_NO - 64)) | (1 << (HiveSqlParser.T_ACTION - 64)) | (1 << (HiveSqlParser.T_RESTRICT - 64)) | (1 << (HiveSqlParser.T_DEFAULT - 64)) | (1 << (HiveSqlParser.T_CASCADE - 64)) | (1 << (HiveSqlParser.T_LOG - 64)) | (1 << (HiveSqlParser.T_FALLBACK - 64)) | (1 << (HiveSqlParser.T_COMMIT - 64)) | (1 << (HiveSqlParser.T_PRESERVE - 64)) | (1 << (HiveSqlParser.T_ROWS - 64)) | (1 << (HiveSqlParser.T_SEGMENT - 64)) | (1 << (HiveSqlParser.T_CREATION - 64)) | (1 << (HiveSqlParser.T_IMMEDIATE - 64)) | (1 << (HiveSqlParser.T_DEFERRED - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (HiveSqlParser.T_PCTFREE - 96)) | (1 << (HiveSqlParser.T_PCTUSED - 96)) | (1 << (HiveSqlParser.T_INITRANS - 96)) | (1 << (HiveSqlParser.T_MAXTRANS - 96)) | (1 << (HiveSqlParser.T_NOCOMPRESS - 96)) | (1 << (HiveSqlParser.T_LOGGING - 96)) | (1 << (HiveSqlParser.T_NOLOGGING - 96)) | (1 << (HiveSqlParser.T_STORAGE - 96)) | (1 << (HiveSqlParser.T_TABLESPACE - 96)) | (1 << (HiveSqlParser.T_INDEX - 96)) | (1 << (HiveSqlParser.T_IN - 96)) | (1 << (HiveSqlParser.T_REPLACE - 96)) | (1 << (HiveSqlParser.T_DISTRIBUTE - 96)) | (1 << (HiveSqlParser.T_BY - 96)) | (1 << (HiveSqlParser.T_HASH - 96)) | (1 << (HiveSqlParser.T_LOGGED - 96)) | (1 << (HiveSqlParser.T_COMPRESS - 96)) | (1 << (HiveSqlParser.T_YES - 96)) | (1 << (HiveSqlParser.T_DEFINITION - 96)) | (1 << (HiveSqlParser.T_DROP - 96)) | (1 << (HiveSqlParser.T_DATA - 96)) | (1 << (HiveSqlParser.T_STORED - 96)) | (1 << (HiveSqlParser.T_ROW - 96)) | (1 << (HiveSqlParser.T_FORMAT - 96)) | (1 << (HiveSqlParser.T_DELIMITED - 96)) | (1 << (HiveSqlParser.T_FIELDS - 96)) | (1 << (HiveSqlParser.T_TERMINATED - 96)) | (1 << (HiveSqlParser.T_ESCAPED - 96)) | (1 << (HiveSqlParser.T_COLLECTION - 96)) | (1 << (HiveSqlParser.T_ITEMS - 96)) | (1 << (HiveSqlParser.T_MAP - 96)) | (1 << (HiveSqlParser.T_KEYS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (HiveSqlParser.T_LINES - 128)) | (1 << (HiveSqlParser.T_DEFINED - 128)) | (1 << (HiveSqlParser.T_TEXTIMAGE_ON - 128)) | (1 << (HiveSqlParser.T_COMMENT - 128)) | (1 << (HiveSqlParser.T_CHARACTER - 128)) | (1 << (HiveSqlParser.T_CHARSET - 128)) | (1 << (HiveSqlParser.T_ENGINE - 128)) | (1 << (HiveSqlParser.T_ALTER - 128)) | (1 << (HiveSqlParser.T_ADD2 - 128)) | (1 << (HiveSqlParser.T_CHAR - 128)) | (1 << (HiveSqlParser.T_BIGINT - 128)) | (1 << (HiveSqlParser.T_BINARY_DOUBLE - 128)) | (1 << (HiveSqlParser.T_BINARY_FLOAT - 128)) | (1 << (HiveSqlParser.T_BIT - 128)) | (1 << (HiveSqlParser.T_DATE - 128)) | (1 << (HiveSqlParser.T_DATETIME - 128)) | (1 << (HiveSqlParser.T_DEC - 128)) | (1 << (HiveSqlParser.T_DECIMAL - 128)) | (1 << (HiveSqlParser.T_DOUBLE - 128)) | (1 << (HiveSqlParser.T_PRECISION - 128)) | (1 << (HiveSqlParser.T_FLOAT - 128)) | (1 << (HiveSqlParser.T_INT - 128)) | (1 << (HiveSqlParser.T_INT2 - 128)) | (1 << (HiveSqlParser.T_INT4 - 128)) | (1 << (HiveSqlParser.T_INT8 - 128)) | (1 << (HiveSqlParser.T_INTEGER - 128)) | (1 << (HiveSqlParser.T_NCHAR - 128)) | (1 << (HiveSqlParser.T_NVARCHAR - 128)) | (1 << (HiveSqlParser.T_NUMBER - 128)) | (1 << (HiveSqlParser.T_NUMERIC - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (HiveSqlParser.T_REAL - 160)) | (1 << (HiveSqlParser.T_RESULT_SET_LOCATOR - 160)) | (1 << (HiveSqlParser.T_VARYING - 160)) | (1 << (HiveSqlParser.T_SIMPLE_FLOAT - 160)) | (1 << (HiveSqlParser.T_SIMPLE_DOUBLE - 160)) | (1 << (HiveSqlParser.T_SMALLINT - 160)) | (1 << (HiveSqlParser.T_SMALLDATETIME - 160)) | (1 << (HiveSqlParser.T_STRING - 160)) | (1 << (HiveSqlParser.T_SYS_REFCURSOR - 160)) | (1 << (HiveSqlParser.T_TIMESTAMP - 160)) | (1 << (HiveSqlParser.T_VARCHAR - 160)) | (1 << (HiveSqlParser.T_VARCHAR2 - 160)) | (1 << (HiveSqlParser.T_XML - 160)) | (1 << (HiveSqlParser.T_MAX - 160)) | (1 << (HiveSqlParser.T_BYTE - 160)) | (1 << (HiveSqlParser.T_CASESPECIFIC - 160)) | (1 << (HiveSqlParser.T_CS - 160)) | (1 << (HiveSqlParser.T_DATABASE - 160)) | (1 << (HiveSqlParser.T_SCHEMA - 160)) | (1 << (HiveSqlParser.T_LOCATION - 160)) | (1 << (HiveSqlParser.T_OR - 160)) | (1 << (HiveSqlParser.T_FUNCTION - 160)) | (1 << (HiveSqlParser.T_RETURNS - 160)) | (1 << (HiveSqlParser.T_PACKAGE - 160)) | (1 << (HiveSqlParser.T_PROC - 160)) | (1 << (HiveSqlParser.T_BODY - 160)) | (1 << (HiveSqlParser.T_OUT - 160)) | (1 << (HiveSqlParser.T_INOUT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (HiveSqlParser.T_LANGUAGE - 192)) | (1 << (HiveSqlParser.T_SQL - 192)) | (1 << (HiveSqlParser.T_SECURITY - 192)) | (1 << (HiveSqlParser.T_CREATOR - 192)) | (1 << (HiveSqlParser.T_DEFINER - 192)) | (1 << (HiveSqlParser.T_INVOKER - 192)) | (1 << (HiveSqlParser.T_OWNER - 192)) | (1 << (HiveSqlParser.T_DYNAMIC - 192)) | (1 << (HiveSqlParser.T_SETS - 192)) | (1 << (HiveSqlParser.T_EXEC - 192)) | (1 << (HiveSqlParser.T_EXECUTE - 192)) | (1 << (HiveSqlParser.T_INTO - 192)) | (1 << (HiveSqlParser.T_INCLUDE - 192)) | (1 << (HiveSqlParser.T_INSERT - 192)) | (1 << (HiveSqlParser.T_OVERWRITE - 192)) | (1 << (HiveSqlParser.T_VALUES - 192)) | (1 << (HiveSqlParser.T_DIRECTORY - 192)) | (1 << (HiveSqlParser.T_GET - 192)) | (1 << (HiveSqlParser.T_DIAGNOSTICS - 192)) | (1 << (HiveSqlParser.T_MESSAGE_TEXT - 192)) | (1 << (HiveSqlParser.T_ROW_COUNT - 192)) | (1 << (HiveSqlParser.T_GRANT - 192)) | (1 << (HiveSqlParser.T_ROLE - 192)) | (1 << (HiveSqlParser.T_LEAVE - 192)) | (1 << (HiveSqlParser.T_OBJECT - 192)) | (1 << (HiveSqlParser.T_AT - 192)) | (1 << (HiveSqlParser.T_OPEN - 192)) | (1 << (HiveSqlParser.T_FETCH - 192)) | (1 << (HiveSqlParser.T_FROM - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (HiveSqlParser.T_COLLECT - 224)) | (1 << (HiveSqlParser.T_STATISTICS - 224)) | (1 << (HiveSqlParser.T_STATS - 224)) | (1 << (HiveSqlParser.T_COLUMN - 224)) | (1 << (HiveSqlParser.T_CLOSE - 224)) | (1 << (HiveSqlParser.T_CMP - 224)) | (1 << (HiveSqlParser.T_SUM - 224)) | (1 << (HiveSqlParser.T_COPY - 224)) | (1 << (HiveSqlParser.T_HDFS - 224)) | (1 << (HiveSqlParser.T_BATCHSIZE - 224)) | (1 << (HiveSqlParser.T_DELIMITER - 224)) | (1 << (HiveSqlParser.T_SQLINSERT - 224)) | (1 << (HiveSqlParser.T_IGNORE - 224)) | (1 << (HiveSqlParser.T_WORK - 224)) | (1 << (HiveSqlParser.T_PRINT - 224)) | (1 << (HiveSqlParser.T_QUIT - 224)) | (1 << (HiveSqlParser.T_RAISE - 224)) | (1 << (HiveSqlParser.T_RESIGNAL - 224)) | (1 << (HiveSqlParser.T_SQLSTATE - 224)) | (1 << (HiveSqlParser.T_VALUE - 224)) | (1 << (HiveSqlParser.T_ROLLBACK - 224)) | (1 << (HiveSqlParser.T_CURRENT - 224)) | (1 << (HiveSqlParser.T_CURRENT_SCHEMA - 224)) | (1 << (HiveSqlParser.T_ANSI_NULLS - 224)) | (1 << (HiveSqlParser.T_ANSI_PADDING - 224)) | (1 << (HiveSqlParser.T_NOCOUNT - 224)) | (1 << (HiveSqlParser.T_QUOTED_IDENTIFIER - 224)) | (1 << (HiveSqlParser.T_XACT_ABORT - 224)) | (1 << (HiveSqlParser.T_OFF - 224)) | (1 << (HiveSqlParser.T_QUERY_BAND - 224)) | (1 << (HiveSqlParser.T_NONE - 224)) | (1 << (HiveSqlParser.T_SESSION - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (HiveSqlParser.T_SIGNAL - 256)) | (1 << (HiveSqlParser.T_SUMMARY - 256)) | (1 << (HiveSqlParser.T_TOP - 256)) | (1 << (HiveSqlParser.T_LIMIT - 256)) | (1 << (HiveSqlParser.T_TRUNCATE - 256)) | (1 << (HiveSqlParser.T_USE - 256)) | (1 << (HiveSqlParser.T_WHILE - 256)) | (1 << (HiveSqlParser.T_DO - 256)) | (1 << (HiveSqlParser.T_LOOP - 256)) | (1 << (HiveSqlParser.T_REVERSE - 256)) | (1 << (HiveSqlParser.T_STEP - 256)) | (1 << (HiveSqlParser.T_USING - 256)) | (1 << (HiveSqlParser.T_ALL - 256)) | (1 << (HiveSqlParser.T_EXCEPT - 256)) | (1 << (HiveSqlParser.T_INTERSECT - 256)) | (1 << (HiveSqlParser.T_SELECT - 256)) | (1 << (HiveSqlParser.T_SEL - 256)) | (1 << (HiveSqlParser.T_DISTINCT - 256)) | (1 << (HiveSqlParser.T_TITLE - 256)) | (1 << (HiveSqlParser.T_INNER - 256)) | (1 << (HiveSqlParser.T_JOIN - 256)) | (1 << (HiveSqlParser.T_LEFT - 256)) | (1 << (HiveSqlParser.T_RIGHT - 256)) | (1 << (HiveSqlParser.T_FULL - 256)) | (1 << (HiveSqlParser.T_OUTER - 256)))) !== 0) || ((((_la - 288)) & ~0x1f) == 0 && ((1 << (_la - 288)) & ((1 << (HiveSqlParser.T_GROUP - 288)) | (1 << (HiveSqlParser.T_HAVING - 288)) | (1 << (HiveSqlParser.T_QUALIFY - 288)) | (1 << (HiveSqlParser.T_ORDER - 288)) | (1 << (HiveSqlParser.T_RR - 288)) | (1 << (HiveSqlParser.T_RS - 288)) | (1 << (HiveSqlParser.T_UR - 288)) | (1 << (HiveSqlParser.T_AND - 288)) | (1 << (HiveSqlParser.T_KEEP - 288)) | (1 << (HiveSqlParser.T_EXCLUSIVE - 288)) | (1 << (HiveSqlParser.T_SHARE - 288)) | (1 << (HiveSqlParser.T_LOCKS - 288)) | (1 << (HiveSqlParser.T_MERGE - 288)) | (1 << (HiveSqlParser.T_MATCHED - 288)) | (1 << (HiveSqlParser.T_DESCRIBE - 288)) | (1 << (HiveSqlParser.T_BETWEEN - 288)) | (1 << (HiveSqlParser.T_RLIKE - 288)) | (1 << (HiveSqlParser.T_REGEXP - 288)) | (1 << (HiveSqlParser.T_INTERVAL - 288)) | (1 << (HiveSqlParser.T_DAY - 288)) | (1 << (HiveSqlParser.T_DAYS - 288)) | (1 << (HiveSqlParser.T_MICROSECOND - 288)) | (1 << (HiveSqlParser.T_MICROSECONDS - 288)))) !== 0) || ((((_la - 320)) & ~0x1f) == 0 && ((1 << (_la - 320)) & ((1 << (HiveSqlParser.T_SECOND - 320)) | (1 << (HiveSqlParser.T_SECONDS - 320)) | (1 << (HiveSqlParser.T_CONCAT - 320)) | (1 << (HiveSqlParser.T_CASE - 320)) | (1 << (HiveSqlParser.T_ISOPEN - 320)) | (1 << (HiveSqlParser.T_NOTFOUND - 320)) | (1 << (HiveSqlParser.T_AVG - 320)) | (1 << (HiveSqlParser.T_COUNT - 320)) | (1 << (HiveSqlParser.T_COUNT_BIG - 320)) | (1 << (HiveSqlParser.T_CUME_DIST - 320)) | (1 << (HiveSqlParser.T_DENSE_RANK - 320)) | (1 << (HiveSqlParser.T_FIRST_VALUE - 320)) | (1 << (HiveSqlParser.T_LAG - 320)) | (1 << (HiveSqlParser.T_LAST_VALUE - 320)) | (1 << (HiveSqlParser.T_LEAD - 320)) | (1 << (HiveSqlParser.T_MIN - 320)) | (1 << (HiveSqlParser.T_RANK - 320)) | (1 << (HiveSqlParser.T_ROW_NUMBER - 320)) | (1 << (HiveSqlParser.T_STDEV - 320)) | (1 << (HiveSqlParser.T_VAR - 320)) | (1 << (HiveSqlParser.T_VARIANCE - 320)) | (1 << (HiveSqlParser.T_OVER - 320)) | (1 << (HiveSqlParser.T_PARTITION - 320)) | (1 << (HiveSqlParser.T_ACTIVITY_COUNT - 320)) | (1 << (HiveSqlParser.T_CAST - 320)) | (1 << (HiveSqlParser.T_CURRENT_DATE - 320)) | (1 << (HiveSqlParser.T_CURRENT_TIMESTAMP - 320)) | (1 << (HiveSqlParser.T_CURRENT_USER - 320)) | (1 << (HiveSqlParser.T_USER - 320)))) !== 0) || ((((_la - 356)) & ~0x1f) == 0 && ((1 << (_la - 356)) & ((1 << (HiveSqlParser.T_PART_COUNT - 356)) | (1 << (HiveSqlParser.T_PART_LOC - 356)) | (1 << (HiveSqlParser.T_TRIM - 356)) | (1 << (HiveSqlParser.T_SUBSTRING - 356)) | (1 << (HiveSqlParser.T_SYSDATE - 356)) | (1 << (HiveSqlParser.T_HIVE - 356)) | (1 << (HiveSqlParser.T_HOST - 356)) | (1 << (HiveSqlParser.T_TRUE - 356)) | (1 << (HiveSqlParser.T_FALSE - 356)) | (1 << (HiveSqlParser.T_DIR - 356)) | (1 << (HiveSqlParser.T_FILE - 356)) | (1 << (HiveSqlParser.T_FILES - 356)) | (1 << (HiveSqlParser.T_NEW - 356)) | (1 << (HiveSqlParser.T_PWD - 356)) | (1 << (HiveSqlParser.T_SESSIONS - 356)) | (1 << (HiveSqlParser.T_SUBDIR - 356)))) !== 0)) { + this.state = 1453; + this.package_spec_item(); + this.state = 1454; + this.match(HiveSqlParser.T_SEMICOLON); + this.state = 1460; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Package_spec_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_package_spec_item; + return this; +} + +Package_spec_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Package_spec_itemContext.prototype.constructor = Package_spec_itemContext; + +Package_spec_itemContext.prototype.declare_stmt_item = function() { + return this.getTypedRuleContext(Declare_stmt_itemContext,0); +}; + +Package_spec_itemContext.prototype.T_FUNCTION = function() { + return this.getToken(HiveSqlParser.T_FUNCTION, 0); +}; + +Package_spec_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Package_spec_itemContext.prototype.create_function_return = function() { + return this.getTypedRuleContext(Create_function_returnContext,0); +}; + +Package_spec_itemContext.prototype.create_routine_params = function() { + return this.getTypedRuleContext(Create_routine_paramsContext,0); +}; + +Package_spec_itemContext.prototype.T_PROCEDURE = function() { + return this.getToken(HiveSqlParser.T_PROCEDURE, 0); +}; + +Package_spec_itemContext.prototype.T_PROC = function() { + return this.getToken(HiveSqlParser.T_PROC, 0); +}; + +Package_spec_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterPackage_spec_item(this); + } +}; + +Package_spec_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitPackage_spec_item(this); + } +}; + +Package_spec_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitPackage_spec_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Package_spec_itemContext = Package_spec_itemContext; + +HiveSqlParser.prototype.package_spec_item = function() { + + var localctx = new Package_spec_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 138, HiveSqlParser.RULE_package_spec_item); + var _la = 0; // Token type + try { + this.state = 1474; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,146,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1461; + this.declare_stmt_item(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1462; + this.match(HiveSqlParser.T_FUNCTION); + this.state = 1463; + this.ident(); + this.state = 1465; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,144,this._ctx); + if(la_===1) { + this.state = 1464; + this.create_routine_params(); + + } + this.state = 1467; + this.create_function_return(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1469; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_PROCEDURE || _la===HiveSqlParser.T_PROC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1470; + this.ident(); + this.state = 1472; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,145,this._ctx); + if(la_===1) { + this.state = 1471; + this.create_routine_params(); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_package_body_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_package_body_stmt; + return this; +} + +Create_package_body_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_package_body_stmtContext.prototype.constructor = Create_package_body_stmtContext; + +Create_package_body_stmtContext.prototype.T_PACKAGE = function() { + return this.getToken(HiveSqlParser.T_PACKAGE, 0); +}; + +Create_package_body_stmtContext.prototype.T_BODY = function() { + return this.getToken(HiveSqlParser.T_BODY, 0); +}; + +Create_package_body_stmtContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Create_package_body_stmtContext.prototype.package_body = function() { + return this.getTypedRuleContext(Package_bodyContext,0); +}; + +Create_package_body_stmtContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +Create_package_body_stmtContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Create_package_body_stmtContext.prototype.T_IS = function() { + return this.getToken(HiveSqlParser.T_IS, 0); +}; + +Create_package_body_stmtContext.prototype.T_ALTER = function() { + return this.getToken(HiveSqlParser.T_ALTER, 0); +}; + +Create_package_body_stmtContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Create_package_body_stmtContext.prototype.T_REPLACE = function() { + return this.getToken(HiveSqlParser.T_REPLACE, 0); +}; + +Create_package_body_stmtContext.prototype.T_SEMICOLON = function() { + return this.getToken(HiveSqlParser.T_SEMICOLON, 0); +}; + +Create_package_body_stmtContext.prototype.T_OR = function() { + return this.getToken(HiveSqlParser.T_OR, 0); +}; + +Create_package_body_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_package_body_stmt(this); + } +}; + +Create_package_body_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_package_body_stmt(this); + } +}; + +Create_package_body_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_package_body_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_package_body_stmtContext = Create_package_body_stmtContext; + +HiveSqlParser.prototype.create_package_body_stmt = function() { + + var localctx = new Create_package_body_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 140, HiveSqlParser.RULE_create_package_body_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1483; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case HiveSqlParser.T_ALTER: + this.state = 1476; + this.match(HiveSqlParser.T_ALTER); + break; + case HiveSqlParser.T_CREATE: + this.state = 1477; + this.match(HiveSqlParser.T_CREATE); + this.state = 1480; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OR) { + this.state = 1478; + this.match(HiveSqlParser.T_OR); + this.state = 1479; + this.match(HiveSqlParser.T_REPLACE); + } + + break; + case HiveSqlParser.T_REPLACE: + this.state = 1482; + this.match(HiveSqlParser.T_REPLACE); + break; + case HiveSqlParser.T_PACKAGE: + break; + default: + break; + } + this.state = 1485; + this.match(HiveSqlParser.T_PACKAGE); + this.state = 1486; + this.match(HiveSqlParser.T_BODY); + this.state = 1487; + this.ident(); + this.state = 1488; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_AS || _la===HiveSqlParser.T_IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1489; + this.package_body(); + this.state = 1490; + this.match(HiveSqlParser.T_END); + this.state = 1494; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,149,this._ctx); + if(la_===1) { + this.state = 1491; + this.ident(); + this.state = 1492; + this.match(HiveSqlParser.T_SEMICOLON); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Package_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_package_body; + return this; +} + +Package_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Package_bodyContext.prototype.constructor = Package_bodyContext; + +Package_bodyContext.prototype.package_body_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Package_body_itemContext); + } else { + return this.getTypedRuleContext(Package_body_itemContext,i); + } +}; + +Package_bodyContext.prototype.T_SEMICOLON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_SEMICOLON); + } else { + return this.getToken(HiveSqlParser.T_SEMICOLON, i); + } +}; + + +Package_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterPackage_body(this); + } +}; + +Package_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitPackage_body(this); + } +}; + +Package_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitPackage_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Package_bodyContext = Package_bodyContext; + +HiveSqlParser.prototype.package_body = function() { + + var localctx = new Package_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 142, HiveSqlParser.RULE_package_body); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1496; + this.package_body_item(); + this.state = 1497; + this.match(HiveSqlParser.T_SEMICOLON); + this.state = 1503; + this._errHandler.sync(this); + _la = this._input.LA(1); + while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << HiveSqlParser.T__8) | (1 << HiveSqlParser.T_GO) | (1 << HiveSqlParser.T_BEGIN) | (1 << HiveSqlParser.T_EXCEPTION) | (1 << HiveSqlParser.L_ID) | (1 << HiveSqlParser.T_THEN) | (1 << HiveSqlParser.T_SET) | (1 << HiveSqlParser.T_ALLOCATE) | (1 << HiveSqlParser.T_CURSOR) | (1 << HiveSqlParser.T_FOR) | (1 << HiveSqlParser.T_RESULT) | (1 << HiveSqlParser.T_PROCEDURE) | (1 << HiveSqlParser.T_ASSOCIATE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (HiveSqlParser.T_LOCATOR - 32)) | (1 << (HiveSqlParser.T_LOCATORS - 32)) | (1 << (HiveSqlParser.T_WITH - 32)) | (1 << (HiveSqlParser.T_TRANSACTION - 32)) | (1 << (HiveSqlParser.T_BREAK - 32)) | (1 << (HiveSqlParser.T_CALL - 32)) | (1 << (HiveSqlParser.T_DECLARE - 32)) | (1 << (HiveSqlParser.T_AS - 32)) | (1 << (HiveSqlParser.T_CONSTANT - 32)) | (1 << (HiveSqlParser.T_CONDITION - 32)) | (1 << (HiveSqlParser.T_IS - 32)) | (1 << (HiveSqlParser.T_RETURN - 32)) | (1 << (HiveSqlParser.T_ONLY - 32)) | (1 << (HiveSqlParser.T_TO - 32)) | (1 << (HiveSqlParser.T_CALLER - 32)) | (1 << (HiveSqlParser.T_CLIENT - 32)) | (1 << (HiveSqlParser.T_WITHOUT - 32)) | (1 << (HiveSqlParser.T_CONTINUE - 32)) | (1 << (HiveSqlParser.T_EXIT - 32)) | (1 << (HiveSqlParser.T_HANDLER - 32)) | (1 << (HiveSqlParser.T_SQLEXCEPTION - 32)) | (1 << (HiveSqlParser.T_SQLWARNING - 32)) | (1 << (HiveSqlParser.T_NOT - 32)) | (1 << (HiveSqlParser.T_FOUND - 32)) | (1 << (HiveSqlParser.T_GLOBAL - 32)) | (1 << (HiveSqlParser.T_TEMPORARY - 32)) | (1 << (HiveSqlParser.T_TABLE - 32)) | (1 << (HiveSqlParser.T_CREATE - 32)) | (1 << (HiveSqlParser.T_IF - 32)) | (1 << (HiveSqlParser.T_EXISTS - 32)) | (1 << (HiveSqlParser.T_LOCAL - 32)) | (1 << (HiveSqlParser.T_MULTISET - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (HiveSqlParser.T_VOLATILE - 64)) | (1 << (HiveSqlParser.T_LIKE - 64)) | (1 << (HiveSqlParser.T_CONSTRAINT - 64)) | (1 << (HiveSqlParser.T_PRIMARY - 64)) | (1 << (HiveSqlParser.T_KEY - 64)) | (1 << (HiveSqlParser.T_UNIQUE - 64)) | (1 << (HiveSqlParser.T_REFERENCES - 64)) | (1 << (HiveSqlParser.T_IDENTITY - 64)) | (1 << (HiveSqlParser.T_AUTO_INCREMENT - 64)) | (1 << (HiveSqlParser.T_ENABLE - 64)) | (1 << (HiveSqlParser.T_CLUSTERED - 64)) | (1 << (HiveSqlParser.T_ASC - 64)) | (1 << (HiveSqlParser.T_DESC - 64)) | (1 << (HiveSqlParser.T_FOREIGN - 64)) | (1 << (HiveSqlParser.T_ON - 64)) | (1 << (HiveSqlParser.T_UPDATE - 64)) | (1 << (HiveSqlParser.T_DELETE - 64)) | (1 << (HiveSqlParser.T_NO - 64)) | (1 << (HiveSqlParser.T_ACTION - 64)) | (1 << (HiveSqlParser.T_RESTRICT - 64)) | (1 << (HiveSqlParser.T_DEFAULT - 64)) | (1 << (HiveSqlParser.T_CASCADE - 64)) | (1 << (HiveSqlParser.T_LOG - 64)) | (1 << (HiveSqlParser.T_FALLBACK - 64)) | (1 << (HiveSqlParser.T_COMMIT - 64)) | (1 << (HiveSqlParser.T_PRESERVE - 64)) | (1 << (HiveSqlParser.T_ROWS - 64)) | (1 << (HiveSqlParser.T_SEGMENT - 64)) | (1 << (HiveSqlParser.T_CREATION - 64)) | (1 << (HiveSqlParser.T_IMMEDIATE - 64)) | (1 << (HiveSqlParser.T_DEFERRED - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (HiveSqlParser.T_PCTFREE - 96)) | (1 << (HiveSqlParser.T_PCTUSED - 96)) | (1 << (HiveSqlParser.T_INITRANS - 96)) | (1 << (HiveSqlParser.T_MAXTRANS - 96)) | (1 << (HiveSqlParser.T_NOCOMPRESS - 96)) | (1 << (HiveSqlParser.T_LOGGING - 96)) | (1 << (HiveSqlParser.T_NOLOGGING - 96)) | (1 << (HiveSqlParser.T_STORAGE - 96)) | (1 << (HiveSqlParser.T_TABLESPACE - 96)) | (1 << (HiveSqlParser.T_INDEX - 96)) | (1 << (HiveSqlParser.T_IN - 96)) | (1 << (HiveSqlParser.T_REPLACE - 96)) | (1 << (HiveSqlParser.T_DISTRIBUTE - 96)) | (1 << (HiveSqlParser.T_BY - 96)) | (1 << (HiveSqlParser.T_HASH - 96)) | (1 << (HiveSqlParser.T_LOGGED - 96)) | (1 << (HiveSqlParser.T_COMPRESS - 96)) | (1 << (HiveSqlParser.T_YES - 96)) | (1 << (HiveSqlParser.T_DEFINITION - 96)) | (1 << (HiveSqlParser.T_DROP - 96)) | (1 << (HiveSqlParser.T_DATA - 96)) | (1 << (HiveSqlParser.T_STORED - 96)) | (1 << (HiveSqlParser.T_ROW - 96)) | (1 << (HiveSqlParser.T_FORMAT - 96)) | (1 << (HiveSqlParser.T_DELIMITED - 96)) | (1 << (HiveSqlParser.T_FIELDS - 96)) | (1 << (HiveSqlParser.T_TERMINATED - 96)) | (1 << (HiveSqlParser.T_ESCAPED - 96)) | (1 << (HiveSqlParser.T_COLLECTION - 96)) | (1 << (HiveSqlParser.T_ITEMS - 96)) | (1 << (HiveSqlParser.T_MAP - 96)) | (1 << (HiveSqlParser.T_KEYS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (HiveSqlParser.T_LINES - 128)) | (1 << (HiveSqlParser.T_DEFINED - 128)) | (1 << (HiveSqlParser.T_TEXTIMAGE_ON - 128)) | (1 << (HiveSqlParser.T_COMMENT - 128)) | (1 << (HiveSqlParser.T_CHARACTER - 128)) | (1 << (HiveSqlParser.T_CHARSET - 128)) | (1 << (HiveSqlParser.T_ENGINE - 128)) | (1 << (HiveSqlParser.T_ALTER - 128)) | (1 << (HiveSqlParser.T_ADD2 - 128)) | (1 << (HiveSqlParser.T_CHAR - 128)) | (1 << (HiveSqlParser.T_BIGINT - 128)) | (1 << (HiveSqlParser.T_BINARY_DOUBLE - 128)) | (1 << (HiveSqlParser.T_BINARY_FLOAT - 128)) | (1 << (HiveSqlParser.T_BIT - 128)) | (1 << (HiveSqlParser.T_DATE - 128)) | (1 << (HiveSqlParser.T_DATETIME - 128)) | (1 << (HiveSqlParser.T_DEC - 128)) | (1 << (HiveSqlParser.T_DECIMAL - 128)) | (1 << (HiveSqlParser.T_DOUBLE - 128)) | (1 << (HiveSqlParser.T_PRECISION - 128)) | (1 << (HiveSqlParser.T_FLOAT - 128)) | (1 << (HiveSqlParser.T_INT - 128)) | (1 << (HiveSqlParser.T_INT2 - 128)) | (1 << (HiveSqlParser.T_INT4 - 128)) | (1 << (HiveSqlParser.T_INT8 - 128)) | (1 << (HiveSqlParser.T_INTEGER - 128)) | (1 << (HiveSqlParser.T_NCHAR - 128)) | (1 << (HiveSqlParser.T_NVARCHAR - 128)) | (1 << (HiveSqlParser.T_NUMBER - 128)) | (1 << (HiveSqlParser.T_NUMERIC - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (HiveSqlParser.T_REAL - 160)) | (1 << (HiveSqlParser.T_RESULT_SET_LOCATOR - 160)) | (1 << (HiveSqlParser.T_VARYING - 160)) | (1 << (HiveSqlParser.T_SIMPLE_FLOAT - 160)) | (1 << (HiveSqlParser.T_SIMPLE_DOUBLE - 160)) | (1 << (HiveSqlParser.T_SMALLINT - 160)) | (1 << (HiveSqlParser.T_SMALLDATETIME - 160)) | (1 << (HiveSqlParser.T_STRING - 160)) | (1 << (HiveSqlParser.T_SYS_REFCURSOR - 160)) | (1 << (HiveSqlParser.T_TIMESTAMP - 160)) | (1 << (HiveSqlParser.T_VARCHAR - 160)) | (1 << (HiveSqlParser.T_VARCHAR2 - 160)) | (1 << (HiveSqlParser.T_XML - 160)) | (1 << (HiveSqlParser.T_MAX - 160)) | (1 << (HiveSqlParser.T_BYTE - 160)) | (1 << (HiveSqlParser.T_CASESPECIFIC - 160)) | (1 << (HiveSqlParser.T_CS - 160)) | (1 << (HiveSqlParser.T_DATABASE - 160)) | (1 << (HiveSqlParser.T_SCHEMA - 160)) | (1 << (HiveSqlParser.T_LOCATION - 160)) | (1 << (HiveSqlParser.T_OR - 160)) | (1 << (HiveSqlParser.T_FUNCTION - 160)) | (1 << (HiveSqlParser.T_RETURNS - 160)) | (1 << (HiveSqlParser.T_PACKAGE - 160)) | (1 << (HiveSqlParser.T_PROC - 160)) | (1 << (HiveSqlParser.T_BODY - 160)) | (1 << (HiveSqlParser.T_OUT - 160)) | (1 << (HiveSqlParser.T_INOUT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (HiveSqlParser.T_LANGUAGE - 192)) | (1 << (HiveSqlParser.T_SQL - 192)) | (1 << (HiveSqlParser.T_SECURITY - 192)) | (1 << (HiveSqlParser.T_CREATOR - 192)) | (1 << (HiveSqlParser.T_DEFINER - 192)) | (1 << (HiveSqlParser.T_INVOKER - 192)) | (1 << (HiveSqlParser.T_OWNER - 192)) | (1 << (HiveSqlParser.T_DYNAMIC - 192)) | (1 << (HiveSqlParser.T_SETS - 192)) | (1 << (HiveSqlParser.T_EXEC - 192)) | (1 << (HiveSqlParser.T_EXECUTE - 192)) | (1 << (HiveSqlParser.T_INTO - 192)) | (1 << (HiveSqlParser.T_INCLUDE - 192)) | (1 << (HiveSqlParser.T_INSERT - 192)) | (1 << (HiveSqlParser.T_OVERWRITE - 192)) | (1 << (HiveSqlParser.T_VALUES - 192)) | (1 << (HiveSqlParser.T_DIRECTORY - 192)) | (1 << (HiveSqlParser.T_GET - 192)) | (1 << (HiveSqlParser.T_DIAGNOSTICS - 192)) | (1 << (HiveSqlParser.T_MESSAGE_TEXT - 192)) | (1 << (HiveSqlParser.T_ROW_COUNT - 192)) | (1 << (HiveSqlParser.T_GRANT - 192)) | (1 << (HiveSqlParser.T_ROLE - 192)) | (1 << (HiveSqlParser.T_LEAVE - 192)) | (1 << (HiveSqlParser.T_OBJECT - 192)) | (1 << (HiveSqlParser.T_AT - 192)) | (1 << (HiveSqlParser.T_OPEN - 192)) | (1 << (HiveSqlParser.T_FETCH - 192)) | (1 << (HiveSqlParser.T_FROM - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (HiveSqlParser.T_COLLECT - 224)) | (1 << (HiveSqlParser.T_STATISTICS - 224)) | (1 << (HiveSqlParser.T_STATS - 224)) | (1 << (HiveSqlParser.T_COLUMN - 224)) | (1 << (HiveSqlParser.T_CLOSE - 224)) | (1 << (HiveSqlParser.T_CMP - 224)) | (1 << (HiveSqlParser.T_SUM - 224)) | (1 << (HiveSqlParser.T_COPY - 224)) | (1 << (HiveSqlParser.T_HDFS - 224)) | (1 << (HiveSqlParser.T_BATCHSIZE - 224)) | (1 << (HiveSqlParser.T_DELIMITER - 224)) | (1 << (HiveSqlParser.T_SQLINSERT - 224)) | (1 << (HiveSqlParser.T_IGNORE - 224)) | (1 << (HiveSqlParser.T_WORK - 224)) | (1 << (HiveSqlParser.T_PRINT - 224)) | (1 << (HiveSqlParser.T_QUIT - 224)) | (1 << (HiveSqlParser.T_RAISE - 224)) | (1 << (HiveSqlParser.T_RESIGNAL - 224)) | (1 << (HiveSqlParser.T_SQLSTATE - 224)) | (1 << (HiveSqlParser.T_VALUE - 224)) | (1 << (HiveSqlParser.T_ROLLBACK - 224)) | (1 << (HiveSqlParser.T_CURRENT - 224)) | (1 << (HiveSqlParser.T_CURRENT_SCHEMA - 224)) | (1 << (HiveSqlParser.T_ANSI_NULLS - 224)) | (1 << (HiveSqlParser.T_ANSI_PADDING - 224)) | (1 << (HiveSqlParser.T_NOCOUNT - 224)) | (1 << (HiveSqlParser.T_QUOTED_IDENTIFIER - 224)) | (1 << (HiveSqlParser.T_XACT_ABORT - 224)) | (1 << (HiveSqlParser.T_OFF - 224)) | (1 << (HiveSqlParser.T_QUERY_BAND - 224)) | (1 << (HiveSqlParser.T_NONE - 224)) | (1 << (HiveSqlParser.T_SESSION - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (HiveSqlParser.T_SIGNAL - 256)) | (1 << (HiveSqlParser.T_SUMMARY - 256)) | (1 << (HiveSqlParser.T_TOP - 256)) | (1 << (HiveSqlParser.T_LIMIT - 256)) | (1 << (HiveSqlParser.T_TRUNCATE - 256)) | (1 << (HiveSqlParser.T_USE - 256)) | (1 << (HiveSqlParser.T_WHILE - 256)) | (1 << (HiveSqlParser.T_DO - 256)) | (1 << (HiveSqlParser.T_LOOP - 256)) | (1 << (HiveSqlParser.T_REVERSE - 256)) | (1 << (HiveSqlParser.T_STEP - 256)) | (1 << (HiveSqlParser.T_USING - 256)) | (1 << (HiveSqlParser.T_ALL - 256)) | (1 << (HiveSqlParser.T_EXCEPT - 256)) | (1 << (HiveSqlParser.T_INTERSECT - 256)) | (1 << (HiveSqlParser.T_SELECT - 256)) | (1 << (HiveSqlParser.T_SEL - 256)) | (1 << (HiveSqlParser.T_DISTINCT - 256)) | (1 << (HiveSqlParser.T_TITLE - 256)) | (1 << (HiveSqlParser.T_INNER - 256)) | (1 << (HiveSqlParser.T_JOIN - 256)) | (1 << (HiveSqlParser.T_LEFT - 256)) | (1 << (HiveSqlParser.T_RIGHT - 256)) | (1 << (HiveSqlParser.T_FULL - 256)) | (1 << (HiveSqlParser.T_OUTER - 256)))) !== 0) || ((((_la - 288)) & ~0x1f) == 0 && ((1 << (_la - 288)) & ((1 << (HiveSqlParser.T_GROUP - 288)) | (1 << (HiveSqlParser.T_HAVING - 288)) | (1 << (HiveSqlParser.T_QUALIFY - 288)) | (1 << (HiveSqlParser.T_ORDER - 288)) | (1 << (HiveSqlParser.T_RR - 288)) | (1 << (HiveSqlParser.T_RS - 288)) | (1 << (HiveSqlParser.T_UR - 288)) | (1 << (HiveSqlParser.T_AND - 288)) | (1 << (HiveSqlParser.T_KEEP - 288)) | (1 << (HiveSqlParser.T_EXCLUSIVE - 288)) | (1 << (HiveSqlParser.T_SHARE - 288)) | (1 << (HiveSqlParser.T_LOCKS - 288)) | (1 << (HiveSqlParser.T_MERGE - 288)) | (1 << (HiveSqlParser.T_MATCHED - 288)) | (1 << (HiveSqlParser.T_DESCRIBE - 288)) | (1 << (HiveSqlParser.T_BETWEEN - 288)) | (1 << (HiveSqlParser.T_RLIKE - 288)) | (1 << (HiveSqlParser.T_REGEXP - 288)) | (1 << (HiveSqlParser.T_INTERVAL - 288)) | (1 << (HiveSqlParser.T_DAY - 288)) | (1 << (HiveSqlParser.T_DAYS - 288)) | (1 << (HiveSqlParser.T_MICROSECOND - 288)) | (1 << (HiveSqlParser.T_MICROSECONDS - 288)))) !== 0) || ((((_la - 320)) & ~0x1f) == 0 && ((1 << (_la - 320)) & ((1 << (HiveSqlParser.T_SECOND - 320)) | (1 << (HiveSqlParser.T_SECONDS - 320)) | (1 << (HiveSqlParser.T_CONCAT - 320)) | (1 << (HiveSqlParser.T_CASE - 320)) | (1 << (HiveSqlParser.T_ISOPEN - 320)) | (1 << (HiveSqlParser.T_NOTFOUND - 320)) | (1 << (HiveSqlParser.T_AVG - 320)) | (1 << (HiveSqlParser.T_COUNT - 320)) | (1 << (HiveSqlParser.T_COUNT_BIG - 320)) | (1 << (HiveSqlParser.T_CUME_DIST - 320)) | (1 << (HiveSqlParser.T_DENSE_RANK - 320)) | (1 << (HiveSqlParser.T_FIRST_VALUE - 320)) | (1 << (HiveSqlParser.T_LAG - 320)) | (1 << (HiveSqlParser.T_LAST_VALUE - 320)) | (1 << (HiveSqlParser.T_LEAD - 320)) | (1 << (HiveSqlParser.T_MIN - 320)) | (1 << (HiveSqlParser.T_RANK - 320)) | (1 << (HiveSqlParser.T_ROW_NUMBER - 320)) | (1 << (HiveSqlParser.T_STDEV - 320)) | (1 << (HiveSqlParser.T_VAR - 320)) | (1 << (HiveSqlParser.T_VARIANCE - 320)) | (1 << (HiveSqlParser.T_OVER - 320)) | (1 << (HiveSqlParser.T_PARTITION - 320)) | (1 << (HiveSqlParser.T_ACTIVITY_COUNT - 320)) | (1 << (HiveSqlParser.T_CAST - 320)) | (1 << (HiveSqlParser.T_CURRENT_DATE - 320)) | (1 << (HiveSqlParser.T_CURRENT_TIMESTAMP - 320)) | (1 << (HiveSqlParser.T_CURRENT_USER - 320)) | (1 << (HiveSqlParser.T_USER - 320)))) !== 0) || ((((_la - 356)) & ~0x1f) == 0 && ((1 << (_la - 356)) & ((1 << (HiveSqlParser.T_PART_COUNT - 356)) | (1 << (HiveSqlParser.T_PART_LOC - 356)) | (1 << (HiveSqlParser.T_TRIM - 356)) | (1 << (HiveSqlParser.T_SUBSTRING - 356)) | (1 << (HiveSqlParser.T_SYSDATE - 356)) | (1 << (HiveSqlParser.T_HIVE - 356)) | (1 << (HiveSqlParser.T_HOST - 356)) | (1 << (HiveSqlParser.T_TRUE - 356)) | (1 << (HiveSqlParser.T_FALSE - 356)) | (1 << (HiveSqlParser.T_DIR - 356)) | (1 << (HiveSqlParser.T_FILE - 356)) | (1 << (HiveSqlParser.T_FILES - 356)) | (1 << (HiveSqlParser.T_NEW - 356)) | (1 << (HiveSqlParser.T_PWD - 356)) | (1 << (HiveSqlParser.T_SESSIONS - 356)) | (1 << (HiveSqlParser.T_SUBDIR - 356)))) !== 0)) { + this.state = 1498; + this.package_body_item(); + this.state = 1499; + this.match(HiveSqlParser.T_SEMICOLON); + this.state = 1505; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Package_body_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_package_body_item; + return this; +} + +Package_body_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Package_body_itemContext.prototype.constructor = Package_body_itemContext; + +Package_body_itemContext.prototype.declare_stmt_item = function() { + return this.getTypedRuleContext(Declare_stmt_itemContext,0); +}; + +Package_body_itemContext.prototype.create_function_stmt = function() { + return this.getTypedRuleContext(Create_function_stmtContext,0); +}; + +Package_body_itemContext.prototype.create_procedure_stmt = function() { + return this.getTypedRuleContext(Create_procedure_stmtContext,0); +}; + +Package_body_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterPackage_body_item(this); + } +}; + +Package_body_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitPackage_body_item(this); + } +}; + +Package_body_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitPackage_body_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Package_body_itemContext = Package_body_itemContext; + +HiveSqlParser.prototype.package_body_item = function() { + + var localctx = new Package_body_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 144, HiveSqlParser.RULE_package_body_item); + try { + this.state = 1509; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,151,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1506; + this.declare_stmt_item(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1507; + this.create_function_stmt(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1508; + this.create_procedure_stmt(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_procedure_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_procedure_stmt; + return this; +} + +Create_procedure_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_procedure_stmtContext.prototype.constructor = Create_procedure_stmtContext; + +Create_procedure_stmtContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Create_procedure_stmtContext.prototype.proc_block = function() { + return this.getTypedRuleContext(Proc_blockContext,0); +}; + +Create_procedure_stmtContext.prototype.T_PROCEDURE = function() { + return this.getToken(HiveSqlParser.T_PROCEDURE, 0); +}; + +Create_procedure_stmtContext.prototype.T_PROC = function() { + return this.getToken(HiveSqlParser.T_PROC, 0); +}; + +Create_procedure_stmtContext.prototype.T_ALTER = function() { + return this.getToken(HiveSqlParser.T_ALTER, 0); +}; + +Create_procedure_stmtContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Create_procedure_stmtContext.prototype.T_REPLACE = function() { + return this.getToken(HiveSqlParser.T_REPLACE, 0); +}; + +Create_procedure_stmtContext.prototype.create_routine_params = function() { + return this.getTypedRuleContext(Create_routine_paramsContext,0); +}; + +Create_procedure_stmtContext.prototype.create_routine_options = function() { + return this.getTypedRuleContext(Create_routine_optionsContext,0); +}; + +Create_procedure_stmtContext.prototype.declare_block_inplace = function() { + return this.getTypedRuleContext(Declare_block_inplaceContext,0); +}; + +Create_procedure_stmtContext.prototype.label = function() { + return this.getTypedRuleContext(LabelContext,0); +}; + +Create_procedure_stmtContext.prototype.T_SEMICOLON = function() { + return this.getToken(HiveSqlParser.T_SEMICOLON, 0); +}; + +Create_procedure_stmtContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Create_procedure_stmtContext.prototype.T_IS = function() { + return this.getToken(HiveSqlParser.T_IS, 0); +}; + +Create_procedure_stmtContext.prototype.T_OR = function() { + return this.getToken(HiveSqlParser.T_OR, 0); +}; + +Create_procedure_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_procedure_stmt(this); + } +}; + +Create_procedure_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_procedure_stmt(this); + } +}; + +Create_procedure_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_procedure_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_procedure_stmtContext = Create_procedure_stmtContext; + +HiveSqlParser.prototype.create_procedure_stmt = function() { + + var localctx = new Create_procedure_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 146, HiveSqlParser.RULE_create_procedure_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1518; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case HiveSqlParser.T_ALTER: + this.state = 1511; + this.match(HiveSqlParser.T_ALTER); + break; + case HiveSqlParser.T_CREATE: + this.state = 1512; + this.match(HiveSqlParser.T_CREATE); + this.state = 1515; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OR) { + this.state = 1513; + this.match(HiveSqlParser.T_OR); + this.state = 1514; + this.match(HiveSqlParser.T_REPLACE); + } + + break; + case HiveSqlParser.T_REPLACE: + this.state = 1517; + this.match(HiveSqlParser.T_REPLACE); + break; + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_PROC: + break; + default: + break; + } + this.state = 1520; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_PROCEDURE || _la===HiveSqlParser.T_PROC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1521; + this.ident(); + this.state = 1523; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,154,this._ctx); + if(la_===1) { + this.state = 1522; + this.create_routine_params(); + + } + this.state = 1526; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,155,this._ctx); + if(la_===1) { + this.state = 1525; + this.create_routine_options(); + + } + this.state = 1529; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,156,this._ctx); + if(la_===1) { + this.state = 1528; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_AS || _la===HiveSqlParser.T_IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 1532; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,157,this._ctx); + if(la_===1) { + this.state = 1531; + this.declare_block_inplace(); + + } + this.state = 1535; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,158,this._ctx); + if(la_===1) { + this.state = 1534; + this.label(); + + } + this.state = 1537; + this.proc_block(); + this.state = 1541; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,159,this._ctx); + if(la_===1) { + this.state = 1538; + this.ident(); + this.state = 1539; + this.match(HiveSqlParser.T_SEMICOLON); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_routine_paramsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_routine_params; + return this; +} + +Create_routine_paramsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_routine_paramsContext.prototype.constructor = Create_routine_paramsContext; + +Create_routine_paramsContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Create_routine_paramsContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Create_routine_paramsContext.prototype.create_routine_param_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_routine_param_itemContext); + } else { + return this.getTypedRuleContext(Create_routine_param_itemContext,i); + } +}; + +Create_routine_paramsContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Create_routine_paramsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_routine_params(this); + } +}; + +Create_routine_paramsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_routine_params(this); + } +}; + +Create_routine_paramsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_routine_params(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_routine_paramsContext = Create_routine_paramsContext; + +HiveSqlParser.prototype.create_routine_params = function() { + + var localctx = new Create_routine_paramsContext(this, this._ctx, this.state); + this.enterRule(localctx, 148, HiveSqlParser.RULE_create_routine_params); + var _la = 0; // Token type + try { + this.state = 1565; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,162,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1543; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1544; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1545; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1546; + this.create_routine_param_item(); + this.state = 1551; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1547; + this.match(HiveSqlParser.T_COMMA); + this.state = 1548; + this.create_routine_param_item(); + this.state = 1553; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1554; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1556; + if (!( !this._input.LT(1).getText().equalsIgnoreCase("IS") && + !this._input.LT(1).getText().equalsIgnoreCase("AS") && + !(this._input.LT(1).getText().equalsIgnoreCase("DYNAMIC") && this._input.LT(2).getText().equalsIgnoreCase("RESULT")) + )) { + throw new antlr4.error.FailedPredicateException(this, "!this._input.LT(1).getText().equalsIgnoreCase(\"IS\") &&\n !this._input.LT(1).getText().equalsIgnoreCase(\"AS\") &&\n !(this._input.LT(1).getText().equalsIgnoreCase(\"DYNAMIC\") && this._input.LT(2).getText().equalsIgnoreCase(\"RESULT\"))\n "); + } + this.state = 1557; + this.create_routine_param_item(); + this.state = 1562; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,161,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1558; + this.match(HiveSqlParser.T_COMMA); + this.state = 1559; + this.create_routine_param_item(); + } + this.state = 1564; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,161,this._ctx); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_routine_param_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_routine_param_item; + return this; +} + +Create_routine_param_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_routine_param_itemContext.prototype.constructor = Create_routine_param_itemContext; + +Create_routine_param_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_routine_param_itemContext.prototype.dtype = function() { + return this.getTypedRuleContext(DtypeContext,0); +}; + +Create_routine_param_itemContext.prototype.T_IN = function() { + return this.getToken(HiveSqlParser.T_IN, 0); +}; + +Create_routine_param_itemContext.prototype.T_OUT = function() { + return this.getToken(HiveSqlParser.T_OUT, 0); +}; + +Create_routine_param_itemContext.prototype.T_INOUT = function() { + return this.getToken(HiveSqlParser.T_INOUT, 0); +}; + +Create_routine_param_itemContext.prototype.dtype_len = function() { + return this.getTypedRuleContext(Dtype_lenContext,0); +}; + +Create_routine_param_itemContext.prototype.dtype_attr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Dtype_attrContext); + } else { + return this.getTypedRuleContext(Dtype_attrContext,i); + } +}; + +Create_routine_param_itemContext.prototype.dtype_default = function() { + return this.getTypedRuleContext(Dtype_defaultContext,0); +}; + +Create_routine_param_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_routine_param_item(this); + } +}; + +Create_routine_param_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_routine_param_item(this); + } +}; + +Create_routine_param_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_routine_param_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_routine_param_itemContext = Create_routine_param_itemContext; + +HiveSqlParser.prototype.create_routine_param_item = function() { + + var localctx = new Create_routine_param_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 150, HiveSqlParser.RULE_create_routine_param_item); + try { + this.state = 1609; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,171,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1572; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,163,this._ctx); + if(la_===1) { + this.state = 1567; + this.match(HiveSqlParser.T_IN); + + } else if(la_===2) { + this.state = 1568; + this.match(HiveSqlParser.T_OUT); + + } else if(la_===3) { + this.state = 1569; + this.match(HiveSqlParser.T_INOUT); + + } else if(la_===4) { + this.state = 1570; + this.match(HiveSqlParser.T_IN); + this.state = 1571; + this.match(HiveSqlParser.T_OUT); + + } + this.state = 1574; + this.ident(); + this.state = 1575; + this.dtype(); + this.state = 1577; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,164,this._ctx); + if(la_===1) { + this.state = 1576; + this.dtype_len(); + + } + this.state = 1582; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,165,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1579; + this.dtype_attr(); + } + this.state = 1584; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,165,this._ctx); + } + + this.state = 1586; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,166,this._ctx); + if(la_===1) { + this.state = 1585; + this.dtype_default(); + + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1588; + this.ident(); + this.state = 1594; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,167,this._ctx); + if(la_===1) { + this.state = 1589; + this.match(HiveSqlParser.T_IN); + + } else if(la_===2) { + this.state = 1590; + this.match(HiveSqlParser.T_OUT); + + } else if(la_===3) { + this.state = 1591; + this.match(HiveSqlParser.T_INOUT); + + } else if(la_===4) { + this.state = 1592; + this.match(HiveSqlParser.T_IN); + this.state = 1593; + this.match(HiveSqlParser.T_OUT); + + } + this.state = 1596; + this.dtype(); + this.state = 1598; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,168,this._ctx); + if(la_===1) { + this.state = 1597; + this.dtype_len(); + + } + this.state = 1603; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,169,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1600; + this.dtype_attr(); + } + this.state = 1605; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,169,this._ctx); + } + + this.state = 1607; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,170,this._ctx); + if(la_===1) { + this.state = 1606; + this.dtype_default(); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_routine_optionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_routine_options; + return this; +} + +Create_routine_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_routine_optionsContext.prototype.constructor = Create_routine_optionsContext; + +Create_routine_optionsContext.prototype.create_routine_option = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_routine_optionContext); + } else { + return this.getTypedRuleContext(Create_routine_optionContext,i); + } +}; + +Create_routine_optionsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_routine_options(this); + } +}; + +Create_routine_optionsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_routine_options(this); + } +}; + +Create_routine_optionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_routine_options(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_routine_optionsContext = Create_routine_optionsContext; + +HiveSqlParser.prototype.create_routine_options = function() { + + var localctx = new Create_routine_optionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 152, HiveSqlParser.RULE_create_routine_options); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1612; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 1611; + this.create_routine_option(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1614; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,172, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_routine_optionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_routine_option; + return this; +} + +Create_routine_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_routine_optionContext.prototype.constructor = Create_routine_optionContext; + +Create_routine_optionContext.prototype.T_LANGUAGE = function() { + return this.getToken(HiveSqlParser.T_LANGUAGE, 0); +}; + +Create_routine_optionContext.prototype.T_SQL = function() { + return this.getToken(HiveSqlParser.T_SQL, 0); +}; + +Create_routine_optionContext.prototype.T_SECURITY = function() { + return this.getToken(HiveSqlParser.T_SECURITY, 0); +}; + +Create_routine_optionContext.prototype.T_CREATOR = function() { + return this.getToken(HiveSqlParser.T_CREATOR, 0); +}; + +Create_routine_optionContext.prototype.T_DEFINER = function() { + return this.getToken(HiveSqlParser.T_DEFINER, 0); +}; + +Create_routine_optionContext.prototype.T_INVOKER = function() { + return this.getToken(HiveSqlParser.T_INVOKER, 0); +}; + +Create_routine_optionContext.prototype.T_OWNER = function() { + return this.getToken(HiveSqlParser.T_OWNER, 0); +}; + +Create_routine_optionContext.prototype.T_RESULT = function() { + return this.getToken(HiveSqlParser.T_RESULT, 0); +}; + +Create_routine_optionContext.prototype.T_SETS = function() { + return this.getToken(HiveSqlParser.T_SETS, 0); +}; + +Create_routine_optionContext.prototype.L_INT = function() { + return this.getToken(HiveSqlParser.L_INT, 0); +}; + +Create_routine_optionContext.prototype.T_DYNAMIC = function() { + return this.getToken(HiveSqlParser.T_DYNAMIC, 0); +}; + +Create_routine_optionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_routine_option(this); + } +}; + +Create_routine_optionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_routine_option(this); + } +}; + +Create_routine_optionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_routine_option(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_routine_optionContext = Create_routine_optionContext; + +HiveSqlParser.prototype.create_routine_option = function() { + + var localctx = new Create_routine_optionContext(this, this._ctx, this.state); + this.enterRule(localctx, 154, HiveSqlParser.RULE_create_routine_option); + var _la = 0; // Token type + try { + this.state = 1627; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_LANGUAGE: + this.enterOuterAlt(localctx, 1); + this.state = 1616; + this.match(HiveSqlParser.T_LANGUAGE); + this.state = 1617; + this.match(HiveSqlParser.T_SQL); + break; + case HiveSqlParser.T_SQL: + this.enterOuterAlt(localctx, 2); + this.state = 1618; + this.match(HiveSqlParser.T_SQL); + this.state = 1619; + this.match(HiveSqlParser.T_SECURITY); + this.state = 1620; + _la = this._input.LA(1); + if(!(((((_la - 195)) & ~0x1f) == 0 && ((1 << (_la - 195)) & ((1 << (HiveSqlParser.T_CREATOR - 195)) | (1 << (HiveSqlParser.T_DEFINER - 195)) | (1 << (HiveSqlParser.T_INVOKER - 195)) | (1 << (HiveSqlParser.T_OWNER - 195)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_DYNAMIC: + this.enterOuterAlt(localctx, 3); + this.state = 1622; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_DYNAMIC) { + this.state = 1621; + this.match(HiveSqlParser.T_DYNAMIC); + } + + this.state = 1624; + this.match(HiveSqlParser.T_RESULT); + this.state = 1625; + this.match(HiveSqlParser.T_SETS); + this.state = 1626; + this.match(HiveSqlParser.L_INT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_drop_stmt; + return this; +} + +Drop_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_stmtContext.prototype.constructor = Drop_stmtContext; + +Drop_stmtContext.prototype.T_DROP = function() { + return this.getToken(HiveSqlParser.T_DROP, 0); +}; + +Drop_stmtContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Drop_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Drop_stmtContext.prototype.T_IF = function() { + return this.getToken(HiveSqlParser.T_IF, 0); +}; + +Drop_stmtContext.prototype.T_EXISTS = function() { + return this.getToken(HiveSqlParser.T_EXISTS, 0); +}; + +Drop_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Drop_stmtContext.prototype.T_DATABASE = function() { + return this.getToken(HiveSqlParser.T_DATABASE, 0); +}; + +Drop_stmtContext.prototype.T_SCHEMA = function() { + return this.getToken(HiveSqlParser.T_SCHEMA, 0); +}; + +Drop_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDrop_stmt(this); + } +}; + +Drop_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDrop_stmt(this); + } +}; + +Drop_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDrop_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Drop_stmtContext = Drop_stmtContext; + +HiveSqlParser.prototype.drop_stmt = function() { + + var localctx = new Drop_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 156, HiveSqlParser.RULE_drop_stmt); + var _la = 0; // Token type + try { + this.state = 1643; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,177,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1629; + this.match(HiveSqlParser.T_DROP); + this.state = 1630; + this.match(HiveSqlParser.T_TABLE); + this.state = 1633; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,175,this._ctx); + if(la_===1) { + this.state = 1631; + this.match(HiveSqlParser.T_IF); + this.state = 1632; + this.match(HiveSqlParser.T_EXISTS); + + } + this.state = 1635; + this.table_name(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1636; + this.match(HiveSqlParser.T_DROP); + this.state = 1637; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_DATABASE || _la===HiveSqlParser.T_SCHEMA)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1640; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,176,this._ctx); + if(la_===1) { + this.state = 1638; + this.match(HiveSqlParser.T_IF); + this.state = 1639; + this.match(HiveSqlParser.T_EXISTS); + + } + this.state = 1642; + this.expr(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function End_transaction_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_end_transaction_stmt; + return this; +} + +End_transaction_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +End_transaction_stmtContext.prototype.constructor = End_transaction_stmtContext; + +End_transaction_stmtContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +End_transaction_stmtContext.prototype.T_TRANSACTION = function() { + return this.getToken(HiveSqlParser.T_TRANSACTION, 0); +}; + +End_transaction_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterEnd_transaction_stmt(this); + } +}; + +End_transaction_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitEnd_transaction_stmt(this); + } +}; + +End_transaction_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitEnd_transaction_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.End_transaction_stmtContext = End_transaction_stmtContext; + +HiveSqlParser.prototype.end_transaction_stmt = function() { + + var localctx = new End_transaction_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 158, HiveSqlParser.RULE_end_transaction_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1645; + this.match(HiveSqlParser.T_END); + this.state = 1646; + this.match(HiveSqlParser.T_TRANSACTION); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Exec_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_exec_stmt; + return this; +} + +Exec_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Exec_stmtContext.prototype.constructor = Exec_stmtContext; + +Exec_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Exec_stmtContext.prototype.T_EXEC = function() { + return this.getToken(HiveSqlParser.T_EXEC, 0); +}; + +Exec_stmtContext.prototype.T_EXECUTE = function() { + return this.getToken(HiveSqlParser.T_EXECUTE, 0); +}; + +Exec_stmtContext.prototype.T_IMMEDIATE = function() { + return this.getToken(HiveSqlParser.T_IMMEDIATE, 0); +}; + +Exec_stmtContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Exec_stmtContext.prototype.expr_func_params = function() { + return this.getTypedRuleContext(Expr_func_paramsContext,0); +}; + +Exec_stmtContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Exec_stmtContext.prototype.T_INTO = function() { + return this.getToken(HiveSqlParser.T_INTO, 0); +}; + +Exec_stmtContext.prototype.L_ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.L_ID); + } else { + return this.getToken(HiveSqlParser.L_ID, i); + } +}; + + +Exec_stmtContext.prototype.using_clause = function() { + return this.getTypedRuleContext(Using_clauseContext,0); +}; + +Exec_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Exec_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExec_stmt(this); + } +}; + +Exec_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExec_stmt(this); + } +}; + +Exec_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExec_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Exec_stmtContext = Exec_stmtContext; + +HiveSqlParser.prototype.exec_stmt = function() { + + var localctx = new Exec_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 160, HiveSqlParser.RULE_exec_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1648; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_EXEC || _la===HiveSqlParser.T_EXECUTE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1650; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,178,this._ctx); + if(la_===1) { + this.state = 1649; + this.match(HiveSqlParser.T_IMMEDIATE); + + } + this.state = 1652; + this.expr(0); + this.state = 1658; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,179,this._ctx); + if(la_===1) { + this.state = 1653; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1654; + this.expr_func_params(); + this.state = 1655; + this.match(HiveSqlParser.T_CLOSE_P); + + } else if(la_===2) { + this.state = 1657; + this.expr_func_params(); + + } + this.state = 1669; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,181,this._ctx); + if(la_===1) { + this.state = 1660; + this.match(HiveSqlParser.T_INTO); + this.state = 1661; + this.match(HiveSqlParser.L_ID); + this.state = 1666; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,180,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1662; + this.match(HiveSqlParser.T_COMMA); + this.state = 1663; + this.match(HiveSqlParser.L_ID); + } + this.state = 1668; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,180,this._ctx); + } + + + } + this.state = 1672; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,182,this._ctx); + if(la_===1) { + this.state = 1671; + this.using_clause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function If_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_if_stmt; + return this; +} + +If_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +If_stmtContext.prototype.constructor = If_stmtContext; + +If_stmtContext.prototype.if_plsql_stmt = function() { + return this.getTypedRuleContext(If_plsql_stmtContext,0); +}; + +If_stmtContext.prototype.if_tsql_stmt = function() { + return this.getTypedRuleContext(If_tsql_stmtContext,0); +}; + +If_stmtContext.prototype.if_bteq_stmt = function() { + return this.getTypedRuleContext(If_bteq_stmtContext,0); +}; + +If_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterIf_stmt(this); + } +}; + +If_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitIf_stmt(this); + } +}; + +If_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitIf_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.If_stmtContext = If_stmtContext; + +HiveSqlParser.prototype.if_stmt = function() { + + var localctx = new If_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 162, HiveSqlParser.RULE_if_stmt); + try { + this.state = 1677; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,183,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1674; + this.if_plsql_stmt(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1675; + this.if_tsql_stmt(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1676; + this.if_bteq_stmt(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function If_plsql_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_if_plsql_stmt; + return this; +} + +If_plsql_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +If_plsql_stmtContext.prototype.constructor = If_plsql_stmtContext; + +If_plsql_stmtContext.prototype.T_IF = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_IF); + } else { + return this.getToken(HiveSqlParser.T_IF, i); + } +}; + + +If_plsql_stmtContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +If_plsql_stmtContext.prototype.T_THEN = function() { + return this.getToken(HiveSqlParser.T_THEN, 0); +}; + +If_plsql_stmtContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +If_plsql_stmtContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +If_plsql_stmtContext.prototype.elseif_block = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Elseif_blockContext); + } else { + return this.getTypedRuleContext(Elseif_blockContext,i); + } +}; + +If_plsql_stmtContext.prototype.else_block = function() { + return this.getTypedRuleContext(Else_blockContext,0); +}; + +If_plsql_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterIf_plsql_stmt(this); + } +}; + +If_plsql_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitIf_plsql_stmt(this); + } +}; + +If_plsql_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitIf_plsql_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.If_plsql_stmtContext = If_plsql_stmtContext; + +HiveSqlParser.prototype.if_plsql_stmt = function() { + + var localctx = new If_plsql_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 164, HiveSqlParser.RULE_if_plsql_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1679; + this.match(HiveSqlParser.T_IF); + this.state = 1680; + this.bool_expr(0); + this.state = 1681; + this.match(HiveSqlParser.T_THEN); + this.state = 1682; + this.block(); + this.state = 1686; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_ELSIF || _la===HiveSqlParser.T_ELSEIF) { + this.state = 1683; + this.elseif_block(); + this.state = 1688; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1690; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ELSE) { + this.state = 1689; + this.else_block(); + } + + this.state = 1692; + this.match(HiveSqlParser.T_END); + this.state = 1693; + this.match(HiveSqlParser.T_IF); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function If_tsql_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_if_tsql_stmt; + return this; +} + +If_tsql_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +If_tsql_stmtContext.prototype.constructor = If_tsql_stmtContext; + +If_tsql_stmtContext.prototype.T_IF = function() { + return this.getToken(HiveSqlParser.T_IF, 0); +}; + +If_tsql_stmtContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +If_tsql_stmtContext.prototype.single_block_stmt = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Single_block_stmtContext); + } else { + return this.getTypedRuleContext(Single_block_stmtContext,i); + } +}; + +If_tsql_stmtContext.prototype.T_ELSE = function() { + return this.getToken(HiveSqlParser.T_ELSE, 0); +}; + +If_tsql_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterIf_tsql_stmt(this); + } +}; + +If_tsql_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitIf_tsql_stmt(this); + } +}; + +If_tsql_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitIf_tsql_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.If_tsql_stmtContext = If_tsql_stmtContext; + +HiveSqlParser.prototype.if_tsql_stmt = function() { + + var localctx = new If_tsql_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 166, HiveSqlParser.RULE_if_tsql_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1695; + this.match(HiveSqlParser.T_IF); + this.state = 1696; + this.bool_expr(0); + this.state = 1697; + this.single_block_stmt(); + this.state = 1700; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,186,this._ctx); + if(la_===1) { + this.state = 1698; + this.match(HiveSqlParser.T_ELSE); + this.state = 1699; + this.single_block_stmt(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function If_bteq_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_if_bteq_stmt; + return this; +} + +If_bteq_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +If_bteq_stmtContext.prototype.constructor = If_bteq_stmtContext; + +If_bteq_stmtContext.prototype.T_IF = function() { + return this.getToken(HiveSqlParser.T_IF, 0); +}; + +If_bteq_stmtContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +If_bteq_stmtContext.prototype.T_THEN = function() { + return this.getToken(HiveSqlParser.T_THEN, 0); +}; + +If_bteq_stmtContext.prototype.single_block_stmt = function() { + return this.getTypedRuleContext(Single_block_stmtContext,0); +}; + +If_bteq_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterIf_bteq_stmt(this); + } +}; + +If_bteq_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitIf_bteq_stmt(this); + } +}; + +If_bteq_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitIf_bteq_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.If_bteq_stmtContext = If_bteq_stmtContext; + +HiveSqlParser.prototype.if_bteq_stmt = function() { + + var localctx = new If_bteq_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 168, HiveSqlParser.RULE_if_bteq_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1702; + this.match(HiveSqlParser.T__4); + this.state = 1703; + this.match(HiveSqlParser.T_IF); + this.state = 1704; + this.bool_expr(0); + this.state = 1705; + this.match(HiveSqlParser.T_THEN); + this.state = 1706; + this.single_block_stmt(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Elseif_blockContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_elseif_block; + return this; +} + +Elseif_blockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Elseif_blockContext.prototype.constructor = Elseif_blockContext; + +Elseif_blockContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +Elseif_blockContext.prototype.T_THEN = function() { + return this.getToken(HiveSqlParser.T_THEN, 0); +}; + +Elseif_blockContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +Elseif_blockContext.prototype.T_ELSIF = function() { + return this.getToken(HiveSqlParser.T_ELSIF, 0); +}; + +Elseif_blockContext.prototype.T_ELSEIF = function() { + return this.getToken(HiveSqlParser.T_ELSEIF, 0); +}; + +Elseif_blockContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterElseif_block(this); + } +}; + +Elseif_blockContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitElseif_block(this); + } +}; + +Elseif_blockContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitElseif_block(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Elseif_blockContext = Elseif_blockContext; + +HiveSqlParser.prototype.elseif_block = function() { + + var localctx = new Elseif_blockContext(this, this._ctx, this.state); + this.enterRule(localctx, 170, HiveSqlParser.RULE_elseif_block); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1708; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ELSIF || _la===HiveSqlParser.T_ELSEIF)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1709; + this.bool_expr(0); + this.state = 1710; + this.match(HiveSqlParser.T_THEN); + this.state = 1711; + this.block(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Else_blockContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_else_block; + return this; +} + +Else_blockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Else_blockContext.prototype.constructor = Else_blockContext; + +Else_blockContext.prototype.T_ELSE = function() { + return this.getToken(HiveSqlParser.T_ELSE, 0); +}; + +Else_blockContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +Else_blockContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterElse_block(this); + } +}; + +Else_blockContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitElse_block(this); + } +}; + +Else_blockContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitElse_block(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Else_blockContext = Else_blockContext; + +HiveSqlParser.prototype.else_block = function() { + + var localctx = new Else_blockContext(this, this._ctx, this.state); + this.enterRule(localctx, 172, HiveSqlParser.RULE_else_block); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1713; + this.match(HiveSqlParser.T_ELSE); + this.state = 1714; + this.block(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Include_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_include_stmt; + return this; +} + +Include_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Include_stmtContext.prototype.constructor = Include_stmtContext; + +Include_stmtContext.prototype.T_INCLUDE = function() { + return this.getToken(HiveSqlParser.T_INCLUDE, 0); +}; + +Include_stmtContext.prototype.file_name = function() { + return this.getTypedRuleContext(File_nameContext,0); +}; + +Include_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Include_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInclude_stmt(this); + } +}; + +Include_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInclude_stmt(this); + } +}; + +Include_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInclude_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Include_stmtContext = Include_stmtContext; + +HiveSqlParser.prototype.include_stmt = function() { + + var localctx = new Include_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 174, HiveSqlParser.RULE_include_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1716; + this.match(HiveSqlParser.T_INCLUDE); + this.state = 1719; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,187,this._ctx); + switch(la_) { + case 1: + this.state = 1717; + this.file_name(); + break; + + case 2: + this.state = 1718; + this.expr(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Insert_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_insert_stmt; + return this; +} + +Insert_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Insert_stmtContext.prototype.constructor = Insert_stmtContext; + +Insert_stmtContext.prototype.T_INSERT = function() { + return this.getToken(HiveSqlParser.T_INSERT, 0); +}; + +Insert_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Insert_stmtContext.prototype.T_OVERWRITE = function() { + return this.getToken(HiveSqlParser.T_OVERWRITE, 0); +}; + +Insert_stmtContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Insert_stmtContext.prototype.T_INTO = function() { + return this.getToken(HiveSqlParser.T_INTO, 0); +}; + +Insert_stmtContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Insert_stmtContext.prototype.insert_stmt_rows = function() { + return this.getTypedRuleContext(Insert_stmt_rowsContext,0); +}; + +Insert_stmtContext.prototype.insert_stmt_cols = function() { + return this.getTypedRuleContext(Insert_stmt_colsContext,0); +}; + +Insert_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInsert_stmt(this); + } +}; + +Insert_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInsert_stmt(this); + } +}; + +Insert_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInsert_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Insert_stmtContext = Insert_stmtContext; + +HiveSqlParser.prototype.insert_stmt = function() { + + var localctx = new Insert_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 176, HiveSqlParser.RULE_insert_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1721; + this.match(HiveSqlParser.T_INSERT); + this.state = 1728; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_OVERWRITE: + this.state = 1722; + this.match(HiveSqlParser.T_OVERWRITE); + this.state = 1723; + this.match(HiveSqlParser.T_TABLE); + break; + case HiveSqlParser.T_INTO: + this.state = 1724; + this.match(HiveSqlParser.T_INTO); + this.state = 1726; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,188,this._ctx); + if(la_===1) { + this.state = 1725; + this.match(HiveSqlParser.T_TABLE); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1730; + this.table_name(); + this.state = 1732; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,190,this._ctx); + if(la_===1) { + this.state = 1731; + this.insert_stmt_cols(); + + } + this.state = 1736; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_OPEN_P: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + this.state = 1734; + this.select_stmt(); + break; + case HiveSqlParser.T_VALUES: + this.state = 1735; + this.insert_stmt_rows(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Insert_stmt_colsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_insert_stmt_cols; + return this; +} + +Insert_stmt_colsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Insert_stmt_colsContext.prototype.constructor = Insert_stmt_colsContext; + +Insert_stmt_colsContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Insert_stmt_colsContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Insert_stmt_colsContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Insert_stmt_colsContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Insert_stmt_colsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInsert_stmt_cols(this); + } +}; + +Insert_stmt_colsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInsert_stmt_cols(this); + } +}; + +Insert_stmt_colsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInsert_stmt_cols(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Insert_stmt_colsContext = Insert_stmt_colsContext; + +HiveSqlParser.prototype.insert_stmt_cols = function() { + + var localctx = new Insert_stmt_colsContext(this, this._ctx, this.state); + this.enterRule(localctx, 178, HiveSqlParser.RULE_insert_stmt_cols); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1738; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1739; + this.ident(); + this.state = 1744; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1740; + this.match(HiveSqlParser.T_COMMA); + this.state = 1741; + this.ident(); + this.state = 1746; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1747; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Insert_stmt_rowsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_insert_stmt_rows; + return this; +} + +Insert_stmt_rowsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Insert_stmt_rowsContext.prototype.constructor = Insert_stmt_rowsContext; + +Insert_stmt_rowsContext.prototype.T_VALUES = function() { + return this.getToken(HiveSqlParser.T_VALUES, 0); +}; + +Insert_stmt_rowsContext.prototype.insert_stmt_row = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Insert_stmt_rowContext); + } else { + return this.getTypedRuleContext(Insert_stmt_rowContext,i); + } +}; + +Insert_stmt_rowsContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Insert_stmt_rowsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInsert_stmt_rows(this); + } +}; + +Insert_stmt_rowsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInsert_stmt_rows(this); + } +}; + +Insert_stmt_rowsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInsert_stmt_rows(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Insert_stmt_rowsContext = Insert_stmt_rowsContext; + +HiveSqlParser.prototype.insert_stmt_rows = function() { + + var localctx = new Insert_stmt_rowsContext(this, this._ctx, this.state); + this.enterRule(localctx, 180, HiveSqlParser.RULE_insert_stmt_rows); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1749; + this.match(HiveSqlParser.T_VALUES); + this.state = 1750; + this.insert_stmt_row(); + this.state = 1755; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,193,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1751; + this.match(HiveSqlParser.T_COMMA); + this.state = 1752; + this.insert_stmt_row(); + } + this.state = 1757; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,193,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Insert_stmt_rowContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_insert_stmt_row; + return this; +} + +Insert_stmt_rowContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Insert_stmt_rowContext.prototype.constructor = Insert_stmt_rowContext; + +Insert_stmt_rowContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Insert_stmt_rowContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Insert_stmt_rowContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Insert_stmt_rowContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Insert_stmt_rowContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInsert_stmt_row(this); + } +}; + +Insert_stmt_rowContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInsert_stmt_row(this); + } +}; + +Insert_stmt_rowContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInsert_stmt_row(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Insert_stmt_rowContext = Insert_stmt_rowContext; + +HiveSqlParser.prototype.insert_stmt_row = function() { + + var localctx = new Insert_stmt_rowContext(this, this._ctx, this.state); + this.enterRule(localctx, 182, HiveSqlParser.RULE_insert_stmt_row); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1758; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1759; + this.expr(0); + this.state = 1764; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1760; + this.match(HiveSqlParser.T_COMMA); + this.state = 1761; + this.expr(0); + this.state = 1766; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1767; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Insert_directory_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_insert_directory_stmt; + return this; +} + +Insert_directory_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Insert_directory_stmtContext.prototype.constructor = Insert_directory_stmtContext; + +Insert_directory_stmtContext.prototype.T_INSERT = function() { + return this.getToken(HiveSqlParser.T_INSERT, 0); +}; + +Insert_directory_stmtContext.prototype.T_OVERWRITE = function() { + return this.getToken(HiveSqlParser.T_OVERWRITE, 0); +}; + +Insert_directory_stmtContext.prototype.T_DIRECTORY = function() { + return this.getToken(HiveSqlParser.T_DIRECTORY, 0); +}; + +Insert_directory_stmtContext.prototype.expr_file = function() { + return this.getTypedRuleContext(Expr_fileContext,0); +}; + +Insert_directory_stmtContext.prototype.expr_select = function() { + return this.getTypedRuleContext(Expr_selectContext,0); +}; + +Insert_directory_stmtContext.prototype.T_LOCAL = function() { + return this.getToken(HiveSqlParser.T_LOCAL, 0); +}; + +Insert_directory_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInsert_directory_stmt(this); + } +}; + +Insert_directory_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInsert_directory_stmt(this); + } +}; + +Insert_directory_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInsert_directory_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Insert_directory_stmtContext = Insert_directory_stmtContext; + +HiveSqlParser.prototype.insert_directory_stmt = function() { + + var localctx = new Insert_directory_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 184, HiveSqlParser.RULE_insert_directory_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1769; + this.match(HiveSqlParser.T_INSERT); + this.state = 1770; + this.match(HiveSqlParser.T_OVERWRITE); + this.state = 1772; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_LOCAL) { + this.state = 1771; + this.match(HiveSqlParser.T_LOCAL); + } + + this.state = 1774; + this.match(HiveSqlParser.T_DIRECTORY); + this.state = 1775; + this.expr_file(); + this.state = 1776; + this.expr_select(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Exit_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_exit_stmt; + return this; +} + +Exit_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Exit_stmtContext.prototype.constructor = Exit_stmtContext; + +Exit_stmtContext.prototype.T_EXIT = function() { + return this.getToken(HiveSqlParser.T_EXIT, 0); +}; + +Exit_stmtContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +Exit_stmtContext.prototype.T_WHEN = function() { + return this.getToken(HiveSqlParser.T_WHEN, 0); +}; + +Exit_stmtContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +Exit_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExit_stmt(this); + } +}; + +Exit_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExit_stmt(this); + } +}; + +Exit_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExit_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Exit_stmtContext = Exit_stmtContext; + +HiveSqlParser.prototype.exit_stmt = function() { + + var localctx = new Exit_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 186, HiveSqlParser.RULE_exit_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1778; + this.match(HiveSqlParser.T_EXIT); + this.state = 1780; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,196,this._ctx); + if(la_===1) { + this.state = 1779; + this.match(HiveSqlParser.L_ID); + + } + this.state = 1784; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,197,this._ctx); + if(la_===1) { + this.state = 1782; + this.match(HiveSqlParser.T_WHEN); + this.state = 1783; + this.bool_expr(0); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Get_diag_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_get_diag_stmt; + return this; +} + +Get_diag_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Get_diag_stmtContext.prototype.constructor = Get_diag_stmtContext; + +Get_diag_stmtContext.prototype.T_GET = function() { + return this.getToken(HiveSqlParser.T_GET, 0); +}; + +Get_diag_stmtContext.prototype.T_DIAGNOSTICS = function() { + return this.getToken(HiveSqlParser.T_DIAGNOSTICS, 0); +}; + +Get_diag_stmtContext.prototype.get_diag_stmt_item = function() { + return this.getTypedRuleContext(Get_diag_stmt_itemContext,0); +}; + +Get_diag_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterGet_diag_stmt(this); + } +}; + +Get_diag_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitGet_diag_stmt(this); + } +}; + +Get_diag_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitGet_diag_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Get_diag_stmtContext = Get_diag_stmtContext; + +HiveSqlParser.prototype.get_diag_stmt = function() { + + var localctx = new Get_diag_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 188, HiveSqlParser.RULE_get_diag_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1786; + this.match(HiveSqlParser.T_GET); + this.state = 1787; + this.match(HiveSqlParser.T_DIAGNOSTICS); + this.state = 1788; + this.get_diag_stmt_item(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Get_diag_stmt_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_get_diag_stmt_item; + return this; +} + +Get_diag_stmt_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Get_diag_stmt_itemContext.prototype.constructor = Get_diag_stmt_itemContext; + +Get_diag_stmt_itemContext.prototype.get_diag_stmt_exception_item = function() { + return this.getTypedRuleContext(Get_diag_stmt_exception_itemContext,0); +}; + +Get_diag_stmt_itemContext.prototype.get_diag_stmt_rowcount_item = function() { + return this.getTypedRuleContext(Get_diag_stmt_rowcount_itemContext,0); +}; + +Get_diag_stmt_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterGet_diag_stmt_item(this); + } +}; + +Get_diag_stmt_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitGet_diag_stmt_item(this); + } +}; + +Get_diag_stmt_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitGet_diag_stmt_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Get_diag_stmt_itemContext = Get_diag_stmt_itemContext; + +HiveSqlParser.prototype.get_diag_stmt_item = function() { + + var localctx = new Get_diag_stmt_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 190, HiveSqlParser.RULE_get_diag_stmt_item); + try { + this.state = 1792; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,198,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1790; + this.get_diag_stmt_exception_item(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1791; + this.get_diag_stmt_rowcount_item(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Get_diag_stmt_exception_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_get_diag_stmt_exception_item; + return this; +} + +Get_diag_stmt_exception_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Get_diag_stmt_exception_itemContext.prototype.constructor = Get_diag_stmt_exception_itemContext; + +Get_diag_stmt_exception_itemContext.prototype.T_EXCEPTION = function() { + return this.getToken(HiveSqlParser.T_EXCEPTION, 0); +}; + +Get_diag_stmt_exception_itemContext.prototype.L_INT = function() { + return this.getToken(HiveSqlParser.L_INT, 0); +}; + +Get_diag_stmt_exception_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Get_diag_stmt_exception_itemContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Get_diag_stmt_exception_itemContext.prototype.T_MESSAGE_TEXT = function() { + return this.getToken(HiveSqlParser.T_MESSAGE_TEXT, 0); +}; + +Get_diag_stmt_exception_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterGet_diag_stmt_exception_item(this); + } +}; + +Get_diag_stmt_exception_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitGet_diag_stmt_exception_item(this); + } +}; + +Get_diag_stmt_exception_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitGet_diag_stmt_exception_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Get_diag_stmt_exception_itemContext = Get_diag_stmt_exception_itemContext; + +HiveSqlParser.prototype.get_diag_stmt_exception_item = function() { + + var localctx = new Get_diag_stmt_exception_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 192, HiveSqlParser.RULE_get_diag_stmt_exception_item); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1794; + this.match(HiveSqlParser.T_EXCEPTION); + this.state = 1795; + this.match(HiveSqlParser.L_INT); + this.state = 1796; + this.ident(); + this.state = 1797; + this.match(HiveSqlParser.T_EQUAL); + this.state = 1798; + this.match(HiveSqlParser.T_MESSAGE_TEXT); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Get_diag_stmt_rowcount_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_get_diag_stmt_rowcount_item; + return this; +} + +Get_diag_stmt_rowcount_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Get_diag_stmt_rowcount_itemContext.prototype.constructor = Get_diag_stmt_rowcount_itemContext; + +Get_diag_stmt_rowcount_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Get_diag_stmt_rowcount_itemContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Get_diag_stmt_rowcount_itemContext.prototype.T_ROW_COUNT = function() { + return this.getToken(HiveSqlParser.T_ROW_COUNT, 0); +}; + +Get_diag_stmt_rowcount_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterGet_diag_stmt_rowcount_item(this); + } +}; + +Get_diag_stmt_rowcount_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitGet_diag_stmt_rowcount_item(this); + } +}; + +Get_diag_stmt_rowcount_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitGet_diag_stmt_rowcount_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Get_diag_stmt_rowcount_itemContext = Get_diag_stmt_rowcount_itemContext; + +HiveSqlParser.prototype.get_diag_stmt_rowcount_item = function() { + + var localctx = new Get_diag_stmt_rowcount_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 194, HiveSqlParser.RULE_get_diag_stmt_rowcount_item); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1800; + this.ident(); + this.state = 1801; + this.match(HiveSqlParser.T_EQUAL); + this.state = 1802; + this.match(HiveSqlParser.T_ROW_COUNT); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Grant_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_grant_stmt; + return this; +} + +Grant_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Grant_stmtContext.prototype.constructor = Grant_stmtContext; + +Grant_stmtContext.prototype.T_GRANT = function() { + return this.getToken(HiveSqlParser.T_GRANT, 0); +}; + +Grant_stmtContext.prototype.grant_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Grant_stmt_itemContext); + } else { + return this.getTypedRuleContext(Grant_stmt_itemContext,i); + } +}; + +Grant_stmtContext.prototype.T_TO = function() { + return this.getToken(HiveSqlParser.T_TO, 0); +}; + +Grant_stmtContext.prototype.T_ROLE = function() { + return this.getToken(HiveSqlParser.T_ROLE, 0); +}; + +Grant_stmtContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Grant_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Grant_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterGrant_stmt(this); + } +}; + +Grant_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitGrant_stmt(this); + } +}; + +Grant_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitGrant_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Grant_stmtContext = Grant_stmtContext; + +HiveSqlParser.prototype.grant_stmt = function() { + + var localctx = new Grant_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 196, HiveSqlParser.RULE_grant_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1804; + this.match(HiveSqlParser.T_GRANT); + this.state = 1805; + this.grant_stmt_item(); + this.state = 1810; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1806; + this.match(HiveSqlParser.T_COMMA); + this.state = 1807; + this.grant_stmt_item(); + this.state = 1812; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1813; + this.match(HiveSqlParser.T_TO); + this.state = 1814; + this.match(HiveSqlParser.T_ROLE); + this.state = 1815; + this.ident(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Grant_stmt_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_grant_stmt_item; + return this; +} + +Grant_stmt_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Grant_stmt_itemContext.prototype.constructor = Grant_stmt_itemContext; + +Grant_stmt_itemContext.prototype.T_EXECUTE = function() { + return this.getToken(HiveSqlParser.T_EXECUTE, 0); +}; + +Grant_stmt_itemContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Grant_stmt_itemContext.prototype.T_PROCEDURE = function() { + return this.getToken(HiveSqlParser.T_PROCEDURE, 0); +}; + +Grant_stmt_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Grant_stmt_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterGrant_stmt_item(this); + } +}; + +Grant_stmt_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitGrant_stmt_item(this); + } +}; + +Grant_stmt_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitGrant_stmt_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Grant_stmt_itemContext = Grant_stmt_itemContext; + +HiveSqlParser.prototype.grant_stmt_item = function() { + + var localctx = new Grant_stmt_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 198, HiveSqlParser.RULE_grant_stmt_item); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1817; + this.match(HiveSqlParser.T_EXECUTE); + this.state = 1818; + this.match(HiveSqlParser.T_ON); + this.state = 1819; + this.match(HiveSqlParser.T_PROCEDURE); + this.state = 1820; + this.ident(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Leave_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_leave_stmt; + return this; +} + +Leave_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Leave_stmtContext.prototype.constructor = Leave_stmtContext; + +Leave_stmtContext.prototype.T_LEAVE = function() { + return this.getToken(HiveSqlParser.T_LEAVE, 0); +}; + +Leave_stmtContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +Leave_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterLeave_stmt(this); + } +}; + +Leave_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitLeave_stmt(this); + } +}; + +Leave_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitLeave_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Leave_stmtContext = Leave_stmtContext; + +HiveSqlParser.prototype.leave_stmt = function() { + + var localctx = new Leave_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 200, HiveSqlParser.RULE_leave_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1822; + this.match(HiveSqlParser.T_LEAVE); + this.state = 1824; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,200,this._ctx); + if(la_===1) { + this.state = 1823; + this.match(HiveSqlParser.L_ID); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Map_object_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_map_object_stmt; + return this; +} + +Map_object_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Map_object_stmtContext.prototype.constructor = Map_object_stmtContext; + +Map_object_stmtContext.prototype.T_MAP = function() { + return this.getToken(HiveSqlParser.T_MAP, 0); +}; + +Map_object_stmtContext.prototype.T_OBJECT = function() { + return this.getToken(HiveSqlParser.T_OBJECT, 0); +}; + +Map_object_stmtContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Map_object_stmtContext.prototype.T_TO = function() { + return this.getToken(HiveSqlParser.T_TO, 0); +}; + +Map_object_stmtContext.prototype.T_AT = function() { + return this.getToken(HiveSqlParser.T_AT, 0); +}; + +Map_object_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterMap_object_stmt(this); + } +}; + +Map_object_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitMap_object_stmt(this); + } +}; + +Map_object_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitMap_object_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Map_object_stmtContext = Map_object_stmtContext; + +HiveSqlParser.prototype.map_object_stmt = function() { + + var localctx = new Map_object_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 202, HiveSqlParser.RULE_map_object_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1826; + this.match(HiveSqlParser.T_MAP); + this.state = 1827; + this.match(HiveSqlParser.T_OBJECT); + this.state = 1828; + this.expr(0); + this.state = 1831; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,201,this._ctx); + if(la_===1) { + this.state = 1829; + this.match(HiveSqlParser.T_TO); + this.state = 1830; + this.expr(0); + + } + this.state = 1835; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,202,this._ctx); + if(la_===1) { + this.state = 1833; + this.match(HiveSqlParser.T_AT); + this.state = 1834; + this.expr(0); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Open_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_open_stmt; + return this; +} + +Open_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Open_stmtContext.prototype.constructor = Open_stmtContext; + +Open_stmtContext.prototype.T_OPEN = function() { + return this.getToken(HiveSqlParser.T_OPEN, 0); +}; + +Open_stmtContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +Open_stmtContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Open_stmtContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Open_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Open_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterOpen_stmt(this); + } +}; + +Open_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitOpen_stmt(this); + } +}; + +Open_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitOpen_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Open_stmtContext = Open_stmtContext; + +HiveSqlParser.prototype.open_stmt = function() { + + var localctx = new Open_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 204, HiveSqlParser.RULE_open_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1837; + this.match(HiveSqlParser.T_OPEN); + this.state = 1838; + this.match(HiveSqlParser.L_ID); + this.state = 1844; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,204,this._ctx); + if(la_===1) { + this.state = 1839; + this.match(HiveSqlParser.T_FOR); + this.state = 1842; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,203,this._ctx); + switch(la_) { + case 1: + this.state = 1840; + this.select_stmt(); + break; + + case 2: + this.state = 1841; + this.expr(0); + break; + + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Fetch_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_fetch_stmt; + return this; +} + +Fetch_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Fetch_stmtContext.prototype.constructor = Fetch_stmtContext; + +Fetch_stmtContext.prototype.T_FETCH = function() { + return this.getToken(HiveSqlParser.T_FETCH, 0); +}; + +Fetch_stmtContext.prototype.L_ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.L_ID); + } else { + return this.getToken(HiveSqlParser.L_ID, i); + } +}; + + +Fetch_stmtContext.prototype.T_INTO = function() { + return this.getToken(HiveSqlParser.T_INTO, 0); +}; + +Fetch_stmtContext.prototype.T_FROM = function() { + return this.getToken(HiveSqlParser.T_FROM, 0); +}; + +Fetch_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Fetch_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFetch_stmt(this); + } +}; + +Fetch_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFetch_stmt(this); + } +}; + +Fetch_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFetch_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Fetch_stmtContext = Fetch_stmtContext; + +HiveSqlParser.prototype.fetch_stmt = function() { + + var localctx = new Fetch_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 206, HiveSqlParser.RULE_fetch_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1846; + this.match(HiveSqlParser.T_FETCH); + this.state = 1848; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_FROM) { + this.state = 1847; + this.match(HiveSqlParser.T_FROM); + } + + this.state = 1850; + this.match(HiveSqlParser.L_ID); + this.state = 1851; + this.match(HiveSqlParser.T_INTO); + this.state = 1852; + this.match(HiveSqlParser.L_ID); + this.state = 1857; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,206,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1853; + this.match(HiveSqlParser.T_COMMA); + this.state = 1854; + this.match(HiveSqlParser.L_ID); + } + this.state = 1859; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,206,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Collect_stats_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_collect_stats_stmt; + return this; +} + +Collect_stats_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Collect_stats_stmtContext.prototype.constructor = Collect_stats_stmtContext; + +Collect_stats_stmtContext.prototype.T_COLLECT = function() { + return this.getToken(HiveSqlParser.T_COLLECT, 0); +}; + +Collect_stats_stmtContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Collect_stats_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Collect_stats_stmtContext.prototype.T_STATISTICS = function() { + return this.getToken(HiveSqlParser.T_STATISTICS, 0); +}; + +Collect_stats_stmtContext.prototype.T_STATS = function() { + return this.getToken(HiveSqlParser.T_STATS, 0); +}; + +Collect_stats_stmtContext.prototype.collect_stats_clause = function() { + return this.getTypedRuleContext(Collect_stats_clauseContext,0); +}; + +Collect_stats_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCollect_stats_stmt(this); + } +}; + +Collect_stats_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCollect_stats_stmt(this); + } +}; + +Collect_stats_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCollect_stats_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Collect_stats_stmtContext = Collect_stats_stmtContext; + +HiveSqlParser.prototype.collect_stats_stmt = function() { + + var localctx = new Collect_stats_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 208, HiveSqlParser.RULE_collect_stats_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1860; + this.match(HiveSqlParser.T_COLLECT); + this.state = 1861; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_STATISTICS || _la===HiveSqlParser.T_STATS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1862; + this.match(HiveSqlParser.T_ON); + this.state = 1863; + this.table_name(); + this.state = 1865; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,207,this._ctx); + if(la_===1) { + this.state = 1864; + this.collect_stats_clause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Collect_stats_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_collect_stats_clause; + return this; +} + +Collect_stats_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Collect_stats_clauseContext.prototype.constructor = Collect_stats_clauseContext; + +Collect_stats_clauseContext.prototype.T_COLUMN = function() { + return this.getToken(HiveSqlParser.T_COLUMN, 0); +}; + +Collect_stats_clauseContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Collect_stats_clauseContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Collect_stats_clauseContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Collect_stats_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Collect_stats_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCollect_stats_clause(this); + } +}; + +Collect_stats_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCollect_stats_clause(this); + } +}; + +Collect_stats_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCollect_stats_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Collect_stats_clauseContext = Collect_stats_clauseContext; + +HiveSqlParser.prototype.collect_stats_clause = function() { + + var localctx = new Collect_stats_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 210, HiveSqlParser.RULE_collect_stats_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1867; + this.match(HiveSqlParser.T_COLUMN); + this.state = 1868; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1869; + this.ident(); + this.state = 1874; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1870; + this.match(HiveSqlParser.T_COMMA); + this.state = 1871; + this.ident(); + this.state = 1876; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1877; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Close_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_close_stmt; + return this; +} + +Close_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Close_stmtContext.prototype.constructor = Close_stmtContext; + +Close_stmtContext.prototype.T_CLOSE = function() { + return this.getToken(HiveSqlParser.T_CLOSE, 0); +}; + +Close_stmtContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +Close_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterClose_stmt(this); + } +}; + +Close_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitClose_stmt(this); + } +}; + +Close_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitClose_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Close_stmtContext = Close_stmtContext; + +HiveSqlParser.prototype.close_stmt = function() { + + var localctx = new Close_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 212, HiveSqlParser.RULE_close_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1879; + this.match(HiveSqlParser.T_CLOSE); + this.state = 1880; + this.match(HiveSqlParser.L_ID); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cmp_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_cmp_stmt; + return this; +} + +Cmp_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cmp_stmtContext.prototype.constructor = Cmp_stmtContext; + +Cmp_stmtContext.prototype.T_CMP = function() { + return this.getToken(HiveSqlParser.T_CMP, 0); +}; + +Cmp_stmtContext.prototype.cmp_source = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Cmp_sourceContext); + } else { + return this.getTypedRuleContext(Cmp_sourceContext,i); + } +}; + +Cmp_stmtContext.prototype.T_COMMA = function() { + return this.getToken(HiveSqlParser.T_COMMA, 0); +}; + +Cmp_stmtContext.prototype.T_ROW_COUNT = function() { + return this.getToken(HiveSqlParser.T_ROW_COUNT, 0); +}; + +Cmp_stmtContext.prototype.T_SUM = function() { + return this.getToken(HiveSqlParser.T_SUM, 0); +}; + +Cmp_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCmp_stmt(this); + } +}; + +Cmp_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCmp_stmt(this); + } +}; + +Cmp_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCmp_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Cmp_stmtContext = Cmp_stmtContext; + +HiveSqlParser.prototype.cmp_stmt = function() { + + var localctx = new Cmp_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 214, HiveSqlParser.RULE_cmp_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1882; + this.match(HiveSqlParser.T_CMP); + this.state = 1883; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ROW_COUNT || _la===HiveSqlParser.T_SUM)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1884; + this.cmp_source(); + this.state = 1885; + this.match(HiveSqlParser.T_COMMA); + this.state = 1886; + this.cmp_source(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cmp_sourceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_cmp_source; + return this; +} + +Cmp_sourceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cmp_sourceContext.prototype.constructor = Cmp_sourceContext; + +Cmp_sourceContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Cmp_sourceContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Cmp_sourceContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Cmp_sourceContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Cmp_sourceContext.prototype.T_AT = function() { + return this.getToken(HiveSqlParser.T_AT, 0); +}; + +Cmp_sourceContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Cmp_sourceContext.prototype.where_clause = function() { + return this.getTypedRuleContext(Where_clauseContext,0); +}; + +Cmp_sourceContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCmp_source(this); + } +}; + +Cmp_sourceContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCmp_source(this); + } +}; + +Cmp_sourceContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCmp_source(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Cmp_sourceContext = Cmp_sourceContext; + +HiveSqlParser.prototype.cmp_source = function() { + + var localctx = new Cmp_sourceContext(this, this._ctx, this.state); + this.enterRule(localctx, 216, HiveSqlParser.RULE_cmp_source); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1896; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 1888; + this.table_name(); + this.state = 1890; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,209,this._ctx); + if(la_===1) { + this.state = 1889; + this.where_clause(); + + } + break; + case HiveSqlParser.T_OPEN_P: + this.state = 1892; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1893; + this.select_stmt(); + this.state = 1894; + this.match(HiveSqlParser.T_CLOSE_P); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1900; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,211,this._ctx); + if(la_===1) { + this.state = 1898; + this.match(HiveSqlParser.T_AT); + this.state = 1899; + this.ident(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Copy_from_local_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_copy_from_local_stmt; + return this; +} + +Copy_from_local_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Copy_from_local_stmtContext.prototype.constructor = Copy_from_local_stmtContext; + +Copy_from_local_stmtContext.prototype.T_COPY = function() { + return this.getToken(HiveSqlParser.T_COPY, 0); +}; + +Copy_from_local_stmtContext.prototype.T_FROM = function() { + return this.getToken(HiveSqlParser.T_FROM, 0); +}; + +Copy_from_local_stmtContext.prototype.T_LOCAL = function() { + return this.getToken(HiveSqlParser.T_LOCAL, 0); +}; + +Copy_from_local_stmtContext.prototype.copy_source = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Copy_sourceContext); + } else { + return this.getTypedRuleContext(Copy_sourceContext,i); + } +}; + +Copy_from_local_stmtContext.prototype.T_TO = function() { + return this.getToken(HiveSqlParser.T_TO, 0); +}; + +Copy_from_local_stmtContext.prototype.copy_target = function() { + return this.getTypedRuleContext(Copy_targetContext,0); +}; + +Copy_from_local_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Copy_from_local_stmtContext.prototype.copy_file_option = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Copy_file_optionContext); + } else { + return this.getTypedRuleContext(Copy_file_optionContext,i); + } +}; + +Copy_from_local_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCopy_from_local_stmt(this); + } +}; + +Copy_from_local_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCopy_from_local_stmt(this); + } +}; + +Copy_from_local_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCopy_from_local_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Copy_from_local_stmtContext = Copy_from_local_stmtContext; + +HiveSqlParser.prototype.copy_from_local_stmt = function() { + + var localctx = new Copy_from_local_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 218, HiveSqlParser.RULE_copy_from_local_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1902; + this.match(HiveSqlParser.T_COPY); + this.state = 1903; + this.match(HiveSqlParser.T_FROM); + this.state = 1904; + this.match(HiveSqlParser.T_LOCAL); + this.state = 1905; + this.copy_source(); + this.state = 1910; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1906; + this.match(HiveSqlParser.T_COMMA); + this.state = 1907; + this.copy_source(); + this.state = 1912; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1913; + this.match(HiveSqlParser.T_TO); + this.state = 1914; + this.copy_target(); + this.state = 1918; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,213,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1915; + this.copy_file_option(); + } + this.state = 1920; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,213,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Copy_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_copy_stmt; + return this; +} + +Copy_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Copy_stmtContext.prototype.constructor = Copy_stmtContext; + +Copy_stmtContext.prototype.T_COPY = function() { + return this.getToken(HiveSqlParser.T_COPY, 0); +}; + +Copy_stmtContext.prototype.T_TO = function() { + return this.getToken(HiveSqlParser.T_TO, 0); +}; + +Copy_stmtContext.prototype.copy_target = function() { + return this.getTypedRuleContext(Copy_targetContext,0); +}; + +Copy_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Copy_stmtContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Copy_stmtContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Copy_stmtContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Copy_stmtContext.prototype.T_HDFS = function() { + return this.getToken(HiveSqlParser.T_HDFS, 0); +}; + +Copy_stmtContext.prototype.copy_option = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Copy_optionContext); + } else { + return this.getTypedRuleContext(Copy_optionContext,i); + } +}; + +Copy_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCopy_stmt(this); + } +}; + +Copy_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCopy_stmt(this); + } +}; + +Copy_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCopy_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Copy_stmtContext = Copy_stmtContext; + +HiveSqlParser.prototype.copy_stmt = function() { + + var localctx = new Copy_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 220, HiveSqlParser.RULE_copy_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1921; + this.match(HiveSqlParser.T_COPY); + this.state = 1927; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 1922; + this.table_name(); + break; + case HiveSqlParser.T_OPEN_P: + this.state = 1923; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1924; + this.select_stmt(); + this.state = 1925; + this.match(HiveSqlParser.T_CLOSE_P); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1929; + this.match(HiveSqlParser.T_TO); + this.state = 1931; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,215,this._ctx); + if(la_===1) { + this.state = 1930; + this.match(HiveSqlParser.T_HDFS); + + } + this.state = 1933; + this.copy_target(); + this.state = 1937; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,216,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1934; + this.copy_option(); + } + this.state = 1939; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,216,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Copy_sourceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_copy_source; + return this; +} + +Copy_sourceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Copy_sourceContext.prototype.constructor = Copy_sourceContext; + +Copy_sourceContext.prototype.file_name = function() { + return this.getTypedRuleContext(File_nameContext,0); +}; + +Copy_sourceContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Copy_sourceContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCopy_source(this); + } +}; + +Copy_sourceContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCopy_source(this); + } +}; + +Copy_sourceContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCopy_source(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Copy_sourceContext = Copy_sourceContext; + +HiveSqlParser.prototype.copy_source = function() { + + var localctx = new Copy_sourceContext(this, this._ctx, this.state); + this.enterRule(localctx, 222, HiveSqlParser.RULE_copy_source); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1942; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,217,this._ctx); + switch(la_) { + case 1: + this.state = 1940; + this.file_name(); + break; + + case 2: + this.state = 1941; + this.expr(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Copy_targetContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_copy_target; + return this; +} + +Copy_targetContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Copy_targetContext.prototype.constructor = Copy_targetContext; + +Copy_targetContext.prototype.file_name = function() { + return this.getTypedRuleContext(File_nameContext,0); +}; + +Copy_targetContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Copy_targetContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCopy_target(this); + } +}; + +Copy_targetContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCopy_target(this); + } +}; + +Copy_targetContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCopy_target(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Copy_targetContext = Copy_targetContext; + +HiveSqlParser.prototype.copy_target = function() { + + var localctx = new Copy_targetContext(this, this._ctx, this.state); + this.enterRule(localctx, 224, HiveSqlParser.RULE_copy_target); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1946; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,218,this._ctx); + switch(la_) { + case 1: + this.state = 1944; + this.file_name(); + break; + + case 2: + this.state = 1945; + this.expr(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Copy_optionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_copy_option; + return this; +} + +Copy_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Copy_optionContext.prototype.constructor = Copy_optionContext; + +Copy_optionContext.prototype.T_AT = function() { + return this.getToken(HiveSqlParser.T_AT, 0); +}; + +Copy_optionContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Copy_optionContext.prototype.T_BATCHSIZE = function() { + return this.getToken(HiveSqlParser.T_BATCHSIZE, 0); +}; + +Copy_optionContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Copy_optionContext.prototype.T_DELIMITER = function() { + return this.getToken(HiveSqlParser.T_DELIMITER, 0); +}; + +Copy_optionContext.prototype.T_SQLINSERT = function() { + return this.getToken(HiveSqlParser.T_SQLINSERT, 0); +}; + +Copy_optionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCopy_option(this); + } +}; + +Copy_optionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCopy_option(this); + } +}; + +Copy_optionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCopy_option(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Copy_optionContext = Copy_optionContext; + +HiveSqlParser.prototype.copy_option = function() { + + var localctx = new Copy_optionContext(this, this._ctx, this.state); + this.enterRule(localctx, 226, HiveSqlParser.RULE_copy_option); + try { + this.state = 1956; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_AT: + this.enterOuterAlt(localctx, 1); + this.state = 1948; + this.match(HiveSqlParser.T_AT); + this.state = 1949; + this.ident(); + break; + case HiveSqlParser.T_BATCHSIZE: + this.enterOuterAlt(localctx, 2); + this.state = 1950; + this.match(HiveSqlParser.T_BATCHSIZE); + this.state = 1951; + this.expr(0); + break; + case HiveSqlParser.T_DELIMITER: + this.enterOuterAlt(localctx, 3); + this.state = 1952; + this.match(HiveSqlParser.T_DELIMITER); + this.state = 1953; + this.expr(0); + break; + case HiveSqlParser.T_SQLINSERT: + this.enterOuterAlt(localctx, 4); + this.state = 1954; + this.match(HiveSqlParser.T_SQLINSERT); + this.state = 1955; + this.ident(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Copy_file_optionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_copy_file_option; + return this; +} + +Copy_file_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Copy_file_optionContext.prototype.constructor = Copy_file_optionContext; + +Copy_file_optionContext.prototype.T_DELETE = function() { + return this.getToken(HiveSqlParser.T_DELETE, 0); +}; + +Copy_file_optionContext.prototype.T_IGNORE = function() { + return this.getToken(HiveSqlParser.T_IGNORE, 0); +}; + +Copy_file_optionContext.prototype.T_OVERWRITE = function() { + return this.getToken(HiveSqlParser.T_OVERWRITE, 0); +}; + +Copy_file_optionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCopy_file_option(this); + } +}; + +Copy_file_optionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCopy_file_option(this); + } +}; + +Copy_file_optionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCopy_file_option(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Copy_file_optionContext = Copy_file_optionContext; + +HiveSqlParser.prototype.copy_file_option = function() { + + var localctx = new Copy_file_optionContext(this, this._ctx, this.state); + this.enterRule(localctx, 228, HiveSqlParser.RULE_copy_file_option); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1958; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_DELETE || _la===HiveSqlParser.T_OVERWRITE || _la===HiveSqlParser.T_IGNORE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Commit_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_commit_stmt; + return this; +} + +Commit_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Commit_stmtContext.prototype.constructor = Commit_stmtContext; + +Commit_stmtContext.prototype.T_COMMIT = function() { + return this.getToken(HiveSqlParser.T_COMMIT, 0); +}; + +Commit_stmtContext.prototype.T_WORK = function() { + return this.getToken(HiveSqlParser.T_WORK, 0); +}; + +Commit_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCommit_stmt(this); + } +}; + +Commit_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCommit_stmt(this); + } +}; + +Commit_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCommit_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Commit_stmtContext = Commit_stmtContext; + +HiveSqlParser.prototype.commit_stmt = function() { + + var localctx = new Commit_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 230, HiveSqlParser.RULE_commit_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1960; + this.match(HiveSqlParser.T_COMMIT); + this.state = 1962; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,220,this._ctx); + if(la_===1) { + this.state = 1961; + this.match(HiveSqlParser.T_WORK); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_index_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_index_stmt; + return this; +} + +Create_index_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_index_stmtContext.prototype.constructor = Create_index_stmtContext; + +Create_index_stmtContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Create_index_stmtContext.prototype.T_INDEX = function() { + return this.getToken(HiveSqlParser.T_INDEX, 0); +}; + +Create_index_stmtContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_index_stmtContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Create_index_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Create_index_stmtContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Create_index_stmtContext.prototype.create_index_col = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_index_colContext); + } else { + return this.getTypedRuleContext(Create_index_colContext,i); + } +}; + +Create_index_stmtContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Create_index_stmtContext.prototype.T_UNIQUE = function() { + return this.getToken(HiveSqlParser.T_UNIQUE, 0); +}; + +Create_index_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Create_index_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_index_stmt(this); + } +}; + +Create_index_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_index_stmt(this); + } +}; + +Create_index_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_index_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_index_stmtContext = Create_index_stmtContext; + +HiveSqlParser.prototype.create_index_stmt = function() { + + var localctx = new Create_index_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 232, HiveSqlParser.RULE_create_index_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1964; + this.match(HiveSqlParser.T_CREATE); + this.state = 1966; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_UNIQUE) { + this.state = 1965; + this.match(HiveSqlParser.T_UNIQUE); + } + + this.state = 1968; + this.match(HiveSqlParser.T_INDEX); + this.state = 1969; + this.ident(); + this.state = 1970; + this.match(HiveSqlParser.T_ON); + this.state = 1971; + this.table_name(); + this.state = 1972; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1973; + this.create_index_col(); + this.state = 1978; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1974; + this.match(HiveSqlParser.T_COMMA); + this.state = 1975; + this.create_index_col(); + this.state = 1980; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1981; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_index_colContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_create_index_col; + return this; +} + +Create_index_colContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_index_colContext.prototype.constructor = Create_index_colContext; + +Create_index_colContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Create_index_colContext.prototype.T_ASC = function() { + return this.getToken(HiveSqlParser.T_ASC, 0); +}; + +Create_index_colContext.prototype.T_DESC = function() { + return this.getToken(HiveSqlParser.T_DESC, 0); +}; + +Create_index_colContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCreate_index_col(this); + } +}; + +Create_index_colContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCreate_index_col(this); + } +}; + +Create_index_colContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCreate_index_col(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Create_index_colContext = Create_index_colContext; + +HiveSqlParser.prototype.create_index_col = function() { + + var localctx = new Create_index_colContext(this, this._ctx, this.state); + this.enterRule(localctx, 234, HiveSqlParser.RULE_create_index_col); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1983; + this.ident(); + this.state = 1985; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC) { + this.state = 1984; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_storage_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_index_storage_clause; + return this; +} + +Index_storage_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_storage_clauseContext.prototype.constructor = Index_storage_clauseContext; + +Index_storage_clauseContext.prototype.index_mssql_storage_clause = function() { + return this.getTypedRuleContext(Index_mssql_storage_clauseContext,0); +}; + +Index_storage_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterIndex_storage_clause(this); + } +}; + +Index_storage_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitIndex_storage_clause(this); + } +}; + +Index_storage_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitIndex_storage_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Index_storage_clauseContext = Index_storage_clauseContext; + +HiveSqlParser.prototype.index_storage_clause = function() { + + var localctx = new Index_storage_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 236, HiveSqlParser.RULE_index_storage_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1987; + this.index_mssql_storage_clause(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_mssql_storage_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_index_mssql_storage_clause; + return this; +} + +Index_mssql_storage_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_mssql_storage_clauseContext.prototype.constructor = Index_mssql_storage_clauseContext; + +Index_mssql_storage_clauseContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Index_mssql_storage_clauseContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Index_mssql_storage_clauseContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Index_mssql_storage_clauseContext.prototype.T_EQUAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_EQUAL); + } else { + return this.getToken(HiveSqlParser.T_EQUAL, i); + } +}; + + +Index_mssql_storage_clauseContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Index_mssql_storage_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Index_mssql_storage_clauseContext.prototype.create_table_options_mssql_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Create_table_options_mssql_itemContext); + } else { + return this.getTypedRuleContext(Create_table_options_mssql_itemContext,i); + } +}; + +Index_mssql_storage_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterIndex_mssql_storage_clause(this); + } +}; + +Index_mssql_storage_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitIndex_mssql_storage_clause(this); + } +}; + +Index_mssql_storage_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitIndex_mssql_storage_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Index_mssql_storage_clauseContext = Index_mssql_storage_clauseContext; + +HiveSqlParser.prototype.index_mssql_storage_clause = function() { + + var localctx = new Index_mssql_storage_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 238, HiveSqlParser.RULE_index_mssql_storage_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1989; + this.match(HiveSqlParser.T_WITH); + this.state = 1990; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 1991; + this.ident(); + this.state = 1992; + this.match(HiveSqlParser.T_EQUAL); + this.state = 1993; + this.ident(); + this.state = 2001; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 1994; + this.match(HiveSqlParser.T_COMMA); + this.state = 1995; + this.ident(); + this.state = 1996; + this.match(HiveSqlParser.T_EQUAL); + this.state = 1997; + this.ident(); + this.state = 2003; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2004; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2008; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,225,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2005; + this.create_table_options_mssql_item(); + } + this.state = 2010; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,225,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Print_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_print_stmt; + return this; +} + +Print_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Print_stmtContext.prototype.constructor = Print_stmtContext; + +Print_stmtContext.prototype.T_PRINT = function() { + return this.getToken(HiveSqlParser.T_PRINT, 0); +}; + +Print_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Print_stmtContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Print_stmtContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Print_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterPrint_stmt(this); + } +}; + +Print_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitPrint_stmt(this); + } +}; + +Print_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitPrint_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Print_stmtContext = Print_stmtContext; + +HiveSqlParser.prototype.print_stmt = function() { + + var localctx = new Print_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 240, HiveSqlParser.RULE_print_stmt); + try { + this.state = 2018; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,226,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2011; + this.match(HiveSqlParser.T_PRINT); + this.state = 2012; + this.expr(0); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2013; + this.match(HiveSqlParser.T_PRINT); + this.state = 2014; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2015; + this.expr(0); + this.state = 2016; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Quit_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_quit_stmt; + return this; +} + +Quit_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Quit_stmtContext.prototype.constructor = Quit_stmtContext; + +Quit_stmtContext.prototype.T_QUIT = function() { + return this.getToken(HiveSqlParser.T_QUIT, 0); +}; + +Quit_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Quit_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterQuit_stmt(this); + } +}; + +Quit_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitQuit_stmt(this); + } +}; + +Quit_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitQuit_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Quit_stmtContext = Quit_stmtContext; + +HiveSqlParser.prototype.quit_stmt = function() { + + var localctx = new Quit_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 242, HiveSqlParser.RULE_quit_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2021; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T__4) { + this.state = 2020; + this.match(HiveSqlParser.T__4); + } + + this.state = 2023; + this.match(HiveSqlParser.T_QUIT); + this.state = 2025; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,228,this._ctx); + if(la_===1) { + this.state = 2024; + this.expr(0); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Raise_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_raise_stmt; + return this; +} + +Raise_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Raise_stmtContext.prototype.constructor = Raise_stmtContext; + +Raise_stmtContext.prototype.T_RAISE = function() { + return this.getToken(HiveSqlParser.T_RAISE, 0); +}; + +Raise_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterRaise_stmt(this); + } +}; + +Raise_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitRaise_stmt(this); + } +}; + +Raise_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitRaise_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Raise_stmtContext = Raise_stmtContext; + +HiveSqlParser.prototype.raise_stmt = function() { + + var localctx = new Raise_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 244, HiveSqlParser.RULE_raise_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2027; + this.match(HiveSqlParser.T_RAISE); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Resignal_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_resignal_stmt; + return this; +} + +Resignal_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Resignal_stmtContext.prototype.constructor = Resignal_stmtContext; + +Resignal_stmtContext.prototype.T_RESIGNAL = function() { + return this.getToken(HiveSqlParser.T_RESIGNAL, 0); +}; + +Resignal_stmtContext.prototype.T_SQLSTATE = function() { + return this.getToken(HiveSqlParser.T_SQLSTATE, 0); +}; + +Resignal_stmtContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Resignal_stmtContext.prototype.T_VALUE = function() { + return this.getToken(HiveSqlParser.T_VALUE, 0); +}; + +Resignal_stmtContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Resignal_stmtContext.prototype.T_MESSAGE_TEXT = function() { + return this.getToken(HiveSqlParser.T_MESSAGE_TEXT, 0); +}; + +Resignal_stmtContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Resignal_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterResignal_stmt(this); + } +}; + +Resignal_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitResignal_stmt(this); + } +}; + +Resignal_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitResignal_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Resignal_stmtContext = Resignal_stmtContext; + +HiveSqlParser.prototype.resignal_stmt = function() { + + var localctx = new Resignal_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 246, HiveSqlParser.RULE_resignal_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2029; + this.match(HiveSqlParser.T_RESIGNAL); + this.state = 2041; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,231,this._ctx); + if(la_===1) { + this.state = 2030; + this.match(HiveSqlParser.T_SQLSTATE); + this.state = 2032; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,229,this._ctx); + if(la_===1) { + this.state = 2031; + this.match(HiveSqlParser.T_VALUE); + + } + this.state = 2034; + this.expr(0); + this.state = 2039; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,230,this._ctx); + if(la_===1) { + this.state = 2035; + this.match(HiveSqlParser.T_SET); + this.state = 2036; + this.match(HiveSqlParser.T_MESSAGE_TEXT); + this.state = 2037; + this.match(HiveSqlParser.T_EQUAL); + this.state = 2038; + this.expr(0); + + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Return_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_return_stmt; + return this; +} + +Return_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Return_stmtContext.prototype.constructor = Return_stmtContext; + +Return_stmtContext.prototype.T_RETURN = function() { + return this.getToken(HiveSqlParser.T_RETURN, 0); +}; + +Return_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Return_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterReturn_stmt(this); + } +}; + +Return_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitReturn_stmt(this); + } +}; + +Return_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitReturn_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Return_stmtContext = Return_stmtContext; + +HiveSqlParser.prototype.return_stmt = function() { + + var localctx = new Return_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 248, HiveSqlParser.RULE_return_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2043; + this.match(HiveSqlParser.T_RETURN); + this.state = 2045; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,232,this._ctx); + if(la_===1) { + this.state = 2044; + this.expr(0); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Rollback_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_rollback_stmt; + return this; +} + +Rollback_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Rollback_stmtContext.prototype.constructor = Rollback_stmtContext; + +Rollback_stmtContext.prototype.T_ROLLBACK = function() { + return this.getToken(HiveSqlParser.T_ROLLBACK, 0); +}; + +Rollback_stmtContext.prototype.T_WORK = function() { + return this.getToken(HiveSqlParser.T_WORK, 0); +}; + +Rollback_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterRollback_stmt(this); + } +}; + +Rollback_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitRollback_stmt(this); + } +}; + +Rollback_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitRollback_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Rollback_stmtContext = Rollback_stmtContext; + +HiveSqlParser.prototype.rollback_stmt = function() { + + var localctx = new Rollback_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 250, HiveSqlParser.RULE_rollback_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2047; + this.match(HiveSqlParser.T_ROLLBACK); + this.state = 2049; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,233,this._ctx); + if(la_===1) { + this.state = 2048; + this.match(HiveSqlParser.T_WORK); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Set_session_optionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_set_session_option; + return this; +} + +Set_session_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Set_session_optionContext.prototype.constructor = Set_session_optionContext; + +Set_session_optionContext.prototype.set_current_schema_option = function() { + return this.getTypedRuleContext(Set_current_schema_optionContext,0); +}; + +Set_session_optionContext.prototype.set_mssql_session_option = function() { + return this.getTypedRuleContext(Set_mssql_session_optionContext,0); +}; + +Set_session_optionContext.prototype.set_teradata_session_option = function() { + return this.getTypedRuleContext(Set_teradata_session_optionContext,0); +}; + +Set_session_optionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSet_session_option(this); + } +}; + +Set_session_optionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSet_session_option(this); + } +}; + +Set_session_optionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSet_session_option(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Set_session_optionContext = Set_session_optionContext; + +HiveSqlParser.prototype.set_session_option = function() { + + var localctx = new Set_session_optionContext(this, this._ctx, this.state); + this.enterRule(localctx, 252, HiveSqlParser.RULE_set_session_option); + try { + this.state = 2054; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + this.enterOuterAlt(localctx, 1); + this.state = 2051; + this.set_current_schema_option(); + break; + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + this.enterOuterAlt(localctx, 2); + this.state = 2052; + this.set_mssql_session_option(); + break; + case HiveSqlParser.T_QUERY_BAND: + this.enterOuterAlt(localctx, 3); + this.state = 2053; + this.set_teradata_session_option(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Set_current_schema_optionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_set_current_schema_option; + return this; +} + +Set_current_schema_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Set_current_schema_optionContext.prototype.constructor = Set_current_schema_optionContext; + +Set_current_schema_optionContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Set_current_schema_optionContext.prototype.T_CURRENT_SCHEMA = function() { + return this.getToken(HiveSqlParser.T_CURRENT_SCHEMA, 0); +}; + +Set_current_schema_optionContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Set_current_schema_optionContext.prototype.T_SCHEMA = function() { + return this.getToken(HiveSqlParser.T_SCHEMA, 0); +}; + +Set_current_schema_optionContext.prototype.T_CURRENT = function() { + return this.getToken(HiveSqlParser.T_CURRENT, 0); +}; + +Set_current_schema_optionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSet_current_schema_option(this); + } +}; + +Set_current_schema_optionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSet_current_schema_option(this); + } +}; + +Set_current_schema_optionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSet_current_schema_option(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Set_current_schema_optionContext = Set_current_schema_optionContext; + +HiveSqlParser.prototype.set_current_schema_option = function() { + + var localctx = new Set_current_schema_optionContext(this, this._ctx, this.state); + this.enterRule(localctx, 254, HiveSqlParser.RULE_set_current_schema_option); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2061; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_CURRENT: + this.state = 2057; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_CURRENT) { + this.state = 2056; + this.match(HiveSqlParser.T_CURRENT); + } + + this.state = 2059; + this.match(HiveSqlParser.T_SCHEMA); + break; + case HiveSqlParser.T_CURRENT_SCHEMA: + this.state = 2060; + this.match(HiveSqlParser.T_CURRENT_SCHEMA); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2064; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_EQUAL) { + this.state = 2063; + this.match(HiveSqlParser.T_EQUAL); + } + + this.state = 2066; + this.expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Set_mssql_session_optionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_set_mssql_session_option; + return this; +} + +Set_mssql_session_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Set_mssql_session_optionContext.prototype.constructor = Set_mssql_session_optionContext; + +Set_mssql_session_optionContext.prototype.T_ANSI_NULLS = function() { + return this.getToken(HiveSqlParser.T_ANSI_NULLS, 0); +}; + +Set_mssql_session_optionContext.prototype.T_ANSI_PADDING = function() { + return this.getToken(HiveSqlParser.T_ANSI_PADDING, 0); +}; + +Set_mssql_session_optionContext.prototype.T_NOCOUNT = function() { + return this.getToken(HiveSqlParser.T_NOCOUNT, 0); +}; + +Set_mssql_session_optionContext.prototype.T_QUOTED_IDENTIFIER = function() { + return this.getToken(HiveSqlParser.T_QUOTED_IDENTIFIER, 0); +}; + +Set_mssql_session_optionContext.prototype.T_XACT_ABORT = function() { + return this.getToken(HiveSqlParser.T_XACT_ABORT, 0); +}; + +Set_mssql_session_optionContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Set_mssql_session_optionContext.prototype.T_OFF = function() { + return this.getToken(HiveSqlParser.T_OFF, 0); +}; + +Set_mssql_session_optionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSet_mssql_session_option(this); + } +}; + +Set_mssql_session_optionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSet_mssql_session_option(this); + } +}; + +Set_mssql_session_optionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSet_mssql_session_option(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Set_mssql_session_optionContext = Set_mssql_session_optionContext; + +HiveSqlParser.prototype.set_mssql_session_option = function() { + + var localctx = new Set_mssql_session_optionContext(this, this._ctx, this.state); + this.enterRule(localctx, 256, HiveSqlParser.RULE_set_mssql_session_option); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2068; + _la = this._input.LA(1); + if(!(((((_la - 247)) & ~0x1f) == 0 && ((1 << (_la - 247)) & ((1 << (HiveSqlParser.T_ANSI_NULLS - 247)) | (1 << (HiveSqlParser.T_ANSI_PADDING - 247)) | (1 << (HiveSqlParser.T_NOCOUNT - 247)) | (1 << (HiveSqlParser.T_QUOTED_IDENTIFIER - 247)) | (1 << (HiveSqlParser.T_XACT_ABORT - 247)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2069; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ON || _la===HiveSqlParser.T_OFF)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Set_teradata_session_optionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_set_teradata_session_option; + return this; +} + +Set_teradata_session_optionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Set_teradata_session_optionContext.prototype.constructor = Set_teradata_session_optionContext; + +Set_teradata_session_optionContext.prototype.T_QUERY_BAND = function() { + return this.getToken(HiveSqlParser.T_QUERY_BAND, 0); +}; + +Set_teradata_session_optionContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Set_teradata_session_optionContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Set_teradata_session_optionContext.prototype.T_TRANSACTION = function() { + return this.getToken(HiveSqlParser.T_TRANSACTION, 0); +}; + +Set_teradata_session_optionContext.prototype.T_SESSION = function() { + return this.getToken(HiveSqlParser.T_SESSION, 0); +}; + +Set_teradata_session_optionContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Set_teradata_session_optionContext.prototype.T_NONE = function() { + return this.getToken(HiveSqlParser.T_NONE, 0); +}; + +Set_teradata_session_optionContext.prototype.T_UPDATE = function() { + return this.getToken(HiveSqlParser.T_UPDATE, 0); +}; + +Set_teradata_session_optionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSet_teradata_session_option(this); + } +}; + +Set_teradata_session_optionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSet_teradata_session_option(this); + } +}; + +Set_teradata_session_optionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSet_teradata_session_option(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Set_teradata_session_optionContext = Set_teradata_session_optionContext; + +HiveSqlParser.prototype.set_teradata_session_option = function() { + + var localctx = new Set_teradata_session_optionContext(this, this._ctx, this.state); + this.enterRule(localctx, 258, HiveSqlParser.RULE_set_teradata_session_option); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2071; + this.match(HiveSqlParser.T_QUERY_BAND); + this.state = 2072; + this.match(HiveSqlParser.T_EQUAL); + this.state = 2075; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,238,this._ctx); + switch(la_) { + case 1: + this.state = 2073; + this.expr(0); + break; + + case 2: + this.state = 2074; + this.match(HiveSqlParser.T_NONE); + break; + + } + this.state = 2078; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_UPDATE) { + this.state = 2077; + this.match(HiveSqlParser.T_UPDATE); + } + + this.state = 2080; + this.match(HiveSqlParser.T_FOR); + this.state = 2081; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_TRANSACTION || _la===HiveSqlParser.T_SESSION)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Signal_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_signal_stmt; + return this; +} + +Signal_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Signal_stmtContext.prototype.constructor = Signal_stmtContext; + +Signal_stmtContext.prototype.T_SIGNAL = function() { + return this.getToken(HiveSqlParser.T_SIGNAL, 0); +}; + +Signal_stmtContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Signal_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSignal_stmt(this); + } +}; + +Signal_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSignal_stmt(this); + } +}; + +Signal_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSignal_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Signal_stmtContext = Signal_stmtContext; + +HiveSqlParser.prototype.signal_stmt = function() { + + var localctx = new Signal_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 260, HiveSqlParser.RULE_signal_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2083; + this.match(HiveSqlParser.T_SIGNAL); + this.state = 2084; + this.ident(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Summary_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_summary_stmt; + return this; +} + +Summary_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Summary_stmtContext.prototype.constructor = Summary_stmtContext; + +Summary_stmtContext.prototype.T_SUMMARY = function() { + return this.getToken(HiveSqlParser.T_SUMMARY, 0); +}; + +Summary_stmtContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Summary_stmtContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Summary_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Summary_stmtContext.prototype.T_TOP = function() { + return this.getToken(HiveSqlParser.T_TOP, 0); +}; + +Summary_stmtContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Summary_stmtContext.prototype.where_clause = function() { + return this.getTypedRuleContext(Where_clauseContext,0); +}; + +Summary_stmtContext.prototype.T_LIMIT = function() { + return this.getToken(HiveSqlParser.T_LIMIT, 0); +}; + +Summary_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSummary_stmt(this); + } +}; + +Summary_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSummary_stmt(this); + } +}; + +Summary_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSummary_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Summary_stmtContext = Summary_stmtContext; + +HiveSqlParser.prototype.summary_stmt = function() { + + var localctx = new Summary_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 262, HiveSqlParser.RULE_summary_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2086; + this.match(HiveSqlParser.T_SUMMARY); + this.state = 2089; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_TOP) { + this.state = 2087; + this.match(HiveSqlParser.T_TOP); + this.state = 2088; + this.expr(0); + } + + this.state = 2091; + this.match(HiveSqlParser.T_FOR); + this.state = 2101; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,243,this._ctx); + switch(la_) { + case 1: + this.state = 2092; + this.select_stmt(); + break; + + case 2: + this.state = 2093; + this.table_name(); + this.state = 2095; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,241,this._ctx); + if(la_===1) { + this.state = 2094; + this.where_clause(); + + } + this.state = 2099; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,242,this._ctx); + if(la_===1) { + this.state = 2097; + this.match(HiveSqlParser.T_LIMIT); + this.state = 2098; + this.expr(0); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Truncate_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_truncate_stmt; + return this; +} + +Truncate_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Truncate_stmtContext.prototype.constructor = Truncate_stmtContext; + +Truncate_stmtContext.prototype.T_TRUNCATE = function() { + return this.getToken(HiveSqlParser.T_TRUNCATE, 0); +}; + +Truncate_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Truncate_stmtContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Truncate_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterTruncate_stmt(this); + } +}; + +Truncate_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitTruncate_stmt(this); + } +}; + +Truncate_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitTruncate_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Truncate_stmtContext = Truncate_stmtContext; + +HiveSqlParser.prototype.truncate_stmt = function() { + + var localctx = new Truncate_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 264, HiveSqlParser.RULE_truncate_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2103; + this.match(HiveSqlParser.T_TRUNCATE); + this.state = 2105; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,244,this._ctx); + if(la_===1) { + this.state = 2104; + this.match(HiveSqlParser.T_TABLE); + + } + this.state = 2107; + this.table_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Use_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_use_stmt; + return this; +} + +Use_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Use_stmtContext.prototype.constructor = Use_stmtContext; + +Use_stmtContext.prototype.T_USE = function() { + return this.getToken(HiveSqlParser.T_USE, 0); +}; + +Use_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Use_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterUse_stmt(this); + } +}; + +Use_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitUse_stmt(this); + } +}; + +Use_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitUse_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Use_stmtContext = Use_stmtContext; + +HiveSqlParser.prototype.use_stmt = function() { + + var localctx = new Use_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 266, HiveSqlParser.RULE_use_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2109; + this.match(HiveSqlParser.T_USE); + this.state = 2110; + this.expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Values_into_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_values_into_stmt; + return this; +} + +Values_into_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Values_into_stmtContext.prototype.constructor = Values_into_stmtContext; + +Values_into_stmtContext.prototype.T_VALUES = function() { + return this.getToken(HiveSqlParser.T_VALUES, 0); +}; + +Values_into_stmtContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Values_into_stmtContext.prototype.T_INTO = function() { + return this.getToken(HiveSqlParser.T_INTO, 0); +}; + +Values_into_stmtContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Values_into_stmtContext.prototype.T_OPEN_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_OPEN_P); + } else { + return this.getToken(HiveSqlParser.T_OPEN_P, i); + } +}; + + +Values_into_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Values_into_stmtContext.prototype.T_CLOSE_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_CLOSE_P); + } else { + return this.getToken(HiveSqlParser.T_CLOSE_P, i); + } +}; + + +Values_into_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterValues_into_stmt(this); + } +}; + +Values_into_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitValues_into_stmt(this); + } +}; + +Values_into_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitValues_into_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Values_into_stmtContext = Values_into_stmtContext; + +HiveSqlParser.prototype.values_into_stmt = function() { + + var localctx = new Values_into_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 268, HiveSqlParser.RULE_values_into_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2112; + this.match(HiveSqlParser.T_VALUES); + this.state = 2114; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,245,this._ctx); + if(la_===1) { + this.state = 2113; + this.match(HiveSqlParser.T_OPEN_P); + + } + this.state = 2116; + this.expr(0); + this.state = 2121; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 2117; + this.match(HiveSqlParser.T_COMMA); + this.state = 2118; + this.expr(0); + this.state = 2123; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2125; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_CLOSE_P) { + this.state = 2124; + this.match(HiveSqlParser.T_CLOSE_P); + } + + this.state = 2127; + this.match(HiveSqlParser.T_INTO); + this.state = 2129; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OPEN_P) { + this.state = 2128; + this.match(HiveSqlParser.T_OPEN_P); + } + + this.state = 2131; + this.ident(); + this.state = 2136; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,249,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2132; + this.match(HiveSqlParser.T_COMMA); + this.state = 2133; + this.ident(); + } + this.state = 2138; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,249,this._ctx); + } + + this.state = 2140; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,250,this._ctx); + if(la_===1) { + this.state = 2139; + this.match(HiveSqlParser.T_CLOSE_P); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function While_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_while_stmt; + return this; +} + +While_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +While_stmtContext.prototype.constructor = While_stmtContext; + +While_stmtContext.prototype.T_WHILE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_WHILE); + } else { + return this.getToken(HiveSqlParser.T_WHILE, i); + } +}; + + +While_stmtContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +While_stmtContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +While_stmtContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +While_stmtContext.prototype.T_DO = function() { + return this.getToken(HiveSqlParser.T_DO, 0); +}; + +While_stmtContext.prototype.T_LOOP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_LOOP); + } else { + return this.getToken(HiveSqlParser.T_LOOP, i); + } +}; + + +While_stmtContext.prototype.T_THEN = function() { + return this.getToken(HiveSqlParser.T_THEN, 0); +}; + +While_stmtContext.prototype.T_BEGIN = function() { + return this.getToken(HiveSqlParser.T_BEGIN, 0); +}; + +While_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterWhile_stmt(this); + } +}; + +While_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitWhile_stmt(this); + } +}; + +While_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitWhile_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.While_stmtContext = While_stmtContext; + +HiveSqlParser.prototype.while_stmt = function() { + + var localctx = new While_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 270, HiveSqlParser.RULE_while_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2142; + this.match(HiveSqlParser.T_WHILE); + this.state = 2143; + this.bool_expr(0); + this.state = 2144; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_BEGIN || _la===HiveSqlParser.T_THEN || _la===HiveSqlParser.T_DO || _la===HiveSqlParser.T_LOOP)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2145; + this.block(); + this.state = 2146; + this.match(HiveSqlParser.T_END); + this.state = 2148; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,251,this._ctx); + if(la_===1) { + this.state = 2147; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_WHILE || _la===HiveSqlParser.T_LOOP)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function For_cursor_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_for_cursor_stmt; + return this; +} + +For_cursor_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +For_cursor_stmtContext.prototype.constructor = For_cursor_stmtContext; + +For_cursor_stmtContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +For_cursor_stmtContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +For_cursor_stmtContext.prototype.T_IN = function() { + return this.getToken(HiveSqlParser.T_IN, 0); +}; + +For_cursor_stmtContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +For_cursor_stmtContext.prototype.T_LOOP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_LOOP); + } else { + return this.getToken(HiveSqlParser.T_LOOP, i); + } +}; + + +For_cursor_stmtContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +For_cursor_stmtContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +For_cursor_stmtContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +For_cursor_stmtContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +For_cursor_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFor_cursor_stmt(this); + } +}; + +For_cursor_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFor_cursor_stmt(this); + } +}; + +For_cursor_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFor_cursor_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.For_cursor_stmtContext = For_cursor_stmtContext; + +HiveSqlParser.prototype.for_cursor_stmt = function() { + + var localctx = new For_cursor_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 272, HiveSqlParser.RULE_for_cursor_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2150; + this.match(HiveSqlParser.T_FOR); + this.state = 2151; + this.match(HiveSqlParser.L_ID); + this.state = 2152; + this.match(HiveSqlParser.T_IN); + this.state = 2154; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,252,this._ctx); + if(la_===1) { + this.state = 2153; + this.match(HiveSqlParser.T_OPEN_P); + + } + this.state = 2156; + this.select_stmt(); + this.state = 2158; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_CLOSE_P) { + this.state = 2157; + this.match(HiveSqlParser.T_CLOSE_P); + } + + this.state = 2160; + this.match(HiveSqlParser.T_LOOP); + this.state = 2161; + this.block(); + this.state = 2162; + this.match(HiveSqlParser.T_END); + this.state = 2163; + this.match(HiveSqlParser.T_LOOP); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function For_range_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_for_range_stmt; + return this; +} + +For_range_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +For_range_stmtContext.prototype.constructor = For_range_stmtContext; + +For_range_stmtContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +For_range_stmtContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +For_range_stmtContext.prototype.T_IN = function() { + return this.getToken(HiveSqlParser.T_IN, 0); +}; + +For_range_stmtContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +For_range_stmtContext.prototype.T_DOT2 = function() { + return this.getToken(HiveSqlParser.T_DOT2, 0); +}; + +For_range_stmtContext.prototype.T_LOOP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_LOOP); + } else { + return this.getToken(HiveSqlParser.T_LOOP, i); + } +}; + + +For_range_stmtContext.prototype.block = function() { + return this.getTypedRuleContext(BlockContext,0); +}; + +For_range_stmtContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +For_range_stmtContext.prototype.T_REVERSE = function() { + return this.getToken(HiveSqlParser.T_REVERSE, 0); +}; + +For_range_stmtContext.prototype.T_BY = function() { + return this.getToken(HiveSqlParser.T_BY, 0); +}; + +For_range_stmtContext.prototype.T_STEP = function() { + return this.getToken(HiveSqlParser.T_STEP, 0); +}; + +For_range_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFor_range_stmt(this); + } +}; + +For_range_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFor_range_stmt(this); + } +}; + +For_range_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFor_range_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.For_range_stmtContext = For_range_stmtContext; + +HiveSqlParser.prototype.for_range_stmt = function() { + + var localctx = new For_range_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 274, HiveSqlParser.RULE_for_range_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2165; + this.match(HiveSqlParser.T_FOR); + this.state = 2166; + this.match(HiveSqlParser.L_ID); + this.state = 2167; + this.match(HiveSqlParser.T_IN); + this.state = 2169; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,254,this._ctx); + if(la_===1) { + this.state = 2168; + this.match(HiveSqlParser.T_REVERSE); + + } + this.state = 2171; + this.expr(0); + this.state = 2172; + this.match(HiveSqlParser.T_DOT2); + this.state = 2173; + this.expr(0); + this.state = 2176; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_BY || _la===HiveSqlParser.T_STEP) { + this.state = 2174; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_BY || _la===HiveSqlParser.T_STEP)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2175; + this.expr(0); + } + + this.state = 2178; + this.match(HiveSqlParser.T_LOOP); + this.state = 2179; + this.block(); + this.state = 2180; + this.match(HiveSqlParser.T_END); + this.state = 2181; + this.match(HiveSqlParser.T_LOOP); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function LabelContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_label; + return this; +} + +LabelContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +LabelContext.prototype.constructor = LabelContext; + +LabelContext.prototype.L_LABEL = function() { + return this.getToken(HiveSqlParser.L_LABEL, 0); +}; + +LabelContext.prototype.T_LESS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_LESS); + } else { + return this.getToken(HiveSqlParser.T_LESS, i); + } +}; + + +LabelContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +LabelContext.prototype.T_GREATER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_GREATER); + } else { + return this.getToken(HiveSqlParser.T_GREATER, i); + } +}; + + +LabelContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterLabel(this); + } +}; + +LabelContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitLabel(this); + } +}; + +LabelContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitLabel(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.LabelContext = LabelContext; + +HiveSqlParser.prototype.label = function() { + + var localctx = new LabelContext(this, this._ctx, this.state); + this.enterRule(localctx, 276, HiveSqlParser.RULE_label); + try { + this.state = 2189; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.L_LABEL: + this.enterOuterAlt(localctx, 1); + this.state = 2183; + this.match(HiveSqlParser.L_LABEL); + break; + case HiveSqlParser.T_LESS: + this.enterOuterAlt(localctx, 2); + this.state = 2184; + this.match(HiveSqlParser.T_LESS); + this.state = 2185; + this.match(HiveSqlParser.T_LESS); + this.state = 2186; + this.match(HiveSqlParser.L_ID); + this.state = 2187; + this.match(HiveSqlParser.T_GREATER); + this.state = 2188; + this.match(HiveSqlParser.T_GREATER); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Using_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_using_clause; + return this; +} + +Using_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Using_clauseContext.prototype.constructor = Using_clauseContext; + +Using_clauseContext.prototype.T_USING = function() { + return this.getToken(HiveSqlParser.T_USING, 0); +}; + +Using_clauseContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Using_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Using_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterUsing_clause(this); + } +}; + +Using_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitUsing_clause(this); + } +}; + +Using_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitUsing_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Using_clauseContext = Using_clauseContext; + +HiveSqlParser.prototype.using_clause = function() { + + var localctx = new Using_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 278, HiveSqlParser.RULE_using_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2191; + this.match(HiveSqlParser.T_USING); + this.state = 2192; + this.expr(0); + this.state = 2197; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,257,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2193; + this.match(HiveSqlParser.T_COMMA); + this.state = 2194; + this.expr(0); + } + this.state = 2199; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,257,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_stmt; + return this; +} + +Select_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_stmtContext.prototype.constructor = Select_stmtContext; + +Select_stmtContext.prototype.fullselect_stmt = function() { + return this.getTypedRuleContext(Fullselect_stmtContext,0); +}; + +Select_stmtContext.prototype.cte_select_stmt = function() { + return this.getTypedRuleContext(Cte_select_stmtContext,0); +}; + +Select_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_stmt(this); + } +}; + +Select_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_stmt(this); + } +}; + +Select_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_stmtContext = Select_stmtContext; + +HiveSqlParser.prototype.select_stmt = function() { + + var localctx = new Select_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 280, HiveSqlParser.RULE_select_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2201; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_WITH) { + this.state = 2200; + this.cte_select_stmt(); + } + + this.state = 2203; + this.fullselect_stmt(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cte_select_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_cte_select_stmt; + return this; +} + +Cte_select_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cte_select_stmtContext.prototype.constructor = Cte_select_stmtContext; + +Cte_select_stmtContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Cte_select_stmtContext.prototype.cte_select_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Cte_select_stmt_itemContext); + } else { + return this.getTypedRuleContext(Cte_select_stmt_itemContext,i); + } +}; + +Cte_select_stmtContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Cte_select_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCte_select_stmt(this); + } +}; + +Cte_select_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCte_select_stmt(this); + } +}; + +Cte_select_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCte_select_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Cte_select_stmtContext = Cte_select_stmtContext; + +HiveSqlParser.prototype.cte_select_stmt = function() { + + var localctx = new Cte_select_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 282, HiveSqlParser.RULE_cte_select_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2205; + this.match(HiveSqlParser.T_WITH); + this.state = 2206; + this.cte_select_stmt_item(); + this.state = 2211; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 2207; + this.match(HiveSqlParser.T_COMMA); + this.state = 2208; + this.cte_select_stmt_item(); + this.state = 2213; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cte_select_stmt_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_cte_select_stmt_item; + return this; +} + +Cte_select_stmt_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cte_select_stmt_itemContext.prototype.constructor = Cte_select_stmt_itemContext; + +Cte_select_stmt_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Cte_select_stmt_itemContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Cte_select_stmt_itemContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Cte_select_stmt_itemContext.prototype.fullselect_stmt = function() { + return this.getTypedRuleContext(Fullselect_stmtContext,0); +}; + +Cte_select_stmt_itemContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Cte_select_stmt_itemContext.prototype.cte_select_cols = function() { + return this.getTypedRuleContext(Cte_select_colsContext,0); +}; + +Cte_select_stmt_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCte_select_stmt_item(this); + } +}; + +Cte_select_stmt_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCte_select_stmt_item(this); + } +}; + +Cte_select_stmt_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCte_select_stmt_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Cte_select_stmt_itemContext = Cte_select_stmt_itemContext; + +HiveSqlParser.prototype.cte_select_stmt_item = function() { + + var localctx = new Cte_select_stmt_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 284, HiveSqlParser.RULE_cte_select_stmt_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2214; + this.ident(); + this.state = 2216; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OPEN_P) { + this.state = 2215; + this.cte_select_cols(); + } + + this.state = 2218; + this.match(HiveSqlParser.T_AS); + this.state = 2219; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2220; + this.fullselect_stmt(); + this.state = 2221; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cte_select_colsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_cte_select_cols; + return this; +} + +Cte_select_colsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cte_select_colsContext.prototype.constructor = Cte_select_colsContext; + +Cte_select_colsContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Cte_select_colsContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Cte_select_colsContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Cte_select_colsContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Cte_select_colsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterCte_select_cols(this); + } +}; + +Cte_select_colsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitCte_select_cols(this); + } +}; + +Cte_select_colsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitCte_select_cols(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Cte_select_colsContext = Cte_select_colsContext; + +HiveSqlParser.prototype.cte_select_cols = function() { + + var localctx = new Cte_select_colsContext(this, this._ctx, this.state); + this.enterRule(localctx, 286, HiveSqlParser.RULE_cte_select_cols); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2223; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2224; + this.ident(); + this.state = 2229; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 2225; + this.match(HiveSqlParser.T_COMMA); + this.state = 2226; + this.ident(); + this.state = 2231; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2232; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Fullselect_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_fullselect_stmt; + return this; +} + +Fullselect_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Fullselect_stmtContext.prototype.constructor = Fullselect_stmtContext; + +Fullselect_stmtContext.prototype.fullselect_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Fullselect_stmt_itemContext); + } else { + return this.getTypedRuleContext(Fullselect_stmt_itemContext,i); + } +}; + +Fullselect_stmtContext.prototype.fullselect_set_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Fullselect_set_clauseContext); + } else { + return this.getTypedRuleContext(Fullselect_set_clauseContext,i); + } +}; + +Fullselect_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFullselect_stmt(this); + } +}; + +Fullselect_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFullselect_stmt(this); + } +}; + +Fullselect_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFullselect_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Fullselect_stmtContext = Fullselect_stmtContext; + +HiveSqlParser.prototype.fullselect_stmt = function() { + + var localctx = new Fullselect_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 288, HiveSqlParser.RULE_fullselect_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2234; + this.fullselect_stmt_item(); + this.state = 2240; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,262,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2235; + this.fullselect_set_clause(); + this.state = 2236; + this.fullselect_stmt_item(); + } + this.state = 2242; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,262,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Fullselect_stmt_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_fullselect_stmt_item; + return this; +} + +Fullselect_stmt_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Fullselect_stmt_itemContext.prototype.constructor = Fullselect_stmt_itemContext; + +Fullselect_stmt_itemContext.prototype.subselect_stmt = function() { + return this.getTypedRuleContext(Subselect_stmtContext,0); +}; + +Fullselect_stmt_itemContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Fullselect_stmt_itemContext.prototype.fullselect_stmt = function() { + return this.getTypedRuleContext(Fullselect_stmtContext,0); +}; + +Fullselect_stmt_itemContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Fullselect_stmt_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFullselect_stmt_item(this); + } +}; + +Fullselect_stmt_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFullselect_stmt_item(this); + } +}; + +Fullselect_stmt_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFullselect_stmt_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Fullselect_stmt_itemContext = Fullselect_stmt_itemContext; + +HiveSqlParser.prototype.fullselect_stmt_item = function() { + + var localctx = new Fullselect_stmt_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 290, HiveSqlParser.RULE_fullselect_stmt_item); + try { + this.state = 2248; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + this.enterOuterAlt(localctx, 1); + this.state = 2243; + this.subselect_stmt(); + break; + case HiveSqlParser.T_OPEN_P: + this.enterOuterAlt(localctx, 2); + this.state = 2244; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2245; + this.fullselect_stmt(); + this.state = 2246; + this.match(HiveSqlParser.T_CLOSE_P); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Fullselect_set_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_fullselect_set_clause; + return this; +} + +Fullselect_set_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Fullselect_set_clauseContext.prototype.constructor = Fullselect_set_clauseContext; + +Fullselect_set_clauseContext.prototype.T_UNION = function() { + return this.getToken(HiveSqlParser.T_UNION, 0); +}; + +Fullselect_set_clauseContext.prototype.T_ALL = function() { + return this.getToken(HiveSqlParser.T_ALL, 0); +}; + +Fullselect_set_clauseContext.prototype.T_EXCEPT = function() { + return this.getToken(HiveSqlParser.T_EXCEPT, 0); +}; + +Fullselect_set_clauseContext.prototype.T_INTERSECT = function() { + return this.getToken(HiveSqlParser.T_INTERSECT, 0); +}; + +Fullselect_set_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFullselect_set_clause(this); + } +}; + +Fullselect_set_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFullselect_set_clause(this); + } +}; + +Fullselect_set_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFullselect_set_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Fullselect_set_clauseContext = Fullselect_set_clauseContext; + +HiveSqlParser.prototype.fullselect_set_clause = function() { + + var localctx = new Fullselect_set_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 292, HiveSqlParser.RULE_fullselect_set_clause); + var _la = 0; // Token type + try { + this.state = 2262; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_UNION: + this.enterOuterAlt(localctx, 1); + this.state = 2250; + this.match(HiveSqlParser.T_UNION); + this.state = 2252; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ALL) { + this.state = 2251; + this.match(HiveSqlParser.T_ALL); + } + + break; + case HiveSqlParser.T_EXCEPT: + this.enterOuterAlt(localctx, 2); + this.state = 2254; + this.match(HiveSqlParser.T_EXCEPT); + this.state = 2256; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ALL) { + this.state = 2255; + this.match(HiveSqlParser.T_ALL); + } + + break; + case HiveSqlParser.T_INTERSECT: + this.enterOuterAlt(localctx, 3); + this.state = 2258; + this.match(HiveSqlParser.T_INTERSECT); + this.state = 2260; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ALL) { + this.state = 2259; + this.match(HiveSqlParser.T_ALL); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subselect_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_subselect_stmt; + return this; +} + +Subselect_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subselect_stmtContext.prototype.constructor = Subselect_stmtContext; + +Subselect_stmtContext.prototype.select_list = function() { + return this.getTypedRuleContext(Select_listContext,0); +}; + +Subselect_stmtContext.prototype.T_SELECT = function() { + return this.getToken(HiveSqlParser.T_SELECT, 0); +}; + +Subselect_stmtContext.prototype.T_SEL = function() { + return this.getToken(HiveSqlParser.T_SEL, 0); +}; + +Subselect_stmtContext.prototype.into_clause = function() { + return this.getTypedRuleContext(Into_clauseContext,0); +}; + +Subselect_stmtContext.prototype.from_clause = function() { + return this.getTypedRuleContext(From_clauseContext,0); +}; + +Subselect_stmtContext.prototype.where_clause = function() { + return this.getTypedRuleContext(Where_clauseContext,0); +}; + +Subselect_stmtContext.prototype.group_by_clause = function() { + return this.getTypedRuleContext(Group_by_clauseContext,0); +}; + +Subselect_stmtContext.prototype.having_clause = function() { + return this.getTypedRuleContext(Having_clauseContext,0); +}; + +Subselect_stmtContext.prototype.qualify_clause = function() { + return this.getTypedRuleContext(Qualify_clauseContext,0); +}; + +Subselect_stmtContext.prototype.order_by_clause = function() { + return this.getTypedRuleContext(Order_by_clauseContext,0); +}; + +Subselect_stmtContext.prototype.select_options = function() { + return this.getTypedRuleContext(Select_optionsContext,0); +}; + +Subselect_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSubselect_stmt(this); + } +}; + +Subselect_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSubselect_stmt(this); + } +}; + +Subselect_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSubselect_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Subselect_stmtContext = Subselect_stmtContext; + +HiveSqlParser.prototype.subselect_stmt = function() { + + var localctx = new Subselect_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 294, HiveSqlParser.RULE_subselect_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2264; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_SELECT || _la===HiveSqlParser.T_SEL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2265; + this.select_list(); + this.state = 2267; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,268,this._ctx); + if(la_===1) { + this.state = 2266; + this.into_clause(); + + } + this.state = 2270; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,269,this._ctx); + if(la_===1) { + this.state = 2269; + this.from_clause(); + + } + this.state = 2273; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,270,this._ctx); + if(la_===1) { + this.state = 2272; + this.where_clause(); + + } + this.state = 2276; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,271,this._ctx); + if(la_===1) { + this.state = 2275; + this.group_by_clause(); + + } + this.state = 2280; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,272,this._ctx); + if(la_===1) { + this.state = 2278; + this.having_clause(); + + } else if(la_===2) { + this.state = 2279; + this.qualify_clause(); + + } + this.state = 2283; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,273,this._ctx); + if(la_===1) { + this.state = 2282; + this.order_by_clause(); + + } + this.state = 2286; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,274,this._ctx); + if(la_===1) { + this.state = 2285; + this.select_options(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_listContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_list; + return this; +} + +Select_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_listContext.prototype.constructor = Select_listContext; + +Select_listContext.prototype.select_list_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Select_list_itemContext); + } else { + return this.getTypedRuleContext(Select_list_itemContext,i); + } +}; + +Select_listContext.prototype.select_list_set = function() { + return this.getTypedRuleContext(Select_list_setContext,0); +}; + +Select_listContext.prototype.select_list_limit = function() { + return this.getTypedRuleContext(Select_list_limitContext,0); +}; + +Select_listContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Select_listContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_list(this); + } +}; + +Select_listContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_list(this); + } +}; + +Select_listContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_list(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_listContext = Select_listContext; + +HiveSqlParser.prototype.select_list = function() { + + var localctx = new Select_listContext(this, this._ctx, this.state); + this.enterRule(localctx, 296, HiveSqlParser.RULE_select_list); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2289; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,275,this._ctx); + if(la_===1) { + this.state = 2288; + this.select_list_set(); + + } + this.state = 2292; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,276,this._ctx); + if(la_===1) { + this.state = 2291; + this.select_list_limit(); + + } + this.state = 2294; + this.select_list_item(); + this.state = 2299; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,277,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2295; + this.match(HiveSqlParser.T_COMMA); + this.state = 2296; + this.select_list_item(); + } + this.state = 2301; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,277,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_list_setContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_list_set; + return this; +} + +Select_list_setContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_list_setContext.prototype.constructor = Select_list_setContext; + +Select_list_setContext.prototype.T_ALL = function() { + return this.getToken(HiveSqlParser.T_ALL, 0); +}; + +Select_list_setContext.prototype.T_DISTINCT = function() { + return this.getToken(HiveSqlParser.T_DISTINCT, 0); +}; + +Select_list_setContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_list_set(this); + } +}; + +Select_list_setContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_list_set(this); + } +}; + +Select_list_setContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_list_set(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_list_setContext = Select_list_setContext; + +HiveSqlParser.prototype.select_list_set = function() { + + var localctx = new Select_list_setContext(this, this._ctx, this.state); + this.enterRule(localctx, 298, HiveSqlParser.RULE_select_list_set); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2302; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ALL || _la===HiveSqlParser.T_DISTINCT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_list_limitContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_list_limit; + return this; +} + +Select_list_limitContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_list_limitContext.prototype.constructor = Select_list_limitContext; + +Select_list_limitContext.prototype.T_TOP = function() { + return this.getToken(HiveSqlParser.T_TOP, 0); +}; + +Select_list_limitContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Select_list_limitContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_list_limit(this); + } +}; + +Select_list_limitContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_list_limit(this); + } +}; + +Select_list_limitContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_list_limit(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_list_limitContext = Select_list_limitContext; + +HiveSqlParser.prototype.select_list_limit = function() { + + var localctx = new Select_list_limitContext(this, this._ctx, this.state); + this.enterRule(localctx, 300, HiveSqlParser.RULE_select_list_limit); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2304; + this.match(HiveSqlParser.T_TOP); + this.state = 2305; + this.expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_list_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_list_item; + return this; +} + +Select_list_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_list_itemContext.prototype.constructor = Select_list_itemContext; + +Select_list_itemContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Select_list_itemContext.prototype.select_list_asterisk = function() { + return this.getTypedRuleContext(Select_list_asteriskContext,0); +}; + +Select_list_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Select_list_itemContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Select_list_itemContext.prototype.select_list_alias = function() { + return this.getTypedRuleContext(Select_list_aliasContext,0); +}; + +Select_list_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_list_item(this); + } +}; + +Select_list_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_list_item(this); + } +}; + +Select_list_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_list_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_list_itemContext = Select_list_itemContext; + +HiveSqlParser.prototype.select_list_item = function() { + + var localctx = new Select_list_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 302, HiveSqlParser.RULE_select_list_item); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2317; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,280,this._ctx); + switch(la_) { + case 1: + this.state = 2310; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,278,this._ctx); + if(la_===1) { + this.state = 2307; + this.ident(); + this.state = 2308; + this.match(HiveSqlParser.T_EQUAL); + + } + this.state = 2312; + this.expr(0); + this.state = 2314; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,279,this._ctx); + if(la_===1) { + this.state = 2313; + this.select_list_alias(); + + } + break; + + case 2: + this.state = 2316; + this.select_list_asterisk(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_list_aliasContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_list_alias; + return this; +} + +Select_list_aliasContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_list_aliasContext.prototype.constructor = Select_list_aliasContext; + +Select_list_aliasContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Select_list_aliasContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Select_list_aliasContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Select_list_aliasContext.prototype.T_TITLE = function() { + return this.getToken(HiveSqlParser.T_TITLE, 0); +}; + +Select_list_aliasContext.prototype.L_S_STRING = function() { + return this.getToken(HiveSqlParser.L_S_STRING, 0); +}; + +Select_list_aliasContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Select_list_aliasContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_list_alias(this); + } +}; + +Select_list_aliasContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_list_alias(this); + } +}; + +Select_list_aliasContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_list_alias(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_list_aliasContext = Select_list_aliasContext; + +HiveSqlParser.prototype.select_list_alias = function() { + + var localctx = new Select_list_aliasContext(this, this._ctx, this.state); + this.enterRule(localctx, 304, HiveSqlParser.RULE_select_list_alias); + try { + this.state = 2328; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,282,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2319; + if (!( !this._input.LT(1).getText().equalsIgnoreCase("INTO") && !this._input.LT(1).getText().equalsIgnoreCase("FROM"))) { + throw new antlr4.error.FailedPredicateException(this, "!this._input.LT(1).getText().equalsIgnoreCase(\"INTO\") && !this._input.LT(1).getText().equalsIgnoreCase(\"FROM\")"); + } + this.state = 2321; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,281,this._ctx); + if(la_===1) { + this.state = 2320; + this.match(HiveSqlParser.T_AS); + + } + this.state = 2323; + this.ident(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2324; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2325; + this.match(HiveSqlParser.T_TITLE); + this.state = 2326; + this.match(HiveSqlParser.L_S_STRING); + this.state = 2327; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_list_asteriskContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_list_asterisk; + return this; +} + +Select_list_asteriskContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_list_asteriskContext.prototype.constructor = Select_list_asteriskContext; + +Select_list_asteriskContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +Select_list_asteriskContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_list_asterisk(this); + } +}; + +Select_list_asteriskContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_list_asterisk(this); + } +}; + +Select_list_asteriskContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_list_asterisk(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_list_asteriskContext = Select_list_asteriskContext; + +HiveSqlParser.prototype.select_list_asterisk = function() { + + var localctx = new Select_list_asteriskContext(this, this._ctx, this.state); + this.enterRule(localctx, 306, HiveSqlParser.RULE_select_list_asterisk); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2332; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.L_ID) { + this.state = 2330; + this.match(HiveSqlParser.L_ID); + this.state = 2331; + this.match(HiveSqlParser.T__4); + } + + this.state = 2334; + this.match(HiveSqlParser.T__5); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Into_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_into_clause; + return this; +} + +Into_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Into_clauseContext.prototype.constructor = Into_clauseContext; + +Into_clauseContext.prototype.T_INTO = function() { + return this.getToken(HiveSqlParser.T_INTO, 0); +}; + +Into_clauseContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +Into_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Into_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInto_clause(this); + } +}; + +Into_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInto_clause(this); + } +}; + +Into_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInto_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Into_clauseContext = Into_clauseContext; + +HiveSqlParser.prototype.into_clause = function() { + + var localctx = new Into_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 308, HiveSqlParser.RULE_into_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2336; + this.match(HiveSqlParser.T_INTO); + this.state = 2337; + this.ident(); + this.state = 2342; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,284,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2338; + this.match(HiveSqlParser.T_COMMA); + this.state = 2339; + this.ident(); + } + this.state = 2344; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,284,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_clause; + return this; +} + +From_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_clauseContext.prototype.constructor = From_clauseContext; + +From_clauseContext.prototype.T_FROM = function() { + return this.getToken(HiveSqlParser.T_FROM, 0); +}; + +From_clauseContext.prototype.from_table_clause = function() { + return this.getTypedRuleContext(From_table_clauseContext,0); +}; + +From_clauseContext.prototype.from_join_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(From_join_clauseContext); + } else { + return this.getTypedRuleContext(From_join_clauseContext,i); + } +}; + +From_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_clause(this); + } +}; + +From_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_clause(this); + } +}; + +From_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_clauseContext = From_clauseContext; + +HiveSqlParser.prototype.from_clause = function() { + + var localctx = new From_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 310, HiveSqlParser.RULE_from_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2345; + this.match(HiveSqlParser.T_FROM); + this.state = 2346; + this.from_table_clause(); + this.state = 2350; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,285,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2347; + this.from_join_clause(); + } + this.state = 2352; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,285,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_table_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_table_clause; + return this; +} + +From_table_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_table_clauseContext.prototype.constructor = From_table_clauseContext; + +From_table_clauseContext.prototype.from_table_name_clause = function() { + return this.getTypedRuleContext(From_table_name_clauseContext,0); +}; + +From_table_clauseContext.prototype.from_subselect_clause = function() { + return this.getTypedRuleContext(From_subselect_clauseContext,0); +}; + +From_table_clauseContext.prototype.from_table_values_clause = function() { + return this.getTypedRuleContext(From_table_values_clauseContext,0); +}; + +From_table_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_table_clause(this); + } +}; + +From_table_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_table_clause(this); + } +}; + +From_table_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_table_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_table_clauseContext = From_table_clauseContext; + +HiveSqlParser.prototype.from_table_clause = function() { + + var localctx = new From_table_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 312, HiveSqlParser.RULE_from_table_clause); + try { + this.state = 2356; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,286,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2353; + this.from_table_name_clause(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2354; + this.from_subselect_clause(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2355; + this.from_table_values_clause(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_table_name_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_table_name_clause; + return this; +} + +From_table_name_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_table_name_clauseContext.prototype.constructor = From_table_name_clauseContext; + +From_table_name_clauseContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +From_table_name_clauseContext.prototype.from_alias_clause = function() { + return this.getTypedRuleContext(From_alias_clauseContext,0); +}; + +From_table_name_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_table_name_clause(this); + } +}; + +From_table_name_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_table_name_clause(this); + } +}; + +From_table_name_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_table_name_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_table_name_clauseContext = From_table_name_clauseContext; + +HiveSqlParser.prototype.from_table_name_clause = function() { + + var localctx = new From_table_name_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 314, HiveSqlParser.RULE_from_table_name_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2358; + this.table_name(); + this.state = 2360; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,287,this._ctx); + if(la_===1) { + this.state = 2359; + this.from_alias_clause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_subselect_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_subselect_clause; + return this; +} + +From_subselect_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_subselect_clauseContext.prototype.constructor = From_subselect_clauseContext; + +From_subselect_clauseContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +From_subselect_clauseContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +From_subselect_clauseContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +From_subselect_clauseContext.prototype.from_alias_clause = function() { + return this.getTypedRuleContext(From_alias_clauseContext,0); +}; + +From_subselect_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_subselect_clause(this); + } +}; + +From_subselect_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_subselect_clause(this); + } +}; + +From_subselect_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_subselect_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_subselect_clauseContext = From_subselect_clauseContext; + +HiveSqlParser.prototype.from_subselect_clause = function() { + + var localctx = new From_subselect_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 316, HiveSqlParser.RULE_from_subselect_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2362; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2363; + this.select_stmt(); + this.state = 2364; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2366; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,288,this._ctx); + if(la_===1) { + this.state = 2365; + this.from_alias_clause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_join_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_join_clause; + return this; +} + +From_join_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_join_clauseContext.prototype.constructor = From_join_clauseContext; + +From_join_clauseContext.prototype.T_COMMA = function() { + return this.getToken(HiveSqlParser.T_COMMA, 0); +}; + +From_join_clauseContext.prototype.from_table_clause = function() { + return this.getTypedRuleContext(From_table_clauseContext,0); +}; + +From_join_clauseContext.prototype.from_join_type_clause = function() { + return this.getTypedRuleContext(From_join_type_clauseContext,0); +}; + +From_join_clauseContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +From_join_clauseContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +From_join_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_join_clause(this); + } +}; + +From_join_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_join_clause(this); + } +}; + +From_join_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_join_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_join_clauseContext = From_join_clauseContext; + +HiveSqlParser.prototype.from_join_clause = function() { + + var localctx = new From_join_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 318, HiveSqlParser.RULE_from_join_clause); + try { + this.state = 2375; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_COMMA: + this.enterOuterAlt(localctx, 1); + this.state = 2368; + this.match(HiveSqlParser.T_COMMA); + this.state = 2369; + this.from_table_clause(); + break; + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + this.enterOuterAlt(localctx, 2); + this.state = 2370; + this.from_join_type_clause(); + this.state = 2371; + this.from_table_clause(); + this.state = 2372; + this.match(HiveSqlParser.T_ON); + this.state = 2373; + this.bool_expr(0); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_join_type_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_join_type_clause; + return this; +} + +From_join_type_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_join_type_clauseContext.prototype.constructor = From_join_type_clauseContext; + +From_join_type_clauseContext.prototype.T_JOIN = function() { + return this.getToken(HiveSqlParser.T_JOIN, 0); +}; + +From_join_type_clauseContext.prototype.T_INNER = function() { + return this.getToken(HiveSqlParser.T_INNER, 0); +}; + +From_join_type_clauseContext.prototype.T_LEFT = function() { + return this.getToken(HiveSqlParser.T_LEFT, 0); +}; + +From_join_type_clauseContext.prototype.T_RIGHT = function() { + return this.getToken(HiveSqlParser.T_RIGHT, 0); +}; + +From_join_type_clauseContext.prototype.T_FULL = function() { + return this.getToken(HiveSqlParser.T_FULL, 0); +}; + +From_join_type_clauseContext.prototype.T_OUTER = function() { + return this.getToken(HiveSqlParser.T_OUTER, 0); +}; + +From_join_type_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_join_type_clause(this); + } +}; + +From_join_type_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_join_type_clause(this); + } +}; + +From_join_type_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_join_type_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_join_type_clauseContext = From_join_type_clauseContext; + +HiveSqlParser.prototype.from_join_type_clause = function() { + + var localctx = new From_join_type_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 320, HiveSqlParser.RULE_from_join_type_clause); + var _la = 0; // Token type + try { + this.state = 2386; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + this.enterOuterAlt(localctx, 1); + this.state = 2378; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_INNER) { + this.state = 2377; + this.match(HiveSqlParser.T_INNER); + } + + this.state = 2380; + this.match(HiveSqlParser.T_JOIN); + break; + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + this.enterOuterAlt(localctx, 2); + this.state = 2381; + _la = this._input.LA(1); + if(!(((((_la - 283)) & ~0x1f) == 0 && ((1 << (_la - 283)) & ((1 << (HiveSqlParser.T_LEFT - 283)) | (1 << (HiveSqlParser.T_RIGHT - 283)) | (1 << (HiveSqlParser.T_FULL - 283)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2383; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OUTER) { + this.state = 2382; + this.match(HiveSqlParser.T_OUTER); + } + + this.state = 2385; + this.match(HiveSqlParser.T_JOIN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_table_values_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_table_values_clause; + return this; +} + +From_table_values_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_table_values_clauseContext.prototype.constructor = From_table_values_clauseContext; + +From_table_values_clauseContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +From_table_values_clauseContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +From_table_values_clauseContext.prototype.T_VALUES = function() { + return this.getToken(HiveSqlParser.T_VALUES, 0); +}; + +From_table_values_clauseContext.prototype.from_table_values_row = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(From_table_values_rowContext); + } else { + return this.getTypedRuleContext(From_table_values_rowContext,i); + } +}; + +From_table_values_clauseContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +From_table_values_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +From_table_values_clauseContext.prototype.from_alias_clause = function() { + return this.getTypedRuleContext(From_alias_clauseContext,0); +}; + +From_table_values_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_table_values_clause(this); + } +}; + +From_table_values_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_table_values_clause(this); + } +}; + +From_table_values_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_table_values_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_table_values_clauseContext = From_table_values_clauseContext; + +HiveSqlParser.prototype.from_table_values_clause = function() { + + var localctx = new From_table_values_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 322, HiveSqlParser.RULE_from_table_values_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2388; + this.match(HiveSqlParser.T_TABLE); + this.state = 2389; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2390; + this.match(HiveSqlParser.T_VALUES); + this.state = 2391; + this.from_table_values_row(); + this.state = 2396; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 2392; + this.match(HiveSqlParser.T_COMMA); + this.state = 2393; + this.from_table_values_row(); + this.state = 2398; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2399; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2401; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,294,this._ctx); + if(la_===1) { + this.state = 2400; + this.from_alias_clause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_table_values_rowContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_table_values_row; + return this; +} + +From_table_values_rowContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_table_values_rowContext.prototype.constructor = From_table_values_rowContext; + +From_table_values_rowContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +From_table_values_rowContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +From_table_values_rowContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +From_table_values_rowContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +From_table_values_rowContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_table_values_row(this); + } +}; + +From_table_values_rowContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_table_values_row(this); + } +}; + +From_table_values_rowContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_table_values_row(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_table_values_rowContext = From_table_values_rowContext; + +HiveSqlParser.prototype.from_table_values_row = function() { + + var localctx = new From_table_values_rowContext(this, this._ctx, this.state); + this.enterRule(localctx, 324, HiveSqlParser.RULE_from_table_values_row); + var _la = 0; // Token type + try { + this.state = 2415; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,296,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2403; + this.expr(0); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2404; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2405; + this.expr(0); + this.state = 2410; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 2406; + this.match(HiveSqlParser.T_COMMA); + this.state = 2407; + this.expr(0); + this.state = 2412; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2413; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function From_alias_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_from_alias_clause; + return this; +} + +From_alias_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +From_alias_clauseContext.prototype.constructor = From_alias_clauseContext; + +From_alias_clauseContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +From_alias_clauseContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +From_alias_clauseContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +From_alias_clauseContext.prototype.L_ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.L_ID); + } else { + return this.getToken(HiveSqlParser.L_ID, i); + } +}; + + +From_alias_clauseContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +From_alias_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +From_alias_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFrom_alias_clause(this); + } +}; + +From_alias_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFrom_alias_clause(this); + } +}; + +From_alias_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFrom_alias_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.From_alias_clauseContext = From_alias_clauseContext; + +HiveSqlParser.prototype.from_alias_clause = function() { + + var localctx = new From_alias_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 326, HiveSqlParser.RULE_from_alias_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2417; + if (!( !this._input.LT(1).getText().equalsIgnoreCase("EXEC") && + !this._input.LT(1).getText().equalsIgnoreCase("EXECUTE") && + !this._input.LT(1).getText().equalsIgnoreCase("INNER") && + !this._input.LT(1).getText().equalsIgnoreCase("LEFT") && + !this._input.LT(1).getText().equalsIgnoreCase("GROUP") && + !this._input.LT(1).getText().equalsIgnoreCase("ORDER") && + !this._input.LT(1).getText().equalsIgnoreCase("LIMIT") && + !this._input.LT(1).getText().equalsIgnoreCase("WITH"))) { + throw new antlr4.error.FailedPredicateException(this, "!this._input.LT(1).getText().equalsIgnoreCase(\"EXEC\") &&\n !this._input.LT(1).getText().equalsIgnoreCase(\"EXECUTE\") && \n !this._input.LT(1).getText().equalsIgnoreCase(\"INNER\") &&\n !this._input.LT(1).getText().equalsIgnoreCase(\"LEFT\") &&\n !this._input.LT(1).getText().equalsIgnoreCase(\"GROUP\") &&\n !this._input.LT(1).getText().equalsIgnoreCase(\"ORDER\") &&\n !this._input.LT(1).getText().equalsIgnoreCase(\"LIMIT\") &&\n !this._input.LT(1).getText().equalsIgnoreCase(\"WITH\")"); + } + this.state = 2419; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,297,this._ctx); + if(la_===1) { + this.state = 2418; + this.match(HiveSqlParser.T_AS); + + } + this.state = 2421; + this.ident(); + this.state = 2432; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,299,this._ctx); + if(la_===1) { + this.state = 2422; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2423; + this.match(HiveSqlParser.L_ID); + this.state = 2428; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 2424; + this.match(HiveSqlParser.T_COMMA); + this.state = 2425; + this.match(HiveSqlParser.L_ID); + this.state = 2430; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2431; + this.match(HiveSqlParser.T_CLOSE_P); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Table_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_table_name; + return this; +} + +Table_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Table_nameContext.prototype.constructor = Table_nameContext; + +Table_nameContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Table_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterTable_name(this); + } +}; + +Table_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitTable_name(this); + } +}; + +Table_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitTable_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Table_nameContext = Table_nameContext; + +HiveSqlParser.prototype.table_name = function() { + + var localctx = new Table_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 328, HiveSqlParser.RULE_table_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2434; + this.ident(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Where_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_where_clause; + return this; +} + +Where_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Where_clauseContext.prototype.constructor = Where_clauseContext; + +Where_clauseContext.prototype.T_WHERE = function() { + return this.getToken(HiveSqlParser.T_WHERE, 0); +}; + +Where_clauseContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +Where_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterWhere_clause(this); + } +}; + +Where_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitWhere_clause(this); + } +}; + +Where_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitWhere_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Where_clauseContext = Where_clauseContext; + +HiveSqlParser.prototype.where_clause = function() { + + var localctx = new Where_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 330, HiveSqlParser.RULE_where_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2436; + this.match(HiveSqlParser.T_WHERE); + this.state = 2437; + this.bool_expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Group_by_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_group_by_clause; + return this; +} + +Group_by_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Group_by_clauseContext.prototype.constructor = Group_by_clauseContext; + +Group_by_clauseContext.prototype.T_GROUP = function() { + return this.getToken(HiveSqlParser.T_GROUP, 0); +}; + +Group_by_clauseContext.prototype.T_BY = function() { + return this.getToken(HiveSqlParser.T_BY, 0); +}; + +Group_by_clauseContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Group_by_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Group_by_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterGroup_by_clause(this); + } +}; + +Group_by_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitGroup_by_clause(this); + } +}; + +Group_by_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitGroup_by_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Group_by_clauseContext = Group_by_clauseContext; + +HiveSqlParser.prototype.group_by_clause = function() { + + var localctx = new Group_by_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 332, HiveSqlParser.RULE_group_by_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2439; + this.match(HiveSqlParser.T_GROUP); + this.state = 2440; + this.match(HiveSqlParser.T_BY); + this.state = 2441; + this.expr(0); + this.state = 2446; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,300,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2442; + this.match(HiveSqlParser.T_COMMA); + this.state = 2443; + this.expr(0); + } + this.state = 2448; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,300,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Having_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_having_clause; + return this; +} + +Having_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Having_clauseContext.prototype.constructor = Having_clauseContext; + +Having_clauseContext.prototype.T_HAVING = function() { + return this.getToken(HiveSqlParser.T_HAVING, 0); +}; + +Having_clauseContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +Having_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterHaving_clause(this); + } +}; + +Having_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitHaving_clause(this); + } +}; + +Having_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitHaving_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Having_clauseContext = Having_clauseContext; + +HiveSqlParser.prototype.having_clause = function() { + + var localctx = new Having_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 334, HiveSqlParser.RULE_having_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2449; + this.match(HiveSqlParser.T_HAVING); + this.state = 2450; + this.bool_expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Qualify_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_qualify_clause; + return this; +} + +Qualify_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Qualify_clauseContext.prototype.constructor = Qualify_clauseContext; + +Qualify_clauseContext.prototype.T_QUALIFY = function() { + return this.getToken(HiveSqlParser.T_QUALIFY, 0); +}; + +Qualify_clauseContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +Qualify_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterQualify_clause(this); + } +}; + +Qualify_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitQualify_clause(this); + } +}; + +Qualify_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitQualify_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Qualify_clauseContext = Qualify_clauseContext; + +HiveSqlParser.prototype.qualify_clause = function() { + + var localctx = new Qualify_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 336, HiveSqlParser.RULE_qualify_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2452; + this.match(HiveSqlParser.T_QUALIFY); + this.state = 2453; + this.bool_expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Order_by_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_order_by_clause; + return this; +} + +Order_by_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Order_by_clauseContext.prototype.constructor = Order_by_clauseContext; + +Order_by_clauseContext.prototype.T_ORDER = function() { + return this.getToken(HiveSqlParser.T_ORDER, 0); +}; + +Order_by_clauseContext.prototype.T_BY = function() { + return this.getToken(HiveSqlParser.T_BY, 0); +}; + +Order_by_clauseContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Order_by_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Order_by_clauseContext.prototype.T_ASC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_ASC); + } else { + return this.getToken(HiveSqlParser.T_ASC, i); + } +}; + + +Order_by_clauseContext.prototype.T_DESC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_DESC); + } else { + return this.getToken(HiveSqlParser.T_DESC, i); + } +}; + + +Order_by_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterOrder_by_clause(this); + } +}; + +Order_by_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitOrder_by_clause(this); + } +}; + +Order_by_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitOrder_by_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Order_by_clauseContext = Order_by_clauseContext; + +HiveSqlParser.prototype.order_by_clause = function() { + + var localctx = new Order_by_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 338, HiveSqlParser.RULE_order_by_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2455; + this.match(HiveSqlParser.T_ORDER); + this.state = 2456; + this.match(HiveSqlParser.T_BY); + this.state = 2457; + this.expr(0); + this.state = 2459; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,301,this._ctx); + if(la_===1) { + this.state = 2458; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 2468; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,303,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2461; + this.match(HiveSqlParser.T_COMMA); + this.state = 2462; + this.expr(0); + this.state = 2464; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,302,this._ctx); + if(la_===1) { + this.state = 2463; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ASC || _la===HiveSqlParser.T_DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + } + this.state = 2470; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,303,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_optionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_options; + return this; +} + +Select_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_optionsContext.prototype.constructor = Select_optionsContext; + +Select_optionsContext.prototype.select_options_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Select_options_itemContext); + } else { + return this.getTypedRuleContext(Select_options_itemContext,i); + } +}; + +Select_optionsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_options(this); + } +}; + +Select_optionsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_options(this); + } +}; + +Select_optionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_options(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_optionsContext = Select_optionsContext; + +HiveSqlParser.prototype.select_options = function() { + + var localctx = new Select_optionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 340, HiveSqlParser.RULE_select_options); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2472; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 2471; + this.select_options_item(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2474; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,304, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Select_options_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_select_options_item; + return this; +} + +Select_options_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Select_options_itemContext.prototype.constructor = Select_options_itemContext; + +Select_options_itemContext.prototype.T_LIMIT = function() { + return this.getToken(HiveSqlParser.T_LIMIT, 0); +}; + +Select_options_itemContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Select_options_itemContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Select_options_itemContext.prototype.T_RR = function() { + return this.getToken(HiveSqlParser.T_RR, 0); +}; + +Select_options_itemContext.prototype.T_RS = function() { + return this.getToken(HiveSqlParser.T_RS, 0); +}; + +Select_options_itemContext.prototype.T_CS = function() { + return this.getToken(HiveSqlParser.T_CS, 0); +}; + +Select_options_itemContext.prototype.T_UR = function() { + return this.getToken(HiveSqlParser.T_UR, 0); +}; + +Select_options_itemContext.prototype.T_USE = function() { + return this.getToken(HiveSqlParser.T_USE, 0); +}; + +Select_options_itemContext.prototype.T_AND = function() { + return this.getToken(HiveSqlParser.T_AND, 0); +}; + +Select_options_itemContext.prototype.T_KEEP = function() { + return this.getToken(HiveSqlParser.T_KEEP, 0); +}; + +Select_options_itemContext.prototype.T_LOCKS = function() { + return this.getToken(HiveSqlParser.T_LOCKS, 0); +}; + +Select_options_itemContext.prototype.T_EXCLUSIVE = function() { + return this.getToken(HiveSqlParser.T_EXCLUSIVE, 0); +}; + +Select_options_itemContext.prototype.T_UPDATE = function() { + return this.getToken(HiveSqlParser.T_UPDATE, 0); +}; + +Select_options_itemContext.prototype.T_SHARE = function() { + return this.getToken(HiveSqlParser.T_SHARE, 0); +}; + +Select_options_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSelect_options_item(this); + } +}; + +Select_options_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSelect_options_item(this); + } +}; + +Select_options_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSelect_options_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Select_options_itemContext = Select_options_itemContext; + +HiveSqlParser.prototype.select_options_item = function() { + + var localctx = new Select_options_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 342, HiveSqlParser.RULE_select_options_item); + var _la = 0; // Token type + try { + this.state = 2487; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_LIMIT: + this.enterOuterAlt(localctx, 1); + this.state = 2476; + this.match(HiveSqlParser.T_LIMIT); + this.state = 2477; + this.expr(0); + break; + case HiveSqlParser.T_WITH: + this.enterOuterAlt(localctx, 2); + this.state = 2478; + this.match(HiveSqlParser.T_WITH); + this.state = 2479; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_CS || ((((_la - 292)) & ~0x1f) == 0 && ((1 << (_la - 292)) & ((1 << (HiveSqlParser.T_RR - 292)) | (1 << (HiveSqlParser.T_RS - 292)) | (1 << (HiveSqlParser.T_UR - 292)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2485; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,305,this._ctx); + if(la_===1) { + this.state = 2480; + this.match(HiveSqlParser.T_USE); + this.state = 2481; + this.match(HiveSqlParser.T_AND); + this.state = 2482; + this.match(HiveSqlParser.T_KEEP); + this.state = 2483; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_UPDATE || _la===HiveSqlParser.T_EXCLUSIVE || _la===HiveSqlParser.T_SHARE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2484; + this.match(HiveSqlParser.T_LOCKS); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Update_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_update_stmt; + return this; +} + +Update_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Update_stmtContext.prototype.constructor = Update_stmtContext; + +Update_stmtContext.prototype.T_UPDATE = function() { + return this.getToken(HiveSqlParser.T_UPDATE, 0); +}; + +Update_stmtContext.prototype.update_table = function() { + return this.getTypedRuleContext(Update_tableContext,0); +}; + +Update_stmtContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Update_stmtContext.prototype.update_assignment = function() { + return this.getTypedRuleContext(Update_assignmentContext,0); +}; + +Update_stmtContext.prototype.where_clause = function() { + return this.getTypedRuleContext(Where_clauseContext,0); +}; + +Update_stmtContext.prototype.update_upsert = function() { + return this.getTypedRuleContext(Update_upsertContext,0); +}; + +Update_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterUpdate_stmt(this); + } +}; + +Update_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitUpdate_stmt(this); + } +}; + +Update_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitUpdate_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Update_stmtContext = Update_stmtContext; + +HiveSqlParser.prototype.update_stmt = function() { + + var localctx = new Update_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 344, HiveSqlParser.RULE_update_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2489; + this.match(HiveSqlParser.T_UPDATE); + this.state = 2490; + this.update_table(); + this.state = 2491; + this.match(HiveSqlParser.T_SET); + this.state = 2492; + this.update_assignment(); + this.state = 2494; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,307,this._ctx); + if(la_===1) { + this.state = 2493; + this.where_clause(); + + } + this.state = 2497; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,308,this._ctx); + if(la_===1) { + this.state = 2496; + this.update_upsert(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Update_assignmentContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_update_assignment; + return this; +} + +Update_assignmentContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Update_assignmentContext.prototype.constructor = Update_assignmentContext; + +Update_assignmentContext.prototype.assignment_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Assignment_stmt_itemContext); + } else { + return this.getTypedRuleContext(Assignment_stmt_itemContext,i); + } +}; + +Update_assignmentContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Update_assignmentContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterUpdate_assignment(this); + } +}; + +Update_assignmentContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitUpdate_assignment(this); + } +}; + +Update_assignmentContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitUpdate_assignment(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Update_assignmentContext = Update_assignmentContext; + +HiveSqlParser.prototype.update_assignment = function() { + + var localctx = new Update_assignmentContext(this, this._ctx, this.state); + this.enterRule(localctx, 346, HiveSqlParser.RULE_update_assignment); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2499; + this.assignment_stmt_item(); + this.state = 2504; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,309,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2500; + this.match(HiveSqlParser.T_COMMA); + this.state = 2501; + this.assignment_stmt_item(); + } + this.state = 2506; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,309,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Update_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_update_table; + return this; +} + +Update_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Update_tableContext.prototype.constructor = Update_tableContext; + +Update_tableContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Update_tableContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Update_tableContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Update_tableContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Update_tableContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Update_tableContext.prototype.from_clause = function() { + return this.getTypedRuleContext(From_clauseContext,0); +}; + +Update_tableContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Update_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterUpdate_table(this); + } +}; + +Update_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitUpdate_table(this); + } +}; + +Update_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitUpdate_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Update_tableContext = Update_tableContext; + +HiveSqlParser.prototype.update_table = function() { + + var localctx = new Update_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 348, HiveSqlParser.RULE_update_table); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2515; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 2507; + this.table_name(); + this.state = 2509; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,310,this._ctx); + if(la_===1) { + this.state = 2508; + this.from_clause(); + + } + break; + case HiveSqlParser.T_OPEN_P: + this.state = 2511; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2512; + this.select_stmt(); + this.state = 2513; + this.match(HiveSqlParser.T_CLOSE_P); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2521; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,313,this._ctx); + if(la_===1) { + this.state = 2518; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,312,this._ctx); + if(la_===1) { + this.state = 2517; + this.match(HiveSqlParser.T_AS); + + } + this.state = 2520; + this.ident(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Update_upsertContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_update_upsert; + return this; +} + +Update_upsertContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Update_upsertContext.prototype.constructor = Update_upsertContext; + +Update_upsertContext.prototype.T_ELSE = function() { + return this.getToken(HiveSqlParser.T_ELSE, 0); +}; + +Update_upsertContext.prototype.insert_stmt = function() { + return this.getTypedRuleContext(Insert_stmtContext,0); +}; + +Update_upsertContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterUpdate_upsert(this); + } +}; + +Update_upsertContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitUpdate_upsert(this); + } +}; + +Update_upsertContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitUpdate_upsert(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Update_upsertContext = Update_upsertContext; + +HiveSqlParser.prototype.update_upsert = function() { + + var localctx = new Update_upsertContext(this, this._ctx, this.state); + this.enterRule(localctx, 350, HiveSqlParser.RULE_update_upsert); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2523; + this.match(HiveSqlParser.T_ELSE); + this.state = 2524; + this.insert_stmt(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Merge_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_merge_stmt; + return this; +} + +Merge_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Merge_stmtContext.prototype.constructor = Merge_stmtContext; + +Merge_stmtContext.prototype.T_MERGE = function() { + return this.getToken(HiveSqlParser.T_MERGE, 0); +}; + +Merge_stmtContext.prototype.T_INTO = function() { + return this.getToken(HiveSqlParser.T_INTO, 0); +}; + +Merge_stmtContext.prototype.merge_table = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Merge_tableContext); + } else { + return this.getTypedRuleContext(Merge_tableContext,i); + } +}; + +Merge_stmtContext.prototype.T_USING = function() { + return this.getToken(HiveSqlParser.T_USING, 0); +}; + +Merge_stmtContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Merge_stmtContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +Merge_stmtContext.prototype.merge_condition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Merge_conditionContext); + } else { + return this.getTypedRuleContext(Merge_conditionContext,i); + } +}; + +Merge_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterMerge_stmt(this); + } +}; + +Merge_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitMerge_stmt(this); + } +}; + +Merge_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitMerge_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Merge_stmtContext = Merge_stmtContext; + +HiveSqlParser.prototype.merge_stmt = function() { + + var localctx = new Merge_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 352, HiveSqlParser.RULE_merge_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2526; + this.match(HiveSqlParser.T_MERGE); + this.state = 2527; + this.match(HiveSqlParser.T_INTO); + this.state = 2528; + this.merge_table(); + this.state = 2529; + this.match(HiveSqlParser.T_USING); + this.state = 2530; + this.merge_table(); + this.state = 2531; + this.match(HiveSqlParser.T_ON); + this.state = 2532; + this.bool_expr(0); + this.state = 2534; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 2533; + this.merge_condition(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2536; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,314, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Merge_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_merge_table; + return this; +} + +Merge_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Merge_tableContext.prototype.constructor = Merge_tableContext; + +Merge_tableContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Merge_tableContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Merge_tableContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Merge_tableContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Merge_tableContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Merge_tableContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Merge_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterMerge_table(this); + } +}; + +Merge_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitMerge_table(this); + } +}; + +Merge_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitMerge_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Merge_tableContext = Merge_tableContext; + +HiveSqlParser.prototype.merge_table = function() { + + var localctx = new Merge_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 354, HiveSqlParser.RULE_merge_table); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2543; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 2538; + this.table_name(); + break; + case HiveSqlParser.T_OPEN_P: + this.state = 2539; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2540; + this.select_stmt(); + this.state = 2541; + this.match(HiveSqlParser.T_CLOSE_P); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2549; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,317,this._ctx); + if(la_===1) { + this.state = 2546; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,316,this._ctx); + if(la_===1) { + this.state = 2545; + this.match(HiveSqlParser.T_AS); + + } + this.state = 2548; + this.ident(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Merge_conditionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_merge_condition; + return this; +} + +Merge_conditionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Merge_conditionContext.prototype.constructor = Merge_conditionContext; + +Merge_conditionContext.prototype.T_WHEN = function() { + return this.getToken(HiveSqlParser.T_WHEN, 0); +}; + +Merge_conditionContext.prototype.T_MATCHED = function() { + return this.getToken(HiveSqlParser.T_MATCHED, 0); +}; + +Merge_conditionContext.prototype.T_THEN = function() { + return this.getToken(HiveSqlParser.T_THEN, 0); +}; + +Merge_conditionContext.prototype.merge_action = function() { + return this.getTypedRuleContext(Merge_actionContext,0); +}; + +Merge_conditionContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Merge_conditionContext.prototype.T_AND = function() { + return this.getToken(HiveSqlParser.T_AND, 0); +}; + +Merge_conditionContext.prototype.bool_expr = function() { + return this.getTypedRuleContext(Bool_exprContext,0); +}; + +Merge_conditionContext.prototype.T_ELSE = function() { + return this.getToken(HiveSqlParser.T_ELSE, 0); +}; + +Merge_conditionContext.prototype.T_IGNORE = function() { + return this.getToken(HiveSqlParser.T_IGNORE, 0); +}; + +Merge_conditionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterMerge_condition(this); + } +}; + +Merge_conditionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitMerge_condition(this); + } +}; + +Merge_conditionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitMerge_condition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Merge_conditionContext = Merge_conditionContext; + +HiveSqlParser.prototype.merge_condition = function() { + + var localctx = new Merge_conditionContext(this, this._ctx, this.state); + this.enterRule(localctx, 356, HiveSqlParser.RULE_merge_condition); + var _la = 0; // Token type + try { + this.state = 2564; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_WHEN: + this.enterOuterAlt(localctx, 1); + this.state = 2551; + this.match(HiveSqlParser.T_WHEN); + this.state = 2553; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 2552; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 2555; + this.match(HiveSqlParser.T_MATCHED); + this.state = 2558; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_AND) { + this.state = 2556; + this.match(HiveSqlParser.T_AND); + this.state = 2557; + this.bool_expr(0); + } + + this.state = 2560; + this.match(HiveSqlParser.T_THEN); + this.state = 2561; + this.merge_action(); + break; + case HiveSqlParser.T_ELSE: + this.enterOuterAlt(localctx, 2); + this.state = 2562; + this.match(HiveSqlParser.T_ELSE); + this.state = 2563; + this.match(HiveSqlParser.T_IGNORE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Merge_actionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_merge_action; + return this; +} + +Merge_actionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Merge_actionContext.prototype.constructor = Merge_actionContext; + +Merge_actionContext.prototype.T_INSERT = function() { + return this.getToken(HiveSqlParser.T_INSERT, 0); +}; + +Merge_actionContext.prototype.T_VALUES = function() { + return this.getToken(HiveSqlParser.T_VALUES, 0); +}; + +Merge_actionContext.prototype.insert_stmt_row = function() { + return this.getTypedRuleContext(Insert_stmt_rowContext,0); +}; + +Merge_actionContext.prototype.insert_stmt_cols = function() { + return this.getTypedRuleContext(Insert_stmt_colsContext,0); +}; + +Merge_actionContext.prototype.T_UPDATE = function() { + return this.getToken(HiveSqlParser.T_UPDATE, 0); +}; + +Merge_actionContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Merge_actionContext.prototype.assignment_stmt_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Assignment_stmt_itemContext); + } else { + return this.getTypedRuleContext(Assignment_stmt_itemContext,i); + } +}; + +Merge_actionContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Merge_actionContext.prototype.where_clause = function() { + return this.getTypedRuleContext(Where_clauseContext,0); +}; + +Merge_actionContext.prototype.T_DELETE = function() { + return this.getToken(HiveSqlParser.T_DELETE, 0); +}; + +Merge_actionContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterMerge_action(this); + } +}; + +Merge_actionContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitMerge_action(this); + } +}; + +Merge_actionContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitMerge_action(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Merge_actionContext = Merge_actionContext; + +HiveSqlParser.prototype.merge_action = function() { + + var localctx = new Merge_actionContext(this, this._ctx, this.state); + this.enterRule(localctx, 358, HiveSqlParser.RULE_merge_action); + var _la = 0; // Token type + try { + this.state = 2586; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_INSERT: + this.enterOuterAlt(localctx, 1); + this.state = 2566; + this.match(HiveSqlParser.T_INSERT); + this.state = 2568; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OPEN_P) { + this.state = 2567; + this.insert_stmt_cols(); + } + + this.state = 2570; + this.match(HiveSqlParser.T_VALUES); + this.state = 2571; + this.insert_stmt_row(); + break; + case HiveSqlParser.T_UPDATE: + this.enterOuterAlt(localctx, 2); + this.state = 2572; + this.match(HiveSqlParser.T_UPDATE); + this.state = 2573; + this.match(HiveSqlParser.T_SET); + this.state = 2574; + this.assignment_stmt_item(); + this.state = 2579; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,322,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2575; + this.match(HiveSqlParser.T_COMMA); + this.state = 2576; + this.assignment_stmt_item(); + } + this.state = 2581; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,322,this._ctx); + } + + this.state = 2583; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,323,this._ctx); + if(la_===1) { + this.state = 2582; + this.where_clause(); + + } + break; + case HiveSqlParser.T_DELETE: + this.enterOuterAlt(localctx, 3); + this.state = 2585; + this.match(HiveSqlParser.T_DELETE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Delete_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_delete_stmt; + return this; +} + +Delete_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Delete_stmtContext.prototype.constructor = Delete_stmtContext; + +Delete_stmtContext.prototype.T_DELETE = function() { + return this.getToken(HiveSqlParser.T_DELETE, 0); +}; + +Delete_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Delete_stmtContext.prototype.T_FROM = function() { + return this.getToken(HiveSqlParser.T_FROM, 0); +}; + +Delete_stmtContext.prototype.delete_alias = function() { + return this.getTypedRuleContext(Delete_aliasContext,0); +}; + +Delete_stmtContext.prototype.where_clause = function() { + return this.getTypedRuleContext(Where_clauseContext,0); +}; + +Delete_stmtContext.prototype.T_ALL = function() { + return this.getToken(HiveSqlParser.T_ALL, 0); +}; + +Delete_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDelete_stmt(this); + } +}; + +Delete_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDelete_stmt(this); + } +}; + +Delete_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDelete_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Delete_stmtContext = Delete_stmtContext; + +HiveSqlParser.prototype.delete_stmt = function() { + + var localctx = new Delete_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 360, HiveSqlParser.RULE_delete_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2588; + this.match(HiveSqlParser.T_DELETE); + this.state = 2590; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,325,this._ctx); + if(la_===1) { + this.state = 2589; + this.match(HiveSqlParser.T_FROM); + + } + this.state = 2592; + this.table_name(); + this.state = 2594; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,326,this._ctx); + if(la_===1) { + this.state = 2593; + this.delete_alias(); + + } + this.state = 2598; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,327,this._ctx); + if(la_===1) { + this.state = 2596; + this.where_clause(); + + } else if(la_===2) { + this.state = 2597; + this.match(HiveSqlParser.T_ALL); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Delete_aliasContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_delete_alias; + return this; +} + +Delete_aliasContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Delete_aliasContext.prototype.constructor = Delete_aliasContext; + +Delete_aliasContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Delete_aliasContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Delete_aliasContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDelete_alias(this); + } +}; + +Delete_aliasContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDelete_alias(this); + } +}; + +Delete_aliasContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDelete_alias(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Delete_aliasContext = Delete_aliasContext; + +HiveSqlParser.prototype.delete_alias = function() { + + var localctx = new Delete_aliasContext(this, this._ctx, this.state); + this.enterRule(localctx, 362, HiveSqlParser.RULE_delete_alias); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2600; + if (!( !this._input.LT(1).getText().equalsIgnoreCase("ALL"))) { + throw new antlr4.error.FailedPredicateException(this, "!this._input.LT(1).getText().equalsIgnoreCase(\"ALL\")"); + } + this.state = 2602; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,328,this._ctx); + if(la_===1) { + this.state = 2601; + this.match(HiveSqlParser.T_AS); + + } + this.state = 2604; + this.ident(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Describe_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_describe_stmt; + return this; +} + +Describe_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Describe_stmtContext.prototype.constructor = Describe_stmtContext; + +Describe_stmtContext.prototype.table_name = function() { + return this.getTypedRuleContext(Table_nameContext,0); +}; + +Describe_stmtContext.prototype.T_DESCRIBE = function() { + return this.getToken(HiveSqlParser.T_DESCRIBE, 0); +}; + +Describe_stmtContext.prototype.T_DESC = function() { + return this.getToken(HiveSqlParser.T_DESC, 0); +}; + +Describe_stmtContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Describe_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDescribe_stmt(this); + } +}; + +Describe_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDescribe_stmt(this); + } +}; + +Describe_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDescribe_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Describe_stmtContext = Describe_stmtContext; + +HiveSqlParser.prototype.describe_stmt = function() { + + var localctx = new Describe_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 364, HiveSqlParser.RULE_describe_stmt); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2606; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_DESC || _la===HiveSqlParser.T_DESCRIBE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2608; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,329,this._ctx); + if(la_===1) { + this.state = 2607; + this.match(HiveSqlParser.T_TABLE); + + } + this.state = 2610; + this.table_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bool_exprContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_expr; + return this; +} + +Bool_exprContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_exprContext.prototype.constructor = Bool_exprContext; + +Bool_exprContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Bool_exprContext.prototype.bool_expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Bool_exprContext); + } else { + return this.getTypedRuleContext(Bool_exprContext,i); + } +}; + +Bool_exprContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Bool_exprContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Bool_exprContext.prototype.bool_expr_atom = function() { + return this.getTypedRuleContext(Bool_expr_atomContext,0); +}; + +Bool_exprContext.prototype.bool_expr_logical_operator = function() { + return this.getTypedRuleContext(Bool_expr_logical_operatorContext,0); +}; + +Bool_exprContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_expr(this); + } +}; + +Bool_exprContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_expr(this); + } +}; + +Bool_exprContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_expr(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +HiveSqlParser.prototype.bool_expr = function(_p) { + if(_p===undefined) { + _p = 0; + } + var _parentctx = this._ctx; + var _parentState = this.state; + var localctx = new Bool_exprContext(this, this._ctx, _parentState); + var _prevctx = localctx; + var _startState = 366; + this.enterRecursionRule(localctx, 366, HiveSqlParser.RULE_bool_expr, _p); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2621; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,331,this._ctx); + switch(la_) { + case 1: + this.state = 2614; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 2613; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 2616; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2617; + this.bool_expr(0); + this.state = 2618; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 2: + this.state = 2620; + this.bool_expr_atom(); + break; + + } + this._ctx.stop = this._input.LT(-1); + this.state = 2629; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,332,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + if(this._parseListeners!==null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + localctx = new Bool_exprContext(this, _parentctx, _parentState); + this.pushNewRecursionContext(localctx, _startState, HiveSqlParser.RULE_bool_expr); + this.state = 2623; + if (!( this.precpred(this._ctx, 2))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); + } + this.state = 2624; + this.bool_expr_logical_operator(); + this.state = 2625; + this.bool_expr(3); + } + this.state = 2631; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,332,this._ctx); + } + + } catch( error) { + if(error instanceof antlr4.error.RecognitionException) { + localctx.exception = error; + this._errHandler.reportError(this, error); + this._errHandler.recover(this, error); + } else { + throw error; + } + } finally { + this.unrollRecursionContexts(_parentctx) + } + return localctx; +}; + + +function Bool_expr_atomContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_expr_atom; + return this; +} + +Bool_expr_atomContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_expr_atomContext.prototype.constructor = Bool_expr_atomContext; + +Bool_expr_atomContext.prototype.bool_expr_unary = function() { + return this.getTypedRuleContext(Bool_expr_unaryContext,0); +}; + +Bool_expr_atomContext.prototype.bool_expr_binary = function() { + return this.getTypedRuleContext(Bool_expr_binaryContext,0); +}; + +Bool_expr_atomContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Bool_expr_atomContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_expr_atom(this); + } +}; + +Bool_expr_atomContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_expr_atom(this); + } +}; + +Bool_expr_atomContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_expr_atom(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Bool_expr_atomContext = Bool_expr_atomContext; + +HiveSqlParser.prototype.bool_expr_atom = function() { + + var localctx = new Bool_expr_atomContext(this, this._ctx, this.state); + this.enterRule(localctx, 368, HiveSqlParser.RULE_bool_expr_atom); + try { + this.state = 2635; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,333,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2632; + this.bool_expr_unary(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2633; + this.bool_expr_binary(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2634; + this.expr(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bool_expr_unaryContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_expr_unary; + return this; +} + +Bool_expr_unaryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_expr_unaryContext.prototype.constructor = Bool_expr_unaryContext; + +Bool_expr_unaryContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Bool_expr_unaryContext.prototype.T_IS = function() { + return this.getToken(HiveSqlParser.T_IS, 0); +}; + +Bool_expr_unaryContext.prototype.T_NULL = function() { + return this.getToken(HiveSqlParser.T_NULL, 0); +}; + +Bool_expr_unaryContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Bool_expr_unaryContext.prototype.T_BETWEEN = function() { + return this.getToken(HiveSqlParser.T_BETWEEN, 0); +}; + +Bool_expr_unaryContext.prototype.T_AND = function() { + return this.getToken(HiveSqlParser.T_AND, 0); +}; + +Bool_expr_unaryContext.prototype.T_EXISTS = function() { + return this.getToken(HiveSqlParser.T_EXISTS, 0); +}; + +Bool_expr_unaryContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Bool_expr_unaryContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Bool_expr_unaryContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Bool_expr_unaryContext.prototype.bool_expr_single_in = function() { + return this.getTypedRuleContext(Bool_expr_single_inContext,0); +}; + +Bool_expr_unaryContext.prototype.bool_expr_multi_in = function() { + return this.getTypedRuleContext(Bool_expr_multi_inContext,0); +}; + +Bool_expr_unaryContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_expr_unary(this); + } +}; + +Bool_expr_unaryContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_expr_unary(this); + } +}; + +Bool_expr_unaryContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_expr_unary(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Bool_expr_unaryContext = Bool_expr_unaryContext; + +HiveSqlParser.prototype.bool_expr_unary = function() { + + var localctx = new Bool_expr_unaryContext(this, this._ctx, this.state); + this.enterRule(localctx, 370, HiveSqlParser.RULE_bool_expr_unary); + var _la = 0; // Token type + try { + this.state = 2660; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,336,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2637; + this.expr(0); + this.state = 2638; + this.match(HiveSqlParser.T_IS); + this.state = 2640; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 2639; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 2642; + this.match(HiveSqlParser.T_NULL); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2644; + this.expr(0); + this.state = 2645; + this.match(HiveSqlParser.T_BETWEEN); + this.state = 2646; + this.expr(0); + this.state = 2647; + this.match(HiveSqlParser.T_AND); + this.state = 2648; + this.expr(0); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2651; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 2650; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 2653; + this.match(HiveSqlParser.T_EXISTS); + this.state = 2654; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2655; + this.select_stmt(); + this.state = 2656; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 2658; + this.bool_expr_single_in(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 2659; + this.bool_expr_multi_in(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bool_expr_single_inContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_expr_single_in; + return this; +} + +Bool_expr_single_inContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_expr_single_inContext.prototype.constructor = Bool_expr_single_inContext; + +Bool_expr_single_inContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Bool_expr_single_inContext.prototype.T_IN = function() { + return this.getToken(HiveSqlParser.T_IN, 0); +}; + +Bool_expr_single_inContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Bool_expr_single_inContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Bool_expr_single_inContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Bool_expr_single_inContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Bool_expr_single_inContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Bool_expr_single_inContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_expr_single_in(this); + } +}; + +Bool_expr_single_inContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_expr_single_in(this); + } +}; + +Bool_expr_single_inContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_expr_single_in(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Bool_expr_single_inContext = Bool_expr_single_inContext; + +HiveSqlParser.prototype.bool_expr_single_in = function() { + + var localctx = new Bool_expr_single_inContext(this, this._ctx, this.state); + this.enterRule(localctx, 372, HiveSqlParser.RULE_bool_expr_single_in); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2662; + this.expr(0); + this.state = 2664; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 2663; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 2666; + this.match(HiveSqlParser.T_IN); + this.state = 2667; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2677; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,339,this._ctx); + switch(la_) { + case 1: + this.state = 2668; + this.expr(0); + this.state = 2673; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 2669; + this.match(HiveSqlParser.T_COMMA); + this.state = 2670; + this.expr(0); + this.state = 2675; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + this.state = 2676; + this.select_stmt(); + break; + + } + this.state = 2679; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bool_expr_multi_inContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_expr_multi_in; + return this; +} + +Bool_expr_multi_inContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_expr_multi_inContext.prototype.constructor = Bool_expr_multi_inContext; + +Bool_expr_multi_inContext.prototype.T_OPEN_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_OPEN_P); + } else { + return this.getToken(HiveSqlParser.T_OPEN_P, i); + } +}; + + +Bool_expr_multi_inContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Bool_expr_multi_inContext.prototype.T_CLOSE_P = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_CLOSE_P); + } else { + return this.getToken(HiveSqlParser.T_CLOSE_P, i); + } +}; + + +Bool_expr_multi_inContext.prototype.T_IN = function() { + return this.getToken(HiveSqlParser.T_IN, 0); +}; + +Bool_expr_multi_inContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Bool_expr_multi_inContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Bool_expr_multi_inContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Bool_expr_multi_inContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_expr_multi_in(this); + } +}; + +Bool_expr_multi_inContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_expr_multi_in(this); + } +}; + +Bool_expr_multi_inContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_expr_multi_in(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Bool_expr_multi_inContext = Bool_expr_multi_inContext; + +HiveSqlParser.prototype.bool_expr_multi_in = function() { + + var localctx = new Bool_expr_multi_inContext(this, this._ctx, this.state); + this.enterRule(localctx, 374, HiveSqlParser.RULE_bool_expr_multi_in); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2681; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2682; + this.expr(0); + this.state = 2687; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 2683; + this.match(HiveSqlParser.T_COMMA); + this.state = 2684; + this.expr(0); + this.state = 2689; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2690; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2692; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 2691; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 2694; + this.match(HiveSqlParser.T_IN); + this.state = 2695; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2696; + this.select_stmt(); + this.state = 2697; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bool_expr_binaryContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_expr_binary; + return this; +} + +Bool_expr_binaryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_expr_binaryContext.prototype.constructor = Bool_expr_binaryContext; + +Bool_expr_binaryContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Bool_expr_binaryContext.prototype.bool_expr_binary_operator = function() { + return this.getTypedRuleContext(Bool_expr_binary_operatorContext,0); +}; + +Bool_expr_binaryContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_expr_binary(this); + } +}; + +Bool_expr_binaryContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_expr_binary(this); + } +}; + +Bool_expr_binaryContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_expr_binary(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Bool_expr_binaryContext = Bool_expr_binaryContext; + +HiveSqlParser.prototype.bool_expr_binary = function() { + + var localctx = new Bool_expr_binaryContext(this, this._ctx, this.state); + this.enterRule(localctx, 376, HiveSqlParser.RULE_bool_expr_binary); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2699; + this.expr(0); + this.state = 2700; + this.bool_expr_binary_operator(); + this.state = 2701; + this.expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bool_expr_logical_operatorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_expr_logical_operator; + return this; +} + +Bool_expr_logical_operatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_expr_logical_operatorContext.prototype.constructor = Bool_expr_logical_operatorContext; + +Bool_expr_logical_operatorContext.prototype.T_AND = function() { + return this.getToken(HiveSqlParser.T_AND, 0); +}; + +Bool_expr_logical_operatorContext.prototype.T_OR = function() { + return this.getToken(HiveSqlParser.T_OR, 0); +}; + +Bool_expr_logical_operatorContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_expr_logical_operator(this); + } +}; + +Bool_expr_logical_operatorContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_expr_logical_operator(this); + } +}; + +Bool_expr_logical_operatorContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_expr_logical_operator(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Bool_expr_logical_operatorContext = Bool_expr_logical_operatorContext; + +HiveSqlParser.prototype.bool_expr_logical_operator = function() { + + var localctx = new Bool_expr_logical_operatorContext(this, this._ctx, this.state); + this.enterRule(localctx, 378, HiveSqlParser.RULE_bool_expr_logical_operator); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2703; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_OR || _la===HiveSqlParser.T_AND)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bool_expr_binary_operatorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_expr_binary_operator; + return this; +} + +Bool_expr_binary_operatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_expr_binary_operatorContext.prototype.constructor = Bool_expr_binary_operatorContext; + +Bool_expr_binary_operatorContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_EQUAL2 = function() { + return this.getToken(HiveSqlParser.T_EQUAL2, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_NOTEQUAL = function() { + return this.getToken(HiveSqlParser.T_NOTEQUAL, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_NOTEQUAL2 = function() { + return this.getToken(HiveSqlParser.T_NOTEQUAL2, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_LESS = function() { + return this.getToken(HiveSqlParser.T_LESS, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_LESSEQUAL = function() { + return this.getToken(HiveSqlParser.T_LESSEQUAL, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_GREATER = function() { + return this.getToken(HiveSqlParser.T_GREATER, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_GREATEREQUAL = function() { + return this.getToken(HiveSqlParser.T_GREATEREQUAL, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_LIKE = function() { + return this.getToken(HiveSqlParser.T_LIKE, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_RLIKE = function() { + return this.getToken(HiveSqlParser.T_RLIKE, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_REGEXP = function() { + return this.getToken(HiveSqlParser.T_REGEXP, 0); +}; + +Bool_expr_binary_operatorContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Bool_expr_binary_operatorContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_expr_binary_operator(this); + } +}; + +Bool_expr_binary_operatorContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_expr_binary_operator(this); + } +}; + +Bool_expr_binary_operatorContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_expr_binary_operator(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Bool_expr_binary_operatorContext = Bool_expr_binary_operatorContext; + +HiveSqlParser.prototype.bool_expr_binary_operator = function() { + + var localctx = new Bool_expr_binary_operatorContext(this, this._ctx, this.state); + this.enterRule(localctx, 380, HiveSqlParser.RULE_bool_expr_binary_operator); + var _la = 0; // Token type + try { + this.state = 2717; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_EQUAL: + this.enterOuterAlt(localctx, 1); + this.state = 2705; + this.match(HiveSqlParser.T_EQUAL); + break; + case HiveSqlParser.T_EQUAL2: + this.enterOuterAlt(localctx, 2); + this.state = 2706; + this.match(HiveSqlParser.T_EQUAL2); + break; + case HiveSqlParser.T_NOTEQUAL: + this.enterOuterAlt(localctx, 3); + this.state = 2707; + this.match(HiveSqlParser.T_NOTEQUAL); + break; + case HiveSqlParser.T_NOTEQUAL2: + this.enterOuterAlt(localctx, 4); + this.state = 2708; + this.match(HiveSqlParser.T_NOTEQUAL2); + break; + case HiveSqlParser.T_LESS: + this.enterOuterAlt(localctx, 5); + this.state = 2709; + this.match(HiveSqlParser.T_LESS); + break; + case HiveSqlParser.T_LESSEQUAL: + this.enterOuterAlt(localctx, 6); + this.state = 2710; + this.match(HiveSqlParser.T_LESSEQUAL); + break; + case HiveSqlParser.T_GREATER: + this.enterOuterAlt(localctx, 7); + this.state = 2711; + this.match(HiveSqlParser.T_GREATER); + break; + case HiveSqlParser.T_GREATEREQUAL: + this.enterOuterAlt(localctx, 8); + this.state = 2712; + this.match(HiveSqlParser.T_GREATEREQUAL); + break; + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + this.enterOuterAlt(localctx, 9); + this.state = 2714; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_NOT) { + this.state = 2713; + this.match(HiveSqlParser.T_NOT); + } + + this.state = 2716; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_LIKE || _la===HiveSqlParser.T_RLIKE || _la===HiveSqlParser.T_REGEXP)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function ExprContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr; + return this; +} + +ExprContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ExprContext.prototype.constructor = ExprContext; + +ExprContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +ExprContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +ExprContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +ExprContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +ExprContext.prototype.expr_interval = function() { + return this.getTypedRuleContext(Expr_intervalContext,0); +}; + +ExprContext.prototype.expr_concat = function() { + return this.getTypedRuleContext(Expr_concatContext,0); +}; + +ExprContext.prototype.expr_case = function() { + return this.getTypedRuleContext(Expr_caseContext,0); +}; + +ExprContext.prototype.expr_cursor_attribute = function() { + return this.getTypedRuleContext(Expr_cursor_attributeContext,0); +}; + +ExprContext.prototype.expr_agg_window_func = function() { + return this.getTypedRuleContext(Expr_agg_window_funcContext,0); +}; + +ExprContext.prototype.expr_spec_func = function() { + return this.getTypedRuleContext(Expr_spec_funcContext,0); +}; + +ExprContext.prototype.expr_func = function() { + return this.getTypedRuleContext(Expr_funcContext,0); +}; + +ExprContext.prototype.expr_atom = function() { + return this.getTypedRuleContext(Expr_atomContext,0); +}; + +ExprContext.prototype.T_MUL = function() { + return this.getToken(HiveSqlParser.T_MUL, 0); +}; + +ExprContext.prototype.T_DIV = function() { + return this.getToken(HiveSqlParser.T_DIV, 0); +}; + +ExprContext.prototype.T_ADD = function() { + return this.getToken(HiveSqlParser.T_ADD, 0); +}; + +ExprContext.prototype.T_SUB = function() { + return this.getToken(HiveSqlParser.T_SUB, 0); +}; + +ExprContext.prototype.interval_item = function() { + return this.getTypedRuleContext(Interval_itemContext,0); +}; + +ExprContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr(this); + } +}; + +ExprContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr(this); + } +}; + +ExprContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +HiveSqlParser.prototype.expr = function(_p) { + if(_p===undefined) { + _p = 0; + } + var _parentctx = this._ctx; + var _parentState = this.state; + var localctx = new ExprContext(this, this._ctx, _parentState); + var _prevctx = localctx; + var _startState = 382; + this.enterRecursionRule(localctx, 382, HiveSqlParser.RULE_expr, _p); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2736; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,344,this._ctx); + switch(la_) { + case 1: + this.state = 2720; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2721; + this.select_stmt(); + this.state = 2722; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 2: + this.state = 2724; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2725; + this.expr(0); + this.state = 2726; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 3: + this.state = 2728; + this.expr_interval(); + break; + + case 4: + this.state = 2729; + this.expr_concat(); + break; + + case 5: + this.state = 2730; + this.expr_case(); + break; + + case 6: + this.state = 2731; + this.expr_cursor_attribute(); + break; + + case 7: + this.state = 2732; + this.expr_agg_window_func(); + break; + + case 8: + this.state = 2733; + this.expr_spec_func(); + break; + + case 9: + this.state = 2734; + this.expr_func(); + break; + + case 10: + this.state = 2735; + this.expr_atom(); + break; + + } + this._ctx.stop = this._input.LT(-1); + this.state = 2754; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,346,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + if(this._parseListeners!==null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + this.state = 2752; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,345,this._ctx); + switch(la_) { + case 1: + localctx = new ExprContext(this, _parentctx, _parentState); + this.pushNewRecursionContext(localctx, _startState, HiveSqlParser.RULE_expr); + this.state = 2738; + if (!( this.precpred(this._ctx, 14))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 14)"); + } + this.state = 2739; + this.match(HiveSqlParser.T_MUL); + this.state = 2740; + this.expr(15); + break; + + case 2: + localctx = new ExprContext(this, _parentctx, _parentState); + this.pushNewRecursionContext(localctx, _startState, HiveSqlParser.RULE_expr); + this.state = 2741; + if (!( this.precpred(this._ctx, 13))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 13)"); + } + this.state = 2742; + this.match(HiveSqlParser.T_DIV); + this.state = 2743; + this.expr(14); + break; + + case 3: + localctx = new ExprContext(this, _parentctx, _parentState); + this.pushNewRecursionContext(localctx, _startState, HiveSqlParser.RULE_expr); + this.state = 2744; + if (!( this.precpred(this._ctx, 12))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 12)"); + } + this.state = 2745; + this.match(HiveSqlParser.T_ADD); + this.state = 2746; + this.expr(13); + break; + + case 4: + localctx = new ExprContext(this, _parentctx, _parentState); + this.pushNewRecursionContext(localctx, _startState, HiveSqlParser.RULE_expr); + this.state = 2747; + if (!( this.precpred(this._ctx, 11))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 11)"); + } + this.state = 2748; + this.match(HiveSqlParser.T_SUB); + this.state = 2749; + this.expr(12); + break; + + case 5: + localctx = new ExprContext(this, _parentctx, _parentState); + this.pushNewRecursionContext(localctx, _startState, HiveSqlParser.RULE_expr); + this.state = 2750; + if (!( this.precpred(this._ctx, 15))) { + throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 15)"); + } + this.state = 2751; + this.interval_item(); + break; + + } + } + this.state = 2756; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,346,this._ctx); + } + + } catch( error) { + if(error instanceof antlr4.error.RecognitionException) { + localctx.exception = error; + this._errHandler.reportError(this, error); + this._errHandler.recover(this, error); + } else { + throw error; + } + } finally { + this.unrollRecursionContexts(_parentctx) + } + return localctx; +}; + + +function Expr_atomContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_atom; + return this; +} + +Expr_atomContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_atomContext.prototype.constructor = Expr_atomContext; + +Expr_atomContext.prototype.date_literal = function() { + return this.getTypedRuleContext(Date_literalContext,0); +}; + +Expr_atomContext.prototype.timestamp_literal = function() { + return this.getTypedRuleContext(Timestamp_literalContext,0); +}; + +Expr_atomContext.prototype.bool_literal = function() { + return this.getTypedRuleContext(Bool_literalContext,0); +}; + +Expr_atomContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Expr_atomContext.prototype.string = function() { + return this.getTypedRuleContext(StringContext,0); +}; + +Expr_atomContext.prototype.dec_number = function() { + return this.getTypedRuleContext(Dec_numberContext,0); +}; + +Expr_atomContext.prototype.int_number = function() { + return this.getTypedRuleContext(Int_numberContext,0); +}; + +Expr_atomContext.prototype.null_const = function() { + return this.getTypedRuleContext(Null_constContext,0); +}; + +Expr_atomContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_atom(this); + } +}; + +Expr_atomContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_atom(this); + } +}; + +Expr_atomContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_atom(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_atomContext = Expr_atomContext; + +HiveSqlParser.prototype.expr_atom = function() { + + var localctx = new Expr_atomContext(this, this._ctx, this.state); + this.enterRule(localctx, 384, HiveSqlParser.RULE_expr_atom); + try { + this.state = 2765; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,347,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2757; + this.date_literal(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2758; + this.timestamp_literal(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2759; + this.bool_literal(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 2760; + this.ident(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 2761; + this.string(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 2762; + this.dec_number(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 2763; + this.int_number(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 2764; + this.null_const(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_intervalContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_interval; + return this; +} + +Expr_intervalContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_intervalContext.prototype.constructor = Expr_intervalContext; + +Expr_intervalContext.prototype.T_INTERVAL = function() { + return this.getToken(HiveSqlParser.T_INTERVAL, 0); +}; + +Expr_intervalContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Expr_intervalContext.prototype.interval_item = function() { + return this.getTypedRuleContext(Interval_itemContext,0); +}; + +Expr_intervalContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_interval(this); + } +}; + +Expr_intervalContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_interval(this); + } +}; + +Expr_intervalContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_interval(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_intervalContext = Expr_intervalContext; + +HiveSqlParser.prototype.expr_interval = function() { + + var localctx = new Expr_intervalContext(this, this._ctx, this.state); + this.enterRule(localctx, 386, HiveSqlParser.RULE_expr_interval); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2767; + this.match(HiveSqlParser.T_INTERVAL); + this.state = 2768; + this.expr(0); + this.state = 2769; + this.interval_item(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Interval_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_interval_item; + return this; +} + +Interval_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Interval_itemContext.prototype.constructor = Interval_itemContext; + +Interval_itemContext.prototype.T_DAY = function() { + return this.getToken(HiveSqlParser.T_DAY, 0); +}; + +Interval_itemContext.prototype.T_DAYS = function() { + return this.getToken(HiveSqlParser.T_DAYS, 0); +}; + +Interval_itemContext.prototype.T_MICROSECOND = function() { + return this.getToken(HiveSqlParser.T_MICROSECOND, 0); +}; + +Interval_itemContext.prototype.T_MICROSECONDS = function() { + return this.getToken(HiveSqlParser.T_MICROSECONDS, 0); +}; + +Interval_itemContext.prototype.T_SECOND = function() { + return this.getToken(HiveSqlParser.T_SECOND, 0); +}; + +Interval_itemContext.prototype.T_SECONDS = function() { + return this.getToken(HiveSqlParser.T_SECONDS, 0); +}; + +Interval_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInterval_item(this); + } +}; + +Interval_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInterval_item(this); + } +}; + +Interval_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInterval_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Interval_itemContext = Interval_itemContext; + +HiveSqlParser.prototype.interval_item = function() { + + var localctx = new Interval_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 388, HiveSqlParser.RULE_interval_item); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2771; + _la = this._input.LA(1); + if(!(((((_la - 316)) & ~0x1f) == 0 && ((1 << (_la - 316)) & ((1 << (HiveSqlParser.T_DAY - 316)) | (1 << (HiveSqlParser.T_DAYS - 316)) | (1 << (HiveSqlParser.T_MICROSECOND - 316)) | (1 << (HiveSqlParser.T_MICROSECONDS - 316)) | (1 << (HiveSqlParser.T_SECOND - 316)) | (1 << (HiveSqlParser.T_SECONDS - 316)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_concatContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_concat; + return this; +} + +Expr_concatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_concatContext.prototype.constructor = Expr_concatContext; + +Expr_concatContext.prototype.expr_concat_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Expr_concat_itemContext); + } else { + return this.getTypedRuleContext(Expr_concat_itemContext,i); + } +}; + +Expr_concatContext.prototype.T_PIPE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_PIPE); + } else { + return this.getToken(HiveSqlParser.T_PIPE, i); + } +}; + + +Expr_concatContext.prototype.T_CONCAT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_CONCAT); + } else { + return this.getToken(HiveSqlParser.T_CONCAT, i); + } +}; + + +Expr_concatContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_concat(this); + } +}; + +Expr_concatContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_concat(this); + } +}; + +Expr_concatContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_concat(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_concatContext = Expr_concatContext; + +HiveSqlParser.prototype.expr_concat = function() { + + var localctx = new Expr_concatContext(this, this._ctx, this.state); + this.enterRule(localctx, 390, HiveSqlParser.RULE_expr_concat); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2773; + this.expr_concat_item(); + this.state = 2774; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_PIPE || _la===HiveSqlParser.T_CONCAT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2775; + this.expr_concat_item(); + this.state = 2780; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,348,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2776; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_PIPE || _la===HiveSqlParser.T_CONCAT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2777; + this.expr_concat_item(); + } + this.state = 2782; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,348,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_concat_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_concat_item; + return this; +} + +Expr_concat_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_concat_itemContext.prototype.constructor = Expr_concat_itemContext; + +Expr_concat_itemContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Expr_concat_itemContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Expr_concat_itemContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Expr_concat_itemContext.prototype.expr_case = function() { + return this.getTypedRuleContext(Expr_caseContext,0); +}; + +Expr_concat_itemContext.prototype.expr_agg_window_func = function() { + return this.getTypedRuleContext(Expr_agg_window_funcContext,0); +}; + +Expr_concat_itemContext.prototype.expr_spec_func = function() { + return this.getTypedRuleContext(Expr_spec_funcContext,0); +}; + +Expr_concat_itemContext.prototype.expr_func = function() { + return this.getTypedRuleContext(Expr_funcContext,0); +}; + +Expr_concat_itemContext.prototype.expr_atom = function() { + return this.getTypedRuleContext(Expr_atomContext,0); +}; + +Expr_concat_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_concat_item(this); + } +}; + +Expr_concat_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_concat_item(this); + } +}; + +Expr_concat_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_concat_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_concat_itemContext = Expr_concat_itemContext; + +HiveSqlParser.prototype.expr_concat_item = function() { + + var localctx = new Expr_concat_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 392, HiveSqlParser.RULE_expr_concat_item); + try { + this.state = 2792; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,349,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2783; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2784; + this.expr(0); + this.state = 2785; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2787; + this.expr_case(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2788; + this.expr_agg_window_func(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 2789; + this.expr_spec_func(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 2790; + this.expr_func(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 2791; + this.expr_atom(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_caseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_case; + return this; +} + +Expr_caseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_caseContext.prototype.constructor = Expr_caseContext; + +Expr_caseContext.prototype.expr_case_simple = function() { + return this.getTypedRuleContext(Expr_case_simpleContext,0); +}; + +Expr_caseContext.prototype.expr_case_searched = function() { + return this.getTypedRuleContext(Expr_case_searchedContext,0); +}; + +Expr_caseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_case(this); + } +}; + +Expr_caseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_case(this); + } +}; + +Expr_caseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_case(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_caseContext = Expr_caseContext; + +HiveSqlParser.prototype.expr_case = function() { + + var localctx = new Expr_caseContext(this, this._ctx, this.state); + this.enterRule(localctx, 394, HiveSqlParser.RULE_expr_case); + try { + this.state = 2796; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,350,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2794; + this.expr_case_simple(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2795; + this.expr_case_searched(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_case_simpleContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_case_simple; + return this; +} + +Expr_case_simpleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_case_simpleContext.prototype.constructor = Expr_case_simpleContext; + +Expr_case_simpleContext.prototype.T_CASE = function() { + return this.getToken(HiveSqlParser.T_CASE, 0); +}; + +Expr_case_simpleContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Expr_case_simpleContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +Expr_case_simpleContext.prototype.T_WHEN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_WHEN); + } else { + return this.getToken(HiveSqlParser.T_WHEN, i); + } +}; + + +Expr_case_simpleContext.prototype.T_THEN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_THEN); + } else { + return this.getToken(HiveSqlParser.T_THEN, i); + } +}; + + +Expr_case_simpleContext.prototype.T_ELSE = function() { + return this.getToken(HiveSqlParser.T_ELSE, 0); +}; + +Expr_case_simpleContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_case_simple(this); + } +}; + +Expr_case_simpleContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_case_simple(this); + } +}; + +Expr_case_simpleContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_case_simple(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_case_simpleContext = Expr_case_simpleContext; + +HiveSqlParser.prototype.expr_case_simple = function() { + + var localctx = new Expr_case_simpleContext(this, this._ctx, this.state); + this.enterRule(localctx, 396, HiveSqlParser.RULE_expr_case_simple); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2798; + this.match(HiveSqlParser.T_CASE); + this.state = 2799; + this.expr(0); + this.state = 2805; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2800; + this.match(HiveSqlParser.T_WHEN); + this.state = 2801; + this.expr(0); + this.state = 2802; + this.match(HiveSqlParser.T_THEN); + this.state = 2803; + this.expr(0); + this.state = 2807; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===HiveSqlParser.T_WHEN); + this.state = 2811; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ELSE) { + this.state = 2809; + this.match(HiveSqlParser.T_ELSE); + this.state = 2810; + this.expr(0); + } + + this.state = 2813; + this.match(HiveSqlParser.T_END); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_case_searchedContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_case_searched; + return this; +} + +Expr_case_searchedContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_case_searchedContext.prototype.constructor = Expr_case_searchedContext; + +Expr_case_searchedContext.prototype.T_CASE = function() { + return this.getToken(HiveSqlParser.T_CASE, 0); +}; + +Expr_case_searchedContext.prototype.T_END = function() { + return this.getToken(HiveSqlParser.T_END, 0); +}; + +Expr_case_searchedContext.prototype.T_WHEN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_WHEN); + } else { + return this.getToken(HiveSqlParser.T_WHEN, i); + } +}; + + +Expr_case_searchedContext.prototype.bool_expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Bool_exprContext); + } else { + return this.getTypedRuleContext(Bool_exprContext,i); + } +}; + +Expr_case_searchedContext.prototype.T_THEN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_THEN); + } else { + return this.getToken(HiveSqlParser.T_THEN, i); + } +}; + + +Expr_case_searchedContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Expr_case_searchedContext.prototype.T_ELSE = function() { + return this.getToken(HiveSqlParser.T_ELSE, 0); +}; + +Expr_case_searchedContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_case_searched(this); + } +}; + +Expr_case_searchedContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_case_searched(this); + } +}; + +Expr_case_searchedContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_case_searched(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_case_searchedContext = Expr_case_searchedContext; + +HiveSqlParser.prototype.expr_case_searched = function() { + + var localctx = new Expr_case_searchedContext(this, this._ctx, this.state); + this.enterRule(localctx, 398, HiveSqlParser.RULE_expr_case_searched); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2815; + this.match(HiveSqlParser.T_CASE); + this.state = 2821; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2816; + this.match(HiveSqlParser.T_WHEN); + this.state = 2817; + this.bool_expr(0); + this.state = 2818; + this.match(HiveSqlParser.T_THEN); + this.state = 2819; + this.expr(0); + this.state = 2823; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===HiveSqlParser.T_WHEN); + this.state = 2827; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ELSE) { + this.state = 2825; + this.match(HiveSqlParser.T_ELSE); + this.state = 2826; + this.expr(0); + } + + this.state = 2829; + this.match(HiveSqlParser.T_END); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_cursor_attributeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_cursor_attribute; + return this; +} + +Expr_cursor_attributeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_cursor_attributeContext.prototype.constructor = Expr_cursor_attributeContext; + +Expr_cursor_attributeContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Expr_cursor_attributeContext.prototype.T_ISOPEN = function() { + return this.getToken(HiveSqlParser.T_ISOPEN, 0); +}; + +Expr_cursor_attributeContext.prototype.T_FOUND = function() { + return this.getToken(HiveSqlParser.T_FOUND, 0); +}; + +Expr_cursor_attributeContext.prototype.T_NOTFOUND = function() { + return this.getToken(HiveSqlParser.T_NOTFOUND, 0); +}; + +Expr_cursor_attributeContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_cursor_attribute(this); + } +}; + +Expr_cursor_attributeContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_cursor_attribute(this); + } +}; + +Expr_cursor_attributeContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_cursor_attribute(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_cursor_attributeContext = Expr_cursor_attributeContext; + +HiveSqlParser.prototype.expr_cursor_attribute = function() { + + var localctx = new Expr_cursor_attributeContext(this, this._ctx, this.state); + this.enterRule(localctx, 400, HiveSqlParser.RULE_expr_cursor_attribute); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2831; + this.ident(); + this.state = 2832; + this.match(HiveSqlParser.T__3); + this.state = 2833; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_FOUND || _la===HiveSqlParser.T_ISOPEN || _la===HiveSqlParser.T_NOTFOUND)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_agg_window_funcContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_agg_window_func; + return this; +} + +Expr_agg_window_funcContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_agg_window_funcContext.prototype.constructor = Expr_agg_window_funcContext; + +Expr_agg_window_funcContext.prototype.T_AVG = function() { + return this.getToken(HiveSqlParser.T_AVG, 0); +}; + +Expr_agg_window_funcContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Expr_agg_window_funcContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Expr_agg_window_funcContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Expr_agg_window_funcContext.prototype.expr_func_all_distinct = function() { + return this.getTypedRuleContext(Expr_func_all_distinctContext,0); +}; + +Expr_agg_window_funcContext.prototype.expr_func_over_clause = function() { + return this.getTypedRuleContext(Expr_func_over_clauseContext,0); +}; + +Expr_agg_window_funcContext.prototype.T_COUNT = function() { + return this.getToken(HiveSqlParser.T_COUNT, 0); +}; + +Expr_agg_window_funcContext.prototype.T_COUNT_BIG = function() { + return this.getToken(HiveSqlParser.T_COUNT_BIG, 0); +}; + +Expr_agg_window_funcContext.prototype.T_CUME_DIST = function() { + return this.getToken(HiveSqlParser.T_CUME_DIST, 0); +}; + +Expr_agg_window_funcContext.prototype.T_DENSE_RANK = function() { + return this.getToken(HiveSqlParser.T_DENSE_RANK, 0); +}; + +Expr_agg_window_funcContext.prototype.T_FIRST_VALUE = function() { + return this.getToken(HiveSqlParser.T_FIRST_VALUE, 0); +}; + +Expr_agg_window_funcContext.prototype.T_LAG = function() { + return this.getToken(HiveSqlParser.T_LAG, 0); +}; + +Expr_agg_window_funcContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Expr_agg_window_funcContext.prototype.T_LAST_VALUE = function() { + return this.getToken(HiveSqlParser.T_LAST_VALUE, 0); +}; + +Expr_agg_window_funcContext.prototype.T_LEAD = function() { + return this.getToken(HiveSqlParser.T_LEAD, 0); +}; + +Expr_agg_window_funcContext.prototype.T_MAX = function() { + return this.getToken(HiveSqlParser.T_MAX, 0); +}; + +Expr_agg_window_funcContext.prototype.T_MIN = function() { + return this.getToken(HiveSqlParser.T_MIN, 0); +}; + +Expr_agg_window_funcContext.prototype.T_RANK = function() { + return this.getToken(HiveSqlParser.T_RANK, 0); +}; + +Expr_agg_window_funcContext.prototype.T_ROW_NUMBER = function() { + return this.getToken(HiveSqlParser.T_ROW_NUMBER, 0); +}; + +Expr_agg_window_funcContext.prototype.T_STDEV = function() { + return this.getToken(HiveSqlParser.T_STDEV, 0); +}; + +Expr_agg_window_funcContext.prototype.T_SUM = function() { + return this.getToken(HiveSqlParser.T_SUM, 0); +}; + +Expr_agg_window_funcContext.prototype.T_VAR = function() { + return this.getToken(HiveSqlParser.T_VAR, 0); +}; + +Expr_agg_window_funcContext.prototype.T_VARIANCE = function() { + return this.getToken(HiveSqlParser.T_VARIANCE, 0); +}; + +Expr_agg_window_funcContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_agg_window_func(this); + } +}; + +Expr_agg_window_funcContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_agg_window_func(this); + } +}; + +Expr_agg_window_funcContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_agg_window_func(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_agg_window_funcContext = Expr_agg_window_funcContext; + +HiveSqlParser.prototype.expr_agg_window_func = function() { + + var localctx = new Expr_agg_window_funcContext(this, this._ctx, this.state); + this.enterRule(localctx, 402, HiveSqlParser.RULE_expr_agg_window_func); + var _la = 0; // Token type + try { + this.state = 2987; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_AVG: + this.enterOuterAlt(localctx, 1); + this.state = 2835; + this.match(HiveSqlParser.T_AVG); + this.state = 2836; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2838; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,355,this._ctx); + if(la_===1) { + this.state = 2837; + this.expr_func_all_distinct(); + + } + this.state = 2840; + this.expr(0); + this.state = 2841; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2843; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,356,this._ctx); + if(la_===1) { + this.state = 2842; + this.expr_func_over_clause(); + + } + break; + case HiveSqlParser.T_COUNT: + this.enterOuterAlt(localctx, 2); + this.state = 2845; + this.match(HiveSqlParser.T_COUNT); + this.state = 2846; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2852; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T__9: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_NULL: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_OPEN_P: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.L_INT: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.L_S_STRING: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_MAX_PART_STRING: + case HiveSqlParser.T_MIN_PART_STRING: + case HiveSqlParser.T_MAX_PART_INT: + case HiveSqlParser.T_MIN_PART_INT: + case HiveSqlParser.T_MAX_PART_DATE: + case HiveSqlParser.T_MIN_PART_DATE: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.L_D_STRING: + case HiveSqlParser.L_DEC: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 2848; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,357,this._ctx); + if(la_===1) { + this.state = 2847; + this.expr_func_all_distinct(); + + } + this.state = 2850; + this.expr(0); + break; + case HiveSqlParser.T__5: + this.state = 2851; + this.match(HiveSqlParser.T__5); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2854; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2856; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,359,this._ctx); + if(la_===1) { + this.state = 2855; + this.expr_func_over_clause(); + + } + break; + case HiveSqlParser.T_COUNT_BIG: + this.enterOuterAlt(localctx, 3); + this.state = 2858; + this.match(HiveSqlParser.T_COUNT_BIG); + this.state = 2859; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2865; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T__9: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_NULL: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_OPEN_P: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.L_INT: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.L_S_STRING: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_MAX_PART_STRING: + case HiveSqlParser.T_MIN_PART_STRING: + case HiveSqlParser.T_MAX_PART_INT: + case HiveSqlParser.T_MIN_PART_INT: + case HiveSqlParser.T_MAX_PART_DATE: + case HiveSqlParser.T_MIN_PART_DATE: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.L_D_STRING: + case HiveSqlParser.L_DEC: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 2861; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,360,this._ctx); + if(la_===1) { + this.state = 2860; + this.expr_func_all_distinct(); + + } + this.state = 2863; + this.expr(0); + break; + case HiveSqlParser.T__5: + this.state = 2864; + this.match(HiveSqlParser.T__5); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2867; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2869; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,362,this._ctx); + if(la_===1) { + this.state = 2868; + this.expr_func_over_clause(); + + } + break; + case HiveSqlParser.T_CUME_DIST: + this.enterOuterAlt(localctx, 4); + this.state = 2871; + this.match(HiveSqlParser.T_CUME_DIST); + this.state = 2872; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2873; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2874; + this.expr_func_over_clause(); + break; + case HiveSqlParser.T_DENSE_RANK: + this.enterOuterAlt(localctx, 5); + this.state = 2875; + this.match(HiveSqlParser.T_DENSE_RANK); + this.state = 2876; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2877; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2878; + this.expr_func_over_clause(); + break; + case HiveSqlParser.T_FIRST_VALUE: + this.enterOuterAlt(localctx, 6); + this.state = 2879; + this.match(HiveSqlParser.T_FIRST_VALUE); + this.state = 2880; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2881; + this.expr(0); + this.state = 2882; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2883; + this.expr_func_over_clause(); + break; + case HiveSqlParser.T_LAG: + this.enterOuterAlt(localctx, 7); + this.state = 2885; + this.match(HiveSqlParser.T_LAG); + this.state = 2886; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2887; + this.expr(0); + this.state = 2894; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 2888; + this.match(HiveSqlParser.T_COMMA); + this.state = 2889; + this.expr(0); + this.state = 2892; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 2890; + this.match(HiveSqlParser.T_COMMA); + this.state = 2891; + this.expr(0); + } + + } + + this.state = 2896; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2897; + this.expr_func_over_clause(); + break; + case HiveSqlParser.T_LAST_VALUE: + this.enterOuterAlt(localctx, 8); + this.state = 2899; + this.match(HiveSqlParser.T_LAST_VALUE); + this.state = 2900; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2901; + this.expr(0); + this.state = 2902; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2903; + this.expr_func_over_clause(); + break; + case HiveSqlParser.T_LEAD: + this.enterOuterAlt(localctx, 9); + this.state = 2905; + this.match(HiveSqlParser.T_LEAD); + this.state = 2906; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2907; + this.expr(0); + this.state = 2914; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 2908; + this.match(HiveSqlParser.T_COMMA); + this.state = 2909; + this.expr(0); + this.state = 2912; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 2910; + this.match(HiveSqlParser.T_COMMA); + this.state = 2911; + this.expr(0); + } + + } + + this.state = 2916; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2917; + this.expr_func_over_clause(); + break; + case HiveSqlParser.T_MAX: + this.enterOuterAlt(localctx, 10); + this.state = 2919; + this.match(HiveSqlParser.T_MAX); + this.state = 2920; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2922; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,367,this._ctx); + if(la_===1) { + this.state = 2921; + this.expr_func_all_distinct(); + + } + this.state = 2924; + this.expr(0); + this.state = 2925; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2927; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,368,this._ctx); + if(la_===1) { + this.state = 2926; + this.expr_func_over_clause(); + + } + break; + case HiveSqlParser.T_MIN: + this.enterOuterAlt(localctx, 11); + this.state = 2929; + this.match(HiveSqlParser.T_MIN); + this.state = 2930; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2932; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,369,this._ctx); + if(la_===1) { + this.state = 2931; + this.expr_func_all_distinct(); + + } + this.state = 2934; + this.expr(0); + this.state = 2935; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2937; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,370,this._ctx); + if(la_===1) { + this.state = 2936; + this.expr_func_over_clause(); + + } + break; + case HiveSqlParser.T_RANK: + this.enterOuterAlt(localctx, 12); + this.state = 2939; + this.match(HiveSqlParser.T_RANK); + this.state = 2940; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2941; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2942; + this.expr_func_over_clause(); + break; + case HiveSqlParser.T_ROW_NUMBER: + this.enterOuterAlt(localctx, 13); + this.state = 2943; + this.match(HiveSqlParser.T_ROW_NUMBER); + this.state = 2944; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2945; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2946; + this.expr_func_over_clause(); + break; + case HiveSqlParser.T_STDEV: + this.enterOuterAlt(localctx, 14); + this.state = 2947; + this.match(HiveSqlParser.T_STDEV); + this.state = 2948; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2950; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,371,this._ctx); + if(la_===1) { + this.state = 2949; + this.expr_func_all_distinct(); + + } + this.state = 2952; + this.expr(0); + this.state = 2953; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2955; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,372,this._ctx); + if(la_===1) { + this.state = 2954; + this.expr_func_over_clause(); + + } + break; + case HiveSqlParser.T_SUM: + this.enterOuterAlt(localctx, 15); + this.state = 2957; + this.match(HiveSqlParser.T_SUM); + this.state = 2958; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2960; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,373,this._ctx); + if(la_===1) { + this.state = 2959; + this.expr_func_all_distinct(); + + } + this.state = 2962; + this.expr(0); + this.state = 2963; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2965; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,374,this._ctx); + if(la_===1) { + this.state = 2964; + this.expr_func_over_clause(); + + } + break; + case HiveSqlParser.T_VAR: + this.enterOuterAlt(localctx, 16); + this.state = 2967; + this.match(HiveSqlParser.T_VAR); + this.state = 2968; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2970; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,375,this._ctx); + if(la_===1) { + this.state = 2969; + this.expr_func_all_distinct(); + + } + this.state = 2972; + this.expr(0); + this.state = 2973; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2975; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,376,this._ctx); + if(la_===1) { + this.state = 2974; + this.expr_func_over_clause(); + + } + break; + case HiveSqlParser.T_VARIANCE: + this.enterOuterAlt(localctx, 17); + this.state = 2977; + this.match(HiveSqlParser.T_VARIANCE); + this.state = 2978; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2980; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,377,this._ctx); + if(la_===1) { + this.state = 2979; + this.expr_func_all_distinct(); + + } + this.state = 2982; + this.expr(0); + this.state = 2983; + this.match(HiveSqlParser.T_CLOSE_P); + this.state = 2985; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,378,this._ctx); + if(la_===1) { + this.state = 2984; + this.expr_func_over_clause(); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_func_all_distinctContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_func_all_distinct; + return this; +} + +Expr_func_all_distinctContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_func_all_distinctContext.prototype.constructor = Expr_func_all_distinctContext; + +Expr_func_all_distinctContext.prototype.T_ALL = function() { + return this.getToken(HiveSqlParser.T_ALL, 0); +}; + +Expr_func_all_distinctContext.prototype.T_DISTINCT = function() { + return this.getToken(HiveSqlParser.T_DISTINCT, 0); +}; + +Expr_func_all_distinctContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_func_all_distinct(this); + } +}; + +Expr_func_all_distinctContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_func_all_distinct(this); + } +}; + +Expr_func_all_distinctContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_func_all_distinct(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_func_all_distinctContext = Expr_func_all_distinctContext; + +HiveSqlParser.prototype.expr_func_all_distinct = function() { + + var localctx = new Expr_func_all_distinctContext(this, this._ctx, this.state); + this.enterRule(localctx, 404, HiveSqlParser.RULE_expr_func_all_distinct); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2989; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_ALL || _la===HiveSqlParser.T_DISTINCT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_func_over_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_func_over_clause; + return this; +} + +Expr_func_over_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_func_over_clauseContext.prototype.constructor = Expr_func_over_clauseContext; + +Expr_func_over_clauseContext.prototype.T_OVER = function() { + return this.getToken(HiveSqlParser.T_OVER, 0); +}; + +Expr_func_over_clauseContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Expr_func_over_clauseContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Expr_func_over_clauseContext.prototype.expr_func_partition_by_clause = function() { + return this.getTypedRuleContext(Expr_func_partition_by_clauseContext,0); +}; + +Expr_func_over_clauseContext.prototype.order_by_clause = function() { + return this.getTypedRuleContext(Order_by_clauseContext,0); +}; + +Expr_func_over_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_func_over_clause(this); + } +}; + +Expr_func_over_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_func_over_clause(this); + } +}; + +Expr_func_over_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_func_over_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_func_over_clauseContext = Expr_func_over_clauseContext; + +HiveSqlParser.prototype.expr_func_over_clause = function() { + + var localctx = new Expr_func_over_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 406, HiveSqlParser.RULE_expr_func_over_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2991; + this.match(HiveSqlParser.T_OVER); + this.state = 2992; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 2994; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_PARTITION) { + this.state = 2993; + this.expr_func_partition_by_clause(); + } + + this.state = 2997; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_ORDER) { + this.state = 2996; + this.order_by_clause(); + } + + this.state = 2999; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_func_partition_by_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_func_partition_by_clause; + return this; +} + +Expr_func_partition_by_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_func_partition_by_clauseContext.prototype.constructor = Expr_func_partition_by_clauseContext; + +Expr_func_partition_by_clauseContext.prototype.T_PARTITION = function() { + return this.getToken(HiveSqlParser.T_PARTITION, 0); +}; + +Expr_func_partition_by_clauseContext.prototype.T_BY = function() { + return this.getToken(HiveSqlParser.T_BY, 0); +}; + +Expr_func_partition_by_clauseContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Expr_func_partition_by_clauseContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Expr_func_partition_by_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_func_partition_by_clause(this); + } +}; + +Expr_func_partition_by_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_func_partition_by_clause(this); + } +}; + +Expr_func_partition_by_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_func_partition_by_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_func_partition_by_clauseContext = Expr_func_partition_by_clauseContext; + +HiveSqlParser.prototype.expr_func_partition_by_clause = function() { + + var localctx = new Expr_func_partition_by_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 408, HiveSqlParser.RULE_expr_func_partition_by_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3001; + this.match(HiveSqlParser.T_PARTITION); + this.state = 3002; + this.match(HiveSqlParser.T_BY); + this.state = 3003; + this.expr(0); + this.state = 3008; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 3004; + this.match(HiveSqlParser.T_COMMA); + this.state = 3005; + this.expr(0); + this.state = 3010; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_spec_funcContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_spec_func; + return this; +} + +Expr_spec_funcContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_spec_funcContext.prototype.constructor = Expr_spec_funcContext; + +Expr_spec_funcContext.prototype.T_ACTIVITY_COUNT = function() { + return this.getToken(HiveSqlParser.T_ACTIVITY_COUNT, 0); +}; + +Expr_spec_funcContext.prototype.T_CAST = function() { + return this.getToken(HiveSqlParser.T_CAST, 0); +}; + +Expr_spec_funcContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Expr_spec_funcContext.prototype.expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExprContext); + } else { + return this.getTypedRuleContext(ExprContext,i); + } +}; + +Expr_spec_funcContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Expr_spec_funcContext.prototype.dtype = function() { + return this.getTypedRuleContext(DtypeContext,0); +}; + +Expr_spec_funcContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Expr_spec_funcContext.prototype.dtype_len = function() { + return this.getTypedRuleContext(Dtype_lenContext,0); +}; + +Expr_spec_funcContext.prototype.T_COUNT = function() { + return this.getToken(HiveSqlParser.T_COUNT, 0); +}; + +Expr_spec_funcContext.prototype.T_CURRENT_DATE = function() { + return this.getToken(HiveSqlParser.T_CURRENT_DATE, 0); +}; + +Expr_spec_funcContext.prototype.T_CURRENT = function() { + return this.getToken(HiveSqlParser.T_CURRENT, 0); +}; + +Expr_spec_funcContext.prototype.T_DATE = function() { + return this.getToken(HiveSqlParser.T_DATE, 0); +}; + +Expr_spec_funcContext.prototype.T_CURRENT_TIMESTAMP = function() { + return this.getToken(HiveSqlParser.T_CURRENT_TIMESTAMP, 0); +}; + +Expr_spec_funcContext.prototype.T_TIMESTAMP = function() { + return this.getToken(HiveSqlParser.T_TIMESTAMP, 0); +}; + +Expr_spec_funcContext.prototype.T_CURRENT_USER = function() { + return this.getToken(HiveSqlParser.T_CURRENT_USER, 0); +}; + +Expr_spec_funcContext.prototype.T_USER = function() { + return this.getToken(HiveSqlParser.T_USER, 0); +}; + +Expr_spec_funcContext.prototype.T_MAX_PART_STRING = function() { + return this.getToken(HiveSqlParser.T_MAX_PART_STRING, 0); +}; + +Expr_spec_funcContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Expr_spec_funcContext.prototype.T_EQUAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_EQUAL); + } else { + return this.getToken(HiveSqlParser.T_EQUAL, i); + } +}; + + +Expr_spec_funcContext.prototype.T_MIN_PART_STRING = function() { + return this.getToken(HiveSqlParser.T_MIN_PART_STRING, 0); +}; + +Expr_spec_funcContext.prototype.T_MAX_PART_INT = function() { + return this.getToken(HiveSqlParser.T_MAX_PART_INT, 0); +}; + +Expr_spec_funcContext.prototype.T_MIN_PART_INT = function() { + return this.getToken(HiveSqlParser.T_MIN_PART_INT, 0); +}; + +Expr_spec_funcContext.prototype.T_MAX_PART_DATE = function() { + return this.getToken(HiveSqlParser.T_MAX_PART_DATE, 0); +}; + +Expr_spec_funcContext.prototype.T_MIN_PART_DATE = function() { + return this.getToken(HiveSqlParser.T_MIN_PART_DATE, 0); +}; + +Expr_spec_funcContext.prototype.T_PART_COUNT = function() { + return this.getToken(HiveSqlParser.T_PART_COUNT, 0); +}; + +Expr_spec_funcContext.prototype.T_PART_LOC = function() { + return this.getToken(HiveSqlParser.T_PART_LOC, 0); +}; + +Expr_spec_funcContext.prototype.T_TRIM = function() { + return this.getToken(HiveSqlParser.T_TRIM, 0); +}; + +Expr_spec_funcContext.prototype.T_SUBSTRING = function() { + return this.getToken(HiveSqlParser.T_SUBSTRING, 0); +}; + +Expr_spec_funcContext.prototype.T_FROM = function() { + return this.getToken(HiveSqlParser.T_FROM, 0); +}; + +Expr_spec_funcContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Expr_spec_funcContext.prototype.T_SYSDATE = function() { + return this.getToken(HiveSqlParser.T_SYSDATE, 0); +}; + +Expr_spec_funcContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_spec_func(this); + } +}; + +Expr_spec_funcContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_spec_func(this); + } +}; + +Expr_spec_funcContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_spec_func(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_spec_funcContext = Expr_spec_funcContext; + +HiveSqlParser.prototype.expr_spec_func = function() { + + var localctx = new Expr_spec_funcContext(this, this._ctx, this.state); + this.enterRule(localctx, 410, HiveSqlParser.RULE_expr_spec_func); + var _la = 0; // Token type + try { + this.state = 3211; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,403,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3011; + this.match(HiveSqlParser.T_ACTIVITY_COUNT); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3012; + this.match(HiveSqlParser.T_CAST); + this.state = 3013; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3014; + this.expr(0); + this.state = 3015; + this.match(HiveSqlParser.T_AS); + this.state = 3016; + this.dtype(); + this.state = 3018; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_OPEN_P) { + this.state = 3017; + this.dtype_len(); + } + + this.state = 3020; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 3022; + this.match(HiveSqlParser.T_COUNT); + this.state = 3023; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3026; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__8: + case HiveSqlParser.T__9: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_NULL: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_OPEN_P: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.L_INT: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.L_S_STRING: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_MAX_PART_STRING: + case HiveSqlParser.T_MIN_PART_STRING: + case HiveSqlParser.T_MAX_PART_INT: + case HiveSqlParser.T_MIN_PART_INT: + case HiveSqlParser.T_MAX_PART_DATE: + case HiveSqlParser.T_MIN_PART_DATE: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.L_D_STRING: + case HiveSqlParser.L_DEC: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 3024; + this.expr(0); + break; + case HiveSqlParser.T__5: + this.state = 3025; + this.match(HiveSqlParser.T__5); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3028; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 3029; + this.match(HiveSqlParser.T_CURRENT_DATE); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 3030; + this.match(HiveSqlParser.T_CURRENT); + this.state = 3031; + this.match(HiveSqlParser.T_DATE); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 3035; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T_CURRENT_TIMESTAMP: + this.state = 3032; + this.match(HiveSqlParser.T_CURRENT_TIMESTAMP); + break; + case HiveSqlParser.T_CURRENT: + this.state = 3033; + this.match(HiveSqlParser.T_CURRENT); + this.state = 3034; + this.match(HiveSqlParser.T_TIMESTAMP); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3041; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,386,this._ctx); + if(la_===1) { + this.state = 3037; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3038; + this.expr(0); + this.state = 3039; + this.match(HiveSqlParser.T_CLOSE_P); + + } + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 3043; + this.match(HiveSqlParser.T_CURRENT_USER); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 3044; + this.match(HiveSqlParser.T_CURRENT); + this.state = 3045; + this.match(HiveSqlParser.T_USER); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 3046; + this.match(HiveSqlParser.T_MAX_PART_STRING); + this.state = 3047; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3048; + this.expr(0); + this.state = 3061; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 3049; + this.match(HiveSqlParser.T_COMMA); + this.state = 3050; + this.expr(0); + this.state = 3058; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 3051; + this.match(HiveSqlParser.T_COMMA); + this.state = 3052; + this.expr(0); + this.state = 3053; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3054; + this.expr(0); + this.state = 3060; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3063; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 3065; + this.match(HiveSqlParser.T_MIN_PART_STRING); + this.state = 3066; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3067; + this.expr(0); + this.state = 3080; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 3068; + this.match(HiveSqlParser.T_COMMA); + this.state = 3069; + this.expr(0); + this.state = 3077; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 3070; + this.match(HiveSqlParser.T_COMMA); + this.state = 3071; + this.expr(0); + this.state = 3072; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3073; + this.expr(0); + this.state = 3079; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3082; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 3084; + this.match(HiveSqlParser.T_MAX_PART_INT); + this.state = 3085; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3086; + this.expr(0); + this.state = 3099; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 3087; + this.match(HiveSqlParser.T_COMMA); + this.state = 3088; + this.expr(0); + this.state = 3096; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 3089; + this.match(HiveSqlParser.T_COMMA); + this.state = 3090; + this.expr(0); + this.state = 3091; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3092; + this.expr(0); + this.state = 3098; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3101; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 12: + this.enterOuterAlt(localctx, 12); + this.state = 3103; + this.match(HiveSqlParser.T_MIN_PART_INT); + this.state = 3104; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3105; + this.expr(0); + this.state = 3118; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 3106; + this.match(HiveSqlParser.T_COMMA); + this.state = 3107; + this.expr(0); + this.state = 3115; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 3108; + this.match(HiveSqlParser.T_COMMA); + this.state = 3109; + this.expr(0); + this.state = 3110; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3111; + this.expr(0); + this.state = 3117; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3120; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 13: + this.enterOuterAlt(localctx, 13); + this.state = 3122; + this.match(HiveSqlParser.T_MAX_PART_DATE); + this.state = 3123; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3124; + this.expr(0); + this.state = 3137; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 3125; + this.match(HiveSqlParser.T_COMMA); + this.state = 3126; + this.expr(0); + this.state = 3134; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 3127; + this.match(HiveSqlParser.T_COMMA); + this.state = 3128; + this.expr(0); + this.state = 3129; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3130; + this.expr(0); + this.state = 3136; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3139; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 14: + this.enterOuterAlt(localctx, 14); + this.state = 3141; + this.match(HiveSqlParser.T_MIN_PART_DATE); + this.state = 3142; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3143; + this.expr(0); + this.state = 3156; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 3144; + this.match(HiveSqlParser.T_COMMA); + this.state = 3145; + this.expr(0); + this.state = 3153; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 3146; + this.match(HiveSqlParser.T_COMMA); + this.state = 3147; + this.expr(0); + this.state = 3148; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3149; + this.expr(0); + this.state = 3155; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3158; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 15: + this.enterOuterAlt(localctx, 15); + this.state = 3160; + this.match(HiveSqlParser.T_PART_COUNT); + this.state = 3161; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3162; + this.expr(0); + this.state = 3170; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===HiveSqlParser.T_COMMA) { + this.state = 3163; + this.match(HiveSqlParser.T_COMMA); + this.state = 3164; + this.expr(0); + this.state = 3165; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3166; + this.expr(0); + this.state = 3172; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3173; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 16: + this.enterOuterAlt(localctx, 16); + this.state = 3175; + this.match(HiveSqlParser.T_PART_LOC); + this.state = 3176; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3177; + this.expr(0); + this.state = 3183; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 3178; + this.match(HiveSqlParser.T_COMMA); + this.state = 3179; + this.expr(0); + this.state = 3180; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3181; + this.expr(0); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3185; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,400, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 3189; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_COMMA) { + this.state = 3187; + this.match(HiveSqlParser.T_COMMA); + this.state = 3188; + this.expr(0); + } + + this.state = 3191; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 17: + this.enterOuterAlt(localctx, 17); + this.state = 3193; + this.match(HiveSqlParser.T_TRIM); + this.state = 3194; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3195; + this.expr(0); + this.state = 3196; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 18: + this.enterOuterAlt(localctx, 18); + this.state = 3198; + this.match(HiveSqlParser.T_SUBSTRING); + this.state = 3199; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3200; + this.expr(0); + this.state = 3201; + this.match(HiveSqlParser.T_FROM); + this.state = 3202; + this.expr(0); + this.state = 3205; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_FOR) { + this.state = 3203; + this.match(HiveSqlParser.T_FOR); + this.state = 3204; + this.expr(0); + } + + this.state = 3207; + this.match(HiveSqlParser.T_CLOSE_P); + break; + + case 19: + this.enterOuterAlt(localctx, 19); + this.state = 3209; + this.match(HiveSqlParser.T_SYSDATE); + break; + + case 20: + this.enterOuterAlt(localctx, 20); + this.state = 3210; + this.match(HiveSqlParser.T_USER); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_funcContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_func; + return this; +} + +Expr_funcContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_funcContext.prototype.constructor = Expr_funcContext; + +Expr_funcContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Expr_funcContext.prototype.T_OPEN_P = function() { + return this.getToken(HiveSqlParser.T_OPEN_P, 0); +}; + +Expr_funcContext.prototype.T_CLOSE_P = function() { + return this.getToken(HiveSqlParser.T_CLOSE_P, 0); +}; + +Expr_funcContext.prototype.expr_func_params = function() { + return this.getTypedRuleContext(Expr_func_paramsContext,0); +}; + +Expr_funcContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_func(this); + } +}; + +Expr_funcContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_func(this); + } +}; + +Expr_funcContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_func(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_funcContext = Expr_funcContext; + +HiveSqlParser.prototype.expr_func = function() { + + var localctx = new Expr_funcContext(this, this._ctx, this.state); + this.enterRule(localctx, 412, HiveSqlParser.RULE_expr_func); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3213; + this.ident(); + this.state = 3214; + this.match(HiveSqlParser.T_OPEN_P); + this.state = 3216; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,404,this._ctx); + if(la_===1) { + this.state = 3215; + this.expr_func_params(); + + } + this.state = 3218; + this.match(HiveSqlParser.T_CLOSE_P); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_func_paramsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_func_params; + return this; +} + +Expr_func_paramsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_func_paramsContext.prototype.constructor = Expr_func_paramsContext; + +Expr_func_paramsContext.prototype.func_param = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Func_paramContext); + } else { + return this.getTypedRuleContext(Func_paramContext,i); + } +}; + +Expr_func_paramsContext.prototype.T_COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.T_COMMA); + } else { + return this.getToken(HiveSqlParser.T_COMMA, i); + } +}; + + +Expr_func_paramsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_func_params(this); + } +}; + +Expr_func_paramsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_func_params(this); + } +}; + +Expr_func_paramsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_func_params(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_func_paramsContext = Expr_func_paramsContext; + +HiveSqlParser.prototype.expr_func_params = function() { + + var localctx = new Expr_func_paramsContext(this, this._ctx, this.state); + this.enterRule(localctx, 414, HiveSqlParser.RULE_expr_func_params); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3220; + this.func_param(); + this.state = 3225; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,405,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3221; + this.match(HiveSqlParser.T_COMMA); + this.state = 3222; + this.func_param(); + } + this.state = 3227; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,405,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Func_paramContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_func_param; + return this; +} + +Func_paramContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Func_paramContext.prototype.constructor = Func_paramContext; + +Func_paramContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Func_paramContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Func_paramContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Func_paramContext.prototype.T_GREATER = function() { + return this.getToken(HiveSqlParser.T_GREATER, 0); +}; + +Func_paramContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFunc_param(this); + } +}; + +Func_paramContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFunc_param(this); + } +}; + +Func_paramContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFunc_param(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Func_paramContext = Func_paramContext; + +HiveSqlParser.prototype.func_param = function() { + + var localctx = new Func_paramContext(this, this._ctx, this.state); + this.enterRule(localctx, 416, HiveSqlParser.RULE_func_param); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3228; + if (!( !this._input.LT(1).getText().equalsIgnoreCase("INTO"))) { + throw new antlr4.error.FailedPredicateException(this, "!this._input.LT(1).getText().equalsIgnoreCase(\"INTO\")"); + } + this.state = 3234; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,407,this._ctx); + if(la_===1) { + this.state = 3229; + this.ident(); + this.state = 3230; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3232; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T_GREATER) { + this.state = 3231; + this.match(HiveSqlParser.T_GREATER); + } + + + } + this.state = 3236; + this.expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_selectContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_select; + return this; +} + +Expr_selectContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_selectContext.prototype.constructor = Expr_selectContext; + +Expr_selectContext.prototype.select_stmt = function() { + return this.getTypedRuleContext(Select_stmtContext,0); +}; + +Expr_selectContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Expr_selectContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_select(this); + } +}; + +Expr_selectContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_select(this); + } +}; + +Expr_selectContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_select(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_selectContext = Expr_selectContext; + +HiveSqlParser.prototype.expr_select = function() { + + var localctx = new Expr_selectContext(this, this._ctx, this.state); + this.enterRule(localctx, 418, HiveSqlParser.RULE_expr_select); + try { + this.state = 3240; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,408,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3238; + this.select_stmt(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3239; + this.expr(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Expr_fileContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_expr_file; + return this; +} + +Expr_fileContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Expr_fileContext.prototype.constructor = Expr_fileContext; + +Expr_fileContext.prototype.file_name = function() { + return this.getTypedRuleContext(File_nameContext,0); +}; + +Expr_fileContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Expr_fileContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterExpr_file(this); + } +}; + +Expr_fileContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitExpr_file(this); + } +}; + +Expr_fileContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitExpr_file(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Expr_fileContext = Expr_fileContext; + +HiveSqlParser.prototype.expr_file = function() { + + var localctx = new Expr_fileContext(this, this._ctx, this.state); + this.enterRule(localctx, 420, HiveSqlParser.RULE_expr_file); + try { + this.state = 3244; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,409,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3242; + this.file_name(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3243; + this.expr(0); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HiveContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_hive; + return this; +} + +HiveContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HiveContext.prototype.constructor = HiveContext; + +HiveContext.prototype.T_HIVE = function() { + return this.getToken(HiveSqlParser.T_HIVE, 0); +}; + +HiveContext.prototype.hive_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Hive_itemContext); + } else { + return this.getTypedRuleContext(Hive_itemContext,i); + } +}; + +HiveContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterHive(this); + } +}; + +HiveContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitHive(this); + } +}; + +HiveContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitHive(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.HiveContext = HiveContext; + +HiveSqlParser.prototype.hive = function() { + + var localctx = new HiveContext(this, this._ctx, this.state); + this.enterRule(localctx, 422, HiveSqlParser.RULE_hive); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3246; + this.match(HiveSqlParser.T_HIVE); + this.state = 3250; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,410,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3247; + this.hive_item(); + } + this.state = 3252; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,410,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Hive_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_hive_item; + return this; +} + +Hive_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Hive_itemContext.prototype.constructor = Hive_itemContext; + +Hive_itemContext.prototype.T_SUB = function() { + return this.getToken(HiveSqlParser.T_SUB, 0); +}; + +Hive_itemContext.prototype.ident = function() { + return this.getTypedRuleContext(IdentContext,0); +}; + +Hive_itemContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Hive_itemContext.prototype.L_ID = function() { + return this.getToken(HiveSqlParser.L_ID, 0); +}; + +Hive_itemContext.prototype.T_EQUAL = function() { + return this.getToken(HiveSqlParser.T_EQUAL, 0); +}; + +Hive_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterHive_item(this); + } +}; + +Hive_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitHive_item(this); + } +}; + +Hive_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitHive_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Hive_itemContext = Hive_itemContext; + +HiveSqlParser.prototype.hive_item = function() { + + var localctx = new Hive_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 424, HiveSqlParser.RULE_hive_item); + try { + this.state = 3265; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,411,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3253; + this.match(HiveSqlParser.T_SUB); + this.state = 3254; + this.ident(); + this.state = 3255; + this.expr(0); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3257; + this.match(HiveSqlParser.T_SUB); + this.state = 3258; + this.ident(); + this.state = 3259; + this.match(HiveSqlParser.L_ID); + this.state = 3260; + this.match(HiveSqlParser.T_EQUAL); + this.state = 3261; + this.expr(0); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 3263; + this.match(HiveSqlParser.T_SUB); + this.state = 3264; + this.ident(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function HostContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_host; + return this; +} + +HostContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +HostContext.prototype.constructor = HostContext; + +HostContext.prototype.host_cmd = function() { + return this.getTypedRuleContext(Host_cmdContext,0); +}; + +HostContext.prototype.host_stmt = function() { + return this.getTypedRuleContext(Host_stmtContext,0); +}; + +HostContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterHost(this); + } +}; + +HostContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitHost(this); + } +}; + +HostContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitHost(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.HostContext = HostContext; + +HiveSqlParser.prototype.host = function() { + + var localctx = new HostContext(this, this._ctx, this.state); + this.enterRule(localctx, 426, HiveSqlParser.RULE_host); + try { + this.state = 3272; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.T__6: + this.enterOuterAlt(localctx, 1); + this.state = 3267; + this.match(HiveSqlParser.T__6); + this.state = 3268; + this.host_cmd(); + this.state = 3269; + this.match(HiveSqlParser.T__7); + break; + case HiveSqlParser.T_HOST: + this.enterOuterAlt(localctx, 2); + this.state = 3271; + this.host_stmt(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Host_cmdContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_host_cmd; + return this; +} + +Host_cmdContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Host_cmdContext.prototype.constructor = Host_cmdContext; + + +Host_cmdContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterHost_cmd(this); + } +}; + +Host_cmdContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitHost_cmd(this); + } +}; + +Host_cmdContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitHost_cmd(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Host_cmdContext = Host_cmdContext; + +HiveSqlParser.prototype.host_cmd = function() { + + var localctx = new Host_cmdContext(this, this._ctx, this.state); + this.enterRule(localctx, 428, HiveSqlParser.RULE_host_cmd); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3277; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,413,this._ctx) + while(_alt!=1 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1+1) { + this.state = 3274; + this.matchWildcard(); + } + this.state = 3279; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,413,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Host_stmtContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_host_stmt; + return this; +} + +Host_stmtContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Host_stmtContext.prototype.constructor = Host_stmtContext; + +Host_stmtContext.prototype.T_HOST = function() { + return this.getToken(HiveSqlParser.T_HOST, 0); +}; + +Host_stmtContext.prototype.expr = function() { + return this.getTypedRuleContext(ExprContext,0); +}; + +Host_stmtContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterHost_stmt(this); + } +}; + +Host_stmtContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitHost_stmt(this); + } +}; + +Host_stmtContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitHost_stmt(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Host_stmtContext = Host_stmtContext; + +HiveSqlParser.prototype.host_stmt = function() { + + var localctx = new Host_stmtContext(this, this._ctx, this.state); + this.enterRule(localctx, 430, HiveSqlParser.RULE_host_stmt); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3280; + this.match(HiveSqlParser.T_HOST); + this.state = 3281; + this.expr(0); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function File_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_file_name; + return this; +} + +File_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +File_nameContext.prototype.constructor = File_nameContext; + +File_nameContext.prototype.L_FILE = function() { + return this.getToken(HiveSqlParser.L_FILE, 0); +}; + +File_nameContext.prototype.ident = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(IdentContext); + } else { + return this.getTypedRuleContext(IdentContext,i); + } +}; + +File_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterFile_name(this); + } +}; + +File_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitFile_name(this); + } +}; + +File_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitFile_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.File_nameContext = File_nameContext; + +HiveSqlParser.prototype.file_name = function() { + + var localctx = new File_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 432, HiveSqlParser.RULE_file_name); + try { + this.state = 3297; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.L_FILE: + this.enterOuterAlt(localctx, 1); + this.state = 3283; + this.match(HiveSqlParser.L_FILE); + break; + case HiveSqlParser.T__2: + case HiveSqlParser.T__4: + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.enterOuterAlt(localctx, 2); + this.state = 3287; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case HiveSqlParser.T__2: + this.state = 3284; + this.match(HiveSqlParser.T__2); + break; + case HiveSqlParser.T__4: + this.state = 3285; + this.match(HiveSqlParser.T__4); + this.state = 3286; + this.match(HiveSqlParser.T__2); + break; + case HiveSqlParser.T__8: + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.L_ID: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + break; + default: + break; + } + this.state = 3289; + this.ident(); + this.state = 3294; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,415,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3290; + this.match(HiveSqlParser.T__2); + this.state = 3291; + this.ident(); + } + this.state = 3296; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,415,this._ctx); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Date_literalContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_date_literal; + return this; +} + +Date_literalContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Date_literalContext.prototype.constructor = Date_literalContext; + +Date_literalContext.prototype.T_DATE = function() { + return this.getToken(HiveSqlParser.T_DATE, 0); +}; + +Date_literalContext.prototype.string = function() { + return this.getTypedRuleContext(StringContext,0); +}; + +Date_literalContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDate_literal(this); + } +}; + +Date_literalContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDate_literal(this); + } +}; + +Date_literalContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDate_literal(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Date_literalContext = Date_literalContext; + +HiveSqlParser.prototype.date_literal = function() { + + var localctx = new Date_literalContext(this, this._ctx, this.state); + this.enterRule(localctx, 434, HiveSqlParser.RULE_date_literal); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3299; + this.match(HiveSqlParser.T_DATE); + this.state = 3300; + this.string(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Timestamp_literalContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_timestamp_literal; + return this; +} + +Timestamp_literalContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Timestamp_literalContext.prototype.constructor = Timestamp_literalContext; + +Timestamp_literalContext.prototype.T_TIMESTAMP = function() { + return this.getToken(HiveSqlParser.T_TIMESTAMP, 0); +}; + +Timestamp_literalContext.prototype.string = function() { + return this.getTypedRuleContext(StringContext,0); +}; + +Timestamp_literalContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterTimestamp_literal(this); + } +}; + +Timestamp_literalContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitTimestamp_literal(this); + } +}; + +Timestamp_literalContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitTimestamp_literal(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Timestamp_literalContext = Timestamp_literalContext; + +HiveSqlParser.prototype.timestamp_literal = function() { + + var localctx = new Timestamp_literalContext(this, this._ctx, this.state); + this.enterRule(localctx, 436, HiveSqlParser.RULE_timestamp_literal); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3302; + this.match(HiveSqlParser.T_TIMESTAMP); + this.state = 3303; + this.string(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IdentContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_ident; + return this; +} + +IdentContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IdentContext.prototype.constructor = IdentContext; + +IdentContext.prototype.L_ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(HiveSqlParser.L_ID); + } else { + return this.getToken(HiveSqlParser.L_ID, i); + } +}; + + +IdentContext.prototype.non_reserved_words = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Non_reserved_wordsContext); + } else { + return this.getTypedRuleContext(Non_reserved_wordsContext,i); + } +}; + +IdentContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterIdent(this); + } +}; + +IdentContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitIdent(this); + } +}; + +IdentContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitIdent(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.IdentContext = IdentContext; + +HiveSqlParser.prototype.ident = function() { + + var localctx = new IdentContext(this, this._ctx, this.state); + this.enterRule(localctx, 438, HiveSqlParser.RULE_ident); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3306; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T__8) { + this.state = 3305; + this.match(HiveSqlParser.T__8); + } + + this.state = 3310; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.L_ID: + this.state = 3308; + this.match(HiveSqlParser.L_ID); + break; + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 3309; + this.non_reserved_words(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3319; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,420,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3312; + this.match(HiveSqlParser.T__4); + this.state = 3315; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.L_ID: + this.state = 3313; + this.match(HiveSqlParser.L_ID); + break; + case HiveSqlParser.T_GO: + case HiveSqlParser.T_BEGIN: + case HiveSqlParser.T_EXCEPTION: + case HiveSqlParser.T_THEN: + case HiveSqlParser.T_SET: + case HiveSqlParser.T_ALLOCATE: + case HiveSqlParser.T_CURSOR: + case HiveSqlParser.T_FOR: + case HiveSqlParser.T_RESULT: + case HiveSqlParser.T_PROCEDURE: + case HiveSqlParser.T_ASSOCIATE: + case HiveSqlParser.T_LOCATOR: + case HiveSqlParser.T_LOCATORS: + case HiveSqlParser.T_WITH: + case HiveSqlParser.T_TRANSACTION: + case HiveSqlParser.T_BREAK: + case HiveSqlParser.T_CALL: + case HiveSqlParser.T_DECLARE: + case HiveSqlParser.T_AS: + case HiveSqlParser.T_CONSTANT: + case HiveSqlParser.T_CONDITION: + case HiveSqlParser.T_IS: + case HiveSqlParser.T_RETURN: + case HiveSqlParser.T_ONLY: + case HiveSqlParser.T_TO: + case HiveSqlParser.T_CALLER: + case HiveSqlParser.T_CLIENT: + case HiveSqlParser.T_WITHOUT: + case HiveSqlParser.T_CONTINUE: + case HiveSqlParser.T_EXIT: + case HiveSqlParser.T_HANDLER: + case HiveSqlParser.T_SQLEXCEPTION: + case HiveSqlParser.T_SQLWARNING: + case HiveSqlParser.T_NOT: + case HiveSqlParser.T_FOUND: + case HiveSqlParser.T_GLOBAL: + case HiveSqlParser.T_TEMPORARY: + case HiveSqlParser.T_TABLE: + case HiveSqlParser.T_CREATE: + case HiveSqlParser.T_IF: + case HiveSqlParser.T_EXISTS: + case HiveSqlParser.T_LOCAL: + case HiveSqlParser.T_MULTISET: + case HiveSqlParser.T_VOLATILE: + case HiveSqlParser.T_LIKE: + case HiveSqlParser.T_CONSTRAINT: + case HiveSqlParser.T_PRIMARY: + case HiveSqlParser.T_KEY: + case HiveSqlParser.T_UNIQUE: + case HiveSqlParser.T_REFERENCES: + case HiveSqlParser.T_IDENTITY: + case HiveSqlParser.T_AUTO_INCREMENT: + case HiveSqlParser.T_ENABLE: + case HiveSqlParser.T_CLUSTERED: + case HiveSqlParser.T_ASC: + case HiveSqlParser.T_DESC: + case HiveSqlParser.T_FOREIGN: + case HiveSqlParser.T_ON: + case HiveSqlParser.T_UPDATE: + case HiveSqlParser.T_DELETE: + case HiveSqlParser.T_NO: + case HiveSqlParser.T_ACTION: + case HiveSqlParser.T_RESTRICT: + case HiveSqlParser.T_DEFAULT: + case HiveSqlParser.T_CASCADE: + case HiveSqlParser.T_LOG: + case HiveSqlParser.T_FALLBACK: + case HiveSqlParser.T_COMMIT: + case HiveSqlParser.T_PRESERVE: + case HiveSqlParser.T_ROWS: + case HiveSqlParser.T_SEGMENT: + case HiveSqlParser.T_CREATION: + case HiveSqlParser.T_IMMEDIATE: + case HiveSqlParser.T_DEFERRED: + case HiveSqlParser.T_PCTFREE: + case HiveSqlParser.T_PCTUSED: + case HiveSqlParser.T_INITRANS: + case HiveSqlParser.T_MAXTRANS: + case HiveSqlParser.T_NOCOMPRESS: + case HiveSqlParser.T_LOGGING: + case HiveSqlParser.T_NOLOGGING: + case HiveSqlParser.T_STORAGE: + case HiveSqlParser.T_TABLESPACE: + case HiveSqlParser.T_INDEX: + case HiveSqlParser.T_IN: + case HiveSqlParser.T_REPLACE: + case HiveSqlParser.T_DISTRIBUTE: + case HiveSqlParser.T_BY: + case HiveSqlParser.T_HASH: + case HiveSqlParser.T_LOGGED: + case HiveSqlParser.T_COMPRESS: + case HiveSqlParser.T_YES: + case HiveSqlParser.T_DEFINITION: + case HiveSqlParser.T_DROP: + case HiveSqlParser.T_DATA: + case HiveSqlParser.T_STORED: + case HiveSqlParser.T_ROW: + case HiveSqlParser.T_FORMAT: + case HiveSqlParser.T_DELIMITED: + case HiveSqlParser.T_FIELDS: + case HiveSqlParser.T_TERMINATED: + case HiveSqlParser.T_ESCAPED: + case HiveSqlParser.T_COLLECTION: + case HiveSqlParser.T_ITEMS: + case HiveSqlParser.T_MAP: + case HiveSqlParser.T_KEYS: + case HiveSqlParser.T_LINES: + case HiveSqlParser.T_DEFINED: + case HiveSqlParser.T_TEXTIMAGE_ON: + case HiveSqlParser.T_COMMENT: + case HiveSqlParser.T_CHARACTER: + case HiveSqlParser.T_CHARSET: + case HiveSqlParser.T_ENGINE: + case HiveSqlParser.T_ALTER: + case HiveSqlParser.T_ADD2: + case HiveSqlParser.T_CHAR: + case HiveSqlParser.T_BIGINT: + case HiveSqlParser.T_BINARY_DOUBLE: + case HiveSqlParser.T_BINARY_FLOAT: + case HiveSqlParser.T_BIT: + case HiveSqlParser.T_DATE: + case HiveSqlParser.T_DATETIME: + case HiveSqlParser.T_DEC: + case HiveSqlParser.T_DECIMAL: + case HiveSqlParser.T_DOUBLE: + case HiveSqlParser.T_PRECISION: + case HiveSqlParser.T_FLOAT: + case HiveSqlParser.T_INT: + case HiveSqlParser.T_INT2: + case HiveSqlParser.T_INT4: + case HiveSqlParser.T_INT8: + case HiveSqlParser.T_INTEGER: + case HiveSqlParser.T_NCHAR: + case HiveSqlParser.T_NVARCHAR: + case HiveSqlParser.T_NUMBER: + case HiveSqlParser.T_NUMERIC: + case HiveSqlParser.T_REAL: + case HiveSqlParser.T_RESULT_SET_LOCATOR: + case HiveSqlParser.T_VARYING: + case HiveSqlParser.T_SIMPLE_FLOAT: + case HiveSqlParser.T_SIMPLE_DOUBLE: + case HiveSqlParser.T_SMALLINT: + case HiveSqlParser.T_SMALLDATETIME: + case HiveSqlParser.T_STRING: + case HiveSqlParser.T_SYS_REFCURSOR: + case HiveSqlParser.T_TIMESTAMP: + case HiveSqlParser.T_VARCHAR: + case HiveSqlParser.T_VARCHAR2: + case HiveSqlParser.T_XML: + case HiveSqlParser.T_MAX: + case HiveSqlParser.T_BYTE: + case HiveSqlParser.T_CASESPECIFIC: + case HiveSqlParser.T_CS: + case HiveSqlParser.T_DATABASE: + case HiveSqlParser.T_SCHEMA: + case HiveSqlParser.T_LOCATION: + case HiveSqlParser.T_OR: + case HiveSqlParser.T_FUNCTION: + case HiveSqlParser.T_RETURNS: + case HiveSqlParser.T_PACKAGE: + case HiveSqlParser.T_PROC: + case HiveSqlParser.T_BODY: + case HiveSqlParser.T_OUT: + case HiveSqlParser.T_INOUT: + case HiveSqlParser.T_LANGUAGE: + case HiveSqlParser.T_SQL: + case HiveSqlParser.T_SECURITY: + case HiveSqlParser.T_CREATOR: + case HiveSqlParser.T_DEFINER: + case HiveSqlParser.T_INVOKER: + case HiveSqlParser.T_OWNER: + case HiveSqlParser.T_DYNAMIC: + case HiveSqlParser.T_SETS: + case HiveSqlParser.T_EXEC: + case HiveSqlParser.T_EXECUTE: + case HiveSqlParser.T_INTO: + case HiveSqlParser.T_INCLUDE: + case HiveSqlParser.T_INSERT: + case HiveSqlParser.T_OVERWRITE: + case HiveSqlParser.T_VALUES: + case HiveSqlParser.T_DIRECTORY: + case HiveSqlParser.T_GET: + case HiveSqlParser.T_DIAGNOSTICS: + case HiveSqlParser.T_MESSAGE_TEXT: + case HiveSqlParser.T_ROW_COUNT: + case HiveSqlParser.T_GRANT: + case HiveSqlParser.T_ROLE: + case HiveSqlParser.T_LEAVE: + case HiveSqlParser.T_OBJECT: + case HiveSqlParser.T_AT: + case HiveSqlParser.T_OPEN: + case HiveSqlParser.T_FETCH: + case HiveSqlParser.T_FROM: + case HiveSqlParser.T_COLLECT: + case HiveSqlParser.T_STATISTICS: + case HiveSqlParser.T_STATS: + case HiveSqlParser.T_COLUMN: + case HiveSqlParser.T_CLOSE: + case HiveSqlParser.T_CMP: + case HiveSqlParser.T_SUM: + case HiveSqlParser.T_COPY: + case HiveSqlParser.T_HDFS: + case HiveSqlParser.T_BATCHSIZE: + case HiveSqlParser.T_DELIMITER: + case HiveSqlParser.T_SQLINSERT: + case HiveSqlParser.T_IGNORE: + case HiveSqlParser.T_WORK: + case HiveSqlParser.T_PRINT: + case HiveSqlParser.T_QUIT: + case HiveSqlParser.T_RAISE: + case HiveSqlParser.T_RESIGNAL: + case HiveSqlParser.T_SQLSTATE: + case HiveSqlParser.T_VALUE: + case HiveSqlParser.T_ROLLBACK: + case HiveSqlParser.T_CURRENT: + case HiveSqlParser.T_CURRENT_SCHEMA: + case HiveSqlParser.T_ANSI_NULLS: + case HiveSqlParser.T_ANSI_PADDING: + case HiveSqlParser.T_NOCOUNT: + case HiveSqlParser.T_QUOTED_IDENTIFIER: + case HiveSqlParser.T_XACT_ABORT: + case HiveSqlParser.T_OFF: + case HiveSqlParser.T_QUERY_BAND: + case HiveSqlParser.T_NONE: + case HiveSqlParser.T_SESSION: + case HiveSqlParser.T_SIGNAL: + case HiveSqlParser.T_SUMMARY: + case HiveSqlParser.T_TOP: + case HiveSqlParser.T_LIMIT: + case HiveSqlParser.T_TRUNCATE: + case HiveSqlParser.T_USE: + case HiveSqlParser.T_WHILE: + case HiveSqlParser.T_DO: + case HiveSqlParser.T_LOOP: + case HiveSqlParser.T_REVERSE: + case HiveSqlParser.T_STEP: + case HiveSqlParser.T_USING: + case HiveSqlParser.T_ALL: + case HiveSqlParser.T_EXCEPT: + case HiveSqlParser.T_INTERSECT: + case HiveSqlParser.T_SELECT: + case HiveSqlParser.T_SEL: + case HiveSqlParser.T_DISTINCT: + case HiveSqlParser.T_TITLE: + case HiveSqlParser.T_INNER: + case HiveSqlParser.T_JOIN: + case HiveSqlParser.T_LEFT: + case HiveSqlParser.T_RIGHT: + case HiveSqlParser.T_FULL: + case HiveSqlParser.T_OUTER: + case HiveSqlParser.T_GROUP: + case HiveSqlParser.T_HAVING: + case HiveSqlParser.T_QUALIFY: + case HiveSqlParser.T_ORDER: + case HiveSqlParser.T_RR: + case HiveSqlParser.T_RS: + case HiveSqlParser.T_UR: + case HiveSqlParser.T_AND: + case HiveSqlParser.T_KEEP: + case HiveSqlParser.T_EXCLUSIVE: + case HiveSqlParser.T_SHARE: + case HiveSqlParser.T_LOCKS: + case HiveSqlParser.T_MERGE: + case HiveSqlParser.T_MATCHED: + case HiveSqlParser.T_DESCRIBE: + case HiveSqlParser.T_BETWEEN: + case HiveSqlParser.T_RLIKE: + case HiveSqlParser.T_REGEXP: + case HiveSqlParser.T_INTERVAL: + case HiveSqlParser.T_DAY: + case HiveSqlParser.T_DAYS: + case HiveSqlParser.T_MICROSECOND: + case HiveSqlParser.T_MICROSECONDS: + case HiveSqlParser.T_SECOND: + case HiveSqlParser.T_SECONDS: + case HiveSqlParser.T_CONCAT: + case HiveSqlParser.T_CASE: + case HiveSqlParser.T_ISOPEN: + case HiveSqlParser.T_NOTFOUND: + case HiveSqlParser.T_AVG: + case HiveSqlParser.T_COUNT: + case HiveSqlParser.T_COUNT_BIG: + case HiveSqlParser.T_CUME_DIST: + case HiveSqlParser.T_DENSE_RANK: + case HiveSqlParser.T_FIRST_VALUE: + case HiveSqlParser.T_LAG: + case HiveSqlParser.T_LAST_VALUE: + case HiveSqlParser.T_LEAD: + case HiveSqlParser.T_MIN: + case HiveSqlParser.T_RANK: + case HiveSqlParser.T_ROW_NUMBER: + case HiveSqlParser.T_STDEV: + case HiveSqlParser.T_VAR: + case HiveSqlParser.T_VARIANCE: + case HiveSqlParser.T_OVER: + case HiveSqlParser.T_PARTITION: + case HiveSqlParser.T_ACTIVITY_COUNT: + case HiveSqlParser.T_CAST: + case HiveSqlParser.T_CURRENT_DATE: + case HiveSqlParser.T_CURRENT_TIMESTAMP: + case HiveSqlParser.T_CURRENT_USER: + case HiveSqlParser.T_USER: + case HiveSqlParser.T_PART_COUNT: + case HiveSqlParser.T_PART_LOC: + case HiveSqlParser.T_TRIM: + case HiveSqlParser.T_SUBSTRING: + case HiveSqlParser.T_SYSDATE: + case HiveSqlParser.T_HIVE: + case HiveSqlParser.T_HOST: + case HiveSqlParser.T_TRUE: + case HiveSqlParser.T_FALSE: + case HiveSqlParser.T_DIR: + case HiveSqlParser.T_FILE: + case HiveSqlParser.T_FILES: + case HiveSqlParser.T_NEW: + case HiveSqlParser.T_PWD: + case HiveSqlParser.T_SESSIONS: + case HiveSqlParser.T_SUBDIR: + this.state = 3314; + this.non_reserved_words(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + this.state = 3321; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,420,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function StringContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_string; + return this; +} + +StringContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +StringContext.prototype.constructor = StringContext; + + + +StringContext.prototype.copyFrom = function(ctx) { + antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); +}; + + +function Double_quotedStringContext(parser, ctx) { + StringContext.call(this, parser); + StringContext.prototype.copyFrom.call(this, ctx); + return this; +} + +Double_quotedStringContext.prototype = Object.create(StringContext.prototype); +Double_quotedStringContext.prototype.constructor = Double_quotedStringContext; + +HiveSqlParser.Double_quotedStringContext = Double_quotedStringContext; + +Double_quotedStringContext.prototype.L_D_STRING = function() { + return this.getToken(HiveSqlParser.L_D_STRING, 0); +}; +Double_quotedStringContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDouble_quotedString(this); + } +}; + +Double_quotedStringContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDouble_quotedString(this); + } +}; + +Double_quotedStringContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDouble_quotedString(this); + } else { + return visitor.visitChildren(this); + } +}; + + +function Single_quotedStringContext(parser, ctx) { + StringContext.call(this, parser); + StringContext.prototype.copyFrom.call(this, ctx); + return this; +} + +Single_quotedStringContext.prototype = Object.create(StringContext.prototype); +Single_quotedStringContext.prototype.constructor = Single_quotedStringContext; + +HiveSqlParser.Single_quotedStringContext = Single_quotedStringContext; + +Single_quotedStringContext.prototype.L_S_STRING = function() { + return this.getToken(HiveSqlParser.L_S_STRING, 0); +}; +Single_quotedStringContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterSingle_quotedString(this); + } +}; + +Single_quotedStringContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitSingle_quotedString(this); + } +}; + +Single_quotedStringContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitSingle_quotedString(this); + } else { + return visitor.visitChildren(this); + } +}; + + + +HiveSqlParser.StringContext = StringContext; + +HiveSqlParser.prototype.string = function() { + + var localctx = new StringContext(this, this._ctx, this.state); + this.enterRule(localctx, 440, HiveSqlParser.RULE_string); + try { + this.state = 3324; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case HiveSqlParser.L_S_STRING: + localctx = new Single_quotedStringContext(this, localctx); + this.enterOuterAlt(localctx, 1); + this.state = 3322; + this.match(HiveSqlParser.L_S_STRING); + break; + case HiveSqlParser.L_D_STRING: + localctx = new Double_quotedStringContext(this, localctx); + this.enterOuterAlt(localctx, 2); + this.state = 3323; + this.match(HiveSqlParser.L_D_STRING); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Int_numberContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_int_number; + return this; +} + +Int_numberContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Int_numberContext.prototype.constructor = Int_numberContext; + +Int_numberContext.prototype.L_INT = function() { + return this.getToken(HiveSqlParser.L_INT, 0); +}; + +Int_numberContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterInt_number(this); + } +}; + +Int_numberContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitInt_number(this); + } +}; + +Int_numberContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitInt_number(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Int_numberContext = Int_numberContext; + +HiveSqlParser.prototype.int_number = function() { + + var localctx = new Int_numberContext(this, this._ctx, this.state); + this.enterRule(localctx, 442, HiveSqlParser.RULE_int_number); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3327; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T__8 || _la===HiveSqlParser.T__9) { + this.state = 3326; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T__8 || _la===HiveSqlParser.T__9)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 3329; + this.match(HiveSqlParser.L_INT); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dec_numberContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_dec_number; + return this; +} + +Dec_numberContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dec_numberContext.prototype.constructor = Dec_numberContext; + +Dec_numberContext.prototype.L_DEC = function() { + return this.getToken(HiveSqlParser.L_DEC, 0); +}; + +Dec_numberContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterDec_number(this); + } +}; + +Dec_numberContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitDec_number(this); + } +}; + +Dec_numberContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitDec_number(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Dec_numberContext = Dec_numberContext; + +HiveSqlParser.prototype.dec_number = function() { + + var localctx = new Dec_numberContext(this, this._ctx, this.state); + this.enterRule(localctx, 444, HiveSqlParser.RULE_dec_number); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3332; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===HiveSqlParser.T__8 || _la===HiveSqlParser.T__9) { + this.state = 3331; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T__8 || _la===HiveSqlParser.T__9)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 3334; + this.match(HiveSqlParser.L_DEC); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bool_literalContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_bool_literal; + return this; +} + +Bool_literalContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bool_literalContext.prototype.constructor = Bool_literalContext; + +Bool_literalContext.prototype.T_TRUE = function() { + return this.getToken(HiveSqlParser.T_TRUE, 0); +}; + +Bool_literalContext.prototype.T_FALSE = function() { + return this.getToken(HiveSqlParser.T_FALSE, 0); +}; + +Bool_literalContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterBool_literal(this); + } +}; + +Bool_literalContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitBool_literal(this); + } +}; + +Bool_literalContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitBool_literal(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Bool_literalContext = Bool_literalContext; + +HiveSqlParser.prototype.bool_literal = function() { + + var localctx = new Bool_literalContext(this, this._ctx, this.state); + this.enterRule(localctx, 446, HiveSqlParser.RULE_bool_literal); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3336; + _la = this._input.LA(1); + if(!(_la===HiveSqlParser.T_TRUE || _la===HiveSqlParser.T_FALSE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Null_constContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_null_const; + return this; +} + +Null_constContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Null_constContext.prototype.constructor = Null_constContext; + +Null_constContext.prototype.T_NULL = function() { + return this.getToken(HiveSqlParser.T_NULL, 0); +}; + +Null_constContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterNull_const(this); + } +}; + +Null_constContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitNull_const(this); + } +}; + +Null_constContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitNull_const(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Null_constContext = Null_constContext; + +HiveSqlParser.prototype.null_const = function() { + + var localctx = new Null_constContext(this, this._ctx, this.state); + this.enterRule(localctx, 448, HiveSqlParser.RULE_null_const); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3338; + this.match(HiveSqlParser.T_NULL); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Non_reserved_wordsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = HiveSqlParser.RULE_non_reserved_words; + return this; +} + +Non_reserved_wordsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Non_reserved_wordsContext.prototype.constructor = Non_reserved_wordsContext; + +Non_reserved_wordsContext.prototype.T_ACTION = function() { + return this.getToken(HiveSqlParser.T_ACTION, 0); +}; + +Non_reserved_wordsContext.prototype.T_ACTIVITY_COUNT = function() { + return this.getToken(HiveSqlParser.T_ACTIVITY_COUNT, 0); +}; + +Non_reserved_wordsContext.prototype.T_ADD2 = function() { + return this.getToken(HiveSqlParser.T_ADD2, 0); +}; + +Non_reserved_wordsContext.prototype.T_ALL = function() { + return this.getToken(HiveSqlParser.T_ALL, 0); +}; + +Non_reserved_wordsContext.prototype.T_ALLOCATE = function() { + return this.getToken(HiveSqlParser.T_ALLOCATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_ALTER = function() { + return this.getToken(HiveSqlParser.T_ALTER, 0); +}; + +Non_reserved_wordsContext.prototype.T_AND = function() { + return this.getToken(HiveSqlParser.T_AND, 0); +}; + +Non_reserved_wordsContext.prototype.T_ANSI_NULLS = function() { + return this.getToken(HiveSqlParser.T_ANSI_NULLS, 0); +}; + +Non_reserved_wordsContext.prototype.T_ANSI_PADDING = function() { + return this.getToken(HiveSqlParser.T_ANSI_PADDING, 0); +}; + +Non_reserved_wordsContext.prototype.T_AS = function() { + return this.getToken(HiveSqlParser.T_AS, 0); +}; + +Non_reserved_wordsContext.prototype.T_ASC = function() { + return this.getToken(HiveSqlParser.T_ASC, 0); +}; + +Non_reserved_wordsContext.prototype.T_ASSOCIATE = function() { + return this.getToken(HiveSqlParser.T_ASSOCIATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_AT = function() { + return this.getToken(HiveSqlParser.T_AT, 0); +}; + +Non_reserved_wordsContext.prototype.T_AUTO_INCREMENT = function() { + return this.getToken(HiveSqlParser.T_AUTO_INCREMENT, 0); +}; + +Non_reserved_wordsContext.prototype.T_AVG = function() { + return this.getToken(HiveSqlParser.T_AVG, 0); +}; + +Non_reserved_wordsContext.prototype.T_BATCHSIZE = function() { + return this.getToken(HiveSqlParser.T_BATCHSIZE, 0); +}; + +Non_reserved_wordsContext.prototype.T_BEGIN = function() { + return this.getToken(HiveSqlParser.T_BEGIN, 0); +}; + +Non_reserved_wordsContext.prototype.T_BETWEEN = function() { + return this.getToken(HiveSqlParser.T_BETWEEN, 0); +}; + +Non_reserved_wordsContext.prototype.T_BIGINT = function() { + return this.getToken(HiveSqlParser.T_BIGINT, 0); +}; + +Non_reserved_wordsContext.prototype.T_BINARY_DOUBLE = function() { + return this.getToken(HiveSqlParser.T_BINARY_DOUBLE, 0); +}; + +Non_reserved_wordsContext.prototype.T_BINARY_FLOAT = function() { + return this.getToken(HiveSqlParser.T_BINARY_FLOAT, 0); +}; + +Non_reserved_wordsContext.prototype.T_BIT = function() { + return this.getToken(HiveSqlParser.T_BIT, 0); +}; + +Non_reserved_wordsContext.prototype.T_BODY = function() { + return this.getToken(HiveSqlParser.T_BODY, 0); +}; + +Non_reserved_wordsContext.prototype.T_BREAK = function() { + return this.getToken(HiveSqlParser.T_BREAK, 0); +}; + +Non_reserved_wordsContext.prototype.T_BY = function() { + return this.getToken(HiveSqlParser.T_BY, 0); +}; + +Non_reserved_wordsContext.prototype.T_BYTE = function() { + return this.getToken(HiveSqlParser.T_BYTE, 0); +}; + +Non_reserved_wordsContext.prototype.T_CALL = function() { + return this.getToken(HiveSqlParser.T_CALL, 0); +}; + +Non_reserved_wordsContext.prototype.T_CALLER = function() { + return this.getToken(HiveSqlParser.T_CALLER, 0); +}; + +Non_reserved_wordsContext.prototype.T_CASCADE = function() { + return this.getToken(HiveSqlParser.T_CASCADE, 0); +}; + +Non_reserved_wordsContext.prototype.T_CASE = function() { + return this.getToken(HiveSqlParser.T_CASE, 0); +}; + +Non_reserved_wordsContext.prototype.T_CASESPECIFIC = function() { + return this.getToken(HiveSqlParser.T_CASESPECIFIC, 0); +}; + +Non_reserved_wordsContext.prototype.T_CAST = function() { + return this.getToken(HiveSqlParser.T_CAST, 0); +}; + +Non_reserved_wordsContext.prototype.T_CHAR = function() { + return this.getToken(HiveSqlParser.T_CHAR, 0); +}; + +Non_reserved_wordsContext.prototype.T_CHARACTER = function() { + return this.getToken(HiveSqlParser.T_CHARACTER, 0); +}; + +Non_reserved_wordsContext.prototype.T_CHARSET = function() { + return this.getToken(HiveSqlParser.T_CHARSET, 0); +}; + +Non_reserved_wordsContext.prototype.T_CLIENT = function() { + return this.getToken(HiveSqlParser.T_CLIENT, 0); +}; + +Non_reserved_wordsContext.prototype.T_CLOSE = function() { + return this.getToken(HiveSqlParser.T_CLOSE, 0); +}; + +Non_reserved_wordsContext.prototype.T_CLUSTERED = function() { + return this.getToken(HiveSqlParser.T_CLUSTERED, 0); +}; + +Non_reserved_wordsContext.prototype.T_CMP = function() { + return this.getToken(HiveSqlParser.T_CMP, 0); +}; + +Non_reserved_wordsContext.prototype.T_COLLECT = function() { + return this.getToken(HiveSqlParser.T_COLLECT, 0); +}; + +Non_reserved_wordsContext.prototype.T_COLLECTION = function() { + return this.getToken(HiveSqlParser.T_COLLECTION, 0); +}; + +Non_reserved_wordsContext.prototype.T_COLUMN = function() { + return this.getToken(HiveSqlParser.T_COLUMN, 0); +}; + +Non_reserved_wordsContext.prototype.T_COMMENT = function() { + return this.getToken(HiveSqlParser.T_COMMENT, 0); +}; + +Non_reserved_wordsContext.prototype.T_COMPRESS = function() { + return this.getToken(HiveSqlParser.T_COMPRESS, 0); +}; + +Non_reserved_wordsContext.prototype.T_CONSTANT = function() { + return this.getToken(HiveSqlParser.T_CONSTANT, 0); +}; + +Non_reserved_wordsContext.prototype.T_COPY = function() { + return this.getToken(HiveSqlParser.T_COPY, 0); +}; + +Non_reserved_wordsContext.prototype.T_COMMIT = function() { + return this.getToken(HiveSqlParser.T_COMMIT, 0); +}; + +Non_reserved_wordsContext.prototype.T_CONCAT = function() { + return this.getToken(HiveSqlParser.T_CONCAT, 0); +}; + +Non_reserved_wordsContext.prototype.T_CONDITION = function() { + return this.getToken(HiveSqlParser.T_CONDITION, 0); +}; + +Non_reserved_wordsContext.prototype.T_CONSTRAINT = function() { + return this.getToken(HiveSqlParser.T_CONSTRAINT, 0); +}; + +Non_reserved_wordsContext.prototype.T_CONTINUE = function() { + return this.getToken(HiveSqlParser.T_CONTINUE, 0); +}; + +Non_reserved_wordsContext.prototype.T_COUNT = function() { + return this.getToken(HiveSqlParser.T_COUNT, 0); +}; + +Non_reserved_wordsContext.prototype.T_COUNT_BIG = function() { + return this.getToken(HiveSqlParser.T_COUNT_BIG, 0); +}; + +Non_reserved_wordsContext.prototype.T_CREATE = function() { + return this.getToken(HiveSqlParser.T_CREATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_CREATION = function() { + return this.getToken(HiveSqlParser.T_CREATION, 0); +}; + +Non_reserved_wordsContext.prototype.T_CREATOR = function() { + return this.getToken(HiveSqlParser.T_CREATOR, 0); +}; + +Non_reserved_wordsContext.prototype.T_CS = function() { + return this.getToken(HiveSqlParser.T_CS, 0); +}; + +Non_reserved_wordsContext.prototype.T_CUME_DIST = function() { + return this.getToken(HiveSqlParser.T_CUME_DIST, 0); +}; + +Non_reserved_wordsContext.prototype.T_CURRENT = function() { + return this.getToken(HiveSqlParser.T_CURRENT, 0); +}; + +Non_reserved_wordsContext.prototype.T_CURRENT_DATE = function() { + return this.getToken(HiveSqlParser.T_CURRENT_DATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_CURRENT_SCHEMA = function() { + return this.getToken(HiveSqlParser.T_CURRENT_SCHEMA, 0); +}; + +Non_reserved_wordsContext.prototype.T_CURRENT_TIMESTAMP = function() { + return this.getToken(HiveSqlParser.T_CURRENT_TIMESTAMP, 0); +}; + +Non_reserved_wordsContext.prototype.T_CURRENT_USER = function() { + return this.getToken(HiveSqlParser.T_CURRENT_USER, 0); +}; + +Non_reserved_wordsContext.prototype.T_CURSOR = function() { + return this.getToken(HiveSqlParser.T_CURSOR, 0); +}; + +Non_reserved_wordsContext.prototype.T_DATA = function() { + return this.getToken(HiveSqlParser.T_DATA, 0); +}; + +Non_reserved_wordsContext.prototype.T_DATABASE = function() { + return this.getToken(HiveSqlParser.T_DATABASE, 0); +}; + +Non_reserved_wordsContext.prototype.T_DATE = function() { + return this.getToken(HiveSqlParser.T_DATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_DATETIME = function() { + return this.getToken(HiveSqlParser.T_DATETIME, 0); +}; + +Non_reserved_wordsContext.prototype.T_DAY = function() { + return this.getToken(HiveSqlParser.T_DAY, 0); +}; + +Non_reserved_wordsContext.prototype.T_DAYS = function() { + return this.getToken(HiveSqlParser.T_DAYS, 0); +}; + +Non_reserved_wordsContext.prototype.T_DEC = function() { + return this.getToken(HiveSqlParser.T_DEC, 0); +}; + +Non_reserved_wordsContext.prototype.T_DECIMAL = function() { + return this.getToken(HiveSqlParser.T_DECIMAL, 0); +}; + +Non_reserved_wordsContext.prototype.T_DECLARE = function() { + return this.getToken(HiveSqlParser.T_DECLARE, 0); +}; + +Non_reserved_wordsContext.prototype.T_DEFAULT = function() { + return this.getToken(HiveSqlParser.T_DEFAULT, 0); +}; + +Non_reserved_wordsContext.prototype.T_DEFERRED = function() { + return this.getToken(HiveSqlParser.T_DEFERRED, 0); +}; + +Non_reserved_wordsContext.prototype.T_DEFINED = function() { + return this.getToken(HiveSqlParser.T_DEFINED, 0); +}; + +Non_reserved_wordsContext.prototype.T_DEFINER = function() { + return this.getToken(HiveSqlParser.T_DEFINER, 0); +}; + +Non_reserved_wordsContext.prototype.T_DEFINITION = function() { + return this.getToken(HiveSqlParser.T_DEFINITION, 0); +}; + +Non_reserved_wordsContext.prototype.T_DELETE = function() { + return this.getToken(HiveSqlParser.T_DELETE, 0); +}; + +Non_reserved_wordsContext.prototype.T_DELIMITED = function() { + return this.getToken(HiveSqlParser.T_DELIMITED, 0); +}; + +Non_reserved_wordsContext.prototype.T_DELIMITER = function() { + return this.getToken(HiveSqlParser.T_DELIMITER, 0); +}; + +Non_reserved_wordsContext.prototype.T_DENSE_RANK = function() { + return this.getToken(HiveSqlParser.T_DENSE_RANK, 0); +}; + +Non_reserved_wordsContext.prototype.T_DESC = function() { + return this.getToken(HiveSqlParser.T_DESC, 0); +}; + +Non_reserved_wordsContext.prototype.T_DESCRIBE = function() { + return this.getToken(HiveSqlParser.T_DESCRIBE, 0); +}; + +Non_reserved_wordsContext.prototype.T_DIAGNOSTICS = function() { + return this.getToken(HiveSqlParser.T_DIAGNOSTICS, 0); +}; + +Non_reserved_wordsContext.prototype.T_DIR = function() { + return this.getToken(HiveSqlParser.T_DIR, 0); +}; + +Non_reserved_wordsContext.prototype.T_DIRECTORY = function() { + return this.getToken(HiveSqlParser.T_DIRECTORY, 0); +}; + +Non_reserved_wordsContext.prototype.T_DISTINCT = function() { + return this.getToken(HiveSqlParser.T_DISTINCT, 0); +}; + +Non_reserved_wordsContext.prototype.T_DISTRIBUTE = function() { + return this.getToken(HiveSqlParser.T_DISTRIBUTE, 0); +}; + +Non_reserved_wordsContext.prototype.T_DO = function() { + return this.getToken(HiveSqlParser.T_DO, 0); +}; + +Non_reserved_wordsContext.prototype.T_DOUBLE = function() { + return this.getToken(HiveSqlParser.T_DOUBLE, 0); +}; + +Non_reserved_wordsContext.prototype.T_DROP = function() { + return this.getToken(HiveSqlParser.T_DROP, 0); +}; + +Non_reserved_wordsContext.prototype.T_DYNAMIC = function() { + return this.getToken(HiveSqlParser.T_DYNAMIC, 0); +}; + +Non_reserved_wordsContext.prototype.T_ENABLE = function() { + return this.getToken(HiveSqlParser.T_ENABLE, 0); +}; + +Non_reserved_wordsContext.prototype.T_ENGINE = function() { + return this.getToken(HiveSqlParser.T_ENGINE, 0); +}; + +Non_reserved_wordsContext.prototype.T_ESCAPED = function() { + return this.getToken(HiveSqlParser.T_ESCAPED, 0); +}; + +Non_reserved_wordsContext.prototype.T_EXCEPT = function() { + return this.getToken(HiveSqlParser.T_EXCEPT, 0); +}; + +Non_reserved_wordsContext.prototype.T_EXEC = function() { + return this.getToken(HiveSqlParser.T_EXEC, 0); +}; + +Non_reserved_wordsContext.prototype.T_EXECUTE = function() { + return this.getToken(HiveSqlParser.T_EXECUTE, 0); +}; + +Non_reserved_wordsContext.prototype.T_EXCEPTION = function() { + return this.getToken(HiveSqlParser.T_EXCEPTION, 0); +}; + +Non_reserved_wordsContext.prototype.T_EXCLUSIVE = function() { + return this.getToken(HiveSqlParser.T_EXCLUSIVE, 0); +}; + +Non_reserved_wordsContext.prototype.T_EXISTS = function() { + return this.getToken(HiveSqlParser.T_EXISTS, 0); +}; + +Non_reserved_wordsContext.prototype.T_EXIT = function() { + return this.getToken(HiveSqlParser.T_EXIT, 0); +}; + +Non_reserved_wordsContext.prototype.T_FALLBACK = function() { + return this.getToken(HiveSqlParser.T_FALLBACK, 0); +}; + +Non_reserved_wordsContext.prototype.T_FALSE = function() { + return this.getToken(HiveSqlParser.T_FALSE, 0); +}; + +Non_reserved_wordsContext.prototype.T_FETCH = function() { + return this.getToken(HiveSqlParser.T_FETCH, 0); +}; + +Non_reserved_wordsContext.prototype.T_FIELDS = function() { + return this.getToken(HiveSqlParser.T_FIELDS, 0); +}; + +Non_reserved_wordsContext.prototype.T_FILE = function() { + return this.getToken(HiveSqlParser.T_FILE, 0); +}; + +Non_reserved_wordsContext.prototype.T_FILES = function() { + return this.getToken(HiveSqlParser.T_FILES, 0); +}; + +Non_reserved_wordsContext.prototype.T_FIRST_VALUE = function() { + return this.getToken(HiveSqlParser.T_FIRST_VALUE, 0); +}; + +Non_reserved_wordsContext.prototype.T_FLOAT = function() { + return this.getToken(HiveSqlParser.T_FLOAT, 0); +}; + +Non_reserved_wordsContext.prototype.T_FOR = function() { + return this.getToken(HiveSqlParser.T_FOR, 0); +}; + +Non_reserved_wordsContext.prototype.T_FOREIGN = function() { + return this.getToken(HiveSqlParser.T_FOREIGN, 0); +}; + +Non_reserved_wordsContext.prototype.T_FORMAT = function() { + return this.getToken(HiveSqlParser.T_FORMAT, 0); +}; + +Non_reserved_wordsContext.prototype.T_FOUND = function() { + return this.getToken(HiveSqlParser.T_FOUND, 0); +}; + +Non_reserved_wordsContext.prototype.T_FROM = function() { + return this.getToken(HiveSqlParser.T_FROM, 0); +}; + +Non_reserved_wordsContext.prototype.T_FULL = function() { + return this.getToken(HiveSqlParser.T_FULL, 0); +}; + +Non_reserved_wordsContext.prototype.T_FUNCTION = function() { + return this.getToken(HiveSqlParser.T_FUNCTION, 0); +}; + +Non_reserved_wordsContext.prototype.T_GET = function() { + return this.getToken(HiveSqlParser.T_GET, 0); +}; + +Non_reserved_wordsContext.prototype.T_GLOBAL = function() { + return this.getToken(HiveSqlParser.T_GLOBAL, 0); +}; + +Non_reserved_wordsContext.prototype.T_GO = function() { + return this.getToken(HiveSqlParser.T_GO, 0); +}; + +Non_reserved_wordsContext.prototype.T_GRANT = function() { + return this.getToken(HiveSqlParser.T_GRANT, 0); +}; + +Non_reserved_wordsContext.prototype.T_GROUP = function() { + return this.getToken(HiveSqlParser.T_GROUP, 0); +}; + +Non_reserved_wordsContext.prototype.T_HANDLER = function() { + return this.getToken(HiveSqlParser.T_HANDLER, 0); +}; + +Non_reserved_wordsContext.prototype.T_HASH = function() { + return this.getToken(HiveSqlParser.T_HASH, 0); +}; + +Non_reserved_wordsContext.prototype.T_HAVING = function() { + return this.getToken(HiveSqlParser.T_HAVING, 0); +}; + +Non_reserved_wordsContext.prototype.T_HDFS = function() { + return this.getToken(HiveSqlParser.T_HDFS, 0); +}; + +Non_reserved_wordsContext.prototype.T_HIVE = function() { + return this.getToken(HiveSqlParser.T_HIVE, 0); +}; + +Non_reserved_wordsContext.prototype.T_HOST = function() { + return this.getToken(HiveSqlParser.T_HOST, 0); +}; + +Non_reserved_wordsContext.prototype.T_IDENTITY = function() { + return this.getToken(HiveSqlParser.T_IDENTITY, 0); +}; + +Non_reserved_wordsContext.prototype.T_IF = function() { + return this.getToken(HiveSqlParser.T_IF, 0); +}; + +Non_reserved_wordsContext.prototype.T_IGNORE = function() { + return this.getToken(HiveSqlParser.T_IGNORE, 0); +}; + +Non_reserved_wordsContext.prototype.T_IMMEDIATE = function() { + return this.getToken(HiveSqlParser.T_IMMEDIATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_IN = function() { + return this.getToken(HiveSqlParser.T_IN, 0); +}; + +Non_reserved_wordsContext.prototype.T_INCLUDE = function() { + return this.getToken(HiveSqlParser.T_INCLUDE, 0); +}; + +Non_reserved_wordsContext.prototype.T_INDEX = function() { + return this.getToken(HiveSqlParser.T_INDEX, 0); +}; + +Non_reserved_wordsContext.prototype.T_INITRANS = function() { + return this.getToken(HiveSqlParser.T_INITRANS, 0); +}; + +Non_reserved_wordsContext.prototype.T_INNER = function() { + return this.getToken(HiveSqlParser.T_INNER, 0); +}; + +Non_reserved_wordsContext.prototype.T_INOUT = function() { + return this.getToken(HiveSqlParser.T_INOUT, 0); +}; + +Non_reserved_wordsContext.prototype.T_INSERT = function() { + return this.getToken(HiveSqlParser.T_INSERT, 0); +}; + +Non_reserved_wordsContext.prototype.T_INT = function() { + return this.getToken(HiveSqlParser.T_INT, 0); +}; + +Non_reserved_wordsContext.prototype.T_INT2 = function() { + return this.getToken(HiveSqlParser.T_INT2, 0); +}; + +Non_reserved_wordsContext.prototype.T_INT4 = function() { + return this.getToken(HiveSqlParser.T_INT4, 0); +}; + +Non_reserved_wordsContext.prototype.T_INT8 = function() { + return this.getToken(HiveSqlParser.T_INT8, 0); +}; + +Non_reserved_wordsContext.prototype.T_INTEGER = function() { + return this.getToken(HiveSqlParser.T_INTEGER, 0); +}; + +Non_reserved_wordsContext.prototype.T_INTERSECT = function() { + return this.getToken(HiveSqlParser.T_INTERSECT, 0); +}; + +Non_reserved_wordsContext.prototype.T_INTERVAL = function() { + return this.getToken(HiveSqlParser.T_INTERVAL, 0); +}; + +Non_reserved_wordsContext.prototype.T_INTO = function() { + return this.getToken(HiveSqlParser.T_INTO, 0); +}; + +Non_reserved_wordsContext.prototype.T_INVOKER = function() { + return this.getToken(HiveSqlParser.T_INVOKER, 0); +}; + +Non_reserved_wordsContext.prototype.T_ITEMS = function() { + return this.getToken(HiveSqlParser.T_ITEMS, 0); +}; + +Non_reserved_wordsContext.prototype.T_IS = function() { + return this.getToken(HiveSqlParser.T_IS, 0); +}; + +Non_reserved_wordsContext.prototype.T_ISOPEN = function() { + return this.getToken(HiveSqlParser.T_ISOPEN, 0); +}; + +Non_reserved_wordsContext.prototype.T_JOIN = function() { + return this.getToken(HiveSqlParser.T_JOIN, 0); +}; + +Non_reserved_wordsContext.prototype.T_KEEP = function() { + return this.getToken(HiveSqlParser.T_KEEP, 0); +}; + +Non_reserved_wordsContext.prototype.T_KEY = function() { + return this.getToken(HiveSqlParser.T_KEY, 0); +}; + +Non_reserved_wordsContext.prototype.T_KEYS = function() { + return this.getToken(HiveSqlParser.T_KEYS, 0); +}; + +Non_reserved_wordsContext.prototype.T_LAG = function() { + return this.getToken(HiveSqlParser.T_LAG, 0); +}; + +Non_reserved_wordsContext.prototype.T_LANGUAGE = function() { + return this.getToken(HiveSqlParser.T_LANGUAGE, 0); +}; + +Non_reserved_wordsContext.prototype.T_LAST_VALUE = function() { + return this.getToken(HiveSqlParser.T_LAST_VALUE, 0); +}; + +Non_reserved_wordsContext.prototype.T_LEAD = function() { + return this.getToken(HiveSqlParser.T_LEAD, 0); +}; + +Non_reserved_wordsContext.prototype.T_LEAVE = function() { + return this.getToken(HiveSqlParser.T_LEAVE, 0); +}; + +Non_reserved_wordsContext.prototype.T_LEFT = function() { + return this.getToken(HiveSqlParser.T_LEFT, 0); +}; + +Non_reserved_wordsContext.prototype.T_LIKE = function() { + return this.getToken(HiveSqlParser.T_LIKE, 0); +}; + +Non_reserved_wordsContext.prototype.T_LIMIT = function() { + return this.getToken(HiveSqlParser.T_LIMIT, 0); +}; + +Non_reserved_wordsContext.prototype.T_LINES = function() { + return this.getToken(HiveSqlParser.T_LINES, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOCAL = function() { + return this.getToken(HiveSqlParser.T_LOCAL, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOCATION = function() { + return this.getToken(HiveSqlParser.T_LOCATION, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOCATOR = function() { + return this.getToken(HiveSqlParser.T_LOCATOR, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOCATORS = function() { + return this.getToken(HiveSqlParser.T_LOCATORS, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOCKS = function() { + return this.getToken(HiveSqlParser.T_LOCKS, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOG = function() { + return this.getToken(HiveSqlParser.T_LOG, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOGGED = function() { + return this.getToken(HiveSqlParser.T_LOGGED, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOGGING = function() { + return this.getToken(HiveSqlParser.T_LOGGING, 0); +}; + +Non_reserved_wordsContext.prototype.T_LOOP = function() { + return this.getToken(HiveSqlParser.T_LOOP, 0); +}; + +Non_reserved_wordsContext.prototype.T_MAP = function() { + return this.getToken(HiveSqlParser.T_MAP, 0); +}; + +Non_reserved_wordsContext.prototype.T_MATCHED = function() { + return this.getToken(HiveSqlParser.T_MATCHED, 0); +}; + +Non_reserved_wordsContext.prototype.T_MAX = function() { + return this.getToken(HiveSqlParser.T_MAX, 0); +}; + +Non_reserved_wordsContext.prototype.T_MAXTRANS = function() { + return this.getToken(HiveSqlParser.T_MAXTRANS, 0); +}; + +Non_reserved_wordsContext.prototype.T_MERGE = function() { + return this.getToken(HiveSqlParser.T_MERGE, 0); +}; + +Non_reserved_wordsContext.prototype.T_MESSAGE_TEXT = function() { + return this.getToken(HiveSqlParser.T_MESSAGE_TEXT, 0); +}; + +Non_reserved_wordsContext.prototype.T_MICROSECOND = function() { + return this.getToken(HiveSqlParser.T_MICROSECOND, 0); +}; + +Non_reserved_wordsContext.prototype.T_MICROSECONDS = function() { + return this.getToken(HiveSqlParser.T_MICROSECONDS, 0); +}; + +Non_reserved_wordsContext.prototype.T_MIN = function() { + return this.getToken(HiveSqlParser.T_MIN, 0); +}; + +Non_reserved_wordsContext.prototype.T_MULTISET = function() { + return this.getToken(HiveSqlParser.T_MULTISET, 0); +}; + +Non_reserved_wordsContext.prototype.T_NCHAR = function() { + return this.getToken(HiveSqlParser.T_NCHAR, 0); +}; + +Non_reserved_wordsContext.prototype.T_NEW = function() { + return this.getToken(HiveSqlParser.T_NEW, 0); +}; + +Non_reserved_wordsContext.prototype.T_NVARCHAR = function() { + return this.getToken(HiveSqlParser.T_NVARCHAR, 0); +}; + +Non_reserved_wordsContext.prototype.T_NO = function() { + return this.getToken(HiveSqlParser.T_NO, 0); +}; + +Non_reserved_wordsContext.prototype.T_NOCOMPRESS = function() { + return this.getToken(HiveSqlParser.T_NOCOMPRESS, 0); +}; + +Non_reserved_wordsContext.prototype.T_NOCOUNT = function() { + return this.getToken(HiveSqlParser.T_NOCOUNT, 0); +}; + +Non_reserved_wordsContext.prototype.T_NOLOGGING = function() { + return this.getToken(HiveSqlParser.T_NOLOGGING, 0); +}; + +Non_reserved_wordsContext.prototype.T_NONE = function() { + return this.getToken(HiveSqlParser.T_NONE, 0); +}; + +Non_reserved_wordsContext.prototype.T_NOT = function() { + return this.getToken(HiveSqlParser.T_NOT, 0); +}; + +Non_reserved_wordsContext.prototype.T_NOTFOUND = function() { + return this.getToken(HiveSqlParser.T_NOTFOUND, 0); +}; + +Non_reserved_wordsContext.prototype.T_NUMERIC = function() { + return this.getToken(HiveSqlParser.T_NUMERIC, 0); +}; + +Non_reserved_wordsContext.prototype.T_NUMBER = function() { + return this.getToken(HiveSqlParser.T_NUMBER, 0); +}; + +Non_reserved_wordsContext.prototype.T_OBJECT = function() { + return this.getToken(HiveSqlParser.T_OBJECT, 0); +}; + +Non_reserved_wordsContext.prototype.T_OFF = function() { + return this.getToken(HiveSqlParser.T_OFF, 0); +}; + +Non_reserved_wordsContext.prototype.T_ON = function() { + return this.getToken(HiveSqlParser.T_ON, 0); +}; + +Non_reserved_wordsContext.prototype.T_ONLY = function() { + return this.getToken(HiveSqlParser.T_ONLY, 0); +}; + +Non_reserved_wordsContext.prototype.T_OPEN = function() { + return this.getToken(HiveSqlParser.T_OPEN, 0); +}; + +Non_reserved_wordsContext.prototype.T_OR = function() { + return this.getToken(HiveSqlParser.T_OR, 0); +}; + +Non_reserved_wordsContext.prototype.T_ORDER = function() { + return this.getToken(HiveSqlParser.T_ORDER, 0); +}; + +Non_reserved_wordsContext.prototype.T_OUT = function() { + return this.getToken(HiveSqlParser.T_OUT, 0); +}; + +Non_reserved_wordsContext.prototype.T_OUTER = function() { + return this.getToken(HiveSqlParser.T_OUTER, 0); +}; + +Non_reserved_wordsContext.prototype.T_OVER = function() { + return this.getToken(HiveSqlParser.T_OVER, 0); +}; + +Non_reserved_wordsContext.prototype.T_OVERWRITE = function() { + return this.getToken(HiveSqlParser.T_OVERWRITE, 0); +}; + +Non_reserved_wordsContext.prototype.T_OWNER = function() { + return this.getToken(HiveSqlParser.T_OWNER, 0); +}; + +Non_reserved_wordsContext.prototype.T_PACKAGE = function() { + return this.getToken(HiveSqlParser.T_PACKAGE, 0); +}; + +Non_reserved_wordsContext.prototype.T_PART_COUNT = function() { + return this.getToken(HiveSqlParser.T_PART_COUNT, 0); +}; + +Non_reserved_wordsContext.prototype.T_PART_LOC = function() { + return this.getToken(HiveSqlParser.T_PART_LOC, 0); +}; + +Non_reserved_wordsContext.prototype.T_PARTITION = function() { + return this.getToken(HiveSqlParser.T_PARTITION, 0); +}; + +Non_reserved_wordsContext.prototype.T_PCTFREE = function() { + return this.getToken(HiveSqlParser.T_PCTFREE, 0); +}; + +Non_reserved_wordsContext.prototype.T_PCTUSED = function() { + return this.getToken(HiveSqlParser.T_PCTUSED, 0); +}; + +Non_reserved_wordsContext.prototype.T_PRECISION = function() { + return this.getToken(HiveSqlParser.T_PRECISION, 0); +}; + +Non_reserved_wordsContext.prototype.T_PRESERVE = function() { + return this.getToken(HiveSqlParser.T_PRESERVE, 0); +}; + +Non_reserved_wordsContext.prototype.T_PRIMARY = function() { + return this.getToken(HiveSqlParser.T_PRIMARY, 0); +}; + +Non_reserved_wordsContext.prototype.T_PRINT = function() { + return this.getToken(HiveSqlParser.T_PRINT, 0); +}; + +Non_reserved_wordsContext.prototype.T_PROC = function() { + return this.getToken(HiveSqlParser.T_PROC, 0); +}; + +Non_reserved_wordsContext.prototype.T_PROCEDURE = function() { + return this.getToken(HiveSqlParser.T_PROCEDURE, 0); +}; + +Non_reserved_wordsContext.prototype.T_PWD = function() { + return this.getToken(HiveSqlParser.T_PWD, 0); +}; + +Non_reserved_wordsContext.prototype.T_QUALIFY = function() { + return this.getToken(HiveSqlParser.T_QUALIFY, 0); +}; + +Non_reserved_wordsContext.prototype.T_QUERY_BAND = function() { + return this.getToken(HiveSqlParser.T_QUERY_BAND, 0); +}; + +Non_reserved_wordsContext.prototype.T_QUIT = function() { + return this.getToken(HiveSqlParser.T_QUIT, 0); +}; + +Non_reserved_wordsContext.prototype.T_QUOTED_IDENTIFIER = function() { + return this.getToken(HiveSqlParser.T_QUOTED_IDENTIFIER, 0); +}; + +Non_reserved_wordsContext.prototype.T_RAISE = function() { + return this.getToken(HiveSqlParser.T_RAISE, 0); +}; + +Non_reserved_wordsContext.prototype.T_RANK = function() { + return this.getToken(HiveSqlParser.T_RANK, 0); +}; + +Non_reserved_wordsContext.prototype.T_REAL = function() { + return this.getToken(HiveSqlParser.T_REAL, 0); +}; + +Non_reserved_wordsContext.prototype.T_REFERENCES = function() { + return this.getToken(HiveSqlParser.T_REFERENCES, 0); +}; + +Non_reserved_wordsContext.prototype.T_REGEXP = function() { + return this.getToken(HiveSqlParser.T_REGEXP, 0); +}; + +Non_reserved_wordsContext.prototype.T_RR = function() { + return this.getToken(HiveSqlParser.T_RR, 0); +}; + +Non_reserved_wordsContext.prototype.T_REPLACE = function() { + return this.getToken(HiveSqlParser.T_REPLACE, 0); +}; + +Non_reserved_wordsContext.prototype.T_RESIGNAL = function() { + return this.getToken(HiveSqlParser.T_RESIGNAL, 0); +}; + +Non_reserved_wordsContext.prototype.T_RESTRICT = function() { + return this.getToken(HiveSqlParser.T_RESTRICT, 0); +}; + +Non_reserved_wordsContext.prototype.T_RESULT = function() { + return this.getToken(HiveSqlParser.T_RESULT, 0); +}; + +Non_reserved_wordsContext.prototype.T_RESULT_SET_LOCATOR = function() { + return this.getToken(HiveSqlParser.T_RESULT_SET_LOCATOR, 0); +}; + +Non_reserved_wordsContext.prototype.T_RETURN = function() { + return this.getToken(HiveSqlParser.T_RETURN, 0); +}; + +Non_reserved_wordsContext.prototype.T_RETURNS = function() { + return this.getToken(HiveSqlParser.T_RETURNS, 0); +}; + +Non_reserved_wordsContext.prototype.T_REVERSE = function() { + return this.getToken(HiveSqlParser.T_REVERSE, 0); +}; + +Non_reserved_wordsContext.prototype.T_RIGHT = function() { + return this.getToken(HiveSqlParser.T_RIGHT, 0); +}; + +Non_reserved_wordsContext.prototype.T_RLIKE = function() { + return this.getToken(HiveSqlParser.T_RLIKE, 0); +}; + +Non_reserved_wordsContext.prototype.T_RS = function() { + return this.getToken(HiveSqlParser.T_RS, 0); +}; + +Non_reserved_wordsContext.prototype.T_ROLE = function() { + return this.getToken(HiveSqlParser.T_ROLE, 0); +}; + +Non_reserved_wordsContext.prototype.T_ROLLBACK = function() { + return this.getToken(HiveSqlParser.T_ROLLBACK, 0); +}; + +Non_reserved_wordsContext.prototype.T_ROW = function() { + return this.getToken(HiveSqlParser.T_ROW, 0); +}; + +Non_reserved_wordsContext.prototype.T_ROWS = function() { + return this.getToken(HiveSqlParser.T_ROWS, 0); +}; + +Non_reserved_wordsContext.prototype.T_ROW_COUNT = function() { + return this.getToken(HiveSqlParser.T_ROW_COUNT, 0); +}; + +Non_reserved_wordsContext.prototype.T_ROW_NUMBER = function() { + return this.getToken(HiveSqlParser.T_ROW_NUMBER, 0); +}; + +Non_reserved_wordsContext.prototype.T_SCHEMA = function() { + return this.getToken(HiveSqlParser.T_SCHEMA, 0); +}; + +Non_reserved_wordsContext.prototype.T_SECOND = function() { + return this.getToken(HiveSqlParser.T_SECOND, 0); +}; + +Non_reserved_wordsContext.prototype.T_SECONDS = function() { + return this.getToken(HiveSqlParser.T_SECONDS, 0); +}; + +Non_reserved_wordsContext.prototype.T_SECURITY = function() { + return this.getToken(HiveSqlParser.T_SECURITY, 0); +}; + +Non_reserved_wordsContext.prototype.T_SEGMENT = function() { + return this.getToken(HiveSqlParser.T_SEGMENT, 0); +}; + +Non_reserved_wordsContext.prototype.T_SEL = function() { + return this.getToken(HiveSqlParser.T_SEL, 0); +}; + +Non_reserved_wordsContext.prototype.T_SELECT = function() { + return this.getToken(HiveSqlParser.T_SELECT, 0); +}; + +Non_reserved_wordsContext.prototype.T_SESSION = function() { + return this.getToken(HiveSqlParser.T_SESSION, 0); +}; + +Non_reserved_wordsContext.prototype.T_SESSIONS = function() { + return this.getToken(HiveSqlParser.T_SESSIONS, 0); +}; + +Non_reserved_wordsContext.prototype.T_SET = function() { + return this.getToken(HiveSqlParser.T_SET, 0); +}; + +Non_reserved_wordsContext.prototype.T_SETS = function() { + return this.getToken(HiveSqlParser.T_SETS, 0); +}; + +Non_reserved_wordsContext.prototype.T_SHARE = function() { + return this.getToken(HiveSqlParser.T_SHARE, 0); +}; + +Non_reserved_wordsContext.prototype.T_SIGNAL = function() { + return this.getToken(HiveSqlParser.T_SIGNAL, 0); +}; + +Non_reserved_wordsContext.prototype.T_SIMPLE_DOUBLE = function() { + return this.getToken(HiveSqlParser.T_SIMPLE_DOUBLE, 0); +}; + +Non_reserved_wordsContext.prototype.T_SIMPLE_FLOAT = function() { + return this.getToken(HiveSqlParser.T_SIMPLE_FLOAT, 0); +}; + +Non_reserved_wordsContext.prototype.T_SMALLDATETIME = function() { + return this.getToken(HiveSqlParser.T_SMALLDATETIME, 0); +}; + +Non_reserved_wordsContext.prototype.T_SMALLINT = function() { + return this.getToken(HiveSqlParser.T_SMALLINT, 0); +}; + +Non_reserved_wordsContext.prototype.T_SQL = function() { + return this.getToken(HiveSqlParser.T_SQL, 0); +}; + +Non_reserved_wordsContext.prototype.T_SQLEXCEPTION = function() { + return this.getToken(HiveSqlParser.T_SQLEXCEPTION, 0); +}; + +Non_reserved_wordsContext.prototype.T_SQLINSERT = function() { + return this.getToken(HiveSqlParser.T_SQLINSERT, 0); +}; + +Non_reserved_wordsContext.prototype.T_SQLSTATE = function() { + return this.getToken(HiveSqlParser.T_SQLSTATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_SQLWARNING = function() { + return this.getToken(HiveSqlParser.T_SQLWARNING, 0); +}; + +Non_reserved_wordsContext.prototype.T_STATS = function() { + return this.getToken(HiveSqlParser.T_STATS, 0); +}; + +Non_reserved_wordsContext.prototype.T_STATISTICS = function() { + return this.getToken(HiveSqlParser.T_STATISTICS, 0); +}; + +Non_reserved_wordsContext.prototype.T_STEP = function() { + return this.getToken(HiveSqlParser.T_STEP, 0); +}; + +Non_reserved_wordsContext.prototype.T_STDEV = function() { + return this.getToken(HiveSqlParser.T_STDEV, 0); +}; + +Non_reserved_wordsContext.prototype.T_STORAGE = function() { + return this.getToken(HiveSqlParser.T_STORAGE, 0); +}; + +Non_reserved_wordsContext.prototype.T_STORED = function() { + return this.getToken(HiveSqlParser.T_STORED, 0); +}; + +Non_reserved_wordsContext.prototype.T_STRING = function() { + return this.getToken(HiveSqlParser.T_STRING, 0); +}; + +Non_reserved_wordsContext.prototype.T_SUBDIR = function() { + return this.getToken(HiveSqlParser.T_SUBDIR, 0); +}; + +Non_reserved_wordsContext.prototype.T_SUBSTRING = function() { + return this.getToken(HiveSqlParser.T_SUBSTRING, 0); +}; + +Non_reserved_wordsContext.prototype.T_SUM = function() { + return this.getToken(HiveSqlParser.T_SUM, 0); +}; + +Non_reserved_wordsContext.prototype.T_SUMMARY = function() { + return this.getToken(HiveSqlParser.T_SUMMARY, 0); +}; + +Non_reserved_wordsContext.prototype.T_SYSDATE = function() { + return this.getToken(HiveSqlParser.T_SYSDATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_SYS_REFCURSOR = function() { + return this.getToken(HiveSqlParser.T_SYS_REFCURSOR, 0); +}; + +Non_reserved_wordsContext.prototype.T_TABLE = function() { + return this.getToken(HiveSqlParser.T_TABLE, 0); +}; + +Non_reserved_wordsContext.prototype.T_TABLESPACE = function() { + return this.getToken(HiveSqlParser.T_TABLESPACE, 0); +}; + +Non_reserved_wordsContext.prototype.T_TEMPORARY = function() { + return this.getToken(HiveSqlParser.T_TEMPORARY, 0); +}; + +Non_reserved_wordsContext.prototype.T_TERMINATED = function() { + return this.getToken(HiveSqlParser.T_TERMINATED, 0); +}; + +Non_reserved_wordsContext.prototype.T_TEXTIMAGE_ON = function() { + return this.getToken(HiveSqlParser.T_TEXTIMAGE_ON, 0); +}; + +Non_reserved_wordsContext.prototype.T_THEN = function() { + return this.getToken(HiveSqlParser.T_THEN, 0); +}; + +Non_reserved_wordsContext.prototype.T_TIMESTAMP = function() { + return this.getToken(HiveSqlParser.T_TIMESTAMP, 0); +}; + +Non_reserved_wordsContext.prototype.T_TITLE = function() { + return this.getToken(HiveSqlParser.T_TITLE, 0); +}; + +Non_reserved_wordsContext.prototype.T_TO = function() { + return this.getToken(HiveSqlParser.T_TO, 0); +}; + +Non_reserved_wordsContext.prototype.T_TOP = function() { + return this.getToken(HiveSqlParser.T_TOP, 0); +}; + +Non_reserved_wordsContext.prototype.T_TRANSACTION = function() { + return this.getToken(HiveSqlParser.T_TRANSACTION, 0); +}; + +Non_reserved_wordsContext.prototype.T_TRIM = function() { + return this.getToken(HiveSqlParser.T_TRIM, 0); +}; + +Non_reserved_wordsContext.prototype.T_TRUE = function() { + return this.getToken(HiveSqlParser.T_TRUE, 0); +}; + +Non_reserved_wordsContext.prototype.T_TRUNCATE = function() { + return this.getToken(HiveSqlParser.T_TRUNCATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_UNIQUE = function() { + return this.getToken(HiveSqlParser.T_UNIQUE, 0); +}; + +Non_reserved_wordsContext.prototype.T_UPDATE = function() { + return this.getToken(HiveSqlParser.T_UPDATE, 0); +}; + +Non_reserved_wordsContext.prototype.T_UR = function() { + return this.getToken(HiveSqlParser.T_UR, 0); +}; + +Non_reserved_wordsContext.prototype.T_USE = function() { + return this.getToken(HiveSqlParser.T_USE, 0); +}; + +Non_reserved_wordsContext.prototype.T_USER = function() { + return this.getToken(HiveSqlParser.T_USER, 0); +}; + +Non_reserved_wordsContext.prototype.T_USING = function() { + return this.getToken(HiveSqlParser.T_USING, 0); +}; + +Non_reserved_wordsContext.prototype.T_VALUE = function() { + return this.getToken(HiveSqlParser.T_VALUE, 0); +}; + +Non_reserved_wordsContext.prototype.T_VALUES = function() { + return this.getToken(HiveSqlParser.T_VALUES, 0); +}; + +Non_reserved_wordsContext.prototype.T_VAR = function() { + return this.getToken(HiveSqlParser.T_VAR, 0); +}; + +Non_reserved_wordsContext.prototype.T_VARCHAR = function() { + return this.getToken(HiveSqlParser.T_VARCHAR, 0); +}; + +Non_reserved_wordsContext.prototype.T_VARCHAR2 = function() { + return this.getToken(HiveSqlParser.T_VARCHAR2, 0); +}; + +Non_reserved_wordsContext.prototype.T_VARYING = function() { + return this.getToken(HiveSqlParser.T_VARYING, 0); +}; + +Non_reserved_wordsContext.prototype.T_VARIANCE = function() { + return this.getToken(HiveSqlParser.T_VARIANCE, 0); +}; + +Non_reserved_wordsContext.prototype.T_VOLATILE = function() { + return this.getToken(HiveSqlParser.T_VOLATILE, 0); +}; + +Non_reserved_wordsContext.prototype.T_WHILE = function() { + return this.getToken(HiveSqlParser.T_WHILE, 0); +}; + +Non_reserved_wordsContext.prototype.T_WITH = function() { + return this.getToken(HiveSqlParser.T_WITH, 0); +}; + +Non_reserved_wordsContext.prototype.T_WITHOUT = function() { + return this.getToken(HiveSqlParser.T_WITHOUT, 0); +}; + +Non_reserved_wordsContext.prototype.T_WORK = function() { + return this.getToken(HiveSqlParser.T_WORK, 0); +}; + +Non_reserved_wordsContext.prototype.T_XACT_ABORT = function() { + return this.getToken(HiveSqlParser.T_XACT_ABORT, 0); +}; + +Non_reserved_wordsContext.prototype.T_XML = function() { + return this.getToken(HiveSqlParser.T_XML, 0); +}; + +Non_reserved_wordsContext.prototype.T_YES = function() { + return this.getToken(HiveSqlParser.T_YES, 0); +}; + +Non_reserved_wordsContext.prototype.enterRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.enterNon_reserved_words(this); + } +}; + +Non_reserved_wordsContext.prototype.exitRule = function(listener) { + if(listener instanceof HiveSqlListener ) { + listener.exitNon_reserved_words(this); + } +}; + +Non_reserved_wordsContext.prototype.accept = function(visitor) { + if ( visitor instanceof HiveSqlVisitor ) { + return visitor.visitNon_reserved_words(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +HiveSqlParser.Non_reserved_wordsContext = Non_reserved_wordsContext; + +HiveSqlParser.prototype.non_reserved_words = function() { + + var localctx = new Non_reserved_wordsContext(this, this._ctx, this.state); + this.enterRule(localctx, 450, HiveSqlParser.RULE_non_reserved_words); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3340; + _la = this._input.LA(1); + if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << HiveSqlParser.T_GO) | (1 << HiveSqlParser.T_BEGIN) | (1 << HiveSqlParser.T_EXCEPTION) | (1 << HiveSqlParser.T_THEN) | (1 << HiveSqlParser.T_SET) | (1 << HiveSqlParser.T_ALLOCATE) | (1 << HiveSqlParser.T_CURSOR) | (1 << HiveSqlParser.T_FOR) | (1 << HiveSqlParser.T_RESULT) | (1 << HiveSqlParser.T_PROCEDURE) | (1 << HiveSqlParser.T_ASSOCIATE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (HiveSqlParser.T_LOCATOR - 32)) | (1 << (HiveSqlParser.T_LOCATORS - 32)) | (1 << (HiveSqlParser.T_WITH - 32)) | (1 << (HiveSqlParser.T_TRANSACTION - 32)) | (1 << (HiveSqlParser.T_BREAK - 32)) | (1 << (HiveSqlParser.T_CALL - 32)) | (1 << (HiveSqlParser.T_DECLARE - 32)) | (1 << (HiveSqlParser.T_AS - 32)) | (1 << (HiveSqlParser.T_CONSTANT - 32)) | (1 << (HiveSqlParser.T_CONDITION - 32)) | (1 << (HiveSqlParser.T_IS - 32)) | (1 << (HiveSqlParser.T_RETURN - 32)) | (1 << (HiveSqlParser.T_ONLY - 32)) | (1 << (HiveSqlParser.T_TO - 32)) | (1 << (HiveSqlParser.T_CALLER - 32)) | (1 << (HiveSqlParser.T_CLIENT - 32)) | (1 << (HiveSqlParser.T_WITHOUT - 32)) | (1 << (HiveSqlParser.T_CONTINUE - 32)) | (1 << (HiveSqlParser.T_EXIT - 32)) | (1 << (HiveSqlParser.T_HANDLER - 32)) | (1 << (HiveSqlParser.T_SQLEXCEPTION - 32)) | (1 << (HiveSqlParser.T_SQLWARNING - 32)) | (1 << (HiveSqlParser.T_NOT - 32)) | (1 << (HiveSqlParser.T_FOUND - 32)) | (1 << (HiveSqlParser.T_GLOBAL - 32)) | (1 << (HiveSqlParser.T_TEMPORARY - 32)) | (1 << (HiveSqlParser.T_TABLE - 32)) | (1 << (HiveSqlParser.T_CREATE - 32)) | (1 << (HiveSqlParser.T_IF - 32)) | (1 << (HiveSqlParser.T_EXISTS - 32)) | (1 << (HiveSqlParser.T_LOCAL - 32)) | (1 << (HiveSqlParser.T_MULTISET - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (HiveSqlParser.T_VOLATILE - 64)) | (1 << (HiveSqlParser.T_LIKE - 64)) | (1 << (HiveSqlParser.T_CONSTRAINT - 64)) | (1 << (HiveSqlParser.T_PRIMARY - 64)) | (1 << (HiveSqlParser.T_KEY - 64)) | (1 << (HiveSqlParser.T_UNIQUE - 64)) | (1 << (HiveSqlParser.T_REFERENCES - 64)) | (1 << (HiveSqlParser.T_IDENTITY - 64)) | (1 << (HiveSqlParser.T_AUTO_INCREMENT - 64)) | (1 << (HiveSqlParser.T_ENABLE - 64)) | (1 << (HiveSqlParser.T_CLUSTERED - 64)) | (1 << (HiveSqlParser.T_ASC - 64)) | (1 << (HiveSqlParser.T_DESC - 64)) | (1 << (HiveSqlParser.T_FOREIGN - 64)) | (1 << (HiveSqlParser.T_ON - 64)) | (1 << (HiveSqlParser.T_UPDATE - 64)) | (1 << (HiveSqlParser.T_DELETE - 64)) | (1 << (HiveSqlParser.T_NO - 64)) | (1 << (HiveSqlParser.T_ACTION - 64)) | (1 << (HiveSqlParser.T_RESTRICT - 64)) | (1 << (HiveSqlParser.T_DEFAULT - 64)) | (1 << (HiveSqlParser.T_CASCADE - 64)) | (1 << (HiveSqlParser.T_LOG - 64)) | (1 << (HiveSqlParser.T_FALLBACK - 64)) | (1 << (HiveSqlParser.T_COMMIT - 64)) | (1 << (HiveSqlParser.T_PRESERVE - 64)) | (1 << (HiveSqlParser.T_ROWS - 64)) | (1 << (HiveSqlParser.T_SEGMENT - 64)) | (1 << (HiveSqlParser.T_CREATION - 64)) | (1 << (HiveSqlParser.T_IMMEDIATE - 64)) | (1 << (HiveSqlParser.T_DEFERRED - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (HiveSqlParser.T_PCTFREE - 96)) | (1 << (HiveSqlParser.T_PCTUSED - 96)) | (1 << (HiveSqlParser.T_INITRANS - 96)) | (1 << (HiveSqlParser.T_MAXTRANS - 96)) | (1 << (HiveSqlParser.T_NOCOMPRESS - 96)) | (1 << (HiveSqlParser.T_LOGGING - 96)) | (1 << (HiveSqlParser.T_NOLOGGING - 96)) | (1 << (HiveSqlParser.T_STORAGE - 96)) | (1 << (HiveSqlParser.T_TABLESPACE - 96)) | (1 << (HiveSqlParser.T_INDEX - 96)) | (1 << (HiveSqlParser.T_IN - 96)) | (1 << (HiveSqlParser.T_REPLACE - 96)) | (1 << (HiveSqlParser.T_DISTRIBUTE - 96)) | (1 << (HiveSqlParser.T_BY - 96)) | (1 << (HiveSqlParser.T_HASH - 96)) | (1 << (HiveSqlParser.T_LOGGED - 96)) | (1 << (HiveSqlParser.T_COMPRESS - 96)) | (1 << (HiveSqlParser.T_YES - 96)) | (1 << (HiveSqlParser.T_DEFINITION - 96)) | (1 << (HiveSqlParser.T_DROP - 96)) | (1 << (HiveSqlParser.T_DATA - 96)) | (1 << (HiveSqlParser.T_STORED - 96)) | (1 << (HiveSqlParser.T_ROW - 96)) | (1 << (HiveSqlParser.T_FORMAT - 96)) | (1 << (HiveSqlParser.T_DELIMITED - 96)) | (1 << (HiveSqlParser.T_FIELDS - 96)) | (1 << (HiveSqlParser.T_TERMINATED - 96)) | (1 << (HiveSqlParser.T_ESCAPED - 96)) | (1 << (HiveSqlParser.T_COLLECTION - 96)) | (1 << (HiveSqlParser.T_ITEMS - 96)) | (1 << (HiveSqlParser.T_MAP - 96)) | (1 << (HiveSqlParser.T_KEYS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (HiveSqlParser.T_LINES - 128)) | (1 << (HiveSqlParser.T_DEFINED - 128)) | (1 << (HiveSqlParser.T_TEXTIMAGE_ON - 128)) | (1 << (HiveSqlParser.T_COMMENT - 128)) | (1 << (HiveSqlParser.T_CHARACTER - 128)) | (1 << (HiveSqlParser.T_CHARSET - 128)) | (1 << (HiveSqlParser.T_ENGINE - 128)) | (1 << (HiveSqlParser.T_ALTER - 128)) | (1 << (HiveSqlParser.T_ADD2 - 128)) | (1 << (HiveSqlParser.T_CHAR - 128)) | (1 << (HiveSqlParser.T_BIGINT - 128)) | (1 << (HiveSqlParser.T_BINARY_DOUBLE - 128)) | (1 << (HiveSqlParser.T_BINARY_FLOAT - 128)) | (1 << (HiveSqlParser.T_BIT - 128)) | (1 << (HiveSqlParser.T_DATE - 128)) | (1 << (HiveSqlParser.T_DATETIME - 128)) | (1 << (HiveSqlParser.T_DEC - 128)) | (1 << (HiveSqlParser.T_DECIMAL - 128)) | (1 << (HiveSqlParser.T_DOUBLE - 128)) | (1 << (HiveSqlParser.T_PRECISION - 128)) | (1 << (HiveSqlParser.T_FLOAT - 128)) | (1 << (HiveSqlParser.T_INT - 128)) | (1 << (HiveSqlParser.T_INT2 - 128)) | (1 << (HiveSqlParser.T_INT4 - 128)) | (1 << (HiveSqlParser.T_INT8 - 128)) | (1 << (HiveSqlParser.T_INTEGER - 128)) | (1 << (HiveSqlParser.T_NCHAR - 128)) | (1 << (HiveSqlParser.T_NVARCHAR - 128)) | (1 << (HiveSqlParser.T_NUMBER - 128)) | (1 << (HiveSqlParser.T_NUMERIC - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (HiveSqlParser.T_REAL - 160)) | (1 << (HiveSqlParser.T_RESULT_SET_LOCATOR - 160)) | (1 << (HiveSqlParser.T_VARYING - 160)) | (1 << (HiveSqlParser.T_SIMPLE_FLOAT - 160)) | (1 << (HiveSqlParser.T_SIMPLE_DOUBLE - 160)) | (1 << (HiveSqlParser.T_SMALLINT - 160)) | (1 << (HiveSqlParser.T_SMALLDATETIME - 160)) | (1 << (HiveSqlParser.T_STRING - 160)) | (1 << (HiveSqlParser.T_SYS_REFCURSOR - 160)) | (1 << (HiveSqlParser.T_TIMESTAMP - 160)) | (1 << (HiveSqlParser.T_VARCHAR - 160)) | (1 << (HiveSqlParser.T_VARCHAR2 - 160)) | (1 << (HiveSqlParser.T_XML - 160)) | (1 << (HiveSqlParser.T_MAX - 160)) | (1 << (HiveSqlParser.T_BYTE - 160)) | (1 << (HiveSqlParser.T_CASESPECIFIC - 160)) | (1 << (HiveSqlParser.T_CS - 160)) | (1 << (HiveSqlParser.T_DATABASE - 160)) | (1 << (HiveSqlParser.T_SCHEMA - 160)) | (1 << (HiveSqlParser.T_LOCATION - 160)) | (1 << (HiveSqlParser.T_OR - 160)) | (1 << (HiveSqlParser.T_FUNCTION - 160)) | (1 << (HiveSqlParser.T_RETURNS - 160)) | (1 << (HiveSqlParser.T_PACKAGE - 160)) | (1 << (HiveSqlParser.T_PROC - 160)) | (1 << (HiveSqlParser.T_BODY - 160)) | (1 << (HiveSqlParser.T_OUT - 160)) | (1 << (HiveSqlParser.T_INOUT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (HiveSqlParser.T_LANGUAGE - 192)) | (1 << (HiveSqlParser.T_SQL - 192)) | (1 << (HiveSqlParser.T_SECURITY - 192)) | (1 << (HiveSqlParser.T_CREATOR - 192)) | (1 << (HiveSqlParser.T_DEFINER - 192)) | (1 << (HiveSqlParser.T_INVOKER - 192)) | (1 << (HiveSqlParser.T_OWNER - 192)) | (1 << (HiveSqlParser.T_DYNAMIC - 192)) | (1 << (HiveSqlParser.T_SETS - 192)) | (1 << (HiveSqlParser.T_EXEC - 192)) | (1 << (HiveSqlParser.T_EXECUTE - 192)) | (1 << (HiveSqlParser.T_INTO - 192)) | (1 << (HiveSqlParser.T_INCLUDE - 192)) | (1 << (HiveSqlParser.T_INSERT - 192)) | (1 << (HiveSqlParser.T_OVERWRITE - 192)) | (1 << (HiveSqlParser.T_VALUES - 192)) | (1 << (HiveSqlParser.T_DIRECTORY - 192)) | (1 << (HiveSqlParser.T_GET - 192)) | (1 << (HiveSqlParser.T_DIAGNOSTICS - 192)) | (1 << (HiveSqlParser.T_MESSAGE_TEXT - 192)) | (1 << (HiveSqlParser.T_ROW_COUNT - 192)) | (1 << (HiveSqlParser.T_GRANT - 192)) | (1 << (HiveSqlParser.T_ROLE - 192)) | (1 << (HiveSqlParser.T_LEAVE - 192)) | (1 << (HiveSqlParser.T_OBJECT - 192)) | (1 << (HiveSqlParser.T_AT - 192)) | (1 << (HiveSqlParser.T_OPEN - 192)) | (1 << (HiveSqlParser.T_FETCH - 192)) | (1 << (HiveSqlParser.T_FROM - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (HiveSqlParser.T_COLLECT - 224)) | (1 << (HiveSqlParser.T_STATISTICS - 224)) | (1 << (HiveSqlParser.T_STATS - 224)) | (1 << (HiveSqlParser.T_COLUMN - 224)) | (1 << (HiveSqlParser.T_CLOSE - 224)) | (1 << (HiveSqlParser.T_CMP - 224)) | (1 << (HiveSqlParser.T_SUM - 224)) | (1 << (HiveSqlParser.T_COPY - 224)) | (1 << (HiveSqlParser.T_HDFS - 224)) | (1 << (HiveSqlParser.T_BATCHSIZE - 224)) | (1 << (HiveSqlParser.T_DELIMITER - 224)) | (1 << (HiveSqlParser.T_SQLINSERT - 224)) | (1 << (HiveSqlParser.T_IGNORE - 224)) | (1 << (HiveSqlParser.T_WORK - 224)) | (1 << (HiveSqlParser.T_PRINT - 224)) | (1 << (HiveSqlParser.T_QUIT - 224)) | (1 << (HiveSqlParser.T_RAISE - 224)) | (1 << (HiveSqlParser.T_RESIGNAL - 224)) | (1 << (HiveSqlParser.T_SQLSTATE - 224)) | (1 << (HiveSqlParser.T_VALUE - 224)) | (1 << (HiveSqlParser.T_ROLLBACK - 224)) | (1 << (HiveSqlParser.T_CURRENT - 224)) | (1 << (HiveSqlParser.T_CURRENT_SCHEMA - 224)) | (1 << (HiveSqlParser.T_ANSI_NULLS - 224)) | (1 << (HiveSqlParser.T_ANSI_PADDING - 224)) | (1 << (HiveSqlParser.T_NOCOUNT - 224)) | (1 << (HiveSqlParser.T_QUOTED_IDENTIFIER - 224)) | (1 << (HiveSqlParser.T_XACT_ABORT - 224)) | (1 << (HiveSqlParser.T_OFF - 224)) | (1 << (HiveSqlParser.T_QUERY_BAND - 224)) | (1 << (HiveSqlParser.T_NONE - 224)) | (1 << (HiveSqlParser.T_SESSION - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (HiveSqlParser.T_SIGNAL - 256)) | (1 << (HiveSqlParser.T_SUMMARY - 256)) | (1 << (HiveSqlParser.T_TOP - 256)) | (1 << (HiveSqlParser.T_LIMIT - 256)) | (1 << (HiveSqlParser.T_TRUNCATE - 256)) | (1 << (HiveSqlParser.T_USE - 256)) | (1 << (HiveSqlParser.T_WHILE - 256)) | (1 << (HiveSqlParser.T_DO - 256)) | (1 << (HiveSqlParser.T_LOOP - 256)) | (1 << (HiveSqlParser.T_REVERSE - 256)) | (1 << (HiveSqlParser.T_STEP - 256)) | (1 << (HiveSqlParser.T_USING - 256)) | (1 << (HiveSqlParser.T_ALL - 256)) | (1 << (HiveSqlParser.T_EXCEPT - 256)) | (1 << (HiveSqlParser.T_INTERSECT - 256)) | (1 << (HiveSqlParser.T_SELECT - 256)) | (1 << (HiveSqlParser.T_SEL - 256)) | (1 << (HiveSqlParser.T_DISTINCT - 256)) | (1 << (HiveSqlParser.T_TITLE - 256)) | (1 << (HiveSqlParser.T_INNER - 256)) | (1 << (HiveSqlParser.T_JOIN - 256)) | (1 << (HiveSqlParser.T_LEFT - 256)) | (1 << (HiveSqlParser.T_RIGHT - 256)) | (1 << (HiveSqlParser.T_FULL - 256)) | (1 << (HiveSqlParser.T_OUTER - 256)))) !== 0) || ((((_la - 288)) & ~0x1f) == 0 && ((1 << (_la - 288)) & ((1 << (HiveSqlParser.T_GROUP - 288)) | (1 << (HiveSqlParser.T_HAVING - 288)) | (1 << (HiveSqlParser.T_QUALIFY - 288)) | (1 << (HiveSqlParser.T_ORDER - 288)) | (1 << (HiveSqlParser.T_RR - 288)) | (1 << (HiveSqlParser.T_RS - 288)) | (1 << (HiveSqlParser.T_UR - 288)) | (1 << (HiveSqlParser.T_AND - 288)) | (1 << (HiveSqlParser.T_KEEP - 288)) | (1 << (HiveSqlParser.T_EXCLUSIVE - 288)) | (1 << (HiveSqlParser.T_SHARE - 288)) | (1 << (HiveSqlParser.T_LOCKS - 288)) | (1 << (HiveSqlParser.T_MERGE - 288)) | (1 << (HiveSqlParser.T_MATCHED - 288)) | (1 << (HiveSqlParser.T_DESCRIBE - 288)) | (1 << (HiveSqlParser.T_BETWEEN - 288)) | (1 << (HiveSqlParser.T_RLIKE - 288)) | (1 << (HiveSqlParser.T_REGEXP - 288)) | (1 << (HiveSqlParser.T_INTERVAL - 288)) | (1 << (HiveSqlParser.T_DAY - 288)) | (1 << (HiveSqlParser.T_DAYS - 288)) | (1 << (HiveSqlParser.T_MICROSECOND - 288)) | (1 << (HiveSqlParser.T_MICROSECONDS - 288)))) !== 0) || ((((_la - 320)) & ~0x1f) == 0 && ((1 << (_la - 320)) & ((1 << (HiveSqlParser.T_SECOND - 320)) | (1 << (HiveSqlParser.T_SECONDS - 320)) | (1 << (HiveSqlParser.T_CONCAT - 320)) | (1 << (HiveSqlParser.T_CASE - 320)) | (1 << (HiveSqlParser.T_ISOPEN - 320)) | (1 << (HiveSqlParser.T_NOTFOUND - 320)) | (1 << (HiveSqlParser.T_AVG - 320)) | (1 << (HiveSqlParser.T_COUNT - 320)) | (1 << (HiveSqlParser.T_COUNT_BIG - 320)) | (1 << (HiveSqlParser.T_CUME_DIST - 320)) | (1 << (HiveSqlParser.T_DENSE_RANK - 320)) | (1 << (HiveSqlParser.T_FIRST_VALUE - 320)) | (1 << (HiveSqlParser.T_LAG - 320)) | (1 << (HiveSqlParser.T_LAST_VALUE - 320)) | (1 << (HiveSqlParser.T_LEAD - 320)) | (1 << (HiveSqlParser.T_MIN - 320)) | (1 << (HiveSqlParser.T_RANK - 320)) | (1 << (HiveSqlParser.T_ROW_NUMBER - 320)) | (1 << (HiveSqlParser.T_STDEV - 320)) | (1 << (HiveSqlParser.T_VAR - 320)) | (1 << (HiveSqlParser.T_VARIANCE - 320)) | (1 << (HiveSqlParser.T_OVER - 320)) | (1 << (HiveSqlParser.T_PARTITION - 320)) | (1 << (HiveSqlParser.T_ACTIVITY_COUNT - 320)) | (1 << (HiveSqlParser.T_CAST - 320)) | (1 << (HiveSqlParser.T_CURRENT_DATE - 320)) | (1 << (HiveSqlParser.T_CURRENT_TIMESTAMP - 320)) | (1 << (HiveSqlParser.T_CURRENT_USER - 320)) | (1 << (HiveSqlParser.T_USER - 320)))) !== 0) || ((((_la - 356)) & ~0x1f) == 0 && ((1 << (_la - 356)) & ((1 << (HiveSqlParser.T_PART_COUNT - 356)) | (1 << (HiveSqlParser.T_PART_LOC - 356)) | (1 << (HiveSqlParser.T_TRIM - 356)) | (1 << (HiveSqlParser.T_SUBSTRING - 356)) | (1 << (HiveSqlParser.T_SYSDATE - 356)) | (1 << (HiveSqlParser.T_HIVE - 356)) | (1 << (HiveSqlParser.T_HOST - 356)) | (1 << (HiveSqlParser.T_TRUE - 356)) | (1 << (HiveSqlParser.T_FALSE - 356)) | (1 << (HiveSqlParser.T_DIR - 356)) | (1 << (HiveSqlParser.T_FILE - 356)) | (1 << (HiveSqlParser.T_FILES - 356)) | (1 << (HiveSqlParser.T_NEW - 356)) | (1 << (HiveSqlParser.T_PWD - 356)) | (1 << (HiveSqlParser.T_SESSIONS - 356)) | (1 << (HiveSqlParser.T_SUBDIR - 356)))) !== 0))) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +HiveSqlParser.prototype.sempred = function(localctx, ruleIndex, predIndex) { + switch(ruleIndex) { + case 4: + return this.block_end_sempred(localctx, predIndex); + case 11: + return this.expr_stmt_sempred(localctx, predIndex); + case 74: + return this.create_routine_params_sempred(localctx, predIndex); + case 152: + return this.select_list_alias_sempred(localctx, predIndex); + case 163: + return this.from_alias_clause_sempred(localctx, predIndex); + case 181: + return this.delete_alias_sempred(localctx, predIndex); + case 183: + return this.bool_expr_sempred(localctx, predIndex); + case 191: + return this.expr_sempred(localctx, predIndex); + case 208: + return this.func_param_sempred(localctx, predIndex); + default: + throw "No predicate with index:" + ruleIndex; + } +}; + +HiveSqlParser.prototype.block_end_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 0: + return !this._input.LT(2).getText().equalsIgnoreCase("TRANSACTION"); + default: + throw "No predicate with index:" + predIndex; + } +}; + +HiveSqlParser.prototype.expr_stmt_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 1: + return !this._input.LT(1).getText().equalsIgnoreCase("GO"); + default: + throw "No predicate with index:" + predIndex; + } +}; + +HiveSqlParser.prototype.create_routine_params_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 2: + return !this._input.LT(1).getText().equalsIgnoreCase("IS") && + !this._input.LT(1).getText().equalsIgnoreCase("AS") && + !(this._input.LT(1).getText().equalsIgnoreCase("DYNAMIC") && this._input.LT(2).getText().equalsIgnoreCase("RESULT")) + ; + default: + throw "No predicate with index:" + predIndex; + } +}; + +HiveSqlParser.prototype.select_list_alias_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 3: + return !this._input.LT(1).getText().equalsIgnoreCase("INTO") && !this._input.LT(1).getText().equalsIgnoreCase("FROM"); + default: + throw "No predicate with index:" + predIndex; + } +}; + +HiveSqlParser.prototype.from_alias_clause_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 4: + return !this._input.LT(1).getText().equalsIgnoreCase("EXEC") && + !this._input.LT(1).getText().equalsIgnoreCase("EXECUTE") && + !this._input.LT(1).getText().equalsIgnoreCase("INNER") && + !this._input.LT(1).getText().equalsIgnoreCase("LEFT") && + !this._input.LT(1).getText().equalsIgnoreCase("GROUP") && + !this._input.LT(1).getText().equalsIgnoreCase("ORDER") && + !this._input.LT(1).getText().equalsIgnoreCase("LIMIT") && + !this._input.LT(1).getText().equalsIgnoreCase("WITH"); + default: + throw "No predicate with index:" + predIndex; + } +}; + +HiveSqlParser.prototype.delete_alias_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 5: + return !this._input.LT(1).getText().equalsIgnoreCase("ALL"); + default: + throw "No predicate with index:" + predIndex; + } +}; + +HiveSqlParser.prototype.bool_expr_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 6: + return this.precpred(this._ctx, 2); + default: + throw "No predicate with index:" + predIndex; + } +}; + +HiveSqlParser.prototype.expr_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 7: + return this.precpred(this._ctx, 14); + case 8: + return this.precpred(this._ctx, 13); + case 9: + return this.precpred(this._ctx, 12); + case 10: + return this.precpred(this._ctx, 11); + case 11: + return this.precpred(this._ctx, 15); + default: + throw "No predicate with index:" + predIndex; + } +}; + +HiveSqlParser.prototype.func_param_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 12: + return !this._input.LT(1).getText().equalsIgnoreCase("INTO"); + default: + throw "No predicate with index:" + predIndex; + } +}; + + +exports.HiveSqlParser = HiveSqlParser; diff --git a/src/lib/hive/HiveSqlVisitor.js b/src/lib/hive/HiveSqlVisitor.js new file mode 100644 index 0000000..442334a --- /dev/null +++ b/src/lib/hive/HiveSqlVisitor.js @@ -0,0 +1,1378 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/hive/HiveSql.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + +// This class defines a complete generic visitor for a parse tree produced by HiveSqlParser. + +function HiveSqlVisitor() { + antlr4.tree.ParseTreeVisitor.call(this); + return this; +} + +HiveSqlVisitor.prototype = Object.create(antlr4.tree.ParseTreeVisitor.prototype); +HiveSqlVisitor.prototype.constructor = HiveSqlVisitor; + +// Visit a parse tree produced by HiveSqlParser#program. +HiveSqlVisitor.prototype.visitProgram = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#block. +HiveSqlVisitor.prototype.visitBlock = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#begin_end_block. +HiveSqlVisitor.prototype.visitBegin_end_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#single_block_stmt. +HiveSqlVisitor.prototype.visitSingle_block_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#block_end. +HiveSqlVisitor.prototype.visitBlock_end = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#proc_block. +HiveSqlVisitor.prototype.visitProc_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#stmt. +HiveSqlVisitor.prototype.visitStmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#semicolon_stmt. +HiveSqlVisitor.prototype.visitSemicolon_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#exception_block. +HiveSqlVisitor.prototype.visitException_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#exception_block_item. +HiveSqlVisitor.prototype.visitException_block_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#null_stmt. +HiveSqlVisitor.prototype.visitNull_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_stmt. +HiveSqlVisitor.prototype.visitExpr_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#assignment_stmt. +HiveSqlVisitor.prototype.visitAssignment_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#assignment_stmt_item. +HiveSqlVisitor.prototype.visitAssignment_stmt_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#assignment_stmt_single_item. +HiveSqlVisitor.prototype.visitAssignment_stmt_single_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#assignment_stmt_multiple_item. +HiveSqlVisitor.prototype.visitAssignment_stmt_multiple_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#assignment_stmt_select_item. +HiveSqlVisitor.prototype.visitAssignment_stmt_select_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#allocate_cursor_stmt. +HiveSqlVisitor.prototype.visitAllocate_cursor_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#associate_locator_stmt. +HiveSqlVisitor.prototype.visitAssociate_locator_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#begin_transaction_stmt. +HiveSqlVisitor.prototype.visitBegin_transaction_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#break_stmt. +HiveSqlVisitor.prototype.visitBreak_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#call_stmt. +HiveSqlVisitor.prototype.visitCall_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_stmt. +HiveSqlVisitor.prototype.visitDeclare_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_block. +HiveSqlVisitor.prototype.visitDeclare_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_block_inplace. +HiveSqlVisitor.prototype.visitDeclare_block_inplace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_stmt_item. +HiveSqlVisitor.prototype.visitDeclare_stmt_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_var_item. +HiveSqlVisitor.prototype.visitDeclare_var_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_condition_item. +HiveSqlVisitor.prototype.visitDeclare_condition_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_cursor_item. +HiveSqlVisitor.prototype.visitDeclare_cursor_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#cursor_with_return. +HiveSqlVisitor.prototype.visitCursor_with_return = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#cursor_without_return. +HiveSqlVisitor.prototype.visitCursor_without_return = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_handler_item. +HiveSqlVisitor.prototype.visitDeclare_handler_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#declare_temporary_table_item. +HiveSqlVisitor.prototype.visitDeclare_temporary_table_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_stmt. +HiveSqlVisitor.prototype.visitCreate_table_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_local_temp_table_stmt. +HiveSqlVisitor.prototype.visitCreate_local_temp_table_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_definition. +HiveSqlVisitor.prototype.visitCreate_table_definition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_columns. +HiveSqlVisitor.prototype.visitCreate_table_columns = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_columns_item. +HiveSqlVisitor.prototype.visitCreate_table_columns_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#column_name. +HiveSqlVisitor.prototype.visitColumn_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_column_inline_cons. +HiveSqlVisitor.prototype.visitCreate_table_column_inline_cons = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_column_cons. +HiveSqlVisitor.prototype.visitCreate_table_column_cons = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_fk_action. +HiveSqlVisitor.prototype.visitCreate_table_fk_action = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_preoptions. +HiveSqlVisitor.prototype.visitCreate_table_preoptions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_preoptions_item. +HiveSqlVisitor.prototype.visitCreate_table_preoptions_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_preoptions_td_item. +HiveSqlVisitor.prototype.visitCreate_table_preoptions_td_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_options. +HiveSqlVisitor.prototype.visitCreate_table_options = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_options_item. +HiveSqlVisitor.prototype.visitCreate_table_options_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_options_ora_item. +HiveSqlVisitor.prototype.visitCreate_table_options_ora_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_options_db2_item. +HiveSqlVisitor.prototype.visitCreate_table_options_db2_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_options_td_item. +HiveSqlVisitor.prototype.visitCreate_table_options_td_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_options_hive_item. +HiveSqlVisitor.prototype.visitCreate_table_options_hive_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_hive_row_format. +HiveSqlVisitor.prototype.visitCreate_table_hive_row_format = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_hive_row_format_fields. +HiveSqlVisitor.prototype.visitCreate_table_hive_row_format_fields = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_options_mssql_item. +HiveSqlVisitor.prototype.visitCreate_table_options_mssql_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_table_options_mysql_item. +HiveSqlVisitor.prototype.visitCreate_table_options_mysql_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#alter_table_stmt. +HiveSqlVisitor.prototype.visitAlter_table_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#alter_table_item. +HiveSqlVisitor.prototype.visitAlter_table_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#alter_table_add_constraint. +HiveSqlVisitor.prototype.visitAlter_table_add_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#alter_table_add_constraint_item. +HiveSqlVisitor.prototype.visitAlter_table_add_constraint_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#dtype. +HiveSqlVisitor.prototype.visitDtype = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#dtype_len. +HiveSqlVisitor.prototype.visitDtype_len = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#dtype_attr. +HiveSqlVisitor.prototype.visitDtype_attr = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#dtype_default. +HiveSqlVisitor.prototype.visitDtype_default = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_database_stmt. +HiveSqlVisitor.prototype.visitCreate_database_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_database_option. +HiveSqlVisitor.prototype.visitCreate_database_option = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_function_stmt. +HiveSqlVisitor.prototype.visitCreate_function_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_function_return. +HiveSqlVisitor.prototype.visitCreate_function_return = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_package_stmt. +HiveSqlVisitor.prototype.visitCreate_package_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#package_spec. +HiveSqlVisitor.prototype.visitPackage_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#package_spec_item. +HiveSqlVisitor.prototype.visitPackage_spec_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_package_body_stmt. +HiveSqlVisitor.prototype.visitCreate_package_body_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#package_body. +HiveSqlVisitor.prototype.visitPackage_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#package_body_item. +HiveSqlVisitor.prototype.visitPackage_body_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_procedure_stmt. +HiveSqlVisitor.prototype.visitCreate_procedure_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_routine_params. +HiveSqlVisitor.prototype.visitCreate_routine_params = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_routine_param_item. +HiveSqlVisitor.prototype.visitCreate_routine_param_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_routine_options. +HiveSqlVisitor.prototype.visitCreate_routine_options = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_routine_option. +HiveSqlVisitor.prototype.visitCreate_routine_option = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#drop_stmt. +HiveSqlVisitor.prototype.visitDrop_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#end_transaction_stmt. +HiveSqlVisitor.prototype.visitEnd_transaction_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#exec_stmt. +HiveSqlVisitor.prototype.visitExec_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#if_stmt. +HiveSqlVisitor.prototype.visitIf_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#if_plsql_stmt. +HiveSqlVisitor.prototype.visitIf_plsql_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#if_tsql_stmt. +HiveSqlVisitor.prototype.visitIf_tsql_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#if_bteq_stmt. +HiveSqlVisitor.prototype.visitIf_bteq_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#elseif_block. +HiveSqlVisitor.prototype.visitElseif_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#else_block. +HiveSqlVisitor.prototype.visitElse_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#include_stmt. +HiveSqlVisitor.prototype.visitInclude_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#insert_stmt. +HiveSqlVisitor.prototype.visitInsert_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#insert_stmt_cols. +HiveSqlVisitor.prototype.visitInsert_stmt_cols = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#insert_stmt_rows. +HiveSqlVisitor.prototype.visitInsert_stmt_rows = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#insert_stmt_row. +HiveSqlVisitor.prototype.visitInsert_stmt_row = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#insert_directory_stmt. +HiveSqlVisitor.prototype.visitInsert_directory_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#exit_stmt. +HiveSqlVisitor.prototype.visitExit_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#get_diag_stmt. +HiveSqlVisitor.prototype.visitGet_diag_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#get_diag_stmt_item. +HiveSqlVisitor.prototype.visitGet_diag_stmt_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#get_diag_stmt_exception_item. +HiveSqlVisitor.prototype.visitGet_diag_stmt_exception_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#get_diag_stmt_rowcount_item. +HiveSqlVisitor.prototype.visitGet_diag_stmt_rowcount_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#grant_stmt. +HiveSqlVisitor.prototype.visitGrant_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#grant_stmt_item. +HiveSqlVisitor.prototype.visitGrant_stmt_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#leave_stmt. +HiveSqlVisitor.prototype.visitLeave_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#map_object_stmt. +HiveSqlVisitor.prototype.visitMap_object_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#open_stmt. +HiveSqlVisitor.prototype.visitOpen_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#fetch_stmt. +HiveSqlVisitor.prototype.visitFetch_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#collect_stats_stmt. +HiveSqlVisitor.prototype.visitCollect_stats_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#collect_stats_clause. +HiveSqlVisitor.prototype.visitCollect_stats_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#close_stmt. +HiveSqlVisitor.prototype.visitClose_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#cmp_stmt. +HiveSqlVisitor.prototype.visitCmp_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#cmp_source. +HiveSqlVisitor.prototype.visitCmp_source = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#copy_from_local_stmt. +HiveSqlVisitor.prototype.visitCopy_from_local_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#copy_stmt. +HiveSqlVisitor.prototype.visitCopy_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#copy_source. +HiveSqlVisitor.prototype.visitCopy_source = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#copy_target. +HiveSqlVisitor.prototype.visitCopy_target = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#copy_option. +HiveSqlVisitor.prototype.visitCopy_option = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#copy_file_option. +HiveSqlVisitor.prototype.visitCopy_file_option = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#commit_stmt. +HiveSqlVisitor.prototype.visitCommit_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_index_stmt. +HiveSqlVisitor.prototype.visitCreate_index_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#create_index_col. +HiveSqlVisitor.prototype.visitCreate_index_col = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#index_storage_clause. +HiveSqlVisitor.prototype.visitIndex_storage_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#index_mssql_storage_clause. +HiveSqlVisitor.prototype.visitIndex_mssql_storage_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#print_stmt. +HiveSqlVisitor.prototype.visitPrint_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#quit_stmt. +HiveSqlVisitor.prototype.visitQuit_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#raise_stmt. +HiveSqlVisitor.prototype.visitRaise_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#resignal_stmt. +HiveSqlVisitor.prototype.visitResignal_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#return_stmt. +HiveSqlVisitor.prototype.visitReturn_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#rollback_stmt. +HiveSqlVisitor.prototype.visitRollback_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#set_session_option. +HiveSqlVisitor.prototype.visitSet_session_option = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#set_current_schema_option. +HiveSqlVisitor.prototype.visitSet_current_schema_option = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#set_mssql_session_option. +HiveSqlVisitor.prototype.visitSet_mssql_session_option = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#set_teradata_session_option. +HiveSqlVisitor.prototype.visitSet_teradata_session_option = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#signal_stmt. +HiveSqlVisitor.prototype.visitSignal_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#summary_stmt. +HiveSqlVisitor.prototype.visitSummary_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#truncate_stmt. +HiveSqlVisitor.prototype.visitTruncate_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#use_stmt. +HiveSqlVisitor.prototype.visitUse_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#values_into_stmt. +HiveSqlVisitor.prototype.visitValues_into_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#while_stmt. +HiveSqlVisitor.prototype.visitWhile_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#for_cursor_stmt. +HiveSqlVisitor.prototype.visitFor_cursor_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#for_range_stmt. +HiveSqlVisitor.prototype.visitFor_range_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#label. +HiveSqlVisitor.prototype.visitLabel = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#using_clause. +HiveSqlVisitor.prototype.visitUsing_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_stmt. +HiveSqlVisitor.prototype.visitSelect_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#cte_select_stmt. +HiveSqlVisitor.prototype.visitCte_select_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#cte_select_stmt_item. +HiveSqlVisitor.prototype.visitCte_select_stmt_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#cte_select_cols. +HiveSqlVisitor.prototype.visitCte_select_cols = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#fullselect_stmt. +HiveSqlVisitor.prototype.visitFullselect_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#fullselect_stmt_item. +HiveSqlVisitor.prototype.visitFullselect_stmt_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#fullselect_set_clause. +HiveSqlVisitor.prototype.visitFullselect_set_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#subselect_stmt. +HiveSqlVisitor.prototype.visitSubselect_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_list. +HiveSqlVisitor.prototype.visitSelect_list = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_list_set. +HiveSqlVisitor.prototype.visitSelect_list_set = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_list_limit. +HiveSqlVisitor.prototype.visitSelect_list_limit = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_list_item. +HiveSqlVisitor.prototype.visitSelect_list_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_list_alias. +HiveSqlVisitor.prototype.visitSelect_list_alias = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_list_asterisk. +HiveSqlVisitor.prototype.visitSelect_list_asterisk = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#into_clause. +HiveSqlVisitor.prototype.visitInto_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_clause. +HiveSqlVisitor.prototype.visitFrom_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_table_clause. +HiveSqlVisitor.prototype.visitFrom_table_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_table_name_clause. +HiveSqlVisitor.prototype.visitFrom_table_name_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_subselect_clause. +HiveSqlVisitor.prototype.visitFrom_subselect_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_join_clause. +HiveSqlVisitor.prototype.visitFrom_join_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_join_type_clause. +HiveSqlVisitor.prototype.visitFrom_join_type_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_table_values_clause. +HiveSqlVisitor.prototype.visitFrom_table_values_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_table_values_row. +HiveSqlVisitor.prototype.visitFrom_table_values_row = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#from_alias_clause. +HiveSqlVisitor.prototype.visitFrom_alias_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#table_name. +HiveSqlVisitor.prototype.visitTable_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#where_clause. +HiveSqlVisitor.prototype.visitWhere_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#group_by_clause. +HiveSqlVisitor.prototype.visitGroup_by_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#having_clause. +HiveSqlVisitor.prototype.visitHaving_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#qualify_clause. +HiveSqlVisitor.prototype.visitQualify_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#order_by_clause. +HiveSqlVisitor.prototype.visitOrder_by_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_options. +HiveSqlVisitor.prototype.visitSelect_options = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#select_options_item. +HiveSqlVisitor.prototype.visitSelect_options_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#update_stmt. +HiveSqlVisitor.prototype.visitUpdate_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#update_assignment. +HiveSqlVisitor.prototype.visitUpdate_assignment = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#update_table. +HiveSqlVisitor.prototype.visitUpdate_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#update_upsert. +HiveSqlVisitor.prototype.visitUpdate_upsert = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#merge_stmt. +HiveSqlVisitor.prototype.visitMerge_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#merge_table. +HiveSqlVisitor.prototype.visitMerge_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#merge_condition. +HiveSqlVisitor.prototype.visitMerge_condition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#merge_action. +HiveSqlVisitor.prototype.visitMerge_action = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#delete_stmt. +HiveSqlVisitor.prototype.visitDelete_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#delete_alias. +HiveSqlVisitor.prototype.visitDelete_alias = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#describe_stmt. +HiveSqlVisitor.prototype.visitDescribe_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_expr. +HiveSqlVisitor.prototype.visitBool_expr = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_expr_atom. +HiveSqlVisitor.prototype.visitBool_expr_atom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_expr_unary. +HiveSqlVisitor.prototype.visitBool_expr_unary = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_expr_single_in. +HiveSqlVisitor.prototype.visitBool_expr_single_in = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_expr_multi_in. +HiveSqlVisitor.prototype.visitBool_expr_multi_in = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_expr_binary. +HiveSqlVisitor.prototype.visitBool_expr_binary = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_expr_logical_operator. +HiveSqlVisitor.prototype.visitBool_expr_logical_operator = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_expr_binary_operator. +HiveSqlVisitor.prototype.visitBool_expr_binary_operator = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr. +HiveSqlVisitor.prototype.visitExpr = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_atom. +HiveSqlVisitor.prototype.visitExpr_atom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_interval. +HiveSqlVisitor.prototype.visitExpr_interval = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#interval_item. +HiveSqlVisitor.prototype.visitInterval_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_concat. +HiveSqlVisitor.prototype.visitExpr_concat = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_concat_item. +HiveSqlVisitor.prototype.visitExpr_concat_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_case. +HiveSqlVisitor.prototype.visitExpr_case = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_case_simple. +HiveSqlVisitor.prototype.visitExpr_case_simple = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_case_searched. +HiveSqlVisitor.prototype.visitExpr_case_searched = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_cursor_attribute. +HiveSqlVisitor.prototype.visitExpr_cursor_attribute = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_agg_window_func. +HiveSqlVisitor.prototype.visitExpr_agg_window_func = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_func_all_distinct. +HiveSqlVisitor.prototype.visitExpr_func_all_distinct = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_func_over_clause. +HiveSqlVisitor.prototype.visitExpr_func_over_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_func_partition_by_clause. +HiveSqlVisitor.prototype.visitExpr_func_partition_by_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_spec_func. +HiveSqlVisitor.prototype.visitExpr_spec_func = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_func. +HiveSqlVisitor.prototype.visitExpr_func = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_func_params. +HiveSqlVisitor.prototype.visitExpr_func_params = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#func_param. +HiveSqlVisitor.prototype.visitFunc_param = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_select. +HiveSqlVisitor.prototype.visitExpr_select = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#expr_file. +HiveSqlVisitor.prototype.visitExpr_file = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#hive. +HiveSqlVisitor.prototype.visitHive = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#hive_item. +HiveSqlVisitor.prototype.visitHive_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#host. +HiveSqlVisitor.prototype.visitHost = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#host_cmd. +HiveSqlVisitor.prototype.visitHost_cmd = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#host_stmt. +HiveSqlVisitor.prototype.visitHost_stmt = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#file_name. +HiveSqlVisitor.prototype.visitFile_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#date_literal. +HiveSqlVisitor.prototype.visitDate_literal = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#timestamp_literal. +HiveSqlVisitor.prototype.visitTimestamp_literal = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#ident. +HiveSqlVisitor.prototype.visitIdent = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#single_quotedString. +HiveSqlVisitor.prototype.visitSingle_quotedString = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#double_quotedString. +HiveSqlVisitor.prototype.visitDouble_quotedString = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#int_number. +HiveSqlVisitor.prototype.visitInt_number = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#dec_number. +HiveSqlVisitor.prototype.visitDec_number = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#bool_literal. +HiveSqlVisitor.prototype.visitBool_literal = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#null_const. +HiveSqlVisitor.prototype.visitNull_const = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by HiveSqlParser#non_reserved_words. +HiveSqlVisitor.prototype.visitNon_reserved_words = function(ctx) { + return this.visitChildren(ctx); +}; + + + +exports.HiveSqlVisitor = HiveSqlVisitor; \ No newline at end of file diff --git a/src/lib/plsql/PlSqlBaseLexer.js b/src/lib/plsql/PlSqlBaseLexer.js new file mode 100644 index 0000000..817466a --- /dev/null +++ b/src/lib/plsql/PlSqlBaseLexer.js @@ -0,0 +1,16 @@ +const Lexer = require('antlr4').Lexer; + +function PlSqlBaseLexer(...args) { + Lexer.call(this, ...args); + return this; +} + +PlSqlBaseLexer.prototype = Object.create(Lexer.prototype); +PlSqlBaseLexer.prototype.constructor = PlSqlBaseLexer; + +PlSqlBaseLexer.prototype.IsNewlineAtPos = function(pos) { + const la = this._input.LA(pos); + return la == -1 || la == '\n'; +}; + +exports.PlSqlBaseLexer = PlSqlBaseLexer; diff --git a/src/lib/plsql/PlSqlBaseParser.js b/src/lib/plsql/PlSqlBaseParser.js new file mode 100644 index 0000000..cb9733b --- /dev/null +++ b/src/lib/plsql/PlSqlBaseParser.js @@ -0,0 +1,27 @@ + +const Parser = require('antlr4').Parser; + +function PlSqlBaseParser(...args) { + Parser.call(this, ...args); + this._isVersion10 = false; + this._isVersion12 = true; + return this; +} + +PlSqlBaseParser.prototype = Object.create(Parser.prototype); +PlSqlBaseParser.prototype.constructor = PlSqlBaseParser; + +PlSqlBaseParser.prototype.isVersion10 = function() { + return this._isVersion10; +}; +PlSqlBaseParser.prototype.isVersion12 = function() { + return this._isVersion12; +}; +PlSqlBaseParser.prototype.setVersion10 = function(value) { + this._isVersion10 = value; +}; +PlSqlBaseParser.prototype.setVersion12 = function(value) { + this._isVersion12 = value; +}; + +exports.PlSqlBaseParser = PlSqlBaseParser; diff --git a/src/lib/plsql/PlSqlLexer.interp b/src/lib/plsql/PlSqlLexer.interp new file mode 100644 index 0000000..5322ae4 --- /dev/null +++ b/src/lib/plsql/PlSqlLexer.interp @@ -0,0 +1,6791 @@ +token literal names: +null +'ABORT' +'ABS' +'ACCESS' +'ACCESSED' +'ACCOUNT' +'ACL' +'ACOS' +'ACTION' +'ACTIONS' +'ACTIVATE' +'ACTIVE' +'ACTIVE_COMPONENT' +'ACTIVE_DATA' +'ACTIVE_FUNCTION' +'ACTIVE_TAG' +'ACTIVITY' +'ADAPTIVE_PLAN' +'ADD' +'ADD_COLUMN' +'ADD_GROUP' +'ADD_MONTHS' +'ADJ_DATE' +'ADMIN' +'ADMINISTER' +'ADMINISTRATOR' +'ADVANCED' +'ADVISE' +'ADVISOR' +'AFD_DISKSTRING' +'AFTER' +'AGENT' +'AGGREGATE' +'A' +'ALIAS' +'ALL' +'ALLOCATE' +'ALLOW' +'ALL_ROWS' +'ALTER' +'ALWAYS' +'ANALYZE' +'ANCILLARY' +'AND' +'AND_EQUAL' +'ANOMALY' +'ANSI_REARCH' +'ANTIJOIN' +'ANY' +'ANYSCHEMA' +'APPEND' +'APPENDCHILDXML' +'APPEND_VALUES' +'APPLICATION' +'APPLY' +'APPROX_COUNT_DISTINCT' +'ARCHIVAL' +'ARCHIVE' +'ARCHIVED' +'ARCHIVELOG' +'ARRAY' +'AS' +'ASC' +'ASCII' +'ASCIISTR' +'ASIN' +'ASIS' +'ASSEMBLY' +'ASSIGN' +'ASSOCIATE' +'ASYNC' +'ASYNCHRONOUS' +'ATAN2' +'ATAN' +'AT' +'ATTRIBUTE' +'ATTRIBUTES' +'AUDIT' +'AUTHENTICATED' +'AUTHENTICATION' +'AUTHID' +'AUTHORIZATION' +'AUTOALLOCATE' +'AUTO' +'AUTOBACKUP' +'AUTOEXTEND' +'AUTO_LOGIN' +'AUTOMATIC' +'AUTONOMOUS_TRANSACTION' +'AUTO_REOPTIMIZE' +'AVAILABILITY' +'AVRO' +'BACKGROUND' +'BACKUP' +'BACKUPSET' +'BASIC' +'BASICFILE' +'BATCH' +'BATCHSIZE' +'BATCH_TABLE_ACCESS_BY_ROWID' +'BECOME' +'BEFORE' +'BEGIN' +'BEGINNING' +'BEGIN_OUTLINE_DATA' +'BEHALF' +'BEQUEATH' +'BETWEEN' +'BFILE' +'BFILENAME' +'BIGFILE' +'BINARY' +'BINARY_DOUBLE' +'BINARY_DOUBLE_INFINITY' +'BINARY_DOUBLE_NAN' +'BINARY_FLOAT' +'BINARY_FLOAT_INFINITY' +'BINARY_FLOAT_NAN' +'BINARY_INTEGER' +'BIND_AWARE' +'BINDING' +'BIN_TO_NUM' +'BITAND' +'BITMAP_AND' +'BITMAP' +'BITMAPS' +'BITMAP_TREE' +'BITS' +'BLOB' +'BLOCK' +'BLOCK_RANGE' +'BLOCKS' +'BLOCKSIZE' +'BODY' +'BOOLEAN' +'BOTH' +'BOUND' +'BRANCH' +'BREADTH' +'BROADCAST' +'BSON' +'BUFFER' +'BUFFER_CACHE' +'BUFFER_POOL' +'BUILD' +'BULK' +'BY' +'BYPASS_RECURSIVE_CHECK' +'BYPASS_UJVC' +'BYTE' +'CACHE' +'CACHE_CB' +'CACHE_INSTANCES' +'CACHE_TEMP_TABLE' +'CACHING' +'CALCULATED' +'CALLBACK' +'CALL' +'CANCEL' +'CANONICAL' +'CAPACITY' +'CARDINALITY' +'CASCADE' +'CASE' +'CAST' +'CATEGORY' +'CDB$DEFAULT' +'CEIL' +'CELL_FLASH_CACHE' +'CERTIFICATE' +'CFILE' +'CHAINED' +'CHANGE' +'CHANGETRACKING' +'CHANGE_DUPKEY_ERROR_INDEX' +'CHARACTER' +'CHAR' +'CHAR_CS' +'CHARTOROWID' +'CHECK_ACL_REWRITE' +'CHECK' +'CHECKPOINT' +'CHILD' +'CHOOSE' +'CHR' +'CHUNK' +'CLASS' +'CLASSIFIER' +'CLEANUP' +'CLEAR' +'C' +'CLIENT' +'CLOB' +'CLONE' +'CLOSE_CACHED_OPEN_CURSORS' +'CLOSE' +'CLUSTER_BY_ROWID' +'CLUSTER' +'CLUSTER_DETAILS' +'CLUSTER_DISTANCE' +'CLUSTER_ID' +'CLUSTERING' +'CLUSTERING_FACTOR' +'CLUSTER_PROBABILITY' +'CLUSTER_SET' +'COALESCE' +'COALESCE_SQ' +'COARSE' +'CO_AUTH_IND' +'COLD' +'COLLECT' +'COLUMNAR' +'COLUMN_AUTH_INDICATOR' +'COLUMN' +'COLUMNS' +'COLUMN_STATS' +'COLUMN_VALUE' +'COMMENT' +'COMMIT' +'COMMITTED' +'COMMON_DATA' +'COMPACT' +'COMPATIBILITY' +'COMPILE' +'COMPLETE' +'COMPLIANCE' +'COMPONENT' +'COMPONENTS' +'COMPOSE' +'COMPOSITE' +'COMPOSITE_LIMIT' +'COMPOUND' +'COMPRESS' +'COMPUTE' +'CONCAT' +'CON_DBID_TO_ID' +'CONDITIONAL' +'CONDITION' +'CONFIRM' +'CONFORMING' +'CON_GUID_TO_ID' +'CON_ID' +'CON_NAME_TO_ID' +'CONNECT_BY_CB_WHR_ONLY' +'CONNECT_BY_COMBINE_SW' +'CONNECT_BY_COST_BASED' +'CONNECT_BY_ELIM_DUPS' +'CONNECT_BY_FILTERING' +'CONNECT_BY_ISCYCLE' +'CONNECT_BY_ISLEAF' +'CONNECT_BY_ROOT' +'CONNECT' +'CONNECT_TIME' +'CONSIDER' +'CONSISTENT' +'CONSTANT' +'CONST' +'CONSTRAINT' +'CONSTRAINTS' +'CONSTRUCTOR' +'CONTAINER' +'CONTAINER_DATA' +'CONTAINERS' +'CONTENT' +'CONTENTS' +'CONTEXT' +'CONTINUE' +'CONTROLFILE' +'CON_UID_TO_ID' +'CONVERT' +'COOKIE' +'COPY' +'CORR_K' +'CORR_S' +'CORRUPTION' +'CORRUPT_XID_ALL' +'CORRUPT_XID' +'COS' +'COSH' +'COST' +'COST_XML_QUERY_REWRITE' +'COUNT' +'COVAR_POP' +'COVAR_SAMP' +'CPU_COSTING' +'CPU_PER_CALL' +'CPU_PER_SESSION' +'CRASH' +'CREATE' +'CREATE_FILE_DEST' +'CREATE_STORED_OUTLINES' +'CREATION' +'CREDENTIAL' +'CRITICAL' +'CROSS' +'CROSSEDITION' +'CSCONVERT' +'CUBE_AJ' +'CUBE' +'CUBE_GB' +'CUBE_SJ' +'CUME_DISTM' +'CURRENT' +'CURRENT_DATE' +'CURRENT_SCHEMA' +'CURRENT_TIME' +'CURRENT_TIMESTAMP' +'CURRENT_USER' +'CURRENTV' +'CURSOR' +'CURSOR_SHARING_EXACT' +'CURSOR_SPECIFIC_SEGMENT' +'CUSTOMDATUM' +'CV' +'CYCLE' +'DANGLING' +'DATABASE' +'DATA' +'DATAFILE' +'DATAFILES' +'DATAGUARDCONFIG' +'DATAMOVEMENT' +'DATAOBJNO' +'DATAOBJ_TO_MAT_PARTITION' +'DATAOBJ_TO_PARTITION' +'DATAPUMP' +'DATA_SECURITY_REWRITE_LIMIT' +'DATE' +'DATE_MODE' +'DAY' +'DAYS' +'DBA' +'DBA_RECYCLEBIN' +'DBMS_STATS' +'DB_ROLE_CHANGE' +'DBTIMEZONE' +'DB_UNIQUE_NAME' +'DB_VERSION' +'DDL' +'DEALLOCATE' +'DEBUG' +'DEBUGGER' +'DEC' +'DECIMAL' +'DECLARE' +'DECOMPOSE' +'DECORRELATE' +'DECR' +'DECREMENT' +'DECRYPT' +'DEDUPLICATE' +'DEFAULT' +'DEFAULTS' +'DEFERRABLE' +'DEFERRED' +'DEFINED' +'DEFINE' +'DEFINER' +'DEGREE' +'DELAY' +'DELEGATE' +'DELETE_ALL' +'DELETE' +'DELETEXML' +'DEMAND' +'DENSE_RANKM' +'DEPENDENT' +'DEPTH' +'DEQUEUE' +'DEREF' +'DEREF_NO_REWRITE' +'DESC' +'DESTROY' +'DETACHED' +'DETERMINES' +'DETERMINISTIC' +'DICTIONARY' +'DIMENSION' +'DIMENSIONS' +'DIRECT_LOAD' +'DIRECTORY' +'DIRECT_PATH' +'DISABLE_ALL' +'DISABLE' +'DISABLE_PARALLEL_DML' +'DISABLE_PRESET' +'DISABLE_RPKE' +'DISALLOW' +'DISASSOCIATE' +'DISCARD' +'DISCONNECT' +'DISK' +'DISKGROUP' +'\'+ DISKGROUP' +'DISKS' +'DISMOUNT' +'DISTINCT' +'DISTINGUISHED' +'DISTRIBUTED' +'DISTRIBUTE' +'DML' +'DML_UPDATE' +'DOCFIDELITY' +'DOCUMENT' +'DOMAIN_INDEX_FILTER' +'DOMAIN_INDEX_NO_SORT' +'DOMAIN_INDEX_SORT' +'DOUBLE' +'DOWNGRADE' +'DRIVING_SITE' +'DROP_COLUMN' +'DROP' +'DROP_GROUP' +'DSINTERVAL_UNCONSTRAINED' +'DST_UPGRADE_INSERT_CONV' +'DUMP' +'DUMPSET' +'DUPLICATE' +'DV' +'DYNAMIC' +'DYNAMIC_SAMPLING' +'DYNAMIC_SAMPLING_EST_CDN' +'EACH' +'EDITIONABLE' +'EDITION' +'EDITIONING' +'EDITIONS' +'ELEMENT' +'ELIM_GROUPBY' +'ELIMINATE_JOIN' +'ELIMINATE_OBY' +'ELIMINATE_OUTER_JOIN' +'ELSE' +'ELSIF' +'EM' +'EMPTY_BLOB' +'EMPTY_CLOB' +'EMPTY' +'ENABLE_ALL' +'ENABLE' +'ENABLE_PARALLEL_DML' +'ENABLE_PRESET' +'ENCODING' +'ENCRYPT' +'ENCRYPTION' +'END' +'END_OUTLINE_DATA' +'ENFORCED' +'ENFORCE' +'ENQUEUE' +'ENTERPRISE' +'ENTITYESCAPING' +'ENTRY' +'EQUIPART' +'ERR' +'ERROR_ARGUMENT' +'ERROR' +'ERROR_ON_OVERLAP_TIME' +'ERRORS' +'ESCAPE' +'ESTIMATE' +'EVAL' +'EVALNAME' +'EVALUATE' +'EVALUATION' +'EVENTS' +'EVERY' +'EXCEPT' +'EXCEPTION' +'EXCEPTION_INIT' +'EXCEPTIONS' +'EXCHANGE' +'EXCLUDE' +'EXCLUDING' +'EXCLUSIVE' +'EXECUTE' +'EXEMPT' +'EXISTING' +'EXISTS' +'EXISTSNODE' +'EXIT' +'EXPAND_GSET_TO_UNION' +'EXPAND_TABLE' +'EXP' +'EXPIRE' +'EXPLAIN' +'EXPLOSION' +'EXPORT' +'EXPR_CORR_CHECK' +'EXPRESS' +'EXTENDS' +'EXTENT' +'EXTENTS' +'EXTERNAL' +'EXTERNALLY' +'EXTRACTCLOBXML' +'EXTRACT' +'EXTRACTVALUE' +'EXTRA' +'FACILITY' +'FACT' +'FACTOR' +'FACTORIZE_JOIN' +'FAILED' +'FAILED_LOGIN_ATTEMPTS' +'FAILGROUP' +'FAILOVER' +'FAILURE' +'FALSE' +'FAMILY' +'FAR' +'FAST' +'FASTSTART' +'FBTSCAN' +'FEATURE_DETAILS' +'FEATURE_ID' +'FEATURE_SET' +'FEATURE_VALUE' +'FETCH' +'FILE' +'FILE_NAME_CONVERT' +'FILESYSTEM_LIKE_LOGGING' +'FILTER' +'FINAL' +'FINE' +'FINISH' +'FIRST' +'FIRSTM' +'FIRST_ROWS' +'FIRST_VALUE' +'FIXED_VIEW_DATA' +'FLAGGER' +'FLASHBACK' +'FLASH_CACHE' +'FLOAT' +'FLOB' +'FLOOR' +'FLUSH' +'FOLDER' +'FOLLOWING' +'FOLLOWS' +'FORALL' +'FORCE' +'FORCE_XML_QUERY_REWRITE' +'FOREIGN' +'FOREVER' +'FOR' +'FORMAT' +'FORWARD' +'FRAGMENT_NUMBER' +'FREELIST' +'FREELISTS' +'FREEPOOLS' +'FRESH' +'FROM' +'FROM_TZ' +'FULL' +'FULL_OUTER_JOIN_TO_OUTER' +'FUNCTION' +'FUNCTIONS' +'GATHER_OPTIMIZER_STATISTICS' +'GATHER_PLAN_STATISTICS' +'GBY_CONC_ROLLUP' +'GBY_PUSHDOWN' +'GENERATED' +'GET' +'GLOBAL' +'GLOBALLY' +'GLOBAL_NAME' +'GLOBAL_TOPIC_ENABLED' +'GOTO' +'GRANT' +'GROUP_BY' +'GROUP' +'GROUP_ID' +'GROUPING' +'GROUPING_ID' +'GROUPS' +'GUARANTEED' +'GUARANTEE' +'GUARD' +'HASH_AJ' +'HASH' +'HASHKEYS' +'HASH_SJ' +'HAVING' +'HEADER' +'HEAP' +'HELP' +'HEXTORAW' +'HEXTOREF' +'HIDDEN' +'HIDE' +'HIERARCHY' +'HIGH' +'HINTSET_BEGIN' +'HINTSET_END' +'HOT' +'HOUR' +'HWM_BROKERED' +'HYBRID' +'IDENTIFIED' +'IDENTIFIER' +'IDENTITY' +'IDGENERATORS' +'ID' +'IDLE_TIME' +'IF' +'IGNORE' +'IGNORE_OPTIM_EMBEDDED_HINTS' +'IGNORE_ROW_ON_DUPKEY_INDEX' +'IGNORE_WHERE_CLAUSE' +'ILM' +'IMMEDIATE' +'IMPACT' +'IMPORT' +'INACTIVE' +'INCLUDE' +'INCLUDE_VERSION' +'INCLUDING' +'INCREMENTAL' +'INCREMENT' +'INCR' +'INDENT' +'INDEX_ASC' +'INDEX_COMBINE' +'INDEX_DESC' +'INDEXED' +'INDEXES' +'INDEX_FFS' +'INDEX_FILTER' +'INDEX' +'INDEXING' +'INDEX_JOIN' +'INDEX_ROWS' +'INDEX_RRS' +'INDEX_RS_ASC' +'INDEX_RS_DESC' +'INDEX_RS' +'INDEX_SCAN' +'INDEX_SKIP_SCAN' +'INDEX_SS_ASC' +'INDEX_SS_DESC' +'INDEX_SS' +'INDEX_STATS' +'INDEXTYPE' +'INDEXTYPES' +'INDICATOR' +'INDICES' +'INFINITE' +'INFORMATIONAL' +'INHERIT' +'IN' +'INITCAP' +'INITIAL' +'INITIALIZED' +'INITIALLY' +'INITRANS' +'INLINE' +'INLINE_XMLTYPE_NT' +'INMEMORY' +'IN_MEMORY_METADATA' +'INMEMORY_PRUNING' +'INNER' +'INOUT' +'INPLACE' +'INSERTCHILDXMLAFTER' +'INSERTCHILDXMLBEFORE' +'INSERTCHILDXML' +'INSERT' +'INSERTXMLAFTER' +'INSERTXMLBEFORE' +'INSTANCE' +'INSTANCES' +'INSTANTIABLE' +'INSTANTLY' +'INSTEAD' +'INSTR2' +'INSTR4' +'INSTRB' +'INSTRC' +'INSTR' +'INTEGER' +'INTERLEAVED' +'INTERMEDIATE' +'INTERNAL_CONVERT' +'INTERNAL_USE' +'INTERPRETED' +'INTERSECT' +'INTERVAL' +'INT' +'INTO' +'INVALIDATE' +'INVISIBLE' +'IN_XQUERY' +'IS' +'ISOLATION' +'ISOLATION_LEVEL' +'ITERATE' +'ITERATION_NUMBER' +'JAVA' +'JOB' +'JOIN' +'JSON_ARRAYAGG' +'JSON_ARRAY' +'JSON_EQUAL' +'JSON_EXISTS2' +'JSON_EXISTS' +'JSONGET' +'JSON' +'JSON_OBJECTAGG' +'JSON_OBJECT' +'JSONPARSE' +'JSON_QUERY' +'JSON_SERIALIZE' +'JSON_TABLE' +'JSON_TEXTCONTAINS2' +'JSON_TEXTCONTAINS' +'JSON_VALUE' +'KEEP_DUPLICATES' +'KEEP' +'KERBEROS' +'KEY' +'KEY_LENGTH' +'KEYSIZE' +'KEYS' +'KEYSTORE' +'KILL' +'LABEL' +'LANGUAGE' +'LAST_DAY' +'LAST' +'LAST_VALUE' +'LATERAL' +'LAX' +'LAYER' +'LDAP_REGISTRATION_ENABLED' +'LDAP_REGISTRATION' +'LDAP_REG_SYNC_INTERVAL' +'LEADING' +'LEFT' +'LENGTH2' +'LENGTH4' +'LENGTHB' +'LENGTHC' +'LENGTH' +'LESS' +'LEVEL' +'LEVELS' +'LIBRARY' +'LIFECYCLE' +'LIFE' +'LIFETIME' +'LIKE2' +'LIKE4' +'LIKEC' +'LIKE_EXPAND' +'LIKE' +'LIMIT' +'LINEAR' +'LINK' +'LIST' +'LN' +'LNNVL' +'LOAD' +'LOB' +'LOBNVL' +'LOBS' +'LOCAL_INDEXES' +'LOCAL' +'LOCALTIME' +'LOCALTIMESTAMP' +'LOCATION' +'LOCATOR' +'LOCKED' +'LOCKING' +'LOCK' +'LOGFILE' +'LOGFILES' +'LOGGING' +'LOGICAL' +'LOGICAL_READS_PER_CALL' +'LOGICAL_READS_PER_SESSION' +'LOG' +'LOGMINING' +'LOGOFF' +'LOGON' +'LOG_READ_ONLY_VIOLATIONS' +'LONG' +'LOOP' +'LOWER' +'LOW' +'LPAD' +'LTRIM' +'MAIN' +'MAKE_REF' +'MANAGED' +'MANAGE' +'MANAGEMENT' +'MANAGER' +'MANUAL' +'MAP' +'MAPPING' +'MASTER' +'MATCHED' +'MATCHES' +'MATCH' +'MATCH_NUMBER' +'MATCH_RECOGNIZE' +'MATERIALIZED' +'MATERIALIZE' +'MAXARCHLOGS' +'MAXDATAFILES' +'MAXEXTENTS' +'MAXIMIZE' +'MAXINSTANCES' +'MAXLOGFILES' +'MAXLOGHISTORY' +'MAXLOGMEMBERS' +'MAX_SHARED_TEMP_SIZE' +'MAXSIZE' +'MAXTRANS' +'MAXVALUE' +'MEASURE' +'MEASURES' +'MEDIUM' +'MEMBER' +'MEMCOMPRESS' +'MEMORY' +'MERGE$ACTIONS' +'MERGE_AJ' +'MERGE_CONST_ON' +'MERGE' +'MERGE_SJ' +'METADATA' +'METHOD' +'MIGRATE' +'MIGRATION' +'MINEXTENTS' +'MINIMIZE' +'MINIMUM' +'MINING' +'MINUS' +'MINUS_NULL' +'MINUTE' +'MINVALUE' +'MIRRORCOLD' +'MIRRORHOT' +'MIRROR' +'MLSLABEL' +'MODEL_COMPILE_SUBQUERY' +'MODEL_DONTVERIFY_UNIQUENESS' +'MODEL_DYNAMIC_SUBQUERY' +'MODEL_MIN_ANALYSIS' +'MODEL' +'MODEL_NB' +'MODEL_NO_ANALYSIS' +'MODEL_PBY' +'MODEL_PUSH_REF' +'MODEL_SV' +'MODE' +'MODIFICATION' +'MODIFY_COLUMN_TYPE' +'MODIFY' +'MOD' +'MODULE' +'MONITORING' +'MONITOR' +'MONTH' +'MONTHS_BETWEEN' +'MONTHS' +'MOUNT' +'MOUNTPATH' +'MOVEMENT' +'MOVE' +'MULTIDIMENSIONAL' +'MULTISET' +'MV_MERGE' +'NAMED' +'NAME' +'NAMESPACE' +'NAN' +'NANVL' +'NATIONAL' +'NATIVE_FULL_OUTER_JOIN' +'NATIVE' +'NATURAL' +'NATURALN' +'NAV' +'NCHAR_CS' +'NCHAR' +'NCHR' +'NCLOB' +'NEEDED' +'NEG' +'NESTED' +'NESTED_TABLE_FAST_INSERT' +'NESTED_TABLE_GET_REFS' +'NESTED_TABLE_ID' +'NESTED_TABLE_SET_REFS' +'NESTED_TABLE_SET_SETID' +'NETWORK' +'NEVER' +'NEW' +'NEW_TIME' +'NEXT_DAY' +'NEXT' +'NL_AJ' +'NLJ_BATCHING' +'NLJ_INDEX_FILTER' +'NLJ_INDEX_SCAN' +'NLJ_PREFETCH' +'NLS_CALENDAR' +'NLS_CHARACTERSET' +'NLS_CHARSET_DECL_LEN' +'NLS_CHARSET_ID' +'NLS_CHARSET_NAME' +'NLS_COMP' +'NLS_CURRENCY' +'NLS_DATE_FORMAT' +'NLS_DATE_LANGUAGE' +'NLS_INITCAP' +'NLS_ISO_CURRENCY' +'NL_SJ' +'NLS_LANG' +'NLS_LANGUAGE' +'NLS_LENGTH_SEMANTICS' +'NLS_LOWER' +'NLS_NCHAR_CONV_EXCP' +'NLS_NUMERIC_CHARACTERS' +'NLS_SORT' +'NLSSORT' +'NLS_SPECIAL_CHARS' +'NLS_TERRITORY' +'NLS_UPPER' +'NO_ACCESS' +'NO_ADAPTIVE_PLAN' +'NO_ANSI_REARCH' +'NOAPPEND' +'NOARCHIVELOG' +'NOAUDIT' +'NO_AUTO_REOPTIMIZE' +'NO_BASETABLE_MULTIMV_REWRITE' +'NO_BATCH_TABLE_ACCESS_BY_ROWID' +'NO_BIND_AWARE' +'NO_BUFFER' +'NOCACHE' +'NO_CARTESIAN' +'NO_CHECK_ACL_REWRITE' +'NO_CLUSTER_BY_ROWID' +'NO_CLUSTERING' +'NO_COALESCE_SQ' +'NO_COMMON_DATA' +'NOCOMPRESS' +'NO_CONNECT_BY_CB_WHR_ONLY' +'NO_CONNECT_BY_COMBINE_SW' +'NO_CONNECT_BY_COST_BASED' +'NO_CONNECT_BY_ELIM_DUPS' +'NO_CONNECT_BY_FILTERING' +'NOCOPY' +'NO_COST_XML_QUERY_REWRITE' +'NO_CPU_COSTING' +'NOCPU_COSTING' +'NOCYCLE' +'NO_DATA_SECURITY_REWRITE' +'NO_DECORRELATE' +'NODELAY' +'NO_DOMAIN_INDEX_FILTER' +'NO_DST_UPGRADE_INSERT_CONV' +'NO_ELIM_GROUPBY' +'NO_ELIMINATE_JOIN' +'NO_ELIMINATE_OBY' +'NO_ELIMINATE_OUTER_JOIN' +'NOENTITYESCAPING' +'NO_EXPAND_GSET_TO_UNION' +'NO_EXPAND' +'NO_EXPAND_TABLE' +'NO_FACT' +'NO_FACTORIZE_JOIN' +'NO_FILTERING' +'NOFORCE' +'NO_FULL_OUTER_JOIN_TO_OUTER' +'NO_GATHER_OPTIMIZER_STATISTICS' +'NO_GBY_PUSHDOWN' +'NOGUARANTEE' +'NO_INDEX_FFS' +'NO_INDEX' +'NO_INDEX_SS' +'NO_INMEMORY' +'NO_INMEMORY_PRUNING' +'NOKEEP' +'NO_LOAD' +'NOLOCAL' +'NOLOGGING' +'NOMAPPING' +'NOMAXVALUE' +'NO_MERGE' +'NOMINIMIZE' +'NOMINVALUE' +'NO_MODEL_PUSH_REF' +'NO_MONITORING' +'NOMONITORING' +'NO_MONITOR' +'NO_MULTIMV_REWRITE' +'NO_NATIVE_FULL_OUTER_JOIN' +'NONBLOCKING' +'NONEDITIONABLE' +'NONE' +'NO_NLJ_BATCHING' +'NO_NLJ_PREFETCH' +'NO' +'NONSCHEMA' +'NO_OBJECT_LINK' +'NOORDER' +'NO_ORDER_ROLLUPS' +'NO_OUTER_JOIN_TO_ANTI' +'NO_OUTER_JOIN_TO_INNER' +'NOOVERRIDE' +'NO_PARALLEL_INDEX' +'NOPARALLEL_INDEX' +'NO_PARALLEL' +'NOPARALLEL' +'NO_PARTIAL_COMMIT' +'NO_PARTIAL_JOIN' +'NO_PARTIAL_ROLLUP_PUSHDOWN' +'NOPARTITION' +'NO_PLACE_DISTINCT' +'NO_PLACE_GROUP_BY' +'NO_PQ_CONCURRENT_UNION' +'NO_PQ_MAP' +'NO_PQ_REPLICATE' +'NO_PQ_SKEW' +'NO_PRUNE_GSETS' +'NO_PULL_PRED' +'NO_PUSH_PRED' +'NO_PUSH_SUBQ' +'NO_PX_FAULT_TOLERANCE' +'NO_PX_JOIN_FILTER' +'NO_QKN_BUFF' +'NO_QUERY_TRANSFORMATION' +'NO_REF_CASCADE' +'NORELOCATE' +'NORELY' +'NOREPAIR' +'NOREPLAY' +'NORESETLOGS' +'NO_RESULT_CACHE' +'NOREVERSE' +'NO_REWRITE' +'NOREWRITE' +'NORMAL' +'NO_ROOT_SW_FOR_LOCAL' +'NOROWDEPENDENCIES' +'NOSCHEMACHECK' +'NOSEGMENT' +'NO_SEMIJOIN' +'NO_SEMI_TO_INNER' +'NO_SET_TO_JOIN' +'NOSORT' +'NO_SQL_TRANSLATION' +'NO_SQL_TUNE' +'NO_STAR_TRANSFORMATION' +'NO_STATEMENT_QUEUING' +'NO_STATS_GSETS' +'NOSTRICT' +'NO_SUBQUERY_PRUNING' +'NO_SUBSTRB_PAD' +'NO_SWAP_JOIN_INPUTS' +'NOSWITCH' +'NO_TABLE_LOOKUP_BY_NL' +'NO_TEMP_TABLE' +'NOTHING' +'NOTIFICATION' +'NOT' +'NO_TRANSFORM_DISTINCT_AGG' +'NO_UNNEST' +'NO_USE_CUBE' +'NO_USE_HASH_AGGREGATION' +'NO_USE_HASH_GBY_FOR_PUSHDOWN' +'NO_USE_HASH' +'NO_USE_INVISIBLE_INDEXES' +'NO_USE_MERGE' +'NO_USE_NL' +'NO_USE_VECTOR_AGGREGATION' +'NOVALIDATE' +'NO_VECTOR_TRANSFORM_DIMS' +'NO_VECTOR_TRANSFORM_FACT' +'NO_VECTOR_TRANSFORM' +'NOWAIT' +'NO_XDB_FASTPATH_INSERT' +'NO_XML_DML_REWRITE' +'NO_XMLINDEX_REWRITE_IN_SELECT' +'NO_XMLINDEX_REWRITE' +'NO_XML_QUERY_REWRITE' +'NO_ZONEMAP' +'NTH_VALUE' +'NULLIF' +'NULL' +'NULLS' +'NUMBER' +'NUMERIC' +'NUM_INDEX_KEYS' +'NUMTODSINTERVAL' +'NUMTOYMINTERVAL' +'NVARCHAR2' +'NVL2' +'OBJECT2XML' +'OBJECT' +'OBJ_ID' +'OBJNO' +'OBJNO_REUSE' +'OCCURENCES' +'OFFLINE' +'OFF' +'OFFSET' +'OF' +'OIDINDEX' +'OID' +'OLAP' +'OLD' +'OLD_PUSH_PRED' +'OLS' +'OLTP' +'OMIT' +'ONE' +'ONLINE' +'ONLINELOG' +'ONLY' +'ON' +'OPAQUE' +'OPAQUE_TRANSFORM' +'OPAQUE_XCANONICAL' +'OPCODE' +'OPEN' +'OPERATIONS' +'OPERATOR' +'OPT_ESTIMATE' +'OPTIMAL' +'OPTIMIZE' +'OPTIMIZER_FEATURES_ENABLE' +'OPTIMIZER_GOAL' +'OPTION' +'OPT_PARAM' +'ORA_BRANCH' +'ORA_CHECK_ACL' +'ORA_CHECK_PRIVILEGE' +'ORA_CLUSTERING' +'ORADATA' +'ORADEBUG' +'ORA_DST_AFFECTED' +'ORA_DST_CONVERT' +'ORA_DST_ERROR' +'ORA_GET_ACLIDS' +'ORA_GET_PRIVILEGES' +'ORA_HASH' +'ORA_INVOKING_USERID' +'ORA_INVOKING_USER' +'ORA_INVOKING_XS_USER_GUID' +'ORA_INVOKING_XS_USER' +'ORA_RAWCOMPARE' +'ORA_RAWCONCAT' +'ORA_ROWSCN' +'ORA_ROWSCN_RAW' +'ORA_ROWVERSION' +'ORA_TABVERSION' +'ORA_WRITE_TIME' +'ORDERED' +'ORDERED_PREDICATES' +'ORDER' +'ORDINALITY' +'OR_EXPAND' +'ORGANIZATION' +'OR' +'OR_PREDICATES' +'OSERROR' +'OTHER' +'OUTER_JOIN_TO_ANTI' +'OUTER_JOIN_TO_INNER' +'OUTER' +'OUTLINE_LEAF' +'OUTLINE' +'OUT_OF_LINE' +'OUT' +'OVERFLOW_NOMOVE' +'OVERFLOW' +'OVERLAPS' +'OVER' +'OVERRIDING' +'OWNER' +'OWNERSHIP' +'OWN' +'PACKAGE' +'PACKAGES' +'PARALLEL_ENABLE' +'PARALLEL_INDEX' +'PARALLEL' +'PARAMETERFILE' +'PARAMETERS' +'PARAM' +'PARENT' +'PARITY' +'PARTIAL_JOIN' +'PARTIALLY' +'PARTIAL' +'PARTIAL_ROLLUP_PUSHDOWN' +'PARTITION_HASH' +'PARTITION_LIST' +'PARTITION' +'PARTITION_RANGE' +'PARTITIONS' +'PART$NUM$INST' +'PASSING' +'PASSWORD_GRACE_TIME' +'PASSWORD_LIFE_TIME' +'PASSWORD_LOCK_TIME' +'PASSWORD' +'PASSWORD_REUSE_MAX' +'PASSWORD_REUSE_TIME' +'PASSWORD_VERIFY_FUNCTION' +'PAST' +'PATCH' +'PATH' +'PATH_PREFIX' +'PATHS' +'PATTERN' +'PBL_HS_BEGIN' +'PBL_HS_END' +'PCTFREE' +'PCTINCREASE' +'PCTTHRESHOLD' +'PCTUSED' +'PCTVERSION' +'PENDING' +null +null +null +'PERCENT' +'PERCENT_RANKM' +null +null +null +'PERFORMANCE' +'PERIOD' +'PERMANENT' +'PERMISSION' +'PERMUTE' +'PER' +'PFILE' +'PHYSICAL' +'PIKEY' +'PIPELINED' +'PIPE' +'PIV_GB' +'PIVOT' +'PIV_SSF' +'PLACE_DISTINCT' +'PLACE_GROUP_BY' +'PLAN' +'PLSCOPE_SETTINGS' +'PLS_INTEGER' +'PLSQL_CCFLAGS' +'PLSQL_CODE_TYPE' +'PLSQL_DEBUG' +'PLSQL_OPTIMIZE_LEVEL' +'PLSQL_WARNINGS' +'PLUGGABLE' +'POINT' +'POLICY' +'POOL_16K' +'POOL_2K' +'POOL_32K' +'POOL_4K' +'POOL_8K' +'POSITIVEN' +'POSITIVE' +'POST_TRANSACTION' +'POWERMULTISET_BY_CARDINALITY' +'POWERMULTISET' +'POWER' +'PQ_CONCURRENT_UNION' +'PQ_DISTRIBUTE' +'PQ_DISTRIBUTE_WINDOW' +'PQ_FILTER' +'PQ_MAP' +'PQ_NOMAP' +'PQ_REPLICATE' +'PQ_SKEW' +'PRAGMA' +'PREBUILT' +'PRECEDES' +'PRECEDING' +'PRECISION' +'PRECOMPUTE_SUBQUERY' +'PREDICATE_REORDERS' +'PRELOAD' +'PREPARE' +'PRESENTNNV' +'PRESENT' +'PRESENTV' +'PRESERVE_OID' +'PRESERVE' +'PRETTY' +'PREVIOUS' +'PREV' +'PRIMARY' +'PRINTBLOBTOCLOB' +'PRIORITY' +'PRIOR' +'PRIVATE' +'PRIVATE_SGA' +'PRIVILEGED' +'PRIVILEGE' +'PRIVILEGES' +'PROCEDURAL' +'PROCEDURE' +'PROCESS' +'PROFILE' +'PROGRAM' +'PROJECT' +'PROPAGATE' +'PROTECTED' +'PROTECTION' +'PROXY' +'PRUNING' +'PUBLIC' +'PULL_PRED' +'PURGE' +'PUSH_PRED' +'PUSH_SUBQ' +'PX_FAULT_TOLERANCE' +'PX_GRANULE' +'PX_JOIN_FILTER' +'QB_NAME' +'QUERY_BLOCK' +'QUERY' +'QUEUE_CURR' +'QUEUE' +'QUEUE_ROWP' +'QUIESCE' +'QUORUM' +'QUOTA' +'RAISE' +'RANDOM_LOCAL' +'RANDOM' +'RANGE' +'RANKM' +'RAPIDLY' +'RAW' +'RAWTOHEX' +'RAWTONHEX' +'RBA' +'RBO_OUTLINE' +'RDBA' +'READ' +'READS' +'REALM' +'REAL' +'REBALANCE' +'REBUILD' +'RECORD' +'RECORDS_PER_BLOCK' +'RECOVERABLE' +'RECOVER' +'RECOVERY' +'RECYCLEBIN' +'RECYCLE' +'REDACTION' +'REDEFINE' +'REDO' +'REDUCED' +'REDUNDANCY' +'REF_CASCADE_CURSOR' +'REFERENCED' +'REFERENCE' +'REFERENCES' +'REFERENCING' +'REF' +'REFRESH' +'REFTOHEX' +'REGEXP_COUNT' +'REGEXP_INSTR' +'REGEXP_LIKE' +'REGEXP_REPLACE' +'REGEXP_SUBSTR' +'REGISTER' +'REGR_AVGX' +'REGR_AVGY' +'REGR_COUNT' +'REGR_INTERCEPT' +'REGR_R2' +'REGR_SLOPE' +'REGR_SXX' +'REGR_SXY' +'REGR_SYY' +'REGULAR' +'REJECT' +'REKEY' +'RELATIONAL' +'RELIES_ON' +'RELOCATE' +'RELY' +'REMAINDER' +'REMOTE_MAPPED' +'REMOVE' +'RENAME' +'REPAIR' +'REPEAT' +'REPLACE' +'REPLICATION' +'REQUIRED' +'RESETLOGS' +'RESET' +'RESIZE' +'RESOLVE' +'RESOLVER' +'RESOURCE' +'RESPECT' +'RESTART' +'RESTORE_AS_INTERVALS' +'RESTORE' +'RESTRICT_ALL_REF_CONS' +'RESTRICTED' +'RESTRICT_REFERENCES' +'RESTRICT' +'RESULT_CACHE' +'RESULT' +'RESUMABLE' +'RESUME' +'RETENTION' +'RETRY_ON_ROW_CHANGE' +'RETURNING' +'RETURN' +'REUSE' +'REVERSE' +'REVOKE' +'REWRITE_OR_ERROR' +'REWRITE' +'RIGHT' +'ROLE' +'ROLESET' +'ROLES' +'ROLLBACK' +'ROLLING' +'ROLLUP' +'ROWDEPENDENCIES' +'ROWID_MAPPING_TABLE' +'ROWID' +'ROWIDTOCHAR' +'ROWIDTONCHAR' +'ROW_LENGTH' +'ROWNUM' +'ROW' +'ROWS' +'RPAD' +'RTRIM' +'RULE' +'RULES' +'RUNNING' +'SALT' +'SAMPLE' +'SAVE_AS_INTERVALS' +'SAVEPOINT' +'SAVE' +'SB4' +'SCALE_ROWS' +'SCALE' +'SCAN_INSTANCES' +'SCAN' +'SCHEDULER' +'SCHEMACHECK' +'SCHEMA' +'SCN_ASCENDING' +'SCN' +'SCOPE' +'SCRUB' +'SD_ALL' +'SD_INHIBIT' +'SDO_GEOM_MBR' +'SD_SHOW' +'SEARCH' +'SECOND' +'SECRET' +'SECUREFILE_DBA' +'SECUREFILE' +'SECURITY' +'SEED' +'SEG_BLOCK' +'SEG_FILE' +'SEGMENT' +'SELECTIVITY' +'SELECT' +'SELF' +'SEMIJOIN_DRIVER' +'SEMIJOIN' +'SEMI_TO_INNER' +'SEQUENCED' +'SEQUENCE' +'SEQUENTIAL' +'SEQ' +'SERIALIZABLE' +'SERIALLY_REUSABLE' +'SERIAL' +'SERVERERROR' +'SERVICE_NAME_CONVERT' +'SERVICES' +'SESSION_CACHED_CURSORS' +'SESSION' +'SESSIONS_PER_USER' +'SESSIONTIMEZONE' +'SESSIONTZNAME' +'SET' +'SETS' +'SETTINGS' +'SET_TO_JOIN' +'SEVERE' +'SHARED_POOL' +'SHARED' +'SHARE' +'SHARING' +'SHELFLIFE' +'SHOW' +'SHRINK' +'SHUTDOWN' +'SIBLINGS' +'SID' +'SIGNAL_COMPONENT' +'SIGNAL_FUNCTION' +'SIGN' +'SIGNTYPE' +'SIMPLE_INTEGER' +'SIMPLE' +'SINGLE' +'SINGLETASK' +'SINH' +'SIN' +'SIZE' +'SKIP_EXT_OPTIMIZER' +'SKIP' +'SKIP_UNQ_UNUSABLE_IDX' +'SKIP_UNUSABLE_INDEXES' +'SMALLFILE' +'SMALLINT' +'SNAPSHOT' +'SOME' +'SORT' +'SOUNDEX' +'SOURCE_FILE_DIRECTORY' +'SOURCE_FILE_NAME_CONVERT' +'SOURCE' +'SPACE' +'SPECIFICATION' +'SPFILE' +'SPLIT' +'SPREADSHEET' +'SQLDATA' +'SQLERROR' +'SQLLDR' +'SQL' +'SQL_TRACE' +'SQL_TRANSLATION_PROFILE' +'SQRT' +'STALE' +'STANDALONE' +'STANDARD_HASH' +'STANDBY_MAX_DATA_DELAY' +'STANDBYS' +'STANDBY' +'STAR' +'STAR_TRANSFORMATION' +'START' +'STARTUP' +'STATEMENT_ID' +'STATEMENT_QUEUING' +'STATEMENTS' +'STATEMENT' +'STATE' +'STATIC' +'STATISTICS' +'STATS_BINOMIAL_TEST' +'STATS_CROSSTAB' +'STATS_F_TEST' +'STATS_KS_TEST' +'STATS_MODE' +'STATS_MW_TEST' +'STATS_ONE_WAY_ANOVA' +'STATS_T_TEST_INDEP' +'STATS_T_TEST_INDEPU' +'STATS_T_TEST_ONE' +'STATS_T_TEST_PAIRED' +'STATS_WSR_TEST' +'STDDEV_POP' +'STDDEV_SAMP' +'STOP' +'STORAGE' +'STORE' +'STREAMS' +'STREAM' +'STRICT' +'STRING' +'STRIPE_COLUMNS' +'STRIPE_WIDTH' +'STRIP' +'STRUCTURE' +'SUBMULTISET' +'SUBPARTITION_REL' +'SUBPARTITIONS' +'SUBPARTITION' +'SUBQUERIES' +'SUBQUERY_PRUNING' +'SUBSCRIBE' +'SUBSET' +'SUBSTITUTABLE' +'SUBSTR2' +'SUBSTR4' +'SUBSTRB' +'SUBSTRC' +'SUBTYPE' +'SUCCESSFUL' +'SUCCESS' +'SUMMARY' +'SUPPLEMENTAL' +'SUSPEND' +'SWAP_JOIN_INPUTS' +'SWITCHOVER' +'SWITCH' +'SYNCHRONOUS' +'SYNC' +'SYNONYM' +'SYSASM' +'SYS_AUDIT' +'SYSAUX' +'SYSBACKUP' +'SYS_CHECKACL' +'SYS_CHECK_PRIVILEGE' +'SYS_CONNECT_BY_PATH' +'SYS_CONTEXT' +'SYSDATE' +'SYSDBA' +'SYS_DBURIGEN' +'SYSDG' +'SYS_DL_CURSOR' +'SYS_DM_RXFORM_CHR' +'SYS_DM_RXFORM_NUM' +'SYS_DOM_COMPARE' +'SYS_DST_PRIM2SEC' +'SYS_DST_SEC2PRIM' +'SYS_ET_BFILE_TO_RAW' +'SYS_ET_BLOB_TO_IMAGE' +'SYS_ET_IMAGE_TO_BLOB' +'SYS_ET_RAW_TO_BFILE' +'SYS_EXTPDTXT' +'SYS_EXTRACT_UTC' +'SYS_FBT_INSDEL' +'SYS_FILTER_ACLS' +'SYS_FNMATCHES' +'SYS_FNREPLACE' +'SYS_GET_ACLIDS' +'SYS_GET_COL_ACLIDS' +'SYS_GET_PRIVILEGES' +'SYS_GETTOKENID' +'SYS_GETXTIVAL' +'SYS_GUID' +'SYSGUID' +'SYSKM' +'SYS_MAKE_XMLNODEID' +'SYS_MAKEXML' +'SYS_MKXMLATTR' +'SYS_MKXTI' +'SYSOBJ' +'SYS_OP_ADT2BIN' +'SYS_OP_ADTCONS' +'SYS_OP_ALSCRVAL' +'SYS_OP_ATG' +'SYS_OP_BIN2ADT' +'SYS_OP_BITVEC' +'SYS_OP_BL2R' +'SYS_OP_BLOOM_FILTER_LIST' +'SYS_OP_BLOOM_FILTER' +'SYS_OP_C2C' +'SYS_OP_CAST' +'SYS_OP_CEG' +'SYS_OP_CL2C' +'SYS_OP_COMBINED_HASH' +'SYS_OP_COMP' +'SYS_OP_CONVERT' +'SYS_OP_COUNTCHG' +'SYS_OP_CSCONV' +'SYS_OP_CSCONVTEST' +'SYS_OP_CSR' +'SYS_OP_CSX_PATCH' +'SYS_OP_CYCLED_SEQ' +'SYS_OP_DECOMP' +'SYS_OP_DESCEND' +'SYS_OP_DISTINCT' +'SYS_OP_DRA' +'SYS_OP_DUMP' +'SYS_OP_DV_CHECK' +'SYS_OP_ENFORCE_NOT_NULL$' +'SYSOPER' +'SYS_OP_EXTRACT' +'SYS_OP_GROUPING' +'SYS_OP_GUID' +'SYS_OP_HASH' +'SYS_OP_IIX' +'SYS_OP_ITR' +'SYS_OP_KEY_VECTOR_CREATE' +'SYS_OP_KEY_VECTOR_FILTER_LIST' +'SYS_OP_KEY_VECTOR_FILTER' +'SYS_OP_KEY_VECTOR_SUCCEEDED' +'SYS_OP_KEY_VECTOR_USE' +'SYS_OP_LBID' +'SYS_OP_LOBLOC2BLOB' +'SYS_OP_LOBLOC2CLOB' +'SYS_OP_LOBLOC2ID' +'SYS_OP_LOBLOC2NCLOB' +'SYS_OP_LOBLOC2TYP' +'SYS_OP_LSVI' +'SYS_OP_LVL' +'SYS_OP_MAKEOID' +'SYS_OP_MAP_NONNULL' +'SYS_OP_MSR' +'SYS_OP_NICOMBINE' +'SYS_OP_NIEXTRACT' +'SYS_OP_NII' +'SYS_OP_NIX' +'SYS_OP_NOEXPAND' +'SYS_OP_NTCIMG$' +'SYS_OP_NUMTORAW' +'SYS_OP_OIDVALUE' +'SYS_OP_OPNSIZE' +'SYS_OP_PAR_1' +'SYS_OP_PARGID_1' +'SYS_OP_PARGID' +'SYS_OP_PAR' +'SYS_OP_PART_ID' +'SYS_OP_PIVOT' +'SYS_OP_R2O' +'SYS_OP_RAWTONUM' +'SYS_OP_RDTM' +'SYS_OP_REF' +'SYS_OP_RMTD' +'SYS_OP_ROWIDTOOBJ' +'SYS_OP_RPB' +'SYS_OPTLOBPRBSC' +'SYS_OP_TOSETID' +'SYS_OP_TPR' +'SYS_OP_TRTB' +'SYS_OPTXICMP' +'SYS_OPTXQCASTASNQ' +'SYS_OP_UNDESCEND' +'SYS_OP_VECAND' +'SYS_OP_VECBIT' +'SYS_OP_VECOR' +'SYS_OP_VECXOR' +'SYS_OP_VERSION' +'SYS_OP_VREF' +'SYS_OP_VVD' +'SYS_OP_XMLCONS_FOR_CSX' +'SYS_OP_XPTHATG' +'SYS_OP_XPTHIDX' +'SYS_OP_XPTHOP' +'SYS_OP_XTXT2SQLT' +'SYS_OP_ZONE_ID' +'SYS_ORDERKEY_DEPTH' +'SYS_ORDERKEY_MAXCHILD' +'SYS_ORDERKEY_PARENT' +'SYS_PARALLEL_TXN' +'SYS_PATHID_IS_ATTR' +'SYS_PATHID_IS_NMSPC' +'SYS_PATHID_LASTNAME' +'SYS_PATHID_LASTNMSPC' +'SYS_PATH_REVERSE' +'SYS_PXQEXTRACT' +'SYS_RAW_TO_XSID' +'SYS_RID_ORDER' +'SYS_ROW_DELTA' +'SYS_SC_2_XMLT' +'SYS_SYNRCIREDO' +'SYSTEM_DEFINED' +'SYSTEM' +'SYSTIMESTAMP' +'SYS_TYPEID' +'SYS_UMAKEXML' +'SYS_XMLANALYZE' +'SYS_XMLCONTAINS' +'SYS_XMLCONV' +'SYS_XMLEXNSURI' +'SYS_XMLGEN' +'SYS_XMLI_LOC_ISNODE' +'SYS_XMLI_LOC_ISTEXT' +'SYS_XMLINSTR' +'SYS_XMLLOCATOR_GETSVAL' +'SYS_XMLNODEID_GETCID' +'SYS_XMLNODEID_GETLOCATOR' +'SYS_XMLNODEID_GETOKEY' +'SYS_XMLNODEID_GETPATHID' +'SYS_XMLNODEID_GETPTRID' +'SYS_XMLNODEID_GETRID' +'SYS_XMLNODEID_GETSVAL' +'SYS_XMLNODEID_GETTID' +'SYS_XMLNODEID' +'SYS_XMLT_2_SC' +'SYS_XMLTRANSLATE' +'SYS_XMLTYPE2SQL' +'SYS_XQ_ASQLCNV' +'SYS_XQ_ATOMCNVCHK' +'SYS_XQBASEURI' +'SYS_XQCASTABLEERRH' +'SYS_XQCODEP2STR' +'SYS_XQCODEPEQ' +'SYS_XQCON2SEQ' +'SYS_XQCONCAT' +'SYS_XQDELETE' +'SYS_XQDFLTCOLATION' +'SYS_XQDOC' +'SYS_XQDOCURI' +'SYS_XQDURDIV' +'SYS_XQED4URI' +'SYS_XQENDSWITH' +'SYS_XQERRH' +'SYS_XQERR' +'SYS_XQESHTMLURI' +'SYS_XQEXLOBVAL' +'SYS_XQEXSTWRP' +'SYS_XQEXTRACT' +'SYS_XQEXTRREF' +'SYS_XQEXVAL' +'SYS_XQFB2STR' +'SYS_XQFNBOOL' +'SYS_XQFNCMP' +'SYS_XQFNDATIM' +'SYS_XQFNLNAME' +'SYS_XQFNNM' +'SYS_XQFNNSURI' +'SYS_XQFNPREDTRUTH' +'SYS_XQFNQNM' +'SYS_XQFNROOT' +'SYS_XQFORMATNUM' +'SYS_XQFTCONTAIN' +'SYS_XQFUNCR' +'SYS_XQGETCONTENT' +'SYS_XQINDXOF' +'SYS_XQINSERT' +'SYS_XQINSPFX' +'SYS_XQIRI2URI' +'SYS_XQLANG' +'SYS_XQLLNMFRMQNM' +'SYS_XQMKNODEREF' +'SYS_XQNILLED' +'SYS_XQNODENAME' +'SYS_XQNORMSPACE' +'SYS_XQNORMUCODE' +'SYS_XQ_NRNG' +'SYS_XQNSP4PFX' +'SYS_XQNSPFRMQNM' +'SYS_XQPFXFRMQNM' +'SYS_XQ_PKSQL2XML' +'SYS_XQPOLYABS' +'SYS_XQPOLYADD' +'SYS_XQPOLYCEL' +'SYS_XQPOLYCSTBL' +'SYS_XQPOLYCST' +'SYS_XQPOLYDIV' +'SYS_XQPOLYFLR' +'SYS_XQPOLYMOD' +'SYS_XQPOLYMUL' +'SYS_XQPOLYRND' +'SYS_XQPOLYSQRT' +'SYS_XQPOLYSUB' +'SYS_XQPOLYUMUS' +'SYS_XQPOLYUPLS' +'SYS_XQPOLYVEQ' +'SYS_XQPOLYVGE' +'SYS_XQPOLYVGT' +'SYS_XQPOLYVLE' +'SYS_XQPOLYVLT' +'SYS_XQPOLYVNE' +'SYS_XQREF2VAL' +'SYS_XQRENAME' +'SYS_XQREPLACE' +'SYS_XQRESVURI' +'SYS_XQRNDHALF2EVN' +'SYS_XQRSLVQNM' +'SYS_XQRYENVPGET' +'SYS_XQRYVARGET' +'SYS_XQRYWRP' +'SYS_XQSEQ2CON4XC' +'SYS_XQSEQ2CON' +'SYS_XQSEQDEEPEQ' +'SYS_XQSEQINSB' +'SYS_XQSEQRM' +'SYS_XQSEQRVS' +'SYS_XQSEQSUB' +'SYS_XQSEQTYPMATCH' +'SYS_XQSTARTSWITH' +'SYS_XQSTATBURI' +'SYS_XQSTR2CODEP' +'SYS_XQSTRJOIN' +'SYS_XQSUBSTRAFT' +'SYS_XQSUBSTRBEF' +'SYS_XQTOKENIZE' +'SYS_XQTREATAS' +'SYS_XQ_UPKXML2SQL' +'SYS_XQXFORM' +'SYS_XSID_TO_RAW' +'SYS_ZMAP_FILTER' +'SYS_ZMAP_REFRESH' +'TABLE_LOOKUP_BY_NL' +'TABLESPACE_NO' +'TABLESPACE' +'TABLES' +'TABLE_STATS' +'TABLE' +'TABNO' +'TAG' +'TANH' +'TAN' +'TBL$OR$IDX$PART$NUM' +'TEMPFILE' +'TEMPLATE' +'TEMPORARY' +'TEMP_TABLE' +'TEST' +'TEXT' +'THAN' +'THEN' +'THE' +'THREAD' +'THROUGH' +'TIER' +'TIES' +'TIMEOUT' +'TIMESTAMP_LTZ_UNCONSTRAINED' +'TIMESTAMP' +'TIMESTAMP_TZ_UNCONSTRAINED' +'TIMESTAMP_UNCONSTRAINED' +'TIMES' +'TIME' +'TIMEZONE' +'TIMEZONE_ABBR' +'TIMEZONE_HOUR' +'TIMEZONE_MINUTE' +'TIMEZONE_OFFSET' +'TIMEZONE_REGION' +'TIME_ZONE' +'TIV_GB' +'TIV_SSF' +'TO_ACLID' +'TO_BINARY_DOUBLE' +'TO_BINARY_FLOAT' +'TO_BLOB' +'TO_CLOB' +'TO_DSINTERVAL' +'TO_LOB' +'TO_MULTI_BYTE' +'TO_NCHAR' +'TO_NCLOB' +'TO_NUMBER' +'TOPLEVEL' +'TO_SINGLE_BYTE' +'TO_TIMESTAMP' +'TO_TIMESTAMP_TZ' +'TO_TIME' +'TO_TIME_TZ' +'TO' +'TO_YMINTERVAL' +'TRACE' +'TRACING' +'TRACKING' +'TRAILING' +'TRANSACTION' +'TRANSFORM_DISTINCT_AGG' +'TRANSITIONAL' +'TRANSITION' +'TRANSLATE' +'TRANSLATION' +'TREAT' +'TRIGGERS' +'TRIGGER' +'TRUE' +'TRUNCATE' +'TRUNC' +'TRUSTED' +'TRUST' +'TUNING' +'TX' +'TYPES' +'TYPE' +'TZ_OFFSET' +'UB2' +'UBA' +'UCS2' +'UID' +'UNARCHIVED' +'UNBOUNDED' +'UNBOUND' +'UNCONDITIONAL' +'UNDER' +'UNDO' +'UNDROP' +'UNIFORM' +'UNION' +'UNIQUE' +'UNISTR' +'UNLIMITED' +'UNLOAD' +'UNLOCK' +'UNMATCHED' +'UNNEST_INNERJ_DISTINCT_VIEW' +'UNNEST_NOSEMIJ_NODISTINCTVIEW' +'UNNEST_SEMIJ_VIEW' +'UNNEST' +'UNPACKED' +'UNPIVOT' +'UNPLUG' +'UNPROTECTED' +'UNQUIESCE' +'UNRECOVERABLE' +'UNRESTRICTED' +'UNSUBSCRIBE' +'UNTIL' +'UNUSABLE' +'UNUSED' +'UPDATABLE' +'UPDATED' +'UPDATE' +'UPDATEXML' +'UPD_INDEXES' +'UPD_JOININDEX' +'UPGRADE' +'UPPER' +'UPSERT' +'UROWID' +'USABLE' +'USAGE' +'USE_ANTI' +'USE_CONCAT' +'USE_CUBE' +'USE_HASH_AGGREGATION' +'USE_HASH_GBY_FOR_PUSHDOWN' +'USE_HASH' +'USE_HIDDEN_PARTITIONS' +'USE_INVISIBLE_INDEXES' +'USE_MERGE_CARTESIAN' +'USE_MERGE' +'USE_NL' +'USE_NL_WITH_INDEX' +'USE_PRIVATE_OUTLINES' +'USER_DATA' +'USER_DEFINED' +'USERENV' +'USERGROUP' +'USER_RECYCLEBIN' +'USERS' +'USER_TABLESPACES' +'USER' +'USE_SEMI' +'USE_STORED_OUTLINES' +'USE_TTT_FOR_GSETS' +'USE' +'USE_VECTOR_AGGREGATION' +'USE_WEAK_NAME_RESL' +'USING_NO_EXPAND' +'USING' +'UTF16BE' +'UTF16LE' +'UTF32' +'UTF8' +'V1' +'V2' +'VALIDATE' +'VALIDATION' +'VALID_TIME_END' +'VALUES' +'VALUE' +'VARCHAR2' +'VARCHAR' +'VARIABLE' +'VAR_POP' +'VARRAYS' +'VARRAY' +'VAR_SAMP' +'VARYING' +'VECTOR_READ_TRACE' +'VECTOR_READ' +'VECTOR_TRANSFORM_DIMS' +'VECTOR_TRANSFORM_FACT' +'VECTOR_TRANSFORM' +'VERIFIER' +'VERIFY' +'VERSIONING' +'VERSIONS_ENDSCN' +'VERSIONS_ENDTIME' +'VERSIONS_OPERATION' +'VERSIONS_STARTSCN' +'VERSIONS_STARTTIME' +'VERSIONS' +'VERSIONS_XID' +'VERSION' +'VIEW' +'VIOLATION' +'VIRTUAL' +'VISIBILITY' +'VISIBLE' +'VOLUME' +'VSIZE' +'WAIT' +'WALLET' +'WARNING' +'WEEKS' +'WEEK' +'WELLFORMED' +'WHENEVER' +'WHEN' +'WHERE' +'WHILE' +'WHITESPACE' +'WIDTH_BUCKET' +'WITHIN' +'WITHOUT' +'WITH_PLSQL' +'WITH' +'WORK' +'WRAPPED' +'WRAPPER' +'WRITE' +'XDB_FASTPATH_INSERT' +'XDB' +'X_DYN_PRUNE' +'XID' +'XML2OBJECT' +'XMLAGG' +'XMLATTRIBUTES' +'XMLCAST' +'XMLCDATA' +'XMLCOLATTVAL' +'XMLCOMMENT' +'XMLCONCAT' +'XMLDIFF' +'XML_DML_RWT_STMT' +'XMLELEMENT' +'XMLEXISTS2' +'XMLEXISTS' +'XMLFOREST' +'XMLINDEX' +'XMLINDEX_REWRITE_IN_SELECT' +'XMLINDEX_REWRITE' +'XMLINDEX_SEL_IDX_TBL' +'XMLISNODE' +'XMLISVALID' +'XMLNAMESPACES' +'XMLPARSE' +'XMLPATCH' +'XMLPI' +'XMLQUERYVAL' +'XMLQUERY' +'XMLROOT' +'XMLSCHEMA' +'XMLSERIALIZE' +'XMLTABLE' +'XMLTRANSFORMBLOB' +'XMLTRANSFORM' +'XMLTYPE' +'XML' +'XPATHTABLE' +'XS_SYS_CONTEXT' +'XS' +'XTRANSPORT' +'YEARS' +'YEAR' +'YES' +'YMINTERVAL_UNCONSTRAINED' +'ZONEMAP' +'ZONE' +'PREDICTION' +'PREDICTION_BOUNDS' +'PREDICTION_COST' +'PREDICTION_DETAILS' +'PREDICTION_PROBABILITY' +'PREDICTION_SET' +'CUME_DIST' +'DENSE_RANK' +'LISTAGG' +'PERCENT_RANK' +'PERCENTILE_CONT' +'PERCENTILE_DISC' +'RANK' +'AVG' +'CORR' +'COVAR_' +'DECODE' +'LAG' +'LEAD' +'MAX' +'MEDIAN' +'MIN' +'NTILE' +'NVL' +'RATIO_TO_REPORT' +'REGR_' +'ROUND' +'ROW_NUMBER' +'SUBSTR' +'TO_CHAR' +'TRIM' +'SUM' +'STDDEV' +'VAR_' +'VARIANCE' +'LEAST' +'GREATEST' +'TO_DATE' +null +null +null +'..' +'.' +null +null +null +null +'%' +'&' +'(' +')' +'**' +'*' +'+' +'-' +',' +'/' +'@' +':=' +null +null +'^' +'~' +'!' +'>' +'<' +':' +';' +'|' +'=' +'[' +']' +'_' +null +null +null +null +null +null +null + +token symbolic names: +null +ABORT +ABS +ACCESS +ACCESSED +ACCOUNT +ACL +ACOS +ACTION +ACTIONS +ACTIVATE +ACTIVE +ACTIVE_COMPONENT +ACTIVE_DATA +ACTIVE_FUNCTION +ACTIVE_TAG +ACTIVITY +ADAPTIVE_PLAN +ADD +ADD_COLUMN +ADD_GROUP +ADD_MONTHS +ADJ_DATE +ADMIN +ADMINISTER +ADMINISTRATOR +ADVANCED +ADVISE +ADVISOR +AFD_DISKSTRING +AFTER +AGENT +AGGREGATE +A_LETTER +ALIAS +ALL +ALLOCATE +ALLOW +ALL_ROWS +ALTER +ALWAYS +ANALYZE +ANCILLARY +AND +AND_EQUAL +ANOMALY +ANSI_REARCH +ANTIJOIN +ANY +ANYSCHEMA +APPEND +APPENDCHILDXML +APPEND_VALUES +APPLICATION +APPLY +APPROX_COUNT_DISTINCT +ARCHIVAL +ARCHIVE +ARCHIVED +ARCHIVELOG +ARRAY +AS +ASC +ASCII +ASCIISTR +ASIN +ASIS +ASSEMBLY +ASSIGN +ASSOCIATE +ASYNC +ASYNCHRONOUS +ATAN2 +ATAN +AT +ATTRIBUTE +ATTRIBUTES +AUDIT +AUTHENTICATED +AUTHENTICATION +AUTHID +AUTHORIZATION +AUTOALLOCATE +AUTO +AUTOBACKUP +AUTOEXTEND +AUTO_LOGIN +AUTOMATIC +AUTONOMOUS_TRANSACTION +AUTO_REOPTIMIZE +AVAILABILITY +AVRO +BACKGROUND +BACKUP +BACKUPSET +BASIC +BASICFILE +BATCH +BATCHSIZE +BATCH_TABLE_ACCESS_BY_ROWID +BECOME +BEFORE +BEGIN +BEGINNING +BEGIN_OUTLINE_DATA +BEHALF +BEQUEATH +BETWEEN +BFILE +BFILENAME +BIGFILE +BINARY +BINARY_DOUBLE +BINARY_DOUBLE_INFINITY +BINARY_DOUBLE_NAN +BINARY_FLOAT +BINARY_FLOAT_INFINITY +BINARY_FLOAT_NAN +BINARY_INTEGER +BIND_AWARE +BINDING +BIN_TO_NUM +BITAND +BITMAP_AND +BITMAP +BITMAPS +BITMAP_TREE +BITS +BLOB +BLOCK +BLOCK_RANGE +BLOCKS +BLOCKSIZE +BODY +BOOLEAN +BOTH +BOUND +BRANCH +BREADTH +BROADCAST +BSON +BUFFER +BUFFER_CACHE +BUFFER_POOL +BUILD +BULK +BY +BYPASS_RECURSIVE_CHECK +BYPASS_UJVC +BYTE +CACHE +CACHE_CB +CACHE_INSTANCES +CACHE_TEMP_TABLE +CACHING +CALCULATED +CALLBACK +CALL +CANCEL +CANONICAL +CAPACITY +CARDINALITY +CASCADE +CASE +CAST +CATEGORY +CDBDEFAULT +CEIL +CELL_FLASH_CACHE +CERTIFICATE +CFILE +CHAINED +CHANGE +CHANGETRACKING +CHANGE_DUPKEY_ERROR_INDEX +CHARACTER +CHAR +CHAR_CS +CHARTOROWID +CHECK_ACL_REWRITE +CHECK +CHECKPOINT +CHILD +CHOOSE +CHR +CHUNK +CLASS +CLASSIFIER +CLEANUP +CLEAR +C_LETTER +CLIENT +CLOB +CLONE +CLOSE_CACHED_OPEN_CURSORS +CLOSE +CLUSTER_BY_ROWID +CLUSTER +CLUSTER_DETAILS +CLUSTER_DISTANCE +CLUSTER_ID +CLUSTERING +CLUSTERING_FACTOR +CLUSTER_PROBABILITY +CLUSTER_SET +COALESCE +COALESCE_SQ +COARSE +CO_AUTH_IND +COLD +COLLECT +COLUMNAR +COLUMN_AUTH_INDICATOR +COLUMN +COLUMNS +COLUMN_STATS +COLUMN_VALUE +COMMENT +COMMIT +COMMITTED +COMMON_DATA +COMPACT +COMPATIBILITY +COMPILE +COMPLETE +COMPLIANCE +COMPONENT +COMPONENTS +COMPOSE +COMPOSITE +COMPOSITE_LIMIT +COMPOUND +COMPRESS +COMPUTE +CONCAT +CON_DBID_TO_ID +CONDITIONAL +CONDITION +CONFIRM +CONFORMING +CON_GUID_TO_ID +CON_ID +CON_NAME_TO_ID +CONNECT_BY_CB_WHR_ONLY +CONNECT_BY_COMBINE_SW +CONNECT_BY_COST_BASED +CONNECT_BY_ELIM_DUPS +CONNECT_BY_FILTERING +CONNECT_BY_ISCYCLE +CONNECT_BY_ISLEAF +CONNECT_BY_ROOT +CONNECT +CONNECT_TIME +CONSIDER +CONSISTENT +CONSTANT +CONST +CONSTRAINT +CONSTRAINTS +CONSTRUCTOR +CONTAINER +CONTAINER_DATA +CONTAINERS +CONTENT +CONTENTS +CONTEXT +CONTINUE +CONTROLFILE +CON_UID_TO_ID +CONVERT +COOKIE +COPY +CORR_K +CORR_S +CORRUPTION +CORRUPT_XID_ALL +CORRUPT_XID +COS +COSH +COST +COST_XML_QUERY_REWRITE +COUNT +COVAR_POP +COVAR_SAMP +CPU_COSTING +CPU_PER_CALL +CPU_PER_SESSION +CRASH +CREATE +CREATE_FILE_DEST +CREATE_STORED_OUTLINES +CREATION +CREDENTIAL +CRITICAL +CROSS +CROSSEDITION +CSCONVERT +CUBE_AJ +CUBE +CUBE_GB +CUBE_SJ +CUME_DISTM +CURRENT +CURRENT_DATE +CURRENT_SCHEMA +CURRENT_TIME +CURRENT_TIMESTAMP +CURRENT_USER +CURRENTV +CURSOR +CURSOR_SHARING_EXACT +CURSOR_SPECIFIC_SEGMENT +CUSTOMDATUM +CV +CYCLE +DANGLING +DATABASE +DATA +DATAFILE +DATAFILES +DATAGUARDCONFIG +DATAMOVEMENT +DATAOBJNO +DATAOBJ_TO_MAT_PARTITION +DATAOBJ_TO_PARTITION +DATAPUMP +DATA_SECURITY_REWRITE_LIMIT +DATE +DATE_MODE +DAY +DAYS +DBA +DBA_RECYCLEBIN +DBMS_STATS +DB_ROLE_CHANGE +DBTIMEZONE +DB_UNIQUE_NAME +DB_VERSION +DDL +DEALLOCATE +DEBUG +DEBUGGER +DEC +DECIMAL +DECLARE +DECOMPOSE +DECORRELATE +DECR +DECREMENT +DECRYPT +DEDUPLICATE +DEFAULT +DEFAULTS +DEFERRABLE +DEFERRED +DEFINED +DEFINE +DEFINER +DEGREE +DELAY +DELEGATE +DELETE_ALL +DELETE +DELETEXML +DEMAND +DENSE_RANKM +DEPENDENT +DEPTH +DEQUEUE +DEREF +DEREF_NO_REWRITE +DESC +DESTROY +DETACHED +DETERMINES +DETERMINISTIC +DICTIONARY +DIMENSION +DIMENSIONS +DIRECT_LOAD +DIRECTORY +DIRECT_PATH +DISABLE_ALL +DISABLE +DISABLE_PARALLEL_DML +DISABLE_PRESET +DISABLE_RPKE +DISALLOW +DISASSOCIATE +DISCARD +DISCONNECT +DISK +DISKGROUP +DISKGROUP_PLUS +DISKS +DISMOUNT +DISTINCT +DISTINGUISHED +DISTRIBUTED +DISTRIBUTE +DML +DML_UPDATE +DOCFIDELITY +DOCUMENT +DOMAIN_INDEX_FILTER +DOMAIN_INDEX_NO_SORT +DOMAIN_INDEX_SORT +DOUBLE +DOWNGRADE +DRIVING_SITE +DROP_COLUMN +DROP +DROP_GROUP +DSINTERVAL_UNCONSTRAINED +DST_UPGRADE_INSERT_CONV +DUMP +DUMPSET +DUPLICATE +DV +DYNAMIC +DYNAMIC_SAMPLING +DYNAMIC_SAMPLING_EST_CDN +EACH +EDITIONABLE +EDITION +EDITIONING +EDITIONS +ELEMENT +ELIM_GROUPBY +ELIMINATE_JOIN +ELIMINATE_OBY +ELIMINATE_OUTER_JOIN +ELSE +ELSIF +EM +EMPTY_BLOB +EMPTY_CLOB +EMPTY +ENABLE_ALL +ENABLE +ENABLE_PARALLEL_DML +ENABLE_PRESET +ENCODING +ENCRYPT +ENCRYPTION +END +END_OUTLINE_DATA +ENFORCED +ENFORCE +ENQUEUE +ENTERPRISE +ENTITYESCAPING +ENTRY +EQUIPART +ERR +ERROR_ARGUMENT +ERROR +ERROR_ON_OVERLAP_TIME +ERRORS +ESCAPE +ESTIMATE +EVAL +EVALNAME +EVALUATE +EVALUATION +EVENTS +EVERY +EXCEPT +EXCEPTION +EXCEPTION_INIT +EXCEPTIONS +EXCHANGE +EXCLUDE +EXCLUDING +EXCLUSIVE +EXECUTE +EXEMPT +EXISTING +EXISTS +EXISTSNODE +EXIT +EXPAND_GSET_TO_UNION +EXPAND_TABLE +EXP +EXPIRE +EXPLAIN +EXPLOSION +EXPORT +EXPR_CORR_CHECK +EXPRESS +EXTENDS +EXTENT +EXTENTS +EXTERNAL +EXTERNALLY +EXTRACTCLOBXML +EXTRACT +EXTRACTVALUE +EXTRA +FACILITY +FACT +FACTOR +FACTORIZE_JOIN +FAILED +FAILED_LOGIN_ATTEMPTS +FAILGROUP +FAILOVER +FAILURE +FALSE +FAMILY +FAR +FAST +FASTSTART +FBTSCAN +FEATURE_DETAILS +FEATURE_ID +FEATURE_SET +FEATURE_VALUE +FETCH +FILE +FILE_NAME_CONVERT +FILESYSTEM_LIKE_LOGGING +FILTER +FINAL +FINE +FINISH +FIRST +FIRSTM +FIRST_ROWS +FIRST_VALUE +FIXED_VIEW_DATA +FLAGGER +FLASHBACK +FLASH_CACHE +FLOAT +FLOB +FLOOR +FLUSH +FOLDER +FOLLOWING +FOLLOWS +FORALL +FORCE +FORCE_XML_QUERY_REWRITE +FOREIGN +FOREVER +FOR +FORMAT +FORWARD +FRAGMENT_NUMBER +FREELIST +FREELISTS +FREEPOOLS +FRESH +FROM +FROM_TZ +FULL +FULL_OUTER_JOIN_TO_OUTER +FUNCTION +FUNCTIONS +GATHER_OPTIMIZER_STATISTICS +GATHER_PLAN_STATISTICS +GBY_CONC_ROLLUP +GBY_PUSHDOWN +GENERATED +GET +GLOBAL +GLOBALLY +GLOBAL_NAME +GLOBAL_TOPIC_ENABLED +GOTO +GRANT +GROUP_BY +GROUP +GROUP_ID +GROUPING +GROUPING_ID +GROUPS +GUARANTEED +GUARANTEE +GUARD +HASH_AJ +HASH +HASHKEYS +HASH_SJ +HAVING +HEADER +HEAP +HELP +HEXTORAW +HEXTOREF +HIDDEN_KEYWORD +HIDE +HIERARCHY +HIGH +HINTSET_BEGIN +HINTSET_END +HOT +HOUR +HWM_BROKERED +HYBRID +IDENTIFIED +IDENTIFIER +IDENTITY +IDGENERATORS +ID +IDLE_TIME +IF +IGNORE +IGNORE_OPTIM_EMBEDDED_HINTS +IGNORE_ROW_ON_DUPKEY_INDEX +IGNORE_WHERE_CLAUSE +ILM +IMMEDIATE +IMPACT +IMPORT +INACTIVE +INCLUDE +INCLUDE_VERSION +INCLUDING +INCREMENTAL +INCREMENT +INCR +INDENT +INDEX_ASC +INDEX_COMBINE +INDEX_DESC +INDEXED +INDEXES +INDEX_FFS +INDEX_FILTER +INDEX +INDEXING +INDEX_JOIN +INDEX_ROWS +INDEX_RRS +INDEX_RS_ASC +INDEX_RS_DESC +INDEX_RS +INDEX_SCAN +INDEX_SKIP_SCAN +INDEX_SS_ASC +INDEX_SS_DESC +INDEX_SS +INDEX_STATS +INDEXTYPE +INDEXTYPES +INDICATOR +INDICES +INFINITE +INFORMATIONAL +INHERIT +IN +INITCAP +INITIAL +INITIALIZED +INITIALLY +INITRANS +INLINE +INLINE_XMLTYPE_NT +INMEMORY +IN_MEMORY_METADATA +INMEMORY_PRUNING +INNER +INOUT +INPLACE +INSERTCHILDXMLAFTER +INSERTCHILDXMLBEFORE +INSERTCHILDXML +INSERT +INSERTXMLAFTER +INSERTXMLBEFORE +INSTANCE +INSTANCES +INSTANTIABLE +INSTANTLY +INSTEAD +INSTR2 +INSTR4 +INSTRB +INSTRC +INSTR +INTEGER +INTERLEAVED +INTERMEDIATE +INTERNAL_CONVERT +INTERNAL_USE +INTERPRETED +INTERSECT +INTERVAL +INT +INTO +INVALIDATE +INVISIBLE +IN_XQUERY +IS +ISOLATION +ISOLATION_LEVEL +ITERATE +ITERATION_NUMBER +JAVA +JOB +JOIN +JSON_ARRAYAGG +JSON_ARRAY +JSON_EQUAL +JSON_EXISTS2 +JSON_EXISTS +JSONGET +JSON +JSON_OBJECTAGG +JSON_OBJECT +JSONPARSE +JSON_QUERY +JSON_SERIALIZE +JSON_TABLE +JSON_TEXTCONTAINS2 +JSON_TEXTCONTAINS +JSON_VALUE +KEEP_DUPLICATES +KEEP +KERBEROS +KEY +KEY_LENGTH +KEYSIZE +KEYS +KEYSTORE +KILL +LABEL +LANGUAGE +LAST_DAY +LAST +LAST_VALUE +LATERAL +LAX +LAYER +LDAP_REGISTRATION_ENABLED +LDAP_REGISTRATION +LDAP_REG_SYNC_INTERVAL +LEADING +LEFT +LENGTH2 +LENGTH4 +LENGTHB +LENGTHC +LENGTH +LESS +LEVEL +LEVELS +LIBRARY +LIFECYCLE +LIFE +LIFETIME +LIKE2 +LIKE4 +LIKEC +LIKE_EXPAND +LIKE +LIMIT +LINEAR +LINK +LIST +LN +LNNVL +LOAD +LOB +LOBNVL +LOBS +LOCAL_INDEXES +LOCAL +LOCALTIME +LOCALTIMESTAMP +LOCATION +LOCATOR +LOCKED +LOCKING +LOCK +LOGFILE +LOGFILES +LOGGING +LOGICAL +LOGICAL_READS_PER_CALL +LOGICAL_READS_PER_SESSION +LOG +LOGMINING +LOGOFF +LOGON +LOG_READ_ONLY_VIOLATIONS +LONG +LOOP +LOWER +LOW +LPAD +LTRIM +MAIN +MAKE_REF +MANAGED +MANAGE +MANAGEMENT +MANAGER +MANUAL +MAP +MAPPING +MASTER +MATCHED +MATCHES +MATCH +MATCH_NUMBER +MATCH_RECOGNIZE +MATERIALIZED +MATERIALIZE +MAXARCHLOGS +MAXDATAFILES +MAXEXTENTS +MAXIMIZE +MAXINSTANCES +MAXLOGFILES +MAXLOGHISTORY +MAXLOGMEMBERS +MAX_SHARED_TEMP_SIZE +MAXSIZE +MAXTRANS +MAXVALUE +MEASURE +MEASURES +MEDIUM +MEMBER +MEMCOMPRESS +MEMORY +MERGEACTIONS +MERGE_AJ +MERGE_CONST_ON +MERGE +MERGE_SJ +METADATA +METHOD +MIGRATE +MIGRATION +MINEXTENTS +MINIMIZE +MINIMUM +MINING +MINUS +MINUS_NULL +MINUTE +MINVALUE +MIRRORCOLD +MIRRORHOT +MIRROR +MLSLABEL +MODEL_COMPILE_SUBQUERY +MODEL_DONTVERIFY_UNIQUENESS +MODEL_DYNAMIC_SUBQUERY +MODEL_MIN_ANALYSIS +MODEL +MODEL_NB +MODEL_NO_ANALYSIS +MODEL_PBY +MODEL_PUSH_REF +MODEL_SV +MODE +MODIFICATION +MODIFY_COLUMN_TYPE +MODIFY +MOD +MODULE +MONITORING +MONITOR +MONTH +MONTHS_BETWEEN +MONTHS +MOUNT +MOUNTPATH +MOVEMENT +MOVE +MULTIDIMENSIONAL +MULTISET +MV_MERGE +NAMED +NAME +NAMESPACE +NAN +NANVL +NATIONAL +NATIVE_FULL_OUTER_JOIN +NATIVE +NATURAL +NATURALN +NAV +NCHAR_CS +NCHAR +NCHR +NCLOB +NEEDED +NEG +NESTED +NESTED_TABLE_FAST_INSERT +NESTED_TABLE_GET_REFS +NESTED_TABLE_ID +NESTED_TABLE_SET_REFS +NESTED_TABLE_SET_SETID +NETWORK +NEVER +NEW +NEW_TIME +NEXT_DAY +NEXT +NL_AJ +NLJ_BATCHING +NLJ_INDEX_FILTER +NLJ_INDEX_SCAN +NLJ_PREFETCH +NLS_CALENDAR +NLS_CHARACTERSET +NLS_CHARSET_DECL_LEN +NLS_CHARSET_ID +NLS_CHARSET_NAME +NLS_COMP +NLS_CURRENCY +NLS_DATE_FORMAT +NLS_DATE_LANGUAGE +NLS_INITCAP +NLS_ISO_CURRENCY +NL_SJ +NLS_LANG +NLS_LANGUAGE +NLS_LENGTH_SEMANTICS +NLS_LOWER +NLS_NCHAR_CONV_EXCP +NLS_NUMERIC_CHARACTERS +NLS_SORT +NLSSORT +NLS_SPECIAL_CHARS +NLS_TERRITORY +NLS_UPPER +NO_ACCESS +NO_ADAPTIVE_PLAN +NO_ANSI_REARCH +NOAPPEND +NOARCHIVELOG +NOAUDIT +NO_AUTO_REOPTIMIZE +NO_BASETABLE_MULTIMV_REWRITE +NO_BATCH_TABLE_ACCESS_BY_ROWID +NO_BIND_AWARE +NO_BUFFER +NOCACHE +NO_CARTESIAN +NO_CHECK_ACL_REWRITE +NO_CLUSTER_BY_ROWID +NO_CLUSTERING +NO_COALESCE_SQ +NO_COMMON_DATA +NOCOMPRESS +NO_CONNECT_BY_CB_WHR_ONLY +NO_CONNECT_BY_COMBINE_SW +NO_CONNECT_BY_COST_BASED +NO_CONNECT_BY_ELIM_DUPS +NO_CONNECT_BY_FILTERING +NOCOPY +NO_COST_XML_QUERY_REWRITE +NO_CPU_COSTING +NOCPU_COSTING +NOCYCLE +NO_DATA_SECURITY_REWRITE +NO_DECORRELATE +NODELAY +NO_DOMAIN_INDEX_FILTER +NO_DST_UPGRADE_INSERT_CONV +NO_ELIM_GROUPBY +NO_ELIMINATE_JOIN +NO_ELIMINATE_OBY +NO_ELIMINATE_OUTER_JOIN +NOENTITYESCAPING +NO_EXPAND_GSET_TO_UNION +NO_EXPAND +NO_EXPAND_TABLE +NO_FACT +NO_FACTORIZE_JOIN +NO_FILTERING +NOFORCE +NO_FULL_OUTER_JOIN_TO_OUTER +NO_GATHER_OPTIMIZER_STATISTICS +NO_GBY_PUSHDOWN +NOGUARANTEE +NO_INDEX_FFS +NO_INDEX +NO_INDEX_SS +NO_INMEMORY +NO_INMEMORY_PRUNING +NOKEEP +NO_LOAD +NOLOCAL +NOLOGGING +NOMAPPING +NOMAXVALUE +NO_MERGE +NOMINIMIZE +NOMINVALUE +NO_MODEL_PUSH_REF +NO_MONITORING +NOMONITORING +NO_MONITOR +NO_MULTIMV_REWRITE +NO_NATIVE_FULL_OUTER_JOIN +NONBLOCKING +NONEDITIONABLE +NONE +NO_NLJ_BATCHING +NO_NLJ_PREFETCH +NO +NONSCHEMA +NO_OBJECT_LINK +NOORDER +NO_ORDER_ROLLUPS +NO_OUTER_JOIN_TO_ANTI +NO_OUTER_JOIN_TO_INNER +NOOVERRIDE +NO_PARALLEL_INDEX +NOPARALLEL_INDEX +NO_PARALLEL +NOPARALLEL +NO_PARTIAL_COMMIT +NO_PARTIAL_JOIN +NO_PARTIAL_ROLLUP_PUSHDOWN +NOPARTITION +NO_PLACE_DISTINCT +NO_PLACE_GROUP_BY +NO_PQ_CONCURRENT_UNION +NO_PQ_MAP +NO_PQ_REPLICATE +NO_PQ_SKEW +NO_PRUNE_GSETS +NO_PULL_PRED +NO_PUSH_PRED +NO_PUSH_SUBQ +NO_PX_FAULT_TOLERANCE +NO_PX_JOIN_FILTER +NO_QKN_BUFF +NO_QUERY_TRANSFORMATION +NO_REF_CASCADE +NORELOCATE +NORELY +NOREPAIR +NOREPLAY +NORESETLOGS +NO_RESULT_CACHE +NOREVERSE +NO_REWRITE +NOREWRITE +NORMAL +NO_ROOT_SW_FOR_LOCAL +NOROWDEPENDENCIES +NOSCHEMACHECK +NOSEGMENT +NO_SEMIJOIN +NO_SEMI_TO_INNER +NO_SET_TO_JOIN +NOSORT +NO_SQL_TRANSLATION +NO_SQL_TUNE +NO_STAR_TRANSFORMATION +NO_STATEMENT_QUEUING +NO_STATS_GSETS +NOSTRICT +NO_SUBQUERY_PRUNING +NO_SUBSTRB_PAD +NO_SWAP_JOIN_INPUTS +NOSWITCH +NO_TABLE_LOOKUP_BY_NL +NO_TEMP_TABLE +NOTHING +NOTIFICATION +NOT +NO_TRANSFORM_DISTINCT_AGG +NO_UNNEST +NO_USE_CUBE +NO_USE_HASH_AGGREGATION +NO_USE_HASH_GBY_FOR_PUSHDOWN +NO_USE_HASH +NO_USE_INVISIBLE_INDEXES +NO_USE_MERGE +NO_USE_NL +NO_USE_VECTOR_AGGREGATION +NOVALIDATE +NO_VECTOR_TRANSFORM_DIMS +NO_VECTOR_TRANSFORM_FACT +NO_VECTOR_TRANSFORM +NOWAIT +NO_XDB_FASTPATH_INSERT +NO_XML_DML_REWRITE +NO_XMLINDEX_REWRITE_IN_SELECT +NO_XMLINDEX_REWRITE +NO_XML_QUERY_REWRITE +NO_ZONEMAP +NTH_VALUE +NULLIF +NULL_ +NULLS +NUMBER +NUMERIC +NUM_INDEX_KEYS +NUMTODSINTERVAL +NUMTOYMINTERVAL +NVARCHAR2 +NVL2 +OBJECT2XML +OBJECT +OBJ_ID +OBJNO +OBJNO_REUSE +OCCURENCES +OFFLINE +OFF +OFFSET +OF +OIDINDEX +OID +OLAP +OLD +OLD_PUSH_PRED +OLS +OLTP +OMIT +ONE +ONLINE +ONLINELOG +ONLY +ON +OPAQUE +OPAQUE_TRANSFORM +OPAQUE_XCANONICAL +OPCODE +OPEN +OPERATIONS +OPERATOR +OPT_ESTIMATE +OPTIMAL +OPTIMIZE +OPTIMIZER_FEATURES_ENABLE +OPTIMIZER_GOAL +OPTION +OPT_PARAM +ORA_BRANCH +ORA_CHECK_ACL +ORA_CHECK_PRIVILEGE +ORA_CLUSTERING +ORADATA +ORADEBUG +ORA_DST_AFFECTED +ORA_DST_CONVERT +ORA_DST_ERROR +ORA_GET_ACLIDS +ORA_GET_PRIVILEGES +ORA_HASH +ORA_INVOKING_USERID +ORA_INVOKING_USER +ORA_INVOKING_XS_USER_GUID +ORA_INVOKING_XS_USER +ORA_RAWCOMPARE +ORA_RAWCONCAT +ORA_ROWSCN +ORA_ROWSCN_RAW +ORA_ROWVERSION +ORA_TABVERSION +ORA_WRITE_TIME +ORDERED +ORDERED_PREDICATES +ORDER +ORDINALITY +OR_EXPAND +ORGANIZATION +OR +OR_PREDICATES +OSERROR +OTHER +OUTER_JOIN_TO_ANTI +OUTER_JOIN_TO_INNER +OUTER +OUTLINE_LEAF +OUTLINE +OUT_OF_LINE +OUT +OVERFLOW_NOMOVE +OVERFLOW +OVERLAPS +OVER +OVERRIDING +OWNER +OWNERSHIP +OWN +PACKAGE +PACKAGES +PARALLEL_ENABLE +PARALLEL_INDEX +PARALLEL +PARAMETERFILE +PARAMETERS +PARAM +PARENT +PARITY +PARTIAL_JOIN +PARTIALLY +PARTIAL +PARTIAL_ROLLUP_PUSHDOWN +PARTITION_HASH +PARTITION_LIST +PARTITION +PARTITION_RANGE +PARTITIONS +PARTNUMINST +PASSING +PASSWORD_GRACE_TIME +PASSWORD_LIFE_TIME +PASSWORD_LOCK_TIME +PASSWORD +PASSWORD_REUSE_MAX +PASSWORD_REUSE_TIME +PASSWORD_VERIFY_FUNCTION +PAST +PATCH +PATH +PATH_PREFIX +PATHS +PATTERN +PBL_HS_BEGIN +PBL_HS_END +PCTFREE +PCTINCREASE +PCTTHRESHOLD +PCTUSED +PCTVERSION +PENDING +PERCENT_FOUND +PERCENT_ISOPEN +PERCENT_NOTFOUND +PERCENT_KEYWORD +PERCENT_RANKM +PERCENT_ROWCOUNT +PERCENT_ROWTYPE +PERCENT_TYPE +PERFORMANCE +PERIOD_KEYWORD +PERMANENT +PERMISSION +PERMUTE +PER +PFILE +PHYSICAL +PIKEY +PIPELINED +PIPE +PIV_GB +PIVOT +PIV_SSF +PLACE_DISTINCT +PLACE_GROUP_BY +PLAN +PLSCOPE_SETTINGS +PLS_INTEGER +PLSQL_CCFLAGS +PLSQL_CODE_TYPE +PLSQL_DEBUG +PLSQL_OPTIMIZE_LEVEL +PLSQL_WARNINGS +PLUGGABLE +POINT +POLICY +POOL_16K +POOL_2K +POOL_32K +POOL_4K +POOL_8K +POSITIVEN +POSITIVE +POST_TRANSACTION +POWERMULTISET_BY_CARDINALITY +POWERMULTISET +POWER +PQ_CONCURRENT_UNION +PQ_DISTRIBUTE +PQ_DISTRIBUTE_WINDOW +PQ_FILTER +PQ_MAP +PQ_NOMAP +PQ_REPLICATE +PQ_SKEW +PRAGMA +PREBUILT +PRECEDES +PRECEDING +PRECISION +PRECOMPUTE_SUBQUERY +PREDICATE_REORDERS +PRELOAD +PREPARE +PRESENTNNV +PRESENT +PRESENTV +PRESERVE_OID +PRESERVE +PRETTY +PREVIOUS +PREV +PRIMARY +PRINTBLOBTOCLOB +PRIORITY +PRIOR +PRIVATE +PRIVATE_SGA +PRIVILEGED +PRIVILEGE +PRIVILEGES +PROCEDURAL +PROCEDURE +PROCESS +PROFILE +PROGRAM +PROJECT +PROPAGATE +PROTECTED +PROTECTION +PROXY +PRUNING +PUBLIC +PULL_PRED +PURGE +PUSH_PRED +PUSH_SUBQ +PX_FAULT_TOLERANCE +PX_GRANULE +PX_JOIN_FILTER +QB_NAME +QUERY_BLOCK +QUERY +QUEUE_CURR +QUEUE +QUEUE_ROWP +QUIESCE +QUORUM +QUOTA +RAISE +RANDOM_LOCAL +RANDOM +RANGE +RANKM +RAPIDLY +RAW +RAWTOHEX +RAWTONHEX +RBA +RBO_OUTLINE +RDBA +READ +READS +REALM +REAL +REBALANCE +REBUILD +RECORD +RECORDS_PER_BLOCK +RECOVERABLE +RECOVER +RECOVERY +RECYCLEBIN +RECYCLE +REDACTION +REDEFINE +REDO +REDUCED +REDUNDANCY +REF_CASCADE_CURSOR +REFERENCED +REFERENCE +REFERENCES +REFERENCING +REF +REFRESH +REFTOHEX +REGEXP_COUNT +REGEXP_INSTR +REGEXP_LIKE +REGEXP_REPLACE +REGEXP_SUBSTR +REGISTER +REGR_AVGX +REGR_AVGY +REGR_COUNT +REGR_INTERCEPT +REGR_R2 +REGR_SLOPE +REGR_SXX +REGR_SXY +REGR_SYY +REGULAR +REJECT +REKEY +RELATIONAL +RELIES_ON +RELOCATE +RELY +REMAINDER +REMOTE_MAPPED +REMOVE +RENAME +REPAIR +REPEAT +REPLACE +REPLICATION +REQUIRED +RESETLOGS +RESET +RESIZE +RESOLVE +RESOLVER +RESOURCE +RESPECT +RESTART +RESTORE_AS_INTERVALS +RESTORE +RESTRICT_ALL_REF_CONS +RESTRICTED +RESTRICT_REFERENCES +RESTRICT +RESULT_CACHE +RESULT +RESUMABLE +RESUME +RETENTION +RETRY_ON_ROW_CHANGE +RETURNING +RETURN +REUSE +REVERSE +REVOKE +REWRITE_OR_ERROR +REWRITE +RIGHT +ROLE +ROLESET +ROLES +ROLLBACK +ROLLING +ROLLUP +ROWDEPENDENCIES +ROWID_MAPPING_TABLE +ROWID +ROWIDTOCHAR +ROWIDTONCHAR +ROW_LENGTH +ROWNUM +ROW +ROWS +RPAD +RTRIM +RULE +RULES +RUNNING +SALT +SAMPLE +SAVE_AS_INTERVALS +SAVEPOINT +SAVE +SB4 +SCALE_ROWS +SCALE +SCAN_INSTANCES +SCAN +SCHEDULER +SCHEMACHECK +SCHEMA +SCN_ASCENDING +SCN +SCOPE +SCRUB +SD_ALL +SD_INHIBIT +SDO_GEOM_MBR +SD_SHOW +SEARCH +SECOND +SECRET +SECUREFILE_DBA +SECUREFILE +SECURITY +SEED +SEG_BLOCK +SEG_FILE +SEGMENT +SELECTIVITY +SELECT +SELF +SEMIJOIN_DRIVER +SEMIJOIN +SEMI_TO_INNER +SEQUENCED +SEQUENCE +SEQUENTIAL +SEQ +SERIALIZABLE +SERIALLY_REUSABLE +SERIAL +SERVERERROR +SERVICE_NAME_CONVERT +SERVICES +SESSION_CACHED_CURSORS +SESSION +SESSIONS_PER_USER +SESSIONTIMEZONE +SESSIONTZNAME +SET +SETS +SETTINGS +SET_TO_JOIN +SEVERE +SHARED_POOL +SHARED +SHARE +SHARING +SHELFLIFE +SHOW +SHRINK +SHUTDOWN +SIBLINGS +SID +SIGNAL_COMPONENT +SIGNAL_FUNCTION +SIGN +SIGNTYPE +SIMPLE_INTEGER +SIMPLE +SINGLE +SINGLETASK +SINH +SIN +SIZE +SKIP_EXT_OPTIMIZER +SKIP_ +SKIP_UNQ_UNUSABLE_IDX +SKIP_UNUSABLE_INDEXES +SMALLFILE +SMALLINT +SNAPSHOT +SOME +SORT +SOUNDEX +SOURCE_FILE_DIRECTORY +SOURCE_FILE_NAME_CONVERT +SOURCE +SPACE_KEYWORD +SPECIFICATION +SPFILE +SPLIT +SPREADSHEET +SQLDATA +SQLERROR +SQLLDR +SQL +SQL_TRACE +SQL_TRANSLATION_PROFILE +SQRT +STALE +STANDALONE +STANDARD_HASH +STANDBY_MAX_DATA_DELAY +STANDBYS +STANDBY +STAR +STAR_TRANSFORMATION +START +STARTUP +STATEMENT_ID +STATEMENT_QUEUING +STATEMENTS +STATEMENT +STATE +STATIC +STATISTICS +STATS_BINOMIAL_TEST +STATS_CROSSTAB +STATS_F_TEST +STATS_KS_TEST +STATS_MODE +STATS_MW_TEST +STATS_ONE_WAY_ANOVA +STATS_T_TEST_INDEP +STATS_T_TEST_INDEPU +STATS_T_TEST_ONE +STATS_T_TEST_PAIRED +STATS_WSR_TEST +STDDEV_POP +STDDEV_SAMP +STOP +STORAGE +STORE +STREAMS +STREAM +STRICT +STRING +STRIPE_COLUMNS +STRIPE_WIDTH +STRIP +STRUCTURE +SUBMULTISET +SUBPARTITION_REL +SUBPARTITIONS +SUBPARTITION +SUBQUERIES +SUBQUERY_PRUNING +SUBSCRIBE +SUBSET +SUBSTITUTABLE +SUBSTR2 +SUBSTR4 +SUBSTRB +SUBSTRC +SUBTYPE +SUCCESSFUL +SUCCESS +SUMMARY +SUPPLEMENTAL +SUSPEND +SWAP_JOIN_INPUTS +SWITCHOVER +SWITCH +SYNCHRONOUS +SYNC +SYNONYM +SYSASM +SYS_AUDIT +SYSAUX +SYSBACKUP +SYS_CHECKACL +SYS_CHECK_PRIVILEGE +SYS_CONNECT_BY_PATH +SYS_CONTEXT +SYSDATE +SYSDBA +SYS_DBURIGEN +SYSDG +SYS_DL_CURSOR +SYS_DM_RXFORM_CHR +SYS_DM_RXFORM_NUM +SYS_DOM_COMPARE +SYS_DST_PRIM2SEC +SYS_DST_SEC2PRIM +SYS_ET_BFILE_TO_RAW +SYS_ET_BLOB_TO_IMAGE +SYS_ET_IMAGE_TO_BLOB +SYS_ET_RAW_TO_BFILE +SYS_EXTPDTXT +SYS_EXTRACT_UTC +SYS_FBT_INSDEL +SYS_FILTER_ACLS +SYS_FNMATCHES +SYS_FNREPLACE +SYS_GET_ACLIDS +SYS_GET_COL_ACLIDS +SYS_GET_PRIVILEGES +SYS_GETTOKENID +SYS_GETXTIVAL +SYS_GUID +SYSGUID +SYSKM +SYS_MAKE_XMLNODEID +SYS_MAKEXML +SYS_MKXMLATTR +SYS_MKXTI +SYSOBJ +SYS_OP_ADT2BIN +SYS_OP_ADTCONS +SYS_OP_ALSCRVAL +SYS_OP_ATG +SYS_OP_BIN2ADT +SYS_OP_BITVEC +SYS_OP_BL2R +SYS_OP_BLOOM_FILTER_LIST +SYS_OP_BLOOM_FILTER +SYS_OP_C2C +SYS_OP_CAST +SYS_OP_CEG +SYS_OP_CL2C +SYS_OP_COMBINED_HASH +SYS_OP_COMP +SYS_OP_CONVERT +SYS_OP_COUNTCHG +SYS_OP_CSCONV +SYS_OP_CSCONVTEST +SYS_OP_CSR +SYS_OP_CSX_PATCH +SYS_OP_CYCLED_SEQ +SYS_OP_DECOMP +SYS_OP_DESCEND +SYS_OP_DISTINCT +SYS_OP_DRA +SYS_OP_DUMP +SYS_OP_DV_CHECK +SYS_OP_ENFORCE_NOT_NULL +SYSOPER +SYS_OP_EXTRACT +SYS_OP_GROUPING +SYS_OP_GUID +SYS_OP_HASH +SYS_OP_IIX +SYS_OP_ITR +SYS_OP_KEY_VECTOR_CREATE +SYS_OP_KEY_VECTOR_FILTER_LIST +SYS_OP_KEY_VECTOR_FILTER +SYS_OP_KEY_VECTOR_SUCCEEDED +SYS_OP_KEY_VECTOR_USE +SYS_OP_LBID +SYS_OP_LOBLOC2BLOB +SYS_OP_LOBLOC2CLOB +SYS_OP_LOBLOC2ID +SYS_OP_LOBLOC2NCLOB +SYS_OP_LOBLOC2TYP +SYS_OP_LSVI +SYS_OP_LVL +SYS_OP_MAKEOID +SYS_OP_MAP_NONNULL +SYS_OP_MSR +SYS_OP_NICOMBINE +SYS_OP_NIEXTRACT +SYS_OP_NII +SYS_OP_NIX +SYS_OP_NOEXPAND +SYS_OP_NTCIMG +SYS_OP_NUMTORAW +SYS_OP_OIDVALUE +SYS_OP_OPNSIZE +SYS_OP_PAR_1 +SYS_OP_PARGID_1 +SYS_OP_PARGID +SYS_OP_PAR +SYS_OP_PART_ID +SYS_OP_PIVOT +SYS_OP_R2O +SYS_OP_RAWTONUM +SYS_OP_RDTM +SYS_OP_REF +SYS_OP_RMTD +SYS_OP_ROWIDTOOBJ +SYS_OP_RPB +SYS_OPTLOBPRBSC +SYS_OP_TOSETID +SYS_OP_TPR +SYS_OP_TRTB +SYS_OPTXICMP +SYS_OPTXQCASTASNQ +SYS_OP_UNDESCEND +SYS_OP_VECAND +SYS_OP_VECBIT +SYS_OP_VECOR +SYS_OP_VECXOR +SYS_OP_VERSION +SYS_OP_VREF +SYS_OP_VVD +SYS_OP_XMLCONS_FOR_CSX +SYS_OP_XPTHATG +SYS_OP_XPTHIDX +SYS_OP_XPTHOP +SYS_OP_XTXT2SQLT +SYS_OP_ZONE_ID +SYS_ORDERKEY_DEPTH +SYS_ORDERKEY_MAXCHILD +SYS_ORDERKEY_PARENT +SYS_PARALLEL_TXN +SYS_PATHID_IS_ATTR +SYS_PATHID_IS_NMSPC +SYS_PATHID_LASTNAME +SYS_PATHID_LASTNMSPC +SYS_PATH_REVERSE +SYS_PXQEXTRACT +SYS_RAW_TO_XSID +SYS_RID_ORDER +SYS_ROW_DELTA +SYS_SC_2_XMLT +SYS_SYNRCIREDO +SYSTEM_DEFINED +SYSTEM +SYSTIMESTAMP +SYS_TYPEID +SYS_UMAKEXML +SYS_XMLANALYZE +SYS_XMLCONTAINS +SYS_XMLCONV +SYS_XMLEXNSURI +SYS_XMLGEN +SYS_XMLI_LOC_ISNODE +SYS_XMLI_LOC_ISTEXT +SYS_XMLINSTR +SYS_XMLLOCATOR_GETSVAL +SYS_XMLNODEID_GETCID +SYS_XMLNODEID_GETLOCATOR +SYS_XMLNODEID_GETOKEY +SYS_XMLNODEID_GETPATHID +SYS_XMLNODEID_GETPTRID +SYS_XMLNODEID_GETRID +SYS_XMLNODEID_GETSVAL +SYS_XMLNODEID_GETTID +SYS_XMLNODEID +SYS_XMLT_2_SC +SYS_XMLTRANSLATE +SYS_XMLTYPE2SQL +SYS_XQ_ASQLCNV +SYS_XQ_ATOMCNVCHK +SYS_XQBASEURI +SYS_XQCASTABLEERRH +SYS_XQCODEP2STR +SYS_XQCODEPEQ +SYS_XQCON2SEQ +SYS_XQCONCAT +SYS_XQDELETE +SYS_XQDFLTCOLATION +SYS_XQDOC +SYS_XQDOCURI +SYS_XQDURDIV +SYS_XQED4URI +SYS_XQENDSWITH +SYS_XQERRH +SYS_XQERR +SYS_XQESHTMLURI +SYS_XQEXLOBVAL +SYS_XQEXSTWRP +SYS_XQEXTRACT +SYS_XQEXTRREF +SYS_XQEXVAL +SYS_XQFB2STR +SYS_XQFNBOOL +SYS_XQFNCMP +SYS_XQFNDATIM +SYS_XQFNLNAME +SYS_XQFNNM +SYS_XQFNNSURI +SYS_XQFNPREDTRUTH +SYS_XQFNQNM +SYS_XQFNROOT +SYS_XQFORMATNUM +SYS_XQFTCONTAIN +SYS_XQFUNCR +SYS_XQGETCONTENT +SYS_XQINDXOF +SYS_XQINSERT +SYS_XQINSPFX +SYS_XQIRI2URI +SYS_XQLANG +SYS_XQLLNMFRMQNM +SYS_XQMKNODEREF +SYS_XQNILLED +SYS_XQNODENAME +SYS_XQNORMSPACE +SYS_XQNORMUCODE +SYS_XQ_NRNG +SYS_XQNSP4PFX +SYS_XQNSPFRMQNM +SYS_XQPFXFRMQNM +SYS_XQ_PKSQL2XML +SYS_XQPOLYABS +SYS_XQPOLYADD +SYS_XQPOLYCEL +SYS_XQPOLYCSTBL +SYS_XQPOLYCST +SYS_XQPOLYDIV +SYS_XQPOLYFLR +SYS_XQPOLYMOD +SYS_XQPOLYMUL +SYS_XQPOLYRND +SYS_XQPOLYSQRT +SYS_XQPOLYSUB +SYS_XQPOLYUMUS +SYS_XQPOLYUPLS +SYS_XQPOLYVEQ +SYS_XQPOLYVGE +SYS_XQPOLYVGT +SYS_XQPOLYVLE +SYS_XQPOLYVLT +SYS_XQPOLYVNE +SYS_XQREF2VAL +SYS_XQRENAME +SYS_XQREPLACE +SYS_XQRESVURI +SYS_XQRNDHALF2EVN +SYS_XQRSLVQNM +SYS_XQRYENVPGET +SYS_XQRYVARGET +SYS_XQRYWRP +SYS_XQSEQ2CON4XC +SYS_XQSEQ2CON +SYS_XQSEQDEEPEQ +SYS_XQSEQINSB +SYS_XQSEQRM +SYS_XQSEQRVS +SYS_XQSEQSUB +SYS_XQSEQTYPMATCH +SYS_XQSTARTSWITH +SYS_XQSTATBURI +SYS_XQSTR2CODEP +SYS_XQSTRJOIN +SYS_XQSUBSTRAFT +SYS_XQSUBSTRBEF +SYS_XQTOKENIZE +SYS_XQTREATAS +SYS_XQ_UPKXML2SQL +SYS_XQXFORM +SYS_XSID_TO_RAW +SYS_ZMAP_FILTER +SYS_ZMAP_REFRESH +TABLE_LOOKUP_BY_NL +TABLESPACE_NO +TABLESPACE +TABLES +TABLE_STATS +TABLE +TABNO +TAG +TANH +TAN +TBLORIDXPARTNUM +TEMPFILE +TEMPLATE +TEMPORARY +TEMP_TABLE +TEST +TEXT +THAN +THEN +THE +THREAD +THROUGH +TIER +TIES +TIMEOUT +TIMESTAMP_LTZ_UNCONSTRAINED +TIMESTAMP +TIMESTAMP_TZ_UNCONSTRAINED +TIMESTAMP_UNCONSTRAINED +TIMES +TIME +TIMEZONE +TIMEZONE_ABBR +TIMEZONE_HOUR +TIMEZONE_MINUTE +TIMEZONE_OFFSET +TIMEZONE_REGION +TIME_ZONE +TIV_GB +TIV_SSF +TO_ACLID +TO_BINARY_DOUBLE +TO_BINARY_FLOAT +TO_BLOB +TO_CLOB +TO_DSINTERVAL +TO_LOB +TO_MULTI_BYTE +TO_NCHAR +TO_NCLOB +TO_NUMBER +TOPLEVEL +TO_SINGLE_BYTE +TO_TIMESTAMP +TO_TIMESTAMP_TZ +TO_TIME +TO_TIME_TZ +TO +TO_YMINTERVAL +TRACE +TRACING +TRACKING +TRAILING +TRANSACTION +TRANSFORM_DISTINCT_AGG +TRANSITIONAL +TRANSITION +TRANSLATE +TRANSLATION +TREAT +TRIGGERS +TRIGGER +TRUE +TRUNCATE +TRUNC +TRUSTED +TRUST +TUNING +TX +TYPES +TYPE +TZ_OFFSET +UB2 +UBA +UCS2 +UID +UNARCHIVED +UNBOUNDED +UNBOUND +UNCONDITIONAL +UNDER +UNDO +UNDROP +UNIFORM +UNION +UNIQUE +UNISTR +UNLIMITED +UNLOAD +UNLOCK +UNMATCHED +UNNEST_INNERJ_DISTINCT_VIEW +UNNEST_NOSEMIJ_NODISTINCTVIEW +UNNEST_SEMIJ_VIEW +UNNEST +UNPACKED +UNPIVOT +UNPLUG +UNPROTECTED +UNQUIESCE +UNRECOVERABLE +UNRESTRICTED +UNSUBSCRIBE +UNTIL +UNUSABLE +UNUSED +UPDATABLE +UPDATED +UPDATE +UPDATEXML +UPD_INDEXES +UPD_JOININDEX +UPGRADE +UPPER +UPSERT +UROWID +USABLE +USAGE +USE_ANTI +USE_CONCAT +USE_CUBE +USE_HASH_AGGREGATION +USE_HASH_GBY_FOR_PUSHDOWN +USE_HASH +USE_HIDDEN_PARTITIONS +USE_INVISIBLE_INDEXES +USE_MERGE_CARTESIAN +USE_MERGE +USE_NL +USE_NL_WITH_INDEX +USE_PRIVATE_OUTLINES +USER_DATA +USER_DEFINED +USERENV +USERGROUP +USER_RECYCLEBIN +USERS +USER_TABLESPACES +USER +USE_SEMI +USE_STORED_OUTLINES +USE_TTT_FOR_GSETS +USE +USE_VECTOR_AGGREGATION +USE_WEAK_NAME_RESL +USING_NO_EXPAND +USING +UTF16BE +UTF16LE +UTF32 +UTF8 +V1 +V2 +VALIDATE +VALIDATION +VALID_TIME_END +VALUES +VALUE +VARCHAR2 +VARCHAR +VARIABLE +VAR_POP +VARRAYS +VARRAY +VAR_SAMP +VARYING +VECTOR_READ_TRACE +VECTOR_READ +VECTOR_TRANSFORM_DIMS +VECTOR_TRANSFORM_FACT +VECTOR_TRANSFORM +VERIFIER +VERIFY +VERSIONING +VERSIONS_ENDSCN +VERSIONS_ENDTIME +VERSIONS_OPERATION +VERSIONS_STARTSCN +VERSIONS_STARTTIME +VERSIONS +VERSIONS_XID +VERSION +VIEW +VIOLATION +VIRTUAL +VISIBILITY +VISIBLE +VOLUME +VSIZE +WAIT +WALLET +WARNING +WEEKS +WEEK +WELLFORMED +WHENEVER +WHEN +WHERE +WHILE +WHITESPACE +WIDTH_BUCKET +WITHIN +WITHOUT +WITH_PLSQL +WITH +WORK +WRAPPED +WRAPPER +WRITE +XDB_FASTPATH_INSERT +XDB +X_DYN_PRUNE +XID +XML2OBJECT +XMLAGG +XMLATTRIBUTES +XMLCAST +XMLCDATA +XMLCOLATTVAL +XMLCOMMENT +XMLCONCAT +XMLDIFF +XML_DML_RWT_STMT +XMLELEMENT +XMLEXISTS2 +XMLEXISTS +XMLFOREST +XMLINDEX +XMLINDEX_REWRITE_IN_SELECT +XMLINDEX_REWRITE +XMLINDEX_SEL_IDX_TBL +XMLISNODE +XMLISVALID +XMLNAMESPACES +XMLPARSE +XMLPATCH +XMLPI +XMLQUERYVAL +XMLQUERY +XMLROOT +XMLSCHEMA +XMLSERIALIZE +XMLTABLE +XMLTRANSFORMBLOB +XMLTRANSFORM +XMLTYPE +XML +XPATHTABLE +XS_SYS_CONTEXT +XS +XTRANSPORT +YEARS +YEAR +YES +YMINTERVAL_UNCONSTRAINED +ZONEMAP +ZONE +PREDICTION +PREDICTION_BOUNDS +PREDICTION_COST +PREDICTION_DETAILS +PREDICTION_PROBABILITY +PREDICTION_SET +CUME_DIST +DENSE_RANK +LISTAGG +PERCENT_RANK +PERCENTILE_CONT +PERCENTILE_DISC +RANK +AVG +CORR +COVAR_ +DECODE +LAG +LEAD +MAX +MEDIAN +MIN +NTILE +NVL +RATIO_TO_REPORT +REGR_ +ROUND +ROW_NUMBER +SUBSTR +TO_CHAR +TRIM +SUM +STDDEV +VAR_ +VARIANCE +LEAST +GREATEST +TO_DATE +NATIONAL_CHAR_STRING_LIT +BIT_STRING_LIT +HEX_STRING_LIT +DOUBLE_PERIOD +PERIOD +UNSIGNED_INTEGER +APPROXIMATE_NUM_LIT +CHAR_STRING +DELIMITED_ID +PERCENT +AMPERSAND +LEFT_PAREN +RIGHT_PAREN +DOUBLE_ASTERISK +ASTERISK +PLUS_SIGN +MINUS_SIGN +COMMA +SOLIDUS +AT_SIGN +ASSIGN_OP +BINDVAR +NOT_EQUAL_OP +CARRET_OPERATOR_PART +TILDE_OPERATOR_PART +EXCLAMATION_OPERATOR_PART +GREATER_THAN_OP +LESS_THAN_OP +COLON +SEMICOLON +BAR +EQUALS_OP +LEFT_BRACKET +RIGHT_BRACKET +INTRODUCER +SINGLE_LINE_COMMENT +MULTI_LINE_COMMENT +REMARK_COMMENT +PROMPT_MESSAGE +START_CMD +REGULAR_ID +SPACES + +rule names: +ABORT +ABS +ACCESS +ACCESSED +ACCOUNT +ACL +ACOS +ACTION +ACTIONS +ACTIVATE +ACTIVE +ACTIVE_COMPONENT +ACTIVE_DATA +ACTIVE_FUNCTION +ACTIVE_TAG +ACTIVITY +ADAPTIVE_PLAN +ADD +ADD_COLUMN +ADD_GROUP +ADD_MONTHS +ADJ_DATE +ADMIN +ADMINISTER +ADMINISTRATOR +ADVANCED +ADVISE +ADVISOR +AFD_DISKSTRING +AFTER +AGENT +AGGREGATE +A_LETTER +ALIAS +ALL +ALLOCATE +ALLOW +ALL_ROWS +ALTER +ALWAYS +ANALYZE +ANCILLARY +AND +AND_EQUAL +ANOMALY +ANSI_REARCH +ANTIJOIN +ANY +ANYSCHEMA +APPEND +APPENDCHILDXML +APPEND_VALUES +APPLICATION +APPLY +APPROX_COUNT_DISTINCT +ARCHIVAL +ARCHIVE +ARCHIVED +ARCHIVELOG +ARRAY +AS +ASC +ASCII +ASCIISTR +ASIN +ASIS +ASSEMBLY +ASSIGN +ASSOCIATE +ASYNC +ASYNCHRONOUS +ATAN2 +ATAN +AT +ATTRIBUTE +ATTRIBUTES +AUDIT +AUTHENTICATED +AUTHENTICATION +AUTHID +AUTHORIZATION +AUTOALLOCATE +AUTO +AUTOBACKUP +AUTOEXTEND +AUTO_LOGIN +AUTOMATIC +AUTONOMOUS_TRANSACTION +AUTO_REOPTIMIZE +AVAILABILITY +AVRO +BACKGROUND +BACKUP +BACKUPSET +BASIC +BASICFILE +BATCH +BATCHSIZE +BATCH_TABLE_ACCESS_BY_ROWID +BECOME +BEFORE +BEGIN +BEGINNING +BEGIN_OUTLINE_DATA +BEHALF +BEQUEATH +BETWEEN +BFILE +BFILENAME +BIGFILE +BINARY +BINARY_DOUBLE +BINARY_DOUBLE_INFINITY +BINARY_DOUBLE_NAN +BINARY_FLOAT +BINARY_FLOAT_INFINITY +BINARY_FLOAT_NAN +BINARY_INTEGER +BIND_AWARE +BINDING +BIN_TO_NUM +BITAND +BITMAP_AND +BITMAP +BITMAPS +BITMAP_TREE +BITS +BLOB +BLOCK +BLOCK_RANGE +BLOCKS +BLOCKSIZE +BODY +BOOLEAN +BOTH +BOUND +BRANCH +BREADTH +BROADCAST +BSON +BUFFER +BUFFER_CACHE +BUFFER_POOL +BUILD +BULK +BY +BYPASS_RECURSIVE_CHECK +BYPASS_UJVC +BYTE +CACHE +CACHE_CB +CACHE_INSTANCES +CACHE_TEMP_TABLE +CACHING +CALCULATED +CALLBACK +CALL +CANCEL +CANONICAL +CAPACITY +CARDINALITY +CASCADE +CASE +CAST +CATEGORY +CDBDEFAULT +CEIL +CELL_FLASH_CACHE +CERTIFICATE +CFILE +CHAINED +CHANGE +CHANGETRACKING +CHANGE_DUPKEY_ERROR_INDEX +CHARACTER +CHAR +CHAR_CS +CHARTOROWID +CHECK_ACL_REWRITE +CHECK +CHECKPOINT +CHILD +CHOOSE +CHR +CHUNK +CLASS +CLASSIFIER +CLEANUP +CLEAR +C_LETTER +CLIENT +CLOB +CLONE +CLOSE_CACHED_OPEN_CURSORS +CLOSE +CLUSTER_BY_ROWID +CLUSTER +CLUSTER_DETAILS +CLUSTER_DISTANCE +CLUSTER_ID +CLUSTERING +CLUSTERING_FACTOR +CLUSTER_PROBABILITY +CLUSTER_SET +COALESCE +COALESCE_SQ +COARSE +CO_AUTH_IND +COLD +COLLECT +COLUMNAR +COLUMN_AUTH_INDICATOR +COLUMN +COLUMNS +COLUMN_STATS +COLUMN_VALUE +COMMENT +COMMIT +COMMITTED +COMMON_DATA +COMPACT +COMPATIBILITY +COMPILE +COMPLETE +COMPLIANCE +COMPONENT +COMPONENTS +COMPOSE +COMPOSITE +COMPOSITE_LIMIT +COMPOUND +COMPRESS +COMPUTE +CONCAT +CON_DBID_TO_ID +CONDITIONAL +CONDITION +CONFIRM +CONFORMING +CON_GUID_TO_ID +CON_ID +CON_NAME_TO_ID +CONNECT_BY_CB_WHR_ONLY +CONNECT_BY_COMBINE_SW +CONNECT_BY_COST_BASED +CONNECT_BY_ELIM_DUPS +CONNECT_BY_FILTERING +CONNECT_BY_ISCYCLE +CONNECT_BY_ISLEAF +CONNECT_BY_ROOT +CONNECT +CONNECT_TIME +CONSIDER +CONSISTENT +CONSTANT +CONST +CONSTRAINT +CONSTRAINTS +CONSTRUCTOR +CONTAINER +CONTAINER_DATA +CONTAINERS +CONTENT +CONTENTS +CONTEXT +CONTINUE +CONTROLFILE +CON_UID_TO_ID +CONVERT +COOKIE +COPY +CORR_K +CORR_S +CORRUPTION +CORRUPT_XID_ALL +CORRUPT_XID +COS +COSH +COST +COST_XML_QUERY_REWRITE +COUNT +COVAR_POP +COVAR_SAMP +CPU_COSTING +CPU_PER_CALL +CPU_PER_SESSION +CRASH +CREATE +CREATE_FILE_DEST +CREATE_STORED_OUTLINES +CREATION +CREDENTIAL +CRITICAL +CROSS +CROSSEDITION +CSCONVERT +CUBE_AJ +CUBE +CUBE_GB +CUBE_SJ +CUME_DISTM +CURRENT +CURRENT_DATE +CURRENT_SCHEMA +CURRENT_TIME +CURRENT_TIMESTAMP +CURRENT_USER +CURRENTV +CURSOR +CURSOR_SHARING_EXACT +CURSOR_SPECIFIC_SEGMENT +CUSTOMDATUM +CV +CYCLE +DANGLING +DATABASE +DATA +DATAFILE +DATAFILES +DATAGUARDCONFIG +DATAMOVEMENT +DATAOBJNO +DATAOBJ_TO_MAT_PARTITION +DATAOBJ_TO_PARTITION +DATAPUMP +DATA_SECURITY_REWRITE_LIMIT +DATE +DATE_MODE +DAY +DAYS +DBA +DBA_RECYCLEBIN +DBMS_STATS +DB_ROLE_CHANGE +DBTIMEZONE +DB_UNIQUE_NAME +DB_VERSION +DDL +DEALLOCATE +DEBUG +DEBUGGER +DEC +DECIMAL +DECLARE +DECOMPOSE +DECORRELATE +DECR +DECREMENT +DECRYPT +DEDUPLICATE +DEFAULT +DEFAULTS +DEFERRABLE +DEFERRED +DEFINED +DEFINE +DEFINER +DEGREE +DELAY +DELEGATE +DELETE_ALL +DELETE +DELETEXML +DEMAND +DENSE_RANKM +DEPENDENT +DEPTH +DEQUEUE +DEREF +DEREF_NO_REWRITE +DESC +DESTROY +DETACHED +DETERMINES +DETERMINISTIC +DICTIONARY +DIMENSION +DIMENSIONS +DIRECT_LOAD +DIRECTORY +DIRECT_PATH +DISABLE_ALL +DISABLE +DISABLE_PARALLEL_DML +DISABLE_PRESET +DISABLE_RPKE +DISALLOW +DISASSOCIATE +DISCARD +DISCONNECT +DISK +DISKGROUP +DISKGROUP_PLUS +DISKS +DISMOUNT +DISTINCT +DISTINGUISHED +DISTRIBUTED +DISTRIBUTE +DML +DML_UPDATE +DOCFIDELITY +DOCUMENT +DOMAIN_INDEX_FILTER +DOMAIN_INDEX_NO_SORT +DOMAIN_INDEX_SORT +DOUBLE +DOWNGRADE +DRIVING_SITE +DROP_COLUMN +DROP +DROP_GROUP +DSINTERVAL_UNCONSTRAINED +DST_UPGRADE_INSERT_CONV +DUMP +DUMPSET +DUPLICATE +DV +DYNAMIC +DYNAMIC_SAMPLING +DYNAMIC_SAMPLING_EST_CDN +EACH +EDITIONABLE +EDITION +EDITIONING +EDITIONS +ELEMENT +ELIM_GROUPBY +ELIMINATE_JOIN +ELIMINATE_OBY +ELIMINATE_OUTER_JOIN +ELSE +ELSIF +EM +EMPTY_BLOB +EMPTY_CLOB +EMPTY +ENABLE_ALL +ENABLE +ENABLE_PARALLEL_DML +ENABLE_PRESET +ENCODING +ENCRYPT +ENCRYPTION +END +END_OUTLINE_DATA +ENFORCED +ENFORCE +ENQUEUE +ENTERPRISE +ENTITYESCAPING +ENTRY +EQUIPART +ERR +ERROR_ARGUMENT +ERROR +ERROR_ON_OVERLAP_TIME +ERRORS +ESCAPE +ESTIMATE +EVAL +EVALNAME +EVALUATE +EVALUATION +EVENTS +EVERY +EXCEPT +EXCEPTION +EXCEPTION_INIT +EXCEPTIONS +EXCHANGE +EXCLUDE +EXCLUDING +EXCLUSIVE +EXECUTE +EXEMPT +EXISTING +EXISTS +EXISTSNODE +EXIT +EXPAND_GSET_TO_UNION +EXPAND_TABLE +EXP +EXPIRE +EXPLAIN +EXPLOSION +EXPORT +EXPR_CORR_CHECK +EXPRESS +EXTENDS +EXTENT +EXTENTS +EXTERNAL +EXTERNALLY +EXTRACTCLOBXML +EXTRACT +EXTRACTVALUE +EXTRA +FACILITY +FACT +FACTOR +FACTORIZE_JOIN +FAILED +FAILED_LOGIN_ATTEMPTS +FAILGROUP +FAILOVER +FAILURE +FALSE +FAMILY +FAR +FAST +FASTSTART +FBTSCAN +FEATURE_DETAILS +FEATURE_ID +FEATURE_SET +FEATURE_VALUE +FETCH +FILE +FILE_NAME_CONVERT +FILESYSTEM_LIKE_LOGGING +FILTER +FINAL +FINE +FINISH +FIRST +FIRSTM +FIRST_ROWS +FIRST_VALUE +FIXED_VIEW_DATA +FLAGGER +FLASHBACK +FLASH_CACHE +FLOAT +FLOB +FLOOR +FLUSH +FOLDER +FOLLOWING +FOLLOWS +FORALL +FORCE +FORCE_XML_QUERY_REWRITE +FOREIGN +FOREVER +FOR +FORMAT +FORWARD +FRAGMENT_NUMBER +FREELIST +FREELISTS +FREEPOOLS +FRESH +FROM +FROM_TZ +FULL +FULL_OUTER_JOIN_TO_OUTER +FUNCTION +FUNCTIONS +GATHER_OPTIMIZER_STATISTICS +GATHER_PLAN_STATISTICS +GBY_CONC_ROLLUP +GBY_PUSHDOWN +GENERATED +GET +GLOBAL +GLOBALLY +GLOBAL_NAME +GLOBAL_TOPIC_ENABLED +GOTO +GRANT +GROUP_BY +GROUP +GROUP_ID +GROUPING +GROUPING_ID +GROUPS +GUARANTEED +GUARANTEE +GUARD +HASH_AJ +HASH +HASHKEYS +HASH_SJ +HAVING +HEADER +HEAP +HELP +HEXTORAW +HEXTOREF +HIDDEN_KEYWORD +HIDE +HIERARCHY +HIGH +HINTSET_BEGIN +HINTSET_END +HOT +HOUR +HWM_BROKERED +HYBRID +IDENTIFIED +IDENTIFIER +IDENTITY +IDGENERATORS +ID +IDLE_TIME +IF +IGNORE +IGNORE_OPTIM_EMBEDDED_HINTS +IGNORE_ROW_ON_DUPKEY_INDEX +IGNORE_WHERE_CLAUSE +ILM +IMMEDIATE +IMPACT +IMPORT +INACTIVE +INCLUDE +INCLUDE_VERSION +INCLUDING +INCREMENTAL +INCREMENT +INCR +INDENT +INDEX_ASC +INDEX_COMBINE +INDEX_DESC +INDEXED +INDEXES +INDEX_FFS +INDEX_FILTER +INDEX +INDEXING +INDEX_JOIN +INDEX_ROWS +INDEX_RRS +INDEX_RS_ASC +INDEX_RS_DESC +INDEX_RS +INDEX_SCAN +INDEX_SKIP_SCAN +INDEX_SS_ASC +INDEX_SS_DESC +INDEX_SS +INDEX_STATS +INDEXTYPE +INDEXTYPES +INDICATOR +INDICES +INFINITE +INFORMATIONAL +INHERIT +IN +INITCAP +INITIAL +INITIALIZED +INITIALLY +INITRANS +INLINE +INLINE_XMLTYPE_NT +INMEMORY +IN_MEMORY_METADATA +INMEMORY_PRUNING +INNER +INOUT +INPLACE +INSERTCHILDXMLAFTER +INSERTCHILDXMLBEFORE +INSERTCHILDXML +INSERT +INSERTXMLAFTER +INSERTXMLBEFORE +INSTANCE +INSTANCES +INSTANTIABLE +INSTANTLY +INSTEAD +INSTR2 +INSTR4 +INSTRB +INSTRC +INSTR +INTEGER +INTERLEAVED +INTERMEDIATE +INTERNAL_CONVERT +INTERNAL_USE +INTERPRETED +INTERSECT +INTERVAL +INT +INTO +INVALIDATE +INVISIBLE +IN_XQUERY +IS +ISOLATION +ISOLATION_LEVEL +ITERATE +ITERATION_NUMBER +JAVA +JOB +JOIN +JSON_ARRAYAGG +JSON_ARRAY +JSON_EQUAL +JSON_EXISTS2 +JSON_EXISTS +JSONGET +JSON +JSON_OBJECTAGG +JSON_OBJECT +JSONPARSE +JSON_QUERY +JSON_SERIALIZE +JSON_TABLE +JSON_TEXTCONTAINS2 +JSON_TEXTCONTAINS +JSON_VALUE +KEEP_DUPLICATES +KEEP +KERBEROS +KEY +KEY_LENGTH +KEYSIZE +KEYS +KEYSTORE +KILL +LABEL +LANGUAGE +LAST_DAY +LAST +LAST_VALUE +LATERAL +LAX +LAYER +LDAP_REGISTRATION_ENABLED +LDAP_REGISTRATION +LDAP_REG_SYNC_INTERVAL +LEADING +LEFT +LENGTH2 +LENGTH4 +LENGTHB +LENGTHC +LENGTH +LESS +LEVEL +LEVELS +LIBRARY +LIFECYCLE +LIFE +LIFETIME +LIKE2 +LIKE4 +LIKEC +LIKE_EXPAND +LIKE +LIMIT +LINEAR +LINK +LIST +LN +LNNVL +LOAD +LOB +LOBNVL +LOBS +LOCAL_INDEXES +LOCAL +LOCALTIME +LOCALTIMESTAMP +LOCATION +LOCATOR +LOCKED +LOCKING +LOCK +LOGFILE +LOGFILES +LOGGING +LOGICAL +LOGICAL_READS_PER_CALL +LOGICAL_READS_PER_SESSION +LOG +LOGMINING +LOGOFF +LOGON +LOG_READ_ONLY_VIOLATIONS +LONG +LOOP +LOWER +LOW +LPAD +LTRIM +MAIN +MAKE_REF +MANAGED +MANAGE +MANAGEMENT +MANAGER +MANUAL +MAP +MAPPING +MASTER +MATCHED +MATCHES +MATCH +MATCH_NUMBER +MATCH_RECOGNIZE +MATERIALIZED +MATERIALIZE +MAXARCHLOGS +MAXDATAFILES +MAXEXTENTS +MAXIMIZE +MAXINSTANCES +MAXLOGFILES +MAXLOGHISTORY +MAXLOGMEMBERS +MAX_SHARED_TEMP_SIZE +MAXSIZE +MAXTRANS +MAXVALUE +MEASURE +MEASURES +MEDIUM +MEMBER +MEMCOMPRESS +MEMORY +MERGEACTIONS +MERGE_AJ +MERGE_CONST_ON +MERGE +MERGE_SJ +METADATA +METHOD +MIGRATE +MIGRATION +MINEXTENTS +MINIMIZE +MINIMUM +MINING +MINUS +MINUS_NULL +MINUTE +MINVALUE +MIRRORCOLD +MIRRORHOT +MIRROR +MLSLABEL +MODEL_COMPILE_SUBQUERY +MODEL_DONTVERIFY_UNIQUENESS +MODEL_DYNAMIC_SUBQUERY +MODEL_MIN_ANALYSIS +MODEL +MODEL_NB +MODEL_NO_ANALYSIS +MODEL_PBY +MODEL_PUSH_REF +MODEL_SV +MODE +MODIFICATION +MODIFY_COLUMN_TYPE +MODIFY +MOD +MODULE +MONITORING +MONITOR +MONTH +MONTHS_BETWEEN +MONTHS +MOUNT +MOUNTPATH +MOVEMENT +MOVE +MULTIDIMENSIONAL +MULTISET +MV_MERGE +NAMED +NAME +NAMESPACE +NAN +NANVL +NATIONAL +NATIVE_FULL_OUTER_JOIN +NATIVE +NATURAL +NATURALN +NAV +NCHAR_CS +NCHAR +NCHR +NCLOB +NEEDED +NEG +NESTED +NESTED_TABLE_FAST_INSERT +NESTED_TABLE_GET_REFS +NESTED_TABLE_ID +NESTED_TABLE_SET_REFS +NESTED_TABLE_SET_SETID +NETWORK +NEVER +NEW +NEW_TIME +NEXT_DAY +NEXT +NL_AJ +NLJ_BATCHING +NLJ_INDEX_FILTER +NLJ_INDEX_SCAN +NLJ_PREFETCH +NLS_CALENDAR +NLS_CHARACTERSET +NLS_CHARSET_DECL_LEN +NLS_CHARSET_ID +NLS_CHARSET_NAME +NLS_COMP +NLS_CURRENCY +NLS_DATE_FORMAT +NLS_DATE_LANGUAGE +NLS_INITCAP +NLS_ISO_CURRENCY +NL_SJ +NLS_LANG +NLS_LANGUAGE +NLS_LENGTH_SEMANTICS +NLS_LOWER +NLS_NCHAR_CONV_EXCP +NLS_NUMERIC_CHARACTERS +NLS_SORT +NLSSORT +NLS_SPECIAL_CHARS +NLS_TERRITORY +NLS_UPPER +NO_ACCESS +NO_ADAPTIVE_PLAN +NO_ANSI_REARCH +NOAPPEND +NOARCHIVELOG +NOAUDIT +NO_AUTO_REOPTIMIZE +NO_BASETABLE_MULTIMV_REWRITE +NO_BATCH_TABLE_ACCESS_BY_ROWID +NO_BIND_AWARE +NO_BUFFER +NOCACHE +NO_CARTESIAN +NO_CHECK_ACL_REWRITE +NO_CLUSTER_BY_ROWID +NO_CLUSTERING +NO_COALESCE_SQ +NO_COMMON_DATA +NOCOMPRESS +NO_CONNECT_BY_CB_WHR_ONLY +NO_CONNECT_BY_COMBINE_SW +NO_CONNECT_BY_COST_BASED +NO_CONNECT_BY_ELIM_DUPS +NO_CONNECT_BY_FILTERING +NOCOPY +NO_COST_XML_QUERY_REWRITE +NO_CPU_COSTING +NOCPU_COSTING +NOCYCLE +NO_DATA_SECURITY_REWRITE +NO_DECORRELATE +NODELAY +NO_DOMAIN_INDEX_FILTER +NO_DST_UPGRADE_INSERT_CONV +NO_ELIM_GROUPBY +NO_ELIMINATE_JOIN +NO_ELIMINATE_OBY +NO_ELIMINATE_OUTER_JOIN +NOENTITYESCAPING +NO_EXPAND_GSET_TO_UNION +NO_EXPAND +NO_EXPAND_TABLE +NO_FACT +NO_FACTORIZE_JOIN +NO_FILTERING +NOFORCE +NO_FULL_OUTER_JOIN_TO_OUTER +NO_GATHER_OPTIMIZER_STATISTICS +NO_GBY_PUSHDOWN +NOGUARANTEE +NO_INDEX_FFS +NO_INDEX +NO_INDEX_SS +NO_INMEMORY +NO_INMEMORY_PRUNING +NOKEEP +NO_LOAD +NOLOCAL +NOLOGGING +NOMAPPING +NOMAXVALUE +NO_MERGE +NOMINIMIZE +NOMINVALUE +NO_MODEL_PUSH_REF +NO_MONITORING +NOMONITORING +NO_MONITOR +NO_MULTIMV_REWRITE +NO_NATIVE_FULL_OUTER_JOIN +NONBLOCKING +NONEDITIONABLE +NONE +NO_NLJ_BATCHING +NO_NLJ_PREFETCH +NO +NONSCHEMA +NO_OBJECT_LINK +NOORDER +NO_ORDER_ROLLUPS +NO_OUTER_JOIN_TO_ANTI +NO_OUTER_JOIN_TO_INNER +NOOVERRIDE +NO_PARALLEL_INDEX +NOPARALLEL_INDEX +NO_PARALLEL +NOPARALLEL +NO_PARTIAL_COMMIT +NO_PARTIAL_JOIN +NO_PARTIAL_ROLLUP_PUSHDOWN +NOPARTITION +NO_PLACE_DISTINCT +NO_PLACE_GROUP_BY +NO_PQ_CONCURRENT_UNION +NO_PQ_MAP +NO_PQ_REPLICATE +NO_PQ_SKEW +NO_PRUNE_GSETS +NO_PULL_PRED +NO_PUSH_PRED +NO_PUSH_SUBQ +NO_PX_FAULT_TOLERANCE +NO_PX_JOIN_FILTER +NO_QKN_BUFF +NO_QUERY_TRANSFORMATION +NO_REF_CASCADE +NORELOCATE +NORELY +NOREPAIR +NOREPLAY +NORESETLOGS +NO_RESULT_CACHE +NOREVERSE +NO_REWRITE +NOREWRITE +NORMAL +NO_ROOT_SW_FOR_LOCAL +NOROWDEPENDENCIES +NOSCHEMACHECK +NOSEGMENT +NO_SEMIJOIN +NO_SEMI_TO_INNER +NO_SET_TO_JOIN +NOSORT +NO_SQL_TRANSLATION +NO_SQL_TUNE +NO_STAR_TRANSFORMATION +NO_STATEMENT_QUEUING +NO_STATS_GSETS +NOSTRICT +NO_SUBQUERY_PRUNING +NO_SUBSTRB_PAD +NO_SWAP_JOIN_INPUTS +NOSWITCH +NO_TABLE_LOOKUP_BY_NL +NO_TEMP_TABLE +NOTHING +NOTIFICATION +NOT +NO_TRANSFORM_DISTINCT_AGG +NO_UNNEST +NO_USE_CUBE +NO_USE_HASH_AGGREGATION +NO_USE_HASH_GBY_FOR_PUSHDOWN +NO_USE_HASH +NO_USE_INVISIBLE_INDEXES +NO_USE_MERGE +NO_USE_NL +NO_USE_VECTOR_AGGREGATION +NOVALIDATE +NO_VECTOR_TRANSFORM_DIMS +NO_VECTOR_TRANSFORM_FACT +NO_VECTOR_TRANSFORM +NOWAIT +NO_XDB_FASTPATH_INSERT +NO_XML_DML_REWRITE +NO_XMLINDEX_REWRITE_IN_SELECT +NO_XMLINDEX_REWRITE +NO_XML_QUERY_REWRITE +NO_ZONEMAP +NTH_VALUE +NULLIF +NULL_ +NULLS +NUMBER +NUMERIC +NUM_INDEX_KEYS +NUMTODSINTERVAL +NUMTOYMINTERVAL +NVARCHAR2 +NVL2 +OBJECT2XML +OBJECT +OBJ_ID +OBJNO +OBJNO_REUSE +OCCURENCES +OFFLINE +OFF +OFFSET +OF +OIDINDEX +OID +OLAP +OLD +OLD_PUSH_PRED +OLS +OLTP +OMIT +ONE +ONLINE +ONLINELOG +ONLY +ON +OPAQUE +OPAQUE_TRANSFORM +OPAQUE_XCANONICAL +OPCODE +OPEN +OPERATIONS +OPERATOR +OPT_ESTIMATE +OPTIMAL +OPTIMIZE +OPTIMIZER_FEATURES_ENABLE +OPTIMIZER_GOAL +OPTION +OPT_PARAM +ORA_BRANCH +ORA_CHECK_ACL +ORA_CHECK_PRIVILEGE +ORA_CLUSTERING +ORADATA +ORADEBUG +ORA_DST_AFFECTED +ORA_DST_CONVERT +ORA_DST_ERROR +ORA_GET_ACLIDS +ORA_GET_PRIVILEGES +ORA_HASH +ORA_INVOKING_USERID +ORA_INVOKING_USER +ORA_INVOKING_XS_USER_GUID +ORA_INVOKING_XS_USER +ORA_RAWCOMPARE +ORA_RAWCONCAT +ORA_ROWSCN +ORA_ROWSCN_RAW +ORA_ROWVERSION +ORA_TABVERSION +ORA_WRITE_TIME +ORDERED +ORDERED_PREDICATES +ORDER +ORDINALITY +OR_EXPAND +ORGANIZATION +OR +OR_PREDICATES +OSERROR +OTHER +OUTER_JOIN_TO_ANTI +OUTER_JOIN_TO_INNER +OUTER +OUTLINE_LEAF +OUTLINE +OUT_OF_LINE +OUT +OVERFLOW_NOMOVE +OVERFLOW +OVERLAPS +OVER +OVERRIDING +OWNER +OWNERSHIP +OWN +PACKAGE +PACKAGES +PARALLEL_ENABLE +PARALLEL_INDEX +PARALLEL +PARAMETERFILE +PARAMETERS +PARAM +PARENT +PARITY +PARTIAL_JOIN +PARTIALLY +PARTIAL +PARTIAL_ROLLUP_PUSHDOWN +PARTITION_HASH +PARTITION_LIST +PARTITION +PARTITION_RANGE +PARTITIONS +PARTNUMINST +PASSING +PASSWORD_GRACE_TIME +PASSWORD_LIFE_TIME +PASSWORD_LOCK_TIME +PASSWORD +PASSWORD_REUSE_MAX +PASSWORD_REUSE_TIME +PASSWORD_VERIFY_FUNCTION +PAST +PATCH +PATH +PATH_PREFIX +PATHS +PATTERN +PBL_HS_BEGIN +PBL_HS_END +PCTFREE +PCTINCREASE +PCTTHRESHOLD +PCTUSED +PCTVERSION +PENDING +PERCENT_FOUND +PERCENT_ISOPEN +PERCENT_NOTFOUND +PERCENT_KEYWORD +PERCENT_RANKM +PERCENT_ROWCOUNT +PERCENT_ROWTYPE +PERCENT_TYPE +PERFORMANCE +PERIOD_KEYWORD +PERMANENT +PERMISSION +PERMUTE +PER +PFILE +PHYSICAL +PIKEY +PIPELINED +PIPE +PIV_GB +PIVOT +PIV_SSF +PLACE_DISTINCT +PLACE_GROUP_BY +PLAN +PLSCOPE_SETTINGS +PLS_INTEGER +PLSQL_CCFLAGS +PLSQL_CODE_TYPE +PLSQL_DEBUG +PLSQL_OPTIMIZE_LEVEL +PLSQL_WARNINGS +PLUGGABLE +POINT +POLICY +POOL_16K +POOL_2K +POOL_32K +POOL_4K +POOL_8K +POSITIVEN +POSITIVE +POST_TRANSACTION +POWERMULTISET_BY_CARDINALITY +POWERMULTISET +POWER +PQ_CONCURRENT_UNION +PQ_DISTRIBUTE +PQ_DISTRIBUTE_WINDOW +PQ_FILTER +PQ_MAP +PQ_NOMAP +PQ_REPLICATE +PQ_SKEW +PRAGMA +PREBUILT +PRECEDES +PRECEDING +PRECISION +PRECOMPUTE_SUBQUERY +PREDICATE_REORDERS +PRELOAD +PREPARE +PRESENTNNV +PRESENT +PRESENTV +PRESERVE_OID +PRESERVE +PRETTY +PREVIOUS +PREV +PRIMARY +PRINTBLOBTOCLOB +PRIORITY +PRIOR +PRIVATE +PRIVATE_SGA +PRIVILEGED +PRIVILEGE +PRIVILEGES +PROCEDURAL +PROCEDURE +PROCESS +PROFILE +PROGRAM +PROJECT +PROPAGATE +PROTECTED +PROTECTION +PROXY +PRUNING +PUBLIC +PULL_PRED +PURGE +PUSH_PRED +PUSH_SUBQ +PX_FAULT_TOLERANCE +PX_GRANULE +PX_JOIN_FILTER +QB_NAME +QUERY_BLOCK +QUERY +QUEUE_CURR +QUEUE +QUEUE_ROWP +QUIESCE +QUORUM +QUOTA +RAISE +RANDOM_LOCAL +RANDOM +RANGE +RANKM +RAPIDLY +RAW +RAWTOHEX +RAWTONHEX +RBA +RBO_OUTLINE +RDBA +READ +READS +REALM +REAL +REBALANCE +REBUILD +RECORD +RECORDS_PER_BLOCK +RECOVERABLE +RECOVER +RECOVERY +RECYCLEBIN +RECYCLE +REDACTION +REDEFINE +REDO +REDUCED +REDUNDANCY +REF_CASCADE_CURSOR +REFERENCED +REFERENCE +REFERENCES +REFERENCING +REF +REFRESH +REFTOHEX +REGEXP_COUNT +REGEXP_INSTR +REGEXP_LIKE +REGEXP_REPLACE +REGEXP_SUBSTR +REGISTER +REGR_AVGX +REGR_AVGY +REGR_COUNT +REGR_INTERCEPT +REGR_R2 +REGR_SLOPE +REGR_SXX +REGR_SXY +REGR_SYY +REGULAR +REJECT +REKEY +RELATIONAL +RELIES_ON +RELOCATE +RELY +REMAINDER +REMOTE_MAPPED +REMOVE +RENAME +REPAIR +REPEAT +REPLACE +REPLICATION +REQUIRED +RESETLOGS +RESET +RESIZE +RESOLVE +RESOLVER +RESOURCE +RESPECT +RESTART +RESTORE_AS_INTERVALS +RESTORE +RESTRICT_ALL_REF_CONS +RESTRICTED +RESTRICT_REFERENCES +RESTRICT +RESULT_CACHE +RESULT +RESUMABLE +RESUME +RETENTION +RETRY_ON_ROW_CHANGE +RETURNING +RETURN +REUSE +REVERSE +REVOKE +REWRITE_OR_ERROR +REWRITE +RIGHT +ROLE +ROLESET +ROLES +ROLLBACK +ROLLING +ROLLUP +ROWDEPENDENCIES +ROWID_MAPPING_TABLE +ROWID +ROWIDTOCHAR +ROWIDTONCHAR +ROW_LENGTH +ROWNUM +ROW +ROWS +RPAD +RTRIM +RULE +RULES +RUNNING +SALT +SAMPLE +SAVE_AS_INTERVALS +SAVEPOINT +SAVE +SB4 +SCALE_ROWS +SCALE +SCAN_INSTANCES +SCAN +SCHEDULER +SCHEMACHECK +SCHEMA +SCN_ASCENDING +SCN +SCOPE +SCRUB +SD_ALL +SD_INHIBIT +SDO_GEOM_MBR +SD_SHOW +SEARCH +SECOND +SECRET +SECUREFILE_DBA +SECUREFILE +SECURITY +SEED +SEG_BLOCK +SEG_FILE +SEGMENT +SELECTIVITY +SELECT +SELF +SEMIJOIN_DRIVER +SEMIJOIN +SEMI_TO_INNER +SEQUENCED +SEQUENCE +SEQUENTIAL +SEQ +SERIALIZABLE +SERIALLY_REUSABLE +SERIAL +SERVERERROR +SERVICE_NAME_CONVERT +SERVICES +SESSION_CACHED_CURSORS +SESSION +SESSIONS_PER_USER +SESSIONTIMEZONE +SESSIONTZNAME +SET +SETS +SETTINGS +SET_TO_JOIN +SEVERE +SHARED_POOL +SHARED +SHARE +SHARING +SHELFLIFE +SHOW +SHRINK +SHUTDOWN +SIBLINGS +SID +SIGNAL_COMPONENT +SIGNAL_FUNCTION +SIGN +SIGNTYPE +SIMPLE_INTEGER +SIMPLE +SINGLE +SINGLETASK +SINH +SIN +SIZE +SKIP_EXT_OPTIMIZER +SKIP_ +SKIP_UNQ_UNUSABLE_IDX +SKIP_UNUSABLE_INDEXES +SMALLFILE +SMALLINT +SNAPSHOT +SOME +SORT +SOUNDEX +SOURCE_FILE_DIRECTORY +SOURCE_FILE_NAME_CONVERT +SOURCE +SPACE_KEYWORD +SPECIFICATION +SPFILE +SPLIT +SPREADSHEET +SQLDATA +SQLERROR +SQLLDR +SQL +SQL_TRACE +SQL_TRANSLATION_PROFILE +SQRT +STALE +STANDALONE +STANDARD_HASH +STANDBY_MAX_DATA_DELAY +STANDBYS +STANDBY +STAR +STAR_TRANSFORMATION +START +STARTUP +STATEMENT_ID +STATEMENT_QUEUING +STATEMENTS +STATEMENT +STATE +STATIC +STATISTICS +STATS_BINOMIAL_TEST +STATS_CROSSTAB +STATS_F_TEST +STATS_KS_TEST +STATS_MODE +STATS_MW_TEST +STATS_ONE_WAY_ANOVA +STATS_T_TEST_INDEP +STATS_T_TEST_INDEPU +STATS_T_TEST_ONE +STATS_T_TEST_PAIRED +STATS_WSR_TEST +STDDEV_POP +STDDEV_SAMP +STOP +STORAGE +STORE +STREAMS +STREAM +STRICT +STRING +STRIPE_COLUMNS +STRIPE_WIDTH +STRIP +STRUCTURE +SUBMULTISET +SUBPARTITION_REL +SUBPARTITIONS +SUBPARTITION +SUBQUERIES +SUBQUERY_PRUNING +SUBSCRIBE +SUBSET +SUBSTITUTABLE +SUBSTR2 +SUBSTR4 +SUBSTRB +SUBSTRC +SUBTYPE +SUCCESSFUL +SUCCESS +SUMMARY +SUPPLEMENTAL +SUSPEND +SWAP_JOIN_INPUTS +SWITCHOVER +SWITCH +SYNCHRONOUS +SYNC +SYNONYM +SYSASM +SYS_AUDIT +SYSAUX +SYSBACKUP +SYS_CHECKACL +SYS_CHECK_PRIVILEGE +SYS_CONNECT_BY_PATH +SYS_CONTEXT +SYSDATE +SYSDBA +SYS_DBURIGEN +SYSDG +SYS_DL_CURSOR +SYS_DM_RXFORM_CHR +SYS_DM_RXFORM_NUM +SYS_DOM_COMPARE +SYS_DST_PRIM2SEC +SYS_DST_SEC2PRIM +SYS_ET_BFILE_TO_RAW +SYS_ET_BLOB_TO_IMAGE +SYS_ET_IMAGE_TO_BLOB +SYS_ET_RAW_TO_BFILE +SYS_EXTPDTXT +SYS_EXTRACT_UTC +SYS_FBT_INSDEL +SYS_FILTER_ACLS +SYS_FNMATCHES +SYS_FNREPLACE +SYS_GET_ACLIDS +SYS_GET_COL_ACLIDS +SYS_GET_PRIVILEGES +SYS_GETTOKENID +SYS_GETXTIVAL +SYS_GUID +SYSGUID +SYSKM +SYS_MAKE_XMLNODEID +SYS_MAKEXML +SYS_MKXMLATTR +SYS_MKXTI +SYSOBJ +SYS_OP_ADT2BIN +SYS_OP_ADTCONS +SYS_OP_ALSCRVAL +SYS_OP_ATG +SYS_OP_BIN2ADT +SYS_OP_BITVEC +SYS_OP_BL2R +SYS_OP_BLOOM_FILTER_LIST +SYS_OP_BLOOM_FILTER +SYS_OP_C2C +SYS_OP_CAST +SYS_OP_CEG +SYS_OP_CL2C +SYS_OP_COMBINED_HASH +SYS_OP_COMP +SYS_OP_CONVERT +SYS_OP_COUNTCHG +SYS_OP_CSCONV +SYS_OP_CSCONVTEST +SYS_OP_CSR +SYS_OP_CSX_PATCH +SYS_OP_CYCLED_SEQ +SYS_OP_DECOMP +SYS_OP_DESCEND +SYS_OP_DISTINCT +SYS_OP_DRA +SYS_OP_DUMP +SYS_OP_DV_CHECK +SYS_OP_ENFORCE_NOT_NULL +SYSOPER +SYS_OP_EXTRACT +SYS_OP_GROUPING +SYS_OP_GUID +SYS_OP_HASH +SYS_OP_IIX +SYS_OP_ITR +SYS_OP_KEY_VECTOR_CREATE +SYS_OP_KEY_VECTOR_FILTER_LIST +SYS_OP_KEY_VECTOR_FILTER +SYS_OP_KEY_VECTOR_SUCCEEDED +SYS_OP_KEY_VECTOR_USE +SYS_OP_LBID +SYS_OP_LOBLOC2BLOB +SYS_OP_LOBLOC2CLOB +SYS_OP_LOBLOC2ID +SYS_OP_LOBLOC2NCLOB +SYS_OP_LOBLOC2TYP +SYS_OP_LSVI +SYS_OP_LVL +SYS_OP_MAKEOID +SYS_OP_MAP_NONNULL +SYS_OP_MSR +SYS_OP_NICOMBINE +SYS_OP_NIEXTRACT +SYS_OP_NII +SYS_OP_NIX +SYS_OP_NOEXPAND +SYS_OP_NTCIMG +SYS_OP_NUMTORAW +SYS_OP_OIDVALUE +SYS_OP_OPNSIZE +SYS_OP_PAR_1 +SYS_OP_PARGID_1 +SYS_OP_PARGID +SYS_OP_PAR +SYS_OP_PART_ID +SYS_OP_PIVOT +SYS_OP_R2O +SYS_OP_RAWTONUM +SYS_OP_RDTM +SYS_OP_REF +SYS_OP_RMTD +SYS_OP_ROWIDTOOBJ +SYS_OP_RPB +SYS_OPTLOBPRBSC +SYS_OP_TOSETID +SYS_OP_TPR +SYS_OP_TRTB +SYS_OPTXICMP +SYS_OPTXQCASTASNQ +SYS_OP_UNDESCEND +SYS_OP_VECAND +SYS_OP_VECBIT +SYS_OP_VECOR +SYS_OP_VECXOR +SYS_OP_VERSION +SYS_OP_VREF +SYS_OP_VVD +SYS_OP_XMLCONS_FOR_CSX +SYS_OP_XPTHATG +SYS_OP_XPTHIDX +SYS_OP_XPTHOP +SYS_OP_XTXT2SQLT +SYS_OP_ZONE_ID +SYS_ORDERKEY_DEPTH +SYS_ORDERKEY_MAXCHILD +SYS_ORDERKEY_PARENT +SYS_PARALLEL_TXN +SYS_PATHID_IS_ATTR +SYS_PATHID_IS_NMSPC +SYS_PATHID_LASTNAME +SYS_PATHID_LASTNMSPC +SYS_PATH_REVERSE +SYS_PXQEXTRACT +SYS_RAW_TO_XSID +SYS_RID_ORDER +SYS_ROW_DELTA +SYS_SC_2_XMLT +SYS_SYNRCIREDO +SYSTEM_DEFINED +SYSTEM +SYSTIMESTAMP +SYS_TYPEID +SYS_UMAKEXML +SYS_XMLANALYZE +SYS_XMLCONTAINS +SYS_XMLCONV +SYS_XMLEXNSURI +SYS_XMLGEN +SYS_XMLI_LOC_ISNODE +SYS_XMLI_LOC_ISTEXT +SYS_XMLINSTR +SYS_XMLLOCATOR_GETSVAL +SYS_XMLNODEID_GETCID +SYS_XMLNODEID_GETLOCATOR +SYS_XMLNODEID_GETOKEY +SYS_XMLNODEID_GETPATHID +SYS_XMLNODEID_GETPTRID +SYS_XMLNODEID_GETRID +SYS_XMLNODEID_GETSVAL +SYS_XMLNODEID_GETTID +SYS_XMLNODEID +SYS_XMLT_2_SC +SYS_XMLTRANSLATE +SYS_XMLTYPE2SQL +SYS_XQ_ASQLCNV +SYS_XQ_ATOMCNVCHK +SYS_XQBASEURI +SYS_XQCASTABLEERRH +SYS_XQCODEP2STR +SYS_XQCODEPEQ +SYS_XQCON2SEQ +SYS_XQCONCAT +SYS_XQDELETE +SYS_XQDFLTCOLATION +SYS_XQDOC +SYS_XQDOCURI +SYS_XQDURDIV +SYS_XQED4URI +SYS_XQENDSWITH +SYS_XQERRH +SYS_XQERR +SYS_XQESHTMLURI +SYS_XQEXLOBVAL +SYS_XQEXSTWRP +SYS_XQEXTRACT +SYS_XQEXTRREF +SYS_XQEXVAL +SYS_XQFB2STR +SYS_XQFNBOOL +SYS_XQFNCMP +SYS_XQFNDATIM +SYS_XQFNLNAME +SYS_XQFNNM +SYS_XQFNNSURI +SYS_XQFNPREDTRUTH +SYS_XQFNQNM +SYS_XQFNROOT +SYS_XQFORMATNUM +SYS_XQFTCONTAIN +SYS_XQFUNCR +SYS_XQGETCONTENT +SYS_XQINDXOF +SYS_XQINSERT +SYS_XQINSPFX +SYS_XQIRI2URI +SYS_XQLANG +SYS_XQLLNMFRMQNM +SYS_XQMKNODEREF +SYS_XQNILLED +SYS_XQNODENAME +SYS_XQNORMSPACE +SYS_XQNORMUCODE +SYS_XQ_NRNG +SYS_XQNSP4PFX +SYS_XQNSPFRMQNM +SYS_XQPFXFRMQNM +SYS_XQ_PKSQL2XML +SYS_XQPOLYABS +SYS_XQPOLYADD +SYS_XQPOLYCEL +SYS_XQPOLYCSTBL +SYS_XQPOLYCST +SYS_XQPOLYDIV +SYS_XQPOLYFLR +SYS_XQPOLYMOD +SYS_XQPOLYMUL +SYS_XQPOLYRND +SYS_XQPOLYSQRT +SYS_XQPOLYSUB +SYS_XQPOLYUMUS +SYS_XQPOLYUPLS +SYS_XQPOLYVEQ +SYS_XQPOLYVGE +SYS_XQPOLYVGT +SYS_XQPOLYVLE +SYS_XQPOLYVLT +SYS_XQPOLYVNE +SYS_XQREF2VAL +SYS_XQRENAME +SYS_XQREPLACE +SYS_XQRESVURI +SYS_XQRNDHALF2EVN +SYS_XQRSLVQNM +SYS_XQRYENVPGET +SYS_XQRYVARGET +SYS_XQRYWRP +SYS_XQSEQ2CON4XC +SYS_XQSEQ2CON +SYS_XQSEQDEEPEQ +SYS_XQSEQINSB +SYS_XQSEQRM +SYS_XQSEQRVS +SYS_XQSEQSUB +SYS_XQSEQTYPMATCH +SYS_XQSTARTSWITH +SYS_XQSTATBURI +SYS_XQSTR2CODEP +SYS_XQSTRJOIN +SYS_XQSUBSTRAFT +SYS_XQSUBSTRBEF +SYS_XQTOKENIZE +SYS_XQTREATAS +SYS_XQ_UPKXML2SQL +SYS_XQXFORM +SYS_XSID_TO_RAW +SYS_ZMAP_FILTER +SYS_ZMAP_REFRESH +TABLE_LOOKUP_BY_NL +TABLESPACE_NO +TABLESPACE +TABLES +TABLE_STATS +TABLE +TABNO +TAG +TANH +TAN +TBLORIDXPARTNUM +TEMPFILE +TEMPLATE +TEMPORARY +TEMP_TABLE +TEST +TEXT +THAN +THEN +THE +THREAD +THROUGH +TIER +TIES +TIMEOUT +TIMESTAMP_LTZ_UNCONSTRAINED +TIMESTAMP +TIMESTAMP_TZ_UNCONSTRAINED +TIMESTAMP_UNCONSTRAINED +TIMES +TIME +TIMEZONE +TIMEZONE_ABBR +TIMEZONE_HOUR +TIMEZONE_MINUTE +TIMEZONE_OFFSET +TIMEZONE_REGION +TIME_ZONE +TIV_GB +TIV_SSF +TO_ACLID +TO_BINARY_DOUBLE +TO_BINARY_FLOAT +TO_BLOB +TO_CLOB +TO_DSINTERVAL +TO_LOB +TO_MULTI_BYTE +TO_NCHAR +TO_NCLOB +TO_NUMBER +TOPLEVEL +TO_SINGLE_BYTE +TO_TIMESTAMP +TO_TIMESTAMP_TZ +TO_TIME +TO_TIME_TZ +TO +TO_YMINTERVAL +TRACE +TRACING +TRACKING +TRAILING +TRANSACTION +TRANSFORM_DISTINCT_AGG +TRANSITIONAL +TRANSITION +TRANSLATE +TRANSLATION +TREAT +TRIGGERS +TRIGGER +TRUE +TRUNCATE +TRUNC +TRUSTED +TRUST +TUNING +TX +TYPES +TYPE +TZ_OFFSET +UB2 +UBA +UCS2 +UID +UNARCHIVED +UNBOUNDED +UNBOUND +UNCONDITIONAL +UNDER +UNDO +UNDROP +UNIFORM +UNION +UNIQUE +UNISTR +UNLIMITED +UNLOAD +UNLOCK +UNMATCHED +UNNEST_INNERJ_DISTINCT_VIEW +UNNEST_NOSEMIJ_NODISTINCTVIEW +UNNEST_SEMIJ_VIEW +UNNEST +UNPACKED +UNPIVOT +UNPLUG +UNPROTECTED +UNQUIESCE +UNRECOVERABLE +UNRESTRICTED +UNSUBSCRIBE +UNTIL +UNUSABLE +UNUSED +UPDATABLE +UPDATED +UPDATE +UPDATEXML +UPD_INDEXES +UPD_JOININDEX +UPGRADE +UPPER +UPSERT +UROWID +USABLE +USAGE +USE_ANTI +USE_CONCAT +USE_CUBE +USE_HASH_AGGREGATION +USE_HASH_GBY_FOR_PUSHDOWN +USE_HASH +USE_HIDDEN_PARTITIONS +USE_INVISIBLE_INDEXES +USE_MERGE_CARTESIAN +USE_MERGE +USE_NL +USE_NL_WITH_INDEX +USE_PRIVATE_OUTLINES +USER_DATA +USER_DEFINED +USERENV +USERGROUP +USER_RECYCLEBIN +USERS +USER_TABLESPACES +USER +USE_SEMI +USE_STORED_OUTLINES +USE_TTT_FOR_GSETS +USE +USE_VECTOR_AGGREGATION +USE_WEAK_NAME_RESL +USING_NO_EXPAND +USING +UTF16BE +UTF16LE +UTF32 +UTF8 +V1 +V2 +VALIDATE +VALIDATION +VALID_TIME_END +VALUES +VALUE +VARCHAR2 +VARCHAR +VARIABLE +VAR_POP +VARRAYS +VARRAY +VAR_SAMP +VARYING +VECTOR_READ_TRACE +VECTOR_READ +VECTOR_TRANSFORM_DIMS +VECTOR_TRANSFORM_FACT +VECTOR_TRANSFORM +VERIFIER +VERIFY +VERSIONING +VERSIONS_ENDSCN +VERSIONS_ENDTIME +VERSIONS_OPERATION +VERSIONS_STARTSCN +VERSIONS_STARTTIME +VERSIONS +VERSIONS_XID +VERSION +VIEW +VIOLATION +VIRTUAL +VISIBILITY +VISIBLE +VOLUME +VSIZE +WAIT +WALLET +WARNING +WEEKS +WEEK +WELLFORMED +WHENEVER +WHEN +WHERE +WHILE +WHITESPACE +WIDTH_BUCKET +WITHIN +WITHOUT +WITH_PLSQL +WITH +WORK +WRAPPED +WRAPPER +WRITE +XDB_FASTPATH_INSERT +XDB +X_DYN_PRUNE +XID +XML2OBJECT +XMLAGG +XMLATTRIBUTES +XMLCAST +XMLCDATA +XMLCOLATTVAL +XMLCOMMENT +XMLCONCAT +XMLDIFF +XML_DML_RWT_STMT +XMLELEMENT +XMLEXISTS2 +XMLEXISTS +XMLFOREST +XMLINDEX +XMLINDEX_REWRITE_IN_SELECT +XMLINDEX_REWRITE +XMLINDEX_SEL_IDX_TBL +XMLISNODE +XMLISVALID +XMLNAMESPACES +XMLPARSE +XMLPATCH +XMLPI +XMLQUERYVAL +XMLQUERY +XMLROOT +XMLSCHEMA +XMLSERIALIZE +XMLTABLE +XMLTRANSFORMBLOB +XMLTRANSFORM +XMLTYPE +XML +XPATHTABLE +XS_SYS_CONTEXT +XS +XTRANSPORT +YEARS +YEAR +YES +YMINTERVAL_UNCONSTRAINED +ZONEMAP +ZONE +PREDICTION +PREDICTION_BOUNDS +PREDICTION_COST +PREDICTION_DETAILS +PREDICTION_PROBABILITY +PREDICTION_SET +CUME_DIST +DENSE_RANK +LISTAGG +PERCENT_RANK +PERCENTILE_CONT +PERCENTILE_DISC +RANK +AVG +CORR +COVAR_ +DECODE +LAG +LEAD +MAX +MEDIAN +MIN +NTILE +NVL +RATIO_TO_REPORT +REGR_ +ROUND +ROW_NUMBER +SUBSTR +TO_CHAR +TRIM +SUM +STDDEV +VAR_ +VARIANCE +LEAST +GREATEST +TO_DATE +NATIONAL_CHAR_STRING_LIT +BIT_STRING_LIT +HEX_STRING_LIT +DOUBLE_PERIOD +PERIOD +UNSIGNED_INTEGER +APPROXIMATE_NUM_LIT +CHAR_STRING +CHAR_STRING_PERL +QS_ANGLE +QS_BRACE +QS_BRACK +QS_PAREN +QS_EXCLAM +QS_SHARP +QS_QUOTE +QS_DQUOTE +DELIMITED_ID +PERCENT +AMPERSAND +LEFT_PAREN +RIGHT_PAREN +DOUBLE_ASTERISK +ASTERISK +PLUS_SIGN +MINUS_SIGN +COMMA +SOLIDUS +AT_SIGN +ASSIGN_OP +BINDVAR +NOT_EQUAL_OP +CARRET_OPERATOR_PART +TILDE_OPERATOR_PART +EXCLAMATION_OPERATOR_PART +GREATER_THAN_OP +LESS_THAN_OP +COLON +SEMICOLON +BAR +EQUALS_OP +LEFT_BRACKET +RIGHT_BRACKET +INTRODUCER +SINGLE_LINE_COMMENT +MULTI_LINE_COMMENT +REMARK_COMMENT +PROMPT_MESSAGE +START_CMD +REGULAR_ID +SPACES +NEWLINE_EOF +QUESTION_MARK +SIMPLE_LETTER +FLOAT_FRAGMENT +NEWLINE +SPACE + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 2255, 29745, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318, 9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322, 4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327, 9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331, 4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336, 9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340, 4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345, 9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 4, 348, 9, 348, 4, 349, 9, 349, 4, 350, 9, 350, 4, 351, 9, 351, 4, 352, 9, 352, 4, 353, 9, 353, 4, 354, 9, 354, 4, 355, 9, 355, 4, 356, 9, 356, 4, 357, 9, 357, 4, 358, 9, 358, 4, 359, 9, 359, 4, 360, 9, 360, 4, 361, 9, 361, 4, 362, 9, 362, 4, 363, 9, 363, 4, 364, 9, 364, 4, 365, 9, 365, 4, 366, 9, 366, 4, 367, 9, 367, 4, 368, 9, 368, 4, 369, 9, 369, 4, 370, 9, 370, 4, 371, 9, 371, 4, 372, 9, 372, 4, 373, 9, 373, 4, 374, 9, 374, 4, 375, 9, 375, 4, 376, 9, 376, 4, 377, 9, 377, 4, 378, 9, 378, 4, 379, 9, 379, 4, 380, 9, 380, 4, 381, 9, 381, 4, 382, 9, 382, 4, 383, 9, 383, 4, 384, 9, 384, 4, 385, 9, 385, 4, 386, 9, 386, 4, 387, 9, 387, 4, 388, 9, 388, 4, 389, 9, 389, 4, 390, 9, 390, 4, 391, 9, 391, 4, 392, 9, 392, 4, 393, 9, 393, 4, 394, 9, 394, 4, 395, 9, 395, 4, 396, 9, 396, 4, 397, 9, 397, 4, 398, 9, 398, 4, 399, 9, 399, 4, 400, 9, 400, 4, 401, 9, 401, 4, 402, 9, 402, 4, 403, 9, 403, 4, 404, 9, 404, 4, 405, 9, 405, 4, 406, 9, 406, 4, 407, 9, 407, 4, 408, 9, 408, 4, 409, 9, 409, 4, 410, 9, 410, 4, 411, 9, 411, 4, 412, 9, 412, 4, 413, 9, 413, 4, 414, 9, 414, 4, 415, 9, 415, 4, 416, 9, 416, 4, 417, 9, 417, 4, 418, 9, 418, 4, 419, 9, 419, 4, 420, 9, 420, 4, 421, 9, 421, 4, 422, 9, 422, 4, 423, 9, 423, 4, 424, 9, 424, 4, 425, 9, 425, 4, 426, 9, 426, 4, 427, 9, 427, 4, 428, 9, 428, 4, 429, 9, 429, 4, 430, 9, 430, 4, 431, 9, 431, 4, 432, 9, 432, 4, 433, 9, 433, 4, 434, 9, 434, 4, 435, 9, 435, 4, 436, 9, 436, 4, 437, 9, 437, 4, 438, 9, 438, 4, 439, 9, 439, 4, 440, 9, 440, 4, 441, 9, 441, 4, 442, 9, 442, 4, 443, 9, 443, 4, 444, 9, 444, 4, 445, 9, 445, 4, 446, 9, 446, 4, 447, 9, 447, 4, 448, 9, 448, 4, 449, 9, 449, 4, 450, 9, 450, 4, 451, 9, 451, 4, 452, 9, 452, 4, 453, 9, 453, 4, 454, 9, 454, 4, 455, 9, 455, 4, 456, 9, 456, 4, 457, 9, 457, 4, 458, 9, 458, 4, 459, 9, 459, 4, 460, 9, 460, 4, 461, 9, 461, 4, 462, 9, 462, 4, 463, 9, 463, 4, 464, 9, 464, 4, 465, 9, 465, 4, 466, 9, 466, 4, 467, 9, 467, 4, 468, 9, 468, 4, 469, 9, 469, 4, 470, 9, 470, 4, 471, 9, 471, 4, 472, 9, 472, 4, 473, 9, 473, 4, 474, 9, 474, 4, 475, 9, 475, 4, 476, 9, 476, 4, 477, 9, 477, 4, 478, 9, 478, 4, 479, 9, 479, 4, 480, 9, 480, 4, 481, 9, 481, 4, 482, 9, 482, 4, 483, 9, 483, 4, 484, 9, 484, 4, 485, 9, 485, 4, 486, 9, 486, 4, 487, 9, 487, 4, 488, 9, 488, 4, 489, 9, 489, 4, 490, 9, 490, 4, 491, 9, 491, 4, 492, 9, 492, 4, 493, 9, 493, 4, 494, 9, 494, 4, 495, 9, 495, 4, 496, 9, 496, 4, 497, 9, 497, 4, 498, 9, 498, 4, 499, 9, 499, 4, 500, 9, 500, 4, 501, 9, 501, 4, 502, 9, 502, 4, 503, 9, 503, 4, 504, 9, 504, 4, 505, 9, 505, 4, 506, 9, 506, 4, 507, 9, 507, 4, 508, 9, 508, 4, 509, 9, 509, 4, 510, 9, 510, 4, 511, 9, 511, 4, 512, 9, 512, 4, 513, 9, 513, 4, 514, 9, 514, 4, 515, 9, 515, 4, 516, 9, 516, 4, 517, 9, 517, 4, 518, 9, 518, 4, 519, 9, 519, 4, 520, 9, 520, 4, 521, 9, 521, 4, 522, 9, 522, 4, 523, 9, 523, 4, 524, 9, 524, 4, 525, 9, 525, 4, 526, 9, 526, 4, 527, 9, 527, 4, 528, 9, 528, 4, 529, 9, 529, 4, 530, 9, 530, 4, 531, 9, 531, 4, 532, 9, 532, 4, 533, 9, 533, 4, 534, 9, 534, 4, 535, 9, 535, 4, 536, 9, 536, 4, 537, 9, 537, 4, 538, 9, 538, 4, 539, 9, 539, 4, 540, 9, 540, 4, 541, 9, 541, 4, 542, 9, 542, 4, 543, 9, 543, 4, 544, 9, 544, 4, 545, 9, 545, 4, 546, 9, 546, 4, 547, 9, 547, 4, 548, 9, 548, 4, 549, 9, 549, 4, 550, 9, 550, 4, 551, 9, 551, 4, 552, 9, 552, 4, 553, 9, 553, 4, 554, 9, 554, 4, 555, 9, 555, 4, 556, 9, 556, 4, 557, 9, 557, 4, 558, 9, 558, 4, 559, 9, 559, 4, 560, 9, 560, 4, 561, 9, 561, 4, 562, 9, 562, 4, 563, 9, 563, 4, 564, 9, 564, 4, 565, 9, 565, 4, 566, 9, 566, 4, 567, 9, 567, 4, 568, 9, 568, 4, 569, 9, 569, 4, 570, 9, 570, 4, 571, 9, 571, 4, 572, 9, 572, 4, 573, 9, 573, 4, 574, 9, 574, 4, 575, 9, 575, 4, 576, 9, 576, 4, 577, 9, 577, 4, 578, 9, 578, 4, 579, 9, 579, 4, 580, 9, 580, 4, 581, 9, 581, 4, 582, 9, 582, 4, 583, 9, 583, 4, 584, 9, 584, 4, 585, 9, 585, 4, 586, 9, 586, 4, 587, 9, 587, 4, 588, 9, 588, 4, 589, 9, 589, 4, 590, 9, 590, 4, 591, 9, 591, 4, 592, 9, 592, 4, 593, 9, 593, 4, 594, 9, 594, 4, 595, 9, 595, 4, 596, 9, 596, 4, 597, 9, 597, 4, 598, 9, 598, 4, 599, 9, 599, 4, 600, 9, 600, 4, 601, 9, 601, 4, 602, 9, 602, 4, 603, 9, 603, 4, 604, 9, 604, 4, 605, 9, 605, 4, 606, 9, 606, 4, 607, 9, 607, 4, 608, 9, 608, 4, 609, 9, 609, 4, 610, 9, 610, 4, 611, 9, 611, 4, 612, 9, 612, 4, 613, 9, 613, 4, 614, 9, 614, 4, 615, 9, 615, 4, 616, 9, 616, 4, 617, 9, 617, 4, 618, 9, 618, 4, 619, 9, 619, 4, 620, 9, 620, 4, 621, 9, 621, 4, 622, 9, 622, 4, 623, 9, 623, 4, 624, 9, 624, 4, 625, 9, 625, 4, 626, 9, 626, 4, 627, 9, 627, 4, 628, 9, 628, 4, 629, 9, 629, 4, 630, 9, 630, 4, 631, 9, 631, 4, 632, 9, 632, 4, 633, 9, 633, 4, 634, 9, 634, 4, 635, 9, 635, 4, 636, 9, 636, 4, 637, 9, 637, 4, 638, 9, 638, 4, 639, 9, 639, 4, 640, 9, 640, 4, 641, 9, 641, 4, 642, 9, 642, 4, 643, 9, 643, 4, 644, 9, 644, 4, 645, 9, 645, 4, 646, 9, 646, 4, 647, 9, 647, 4, 648, 9, 648, 4, 649, 9, 649, 4, 650, 9, 650, 4, 651, 9, 651, 4, 652, 9, 652, 4, 653, 9, 653, 4, 654, 9, 654, 4, 655, 9, 655, 4, 656, 9, 656, 4, 657, 9, 657, 4, 658, 9, 658, 4, 659, 9, 659, 4, 660, 9, 660, 4, 661, 9, 661, 4, 662, 9, 662, 4, 663, 9, 663, 4, 664, 9, 664, 4, 665, 9, 665, 4, 666, 9, 666, 4, 667, 9, 667, 4, 668, 9, 668, 4, 669, 9, 669, 4, 670, 9, 670, 4, 671, 9, 671, 4, 672, 9, 672, 4, 673, 9, 673, 4, 674, 9, 674, 4, 675, 9, 675, 4, 676, 9, 676, 4, 677, 9, 677, 4, 678, 9, 678, 4, 679, 9, 679, 4, 680, 9, 680, 4, 681, 9, 681, 4, 682, 9, 682, 4, 683, 9, 683, 4, 684, 9, 684, 4, 685, 9, 685, 4, 686, 9, 686, 4, 687, 9, 687, 4, 688, 9, 688, 4, 689, 9, 689, 4, 690, 9, 690, 4, 691, 9, 691, 4, 692, 9, 692, 4, 693, 9, 693, 4, 694, 9, 694, 4, 695, 9, 695, 4, 696, 9, 696, 4, 697, 9, 697, 4, 698, 9, 698, 4, 699, 9, 699, 4, 700, 9, 700, 4, 701, 9, 701, 4, 702, 9, 702, 4, 703, 9, 703, 4, 704, 9, 704, 4, 705, 9, 705, 4, 706, 9, 706, 4, 707, 9, 707, 4, 708, 9, 708, 4, 709, 9, 709, 4, 710, 9, 710, 4, 711, 9, 711, 4, 712, 9, 712, 4, 713, 9, 713, 4, 714, 9, 714, 4, 715, 9, 715, 4, 716, 9, 716, 4, 717, 9, 717, 4, 718, 9, 718, 4, 719, 9, 719, 4, 720, 9, 720, 4, 721, 9, 721, 4, 722, 9, 722, 4, 723, 9, 723, 4, 724, 9, 724, 4, 725, 9, 725, 4, 726, 9, 726, 4, 727, 9, 727, 4, 728, 9, 728, 4, 729, 9, 729, 4, 730, 9, 730, 4, 731, 9, 731, 4, 732, 9, 732, 4, 733, 9, 733, 4, 734, 9, 734, 4, 735, 9, 735, 4, 736, 9, 736, 4, 737, 9, 737, 4, 738, 9, 738, 4, 739, 9, 739, 4, 740, 9, 740, 4, 741, 9, 741, 4, 742, 9, 742, 4, 743, 9, 743, 4, 744, 9, 744, 4, 745, 9, 745, 4, 746, 9, 746, 4, 747, 9, 747, 4, 748, 9, 748, 4, 749, 9, 749, 4, 750, 9, 750, 4, 751, 9, 751, 4, 752, 9, 752, 4, 753, 9, 753, 4, 754, 9, 754, 4, 755, 9, 755, 4, 756, 9, 756, 4, 757, 9, 757, 4, 758, 9, 758, 4, 759, 9, 759, 4, 760, 9, 760, 4, 761, 9, 761, 4, 762, 9, 762, 4, 763, 9, 763, 4, 764, 9, 764, 4, 765, 9, 765, 4, 766, 9, 766, 4, 767, 9, 767, 4, 768, 9, 768, 4, 769, 9, 769, 4, 770, 9, 770, 4, 771, 9, 771, 4, 772, 9, 772, 4, 773, 9, 773, 4, 774, 9, 774, 4, 775, 9, 775, 4, 776, 9, 776, 4, 777, 9, 777, 4, 778, 9, 778, 4, 779, 9, 779, 4, 780, 9, 780, 4, 781, 9, 781, 4, 782, 9, 782, 4, 783, 9, 783, 4, 784, 9, 784, 4, 785, 9, 785, 4, 786, 9, 786, 4, 787, 9, 787, 4, 788, 9, 788, 4, 789, 9, 789, 4, 790, 9, 790, 4, 791, 9, 791, 4, 792, 9, 792, 4, 793, 9, 793, 4, 794, 9, 794, 4, 795, 9, 795, 4, 796, 9, 796, 4, 797, 9, 797, 4, 798, 9, 798, 4, 799, 9, 799, 4, 800, 9, 800, 4, 801, 9, 801, 4, 802, 9, 802, 4, 803, 9, 803, 4, 804, 9, 804, 4, 805, 9, 805, 4, 806, 9, 806, 4, 807, 9, 807, 4, 808, 9, 808, 4, 809, 9, 809, 4, 810, 9, 810, 4, 811, 9, 811, 4, 812, 9, 812, 4, 813, 9, 813, 4, 814, 9, 814, 4, 815, 9, 815, 4, 816, 9, 816, 4, 817, 9, 817, 4, 818, 9, 818, 4, 819, 9, 819, 4, 820, 9, 820, 4, 821, 9, 821, 4, 822, 9, 822, 4, 823, 9, 823, 4, 824, 9, 824, 4, 825, 9, 825, 4, 826, 9, 826, 4, 827, 9, 827, 4, 828, 9, 828, 4, 829, 9, 829, 4, 830, 9, 830, 4, 831, 9, 831, 4, 832, 9, 832, 4, 833, 9, 833, 4, 834, 9, 834, 4, 835, 9, 835, 4, 836, 9, 836, 4, 837, 9, 837, 4, 838, 9, 838, 4, 839, 9, 839, 4, 840, 9, 840, 4, 841, 9, 841, 4, 842, 9, 842, 4, 843, 9, 843, 4, 844, 9, 844, 4, 845, 9, 845, 4, 846, 9, 846, 4, 847, 9, 847, 4, 848, 9, 848, 4, 849, 9, 849, 4, 850, 9, 850, 4, 851, 9, 851, 4, 852, 9, 852, 4, 853, 9, 853, 4, 854, 9, 854, 4, 855, 9, 855, 4, 856, 9, 856, 4, 857, 9, 857, 4, 858, 9, 858, 4, 859, 9, 859, 4, 860, 9, 860, 4, 861, 9, 861, 4, 862, 9, 862, 4, 863, 9, 863, 4, 864, 9, 864, 4, 865, 9, 865, 4, 866, 9, 866, 4, 867, 9, 867, 4, 868, 9, 868, 4, 869, 9, 869, 4, 870, 9, 870, 4, 871, 9, 871, 4, 872, 9, 872, 4, 873, 9, 873, 4, 874, 9, 874, 4, 875, 9, 875, 4, 876, 9, 876, 4, 877, 9, 877, 4, 878, 9, 878, 4, 879, 9, 879, 4, 880, 9, 880, 4, 881, 9, 881, 4, 882, 9, 882, 4, 883, 9, 883, 4, 884, 9, 884, 4, 885, 9, 885, 4, 886, 9, 886, 4, 887, 9, 887, 4, 888, 9, 888, 4, 889, 9, 889, 4, 890, 9, 890, 4, 891, 9, 891, 4, 892, 9, 892, 4, 893, 9, 893, 4, 894, 9, 894, 4, 895, 9, 895, 4, 896, 9, 896, 4, 897, 9, 897, 4, 898, 9, 898, 4, 899, 9, 899, 4, 900, 9, 900, 4, 901, 9, 901, 4, 902, 9, 902, 4, 903, 9, 903, 4, 904, 9, 904, 4, 905, 9, 905, 4, 906, 9, 906, 4, 907, 9, 907, 4, 908, 9, 908, 4, 909, 9, 909, 4, 910, 9, 910, 4, 911, 9, 911, 4, 912, 9, 912, 4, 913, 9, 913, 4, 914, 9, 914, 4, 915, 9, 915, 4, 916, 9, 916, 4, 917, 9, 917, 4, 918, 9, 918, 4, 919, 9, 919, 4, 920, 9, 920, 4, 921, 9, 921, 4, 922, 9, 922, 4, 923, 9, 923, 4, 924, 9, 924, 4, 925, 9, 925, 4, 926, 9, 926, 4, 927, 9, 927, 4, 928, 9, 928, 4, 929, 9, 929, 4, 930, 9, 930, 4, 931, 9, 931, 4, 932, 9, 932, 4, 933, 9, 933, 4, 934, 9, 934, 4, 935, 9, 935, 4, 936, 9, 936, 4, 937, 9, 937, 4, 938, 9, 938, 4, 939, 9, 939, 4, 940, 9, 940, 4, 941, 9, 941, 4, 942, 9, 942, 4, 943, 9, 943, 4, 944, 9, 944, 4, 945, 9, 945, 4, 946, 9, 946, 4, 947, 9, 947, 4, 948, 9, 948, 4, 949, 9, 949, 4, 950, 9, 950, 4, 951, 9, 951, 4, 952, 9, 952, 4, 953, 9, 953, 4, 954, 9, 954, 4, 955, 9, 955, 4, 956, 9, 956, 4, 957, 9, 957, 4, 958, 9, 958, 4, 959, 9, 959, 4, 960, 9, 960, 4, 961, 9, 961, 4, 962, 9, 962, 4, 963, 9, 963, 4, 964, 9, 964, 4, 965, 9, 965, 4, 966, 9, 966, 4, 967, 9, 967, 4, 968, 9, 968, 4, 969, 9, 969, 4, 970, 9, 970, 4, 971, 9, 971, 4, 972, 9, 972, 4, 973, 9, 973, 4, 974, 9, 974, 4, 975, 9, 975, 4, 976, 9, 976, 4, 977, 9, 977, 4, 978, 9, 978, 4, 979, 9, 979, 4, 980, 9, 980, 4, 981, 9, 981, 4, 982, 9, 982, 4, 983, 9, 983, 4, 984, 9, 984, 4, 985, 9, 985, 4, 986, 9, 986, 4, 987, 9, 987, 4, 988, 9, 988, 4, 989, 9, 989, 4, 990, 9, 990, 4, 991, 9, 991, 4, 992, 9, 992, 4, 993, 9, 993, 4, 994, 9, 994, 4, 995, 9, 995, 4, 996, 9, 996, 4, 997, 9, 997, 4, 998, 9, 998, 4, 999, 9, 999, 4, 1000, 9, 1000, 4, 1001, 9, 1001, 4, 1002, 9, 1002, 4, 1003, 9, 1003, 4, 1004, 9, 1004, 4, 1005, 9, 1005, 4, 1006, 9, 1006, 4, 1007, 9, 1007, 4, 1008, 9, 1008, 4, 1009, 9, 1009, 4, 1010, 9, 1010, 4, 1011, 9, 1011, 4, 1012, 9, 1012, 4, 1013, 9, 1013, 4, 1014, 9, 1014, 4, 1015, 9, 1015, 4, 1016, 9, 1016, 4, 1017, 9, 1017, 4, 1018, 9, 1018, 4, 1019, 9, 1019, 4, 1020, 9, 1020, 4, 1021, 9, 1021, 4, 1022, 9, 1022, 4, 1023, 9, 1023, 4, 1024, 9, 1024, 4, 1025, 9, 1025, 4, 1026, 9, 1026, 4, 1027, 9, 1027, 4, 1028, 9, 1028, 4, 1029, 9, 1029, 4, 1030, 9, 1030, 4, 1031, 9, 1031, 4, 1032, 9, 1032, 4, 1033, 9, 1033, 4, 1034, 9, 1034, 4, 1035, 9, 1035, 4, 1036, 9, 1036, 4, 1037, 9, 1037, 4, 1038, 9, 1038, 4, 1039, 9, 1039, 4, 1040, 9, 1040, 4, 1041, 9, 1041, 4, 1042, 9, 1042, 4, 1043, 9, 1043, 4, 1044, 9, 1044, 4, 1045, 9, 1045, 4, 1046, 9, 1046, 4, 1047, 9, 1047, 4, 1048, 9, 1048, 4, 1049, 9, 1049, 4, 1050, 9, 1050, 4, 1051, 9, 1051, 4, 1052, 9, 1052, 4, 1053, 9, 1053, 4, 1054, 9, 1054, 4, 1055, 9, 1055, 4, 1056, 9, 1056, 4, 1057, 9, 1057, 4, 1058, 9, 1058, 4, 1059, 9, 1059, 4, 1060, 9, 1060, 4, 1061, 9, 1061, 4, 1062, 9, 1062, 4, 1063, 9, 1063, 4, 1064, 9, 1064, 4, 1065, 9, 1065, 4, 1066, 9, 1066, 4, 1067, 9, 1067, 4, 1068, 9, 1068, 4, 1069, 9, 1069, 4, 1070, 9, 1070, 4, 1071, 9, 1071, 4, 1072, 9, 1072, 4, 1073, 9, 1073, 4, 1074, 9, 1074, 4, 1075, 9, 1075, 4, 1076, 9, 1076, 4, 1077, 9, 1077, 4, 1078, 9, 1078, 4, 1079, 9, 1079, 4, 1080, 9, 1080, 4, 1081, 9, 1081, 4, 1082, 9, 1082, 4, 1083, 9, 1083, 4, 1084, 9, 1084, 4, 1085, 9, 1085, 4, 1086, 9, 1086, 4, 1087, 9, 1087, 4, 1088, 9, 1088, 4, 1089, 9, 1089, 4, 1090, 9, 1090, 4, 1091, 9, 1091, 4, 1092, 9, 1092, 4, 1093, 9, 1093, 4, 1094, 9, 1094, 4, 1095, 9, 1095, 4, 1096, 9, 1096, 4, 1097, 9, 1097, 4, 1098, 9, 1098, 4, 1099, 9, 1099, 4, 1100, 9, 1100, 4, 1101, 9, 1101, 4, 1102, 9, 1102, 4, 1103, 9, 1103, 4, 1104, 9, 1104, 4, 1105, 9, 1105, 4, 1106, 9, 1106, 4, 1107, 9, 1107, 4, 1108, 9, 1108, 4, 1109, 9, 1109, 4, 1110, 9, 1110, 4, 1111, 9, 1111, 4, 1112, 9, 1112, 4, 1113, 9, 1113, 4, 1114, 9, 1114, 4, 1115, 9, 1115, 4, 1116, 9, 1116, 4, 1117, 9, 1117, 4, 1118, 9, 1118, 4, 1119, 9, 1119, 4, 1120, 9, 1120, 4, 1121, 9, 1121, 4, 1122, 9, 1122, 4, 1123, 9, 1123, 4, 1124, 9, 1124, 4, 1125, 9, 1125, 4, 1126, 9, 1126, 4, 1127, 9, 1127, 4, 1128, 9, 1128, 4, 1129, 9, 1129, 4, 1130, 9, 1130, 4, 1131, 9, 1131, 4, 1132, 9, 1132, 4, 1133, 9, 1133, 4, 1134, 9, 1134, 4, 1135, 9, 1135, 4, 1136, 9, 1136, 4, 1137, 9, 1137, 4, 1138, 9, 1138, 4, 1139, 9, 1139, 4, 1140, 9, 1140, 4, 1141, 9, 1141, 4, 1142, 9, 1142, 4, 1143, 9, 1143, 4, 1144, 9, 1144, 4, 1145, 9, 1145, 4, 1146, 9, 1146, 4, 1147, 9, 1147, 4, 1148, 9, 1148, 4, 1149, 9, 1149, 4, 1150, 9, 1150, 4, 1151, 9, 1151, 4, 1152, 9, 1152, 4, 1153, 9, 1153, 4, 1154, 9, 1154, 4, 1155, 9, 1155, 4, 1156, 9, 1156, 4, 1157, 9, 1157, 4, 1158, 9, 1158, 4, 1159, 9, 1159, 4, 1160, 9, 1160, 4, 1161, 9, 1161, 4, 1162, 9, 1162, 4, 1163, 9, 1163, 4, 1164, 9, 1164, 4, 1165, 9, 1165, 4, 1166, 9, 1166, 4, 1167, 9, 1167, 4, 1168, 9, 1168, 4, 1169, 9, 1169, 4, 1170, 9, 1170, 4, 1171, 9, 1171, 4, 1172, 9, 1172, 4, 1173, 9, 1173, 4, 1174, 9, 1174, 4, 1175, 9, 1175, 4, 1176, 9, 1176, 4, 1177, 9, 1177, 4, 1178, 9, 1178, 4, 1179, 9, 1179, 4, 1180, 9, 1180, 4, 1181, 9, 1181, 4, 1182, 9, 1182, 4, 1183, 9, 1183, 4, 1184, 9, 1184, 4, 1185, 9, 1185, 4, 1186, 9, 1186, 4, 1187, 9, 1187, 4, 1188, 9, 1188, 4, 1189, 9, 1189, 4, 1190, 9, 1190, 4, 1191, 9, 1191, 4, 1192, 9, 1192, 4, 1193, 9, 1193, 4, 1194, 9, 1194, 4, 1195, 9, 1195, 4, 1196, 9, 1196, 4, 1197, 9, 1197, 4, 1198, 9, 1198, 4, 1199, 9, 1199, 4, 1200, 9, 1200, 4, 1201, 9, 1201, 4, 1202, 9, 1202, 4, 1203, 9, 1203, 4, 1204, 9, 1204, 4, 1205, 9, 1205, 4, 1206, 9, 1206, 4, 1207, 9, 1207, 4, 1208, 9, 1208, 4, 1209, 9, 1209, 4, 1210, 9, 1210, 4, 1211, 9, 1211, 4, 1212, 9, 1212, 4, 1213, 9, 1213, 4, 1214, 9, 1214, 4, 1215, 9, 1215, 4, 1216, 9, 1216, 4, 1217, 9, 1217, 4, 1218, 9, 1218, 4, 1219, 9, 1219, 4, 1220, 9, 1220, 4, 1221, 9, 1221, 4, 1222, 9, 1222, 4, 1223, 9, 1223, 4, 1224, 9, 1224, 4, 1225, 9, 1225, 4, 1226, 9, 1226, 4, 1227, 9, 1227, 4, 1228, 9, 1228, 4, 1229, 9, 1229, 4, 1230, 9, 1230, 4, 1231, 9, 1231, 4, 1232, 9, 1232, 4, 1233, 9, 1233, 4, 1234, 9, 1234, 4, 1235, 9, 1235, 4, 1236, 9, 1236, 4, 1237, 9, 1237, 4, 1238, 9, 1238, 4, 1239, 9, 1239, 4, 1240, 9, 1240, 4, 1241, 9, 1241, 4, 1242, 9, 1242, 4, 1243, 9, 1243, 4, 1244, 9, 1244, 4, 1245, 9, 1245, 4, 1246, 9, 1246, 4, 1247, 9, 1247, 4, 1248, 9, 1248, 4, 1249, 9, 1249, 4, 1250, 9, 1250, 4, 1251, 9, 1251, 4, 1252, 9, 1252, 4, 1253, 9, 1253, 4, 1254, 9, 1254, 4, 1255, 9, 1255, 4, 1256, 9, 1256, 4, 1257, 9, 1257, 4, 1258, 9, 1258, 4, 1259, 9, 1259, 4, 1260, 9, 1260, 4, 1261, 9, 1261, 4, 1262, 9, 1262, 4, 1263, 9, 1263, 4, 1264, 9, 1264, 4, 1265, 9, 1265, 4, 1266, 9, 1266, 4, 1267, 9, 1267, 4, 1268, 9, 1268, 4, 1269, 9, 1269, 4, 1270, 9, 1270, 4, 1271, 9, 1271, 4, 1272, 9, 1272, 4, 1273, 9, 1273, 4, 1274, 9, 1274, 4, 1275, 9, 1275, 4, 1276, 9, 1276, 4, 1277, 9, 1277, 4, 1278, 9, 1278, 4, 1279, 9, 1279, 4, 1280, 9, 1280, 4, 1281, 9, 1281, 4, 1282, 9, 1282, 4, 1283, 9, 1283, 4, 1284, 9, 1284, 4, 1285, 9, 1285, 4, 1286, 9, 1286, 4, 1287, 9, 1287, 4, 1288, 9, 1288, 4, 1289, 9, 1289, 4, 1290, 9, 1290, 4, 1291, 9, 1291, 4, 1292, 9, 1292, 4, 1293, 9, 1293, 4, 1294, 9, 1294, 4, 1295, 9, 1295, 4, 1296, 9, 1296, 4, 1297, 9, 1297, 4, 1298, 9, 1298, 4, 1299, 9, 1299, 4, 1300, 9, 1300, 4, 1301, 9, 1301, 4, 1302, 9, 1302, 4, 1303, 9, 1303, 4, 1304, 9, 1304, 4, 1305, 9, 1305, 4, 1306, 9, 1306, 4, 1307, 9, 1307, 4, 1308, 9, 1308, 4, 1309, 9, 1309, 4, 1310, 9, 1310, 4, 1311, 9, 1311, 4, 1312, 9, 1312, 4, 1313, 9, 1313, 4, 1314, 9, 1314, 4, 1315, 9, 1315, 4, 1316, 9, 1316, 4, 1317, 9, 1317, 4, 1318, 9, 1318, 4, 1319, 9, 1319, 4, 1320, 9, 1320, 4, 1321, 9, 1321, 4, 1322, 9, 1322, 4, 1323, 9, 1323, 4, 1324, 9, 1324, 4, 1325, 9, 1325, 4, 1326, 9, 1326, 4, 1327, 9, 1327, 4, 1328, 9, 1328, 4, 1329, 9, 1329, 4, 1330, 9, 1330, 4, 1331, 9, 1331, 4, 1332, 9, 1332, 4, 1333, 9, 1333, 4, 1334, 9, 1334, 4, 1335, 9, 1335, 4, 1336, 9, 1336, 4, 1337, 9, 1337, 4, 1338, 9, 1338, 4, 1339, 9, 1339, 4, 1340, 9, 1340, 4, 1341, 9, 1341, 4, 1342, 9, 1342, 4, 1343, 9, 1343, 4, 1344, 9, 1344, 4, 1345, 9, 1345, 4, 1346, 9, 1346, 4, 1347, 9, 1347, 4, 1348, 9, 1348, 4, 1349, 9, 1349, 4, 1350, 9, 1350, 4, 1351, 9, 1351, 4, 1352, 9, 1352, 4, 1353, 9, 1353, 4, 1354, 9, 1354, 4, 1355, 9, 1355, 4, 1356, 9, 1356, 4, 1357, 9, 1357, 4, 1358, 9, 1358, 4, 1359, 9, 1359, 4, 1360, 9, 1360, 4, 1361, 9, 1361, 4, 1362, 9, 1362, 4, 1363, 9, 1363, 4, 1364, 9, 1364, 4, 1365, 9, 1365, 4, 1366, 9, 1366, 4, 1367, 9, 1367, 4, 1368, 9, 1368, 4, 1369, 9, 1369, 4, 1370, 9, 1370, 4, 1371, 9, 1371, 4, 1372, 9, 1372, 4, 1373, 9, 1373, 4, 1374, 9, 1374, 4, 1375, 9, 1375, 4, 1376, 9, 1376, 4, 1377, 9, 1377, 4, 1378, 9, 1378, 4, 1379, 9, 1379, 4, 1380, 9, 1380, 4, 1381, 9, 1381, 4, 1382, 9, 1382, 4, 1383, 9, 1383, 4, 1384, 9, 1384, 4, 1385, 9, 1385, 4, 1386, 9, 1386, 4, 1387, 9, 1387, 4, 1388, 9, 1388, 4, 1389, 9, 1389, 4, 1390, 9, 1390, 4, 1391, 9, 1391, 4, 1392, 9, 1392, 4, 1393, 9, 1393, 4, 1394, 9, 1394, 4, 1395, 9, 1395, 4, 1396, 9, 1396, 4, 1397, 9, 1397, 4, 1398, 9, 1398, 4, 1399, 9, 1399, 4, 1400, 9, 1400, 4, 1401, 9, 1401, 4, 1402, 9, 1402, 4, 1403, 9, 1403, 4, 1404, 9, 1404, 4, 1405, 9, 1405, 4, 1406, 9, 1406, 4, 1407, 9, 1407, 4, 1408, 9, 1408, 4, 1409, 9, 1409, 4, 1410, 9, 1410, 4, 1411, 9, 1411, 4, 1412, 9, 1412, 4, 1413, 9, 1413, 4, 1414, 9, 1414, 4, 1415, 9, 1415, 4, 1416, 9, 1416, 4, 1417, 9, 1417, 4, 1418, 9, 1418, 4, 1419, 9, 1419, 4, 1420, 9, 1420, 4, 1421, 9, 1421, 4, 1422, 9, 1422, 4, 1423, 9, 1423, 4, 1424, 9, 1424, 4, 1425, 9, 1425, 4, 1426, 9, 1426, 4, 1427, 9, 1427, 4, 1428, 9, 1428, 4, 1429, 9, 1429, 4, 1430, 9, 1430, 4, 1431, 9, 1431, 4, 1432, 9, 1432, 4, 1433, 9, 1433, 4, 1434, 9, 1434, 4, 1435, 9, 1435, 4, 1436, 9, 1436, 4, 1437, 9, 1437, 4, 1438, 9, 1438, 4, 1439, 9, 1439, 4, 1440, 9, 1440, 4, 1441, 9, 1441, 4, 1442, 9, 1442, 4, 1443, 9, 1443, 4, 1444, 9, 1444, 4, 1445, 9, 1445, 4, 1446, 9, 1446, 4, 1447, 9, 1447, 4, 1448, 9, 1448, 4, 1449, 9, 1449, 4, 1450, 9, 1450, 4, 1451, 9, 1451, 4, 1452, 9, 1452, 4, 1453, 9, 1453, 4, 1454, 9, 1454, 4, 1455, 9, 1455, 4, 1456, 9, 1456, 4, 1457, 9, 1457, 4, 1458, 9, 1458, 4, 1459, 9, 1459, 4, 1460, 9, 1460, 4, 1461, 9, 1461, 4, 1462, 9, 1462, 4, 1463, 9, 1463, 4, 1464, 9, 1464, 4, 1465, 9, 1465, 4, 1466, 9, 1466, 4, 1467, 9, 1467, 4, 1468, 9, 1468, 4, 1469, 9, 1469, 4, 1470, 9, 1470, 4, 1471, 9, 1471, 4, 1472, 9, 1472, 4, 1473, 9, 1473, 4, 1474, 9, 1474, 4, 1475, 9, 1475, 4, 1476, 9, 1476, 4, 1477, 9, 1477, 4, 1478, 9, 1478, 4, 1479, 9, 1479, 4, 1480, 9, 1480, 4, 1481, 9, 1481, 4, 1482, 9, 1482, 4, 1483, 9, 1483, 4, 1484, 9, 1484, 4, 1485, 9, 1485, 4, 1486, 9, 1486, 4, 1487, 9, 1487, 4, 1488, 9, 1488, 4, 1489, 9, 1489, 4, 1490, 9, 1490, 4, 1491, 9, 1491, 4, 1492, 9, 1492, 4, 1493, 9, 1493, 4, 1494, 9, 1494, 4, 1495, 9, 1495, 4, 1496, 9, 1496, 4, 1497, 9, 1497, 4, 1498, 9, 1498, 4, 1499, 9, 1499, 4, 1500, 9, 1500, 4, 1501, 9, 1501, 4, 1502, 9, 1502, 4, 1503, 9, 1503, 4, 1504, 9, 1504, 4, 1505, 9, 1505, 4, 1506, 9, 1506, 4, 1507, 9, 1507, 4, 1508, 9, 1508, 4, 1509, 9, 1509, 4, 1510, 9, 1510, 4, 1511, 9, 1511, 4, 1512, 9, 1512, 4, 1513, 9, 1513, 4, 1514, 9, 1514, 4, 1515, 9, 1515, 4, 1516, 9, 1516, 4, 1517, 9, 1517, 4, 1518, 9, 1518, 4, 1519, 9, 1519, 4, 1520, 9, 1520, 4, 1521, 9, 1521, 4, 1522, 9, 1522, 4, 1523, 9, 1523, 4, 1524, 9, 1524, 4, 1525, 9, 1525, 4, 1526, 9, 1526, 4, 1527, 9, 1527, 4, 1528, 9, 1528, 4, 1529, 9, 1529, 4, 1530, 9, 1530, 4, 1531, 9, 1531, 4, 1532, 9, 1532, 4, 1533, 9, 1533, 4, 1534, 9, 1534, 4, 1535, 9, 1535, 4, 1536, 9, 1536, 4, 1537, 9, 1537, 4, 1538, 9, 1538, 4, 1539, 9, 1539, 4, 1540, 9, 1540, 4, 1541, 9, 1541, 4, 1542, 9, 1542, 4, 1543, 9, 1543, 4, 1544, 9, 1544, 4, 1545, 9, 1545, 4, 1546, 9, 1546, 4, 1547, 9, 1547, 4, 1548, 9, 1548, 4, 1549, 9, 1549, 4, 1550, 9, 1550, 4, 1551, 9, 1551, 4, 1552, 9, 1552, 4, 1553, 9, 1553, 4, 1554, 9, 1554, 4, 1555, 9, 1555, 4, 1556, 9, 1556, 4, 1557, 9, 1557, 4, 1558, 9, 1558, 4, 1559, 9, 1559, 4, 1560, 9, 1560, 4, 1561, 9, 1561, 4, 1562, 9, 1562, 4, 1563, 9, 1563, 4, 1564, 9, 1564, 4, 1565, 9, 1565, 4, 1566, 9, 1566, 4, 1567, 9, 1567, 4, 1568, 9, 1568, 4, 1569, 9, 1569, 4, 1570, 9, 1570, 4, 1571, 9, 1571, 4, 1572, 9, 1572, 4, 1573, 9, 1573, 4, 1574, 9, 1574, 4, 1575, 9, 1575, 4, 1576, 9, 1576, 4, 1577, 9, 1577, 4, 1578, 9, 1578, 4, 1579, 9, 1579, 4, 1580, 9, 1580, 4, 1581, 9, 1581, 4, 1582, 9, 1582, 4, 1583, 9, 1583, 4, 1584, 9, 1584, 4, 1585, 9, 1585, 4, 1586, 9, 1586, 4, 1587, 9, 1587, 4, 1588, 9, 1588, 4, 1589, 9, 1589, 4, 1590, 9, 1590, 4, 1591, 9, 1591, 4, 1592, 9, 1592, 4, 1593, 9, 1593, 4, 1594, 9, 1594, 4, 1595, 9, 1595, 4, 1596, 9, 1596, 4, 1597, 9, 1597, 4, 1598, 9, 1598, 4, 1599, 9, 1599, 4, 1600, 9, 1600, 4, 1601, 9, 1601, 4, 1602, 9, 1602, 4, 1603, 9, 1603, 4, 1604, 9, 1604, 4, 1605, 9, 1605, 4, 1606, 9, 1606, 4, 1607, 9, 1607, 4, 1608, 9, 1608, 4, 1609, 9, 1609, 4, 1610, 9, 1610, 4, 1611, 9, 1611, 4, 1612, 9, 1612, 4, 1613, 9, 1613, 4, 1614, 9, 1614, 4, 1615, 9, 1615, 4, 1616, 9, 1616, 4, 1617, 9, 1617, 4, 1618, 9, 1618, 4, 1619, 9, 1619, 4, 1620, 9, 1620, 4, 1621, 9, 1621, 4, 1622, 9, 1622, 4, 1623, 9, 1623, 4, 1624, 9, 1624, 4, 1625, 9, 1625, 4, 1626, 9, 1626, 4, 1627, 9, 1627, 4, 1628, 9, 1628, 4, 1629, 9, 1629, 4, 1630, 9, 1630, 4, 1631, 9, 1631, 4, 1632, 9, 1632, 4, 1633, 9, 1633, 4, 1634, 9, 1634, 4, 1635, 9, 1635, 4, 1636, 9, 1636, 4, 1637, 9, 1637, 4, 1638, 9, 1638, 4, 1639, 9, 1639, 4, 1640, 9, 1640, 4, 1641, 9, 1641, 4, 1642, 9, 1642, 4, 1643, 9, 1643, 4, 1644, 9, 1644, 4, 1645, 9, 1645, 4, 1646, 9, 1646, 4, 1647, 9, 1647, 4, 1648, 9, 1648, 4, 1649, 9, 1649, 4, 1650, 9, 1650, 4, 1651, 9, 1651, 4, 1652, 9, 1652, 4, 1653, 9, 1653, 4, 1654, 9, 1654, 4, 1655, 9, 1655, 4, 1656, 9, 1656, 4, 1657, 9, 1657, 4, 1658, 9, 1658, 4, 1659, 9, 1659, 4, 1660, 9, 1660, 4, 1661, 9, 1661, 4, 1662, 9, 1662, 4, 1663, 9, 1663, 4, 1664, 9, 1664, 4, 1665, 9, 1665, 4, 1666, 9, 1666, 4, 1667, 9, 1667, 4, 1668, 9, 1668, 4, 1669, 9, 1669, 4, 1670, 9, 1670, 4, 1671, 9, 1671, 4, 1672, 9, 1672, 4, 1673, 9, 1673, 4, 1674, 9, 1674, 4, 1675, 9, 1675, 4, 1676, 9, 1676, 4, 1677, 9, 1677, 4, 1678, 9, 1678, 4, 1679, 9, 1679, 4, 1680, 9, 1680, 4, 1681, 9, 1681, 4, 1682, 9, 1682, 4, 1683, 9, 1683, 4, 1684, 9, 1684, 4, 1685, 9, 1685, 4, 1686, 9, 1686, 4, 1687, 9, 1687, 4, 1688, 9, 1688, 4, 1689, 9, 1689, 4, 1690, 9, 1690, 4, 1691, 9, 1691, 4, 1692, 9, 1692, 4, 1693, 9, 1693, 4, 1694, 9, 1694, 4, 1695, 9, 1695, 4, 1696, 9, 1696, 4, 1697, 9, 1697, 4, 1698, 9, 1698, 4, 1699, 9, 1699, 4, 1700, 9, 1700, 4, 1701, 9, 1701, 4, 1702, 9, 1702, 4, 1703, 9, 1703, 4, 1704, 9, 1704, 4, 1705, 9, 1705, 4, 1706, 9, 1706, 4, 1707, 9, 1707, 4, 1708, 9, 1708, 4, 1709, 9, 1709, 4, 1710, 9, 1710, 4, 1711, 9, 1711, 4, 1712, 9, 1712, 4, 1713, 9, 1713, 4, 1714, 9, 1714, 4, 1715, 9, 1715, 4, 1716, 9, 1716, 4, 1717, 9, 1717, 4, 1718, 9, 1718, 4, 1719, 9, 1719, 4, 1720, 9, 1720, 4, 1721, 9, 1721, 4, 1722, 9, 1722, 4, 1723, 9, 1723, 4, 1724, 9, 1724, 4, 1725, 9, 1725, 4, 1726, 9, 1726, 4, 1727, 9, 1727, 4, 1728, 9, 1728, 4, 1729, 9, 1729, 4, 1730, 9, 1730, 4, 1731, 9, 1731, 4, 1732, 9, 1732, 4, 1733, 9, 1733, 4, 1734, 9, 1734, 4, 1735, 9, 1735, 4, 1736, 9, 1736, 4, 1737, 9, 1737, 4, 1738, 9, 1738, 4, 1739, 9, 1739, 4, 1740, 9, 1740, 4, 1741, 9, 1741, 4, 1742, 9, 1742, 4, 1743, 9, 1743, 4, 1744, 9, 1744, 4, 1745, 9, 1745, 4, 1746, 9, 1746, 4, 1747, 9, 1747, 4, 1748, 9, 1748, 4, 1749, 9, 1749, 4, 1750, 9, 1750, 4, 1751, 9, 1751, 4, 1752, 9, 1752, 4, 1753, 9, 1753, 4, 1754, 9, 1754, 4, 1755, 9, 1755, 4, 1756, 9, 1756, 4, 1757, 9, 1757, 4, 1758, 9, 1758, 4, 1759, 9, 1759, 4, 1760, 9, 1760, 4, 1761, 9, 1761, 4, 1762, 9, 1762, 4, 1763, 9, 1763, 4, 1764, 9, 1764, 4, 1765, 9, 1765, 4, 1766, 9, 1766, 4, 1767, 9, 1767, 4, 1768, 9, 1768, 4, 1769, 9, 1769, 4, 1770, 9, 1770, 4, 1771, 9, 1771, 4, 1772, 9, 1772, 4, 1773, 9, 1773, 4, 1774, 9, 1774, 4, 1775, 9, 1775, 4, 1776, 9, 1776, 4, 1777, 9, 1777, 4, 1778, 9, 1778, 4, 1779, 9, 1779, 4, 1780, 9, 1780, 4, 1781, 9, 1781, 4, 1782, 9, 1782, 4, 1783, 9, 1783, 4, 1784, 9, 1784, 4, 1785, 9, 1785, 4, 1786, 9, 1786, 4, 1787, 9, 1787, 4, 1788, 9, 1788, 4, 1789, 9, 1789, 4, 1790, 9, 1790, 4, 1791, 9, 1791, 4, 1792, 9, 1792, 4, 1793, 9, 1793, 4, 1794, 9, 1794, 4, 1795, 9, 1795, 4, 1796, 9, 1796, 4, 1797, 9, 1797, 4, 1798, 9, 1798, 4, 1799, 9, 1799, 4, 1800, 9, 1800, 4, 1801, 9, 1801, 4, 1802, 9, 1802, 4, 1803, 9, 1803, 4, 1804, 9, 1804, 4, 1805, 9, 1805, 4, 1806, 9, 1806, 4, 1807, 9, 1807, 4, 1808, 9, 1808, 4, 1809, 9, 1809, 4, 1810, 9, 1810, 4, 1811, 9, 1811, 4, 1812, 9, 1812, 4, 1813, 9, 1813, 4, 1814, 9, 1814, 4, 1815, 9, 1815, 4, 1816, 9, 1816, 4, 1817, 9, 1817, 4, 1818, 9, 1818, 4, 1819, 9, 1819, 4, 1820, 9, 1820, 4, 1821, 9, 1821, 4, 1822, 9, 1822, 4, 1823, 9, 1823, 4, 1824, 9, 1824, 4, 1825, 9, 1825, 4, 1826, 9, 1826, 4, 1827, 9, 1827, 4, 1828, 9, 1828, 4, 1829, 9, 1829, 4, 1830, 9, 1830, 4, 1831, 9, 1831, 4, 1832, 9, 1832, 4, 1833, 9, 1833, 4, 1834, 9, 1834, 4, 1835, 9, 1835, 4, 1836, 9, 1836, 4, 1837, 9, 1837, 4, 1838, 9, 1838, 4, 1839, 9, 1839, 4, 1840, 9, 1840, 4, 1841, 9, 1841, 4, 1842, 9, 1842, 4, 1843, 9, 1843, 4, 1844, 9, 1844, 4, 1845, 9, 1845, 4, 1846, 9, 1846, 4, 1847, 9, 1847, 4, 1848, 9, 1848, 4, 1849, 9, 1849, 4, 1850, 9, 1850, 4, 1851, 9, 1851, 4, 1852, 9, 1852, 4, 1853, 9, 1853, 4, 1854, 9, 1854, 4, 1855, 9, 1855, 4, 1856, 9, 1856, 4, 1857, 9, 1857, 4, 1858, 9, 1858, 4, 1859, 9, 1859, 4, 1860, 9, 1860, 4, 1861, 9, 1861, 4, 1862, 9, 1862, 4, 1863, 9, 1863, 4, 1864, 9, 1864, 4, 1865, 9, 1865, 4, 1866, 9, 1866, 4, 1867, 9, 1867, 4, 1868, 9, 1868, 4, 1869, 9, 1869, 4, 1870, 9, 1870, 4, 1871, 9, 1871, 4, 1872, 9, 1872, 4, 1873, 9, 1873, 4, 1874, 9, 1874, 4, 1875, 9, 1875, 4, 1876, 9, 1876, 4, 1877, 9, 1877, 4, 1878, 9, 1878, 4, 1879, 9, 1879, 4, 1880, 9, 1880, 4, 1881, 9, 1881, 4, 1882, 9, 1882, 4, 1883, 9, 1883, 4, 1884, 9, 1884, 4, 1885, 9, 1885, 4, 1886, 9, 1886, 4, 1887, 9, 1887, 4, 1888, 9, 1888, 4, 1889, 9, 1889, 4, 1890, 9, 1890, 4, 1891, 9, 1891, 4, 1892, 9, 1892, 4, 1893, 9, 1893, 4, 1894, 9, 1894, 4, 1895, 9, 1895, 4, 1896, 9, 1896, 4, 1897, 9, 1897, 4, 1898, 9, 1898, 4, 1899, 9, 1899, 4, 1900, 9, 1900, 4, 1901, 9, 1901, 4, 1902, 9, 1902, 4, 1903, 9, 1903, 4, 1904, 9, 1904, 4, 1905, 9, 1905, 4, 1906, 9, 1906, 4, 1907, 9, 1907, 4, 1908, 9, 1908, 4, 1909, 9, 1909, 4, 1910, 9, 1910, 4, 1911, 9, 1911, 4, 1912, 9, 1912, 4, 1913, 9, 1913, 4, 1914, 9, 1914, 4, 1915, 9, 1915, 4, 1916, 9, 1916, 4, 1917, 9, 1917, 4, 1918, 9, 1918, 4, 1919, 9, 1919, 4, 1920, 9, 1920, 4, 1921, 9, 1921, 4, 1922, 9, 1922, 4, 1923, 9, 1923, 4, 1924, 9, 1924, 4, 1925, 9, 1925, 4, 1926, 9, 1926, 4, 1927, 9, 1927, 4, 1928, 9, 1928, 4, 1929, 9, 1929, 4, 1930, 9, 1930, 4, 1931, 9, 1931, 4, 1932, 9, 1932, 4, 1933, 9, 1933, 4, 1934, 9, 1934, 4, 1935, 9, 1935, 4, 1936, 9, 1936, 4, 1937, 9, 1937, 4, 1938, 9, 1938, 4, 1939, 9, 1939, 4, 1940, 9, 1940, 4, 1941, 9, 1941, 4, 1942, 9, 1942, 4, 1943, 9, 1943, 4, 1944, 9, 1944, 4, 1945, 9, 1945, 4, 1946, 9, 1946, 4, 1947, 9, 1947, 4, 1948, 9, 1948, 4, 1949, 9, 1949, 4, 1950, 9, 1950, 4, 1951, 9, 1951, 4, 1952, 9, 1952, 4, 1953, 9, 1953, 4, 1954, 9, 1954, 4, 1955, 9, 1955, 4, 1956, 9, 1956, 4, 1957, 9, 1957, 4, 1958, 9, 1958, 4, 1959, 9, 1959, 4, 1960, 9, 1960, 4, 1961, 9, 1961, 4, 1962, 9, 1962, 4, 1963, 9, 1963, 4, 1964, 9, 1964, 4, 1965, 9, 1965, 4, 1966, 9, 1966, 4, 1967, 9, 1967, 4, 1968, 9, 1968, 4, 1969, 9, 1969, 4, 1970, 9, 1970, 4, 1971, 9, 1971, 4, 1972, 9, 1972, 4, 1973, 9, 1973, 4, 1974, 9, 1974, 4, 1975, 9, 1975, 4, 1976, 9, 1976, 4, 1977, 9, 1977, 4, 1978, 9, 1978, 4, 1979, 9, 1979, 4, 1980, 9, 1980, 4, 1981, 9, 1981, 4, 1982, 9, 1982, 4, 1983, 9, 1983, 4, 1984, 9, 1984, 4, 1985, 9, 1985, 4, 1986, 9, 1986, 4, 1987, 9, 1987, 4, 1988, 9, 1988, 4, 1989, 9, 1989, 4, 1990, 9, 1990, 4, 1991, 9, 1991, 4, 1992, 9, 1992, 4, 1993, 9, 1993, 4, 1994, 9, 1994, 4, 1995, 9, 1995, 4, 1996, 9, 1996, 4, 1997, 9, 1997, 4, 1998, 9, 1998, 4, 1999, 9, 1999, 4, 2000, 9, 2000, 4, 2001, 9, 2001, 4, 2002, 9, 2002, 4, 2003, 9, 2003, 4, 2004, 9, 2004, 4, 2005, 9, 2005, 4, 2006, 9, 2006, 4, 2007, 9, 2007, 4, 2008, 9, 2008, 4, 2009, 9, 2009, 4, 2010, 9, 2010, 4, 2011, 9, 2011, 4, 2012, 9, 2012, 4, 2013, 9, 2013, 4, 2014, 9, 2014, 4, 2015, 9, 2015, 4, 2016, 9, 2016, 4, 2017, 9, 2017, 4, 2018, 9, 2018, 4, 2019, 9, 2019, 4, 2020, 9, 2020, 4, 2021, 9, 2021, 4, 2022, 9, 2022, 4, 2023, 9, 2023, 4, 2024, 9, 2024, 4, 2025, 9, 2025, 4, 2026, 9, 2026, 4, 2027, 9, 2027, 4, 2028, 9, 2028, 4, 2029, 9, 2029, 4, 2030, 9, 2030, 4, 2031, 9, 2031, 4, 2032, 9, 2032, 4, 2033, 9, 2033, 4, 2034, 9, 2034, 4, 2035, 9, 2035, 4, 2036, 9, 2036, 4, 2037, 9, 2037, 4, 2038, 9, 2038, 4, 2039, 9, 2039, 4, 2040, 9, 2040, 4, 2041, 9, 2041, 4, 2042, 9, 2042, 4, 2043, 9, 2043, 4, 2044, 9, 2044, 4, 2045, 9, 2045, 4, 2046, 9, 2046, 4, 2047, 9, 2047, 4, 2048, 9, 2048, 4, 2049, 9, 2049, 4, 2050, 9, 2050, 4, 2051, 9, 2051, 4, 2052, 9, 2052, 4, 2053, 9, 2053, 4, 2054, 9, 2054, 4, 2055, 9, 2055, 4, 2056, 9, 2056, 4, 2057, 9, 2057, 4, 2058, 9, 2058, 4, 2059, 9, 2059, 4, 2060, 9, 2060, 4, 2061, 9, 2061, 4, 2062, 9, 2062, 4, 2063, 9, 2063, 4, 2064, 9, 2064, 4, 2065, 9, 2065, 4, 2066, 9, 2066, 4, 2067, 9, 2067, 4, 2068, 9, 2068, 4, 2069, 9, 2069, 4, 2070, 9, 2070, 4, 2071, 9, 2071, 4, 2072, 9, 2072, 4, 2073, 9, 2073, 4, 2074, 9, 2074, 4, 2075, 9, 2075, 4, 2076, 9, 2076, 4, 2077, 9, 2077, 4, 2078, 9, 2078, 4, 2079, 9, 2079, 4, 2080, 9, 2080, 4, 2081, 9, 2081, 4, 2082, 9, 2082, 4, 2083, 9, 2083, 4, 2084, 9, 2084, 4, 2085, 9, 2085, 4, 2086, 9, 2086, 4, 2087, 9, 2087, 4, 2088, 9, 2088, 4, 2089, 9, 2089, 4, 2090, 9, 2090, 4, 2091, 9, 2091, 4, 2092, 9, 2092, 4, 2093, 9, 2093, 4, 2094, 9, 2094, 4, 2095, 9, 2095, 4, 2096, 9, 2096, 4, 2097, 9, 2097, 4, 2098, 9, 2098, 4, 2099, 9, 2099, 4, 2100, 9, 2100, 4, 2101, 9, 2101, 4, 2102, 9, 2102, 4, 2103, 9, 2103, 4, 2104, 9, 2104, 4, 2105, 9, 2105, 4, 2106, 9, 2106, 4, 2107, 9, 2107, 4, 2108, 9, 2108, 4, 2109, 9, 2109, 4, 2110, 9, 2110, 4, 2111, 9, 2111, 4, 2112, 9, 2112, 4, 2113, 9, 2113, 4, 2114, 9, 2114, 4, 2115, 9, 2115, 4, 2116, 9, 2116, 4, 2117, 9, 2117, 4, 2118, 9, 2118, 4, 2119, 9, 2119, 4, 2120, 9, 2120, 4, 2121, 9, 2121, 4, 2122, 9, 2122, 4, 2123, 9, 2123, 4, 2124, 9, 2124, 4, 2125, 9, 2125, 4, 2126, 9, 2126, 4, 2127, 9, 2127, 4, 2128, 9, 2128, 4, 2129, 9, 2129, 4, 2130, 9, 2130, 4, 2131, 9, 2131, 4, 2132, 9, 2132, 4, 2133, 9, 2133, 4, 2134, 9, 2134, 4, 2135, 9, 2135, 4, 2136, 9, 2136, 4, 2137, 9, 2137, 4, 2138, 9, 2138, 4, 2139, 9, 2139, 4, 2140, 9, 2140, 4, 2141, 9, 2141, 4, 2142, 9, 2142, 4, 2143, 9, 2143, 4, 2144, 9, 2144, 4, 2145, 9, 2145, 4, 2146, 9, 2146, 4, 2147, 9, 2147, 4, 2148, 9, 2148, 4, 2149, 9, 2149, 4, 2150, 9, 2150, 4, 2151, 9, 2151, 4, 2152, 9, 2152, 4, 2153, 9, 2153, 4, 2154, 9, 2154, 4, 2155, 9, 2155, 4, 2156, 9, 2156, 4, 2157, 9, 2157, 4, 2158, 9, 2158, 4, 2159, 9, 2159, 4, 2160, 9, 2160, 4, 2161, 9, 2161, 4, 2162, 9, 2162, 4, 2163, 9, 2163, 4, 2164, 9, 2164, 4, 2165, 9, 2165, 4, 2166, 9, 2166, 4, 2167, 9, 2167, 4, 2168, 9, 2168, 4, 2169, 9, 2169, 4, 2170, 9, 2170, 4, 2171, 9, 2171, 4, 2172, 9, 2172, 4, 2173, 9, 2173, 4, 2174, 9, 2174, 4, 2175, 9, 2175, 4, 2176, 9, 2176, 4, 2177, 9, 2177, 4, 2178, 9, 2178, 4, 2179, 9, 2179, 4, 2180, 9, 2180, 4, 2181, 9, 2181, 4, 2182, 9, 2182, 4, 2183, 9, 2183, 4, 2184, 9, 2184, 4, 2185, 9, 2185, 4, 2186, 9, 2186, 4, 2187, 9, 2187, 4, 2188, 9, 2188, 4, 2189, 9, 2189, 4, 2190, 9, 2190, 4, 2191, 9, 2191, 4, 2192, 9, 2192, 4, 2193, 9, 2193, 4, 2194, 9, 2194, 4, 2195, 9, 2195, 4, 2196, 9, 2196, 4, 2197, 9, 2197, 4, 2198, 9, 2198, 4, 2199, 9, 2199, 4, 2200, 9, 2200, 4, 2201, 9, 2201, 4, 2202, 9, 2202, 4, 2203, 9, 2203, 4, 2204, 9, 2204, 4, 2205, 9, 2205, 4, 2206, 9, 2206, 4, 2207, 9, 2207, 4, 2208, 9, 2208, 4, 2209, 9, 2209, 4, 2210, 9, 2210, 4, 2211, 9, 2211, 4, 2212, 9, 2212, 4, 2213, 9, 2213, 4, 2214, 9, 2214, 4, 2215, 9, 2215, 4, 2216, 9, 2216, 4, 2217, 9, 2217, 4, 2218, 9, 2218, 4, 2219, 9, 2219, 4, 2220, 9, 2220, 4, 2221, 9, 2221, 4, 2222, 9, 2222, 4, 2223, 9, 2223, 4, 2224, 9, 2224, 4, 2225, 9, 2225, 4, 2226, 9, 2226, 4, 2227, 9, 2227, 4, 2228, 9, 2228, 4, 2229, 9, 2229, 4, 2230, 9, 2230, 4, 2231, 9, 2231, 4, 2232, 9, 2232, 4, 2233, 9, 2233, 4, 2234, 9, 2234, 4, 2235, 9, 2235, 4, 2236, 9, 2236, 4, 2237, 9, 2237, 4, 2238, 9, 2238, 4, 2239, 9, 2239, 4, 2240, 9, 2240, 4, 2241, 9, 2241, 4, 2242, 9, 2242, 4, 2243, 9, 2243, 4, 2244, 9, 2244, 4, 2245, 9, 2245, 4, 2246, 9, 2246, 4, 2247, 9, 2247, 4, 2248, 9, 2248, 4, 2249, 9, 2249, 4, 2250, 9, 2250, 4, 2251, 9, 2251, 4, 2252, 9, 2252, 4, 2253, 9, 2253, 4, 2254, 9, 2254, 4, 2255, 9, 2255, 4, 2256, 9, 2256, 4, 2257, 9, 2257, 4, 2258, 9, 2258, 4, 2259, 9, 2259, 4, 2260, 9, 2260, 4, 2261, 9, 2261, 4, 2262, 9, 2262, 4, 2263, 9, 2263, 4, 2264, 9, 2264, 4, 2265, 9, 2265, 4, 2266, 9, 2266, 4, 2267, 9, 2267, 4, 2268, 9, 2268, 4, 2269, 9, 2269, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 147, 3, 147, 3, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 185, 3, 185, 3, 185, 3, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 207, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 278, 3, 278, 3, 278, 3, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 295, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 296, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 297, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 301, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 304, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 305, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 309, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 310, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 312, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 314, 3, 314, 3, 314, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 320, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 321, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 326, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 327, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 330, 3, 330, 3, 330, 3, 330, 3, 331, 3, 331, 3, 331, 3, 331, 3, 331, 3, 332, 3, 332, 3, 332, 3, 332, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 334, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 335, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 336, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 338, 3, 339, 3, 339, 3, 339, 3, 339, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 343, 3, 343, 3, 343, 3, 343, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 344, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 350, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 351, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 352, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 355, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 359, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 361, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 363, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 370, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 371, 3, 372, 3, 372, 3, 372, 3, 372, 3, 372, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 373, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 374, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 375, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 376, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 380, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 381, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 383, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 387, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 388, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 389, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 390, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 391, 3, 392, 3, 392, 3, 392, 3, 392, 3, 392, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 393, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 394, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 396, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 398, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 399, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 400, 3, 401, 3, 401, 3, 401, 3, 401, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 403, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 405, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 407, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 409, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 410, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 411, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 416, 3, 416, 3, 416, 3, 416, 3, 416, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 417, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 419, 3, 419, 3, 419, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 420, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 421, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 422, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 424, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 425, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 426, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 427, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 429, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 431, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 433, 3, 433, 3, 433, 3, 433, 3, 433, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 434, 3, 435, 3, 435, 3, 435, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 436, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 438, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 439, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 440, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 442, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 443, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 445, 3, 446, 3, 446, 3, 446, 3, 446, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 447, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 449, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 451, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 452, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 453, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 454, 3, 455, 3, 455, 3, 455, 3, 455, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 456, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 457, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 460, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 461, 3, 462, 3, 462, 3, 462, 3, 462, 3, 462, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 464, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 467, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 468, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 471, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 472, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 474, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 475, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 477, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 480, 3, 481, 3, 481, 3, 481, 3, 481, 3, 481, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 482, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 483, 3, 484, 3, 484, 3, 484, 3, 484, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 487, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 493, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 494, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 495, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 496, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 497, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 498, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 499, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 501, 3, 501, 3, 501, 3, 501, 3, 501, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 502, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 503, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 504, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 505, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 507, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 509, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 510, 3, 511, 3, 511, 3, 511, 3, 511, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 518, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 519, 3, 520, 3, 520, 3, 520, 3, 520, 3, 520, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 522, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 524, 3, 525, 3, 525, 3, 525, 3, 525, 3, 525, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 528, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 530, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 531, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 532, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 533, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 535, 3, 536, 3, 536, 3, 536, 3, 536, 3, 536, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 537, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 539, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 540, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 541, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 542, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 3, 547, 3, 547, 3, 547, 3, 547, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 549, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 550, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 554, 3, 555, 3, 555, 3, 555, 3, 555, 3, 555, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 557, 3, 557, 3, 557, 3, 557, 3, 557, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 560, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 561, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 562, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 564, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 566, 3, 566, 3, 566, 3, 566, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 568, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 569, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 570, 3, 571, 3, 571, 3, 571, 3, 571, 3, 571, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 572, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 573, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 574, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 577, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 578, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 579, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 580, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 581, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 582, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 584, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 587, 3, 588, 3, 588, 3, 588, 3, 588, 3, 588, 3, 589, 3, 589, 3, 589, 3, 589, 3, 589, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 590, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 591, 3, 592, 3, 592, 3, 592, 3, 592, 3, 592, 3, 592, 3, 592, 3, 593, 3, 593, 3, 593, 3, 593, 3, 593, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 594, 3, 595, 3, 595, 3, 595, 3, 595, 3, 595, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 596, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 598, 3, 598, 3, 598, 3, 598, 3, 599, 3, 599, 3, 599, 3, 599, 3, 599, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 600, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 604, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 605, 3, 606, 3, 606, 3, 606, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 608, 3, 608, 3, 608, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 609, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 610, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 611, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 612, 3, 613, 3, 613, 3, 613, 3, 613, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 615, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 617, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 618, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 619, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 622, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 624, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 629, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 633, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 637, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 638, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 640, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 642, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 646, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 647, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 648, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 651, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 652, 3, 653, 3, 653, 3, 653, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 654, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 656, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 659, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 660, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 662, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 663, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 664, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 667, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 669, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 670, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 671, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 672, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 677, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 678, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 679, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 681, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 682, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 683, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 684, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 685, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 686, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 687, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 688, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 689, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 690, 3, 691, 3, 691, 3, 691, 3, 691, 3, 692, 3, 692, 3, 692, 3, 692, 3, 692, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 693, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 694, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 695, 3, 696, 3, 696, 3, 696, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 697, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 698, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 699, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 700, 3, 701, 3, 701, 3, 701, 3, 701, 3, 701, 3, 702, 3, 702, 3, 702, 3, 702, 3, 703, 3, 703, 3, 703, 3, 703, 3, 703, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 704, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 705, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 706, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 707, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 708, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 709, 3, 710, 3, 710, 3, 710, 3, 710, 3, 710, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 711, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 712, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 713, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 714, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 715, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 717, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 718, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 719, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 720, 3, 721, 3, 721, 3, 721, 3, 721, 3, 721, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 723, 3, 723, 3, 723, 3, 723, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 724, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 726, 3, 726, 3, 726, 3, 726, 3, 726, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 727, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 729, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 730, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 731, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 733, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 735, 3, 735, 3, 735, 3, 735, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 736, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 737, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 738, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 742, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 743, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 744, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 745, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 746, 3, 747, 3, 747, 3, 747, 3, 747, 3, 747, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 749, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 750, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 751, 3, 752, 3, 752, 3, 752, 3, 752, 3, 752, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 753, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 754, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 755, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 756, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 757, 3, 758, 3, 758, 3, 758, 3, 758, 3, 758, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 759, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 760, 3, 761, 3, 761, 3, 761, 3, 761, 3, 761, 3, 762, 3, 762, 3, 762, 3, 762, 3, 762, 3, 763, 3, 763, 3, 763, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 764, 3, 765, 3, 765, 3, 765, 3, 765, 3, 765, 3, 766, 3, 766, 3, 766, 3, 766, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 767, 3, 768, 3, 768, 3, 768, 3, 768, 3, 768, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 769, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 770, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 771, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 772, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 773, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 774, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 775, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 776, 3, 777, 3, 777, 3, 777, 3, 777, 3, 777, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 778, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 779, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 780, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 781, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 782, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 783, 3, 784, 3, 784, 3, 784, 3, 784, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 785, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 786, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 787, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 788, 3, 789, 3, 789, 3, 789, 3, 789, 3, 789, 3, 790, 3, 790, 3, 790, 3, 790, 3, 790, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 791, 3, 792, 3, 792, 3, 792, 3, 792, 3, 793, 3, 793, 3, 793, 3, 793, 3, 793, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 794, 3, 795, 3, 795, 3, 795, 3, 795, 3, 795, 3, 796, 3, 796, 3, 796, 3, 796, 3, 796, 3, 796, 3, 796, 3, 796, 3, 796, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 797, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 798, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 799, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 800, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 801, 3, 802, 3, 802, 3, 802, 3, 802, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 803, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 804, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 805, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 806, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 807, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 808, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 809, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 810, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 811, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 812, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 813, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 814, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 815, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 816, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 817, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 818, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 819, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 820, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 821, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 822, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 823, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 824, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 825, 3, 826, 3, 826, 3, 826, 3, 826, 3, 826, 3, 826, 3, 826, 3, 827, 3, 827, 3, 827, 3, 827, 3, 827, 3, 827, 3, 827, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 828, 3, 829, 3, 829, 3, 829, 3, 829, 3, 829, 3, 829, 3, 829, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 830, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 831, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 832, 3, 833, 3, 833, 3, 833, 3, 833, 3, 833, 3, 833, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 834, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 835, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 836, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 837, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 838, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 839, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 840, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 841, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 842, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 843, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 844, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 845, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 846, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 847, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 848, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 849, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 850, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 851, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 852, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 853, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 854, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 855, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 856, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 857, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 858, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 859, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 860, 3, 861, 3, 861, 3, 861, 3, 861, 3, 861, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 862, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 863, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 864, 3, 865, 3, 865, 3, 865, 3, 865, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 866, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 867, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 868, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 869, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 870, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 871, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 872, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 873, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 874, 3, 875, 3, 875, 3, 875, 3, 875, 3, 875, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 876, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 877, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 878, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 879, 3, 880, 3, 880, 3, 880, 3, 880, 3, 880, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 881, 3, 882, 3, 882, 3, 882, 3, 882, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 883, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 884, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 885, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 886, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 887, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 888, 3, 889, 3, 889, 3, 889, 3, 889, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 890, 3, 891, 3, 891, 3, 891, 3, 891, 3, 891, 3, 891, 3, 892, 3, 892, 3, 892, 3, 892, 3, 892, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 893, 3, 894, 3, 894, 3, 894, 3, 894, 3, 894, 3, 894, 3, 894, 3, 895, 3, 895, 3, 895, 3, 895, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 896, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 897, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 898, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 899, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 900, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 901, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 902, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 903, 3, 904, 3, 904, 3, 904, 3, 904, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 905, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 906, 3, 907, 3, 907, 3, 907, 3, 907, 3, 907, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 908, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 909, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 910, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 911, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 912, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 913, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 914, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 915, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 916, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 917, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 918, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 919, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 920, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 921, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 922, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 923, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 924, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 925, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 926, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 927, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 928, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 929, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 930, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 931, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 932, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 933, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 934, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 935, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 936, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 937, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 938, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 939, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 940, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 941, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 942, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 943, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 944, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 945, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 946, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 947, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 948, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 949, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 950, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 951, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 952, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 953, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 954, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 955, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 956, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 957, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 958, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 959, 3, 960, 3, 960, 3, 960, 3, 960, 3, 960, 3, 960, 3, 960, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 961, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 962, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 963, 3, 964, 3, 964, 3, 964, 3, 964, 3, 964, 3, 964, 3, 964, 3, 964, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 965, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 966, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 967, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 968, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 969, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 970, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 971, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 972, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 973, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 974, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 975, 3, 976, 3, 976, 3, 976, 3, 976, 3, 976, 3, 976, 3, 976, 3, 976, 3, 976, 3, 976, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 977, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 978, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 979, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 980, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 981, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 982, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 983, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 984, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 985, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 986, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 987, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 988, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 989, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 990, 3, 991, 3, 991, 3, 991, 3, 991, 3, 991, 3, 991, 3, 991, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 992, 3, 993, 3, 993, 3, 993, 3, 993, 3, 993, 3, 993, 3, 993, 3, 993, 3, 994, 3, 994, 3, 994, 3, 994, 3, 994, 3, 994, 3, 994, 3, 994, 3, 994, 3, 994, 3, 995, 3, 995, 3, 995, 3, 995, 3, 995, 3, 995, 3, 995, 3, 995, 3, 995, 3, 995, 3, 996, 3, 996, 3, 996, 3, 996, 3, 996, 3, 996, 3, 996, 3, 996, 3, 996, 3, 996, 3, 996, 3, 997, 3, 997, 3, 997, 3, 997, 3, 997, 3, 997, 3, 997, 3, 997, 3, 997, 3, 998, 3, 998, 3, 998, 3, 998, 3, 998, 3, 998, 3, 998, 3, 998, 3, 998, 3, 998, 3, 998, 3, 999, 3, 999, 3, 999, 3, 999, 3, 999, 3, 999, 3, 999, 3, 999, 3, 999, 3, 999, 3, 999, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1000, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1001, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1002, 3, 1003, 3, 1003, 3, 1003, 3, 1003, 3, 1003, 3, 1003, 3, 1003, 3, 1003, 3, 1003, 3, 1003, 3, 1003, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1004, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1005, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1006, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1007, 3, 1008, 3, 1008, 3, 1008, 3, 1008, 3, 1008, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1009, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1010, 3, 1011, 3, 1011, 3, 1011, 3, 1012, 3, 1012, 3, 1012, 3, 1012, 3, 1012, 3, 1012, 3, 1012, 3, 1012, 3, 1012, 3, 1012, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1013, 3, 1014, 3, 1014, 3, 1014, 3, 1014, 3, 1014, 3, 1014, 3, 1014, 3, 1014, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1015, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1016, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1017, 3, 1018, 3, 1018, 3, 1018, 3, 1018, 3, 1018, 3, 1018, 3, 1018, 3, 1018, 3, 1018, 3, 1018, 3, 1018, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1019, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1020, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1021, 3, 1022, 3, 1022, 3, 1022, 3, 1022, 3, 1022, 3, 1022, 3, 1022, 3, 1022, 3, 1022, 3, 1022, 3, 1022, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1023, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1024, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1025, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1026, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1027, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1028, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1029, 3, 1030, 3, 1030, 3, 1030, 3, 1030, 3, 1030, 3, 1030, 3, 1030, 3, 1030, 3, 1030, 3, 1030, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1031, 3, 1032, 3, 1032, 3, 1032, 3, 1032, 3, 1032, 3, 1032, 3, 1032, 3, 1032, 3, 1032, 3, 1032, 3, 1032, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1033, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1034, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1035, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1036, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1037, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1038, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1039, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1040, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1041, 3, 1042, 3, 1042, 3, 1042, 3, 1042, 3, 1042, 3, 1042, 3, 1042, 3, 1042, 3, 1042, 3, 1042, 3, 1042, 3, 1043, 3, 1043, 3, 1043, 3, 1043, 3, 1043, 3, 1043, 3, 1043, 3, 1044, 3, 1044, 3, 1044, 3, 1044, 3, 1044, 3, 1044, 3, 1044, 3, 1044, 3, 1044, 3, 1045, 3, 1045, 3, 1045, 3, 1045, 3, 1045, 3, 1045, 3, 1045, 3, 1045, 3, 1045, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1046, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1047, 3, 1048, 3, 1048, 3, 1048, 3, 1048, 3, 1048, 3, 1048, 3, 1048, 3, 1048, 3, 1048, 3, 1048, 3, 1049, 3, 1049, 3, 1049, 3, 1049, 3, 1049, 3, 1049, 3, 1049, 3, 1049, 3, 1049, 3, 1049, 3, 1049, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1050, 3, 1051, 3, 1051, 3, 1051, 3, 1051, 3, 1051, 3, 1051, 3, 1051, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1052, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1053, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1054, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1055, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1056, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1057, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1058, 3, 1059, 3, 1059, 3, 1059, 3, 1059, 3, 1059, 3, 1059, 3, 1059, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1060, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1061, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1062, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1063, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1064, 3, 1065, 3, 1065, 3, 1065, 3, 1065, 3, 1065, 3, 1065, 3, 1065, 3, 1065, 3, 1065, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1066, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1067, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1068, 3, 1069, 3, 1069, 3, 1069, 3, 1069, 3, 1069, 3, 1069, 3, 1069, 3, 1069, 3, 1069, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1070, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1071, 3, 1072, 3, 1072, 3, 1072, 3, 1072, 3, 1072, 3, 1072, 3, 1072, 3, 1072, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1073, 3, 1074, 3, 1074, 3, 1074, 3, 1074, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1075, 3, 1076, 3, 1076, 3, 1076, 3, 1076, 3, 1076, 3, 1076, 3, 1076, 3, 1076, 3, 1076, 3, 1076, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1077, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1078, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1079, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1080, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1081, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1082, 3, 1083, 3, 1083, 3, 1083, 3, 1083, 3, 1083, 3, 1083, 3, 1083, 3, 1083, 3, 1083, 3, 1083, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1084, 3, 1085, 3, 1085, 3, 1085, 3, 1085, 3, 1085, 3, 1085, 3, 1085, 3, 1085, 3, 1085, 3, 1085, 3, 1085, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1086, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1087, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1088, 3, 1089, 3, 1089, 3, 1089, 3, 1089, 3, 1089, 3, 1089, 3, 1089, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1090, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1091, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1092, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1093, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1094, 3, 1095, 3, 1095, 3, 1095, 3, 1095, 3, 1095, 3, 1095, 3, 1095, 3, 1095, 3, 1095, 3, 1095, 3, 1095, 3, 1096, 3, 1096, 3, 1096, 3, 1096, 3, 1096, 3, 1096, 3, 1096, 3, 1096, 3, 1096, 3, 1096, 3, 1097, 3, 1097, 3, 1097, 3, 1097, 3, 1097, 3, 1097, 3, 1097, 3, 1098, 3, 1098, 3, 1098, 3, 1098, 3, 1098, 3, 1099, 3, 1099, 3, 1099, 3, 1099, 3, 1099, 3, 1099, 3, 1100, 3, 1100, 3, 1100, 3, 1100, 3, 1100, 3, 1100, 3, 1100, 3, 1101, 3, 1101, 3, 1101, 3, 1101, 3, 1101, 3, 1101, 3, 1101, 3, 1101, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1102, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1103, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1104, 3, 1105, 3, 1105, 3, 1105, 3, 1105, 3, 1105, 3, 1105, 3, 1105, 3, 1105, 3, 1105, 3, 1105, 3, 1106, 3, 1106, 3, 1106, 3, 1106, 3, 1106, 3, 1107, 3, 1107, 3, 1107, 3, 1107, 3, 1107, 3, 1107, 3, 1107, 3, 1107, 3, 1107, 3, 1107, 3, 1107, 3, 1108, 3, 1108, 3, 1108, 3, 1108, 3, 1108, 3, 1108, 3, 1108, 3, 1109, 3, 1109, 3, 1109, 3, 1109, 3, 1109, 3, 1109, 3, 1109, 3, 1110, 3, 1110, 3, 1110, 3, 1110, 3, 1110, 3, 1110, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1111, 3, 1112, 3, 1112, 3, 1112, 3, 1112, 3, 1112, 3, 1112, 3, 1112, 3, 1112, 3, 1112, 3, 1112, 3, 1112, 3, 1113, 3, 1113, 3, 1113, 3, 1113, 3, 1113, 3, 1113, 3, 1113, 3, 1113, 3, 1114, 3, 1114, 3, 1114, 3, 1114, 3, 1115, 3, 1115, 3, 1115, 3, 1115, 3, 1115, 3, 1115, 3, 1115, 3, 1116, 3, 1116, 3, 1116, 3, 1117, 3, 1117, 3, 1117, 3, 1117, 3, 1117, 3, 1117, 3, 1117, 3, 1117, 3, 1117, 3, 1118, 3, 1118, 3, 1118, 3, 1118, 3, 1119, 3, 1119, 3, 1119, 3, 1119, 3, 1119, 3, 1120, 3, 1120, 3, 1120, 3, 1120, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1121, 3, 1122, 3, 1122, 3, 1122, 3, 1122, 3, 1123, 3, 1123, 3, 1123, 3, 1123, 3, 1123, 3, 1124, 3, 1124, 3, 1124, 3, 1124, 3, 1124, 3, 1125, 3, 1125, 3, 1125, 3, 1125, 3, 1126, 3, 1126, 3, 1126, 3, 1126, 3, 1126, 3, 1126, 3, 1126, 3, 1127, 3, 1127, 3, 1127, 3, 1127, 3, 1127, 3, 1127, 3, 1127, 3, 1127, 3, 1127, 3, 1127, 3, 1128, 3, 1128, 3, 1128, 3, 1128, 3, 1128, 3, 1129, 3, 1129, 3, 1129, 3, 1130, 3, 1130, 3, 1130, 3, 1130, 3, 1130, 3, 1130, 3, 1130, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1131, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1132, 3, 1133, 3, 1133, 3, 1133, 3, 1133, 3, 1133, 3, 1133, 3, 1133, 3, 1134, 3, 1134, 3, 1134, 3, 1134, 3, 1134, 3, 1135, 3, 1135, 3, 1135, 3, 1135, 3, 1135, 3, 1135, 3, 1135, 3, 1135, 3, 1135, 3, 1135, 3, 1135, 3, 1136, 3, 1136, 3, 1136, 3, 1136, 3, 1136, 3, 1136, 3, 1136, 3, 1136, 3, 1136, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1137, 3, 1138, 3, 1138, 3, 1138, 3, 1138, 3, 1138, 3, 1138, 3, 1138, 3, 1138, 3, 1139, 3, 1139, 3, 1139, 3, 1139, 3, 1139, 3, 1139, 3, 1139, 3, 1139, 3, 1139, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1140, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1141, 3, 1142, 3, 1142, 3, 1142, 3, 1142, 3, 1142, 3, 1142, 3, 1142, 3, 1143, 3, 1143, 3, 1143, 3, 1143, 3, 1143, 3, 1143, 3, 1143, 3, 1143, 3, 1143, 3, 1143, 3, 1144, 3, 1144, 3, 1144, 3, 1144, 3, 1144, 3, 1144, 3, 1144, 3, 1144, 3, 1144, 3, 1144, 3, 1144, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1145, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1146, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1147, 3, 1148, 3, 1148, 3, 1148, 3, 1148, 3, 1148, 3, 1148, 3, 1148, 3, 1148, 3, 1149, 3, 1149, 3, 1149, 3, 1149, 3, 1149, 3, 1149, 3, 1149, 3, 1149, 3, 1149, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1150, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1151, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1152, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1153, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1154, 3, 1155, 3, 1155, 3, 1155, 3, 1155, 3, 1155, 3, 1155, 3, 1155, 3, 1155, 3, 1155, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1156, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1157, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1158, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1159, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1160, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1161, 3, 1162, 3, 1162, 3, 1162, 3, 1162, 3, 1162, 3, 1162, 3, 1162, 3, 1162, 3, 1162, 3, 1162, 3, 1162, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1163, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1164, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1165, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1166, 3, 1167, 3, 1167, 3, 1167, 3, 1167, 3, 1167, 3, 1167, 3, 1167, 3, 1167, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1168, 3, 1169, 3, 1169, 3, 1169, 3, 1169, 3, 1169, 3, 1169, 3, 1170, 3, 1170, 3, 1170, 3, 1170, 3, 1170, 3, 1170, 3, 1170, 3, 1170, 3, 1170, 3, 1170, 3, 1170, 3, 1171, 3, 1171, 3, 1171, 3, 1171, 3, 1171, 3, 1171, 3, 1171, 3, 1171, 3, 1171, 3, 1171, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1172, 3, 1173, 3, 1173, 3, 1173, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1174, 3, 1175, 3, 1175, 3, 1175, 3, 1175, 3, 1175, 3, 1175, 3, 1175, 3, 1175, 3, 1176, 3, 1176, 3, 1176, 3, 1176, 3, 1176, 3, 1176, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1177, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1178, 3, 1179, 3, 1179, 3, 1179, 3, 1179, 3, 1179, 3, 1179, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1180, 3, 1181, 3, 1181, 3, 1181, 3, 1181, 3, 1181, 3, 1181, 3, 1181, 3, 1181, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1182, 3, 1183, 3, 1183, 3, 1183, 3, 1183, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1184, 3, 1185, 3, 1185, 3, 1185, 3, 1185, 3, 1185, 3, 1185, 3, 1185, 3, 1185, 3, 1185, 3, 1186, 3, 1186, 3, 1186, 3, 1186, 3, 1186, 3, 1186, 3, 1186, 3, 1186, 3, 1186, 3, 1187, 3, 1187, 3, 1187, 3, 1187, 3, 1187, 3, 1188, 3, 1188, 3, 1188, 3, 1188, 3, 1188, 3, 1188, 3, 1188, 3, 1188, 3, 1188, 3, 1188, 3, 1188, 3, 1189, 3, 1189, 3, 1189, 3, 1189, 3, 1189, 3, 1189, 3, 1190, 3, 1190, 3, 1190, 3, 1190, 3, 1190, 3, 1190, 3, 1190, 3, 1190, 3, 1190, 3, 1190, 3, 1191, 3, 1191, 3, 1191, 3, 1191, 3, 1192, 3, 1192, 3, 1192, 3, 1192, 3, 1192, 3, 1192, 3, 1192, 3, 1192, 3, 1193, 3, 1193, 3, 1193, 3, 1193, 3, 1193, 3, 1193, 3, 1193, 3, 1193, 3, 1193, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1194, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1195, 3, 1196, 3, 1196, 3, 1196, 3, 1196, 3, 1196, 3, 1196, 3, 1196, 3, 1196, 3, 1196, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1197, 3, 1198, 3, 1198, 3, 1198, 3, 1198, 3, 1198, 3, 1198, 3, 1198, 3, 1198, 3, 1198, 3, 1198, 3, 1198, 3, 1199, 3, 1199, 3, 1199, 3, 1199, 3, 1199, 3, 1199, 3, 1200, 3, 1200, 3, 1200, 3, 1200, 3, 1200, 3, 1200, 3, 1200, 3, 1201, 3, 1201, 3, 1201, 3, 1201, 3, 1201, 3, 1201, 3, 1201, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1202, 3, 1203, 3, 1203, 3, 1203, 3, 1203, 3, 1203, 3, 1203, 3, 1203, 3, 1203, 3, 1203, 3, 1203, 3, 1204, 3, 1204, 3, 1204, 3, 1204, 3, 1204, 3, 1204, 3, 1204, 3, 1204, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1205, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1206, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1207, 3, 1208, 3, 1208, 3, 1208, 3, 1208, 3, 1208, 3, 1208, 3, 1208, 3, 1208, 3, 1208, 3, 1208, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1209, 3, 1210, 3, 1210, 3, 1210, 3, 1210, 3, 1210, 3, 1210, 3, 1210, 3, 1210, 3, 1210, 3, 1210, 3, 1210, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1211, 3, 1212, 3, 1212, 3, 1212, 3, 1212, 3, 1212, 3, 1212, 3, 1212, 3, 1212, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1213, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1214, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1215, 3, 1216, 3, 1216, 3, 1216, 3, 1216, 3, 1216, 3, 1216, 3, 1216, 3, 1216, 3, 1216, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1217, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1218, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1219, 3, 1220, 3, 1220, 3, 1220, 3, 1220, 3, 1220, 3, 1221, 3, 1221, 3, 1221, 3, 1221, 3, 1221, 3, 1221, 3, 1222, 3, 1222, 3, 1222, 3, 1222, 3, 1222, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1223, 3, 1224, 3, 1224, 3, 1224, 3, 1224, 3, 1224, 3, 1224, 3, 1225, 3, 1225, 3, 1225, 3, 1225, 3, 1225, 3, 1225, 3, 1225, 3, 1225, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1226, 3, 1227, 3, 1227, 3, 1227, 3, 1227, 3, 1227, 3, 1227, 3, 1227, 3, 1227, 3, 1227, 3, 1227, 3, 1227, 3, 1228, 3, 1228, 3, 1228, 3, 1228, 3, 1228, 3, 1228, 3, 1228, 3, 1228, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1229, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1230, 3, 1231, 3, 1231, 3, 1231, 3, 1231, 3, 1231, 3, 1231, 3, 1231, 3, 1231, 3, 1232, 3, 1232, 3, 1232, 3, 1232, 3, 1232, 3, 1232, 3, 1232, 3, 1232, 3, 1232, 3, 1232, 3, 1232, 3, 1233, 3, 1233, 3, 1233, 3, 1233, 3, 1233, 3, 1233, 3, 1233, 3, 1233, 3, 1234, 3, 1234, 7, 1234, 18047, 10, 1234, 12, 1234, 14, 1234, 18050, 11, 1234, 3, 1234, 3, 1234, 3, 1234, 3, 1234, 3, 1234, 3, 1234, 3, 1235, 3, 1235, 7, 1235, 18060, 10, 1235, 12, 1235, 14, 1235, 18063, 11, 1235, 3, 1235, 3, 1235, 3, 1235, 3, 1235, 3, 1235, 3, 1235, 3, 1235, 3, 1236, 3, 1236, 7, 1236, 18074, 10, 1236, 12, 1236, 14, 1236, 18077, 11, 1236, 3, 1236, 3, 1236, 3, 1236, 3, 1236, 3, 1236, 3, 1236, 3, 1236, 3, 1236, 3, 1236, 3, 1237, 3, 1237, 3, 1237, 3, 1237, 3, 1237, 3, 1237, 3, 1237, 3, 1237, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1238, 3, 1239, 3, 1239, 7, 1239, 18112, 10, 1239, 12, 1239, 14, 1239, 18115, 11, 1239, 3, 1239, 3, 1239, 3, 1239, 3, 1239, 3, 1239, 3, 1239, 3, 1239, 3, 1239, 3, 1239, 3, 1240, 3, 1240, 7, 1240, 18128, 10, 1240, 12, 1240, 14, 1240, 18131, 11, 1240, 3, 1240, 3, 1240, 3, 1240, 3, 1240, 3, 1240, 3, 1240, 3, 1240, 3, 1240, 3, 1241, 3, 1241, 7, 1241, 18143, 10, 1241, 12, 1241, 14, 1241, 18146, 11, 1241, 3, 1241, 3, 1241, 3, 1241, 3, 1241, 3, 1241, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1242, 3, 1243, 3, 1243, 3, 1243, 3, 1243, 3, 1243, 3, 1243, 3, 1243, 3, 1244, 3, 1244, 3, 1244, 3, 1244, 3, 1244, 3, 1244, 3, 1244, 3, 1244, 3, 1244, 3, 1244, 3, 1245, 3, 1245, 3, 1245, 3, 1245, 3, 1245, 3, 1245, 3, 1245, 3, 1245, 3, 1245, 3, 1245, 3, 1245, 3, 1246, 3, 1246, 3, 1246, 3, 1246, 3, 1246, 3, 1246, 3, 1246, 3, 1246, 3, 1247, 3, 1247, 3, 1247, 3, 1247, 3, 1248, 3, 1248, 3, 1248, 3, 1248, 3, 1248, 3, 1248, 3, 1249, 3, 1249, 3, 1249, 3, 1249, 3, 1249, 3, 1249, 3, 1249, 3, 1249, 3, 1249, 3, 1250, 3, 1250, 3, 1250, 3, 1250, 3, 1250, 3, 1250, 3, 1251, 3, 1251, 3, 1251, 3, 1251, 3, 1251, 3, 1251, 3, 1251, 3, 1251, 3, 1251, 3, 1251, 3, 1252, 3, 1252, 3, 1252, 3, 1252, 3, 1252, 3, 1253, 3, 1253, 3, 1253, 3, 1253, 3, 1253, 3, 1253, 3, 1253, 3, 1254, 3, 1254, 3, 1254, 3, 1254, 3, 1254, 3, 1254, 3, 1255, 3, 1255, 3, 1255, 3, 1255, 3, 1255, 3, 1255, 3, 1255, 3, 1255, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1256, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1257, 3, 1258, 3, 1258, 3, 1258, 3, 1258, 3, 1258, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1259, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1260, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1261, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1262, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1263, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1264, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1265, 3, 1266, 3, 1266, 3, 1266, 3, 1266, 3, 1266, 3, 1266, 3, 1266, 3, 1266, 3, 1266, 3, 1266, 3, 1267, 3, 1267, 3, 1267, 3, 1267, 3, 1267, 3, 1267, 3, 1268, 3, 1268, 3, 1268, 3, 1268, 3, 1268, 3, 1268, 3, 1268, 3, 1269, 3, 1269, 3, 1269, 3, 1269, 3, 1269, 3, 1269, 3, 1269, 3, 1269, 3, 1269, 3, 1270, 3, 1270, 3, 1270, 3, 1270, 3, 1270, 3, 1270, 3, 1270, 3, 1270, 3, 1271, 3, 1271, 3, 1271, 3, 1271, 3, 1271, 3, 1271, 3, 1271, 3, 1271, 3, 1271, 3, 1272, 3, 1272, 3, 1272, 3, 1272, 3, 1272, 3, 1272, 3, 1272, 3, 1272, 3, 1273, 3, 1273, 3, 1273, 3, 1273, 3, 1273, 3, 1273, 3, 1273, 3, 1273, 3, 1274, 3, 1274, 3, 1274, 3, 1274, 3, 1274, 3, 1274, 3, 1274, 3, 1274, 3, 1274, 3, 1274, 3, 1275, 3, 1275, 3, 1275, 3, 1275, 3, 1275, 3, 1275, 3, 1275, 3, 1275, 3, 1275, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1276, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1277, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1278, 3, 1279, 3, 1279, 3, 1279, 3, 1279, 3, 1279, 3, 1279, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1280, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1281, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1282, 3, 1283, 3, 1283, 3, 1283, 3, 1283, 3, 1283, 3, 1283, 3, 1283, 3, 1283, 3, 1283, 3, 1283, 3, 1284, 3, 1284, 3, 1284, 3, 1284, 3, 1284, 3, 1284, 3, 1284, 3, 1285, 3, 1285, 3, 1285, 3, 1285, 3, 1285, 3, 1285, 3, 1285, 3, 1285, 3, 1285, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1286, 3, 1287, 3, 1287, 3, 1287, 3, 1287, 3, 1287, 3, 1287, 3, 1287, 3, 1287, 3, 1288, 3, 1288, 3, 1288, 3, 1288, 3, 1288, 3, 1288, 3, 1288, 3, 1289, 3, 1289, 3, 1289, 3, 1289, 3, 1289, 3, 1289, 3, 1289, 3, 1289, 3, 1289, 3, 1290, 3, 1290, 3, 1290, 3, 1290, 3, 1290, 3, 1290, 3, 1290, 3, 1290, 3, 1290, 3, 1291, 3, 1291, 3, 1291, 3, 1291, 3, 1291, 3, 1291, 3, 1291, 3, 1291, 3, 1291, 3, 1291, 3, 1292, 3, 1292, 3, 1292, 3, 1292, 3, 1292, 3, 1292, 3, 1292, 3, 1292, 3, 1292, 3, 1292, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1293, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1294, 3, 1295, 3, 1295, 3, 1295, 3, 1295, 3, 1295, 3, 1295, 3, 1295, 3, 1295, 3, 1296, 3, 1296, 3, 1296, 3, 1296, 3, 1296, 3, 1296, 3, 1296, 3, 1296, 3, 1297, 3, 1297, 3, 1297, 3, 1297, 3, 1297, 3, 1297, 3, 1297, 3, 1297, 3, 1297, 3, 1297, 3, 1297, 3, 1298, 3, 1298, 3, 1298, 3, 1298, 3, 1298, 3, 1298, 3, 1298, 3, 1298, 3, 1299, 3, 1299, 3, 1299, 3, 1299, 3, 1299, 3, 1299, 3, 1299, 3, 1299, 3, 1299, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1300, 3, 1301, 3, 1301, 3, 1301, 3, 1301, 3, 1301, 3, 1301, 3, 1301, 3, 1301, 3, 1301, 3, 1302, 3, 1302, 3, 1302, 3, 1302, 3, 1302, 3, 1302, 3, 1302, 3, 1303, 3, 1303, 3, 1303, 3, 1303, 3, 1303, 3, 1303, 3, 1303, 3, 1303, 3, 1303, 3, 1304, 3, 1304, 3, 1304, 3, 1304, 3, 1304, 3, 1305, 3, 1305, 3, 1305, 3, 1305, 3, 1305, 3, 1305, 3, 1305, 3, 1305, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1306, 3, 1307, 3, 1307, 3, 1307, 3, 1307, 3, 1307, 3, 1307, 3, 1307, 3, 1307, 3, 1307, 3, 1308, 3, 1308, 3, 1308, 3, 1308, 3, 1308, 3, 1308, 3, 1309, 3, 1309, 3, 1309, 3, 1309, 3, 1309, 3, 1309, 3, 1309, 3, 1309, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1310, 3, 1311, 3, 1311, 3, 1311, 3, 1311, 3, 1311, 3, 1311, 3, 1311, 3, 1311, 3, 1311, 3, 1311, 3, 1311, 3, 1312, 3, 1312, 3, 1312, 3, 1312, 3, 1312, 3, 1312, 3, 1312, 3, 1312, 3, 1312, 3, 1312, 3, 1313, 3, 1313, 3, 1313, 3, 1313, 3, 1313, 3, 1313, 3, 1313, 3, 1313, 3, 1313, 3, 1313, 3, 1313, 3, 1314, 3, 1314, 3, 1314, 3, 1314, 3, 1314, 3, 1314, 3, 1314, 3, 1314, 3, 1314, 3, 1314, 3, 1314, 3, 1315, 3, 1315, 3, 1315, 3, 1315, 3, 1315, 3, 1315, 3, 1315, 3, 1315, 3, 1315, 3, 1315, 3, 1316, 3, 1316, 3, 1316, 3, 1316, 3, 1316, 3, 1316, 3, 1316, 3, 1316, 3, 1317, 3, 1317, 3, 1317, 3, 1317, 3, 1317, 3, 1317, 3, 1317, 3, 1317, 3, 1318, 3, 1318, 3, 1318, 3, 1318, 3, 1318, 3, 1318, 3, 1318, 3, 1318, 3, 1319, 3, 1319, 3, 1319, 3, 1319, 3, 1319, 3, 1319, 3, 1319, 3, 1319, 3, 1320, 3, 1320, 3, 1320, 3, 1320, 3, 1320, 3, 1320, 3, 1320, 3, 1320, 3, 1320, 3, 1320, 3, 1321, 3, 1321, 3, 1321, 3, 1321, 3, 1321, 3, 1321, 3, 1321, 3, 1321, 3, 1321, 3, 1321, 3, 1322, 3, 1322, 3, 1322, 3, 1322, 3, 1322, 3, 1322, 3, 1322, 3, 1322, 3, 1322, 3, 1322, 3, 1322, 3, 1323, 3, 1323, 3, 1323, 3, 1323, 3, 1323, 3, 1323, 3, 1324, 3, 1324, 3, 1324, 3, 1324, 3, 1324, 3, 1324, 3, 1324, 3, 1324, 3, 1325, 3, 1325, 3, 1325, 3, 1325, 3, 1325, 3, 1325, 3, 1325, 3, 1326, 3, 1326, 3, 1326, 3, 1326, 3, 1326, 3, 1326, 3, 1326, 3, 1326, 3, 1326, 3, 1326, 3, 1327, 3, 1327, 3, 1327, 3, 1327, 3, 1327, 3, 1327, 3, 1328, 3, 1328, 3, 1328, 3, 1328, 3, 1328, 3, 1328, 3, 1328, 3, 1328, 3, 1328, 3, 1328, 3, 1329, 3, 1329, 3, 1329, 3, 1329, 3, 1329, 3, 1329, 3, 1329, 3, 1329, 3, 1329, 3, 1329, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1330, 3, 1331, 3, 1331, 3, 1331, 3, 1331, 3, 1331, 3, 1331, 3, 1331, 3, 1331, 3, 1331, 3, 1331, 3, 1331, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1332, 3, 1333, 3, 1333, 3, 1333, 3, 1333, 3, 1333, 3, 1333, 3, 1333, 3, 1333, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1334, 3, 1335, 3, 1335, 3, 1335, 3, 1335, 3, 1335, 3, 1335, 3, 1336, 3, 1336, 3, 1336, 3, 1336, 3, 1336, 3, 1336, 3, 1336, 3, 1336, 3, 1336, 3, 1336, 3, 1336, 3, 1337, 3, 1337, 3, 1337, 3, 1337, 3, 1337, 3, 1337, 3, 1338, 3, 1338, 3, 1338, 3, 1338, 3, 1338, 3, 1338, 3, 1338, 3, 1338, 3, 1338, 3, 1338, 3, 1338, 3, 1339, 3, 1339, 3, 1339, 3, 1339, 3, 1339, 3, 1339, 3, 1339, 3, 1339, 3, 1340, 3, 1340, 3, 1340, 3, 1340, 3, 1340, 3, 1340, 3, 1340, 3, 1341, 3, 1341, 3, 1341, 3, 1341, 3, 1341, 3, 1341, 3, 1342, 3, 1342, 3, 1342, 3, 1342, 3, 1342, 3, 1342, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1343, 3, 1344, 3, 1344, 3, 1344, 3, 1344, 3, 1344, 3, 1344, 3, 1344, 3, 1345, 3, 1345, 3, 1345, 3, 1345, 3, 1345, 3, 1345, 3, 1346, 3, 1346, 3, 1346, 3, 1346, 3, 1346, 3, 1346, 3, 1347, 3, 1347, 3, 1347, 3, 1347, 3, 1347, 3, 1347, 3, 1347, 3, 1347, 3, 1348, 3, 1348, 3, 1348, 3, 1348, 3, 1349, 3, 1349, 3, 1349, 3, 1349, 3, 1349, 3, 1349, 3, 1349, 3, 1349, 3, 1349, 3, 1350, 3, 1350, 3, 1350, 3, 1350, 3, 1350, 3, 1350, 3, 1350, 3, 1350, 3, 1350, 3, 1350, 3, 1351, 3, 1351, 3, 1351, 3, 1351, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1352, 3, 1353, 3, 1353, 3, 1353, 3, 1353, 3, 1353, 3, 1354, 3, 1354, 3, 1354, 3, 1354, 3, 1354, 3, 1355, 3, 1355, 3, 1355, 3, 1355, 3, 1355, 3, 1355, 3, 1356, 3, 1356, 3, 1356, 3, 1356, 3, 1356, 3, 1356, 3, 1357, 3, 1357, 3, 1357, 3, 1357, 3, 1357, 3, 1358, 3, 1358, 3, 1358, 3, 1358, 3, 1358, 3, 1358, 3, 1358, 3, 1358, 3, 1358, 3, 1358, 3, 1359, 3, 1359, 3, 1359, 3, 1359, 3, 1359, 3, 1359, 3, 1359, 3, 1359, 3, 1360, 3, 1360, 3, 1360, 3, 1360, 3, 1360, 3, 1360, 3, 1360, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1361, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1362, 3, 1363, 3, 1363, 3, 1363, 3, 1363, 3, 1363, 3, 1363, 3, 1363, 3, 1363, 3, 1364, 3, 1364, 3, 1364, 3, 1364, 3, 1364, 3, 1364, 3, 1364, 3, 1364, 3, 1364, 3, 1365, 3, 1365, 3, 1365, 3, 1365, 3, 1365, 3, 1365, 3, 1365, 3, 1365, 3, 1365, 3, 1365, 3, 1365, 3, 1366, 3, 1366, 3, 1366, 3, 1366, 3, 1366, 3, 1366, 3, 1366, 3, 1366, 3, 1367, 3, 1367, 3, 1367, 3, 1367, 3, 1367, 3, 1367, 3, 1367, 3, 1367, 3, 1367, 3, 1367, 3, 1368, 3, 1368, 3, 1368, 3, 1368, 3, 1368, 3, 1368, 3, 1368, 3, 1368, 3, 1368, 3, 1369, 3, 1369, 3, 1369, 3, 1369, 3, 1369, 3, 1370, 3, 1370, 3, 1370, 3, 1370, 3, 1370, 3, 1370, 3, 1370, 3, 1370, 3, 1371, 3, 1371, 3, 1371, 3, 1371, 3, 1371, 3, 1371, 3, 1371, 3, 1371, 3, 1371, 3, 1371, 3, 1371, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1372, 3, 1373, 3, 1373, 3, 1373, 3, 1373, 3, 1373, 3, 1373, 3, 1373, 3, 1373, 3, 1373, 3, 1373, 3, 1373, 3, 1374, 3, 1374, 3, 1374, 3, 1374, 3, 1374, 3, 1374, 3, 1374, 3, 1374, 3, 1374, 3, 1374, 3, 1375, 3, 1375, 3, 1375, 3, 1375, 3, 1375, 3, 1375, 3, 1375, 3, 1375, 3, 1375, 3, 1375, 3, 1375, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1376, 3, 1377, 3, 1377, 3, 1377, 3, 1377, 3, 1378, 3, 1378, 3, 1378, 3, 1378, 3, 1378, 3, 1378, 3, 1378, 3, 1378, 3, 1379, 3, 1379, 3, 1379, 3, 1379, 3, 1379, 3, 1379, 3, 1379, 3, 1379, 3, 1379, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1380, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1381, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1382, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1383, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1384, 3, 1385, 3, 1385, 3, 1385, 3, 1385, 3, 1385, 3, 1385, 3, 1385, 3, 1385, 3, 1385, 3, 1386, 3, 1386, 3, 1386, 3, 1386, 3, 1386, 3, 1386, 3, 1386, 3, 1386, 3, 1386, 3, 1386, 3, 1387, 3, 1387, 3, 1387, 3, 1387, 3, 1387, 3, 1387, 3, 1387, 3, 1387, 3, 1387, 3, 1387, 3, 1388, 3, 1388, 3, 1388, 3, 1388, 3, 1388, 3, 1388, 3, 1388, 3, 1388, 3, 1388, 3, 1388, 3, 1388, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1389, 3, 1390, 3, 1390, 3, 1390, 3, 1390, 3, 1390, 3, 1390, 3, 1390, 3, 1390, 3, 1391, 3, 1391, 3, 1391, 3, 1391, 3, 1391, 3, 1391, 3, 1391, 3, 1391, 3, 1391, 3, 1391, 3, 1391, 3, 1392, 3, 1392, 3, 1392, 3, 1392, 3, 1392, 3, 1392, 3, 1392, 3, 1392, 3, 1392, 3, 1393, 3, 1393, 3, 1393, 3, 1393, 3, 1393, 3, 1393, 3, 1393, 3, 1393, 3, 1393, 3, 1394, 3, 1394, 3, 1394, 3, 1394, 3, 1394, 3, 1394, 3, 1394, 3, 1394, 3, 1394, 3, 1395, 3, 1395, 3, 1395, 3, 1395, 3, 1395, 3, 1395, 3, 1395, 3, 1395, 3, 1396, 3, 1396, 3, 1396, 3, 1396, 3, 1396, 3, 1396, 3, 1396, 3, 1397, 3, 1397, 3, 1397, 3, 1397, 3, 1397, 3, 1397, 3, 1398, 3, 1398, 3, 1398, 3, 1398, 3, 1398, 3, 1398, 3, 1398, 3, 1398, 3, 1398, 3, 1398, 3, 1398, 3, 1399, 3, 1399, 3, 1399, 3, 1399, 3, 1399, 3, 1399, 3, 1399, 3, 1399, 3, 1399, 3, 1399, 3, 1400, 3, 1400, 3, 1400, 3, 1400, 3, 1400, 3, 1400, 3, 1400, 3, 1400, 3, 1400, 3, 1401, 3, 1401, 3, 1401, 3, 1401, 3, 1401, 3, 1402, 3, 1402, 3, 1402, 3, 1402, 3, 1402, 3, 1402, 3, 1402, 3, 1402, 3, 1402, 3, 1402, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1403, 3, 1404, 3, 1404, 3, 1404, 3, 1404, 3, 1404, 3, 1404, 3, 1404, 3, 1405, 3, 1405, 3, 1405, 3, 1405, 3, 1405, 3, 1405, 3, 1405, 3, 1406, 3, 1406, 3, 1406, 3, 1406, 3, 1406, 3, 1406, 3, 1406, 3, 1407, 3, 1407, 3, 1407, 3, 1407, 3, 1407, 3, 1407, 3, 1407, 3, 1408, 3, 1408, 3, 1408, 3, 1408, 3, 1408, 3, 1408, 3, 1408, 3, 1408, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1409, 3, 1410, 3, 1410, 3, 1410, 3, 1410, 3, 1410, 3, 1410, 3, 1410, 3, 1410, 3, 1410, 3, 1411, 3, 1411, 3, 1411, 3, 1411, 3, 1411, 3, 1411, 3, 1411, 3, 1411, 3, 1411, 3, 1411, 3, 1412, 3, 1412, 3, 1412, 3, 1412, 3, 1412, 3, 1412, 3, 1413, 3, 1413, 3, 1413, 3, 1413, 3, 1413, 3, 1413, 3, 1413, 3, 1414, 3, 1414, 3, 1414, 3, 1414, 3, 1414, 3, 1414, 3, 1414, 3, 1414, 3, 1415, 3, 1415, 3, 1415, 3, 1415, 3, 1415, 3, 1415, 3, 1415, 3, 1415, 3, 1415, 3, 1416, 3, 1416, 3, 1416, 3, 1416, 3, 1416, 3, 1416, 3, 1416, 3, 1416, 3, 1416, 3, 1417, 3, 1417, 3, 1417, 3, 1417, 3, 1417, 3, 1417, 3, 1417, 3, 1417, 3, 1418, 3, 1418, 3, 1418, 3, 1418, 3, 1418, 3, 1418, 3, 1418, 3, 1418, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1419, 3, 1420, 3, 1420, 3, 1420, 3, 1420, 3, 1420, 3, 1420, 3, 1420, 3, 1420, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1421, 3, 1422, 3, 1422, 3, 1422, 3, 1422, 3, 1422, 3, 1422, 3, 1422, 3, 1422, 3, 1422, 3, 1422, 3, 1422, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1423, 3, 1424, 3, 1424, 3, 1424, 3, 1424, 3, 1424, 3, 1424, 3, 1424, 3, 1424, 3, 1424, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1425, 3, 1426, 3, 1426, 3, 1426, 3, 1426, 3, 1426, 3, 1426, 3, 1426, 3, 1427, 3, 1427, 3, 1427, 3, 1427, 3, 1427, 3, 1427, 3, 1427, 3, 1427, 3, 1427, 3, 1427, 3, 1428, 3, 1428, 3, 1428, 3, 1428, 3, 1428, 3, 1428, 3, 1428, 3, 1429, 3, 1429, 3, 1429, 3, 1429, 3, 1429, 3, 1429, 3, 1429, 3, 1429, 3, 1429, 3, 1429, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1430, 3, 1431, 3, 1431, 3, 1431, 3, 1431, 3, 1431, 3, 1431, 3, 1431, 3, 1431, 3, 1431, 3, 1431, 3, 1432, 3, 1432, 3, 1432, 3, 1432, 3, 1432, 3, 1432, 3, 1432, 3, 1433, 3, 1433, 3, 1433, 3, 1433, 3, 1433, 3, 1433, 3, 1434, 3, 1434, 3, 1434, 3, 1434, 3, 1434, 3, 1434, 3, 1434, 3, 1434, 3, 1435, 3, 1435, 3, 1435, 3, 1435, 3, 1435, 3, 1435, 3, 1435, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1436, 3, 1437, 3, 1437, 3, 1437, 3, 1437, 3, 1437, 3, 1437, 3, 1437, 3, 1437, 3, 1438, 3, 1438, 3, 1438, 3, 1438, 3, 1438, 3, 1438, 3, 1439, 3, 1439, 3, 1439, 3, 1439, 3, 1439, 3, 1440, 3, 1440, 3, 1440, 3, 1440, 3, 1440, 3, 1440, 3, 1440, 3, 1440, 3, 1441, 3, 1441, 3, 1441, 3, 1441, 3, 1441, 3, 1441, 3, 1442, 3, 1442, 3, 1442, 3, 1442, 3, 1442, 3, 1442, 3, 1442, 3, 1442, 3, 1442, 3, 1443, 3, 1443, 3, 1443, 3, 1443, 3, 1443, 3, 1443, 3, 1443, 3, 1443, 3, 1444, 3, 1444, 3, 1444, 3, 1444, 3, 1444, 3, 1444, 3, 1444, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1445, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1446, 3, 1447, 3, 1447, 3, 1447, 3, 1447, 3, 1447, 3, 1447, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1448, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1449, 3, 1450, 3, 1450, 3, 1450, 3, 1450, 3, 1450, 3, 1450, 3, 1450, 3, 1450, 3, 1450, 3, 1450, 3, 1450, 3, 1451, 3, 1451, 3, 1451, 3, 1451, 3, 1451, 3, 1451, 3, 1451, 3, 1452, 3, 1452, 3, 1452, 3, 1452, 3, 1453, 3, 1453, 3, 1453, 3, 1453, 3, 1453, 3, 1454, 3, 1454, 3, 1454, 3, 1454, 3, 1454, 3, 1455, 3, 1455, 3, 1455, 3, 1455, 3, 1455, 3, 1455, 3, 1456, 3, 1456, 3, 1456, 3, 1456, 3, 1456, 3, 1457, 3, 1457, 3, 1457, 3, 1457, 3, 1457, 3, 1457, 3, 1458, 3, 1458, 3, 1458, 3, 1458, 3, 1458, 3, 1458, 3, 1458, 3, 1458, 3, 1459, 3, 1459, 3, 1459, 3, 1459, 3, 1459, 3, 1460, 3, 1460, 3, 1460, 3, 1460, 3, 1460, 3, 1460, 3, 1460, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1461, 3, 1462, 3, 1462, 3, 1462, 3, 1462, 3, 1462, 3, 1462, 3, 1462, 3, 1462, 3, 1462, 3, 1462, 3, 1463, 3, 1463, 3, 1463, 3, 1463, 3, 1463, 3, 1464, 3, 1464, 3, 1464, 3, 1464, 3, 1465, 3, 1465, 3, 1465, 3, 1465, 3, 1465, 3, 1465, 3, 1465, 3, 1465, 3, 1465, 3, 1465, 3, 1465, 3, 1466, 3, 1466, 3, 1466, 3, 1466, 3, 1466, 3, 1466, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1467, 3, 1468, 3, 1468, 3, 1468, 3, 1468, 3, 1468, 3, 1469, 3, 1469, 3, 1469, 3, 1469, 3, 1469, 3, 1469, 3, 1469, 3, 1469, 3, 1469, 3, 1469, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1470, 3, 1471, 3, 1471, 3, 1471, 3, 1471, 3, 1471, 3, 1471, 3, 1471, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1472, 3, 1473, 3, 1473, 3, 1473, 3, 1473, 3, 1474, 3, 1474, 3, 1474, 3, 1474, 3, 1474, 3, 1474, 3, 1475, 3, 1475, 3, 1475, 3, 1475, 3, 1475, 3, 1475, 3, 1476, 3, 1476, 3, 1476, 3, 1476, 3, 1476, 3, 1476, 3, 1476, 3, 1477, 3, 1477, 3, 1477, 3, 1477, 3, 1477, 3, 1477, 3, 1477, 3, 1477, 3, 1477, 3, 1477, 3, 1477, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1478, 3, 1479, 3, 1479, 3, 1479, 3, 1479, 3, 1479, 3, 1479, 3, 1479, 3, 1479, 3, 1480, 3, 1480, 3, 1480, 3, 1480, 3, 1480, 3, 1480, 3, 1480, 3, 1481, 3, 1481, 3, 1481, 3, 1481, 3, 1481, 3, 1481, 3, 1481, 3, 1482, 3, 1482, 3, 1482, 3, 1482, 3, 1482, 3, 1482, 3, 1482, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1483, 3, 1484, 3, 1484, 3, 1484, 3, 1484, 3, 1484, 3, 1484, 3, 1484, 3, 1484, 3, 1484, 3, 1484, 3, 1484, 3, 1485, 3, 1485, 3, 1485, 3, 1485, 3, 1485, 3, 1485, 3, 1485, 3, 1485, 3, 1485, 3, 1486, 3, 1486, 3, 1486, 3, 1486, 3, 1486, 3, 1487, 3, 1487, 3, 1487, 3, 1487, 3, 1487, 3, 1487, 3, 1487, 3, 1487, 3, 1487, 3, 1487, 3, 1488, 3, 1488, 3, 1488, 3, 1488, 3, 1488, 3, 1488, 3, 1488, 3, 1488, 3, 1488, 3, 1489, 3, 1489, 3, 1489, 3, 1489, 3, 1489, 3, 1489, 3, 1489, 3, 1489, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1490, 3, 1491, 3, 1491, 3, 1491, 3, 1491, 3, 1491, 3, 1491, 3, 1491, 3, 1492, 3, 1492, 3, 1492, 3, 1492, 3, 1492, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1493, 3, 1494, 3, 1494, 3, 1494, 3, 1494, 3, 1494, 3, 1494, 3, 1494, 3, 1494, 3, 1494, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1495, 3, 1496, 3, 1496, 3, 1496, 3, 1496, 3, 1496, 3, 1496, 3, 1496, 3, 1496, 3, 1496, 3, 1496, 3, 1497, 3, 1497, 3, 1497, 3, 1497, 3, 1497, 3, 1497, 3, 1497, 3, 1497, 3, 1497, 3, 1498, 3, 1498, 3, 1498, 3, 1498, 3, 1498, 3, 1498, 3, 1498, 3, 1498, 3, 1498, 3, 1498, 3, 1498, 3, 1499, 3, 1499, 3, 1499, 3, 1499, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1500, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1501, 3, 1502, 3, 1502, 3, 1502, 3, 1502, 3, 1502, 3, 1502, 3, 1502, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1503, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1504, 3, 1505, 3, 1505, 3, 1505, 3, 1505, 3, 1505, 3, 1505, 3, 1505, 3, 1505, 3, 1505, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1506, 3, 1507, 3, 1507, 3, 1507, 3, 1507, 3, 1507, 3, 1507, 3, 1507, 3, 1507, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1508, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1509, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1510, 3, 1511, 3, 1511, 3, 1511, 3, 1511, 3, 1512, 3, 1512, 3, 1512, 3, 1512, 3, 1512, 3, 1513, 3, 1513, 3, 1513, 3, 1513, 3, 1513, 3, 1513, 3, 1513, 3, 1513, 3, 1513, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1514, 3, 1515, 3, 1515, 3, 1515, 3, 1515, 3, 1515, 3, 1515, 3, 1515, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1516, 3, 1517, 3, 1517, 3, 1517, 3, 1517, 3, 1517, 3, 1517, 3, 1517, 3, 1518, 3, 1518, 3, 1518, 3, 1518, 3, 1518, 3, 1518, 3, 1519, 3, 1519, 3, 1519, 3, 1519, 3, 1519, 3, 1519, 3, 1519, 3, 1519, 3, 1520, 3, 1520, 3, 1520, 3, 1520, 3, 1520, 3, 1520, 3, 1520, 3, 1520, 3, 1520, 3, 1520, 3, 1521, 3, 1521, 3, 1521, 3, 1521, 3, 1521, 3, 1522, 3, 1522, 3, 1522, 3, 1522, 3, 1522, 3, 1522, 3, 1522, 3, 1523, 3, 1523, 3, 1523, 3, 1523, 3, 1523, 3, 1523, 3, 1523, 3, 1523, 3, 1523, 3, 1524, 3, 1524, 3, 1524, 3, 1524, 3, 1524, 3, 1524, 3, 1524, 3, 1524, 3, 1524, 3, 1525, 3, 1525, 3, 1525, 3, 1525, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1526, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1527, 3, 1528, 3, 1528, 3, 1528, 3, 1528, 3, 1528, 3, 1529, 3, 1529, 3, 1529, 3, 1529, 3, 1529, 3, 1529, 3, 1529, 3, 1529, 3, 1529, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1530, 3, 1531, 3, 1531, 3, 1531, 3, 1531, 3, 1531, 3, 1531, 3, 1531, 3, 1532, 3, 1532, 3, 1532, 3, 1532, 3, 1532, 3, 1532, 3, 1532, 3, 1533, 3, 1533, 3, 1533, 3, 1533, 3, 1533, 3, 1533, 3, 1533, 3, 1533, 3, 1533, 3, 1533, 3, 1533, 3, 1534, 3, 1534, 3, 1534, 3, 1534, 3, 1534, 3, 1535, 3, 1535, 3, 1535, 3, 1535, 3, 1536, 3, 1536, 3, 1536, 3, 1536, 3, 1536, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1537, 3, 1538, 3, 1538, 3, 1538, 3, 1538, 3, 1538, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1539, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1540, 3, 1541, 3, 1541, 3, 1541, 3, 1541, 3, 1541, 3, 1541, 3, 1541, 3, 1541, 3, 1541, 3, 1541, 3, 1542, 3, 1542, 3, 1542, 3, 1542, 3, 1542, 3, 1542, 3, 1542, 3, 1542, 3, 1542, 3, 1543, 3, 1543, 3, 1543, 3, 1543, 3, 1543, 3, 1543, 3, 1543, 3, 1543, 3, 1543, 3, 1544, 3, 1544, 3, 1544, 3, 1544, 3, 1544, 3, 1545, 3, 1545, 3, 1545, 3, 1545, 3, 1545, 3, 1546, 3, 1546, 3, 1546, 3, 1546, 3, 1546, 3, 1546, 3, 1546, 3, 1546, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1547, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1548, 3, 1549, 3, 1549, 3, 1549, 3, 1549, 3, 1549, 3, 1549, 3, 1549, 3, 1550, 3, 1550, 3, 1550, 3, 1550, 3, 1550, 3, 1550, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1551, 3, 1552, 3, 1552, 3, 1552, 3, 1552, 3, 1552, 3, 1552, 3, 1552, 3, 1553, 3, 1553, 3, 1553, 3, 1553, 3, 1553, 3, 1553, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1554, 3, 1555, 3, 1555, 3, 1555, 3, 1555, 3, 1555, 3, 1555, 3, 1555, 3, 1555, 3, 1556, 3, 1556, 3, 1556, 3, 1556, 3, 1556, 3, 1556, 3, 1556, 3, 1556, 3, 1556, 3, 1557, 3, 1557, 3, 1557, 3, 1557, 3, 1557, 3, 1557, 3, 1557, 3, 1558, 3, 1558, 3, 1558, 3, 1558, 3, 1559, 3, 1559, 3, 1559, 3, 1559, 3, 1559, 3, 1559, 3, 1559, 3, 1559, 3, 1559, 3, 1559, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1560, 3, 1561, 3, 1561, 3, 1561, 3, 1561, 3, 1561, 3, 1562, 3, 1562, 3, 1562, 3, 1562, 3, 1562, 3, 1562, 3, 1563, 3, 1563, 3, 1563, 3, 1563, 3, 1563, 3, 1563, 3, 1563, 3, 1563, 3, 1563, 3, 1563, 3, 1563, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1564, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1565, 3, 1566, 3, 1566, 3, 1566, 3, 1566, 3, 1566, 3, 1566, 3, 1566, 3, 1566, 3, 1566, 3, 1567, 3, 1567, 3, 1567, 3, 1567, 3, 1567, 3, 1567, 3, 1567, 3, 1567, 3, 1568, 3, 1568, 3, 1568, 3, 1568, 3, 1568, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1569, 3, 1570, 3, 1570, 3, 1570, 3, 1570, 3, 1570, 3, 1570, 3, 1571, 3, 1571, 3, 1571, 3, 1571, 3, 1571, 3, 1571, 3, 1571, 3, 1571, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1572, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1573, 3, 1574, 3, 1574, 3, 1574, 3, 1574, 3, 1574, 3, 1574, 3, 1574, 3, 1574, 3, 1574, 3, 1574, 3, 1574, 3, 1575, 3, 1575, 3, 1575, 3, 1575, 3, 1575, 3, 1575, 3, 1575, 3, 1575, 3, 1575, 3, 1575, 3, 1576, 3, 1576, 3, 1576, 3, 1576, 3, 1576, 3, 1576, 3, 1577, 3, 1577, 3, 1577, 3, 1577, 3, 1577, 3, 1577, 3, 1577, 3, 1578, 3, 1578, 3, 1578, 3, 1578, 3, 1578, 3, 1578, 3, 1578, 3, 1578, 3, 1578, 3, 1578, 3, 1578, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1579, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1580, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1581, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1582, 3, 1583, 3, 1583, 3, 1583, 3, 1583, 3, 1583, 3, 1583, 3, 1583, 3, 1583, 3, 1583, 3, 1583, 3, 1583, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1584, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1585, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1586, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1587, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1588, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1589, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1590, 3, 1591, 3, 1591, 3, 1591, 3, 1591, 3, 1591, 3, 1591, 3, 1591, 3, 1591, 3, 1591, 3, 1591, 3, 1591, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1592, 3, 1593, 3, 1593, 3, 1593, 3, 1593, 3, 1593, 3, 1594, 3, 1594, 3, 1594, 3, 1594, 3, 1594, 3, 1594, 3, 1594, 3, 1594, 3, 1595, 3, 1595, 3, 1595, 3, 1595, 3, 1595, 3, 1595, 3, 1596, 3, 1596, 3, 1596, 3, 1596, 3, 1596, 3, 1596, 3, 1596, 3, 1596, 3, 1597, 3, 1597, 3, 1597, 3, 1597, 3, 1597, 3, 1597, 3, 1597, 3, 1598, 3, 1598, 3, 1598, 3, 1598, 3, 1598, 3, 1598, 3, 1598, 3, 1599, 3, 1599, 3, 1599, 3, 1599, 3, 1599, 3, 1599, 3, 1599, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1600, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1601, 3, 1602, 3, 1602, 3, 1602, 3, 1602, 3, 1602, 3, 1602, 3, 1603, 3, 1603, 3, 1603, 3, 1603, 3, 1603, 3, 1603, 3, 1603, 3, 1603, 3, 1603, 3, 1603, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1604, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1605, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1606, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1607, 3, 1608, 3, 1608, 3, 1608, 3, 1608, 3, 1608, 3, 1608, 3, 1608, 3, 1608, 3, 1608, 3, 1608, 3, 1608, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1609, 3, 1610, 3, 1610, 3, 1610, 3, 1610, 3, 1610, 3, 1610, 3, 1610, 3, 1610, 3, 1610, 3, 1610, 3, 1611, 3, 1611, 3, 1611, 3, 1611, 3, 1611, 3, 1611, 3, 1611, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1612, 3, 1613, 3, 1613, 3, 1613, 3, 1613, 3, 1613, 3, 1613, 3, 1613, 3, 1613, 3, 1614, 3, 1614, 3, 1614, 3, 1614, 3, 1614, 3, 1614, 3, 1614, 3, 1614, 3, 1615, 3, 1615, 3, 1615, 3, 1615, 3, 1615, 3, 1615, 3, 1615, 3, 1615, 3, 1616, 3, 1616, 3, 1616, 3, 1616, 3, 1616, 3, 1616, 3, 1616, 3, 1616, 3, 1617, 3, 1617, 3, 1617, 3, 1617, 3, 1617, 3, 1617, 3, 1617, 3, 1617, 3, 1618, 3, 1618, 3, 1618, 3, 1618, 3, 1618, 3, 1618, 3, 1618, 3, 1618, 3, 1618, 3, 1618, 3, 1618, 3, 1619, 3, 1619, 3, 1619, 3, 1619, 3, 1619, 3, 1619, 3, 1619, 3, 1619, 3, 1620, 3, 1620, 3, 1620, 3, 1620, 3, 1620, 3, 1620, 3, 1620, 3, 1620, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1621, 3, 1622, 3, 1622, 3, 1622, 3, 1622, 3, 1622, 3, 1622, 3, 1622, 3, 1622, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1623, 3, 1624, 3, 1624, 3, 1624, 3, 1624, 3, 1624, 3, 1624, 3, 1624, 3, 1624, 3, 1624, 3, 1624, 3, 1624, 3, 1625, 3, 1625, 3, 1625, 3, 1625, 3, 1625, 3, 1625, 3, 1625, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1626, 3, 1627, 3, 1627, 3, 1627, 3, 1627, 3, 1627, 3, 1628, 3, 1628, 3, 1628, 3, 1628, 3, 1628, 3, 1628, 3, 1628, 3, 1628, 3, 1629, 3, 1629, 3, 1629, 3, 1629, 3, 1629, 3, 1629, 3, 1629, 3, 1630, 3, 1630, 3, 1630, 3, 1630, 3, 1630, 3, 1630, 3, 1630, 3, 1630, 3, 1630, 3, 1630, 3, 1631, 3, 1631, 3, 1631, 3, 1631, 3, 1631, 3, 1631, 3, 1631, 3, 1632, 3, 1632, 3, 1632, 3, 1632, 3, 1632, 3, 1632, 3, 1632, 3, 1632, 3, 1632, 3, 1632, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1633, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1634, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1635, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1636, 3, 1637, 3, 1637, 3, 1637, 3, 1637, 3, 1637, 3, 1637, 3, 1637, 3, 1637, 3, 1638, 3, 1638, 3, 1638, 3, 1638, 3, 1638, 3, 1638, 3, 1638, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1639, 3, 1640, 3, 1640, 3, 1640, 3, 1640, 3, 1640, 3, 1640, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1641, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1642, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1643, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1644, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1645, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1646, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1647, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1648, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1649, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1650, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1651, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1652, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1653, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1654, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1655, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1656, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1657, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1658, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1659, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1660, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1661, 3, 1662, 3, 1662, 3, 1662, 3, 1662, 3, 1662, 3, 1662, 3, 1662, 3, 1662, 3, 1662, 3, 1663, 3, 1663, 3, 1663, 3, 1663, 3, 1663, 3, 1663, 3, 1663, 3, 1663, 3, 1664, 3, 1664, 3, 1664, 3, 1664, 3, 1664, 3, 1664, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1665, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1666, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1667, 3, 1668, 3, 1668, 3, 1668, 3, 1668, 3, 1668, 3, 1668, 3, 1668, 3, 1668, 3, 1668, 3, 1668, 3, 1669, 3, 1669, 3, 1669, 3, 1669, 3, 1669, 3, 1669, 3, 1669, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1670, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1671, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1672, 3, 1673, 3, 1673, 3, 1673, 3, 1673, 3, 1673, 3, 1673, 3, 1673, 3, 1673, 3, 1673, 3, 1673, 3, 1673, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1674, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1675, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1676, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1677, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1678, 3, 1679, 3, 1679, 3, 1679, 3, 1679, 3, 1679, 3, 1679, 3, 1679, 3, 1679, 3, 1679, 3, 1679, 3, 1679, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1680, 3, 1681, 3, 1681, 3, 1681, 3, 1681, 3, 1681, 3, 1681, 3, 1681, 3, 1681, 3, 1681, 3, 1681, 3, 1681, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1682, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1683, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1684, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1685, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1686, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1687, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1688, 3, 1689, 3, 1689, 3, 1689, 3, 1689, 3, 1689, 3, 1689, 3, 1689, 3, 1689, 3, 1689, 3, 1689, 3, 1689, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1690, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1691, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1692, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1693, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1694, 3, 1695, 3, 1695, 3, 1695, 3, 1695, 3, 1695, 3, 1695, 3, 1695, 3, 1695, 3, 1695, 3, 1695, 3, 1695, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1696, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1697, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1698, 3, 1699, 3, 1699, 3, 1699, 3, 1699, 3, 1699, 3, 1699, 3, 1699, 3, 1699, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1700, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1701, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1702, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1703, 3, 1704, 3, 1704, 3, 1704, 3, 1704, 3, 1704, 3, 1704, 3, 1704, 3, 1704, 3, 1704, 3, 1704, 3, 1704, 3, 1705, 3, 1705, 3, 1705, 3, 1705, 3, 1705, 3, 1705, 3, 1705, 3, 1705, 3, 1705, 3, 1705, 3, 1705, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1706, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1707, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1708, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1709, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1710, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1711, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1712, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1713, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1714, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1715, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1716, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1717, 3, 1718, 3, 1718, 3, 1718, 3, 1718, 3, 1718, 3, 1718, 3, 1718, 3, 1718, 3, 1718, 3, 1718, 3, 1718, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1719, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1720, 3, 1721, 3, 1721, 3, 1721, 3, 1721, 3, 1721, 3, 1721, 3, 1721, 3, 1721, 3, 1721, 3, 1721, 3, 1721, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1722, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1723, 3, 1724, 3, 1724, 3, 1724, 3, 1724, 3, 1724, 3, 1724, 3, 1724, 3, 1724, 3, 1724, 3, 1724, 3, 1724, 3, 1725, 3, 1725, 3, 1725, 3, 1725, 3, 1725, 3, 1725, 3, 1725, 3, 1725, 3, 1725, 3, 1725, 3, 1725, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1726, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1727, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1728, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1729, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1730, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1731, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1732, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1733, 3, 1734, 3, 1734, 3, 1734, 3, 1734, 3, 1734, 3, 1734, 3, 1734, 3, 1734, 3, 1734, 3, 1734, 3, 1734, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1735, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1736, 3, 1737, 3, 1737, 3, 1737, 3, 1737, 3, 1737, 3, 1737, 3, 1737, 3, 1737, 3, 1737, 3, 1737, 3, 1737, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1738, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1739, 3, 1740, 3, 1740, 3, 1740, 3, 1740, 3, 1740, 3, 1740, 3, 1740, 3, 1740, 3, 1740, 3, 1740, 3, 1740, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1741, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1742, 3, 1743, 3, 1743, 3, 1743, 3, 1743, 3, 1743, 3, 1743, 3, 1743, 3, 1743, 3, 1743, 3, 1743, 3, 1743, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1744, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1745, 3, 1746, 3, 1746, 3, 1746, 3, 1746, 3, 1746, 3, 1746, 3, 1746, 3, 1746, 3, 1746, 3, 1746, 3, 1746, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1747, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1748, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1749, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1750, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1751, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1752, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1753, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1754, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1755, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1756, 3, 1757, 3, 1757, 3, 1757, 3, 1757, 3, 1757, 3, 1757, 3, 1757, 3, 1757, 3, 1757, 3, 1757, 3, 1757, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1758, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1759, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1760, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1761, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1762, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1763, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1764, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1765, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1766, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1767, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1768, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1769, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1770, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1771, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1772, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1773, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1774, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1775, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1776, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1777, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1778, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1779, 3, 1780, 3, 1780, 3, 1780, 3, 1780, 3, 1780, 3, 1780, 3, 1780, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1781, 3, 1782, 3, 1782, 3, 1782, 3, 1782, 3, 1782, 3, 1782, 3, 1782, 3, 1782, 3, 1782, 3, 1782, 3, 1782, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1783, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1784, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1785, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1786, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1787, 3, 1788, 3, 1788, 3, 1788, 3, 1788, 3, 1788, 3, 1788, 3, 1788, 3, 1788, 3, 1788, 3, 1788, 3, 1788, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1789, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1790, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1791, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1792, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1793, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1794, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1795, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1796, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1797, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1798, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1799, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1800, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1801, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1802, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1803, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1804, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1805, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1806, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1807, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1808, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1809, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1810, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1811, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1812, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1813, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1814, 3, 1815, 3, 1815, 3, 1815, 3, 1815, 3, 1815, 3, 1815, 3, 1815, 3, 1815, 3, 1815, 3, 1815, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1816, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1817, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1818, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1819, 3, 1820, 3, 1820, 3, 1820, 3, 1820, 3, 1820, 3, 1820, 3, 1820, 3, 1820, 3, 1820, 3, 1820, 3, 1820, 3, 1821, 3, 1821, 3, 1821, 3, 1821, 3, 1821, 3, 1821, 3, 1821, 3, 1821, 3, 1821, 3, 1821, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1822, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1823, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1824, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1825, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1826, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1827, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1828, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1829, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1830, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1831, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1832, 3, 1833, 3, 1833, 3, 1833, 3, 1833, 3, 1833, 3, 1833, 3, 1833, 3, 1833, 3, 1833, 3, 1833, 3, 1833, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1834, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1835, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1836, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1837, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1838, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1839, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1840, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1841, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1842, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1843, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1844, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1845, 3, 1846, 3, 1846, 3, 1846, 3, 1846, 3, 1846, 3, 1846, 3, 1846, 3, 1846, 3, 1846, 3, 1846, 3, 1846, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1847, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1848, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1849, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1850, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1851, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1852, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1853, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1854, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1855, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1856, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1857, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1858, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1859, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1860, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1861, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1862, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1863, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1864, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1865, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1866, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1867, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1868, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1869, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1870, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1871, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1872, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1873, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1874, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1875, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1876, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1877, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1878, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1879, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1880, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1881, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1882, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1883, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1884, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1885, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1886, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1887, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1888, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1889, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1890, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1891, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1892, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1893, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1894, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1895, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1896, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1897, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1898, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1899, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1900, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1901, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1902, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1903, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1904, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1905, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1906, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1907, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1908, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1909, 3, 1910, 3, 1910, 3, 1910, 3, 1910, 3, 1910, 3, 1910, 3, 1910, 3, 1910, 3, 1910, 3, 1910, 3, 1910, 3, 1911, 3, 1911, 3, 1911, 3, 1911, 3, 1911, 3, 1911, 3, 1911, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1912, 3, 1913, 3, 1913, 3, 1913, 3, 1913, 3, 1913, 3, 1913, 3, 1914, 3, 1914, 3, 1914, 3, 1914, 3, 1914, 3, 1914, 3, 1915, 3, 1915, 3, 1915, 3, 1915, 3, 1916, 3, 1916, 3, 1916, 3, 1916, 3, 1916, 3, 1917, 3, 1917, 3, 1917, 3, 1917, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1918, 3, 1919, 3, 1919, 3, 1919, 3, 1919, 3, 1919, 3, 1919, 3, 1919, 3, 1919, 3, 1919, 3, 1920, 3, 1920, 3, 1920, 3, 1920, 3, 1920, 3, 1920, 3, 1920, 3, 1920, 3, 1920, 3, 1921, 3, 1921, 3, 1921, 3, 1921, 3, 1921, 3, 1921, 3, 1921, 3, 1921, 3, 1921, 3, 1921, 3, 1922, 3, 1922, 3, 1922, 3, 1922, 3, 1922, 3, 1922, 3, 1922, 3, 1922, 3, 1922, 3, 1922, 3, 1922, 3, 1923, 3, 1923, 3, 1923, 3, 1923, 3, 1923, 3, 1924, 3, 1924, 3, 1924, 3, 1924, 3, 1924, 3, 1925, 3, 1925, 3, 1925, 3, 1925, 3, 1925, 3, 1926, 3, 1926, 3, 1926, 3, 1926, 3, 1926, 3, 1927, 3, 1927, 3, 1927, 3, 1927, 3, 1928, 3, 1928, 3, 1928, 3, 1928, 3, 1928, 3, 1928, 3, 1928, 3, 1929, 3, 1929, 3, 1929, 3, 1929, 3, 1929, 3, 1929, 3, 1929, 3, 1929, 3, 1930, 3, 1930, 3, 1930, 3, 1930, 3, 1930, 3, 1931, 3, 1931, 3, 1931, 3, 1931, 3, 1931, 3, 1932, 3, 1932, 3, 1932, 3, 1932, 3, 1932, 3, 1932, 3, 1932, 3, 1932, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1933, 3, 1934, 3, 1934, 3, 1934, 3, 1934, 3, 1934, 3, 1934, 3, 1934, 3, 1934, 3, 1934, 3, 1934, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1935, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1936, 3, 1937, 3, 1937, 3, 1937, 3, 1937, 3, 1937, 3, 1937, 3, 1938, 3, 1938, 3, 1938, 3, 1938, 3, 1938, 3, 1939, 3, 1939, 3, 1939, 3, 1939, 3, 1939, 3, 1939, 3, 1939, 3, 1939, 3, 1939, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1940, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1941, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1942, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1943, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1944, 3, 1945, 3, 1945, 3, 1945, 3, 1945, 3, 1945, 3, 1945, 3, 1945, 3, 1945, 3, 1945, 3, 1945, 3, 1946, 3, 1946, 3, 1946, 3, 1946, 3, 1946, 3, 1946, 3, 1946, 3, 1947, 3, 1947, 3, 1947, 3, 1947, 3, 1947, 3, 1947, 3, 1947, 3, 1947, 3, 1948, 3, 1948, 3, 1948, 3, 1948, 3, 1948, 3, 1948, 3, 1948, 3, 1948, 3, 1948, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1949, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1950, 3, 1951, 3, 1951, 3, 1951, 3, 1951, 3, 1951, 3, 1951, 3, 1951, 3, 1951, 3, 1952, 3, 1952, 3, 1952, 3, 1952, 3, 1952, 3, 1952, 3, 1952, 3, 1952, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1953, 3, 1954, 3, 1954, 3, 1954, 3, 1954, 3, 1954, 3, 1954, 3, 1954, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1955, 3, 1956, 3, 1956, 3, 1956, 3, 1956, 3, 1956, 3, 1956, 3, 1956, 3, 1956, 3, 1956, 3, 1957, 3, 1957, 3, 1957, 3, 1957, 3, 1957, 3, 1957, 3, 1957, 3, 1957, 3, 1957, 3, 1958, 3, 1958, 3, 1958, 3, 1958, 3, 1958, 3, 1958, 3, 1958, 3, 1958, 3, 1958, 3, 1958, 3, 1959, 3, 1959, 3, 1959, 3, 1959, 3, 1959, 3, 1959, 3, 1959, 3, 1959, 3, 1959, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1960, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1961, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1962, 3, 1963, 3, 1963, 3, 1963, 3, 1963, 3, 1963, 3, 1963, 3, 1963, 3, 1963, 3, 1964, 3, 1964, 3, 1964, 3, 1964, 3, 1964, 3, 1964, 3, 1964, 3, 1964, 3, 1964, 3, 1964, 3, 1964, 3, 1965, 3, 1965, 3, 1965, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1966, 3, 1967, 3, 1967, 3, 1967, 3, 1967, 3, 1967, 3, 1967, 3, 1968, 3, 1968, 3, 1968, 3, 1968, 3, 1968, 3, 1968, 3, 1968, 3, 1968, 3, 1969, 3, 1969, 3, 1969, 3, 1969, 3, 1969, 3, 1969, 3, 1969, 3, 1969, 3, 1969, 3, 1970, 3, 1970, 3, 1970, 3, 1970, 3, 1970, 3, 1970, 3, 1970, 3, 1970, 3, 1970, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1971, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1972, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1973, 3, 1974, 3, 1974, 3, 1974, 3, 1974, 3, 1974, 3, 1974, 3, 1974, 3, 1974, 3, 1974, 3, 1974, 3, 1974, 3, 1975, 3, 1975, 3, 1975, 3, 1975, 3, 1975, 3, 1975, 3, 1975, 3, 1975, 3, 1975, 3, 1975, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1976, 3, 1977, 3, 1977, 3, 1977, 3, 1977, 3, 1977, 3, 1977, 3, 1978, 3, 1978, 3, 1978, 3, 1978, 3, 1978, 3, 1978, 3, 1978, 3, 1978, 3, 1978, 3, 1979, 3, 1979, 3, 1979, 3, 1979, 3, 1979, 3, 1979, 3, 1979, 3, 1979, 3, 1980, 3, 1980, 3, 1980, 3, 1980, 3, 1980, 3, 1981, 3, 1981, 3, 1981, 3, 1981, 3, 1981, 3, 1981, 3, 1981, 3, 1981, 3, 1981, 3, 1982, 3, 1982, 3, 1982, 3, 1982, 3, 1982, 3, 1982, 3, 1983, 3, 1983, 3, 1983, 3, 1983, 3, 1983, 3, 1983, 3, 1983, 3, 1983, 3, 1984, 3, 1984, 3, 1984, 3, 1984, 3, 1984, 3, 1984, 3, 1985, 3, 1985, 3, 1985, 3, 1985, 3, 1985, 3, 1985, 3, 1985, 3, 1986, 3, 1986, 3, 1986, 3, 1987, 3, 1987, 3, 1987, 3, 1987, 3, 1987, 3, 1987, 3, 1988, 3, 1988, 3, 1988, 3, 1988, 3, 1988, 3, 1989, 3, 1989, 3, 1989, 3, 1989, 3, 1989, 3, 1989, 3, 1989, 3, 1989, 3, 1989, 3, 1989, 3, 1990, 3, 1990, 3, 1990, 3, 1990, 3, 1991, 3, 1991, 3, 1991, 3, 1991, 3, 1992, 3, 1992, 3, 1992, 3, 1992, 3, 1992, 3, 1993, 3, 1993, 3, 1993, 3, 1993, 3, 1994, 3, 1994, 3, 1994, 3, 1994, 3, 1994, 3, 1994, 3, 1994, 3, 1994, 3, 1994, 3, 1994, 3, 1994, 3, 1995, 3, 1995, 3, 1995, 3, 1995, 3, 1995, 3, 1995, 3, 1995, 3, 1995, 3, 1995, 3, 1995, 3, 1996, 3, 1996, 3, 1996, 3, 1996, 3, 1996, 3, 1996, 3, 1996, 3, 1996, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1997, 3, 1998, 3, 1998, 3, 1998, 3, 1998, 3, 1998, 3, 1998, 3, 1999, 3, 1999, 3, 1999, 3, 1999, 3, 1999, 3, 2000, 3, 2000, 3, 2000, 3, 2000, 3, 2000, 3, 2000, 3, 2000, 3, 2001, 3, 2001, 3, 2001, 3, 2001, 3, 2001, 3, 2001, 3, 2001, 3, 2001, 3, 2002, 3, 2002, 3, 2002, 3, 2002, 3, 2002, 3, 2002, 3, 2003, 3, 2003, 3, 2003, 3, 2003, 3, 2003, 3, 2003, 3, 2003, 3, 2004, 3, 2004, 3, 2004, 3, 2004, 3, 2004, 3, 2004, 3, 2004, 3, 2005, 3, 2005, 3, 2005, 3, 2005, 3, 2005, 3, 2005, 3, 2005, 3, 2005, 3, 2005, 3, 2005, 3, 2006, 3, 2006, 3, 2006, 3, 2006, 3, 2006, 3, 2006, 3, 2006, 3, 2007, 3, 2007, 3, 2007, 3, 2007, 3, 2007, 3, 2007, 3, 2007, 3, 2008, 3, 2008, 3, 2008, 3, 2008, 3, 2008, 3, 2008, 3, 2008, 3, 2008, 3, 2008, 3, 2008, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2009, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2010, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2011, 3, 2012, 3, 2012, 3, 2012, 3, 2012, 3, 2012, 3, 2012, 3, 2012, 3, 2013, 3, 2013, 3, 2013, 3, 2013, 3, 2013, 3, 2013, 3, 2013, 3, 2013, 3, 2013, 3, 2014, 3, 2014, 3, 2014, 3, 2014, 3, 2014, 3, 2014, 3, 2014, 3, 2014, 3, 2015, 3, 2015, 3, 2015, 3, 2015, 3, 2015, 3, 2015, 3, 2015, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2016, 3, 2017, 3, 2017, 3, 2017, 3, 2017, 3, 2017, 3, 2017, 3, 2017, 3, 2017, 3, 2017, 3, 2017, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2018, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2019, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2020, 3, 2021, 3, 2021, 3, 2021, 3, 2021, 3, 2021, 3, 2021, 3, 2022, 3, 2022, 3, 2022, 3, 2022, 3, 2022, 3, 2022, 3, 2022, 3, 2022, 3, 2022, 3, 2023, 3, 2023, 3, 2023, 3, 2023, 3, 2023, 3, 2023, 3, 2023, 3, 2024, 3, 2024, 3, 2024, 3, 2024, 3, 2024, 3, 2024, 3, 2024, 3, 2024, 3, 2024, 3, 2024, 3, 2025, 3, 2025, 3, 2025, 3, 2025, 3, 2025, 3, 2025, 3, 2025, 3, 2025, 3, 2026, 3, 2026, 3, 2026, 3, 2026, 3, 2026, 3, 2026, 3, 2026, 3, 2027, 3, 2027, 3, 2027, 3, 2027, 3, 2027, 3, 2027, 3, 2027, 3, 2027, 3, 2027, 3, 2027, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2028, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2029, 3, 2030, 3, 2030, 3, 2030, 3, 2030, 3, 2030, 3, 2030, 3, 2030, 3, 2030, 3, 2031, 3, 2031, 3, 2031, 3, 2031, 3, 2031, 3, 2031, 3, 2032, 3, 2032, 3, 2032, 3, 2032, 3, 2032, 3, 2032, 3, 2032, 3, 2033, 3, 2033, 3, 2033, 3, 2033, 3, 2033, 3, 2033, 3, 2033, 3, 2034, 3, 2034, 3, 2034, 3, 2034, 3, 2034, 3, 2034, 3, 2034, 3, 2035, 3, 2035, 3, 2035, 3, 2035, 3, 2035, 3, 2035, 3, 2036, 3, 2036, 3, 2036, 3, 2036, 3, 2036, 3, 2036, 3, 2036, 3, 2036, 3, 2036, 3, 2037, 3, 2037, 3, 2037, 3, 2037, 3, 2037, 3, 2037, 3, 2037, 3, 2037, 3, 2037, 3, 2037, 3, 2037, 3, 2038, 3, 2038, 3, 2038, 3, 2038, 3, 2038, 3, 2038, 3, 2038, 3, 2038, 3, 2038, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2039, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2040, 3, 2041, 3, 2041, 3, 2041, 3, 2041, 3, 2041, 3, 2041, 3, 2041, 3, 2041, 3, 2041, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2042, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2043, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2044, 3, 2045, 3, 2045, 3, 2045, 3, 2045, 3, 2045, 3, 2045, 3, 2045, 3, 2045, 3, 2045, 3, 2045, 3, 2046, 3, 2046, 3, 2046, 3, 2046, 3, 2046, 3, 2046, 3, 2046, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2047, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2048, 3, 2049, 3, 2049, 3, 2049, 3, 2049, 3, 2049, 3, 2049, 3, 2049, 3, 2049, 3, 2049, 3, 2049, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2050, 3, 2051, 3, 2051, 3, 2051, 3, 2051, 3, 2051, 3, 2051, 3, 2051, 3, 2051, 3, 2052, 3, 2052, 3, 2052, 3, 2052, 3, 2052, 3, 2052, 3, 2052, 3, 2052, 3, 2052, 3, 2052, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2053, 3, 2054, 3, 2054, 3, 2054, 3, 2054, 3, 2054, 3, 2054, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2055, 3, 2056, 3, 2056, 3, 2056, 3, 2056, 3, 2056, 3, 2057, 3, 2057, 3, 2057, 3, 2057, 3, 2057, 3, 2057, 3, 2057, 3, 2057, 3, 2057, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2058, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2059, 3, 2060, 3, 2060, 3, 2060, 3, 2060, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2061, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2062, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2063, 3, 2064, 3, 2064, 3, 2064, 3, 2064, 3, 2064, 3, 2064, 3, 2065, 3, 2065, 3, 2065, 3, 2065, 3, 2065, 3, 2065, 3, 2065, 3, 2065, 3, 2066, 3, 2066, 3, 2066, 3, 2066, 3, 2066, 3, 2066, 3, 2066, 3, 2066, 3, 2067, 3, 2067, 3, 2067, 3, 2067, 3, 2067, 3, 2067, 3, 2068, 3, 2068, 3, 2068, 3, 2068, 3, 2068, 3, 2069, 3, 2069, 3, 2069, 3, 2070, 3, 2070, 3, 2070, 3, 2071, 3, 2071, 3, 2071, 3, 2071, 3, 2071, 3, 2071, 3, 2071, 3, 2071, 3, 2071, 3, 2072, 3, 2072, 3, 2072, 3, 2072, 3, 2072, 3, 2072, 3, 2072, 3, 2072, 3, 2072, 3, 2072, 3, 2072, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2073, 3, 2074, 3, 2074, 3, 2074, 3, 2074, 3, 2074, 3, 2074, 3, 2074, 3, 2075, 3, 2075, 3, 2075, 3, 2075, 3, 2075, 3, 2075, 3, 2076, 3, 2076, 3, 2076, 3, 2076, 3, 2076, 3, 2076, 3, 2076, 3, 2076, 3, 2076, 3, 2077, 3, 2077, 3, 2077, 3, 2077, 3, 2077, 3, 2077, 3, 2077, 3, 2077, 3, 2078, 3, 2078, 3, 2078, 3, 2078, 3, 2078, 3, 2078, 3, 2078, 3, 2078, 3, 2078, 3, 2079, 3, 2079, 3, 2079, 3, 2079, 3, 2079, 3, 2079, 3, 2079, 3, 2079, 3, 2080, 3, 2080, 3, 2080, 3, 2080, 3, 2080, 3, 2080, 3, 2080, 3, 2080, 3, 2081, 3, 2081, 3, 2081, 3, 2081, 3, 2081, 3, 2081, 3, 2081, 3, 2082, 3, 2082, 3, 2082, 3, 2082, 3, 2082, 3, 2082, 3, 2082, 3, 2082, 3, 2082, 3, 2083, 3, 2083, 3, 2083, 3, 2083, 3, 2083, 3, 2083, 3, 2083, 3, 2083, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2084, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2085, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2086, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2087, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2088, 3, 2089, 3, 2089, 3, 2089, 3, 2089, 3, 2089, 3, 2089, 3, 2089, 3, 2089, 3, 2089, 3, 2090, 3, 2090, 3, 2090, 3, 2090, 3, 2090, 3, 2090, 3, 2090, 3, 2091, 3, 2091, 3, 2091, 3, 2091, 3, 2091, 3, 2091, 3, 2091, 3, 2091, 3, 2091, 3, 2091, 3, 2091, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2092, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2093, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2094, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2095, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2096, 3, 2097, 3, 2097, 3, 2097, 3, 2097, 3, 2097, 3, 2097, 3, 2097, 3, 2097, 3, 2097, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2098, 3, 2099, 3, 2099, 3, 2099, 3, 2099, 3, 2099, 3, 2099, 3, 2099, 3, 2099, 3, 2100, 3, 2100, 3, 2100, 3, 2100, 3, 2100, 3, 2101, 3, 2101, 3, 2101, 3, 2101, 3, 2101, 3, 2101, 3, 2101, 3, 2101, 3, 2101, 3, 2101, 3, 2102, 3, 2102, 3, 2102, 3, 2102, 3, 2102, 3, 2102, 3, 2102, 3, 2102, 3, 2103, 3, 2103, 3, 2103, 3, 2103, 3, 2103, 3, 2103, 3, 2103, 3, 2103, 3, 2103, 3, 2103, 3, 2103, 3, 2104, 3, 2104, 3, 2104, 3, 2104, 3, 2104, 3, 2104, 3, 2104, 3, 2104, 3, 2105, 3, 2105, 3, 2105, 3, 2105, 3, 2105, 3, 2105, 3, 2105, 3, 2106, 3, 2106, 3, 2106, 3, 2106, 3, 2106, 3, 2106, 3, 2107, 3, 2107, 3, 2107, 3, 2107, 3, 2107, 3, 2108, 3, 2108, 3, 2108, 3, 2108, 3, 2108, 3, 2108, 3, 2108, 3, 2109, 3, 2109, 3, 2109, 3, 2109, 3, 2109, 3, 2109, 3, 2109, 3, 2109, 3, 2110, 3, 2110, 3, 2110, 3, 2110, 3, 2110, 3, 2110, 3, 2111, 3, 2111, 3, 2111, 3, 2111, 3, 2111, 3, 2112, 3, 2112, 3, 2112, 3, 2112, 3, 2112, 3, 2112, 3, 2112, 3, 2112, 3, 2112, 3, 2112, 3, 2112, 3, 2113, 3, 2113, 3, 2113, 3, 2113, 3, 2113, 3, 2113, 3, 2113, 3, 2113, 3, 2113, 3, 2114, 3, 2114, 3, 2114, 3, 2114, 3, 2114, 3, 2115, 3, 2115, 3, 2115, 3, 2115, 3, 2115, 3, 2115, 3, 2116, 3, 2116, 3, 2116, 3, 2116, 3, 2116, 3, 2116, 3, 2117, 3, 2117, 3, 2117, 3, 2117, 3, 2117, 3, 2117, 3, 2117, 3, 2117, 3, 2117, 3, 2117, 3, 2117, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2118, 3, 2119, 3, 2119, 3, 2119, 3, 2119, 3, 2119, 3, 2119, 3, 2119, 3, 2120, 3, 2120, 3, 2120, 3, 2120, 3, 2120, 3, 2120, 3, 2120, 3, 2120, 3, 2121, 3, 2121, 3, 2121, 3, 2121, 3, 2121, 3, 2121, 3, 2121, 3, 2121, 3, 2121, 3, 2121, 3, 2121, 3, 2122, 3, 2122, 3, 2122, 3, 2122, 3, 2122, 3, 2123, 3, 2123, 3, 2123, 3, 2123, 3, 2123, 3, 2124, 3, 2124, 3, 2124, 3, 2124, 3, 2124, 3, 2124, 3, 2124, 3, 2124, 3, 2125, 3, 2125, 3, 2125, 3, 2125, 3, 2125, 3, 2125, 3, 2125, 3, 2125, 3, 2126, 3, 2126, 3, 2126, 3, 2126, 3, 2126, 3, 2126, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2127, 3, 2128, 3, 2128, 3, 2128, 3, 2128, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2129, 3, 2130, 3, 2130, 3, 2130, 3, 2130, 3, 2131, 3, 2131, 3, 2131, 3, 2131, 3, 2131, 3, 2131, 3, 2131, 3, 2131, 3, 2131, 3, 2131, 3, 2131, 3, 2132, 3, 2132, 3, 2132, 3, 2132, 3, 2132, 3, 2132, 3, 2132, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2133, 3, 2134, 3, 2134, 3, 2134, 3, 2134, 3, 2134, 3, 2134, 3, 2134, 3, 2134, 3, 2135, 3, 2135, 3, 2135, 3, 2135, 3, 2135, 3, 2135, 3, 2135, 3, 2135, 3, 2135, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2136, 3, 2137, 3, 2137, 3, 2137, 3, 2137, 3, 2137, 3, 2137, 3, 2137, 3, 2137, 3, 2137, 3, 2137, 3, 2137, 3, 2138, 3, 2138, 3, 2138, 3, 2138, 3, 2138, 3, 2138, 3, 2138, 3, 2138, 3, 2138, 3, 2138, 3, 2139, 3, 2139, 3, 2139, 3, 2139, 3, 2139, 3, 2139, 3, 2139, 3, 2139, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2140, 3, 2141, 3, 2141, 3, 2141, 3, 2141, 3, 2141, 3, 2141, 3, 2141, 3, 2141, 3, 2141, 3, 2141, 3, 2141, 3, 2142, 3, 2142, 3, 2142, 3, 2142, 3, 2142, 3, 2142, 3, 2142, 3, 2142, 3, 2142, 3, 2142, 3, 2142, 3, 2143, 3, 2143, 3, 2143, 3, 2143, 3, 2143, 3, 2143, 3, 2143, 3, 2143, 3, 2143, 3, 2143, 3, 2144, 3, 2144, 3, 2144, 3, 2144, 3, 2144, 3, 2144, 3, 2144, 3, 2144, 3, 2144, 3, 2144, 3, 2145, 3, 2145, 3, 2145, 3, 2145, 3, 2145, 3, 2145, 3, 2145, 3, 2145, 3, 2145, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2146, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2147, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2148, 3, 2149, 3, 2149, 3, 2149, 3, 2149, 3, 2149, 3, 2149, 3, 2149, 3, 2149, 3, 2149, 3, 2149, 3, 2150, 3, 2150, 3, 2150, 3, 2150, 3, 2150, 3, 2150, 3, 2150, 3, 2150, 3, 2150, 3, 2150, 3, 2150, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2151, 3, 2152, 3, 2152, 3, 2152, 3, 2152, 3, 2152, 3, 2152, 3, 2152, 3, 2152, 3, 2152, 3, 2153, 3, 2153, 3, 2153, 3, 2153, 3, 2153, 3, 2153, 3, 2153, 3, 2153, 3, 2153, 3, 2154, 3, 2154, 3, 2154, 3, 2154, 3, 2154, 3, 2154, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2155, 3, 2156, 3, 2156, 3, 2156, 3, 2156, 3, 2156, 3, 2156, 3, 2156, 3, 2156, 3, 2156, 3, 2157, 3, 2157, 3, 2157, 3, 2157, 3, 2157, 3, 2157, 3, 2157, 3, 2157, 3, 2158, 3, 2158, 3, 2158, 3, 2158, 3, 2158, 3, 2158, 3, 2158, 3, 2158, 3, 2158, 3, 2158, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2159, 3, 2160, 3, 2160, 3, 2160, 3, 2160, 3, 2160, 3, 2160, 3, 2160, 3, 2160, 3, 2160, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2161, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2162, 3, 2163, 3, 2163, 3, 2163, 3, 2163, 3, 2163, 3, 2163, 3, 2163, 3, 2163, 3, 2164, 3, 2164, 3, 2164, 3, 2164, 3, 2165, 3, 2165, 3, 2165, 3, 2165, 3, 2165, 3, 2165, 3, 2165, 3, 2165, 3, 2165, 3, 2165, 3, 2165, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2166, 3, 2167, 3, 2167, 3, 2167, 3, 2168, 3, 2168, 3, 2168, 3, 2168, 3, 2168, 3, 2168, 3, 2168, 3, 2168, 3, 2168, 3, 2168, 3, 2168, 3, 2169, 3, 2169, 3, 2169, 3, 2169, 3, 2169, 3, 2169, 3, 2170, 3, 2170, 3, 2170, 3, 2170, 3, 2170, 3, 2171, 3, 2171, 3, 2171, 3, 2171, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2172, 3, 2173, 3, 2173, 3, 2173, 3, 2173, 3, 2173, 3, 2173, 3, 2173, 3, 2173, 3, 2174, 3, 2174, 3, 2174, 3, 2174, 3, 2174, 3, 2175, 3, 2175, 3, 2175, 3, 2175, 3, 2175, 3, 2175, 3, 2175, 3, 2175, 3, 2175, 3, 2175, 3, 2175, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2176, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2177, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2178, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2179, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2180, 3, 2181, 3, 2181, 3, 2181, 3, 2181, 3, 2181, 3, 2181, 3, 2181, 3, 2181, 3, 2181, 3, 2181, 3, 2182, 3, 2182, 3, 2182, 3, 2182, 3, 2182, 3, 2182, 3, 2182, 3, 2182, 3, 2182, 3, 2182, 3, 2182, 3, 2183, 3, 2183, 3, 2183, 3, 2183, 3, 2183, 3, 2183, 3, 2183, 3, 2183, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2184, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2185, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2186, 3, 2187, 3, 2187, 3, 2187, 3, 2187, 3, 2187, 3, 2188, 3, 2188, 3, 2188, 3, 2188, 3, 2189, 3, 2189, 3, 2189, 3, 2189, 3, 2189, 3, 2190, 3, 2190, 3, 2190, 3, 2190, 3, 2190, 3, 2190, 3, 2190, 3, 2191, 3, 2191, 3, 2191, 3, 2191, 3, 2191, 3, 2191, 3, 2191, 3, 2192, 3, 2192, 3, 2192, 3, 2192, 3, 2193, 3, 2193, 3, 2193, 3, 2193, 3, 2193, 3, 2194, 3, 2194, 3, 2194, 3, 2194, 3, 2195, 3, 2195, 3, 2195, 3, 2195, 3, 2195, 3, 2195, 3, 2195, 3, 2196, 3, 2196, 3, 2196, 3, 2196, 3, 2197, 3, 2197, 3, 2197, 3, 2197, 3, 2197, 3, 2197, 3, 2198, 3, 2198, 3, 2198, 3, 2198, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2199, 3, 2200, 3, 2200, 3, 2200, 3, 2200, 3, 2200, 3, 2200, 3, 2201, 3, 2201, 3, 2201, 3, 2201, 3, 2201, 3, 2201, 3, 2202, 3, 2202, 3, 2202, 3, 2202, 3, 2202, 3, 2202, 3, 2202, 3, 2202, 3, 2202, 3, 2202, 3, 2202, 3, 2203, 3, 2203, 3, 2203, 3, 2203, 3, 2203, 3, 2203, 3, 2203, 3, 2204, 3, 2204, 3, 2204, 3, 2204, 3, 2204, 3, 2204, 3, 2204, 3, 2204, 3, 2205, 3, 2205, 3, 2205, 3, 2205, 3, 2205, 3, 2206, 3, 2206, 3, 2206, 3, 2206, 3, 2207, 3, 2207, 3, 2207, 3, 2207, 3, 2207, 3, 2207, 3, 2207, 3, 2208, 3, 2208, 3, 2208, 3, 2208, 3, 2208, 3, 2209, 3, 2209, 3, 2209, 3, 2209, 3, 2209, 3, 2209, 3, 2209, 3, 2209, 3, 2209, 3, 2210, 3, 2210, 3, 2210, 3, 2210, 3, 2210, 3, 2210, 3, 2211, 3, 2211, 3, 2211, 3, 2211, 3, 2211, 3, 2211, 3, 2211, 3, 2211, 3, 2211, 3, 2212, 3, 2212, 3, 2212, 3, 2212, 3, 2212, 3, 2212, 3, 2212, 3, 2212, 3, 2213, 3, 2213, 3, 2213, 3, 2213, 3, 2213, 3, 2213, 7, 2213, 29371, 10, 2213, 12, 2213, 14, 2213, 29374, 11, 2213, 3, 2213, 3, 2213, 3, 2214, 3, 2214, 3, 2214, 7, 2214, 29381, 10, 2214, 12, 2214, 14, 2214, 29384, 11, 2214, 3, 2214, 6, 2214, 29387, 10, 2214, 13, 2214, 14, 2214, 29388, 3, 2215, 3, 2215, 3, 2215, 7, 2215, 29394, 10, 2215, 12, 2215, 14, 2215, 29397, 11, 2215, 3, 2215, 6, 2215, 29400, 10, 2215, 13, 2215, 14, 2215, 29401, 3, 2216, 3, 2216, 3, 2216, 3, 2217, 3, 2217, 3, 2218, 6, 2218, 29410, 10, 2218, 13, 2218, 14, 2218, 29411, 3, 2219, 3, 2219, 3, 2219, 5, 2219, 29417, 10, 2219, 3, 2219, 3, 2219, 6, 2219, 29421, 10, 2219, 13, 2219, 14, 2219, 29422, 5, 2219, 29425, 10, 2219, 5, 2219, 29427, 10, 2219, 3, 2219, 5, 2219, 29430, 10, 2219, 3, 2220, 3, 2220, 3, 2220, 3, 2220, 3, 2220, 7, 2220, 29437, 10, 2220, 12, 2220, 14, 2220, 29440, 11, 2220, 3, 2220, 3, 2220, 3, 2221, 3, 2221, 3, 2221, 3, 2221, 3, 2221, 3, 2221, 3, 2221, 3, 2221, 3, 2221, 3, 2221, 5, 2221, 29454, 10, 2221, 3, 2221, 3, 2221, 3, 2221, 3, 2221, 3, 2222, 3, 2222, 7, 2222, 29462, 10, 2222, 12, 2222, 14, 2222, 29465, 11, 2222, 3, 2222, 3, 2222, 3, 2223, 3, 2223, 7, 2223, 29471, 10, 2223, 12, 2223, 14, 2223, 29474, 11, 2223, 3, 2223, 3, 2223, 3, 2224, 3, 2224, 7, 2224, 29480, 10, 2224, 12, 2224, 14, 2224, 29483, 11, 2224, 3, 2224, 3, 2224, 3, 2225, 3, 2225, 7, 2225, 29489, 10, 2225, 12, 2225, 14, 2225, 29492, 11, 2225, 3, 2225, 3, 2225, 3, 2226, 3, 2226, 7, 2226, 29498, 10, 2226, 12, 2226, 14, 2226, 29501, 11, 2226, 3, 2226, 3, 2226, 3, 2227, 3, 2227, 7, 2227, 29507, 10, 2227, 12, 2227, 14, 2227, 29510, 11, 2227, 3, 2227, 3, 2227, 3, 2228, 3, 2228, 7, 2228, 29516, 10, 2228, 12, 2228, 14, 2228, 29519, 11, 2228, 3, 2228, 3, 2228, 3, 2229, 3, 2229, 7, 2229, 29525, 10, 2229, 12, 2229, 14, 2229, 29528, 11, 2229, 3, 2229, 3, 2229, 3, 2230, 3, 2230, 3, 2230, 3, 2230, 6, 2230, 29536, 10, 2230, 13, 2230, 14, 2230, 29537, 3, 2230, 3, 2230, 3, 2231, 3, 2231, 3, 2232, 3, 2232, 3, 2233, 3, 2233, 3, 2234, 3, 2234, 3, 2235, 3, 2235, 3, 2235, 3, 2236, 3, 2236, 3, 2237, 3, 2237, 3, 2238, 3, 2238, 3, 2239, 3, 2239, 3, 2240, 3, 2240, 3, 2241, 3, 2241, 3, 2242, 3, 2242, 3, 2242, 3, 2243, 3, 2243, 3, 2243, 3, 2243, 7, 2243, 29572, 10, 2243, 12, 2243, 14, 2243, 29575, 11, 2243, 3, 2243, 3, 2243, 3, 2243, 3, 2243, 3, 2243, 5, 2243, 29582, 10, 2243, 3, 2244, 3, 2244, 3, 2244, 3, 2244, 3, 2244, 3, 2244, 3, 2244, 3, 2244, 5, 2244, 29592, 10, 2244, 3, 2245, 3, 2245, 3, 2246, 3, 2246, 3, 2247, 3, 2247, 3, 2248, 3, 2248, 3, 2249, 3, 2249, 3, 2250, 3, 2250, 3, 2251, 3, 2251, 3, 2252, 3, 2252, 3, 2253, 3, 2253, 3, 2254, 3, 2254, 3, 2255, 3, 2255, 3, 2256, 3, 2256, 3, 2257, 3, 2257, 3, 2257, 3, 2257, 7, 2257, 29622, 10, 2257, 12, 2257, 14, 2257, 29625, 11, 2257, 3, 2257, 3, 2257, 3, 2257, 3, 2257, 3, 2258, 3, 2258, 3, 2258, 3, 2258, 7, 2258, 29635, 10, 2258, 12, 2258, 14, 2258, 29638, 11, 2258, 3, 2258, 3, 2258, 3, 2258, 3, 2258, 3, 2258, 3, 2259, 3, 2259, 3, 2259, 3, 2259, 3, 2259, 3, 2259, 3, 2259, 3, 2259, 5, 2259, 29653, 10, 2259, 3, 2259, 3, 2259, 7, 2259, 29657, 10, 2259, 12, 2259, 14, 2259, 29660, 11, 2259, 5, 2259, 29662, 10, 2259, 3, 2259, 3, 2259, 3, 2259, 3, 2259, 3, 2260, 3, 2260, 3, 2260, 3, 2260, 3, 2260, 3, 2260, 3, 2260, 3, 2260, 5, 2260, 29676, 10, 2260, 3, 2260, 3, 2260, 7, 2260, 29680, 10, 2260, 12, 2260, 14, 2260, 29683, 11, 2260, 5, 2260, 29685, 10, 2260, 3, 2260, 3, 2260, 3, 2261, 3, 2261, 3, 2261, 5, 2261, 29692, 10, 2261, 3, 2261, 7, 2261, 29695, 10, 2261, 12, 2261, 14, 2261, 29698, 11, 2261, 3, 2261, 3, 2261, 3, 2262, 3, 2262, 3, 2262, 7, 2262, 29705, 10, 2262, 12, 2262, 14, 2262, 29708, 11, 2262, 3, 2263, 6, 2263, 29711, 10, 2263, 13, 2263, 14, 2263, 29712, 3, 2263, 3, 2263, 3, 2264, 3, 2264, 5, 2264, 29719, 10, 2264, 3, 2265, 3, 2265, 3, 2266, 3, 2266, 3, 2267, 7, 2267, 29726, 10, 2267, 12, 2267, 14, 2267, 29729, 11, 2267, 3, 2267, 5, 2267, 29732, 10, 2267, 3, 2267, 6, 2267, 29735, 10, 2267, 13, 2267, 14, 2267, 29736, 3, 2268, 5, 2268, 29740, 10, 2268, 3, 2268, 3, 2268, 3, 2269, 3, 2269, 11, 29463, 29472, 29481, 29490, 29499, 29508, 29517, 29526, 29636, 2, 2270, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 87, 173, 88, 175, 89, 177, 90, 179, 91, 181, 92, 183, 93, 185, 94, 187, 95, 189, 96, 191, 97, 193, 98, 195, 99, 197, 100, 199, 101, 201, 102, 203, 103, 205, 104, 207, 105, 209, 106, 211, 107, 213, 108, 215, 109, 217, 110, 219, 111, 221, 112, 223, 113, 225, 114, 227, 115, 229, 116, 231, 117, 233, 118, 235, 119, 237, 120, 239, 121, 241, 122, 243, 123, 245, 124, 247, 125, 249, 126, 251, 127, 253, 128, 255, 129, 257, 130, 259, 131, 261, 132, 263, 133, 265, 134, 267, 135, 269, 136, 271, 137, 273, 138, 275, 139, 277, 140, 279, 141, 281, 142, 283, 143, 285, 144, 287, 145, 289, 146, 291, 147, 293, 148, 295, 149, 297, 150, 299, 151, 301, 152, 303, 153, 305, 154, 307, 155, 309, 156, 311, 157, 313, 158, 315, 159, 317, 160, 319, 161, 321, 162, 323, 163, 325, 164, 327, 165, 329, 166, 331, 167, 333, 168, 335, 169, 337, 170, 339, 171, 341, 172, 343, 173, 345, 174, 347, 175, 349, 176, 351, 177, 353, 178, 355, 179, 357, 180, 359, 181, 361, 182, 363, 183, 365, 184, 367, 185, 369, 186, 371, 187, 373, 188, 375, 189, 377, 190, 379, 191, 381, 192, 383, 193, 385, 194, 387, 195, 389, 196, 391, 197, 393, 198, 395, 199, 397, 200, 399, 201, 401, 202, 403, 203, 405, 204, 407, 205, 409, 206, 411, 207, 413, 208, 415, 209, 417, 210, 419, 211, 421, 212, 423, 213, 425, 214, 427, 215, 429, 216, 431, 217, 433, 218, 435, 219, 437, 220, 439, 221, 441, 222, 443, 223, 445, 224, 447, 225, 449, 226, 451, 227, 453, 228, 455, 229, 457, 230, 459, 231, 461, 232, 463, 233, 465, 234, 467, 235, 469, 236, 471, 237, 473, 238, 475, 239, 477, 240, 479, 241, 481, 242, 483, 243, 485, 244, 487, 245, 489, 246, 491, 247, 493, 248, 495, 249, 497, 250, 499, 251, 501, 252, 503, 253, 505, 254, 507, 255, 509, 256, 511, 257, 513, 258, 515, 259, 517, 260, 519, 261, 521, 262, 523, 263, 525, 264, 527, 265, 529, 266, 531, 267, 533, 268, 535, 269, 537, 270, 539, 271, 541, 272, 543, 273, 545, 274, 547, 275, 549, 276, 551, 277, 553, 278, 555, 279, 557, 280, 559, 281, 561, 282, 563, 283, 565, 284, 567, 285, 569, 286, 571, 287, 573, 288, 575, 289, 577, 290, 579, 291, 581, 292, 583, 293, 585, 294, 587, 295, 589, 296, 591, 297, 593, 298, 595, 299, 597, 300, 599, 301, 601, 302, 603, 303, 605, 304, 607, 305, 609, 306, 611, 307, 613, 308, 615, 309, 617, 310, 619, 311, 621, 312, 623, 313, 625, 314, 627, 315, 629, 316, 631, 317, 633, 318, 635, 319, 637, 320, 639, 321, 641, 322, 643, 323, 645, 324, 647, 325, 649, 326, 651, 327, 653, 328, 655, 329, 657, 330, 659, 331, 661, 332, 663, 333, 665, 334, 667, 335, 669, 336, 671, 337, 673, 338, 675, 339, 677, 340, 679, 341, 681, 342, 683, 343, 685, 344, 687, 345, 689, 346, 691, 347, 693, 348, 695, 349, 697, 350, 699, 351, 701, 352, 703, 353, 705, 354, 707, 355, 709, 356, 711, 357, 713, 358, 715, 359, 717, 360, 719, 361, 721, 362, 723, 363, 725, 364, 727, 365, 729, 366, 731, 367, 733, 368, 735, 369, 737, 370, 739, 371, 741, 372, 743, 373, 745, 374, 747, 375, 749, 376, 751, 377, 753, 378, 755, 379, 757, 380, 759, 381, 761, 382, 763, 383, 765, 384, 767, 385, 769, 386, 771, 387, 773, 388, 775, 389, 777, 390, 779, 391, 781, 392, 783, 393, 785, 394, 787, 395, 789, 396, 791, 397, 793, 398, 795, 399, 797, 400, 799, 401, 801, 402, 803, 403, 805, 404, 807, 405, 809, 406, 811, 407, 813, 408, 815, 409, 817, 410, 819, 411, 821, 412, 823, 413, 825, 414, 827, 415, 829, 416, 831, 417, 833, 418, 835, 419, 837, 420, 839, 421, 841, 422, 843, 423, 845, 424, 847, 425, 849, 426, 851, 427, 853, 428, 855, 429, 857, 430, 859, 431, 861, 432, 863, 433, 865, 434, 867, 435, 869, 436, 871, 437, 873, 438, 875, 439, 877, 440, 879, 441, 881, 442, 883, 443, 885, 444, 887, 445, 889, 446, 891, 447, 893, 448, 895, 449, 897, 450, 899, 451, 901, 452, 903, 453, 905, 454, 907, 455, 909, 456, 911, 457, 913, 458, 915, 459, 917, 460, 919, 461, 921, 462, 923, 463, 925, 464, 927, 465, 929, 466, 931, 467, 933, 468, 935, 469, 937, 470, 939, 471, 941, 472, 943, 473, 945, 474, 947, 475, 949, 476, 951, 477, 953, 478, 955, 479, 957, 480, 959, 481, 961, 482, 963, 483, 965, 484, 967, 485, 969, 486, 971, 487, 973, 488, 975, 489, 977, 490, 979, 491, 981, 492, 983, 493, 985, 494, 987, 495, 989, 496, 991, 497, 993, 498, 995, 499, 997, 500, 999, 501, 1001, 502, 1003, 503, 1005, 504, 1007, 505, 1009, 506, 1011, 507, 1013, 508, 1015, 509, 1017, 510, 1019, 511, 1021, 512, 1023, 513, 1025, 514, 1027, 515, 1029, 516, 1031, 517, 1033, 518, 1035, 519, 1037, 520, 1039, 521, 1041, 522, 1043, 523, 1045, 524, 1047, 525, 1049, 526, 1051, 527, 1053, 528, 1055, 529, 1057, 530, 1059, 531, 1061, 532, 1063, 533, 1065, 534, 1067, 535, 1069, 536, 1071, 537, 1073, 538, 1075, 539, 1077, 540, 1079, 541, 1081, 542, 1083, 543, 1085, 544, 1087, 545, 1089, 546, 1091, 547, 1093, 548, 1095, 549, 1097, 550, 1099, 551, 1101, 552, 1103, 553, 1105, 554, 1107, 555, 1109, 556, 1111, 557, 1113, 558, 1115, 559, 1117, 560, 1119, 561, 1121, 562, 1123, 563, 1125, 564, 1127, 565, 1129, 566, 1131, 567, 1133, 568, 1135, 569, 1137, 570, 1139, 571, 1141, 572, 1143, 573, 1145, 574, 1147, 575, 1149, 576, 1151, 577, 1153, 578, 1155, 579, 1157, 580, 1159, 581, 1161, 582, 1163, 583, 1165, 584, 1167, 585, 1169, 586, 1171, 587, 1173, 588, 1175, 589, 1177, 590, 1179, 591, 1181, 592, 1183, 593, 1185, 594, 1187, 595, 1189, 596, 1191, 597, 1193, 598, 1195, 599, 1197, 600, 1199, 601, 1201, 602, 1203, 603, 1205, 604, 1207, 605, 1209, 606, 1211, 607, 1213, 608, 1215, 609, 1217, 610, 1219, 611, 1221, 612, 1223, 613, 1225, 614, 1227, 615, 1229, 616, 1231, 617, 1233, 618, 1235, 619, 1237, 620, 1239, 621, 1241, 622, 1243, 623, 1245, 624, 1247, 625, 1249, 626, 1251, 627, 1253, 628, 1255, 629, 1257, 630, 1259, 631, 1261, 632, 1263, 633, 1265, 634, 1267, 635, 1269, 636, 1271, 637, 1273, 638, 1275, 639, 1277, 640, 1279, 641, 1281, 642, 1283, 643, 1285, 644, 1287, 645, 1289, 646, 1291, 647, 1293, 648, 1295, 649, 1297, 650, 1299, 651, 1301, 652, 1303, 653, 1305, 654, 1307, 655, 1309, 656, 1311, 657, 1313, 658, 1315, 659, 1317, 660, 1319, 661, 1321, 662, 1323, 663, 1325, 664, 1327, 665, 1329, 666, 1331, 667, 1333, 668, 1335, 669, 1337, 670, 1339, 671, 1341, 672, 1343, 673, 1345, 674, 1347, 675, 1349, 676, 1351, 677, 1353, 678, 1355, 679, 1357, 680, 1359, 681, 1361, 682, 1363, 683, 1365, 684, 1367, 685, 1369, 686, 1371, 687, 1373, 688, 1375, 689, 1377, 690, 1379, 691, 1381, 692, 1383, 693, 1385, 694, 1387, 695, 1389, 696, 1391, 697, 1393, 698, 1395, 699, 1397, 700, 1399, 701, 1401, 702, 1403, 703, 1405, 704, 1407, 705, 1409, 706, 1411, 707, 1413, 708, 1415, 709, 1417, 710, 1419, 711, 1421, 712, 1423, 713, 1425, 714, 1427, 715, 1429, 716, 1431, 717, 1433, 718, 1435, 719, 1437, 720, 1439, 721, 1441, 722, 1443, 723, 1445, 724, 1447, 725, 1449, 726, 1451, 727, 1453, 728, 1455, 729, 1457, 730, 1459, 731, 1461, 732, 1463, 733, 1465, 734, 1467, 735, 1469, 736, 1471, 737, 1473, 738, 1475, 739, 1477, 740, 1479, 741, 1481, 742, 1483, 743, 1485, 744, 1487, 745, 1489, 746, 1491, 747, 1493, 748, 1495, 749, 1497, 750, 1499, 751, 1501, 752, 1503, 753, 1505, 754, 1507, 755, 1509, 756, 1511, 757, 1513, 758, 1515, 759, 1517, 760, 1519, 761, 1521, 762, 1523, 763, 1525, 764, 1527, 765, 1529, 766, 1531, 767, 1533, 768, 1535, 769, 1537, 770, 1539, 771, 1541, 772, 1543, 773, 1545, 774, 1547, 775, 1549, 776, 1551, 777, 1553, 778, 1555, 779, 1557, 780, 1559, 781, 1561, 782, 1563, 783, 1565, 784, 1567, 785, 1569, 786, 1571, 787, 1573, 788, 1575, 789, 1577, 790, 1579, 791, 1581, 792, 1583, 793, 1585, 794, 1587, 795, 1589, 796, 1591, 797, 1593, 798, 1595, 799, 1597, 800, 1599, 801, 1601, 802, 1603, 803, 1605, 804, 1607, 805, 1609, 806, 1611, 807, 1613, 808, 1615, 809, 1617, 810, 1619, 811, 1621, 812, 1623, 813, 1625, 814, 1627, 815, 1629, 816, 1631, 817, 1633, 818, 1635, 819, 1637, 820, 1639, 821, 1641, 822, 1643, 823, 1645, 824, 1647, 825, 1649, 826, 1651, 827, 1653, 828, 1655, 829, 1657, 830, 1659, 831, 1661, 832, 1663, 833, 1665, 834, 1667, 835, 1669, 836, 1671, 837, 1673, 838, 1675, 839, 1677, 840, 1679, 841, 1681, 842, 1683, 843, 1685, 844, 1687, 845, 1689, 846, 1691, 847, 1693, 848, 1695, 849, 1697, 850, 1699, 851, 1701, 852, 1703, 853, 1705, 854, 1707, 855, 1709, 856, 1711, 857, 1713, 858, 1715, 859, 1717, 860, 1719, 861, 1721, 862, 1723, 863, 1725, 864, 1727, 865, 1729, 866, 1731, 867, 1733, 868, 1735, 869, 1737, 870, 1739, 871, 1741, 872, 1743, 873, 1745, 874, 1747, 875, 1749, 876, 1751, 877, 1753, 878, 1755, 879, 1757, 880, 1759, 881, 1761, 882, 1763, 883, 1765, 884, 1767, 885, 1769, 886, 1771, 887, 1773, 888, 1775, 889, 1777, 890, 1779, 891, 1781, 892, 1783, 893, 1785, 894, 1787, 895, 1789, 896, 1791, 897, 1793, 898, 1795, 899, 1797, 900, 1799, 901, 1801, 902, 1803, 903, 1805, 904, 1807, 905, 1809, 906, 1811, 907, 1813, 908, 1815, 909, 1817, 910, 1819, 911, 1821, 912, 1823, 913, 1825, 914, 1827, 915, 1829, 916, 1831, 917, 1833, 918, 1835, 919, 1837, 920, 1839, 921, 1841, 922, 1843, 923, 1845, 924, 1847, 925, 1849, 926, 1851, 927, 1853, 928, 1855, 929, 1857, 930, 1859, 931, 1861, 932, 1863, 933, 1865, 934, 1867, 935, 1869, 936, 1871, 937, 1873, 938, 1875, 939, 1877, 940, 1879, 941, 1881, 942, 1883, 943, 1885, 944, 1887, 945, 1889, 946, 1891, 947, 1893, 948, 1895, 949, 1897, 950, 1899, 951, 1901, 952, 1903, 953, 1905, 954, 1907, 955, 1909, 956, 1911, 957, 1913, 958, 1915, 959, 1917, 960, 1919, 961, 1921, 962, 1923, 963, 1925, 964, 1927, 965, 1929, 966, 1931, 967, 1933, 968, 1935, 969, 1937, 970, 1939, 971, 1941, 972, 1943, 973, 1945, 974, 1947, 975, 1949, 976, 1951, 977, 1953, 978, 1955, 979, 1957, 980, 1959, 981, 1961, 982, 1963, 983, 1965, 984, 1967, 985, 1969, 986, 1971, 987, 1973, 988, 1975, 989, 1977, 990, 1979, 991, 1981, 992, 1983, 993, 1985, 994, 1987, 995, 1989, 996, 1991, 997, 1993, 998, 1995, 999, 1997, 1000, 1999, 1001, 2001, 1002, 2003, 1003, 2005, 1004, 2007, 1005, 2009, 1006, 2011, 1007, 2013, 1008, 2015, 1009, 2017, 1010, 2019, 1011, 2021, 1012, 2023, 1013, 2025, 1014, 2027, 1015, 2029, 1016, 2031, 1017, 2033, 1018, 2035, 1019, 2037, 1020, 2039, 1021, 2041, 1022, 2043, 1023, 2045, 1024, 2047, 1025, 2049, 1026, 2051, 1027, 2053, 1028, 2055, 1029, 2057, 1030, 2059, 1031, 2061, 1032, 2063, 1033, 2065, 1034, 2067, 1035, 2069, 1036, 2071, 1037, 2073, 1038, 2075, 1039, 2077, 1040, 2079, 1041, 2081, 1042, 2083, 1043, 2085, 1044, 2087, 1045, 2089, 1046, 2091, 1047, 2093, 1048, 2095, 1049, 2097, 1050, 2099, 1051, 2101, 1052, 2103, 1053, 2105, 1054, 2107, 1055, 2109, 1056, 2111, 1057, 2113, 1058, 2115, 1059, 2117, 1060, 2119, 1061, 2121, 1062, 2123, 1063, 2125, 1064, 2127, 1065, 2129, 1066, 2131, 1067, 2133, 1068, 2135, 1069, 2137, 1070, 2139, 1071, 2141, 1072, 2143, 1073, 2145, 1074, 2147, 1075, 2149, 1076, 2151, 1077, 2153, 1078, 2155, 1079, 2157, 1080, 2159, 1081, 2161, 1082, 2163, 1083, 2165, 1084, 2167, 1085, 2169, 1086, 2171, 1087, 2173, 1088, 2175, 1089, 2177, 1090, 2179, 1091, 2181, 1092, 2183, 1093, 2185, 1094, 2187, 1095, 2189, 1096, 2191, 1097, 2193, 1098, 2195, 1099, 2197, 1100, 2199, 1101, 2201, 1102, 2203, 1103, 2205, 1104, 2207, 1105, 2209, 1106, 2211, 1107, 2213, 1108, 2215, 1109, 2217, 1110, 2219, 1111, 2221, 1112, 2223, 1113, 2225, 1114, 2227, 1115, 2229, 1116, 2231, 1117, 2233, 1118, 2235, 1119, 2237, 1120, 2239, 1121, 2241, 1122, 2243, 1123, 2245, 1124, 2247, 1125, 2249, 1126, 2251, 1127, 2253, 1128, 2255, 1129, 2257, 1130, 2259, 1131, 2261, 1132, 2263, 1133, 2265, 1134, 2267, 1135, 2269, 1136, 2271, 1137, 2273, 1138, 2275, 1139, 2277, 1140, 2279, 1141, 2281, 1142, 2283, 1143, 2285, 1144, 2287, 1145, 2289, 1146, 2291, 1147, 2293, 1148, 2295, 1149, 2297, 1150, 2299, 1151, 2301, 1152, 2303, 1153, 2305, 1154, 2307, 1155, 2309, 1156, 2311, 1157, 2313, 1158, 2315, 1159, 2317, 1160, 2319, 1161, 2321, 1162, 2323, 1163, 2325, 1164, 2327, 1165, 2329, 1166, 2331, 1167, 2333, 1168, 2335, 1169, 2337, 1170, 2339, 1171, 2341, 1172, 2343, 1173, 2345, 1174, 2347, 1175, 2349, 1176, 2351, 1177, 2353, 1178, 2355, 1179, 2357, 1180, 2359, 1181, 2361, 1182, 2363, 1183, 2365, 1184, 2367, 1185, 2369, 1186, 2371, 1187, 2373, 1188, 2375, 1189, 2377, 1190, 2379, 1191, 2381, 1192, 2383, 1193, 2385, 1194, 2387, 1195, 2389, 1196, 2391, 1197, 2393, 1198, 2395, 1199, 2397, 1200, 2399, 1201, 2401, 1202, 2403, 1203, 2405, 1204, 2407, 1205, 2409, 1206, 2411, 1207, 2413, 1208, 2415, 1209, 2417, 1210, 2419, 1211, 2421, 1212, 2423, 1213, 2425, 1214, 2427, 1215, 2429, 1216, 2431, 1217, 2433, 1218, 2435, 1219, 2437, 1220, 2439, 1221, 2441, 1222, 2443, 1223, 2445, 1224, 2447, 1225, 2449, 1226, 2451, 1227, 2453, 1228, 2455, 1229, 2457, 1230, 2459, 1231, 2461, 1232, 2463, 1233, 2465, 1234, 2467, 1235, 2469, 1236, 2471, 1237, 2473, 1238, 2475, 1239, 2477, 1240, 2479, 1241, 2481, 1242, 2483, 1243, 2485, 1244, 2487, 1245, 2489, 1246, 2491, 1247, 2493, 1248, 2495, 1249, 2497, 1250, 2499, 1251, 2501, 1252, 2503, 1253, 2505, 1254, 2507, 1255, 2509, 1256, 2511, 1257, 2513, 1258, 2515, 1259, 2517, 1260, 2519, 1261, 2521, 1262, 2523, 1263, 2525, 1264, 2527, 1265, 2529, 1266, 2531, 1267, 2533, 1268, 2535, 1269, 2537, 1270, 2539, 1271, 2541, 1272, 2543, 1273, 2545, 1274, 2547, 1275, 2549, 1276, 2551, 1277, 2553, 1278, 2555, 1279, 2557, 1280, 2559, 1281, 2561, 1282, 2563, 1283, 2565, 1284, 2567, 1285, 2569, 1286, 2571, 1287, 2573, 1288, 2575, 1289, 2577, 1290, 2579, 1291, 2581, 1292, 2583, 1293, 2585, 1294, 2587, 1295, 2589, 1296, 2591, 1297, 2593, 1298, 2595, 1299, 2597, 1300, 2599, 1301, 2601, 1302, 2603, 1303, 2605, 1304, 2607, 1305, 2609, 1306, 2611, 1307, 2613, 1308, 2615, 1309, 2617, 1310, 2619, 1311, 2621, 1312, 2623, 1313, 2625, 1314, 2627, 1315, 2629, 1316, 2631, 1317, 2633, 1318, 2635, 1319, 2637, 1320, 2639, 1321, 2641, 1322, 2643, 1323, 2645, 1324, 2647, 1325, 2649, 1326, 2651, 1327, 2653, 1328, 2655, 1329, 2657, 1330, 2659, 1331, 2661, 1332, 2663, 1333, 2665, 1334, 2667, 1335, 2669, 1336, 2671, 1337, 2673, 1338, 2675, 1339, 2677, 1340, 2679, 1341, 2681, 1342, 2683, 1343, 2685, 1344, 2687, 1345, 2689, 1346, 2691, 1347, 2693, 1348, 2695, 1349, 2697, 1350, 2699, 1351, 2701, 1352, 2703, 1353, 2705, 1354, 2707, 1355, 2709, 1356, 2711, 1357, 2713, 1358, 2715, 1359, 2717, 1360, 2719, 1361, 2721, 1362, 2723, 1363, 2725, 1364, 2727, 1365, 2729, 1366, 2731, 1367, 2733, 1368, 2735, 1369, 2737, 1370, 2739, 1371, 2741, 1372, 2743, 1373, 2745, 1374, 2747, 1375, 2749, 1376, 2751, 1377, 2753, 1378, 2755, 1379, 2757, 1380, 2759, 1381, 2761, 1382, 2763, 1383, 2765, 1384, 2767, 1385, 2769, 1386, 2771, 1387, 2773, 1388, 2775, 1389, 2777, 1390, 2779, 1391, 2781, 1392, 2783, 1393, 2785, 1394, 2787, 1395, 2789, 1396, 2791, 1397, 2793, 1398, 2795, 1399, 2797, 1400, 2799, 1401, 2801, 1402, 2803, 1403, 2805, 1404, 2807, 1405, 2809, 1406, 2811, 1407, 2813, 1408, 2815, 1409, 2817, 1410, 2819, 1411, 2821, 1412, 2823, 1413, 2825, 1414, 2827, 1415, 2829, 1416, 2831, 1417, 2833, 1418, 2835, 1419, 2837, 1420, 2839, 1421, 2841, 1422, 2843, 1423, 2845, 1424, 2847, 1425, 2849, 1426, 2851, 1427, 2853, 1428, 2855, 1429, 2857, 1430, 2859, 1431, 2861, 1432, 2863, 1433, 2865, 1434, 2867, 1435, 2869, 1436, 2871, 1437, 2873, 1438, 2875, 1439, 2877, 1440, 2879, 1441, 2881, 1442, 2883, 1443, 2885, 1444, 2887, 1445, 2889, 1446, 2891, 1447, 2893, 1448, 2895, 1449, 2897, 1450, 2899, 1451, 2901, 1452, 2903, 1453, 2905, 1454, 2907, 1455, 2909, 1456, 2911, 1457, 2913, 1458, 2915, 1459, 2917, 1460, 2919, 1461, 2921, 1462, 2923, 1463, 2925, 1464, 2927, 1465, 2929, 1466, 2931, 1467, 2933, 1468, 2935, 1469, 2937, 1470, 2939, 1471, 2941, 1472, 2943, 1473, 2945, 1474, 2947, 1475, 2949, 1476, 2951, 1477, 2953, 1478, 2955, 1479, 2957, 1480, 2959, 1481, 2961, 1482, 2963, 1483, 2965, 1484, 2967, 1485, 2969, 1486, 2971, 1487, 2973, 1488, 2975, 1489, 2977, 1490, 2979, 1491, 2981, 1492, 2983, 1493, 2985, 1494, 2987, 1495, 2989, 1496, 2991, 1497, 2993, 1498, 2995, 1499, 2997, 1500, 2999, 1501, 3001, 1502, 3003, 1503, 3005, 1504, 3007, 1505, 3009, 1506, 3011, 1507, 3013, 1508, 3015, 1509, 3017, 1510, 3019, 1511, 3021, 1512, 3023, 1513, 3025, 1514, 3027, 1515, 3029, 1516, 3031, 1517, 3033, 1518, 3035, 1519, 3037, 1520, 3039, 1521, 3041, 1522, 3043, 1523, 3045, 1524, 3047, 1525, 3049, 1526, 3051, 1527, 3053, 1528, 3055, 1529, 3057, 1530, 3059, 1531, 3061, 1532, 3063, 1533, 3065, 1534, 3067, 1535, 3069, 1536, 3071, 1537, 3073, 1538, 3075, 1539, 3077, 1540, 3079, 1541, 3081, 1542, 3083, 1543, 3085, 1544, 3087, 1545, 3089, 1546, 3091, 1547, 3093, 1548, 3095, 1549, 3097, 1550, 3099, 1551, 3101, 1552, 3103, 1553, 3105, 1554, 3107, 1555, 3109, 1556, 3111, 1557, 3113, 1558, 3115, 1559, 3117, 1560, 3119, 1561, 3121, 1562, 3123, 1563, 3125, 1564, 3127, 1565, 3129, 1566, 3131, 1567, 3133, 1568, 3135, 1569, 3137, 1570, 3139, 1571, 3141, 1572, 3143, 1573, 3145, 1574, 3147, 1575, 3149, 1576, 3151, 1577, 3153, 1578, 3155, 1579, 3157, 1580, 3159, 1581, 3161, 1582, 3163, 1583, 3165, 1584, 3167, 1585, 3169, 1586, 3171, 1587, 3173, 1588, 3175, 1589, 3177, 1590, 3179, 1591, 3181, 1592, 3183, 1593, 3185, 1594, 3187, 1595, 3189, 1596, 3191, 1597, 3193, 1598, 3195, 1599, 3197, 1600, 3199, 1601, 3201, 1602, 3203, 1603, 3205, 1604, 3207, 1605, 3209, 1606, 3211, 1607, 3213, 1608, 3215, 1609, 3217, 1610, 3219, 1611, 3221, 1612, 3223, 1613, 3225, 1614, 3227, 1615, 3229, 1616, 3231, 1617, 3233, 1618, 3235, 1619, 3237, 1620, 3239, 1621, 3241, 1622, 3243, 1623, 3245, 1624, 3247, 1625, 3249, 1626, 3251, 1627, 3253, 1628, 3255, 1629, 3257, 1630, 3259, 1631, 3261, 1632, 3263, 1633, 3265, 1634, 3267, 1635, 3269, 1636, 3271, 1637, 3273, 1638, 3275, 1639, 3277, 1640, 3279, 1641, 3281, 1642, 3283, 1643, 3285, 1644, 3287, 1645, 3289, 1646, 3291, 1647, 3293, 1648, 3295, 1649, 3297, 1650, 3299, 1651, 3301, 1652, 3303, 1653, 3305, 1654, 3307, 1655, 3309, 1656, 3311, 1657, 3313, 1658, 3315, 1659, 3317, 1660, 3319, 1661, 3321, 1662, 3323, 1663, 3325, 1664, 3327, 1665, 3329, 1666, 3331, 1667, 3333, 1668, 3335, 1669, 3337, 1670, 3339, 1671, 3341, 1672, 3343, 1673, 3345, 1674, 3347, 1675, 3349, 1676, 3351, 1677, 3353, 1678, 3355, 1679, 3357, 1680, 3359, 1681, 3361, 1682, 3363, 1683, 3365, 1684, 3367, 1685, 3369, 1686, 3371, 1687, 3373, 1688, 3375, 1689, 3377, 1690, 3379, 1691, 3381, 1692, 3383, 1693, 3385, 1694, 3387, 1695, 3389, 1696, 3391, 1697, 3393, 1698, 3395, 1699, 3397, 1700, 3399, 1701, 3401, 1702, 3403, 1703, 3405, 1704, 3407, 1705, 3409, 1706, 3411, 1707, 3413, 1708, 3415, 1709, 3417, 1710, 3419, 1711, 3421, 1712, 3423, 1713, 3425, 1714, 3427, 1715, 3429, 1716, 3431, 1717, 3433, 1718, 3435, 1719, 3437, 1720, 3439, 1721, 3441, 1722, 3443, 1723, 3445, 1724, 3447, 1725, 3449, 1726, 3451, 1727, 3453, 1728, 3455, 1729, 3457, 1730, 3459, 1731, 3461, 1732, 3463, 1733, 3465, 1734, 3467, 1735, 3469, 1736, 3471, 1737, 3473, 1738, 3475, 1739, 3477, 1740, 3479, 1741, 3481, 1742, 3483, 1743, 3485, 1744, 3487, 1745, 3489, 1746, 3491, 1747, 3493, 1748, 3495, 1749, 3497, 1750, 3499, 1751, 3501, 1752, 3503, 1753, 3505, 1754, 3507, 1755, 3509, 1756, 3511, 1757, 3513, 1758, 3515, 1759, 3517, 1760, 3519, 1761, 3521, 1762, 3523, 1763, 3525, 1764, 3527, 1765, 3529, 1766, 3531, 1767, 3533, 1768, 3535, 1769, 3537, 1770, 3539, 1771, 3541, 1772, 3543, 1773, 3545, 1774, 3547, 1775, 3549, 1776, 3551, 1777, 3553, 1778, 3555, 1779, 3557, 1780, 3559, 1781, 3561, 1782, 3563, 1783, 3565, 1784, 3567, 1785, 3569, 1786, 3571, 1787, 3573, 1788, 3575, 1789, 3577, 1790, 3579, 1791, 3581, 1792, 3583, 1793, 3585, 1794, 3587, 1795, 3589, 1796, 3591, 1797, 3593, 1798, 3595, 1799, 3597, 1800, 3599, 1801, 3601, 1802, 3603, 1803, 3605, 1804, 3607, 1805, 3609, 1806, 3611, 1807, 3613, 1808, 3615, 1809, 3617, 1810, 3619, 1811, 3621, 1812, 3623, 1813, 3625, 1814, 3627, 1815, 3629, 1816, 3631, 1817, 3633, 1818, 3635, 1819, 3637, 1820, 3639, 1821, 3641, 1822, 3643, 1823, 3645, 1824, 3647, 1825, 3649, 1826, 3651, 1827, 3653, 1828, 3655, 1829, 3657, 1830, 3659, 1831, 3661, 1832, 3663, 1833, 3665, 1834, 3667, 1835, 3669, 1836, 3671, 1837, 3673, 1838, 3675, 1839, 3677, 1840, 3679, 1841, 3681, 1842, 3683, 1843, 3685, 1844, 3687, 1845, 3689, 1846, 3691, 1847, 3693, 1848, 3695, 1849, 3697, 1850, 3699, 1851, 3701, 1852, 3703, 1853, 3705, 1854, 3707, 1855, 3709, 1856, 3711, 1857, 3713, 1858, 3715, 1859, 3717, 1860, 3719, 1861, 3721, 1862, 3723, 1863, 3725, 1864, 3727, 1865, 3729, 1866, 3731, 1867, 3733, 1868, 3735, 1869, 3737, 1870, 3739, 1871, 3741, 1872, 3743, 1873, 3745, 1874, 3747, 1875, 3749, 1876, 3751, 1877, 3753, 1878, 3755, 1879, 3757, 1880, 3759, 1881, 3761, 1882, 3763, 1883, 3765, 1884, 3767, 1885, 3769, 1886, 3771, 1887, 3773, 1888, 3775, 1889, 3777, 1890, 3779, 1891, 3781, 1892, 3783, 1893, 3785, 1894, 3787, 1895, 3789, 1896, 3791, 1897, 3793, 1898, 3795, 1899, 3797, 1900, 3799, 1901, 3801, 1902, 3803, 1903, 3805, 1904, 3807, 1905, 3809, 1906, 3811, 1907, 3813, 1908, 3815, 1909, 3817, 1910, 3819, 1911, 3821, 1912, 3823, 1913, 3825, 1914, 3827, 1915, 3829, 1916, 3831, 1917, 3833, 1918, 3835, 1919, 3837, 1920, 3839, 1921, 3841, 1922, 3843, 1923, 3845, 1924, 3847, 1925, 3849, 1926, 3851, 1927, 3853, 1928, 3855, 1929, 3857, 1930, 3859, 1931, 3861, 1932, 3863, 1933, 3865, 1934, 3867, 1935, 3869, 1936, 3871, 1937, 3873, 1938, 3875, 1939, 3877, 1940, 3879, 1941, 3881, 1942, 3883, 1943, 3885, 1944, 3887, 1945, 3889, 1946, 3891, 1947, 3893, 1948, 3895, 1949, 3897, 1950, 3899, 1951, 3901, 1952, 3903, 1953, 3905, 1954, 3907, 1955, 3909, 1956, 3911, 1957, 3913, 1958, 3915, 1959, 3917, 1960, 3919, 1961, 3921, 1962, 3923, 1963, 3925, 1964, 3927, 1965, 3929, 1966, 3931, 1967, 3933, 1968, 3935, 1969, 3937, 1970, 3939, 1971, 3941, 1972, 3943, 1973, 3945, 1974, 3947, 1975, 3949, 1976, 3951, 1977, 3953, 1978, 3955, 1979, 3957, 1980, 3959, 1981, 3961, 1982, 3963, 1983, 3965, 1984, 3967, 1985, 3969, 1986, 3971, 1987, 3973, 1988, 3975, 1989, 3977, 1990, 3979, 1991, 3981, 1992, 3983, 1993, 3985, 1994, 3987, 1995, 3989, 1996, 3991, 1997, 3993, 1998, 3995, 1999, 3997, 2000, 3999, 2001, 4001, 2002, 4003, 2003, 4005, 2004, 4007, 2005, 4009, 2006, 4011, 2007, 4013, 2008, 4015, 2009, 4017, 2010, 4019, 2011, 4021, 2012, 4023, 2013, 4025, 2014, 4027, 2015, 4029, 2016, 4031, 2017, 4033, 2018, 4035, 2019, 4037, 2020, 4039, 2021, 4041, 2022, 4043, 2023, 4045, 2024, 4047, 2025, 4049, 2026, 4051, 2027, 4053, 2028, 4055, 2029, 4057, 2030, 4059, 2031, 4061, 2032, 4063, 2033, 4065, 2034, 4067, 2035, 4069, 2036, 4071, 2037, 4073, 2038, 4075, 2039, 4077, 2040, 4079, 2041, 4081, 2042, 4083, 2043, 4085, 2044, 4087, 2045, 4089, 2046, 4091, 2047, 4093, 2048, 4095, 2049, 4097, 2050, 4099, 2051, 4101, 2052, 4103, 2053, 4105, 2054, 4107, 2055, 4109, 2056, 4111, 2057, 4113, 2058, 4115, 2059, 4117, 2060, 4119, 2061, 4121, 2062, 4123, 2063, 4125, 2064, 4127, 2065, 4129, 2066, 4131, 2067, 4133, 2068, 4135, 2069, 4137, 2070, 4139, 2071, 4141, 2072, 4143, 2073, 4145, 2074, 4147, 2075, 4149, 2076, 4151, 2077, 4153, 2078, 4155, 2079, 4157, 2080, 4159, 2081, 4161, 2082, 4163, 2083, 4165, 2084, 4167, 2085, 4169, 2086, 4171, 2087, 4173, 2088, 4175, 2089, 4177, 2090, 4179, 2091, 4181, 2092, 4183, 2093, 4185, 2094, 4187, 2095, 4189, 2096, 4191, 2097, 4193, 2098, 4195, 2099, 4197, 2100, 4199, 2101, 4201, 2102, 4203, 2103, 4205, 2104, 4207, 2105, 4209, 2106, 4211, 2107, 4213, 2108, 4215, 2109, 4217, 2110, 4219, 2111, 4221, 2112, 4223, 2113, 4225, 2114, 4227, 2115, 4229, 2116, 4231, 2117, 4233, 2118, 4235, 2119, 4237, 2120, 4239, 2121, 4241, 2122, 4243, 2123, 4245, 2124, 4247, 2125, 4249, 2126, 4251, 2127, 4253, 2128, 4255, 2129, 4257, 2130, 4259, 2131, 4261, 2132, 4263, 2133, 4265, 2134, 4267, 2135, 4269, 2136, 4271, 2137, 4273, 2138, 4275, 2139, 4277, 2140, 4279, 2141, 4281, 2142, 4283, 2143, 4285, 2144, 4287, 2145, 4289, 2146, 4291, 2147, 4293, 2148, 4295, 2149, 4297, 2150, 4299, 2151, 4301, 2152, 4303, 2153, 4305, 2154, 4307, 2155, 4309, 2156, 4311, 2157, 4313, 2158, 4315, 2159, 4317, 2160, 4319, 2161, 4321, 2162, 4323, 2163, 4325, 2164, 4327, 2165, 4329, 2166, 4331, 2167, 4333, 2168, 4335, 2169, 4337, 2170, 4339, 2171, 4341, 2172, 4343, 2173, 4345, 2174, 4347, 2175, 4349, 2176, 4351, 2177, 4353, 2178, 4355, 2179, 4357, 2180, 4359, 2181, 4361, 2182, 4363, 2183, 4365, 2184, 4367, 2185, 4369, 2186, 4371, 2187, 4373, 2188, 4375, 2189, 4377, 2190, 4379, 2191, 4381, 2192, 4383, 2193, 4385, 2194, 4387, 2195, 4389, 2196, 4391, 2197, 4393, 2198, 4395, 2199, 4397, 2200, 4399, 2201, 4401, 2202, 4403, 2203, 4405, 2204, 4407, 2205, 4409, 2206, 4411, 2207, 4413, 2208, 4415, 2209, 4417, 2210, 4419, 2211, 4421, 2212, 4423, 2213, 4425, 2214, 4427, 2215, 4429, 2216, 4431, 2217, 4433, 2218, 4435, 2219, 4437, 2220, 4439, 2221, 4441, 2, 4443, 2, 4445, 2, 4447, 2, 4449, 2, 4451, 2, 4453, 2, 4455, 2, 4457, 2, 4459, 2222, 4461, 2223, 4463, 2224, 4465, 2225, 4467, 2226, 4469, 2227, 4471, 2228, 4473, 2229, 4475, 2230, 4477, 2231, 4479, 2232, 4481, 2233, 4483, 2234, 4485, 2235, 4487, 2236, 4489, 2237, 4491, 2238, 4493, 2239, 4495, 2240, 4497, 2241, 4499, 2242, 4501, 2243, 4503, 2244, 4505, 2245, 4507, 2246, 4509, 2247, 4511, 2248, 4513, 2249, 4515, 2250, 4517, 2251, 4519, 2252, 4521, 2253, 4523, 2254, 4525, 2255, 4527, 2, 4529, 2, 4531, 2, 4533, 2, 4535, 2, 4537, 2, 3, 2, 15, 5, 2, 12, 12, 15, 15, 41, 41, 3, 2, 50, 51, 4, 2, 50, 59, 67, 72, 3, 2, 50, 59, 4, 2, 45, 45, 47, 47, 4, 2, 70, 70, 72, 72, 5, 2, 12, 12, 15, 15, 36, 36, 4, 2, 50, 59, 97, 97, 4, 2, 12, 12, 15, 15, 5, 2, 37, 38, 50, 59, 97, 97, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 67, 92, 4, 2, 11, 11, 34, 34, 2, 29795, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2, 2, 121, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3, 2, 2, 2, 2, 129, 3, 2, 2, 2, 2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2, 145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 151, 3, 2, 2, 2, 2, 153, 3, 2, 2, 2, 2, 155, 3, 2, 2, 2, 2, 157, 3, 2, 2, 2, 2, 159, 3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 163, 3, 2, 2, 2, 2, 165, 3, 2, 2, 2, 2, 167, 3, 2, 2, 2, 2, 169, 3, 2, 2, 2, 2, 171, 3, 2, 2, 2, 2, 173, 3, 2, 2, 2, 2, 175, 3, 2, 2, 2, 2, 177, 3, 2, 2, 2, 2, 179, 3, 2, 2, 2, 2, 181, 3, 2, 2, 2, 2, 183, 3, 2, 2, 2, 2, 185, 3, 2, 2, 2, 2, 187, 3, 2, 2, 2, 2, 189, 3, 2, 2, 2, 2, 191, 3, 2, 2, 2, 2, 193, 3, 2, 2, 2, 2, 195, 3, 2, 2, 2, 2, 197, 3, 2, 2, 2, 2, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 2, 237, 3, 2, 2, 2, 2, 239, 3, 2, 2, 2, 2, 241, 3, 2, 2, 2, 2, 243, 3, 2, 2, 2, 2, 245, 3, 2, 2, 2, 2, 247, 3, 2, 2, 2, 2, 249, 3, 2, 2, 2, 2, 251, 3, 2, 2, 2, 2, 253, 3, 2, 2, 2, 2, 255, 3, 2, 2, 2, 2, 257, 3, 2, 2, 2, 2, 259, 3, 2, 2, 2, 2, 261, 3, 2, 2, 2, 2, 263, 3, 2, 2, 2, 2, 265, 3, 2, 2, 2, 2, 267, 3, 2, 2, 2, 2, 269, 3, 2, 2, 2, 2, 271, 3, 2, 2, 2, 2, 273, 3, 2, 2, 2, 2, 275, 3, 2, 2, 2, 2, 277, 3, 2, 2, 2, 2, 279, 3, 2, 2, 2, 2, 281, 3, 2, 2, 2, 2, 283, 3, 2, 2, 2, 2, 285, 3, 2, 2, 2, 2, 287, 3, 2, 2, 2, 2, 289, 3, 2, 2, 2, 2, 291, 3, 2, 2, 2, 2, 293, 3, 2, 2, 2, 2, 295, 3, 2, 2, 2, 2, 297, 3, 2, 2, 2, 2, 299, 3, 2, 2, 2, 2, 301, 3, 2, 2, 2, 2, 303, 3, 2, 2, 2, 2, 305, 3, 2, 2, 2, 2, 307, 3, 2, 2, 2, 2, 309, 3, 2, 2, 2, 2, 311, 3, 2, 2, 2, 2, 313, 3, 2, 2, 2, 2, 315, 3, 2, 2, 2, 2, 317, 3, 2, 2, 2, 2, 319, 3, 2, 2, 2, 2, 321, 3, 2, 2, 2, 2, 323, 3, 2, 2, 2, 2, 325, 3, 2, 2, 2, 2, 327, 3, 2, 2, 2, 2, 329, 3, 2, 2, 2, 2, 331, 3, 2, 2, 2, 2, 333, 3, 2, 2, 2, 2, 335, 3, 2, 2, 2, 2, 337, 3, 2, 2, 2, 2, 339, 3, 2, 2, 2, 2, 341, 3, 2, 2, 2, 2, 343, 3, 2, 2, 2, 2, 345, 3, 2, 2, 2, 2, 347, 3, 2, 2, 2, 2, 349, 3, 2, 2, 2, 2, 351, 3, 2, 2, 2, 2, 353, 3, 2, 2, 2, 2, 355, 3, 2, 2, 2, 2, 357, 3, 2, 2, 2, 2, 359, 3, 2, 2, 2, 2, 361, 3, 2, 2, 2, 2, 363, 3, 2, 2, 2, 2, 365, 3, 2, 2, 2, 2, 367, 3, 2, 2, 2, 2, 369, 3, 2, 2, 2, 2, 371, 3, 2, 2, 2, 2, 373, 3, 2, 2, 2, 2, 375, 3, 2, 2, 2, 2, 377, 3, 2, 2, 2, 2, 379, 3, 2, 2, 2, 2, 381, 3, 2, 2, 2, 2, 383, 3, 2, 2, 2, 2, 385, 3, 2, 2, 2, 2, 387, 3, 2, 2, 2, 2, 389, 3, 2, 2, 2, 2, 391, 3, 2, 2, 2, 2, 393, 3, 2, 2, 2, 2, 395, 3, 2, 2, 2, 2, 397, 3, 2, 2, 2, 2, 399, 3, 2, 2, 2, 2, 401, 3, 2, 2, 2, 2, 403, 3, 2, 2, 2, 2, 405, 3, 2, 2, 2, 2, 407, 3, 2, 2, 2, 2, 409, 3, 2, 2, 2, 2, 411, 3, 2, 2, 2, 2, 413, 3, 2, 2, 2, 2, 415, 3, 2, 2, 2, 2, 417, 3, 2, 2, 2, 2, 419, 3, 2, 2, 2, 2, 421, 3, 2, 2, 2, 2, 423, 3, 2, 2, 2, 2, 425, 3, 2, 2, 2, 2, 427, 3, 2, 2, 2, 2, 429, 3, 2, 2, 2, 2, 431, 3, 2, 2, 2, 2, 433, 3, 2, 2, 2, 2, 435, 3, 2, 2, 2, 2, 437, 3, 2, 2, 2, 2, 439, 3, 2, 2, 2, 2, 441, 3, 2, 2, 2, 2, 443, 3, 2, 2, 2, 2, 445, 3, 2, 2, 2, 2, 447, 3, 2, 2, 2, 2, 449, 3, 2, 2, 2, 2, 451, 3, 2, 2, 2, 2, 453, 3, 2, 2, 2, 2, 455, 3, 2, 2, 2, 2, 457, 3, 2, 2, 2, 2, 459, 3, 2, 2, 2, 2, 461, 3, 2, 2, 2, 2, 463, 3, 2, 2, 2, 2, 465, 3, 2, 2, 2, 2, 467, 3, 2, 2, 2, 2, 469, 3, 2, 2, 2, 2, 471, 3, 2, 2, 2, 2, 473, 3, 2, 2, 2, 2, 475, 3, 2, 2, 2, 2, 477, 3, 2, 2, 2, 2, 479, 3, 2, 2, 2, 2, 481, 3, 2, 2, 2, 2, 483, 3, 2, 2, 2, 2, 485, 3, 2, 2, 2, 2, 487, 3, 2, 2, 2, 2, 489, 3, 2, 2, 2, 2, 491, 3, 2, 2, 2, 2, 493, 3, 2, 2, 2, 2, 495, 3, 2, 2, 2, 2, 497, 3, 2, 2, 2, 2, 499, 3, 2, 2, 2, 2, 501, 3, 2, 2, 2, 2, 503, 3, 2, 2, 2, 2, 505, 3, 2, 2, 2, 2, 507, 3, 2, 2, 2, 2, 509, 3, 2, 2, 2, 2, 511, 3, 2, 2, 2, 2, 513, 3, 2, 2, 2, 2, 515, 3, 2, 2, 2, 2, 517, 3, 2, 2, 2, 2, 519, 3, 2, 2, 2, 2, 521, 3, 2, 2, 2, 2, 523, 3, 2, 2, 2, 2, 525, 3, 2, 2, 2, 2, 527, 3, 2, 2, 2, 2, 529, 3, 2, 2, 2, 2, 531, 3, 2, 2, 2, 2, 533, 3, 2, 2, 2, 2, 535, 3, 2, 2, 2, 2, 537, 3, 2, 2, 2, 2, 539, 3, 2, 2, 2, 2, 541, 3, 2, 2, 2, 2, 543, 3, 2, 2, 2, 2, 545, 3, 2, 2, 2, 2, 547, 3, 2, 2, 2, 2, 549, 3, 2, 2, 2, 2, 551, 3, 2, 2, 2, 2, 553, 3, 2, 2, 2, 2, 555, 3, 2, 2, 2, 2, 557, 3, 2, 2, 2, 2, 559, 3, 2, 2, 2, 2, 561, 3, 2, 2, 2, 2, 563, 3, 2, 2, 2, 2, 565, 3, 2, 2, 2, 2, 567, 3, 2, 2, 2, 2, 569, 3, 2, 2, 2, 2, 571, 3, 2, 2, 2, 2, 573, 3, 2, 2, 2, 2, 575, 3, 2, 2, 2, 2, 577, 3, 2, 2, 2, 2, 579, 3, 2, 2, 2, 2, 581, 3, 2, 2, 2, 2, 583, 3, 2, 2, 2, 2, 585, 3, 2, 2, 2, 2, 587, 3, 2, 2, 2, 2, 589, 3, 2, 2, 2, 2, 591, 3, 2, 2, 2, 2, 593, 3, 2, 2, 2, 2, 595, 3, 2, 2, 2, 2, 597, 3, 2, 2, 2, 2, 599, 3, 2, 2, 2, 2, 601, 3, 2, 2, 2, 2, 603, 3, 2, 2, 2, 2, 605, 3, 2, 2, 2, 2, 607, 3, 2, 2, 2, 2, 609, 3, 2, 2, 2, 2, 611, 3, 2, 2, 2, 2, 613, 3, 2, 2, 2, 2, 615, 3, 2, 2, 2, 2, 617, 3, 2, 2, 2, 2, 619, 3, 2, 2, 2, 2, 621, 3, 2, 2, 2, 2, 623, 3, 2, 2, 2, 2, 625, 3, 2, 2, 2, 2, 627, 3, 2, 2, 2, 2, 629, 3, 2, 2, 2, 2, 631, 3, 2, 2, 2, 2, 633, 3, 2, 2, 2, 2, 635, 3, 2, 2, 2, 2, 637, 3, 2, 2, 2, 2, 639, 3, 2, 2, 2, 2, 641, 3, 2, 2, 2, 2, 643, 3, 2, 2, 2, 2, 645, 3, 2, 2, 2, 2, 647, 3, 2, 2, 2, 2, 649, 3, 2, 2, 2, 2, 651, 3, 2, 2, 2, 2, 653, 3, 2, 2, 2, 2, 655, 3, 2, 2, 2, 2, 657, 3, 2, 2, 2, 2, 659, 3, 2, 2, 2, 2, 661, 3, 2, 2, 2, 2, 663, 3, 2, 2, 2, 2, 665, 3, 2, 2, 2, 2, 667, 3, 2, 2, 2, 2, 669, 3, 2, 2, 2, 2, 671, 3, 2, 2, 2, 2, 673, 3, 2, 2, 2, 2, 675, 3, 2, 2, 2, 2, 677, 3, 2, 2, 2, 2, 679, 3, 2, 2, 2, 2, 681, 3, 2, 2, 2, 2, 683, 3, 2, 2, 2, 2, 685, 3, 2, 2, 2, 2, 687, 3, 2, 2, 2, 2, 689, 3, 2, 2, 2, 2, 691, 3, 2, 2, 2, 2, 693, 3, 2, 2, 2, 2, 695, 3, 2, 2, 2, 2, 697, 3, 2, 2, 2, 2, 699, 3, 2, 2, 2, 2, 701, 3, 2, 2, 2, 2, 703, 3, 2, 2, 2, 2, 705, 3, 2, 2, 2, 2, 707, 3, 2, 2, 2, 2, 709, 3, 2, 2, 2, 2, 711, 3, 2, 2, 2, 2, 713, 3, 2, 2, 2, 2, 715, 3, 2, 2, 2, 2, 717, 3, 2, 2, 2, 2, 719, 3, 2, 2, 2, 2, 721, 3, 2, 2, 2, 2, 723, 3, 2, 2, 2, 2, 725, 3, 2, 2, 2, 2, 727, 3, 2, 2, 2, 2, 729, 3, 2, 2, 2, 2, 731, 3, 2, 2, 2, 2, 733, 3, 2, 2, 2, 2, 735, 3, 2, 2, 2, 2, 737, 3, 2, 2, 2, 2, 739, 3, 2, 2, 2, 2, 741, 3, 2, 2, 2, 2, 743, 3, 2, 2, 2, 2, 745, 3, 2, 2, 2, 2, 747, 3, 2, 2, 2, 2, 749, 3, 2, 2, 2, 2, 751, 3, 2, 2, 2, 2, 753, 3, 2, 2, 2, 2, 755, 3, 2, 2, 2, 2, 757, 3, 2, 2, 2, 2, 759, 3, 2, 2, 2, 2, 761, 3, 2, 2, 2, 2, 763, 3, 2, 2, 2, 2, 765, 3, 2, 2, 2, 2, 767, 3, 2, 2, 2, 2, 769, 3, 2, 2, 2, 2, 771, 3, 2, 2, 2, 2, 773, 3, 2, 2, 2, 2, 775, 3, 2, 2, 2, 2, 777, 3, 2, 2, 2, 2, 779, 3, 2, 2, 2, 2, 781, 3, 2, 2, 2, 2, 783, 3, 2, 2, 2, 2, 785, 3, 2, 2, 2, 2, 787, 3, 2, 2, 2, 2, 789, 3, 2, 2, 2, 2, 791, 3, 2, 2, 2, 2, 793, 3, 2, 2, 2, 2, 795, 3, 2, 2, 2, 2, 797, 3, 2, 2, 2, 2, 799, 3, 2, 2, 2, 2, 801, 3, 2, 2, 2, 2, 803, 3, 2, 2, 2, 2, 805, 3, 2, 2, 2, 2, 807, 3, 2, 2, 2, 2, 809, 3, 2, 2, 2, 2, 811, 3, 2, 2, 2, 2, 813, 3, 2, 2, 2, 2, 815, 3, 2, 2, 2, 2, 817, 3, 2, 2, 2, 2, 819, 3, 2, 2, 2, 2, 821, 3, 2, 2, 2, 2, 823, 3, 2, 2, 2, 2, 825, 3, 2, 2, 2, 2, 827, 3, 2, 2, 2, 2, 829, 3, 2, 2, 2, 2, 831, 3, 2, 2, 2, 2, 833, 3, 2, 2, 2, 2, 835, 3, 2, 2, 2, 2, 837, 3, 2, 2, 2, 2, 839, 3, 2, 2, 2, 2, 841, 3, 2, 2, 2, 2, 843, 3, 2, 2, 2, 2, 845, 3, 2, 2, 2, 2, 847, 3, 2, 2, 2, 2, 849, 3, 2, 2, 2, 2, 851, 3, 2, 2, 2, 2, 853, 3, 2, 2, 2, 2, 855, 3, 2, 2, 2, 2, 857, 3, 2, 2, 2, 2, 859, 3, 2, 2, 2, 2, 861, 3, 2, 2, 2, 2, 863, 3, 2, 2, 2, 2, 865, 3, 2, 2, 2, 2, 867, 3, 2, 2, 2, 2, 869, 3, 2, 2, 2, 2, 871, 3, 2, 2, 2, 2, 873, 3, 2, 2, 2, 2, 875, 3, 2, 2, 2, 2, 877, 3, 2, 2, 2, 2, 879, 3, 2, 2, 2, 2, 881, 3, 2, 2, 2, 2, 883, 3, 2, 2, 2, 2, 885, 3, 2, 2, 2, 2, 887, 3, 2, 2, 2, 2, 889, 3, 2, 2, 2, 2, 891, 3, 2, 2, 2, 2, 893, 3, 2, 2, 2, 2, 895, 3, 2, 2, 2, 2, 897, 3, 2, 2, 2, 2, 899, 3, 2, 2, 2, 2, 901, 3, 2, 2, 2, 2, 903, 3, 2, 2, 2, 2, 905, 3, 2, 2, 2, 2, 907, 3, 2, 2, 2, 2, 909, 3, 2, 2, 2, 2, 911, 3, 2, 2, 2, 2, 913, 3, 2, 2, 2, 2, 915, 3, 2, 2, 2, 2, 917, 3, 2, 2, 2, 2, 919, 3, 2, 2, 2, 2, 921, 3, 2, 2, 2, 2, 923, 3, 2, 2, 2, 2, 925, 3, 2, 2, 2, 2, 927, 3, 2, 2, 2, 2, 929, 3, 2, 2, 2, 2, 931, 3, 2, 2, 2, 2, 933, 3, 2, 2, 2, 2, 935, 3, 2, 2, 2, 2, 937, 3, 2, 2, 2, 2, 939, 3, 2, 2, 2, 2, 941, 3, 2, 2, 2, 2, 943, 3, 2, 2, 2, 2, 945, 3, 2, 2, 2, 2, 947, 3, 2, 2, 2, 2, 949, 3, 2, 2, 2, 2, 951, 3, 2, 2, 2, 2, 953, 3, 2, 2, 2, 2, 955, 3, 2, 2, 2, 2, 957, 3, 2, 2, 2, 2, 959, 3, 2, 2, 2, 2, 961, 3, 2, 2, 2, 2, 963, 3, 2, 2, 2, 2, 965, 3, 2, 2, 2, 2, 967, 3, 2, 2, 2, 2, 969, 3, 2, 2, 2, 2, 971, 3, 2, 2, 2, 2, 973, 3, 2, 2, 2, 2, 975, 3, 2, 2, 2, 2, 977, 3, 2, 2, 2, 2, 979, 3, 2, 2, 2, 2, 981, 3, 2, 2, 2, 2, 983, 3, 2, 2, 2, 2, 985, 3, 2, 2, 2, 2, 987, 3, 2, 2, 2, 2, 989, 3, 2, 2, 2, 2, 991, 3, 2, 2, 2, 2, 993, 3, 2, 2, 2, 2, 995, 3, 2, 2, 2, 2, 997, 3, 2, 2, 2, 2, 999, 3, 2, 2, 2, 2, 1001, 3, 2, 2, 2, 2, 1003, 3, 2, 2, 2, 2, 1005, 3, 2, 2, 2, 2, 1007, 3, 2, 2, 2, 2, 1009, 3, 2, 2, 2, 2, 1011, 3, 2, 2, 2, 2, 1013, 3, 2, 2, 2, 2, 1015, 3, 2, 2, 2, 2, 1017, 3, 2, 2, 2, 2, 1019, 3, 2, 2, 2, 2, 1021, 3, 2, 2, 2, 2, 1023, 3, 2, 2, 2, 2, 1025, 3, 2, 2, 2, 2, 1027, 3, 2, 2, 2, 2, 1029, 3, 2, 2, 2, 2, 1031, 3, 2, 2, 2, 2, 1033, 3, 2, 2, 2, 2, 1035, 3, 2, 2, 2, 2, 1037, 3, 2, 2, 2, 2, 1039, 3, 2, 2, 2, 2, 1041, 3, 2, 2, 2, 2, 1043, 3, 2, 2, 2, 2, 1045, 3, 2, 2, 2, 2, 1047, 3, 2, 2, 2, 2, 1049, 3, 2, 2, 2, 2, 1051, 3, 2, 2, 2, 2, 1053, 3, 2, 2, 2, 2, 1055, 3, 2, 2, 2, 2, 1057, 3, 2, 2, 2, 2, 1059, 3, 2, 2, 2, 2, 1061, 3, 2, 2, 2, 2, 1063, 3, 2, 2, 2, 2, 1065, 3, 2, 2, 2, 2, 1067, 3, 2, 2, 2, 2, 1069, 3, 2, 2, 2, 2, 1071, 3, 2, 2, 2, 2, 1073, 3, 2, 2, 2, 2, 1075, 3, 2, 2, 2, 2, 1077, 3, 2, 2, 2, 2, 1079, 3, 2, 2, 2, 2, 1081, 3, 2, 2, 2, 2, 1083, 3, 2, 2, 2, 2, 1085, 3, 2, 2, 2, 2, 1087, 3, 2, 2, 2, 2, 1089, 3, 2, 2, 2, 2, 1091, 3, 2, 2, 2, 2, 1093, 3, 2, 2, 2, 2, 1095, 3, 2, 2, 2, 2, 1097, 3, 2, 2, 2, 2, 1099, 3, 2, 2, 2, 2, 1101, 3, 2, 2, 2, 2, 1103, 3, 2, 2, 2, 2, 1105, 3, 2, 2, 2, 2, 1107, 3, 2, 2, 2, 2, 1109, 3, 2, 2, 2, 2, 1111, 3, 2, 2, 2, 2, 1113, 3, 2, 2, 2, 2, 1115, 3, 2, 2, 2, 2, 1117, 3, 2, 2, 2, 2, 1119, 3, 2, 2, 2, 2, 1121, 3, 2, 2, 2, 2, 1123, 3, 2, 2, 2, 2, 1125, 3, 2, 2, 2, 2, 1127, 3, 2, 2, 2, 2, 1129, 3, 2, 2, 2, 2, 1131, 3, 2, 2, 2, 2, 1133, 3, 2, 2, 2, 2, 1135, 3, 2, 2, 2, 2, 1137, 3, 2, 2, 2, 2, 1139, 3, 2, 2, 2, 2, 1141, 3, 2, 2, 2, 2, 1143, 3, 2, 2, 2, 2, 1145, 3, 2, 2, 2, 2, 1147, 3, 2, 2, 2, 2, 1149, 3, 2, 2, 2, 2, 1151, 3, 2, 2, 2, 2, 1153, 3, 2, 2, 2, 2, 1155, 3, 2, 2, 2, 2, 1157, 3, 2, 2, 2, 2, 1159, 3, 2, 2, 2, 2, 1161, 3, 2, 2, 2, 2, 1163, 3, 2, 2, 2, 2, 1165, 3, 2, 2, 2, 2, 1167, 3, 2, 2, 2, 2, 1169, 3, 2, 2, 2, 2, 1171, 3, 2, 2, 2, 2, 1173, 3, 2, 2, 2, 2, 1175, 3, 2, 2, 2, 2, 1177, 3, 2, 2, 2, 2, 1179, 3, 2, 2, 2, 2, 1181, 3, 2, 2, 2, 2, 1183, 3, 2, 2, 2, 2, 1185, 3, 2, 2, 2, 2, 1187, 3, 2, 2, 2, 2, 1189, 3, 2, 2, 2, 2, 1191, 3, 2, 2, 2, 2, 1193, 3, 2, 2, 2, 2, 1195, 3, 2, 2, 2, 2, 1197, 3, 2, 2, 2, 2, 1199, 3, 2, 2, 2, 2, 1201, 3, 2, 2, 2, 2, 1203, 3, 2, 2, 2, 2, 1205, 3, 2, 2, 2, 2, 1207, 3, 2, 2, 2, 2, 1209, 3, 2, 2, 2, 2, 1211, 3, 2, 2, 2, 2, 1213, 3, 2, 2, 2, 2, 1215, 3, 2, 2, 2, 2, 1217, 3, 2, 2, 2, 2, 1219, 3, 2, 2, 2, 2, 1221, 3, 2, 2, 2, 2, 1223, 3, 2, 2, 2, 2, 1225, 3, 2, 2, 2, 2, 1227, 3, 2, 2, 2, 2, 1229, 3, 2, 2, 2, 2, 1231, 3, 2, 2, 2, 2, 1233, 3, 2, 2, 2, 2, 1235, 3, 2, 2, 2, 2, 1237, 3, 2, 2, 2, 2, 1239, 3, 2, 2, 2, 2, 1241, 3, 2, 2, 2, 2, 1243, 3, 2, 2, 2, 2, 1245, 3, 2, 2, 2, 2, 1247, 3, 2, 2, 2, 2, 1249, 3, 2, 2, 2, 2, 1251, 3, 2, 2, 2, 2, 1253, 3, 2, 2, 2, 2, 1255, 3, 2, 2, 2, 2, 1257, 3, 2, 2, 2, 2, 1259, 3, 2, 2, 2, 2, 1261, 3, 2, 2, 2, 2, 1263, 3, 2, 2, 2, 2, 1265, 3, 2, 2, 2, 2, 1267, 3, 2, 2, 2, 2, 1269, 3, 2, 2, 2, 2, 1271, 3, 2, 2, 2, 2, 1273, 3, 2, 2, 2, 2, 1275, 3, 2, 2, 2, 2, 1277, 3, 2, 2, 2, 2, 1279, 3, 2, 2, 2, 2, 1281, 3, 2, 2, 2, 2, 1283, 3, 2, 2, 2, 2, 1285, 3, 2, 2, 2, 2, 1287, 3, 2, 2, 2, 2, 1289, 3, 2, 2, 2, 2, 1291, 3, 2, 2, 2, 2, 1293, 3, 2, 2, 2, 2, 1295, 3, 2, 2, 2, 2, 1297, 3, 2, 2, 2, 2, 1299, 3, 2, 2, 2, 2, 1301, 3, 2, 2, 2, 2, 1303, 3, 2, 2, 2, 2, 1305, 3, 2, 2, 2, 2, 1307, 3, 2, 2, 2, 2, 1309, 3, 2, 2, 2, 2, 1311, 3, 2, 2, 2, 2, 1313, 3, 2, 2, 2, 2, 1315, 3, 2, 2, 2, 2, 1317, 3, 2, 2, 2, 2, 1319, 3, 2, 2, 2, 2, 1321, 3, 2, 2, 2, 2, 1323, 3, 2, 2, 2, 2, 1325, 3, 2, 2, 2, 2, 1327, 3, 2, 2, 2, 2, 1329, 3, 2, 2, 2, 2, 1331, 3, 2, 2, 2, 2, 1333, 3, 2, 2, 2, 2, 1335, 3, 2, 2, 2, 2, 1337, 3, 2, 2, 2, 2, 1339, 3, 2, 2, 2, 2, 1341, 3, 2, 2, 2, 2, 1343, 3, 2, 2, 2, 2, 1345, 3, 2, 2, 2, 2, 1347, 3, 2, 2, 2, 2, 1349, 3, 2, 2, 2, 2, 1351, 3, 2, 2, 2, 2, 1353, 3, 2, 2, 2, 2, 1355, 3, 2, 2, 2, 2, 1357, 3, 2, 2, 2, 2, 1359, 3, 2, 2, 2, 2, 1361, 3, 2, 2, 2, 2, 1363, 3, 2, 2, 2, 2, 1365, 3, 2, 2, 2, 2, 1367, 3, 2, 2, 2, 2, 1369, 3, 2, 2, 2, 2, 1371, 3, 2, 2, 2, 2, 1373, 3, 2, 2, 2, 2, 1375, 3, 2, 2, 2, 2, 1377, 3, 2, 2, 2, 2, 1379, 3, 2, 2, 2, 2, 1381, 3, 2, 2, 2, 2, 1383, 3, 2, 2, 2, 2, 1385, 3, 2, 2, 2, 2, 1387, 3, 2, 2, 2, 2, 1389, 3, 2, 2, 2, 2, 1391, 3, 2, 2, 2, 2, 1393, 3, 2, 2, 2, 2, 1395, 3, 2, 2, 2, 2, 1397, 3, 2, 2, 2, 2, 1399, 3, 2, 2, 2, 2, 1401, 3, 2, 2, 2, 2, 1403, 3, 2, 2, 2, 2, 1405, 3, 2, 2, 2, 2, 1407, 3, 2, 2, 2, 2, 1409, 3, 2, 2, 2, 2, 1411, 3, 2, 2, 2, 2, 1413, 3, 2, 2, 2, 2, 1415, 3, 2, 2, 2, 2, 1417, 3, 2, 2, 2, 2, 1419, 3, 2, 2, 2, 2, 1421, 3, 2, 2, 2, 2, 1423, 3, 2, 2, 2, 2, 1425, 3, 2, 2, 2, 2, 1427, 3, 2, 2, 2, 2, 1429, 3, 2, 2, 2, 2, 1431, 3, 2, 2, 2, 2, 1433, 3, 2, 2, 2, 2, 1435, 3, 2, 2, 2, 2, 1437, 3, 2, 2, 2, 2, 1439, 3, 2, 2, 2, 2, 1441, 3, 2, 2, 2, 2, 1443, 3, 2, 2, 2, 2, 1445, 3, 2, 2, 2, 2, 1447, 3, 2, 2, 2, 2, 1449, 3, 2, 2, 2, 2, 1451, 3, 2, 2, 2, 2, 1453, 3, 2, 2, 2, 2, 1455, 3, 2, 2, 2, 2, 1457, 3, 2, 2, 2, 2, 1459, 3, 2, 2, 2, 2, 1461, 3, 2, 2, 2, 2, 1463, 3, 2, 2, 2, 2, 1465, 3, 2, 2, 2, 2, 1467, 3, 2, 2, 2, 2, 1469, 3, 2, 2, 2, 2, 1471, 3, 2, 2, 2, 2, 1473, 3, 2, 2, 2, 2, 1475, 3, 2, 2, 2, 2, 1477, 3, 2, 2, 2, 2, 1479, 3, 2, 2, 2, 2, 1481, 3, 2, 2, 2, 2, 1483, 3, 2, 2, 2, 2, 1485, 3, 2, 2, 2, 2, 1487, 3, 2, 2, 2, 2, 1489, 3, 2, 2, 2, 2, 1491, 3, 2, 2, 2, 2, 1493, 3, 2, 2, 2, 2, 1495, 3, 2, 2, 2, 2, 1497, 3, 2, 2, 2, 2, 1499, 3, 2, 2, 2, 2, 1501, 3, 2, 2, 2, 2, 1503, 3, 2, 2, 2, 2, 1505, 3, 2, 2, 2, 2, 1507, 3, 2, 2, 2, 2, 1509, 3, 2, 2, 2, 2, 1511, 3, 2, 2, 2, 2, 1513, 3, 2, 2, 2, 2, 1515, 3, 2, 2, 2, 2, 1517, 3, 2, 2, 2, 2, 1519, 3, 2, 2, 2, 2, 1521, 3, 2, 2, 2, 2, 1523, 3, 2, 2, 2, 2, 1525, 3, 2, 2, 2, 2, 1527, 3, 2, 2, 2, 2, 1529, 3, 2, 2, 2, 2, 1531, 3, 2, 2, 2, 2, 1533, 3, 2, 2, 2, 2, 1535, 3, 2, 2, 2, 2, 1537, 3, 2, 2, 2, 2, 1539, 3, 2, 2, 2, 2, 1541, 3, 2, 2, 2, 2, 1543, 3, 2, 2, 2, 2, 1545, 3, 2, 2, 2, 2, 1547, 3, 2, 2, 2, 2, 1549, 3, 2, 2, 2, 2, 1551, 3, 2, 2, 2, 2, 1553, 3, 2, 2, 2, 2, 1555, 3, 2, 2, 2, 2, 1557, 3, 2, 2, 2, 2, 1559, 3, 2, 2, 2, 2, 1561, 3, 2, 2, 2, 2, 1563, 3, 2, 2, 2, 2, 1565, 3, 2, 2, 2, 2, 1567, 3, 2, 2, 2, 2, 1569, 3, 2, 2, 2, 2, 1571, 3, 2, 2, 2, 2, 1573, 3, 2, 2, 2, 2, 1575, 3, 2, 2, 2, 2, 1577, 3, 2, 2, 2, 2, 1579, 3, 2, 2, 2, 2, 1581, 3, 2, 2, 2, 2, 1583, 3, 2, 2, 2, 2, 1585, 3, 2, 2, 2, 2, 1587, 3, 2, 2, 2, 2, 1589, 3, 2, 2, 2, 2, 1591, 3, 2, 2, 2, 2, 1593, 3, 2, 2, 2, 2, 1595, 3, 2, 2, 2, 2, 1597, 3, 2, 2, 2, 2, 1599, 3, 2, 2, 2, 2, 1601, 3, 2, 2, 2, 2, 1603, 3, 2, 2, 2, 2, 1605, 3, 2, 2, 2, 2, 1607, 3, 2, 2, 2, 2, 1609, 3, 2, 2, 2, 2, 1611, 3, 2, 2, 2, 2, 1613, 3, 2, 2, 2, 2, 1615, 3, 2, 2, 2, 2, 1617, 3, 2, 2, 2, 2, 1619, 3, 2, 2, 2, 2, 1621, 3, 2, 2, 2, 2, 1623, 3, 2, 2, 2, 2, 1625, 3, 2, 2, 2, 2, 1627, 3, 2, 2, 2, 2, 1629, 3, 2, 2, 2, 2, 1631, 3, 2, 2, 2, 2, 1633, 3, 2, 2, 2, 2, 1635, 3, 2, 2, 2, 2, 1637, 3, 2, 2, 2, 2, 1639, 3, 2, 2, 2, 2, 1641, 3, 2, 2, 2, 2, 1643, 3, 2, 2, 2, 2, 1645, 3, 2, 2, 2, 2, 1647, 3, 2, 2, 2, 2, 1649, 3, 2, 2, 2, 2, 1651, 3, 2, 2, 2, 2, 1653, 3, 2, 2, 2, 2, 1655, 3, 2, 2, 2, 2, 1657, 3, 2, 2, 2, 2, 1659, 3, 2, 2, 2, 2, 1661, 3, 2, 2, 2, 2, 1663, 3, 2, 2, 2, 2, 1665, 3, 2, 2, 2, 2, 1667, 3, 2, 2, 2, 2, 1669, 3, 2, 2, 2, 2, 1671, 3, 2, 2, 2, 2, 1673, 3, 2, 2, 2, 2, 1675, 3, 2, 2, 2, 2, 1677, 3, 2, 2, 2, 2, 1679, 3, 2, 2, 2, 2, 1681, 3, 2, 2, 2, 2, 1683, 3, 2, 2, 2, 2, 1685, 3, 2, 2, 2, 2, 1687, 3, 2, 2, 2, 2, 1689, 3, 2, 2, 2, 2, 1691, 3, 2, 2, 2, 2, 1693, 3, 2, 2, 2, 2, 1695, 3, 2, 2, 2, 2, 1697, 3, 2, 2, 2, 2, 1699, 3, 2, 2, 2, 2, 1701, 3, 2, 2, 2, 2, 1703, 3, 2, 2, 2, 2, 1705, 3, 2, 2, 2, 2, 1707, 3, 2, 2, 2, 2, 1709, 3, 2, 2, 2, 2, 1711, 3, 2, 2, 2, 2, 1713, 3, 2, 2, 2, 2, 1715, 3, 2, 2, 2, 2, 1717, 3, 2, 2, 2, 2, 1719, 3, 2, 2, 2, 2, 1721, 3, 2, 2, 2, 2, 1723, 3, 2, 2, 2, 2, 1725, 3, 2, 2, 2, 2, 1727, 3, 2, 2, 2, 2, 1729, 3, 2, 2, 2, 2, 1731, 3, 2, 2, 2, 2, 1733, 3, 2, 2, 2, 2, 1735, 3, 2, 2, 2, 2, 1737, 3, 2, 2, 2, 2, 1739, 3, 2, 2, 2, 2, 1741, 3, 2, 2, 2, 2, 1743, 3, 2, 2, 2, 2, 1745, 3, 2, 2, 2, 2, 1747, 3, 2, 2, 2, 2, 1749, 3, 2, 2, 2, 2, 1751, 3, 2, 2, 2, 2, 1753, 3, 2, 2, 2, 2, 1755, 3, 2, 2, 2, 2, 1757, 3, 2, 2, 2, 2, 1759, 3, 2, 2, 2, 2, 1761, 3, 2, 2, 2, 2, 1763, 3, 2, 2, 2, 2, 1765, 3, 2, 2, 2, 2, 1767, 3, 2, 2, 2, 2, 1769, 3, 2, 2, 2, 2, 1771, 3, 2, 2, 2, 2, 1773, 3, 2, 2, 2, 2, 1775, 3, 2, 2, 2, 2, 1777, 3, 2, 2, 2, 2, 1779, 3, 2, 2, 2, 2, 1781, 3, 2, 2, 2, 2, 1783, 3, 2, 2, 2, 2, 1785, 3, 2, 2, 2, 2, 1787, 3, 2, 2, 2, 2, 1789, 3, 2, 2, 2, 2, 1791, 3, 2, 2, 2, 2, 1793, 3, 2, 2, 2, 2, 1795, 3, 2, 2, 2, 2, 1797, 3, 2, 2, 2, 2, 1799, 3, 2, 2, 2, 2, 1801, 3, 2, 2, 2, 2, 1803, 3, 2, 2, 2, 2, 1805, 3, 2, 2, 2, 2, 1807, 3, 2, 2, 2, 2, 1809, 3, 2, 2, 2, 2, 1811, 3, 2, 2, 2, 2, 1813, 3, 2, 2, 2, 2, 1815, 3, 2, 2, 2, 2, 1817, 3, 2, 2, 2, 2, 1819, 3, 2, 2, 2, 2, 1821, 3, 2, 2, 2, 2, 1823, 3, 2, 2, 2, 2, 1825, 3, 2, 2, 2, 2, 1827, 3, 2, 2, 2, 2, 1829, 3, 2, 2, 2, 2, 1831, 3, 2, 2, 2, 2, 1833, 3, 2, 2, 2, 2, 1835, 3, 2, 2, 2, 2, 1837, 3, 2, 2, 2, 2, 1839, 3, 2, 2, 2, 2, 1841, 3, 2, 2, 2, 2, 1843, 3, 2, 2, 2, 2, 1845, 3, 2, 2, 2, 2, 1847, 3, 2, 2, 2, 2, 1849, 3, 2, 2, 2, 2, 1851, 3, 2, 2, 2, 2, 1853, 3, 2, 2, 2, 2, 1855, 3, 2, 2, 2, 2, 1857, 3, 2, 2, 2, 2, 1859, 3, 2, 2, 2, 2, 1861, 3, 2, 2, 2, 2, 1863, 3, 2, 2, 2, 2, 1865, 3, 2, 2, 2, 2, 1867, 3, 2, 2, 2, 2, 1869, 3, 2, 2, 2, 2, 1871, 3, 2, 2, 2, 2, 1873, 3, 2, 2, 2, 2, 1875, 3, 2, 2, 2, 2, 1877, 3, 2, 2, 2, 2, 1879, 3, 2, 2, 2, 2, 1881, 3, 2, 2, 2, 2, 1883, 3, 2, 2, 2, 2, 1885, 3, 2, 2, 2, 2, 1887, 3, 2, 2, 2, 2, 1889, 3, 2, 2, 2, 2, 1891, 3, 2, 2, 2, 2, 1893, 3, 2, 2, 2, 2, 1895, 3, 2, 2, 2, 2, 1897, 3, 2, 2, 2, 2, 1899, 3, 2, 2, 2, 2, 1901, 3, 2, 2, 2, 2, 1903, 3, 2, 2, 2, 2, 1905, 3, 2, 2, 2, 2, 1907, 3, 2, 2, 2, 2, 1909, 3, 2, 2, 2, 2, 1911, 3, 2, 2, 2, 2, 1913, 3, 2, 2, 2, 2, 1915, 3, 2, 2, 2, 2, 1917, 3, 2, 2, 2, 2, 1919, 3, 2, 2, 2, 2, 1921, 3, 2, 2, 2, 2, 1923, 3, 2, 2, 2, 2, 1925, 3, 2, 2, 2, 2, 1927, 3, 2, 2, 2, 2, 1929, 3, 2, 2, 2, 2, 1931, 3, 2, 2, 2, 2, 1933, 3, 2, 2, 2, 2, 1935, 3, 2, 2, 2, 2, 1937, 3, 2, 2, 2, 2, 1939, 3, 2, 2, 2, 2, 1941, 3, 2, 2, 2, 2, 1943, 3, 2, 2, 2, 2, 1945, 3, 2, 2, 2, 2, 1947, 3, 2, 2, 2, 2, 1949, 3, 2, 2, 2, 2, 1951, 3, 2, 2, 2, 2, 1953, 3, 2, 2, 2, 2, 1955, 3, 2, 2, 2, 2, 1957, 3, 2, 2, 2, 2, 1959, 3, 2, 2, 2, 2, 1961, 3, 2, 2, 2, 2, 1963, 3, 2, 2, 2, 2, 1965, 3, 2, 2, 2, 2, 1967, 3, 2, 2, 2, 2, 1969, 3, 2, 2, 2, 2, 1971, 3, 2, 2, 2, 2, 1973, 3, 2, 2, 2, 2, 1975, 3, 2, 2, 2, 2, 1977, 3, 2, 2, 2, 2, 1979, 3, 2, 2, 2, 2, 1981, 3, 2, 2, 2, 2, 1983, 3, 2, 2, 2, 2, 1985, 3, 2, 2, 2, 2, 1987, 3, 2, 2, 2, 2, 1989, 3, 2, 2, 2, 2, 1991, 3, 2, 2, 2, 2, 1993, 3, 2, 2, 2, 2, 1995, 3, 2, 2, 2, 2, 1997, 3, 2, 2, 2, 2, 1999, 3, 2, 2, 2, 2, 2001, 3, 2, 2, 2, 2, 2003, 3, 2, 2, 2, 2, 2005, 3, 2, 2, 2, 2, 2007, 3, 2, 2, 2, 2, 2009, 3, 2, 2, 2, 2, 2011, 3, 2, 2, 2, 2, 2013, 3, 2, 2, 2, 2, 2015, 3, 2, 2, 2, 2, 2017, 3, 2, 2, 2, 2, 2019, 3, 2, 2, 2, 2, 2021, 3, 2, 2, 2, 2, 2023, 3, 2, 2, 2, 2, 2025, 3, 2, 2, 2, 2, 2027, 3, 2, 2, 2, 2, 2029, 3, 2, 2, 2, 2, 2031, 3, 2, 2, 2, 2, 2033, 3, 2, 2, 2, 2, 2035, 3, 2, 2, 2, 2, 2037, 3, 2, 2, 2, 2, 2039, 3, 2, 2, 2, 2, 2041, 3, 2, 2, 2, 2, 2043, 3, 2, 2, 2, 2, 2045, 3, 2, 2, 2, 2, 2047, 3, 2, 2, 2, 2, 2049, 3, 2, 2, 2, 2, 2051, 3, 2, 2, 2, 2, 2053, 3, 2, 2, 2, 2, 2055, 3, 2, 2, 2, 2, 2057, 3, 2, 2, 2, 2, 2059, 3, 2, 2, 2, 2, 2061, 3, 2, 2, 2, 2, 2063, 3, 2, 2, 2, 2, 2065, 3, 2, 2, 2, 2, 2067, 3, 2, 2, 2, 2, 2069, 3, 2, 2, 2, 2, 2071, 3, 2, 2, 2, 2, 2073, 3, 2, 2, 2, 2, 2075, 3, 2, 2, 2, 2, 2077, 3, 2, 2, 2, 2, 2079, 3, 2, 2, 2, 2, 2081, 3, 2, 2, 2, 2, 2083, 3, 2, 2, 2, 2, 2085, 3, 2, 2, 2, 2, 2087, 3, 2, 2, 2, 2, 2089, 3, 2, 2, 2, 2, 2091, 3, 2, 2, 2, 2, 2093, 3, 2, 2, 2, 2, 2095, 3, 2, 2, 2, 2, 2097, 3, 2, 2, 2, 2, 2099, 3, 2, 2, 2, 2, 2101, 3, 2, 2, 2, 2, 2103, 3, 2, 2, 2, 2, 2105, 3, 2, 2, 2, 2, 2107, 3, 2, 2, 2, 2, 2109, 3, 2, 2, 2, 2, 2111, 3, 2, 2, 2, 2, 2113, 3, 2, 2, 2, 2, 2115, 3, 2, 2, 2, 2, 2117, 3, 2, 2, 2, 2, 2119, 3, 2, 2, 2, 2, 2121, 3, 2, 2, 2, 2, 2123, 3, 2, 2, 2, 2, 2125, 3, 2, 2, 2, 2, 2127, 3, 2, 2, 2, 2, 2129, 3, 2, 2, 2, 2, 2131, 3, 2, 2, 2, 2, 2133, 3, 2, 2, 2, 2, 2135, 3, 2, 2, 2, 2, 2137, 3, 2, 2, 2, 2, 2139, 3, 2, 2, 2, 2, 2141, 3, 2, 2, 2, 2, 2143, 3, 2, 2, 2, 2, 2145, 3, 2, 2, 2, 2, 2147, 3, 2, 2, 2, 2, 2149, 3, 2, 2, 2, 2, 2151, 3, 2, 2, 2, 2, 2153, 3, 2, 2, 2, 2, 2155, 3, 2, 2, 2, 2, 2157, 3, 2, 2, 2, 2, 2159, 3, 2, 2, 2, 2, 2161, 3, 2, 2, 2, 2, 2163, 3, 2, 2, 2, 2, 2165, 3, 2, 2, 2, 2, 2167, 3, 2, 2, 2, 2, 2169, 3, 2, 2, 2, 2, 2171, 3, 2, 2, 2, 2, 2173, 3, 2, 2, 2, 2, 2175, 3, 2, 2, 2, 2, 2177, 3, 2, 2, 2, 2, 2179, 3, 2, 2, 2, 2, 2181, 3, 2, 2, 2, 2, 2183, 3, 2, 2, 2, 2, 2185, 3, 2, 2, 2, 2, 2187, 3, 2, 2, 2, 2, 2189, 3, 2, 2, 2, 2, 2191, 3, 2, 2, 2, 2, 2193, 3, 2, 2, 2, 2, 2195, 3, 2, 2, 2, 2, 2197, 3, 2, 2, 2, 2, 2199, 3, 2, 2, 2, 2, 2201, 3, 2, 2, 2, 2, 2203, 3, 2, 2, 2, 2, 2205, 3, 2, 2, 2, 2, 2207, 3, 2, 2, 2, 2, 2209, 3, 2, 2, 2, 2, 2211, 3, 2, 2, 2, 2, 2213, 3, 2, 2, 2, 2, 2215, 3, 2, 2, 2, 2, 2217, 3, 2, 2, 2, 2, 2219, 3, 2, 2, 2, 2, 2221, 3, 2, 2, 2, 2, 2223, 3, 2, 2, 2, 2, 2225, 3, 2, 2, 2, 2, 2227, 3, 2, 2, 2, 2, 2229, 3, 2, 2, 2, 2, 2231, 3, 2, 2, 2, 2, 2233, 3, 2, 2, 2, 2, 2235, 3, 2, 2, 2, 2, 2237, 3, 2, 2, 2, 2, 2239, 3, 2, 2, 2, 2, 2241, 3, 2, 2, 2, 2, 2243, 3, 2, 2, 2, 2, 2245, 3, 2, 2, 2, 2, 2247, 3, 2, 2, 2, 2, 2249, 3, 2, 2, 2, 2, 2251, 3, 2, 2, 2, 2, 2253, 3, 2, 2, 2, 2, 2255, 3, 2, 2, 2, 2, 2257, 3, 2, 2, 2, 2, 2259, 3, 2, 2, 2, 2, 2261, 3, 2, 2, 2, 2, 2263, 3, 2, 2, 2, 2, 2265, 3, 2, 2, 2, 2, 2267, 3, 2, 2, 2, 2, 2269, 3, 2, 2, 2, 2, 2271, 3, 2, 2, 2, 2, 2273, 3, 2, 2, 2, 2, 2275, 3, 2, 2, 2, 2, 2277, 3, 2, 2, 2, 2, 2279, 3, 2, 2, 2, 2, 2281, 3, 2, 2, 2, 2, 2283, 3, 2, 2, 2, 2, 2285, 3, 2, 2, 2, 2, 2287, 3, 2, 2, 2, 2, 2289, 3, 2, 2, 2, 2, 2291, 3, 2, 2, 2, 2, 2293, 3, 2, 2, 2, 2, 2295, 3, 2, 2, 2, 2, 2297, 3, 2, 2, 2, 2, 2299, 3, 2, 2, 2, 2, 2301, 3, 2, 2, 2, 2, 2303, 3, 2, 2, 2, 2, 2305, 3, 2, 2, 2, 2, 2307, 3, 2, 2, 2, 2, 2309, 3, 2, 2, 2, 2, 2311, 3, 2, 2, 2, 2, 2313, 3, 2, 2, 2, 2, 2315, 3, 2, 2, 2, 2, 2317, 3, 2, 2, 2, 2, 2319, 3, 2, 2, 2, 2, 2321, 3, 2, 2, 2, 2, 2323, 3, 2, 2, 2, 2, 2325, 3, 2, 2, 2, 2, 2327, 3, 2, 2, 2, 2, 2329, 3, 2, 2, 2, 2, 2331, 3, 2, 2, 2, 2, 2333, 3, 2, 2, 2, 2, 2335, 3, 2, 2, 2, 2, 2337, 3, 2, 2, 2, 2, 2339, 3, 2, 2, 2, 2, 2341, 3, 2, 2, 2, 2, 2343, 3, 2, 2, 2, 2, 2345, 3, 2, 2, 2, 2, 2347, 3, 2, 2, 2, 2, 2349, 3, 2, 2, 2, 2, 2351, 3, 2, 2, 2, 2, 2353, 3, 2, 2, 2, 2, 2355, 3, 2, 2, 2, 2, 2357, 3, 2, 2, 2, 2, 2359, 3, 2, 2, 2, 2, 2361, 3, 2, 2, 2, 2, 2363, 3, 2, 2, 2, 2, 2365, 3, 2, 2, 2, 2, 2367, 3, 2, 2, 2, 2, 2369, 3, 2, 2, 2, 2, 2371, 3, 2, 2, 2, 2, 2373, 3, 2, 2, 2, 2, 2375, 3, 2, 2, 2, 2, 2377, 3, 2, 2, 2, 2, 2379, 3, 2, 2, 2, 2, 2381, 3, 2, 2, 2, 2, 2383, 3, 2, 2, 2, 2, 2385, 3, 2, 2, 2, 2, 2387, 3, 2, 2, 2, 2, 2389, 3, 2, 2, 2, 2, 2391, 3, 2, 2, 2, 2, 2393, 3, 2, 2, 2, 2, 2395, 3, 2, 2, 2, 2, 2397, 3, 2, 2, 2, 2, 2399, 3, 2, 2, 2, 2, 2401, 3, 2, 2, 2, 2, 2403, 3, 2, 2, 2, 2, 2405, 3, 2, 2, 2, 2, 2407, 3, 2, 2, 2, 2, 2409, 3, 2, 2, 2, 2, 2411, 3, 2, 2, 2, 2, 2413, 3, 2, 2, 2, 2, 2415, 3, 2, 2, 2, 2, 2417, 3, 2, 2, 2, 2, 2419, 3, 2, 2, 2, 2, 2421, 3, 2, 2, 2, 2, 2423, 3, 2, 2, 2, 2, 2425, 3, 2, 2, 2, 2, 2427, 3, 2, 2, 2, 2, 2429, 3, 2, 2, 2, 2, 2431, 3, 2, 2, 2, 2, 2433, 3, 2, 2, 2, 2, 2435, 3, 2, 2, 2, 2, 2437, 3, 2, 2, 2, 2, 2439, 3, 2, 2, 2, 2, 2441, 3, 2, 2, 2, 2, 2443, 3, 2, 2, 2, 2, 2445, 3, 2, 2, 2, 2, 2447, 3, 2, 2, 2, 2, 2449, 3, 2, 2, 2, 2, 2451, 3, 2, 2, 2, 2, 2453, 3, 2, 2, 2, 2, 2455, 3, 2, 2, 2, 2, 2457, 3, 2, 2, 2, 2, 2459, 3, 2, 2, 2, 2, 2461, 3, 2, 2, 2, 2, 2463, 3, 2, 2, 2, 2, 2465, 3, 2, 2, 2, 2, 2467, 3, 2, 2, 2, 2, 2469, 3, 2, 2, 2, 2, 2471, 3, 2, 2, 2, 2, 2473, 3, 2, 2, 2, 2, 2475, 3, 2, 2, 2, 2, 2477, 3, 2, 2, 2, 2, 2479, 3, 2, 2, 2, 2, 2481, 3, 2, 2, 2, 2, 2483, 3, 2, 2, 2, 2, 2485, 3, 2, 2, 2, 2, 2487, 3, 2, 2, 2, 2, 2489, 3, 2, 2, 2, 2, 2491, 3, 2, 2, 2, 2, 2493, 3, 2, 2, 2, 2, 2495, 3, 2, 2, 2, 2, 2497, 3, 2, 2, 2, 2, 2499, 3, 2, 2, 2, 2, 2501, 3, 2, 2, 2, 2, 2503, 3, 2, 2, 2, 2, 2505, 3, 2, 2, 2, 2, 2507, 3, 2, 2, 2, 2, 2509, 3, 2, 2, 2, 2, 2511, 3, 2, 2, 2, 2, 2513, 3, 2, 2, 2, 2, 2515, 3, 2, 2, 2, 2, 2517, 3, 2, 2, 2, 2, 2519, 3, 2, 2, 2, 2, 2521, 3, 2, 2, 2, 2, 2523, 3, 2, 2, 2, 2, 2525, 3, 2, 2, 2, 2, 2527, 3, 2, 2, 2, 2, 2529, 3, 2, 2, 2, 2, 2531, 3, 2, 2, 2, 2, 2533, 3, 2, 2, 2, 2, 2535, 3, 2, 2, 2, 2, 2537, 3, 2, 2, 2, 2, 2539, 3, 2, 2, 2, 2, 2541, 3, 2, 2, 2, 2, 2543, 3, 2, 2, 2, 2, 2545, 3, 2, 2, 2, 2, 2547, 3, 2, 2, 2, 2, 2549, 3, 2, 2, 2, 2, 2551, 3, 2, 2, 2, 2, 2553, 3, 2, 2, 2, 2, 2555, 3, 2, 2, 2, 2, 2557, 3, 2, 2, 2, 2, 2559, 3, 2, 2, 2, 2, 2561, 3, 2, 2, 2, 2, 2563, 3, 2, 2, 2, 2, 2565, 3, 2, 2, 2, 2, 2567, 3, 2, 2, 2, 2, 2569, 3, 2, 2, 2, 2, 2571, 3, 2, 2, 2, 2, 2573, 3, 2, 2, 2, 2, 2575, 3, 2, 2, 2, 2, 2577, 3, 2, 2, 2, 2, 2579, 3, 2, 2, 2, 2, 2581, 3, 2, 2, 2, 2, 2583, 3, 2, 2, 2, 2, 2585, 3, 2, 2, 2, 2, 2587, 3, 2, 2, 2, 2, 2589, 3, 2, 2, 2, 2, 2591, 3, 2, 2, 2, 2, 2593, 3, 2, 2, 2, 2, 2595, 3, 2, 2, 2, 2, 2597, 3, 2, 2, 2, 2, 2599, 3, 2, 2, 2, 2, 2601, 3, 2, 2, 2, 2, 2603, 3, 2, 2, 2, 2, 2605, 3, 2, 2, 2, 2, 2607, 3, 2, 2, 2, 2, 2609, 3, 2, 2, 2, 2, 2611, 3, 2, 2, 2, 2, 2613, 3, 2, 2, 2, 2, 2615, 3, 2, 2, 2, 2, 2617, 3, 2, 2, 2, 2, 2619, 3, 2, 2, 2, 2, 2621, 3, 2, 2, 2, 2, 2623, 3, 2, 2, 2, 2, 2625, 3, 2, 2, 2, 2, 2627, 3, 2, 2, 2, 2, 2629, 3, 2, 2, 2, 2, 2631, 3, 2, 2, 2, 2, 2633, 3, 2, 2, 2, 2, 2635, 3, 2, 2, 2, 2, 2637, 3, 2, 2, 2, 2, 2639, 3, 2, 2, 2, 2, 2641, 3, 2, 2, 2, 2, 2643, 3, 2, 2, 2, 2, 2645, 3, 2, 2, 2, 2, 2647, 3, 2, 2, 2, 2, 2649, 3, 2, 2, 2, 2, 2651, 3, 2, 2, 2, 2, 2653, 3, 2, 2, 2, 2, 2655, 3, 2, 2, 2, 2, 2657, 3, 2, 2, 2, 2, 2659, 3, 2, 2, 2, 2, 2661, 3, 2, 2, 2, 2, 2663, 3, 2, 2, 2, 2, 2665, 3, 2, 2, 2, 2, 2667, 3, 2, 2, 2, 2, 2669, 3, 2, 2, 2, 2, 2671, 3, 2, 2, 2, 2, 2673, 3, 2, 2, 2, 2, 2675, 3, 2, 2, 2, 2, 2677, 3, 2, 2, 2, 2, 2679, 3, 2, 2, 2, 2, 2681, 3, 2, 2, 2, 2, 2683, 3, 2, 2, 2, 2, 2685, 3, 2, 2, 2, 2, 2687, 3, 2, 2, 2, 2, 2689, 3, 2, 2, 2, 2, 2691, 3, 2, 2, 2, 2, 2693, 3, 2, 2, 2, 2, 2695, 3, 2, 2, 2, 2, 2697, 3, 2, 2, 2, 2, 2699, 3, 2, 2, 2, 2, 2701, 3, 2, 2, 2, 2, 2703, 3, 2, 2, 2, 2, 2705, 3, 2, 2, 2, 2, 2707, 3, 2, 2, 2, 2, 2709, 3, 2, 2, 2, 2, 2711, 3, 2, 2, 2, 2, 2713, 3, 2, 2, 2, 2, 2715, 3, 2, 2, 2, 2, 2717, 3, 2, 2, 2, 2, 2719, 3, 2, 2, 2, 2, 2721, 3, 2, 2, 2, 2, 2723, 3, 2, 2, 2, 2, 2725, 3, 2, 2, 2, 2, 2727, 3, 2, 2, 2, 2, 2729, 3, 2, 2, 2, 2, 2731, 3, 2, 2, 2, 2, 2733, 3, 2, 2, 2, 2, 2735, 3, 2, 2, 2, 2, 2737, 3, 2, 2, 2, 2, 2739, 3, 2, 2, 2, 2, 2741, 3, 2, 2, 2, 2, 2743, 3, 2, 2, 2, 2, 2745, 3, 2, 2, 2, 2, 2747, 3, 2, 2, 2, 2, 2749, 3, 2, 2, 2, 2, 2751, 3, 2, 2, 2, 2, 2753, 3, 2, 2, 2, 2, 2755, 3, 2, 2, 2, 2, 2757, 3, 2, 2, 2, 2, 2759, 3, 2, 2, 2, 2, 2761, 3, 2, 2, 2, 2, 2763, 3, 2, 2, 2, 2, 2765, 3, 2, 2, 2, 2, 2767, 3, 2, 2, 2, 2, 2769, 3, 2, 2, 2, 2, 2771, 3, 2, 2, 2, 2, 2773, 3, 2, 2, 2, 2, 2775, 3, 2, 2, 2, 2, 2777, 3, 2, 2, 2, 2, 2779, 3, 2, 2, 2, 2, 2781, 3, 2, 2, 2, 2, 2783, 3, 2, 2, 2, 2, 2785, 3, 2, 2, 2, 2, 2787, 3, 2, 2, 2, 2, 2789, 3, 2, 2, 2, 2, 2791, 3, 2, 2, 2, 2, 2793, 3, 2, 2, 2, 2, 2795, 3, 2, 2, 2, 2, 2797, 3, 2, 2, 2, 2, 2799, 3, 2, 2, 2, 2, 2801, 3, 2, 2, 2, 2, 2803, 3, 2, 2, 2, 2, 2805, 3, 2, 2, 2, 2, 2807, 3, 2, 2, 2, 2, 2809, 3, 2, 2, 2, 2, 2811, 3, 2, 2, 2, 2, 2813, 3, 2, 2, 2, 2, 2815, 3, 2, 2, 2, 2, 2817, 3, 2, 2, 2, 2, 2819, 3, 2, 2, 2, 2, 2821, 3, 2, 2, 2, 2, 2823, 3, 2, 2, 2, 2, 2825, 3, 2, 2, 2, 2, 2827, 3, 2, 2, 2, 2, 2829, 3, 2, 2, 2, 2, 2831, 3, 2, 2, 2, 2, 2833, 3, 2, 2, 2, 2, 2835, 3, 2, 2, 2, 2, 2837, 3, 2, 2, 2, 2, 2839, 3, 2, 2, 2, 2, 2841, 3, 2, 2, 2, 2, 2843, 3, 2, 2, 2, 2, 2845, 3, 2, 2, 2, 2, 2847, 3, 2, 2, 2, 2, 2849, 3, 2, 2, 2, 2, 2851, 3, 2, 2, 2, 2, 2853, 3, 2, 2, 2, 2, 2855, 3, 2, 2, 2, 2, 2857, 3, 2, 2, 2, 2, 2859, 3, 2, 2, 2, 2, 2861, 3, 2, 2, 2, 2, 2863, 3, 2, 2, 2, 2, 2865, 3, 2, 2, 2, 2, 2867, 3, 2, 2, 2, 2, 2869, 3, 2, 2, 2, 2, 2871, 3, 2, 2, 2, 2, 2873, 3, 2, 2, 2, 2, 2875, 3, 2, 2, 2, 2, 2877, 3, 2, 2, 2, 2, 2879, 3, 2, 2, 2, 2, 2881, 3, 2, 2, 2, 2, 2883, 3, 2, 2, 2, 2, 2885, 3, 2, 2, 2, 2, 2887, 3, 2, 2, 2, 2, 2889, 3, 2, 2, 2, 2, 2891, 3, 2, 2, 2, 2, 2893, 3, 2, 2, 2, 2, 2895, 3, 2, 2, 2, 2, 2897, 3, 2, 2, 2, 2, 2899, 3, 2, 2, 2, 2, 2901, 3, 2, 2, 2, 2, 2903, 3, 2, 2, 2, 2, 2905, 3, 2, 2, 2, 2, 2907, 3, 2, 2, 2, 2, 2909, 3, 2, 2, 2, 2, 2911, 3, 2, 2, 2, 2, 2913, 3, 2, 2, 2, 2, 2915, 3, 2, 2, 2, 2, 2917, 3, 2, 2, 2, 2, 2919, 3, 2, 2, 2, 2, 2921, 3, 2, 2, 2, 2, 2923, 3, 2, 2, 2, 2, 2925, 3, 2, 2, 2, 2, 2927, 3, 2, 2, 2, 2, 2929, 3, 2, 2, 2, 2, 2931, 3, 2, 2, 2, 2, 2933, 3, 2, 2, 2, 2, 2935, 3, 2, 2, 2, 2, 2937, 3, 2, 2, 2, 2, 2939, 3, 2, 2, 2, 2, 2941, 3, 2, 2, 2, 2, 2943, 3, 2, 2, 2, 2, 2945, 3, 2, 2, 2, 2, 2947, 3, 2, 2, 2, 2, 2949, 3, 2, 2, 2, 2, 2951, 3, 2, 2, 2, 2, 2953, 3, 2, 2, 2, 2, 2955, 3, 2, 2, 2, 2, 2957, 3, 2, 2, 2, 2, 2959, 3, 2, 2, 2, 2, 2961, 3, 2, 2, 2, 2, 2963, 3, 2, 2, 2, 2, 2965, 3, 2, 2, 2, 2, 2967, 3, 2, 2, 2, 2, 2969, 3, 2, 2, 2, 2, 2971, 3, 2, 2, 2, 2, 2973, 3, 2, 2, 2, 2, 2975, 3, 2, 2, 2, 2, 2977, 3, 2, 2, 2, 2, 2979, 3, 2, 2, 2, 2, 2981, 3, 2, 2, 2, 2, 2983, 3, 2, 2, 2, 2, 2985, 3, 2, 2, 2, 2, 2987, 3, 2, 2, 2, 2, 2989, 3, 2, 2, 2, 2, 2991, 3, 2, 2, 2, 2, 2993, 3, 2, 2, 2, 2, 2995, 3, 2, 2, 2, 2, 2997, 3, 2, 2, 2, 2, 2999, 3, 2, 2, 2, 2, 3001, 3, 2, 2, 2, 2, 3003, 3, 2, 2, 2, 2, 3005, 3, 2, 2, 2, 2, 3007, 3, 2, 2, 2, 2, 3009, 3, 2, 2, 2, 2, 3011, 3, 2, 2, 2, 2, 3013, 3, 2, 2, 2, 2, 3015, 3, 2, 2, 2, 2, 3017, 3, 2, 2, 2, 2, 3019, 3, 2, 2, 2, 2, 3021, 3, 2, 2, 2, 2, 3023, 3, 2, 2, 2, 2, 3025, 3, 2, 2, 2, 2, 3027, 3, 2, 2, 2, 2, 3029, 3, 2, 2, 2, 2, 3031, 3, 2, 2, 2, 2, 3033, 3, 2, 2, 2, 2, 3035, 3, 2, 2, 2, 2, 3037, 3, 2, 2, 2, 2, 3039, 3, 2, 2, 2, 2, 3041, 3, 2, 2, 2, 2, 3043, 3, 2, 2, 2, 2, 3045, 3, 2, 2, 2, 2, 3047, 3, 2, 2, 2, 2, 3049, 3, 2, 2, 2, 2, 3051, 3, 2, 2, 2, 2, 3053, 3, 2, 2, 2, 2, 3055, 3, 2, 2, 2, 2, 3057, 3, 2, 2, 2, 2, 3059, 3, 2, 2, 2, 2, 3061, 3, 2, 2, 2, 2, 3063, 3, 2, 2, 2, 2, 3065, 3, 2, 2, 2, 2, 3067, 3, 2, 2, 2, 2, 3069, 3, 2, 2, 2, 2, 3071, 3, 2, 2, 2, 2, 3073, 3, 2, 2, 2, 2, 3075, 3, 2, 2, 2, 2, 3077, 3, 2, 2, 2, 2, 3079, 3, 2, 2, 2, 2, 3081, 3, 2, 2, 2, 2, 3083, 3, 2, 2, 2, 2, 3085, 3, 2, 2, 2, 2, 3087, 3, 2, 2, 2, 2, 3089, 3, 2, 2, 2, 2, 3091, 3, 2, 2, 2, 2, 3093, 3, 2, 2, 2, 2, 3095, 3, 2, 2, 2, 2, 3097, 3, 2, 2, 2, 2, 3099, 3, 2, 2, 2, 2, 3101, 3, 2, 2, 2, 2, 3103, 3, 2, 2, 2, 2, 3105, 3, 2, 2, 2, 2, 3107, 3, 2, 2, 2, 2, 3109, 3, 2, 2, 2, 2, 3111, 3, 2, 2, 2, 2, 3113, 3, 2, 2, 2, 2, 3115, 3, 2, 2, 2, 2, 3117, 3, 2, 2, 2, 2, 3119, 3, 2, 2, 2, 2, 3121, 3, 2, 2, 2, 2, 3123, 3, 2, 2, 2, 2, 3125, 3, 2, 2, 2, 2, 3127, 3, 2, 2, 2, 2, 3129, 3, 2, 2, 2, 2, 3131, 3, 2, 2, 2, 2, 3133, 3, 2, 2, 2, 2, 3135, 3, 2, 2, 2, 2, 3137, 3, 2, 2, 2, 2, 3139, 3, 2, 2, 2, 2, 3141, 3, 2, 2, 2, 2, 3143, 3, 2, 2, 2, 2, 3145, 3, 2, 2, 2, 2, 3147, 3, 2, 2, 2, 2, 3149, 3, 2, 2, 2, 2, 3151, 3, 2, 2, 2, 2, 3153, 3, 2, 2, 2, 2, 3155, 3, 2, 2, 2, 2, 3157, 3, 2, 2, 2, 2, 3159, 3, 2, 2, 2, 2, 3161, 3, 2, 2, 2, 2, 3163, 3, 2, 2, 2, 2, 3165, 3, 2, 2, 2, 2, 3167, 3, 2, 2, 2, 2, 3169, 3, 2, 2, 2, 2, 3171, 3, 2, 2, 2, 2, 3173, 3, 2, 2, 2, 2, 3175, 3, 2, 2, 2, 2, 3177, 3, 2, 2, 2, 2, 3179, 3, 2, 2, 2, 2, 3181, 3, 2, 2, 2, 2, 3183, 3, 2, 2, 2, 2, 3185, 3, 2, 2, 2, 2, 3187, 3, 2, 2, 2, 2, 3189, 3, 2, 2, 2, 2, 3191, 3, 2, 2, 2, 2, 3193, 3, 2, 2, 2, 2, 3195, 3, 2, 2, 2, 2, 3197, 3, 2, 2, 2, 2, 3199, 3, 2, 2, 2, 2, 3201, 3, 2, 2, 2, 2, 3203, 3, 2, 2, 2, 2, 3205, 3, 2, 2, 2, 2, 3207, 3, 2, 2, 2, 2, 3209, 3, 2, 2, 2, 2, 3211, 3, 2, 2, 2, 2, 3213, 3, 2, 2, 2, 2, 3215, 3, 2, 2, 2, 2, 3217, 3, 2, 2, 2, 2, 3219, 3, 2, 2, 2, 2, 3221, 3, 2, 2, 2, 2, 3223, 3, 2, 2, 2, 2, 3225, 3, 2, 2, 2, 2, 3227, 3, 2, 2, 2, 2, 3229, 3, 2, 2, 2, 2, 3231, 3, 2, 2, 2, 2, 3233, 3, 2, 2, 2, 2, 3235, 3, 2, 2, 2, 2, 3237, 3, 2, 2, 2, 2, 3239, 3, 2, 2, 2, 2, 3241, 3, 2, 2, 2, 2, 3243, 3, 2, 2, 2, 2, 3245, 3, 2, 2, 2, 2, 3247, 3, 2, 2, 2, 2, 3249, 3, 2, 2, 2, 2, 3251, 3, 2, 2, 2, 2, 3253, 3, 2, 2, 2, 2, 3255, 3, 2, 2, 2, 2, 3257, 3, 2, 2, 2, 2, 3259, 3, 2, 2, 2, 2, 3261, 3, 2, 2, 2, 2, 3263, 3, 2, 2, 2, 2, 3265, 3, 2, 2, 2, 2, 3267, 3, 2, 2, 2, 2, 3269, 3, 2, 2, 2, 2, 3271, 3, 2, 2, 2, 2, 3273, 3, 2, 2, 2, 2, 3275, 3, 2, 2, 2, 2, 3277, 3, 2, 2, 2, 2, 3279, 3, 2, 2, 2, 2, 3281, 3, 2, 2, 2, 2, 3283, 3, 2, 2, 2, 2, 3285, 3, 2, 2, 2, 2, 3287, 3, 2, 2, 2, 2, 3289, 3, 2, 2, 2, 2, 3291, 3, 2, 2, 2, 2, 3293, 3, 2, 2, 2, 2, 3295, 3, 2, 2, 2, 2, 3297, 3, 2, 2, 2, 2, 3299, 3, 2, 2, 2, 2, 3301, 3, 2, 2, 2, 2, 3303, 3, 2, 2, 2, 2, 3305, 3, 2, 2, 2, 2, 3307, 3, 2, 2, 2, 2, 3309, 3, 2, 2, 2, 2, 3311, 3, 2, 2, 2, 2, 3313, 3, 2, 2, 2, 2, 3315, 3, 2, 2, 2, 2, 3317, 3, 2, 2, 2, 2, 3319, 3, 2, 2, 2, 2, 3321, 3, 2, 2, 2, 2, 3323, 3, 2, 2, 2, 2, 3325, 3, 2, 2, 2, 2, 3327, 3, 2, 2, 2, 2, 3329, 3, 2, 2, 2, 2, 3331, 3, 2, 2, 2, 2, 3333, 3, 2, 2, 2, 2, 3335, 3, 2, 2, 2, 2, 3337, 3, 2, 2, 2, 2, 3339, 3, 2, 2, 2, 2, 3341, 3, 2, 2, 2, 2, 3343, 3, 2, 2, 2, 2, 3345, 3, 2, 2, 2, 2, 3347, 3, 2, 2, 2, 2, 3349, 3, 2, 2, 2, 2, 3351, 3, 2, 2, 2, 2, 3353, 3, 2, 2, 2, 2, 3355, 3, 2, 2, 2, 2, 3357, 3, 2, 2, 2, 2, 3359, 3, 2, 2, 2, 2, 3361, 3, 2, 2, 2, 2, 3363, 3, 2, 2, 2, 2, 3365, 3, 2, 2, 2, 2, 3367, 3, 2, 2, 2, 2, 3369, 3, 2, 2, 2, 2, 3371, 3, 2, 2, 2, 2, 3373, 3, 2, 2, 2, 2, 3375, 3, 2, 2, 2, 2, 3377, 3, 2, 2, 2, 2, 3379, 3, 2, 2, 2, 2, 3381, 3, 2, 2, 2, 2, 3383, 3, 2, 2, 2, 2, 3385, 3, 2, 2, 2, 2, 3387, 3, 2, 2, 2, 2, 3389, 3, 2, 2, 2, 2, 3391, 3, 2, 2, 2, 2, 3393, 3, 2, 2, 2, 2, 3395, 3, 2, 2, 2, 2, 3397, 3, 2, 2, 2, 2, 3399, 3, 2, 2, 2, 2, 3401, 3, 2, 2, 2, 2, 3403, 3, 2, 2, 2, 2, 3405, 3, 2, 2, 2, 2, 3407, 3, 2, 2, 2, 2, 3409, 3, 2, 2, 2, 2, 3411, 3, 2, 2, 2, 2, 3413, 3, 2, 2, 2, 2, 3415, 3, 2, 2, 2, 2, 3417, 3, 2, 2, 2, 2, 3419, 3, 2, 2, 2, 2, 3421, 3, 2, 2, 2, 2, 3423, 3, 2, 2, 2, 2, 3425, 3, 2, 2, 2, 2, 3427, 3, 2, 2, 2, 2, 3429, 3, 2, 2, 2, 2, 3431, 3, 2, 2, 2, 2, 3433, 3, 2, 2, 2, 2, 3435, 3, 2, 2, 2, 2, 3437, 3, 2, 2, 2, 2, 3439, 3, 2, 2, 2, 2, 3441, 3, 2, 2, 2, 2, 3443, 3, 2, 2, 2, 2, 3445, 3, 2, 2, 2, 2, 3447, 3, 2, 2, 2, 2, 3449, 3, 2, 2, 2, 2, 3451, 3, 2, 2, 2, 2, 3453, 3, 2, 2, 2, 2, 3455, 3, 2, 2, 2, 2, 3457, 3, 2, 2, 2, 2, 3459, 3, 2, 2, 2, 2, 3461, 3, 2, 2, 2, 2, 3463, 3, 2, 2, 2, 2, 3465, 3, 2, 2, 2, 2, 3467, 3, 2, 2, 2, 2, 3469, 3, 2, 2, 2, 2, 3471, 3, 2, 2, 2, 2, 3473, 3, 2, 2, 2, 2, 3475, 3, 2, 2, 2, 2, 3477, 3, 2, 2, 2, 2, 3479, 3, 2, 2, 2, 2, 3481, 3, 2, 2, 2, 2, 3483, 3, 2, 2, 2, 2, 3485, 3, 2, 2, 2, 2, 3487, 3, 2, 2, 2, 2, 3489, 3, 2, 2, 2, 2, 3491, 3, 2, 2, 2, 2, 3493, 3, 2, 2, 2, 2, 3495, 3, 2, 2, 2, 2, 3497, 3, 2, 2, 2, 2, 3499, 3, 2, 2, 2, 2, 3501, 3, 2, 2, 2, 2, 3503, 3, 2, 2, 2, 2, 3505, 3, 2, 2, 2, 2, 3507, 3, 2, 2, 2, 2, 3509, 3, 2, 2, 2, 2, 3511, 3, 2, 2, 2, 2, 3513, 3, 2, 2, 2, 2, 3515, 3, 2, 2, 2, 2, 3517, 3, 2, 2, 2, 2, 3519, 3, 2, 2, 2, 2, 3521, 3, 2, 2, 2, 2, 3523, 3, 2, 2, 2, 2, 3525, 3, 2, 2, 2, 2, 3527, 3, 2, 2, 2, 2, 3529, 3, 2, 2, 2, 2, 3531, 3, 2, 2, 2, 2, 3533, 3, 2, 2, 2, 2, 3535, 3, 2, 2, 2, 2, 3537, 3, 2, 2, 2, 2, 3539, 3, 2, 2, 2, 2, 3541, 3, 2, 2, 2, 2, 3543, 3, 2, 2, 2, 2, 3545, 3, 2, 2, 2, 2, 3547, 3, 2, 2, 2, 2, 3549, 3, 2, 2, 2, 2, 3551, 3, 2, 2, 2, 2, 3553, 3, 2, 2, 2, 2, 3555, 3, 2, 2, 2, 2, 3557, 3, 2, 2, 2, 2, 3559, 3, 2, 2, 2, 2, 3561, 3, 2, 2, 2, 2, 3563, 3, 2, 2, 2, 2, 3565, 3, 2, 2, 2, 2, 3567, 3, 2, 2, 2, 2, 3569, 3, 2, 2, 2, 2, 3571, 3, 2, 2, 2, 2, 3573, 3, 2, 2, 2, 2, 3575, 3, 2, 2, 2, 2, 3577, 3, 2, 2, 2, 2, 3579, 3, 2, 2, 2, 2, 3581, 3, 2, 2, 2, 2, 3583, 3, 2, 2, 2, 2, 3585, 3, 2, 2, 2, 2, 3587, 3, 2, 2, 2, 2, 3589, 3, 2, 2, 2, 2, 3591, 3, 2, 2, 2, 2, 3593, 3, 2, 2, 2, 2, 3595, 3, 2, 2, 2, 2, 3597, 3, 2, 2, 2, 2, 3599, 3, 2, 2, 2, 2, 3601, 3, 2, 2, 2, 2, 3603, 3, 2, 2, 2, 2, 3605, 3, 2, 2, 2, 2, 3607, 3, 2, 2, 2, 2, 3609, 3, 2, 2, 2, 2, 3611, 3, 2, 2, 2, 2, 3613, 3, 2, 2, 2, 2, 3615, 3, 2, 2, 2, 2, 3617, 3, 2, 2, 2, 2, 3619, 3, 2, 2, 2, 2, 3621, 3, 2, 2, 2, 2, 3623, 3, 2, 2, 2, 2, 3625, 3, 2, 2, 2, 2, 3627, 3, 2, 2, 2, 2, 3629, 3, 2, 2, 2, 2, 3631, 3, 2, 2, 2, 2, 3633, 3, 2, 2, 2, 2, 3635, 3, 2, 2, 2, 2, 3637, 3, 2, 2, 2, 2, 3639, 3, 2, 2, 2, 2, 3641, 3, 2, 2, 2, 2, 3643, 3, 2, 2, 2, 2, 3645, 3, 2, 2, 2, 2, 3647, 3, 2, 2, 2, 2, 3649, 3, 2, 2, 2, 2, 3651, 3, 2, 2, 2, 2, 3653, 3, 2, 2, 2, 2, 3655, 3, 2, 2, 2, 2, 3657, 3, 2, 2, 2, 2, 3659, 3, 2, 2, 2, 2, 3661, 3, 2, 2, 2, 2, 3663, 3, 2, 2, 2, 2, 3665, 3, 2, 2, 2, 2, 3667, 3, 2, 2, 2, 2, 3669, 3, 2, 2, 2, 2, 3671, 3, 2, 2, 2, 2, 3673, 3, 2, 2, 2, 2, 3675, 3, 2, 2, 2, 2, 3677, 3, 2, 2, 2, 2, 3679, 3, 2, 2, 2, 2, 3681, 3, 2, 2, 2, 2, 3683, 3, 2, 2, 2, 2, 3685, 3, 2, 2, 2, 2, 3687, 3, 2, 2, 2, 2, 3689, 3, 2, 2, 2, 2, 3691, 3, 2, 2, 2, 2, 3693, 3, 2, 2, 2, 2, 3695, 3, 2, 2, 2, 2, 3697, 3, 2, 2, 2, 2, 3699, 3, 2, 2, 2, 2, 3701, 3, 2, 2, 2, 2, 3703, 3, 2, 2, 2, 2, 3705, 3, 2, 2, 2, 2, 3707, 3, 2, 2, 2, 2, 3709, 3, 2, 2, 2, 2, 3711, 3, 2, 2, 2, 2, 3713, 3, 2, 2, 2, 2, 3715, 3, 2, 2, 2, 2, 3717, 3, 2, 2, 2, 2, 3719, 3, 2, 2, 2, 2, 3721, 3, 2, 2, 2, 2, 3723, 3, 2, 2, 2, 2, 3725, 3, 2, 2, 2, 2, 3727, 3, 2, 2, 2, 2, 3729, 3, 2, 2, 2, 2, 3731, 3, 2, 2, 2, 2, 3733, 3, 2, 2, 2, 2, 3735, 3, 2, 2, 2, 2, 3737, 3, 2, 2, 2, 2, 3739, 3, 2, 2, 2, 2, 3741, 3, 2, 2, 2, 2, 3743, 3, 2, 2, 2, 2, 3745, 3, 2, 2, 2, 2, 3747, 3, 2, 2, 2, 2, 3749, 3, 2, 2, 2, 2, 3751, 3, 2, 2, 2, 2, 3753, 3, 2, 2, 2, 2, 3755, 3, 2, 2, 2, 2, 3757, 3, 2, 2, 2, 2, 3759, 3, 2, 2, 2, 2, 3761, 3, 2, 2, 2, 2, 3763, 3, 2, 2, 2, 2, 3765, 3, 2, 2, 2, 2, 3767, 3, 2, 2, 2, 2, 3769, 3, 2, 2, 2, 2, 3771, 3, 2, 2, 2, 2, 3773, 3, 2, 2, 2, 2, 3775, 3, 2, 2, 2, 2, 3777, 3, 2, 2, 2, 2, 3779, 3, 2, 2, 2, 2, 3781, 3, 2, 2, 2, 2, 3783, 3, 2, 2, 2, 2, 3785, 3, 2, 2, 2, 2, 3787, 3, 2, 2, 2, 2, 3789, 3, 2, 2, 2, 2, 3791, 3, 2, 2, 2, 2, 3793, 3, 2, 2, 2, 2, 3795, 3, 2, 2, 2, 2, 3797, 3, 2, 2, 2, 2, 3799, 3, 2, 2, 2, 2, 3801, 3, 2, 2, 2, 2, 3803, 3, 2, 2, 2, 2, 3805, 3, 2, 2, 2, 2, 3807, 3, 2, 2, 2, 2, 3809, 3, 2, 2, 2, 2, 3811, 3, 2, 2, 2, 2, 3813, 3, 2, 2, 2, 2, 3815, 3, 2, 2, 2, 2, 3817, 3, 2, 2, 2, 2, 3819, 3, 2, 2, 2, 2, 3821, 3, 2, 2, 2, 2, 3823, 3, 2, 2, 2, 2, 3825, 3, 2, 2, 2, 2, 3827, 3, 2, 2, 2, 2, 3829, 3, 2, 2, 2, 2, 3831, 3, 2, 2, 2, 2, 3833, 3, 2, 2, 2, 2, 3835, 3, 2, 2, 2, 2, 3837, 3, 2, 2, 2, 2, 3839, 3, 2, 2, 2, 2, 3841, 3, 2, 2, 2, 2, 3843, 3, 2, 2, 2, 2, 3845, 3, 2, 2, 2, 2, 3847, 3, 2, 2, 2, 2, 3849, 3, 2, 2, 2, 2, 3851, 3, 2, 2, 2, 2, 3853, 3, 2, 2, 2, 2, 3855, 3, 2, 2, 2, 2, 3857, 3, 2, 2, 2, 2, 3859, 3, 2, 2, 2, 2, 3861, 3, 2, 2, 2, 2, 3863, 3, 2, 2, 2, 2, 3865, 3, 2, 2, 2, 2, 3867, 3, 2, 2, 2, 2, 3869, 3, 2, 2, 2, 2, 3871, 3, 2, 2, 2, 2, 3873, 3, 2, 2, 2, 2, 3875, 3, 2, 2, 2, 2, 3877, 3, 2, 2, 2, 2, 3879, 3, 2, 2, 2, 2, 3881, 3, 2, 2, 2, 2, 3883, 3, 2, 2, 2, 2, 3885, 3, 2, 2, 2, 2, 3887, 3, 2, 2, 2, 2, 3889, 3, 2, 2, 2, 2, 3891, 3, 2, 2, 2, 2, 3893, 3, 2, 2, 2, 2, 3895, 3, 2, 2, 2, 2, 3897, 3, 2, 2, 2, 2, 3899, 3, 2, 2, 2, 2, 3901, 3, 2, 2, 2, 2, 3903, 3, 2, 2, 2, 2, 3905, 3, 2, 2, 2, 2, 3907, 3, 2, 2, 2, 2, 3909, 3, 2, 2, 2, 2, 3911, 3, 2, 2, 2, 2, 3913, 3, 2, 2, 2, 2, 3915, 3, 2, 2, 2, 2, 3917, 3, 2, 2, 2, 2, 3919, 3, 2, 2, 2, 2, 3921, 3, 2, 2, 2, 2, 3923, 3, 2, 2, 2, 2, 3925, 3, 2, 2, 2, 2, 3927, 3, 2, 2, 2, 2, 3929, 3, 2, 2, 2, 2, 3931, 3, 2, 2, 2, 2, 3933, 3, 2, 2, 2, 2, 3935, 3, 2, 2, 2, 2, 3937, 3, 2, 2, 2, 2, 3939, 3, 2, 2, 2, 2, 3941, 3, 2, 2, 2, 2, 3943, 3, 2, 2, 2, 2, 3945, 3, 2, 2, 2, 2, 3947, 3, 2, 2, 2, 2, 3949, 3, 2, 2, 2, 2, 3951, 3, 2, 2, 2, 2, 3953, 3, 2, 2, 2, 2, 3955, 3, 2, 2, 2, 2, 3957, 3, 2, 2, 2, 2, 3959, 3, 2, 2, 2, 2, 3961, 3, 2, 2, 2, 2, 3963, 3, 2, 2, 2, 2, 3965, 3, 2, 2, 2, 2, 3967, 3, 2, 2, 2, 2, 3969, 3, 2, 2, 2, 2, 3971, 3, 2, 2, 2, 2, 3973, 3, 2, 2, 2, 2, 3975, 3, 2, 2, 2, 2, 3977, 3, 2, 2, 2, 2, 3979, 3, 2, 2, 2, 2, 3981, 3, 2, 2, 2, 2, 3983, 3, 2, 2, 2, 2, 3985, 3, 2, 2, 2, 2, 3987, 3, 2, 2, 2, 2, 3989, 3, 2, 2, 2, 2, 3991, 3, 2, 2, 2, 2, 3993, 3, 2, 2, 2, 2, 3995, 3, 2, 2, 2, 2, 3997, 3, 2, 2, 2, 2, 3999, 3, 2, 2, 2, 2, 4001, 3, 2, 2, 2, 2, 4003, 3, 2, 2, 2, 2, 4005, 3, 2, 2, 2, 2, 4007, 3, 2, 2, 2, 2, 4009, 3, 2, 2, 2, 2, 4011, 3, 2, 2, 2, 2, 4013, 3, 2, 2, 2, 2, 4015, 3, 2, 2, 2, 2, 4017, 3, 2, 2, 2, 2, 4019, 3, 2, 2, 2, 2, 4021, 3, 2, 2, 2, 2, 4023, 3, 2, 2, 2, 2, 4025, 3, 2, 2, 2, 2, 4027, 3, 2, 2, 2, 2, 4029, 3, 2, 2, 2, 2, 4031, 3, 2, 2, 2, 2, 4033, 3, 2, 2, 2, 2, 4035, 3, 2, 2, 2, 2, 4037, 3, 2, 2, 2, 2, 4039, 3, 2, 2, 2, 2, 4041, 3, 2, 2, 2, 2, 4043, 3, 2, 2, 2, 2, 4045, 3, 2, 2, 2, 2, 4047, 3, 2, 2, 2, 2, 4049, 3, 2, 2, 2, 2, 4051, 3, 2, 2, 2, 2, 4053, 3, 2, 2, 2, 2, 4055, 3, 2, 2, 2, 2, 4057, 3, 2, 2, 2, 2, 4059, 3, 2, 2, 2, 2, 4061, 3, 2, 2, 2, 2, 4063, 3, 2, 2, 2, 2, 4065, 3, 2, 2, 2, 2, 4067, 3, 2, 2, 2, 2, 4069, 3, 2, 2, 2, 2, 4071, 3, 2, 2, 2, 2, 4073, 3, 2, 2, 2, 2, 4075, 3, 2, 2, 2, 2, 4077, 3, 2, 2, 2, 2, 4079, 3, 2, 2, 2, 2, 4081, 3, 2, 2, 2, 2, 4083, 3, 2, 2, 2, 2, 4085, 3, 2, 2, 2, 2, 4087, 3, 2, 2, 2, 2, 4089, 3, 2, 2, 2, 2, 4091, 3, 2, 2, 2, 2, 4093, 3, 2, 2, 2, 2, 4095, 3, 2, 2, 2, 2, 4097, 3, 2, 2, 2, 2, 4099, 3, 2, 2, 2, 2, 4101, 3, 2, 2, 2, 2, 4103, 3, 2, 2, 2, 2, 4105, 3, 2, 2, 2, 2, 4107, 3, 2, 2, 2, 2, 4109, 3, 2, 2, 2, 2, 4111, 3, 2, 2, 2, 2, 4113, 3, 2, 2, 2, 2, 4115, 3, 2, 2, 2, 2, 4117, 3, 2, 2, 2, 2, 4119, 3, 2, 2, 2, 2, 4121, 3, 2, 2, 2, 2, 4123, 3, 2, 2, 2, 2, 4125, 3, 2, 2, 2, 2, 4127, 3, 2, 2, 2, 2, 4129, 3, 2, 2, 2, 2, 4131, 3, 2, 2, 2, 2, 4133, 3, 2, 2, 2, 2, 4135, 3, 2, 2, 2, 2, 4137, 3, 2, 2, 2, 2, 4139, 3, 2, 2, 2, 2, 4141, 3, 2, 2, 2, 2, 4143, 3, 2, 2, 2, 2, 4145, 3, 2, 2, 2, 2, 4147, 3, 2, 2, 2, 2, 4149, 3, 2, 2, 2, 2, 4151, 3, 2, 2, 2, 2, 4153, 3, 2, 2, 2, 2, 4155, 3, 2, 2, 2, 2, 4157, 3, 2, 2, 2, 2, 4159, 3, 2, 2, 2, 2, 4161, 3, 2, 2, 2, 2, 4163, 3, 2, 2, 2, 2, 4165, 3, 2, 2, 2, 2, 4167, 3, 2, 2, 2, 2, 4169, 3, 2, 2, 2, 2, 4171, 3, 2, 2, 2, 2, 4173, 3, 2, 2, 2, 2, 4175, 3, 2, 2, 2, 2, 4177, 3, 2, 2, 2, 2, 4179, 3, 2, 2, 2, 2, 4181, 3, 2, 2, 2, 2, 4183, 3, 2, 2, 2, 2, 4185, 3, 2, 2, 2, 2, 4187, 3, 2, 2, 2, 2, 4189, 3, 2, 2, 2, 2, 4191, 3, 2, 2, 2, 2, 4193, 3, 2, 2, 2, 2, 4195, 3, 2, 2, 2, 2, 4197, 3, 2, 2, 2, 2, 4199, 3, 2, 2, 2, 2, 4201, 3, 2, 2, 2, 2, 4203, 3, 2, 2, 2, 2, 4205, 3, 2, 2, 2, 2, 4207, 3, 2, 2, 2, 2, 4209, 3, 2, 2, 2, 2, 4211, 3, 2, 2, 2, 2, 4213, 3, 2, 2, 2, 2, 4215, 3, 2, 2, 2, 2, 4217, 3, 2, 2, 2, 2, 4219, 3, 2, 2, 2, 2, 4221, 3, 2, 2, 2, 2, 4223, 3, 2, 2, 2, 2, 4225, 3, 2, 2, 2, 2, 4227, 3, 2, 2, 2, 2, 4229, 3, 2, 2, 2, 2, 4231, 3, 2, 2, 2, 2, 4233, 3, 2, 2, 2, 2, 4235, 3, 2, 2, 2, 2, 4237, 3, 2, 2, 2, 2, 4239, 3, 2, 2, 2, 2, 4241, 3, 2, 2, 2, 2, 4243, 3, 2, 2, 2, 2, 4245, 3, 2, 2, 2, 2, 4247, 3, 2, 2, 2, 2, 4249, 3, 2, 2, 2, 2, 4251, 3, 2, 2, 2, 2, 4253, 3, 2, 2, 2, 2, 4255, 3, 2, 2, 2, 2, 4257, 3, 2, 2, 2, 2, 4259, 3, 2, 2, 2, 2, 4261, 3, 2, 2, 2, 2, 4263, 3, 2, 2, 2, 2, 4265, 3, 2, 2, 2, 2, 4267, 3, 2, 2, 2, 2, 4269, 3, 2, 2, 2, 2, 4271, 3, 2, 2, 2, 2, 4273, 3, 2, 2, 2, 2, 4275, 3, 2, 2, 2, 2, 4277, 3, 2, 2, 2, 2, 4279, 3, 2, 2, 2, 2, 4281, 3, 2, 2, 2, 2, 4283, 3, 2, 2, 2, 2, 4285, 3, 2, 2, 2, 2, 4287, 3, 2, 2, 2, 2, 4289, 3, 2, 2, 2, 2, 4291, 3, 2, 2, 2, 2, 4293, 3, 2, 2, 2, 2, 4295, 3, 2, 2, 2, 2, 4297, 3, 2, 2, 2, 2, 4299, 3, 2, 2, 2, 2, 4301, 3, 2, 2, 2, 2, 4303, 3, 2, 2, 2, 2, 4305, 3, 2, 2, 2, 2, 4307, 3, 2, 2, 2, 2, 4309, 3, 2, 2, 2, 2, 4311, 3, 2, 2, 2, 2, 4313, 3, 2, 2, 2, 2, 4315, 3, 2, 2, 2, 2, 4317, 3, 2, 2, 2, 2, 4319, 3, 2, 2, 2, 2, 4321, 3, 2, 2, 2, 2, 4323, 3, 2, 2, 2, 2, 4325, 3, 2, 2, 2, 2, 4327, 3, 2, 2, 2, 2, 4329, 3, 2, 2, 2, 2, 4331, 3, 2, 2, 2, 2, 4333, 3, 2, 2, 2, 2, 4335, 3, 2, 2, 2, 2, 4337, 3, 2, 2, 2, 2, 4339, 3, 2, 2, 2, 2, 4341, 3, 2, 2, 2, 2, 4343, 3, 2, 2, 2, 2, 4345, 3, 2, 2, 2, 2, 4347, 3, 2, 2, 2, 2, 4349, 3, 2, 2, 2, 2, 4351, 3, 2, 2, 2, 2, 4353, 3, 2, 2, 2, 2, 4355, 3, 2, 2, 2, 2, 4357, 3, 2, 2, 2, 2, 4359, 3, 2, 2, 2, 2, 4361, 3, 2, 2, 2, 2, 4363, 3, 2, 2, 2, 2, 4365, 3, 2, 2, 2, 2, 4367, 3, 2, 2, 2, 2, 4369, 3, 2, 2, 2, 2, 4371, 3, 2, 2, 2, 2, 4373, 3, 2, 2, 2, 2, 4375, 3, 2, 2, 2, 2, 4377, 3, 2, 2, 2, 2, 4379, 3, 2, 2, 2, 2, 4381, 3, 2, 2, 2, 2, 4383, 3, 2, 2, 2, 2, 4385, 3, 2, 2, 2, 2, 4387, 3, 2, 2, 2, 2, 4389, 3, 2, 2, 2, 2, 4391, 3, 2, 2, 2, 2, 4393, 3, 2, 2, 2, 2, 4395, 3, 2, 2, 2, 2, 4397, 3, 2, 2, 2, 2, 4399, 3, 2, 2, 2, 2, 4401, 3, 2, 2, 2, 2, 4403, 3, 2, 2, 2, 2, 4405, 3, 2, 2, 2, 2, 4407, 3, 2, 2, 2, 2, 4409, 3, 2, 2, 2, 2, 4411, 3, 2, 2, 2, 2, 4413, 3, 2, 2, 2, 2, 4415, 3, 2, 2, 2, 2, 4417, 3, 2, 2, 2, 2, 4419, 3, 2, 2, 2, 2, 4421, 3, 2, 2, 2, 2, 4423, 3, 2, 2, 2, 2, 4425, 3, 2, 2, 2, 2, 4427, 3, 2, 2, 2, 2, 4429, 3, 2, 2, 2, 2, 4431, 3, 2, 2, 2, 2, 4433, 3, 2, 2, 2, 2, 4435, 3, 2, 2, 2, 2, 4437, 3, 2, 2, 2, 2, 4439, 3, 2, 2, 2, 2, 4441, 3, 2, 2, 2, 2, 4459, 3, 2, 2, 2, 2, 4461, 3, 2, 2, 2, 2, 4463, 3, 2, 2, 2, 2, 4465, 3, 2, 2, 2, 2, 4467, 3, 2, 2, 2, 2, 4469, 3, 2, 2, 2, 2, 4471, 3, 2, 2, 2, 2, 4473, 3, 2, 2, 2, 2, 4475, 3, 2, 2, 2, 2, 4477, 3, 2, 2, 2, 2, 4479, 3, 2, 2, 2, 2, 4481, 3, 2, 2, 2, 2, 4483, 3, 2, 2, 2, 2, 4485, 3, 2, 2, 2, 2, 4487, 3, 2, 2, 2, 2, 4489, 3, 2, 2, 2, 2, 4491, 3, 2, 2, 2, 2, 4493, 3, 2, 2, 2, 2, 4495, 3, 2, 2, 2, 2, 4497, 3, 2, 2, 2, 2, 4499, 3, 2, 2, 2, 2, 4501, 3, 2, 2, 2, 2, 4503, 3, 2, 2, 2, 2, 4505, 3, 2, 2, 2, 2, 4507, 3, 2, 2, 2, 2, 4509, 3, 2, 2, 2, 2, 4511, 3, 2, 2, 2, 2, 4513, 3, 2, 2, 2, 2, 4515, 3, 2, 2, 2, 2, 4517, 3, 2, 2, 2, 2, 4519, 3, 2, 2, 2, 2, 4521, 3, 2, 2, 2, 2, 4523, 3, 2, 2, 2, 2, 4525, 3, 2, 2, 2, 3, 4539, 3, 2, 2, 2, 5, 4545, 3, 2, 2, 2, 7, 4549, 3, 2, 2, 2, 9, 4556, 3, 2, 2, 2, 11, 4565, 3, 2, 2, 2, 13, 4573, 3, 2, 2, 2, 15, 4577, 3, 2, 2, 2, 17, 4582, 3, 2, 2, 2, 19, 4589, 3, 2, 2, 2, 21, 4597, 3, 2, 2, 2, 23, 4606, 3, 2, 2, 2, 25, 4613, 3, 2, 2, 2, 27, 4630, 3, 2, 2, 2, 29, 4642, 3, 2, 2, 2, 31, 4658, 3, 2, 2, 2, 33, 4669, 3, 2, 2, 2, 35, 4678, 3, 2, 2, 2, 37, 4692, 3, 2, 2, 2, 39, 4696, 3, 2, 2, 2, 41, 4707, 3, 2, 2, 2, 43, 4717, 3, 2, 2, 2, 45, 4728, 3, 2, 2, 2, 47, 4737, 3, 2, 2, 2, 49, 4743, 3, 2, 2, 2, 51, 4754, 3, 2, 2, 2, 53, 4768, 3, 2, 2, 2, 55, 4777, 3, 2, 2, 2, 57, 4784, 3, 2, 2, 2, 59, 4792, 3, 2, 2, 2, 61, 4807, 3, 2, 2, 2, 63, 4813, 3, 2, 2, 2, 65, 4819, 3, 2, 2, 2, 67, 4829, 3, 2, 2, 2, 69, 4831, 3, 2, 2, 2, 71, 4837, 3, 2, 2, 2, 73, 4841, 3, 2, 2, 2, 75, 4850, 3, 2, 2, 2, 77, 4856, 3, 2, 2, 2, 79, 4865, 3, 2, 2, 2, 81, 4871, 3, 2, 2, 2, 83, 4878, 3, 2, 2, 2, 85, 4886, 3, 2, 2, 2, 87, 4896, 3, 2, 2, 2, 89, 4900, 3, 2, 2, 2, 91, 4910, 3, 2, 2, 2, 93, 4918, 3, 2, 2, 2, 95, 4930, 3, 2, 2, 2, 97, 4939, 3, 2, 2, 2, 99, 4943, 3, 2, 2, 2, 101, 4953, 3, 2, 2, 2, 103, 4960, 3, 2, 2, 2, 105, 4975, 3, 2, 2, 2, 107, 4989, 3, 2, 2, 2, 109, 5001, 3, 2, 2, 2, 111, 5007, 3, 2, 2, 2, 113, 5029, 3, 2, 2, 2, 115, 5038, 3, 2, 2, 2, 117, 5046, 3, 2, 2, 2, 119, 5055, 3, 2, 2, 2, 121, 5066, 3, 2, 2, 2, 123, 5072, 3, 2, 2, 2, 125, 5075, 3, 2, 2, 2, 127, 5079, 3, 2, 2, 2, 129, 5085, 3, 2, 2, 2, 131, 5094, 3, 2, 2, 2, 133, 5099, 3, 2, 2, 2, 135, 5104, 3, 2, 2, 2, 137, 5113, 3, 2, 2, 2, 139, 5120, 3, 2, 2, 2, 141, 5130, 3, 2, 2, 2, 143, 5136, 3, 2, 2, 2, 145, 5149, 3, 2, 2, 2, 147, 5155, 3, 2, 2, 2, 149, 5160, 3, 2, 2, 2, 151, 5163, 3, 2, 2, 2, 153, 5173, 3, 2, 2, 2, 155, 5184, 3, 2, 2, 2, 157, 5190, 3, 2, 2, 2, 159, 5204, 3, 2, 2, 2, 161, 5219, 3, 2, 2, 2, 163, 5226, 3, 2, 2, 2, 165, 5240, 3, 2, 2, 2, 167, 5253, 3, 2, 2, 2, 169, 5258, 3, 2, 2, 2, 171, 5269, 3, 2, 2, 2, 173, 5280, 3, 2, 2, 2, 175, 5291, 3, 2, 2, 2, 177, 5301, 3, 2, 2, 2, 179, 5324, 3, 2, 2, 2, 181, 5340, 3, 2, 2, 2, 183, 5353, 3, 2, 2, 2, 185, 5358, 3, 2, 2, 2, 187, 5369, 3, 2, 2, 2, 189, 5376, 3, 2, 2, 2, 191, 5386, 3, 2, 2, 2, 193, 5392, 3, 2, 2, 2, 195, 5402, 3, 2, 2, 2, 197, 5408, 3, 2, 2, 2, 199, 5418, 3, 2, 2, 2, 201, 5446, 3, 2, 2, 2, 203, 5453, 3, 2, 2, 2, 205, 5460, 3, 2, 2, 2, 207, 5466, 3, 2, 2, 2, 209, 5476, 3, 2, 2, 2, 211, 5495, 3, 2, 2, 2, 213, 5502, 3, 2, 2, 2, 215, 5511, 3, 2, 2, 2, 217, 5519, 3, 2, 2, 2, 219, 5525, 3, 2, 2, 2, 221, 5535, 3, 2, 2, 2, 223, 5543, 3, 2, 2, 2, 225, 5550, 3, 2, 2, 2, 227, 5564, 3, 2, 2, 2, 229, 5587, 3, 2, 2, 2, 231, 5605, 3, 2, 2, 2, 233, 5618, 3, 2, 2, 2, 235, 5640, 3, 2, 2, 2, 237, 5657, 3, 2, 2, 2, 239, 5672, 3, 2, 2, 2, 241, 5683, 3, 2, 2, 2, 243, 5691, 3, 2, 2, 2, 245, 5702, 3, 2, 2, 2, 247, 5709, 3, 2, 2, 2, 249, 5720, 3, 2, 2, 2, 251, 5727, 3, 2, 2, 2, 253, 5735, 3, 2, 2, 2, 255, 5747, 3, 2, 2, 2, 257, 5752, 3, 2, 2, 2, 259, 5757, 3, 2, 2, 2, 261, 5763, 3, 2, 2, 2, 263, 5775, 3, 2, 2, 2, 265, 5782, 3, 2, 2, 2, 267, 5792, 3, 2, 2, 2, 269, 5797, 3, 2, 2, 2, 271, 5805, 3, 2, 2, 2, 273, 5810, 3, 2, 2, 2, 275, 5816, 3, 2, 2, 2, 277, 5823, 3, 2, 2, 2, 279, 5831, 3, 2, 2, 2, 281, 5841, 3, 2, 2, 2, 283, 5846, 3, 2, 2, 2, 285, 5853, 3, 2, 2, 2, 287, 5866, 3, 2, 2, 2, 289, 5878, 3, 2, 2, 2, 291, 5884, 3, 2, 2, 2, 293, 5889, 3, 2, 2, 2, 295, 5892, 3, 2, 2, 2, 297, 5915, 3, 2, 2, 2, 299, 5927, 3, 2, 2, 2, 301, 5932, 3, 2, 2, 2, 303, 5938, 3, 2, 2, 2, 305, 5947, 3, 2, 2, 2, 307, 5963, 3, 2, 2, 2, 309, 5980, 3, 2, 2, 2, 311, 5988, 3, 2, 2, 2, 313, 5999, 3, 2, 2, 2, 315, 6008, 3, 2, 2, 2, 317, 6013, 3, 2, 2, 2, 319, 6020, 3, 2, 2, 2, 321, 6030, 3, 2, 2, 2, 323, 6039, 3, 2, 2, 2, 325, 6051, 3, 2, 2, 2, 327, 6059, 3, 2, 2, 2, 329, 6064, 3, 2, 2, 2, 331, 6069, 3, 2, 2, 2, 333, 6078, 3, 2, 2, 2, 335, 6090, 3, 2, 2, 2, 337, 6095, 3, 2, 2, 2, 339, 6112, 3, 2, 2, 2, 341, 6124, 3, 2, 2, 2, 343, 6130, 3, 2, 2, 2, 345, 6138, 3, 2, 2, 2, 347, 6145, 3, 2, 2, 2, 349, 6160, 3, 2, 2, 2, 351, 6186, 3, 2, 2, 2, 353, 6196, 3, 2, 2, 2, 355, 6201, 3, 2, 2, 2, 357, 6209, 3, 2, 2, 2, 359, 6221, 3, 2, 2, 2, 361, 6239, 3, 2, 2, 2, 363, 6245, 3, 2, 2, 2, 365, 6256, 3, 2, 2, 2, 367, 6262, 3, 2, 2, 2, 369, 6269, 3, 2, 2, 2, 371, 6273, 3, 2, 2, 2, 373, 6279, 3, 2, 2, 2, 375, 6285, 3, 2, 2, 2, 377, 6296, 3, 2, 2, 2, 379, 6304, 3, 2, 2, 2, 381, 6310, 3, 2, 2, 2, 383, 6312, 3, 2, 2, 2, 385, 6319, 3, 2, 2, 2, 387, 6324, 3, 2, 2, 2, 389, 6330, 3, 2, 2, 2, 391, 6356, 3, 2, 2, 2, 393, 6362, 3, 2, 2, 2, 395, 6379, 3, 2, 2, 2, 397, 6387, 3, 2, 2, 2, 399, 6403, 3, 2, 2, 2, 401, 6420, 3, 2, 2, 2, 403, 6431, 3, 2, 2, 2, 405, 6442, 3, 2, 2, 2, 407, 6460, 3, 2, 2, 2, 409, 6480, 3, 2, 2, 2, 411, 6492, 3, 2, 2, 2, 413, 6501, 3, 2, 2, 2, 415, 6513, 3, 2, 2, 2, 417, 6520, 3, 2, 2, 2, 419, 6532, 3, 2, 2, 2, 421, 6537, 3, 2, 2, 2, 423, 6545, 3, 2, 2, 2, 425, 6554, 3, 2, 2, 2, 427, 6576, 3, 2, 2, 2, 429, 6583, 3, 2, 2, 2, 431, 6591, 3, 2, 2, 2, 433, 6604, 3, 2, 2, 2, 435, 6617, 3, 2, 2, 2, 437, 6625, 3, 2, 2, 2, 439, 6632, 3, 2, 2, 2, 441, 6642, 3, 2, 2, 2, 443, 6654, 3, 2, 2, 2, 445, 6662, 3, 2, 2, 2, 447, 6676, 3, 2, 2, 2, 449, 6684, 3, 2, 2, 2, 451, 6693, 3, 2, 2, 2, 453, 6704, 3, 2, 2, 2, 455, 6714, 3, 2, 2, 2, 457, 6725, 3, 2, 2, 2, 459, 6733, 3, 2, 2, 2, 461, 6743, 3, 2, 2, 2, 463, 6759, 3, 2, 2, 2, 465, 6768, 3, 2, 2, 2, 467, 6777, 3, 2, 2, 2, 469, 6785, 3, 2, 2, 2, 471, 6792, 3, 2, 2, 2, 473, 6807, 3, 2, 2, 2, 475, 6819, 3, 2, 2, 2, 477, 6829, 3, 2, 2, 2, 479, 6837, 3, 2, 2, 2, 481, 6848, 3, 2, 2, 2, 483, 6863, 3, 2, 2, 2, 485, 6870, 3, 2, 2, 2, 487, 6885, 3, 2, 2, 2, 489, 6908, 3, 2, 2, 2, 491, 6930, 3, 2, 2, 2, 493, 6952, 3, 2, 2, 2, 495, 6973, 3, 2, 2, 2, 497, 6994, 3, 2, 2, 2, 499, 7013, 3, 2, 2, 2, 501, 7031, 3, 2, 2, 2, 503, 7047, 3, 2, 2, 2, 505, 7055, 3, 2, 2, 2, 507, 7068, 3, 2, 2, 2, 509, 7077, 3, 2, 2, 2, 511, 7088, 3, 2, 2, 2, 513, 7097, 3, 2, 2, 2, 515, 7103, 3, 2, 2, 2, 517, 7114, 3, 2, 2, 2, 519, 7126, 3, 2, 2, 2, 521, 7138, 3, 2, 2, 2, 523, 7148, 3, 2, 2, 2, 525, 7163, 3, 2, 2, 2, 527, 7174, 3, 2, 2, 2, 529, 7182, 3, 2, 2, 2, 531, 7191, 3, 2, 2, 2, 533, 7199, 3, 2, 2, 2, 535, 7208, 3, 2, 2, 2, 537, 7220, 3, 2, 2, 2, 539, 7234, 3, 2, 2, 2, 541, 7242, 3, 2, 2, 2, 543, 7249, 3, 2, 2, 2, 545, 7254, 3, 2, 2, 2, 547, 7261, 3, 2, 2, 2, 549, 7268, 3, 2, 2, 2, 551, 7279, 3, 2, 2, 2, 553, 7295, 3, 2, 2, 2, 555, 7307, 3, 2, 2, 2, 557, 7311, 3, 2, 2, 2, 559, 7316, 3, 2, 2, 2, 561, 7321, 3, 2, 2, 2, 563, 7344, 3, 2, 2, 2, 565, 7350, 3, 2, 2, 2, 567, 7360, 3, 2, 2, 2, 569, 7371, 3, 2, 2, 2, 571, 7383, 3, 2, 2, 2, 573, 7396, 3, 2, 2, 2, 575, 7412, 3, 2, 2, 2, 577, 7418, 3, 2, 2, 2, 579, 7425, 3, 2, 2, 2, 581, 7442, 3, 2, 2, 2, 583, 7465, 3, 2, 2, 2, 585, 7474, 3, 2, 2, 2, 587, 7485, 3, 2, 2, 2, 589, 7494, 3, 2, 2, 2, 591, 7500, 3, 2, 2, 2, 593, 7513, 3, 2, 2, 2, 595, 7523, 3, 2, 2, 2, 597, 7531, 3, 2, 2, 2, 599, 7536, 3, 2, 2, 2, 601, 7544, 3, 2, 2, 2, 603, 7552, 3, 2, 2, 2, 605, 7563, 3, 2, 2, 2, 607, 7571, 3, 2, 2, 2, 609, 7584, 3, 2, 2, 2, 611, 7599, 3, 2, 2, 2, 613, 7612, 3, 2, 2, 2, 615, 7630, 3, 2, 2, 2, 617, 7643, 3, 2, 2, 2, 619, 7652, 3, 2, 2, 2, 621, 7659, 3, 2, 2, 2, 623, 7680, 3, 2, 2, 2, 625, 7704, 3, 2, 2, 2, 627, 7716, 3, 2, 2, 2, 629, 7719, 3, 2, 2, 2, 631, 7725, 3, 2, 2, 2, 633, 7734, 3, 2, 2, 2, 635, 7743, 3, 2, 2, 2, 637, 7748, 3, 2, 2, 2, 639, 7757, 3, 2, 2, 2, 641, 7767, 3, 2, 2, 2, 643, 7783, 3, 2, 2, 2, 645, 7796, 3, 2, 2, 2, 647, 7806, 3, 2, 2, 2, 649, 7831, 3, 2, 2, 2, 651, 7852, 3, 2, 2, 2, 653, 7861, 3, 2, 2, 2, 655, 7889, 3, 2, 2, 2, 657, 7894, 3, 2, 2, 2, 659, 7904, 3, 2, 2, 2, 661, 7908, 3, 2, 2, 2, 663, 7913, 3, 2, 2, 2, 665, 7917, 3, 2, 2, 2, 667, 7932, 3, 2, 2, 2, 669, 7943, 3, 2, 2, 2, 671, 7958, 3, 2, 2, 2, 673, 7969, 3, 2, 2, 2, 675, 7984, 3, 2, 2, 2, 677, 7995, 3, 2, 2, 2, 679, 7999, 3, 2, 2, 2, 681, 8010, 3, 2, 2, 2, 683, 8016, 3, 2, 2, 2, 685, 8025, 3, 2, 2, 2, 687, 8029, 3, 2, 2, 2, 689, 8037, 3, 2, 2, 2, 691, 8045, 3, 2, 2, 2, 693, 8055, 3, 2, 2, 2, 695, 8067, 3, 2, 2, 2, 697, 8072, 3, 2, 2, 2, 699, 8082, 3, 2, 2, 2, 701, 8090, 3, 2, 2, 2, 703, 8102, 3, 2, 2, 2, 705, 8110, 3, 2, 2, 2, 707, 8119, 3, 2, 2, 2, 709, 8130, 3, 2, 2, 2, 711, 8139, 3, 2, 2, 2, 713, 8147, 3, 2, 2, 2, 715, 8154, 3, 2, 2, 2, 717, 8162, 3, 2, 2, 2, 719, 8169, 3, 2, 2, 2, 721, 8175, 3, 2, 2, 2, 723, 8184, 3, 2, 2, 2, 725, 8195, 3, 2, 2, 2, 727, 8202, 3, 2, 2, 2, 729, 8212, 3, 2, 2, 2, 731, 8219, 3, 2, 2, 2, 733, 8231, 3, 2, 2, 2, 735, 8241, 3, 2, 2, 2, 737, 8247, 3, 2, 2, 2, 739, 8255, 3, 2, 2, 2, 741, 8261, 3, 2, 2, 2, 743, 8278, 3, 2, 2, 2, 745, 8283, 3, 2, 2, 2, 747, 8291, 3, 2, 2, 2, 749, 8300, 3, 2, 2, 2, 751, 8311, 3, 2, 2, 2, 753, 8325, 3, 2, 2, 2, 755, 8336, 3, 2, 2, 2, 757, 8346, 3, 2, 2, 2, 759, 8357, 3, 2, 2, 2, 761, 8369, 3, 2, 2, 2, 763, 8379, 3, 2, 2, 2, 765, 8391, 3, 2, 2, 2, 767, 8403, 3, 2, 2, 2, 769, 8411, 3, 2, 2, 2, 771, 8432, 3, 2, 2, 2, 773, 8447, 3, 2, 2, 2, 775, 8460, 3, 2, 2, 2, 777, 8469, 3, 2, 2, 2, 779, 8482, 3, 2, 2, 2, 781, 8490, 3, 2, 2, 2, 783, 8501, 3, 2, 2, 2, 785, 8506, 3, 2, 2, 2, 787, 8516, 3, 2, 2, 2, 789, 8529, 3, 2, 2, 2, 791, 8535, 3, 2, 2, 2, 793, 8544, 3, 2, 2, 2, 795, 8553, 3, 2, 2, 2, 797, 8567, 3, 2, 2, 2, 799, 8579, 3, 2, 2, 2, 801, 8590, 3, 2, 2, 2, 803, 8594, 3, 2, 2, 2, 805, 8605, 3, 2, 2, 2, 807, 8617, 3, 2, 2, 2, 809, 8626, 3, 2, 2, 2, 811, 8646, 3, 2, 2, 2, 813, 8667, 3, 2, 2, 2, 815, 8685, 3, 2, 2, 2, 817, 8692, 3, 2, 2, 2, 819, 8702, 3, 2, 2, 2, 821, 8715, 3, 2, 2, 2, 823, 8727, 3, 2, 2, 2, 825, 8732, 3, 2, 2, 2, 827, 8743, 3, 2, 2, 2, 829, 8768, 3, 2, 2, 2, 831, 8792, 3, 2, 2, 2, 833, 8797, 3, 2, 2, 2, 835, 8805, 3, 2, 2, 2, 837, 8815, 3, 2, 2, 2, 839, 8818, 3, 2, 2, 2, 841, 8826, 3, 2, 2, 2, 843, 8843, 3, 2, 2, 2, 845, 8868, 3, 2, 2, 2, 847, 8873, 3, 2, 2, 2, 849, 8885, 3, 2, 2, 2, 851, 8893, 3, 2, 2, 2, 853, 8904, 3, 2, 2, 2, 855, 8913, 3, 2, 2, 2, 857, 8921, 3, 2, 2, 2, 859, 8934, 3, 2, 2, 2, 861, 8949, 3, 2, 2, 2, 863, 8963, 3, 2, 2, 2, 865, 8984, 3, 2, 2, 2, 867, 8989, 3, 2, 2, 2, 869, 8995, 3, 2, 2, 2, 871, 8998, 3, 2, 2, 2, 873, 9009, 3, 2, 2, 2, 875, 9020, 3, 2, 2, 2, 877, 9026, 3, 2, 2, 2, 879, 9037, 3, 2, 2, 2, 881, 9044, 3, 2, 2, 2, 883, 9064, 3, 2, 2, 2, 885, 9078, 3, 2, 2, 2, 887, 9087, 3, 2, 2, 2, 889, 9095, 3, 2, 2, 2, 891, 9106, 3, 2, 2, 2, 893, 9110, 3, 2, 2, 2, 895, 9127, 3, 2, 2, 2, 897, 9136, 3, 2, 2, 2, 899, 9144, 3, 2, 2, 2, 901, 9152, 3, 2, 2, 2, 903, 9163, 3, 2, 2, 2, 905, 9178, 3, 2, 2, 2, 907, 9184, 3, 2, 2, 2, 909, 9193, 3, 2, 2, 2, 911, 9197, 3, 2, 2, 2, 913, 9212, 3, 2, 2, 2, 915, 9218, 3, 2, 2, 2, 917, 9240, 3, 2, 2, 2, 919, 9247, 3, 2, 2, 2, 921, 9254, 3, 2, 2, 2, 923, 9263, 3, 2, 2, 2, 925, 9268, 3, 2, 2, 2, 927, 9277, 3, 2, 2, 2, 929, 9286, 3, 2, 2, 2, 931, 9297, 3, 2, 2, 2, 933, 9304, 3, 2, 2, 2, 935, 9310, 3, 2, 2, 2, 937, 9317, 3, 2, 2, 2, 939, 9327, 3, 2, 2, 2, 941, 9342, 3, 2, 2, 2, 943, 9353, 3, 2, 2, 2, 945, 9362, 3, 2, 2, 2, 947, 9370, 3, 2, 2, 2, 949, 9380, 3, 2, 2, 2, 951, 9390, 3, 2, 2, 2, 953, 9398, 3, 2, 2, 2, 955, 9405, 3, 2, 2, 2, 957, 9414, 3, 2, 2, 2, 959, 9421, 3, 2, 2, 2, 961, 9432, 3, 2, 2, 2, 963, 9437, 3, 2, 2, 2, 965, 9458, 3, 2, 2, 2, 967, 9471, 3, 2, 2, 2, 969, 9475, 3, 2, 2, 2, 971, 9482, 3, 2, 2, 2, 973, 9490, 3, 2, 2, 2, 975, 9500, 3, 2, 2, 2, 977, 9507, 3, 2, 2, 2, 979, 9523, 3, 2, 2, 2, 981, 9531, 3, 2, 2, 2, 983, 9539, 3, 2, 2, 2, 985, 9546, 3, 2, 2, 2, 987, 9554, 3, 2, 2, 2, 989, 9563, 3, 2, 2, 2, 991, 9574, 3, 2, 2, 2, 993, 9589, 3, 2, 2, 2, 995, 9597, 3, 2, 2, 2, 997, 9610, 3, 2, 2, 2, 999, 9616, 3, 2, 2, 2, 1001, 9625, 3, 2, 2, 2, 1003, 9630, 3, 2, 2, 2, 1005, 9637, 3, 2, 2, 2, 1007, 9652, 3, 2, 2, 2, 1009, 9659, 3, 2, 2, 2, 1011, 9681, 3, 2, 2, 2, 1013, 9691, 3, 2, 2, 2, 1015, 9700, 3, 2, 2, 2, 1017, 9708, 3, 2, 2, 2, 1019, 9714, 3, 2, 2, 2, 1021, 9721, 3, 2, 2, 2, 1023, 9725, 3, 2, 2, 2, 1025, 9730, 3, 2, 2, 2, 1027, 9740, 3, 2, 2, 2, 1029, 9748, 3, 2, 2, 2, 1031, 9764, 3, 2, 2, 2, 1033, 9775, 3, 2, 2, 2, 1035, 9787, 3, 2, 2, 2, 1037, 9801, 3, 2, 2, 2, 1039, 9807, 3, 2, 2, 2, 1041, 9812, 3, 2, 2, 2, 1043, 9830, 3, 2, 2, 2, 1045, 9854, 3, 2, 2, 2, 1047, 9861, 3, 2, 2, 2, 1049, 9867, 3, 2, 2, 2, 1051, 9872, 3, 2, 2, 2, 1053, 9879, 3, 2, 2, 2, 1055, 9885, 3, 2, 2, 2, 1057, 9892, 3, 2, 2, 2, 1059, 9903, 3, 2, 2, 2, 1061, 9915, 3, 2, 2, 2, 1063, 9931, 3, 2, 2, 2, 1065, 9939, 3, 2, 2, 2, 1067, 9949, 3, 2, 2, 2, 1069, 9961, 3, 2, 2, 2, 1071, 9967, 3, 2, 2, 2, 1073, 9972, 3, 2, 2, 2, 1075, 9978, 3, 2, 2, 2, 1077, 9984, 3, 2, 2, 2, 1079, 9991, 3, 2, 2, 2, 1081, 10001, 3, 2, 2, 2, 1083, 10009, 3, 2, 2, 2, 1085, 10016, 3, 2, 2, 2, 1087, 10022, 3, 2, 2, 2, 1089, 10046, 3, 2, 2, 2, 1091, 10054, 3, 2, 2, 2, 1093, 10062, 3, 2, 2, 2, 1095, 10066, 3, 2, 2, 2, 1097, 10073, 3, 2, 2, 2, 1099, 10081, 3, 2, 2, 2, 1101, 10097, 3, 2, 2, 2, 1103, 10106, 3, 2, 2, 2, 1105, 10116, 3, 2, 2, 2, 1107, 10126, 3, 2, 2, 2, 1109, 10132, 3, 2, 2, 2, 1111, 10137, 3, 2, 2, 2, 1113, 10145, 3, 2, 2, 2, 1115, 10150, 3, 2, 2, 2, 1117, 10175, 3, 2, 2, 2, 1119, 10184, 3, 2, 2, 2, 1121, 10194, 3, 2, 2, 2, 1123, 10222, 3, 2, 2, 2, 1125, 10245, 3, 2, 2, 2, 1127, 10261, 3, 2, 2, 2, 1129, 10274, 3, 2, 2, 2, 1131, 10284, 3, 2, 2, 2, 1133, 10288, 3, 2, 2, 2, 1135, 10295, 3, 2, 2, 2, 1137, 10304, 3, 2, 2, 2, 1139, 10316, 3, 2, 2, 2, 1141, 10337, 3, 2, 2, 2, 1143, 10342, 3, 2, 2, 2, 1145, 10348, 3, 2, 2, 2, 1147, 10357, 3, 2, 2, 2, 1149, 10363, 3, 2, 2, 2, 1151, 10372, 3, 2, 2, 2, 1153, 10381, 3, 2, 2, 2, 1155, 10393, 3, 2, 2, 2, 1157, 10400, 3, 2, 2, 2, 1159, 10411, 3, 2, 2, 2, 1161, 10421, 3, 2, 2, 2, 1163, 10427, 3, 2, 2, 2, 1165, 10435, 3, 2, 2, 2, 1167, 10440, 3, 2, 2, 2, 1169, 10449, 3, 2, 2, 2, 1171, 10457, 3, 2, 2, 2, 1173, 10464, 3, 2, 2, 2, 1175, 10471, 3, 2, 2, 2, 1177, 10476, 3, 2, 2, 2, 1179, 10481, 3, 2, 2, 2, 1181, 10490, 3, 2, 2, 2, 1183, 10499, 3, 2, 2, 2, 1185, 10506, 3, 2, 2, 2, 1187, 10511, 3, 2, 2, 2, 1189, 10521, 3, 2, 2, 2, 1191, 10526, 3, 2, 2, 2, 1193, 10540, 3, 2, 2, 2, 1195, 10552, 3, 2, 2, 2, 1197, 10556, 3, 2, 2, 2, 1199, 10561, 3, 2, 2, 2, 1201, 10574, 3, 2, 2, 2, 1203, 10581, 3, 2, 2, 2, 1205, 10592, 3, 2, 2, 2, 1207, 10603, 3, 2, 2, 2, 1209, 10612, 3, 2, 2, 2, 1211, 10625, 3, 2, 2, 2, 1213, 10628, 3, 2, 2, 2, 1215, 10638, 3, 2, 2, 2, 1217, 10641, 3, 2, 2, 2, 1219, 10648, 3, 2, 2, 2, 1221, 10676, 3, 2, 2, 2, 1223, 10703, 3, 2, 2, 2, 1225, 10723, 3, 2, 2, 2, 1227, 10727, 3, 2, 2, 2, 1229, 10737, 3, 2, 2, 2, 1231, 10744, 3, 2, 2, 2, 1233, 10751, 3, 2, 2, 2, 1235, 10760, 3, 2, 2, 2, 1237, 10768, 3, 2, 2, 2, 1239, 10784, 3, 2, 2, 2, 1241, 10794, 3, 2, 2, 2, 1243, 10806, 3, 2, 2, 2, 1245, 10816, 3, 2, 2, 2, 1247, 10821, 3, 2, 2, 2, 1249, 10828, 3, 2, 2, 2, 1251, 10838, 3, 2, 2, 2, 1253, 10852, 3, 2, 2, 2, 1255, 10863, 3, 2, 2, 2, 1257, 10871, 3, 2, 2, 2, 1259, 10879, 3, 2, 2, 2, 1261, 10889, 3, 2, 2, 2, 1263, 10902, 3, 2, 2, 2, 1265, 10908, 3, 2, 2, 2, 1267, 10917, 3, 2, 2, 2, 1269, 10928, 3, 2, 2, 2, 1271, 10939, 3, 2, 2, 2, 1273, 10949, 3, 2, 2, 2, 1275, 10962, 3, 2, 2, 2, 1277, 10976, 3, 2, 2, 2, 1279, 10985, 3, 2, 2, 2, 1281, 10996, 3, 2, 2, 2, 1283, 11012, 3, 2, 2, 2, 1285, 11025, 3, 2, 2, 2, 1287, 11039, 3, 2, 2, 2, 1289, 11048, 3, 2, 2, 2, 1291, 11060, 3, 2, 2, 2, 1293, 11070, 3, 2, 2, 2, 1295, 11081, 3, 2, 2, 2, 1297, 11091, 3, 2, 2, 2, 1299, 11099, 3, 2, 2, 2, 1301, 11108, 3, 2, 2, 2, 1303, 11122, 3, 2, 2, 2, 1305, 11130, 3, 2, 2, 2, 1307, 11133, 3, 2, 2, 2, 1309, 11141, 3, 2, 2, 2, 1311, 11149, 3, 2, 2, 2, 1313, 11161, 3, 2, 2, 2, 1315, 11171, 3, 2, 2, 2, 1317, 11180, 3, 2, 2, 2, 1319, 11187, 3, 2, 2, 2, 1321, 11205, 3, 2, 2, 2, 1323, 11214, 3, 2, 2, 2, 1325, 11233, 3, 2, 2, 2, 1327, 11250, 3, 2, 2, 2, 1329, 11256, 3, 2, 2, 2, 1331, 11262, 3, 2, 2, 2, 1333, 11270, 3, 2, 2, 2, 1335, 11290, 3, 2, 2, 2, 1337, 11311, 3, 2, 2, 2, 1339, 11326, 3, 2, 2, 2, 1341, 11333, 3, 2, 2, 2, 1343, 11348, 3, 2, 2, 2, 1345, 11364, 3, 2, 2, 2, 1347, 11373, 3, 2, 2, 2, 1349, 11383, 3, 2, 2, 2, 1351, 11396, 3, 2, 2, 2, 1353, 11406, 3, 2, 2, 2, 1355, 11414, 3, 2, 2, 2, 1357, 11421, 3, 2, 2, 2, 1359, 11428, 3, 2, 2, 2, 1361, 11435, 3, 2, 2, 2, 1363, 11442, 3, 2, 2, 2, 1365, 11448, 3, 2, 2, 2, 1367, 11456, 3, 2, 2, 2, 1369, 11468, 3, 2, 2, 2, 1371, 11481, 3, 2, 2, 2, 1373, 11498, 3, 2, 2, 2, 1375, 11511, 3, 2, 2, 2, 1377, 11523, 3, 2, 2, 2, 1379, 11533, 3, 2, 2, 2, 1381, 11542, 3, 2, 2, 2, 1383, 11546, 3, 2, 2, 2, 1385, 11551, 3, 2, 2, 2, 1387, 11562, 3, 2, 2, 2, 1389, 11572, 3, 2, 2, 2, 1391, 11582, 3, 2, 2, 2, 1393, 11585, 3, 2, 2, 2, 1395, 11595, 3, 2, 2, 2, 1397, 11611, 3, 2, 2, 2, 1399, 11619, 3, 2, 2, 2, 1401, 11636, 3, 2, 2, 2, 1403, 11641, 3, 2, 2, 2, 1405, 11645, 3, 2, 2, 2, 1407, 11650, 3, 2, 2, 2, 1409, 11664, 3, 2, 2, 2, 1411, 11675, 3, 2, 2, 2, 1413, 11686, 3, 2, 2, 2, 1415, 11699, 3, 2, 2, 2, 1417, 11711, 3, 2, 2, 2, 1419, 11719, 3, 2, 2, 2, 1421, 11724, 3, 2, 2, 2, 1423, 11739, 3, 2, 2, 2, 1425, 11751, 3, 2, 2, 2, 1427, 11761, 3, 2, 2, 2, 1429, 11772, 3, 2, 2, 2, 1431, 11787, 3, 2, 2, 2, 1433, 11798, 3, 2, 2, 2, 1435, 11817, 3, 2, 2, 2, 1437, 11835, 3, 2, 2, 2, 1439, 11846, 3, 2, 2, 2, 1441, 11862, 3, 2, 2, 2, 1443, 11867, 3, 2, 2, 2, 1445, 11876, 3, 2, 2, 2, 1447, 11880, 3, 2, 2, 2, 1449, 11891, 3, 2, 2, 2, 1451, 11899, 3, 2, 2, 2, 1453, 11904, 3, 2, 2, 2, 1455, 11913, 3, 2, 2, 2, 1457, 11918, 3, 2, 2, 2, 1459, 11924, 3, 2, 2, 2, 1461, 11933, 3, 2, 2, 2, 1463, 11942, 3, 2, 2, 2, 1465, 11947, 3, 2, 2, 2, 1467, 11958, 3, 2, 2, 2, 1469, 11966, 3, 2, 2, 2, 1471, 11970, 3, 2, 2, 2, 1473, 11976, 3, 2, 2, 2, 1475, 12002, 3, 2, 2, 2, 1477, 12020, 3, 2, 2, 2, 1479, 12043, 3, 2, 2, 2, 1481, 12051, 3, 2, 2, 2, 1483, 12056, 3, 2, 2, 2, 1485, 12064, 3, 2, 2, 2, 1487, 12072, 3, 2, 2, 2, 1489, 12080, 3, 2, 2, 2, 1491, 12088, 3, 2, 2, 2, 1493, 12095, 3, 2, 2, 2, 1495, 12100, 3, 2, 2, 2, 1497, 12106, 3, 2, 2, 2, 1499, 12113, 3, 2, 2, 2, 1501, 12121, 3, 2, 2, 2, 1503, 12131, 3, 2, 2, 2, 1505, 12136, 3, 2, 2, 2, 1507, 12145, 3, 2, 2, 2, 1509, 12151, 3, 2, 2, 2, 1511, 12157, 3, 2, 2, 2, 1513, 12163, 3, 2, 2, 2, 1515, 12175, 3, 2, 2, 2, 1517, 12180, 3, 2, 2, 2, 1519, 12186, 3, 2, 2, 2, 1521, 12193, 3, 2, 2, 2, 1523, 12198, 3, 2, 2, 2, 1525, 12203, 3, 2, 2, 2, 1527, 12206, 3, 2, 2, 2, 1529, 12212, 3, 2, 2, 2, 1531, 12217, 3, 2, 2, 2, 1533, 12221, 3, 2, 2, 2, 1535, 12228, 3, 2, 2, 2, 1537, 12233, 3, 2, 2, 2, 1539, 12247, 3, 2, 2, 2, 1541, 12253, 3, 2, 2, 2, 1543, 12263, 3, 2, 2, 2, 1545, 12278, 3, 2, 2, 2, 1547, 12287, 3, 2, 2, 2, 1549, 12295, 3, 2, 2, 2, 1551, 12302, 3, 2, 2, 2, 1553, 12310, 3, 2, 2, 2, 1555, 12315, 3, 2, 2, 2, 1557, 12323, 3, 2, 2, 2, 1559, 12332, 3, 2, 2, 2, 1561, 12340, 3, 2, 2, 2, 1563, 12348, 3, 2, 2, 2, 1565, 12371, 3, 2, 2, 2, 1567, 12397, 3, 2, 2, 2, 1569, 12401, 3, 2, 2, 2, 1571, 12411, 3, 2, 2, 2, 1573, 12418, 3, 2, 2, 2, 1575, 12424, 3, 2, 2, 2, 1577, 12449, 3, 2, 2, 2, 1579, 12454, 3, 2, 2, 2, 1581, 12459, 3, 2, 2, 2, 1583, 12465, 3, 2, 2, 2, 1585, 12469, 3, 2, 2, 2, 1587, 12474, 3, 2, 2, 2, 1589, 12480, 3, 2, 2, 2, 1591, 12485, 3, 2, 2, 2, 1593, 12494, 3, 2, 2, 2, 1595, 12502, 3, 2, 2, 2, 1597, 12509, 3, 2, 2, 2, 1599, 12520, 3, 2, 2, 2, 1601, 12528, 3, 2, 2, 2, 1603, 12535, 3, 2, 2, 2, 1605, 12539, 3, 2, 2, 2, 1607, 12547, 3, 2, 2, 2, 1609, 12554, 3, 2, 2, 2, 1611, 12562, 3, 2, 2, 2, 1613, 12570, 3, 2, 2, 2, 1615, 12576, 3, 2, 2, 2, 1617, 12589, 3, 2, 2, 2, 1619, 12605, 3, 2, 2, 2, 1621, 12618, 3, 2, 2, 2, 1623, 12630, 3, 2, 2, 2, 1625, 12642, 3, 2, 2, 2, 1627, 12655, 3, 2, 2, 2, 1629, 12666, 3, 2, 2, 2, 1631, 12675, 3, 2, 2, 2, 1633, 12688, 3, 2, 2, 2, 1635, 12700, 3, 2, 2, 2, 1637, 12714, 3, 2, 2, 2, 1639, 12728, 3, 2, 2, 2, 1641, 12749, 3, 2, 2, 2, 1643, 12757, 3, 2, 2, 2, 1645, 12766, 3, 2, 2, 2, 1647, 12775, 3, 2, 2, 2, 1649, 12783, 3, 2, 2, 2, 1651, 12792, 3, 2, 2, 2, 1653, 12799, 3, 2, 2, 2, 1655, 12806, 3, 2, 2, 2, 1657, 12818, 3, 2, 2, 2, 1659, 12825, 3, 2, 2, 2, 1661, 12839, 3, 2, 2, 2, 1663, 12848, 3, 2, 2, 2, 1665, 12863, 3, 2, 2, 2, 1667, 12869, 3, 2, 2, 2, 1669, 12878, 3, 2, 2, 2, 1671, 12887, 3, 2, 2, 2, 1673, 12894, 3, 2, 2, 2, 1675, 12902, 3, 2, 2, 2, 1677, 12912, 3, 2, 2, 2, 1679, 12923, 3, 2, 2, 2, 1681, 12932, 3, 2, 2, 2, 1683, 12940, 3, 2, 2, 2, 1685, 12947, 3, 2, 2, 2, 1687, 12953, 3, 2, 2, 2, 1689, 12964, 3, 2, 2, 2, 1691, 12971, 3, 2, 2, 2, 1693, 12980, 3, 2, 2, 2, 1695, 12991, 3, 2, 2, 2, 1697, 13001, 3, 2, 2, 2, 1699, 13008, 3, 2, 2, 2, 1701, 13017, 3, 2, 2, 2, 1703, 13040, 3, 2, 2, 2, 1705, 13068, 3, 2, 2, 2, 1707, 13091, 3, 2, 2, 2, 1709, 13110, 3, 2, 2, 2, 1711, 13116, 3, 2, 2, 2, 1713, 13125, 3, 2, 2, 2, 1715, 13143, 3, 2, 2, 2, 1717, 13153, 3, 2, 2, 2, 1719, 13168, 3, 2, 2, 2, 1721, 13177, 3, 2, 2, 2, 1723, 13182, 3, 2, 2, 2, 1725, 13195, 3, 2, 2, 2, 1727, 13214, 3, 2, 2, 2, 1729, 13221, 3, 2, 2, 2, 1731, 13225, 3, 2, 2, 2, 1733, 13232, 3, 2, 2, 2, 1735, 13243, 3, 2, 2, 2, 1737, 13251, 3, 2, 2, 2, 1739, 13257, 3, 2, 2, 2, 1741, 13272, 3, 2, 2, 2, 1743, 13279, 3, 2, 2, 2, 1745, 13285, 3, 2, 2, 2, 1747, 13295, 3, 2, 2, 2, 1749, 13304, 3, 2, 2, 2, 1751, 13309, 3, 2, 2, 2, 1753, 13326, 3, 2, 2, 2, 1755, 13335, 3, 2, 2, 2, 1757, 13344, 3, 2, 2, 2, 1759, 13350, 3, 2, 2, 2, 1761, 13355, 3, 2, 2, 2, 1763, 13365, 3, 2, 2, 2, 1765, 13369, 3, 2, 2, 2, 1767, 13375, 3, 2, 2, 2, 1769, 13384, 3, 2, 2, 2, 1771, 13407, 3, 2, 2, 2, 1773, 13414, 3, 2, 2, 2, 1775, 13422, 3, 2, 2, 2, 1777, 13431, 3, 2, 2, 2, 1779, 13435, 3, 2, 2, 2, 1781, 13444, 3, 2, 2, 2, 1783, 13450, 3, 2, 2, 2, 1785, 13455, 3, 2, 2, 2, 1787, 13461, 3, 2, 2, 2, 1789, 13468, 3, 2, 2, 2, 1791, 13472, 3, 2, 2, 2, 1793, 13479, 3, 2, 2, 2, 1795, 13504, 3, 2, 2, 2, 1797, 13526, 3, 2, 2, 2, 1799, 13542, 3, 2, 2, 2, 1801, 13564, 3, 2, 2, 2, 1803, 13587, 3, 2, 2, 2, 1805, 13595, 3, 2, 2, 2, 1807, 13601, 3, 2, 2, 2, 1809, 13605, 3, 2, 2, 2, 1811, 13614, 3, 2, 2, 2, 1813, 13623, 3, 2, 2, 2, 1815, 13628, 3, 2, 2, 2, 1817, 13634, 3, 2, 2, 2, 1819, 13647, 3, 2, 2, 2, 1821, 13664, 3, 2, 2, 2, 1823, 13679, 3, 2, 2, 2, 1825, 13692, 3, 2, 2, 2, 1827, 13705, 3, 2, 2, 2, 1829, 13722, 3, 2, 2, 2, 1831, 13743, 3, 2, 2, 2, 1833, 13758, 3, 2, 2, 2, 1835, 13775, 3, 2, 2, 2, 1837, 13784, 3, 2, 2, 2, 1839, 13797, 3, 2, 2, 2, 1841, 13813, 3, 2, 2, 2, 1843, 13831, 3, 2, 2, 2, 1845, 13843, 3, 2, 2, 2, 1847, 13860, 3, 2, 2, 2, 1849, 13866, 3, 2, 2, 2, 1851, 13875, 3, 2, 2, 2, 1853, 13888, 3, 2, 2, 2, 1855, 13909, 3, 2, 2, 2, 1857, 13919, 3, 2, 2, 2, 1859, 13939, 3, 2, 2, 2, 1861, 13962, 3, 2, 2, 2, 1863, 13971, 3, 2, 2, 2, 1865, 13979, 3, 2, 2, 2, 1867, 13997, 3, 2, 2, 2, 1869, 14011, 3, 2, 2, 2, 1871, 14021, 3, 2, 2, 2, 1873, 14031, 3, 2, 2, 2, 1875, 14048, 3, 2, 2, 2, 1877, 14063, 3, 2, 2, 2, 1879, 14072, 3, 2, 2, 2, 1881, 14085, 3, 2, 2, 2, 1883, 14093, 3, 2, 2, 2, 1885, 14112, 3, 2, 2, 2, 1887, 14141, 3, 2, 2, 2, 1889, 14172, 3, 2, 2, 2, 1891, 14186, 3, 2, 2, 2, 1893, 14196, 3, 2, 2, 2, 1895, 14204, 3, 2, 2, 2, 1897, 14217, 3, 2, 2, 2, 1899, 14238, 3, 2, 2, 2, 1901, 14258, 3, 2, 2, 2, 1903, 14272, 3, 2, 2, 2, 1905, 14287, 3, 2, 2, 2, 1907, 14302, 3, 2, 2, 2, 1909, 14313, 3, 2, 2, 2, 1911, 14339, 3, 2, 2, 2, 1913, 14364, 3, 2, 2, 2, 1915, 14389, 3, 2, 2, 2, 1917, 14413, 3, 2, 2, 2, 1919, 14437, 3, 2, 2, 2, 1921, 14444, 3, 2, 2, 2, 1923, 14470, 3, 2, 2, 2, 1925, 14485, 3, 2, 2, 2, 1927, 14499, 3, 2, 2, 2, 1929, 14507, 3, 2, 2, 2, 1931, 14532, 3, 2, 2, 2, 1933, 14547, 3, 2, 2, 2, 1935, 14555, 3, 2, 2, 2, 1937, 14578, 3, 2, 2, 2, 1939, 14605, 3, 2, 2, 2, 1941, 14621, 3, 2, 2, 2, 1943, 14639, 3, 2, 2, 2, 1945, 14656, 3, 2, 2, 2, 1947, 14680, 3, 2, 2, 2, 1949, 14697, 3, 2, 2, 2, 1951, 14721, 3, 2, 2, 2, 1953, 14731, 3, 2, 2, 2, 1955, 14747, 3, 2, 2, 2, 1957, 14755, 3, 2, 2, 2, 1959, 14773, 3, 2, 2, 2, 1961, 14786, 3, 2, 2, 2, 1963, 14794, 3, 2, 2, 2, 1965, 14822, 3, 2, 2, 2, 1967, 14853, 3, 2, 2, 2, 1969, 14869, 3, 2, 2, 2, 1971, 14881, 3, 2, 2, 2, 1973, 14894, 3, 2, 2, 2, 1975, 14903, 3, 2, 2, 2, 1977, 14915, 3, 2, 2, 2, 1979, 14927, 3, 2, 2, 2, 1981, 14947, 3, 2, 2, 2, 1983, 14954, 3, 2, 2, 2, 1985, 14962, 3, 2, 2, 2, 1987, 14970, 3, 2, 2, 2, 1989, 14980, 3, 2, 2, 2, 1991, 14990, 3, 2, 2, 2, 1993, 15001, 3, 2, 2, 2, 1995, 15010, 3, 2, 2, 2, 1997, 15021, 3, 2, 2, 2, 1999, 15032, 3, 2, 2, 2, 2001, 15050, 3, 2, 2, 2, 2003, 15064, 3, 2, 2, 2, 2005, 15077, 3, 2, 2, 2, 2007, 15088, 3, 2, 2, 2, 2009, 15107, 3, 2, 2, 2, 2011, 15133, 3, 2, 2, 2, 2013, 15145, 3, 2, 2, 2, 2015, 15160, 3, 2, 2, 2, 2017, 15165, 3, 2, 2, 2, 2019, 15181, 3, 2, 2, 2, 2021, 15197, 3, 2, 2, 2, 2023, 15200, 3, 2, 2, 2, 2025, 15210, 3, 2, 2, 2, 2027, 15225, 3, 2, 2, 2, 2029, 15233, 3, 2, 2, 2, 2031, 15250, 3, 2, 2, 2, 2033, 15272, 3, 2, 2, 2, 2035, 15295, 3, 2, 2, 2, 2037, 15306, 3, 2, 2, 2, 2039, 15324, 3, 2, 2, 2, 2041, 15341, 3, 2, 2, 2, 2043, 15353, 3, 2, 2, 2, 2045, 15364, 3, 2, 2, 2, 2047, 15382, 3, 2, 2, 2, 2049, 15398, 3, 2, 2, 2, 2051, 15425, 3, 2, 2, 2, 2053, 15437, 3, 2, 2, 2, 2055, 15455, 3, 2, 2, 2, 2057, 15473, 3, 2, 2, 2, 2059, 15496, 3, 2, 2, 2, 2061, 15506, 3, 2, 2, 2, 2063, 15522, 3, 2, 2, 2, 2065, 15533, 3, 2, 2, 2, 2067, 15548, 3, 2, 2, 2, 2069, 15561, 3, 2, 2, 2, 2071, 15574, 3, 2, 2, 2, 2073, 15587, 3, 2, 2, 2, 2075, 15609, 3, 2, 2, 2, 2077, 15627, 3, 2, 2, 2, 2079, 15639, 3, 2, 2, 2, 2081, 15663, 3, 2, 2, 2, 2083, 15678, 3, 2, 2, 2, 2085, 15689, 3, 2, 2, 2, 2087, 15696, 3, 2, 2, 2, 2089, 15705, 3, 2, 2, 2, 2091, 15714, 3, 2, 2, 2, 2093, 15726, 3, 2, 2, 2, 2095, 15742, 3, 2, 2, 2, 2097, 15752, 3, 2, 2, 2, 2099, 15763, 3, 2, 2, 2, 2101, 15773, 3, 2, 2, 2, 2103, 15780, 3, 2, 2, 2, 2105, 15801, 3, 2, 2, 2, 2107, 15819, 3, 2, 2, 2, 2109, 15833, 3, 2, 2, 2, 2111, 15843, 3, 2, 2, 2, 2113, 15855, 3, 2, 2, 2, 2115, 15872, 3, 2, 2, 2, 2117, 15887, 3, 2, 2, 2, 2119, 15894, 3, 2, 2, 2, 2121, 15913, 3, 2, 2, 2, 2123, 15925, 3, 2, 2, 2, 2125, 15948, 3, 2, 2, 2, 2127, 15969, 3, 2, 2, 2, 2129, 15984, 3, 2, 2, 2, 2131, 15993, 3, 2, 2, 2, 2133, 16013, 3, 2, 2, 2, 2135, 16028, 3, 2, 2, 2, 2137, 16048, 3, 2, 2, 2, 2139, 16057, 3, 2, 2, 2, 2141, 16079, 3, 2, 2, 2, 2143, 16093, 3, 2, 2, 2, 2145, 16101, 3, 2, 2, 2, 2147, 16114, 3, 2, 2, 2, 2149, 16118, 3, 2, 2, 2, 2151, 16144, 3, 2, 2, 2, 2153, 16154, 3, 2, 2, 2, 2155, 16166, 3, 2, 2, 2, 2157, 16190, 3, 2, 2, 2, 2159, 16219, 3, 2, 2, 2, 2161, 16231, 3, 2, 2, 2, 2163, 16256, 3, 2, 2, 2, 2165, 16269, 3, 2, 2, 2, 2167, 16279, 3, 2, 2, 2, 2169, 16305, 3, 2, 2, 2, 2171, 16316, 3, 2, 2, 2, 2173, 16341, 3, 2, 2, 2, 2175, 16366, 3, 2, 2, 2, 2177, 16386, 3, 2, 2, 2, 2179, 16393, 3, 2, 2, 2, 2181, 16416, 3, 2, 2, 2, 2183, 16435, 3, 2, 2, 2, 2185, 16465, 3, 2, 2, 2, 2187, 16485, 3, 2, 2, 2, 2189, 16506, 3, 2, 2, 2, 2191, 16517, 3, 2, 2, 2, 2193, 16527, 3, 2, 2, 2, 2195, 16534, 3, 2, 2, 2, 2197, 16539, 3, 2, 2, 2, 2199, 16545, 3, 2, 2, 2, 2201, 16552, 3, 2, 2, 2, 2203, 16560, 3, 2, 2, 2, 2205, 16575, 3, 2, 2, 2, 2207, 16591, 3, 2, 2, 2, 2209, 16607, 3, 2, 2, 2, 2211, 16617, 3, 2, 2, 2, 2213, 16622, 3, 2, 2, 2, 2215, 16633, 3, 2, 2, 2, 2217, 16640, 3, 2, 2, 2, 2219, 16647, 3, 2, 2, 2, 2221, 16653, 3, 2, 2, 2, 2223, 16665, 3, 2, 2, 2, 2225, 16676, 3, 2, 2, 2, 2227, 16684, 3, 2, 2, 2, 2229, 16688, 3, 2, 2, 2, 2231, 16695, 3, 2, 2, 2, 2233, 16698, 3, 2, 2, 2, 2235, 16707, 3, 2, 2, 2, 2237, 16711, 3, 2, 2, 2, 2239, 16716, 3, 2, 2, 2, 2241, 16720, 3, 2, 2, 2, 2243, 16734, 3, 2, 2, 2, 2245, 16738, 3, 2, 2, 2, 2247, 16743, 3, 2, 2, 2, 2249, 16748, 3, 2, 2, 2, 2251, 16752, 3, 2, 2, 2, 2253, 16759, 3, 2, 2, 2, 2255, 16769, 3, 2, 2, 2, 2257, 16774, 3, 2, 2, 2, 2259, 16777, 3, 2, 2, 2, 2261, 16784, 3, 2, 2, 2, 2263, 16801, 3, 2, 2, 2, 2265, 16819, 3, 2, 2, 2, 2267, 16826, 3, 2, 2, 2, 2269, 16831, 3, 2, 2, 2, 2271, 16842, 3, 2, 2, 2, 2273, 16851, 3, 2, 2, 2, 2275, 16864, 3, 2, 2, 2, 2277, 16872, 3, 2, 2, 2, 2279, 16881, 3, 2, 2, 2, 2281, 16907, 3, 2, 2, 2, 2283, 16922, 3, 2, 2, 2, 2285, 16929, 3, 2, 2, 2, 2287, 16939, 3, 2, 2, 2, 2289, 16950, 3, 2, 2, 2, 2291, 16964, 3, 2, 2, 2, 2293, 16984, 3, 2, 2, 2, 2295, 16999, 3, 2, 2, 2, 2297, 17007, 3, 2, 2, 2, 2299, 17016, 3, 2, 2, 2, 2301, 17033, 3, 2, 2, 2, 2303, 17049, 3, 2, 2, 2, 2305, 17063, 3, 2, 2, 2, 2307, 17078, 3, 2, 2, 2, 2309, 17097, 3, 2, 2, 2, 2311, 17106, 3, 2, 2, 2, 2313, 17126, 3, 2, 2, 2, 2315, 17144, 3, 2, 2, 2, 2317, 17170, 3, 2, 2, 2, 2319, 17191, 3, 2, 2, 2, 2321, 17206, 3, 2, 2, 2, 2323, 17220, 3, 2, 2, 2, 2325, 17231, 3, 2, 2, 2, 2327, 17246, 3, 2, 2, 2, 2329, 17261, 3, 2, 2, 2, 2331, 17276, 3, 2, 2, 2, 2333, 17291, 3, 2, 2, 2, 2335, 17299, 3, 2, 2, 2, 2337, 17318, 3, 2, 2, 2, 2339, 17324, 3, 2, 2, 2, 2341, 17335, 3, 2, 2, 2, 2343, 17345, 3, 2, 2, 2, 2345, 17358, 3, 2, 2, 2, 2347, 17361, 3, 2, 2, 2, 2349, 17375, 3, 2, 2, 2, 2351, 17383, 3, 2, 2, 2, 2353, 17389, 3, 2, 2, 2, 2355, 17408, 3, 2, 2, 2, 2357, 17428, 3, 2, 2, 2, 2359, 17434, 3, 2, 2, 2, 2361, 17447, 3, 2, 2, 2, 2363, 17455, 3, 2, 2, 2, 2365, 17467, 3, 2, 2, 2, 2367, 17471, 3, 2, 2, 2, 2369, 17487, 3, 2, 2, 2, 2371, 17496, 3, 2, 2, 2, 2373, 17505, 3, 2, 2, 2, 2375, 17510, 3, 2, 2, 2, 2377, 17521, 3, 2, 2, 2, 2379, 17527, 3, 2, 2, 2, 2381, 17537, 3, 2, 2, 2, 2383, 17541, 3, 2, 2, 2, 2385, 17549, 3, 2, 2, 2, 2387, 17558, 3, 2, 2, 2, 2389, 17574, 3, 2, 2, 2, 2391, 17589, 3, 2, 2, 2, 2393, 17598, 3, 2, 2, 2, 2395, 17612, 3, 2, 2, 2, 2397, 17623, 3, 2, 2, 2, 2399, 17629, 3, 2, 2, 2, 2401, 17636, 3, 2, 2, 2, 2403, 17643, 3, 2, 2, 2, 2405, 17656, 3, 2, 2, 2, 2407, 17666, 3, 2, 2, 2, 2409, 17674, 3, 2, 2, 2, 2411, 17698, 3, 2, 2, 2, 2413, 17713, 3, 2, 2, 2, 2415, 17728, 3, 2, 2, 2, 2417, 17738, 3, 2, 2, 2, 2419, 17754, 3, 2, 2, 2, 2421, 17765, 3, 2, 2, 2, 2423, 17779, 3, 2, 2, 2, 2425, 17787, 3, 2, 2, 2, 2427, 17807, 3, 2, 2, 2, 2429, 17826, 3, 2, 2, 2, 2431, 17845, 3, 2, 2, 2, 2433, 17854, 3, 2, 2, 2, 2435, 17873, 3, 2, 2, 2, 2437, 17893, 3, 2, 2, 2, 2439, 17918, 3, 2, 2, 2, 2441, 17923, 3, 2, 2, 2, 2443, 17929, 3, 2, 2, 2, 2445, 17934, 3, 2, 2, 2, 2447, 17946, 3, 2, 2, 2, 2449, 17952, 3, 2, 2, 2, 2451, 17960, 3, 2, 2, 2, 2453, 17973, 3, 2, 2, 2, 2455, 17984, 3, 2, 2, 2, 2457, 17992, 3, 2, 2, 2, 2459, 18004, 3, 2, 2, 2, 2461, 18017, 3, 2, 2, 2, 2463, 18025, 3, 2, 2, 2, 2465, 18036, 3, 2, 2, 2, 2467, 18044, 3, 2, 2, 2, 2469, 18057, 3, 2, 2, 2, 2471, 18071, 3, 2, 2, 2, 2473, 18087, 3, 2, 2, 2, 2475, 18095, 3, 2, 2, 2, 2477, 18109, 3, 2, 2, 2, 2479, 18125, 3, 2, 2, 2, 2481, 18140, 3, 2, 2, 2, 2483, 18152, 3, 2, 2, 2, 2485, 18164, 3, 2, 2, 2, 2487, 18171, 3, 2, 2, 2, 2489, 18181, 3, 2, 2, 2, 2491, 18192, 3, 2, 2, 2, 2493, 18200, 3, 2, 2, 2, 2495, 18204, 3, 2, 2, 2, 2497, 18210, 3, 2, 2, 2, 2499, 18219, 3, 2, 2, 2, 2501, 18225, 3, 2, 2, 2, 2503, 18235, 3, 2, 2, 2, 2505, 18240, 3, 2, 2, 2, 2507, 18247, 3, 2, 2, 2, 2509, 18253, 3, 2, 2, 2, 2511, 18261, 3, 2, 2, 2, 2513, 18276, 3, 2, 2, 2, 2515, 18291, 3, 2, 2, 2, 2517, 18296, 3, 2, 2, 2, 2519, 18313, 3, 2, 2, 2, 2521, 18325, 3, 2, 2, 2, 2523, 18339, 3, 2, 2, 2, 2525, 18355, 3, 2, 2, 2, 2527, 18367, 3, 2, 2, 2, 2529, 18388, 3, 2, 2, 2, 2531, 18403, 3, 2, 2, 2, 2533, 18413, 3, 2, 2, 2, 2535, 18419, 3, 2, 2, 2, 2537, 18426, 3, 2, 2, 2, 2539, 18435, 3, 2, 2, 2, 2541, 18443, 3, 2, 2, 2, 2543, 18452, 3, 2, 2, 2, 2545, 18460, 3, 2, 2, 2, 2547, 18468, 3, 2, 2, 2, 2549, 18478, 3, 2, 2, 2, 2551, 18487, 3, 2, 2, 2, 2553, 18504, 3, 2, 2, 2, 2555, 18533, 3, 2, 2, 2, 2557, 18547, 3, 2, 2, 2, 2559, 18553, 3, 2, 2, 2, 2561, 18573, 3, 2, 2, 2, 2563, 18587, 3, 2, 2, 2, 2565, 18608, 3, 2, 2, 2, 2567, 18618, 3, 2, 2, 2, 2569, 18625, 3, 2, 2, 2, 2571, 18634, 3, 2, 2, 2, 2573, 18647, 3, 2, 2, 2, 2575, 18655, 3, 2, 2, 2, 2577, 18662, 3, 2, 2, 2, 2579, 18671, 3, 2, 2, 2, 2581, 18680, 3, 2, 2, 2, 2583, 18690, 3, 2, 2, 2, 2585, 18700, 3, 2, 2, 2, 2587, 18720, 3, 2, 2, 2, 2589, 18739, 3, 2, 2, 2, 2591, 18747, 3, 2, 2, 2, 2593, 18755, 3, 2, 2, 2, 2595, 18766, 3, 2, 2, 2, 2597, 18774, 3, 2, 2, 2, 2599, 18783, 3, 2, 2, 2, 2601, 18796, 3, 2, 2, 2, 2603, 18805, 3, 2, 2, 2, 2605, 18812, 3, 2, 2, 2, 2607, 18821, 3, 2, 2, 2, 2609, 18826, 3, 2, 2, 2, 2611, 18834, 3, 2, 2, 2, 2613, 18850, 3, 2, 2, 2, 2615, 18859, 3, 2, 2, 2, 2617, 18865, 3, 2, 2, 2, 2619, 18873, 3, 2, 2, 2, 2621, 18885, 3, 2, 2, 2, 2623, 18896, 3, 2, 2, 2, 2625, 18906, 3, 2, 2, 2, 2627, 18917, 3, 2, 2, 2, 2629, 18928, 3, 2, 2, 2, 2631, 18938, 3, 2, 2, 2, 2633, 18946, 3, 2, 2, 2, 2635, 18954, 3, 2, 2, 2, 2637, 18962, 3, 2, 2, 2, 2639, 18970, 3, 2, 2, 2, 2641, 18980, 3, 2, 2, 2, 2643, 18990, 3, 2, 2, 2, 2645, 19001, 3, 2, 2, 2, 2647, 19007, 3, 2, 2, 2, 2649, 19015, 3, 2, 2, 2, 2651, 19022, 3, 2, 2, 2, 2653, 19032, 3, 2, 2, 2, 2655, 19038, 3, 2, 2, 2, 2657, 19048, 3, 2, 2, 2, 2659, 19058, 3, 2, 2, 2, 2661, 19077, 3, 2, 2, 2, 2663, 19088, 3, 2, 2, 2, 2665, 19103, 3, 2, 2, 2, 2667, 19111, 3, 2, 2, 2, 2669, 19123, 3, 2, 2, 2, 2671, 19129, 3, 2, 2, 2, 2673, 19140, 3, 2, 2, 2, 2675, 19146, 3, 2, 2, 2, 2677, 19157, 3, 2, 2, 2, 2679, 19165, 3, 2, 2, 2, 2681, 19172, 3, 2, 2, 2, 2683, 19178, 3, 2, 2, 2, 2685, 19184, 3, 2, 2, 2, 2687, 19197, 3, 2, 2, 2, 2689, 19204, 3, 2, 2, 2, 2691, 19210, 3, 2, 2, 2, 2693, 19216, 3, 2, 2, 2, 2695, 19224, 3, 2, 2, 2, 2697, 19228, 3, 2, 2, 2, 2699, 19237, 3, 2, 2, 2, 2701, 19247, 3, 2, 2, 2, 2703, 19251, 3, 2, 2, 2, 2705, 19263, 3, 2, 2, 2, 2707, 19268, 3, 2, 2, 2, 2709, 19273, 3, 2, 2, 2, 2711, 19279, 3, 2, 2, 2, 2713, 19285, 3, 2, 2, 2, 2715, 19290, 3, 2, 2, 2, 2717, 19300, 3, 2, 2, 2, 2719, 19308, 3, 2, 2, 2, 2721, 19315, 3, 2, 2, 2, 2723, 19333, 3, 2, 2, 2, 2725, 19345, 3, 2, 2, 2, 2727, 19353, 3, 2, 2, 2, 2729, 19362, 3, 2, 2, 2, 2731, 19373, 3, 2, 2, 2, 2733, 19381, 3, 2, 2, 2, 2735, 19391, 3, 2, 2, 2, 2737, 19400, 3, 2, 2, 2, 2739, 19405, 3, 2, 2, 2, 2741, 19413, 3, 2, 2, 2, 2743, 19424, 3, 2, 2, 2, 2745, 19443, 3, 2, 2, 2, 2747, 19454, 3, 2, 2, 2, 2749, 19464, 3, 2, 2, 2, 2751, 19475, 3, 2, 2, 2, 2753, 19487, 3, 2, 2, 2, 2755, 19491, 3, 2, 2, 2, 2757, 19499, 3, 2, 2, 2, 2759, 19508, 3, 2, 2, 2, 2761, 19521, 3, 2, 2, 2, 2763, 19534, 3, 2, 2, 2, 2765, 19546, 3, 2, 2, 2, 2767, 19561, 3, 2, 2, 2, 2769, 19575, 3, 2, 2, 2, 2771, 19584, 3, 2, 2, 2, 2773, 19594, 3, 2, 2, 2, 2775, 19604, 3, 2, 2, 2, 2777, 19615, 3, 2, 2, 2, 2779, 19630, 3, 2, 2, 2, 2781, 19638, 3, 2, 2, 2, 2783, 19649, 3, 2, 2, 2, 2785, 19658, 3, 2, 2, 2, 2787, 19667, 3, 2, 2, 2, 2789, 19676, 3, 2, 2, 2, 2791, 19684, 3, 2, 2, 2, 2793, 19691, 3, 2, 2, 2, 2795, 19697, 3, 2, 2, 2, 2797, 19708, 3, 2, 2, 2, 2799, 19718, 3, 2, 2, 2, 2801, 19727, 3, 2, 2, 2, 2803, 19732, 3, 2, 2, 2, 2805, 19742, 3, 2, 2, 2, 2807, 19756, 3, 2, 2, 2, 2809, 19763, 3, 2, 2, 2, 2811, 19770, 3, 2, 2, 2, 2813, 19777, 3, 2, 2, 2, 2815, 19784, 3, 2, 2, 2, 2817, 19792, 3, 2, 2, 2, 2819, 19804, 3, 2, 2, 2, 2821, 19813, 3, 2, 2, 2, 2823, 19823, 3, 2, 2, 2, 2825, 19829, 3, 2, 2, 2, 2827, 19836, 3, 2, 2, 2, 2829, 19844, 3, 2, 2, 2, 2831, 19853, 3, 2, 2, 2, 2833, 19862, 3, 2, 2, 2, 2835, 19870, 3, 2, 2, 2, 2837, 19878, 3, 2, 2, 2, 2839, 19899, 3, 2, 2, 2, 2841, 19907, 3, 2, 2, 2, 2843, 19929, 3, 2, 2, 2, 2845, 19940, 3, 2, 2, 2, 2847, 19960, 3, 2, 2, 2, 2849, 19969, 3, 2, 2, 2, 2851, 19982, 3, 2, 2, 2, 2853, 19989, 3, 2, 2, 2, 2855, 19999, 3, 2, 2, 2, 2857, 20006, 3, 2, 2, 2, 2859, 20016, 3, 2, 2, 2, 2861, 20036, 3, 2, 2, 2, 2863, 20046, 3, 2, 2, 2, 2865, 20053, 3, 2, 2, 2, 2867, 20059, 3, 2, 2, 2, 2869, 20067, 3, 2, 2, 2, 2871, 20074, 3, 2, 2, 2, 2873, 20091, 3, 2, 2, 2, 2875, 20099, 3, 2, 2, 2, 2877, 20105, 3, 2, 2, 2, 2879, 20110, 3, 2, 2, 2, 2881, 20118, 3, 2, 2, 2, 2883, 20124, 3, 2, 2, 2, 2885, 20133, 3, 2, 2, 2, 2887, 20141, 3, 2, 2, 2, 2889, 20148, 3, 2, 2, 2, 2891, 20164, 3, 2, 2, 2, 2893, 20184, 3, 2, 2, 2, 2895, 20190, 3, 2, 2, 2, 2897, 20202, 3, 2, 2, 2, 2899, 20215, 3, 2, 2, 2, 2901, 20226, 3, 2, 2, 2, 2903, 20233, 3, 2, 2, 2, 2905, 20237, 3, 2, 2, 2, 2907, 20242, 3, 2, 2, 2, 2909, 20247, 3, 2, 2, 2, 2911, 20253, 3, 2, 2, 2, 2913, 20258, 3, 2, 2, 2, 2915, 20264, 3, 2, 2, 2, 2917, 20272, 3, 2, 2, 2, 2919, 20277, 3, 2, 2, 2, 2921, 20284, 3, 2, 2, 2, 2923, 20302, 3, 2, 2, 2, 2925, 20312, 3, 2, 2, 2, 2927, 20317, 3, 2, 2, 2, 2929, 20321, 3, 2, 2, 2, 2931, 20332, 3, 2, 2, 2, 2933, 20338, 3, 2, 2, 2, 2935, 20353, 3, 2, 2, 2, 2937, 20358, 3, 2, 2, 2, 2939, 20368, 3, 2, 2, 2, 2941, 20380, 3, 2, 2, 2, 2943, 20387, 3, 2, 2, 2, 2945, 20401, 3, 2, 2, 2, 2947, 20405, 3, 2, 2, 2, 2949, 20411, 3, 2, 2, 2, 2951, 20417, 3, 2, 2, 2, 2953, 20424, 3, 2, 2, 2, 2955, 20435, 3, 2, 2, 2, 2957, 20448, 3, 2, 2, 2, 2959, 20456, 3, 2, 2, 2, 2961, 20463, 3, 2, 2, 2, 2963, 20470, 3, 2, 2, 2, 2965, 20477, 3, 2, 2, 2, 2967, 20492, 3, 2, 2, 2, 2969, 20503, 3, 2, 2, 2, 2971, 20512, 3, 2, 2, 2, 2973, 20517, 3, 2, 2, 2, 2975, 20527, 3, 2, 2, 2, 2977, 20536, 3, 2, 2, 2, 2979, 20544, 3, 2, 2, 2, 2981, 20556, 3, 2, 2, 2, 2983, 20563, 3, 2, 2, 2, 2985, 20568, 3, 2, 2, 2, 2987, 20584, 3, 2, 2, 2, 2989, 20593, 3, 2, 2, 2, 2991, 20607, 3, 2, 2, 2, 2993, 20617, 3, 2, 2, 2, 2995, 20626, 3, 2, 2, 2, 2997, 20637, 3, 2, 2, 2, 2999, 20641, 3, 2, 2, 2, 3001, 20654, 3, 2, 2, 2, 3003, 20672, 3, 2, 2, 2, 3005, 20679, 3, 2, 2, 2, 3007, 20691, 3, 2, 2, 2, 3009, 20712, 3, 2, 2, 2, 3011, 20721, 3, 2, 2, 2, 3013, 20744, 3, 2, 2, 2, 3015, 20752, 3, 2, 2, 2, 3017, 20770, 3, 2, 2, 2, 3019, 20786, 3, 2, 2, 2, 3021, 20800, 3, 2, 2, 2, 3023, 20804, 3, 2, 2, 2, 3025, 20809, 3, 2, 2, 2, 3027, 20818, 3, 2, 2, 2, 3029, 20830, 3, 2, 2, 2, 3031, 20837, 3, 2, 2, 2, 3033, 20849, 3, 2, 2, 2, 3035, 20856, 3, 2, 2, 2, 3037, 20862, 3, 2, 2, 2, 3039, 20870, 3, 2, 2, 2, 3041, 20880, 3, 2, 2, 2, 3043, 20885, 3, 2, 2, 2, 3045, 20892, 3, 2, 2, 2, 3047, 20901, 3, 2, 2, 2, 3049, 20910, 3, 2, 2, 2, 3051, 20914, 3, 2, 2, 2, 3053, 20931, 3, 2, 2, 2, 3055, 20947, 3, 2, 2, 2, 3057, 20952, 3, 2, 2, 2, 3059, 20961, 3, 2, 2, 2, 3061, 20976, 3, 2, 2, 2, 3063, 20983, 3, 2, 2, 2, 3065, 20990, 3, 2, 2, 2, 3067, 21001, 3, 2, 2, 2, 3069, 21006, 3, 2, 2, 2, 3071, 21010, 3, 2, 2, 2, 3073, 21015, 3, 2, 2, 2, 3075, 21034, 3, 2, 2, 2, 3077, 21039, 3, 2, 2, 2, 3079, 21061, 3, 2, 2, 2, 3081, 21083, 3, 2, 2, 2, 3083, 21093, 3, 2, 2, 2, 3085, 21102, 3, 2, 2, 2, 3087, 21111, 3, 2, 2, 2, 3089, 21116, 3, 2, 2, 2, 3091, 21121, 3, 2, 2, 2, 3093, 21129, 3, 2, 2, 2, 3095, 21151, 3, 2, 2, 2, 3097, 21176, 3, 2, 2, 2, 3099, 21183, 3, 2, 2, 2, 3101, 21189, 3, 2, 2, 2, 3103, 21203, 3, 2, 2, 2, 3105, 21210, 3, 2, 2, 2, 3107, 21216, 3, 2, 2, 2, 3109, 21228, 3, 2, 2, 2, 3111, 21236, 3, 2, 2, 2, 3113, 21245, 3, 2, 2, 2, 3115, 21252, 3, 2, 2, 2, 3117, 21256, 3, 2, 2, 2, 3119, 21266, 3, 2, 2, 2, 3121, 21290, 3, 2, 2, 2, 3123, 21295, 3, 2, 2, 2, 3125, 21301, 3, 2, 2, 2, 3127, 21312, 3, 2, 2, 2, 3129, 21326, 3, 2, 2, 2, 3131, 21349, 3, 2, 2, 2, 3133, 21358, 3, 2, 2, 2, 3135, 21366, 3, 2, 2, 2, 3137, 21371, 3, 2, 2, 2, 3139, 21391, 3, 2, 2, 2, 3141, 21397, 3, 2, 2, 2, 3143, 21405, 3, 2, 2, 2, 3145, 21418, 3, 2, 2, 2, 3147, 21436, 3, 2, 2, 2, 3149, 21447, 3, 2, 2, 2, 3151, 21457, 3, 2, 2, 2, 3153, 21463, 3, 2, 2, 2, 3155, 21470, 3, 2, 2, 2, 3157, 21481, 3, 2, 2, 2, 3159, 21501, 3, 2, 2, 2, 3161, 21516, 3, 2, 2, 2, 3163, 21529, 3, 2, 2, 2, 3165, 21543, 3, 2, 2, 2, 3167, 21554, 3, 2, 2, 2, 3169, 21568, 3, 2, 2, 2, 3171, 21588, 3, 2, 2, 2, 3173, 21607, 3, 2, 2, 2, 3175, 21627, 3, 2, 2, 2, 3177, 21644, 3, 2, 2, 2, 3179, 21664, 3, 2, 2, 2, 3181, 21679, 3, 2, 2, 2, 3183, 21690, 3, 2, 2, 2, 3185, 21702, 3, 2, 2, 2, 3187, 21707, 3, 2, 2, 2, 3189, 21715, 3, 2, 2, 2, 3191, 21721, 3, 2, 2, 2, 3193, 21729, 3, 2, 2, 2, 3195, 21736, 3, 2, 2, 2, 3197, 21743, 3, 2, 2, 2, 3199, 21750, 3, 2, 2, 2, 3201, 21765, 3, 2, 2, 2, 3203, 21778, 3, 2, 2, 2, 3205, 21784, 3, 2, 2, 2, 3207, 21794, 3, 2, 2, 2, 3209, 21806, 3, 2, 2, 2, 3211, 21823, 3, 2, 2, 2, 3213, 21837, 3, 2, 2, 2, 3215, 21850, 3, 2, 2, 2, 3217, 21861, 3, 2, 2, 2, 3219, 21878, 3, 2, 2, 2, 3221, 21888, 3, 2, 2, 2, 3223, 21895, 3, 2, 2, 2, 3225, 21909, 3, 2, 2, 2, 3227, 21917, 3, 2, 2, 2, 3229, 21925, 3, 2, 2, 2, 3231, 21933, 3, 2, 2, 2, 3233, 21941, 3, 2, 2, 2, 3235, 21949, 3, 2, 2, 2, 3237, 21960, 3, 2, 2, 2, 3239, 21968, 3, 2, 2, 2, 3241, 21976, 3, 2, 2, 2, 3243, 21989, 3, 2, 2, 2, 3245, 21997, 3, 2, 2, 2, 3247, 22014, 3, 2, 2, 2, 3249, 22025, 3, 2, 2, 2, 3251, 22032, 3, 2, 2, 2, 3253, 22044, 3, 2, 2, 2, 3255, 22049, 3, 2, 2, 2, 3257, 22057, 3, 2, 2, 2, 3259, 22064, 3, 2, 2, 2, 3261, 22074, 3, 2, 2, 2, 3263, 22081, 3, 2, 2, 2, 3265, 22091, 3, 2, 2, 2, 3267, 22104, 3, 2, 2, 2, 3269, 22124, 3, 2, 2, 2, 3271, 22144, 3, 2, 2, 2, 3273, 22156, 3, 2, 2, 2, 3275, 22164, 3, 2, 2, 2, 3277, 22171, 3, 2, 2, 2, 3279, 22184, 3, 2, 2, 2, 3281, 22190, 3, 2, 2, 2, 3283, 22204, 3, 2, 2, 2, 3285, 22222, 3, 2, 2, 2, 3287, 22240, 3, 2, 2, 2, 3289, 22256, 3, 2, 2, 2, 3291, 22273, 3, 2, 2, 2, 3293, 22290, 3, 2, 2, 2, 3295, 22310, 3, 2, 2, 2, 3297, 22331, 3, 2, 2, 2, 3299, 22352, 3, 2, 2, 2, 3301, 22372, 3, 2, 2, 2, 3303, 22385, 3, 2, 2, 2, 3305, 22401, 3, 2, 2, 2, 3307, 22416, 3, 2, 2, 2, 3309, 22432, 3, 2, 2, 2, 3311, 22446, 3, 2, 2, 2, 3313, 22460, 3, 2, 2, 2, 3315, 22475, 3, 2, 2, 2, 3317, 22494, 3, 2, 2, 2, 3319, 22513, 3, 2, 2, 2, 3321, 22528, 3, 2, 2, 2, 3323, 22542, 3, 2, 2, 2, 3325, 22551, 3, 2, 2, 2, 3327, 22559, 3, 2, 2, 2, 3329, 22565, 3, 2, 2, 2, 3331, 22584, 3, 2, 2, 2, 3333, 22596, 3, 2, 2, 2, 3335, 22610, 3, 2, 2, 2, 3337, 22620, 3, 2, 2, 2, 3339, 22627, 3, 2, 2, 2, 3341, 22642, 3, 2, 2, 2, 3343, 22657, 3, 2, 2, 2, 3345, 22673, 3, 2, 2, 2, 3347, 22684, 3, 2, 2, 2, 3349, 22699, 3, 2, 2, 2, 3351, 22713, 3, 2, 2, 2, 3353, 22725, 3, 2, 2, 2, 3355, 22750, 3, 2, 2, 2, 3357, 22770, 3, 2, 2, 2, 3359, 22781, 3, 2, 2, 2, 3361, 22793, 3, 2, 2, 2, 3363, 22804, 3, 2, 2, 2, 3365, 22816, 3, 2, 2, 2, 3367, 22837, 3, 2, 2, 2, 3369, 22849, 3, 2, 2, 2, 3371, 22864, 3, 2, 2, 2, 3373, 22880, 3, 2, 2, 2, 3375, 22894, 3, 2, 2, 2, 3377, 22912, 3, 2, 2, 2, 3379, 22923, 3, 2, 2, 2, 3381, 22940, 3, 2, 2, 2, 3383, 22958, 3, 2, 2, 2, 3385, 22972, 3, 2, 2, 2, 3387, 22987, 3, 2, 2, 2, 3389, 23003, 3, 2, 2, 2, 3391, 23014, 3, 2, 2, 2, 3393, 23026, 3, 2, 2, 2, 3395, 23042, 3, 2, 2, 2, 3397, 23067, 3, 2, 2, 2, 3399, 23075, 3, 2, 2, 2, 3401, 23090, 3, 2, 2, 2, 3403, 23106, 3, 2, 2, 2, 3405, 23118, 3, 2, 2, 2, 3407, 23130, 3, 2, 2, 2, 3409, 23141, 3, 2, 2, 2, 3411, 23152, 3, 2, 2, 2, 3413, 23177, 3, 2, 2, 2, 3415, 23207, 3, 2, 2, 2, 3417, 23232, 3, 2, 2, 2, 3419, 23260, 3, 2, 2, 2, 3421, 23282, 3, 2, 2, 2, 3423, 23294, 3, 2, 2, 2, 3425, 23313, 3, 2, 2, 2, 3427, 23332, 3, 2, 2, 2, 3429, 23349, 3, 2, 2, 2, 3431, 23369, 3, 2, 2, 2, 3433, 23387, 3, 2, 2, 2, 3435, 23399, 3, 2, 2, 2, 3437, 23410, 3, 2, 2, 2, 3439, 23425, 3, 2, 2, 2, 3441, 23444, 3, 2, 2, 2, 3443, 23455, 3, 2, 2, 2, 3445, 23472, 3, 2, 2, 2, 3447, 23489, 3, 2, 2, 2, 3449, 23500, 3, 2, 2, 2, 3451, 23511, 3, 2, 2, 2, 3453, 23527, 3, 2, 2, 2, 3455, 23542, 3, 2, 2, 2, 3457, 23558, 3, 2, 2, 2, 3459, 23574, 3, 2, 2, 2, 3461, 23589, 3, 2, 2, 2, 3463, 23602, 3, 2, 2, 2, 3465, 23618, 3, 2, 2, 2, 3467, 23632, 3, 2, 2, 2, 3469, 23643, 3, 2, 2, 2, 3471, 23658, 3, 2, 2, 2, 3473, 23671, 3, 2, 2, 2, 3475, 23682, 3, 2, 2, 2, 3477, 23698, 3, 2, 2, 2, 3479, 23710, 3, 2, 2, 2, 3481, 23721, 3, 2, 2, 2, 3483, 23733, 3, 2, 2, 2, 3485, 23751, 3, 2, 2, 2, 3487, 23762, 3, 2, 2, 2, 3489, 23778, 3, 2, 2, 2, 3491, 23793, 3, 2, 2, 2, 3493, 23804, 3, 2, 2, 2, 3495, 23816, 3, 2, 2, 2, 3497, 23829, 3, 2, 2, 2, 3499, 23847, 3, 2, 2, 2, 3501, 23864, 3, 2, 2, 2, 3503, 23878, 3, 2, 2, 2, 3505, 23892, 3, 2, 2, 2, 3507, 23905, 3, 2, 2, 2, 3509, 23919, 3, 2, 2, 2, 3511, 23934, 3, 2, 2, 2, 3513, 23946, 3, 2, 2, 2, 3515, 23957, 3, 2, 2, 2, 3517, 23980, 3, 2, 2, 2, 3519, 23995, 3, 2, 2, 2, 3521, 24010, 3, 2, 2, 2, 3523, 24024, 3, 2, 2, 2, 3525, 24041, 3, 2, 2, 2, 3527, 24056, 3, 2, 2, 2, 3529, 24075, 3, 2, 2, 2, 3531, 24097, 3, 2, 2, 2, 3533, 24117, 3, 2, 2, 2, 3535, 24134, 3, 2, 2, 2, 3537, 24153, 3, 2, 2, 2, 3539, 24173, 3, 2, 2, 2, 3541, 24193, 3, 2, 2, 2, 3543, 24214, 3, 2, 2, 2, 3545, 24231, 3, 2, 2, 2, 3547, 24246, 3, 2, 2, 2, 3549, 24262, 3, 2, 2, 2, 3551, 24276, 3, 2, 2, 2, 3553, 24290, 3, 2, 2, 2, 3555, 24304, 3, 2, 2, 2, 3557, 24319, 3, 2, 2, 2, 3559, 24334, 3, 2, 2, 2, 3561, 24341, 3, 2, 2, 2, 3563, 24354, 3, 2, 2, 2, 3565, 24365, 3, 2, 2, 2, 3567, 24378, 3, 2, 2, 2, 3569, 24393, 3, 2, 2, 2, 3571, 24409, 3, 2, 2, 2, 3573, 24421, 3, 2, 2, 2, 3575, 24436, 3, 2, 2, 2, 3577, 24447, 3, 2, 2, 2, 3579, 24467, 3, 2, 2, 2, 3581, 24487, 3, 2, 2, 2, 3583, 24500, 3, 2, 2, 2, 3585, 24523, 3, 2, 2, 2, 3587, 24544, 3, 2, 2, 2, 3589, 24569, 3, 2, 2, 2, 3591, 24591, 3, 2, 2, 2, 3593, 24615, 3, 2, 2, 2, 3595, 24638, 3, 2, 2, 2, 3597, 24659, 3, 2, 2, 2, 3599, 24681, 3, 2, 2, 2, 3601, 24702, 3, 2, 2, 2, 3603, 24716, 3, 2, 2, 2, 3605, 24730, 3, 2, 2, 2, 3607, 24747, 3, 2, 2, 2, 3609, 24763, 3, 2, 2, 2, 3611, 24778, 3, 2, 2, 2, 3613, 24796, 3, 2, 2, 2, 3615, 24810, 3, 2, 2, 2, 3617, 24829, 3, 2, 2, 2, 3619, 24845, 3, 2, 2, 2, 3621, 24859, 3, 2, 2, 2, 3623, 24873, 3, 2, 2, 2, 3625, 24886, 3, 2, 2, 2, 3627, 24899, 3, 2, 2, 2, 3629, 24918, 3, 2, 2, 2, 3631, 24928, 3, 2, 2, 2, 3633, 24941, 3, 2, 2, 2, 3635, 24954, 3, 2, 2, 2, 3637, 24967, 3, 2, 2, 2, 3639, 24982, 3, 2, 2, 2, 3641, 24993, 3, 2, 2, 2, 3643, 25003, 3, 2, 2, 2, 3645, 25019, 3, 2, 2, 2, 3647, 25034, 3, 2, 2, 2, 3649, 25048, 3, 2, 2, 2, 3651, 25062, 3, 2, 2, 2, 3653, 25076, 3, 2, 2, 2, 3655, 25088, 3, 2, 2, 2, 3657, 25101, 3, 2, 2, 2, 3659, 25114, 3, 2, 2, 2, 3661, 25126, 3, 2, 2, 2, 3663, 25140, 3, 2, 2, 2, 3665, 25154, 3, 2, 2, 2, 3667, 25165, 3, 2, 2, 2, 3669, 25179, 3, 2, 2, 2, 3671, 25197, 3, 2, 2, 2, 3673, 25209, 3, 2, 2, 2, 3675, 25222, 3, 2, 2, 2, 3677, 25238, 3, 2, 2, 2, 3679, 25254, 3, 2, 2, 2, 3681, 25266, 3, 2, 2, 2, 3683, 25283, 3, 2, 2, 2, 3685, 25296, 3, 2, 2, 2, 3687, 25309, 3, 2, 2, 2, 3689, 25322, 3, 2, 2, 2, 3691, 25336, 3, 2, 2, 2, 3693, 25347, 3, 2, 2, 2, 3695, 25364, 3, 2, 2, 2, 3697, 25380, 3, 2, 2, 2, 3699, 25393, 3, 2, 2, 2, 3701, 25408, 3, 2, 2, 2, 3703, 25424, 3, 2, 2, 2, 3705, 25440, 3, 2, 2, 2, 3707, 25452, 3, 2, 2, 2, 3709, 25466, 3, 2, 2, 2, 3711, 25482, 3, 2, 2, 2, 3713, 25498, 3, 2, 2, 2, 3715, 25515, 3, 2, 2, 2, 3717, 25529, 3, 2, 2, 2, 3719, 25543, 3, 2, 2, 2, 3721, 25557, 3, 2, 2, 2, 3723, 25573, 3, 2, 2, 2, 3725, 25587, 3, 2, 2, 2, 3727, 25601, 3, 2, 2, 2, 3729, 25615, 3, 2, 2, 2, 3731, 25629, 3, 2, 2, 2, 3733, 25643, 3, 2, 2, 2, 3735, 25657, 3, 2, 2, 2, 3737, 25672, 3, 2, 2, 2, 3739, 25686, 3, 2, 2, 2, 3741, 25701, 3, 2, 2, 2, 3743, 25716, 3, 2, 2, 2, 3745, 25730, 3, 2, 2, 2, 3747, 25744, 3, 2, 2, 2, 3749, 25758, 3, 2, 2, 2, 3751, 25772, 3, 2, 2, 2, 3753, 25786, 3, 2, 2, 2, 3755, 25800, 3, 2, 2, 2, 3757, 25814, 3, 2, 2, 2, 3759, 25827, 3, 2, 2, 2, 3761, 25841, 3, 2, 2, 2, 3763, 25855, 3, 2, 2, 2, 3765, 25873, 3, 2, 2, 2, 3767, 25887, 3, 2, 2, 2, 3769, 25903, 3, 2, 2, 2, 3771, 25918, 3, 2, 2, 2, 3773, 25930, 3, 2, 2, 2, 3775, 25947, 3, 2, 2, 2, 3777, 25961, 3, 2, 2, 2, 3779, 25977, 3, 2, 2, 2, 3781, 25991, 3, 2, 2, 2, 3783, 26003, 3, 2, 2, 2, 3785, 26016, 3, 2, 2, 2, 3787, 26029, 3, 2, 2, 2, 3789, 26047, 3, 2, 2, 2, 3791, 26064, 3, 2, 2, 2, 3793, 26079, 3, 2, 2, 2, 3795, 26095, 3, 2, 2, 2, 3797, 26109, 3, 2, 2, 2, 3799, 26125, 3, 2, 2, 2, 3801, 26141, 3, 2, 2, 2, 3803, 26156, 3, 2, 2, 2, 3805, 26170, 3, 2, 2, 2, 3807, 26188, 3, 2, 2, 2, 3809, 26200, 3, 2, 2, 2, 3811, 26216, 3, 2, 2, 2, 3813, 26232, 3, 2, 2, 2, 3815, 26249, 3, 2, 2, 2, 3817, 26268, 3, 2, 2, 2, 3819, 26282, 3, 2, 2, 2, 3821, 26293, 3, 2, 2, 2, 3823, 26300, 3, 2, 2, 2, 3825, 26312, 3, 2, 2, 2, 3827, 26318, 3, 2, 2, 2, 3829, 26324, 3, 2, 2, 2, 3831, 26328, 3, 2, 2, 2, 3833, 26333, 3, 2, 2, 2, 3835, 26337, 3, 2, 2, 2, 3837, 26357, 3, 2, 2, 2, 3839, 26366, 3, 2, 2, 2, 3841, 26375, 3, 2, 2, 2, 3843, 26385, 3, 2, 2, 2, 3845, 26396, 3, 2, 2, 2, 3847, 26401, 3, 2, 2, 2, 3849, 26406, 3, 2, 2, 2, 3851, 26411, 3, 2, 2, 2, 3853, 26416, 3, 2, 2, 2, 3855, 26420, 3, 2, 2, 2, 3857, 26427, 3, 2, 2, 2, 3859, 26435, 3, 2, 2, 2, 3861, 26440, 3, 2, 2, 2, 3863, 26445, 3, 2, 2, 2, 3865, 26453, 3, 2, 2, 2, 3867, 26481, 3, 2, 2, 2, 3869, 26491, 3, 2, 2, 2, 3871, 26518, 3, 2, 2, 2, 3873, 26542, 3, 2, 2, 2, 3875, 26548, 3, 2, 2, 2, 3877, 26553, 3, 2, 2, 2, 3879, 26562, 3, 2, 2, 2, 3881, 26576, 3, 2, 2, 2, 3883, 26590, 3, 2, 2, 2, 3885, 26606, 3, 2, 2, 2, 3887, 26622, 3, 2, 2, 2, 3889, 26638, 3, 2, 2, 2, 3891, 26648, 3, 2, 2, 2, 3893, 26655, 3, 2, 2, 2, 3895, 26663, 3, 2, 2, 2, 3897, 26672, 3, 2, 2, 2, 3899, 26689, 3, 2, 2, 2, 3901, 26705, 3, 2, 2, 2, 3903, 26713, 3, 2, 2, 2, 3905, 26721, 3, 2, 2, 2, 3907, 26735, 3, 2, 2, 2, 3909, 26742, 3, 2, 2, 2, 3911, 26756, 3, 2, 2, 2, 3913, 26765, 3, 2, 2, 2, 3915, 26774, 3, 2, 2, 2, 3917, 26784, 3, 2, 2, 2, 3919, 26793, 3, 2, 2, 2, 3921, 26808, 3, 2, 2, 2, 3923, 26821, 3, 2, 2, 2, 3925, 26837, 3, 2, 2, 2, 3927, 26845, 3, 2, 2, 2, 3929, 26856, 3, 2, 2, 2, 3931, 26859, 3, 2, 2, 2, 3933, 26873, 3, 2, 2, 2, 3935, 26879, 3, 2, 2, 2, 3937, 26887, 3, 2, 2, 2, 3939, 26896, 3, 2, 2, 2, 3941, 26905, 3, 2, 2, 2, 3943, 26917, 3, 2, 2, 2, 3945, 26940, 3, 2, 2, 2, 3947, 26953, 3, 2, 2, 2, 3949, 26964, 3, 2, 2, 2, 3951, 26974, 3, 2, 2, 2, 3953, 26986, 3, 2, 2, 2, 3955, 26992, 3, 2, 2, 2, 3957, 27001, 3, 2, 2, 2, 3959, 27009, 3, 2, 2, 2, 3961, 27014, 3, 2, 2, 2, 3963, 27023, 3, 2, 2, 2, 3965, 27029, 3, 2, 2, 2, 3967, 27037, 3, 2, 2, 2, 3969, 27043, 3, 2, 2, 2, 3971, 27050, 3, 2, 2, 2, 3973, 27053, 3, 2, 2, 2, 3975, 27059, 3, 2, 2, 2, 3977, 27064, 3, 2, 2, 2, 3979, 27074, 3, 2, 2, 2, 3981, 27078, 3, 2, 2, 2, 3983, 27082, 3, 2, 2, 2, 3985, 27087, 3, 2, 2, 2, 3987, 27091, 3, 2, 2, 2, 3989, 27102, 3, 2, 2, 2, 3991, 27112, 3, 2, 2, 2, 3993, 27120, 3, 2, 2, 2, 3995, 27134, 3, 2, 2, 2, 3997, 27140, 3, 2, 2, 2, 3999, 27145, 3, 2, 2, 2, 4001, 27152, 3, 2, 2, 2, 4003, 27160, 3, 2, 2, 2, 4005, 27166, 3, 2, 2, 2, 4007, 27173, 3, 2, 2, 2, 4009, 27180, 3, 2, 2, 2, 4011, 27190, 3, 2, 2, 2, 4013, 27197, 3, 2, 2, 2, 4015, 27204, 3, 2, 2, 2, 4017, 27214, 3, 2, 2, 2, 4019, 27242, 3, 2, 2, 2, 4021, 27272, 3, 2, 2, 2, 4023, 27290, 3, 2, 2, 2, 4025, 27297, 3, 2, 2, 2, 4027, 27306, 3, 2, 2, 2, 4029, 27314, 3, 2, 2, 2, 4031, 27321, 3, 2, 2, 2, 4033, 27333, 3, 2, 2, 2, 4035, 27343, 3, 2, 2, 2, 4037, 27357, 3, 2, 2, 2, 4039, 27370, 3, 2, 2, 2, 4041, 27382, 3, 2, 2, 2, 4043, 27388, 3, 2, 2, 2, 4045, 27397, 3, 2, 2, 2, 4047, 27404, 3, 2, 2, 2, 4049, 27414, 3, 2, 2, 2, 4051, 27422, 3, 2, 2, 2, 4053, 27429, 3, 2, 2, 2, 4055, 27439, 3, 2, 2, 2, 4057, 27451, 3, 2, 2, 2, 4059, 27465, 3, 2, 2, 2, 4061, 27473, 3, 2, 2, 2, 4063, 27479, 3, 2, 2, 2, 4065, 27486, 3, 2, 2, 2, 4067, 27493, 3, 2, 2, 2, 4069, 27500, 3, 2, 2, 2, 4071, 27506, 3, 2, 2, 2, 4073, 27515, 3, 2, 2, 2, 4075, 27526, 3, 2, 2, 2, 4077, 27535, 3, 2, 2, 2, 4079, 27556, 3, 2, 2, 2, 4081, 27582, 3, 2, 2, 2, 4083, 27591, 3, 2, 2, 2, 4085, 27613, 3, 2, 2, 2, 4087, 27635, 3, 2, 2, 2, 4089, 27655, 3, 2, 2, 2, 4091, 27665, 3, 2, 2, 2, 4093, 27672, 3, 2, 2, 2, 4095, 27690, 3, 2, 2, 2, 4097, 27711, 3, 2, 2, 2, 4099, 27721, 3, 2, 2, 2, 4101, 27734, 3, 2, 2, 2, 4103, 27742, 3, 2, 2, 2, 4105, 27752, 3, 2, 2, 2, 4107, 27768, 3, 2, 2, 2, 4109, 27774, 3, 2, 2, 2, 4111, 27791, 3, 2, 2, 2, 4113, 27796, 3, 2, 2, 2, 4115, 27805, 3, 2, 2, 2, 4117, 27825, 3, 2, 2, 2, 4119, 27843, 3, 2, 2, 2, 4121, 27847, 3, 2, 2, 2, 4123, 27870, 3, 2, 2, 2, 4125, 27889, 3, 2, 2, 2, 4127, 27905, 3, 2, 2, 2, 4129, 27911, 3, 2, 2, 2, 4131, 27919, 3, 2, 2, 2, 4133, 27927, 3, 2, 2, 2, 4135, 27933, 3, 2, 2, 2, 4137, 27938, 3, 2, 2, 2, 4139, 27941, 3, 2, 2, 2, 4141, 27944, 3, 2, 2, 2, 4143, 27953, 3, 2, 2, 2, 4145, 27964, 3, 2, 2, 2, 4147, 27979, 3, 2, 2, 2, 4149, 27986, 3, 2, 2, 2, 4151, 27992, 3, 2, 2, 2, 4153, 28001, 3, 2, 2, 2, 4155, 28009, 3, 2, 2, 2, 4157, 28018, 3, 2, 2, 2, 4159, 28026, 3, 2, 2, 2, 4161, 28034, 3, 2, 2, 2, 4163, 28041, 3, 2, 2, 2, 4165, 28050, 3, 2, 2, 2, 4167, 28058, 3, 2, 2, 2, 4169, 28076, 3, 2, 2, 2, 4171, 28088, 3, 2, 2, 2, 4173, 28110, 3, 2, 2, 2, 4175, 28132, 3, 2, 2, 2, 4177, 28149, 3, 2, 2, 2, 4179, 28158, 3, 2, 2, 2, 4181, 28165, 3, 2, 2, 2, 4183, 28176, 3, 2, 2, 2, 4185, 28192, 3, 2, 2, 2, 4187, 28209, 3, 2, 2, 2, 4189, 28228, 3, 2, 2, 2, 4191, 28246, 3, 2, 2, 2, 4193, 28265, 3, 2, 2, 2, 4195, 28274, 3, 2, 2, 2, 4197, 28287, 3, 2, 2, 2, 4199, 28295, 3, 2, 2, 2, 4201, 28300, 3, 2, 2, 2, 4203, 28310, 3, 2, 2, 2, 4205, 28318, 3, 2, 2, 2, 4207, 28329, 3, 2, 2, 2, 4209, 28337, 3, 2, 2, 2, 4211, 28344, 3, 2, 2, 2, 4213, 28350, 3, 2, 2, 2, 4215, 28355, 3, 2, 2, 2, 4217, 28362, 3, 2, 2, 2, 4219, 28370, 3, 2, 2, 2, 4221, 28376, 3, 2, 2, 2, 4223, 28381, 3, 2, 2, 2, 4225, 28392, 3, 2, 2, 2, 4227, 28401, 3, 2, 2, 2, 4229, 28406, 3, 2, 2, 2, 4231, 28412, 3, 2, 2, 2, 4233, 28418, 3, 2, 2, 2, 4235, 28429, 3, 2, 2, 2, 4237, 28442, 3, 2, 2, 2, 4239, 28449, 3, 2, 2, 2, 4241, 28457, 3, 2, 2, 2, 4243, 28468, 3, 2, 2, 2, 4245, 28473, 3, 2, 2, 2, 4247, 28478, 3, 2, 2, 2, 4249, 28486, 3, 2, 2, 2, 4251, 28494, 3, 2, 2, 2, 4253, 28500, 3, 2, 2, 2, 4255, 28520, 3, 2, 2, 2, 4257, 28524, 3, 2, 2, 2, 4259, 28536, 3, 2, 2, 2, 4261, 28540, 3, 2, 2, 2, 4263, 28551, 3, 2, 2, 2, 4265, 28558, 3, 2, 2, 2, 4267, 28572, 3, 2, 2, 2, 4269, 28580, 3, 2, 2, 2, 4271, 28589, 3, 2, 2, 2, 4273, 28602, 3, 2, 2, 2, 4275, 28613, 3, 2, 2, 2, 4277, 28623, 3, 2, 2, 2, 4279, 28631, 3, 2, 2, 2, 4281, 28648, 3, 2, 2, 2, 4283, 28659, 3, 2, 2, 2, 4285, 28670, 3, 2, 2, 2, 4287, 28680, 3, 2, 2, 2, 4289, 28690, 3, 2, 2, 2, 4291, 28699, 3, 2, 2, 2, 4293, 28726, 3, 2, 2, 2, 4295, 28743, 3, 2, 2, 2, 4297, 28764, 3, 2, 2, 2, 4299, 28774, 3, 2, 2, 2, 4301, 28785, 3, 2, 2, 2, 4303, 28799, 3, 2, 2, 2, 4305, 28808, 3, 2, 2, 2, 4307, 28817, 3, 2, 2, 2, 4309, 28823, 3, 2, 2, 2, 4311, 28835, 3, 2, 2, 2, 4313, 28844, 3, 2, 2, 2, 4315, 28852, 3, 2, 2, 2, 4317, 28862, 3, 2, 2, 2, 4319, 28875, 3, 2, 2, 2, 4321, 28884, 3, 2, 2, 2, 4323, 28901, 3, 2, 2, 2, 4325, 28914, 3, 2, 2, 2, 4327, 28922, 3, 2, 2, 2, 4329, 28926, 3, 2, 2, 2, 4331, 28937, 3, 2, 2, 2, 4333, 28952, 3, 2, 2, 2, 4335, 28955, 3, 2, 2, 2, 4337, 28966, 3, 2, 2, 2, 4339, 28972, 3, 2, 2, 2, 4341, 28977, 3, 2, 2, 2, 4343, 28981, 3, 2, 2, 2, 4345, 29006, 3, 2, 2, 2, 4347, 29014, 3, 2, 2, 2, 4349, 29019, 3, 2, 2, 2, 4351, 29030, 3, 2, 2, 2, 4353, 29048, 3, 2, 2, 2, 4355, 29064, 3, 2, 2, 2, 4357, 29083, 3, 2, 2, 2, 4359, 29106, 3, 2, 2, 2, 4361, 29121, 3, 2, 2, 2, 4363, 29131, 3, 2, 2, 2, 4365, 29142, 3, 2, 2, 2, 4367, 29150, 3, 2, 2, 2, 4369, 29163, 3, 2, 2, 2, 4371, 29179, 3, 2, 2, 2, 4373, 29195, 3, 2, 2, 2, 4375, 29200, 3, 2, 2, 2, 4377, 29204, 3, 2, 2, 2, 4379, 29209, 3, 2, 2, 2, 4381, 29216, 3, 2, 2, 2, 4383, 29223, 3, 2, 2, 2, 4385, 29227, 3, 2, 2, 2, 4387, 29232, 3, 2, 2, 2, 4389, 29236, 3, 2, 2, 2, 4391, 29243, 3, 2, 2, 2, 4393, 29247, 3, 2, 2, 2, 4395, 29253, 3, 2, 2, 2, 4397, 29257, 3, 2, 2, 2, 4399, 29273, 3, 2, 2, 2, 4401, 29279, 3, 2, 2, 2, 4403, 29285, 3, 2, 2, 2, 4405, 29296, 3, 2, 2, 2, 4407, 29303, 3, 2, 2, 2, 4409, 29311, 3, 2, 2, 2, 4411, 29316, 3, 2, 2, 2, 4413, 29320, 3, 2, 2, 2, 4415, 29327, 3, 2, 2, 2, 4417, 29332, 3, 2, 2, 2, 4419, 29341, 3, 2, 2, 2, 4421, 29347, 3, 2, 2, 2, 4423, 29356, 3, 2, 2, 2, 4425, 29364, 3, 2, 2, 2, 4427, 29377, 3, 2, 2, 2, 4429, 29390, 3, 2, 2, 2, 4431, 29403, 3, 2, 2, 2, 4433, 29406, 3, 2, 2, 2, 4435, 29409, 3, 2, 2, 2, 4437, 29413, 3, 2, 2, 2, 4439, 29431, 3, 2, 2, 2, 4441, 29443, 3, 2, 2, 2, 4443, 29459, 3, 2, 2, 2, 4445, 29468, 3, 2, 2, 2, 4447, 29477, 3, 2, 2, 2, 4449, 29486, 3, 2, 2, 2, 4451, 29495, 3, 2, 2, 2, 4453, 29504, 3, 2, 2, 2, 4455, 29513, 3, 2, 2, 2, 4457, 29522, 3, 2, 2, 2, 4459, 29531, 3, 2, 2, 2, 4461, 29541, 3, 2, 2, 2, 4463, 29543, 3, 2, 2, 2, 4465, 29545, 3, 2, 2, 2, 4467, 29547, 3, 2, 2, 2, 4469, 29549, 3, 2, 2, 2, 4471, 29552, 3, 2, 2, 2, 4473, 29554, 3, 2, 2, 2, 4475, 29556, 3, 2, 2, 2, 4477, 29558, 3, 2, 2, 2, 4479, 29560, 3, 2, 2, 2, 4481, 29562, 3, 2, 2, 2, 4483, 29564, 3, 2, 2, 2, 4485, 29581, 3, 2, 2, 2, 4487, 29591, 3, 2, 2, 2, 4489, 29593, 3, 2, 2, 2, 4491, 29595, 3, 2, 2, 2, 4493, 29597, 3, 2, 2, 2, 4495, 29599, 3, 2, 2, 2, 4497, 29601, 3, 2, 2, 2, 4499, 29603, 3, 2, 2, 2, 4501, 29605, 3, 2, 2, 2, 4503, 29607, 3, 2, 2, 2, 4505, 29609, 3, 2, 2, 2, 4507, 29611, 3, 2, 2, 2, 4509, 29613, 3, 2, 2, 2, 4511, 29615, 3, 2, 2, 2, 4513, 29617, 3, 2, 2, 2, 4515, 29630, 3, 2, 2, 2, 4517, 29644, 3, 2, 2, 2, 4519, 29667, 3, 2, 2, 2, 4521, 29688, 3, 2, 2, 2, 4523, 29701, 3, 2, 2, 2, 4525, 29710, 3, 2, 2, 2, 4527, 29718, 3, 2, 2, 2, 4529, 29720, 3, 2, 2, 2, 4531, 29722, 3, 2, 2, 2, 4533, 29727, 3, 2, 2, 2, 4535, 29739, 3, 2, 2, 2, 4537, 29743, 3, 2, 2, 2, 4539, 4540, 7, 67, 2, 2, 4540, 4541, 7, 68, 2, 2, 4541, 4542, 7, 81, 2, 2, 4542, 4543, 7, 84, 2, 2, 4543, 4544, 7, 86, 2, 2, 4544, 4, 3, 2, 2, 2, 4545, 4546, 7, 67, 2, 2, 4546, 4547, 7, 68, 2, 2, 4547, 4548, 7, 85, 2, 2, 4548, 6, 3, 2, 2, 2, 4549, 4550, 7, 67, 2, 2, 4550, 4551, 7, 69, 2, 2, 4551, 4552, 7, 69, 2, 2, 4552, 4553, 7, 71, 2, 2, 4553, 4554, 7, 85, 2, 2, 4554, 4555, 7, 85, 2, 2, 4555, 8, 3, 2, 2, 2, 4556, 4557, 7, 67, 2, 2, 4557, 4558, 7, 69, 2, 2, 4558, 4559, 7, 69, 2, 2, 4559, 4560, 7, 71, 2, 2, 4560, 4561, 7, 85, 2, 2, 4561, 4562, 7, 85, 2, 2, 4562, 4563, 7, 71, 2, 2, 4563, 4564, 7, 70, 2, 2, 4564, 10, 3, 2, 2, 2, 4565, 4566, 7, 67, 2, 2, 4566, 4567, 7, 69, 2, 2, 4567, 4568, 7, 69, 2, 2, 4568, 4569, 7, 81, 2, 2, 4569, 4570, 7, 87, 2, 2, 4570, 4571, 7, 80, 2, 2, 4571, 4572, 7, 86, 2, 2, 4572, 12, 3, 2, 2, 2, 4573, 4574, 7, 67, 2, 2, 4574, 4575, 7, 69, 2, 2, 4575, 4576, 7, 78, 2, 2, 4576, 14, 3, 2, 2, 2, 4577, 4578, 7, 67, 2, 2, 4578, 4579, 7, 69, 2, 2, 4579, 4580, 7, 81, 2, 2, 4580, 4581, 7, 85, 2, 2, 4581, 16, 3, 2, 2, 2, 4582, 4583, 7, 67, 2, 2, 4583, 4584, 7, 69, 2, 2, 4584, 4585, 7, 86, 2, 2, 4585, 4586, 7, 75, 2, 2, 4586, 4587, 7, 81, 2, 2, 4587, 4588, 7, 80, 2, 2, 4588, 18, 3, 2, 2, 2, 4589, 4590, 7, 67, 2, 2, 4590, 4591, 7, 69, 2, 2, 4591, 4592, 7, 86, 2, 2, 4592, 4593, 7, 75, 2, 2, 4593, 4594, 7, 81, 2, 2, 4594, 4595, 7, 80, 2, 2, 4595, 4596, 7, 85, 2, 2, 4596, 20, 3, 2, 2, 2, 4597, 4598, 7, 67, 2, 2, 4598, 4599, 7, 69, 2, 2, 4599, 4600, 7, 86, 2, 2, 4600, 4601, 7, 75, 2, 2, 4601, 4602, 7, 88, 2, 2, 4602, 4603, 7, 67, 2, 2, 4603, 4604, 7, 86, 2, 2, 4604, 4605, 7, 71, 2, 2, 4605, 22, 3, 2, 2, 2, 4606, 4607, 7, 67, 2, 2, 4607, 4608, 7, 69, 2, 2, 4608, 4609, 7, 86, 2, 2, 4609, 4610, 7, 75, 2, 2, 4610, 4611, 7, 88, 2, 2, 4611, 4612, 7, 71, 2, 2, 4612, 24, 3, 2, 2, 2, 4613, 4614, 7, 67, 2, 2, 4614, 4615, 7, 69, 2, 2, 4615, 4616, 7, 86, 2, 2, 4616, 4617, 7, 75, 2, 2, 4617, 4618, 7, 88, 2, 2, 4618, 4619, 7, 71, 2, 2, 4619, 4620, 7, 97, 2, 2, 4620, 4621, 7, 69, 2, 2, 4621, 4622, 7, 81, 2, 2, 4622, 4623, 7, 79, 2, 2, 4623, 4624, 7, 82, 2, 2, 4624, 4625, 7, 81, 2, 2, 4625, 4626, 7, 80, 2, 2, 4626, 4627, 7, 71, 2, 2, 4627, 4628, 7, 80, 2, 2, 4628, 4629, 7, 86, 2, 2, 4629, 26, 3, 2, 2, 2, 4630, 4631, 7, 67, 2, 2, 4631, 4632, 7, 69, 2, 2, 4632, 4633, 7, 86, 2, 2, 4633, 4634, 7, 75, 2, 2, 4634, 4635, 7, 88, 2, 2, 4635, 4636, 7, 71, 2, 2, 4636, 4637, 7, 97, 2, 2, 4637, 4638, 7, 70, 2, 2, 4638, 4639, 7, 67, 2, 2, 4639, 4640, 7, 86, 2, 2, 4640, 4641, 7, 67, 2, 2, 4641, 28, 3, 2, 2, 2, 4642, 4643, 7, 67, 2, 2, 4643, 4644, 7, 69, 2, 2, 4644, 4645, 7, 86, 2, 2, 4645, 4646, 7, 75, 2, 2, 4646, 4647, 7, 88, 2, 2, 4647, 4648, 7, 71, 2, 2, 4648, 4649, 7, 97, 2, 2, 4649, 4650, 7, 72, 2, 2, 4650, 4651, 7, 87, 2, 2, 4651, 4652, 7, 80, 2, 2, 4652, 4653, 7, 69, 2, 2, 4653, 4654, 7, 86, 2, 2, 4654, 4655, 7, 75, 2, 2, 4655, 4656, 7, 81, 2, 2, 4656, 4657, 7, 80, 2, 2, 4657, 30, 3, 2, 2, 2, 4658, 4659, 7, 67, 2, 2, 4659, 4660, 7, 69, 2, 2, 4660, 4661, 7, 86, 2, 2, 4661, 4662, 7, 75, 2, 2, 4662, 4663, 7, 88, 2, 2, 4663, 4664, 7, 71, 2, 2, 4664, 4665, 7, 97, 2, 2, 4665, 4666, 7, 86, 2, 2, 4666, 4667, 7, 67, 2, 2, 4667, 4668, 7, 73, 2, 2, 4668, 32, 3, 2, 2, 2, 4669, 4670, 7, 67, 2, 2, 4670, 4671, 7, 69, 2, 2, 4671, 4672, 7, 86, 2, 2, 4672, 4673, 7, 75, 2, 2, 4673, 4674, 7, 88, 2, 2, 4674, 4675, 7, 75, 2, 2, 4675, 4676, 7, 86, 2, 2, 4676, 4677, 7, 91, 2, 2, 4677, 34, 3, 2, 2, 2, 4678, 4679, 7, 67, 2, 2, 4679, 4680, 7, 70, 2, 2, 4680, 4681, 7, 67, 2, 2, 4681, 4682, 7, 82, 2, 2, 4682, 4683, 7, 86, 2, 2, 4683, 4684, 7, 75, 2, 2, 4684, 4685, 7, 88, 2, 2, 4685, 4686, 7, 71, 2, 2, 4686, 4687, 7, 97, 2, 2, 4687, 4688, 7, 82, 2, 2, 4688, 4689, 7, 78, 2, 2, 4689, 4690, 7, 67, 2, 2, 4690, 4691, 7, 80, 2, 2, 4691, 36, 3, 2, 2, 2, 4692, 4693, 7, 67, 2, 2, 4693, 4694, 7, 70, 2, 2, 4694, 4695, 7, 70, 2, 2, 4695, 38, 3, 2, 2, 2, 4696, 4697, 7, 67, 2, 2, 4697, 4698, 7, 70, 2, 2, 4698, 4699, 7, 70, 2, 2, 4699, 4700, 7, 97, 2, 2, 4700, 4701, 7, 69, 2, 2, 4701, 4702, 7, 81, 2, 2, 4702, 4703, 7, 78, 2, 2, 4703, 4704, 7, 87, 2, 2, 4704, 4705, 7, 79, 2, 2, 4705, 4706, 7, 80, 2, 2, 4706, 40, 3, 2, 2, 2, 4707, 4708, 7, 67, 2, 2, 4708, 4709, 7, 70, 2, 2, 4709, 4710, 7, 70, 2, 2, 4710, 4711, 7, 97, 2, 2, 4711, 4712, 7, 73, 2, 2, 4712, 4713, 7, 84, 2, 2, 4713, 4714, 7, 81, 2, 2, 4714, 4715, 7, 87, 2, 2, 4715, 4716, 7, 82, 2, 2, 4716, 42, 3, 2, 2, 2, 4717, 4718, 7, 67, 2, 2, 4718, 4719, 7, 70, 2, 2, 4719, 4720, 7, 70, 2, 2, 4720, 4721, 7, 97, 2, 2, 4721, 4722, 7, 79, 2, 2, 4722, 4723, 7, 81, 2, 2, 4723, 4724, 7, 80, 2, 2, 4724, 4725, 7, 86, 2, 2, 4725, 4726, 7, 74, 2, 2, 4726, 4727, 7, 85, 2, 2, 4727, 44, 3, 2, 2, 2, 4728, 4729, 7, 67, 2, 2, 4729, 4730, 7, 70, 2, 2, 4730, 4731, 7, 76, 2, 2, 4731, 4732, 7, 97, 2, 2, 4732, 4733, 7, 70, 2, 2, 4733, 4734, 7, 67, 2, 2, 4734, 4735, 7, 86, 2, 2, 4735, 4736, 7, 71, 2, 2, 4736, 46, 3, 2, 2, 2, 4737, 4738, 7, 67, 2, 2, 4738, 4739, 7, 70, 2, 2, 4739, 4740, 7, 79, 2, 2, 4740, 4741, 7, 75, 2, 2, 4741, 4742, 7, 80, 2, 2, 4742, 48, 3, 2, 2, 2, 4743, 4744, 7, 67, 2, 2, 4744, 4745, 7, 70, 2, 2, 4745, 4746, 7, 79, 2, 2, 4746, 4747, 7, 75, 2, 2, 4747, 4748, 7, 80, 2, 2, 4748, 4749, 7, 75, 2, 2, 4749, 4750, 7, 85, 2, 2, 4750, 4751, 7, 86, 2, 2, 4751, 4752, 7, 71, 2, 2, 4752, 4753, 7, 84, 2, 2, 4753, 50, 3, 2, 2, 2, 4754, 4755, 7, 67, 2, 2, 4755, 4756, 7, 70, 2, 2, 4756, 4757, 7, 79, 2, 2, 4757, 4758, 7, 75, 2, 2, 4758, 4759, 7, 80, 2, 2, 4759, 4760, 7, 75, 2, 2, 4760, 4761, 7, 85, 2, 2, 4761, 4762, 7, 86, 2, 2, 4762, 4763, 7, 84, 2, 2, 4763, 4764, 7, 67, 2, 2, 4764, 4765, 7, 86, 2, 2, 4765, 4766, 7, 81, 2, 2, 4766, 4767, 7, 84, 2, 2, 4767, 52, 3, 2, 2, 2, 4768, 4769, 7, 67, 2, 2, 4769, 4770, 7, 70, 2, 2, 4770, 4771, 7, 88, 2, 2, 4771, 4772, 7, 67, 2, 2, 4772, 4773, 7, 80, 2, 2, 4773, 4774, 7, 69, 2, 2, 4774, 4775, 7, 71, 2, 2, 4775, 4776, 7, 70, 2, 2, 4776, 54, 3, 2, 2, 2, 4777, 4778, 7, 67, 2, 2, 4778, 4779, 7, 70, 2, 2, 4779, 4780, 7, 88, 2, 2, 4780, 4781, 7, 75, 2, 2, 4781, 4782, 7, 85, 2, 2, 4782, 4783, 7, 71, 2, 2, 4783, 56, 3, 2, 2, 2, 4784, 4785, 7, 67, 2, 2, 4785, 4786, 7, 70, 2, 2, 4786, 4787, 7, 88, 2, 2, 4787, 4788, 7, 75, 2, 2, 4788, 4789, 7, 85, 2, 2, 4789, 4790, 7, 81, 2, 2, 4790, 4791, 7, 84, 2, 2, 4791, 58, 3, 2, 2, 2, 4792, 4793, 7, 67, 2, 2, 4793, 4794, 7, 72, 2, 2, 4794, 4795, 7, 70, 2, 2, 4795, 4796, 7, 97, 2, 2, 4796, 4797, 7, 70, 2, 2, 4797, 4798, 7, 75, 2, 2, 4798, 4799, 7, 85, 2, 2, 4799, 4800, 7, 77, 2, 2, 4800, 4801, 7, 85, 2, 2, 4801, 4802, 7, 86, 2, 2, 4802, 4803, 7, 84, 2, 2, 4803, 4804, 7, 75, 2, 2, 4804, 4805, 7, 80, 2, 2, 4805, 4806, 7, 73, 2, 2, 4806, 60, 3, 2, 2, 2, 4807, 4808, 7, 67, 2, 2, 4808, 4809, 7, 72, 2, 2, 4809, 4810, 7, 86, 2, 2, 4810, 4811, 7, 71, 2, 2, 4811, 4812, 7, 84, 2, 2, 4812, 62, 3, 2, 2, 2, 4813, 4814, 7, 67, 2, 2, 4814, 4815, 7, 73, 2, 2, 4815, 4816, 7, 71, 2, 2, 4816, 4817, 7, 80, 2, 2, 4817, 4818, 7, 86, 2, 2, 4818, 64, 3, 2, 2, 2, 4819, 4820, 7, 67, 2, 2, 4820, 4821, 7, 73, 2, 2, 4821, 4822, 7, 73, 2, 2, 4822, 4823, 7, 84, 2, 2, 4823, 4824, 7, 71, 2, 2, 4824, 4825, 7, 73, 2, 2, 4825, 4826, 7, 67, 2, 2, 4826, 4827, 7, 86, 2, 2, 4827, 4828, 7, 71, 2, 2, 4828, 66, 3, 2, 2, 2, 4829, 4830, 7, 67, 2, 2, 4830, 68, 3, 2, 2, 2, 4831, 4832, 7, 67, 2, 2, 4832, 4833, 7, 78, 2, 2, 4833, 4834, 7, 75, 2, 2, 4834, 4835, 7, 67, 2, 2, 4835, 4836, 7, 85, 2, 2, 4836, 70, 3, 2, 2, 2, 4837, 4838, 7, 67, 2, 2, 4838, 4839, 7, 78, 2, 2, 4839, 4840, 7, 78, 2, 2, 4840, 72, 3, 2, 2, 2, 4841, 4842, 7, 67, 2, 2, 4842, 4843, 7, 78, 2, 2, 4843, 4844, 7, 78, 2, 2, 4844, 4845, 7, 81, 2, 2, 4845, 4846, 7, 69, 2, 2, 4846, 4847, 7, 67, 2, 2, 4847, 4848, 7, 86, 2, 2, 4848, 4849, 7, 71, 2, 2, 4849, 74, 3, 2, 2, 2, 4850, 4851, 7, 67, 2, 2, 4851, 4852, 7, 78, 2, 2, 4852, 4853, 7, 78, 2, 2, 4853, 4854, 7, 81, 2, 2, 4854, 4855, 7, 89, 2, 2, 4855, 76, 3, 2, 2, 2, 4856, 4857, 7, 67, 2, 2, 4857, 4858, 7, 78, 2, 2, 4858, 4859, 7, 78, 2, 2, 4859, 4860, 7, 97, 2, 2, 4860, 4861, 7, 84, 2, 2, 4861, 4862, 7, 81, 2, 2, 4862, 4863, 7, 89, 2, 2, 4863, 4864, 7, 85, 2, 2, 4864, 78, 3, 2, 2, 2, 4865, 4866, 7, 67, 2, 2, 4866, 4867, 7, 78, 2, 2, 4867, 4868, 7, 86, 2, 2, 4868, 4869, 7, 71, 2, 2, 4869, 4870, 7, 84, 2, 2, 4870, 80, 3, 2, 2, 2, 4871, 4872, 7, 67, 2, 2, 4872, 4873, 7, 78, 2, 2, 4873, 4874, 7, 89, 2, 2, 4874, 4875, 7, 67, 2, 2, 4875, 4876, 7, 91, 2, 2, 4876, 4877, 7, 85, 2, 2, 4877, 82, 3, 2, 2, 2, 4878, 4879, 7, 67, 2, 2, 4879, 4880, 7, 80, 2, 2, 4880, 4881, 7, 67, 2, 2, 4881, 4882, 7, 78, 2, 2, 4882, 4883, 7, 91, 2, 2, 4883, 4884, 7, 92, 2, 2, 4884, 4885, 7, 71, 2, 2, 4885, 84, 3, 2, 2, 2, 4886, 4887, 7, 67, 2, 2, 4887, 4888, 7, 80, 2, 2, 4888, 4889, 7, 69, 2, 2, 4889, 4890, 7, 75, 2, 2, 4890, 4891, 7, 78, 2, 2, 4891, 4892, 7, 78, 2, 2, 4892, 4893, 7, 67, 2, 2, 4893, 4894, 7, 84, 2, 2, 4894, 4895, 7, 91, 2, 2, 4895, 86, 3, 2, 2, 2, 4896, 4897, 7, 67, 2, 2, 4897, 4898, 7, 80, 2, 2, 4898, 4899, 7, 70, 2, 2, 4899, 88, 3, 2, 2, 2, 4900, 4901, 7, 67, 2, 2, 4901, 4902, 7, 80, 2, 2, 4902, 4903, 7, 70, 2, 2, 4903, 4904, 7, 97, 2, 2, 4904, 4905, 7, 71, 2, 2, 4905, 4906, 7, 83, 2, 2, 4906, 4907, 7, 87, 2, 2, 4907, 4908, 7, 67, 2, 2, 4908, 4909, 7, 78, 2, 2, 4909, 90, 3, 2, 2, 2, 4910, 4911, 7, 67, 2, 2, 4911, 4912, 7, 80, 2, 2, 4912, 4913, 7, 81, 2, 2, 4913, 4914, 7, 79, 2, 2, 4914, 4915, 7, 67, 2, 2, 4915, 4916, 7, 78, 2, 2, 4916, 4917, 7, 91, 2, 2, 4917, 92, 3, 2, 2, 2, 4918, 4919, 7, 67, 2, 2, 4919, 4920, 7, 80, 2, 2, 4920, 4921, 7, 85, 2, 2, 4921, 4922, 7, 75, 2, 2, 4922, 4923, 7, 97, 2, 2, 4923, 4924, 7, 84, 2, 2, 4924, 4925, 7, 71, 2, 2, 4925, 4926, 7, 67, 2, 2, 4926, 4927, 7, 84, 2, 2, 4927, 4928, 7, 69, 2, 2, 4928, 4929, 7, 74, 2, 2, 4929, 94, 3, 2, 2, 2, 4930, 4931, 7, 67, 2, 2, 4931, 4932, 7, 80, 2, 2, 4932, 4933, 7, 86, 2, 2, 4933, 4934, 7, 75, 2, 2, 4934, 4935, 7, 76, 2, 2, 4935, 4936, 7, 81, 2, 2, 4936, 4937, 7, 75, 2, 2, 4937, 4938, 7, 80, 2, 2, 4938, 96, 3, 2, 2, 2, 4939, 4940, 7, 67, 2, 2, 4940, 4941, 7, 80, 2, 2, 4941, 4942, 7, 91, 2, 2, 4942, 98, 3, 2, 2, 2, 4943, 4944, 7, 67, 2, 2, 4944, 4945, 7, 80, 2, 2, 4945, 4946, 7, 91, 2, 2, 4946, 4947, 7, 85, 2, 2, 4947, 4948, 7, 69, 2, 2, 4948, 4949, 7, 74, 2, 2, 4949, 4950, 7, 71, 2, 2, 4950, 4951, 7, 79, 2, 2, 4951, 4952, 7, 67, 2, 2, 4952, 100, 3, 2, 2, 2, 4953, 4954, 7, 67, 2, 2, 4954, 4955, 7, 82, 2, 2, 4955, 4956, 7, 82, 2, 2, 4956, 4957, 7, 71, 2, 2, 4957, 4958, 7, 80, 2, 2, 4958, 4959, 7, 70, 2, 2, 4959, 102, 3, 2, 2, 2, 4960, 4961, 7, 67, 2, 2, 4961, 4962, 7, 82, 2, 2, 4962, 4963, 7, 82, 2, 2, 4963, 4964, 7, 71, 2, 2, 4964, 4965, 7, 80, 2, 2, 4965, 4966, 7, 70, 2, 2, 4966, 4967, 7, 69, 2, 2, 4967, 4968, 7, 74, 2, 2, 4968, 4969, 7, 75, 2, 2, 4969, 4970, 7, 78, 2, 2, 4970, 4971, 7, 70, 2, 2, 4971, 4972, 7, 90, 2, 2, 4972, 4973, 7, 79, 2, 2, 4973, 4974, 7, 78, 2, 2, 4974, 104, 3, 2, 2, 2, 4975, 4976, 7, 67, 2, 2, 4976, 4977, 7, 82, 2, 2, 4977, 4978, 7, 82, 2, 2, 4978, 4979, 7, 71, 2, 2, 4979, 4980, 7, 80, 2, 2, 4980, 4981, 7, 70, 2, 2, 4981, 4982, 7, 97, 2, 2, 4982, 4983, 7, 88, 2, 2, 4983, 4984, 7, 67, 2, 2, 4984, 4985, 7, 78, 2, 2, 4985, 4986, 7, 87, 2, 2, 4986, 4987, 7, 71, 2, 2, 4987, 4988, 7, 85, 2, 2, 4988, 106, 3, 2, 2, 2, 4989, 4990, 7, 67, 2, 2, 4990, 4991, 7, 82, 2, 2, 4991, 4992, 7, 82, 2, 2, 4992, 4993, 7, 78, 2, 2, 4993, 4994, 7, 75, 2, 2, 4994, 4995, 7, 69, 2, 2, 4995, 4996, 7, 67, 2, 2, 4996, 4997, 7, 86, 2, 2, 4997, 4998, 7, 75, 2, 2, 4998, 4999, 7, 81, 2, 2, 4999, 5000, 7, 80, 2, 2, 5000, 108, 3, 2, 2, 2, 5001, 5002, 7, 67, 2, 2, 5002, 5003, 7, 82, 2, 2, 5003, 5004, 7, 82, 2, 2, 5004, 5005, 7, 78, 2, 2, 5005, 5006, 7, 91, 2, 2, 5006, 110, 3, 2, 2, 2, 5007, 5008, 7, 67, 2, 2, 5008, 5009, 7, 82, 2, 2, 5009, 5010, 7, 82, 2, 2, 5010, 5011, 7, 84, 2, 2, 5011, 5012, 7, 81, 2, 2, 5012, 5013, 7, 90, 2, 2, 5013, 5014, 7, 97, 2, 2, 5014, 5015, 7, 69, 2, 2, 5015, 5016, 7, 81, 2, 2, 5016, 5017, 7, 87, 2, 2, 5017, 5018, 7, 80, 2, 2, 5018, 5019, 7, 86, 2, 2, 5019, 5020, 7, 97, 2, 2, 5020, 5021, 7, 70, 2, 2, 5021, 5022, 7, 75, 2, 2, 5022, 5023, 7, 85, 2, 2, 5023, 5024, 7, 86, 2, 2, 5024, 5025, 7, 75, 2, 2, 5025, 5026, 7, 80, 2, 2, 5026, 5027, 7, 69, 2, 2, 5027, 5028, 7, 86, 2, 2, 5028, 112, 3, 2, 2, 2, 5029, 5030, 7, 67, 2, 2, 5030, 5031, 7, 84, 2, 2, 5031, 5032, 7, 69, 2, 2, 5032, 5033, 7, 74, 2, 2, 5033, 5034, 7, 75, 2, 2, 5034, 5035, 7, 88, 2, 2, 5035, 5036, 7, 67, 2, 2, 5036, 5037, 7, 78, 2, 2, 5037, 114, 3, 2, 2, 2, 5038, 5039, 7, 67, 2, 2, 5039, 5040, 7, 84, 2, 2, 5040, 5041, 7, 69, 2, 2, 5041, 5042, 7, 74, 2, 2, 5042, 5043, 7, 75, 2, 2, 5043, 5044, 7, 88, 2, 2, 5044, 5045, 7, 71, 2, 2, 5045, 116, 3, 2, 2, 2, 5046, 5047, 7, 67, 2, 2, 5047, 5048, 7, 84, 2, 2, 5048, 5049, 7, 69, 2, 2, 5049, 5050, 7, 74, 2, 2, 5050, 5051, 7, 75, 2, 2, 5051, 5052, 7, 88, 2, 2, 5052, 5053, 7, 71, 2, 2, 5053, 5054, 7, 70, 2, 2, 5054, 118, 3, 2, 2, 2, 5055, 5056, 7, 67, 2, 2, 5056, 5057, 7, 84, 2, 2, 5057, 5058, 7, 69, 2, 2, 5058, 5059, 7, 74, 2, 2, 5059, 5060, 7, 75, 2, 2, 5060, 5061, 7, 88, 2, 2, 5061, 5062, 7, 71, 2, 2, 5062, 5063, 7, 78, 2, 2, 5063, 5064, 7, 81, 2, 2, 5064, 5065, 7, 73, 2, 2, 5065, 120, 3, 2, 2, 2, 5066, 5067, 7, 67, 2, 2, 5067, 5068, 7, 84, 2, 2, 5068, 5069, 7, 84, 2, 2, 5069, 5070, 7, 67, 2, 2, 5070, 5071, 7, 91, 2, 2, 5071, 122, 3, 2, 2, 2, 5072, 5073, 7, 67, 2, 2, 5073, 5074, 7, 85, 2, 2, 5074, 124, 3, 2, 2, 2, 5075, 5076, 7, 67, 2, 2, 5076, 5077, 7, 85, 2, 2, 5077, 5078, 7, 69, 2, 2, 5078, 126, 3, 2, 2, 2, 5079, 5080, 7, 67, 2, 2, 5080, 5081, 7, 85, 2, 2, 5081, 5082, 7, 69, 2, 2, 5082, 5083, 7, 75, 2, 2, 5083, 5084, 7, 75, 2, 2, 5084, 128, 3, 2, 2, 2, 5085, 5086, 7, 67, 2, 2, 5086, 5087, 7, 85, 2, 2, 5087, 5088, 7, 69, 2, 2, 5088, 5089, 7, 75, 2, 2, 5089, 5090, 7, 75, 2, 2, 5090, 5091, 7, 85, 2, 2, 5091, 5092, 7, 86, 2, 2, 5092, 5093, 7, 84, 2, 2, 5093, 130, 3, 2, 2, 2, 5094, 5095, 7, 67, 2, 2, 5095, 5096, 7, 85, 2, 2, 5096, 5097, 7, 75, 2, 2, 5097, 5098, 7, 80, 2, 2, 5098, 132, 3, 2, 2, 2, 5099, 5100, 7, 67, 2, 2, 5100, 5101, 7, 85, 2, 2, 5101, 5102, 7, 75, 2, 2, 5102, 5103, 7, 85, 2, 2, 5103, 134, 3, 2, 2, 2, 5104, 5105, 7, 67, 2, 2, 5105, 5106, 7, 85, 2, 2, 5106, 5107, 7, 85, 2, 2, 5107, 5108, 7, 71, 2, 2, 5108, 5109, 7, 79, 2, 2, 5109, 5110, 7, 68, 2, 2, 5110, 5111, 7, 78, 2, 2, 5111, 5112, 7, 91, 2, 2, 5112, 136, 3, 2, 2, 2, 5113, 5114, 7, 67, 2, 2, 5114, 5115, 7, 85, 2, 2, 5115, 5116, 7, 85, 2, 2, 5116, 5117, 7, 75, 2, 2, 5117, 5118, 7, 73, 2, 2, 5118, 5119, 7, 80, 2, 2, 5119, 138, 3, 2, 2, 2, 5120, 5121, 7, 67, 2, 2, 5121, 5122, 7, 85, 2, 2, 5122, 5123, 7, 85, 2, 2, 5123, 5124, 7, 81, 2, 2, 5124, 5125, 7, 69, 2, 2, 5125, 5126, 7, 75, 2, 2, 5126, 5127, 7, 67, 2, 2, 5127, 5128, 7, 86, 2, 2, 5128, 5129, 7, 71, 2, 2, 5129, 140, 3, 2, 2, 2, 5130, 5131, 7, 67, 2, 2, 5131, 5132, 7, 85, 2, 2, 5132, 5133, 7, 91, 2, 2, 5133, 5134, 7, 80, 2, 2, 5134, 5135, 7, 69, 2, 2, 5135, 142, 3, 2, 2, 2, 5136, 5137, 7, 67, 2, 2, 5137, 5138, 7, 85, 2, 2, 5138, 5139, 7, 91, 2, 2, 5139, 5140, 7, 80, 2, 2, 5140, 5141, 7, 69, 2, 2, 5141, 5142, 7, 74, 2, 2, 5142, 5143, 7, 84, 2, 2, 5143, 5144, 7, 81, 2, 2, 5144, 5145, 7, 80, 2, 2, 5145, 5146, 7, 81, 2, 2, 5146, 5147, 7, 87, 2, 2, 5147, 5148, 7, 85, 2, 2, 5148, 144, 3, 2, 2, 2, 5149, 5150, 7, 67, 2, 2, 5150, 5151, 7, 86, 2, 2, 5151, 5152, 7, 67, 2, 2, 5152, 5153, 7, 80, 2, 2, 5153, 5154, 7, 52, 2, 2, 5154, 146, 3, 2, 2, 2, 5155, 5156, 7, 67, 2, 2, 5156, 5157, 7, 86, 2, 2, 5157, 5158, 7, 67, 2, 2, 5158, 5159, 7, 80, 2, 2, 5159, 148, 3, 2, 2, 2, 5160, 5161, 7, 67, 2, 2, 5161, 5162, 7, 86, 2, 2, 5162, 150, 3, 2, 2, 2, 5163, 5164, 7, 67, 2, 2, 5164, 5165, 7, 86, 2, 2, 5165, 5166, 7, 86, 2, 2, 5166, 5167, 7, 84, 2, 2, 5167, 5168, 7, 75, 2, 2, 5168, 5169, 7, 68, 2, 2, 5169, 5170, 7, 87, 2, 2, 5170, 5171, 7, 86, 2, 2, 5171, 5172, 7, 71, 2, 2, 5172, 152, 3, 2, 2, 2, 5173, 5174, 7, 67, 2, 2, 5174, 5175, 7, 86, 2, 2, 5175, 5176, 7, 86, 2, 2, 5176, 5177, 7, 84, 2, 2, 5177, 5178, 7, 75, 2, 2, 5178, 5179, 7, 68, 2, 2, 5179, 5180, 7, 87, 2, 2, 5180, 5181, 7, 86, 2, 2, 5181, 5182, 7, 71, 2, 2, 5182, 5183, 7, 85, 2, 2, 5183, 154, 3, 2, 2, 2, 5184, 5185, 7, 67, 2, 2, 5185, 5186, 7, 87, 2, 2, 5186, 5187, 7, 70, 2, 2, 5187, 5188, 7, 75, 2, 2, 5188, 5189, 7, 86, 2, 2, 5189, 156, 3, 2, 2, 2, 5190, 5191, 7, 67, 2, 2, 5191, 5192, 7, 87, 2, 2, 5192, 5193, 7, 86, 2, 2, 5193, 5194, 7, 74, 2, 2, 5194, 5195, 7, 71, 2, 2, 5195, 5196, 7, 80, 2, 2, 5196, 5197, 7, 86, 2, 2, 5197, 5198, 7, 75, 2, 2, 5198, 5199, 7, 69, 2, 2, 5199, 5200, 7, 67, 2, 2, 5200, 5201, 7, 86, 2, 2, 5201, 5202, 7, 71, 2, 2, 5202, 5203, 7, 70, 2, 2, 5203, 158, 3, 2, 2, 2, 5204, 5205, 7, 67, 2, 2, 5205, 5206, 7, 87, 2, 2, 5206, 5207, 7, 86, 2, 2, 5207, 5208, 7, 74, 2, 2, 5208, 5209, 7, 71, 2, 2, 5209, 5210, 7, 80, 2, 2, 5210, 5211, 7, 86, 2, 2, 5211, 5212, 7, 75, 2, 2, 5212, 5213, 7, 69, 2, 2, 5213, 5214, 7, 67, 2, 2, 5214, 5215, 7, 86, 2, 2, 5215, 5216, 7, 75, 2, 2, 5216, 5217, 7, 81, 2, 2, 5217, 5218, 7, 80, 2, 2, 5218, 160, 3, 2, 2, 2, 5219, 5220, 7, 67, 2, 2, 5220, 5221, 7, 87, 2, 2, 5221, 5222, 7, 86, 2, 2, 5222, 5223, 7, 74, 2, 2, 5223, 5224, 7, 75, 2, 2, 5224, 5225, 7, 70, 2, 2, 5225, 162, 3, 2, 2, 2, 5226, 5227, 7, 67, 2, 2, 5227, 5228, 7, 87, 2, 2, 5228, 5229, 7, 86, 2, 2, 5229, 5230, 7, 74, 2, 2, 5230, 5231, 7, 81, 2, 2, 5231, 5232, 7, 84, 2, 2, 5232, 5233, 7, 75, 2, 2, 5233, 5234, 7, 92, 2, 2, 5234, 5235, 7, 67, 2, 2, 5235, 5236, 7, 86, 2, 2, 5236, 5237, 7, 75, 2, 2, 5237, 5238, 7, 81, 2, 2, 5238, 5239, 7, 80, 2, 2, 5239, 164, 3, 2, 2, 2, 5240, 5241, 7, 67, 2, 2, 5241, 5242, 7, 87, 2, 2, 5242, 5243, 7, 86, 2, 2, 5243, 5244, 7, 81, 2, 2, 5244, 5245, 7, 67, 2, 2, 5245, 5246, 7, 78, 2, 2, 5246, 5247, 7, 78, 2, 2, 5247, 5248, 7, 81, 2, 2, 5248, 5249, 7, 69, 2, 2, 5249, 5250, 7, 67, 2, 2, 5250, 5251, 7, 86, 2, 2, 5251, 5252, 7, 71, 2, 2, 5252, 166, 3, 2, 2, 2, 5253, 5254, 7, 67, 2, 2, 5254, 5255, 7, 87, 2, 2, 5255, 5256, 7, 86, 2, 2, 5256, 5257, 7, 81, 2, 2, 5257, 168, 3, 2, 2, 2, 5258, 5259, 7, 67, 2, 2, 5259, 5260, 7, 87, 2, 2, 5260, 5261, 7, 86, 2, 2, 5261, 5262, 7, 81, 2, 2, 5262, 5263, 7, 68, 2, 2, 5263, 5264, 7, 67, 2, 2, 5264, 5265, 7, 69, 2, 2, 5265, 5266, 7, 77, 2, 2, 5266, 5267, 7, 87, 2, 2, 5267, 5268, 7, 82, 2, 2, 5268, 170, 3, 2, 2, 2, 5269, 5270, 7, 67, 2, 2, 5270, 5271, 7, 87, 2, 2, 5271, 5272, 7, 86, 2, 2, 5272, 5273, 7, 81, 2, 2, 5273, 5274, 7, 71, 2, 2, 5274, 5275, 7, 90, 2, 2, 5275, 5276, 7, 86, 2, 2, 5276, 5277, 7, 71, 2, 2, 5277, 5278, 7, 80, 2, 2, 5278, 5279, 7, 70, 2, 2, 5279, 172, 3, 2, 2, 2, 5280, 5281, 7, 67, 2, 2, 5281, 5282, 7, 87, 2, 2, 5282, 5283, 7, 86, 2, 2, 5283, 5284, 7, 81, 2, 2, 5284, 5285, 7, 97, 2, 2, 5285, 5286, 7, 78, 2, 2, 5286, 5287, 7, 81, 2, 2, 5287, 5288, 7, 73, 2, 2, 5288, 5289, 7, 75, 2, 2, 5289, 5290, 7, 80, 2, 2, 5290, 174, 3, 2, 2, 2, 5291, 5292, 7, 67, 2, 2, 5292, 5293, 7, 87, 2, 2, 5293, 5294, 7, 86, 2, 2, 5294, 5295, 7, 81, 2, 2, 5295, 5296, 7, 79, 2, 2, 5296, 5297, 7, 67, 2, 2, 5297, 5298, 7, 86, 2, 2, 5298, 5299, 7, 75, 2, 2, 5299, 5300, 7, 69, 2, 2, 5300, 176, 3, 2, 2, 2, 5301, 5302, 7, 67, 2, 2, 5302, 5303, 7, 87, 2, 2, 5303, 5304, 7, 86, 2, 2, 5304, 5305, 7, 81, 2, 2, 5305, 5306, 7, 80, 2, 2, 5306, 5307, 7, 81, 2, 2, 5307, 5308, 7, 79, 2, 2, 5308, 5309, 7, 81, 2, 2, 5309, 5310, 7, 87, 2, 2, 5310, 5311, 7, 85, 2, 2, 5311, 5312, 7, 97, 2, 2, 5312, 5313, 7, 86, 2, 2, 5313, 5314, 7, 84, 2, 2, 5314, 5315, 7, 67, 2, 2, 5315, 5316, 7, 80, 2, 2, 5316, 5317, 7, 85, 2, 2, 5317, 5318, 7, 67, 2, 2, 5318, 5319, 7, 69, 2, 2, 5319, 5320, 7, 86, 2, 2, 5320, 5321, 7, 75, 2, 2, 5321, 5322, 7, 81, 2, 2, 5322, 5323, 7, 80, 2, 2, 5323, 178, 3, 2, 2, 2, 5324, 5325, 7, 67, 2, 2, 5325, 5326, 7, 87, 2, 2, 5326, 5327, 7, 86, 2, 2, 5327, 5328, 7, 81, 2, 2, 5328, 5329, 7, 97, 2, 2, 5329, 5330, 7, 84, 2, 2, 5330, 5331, 7, 71, 2, 2, 5331, 5332, 7, 81, 2, 2, 5332, 5333, 7, 82, 2, 2, 5333, 5334, 7, 86, 2, 2, 5334, 5335, 7, 75, 2, 2, 5335, 5336, 7, 79, 2, 2, 5336, 5337, 7, 75, 2, 2, 5337, 5338, 7, 92, 2, 2, 5338, 5339, 7, 71, 2, 2, 5339, 180, 3, 2, 2, 2, 5340, 5341, 7, 67, 2, 2, 5341, 5342, 7, 88, 2, 2, 5342, 5343, 7, 67, 2, 2, 5343, 5344, 7, 75, 2, 2, 5344, 5345, 7, 78, 2, 2, 5345, 5346, 7, 67, 2, 2, 5346, 5347, 7, 68, 2, 2, 5347, 5348, 7, 75, 2, 2, 5348, 5349, 7, 78, 2, 2, 5349, 5350, 7, 75, 2, 2, 5350, 5351, 7, 86, 2, 2, 5351, 5352, 7, 91, 2, 2, 5352, 182, 3, 2, 2, 2, 5353, 5354, 7, 67, 2, 2, 5354, 5355, 7, 88, 2, 2, 5355, 5356, 7, 84, 2, 2, 5356, 5357, 7, 81, 2, 2, 5357, 184, 3, 2, 2, 2, 5358, 5359, 7, 68, 2, 2, 5359, 5360, 7, 67, 2, 2, 5360, 5361, 7, 69, 2, 2, 5361, 5362, 7, 77, 2, 2, 5362, 5363, 7, 73, 2, 2, 5363, 5364, 7, 84, 2, 2, 5364, 5365, 7, 81, 2, 2, 5365, 5366, 7, 87, 2, 2, 5366, 5367, 7, 80, 2, 2, 5367, 5368, 7, 70, 2, 2, 5368, 186, 3, 2, 2, 2, 5369, 5370, 7, 68, 2, 2, 5370, 5371, 7, 67, 2, 2, 5371, 5372, 7, 69, 2, 2, 5372, 5373, 7, 77, 2, 2, 5373, 5374, 7, 87, 2, 2, 5374, 5375, 7, 82, 2, 2, 5375, 188, 3, 2, 2, 2, 5376, 5377, 7, 68, 2, 2, 5377, 5378, 7, 67, 2, 2, 5378, 5379, 7, 69, 2, 2, 5379, 5380, 7, 77, 2, 2, 5380, 5381, 7, 87, 2, 2, 5381, 5382, 7, 82, 2, 2, 5382, 5383, 7, 85, 2, 2, 5383, 5384, 7, 71, 2, 2, 5384, 5385, 7, 86, 2, 2, 5385, 190, 3, 2, 2, 2, 5386, 5387, 7, 68, 2, 2, 5387, 5388, 7, 67, 2, 2, 5388, 5389, 7, 85, 2, 2, 5389, 5390, 7, 75, 2, 2, 5390, 5391, 7, 69, 2, 2, 5391, 192, 3, 2, 2, 2, 5392, 5393, 7, 68, 2, 2, 5393, 5394, 7, 67, 2, 2, 5394, 5395, 7, 85, 2, 2, 5395, 5396, 7, 75, 2, 2, 5396, 5397, 7, 69, 2, 2, 5397, 5398, 7, 72, 2, 2, 5398, 5399, 7, 75, 2, 2, 5399, 5400, 7, 78, 2, 2, 5400, 5401, 7, 71, 2, 2, 5401, 194, 3, 2, 2, 2, 5402, 5403, 7, 68, 2, 2, 5403, 5404, 7, 67, 2, 2, 5404, 5405, 7, 86, 2, 2, 5405, 5406, 7, 69, 2, 2, 5406, 5407, 7, 74, 2, 2, 5407, 196, 3, 2, 2, 2, 5408, 5409, 7, 68, 2, 2, 5409, 5410, 7, 67, 2, 2, 5410, 5411, 7, 86, 2, 2, 5411, 5412, 7, 69, 2, 2, 5412, 5413, 7, 74, 2, 2, 5413, 5414, 7, 85, 2, 2, 5414, 5415, 7, 75, 2, 2, 5415, 5416, 7, 92, 2, 2, 5416, 5417, 7, 71, 2, 2, 5417, 198, 3, 2, 2, 2, 5418, 5419, 7, 68, 2, 2, 5419, 5420, 7, 67, 2, 2, 5420, 5421, 7, 86, 2, 2, 5421, 5422, 7, 69, 2, 2, 5422, 5423, 7, 74, 2, 2, 5423, 5424, 7, 97, 2, 2, 5424, 5425, 7, 86, 2, 2, 5425, 5426, 7, 67, 2, 2, 5426, 5427, 7, 68, 2, 2, 5427, 5428, 7, 78, 2, 2, 5428, 5429, 7, 71, 2, 2, 5429, 5430, 7, 97, 2, 2, 5430, 5431, 7, 67, 2, 2, 5431, 5432, 7, 69, 2, 2, 5432, 5433, 7, 69, 2, 2, 5433, 5434, 7, 71, 2, 2, 5434, 5435, 7, 85, 2, 2, 5435, 5436, 7, 85, 2, 2, 5436, 5437, 7, 97, 2, 2, 5437, 5438, 7, 68, 2, 2, 5438, 5439, 7, 91, 2, 2, 5439, 5440, 7, 97, 2, 2, 5440, 5441, 7, 84, 2, 2, 5441, 5442, 7, 81, 2, 2, 5442, 5443, 7, 89, 2, 2, 5443, 5444, 7, 75, 2, 2, 5444, 5445, 7, 70, 2, 2, 5445, 200, 3, 2, 2, 2, 5446, 5447, 7, 68, 2, 2, 5447, 5448, 7, 71, 2, 2, 5448, 5449, 7, 69, 2, 2, 5449, 5450, 7, 81, 2, 2, 5450, 5451, 7, 79, 2, 2, 5451, 5452, 7, 71, 2, 2, 5452, 202, 3, 2, 2, 2, 5453, 5454, 7, 68, 2, 2, 5454, 5455, 7, 71, 2, 2, 5455, 5456, 7, 72, 2, 2, 5456, 5457, 7, 81, 2, 2, 5457, 5458, 7, 84, 2, 2, 5458, 5459, 7, 71, 2, 2, 5459, 204, 3, 2, 2, 2, 5460, 5461, 7, 68, 2, 2, 5461, 5462, 7, 71, 2, 2, 5462, 5463, 7, 73, 2, 2, 5463, 5464, 7, 75, 2, 2, 5464, 5465, 7, 80, 2, 2, 5465, 206, 3, 2, 2, 2, 5466, 5467, 7, 68, 2, 2, 5467, 5468, 7, 71, 2, 2, 5468, 5469, 7, 73, 2, 2, 5469, 5470, 7, 75, 2, 2, 5470, 5471, 7, 80, 2, 2, 5471, 5472, 7, 80, 2, 2, 5472, 5473, 7, 75, 2, 2, 5473, 5474, 7, 80, 2, 2, 5474, 5475, 7, 73, 2, 2, 5475, 208, 3, 2, 2, 2, 5476, 5477, 7, 68, 2, 2, 5477, 5478, 7, 71, 2, 2, 5478, 5479, 7, 73, 2, 2, 5479, 5480, 7, 75, 2, 2, 5480, 5481, 7, 80, 2, 2, 5481, 5482, 7, 97, 2, 2, 5482, 5483, 7, 81, 2, 2, 5483, 5484, 7, 87, 2, 2, 5484, 5485, 7, 86, 2, 2, 5485, 5486, 7, 78, 2, 2, 5486, 5487, 7, 75, 2, 2, 5487, 5488, 7, 80, 2, 2, 5488, 5489, 7, 71, 2, 2, 5489, 5490, 7, 97, 2, 2, 5490, 5491, 7, 70, 2, 2, 5491, 5492, 7, 67, 2, 2, 5492, 5493, 7, 86, 2, 2, 5493, 5494, 7, 67, 2, 2, 5494, 210, 3, 2, 2, 2, 5495, 5496, 7, 68, 2, 2, 5496, 5497, 7, 71, 2, 2, 5497, 5498, 7, 74, 2, 2, 5498, 5499, 7, 67, 2, 2, 5499, 5500, 7, 78, 2, 2, 5500, 5501, 7, 72, 2, 2, 5501, 212, 3, 2, 2, 2, 5502, 5503, 7, 68, 2, 2, 5503, 5504, 7, 71, 2, 2, 5504, 5505, 7, 83, 2, 2, 5505, 5506, 7, 87, 2, 2, 5506, 5507, 7, 71, 2, 2, 5507, 5508, 7, 67, 2, 2, 5508, 5509, 7, 86, 2, 2, 5509, 5510, 7, 74, 2, 2, 5510, 214, 3, 2, 2, 2, 5511, 5512, 7, 68, 2, 2, 5512, 5513, 7, 71, 2, 2, 5513, 5514, 7, 86, 2, 2, 5514, 5515, 7, 89, 2, 2, 5515, 5516, 7, 71, 2, 2, 5516, 5517, 7, 71, 2, 2, 5517, 5518, 7, 80, 2, 2, 5518, 216, 3, 2, 2, 2, 5519, 5520, 7, 68, 2, 2, 5520, 5521, 7, 72, 2, 2, 5521, 5522, 7, 75, 2, 2, 5522, 5523, 7, 78, 2, 2, 5523, 5524, 7, 71, 2, 2, 5524, 218, 3, 2, 2, 2, 5525, 5526, 7, 68, 2, 2, 5526, 5527, 7, 72, 2, 2, 5527, 5528, 7, 75, 2, 2, 5528, 5529, 7, 78, 2, 2, 5529, 5530, 7, 71, 2, 2, 5530, 5531, 7, 80, 2, 2, 5531, 5532, 7, 67, 2, 2, 5532, 5533, 7, 79, 2, 2, 5533, 5534, 7, 71, 2, 2, 5534, 220, 3, 2, 2, 2, 5535, 5536, 7, 68, 2, 2, 5536, 5537, 7, 75, 2, 2, 5537, 5538, 7, 73, 2, 2, 5538, 5539, 7, 72, 2, 2, 5539, 5540, 7, 75, 2, 2, 5540, 5541, 7, 78, 2, 2, 5541, 5542, 7, 71, 2, 2, 5542, 222, 3, 2, 2, 2, 5543, 5544, 7, 68, 2, 2, 5544, 5545, 7, 75, 2, 2, 5545, 5546, 7, 80, 2, 2, 5546, 5547, 7, 67, 2, 2, 5547, 5548, 7, 84, 2, 2, 5548, 5549, 7, 91, 2, 2, 5549, 224, 3, 2, 2, 2, 5550, 5551, 7, 68, 2, 2, 5551, 5552, 7, 75, 2, 2, 5552, 5553, 7, 80, 2, 2, 5553, 5554, 7, 67, 2, 2, 5554, 5555, 7, 84, 2, 2, 5555, 5556, 7, 91, 2, 2, 5556, 5557, 7, 97, 2, 2, 5557, 5558, 7, 70, 2, 2, 5558, 5559, 7, 81, 2, 2, 5559, 5560, 7, 87, 2, 2, 5560, 5561, 7, 68, 2, 2, 5561, 5562, 7, 78, 2, 2, 5562, 5563, 7, 71, 2, 2, 5563, 226, 3, 2, 2, 2, 5564, 5565, 7, 68, 2, 2, 5565, 5566, 7, 75, 2, 2, 5566, 5567, 7, 80, 2, 2, 5567, 5568, 7, 67, 2, 2, 5568, 5569, 7, 84, 2, 2, 5569, 5570, 7, 91, 2, 2, 5570, 5571, 7, 97, 2, 2, 5571, 5572, 7, 70, 2, 2, 5572, 5573, 7, 81, 2, 2, 5573, 5574, 7, 87, 2, 2, 5574, 5575, 7, 68, 2, 2, 5575, 5576, 7, 78, 2, 2, 5576, 5577, 7, 71, 2, 2, 5577, 5578, 7, 97, 2, 2, 5578, 5579, 7, 75, 2, 2, 5579, 5580, 7, 80, 2, 2, 5580, 5581, 7, 72, 2, 2, 5581, 5582, 7, 75, 2, 2, 5582, 5583, 7, 80, 2, 2, 5583, 5584, 7, 75, 2, 2, 5584, 5585, 7, 86, 2, 2, 5585, 5586, 7, 91, 2, 2, 5586, 228, 3, 2, 2, 2, 5587, 5588, 7, 68, 2, 2, 5588, 5589, 7, 75, 2, 2, 5589, 5590, 7, 80, 2, 2, 5590, 5591, 7, 67, 2, 2, 5591, 5592, 7, 84, 2, 2, 5592, 5593, 7, 91, 2, 2, 5593, 5594, 7, 97, 2, 2, 5594, 5595, 7, 70, 2, 2, 5595, 5596, 7, 81, 2, 2, 5596, 5597, 7, 87, 2, 2, 5597, 5598, 7, 68, 2, 2, 5598, 5599, 7, 78, 2, 2, 5599, 5600, 7, 71, 2, 2, 5600, 5601, 7, 97, 2, 2, 5601, 5602, 7, 80, 2, 2, 5602, 5603, 7, 67, 2, 2, 5603, 5604, 7, 80, 2, 2, 5604, 230, 3, 2, 2, 2, 5605, 5606, 7, 68, 2, 2, 5606, 5607, 7, 75, 2, 2, 5607, 5608, 7, 80, 2, 2, 5608, 5609, 7, 67, 2, 2, 5609, 5610, 7, 84, 2, 2, 5610, 5611, 7, 91, 2, 2, 5611, 5612, 7, 97, 2, 2, 5612, 5613, 7, 72, 2, 2, 5613, 5614, 7, 78, 2, 2, 5614, 5615, 7, 81, 2, 2, 5615, 5616, 7, 67, 2, 2, 5616, 5617, 7, 86, 2, 2, 5617, 232, 3, 2, 2, 2, 5618, 5619, 7, 68, 2, 2, 5619, 5620, 7, 75, 2, 2, 5620, 5621, 7, 80, 2, 2, 5621, 5622, 7, 67, 2, 2, 5622, 5623, 7, 84, 2, 2, 5623, 5624, 7, 91, 2, 2, 5624, 5625, 7, 97, 2, 2, 5625, 5626, 7, 72, 2, 2, 5626, 5627, 7, 78, 2, 2, 5627, 5628, 7, 81, 2, 2, 5628, 5629, 7, 67, 2, 2, 5629, 5630, 7, 86, 2, 2, 5630, 5631, 7, 97, 2, 2, 5631, 5632, 7, 75, 2, 2, 5632, 5633, 7, 80, 2, 2, 5633, 5634, 7, 72, 2, 2, 5634, 5635, 7, 75, 2, 2, 5635, 5636, 7, 80, 2, 2, 5636, 5637, 7, 75, 2, 2, 5637, 5638, 7, 86, 2, 2, 5638, 5639, 7, 91, 2, 2, 5639, 234, 3, 2, 2, 2, 5640, 5641, 7, 68, 2, 2, 5641, 5642, 7, 75, 2, 2, 5642, 5643, 7, 80, 2, 2, 5643, 5644, 7, 67, 2, 2, 5644, 5645, 7, 84, 2, 2, 5645, 5646, 7, 91, 2, 2, 5646, 5647, 7, 97, 2, 2, 5647, 5648, 7, 72, 2, 2, 5648, 5649, 7, 78, 2, 2, 5649, 5650, 7, 81, 2, 2, 5650, 5651, 7, 67, 2, 2, 5651, 5652, 7, 86, 2, 2, 5652, 5653, 7, 97, 2, 2, 5653, 5654, 7, 80, 2, 2, 5654, 5655, 7, 67, 2, 2, 5655, 5656, 7, 80, 2, 2, 5656, 236, 3, 2, 2, 2, 5657, 5658, 7, 68, 2, 2, 5658, 5659, 7, 75, 2, 2, 5659, 5660, 7, 80, 2, 2, 5660, 5661, 7, 67, 2, 2, 5661, 5662, 7, 84, 2, 2, 5662, 5663, 7, 91, 2, 2, 5663, 5664, 7, 97, 2, 2, 5664, 5665, 7, 75, 2, 2, 5665, 5666, 7, 80, 2, 2, 5666, 5667, 7, 86, 2, 2, 5667, 5668, 7, 71, 2, 2, 5668, 5669, 7, 73, 2, 2, 5669, 5670, 7, 71, 2, 2, 5670, 5671, 7, 84, 2, 2, 5671, 238, 3, 2, 2, 2, 5672, 5673, 7, 68, 2, 2, 5673, 5674, 7, 75, 2, 2, 5674, 5675, 7, 80, 2, 2, 5675, 5676, 7, 70, 2, 2, 5676, 5677, 7, 97, 2, 2, 5677, 5678, 7, 67, 2, 2, 5678, 5679, 7, 89, 2, 2, 5679, 5680, 7, 67, 2, 2, 5680, 5681, 7, 84, 2, 2, 5681, 5682, 7, 71, 2, 2, 5682, 240, 3, 2, 2, 2, 5683, 5684, 7, 68, 2, 2, 5684, 5685, 7, 75, 2, 2, 5685, 5686, 7, 80, 2, 2, 5686, 5687, 7, 70, 2, 2, 5687, 5688, 7, 75, 2, 2, 5688, 5689, 7, 80, 2, 2, 5689, 5690, 7, 73, 2, 2, 5690, 242, 3, 2, 2, 2, 5691, 5692, 7, 68, 2, 2, 5692, 5693, 7, 75, 2, 2, 5693, 5694, 7, 80, 2, 2, 5694, 5695, 7, 97, 2, 2, 5695, 5696, 7, 86, 2, 2, 5696, 5697, 7, 81, 2, 2, 5697, 5698, 7, 97, 2, 2, 5698, 5699, 7, 80, 2, 2, 5699, 5700, 7, 87, 2, 2, 5700, 5701, 7, 79, 2, 2, 5701, 244, 3, 2, 2, 2, 5702, 5703, 7, 68, 2, 2, 5703, 5704, 7, 75, 2, 2, 5704, 5705, 7, 86, 2, 2, 5705, 5706, 7, 67, 2, 2, 5706, 5707, 7, 80, 2, 2, 5707, 5708, 7, 70, 2, 2, 5708, 246, 3, 2, 2, 2, 5709, 5710, 7, 68, 2, 2, 5710, 5711, 7, 75, 2, 2, 5711, 5712, 7, 86, 2, 2, 5712, 5713, 7, 79, 2, 2, 5713, 5714, 7, 67, 2, 2, 5714, 5715, 7, 82, 2, 2, 5715, 5716, 7, 97, 2, 2, 5716, 5717, 7, 67, 2, 2, 5717, 5718, 7, 80, 2, 2, 5718, 5719, 7, 70, 2, 2, 5719, 248, 3, 2, 2, 2, 5720, 5721, 7, 68, 2, 2, 5721, 5722, 7, 75, 2, 2, 5722, 5723, 7, 86, 2, 2, 5723, 5724, 7, 79, 2, 2, 5724, 5725, 7, 67, 2, 2, 5725, 5726, 7, 82, 2, 2, 5726, 250, 3, 2, 2, 2, 5727, 5728, 7, 68, 2, 2, 5728, 5729, 7, 75, 2, 2, 5729, 5730, 7, 86, 2, 2, 5730, 5731, 7, 79, 2, 2, 5731, 5732, 7, 67, 2, 2, 5732, 5733, 7, 82, 2, 2, 5733, 5734, 7, 85, 2, 2, 5734, 252, 3, 2, 2, 2, 5735, 5736, 7, 68, 2, 2, 5736, 5737, 7, 75, 2, 2, 5737, 5738, 7, 86, 2, 2, 5738, 5739, 7, 79, 2, 2, 5739, 5740, 7, 67, 2, 2, 5740, 5741, 7, 82, 2, 2, 5741, 5742, 7, 97, 2, 2, 5742, 5743, 7, 86, 2, 2, 5743, 5744, 7, 84, 2, 2, 5744, 5745, 7, 71, 2, 2, 5745, 5746, 7, 71, 2, 2, 5746, 254, 3, 2, 2, 2, 5747, 5748, 7, 68, 2, 2, 5748, 5749, 7, 75, 2, 2, 5749, 5750, 7, 86, 2, 2, 5750, 5751, 7, 85, 2, 2, 5751, 256, 3, 2, 2, 2, 5752, 5753, 7, 68, 2, 2, 5753, 5754, 7, 78, 2, 2, 5754, 5755, 7, 81, 2, 2, 5755, 5756, 7, 68, 2, 2, 5756, 258, 3, 2, 2, 2, 5757, 5758, 7, 68, 2, 2, 5758, 5759, 7, 78, 2, 2, 5759, 5760, 7, 81, 2, 2, 5760, 5761, 7, 69, 2, 2, 5761, 5762, 7, 77, 2, 2, 5762, 260, 3, 2, 2, 2, 5763, 5764, 7, 68, 2, 2, 5764, 5765, 7, 78, 2, 2, 5765, 5766, 7, 81, 2, 2, 5766, 5767, 7, 69, 2, 2, 5767, 5768, 7, 77, 2, 2, 5768, 5769, 7, 97, 2, 2, 5769, 5770, 7, 84, 2, 2, 5770, 5771, 7, 67, 2, 2, 5771, 5772, 7, 80, 2, 2, 5772, 5773, 7, 73, 2, 2, 5773, 5774, 7, 71, 2, 2, 5774, 262, 3, 2, 2, 2, 5775, 5776, 7, 68, 2, 2, 5776, 5777, 7, 78, 2, 2, 5777, 5778, 7, 81, 2, 2, 5778, 5779, 7, 69, 2, 2, 5779, 5780, 7, 77, 2, 2, 5780, 5781, 7, 85, 2, 2, 5781, 264, 3, 2, 2, 2, 5782, 5783, 7, 68, 2, 2, 5783, 5784, 7, 78, 2, 2, 5784, 5785, 7, 81, 2, 2, 5785, 5786, 7, 69, 2, 2, 5786, 5787, 7, 77, 2, 2, 5787, 5788, 7, 85, 2, 2, 5788, 5789, 7, 75, 2, 2, 5789, 5790, 7, 92, 2, 2, 5790, 5791, 7, 71, 2, 2, 5791, 266, 3, 2, 2, 2, 5792, 5793, 7, 68, 2, 2, 5793, 5794, 7, 81, 2, 2, 5794, 5795, 7, 70, 2, 2, 5795, 5796, 7, 91, 2, 2, 5796, 268, 3, 2, 2, 2, 5797, 5798, 7, 68, 2, 2, 5798, 5799, 7, 81, 2, 2, 5799, 5800, 7, 81, 2, 2, 5800, 5801, 7, 78, 2, 2, 5801, 5802, 7, 71, 2, 2, 5802, 5803, 7, 67, 2, 2, 5803, 5804, 7, 80, 2, 2, 5804, 270, 3, 2, 2, 2, 5805, 5806, 7, 68, 2, 2, 5806, 5807, 7, 81, 2, 2, 5807, 5808, 7, 86, 2, 2, 5808, 5809, 7, 74, 2, 2, 5809, 272, 3, 2, 2, 2, 5810, 5811, 7, 68, 2, 2, 5811, 5812, 7, 81, 2, 2, 5812, 5813, 7, 87, 2, 2, 5813, 5814, 7, 80, 2, 2, 5814, 5815, 7, 70, 2, 2, 5815, 274, 3, 2, 2, 2, 5816, 5817, 7, 68, 2, 2, 5817, 5818, 7, 84, 2, 2, 5818, 5819, 7, 67, 2, 2, 5819, 5820, 7, 80, 2, 2, 5820, 5821, 7, 69, 2, 2, 5821, 5822, 7, 74, 2, 2, 5822, 276, 3, 2, 2, 2, 5823, 5824, 7, 68, 2, 2, 5824, 5825, 7, 84, 2, 2, 5825, 5826, 7, 71, 2, 2, 5826, 5827, 7, 67, 2, 2, 5827, 5828, 7, 70, 2, 2, 5828, 5829, 7, 86, 2, 2, 5829, 5830, 7, 74, 2, 2, 5830, 278, 3, 2, 2, 2, 5831, 5832, 7, 68, 2, 2, 5832, 5833, 7, 84, 2, 2, 5833, 5834, 7, 81, 2, 2, 5834, 5835, 7, 67, 2, 2, 5835, 5836, 7, 70, 2, 2, 5836, 5837, 7, 69, 2, 2, 5837, 5838, 7, 67, 2, 2, 5838, 5839, 7, 85, 2, 2, 5839, 5840, 7, 86, 2, 2, 5840, 280, 3, 2, 2, 2, 5841, 5842, 7, 68, 2, 2, 5842, 5843, 7, 85, 2, 2, 5843, 5844, 7, 81, 2, 2, 5844, 5845, 7, 80, 2, 2, 5845, 282, 3, 2, 2, 2, 5846, 5847, 7, 68, 2, 2, 5847, 5848, 7, 87, 2, 2, 5848, 5849, 7, 72, 2, 2, 5849, 5850, 7, 72, 2, 2, 5850, 5851, 7, 71, 2, 2, 5851, 5852, 7, 84, 2, 2, 5852, 284, 3, 2, 2, 2, 5853, 5854, 7, 68, 2, 2, 5854, 5855, 7, 87, 2, 2, 5855, 5856, 7, 72, 2, 2, 5856, 5857, 7, 72, 2, 2, 5857, 5858, 7, 71, 2, 2, 5858, 5859, 7, 84, 2, 2, 5859, 5860, 7, 97, 2, 2, 5860, 5861, 7, 69, 2, 2, 5861, 5862, 7, 67, 2, 2, 5862, 5863, 7, 69, 2, 2, 5863, 5864, 7, 74, 2, 2, 5864, 5865, 7, 71, 2, 2, 5865, 286, 3, 2, 2, 2, 5866, 5867, 7, 68, 2, 2, 5867, 5868, 7, 87, 2, 2, 5868, 5869, 7, 72, 2, 2, 5869, 5870, 7, 72, 2, 2, 5870, 5871, 7, 71, 2, 2, 5871, 5872, 7, 84, 2, 2, 5872, 5873, 7, 97, 2, 2, 5873, 5874, 7, 82, 2, 2, 5874, 5875, 7, 81, 2, 2, 5875, 5876, 7, 81, 2, 2, 5876, 5877, 7, 78, 2, 2, 5877, 288, 3, 2, 2, 2, 5878, 5879, 7, 68, 2, 2, 5879, 5880, 7, 87, 2, 2, 5880, 5881, 7, 75, 2, 2, 5881, 5882, 7, 78, 2, 2, 5882, 5883, 7, 70, 2, 2, 5883, 290, 3, 2, 2, 2, 5884, 5885, 7, 68, 2, 2, 5885, 5886, 7, 87, 2, 2, 5886, 5887, 7, 78, 2, 2, 5887, 5888, 7, 77, 2, 2, 5888, 292, 3, 2, 2, 2, 5889, 5890, 7, 68, 2, 2, 5890, 5891, 7, 91, 2, 2, 5891, 294, 3, 2, 2, 2, 5892, 5893, 7, 68, 2, 2, 5893, 5894, 7, 91, 2, 2, 5894, 5895, 7, 82, 2, 2, 5895, 5896, 7, 67, 2, 2, 5896, 5897, 7, 85, 2, 2, 5897, 5898, 7, 85, 2, 2, 5898, 5899, 7, 97, 2, 2, 5899, 5900, 7, 84, 2, 2, 5900, 5901, 7, 71, 2, 2, 5901, 5902, 7, 69, 2, 2, 5902, 5903, 7, 87, 2, 2, 5903, 5904, 7, 84, 2, 2, 5904, 5905, 7, 85, 2, 2, 5905, 5906, 7, 75, 2, 2, 5906, 5907, 7, 88, 2, 2, 5907, 5908, 7, 71, 2, 2, 5908, 5909, 7, 97, 2, 2, 5909, 5910, 7, 69, 2, 2, 5910, 5911, 7, 74, 2, 2, 5911, 5912, 7, 71, 2, 2, 5912, 5913, 7, 69, 2, 2, 5913, 5914, 7, 77, 2, 2, 5914, 296, 3, 2, 2, 2, 5915, 5916, 7, 68, 2, 2, 5916, 5917, 7, 91, 2, 2, 5917, 5918, 7, 82, 2, 2, 5918, 5919, 7, 67, 2, 2, 5919, 5920, 7, 85, 2, 2, 5920, 5921, 7, 85, 2, 2, 5921, 5922, 7, 97, 2, 2, 5922, 5923, 7, 87, 2, 2, 5923, 5924, 7, 76, 2, 2, 5924, 5925, 7, 88, 2, 2, 5925, 5926, 7, 69, 2, 2, 5926, 298, 3, 2, 2, 2, 5927, 5928, 7, 68, 2, 2, 5928, 5929, 7, 91, 2, 2, 5929, 5930, 7, 86, 2, 2, 5930, 5931, 7, 71, 2, 2, 5931, 300, 3, 2, 2, 2, 5932, 5933, 7, 69, 2, 2, 5933, 5934, 7, 67, 2, 2, 5934, 5935, 7, 69, 2, 2, 5935, 5936, 7, 74, 2, 2, 5936, 5937, 7, 71, 2, 2, 5937, 302, 3, 2, 2, 2, 5938, 5939, 7, 69, 2, 2, 5939, 5940, 7, 67, 2, 2, 5940, 5941, 7, 69, 2, 2, 5941, 5942, 7, 74, 2, 2, 5942, 5943, 7, 71, 2, 2, 5943, 5944, 7, 97, 2, 2, 5944, 5945, 7, 69, 2, 2, 5945, 5946, 7, 68, 2, 2, 5946, 304, 3, 2, 2, 2, 5947, 5948, 7, 69, 2, 2, 5948, 5949, 7, 67, 2, 2, 5949, 5950, 7, 69, 2, 2, 5950, 5951, 7, 74, 2, 2, 5951, 5952, 7, 71, 2, 2, 5952, 5953, 7, 97, 2, 2, 5953, 5954, 7, 75, 2, 2, 5954, 5955, 7, 80, 2, 2, 5955, 5956, 7, 85, 2, 2, 5956, 5957, 7, 86, 2, 2, 5957, 5958, 7, 67, 2, 2, 5958, 5959, 7, 80, 2, 2, 5959, 5960, 7, 69, 2, 2, 5960, 5961, 7, 71, 2, 2, 5961, 5962, 7, 85, 2, 2, 5962, 306, 3, 2, 2, 2, 5963, 5964, 7, 69, 2, 2, 5964, 5965, 7, 67, 2, 2, 5965, 5966, 7, 69, 2, 2, 5966, 5967, 7, 74, 2, 2, 5967, 5968, 7, 71, 2, 2, 5968, 5969, 7, 97, 2, 2, 5969, 5970, 7, 86, 2, 2, 5970, 5971, 7, 71, 2, 2, 5971, 5972, 7, 79, 2, 2, 5972, 5973, 7, 82, 2, 2, 5973, 5974, 7, 97, 2, 2, 5974, 5975, 7, 86, 2, 2, 5975, 5976, 7, 67, 2, 2, 5976, 5977, 7, 68, 2, 2, 5977, 5978, 7, 78, 2, 2, 5978, 5979, 7, 71, 2, 2, 5979, 308, 3, 2, 2, 2, 5980, 5981, 7, 69, 2, 2, 5981, 5982, 7, 67, 2, 2, 5982, 5983, 7, 69, 2, 2, 5983, 5984, 7, 74, 2, 2, 5984, 5985, 7, 75, 2, 2, 5985, 5986, 7, 80, 2, 2, 5986, 5987, 7, 73, 2, 2, 5987, 310, 3, 2, 2, 2, 5988, 5989, 7, 69, 2, 2, 5989, 5990, 7, 67, 2, 2, 5990, 5991, 7, 78, 2, 2, 5991, 5992, 7, 69, 2, 2, 5992, 5993, 7, 87, 2, 2, 5993, 5994, 7, 78, 2, 2, 5994, 5995, 7, 67, 2, 2, 5995, 5996, 7, 86, 2, 2, 5996, 5997, 7, 71, 2, 2, 5997, 5998, 7, 70, 2, 2, 5998, 312, 3, 2, 2, 2, 5999, 6000, 7, 69, 2, 2, 6000, 6001, 7, 67, 2, 2, 6001, 6002, 7, 78, 2, 2, 6002, 6003, 7, 78, 2, 2, 6003, 6004, 7, 68, 2, 2, 6004, 6005, 7, 67, 2, 2, 6005, 6006, 7, 69, 2, 2, 6006, 6007, 7, 77, 2, 2, 6007, 314, 3, 2, 2, 2, 6008, 6009, 7, 69, 2, 2, 6009, 6010, 7, 67, 2, 2, 6010, 6011, 7, 78, 2, 2, 6011, 6012, 7, 78, 2, 2, 6012, 316, 3, 2, 2, 2, 6013, 6014, 7, 69, 2, 2, 6014, 6015, 7, 67, 2, 2, 6015, 6016, 7, 80, 2, 2, 6016, 6017, 7, 69, 2, 2, 6017, 6018, 7, 71, 2, 2, 6018, 6019, 7, 78, 2, 2, 6019, 318, 3, 2, 2, 2, 6020, 6021, 7, 69, 2, 2, 6021, 6022, 7, 67, 2, 2, 6022, 6023, 7, 80, 2, 2, 6023, 6024, 7, 81, 2, 2, 6024, 6025, 7, 80, 2, 2, 6025, 6026, 7, 75, 2, 2, 6026, 6027, 7, 69, 2, 2, 6027, 6028, 7, 67, 2, 2, 6028, 6029, 7, 78, 2, 2, 6029, 320, 3, 2, 2, 2, 6030, 6031, 7, 69, 2, 2, 6031, 6032, 7, 67, 2, 2, 6032, 6033, 7, 82, 2, 2, 6033, 6034, 7, 67, 2, 2, 6034, 6035, 7, 69, 2, 2, 6035, 6036, 7, 75, 2, 2, 6036, 6037, 7, 86, 2, 2, 6037, 6038, 7, 91, 2, 2, 6038, 322, 3, 2, 2, 2, 6039, 6040, 7, 69, 2, 2, 6040, 6041, 7, 67, 2, 2, 6041, 6042, 7, 84, 2, 2, 6042, 6043, 7, 70, 2, 2, 6043, 6044, 7, 75, 2, 2, 6044, 6045, 7, 80, 2, 2, 6045, 6046, 7, 67, 2, 2, 6046, 6047, 7, 78, 2, 2, 6047, 6048, 7, 75, 2, 2, 6048, 6049, 7, 86, 2, 2, 6049, 6050, 7, 91, 2, 2, 6050, 324, 3, 2, 2, 2, 6051, 6052, 7, 69, 2, 2, 6052, 6053, 7, 67, 2, 2, 6053, 6054, 7, 85, 2, 2, 6054, 6055, 7, 69, 2, 2, 6055, 6056, 7, 67, 2, 2, 6056, 6057, 7, 70, 2, 2, 6057, 6058, 7, 71, 2, 2, 6058, 326, 3, 2, 2, 2, 6059, 6060, 7, 69, 2, 2, 6060, 6061, 7, 67, 2, 2, 6061, 6062, 7, 85, 2, 2, 6062, 6063, 7, 71, 2, 2, 6063, 328, 3, 2, 2, 2, 6064, 6065, 7, 69, 2, 2, 6065, 6066, 7, 67, 2, 2, 6066, 6067, 7, 85, 2, 2, 6067, 6068, 7, 86, 2, 2, 6068, 330, 3, 2, 2, 2, 6069, 6070, 7, 69, 2, 2, 6070, 6071, 7, 67, 2, 2, 6071, 6072, 7, 86, 2, 2, 6072, 6073, 7, 71, 2, 2, 6073, 6074, 7, 73, 2, 2, 6074, 6075, 7, 81, 2, 2, 6075, 6076, 7, 84, 2, 2, 6076, 6077, 7, 91, 2, 2, 6077, 332, 3, 2, 2, 2, 6078, 6079, 7, 69, 2, 2, 6079, 6080, 7, 70, 2, 2, 6080, 6081, 7, 68, 2, 2, 6081, 6082, 7, 38, 2, 2, 6082, 6083, 7, 70, 2, 2, 6083, 6084, 7, 71, 2, 2, 6084, 6085, 7, 72, 2, 2, 6085, 6086, 7, 67, 2, 2, 6086, 6087, 7, 87, 2, 2, 6087, 6088, 7, 78, 2, 2, 6088, 6089, 7, 86, 2, 2, 6089, 334, 3, 2, 2, 2, 6090, 6091, 7, 69, 2, 2, 6091, 6092, 7, 71, 2, 2, 6092, 6093, 7, 75, 2, 2, 6093, 6094, 7, 78, 2, 2, 6094, 336, 3, 2, 2, 2, 6095, 6096, 7, 69, 2, 2, 6096, 6097, 7, 71, 2, 2, 6097, 6098, 7, 78, 2, 2, 6098, 6099, 7, 78, 2, 2, 6099, 6100, 7, 97, 2, 2, 6100, 6101, 7, 72, 2, 2, 6101, 6102, 7, 78, 2, 2, 6102, 6103, 7, 67, 2, 2, 6103, 6104, 7, 85, 2, 2, 6104, 6105, 7, 74, 2, 2, 6105, 6106, 7, 97, 2, 2, 6106, 6107, 7, 69, 2, 2, 6107, 6108, 7, 67, 2, 2, 6108, 6109, 7, 69, 2, 2, 6109, 6110, 7, 74, 2, 2, 6110, 6111, 7, 71, 2, 2, 6111, 338, 3, 2, 2, 2, 6112, 6113, 7, 69, 2, 2, 6113, 6114, 7, 71, 2, 2, 6114, 6115, 7, 84, 2, 2, 6115, 6116, 7, 86, 2, 2, 6116, 6117, 7, 75, 2, 2, 6117, 6118, 7, 72, 2, 2, 6118, 6119, 7, 75, 2, 2, 6119, 6120, 7, 69, 2, 2, 6120, 6121, 7, 67, 2, 2, 6121, 6122, 7, 86, 2, 2, 6122, 6123, 7, 71, 2, 2, 6123, 340, 3, 2, 2, 2, 6124, 6125, 7, 69, 2, 2, 6125, 6126, 7, 72, 2, 2, 6126, 6127, 7, 75, 2, 2, 6127, 6128, 7, 78, 2, 2, 6128, 6129, 7, 71, 2, 2, 6129, 342, 3, 2, 2, 2, 6130, 6131, 7, 69, 2, 2, 6131, 6132, 7, 74, 2, 2, 6132, 6133, 7, 67, 2, 2, 6133, 6134, 7, 75, 2, 2, 6134, 6135, 7, 80, 2, 2, 6135, 6136, 7, 71, 2, 2, 6136, 6137, 7, 70, 2, 2, 6137, 344, 3, 2, 2, 2, 6138, 6139, 7, 69, 2, 2, 6139, 6140, 7, 74, 2, 2, 6140, 6141, 7, 67, 2, 2, 6141, 6142, 7, 80, 2, 2, 6142, 6143, 7, 73, 2, 2, 6143, 6144, 7, 71, 2, 2, 6144, 346, 3, 2, 2, 2, 6145, 6146, 7, 69, 2, 2, 6146, 6147, 7, 74, 2, 2, 6147, 6148, 7, 67, 2, 2, 6148, 6149, 7, 80, 2, 2, 6149, 6150, 7, 73, 2, 2, 6150, 6151, 7, 71, 2, 2, 6151, 6152, 7, 86, 2, 2, 6152, 6153, 7, 84, 2, 2, 6153, 6154, 7, 67, 2, 2, 6154, 6155, 7, 69, 2, 2, 6155, 6156, 7, 77, 2, 2, 6156, 6157, 7, 75, 2, 2, 6157, 6158, 7, 80, 2, 2, 6158, 6159, 7, 73, 2, 2, 6159, 348, 3, 2, 2, 2, 6160, 6161, 7, 69, 2, 2, 6161, 6162, 7, 74, 2, 2, 6162, 6163, 7, 67, 2, 2, 6163, 6164, 7, 80, 2, 2, 6164, 6165, 7, 73, 2, 2, 6165, 6166, 7, 71, 2, 2, 6166, 6167, 7, 97, 2, 2, 6167, 6168, 7, 70, 2, 2, 6168, 6169, 7, 87, 2, 2, 6169, 6170, 7, 82, 2, 2, 6170, 6171, 7, 77, 2, 2, 6171, 6172, 7, 71, 2, 2, 6172, 6173, 7, 91, 2, 2, 6173, 6174, 7, 97, 2, 2, 6174, 6175, 7, 71, 2, 2, 6175, 6176, 7, 84, 2, 2, 6176, 6177, 7, 84, 2, 2, 6177, 6178, 7, 81, 2, 2, 6178, 6179, 7, 84, 2, 2, 6179, 6180, 7, 97, 2, 2, 6180, 6181, 7, 75, 2, 2, 6181, 6182, 7, 80, 2, 2, 6182, 6183, 7, 70, 2, 2, 6183, 6184, 7, 71, 2, 2, 6184, 6185, 7, 90, 2, 2, 6185, 350, 3, 2, 2, 2, 6186, 6187, 7, 69, 2, 2, 6187, 6188, 7, 74, 2, 2, 6188, 6189, 7, 67, 2, 2, 6189, 6190, 7, 84, 2, 2, 6190, 6191, 7, 67, 2, 2, 6191, 6192, 7, 69, 2, 2, 6192, 6193, 7, 86, 2, 2, 6193, 6194, 7, 71, 2, 2, 6194, 6195, 7, 84, 2, 2, 6195, 352, 3, 2, 2, 2, 6196, 6197, 7, 69, 2, 2, 6197, 6198, 7, 74, 2, 2, 6198, 6199, 7, 67, 2, 2, 6199, 6200, 7, 84, 2, 2, 6200, 354, 3, 2, 2, 2, 6201, 6202, 7, 69, 2, 2, 6202, 6203, 7, 74, 2, 2, 6203, 6204, 7, 67, 2, 2, 6204, 6205, 7, 84, 2, 2, 6205, 6206, 7, 97, 2, 2, 6206, 6207, 7, 69, 2, 2, 6207, 6208, 7, 85, 2, 2, 6208, 356, 3, 2, 2, 2, 6209, 6210, 7, 69, 2, 2, 6210, 6211, 7, 74, 2, 2, 6211, 6212, 7, 67, 2, 2, 6212, 6213, 7, 84, 2, 2, 6213, 6214, 7, 86, 2, 2, 6214, 6215, 7, 81, 2, 2, 6215, 6216, 7, 84, 2, 2, 6216, 6217, 7, 81, 2, 2, 6217, 6218, 7, 89, 2, 2, 6218, 6219, 7, 75, 2, 2, 6219, 6220, 7, 70, 2, 2, 6220, 358, 3, 2, 2, 2, 6221, 6222, 7, 69, 2, 2, 6222, 6223, 7, 74, 2, 2, 6223, 6224, 7, 71, 2, 2, 6224, 6225, 7, 69, 2, 2, 6225, 6226, 7, 77, 2, 2, 6226, 6227, 7, 97, 2, 2, 6227, 6228, 7, 67, 2, 2, 6228, 6229, 7, 69, 2, 2, 6229, 6230, 7, 78, 2, 2, 6230, 6231, 7, 97, 2, 2, 6231, 6232, 7, 84, 2, 2, 6232, 6233, 7, 71, 2, 2, 6233, 6234, 7, 89, 2, 2, 6234, 6235, 7, 84, 2, 2, 6235, 6236, 7, 75, 2, 2, 6236, 6237, 7, 86, 2, 2, 6237, 6238, 7, 71, 2, 2, 6238, 360, 3, 2, 2, 2, 6239, 6240, 7, 69, 2, 2, 6240, 6241, 7, 74, 2, 2, 6241, 6242, 7, 71, 2, 2, 6242, 6243, 7, 69, 2, 2, 6243, 6244, 7, 77, 2, 2, 6244, 362, 3, 2, 2, 2, 6245, 6246, 7, 69, 2, 2, 6246, 6247, 7, 74, 2, 2, 6247, 6248, 7, 71, 2, 2, 6248, 6249, 7, 69, 2, 2, 6249, 6250, 7, 77, 2, 2, 6250, 6251, 7, 82, 2, 2, 6251, 6252, 7, 81, 2, 2, 6252, 6253, 7, 75, 2, 2, 6253, 6254, 7, 80, 2, 2, 6254, 6255, 7, 86, 2, 2, 6255, 364, 3, 2, 2, 2, 6256, 6257, 7, 69, 2, 2, 6257, 6258, 7, 74, 2, 2, 6258, 6259, 7, 75, 2, 2, 6259, 6260, 7, 78, 2, 2, 6260, 6261, 7, 70, 2, 2, 6261, 366, 3, 2, 2, 2, 6262, 6263, 7, 69, 2, 2, 6263, 6264, 7, 74, 2, 2, 6264, 6265, 7, 81, 2, 2, 6265, 6266, 7, 81, 2, 2, 6266, 6267, 7, 85, 2, 2, 6267, 6268, 7, 71, 2, 2, 6268, 368, 3, 2, 2, 2, 6269, 6270, 7, 69, 2, 2, 6270, 6271, 7, 74, 2, 2, 6271, 6272, 7, 84, 2, 2, 6272, 370, 3, 2, 2, 2, 6273, 6274, 7, 69, 2, 2, 6274, 6275, 7, 74, 2, 2, 6275, 6276, 7, 87, 2, 2, 6276, 6277, 7, 80, 2, 2, 6277, 6278, 7, 77, 2, 2, 6278, 372, 3, 2, 2, 2, 6279, 6280, 7, 69, 2, 2, 6280, 6281, 7, 78, 2, 2, 6281, 6282, 7, 67, 2, 2, 6282, 6283, 7, 85, 2, 2, 6283, 6284, 7, 85, 2, 2, 6284, 374, 3, 2, 2, 2, 6285, 6286, 7, 69, 2, 2, 6286, 6287, 7, 78, 2, 2, 6287, 6288, 7, 67, 2, 2, 6288, 6289, 7, 85, 2, 2, 6289, 6290, 7, 85, 2, 2, 6290, 6291, 7, 75, 2, 2, 6291, 6292, 7, 72, 2, 2, 6292, 6293, 7, 75, 2, 2, 6293, 6294, 7, 71, 2, 2, 6294, 6295, 7, 84, 2, 2, 6295, 376, 3, 2, 2, 2, 6296, 6297, 7, 69, 2, 2, 6297, 6298, 7, 78, 2, 2, 6298, 6299, 7, 71, 2, 2, 6299, 6300, 7, 67, 2, 2, 6300, 6301, 7, 80, 2, 2, 6301, 6302, 7, 87, 2, 2, 6302, 6303, 7, 82, 2, 2, 6303, 378, 3, 2, 2, 2, 6304, 6305, 7, 69, 2, 2, 6305, 6306, 7, 78, 2, 2, 6306, 6307, 7, 71, 2, 2, 6307, 6308, 7, 67, 2, 2, 6308, 6309, 7, 84, 2, 2, 6309, 380, 3, 2, 2, 2, 6310, 6311, 7, 69, 2, 2, 6311, 382, 3, 2, 2, 2, 6312, 6313, 7, 69, 2, 2, 6313, 6314, 7, 78, 2, 2, 6314, 6315, 7, 75, 2, 2, 6315, 6316, 7, 71, 2, 2, 6316, 6317, 7, 80, 2, 2, 6317, 6318, 7, 86, 2, 2, 6318, 384, 3, 2, 2, 2, 6319, 6320, 7, 69, 2, 2, 6320, 6321, 7, 78, 2, 2, 6321, 6322, 7, 81, 2, 2, 6322, 6323, 7, 68, 2, 2, 6323, 386, 3, 2, 2, 2, 6324, 6325, 7, 69, 2, 2, 6325, 6326, 7, 78, 2, 2, 6326, 6327, 7, 81, 2, 2, 6327, 6328, 7, 80, 2, 2, 6328, 6329, 7, 71, 2, 2, 6329, 388, 3, 2, 2, 2, 6330, 6331, 7, 69, 2, 2, 6331, 6332, 7, 78, 2, 2, 6332, 6333, 7, 81, 2, 2, 6333, 6334, 7, 85, 2, 2, 6334, 6335, 7, 71, 2, 2, 6335, 6336, 7, 97, 2, 2, 6336, 6337, 7, 69, 2, 2, 6337, 6338, 7, 67, 2, 2, 6338, 6339, 7, 69, 2, 2, 6339, 6340, 7, 74, 2, 2, 6340, 6341, 7, 71, 2, 2, 6341, 6342, 7, 70, 2, 2, 6342, 6343, 7, 97, 2, 2, 6343, 6344, 7, 81, 2, 2, 6344, 6345, 7, 82, 2, 2, 6345, 6346, 7, 71, 2, 2, 6346, 6347, 7, 80, 2, 2, 6347, 6348, 7, 97, 2, 2, 6348, 6349, 7, 69, 2, 2, 6349, 6350, 7, 87, 2, 2, 6350, 6351, 7, 84, 2, 2, 6351, 6352, 7, 85, 2, 2, 6352, 6353, 7, 81, 2, 2, 6353, 6354, 7, 84, 2, 2, 6354, 6355, 7, 85, 2, 2, 6355, 390, 3, 2, 2, 2, 6356, 6357, 7, 69, 2, 2, 6357, 6358, 7, 78, 2, 2, 6358, 6359, 7, 81, 2, 2, 6359, 6360, 7, 85, 2, 2, 6360, 6361, 7, 71, 2, 2, 6361, 392, 3, 2, 2, 2, 6362, 6363, 7, 69, 2, 2, 6363, 6364, 7, 78, 2, 2, 6364, 6365, 7, 87, 2, 2, 6365, 6366, 7, 85, 2, 2, 6366, 6367, 7, 86, 2, 2, 6367, 6368, 7, 71, 2, 2, 6368, 6369, 7, 84, 2, 2, 6369, 6370, 7, 97, 2, 2, 6370, 6371, 7, 68, 2, 2, 6371, 6372, 7, 91, 2, 2, 6372, 6373, 7, 97, 2, 2, 6373, 6374, 7, 84, 2, 2, 6374, 6375, 7, 81, 2, 2, 6375, 6376, 7, 89, 2, 2, 6376, 6377, 7, 75, 2, 2, 6377, 6378, 7, 70, 2, 2, 6378, 394, 3, 2, 2, 2, 6379, 6380, 7, 69, 2, 2, 6380, 6381, 7, 78, 2, 2, 6381, 6382, 7, 87, 2, 2, 6382, 6383, 7, 85, 2, 2, 6383, 6384, 7, 86, 2, 2, 6384, 6385, 7, 71, 2, 2, 6385, 6386, 7, 84, 2, 2, 6386, 396, 3, 2, 2, 2, 6387, 6388, 7, 69, 2, 2, 6388, 6389, 7, 78, 2, 2, 6389, 6390, 7, 87, 2, 2, 6390, 6391, 7, 85, 2, 2, 6391, 6392, 7, 86, 2, 2, 6392, 6393, 7, 71, 2, 2, 6393, 6394, 7, 84, 2, 2, 6394, 6395, 7, 97, 2, 2, 6395, 6396, 7, 70, 2, 2, 6396, 6397, 7, 71, 2, 2, 6397, 6398, 7, 86, 2, 2, 6398, 6399, 7, 67, 2, 2, 6399, 6400, 7, 75, 2, 2, 6400, 6401, 7, 78, 2, 2, 6401, 6402, 7, 85, 2, 2, 6402, 398, 3, 2, 2, 2, 6403, 6404, 7, 69, 2, 2, 6404, 6405, 7, 78, 2, 2, 6405, 6406, 7, 87, 2, 2, 6406, 6407, 7, 85, 2, 2, 6407, 6408, 7, 86, 2, 2, 6408, 6409, 7, 71, 2, 2, 6409, 6410, 7, 84, 2, 2, 6410, 6411, 7, 97, 2, 2, 6411, 6412, 7, 70, 2, 2, 6412, 6413, 7, 75, 2, 2, 6413, 6414, 7, 85, 2, 2, 6414, 6415, 7, 86, 2, 2, 6415, 6416, 7, 67, 2, 2, 6416, 6417, 7, 80, 2, 2, 6417, 6418, 7, 69, 2, 2, 6418, 6419, 7, 71, 2, 2, 6419, 400, 3, 2, 2, 2, 6420, 6421, 7, 69, 2, 2, 6421, 6422, 7, 78, 2, 2, 6422, 6423, 7, 87, 2, 2, 6423, 6424, 7, 85, 2, 2, 6424, 6425, 7, 86, 2, 2, 6425, 6426, 7, 71, 2, 2, 6426, 6427, 7, 84, 2, 2, 6427, 6428, 7, 97, 2, 2, 6428, 6429, 7, 75, 2, 2, 6429, 6430, 7, 70, 2, 2, 6430, 402, 3, 2, 2, 2, 6431, 6432, 7, 69, 2, 2, 6432, 6433, 7, 78, 2, 2, 6433, 6434, 7, 87, 2, 2, 6434, 6435, 7, 85, 2, 2, 6435, 6436, 7, 86, 2, 2, 6436, 6437, 7, 71, 2, 2, 6437, 6438, 7, 84, 2, 2, 6438, 6439, 7, 75, 2, 2, 6439, 6440, 7, 80, 2, 2, 6440, 6441, 7, 73, 2, 2, 6441, 404, 3, 2, 2, 2, 6442, 6443, 7, 69, 2, 2, 6443, 6444, 7, 78, 2, 2, 6444, 6445, 7, 87, 2, 2, 6445, 6446, 7, 85, 2, 2, 6446, 6447, 7, 86, 2, 2, 6447, 6448, 7, 71, 2, 2, 6448, 6449, 7, 84, 2, 2, 6449, 6450, 7, 75, 2, 2, 6450, 6451, 7, 80, 2, 2, 6451, 6452, 7, 73, 2, 2, 6452, 6453, 7, 97, 2, 2, 6453, 6454, 7, 72, 2, 2, 6454, 6455, 7, 67, 2, 2, 6455, 6456, 7, 69, 2, 2, 6456, 6457, 7, 86, 2, 2, 6457, 6458, 7, 81, 2, 2, 6458, 6459, 7, 84, 2, 2, 6459, 406, 3, 2, 2, 2, 6460, 6461, 7, 69, 2, 2, 6461, 6462, 7, 78, 2, 2, 6462, 6463, 7, 87, 2, 2, 6463, 6464, 7, 85, 2, 2, 6464, 6465, 7, 86, 2, 2, 6465, 6466, 7, 71, 2, 2, 6466, 6467, 7, 84, 2, 2, 6467, 6468, 7, 97, 2, 2, 6468, 6469, 7, 82, 2, 2, 6469, 6470, 7, 84, 2, 2, 6470, 6471, 7, 81, 2, 2, 6471, 6472, 7, 68, 2, 2, 6472, 6473, 7, 67, 2, 2, 6473, 6474, 7, 68, 2, 2, 6474, 6475, 7, 75, 2, 2, 6475, 6476, 7, 78, 2, 2, 6476, 6477, 7, 75, 2, 2, 6477, 6478, 7, 86, 2, 2, 6478, 6479, 7, 91, 2, 2, 6479, 408, 3, 2, 2, 2, 6480, 6481, 7, 69, 2, 2, 6481, 6482, 7, 78, 2, 2, 6482, 6483, 7, 87, 2, 2, 6483, 6484, 7, 85, 2, 2, 6484, 6485, 7, 86, 2, 2, 6485, 6486, 7, 71, 2, 2, 6486, 6487, 7, 84, 2, 2, 6487, 6488, 7, 97, 2, 2, 6488, 6489, 7, 85, 2, 2, 6489, 6490, 7, 71, 2, 2, 6490, 6491, 7, 86, 2, 2, 6491, 410, 3, 2, 2, 2, 6492, 6493, 7, 69, 2, 2, 6493, 6494, 7, 81, 2, 2, 6494, 6495, 7, 67, 2, 2, 6495, 6496, 7, 78, 2, 2, 6496, 6497, 7, 71, 2, 2, 6497, 6498, 7, 85, 2, 2, 6498, 6499, 7, 69, 2, 2, 6499, 6500, 7, 71, 2, 2, 6500, 412, 3, 2, 2, 2, 6501, 6502, 7, 69, 2, 2, 6502, 6503, 7, 81, 2, 2, 6503, 6504, 7, 67, 2, 2, 6504, 6505, 7, 78, 2, 2, 6505, 6506, 7, 71, 2, 2, 6506, 6507, 7, 85, 2, 2, 6507, 6508, 7, 69, 2, 2, 6508, 6509, 7, 71, 2, 2, 6509, 6510, 7, 97, 2, 2, 6510, 6511, 7, 85, 2, 2, 6511, 6512, 7, 83, 2, 2, 6512, 414, 3, 2, 2, 2, 6513, 6514, 7, 69, 2, 2, 6514, 6515, 7, 81, 2, 2, 6515, 6516, 7, 67, 2, 2, 6516, 6517, 7, 84, 2, 2, 6517, 6518, 7, 85, 2, 2, 6518, 6519, 7, 71, 2, 2, 6519, 416, 3, 2, 2, 2, 6520, 6521, 7, 69, 2, 2, 6521, 6522, 7, 81, 2, 2, 6522, 6523, 7, 97, 2, 2, 6523, 6524, 7, 67, 2, 2, 6524, 6525, 7, 87, 2, 2, 6525, 6526, 7, 86, 2, 2, 6526, 6527, 7, 74, 2, 2, 6527, 6528, 7, 97, 2, 2, 6528, 6529, 7, 75, 2, 2, 6529, 6530, 7, 80, 2, 2, 6530, 6531, 7, 70, 2, 2, 6531, 418, 3, 2, 2, 2, 6532, 6533, 7, 69, 2, 2, 6533, 6534, 7, 81, 2, 2, 6534, 6535, 7, 78, 2, 2, 6535, 6536, 7, 70, 2, 2, 6536, 420, 3, 2, 2, 2, 6537, 6538, 7, 69, 2, 2, 6538, 6539, 7, 81, 2, 2, 6539, 6540, 7, 78, 2, 2, 6540, 6541, 7, 78, 2, 2, 6541, 6542, 7, 71, 2, 2, 6542, 6543, 7, 69, 2, 2, 6543, 6544, 7, 86, 2, 2, 6544, 422, 3, 2, 2, 2, 6545, 6546, 7, 69, 2, 2, 6546, 6547, 7, 81, 2, 2, 6547, 6548, 7, 78, 2, 2, 6548, 6549, 7, 87, 2, 2, 6549, 6550, 7, 79, 2, 2, 6550, 6551, 7, 80, 2, 2, 6551, 6552, 7, 67, 2, 2, 6552, 6553, 7, 84, 2, 2, 6553, 424, 3, 2, 2, 2, 6554, 6555, 7, 69, 2, 2, 6555, 6556, 7, 81, 2, 2, 6556, 6557, 7, 78, 2, 2, 6557, 6558, 7, 87, 2, 2, 6558, 6559, 7, 79, 2, 2, 6559, 6560, 7, 80, 2, 2, 6560, 6561, 7, 97, 2, 2, 6561, 6562, 7, 67, 2, 2, 6562, 6563, 7, 87, 2, 2, 6563, 6564, 7, 86, 2, 2, 6564, 6565, 7, 74, 2, 2, 6565, 6566, 7, 97, 2, 2, 6566, 6567, 7, 75, 2, 2, 6567, 6568, 7, 80, 2, 2, 6568, 6569, 7, 70, 2, 2, 6569, 6570, 7, 75, 2, 2, 6570, 6571, 7, 69, 2, 2, 6571, 6572, 7, 67, 2, 2, 6572, 6573, 7, 86, 2, 2, 6573, 6574, 7, 81, 2, 2, 6574, 6575, 7, 84, 2, 2, 6575, 426, 3, 2, 2, 2, 6576, 6577, 7, 69, 2, 2, 6577, 6578, 7, 81, 2, 2, 6578, 6579, 7, 78, 2, 2, 6579, 6580, 7, 87, 2, 2, 6580, 6581, 7, 79, 2, 2, 6581, 6582, 7, 80, 2, 2, 6582, 428, 3, 2, 2, 2, 6583, 6584, 7, 69, 2, 2, 6584, 6585, 7, 81, 2, 2, 6585, 6586, 7, 78, 2, 2, 6586, 6587, 7, 87, 2, 2, 6587, 6588, 7, 79, 2, 2, 6588, 6589, 7, 80, 2, 2, 6589, 6590, 7, 85, 2, 2, 6590, 430, 3, 2, 2, 2, 6591, 6592, 7, 69, 2, 2, 6592, 6593, 7, 81, 2, 2, 6593, 6594, 7, 78, 2, 2, 6594, 6595, 7, 87, 2, 2, 6595, 6596, 7, 79, 2, 2, 6596, 6597, 7, 80, 2, 2, 6597, 6598, 7, 97, 2, 2, 6598, 6599, 7, 85, 2, 2, 6599, 6600, 7, 86, 2, 2, 6600, 6601, 7, 67, 2, 2, 6601, 6602, 7, 86, 2, 2, 6602, 6603, 7, 85, 2, 2, 6603, 432, 3, 2, 2, 2, 6604, 6605, 7, 69, 2, 2, 6605, 6606, 7, 81, 2, 2, 6606, 6607, 7, 78, 2, 2, 6607, 6608, 7, 87, 2, 2, 6608, 6609, 7, 79, 2, 2, 6609, 6610, 7, 80, 2, 2, 6610, 6611, 7, 97, 2, 2, 6611, 6612, 7, 88, 2, 2, 6612, 6613, 7, 67, 2, 2, 6613, 6614, 7, 78, 2, 2, 6614, 6615, 7, 87, 2, 2, 6615, 6616, 7, 71, 2, 2, 6616, 434, 3, 2, 2, 2, 6617, 6618, 7, 69, 2, 2, 6618, 6619, 7, 81, 2, 2, 6619, 6620, 7, 79, 2, 2, 6620, 6621, 7, 79, 2, 2, 6621, 6622, 7, 71, 2, 2, 6622, 6623, 7, 80, 2, 2, 6623, 6624, 7, 86, 2, 2, 6624, 436, 3, 2, 2, 2, 6625, 6626, 7, 69, 2, 2, 6626, 6627, 7, 81, 2, 2, 6627, 6628, 7, 79, 2, 2, 6628, 6629, 7, 79, 2, 2, 6629, 6630, 7, 75, 2, 2, 6630, 6631, 7, 86, 2, 2, 6631, 438, 3, 2, 2, 2, 6632, 6633, 7, 69, 2, 2, 6633, 6634, 7, 81, 2, 2, 6634, 6635, 7, 79, 2, 2, 6635, 6636, 7, 79, 2, 2, 6636, 6637, 7, 75, 2, 2, 6637, 6638, 7, 86, 2, 2, 6638, 6639, 7, 86, 2, 2, 6639, 6640, 7, 71, 2, 2, 6640, 6641, 7, 70, 2, 2, 6641, 440, 3, 2, 2, 2, 6642, 6643, 7, 69, 2, 2, 6643, 6644, 7, 81, 2, 2, 6644, 6645, 7, 79, 2, 2, 6645, 6646, 7, 79, 2, 2, 6646, 6647, 7, 81, 2, 2, 6647, 6648, 7, 80, 2, 2, 6648, 6649, 7, 97, 2, 2, 6649, 6650, 7, 70, 2, 2, 6650, 6651, 7, 67, 2, 2, 6651, 6652, 7, 86, 2, 2, 6652, 6653, 7, 67, 2, 2, 6653, 442, 3, 2, 2, 2, 6654, 6655, 7, 69, 2, 2, 6655, 6656, 7, 81, 2, 2, 6656, 6657, 7, 79, 2, 2, 6657, 6658, 7, 82, 2, 2, 6658, 6659, 7, 67, 2, 2, 6659, 6660, 7, 69, 2, 2, 6660, 6661, 7, 86, 2, 2, 6661, 444, 3, 2, 2, 2, 6662, 6663, 7, 69, 2, 2, 6663, 6664, 7, 81, 2, 2, 6664, 6665, 7, 79, 2, 2, 6665, 6666, 7, 82, 2, 2, 6666, 6667, 7, 67, 2, 2, 6667, 6668, 7, 86, 2, 2, 6668, 6669, 7, 75, 2, 2, 6669, 6670, 7, 68, 2, 2, 6670, 6671, 7, 75, 2, 2, 6671, 6672, 7, 78, 2, 2, 6672, 6673, 7, 75, 2, 2, 6673, 6674, 7, 86, 2, 2, 6674, 6675, 7, 91, 2, 2, 6675, 446, 3, 2, 2, 2, 6676, 6677, 7, 69, 2, 2, 6677, 6678, 7, 81, 2, 2, 6678, 6679, 7, 79, 2, 2, 6679, 6680, 7, 82, 2, 2, 6680, 6681, 7, 75, 2, 2, 6681, 6682, 7, 78, 2, 2, 6682, 6683, 7, 71, 2, 2, 6683, 448, 3, 2, 2, 2, 6684, 6685, 7, 69, 2, 2, 6685, 6686, 7, 81, 2, 2, 6686, 6687, 7, 79, 2, 2, 6687, 6688, 7, 82, 2, 2, 6688, 6689, 7, 78, 2, 2, 6689, 6690, 7, 71, 2, 2, 6690, 6691, 7, 86, 2, 2, 6691, 6692, 7, 71, 2, 2, 6692, 450, 3, 2, 2, 2, 6693, 6694, 7, 69, 2, 2, 6694, 6695, 7, 81, 2, 2, 6695, 6696, 7, 79, 2, 2, 6696, 6697, 7, 82, 2, 2, 6697, 6698, 7, 78, 2, 2, 6698, 6699, 7, 75, 2, 2, 6699, 6700, 7, 67, 2, 2, 6700, 6701, 7, 80, 2, 2, 6701, 6702, 7, 69, 2, 2, 6702, 6703, 7, 71, 2, 2, 6703, 452, 3, 2, 2, 2, 6704, 6705, 7, 69, 2, 2, 6705, 6706, 7, 81, 2, 2, 6706, 6707, 7, 79, 2, 2, 6707, 6708, 7, 82, 2, 2, 6708, 6709, 7, 81, 2, 2, 6709, 6710, 7, 80, 2, 2, 6710, 6711, 7, 71, 2, 2, 6711, 6712, 7, 80, 2, 2, 6712, 6713, 7, 86, 2, 2, 6713, 454, 3, 2, 2, 2, 6714, 6715, 7, 69, 2, 2, 6715, 6716, 7, 81, 2, 2, 6716, 6717, 7, 79, 2, 2, 6717, 6718, 7, 82, 2, 2, 6718, 6719, 7, 81, 2, 2, 6719, 6720, 7, 80, 2, 2, 6720, 6721, 7, 71, 2, 2, 6721, 6722, 7, 80, 2, 2, 6722, 6723, 7, 86, 2, 2, 6723, 6724, 7, 85, 2, 2, 6724, 456, 3, 2, 2, 2, 6725, 6726, 7, 69, 2, 2, 6726, 6727, 7, 81, 2, 2, 6727, 6728, 7, 79, 2, 2, 6728, 6729, 7, 82, 2, 2, 6729, 6730, 7, 81, 2, 2, 6730, 6731, 7, 85, 2, 2, 6731, 6732, 7, 71, 2, 2, 6732, 458, 3, 2, 2, 2, 6733, 6734, 7, 69, 2, 2, 6734, 6735, 7, 81, 2, 2, 6735, 6736, 7, 79, 2, 2, 6736, 6737, 7, 82, 2, 2, 6737, 6738, 7, 81, 2, 2, 6738, 6739, 7, 85, 2, 2, 6739, 6740, 7, 75, 2, 2, 6740, 6741, 7, 86, 2, 2, 6741, 6742, 7, 71, 2, 2, 6742, 460, 3, 2, 2, 2, 6743, 6744, 7, 69, 2, 2, 6744, 6745, 7, 81, 2, 2, 6745, 6746, 7, 79, 2, 2, 6746, 6747, 7, 82, 2, 2, 6747, 6748, 7, 81, 2, 2, 6748, 6749, 7, 85, 2, 2, 6749, 6750, 7, 75, 2, 2, 6750, 6751, 7, 86, 2, 2, 6751, 6752, 7, 71, 2, 2, 6752, 6753, 7, 97, 2, 2, 6753, 6754, 7, 78, 2, 2, 6754, 6755, 7, 75, 2, 2, 6755, 6756, 7, 79, 2, 2, 6756, 6757, 7, 75, 2, 2, 6757, 6758, 7, 86, 2, 2, 6758, 462, 3, 2, 2, 2, 6759, 6760, 7, 69, 2, 2, 6760, 6761, 7, 81, 2, 2, 6761, 6762, 7, 79, 2, 2, 6762, 6763, 7, 82, 2, 2, 6763, 6764, 7, 81, 2, 2, 6764, 6765, 7, 87, 2, 2, 6765, 6766, 7, 80, 2, 2, 6766, 6767, 7, 70, 2, 2, 6767, 464, 3, 2, 2, 2, 6768, 6769, 7, 69, 2, 2, 6769, 6770, 7, 81, 2, 2, 6770, 6771, 7, 79, 2, 2, 6771, 6772, 7, 82, 2, 2, 6772, 6773, 7, 84, 2, 2, 6773, 6774, 7, 71, 2, 2, 6774, 6775, 7, 85, 2, 2, 6775, 6776, 7, 85, 2, 2, 6776, 466, 3, 2, 2, 2, 6777, 6778, 7, 69, 2, 2, 6778, 6779, 7, 81, 2, 2, 6779, 6780, 7, 79, 2, 2, 6780, 6781, 7, 82, 2, 2, 6781, 6782, 7, 87, 2, 2, 6782, 6783, 7, 86, 2, 2, 6783, 6784, 7, 71, 2, 2, 6784, 468, 3, 2, 2, 2, 6785, 6786, 7, 69, 2, 2, 6786, 6787, 7, 81, 2, 2, 6787, 6788, 7, 80, 2, 2, 6788, 6789, 7, 69, 2, 2, 6789, 6790, 7, 67, 2, 2, 6790, 6791, 7, 86, 2, 2, 6791, 470, 3, 2, 2, 2, 6792, 6793, 7, 69, 2, 2, 6793, 6794, 7, 81, 2, 2, 6794, 6795, 7, 80, 2, 2, 6795, 6796, 7, 97, 2, 2, 6796, 6797, 7, 70, 2, 2, 6797, 6798, 7, 68, 2, 2, 6798, 6799, 7, 75, 2, 2, 6799, 6800, 7, 70, 2, 2, 6800, 6801, 7, 97, 2, 2, 6801, 6802, 7, 86, 2, 2, 6802, 6803, 7, 81, 2, 2, 6803, 6804, 7, 97, 2, 2, 6804, 6805, 7, 75, 2, 2, 6805, 6806, 7, 70, 2, 2, 6806, 472, 3, 2, 2, 2, 6807, 6808, 7, 69, 2, 2, 6808, 6809, 7, 81, 2, 2, 6809, 6810, 7, 80, 2, 2, 6810, 6811, 7, 70, 2, 2, 6811, 6812, 7, 75, 2, 2, 6812, 6813, 7, 86, 2, 2, 6813, 6814, 7, 75, 2, 2, 6814, 6815, 7, 81, 2, 2, 6815, 6816, 7, 80, 2, 2, 6816, 6817, 7, 67, 2, 2, 6817, 6818, 7, 78, 2, 2, 6818, 474, 3, 2, 2, 2, 6819, 6820, 7, 69, 2, 2, 6820, 6821, 7, 81, 2, 2, 6821, 6822, 7, 80, 2, 2, 6822, 6823, 7, 70, 2, 2, 6823, 6824, 7, 75, 2, 2, 6824, 6825, 7, 86, 2, 2, 6825, 6826, 7, 75, 2, 2, 6826, 6827, 7, 81, 2, 2, 6827, 6828, 7, 80, 2, 2, 6828, 476, 3, 2, 2, 2, 6829, 6830, 7, 69, 2, 2, 6830, 6831, 7, 81, 2, 2, 6831, 6832, 7, 80, 2, 2, 6832, 6833, 7, 72, 2, 2, 6833, 6834, 7, 75, 2, 2, 6834, 6835, 7, 84, 2, 2, 6835, 6836, 7, 79, 2, 2, 6836, 478, 3, 2, 2, 2, 6837, 6838, 7, 69, 2, 2, 6838, 6839, 7, 81, 2, 2, 6839, 6840, 7, 80, 2, 2, 6840, 6841, 7, 72, 2, 2, 6841, 6842, 7, 81, 2, 2, 6842, 6843, 7, 84, 2, 2, 6843, 6844, 7, 79, 2, 2, 6844, 6845, 7, 75, 2, 2, 6845, 6846, 7, 80, 2, 2, 6846, 6847, 7, 73, 2, 2, 6847, 480, 3, 2, 2, 2, 6848, 6849, 7, 69, 2, 2, 6849, 6850, 7, 81, 2, 2, 6850, 6851, 7, 80, 2, 2, 6851, 6852, 7, 97, 2, 2, 6852, 6853, 7, 73, 2, 2, 6853, 6854, 7, 87, 2, 2, 6854, 6855, 7, 75, 2, 2, 6855, 6856, 7, 70, 2, 2, 6856, 6857, 7, 97, 2, 2, 6857, 6858, 7, 86, 2, 2, 6858, 6859, 7, 81, 2, 2, 6859, 6860, 7, 97, 2, 2, 6860, 6861, 7, 75, 2, 2, 6861, 6862, 7, 70, 2, 2, 6862, 482, 3, 2, 2, 2, 6863, 6864, 7, 69, 2, 2, 6864, 6865, 7, 81, 2, 2, 6865, 6866, 7, 80, 2, 2, 6866, 6867, 7, 97, 2, 2, 6867, 6868, 7, 75, 2, 2, 6868, 6869, 7, 70, 2, 2, 6869, 484, 3, 2, 2, 2, 6870, 6871, 7, 69, 2, 2, 6871, 6872, 7, 81, 2, 2, 6872, 6873, 7, 80, 2, 2, 6873, 6874, 7, 97, 2, 2, 6874, 6875, 7, 80, 2, 2, 6875, 6876, 7, 67, 2, 2, 6876, 6877, 7, 79, 2, 2, 6877, 6878, 7, 71, 2, 2, 6878, 6879, 7, 97, 2, 2, 6879, 6880, 7, 86, 2, 2, 6880, 6881, 7, 81, 2, 2, 6881, 6882, 7, 97, 2, 2, 6882, 6883, 7, 75, 2, 2, 6883, 6884, 7, 70, 2, 2, 6884, 486, 3, 2, 2, 2, 6885, 6886, 7, 69, 2, 2, 6886, 6887, 7, 81, 2, 2, 6887, 6888, 7, 80, 2, 2, 6888, 6889, 7, 80, 2, 2, 6889, 6890, 7, 71, 2, 2, 6890, 6891, 7, 69, 2, 2, 6891, 6892, 7, 86, 2, 2, 6892, 6893, 7, 97, 2, 2, 6893, 6894, 7, 68, 2, 2, 6894, 6895, 7, 91, 2, 2, 6895, 6896, 7, 97, 2, 2, 6896, 6897, 7, 69, 2, 2, 6897, 6898, 7, 68, 2, 2, 6898, 6899, 7, 97, 2, 2, 6899, 6900, 7, 89, 2, 2, 6900, 6901, 7, 74, 2, 2, 6901, 6902, 7, 84, 2, 2, 6902, 6903, 7, 97, 2, 2, 6903, 6904, 7, 81, 2, 2, 6904, 6905, 7, 80, 2, 2, 6905, 6906, 7, 78, 2, 2, 6906, 6907, 7, 91, 2, 2, 6907, 488, 3, 2, 2, 2, 6908, 6909, 7, 69, 2, 2, 6909, 6910, 7, 81, 2, 2, 6910, 6911, 7, 80, 2, 2, 6911, 6912, 7, 80, 2, 2, 6912, 6913, 7, 71, 2, 2, 6913, 6914, 7, 69, 2, 2, 6914, 6915, 7, 86, 2, 2, 6915, 6916, 7, 97, 2, 2, 6916, 6917, 7, 68, 2, 2, 6917, 6918, 7, 91, 2, 2, 6918, 6919, 7, 97, 2, 2, 6919, 6920, 7, 69, 2, 2, 6920, 6921, 7, 81, 2, 2, 6921, 6922, 7, 79, 2, 2, 6922, 6923, 7, 68, 2, 2, 6923, 6924, 7, 75, 2, 2, 6924, 6925, 7, 80, 2, 2, 6925, 6926, 7, 71, 2, 2, 6926, 6927, 7, 97, 2, 2, 6927, 6928, 7, 85, 2, 2, 6928, 6929, 7, 89, 2, 2, 6929, 490, 3, 2, 2, 2, 6930, 6931, 7, 69, 2, 2, 6931, 6932, 7, 81, 2, 2, 6932, 6933, 7, 80, 2, 2, 6933, 6934, 7, 80, 2, 2, 6934, 6935, 7, 71, 2, 2, 6935, 6936, 7, 69, 2, 2, 6936, 6937, 7, 86, 2, 2, 6937, 6938, 7, 97, 2, 2, 6938, 6939, 7, 68, 2, 2, 6939, 6940, 7, 91, 2, 2, 6940, 6941, 7, 97, 2, 2, 6941, 6942, 7, 69, 2, 2, 6942, 6943, 7, 81, 2, 2, 6943, 6944, 7, 85, 2, 2, 6944, 6945, 7, 86, 2, 2, 6945, 6946, 7, 97, 2, 2, 6946, 6947, 7, 68, 2, 2, 6947, 6948, 7, 67, 2, 2, 6948, 6949, 7, 85, 2, 2, 6949, 6950, 7, 71, 2, 2, 6950, 6951, 7, 70, 2, 2, 6951, 492, 3, 2, 2, 2, 6952, 6953, 7, 69, 2, 2, 6953, 6954, 7, 81, 2, 2, 6954, 6955, 7, 80, 2, 2, 6955, 6956, 7, 80, 2, 2, 6956, 6957, 7, 71, 2, 2, 6957, 6958, 7, 69, 2, 2, 6958, 6959, 7, 86, 2, 2, 6959, 6960, 7, 97, 2, 2, 6960, 6961, 7, 68, 2, 2, 6961, 6962, 7, 91, 2, 2, 6962, 6963, 7, 97, 2, 2, 6963, 6964, 7, 71, 2, 2, 6964, 6965, 7, 78, 2, 2, 6965, 6966, 7, 75, 2, 2, 6966, 6967, 7, 79, 2, 2, 6967, 6968, 7, 97, 2, 2, 6968, 6969, 7, 70, 2, 2, 6969, 6970, 7, 87, 2, 2, 6970, 6971, 7, 82, 2, 2, 6971, 6972, 7, 85, 2, 2, 6972, 494, 3, 2, 2, 2, 6973, 6974, 7, 69, 2, 2, 6974, 6975, 7, 81, 2, 2, 6975, 6976, 7, 80, 2, 2, 6976, 6977, 7, 80, 2, 2, 6977, 6978, 7, 71, 2, 2, 6978, 6979, 7, 69, 2, 2, 6979, 6980, 7, 86, 2, 2, 6980, 6981, 7, 97, 2, 2, 6981, 6982, 7, 68, 2, 2, 6982, 6983, 7, 91, 2, 2, 6983, 6984, 7, 97, 2, 2, 6984, 6985, 7, 72, 2, 2, 6985, 6986, 7, 75, 2, 2, 6986, 6987, 7, 78, 2, 2, 6987, 6988, 7, 86, 2, 2, 6988, 6989, 7, 71, 2, 2, 6989, 6990, 7, 84, 2, 2, 6990, 6991, 7, 75, 2, 2, 6991, 6992, 7, 80, 2, 2, 6992, 6993, 7, 73, 2, 2, 6993, 496, 3, 2, 2, 2, 6994, 6995, 7, 69, 2, 2, 6995, 6996, 7, 81, 2, 2, 6996, 6997, 7, 80, 2, 2, 6997, 6998, 7, 80, 2, 2, 6998, 6999, 7, 71, 2, 2, 6999, 7000, 7, 69, 2, 2, 7000, 7001, 7, 86, 2, 2, 7001, 7002, 7, 97, 2, 2, 7002, 7003, 7, 68, 2, 2, 7003, 7004, 7, 91, 2, 2, 7004, 7005, 7, 97, 2, 2, 7005, 7006, 7, 75, 2, 2, 7006, 7007, 7, 85, 2, 2, 7007, 7008, 7, 69, 2, 2, 7008, 7009, 7, 91, 2, 2, 7009, 7010, 7, 69, 2, 2, 7010, 7011, 7, 78, 2, 2, 7011, 7012, 7, 71, 2, 2, 7012, 498, 3, 2, 2, 2, 7013, 7014, 7, 69, 2, 2, 7014, 7015, 7, 81, 2, 2, 7015, 7016, 7, 80, 2, 2, 7016, 7017, 7, 80, 2, 2, 7017, 7018, 7, 71, 2, 2, 7018, 7019, 7, 69, 2, 2, 7019, 7020, 7, 86, 2, 2, 7020, 7021, 7, 97, 2, 2, 7021, 7022, 7, 68, 2, 2, 7022, 7023, 7, 91, 2, 2, 7023, 7024, 7, 97, 2, 2, 7024, 7025, 7, 75, 2, 2, 7025, 7026, 7, 85, 2, 2, 7026, 7027, 7, 78, 2, 2, 7027, 7028, 7, 71, 2, 2, 7028, 7029, 7, 67, 2, 2, 7029, 7030, 7, 72, 2, 2, 7030, 500, 3, 2, 2, 2, 7031, 7032, 7, 69, 2, 2, 7032, 7033, 7, 81, 2, 2, 7033, 7034, 7, 80, 2, 2, 7034, 7035, 7, 80, 2, 2, 7035, 7036, 7, 71, 2, 2, 7036, 7037, 7, 69, 2, 2, 7037, 7038, 7, 86, 2, 2, 7038, 7039, 7, 97, 2, 2, 7039, 7040, 7, 68, 2, 2, 7040, 7041, 7, 91, 2, 2, 7041, 7042, 7, 97, 2, 2, 7042, 7043, 7, 84, 2, 2, 7043, 7044, 7, 81, 2, 2, 7044, 7045, 7, 81, 2, 2, 7045, 7046, 7, 86, 2, 2, 7046, 502, 3, 2, 2, 2, 7047, 7048, 7, 69, 2, 2, 7048, 7049, 7, 81, 2, 2, 7049, 7050, 7, 80, 2, 2, 7050, 7051, 7, 80, 2, 2, 7051, 7052, 7, 71, 2, 2, 7052, 7053, 7, 69, 2, 2, 7053, 7054, 7, 86, 2, 2, 7054, 504, 3, 2, 2, 2, 7055, 7056, 7, 69, 2, 2, 7056, 7057, 7, 81, 2, 2, 7057, 7058, 7, 80, 2, 2, 7058, 7059, 7, 80, 2, 2, 7059, 7060, 7, 71, 2, 2, 7060, 7061, 7, 69, 2, 2, 7061, 7062, 7, 86, 2, 2, 7062, 7063, 7, 97, 2, 2, 7063, 7064, 7, 86, 2, 2, 7064, 7065, 7, 75, 2, 2, 7065, 7066, 7, 79, 2, 2, 7066, 7067, 7, 71, 2, 2, 7067, 506, 3, 2, 2, 2, 7068, 7069, 7, 69, 2, 2, 7069, 7070, 7, 81, 2, 2, 7070, 7071, 7, 80, 2, 2, 7071, 7072, 7, 85, 2, 2, 7072, 7073, 7, 75, 2, 2, 7073, 7074, 7, 70, 2, 2, 7074, 7075, 7, 71, 2, 2, 7075, 7076, 7, 84, 2, 2, 7076, 508, 3, 2, 2, 2, 7077, 7078, 7, 69, 2, 2, 7078, 7079, 7, 81, 2, 2, 7079, 7080, 7, 80, 2, 2, 7080, 7081, 7, 85, 2, 2, 7081, 7082, 7, 75, 2, 2, 7082, 7083, 7, 85, 2, 2, 7083, 7084, 7, 86, 2, 2, 7084, 7085, 7, 71, 2, 2, 7085, 7086, 7, 80, 2, 2, 7086, 7087, 7, 86, 2, 2, 7087, 510, 3, 2, 2, 2, 7088, 7089, 7, 69, 2, 2, 7089, 7090, 7, 81, 2, 2, 7090, 7091, 7, 80, 2, 2, 7091, 7092, 7, 85, 2, 2, 7092, 7093, 7, 86, 2, 2, 7093, 7094, 7, 67, 2, 2, 7094, 7095, 7, 80, 2, 2, 7095, 7096, 7, 86, 2, 2, 7096, 512, 3, 2, 2, 2, 7097, 7098, 7, 69, 2, 2, 7098, 7099, 7, 81, 2, 2, 7099, 7100, 7, 80, 2, 2, 7100, 7101, 7, 85, 2, 2, 7101, 7102, 7, 86, 2, 2, 7102, 514, 3, 2, 2, 2, 7103, 7104, 7, 69, 2, 2, 7104, 7105, 7, 81, 2, 2, 7105, 7106, 7, 80, 2, 2, 7106, 7107, 7, 85, 2, 2, 7107, 7108, 7, 86, 2, 2, 7108, 7109, 7, 84, 2, 2, 7109, 7110, 7, 67, 2, 2, 7110, 7111, 7, 75, 2, 2, 7111, 7112, 7, 80, 2, 2, 7112, 7113, 7, 86, 2, 2, 7113, 516, 3, 2, 2, 2, 7114, 7115, 7, 69, 2, 2, 7115, 7116, 7, 81, 2, 2, 7116, 7117, 7, 80, 2, 2, 7117, 7118, 7, 85, 2, 2, 7118, 7119, 7, 86, 2, 2, 7119, 7120, 7, 84, 2, 2, 7120, 7121, 7, 67, 2, 2, 7121, 7122, 7, 75, 2, 2, 7122, 7123, 7, 80, 2, 2, 7123, 7124, 7, 86, 2, 2, 7124, 7125, 7, 85, 2, 2, 7125, 518, 3, 2, 2, 2, 7126, 7127, 7, 69, 2, 2, 7127, 7128, 7, 81, 2, 2, 7128, 7129, 7, 80, 2, 2, 7129, 7130, 7, 85, 2, 2, 7130, 7131, 7, 86, 2, 2, 7131, 7132, 7, 84, 2, 2, 7132, 7133, 7, 87, 2, 2, 7133, 7134, 7, 69, 2, 2, 7134, 7135, 7, 86, 2, 2, 7135, 7136, 7, 81, 2, 2, 7136, 7137, 7, 84, 2, 2, 7137, 520, 3, 2, 2, 2, 7138, 7139, 7, 69, 2, 2, 7139, 7140, 7, 81, 2, 2, 7140, 7141, 7, 80, 2, 2, 7141, 7142, 7, 86, 2, 2, 7142, 7143, 7, 67, 2, 2, 7143, 7144, 7, 75, 2, 2, 7144, 7145, 7, 80, 2, 2, 7145, 7146, 7, 71, 2, 2, 7146, 7147, 7, 84, 2, 2, 7147, 522, 3, 2, 2, 2, 7148, 7149, 7, 69, 2, 2, 7149, 7150, 7, 81, 2, 2, 7150, 7151, 7, 80, 2, 2, 7151, 7152, 7, 86, 2, 2, 7152, 7153, 7, 67, 2, 2, 7153, 7154, 7, 75, 2, 2, 7154, 7155, 7, 80, 2, 2, 7155, 7156, 7, 71, 2, 2, 7156, 7157, 7, 84, 2, 2, 7157, 7158, 7, 97, 2, 2, 7158, 7159, 7, 70, 2, 2, 7159, 7160, 7, 67, 2, 2, 7160, 7161, 7, 86, 2, 2, 7161, 7162, 7, 67, 2, 2, 7162, 524, 3, 2, 2, 2, 7163, 7164, 7, 69, 2, 2, 7164, 7165, 7, 81, 2, 2, 7165, 7166, 7, 80, 2, 2, 7166, 7167, 7, 86, 2, 2, 7167, 7168, 7, 67, 2, 2, 7168, 7169, 7, 75, 2, 2, 7169, 7170, 7, 80, 2, 2, 7170, 7171, 7, 71, 2, 2, 7171, 7172, 7, 84, 2, 2, 7172, 7173, 7, 85, 2, 2, 7173, 526, 3, 2, 2, 2, 7174, 7175, 7, 69, 2, 2, 7175, 7176, 7, 81, 2, 2, 7176, 7177, 7, 80, 2, 2, 7177, 7178, 7, 86, 2, 2, 7178, 7179, 7, 71, 2, 2, 7179, 7180, 7, 80, 2, 2, 7180, 7181, 7, 86, 2, 2, 7181, 528, 3, 2, 2, 2, 7182, 7183, 7, 69, 2, 2, 7183, 7184, 7, 81, 2, 2, 7184, 7185, 7, 80, 2, 2, 7185, 7186, 7, 86, 2, 2, 7186, 7187, 7, 71, 2, 2, 7187, 7188, 7, 80, 2, 2, 7188, 7189, 7, 86, 2, 2, 7189, 7190, 7, 85, 2, 2, 7190, 530, 3, 2, 2, 2, 7191, 7192, 7, 69, 2, 2, 7192, 7193, 7, 81, 2, 2, 7193, 7194, 7, 80, 2, 2, 7194, 7195, 7, 86, 2, 2, 7195, 7196, 7, 71, 2, 2, 7196, 7197, 7, 90, 2, 2, 7197, 7198, 7, 86, 2, 2, 7198, 532, 3, 2, 2, 2, 7199, 7200, 7, 69, 2, 2, 7200, 7201, 7, 81, 2, 2, 7201, 7202, 7, 80, 2, 2, 7202, 7203, 7, 86, 2, 2, 7203, 7204, 7, 75, 2, 2, 7204, 7205, 7, 80, 2, 2, 7205, 7206, 7, 87, 2, 2, 7206, 7207, 7, 71, 2, 2, 7207, 534, 3, 2, 2, 2, 7208, 7209, 7, 69, 2, 2, 7209, 7210, 7, 81, 2, 2, 7210, 7211, 7, 80, 2, 2, 7211, 7212, 7, 86, 2, 2, 7212, 7213, 7, 84, 2, 2, 7213, 7214, 7, 81, 2, 2, 7214, 7215, 7, 78, 2, 2, 7215, 7216, 7, 72, 2, 2, 7216, 7217, 7, 75, 2, 2, 7217, 7218, 7, 78, 2, 2, 7218, 7219, 7, 71, 2, 2, 7219, 536, 3, 2, 2, 2, 7220, 7221, 7, 69, 2, 2, 7221, 7222, 7, 81, 2, 2, 7222, 7223, 7, 80, 2, 2, 7223, 7224, 7, 97, 2, 2, 7224, 7225, 7, 87, 2, 2, 7225, 7226, 7, 75, 2, 2, 7226, 7227, 7, 70, 2, 2, 7227, 7228, 7, 97, 2, 2, 7228, 7229, 7, 86, 2, 2, 7229, 7230, 7, 81, 2, 2, 7230, 7231, 7, 97, 2, 2, 7231, 7232, 7, 75, 2, 2, 7232, 7233, 7, 70, 2, 2, 7233, 538, 3, 2, 2, 2, 7234, 7235, 7, 69, 2, 2, 7235, 7236, 7, 81, 2, 2, 7236, 7237, 7, 80, 2, 2, 7237, 7238, 7, 88, 2, 2, 7238, 7239, 7, 71, 2, 2, 7239, 7240, 7, 84, 2, 2, 7240, 7241, 7, 86, 2, 2, 7241, 540, 3, 2, 2, 2, 7242, 7243, 7, 69, 2, 2, 7243, 7244, 7, 81, 2, 2, 7244, 7245, 7, 81, 2, 2, 7245, 7246, 7, 77, 2, 2, 7246, 7247, 7, 75, 2, 2, 7247, 7248, 7, 71, 2, 2, 7248, 542, 3, 2, 2, 2, 7249, 7250, 7, 69, 2, 2, 7250, 7251, 7, 81, 2, 2, 7251, 7252, 7, 82, 2, 2, 7252, 7253, 7, 91, 2, 2, 7253, 544, 3, 2, 2, 2, 7254, 7255, 7, 69, 2, 2, 7255, 7256, 7, 81, 2, 2, 7256, 7257, 7, 84, 2, 2, 7257, 7258, 7, 84, 2, 2, 7258, 7259, 7, 97, 2, 2, 7259, 7260, 7, 77, 2, 2, 7260, 546, 3, 2, 2, 2, 7261, 7262, 7, 69, 2, 2, 7262, 7263, 7, 81, 2, 2, 7263, 7264, 7, 84, 2, 2, 7264, 7265, 7, 84, 2, 2, 7265, 7266, 7, 97, 2, 2, 7266, 7267, 7, 85, 2, 2, 7267, 548, 3, 2, 2, 2, 7268, 7269, 7, 69, 2, 2, 7269, 7270, 7, 81, 2, 2, 7270, 7271, 7, 84, 2, 2, 7271, 7272, 7, 84, 2, 2, 7272, 7273, 7, 87, 2, 2, 7273, 7274, 7, 82, 2, 2, 7274, 7275, 7, 86, 2, 2, 7275, 7276, 7, 75, 2, 2, 7276, 7277, 7, 81, 2, 2, 7277, 7278, 7, 80, 2, 2, 7278, 550, 3, 2, 2, 2, 7279, 7280, 7, 69, 2, 2, 7280, 7281, 7, 81, 2, 2, 7281, 7282, 7, 84, 2, 2, 7282, 7283, 7, 84, 2, 2, 7283, 7284, 7, 87, 2, 2, 7284, 7285, 7, 82, 2, 2, 7285, 7286, 7, 86, 2, 2, 7286, 7287, 7, 97, 2, 2, 7287, 7288, 7, 90, 2, 2, 7288, 7289, 7, 75, 2, 2, 7289, 7290, 7, 70, 2, 2, 7290, 7291, 7, 97, 2, 2, 7291, 7292, 7, 67, 2, 2, 7292, 7293, 7, 78, 2, 2, 7293, 7294, 7, 78, 2, 2, 7294, 552, 3, 2, 2, 2, 7295, 7296, 7, 69, 2, 2, 7296, 7297, 7, 81, 2, 2, 7297, 7298, 7, 84, 2, 2, 7298, 7299, 7, 84, 2, 2, 7299, 7300, 7, 87, 2, 2, 7300, 7301, 7, 82, 2, 2, 7301, 7302, 7, 86, 2, 2, 7302, 7303, 7, 97, 2, 2, 7303, 7304, 7, 90, 2, 2, 7304, 7305, 7, 75, 2, 2, 7305, 7306, 7, 70, 2, 2, 7306, 554, 3, 2, 2, 2, 7307, 7308, 7, 69, 2, 2, 7308, 7309, 7, 81, 2, 2, 7309, 7310, 7, 85, 2, 2, 7310, 556, 3, 2, 2, 2, 7311, 7312, 7, 69, 2, 2, 7312, 7313, 7, 81, 2, 2, 7313, 7314, 7, 85, 2, 2, 7314, 7315, 7, 74, 2, 2, 7315, 558, 3, 2, 2, 2, 7316, 7317, 7, 69, 2, 2, 7317, 7318, 7, 81, 2, 2, 7318, 7319, 7, 85, 2, 2, 7319, 7320, 7, 86, 2, 2, 7320, 560, 3, 2, 2, 2, 7321, 7322, 7, 69, 2, 2, 7322, 7323, 7, 81, 2, 2, 7323, 7324, 7, 85, 2, 2, 7324, 7325, 7, 86, 2, 2, 7325, 7326, 7, 97, 2, 2, 7326, 7327, 7, 90, 2, 2, 7327, 7328, 7, 79, 2, 2, 7328, 7329, 7, 78, 2, 2, 7329, 7330, 7, 97, 2, 2, 7330, 7331, 7, 83, 2, 2, 7331, 7332, 7, 87, 2, 2, 7332, 7333, 7, 71, 2, 2, 7333, 7334, 7, 84, 2, 2, 7334, 7335, 7, 91, 2, 2, 7335, 7336, 7, 97, 2, 2, 7336, 7337, 7, 84, 2, 2, 7337, 7338, 7, 71, 2, 2, 7338, 7339, 7, 89, 2, 2, 7339, 7340, 7, 84, 2, 2, 7340, 7341, 7, 75, 2, 2, 7341, 7342, 7, 86, 2, 2, 7342, 7343, 7, 71, 2, 2, 7343, 562, 3, 2, 2, 2, 7344, 7345, 7, 69, 2, 2, 7345, 7346, 7, 81, 2, 2, 7346, 7347, 7, 87, 2, 2, 7347, 7348, 7, 80, 2, 2, 7348, 7349, 7, 86, 2, 2, 7349, 564, 3, 2, 2, 2, 7350, 7351, 7, 69, 2, 2, 7351, 7352, 7, 81, 2, 2, 7352, 7353, 7, 88, 2, 2, 7353, 7354, 7, 67, 2, 2, 7354, 7355, 7, 84, 2, 2, 7355, 7356, 7, 97, 2, 2, 7356, 7357, 7, 82, 2, 2, 7357, 7358, 7, 81, 2, 2, 7358, 7359, 7, 82, 2, 2, 7359, 566, 3, 2, 2, 2, 7360, 7361, 7, 69, 2, 2, 7361, 7362, 7, 81, 2, 2, 7362, 7363, 7, 88, 2, 2, 7363, 7364, 7, 67, 2, 2, 7364, 7365, 7, 84, 2, 2, 7365, 7366, 7, 97, 2, 2, 7366, 7367, 7, 85, 2, 2, 7367, 7368, 7, 67, 2, 2, 7368, 7369, 7, 79, 2, 2, 7369, 7370, 7, 82, 2, 2, 7370, 568, 3, 2, 2, 2, 7371, 7372, 7, 69, 2, 2, 7372, 7373, 7, 82, 2, 2, 7373, 7374, 7, 87, 2, 2, 7374, 7375, 7, 97, 2, 2, 7375, 7376, 7, 69, 2, 2, 7376, 7377, 7, 81, 2, 2, 7377, 7378, 7, 85, 2, 2, 7378, 7379, 7, 86, 2, 2, 7379, 7380, 7, 75, 2, 2, 7380, 7381, 7, 80, 2, 2, 7381, 7382, 7, 73, 2, 2, 7382, 570, 3, 2, 2, 2, 7383, 7384, 7, 69, 2, 2, 7384, 7385, 7, 82, 2, 2, 7385, 7386, 7, 87, 2, 2, 7386, 7387, 7, 97, 2, 2, 7387, 7388, 7, 82, 2, 2, 7388, 7389, 7, 71, 2, 2, 7389, 7390, 7, 84, 2, 2, 7390, 7391, 7, 97, 2, 2, 7391, 7392, 7, 69, 2, 2, 7392, 7393, 7, 67, 2, 2, 7393, 7394, 7, 78, 2, 2, 7394, 7395, 7, 78, 2, 2, 7395, 572, 3, 2, 2, 2, 7396, 7397, 7, 69, 2, 2, 7397, 7398, 7, 82, 2, 2, 7398, 7399, 7, 87, 2, 2, 7399, 7400, 7, 97, 2, 2, 7400, 7401, 7, 82, 2, 2, 7401, 7402, 7, 71, 2, 2, 7402, 7403, 7, 84, 2, 2, 7403, 7404, 7, 97, 2, 2, 7404, 7405, 7, 85, 2, 2, 7405, 7406, 7, 71, 2, 2, 7406, 7407, 7, 85, 2, 2, 7407, 7408, 7, 85, 2, 2, 7408, 7409, 7, 75, 2, 2, 7409, 7410, 7, 81, 2, 2, 7410, 7411, 7, 80, 2, 2, 7411, 574, 3, 2, 2, 2, 7412, 7413, 7, 69, 2, 2, 7413, 7414, 7, 84, 2, 2, 7414, 7415, 7, 67, 2, 2, 7415, 7416, 7, 85, 2, 2, 7416, 7417, 7, 74, 2, 2, 7417, 576, 3, 2, 2, 2, 7418, 7419, 7, 69, 2, 2, 7419, 7420, 7, 84, 2, 2, 7420, 7421, 7, 71, 2, 2, 7421, 7422, 7, 67, 2, 2, 7422, 7423, 7, 86, 2, 2, 7423, 7424, 7, 71, 2, 2, 7424, 578, 3, 2, 2, 2, 7425, 7426, 7, 69, 2, 2, 7426, 7427, 7, 84, 2, 2, 7427, 7428, 7, 71, 2, 2, 7428, 7429, 7, 67, 2, 2, 7429, 7430, 7, 86, 2, 2, 7430, 7431, 7, 71, 2, 2, 7431, 7432, 7, 97, 2, 2, 7432, 7433, 7, 72, 2, 2, 7433, 7434, 7, 75, 2, 2, 7434, 7435, 7, 78, 2, 2, 7435, 7436, 7, 71, 2, 2, 7436, 7437, 7, 97, 2, 2, 7437, 7438, 7, 70, 2, 2, 7438, 7439, 7, 71, 2, 2, 7439, 7440, 7, 85, 2, 2, 7440, 7441, 7, 86, 2, 2, 7441, 580, 3, 2, 2, 2, 7442, 7443, 7, 69, 2, 2, 7443, 7444, 7, 84, 2, 2, 7444, 7445, 7, 71, 2, 2, 7445, 7446, 7, 67, 2, 2, 7446, 7447, 7, 86, 2, 2, 7447, 7448, 7, 71, 2, 2, 7448, 7449, 7, 97, 2, 2, 7449, 7450, 7, 85, 2, 2, 7450, 7451, 7, 86, 2, 2, 7451, 7452, 7, 81, 2, 2, 7452, 7453, 7, 84, 2, 2, 7453, 7454, 7, 71, 2, 2, 7454, 7455, 7, 70, 2, 2, 7455, 7456, 7, 97, 2, 2, 7456, 7457, 7, 81, 2, 2, 7457, 7458, 7, 87, 2, 2, 7458, 7459, 7, 86, 2, 2, 7459, 7460, 7, 78, 2, 2, 7460, 7461, 7, 75, 2, 2, 7461, 7462, 7, 80, 2, 2, 7462, 7463, 7, 71, 2, 2, 7463, 7464, 7, 85, 2, 2, 7464, 582, 3, 2, 2, 2, 7465, 7466, 7, 69, 2, 2, 7466, 7467, 7, 84, 2, 2, 7467, 7468, 7, 71, 2, 2, 7468, 7469, 7, 67, 2, 2, 7469, 7470, 7, 86, 2, 2, 7470, 7471, 7, 75, 2, 2, 7471, 7472, 7, 81, 2, 2, 7472, 7473, 7, 80, 2, 2, 7473, 584, 3, 2, 2, 2, 7474, 7475, 7, 69, 2, 2, 7475, 7476, 7, 84, 2, 2, 7476, 7477, 7, 71, 2, 2, 7477, 7478, 7, 70, 2, 2, 7478, 7479, 7, 71, 2, 2, 7479, 7480, 7, 80, 2, 2, 7480, 7481, 7, 86, 2, 2, 7481, 7482, 7, 75, 2, 2, 7482, 7483, 7, 67, 2, 2, 7483, 7484, 7, 78, 2, 2, 7484, 586, 3, 2, 2, 2, 7485, 7486, 7, 69, 2, 2, 7486, 7487, 7, 84, 2, 2, 7487, 7488, 7, 75, 2, 2, 7488, 7489, 7, 86, 2, 2, 7489, 7490, 7, 75, 2, 2, 7490, 7491, 7, 69, 2, 2, 7491, 7492, 7, 67, 2, 2, 7492, 7493, 7, 78, 2, 2, 7493, 588, 3, 2, 2, 2, 7494, 7495, 7, 69, 2, 2, 7495, 7496, 7, 84, 2, 2, 7496, 7497, 7, 81, 2, 2, 7497, 7498, 7, 85, 2, 2, 7498, 7499, 7, 85, 2, 2, 7499, 590, 3, 2, 2, 2, 7500, 7501, 7, 69, 2, 2, 7501, 7502, 7, 84, 2, 2, 7502, 7503, 7, 81, 2, 2, 7503, 7504, 7, 85, 2, 2, 7504, 7505, 7, 85, 2, 2, 7505, 7506, 7, 71, 2, 2, 7506, 7507, 7, 70, 2, 2, 7507, 7508, 7, 75, 2, 2, 7508, 7509, 7, 86, 2, 2, 7509, 7510, 7, 75, 2, 2, 7510, 7511, 7, 81, 2, 2, 7511, 7512, 7, 80, 2, 2, 7512, 592, 3, 2, 2, 2, 7513, 7514, 7, 69, 2, 2, 7514, 7515, 7, 85, 2, 2, 7515, 7516, 7, 69, 2, 2, 7516, 7517, 7, 81, 2, 2, 7517, 7518, 7, 80, 2, 2, 7518, 7519, 7, 88, 2, 2, 7519, 7520, 7, 71, 2, 2, 7520, 7521, 7, 84, 2, 2, 7521, 7522, 7, 86, 2, 2, 7522, 594, 3, 2, 2, 2, 7523, 7524, 7, 69, 2, 2, 7524, 7525, 7, 87, 2, 2, 7525, 7526, 7, 68, 2, 2, 7526, 7527, 7, 71, 2, 2, 7527, 7528, 7, 97, 2, 2, 7528, 7529, 7, 67, 2, 2, 7529, 7530, 7, 76, 2, 2, 7530, 596, 3, 2, 2, 2, 7531, 7532, 7, 69, 2, 2, 7532, 7533, 7, 87, 2, 2, 7533, 7534, 7, 68, 2, 2, 7534, 7535, 7, 71, 2, 2, 7535, 598, 3, 2, 2, 2, 7536, 7537, 7, 69, 2, 2, 7537, 7538, 7, 87, 2, 2, 7538, 7539, 7, 68, 2, 2, 7539, 7540, 7, 71, 2, 2, 7540, 7541, 7, 97, 2, 2, 7541, 7542, 7, 73, 2, 2, 7542, 7543, 7, 68, 2, 2, 7543, 600, 3, 2, 2, 2, 7544, 7545, 7, 69, 2, 2, 7545, 7546, 7, 87, 2, 2, 7546, 7547, 7, 68, 2, 2, 7547, 7548, 7, 71, 2, 2, 7548, 7549, 7, 97, 2, 2, 7549, 7550, 7, 85, 2, 2, 7550, 7551, 7, 76, 2, 2, 7551, 602, 3, 2, 2, 2, 7552, 7553, 7, 69, 2, 2, 7553, 7554, 7, 87, 2, 2, 7554, 7555, 7, 79, 2, 2, 7555, 7556, 7, 71, 2, 2, 7556, 7557, 7, 97, 2, 2, 7557, 7558, 7, 70, 2, 2, 7558, 7559, 7, 75, 2, 2, 7559, 7560, 7, 85, 2, 2, 7560, 7561, 7, 86, 2, 2, 7561, 7562, 7, 79, 2, 2, 7562, 604, 3, 2, 2, 2, 7563, 7564, 7, 69, 2, 2, 7564, 7565, 7, 87, 2, 2, 7565, 7566, 7, 84, 2, 2, 7566, 7567, 7, 84, 2, 2, 7567, 7568, 7, 71, 2, 2, 7568, 7569, 7, 80, 2, 2, 7569, 7570, 7, 86, 2, 2, 7570, 606, 3, 2, 2, 2, 7571, 7572, 7, 69, 2, 2, 7572, 7573, 7, 87, 2, 2, 7573, 7574, 7, 84, 2, 2, 7574, 7575, 7, 84, 2, 2, 7575, 7576, 7, 71, 2, 2, 7576, 7577, 7, 80, 2, 2, 7577, 7578, 7, 86, 2, 2, 7578, 7579, 7, 97, 2, 2, 7579, 7580, 7, 70, 2, 2, 7580, 7581, 7, 67, 2, 2, 7581, 7582, 7, 86, 2, 2, 7582, 7583, 7, 71, 2, 2, 7583, 608, 3, 2, 2, 2, 7584, 7585, 7, 69, 2, 2, 7585, 7586, 7, 87, 2, 2, 7586, 7587, 7, 84, 2, 2, 7587, 7588, 7, 84, 2, 2, 7588, 7589, 7, 71, 2, 2, 7589, 7590, 7, 80, 2, 2, 7590, 7591, 7, 86, 2, 2, 7591, 7592, 7, 97, 2, 2, 7592, 7593, 7, 85, 2, 2, 7593, 7594, 7, 69, 2, 2, 7594, 7595, 7, 74, 2, 2, 7595, 7596, 7, 71, 2, 2, 7596, 7597, 7, 79, 2, 2, 7597, 7598, 7, 67, 2, 2, 7598, 610, 3, 2, 2, 2, 7599, 7600, 7, 69, 2, 2, 7600, 7601, 7, 87, 2, 2, 7601, 7602, 7, 84, 2, 2, 7602, 7603, 7, 84, 2, 2, 7603, 7604, 7, 71, 2, 2, 7604, 7605, 7, 80, 2, 2, 7605, 7606, 7, 86, 2, 2, 7606, 7607, 7, 97, 2, 2, 7607, 7608, 7, 86, 2, 2, 7608, 7609, 7, 75, 2, 2, 7609, 7610, 7, 79, 2, 2, 7610, 7611, 7, 71, 2, 2, 7611, 612, 3, 2, 2, 2, 7612, 7613, 7, 69, 2, 2, 7613, 7614, 7, 87, 2, 2, 7614, 7615, 7, 84, 2, 2, 7615, 7616, 7, 84, 2, 2, 7616, 7617, 7, 71, 2, 2, 7617, 7618, 7, 80, 2, 2, 7618, 7619, 7, 86, 2, 2, 7619, 7620, 7, 97, 2, 2, 7620, 7621, 7, 86, 2, 2, 7621, 7622, 7, 75, 2, 2, 7622, 7623, 7, 79, 2, 2, 7623, 7624, 7, 71, 2, 2, 7624, 7625, 7, 85, 2, 2, 7625, 7626, 7, 86, 2, 2, 7626, 7627, 7, 67, 2, 2, 7627, 7628, 7, 79, 2, 2, 7628, 7629, 7, 82, 2, 2, 7629, 614, 3, 2, 2, 2, 7630, 7631, 7, 69, 2, 2, 7631, 7632, 7, 87, 2, 2, 7632, 7633, 7, 84, 2, 2, 7633, 7634, 7, 84, 2, 2, 7634, 7635, 7, 71, 2, 2, 7635, 7636, 7, 80, 2, 2, 7636, 7637, 7, 86, 2, 2, 7637, 7638, 7, 97, 2, 2, 7638, 7639, 7, 87, 2, 2, 7639, 7640, 7, 85, 2, 2, 7640, 7641, 7, 71, 2, 2, 7641, 7642, 7, 84, 2, 2, 7642, 616, 3, 2, 2, 2, 7643, 7644, 7, 69, 2, 2, 7644, 7645, 7, 87, 2, 2, 7645, 7646, 7, 84, 2, 2, 7646, 7647, 7, 84, 2, 2, 7647, 7648, 7, 71, 2, 2, 7648, 7649, 7, 80, 2, 2, 7649, 7650, 7, 86, 2, 2, 7650, 7651, 7, 88, 2, 2, 7651, 618, 3, 2, 2, 2, 7652, 7653, 7, 69, 2, 2, 7653, 7654, 7, 87, 2, 2, 7654, 7655, 7, 84, 2, 2, 7655, 7656, 7, 85, 2, 2, 7656, 7657, 7, 81, 2, 2, 7657, 7658, 7, 84, 2, 2, 7658, 620, 3, 2, 2, 2, 7659, 7660, 7, 69, 2, 2, 7660, 7661, 7, 87, 2, 2, 7661, 7662, 7, 84, 2, 2, 7662, 7663, 7, 85, 2, 2, 7663, 7664, 7, 81, 2, 2, 7664, 7665, 7, 84, 2, 2, 7665, 7666, 7, 97, 2, 2, 7666, 7667, 7, 85, 2, 2, 7667, 7668, 7, 74, 2, 2, 7668, 7669, 7, 67, 2, 2, 7669, 7670, 7, 84, 2, 2, 7670, 7671, 7, 75, 2, 2, 7671, 7672, 7, 80, 2, 2, 7672, 7673, 7, 73, 2, 2, 7673, 7674, 7, 97, 2, 2, 7674, 7675, 7, 71, 2, 2, 7675, 7676, 7, 90, 2, 2, 7676, 7677, 7, 67, 2, 2, 7677, 7678, 7, 69, 2, 2, 7678, 7679, 7, 86, 2, 2, 7679, 622, 3, 2, 2, 2, 7680, 7681, 7, 69, 2, 2, 7681, 7682, 7, 87, 2, 2, 7682, 7683, 7, 84, 2, 2, 7683, 7684, 7, 85, 2, 2, 7684, 7685, 7, 81, 2, 2, 7685, 7686, 7, 84, 2, 2, 7686, 7687, 7, 97, 2, 2, 7687, 7688, 7, 85, 2, 2, 7688, 7689, 7, 82, 2, 2, 7689, 7690, 7, 71, 2, 2, 7690, 7691, 7, 69, 2, 2, 7691, 7692, 7, 75, 2, 2, 7692, 7693, 7, 72, 2, 2, 7693, 7694, 7, 75, 2, 2, 7694, 7695, 7, 69, 2, 2, 7695, 7696, 7, 97, 2, 2, 7696, 7697, 7, 85, 2, 2, 7697, 7698, 7, 71, 2, 2, 7698, 7699, 7, 73, 2, 2, 7699, 7700, 7, 79, 2, 2, 7700, 7701, 7, 71, 2, 2, 7701, 7702, 7, 80, 2, 2, 7702, 7703, 7, 86, 2, 2, 7703, 624, 3, 2, 2, 2, 7704, 7705, 7, 69, 2, 2, 7705, 7706, 7, 87, 2, 2, 7706, 7707, 7, 85, 2, 2, 7707, 7708, 7, 86, 2, 2, 7708, 7709, 7, 81, 2, 2, 7709, 7710, 7, 79, 2, 2, 7710, 7711, 7, 70, 2, 2, 7711, 7712, 7, 67, 2, 2, 7712, 7713, 7, 86, 2, 2, 7713, 7714, 7, 87, 2, 2, 7714, 7715, 7, 79, 2, 2, 7715, 626, 3, 2, 2, 2, 7716, 7717, 7, 69, 2, 2, 7717, 7718, 7, 88, 2, 2, 7718, 628, 3, 2, 2, 2, 7719, 7720, 7, 69, 2, 2, 7720, 7721, 7, 91, 2, 2, 7721, 7722, 7, 69, 2, 2, 7722, 7723, 7, 78, 2, 2, 7723, 7724, 7, 71, 2, 2, 7724, 630, 3, 2, 2, 2, 7725, 7726, 7, 70, 2, 2, 7726, 7727, 7, 67, 2, 2, 7727, 7728, 7, 80, 2, 2, 7728, 7729, 7, 73, 2, 2, 7729, 7730, 7, 78, 2, 2, 7730, 7731, 7, 75, 2, 2, 7731, 7732, 7, 80, 2, 2, 7732, 7733, 7, 73, 2, 2, 7733, 632, 3, 2, 2, 2, 7734, 7735, 7, 70, 2, 2, 7735, 7736, 7, 67, 2, 2, 7736, 7737, 7, 86, 2, 2, 7737, 7738, 7, 67, 2, 2, 7738, 7739, 7, 68, 2, 2, 7739, 7740, 7, 67, 2, 2, 7740, 7741, 7, 85, 2, 2, 7741, 7742, 7, 71, 2, 2, 7742, 634, 3, 2, 2, 2, 7743, 7744, 7, 70, 2, 2, 7744, 7745, 7, 67, 2, 2, 7745, 7746, 7, 86, 2, 2, 7746, 7747, 7, 67, 2, 2, 7747, 636, 3, 2, 2, 2, 7748, 7749, 7, 70, 2, 2, 7749, 7750, 7, 67, 2, 2, 7750, 7751, 7, 86, 2, 2, 7751, 7752, 7, 67, 2, 2, 7752, 7753, 7, 72, 2, 2, 7753, 7754, 7, 75, 2, 2, 7754, 7755, 7, 78, 2, 2, 7755, 7756, 7, 71, 2, 2, 7756, 638, 3, 2, 2, 2, 7757, 7758, 7, 70, 2, 2, 7758, 7759, 7, 67, 2, 2, 7759, 7760, 7, 86, 2, 2, 7760, 7761, 7, 67, 2, 2, 7761, 7762, 7, 72, 2, 2, 7762, 7763, 7, 75, 2, 2, 7763, 7764, 7, 78, 2, 2, 7764, 7765, 7, 71, 2, 2, 7765, 7766, 7, 85, 2, 2, 7766, 640, 3, 2, 2, 2, 7767, 7768, 7, 70, 2, 2, 7768, 7769, 7, 67, 2, 2, 7769, 7770, 7, 86, 2, 2, 7770, 7771, 7, 67, 2, 2, 7771, 7772, 7, 73, 2, 2, 7772, 7773, 7, 87, 2, 2, 7773, 7774, 7, 67, 2, 2, 7774, 7775, 7, 84, 2, 2, 7775, 7776, 7, 70, 2, 2, 7776, 7777, 7, 69, 2, 2, 7777, 7778, 7, 81, 2, 2, 7778, 7779, 7, 80, 2, 2, 7779, 7780, 7, 72, 2, 2, 7780, 7781, 7, 75, 2, 2, 7781, 7782, 7, 73, 2, 2, 7782, 642, 3, 2, 2, 2, 7783, 7784, 7, 70, 2, 2, 7784, 7785, 7, 67, 2, 2, 7785, 7786, 7, 86, 2, 2, 7786, 7787, 7, 67, 2, 2, 7787, 7788, 7, 79, 2, 2, 7788, 7789, 7, 81, 2, 2, 7789, 7790, 7, 88, 2, 2, 7790, 7791, 7, 71, 2, 2, 7791, 7792, 7, 79, 2, 2, 7792, 7793, 7, 71, 2, 2, 7793, 7794, 7, 80, 2, 2, 7794, 7795, 7, 86, 2, 2, 7795, 644, 3, 2, 2, 2, 7796, 7797, 7, 70, 2, 2, 7797, 7798, 7, 67, 2, 2, 7798, 7799, 7, 86, 2, 2, 7799, 7800, 7, 67, 2, 2, 7800, 7801, 7, 81, 2, 2, 7801, 7802, 7, 68, 2, 2, 7802, 7803, 7, 76, 2, 2, 7803, 7804, 7, 80, 2, 2, 7804, 7805, 7, 81, 2, 2, 7805, 646, 3, 2, 2, 2, 7806, 7807, 7, 70, 2, 2, 7807, 7808, 7, 67, 2, 2, 7808, 7809, 7, 86, 2, 2, 7809, 7810, 7, 67, 2, 2, 7810, 7811, 7, 81, 2, 2, 7811, 7812, 7, 68, 2, 2, 7812, 7813, 7, 76, 2, 2, 7813, 7814, 7, 97, 2, 2, 7814, 7815, 7, 86, 2, 2, 7815, 7816, 7, 81, 2, 2, 7816, 7817, 7, 97, 2, 2, 7817, 7818, 7, 79, 2, 2, 7818, 7819, 7, 67, 2, 2, 7819, 7820, 7, 86, 2, 2, 7820, 7821, 7, 97, 2, 2, 7821, 7822, 7, 82, 2, 2, 7822, 7823, 7, 67, 2, 2, 7823, 7824, 7, 84, 2, 2, 7824, 7825, 7, 86, 2, 2, 7825, 7826, 7, 75, 2, 2, 7826, 7827, 7, 86, 2, 2, 7827, 7828, 7, 75, 2, 2, 7828, 7829, 7, 81, 2, 2, 7829, 7830, 7, 80, 2, 2, 7830, 648, 3, 2, 2, 2, 7831, 7832, 7, 70, 2, 2, 7832, 7833, 7, 67, 2, 2, 7833, 7834, 7, 86, 2, 2, 7834, 7835, 7, 67, 2, 2, 7835, 7836, 7, 81, 2, 2, 7836, 7837, 7, 68, 2, 2, 7837, 7838, 7, 76, 2, 2, 7838, 7839, 7, 97, 2, 2, 7839, 7840, 7, 86, 2, 2, 7840, 7841, 7, 81, 2, 2, 7841, 7842, 7, 97, 2, 2, 7842, 7843, 7, 82, 2, 2, 7843, 7844, 7, 67, 2, 2, 7844, 7845, 7, 84, 2, 2, 7845, 7846, 7, 86, 2, 2, 7846, 7847, 7, 75, 2, 2, 7847, 7848, 7, 86, 2, 2, 7848, 7849, 7, 75, 2, 2, 7849, 7850, 7, 81, 2, 2, 7850, 7851, 7, 80, 2, 2, 7851, 650, 3, 2, 2, 2, 7852, 7853, 7, 70, 2, 2, 7853, 7854, 7, 67, 2, 2, 7854, 7855, 7, 86, 2, 2, 7855, 7856, 7, 67, 2, 2, 7856, 7857, 7, 82, 2, 2, 7857, 7858, 7, 87, 2, 2, 7858, 7859, 7, 79, 2, 2, 7859, 7860, 7, 82, 2, 2, 7860, 652, 3, 2, 2, 2, 7861, 7862, 7, 70, 2, 2, 7862, 7863, 7, 67, 2, 2, 7863, 7864, 7, 86, 2, 2, 7864, 7865, 7, 67, 2, 2, 7865, 7866, 7, 97, 2, 2, 7866, 7867, 7, 85, 2, 2, 7867, 7868, 7, 71, 2, 2, 7868, 7869, 7, 69, 2, 2, 7869, 7870, 7, 87, 2, 2, 7870, 7871, 7, 84, 2, 2, 7871, 7872, 7, 75, 2, 2, 7872, 7873, 7, 86, 2, 2, 7873, 7874, 7, 91, 2, 2, 7874, 7875, 7, 97, 2, 2, 7875, 7876, 7, 84, 2, 2, 7876, 7877, 7, 71, 2, 2, 7877, 7878, 7, 89, 2, 2, 7878, 7879, 7, 84, 2, 2, 7879, 7880, 7, 75, 2, 2, 7880, 7881, 7, 86, 2, 2, 7881, 7882, 7, 71, 2, 2, 7882, 7883, 7, 97, 2, 2, 7883, 7884, 7, 78, 2, 2, 7884, 7885, 7, 75, 2, 2, 7885, 7886, 7, 79, 2, 2, 7886, 7887, 7, 75, 2, 2, 7887, 7888, 7, 86, 2, 2, 7888, 654, 3, 2, 2, 2, 7889, 7890, 7, 70, 2, 2, 7890, 7891, 7, 67, 2, 2, 7891, 7892, 7, 86, 2, 2, 7892, 7893, 7, 71, 2, 2, 7893, 656, 3, 2, 2, 2, 7894, 7895, 7, 70, 2, 2, 7895, 7896, 7, 67, 2, 2, 7896, 7897, 7, 86, 2, 2, 7897, 7898, 7, 71, 2, 2, 7898, 7899, 7, 97, 2, 2, 7899, 7900, 7, 79, 2, 2, 7900, 7901, 7, 81, 2, 2, 7901, 7902, 7, 70, 2, 2, 7902, 7903, 7, 71, 2, 2, 7903, 658, 3, 2, 2, 2, 7904, 7905, 7, 70, 2, 2, 7905, 7906, 7, 67, 2, 2, 7906, 7907, 7, 91, 2, 2, 7907, 660, 3, 2, 2, 2, 7908, 7909, 7, 70, 2, 2, 7909, 7910, 7, 67, 2, 2, 7910, 7911, 7, 91, 2, 2, 7911, 7912, 7, 85, 2, 2, 7912, 662, 3, 2, 2, 2, 7913, 7914, 7, 70, 2, 2, 7914, 7915, 7, 68, 2, 2, 7915, 7916, 7, 67, 2, 2, 7916, 664, 3, 2, 2, 2, 7917, 7918, 7, 70, 2, 2, 7918, 7919, 7, 68, 2, 2, 7919, 7920, 7, 67, 2, 2, 7920, 7921, 7, 97, 2, 2, 7921, 7922, 7, 84, 2, 2, 7922, 7923, 7, 71, 2, 2, 7923, 7924, 7, 69, 2, 2, 7924, 7925, 7, 91, 2, 2, 7925, 7926, 7, 69, 2, 2, 7926, 7927, 7, 78, 2, 2, 7927, 7928, 7, 71, 2, 2, 7928, 7929, 7, 68, 2, 2, 7929, 7930, 7, 75, 2, 2, 7930, 7931, 7, 80, 2, 2, 7931, 666, 3, 2, 2, 2, 7932, 7933, 7, 70, 2, 2, 7933, 7934, 7, 68, 2, 2, 7934, 7935, 7, 79, 2, 2, 7935, 7936, 7, 85, 2, 2, 7936, 7937, 7, 97, 2, 2, 7937, 7938, 7, 85, 2, 2, 7938, 7939, 7, 86, 2, 2, 7939, 7940, 7, 67, 2, 2, 7940, 7941, 7, 86, 2, 2, 7941, 7942, 7, 85, 2, 2, 7942, 668, 3, 2, 2, 2, 7943, 7944, 7, 70, 2, 2, 7944, 7945, 7, 68, 2, 2, 7945, 7946, 7, 97, 2, 2, 7946, 7947, 7, 84, 2, 2, 7947, 7948, 7, 81, 2, 2, 7948, 7949, 7, 78, 2, 2, 7949, 7950, 7, 71, 2, 2, 7950, 7951, 7, 97, 2, 2, 7951, 7952, 7, 69, 2, 2, 7952, 7953, 7, 74, 2, 2, 7953, 7954, 7, 67, 2, 2, 7954, 7955, 7, 80, 2, 2, 7955, 7956, 7, 73, 2, 2, 7956, 7957, 7, 71, 2, 2, 7957, 670, 3, 2, 2, 2, 7958, 7959, 7, 70, 2, 2, 7959, 7960, 7, 68, 2, 2, 7960, 7961, 7, 86, 2, 2, 7961, 7962, 7, 75, 2, 2, 7962, 7963, 7, 79, 2, 2, 7963, 7964, 7, 71, 2, 2, 7964, 7965, 7, 92, 2, 2, 7965, 7966, 7, 81, 2, 2, 7966, 7967, 7, 80, 2, 2, 7967, 7968, 7, 71, 2, 2, 7968, 672, 3, 2, 2, 2, 7969, 7970, 7, 70, 2, 2, 7970, 7971, 7, 68, 2, 2, 7971, 7972, 7, 97, 2, 2, 7972, 7973, 7, 87, 2, 2, 7973, 7974, 7, 80, 2, 2, 7974, 7975, 7, 75, 2, 2, 7975, 7976, 7, 83, 2, 2, 7976, 7977, 7, 87, 2, 2, 7977, 7978, 7, 71, 2, 2, 7978, 7979, 7, 97, 2, 2, 7979, 7980, 7, 80, 2, 2, 7980, 7981, 7, 67, 2, 2, 7981, 7982, 7, 79, 2, 2, 7982, 7983, 7, 71, 2, 2, 7983, 674, 3, 2, 2, 2, 7984, 7985, 7, 70, 2, 2, 7985, 7986, 7, 68, 2, 2, 7986, 7987, 7, 97, 2, 2, 7987, 7988, 7, 88, 2, 2, 7988, 7989, 7, 71, 2, 2, 7989, 7990, 7, 84, 2, 2, 7990, 7991, 7, 85, 2, 2, 7991, 7992, 7, 75, 2, 2, 7992, 7993, 7, 81, 2, 2, 7993, 7994, 7, 80, 2, 2, 7994, 676, 3, 2, 2, 2, 7995, 7996, 7, 70, 2, 2, 7996, 7997, 7, 70, 2, 2, 7997, 7998, 7, 78, 2, 2, 7998, 678, 3, 2, 2, 2, 7999, 8000, 7, 70, 2, 2, 8000, 8001, 7, 71, 2, 2, 8001, 8002, 7, 67, 2, 2, 8002, 8003, 7, 78, 2, 2, 8003, 8004, 7, 78, 2, 2, 8004, 8005, 7, 81, 2, 2, 8005, 8006, 7, 69, 2, 2, 8006, 8007, 7, 67, 2, 2, 8007, 8008, 7, 86, 2, 2, 8008, 8009, 7, 71, 2, 2, 8009, 680, 3, 2, 2, 2, 8010, 8011, 7, 70, 2, 2, 8011, 8012, 7, 71, 2, 2, 8012, 8013, 7, 68, 2, 2, 8013, 8014, 7, 87, 2, 2, 8014, 8015, 7, 73, 2, 2, 8015, 682, 3, 2, 2, 2, 8016, 8017, 7, 70, 2, 2, 8017, 8018, 7, 71, 2, 2, 8018, 8019, 7, 68, 2, 2, 8019, 8020, 7, 87, 2, 2, 8020, 8021, 7, 73, 2, 2, 8021, 8022, 7, 73, 2, 2, 8022, 8023, 7, 71, 2, 2, 8023, 8024, 7, 84, 2, 2, 8024, 684, 3, 2, 2, 2, 8025, 8026, 7, 70, 2, 2, 8026, 8027, 7, 71, 2, 2, 8027, 8028, 7, 69, 2, 2, 8028, 686, 3, 2, 2, 2, 8029, 8030, 7, 70, 2, 2, 8030, 8031, 7, 71, 2, 2, 8031, 8032, 7, 69, 2, 2, 8032, 8033, 7, 75, 2, 2, 8033, 8034, 7, 79, 2, 2, 8034, 8035, 7, 67, 2, 2, 8035, 8036, 7, 78, 2, 2, 8036, 688, 3, 2, 2, 2, 8037, 8038, 7, 70, 2, 2, 8038, 8039, 7, 71, 2, 2, 8039, 8040, 7, 69, 2, 2, 8040, 8041, 7, 78, 2, 2, 8041, 8042, 7, 67, 2, 2, 8042, 8043, 7, 84, 2, 2, 8043, 8044, 7, 71, 2, 2, 8044, 690, 3, 2, 2, 2, 8045, 8046, 7, 70, 2, 2, 8046, 8047, 7, 71, 2, 2, 8047, 8048, 7, 69, 2, 2, 8048, 8049, 7, 81, 2, 2, 8049, 8050, 7, 79, 2, 2, 8050, 8051, 7, 82, 2, 2, 8051, 8052, 7, 81, 2, 2, 8052, 8053, 7, 85, 2, 2, 8053, 8054, 7, 71, 2, 2, 8054, 692, 3, 2, 2, 2, 8055, 8056, 7, 70, 2, 2, 8056, 8057, 7, 71, 2, 2, 8057, 8058, 7, 69, 2, 2, 8058, 8059, 7, 81, 2, 2, 8059, 8060, 7, 84, 2, 2, 8060, 8061, 7, 84, 2, 2, 8061, 8062, 7, 71, 2, 2, 8062, 8063, 7, 78, 2, 2, 8063, 8064, 7, 67, 2, 2, 8064, 8065, 7, 86, 2, 2, 8065, 8066, 7, 71, 2, 2, 8066, 694, 3, 2, 2, 2, 8067, 8068, 7, 70, 2, 2, 8068, 8069, 7, 71, 2, 2, 8069, 8070, 7, 69, 2, 2, 8070, 8071, 7, 84, 2, 2, 8071, 696, 3, 2, 2, 2, 8072, 8073, 7, 70, 2, 2, 8073, 8074, 7, 71, 2, 2, 8074, 8075, 7, 69, 2, 2, 8075, 8076, 7, 84, 2, 2, 8076, 8077, 7, 71, 2, 2, 8077, 8078, 7, 79, 2, 2, 8078, 8079, 7, 71, 2, 2, 8079, 8080, 7, 80, 2, 2, 8080, 8081, 7, 86, 2, 2, 8081, 698, 3, 2, 2, 2, 8082, 8083, 7, 70, 2, 2, 8083, 8084, 7, 71, 2, 2, 8084, 8085, 7, 69, 2, 2, 8085, 8086, 7, 84, 2, 2, 8086, 8087, 7, 91, 2, 2, 8087, 8088, 7, 82, 2, 2, 8088, 8089, 7, 86, 2, 2, 8089, 700, 3, 2, 2, 2, 8090, 8091, 7, 70, 2, 2, 8091, 8092, 7, 71, 2, 2, 8092, 8093, 7, 70, 2, 2, 8093, 8094, 7, 87, 2, 2, 8094, 8095, 7, 82, 2, 2, 8095, 8096, 7, 78, 2, 2, 8096, 8097, 7, 75, 2, 2, 8097, 8098, 7, 69, 2, 2, 8098, 8099, 7, 67, 2, 2, 8099, 8100, 7, 86, 2, 2, 8100, 8101, 7, 71, 2, 2, 8101, 702, 3, 2, 2, 2, 8102, 8103, 7, 70, 2, 2, 8103, 8104, 7, 71, 2, 2, 8104, 8105, 7, 72, 2, 2, 8105, 8106, 7, 67, 2, 2, 8106, 8107, 7, 87, 2, 2, 8107, 8108, 7, 78, 2, 2, 8108, 8109, 7, 86, 2, 2, 8109, 704, 3, 2, 2, 2, 8110, 8111, 7, 70, 2, 2, 8111, 8112, 7, 71, 2, 2, 8112, 8113, 7, 72, 2, 2, 8113, 8114, 7, 67, 2, 2, 8114, 8115, 7, 87, 2, 2, 8115, 8116, 7, 78, 2, 2, 8116, 8117, 7, 86, 2, 2, 8117, 8118, 7, 85, 2, 2, 8118, 706, 3, 2, 2, 2, 8119, 8120, 7, 70, 2, 2, 8120, 8121, 7, 71, 2, 2, 8121, 8122, 7, 72, 2, 2, 8122, 8123, 7, 71, 2, 2, 8123, 8124, 7, 84, 2, 2, 8124, 8125, 7, 84, 2, 2, 8125, 8126, 7, 67, 2, 2, 8126, 8127, 7, 68, 2, 2, 8127, 8128, 7, 78, 2, 2, 8128, 8129, 7, 71, 2, 2, 8129, 708, 3, 2, 2, 2, 8130, 8131, 7, 70, 2, 2, 8131, 8132, 7, 71, 2, 2, 8132, 8133, 7, 72, 2, 2, 8133, 8134, 7, 71, 2, 2, 8134, 8135, 7, 84, 2, 2, 8135, 8136, 7, 84, 2, 2, 8136, 8137, 7, 71, 2, 2, 8137, 8138, 7, 70, 2, 2, 8138, 710, 3, 2, 2, 2, 8139, 8140, 7, 70, 2, 2, 8140, 8141, 7, 71, 2, 2, 8141, 8142, 7, 72, 2, 2, 8142, 8143, 7, 75, 2, 2, 8143, 8144, 7, 80, 2, 2, 8144, 8145, 7, 71, 2, 2, 8145, 8146, 7, 70, 2, 2, 8146, 712, 3, 2, 2, 2, 8147, 8148, 7, 70, 2, 2, 8148, 8149, 7, 71, 2, 2, 8149, 8150, 7, 72, 2, 2, 8150, 8151, 7, 75, 2, 2, 8151, 8152, 7, 80, 2, 2, 8152, 8153, 7, 71, 2, 2, 8153, 714, 3, 2, 2, 2, 8154, 8155, 7, 70, 2, 2, 8155, 8156, 7, 71, 2, 2, 8156, 8157, 7, 72, 2, 2, 8157, 8158, 7, 75, 2, 2, 8158, 8159, 7, 80, 2, 2, 8159, 8160, 7, 71, 2, 2, 8160, 8161, 7, 84, 2, 2, 8161, 716, 3, 2, 2, 2, 8162, 8163, 7, 70, 2, 2, 8163, 8164, 7, 71, 2, 2, 8164, 8165, 7, 73, 2, 2, 8165, 8166, 7, 84, 2, 2, 8166, 8167, 7, 71, 2, 2, 8167, 8168, 7, 71, 2, 2, 8168, 718, 3, 2, 2, 2, 8169, 8170, 7, 70, 2, 2, 8170, 8171, 7, 71, 2, 2, 8171, 8172, 7, 78, 2, 2, 8172, 8173, 7, 67, 2, 2, 8173, 8174, 7, 91, 2, 2, 8174, 720, 3, 2, 2, 2, 8175, 8176, 7, 70, 2, 2, 8176, 8177, 7, 71, 2, 2, 8177, 8178, 7, 78, 2, 2, 8178, 8179, 7, 71, 2, 2, 8179, 8180, 7, 73, 2, 2, 8180, 8181, 7, 67, 2, 2, 8181, 8182, 7, 86, 2, 2, 8182, 8183, 7, 71, 2, 2, 8183, 722, 3, 2, 2, 2, 8184, 8185, 7, 70, 2, 2, 8185, 8186, 7, 71, 2, 2, 8186, 8187, 7, 78, 2, 2, 8187, 8188, 7, 71, 2, 2, 8188, 8189, 7, 86, 2, 2, 8189, 8190, 7, 71, 2, 2, 8190, 8191, 7, 97, 2, 2, 8191, 8192, 7, 67, 2, 2, 8192, 8193, 7, 78, 2, 2, 8193, 8194, 7, 78, 2, 2, 8194, 724, 3, 2, 2, 2, 8195, 8196, 7, 70, 2, 2, 8196, 8197, 7, 71, 2, 2, 8197, 8198, 7, 78, 2, 2, 8198, 8199, 7, 71, 2, 2, 8199, 8200, 7, 86, 2, 2, 8200, 8201, 7, 71, 2, 2, 8201, 726, 3, 2, 2, 2, 8202, 8203, 7, 70, 2, 2, 8203, 8204, 7, 71, 2, 2, 8204, 8205, 7, 78, 2, 2, 8205, 8206, 7, 71, 2, 2, 8206, 8207, 7, 86, 2, 2, 8207, 8208, 7, 71, 2, 2, 8208, 8209, 7, 90, 2, 2, 8209, 8210, 7, 79, 2, 2, 8210, 8211, 7, 78, 2, 2, 8211, 728, 3, 2, 2, 2, 8212, 8213, 7, 70, 2, 2, 8213, 8214, 7, 71, 2, 2, 8214, 8215, 7, 79, 2, 2, 8215, 8216, 7, 67, 2, 2, 8216, 8217, 7, 80, 2, 2, 8217, 8218, 7, 70, 2, 2, 8218, 730, 3, 2, 2, 2, 8219, 8220, 7, 70, 2, 2, 8220, 8221, 7, 71, 2, 2, 8221, 8222, 7, 80, 2, 2, 8222, 8223, 7, 85, 2, 2, 8223, 8224, 7, 71, 2, 2, 8224, 8225, 7, 97, 2, 2, 8225, 8226, 7, 84, 2, 2, 8226, 8227, 7, 67, 2, 2, 8227, 8228, 7, 80, 2, 2, 8228, 8229, 7, 77, 2, 2, 8229, 8230, 7, 79, 2, 2, 8230, 732, 3, 2, 2, 2, 8231, 8232, 7, 70, 2, 2, 8232, 8233, 7, 71, 2, 2, 8233, 8234, 7, 82, 2, 2, 8234, 8235, 7, 71, 2, 2, 8235, 8236, 7, 80, 2, 2, 8236, 8237, 7, 70, 2, 2, 8237, 8238, 7, 71, 2, 2, 8238, 8239, 7, 80, 2, 2, 8239, 8240, 7, 86, 2, 2, 8240, 734, 3, 2, 2, 2, 8241, 8242, 7, 70, 2, 2, 8242, 8243, 7, 71, 2, 2, 8243, 8244, 7, 82, 2, 2, 8244, 8245, 7, 86, 2, 2, 8245, 8246, 7, 74, 2, 2, 8246, 736, 3, 2, 2, 2, 8247, 8248, 7, 70, 2, 2, 8248, 8249, 7, 71, 2, 2, 8249, 8250, 7, 83, 2, 2, 8250, 8251, 7, 87, 2, 2, 8251, 8252, 7, 71, 2, 2, 8252, 8253, 7, 87, 2, 2, 8253, 8254, 7, 71, 2, 2, 8254, 738, 3, 2, 2, 2, 8255, 8256, 7, 70, 2, 2, 8256, 8257, 7, 71, 2, 2, 8257, 8258, 7, 84, 2, 2, 8258, 8259, 7, 71, 2, 2, 8259, 8260, 7, 72, 2, 2, 8260, 740, 3, 2, 2, 2, 8261, 8262, 7, 70, 2, 2, 8262, 8263, 7, 71, 2, 2, 8263, 8264, 7, 84, 2, 2, 8264, 8265, 7, 71, 2, 2, 8265, 8266, 7, 72, 2, 2, 8266, 8267, 7, 97, 2, 2, 8267, 8268, 7, 80, 2, 2, 8268, 8269, 7, 81, 2, 2, 8269, 8270, 7, 97, 2, 2, 8270, 8271, 7, 84, 2, 2, 8271, 8272, 7, 71, 2, 2, 8272, 8273, 7, 89, 2, 2, 8273, 8274, 7, 84, 2, 2, 8274, 8275, 7, 75, 2, 2, 8275, 8276, 7, 86, 2, 2, 8276, 8277, 7, 71, 2, 2, 8277, 742, 3, 2, 2, 2, 8278, 8279, 7, 70, 2, 2, 8279, 8280, 7, 71, 2, 2, 8280, 8281, 7, 85, 2, 2, 8281, 8282, 7, 69, 2, 2, 8282, 744, 3, 2, 2, 2, 8283, 8284, 7, 70, 2, 2, 8284, 8285, 7, 71, 2, 2, 8285, 8286, 7, 85, 2, 2, 8286, 8287, 7, 86, 2, 2, 8287, 8288, 7, 84, 2, 2, 8288, 8289, 7, 81, 2, 2, 8289, 8290, 7, 91, 2, 2, 8290, 746, 3, 2, 2, 2, 8291, 8292, 7, 70, 2, 2, 8292, 8293, 7, 71, 2, 2, 8293, 8294, 7, 86, 2, 2, 8294, 8295, 7, 67, 2, 2, 8295, 8296, 7, 69, 2, 2, 8296, 8297, 7, 74, 2, 2, 8297, 8298, 7, 71, 2, 2, 8298, 8299, 7, 70, 2, 2, 8299, 748, 3, 2, 2, 2, 8300, 8301, 7, 70, 2, 2, 8301, 8302, 7, 71, 2, 2, 8302, 8303, 7, 86, 2, 2, 8303, 8304, 7, 71, 2, 2, 8304, 8305, 7, 84, 2, 2, 8305, 8306, 7, 79, 2, 2, 8306, 8307, 7, 75, 2, 2, 8307, 8308, 7, 80, 2, 2, 8308, 8309, 7, 71, 2, 2, 8309, 8310, 7, 85, 2, 2, 8310, 750, 3, 2, 2, 2, 8311, 8312, 7, 70, 2, 2, 8312, 8313, 7, 71, 2, 2, 8313, 8314, 7, 86, 2, 2, 8314, 8315, 7, 71, 2, 2, 8315, 8316, 7, 84, 2, 2, 8316, 8317, 7, 79, 2, 2, 8317, 8318, 7, 75, 2, 2, 8318, 8319, 7, 80, 2, 2, 8319, 8320, 7, 75, 2, 2, 8320, 8321, 7, 85, 2, 2, 8321, 8322, 7, 86, 2, 2, 8322, 8323, 7, 75, 2, 2, 8323, 8324, 7, 69, 2, 2, 8324, 752, 3, 2, 2, 2, 8325, 8326, 7, 70, 2, 2, 8326, 8327, 7, 75, 2, 2, 8327, 8328, 7, 69, 2, 2, 8328, 8329, 7, 86, 2, 2, 8329, 8330, 7, 75, 2, 2, 8330, 8331, 7, 81, 2, 2, 8331, 8332, 7, 80, 2, 2, 8332, 8333, 7, 67, 2, 2, 8333, 8334, 7, 84, 2, 2, 8334, 8335, 7, 91, 2, 2, 8335, 754, 3, 2, 2, 2, 8336, 8337, 7, 70, 2, 2, 8337, 8338, 7, 75, 2, 2, 8338, 8339, 7, 79, 2, 2, 8339, 8340, 7, 71, 2, 2, 8340, 8341, 7, 80, 2, 2, 8341, 8342, 7, 85, 2, 2, 8342, 8343, 7, 75, 2, 2, 8343, 8344, 7, 81, 2, 2, 8344, 8345, 7, 80, 2, 2, 8345, 756, 3, 2, 2, 2, 8346, 8347, 7, 70, 2, 2, 8347, 8348, 7, 75, 2, 2, 8348, 8349, 7, 79, 2, 2, 8349, 8350, 7, 71, 2, 2, 8350, 8351, 7, 80, 2, 2, 8351, 8352, 7, 85, 2, 2, 8352, 8353, 7, 75, 2, 2, 8353, 8354, 7, 81, 2, 2, 8354, 8355, 7, 80, 2, 2, 8355, 8356, 7, 85, 2, 2, 8356, 758, 3, 2, 2, 2, 8357, 8358, 7, 70, 2, 2, 8358, 8359, 7, 75, 2, 2, 8359, 8360, 7, 84, 2, 2, 8360, 8361, 7, 71, 2, 2, 8361, 8362, 7, 69, 2, 2, 8362, 8363, 7, 86, 2, 2, 8363, 8364, 7, 97, 2, 2, 8364, 8365, 7, 78, 2, 2, 8365, 8366, 7, 81, 2, 2, 8366, 8367, 7, 67, 2, 2, 8367, 8368, 7, 70, 2, 2, 8368, 760, 3, 2, 2, 2, 8369, 8370, 7, 70, 2, 2, 8370, 8371, 7, 75, 2, 2, 8371, 8372, 7, 84, 2, 2, 8372, 8373, 7, 71, 2, 2, 8373, 8374, 7, 69, 2, 2, 8374, 8375, 7, 86, 2, 2, 8375, 8376, 7, 81, 2, 2, 8376, 8377, 7, 84, 2, 2, 8377, 8378, 7, 91, 2, 2, 8378, 762, 3, 2, 2, 2, 8379, 8380, 7, 70, 2, 2, 8380, 8381, 7, 75, 2, 2, 8381, 8382, 7, 84, 2, 2, 8382, 8383, 7, 71, 2, 2, 8383, 8384, 7, 69, 2, 2, 8384, 8385, 7, 86, 2, 2, 8385, 8386, 7, 97, 2, 2, 8386, 8387, 7, 82, 2, 2, 8387, 8388, 7, 67, 2, 2, 8388, 8389, 7, 86, 2, 2, 8389, 8390, 7, 74, 2, 2, 8390, 764, 3, 2, 2, 2, 8391, 8392, 7, 70, 2, 2, 8392, 8393, 7, 75, 2, 2, 8393, 8394, 7, 85, 2, 2, 8394, 8395, 7, 67, 2, 2, 8395, 8396, 7, 68, 2, 2, 8396, 8397, 7, 78, 2, 2, 8397, 8398, 7, 71, 2, 2, 8398, 8399, 7, 97, 2, 2, 8399, 8400, 7, 67, 2, 2, 8400, 8401, 7, 78, 2, 2, 8401, 8402, 7, 78, 2, 2, 8402, 766, 3, 2, 2, 2, 8403, 8404, 7, 70, 2, 2, 8404, 8405, 7, 75, 2, 2, 8405, 8406, 7, 85, 2, 2, 8406, 8407, 7, 67, 2, 2, 8407, 8408, 7, 68, 2, 2, 8408, 8409, 7, 78, 2, 2, 8409, 8410, 7, 71, 2, 2, 8410, 768, 3, 2, 2, 2, 8411, 8412, 7, 70, 2, 2, 8412, 8413, 7, 75, 2, 2, 8413, 8414, 7, 85, 2, 2, 8414, 8415, 7, 67, 2, 2, 8415, 8416, 7, 68, 2, 2, 8416, 8417, 7, 78, 2, 2, 8417, 8418, 7, 71, 2, 2, 8418, 8419, 7, 97, 2, 2, 8419, 8420, 7, 82, 2, 2, 8420, 8421, 7, 67, 2, 2, 8421, 8422, 7, 84, 2, 2, 8422, 8423, 7, 67, 2, 2, 8423, 8424, 7, 78, 2, 2, 8424, 8425, 7, 78, 2, 2, 8425, 8426, 7, 71, 2, 2, 8426, 8427, 7, 78, 2, 2, 8427, 8428, 7, 97, 2, 2, 8428, 8429, 7, 70, 2, 2, 8429, 8430, 7, 79, 2, 2, 8430, 8431, 7, 78, 2, 2, 8431, 770, 3, 2, 2, 2, 8432, 8433, 7, 70, 2, 2, 8433, 8434, 7, 75, 2, 2, 8434, 8435, 7, 85, 2, 2, 8435, 8436, 7, 67, 2, 2, 8436, 8437, 7, 68, 2, 2, 8437, 8438, 7, 78, 2, 2, 8438, 8439, 7, 71, 2, 2, 8439, 8440, 7, 97, 2, 2, 8440, 8441, 7, 82, 2, 2, 8441, 8442, 7, 84, 2, 2, 8442, 8443, 7, 71, 2, 2, 8443, 8444, 7, 85, 2, 2, 8444, 8445, 7, 71, 2, 2, 8445, 8446, 7, 86, 2, 2, 8446, 772, 3, 2, 2, 2, 8447, 8448, 7, 70, 2, 2, 8448, 8449, 7, 75, 2, 2, 8449, 8450, 7, 85, 2, 2, 8450, 8451, 7, 67, 2, 2, 8451, 8452, 7, 68, 2, 2, 8452, 8453, 7, 78, 2, 2, 8453, 8454, 7, 71, 2, 2, 8454, 8455, 7, 97, 2, 2, 8455, 8456, 7, 84, 2, 2, 8456, 8457, 7, 82, 2, 2, 8457, 8458, 7, 77, 2, 2, 8458, 8459, 7, 71, 2, 2, 8459, 774, 3, 2, 2, 2, 8460, 8461, 7, 70, 2, 2, 8461, 8462, 7, 75, 2, 2, 8462, 8463, 7, 85, 2, 2, 8463, 8464, 7, 67, 2, 2, 8464, 8465, 7, 78, 2, 2, 8465, 8466, 7, 78, 2, 2, 8466, 8467, 7, 81, 2, 2, 8467, 8468, 7, 89, 2, 2, 8468, 776, 3, 2, 2, 2, 8469, 8470, 7, 70, 2, 2, 8470, 8471, 7, 75, 2, 2, 8471, 8472, 7, 85, 2, 2, 8472, 8473, 7, 67, 2, 2, 8473, 8474, 7, 85, 2, 2, 8474, 8475, 7, 85, 2, 2, 8475, 8476, 7, 81, 2, 2, 8476, 8477, 7, 69, 2, 2, 8477, 8478, 7, 75, 2, 2, 8478, 8479, 7, 67, 2, 2, 8479, 8480, 7, 86, 2, 2, 8480, 8481, 7, 71, 2, 2, 8481, 778, 3, 2, 2, 2, 8482, 8483, 7, 70, 2, 2, 8483, 8484, 7, 75, 2, 2, 8484, 8485, 7, 85, 2, 2, 8485, 8486, 7, 69, 2, 2, 8486, 8487, 7, 67, 2, 2, 8487, 8488, 7, 84, 2, 2, 8488, 8489, 7, 70, 2, 2, 8489, 780, 3, 2, 2, 2, 8490, 8491, 7, 70, 2, 2, 8491, 8492, 7, 75, 2, 2, 8492, 8493, 7, 85, 2, 2, 8493, 8494, 7, 69, 2, 2, 8494, 8495, 7, 81, 2, 2, 8495, 8496, 7, 80, 2, 2, 8496, 8497, 7, 80, 2, 2, 8497, 8498, 7, 71, 2, 2, 8498, 8499, 7, 69, 2, 2, 8499, 8500, 7, 86, 2, 2, 8500, 782, 3, 2, 2, 2, 8501, 8502, 7, 70, 2, 2, 8502, 8503, 7, 75, 2, 2, 8503, 8504, 7, 85, 2, 2, 8504, 8505, 7, 77, 2, 2, 8505, 784, 3, 2, 2, 2, 8506, 8507, 7, 70, 2, 2, 8507, 8508, 7, 75, 2, 2, 8508, 8509, 7, 85, 2, 2, 8509, 8510, 7, 77, 2, 2, 8510, 8511, 7, 73, 2, 2, 8511, 8512, 7, 84, 2, 2, 8512, 8513, 7, 81, 2, 2, 8513, 8514, 7, 87, 2, 2, 8514, 8515, 7, 82, 2, 2, 8515, 786, 3, 2, 2, 2, 8516, 8517, 7, 41, 2, 2, 8517, 8518, 7, 45, 2, 2, 8518, 8519, 7, 34, 2, 2, 8519, 8520, 7, 70, 2, 2, 8520, 8521, 7, 75, 2, 2, 8521, 8522, 7, 85, 2, 2, 8522, 8523, 7, 77, 2, 2, 8523, 8524, 7, 73, 2, 2, 8524, 8525, 7, 84, 2, 2, 8525, 8526, 7, 81, 2, 2, 8526, 8527, 7, 87, 2, 2, 8527, 8528, 7, 82, 2, 2, 8528, 788, 3, 2, 2, 2, 8529, 8530, 7, 70, 2, 2, 8530, 8531, 7, 75, 2, 2, 8531, 8532, 7, 85, 2, 2, 8532, 8533, 7, 77, 2, 2, 8533, 8534, 7, 85, 2, 2, 8534, 790, 3, 2, 2, 2, 8535, 8536, 7, 70, 2, 2, 8536, 8537, 7, 75, 2, 2, 8537, 8538, 7, 85, 2, 2, 8538, 8539, 7, 79, 2, 2, 8539, 8540, 7, 81, 2, 2, 8540, 8541, 7, 87, 2, 2, 8541, 8542, 7, 80, 2, 2, 8542, 8543, 7, 86, 2, 2, 8543, 792, 3, 2, 2, 2, 8544, 8545, 7, 70, 2, 2, 8545, 8546, 7, 75, 2, 2, 8546, 8547, 7, 85, 2, 2, 8547, 8548, 7, 86, 2, 2, 8548, 8549, 7, 75, 2, 2, 8549, 8550, 7, 80, 2, 2, 8550, 8551, 7, 69, 2, 2, 8551, 8552, 7, 86, 2, 2, 8552, 794, 3, 2, 2, 2, 8553, 8554, 7, 70, 2, 2, 8554, 8555, 7, 75, 2, 2, 8555, 8556, 7, 85, 2, 2, 8556, 8557, 7, 86, 2, 2, 8557, 8558, 7, 75, 2, 2, 8558, 8559, 7, 80, 2, 2, 8559, 8560, 7, 73, 2, 2, 8560, 8561, 7, 87, 2, 2, 8561, 8562, 7, 75, 2, 2, 8562, 8563, 7, 85, 2, 2, 8563, 8564, 7, 74, 2, 2, 8564, 8565, 7, 71, 2, 2, 8565, 8566, 7, 70, 2, 2, 8566, 796, 3, 2, 2, 2, 8567, 8568, 7, 70, 2, 2, 8568, 8569, 7, 75, 2, 2, 8569, 8570, 7, 85, 2, 2, 8570, 8571, 7, 86, 2, 2, 8571, 8572, 7, 84, 2, 2, 8572, 8573, 7, 75, 2, 2, 8573, 8574, 7, 68, 2, 2, 8574, 8575, 7, 87, 2, 2, 8575, 8576, 7, 86, 2, 2, 8576, 8577, 7, 71, 2, 2, 8577, 8578, 7, 70, 2, 2, 8578, 798, 3, 2, 2, 2, 8579, 8580, 7, 70, 2, 2, 8580, 8581, 7, 75, 2, 2, 8581, 8582, 7, 85, 2, 2, 8582, 8583, 7, 86, 2, 2, 8583, 8584, 7, 84, 2, 2, 8584, 8585, 7, 75, 2, 2, 8585, 8586, 7, 68, 2, 2, 8586, 8587, 7, 87, 2, 2, 8587, 8588, 7, 86, 2, 2, 8588, 8589, 7, 71, 2, 2, 8589, 800, 3, 2, 2, 2, 8590, 8591, 7, 70, 2, 2, 8591, 8592, 7, 79, 2, 2, 8592, 8593, 7, 78, 2, 2, 8593, 802, 3, 2, 2, 2, 8594, 8595, 7, 70, 2, 2, 8595, 8596, 7, 79, 2, 2, 8596, 8597, 7, 78, 2, 2, 8597, 8598, 7, 97, 2, 2, 8598, 8599, 7, 87, 2, 2, 8599, 8600, 7, 82, 2, 2, 8600, 8601, 7, 70, 2, 2, 8601, 8602, 7, 67, 2, 2, 8602, 8603, 7, 86, 2, 2, 8603, 8604, 7, 71, 2, 2, 8604, 804, 3, 2, 2, 2, 8605, 8606, 7, 70, 2, 2, 8606, 8607, 7, 81, 2, 2, 8607, 8608, 7, 69, 2, 2, 8608, 8609, 7, 72, 2, 2, 8609, 8610, 7, 75, 2, 2, 8610, 8611, 7, 70, 2, 2, 8611, 8612, 7, 71, 2, 2, 8612, 8613, 7, 78, 2, 2, 8613, 8614, 7, 75, 2, 2, 8614, 8615, 7, 86, 2, 2, 8615, 8616, 7, 91, 2, 2, 8616, 806, 3, 2, 2, 2, 8617, 8618, 7, 70, 2, 2, 8618, 8619, 7, 81, 2, 2, 8619, 8620, 7, 69, 2, 2, 8620, 8621, 7, 87, 2, 2, 8621, 8622, 7, 79, 2, 2, 8622, 8623, 7, 71, 2, 2, 8623, 8624, 7, 80, 2, 2, 8624, 8625, 7, 86, 2, 2, 8625, 808, 3, 2, 2, 2, 8626, 8627, 7, 70, 2, 2, 8627, 8628, 7, 81, 2, 2, 8628, 8629, 7, 79, 2, 2, 8629, 8630, 7, 67, 2, 2, 8630, 8631, 7, 75, 2, 2, 8631, 8632, 7, 80, 2, 2, 8632, 8633, 7, 97, 2, 2, 8633, 8634, 7, 75, 2, 2, 8634, 8635, 7, 80, 2, 2, 8635, 8636, 7, 70, 2, 2, 8636, 8637, 7, 71, 2, 2, 8637, 8638, 7, 90, 2, 2, 8638, 8639, 7, 97, 2, 2, 8639, 8640, 7, 72, 2, 2, 8640, 8641, 7, 75, 2, 2, 8641, 8642, 7, 78, 2, 2, 8642, 8643, 7, 86, 2, 2, 8643, 8644, 7, 71, 2, 2, 8644, 8645, 7, 84, 2, 2, 8645, 810, 3, 2, 2, 2, 8646, 8647, 7, 70, 2, 2, 8647, 8648, 7, 81, 2, 2, 8648, 8649, 7, 79, 2, 2, 8649, 8650, 7, 67, 2, 2, 8650, 8651, 7, 75, 2, 2, 8651, 8652, 7, 80, 2, 2, 8652, 8653, 7, 97, 2, 2, 8653, 8654, 7, 75, 2, 2, 8654, 8655, 7, 80, 2, 2, 8655, 8656, 7, 70, 2, 2, 8656, 8657, 7, 71, 2, 2, 8657, 8658, 7, 90, 2, 2, 8658, 8659, 7, 97, 2, 2, 8659, 8660, 7, 80, 2, 2, 8660, 8661, 7, 81, 2, 2, 8661, 8662, 7, 97, 2, 2, 8662, 8663, 7, 85, 2, 2, 8663, 8664, 7, 81, 2, 2, 8664, 8665, 7, 84, 2, 2, 8665, 8666, 7, 86, 2, 2, 8666, 812, 3, 2, 2, 2, 8667, 8668, 7, 70, 2, 2, 8668, 8669, 7, 81, 2, 2, 8669, 8670, 7, 79, 2, 2, 8670, 8671, 7, 67, 2, 2, 8671, 8672, 7, 75, 2, 2, 8672, 8673, 7, 80, 2, 2, 8673, 8674, 7, 97, 2, 2, 8674, 8675, 7, 75, 2, 2, 8675, 8676, 7, 80, 2, 2, 8676, 8677, 7, 70, 2, 2, 8677, 8678, 7, 71, 2, 2, 8678, 8679, 7, 90, 2, 2, 8679, 8680, 7, 97, 2, 2, 8680, 8681, 7, 85, 2, 2, 8681, 8682, 7, 81, 2, 2, 8682, 8683, 7, 84, 2, 2, 8683, 8684, 7, 86, 2, 2, 8684, 814, 3, 2, 2, 2, 8685, 8686, 7, 70, 2, 2, 8686, 8687, 7, 81, 2, 2, 8687, 8688, 7, 87, 2, 2, 8688, 8689, 7, 68, 2, 2, 8689, 8690, 7, 78, 2, 2, 8690, 8691, 7, 71, 2, 2, 8691, 816, 3, 2, 2, 2, 8692, 8693, 7, 70, 2, 2, 8693, 8694, 7, 81, 2, 2, 8694, 8695, 7, 89, 2, 2, 8695, 8696, 7, 80, 2, 2, 8696, 8697, 7, 73, 2, 2, 8697, 8698, 7, 84, 2, 2, 8698, 8699, 7, 67, 2, 2, 8699, 8700, 7, 70, 2, 2, 8700, 8701, 7, 71, 2, 2, 8701, 818, 3, 2, 2, 2, 8702, 8703, 7, 70, 2, 2, 8703, 8704, 7, 84, 2, 2, 8704, 8705, 7, 75, 2, 2, 8705, 8706, 7, 88, 2, 2, 8706, 8707, 7, 75, 2, 2, 8707, 8708, 7, 80, 2, 2, 8708, 8709, 7, 73, 2, 2, 8709, 8710, 7, 97, 2, 2, 8710, 8711, 7, 85, 2, 2, 8711, 8712, 7, 75, 2, 2, 8712, 8713, 7, 86, 2, 2, 8713, 8714, 7, 71, 2, 2, 8714, 820, 3, 2, 2, 2, 8715, 8716, 7, 70, 2, 2, 8716, 8717, 7, 84, 2, 2, 8717, 8718, 7, 81, 2, 2, 8718, 8719, 7, 82, 2, 2, 8719, 8720, 7, 97, 2, 2, 8720, 8721, 7, 69, 2, 2, 8721, 8722, 7, 81, 2, 2, 8722, 8723, 7, 78, 2, 2, 8723, 8724, 7, 87, 2, 2, 8724, 8725, 7, 79, 2, 2, 8725, 8726, 7, 80, 2, 2, 8726, 822, 3, 2, 2, 2, 8727, 8728, 7, 70, 2, 2, 8728, 8729, 7, 84, 2, 2, 8729, 8730, 7, 81, 2, 2, 8730, 8731, 7, 82, 2, 2, 8731, 824, 3, 2, 2, 2, 8732, 8733, 7, 70, 2, 2, 8733, 8734, 7, 84, 2, 2, 8734, 8735, 7, 81, 2, 2, 8735, 8736, 7, 82, 2, 2, 8736, 8737, 7, 97, 2, 2, 8737, 8738, 7, 73, 2, 2, 8738, 8739, 7, 84, 2, 2, 8739, 8740, 7, 81, 2, 2, 8740, 8741, 7, 87, 2, 2, 8741, 8742, 7, 82, 2, 2, 8742, 826, 3, 2, 2, 2, 8743, 8744, 7, 70, 2, 2, 8744, 8745, 7, 85, 2, 2, 8745, 8746, 7, 75, 2, 2, 8746, 8747, 7, 80, 2, 2, 8747, 8748, 7, 86, 2, 2, 8748, 8749, 7, 71, 2, 2, 8749, 8750, 7, 84, 2, 2, 8750, 8751, 7, 88, 2, 2, 8751, 8752, 7, 67, 2, 2, 8752, 8753, 7, 78, 2, 2, 8753, 8754, 7, 97, 2, 2, 8754, 8755, 7, 87, 2, 2, 8755, 8756, 7, 80, 2, 2, 8756, 8757, 7, 69, 2, 2, 8757, 8758, 7, 81, 2, 2, 8758, 8759, 7, 80, 2, 2, 8759, 8760, 7, 85, 2, 2, 8760, 8761, 7, 86, 2, 2, 8761, 8762, 7, 84, 2, 2, 8762, 8763, 7, 67, 2, 2, 8763, 8764, 7, 75, 2, 2, 8764, 8765, 7, 80, 2, 2, 8765, 8766, 7, 71, 2, 2, 8766, 8767, 7, 70, 2, 2, 8767, 828, 3, 2, 2, 2, 8768, 8769, 7, 70, 2, 2, 8769, 8770, 7, 85, 2, 2, 8770, 8771, 7, 86, 2, 2, 8771, 8772, 7, 97, 2, 2, 8772, 8773, 7, 87, 2, 2, 8773, 8774, 7, 82, 2, 2, 8774, 8775, 7, 73, 2, 2, 8775, 8776, 7, 84, 2, 2, 8776, 8777, 7, 67, 2, 2, 8777, 8778, 7, 70, 2, 2, 8778, 8779, 7, 71, 2, 2, 8779, 8780, 7, 97, 2, 2, 8780, 8781, 7, 75, 2, 2, 8781, 8782, 7, 80, 2, 2, 8782, 8783, 7, 85, 2, 2, 8783, 8784, 7, 71, 2, 2, 8784, 8785, 7, 84, 2, 2, 8785, 8786, 7, 86, 2, 2, 8786, 8787, 7, 97, 2, 2, 8787, 8788, 7, 69, 2, 2, 8788, 8789, 7, 81, 2, 2, 8789, 8790, 7, 80, 2, 2, 8790, 8791, 7, 88, 2, 2, 8791, 830, 3, 2, 2, 2, 8792, 8793, 7, 70, 2, 2, 8793, 8794, 7, 87, 2, 2, 8794, 8795, 7, 79, 2, 2, 8795, 8796, 7, 82, 2, 2, 8796, 832, 3, 2, 2, 2, 8797, 8798, 7, 70, 2, 2, 8798, 8799, 7, 87, 2, 2, 8799, 8800, 7, 79, 2, 2, 8800, 8801, 7, 82, 2, 2, 8801, 8802, 7, 85, 2, 2, 8802, 8803, 7, 71, 2, 2, 8803, 8804, 7, 86, 2, 2, 8804, 834, 3, 2, 2, 2, 8805, 8806, 7, 70, 2, 2, 8806, 8807, 7, 87, 2, 2, 8807, 8808, 7, 82, 2, 2, 8808, 8809, 7, 78, 2, 2, 8809, 8810, 7, 75, 2, 2, 8810, 8811, 7, 69, 2, 2, 8811, 8812, 7, 67, 2, 2, 8812, 8813, 7, 86, 2, 2, 8813, 8814, 7, 71, 2, 2, 8814, 836, 3, 2, 2, 2, 8815, 8816, 7, 70, 2, 2, 8816, 8817, 7, 88, 2, 2, 8817, 838, 3, 2, 2, 2, 8818, 8819, 7, 70, 2, 2, 8819, 8820, 7, 91, 2, 2, 8820, 8821, 7, 80, 2, 2, 8821, 8822, 7, 67, 2, 2, 8822, 8823, 7, 79, 2, 2, 8823, 8824, 7, 75, 2, 2, 8824, 8825, 7, 69, 2, 2, 8825, 840, 3, 2, 2, 2, 8826, 8827, 7, 70, 2, 2, 8827, 8828, 7, 91, 2, 2, 8828, 8829, 7, 80, 2, 2, 8829, 8830, 7, 67, 2, 2, 8830, 8831, 7, 79, 2, 2, 8831, 8832, 7, 75, 2, 2, 8832, 8833, 7, 69, 2, 2, 8833, 8834, 7, 97, 2, 2, 8834, 8835, 7, 85, 2, 2, 8835, 8836, 7, 67, 2, 2, 8836, 8837, 7, 79, 2, 2, 8837, 8838, 7, 82, 2, 2, 8838, 8839, 7, 78, 2, 2, 8839, 8840, 7, 75, 2, 2, 8840, 8841, 7, 80, 2, 2, 8841, 8842, 7, 73, 2, 2, 8842, 842, 3, 2, 2, 2, 8843, 8844, 7, 70, 2, 2, 8844, 8845, 7, 91, 2, 2, 8845, 8846, 7, 80, 2, 2, 8846, 8847, 7, 67, 2, 2, 8847, 8848, 7, 79, 2, 2, 8848, 8849, 7, 75, 2, 2, 8849, 8850, 7, 69, 2, 2, 8850, 8851, 7, 97, 2, 2, 8851, 8852, 7, 85, 2, 2, 8852, 8853, 7, 67, 2, 2, 8853, 8854, 7, 79, 2, 2, 8854, 8855, 7, 82, 2, 2, 8855, 8856, 7, 78, 2, 2, 8856, 8857, 7, 75, 2, 2, 8857, 8858, 7, 80, 2, 2, 8858, 8859, 7, 73, 2, 2, 8859, 8860, 7, 97, 2, 2, 8860, 8861, 7, 71, 2, 2, 8861, 8862, 7, 85, 2, 2, 8862, 8863, 7, 86, 2, 2, 8863, 8864, 7, 97, 2, 2, 8864, 8865, 7, 69, 2, 2, 8865, 8866, 7, 70, 2, 2, 8866, 8867, 7, 80, 2, 2, 8867, 844, 3, 2, 2, 2, 8868, 8869, 7, 71, 2, 2, 8869, 8870, 7, 67, 2, 2, 8870, 8871, 7, 69, 2, 2, 8871, 8872, 7, 74, 2, 2, 8872, 846, 3, 2, 2, 2, 8873, 8874, 7, 71, 2, 2, 8874, 8875, 7, 70, 2, 2, 8875, 8876, 7, 75, 2, 2, 8876, 8877, 7, 86, 2, 2, 8877, 8878, 7, 75, 2, 2, 8878, 8879, 7, 81, 2, 2, 8879, 8880, 7, 80, 2, 2, 8880, 8881, 7, 67, 2, 2, 8881, 8882, 7, 68, 2, 2, 8882, 8883, 7, 78, 2, 2, 8883, 8884, 7, 71, 2, 2, 8884, 848, 3, 2, 2, 2, 8885, 8886, 7, 71, 2, 2, 8886, 8887, 7, 70, 2, 2, 8887, 8888, 7, 75, 2, 2, 8888, 8889, 7, 86, 2, 2, 8889, 8890, 7, 75, 2, 2, 8890, 8891, 7, 81, 2, 2, 8891, 8892, 7, 80, 2, 2, 8892, 850, 3, 2, 2, 2, 8893, 8894, 7, 71, 2, 2, 8894, 8895, 7, 70, 2, 2, 8895, 8896, 7, 75, 2, 2, 8896, 8897, 7, 86, 2, 2, 8897, 8898, 7, 75, 2, 2, 8898, 8899, 7, 81, 2, 2, 8899, 8900, 7, 80, 2, 2, 8900, 8901, 7, 75, 2, 2, 8901, 8902, 7, 80, 2, 2, 8902, 8903, 7, 73, 2, 2, 8903, 852, 3, 2, 2, 2, 8904, 8905, 7, 71, 2, 2, 8905, 8906, 7, 70, 2, 2, 8906, 8907, 7, 75, 2, 2, 8907, 8908, 7, 86, 2, 2, 8908, 8909, 7, 75, 2, 2, 8909, 8910, 7, 81, 2, 2, 8910, 8911, 7, 80, 2, 2, 8911, 8912, 7, 85, 2, 2, 8912, 854, 3, 2, 2, 2, 8913, 8914, 7, 71, 2, 2, 8914, 8915, 7, 78, 2, 2, 8915, 8916, 7, 71, 2, 2, 8916, 8917, 7, 79, 2, 2, 8917, 8918, 7, 71, 2, 2, 8918, 8919, 7, 80, 2, 2, 8919, 8920, 7, 86, 2, 2, 8920, 856, 3, 2, 2, 2, 8921, 8922, 7, 71, 2, 2, 8922, 8923, 7, 78, 2, 2, 8923, 8924, 7, 75, 2, 2, 8924, 8925, 7, 79, 2, 2, 8925, 8926, 7, 97, 2, 2, 8926, 8927, 7, 73, 2, 2, 8927, 8928, 7, 84, 2, 2, 8928, 8929, 7, 81, 2, 2, 8929, 8930, 7, 87, 2, 2, 8930, 8931, 7, 82, 2, 2, 8931, 8932, 7, 68, 2, 2, 8932, 8933, 7, 91, 2, 2, 8933, 858, 3, 2, 2, 2, 8934, 8935, 7, 71, 2, 2, 8935, 8936, 7, 78, 2, 2, 8936, 8937, 7, 75, 2, 2, 8937, 8938, 7, 79, 2, 2, 8938, 8939, 7, 75, 2, 2, 8939, 8940, 7, 80, 2, 2, 8940, 8941, 7, 67, 2, 2, 8941, 8942, 7, 86, 2, 2, 8942, 8943, 7, 71, 2, 2, 8943, 8944, 7, 97, 2, 2, 8944, 8945, 7, 76, 2, 2, 8945, 8946, 7, 81, 2, 2, 8946, 8947, 7, 75, 2, 2, 8947, 8948, 7, 80, 2, 2, 8948, 860, 3, 2, 2, 2, 8949, 8950, 7, 71, 2, 2, 8950, 8951, 7, 78, 2, 2, 8951, 8952, 7, 75, 2, 2, 8952, 8953, 7, 79, 2, 2, 8953, 8954, 7, 75, 2, 2, 8954, 8955, 7, 80, 2, 2, 8955, 8956, 7, 67, 2, 2, 8956, 8957, 7, 86, 2, 2, 8957, 8958, 7, 71, 2, 2, 8958, 8959, 7, 97, 2, 2, 8959, 8960, 7, 81, 2, 2, 8960, 8961, 7, 68, 2, 2, 8961, 8962, 7, 91, 2, 2, 8962, 862, 3, 2, 2, 2, 8963, 8964, 7, 71, 2, 2, 8964, 8965, 7, 78, 2, 2, 8965, 8966, 7, 75, 2, 2, 8966, 8967, 7, 79, 2, 2, 8967, 8968, 7, 75, 2, 2, 8968, 8969, 7, 80, 2, 2, 8969, 8970, 7, 67, 2, 2, 8970, 8971, 7, 86, 2, 2, 8971, 8972, 7, 71, 2, 2, 8972, 8973, 7, 97, 2, 2, 8973, 8974, 7, 81, 2, 2, 8974, 8975, 7, 87, 2, 2, 8975, 8976, 7, 86, 2, 2, 8976, 8977, 7, 71, 2, 2, 8977, 8978, 7, 84, 2, 2, 8978, 8979, 7, 97, 2, 2, 8979, 8980, 7, 76, 2, 2, 8980, 8981, 7, 81, 2, 2, 8981, 8982, 7, 75, 2, 2, 8982, 8983, 7, 80, 2, 2, 8983, 864, 3, 2, 2, 2, 8984, 8985, 7, 71, 2, 2, 8985, 8986, 7, 78, 2, 2, 8986, 8987, 7, 85, 2, 2, 8987, 8988, 7, 71, 2, 2, 8988, 866, 3, 2, 2, 2, 8989, 8990, 7, 71, 2, 2, 8990, 8991, 7, 78, 2, 2, 8991, 8992, 7, 85, 2, 2, 8992, 8993, 7, 75, 2, 2, 8993, 8994, 7, 72, 2, 2, 8994, 868, 3, 2, 2, 2, 8995, 8996, 7, 71, 2, 2, 8996, 8997, 7, 79, 2, 2, 8997, 870, 3, 2, 2, 2, 8998, 8999, 7, 71, 2, 2, 8999, 9000, 7, 79, 2, 2, 9000, 9001, 7, 82, 2, 2, 9001, 9002, 7, 86, 2, 2, 9002, 9003, 7, 91, 2, 2, 9003, 9004, 7, 97, 2, 2, 9004, 9005, 7, 68, 2, 2, 9005, 9006, 7, 78, 2, 2, 9006, 9007, 7, 81, 2, 2, 9007, 9008, 7, 68, 2, 2, 9008, 872, 3, 2, 2, 2, 9009, 9010, 7, 71, 2, 2, 9010, 9011, 7, 79, 2, 2, 9011, 9012, 7, 82, 2, 2, 9012, 9013, 7, 86, 2, 2, 9013, 9014, 7, 91, 2, 2, 9014, 9015, 7, 97, 2, 2, 9015, 9016, 7, 69, 2, 2, 9016, 9017, 7, 78, 2, 2, 9017, 9018, 7, 81, 2, 2, 9018, 9019, 7, 68, 2, 2, 9019, 874, 3, 2, 2, 2, 9020, 9021, 7, 71, 2, 2, 9021, 9022, 7, 79, 2, 2, 9022, 9023, 7, 82, 2, 2, 9023, 9024, 7, 86, 2, 2, 9024, 9025, 7, 91, 2, 2, 9025, 876, 3, 2, 2, 2, 9026, 9027, 7, 71, 2, 2, 9027, 9028, 7, 80, 2, 2, 9028, 9029, 7, 67, 2, 2, 9029, 9030, 7, 68, 2, 2, 9030, 9031, 7, 78, 2, 2, 9031, 9032, 7, 71, 2, 2, 9032, 9033, 7, 97, 2, 2, 9033, 9034, 7, 67, 2, 2, 9034, 9035, 7, 78, 2, 2, 9035, 9036, 7, 78, 2, 2, 9036, 878, 3, 2, 2, 2, 9037, 9038, 7, 71, 2, 2, 9038, 9039, 7, 80, 2, 2, 9039, 9040, 7, 67, 2, 2, 9040, 9041, 7, 68, 2, 2, 9041, 9042, 7, 78, 2, 2, 9042, 9043, 7, 71, 2, 2, 9043, 880, 3, 2, 2, 2, 9044, 9045, 7, 71, 2, 2, 9045, 9046, 7, 80, 2, 2, 9046, 9047, 7, 67, 2, 2, 9047, 9048, 7, 68, 2, 2, 9048, 9049, 7, 78, 2, 2, 9049, 9050, 7, 71, 2, 2, 9050, 9051, 7, 97, 2, 2, 9051, 9052, 7, 82, 2, 2, 9052, 9053, 7, 67, 2, 2, 9053, 9054, 7, 84, 2, 2, 9054, 9055, 7, 67, 2, 2, 9055, 9056, 7, 78, 2, 2, 9056, 9057, 7, 78, 2, 2, 9057, 9058, 7, 71, 2, 2, 9058, 9059, 7, 78, 2, 2, 9059, 9060, 7, 97, 2, 2, 9060, 9061, 7, 70, 2, 2, 9061, 9062, 7, 79, 2, 2, 9062, 9063, 7, 78, 2, 2, 9063, 882, 3, 2, 2, 2, 9064, 9065, 7, 71, 2, 2, 9065, 9066, 7, 80, 2, 2, 9066, 9067, 7, 67, 2, 2, 9067, 9068, 7, 68, 2, 2, 9068, 9069, 7, 78, 2, 2, 9069, 9070, 7, 71, 2, 2, 9070, 9071, 7, 97, 2, 2, 9071, 9072, 7, 82, 2, 2, 9072, 9073, 7, 84, 2, 2, 9073, 9074, 7, 71, 2, 2, 9074, 9075, 7, 85, 2, 2, 9075, 9076, 7, 71, 2, 2, 9076, 9077, 7, 86, 2, 2, 9077, 884, 3, 2, 2, 2, 9078, 9079, 7, 71, 2, 2, 9079, 9080, 7, 80, 2, 2, 9080, 9081, 7, 69, 2, 2, 9081, 9082, 7, 81, 2, 2, 9082, 9083, 7, 70, 2, 2, 9083, 9084, 7, 75, 2, 2, 9084, 9085, 7, 80, 2, 2, 9085, 9086, 7, 73, 2, 2, 9086, 886, 3, 2, 2, 2, 9087, 9088, 7, 71, 2, 2, 9088, 9089, 7, 80, 2, 2, 9089, 9090, 7, 69, 2, 2, 9090, 9091, 7, 84, 2, 2, 9091, 9092, 7, 91, 2, 2, 9092, 9093, 7, 82, 2, 2, 9093, 9094, 7, 86, 2, 2, 9094, 888, 3, 2, 2, 2, 9095, 9096, 7, 71, 2, 2, 9096, 9097, 7, 80, 2, 2, 9097, 9098, 7, 69, 2, 2, 9098, 9099, 7, 84, 2, 2, 9099, 9100, 7, 91, 2, 2, 9100, 9101, 7, 82, 2, 2, 9101, 9102, 7, 86, 2, 2, 9102, 9103, 7, 75, 2, 2, 9103, 9104, 7, 81, 2, 2, 9104, 9105, 7, 80, 2, 2, 9105, 890, 3, 2, 2, 2, 9106, 9107, 7, 71, 2, 2, 9107, 9108, 7, 80, 2, 2, 9108, 9109, 7, 70, 2, 2, 9109, 892, 3, 2, 2, 2, 9110, 9111, 7, 71, 2, 2, 9111, 9112, 7, 80, 2, 2, 9112, 9113, 7, 70, 2, 2, 9113, 9114, 7, 97, 2, 2, 9114, 9115, 7, 81, 2, 2, 9115, 9116, 7, 87, 2, 2, 9116, 9117, 7, 86, 2, 2, 9117, 9118, 7, 78, 2, 2, 9118, 9119, 7, 75, 2, 2, 9119, 9120, 7, 80, 2, 2, 9120, 9121, 7, 71, 2, 2, 9121, 9122, 7, 97, 2, 2, 9122, 9123, 7, 70, 2, 2, 9123, 9124, 7, 67, 2, 2, 9124, 9125, 7, 86, 2, 2, 9125, 9126, 7, 67, 2, 2, 9126, 894, 3, 2, 2, 2, 9127, 9128, 7, 71, 2, 2, 9128, 9129, 7, 80, 2, 2, 9129, 9130, 7, 72, 2, 2, 9130, 9131, 7, 81, 2, 2, 9131, 9132, 7, 84, 2, 2, 9132, 9133, 7, 69, 2, 2, 9133, 9134, 7, 71, 2, 2, 9134, 9135, 7, 70, 2, 2, 9135, 896, 3, 2, 2, 2, 9136, 9137, 7, 71, 2, 2, 9137, 9138, 7, 80, 2, 2, 9138, 9139, 7, 72, 2, 2, 9139, 9140, 7, 81, 2, 2, 9140, 9141, 7, 84, 2, 2, 9141, 9142, 7, 69, 2, 2, 9142, 9143, 7, 71, 2, 2, 9143, 898, 3, 2, 2, 2, 9144, 9145, 7, 71, 2, 2, 9145, 9146, 7, 80, 2, 2, 9146, 9147, 7, 83, 2, 2, 9147, 9148, 7, 87, 2, 2, 9148, 9149, 7, 71, 2, 2, 9149, 9150, 7, 87, 2, 2, 9150, 9151, 7, 71, 2, 2, 9151, 900, 3, 2, 2, 2, 9152, 9153, 7, 71, 2, 2, 9153, 9154, 7, 80, 2, 2, 9154, 9155, 7, 86, 2, 2, 9155, 9156, 7, 71, 2, 2, 9156, 9157, 7, 84, 2, 2, 9157, 9158, 7, 82, 2, 2, 9158, 9159, 7, 84, 2, 2, 9159, 9160, 7, 75, 2, 2, 9160, 9161, 7, 85, 2, 2, 9161, 9162, 7, 71, 2, 2, 9162, 902, 3, 2, 2, 2, 9163, 9164, 7, 71, 2, 2, 9164, 9165, 7, 80, 2, 2, 9165, 9166, 7, 86, 2, 2, 9166, 9167, 7, 75, 2, 2, 9167, 9168, 7, 86, 2, 2, 9168, 9169, 7, 91, 2, 2, 9169, 9170, 7, 71, 2, 2, 9170, 9171, 7, 85, 2, 2, 9171, 9172, 7, 69, 2, 2, 9172, 9173, 7, 67, 2, 2, 9173, 9174, 7, 82, 2, 2, 9174, 9175, 7, 75, 2, 2, 9175, 9176, 7, 80, 2, 2, 9176, 9177, 7, 73, 2, 2, 9177, 904, 3, 2, 2, 2, 9178, 9179, 7, 71, 2, 2, 9179, 9180, 7, 80, 2, 2, 9180, 9181, 7, 86, 2, 2, 9181, 9182, 7, 84, 2, 2, 9182, 9183, 7, 91, 2, 2, 9183, 906, 3, 2, 2, 2, 9184, 9185, 7, 71, 2, 2, 9185, 9186, 7, 83, 2, 2, 9186, 9187, 7, 87, 2, 2, 9187, 9188, 7, 75, 2, 2, 9188, 9189, 7, 82, 2, 2, 9189, 9190, 7, 67, 2, 2, 9190, 9191, 7, 84, 2, 2, 9191, 9192, 7, 86, 2, 2, 9192, 908, 3, 2, 2, 2, 9193, 9194, 7, 71, 2, 2, 9194, 9195, 7, 84, 2, 2, 9195, 9196, 7, 84, 2, 2, 9196, 910, 3, 2, 2, 2, 9197, 9198, 7, 71, 2, 2, 9198, 9199, 7, 84, 2, 2, 9199, 9200, 7, 84, 2, 2, 9200, 9201, 7, 81, 2, 2, 9201, 9202, 7, 84, 2, 2, 9202, 9203, 7, 97, 2, 2, 9203, 9204, 7, 67, 2, 2, 9204, 9205, 7, 84, 2, 2, 9205, 9206, 7, 73, 2, 2, 9206, 9207, 7, 87, 2, 2, 9207, 9208, 7, 79, 2, 2, 9208, 9209, 7, 71, 2, 2, 9209, 9210, 7, 80, 2, 2, 9210, 9211, 7, 86, 2, 2, 9211, 912, 3, 2, 2, 2, 9212, 9213, 7, 71, 2, 2, 9213, 9214, 7, 84, 2, 2, 9214, 9215, 7, 84, 2, 2, 9215, 9216, 7, 81, 2, 2, 9216, 9217, 7, 84, 2, 2, 9217, 914, 3, 2, 2, 2, 9218, 9219, 7, 71, 2, 2, 9219, 9220, 7, 84, 2, 2, 9220, 9221, 7, 84, 2, 2, 9221, 9222, 7, 81, 2, 2, 9222, 9223, 7, 84, 2, 2, 9223, 9224, 7, 97, 2, 2, 9224, 9225, 7, 81, 2, 2, 9225, 9226, 7, 80, 2, 2, 9226, 9227, 7, 97, 2, 2, 9227, 9228, 7, 81, 2, 2, 9228, 9229, 7, 88, 2, 2, 9229, 9230, 7, 71, 2, 2, 9230, 9231, 7, 84, 2, 2, 9231, 9232, 7, 78, 2, 2, 9232, 9233, 7, 67, 2, 2, 9233, 9234, 7, 82, 2, 2, 9234, 9235, 7, 97, 2, 2, 9235, 9236, 7, 86, 2, 2, 9236, 9237, 7, 75, 2, 2, 9237, 9238, 7, 79, 2, 2, 9238, 9239, 7, 71, 2, 2, 9239, 916, 3, 2, 2, 2, 9240, 9241, 7, 71, 2, 2, 9241, 9242, 7, 84, 2, 2, 9242, 9243, 7, 84, 2, 2, 9243, 9244, 7, 81, 2, 2, 9244, 9245, 7, 84, 2, 2, 9245, 9246, 7, 85, 2, 2, 9246, 918, 3, 2, 2, 2, 9247, 9248, 7, 71, 2, 2, 9248, 9249, 7, 85, 2, 2, 9249, 9250, 7, 69, 2, 2, 9250, 9251, 7, 67, 2, 2, 9251, 9252, 7, 82, 2, 2, 9252, 9253, 7, 71, 2, 2, 9253, 920, 3, 2, 2, 2, 9254, 9255, 7, 71, 2, 2, 9255, 9256, 7, 85, 2, 2, 9256, 9257, 7, 86, 2, 2, 9257, 9258, 7, 75, 2, 2, 9258, 9259, 7, 79, 2, 2, 9259, 9260, 7, 67, 2, 2, 9260, 9261, 7, 86, 2, 2, 9261, 9262, 7, 71, 2, 2, 9262, 922, 3, 2, 2, 2, 9263, 9264, 7, 71, 2, 2, 9264, 9265, 7, 88, 2, 2, 9265, 9266, 7, 67, 2, 2, 9266, 9267, 7, 78, 2, 2, 9267, 924, 3, 2, 2, 2, 9268, 9269, 7, 71, 2, 2, 9269, 9270, 7, 88, 2, 2, 9270, 9271, 7, 67, 2, 2, 9271, 9272, 7, 78, 2, 2, 9272, 9273, 7, 80, 2, 2, 9273, 9274, 7, 67, 2, 2, 9274, 9275, 7, 79, 2, 2, 9275, 9276, 7, 71, 2, 2, 9276, 926, 3, 2, 2, 2, 9277, 9278, 7, 71, 2, 2, 9278, 9279, 7, 88, 2, 2, 9279, 9280, 7, 67, 2, 2, 9280, 9281, 7, 78, 2, 2, 9281, 9282, 7, 87, 2, 2, 9282, 9283, 7, 67, 2, 2, 9283, 9284, 7, 86, 2, 2, 9284, 9285, 7, 71, 2, 2, 9285, 928, 3, 2, 2, 2, 9286, 9287, 7, 71, 2, 2, 9287, 9288, 7, 88, 2, 2, 9288, 9289, 7, 67, 2, 2, 9289, 9290, 7, 78, 2, 2, 9290, 9291, 7, 87, 2, 2, 9291, 9292, 7, 67, 2, 2, 9292, 9293, 7, 86, 2, 2, 9293, 9294, 7, 75, 2, 2, 9294, 9295, 7, 81, 2, 2, 9295, 9296, 7, 80, 2, 2, 9296, 930, 3, 2, 2, 2, 9297, 9298, 7, 71, 2, 2, 9298, 9299, 7, 88, 2, 2, 9299, 9300, 7, 71, 2, 2, 9300, 9301, 7, 80, 2, 2, 9301, 9302, 7, 86, 2, 2, 9302, 9303, 7, 85, 2, 2, 9303, 932, 3, 2, 2, 2, 9304, 9305, 7, 71, 2, 2, 9305, 9306, 7, 88, 2, 2, 9306, 9307, 7, 71, 2, 2, 9307, 9308, 7, 84, 2, 2, 9308, 9309, 7, 91, 2, 2, 9309, 934, 3, 2, 2, 2, 9310, 9311, 7, 71, 2, 2, 9311, 9312, 7, 90, 2, 2, 9312, 9313, 7, 69, 2, 2, 9313, 9314, 7, 71, 2, 2, 9314, 9315, 7, 82, 2, 2, 9315, 9316, 7, 86, 2, 2, 9316, 936, 3, 2, 2, 2, 9317, 9318, 7, 71, 2, 2, 9318, 9319, 7, 90, 2, 2, 9319, 9320, 7, 69, 2, 2, 9320, 9321, 7, 71, 2, 2, 9321, 9322, 7, 82, 2, 2, 9322, 9323, 7, 86, 2, 2, 9323, 9324, 7, 75, 2, 2, 9324, 9325, 7, 81, 2, 2, 9325, 9326, 7, 80, 2, 2, 9326, 938, 3, 2, 2, 2, 9327, 9328, 7, 71, 2, 2, 9328, 9329, 7, 90, 2, 2, 9329, 9330, 7, 69, 2, 2, 9330, 9331, 7, 71, 2, 2, 9331, 9332, 7, 82, 2, 2, 9332, 9333, 7, 86, 2, 2, 9333, 9334, 7, 75, 2, 2, 9334, 9335, 7, 81, 2, 2, 9335, 9336, 7, 80, 2, 2, 9336, 9337, 7, 97, 2, 2, 9337, 9338, 7, 75, 2, 2, 9338, 9339, 7, 80, 2, 2, 9339, 9340, 7, 75, 2, 2, 9340, 9341, 7, 86, 2, 2, 9341, 940, 3, 2, 2, 2, 9342, 9343, 7, 71, 2, 2, 9343, 9344, 7, 90, 2, 2, 9344, 9345, 7, 69, 2, 2, 9345, 9346, 7, 71, 2, 2, 9346, 9347, 7, 82, 2, 2, 9347, 9348, 7, 86, 2, 2, 9348, 9349, 7, 75, 2, 2, 9349, 9350, 7, 81, 2, 2, 9350, 9351, 7, 80, 2, 2, 9351, 9352, 7, 85, 2, 2, 9352, 942, 3, 2, 2, 2, 9353, 9354, 7, 71, 2, 2, 9354, 9355, 7, 90, 2, 2, 9355, 9356, 7, 69, 2, 2, 9356, 9357, 7, 74, 2, 2, 9357, 9358, 7, 67, 2, 2, 9358, 9359, 7, 80, 2, 2, 9359, 9360, 7, 73, 2, 2, 9360, 9361, 7, 71, 2, 2, 9361, 944, 3, 2, 2, 2, 9362, 9363, 7, 71, 2, 2, 9363, 9364, 7, 90, 2, 2, 9364, 9365, 7, 69, 2, 2, 9365, 9366, 7, 78, 2, 2, 9366, 9367, 7, 87, 2, 2, 9367, 9368, 7, 70, 2, 2, 9368, 9369, 7, 71, 2, 2, 9369, 946, 3, 2, 2, 2, 9370, 9371, 7, 71, 2, 2, 9371, 9372, 7, 90, 2, 2, 9372, 9373, 7, 69, 2, 2, 9373, 9374, 7, 78, 2, 2, 9374, 9375, 7, 87, 2, 2, 9375, 9376, 7, 70, 2, 2, 9376, 9377, 7, 75, 2, 2, 9377, 9378, 7, 80, 2, 2, 9378, 9379, 7, 73, 2, 2, 9379, 948, 3, 2, 2, 2, 9380, 9381, 7, 71, 2, 2, 9381, 9382, 7, 90, 2, 2, 9382, 9383, 7, 69, 2, 2, 9383, 9384, 7, 78, 2, 2, 9384, 9385, 7, 87, 2, 2, 9385, 9386, 7, 85, 2, 2, 9386, 9387, 7, 75, 2, 2, 9387, 9388, 7, 88, 2, 2, 9388, 9389, 7, 71, 2, 2, 9389, 950, 3, 2, 2, 2, 9390, 9391, 7, 71, 2, 2, 9391, 9392, 7, 90, 2, 2, 9392, 9393, 7, 71, 2, 2, 9393, 9394, 7, 69, 2, 2, 9394, 9395, 7, 87, 2, 2, 9395, 9396, 7, 86, 2, 2, 9396, 9397, 7, 71, 2, 2, 9397, 952, 3, 2, 2, 2, 9398, 9399, 7, 71, 2, 2, 9399, 9400, 7, 90, 2, 2, 9400, 9401, 7, 71, 2, 2, 9401, 9402, 7, 79, 2, 2, 9402, 9403, 7, 82, 2, 2, 9403, 9404, 7, 86, 2, 2, 9404, 954, 3, 2, 2, 2, 9405, 9406, 7, 71, 2, 2, 9406, 9407, 7, 90, 2, 2, 9407, 9408, 7, 75, 2, 2, 9408, 9409, 7, 85, 2, 2, 9409, 9410, 7, 86, 2, 2, 9410, 9411, 7, 75, 2, 2, 9411, 9412, 7, 80, 2, 2, 9412, 9413, 7, 73, 2, 2, 9413, 956, 3, 2, 2, 2, 9414, 9415, 7, 71, 2, 2, 9415, 9416, 7, 90, 2, 2, 9416, 9417, 7, 75, 2, 2, 9417, 9418, 7, 85, 2, 2, 9418, 9419, 7, 86, 2, 2, 9419, 9420, 7, 85, 2, 2, 9420, 958, 3, 2, 2, 2, 9421, 9422, 7, 71, 2, 2, 9422, 9423, 7, 90, 2, 2, 9423, 9424, 7, 75, 2, 2, 9424, 9425, 7, 85, 2, 2, 9425, 9426, 7, 86, 2, 2, 9426, 9427, 7, 85, 2, 2, 9427, 9428, 7, 80, 2, 2, 9428, 9429, 7, 81, 2, 2, 9429, 9430, 7, 70, 2, 2, 9430, 9431, 7, 71, 2, 2, 9431, 960, 3, 2, 2, 2, 9432, 9433, 7, 71, 2, 2, 9433, 9434, 7, 90, 2, 2, 9434, 9435, 7, 75, 2, 2, 9435, 9436, 7, 86, 2, 2, 9436, 962, 3, 2, 2, 2, 9437, 9438, 7, 71, 2, 2, 9438, 9439, 7, 90, 2, 2, 9439, 9440, 7, 82, 2, 2, 9440, 9441, 7, 67, 2, 2, 9441, 9442, 7, 80, 2, 2, 9442, 9443, 7, 70, 2, 2, 9443, 9444, 7, 97, 2, 2, 9444, 9445, 7, 73, 2, 2, 9445, 9446, 7, 85, 2, 2, 9446, 9447, 7, 71, 2, 2, 9447, 9448, 7, 86, 2, 2, 9448, 9449, 7, 97, 2, 2, 9449, 9450, 7, 86, 2, 2, 9450, 9451, 7, 81, 2, 2, 9451, 9452, 7, 97, 2, 2, 9452, 9453, 7, 87, 2, 2, 9453, 9454, 7, 80, 2, 2, 9454, 9455, 7, 75, 2, 2, 9455, 9456, 7, 81, 2, 2, 9456, 9457, 7, 80, 2, 2, 9457, 964, 3, 2, 2, 2, 9458, 9459, 7, 71, 2, 2, 9459, 9460, 7, 90, 2, 2, 9460, 9461, 7, 82, 2, 2, 9461, 9462, 7, 67, 2, 2, 9462, 9463, 7, 80, 2, 2, 9463, 9464, 7, 70, 2, 2, 9464, 9465, 7, 97, 2, 2, 9465, 9466, 7, 86, 2, 2, 9466, 9467, 7, 67, 2, 2, 9467, 9468, 7, 68, 2, 2, 9468, 9469, 7, 78, 2, 2, 9469, 9470, 7, 71, 2, 2, 9470, 966, 3, 2, 2, 2, 9471, 9472, 7, 71, 2, 2, 9472, 9473, 7, 90, 2, 2, 9473, 9474, 7, 82, 2, 2, 9474, 968, 3, 2, 2, 2, 9475, 9476, 7, 71, 2, 2, 9476, 9477, 7, 90, 2, 2, 9477, 9478, 7, 82, 2, 2, 9478, 9479, 7, 75, 2, 2, 9479, 9480, 7, 84, 2, 2, 9480, 9481, 7, 71, 2, 2, 9481, 970, 3, 2, 2, 2, 9482, 9483, 7, 71, 2, 2, 9483, 9484, 7, 90, 2, 2, 9484, 9485, 7, 82, 2, 2, 9485, 9486, 7, 78, 2, 2, 9486, 9487, 7, 67, 2, 2, 9487, 9488, 7, 75, 2, 2, 9488, 9489, 7, 80, 2, 2, 9489, 972, 3, 2, 2, 2, 9490, 9491, 7, 71, 2, 2, 9491, 9492, 7, 90, 2, 2, 9492, 9493, 7, 82, 2, 2, 9493, 9494, 7, 78, 2, 2, 9494, 9495, 7, 81, 2, 2, 9495, 9496, 7, 85, 2, 2, 9496, 9497, 7, 75, 2, 2, 9497, 9498, 7, 81, 2, 2, 9498, 9499, 7, 80, 2, 2, 9499, 974, 3, 2, 2, 2, 9500, 9501, 7, 71, 2, 2, 9501, 9502, 7, 90, 2, 2, 9502, 9503, 7, 82, 2, 2, 9503, 9504, 7, 81, 2, 2, 9504, 9505, 7, 84, 2, 2, 9505, 9506, 7, 86, 2, 2, 9506, 976, 3, 2, 2, 2, 9507, 9508, 7, 71, 2, 2, 9508, 9509, 7, 90, 2, 2, 9509, 9510, 7, 82, 2, 2, 9510, 9511, 7, 84, 2, 2, 9511, 9512, 7, 97, 2, 2, 9512, 9513, 7, 69, 2, 2, 9513, 9514, 7, 81, 2, 2, 9514, 9515, 7, 84, 2, 2, 9515, 9516, 7, 84, 2, 2, 9516, 9517, 7, 97, 2, 2, 9517, 9518, 7, 69, 2, 2, 9518, 9519, 7, 74, 2, 2, 9519, 9520, 7, 71, 2, 2, 9520, 9521, 7, 69, 2, 2, 9521, 9522, 7, 77, 2, 2, 9522, 978, 3, 2, 2, 2, 9523, 9524, 7, 71, 2, 2, 9524, 9525, 7, 90, 2, 2, 9525, 9526, 7, 82, 2, 2, 9526, 9527, 7, 84, 2, 2, 9527, 9528, 7, 71, 2, 2, 9528, 9529, 7, 85, 2, 2, 9529, 9530, 7, 85, 2, 2, 9530, 980, 3, 2, 2, 2, 9531, 9532, 7, 71, 2, 2, 9532, 9533, 7, 90, 2, 2, 9533, 9534, 7, 86, 2, 2, 9534, 9535, 7, 71, 2, 2, 9535, 9536, 7, 80, 2, 2, 9536, 9537, 7, 70, 2, 2, 9537, 9538, 7, 85, 2, 2, 9538, 982, 3, 2, 2, 2, 9539, 9540, 7, 71, 2, 2, 9540, 9541, 7, 90, 2, 2, 9541, 9542, 7, 86, 2, 2, 9542, 9543, 7, 71, 2, 2, 9543, 9544, 7, 80, 2, 2, 9544, 9545, 7, 86, 2, 2, 9545, 984, 3, 2, 2, 2, 9546, 9547, 7, 71, 2, 2, 9547, 9548, 7, 90, 2, 2, 9548, 9549, 7, 86, 2, 2, 9549, 9550, 7, 71, 2, 2, 9550, 9551, 7, 80, 2, 2, 9551, 9552, 7, 86, 2, 2, 9552, 9553, 7, 85, 2, 2, 9553, 986, 3, 2, 2, 2, 9554, 9555, 7, 71, 2, 2, 9555, 9556, 7, 90, 2, 2, 9556, 9557, 7, 86, 2, 2, 9557, 9558, 7, 71, 2, 2, 9558, 9559, 7, 84, 2, 2, 9559, 9560, 7, 80, 2, 2, 9560, 9561, 7, 67, 2, 2, 9561, 9562, 7, 78, 2, 2, 9562, 988, 3, 2, 2, 2, 9563, 9564, 7, 71, 2, 2, 9564, 9565, 7, 90, 2, 2, 9565, 9566, 7, 86, 2, 2, 9566, 9567, 7, 71, 2, 2, 9567, 9568, 7, 84, 2, 2, 9568, 9569, 7, 80, 2, 2, 9569, 9570, 7, 67, 2, 2, 9570, 9571, 7, 78, 2, 2, 9571, 9572, 7, 78, 2, 2, 9572, 9573, 7, 91, 2, 2, 9573, 990, 3, 2, 2, 2, 9574, 9575, 7, 71, 2, 2, 9575, 9576, 7, 90, 2, 2, 9576, 9577, 7, 86, 2, 2, 9577, 9578, 7, 84, 2, 2, 9578, 9579, 7, 67, 2, 2, 9579, 9580, 7, 69, 2, 2, 9580, 9581, 7, 86, 2, 2, 9581, 9582, 7, 69, 2, 2, 9582, 9583, 7, 78, 2, 2, 9583, 9584, 7, 81, 2, 2, 9584, 9585, 7, 68, 2, 2, 9585, 9586, 7, 90, 2, 2, 9586, 9587, 7, 79, 2, 2, 9587, 9588, 7, 78, 2, 2, 9588, 992, 3, 2, 2, 2, 9589, 9590, 7, 71, 2, 2, 9590, 9591, 7, 90, 2, 2, 9591, 9592, 7, 86, 2, 2, 9592, 9593, 7, 84, 2, 2, 9593, 9594, 7, 67, 2, 2, 9594, 9595, 7, 69, 2, 2, 9595, 9596, 7, 86, 2, 2, 9596, 994, 3, 2, 2, 2, 9597, 9598, 7, 71, 2, 2, 9598, 9599, 7, 90, 2, 2, 9599, 9600, 7, 86, 2, 2, 9600, 9601, 7, 84, 2, 2, 9601, 9602, 7, 67, 2, 2, 9602, 9603, 7, 69, 2, 2, 9603, 9604, 7, 86, 2, 2, 9604, 9605, 7, 88, 2, 2, 9605, 9606, 7, 67, 2, 2, 9606, 9607, 7, 78, 2, 2, 9607, 9608, 7, 87, 2, 2, 9608, 9609, 7, 71, 2, 2, 9609, 996, 3, 2, 2, 2, 9610, 9611, 7, 71, 2, 2, 9611, 9612, 7, 90, 2, 2, 9612, 9613, 7, 86, 2, 2, 9613, 9614, 7, 84, 2, 2, 9614, 9615, 7, 67, 2, 2, 9615, 998, 3, 2, 2, 2, 9616, 9617, 7, 72, 2, 2, 9617, 9618, 7, 67, 2, 2, 9618, 9619, 7, 69, 2, 2, 9619, 9620, 7, 75, 2, 2, 9620, 9621, 7, 78, 2, 2, 9621, 9622, 7, 75, 2, 2, 9622, 9623, 7, 86, 2, 2, 9623, 9624, 7, 91, 2, 2, 9624, 1000, 3, 2, 2, 2, 9625, 9626, 7, 72, 2, 2, 9626, 9627, 7, 67, 2, 2, 9627, 9628, 7, 69, 2, 2, 9628, 9629, 7, 86, 2, 2, 9629, 1002, 3, 2, 2, 2, 9630, 9631, 7, 72, 2, 2, 9631, 9632, 7, 67, 2, 2, 9632, 9633, 7, 69, 2, 2, 9633, 9634, 7, 86, 2, 2, 9634, 9635, 7, 81, 2, 2, 9635, 9636, 7, 84, 2, 2, 9636, 1004, 3, 2, 2, 2, 9637, 9638, 7, 72, 2, 2, 9638, 9639, 7, 67, 2, 2, 9639, 9640, 7, 69, 2, 2, 9640, 9641, 7, 86, 2, 2, 9641, 9642, 7, 81, 2, 2, 9642, 9643, 7, 84, 2, 2, 9643, 9644, 7, 75, 2, 2, 9644, 9645, 7, 92, 2, 2, 9645, 9646, 7, 71, 2, 2, 9646, 9647, 7, 97, 2, 2, 9647, 9648, 7, 76, 2, 2, 9648, 9649, 7, 81, 2, 2, 9649, 9650, 7, 75, 2, 2, 9650, 9651, 7, 80, 2, 2, 9651, 1006, 3, 2, 2, 2, 9652, 9653, 7, 72, 2, 2, 9653, 9654, 7, 67, 2, 2, 9654, 9655, 7, 75, 2, 2, 9655, 9656, 7, 78, 2, 2, 9656, 9657, 7, 71, 2, 2, 9657, 9658, 7, 70, 2, 2, 9658, 1008, 3, 2, 2, 2, 9659, 9660, 7, 72, 2, 2, 9660, 9661, 7, 67, 2, 2, 9661, 9662, 7, 75, 2, 2, 9662, 9663, 7, 78, 2, 2, 9663, 9664, 7, 71, 2, 2, 9664, 9665, 7, 70, 2, 2, 9665, 9666, 7, 97, 2, 2, 9666, 9667, 7, 78, 2, 2, 9667, 9668, 7, 81, 2, 2, 9668, 9669, 7, 73, 2, 2, 9669, 9670, 7, 75, 2, 2, 9670, 9671, 7, 80, 2, 2, 9671, 9672, 7, 97, 2, 2, 9672, 9673, 7, 67, 2, 2, 9673, 9674, 7, 86, 2, 2, 9674, 9675, 7, 86, 2, 2, 9675, 9676, 7, 71, 2, 2, 9676, 9677, 7, 79, 2, 2, 9677, 9678, 7, 82, 2, 2, 9678, 9679, 7, 86, 2, 2, 9679, 9680, 7, 85, 2, 2, 9680, 1010, 3, 2, 2, 2, 9681, 9682, 7, 72, 2, 2, 9682, 9683, 7, 67, 2, 2, 9683, 9684, 7, 75, 2, 2, 9684, 9685, 7, 78, 2, 2, 9685, 9686, 7, 73, 2, 2, 9686, 9687, 7, 84, 2, 2, 9687, 9688, 7, 81, 2, 2, 9688, 9689, 7, 87, 2, 2, 9689, 9690, 7, 82, 2, 2, 9690, 1012, 3, 2, 2, 2, 9691, 9692, 7, 72, 2, 2, 9692, 9693, 7, 67, 2, 2, 9693, 9694, 7, 75, 2, 2, 9694, 9695, 7, 78, 2, 2, 9695, 9696, 7, 81, 2, 2, 9696, 9697, 7, 88, 2, 2, 9697, 9698, 7, 71, 2, 2, 9698, 9699, 7, 84, 2, 2, 9699, 1014, 3, 2, 2, 2, 9700, 9701, 7, 72, 2, 2, 9701, 9702, 7, 67, 2, 2, 9702, 9703, 7, 75, 2, 2, 9703, 9704, 7, 78, 2, 2, 9704, 9705, 7, 87, 2, 2, 9705, 9706, 7, 84, 2, 2, 9706, 9707, 7, 71, 2, 2, 9707, 1016, 3, 2, 2, 2, 9708, 9709, 7, 72, 2, 2, 9709, 9710, 7, 67, 2, 2, 9710, 9711, 7, 78, 2, 2, 9711, 9712, 7, 85, 2, 2, 9712, 9713, 7, 71, 2, 2, 9713, 1018, 3, 2, 2, 2, 9714, 9715, 7, 72, 2, 2, 9715, 9716, 7, 67, 2, 2, 9716, 9717, 7, 79, 2, 2, 9717, 9718, 7, 75, 2, 2, 9718, 9719, 7, 78, 2, 2, 9719, 9720, 7, 91, 2, 2, 9720, 1020, 3, 2, 2, 2, 9721, 9722, 7, 72, 2, 2, 9722, 9723, 7, 67, 2, 2, 9723, 9724, 7, 84, 2, 2, 9724, 1022, 3, 2, 2, 2, 9725, 9726, 7, 72, 2, 2, 9726, 9727, 7, 67, 2, 2, 9727, 9728, 7, 85, 2, 2, 9728, 9729, 7, 86, 2, 2, 9729, 1024, 3, 2, 2, 2, 9730, 9731, 7, 72, 2, 2, 9731, 9732, 7, 67, 2, 2, 9732, 9733, 7, 85, 2, 2, 9733, 9734, 7, 86, 2, 2, 9734, 9735, 7, 85, 2, 2, 9735, 9736, 7, 86, 2, 2, 9736, 9737, 7, 67, 2, 2, 9737, 9738, 7, 84, 2, 2, 9738, 9739, 7, 86, 2, 2, 9739, 1026, 3, 2, 2, 2, 9740, 9741, 7, 72, 2, 2, 9741, 9742, 7, 68, 2, 2, 9742, 9743, 7, 86, 2, 2, 9743, 9744, 7, 85, 2, 2, 9744, 9745, 7, 69, 2, 2, 9745, 9746, 7, 67, 2, 2, 9746, 9747, 7, 80, 2, 2, 9747, 1028, 3, 2, 2, 2, 9748, 9749, 7, 72, 2, 2, 9749, 9750, 7, 71, 2, 2, 9750, 9751, 7, 67, 2, 2, 9751, 9752, 7, 86, 2, 2, 9752, 9753, 7, 87, 2, 2, 9753, 9754, 7, 84, 2, 2, 9754, 9755, 7, 71, 2, 2, 9755, 9756, 7, 97, 2, 2, 9756, 9757, 7, 70, 2, 2, 9757, 9758, 7, 71, 2, 2, 9758, 9759, 7, 86, 2, 2, 9759, 9760, 7, 67, 2, 2, 9760, 9761, 7, 75, 2, 2, 9761, 9762, 7, 78, 2, 2, 9762, 9763, 7, 85, 2, 2, 9763, 1030, 3, 2, 2, 2, 9764, 9765, 7, 72, 2, 2, 9765, 9766, 7, 71, 2, 2, 9766, 9767, 7, 67, 2, 2, 9767, 9768, 7, 86, 2, 2, 9768, 9769, 7, 87, 2, 2, 9769, 9770, 7, 84, 2, 2, 9770, 9771, 7, 71, 2, 2, 9771, 9772, 7, 97, 2, 2, 9772, 9773, 7, 75, 2, 2, 9773, 9774, 7, 70, 2, 2, 9774, 1032, 3, 2, 2, 2, 9775, 9776, 7, 72, 2, 2, 9776, 9777, 7, 71, 2, 2, 9777, 9778, 7, 67, 2, 2, 9778, 9779, 7, 86, 2, 2, 9779, 9780, 7, 87, 2, 2, 9780, 9781, 7, 84, 2, 2, 9781, 9782, 7, 71, 2, 2, 9782, 9783, 7, 97, 2, 2, 9783, 9784, 7, 85, 2, 2, 9784, 9785, 7, 71, 2, 2, 9785, 9786, 7, 86, 2, 2, 9786, 1034, 3, 2, 2, 2, 9787, 9788, 7, 72, 2, 2, 9788, 9789, 7, 71, 2, 2, 9789, 9790, 7, 67, 2, 2, 9790, 9791, 7, 86, 2, 2, 9791, 9792, 7, 87, 2, 2, 9792, 9793, 7, 84, 2, 2, 9793, 9794, 7, 71, 2, 2, 9794, 9795, 7, 97, 2, 2, 9795, 9796, 7, 88, 2, 2, 9796, 9797, 7, 67, 2, 2, 9797, 9798, 7, 78, 2, 2, 9798, 9799, 7, 87, 2, 2, 9799, 9800, 7, 71, 2, 2, 9800, 1036, 3, 2, 2, 2, 9801, 9802, 7, 72, 2, 2, 9802, 9803, 7, 71, 2, 2, 9803, 9804, 7, 86, 2, 2, 9804, 9805, 7, 69, 2, 2, 9805, 9806, 7, 74, 2, 2, 9806, 1038, 3, 2, 2, 2, 9807, 9808, 7, 72, 2, 2, 9808, 9809, 7, 75, 2, 2, 9809, 9810, 7, 78, 2, 2, 9810, 9811, 7, 71, 2, 2, 9811, 1040, 3, 2, 2, 2, 9812, 9813, 7, 72, 2, 2, 9813, 9814, 7, 75, 2, 2, 9814, 9815, 7, 78, 2, 2, 9815, 9816, 7, 71, 2, 2, 9816, 9817, 7, 97, 2, 2, 9817, 9818, 7, 80, 2, 2, 9818, 9819, 7, 67, 2, 2, 9819, 9820, 7, 79, 2, 2, 9820, 9821, 7, 71, 2, 2, 9821, 9822, 7, 97, 2, 2, 9822, 9823, 7, 69, 2, 2, 9823, 9824, 7, 81, 2, 2, 9824, 9825, 7, 80, 2, 2, 9825, 9826, 7, 88, 2, 2, 9826, 9827, 7, 71, 2, 2, 9827, 9828, 7, 84, 2, 2, 9828, 9829, 7, 86, 2, 2, 9829, 1042, 3, 2, 2, 2, 9830, 9831, 7, 72, 2, 2, 9831, 9832, 7, 75, 2, 2, 9832, 9833, 7, 78, 2, 2, 9833, 9834, 7, 71, 2, 2, 9834, 9835, 7, 85, 2, 2, 9835, 9836, 7, 91, 2, 2, 9836, 9837, 7, 85, 2, 2, 9837, 9838, 7, 86, 2, 2, 9838, 9839, 7, 71, 2, 2, 9839, 9840, 7, 79, 2, 2, 9840, 9841, 7, 97, 2, 2, 9841, 9842, 7, 78, 2, 2, 9842, 9843, 7, 75, 2, 2, 9843, 9844, 7, 77, 2, 2, 9844, 9845, 7, 71, 2, 2, 9845, 9846, 7, 97, 2, 2, 9846, 9847, 7, 78, 2, 2, 9847, 9848, 7, 81, 2, 2, 9848, 9849, 7, 73, 2, 2, 9849, 9850, 7, 73, 2, 2, 9850, 9851, 7, 75, 2, 2, 9851, 9852, 7, 80, 2, 2, 9852, 9853, 7, 73, 2, 2, 9853, 1044, 3, 2, 2, 2, 9854, 9855, 7, 72, 2, 2, 9855, 9856, 7, 75, 2, 2, 9856, 9857, 7, 78, 2, 2, 9857, 9858, 7, 86, 2, 2, 9858, 9859, 7, 71, 2, 2, 9859, 9860, 7, 84, 2, 2, 9860, 1046, 3, 2, 2, 2, 9861, 9862, 7, 72, 2, 2, 9862, 9863, 7, 75, 2, 2, 9863, 9864, 7, 80, 2, 2, 9864, 9865, 7, 67, 2, 2, 9865, 9866, 7, 78, 2, 2, 9866, 1048, 3, 2, 2, 2, 9867, 9868, 7, 72, 2, 2, 9868, 9869, 7, 75, 2, 2, 9869, 9870, 7, 80, 2, 2, 9870, 9871, 7, 71, 2, 2, 9871, 1050, 3, 2, 2, 2, 9872, 9873, 7, 72, 2, 2, 9873, 9874, 7, 75, 2, 2, 9874, 9875, 7, 80, 2, 2, 9875, 9876, 7, 75, 2, 2, 9876, 9877, 7, 85, 2, 2, 9877, 9878, 7, 74, 2, 2, 9878, 1052, 3, 2, 2, 2, 9879, 9880, 7, 72, 2, 2, 9880, 9881, 7, 75, 2, 2, 9881, 9882, 7, 84, 2, 2, 9882, 9883, 7, 85, 2, 2, 9883, 9884, 7, 86, 2, 2, 9884, 1054, 3, 2, 2, 2, 9885, 9886, 7, 72, 2, 2, 9886, 9887, 7, 75, 2, 2, 9887, 9888, 7, 84, 2, 2, 9888, 9889, 7, 85, 2, 2, 9889, 9890, 7, 86, 2, 2, 9890, 9891, 7, 79, 2, 2, 9891, 1056, 3, 2, 2, 2, 9892, 9893, 7, 72, 2, 2, 9893, 9894, 7, 75, 2, 2, 9894, 9895, 7, 84, 2, 2, 9895, 9896, 7, 85, 2, 2, 9896, 9897, 7, 86, 2, 2, 9897, 9898, 7, 97, 2, 2, 9898, 9899, 7, 84, 2, 2, 9899, 9900, 7, 81, 2, 2, 9900, 9901, 7, 89, 2, 2, 9901, 9902, 7, 85, 2, 2, 9902, 1058, 3, 2, 2, 2, 9903, 9904, 7, 72, 2, 2, 9904, 9905, 7, 75, 2, 2, 9905, 9906, 7, 84, 2, 2, 9906, 9907, 7, 85, 2, 2, 9907, 9908, 7, 86, 2, 2, 9908, 9909, 7, 97, 2, 2, 9909, 9910, 7, 88, 2, 2, 9910, 9911, 7, 67, 2, 2, 9911, 9912, 7, 78, 2, 2, 9912, 9913, 7, 87, 2, 2, 9913, 9914, 7, 71, 2, 2, 9914, 1060, 3, 2, 2, 2, 9915, 9916, 7, 72, 2, 2, 9916, 9917, 7, 75, 2, 2, 9917, 9918, 7, 90, 2, 2, 9918, 9919, 7, 71, 2, 2, 9919, 9920, 7, 70, 2, 2, 9920, 9921, 7, 97, 2, 2, 9921, 9922, 7, 88, 2, 2, 9922, 9923, 7, 75, 2, 2, 9923, 9924, 7, 71, 2, 2, 9924, 9925, 7, 89, 2, 2, 9925, 9926, 7, 97, 2, 2, 9926, 9927, 7, 70, 2, 2, 9927, 9928, 7, 67, 2, 2, 9928, 9929, 7, 86, 2, 2, 9929, 9930, 7, 67, 2, 2, 9930, 1062, 3, 2, 2, 2, 9931, 9932, 7, 72, 2, 2, 9932, 9933, 7, 78, 2, 2, 9933, 9934, 7, 67, 2, 2, 9934, 9935, 7, 73, 2, 2, 9935, 9936, 7, 73, 2, 2, 9936, 9937, 7, 71, 2, 2, 9937, 9938, 7, 84, 2, 2, 9938, 1064, 3, 2, 2, 2, 9939, 9940, 7, 72, 2, 2, 9940, 9941, 7, 78, 2, 2, 9941, 9942, 7, 67, 2, 2, 9942, 9943, 7, 85, 2, 2, 9943, 9944, 7, 74, 2, 2, 9944, 9945, 7, 68, 2, 2, 9945, 9946, 7, 67, 2, 2, 9946, 9947, 7, 69, 2, 2, 9947, 9948, 7, 77, 2, 2, 9948, 1066, 3, 2, 2, 2, 9949, 9950, 7, 72, 2, 2, 9950, 9951, 7, 78, 2, 2, 9951, 9952, 7, 67, 2, 2, 9952, 9953, 7, 85, 2, 2, 9953, 9954, 7, 74, 2, 2, 9954, 9955, 7, 97, 2, 2, 9955, 9956, 7, 69, 2, 2, 9956, 9957, 7, 67, 2, 2, 9957, 9958, 7, 69, 2, 2, 9958, 9959, 7, 74, 2, 2, 9959, 9960, 7, 71, 2, 2, 9960, 1068, 3, 2, 2, 2, 9961, 9962, 7, 72, 2, 2, 9962, 9963, 7, 78, 2, 2, 9963, 9964, 7, 81, 2, 2, 9964, 9965, 7, 67, 2, 2, 9965, 9966, 7, 86, 2, 2, 9966, 1070, 3, 2, 2, 2, 9967, 9968, 7, 72, 2, 2, 9968, 9969, 7, 78, 2, 2, 9969, 9970, 7, 81, 2, 2, 9970, 9971, 7, 68, 2, 2, 9971, 1072, 3, 2, 2, 2, 9972, 9973, 7, 72, 2, 2, 9973, 9974, 7, 78, 2, 2, 9974, 9975, 7, 81, 2, 2, 9975, 9976, 7, 81, 2, 2, 9976, 9977, 7, 84, 2, 2, 9977, 1074, 3, 2, 2, 2, 9978, 9979, 7, 72, 2, 2, 9979, 9980, 7, 78, 2, 2, 9980, 9981, 7, 87, 2, 2, 9981, 9982, 7, 85, 2, 2, 9982, 9983, 7, 74, 2, 2, 9983, 1076, 3, 2, 2, 2, 9984, 9985, 7, 72, 2, 2, 9985, 9986, 7, 81, 2, 2, 9986, 9987, 7, 78, 2, 2, 9987, 9988, 7, 70, 2, 2, 9988, 9989, 7, 71, 2, 2, 9989, 9990, 7, 84, 2, 2, 9990, 1078, 3, 2, 2, 2, 9991, 9992, 7, 72, 2, 2, 9992, 9993, 7, 81, 2, 2, 9993, 9994, 7, 78, 2, 2, 9994, 9995, 7, 78, 2, 2, 9995, 9996, 7, 81, 2, 2, 9996, 9997, 7, 89, 2, 2, 9997, 9998, 7, 75, 2, 2, 9998, 9999, 7, 80, 2, 2, 9999, 10000, 7, 73, 2, 2, 10000, 1080, 3, 2, 2, 2, 10001, 10002, 7, 72, 2, 2, 10002, 10003, 7, 81, 2, 2, 10003, 10004, 7, 78, 2, 2, 10004, 10005, 7, 78, 2, 2, 10005, 10006, 7, 81, 2, 2, 10006, 10007, 7, 89, 2, 2, 10007, 10008, 7, 85, 2, 2, 10008, 1082, 3, 2, 2, 2, 10009, 10010, 7, 72, 2, 2, 10010, 10011, 7, 81, 2, 2, 10011, 10012, 7, 84, 2, 2, 10012, 10013, 7, 67, 2, 2, 10013, 10014, 7, 78, 2, 2, 10014, 10015, 7, 78, 2, 2, 10015, 1084, 3, 2, 2, 2, 10016, 10017, 7, 72, 2, 2, 10017, 10018, 7, 81, 2, 2, 10018, 10019, 7, 84, 2, 2, 10019, 10020, 7, 69, 2, 2, 10020, 10021, 7, 71, 2, 2, 10021, 1086, 3, 2, 2, 2, 10022, 10023, 7, 72, 2, 2, 10023, 10024, 7, 81, 2, 2, 10024, 10025, 7, 84, 2, 2, 10025, 10026, 7, 69, 2, 2, 10026, 10027, 7, 71, 2, 2, 10027, 10028, 7, 97, 2, 2, 10028, 10029, 7, 90, 2, 2, 10029, 10030, 7, 79, 2, 2, 10030, 10031, 7, 78, 2, 2, 10031, 10032, 7, 97, 2, 2, 10032, 10033, 7, 83, 2, 2, 10033, 10034, 7, 87, 2, 2, 10034, 10035, 7, 71, 2, 2, 10035, 10036, 7, 84, 2, 2, 10036, 10037, 7, 91, 2, 2, 10037, 10038, 7, 97, 2, 2, 10038, 10039, 7, 84, 2, 2, 10039, 10040, 7, 71, 2, 2, 10040, 10041, 7, 89, 2, 2, 10041, 10042, 7, 84, 2, 2, 10042, 10043, 7, 75, 2, 2, 10043, 10044, 7, 86, 2, 2, 10044, 10045, 7, 71, 2, 2, 10045, 1088, 3, 2, 2, 2, 10046, 10047, 7, 72, 2, 2, 10047, 10048, 7, 81, 2, 2, 10048, 10049, 7, 84, 2, 2, 10049, 10050, 7, 71, 2, 2, 10050, 10051, 7, 75, 2, 2, 10051, 10052, 7, 73, 2, 2, 10052, 10053, 7, 80, 2, 2, 10053, 1090, 3, 2, 2, 2, 10054, 10055, 7, 72, 2, 2, 10055, 10056, 7, 81, 2, 2, 10056, 10057, 7, 84, 2, 2, 10057, 10058, 7, 71, 2, 2, 10058, 10059, 7, 88, 2, 2, 10059, 10060, 7, 71, 2, 2, 10060, 10061, 7, 84, 2, 2, 10061, 1092, 3, 2, 2, 2, 10062, 10063, 7, 72, 2, 2, 10063, 10064, 7, 81, 2, 2, 10064, 10065, 7, 84, 2, 2, 10065, 1094, 3, 2, 2, 2, 10066, 10067, 7, 72, 2, 2, 10067, 10068, 7, 81, 2, 2, 10068, 10069, 7, 84, 2, 2, 10069, 10070, 7, 79, 2, 2, 10070, 10071, 7, 67, 2, 2, 10071, 10072, 7, 86, 2, 2, 10072, 1096, 3, 2, 2, 2, 10073, 10074, 7, 72, 2, 2, 10074, 10075, 7, 81, 2, 2, 10075, 10076, 7, 84, 2, 2, 10076, 10077, 7, 89, 2, 2, 10077, 10078, 7, 67, 2, 2, 10078, 10079, 7, 84, 2, 2, 10079, 10080, 7, 70, 2, 2, 10080, 1098, 3, 2, 2, 2, 10081, 10082, 7, 72, 2, 2, 10082, 10083, 7, 84, 2, 2, 10083, 10084, 7, 67, 2, 2, 10084, 10085, 7, 73, 2, 2, 10085, 10086, 7, 79, 2, 2, 10086, 10087, 7, 71, 2, 2, 10087, 10088, 7, 80, 2, 2, 10088, 10089, 7, 86, 2, 2, 10089, 10090, 7, 97, 2, 2, 10090, 10091, 7, 80, 2, 2, 10091, 10092, 7, 87, 2, 2, 10092, 10093, 7, 79, 2, 2, 10093, 10094, 7, 68, 2, 2, 10094, 10095, 7, 71, 2, 2, 10095, 10096, 7, 84, 2, 2, 10096, 1100, 3, 2, 2, 2, 10097, 10098, 7, 72, 2, 2, 10098, 10099, 7, 84, 2, 2, 10099, 10100, 7, 71, 2, 2, 10100, 10101, 7, 71, 2, 2, 10101, 10102, 7, 78, 2, 2, 10102, 10103, 7, 75, 2, 2, 10103, 10104, 7, 85, 2, 2, 10104, 10105, 7, 86, 2, 2, 10105, 1102, 3, 2, 2, 2, 10106, 10107, 7, 72, 2, 2, 10107, 10108, 7, 84, 2, 2, 10108, 10109, 7, 71, 2, 2, 10109, 10110, 7, 71, 2, 2, 10110, 10111, 7, 78, 2, 2, 10111, 10112, 7, 75, 2, 2, 10112, 10113, 7, 85, 2, 2, 10113, 10114, 7, 86, 2, 2, 10114, 10115, 7, 85, 2, 2, 10115, 1104, 3, 2, 2, 2, 10116, 10117, 7, 72, 2, 2, 10117, 10118, 7, 84, 2, 2, 10118, 10119, 7, 71, 2, 2, 10119, 10120, 7, 71, 2, 2, 10120, 10121, 7, 82, 2, 2, 10121, 10122, 7, 81, 2, 2, 10122, 10123, 7, 81, 2, 2, 10123, 10124, 7, 78, 2, 2, 10124, 10125, 7, 85, 2, 2, 10125, 1106, 3, 2, 2, 2, 10126, 10127, 7, 72, 2, 2, 10127, 10128, 7, 84, 2, 2, 10128, 10129, 7, 71, 2, 2, 10129, 10130, 7, 85, 2, 2, 10130, 10131, 7, 74, 2, 2, 10131, 1108, 3, 2, 2, 2, 10132, 10133, 7, 72, 2, 2, 10133, 10134, 7, 84, 2, 2, 10134, 10135, 7, 81, 2, 2, 10135, 10136, 7, 79, 2, 2, 10136, 1110, 3, 2, 2, 2, 10137, 10138, 7, 72, 2, 2, 10138, 10139, 7, 84, 2, 2, 10139, 10140, 7, 81, 2, 2, 10140, 10141, 7, 79, 2, 2, 10141, 10142, 7, 97, 2, 2, 10142, 10143, 7, 86, 2, 2, 10143, 10144, 7, 92, 2, 2, 10144, 1112, 3, 2, 2, 2, 10145, 10146, 7, 72, 2, 2, 10146, 10147, 7, 87, 2, 2, 10147, 10148, 7, 78, 2, 2, 10148, 10149, 7, 78, 2, 2, 10149, 1114, 3, 2, 2, 2, 10150, 10151, 7, 72, 2, 2, 10151, 10152, 7, 87, 2, 2, 10152, 10153, 7, 78, 2, 2, 10153, 10154, 7, 78, 2, 2, 10154, 10155, 7, 97, 2, 2, 10155, 10156, 7, 81, 2, 2, 10156, 10157, 7, 87, 2, 2, 10157, 10158, 7, 86, 2, 2, 10158, 10159, 7, 71, 2, 2, 10159, 10160, 7, 84, 2, 2, 10160, 10161, 7, 97, 2, 2, 10161, 10162, 7, 76, 2, 2, 10162, 10163, 7, 81, 2, 2, 10163, 10164, 7, 75, 2, 2, 10164, 10165, 7, 80, 2, 2, 10165, 10166, 7, 97, 2, 2, 10166, 10167, 7, 86, 2, 2, 10167, 10168, 7, 81, 2, 2, 10168, 10169, 7, 97, 2, 2, 10169, 10170, 7, 81, 2, 2, 10170, 10171, 7, 87, 2, 2, 10171, 10172, 7, 86, 2, 2, 10172, 10173, 7, 71, 2, 2, 10173, 10174, 7, 84, 2, 2, 10174, 1116, 3, 2, 2, 2, 10175, 10176, 7, 72, 2, 2, 10176, 10177, 7, 87, 2, 2, 10177, 10178, 7, 80, 2, 2, 10178, 10179, 7, 69, 2, 2, 10179, 10180, 7, 86, 2, 2, 10180, 10181, 7, 75, 2, 2, 10181, 10182, 7, 81, 2, 2, 10182, 10183, 7, 80, 2, 2, 10183, 1118, 3, 2, 2, 2, 10184, 10185, 7, 72, 2, 2, 10185, 10186, 7, 87, 2, 2, 10186, 10187, 7, 80, 2, 2, 10187, 10188, 7, 69, 2, 2, 10188, 10189, 7, 86, 2, 2, 10189, 10190, 7, 75, 2, 2, 10190, 10191, 7, 81, 2, 2, 10191, 10192, 7, 80, 2, 2, 10192, 10193, 7, 85, 2, 2, 10193, 1120, 3, 2, 2, 2, 10194, 10195, 7, 73, 2, 2, 10195, 10196, 7, 67, 2, 2, 10196, 10197, 7, 86, 2, 2, 10197, 10198, 7, 74, 2, 2, 10198, 10199, 7, 71, 2, 2, 10199, 10200, 7, 84, 2, 2, 10200, 10201, 7, 97, 2, 2, 10201, 10202, 7, 81, 2, 2, 10202, 10203, 7, 82, 2, 2, 10203, 10204, 7, 86, 2, 2, 10204, 10205, 7, 75, 2, 2, 10205, 10206, 7, 79, 2, 2, 10206, 10207, 7, 75, 2, 2, 10207, 10208, 7, 92, 2, 2, 10208, 10209, 7, 71, 2, 2, 10209, 10210, 7, 84, 2, 2, 10210, 10211, 7, 97, 2, 2, 10211, 10212, 7, 85, 2, 2, 10212, 10213, 7, 86, 2, 2, 10213, 10214, 7, 67, 2, 2, 10214, 10215, 7, 86, 2, 2, 10215, 10216, 7, 75, 2, 2, 10216, 10217, 7, 85, 2, 2, 10217, 10218, 7, 86, 2, 2, 10218, 10219, 7, 75, 2, 2, 10219, 10220, 7, 69, 2, 2, 10220, 10221, 7, 85, 2, 2, 10221, 1122, 3, 2, 2, 2, 10222, 10223, 7, 73, 2, 2, 10223, 10224, 7, 67, 2, 2, 10224, 10225, 7, 86, 2, 2, 10225, 10226, 7, 74, 2, 2, 10226, 10227, 7, 71, 2, 2, 10227, 10228, 7, 84, 2, 2, 10228, 10229, 7, 97, 2, 2, 10229, 10230, 7, 82, 2, 2, 10230, 10231, 7, 78, 2, 2, 10231, 10232, 7, 67, 2, 2, 10232, 10233, 7, 80, 2, 2, 10233, 10234, 7, 97, 2, 2, 10234, 10235, 7, 85, 2, 2, 10235, 10236, 7, 86, 2, 2, 10236, 10237, 7, 67, 2, 2, 10237, 10238, 7, 86, 2, 2, 10238, 10239, 7, 75, 2, 2, 10239, 10240, 7, 85, 2, 2, 10240, 10241, 7, 86, 2, 2, 10241, 10242, 7, 75, 2, 2, 10242, 10243, 7, 69, 2, 2, 10243, 10244, 7, 85, 2, 2, 10244, 1124, 3, 2, 2, 2, 10245, 10246, 7, 73, 2, 2, 10246, 10247, 7, 68, 2, 2, 10247, 10248, 7, 91, 2, 2, 10248, 10249, 7, 97, 2, 2, 10249, 10250, 7, 69, 2, 2, 10250, 10251, 7, 81, 2, 2, 10251, 10252, 7, 80, 2, 2, 10252, 10253, 7, 69, 2, 2, 10253, 10254, 7, 97, 2, 2, 10254, 10255, 7, 84, 2, 2, 10255, 10256, 7, 81, 2, 2, 10256, 10257, 7, 78, 2, 2, 10257, 10258, 7, 78, 2, 2, 10258, 10259, 7, 87, 2, 2, 10259, 10260, 7, 82, 2, 2, 10260, 1126, 3, 2, 2, 2, 10261, 10262, 7, 73, 2, 2, 10262, 10263, 7, 68, 2, 2, 10263, 10264, 7, 91, 2, 2, 10264, 10265, 7, 97, 2, 2, 10265, 10266, 7, 82, 2, 2, 10266, 10267, 7, 87, 2, 2, 10267, 10268, 7, 85, 2, 2, 10268, 10269, 7, 74, 2, 2, 10269, 10270, 7, 70, 2, 2, 10270, 10271, 7, 81, 2, 2, 10271, 10272, 7, 89, 2, 2, 10272, 10273, 7, 80, 2, 2, 10273, 1128, 3, 2, 2, 2, 10274, 10275, 7, 73, 2, 2, 10275, 10276, 7, 71, 2, 2, 10276, 10277, 7, 80, 2, 2, 10277, 10278, 7, 71, 2, 2, 10278, 10279, 7, 84, 2, 2, 10279, 10280, 7, 67, 2, 2, 10280, 10281, 7, 86, 2, 2, 10281, 10282, 7, 71, 2, 2, 10282, 10283, 7, 70, 2, 2, 10283, 1130, 3, 2, 2, 2, 10284, 10285, 7, 73, 2, 2, 10285, 10286, 7, 71, 2, 2, 10286, 10287, 7, 86, 2, 2, 10287, 1132, 3, 2, 2, 2, 10288, 10289, 7, 73, 2, 2, 10289, 10290, 7, 78, 2, 2, 10290, 10291, 7, 81, 2, 2, 10291, 10292, 7, 68, 2, 2, 10292, 10293, 7, 67, 2, 2, 10293, 10294, 7, 78, 2, 2, 10294, 1134, 3, 2, 2, 2, 10295, 10296, 7, 73, 2, 2, 10296, 10297, 7, 78, 2, 2, 10297, 10298, 7, 81, 2, 2, 10298, 10299, 7, 68, 2, 2, 10299, 10300, 7, 67, 2, 2, 10300, 10301, 7, 78, 2, 2, 10301, 10302, 7, 78, 2, 2, 10302, 10303, 7, 91, 2, 2, 10303, 1136, 3, 2, 2, 2, 10304, 10305, 7, 73, 2, 2, 10305, 10306, 7, 78, 2, 2, 10306, 10307, 7, 81, 2, 2, 10307, 10308, 7, 68, 2, 2, 10308, 10309, 7, 67, 2, 2, 10309, 10310, 7, 78, 2, 2, 10310, 10311, 7, 97, 2, 2, 10311, 10312, 7, 80, 2, 2, 10312, 10313, 7, 67, 2, 2, 10313, 10314, 7, 79, 2, 2, 10314, 10315, 7, 71, 2, 2, 10315, 1138, 3, 2, 2, 2, 10316, 10317, 7, 73, 2, 2, 10317, 10318, 7, 78, 2, 2, 10318, 10319, 7, 81, 2, 2, 10319, 10320, 7, 68, 2, 2, 10320, 10321, 7, 67, 2, 2, 10321, 10322, 7, 78, 2, 2, 10322, 10323, 7, 97, 2, 2, 10323, 10324, 7, 86, 2, 2, 10324, 10325, 7, 81, 2, 2, 10325, 10326, 7, 82, 2, 2, 10326, 10327, 7, 75, 2, 2, 10327, 10328, 7, 69, 2, 2, 10328, 10329, 7, 97, 2, 2, 10329, 10330, 7, 71, 2, 2, 10330, 10331, 7, 80, 2, 2, 10331, 10332, 7, 67, 2, 2, 10332, 10333, 7, 68, 2, 2, 10333, 10334, 7, 78, 2, 2, 10334, 10335, 7, 71, 2, 2, 10335, 10336, 7, 70, 2, 2, 10336, 1140, 3, 2, 2, 2, 10337, 10338, 7, 73, 2, 2, 10338, 10339, 7, 81, 2, 2, 10339, 10340, 7, 86, 2, 2, 10340, 10341, 7, 81, 2, 2, 10341, 1142, 3, 2, 2, 2, 10342, 10343, 7, 73, 2, 2, 10343, 10344, 7, 84, 2, 2, 10344, 10345, 7, 67, 2, 2, 10345, 10346, 7, 80, 2, 2, 10346, 10347, 7, 86, 2, 2, 10347, 1144, 3, 2, 2, 2, 10348, 10349, 7, 73, 2, 2, 10349, 10350, 7, 84, 2, 2, 10350, 10351, 7, 81, 2, 2, 10351, 10352, 7, 87, 2, 2, 10352, 10353, 7, 82, 2, 2, 10353, 10354, 7, 97, 2, 2, 10354, 10355, 7, 68, 2, 2, 10355, 10356, 7, 91, 2, 2, 10356, 1146, 3, 2, 2, 2, 10357, 10358, 7, 73, 2, 2, 10358, 10359, 7, 84, 2, 2, 10359, 10360, 7, 81, 2, 2, 10360, 10361, 7, 87, 2, 2, 10361, 10362, 7, 82, 2, 2, 10362, 1148, 3, 2, 2, 2, 10363, 10364, 7, 73, 2, 2, 10364, 10365, 7, 84, 2, 2, 10365, 10366, 7, 81, 2, 2, 10366, 10367, 7, 87, 2, 2, 10367, 10368, 7, 82, 2, 2, 10368, 10369, 7, 97, 2, 2, 10369, 10370, 7, 75, 2, 2, 10370, 10371, 7, 70, 2, 2, 10371, 1150, 3, 2, 2, 2, 10372, 10373, 7, 73, 2, 2, 10373, 10374, 7, 84, 2, 2, 10374, 10375, 7, 81, 2, 2, 10375, 10376, 7, 87, 2, 2, 10376, 10377, 7, 82, 2, 2, 10377, 10378, 7, 75, 2, 2, 10378, 10379, 7, 80, 2, 2, 10379, 10380, 7, 73, 2, 2, 10380, 1152, 3, 2, 2, 2, 10381, 10382, 7, 73, 2, 2, 10382, 10383, 7, 84, 2, 2, 10383, 10384, 7, 81, 2, 2, 10384, 10385, 7, 87, 2, 2, 10385, 10386, 7, 82, 2, 2, 10386, 10387, 7, 75, 2, 2, 10387, 10388, 7, 80, 2, 2, 10388, 10389, 7, 73, 2, 2, 10389, 10390, 7, 97, 2, 2, 10390, 10391, 7, 75, 2, 2, 10391, 10392, 7, 70, 2, 2, 10392, 1154, 3, 2, 2, 2, 10393, 10394, 7, 73, 2, 2, 10394, 10395, 7, 84, 2, 2, 10395, 10396, 7, 81, 2, 2, 10396, 10397, 7, 87, 2, 2, 10397, 10398, 7, 82, 2, 2, 10398, 10399, 7, 85, 2, 2, 10399, 1156, 3, 2, 2, 2, 10400, 10401, 7, 73, 2, 2, 10401, 10402, 7, 87, 2, 2, 10402, 10403, 7, 67, 2, 2, 10403, 10404, 7, 84, 2, 2, 10404, 10405, 7, 67, 2, 2, 10405, 10406, 7, 80, 2, 2, 10406, 10407, 7, 86, 2, 2, 10407, 10408, 7, 71, 2, 2, 10408, 10409, 7, 71, 2, 2, 10409, 10410, 7, 70, 2, 2, 10410, 1158, 3, 2, 2, 2, 10411, 10412, 7, 73, 2, 2, 10412, 10413, 7, 87, 2, 2, 10413, 10414, 7, 67, 2, 2, 10414, 10415, 7, 84, 2, 2, 10415, 10416, 7, 67, 2, 2, 10416, 10417, 7, 80, 2, 2, 10417, 10418, 7, 86, 2, 2, 10418, 10419, 7, 71, 2, 2, 10419, 10420, 7, 71, 2, 2, 10420, 1160, 3, 2, 2, 2, 10421, 10422, 7, 73, 2, 2, 10422, 10423, 7, 87, 2, 2, 10423, 10424, 7, 67, 2, 2, 10424, 10425, 7, 84, 2, 2, 10425, 10426, 7, 70, 2, 2, 10426, 1162, 3, 2, 2, 2, 10427, 10428, 7, 74, 2, 2, 10428, 10429, 7, 67, 2, 2, 10429, 10430, 7, 85, 2, 2, 10430, 10431, 7, 74, 2, 2, 10431, 10432, 7, 97, 2, 2, 10432, 10433, 7, 67, 2, 2, 10433, 10434, 7, 76, 2, 2, 10434, 1164, 3, 2, 2, 2, 10435, 10436, 7, 74, 2, 2, 10436, 10437, 7, 67, 2, 2, 10437, 10438, 7, 85, 2, 2, 10438, 10439, 7, 74, 2, 2, 10439, 1166, 3, 2, 2, 2, 10440, 10441, 7, 74, 2, 2, 10441, 10442, 7, 67, 2, 2, 10442, 10443, 7, 85, 2, 2, 10443, 10444, 7, 74, 2, 2, 10444, 10445, 7, 77, 2, 2, 10445, 10446, 7, 71, 2, 2, 10446, 10447, 7, 91, 2, 2, 10447, 10448, 7, 85, 2, 2, 10448, 1168, 3, 2, 2, 2, 10449, 10450, 7, 74, 2, 2, 10450, 10451, 7, 67, 2, 2, 10451, 10452, 7, 85, 2, 2, 10452, 10453, 7, 74, 2, 2, 10453, 10454, 7, 97, 2, 2, 10454, 10455, 7, 85, 2, 2, 10455, 10456, 7, 76, 2, 2, 10456, 1170, 3, 2, 2, 2, 10457, 10458, 7, 74, 2, 2, 10458, 10459, 7, 67, 2, 2, 10459, 10460, 7, 88, 2, 2, 10460, 10461, 7, 75, 2, 2, 10461, 10462, 7, 80, 2, 2, 10462, 10463, 7, 73, 2, 2, 10463, 1172, 3, 2, 2, 2, 10464, 10465, 7, 74, 2, 2, 10465, 10466, 7, 71, 2, 2, 10466, 10467, 7, 67, 2, 2, 10467, 10468, 7, 70, 2, 2, 10468, 10469, 7, 71, 2, 2, 10469, 10470, 7, 84, 2, 2, 10470, 1174, 3, 2, 2, 2, 10471, 10472, 7, 74, 2, 2, 10472, 10473, 7, 71, 2, 2, 10473, 10474, 7, 67, 2, 2, 10474, 10475, 7, 82, 2, 2, 10475, 1176, 3, 2, 2, 2, 10476, 10477, 7, 74, 2, 2, 10477, 10478, 7, 71, 2, 2, 10478, 10479, 7, 78, 2, 2, 10479, 10480, 7, 82, 2, 2, 10480, 1178, 3, 2, 2, 2, 10481, 10482, 7, 74, 2, 2, 10482, 10483, 7, 71, 2, 2, 10483, 10484, 7, 90, 2, 2, 10484, 10485, 7, 86, 2, 2, 10485, 10486, 7, 81, 2, 2, 10486, 10487, 7, 84, 2, 2, 10487, 10488, 7, 67, 2, 2, 10488, 10489, 7, 89, 2, 2, 10489, 1180, 3, 2, 2, 2, 10490, 10491, 7, 74, 2, 2, 10491, 10492, 7, 71, 2, 2, 10492, 10493, 7, 90, 2, 2, 10493, 10494, 7, 86, 2, 2, 10494, 10495, 7, 81, 2, 2, 10495, 10496, 7, 84, 2, 2, 10496, 10497, 7, 71, 2, 2, 10497, 10498, 7, 72, 2, 2, 10498, 1182, 3, 2, 2, 2, 10499, 10500, 7, 74, 2, 2, 10500, 10501, 7, 75, 2, 2, 10501, 10502, 7, 70, 2, 2, 10502, 10503, 7, 70, 2, 2, 10503, 10504, 7, 71, 2, 2, 10504, 10505, 7, 80, 2, 2, 10505, 1184, 3, 2, 2, 2, 10506, 10507, 7, 74, 2, 2, 10507, 10508, 7, 75, 2, 2, 10508, 10509, 7, 70, 2, 2, 10509, 10510, 7, 71, 2, 2, 10510, 1186, 3, 2, 2, 2, 10511, 10512, 7, 74, 2, 2, 10512, 10513, 7, 75, 2, 2, 10513, 10514, 7, 71, 2, 2, 10514, 10515, 7, 84, 2, 2, 10515, 10516, 7, 67, 2, 2, 10516, 10517, 7, 84, 2, 2, 10517, 10518, 7, 69, 2, 2, 10518, 10519, 7, 74, 2, 2, 10519, 10520, 7, 91, 2, 2, 10520, 1188, 3, 2, 2, 2, 10521, 10522, 7, 74, 2, 2, 10522, 10523, 7, 75, 2, 2, 10523, 10524, 7, 73, 2, 2, 10524, 10525, 7, 74, 2, 2, 10525, 1190, 3, 2, 2, 2, 10526, 10527, 7, 74, 2, 2, 10527, 10528, 7, 75, 2, 2, 10528, 10529, 7, 80, 2, 2, 10529, 10530, 7, 86, 2, 2, 10530, 10531, 7, 85, 2, 2, 10531, 10532, 7, 71, 2, 2, 10532, 10533, 7, 86, 2, 2, 10533, 10534, 7, 97, 2, 2, 10534, 10535, 7, 68, 2, 2, 10535, 10536, 7, 71, 2, 2, 10536, 10537, 7, 73, 2, 2, 10537, 10538, 7, 75, 2, 2, 10538, 10539, 7, 80, 2, 2, 10539, 1192, 3, 2, 2, 2, 10540, 10541, 7, 74, 2, 2, 10541, 10542, 7, 75, 2, 2, 10542, 10543, 7, 80, 2, 2, 10543, 10544, 7, 86, 2, 2, 10544, 10545, 7, 85, 2, 2, 10545, 10546, 7, 71, 2, 2, 10546, 10547, 7, 86, 2, 2, 10547, 10548, 7, 97, 2, 2, 10548, 10549, 7, 71, 2, 2, 10549, 10550, 7, 80, 2, 2, 10550, 10551, 7, 70, 2, 2, 10551, 1194, 3, 2, 2, 2, 10552, 10553, 7, 74, 2, 2, 10553, 10554, 7, 81, 2, 2, 10554, 10555, 7, 86, 2, 2, 10555, 1196, 3, 2, 2, 2, 10556, 10557, 7, 74, 2, 2, 10557, 10558, 7, 81, 2, 2, 10558, 10559, 7, 87, 2, 2, 10559, 10560, 7, 84, 2, 2, 10560, 1198, 3, 2, 2, 2, 10561, 10562, 7, 74, 2, 2, 10562, 10563, 7, 89, 2, 2, 10563, 10564, 7, 79, 2, 2, 10564, 10565, 7, 97, 2, 2, 10565, 10566, 7, 68, 2, 2, 10566, 10567, 7, 84, 2, 2, 10567, 10568, 7, 81, 2, 2, 10568, 10569, 7, 77, 2, 2, 10569, 10570, 7, 71, 2, 2, 10570, 10571, 7, 84, 2, 2, 10571, 10572, 7, 71, 2, 2, 10572, 10573, 7, 70, 2, 2, 10573, 1200, 3, 2, 2, 2, 10574, 10575, 7, 74, 2, 2, 10575, 10576, 7, 91, 2, 2, 10576, 10577, 7, 68, 2, 2, 10577, 10578, 7, 84, 2, 2, 10578, 10579, 7, 75, 2, 2, 10579, 10580, 7, 70, 2, 2, 10580, 1202, 3, 2, 2, 2, 10581, 10582, 7, 75, 2, 2, 10582, 10583, 7, 70, 2, 2, 10583, 10584, 7, 71, 2, 2, 10584, 10585, 7, 80, 2, 2, 10585, 10586, 7, 86, 2, 2, 10586, 10587, 7, 75, 2, 2, 10587, 10588, 7, 72, 2, 2, 10588, 10589, 7, 75, 2, 2, 10589, 10590, 7, 71, 2, 2, 10590, 10591, 7, 70, 2, 2, 10591, 1204, 3, 2, 2, 2, 10592, 10593, 7, 75, 2, 2, 10593, 10594, 7, 70, 2, 2, 10594, 10595, 7, 71, 2, 2, 10595, 10596, 7, 80, 2, 2, 10596, 10597, 7, 86, 2, 2, 10597, 10598, 7, 75, 2, 2, 10598, 10599, 7, 72, 2, 2, 10599, 10600, 7, 75, 2, 2, 10600, 10601, 7, 71, 2, 2, 10601, 10602, 7, 84, 2, 2, 10602, 1206, 3, 2, 2, 2, 10603, 10604, 7, 75, 2, 2, 10604, 10605, 7, 70, 2, 2, 10605, 10606, 7, 71, 2, 2, 10606, 10607, 7, 80, 2, 2, 10607, 10608, 7, 86, 2, 2, 10608, 10609, 7, 75, 2, 2, 10609, 10610, 7, 86, 2, 2, 10610, 10611, 7, 91, 2, 2, 10611, 1208, 3, 2, 2, 2, 10612, 10613, 7, 75, 2, 2, 10613, 10614, 7, 70, 2, 2, 10614, 10615, 7, 73, 2, 2, 10615, 10616, 7, 71, 2, 2, 10616, 10617, 7, 80, 2, 2, 10617, 10618, 7, 71, 2, 2, 10618, 10619, 7, 84, 2, 2, 10619, 10620, 7, 67, 2, 2, 10620, 10621, 7, 86, 2, 2, 10621, 10622, 7, 81, 2, 2, 10622, 10623, 7, 84, 2, 2, 10623, 10624, 7, 85, 2, 2, 10624, 1210, 3, 2, 2, 2, 10625, 10626, 7, 75, 2, 2, 10626, 10627, 7, 70, 2, 2, 10627, 1212, 3, 2, 2, 2, 10628, 10629, 7, 75, 2, 2, 10629, 10630, 7, 70, 2, 2, 10630, 10631, 7, 78, 2, 2, 10631, 10632, 7, 71, 2, 2, 10632, 10633, 7, 97, 2, 2, 10633, 10634, 7, 86, 2, 2, 10634, 10635, 7, 75, 2, 2, 10635, 10636, 7, 79, 2, 2, 10636, 10637, 7, 71, 2, 2, 10637, 1214, 3, 2, 2, 2, 10638, 10639, 7, 75, 2, 2, 10639, 10640, 7, 72, 2, 2, 10640, 1216, 3, 2, 2, 2, 10641, 10642, 7, 75, 2, 2, 10642, 10643, 7, 73, 2, 2, 10643, 10644, 7, 80, 2, 2, 10644, 10645, 7, 81, 2, 2, 10645, 10646, 7, 84, 2, 2, 10646, 10647, 7, 71, 2, 2, 10647, 1218, 3, 2, 2, 2, 10648, 10649, 7, 75, 2, 2, 10649, 10650, 7, 73, 2, 2, 10650, 10651, 7, 80, 2, 2, 10651, 10652, 7, 81, 2, 2, 10652, 10653, 7, 84, 2, 2, 10653, 10654, 7, 71, 2, 2, 10654, 10655, 7, 97, 2, 2, 10655, 10656, 7, 81, 2, 2, 10656, 10657, 7, 82, 2, 2, 10657, 10658, 7, 86, 2, 2, 10658, 10659, 7, 75, 2, 2, 10659, 10660, 7, 79, 2, 2, 10660, 10661, 7, 97, 2, 2, 10661, 10662, 7, 71, 2, 2, 10662, 10663, 7, 79, 2, 2, 10663, 10664, 7, 68, 2, 2, 10664, 10665, 7, 71, 2, 2, 10665, 10666, 7, 70, 2, 2, 10666, 10667, 7, 70, 2, 2, 10667, 10668, 7, 71, 2, 2, 10668, 10669, 7, 70, 2, 2, 10669, 10670, 7, 97, 2, 2, 10670, 10671, 7, 74, 2, 2, 10671, 10672, 7, 75, 2, 2, 10672, 10673, 7, 80, 2, 2, 10673, 10674, 7, 86, 2, 2, 10674, 10675, 7, 85, 2, 2, 10675, 1220, 3, 2, 2, 2, 10676, 10677, 7, 75, 2, 2, 10677, 10678, 7, 73, 2, 2, 10678, 10679, 7, 80, 2, 2, 10679, 10680, 7, 81, 2, 2, 10680, 10681, 7, 84, 2, 2, 10681, 10682, 7, 71, 2, 2, 10682, 10683, 7, 97, 2, 2, 10683, 10684, 7, 84, 2, 2, 10684, 10685, 7, 81, 2, 2, 10685, 10686, 7, 89, 2, 2, 10686, 10687, 7, 97, 2, 2, 10687, 10688, 7, 81, 2, 2, 10688, 10689, 7, 80, 2, 2, 10689, 10690, 7, 97, 2, 2, 10690, 10691, 7, 70, 2, 2, 10691, 10692, 7, 87, 2, 2, 10692, 10693, 7, 82, 2, 2, 10693, 10694, 7, 77, 2, 2, 10694, 10695, 7, 71, 2, 2, 10695, 10696, 7, 91, 2, 2, 10696, 10697, 7, 97, 2, 2, 10697, 10698, 7, 75, 2, 2, 10698, 10699, 7, 80, 2, 2, 10699, 10700, 7, 70, 2, 2, 10700, 10701, 7, 71, 2, 2, 10701, 10702, 7, 90, 2, 2, 10702, 1222, 3, 2, 2, 2, 10703, 10704, 7, 75, 2, 2, 10704, 10705, 7, 73, 2, 2, 10705, 10706, 7, 80, 2, 2, 10706, 10707, 7, 81, 2, 2, 10707, 10708, 7, 84, 2, 2, 10708, 10709, 7, 71, 2, 2, 10709, 10710, 7, 97, 2, 2, 10710, 10711, 7, 89, 2, 2, 10711, 10712, 7, 74, 2, 2, 10712, 10713, 7, 71, 2, 2, 10713, 10714, 7, 84, 2, 2, 10714, 10715, 7, 71, 2, 2, 10715, 10716, 7, 97, 2, 2, 10716, 10717, 7, 69, 2, 2, 10717, 10718, 7, 78, 2, 2, 10718, 10719, 7, 67, 2, 2, 10719, 10720, 7, 87, 2, 2, 10720, 10721, 7, 85, 2, 2, 10721, 10722, 7, 71, 2, 2, 10722, 1224, 3, 2, 2, 2, 10723, 10724, 7, 75, 2, 2, 10724, 10725, 7, 78, 2, 2, 10725, 10726, 7, 79, 2, 2, 10726, 1226, 3, 2, 2, 2, 10727, 10728, 7, 75, 2, 2, 10728, 10729, 7, 79, 2, 2, 10729, 10730, 7, 79, 2, 2, 10730, 10731, 7, 71, 2, 2, 10731, 10732, 7, 70, 2, 2, 10732, 10733, 7, 75, 2, 2, 10733, 10734, 7, 67, 2, 2, 10734, 10735, 7, 86, 2, 2, 10735, 10736, 7, 71, 2, 2, 10736, 1228, 3, 2, 2, 2, 10737, 10738, 7, 75, 2, 2, 10738, 10739, 7, 79, 2, 2, 10739, 10740, 7, 82, 2, 2, 10740, 10741, 7, 67, 2, 2, 10741, 10742, 7, 69, 2, 2, 10742, 10743, 7, 86, 2, 2, 10743, 1230, 3, 2, 2, 2, 10744, 10745, 7, 75, 2, 2, 10745, 10746, 7, 79, 2, 2, 10746, 10747, 7, 82, 2, 2, 10747, 10748, 7, 81, 2, 2, 10748, 10749, 7, 84, 2, 2, 10749, 10750, 7, 86, 2, 2, 10750, 1232, 3, 2, 2, 2, 10751, 10752, 7, 75, 2, 2, 10752, 10753, 7, 80, 2, 2, 10753, 10754, 7, 67, 2, 2, 10754, 10755, 7, 69, 2, 2, 10755, 10756, 7, 86, 2, 2, 10756, 10757, 7, 75, 2, 2, 10757, 10758, 7, 88, 2, 2, 10758, 10759, 7, 71, 2, 2, 10759, 1234, 3, 2, 2, 2, 10760, 10761, 7, 75, 2, 2, 10761, 10762, 7, 80, 2, 2, 10762, 10763, 7, 69, 2, 2, 10763, 10764, 7, 78, 2, 2, 10764, 10765, 7, 87, 2, 2, 10765, 10766, 7, 70, 2, 2, 10766, 10767, 7, 71, 2, 2, 10767, 1236, 3, 2, 2, 2, 10768, 10769, 7, 75, 2, 2, 10769, 10770, 7, 80, 2, 2, 10770, 10771, 7, 69, 2, 2, 10771, 10772, 7, 78, 2, 2, 10772, 10773, 7, 87, 2, 2, 10773, 10774, 7, 70, 2, 2, 10774, 10775, 7, 71, 2, 2, 10775, 10776, 7, 97, 2, 2, 10776, 10777, 7, 88, 2, 2, 10777, 10778, 7, 71, 2, 2, 10778, 10779, 7, 84, 2, 2, 10779, 10780, 7, 85, 2, 2, 10780, 10781, 7, 75, 2, 2, 10781, 10782, 7, 81, 2, 2, 10782, 10783, 7, 80, 2, 2, 10783, 1238, 3, 2, 2, 2, 10784, 10785, 7, 75, 2, 2, 10785, 10786, 7, 80, 2, 2, 10786, 10787, 7, 69, 2, 2, 10787, 10788, 7, 78, 2, 2, 10788, 10789, 7, 87, 2, 2, 10789, 10790, 7, 70, 2, 2, 10790, 10791, 7, 75, 2, 2, 10791, 10792, 7, 80, 2, 2, 10792, 10793, 7, 73, 2, 2, 10793, 1240, 3, 2, 2, 2, 10794, 10795, 7, 75, 2, 2, 10795, 10796, 7, 80, 2, 2, 10796, 10797, 7, 69, 2, 2, 10797, 10798, 7, 84, 2, 2, 10798, 10799, 7, 71, 2, 2, 10799, 10800, 7, 79, 2, 2, 10800, 10801, 7, 71, 2, 2, 10801, 10802, 7, 80, 2, 2, 10802, 10803, 7, 86, 2, 2, 10803, 10804, 7, 67, 2, 2, 10804, 10805, 7, 78, 2, 2, 10805, 1242, 3, 2, 2, 2, 10806, 10807, 7, 75, 2, 2, 10807, 10808, 7, 80, 2, 2, 10808, 10809, 7, 69, 2, 2, 10809, 10810, 7, 84, 2, 2, 10810, 10811, 7, 71, 2, 2, 10811, 10812, 7, 79, 2, 2, 10812, 10813, 7, 71, 2, 2, 10813, 10814, 7, 80, 2, 2, 10814, 10815, 7, 86, 2, 2, 10815, 1244, 3, 2, 2, 2, 10816, 10817, 7, 75, 2, 2, 10817, 10818, 7, 80, 2, 2, 10818, 10819, 7, 69, 2, 2, 10819, 10820, 7, 84, 2, 2, 10820, 1246, 3, 2, 2, 2, 10821, 10822, 7, 75, 2, 2, 10822, 10823, 7, 80, 2, 2, 10823, 10824, 7, 70, 2, 2, 10824, 10825, 7, 71, 2, 2, 10825, 10826, 7, 80, 2, 2, 10826, 10827, 7, 86, 2, 2, 10827, 1248, 3, 2, 2, 2, 10828, 10829, 7, 75, 2, 2, 10829, 10830, 7, 80, 2, 2, 10830, 10831, 7, 70, 2, 2, 10831, 10832, 7, 71, 2, 2, 10832, 10833, 7, 90, 2, 2, 10833, 10834, 7, 97, 2, 2, 10834, 10835, 7, 67, 2, 2, 10835, 10836, 7, 85, 2, 2, 10836, 10837, 7, 69, 2, 2, 10837, 1250, 3, 2, 2, 2, 10838, 10839, 7, 75, 2, 2, 10839, 10840, 7, 80, 2, 2, 10840, 10841, 7, 70, 2, 2, 10841, 10842, 7, 71, 2, 2, 10842, 10843, 7, 90, 2, 2, 10843, 10844, 7, 97, 2, 2, 10844, 10845, 7, 69, 2, 2, 10845, 10846, 7, 81, 2, 2, 10846, 10847, 7, 79, 2, 2, 10847, 10848, 7, 68, 2, 2, 10848, 10849, 7, 75, 2, 2, 10849, 10850, 7, 80, 2, 2, 10850, 10851, 7, 71, 2, 2, 10851, 1252, 3, 2, 2, 2, 10852, 10853, 7, 75, 2, 2, 10853, 10854, 7, 80, 2, 2, 10854, 10855, 7, 70, 2, 2, 10855, 10856, 7, 71, 2, 2, 10856, 10857, 7, 90, 2, 2, 10857, 10858, 7, 97, 2, 2, 10858, 10859, 7, 70, 2, 2, 10859, 10860, 7, 71, 2, 2, 10860, 10861, 7, 85, 2, 2, 10861, 10862, 7, 69, 2, 2, 10862, 1254, 3, 2, 2, 2, 10863, 10864, 7, 75, 2, 2, 10864, 10865, 7, 80, 2, 2, 10865, 10866, 7, 70, 2, 2, 10866, 10867, 7, 71, 2, 2, 10867, 10868, 7, 90, 2, 2, 10868, 10869, 7, 71, 2, 2, 10869, 10870, 7, 70, 2, 2, 10870, 1256, 3, 2, 2, 2, 10871, 10872, 7, 75, 2, 2, 10872, 10873, 7, 80, 2, 2, 10873, 10874, 7, 70, 2, 2, 10874, 10875, 7, 71, 2, 2, 10875, 10876, 7, 90, 2, 2, 10876, 10877, 7, 71, 2, 2, 10877, 10878, 7, 85, 2, 2, 10878, 1258, 3, 2, 2, 2, 10879, 10880, 7, 75, 2, 2, 10880, 10881, 7, 80, 2, 2, 10881, 10882, 7, 70, 2, 2, 10882, 10883, 7, 71, 2, 2, 10883, 10884, 7, 90, 2, 2, 10884, 10885, 7, 97, 2, 2, 10885, 10886, 7, 72, 2, 2, 10886, 10887, 7, 72, 2, 2, 10887, 10888, 7, 85, 2, 2, 10888, 1260, 3, 2, 2, 2, 10889, 10890, 7, 75, 2, 2, 10890, 10891, 7, 80, 2, 2, 10891, 10892, 7, 70, 2, 2, 10892, 10893, 7, 71, 2, 2, 10893, 10894, 7, 90, 2, 2, 10894, 10895, 7, 97, 2, 2, 10895, 10896, 7, 72, 2, 2, 10896, 10897, 7, 75, 2, 2, 10897, 10898, 7, 78, 2, 2, 10898, 10899, 7, 86, 2, 2, 10899, 10900, 7, 71, 2, 2, 10900, 10901, 7, 84, 2, 2, 10901, 1262, 3, 2, 2, 2, 10902, 10903, 7, 75, 2, 2, 10903, 10904, 7, 80, 2, 2, 10904, 10905, 7, 70, 2, 2, 10905, 10906, 7, 71, 2, 2, 10906, 10907, 7, 90, 2, 2, 10907, 1264, 3, 2, 2, 2, 10908, 10909, 7, 75, 2, 2, 10909, 10910, 7, 80, 2, 2, 10910, 10911, 7, 70, 2, 2, 10911, 10912, 7, 71, 2, 2, 10912, 10913, 7, 90, 2, 2, 10913, 10914, 7, 75, 2, 2, 10914, 10915, 7, 80, 2, 2, 10915, 10916, 7, 73, 2, 2, 10916, 1266, 3, 2, 2, 2, 10917, 10918, 7, 75, 2, 2, 10918, 10919, 7, 80, 2, 2, 10919, 10920, 7, 70, 2, 2, 10920, 10921, 7, 71, 2, 2, 10921, 10922, 7, 90, 2, 2, 10922, 10923, 7, 97, 2, 2, 10923, 10924, 7, 76, 2, 2, 10924, 10925, 7, 81, 2, 2, 10925, 10926, 7, 75, 2, 2, 10926, 10927, 7, 80, 2, 2, 10927, 1268, 3, 2, 2, 2, 10928, 10929, 7, 75, 2, 2, 10929, 10930, 7, 80, 2, 2, 10930, 10931, 7, 70, 2, 2, 10931, 10932, 7, 71, 2, 2, 10932, 10933, 7, 90, 2, 2, 10933, 10934, 7, 97, 2, 2, 10934, 10935, 7, 84, 2, 2, 10935, 10936, 7, 81, 2, 2, 10936, 10937, 7, 89, 2, 2, 10937, 10938, 7, 85, 2, 2, 10938, 1270, 3, 2, 2, 2, 10939, 10940, 7, 75, 2, 2, 10940, 10941, 7, 80, 2, 2, 10941, 10942, 7, 70, 2, 2, 10942, 10943, 7, 71, 2, 2, 10943, 10944, 7, 90, 2, 2, 10944, 10945, 7, 97, 2, 2, 10945, 10946, 7, 84, 2, 2, 10946, 10947, 7, 84, 2, 2, 10947, 10948, 7, 85, 2, 2, 10948, 1272, 3, 2, 2, 2, 10949, 10950, 7, 75, 2, 2, 10950, 10951, 7, 80, 2, 2, 10951, 10952, 7, 70, 2, 2, 10952, 10953, 7, 71, 2, 2, 10953, 10954, 7, 90, 2, 2, 10954, 10955, 7, 97, 2, 2, 10955, 10956, 7, 84, 2, 2, 10956, 10957, 7, 85, 2, 2, 10957, 10958, 7, 97, 2, 2, 10958, 10959, 7, 67, 2, 2, 10959, 10960, 7, 85, 2, 2, 10960, 10961, 7, 69, 2, 2, 10961, 1274, 3, 2, 2, 2, 10962, 10963, 7, 75, 2, 2, 10963, 10964, 7, 80, 2, 2, 10964, 10965, 7, 70, 2, 2, 10965, 10966, 7, 71, 2, 2, 10966, 10967, 7, 90, 2, 2, 10967, 10968, 7, 97, 2, 2, 10968, 10969, 7, 84, 2, 2, 10969, 10970, 7, 85, 2, 2, 10970, 10971, 7, 97, 2, 2, 10971, 10972, 7, 70, 2, 2, 10972, 10973, 7, 71, 2, 2, 10973, 10974, 7, 85, 2, 2, 10974, 10975, 7, 69, 2, 2, 10975, 1276, 3, 2, 2, 2, 10976, 10977, 7, 75, 2, 2, 10977, 10978, 7, 80, 2, 2, 10978, 10979, 7, 70, 2, 2, 10979, 10980, 7, 71, 2, 2, 10980, 10981, 7, 90, 2, 2, 10981, 10982, 7, 97, 2, 2, 10982, 10983, 7, 84, 2, 2, 10983, 10984, 7, 85, 2, 2, 10984, 1278, 3, 2, 2, 2, 10985, 10986, 7, 75, 2, 2, 10986, 10987, 7, 80, 2, 2, 10987, 10988, 7, 70, 2, 2, 10988, 10989, 7, 71, 2, 2, 10989, 10990, 7, 90, 2, 2, 10990, 10991, 7, 97, 2, 2, 10991, 10992, 7, 85, 2, 2, 10992, 10993, 7, 69, 2, 2, 10993, 10994, 7, 67, 2, 2, 10994, 10995, 7, 80, 2, 2, 10995, 1280, 3, 2, 2, 2, 10996, 10997, 7, 75, 2, 2, 10997, 10998, 7, 80, 2, 2, 10998, 10999, 7, 70, 2, 2, 10999, 11000, 7, 71, 2, 2, 11000, 11001, 7, 90, 2, 2, 11001, 11002, 7, 97, 2, 2, 11002, 11003, 7, 85, 2, 2, 11003, 11004, 7, 77, 2, 2, 11004, 11005, 7, 75, 2, 2, 11005, 11006, 7, 82, 2, 2, 11006, 11007, 7, 97, 2, 2, 11007, 11008, 7, 85, 2, 2, 11008, 11009, 7, 69, 2, 2, 11009, 11010, 7, 67, 2, 2, 11010, 11011, 7, 80, 2, 2, 11011, 1282, 3, 2, 2, 2, 11012, 11013, 7, 75, 2, 2, 11013, 11014, 7, 80, 2, 2, 11014, 11015, 7, 70, 2, 2, 11015, 11016, 7, 71, 2, 2, 11016, 11017, 7, 90, 2, 2, 11017, 11018, 7, 97, 2, 2, 11018, 11019, 7, 85, 2, 2, 11019, 11020, 7, 85, 2, 2, 11020, 11021, 7, 97, 2, 2, 11021, 11022, 7, 67, 2, 2, 11022, 11023, 7, 85, 2, 2, 11023, 11024, 7, 69, 2, 2, 11024, 1284, 3, 2, 2, 2, 11025, 11026, 7, 75, 2, 2, 11026, 11027, 7, 80, 2, 2, 11027, 11028, 7, 70, 2, 2, 11028, 11029, 7, 71, 2, 2, 11029, 11030, 7, 90, 2, 2, 11030, 11031, 7, 97, 2, 2, 11031, 11032, 7, 85, 2, 2, 11032, 11033, 7, 85, 2, 2, 11033, 11034, 7, 97, 2, 2, 11034, 11035, 7, 70, 2, 2, 11035, 11036, 7, 71, 2, 2, 11036, 11037, 7, 85, 2, 2, 11037, 11038, 7, 69, 2, 2, 11038, 1286, 3, 2, 2, 2, 11039, 11040, 7, 75, 2, 2, 11040, 11041, 7, 80, 2, 2, 11041, 11042, 7, 70, 2, 2, 11042, 11043, 7, 71, 2, 2, 11043, 11044, 7, 90, 2, 2, 11044, 11045, 7, 97, 2, 2, 11045, 11046, 7, 85, 2, 2, 11046, 11047, 7, 85, 2, 2, 11047, 1288, 3, 2, 2, 2, 11048, 11049, 7, 75, 2, 2, 11049, 11050, 7, 80, 2, 2, 11050, 11051, 7, 70, 2, 2, 11051, 11052, 7, 71, 2, 2, 11052, 11053, 7, 90, 2, 2, 11053, 11054, 7, 97, 2, 2, 11054, 11055, 7, 85, 2, 2, 11055, 11056, 7, 86, 2, 2, 11056, 11057, 7, 67, 2, 2, 11057, 11058, 7, 86, 2, 2, 11058, 11059, 7, 85, 2, 2, 11059, 1290, 3, 2, 2, 2, 11060, 11061, 7, 75, 2, 2, 11061, 11062, 7, 80, 2, 2, 11062, 11063, 7, 70, 2, 2, 11063, 11064, 7, 71, 2, 2, 11064, 11065, 7, 90, 2, 2, 11065, 11066, 7, 86, 2, 2, 11066, 11067, 7, 91, 2, 2, 11067, 11068, 7, 82, 2, 2, 11068, 11069, 7, 71, 2, 2, 11069, 1292, 3, 2, 2, 2, 11070, 11071, 7, 75, 2, 2, 11071, 11072, 7, 80, 2, 2, 11072, 11073, 7, 70, 2, 2, 11073, 11074, 7, 71, 2, 2, 11074, 11075, 7, 90, 2, 2, 11075, 11076, 7, 86, 2, 2, 11076, 11077, 7, 91, 2, 2, 11077, 11078, 7, 82, 2, 2, 11078, 11079, 7, 71, 2, 2, 11079, 11080, 7, 85, 2, 2, 11080, 1294, 3, 2, 2, 2, 11081, 11082, 7, 75, 2, 2, 11082, 11083, 7, 80, 2, 2, 11083, 11084, 7, 70, 2, 2, 11084, 11085, 7, 75, 2, 2, 11085, 11086, 7, 69, 2, 2, 11086, 11087, 7, 67, 2, 2, 11087, 11088, 7, 86, 2, 2, 11088, 11089, 7, 81, 2, 2, 11089, 11090, 7, 84, 2, 2, 11090, 1296, 3, 2, 2, 2, 11091, 11092, 7, 75, 2, 2, 11092, 11093, 7, 80, 2, 2, 11093, 11094, 7, 70, 2, 2, 11094, 11095, 7, 75, 2, 2, 11095, 11096, 7, 69, 2, 2, 11096, 11097, 7, 71, 2, 2, 11097, 11098, 7, 85, 2, 2, 11098, 1298, 3, 2, 2, 2, 11099, 11100, 7, 75, 2, 2, 11100, 11101, 7, 80, 2, 2, 11101, 11102, 7, 72, 2, 2, 11102, 11103, 7, 75, 2, 2, 11103, 11104, 7, 80, 2, 2, 11104, 11105, 7, 75, 2, 2, 11105, 11106, 7, 86, 2, 2, 11106, 11107, 7, 71, 2, 2, 11107, 1300, 3, 2, 2, 2, 11108, 11109, 7, 75, 2, 2, 11109, 11110, 7, 80, 2, 2, 11110, 11111, 7, 72, 2, 2, 11111, 11112, 7, 81, 2, 2, 11112, 11113, 7, 84, 2, 2, 11113, 11114, 7, 79, 2, 2, 11114, 11115, 7, 67, 2, 2, 11115, 11116, 7, 86, 2, 2, 11116, 11117, 7, 75, 2, 2, 11117, 11118, 7, 81, 2, 2, 11118, 11119, 7, 80, 2, 2, 11119, 11120, 7, 67, 2, 2, 11120, 11121, 7, 78, 2, 2, 11121, 1302, 3, 2, 2, 2, 11122, 11123, 7, 75, 2, 2, 11123, 11124, 7, 80, 2, 2, 11124, 11125, 7, 74, 2, 2, 11125, 11126, 7, 71, 2, 2, 11126, 11127, 7, 84, 2, 2, 11127, 11128, 7, 75, 2, 2, 11128, 11129, 7, 86, 2, 2, 11129, 1304, 3, 2, 2, 2, 11130, 11131, 7, 75, 2, 2, 11131, 11132, 7, 80, 2, 2, 11132, 1306, 3, 2, 2, 2, 11133, 11134, 7, 75, 2, 2, 11134, 11135, 7, 80, 2, 2, 11135, 11136, 7, 75, 2, 2, 11136, 11137, 7, 86, 2, 2, 11137, 11138, 7, 69, 2, 2, 11138, 11139, 7, 67, 2, 2, 11139, 11140, 7, 82, 2, 2, 11140, 1308, 3, 2, 2, 2, 11141, 11142, 7, 75, 2, 2, 11142, 11143, 7, 80, 2, 2, 11143, 11144, 7, 75, 2, 2, 11144, 11145, 7, 86, 2, 2, 11145, 11146, 7, 75, 2, 2, 11146, 11147, 7, 67, 2, 2, 11147, 11148, 7, 78, 2, 2, 11148, 1310, 3, 2, 2, 2, 11149, 11150, 7, 75, 2, 2, 11150, 11151, 7, 80, 2, 2, 11151, 11152, 7, 75, 2, 2, 11152, 11153, 7, 86, 2, 2, 11153, 11154, 7, 75, 2, 2, 11154, 11155, 7, 67, 2, 2, 11155, 11156, 7, 78, 2, 2, 11156, 11157, 7, 75, 2, 2, 11157, 11158, 7, 92, 2, 2, 11158, 11159, 7, 71, 2, 2, 11159, 11160, 7, 70, 2, 2, 11160, 1312, 3, 2, 2, 2, 11161, 11162, 7, 75, 2, 2, 11162, 11163, 7, 80, 2, 2, 11163, 11164, 7, 75, 2, 2, 11164, 11165, 7, 86, 2, 2, 11165, 11166, 7, 75, 2, 2, 11166, 11167, 7, 67, 2, 2, 11167, 11168, 7, 78, 2, 2, 11168, 11169, 7, 78, 2, 2, 11169, 11170, 7, 91, 2, 2, 11170, 1314, 3, 2, 2, 2, 11171, 11172, 7, 75, 2, 2, 11172, 11173, 7, 80, 2, 2, 11173, 11174, 7, 75, 2, 2, 11174, 11175, 7, 86, 2, 2, 11175, 11176, 7, 84, 2, 2, 11176, 11177, 7, 67, 2, 2, 11177, 11178, 7, 80, 2, 2, 11178, 11179, 7, 85, 2, 2, 11179, 1316, 3, 2, 2, 2, 11180, 11181, 7, 75, 2, 2, 11181, 11182, 7, 80, 2, 2, 11182, 11183, 7, 78, 2, 2, 11183, 11184, 7, 75, 2, 2, 11184, 11185, 7, 80, 2, 2, 11185, 11186, 7, 71, 2, 2, 11186, 1318, 3, 2, 2, 2, 11187, 11188, 7, 75, 2, 2, 11188, 11189, 7, 80, 2, 2, 11189, 11190, 7, 78, 2, 2, 11190, 11191, 7, 75, 2, 2, 11191, 11192, 7, 80, 2, 2, 11192, 11193, 7, 71, 2, 2, 11193, 11194, 7, 97, 2, 2, 11194, 11195, 7, 90, 2, 2, 11195, 11196, 7, 79, 2, 2, 11196, 11197, 7, 78, 2, 2, 11197, 11198, 7, 86, 2, 2, 11198, 11199, 7, 91, 2, 2, 11199, 11200, 7, 82, 2, 2, 11200, 11201, 7, 71, 2, 2, 11201, 11202, 7, 97, 2, 2, 11202, 11203, 7, 80, 2, 2, 11203, 11204, 7, 86, 2, 2, 11204, 1320, 3, 2, 2, 2, 11205, 11206, 7, 75, 2, 2, 11206, 11207, 7, 80, 2, 2, 11207, 11208, 7, 79, 2, 2, 11208, 11209, 7, 71, 2, 2, 11209, 11210, 7, 79, 2, 2, 11210, 11211, 7, 81, 2, 2, 11211, 11212, 7, 84, 2, 2, 11212, 11213, 7, 91, 2, 2, 11213, 1322, 3, 2, 2, 2, 11214, 11215, 7, 75, 2, 2, 11215, 11216, 7, 80, 2, 2, 11216, 11217, 7, 97, 2, 2, 11217, 11218, 7, 79, 2, 2, 11218, 11219, 7, 71, 2, 2, 11219, 11220, 7, 79, 2, 2, 11220, 11221, 7, 81, 2, 2, 11221, 11222, 7, 84, 2, 2, 11222, 11223, 7, 91, 2, 2, 11223, 11224, 7, 97, 2, 2, 11224, 11225, 7, 79, 2, 2, 11225, 11226, 7, 71, 2, 2, 11226, 11227, 7, 86, 2, 2, 11227, 11228, 7, 67, 2, 2, 11228, 11229, 7, 70, 2, 2, 11229, 11230, 7, 67, 2, 2, 11230, 11231, 7, 86, 2, 2, 11231, 11232, 7, 67, 2, 2, 11232, 1324, 3, 2, 2, 2, 11233, 11234, 7, 75, 2, 2, 11234, 11235, 7, 80, 2, 2, 11235, 11236, 7, 79, 2, 2, 11236, 11237, 7, 71, 2, 2, 11237, 11238, 7, 79, 2, 2, 11238, 11239, 7, 81, 2, 2, 11239, 11240, 7, 84, 2, 2, 11240, 11241, 7, 91, 2, 2, 11241, 11242, 7, 97, 2, 2, 11242, 11243, 7, 82, 2, 2, 11243, 11244, 7, 84, 2, 2, 11244, 11245, 7, 87, 2, 2, 11245, 11246, 7, 80, 2, 2, 11246, 11247, 7, 75, 2, 2, 11247, 11248, 7, 80, 2, 2, 11248, 11249, 7, 73, 2, 2, 11249, 1326, 3, 2, 2, 2, 11250, 11251, 7, 75, 2, 2, 11251, 11252, 7, 80, 2, 2, 11252, 11253, 7, 80, 2, 2, 11253, 11254, 7, 71, 2, 2, 11254, 11255, 7, 84, 2, 2, 11255, 1328, 3, 2, 2, 2, 11256, 11257, 7, 75, 2, 2, 11257, 11258, 7, 80, 2, 2, 11258, 11259, 7, 81, 2, 2, 11259, 11260, 7, 87, 2, 2, 11260, 11261, 7, 86, 2, 2, 11261, 1330, 3, 2, 2, 2, 11262, 11263, 7, 75, 2, 2, 11263, 11264, 7, 80, 2, 2, 11264, 11265, 7, 82, 2, 2, 11265, 11266, 7, 78, 2, 2, 11266, 11267, 7, 67, 2, 2, 11267, 11268, 7, 69, 2, 2, 11268, 11269, 7, 71, 2, 2, 11269, 1332, 3, 2, 2, 2, 11270, 11271, 7, 75, 2, 2, 11271, 11272, 7, 80, 2, 2, 11272, 11273, 7, 85, 2, 2, 11273, 11274, 7, 71, 2, 2, 11274, 11275, 7, 84, 2, 2, 11275, 11276, 7, 86, 2, 2, 11276, 11277, 7, 69, 2, 2, 11277, 11278, 7, 74, 2, 2, 11278, 11279, 7, 75, 2, 2, 11279, 11280, 7, 78, 2, 2, 11280, 11281, 7, 70, 2, 2, 11281, 11282, 7, 90, 2, 2, 11282, 11283, 7, 79, 2, 2, 11283, 11284, 7, 78, 2, 2, 11284, 11285, 7, 67, 2, 2, 11285, 11286, 7, 72, 2, 2, 11286, 11287, 7, 86, 2, 2, 11287, 11288, 7, 71, 2, 2, 11288, 11289, 7, 84, 2, 2, 11289, 1334, 3, 2, 2, 2, 11290, 11291, 7, 75, 2, 2, 11291, 11292, 7, 80, 2, 2, 11292, 11293, 7, 85, 2, 2, 11293, 11294, 7, 71, 2, 2, 11294, 11295, 7, 84, 2, 2, 11295, 11296, 7, 86, 2, 2, 11296, 11297, 7, 69, 2, 2, 11297, 11298, 7, 74, 2, 2, 11298, 11299, 7, 75, 2, 2, 11299, 11300, 7, 78, 2, 2, 11300, 11301, 7, 70, 2, 2, 11301, 11302, 7, 90, 2, 2, 11302, 11303, 7, 79, 2, 2, 11303, 11304, 7, 78, 2, 2, 11304, 11305, 7, 68, 2, 2, 11305, 11306, 7, 71, 2, 2, 11306, 11307, 7, 72, 2, 2, 11307, 11308, 7, 81, 2, 2, 11308, 11309, 7, 84, 2, 2, 11309, 11310, 7, 71, 2, 2, 11310, 1336, 3, 2, 2, 2, 11311, 11312, 7, 75, 2, 2, 11312, 11313, 7, 80, 2, 2, 11313, 11314, 7, 85, 2, 2, 11314, 11315, 7, 71, 2, 2, 11315, 11316, 7, 84, 2, 2, 11316, 11317, 7, 86, 2, 2, 11317, 11318, 7, 69, 2, 2, 11318, 11319, 7, 74, 2, 2, 11319, 11320, 7, 75, 2, 2, 11320, 11321, 7, 78, 2, 2, 11321, 11322, 7, 70, 2, 2, 11322, 11323, 7, 90, 2, 2, 11323, 11324, 7, 79, 2, 2, 11324, 11325, 7, 78, 2, 2, 11325, 1338, 3, 2, 2, 2, 11326, 11327, 7, 75, 2, 2, 11327, 11328, 7, 80, 2, 2, 11328, 11329, 7, 85, 2, 2, 11329, 11330, 7, 71, 2, 2, 11330, 11331, 7, 84, 2, 2, 11331, 11332, 7, 86, 2, 2, 11332, 1340, 3, 2, 2, 2, 11333, 11334, 7, 75, 2, 2, 11334, 11335, 7, 80, 2, 2, 11335, 11336, 7, 85, 2, 2, 11336, 11337, 7, 71, 2, 2, 11337, 11338, 7, 84, 2, 2, 11338, 11339, 7, 86, 2, 2, 11339, 11340, 7, 90, 2, 2, 11340, 11341, 7, 79, 2, 2, 11341, 11342, 7, 78, 2, 2, 11342, 11343, 7, 67, 2, 2, 11343, 11344, 7, 72, 2, 2, 11344, 11345, 7, 86, 2, 2, 11345, 11346, 7, 71, 2, 2, 11346, 11347, 7, 84, 2, 2, 11347, 1342, 3, 2, 2, 2, 11348, 11349, 7, 75, 2, 2, 11349, 11350, 7, 80, 2, 2, 11350, 11351, 7, 85, 2, 2, 11351, 11352, 7, 71, 2, 2, 11352, 11353, 7, 84, 2, 2, 11353, 11354, 7, 86, 2, 2, 11354, 11355, 7, 90, 2, 2, 11355, 11356, 7, 79, 2, 2, 11356, 11357, 7, 78, 2, 2, 11357, 11358, 7, 68, 2, 2, 11358, 11359, 7, 71, 2, 2, 11359, 11360, 7, 72, 2, 2, 11360, 11361, 7, 81, 2, 2, 11361, 11362, 7, 84, 2, 2, 11362, 11363, 7, 71, 2, 2, 11363, 1344, 3, 2, 2, 2, 11364, 11365, 7, 75, 2, 2, 11365, 11366, 7, 80, 2, 2, 11366, 11367, 7, 85, 2, 2, 11367, 11368, 7, 86, 2, 2, 11368, 11369, 7, 67, 2, 2, 11369, 11370, 7, 80, 2, 2, 11370, 11371, 7, 69, 2, 2, 11371, 11372, 7, 71, 2, 2, 11372, 1346, 3, 2, 2, 2, 11373, 11374, 7, 75, 2, 2, 11374, 11375, 7, 80, 2, 2, 11375, 11376, 7, 85, 2, 2, 11376, 11377, 7, 86, 2, 2, 11377, 11378, 7, 67, 2, 2, 11378, 11379, 7, 80, 2, 2, 11379, 11380, 7, 69, 2, 2, 11380, 11381, 7, 71, 2, 2, 11381, 11382, 7, 85, 2, 2, 11382, 1348, 3, 2, 2, 2, 11383, 11384, 7, 75, 2, 2, 11384, 11385, 7, 80, 2, 2, 11385, 11386, 7, 85, 2, 2, 11386, 11387, 7, 86, 2, 2, 11387, 11388, 7, 67, 2, 2, 11388, 11389, 7, 80, 2, 2, 11389, 11390, 7, 86, 2, 2, 11390, 11391, 7, 75, 2, 2, 11391, 11392, 7, 67, 2, 2, 11392, 11393, 7, 68, 2, 2, 11393, 11394, 7, 78, 2, 2, 11394, 11395, 7, 71, 2, 2, 11395, 1350, 3, 2, 2, 2, 11396, 11397, 7, 75, 2, 2, 11397, 11398, 7, 80, 2, 2, 11398, 11399, 7, 85, 2, 2, 11399, 11400, 7, 86, 2, 2, 11400, 11401, 7, 67, 2, 2, 11401, 11402, 7, 80, 2, 2, 11402, 11403, 7, 86, 2, 2, 11403, 11404, 7, 78, 2, 2, 11404, 11405, 7, 91, 2, 2, 11405, 1352, 3, 2, 2, 2, 11406, 11407, 7, 75, 2, 2, 11407, 11408, 7, 80, 2, 2, 11408, 11409, 7, 85, 2, 2, 11409, 11410, 7, 86, 2, 2, 11410, 11411, 7, 71, 2, 2, 11411, 11412, 7, 67, 2, 2, 11412, 11413, 7, 70, 2, 2, 11413, 1354, 3, 2, 2, 2, 11414, 11415, 7, 75, 2, 2, 11415, 11416, 7, 80, 2, 2, 11416, 11417, 7, 85, 2, 2, 11417, 11418, 7, 86, 2, 2, 11418, 11419, 7, 84, 2, 2, 11419, 11420, 7, 52, 2, 2, 11420, 1356, 3, 2, 2, 2, 11421, 11422, 7, 75, 2, 2, 11422, 11423, 7, 80, 2, 2, 11423, 11424, 7, 85, 2, 2, 11424, 11425, 7, 86, 2, 2, 11425, 11426, 7, 84, 2, 2, 11426, 11427, 7, 54, 2, 2, 11427, 1358, 3, 2, 2, 2, 11428, 11429, 7, 75, 2, 2, 11429, 11430, 7, 80, 2, 2, 11430, 11431, 7, 85, 2, 2, 11431, 11432, 7, 86, 2, 2, 11432, 11433, 7, 84, 2, 2, 11433, 11434, 7, 68, 2, 2, 11434, 1360, 3, 2, 2, 2, 11435, 11436, 7, 75, 2, 2, 11436, 11437, 7, 80, 2, 2, 11437, 11438, 7, 85, 2, 2, 11438, 11439, 7, 86, 2, 2, 11439, 11440, 7, 84, 2, 2, 11440, 11441, 7, 69, 2, 2, 11441, 1362, 3, 2, 2, 2, 11442, 11443, 7, 75, 2, 2, 11443, 11444, 7, 80, 2, 2, 11444, 11445, 7, 85, 2, 2, 11445, 11446, 7, 86, 2, 2, 11446, 11447, 7, 84, 2, 2, 11447, 1364, 3, 2, 2, 2, 11448, 11449, 7, 75, 2, 2, 11449, 11450, 7, 80, 2, 2, 11450, 11451, 7, 86, 2, 2, 11451, 11452, 7, 71, 2, 2, 11452, 11453, 7, 73, 2, 2, 11453, 11454, 7, 71, 2, 2, 11454, 11455, 7, 84, 2, 2, 11455, 1366, 3, 2, 2, 2, 11456, 11457, 7, 75, 2, 2, 11457, 11458, 7, 80, 2, 2, 11458, 11459, 7, 86, 2, 2, 11459, 11460, 7, 71, 2, 2, 11460, 11461, 7, 84, 2, 2, 11461, 11462, 7, 78, 2, 2, 11462, 11463, 7, 71, 2, 2, 11463, 11464, 7, 67, 2, 2, 11464, 11465, 7, 88, 2, 2, 11465, 11466, 7, 71, 2, 2, 11466, 11467, 7, 70, 2, 2, 11467, 1368, 3, 2, 2, 2, 11468, 11469, 7, 75, 2, 2, 11469, 11470, 7, 80, 2, 2, 11470, 11471, 7, 86, 2, 2, 11471, 11472, 7, 71, 2, 2, 11472, 11473, 7, 84, 2, 2, 11473, 11474, 7, 79, 2, 2, 11474, 11475, 7, 71, 2, 2, 11475, 11476, 7, 70, 2, 2, 11476, 11477, 7, 75, 2, 2, 11477, 11478, 7, 67, 2, 2, 11478, 11479, 7, 86, 2, 2, 11479, 11480, 7, 71, 2, 2, 11480, 1370, 3, 2, 2, 2, 11481, 11482, 7, 75, 2, 2, 11482, 11483, 7, 80, 2, 2, 11483, 11484, 7, 86, 2, 2, 11484, 11485, 7, 71, 2, 2, 11485, 11486, 7, 84, 2, 2, 11486, 11487, 7, 80, 2, 2, 11487, 11488, 7, 67, 2, 2, 11488, 11489, 7, 78, 2, 2, 11489, 11490, 7, 97, 2, 2, 11490, 11491, 7, 69, 2, 2, 11491, 11492, 7, 81, 2, 2, 11492, 11493, 7, 80, 2, 2, 11493, 11494, 7, 88, 2, 2, 11494, 11495, 7, 71, 2, 2, 11495, 11496, 7, 84, 2, 2, 11496, 11497, 7, 86, 2, 2, 11497, 1372, 3, 2, 2, 2, 11498, 11499, 7, 75, 2, 2, 11499, 11500, 7, 80, 2, 2, 11500, 11501, 7, 86, 2, 2, 11501, 11502, 7, 71, 2, 2, 11502, 11503, 7, 84, 2, 2, 11503, 11504, 7, 80, 2, 2, 11504, 11505, 7, 67, 2, 2, 11505, 11506, 7, 78, 2, 2, 11506, 11507, 7, 97, 2, 2, 11507, 11508, 7, 87, 2, 2, 11508, 11509, 7, 85, 2, 2, 11509, 11510, 7, 71, 2, 2, 11510, 1374, 3, 2, 2, 2, 11511, 11512, 7, 75, 2, 2, 11512, 11513, 7, 80, 2, 2, 11513, 11514, 7, 86, 2, 2, 11514, 11515, 7, 71, 2, 2, 11515, 11516, 7, 84, 2, 2, 11516, 11517, 7, 82, 2, 2, 11517, 11518, 7, 84, 2, 2, 11518, 11519, 7, 71, 2, 2, 11519, 11520, 7, 86, 2, 2, 11520, 11521, 7, 71, 2, 2, 11521, 11522, 7, 70, 2, 2, 11522, 1376, 3, 2, 2, 2, 11523, 11524, 7, 75, 2, 2, 11524, 11525, 7, 80, 2, 2, 11525, 11526, 7, 86, 2, 2, 11526, 11527, 7, 71, 2, 2, 11527, 11528, 7, 84, 2, 2, 11528, 11529, 7, 85, 2, 2, 11529, 11530, 7, 71, 2, 2, 11530, 11531, 7, 69, 2, 2, 11531, 11532, 7, 86, 2, 2, 11532, 1378, 3, 2, 2, 2, 11533, 11534, 7, 75, 2, 2, 11534, 11535, 7, 80, 2, 2, 11535, 11536, 7, 86, 2, 2, 11536, 11537, 7, 71, 2, 2, 11537, 11538, 7, 84, 2, 2, 11538, 11539, 7, 88, 2, 2, 11539, 11540, 7, 67, 2, 2, 11540, 11541, 7, 78, 2, 2, 11541, 1380, 3, 2, 2, 2, 11542, 11543, 7, 75, 2, 2, 11543, 11544, 7, 80, 2, 2, 11544, 11545, 7, 86, 2, 2, 11545, 1382, 3, 2, 2, 2, 11546, 11547, 7, 75, 2, 2, 11547, 11548, 7, 80, 2, 2, 11548, 11549, 7, 86, 2, 2, 11549, 11550, 7, 81, 2, 2, 11550, 1384, 3, 2, 2, 2, 11551, 11552, 7, 75, 2, 2, 11552, 11553, 7, 80, 2, 2, 11553, 11554, 7, 88, 2, 2, 11554, 11555, 7, 67, 2, 2, 11555, 11556, 7, 78, 2, 2, 11556, 11557, 7, 75, 2, 2, 11557, 11558, 7, 70, 2, 2, 11558, 11559, 7, 67, 2, 2, 11559, 11560, 7, 86, 2, 2, 11560, 11561, 7, 71, 2, 2, 11561, 1386, 3, 2, 2, 2, 11562, 11563, 7, 75, 2, 2, 11563, 11564, 7, 80, 2, 2, 11564, 11565, 7, 88, 2, 2, 11565, 11566, 7, 75, 2, 2, 11566, 11567, 7, 85, 2, 2, 11567, 11568, 7, 75, 2, 2, 11568, 11569, 7, 68, 2, 2, 11569, 11570, 7, 78, 2, 2, 11570, 11571, 7, 71, 2, 2, 11571, 1388, 3, 2, 2, 2, 11572, 11573, 7, 75, 2, 2, 11573, 11574, 7, 80, 2, 2, 11574, 11575, 7, 97, 2, 2, 11575, 11576, 7, 90, 2, 2, 11576, 11577, 7, 83, 2, 2, 11577, 11578, 7, 87, 2, 2, 11578, 11579, 7, 71, 2, 2, 11579, 11580, 7, 84, 2, 2, 11580, 11581, 7, 91, 2, 2, 11581, 1390, 3, 2, 2, 2, 11582, 11583, 7, 75, 2, 2, 11583, 11584, 7, 85, 2, 2, 11584, 1392, 3, 2, 2, 2, 11585, 11586, 7, 75, 2, 2, 11586, 11587, 7, 85, 2, 2, 11587, 11588, 7, 81, 2, 2, 11588, 11589, 7, 78, 2, 2, 11589, 11590, 7, 67, 2, 2, 11590, 11591, 7, 86, 2, 2, 11591, 11592, 7, 75, 2, 2, 11592, 11593, 7, 81, 2, 2, 11593, 11594, 7, 80, 2, 2, 11594, 1394, 3, 2, 2, 2, 11595, 11596, 7, 75, 2, 2, 11596, 11597, 7, 85, 2, 2, 11597, 11598, 7, 81, 2, 2, 11598, 11599, 7, 78, 2, 2, 11599, 11600, 7, 67, 2, 2, 11600, 11601, 7, 86, 2, 2, 11601, 11602, 7, 75, 2, 2, 11602, 11603, 7, 81, 2, 2, 11603, 11604, 7, 80, 2, 2, 11604, 11605, 7, 97, 2, 2, 11605, 11606, 7, 78, 2, 2, 11606, 11607, 7, 71, 2, 2, 11607, 11608, 7, 88, 2, 2, 11608, 11609, 7, 71, 2, 2, 11609, 11610, 7, 78, 2, 2, 11610, 1396, 3, 2, 2, 2, 11611, 11612, 7, 75, 2, 2, 11612, 11613, 7, 86, 2, 2, 11613, 11614, 7, 71, 2, 2, 11614, 11615, 7, 84, 2, 2, 11615, 11616, 7, 67, 2, 2, 11616, 11617, 7, 86, 2, 2, 11617, 11618, 7, 71, 2, 2, 11618, 1398, 3, 2, 2, 2, 11619, 11620, 7, 75, 2, 2, 11620, 11621, 7, 86, 2, 2, 11621, 11622, 7, 71, 2, 2, 11622, 11623, 7, 84, 2, 2, 11623, 11624, 7, 67, 2, 2, 11624, 11625, 7, 86, 2, 2, 11625, 11626, 7, 75, 2, 2, 11626, 11627, 7, 81, 2, 2, 11627, 11628, 7, 80, 2, 2, 11628, 11629, 7, 97, 2, 2, 11629, 11630, 7, 80, 2, 2, 11630, 11631, 7, 87, 2, 2, 11631, 11632, 7, 79, 2, 2, 11632, 11633, 7, 68, 2, 2, 11633, 11634, 7, 71, 2, 2, 11634, 11635, 7, 84, 2, 2, 11635, 1400, 3, 2, 2, 2, 11636, 11637, 7, 76, 2, 2, 11637, 11638, 7, 67, 2, 2, 11638, 11639, 7, 88, 2, 2, 11639, 11640, 7, 67, 2, 2, 11640, 1402, 3, 2, 2, 2, 11641, 11642, 7, 76, 2, 2, 11642, 11643, 7, 81, 2, 2, 11643, 11644, 7, 68, 2, 2, 11644, 1404, 3, 2, 2, 2, 11645, 11646, 7, 76, 2, 2, 11646, 11647, 7, 81, 2, 2, 11647, 11648, 7, 75, 2, 2, 11648, 11649, 7, 80, 2, 2, 11649, 1406, 3, 2, 2, 2, 11650, 11651, 7, 76, 2, 2, 11651, 11652, 7, 85, 2, 2, 11652, 11653, 7, 81, 2, 2, 11653, 11654, 7, 80, 2, 2, 11654, 11655, 7, 97, 2, 2, 11655, 11656, 7, 67, 2, 2, 11656, 11657, 7, 84, 2, 2, 11657, 11658, 7, 84, 2, 2, 11658, 11659, 7, 67, 2, 2, 11659, 11660, 7, 91, 2, 2, 11660, 11661, 7, 67, 2, 2, 11661, 11662, 7, 73, 2, 2, 11662, 11663, 7, 73, 2, 2, 11663, 1408, 3, 2, 2, 2, 11664, 11665, 7, 76, 2, 2, 11665, 11666, 7, 85, 2, 2, 11666, 11667, 7, 81, 2, 2, 11667, 11668, 7, 80, 2, 2, 11668, 11669, 7, 97, 2, 2, 11669, 11670, 7, 67, 2, 2, 11670, 11671, 7, 84, 2, 2, 11671, 11672, 7, 84, 2, 2, 11672, 11673, 7, 67, 2, 2, 11673, 11674, 7, 91, 2, 2, 11674, 1410, 3, 2, 2, 2, 11675, 11676, 7, 76, 2, 2, 11676, 11677, 7, 85, 2, 2, 11677, 11678, 7, 81, 2, 2, 11678, 11679, 7, 80, 2, 2, 11679, 11680, 7, 97, 2, 2, 11680, 11681, 7, 71, 2, 2, 11681, 11682, 7, 83, 2, 2, 11682, 11683, 7, 87, 2, 2, 11683, 11684, 7, 67, 2, 2, 11684, 11685, 7, 78, 2, 2, 11685, 1412, 3, 2, 2, 2, 11686, 11687, 7, 76, 2, 2, 11687, 11688, 7, 85, 2, 2, 11688, 11689, 7, 81, 2, 2, 11689, 11690, 7, 80, 2, 2, 11690, 11691, 7, 97, 2, 2, 11691, 11692, 7, 71, 2, 2, 11692, 11693, 7, 90, 2, 2, 11693, 11694, 7, 75, 2, 2, 11694, 11695, 7, 85, 2, 2, 11695, 11696, 7, 86, 2, 2, 11696, 11697, 7, 85, 2, 2, 11697, 11698, 7, 52, 2, 2, 11698, 1414, 3, 2, 2, 2, 11699, 11700, 7, 76, 2, 2, 11700, 11701, 7, 85, 2, 2, 11701, 11702, 7, 81, 2, 2, 11702, 11703, 7, 80, 2, 2, 11703, 11704, 7, 97, 2, 2, 11704, 11705, 7, 71, 2, 2, 11705, 11706, 7, 90, 2, 2, 11706, 11707, 7, 75, 2, 2, 11707, 11708, 7, 85, 2, 2, 11708, 11709, 7, 86, 2, 2, 11709, 11710, 7, 85, 2, 2, 11710, 1416, 3, 2, 2, 2, 11711, 11712, 7, 76, 2, 2, 11712, 11713, 7, 85, 2, 2, 11713, 11714, 7, 81, 2, 2, 11714, 11715, 7, 80, 2, 2, 11715, 11716, 7, 73, 2, 2, 11716, 11717, 7, 71, 2, 2, 11717, 11718, 7, 86, 2, 2, 11718, 1418, 3, 2, 2, 2, 11719, 11720, 7, 76, 2, 2, 11720, 11721, 7, 85, 2, 2, 11721, 11722, 7, 81, 2, 2, 11722, 11723, 7, 80, 2, 2, 11723, 1420, 3, 2, 2, 2, 11724, 11725, 7, 76, 2, 2, 11725, 11726, 7, 85, 2, 2, 11726, 11727, 7, 81, 2, 2, 11727, 11728, 7, 80, 2, 2, 11728, 11729, 7, 97, 2, 2, 11729, 11730, 7, 81, 2, 2, 11730, 11731, 7, 68, 2, 2, 11731, 11732, 7, 76, 2, 2, 11732, 11733, 7, 71, 2, 2, 11733, 11734, 7, 69, 2, 2, 11734, 11735, 7, 86, 2, 2, 11735, 11736, 7, 67, 2, 2, 11736, 11737, 7, 73, 2, 2, 11737, 11738, 7, 73, 2, 2, 11738, 1422, 3, 2, 2, 2, 11739, 11740, 7, 76, 2, 2, 11740, 11741, 7, 85, 2, 2, 11741, 11742, 7, 81, 2, 2, 11742, 11743, 7, 80, 2, 2, 11743, 11744, 7, 97, 2, 2, 11744, 11745, 7, 81, 2, 2, 11745, 11746, 7, 68, 2, 2, 11746, 11747, 7, 76, 2, 2, 11747, 11748, 7, 71, 2, 2, 11748, 11749, 7, 69, 2, 2, 11749, 11750, 7, 86, 2, 2, 11750, 1424, 3, 2, 2, 2, 11751, 11752, 7, 76, 2, 2, 11752, 11753, 7, 85, 2, 2, 11753, 11754, 7, 81, 2, 2, 11754, 11755, 7, 80, 2, 2, 11755, 11756, 7, 82, 2, 2, 11756, 11757, 7, 67, 2, 2, 11757, 11758, 7, 84, 2, 2, 11758, 11759, 7, 85, 2, 2, 11759, 11760, 7, 71, 2, 2, 11760, 1426, 3, 2, 2, 2, 11761, 11762, 7, 76, 2, 2, 11762, 11763, 7, 85, 2, 2, 11763, 11764, 7, 81, 2, 2, 11764, 11765, 7, 80, 2, 2, 11765, 11766, 7, 97, 2, 2, 11766, 11767, 7, 83, 2, 2, 11767, 11768, 7, 87, 2, 2, 11768, 11769, 7, 71, 2, 2, 11769, 11770, 7, 84, 2, 2, 11770, 11771, 7, 91, 2, 2, 11771, 1428, 3, 2, 2, 2, 11772, 11773, 7, 76, 2, 2, 11773, 11774, 7, 85, 2, 2, 11774, 11775, 7, 81, 2, 2, 11775, 11776, 7, 80, 2, 2, 11776, 11777, 7, 97, 2, 2, 11777, 11778, 7, 85, 2, 2, 11778, 11779, 7, 71, 2, 2, 11779, 11780, 7, 84, 2, 2, 11780, 11781, 7, 75, 2, 2, 11781, 11782, 7, 67, 2, 2, 11782, 11783, 7, 78, 2, 2, 11783, 11784, 7, 75, 2, 2, 11784, 11785, 7, 92, 2, 2, 11785, 11786, 7, 71, 2, 2, 11786, 1430, 3, 2, 2, 2, 11787, 11788, 7, 76, 2, 2, 11788, 11789, 7, 85, 2, 2, 11789, 11790, 7, 81, 2, 2, 11790, 11791, 7, 80, 2, 2, 11791, 11792, 7, 97, 2, 2, 11792, 11793, 7, 86, 2, 2, 11793, 11794, 7, 67, 2, 2, 11794, 11795, 7, 68, 2, 2, 11795, 11796, 7, 78, 2, 2, 11796, 11797, 7, 71, 2, 2, 11797, 1432, 3, 2, 2, 2, 11798, 11799, 7, 76, 2, 2, 11799, 11800, 7, 85, 2, 2, 11800, 11801, 7, 81, 2, 2, 11801, 11802, 7, 80, 2, 2, 11802, 11803, 7, 97, 2, 2, 11803, 11804, 7, 86, 2, 2, 11804, 11805, 7, 71, 2, 2, 11805, 11806, 7, 90, 2, 2, 11806, 11807, 7, 86, 2, 2, 11807, 11808, 7, 69, 2, 2, 11808, 11809, 7, 81, 2, 2, 11809, 11810, 7, 80, 2, 2, 11810, 11811, 7, 86, 2, 2, 11811, 11812, 7, 67, 2, 2, 11812, 11813, 7, 75, 2, 2, 11813, 11814, 7, 80, 2, 2, 11814, 11815, 7, 85, 2, 2, 11815, 11816, 7, 52, 2, 2, 11816, 1434, 3, 2, 2, 2, 11817, 11818, 7, 76, 2, 2, 11818, 11819, 7, 85, 2, 2, 11819, 11820, 7, 81, 2, 2, 11820, 11821, 7, 80, 2, 2, 11821, 11822, 7, 97, 2, 2, 11822, 11823, 7, 86, 2, 2, 11823, 11824, 7, 71, 2, 2, 11824, 11825, 7, 90, 2, 2, 11825, 11826, 7, 86, 2, 2, 11826, 11827, 7, 69, 2, 2, 11827, 11828, 7, 81, 2, 2, 11828, 11829, 7, 80, 2, 2, 11829, 11830, 7, 86, 2, 2, 11830, 11831, 7, 67, 2, 2, 11831, 11832, 7, 75, 2, 2, 11832, 11833, 7, 80, 2, 2, 11833, 11834, 7, 85, 2, 2, 11834, 1436, 3, 2, 2, 2, 11835, 11836, 7, 76, 2, 2, 11836, 11837, 7, 85, 2, 2, 11837, 11838, 7, 81, 2, 2, 11838, 11839, 7, 80, 2, 2, 11839, 11840, 7, 97, 2, 2, 11840, 11841, 7, 88, 2, 2, 11841, 11842, 7, 67, 2, 2, 11842, 11843, 7, 78, 2, 2, 11843, 11844, 7, 87, 2, 2, 11844, 11845, 7, 71, 2, 2, 11845, 1438, 3, 2, 2, 2, 11846, 11847, 7, 77, 2, 2, 11847, 11848, 7, 71, 2, 2, 11848, 11849, 7, 71, 2, 2, 11849, 11850, 7, 82, 2, 2, 11850, 11851, 7, 97, 2, 2, 11851, 11852, 7, 70, 2, 2, 11852, 11853, 7, 87, 2, 2, 11853, 11854, 7, 82, 2, 2, 11854, 11855, 7, 78, 2, 2, 11855, 11856, 7, 75, 2, 2, 11856, 11857, 7, 69, 2, 2, 11857, 11858, 7, 67, 2, 2, 11858, 11859, 7, 86, 2, 2, 11859, 11860, 7, 71, 2, 2, 11860, 11861, 7, 85, 2, 2, 11861, 1440, 3, 2, 2, 2, 11862, 11863, 7, 77, 2, 2, 11863, 11864, 7, 71, 2, 2, 11864, 11865, 7, 71, 2, 2, 11865, 11866, 7, 82, 2, 2, 11866, 1442, 3, 2, 2, 2, 11867, 11868, 7, 77, 2, 2, 11868, 11869, 7, 71, 2, 2, 11869, 11870, 7, 84, 2, 2, 11870, 11871, 7, 68, 2, 2, 11871, 11872, 7, 71, 2, 2, 11872, 11873, 7, 84, 2, 2, 11873, 11874, 7, 81, 2, 2, 11874, 11875, 7, 85, 2, 2, 11875, 1444, 3, 2, 2, 2, 11876, 11877, 7, 77, 2, 2, 11877, 11878, 7, 71, 2, 2, 11878, 11879, 7, 91, 2, 2, 11879, 1446, 3, 2, 2, 2, 11880, 11881, 7, 77, 2, 2, 11881, 11882, 7, 71, 2, 2, 11882, 11883, 7, 91, 2, 2, 11883, 11884, 7, 97, 2, 2, 11884, 11885, 7, 78, 2, 2, 11885, 11886, 7, 71, 2, 2, 11886, 11887, 7, 80, 2, 2, 11887, 11888, 7, 73, 2, 2, 11888, 11889, 7, 86, 2, 2, 11889, 11890, 7, 74, 2, 2, 11890, 1448, 3, 2, 2, 2, 11891, 11892, 7, 77, 2, 2, 11892, 11893, 7, 71, 2, 2, 11893, 11894, 7, 91, 2, 2, 11894, 11895, 7, 85, 2, 2, 11895, 11896, 7, 75, 2, 2, 11896, 11897, 7, 92, 2, 2, 11897, 11898, 7, 71, 2, 2, 11898, 1450, 3, 2, 2, 2, 11899, 11900, 7, 77, 2, 2, 11900, 11901, 7, 71, 2, 2, 11901, 11902, 7, 91, 2, 2, 11902, 11903, 7, 85, 2, 2, 11903, 1452, 3, 2, 2, 2, 11904, 11905, 7, 77, 2, 2, 11905, 11906, 7, 71, 2, 2, 11906, 11907, 7, 91, 2, 2, 11907, 11908, 7, 85, 2, 2, 11908, 11909, 7, 86, 2, 2, 11909, 11910, 7, 81, 2, 2, 11910, 11911, 7, 84, 2, 2, 11911, 11912, 7, 71, 2, 2, 11912, 1454, 3, 2, 2, 2, 11913, 11914, 7, 77, 2, 2, 11914, 11915, 7, 75, 2, 2, 11915, 11916, 7, 78, 2, 2, 11916, 11917, 7, 78, 2, 2, 11917, 1456, 3, 2, 2, 2, 11918, 11919, 7, 78, 2, 2, 11919, 11920, 7, 67, 2, 2, 11920, 11921, 7, 68, 2, 2, 11921, 11922, 7, 71, 2, 2, 11922, 11923, 7, 78, 2, 2, 11923, 1458, 3, 2, 2, 2, 11924, 11925, 7, 78, 2, 2, 11925, 11926, 7, 67, 2, 2, 11926, 11927, 7, 80, 2, 2, 11927, 11928, 7, 73, 2, 2, 11928, 11929, 7, 87, 2, 2, 11929, 11930, 7, 67, 2, 2, 11930, 11931, 7, 73, 2, 2, 11931, 11932, 7, 71, 2, 2, 11932, 1460, 3, 2, 2, 2, 11933, 11934, 7, 78, 2, 2, 11934, 11935, 7, 67, 2, 2, 11935, 11936, 7, 85, 2, 2, 11936, 11937, 7, 86, 2, 2, 11937, 11938, 7, 97, 2, 2, 11938, 11939, 7, 70, 2, 2, 11939, 11940, 7, 67, 2, 2, 11940, 11941, 7, 91, 2, 2, 11941, 1462, 3, 2, 2, 2, 11942, 11943, 7, 78, 2, 2, 11943, 11944, 7, 67, 2, 2, 11944, 11945, 7, 85, 2, 2, 11945, 11946, 7, 86, 2, 2, 11946, 1464, 3, 2, 2, 2, 11947, 11948, 7, 78, 2, 2, 11948, 11949, 7, 67, 2, 2, 11949, 11950, 7, 85, 2, 2, 11950, 11951, 7, 86, 2, 2, 11951, 11952, 7, 97, 2, 2, 11952, 11953, 7, 88, 2, 2, 11953, 11954, 7, 67, 2, 2, 11954, 11955, 7, 78, 2, 2, 11955, 11956, 7, 87, 2, 2, 11956, 11957, 7, 71, 2, 2, 11957, 1466, 3, 2, 2, 2, 11958, 11959, 7, 78, 2, 2, 11959, 11960, 7, 67, 2, 2, 11960, 11961, 7, 86, 2, 2, 11961, 11962, 7, 71, 2, 2, 11962, 11963, 7, 84, 2, 2, 11963, 11964, 7, 67, 2, 2, 11964, 11965, 7, 78, 2, 2, 11965, 1468, 3, 2, 2, 2, 11966, 11967, 7, 78, 2, 2, 11967, 11968, 7, 67, 2, 2, 11968, 11969, 7, 90, 2, 2, 11969, 1470, 3, 2, 2, 2, 11970, 11971, 7, 78, 2, 2, 11971, 11972, 7, 67, 2, 2, 11972, 11973, 7, 91, 2, 2, 11973, 11974, 7, 71, 2, 2, 11974, 11975, 7, 84, 2, 2, 11975, 1472, 3, 2, 2, 2, 11976, 11977, 7, 78, 2, 2, 11977, 11978, 7, 70, 2, 2, 11978, 11979, 7, 67, 2, 2, 11979, 11980, 7, 82, 2, 2, 11980, 11981, 7, 97, 2, 2, 11981, 11982, 7, 84, 2, 2, 11982, 11983, 7, 71, 2, 2, 11983, 11984, 7, 73, 2, 2, 11984, 11985, 7, 75, 2, 2, 11985, 11986, 7, 85, 2, 2, 11986, 11987, 7, 86, 2, 2, 11987, 11988, 7, 84, 2, 2, 11988, 11989, 7, 67, 2, 2, 11989, 11990, 7, 86, 2, 2, 11990, 11991, 7, 75, 2, 2, 11991, 11992, 7, 81, 2, 2, 11992, 11993, 7, 80, 2, 2, 11993, 11994, 7, 97, 2, 2, 11994, 11995, 7, 71, 2, 2, 11995, 11996, 7, 80, 2, 2, 11996, 11997, 7, 67, 2, 2, 11997, 11998, 7, 68, 2, 2, 11998, 11999, 7, 78, 2, 2, 11999, 12000, 7, 71, 2, 2, 12000, 12001, 7, 70, 2, 2, 12001, 1474, 3, 2, 2, 2, 12002, 12003, 7, 78, 2, 2, 12003, 12004, 7, 70, 2, 2, 12004, 12005, 7, 67, 2, 2, 12005, 12006, 7, 82, 2, 2, 12006, 12007, 7, 97, 2, 2, 12007, 12008, 7, 84, 2, 2, 12008, 12009, 7, 71, 2, 2, 12009, 12010, 7, 73, 2, 2, 12010, 12011, 7, 75, 2, 2, 12011, 12012, 7, 85, 2, 2, 12012, 12013, 7, 86, 2, 2, 12013, 12014, 7, 84, 2, 2, 12014, 12015, 7, 67, 2, 2, 12015, 12016, 7, 86, 2, 2, 12016, 12017, 7, 75, 2, 2, 12017, 12018, 7, 81, 2, 2, 12018, 12019, 7, 80, 2, 2, 12019, 1476, 3, 2, 2, 2, 12020, 12021, 7, 78, 2, 2, 12021, 12022, 7, 70, 2, 2, 12022, 12023, 7, 67, 2, 2, 12023, 12024, 7, 82, 2, 2, 12024, 12025, 7, 97, 2, 2, 12025, 12026, 7, 84, 2, 2, 12026, 12027, 7, 71, 2, 2, 12027, 12028, 7, 73, 2, 2, 12028, 12029, 7, 97, 2, 2, 12029, 12030, 7, 85, 2, 2, 12030, 12031, 7, 91, 2, 2, 12031, 12032, 7, 80, 2, 2, 12032, 12033, 7, 69, 2, 2, 12033, 12034, 7, 97, 2, 2, 12034, 12035, 7, 75, 2, 2, 12035, 12036, 7, 80, 2, 2, 12036, 12037, 7, 86, 2, 2, 12037, 12038, 7, 71, 2, 2, 12038, 12039, 7, 84, 2, 2, 12039, 12040, 7, 88, 2, 2, 12040, 12041, 7, 67, 2, 2, 12041, 12042, 7, 78, 2, 2, 12042, 1478, 3, 2, 2, 2, 12043, 12044, 7, 78, 2, 2, 12044, 12045, 7, 71, 2, 2, 12045, 12046, 7, 67, 2, 2, 12046, 12047, 7, 70, 2, 2, 12047, 12048, 7, 75, 2, 2, 12048, 12049, 7, 80, 2, 2, 12049, 12050, 7, 73, 2, 2, 12050, 1480, 3, 2, 2, 2, 12051, 12052, 7, 78, 2, 2, 12052, 12053, 7, 71, 2, 2, 12053, 12054, 7, 72, 2, 2, 12054, 12055, 7, 86, 2, 2, 12055, 1482, 3, 2, 2, 2, 12056, 12057, 7, 78, 2, 2, 12057, 12058, 7, 71, 2, 2, 12058, 12059, 7, 80, 2, 2, 12059, 12060, 7, 73, 2, 2, 12060, 12061, 7, 86, 2, 2, 12061, 12062, 7, 74, 2, 2, 12062, 12063, 7, 52, 2, 2, 12063, 1484, 3, 2, 2, 2, 12064, 12065, 7, 78, 2, 2, 12065, 12066, 7, 71, 2, 2, 12066, 12067, 7, 80, 2, 2, 12067, 12068, 7, 73, 2, 2, 12068, 12069, 7, 86, 2, 2, 12069, 12070, 7, 74, 2, 2, 12070, 12071, 7, 54, 2, 2, 12071, 1486, 3, 2, 2, 2, 12072, 12073, 7, 78, 2, 2, 12073, 12074, 7, 71, 2, 2, 12074, 12075, 7, 80, 2, 2, 12075, 12076, 7, 73, 2, 2, 12076, 12077, 7, 86, 2, 2, 12077, 12078, 7, 74, 2, 2, 12078, 12079, 7, 68, 2, 2, 12079, 1488, 3, 2, 2, 2, 12080, 12081, 7, 78, 2, 2, 12081, 12082, 7, 71, 2, 2, 12082, 12083, 7, 80, 2, 2, 12083, 12084, 7, 73, 2, 2, 12084, 12085, 7, 86, 2, 2, 12085, 12086, 7, 74, 2, 2, 12086, 12087, 7, 69, 2, 2, 12087, 1490, 3, 2, 2, 2, 12088, 12089, 7, 78, 2, 2, 12089, 12090, 7, 71, 2, 2, 12090, 12091, 7, 80, 2, 2, 12091, 12092, 7, 73, 2, 2, 12092, 12093, 7, 86, 2, 2, 12093, 12094, 7, 74, 2, 2, 12094, 1492, 3, 2, 2, 2, 12095, 12096, 7, 78, 2, 2, 12096, 12097, 7, 71, 2, 2, 12097, 12098, 7, 85, 2, 2, 12098, 12099, 7, 85, 2, 2, 12099, 1494, 3, 2, 2, 2, 12100, 12101, 7, 78, 2, 2, 12101, 12102, 7, 71, 2, 2, 12102, 12103, 7, 88, 2, 2, 12103, 12104, 7, 71, 2, 2, 12104, 12105, 7, 78, 2, 2, 12105, 1496, 3, 2, 2, 2, 12106, 12107, 7, 78, 2, 2, 12107, 12108, 7, 71, 2, 2, 12108, 12109, 7, 88, 2, 2, 12109, 12110, 7, 71, 2, 2, 12110, 12111, 7, 78, 2, 2, 12111, 12112, 7, 85, 2, 2, 12112, 1498, 3, 2, 2, 2, 12113, 12114, 7, 78, 2, 2, 12114, 12115, 7, 75, 2, 2, 12115, 12116, 7, 68, 2, 2, 12116, 12117, 7, 84, 2, 2, 12117, 12118, 7, 67, 2, 2, 12118, 12119, 7, 84, 2, 2, 12119, 12120, 7, 91, 2, 2, 12120, 1500, 3, 2, 2, 2, 12121, 12122, 7, 78, 2, 2, 12122, 12123, 7, 75, 2, 2, 12123, 12124, 7, 72, 2, 2, 12124, 12125, 7, 71, 2, 2, 12125, 12126, 7, 69, 2, 2, 12126, 12127, 7, 91, 2, 2, 12127, 12128, 7, 69, 2, 2, 12128, 12129, 7, 78, 2, 2, 12129, 12130, 7, 71, 2, 2, 12130, 1502, 3, 2, 2, 2, 12131, 12132, 7, 78, 2, 2, 12132, 12133, 7, 75, 2, 2, 12133, 12134, 7, 72, 2, 2, 12134, 12135, 7, 71, 2, 2, 12135, 1504, 3, 2, 2, 2, 12136, 12137, 7, 78, 2, 2, 12137, 12138, 7, 75, 2, 2, 12138, 12139, 7, 72, 2, 2, 12139, 12140, 7, 71, 2, 2, 12140, 12141, 7, 86, 2, 2, 12141, 12142, 7, 75, 2, 2, 12142, 12143, 7, 79, 2, 2, 12143, 12144, 7, 71, 2, 2, 12144, 1506, 3, 2, 2, 2, 12145, 12146, 7, 78, 2, 2, 12146, 12147, 7, 75, 2, 2, 12147, 12148, 7, 77, 2, 2, 12148, 12149, 7, 71, 2, 2, 12149, 12150, 7, 52, 2, 2, 12150, 1508, 3, 2, 2, 2, 12151, 12152, 7, 78, 2, 2, 12152, 12153, 7, 75, 2, 2, 12153, 12154, 7, 77, 2, 2, 12154, 12155, 7, 71, 2, 2, 12155, 12156, 7, 54, 2, 2, 12156, 1510, 3, 2, 2, 2, 12157, 12158, 7, 78, 2, 2, 12158, 12159, 7, 75, 2, 2, 12159, 12160, 7, 77, 2, 2, 12160, 12161, 7, 71, 2, 2, 12161, 12162, 7, 69, 2, 2, 12162, 1512, 3, 2, 2, 2, 12163, 12164, 7, 78, 2, 2, 12164, 12165, 7, 75, 2, 2, 12165, 12166, 7, 77, 2, 2, 12166, 12167, 7, 71, 2, 2, 12167, 12168, 7, 97, 2, 2, 12168, 12169, 7, 71, 2, 2, 12169, 12170, 7, 90, 2, 2, 12170, 12171, 7, 82, 2, 2, 12171, 12172, 7, 67, 2, 2, 12172, 12173, 7, 80, 2, 2, 12173, 12174, 7, 70, 2, 2, 12174, 1514, 3, 2, 2, 2, 12175, 12176, 7, 78, 2, 2, 12176, 12177, 7, 75, 2, 2, 12177, 12178, 7, 77, 2, 2, 12178, 12179, 7, 71, 2, 2, 12179, 1516, 3, 2, 2, 2, 12180, 12181, 7, 78, 2, 2, 12181, 12182, 7, 75, 2, 2, 12182, 12183, 7, 79, 2, 2, 12183, 12184, 7, 75, 2, 2, 12184, 12185, 7, 86, 2, 2, 12185, 1518, 3, 2, 2, 2, 12186, 12187, 7, 78, 2, 2, 12187, 12188, 7, 75, 2, 2, 12188, 12189, 7, 80, 2, 2, 12189, 12190, 7, 71, 2, 2, 12190, 12191, 7, 67, 2, 2, 12191, 12192, 7, 84, 2, 2, 12192, 1520, 3, 2, 2, 2, 12193, 12194, 7, 78, 2, 2, 12194, 12195, 7, 75, 2, 2, 12195, 12196, 7, 80, 2, 2, 12196, 12197, 7, 77, 2, 2, 12197, 1522, 3, 2, 2, 2, 12198, 12199, 7, 78, 2, 2, 12199, 12200, 7, 75, 2, 2, 12200, 12201, 7, 85, 2, 2, 12201, 12202, 7, 86, 2, 2, 12202, 1524, 3, 2, 2, 2, 12203, 12204, 7, 78, 2, 2, 12204, 12205, 7, 80, 2, 2, 12205, 1526, 3, 2, 2, 2, 12206, 12207, 7, 78, 2, 2, 12207, 12208, 7, 80, 2, 2, 12208, 12209, 7, 80, 2, 2, 12209, 12210, 7, 88, 2, 2, 12210, 12211, 7, 78, 2, 2, 12211, 1528, 3, 2, 2, 2, 12212, 12213, 7, 78, 2, 2, 12213, 12214, 7, 81, 2, 2, 12214, 12215, 7, 67, 2, 2, 12215, 12216, 7, 70, 2, 2, 12216, 1530, 3, 2, 2, 2, 12217, 12218, 7, 78, 2, 2, 12218, 12219, 7, 81, 2, 2, 12219, 12220, 7, 68, 2, 2, 12220, 1532, 3, 2, 2, 2, 12221, 12222, 7, 78, 2, 2, 12222, 12223, 7, 81, 2, 2, 12223, 12224, 7, 68, 2, 2, 12224, 12225, 7, 80, 2, 2, 12225, 12226, 7, 88, 2, 2, 12226, 12227, 7, 78, 2, 2, 12227, 1534, 3, 2, 2, 2, 12228, 12229, 7, 78, 2, 2, 12229, 12230, 7, 81, 2, 2, 12230, 12231, 7, 68, 2, 2, 12231, 12232, 7, 85, 2, 2, 12232, 1536, 3, 2, 2, 2, 12233, 12234, 7, 78, 2, 2, 12234, 12235, 7, 81, 2, 2, 12235, 12236, 7, 69, 2, 2, 12236, 12237, 7, 67, 2, 2, 12237, 12238, 7, 78, 2, 2, 12238, 12239, 7, 97, 2, 2, 12239, 12240, 7, 75, 2, 2, 12240, 12241, 7, 80, 2, 2, 12241, 12242, 7, 70, 2, 2, 12242, 12243, 7, 71, 2, 2, 12243, 12244, 7, 90, 2, 2, 12244, 12245, 7, 71, 2, 2, 12245, 12246, 7, 85, 2, 2, 12246, 1538, 3, 2, 2, 2, 12247, 12248, 7, 78, 2, 2, 12248, 12249, 7, 81, 2, 2, 12249, 12250, 7, 69, 2, 2, 12250, 12251, 7, 67, 2, 2, 12251, 12252, 7, 78, 2, 2, 12252, 1540, 3, 2, 2, 2, 12253, 12254, 7, 78, 2, 2, 12254, 12255, 7, 81, 2, 2, 12255, 12256, 7, 69, 2, 2, 12256, 12257, 7, 67, 2, 2, 12257, 12258, 7, 78, 2, 2, 12258, 12259, 7, 86, 2, 2, 12259, 12260, 7, 75, 2, 2, 12260, 12261, 7, 79, 2, 2, 12261, 12262, 7, 71, 2, 2, 12262, 1542, 3, 2, 2, 2, 12263, 12264, 7, 78, 2, 2, 12264, 12265, 7, 81, 2, 2, 12265, 12266, 7, 69, 2, 2, 12266, 12267, 7, 67, 2, 2, 12267, 12268, 7, 78, 2, 2, 12268, 12269, 7, 86, 2, 2, 12269, 12270, 7, 75, 2, 2, 12270, 12271, 7, 79, 2, 2, 12271, 12272, 7, 71, 2, 2, 12272, 12273, 7, 85, 2, 2, 12273, 12274, 7, 86, 2, 2, 12274, 12275, 7, 67, 2, 2, 12275, 12276, 7, 79, 2, 2, 12276, 12277, 7, 82, 2, 2, 12277, 1544, 3, 2, 2, 2, 12278, 12279, 7, 78, 2, 2, 12279, 12280, 7, 81, 2, 2, 12280, 12281, 7, 69, 2, 2, 12281, 12282, 7, 67, 2, 2, 12282, 12283, 7, 86, 2, 2, 12283, 12284, 7, 75, 2, 2, 12284, 12285, 7, 81, 2, 2, 12285, 12286, 7, 80, 2, 2, 12286, 1546, 3, 2, 2, 2, 12287, 12288, 7, 78, 2, 2, 12288, 12289, 7, 81, 2, 2, 12289, 12290, 7, 69, 2, 2, 12290, 12291, 7, 67, 2, 2, 12291, 12292, 7, 86, 2, 2, 12292, 12293, 7, 81, 2, 2, 12293, 12294, 7, 84, 2, 2, 12294, 1548, 3, 2, 2, 2, 12295, 12296, 7, 78, 2, 2, 12296, 12297, 7, 81, 2, 2, 12297, 12298, 7, 69, 2, 2, 12298, 12299, 7, 77, 2, 2, 12299, 12300, 7, 71, 2, 2, 12300, 12301, 7, 70, 2, 2, 12301, 1550, 3, 2, 2, 2, 12302, 12303, 7, 78, 2, 2, 12303, 12304, 7, 81, 2, 2, 12304, 12305, 7, 69, 2, 2, 12305, 12306, 7, 77, 2, 2, 12306, 12307, 7, 75, 2, 2, 12307, 12308, 7, 80, 2, 2, 12308, 12309, 7, 73, 2, 2, 12309, 1552, 3, 2, 2, 2, 12310, 12311, 7, 78, 2, 2, 12311, 12312, 7, 81, 2, 2, 12312, 12313, 7, 69, 2, 2, 12313, 12314, 7, 77, 2, 2, 12314, 1554, 3, 2, 2, 2, 12315, 12316, 7, 78, 2, 2, 12316, 12317, 7, 81, 2, 2, 12317, 12318, 7, 73, 2, 2, 12318, 12319, 7, 72, 2, 2, 12319, 12320, 7, 75, 2, 2, 12320, 12321, 7, 78, 2, 2, 12321, 12322, 7, 71, 2, 2, 12322, 1556, 3, 2, 2, 2, 12323, 12324, 7, 78, 2, 2, 12324, 12325, 7, 81, 2, 2, 12325, 12326, 7, 73, 2, 2, 12326, 12327, 7, 72, 2, 2, 12327, 12328, 7, 75, 2, 2, 12328, 12329, 7, 78, 2, 2, 12329, 12330, 7, 71, 2, 2, 12330, 12331, 7, 85, 2, 2, 12331, 1558, 3, 2, 2, 2, 12332, 12333, 7, 78, 2, 2, 12333, 12334, 7, 81, 2, 2, 12334, 12335, 7, 73, 2, 2, 12335, 12336, 7, 73, 2, 2, 12336, 12337, 7, 75, 2, 2, 12337, 12338, 7, 80, 2, 2, 12338, 12339, 7, 73, 2, 2, 12339, 1560, 3, 2, 2, 2, 12340, 12341, 7, 78, 2, 2, 12341, 12342, 7, 81, 2, 2, 12342, 12343, 7, 73, 2, 2, 12343, 12344, 7, 75, 2, 2, 12344, 12345, 7, 69, 2, 2, 12345, 12346, 7, 67, 2, 2, 12346, 12347, 7, 78, 2, 2, 12347, 1562, 3, 2, 2, 2, 12348, 12349, 7, 78, 2, 2, 12349, 12350, 7, 81, 2, 2, 12350, 12351, 7, 73, 2, 2, 12351, 12352, 7, 75, 2, 2, 12352, 12353, 7, 69, 2, 2, 12353, 12354, 7, 67, 2, 2, 12354, 12355, 7, 78, 2, 2, 12355, 12356, 7, 97, 2, 2, 12356, 12357, 7, 84, 2, 2, 12357, 12358, 7, 71, 2, 2, 12358, 12359, 7, 67, 2, 2, 12359, 12360, 7, 70, 2, 2, 12360, 12361, 7, 85, 2, 2, 12361, 12362, 7, 97, 2, 2, 12362, 12363, 7, 82, 2, 2, 12363, 12364, 7, 71, 2, 2, 12364, 12365, 7, 84, 2, 2, 12365, 12366, 7, 97, 2, 2, 12366, 12367, 7, 69, 2, 2, 12367, 12368, 7, 67, 2, 2, 12368, 12369, 7, 78, 2, 2, 12369, 12370, 7, 78, 2, 2, 12370, 1564, 3, 2, 2, 2, 12371, 12372, 7, 78, 2, 2, 12372, 12373, 7, 81, 2, 2, 12373, 12374, 7, 73, 2, 2, 12374, 12375, 7, 75, 2, 2, 12375, 12376, 7, 69, 2, 2, 12376, 12377, 7, 67, 2, 2, 12377, 12378, 7, 78, 2, 2, 12378, 12379, 7, 97, 2, 2, 12379, 12380, 7, 84, 2, 2, 12380, 12381, 7, 71, 2, 2, 12381, 12382, 7, 67, 2, 2, 12382, 12383, 7, 70, 2, 2, 12383, 12384, 7, 85, 2, 2, 12384, 12385, 7, 97, 2, 2, 12385, 12386, 7, 82, 2, 2, 12386, 12387, 7, 71, 2, 2, 12387, 12388, 7, 84, 2, 2, 12388, 12389, 7, 97, 2, 2, 12389, 12390, 7, 85, 2, 2, 12390, 12391, 7, 71, 2, 2, 12391, 12392, 7, 85, 2, 2, 12392, 12393, 7, 85, 2, 2, 12393, 12394, 7, 75, 2, 2, 12394, 12395, 7, 81, 2, 2, 12395, 12396, 7, 80, 2, 2, 12396, 1566, 3, 2, 2, 2, 12397, 12398, 7, 78, 2, 2, 12398, 12399, 7, 81, 2, 2, 12399, 12400, 7, 73, 2, 2, 12400, 1568, 3, 2, 2, 2, 12401, 12402, 7, 78, 2, 2, 12402, 12403, 7, 81, 2, 2, 12403, 12404, 7, 73, 2, 2, 12404, 12405, 7, 79, 2, 2, 12405, 12406, 7, 75, 2, 2, 12406, 12407, 7, 80, 2, 2, 12407, 12408, 7, 75, 2, 2, 12408, 12409, 7, 80, 2, 2, 12409, 12410, 7, 73, 2, 2, 12410, 1570, 3, 2, 2, 2, 12411, 12412, 7, 78, 2, 2, 12412, 12413, 7, 81, 2, 2, 12413, 12414, 7, 73, 2, 2, 12414, 12415, 7, 81, 2, 2, 12415, 12416, 7, 72, 2, 2, 12416, 12417, 7, 72, 2, 2, 12417, 1572, 3, 2, 2, 2, 12418, 12419, 7, 78, 2, 2, 12419, 12420, 7, 81, 2, 2, 12420, 12421, 7, 73, 2, 2, 12421, 12422, 7, 81, 2, 2, 12422, 12423, 7, 80, 2, 2, 12423, 1574, 3, 2, 2, 2, 12424, 12425, 7, 78, 2, 2, 12425, 12426, 7, 81, 2, 2, 12426, 12427, 7, 73, 2, 2, 12427, 12428, 7, 97, 2, 2, 12428, 12429, 7, 84, 2, 2, 12429, 12430, 7, 71, 2, 2, 12430, 12431, 7, 67, 2, 2, 12431, 12432, 7, 70, 2, 2, 12432, 12433, 7, 97, 2, 2, 12433, 12434, 7, 81, 2, 2, 12434, 12435, 7, 80, 2, 2, 12435, 12436, 7, 78, 2, 2, 12436, 12437, 7, 91, 2, 2, 12437, 12438, 7, 97, 2, 2, 12438, 12439, 7, 88, 2, 2, 12439, 12440, 7, 75, 2, 2, 12440, 12441, 7, 81, 2, 2, 12441, 12442, 7, 78, 2, 2, 12442, 12443, 7, 67, 2, 2, 12443, 12444, 7, 86, 2, 2, 12444, 12445, 7, 75, 2, 2, 12445, 12446, 7, 81, 2, 2, 12446, 12447, 7, 80, 2, 2, 12447, 12448, 7, 85, 2, 2, 12448, 1576, 3, 2, 2, 2, 12449, 12450, 7, 78, 2, 2, 12450, 12451, 7, 81, 2, 2, 12451, 12452, 7, 80, 2, 2, 12452, 12453, 7, 73, 2, 2, 12453, 1578, 3, 2, 2, 2, 12454, 12455, 7, 78, 2, 2, 12455, 12456, 7, 81, 2, 2, 12456, 12457, 7, 81, 2, 2, 12457, 12458, 7, 82, 2, 2, 12458, 1580, 3, 2, 2, 2, 12459, 12460, 7, 78, 2, 2, 12460, 12461, 7, 81, 2, 2, 12461, 12462, 7, 89, 2, 2, 12462, 12463, 7, 71, 2, 2, 12463, 12464, 7, 84, 2, 2, 12464, 1582, 3, 2, 2, 2, 12465, 12466, 7, 78, 2, 2, 12466, 12467, 7, 81, 2, 2, 12467, 12468, 7, 89, 2, 2, 12468, 1584, 3, 2, 2, 2, 12469, 12470, 7, 78, 2, 2, 12470, 12471, 7, 82, 2, 2, 12471, 12472, 7, 67, 2, 2, 12472, 12473, 7, 70, 2, 2, 12473, 1586, 3, 2, 2, 2, 12474, 12475, 7, 78, 2, 2, 12475, 12476, 7, 86, 2, 2, 12476, 12477, 7, 84, 2, 2, 12477, 12478, 7, 75, 2, 2, 12478, 12479, 7, 79, 2, 2, 12479, 1588, 3, 2, 2, 2, 12480, 12481, 7, 79, 2, 2, 12481, 12482, 7, 67, 2, 2, 12482, 12483, 7, 75, 2, 2, 12483, 12484, 7, 80, 2, 2, 12484, 1590, 3, 2, 2, 2, 12485, 12486, 7, 79, 2, 2, 12486, 12487, 7, 67, 2, 2, 12487, 12488, 7, 77, 2, 2, 12488, 12489, 7, 71, 2, 2, 12489, 12490, 7, 97, 2, 2, 12490, 12491, 7, 84, 2, 2, 12491, 12492, 7, 71, 2, 2, 12492, 12493, 7, 72, 2, 2, 12493, 1592, 3, 2, 2, 2, 12494, 12495, 7, 79, 2, 2, 12495, 12496, 7, 67, 2, 2, 12496, 12497, 7, 80, 2, 2, 12497, 12498, 7, 67, 2, 2, 12498, 12499, 7, 73, 2, 2, 12499, 12500, 7, 71, 2, 2, 12500, 12501, 7, 70, 2, 2, 12501, 1594, 3, 2, 2, 2, 12502, 12503, 7, 79, 2, 2, 12503, 12504, 7, 67, 2, 2, 12504, 12505, 7, 80, 2, 2, 12505, 12506, 7, 67, 2, 2, 12506, 12507, 7, 73, 2, 2, 12507, 12508, 7, 71, 2, 2, 12508, 1596, 3, 2, 2, 2, 12509, 12510, 7, 79, 2, 2, 12510, 12511, 7, 67, 2, 2, 12511, 12512, 7, 80, 2, 2, 12512, 12513, 7, 67, 2, 2, 12513, 12514, 7, 73, 2, 2, 12514, 12515, 7, 71, 2, 2, 12515, 12516, 7, 79, 2, 2, 12516, 12517, 7, 71, 2, 2, 12517, 12518, 7, 80, 2, 2, 12518, 12519, 7, 86, 2, 2, 12519, 1598, 3, 2, 2, 2, 12520, 12521, 7, 79, 2, 2, 12521, 12522, 7, 67, 2, 2, 12522, 12523, 7, 80, 2, 2, 12523, 12524, 7, 67, 2, 2, 12524, 12525, 7, 73, 2, 2, 12525, 12526, 7, 71, 2, 2, 12526, 12527, 7, 84, 2, 2, 12527, 1600, 3, 2, 2, 2, 12528, 12529, 7, 79, 2, 2, 12529, 12530, 7, 67, 2, 2, 12530, 12531, 7, 80, 2, 2, 12531, 12532, 7, 87, 2, 2, 12532, 12533, 7, 67, 2, 2, 12533, 12534, 7, 78, 2, 2, 12534, 1602, 3, 2, 2, 2, 12535, 12536, 7, 79, 2, 2, 12536, 12537, 7, 67, 2, 2, 12537, 12538, 7, 82, 2, 2, 12538, 1604, 3, 2, 2, 2, 12539, 12540, 7, 79, 2, 2, 12540, 12541, 7, 67, 2, 2, 12541, 12542, 7, 82, 2, 2, 12542, 12543, 7, 82, 2, 2, 12543, 12544, 7, 75, 2, 2, 12544, 12545, 7, 80, 2, 2, 12545, 12546, 7, 73, 2, 2, 12546, 1606, 3, 2, 2, 2, 12547, 12548, 7, 79, 2, 2, 12548, 12549, 7, 67, 2, 2, 12549, 12550, 7, 85, 2, 2, 12550, 12551, 7, 86, 2, 2, 12551, 12552, 7, 71, 2, 2, 12552, 12553, 7, 84, 2, 2, 12553, 1608, 3, 2, 2, 2, 12554, 12555, 7, 79, 2, 2, 12555, 12556, 7, 67, 2, 2, 12556, 12557, 7, 86, 2, 2, 12557, 12558, 7, 69, 2, 2, 12558, 12559, 7, 74, 2, 2, 12559, 12560, 7, 71, 2, 2, 12560, 12561, 7, 70, 2, 2, 12561, 1610, 3, 2, 2, 2, 12562, 12563, 7, 79, 2, 2, 12563, 12564, 7, 67, 2, 2, 12564, 12565, 7, 86, 2, 2, 12565, 12566, 7, 69, 2, 2, 12566, 12567, 7, 74, 2, 2, 12567, 12568, 7, 71, 2, 2, 12568, 12569, 7, 85, 2, 2, 12569, 1612, 3, 2, 2, 2, 12570, 12571, 7, 79, 2, 2, 12571, 12572, 7, 67, 2, 2, 12572, 12573, 7, 86, 2, 2, 12573, 12574, 7, 69, 2, 2, 12574, 12575, 7, 74, 2, 2, 12575, 1614, 3, 2, 2, 2, 12576, 12577, 7, 79, 2, 2, 12577, 12578, 7, 67, 2, 2, 12578, 12579, 7, 86, 2, 2, 12579, 12580, 7, 69, 2, 2, 12580, 12581, 7, 74, 2, 2, 12581, 12582, 7, 97, 2, 2, 12582, 12583, 7, 80, 2, 2, 12583, 12584, 7, 87, 2, 2, 12584, 12585, 7, 79, 2, 2, 12585, 12586, 7, 68, 2, 2, 12586, 12587, 7, 71, 2, 2, 12587, 12588, 7, 84, 2, 2, 12588, 1616, 3, 2, 2, 2, 12589, 12590, 7, 79, 2, 2, 12590, 12591, 7, 67, 2, 2, 12591, 12592, 7, 86, 2, 2, 12592, 12593, 7, 69, 2, 2, 12593, 12594, 7, 74, 2, 2, 12594, 12595, 7, 97, 2, 2, 12595, 12596, 7, 84, 2, 2, 12596, 12597, 7, 71, 2, 2, 12597, 12598, 7, 69, 2, 2, 12598, 12599, 7, 81, 2, 2, 12599, 12600, 7, 73, 2, 2, 12600, 12601, 7, 80, 2, 2, 12601, 12602, 7, 75, 2, 2, 12602, 12603, 7, 92, 2, 2, 12603, 12604, 7, 71, 2, 2, 12604, 1618, 3, 2, 2, 2, 12605, 12606, 7, 79, 2, 2, 12606, 12607, 7, 67, 2, 2, 12607, 12608, 7, 86, 2, 2, 12608, 12609, 7, 71, 2, 2, 12609, 12610, 7, 84, 2, 2, 12610, 12611, 7, 75, 2, 2, 12611, 12612, 7, 67, 2, 2, 12612, 12613, 7, 78, 2, 2, 12613, 12614, 7, 75, 2, 2, 12614, 12615, 7, 92, 2, 2, 12615, 12616, 7, 71, 2, 2, 12616, 12617, 7, 70, 2, 2, 12617, 1620, 3, 2, 2, 2, 12618, 12619, 7, 79, 2, 2, 12619, 12620, 7, 67, 2, 2, 12620, 12621, 7, 86, 2, 2, 12621, 12622, 7, 71, 2, 2, 12622, 12623, 7, 84, 2, 2, 12623, 12624, 7, 75, 2, 2, 12624, 12625, 7, 67, 2, 2, 12625, 12626, 7, 78, 2, 2, 12626, 12627, 7, 75, 2, 2, 12627, 12628, 7, 92, 2, 2, 12628, 12629, 7, 71, 2, 2, 12629, 1622, 3, 2, 2, 2, 12630, 12631, 7, 79, 2, 2, 12631, 12632, 7, 67, 2, 2, 12632, 12633, 7, 90, 2, 2, 12633, 12634, 7, 67, 2, 2, 12634, 12635, 7, 84, 2, 2, 12635, 12636, 7, 69, 2, 2, 12636, 12637, 7, 74, 2, 2, 12637, 12638, 7, 78, 2, 2, 12638, 12639, 7, 81, 2, 2, 12639, 12640, 7, 73, 2, 2, 12640, 12641, 7, 85, 2, 2, 12641, 1624, 3, 2, 2, 2, 12642, 12643, 7, 79, 2, 2, 12643, 12644, 7, 67, 2, 2, 12644, 12645, 7, 90, 2, 2, 12645, 12646, 7, 70, 2, 2, 12646, 12647, 7, 67, 2, 2, 12647, 12648, 7, 86, 2, 2, 12648, 12649, 7, 67, 2, 2, 12649, 12650, 7, 72, 2, 2, 12650, 12651, 7, 75, 2, 2, 12651, 12652, 7, 78, 2, 2, 12652, 12653, 7, 71, 2, 2, 12653, 12654, 7, 85, 2, 2, 12654, 1626, 3, 2, 2, 2, 12655, 12656, 7, 79, 2, 2, 12656, 12657, 7, 67, 2, 2, 12657, 12658, 7, 90, 2, 2, 12658, 12659, 7, 71, 2, 2, 12659, 12660, 7, 90, 2, 2, 12660, 12661, 7, 86, 2, 2, 12661, 12662, 7, 71, 2, 2, 12662, 12663, 7, 80, 2, 2, 12663, 12664, 7, 86, 2, 2, 12664, 12665, 7, 85, 2, 2, 12665, 1628, 3, 2, 2, 2, 12666, 12667, 7, 79, 2, 2, 12667, 12668, 7, 67, 2, 2, 12668, 12669, 7, 90, 2, 2, 12669, 12670, 7, 75, 2, 2, 12670, 12671, 7, 79, 2, 2, 12671, 12672, 7, 75, 2, 2, 12672, 12673, 7, 92, 2, 2, 12673, 12674, 7, 71, 2, 2, 12674, 1630, 3, 2, 2, 2, 12675, 12676, 7, 79, 2, 2, 12676, 12677, 7, 67, 2, 2, 12677, 12678, 7, 90, 2, 2, 12678, 12679, 7, 75, 2, 2, 12679, 12680, 7, 80, 2, 2, 12680, 12681, 7, 85, 2, 2, 12681, 12682, 7, 86, 2, 2, 12682, 12683, 7, 67, 2, 2, 12683, 12684, 7, 80, 2, 2, 12684, 12685, 7, 69, 2, 2, 12685, 12686, 7, 71, 2, 2, 12686, 12687, 7, 85, 2, 2, 12687, 1632, 3, 2, 2, 2, 12688, 12689, 7, 79, 2, 2, 12689, 12690, 7, 67, 2, 2, 12690, 12691, 7, 90, 2, 2, 12691, 12692, 7, 78, 2, 2, 12692, 12693, 7, 81, 2, 2, 12693, 12694, 7, 73, 2, 2, 12694, 12695, 7, 72, 2, 2, 12695, 12696, 7, 75, 2, 2, 12696, 12697, 7, 78, 2, 2, 12697, 12698, 7, 71, 2, 2, 12698, 12699, 7, 85, 2, 2, 12699, 1634, 3, 2, 2, 2, 12700, 12701, 7, 79, 2, 2, 12701, 12702, 7, 67, 2, 2, 12702, 12703, 7, 90, 2, 2, 12703, 12704, 7, 78, 2, 2, 12704, 12705, 7, 81, 2, 2, 12705, 12706, 7, 73, 2, 2, 12706, 12707, 7, 74, 2, 2, 12707, 12708, 7, 75, 2, 2, 12708, 12709, 7, 85, 2, 2, 12709, 12710, 7, 86, 2, 2, 12710, 12711, 7, 81, 2, 2, 12711, 12712, 7, 84, 2, 2, 12712, 12713, 7, 91, 2, 2, 12713, 1636, 3, 2, 2, 2, 12714, 12715, 7, 79, 2, 2, 12715, 12716, 7, 67, 2, 2, 12716, 12717, 7, 90, 2, 2, 12717, 12718, 7, 78, 2, 2, 12718, 12719, 7, 81, 2, 2, 12719, 12720, 7, 73, 2, 2, 12720, 12721, 7, 79, 2, 2, 12721, 12722, 7, 71, 2, 2, 12722, 12723, 7, 79, 2, 2, 12723, 12724, 7, 68, 2, 2, 12724, 12725, 7, 71, 2, 2, 12725, 12726, 7, 84, 2, 2, 12726, 12727, 7, 85, 2, 2, 12727, 1638, 3, 2, 2, 2, 12728, 12729, 7, 79, 2, 2, 12729, 12730, 7, 67, 2, 2, 12730, 12731, 7, 90, 2, 2, 12731, 12732, 7, 97, 2, 2, 12732, 12733, 7, 85, 2, 2, 12733, 12734, 7, 74, 2, 2, 12734, 12735, 7, 67, 2, 2, 12735, 12736, 7, 84, 2, 2, 12736, 12737, 7, 71, 2, 2, 12737, 12738, 7, 70, 2, 2, 12738, 12739, 7, 97, 2, 2, 12739, 12740, 7, 86, 2, 2, 12740, 12741, 7, 71, 2, 2, 12741, 12742, 7, 79, 2, 2, 12742, 12743, 7, 82, 2, 2, 12743, 12744, 7, 97, 2, 2, 12744, 12745, 7, 85, 2, 2, 12745, 12746, 7, 75, 2, 2, 12746, 12747, 7, 92, 2, 2, 12747, 12748, 7, 71, 2, 2, 12748, 1640, 3, 2, 2, 2, 12749, 12750, 7, 79, 2, 2, 12750, 12751, 7, 67, 2, 2, 12751, 12752, 7, 90, 2, 2, 12752, 12753, 7, 85, 2, 2, 12753, 12754, 7, 75, 2, 2, 12754, 12755, 7, 92, 2, 2, 12755, 12756, 7, 71, 2, 2, 12756, 1642, 3, 2, 2, 2, 12757, 12758, 7, 79, 2, 2, 12758, 12759, 7, 67, 2, 2, 12759, 12760, 7, 90, 2, 2, 12760, 12761, 7, 86, 2, 2, 12761, 12762, 7, 84, 2, 2, 12762, 12763, 7, 67, 2, 2, 12763, 12764, 7, 80, 2, 2, 12764, 12765, 7, 85, 2, 2, 12765, 1644, 3, 2, 2, 2, 12766, 12767, 7, 79, 2, 2, 12767, 12768, 7, 67, 2, 2, 12768, 12769, 7, 90, 2, 2, 12769, 12770, 7, 88, 2, 2, 12770, 12771, 7, 67, 2, 2, 12771, 12772, 7, 78, 2, 2, 12772, 12773, 7, 87, 2, 2, 12773, 12774, 7, 71, 2, 2, 12774, 1646, 3, 2, 2, 2, 12775, 12776, 7, 79, 2, 2, 12776, 12777, 7, 71, 2, 2, 12777, 12778, 7, 67, 2, 2, 12778, 12779, 7, 85, 2, 2, 12779, 12780, 7, 87, 2, 2, 12780, 12781, 7, 84, 2, 2, 12781, 12782, 7, 71, 2, 2, 12782, 1648, 3, 2, 2, 2, 12783, 12784, 7, 79, 2, 2, 12784, 12785, 7, 71, 2, 2, 12785, 12786, 7, 67, 2, 2, 12786, 12787, 7, 85, 2, 2, 12787, 12788, 7, 87, 2, 2, 12788, 12789, 7, 84, 2, 2, 12789, 12790, 7, 71, 2, 2, 12790, 12791, 7, 85, 2, 2, 12791, 1650, 3, 2, 2, 2, 12792, 12793, 7, 79, 2, 2, 12793, 12794, 7, 71, 2, 2, 12794, 12795, 7, 70, 2, 2, 12795, 12796, 7, 75, 2, 2, 12796, 12797, 7, 87, 2, 2, 12797, 12798, 7, 79, 2, 2, 12798, 1652, 3, 2, 2, 2, 12799, 12800, 7, 79, 2, 2, 12800, 12801, 7, 71, 2, 2, 12801, 12802, 7, 79, 2, 2, 12802, 12803, 7, 68, 2, 2, 12803, 12804, 7, 71, 2, 2, 12804, 12805, 7, 84, 2, 2, 12805, 1654, 3, 2, 2, 2, 12806, 12807, 7, 79, 2, 2, 12807, 12808, 7, 71, 2, 2, 12808, 12809, 7, 79, 2, 2, 12809, 12810, 7, 69, 2, 2, 12810, 12811, 7, 81, 2, 2, 12811, 12812, 7, 79, 2, 2, 12812, 12813, 7, 82, 2, 2, 12813, 12814, 7, 84, 2, 2, 12814, 12815, 7, 71, 2, 2, 12815, 12816, 7, 85, 2, 2, 12816, 12817, 7, 85, 2, 2, 12817, 1656, 3, 2, 2, 2, 12818, 12819, 7, 79, 2, 2, 12819, 12820, 7, 71, 2, 2, 12820, 12821, 7, 79, 2, 2, 12821, 12822, 7, 81, 2, 2, 12822, 12823, 7, 84, 2, 2, 12823, 12824, 7, 91, 2, 2, 12824, 1658, 3, 2, 2, 2, 12825, 12826, 7, 79, 2, 2, 12826, 12827, 7, 71, 2, 2, 12827, 12828, 7, 84, 2, 2, 12828, 12829, 7, 73, 2, 2, 12829, 12830, 7, 71, 2, 2, 12830, 12831, 7, 38, 2, 2, 12831, 12832, 7, 67, 2, 2, 12832, 12833, 7, 69, 2, 2, 12833, 12834, 7, 86, 2, 2, 12834, 12835, 7, 75, 2, 2, 12835, 12836, 7, 81, 2, 2, 12836, 12837, 7, 80, 2, 2, 12837, 12838, 7, 85, 2, 2, 12838, 1660, 3, 2, 2, 2, 12839, 12840, 7, 79, 2, 2, 12840, 12841, 7, 71, 2, 2, 12841, 12842, 7, 84, 2, 2, 12842, 12843, 7, 73, 2, 2, 12843, 12844, 7, 71, 2, 2, 12844, 12845, 7, 97, 2, 2, 12845, 12846, 7, 67, 2, 2, 12846, 12847, 7, 76, 2, 2, 12847, 1662, 3, 2, 2, 2, 12848, 12849, 7, 79, 2, 2, 12849, 12850, 7, 71, 2, 2, 12850, 12851, 7, 84, 2, 2, 12851, 12852, 7, 73, 2, 2, 12852, 12853, 7, 71, 2, 2, 12853, 12854, 7, 97, 2, 2, 12854, 12855, 7, 69, 2, 2, 12855, 12856, 7, 81, 2, 2, 12856, 12857, 7, 80, 2, 2, 12857, 12858, 7, 85, 2, 2, 12858, 12859, 7, 86, 2, 2, 12859, 12860, 7, 97, 2, 2, 12860, 12861, 7, 81, 2, 2, 12861, 12862, 7, 80, 2, 2, 12862, 1664, 3, 2, 2, 2, 12863, 12864, 7, 79, 2, 2, 12864, 12865, 7, 71, 2, 2, 12865, 12866, 7, 84, 2, 2, 12866, 12867, 7, 73, 2, 2, 12867, 12868, 7, 71, 2, 2, 12868, 1666, 3, 2, 2, 2, 12869, 12870, 7, 79, 2, 2, 12870, 12871, 7, 71, 2, 2, 12871, 12872, 7, 84, 2, 2, 12872, 12873, 7, 73, 2, 2, 12873, 12874, 7, 71, 2, 2, 12874, 12875, 7, 97, 2, 2, 12875, 12876, 7, 85, 2, 2, 12876, 12877, 7, 76, 2, 2, 12877, 1668, 3, 2, 2, 2, 12878, 12879, 7, 79, 2, 2, 12879, 12880, 7, 71, 2, 2, 12880, 12881, 7, 86, 2, 2, 12881, 12882, 7, 67, 2, 2, 12882, 12883, 7, 70, 2, 2, 12883, 12884, 7, 67, 2, 2, 12884, 12885, 7, 86, 2, 2, 12885, 12886, 7, 67, 2, 2, 12886, 1670, 3, 2, 2, 2, 12887, 12888, 7, 79, 2, 2, 12888, 12889, 7, 71, 2, 2, 12889, 12890, 7, 86, 2, 2, 12890, 12891, 7, 74, 2, 2, 12891, 12892, 7, 81, 2, 2, 12892, 12893, 7, 70, 2, 2, 12893, 1672, 3, 2, 2, 2, 12894, 12895, 7, 79, 2, 2, 12895, 12896, 7, 75, 2, 2, 12896, 12897, 7, 73, 2, 2, 12897, 12898, 7, 84, 2, 2, 12898, 12899, 7, 67, 2, 2, 12899, 12900, 7, 86, 2, 2, 12900, 12901, 7, 71, 2, 2, 12901, 1674, 3, 2, 2, 2, 12902, 12903, 7, 79, 2, 2, 12903, 12904, 7, 75, 2, 2, 12904, 12905, 7, 73, 2, 2, 12905, 12906, 7, 84, 2, 2, 12906, 12907, 7, 67, 2, 2, 12907, 12908, 7, 86, 2, 2, 12908, 12909, 7, 75, 2, 2, 12909, 12910, 7, 81, 2, 2, 12910, 12911, 7, 80, 2, 2, 12911, 1676, 3, 2, 2, 2, 12912, 12913, 7, 79, 2, 2, 12913, 12914, 7, 75, 2, 2, 12914, 12915, 7, 80, 2, 2, 12915, 12916, 7, 71, 2, 2, 12916, 12917, 7, 90, 2, 2, 12917, 12918, 7, 86, 2, 2, 12918, 12919, 7, 71, 2, 2, 12919, 12920, 7, 80, 2, 2, 12920, 12921, 7, 86, 2, 2, 12921, 12922, 7, 85, 2, 2, 12922, 1678, 3, 2, 2, 2, 12923, 12924, 7, 79, 2, 2, 12924, 12925, 7, 75, 2, 2, 12925, 12926, 7, 80, 2, 2, 12926, 12927, 7, 75, 2, 2, 12927, 12928, 7, 79, 2, 2, 12928, 12929, 7, 75, 2, 2, 12929, 12930, 7, 92, 2, 2, 12930, 12931, 7, 71, 2, 2, 12931, 1680, 3, 2, 2, 2, 12932, 12933, 7, 79, 2, 2, 12933, 12934, 7, 75, 2, 2, 12934, 12935, 7, 80, 2, 2, 12935, 12936, 7, 75, 2, 2, 12936, 12937, 7, 79, 2, 2, 12937, 12938, 7, 87, 2, 2, 12938, 12939, 7, 79, 2, 2, 12939, 1682, 3, 2, 2, 2, 12940, 12941, 7, 79, 2, 2, 12941, 12942, 7, 75, 2, 2, 12942, 12943, 7, 80, 2, 2, 12943, 12944, 7, 75, 2, 2, 12944, 12945, 7, 80, 2, 2, 12945, 12946, 7, 73, 2, 2, 12946, 1684, 3, 2, 2, 2, 12947, 12948, 7, 79, 2, 2, 12948, 12949, 7, 75, 2, 2, 12949, 12950, 7, 80, 2, 2, 12950, 12951, 7, 87, 2, 2, 12951, 12952, 7, 85, 2, 2, 12952, 1686, 3, 2, 2, 2, 12953, 12954, 7, 79, 2, 2, 12954, 12955, 7, 75, 2, 2, 12955, 12956, 7, 80, 2, 2, 12956, 12957, 7, 87, 2, 2, 12957, 12958, 7, 85, 2, 2, 12958, 12959, 7, 97, 2, 2, 12959, 12960, 7, 80, 2, 2, 12960, 12961, 7, 87, 2, 2, 12961, 12962, 7, 78, 2, 2, 12962, 12963, 7, 78, 2, 2, 12963, 1688, 3, 2, 2, 2, 12964, 12965, 7, 79, 2, 2, 12965, 12966, 7, 75, 2, 2, 12966, 12967, 7, 80, 2, 2, 12967, 12968, 7, 87, 2, 2, 12968, 12969, 7, 86, 2, 2, 12969, 12970, 7, 71, 2, 2, 12970, 1690, 3, 2, 2, 2, 12971, 12972, 7, 79, 2, 2, 12972, 12973, 7, 75, 2, 2, 12973, 12974, 7, 80, 2, 2, 12974, 12975, 7, 88, 2, 2, 12975, 12976, 7, 67, 2, 2, 12976, 12977, 7, 78, 2, 2, 12977, 12978, 7, 87, 2, 2, 12978, 12979, 7, 71, 2, 2, 12979, 1692, 3, 2, 2, 2, 12980, 12981, 7, 79, 2, 2, 12981, 12982, 7, 75, 2, 2, 12982, 12983, 7, 84, 2, 2, 12983, 12984, 7, 84, 2, 2, 12984, 12985, 7, 81, 2, 2, 12985, 12986, 7, 84, 2, 2, 12986, 12987, 7, 69, 2, 2, 12987, 12988, 7, 81, 2, 2, 12988, 12989, 7, 78, 2, 2, 12989, 12990, 7, 70, 2, 2, 12990, 1694, 3, 2, 2, 2, 12991, 12992, 7, 79, 2, 2, 12992, 12993, 7, 75, 2, 2, 12993, 12994, 7, 84, 2, 2, 12994, 12995, 7, 84, 2, 2, 12995, 12996, 7, 81, 2, 2, 12996, 12997, 7, 84, 2, 2, 12997, 12998, 7, 74, 2, 2, 12998, 12999, 7, 81, 2, 2, 12999, 13000, 7, 86, 2, 2, 13000, 1696, 3, 2, 2, 2, 13001, 13002, 7, 79, 2, 2, 13002, 13003, 7, 75, 2, 2, 13003, 13004, 7, 84, 2, 2, 13004, 13005, 7, 84, 2, 2, 13005, 13006, 7, 81, 2, 2, 13006, 13007, 7, 84, 2, 2, 13007, 1698, 3, 2, 2, 2, 13008, 13009, 7, 79, 2, 2, 13009, 13010, 7, 78, 2, 2, 13010, 13011, 7, 85, 2, 2, 13011, 13012, 7, 78, 2, 2, 13012, 13013, 7, 67, 2, 2, 13013, 13014, 7, 68, 2, 2, 13014, 13015, 7, 71, 2, 2, 13015, 13016, 7, 78, 2, 2, 13016, 1700, 3, 2, 2, 2, 13017, 13018, 7, 79, 2, 2, 13018, 13019, 7, 81, 2, 2, 13019, 13020, 7, 70, 2, 2, 13020, 13021, 7, 71, 2, 2, 13021, 13022, 7, 78, 2, 2, 13022, 13023, 7, 97, 2, 2, 13023, 13024, 7, 69, 2, 2, 13024, 13025, 7, 81, 2, 2, 13025, 13026, 7, 79, 2, 2, 13026, 13027, 7, 82, 2, 2, 13027, 13028, 7, 75, 2, 2, 13028, 13029, 7, 78, 2, 2, 13029, 13030, 7, 71, 2, 2, 13030, 13031, 7, 97, 2, 2, 13031, 13032, 7, 85, 2, 2, 13032, 13033, 7, 87, 2, 2, 13033, 13034, 7, 68, 2, 2, 13034, 13035, 7, 83, 2, 2, 13035, 13036, 7, 87, 2, 2, 13036, 13037, 7, 71, 2, 2, 13037, 13038, 7, 84, 2, 2, 13038, 13039, 7, 91, 2, 2, 13039, 1702, 3, 2, 2, 2, 13040, 13041, 7, 79, 2, 2, 13041, 13042, 7, 81, 2, 2, 13042, 13043, 7, 70, 2, 2, 13043, 13044, 7, 71, 2, 2, 13044, 13045, 7, 78, 2, 2, 13045, 13046, 7, 97, 2, 2, 13046, 13047, 7, 70, 2, 2, 13047, 13048, 7, 81, 2, 2, 13048, 13049, 7, 80, 2, 2, 13049, 13050, 7, 86, 2, 2, 13050, 13051, 7, 88, 2, 2, 13051, 13052, 7, 71, 2, 2, 13052, 13053, 7, 84, 2, 2, 13053, 13054, 7, 75, 2, 2, 13054, 13055, 7, 72, 2, 2, 13055, 13056, 7, 91, 2, 2, 13056, 13057, 7, 97, 2, 2, 13057, 13058, 7, 87, 2, 2, 13058, 13059, 7, 80, 2, 2, 13059, 13060, 7, 75, 2, 2, 13060, 13061, 7, 83, 2, 2, 13061, 13062, 7, 87, 2, 2, 13062, 13063, 7, 71, 2, 2, 13063, 13064, 7, 80, 2, 2, 13064, 13065, 7, 71, 2, 2, 13065, 13066, 7, 85, 2, 2, 13066, 13067, 7, 85, 2, 2, 13067, 1704, 3, 2, 2, 2, 13068, 13069, 7, 79, 2, 2, 13069, 13070, 7, 81, 2, 2, 13070, 13071, 7, 70, 2, 2, 13071, 13072, 7, 71, 2, 2, 13072, 13073, 7, 78, 2, 2, 13073, 13074, 7, 97, 2, 2, 13074, 13075, 7, 70, 2, 2, 13075, 13076, 7, 91, 2, 2, 13076, 13077, 7, 80, 2, 2, 13077, 13078, 7, 67, 2, 2, 13078, 13079, 7, 79, 2, 2, 13079, 13080, 7, 75, 2, 2, 13080, 13081, 7, 69, 2, 2, 13081, 13082, 7, 97, 2, 2, 13082, 13083, 7, 85, 2, 2, 13083, 13084, 7, 87, 2, 2, 13084, 13085, 7, 68, 2, 2, 13085, 13086, 7, 83, 2, 2, 13086, 13087, 7, 87, 2, 2, 13087, 13088, 7, 71, 2, 2, 13088, 13089, 7, 84, 2, 2, 13089, 13090, 7, 91, 2, 2, 13090, 1706, 3, 2, 2, 2, 13091, 13092, 7, 79, 2, 2, 13092, 13093, 7, 81, 2, 2, 13093, 13094, 7, 70, 2, 2, 13094, 13095, 7, 71, 2, 2, 13095, 13096, 7, 78, 2, 2, 13096, 13097, 7, 97, 2, 2, 13097, 13098, 7, 79, 2, 2, 13098, 13099, 7, 75, 2, 2, 13099, 13100, 7, 80, 2, 2, 13100, 13101, 7, 97, 2, 2, 13101, 13102, 7, 67, 2, 2, 13102, 13103, 7, 80, 2, 2, 13103, 13104, 7, 67, 2, 2, 13104, 13105, 7, 78, 2, 2, 13105, 13106, 7, 91, 2, 2, 13106, 13107, 7, 85, 2, 2, 13107, 13108, 7, 75, 2, 2, 13108, 13109, 7, 85, 2, 2, 13109, 1708, 3, 2, 2, 2, 13110, 13111, 7, 79, 2, 2, 13111, 13112, 7, 81, 2, 2, 13112, 13113, 7, 70, 2, 2, 13113, 13114, 7, 71, 2, 2, 13114, 13115, 7, 78, 2, 2, 13115, 1710, 3, 2, 2, 2, 13116, 13117, 7, 79, 2, 2, 13117, 13118, 7, 81, 2, 2, 13118, 13119, 7, 70, 2, 2, 13119, 13120, 7, 71, 2, 2, 13120, 13121, 7, 78, 2, 2, 13121, 13122, 7, 97, 2, 2, 13122, 13123, 7, 80, 2, 2, 13123, 13124, 7, 68, 2, 2, 13124, 1712, 3, 2, 2, 2, 13125, 13126, 7, 79, 2, 2, 13126, 13127, 7, 81, 2, 2, 13127, 13128, 7, 70, 2, 2, 13128, 13129, 7, 71, 2, 2, 13129, 13130, 7, 78, 2, 2, 13130, 13131, 7, 97, 2, 2, 13131, 13132, 7, 80, 2, 2, 13132, 13133, 7, 81, 2, 2, 13133, 13134, 7, 97, 2, 2, 13134, 13135, 7, 67, 2, 2, 13135, 13136, 7, 80, 2, 2, 13136, 13137, 7, 67, 2, 2, 13137, 13138, 7, 78, 2, 2, 13138, 13139, 7, 91, 2, 2, 13139, 13140, 7, 85, 2, 2, 13140, 13141, 7, 75, 2, 2, 13141, 13142, 7, 85, 2, 2, 13142, 1714, 3, 2, 2, 2, 13143, 13144, 7, 79, 2, 2, 13144, 13145, 7, 81, 2, 2, 13145, 13146, 7, 70, 2, 2, 13146, 13147, 7, 71, 2, 2, 13147, 13148, 7, 78, 2, 2, 13148, 13149, 7, 97, 2, 2, 13149, 13150, 7, 82, 2, 2, 13150, 13151, 7, 68, 2, 2, 13151, 13152, 7, 91, 2, 2, 13152, 1716, 3, 2, 2, 2, 13153, 13154, 7, 79, 2, 2, 13154, 13155, 7, 81, 2, 2, 13155, 13156, 7, 70, 2, 2, 13156, 13157, 7, 71, 2, 2, 13157, 13158, 7, 78, 2, 2, 13158, 13159, 7, 97, 2, 2, 13159, 13160, 7, 82, 2, 2, 13160, 13161, 7, 87, 2, 2, 13161, 13162, 7, 85, 2, 2, 13162, 13163, 7, 74, 2, 2, 13163, 13164, 7, 97, 2, 2, 13164, 13165, 7, 84, 2, 2, 13165, 13166, 7, 71, 2, 2, 13166, 13167, 7, 72, 2, 2, 13167, 1718, 3, 2, 2, 2, 13168, 13169, 7, 79, 2, 2, 13169, 13170, 7, 81, 2, 2, 13170, 13171, 7, 70, 2, 2, 13171, 13172, 7, 71, 2, 2, 13172, 13173, 7, 78, 2, 2, 13173, 13174, 7, 97, 2, 2, 13174, 13175, 7, 85, 2, 2, 13175, 13176, 7, 88, 2, 2, 13176, 1720, 3, 2, 2, 2, 13177, 13178, 7, 79, 2, 2, 13178, 13179, 7, 81, 2, 2, 13179, 13180, 7, 70, 2, 2, 13180, 13181, 7, 71, 2, 2, 13181, 1722, 3, 2, 2, 2, 13182, 13183, 7, 79, 2, 2, 13183, 13184, 7, 81, 2, 2, 13184, 13185, 7, 70, 2, 2, 13185, 13186, 7, 75, 2, 2, 13186, 13187, 7, 72, 2, 2, 13187, 13188, 7, 75, 2, 2, 13188, 13189, 7, 69, 2, 2, 13189, 13190, 7, 67, 2, 2, 13190, 13191, 7, 86, 2, 2, 13191, 13192, 7, 75, 2, 2, 13192, 13193, 7, 81, 2, 2, 13193, 13194, 7, 80, 2, 2, 13194, 1724, 3, 2, 2, 2, 13195, 13196, 7, 79, 2, 2, 13196, 13197, 7, 81, 2, 2, 13197, 13198, 7, 70, 2, 2, 13198, 13199, 7, 75, 2, 2, 13199, 13200, 7, 72, 2, 2, 13200, 13201, 7, 91, 2, 2, 13201, 13202, 7, 97, 2, 2, 13202, 13203, 7, 69, 2, 2, 13203, 13204, 7, 81, 2, 2, 13204, 13205, 7, 78, 2, 2, 13205, 13206, 7, 87, 2, 2, 13206, 13207, 7, 79, 2, 2, 13207, 13208, 7, 80, 2, 2, 13208, 13209, 7, 97, 2, 2, 13209, 13210, 7, 86, 2, 2, 13210, 13211, 7, 91, 2, 2, 13211, 13212, 7, 82, 2, 2, 13212, 13213, 7, 71, 2, 2, 13213, 1726, 3, 2, 2, 2, 13214, 13215, 7, 79, 2, 2, 13215, 13216, 7, 81, 2, 2, 13216, 13217, 7, 70, 2, 2, 13217, 13218, 7, 75, 2, 2, 13218, 13219, 7, 72, 2, 2, 13219, 13220, 7, 91, 2, 2, 13220, 1728, 3, 2, 2, 2, 13221, 13222, 7, 79, 2, 2, 13222, 13223, 7, 81, 2, 2, 13223, 13224, 7, 70, 2, 2, 13224, 1730, 3, 2, 2, 2, 13225, 13226, 7, 79, 2, 2, 13226, 13227, 7, 81, 2, 2, 13227, 13228, 7, 70, 2, 2, 13228, 13229, 7, 87, 2, 2, 13229, 13230, 7, 78, 2, 2, 13230, 13231, 7, 71, 2, 2, 13231, 1732, 3, 2, 2, 2, 13232, 13233, 7, 79, 2, 2, 13233, 13234, 7, 81, 2, 2, 13234, 13235, 7, 80, 2, 2, 13235, 13236, 7, 75, 2, 2, 13236, 13237, 7, 86, 2, 2, 13237, 13238, 7, 81, 2, 2, 13238, 13239, 7, 84, 2, 2, 13239, 13240, 7, 75, 2, 2, 13240, 13241, 7, 80, 2, 2, 13241, 13242, 7, 73, 2, 2, 13242, 1734, 3, 2, 2, 2, 13243, 13244, 7, 79, 2, 2, 13244, 13245, 7, 81, 2, 2, 13245, 13246, 7, 80, 2, 2, 13246, 13247, 7, 75, 2, 2, 13247, 13248, 7, 86, 2, 2, 13248, 13249, 7, 81, 2, 2, 13249, 13250, 7, 84, 2, 2, 13250, 1736, 3, 2, 2, 2, 13251, 13252, 7, 79, 2, 2, 13252, 13253, 7, 81, 2, 2, 13253, 13254, 7, 80, 2, 2, 13254, 13255, 7, 86, 2, 2, 13255, 13256, 7, 74, 2, 2, 13256, 1738, 3, 2, 2, 2, 13257, 13258, 7, 79, 2, 2, 13258, 13259, 7, 81, 2, 2, 13259, 13260, 7, 80, 2, 2, 13260, 13261, 7, 86, 2, 2, 13261, 13262, 7, 74, 2, 2, 13262, 13263, 7, 85, 2, 2, 13263, 13264, 7, 97, 2, 2, 13264, 13265, 7, 68, 2, 2, 13265, 13266, 7, 71, 2, 2, 13266, 13267, 7, 86, 2, 2, 13267, 13268, 7, 89, 2, 2, 13268, 13269, 7, 71, 2, 2, 13269, 13270, 7, 71, 2, 2, 13270, 13271, 7, 80, 2, 2, 13271, 1740, 3, 2, 2, 2, 13272, 13273, 7, 79, 2, 2, 13273, 13274, 7, 81, 2, 2, 13274, 13275, 7, 80, 2, 2, 13275, 13276, 7, 86, 2, 2, 13276, 13277, 7, 74, 2, 2, 13277, 13278, 7, 85, 2, 2, 13278, 1742, 3, 2, 2, 2, 13279, 13280, 7, 79, 2, 2, 13280, 13281, 7, 81, 2, 2, 13281, 13282, 7, 87, 2, 2, 13282, 13283, 7, 80, 2, 2, 13283, 13284, 7, 86, 2, 2, 13284, 1744, 3, 2, 2, 2, 13285, 13286, 7, 79, 2, 2, 13286, 13287, 7, 81, 2, 2, 13287, 13288, 7, 87, 2, 2, 13288, 13289, 7, 80, 2, 2, 13289, 13290, 7, 86, 2, 2, 13290, 13291, 7, 82, 2, 2, 13291, 13292, 7, 67, 2, 2, 13292, 13293, 7, 86, 2, 2, 13293, 13294, 7, 74, 2, 2, 13294, 1746, 3, 2, 2, 2, 13295, 13296, 7, 79, 2, 2, 13296, 13297, 7, 81, 2, 2, 13297, 13298, 7, 88, 2, 2, 13298, 13299, 7, 71, 2, 2, 13299, 13300, 7, 79, 2, 2, 13300, 13301, 7, 71, 2, 2, 13301, 13302, 7, 80, 2, 2, 13302, 13303, 7, 86, 2, 2, 13303, 1748, 3, 2, 2, 2, 13304, 13305, 7, 79, 2, 2, 13305, 13306, 7, 81, 2, 2, 13306, 13307, 7, 88, 2, 2, 13307, 13308, 7, 71, 2, 2, 13308, 1750, 3, 2, 2, 2, 13309, 13310, 7, 79, 2, 2, 13310, 13311, 7, 87, 2, 2, 13311, 13312, 7, 78, 2, 2, 13312, 13313, 7, 86, 2, 2, 13313, 13314, 7, 75, 2, 2, 13314, 13315, 7, 70, 2, 2, 13315, 13316, 7, 75, 2, 2, 13316, 13317, 7, 79, 2, 2, 13317, 13318, 7, 71, 2, 2, 13318, 13319, 7, 80, 2, 2, 13319, 13320, 7, 85, 2, 2, 13320, 13321, 7, 75, 2, 2, 13321, 13322, 7, 81, 2, 2, 13322, 13323, 7, 80, 2, 2, 13323, 13324, 7, 67, 2, 2, 13324, 13325, 7, 78, 2, 2, 13325, 1752, 3, 2, 2, 2, 13326, 13327, 7, 79, 2, 2, 13327, 13328, 7, 87, 2, 2, 13328, 13329, 7, 78, 2, 2, 13329, 13330, 7, 86, 2, 2, 13330, 13331, 7, 75, 2, 2, 13331, 13332, 7, 85, 2, 2, 13332, 13333, 7, 71, 2, 2, 13333, 13334, 7, 86, 2, 2, 13334, 1754, 3, 2, 2, 2, 13335, 13336, 7, 79, 2, 2, 13336, 13337, 7, 88, 2, 2, 13337, 13338, 7, 97, 2, 2, 13338, 13339, 7, 79, 2, 2, 13339, 13340, 7, 71, 2, 2, 13340, 13341, 7, 84, 2, 2, 13341, 13342, 7, 73, 2, 2, 13342, 13343, 7, 71, 2, 2, 13343, 1756, 3, 2, 2, 2, 13344, 13345, 7, 80, 2, 2, 13345, 13346, 7, 67, 2, 2, 13346, 13347, 7, 79, 2, 2, 13347, 13348, 7, 71, 2, 2, 13348, 13349, 7, 70, 2, 2, 13349, 1758, 3, 2, 2, 2, 13350, 13351, 7, 80, 2, 2, 13351, 13352, 7, 67, 2, 2, 13352, 13353, 7, 79, 2, 2, 13353, 13354, 7, 71, 2, 2, 13354, 1760, 3, 2, 2, 2, 13355, 13356, 7, 80, 2, 2, 13356, 13357, 7, 67, 2, 2, 13357, 13358, 7, 79, 2, 2, 13358, 13359, 7, 71, 2, 2, 13359, 13360, 7, 85, 2, 2, 13360, 13361, 7, 82, 2, 2, 13361, 13362, 7, 67, 2, 2, 13362, 13363, 7, 69, 2, 2, 13363, 13364, 7, 71, 2, 2, 13364, 1762, 3, 2, 2, 2, 13365, 13366, 7, 80, 2, 2, 13366, 13367, 7, 67, 2, 2, 13367, 13368, 7, 80, 2, 2, 13368, 1764, 3, 2, 2, 2, 13369, 13370, 7, 80, 2, 2, 13370, 13371, 7, 67, 2, 2, 13371, 13372, 7, 80, 2, 2, 13372, 13373, 7, 88, 2, 2, 13373, 13374, 7, 78, 2, 2, 13374, 1766, 3, 2, 2, 2, 13375, 13376, 7, 80, 2, 2, 13376, 13377, 7, 67, 2, 2, 13377, 13378, 7, 86, 2, 2, 13378, 13379, 7, 75, 2, 2, 13379, 13380, 7, 81, 2, 2, 13380, 13381, 7, 80, 2, 2, 13381, 13382, 7, 67, 2, 2, 13382, 13383, 7, 78, 2, 2, 13383, 1768, 3, 2, 2, 2, 13384, 13385, 7, 80, 2, 2, 13385, 13386, 7, 67, 2, 2, 13386, 13387, 7, 86, 2, 2, 13387, 13388, 7, 75, 2, 2, 13388, 13389, 7, 88, 2, 2, 13389, 13390, 7, 71, 2, 2, 13390, 13391, 7, 97, 2, 2, 13391, 13392, 7, 72, 2, 2, 13392, 13393, 7, 87, 2, 2, 13393, 13394, 7, 78, 2, 2, 13394, 13395, 7, 78, 2, 2, 13395, 13396, 7, 97, 2, 2, 13396, 13397, 7, 81, 2, 2, 13397, 13398, 7, 87, 2, 2, 13398, 13399, 7, 86, 2, 2, 13399, 13400, 7, 71, 2, 2, 13400, 13401, 7, 84, 2, 2, 13401, 13402, 7, 97, 2, 2, 13402, 13403, 7, 76, 2, 2, 13403, 13404, 7, 81, 2, 2, 13404, 13405, 7, 75, 2, 2, 13405, 13406, 7, 80, 2, 2, 13406, 1770, 3, 2, 2, 2, 13407, 13408, 7, 80, 2, 2, 13408, 13409, 7, 67, 2, 2, 13409, 13410, 7, 86, 2, 2, 13410, 13411, 7, 75, 2, 2, 13411, 13412, 7, 88, 2, 2, 13412, 13413, 7, 71, 2, 2, 13413, 1772, 3, 2, 2, 2, 13414, 13415, 7, 80, 2, 2, 13415, 13416, 7, 67, 2, 2, 13416, 13417, 7, 86, 2, 2, 13417, 13418, 7, 87, 2, 2, 13418, 13419, 7, 84, 2, 2, 13419, 13420, 7, 67, 2, 2, 13420, 13421, 7, 78, 2, 2, 13421, 1774, 3, 2, 2, 2, 13422, 13423, 7, 80, 2, 2, 13423, 13424, 7, 67, 2, 2, 13424, 13425, 7, 86, 2, 2, 13425, 13426, 7, 87, 2, 2, 13426, 13427, 7, 84, 2, 2, 13427, 13428, 7, 67, 2, 2, 13428, 13429, 7, 78, 2, 2, 13429, 13430, 7, 80, 2, 2, 13430, 1776, 3, 2, 2, 2, 13431, 13432, 7, 80, 2, 2, 13432, 13433, 7, 67, 2, 2, 13433, 13434, 7, 88, 2, 2, 13434, 1778, 3, 2, 2, 2, 13435, 13436, 7, 80, 2, 2, 13436, 13437, 7, 69, 2, 2, 13437, 13438, 7, 74, 2, 2, 13438, 13439, 7, 67, 2, 2, 13439, 13440, 7, 84, 2, 2, 13440, 13441, 7, 97, 2, 2, 13441, 13442, 7, 69, 2, 2, 13442, 13443, 7, 85, 2, 2, 13443, 1780, 3, 2, 2, 2, 13444, 13445, 7, 80, 2, 2, 13445, 13446, 7, 69, 2, 2, 13446, 13447, 7, 74, 2, 2, 13447, 13448, 7, 67, 2, 2, 13448, 13449, 7, 84, 2, 2, 13449, 1782, 3, 2, 2, 2, 13450, 13451, 7, 80, 2, 2, 13451, 13452, 7, 69, 2, 2, 13452, 13453, 7, 74, 2, 2, 13453, 13454, 7, 84, 2, 2, 13454, 1784, 3, 2, 2, 2, 13455, 13456, 7, 80, 2, 2, 13456, 13457, 7, 69, 2, 2, 13457, 13458, 7, 78, 2, 2, 13458, 13459, 7, 81, 2, 2, 13459, 13460, 7, 68, 2, 2, 13460, 1786, 3, 2, 2, 2, 13461, 13462, 7, 80, 2, 2, 13462, 13463, 7, 71, 2, 2, 13463, 13464, 7, 71, 2, 2, 13464, 13465, 7, 70, 2, 2, 13465, 13466, 7, 71, 2, 2, 13466, 13467, 7, 70, 2, 2, 13467, 1788, 3, 2, 2, 2, 13468, 13469, 7, 80, 2, 2, 13469, 13470, 7, 71, 2, 2, 13470, 13471, 7, 73, 2, 2, 13471, 1790, 3, 2, 2, 2, 13472, 13473, 7, 80, 2, 2, 13473, 13474, 7, 71, 2, 2, 13474, 13475, 7, 85, 2, 2, 13475, 13476, 7, 86, 2, 2, 13476, 13477, 7, 71, 2, 2, 13477, 13478, 7, 70, 2, 2, 13478, 1792, 3, 2, 2, 2, 13479, 13480, 7, 80, 2, 2, 13480, 13481, 7, 71, 2, 2, 13481, 13482, 7, 85, 2, 2, 13482, 13483, 7, 86, 2, 2, 13483, 13484, 7, 71, 2, 2, 13484, 13485, 7, 70, 2, 2, 13485, 13486, 7, 97, 2, 2, 13486, 13487, 7, 86, 2, 2, 13487, 13488, 7, 67, 2, 2, 13488, 13489, 7, 68, 2, 2, 13489, 13490, 7, 78, 2, 2, 13490, 13491, 7, 71, 2, 2, 13491, 13492, 7, 97, 2, 2, 13492, 13493, 7, 72, 2, 2, 13493, 13494, 7, 67, 2, 2, 13494, 13495, 7, 85, 2, 2, 13495, 13496, 7, 86, 2, 2, 13496, 13497, 7, 97, 2, 2, 13497, 13498, 7, 75, 2, 2, 13498, 13499, 7, 80, 2, 2, 13499, 13500, 7, 85, 2, 2, 13500, 13501, 7, 71, 2, 2, 13501, 13502, 7, 84, 2, 2, 13502, 13503, 7, 86, 2, 2, 13503, 1794, 3, 2, 2, 2, 13504, 13505, 7, 80, 2, 2, 13505, 13506, 7, 71, 2, 2, 13506, 13507, 7, 85, 2, 2, 13507, 13508, 7, 86, 2, 2, 13508, 13509, 7, 71, 2, 2, 13509, 13510, 7, 70, 2, 2, 13510, 13511, 7, 97, 2, 2, 13511, 13512, 7, 86, 2, 2, 13512, 13513, 7, 67, 2, 2, 13513, 13514, 7, 68, 2, 2, 13514, 13515, 7, 78, 2, 2, 13515, 13516, 7, 71, 2, 2, 13516, 13517, 7, 97, 2, 2, 13517, 13518, 7, 73, 2, 2, 13518, 13519, 7, 71, 2, 2, 13519, 13520, 7, 86, 2, 2, 13520, 13521, 7, 97, 2, 2, 13521, 13522, 7, 84, 2, 2, 13522, 13523, 7, 71, 2, 2, 13523, 13524, 7, 72, 2, 2, 13524, 13525, 7, 85, 2, 2, 13525, 1796, 3, 2, 2, 2, 13526, 13527, 7, 80, 2, 2, 13527, 13528, 7, 71, 2, 2, 13528, 13529, 7, 85, 2, 2, 13529, 13530, 7, 86, 2, 2, 13530, 13531, 7, 71, 2, 2, 13531, 13532, 7, 70, 2, 2, 13532, 13533, 7, 97, 2, 2, 13533, 13534, 7, 86, 2, 2, 13534, 13535, 7, 67, 2, 2, 13535, 13536, 7, 68, 2, 2, 13536, 13537, 7, 78, 2, 2, 13537, 13538, 7, 71, 2, 2, 13538, 13539, 7, 97, 2, 2, 13539, 13540, 7, 75, 2, 2, 13540, 13541, 7, 70, 2, 2, 13541, 1798, 3, 2, 2, 2, 13542, 13543, 7, 80, 2, 2, 13543, 13544, 7, 71, 2, 2, 13544, 13545, 7, 85, 2, 2, 13545, 13546, 7, 86, 2, 2, 13546, 13547, 7, 71, 2, 2, 13547, 13548, 7, 70, 2, 2, 13548, 13549, 7, 97, 2, 2, 13549, 13550, 7, 86, 2, 2, 13550, 13551, 7, 67, 2, 2, 13551, 13552, 7, 68, 2, 2, 13552, 13553, 7, 78, 2, 2, 13553, 13554, 7, 71, 2, 2, 13554, 13555, 7, 97, 2, 2, 13555, 13556, 7, 85, 2, 2, 13556, 13557, 7, 71, 2, 2, 13557, 13558, 7, 86, 2, 2, 13558, 13559, 7, 97, 2, 2, 13559, 13560, 7, 84, 2, 2, 13560, 13561, 7, 71, 2, 2, 13561, 13562, 7, 72, 2, 2, 13562, 13563, 7, 85, 2, 2, 13563, 1800, 3, 2, 2, 2, 13564, 13565, 7, 80, 2, 2, 13565, 13566, 7, 71, 2, 2, 13566, 13567, 7, 85, 2, 2, 13567, 13568, 7, 86, 2, 2, 13568, 13569, 7, 71, 2, 2, 13569, 13570, 7, 70, 2, 2, 13570, 13571, 7, 97, 2, 2, 13571, 13572, 7, 86, 2, 2, 13572, 13573, 7, 67, 2, 2, 13573, 13574, 7, 68, 2, 2, 13574, 13575, 7, 78, 2, 2, 13575, 13576, 7, 71, 2, 2, 13576, 13577, 7, 97, 2, 2, 13577, 13578, 7, 85, 2, 2, 13578, 13579, 7, 71, 2, 2, 13579, 13580, 7, 86, 2, 2, 13580, 13581, 7, 97, 2, 2, 13581, 13582, 7, 85, 2, 2, 13582, 13583, 7, 71, 2, 2, 13583, 13584, 7, 86, 2, 2, 13584, 13585, 7, 75, 2, 2, 13585, 13586, 7, 70, 2, 2, 13586, 1802, 3, 2, 2, 2, 13587, 13588, 7, 80, 2, 2, 13588, 13589, 7, 71, 2, 2, 13589, 13590, 7, 86, 2, 2, 13590, 13591, 7, 89, 2, 2, 13591, 13592, 7, 81, 2, 2, 13592, 13593, 7, 84, 2, 2, 13593, 13594, 7, 77, 2, 2, 13594, 1804, 3, 2, 2, 2, 13595, 13596, 7, 80, 2, 2, 13596, 13597, 7, 71, 2, 2, 13597, 13598, 7, 88, 2, 2, 13598, 13599, 7, 71, 2, 2, 13599, 13600, 7, 84, 2, 2, 13600, 1806, 3, 2, 2, 2, 13601, 13602, 7, 80, 2, 2, 13602, 13603, 7, 71, 2, 2, 13603, 13604, 7, 89, 2, 2, 13604, 1808, 3, 2, 2, 2, 13605, 13606, 7, 80, 2, 2, 13606, 13607, 7, 71, 2, 2, 13607, 13608, 7, 89, 2, 2, 13608, 13609, 7, 97, 2, 2, 13609, 13610, 7, 86, 2, 2, 13610, 13611, 7, 75, 2, 2, 13611, 13612, 7, 79, 2, 2, 13612, 13613, 7, 71, 2, 2, 13613, 1810, 3, 2, 2, 2, 13614, 13615, 7, 80, 2, 2, 13615, 13616, 7, 71, 2, 2, 13616, 13617, 7, 90, 2, 2, 13617, 13618, 7, 86, 2, 2, 13618, 13619, 7, 97, 2, 2, 13619, 13620, 7, 70, 2, 2, 13620, 13621, 7, 67, 2, 2, 13621, 13622, 7, 91, 2, 2, 13622, 1812, 3, 2, 2, 2, 13623, 13624, 7, 80, 2, 2, 13624, 13625, 7, 71, 2, 2, 13625, 13626, 7, 90, 2, 2, 13626, 13627, 7, 86, 2, 2, 13627, 1814, 3, 2, 2, 2, 13628, 13629, 7, 80, 2, 2, 13629, 13630, 7, 78, 2, 2, 13630, 13631, 7, 97, 2, 2, 13631, 13632, 7, 67, 2, 2, 13632, 13633, 7, 76, 2, 2, 13633, 1816, 3, 2, 2, 2, 13634, 13635, 7, 80, 2, 2, 13635, 13636, 7, 78, 2, 2, 13636, 13637, 7, 76, 2, 2, 13637, 13638, 7, 97, 2, 2, 13638, 13639, 7, 68, 2, 2, 13639, 13640, 7, 67, 2, 2, 13640, 13641, 7, 86, 2, 2, 13641, 13642, 7, 69, 2, 2, 13642, 13643, 7, 74, 2, 2, 13643, 13644, 7, 75, 2, 2, 13644, 13645, 7, 80, 2, 2, 13645, 13646, 7, 73, 2, 2, 13646, 1818, 3, 2, 2, 2, 13647, 13648, 7, 80, 2, 2, 13648, 13649, 7, 78, 2, 2, 13649, 13650, 7, 76, 2, 2, 13650, 13651, 7, 97, 2, 2, 13651, 13652, 7, 75, 2, 2, 13652, 13653, 7, 80, 2, 2, 13653, 13654, 7, 70, 2, 2, 13654, 13655, 7, 71, 2, 2, 13655, 13656, 7, 90, 2, 2, 13656, 13657, 7, 97, 2, 2, 13657, 13658, 7, 72, 2, 2, 13658, 13659, 7, 75, 2, 2, 13659, 13660, 7, 78, 2, 2, 13660, 13661, 7, 86, 2, 2, 13661, 13662, 7, 71, 2, 2, 13662, 13663, 7, 84, 2, 2, 13663, 1820, 3, 2, 2, 2, 13664, 13665, 7, 80, 2, 2, 13665, 13666, 7, 78, 2, 2, 13666, 13667, 7, 76, 2, 2, 13667, 13668, 7, 97, 2, 2, 13668, 13669, 7, 75, 2, 2, 13669, 13670, 7, 80, 2, 2, 13670, 13671, 7, 70, 2, 2, 13671, 13672, 7, 71, 2, 2, 13672, 13673, 7, 90, 2, 2, 13673, 13674, 7, 97, 2, 2, 13674, 13675, 7, 85, 2, 2, 13675, 13676, 7, 69, 2, 2, 13676, 13677, 7, 67, 2, 2, 13677, 13678, 7, 80, 2, 2, 13678, 1822, 3, 2, 2, 2, 13679, 13680, 7, 80, 2, 2, 13680, 13681, 7, 78, 2, 2, 13681, 13682, 7, 76, 2, 2, 13682, 13683, 7, 97, 2, 2, 13683, 13684, 7, 82, 2, 2, 13684, 13685, 7, 84, 2, 2, 13685, 13686, 7, 71, 2, 2, 13686, 13687, 7, 72, 2, 2, 13687, 13688, 7, 71, 2, 2, 13688, 13689, 7, 86, 2, 2, 13689, 13690, 7, 69, 2, 2, 13690, 13691, 7, 74, 2, 2, 13691, 1824, 3, 2, 2, 2, 13692, 13693, 7, 80, 2, 2, 13693, 13694, 7, 78, 2, 2, 13694, 13695, 7, 85, 2, 2, 13695, 13696, 7, 97, 2, 2, 13696, 13697, 7, 69, 2, 2, 13697, 13698, 7, 67, 2, 2, 13698, 13699, 7, 78, 2, 2, 13699, 13700, 7, 71, 2, 2, 13700, 13701, 7, 80, 2, 2, 13701, 13702, 7, 70, 2, 2, 13702, 13703, 7, 67, 2, 2, 13703, 13704, 7, 84, 2, 2, 13704, 1826, 3, 2, 2, 2, 13705, 13706, 7, 80, 2, 2, 13706, 13707, 7, 78, 2, 2, 13707, 13708, 7, 85, 2, 2, 13708, 13709, 7, 97, 2, 2, 13709, 13710, 7, 69, 2, 2, 13710, 13711, 7, 74, 2, 2, 13711, 13712, 7, 67, 2, 2, 13712, 13713, 7, 84, 2, 2, 13713, 13714, 7, 67, 2, 2, 13714, 13715, 7, 69, 2, 2, 13715, 13716, 7, 86, 2, 2, 13716, 13717, 7, 71, 2, 2, 13717, 13718, 7, 84, 2, 2, 13718, 13719, 7, 85, 2, 2, 13719, 13720, 7, 71, 2, 2, 13720, 13721, 7, 86, 2, 2, 13721, 1828, 3, 2, 2, 2, 13722, 13723, 7, 80, 2, 2, 13723, 13724, 7, 78, 2, 2, 13724, 13725, 7, 85, 2, 2, 13725, 13726, 7, 97, 2, 2, 13726, 13727, 7, 69, 2, 2, 13727, 13728, 7, 74, 2, 2, 13728, 13729, 7, 67, 2, 2, 13729, 13730, 7, 84, 2, 2, 13730, 13731, 7, 85, 2, 2, 13731, 13732, 7, 71, 2, 2, 13732, 13733, 7, 86, 2, 2, 13733, 13734, 7, 97, 2, 2, 13734, 13735, 7, 70, 2, 2, 13735, 13736, 7, 71, 2, 2, 13736, 13737, 7, 69, 2, 2, 13737, 13738, 7, 78, 2, 2, 13738, 13739, 7, 97, 2, 2, 13739, 13740, 7, 78, 2, 2, 13740, 13741, 7, 71, 2, 2, 13741, 13742, 7, 80, 2, 2, 13742, 1830, 3, 2, 2, 2, 13743, 13744, 7, 80, 2, 2, 13744, 13745, 7, 78, 2, 2, 13745, 13746, 7, 85, 2, 2, 13746, 13747, 7, 97, 2, 2, 13747, 13748, 7, 69, 2, 2, 13748, 13749, 7, 74, 2, 2, 13749, 13750, 7, 67, 2, 2, 13750, 13751, 7, 84, 2, 2, 13751, 13752, 7, 85, 2, 2, 13752, 13753, 7, 71, 2, 2, 13753, 13754, 7, 86, 2, 2, 13754, 13755, 7, 97, 2, 2, 13755, 13756, 7, 75, 2, 2, 13756, 13757, 7, 70, 2, 2, 13757, 1832, 3, 2, 2, 2, 13758, 13759, 7, 80, 2, 2, 13759, 13760, 7, 78, 2, 2, 13760, 13761, 7, 85, 2, 2, 13761, 13762, 7, 97, 2, 2, 13762, 13763, 7, 69, 2, 2, 13763, 13764, 7, 74, 2, 2, 13764, 13765, 7, 67, 2, 2, 13765, 13766, 7, 84, 2, 2, 13766, 13767, 7, 85, 2, 2, 13767, 13768, 7, 71, 2, 2, 13768, 13769, 7, 86, 2, 2, 13769, 13770, 7, 97, 2, 2, 13770, 13771, 7, 80, 2, 2, 13771, 13772, 7, 67, 2, 2, 13772, 13773, 7, 79, 2, 2, 13773, 13774, 7, 71, 2, 2, 13774, 1834, 3, 2, 2, 2, 13775, 13776, 7, 80, 2, 2, 13776, 13777, 7, 78, 2, 2, 13777, 13778, 7, 85, 2, 2, 13778, 13779, 7, 97, 2, 2, 13779, 13780, 7, 69, 2, 2, 13780, 13781, 7, 81, 2, 2, 13781, 13782, 7, 79, 2, 2, 13782, 13783, 7, 82, 2, 2, 13783, 1836, 3, 2, 2, 2, 13784, 13785, 7, 80, 2, 2, 13785, 13786, 7, 78, 2, 2, 13786, 13787, 7, 85, 2, 2, 13787, 13788, 7, 97, 2, 2, 13788, 13789, 7, 69, 2, 2, 13789, 13790, 7, 87, 2, 2, 13790, 13791, 7, 84, 2, 2, 13791, 13792, 7, 84, 2, 2, 13792, 13793, 7, 71, 2, 2, 13793, 13794, 7, 80, 2, 2, 13794, 13795, 7, 69, 2, 2, 13795, 13796, 7, 91, 2, 2, 13796, 1838, 3, 2, 2, 2, 13797, 13798, 7, 80, 2, 2, 13798, 13799, 7, 78, 2, 2, 13799, 13800, 7, 85, 2, 2, 13800, 13801, 7, 97, 2, 2, 13801, 13802, 7, 70, 2, 2, 13802, 13803, 7, 67, 2, 2, 13803, 13804, 7, 86, 2, 2, 13804, 13805, 7, 71, 2, 2, 13805, 13806, 7, 97, 2, 2, 13806, 13807, 7, 72, 2, 2, 13807, 13808, 7, 81, 2, 2, 13808, 13809, 7, 84, 2, 2, 13809, 13810, 7, 79, 2, 2, 13810, 13811, 7, 67, 2, 2, 13811, 13812, 7, 86, 2, 2, 13812, 1840, 3, 2, 2, 2, 13813, 13814, 7, 80, 2, 2, 13814, 13815, 7, 78, 2, 2, 13815, 13816, 7, 85, 2, 2, 13816, 13817, 7, 97, 2, 2, 13817, 13818, 7, 70, 2, 2, 13818, 13819, 7, 67, 2, 2, 13819, 13820, 7, 86, 2, 2, 13820, 13821, 7, 71, 2, 2, 13821, 13822, 7, 97, 2, 2, 13822, 13823, 7, 78, 2, 2, 13823, 13824, 7, 67, 2, 2, 13824, 13825, 7, 80, 2, 2, 13825, 13826, 7, 73, 2, 2, 13826, 13827, 7, 87, 2, 2, 13827, 13828, 7, 67, 2, 2, 13828, 13829, 7, 73, 2, 2, 13829, 13830, 7, 71, 2, 2, 13830, 1842, 3, 2, 2, 2, 13831, 13832, 7, 80, 2, 2, 13832, 13833, 7, 78, 2, 2, 13833, 13834, 7, 85, 2, 2, 13834, 13835, 7, 97, 2, 2, 13835, 13836, 7, 75, 2, 2, 13836, 13837, 7, 80, 2, 2, 13837, 13838, 7, 75, 2, 2, 13838, 13839, 7, 86, 2, 2, 13839, 13840, 7, 69, 2, 2, 13840, 13841, 7, 67, 2, 2, 13841, 13842, 7, 82, 2, 2, 13842, 1844, 3, 2, 2, 2, 13843, 13844, 7, 80, 2, 2, 13844, 13845, 7, 78, 2, 2, 13845, 13846, 7, 85, 2, 2, 13846, 13847, 7, 97, 2, 2, 13847, 13848, 7, 75, 2, 2, 13848, 13849, 7, 85, 2, 2, 13849, 13850, 7, 81, 2, 2, 13850, 13851, 7, 97, 2, 2, 13851, 13852, 7, 69, 2, 2, 13852, 13853, 7, 87, 2, 2, 13853, 13854, 7, 84, 2, 2, 13854, 13855, 7, 84, 2, 2, 13855, 13856, 7, 71, 2, 2, 13856, 13857, 7, 80, 2, 2, 13857, 13858, 7, 69, 2, 2, 13858, 13859, 7, 91, 2, 2, 13859, 1846, 3, 2, 2, 2, 13860, 13861, 7, 80, 2, 2, 13861, 13862, 7, 78, 2, 2, 13862, 13863, 7, 97, 2, 2, 13863, 13864, 7, 85, 2, 2, 13864, 13865, 7, 76, 2, 2, 13865, 1848, 3, 2, 2, 2, 13866, 13867, 7, 80, 2, 2, 13867, 13868, 7, 78, 2, 2, 13868, 13869, 7, 85, 2, 2, 13869, 13870, 7, 97, 2, 2, 13870, 13871, 7, 78, 2, 2, 13871, 13872, 7, 67, 2, 2, 13872, 13873, 7, 80, 2, 2, 13873, 13874, 7, 73, 2, 2, 13874, 1850, 3, 2, 2, 2, 13875, 13876, 7, 80, 2, 2, 13876, 13877, 7, 78, 2, 2, 13877, 13878, 7, 85, 2, 2, 13878, 13879, 7, 97, 2, 2, 13879, 13880, 7, 78, 2, 2, 13880, 13881, 7, 67, 2, 2, 13881, 13882, 7, 80, 2, 2, 13882, 13883, 7, 73, 2, 2, 13883, 13884, 7, 87, 2, 2, 13884, 13885, 7, 67, 2, 2, 13885, 13886, 7, 73, 2, 2, 13886, 13887, 7, 71, 2, 2, 13887, 1852, 3, 2, 2, 2, 13888, 13889, 7, 80, 2, 2, 13889, 13890, 7, 78, 2, 2, 13890, 13891, 7, 85, 2, 2, 13891, 13892, 7, 97, 2, 2, 13892, 13893, 7, 78, 2, 2, 13893, 13894, 7, 71, 2, 2, 13894, 13895, 7, 80, 2, 2, 13895, 13896, 7, 73, 2, 2, 13896, 13897, 7, 86, 2, 2, 13897, 13898, 7, 74, 2, 2, 13898, 13899, 7, 97, 2, 2, 13899, 13900, 7, 85, 2, 2, 13900, 13901, 7, 71, 2, 2, 13901, 13902, 7, 79, 2, 2, 13902, 13903, 7, 67, 2, 2, 13903, 13904, 7, 80, 2, 2, 13904, 13905, 7, 86, 2, 2, 13905, 13906, 7, 75, 2, 2, 13906, 13907, 7, 69, 2, 2, 13907, 13908, 7, 85, 2, 2, 13908, 1854, 3, 2, 2, 2, 13909, 13910, 7, 80, 2, 2, 13910, 13911, 7, 78, 2, 2, 13911, 13912, 7, 85, 2, 2, 13912, 13913, 7, 97, 2, 2, 13913, 13914, 7, 78, 2, 2, 13914, 13915, 7, 81, 2, 2, 13915, 13916, 7, 89, 2, 2, 13916, 13917, 7, 71, 2, 2, 13917, 13918, 7, 84, 2, 2, 13918, 1856, 3, 2, 2, 2, 13919, 13920, 7, 80, 2, 2, 13920, 13921, 7, 78, 2, 2, 13921, 13922, 7, 85, 2, 2, 13922, 13923, 7, 97, 2, 2, 13923, 13924, 7, 80, 2, 2, 13924, 13925, 7, 69, 2, 2, 13925, 13926, 7, 74, 2, 2, 13926, 13927, 7, 67, 2, 2, 13927, 13928, 7, 84, 2, 2, 13928, 13929, 7, 97, 2, 2, 13929, 13930, 7, 69, 2, 2, 13930, 13931, 7, 81, 2, 2, 13931, 13932, 7, 80, 2, 2, 13932, 13933, 7, 88, 2, 2, 13933, 13934, 7, 97, 2, 2, 13934, 13935, 7, 71, 2, 2, 13935, 13936, 7, 90, 2, 2, 13936, 13937, 7, 69, 2, 2, 13937, 13938, 7, 82, 2, 2, 13938, 1858, 3, 2, 2, 2, 13939, 13940, 7, 80, 2, 2, 13940, 13941, 7, 78, 2, 2, 13941, 13942, 7, 85, 2, 2, 13942, 13943, 7, 97, 2, 2, 13943, 13944, 7, 80, 2, 2, 13944, 13945, 7, 87, 2, 2, 13945, 13946, 7, 79, 2, 2, 13946, 13947, 7, 71, 2, 2, 13947, 13948, 7, 84, 2, 2, 13948, 13949, 7, 75, 2, 2, 13949, 13950, 7, 69, 2, 2, 13950, 13951, 7, 97, 2, 2, 13951, 13952, 7, 69, 2, 2, 13952, 13953, 7, 74, 2, 2, 13953, 13954, 7, 67, 2, 2, 13954, 13955, 7, 84, 2, 2, 13955, 13956, 7, 67, 2, 2, 13956, 13957, 7, 69, 2, 2, 13957, 13958, 7, 86, 2, 2, 13958, 13959, 7, 71, 2, 2, 13959, 13960, 7, 84, 2, 2, 13960, 13961, 7, 85, 2, 2, 13961, 1860, 3, 2, 2, 2, 13962, 13963, 7, 80, 2, 2, 13963, 13964, 7, 78, 2, 2, 13964, 13965, 7, 85, 2, 2, 13965, 13966, 7, 97, 2, 2, 13966, 13967, 7, 85, 2, 2, 13967, 13968, 7, 81, 2, 2, 13968, 13969, 7, 84, 2, 2, 13969, 13970, 7, 86, 2, 2, 13970, 1862, 3, 2, 2, 2, 13971, 13972, 7, 80, 2, 2, 13972, 13973, 7, 78, 2, 2, 13973, 13974, 7, 85, 2, 2, 13974, 13975, 7, 85, 2, 2, 13975, 13976, 7, 81, 2, 2, 13976, 13977, 7, 84, 2, 2, 13977, 13978, 7, 86, 2, 2, 13978, 1864, 3, 2, 2, 2, 13979, 13980, 7, 80, 2, 2, 13980, 13981, 7, 78, 2, 2, 13981, 13982, 7, 85, 2, 2, 13982, 13983, 7, 97, 2, 2, 13983, 13984, 7, 85, 2, 2, 13984, 13985, 7, 82, 2, 2, 13985, 13986, 7, 71, 2, 2, 13986, 13987, 7, 69, 2, 2, 13987, 13988, 7, 75, 2, 2, 13988, 13989, 7, 67, 2, 2, 13989, 13990, 7, 78, 2, 2, 13990, 13991, 7, 97, 2, 2, 13991, 13992, 7, 69, 2, 2, 13992, 13993, 7, 74, 2, 2, 13993, 13994, 7, 67, 2, 2, 13994, 13995, 7, 84, 2, 2, 13995, 13996, 7, 85, 2, 2, 13996, 1866, 3, 2, 2, 2, 13997, 13998, 7, 80, 2, 2, 13998, 13999, 7, 78, 2, 2, 13999, 14000, 7, 85, 2, 2, 14000, 14001, 7, 97, 2, 2, 14001, 14002, 7, 86, 2, 2, 14002, 14003, 7, 71, 2, 2, 14003, 14004, 7, 84, 2, 2, 14004, 14005, 7, 84, 2, 2, 14005, 14006, 7, 75, 2, 2, 14006, 14007, 7, 86, 2, 2, 14007, 14008, 7, 81, 2, 2, 14008, 14009, 7, 84, 2, 2, 14009, 14010, 7, 91, 2, 2, 14010, 1868, 3, 2, 2, 2, 14011, 14012, 7, 80, 2, 2, 14012, 14013, 7, 78, 2, 2, 14013, 14014, 7, 85, 2, 2, 14014, 14015, 7, 97, 2, 2, 14015, 14016, 7, 87, 2, 2, 14016, 14017, 7, 82, 2, 2, 14017, 14018, 7, 82, 2, 2, 14018, 14019, 7, 71, 2, 2, 14019, 14020, 7, 84, 2, 2, 14020, 1870, 3, 2, 2, 2, 14021, 14022, 7, 80, 2, 2, 14022, 14023, 7, 81, 2, 2, 14023, 14024, 7, 97, 2, 2, 14024, 14025, 7, 67, 2, 2, 14025, 14026, 7, 69, 2, 2, 14026, 14027, 7, 69, 2, 2, 14027, 14028, 7, 71, 2, 2, 14028, 14029, 7, 85, 2, 2, 14029, 14030, 7, 85, 2, 2, 14030, 1872, 3, 2, 2, 2, 14031, 14032, 7, 80, 2, 2, 14032, 14033, 7, 81, 2, 2, 14033, 14034, 7, 97, 2, 2, 14034, 14035, 7, 67, 2, 2, 14035, 14036, 7, 70, 2, 2, 14036, 14037, 7, 67, 2, 2, 14037, 14038, 7, 82, 2, 2, 14038, 14039, 7, 86, 2, 2, 14039, 14040, 7, 75, 2, 2, 14040, 14041, 7, 88, 2, 2, 14041, 14042, 7, 71, 2, 2, 14042, 14043, 7, 97, 2, 2, 14043, 14044, 7, 82, 2, 2, 14044, 14045, 7, 78, 2, 2, 14045, 14046, 7, 67, 2, 2, 14046, 14047, 7, 80, 2, 2, 14047, 1874, 3, 2, 2, 2, 14048, 14049, 7, 80, 2, 2, 14049, 14050, 7, 81, 2, 2, 14050, 14051, 7, 97, 2, 2, 14051, 14052, 7, 67, 2, 2, 14052, 14053, 7, 80, 2, 2, 14053, 14054, 7, 85, 2, 2, 14054, 14055, 7, 75, 2, 2, 14055, 14056, 7, 97, 2, 2, 14056, 14057, 7, 84, 2, 2, 14057, 14058, 7, 71, 2, 2, 14058, 14059, 7, 67, 2, 2, 14059, 14060, 7, 84, 2, 2, 14060, 14061, 7, 69, 2, 2, 14061, 14062, 7, 74, 2, 2, 14062, 1876, 3, 2, 2, 2, 14063, 14064, 7, 80, 2, 2, 14064, 14065, 7, 81, 2, 2, 14065, 14066, 7, 67, 2, 2, 14066, 14067, 7, 82, 2, 2, 14067, 14068, 7, 82, 2, 2, 14068, 14069, 7, 71, 2, 2, 14069, 14070, 7, 80, 2, 2, 14070, 14071, 7, 70, 2, 2, 14071, 1878, 3, 2, 2, 2, 14072, 14073, 7, 80, 2, 2, 14073, 14074, 7, 81, 2, 2, 14074, 14075, 7, 67, 2, 2, 14075, 14076, 7, 84, 2, 2, 14076, 14077, 7, 69, 2, 2, 14077, 14078, 7, 74, 2, 2, 14078, 14079, 7, 75, 2, 2, 14079, 14080, 7, 88, 2, 2, 14080, 14081, 7, 71, 2, 2, 14081, 14082, 7, 78, 2, 2, 14082, 14083, 7, 81, 2, 2, 14083, 14084, 7, 73, 2, 2, 14084, 1880, 3, 2, 2, 2, 14085, 14086, 7, 80, 2, 2, 14086, 14087, 7, 81, 2, 2, 14087, 14088, 7, 67, 2, 2, 14088, 14089, 7, 87, 2, 2, 14089, 14090, 7, 70, 2, 2, 14090, 14091, 7, 75, 2, 2, 14091, 14092, 7, 86, 2, 2, 14092, 1882, 3, 2, 2, 2, 14093, 14094, 7, 80, 2, 2, 14094, 14095, 7, 81, 2, 2, 14095, 14096, 7, 97, 2, 2, 14096, 14097, 7, 67, 2, 2, 14097, 14098, 7, 87, 2, 2, 14098, 14099, 7, 86, 2, 2, 14099, 14100, 7, 81, 2, 2, 14100, 14101, 7, 97, 2, 2, 14101, 14102, 7, 84, 2, 2, 14102, 14103, 7, 71, 2, 2, 14103, 14104, 7, 81, 2, 2, 14104, 14105, 7, 82, 2, 2, 14105, 14106, 7, 86, 2, 2, 14106, 14107, 7, 75, 2, 2, 14107, 14108, 7, 79, 2, 2, 14108, 14109, 7, 75, 2, 2, 14109, 14110, 7, 92, 2, 2, 14110, 14111, 7, 71, 2, 2, 14111, 1884, 3, 2, 2, 2, 14112, 14113, 7, 80, 2, 2, 14113, 14114, 7, 81, 2, 2, 14114, 14115, 7, 97, 2, 2, 14115, 14116, 7, 68, 2, 2, 14116, 14117, 7, 67, 2, 2, 14117, 14118, 7, 85, 2, 2, 14118, 14119, 7, 71, 2, 2, 14119, 14120, 7, 86, 2, 2, 14120, 14121, 7, 67, 2, 2, 14121, 14122, 7, 68, 2, 2, 14122, 14123, 7, 78, 2, 2, 14123, 14124, 7, 71, 2, 2, 14124, 14125, 7, 97, 2, 2, 14125, 14126, 7, 79, 2, 2, 14126, 14127, 7, 87, 2, 2, 14127, 14128, 7, 78, 2, 2, 14128, 14129, 7, 86, 2, 2, 14129, 14130, 7, 75, 2, 2, 14130, 14131, 7, 79, 2, 2, 14131, 14132, 7, 88, 2, 2, 14132, 14133, 7, 97, 2, 2, 14133, 14134, 7, 84, 2, 2, 14134, 14135, 7, 71, 2, 2, 14135, 14136, 7, 89, 2, 2, 14136, 14137, 7, 84, 2, 2, 14137, 14138, 7, 75, 2, 2, 14138, 14139, 7, 86, 2, 2, 14139, 14140, 7, 71, 2, 2, 14140, 1886, 3, 2, 2, 2, 14141, 14142, 7, 80, 2, 2, 14142, 14143, 7, 81, 2, 2, 14143, 14144, 7, 97, 2, 2, 14144, 14145, 7, 68, 2, 2, 14145, 14146, 7, 67, 2, 2, 14146, 14147, 7, 86, 2, 2, 14147, 14148, 7, 69, 2, 2, 14148, 14149, 7, 74, 2, 2, 14149, 14150, 7, 97, 2, 2, 14150, 14151, 7, 86, 2, 2, 14151, 14152, 7, 67, 2, 2, 14152, 14153, 7, 68, 2, 2, 14153, 14154, 7, 78, 2, 2, 14154, 14155, 7, 71, 2, 2, 14155, 14156, 7, 97, 2, 2, 14156, 14157, 7, 67, 2, 2, 14157, 14158, 7, 69, 2, 2, 14158, 14159, 7, 69, 2, 2, 14159, 14160, 7, 71, 2, 2, 14160, 14161, 7, 85, 2, 2, 14161, 14162, 7, 85, 2, 2, 14162, 14163, 7, 97, 2, 2, 14163, 14164, 7, 68, 2, 2, 14164, 14165, 7, 91, 2, 2, 14165, 14166, 7, 97, 2, 2, 14166, 14167, 7, 84, 2, 2, 14167, 14168, 7, 81, 2, 2, 14168, 14169, 7, 89, 2, 2, 14169, 14170, 7, 75, 2, 2, 14170, 14171, 7, 70, 2, 2, 14171, 1888, 3, 2, 2, 2, 14172, 14173, 7, 80, 2, 2, 14173, 14174, 7, 81, 2, 2, 14174, 14175, 7, 97, 2, 2, 14175, 14176, 7, 68, 2, 2, 14176, 14177, 7, 75, 2, 2, 14177, 14178, 7, 80, 2, 2, 14178, 14179, 7, 70, 2, 2, 14179, 14180, 7, 97, 2, 2, 14180, 14181, 7, 67, 2, 2, 14181, 14182, 7, 89, 2, 2, 14182, 14183, 7, 67, 2, 2, 14183, 14184, 7, 84, 2, 2, 14184, 14185, 7, 71, 2, 2, 14185, 1890, 3, 2, 2, 2, 14186, 14187, 7, 80, 2, 2, 14187, 14188, 7, 81, 2, 2, 14188, 14189, 7, 97, 2, 2, 14189, 14190, 7, 68, 2, 2, 14190, 14191, 7, 87, 2, 2, 14191, 14192, 7, 72, 2, 2, 14192, 14193, 7, 72, 2, 2, 14193, 14194, 7, 71, 2, 2, 14194, 14195, 7, 84, 2, 2, 14195, 1892, 3, 2, 2, 2, 14196, 14197, 7, 80, 2, 2, 14197, 14198, 7, 81, 2, 2, 14198, 14199, 7, 69, 2, 2, 14199, 14200, 7, 67, 2, 2, 14200, 14201, 7, 69, 2, 2, 14201, 14202, 7, 74, 2, 2, 14202, 14203, 7, 71, 2, 2, 14203, 1894, 3, 2, 2, 2, 14204, 14205, 7, 80, 2, 2, 14205, 14206, 7, 81, 2, 2, 14206, 14207, 7, 97, 2, 2, 14207, 14208, 7, 69, 2, 2, 14208, 14209, 7, 67, 2, 2, 14209, 14210, 7, 84, 2, 2, 14210, 14211, 7, 86, 2, 2, 14211, 14212, 7, 71, 2, 2, 14212, 14213, 7, 85, 2, 2, 14213, 14214, 7, 75, 2, 2, 14214, 14215, 7, 67, 2, 2, 14215, 14216, 7, 80, 2, 2, 14216, 1896, 3, 2, 2, 2, 14217, 14218, 7, 80, 2, 2, 14218, 14219, 7, 81, 2, 2, 14219, 14220, 7, 97, 2, 2, 14220, 14221, 7, 69, 2, 2, 14221, 14222, 7, 74, 2, 2, 14222, 14223, 7, 71, 2, 2, 14223, 14224, 7, 69, 2, 2, 14224, 14225, 7, 77, 2, 2, 14225, 14226, 7, 97, 2, 2, 14226, 14227, 7, 67, 2, 2, 14227, 14228, 7, 69, 2, 2, 14228, 14229, 7, 78, 2, 2, 14229, 14230, 7, 97, 2, 2, 14230, 14231, 7, 84, 2, 2, 14231, 14232, 7, 71, 2, 2, 14232, 14233, 7, 89, 2, 2, 14233, 14234, 7, 84, 2, 2, 14234, 14235, 7, 75, 2, 2, 14235, 14236, 7, 86, 2, 2, 14236, 14237, 7, 71, 2, 2, 14237, 1898, 3, 2, 2, 2, 14238, 14239, 7, 80, 2, 2, 14239, 14240, 7, 81, 2, 2, 14240, 14241, 7, 97, 2, 2, 14241, 14242, 7, 69, 2, 2, 14242, 14243, 7, 78, 2, 2, 14243, 14244, 7, 87, 2, 2, 14244, 14245, 7, 85, 2, 2, 14245, 14246, 7, 86, 2, 2, 14246, 14247, 7, 71, 2, 2, 14247, 14248, 7, 84, 2, 2, 14248, 14249, 7, 97, 2, 2, 14249, 14250, 7, 68, 2, 2, 14250, 14251, 7, 91, 2, 2, 14251, 14252, 7, 97, 2, 2, 14252, 14253, 7, 84, 2, 2, 14253, 14254, 7, 81, 2, 2, 14254, 14255, 7, 89, 2, 2, 14255, 14256, 7, 75, 2, 2, 14256, 14257, 7, 70, 2, 2, 14257, 1900, 3, 2, 2, 2, 14258, 14259, 7, 80, 2, 2, 14259, 14260, 7, 81, 2, 2, 14260, 14261, 7, 97, 2, 2, 14261, 14262, 7, 69, 2, 2, 14262, 14263, 7, 78, 2, 2, 14263, 14264, 7, 87, 2, 2, 14264, 14265, 7, 85, 2, 2, 14265, 14266, 7, 86, 2, 2, 14266, 14267, 7, 71, 2, 2, 14267, 14268, 7, 84, 2, 2, 14268, 14269, 7, 75, 2, 2, 14269, 14270, 7, 80, 2, 2, 14270, 14271, 7, 73, 2, 2, 14271, 1902, 3, 2, 2, 2, 14272, 14273, 7, 80, 2, 2, 14273, 14274, 7, 81, 2, 2, 14274, 14275, 7, 97, 2, 2, 14275, 14276, 7, 69, 2, 2, 14276, 14277, 7, 81, 2, 2, 14277, 14278, 7, 67, 2, 2, 14278, 14279, 7, 78, 2, 2, 14279, 14280, 7, 71, 2, 2, 14280, 14281, 7, 85, 2, 2, 14281, 14282, 7, 69, 2, 2, 14282, 14283, 7, 71, 2, 2, 14283, 14284, 7, 97, 2, 2, 14284, 14285, 7, 85, 2, 2, 14285, 14286, 7, 83, 2, 2, 14286, 1904, 3, 2, 2, 2, 14287, 14288, 7, 80, 2, 2, 14288, 14289, 7, 81, 2, 2, 14289, 14290, 7, 97, 2, 2, 14290, 14291, 7, 69, 2, 2, 14291, 14292, 7, 81, 2, 2, 14292, 14293, 7, 79, 2, 2, 14293, 14294, 7, 79, 2, 2, 14294, 14295, 7, 81, 2, 2, 14295, 14296, 7, 80, 2, 2, 14296, 14297, 7, 97, 2, 2, 14297, 14298, 7, 70, 2, 2, 14298, 14299, 7, 67, 2, 2, 14299, 14300, 7, 86, 2, 2, 14300, 14301, 7, 67, 2, 2, 14301, 1906, 3, 2, 2, 2, 14302, 14303, 7, 80, 2, 2, 14303, 14304, 7, 81, 2, 2, 14304, 14305, 7, 69, 2, 2, 14305, 14306, 7, 81, 2, 2, 14306, 14307, 7, 79, 2, 2, 14307, 14308, 7, 82, 2, 2, 14308, 14309, 7, 84, 2, 2, 14309, 14310, 7, 71, 2, 2, 14310, 14311, 7, 85, 2, 2, 14311, 14312, 7, 85, 2, 2, 14312, 1908, 3, 2, 2, 2, 14313, 14314, 7, 80, 2, 2, 14314, 14315, 7, 81, 2, 2, 14315, 14316, 7, 97, 2, 2, 14316, 14317, 7, 69, 2, 2, 14317, 14318, 7, 81, 2, 2, 14318, 14319, 7, 80, 2, 2, 14319, 14320, 7, 80, 2, 2, 14320, 14321, 7, 71, 2, 2, 14321, 14322, 7, 69, 2, 2, 14322, 14323, 7, 86, 2, 2, 14323, 14324, 7, 97, 2, 2, 14324, 14325, 7, 68, 2, 2, 14325, 14326, 7, 91, 2, 2, 14326, 14327, 7, 97, 2, 2, 14327, 14328, 7, 69, 2, 2, 14328, 14329, 7, 68, 2, 2, 14329, 14330, 7, 97, 2, 2, 14330, 14331, 7, 89, 2, 2, 14331, 14332, 7, 74, 2, 2, 14332, 14333, 7, 84, 2, 2, 14333, 14334, 7, 97, 2, 2, 14334, 14335, 7, 81, 2, 2, 14335, 14336, 7, 80, 2, 2, 14336, 14337, 7, 78, 2, 2, 14337, 14338, 7, 91, 2, 2, 14338, 1910, 3, 2, 2, 2, 14339, 14340, 7, 80, 2, 2, 14340, 14341, 7, 81, 2, 2, 14341, 14342, 7, 97, 2, 2, 14342, 14343, 7, 69, 2, 2, 14343, 14344, 7, 81, 2, 2, 14344, 14345, 7, 80, 2, 2, 14345, 14346, 7, 80, 2, 2, 14346, 14347, 7, 71, 2, 2, 14347, 14348, 7, 69, 2, 2, 14348, 14349, 7, 86, 2, 2, 14349, 14350, 7, 97, 2, 2, 14350, 14351, 7, 68, 2, 2, 14351, 14352, 7, 91, 2, 2, 14352, 14353, 7, 97, 2, 2, 14353, 14354, 7, 69, 2, 2, 14354, 14355, 7, 81, 2, 2, 14355, 14356, 7, 79, 2, 2, 14356, 14357, 7, 68, 2, 2, 14357, 14358, 7, 75, 2, 2, 14358, 14359, 7, 80, 2, 2, 14359, 14360, 7, 71, 2, 2, 14360, 14361, 7, 97, 2, 2, 14361, 14362, 7, 85, 2, 2, 14362, 14363, 7, 89, 2, 2, 14363, 1912, 3, 2, 2, 2, 14364, 14365, 7, 80, 2, 2, 14365, 14366, 7, 81, 2, 2, 14366, 14367, 7, 97, 2, 2, 14367, 14368, 7, 69, 2, 2, 14368, 14369, 7, 81, 2, 2, 14369, 14370, 7, 80, 2, 2, 14370, 14371, 7, 80, 2, 2, 14371, 14372, 7, 71, 2, 2, 14372, 14373, 7, 69, 2, 2, 14373, 14374, 7, 86, 2, 2, 14374, 14375, 7, 97, 2, 2, 14375, 14376, 7, 68, 2, 2, 14376, 14377, 7, 91, 2, 2, 14377, 14378, 7, 97, 2, 2, 14378, 14379, 7, 69, 2, 2, 14379, 14380, 7, 81, 2, 2, 14380, 14381, 7, 85, 2, 2, 14381, 14382, 7, 86, 2, 2, 14382, 14383, 7, 97, 2, 2, 14383, 14384, 7, 68, 2, 2, 14384, 14385, 7, 67, 2, 2, 14385, 14386, 7, 85, 2, 2, 14386, 14387, 7, 71, 2, 2, 14387, 14388, 7, 70, 2, 2, 14388, 1914, 3, 2, 2, 2, 14389, 14390, 7, 80, 2, 2, 14390, 14391, 7, 81, 2, 2, 14391, 14392, 7, 97, 2, 2, 14392, 14393, 7, 69, 2, 2, 14393, 14394, 7, 81, 2, 2, 14394, 14395, 7, 80, 2, 2, 14395, 14396, 7, 80, 2, 2, 14396, 14397, 7, 71, 2, 2, 14397, 14398, 7, 69, 2, 2, 14398, 14399, 7, 86, 2, 2, 14399, 14400, 7, 97, 2, 2, 14400, 14401, 7, 68, 2, 2, 14401, 14402, 7, 91, 2, 2, 14402, 14403, 7, 97, 2, 2, 14403, 14404, 7, 71, 2, 2, 14404, 14405, 7, 78, 2, 2, 14405, 14406, 7, 75, 2, 2, 14406, 14407, 7, 79, 2, 2, 14407, 14408, 7, 97, 2, 2, 14408, 14409, 7, 70, 2, 2, 14409, 14410, 7, 87, 2, 2, 14410, 14411, 7, 82, 2, 2, 14411, 14412, 7, 85, 2, 2, 14412, 1916, 3, 2, 2, 2, 14413, 14414, 7, 80, 2, 2, 14414, 14415, 7, 81, 2, 2, 14415, 14416, 7, 97, 2, 2, 14416, 14417, 7, 69, 2, 2, 14417, 14418, 7, 81, 2, 2, 14418, 14419, 7, 80, 2, 2, 14419, 14420, 7, 80, 2, 2, 14420, 14421, 7, 71, 2, 2, 14421, 14422, 7, 69, 2, 2, 14422, 14423, 7, 86, 2, 2, 14423, 14424, 7, 97, 2, 2, 14424, 14425, 7, 68, 2, 2, 14425, 14426, 7, 91, 2, 2, 14426, 14427, 7, 97, 2, 2, 14427, 14428, 7, 72, 2, 2, 14428, 14429, 7, 75, 2, 2, 14429, 14430, 7, 78, 2, 2, 14430, 14431, 7, 86, 2, 2, 14431, 14432, 7, 71, 2, 2, 14432, 14433, 7, 84, 2, 2, 14433, 14434, 7, 75, 2, 2, 14434, 14435, 7, 80, 2, 2, 14435, 14436, 7, 73, 2, 2, 14436, 1918, 3, 2, 2, 2, 14437, 14438, 7, 80, 2, 2, 14438, 14439, 7, 81, 2, 2, 14439, 14440, 7, 69, 2, 2, 14440, 14441, 7, 81, 2, 2, 14441, 14442, 7, 82, 2, 2, 14442, 14443, 7, 91, 2, 2, 14443, 1920, 3, 2, 2, 2, 14444, 14445, 7, 80, 2, 2, 14445, 14446, 7, 81, 2, 2, 14446, 14447, 7, 97, 2, 2, 14447, 14448, 7, 69, 2, 2, 14448, 14449, 7, 81, 2, 2, 14449, 14450, 7, 85, 2, 2, 14450, 14451, 7, 86, 2, 2, 14451, 14452, 7, 97, 2, 2, 14452, 14453, 7, 90, 2, 2, 14453, 14454, 7, 79, 2, 2, 14454, 14455, 7, 78, 2, 2, 14455, 14456, 7, 97, 2, 2, 14456, 14457, 7, 83, 2, 2, 14457, 14458, 7, 87, 2, 2, 14458, 14459, 7, 71, 2, 2, 14459, 14460, 7, 84, 2, 2, 14460, 14461, 7, 91, 2, 2, 14461, 14462, 7, 97, 2, 2, 14462, 14463, 7, 84, 2, 2, 14463, 14464, 7, 71, 2, 2, 14464, 14465, 7, 89, 2, 2, 14465, 14466, 7, 84, 2, 2, 14466, 14467, 7, 75, 2, 2, 14467, 14468, 7, 86, 2, 2, 14468, 14469, 7, 71, 2, 2, 14469, 1922, 3, 2, 2, 2, 14470, 14471, 7, 80, 2, 2, 14471, 14472, 7, 81, 2, 2, 14472, 14473, 7, 97, 2, 2, 14473, 14474, 7, 69, 2, 2, 14474, 14475, 7, 82, 2, 2, 14475, 14476, 7, 87, 2, 2, 14476, 14477, 7, 97, 2, 2, 14477, 14478, 7, 69, 2, 2, 14478, 14479, 7, 81, 2, 2, 14479, 14480, 7, 85, 2, 2, 14480, 14481, 7, 86, 2, 2, 14481, 14482, 7, 75, 2, 2, 14482, 14483, 7, 80, 2, 2, 14483, 14484, 7, 73, 2, 2, 14484, 1924, 3, 2, 2, 2, 14485, 14486, 7, 80, 2, 2, 14486, 14487, 7, 81, 2, 2, 14487, 14488, 7, 69, 2, 2, 14488, 14489, 7, 82, 2, 2, 14489, 14490, 7, 87, 2, 2, 14490, 14491, 7, 97, 2, 2, 14491, 14492, 7, 69, 2, 2, 14492, 14493, 7, 81, 2, 2, 14493, 14494, 7, 85, 2, 2, 14494, 14495, 7, 86, 2, 2, 14495, 14496, 7, 75, 2, 2, 14496, 14497, 7, 80, 2, 2, 14497, 14498, 7, 73, 2, 2, 14498, 1926, 3, 2, 2, 2, 14499, 14500, 7, 80, 2, 2, 14500, 14501, 7, 81, 2, 2, 14501, 14502, 7, 69, 2, 2, 14502, 14503, 7, 91, 2, 2, 14503, 14504, 7, 69, 2, 2, 14504, 14505, 7, 78, 2, 2, 14505, 14506, 7, 71, 2, 2, 14506, 1928, 3, 2, 2, 2, 14507, 14508, 7, 80, 2, 2, 14508, 14509, 7, 81, 2, 2, 14509, 14510, 7, 97, 2, 2, 14510, 14511, 7, 70, 2, 2, 14511, 14512, 7, 67, 2, 2, 14512, 14513, 7, 86, 2, 2, 14513, 14514, 7, 67, 2, 2, 14514, 14515, 7, 97, 2, 2, 14515, 14516, 7, 85, 2, 2, 14516, 14517, 7, 71, 2, 2, 14517, 14518, 7, 69, 2, 2, 14518, 14519, 7, 87, 2, 2, 14519, 14520, 7, 84, 2, 2, 14520, 14521, 7, 75, 2, 2, 14521, 14522, 7, 86, 2, 2, 14522, 14523, 7, 91, 2, 2, 14523, 14524, 7, 97, 2, 2, 14524, 14525, 7, 84, 2, 2, 14525, 14526, 7, 71, 2, 2, 14526, 14527, 7, 89, 2, 2, 14527, 14528, 7, 84, 2, 2, 14528, 14529, 7, 75, 2, 2, 14529, 14530, 7, 86, 2, 2, 14530, 14531, 7, 71, 2, 2, 14531, 1930, 3, 2, 2, 2, 14532, 14533, 7, 80, 2, 2, 14533, 14534, 7, 81, 2, 2, 14534, 14535, 7, 97, 2, 2, 14535, 14536, 7, 70, 2, 2, 14536, 14537, 7, 71, 2, 2, 14537, 14538, 7, 69, 2, 2, 14538, 14539, 7, 81, 2, 2, 14539, 14540, 7, 84, 2, 2, 14540, 14541, 7, 84, 2, 2, 14541, 14542, 7, 71, 2, 2, 14542, 14543, 7, 78, 2, 2, 14543, 14544, 7, 67, 2, 2, 14544, 14545, 7, 86, 2, 2, 14545, 14546, 7, 71, 2, 2, 14546, 1932, 3, 2, 2, 2, 14547, 14548, 7, 80, 2, 2, 14548, 14549, 7, 81, 2, 2, 14549, 14550, 7, 70, 2, 2, 14550, 14551, 7, 71, 2, 2, 14551, 14552, 7, 78, 2, 2, 14552, 14553, 7, 67, 2, 2, 14553, 14554, 7, 91, 2, 2, 14554, 1934, 3, 2, 2, 2, 14555, 14556, 7, 80, 2, 2, 14556, 14557, 7, 81, 2, 2, 14557, 14558, 7, 97, 2, 2, 14558, 14559, 7, 70, 2, 2, 14559, 14560, 7, 81, 2, 2, 14560, 14561, 7, 79, 2, 2, 14561, 14562, 7, 67, 2, 2, 14562, 14563, 7, 75, 2, 2, 14563, 14564, 7, 80, 2, 2, 14564, 14565, 7, 97, 2, 2, 14565, 14566, 7, 75, 2, 2, 14566, 14567, 7, 80, 2, 2, 14567, 14568, 7, 70, 2, 2, 14568, 14569, 7, 71, 2, 2, 14569, 14570, 7, 90, 2, 2, 14570, 14571, 7, 97, 2, 2, 14571, 14572, 7, 72, 2, 2, 14572, 14573, 7, 75, 2, 2, 14573, 14574, 7, 78, 2, 2, 14574, 14575, 7, 86, 2, 2, 14575, 14576, 7, 71, 2, 2, 14576, 14577, 7, 84, 2, 2, 14577, 1936, 3, 2, 2, 2, 14578, 14579, 7, 80, 2, 2, 14579, 14580, 7, 81, 2, 2, 14580, 14581, 7, 97, 2, 2, 14581, 14582, 7, 70, 2, 2, 14582, 14583, 7, 85, 2, 2, 14583, 14584, 7, 86, 2, 2, 14584, 14585, 7, 97, 2, 2, 14585, 14586, 7, 87, 2, 2, 14586, 14587, 7, 82, 2, 2, 14587, 14588, 7, 73, 2, 2, 14588, 14589, 7, 84, 2, 2, 14589, 14590, 7, 67, 2, 2, 14590, 14591, 7, 70, 2, 2, 14591, 14592, 7, 71, 2, 2, 14592, 14593, 7, 97, 2, 2, 14593, 14594, 7, 75, 2, 2, 14594, 14595, 7, 80, 2, 2, 14595, 14596, 7, 85, 2, 2, 14596, 14597, 7, 71, 2, 2, 14597, 14598, 7, 84, 2, 2, 14598, 14599, 7, 86, 2, 2, 14599, 14600, 7, 97, 2, 2, 14600, 14601, 7, 69, 2, 2, 14601, 14602, 7, 81, 2, 2, 14602, 14603, 7, 80, 2, 2, 14603, 14604, 7, 88, 2, 2, 14604, 1938, 3, 2, 2, 2, 14605, 14606, 7, 80, 2, 2, 14606, 14607, 7, 81, 2, 2, 14607, 14608, 7, 97, 2, 2, 14608, 14609, 7, 71, 2, 2, 14609, 14610, 7, 78, 2, 2, 14610, 14611, 7, 75, 2, 2, 14611, 14612, 7, 79, 2, 2, 14612, 14613, 7, 97, 2, 2, 14613, 14614, 7, 73, 2, 2, 14614, 14615, 7, 84, 2, 2, 14615, 14616, 7, 81, 2, 2, 14616, 14617, 7, 87, 2, 2, 14617, 14618, 7, 82, 2, 2, 14618, 14619, 7, 68, 2, 2, 14619, 14620, 7, 91, 2, 2, 14620, 1940, 3, 2, 2, 2, 14621, 14622, 7, 80, 2, 2, 14622, 14623, 7, 81, 2, 2, 14623, 14624, 7, 97, 2, 2, 14624, 14625, 7, 71, 2, 2, 14625, 14626, 7, 78, 2, 2, 14626, 14627, 7, 75, 2, 2, 14627, 14628, 7, 79, 2, 2, 14628, 14629, 7, 75, 2, 2, 14629, 14630, 7, 80, 2, 2, 14630, 14631, 7, 67, 2, 2, 14631, 14632, 7, 86, 2, 2, 14632, 14633, 7, 71, 2, 2, 14633, 14634, 7, 97, 2, 2, 14634, 14635, 7, 76, 2, 2, 14635, 14636, 7, 81, 2, 2, 14636, 14637, 7, 75, 2, 2, 14637, 14638, 7, 80, 2, 2, 14638, 1942, 3, 2, 2, 2, 14639, 14640, 7, 80, 2, 2, 14640, 14641, 7, 81, 2, 2, 14641, 14642, 7, 97, 2, 2, 14642, 14643, 7, 71, 2, 2, 14643, 14644, 7, 78, 2, 2, 14644, 14645, 7, 75, 2, 2, 14645, 14646, 7, 79, 2, 2, 14646, 14647, 7, 75, 2, 2, 14647, 14648, 7, 80, 2, 2, 14648, 14649, 7, 67, 2, 2, 14649, 14650, 7, 86, 2, 2, 14650, 14651, 7, 71, 2, 2, 14651, 14652, 7, 97, 2, 2, 14652, 14653, 7, 81, 2, 2, 14653, 14654, 7, 68, 2, 2, 14654, 14655, 7, 91, 2, 2, 14655, 1944, 3, 2, 2, 2, 14656, 14657, 7, 80, 2, 2, 14657, 14658, 7, 81, 2, 2, 14658, 14659, 7, 97, 2, 2, 14659, 14660, 7, 71, 2, 2, 14660, 14661, 7, 78, 2, 2, 14661, 14662, 7, 75, 2, 2, 14662, 14663, 7, 79, 2, 2, 14663, 14664, 7, 75, 2, 2, 14664, 14665, 7, 80, 2, 2, 14665, 14666, 7, 67, 2, 2, 14666, 14667, 7, 86, 2, 2, 14667, 14668, 7, 71, 2, 2, 14668, 14669, 7, 97, 2, 2, 14669, 14670, 7, 81, 2, 2, 14670, 14671, 7, 87, 2, 2, 14671, 14672, 7, 86, 2, 2, 14672, 14673, 7, 71, 2, 2, 14673, 14674, 7, 84, 2, 2, 14674, 14675, 7, 97, 2, 2, 14675, 14676, 7, 76, 2, 2, 14676, 14677, 7, 81, 2, 2, 14677, 14678, 7, 75, 2, 2, 14678, 14679, 7, 80, 2, 2, 14679, 1946, 3, 2, 2, 2, 14680, 14681, 7, 80, 2, 2, 14681, 14682, 7, 81, 2, 2, 14682, 14683, 7, 71, 2, 2, 14683, 14684, 7, 80, 2, 2, 14684, 14685, 7, 86, 2, 2, 14685, 14686, 7, 75, 2, 2, 14686, 14687, 7, 86, 2, 2, 14687, 14688, 7, 91, 2, 2, 14688, 14689, 7, 71, 2, 2, 14689, 14690, 7, 85, 2, 2, 14690, 14691, 7, 69, 2, 2, 14691, 14692, 7, 67, 2, 2, 14692, 14693, 7, 82, 2, 2, 14693, 14694, 7, 75, 2, 2, 14694, 14695, 7, 80, 2, 2, 14695, 14696, 7, 73, 2, 2, 14696, 1948, 3, 2, 2, 2, 14697, 14698, 7, 80, 2, 2, 14698, 14699, 7, 81, 2, 2, 14699, 14700, 7, 97, 2, 2, 14700, 14701, 7, 71, 2, 2, 14701, 14702, 7, 90, 2, 2, 14702, 14703, 7, 82, 2, 2, 14703, 14704, 7, 67, 2, 2, 14704, 14705, 7, 80, 2, 2, 14705, 14706, 7, 70, 2, 2, 14706, 14707, 7, 97, 2, 2, 14707, 14708, 7, 73, 2, 2, 14708, 14709, 7, 85, 2, 2, 14709, 14710, 7, 71, 2, 2, 14710, 14711, 7, 86, 2, 2, 14711, 14712, 7, 97, 2, 2, 14712, 14713, 7, 86, 2, 2, 14713, 14714, 7, 81, 2, 2, 14714, 14715, 7, 97, 2, 2, 14715, 14716, 7, 87, 2, 2, 14716, 14717, 7, 80, 2, 2, 14717, 14718, 7, 75, 2, 2, 14718, 14719, 7, 81, 2, 2, 14719, 14720, 7, 80, 2, 2, 14720, 1950, 3, 2, 2, 2, 14721, 14722, 7, 80, 2, 2, 14722, 14723, 7, 81, 2, 2, 14723, 14724, 7, 97, 2, 2, 14724, 14725, 7, 71, 2, 2, 14725, 14726, 7, 90, 2, 2, 14726, 14727, 7, 82, 2, 2, 14727, 14728, 7, 67, 2, 2, 14728, 14729, 7, 80, 2, 2, 14729, 14730, 7, 70, 2, 2, 14730, 1952, 3, 2, 2, 2, 14731, 14732, 7, 80, 2, 2, 14732, 14733, 7, 81, 2, 2, 14733, 14734, 7, 97, 2, 2, 14734, 14735, 7, 71, 2, 2, 14735, 14736, 7, 90, 2, 2, 14736, 14737, 7, 82, 2, 2, 14737, 14738, 7, 67, 2, 2, 14738, 14739, 7, 80, 2, 2, 14739, 14740, 7, 70, 2, 2, 14740, 14741, 7, 97, 2, 2, 14741, 14742, 7, 86, 2, 2, 14742, 14743, 7, 67, 2, 2, 14743, 14744, 7, 68, 2, 2, 14744, 14745, 7, 78, 2, 2, 14745, 14746, 7, 71, 2, 2, 14746, 1954, 3, 2, 2, 2, 14747, 14748, 7, 80, 2, 2, 14748, 14749, 7, 81, 2, 2, 14749, 14750, 7, 97, 2, 2, 14750, 14751, 7, 72, 2, 2, 14751, 14752, 7, 67, 2, 2, 14752, 14753, 7, 69, 2, 2, 14753, 14754, 7, 86, 2, 2, 14754, 1956, 3, 2, 2, 2, 14755, 14756, 7, 80, 2, 2, 14756, 14757, 7, 81, 2, 2, 14757, 14758, 7, 97, 2, 2, 14758, 14759, 7, 72, 2, 2, 14759, 14760, 7, 67, 2, 2, 14760, 14761, 7, 69, 2, 2, 14761, 14762, 7, 86, 2, 2, 14762, 14763, 7, 81, 2, 2, 14763, 14764, 7, 84, 2, 2, 14764, 14765, 7, 75, 2, 2, 14765, 14766, 7, 92, 2, 2, 14766, 14767, 7, 71, 2, 2, 14767, 14768, 7, 97, 2, 2, 14768, 14769, 7, 76, 2, 2, 14769, 14770, 7, 81, 2, 2, 14770, 14771, 7, 75, 2, 2, 14771, 14772, 7, 80, 2, 2, 14772, 1958, 3, 2, 2, 2, 14773, 14774, 7, 80, 2, 2, 14774, 14775, 7, 81, 2, 2, 14775, 14776, 7, 97, 2, 2, 14776, 14777, 7, 72, 2, 2, 14777, 14778, 7, 75, 2, 2, 14778, 14779, 7, 78, 2, 2, 14779, 14780, 7, 86, 2, 2, 14780, 14781, 7, 71, 2, 2, 14781, 14782, 7, 84, 2, 2, 14782, 14783, 7, 75, 2, 2, 14783, 14784, 7, 80, 2, 2, 14784, 14785, 7, 73, 2, 2, 14785, 1960, 3, 2, 2, 2, 14786, 14787, 7, 80, 2, 2, 14787, 14788, 7, 81, 2, 2, 14788, 14789, 7, 72, 2, 2, 14789, 14790, 7, 81, 2, 2, 14790, 14791, 7, 84, 2, 2, 14791, 14792, 7, 69, 2, 2, 14792, 14793, 7, 71, 2, 2, 14793, 1962, 3, 2, 2, 2, 14794, 14795, 7, 80, 2, 2, 14795, 14796, 7, 81, 2, 2, 14796, 14797, 7, 97, 2, 2, 14797, 14798, 7, 72, 2, 2, 14798, 14799, 7, 87, 2, 2, 14799, 14800, 7, 78, 2, 2, 14800, 14801, 7, 78, 2, 2, 14801, 14802, 7, 97, 2, 2, 14802, 14803, 7, 81, 2, 2, 14803, 14804, 7, 87, 2, 2, 14804, 14805, 7, 86, 2, 2, 14805, 14806, 7, 71, 2, 2, 14806, 14807, 7, 84, 2, 2, 14807, 14808, 7, 97, 2, 2, 14808, 14809, 7, 76, 2, 2, 14809, 14810, 7, 81, 2, 2, 14810, 14811, 7, 75, 2, 2, 14811, 14812, 7, 80, 2, 2, 14812, 14813, 7, 97, 2, 2, 14813, 14814, 7, 86, 2, 2, 14814, 14815, 7, 81, 2, 2, 14815, 14816, 7, 97, 2, 2, 14816, 14817, 7, 81, 2, 2, 14817, 14818, 7, 87, 2, 2, 14818, 14819, 7, 86, 2, 2, 14819, 14820, 7, 71, 2, 2, 14820, 14821, 7, 84, 2, 2, 14821, 1964, 3, 2, 2, 2, 14822, 14823, 7, 80, 2, 2, 14823, 14824, 7, 81, 2, 2, 14824, 14825, 7, 97, 2, 2, 14825, 14826, 7, 73, 2, 2, 14826, 14827, 7, 67, 2, 2, 14827, 14828, 7, 86, 2, 2, 14828, 14829, 7, 74, 2, 2, 14829, 14830, 7, 71, 2, 2, 14830, 14831, 7, 84, 2, 2, 14831, 14832, 7, 97, 2, 2, 14832, 14833, 7, 81, 2, 2, 14833, 14834, 7, 82, 2, 2, 14834, 14835, 7, 86, 2, 2, 14835, 14836, 7, 75, 2, 2, 14836, 14837, 7, 79, 2, 2, 14837, 14838, 7, 75, 2, 2, 14838, 14839, 7, 92, 2, 2, 14839, 14840, 7, 71, 2, 2, 14840, 14841, 7, 84, 2, 2, 14841, 14842, 7, 97, 2, 2, 14842, 14843, 7, 85, 2, 2, 14843, 14844, 7, 86, 2, 2, 14844, 14845, 7, 67, 2, 2, 14845, 14846, 7, 86, 2, 2, 14846, 14847, 7, 75, 2, 2, 14847, 14848, 7, 85, 2, 2, 14848, 14849, 7, 86, 2, 2, 14849, 14850, 7, 75, 2, 2, 14850, 14851, 7, 69, 2, 2, 14851, 14852, 7, 85, 2, 2, 14852, 1966, 3, 2, 2, 2, 14853, 14854, 7, 80, 2, 2, 14854, 14855, 7, 81, 2, 2, 14855, 14856, 7, 97, 2, 2, 14856, 14857, 7, 73, 2, 2, 14857, 14858, 7, 68, 2, 2, 14858, 14859, 7, 91, 2, 2, 14859, 14860, 7, 97, 2, 2, 14860, 14861, 7, 82, 2, 2, 14861, 14862, 7, 87, 2, 2, 14862, 14863, 7, 85, 2, 2, 14863, 14864, 7, 74, 2, 2, 14864, 14865, 7, 70, 2, 2, 14865, 14866, 7, 81, 2, 2, 14866, 14867, 7, 89, 2, 2, 14867, 14868, 7, 80, 2, 2, 14868, 1968, 3, 2, 2, 2, 14869, 14870, 7, 80, 2, 2, 14870, 14871, 7, 81, 2, 2, 14871, 14872, 7, 73, 2, 2, 14872, 14873, 7, 87, 2, 2, 14873, 14874, 7, 67, 2, 2, 14874, 14875, 7, 84, 2, 2, 14875, 14876, 7, 67, 2, 2, 14876, 14877, 7, 80, 2, 2, 14877, 14878, 7, 86, 2, 2, 14878, 14879, 7, 71, 2, 2, 14879, 14880, 7, 71, 2, 2, 14880, 1970, 3, 2, 2, 2, 14881, 14882, 7, 80, 2, 2, 14882, 14883, 7, 81, 2, 2, 14883, 14884, 7, 97, 2, 2, 14884, 14885, 7, 75, 2, 2, 14885, 14886, 7, 80, 2, 2, 14886, 14887, 7, 70, 2, 2, 14887, 14888, 7, 71, 2, 2, 14888, 14889, 7, 90, 2, 2, 14889, 14890, 7, 97, 2, 2, 14890, 14891, 7, 72, 2, 2, 14891, 14892, 7, 72, 2, 2, 14892, 14893, 7, 85, 2, 2, 14893, 1972, 3, 2, 2, 2, 14894, 14895, 7, 80, 2, 2, 14895, 14896, 7, 81, 2, 2, 14896, 14897, 7, 97, 2, 2, 14897, 14898, 7, 75, 2, 2, 14898, 14899, 7, 80, 2, 2, 14899, 14900, 7, 70, 2, 2, 14900, 14901, 7, 71, 2, 2, 14901, 14902, 7, 90, 2, 2, 14902, 1974, 3, 2, 2, 2, 14903, 14904, 7, 80, 2, 2, 14904, 14905, 7, 81, 2, 2, 14905, 14906, 7, 97, 2, 2, 14906, 14907, 7, 75, 2, 2, 14907, 14908, 7, 80, 2, 2, 14908, 14909, 7, 70, 2, 2, 14909, 14910, 7, 71, 2, 2, 14910, 14911, 7, 90, 2, 2, 14911, 14912, 7, 97, 2, 2, 14912, 14913, 7, 85, 2, 2, 14913, 14914, 7, 85, 2, 2, 14914, 1976, 3, 2, 2, 2, 14915, 14916, 7, 80, 2, 2, 14916, 14917, 7, 81, 2, 2, 14917, 14918, 7, 97, 2, 2, 14918, 14919, 7, 75, 2, 2, 14919, 14920, 7, 80, 2, 2, 14920, 14921, 7, 79, 2, 2, 14921, 14922, 7, 71, 2, 2, 14922, 14923, 7, 79, 2, 2, 14923, 14924, 7, 81, 2, 2, 14924, 14925, 7, 84, 2, 2, 14925, 14926, 7, 91, 2, 2, 14926, 1978, 3, 2, 2, 2, 14927, 14928, 7, 80, 2, 2, 14928, 14929, 7, 81, 2, 2, 14929, 14930, 7, 97, 2, 2, 14930, 14931, 7, 75, 2, 2, 14931, 14932, 7, 80, 2, 2, 14932, 14933, 7, 79, 2, 2, 14933, 14934, 7, 71, 2, 2, 14934, 14935, 7, 79, 2, 2, 14935, 14936, 7, 81, 2, 2, 14936, 14937, 7, 84, 2, 2, 14937, 14938, 7, 91, 2, 2, 14938, 14939, 7, 97, 2, 2, 14939, 14940, 7, 82, 2, 2, 14940, 14941, 7, 84, 2, 2, 14941, 14942, 7, 87, 2, 2, 14942, 14943, 7, 80, 2, 2, 14943, 14944, 7, 75, 2, 2, 14944, 14945, 7, 80, 2, 2, 14945, 14946, 7, 73, 2, 2, 14946, 1980, 3, 2, 2, 2, 14947, 14948, 7, 80, 2, 2, 14948, 14949, 7, 81, 2, 2, 14949, 14950, 7, 77, 2, 2, 14950, 14951, 7, 71, 2, 2, 14951, 14952, 7, 71, 2, 2, 14952, 14953, 7, 82, 2, 2, 14953, 1982, 3, 2, 2, 2, 14954, 14955, 7, 80, 2, 2, 14955, 14956, 7, 81, 2, 2, 14956, 14957, 7, 97, 2, 2, 14957, 14958, 7, 78, 2, 2, 14958, 14959, 7, 81, 2, 2, 14959, 14960, 7, 67, 2, 2, 14960, 14961, 7, 70, 2, 2, 14961, 1984, 3, 2, 2, 2, 14962, 14963, 7, 80, 2, 2, 14963, 14964, 7, 81, 2, 2, 14964, 14965, 7, 78, 2, 2, 14965, 14966, 7, 81, 2, 2, 14966, 14967, 7, 69, 2, 2, 14967, 14968, 7, 67, 2, 2, 14968, 14969, 7, 78, 2, 2, 14969, 1986, 3, 2, 2, 2, 14970, 14971, 7, 80, 2, 2, 14971, 14972, 7, 81, 2, 2, 14972, 14973, 7, 78, 2, 2, 14973, 14974, 7, 81, 2, 2, 14974, 14975, 7, 73, 2, 2, 14975, 14976, 7, 73, 2, 2, 14976, 14977, 7, 75, 2, 2, 14977, 14978, 7, 80, 2, 2, 14978, 14979, 7, 73, 2, 2, 14979, 1988, 3, 2, 2, 2, 14980, 14981, 7, 80, 2, 2, 14981, 14982, 7, 81, 2, 2, 14982, 14983, 7, 79, 2, 2, 14983, 14984, 7, 67, 2, 2, 14984, 14985, 7, 82, 2, 2, 14985, 14986, 7, 82, 2, 2, 14986, 14987, 7, 75, 2, 2, 14987, 14988, 7, 80, 2, 2, 14988, 14989, 7, 73, 2, 2, 14989, 1990, 3, 2, 2, 2, 14990, 14991, 7, 80, 2, 2, 14991, 14992, 7, 81, 2, 2, 14992, 14993, 7, 79, 2, 2, 14993, 14994, 7, 67, 2, 2, 14994, 14995, 7, 90, 2, 2, 14995, 14996, 7, 88, 2, 2, 14996, 14997, 7, 67, 2, 2, 14997, 14998, 7, 78, 2, 2, 14998, 14999, 7, 87, 2, 2, 14999, 15000, 7, 71, 2, 2, 15000, 1992, 3, 2, 2, 2, 15001, 15002, 7, 80, 2, 2, 15002, 15003, 7, 81, 2, 2, 15003, 15004, 7, 97, 2, 2, 15004, 15005, 7, 79, 2, 2, 15005, 15006, 7, 71, 2, 2, 15006, 15007, 7, 84, 2, 2, 15007, 15008, 7, 73, 2, 2, 15008, 15009, 7, 71, 2, 2, 15009, 1994, 3, 2, 2, 2, 15010, 15011, 7, 80, 2, 2, 15011, 15012, 7, 81, 2, 2, 15012, 15013, 7, 79, 2, 2, 15013, 15014, 7, 75, 2, 2, 15014, 15015, 7, 80, 2, 2, 15015, 15016, 7, 75, 2, 2, 15016, 15017, 7, 79, 2, 2, 15017, 15018, 7, 75, 2, 2, 15018, 15019, 7, 92, 2, 2, 15019, 15020, 7, 71, 2, 2, 15020, 1996, 3, 2, 2, 2, 15021, 15022, 7, 80, 2, 2, 15022, 15023, 7, 81, 2, 2, 15023, 15024, 7, 79, 2, 2, 15024, 15025, 7, 75, 2, 2, 15025, 15026, 7, 80, 2, 2, 15026, 15027, 7, 88, 2, 2, 15027, 15028, 7, 67, 2, 2, 15028, 15029, 7, 78, 2, 2, 15029, 15030, 7, 87, 2, 2, 15030, 15031, 7, 71, 2, 2, 15031, 1998, 3, 2, 2, 2, 15032, 15033, 7, 80, 2, 2, 15033, 15034, 7, 81, 2, 2, 15034, 15035, 7, 97, 2, 2, 15035, 15036, 7, 79, 2, 2, 15036, 15037, 7, 81, 2, 2, 15037, 15038, 7, 70, 2, 2, 15038, 15039, 7, 71, 2, 2, 15039, 15040, 7, 78, 2, 2, 15040, 15041, 7, 97, 2, 2, 15041, 15042, 7, 82, 2, 2, 15042, 15043, 7, 87, 2, 2, 15043, 15044, 7, 85, 2, 2, 15044, 15045, 7, 74, 2, 2, 15045, 15046, 7, 97, 2, 2, 15046, 15047, 7, 84, 2, 2, 15047, 15048, 7, 71, 2, 2, 15048, 15049, 7, 72, 2, 2, 15049, 2000, 3, 2, 2, 2, 15050, 15051, 7, 80, 2, 2, 15051, 15052, 7, 81, 2, 2, 15052, 15053, 7, 97, 2, 2, 15053, 15054, 7, 79, 2, 2, 15054, 15055, 7, 81, 2, 2, 15055, 15056, 7, 80, 2, 2, 15056, 15057, 7, 75, 2, 2, 15057, 15058, 7, 86, 2, 2, 15058, 15059, 7, 81, 2, 2, 15059, 15060, 7, 84, 2, 2, 15060, 15061, 7, 75, 2, 2, 15061, 15062, 7, 80, 2, 2, 15062, 15063, 7, 73, 2, 2, 15063, 2002, 3, 2, 2, 2, 15064, 15065, 7, 80, 2, 2, 15065, 15066, 7, 81, 2, 2, 15066, 15067, 7, 79, 2, 2, 15067, 15068, 7, 81, 2, 2, 15068, 15069, 7, 80, 2, 2, 15069, 15070, 7, 75, 2, 2, 15070, 15071, 7, 86, 2, 2, 15071, 15072, 7, 81, 2, 2, 15072, 15073, 7, 84, 2, 2, 15073, 15074, 7, 75, 2, 2, 15074, 15075, 7, 80, 2, 2, 15075, 15076, 7, 73, 2, 2, 15076, 2004, 3, 2, 2, 2, 15077, 15078, 7, 80, 2, 2, 15078, 15079, 7, 81, 2, 2, 15079, 15080, 7, 97, 2, 2, 15080, 15081, 7, 79, 2, 2, 15081, 15082, 7, 81, 2, 2, 15082, 15083, 7, 80, 2, 2, 15083, 15084, 7, 75, 2, 2, 15084, 15085, 7, 86, 2, 2, 15085, 15086, 7, 81, 2, 2, 15086, 15087, 7, 84, 2, 2, 15087, 2006, 3, 2, 2, 2, 15088, 15089, 7, 80, 2, 2, 15089, 15090, 7, 81, 2, 2, 15090, 15091, 7, 97, 2, 2, 15091, 15092, 7, 79, 2, 2, 15092, 15093, 7, 87, 2, 2, 15093, 15094, 7, 78, 2, 2, 15094, 15095, 7, 86, 2, 2, 15095, 15096, 7, 75, 2, 2, 15096, 15097, 7, 79, 2, 2, 15097, 15098, 7, 88, 2, 2, 15098, 15099, 7, 97, 2, 2, 15099, 15100, 7, 84, 2, 2, 15100, 15101, 7, 71, 2, 2, 15101, 15102, 7, 89, 2, 2, 15102, 15103, 7, 84, 2, 2, 15103, 15104, 7, 75, 2, 2, 15104, 15105, 7, 86, 2, 2, 15105, 15106, 7, 71, 2, 2, 15106, 2008, 3, 2, 2, 2, 15107, 15108, 7, 80, 2, 2, 15108, 15109, 7, 81, 2, 2, 15109, 15110, 7, 97, 2, 2, 15110, 15111, 7, 80, 2, 2, 15111, 15112, 7, 67, 2, 2, 15112, 15113, 7, 86, 2, 2, 15113, 15114, 7, 75, 2, 2, 15114, 15115, 7, 88, 2, 2, 15115, 15116, 7, 71, 2, 2, 15116, 15117, 7, 97, 2, 2, 15117, 15118, 7, 72, 2, 2, 15118, 15119, 7, 87, 2, 2, 15119, 15120, 7, 78, 2, 2, 15120, 15121, 7, 78, 2, 2, 15121, 15122, 7, 97, 2, 2, 15122, 15123, 7, 81, 2, 2, 15123, 15124, 7, 87, 2, 2, 15124, 15125, 7, 86, 2, 2, 15125, 15126, 7, 71, 2, 2, 15126, 15127, 7, 84, 2, 2, 15127, 15128, 7, 97, 2, 2, 15128, 15129, 7, 76, 2, 2, 15129, 15130, 7, 81, 2, 2, 15130, 15131, 7, 75, 2, 2, 15131, 15132, 7, 80, 2, 2, 15132, 2010, 3, 2, 2, 2, 15133, 15134, 7, 80, 2, 2, 15134, 15135, 7, 81, 2, 2, 15135, 15136, 7, 80, 2, 2, 15136, 15137, 7, 68, 2, 2, 15137, 15138, 7, 78, 2, 2, 15138, 15139, 7, 81, 2, 2, 15139, 15140, 7, 69, 2, 2, 15140, 15141, 7, 77, 2, 2, 15141, 15142, 7, 75, 2, 2, 15142, 15143, 7, 80, 2, 2, 15143, 15144, 7, 73, 2, 2, 15144, 2012, 3, 2, 2, 2, 15145, 15146, 7, 80, 2, 2, 15146, 15147, 7, 81, 2, 2, 15147, 15148, 7, 80, 2, 2, 15148, 15149, 7, 71, 2, 2, 15149, 15150, 7, 70, 2, 2, 15150, 15151, 7, 75, 2, 2, 15151, 15152, 7, 86, 2, 2, 15152, 15153, 7, 75, 2, 2, 15153, 15154, 7, 81, 2, 2, 15154, 15155, 7, 80, 2, 2, 15155, 15156, 7, 67, 2, 2, 15156, 15157, 7, 68, 2, 2, 15157, 15158, 7, 78, 2, 2, 15158, 15159, 7, 71, 2, 2, 15159, 2014, 3, 2, 2, 2, 15160, 15161, 7, 80, 2, 2, 15161, 15162, 7, 81, 2, 2, 15162, 15163, 7, 80, 2, 2, 15163, 15164, 7, 71, 2, 2, 15164, 2016, 3, 2, 2, 2, 15165, 15166, 7, 80, 2, 2, 15166, 15167, 7, 81, 2, 2, 15167, 15168, 7, 97, 2, 2, 15168, 15169, 7, 80, 2, 2, 15169, 15170, 7, 78, 2, 2, 15170, 15171, 7, 76, 2, 2, 15171, 15172, 7, 97, 2, 2, 15172, 15173, 7, 68, 2, 2, 15173, 15174, 7, 67, 2, 2, 15174, 15175, 7, 86, 2, 2, 15175, 15176, 7, 69, 2, 2, 15176, 15177, 7, 74, 2, 2, 15177, 15178, 7, 75, 2, 2, 15178, 15179, 7, 80, 2, 2, 15179, 15180, 7, 73, 2, 2, 15180, 2018, 3, 2, 2, 2, 15181, 15182, 7, 80, 2, 2, 15182, 15183, 7, 81, 2, 2, 15183, 15184, 7, 97, 2, 2, 15184, 15185, 7, 80, 2, 2, 15185, 15186, 7, 78, 2, 2, 15186, 15187, 7, 76, 2, 2, 15187, 15188, 7, 97, 2, 2, 15188, 15189, 7, 82, 2, 2, 15189, 15190, 7, 84, 2, 2, 15190, 15191, 7, 71, 2, 2, 15191, 15192, 7, 72, 2, 2, 15192, 15193, 7, 71, 2, 2, 15193, 15194, 7, 86, 2, 2, 15194, 15195, 7, 69, 2, 2, 15195, 15196, 7, 74, 2, 2, 15196, 2020, 3, 2, 2, 2, 15197, 15198, 7, 80, 2, 2, 15198, 15199, 7, 81, 2, 2, 15199, 2022, 3, 2, 2, 2, 15200, 15201, 7, 80, 2, 2, 15201, 15202, 7, 81, 2, 2, 15202, 15203, 7, 80, 2, 2, 15203, 15204, 7, 85, 2, 2, 15204, 15205, 7, 69, 2, 2, 15205, 15206, 7, 74, 2, 2, 15206, 15207, 7, 71, 2, 2, 15207, 15208, 7, 79, 2, 2, 15208, 15209, 7, 67, 2, 2, 15209, 2024, 3, 2, 2, 2, 15210, 15211, 7, 80, 2, 2, 15211, 15212, 7, 81, 2, 2, 15212, 15213, 7, 97, 2, 2, 15213, 15214, 7, 81, 2, 2, 15214, 15215, 7, 68, 2, 2, 15215, 15216, 7, 76, 2, 2, 15216, 15217, 7, 71, 2, 2, 15217, 15218, 7, 69, 2, 2, 15218, 15219, 7, 86, 2, 2, 15219, 15220, 7, 97, 2, 2, 15220, 15221, 7, 78, 2, 2, 15221, 15222, 7, 75, 2, 2, 15222, 15223, 7, 80, 2, 2, 15223, 15224, 7, 77, 2, 2, 15224, 2026, 3, 2, 2, 2, 15225, 15226, 7, 80, 2, 2, 15226, 15227, 7, 81, 2, 2, 15227, 15228, 7, 81, 2, 2, 15228, 15229, 7, 84, 2, 2, 15229, 15230, 7, 70, 2, 2, 15230, 15231, 7, 71, 2, 2, 15231, 15232, 7, 84, 2, 2, 15232, 2028, 3, 2, 2, 2, 15233, 15234, 7, 80, 2, 2, 15234, 15235, 7, 81, 2, 2, 15235, 15236, 7, 97, 2, 2, 15236, 15237, 7, 81, 2, 2, 15237, 15238, 7, 84, 2, 2, 15238, 15239, 7, 70, 2, 2, 15239, 15240, 7, 71, 2, 2, 15240, 15241, 7, 84, 2, 2, 15241, 15242, 7, 97, 2, 2, 15242, 15243, 7, 84, 2, 2, 15243, 15244, 7, 81, 2, 2, 15244, 15245, 7, 78, 2, 2, 15245, 15246, 7, 78, 2, 2, 15246, 15247, 7, 87, 2, 2, 15247, 15248, 7, 82, 2, 2, 15248, 15249, 7, 85, 2, 2, 15249, 2030, 3, 2, 2, 2, 15250, 15251, 7, 80, 2, 2, 15251, 15252, 7, 81, 2, 2, 15252, 15253, 7, 97, 2, 2, 15253, 15254, 7, 81, 2, 2, 15254, 15255, 7, 87, 2, 2, 15255, 15256, 7, 86, 2, 2, 15256, 15257, 7, 71, 2, 2, 15257, 15258, 7, 84, 2, 2, 15258, 15259, 7, 97, 2, 2, 15259, 15260, 7, 76, 2, 2, 15260, 15261, 7, 81, 2, 2, 15261, 15262, 7, 75, 2, 2, 15262, 15263, 7, 80, 2, 2, 15263, 15264, 7, 97, 2, 2, 15264, 15265, 7, 86, 2, 2, 15265, 15266, 7, 81, 2, 2, 15266, 15267, 7, 97, 2, 2, 15267, 15268, 7, 67, 2, 2, 15268, 15269, 7, 80, 2, 2, 15269, 15270, 7, 86, 2, 2, 15270, 15271, 7, 75, 2, 2, 15271, 2032, 3, 2, 2, 2, 15272, 15273, 7, 80, 2, 2, 15273, 15274, 7, 81, 2, 2, 15274, 15275, 7, 97, 2, 2, 15275, 15276, 7, 81, 2, 2, 15276, 15277, 7, 87, 2, 2, 15277, 15278, 7, 86, 2, 2, 15278, 15279, 7, 71, 2, 2, 15279, 15280, 7, 84, 2, 2, 15280, 15281, 7, 97, 2, 2, 15281, 15282, 7, 76, 2, 2, 15282, 15283, 7, 81, 2, 2, 15283, 15284, 7, 75, 2, 2, 15284, 15285, 7, 80, 2, 2, 15285, 15286, 7, 97, 2, 2, 15286, 15287, 7, 86, 2, 2, 15287, 15288, 7, 81, 2, 2, 15288, 15289, 7, 97, 2, 2, 15289, 15290, 7, 75, 2, 2, 15290, 15291, 7, 80, 2, 2, 15291, 15292, 7, 80, 2, 2, 15292, 15293, 7, 71, 2, 2, 15293, 15294, 7, 84, 2, 2, 15294, 2034, 3, 2, 2, 2, 15295, 15296, 7, 80, 2, 2, 15296, 15297, 7, 81, 2, 2, 15297, 15298, 7, 81, 2, 2, 15298, 15299, 7, 88, 2, 2, 15299, 15300, 7, 71, 2, 2, 15300, 15301, 7, 84, 2, 2, 15301, 15302, 7, 84, 2, 2, 15302, 15303, 7, 75, 2, 2, 15303, 15304, 7, 70, 2, 2, 15304, 15305, 7, 71, 2, 2, 15305, 2036, 3, 2, 2, 2, 15306, 15307, 7, 80, 2, 2, 15307, 15308, 7, 81, 2, 2, 15308, 15309, 7, 97, 2, 2, 15309, 15310, 7, 82, 2, 2, 15310, 15311, 7, 67, 2, 2, 15311, 15312, 7, 84, 2, 2, 15312, 15313, 7, 67, 2, 2, 15313, 15314, 7, 78, 2, 2, 15314, 15315, 7, 78, 2, 2, 15315, 15316, 7, 71, 2, 2, 15316, 15317, 7, 78, 2, 2, 15317, 15318, 7, 97, 2, 2, 15318, 15319, 7, 75, 2, 2, 15319, 15320, 7, 80, 2, 2, 15320, 15321, 7, 70, 2, 2, 15321, 15322, 7, 71, 2, 2, 15322, 15323, 7, 90, 2, 2, 15323, 2038, 3, 2, 2, 2, 15324, 15325, 7, 80, 2, 2, 15325, 15326, 7, 81, 2, 2, 15326, 15327, 7, 82, 2, 2, 15327, 15328, 7, 67, 2, 2, 15328, 15329, 7, 84, 2, 2, 15329, 15330, 7, 67, 2, 2, 15330, 15331, 7, 78, 2, 2, 15331, 15332, 7, 78, 2, 2, 15332, 15333, 7, 71, 2, 2, 15333, 15334, 7, 78, 2, 2, 15334, 15335, 7, 97, 2, 2, 15335, 15336, 7, 75, 2, 2, 15336, 15337, 7, 80, 2, 2, 15337, 15338, 7, 70, 2, 2, 15338, 15339, 7, 71, 2, 2, 15339, 15340, 7, 90, 2, 2, 15340, 2040, 3, 2, 2, 2, 15341, 15342, 7, 80, 2, 2, 15342, 15343, 7, 81, 2, 2, 15343, 15344, 7, 97, 2, 2, 15344, 15345, 7, 82, 2, 2, 15345, 15346, 7, 67, 2, 2, 15346, 15347, 7, 84, 2, 2, 15347, 15348, 7, 67, 2, 2, 15348, 15349, 7, 78, 2, 2, 15349, 15350, 7, 78, 2, 2, 15350, 15351, 7, 71, 2, 2, 15351, 15352, 7, 78, 2, 2, 15352, 2042, 3, 2, 2, 2, 15353, 15354, 7, 80, 2, 2, 15354, 15355, 7, 81, 2, 2, 15355, 15356, 7, 82, 2, 2, 15356, 15357, 7, 67, 2, 2, 15357, 15358, 7, 84, 2, 2, 15358, 15359, 7, 67, 2, 2, 15359, 15360, 7, 78, 2, 2, 15360, 15361, 7, 78, 2, 2, 15361, 15362, 7, 71, 2, 2, 15362, 15363, 7, 78, 2, 2, 15363, 2044, 3, 2, 2, 2, 15364, 15365, 7, 80, 2, 2, 15365, 15366, 7, 81, 2, 2, 15366, 15367, 7, 97, 2, 2, 15367, 15368, 7, 82, 2, 2, 15368, 15369, 7, 67, 2, 2, 15369, 15370, 7, 84, 2, 2, 15370, 15371, 7, 86, 2, 2, 15371, 15372, 7, 75, 2, 2, 15372, 15373, 7, 67, 2, 2, 15373, 15374, 7, 78, 2, 2, 15374, 15375, 7, 97, 2, 2, 15375, 15376, 7, 69, 2, 2, 15376, 15377, 7, 81, 2, 2, 15377, 15378, 7, 79, 2, 2, 15378, 15379, 7, 79, 2, 2, 15379, 15380, 7, 75, 2, 2, 15380, 15381, 7, 86, 2, 2, 15381, 2046, 3, 2, 2, 2, 15382, 15383, 7, 80, 2, 2, 15383, 15384, 7, 81, 2, 2, 15384, 15385, 7, 97, 2, 2, 15385, 15386, 7, 82, 2, 2, 15386, 15387, 7, 67, 2, 2, 15387, 15388, 7, 84, 2, 2, 15388, 15389, 7, 86, 2, 2, 15389, 15390, 7, 75, 2, 2, 15390, 15391, 7, 67, 2, 2, 15391, 15392, 7, 78, 2, 2, 15392, 15393, 7, 97, 2, 2, 15393, 15394, 7, 76, 2, 2, 15394, 15395, 7, 81, 2, 2, 15395, 15396, 7, 75, 2, 2, 15396, 15397, 7, 80, 2, 2, 15397, 2048, 3, 2, 2, 2, 15398, 15399, 7, 80, 2, 2, 15399, 15400, 7, 81, 2, 2, 15400, 15401, 7, 97, 2, 2, 15401, 15402, 7, 82, 2, 2, 15402, 15403, 7, 67, 2, 2, 15403, 15404, 7, 84, 2, 2, 15404, 15405, 7, 86, 2, 2, 15405, 15406, 7, 75, 2, 2, 15406, 15407, 7, 67, 2, 2, 15407, 15408, 7, 78, 2, 2, 15408, 15409, 7, 97, 2, 2, 15409, 15410, 7, 84, 2, 2, 15410, 15411, 7, 81, 2, 2, 15411, 15412, 7, 78, 2, 2, 15412, 15413, 7, 78, 2, 2, 15413, 15414, 7, 87, 2, 2, 15414, 15415, 7, 82, 2, 2, 15415, 15416, 7, 97, 2, 2, 15416, 15417, 7, 82, 2, 2, 15417, 15418, 7, 87, 2, 2, 15418, 15419, 7, 85, 2, 2, 15419, 15420, 7, 74, 2, 2, 15420, 15421, 7, 70, 2, 2, 15421, 15422, 7, 81, 2, 2, 15422, 15423, 7, 89, 2, 2, 15423, 15424, 7, 80, 2, 2, 15424, 2050, 3, 2, 2, 2, 15425, 15426, 7, 80, 2, 2, 15426, 15427, 7, 81, 2, 2, 15427, 15428, 7, 82, 2, 2, 15428, 15429, 7, 67, 2, 2, 15429, 15430, 7, 84, 2, 2, 15430, 15431, 7, 86, 2, 2, 15431, 15432, 7, 75, 2, 2, 15432, 15433, 7, 86, 2, 2, 15433, 15434, 7, 75, 2, 2, 15434, 15435, 7, 81, 2, 2, 15435, 15436, 7, 80, 2, 2, 15436, 2052, 3, 2, 2, 2, 15437, 15438, 7, 80, 2, 2, 15438, 15439, 7, 81, 2, 2, 15439, 15440, 7, 97, 2, 2, 15440, 15441, 7, 82, 2, 2, 15441, 15442, 7, 78, 2, 2, 15442, 15443, 7, 67, 2, 2, 15443, 15444, 7, 69, 2, 2, 15444, 15445, 7, 71, 2, 2, 15445, 15446, 7, 97, 2, 2, 15446, 15447, 7, 70, 2, 2, 15447, 15448, 7, 75, 2, 2, 15448, 15449, 7, 85, 2, 2, 15449, 15450, 7, 86, 2, 2, 15450, 15451, 7, 75, 2, 2, 15451, 15452, 7, 80, 2, 2, 15452, 15453, 7, 69, 2, 2, 15453, 15454, 7, 86, 2, 2, 15454, 2054, 3, 2, 2, 2, 15455, 15456, 7, 80, 2, 2, 15456, 15457, 7, 81, 2, 2, 15457, 15458, 7, 97, 2, 2, 15458, 15459, 7, 82, 2, 2, 15459, 15460, 7, 78, 2, 2, 15460, 15461, 7, 67, 2, 2, 15461, 15462, 7, 69, 2, 2, 15462, 15463, 7, 71, 2, 2, 15463, 15464, 7, 97, 2, 2, 15464, 15465, 7, 73, 2, 2, 15465, 15466, 7, 84, 2, 2, 15466, 15467, 7, 81, 2, 2, 15467, 15468, 7, 87, 2, 2, 15468, 15469, 7, 82, 2, 2, 15469, 15470, 7, 97, 2, 2, 15470, 15471, 7, 68, 2, 2, 15471, 15472, 7, 91, 2, 2, 15472, 2056, 3, 2, 2, 2, 15473, 15474, 7, 80, 2, 2, 15474, 15475, 7, 81, 2, 2, 15475, 15476, 7, 97, 2, 2, 15476, 15477, 7, 82, 2, 2, 15477, 15478, 7, 83, 2, 2, 15478, 15479, 7, 97, 2, 2, 15479, 15480, 7, 69, 2, 2, 15480, 15481, 7, 81, 2, 2, 15481, 15482, 7, 80, 2, 2, 15482, 15483, 7, 69, 2, 2, 15483, 15484, 7, 87, 2, 2, 15484, 15485, 7, 84, 2, 2, 15485, 15486, 7, 84, 2, 2, 15486, 15487, 7, 71, 2, 2, 15487, 15488, 7, 80, 2, 2, 15488, 15489, 7, 86, 2, 2, 15489, 15490, 7, 97, 2, 2, 15490, 15491, 7, 87, 2, 2, 15491, 15492, 7, 80, 2, 2, 15492, 15493, 7, 75, 2, 2, 15493, 15494, 7, 81, 2, 2, 15494, 15495, 7, 80, 2, 2, 15495, 2058, 3, 2, 2, 2, 15496, 15497, 7, 80, 2, 2, 15497, 15498, 7, 81, 2, 2, 15498, 15499, 7, 97, 2, 2, 15499, 15500, 7, 82, 2, 2, 15500, 15501, 7, 83, 2, 2, 15501, 15502, 7, 97, 2, 2, 15502, 15503, 7, 79, 2, 2, 15503, 15504, 7, 67, 2, 2, 15504, 15505, 7, 82, 2, 2, 15505, 2060, 3, 2, 2, 2, 15506, 15507, 7, 80, 2, 2, 15507, 15508, 7, 81, 2, 2, 15508, 15509, 7, 97, 2, 2, 15509, 15510, 7, 82, 2, 2, 15510, 15511, 7, 83, 2, 2, 15511, 15512, 7, 97, 2, 2, 15512, 15513, 7, 84, 2, 2, 15513, 15514, 7, 71, 2, 2, 15514, 15515, 7, 82, 2, 2, 15515, 15516, 7, 78, 2, 2, 15516, 15517, 7, 75, 2, 2, 15517, 15518, 7, 69, 2, 2, 15518, 15519, 7, 67, 2, 2, 15519, 15520, 7, 86, 2, 2, 15520, 15521, 7, 71, 2, 2, 15521, 2062, 3, 2, 2, 2, 15522, 15523, 7, 80, 2, 2, 15523, 15524, 7, 81, 2, 2, 15524, 15525, 7, 97, 2, 2, 15525, 15526, 7, 82, 2, 2, 15526, 15527, 7, 83, 2, 2, 15527, 15528, 7, 97, 2, 2, 15528, 15529, 7, 85, 2, 2, 15529, 15530, 7, 77, 2, 2, 15530, 15531, 7, 71, 2, 2, 15531, 15532, 7, 89, 2, 2, 15532, 2064, 3, 2, 2, 2, 15533, 15534, 7, 80, 2, 2, 15534, 15535, 7, 81, 2, 2, 15535, 15536, 7, 97, 2, 2, 15536, 15537, 7, 82, 2, 2, 15537, 15538, 7, 84, 2, 2, 15538, 15539, 7, 87, 2, 2, 15539, 15540, 7, 80, 2, 2, 15540, 15541, 7, 71, 2, 2, 15541, 15542, 7, 97, 2, 2, 15542, 15543, 7, 73, 2, 2, 15543, 15544, 7, 85, 2, 2, 15544, 15545, 7, 71, 2, 2, 15545, 15546, 7, 86, 2, 2, 15546, 15547, 7, 85, 2, 2, 15547, 2066, 3, 2, 2, 2, 15548, 15549, 7, 80, 2, 2, 15549, 15550, 7, 81, 2, 2, 15550, 15551, 7, 97, 2, 2, 15551, 15552, 7, 82, 2, 2, 15552, 15553, 7, 87, 2, 2, 15553, 15554, 7, 78, 2, 2, 15554, 15555, 7, 78, 2, 2, 15555, 15556, 7, 97, 2, 2, 15556, 15557, 7, 82, 2, 2, 15557, 15558, 7, 84, 2, 2, 15558, 15559, 7, 71, 2, 2, 15559, 15560, 7, 70, 2, 2, 15560, 2068, 3, 2, 2, 2, 15561, 15562, 7, 80, 2, 2, 15562, 15563, 7, 81, 2, 2, 15563, 15564, 7, 97, 2, 2, 15564, 15565, 7, 82, 2, 2, 15565, 15566, 7, 87, 2, 2, 15566, 15567, 7, 85, 2, 2, 15567, 15568, 7, 74, 2, 2, 15568, 15569, 7, 97, 2, 2, 15569, 15570, 7, 82, 2, 2, 15570, 15571, 7, 84, 2, 2, 15571, 15572, 7, 71, 2, 2, 15572, 15573, 7, 70, 2, 2, 15573, 2070, 3, 2, 2, 2, 15574, 15575, 7, 80, 2, 2, 15575, 15576, 7, 81, 2, 2, 15576, 15577, 7, 97, 2, 2, 15577, 15578, 7, 82, 2, 2, 15578, 15579, 7, 87, 2, 2, 15579, 15580, 7, 85, 2, 2, 15580, 15581, 7, 74, 2, 2, 15581, 15582, 7, 97, 2, 2, 15582, 15583, 7, 85, 2, 2, 15583, 15584, 7, 87, 2, 2, 15584, 15585, 7, 68, 2, 2, 15585, 15586, 7, 83, 2, 2, 15586, 2072, 3, 2, 2, 2, 15587, 15588, 7, 80, 2, 2, 15588, 15589, 7, 81, 2, 2, 15589, 15590, 7, 97, 2, 2, 15590, 15591, 7, 82, 2, 2, 15591, 15592, 7, 90, 2, 2, 15592, 15593, 7, 97, 2, 2, 15593, 15594, 7, 72, 2, 2, 15594, 15595, 7, 67, 2, 2, 15595, 15596, 7, 87, 2, 2, 15596, 15597, 7, 78, 2, 2, 15597, 15598, 7, 86, 2, 2, 15598, 15599, 7, 97, 2, 2, 15599, 15600, 7, 86, 2, 2, 15600, 15601, 7, 81, 2, 2, 15601, 15602, 7, 78, 2, 2, 15602, 15603, 7, 71, 2, 2, 15603, 15604, 7, 84, 2, 2, 15604, 15605, 7, 67, 2, 2, 15605, 15606, 7, 80, 2, 2, 15606, 15607, 7, 69, 2, 2, 15607, 15608, 7, 71, 2, 2, 15608, 2074, 3, 2, 2, 2, 15609, 15610, 7, 80, 2, 2, 15610, 15611, 7, 81, 2, 2, 15611, 15612, 7, 97, 2, 2, 15612, 15613, 7, 82, 2, 2, 15613, 15614, 7, 90, 2, 2, 15614, 15615, 7, 97, 2, 2, 15615, 15616, 7, 76, 2, 2, 15616, 15617, 7, 81, 2, 2, 15617, 15618, 7, 75, 2, 2, 15618, 15619, 7, 80, 2, 2, 15619, 15620, 7, 97, 2, 2, 15620, 15621, 7, 72, 2, 2, 15621, 15622, 7, 75, 2, 2, 15622, 15623, 7, 78, 2, 2, 15623, 15624, 7, 86, 2, 2, 15624, 15625, 7, 71, 2, 2, 15625, 15626, 7, 84, 2, 2, 15626, 2076, 3, 2, 2, 2, 15627, 15628, 7, 80, 2, 2, 15628, 15629, 7, 81, 2, 2, 15629, 15630, 7, 97, 2, 2, 15630, 15631, 7, 83, 2, 2, 15631, 15632, 7, 77, 2, 2, 15632, 15633, 7, 80, 2, 2, 15633, 15634, 7, 97, 2, 2, 15634, 15635, 7, 68, 2, 2, 15635, 15636, 7, 87, 2, 2, 15636, 15637, 7, 72, 2, 2, 15637, 15638, 7, 72, 2, 2, 15638, 2078, 3, 2, 2, 2, 15639, 15640, 7, 80, 2, 2, 15640, 15641, 7, 81, 2, 2, 15641, 15642, 7, 97, 2, 2, 15642, 15643, 7, 83, 2, 2, 15643, 15644, 7, 87, 2, 2, 15644, 15645, 7, 71, 2, 2, 15645, 15646, 7, 84, 2, 2, 15646, 15647, 7, 91, 2, 2, 15647, 15648, 7, 97, 2, 2, 15648, 15649, 7, 86, 2, 2, 15649, 15650, 7, 84, 2, 2, 15650, 15651, 7, 67, 2, 2, 15651, 15652, 7, 80, 2, 2, 15652, 15653, 7, 85, 2, 2, 15653, 15654, 7, 72, 2, 2, 15654, 15655, 7, 81, 2, 2, 15655, 15656, 7, 84, 2, 2, 15656, 15657, 7, 79, 2, 2, 15657, 15658, 7, 67, 2, 2, 15658, 15659, 7, 86, 2, 2, 15659, 15660, 7, 75, 2, 2, 15660, 15661, 7, 81, 2, 2, 15661, 15662, 7, 80, 2, 2, 15662, 2080, 3, 2, 2, 2, 15663, 15664, 7, 80, 2, 2, 15664, 15665, 7, 81, 2, 2, 15665, 15666, 7, 97, 2, 2, 15666, 15667, 7, 84, 2, 2, 15667, 15668, 7, 71, 2, 2, 15668, 15669, 7, 72, 2, 2, 15669, 15670, 7, 97, 2, 2, 15670, 15671, 7, 69, 2, 2, 15671, 15672, 7, 67, 2, 2, 15672, 15673, 7, 85, 2, 2, 15673, 15674, 7, 69, 2, 2, 15674, 15675, 7, 67, 2, 2, 15675, 15676, 7, 70, 2, 2, 15676, 15677, 7, 71, 2, 2, 15677, 2082, 3, 2, 2, 2, 15678, 15679, 7, 80, 2, 2, 15679, 15680, 7, 81, 2, 2, 15680, 15681, 7, 84, 2, 2, 15681, 15682, 7, 71, 2, 2, 15682, 15683, 7, 78, 2, 2, 15683, 15684, 7, 81, 2, 2, 15684, 15685, 7, 69, 2, 2, 15685, 15686, 7, 67, 2, 2, 15686, 15687, 7, 86, 2, 2, 15687, 15688, 7, 71, 2, 2, 15688, 2084, 3, 2, 2, 2, 15689, 15690, 7, 80, 2, 2, 15690, 15691, 7, 81, 2, 2, 15691, 15692, 7, 84, 2, 2, 15692, 15693, 7, 71, 2, 2, 15693, 15694, 7, 78, 2, 2, 15694, 15695, 7, 91, 2, 2, 15695, 2086, 3, 2, 2, 2, 15696, 15697, 7, 80, 2, 2, 15697, 15698, 7, 81, 2, 2, 15698, 15699, 7, 84, 2, 2, 15699, 15700, 7, 71, 2, 2, 15700, 15701, 7, 82, 2, 2, 15701, 15702, 7, 67, 2, 2, 15702, 15703, 7, 75, 2, 2, 15703, 15704, 7, 84, 2, 2, 15704, 2088, 3, 2, 2, 2, 15705, 15706, 7, 80, 2, 2, 15706, 15707, 7, 81, 2, 2, 15707, 15708, 7, 84, 2, 2, 15708, 15709, 7, 71, 2, 2, 15709, 15710, 7, 82, 2, 2, 15710, 15711, 7, 78, 2, 2, 15711, 15712, 7, 67, 2, 2, 15712, 15713, 7, 91, 2, 2, 15713, 2090, 3, 2, 2, 2, 15714, 15715, 7, 80, 2, 2, 15715, 15716, 7, 81, 2, 2, 15716, 15717, 7, 84, 2, 2, 15717, 15718, 7, 71, 2, 2, 15718, 15719, 7, 85, 2, 2, 15719, 15720, 7, 71, 2, 2, 15720, 15721, 7, 86, 2, 2, 15721, 15722, 7, 78, 2, 2, 15722, 15723, 7, 81, 2, 2, 15723, 15724, 7, 73, 2, 2, 15724, 15725, 7, 85, 2, 2, 15725, 2092, 3, 2, 2, 2, 15726, 15727, 7, 80, 2, 2, 15727, 15728, 7, 81, 2, 2, 15728, 15729, 7, 97, 2, 2, 15729, 15730, 7, 84, 2, 2, 15730, 15731, 7, 71, 2, 2, 15731, 15732, 7, 85, 2, 2, 15732, 15733, 7, 87, 2, 2, 15733, 15734, 7, 78, 2, 2, 15734, 15735, 7, 86, 2, 2, 15735, 15736, 7, 97, 2, 2, 15736, 15737, 7, 69, 2, 2, 15737, 15738, 7, 67, 2, 2, 15738, 15739, 7, 69, 2, 2, 15739, 15740, 7, 74, 2, 2, 15740, 15741, 7, 71, 2, 2, 15741, 2094, 3, 2, 2, 2, 15742, 15743, 7, 80, 2, 2, 15743, 15744, 7, 81, 2, 2, 15744, 15745, 7, 84, 2, 2, 15745, 15746, 7, 71, 2, 2, 15746, 15747, 7, 88, 2, 2, 15747, 15748, 7, 71, 2, 2, 15748, 15749, 7, 84, 2, 2, 15749, 15750, 7, 85, 2, 2, 15750, 15751, 7, 71, 2, 2, 15751, 2096, 3, 2, 2, 2, 15752, 15753, 7, 80, 2, 2, 15753, 15754, 7, 81, 2, 2, 15754, 15755, 7, 97, 2, 2, 15755, 15756, 7, 84, 2, 2, 15756, 15757, 7, 71, 2, 2, 15757, 15758, 7, 89, 2, 2, 15758, 15759, 7, 84, 2, 2, 15759, 15760, 7, 75, 2, 2, 15760, 15761, 7, 86, 2, 2, 15761, 15762, 7, 71, 2, 2, 15762, 2098, 3, 2, 2, 2, 15763, 15764, 7, 80, 2, 2, 15764, 15765, 7, 81, 2, 2, 15765, 15766, 7, 84, 2, 2, 15766, 15767, 7, 71, 2, 2, 15767, 15768, 7, 89, 2, 2, 15768, 15769, 7, 84, 2, 2, 15769, 15770, 7, 75, 2, 2, 15770, 15771, 7, 86, 2, 2, 15771, 15772, 7, 71, 2, 2, 15772, 2100, 3, 2, 2, 2, 15773, 15774, 7, 80, 2, 2, 15774, 15775, 7, 81, 2, 2, 15775, 15776, 7, 84, 2, 2, 15776, 15777, 7, 79, 2, 2, 15777, 15778, 7, 67, 2, 2, 15778, 15779, 7, 78, 2, 2, 15779, 2102, 3, 2, 2, 2, 15780, 15781, 7, 80, 2, 2, 15781, 15782, 7, 81, 2, 2, 15782, 15783, 7, 97, 2, 2, 15783, 15784, 7, 84, 2, 2, 15784, 15785, 7, 81, 2, 2, 15785, 15786, 7, 81, 2, 2, 15786, 15787, 7, 86, 2, 2, 15787, 15788, 7, 97, 2, 2, 15788, 15789, 7, 85, 2, 2, 15789, 15790, 7, 89, 2, 2, 15790, 15791, 7, 97, 2, 2, 15791, 15792, 7, 72, 2, 2, 15792, 15793, 7, 81, 2, 2, 15793, 15794, 7, 84, 2, 2, 15794, 15795, 7, 97, 2, 2, 15795, 15796, 7, 78, 2, 2, 15796, 15797, 7, 81, 2, 2, 15797, 15798, 7, 69, 2, 2, 15798, 15799, 7, 67, 2, 2, 15799, 15800, 7, 78, 2, 2, 15800, 2104, 3, 2, 2, 2, 15801, 15802, 7, 80, 2, 2, 15802, 15803, 7, 81, 2, 2, 15803, 15804, 7, 84, 2, 2, 15804, 15805, 7, 81, 2, 2, 15805, 15806, 7, 89, 2, 2, 15806, 15807, 7, 70, 2, 2, 15807, 15808, 7, 71, 2, 2, 15808, 15809, 7, 82, 2, 2, 15809, 15810, 7, 71, 2, 2, 15810, 15811, 7, 80, 2, 2, 15811, 15812, 7, 70, 2, 2, 15812, 15813, 7, 71, 2, 2, 15813, 15814, 7, 80, 2, 2, 15814, 15815, 7, 69, 2, 2, 15815, 15816, 7, 75, 2, 2, 15816, 15817, 7, 71, 2, 2, 15817, 15818, 7, 85, 2, 2, 15818, 2106, 3, 2, 2, 2, 15819, 15820, 7, 80, 2, 2, 15820, 15821, 7, 81, 2, 2, 15821, 15822, 7, 85, 2, 2, 15822, 15823, 7, 69, 2, 2, 15823, 15824, 7, 74, 2, 2, 15824, 15825, 7, 71, 2, 2, 15825, 15826, 7, 79, 2, 2, 15826, 15827, 7, 67, 2, 2, 15827, 15828, 7, 69, 2, 2, 15828, 15829, 7, 74, 2, 2, 15829, 15830, 7, 71, 2, 2, 15830, 15831, 7, 69, 2, 2, 15831, 15832, 7, 77, 2, 2, 15832, 2108, 3, 2, 2, 2, 15833, 15834, 7, 80, 2, 2, 15834, 15835, 7, 81, 2, 2, 15835, 15836, 7, 85, 2, 2, 15836, 15837, 7, 71, 2, 2, 15837, 15838, 7, 73, 2, 2, 15838, 15839, 7, 79, 2, 2, 15839, 15840, 7, 71, 2, 2, 15840, 15841, 7, 80, 2, 2, 15841, 15842, 7, 86, 2, 2, 15842, 2110, 3, 2, 2, 2, 15843, 15844, 7, 80, 2, 2, 15844, 15845, 7, 81, 2, 2, 15845, 15846, 7, 97, 2, 2, 15846, 15847, 7, 85, 2, 2, 15847, 15848, 7, 71, 2, 2, 15848, 15849, 7, 79, 2, 2, 15849, 15850, 7, 75, 2, 2, 15850, 15851, 7, 76, 2, 2, 15851, 15852, 7, 81, 2, 2, 15852, 15853, 7, 75, 2, 2, 15853, 15854, 7, 80, 2, 2, 15854, 2112, 3, 2, 2, 2, 15855, 15856, 7, 80, 2, 2, 15856, 15857, 7, 81, 2, 2, 15857, 15858, 7, 97, 2, 2, 15858, 15859, 7, 85, 2, 2, 15859, 15860, 7, 71, 2, 2, 15860, 15861, 7, 79, 2, 2, 15861, 15862, 7, 75, 2, 2, 15862, 15863, 7, 97, 2, 2, 15863, 15864, 7, 86, 2, 2, 15864, 15865, 7, 81, 2, 2, 15865, 15866, 7, 97, 2, 2, 15866, 15867, 7, 75, 2, 2, 15867, 15868, 7, 80, 2, 2, 15868, 15869, 7, 80, 2, 2, 15869, 15870, 7, 71, 2, 2, 15870, 15871, 7, 84, 2, 2, 15871, 2114, 3, 2, 2, 2, 15872, 15873, 7, 80, 2, 2, 15873, 15874, 7, 81, 2, 2, 15874, 15875, 7, 97, 2, 2, 15875, 15876, 7, 85, 2, 2, 15876, 15877, 7, 71, 2, 2, 15877, 15878, 7, 86, 2, 2, 15878, 15879, 7, 97, 2, 2, 15879, 15880, 7, 86, 2, 2, 15880, 15881, 7, 81, 2, 2, 15881, 15882, 7, 97, 2, 2, 15882, 15883, 7, 76, 2, 2, 15883, 15884, 7, 81, 2, 2, 15884, 15885, 7, 75, 2, 2, 15885, 15886, 7, 80, 2, 2, 15886, 2116, 3, 2, 2, 2, 15887, 15888, 7, 80, 2, 2, 15888, 15889, 7, 81, 2, 2, 15889, 15890, 7, 85, 2, 2, 15890, 15891, 7, 81, 2, 2, 15891, 15892, 7, 84, 2, 2, 15892, 15893, 7, 86, 2, 2, 15893, 2118, 3, 2, 2, 2, 15894, 15895, 7, 80, 2, 2, 15895, 15896, 7, 81, 2, 2, 15896, 15897, 7, 97, 2, 2, 15897, 15898, 7, 85, 2, 2, 15898, 15899, 7, 83, 2, 2, 15899, 15900, 7, 78, 2, 2, 15900, 15901, 7, 97, 2, 2, 15901, 15902, 7, 86, 2, 2, 15902, 15903, 7, 84, 2, 2, 15903, 15904, 7, 67, 2, 2, 15904, 15905, 7, 80, 2, 2, 15905, 15906, 7, 85, 2, 2, 15906, 15907, 7, 78, 2, 2, 15907, 15908, 7, 67, 2, 2, 15908, 15909, 7, 86, 2, 2, 15909, 15910, 7, 75, 2, 2, 15910, 15911, 7, 81, 2, 2, 15911, 15912, 7, 80, 2, 2, 15912, 2120, 3, 2, 2, 2, 15913, 15914, 7, 80, 2, 2, 15914, 15915, 7, 81, 2, 2, 15915, 15916, 7, 97, 2, 2, 15916, 15917, 7, 85, 2, 2, 15917, 15918, 7, 83, 2, 2, 15918, 15919, 7, 78, 2, 2, 15919, 15920, 7, 97, 2, 2, 15920, 15921, 7, 86, 2, 2, 15921, 15922, 7, 87, 2, 2, 15922, 15923, 7, 80, 2, 2, 15923, 15924, 7, 71, 2, 2, 15924, 2122, 3, 2, 2, 2, 15925, 15926, 7, 80, 2, 2, 15926, 15927, 7, 81, 2, 2, 15927, 15928, 7, 97, 2, 2, 15928, 15929, 7, 85, 2, 2, 15929, 15930, 7, 86, 2, 2, 15930, 15931, 7, 67, 2, 2, 15931, 15932, 7, 84, 2, 2, 15932, 15933, 7, 97, 2, 2, 15933, 15934, 7, 86, 2, 2, 15934, 15935, 7, 84, 2, 2, 15935, 15936, 7, 67, 2, 2, 15936, 15937, 7, 80, 2, 2, 15937, 15938, 7, 85, 2, 2, 15938, 15939, 7, 72, 2, 2, 15939, 15940, 7, 81, 2, 2, 15940, 15941, 7, 84, 2, 2, 15941, 15942, 7, 79, 2, 2, 15942, 15943, 7, 67, 2, 2, 15943, 15944, 7, 86, 2, 2, 15944, 15945, 7, 75, 2, 2, 15945, 15946, 7, 81, 2, 2, 15946, 15947, 7, 80, 2, 2, 15947, 2124, 3, 2, 2, 2, 15948, 15949, 7, 80, 2, 2, 15949, 15950, 7, 81, 2, 2, 15950, 15951, 7, 97, 2, 2, 15951, 15952, 7, 85, 2, 2, 15952, 15953, 7, 86, 2, 2, 15953, 15954, 7, 67, 2, 2, 15954, 15955, 7, 86, 2, 2, 15955, 15956, 7, 71, 2, 2, 15956, 15957, 7, 79, 2, 2, 15957, 15958, 7, 71, 2, 2, 15958, 15959, 7, 80, 2, 2, 15959, 15960, 7, 86, 2, 2, 15960, 15961, 7, 97, 2, 2, 15961, 15962, 7, 83, 2, 2, 15962, 15963, 7, 87, 2, 2, 15963, 15964, 7, 71, 2, 2, 15964, 15965, 7, 87, 2, 2, 15965, 15966, 7, 75, 2, 2, 15966, 15967, 7, 80, 2, 2, 15967, 15968, 7, 73, 2, 2, 15968, 2126, 3, 2, 2, 2, 15969, 15970, 7, 80, 2, 2, 15970, 15971, 7, 81, 2, 2, 15971, 15972, 7, 97, 2, 2, 15972, 15973, 7, 85, 2, 2, 15973, 15974, 7, 86, 2, 2, 15974, 15975, 7, 67, 2, 2, 15975, 15976, 7, 86, 2, 2, 15976, 15977, 7, 85, 2, 2, 15977, 15978, 7, 97, 2, 2, 15978, 15979, 7, 73, 2, 2, 15979, 15980, 7, 85, 2, 2, 15980, 15981, 7, 71, 2, 2, 15981, 15982, 7, 86, 2, 2, 15982, 15983, 7, 85, 2, 2, 15983, 2128, 3, 2, 2, 2, 15984, 15985, 7, 80, 2, 2, 15985, 15986, 7, 81, 2, 2, 15986, 15987, 7, 85, 2, 2, 15987, 15988, 7, 86, 2, 2, 15988, 15989, 7, 84, 2, 2, 15989, 15990, 7, 75, 2, 2, 15990, 15991, 7, 69, 2, 2, 15991, 15992, 7, 86, 2, 2, 15992, 2130, 3, 2, 2, 2, 15993, 15994, 7, 80, 2, 2, 15994, 15995, 7, 81, 2, 2, 15995, 15996, 7, 97, 2, 2, 15996, 15997, 7, 85, 2, 2, 15997, 15998, 7, 87, 2, 2, 15998, 15999, 7, 68, 2, 2, 15999, 16000, 7, 83, 2, 2, 16000, 16001, 7, 87, 2, 2, 16001, 16002, 7, 71, 2, 2, 16002, 16003, 7, 84, 2, 2, 16003, 16004, 7, 91, 2, 2, 16004, 16005, 7, 97, 2, 2, 16005, 16006, 7, 82, 2, 2, 16006, 16007, 7, 84, 2, 2, 16007, 16008, 7, 87, 2, 2, 16008, 16009, 7, 80, 2, 2, 16009, 16010, 7, 75, 2, 2, 16010, 16011, 7, 80, 2, 2, 16011, 16012, 7, 73, 2, 2, 16012, 2132, 3, 2, 2, 2, 16013, 16014, 7, 80, 2, 2, 16014, 16015, 7, 81, 2, 2, 16015, 16016, 7, 97, 2, 2, 16016, 16017, 7, 85, 2, 2, 16017, 16018, 7, 87, 2, 2, 16018, 16019, 7, 68, 2, 2, 16019, 16020, 7, 85, 2, 2, 16020, 16021, 7, 86, 2, 2, 16021, 16022, 7, 84, 2, 2, 16022, 16023, 7, 68, 2, 2, 16023, 16024, 7, 97, 2, 2, 16024, 16025, 7, 82, 2, 2, 16025, 16026, 7, 67, 2, 2, 16026, 16027, 7, 70, 2, 2, 16027, 2134, 3, 2, 2, 2, 16028, 16029, 7, 80, 2, 2, 16029, 16030, 7, 81, 2, 2, 16030, 16031, 7, 97, 2, 2, 16031, 16032, 7, 85, 2, 2, 16032, 16033, 7, 89, 2, 2, 16033, 16034, 7, 67, 2, 2, 16034, 16035, 7, 82, 2, 2, 16035, 16036, 7, 97, 2, 2, 16036, 16037, 7, 76, 2, 2, 16037, 16038, 7, 81, 2, 2, 16038, 16039, 7, 75, 2, 2, 16039, 16040, 7, 80, 2, 2, 16040, 16041, 7, 97, 2, 2, 16041, 16042, 7, 75, 2, 2, 16042, 16043, 7, 80, 2, 2, 16043, 16044, 7, 82, 2, 2, 16044, 16045, 7, 87, 2, 2, 16045, 16046, 7, 86, 2, 2, 16046, 16047, 7, 85, 2, 2, 16047, 2136, 3, 2, 2, 2, 16048, 16049, 7, 80, 2, 2, 16049, 16050, 7, 81, 2, 2, 16050, 16051, 7, 85, 2, 2, 16051, 16052, 7, 89, 2, 2, 16052, 16053, 7, 75, 2, 2, 16053, 16054, 7, 86, 2, 2, 16054, 16055, 7, 69, 2, 2, 16055, 16056, 7, 74, 2, 2, 16056, 2138, 3, 2, 2, 2, 16057, 16058, 7, 80, 2, 2, 16058, 16059, 7, 81, 2, 2, 16059, 16060, 7, 97, 2, 2, 16060, 16061, 7, 86, 2, 2, 16061, 16062, 7, 67, 2, 2, 16062, 16063, 7, 68, 2, 2, 16063, 16064, 7, 78, 2, 2, 16064, 16065, 7, 71, 2, 2, 16065, 16066, 7, 97, 2, 2, 16066, 16067, 7, 78, 2, 2, 16067, 16068, 7, 81, 2, 2, 16068, 16069, 7, 81, 2, 2, 16069, 16070, 7, 77, 2, 2, 16070, 16071, 7, 87, 2, 2, 16071, 16072, 7, 82, 2, 2, 16072, 16073, 7, 97, 2, 2, 16073, 16074, 7, 68, 2, 2, 16074, 16075, 7, 91, 2, 2, 16075, 16076, 7, 97, 2, 2, 16076, 16077, 7, 80, 2, 2, 16077, 16078, 7, 78, 2, 2, 16078, 2140, 3, 2, 2, 2, 16079, 16080, 7, 80, 2, 2, 16080, 16081, 7, 81, 2, 2, 16081, 16082, 7, 97, 2, 2, 16082, 16083, 7, 86, 2, 2, 16083, 16084, 7, 71, 2, 2, 16084, 16085, 7, 79, 2, 2, 16085, 16086, 7, 82, 2, 2, 16086, 16087, 7, 97, 2, 2, 16087, 16088, 7, 86, 2, 2, 16088, 16089, 7, 67, 2, 2, 16089, 16090, 7, 68, 2, 2, 16090, 16091, 7, 78, 2, 2, 16091, 16092, 7, 71, 2, 2, 16092, 2142, 3, 2, 2, 2, 16093, 16094, 7, 80, 2, 2, 16094, 16095, 7, 81, 2, 2, 16095, 16096, 7, 86, 2, 2, 16096, 16097, 7, 74, 2, 2, 16097, 16098, 7, 75, 2, 2, 16098, 16099, 7, 80, 2, 2, 16099, 16100, 7, 73, 2, 2, 16100, 2144, 3, 2, 2, 2, 16101, 16102, 7, 80, 2, 2, 16102, 16103, 7, 81, 2, 2, 16103, 16104, 7, 86, 2, 2, 16104, 16105, 7, 75, 2, 2, 16105, 16106, 7, 72, 2, 2, 16106, 16107, 7, 75, 2, 2, 16107, 16108, 7, 69, 2, 2, 16108, 16109, 7, 67, 2, 2, 16109, 16110, 7, 86, 2, 2, 16110, 16111, 7, 75, 2, 2, 16111, 16112, 7, 81, 2, 2, 16112, 16113, 7, 80, 2, 2, 16113, 2146, 3, 2, 2, 2, 16114, 16115, 7, 80, 2, 2, 16115, 16116, 7, 81, 2, 2, 16116, 16117, 7, 86, 2, 2, 16117, 2148, 3, 2, 2, 2, 16118, 16119, 7, 80, 2, 2, 16119, 16120, 7, 81, 2, 2, 16120, 16121, 7, 97, 2, 2, 16121, 16122, 7, 86, 2, 2, 16122, 16123, 7, 84, 2, 2, 16123, 16124, 7, 67, 2, 2, 16124, 16125, 7, 80, 2, 2, 16125, 16126, 7, 85, 2, 2, 16126, 16127, 7, 72, 2, 2, 16127, 16128, 7, 81, 2, 2, 16128, 16129, 7, 84, 2, 2, 16129, 16130, 7, 79, 2, 2, 16130, 16131, 7, 97, 2, 2, 16131, 16132, 7, 70, 2, 2, 16132, 16133, 7, 75, 2, 2, 16133, 16134, 7, 85, 2, 2, 16134, 16135, 7, 86, 2, 2, 16135, 16136, 7, 75, 2, 2, 16136, 16137, 7, 80, 2, 2, 16137, 16138, 7, 69, 2, 2, 16138, 16139, 7, 86, 2, 2, 16139, 16140, 7, 97, 2, 2, 16140, 16141, 7, 67, 2, 2, 16141, 16142, 7, 73, 2, 2, 16142, 16143, 7, 73, 2, 2, 16143, 2150, 3, 2, 2, 2, 16144, 16145, 7, 80, 2, 2, 16145, 16146, 7, 81, 2, 2, 16146, 16147, 7, 97, 2, 2, 16147, 16148, 7, 87, 2, 2, 16148, 16149, 7, 80, 2, 2, 16149, 16150, 7, 80, 2, 2, 16150, 16151, 7, 71, 2, 2, 16151, 16152, 7, 85, 2, 2, 16152, 16153, 7, 86, 2, 2, 16153, 2152, 3, 2, 2, 2, 16154, 16155, 7, 80, 2, 2, 16155, 16156, 7, 81, 2, 2, 16156, 16157, 7, 97, 2, 2, 16157, 16158, 7, 87, 2, 2, 16158, 16159, 7, 85, 2, 2, 16159, 16160, 7, 71, 2, 2, 16160, 16161, 7, 97, 2, 2, 16161, 16162, 7, 69, 2, 2, 16162, 16163, 7, 87, 2, 2, 16163, 16164, 7, 68, 2, 2, 16164, 16165, 7, 71, 2, 2, 16165, 2154, 3, 2, 2, 2, 16166, 16167, 7, 80, 2, 2, 16167, 16168, 7, 81, 2, 2, 16168, 16169, 7, 97, 2, 2, 16169, 16170, 7, 87, 2, 2, 16170, 16171, 7, 85, 2, 2, 16171, 16172, 7, 71, 2, 2, 16172, 16173, 7, 97, 2, 2, 16173, 16174, 7, 74, 2, 2, 16174, 16175, 7, 67, 2, 2, 16175, 16176, 7, 85, 2, 2, 16176, 16177, 7, 74, 2, 2, 16177, 16178, 7, 97, 2, 2, 16178, 16179, 7, 67, 2, 2, 16179, 16180, 7, 73, 2, 2, 16180, 16181, 7, 73, 2, 2, 16181, 16182, 7, 84, 2, 2, 16182, 16183, 7, 71, 2, 2, 16183, 16184, 7, 73, 2, 2, 16184, 16185, 7, 67, 2, 2, 16185, 16186, 7, 86, 2, 2, 16186, 16187, 7, 75, 2, 2, 16187, 16188, 7, 81, 2, 2, 16188, 16189, 7, 80, 2, 2, 16189, 2156, 3, 2, 2, 2, 16190, 16191, 7, 80, 2, 2, 16191, 16192, 7, 81, 2, 2, 16192, 16193, 7, 97, 2, 2, 16193, 16194, 7, 87, 2, 2, 16194, 16195, 7, 85, 2, 2, 16195, 16196, 7, 71, 2, 2, 16196, 16197, 7, 97, 2, 2, 16197, 16198, 7, 74, 2, 2, 16198, 16199, 7, 67, 2, 2, 16199, 16200, 7, 85, 2, 2, 16200, 16201, 7, 74, 2, 2, 16201, 16202, 7, 97, 2, 2, 16202, 16203, 7, 73, 2, 2, 16203, 16204, 7, 68, 2, 2, 16204, 16205, 7, 91, 2, 2, 16205, 16206, 7, 97, 2, 2, 16206, 16207, 7, 72, 2, 2, 16207, 16208, 7, 81, 2, 2, 16208, 16209, 7, 84, 2, 2, 16209, 16210, 7, 97, 2, 2, 16210, 16211, 7, 82, 2, 2, 16211, 16212, 7, 87, 2, 2, 16212, 16213, 7, 85, 2, 2, 16213, 16214, 7, 74, 2, 2, 16214, 16215, 7, 70, 2, 2, 16215, 16216, 7, 81, 2, 2, 16216, 16217, 7, 89, 2, 2, 16217, 16218, 7, 80, 2, 2, 16218, 2158, 3, 2, 2, 2, 16219, 16220, 7, 80, 2, 2, 16220, 16221, 7, 81, 2, 2, 16221, 16222, 7, 97, 2, 2, 16222, 16223, 7, 87, 2, 2, 16223, 16224, 7, 85, 2, 2, 16224, 16225, 7, 71, 2, 2, 16225, 16226, 7, 97, 2, 2, 16226, 16227, 7, 74, 2, 2, 16227, 16228, 7, 67, 2, 2, 16228, 16229, 7, 85, 2, 2, 16229, 16230, 7, 74, 2, 2, 16230, 2160, 3, 2, 2, 2, 16231, 16232, 7, 80, 2, 2, 16232, 16233, 7, 81, 2, 2, 16233, 16234, 7, 97, 2, 2, 16234, 16235, 7, 87, 2, 2, 16235, 16236, 7, 85, 2, 2, 16236, 16237, 7, 71, 2, 2, 16237, 16238, 7, 97, 2, 2, 16238, 16239, 7, 75, 2, 2, 16239, 16240, 7, 80, 2, 2, 16240, 16241, 7, 88, 2, 2, 16241, 16242, 7, 75, 2, 2, 16242, 16243, 7, 85, 2, 2, 16243, 16244, 7, 75, 2, 2, 16244, 16245, 7, 68, 2, 2, 16245, 16246, 7, 78, 2, 2, 16246, 16247, 7, 71, 2, 2, 16247, 16248, 7, 97, 2, 2, 16248, 16249, 7, 75, 2, 2, 16249, 16250, 7, 80, 2, 2, 16250, 16251, 7, 70, 2, 2, 16251, 16252, 7, 71, 2, 2, 16252, 16253, 7, 90, 2, 2, 16253, 16254, 7, 71, 2, 2, 16254, 16255, 7, 85, 2, 2, 16255, 2162, 3, 2, 2, 2, 16256, 16257, 7, 80, 2, 2, 16257, 16258, 7, 81, 2, 2, 16258, 16259, 7, 97, 2, 2, 16259, 16260, 7, 87, 2, 2, 16260, 16261, 7, 85, 2, 2, 16261, 16262, 7, 71, 2, 2, 16262, 16263, 7, 97, 2, 2, 16263, 16264, 7, 79, 2, 2, 16264, 16265, 7, 71, 2, 2, 16265, 16266, 7, 84, 2, 2, 16266, 16267, 7, 73, 2, 2, 16267, 16268, 7, 71, 2, 2, 16268, 2164, 3, 2, 2, 2, 16269, 16270, 7, 80, 2, 2, 16270, 16271, 7, 81, 2, 2, 16271, 16272, 7, 97, 2, 2, 16272, 16273, 7, 87, 2, 2, 16273, 16274, 7, 85, 2, 2, 16274, 16275, 7, 71, 2, 2, 16275, 16276, 7, 97, 2, 2, 16276, 16277, 7, 80, 2, 2, 16277, 16278, 7, 78, 2, 2, 16278, 2166, 3, 2, 2, 2, 16279, 16280, 7, 80, 2, 2, 16280, 16281, 7, 81, 2, 2, 16281, 16282, 7, 97, 2, 2, 16282, 16283, 7, 87, 2, 2, 16283, 16284, 7, 85, 2, 2, 16284, 16285, 7, 71, 2, 2, 16285, 16286, 7, 97, 2, 2, 16286, 16287, 7, 88, 2, 2, 16287, 16288, 7, 71, 2, 2, 16288, 16289, 7, 69, 2, 2, 16289, 16290, 7, 86, 2, 2, 16290, 16291, 7, 81, 2, 2, 16291, 16292, 7, 84, 2, 2, 16292, 16293, 7, 97, 2, 2, 16293, 16294, 7, 67, 2, 2, 16294, 16295, 7, 73, 2, 2, 16295, 16296, 7, 73, 2, 2, 16296, 16297, 7, 84, 2, 2, 16297, 16298, 7, 71, 2, 2, 16298, 16299, 7, 73, 2, 2, 16299, 16300, 7, 67, 2, 2, 16300, 16301, 7, 86, 2, 2, 16301, 16302, 7, 75, 2, 2, 16302, 16303, 7, 81, 2, 2, 16303, 16304, 7, 80, 2, 2, 16304, 2168, 3, 2, 2, 2, 16305, 16306, 7, 80, 2, 2, 16306, 16307, 7, 81, 2, 2, 16307, 16308, 7, 88, 2, 2, 16308, 16309, 7, 67, 2, 2, 16309, 16310, 7, 78, 2, 2, 16310, 16311, 7, 75, 2, 2, 16311, 16312, 7, 70, 2, 2, 16312, 16313, 7, 67, 2, 2, 16313, 16314, 7, 86, 2, 2, 16314, 16315, 7, 71, 2, 2, 16315, 2170, 3, 2, 2, 2, 16316, 16317, 7, 80, 2, 2, 16317, 16318, 7, 81, 2, 2, 16318, 16319, 7, 97, 2, 2, 16319, 16320, 7, 88, 2, 2, 16320, 16321, 7, 71, 2, 2, 16321, 16322, 7, 69, 2, 2, 16322, 16323, 7, 86, 2, 2, 16323, 16324, 7, 81, 2, 2, 16324, 16325, 7, 84, 2, 2, 16325, 16326, 7, 97, 2, 2, 16326, 16327, 7, 86, 2, 2, 16327, 16328, 7, 84, 2, 2, 16328, 16329, 7, 67, 2, 2, 16329, 16330, 7, 80, 2, 2, 16330, 16331, 7, 85, 2, 2, 16331, 16332, 7, 72, 2, 2, 16332, 16333, 7, 81, 2, 2, 16333, 16334, 7, 84, 2, 2, 16334, 16335, 7, 79, 2, 2, 16335, 16336, 7, 97, 2, 2, 16336, 16337, 7, 70, 2, 2, 16337, 16338, 7, 75, 2, 2, 16338, 16339, 7, 79, 2, 2, 16339, 16340, 7, 85, 2, 2, 16340, 2172, 3, 2, 2, 2, 16341, 16342, 7, 80, 2, 2, 16342, 16343, 7, 81, 2, 2, 16343, 16344, 7, 97, 2, 2, 16344, 16345, 7, 88, 2, 2, 16345, 16346, 7, 71, 2, 2, 16346, 16347, 7, 69, 2, 2, 16347, 16348, 7, 86, 2, 2, 16348, 16349, 7, 81, 2, 2, 16349, 16350, 7, 84, 2, 2, 16350, 16351, 7, 97, 2, 2, 16351, 16352, 7, 86, 2, 2, 16352, 16353, 7, 84, 2, 2, 16353, 16354, 7, 67, 2, 2, 16354, 16355, 7, 80, 2, 2, 16355, 16356, 7, 85, 2, 2, 16356, 16357, 7, 72, 2, 2, 16357, 16358, 7, 81, 2, 2, 16358, 16359, 7, 84, 2, 2, 16359, 16360, 7, 79, 2, 2, 16360, 16361, 7, 97, 2, 2, 16361, 16362, 7, 72, 2, 2, 16362, 16363, 7, 67, 2, 2, 16363, 16364, 7, 69, 2, 2, 16364, 16365, 7, 86, 2, 2, 16365, 2174, 3, 2, 2, 2, 16366, 16367, 7, 80, 2, 2, 16367, 16368, 7, 81, 2, 2, 16368, 16369, 7, 97, 2, 2, 16369, 16370, 7, 88, 2, 2, 16370, 16371, 7, 71, 2, 2, 16371, 16372, 7, 69, 2, 2, 16372, 16373, 7, 86, 2, 2, 16373, 16374, 7, 81, 2, 2, 16374, 16375, 7, 84, 2, 2, 16375, 16376, 7, 97, 2, 2, 16376, 16377, 7, 86, 2, 2, 16377, 16378, 7, 84, 2, 2, 16378, 16379, 7, 67, 2, 2, 16379, 16380, 7, 80, 2, 2, 16380, 16381, 7, 85, 2, 2, 16381, 16382, 7, 72, 2, 2, 16382, 16383, 7, 81, 2, 2, 16383, 16384, 7, 84, 2, 2, 16384, 16385, 7, 79, 2, 2, 16385, 2176, 3, 2, 2, 2, 16386, 16387, 7, 80, 2, 2, 16387, 16388, 7, 81, 2, 2, 16388, 16389, 7, 89, 2, 2, 16389, 16390, 7, 67, 2, 2, 16390, 16391, 7, 75, 2, 2, 16391, 16392, 7, 86, 2, 2, 16392, 2178, 3, 2, 2, 2, 16393, 16394, 7, 80, 2, 2, 16394, 16395, 7, 81, 2, 2, 16395, 16396, 7, 97, 2, 2, 16396, 16397, 7, 90, 2, 2, 16397, 16398, 7, 70, 2, 2, 16398, 16399, 7, 68, 2, 2, 16399, 16400, 7, 97, 2, 2, 16400, 16401, 7, 72, 2, 2, 16401, 16402, 7, 67, 2, 2, 16402, 16403, 7, 85, 2, 2, 16403, 16404, 7, 86, 2, 2, 16404, 16405, 7, 82, 2, 2, 16405, 16406, 7, 67, 2, 2, 16406, 16407, 7, 86, 2, 2, 16407, 16408, 7, 74, 2, 2, 16408, 16409, 7, 97, 2, 2, 16409, 16410, 7, 75, 2, 2, 16410, 16411, 7, 80, 2, 2, 16411, 16412, 7, 85, 2, 2, 16412, 16413, 7, 71, 2, 2, 16413, 16414, 7, 84, 2, 2, 16414, 16415, 7, 86, 2, 2, 16415, 2180, 3, 2, 2, 2, 16416, 16417, 7, 80, 2, 2, 16417, 16418, 7, 81, 2, 2, 16418, 16419, 7, 97, 2, 2, 16419, 16420, 7, 90, 2, 2, 16420, 16421, 7, 79, 2, 2, 16421, 16422, 7, 78, 2, 2, 16422, 16423, 7, 97, 2, 2, 16423, 16424, 7, 70, 2, 2, 16424, 16425, 7, 79, 2, 2, 16425, 16426, 7, 78, 2, 2, 16426, 16427, 7, 97, 2, 2, 16427, 16428, 7, 84, 2, 2, 16428, 16429, 7, 71, 2, 2, 16429, 16430, 7, 89, 2, 2, 16430, 16431, 7, 84, 2, 2, 16431, 16432, 7, 75, 2, 2, 16432, 16433, 7, 86, 2, 2, 16433, 16434, 7, 71, 2, 2, 16434, 2182, 3, 2, 2, 2, 16435, 16436, 7, 80, 2, 2, 16436, 16437, 7, 81, 2, 2, 16437, 16438, 7, 97, 2, 2, 16438, 16439, 7, 90, 2, 2, 16439, 16440, 7, 79, 2, 2, 16440, 16441, 7, 78, 2, 2, 16441, 16442, 7, 75, 2, 2, 16442, 16443, 7, 80, 2, 2, 16443, 16444, 7, 70, 2, 2, 16444, 16445, 7, 71, 2, 2, 16445, 16446, 7, 90, 2, 2, 16446, 16447, 7, 97, 2, 2, 16447, 16448, 7, 84, 2, 2, 16448, 16449, 7, 71, 2, 2, 16449, 16450, 7, 89, 2, 2, 16450, 16451, 7, 84, 2, 2, 16451, 16452, 7, 75, 2, 2, 16452, 16453, 7, 86, 2, 2, 16453, 16454, 7, 71, 2, 2, 16454, 16455, 7, 97, 2, 2, 16455, 16456, 7, 75, 2, 2, 16456, 16457, 7, 80, 2, 2, 16457, 16458, 7, 97, 2, 2, 16458, 16459, 7, 85, 2, 2, 16459, 16460, 7, 71, 2, 2, 16460, 16461, 7, 78, 2, 2, 16461, 16462, 7, 71, 2, 2, 16462, 16463, 7, 69, 2, 2, 16463, 16464, 7, 86, 2, 2, 16464, 2184, 3, 2, 2, 2, 16465, 16466, 7, 80, 2, 2, 16466, 16467, 7, 81, 2, 2, 16467, 16468, 7, 97, 2, 2, 16468, 16469, 7, 90, 2, 2, 16469, 16470, 7, 79, 2, 2, 16470, 16471, 7, 78, 2, 2, 16471, 16472, 7, 75, 2, 2, 16472, 16473, 7, 80, 2, 2, 16473, 16474, 7, 70, 2, 2, 16474, 16475, 7, 71, 2, 2, 16475, 16476, 7, 90, 2, 2, 16476, 16477, 7, 97, 2, 2, 16477, 16478, 7, 84, 2, 2, 16478, 16479, 7, 71, 2, 2, 16479, 16480, 7, 89, 2, 2, 16480, 16481, 7, 84, 2, 2, 16481, 16482, 7, 75, 2, 2, 16482, 16483, 7, 86, 2, 2, 16483, 16484, 7, 71, 2, 2, 16484, 2186, 3, 2, 2, 2, 16485, 16486, 7, 80, 2, 2, 16486, 16487, 7, 81, 2, 2, 16487, 16488, 7, 97, 2, 2, 16488, 16489, 7, 90, 2, 2, 16489, 16490, 7, 79, 2, 2, 16490, 16491, 7, 78, 2, 2, 16491, 16492, 7, 97, 2, 2, 16492, 16493, 7, 83, 2, 2, 16493, 16494, 7, 87, 2, 2, 16494, 16495, 7, 71, 2, 2, 16495, 16496, 7, 84, 2, 2, 16496, 16497, 7, 91, 2, 2, 16497, 16498, 7, 97, 2, 2, 16498, 16499, 7, 84, 2, 2, 16499, 16500, 7, 71, 2, 2, 16500, 16501, 7, 89, 2, 2, 16501, 16502, 7, 84, 2, 2, 16502, 16503, 7, 75, 2, 2, 16503, 16504, 7, 86, 2, 2, 16504, 16505, 7, 71, 2, 2, 16505, 2188, 3, 2, 2, 2, 16506, 16507, 7, 80, 2, 2, 16507, 16508, 7, 81, 2, 2, 16508, 16509, 7, 97, 2, 2, 16509, 16510, 7, 92, 2, 2, 16510, 16511, 7, 81, 2, 2, 16511, 16512, 7, 80, 2, 2, 16512, 16513, 7, 71, 2, 2, 16513, 16514, 7, 79, 2, 2, 16514, 16515, 7, 67, 2, 2, 16515, 16516, 7, 82, 2, 2, 16516, 2190, 3, 2, 2, 2, 16517, 16518, 7, 80, 2, 2, 16518, 16519, 7, 86, 2, 2, 16519, 16520, 7, 74, 2, 2, 16520, 16521, 7, 97, 2, 2, 16521, 16522, 7, 88, 2, 2, 16522, 16523, 7, 67, 2, 2, 16523, 16524, 7, 78, 2, 2, 16524, 16525, 7, 87, 2, 2, 16525, 16526, 7, 71, 2, 2, 16526, 2192, 3, 2, 2, 2, 16527, 16528, 7, 80, 2, 2, 16528, 16529, 7, 87, 2, 2, 16529, 16530, 7, 78, 2, 2, 16530, 16531, 7, 78, 2, 2, 16531, 16532, 7, 75, 2, 2, 16532, 16533, 7, 72, 2, 2, 16533, 2194, 3, 2, 2, 2, 16534, 16535, 7, 80, 2, 2, 16535, 16536, 7, 87, 2, 2, 16536, 16537, 7, 78, 2, 2, 16537, 16538, 7, 78, 2, 2, 16538, 2196, 3, 2, 2, 2, 16539, 16540, 7, 80, 2, 2, 16540, 16541, 7, 87, 2, 2, 16541, 16542, 7, 78, 2, 2, 16542, 16543, 7, 78, 2, 2, 16543, 16544, 7, 85, 2, 2, 16544, 2198, 3, 2, 2, 2, 16545, 16546, 7, 80, 2, 2, 16546, 16547, 7, 87, 2, 2, 16547, 16548, 7, 79, 2, 2, 16548, 16549, 7, 68, 2, 2, 16549, 16550, 7, 71, 2, 2, 16550, 16551, 7, 84, 2, 2, 16551, 2200, 3, 2, 2, 2, 16552, 16553, 7, 80, 2, 2, 16553, 16554, 7, 87, 2, 2, 16554, 16555, 7, 79, 2, 2, 16555, 16556, 7, 71, 2, 2, 16556, 16557, 7, 84, 2, 2, 16557, 16558, 7, 75, 2, 2, 16558, 16559, 7, 69, 2, 2, 16559, 2202, 3, 2, 2, 2, 16560, 16561, 7, 80, 2, 2, 16561, 16562, 7, 87, 2, 2, 16562, 16563, 7, 79, 2, 2, 16563, 16564, 7, 97, 2, 2, 16564, 16565, 7, 75, 2, 2, 16565, 16566, 7, 80, 2, 2, 16566, 16567, 7, 70, 2, 2, 16567, 16568, 7, 71, 2, 2, 16568, 16569, 7, 90, 2, 2, 16569, 16570, 7, 97, 2, 2, 16570, 16571, 7, 77, 2, 2, 16571, 16572, 7, 71, 2, 2, 16572, 16573, 7, 91, 2, 2, 16573, 16574, 7, 85, 2, 2, 16574, 2204, 3, 2, 2, 2, 16575, 16576, 7, 80, 2, 2, 16576, 16577, 7, 87, 2, 2, 16577, 16578, 7, 79, 2, 2, 16578, 16579, 7, 86, 2, 2, 16579, 16580, 7, 81, 2, 2, 16580, 16581, 7, 70, 2, 2, 16581, 16582, 7, 85, 2, 2, 16582, 16583, 7, 75, 2, 2, 16583, 16584, 7, 80, 2, 2, 16584, 16585, 7, 86, 2, 2, 16585, 16586, 7, 71, 2, 2, 16586, 16587, 7, 84, 2, 2, 16587, 16588, 7, 88, 2, 2, 16588, 16589, 7, 67, 2, 2, 16589, 16590, 7, 78, 2, 2, 16590, 2206, 3, 2, 2, 2, 16591, 16592, 7, 80, 2, 2, 16592, 16593, 7, 87, 2, 2, 16593, 16594, 7, 79, 2, 2, 16594, 16595, 7, 86, 2, 2, 16595, 16596, 7, 81, 2, 2, 16596, 16597, 7, 91, 2, 2, 16597, 16598, 7, 79, 2, 2, 16598, 16599, 7, 75, 2, 2, 16599, 16600, 7, 80, 2, 2, 16600, 16601, 7, 86, 2, 2, 16601, 16602, 7, 71, 2, 2, 16602, 16603, 7, 84, 2, 2, 16603, 16604, 7, 88, 2, 2, 16604, 16605, 7, 67, 2, 2, 16605, 16606, 7, 78, 2, 2, 16606, 2208, 3, 2, 2, 2, 16607, 16608, 7, 80, 2, 2, 16608, 16609, 7, 88, 2, 2, 16609, 16610, 7, 67, 2, 2, 16610, 16611, 7, 84, 2, 2, 16611, 16612, 7, 69, 2, 2, 16612, 16613, 7, 74, 2, 2, 16613, 16614, 7, 67, 2, 2, 16614, 16615, 7, 84, 2, 2, 16615, 16616, 7, 52, 2, 2, 16616, 2210, 3, 2, 2, 2, 16617, 16618, 7, 80, 2, 2, 16618, 16619, 7, 88, 2, 2, 16619, 16620, 7, 78, 2, 2, 16620, 16621, 7, 52, 2, 2, 16621, 2212, 3, 2, 2, 2, 16622, 16623, 7, 81, 2, 2, 16623, 16624, 7, 68, 2, 2, 16624, 16625, 7, 76, 2, 2, 16625, 16626, 7, 71, 2, 2, 16626, 16627, 7, 69, 2, 2, 16627, 16628, 7, 86, 2, 2, 16628, 16629, 7, 52, 2, 2, 16629, 16630, 7, 90, 2, 2, 16630, 16631, 7, 79, 2, 2, 16631, 16632, 7, 78, 2, 2, 16632, 2214, 3, 2, 2, 2, 16633, 16634, 7, 81, 2, 2, 16634, 16635, 7, 68, 2, 2, 16635, 16636, 7, 76, 2, 2, 16636, 16637, 7, 71, 2, 2, 16637, 16638, 7, 69, 2, 2, 16638, 16639, 7, 86, 2, 2, 16639, 2216, 3, 2, 2, 2, 16640, 16641, 7, 81, 2, 2, 16641, 16642, 7, 68, 2, 2, 16642, 16643, 7, 76, 2, 2, 16643, 16644, 7, 97, 2, 2, 16644, 16645, 7, 75, 2, 2, 16645, 16646, 7, 70, 2, 2, 16646, 2218, 3, 2, 2, 2, 16647, 16648, 7, 81, 2, 2, 16648, 16649, 7, 68, 2, 2, 16649, 16650, 7, 76, 2, 2, 16650, 16651, 7, 80, 2, 2, 16651, 16652, 7, 81, 2, 2, 16652, 2220, 3, 2, 2, 2, 16653, 16654, 7, 81, 2, 2, 16654, 16655, 7, 68, 2, 2, 16655, 16656, 7, 76, 2, 2, 16656, 16657, 7, 80, 2, 2, 16657, 16658, 7, 81, 2, 2, 16658, 16659, 7, 97, 2, 2, 16659, 16660, 7, 84, 2, 2, 16660, 16661, 7, 71, 2, 2, 16661, 16662, 7, 87, 2, 2, 16662, 16663, 7, 85, 2, 2, 16663, 16664, 7, 71, 2, 2, 16664, 2222, 3, 2, 2, 2, 16665, 16666, 7, 81, 2, 2, 16666, 16667, 7, 69, 2, 2, 16667, 16668, 7, 69, 2, 2, 16668, 16669, 7, 87, 2, 2, 16669, 16670, 7, 84, 2, 2, 16670, 16671, 7, 71, 2, 2, 16671, 16672, 7, 80, 2, 2, 16672, 16673, 7, 69, 2, 2, 16673, 16674, 7, 71, 2, 2, 16674, 16675, 7, 85, 2, 2, 16675, 2224, 3, 2, 2, 2, 16676, 16677, 7, 81, 2, 2, 16677, 16678, 7, 72, 2, 2, 16678, 16679, 7, 72, 2, 2, 16679, 16680, 7, 78, 2, 2, 16680, 16681, 7, 75, 2, 2, 16681, 16682, 7, 80, 2, 2, 16682, 16683, 7, 71, 2, 2, 16683, 2226, 3, 2, 2, 2, 16684, 16685, 7, 81, 2, 2, 16685, 16686, 7, 72, 2, 2, 16686, 16687, 7, 72, 2, 2, 16687, 2228, 3, 2, 2, 2, 16688, 16689, 7, 81, 2, 2, 16689, 16690, 7, 72, 2, 2, 16690, 16691, 7, 72, 2, 2, 16691, 16692, 7, 85, 2, 2, 16692, 16693, 7, 71, 2, 2, 16693, 16694, 7, 86, 2, 2, 16694, 2230, 3, 2, 2, 2, 16695, 16696, 7, 81, 2, 2, 16696, 16697, 7, 72, 2, 2, 16697, 2232, 3, 2, 2, 2, 16698, 16699, 7, 81, 2, 2, 16699, 16700, 7, 75, 2, 2, 16700, 16701, 7, 70, 2, 2, 16701, 16702, 7, 75, 2, 2, 16702, 16703, 7, 80, 2, 2, 16703, 16704, 7, 70, 2, 2, 16704, 16705, 7, 71, 2, 2, 16705, 16706, 7, 90, 2, 2, 16706, 2234, 3, 2, 2, 2, 16707, 16708, 7, 81, 2, 2, 16708, 16709, 7, 75, 2, 2, 16709, 16710, 7, 70, 2, 2, 16710, 2236, 3, 2, 2, 2, 16711, 16712, 7, 81, 2, 2, 16712, 16713, 7, 78, 2, 2, 16713, 16714, 7, 67, 2, 2, 16714, 16715, 7, 82, 2, 2, 16715, 2238, 3, 2, 2, 2, 16716, 16717, 7, 81, 2, 2, 16717, 16718, 7, 78, 2, 2, 16718, 16719, 7, 70, 2, 2, 16719, 2240, 3, 2, 2, 2, 16720, 16721, 7, 81, 2, 2, 16721, 16722, 7, 78, 2, 2, 16722, 16723, 7, 70, 2, 2, 16723, 16724, 7, 97, 2, 2, 16724, 16725, 7, 82, 2, 2, 16725, 16726, 7, 87, 2, 2, 16726, 16727, 7, 85, 2, 2, 16727, 16728, 7, 74, 2, 2, 16728, 16729, 7, 97, 2, 2, 16729, 16730, 7, 82, 2, 2, 16730, 16731, 7, 84, 2, 2, 16731, 16732, 7, 71, 2, 2, 16732, 16733, 7, 70, 2, 2, 16733, 2242, 3, 2, 2, 2, 16734, 16735, 7, 81, 2, 2, 16735, 16736, 7, 78, 2, 2, 16736, 16737, 7, 85, 2, 2, 16737, 2244, 3, 2, 2, 2, 16738, 16739, 7, 81, 2, 2, 16739, 16740, 7, 78, 2, 2, 16740, 16741, 7, 86, 2, 2, 16741, 16742, 7, 82, 2, 2, 16742, 2246, 3, 2, 2, 2, 16743, 16744, 7, 81, 2, 2, 16744, 16745, 7, 79, 2, 2, 16745, 16746, 7, 75, 2, 2, 16746, 16747, 7, 86, 2, 2, 16747, 2248, 3, 2, 2, 2, 16748, 16749, 7, 81, 2, 2, 16749, 16750, 7, 80, 2, 2, 16750, 16751, 7, 71, 2, 2, 16751, 2250, 3, 2, 2, 2, 16752, 16753, 7, 81, 2, 2, 16753, 16754, 7, 80, 2, 2, 16754, 16755, 7, 78, 2, 2, 16755, 16756, 7, 75, 2, 2, 16756, 16757, 7, 80, 2, 2, 16757, 16758, 7, 71, 2, 2, 16758, 2252, 3, 2, 2, 2, 16759, 16760, 7, 81, 2, 2, 16760, 16761, 7, 80, 2, 2, 16761, 16762, 7, 78, 2, 2, 16762, 16763, 7, 75, 2, 2, 16763, 16764, 7, 80, 2, 2, 16764, 16765, 7, 71, 2, 2, 16765, 16766, 7, 78, 2, 2, 16766, 16767, 7, 81, 2, 2, 16767, 16768, 7, 73, 2, 2, 16768, 2254, 3, 2, 2, 2, 16769, 16770, 7, 81, 2, 2, 16770, 16771, 7, 80, 2, 2, 16771, 16772, 7, 78, 2, 2, 16772, 16773, 7, 91, 2, 2, 16773, 2256, 3, 2, 2, 2, 16774, 16775, 7, 81, 2, 2, 16775, 16776, 7, 80, 2, 2, 16776, 2258, 3, 2, 2, 2, 16777, 16778, 7, 81, 2, 2, 16778, 16779, 7, 82, 2, 2, 16779, 16780, 7, 67, 2, 2, 16780, 16781, 7, 83, 2, 2, 16781, 16782, 7, 87, 2, 2, 16782, 16783, 7, 71, 2, 2, 16783, 2260, 3, 2, 2, 2, 16784, 16785, 7, 81, 2, 2, 16785, 16786, 7, 82, 2, 2, 16786, 16787, 7, 67, 2, 2, 16787, 16788, 7, 83, 2, 2, 16788, 16789, 7, 87, 2, 2, 16789, 16790, 7, 71, 2, 2, 16790, 16791, 7, 97, 2, 2, 16791, 16792, 7, 86, 2, 2, 16792, 16793, 7, 84, 2, 2, 16793, 16794, 7, 67, 2, 2, 16794, 16795, 7, 80, 2, 2, 16795, 16796, 7, 85, 2, 2, 16796, 16797, 7, 72, 2, 2, 16797, 16798, 7, 81, 2, 2, 16798, 16799, 7, 84, 2, 2, 16799, 16800, 7, 79, 2, 2, 16800, 2262, 3, 2, 2, 2, 16801, 16802, 7, 81, 2, 2, 16802, 16803, 7, 82, 2, 2, 16803, 16804, 7, 67, 2, 2, 16804, 16805, 7, 83, 2, 2, 16805, 16806, 7, 87, 2, 2, 16806, 16807, 7, 71, 2, 2, 16807, 16808, 7, 97, 2, 2, 16808, 16809, 7, 90, 2, 2, 16809, 16810, 7, 69, 2, 2, 16810, 16811, 7, 67, 2, 2, 16811, 16812, 7, 80, 2, 2, 16812, 16813, 7, 81, 2, 2, 16813, 16814, 7, 80, 2, 2, 16814, 16815, 7, 75, 2, 2, 16815, 16816, 7, 69, 2, 2, 16816, 16817, 7, 67, 2, 2, 16817, 16818, 7, 78, 2, 2, 16818, 2264, 3, 2, 2, 2, 16819, 16820, 7, 81, 2, 2, 16820, 16821, 7, 82, 2, 2, 16821, 16822, 7, 69, 2, 2, 16822, 16823, 7, 81, 2, 2, 16823, 16824, 7, 70, 2, 2, 16824, 16825, 7, 71, 2, 2, 16825, 2266, 3, 2, 2, 2, 16826, 16827, 7, 81, 2, 2, 16827, 16828, 7, 82, 2, 2, 16828, 16829, 7, 71, 2, 2, 16829, 16830, 7, 80, 2, 2, 16830, 2268, 3, 2, 2, 2, 16831, 16832, 7, 81, 2, 2, 16832, 16833, 7, 82, 2, 2, 16833, 16834, 7, 71, 2, 2, 16834, 16835, 7, 84, 2, 2, 16835, 16836, 7, 67, 2, 2, 16836, 16837, 7, 86, 2, 2, 16837, 16838, 7, 75, 2, 2, 16838, 16839, 7, 81, 2, 2, 16839, 16840, 7, 80, 2, 2, 16840, 16841, 7, 85, 2, 2, 16841, 2270, 3, 2, 2, 2, 16842, 16843, 7, 81, 2, 2, 16843, 16844, 7, 82, 2, 2, 16844, 16845, 7, 71, 2, 2, 16845, 16846, 7, 84, 2, 2, 16846, 16847, 7, 67, 2, 2, 16847, 16848, 7, 86, 2, 2, 16848, 16849, 7, 81, 2, 2, 16849, 16850, 7, 84, 2, 2, 16850, 2272, 3, 2, 2, 2, 16851, 16852, 7, 81, 2, 2, 16852, 16853, 7, 82, 2, 2, 16853, 16854, 7, 86, 2, 2, 16854, 16855, 7, 97, 2, 2, 16855, 16856, 7, 71, 2, 2, 16856, 16857, 7, 85, 2, 2, 16857, 16858, 7, 86, 2, 2, 16858, 16859, 7, 75, 2, 2, 16859, 16860, 7, 79, 2, 2, 16860, 16861, 7, 67, 2, 2, 16861, 16862, 7, 86, 2, 2, 16862, 16863, 7, 71, 2, 2, 16863, 2274, 3, 2, 2, 2, 16864, 16865, 7, 81, 2, 2, 16865, 16866, 7, 82, 2, 2, 16866, 16867, 7, 86, 2, 2, 16867, 16868, 7, 75, 2, 2, 16868, 16869, 7, 79, 2, 2, 16869, 16870, 7, 67, 2, 2, 16870, 16871, 7, 78, 2, 2, 16871, 2276, 3, 2, 2, 2, 16872, 16873, 7, 81, 2, 2, 16873, 16874, 7, 82, 2, 2, 16874, 16875, 7, 86, 2, 2, 16875, 16876, 7, 75, 2, 2, 16876, 16877, 7, 79, 2, 2, 16877, 16878, 7, 75, 2, 2, 16878, 16879, 7, 92, 2, 2, 16879, 16880, 7, 71, 2, 2, 16880, 2278, 3, 2, 2, 2, 16881, 16882, 7, 81, 2, 2, 16882, 16883, 7, 82, 2, 2, 16883, 16884, 7, 86, 2, 2, 16884, 16885, 7, 75, 2, 2, 16885, 16886, 7, 79, 2, 2, 16886, 16887, 7, 75, 2, 2, 16887, 16888, 7, 92, 2, 2, 16888, 16889, 7, 71, 2, 2, 16889, 16890, 7, 84, 2, 2, 16890, 16891, 7, 97, 2, 2, 16891, 16892, 7, 72, 2, 2, 16892, 16893, 7, 71, 2, 2, 16893, 16894, 7, 67, 2, 2, 16894, 16895, 7, 86, 2, 2, 16895, 16896, 7, 87, 2, 2, 16896, 16897, 7, 84, 2, 2, 16897, 16898, 7, 71, 2, 2, 16898, 16899, 7, 85, 2, 2, 16899, 16900, 7, 97, 2, 2, 16900, 16901, 7, 71, 2, 2, 16901, 16902, 7, 80, 2, 2, 16902, 16903, 7, 67, 2, 2, 16903, 16904, 7, 68, 2, 2, 16904, 16905, 7, 78, 2, 2, 16905, 16906, 7, 71, 2, 2, 16906, 2280, 3, 2, 2, 2, 16907, 16908, 7, 81, 2, 2, 16908, 16909, 7, 82, 2, 2, 16909, 16910, 7, 86, 2, 2, 16910, 16911, 7, 75, 2, 2, 16911, 16912, 7, 79, 2, 2, 16912, 16913, 7, 75, 2, 2, 16913, 16914, 7, 92, 2, 2, 16914, 16915, 7, 71, 2, 2, 16915, 16916, 7, 84, 2, 2, 16916, 16917, 7, 97, 2, 2, 16917, 16918, 7, 73, 2, 2, 16918, 16919, 7, 81, 2, 2, 16919, 16920, 7, 67, 2, 2, 16920, 16921, 7, 78, 2, 2, 16921, 2282, 3, 2, 2, 2, 16922, 16923, 7, 81, 2, 2, 16923, 16924, 7, 82, 2, 2, 16924, 16925, 7, 86, 2, 2, 16925, 16926, 7, 75, 2, 2, 16926, 16927, 7, 81, 2, 2, 16927, 16928, 7, 80, 2, 2, 16928, 2284, 3, 2, 2, 2, 16929, 16930, 7, 81, 2, 2, 16930, 16931, 7, 82, 2, 2, 16931, 16932, 7, 86, 2, 2, 16932, 16933, 7, 97, 2, 2, 16933, 16934, 7, 82, 2, 2, 16934, 16935, 7, 67, 2, 2, 16935, 16936, 7, 84, 2, 2, 16936, 16937, 7, 67, 2, 2, 16937, 16938, 7, 79, 2, 2, 16938, 2286, 3, 2, 2, 2, 16939, 16940, 7, 81, 2, 2, 16940, 16941, 7, 84, 2, 2, 16941, 16942, 7, 67, 2, 2, 16942, 16943, 7, 97, 2, 2, 16943, 16944, 7, 68, 2, 2, 16944, 16945, 7, 84, 2, 2, 16945, 16946, 7, 67, 2, 2, 16946, 16947, 7, 80, 2, 2, 16947, 16948, 7, 69, 2, 2, 16948, 16949, 7, 74, 2, 2, 16949, 2288, 3, 2, 2, 2, 16950, 16951, 7, 81, 2, 2, 16951, 16952, 7, 84, 2, 2, 16952, 16953, 7, 67, 2, 2, 16953, 16954, 7, 97, 2, 2, 16954, 16955, 7, 69, 2, 2, 16955, 16956, 7, 74, 2, 2, 16956, 16957, 7, 71, 2, 2, 16957, 16958, 7, 69, 2, 2, 16958, 16959, 7, 77, 2, 2, 16959, 16960, 7, 97, 2, 2, 16960, 16961, 7, 67, 2, 2, 16961, 16962, 7, 69, 2, 2, 16962, 16963, 7, 78, 2, 2, 16963, 2290, 3, 2, 2, 2, 16964, 16965, 7, 81, 2, 2, 16965, 16966, 7, 84, 2, 2, 16966, 16967, 7, 67, 2, 2, 16967, 16968, 7, 97, 2, 2, 16968, 16969, 7, 69, 2, 2, 16969, 16970, 7, 74, 2, 2, 16970, 16971, 7, 71, 2, 2, 16971, 16972, 7, 69, 2, 2, 16972, 16973, 7, 77, 2, 2, 16973, 16974, 7, 97, 2, 2, 16974, 16975, 7, 82, 2, 2, 16975, 16976, 7, 84, 2, 2, 16976, 16977, 7, 75, 2, 2, 16977, 16978, 7, 88, 2, 2, 16978, 16979, 7, 75, 2, 2, 16979, 16980, 7, 78, 2, 2, 16980, 16981, 7, 71, 2, 2, 16981, 16982, 7, 73, 2, 2, 16982, 16983, 7, 71, 2, 2, 16983, 2292, 3, 2, 2, 2, 16984, 16985, 7, 81, 2, 2, 16985, 16986, 7, 84, 2, 2, 16986, 16987, 7, 67, 2, 2, 16987, 16988, 7, 97, 2, 2, 16988, 16989, 7, 69, 2, 2, 16989, 16990, 7, 78, 2, 2, 16990, 16991, 7, 87, 2, 2, 16991, 16992, 7, 85, 2, 2, 16992, 16993, 7, 86, 2, 2, 16993, 16994, 7, 71, 2, 2, 16994, 16995, 7, 84, 2, 2, 16995, 16996, 7, 75, 2, 2, 16996, 16997, 7, 80, 2, 2, 16997, 16998, 7, 73, 2, 2, 16998, 2294, 3, 2, 2, 2, 16999, 17000, 7, 81, 2, 2, 17000, 17001, 7, 84, 2, 2, 17001, 17002, 7, 67, 2, 2, 17002, 17003, 7, 70, 2, 2, 17003, 17004, 7, 67, 2, 2, 17004, 17005, 7, 86, 2, 2, 17005, 17006, 7, 67, 2, 2, 17006, 2296, 3, 2, 2, 2, 17007, 17008, 7, 81, 2, 2, 17008, 17009, 7, 84, 2, 2, 17009, 17010, 7, 67, 2, 2, 17010, 17011, 7, 70, 2, 2, 17011, 17012, 7, 71, 2, 2, 17012, 17013, 7, 68, 2, 2, 17013, 17014, 7, 87, 2, 2, 17014, 17015, 7, 73, 2, 2, 17015, 2298, 3, 2, 2, 2, 17016, 17017, 7, 81, 2, 2, 17017, 17018, 7, 84, 2, 2, 17018, 17019, 7, 67, 2, 2, 17019, 17020, 7, 97, 2, 2, 17020, 17021, 7, 70, 2, 2, 17021, 17022, 7, 85, 2, 2, 17022, 17023, 7, 86, 2, 2, 17023, 17024, 7, 97, 2, 2, 17024, 17025, 7, 67, 2, 2, 17025, 17026, 7, 72, 2, 2, 17026, 17027, 7, 72, 2, 2, 17027, 17028, 7, 71, 2, 2, 17028, 17029, 7, 69, 2, 2, 17029, 17030, 7, 86, 2, 2, 17030, 17031, 7, 71, 2, 2, 17031, 17032, 7, 70, 2, 2, 17032, 2300, 3, 2, 2, 2, 17033, 17034, 7, 81, 2, 2, 17034, 17035, 7, 84, 2, 2, 17035, 17036, 7, 67, 2, 2, 17036, 17037, 7, 97, 2, 2, 17037, 17038, 7, 70, 2, 2, 17038, 17039, 7, 85, 2, 2, 17039, 17040, 7, 86, 2, 2, 17040, 17041, 7, 97, 2, 2, 17041, 17042, 7, 69, 2, 2, 17042, 17043, 7, 81, 2, 2, 17043, 17044, 7, 80, 2, 2, 17044, 17045, 7, 88, 2, 2, 17045, 17046, 7, 71, 2, 2, 17046, 17047, 7, 84, 2, 2, 17047, 17048, 7, 86, 2, 2, 17048, 2302, 3, 2, 2, 2, 17049, 17050, 7, 81, 2, 2, 17050, 17051, 7, 84, 2, 2, 17051, 17052, 7, 67, 2, 2, 17052, 17053, 7, 97, 2, 2, 17053, 17054, 7, 70, 2, 2, 17054, 17055, 7, 85, 2, 2, 17055, 17056, 7, 86, 2, 2, 17056, 17057, 7, 97, 2, 2, 17057, 17058, 7, 71, 2, 2, 17058, 17059, 7, 84, 2, 2, 17059, 17060, 7, 84, 2, 2, 17060, 17061, 7, 81, 2, 2, 17061, 17062, 7, 84, 2, 2, 17062, 2304, 3, 2, 2, 2, 17063, 17064, 7, 81, 2, 2, 17064, 17065, 7, 84, 2, 2, 17065, 17066, 7, 67, 2, 2, 17066, 17067, 7, 97, 2, 2, 17067, 17068, 7, 73, 2, 2, 17068, 17069, 7, 71, 2, 2, 17069, 17070, 7, 86, 2, 2, 17070, 17071, 7, 97, 2, 2, 17071, 17072, 7, 67, 2, 2, 17072, 17073, 7, 69, 2, 2, 17073, 17074, 7, 78, 2, 2, 17074, 17075, 7, 75, 2, 2, 17075, 17076, 7, 70, 2, 2, 17076, 17077, 7, 85, 2, 2, 17077, 2306, 3, 2, 2, 2, 17078, 17079, 7, 81, 2, 2, 17079, 17080, 7, 84, 2, 2, 17080, 17081, 7, 67, 2, 2, 17081, 17082, 7, 97, 2, 2, 17082, 17083, 7, 73, 2, 2, 17083, 17084, 7, 71, 2, 2, 17084, 17085, 7, 86, 2, 2, 17085, 17086, 7, 97, 2, 2, 17086, 17087, 7, 82, 2, 2, 17087, 17088, 7, 84, 2, 2, 17088, 17089, 7, 75, 2, 2, 17089, 17090, 7, 88, 2, 2, 17090, 17091, 7, 75, 2, 2, 17091, 17092, 7, 78, 2, 2, 17092, 17093, 7, 71, 2, 2, 17093, 17094, 7, 73, 2, 2, 17094, 17095, 7, 71, 2, 2, 17095, 17096, 7, 85, 2, 2, 17096, 2308, 3, 2, 2, 2, 17097, 17098, 7, 81, 2, 2, 17098, 17099, 7, 84, 2, 2, 17099, 17100, 7, 67, 2, 2, 17100, 17101, 7, 97, 2, 2, 17101, 17102, 7, 74, 2, 2, 17102, 17103, 7, 67, 2, 2, 17103, 17104, 7, 85, 2, 2, 17104, 17105, 7, 74, 2, 2, 17105, 2310, 3, 2, 2, 2, 17106, 17107, 7, 81, 2, 2, 17107, 17108, 7, 84, 2, 2, 17108, 17109, 7, 67, 2, 2, 17109, 17110, 7, 97, 2, 2, 17110, 17111, 7, 75, 2, 2, 17111, 17112, 7, 80, 2, 2, 17112, 17113, 7, 88, 2, 2, 17113, 17114, 7, 81, 2, 2, 17114, 17115, 7, 77, 2, 2, 17115, 17116, 7, 75, 2, 2, 17116, 17117, 7, 80, 2, 2, 17117, 17118, 7, 73, 2, 2, 17118, 17119, 7, 97, 2, 2, 17119, 17120, 7, 87, 2, 2, 17120, 17121, 7, 85, 2, 2, 17121, 17122, 7, 71, 2, 2, 17122, 17123, 7, 84, 2, 2, 17123, 17124, 7, 75, 2, 2, 17124, 17125, 7, 70, 2, 2, 17125, 2312, 3, 2, 2, 2, 17126, 17127, 7, 81, 2, 2, 17127, 17128, 7, 84, 2, 2, 17128, 17129, 7, 67, 2, 2, 17129, 17130, 7, 97, 2, 2, 17130, 17131, 7, 75, 2, 2, 17131, 17132, 7, 80, 2, 2, 17132, 17133, 7, 88, 2, 2, 17133, 17134, 7, 81, 2, 2, 17134, 17135, 7, 77, 2, 2, 17135, 17136, 7, 75, 2, 2, 17136, 17137, 7, 80, 2, 2, 17137, 17138, 7, 73, 2, 2, 17138, 17139, 7, 97, 2, 2, 17139, 17140, 7, 87, 2, 2, 17140, 17141, 7, 85, 2, 2, 17141, 17142, 7, 71, 2, 2, 17142, 17143, 7, 84, 2, 2, 17143, 2314, 3, 2, 2, 2, 17144, 17145, 7, 81, 2, 2, 17145, 17146, 7, 84, 2, 2, 17146, 17147, 7, 67, 2, 2, 17147, 17148, 7, 97, 2, 2, 17148, 17149, 7, 75, 2, 2, 17149, 17150, 7, 80, 2, 2, 17150, 17151, 7, 88, 2, 2, 17151, 17152, 7, 81, 2, 2, 17152, 17153, 7, 77, 2, 2, 17153, 17154, 7, 75, 2, 2, 17154, 17155, 7, 80, 2, 2, 17155, 17156, 7, 73, 2, 2, 17156, 17157, 7, 97, 2, 2, 17157, 17158, 7, 90, 2, 2, 17158, 17159, 7, 85, 2, 2, 17159, 17160, 7, 97, 2, 2, 17160, 17161, 7, 87, 2, 2, 17161, 17162, 7, 85, 2, 2, 17162, 17163, 7, 71, 2, 2, 17163, 17164, 7, 84, 2, 2, 17164, 17165, 7, 97, 2, 2, 17165, 17166, 7, 73, 2, 2, 17166, 17167, 7, 87, 2, 2, 17167, 17168, 7, 75, 2, 2, 17168, 17169, 7, 70, 2, 2, 17169, 2316, 3, 2, 2, 2, 17170, 17171, 7, 81, 2, 2, 17171, 17172, 7, 84, 2, 2, 17172, 17173, 7, 67, 2, 2, 17173, 17174, 7, 97, 2, 2, 17174, 17175, 7, 75, 2, 2, 17175, 17176, 7, 80, 2, 2, 17176, 17177, 7, 88, 2, 2, 17177, 17178, 7, 81, 2, 2, 17178, 17179, 7, 77, 2, 2, 17179, 17180, 7, 75, 2, 2, 17180, 17181, 7, 80, 2, 2, 17181, 17182, 7, 73, 2, 2, 17182, 17183, 7, 97, 2, 2, 17183, 17184, 7, 90, 2, 2, 17184, 17185, 7, 85, 2, 2, 17185, 17186, 7, 97, 2, 2, 17186, 17187, 7, 87, 2, 2, 17187, 17188, 7, 85, 2, 2, 17188, 17189, 7, 71, 2, 2, 17189, 17190, 7, 84, 2, 2, 17190, 2318, 3, 2, 2, 2, 17191, 17192, 7, 81, 2, 2, 17192, 17193, 7, 84, 2, 2, 17193, 17194, 7, 67, 2, 2, 17194, 17195, 7, 97, 2, 2, 17195, 17196, 7, 84, 2, 2, 17196, 17197, 7, 67, 2, 2, 17197, 17198, 7, 89, 2, 2, 17198, 17199, 7, 69, 2, 2, 17199, 17200, 7, 81, 2, 2, 17200, 17201, 7, 79, 2, 2, 17201, 17202, 7, 82, 2, 2, 17202, 17203, 7, 67, 2, 2, 17203, 17204, 7, 84, 2, 2, 17204, 17205, 7, 71, 2, 2, 17205, 2320, 3, 2, 2, 2, 17206, 17207, 7, 81, 2, 2, 17207, 17208, 7, 84, 2, 2, 17208, 17209, 7, 67, 2, 2, 17209, 17210, 7, 97, 2, 2, 17210, 17211, 7, 84, 2, 2, 17211, 17212, 7, 67, 2, 2, 17212, 17213, 7, 89, 2, 2, 17213, 17214, 7, 69, 2, 2, 17214, 17215, 7, 81, 2, 2, 17215, 17216, 7, 80, 2, 2, 17216, 17217, 7, 69, 2, 2, 17217, 17218, 7, 67, 2, 2, 17218, 17219, 7, 86, 2, 2, 17219, 2322, 3, 2, 2, 2, 17220, 17221, 7, 81, 2, 2, 17221, 17222, 7, 84, 2, 2, 17222, 17223, 7, 67, 2, 2, 17223, 17224, 7, 97, 2, 2, 17224, 17225, 7, 84, 2, 2, 17225, 17226, 7, 81, 2, 2, 17226, 17227, 7, 89, 2, 2, 17227, 17228, 7, 85, 2, 2, 17228, 17229, 7, 69, 2, 2, 17229, 17230, 7, 80, 2, 2, 17230, 2324, 3, 2, 2, 2, 17231, 17232, 7, 81, 2, 2, 17232, 17233, 7, 84, 2, 2, 17233, 17234, 7, 67, 2, 2, 17234, 17235, 7, 97, 2, 2, 17235, 17236, 7, 84, 2, 2, 17236, 17237, 7, 81, 2, 2, 17237, 17238, 7, 89, 2, 2, 17238, 17239, 7, 85, 2, 2, 17239, 17240, 7, 69, 2, 2, 17240, 17241, 7, 80, 2, 2, 17241, 17242, 7, 97, 2, 2, 17242, 17243, 7, 84, 2, 2, 17243, 17244, 7, 67, 2, 2, 17244, 17245, 7, 89, 2, 2, 17245, 2326, 3, 2, 2, 2, 17246, 17247, 7, 81, 2, 2, 17247, 17248, 7, 84, 2, 2, 17248, 17249, 7, 67, 2, 2, 17249, 17250, 7, 97, 2, 2, 17250, 17251, 7, 84, 2, 2, 17251, 17252, 7, 81, 2, 2, 17252, 17253, 7, 89, 2, 2, 17253, 17254, 7, 88, 2, 2, 17254, 17255, 7, 71, 2, 2, 17255, 17256, 7, 84, 2, 2, 17256, 17257, 7, 85, 2, 2, 17257, 17258, 7, 75, 2, 2, 17258, 17259, 7, 81, 2, 2, 17259, 17260, 7, 80, 2, 2, 17260, 2328, 3, 2, 2, 2, 17261, 17262, 7, 81, 2, 2, 17262, 17263, 7, 84, 2, 2, 17263, 17264, 7, 67, 2, 2, 17264, 17265, 7, 97, 2, 2, 17265, 17266, 7, 86, 2, 2, 17266, 17267, 7, 67, 2, 2, 17267, 17268, 7, 68, 2, 2, 17268, 17269, 7, 88, 2, 2, 17269, 17270, 7, 71, 2, 2, 17270, 17271, 7, 84, 2, 2, 17271, 17272, 7, 85, 2, 2, 17272, 17273, 7, 75, 2, 2, 17273, 17274, 7, 81, 2, 2, 17274, 17275, 7, 80, 2, 2, 17275, 2330, 3, 2, 2, 2, 17276, 17277, 7, 81, 2, 2, 17277, 17278, 7, 84, 2, 2, 17278, 17279, 7, 67, 2, 2, 17279, 17280, 7, 97, 2, 2, 17280, 17281, 7, 89, 2, 2, 17281, 17282, 7, 84, 2, 2, 17282, 17283, 7, 75, 2, 2, 17283, 17284, 7, 86, 2, 2, 17284, 17285, 7, 71, 2, 2, 17285, 17286, 7, 97, 2, 2, 17286, 17287, 7, 86, 2, 2, 17287, 17288, 7, 75, 2, 2, 17288, 17289, 7, 79, 2, 2, 17289, 17290, 7, 71, 2, 2, 17290, 2332, 3, 2, 2, 2, 17291, 17292, 7, 81, 2, 2, 17292, 17293, 7, 84, 2, 2, 17293, 17294, 7, 70, 2, 2, 17294, 17295, 7, 71, 2, 2, 17295, 17296, 7, 84, 2, 2, 17296, 17297, 7, 71, 2, 2, 17297, 17298, 7, 70, 2, 2, 17298, 2334, 3, 2, 2, 2, 17299, 17300, 7, 81, 2, 2, 17300, 17301, 7, 84, 2, 2, 17301, 17302, 7, 70, 2, 2, 17302, 17303, 7, 71, 2, 2, 17303, 17304, 7, 84, 2, 2, 17304, 17305, 7, 71, 2, 2, 17305, 17306, 7, 70, 2, 2, 17306, 17307, 7, 97, 2, 2, 17307, 17308, 7, 82, 2, 2, 17308, 17309, 7, 84, 2, 2, 17309, 17310, 7, 71, 2, 2, 17310, 17311, 7, 70, 2, 2, 17311, 17312, 7, 75, 2, 2, 17312, 17313, 7, 69, 2, 2, 17313, 17314, 7, 67, 2, 2, 17314, 17315, 7, 86, 2, 2, 17315, 17316, 7, 71, 2, 2, 17316, 17317, 7, 85, 2, 2, 17317, 2336, 3, 2, 2, 2, 17318, 17319, 7, 81, 2, 2, 17319, 17320, 7, 84, 2, 2, 17320, 17321, 7, 70, 2, 2, 17321, 17322, 7, 71, 2, 2, 17322, 17323, 7, 84, 2, 2, 17323, 2338, 3, 2, 2, 2, 17324, 17325, 7, 81, 2, 2, 17325, 17326, 7, 84, 2, 2, 17326, 17327, 7, 70, 2, 2, 17327, 17328, 7, 75, 2, 2, 17328, 17329, 7, 80, 2, 2, 17329, 17330, 7, 67, 2, 2, 17330, 17331, 7, 78, 2, 2, 17331, 17332, 7, 75, 2, 2, 17332, 17333, 7, 86, 2, 2, 17333, 17334, 7, 91, 2, 2, 17334, 2340, 3, 2, 2, 2, 17335, 17336, 7, 81, 2, 2, 17336, 17337, 7, 84, 2, 2, 17337, 17338, 7, 97, 2, 2, 17338, 17339, 7, 71, 2, 2, 17339, 17340, 7, 90, 2, 2, 17340, 17341, 7, 82, 2, 2, 17341, 17342, 7, 67, 2, 2, 17342, 17343, 7, 80, 2, 2, 17343, 17344, 7, 70, 2, 2, 17344, 2342, 3, 2, 2, 2, 17345, 17346, 7, 81, 2, 2, 17346, 17347, 7, 84, 2, 2, 17347, 17348, 7, 73, 2, 2, 17348, 17349, 7, 67, 2, 2, 17349, 17350, 7, 80, 2, 2, 17350, 17351, 7, 75, 2, 2, 17351, 17352, 7, 92, 2, 2, 17352, 17353, 7, 67, 2, 2, 17353, 17354, 7, 86, 2, 2, 17354, 17355, 7, 75, 2, 2, 17355, 17356, 7, 81, 2, 2, 17356, 17357, 7, 80, 2, 2, 17357, 2344, 3, 2, 2, 2, 17358, 17359, 7, 81, 2, 2, 17359, 17360, 7, 84, 2, 2, 17360, 2346, 3, 2, 2, 2, 17361, 17362, 7, 81, 2, 2, 17362, 17363, 7, 84, 2, 2, 17363, 17364, 7, 97, 2, 2, 17364, 17365, 7, 82, 2, 2, 17365, 17366, 7, 84, 2, 2, 17366, 17367, 7, 71, 2, 2, 17367, 17368, 7, 70, 2, 2, 17368, 17369, 7, 75, 2, 2, 17369, 17370, 7, 69, 2, 2, 17370, 17371, 7, 67, 2, 2, 17371, 17372, 7, 86, 2, 2, 17372, 17373, 7, 71, 2, 2, 17373, 17374, 7, 85, 2, 2, 17374, 2348, 3, 2, 2, 2, 17375, 17376, 7, 81, 2, 2, 17376, 17377, 7, 85, 2, 2, 17377, 17378, 7, 71, 2, 2, 17378, 17379, 7, 84, 2, 2, 17379, 17380, 7, 84, 2, 2, 17380, 17381, 7, 81, 2, 2, 17381, 17382, 7, 84, 2, 2, 17382, 2350, 3, 2, 2, 2, 17383, 17384, 7, 81, 2, 2, 17384, 17385, 7, 86, 2, 2, 17385, 17386, 7, 74, 2, 2, 17386, 17387, 7, 71, 2, 2, 17387, 17388, 7, 84, 2, 2, 17388, 2352, 3, 2, 2, 2, 17389, 17390, 7, 81, 2, 2, 17390, 17391, 7, 87, 2, 2, 17391, 17392, 7, 86, 2, 2, 17392, 17393, 7, 71, 2, 2, 17393, 17394, 7, 84, 2, 2, 17394, 17395, 7, 97, 2, 2, 17395, 17396, 7, 76, 2, 2, 17396, 17397, 7, 81, 2, 2, 17397, 17398, 7, 75, 2, 2, 17398, 17399, 7, 80, 2, 2, 17399, 17400, 7, 97, 2, 2, 17400, 17401, 7, 86, 2, 2, 17401, 17402, 7, 81, 2, 2, 17402, 17403, 7, 97, 2, 2, 17403, 17404, 7, 67, 2, 2, 17404, 17405, 7, 80, 2, 2, 17405, 17406, 7, 86, 2, 2, 17406, 17407, 7, 75, 2, 2, 17407, 2354, 3, 2, 2, 2, 17408, 17409, 7, 81, 2, 2, 17409, 17410, 7, 87, 2, 2, 17410, 17411, 7, 86, 2, 2, 17411, 17412, 7, 71, 2, 2, 17412, 17413, 7, 84, 2, 2, 17413, 17414, 7, 97, 2, 2, 17414, 17415, 7, 76, 2, 2, 17415, 17416, 7, 81, 2, 2, 17416, 17417, 7, 75, 2, 2, 17417, 17418, 7, 80, 2, 2, 17418, 17419, 7, 97, 2, 2, 17419, 17420, 7, 86, 2, 2, 17420, 17421, 7, 81, 2, 2, 17421, 17422, 7, 97, 2, 2, 17422, 17423, 7, 75, 2, 2, 17423, 17424, 7, 80, 2, 2, 17424, 17425, 7, 80, 2, 2, 17425, 17426, 7, 71, 2, 2, 17426, 17427, 7, 84, 2, 2, 17427, 2356, 3, 2, 2, 2, 17428, 17429, 7, 81, 2, 2, 17429, 17430, 7, 87, 2, 2, 17430, 17431, 7, 86, 2, 2, 17431, 17432, 7, 71, 2, 2, 17432, 17433, 7, 84, 2, 2, 17433, 2358, 3, 2, 2, 2, 17434, 17435, 7, 81, 2, 2, 17435, 17436, 7, 87, 2, 2, 17436, 17437, 7, 86, 2, 2, 17437, 17438, 7, 78, 2, 2, 17438, 17439, 7, 75, 2, 2, 17439, 17440, 7, 80, 2, 2, 17440, 17441, 7, 71, 2, 2, 17441, 17442, 7, 97, 2, 2, 17442, 17443, 7, 78, 2, 2, 17443, 17444, 7, 71, 2, 2, 17444, 17445, 7, 67, 2, 2, 17445, 17446, 7, 72, 2, 2, 17446, 2360, 3, 2, 2, 2, 17447, 17448, 7, 81, 2, 2, 17448, 17449, 7, 87, 2, 2, 17449, 17450, 7, 86, 2, 2, 17450, 17451, 7, 78, 2, 2, 17451, 17452, 7, 75, 2, 2, 17452, 17453, 7, 80, 2, 2, 17453, 17454, 7, 71, 2, 2, 17454, 2362, 3, 2, 2, 2, 17455, 17456, 7, 81, 2, 2, 17456, 17457, 7, 87, 2, 2, 17457, 17458, 7, 86, 2, 2, 17458, 17459, 7, 97, 2, 2, 17459, 17460, 7, 81, 2, 2, 17460, 17461, 7, 72, 2, 2, 17461, 17462, 7, 97, 2, 2, 17462, 17463, 7, 78, 2, 2, 17463, 17464, 7, 75, 2, 2, 17464, 17465, 7, 80, 2, 2, 17465, 17466, 7, 71, 2, 2, 17466, 2364, 3, 2, 2, 2, 17467, 17468, 7, 81, 2, 2, 17468, 17469, 7, 87, 2, 2, 17469, 17470, 7, 86, 2, 2, 17470, 2366, 3, 2, 2, 2, 17471, 17472, 7, 81, 2, 2, 17472, 17473, 7, 88, 2, 2, 17473, 17474, 7, 71, 2, 2, 17474, 17475, 7, 84, 2, 2, 17475, 17476, 7, 72, 2, 2, 17476, 17477, 7, 78, 2, 2, 17477, 17478, 7, 81, 2, 2, 17478, 17479, 7, 89, 2, 2, 17479, 17480, 7, 97, 2, 2, 17480, 17481, 7, 80, 2, 2, 17481, 17482, 7, 81, 2, 2, 17482, 17483, 7, 79, 2, 2, 17483, 17484, 7, 81, 2, 2, 17484, 17485, 7, 88, 2, 2, 17485, 17486, 7, 71, 2, 2, 17486, 2368, 3, 2, 2, 2, 17487, 17488, 7, 81, 2, 2, 17488, 17489, 7, 88, 2, 2, 17489, 17490, 7, 71, 2, 2, 17490, 17491, 7, 84, 2, 2, 17491, 17492, 7, 72, 2, 2, 17492, 17493, 7, 78, 2, 2, 17493, 17494, 7, 81, 2, 2, 17494, 17495, 7, 89, 2, 2, 17495, 2370, 3, 2, 2, 2, 17496, 17497, 7, 81, 2, 2, 17497, 17498, 7, 88, 2, 2, 17498, 17499, 7, 71, 2, 2, 17499, 17500, 7, 84, 2, 2, 17500, 17501, 7, 78, 2, 2, 17501, 17502, 7, 67, 2, 2, 17502, 17503, 7, 82, 2, 2, 17503, 17504, 7, 85, 2, 2, 17504, 2372, 3, 2, 2, 2, 17505, 17506, 7, 81, 2, 2, 17506, 17507, 7, 88, 2, 2, 17507, 17508, 7, 71, 2, 2, 17508, 17509, 7, 84, 2, 2, 17509, 2374, 3, 2, 2, 2, 17510, 17511, 7, 81, 2, 2, 17511, 17512, 7, 88, 2, 2, 17512, 17513, 7, 71, 2, 2, 17513, 17514, 7, 84, 2, 2, 17514, 17515, 7, 84, 2, 2, 17515, 17516, 7, 75, 2, 2, 17516, 17517, 7, 70, 2, 2, 17517, 17518, 7, 75, 2, 2, 17518, 17519, 7, 80, 2, 2, 17519, 17520, 7, 73, 2, 2, 17520, 2376, 3, 2, 2, 2, 17521, 17522, 7, 81, 2, 2, 17522, 17523, 7, 89, 2, 2, 17523, 17524, 7, 80, 2, 2, 17524, 17525, 7, 71, 2, 2, 17525, 17526, 7, 84, 2, 2, 17526, 2378, 3, 2, 2, 2, 17527, 17528, 7, 81, 2, 2, 17528, 17529, 7, 89, 2, 2, 17529, 17530, 7, 80, 2, 2, 17530, 17531, 7, 71, 2, 2, 17531, 17532, 7, 84, 2, 2, 17532, 17533, 7, 85, 2, 2, 17533, 17534, 7, 74, 2, 2, 17534, 17535, 7, 75, 2, 2, 17535, 17536, 7, 82, 2, 2, 17536, 2380, 3, 2, 2, 2, 17537, 17538, 7, 81, 2, 2, 17538, 17539, 7, 89, 2, 2, 17539, 17540, 7, 80, 2, 2, 17540, 2382, 3, 2, 2, 2, 17541, 17542, 7, 82, 2, 2, 17542, 17543, 7, 67, 2, 2, 17543, 17544, 7, 69, 2, 2, 17544, 17545, 7, 77, 2, 2, 17545, 17546, 7, 67, 2, 2, 17546, 17547, 7, 73, 2, 2, 17547, 17548, 7, 71, 2, 2, 17548, 2384, 3, 2, 2, 2, 17549, 17550, 7, 82, 2, 2, 17550, 17551, 7, 67, 2, 2, 17551, 17552, 7, 69, 2, 2, 17552, 17553, 7, 77, 2, 2, 17553, 17554, 7, 67, 2, 2, 17554, 17555, 7, 73, 2, 2, 17555, 17556, 7, 71, 2, 2, 17556, 17557, 7, 85, 2, 2, 17557, 2386, 3, 2, 2, 2, 17558, 17559, 7, 82, 2, 2, 17559, 17560, 7, 67, 2, 2, 17560, 17561, 7, 84, 2, 2, 17561, 17562, 7, 67, 2, 2, 17562, 17563, 7, 78, 2, 2, 17563, 17564, 7, 78, 2, 2, 17564, 17565, 7, 71, 2, 2, 17565, 17566, 7, 78, 2, 2, 17566, 17567, 7, 97, 2, 2, 17567, 17568, 7, 71, 2, 2, 17568, 17569, 7, 80, 2, 2, 17569, 17570, 7, 67, 2, 2, 17570, 17571, 7, 68, 2, 2, 17571, 17572, 7, 78, 2, 2, 17572, 17573, 7, 71, 2, 2, 17573, 2388, 3, 2, 2, 2, 17574, 17575, 7, 82, 2, 2, 17575, 17576, 7, 67, 2, 2, 17576, 17577, 7, 84, 2, 2, 17577, 17578, 7, 67, 2, 2, 17578, 17579, 7, 78, 2, 2, 17579, 17580, 7, 78, 2, 2, 17580, 17581, 7, 71, 2, 2, 17581, 17582, 7, 78, 2, 2, 17582, 17583, 7, 97, 2, 2, 17583, 17584, 7, 75, 2, 2, 17584, 17585, 7, 80, 2, 2, 17585, 17586, 7, 70, 2, 2, 17586, 17587, 7, 71, 2, 2, 17587, 17588, 7, 90, 2, 2, 17588, 2390, 3, 2, 2, 2, 17589, 17590, 7, 82, 2, 2, 17590, 17591, 7, 67, 2, 2, 17591, 17592, 7, 84, 2, 2, 17592, 17593, 7, 67, 2, 2, 17593, 17594, 7, 78, 2, 2, 17594, 17595, 7, 78, 2, 2, 17595, 17596, 7, 71, 2, 2, 17596, 17597, 7, 78, 2, 2, 17597, 2392, 3, 2, 2, 2, 17598, 17599, 7, 82, 2, 2, 17599, 17600, 7, 67, 2, 2, 17600, 17601, 7, 84, 2, 2, 17601, 17602, 7, 67, 2, 2, 17602, 17603, 7, 79, 2, 2, 17603, 17604, 7, 71, 2, 2, 17604, 17605, 7, 86, 2, 2, 17605, 17606, 7, 71, 2, 2, 17606, 17607, 7, 84, 2, 2, 17607, 17608, 7, 72, 2, 2, 17608, 17609, 7, 75, 2, 2, 17609, 17610, 7, 78, 2, 2, 17610, 17611, 7, 71, 2, 2, 17611, 2394, 3, 2, 2, 2, 17612, 17613, 7, 82, 2, 2, 17613, 17614, 7, 67, 2, 2, 17614, 17615, 7, 84, 2, 2, 17615, 17616, 7, 67, 2, 2, 17616, 17617, 7, 79, 2, 2, 17617, 17618, 7, 71, 2, 2, 17618, 17619, 7, 86, 2, 2, 17619, 17620, 7, 71, 2, 2, 17620, 17621, 7, 84, 2, 2, 17621, 17622, 7, 85, 2, 2, 17622, 2396, 3, 2, 2, 2, 17623, 17624, 7, 82, 2, 2, 17624, 17625, 7, 67, 2, 2, 17625, 17626, 7, 84, 2, 2, 17626, 17627, 7, 67, 2, 2, 17627, 17628, 7, 79, 2, 2, 17628, 2398, 3, 2, 2, 2, 17629, 17630, 7, 82, 2, 2, 17630, 17631, 7, 67, 2, 2, 17631, 17632, 7, 84, 2, 2, 17632, 17633, 7, 71, 2, 2, 17633, 17634, 7, 80, 2, 2, 17634, 17635, 7, 86, 2, 2, 17635, 2400, 3, 2, 2, 2, 17636, 17637, 7, 82, 2, 2, 17637, 17638, 7, 67, 2, 2, 17638, 17639, 7, 84, 2, 2, 17639, 17640, 7, 75, 2, 2, 17640, 17641, 7, 86, 2, 2, 17641, 17642, 7, 91, 2, 2, 17642, 2402, 3, 2, 2, 2, 17643, 17644, 7, 82, 2, 2, 17644, 17645, 7, 67, 2, 2, 17645, 17646, 7, 84, 2, 2, 17646, 17647, 7, 86, 2, 2, 17647, 17648, 7, 75, 2, 2, 17648, 17649, 7, 67, 2, 2, 17649, 17650, 7, 78, 2, 2, 17650, 17651, 7, 97, 2, 2, 17651, 17652, 7, 76, 2, 2, 17652, 17653, 7, 81, 2, 2, 17653, 17654, 7, 75, 2, 2, 17654, 17655, 7, 80, 2, 2, 17655, 2404, 3, 2, 2, 2, 17656, 17657, 7, 82, 2, 2, 17657, 17658, 7, 67, 2, 2, 17658, 17659, 7, 84, 2, 2, 17659, 17660, 7, 86, 2, 2, 17660, 17661, 7, 75, 2, 2, 17661, 17662, 7, 67, 2, 2, 17662, 17663, 7, 78, 2, 2, 17663, 17664, 7, 78, 2, 2, 17664, 17665, 7, 91, 2, 2, 17665, 2406, 3, 2, 2, 2, 17666, 17667, 7, 82, 2, 2, 17667, 17668, 7, 67, 2, 2, 17668, 17669, 7, 84, 2, 2, 17669, 17670, 7, 86, 2, 2, 17670, 17671, 7, 75, 2, 2, 17671, 17672, 7, 67, 2, 2, 17672, 17673, 7, 78, 2, 2, 17673, 2408, 3, 2, 2, 2, 17674, 17675, 7, 82, 2, 2, 17675, 17676, 7, 67, 2, 2, 17676, 17677, 7, 84, 2, 2, 17677, 17678, 7, 86, 2, 2, 17678, 17679, 7, 75, 2, 2, 17679, 17680, 7, 67, 2, 2, 17680, 17681, 7, 78, 2, 2, 17681, 17682, 7, 97, 2, 2, 17682, 17683, 7, 84, 2, 2, 17683, 17684, 7, 81, 2, 2, 17684, 17685, 7, 78, 2, 2, 17685, 17686, 7, 78, 2, 2, 17686, 17687, 7, 87, 2, 2, 17687, 17688, 7, 82, 2, 2, 17688, 17689, 7, 97, 2, 2, 17689, 17690, 7, 82, 2, 2, 17690, 17691, 7, 87, 2, 2, 17691, 17692, 7, 85, 2, 2, 17692, 17693, 7, 74, 2, 2, 17693, 17694, 7, 70, 2, 2, 17694, 17695, 7, 81, 2, 2, 17695, 17696, 7, 89, 2, 2, 17696, 17697, 7, 80, 2, 2, 17697, 2410, 3, 2, 2, 2, 17698, 17699, 7, 82, 2, 2, 17699, 17700, 7, 67, 2, 2, 17700, 17701, 7, 84, 2, 2, 17701, 17702, 7, 86, 2, 2, 17702, 17703, 7, 75, 2, 2, 17703, 17704, 7, 86, 2, 2, 17704, 17705, 7, 75, 2, 2, 17705, 17706, 7, 81, 2, 2, 17706, 17707, 7, 80, 2, 2, 17707, 17708, 7, 97, 2, 2, 17708, 17709, 7, 74, 2, 2, 17709, 17710, 7, 67, 2, 2, 17710, 17711, 7, 85, 2, 2, 17711, 17712, 7, 74, 2, 2, 17712, 2412, 3, 2, 2, 2, 17713, 17714, 7, 82, 2, 2, 17714, 17715, 7, 67, 2, 2, 17715, 17716, 7, 84, 2, 2, 17716, 17717, 7, 86, 2, 2, 17717, 17718, 7, 75, 2, 2, 17718, 17719, 7, 86, 2, 2, 17719, 17720, 7, 75, 2, 2, 17720, 17721, 7, 81, 2, 2, 17721, 17722, 7, 80, 2, 2, 17722, 17723, 7, 97, 2, 2, 17723, 17724, 7, 78, 2, 2, 17724, 17725, 7, 75, 2, 2, 17725, 17726, 7, 85, 2, 2, 17726, 17727, 7, 86, 2, 2, 17727, 2414, 3, 2, 2, 2, 17728, 17729, 7, 82, 2, 2, 17729, 17730, 7, 67, 2, 2, 17730, 17731, 7, 84, 2, 2, 17731, 17732, 7, 86, 2, 2, 17732, 17733, 7, 75, 2, 2, 17733, 17734, 7, 86, 2, 2, 17734, 17735, 7, 75, 2, 2, 17735, 17736, 7, 81, 2, 2, 17736, 17737, 7, 80, 2, 2, 17737, 2416, 3, 2, 2, 2, 17738, 17739, 7, 82, 2, 2, 17739, 17740, 7, 67, 2, 2, 17740, 17741, 7, 84, 2, 2, 17741, 17742, 7, 86, 2, 2, 17742, 17743, 7, 75, 2, 2, 17743, 17744, 7, 86, 2, 2, 17744, 17745, 7, 75, 2, 2, 17745, 17746, 7, 81, 2, 2, 17746, 17747, 7, 80, 2, 2, 17747, 17748, 7, 97, 2, 2, 17748, 17749, 7, 84, 2, 2, 17749, 17750, 7, 67, 2, 2, 17750, 17751, 7, 80, 2, 2, 17751, 17752, 7, 73, 2, 2, 17752, 17753, 7, 71, 2, 2, 17753, 2418, 3, 2, 2, 2, 17754, 17755, 7, 82, 2, 2, 17755, 17756, 7, 67, 2, 2, 17756, 17757, 7, 84, 2, 2, 17757, 17758, 7, 86, 2, 2, 17758, 17759, 7, 75, 2, 2, 17759, 17760, 7, 86, 2, 2, 17760, 17761, 7, 75, 2, 2, 17761, 17762, 7, 81, 2, 2, 17762, 17763, 7, 80, 2, 2, 17763, 17764, 7, 85, 2, 2, 17764, 2420, 3, 2, 2, 2, 17765, 17766, 7, 82, 2, 2, 17766, 17767, 7, 67, 2, 2, 17767, 17768, 7, 84, 2, 2, 17768, 17769, 7, 86, 2, 2, 17769, 17770, 7, 38, 2, 2, 17770, 17771, 7, 80, 2, 2, 17771, 17772, 7, 87, 2, 2, 17772, 17773, 7, 79, 2, 2, 17773, 17774, 7, 38, 2, 2, 17774, 17775, 7, 75, 2, 2, 17775, 17776, 7, 80, 2, 2, 17776, 17777, 7, 85, 2, 2, 17777, 17778, 7, 86, 2, 2, 17778, 2422, 3, 2, 2, 2, 17779, 17780, 7, 82, 2, 2, 17780, 17781, 7, 67, 2, 2, 17781, 17782, 7, 85, 2, 2, 17782, 17783, 7, 85, 2, 2, 17783, 17784, 7, 75, 2, 2, 17784, 17785, 7, 80, 2, 2, 17785, 17786, 7, 73, 2, 2, 17786, 2424, 3, 2, 2, 2, 17787, 17788, 7, 82, 2, 2, 17788, 17789, 7, 67, 2, 2, 17789, 17790, 7, 85, 2, 2, 17790, 17791, 7, 85, 2, 2, 17791, 17792, 7, 89, 2, 2, 17792, 17793, 7, 81, 2, 2, 17793, 17794, 7, 84, 2, 2, 17794, 17795, 7, 70, 2, 2, 17795, 17796, 7, 97, 2, 2, 17796, 17797, 7, 73, 2, 2, 17797, 17798, 7, 84, 2, 2, 17798, 17799, 7, 67, 2, 2, 17799, 17800, 7, 69, 2, 2, 17800, 17801, 7, 71, 2, 2, 17801, 17802, 7, 97, 2, 2, 17802, 17803, 7, 86, 2, 2, 17803, 17804, 7, 75, 2, 2, 17804, 17805, 7, 79, 2, 2, 17805, 17806, 7, 71, 2, 2, 17806, 2426, 3, 2, 2, 2, 17807, 17808, 7, 82, 2, 2, 17808, 17809, 7, 67, 2, 2, 17809, 17810, 7, 85, 2, 2, 17810, 17811, 7, 85, 2, 2, 17811, 17812, 7, 89, 2, 2, 17812, 17813, 7, 81, 2, 2, 17813, 17814, 7, 84, 2, 2, 17814, 17815, 7, 70, 2, 2, 17815, 17816, 7, 97, 2, 2, 17816, 17817, 7, 78, 2, 2, 17817, 17818, 7, 75, 2, 2, 17818, 17819, 7, 72, 2, 2, 17819, 17820, 7, 71, 2, 2, 17820, 17821, 7, 97, 2, 2, 17821, 17822, 7, 86, 2, 2, 17822, 17823, 7, 75, 2, 2, 17823, 17824, 7, 79, 2, 2, 17824, 17825, 7, 71, 2, 2, 17825, 2428, 3, 2, 2, 2, 17826, 17827, 7, 82, 2, 2, 17827, 17828, 7, 67, 2, 2, 17828, 17829, 7, 85, 2, 2, 17829, 17830, 7, 85, 2, 2, 17830, 17831, 7, 89, 2, 2, 17831, 17832, 7, 81, 2, 2, 17832, 17833, 7, 84, 2, 2, 17833, 17834, 7, 70, 2, 2, 17834, 17835, 7, 97, 2, 2, 17835, 17836, 7, 78, 2, 2, 17836, 17837, 7, 81, 2, 2, 17837, 17838, 7, 69, 2, 2, 17838, 17839, 7, 77, 2, 2, 17839, 17840, 7, 97, 2, 2, 17840, 17841, 7, 86, 2, 2, 17841, 17842, 7, 75, 2, 2, 17842, 17843, 7, 79, 2, 2, 17843, 17844, 7, 71, 2, 2, 17844, 2430, 3, 2, 2, 2, 17845, 17846, 7, 82, 2, 2, 17846, 17847, 7, 67, 2, 2, 17847, 17848, 7, 85, 2, 2, 17848, 17849, 7, 85, 2, 2, 17849, 17850, 7, 89, 2, 2, 17850, 17851, 7, 81, 2, 2, 17851, 17852, 7, 84, 2, 2, 17852, 17853, 7, 70, 2, 2, 17853, 2432, 3, 2, 2, 2, 17854, 17855, 7, 82, 2, 2, 17855, 17856, 7, 67, 2, 2, 17856, 17857, 7, 85, 2, 2, 17857, 17858, 7, 85, 2, 2, 17858, 17859, 7, 89, 2, 2, 17859, 17860, 7, 81, 2, 2, 17860, 17861, 7, 84, 2, 2, 17861, 17862, 7, 70, 2, 2, 17862, 17863, 7, 97, 2, 2, 17863, 17864, 7, 84, 2, 2, 17864, 17865, 7, 71, 2, 2, 17865, 17866, 7, 87, 2, 2, 17866, 17867, 7, 85, 2, 2, 17867, 17868, 7, 71, 2, 2, 17868, 17869, 7, 97, 2, 2, 17869, 17870, 7, 79, 2, 2, 17870, 17871, 7, 67, 2, 2, 17871, 17872, 7, 90, 2, 2, 17872, 2434, 3, 2, 2, 2, 17873, 17874, 7, 82, 2, 2, 17874, 17875, 7, 67, 2, 2, 17875, 17876, 7, 85, 2, 2, 17876, 17877, 7, 85, 2, 2, 17877, 17878, 7, 89, 2, 2, 17878, 17879, 7, 81, 2, 2, 17879, 17880, 7, 84, 2, 2, 17880, 17881, 7, 70, 2, 2, 17881, 17882, 7, 97, 2, 2, 17882, 17883, 7, 84, 2, 2, 17883, 17884, 7, 71, 2, 2, 17884, 17885, 7, 87, 2, 2, 17885, 17886, 7, 85, 2, 2, 17886, 17887, 7, 71, 2, 2, 17887, 17888, 7, 97, 2, 2, 17888, 17889, 7, 86, 2, 2, 17889, 17890, 7, 75, 2, 2, 17890, 17891, 7, 79, 2, 2, 17891, 17892, 7, 71, 2, 2, 17892, 2436, 3, 2, 2, 2, 17893, 17894, 7, 82, 2, 2, 17894, 17895, 7, 67, 2, 2, 17895, 17896, 7, 85, 2, 2, 17896, 17897, 7, 85, 2, 2, 17897, 17898, 7, 89, 2, 2, 17898, 17899, 7, 81, 2, 2, 17899, 17900, 7, 84, 2, 2, 17900, 17901, 7, 70, 2, 2, 17901, 17902, 7, 97, 2, 2, 17902, 17903, 7, 88, 2, 2, 17903, 17904, 7, 71, 2, 2, 17904, 17905, 7, 84, 2, 2, 17905, 17906, 7, 75, 2, 2, 17906, 17907, 7, 72, 2, 2, 17907, 17908, 7, 91, 2, 2, 17908, 17909, 7, 97, 2, 2, 17909, 17910, 7, 72, 2, 2, 17910, 17911, 7, 87, 2, 2, 17911, 17912, 7, 80, 2, 2, 17912, 17913, 7, 69, 2, 2, 17913, 17914, 7, 86, 2, 2, 17914, 17915, 7, 75, 2, 2, 17915, 17916, 7, 81, 2, 2, 17916, 17917, 7, 80, 2, 2, 17917, 2438, 3, 2, 2, 2, 17918, 17919, 7, 82, 2, 2, 17919, 17920, 7, 67, 2, 2, 17920, 17921, 7, 85, 2, 2, 17921, 17922, 7, 86, 2, 2, 17922, 2440, 3, 2, 2, 2, 17923, 17924, 7, 82, 2, 2, 17924, 17925, 7, 67, 2, 2, 17925, 17926, 7, 86, 2, 2, 17926, 17927, 7, 69, 2, 2, 17927, 17928, 7, 74, 2, 2, 17928, 2442, 3, 2, 2, 2, 17929, 17930, 7, 82, 2, 2, 17930, 17931, 7, 67, 2, 2, 17931, 17932, 7, 86, 2, 2, 17932, 17933, 7, 74, 2, 2, 17933, 2444, 3, 2, 2, 2, 17934, 17935, 7, 82, 2, 2, 17935, 17936, 7, 67, 2, 2, 17936, 17937, 7, 86, 2, 2, 17937, 17938, 7, 74, 2, 2, 17938, 17939, 7, 97, 2, 2, 17939, 17940, 7, 82, 2, 2, 17940, 17941, 7, 84, 2, 2, 17941, 17942, 7, 71, 2, 2, 17942, 17943, 7, 72, 2, 2, 17943, 17944, 7, 75, 2, 2, 17944, 17945, 7, 90, 2, 2, 17945, 2446, 3, 2, 2, 2, 17946, 17947, 7, 82, 2, 2, 17947, 17948, 7, 67, 2, 2, 17948, 17949, 7, 86, 2, 2, 17949, 17950, 7, 74, 2, 2, 17950, 17951, 7, 85, 2, 2, 17951, 2448, 3, 2, 2, 2, 17952, 17953, 7, 82, 2, 2, 17953, 17954, 7, 67, 2, 2, 17954, 17955, 7, 86, 2, 2, 17955, 17956, 7, 86, 2, 2, 17956, 17957, 7, 71, 2, 2, 17957, 17958, 7, 84, 2, 2, 17958, 17959, 7, 80, 2, 2, 17959, 2450, 3, 2, 2, 2, 17960, 17961, 7, 82, 2, 2, 17961, 17962, 7, 68, 2, 2, 17962, 17963, 7, 78, 2, 2, 17963, 17964, 7, 97, 2, 2, 17964, 17965, 7, 74, 2, 2, 17965, 17966, 7, 85, 2, 2, 17966, 17967, 7, 97, 2, 2, 17967, 17968, 7, 68, 2, 2, 17968, 17969, 7, 71, 2, 2, 17969, 17970, 7, 73, 2, 2, 17970, 17971, 7, 75, 2, 2, 17971, 17972, 7, 80, 2, 2, 17972, 2452, 3, 2, 2, 2, 17973, 17974, 7, 82, 2, 2, 17974, 17975, 7, 68, 2, 2, 17975, 17976, 7, 78, 2, 2, 17976, 17977, 7, 97, 2, 2, 17977, 17978, 7, 74, 2, 2, 17978, 17979, 7, 85, 2, 2, 17979, 17980, 7, 97, 2, 2, 17980, 17981, 7, 71, 2, 2, 17981, 17982, 7, 80, 2, 2, 17982, 17983, 7, 70, 2, 2, 17983, 2454, 3, 2, 2, 2, 17984, 17985, 7, 82, 2, 2, 17985, 17986, 7, 69, 2, 2, 17986, 17987, 7, 86, 2, 2, 17987, 17988, 7, 72, 2, 2, 17988, 17989, 7, 84, 2, 2, 17989, 17990, 7, 71, 2, 2, 17990, 17991, 7, 71, 2, 2, 17991, 2456, 3, 2, 2, 2, 17992, 17993, 7, 82, 2, 2, 17993, 17994, 7, 69, 2, 2, 17994, 17995, 7, 86, 2, 2, 17995, 17996, 7, 75, 2, 2, 17996, 17997, 7, 80, 2, 2, 17997, 17998, 7, 69, 2, 2, 17998, 17999, 7, 84, 2, 2, 17999, 18000, 7, 71, 2, 2, 18000, 18001, 7, 67, 2, 2, 18001, 18002, 7, 85, 2, 2, 18002, 18003, 7, 71, 2, 2, 18003, 2458, 3, 2, 2, 2, 18004, 18005, 7, 82, 2, 2, 18005, 18006, 7, 69, 2, 2, 18006, 18007, 7, 86, 2, 2, 18007, 18008, 7, 86, 2, 2, 18008, 18009, 7, 74, 2, 2, 18009, 18010, 7, 84, 2, 2, 18010, 18011, 7, 71, 2, 2, 18011, 18012, 7, 85, 2, 2, 18012, 18013, 7, 74, 2, 2, 18013, 18014, 7, 81, 2, 2, 18014, 18015, 7, 78, 2, 2, 18015, 18016, 7, 70, 2, 2, 18016, 2460, 3, 2, 2, 2, 18017, 18018, 7, 82, 2, 2, 18018, 18019, 7, 69, 2, 2, 18019, 18020, 7, 86, 2, 2, 18020, 18021, 7, 87, 2, 2, 18021, 18022, 7, 85, 2, 2, 18022, 18023, 7, 71, 2, 2, 18023, 18024, 7, 70, 2, 2, 18024, 2462, 3, 2, 2, 2, 18025, 18026, 7, 82, 2, 2, 18026, 18027, 7, 69, 2, 2, 18027, 18028, 7, 86, 2, 2, 18028, 18029, 7, 88, 2, 2, 18029, 18030, 7, 71, 2, 2, 18030, 18031, 7, 84, 2, 2, 18031, 18032, 7, 85, 2, 2, 18032, 18033, 7, 75, 2, 2, 18033, 18034, 7, 81, 2, 2, 18034, 18035, 7, 80, 2, 2, 18035, 2464, 3, 2, 2, 2, 18036, 18037, 7, 82, 2, 2, 18037, 18038, 7, 71, 2, 2, 18038, 18039, 7, 80, 2, 2, 18039, 18040, 7, 70, 2, 2, 18040, 18041, 7, 75, 2, 2, 18041, 18042, 7, 80, 2, 2, 18042, 18043, 7, 73, 2, 2, 18043, 2466, 3, 2, 2, 2, 18044, 18048, 7, 39, 2, 2, 18045, 18047, 5, 4537, 2269, 2, 18046, 18045, 3, 2, 2, 2, 18047, 18050, 3, 2, 2, 2, 18048, 18046, 3, 2, 2, 2, 18048, 18049, 3, 2, 2, 2, 18049, 18051, 3, 2, 2, 2, 18050, 18048, 3, 2, 2, 2, 18051, 18052, 7, 72, 2, 2, 18052, 18053, 7, 81, 2, 2, 18053, 18054, 7, 87, 2, 2, 18054, 18055, 7, 80, 2, 2, 18055, 18056, 7, 70, 2, 2, 18056, 2468, 3, 2, 2, 2, 18057, 18061, 7, 39, 2, 2, 18058, 18060, 5, 4537, 2269, 2, 18059, 18058, 3, 2, 2, 2, 18060, 18063, 3, 2, 2, 2, 18061, 18059, 3, 2, 2, 2, 18061, 18062, 3, 2, 2, 2, 18062, 18064, 3, 2, 2, 2, 18063, 18061, 3, 2, 2, 2, 18064, 18065, 7, 75, 2, 2, 18065, 18066, 7, 85, 2, 2, 18066, 18067, 7, 81, 2, 2, 18067, 18068, 7, 82, 2, 2, 18068, 18069, 7, 71, 2, 2, 18069, 18070, 7, 80, 2, 2, 18070, 2470, 3, 2, 2, 2, 18071, 18075, 7, 39, 2, 2, 18072, 18074, 5, 4537, 2269, 2, 18073, 18072, 3, 2, 2, 2, 18074, 18077, 3, 2, 2, 2, 18075, 18073, 3, 2, 2, 2, 18075, 18076, 3, 2, 2, 2, 18076, 18078, 3, 2, 2, 2, 18077, 18075, 3, 2, 2, 2, 18078, 18079, 7, 80, 2, 2, 18079, 18080, 7, 81, 2, 2, 18080, 18081, 7, 86, 2, 2, 18081, 18082, 7, 72, 2, 2, 18082, 18083, 7, 81, 2, 2, 18083, 18084, 7, 87, 2, 2, 18084, 18085, 7, 80, 2, 2, 18085, 18086, 7, 70, 2, 2, 18086, 2472, 3, 2, 2, 2, 18087, 18088, 7, 82, 2, 2, 18088, 18089, 7, 71, 2, 2, 18089, 18090, 7, 84, 2, 2, 18090, 18091, 7, 69, 2, 2, 18091, 18092, 7, 71, 2, 2, 18092, 18093, 7, 80, 2, 2, 18093, 18094, 7, 86, 2, 2, 18094, 2474, 3, 2, 2, 2, 18095, 18096, 7, 82, 2, 2, 18096, 18097, 7, 71, 2, 2, 18097, 18098, 7, 84, 2, 2, 18098, 18099, 7, 69, 2, 2, 18099, 18100, 7, 71, 2, 2, 18100, 18101, 7, 80, 2, 2, 18101, 18102, 7, 86, 2, 2, 18102, 18103, 7, 97, 2, 2, 18103, 18104, 7, 84, 2, 2, 18104, 18105, 7, 67, 2, 2, 18105, 18106, 7, 80, 2, 2, 18106, 18107, 7, 77, 2, 2, 18107, 18108, 7, 79, 2, 2, 18108, 2476, 3, 2, 2, 2, 18109, 18113, 7, 39, 2, 2, 18110, 18112, 5, 4537, 2269, 2, 18111, 18110, 3, 2, 2, 2, 18112, 18115, 3, 2, 2, 2, 18113, 18111, 3, 2, 2, 2, 18113, 18114, 3, 2, 2, 2, 18114, 18116, 3, 2, 2, 2, 18115, 18113, 3, 2, 2, 2, 18116, 18117, 7, 84, 2, 2, 18117, 18118, 7, 81, 2, 2, 18118, 18119, 7, 89, 2, 2, 18119, 18120, 7, 69, 2, 2, 18120, 18121, 7, 81, 2, 2, 18121, 18122, 7, 87, 2, 2, 18122, 18123, 7, 80, 2, 2, 18123, 18124, 7, 86, 2, 2, 18124, 2478, 3, 2, 2, 2, 18125, 18129, 7, 39, 2, 2, 18126, 18128, 5, 4537, 2269, 2, 18127, 18126, 3, 2, 2, 2, 18128, 18131, 3, 2, 2, 2, 18129, 18127, 3, 2, 2, 2, 18129, 18130, 3, 2, 2, 2, 18130, 18132, 3, 2, 2, 2, 18131, 18129, 3, 2, 2, 2, 18132, 18133, 7, 84, 2, 2, 18133, 18134, 7, 81, 2, 2, 18134, 18135, 7, 89, 2, 2, 18135, 18136, 7, 86, 2, 2, 18136, 18137, 7, 91, 2, 2, 18137, 18138, 7, 82, 2, 2, 18138, 18139, 7, 71, 2, 2, 18139, 2480, 3, 2, 2, 2, 18140, 18144, 7, 39, 2, 2, 18141, 18143, 5, 4537, 2269, 2, 18142, 18141, 3, 2, 2, 2, 18143, 18146, 3, 2, 2, 2, 18144, 18142, 3, 2, 2, 2, 18144, 18145, 3, 2, 2, 2, 18145, 18147, 3, 2, 2, 2, 18146, 18144, 3, 2, 2, 2, 18147, 18148, 7, 86, 2, 2, 18148, 18149, 7, 91, 2, 2, 18149, 18150, 7, 82, 2, 2, 18150, 18151, 7, 71, 2, 2, 18151, 2482, 3, 2, 2, 2, 18152, 18153, 7, 82, 2, 2, 18153, 18154, 7, 71, 2, 2, 18154, 18155, 7, 84, 2, 2, 18155, 18156, 7, 72, 2, 2, 18156, 18157, 7, 81, 2, 2, 18157, 18158, 7, 84, 2, 2, 18158, 18159, 7, 79, 2, 2, 18159, 18160, 7, 67, 2, 2, 18160, 18161, 7, 80, 2, 2, 18161, 18162, 7, 69, 2, 2, 18162, 18163, 7, 71, 2, 2, 18163, 2484, 3, 2, 2, 2, 18164, 18165, 7, 82, 2, 2, 18165, 18166, 7, 71, 2, 2, 18166, 18167, 7, 84, 2, 2, 18167, 18168, 7, 75, 2, 2, 18168, 18169, 7, 81, 2, 2, 18169, 18170, 7, 70, 2, 2, 18170, 2486, 3, 2, 2, 2, 18171, 18172, 7, 82, 2, 2, 18172, 18173, 7, 71, 2, 2, 18173, 18174, 7, 84, 2, 2, 18174, 18175, 7, 79, 2, 2, 18175, 18176, 7, 67, 2, 2, 18176, 18177, 7, 80, 2, 2, 18177, 18178, 7, 71, 2, 2, 18178, 18179, 7, 80, 2, 2, 18179, 18180, 7, 86, 2, 2, 18180, 2488, 3, 2, 2, 2, 18181, 18182, 7, 82, 2, 2, 18182, 18183, 7, 71, 2, 2, 18183, 18184, 7, 84, 2, 2, 18184, 18185, 7, 79, 2, 2, 18185, 18186, 7, 75, 2, 2, 18186, 18187, 7, 85, 2, 2, 18187, 18188, 7, 85, 2, 2, 18188, 18189, 7, 75, 2, 2, 18189, 18190, 7, 81, 2, 2, 18190, 18191, 7, 80, 2, 2, 18191, 2490, 3, 2, 2, 2, 18192, 18193, 7, 82, 2, 2, 18193, 18194, 7, 71, 2, 2, 18194, 18195, 7, 84, 2, 2, 18195, 18196, 7, 79, 2, 2, 18196, 18197, 7, 87, 2, 2, 18197, 18198, 7, 86, 2, 2, 18198, 18199, 7, 71, 2, 2, 18199, 2492, 3, 2, 2, 2, 18200, 18201, 7, 82, 2, 2, 18201, 18202, 7, 71, 2, 2, 18202, 18203, 7, 84, 2, 2, 18203, 2494, 3, 2, 2, 2, 18204, 18205, 7, 82, 2, 2, 18205, 18206, 7, 72, 2, 2, 18206, 18207, 7, 75, 2, 2, 18207, 18208, 7, 78, 2, 2, 18208, 18209, 7, 71, 2, 2, 18209, 2496, 3, 2, 2, 2, 18210, 18211, 7, 82, 2, 2, 18211, 18212, 7, 74, 2, 2, 18212, 18213, 7, 91, 2, 2, 18213, 18214, 7, 85, 2, 2, 18214, 18215, 7, 75, 2, 2, 18215, 18216, 7, 69, 2, 2, 18216, 18217, 7, 67, 2, 2, 18217, 18218, 7, 78, 2, 2, 18218, 2498, 3, 2, 2, 2, 18219, 18220, 7, 82, 2, 2, 18220, 18221, 7, 75, 2, 2, 18221, 18222, 7, 77, 2, 2, 18222, 18223, 7, 71, 2, 2, 18223, 18224, 7, 91, 2, 2, 18224, 2500, 3, 2, 2, 2, 18225, 18226, 7, 82, 2, 2, 18226, 18227, 7, 75, 2, 2, 18227, 18228, 7, 82, 2, 2, 18228, 18229, 7, 71, 2, 2, 18229, 18230, 7, 78, 2, 2, 18230, 18231, 7, 75, 2, 2, 18231, 18232, 7, 80, 2, 2, 18232, 18233, 7, 71, 2, 2, 18233, 18234, 7, 70, 2, 2, 18234, 2502, 3, 2, 2, 2, 18235, 18236, 7, 82, 2, 2, 18236, 18237, 7, 75, 2, 2, 18237, 18238, 7, 82, 2, 2, 18238, 18239, 7, 71, 2, 2, 18239, 2504, 3, 2, 2, 2, 18240, 18241, 7, 82, 2, 2, 18241, 18242, 7, 75, 2, 2, 18242, 18243, 7, 88, 2, 2, 18243, 18244, 7, 97, 2, 2, 18244, 18245, 7, 73, 2, 2, 18245, 18246, 7, 68, 2, 2, 18246, 2506, 3, 2, 2, 2, 18247, 18248, 7, 82, 2, 2, 18248, 18249, 7, 75, 2, 2, 18249, 18250, 7, 88, 2, 2, 18250, 18251, 7, 81, 2, 2, 18251, 18252, 7, 86, 2, 2, 18252, 2508, 3, 2, 2, 2, 18253, 18254, 7, 82, 2, 2, 18254, 18255, 7, 75, 2, 2, 18255, 18256, 7, 88, 2, 2, 18256, 18257, 7, 97, 2, 2, 18257, 18258, 7, 85, 2, 2, 18258, 18259, 7, 85, 2, 2, 18259, 18260, 7, 72, 2, 2, 18260, 2510, 3, 2, 2, 2, 18261, 18262, 7, 82, 2, 2, 18262, 18263, 7, 78, 2, 2, 18263, 18264, 7, 67, 2, 2, 18264, 18265, 7, 69, 2, 2, 18265, 18266, 7, 71, 2, 2, 18266, 18267, 7, 97, 2, 2, 18267, 18268, 7, 70, 2, 2, 18268, 18269, 7, 75, 2, 2, 18269, 18270, 7, 85, 2, 2, 18270, 18271, 7, 86, 2, 2, 18271, 18272, 7, 75, 2, 2, 18272, 18273, 7, 80, 2, 2, 18273, 18274, 7, 69, 2, 2, 18274, 18275, 7, 86, 2, 2, 18275, 2512, 3, 2, 2, 2, 18276, 18277, 7, 82, 2, 2, 18277, 18278, 7, 78, 2, 2, 18278, 18279, 7, 67, 2, 2, 18279, 18280, 7, 69, 2, 2, 18280, 18281, 7, 71, 2, 2, 18281, 18282, 7, 97, 2, 2, 18282, 18283, 7, 73, 2, 2, 18283, 18284, 7, 84, 2, 2, 18284, 18285, 7, 81, 2, 2, 18285, 18286, 7, 87, 2, 2, 18286, 18287, 7, 82, 2, 2, 18287, 18288, 7, 97, 2, 2, 18288, 18289, 7, 68, 2, 2, 18289, 18290, 7, 91, 2, 2, 18290, 2514, 3, 2, 2, 2, 18291, 18292, 7, 82, 2, 2, 18292, 18293, 7, 78, 2, 2, 18293, 18294, 7, 67, 2, 2, 18294, 18295, 7, 80, 2, 2, 18295, 2516, 3, 2, 2, 2, 18296, 18297, 7, 82, 2, 2, 18297, 18298, 7, 78, 2, 2, 18298, 18299, 7, 85, 2, 2, 18299, 18300, 7, 69, 2, 2, 18300, 18301, 7, 81, 2, 2, 18301, 18302, 7, 82, 2, 2, 18302, 18303, 7, 71, 2, 2, 18303, 18304, 7, 97, 2, 2, 18304, 18305, 7, 85, 2, 2, 18305, 18306, 7, 71, 2, 2, 18306, 18307, 7, 86, 2, 2, 18307, 18308, 7, 86, 2, 2, 18308, 18309, 7, 75, 2, 2, 18309, 18310, 7, 80, 2, 2, 18310, 18311, 7, 73, 2, 2, 18311, 18312, 7, 85, 2, 2, 18312, 2518, 3, 2, 2, 2, 18313, 18314, 7, 82, 2, 2, 18314, 18315, 7, 78, 2, 2, 18315, 18316, 7, 85, 2, 2, 18316, 18317, 7, 97, 2, 2, 18317, 18318, 7, 75, 2, 2, 18318, 18319, 7, 80, 2, 2, 18319, 18320, 7, 86, 2, 2, 18320, 18321, 7, 71, 2, 2, 18321, 18322, 7, 73, 2, 2, 18322, 18323, 7, 71, 2, 2, 18323, 18324, 7, 84, 2, 2, 18324, 2520, 3, 2, 2, 2, 18325, 18326, 7, 82, 2, 2, 18326, 18327, 7, 78, 2, 2, 18327, 18328, 7, 85, 2, 2, 18328, 18329, 7, 83, 2, 2, 18329, 18330, 7, 78, 2, 2, 18330, 18331, 7, 97, 2, 2, 18331, 18332, 7, 69, 2, 2, 18332, 18333, 7, 69, 2, 2, 18333, 18334, 7, 72, 2, 2, 18334, 18335, 7, 78, 2, 2, 18335, 18336, 7, 67, 2, 2, 18336, 18337, 7, 73, 2, 2, 18337, 18338, 7, 85, 2, 2, 18338, 2522, 3, 2, 2, 2, 18339, 18340, 7, 82, 2, 2, 18340, 18341, 7, 78, 2, 2, 18341, 18342, 7, 85, 2, 2, 18342, 18343, 7, 83, 2, 2, 18343, 18344, 7, 78, 2, 2, 18344, 18345, 7, 97, 2, 2, 18345, 18346, 7, 69, 2, 2, 18346, 18347, 7, 81, 2, 2, 18347, 18348, 7, 70, 2, 2, 18348, 18349, 7, 71, 2, 2, 18349, 18350, 7, 97, 2, 2, 18350, 18351, 7, 86, 2, 2, 18351, 18352, 7, 91, 2, 2, 18352, 18353, 7, 82, 2, 2, 18353, 18354, 7, 71, 2, 2, 18354, 2524, 3, 2, 2, 2, 18355, 18356, 7, 82, 2, 2, 18356, 18357, 7, 78, 2, 2, 18357, 18358, 7, 85, 2, 2, 18358, 18359, 7, 83, 2, 2, 18359, 18360, 7, 78, 2, 2, 18360, 18361, 7, 97, 2, 2, 18361, 18362, 7, 70, 2, 2, 18362, 18363, 7, 71, 2, 2, 18363, 18364, 7, 68, 2, 2, 18364, 18365, 7, 87, 2, 2, 18365, 18366, 7, 73, 2, 2, 18366, 2526, 3, 2, 2, 2, 18367, 18368, 7, 82, 2, 2, 18368, 18369, 7, 78, 2, 2, 18369, 18370, 7, 85, 2, 2, 18370, 18371, 7, 83, 2, 2, 18371, 18372, 7, 78, 2, 2, 18372, 18373, 7, 97, 2, 2, 18373, 18374, 7, 81, 2, 2, 18374, 18375, 7, 82, 2, 2, 18375, 18376, 7, 86, 2, 2, 18376, 18377, 7, 75, 2, 2, 18377, 18378, 7, 79, 2, 2, 18378, 18379, 7, 75, 2, 2, 18379, 18380, 7, 92, 2, 2, 18380, 18381, 7, 71, 2, 2, 18381, 18382, 7, 97, 2, 2, 18382, 18383, 7, 78, 2, 2, 18383, 18384, 7, 71, 2, 2, 18384, 18385, 7, 88, 2, 2, 18385, 18386, 7, 71, 2, 2, 18386, 18387, 7, 78, 2, 2, 18387, 2528, 3, 2, 2, 2, 18388, 18389, 7, 82, 2, 2, 18389, 18390, 7, 78, 2, 2, 18390, 18391, 7, 85, 2, 2, 18391, 18392, 7, 83, 2, 2, 18392, 18393, 7, 78, 2, 2, 18393, 18394, 7, 97, 2, 2, 18394, 18395, 7, 89, 2, 2, 18395, 18396, 7, 67, 2, 2, 18396, 18397, 7, 84, 2, 2, 18397, 18398, 7, 80, 2, 2, 18398, 18399, 7, 75, 2, 2, 18399, 18400, 7, 80, 2, 2, 18400, 18401, 7, 73, 2, 2, 18401, 18402, 7, 85, 2, 2, 18402, 2530, 3, 2, 2, 2, 18403, 18404, 7, 82, 2, 2, 18404, 18405, 7, 78, 2, 2, 18405, 18406, 7, 87, 2, 2, 18406, 18407, 7, 73, 2, 2, 18407, 18408, 7, 73, 2, 2, 18408, 18409, 7, 67, 2, 2, 18409, 18410, 7, 68, 2, 2, 18410, 18411, 7, 78, 2, 2, 18411, 18412, 7, 71, 2, 2, 18412, 2532, 3, 2, 2, 2, 18413, 18414, 7, 82, 2, 2, 18414, 18415, 7, 81, 2, 2, 18415, 18416, 7, 75, 2, 2, 18416, 18417, 7, 80, 2, 2, 18417, 18418, 7, 86, 2, 2, 18418, 2534, 3, 2, 2, 2, 18419, 18420, 7, 82, 2, 2, 18420, 18421, 7, 81, 2, 2, 18421, 18422, 7, 78, 2, 2, 18422, 18423, 7, 75, 2, 2, 18423, 18424, 7, 69, 2, 2, 18424, 18425, 7, 91, 2, 2, 18425, 2536, 3, 2, 2, 2, 18426, 18427, 7, 82, 2, 2, 18427, 18428, 7, 81, 2, 2, 18428, 18429, 7, 81, 2, 2, 18429, 18430, 7, 78, 2, 2, 18430, 18431, 7, 97, 2, 2, 18431, 18432, 7, 51, 2, 2, 18432, 18433, 7, 56, 2, 2, 18433, 18434, 7, 77, 2, 2, 18434, 2538, 3, 2, 2, 2, 18435, 18436, 7, 82, 2, 2, 18436, 18437, 7, 81, 2, 2, 18437, 18438, 7, 81, 2, 2, 18438, 18439, 7, 78, 2, 2, 18439, 18440, 7, 97, 2, 2, 18440, 18441, 7, 52, 2, 2, 18441, 18442, 7, 77, 2, 2, 18442, 2540, 3, 2, 2, 2, 18443, 18444, 7, 82, 2, 2, 18444, 18445, 7, 81, 2, 2, 18445, 18446, 7, 81, 2, 2, 18446, 18447, 7, 78, 2, 2, 18447, 18448, 7, 97, 2, 2, 18448, 18449, 7, 53, 2, 2, 18449, 18450, 7, 52, 2, 2, 18450, 18451, 7, 77, 2, 2, 18451, 2542, 3, 2, 2, 2, 18452, 18453, 7, 82, 2, 2, 18453, 18454, 7, 81, 2, 2, 18454, 18455, 7, 81, 2, 2, 18455, 18456, 7, 78, 2, 2, 18456, 18457, 7, 97, 2, 2, 18457, 18458, 7, 54, 2, 2, 18458, 18459, 7, 77, 2, 2, 18459, 2544, 3, 2, 2, 2, 18460, 18461, 7, 82, 2, 2, 18461, 18462, 7, 81, 2, 2, 18462, 18463, 7, 81, 2, 2, 18463, 18464, 7, 78, 2, 2, 18464, 18465, 7, 97, 2, 2, 18465, 18466, 7, 58, 2, 2, 18466, 18467, 7, 77, 2, 2, 18467, 2546, 3, 2, 2, 2, 18468, 18469, 7, 82, 2, 2, 18469, 18470, 7, 81, 2, 2, 18470, 18471, 7, 85, 2, 2, 18471, 18472, 7, 75, 2, 2, 18472, 18473, 7, 86, 2, 2, 18473, 18474, 7, 75, 2, 2, 18474, 18475, 7, 88, 2, 2, 18475, 18476, 7, 71, 2, 2, 18476, 18477, 7, 80, 2, 2, 18477, 2548, 3, 2, 2, 2, 18478, 18479, 7, 82, 2, 2, 18479, 18480, 7, 81, 2, 2, 18480, 18481, 7, 85, 2, 2, 18481, 18482, 7, 75, 2, 2, 18482, 18483, 7, 86, 2, 2, 18483, 18484, 7, 75, 2, 2, 18484, 18485, 7, 88, 2, 2, 18485, 18486, 7, 71, 2, 2, 18486, 2550, 3, 2, 2, 2, 18487, 18488, 7, 82, 2, 2, 18488, 18489, 7, 81, 2, 2, 18489, 18490, 7, 85, 2, 2, 18490, 18491, 7, 86, 2, 2, 18491, 18492, 7, 97, 2, 2, 18492, 18493, 7, 86, 2, 2, 18493, 18494, 7, 84, 2, 2, 18494, 18495, 7, 67, 2, 2, 18495, 18496, 7, 80, 2, 2, 18496, 18497, 7, 85, 2, 2, 18497, 18498, 7, 67, 2, 2, 18498, 18499, 7, 69, 2, 2, 18499, 18500, 7, 86, 2, 2, 18500, 18501, 7, 75, 2, 2, 18501, 18502, 7, 81, 2, 2, 18502, 18503, 7, 80, 2, 2, 18503, 2552, 3, 2, 2, 2, 18504, 18505, 7, 82, 2, 2, 18505, 18506, 7, 81, 2, 2, 18506, 18507, 7, 89, 2, 2, 18507, 18508, 7, 71, 2, 2, 18508, 18509, 7, 84, 2, 2, 18509, 18510, 7, 79, 2, 2, 18510, 18511, 7, 87, 2, 2, 18511, 18512, 7, 78, 2, 2, 18512, 18513, 7, 86, 2, 2, 18513, 18514, 7, 75, 2, 2, 18514, 18515, 7, 85, 2, 2, 18515, 18516, 7, 71, 2, 2, 18516, 18517, 7, 86, 2, 2, 18517, 18518, 7, 97, 2, 2, 18518, 18519, 7, 68, 2, 2, 18519, 18520, 7, 91, 2, 2, 18520, 18521, 7, 97, 2, 2, 18521, 18522, 7, 69, 2, 2, 18522, 18523, 7, 67, 2, 2, 18523, 18524, 7, 84, 2, 2, 18524, 18525, 7, 70, 2, 2, 18525, 18526, 7, 75, 2, 2, 18526, 18527, 7, 80, 2, 2, 18527, 18528, 7, 67, 2, 2, 18528, 18529, 7, 78, 2, 2, 18529, 18530, 7, 75, 2, 2, 18530, 18531, 7, 86, 2, 2, 18531, 18532, 7, 91, 2, 2, 18532, 2554, 3, 2, 2, 2, 18533, 18534, 7, 82, 2, 2, 18534, 18535, 7, 81, 2, 2, 18535, 18536, 7, 89, 2, 2, 18536, 18537, 7, 71, 2, 2, 18537, 18538, 7, 84, 2, 2, 18538, 18539, 7, 79, 2, 2, 18539, 18540, 7, 87, 2, 2, 18540, 18541, 7, 78, 2, 2, 18541, 18542, 7, 86, 2, 2, 18542, 18543, 7, 75, 2, 2, 18543, 18544, 7, 85, 2, 2, 18544, 18545, 7, 71, 2, 2, 18545, 18546, 7, 86, 2, 2, 18546, 2556, 3, 2, 2, 2, 18547, 18548, 7, 82, 2, 2, 18548, 18549, 7, 81, 2, 2, 18549, 18550, 7, 89, 2, 2, 18550, 18551, 7, 71, 2, 2, 18551, 18552, 7, 84, 2, 2, 18552, 2558, 3, 2, 2, 2, 18553, 18554, 7, 82, 2, 2, 18554, 18555, 7, 83, 2, 2, 18555, 18556, 7, 97, 2, 2, 18556, 18557, 7, 69, 2, 2, 18557, 18558, 7, 81, 2, 2, 18558, 18559, 7, 80, 2, 2, 18559, 18560, 7, 69, 2, 2, 18560, 18561, 7, 87, 2, 2, 18561, 18562, 7, 84, 2, 2, 18562, 18563, 7, 84, 2, 2, 18563, 18564, 7, 71, 2, 2, 18564, 18565, 7, 80, 2, 2, 18565, 18566, 7, 86, 2, 2, 18566, 18567, 7, 97, 2, 2, 18567, 18568, 7, 87, 2, 2, 18568, 18569, 7, 80, 2, 2, 18569, 18570, 7, 75, 2, 2, 18570, 18571, 7, 81, 2, 2, 18571, 18572, 7, 80, 2, 2, 18572, 2560, 3, 2, 2, 2, 18573, 18574, 7, 82, 2, 2, 18574, 18575, 7, 83, 2, 2, 18575, 18576, 7, 97, 2, 2, 18576, 18577, 7, 70, 2, 2, 18577, 18578, 7, 75, 2, 2, 18578, 18579, 7, 85, 2, 2, 18579, 18580, 7, 86, 2, 2, 18580, 18581, 7, 84, 2, 2, 18581, 18582, 7, 75, 2, 2, 18582, 18583, 7, 68, 2, 2, 18583, 18584, 7, 87, 2, 2, 18584, 18585, 7, 86, 2, 2, 18585, 18586, 7, 71, 2, 2, 18586, 2562, 3, 2, 2, 2, 18587, 18588, 7, 82, 2, 2, 18588, 18589, 7, 83, 2, 2, 18589, 18590, 7, 97, 2, 2, 18590, 18591, 7, 70, 2, 2, 18591, 18592, 7, 75, 2, 2, 18592, 18593, 7, 85, 2, 2, 18593, 18594, 7, 86, 2, 2, 18594, 18595, 7, 84, 2, 2, 18595, 18596, 7, 75, 2, 2, 18596, 18597, 7, 68, 2, 2, 18597, 18598, 7, 87, 2, 2, 18598, 18599, 7, 86, 2, 2, 18599, 18600, 7, 71, 2, 2, 18600, 18601, 7, 97, 2, 2, 18601, 18602, 7, 89, 2, 2, 18602, 18603, 7, 75, 2, 2, 18603, 18604, 7, 80, 2, 2, 18604, 18605, 7, 70, 2, 2, 18605, 18606, 7, 81, 2, 2, 18606, 18607, 7, 89, 2, 2, 18607, 2564, 3, 2, 2, 2, 18608, 18609, 7, 82, 2, 2, 18609, 18610, 7, 83, 2, 2, 18610, 18611, 7, 97, 2, 2, 18611, 18612, 7, 72, 2, 2, 18612, 18613, 7, 75, 2, 2, 18613, 18614, 7, 78, 2, 2, 18614, 18615, 7, 86, 2, 2, 18615, 18616, 7, 71, 2, 2, 18616, 18617, 7, 84, 2, 2, 18617, 2566, 3, 2, 2, 2, 18618, 18619, 7, 82, 2, 2, 18619, 18620, 7, 83, 2, 2, 18620, 18621, 7, 97, 2, 2, 18621, 18622, 7, 79, 2, 2, 18622, 18623, 7, 67, 2, 2, 18623, 18624, 7, 82, 2, 2, 18624, 2568, 3, 2, 2, 2, 18625, 18626, 7, 82, 2, 2, 18626, 18627, 7, 83, 2, 2, 18627, 18628, 7, 97, 2, 2, 18628, 18629, 7, 80, 2, 2, 18629, 18630, 7, 81, 2, 2, 18630, 18631, 7, 79, 2, 2, 18631, 18632, 7, 67, 2, 2, 18632, 18633, 7, 82, 2, 2, 18633, 2570, 3, 2, 2, 2, 18634, 18635, 7, 82, 2, 2, 18635, 18636, 7, 83, 2, 2, 18636, 18637, 7, 97, 2, 2, 18637, 18638, 7, 84, 2, 2, 18638, 18639, 7, 71, 2, 2, 18639, 18640, 7, 82, 2, 2, 18640, 18641, 7, 78, 2, 2, 18641, 18642, 7, 75, 2, 2, 18642, 18643, 7, 69, 2, 2, 18643, 18644, 7, 67, 2, 2, 18644, 18645, 7, 86, 2, 2, 18645, 18646, 7, 71, 2, 2, 18646, 2572, 3, 2, 2, 2, 18647, 18648, 7, 82, 2, 2, 18648, 18649, 7, 83, 2, 2, 18649, 18650, 7, 97, 2, 2, 18650, 18651, 7, 85, 2, 2, 18651, 18652, 7, 77, 2, 2, 18652, 18653, 7, 71, 2, 2, 18653, 18654, 7, 89, 2, 2, 18654, 2574, 3, 2, 2, 2, 18655, 18656, 7, 82, 2, 2, 18656, 18657, 7, 84, 2, 2, 18657, 18658, 7, 67, 2, 2, 18658, 18659, 7, 73, 2, 2, 18659, 18660, 7, 79, 2, 2, 18660, 18661, 7, 67, 2, 2, 18661, 2576, 3, 2, 2, 2, 18662, 18663, 7, 82, 2, 2, 18663, 18664, 7, 84, 2, 2, 18664, 18665, 7, 71, 2, 2, 18665, 18666, 7, 68, 2, 2, 18666, 18667, 7, 87, 2, 2, 18667, 18668, 7, 75, 2, 2, 18668, 18669, 7, 78, 2, 2, 18669, 18670, 7, 86, 2, 2, 18670, 2578, 3, 2, 2, 2, 18671, 18672, 7, 82, 2, 2, 18672, 18673, 7, 84, 2, 2, 18673, 18674, 7, 71, 2, 2, 18674, 18675, 7, 69, 2, 2, 18675, 18676, 7, 71, 2, 2, 18676, 18677, 7, 70, 2, 2, 18677, 18678, 7, 71, 2, 2, 18678, 18679, 7, 85, 2, 2, 18679, 2580, 3, 2, 2, 2, 18680, 18681, 7, 82, 2, 2, 18681, 18682, 7, 84, 2, 2, 18682, 18683, 7, 71, 2, 2, 18683, 18684, 7, 69, 2, 2, 18684, 18685, 7, 71, 2, 2, 18685, 18686, 7, 70, 2, 2, 18686, 18687, 7, 75, 2, 2, 18687, 18688, 7, 80, 2, 2, 18688, 18689, 7, 73, 2, 2, 18689, 2582, 3, 2, 2, 2, 18690, 18691, 7, 82, 2, 2, 18691, 18692, 7, 84, 2, 2, 18692, 18693, 7, 71, 2, 2, 18693, 18694, 7, 69, 2, 2, 18694, 18695, 7, 75, 2, 2, 18695, 18696, 7, 85, 2, 2, 18696, 18697, 7, 75, 2, 2, 18697, 18698, 7, 81, 2, 2, 18698, 18699, 7, 80, 2, 2, 18699, 2584, 3, 2, 2, 2, 18700, 18701, 7, 82, 2, 2, 18701, 18702, 7, 84, 2, 2, 18702, 18703, 7, 71, 2, 2, 18703, 18704, 7, 69, 2, 2, 18704, 18705, 7, 81, 2, 2, 18705, 18706, 7, 79, 2, 2, 18706, 18707, 7, 82, 2, 2, 18707, 18708, 7, 87, 2, 2, 18708, 18709, 7, 86, 2, 2, 18709, 18710, 7, 71, 2, 2, 18710, 18711, 7, 97, 2, 2, 18711, 18712, 7, 85, 2, 2, 18712, 18713, 7, 87, 2, 2, 18713, 18714, 7, 68, 2, 2, 18714, 18715, 7, 83, 2, 2, 18715, 18716, 7, 87, 2, 2, 18716, 18717, 7, 71, 2, 2, 18717, 18718, 7, 84, 2, 2, 18718, 18719, 7, 91, 2, 2, 18719, 2586, 3, 2, 2, 2, 18720, 18721, 7, 82, 2, 2, 18721, 18722, 7, 84, 2, 2, 18722, 18723, 7, 71, 2, 2, 18723, 18724, 7, 70, 2, 2, 18724, 18725, 7, 75, 2, 2, 18725, 18726, 7, 69, 2, 2, 18726, 18727, 7, 67, 2, 2, 18727, 18728, 7, 86, 2, 2, 18728, 18729, 7, 71, 2, 2, 18729, 18730, 7, 97, 2, 2, 18730, 18731, 7, 84, 2, 2, 18731, 18732, 7, 71, 2, 2, 18732, 18733, 7, 81, 2, 2, 18733, 18734, 7, 84, 2, 2, 18734, 18735, 7, 70, 2, 2, 18735, 18736, 7, 71, 2, 2, 18736, 18737, 7, 84, 2, 2, 18737, 18738, 7, 85, 2, 2, 18738, 2588, 3, 2, 2, 2, 18739, 18740, 7, 82, 2, 2, 18740, 18741, 7, 84, 2, 2, 18741, 18742, 7, 71, 2, 2, 18742, 18743, 7, 78, 2, 2, 18743, 18744, 7, 81, 2, 2, 18744, 18745, 7, 67, 2, 2, 18745, 18746, 7, 70, 2, 2, 18746, 2590, 3, 2, 2, 2, 18747, 18748, 7, 82, 2, 2, 18748, 18749, 7, 84, 2, 2, 18749, 18750, 7, 71, 2, 2, 18750, 18751, 7, 82, 2, 2, 18751, 18752, 7, 67, 2, 2, 18752, 18753, 7, 84, 2, 2, 18753, 18754, 7, 71, 2, 2, 18754, 2592, 3, 2, 2, 2, 18755, 18756, 7, 82, 2, 2, 18756, 18757, 7, 84, 2, 2, 18757, 18758, 7, 71, 2, 2, 18758, 18759, 7, 85, 2, 2, 18759, 18760, 7, 71, 2, 2, 18760, 18761, 7, 80, 2, 2, 18761, 18762, 7, 86, 2, 2, 18762, 18763, 7, 80, 2, 2, 18763, 18764, 7, 80, 2, 2, 18764, 18765, 7, 88, 2, 2, 18765, 2594, 3, 2, 2, 2, 18766, 18767, 7, 82, 2, 2, 18767, 18768, 7, 84, 2, 2, 18768, 18769, 7, 71, 2, 2, 18769, 18770, 7, 85, 2, 2, 18770, 18771, 7, 71, 2, 2, 18771, 18772, 7, 80, 2, 2, 18772, 18773, 7, 86, 2, 2, 18773, 2596, 3, 2, 2, 2, 18774, 18775, 7, 82, 2, 2, 18775, 18776, 7, 84, 2, 2, 18776, 18777, 7, 71, 2, 2, 18777, 18778, 7, 85, 2, 2, 18778, 18779, 7, 71, 2, 2, 18779, 18780, 7, 80, 2, 2, 18780, 18781, 7, 86, 2, 2, 18781, 18782, 7, 88, 2, 2, 18782, 2598, 3, 2, 2, 2, 18783, 18784, 7, 82, 2, 2, 18784, 18785, 7, 84, 2, 2, 18785, 18786, 7, 71, 2, 2, 18786, 18787, 7, 85, 2, 2, 18787, 18788, 7, 71, 2, 2, 18788, 18789, 7, 84, 2, 2, 18789, 18790, 7, 88, 2, 2, 18790, 18791, 7, 71, 2, 2, 18791, 18792, 7, 97, 2, 2, 18792, 18793, 7, 81, 2, 2, 18793, 18794, 7, 75, 2, 2, 18794, 18795, 7, 70, 2, 2, 18795, 2600, 3, 2, 2, 2, 18796, 18797, 7, 82, 2, 2, 18797, 18798, 7, 84, 2, 2, 18798, 18799, 7, 71, 2, 2, 18799, 18800, 7, 85, 2, 2, 18800, 18801, 7, 71, 2, 2, 18801, 18802, 7, 84, 2, 2, 18802, 18803, 7, 88, 2, 2, 18803, 18804, 7, 71, 2, 2, 18804, 2602, 3, 2, 2, 2, 18805, 18806, 7, 82, 2, 2, 18806, 18807, 7, 84, 2, 2, 18807, 18808, 7, 71, 2, 2, 18808, 18809, 7, 86, 2, 2, 18809, 18810, 7, 86, 2, 2, 18810, 18811, 7, 91, 2, 2, 18811, 2604, 3, 2, 2, 2, 18812, 18813, 7, 82, 2, 2, 18813, 18814, 7, 84, 2, 2, 18814, 18815, 7, 71, 2, 2, 18815, 18816, 7, 88, 2, 2, 18816, 18817, 7, 75, 2, 2, 18817, 18818, 7, 81, 2, 2, 18818, 18819, 7, 87, 2, 2, 18819, 18820, 7, 85, 2, 2, 18820, 2606, 3, 2, 2, 2, 18821, 18822, 7, 82, 2, 2, 18822, 18823, 7, 84, 2, 2, 18823, 18824, 7, 71, 2, 2, 18824, 18825, 7, 88, 2, 2, 18825, 2608, 3, 2, 2, 2, 18826, 18827, 7, 82, 2, 2, 18827, 18828, 7, 84, 2, 2, 18828, 18829, 7, 75, 2, 2, 18829, 18830, 7, 79, 2, 2, 18830, 18831, 7, 67, 2, 2, 18831, 18832, 7, 84, 2, 2, 18832, 18833, 7, 91, 2, 2, 18833, 2610, 3, 2, 2, 2, 18834, 18835, 7, 82, 2, 2, 18835, 18836, 7, 84, 2, 2, 18836, 18837, 7, 75, 2, 2, 18837, 18838, 7, 80, 2, 2, 18838, 18839, 7, 86, 2, 2, 18839, 18840, 7, 68, 2, 2, 18840, 18841, 7, 78, 2, 2, 18841, 18842, 7, 81, 2, 2, 18842, 18843, 7, 68, 2, 2, 18843, 18844, 7, 86, 2, 2, 18844, 18845, 7, 81, 2, 2, 18845, 18846, 7, 69, 2, 2, 18846, 18847, 7, 78, 2, 2, 18847, 18848, 7, 81, 2, 2, 18848, 18849, 7, 68, 2, 2, 18849, 2612, 3, 2, 2, 2, 18850, 18851, 7, 82, 2, 2, 18851, 18852, 7, 84, 2, 2, 18852, 18853, 7, 75, 2, 2, 18853, 18854, 7, 81, 2, 2, 18854, 18855, 7, 84, 2, 2, 18855, 18856, 7, 75, 2, 2, 18856, 18857, 7, 86, 2, 2, 18857, 18858, 7, 91, 2, 2, 18858, 2614, 3, 2, 2, 2, 18859, 18860, 7, 82, 2, 2, 18860, 18861, 7, 84, 2, 2, 18861, 18862, 7, 75, 2, 2, 18862, 18863, 7, 81, 2, 2, 18863, 18864, 7, 84, 2, 2, 18864, 2616, 3, 2, 2, 2, 18865, 18866, 7, 82, 2, 2, 18866, 18867, 7, 84, 2, 2, 18867, 18868, 7, 75, 2, 2, 18868, 18869, 7, 88, 2, 2, 18869, 18870, 7, 67, 2, 2, 18870, 18871, 7, 86, 2, 2, 18871, 18872, 7, 71, 2, 2, 18872, 2618, 3, 2, 2, 2, 18873, 18874, 7, 82, 2, 2, 18874, 18875, 7, 84, 2, 2, 18875, 18876, 7, 75, 2, 2, 18876, 18877, 7, 88, 2, 2, 18877, 18878, 7, 67, 2, 2, 18878, 18879, 7, 86, 2, 2, 18879, 18880, 7, 71, 2, 2, 18880, 18881, 7, 97, 2, 2, 18881, 18882, 7, 85, 2, 2, 18882, 18883, 7, 73, 2, 2, 18883, 18884, 7, 67, 2, 2, 18884, 2620, 3, 2, 2, 2, 18885, 18886, 7, 82, 2, 2, 18886, 18887, 7, 84, 2, 2, 18887, 18888, 7, 75, 2, 2, 18888, 18889, 7, 88, 2, 2, 18889, 18890, 7, 75, 2, 2, 18890, 18891, 7, 78, 2, 2, 18891, 18892, 7, 71, 2, 2, 18892, 18893, 7, 73, 2, 2, 18893, 18894, 7, 71, 2, 2, 18894, 18895, 7, 70, 2, 2, 18895, 2622, 3, 2, 2, 2, 18896, 18897, 7, 82, 2, 2, 18897, 18898, 7, 84, 2, 2, 18898, 18899, 7, 75, 2, 2, 18899, 18900, 7, 88, 2, 2, 18900, 18901, 7, 75, 2, 2, 18901, 18902, 7, 78, 2, 2, 18902, 18903, 7, 71, 2, 2, 18903, 18904, 7, 73, 2, 2, 18904, 18905, 7, 71, 2, 2, 18905, 2624, 3, 2, 2, 2, 18906, 18907, 7, 82, 2, 2, 18907, 18908, 7, 84, 2, 2, 18908, 18909, 7, 75, 2, 2, 18909, 18910, 7, 88, 2, 2, 18910, 18911, 7, 75, 2, 2, 18911, 18912, 7, 78, 2, 2, 18912, 18913, 7, 71, 2, 2, 18913, 18914, 7, 73, 2, 2, 18914, 18915, 7, 71, 2, 2, 18915, 18916, 7, 85, 2, 2, 18916, 2626, 3, 2, 2, 2, 18917, 18918, 7, 82, 2, 2, 18918, 18919, 7, 84, 2, 2, 18919, 18920, 7, 81, 2, 2, 18920, 18921, 7, 69, 2, 2, 18921, 18922, 7, 71, 2, 2, 18922, 18923, 7, 70, 2, 2, 18923, 18924, 7, 87, 2, 2, 18924, 18925, 7, 84, 2, 2, 18925, 18926, 7, 67, 2, 2, 18926, 18927, 7, 78, 2, 2, 18927, 2628, 3, 2, 2, 2, 18928, 18929, 7, 82, 2, 2, 18929, 18930, 7, 84, 2, 2, 18930, 18931, 7, 81, 2, 2, 18931, 18932, 7, 69, 2, 2, 18932, 18933, 7, 71, 2, 2, 18933, 18934, 7, 70, 2, 2, 18934, 18935, 7, 87, 2, 2, 18935, 18936, 7, 84, 2, 2, 18936, 18937, 7, 71, 2, 2, 18937, 2630, 3, 2, 2, 2, 18938, 18939, 7, 82, 2, 2, 18939, 18940, 7, 84, 2, 2, 18940, 18941, 7, 81, 2, 2, 18941, 18942, 7, 69, 2, 2, 18942, 18943, 7, 71, 2, 2, 18943, 18944, 7, 85, 2, 2, 18944, 18945, 7, 85, 2, 2, 18945, 2632, 3, 2, 2, 2, 18946, 18947, 7, 82, 2, 2, 18947, 18948, 7, 84, 2, 2, 18948, 18949, 7, 81, 2, 2, 18949, 18950, 7, 72, 2, 2, 18950, 18951, 7, 75, 2, 2, 18951, 18952, 7, 78, 2, 2, 18952, 18953, 7, 71, 2, 2, 18953, 2634, 3, 2, 2, 2, 18954, 18955, 7, 82, 2, 2, 18955, 18956, 7, 84, 2, 2, 18956, 18957, 7, 81, 2, 2, 18957, 18958, 7, 73, 2, 2, 18958, 18959, 7, 84, 2, 2, 18959, 18960, 7, 67, 2, 2, 18960, 18961, 7, 79, 2, 2, 18961, 2636, 3, 2, 2, 2, 18962, 18963, 7, 82, 2, 2, 18963, 18964, 7, 84, 2, 2, 18964, 18965, 7, 81, 2, 2, 18965, 18966, 7, 76, 2, 2, 18966, 18967, 7, 71, 2, 2, 18967, 18968, 7, 69, 2, 2, 18968, 18969, 7, 86, 2, 2, 18969, 2638, 3, 2, 2, 2, 18970, 18971, 7, 82, 2, 2, 18971, 18972, 7, 84, 2, 2, 18972, 18973, 7, 81, 2, 2, 18973, 18974, 7, 82, 2, 2, 18974, 18975, 7, 67, 2, 2, 18975, 18976, 7, 73, 2, 2, 18976, 18977, 7, 67, 2, 2, 18977, 18978, 7, 86, 2, 2, 18978, 18979, 7, 71, 2, 2, 18979, 2640, 3, 2, 2, 2, 18980, 18981, 7, 82, 2, 2, 18981, 18982, 7, 84, 2, 2, 18982, 18983, 7, 81, 2, 2, 18983, 18984, 7, 86, 2, 2, 18984, 18985, 7, 71, 2, 2, 18985, 18986, 7, 69, 2, 2, 18986, 18987, 7, 86, 2, 2, 18987, 18988, 7, 71, 2, 2, 18988, 18989, 7, 70, 2, 2, 18989, 2642, 3, 2, 2, 2, 18990, 18991, 7, 82, 2, 2, 18991, 18992, 7, 84, 2, 2, 18992, 18993, 7, 81, 2, 2, 18993, 18994, 7, 86, 2, 2, 18994, 18995, 7, 71, 2, 2, 18995, 18996, 7, 69, 2, 2, 18996, 18997, 7, 86, 2, 2, 18997, 18998, 7, 75, 2, 2, 18998, 18999, 7, 81, 2, 2, 18999, 19000, 7, 80, 2, 2, 19000, 2644, 3, 2, 2, 2, 19001, 19002, 7, 82, 2, 2, 19002, 19003, 7, 84, 2, 2, 19003, 19004, 7, 81, 2, 2, 19004, 19005, 7, 90, 2, 2, 19005, 19006, 7, 91, 2, 2, 19006, 2646, 3, 2, 2, 2, 19007, 19008, 7, 82, 2, 2, 19008, 19009, 7, 84, 2, 2, 19009, 19010, 7, 87, 2, 2, 19010, 19011, 7, 80, 2, 2, 19011, 19012, 7, 75, 2, 2, 19012, 19013, 7, 80, 2, 2, 19013, 19014, 7, 73, 2, 2, 19014, 2648, 3, 2, 2, 2, 19015, 19016, 7, 82, 2, 2, 19016, 19017, 7, 87, 2, 2, 19017, 19018, 7, 68, 2, 2, 19018, 19019, 7, 78, 2, 2, 19019, 19020, 7, 75, 2, 2, 19020, 19021, 7, 69, 2, 2, 19021, 2650, 3, 2, 2, 2, 19022, 19023, 7, 82, 2, 2, 19023, 19024, 7, 87, 2, 2, 19024, 19025, 7, 78, 2, 2, 19025, 19026, 7, 78, 2, 2, 19026, 19027, 7, 97, 2, 2, 19027, 19028, 7, 82, 2, 2, 19028, 19029, 7, 84, 2, 2, 19029, 19030, 7, 71, 2, 2, 19030, 19031, 7, 70, 2, 2, 19031, 2652, 3, 2, 2, 2, 19032, 19033, 7, 82, 2, 2, 19033, 19034, 7, 87, 2, 2, 19034, 19035, 7, 84, 2, 2, 19035, 19036, 7, 73, 2, 2, 19036, 19037, 7, 71, 2, 2, 19037, 2654, 3, 2, 2, 2, 19038, 19039, 7, 82, 2, 2, 19039, 19040, 7, 87, 2, 2, 19040, 19041, 7, 85, 2, 2, 19041, 19042, 7, 74, 2, 2, 19042, 19043, 7, 97, 2, 2, 19043, 19044, 7, 82, 2, 2, 19044, 19045, 7, 84, 2, 2, 19045, 19046, 7, 71, 2, 2, 19046, 19047, 7, 70, 2, 2, 19047, 2656, 3, 2, 2, 2, 19048, 19049, 7, 82, 2, 2, 19049, 19050, 7, 87, 2, 2, 19050, 19051, 7, 85, 2, 2, 19051, 19052, 7, 74, 2, 2, 19052, 19053, 7, 97, 2, 2, 19053, 19054, 7, 85, 2, 2, 19054, 19055, 7, 87, 2, 2, 19055, 19056, 7, 68, 2, 2, 19056, 19057, 7, 83, 2, 2, 19057, 2658, 3, 2, 2, 2, 19058, 19059, 7, 82, 2, 2, 19059, 19060, 7, 90, 2, 2, 19060, 19061, 7, 97, 2, 2, 19061, 19062, 7, 72, 2, 2, 19062, 19063, 7, 67, 2, 2, 19063, 19064, 7, 87, 2, 2, 19064, 19065, 7, 78, 2, 2, 19065, 19066, 7, 86, 2, 2, 19066, 19067, 7, 97, 2, 2, 19067, 19068, 7, 86, 2, 2, 19068, 19069, 7, 81, 2, 2, 19069, 19070, 7, 78, 2, 2, 19070, 19071, 7, 71, 2, 2, 19071, 19072, 7, 84, 2, 2, 19072, 19073, 7, 67, 2, 2, 19073, 19074, 7, 80, 2, 2, 19074, 19075, 7, 69, 2, 2, 19075, 19076, 7, 71, 2, 2, 19076, 2660, 3, 2, 2, 2, 19077, 19078, 7, 82, 2, 2, 19078, 19079, 7, 90, 2, 2, 19079, 19080, 7, 97, 2, 2, 19080, 19081, 7, 73, 2, 2, 19081, 19082, 7, 84, 2, 2, 19082, 19083, 7, 67, 2, 2, 19083, 19084, 7, 80, 2, 2, 19084, 19085, 7, 87, 2, 2, 19085, 19086, 7, 78, 2, 2, 19086, 19087, 7, 71, 2, 2, 19087, 2662, 3, 2, 2, 2, 19088, 19089, 7, 82, 2, 2, 19089, 19090, 7, 90, 2, 2, 19090, 19091, 7, 97, 2, 2, 19091, 19092, 7, 76, 2, 2, 19092, 19093, 7, 81, 2, 2, 19093, 19094, 7, 75, 2, 2, 19094, 19095, 7, 80, 2, 2, 19095, 19096, 7, 97, 2, 2, 19096, 19097, 7, 72, 2, 2, 19097, 19098, 7, 75, 2, 2, 19098, 19099, 7, 78, 2, 2, 19099, 19100, 7, 86, 2, 2, 19100, 19101, 7, 71, 2, 2, 19101, 19102, 7, 84, 2, 2, 19102, 2664, 3, 2, 2, 2, 19103, 19104, 7, 83, 2, 2, 19104, 19105, 7, 68, 2, 2, 19105, 19106, 7, 97, 2, 2, 19106, 19107, 7, 80, 2, 2, 19107, 19108, 7, 67, 2, 2, 19108, 19109, 7, 79, 2, 2, 19109, 19110, 7, 71, 2, 2, 19110, 2666, 3, 2, 2, 2, 19111, 19112, 7, 83, 2, 2, 19112, 19113, 7, 87, 2, 2, 19113, 19114, 7, 71, 2, 2, 19114, 19115, 7, 84, 2, 2, 19115, 19116, 7, 91, 2, 2, 19116, 19117, 7, 97, 2, 2, 19117, 19118, 7, 68, 2, 2, 19118, 19119, 7, 78, 2, 2, 19119, 19120, 7, 81, 2, 2, 19120, 19121, 7, 69, 2, 2, 19121, 19122, 7, 77, 2, 2, 19122, 2668, 3, 2, 2, 2, 19123, 19124, 7, 83, 2, 2, 19124, 19125, 7, 87, 2, 2, 19125, 19126, 7, 71, 2, 2, 19126, 19127, 7, 84, 2, 2, 19127, 19128, 7, 91, 2, 2, 19128, 2670, 3, 2, 2, 2, 19129, 19130, 7, 83, 2, 2, 19130, 19131, 7, 87, 2, 2, 19131, 19132, 7, 71, 2, 2, 19132, 19133, 7, 87, 2, 2, 19133, 19134, 7, 71, 2, 2, 19134, 19135, 7, 97, 2, 2, 19135, 19136, 7, 69, 2, 2, 19136, 19137, 7, 87, 2, 2, 19137, 19138, 7, 84, 2, 2, 19138, 19139, 7, 84, 2, 2, 19139, 2672, 3, 2, 2, 2, 19140, 19141, 7, 83, 2, 2, 19141, 19142, 7, 87, 2, 2, 19142, 19143, 7, 71, 2, 2, 19143, 19144, 7, 87, 2, 2, 19144, 19145, 7, 71, 2, 2, 19145, 2674, 3, 2, 2, 2, 19146, 19147, 7, 83, 2, 2, 19147, 19148, 7, 87, 2, 2, 19148, 19149, 7, 71, 2, 2, 19149, 19150, 7, 87, 2, 2, 19150, 19151, 7, 71, 2, 2, 19151, 19152, 7, 97, 2, 2, 19152, 19153, 7, 84, 2, 2, 19153, 19154, 7, 81, 2, 2, 19154, 19155, 7, 89, 2, 2, 19155, 19156, 7, 82, 2, 2, 19156, 2676, 3, 2, 2, 2, 19157, 19158, 7, 83, 2, 2, 19158, 19159, 7, 87, 2, 2, 19159, 19160, 7, 75, 2, 2, 19160, 19161, 7, 71, 2, 2, 19161, 19162, 7, 85, 2, 2, 19162, 19163, 7, 69, 2, 2, 19163, 19164, 7, 71, 2, 2, 19164, 2678, 3, 2, 2, 2, 19165, 19166, 7, 83, 2, 2, 19166, 19167, 7, 87, 2, 2, 19167, 19168, 7, 81, 2, 2, 19168, 19169, 7, 84, 2, 2, 19169, 19170, 7, 87, 2, 2, 19170, 19171, 7, 79, 2, 2, 19171, 2680, 3, 2, 2, 2, 19172, 19173, 7, 83, 2, 2, 19173, 19174, 7, 87, 2, 2, 19174, 19175, 7, 81, 2, 2, 19175, 19176, 7, 86, 2, 2, 19176, 19177, 7, 67, 2, 2, 19177, 2682, 3, 2, 2, 2, 19178, 19179, 7, 84, 2, 2, 19179, 19180, 7, 67, 2, 2, 19180, 19181, 7, 75, 2, 2, 19181, 19182, 7, 85, 2, 2, 19182, 19183, 7, 71, 2, 2, 19183, 2684, 3, 2, 2, 2, 19184, 19185, 7, 84, 2, 2, 19185, 19186, 7, 67, 2, 2, 19186, 19187, 7, 80, 2, 2, 19187, 19188, 7, 70, 2, 2, 19188, 19189, 7, 81, 2, 2, 19189, 19190, 7, 79, 2, 2, 19190, 19191, 7, 97, 2, 2, 19191, 19192, 7, 78, 2, 2, 19192, 19193, 7, 81, 2, 2, 19193, 19194, 7, 69, 2, 2, 19194, 19195, 7, 67, 2, 2, 19195, 19196, 7, 78, 2, 2, 19196, 2686, 3, 2, 2, 2, 19197, 19198, 7, 84, 2, 2, 19198, 19199, 7, 67, 2, 2, 19199, 19200, 7, 80, 2, 2, 19200, 19201, 7, 70, 2, 2, 19201, 19202, 7, 81, 2, 2, 19202, 19203, 7, 79, 2, 2, 19203, 2688, 3, 2, 2, 2, 19204, 19205, 7, 84, 2, 2, 19205, 19206, 7, 67, 2, 2, 19206, 19207, 7, 80, 2, 2, 19207, 19208, 7, 73, 2, 2, 19208, 19209, 7, 71, 2, 2, 19209, 2690, 3, 2, 2, 2, 19210, 19211, 7, 84, 2, 2, 19211, 19212, 7, 67, 2, 2, 19212, 19213, 7, 80, 2, 2, 19213, 19214, 7, 77, 2, 2, 19214, 19215, 7, 79, 2, 2, 19215, 2692, 3, 2, 2, 2, 19216, 19217, 7, 84, 2, 2, 19217, 19218, 7, 67, 2, 2, 19218, 19219, 7, 82, 2, 2, 19219, 19220, 7, 75, 2, 2, 19220, 19221, 7, 70, 2, 2, 19221, 19222, 7, 78, 2, 2, 19222, 19223, 7, 91, 2, 2, 19223, 2694, 3, 2, 2, 2, 19224, 19225, 7, 84, 2, 2, 19225, 19226, 7, 67, 2, 2, 19226, 19227, 7, 89, 2, 2, 19227, 2696, 3, 2, 2, 2, 19228, 19229, 7, 84, 2, 2, 19229, 19230, 7, 67, 2, 2, 19230, 19231, 7, 89, 2, 2, 19231, 19232, 7, 86, 2, 2, 19232, 19233, 7, 81, 2, 2, 19233, 19234, 7, 74, 2, 2, 19234, 19235, 7, 71, 2, 2, 19235, 19236, 7, 90, 2, 2, 19236, 2698, 3, 2, 2, 2, 19237, 19238, 7, 84, 2, 2, 19238, 19239, 7, 67, 2, 2, 19239, 19240, 7, 89, 2, 2, 19240, 19241, 7, 86, 2, 2, 19241, 19242, 7, 81, 2, 2, 19242, 19243, 7, 80, 2, 2, 19243, 19244, 7, 74, 2, 2, 19244, 19245, 7, 71, 2, 2, 19245, 19246, 7, 90, 2, 2, 19246, 2700, 3, 2, 2, 2, 19247, 19248, 7, 84, 2, 2, 19248, 19249, 7, 68, 2, 2, 19249, 19250, 7, 67, 2, 2, 19250, 2702, 3, 2, 2, 2, 19251, 19252, 7, 84, 2, 2, 19252, 19253, 7, 68, 2, 2, 19253, 19254, 7, 81, 2, 2, 19254, 19255, 7, 97, 2, 2, 19255, 19256, 7, 81, 2, 2, 19256, 19257, 7, 87, 2, 2, 19257, 19258, 7, 86, 2, 2, 19258, 19259, 7, 78, 2, 2, 19259, 19260, 7, 75, 2, 2, 19260, 19261, 7, 80, 2, 2, 19261, 19262, 7, 71, 2, 2, 19262, 2704, 3, 2, 2, 2, 19263, 19264, 7, 84, 2, 2, 19264, 19265, 7, 70, 2, 2, 19265, 19266, 7, 68, 2, 2, 19266, 19267, 7, 67, 2, 2, 19267, 2706, 3, 2, 2, 2, 19268, 19269, 7, 84, 2, 2, 19269, 19270, 7, 71, 2, 2, 19270, 19271, 7, 67, 2, 2, 19271, 19272, 7, 70, 2, 2, 19272, 2708, 3, 2, 2, 2, 19273, 19274, 7, 84, 2, 2, 19274, 19275, 7, 71, 2, 2, 19275, 19276, 7, 67, 2, 2, 19276, 19277, 7, 70, 2, 2, 19277, 19278, 7, 85, 2, 2, 19278, 2710, 3, 2, 2, 2, 19279, 19280, 7, 84, 2, 2, 19280, 19281, 7, 71, 2, 2, 19281, 19282, 7, 67, 2, 2, 19282, 19283, 7, 78, 2, 2, 19283, 19284, 7, 79, 2, 2, 19284, 2712, 3, 2, 2, 2, 19285, 19286, 7, 84, 2, 2, 19286, 19287, 7, 71, 2, 2, 19287, 19288, 7, 67, 2, 2, 19288, 19289, 7, 78, 2, 2, 19289, 2714, 3, 2, 2, 2, 19290, 19291, 7, 84, 2, 2, 19291, 19292, 7, 71, 2, 2, 19292, 19293, 7, 68, 2, 2, 19293, 19294, 7, 67, 2, 2, 19294, 19295, 7, 78, 2, 2, 19295, 19296, 7, 67, 2, 2, 19296, 19297, 7, 80, 2, 2, 19297, 19298, 7, 69, 2, 2, 19298, 19299, 7, 71, 2, 2, 19299, 2716, 3, 2, 2, 2, 19300, 19301, 7, 84, 2, 2, 19301, 19302, 7, 71, 2, 2, 19302, 19303, 7, 68, 2, 2, 19303, 19304, 7, 87, 2, 2, 19304, 19305, 7, 75, 2, 2, 19305, 19306, 7, 78, 2, 2, 19306, 19307, 7, 70, 2, 2, 19307, 2718, 3, 2, 2, 2, 19308, 19309, 7, 84, 2, 2, 19309, 19310, 7, 71, 2, 2, 19310, 19311, 7, 69, 2, 2, 19311, 19312, 7, 81, 2, 2, 19312, 19313, 7, 84, 2, 2, 19313, 19314, 7, 70, 2, 2, 19314, 2720, 3, 2, 2, 2, 19315, 19316, 7, 84, 2, 2, 19316, 19317, 7, 71, 2, 2, 19317, 19318, 7, 69, 2, 2, 19318, 19319, 7, 81, 2, 2, 19319, 19320, 7, 84, 2, 2, 19320, 19321, 7, 70, 2, 2, 19321, 19322, 7, 85, 2, 2, 19322, 19323, 7, 97, 2, 2, 19323, 19324, 7, 82, 2, 2, 19324, 19325, 7, 71, 2, 2, 19325, 19326, 7, 84, 2, 2, 19326, 19327, 7, 97, 2, 2, 19327, 19328, 7, 68, 2, 2, 19328, 19329, 7, 78, 2, 2, 19329, 19330, 7, 81, 2, 2, 19330, 19331, 7, 69, 2, 2, 19331, 19332, 7, 77, 2, 2, 19332, 2722, 3, 2, 2, 2, 19333, 19334, 7, 84, 2, 2, 19334, 19335, 7, 71, 2, 2, 19335, 19336, 7, 69, 2, 2, 19336, 19337, 7, 81, 2, 2, 19337, 19338, 7, 88, 2, 2, 19338, 19339, 7, 71, 2, 2, 19339, 19340, 7, 84, 2, 2, 19340, 19341, 7, 67, 2, 2, 19341, 19342, 7, 68, 2, 2, 19342, 19343, 7, 78, 2, 2, 19343, 19344, 7, 71, 2, 2, 19344, 2724, 3, 2, 2, 2, 19345, 19346, 7, 84, 2, 2, 19346, 19347, 7, 71, 2, 2, 19347, 19348, 7, 69, 2, 2, 19348, 19349, 7, 81, 2, 2, 19349, 19350, 7, 88, 2, 2, 19350, 19351, 7, 71, 2, 2, 19351, 19352, 7, 84, 2, 2, 19352, 2726, 3, 2, 2, 2, 19353, 19354, 7, 84, 2, 2, 19354, 19355, 7, 71, 2, 2, 19355, 19356, 7, 69, 2, 2, 19356, 19357, 7, 81, 2, 2, 19357, 19358, 7, 88, 2, 2, 19358, 19359, 7, 71, 2, 2, 19359, 19360, 7, 84, 2, 2, 19360, 19361, 7, 91, 2, 2, 19361, 2728, 3, 2, 2, 2, 19362, 19363, 7, 84, 2, 2, 19363, 19364, 7, 71, 2, 2, 19364, 19365, 7, 69, 2, 2, 19365, 19366, 7, 91, 2, 2, 19366, 19367, 7, 69, 2, 2, 19367, 19368, 7, 78, 2, 2, 19368, 19369, 7, 71, 2, 2, 19369, 19370, 7, 68, 2, 2, 19370, 19371, 7, 75, 2, 2, 19371, 19372, 7, 80, 2, 2, 19372, 2730, 3, 2, 2, 2, 19373, 19374, 7, 84, 2, 2, 19374, 19375, 7, 71, 2, 2, 19375, 19376, 7, 69, 2, 2, 19376, 19377, 7, 91, 2, 2, 19377, 19378, 7, 69, 2, 2, 19378, 19379, 7, 78, 2, 2, 19379, 19380, 7, 71, 2, 2, 19380, 2732, 3, 2, 2, 2, 19381, 19382, 7, 84, 2, 2, 19382, 19383, 7, 71, 2, 2, 19383, 19384, 7, 70, 2, 2, 19384, 19385, 7, 67, 2, 2, 19385, 19386, 7, 69, 2, 2, 19386, 19387, 7, 86, 2, 2, 19387, 19388, 7, 75, 2, 2, 19388, 19389, 7, 81, 2, 2, 19389, 19390, 7, 80, 2, 2, 19390, 2734, 3, 2, 2, 2, 19391, 19392, 7, 84, 2, 2, 19392, 19393, 7, 71, 2, 2, 19393, 19394, 7, 70, 2, 2, 19394, 19395, 7, 71, 2, 2, 19395, 19396, 7, 72, 2, 2, 19396, 19397, 7, 75, 2, 2, 19397, 19398, 7, 80, 2, 2, 19398, 19399, 7, 71, 2, 2, 19399, 2736, 3, 2, 2, 2, 19400, 19401, 7, 84, 2, 2, 19401, 19402, 7, 71, 2, 2, 19402, 19403, 7, 70, 2, 2, 19403, 19404, 7, 81, 2, 2, 19404, 2738, 3, 2, 2, 2, 19405, 19406, 7, 84, 2, 2, 19406, 19407, 7, 71, 2, 2, 19407, 19408, 7, 70, 2, 2, 19408, 19409, 7, 87, 2, 2, 19409, 19410, 7, 69, 2, 2, 19410, 19411, 7, 71, 2, 2, 19411, 19412, 7, 70, 2, 2, 19412, 2740, 3, 2, 2, 2, 19413, 19414, 7, 84, 2, 2, 19414, 19415, 7, 71, 2, 2, 19415, 19416, 7, 70, 2, 2, 19416, 19417, 7, 87, 2, 2, 19417, 19418, 7, 80, 2, 2, 19418, 19419, 7, 70, 2, 2, 19419, 19420, 7, 67, 2, 2, 19420, 19421, 7, 80, 2, 2, 19421, 19422, 7, 69, 2, 2, 19422, 19423, 7, 91, 2, 2, 19423, 2742, 3, 2, 2, 2, 19424, 19425, 7, 84, 2, 2, 19425, 19426, 7, 71, 2, 2, 19426, 19427, 7, 72, 2, 2, 19427, 19428, 7, 97, 2, 2, 19428, 19429, 7, 69, 2, 2, 19429, 19430, 7, 67, 2, 2, 19430, 19431, 7, 85, 2, 2, 19431, 19432, 7, 69, 2, 2, 19432, 19433, 7, 67, 2, 2, 19433, 19434, 7, 70, 2, 2, 19434, 19435, 7, 71, 2, 2, 19435, 19436, 7, 97, 2, 2, 19436, 19437, 7, 69, 2, 2, 19437, 19438, 7, 87, 2, 2, 19438, 19439, 7, 84, 2, 2, 19439, 19440, 7, 85, 2, 2, 19440, 19441, 7, 81, 2, 2, 19441, 19442, 7, 84, 2, 2, 19442, 2744, 3, 2, 2, 2, 19443, 19444, 7, 84, 2, 2, 19444, 19445, 7, 71, 2, 2, 19445, 19446, 7, 72, 2, 2, 19446, 19447, 7, 71, 2, 2, 19447, 19448, 7, 84, 2, 2, 19448, 19449, 7, 71, 2, 2, 19449, 19450, 7, 80, 2, 2, 19450, 19451, 7, 69, 2, 2, 19451, 19452, 7, 71, 2, 2, 19452, 19453, 7, 70, 2, 2, 19453, 2746, 3, 2, 2, 2, 19454, 19455, 7, 84, 2, 2, 19455, 19456, 7, 71, 2, 2, 19456, 19457, 7, 72, 2, 2, 19457, 19458, 7, 71, 2, 2, 19458, 19459, 7, 84, 2, 2, 19459, 19460, 7, 71, 2, 2, 19460, 19461, 7, 80, 2, 2, 19461, 19462, 7, 69, 2, 2, 19462, 19463, 7, 71, 2, 2, 19463, 2748, 3, 2, 2, 2, 19464, 19465, 7, 84, 2, 2, 19465, 19466, 7, 71, 2, 2, 19466, 19467, 7, 72, 2, 2, 19467, 19468, 7, 71, 2, 2, 19468, 19469, 7, 84, 2, 2, 19469, 19470, 7, 71, 2, 2, 19470, 19471, 7, 80, 2, 2, 19471, 19472, 7, 69, 2, 2, 19472, 19473, 7, 71, 2, 2, 19473, 19474, 7, 85, 2, 2, 19474, 2750, 3, 2, 2, 2, 19475, 19476, 7, 84, 2, 2, 19476, 19477, 7, 71, 2, 2, 19477, 19478, 7, 72, 2, 2, 19478, 19479, 7, 71, 2, 2, 19479, 19480, 7, 84, 2, 2, 19480, 19481, 7, 71, 2, 2, 19481, 19482, 7, 80, 2, 2, 19482, 19483, 7, 69, 2, 2, 19483, 19484, 7, 75, 2, 2, 19484, 19485, 7, 80, 2, 2, 19485, 19486, 7, 73, 2, 2, 19486, 2752, 3, 2, 2, 2, 19487, 19488, 7, 84, 2, 2, 19488, 19489, 7, 71, 2, 2, 19489, 19490, 7, 72, 2, 2, 19490, 2754, 3, 2, 2, 2, 19491, 19492, 7, 84, 2, 2, 19492, 19493, 7, 71, 2, 2, 19493, 19494, 7, 72, 2, 2, 19494, 19495, 7, 84, 2, 2, 19495, 19496, 7, 71, 2, 2, 19496, 19497, 7, 85, 2, 2, 19497, 19498, 7, 74, 2, 2, 19498, 2756, 3, 2, 2, 2, 19499, 19500, 7, 84, 2, 2, 19500, 19501, 7, 71, 2, 2, 19501, 19502, 7, 72, 2, 2, 19502, 19503, 7, 86, 2, 2, 19503, 19504, 7, 81, 2, 2, 19504, 19505, 7, 74, 2, 2, 19505, 19506, 7, 71, 2, 2, 19506, 19507, 7, 90, 2, 2, 19507, 2758, 3, 2, 2, 2, 19508, 19509, 7, 84, 2, 2, 19509, 19510, 7, 71, 2, 2, 19510, 19511, 7, 73, 2, 2, 19511, 19512, 7, 71, 2, 2, 19512, 19513, 7, 90, 2, 2, 19513, 19514, 7, 82, 2, 2, 19514, 19515, 7, 97, 2, 2, 19515, 19516, 7, 69, 2, 2, 19516, 19517, 7, 81, 2, 2, 19517, 19518, 7, 87, 2, 2, 19518, 19519, 7, 80, 2, 2, 19519, 19520, 7, 86, 2, 2, 19520, 2760, 3, 2, 2, 2, 19521, 19522, 7, 84, 2, 2, 19522, 19523, 7, 71, 2, 2, 19523, 19524, 7, 73, 2, 2, 19524, 19525, 7, 71, 2, 2, 19525, 19526, 7, 90, 2, 2, 19526, 19527, 7, 82, 2, 2, 19527, 19528, 7, 97, 2, 2, 19528, 19529, 7, 75, 2, 2, 19529, 19530, 7, 80, 2, 2, 19530, 19531, 7, 85, 2, 2, 19531, 19532, 7, 86, 2, 2, 19532, 19533, 7, 84, 2, 2, 19533, 2762, 3, 2, 2, 2, 19534, 19535, 7, 84, 2, 2, 19535, 19536, 7, 71, 2, 2, 19536, 19537, 7, 73, 2, 2, 19537, 19538, 7, 71, 2, 2, 19538, 19539, 7, 90, 2, 2, 19539, 19540, 7, 82, 2, 2, 19540, 19541, 7, 97, 2, 2, 19541, 19542, 7, 78, 2, 2, 19542, 19543, 7, 75, 2, 2, 19543, 19544, 7, 77, 2, 2, 19544, 19545, 7, 71, 2, 2, 19545, 2764, 3, 2, 2, 2, 19546, 19547, 7, 84, 2, 2, 19547, 19548, 7, 71, 2, 2, 19548, 19549, 7, 73, 2, 2, 19549, 19550, 7, 71, 2, 2, 19550, 19551, 7, 90, 2, 2, 19551, 19552, 7, 82, 2, 2, 19552, 19553, 7, 97, 2, 2, 19553, 19554, 7, 84, 2, 2, 19554, 19555, 7, 71, 2, 2, 19555, 19556, 7, 82, 2, 2, 19556, 19557, 7, 78, 2, 2, 19557, 19558, 7, 67, 2, 2, 19558, 19559, 7, 69, 2, 2, 19559, 19560, 7, 71, 2, 2, 19560, 2766, 3, 2, 2, 2, 19561, 19562, 7, 84, 2, 2, 19562, 19563, 7, 71, 2, 2, 19563, 19564, 7, 73, 2, 2, 19564, 19565, 7, 71, 2, 2, 19565, 19566, 7, 90, 2, 2, 19566, 19567, 7, 82, 2, 2, 19567, 19568, 7, 97, 2, 2, 19568, 19569, 7, 85, 2, 2, 19569, 19570, 7, 87, 2, 2, 19570, 19571, 7, 68, 2, 2, 19571, 19572, 7, 85, 2, 2, 19572, 19573, 7, 86, 2, 2, 19573, 19574, 7, 84, 2, 2, 19574, 2768, 3, 2, 2, 2, 19575, 19576, 7, 84, 2, 2, 19576, 19577, 7, 71, 2, 2, 19577, 19578, 7, 73, 2, 2, 19578, 19579, 7, 75, 2, 2, 19579, 19580, 7, 85, 2, 2, 19580, 19581, 7, 86, 2, 2, 19581, 19582, 7, 71, 2, 2, 19582, 19583, 7, 84, 2, 2, 19583, 2770, 3, 2, 2, 2, 19584, 19585, 7, 84, 2, 2, 19585, 19586, 7, 71, 2, 2, 19586, 19587, 7, 73, 2, 2, 19587, 19588, 7, 84, 2, 2, 19588, 19589, 7, 97, 2, 2, 19589, 19590, 7, 67, 2, 2, 19590, 19591, 7, 88, 2, 2, 19591, 19592, 7, 73, 2, 2, 19592, 19593, 7, 90, 2, 2, 19593, 2772, 3, 2, 2, 2, 19594, 19595, 7, 84, 2, 2, 19595, 19596, 7, 71, 2, 2, 19596, 19597, 7, 73, 2, 2, 19597, 19598, 7, 84, 2, 2, 19598, 19599, 7, 97, 2, 2, 19599, 19600, 7, 67, 2, 2, 19600, 19601, 7, 88, 2, 2, 19601, 19602, 7, 73, 2, 2, 19602, 19603, 7, 91, 2, 2, 19603, 2774, 3, 2, 2, 2, 19604, 19605, 7, 84, 2, 2, 19605, 19606, 7, 71, 2, 2, 19606, 19607, 7, 73, 2, 2, 19607, 19608, 7, 84, 2, 2, 19608, 19609, 7, 97, 2, 2, 19609, 19610, 7, 69, 2, 2, 19610, 19611, 7, 81, 2, 2, 19611, 19612, 7, 87, 2, 2, 19612, 19613, 7, 80, 2, 2, 19613, 19614, 7, 86, 2, 2, 19614, 2776, 3, 2, 2, 2, 19615, 19616, 7, 84, 2, 2, 19616, 19617, 7, 71, 2, 2, 19617, 19618, 7, 73, 2, 2, 19618, 19619, 7, 84, 2, 2, 19619, 19620, 7, 97, 2, 2, 19620, 19621, 7, 75, 2, 2, 19621, 19622, 7, 80, 2, 2, 19622, 19623, 7, 86, 2, 2, 19623, 19624, 7, 71, 2, 2, 19624, 19625, 7, 84, 2, 2, 19625, 19626, 7, 69, 2, 2, 19626, 19627, 7, 71, 2, 2, 19627, 19628, 7, 82, 2, 2, 19628, 19629, 7, 86, 2, 2, 19629, 2778, 3, 2, 2, 2, 19630, 19631, 7, 84, 2, 2, 19631, 19632, 7, 71, 2, 2, 19632, 19633, 7, 73, 2, 2, 19633, 19634, 7, 84, 2, 2, 19634, 19635, 7, 97, 2, 2, 19635, 19636, 7, 84, 2, 2, 19636, 19637, 7, 52, 2, 2, 19637, 2780, 3, 2, 2, 2, 19638, 19639, 7, 84, 2, 2, 19639, 19640, 7, 71, 2, 2, 19640, 19641, 7, 73, 2, 2, 19641, 19642, 7, 84, 2, 2, 19642, 19643, 7, 97, 2, 2, 19643, 19644, 7, 85, 2, 2, 19644, 19645, 7, 78, 2, 2, 19645, 19646, 7, 81, 2, 2, 19646, 19647, 7, 82, 2, 2, 19647, 19648, 7, 71, 2, 2, 19648, 2782, 3, 2, 2, 2, 19649, 19650, 7, 84, 2, 2, 19650, 19651, 7, 71, 2, 2, 19651, 19652, 7, 73, 2, 2, 19652, 19653, 7, 84, 2, 2, 19653, 19654, 7, 97, 2, 2, 19654, 19655, 7, 85, 2, 2, 19655, 19656, 7, 90, 2, 2, 19656, 19657, 7, 90, 2, 2, 19657, 2784, 3, 2, 2, 2, 19658, 19659, 7, 84, 2, 2, 19659, 19660, 7, 71, 2, 2, 19660, 19661, 7, 73, 2, 2, 19661, 19662, 7, 84, 2, 2, 19662, 19663, 7, 97, 2, 2, 19663, 19664, 7, 85, 2, 2, 19664, 19665, 7, 90, 2, 2, 19665, 19666, 7, 91, 2, 2, 19666, 2786, 3, 2, 2, 2, 19667, 19668, 7, 84, 2, 2, 19668, 19669, 7, 71, 2, 2, 19669, 19670, 7, 73, 2, 2, 19670, 19671, 7, 84, 2, 2, 19671, 19672, 7, 97, 2, 2, 19672, 19673, 7, 85, 2, 2, 19673, 19674, 7, 91, 2, 2, 19674, 19675, 7, 91, 2, 2, 19675, 2788, 3, 2, 2, 2, 19676, 19677, 7, 84, 2, 2, 19677, 19678, 7, 71, 2, 2, 19678, 19679, 7, 73, 2, 2, 19679, 19680, 7, 87, 2, 2, 19680, 19681, 7, 78, 2, 2, 19681, 19682, 7, 67, 2, 2, 19682, 19683, 7, 84, 2, 2, 19683, 2790, 3, 2, 2, 2, 19684, 19685, 7, 84, 2, 2, 19685, 19686, 7, 71, 2, 2, 19686, 19687, 7, 76, 2, 2, 19687, 19688, 7, 71, 2, 2, 19688, 19689, 7, 69, 2, 2, 19689, 19690, 7, 86, 2, 2, 19690, 2792, 3, 2, 2, 2, 19691, 19692, 7, 84, 2, 2, 19692, 19693, 7, 71, 2, 2, 19693, 19694, 7, 77, 2, 2, 19694, 19695, 7, 71, 2, 2, 19695, 19696, 7, 91, 2, 2, 19696, 2794, 3, 2, 2, 2, 19697, 19698, 7, 84, 2, 2, 19698, 19699, 7, 71, 2, 2, 19699, 19700, 7, 78, 2, 2, 19700, 19701, 7, 67, 2, 2, 19701, 19702, 7, 86, 2, 2, 19702, 19703, 7, 75, 2, 2, 19703, 19704, 7, 81, 2, 2, 19704, 19705, 7, 80, 2, 2, 19705, 19706, 7, 67, 2, 2, 19706, 19707, 7, 78, 2, 2, 19707, 2796, 3, 2, 2, 2, 19708, 19709, 7, 84, 2, 2, 19709, 19710, 7, 71, 2, 2, 19710, 19711, 7, 78, 2, 2, 19711, 19712, 7, 75, 2, 2, 19712, 19713, 7, 71, 2, 2, 19713, 19714, 7, 85, 2, 2, 19714, 19715, 7, 97, 2, 2, 19715, 19716, 7, 81, 2, 2, 19716, 19717, 7, 80, 2, 2, 19717, 2798, 3, 2, 2, 2, 19718, 19719, 7, 84, 2, 2, 19719, 19720, 7, 71, 2, 2, 19720, 19721, 7, 78, 2, 2, 19721, 19722, 7, 81, 2, 2, 19722, 19723, 7, 69, 2, 2, 19723, 19724, 7, 67, 2, 2, 19724, 19725, 7, 86, 2, 2, 19725, 19726, 7, 71, 2, 2, 19726, 2800, 3, 2, 2, 2, 19727, 19728, 7, 84, 2, 2, 19728, 19729, 7, 71, 2, 2, 19729, 19730, 7, 78, 2, 2, 19730, 19731, 7, 91, 2, 2, 19731, 2802, 3, 2, 2, 2, 19732, 19733, 7, 84, 2, 2, 19733, 19734, 7, 71, 2, 2, 19734, 19735, 7, 79, 2, 2, 19735, 19736, 7, 67, 2, 2, 19736, 19737, 7, 75, 2, 2, 19737, 19738, 7, 80, 2, 2, 19738, 19739, 7, 70, 2, 2, 19739, 19740, 7, 71, 2, 2, 19740, 19741, 7, 84, 2, 2, 19741, 2804, 3, 2, 2, 2, 19742, 19743, 7, 84, 2, 2, 19743, 19744, 7, 71, 2, 2, 19744, 19745, 7, 79, 2, 2, 19745, 19746, 7, 81, 2, 2, 19746, 19747, 7, 86, 2, 2, 19747, 19748, 7, 71, 2, 2, 19748, 19749, 7, 97, 2, 2, 19749, 19750, 7, 79, 2, 2, 19750, 19751, 7, 67, 2, 2, 19751, 19752, 7, 82, 2, 2, 19752, 19753, 7, 82, 2, 2, 19753, 19754, 7, 71, 2, 2, 19754, 19755, 7, 70, 2, 2, 19755, 2806, 3, 2, 2, 2, 19756, 19757, 7, 84, 2, 2, 19757, 19758, 7, 71, 2, 2, 19758, 19759, 7, 79, 2, 2, 19759, 19760, 7, 81, 2, 2, 19760, 19761, 7, 88, 2, 2, 19761, 19762, 7, 71, 2, 2, 19762, 2808, 3, 2, 2, 2, 19763, 19764, 7, 84, 2, 2, 19764, 19765, 7, 71, 2, 2, 19765, 19766, 7, 80, 2, 2, 19766, 19767, 7, 67, 2, 2, 19767, 19768, 7, 79, 2, 2, 19768, 19769, 7, 71, 2, 2, 19769, 2810, 3, 2, 2, 2, 19770, 19771, 7, 84, 2, 2, 19771, 19772, 7, 71, 2, 2, 19772, 19773, 7, 82, 2, 2, 19773, 19774, 7, 67, 2, 2, 19774, 19775, 7, 75, 2, 2, 19775, 19776, 7, 84, 2, 2, 19776, 2812, 3, 2, 2, 2, 19777, 19778, 7, 84, 2, 2, 19778, 19779, 7, 71, 2, 2, 19779, 19780, 7, 82, 2, 2, 19780, 19781, 7, 71, 2, 2, 19781, 19782, 7, 67, 2, 2, 19782, 19783, 7, 86, 2, 2, 19783, 2814, 3, 2, 2, 2, 19784, 19785, 7, 84, 2, 2, 19785, 19786, 7, 71, 2, 2, 19786, 19787, 7, 82, 2, 2, 19787, 19788, 7, 78, 2, 2, 19788, 19789, 7, 67, 2, 2, 19789, 19790, 7, 69, 2, 2, 19790, 19791, 7, 71, 2, 2, 19791, 2816, 3, 2, 2, 2, 19792, 19793, 7, 84, 2, 2, 19793, 19794, 7, 71, 2, 2, 19794, 19795, 7, 82, 2, 2, 19795, 19796, 7, 78, 2, 2, 19796, 19797, 7, 75, 2, 2, 19797, 19798, 7, 69, 2, 2, 19798, 19799, 7, 67, 2, 2, 19799, 19800, 7, 86, 2, 2, 19800, 19801, 7, 75, 2, 2, 19801, 19802, 7, 81, 2, 2, 19802, 19803, 7, 80, 2, 2, 19803, 2818, 3, 2, 2, 2, 19804, 19805, 7, 84, 2, 2, 19805, 19806, 7, 71, 2, 2, 19806, 19807, 7, 83, 2, 2, 19807, 19808, 7, 87, 2, 2, 19808, 19809, 7, 75, 2, 2, 19809, 19810, 7, 84, 2, 2, 19810, 19811, 7, 71, 2, 2, 19811, 19812, 7, 70, 2, 2, 19812, 2820, 3, 2, 2, 2, 19813, 19814, 7, 84, 2, 2, 19814, 19815, 7, 71, 2, 2, 19815, 19816, 7, 85, 2, 2, 19816, 19817, 7, 71, 2, 2, 19817, 19818, 7, 86, 2, 2, 19818, 19819, 7, 78, 2, 2, 19819, 19820, 7, 81, 2, 2, 19820, 19821, 7, 73, 2, 2, 19821, 19822, 7, 85, 2, 2, 19822, 2822, 3, 2, 2, 2, 19823, 19824, 7, 84, 2, 2, 19824, 19825, 7, 71, 2, 2, 19825, 19826, 7, 85, 2, 2, 19826, 19827, 7, 71, 2, 2, 19827, 19828, 7, 86, 2, 2, 19828, 2824, 3, 2, 2, 2, 19829, 19830, 7, 84, 2, 2, 19830, 19831, 7, 71, 2, 2, 19831, 19832, 7, 85, 2, 2, 19832, 19833, 7, 75, 2, 2, 19833, 19834, 7, 92, 2, 2, 19834, 19835, 7, 71, 2, 2, 19835, 2826, 3, 2, 2, 2, 19836, 19837, 7, 84, 2, 2, 19837, 19838, 7, 71, 2, 2, 19838, 19839, 7, 85, 2, 2, 19839, 19840, 7, 81, 2, 2, 19840, 19841, 7, 78, 2, 2, 19841, 19842, 7, 88, 2, 2, 19842, 19843, 7, 71, 2, 2, 19843, 2828, 3, 2, 2, 2, 19844, 19845, 7, 84, 2, 2, 19845, 19846, 7, 71, 2, 2, 19846, 19847, 7, 85, 2, 2, 19847, 19848, 7, 81, 2, 2, 19848, 19849, 7, 78, 2, 2, 19849, 19850, 7, 88, 2, 2, 19850, 19851, 7, 71, 2, 2, 19851, 19852, 7, 84, 2, 2, 19852, 2830, 3, 2, 2, 2, 19853, 19854, 7, 84, 2, 2, 19854, 19855, 7, 71, 2, 2, 19855, 19856, 7, 85, 2, 2, 19856, 19857, 7, 81, 2, 2, 19857, 19858, 7, 87, 2, 2, 19858, 19859, 7, 84, 2, 2, 19859, 19860, 7, 69, 2, 2, 19860, 19861, 7, 71, 2, 2, 19861, 2832, 3, 2, 2, 2, 19862, 19863, 7, 84, 2, 2, 19863, 19864, 7, 71, 2, 2, 19864, 19865, 7, 85, 2, 2, 19865, 19866, 7, 82, 2, 2, 19866, 19867, 7, 71, 2, 2, 19867, 19868, 7, 69, 2, 2, 19868, 19869, 7, 86, 2, 2, 19869, 2834, 3, 2, 2, 2, 19870, 19871, 7, 84, 2, 2, 19871, 19872, 7, 71, 2, 2, 19872, 19873, 7, 85, 2, 2, 19873, 19874, 7, 86, 2, 2, 19874, 19875, 7, 67, 2, 2, 19875, 19876, 7, 84, 2, 2, 19876, 19877, 7, 86, 2, 2, 19877, 2836, 3, 2, 2, 2, 19878, 19879, 7, 84, 2, 2, 19879, 19880, 7, 71, 2, 2, 19880, 19881, 7, 85, 2, 2, 19881, 19882, 7, 86, 2, 2, 19882, 19883, 7, 81, 2, 2, 19883, 19884, 7, 84, 2, 2, 19884, 19885, 7, 71, 2, 2, 19885, 19886, 7, 97, 2, 2, 19886, 19887, 7, 67, 2, 2, 19887, 19888, 7, 85, 2, 2, 19888, 19889, 7, 97, 2, 2, 19889, 19890, 7, 75, 2, 2, 19890, 19891, 7, 80, 2, 2, 19891, 19892, 7, 86, 2, 2, 19892, 19893, 7, 71, 2, 2, 19893, 19894, 7, 84, 2, 2, 19894, 19895, 7, 88, 2, 2, 19895, 19896, 7, 67, 2, 2, 19896, 19897, 7, 78, 2, 2, 19897, 19898, 7, 85, 2, 2, 19898, 2838, 3, 2, 2, 2, 19899, 19900, 7, 84, 2, 2, 19900, 19901, 7, 71, 2, 2, 19901, 19902, 7, 85, 2, 2, 19902, 19903, 7, 86, 2, 2, 19903, 19904, 7, 81, 2, 2, 19904, 19905, 7, 84, 2, 2, 19905, 19906, 7, 71, 2, 2, 19906, 2840, 3, 2, 2, 2, 19907, 19908, 7, 84, 2, 2, 19908, 19909, 7, 71, 2, 2, 19909, 19910, 7, 85, 2, 2, 19910, 19911, 7, 86, 2, 2, 19911, 19912, 7, 84, 2, 2, 19912, 19913, 7, 75, 2, 2, 19913, 19914, 7, 69, 2, 2, 19914, 19915, 7, 86, 2, 2, 19915, 19916, 7, 97, 2, 2, 19916, 19917, 7, 67, 2, 2, 19917, 19918, 7, 78, 2, 2, 19918, 19919, 7, 78, 2, 2, 19919, 19920, 7, 97, 2, 2, 19920, 19921, 7, 84, 2, 2, 19921, 19922, 7, 71, 2, 2, 19922, 19923, 7, 72, 2, 2, 19923, 19924, 7, 97, 2, 2, 19924, 19925, 7, 69, 2, 2, 19925, 19926, 7, 81, 2, 2, 19926, 19927, 7, 80, 2, 2, 19927, 19928, 7, 85, 2, 2, 19928, 2842, 3, 2, 2, 2, 19929, 19930, 7, 84, 2, 2, 19930, 19931, 7, 71, 2, 2, 19931, 19932, 7, 85, 2, 2, 19932, 19933, 7, 86, 2, 2, 19933, 19934, 7, 84, 2, 2, 19934, 19935, 7, 75, 2, 2, 19935, 19936, 7, 69, 2, 2, 19936, 19937, 7, 86, 2, 2, 19937, 19938, 7, 71, 2, 2, 19938, 19939, 7, 70, 2, 2, 19939, 2844, 3, 2, 2, 2, 19940, 19941, 7, 84, 2, 2, 19941, 19942, 7, 71, 2, 2, 19942, 19943, 7, 85, 2, 2, 19943, 19944, 7, 86, 2, 2, 19944, 19945, 7, 84, 2, 2, 19945, 19946, 7, 75, 2, 2, 19946, 19947, 7, 69, 2, 2, 19947, 19948, 7, 86, 2, 2, 19948, 19949, 7, 97, 2, 2, 19949, 19950, 7, 84, 2, 2, 19950, 19951, 7, 71, 2, 2, 19951, 19952, 7, 72, 2, 2, 19952, 19953, 7, 71, 2, 2, 19953, 19954, 7, 84, 2, 2, 19954, 19955, 7, 71, 2, 2, 19955, 19956, 7, 80, 2, 2, 19956, 19957, 7, 69, 2, 2, 19957, 19958, 7, 71, 2, 2, 19958, 19959, 7, 85, 2, 2, 19959, 2846, 3, 2, 2, 2, 19960, 19961, 7, 84, 2, 2, 19961, 19962, 7, 71, 2, 2, 19962, 19963, 7, 85, 2, 2, 19963, 19964, 7, 86, 2, 2, 19964, 19965, 7, 84, 2, 2, 19965, 19966, 7, 75, 2, 2, 19966, 19967, 7, 69, 2, 2, 19967, 19968, 7, 86, 2, 2, 19968, 2848, 3, 2, 2, 2, 19969, 19970, 7, 84, 2, 2, 19970, 19971, 7, 71, 2, 2, 19971, 19972, 7, 85, 2, 2, 19972, 19973, 7, 87, 2, 2, 19973, 19974, 7, 78, 2, 2, 19974, 19975, 7, 86, 2, 2, 19975, 19976, 7, 97, 2, 2, 19976, 19977, 7, 69, 2, 2, 19977, 19978, 7, 67, 2, 2, 19978, 19979, 7, 69, 2, 2, 19979, 19980, 7, 74, 2, 2, 19980, 19981, 7, 71, 2, 2, 19981, 2850, 3, 2, 2, 2, 19982, 19983, 7, 84, 2, 2, 19983, 19984, 7, 71, 2, 2, 19984, 19985, 7, 85, 2, 2, 19985, 19986, 7, 87, 2, 2, 19986, 19987, 7, 78, 2, 2, 19987, 19988, 7, 86, 2, 2, 19988, 2852, 3, 2, 2, 2, 19989, 19990, 7, 84, 2, 2, 19990, 19991, 7, 71, 2, 2, 19991, 19992, 7, 85, 2, 2, 19992, 19993, 7, 87, 2, 2, 19993, 19994, 7, 79, 2, 2, 19994, 19995, 7, 67, 2, 2, 19995, 19996, 7, 68, 2, 2, 19996, 19997, 7, 78, 2, 2, 19997, 19998, 7, 71, 2, 2, 19998, 2854, 3, 2, 2, 2, 19999, 20000, 7, 84, 2, 2, 20000, 20001, 7, 71, 2, 2, 20001, 20002, 7, 85, 2, 2, 20002, 20003, 7, 87, 2, 2, 20003, 20004, 7, 79, 2, 2, 20004, 20005, 7, 71, 2, 2, 20005, 2856, 3, 2, 2, 2, 20006, 20007, 7, 84, 2, 2, 20007, 20008, 7, 71, 2, 2, 20008, 20009, 7, 86, 2, 2, 20009, 20010, 7, 71, 2, 2, 20010, 20011, 7, 80, 2, 2, 20011, 20012, 7, 86, 2, 2, 20012, 20013, 7, 75, 2, 2, 20013, 20014, 7, 81, 2, 2, 20014, 20015, 7, 80, 2, 2, 20015, 2858, 3, 2, 2, 2, 20016, 20017, 7, 84, 2, 2, 20017, 20018, 7, 71, 2, 2, 20018, 20019, 7, 86, 2, 2, 20019, 20020, 7, 84, 2, 2, 20020, 20021, 7, 91, 2, 2, 20021, 20022, 7, 97, 2, 2, 20022, 20023, 7, 81, 2, 2, 20023, 20024, 7, 80, 2, 2, 20024, 20025, 7, 97, 2, 2, 20025, 20026, 7, 84, 2, 2, 20026, 20027, 7, 81, 2, 2, 20027, 20028, 7, 89, 2, 2, 20028, 20029, 7, 97, 2, 2, 20029, 20030, 7, 69, 2, 2, 20030, 20031, 7, 74, 2, 2, 20031, 20032, 7, 67, 2, 2, 20032, 20033, 7, 80, 2, 2, 20033, 20034, 7, 73, 2, 2, 20034, 20035, 7, 71, 2, 2, 20035, 2860, 3, 2, 2, 2, 20036, 20037, 7, 84, 2, 2, 20037, 20038, 7, 71, 2, 2, 20038, 20039, 7, 86, 2, 2, 20039, 20040, 7, 87, 2, 2, 20040, 20041, 7, 84, 2, 2, 20041, 20042, 7, 80, 2, 2, 20042, 20043, 7, 75, 2, 2, 20043, 20044, 7, 80, 2, 2, 20044, 20045, 7, 73, 2, 2, 20045, 2862, 3, 2, 2, 2, 20046, 20047, 7, 84, 2, 2, 20047, 20048, 7, 71, 2, 2, 20048, 20049, 7, 86, 2, 2, 20049, 20050, 7, 87, 2, 2, 20050, 20051, 7, 84, 2, 2, 20051, 20052, 7, 80, 2, 2, 20052, 2864, 3, 2, 2, 2, 20053, 20054, 7, 84, 2, 2, 20054, 20055, 7, 71, 2, 2, 20055, 20056, 7, 87, 2, 2, 20056, 20057, 7, 85, 2, 2, 20057, 20058, 7, 71, 2, 2, 20058, 2866, 3, 2, 2, 2, 20059, 20060, 7, 84, 2, 2, 20060, 20061, 7, 71, 2, 2, 20061, 20062, 7, 88, 2, 2, 20062, 20063, 7, 71, 2, 2, 20063, 20064, 7, 84, 2, 2, 20064, 20065, 7, 85, 2, 2, 20065, 20066, 7, 71, 2, 2, 20066, 2868, 3, 2, 2, 2, 20067, 20068, 7, 84, 2, 2, 20068, 20069, 7, 71, 2, 2, 20069, 20070, 7, 88, 2, 2, 20070, 20071, 7, 81, 2, 2, 20071, 20072, 7, 77, 2, 2, 20072, 20073, 7, 71, 2, 2, 20073, 2870, 3, 2, 2, 2, 20074, 20075, 7, 84, 2, 2, 20075, 20076, 7, 71, 2, 2, 20076, 20077, 7, 89, 2, 2, 20077, 20078, 7, 84, 2, 2, 20078, 20079, 7, 75, 2, 2, 20079, 20080, 7, 86, 2, 2, 20080, 20081, 7, 71, 2, 2, 20081, 20082, 7, 97, 2, 2, 20082, 20083, 7, 81, 2, 2, 20083, 20084, 7, 84, 2, 2, 20084, 20085, 7, 97, 2, 2, 20085, 20086, 7, 71, 2, 2, 20086, 20087, 7, 84, 2, 2, 20087, 20088, 7, 84, 2, 2, 20088, 20089, 7, 81, 2, 2, 20089, 20090, 7, 84, 2, 2, 20090, 2872, 3, 2, 2, 2, 20091, 20092, 7, 84, 2, 2, 20092, 20093, 7, 71, 2, 2, 20093, 20094, 7, 89, 2, 2, 20094, 20095, 7, 84, 2, 2, 20095, 20096, 7, 75, 2, 2, 20096, 20097, 7, 86, 2, 2, 20097, 20098, 7, 71, 2, 2, 20098, 2874, 3, 2, 2, 2, 20099, 20100, 7, 84, 2, 2, 20100, 20101, 7, 75, 2, 2, 20101, 20102, 7, 73, 2, 2, 20102, 20103, 7, 74, 2, 2, 20103, 20104, 7, 86, 2, 2, 20104, 2876, 3, 2, 2, 2, 20105, 20106, 7, 84, 2, 2, 20106, 20107, 7, 81, 2, 2, 20107, 20108, 7, 78, 2, 2, 20108, 20109, 7, 71, 2, 2, 20109, 2878, 3, 2, 2, 2, 20110, 20111, 7, 84, 2, 2, 20111, 20112, 7, 81, 2, 2, 20112, 20113, 7, 78, 2, 2, 20113, 20114, 7, 71, 2, 2, 20114, 20115, 7, 85, 2, 2, 20115, 20116, 7, 71, 2, 2, 20116, 20117, 7, 86, 2, 2, 20117, 2880, 3, 2, 2, 2, 20118, 20119, 7, 84, 2, 2, 20119, 20120, 7, 81, 2, 2, 20120, 20121, 7, 78, 2, 2, 20121, 20122, 7, 71, 2, 2, 20122, 20123, 7, 85, 2, 2, 20123, 2882, 3, 2, 2, 2, 20124, 20125, 7, 84, 2, 2, 20125, 20126, 7, 81, 2, 2, 20126, 20127, 7, 78, 2, 2, 20127, 20128, 7, 78, 2, 2, 20128, 20129, 7, 68, 2, 2, 20129, 20130, 7, 67, 2, 2, 20130, 20131, 7, 69, 2, 2, 20131, 20132, 7, 77, 2, 2, 20132, 2884, 3, 2, 2, 2, 20133, 20134, 7, 84, 2, 2, 20134, 20135, 7, 81, 2, 2, 20135, 20136, 7, 78, 2, 2, 20136, 20137, 7, 78, 2, 2, 20137, 20138, 7, 75, 2, 2, 20138, 20139, 7, 80, 2, 2, 20139, 20140, 7, 73, 2, 2, 20140, 2886, 3, 2, 2, 2, 20141, 20142, 7, 84, 2, 2, 20142, 20143, 7, 81, 2, 2, 20143, 20144, 7, 78, 2, 2, 20144, 20145, 7, 78, 2, 2, 20145, 20146, 7, 87, 2, 2, 20146, 20147, 7, 82, 2, 2, 20147, 2888, 3, 2, 2, 2, 20148, 20149, 7, 84, 2, 2, 20149, 20150, 7, 81, 2, 2, 20150, 20151, 7, 89, 2, 2, 20151, 20152, 7, 70, 2, 2, 20152, 20153, 7, 71, 2, 2, 20153, 20154, 7, 82, 2, 2, 20154, 20155, 7, 71, 2, 2, 20155, 20156, 7, 80, 2, 2, 20156, 20157, 7, 70, 2, 2, 20157, 20158, 7, 71, 2, 2, 20158, 20159, 7, 80, 2, 2, 20159, 20160, 7, 69, 2, 2, 20160, 20161, 7, 75, 2, 2, 20161, 20162, 7, 71, 2, 2, 20162, 20163, 7, 85, 2, 2, 20163, 2890, 3, 2, 2, 2, 20164, 20165, 7, 84, 2, 2, 20165, 20166, 7, 81, 2, 2, 20166, 20167, 7, 89, 2, 2, 20167, 20168, 7, 75, 2, 2, 20168, 20169, 7, 70, 2, 2, 20169, 20170, 7, 97, 2, 2, 20170, 20171, 7, 79, 2, 2, 20171, 20172, 7, 67, 2, 2, 20172, 20173, 7, 82, 2, 2, 20173, 20174, 7, 82, 2, 2, 20174, 20175, 7, 75, 2, 2, 20175, 20176, 7, 80, 2, 2, 20176, 20177, 7, 73, 2, 2, 20177, 20178, 7, 97, 2, 2, 20178, 20179, 7, 86, 2, 2, 20179, 20180, 7, 67, 2, 2, 20180, 20181, 7, 68, 2, 2, 20181, 20182, 7, 78, 2, 2, 20182, 20183, 7, 71, 2, 2, 20183, 2892, 3, 2, 2, 2, 20184, 20185, 7, 84, 2, 2, 20185, 20186, 7, 81, 2, 2, 20186, 20187, 7, 89, 2, 2, 20187, 20188, 7, 75, 2, 2, 20188, 20189, 7, 70, 2, 2, 20189, 2894, 3, 2, 2, 2, 20190, 20191, 7, 84, 2, 2, 20191, 20192, 7, 81, 2, 2, 20192, 20193, 7, 89, 2, 2, 20193, 20194, 7, 75, 2, 2, 20194, 20195, 7, 70, 2, 2, 20195, 20196, 7, 86, 2, 2, 20196, 20197, 7, 81, 2, 2, 20197, 20198, 7, 69, 2, 2, 20198, 20199, 7, 74, 2, 2, 20199, 20200, 7, 67, 2, 2, 20200, 20201, 7, 84, 2, 2, 20201, 2896, 3, 2, 2, 2, 20202, 20203, 7, 84, 2, 2, 20203, 20204, 7, 81, 2, 2, 20204, 20205, 7, 89, 2, 2, 20205, 20206, 7, 75, 2, 2, 20206, 20207, 7, 70, 2, 2, 20207, 20208, 7, 86, 2, 2, 20208, 20209, 7, 81, 2, 2, 20209, 20210, 7, 80, 2, 2, 20210, 20211, 7, 69, 2, 2, 20211, 20212, 7, 74, 2, 2, 20212, 20213, 7, 67, 2, 2, 20213, 20214, 7, 84, 2, 2, 20214, 2898, 3, 2, 2, 2, 20215, 20216, 7, 84, 2, 2, 20216, 20217, 7, 81, 2, 2, 20217, 20218, 7, 89, 2, 2, 20218, 20219, 7, 97, 2, 2, 20219, 20220, 7, 78, 2, 2, 20220, 20221, 7, 71, 2, 2, 20221, 20222, 7, 80, 2, 2, 20222, 20223, 7, 73, 2, 2, 20223, 20224, 7, 86, 2, 2, 20224, 20225, 7, 74, 2, 2, 20225, 2900, 3, 2, 2, 2, 20226, 20227, 7, 84, 2, 2, 20227, 20228, 7, 81, 2, 2, 20228, 20229, 7, 89, 2, 2, 20229, 20230, 7, 80, 2, 2, 20230, 20231, 7, 87, 2, 2, 20231, 20232, 7, 79, 2, 2, 20232, 2902, 3, 2, 2, 2, 20233, 20234, 7, 84, 2, 2, 20234, 20235, 7, 81, 2, 2, 20235, 20236, 7, 89, 2, 2, 20236, 2904, 3, 2, 2, 2, 20237, 20238, 7, 84, 2, 2, 20238, 20239, 7, 81, 2, 2, 20239, 20240, 7, 89, 2, 2, 20240, 20241, 7, 85, 2, 2, 20241, 2906, 3, 2, 2, 2, 20242, 20243, 7, 84, 2, 2, 20243, 20244, 7, 82, 2, 2, 20244, 20245, 7, 67, 2, 2, 20245, 20246, 7, 70, 2, 2, 20246, 2908, 3, 2, 2, 2, 20247, 20248, 7, 84, 2, 2, 20248, 20249, 7, 86, 2, 2, 20249, 20250, 7, 84, 2, 2, 20250, 20251, 7, 75, 2, 2, 20251, 20252, 7, 79, 2, 2, 20252, 2910, 3, 2, 2, 2, 20253, 20254, 7, 84, 2, 2, 20254, 20255, 7, 87, 2, 2, 20255, 20256, 7, 78, 2, 2, 20256, 20257, 7, 71, 2, 2, 20257, 2912, 3, 2, 2, 2, 20258, 20259, 7, 84, 2, 2, 20259, 20260, 7, 87, 2, 2, 20260, 20261, 7, 78, 2, 2, 20261, 20262, 7, 71, 2, 2, 20262, 20263, 7, 85, 2, 2, 20263, 2914, 3, 2, 2, 2, 20264, 20265, 7, 84, 2, 2, 20265, 20266, 7, 87, 2, 2, 20266, 20267, 7, 80, 2, 2, 20267, 20268, 7, 80, 2, 2, 20268, 20269, 7, 75, 2, 2, 20269, 20270, 7, 80, 2, 2, 20270, 20271, 7, 73, 2, 2, 20271, 2916, 3, 2, 2, 2, 20272, 20273, 7, 85, 2, 2, 20273, 20274, 7, 67, 2, 2, 20274, 20275, 7, 78, 2, 2, 20275, 20276, 7, 86, 2, 2, 20276, 2918, 3, 2, 2, 2, 20277, 20278, 7, 85, 2, 2, 20278, 20279, 7, 67, 2, 2, 20279, 20280, 7, 79, 2, 2, 20280, 20281, 7, 82, 2, 2, 20281, 20282, 7, 78, 2, 2, 20282, 20283, 7, 71, 2, 2, 20283, 2920, 3, 2, 2, 2, 20284, 20285, 7, 85, 2, 2, 20285, 20286, 7, 67, 2, 2, 20286, 20287, 7, 88, 2, 2, 20287, 20288, 7, 71, 2, 2, 20288, 20289, 7, 97, 2, 2, 20289, 20290, 7, 67, 2, 2, 20290, 20291, 7, 85, 2, 2, 20291, 20292, 7, 97, 2, 2, 20292, 20293, 7, 75, 2, 2, 20293, 20294, 7, 80, 2, 2, 20294, 20295, 7, 86, 2, 2, 20295, 20296, 7, 71, 2, 2, 20296, 20297, 7, 84, 2, 2, 20297, 20298, 7, 88, 2, 2, 20298, 20299, 7, 67, 2, 2, 20299, 20300, 7, 78, 2, 2, 20300, 20301, 7, 85, 2, 2, 20301, 2922, 3, 2, 2, 2, 20302, 20303, 7, 85, 2, 2, 20303, 20304, 7, 67, 2, 2, 20304, 20305, 7, 88, 2, 2, 20305, 20306, 7, 71, 2, 2, 20306, 20307, 7, 82, 2, 2, 20307, 20308, 7, 81, 2, 2, 20308, 20309, 7, 75, 2, 2, 20309, 20310, 7, 80, 2, 2, 20310, 20311, 7, 86, 2, 2, 20311, 2924, 3, 2, 2, 2, 20312, 20313, 7, 85, 2, 2, 20313, 20314, 7, 67, 2, 2, 20314, 20315, 7, 88, 2, 2, 20315, 20316, 7, 71, 2, 2, 20316, 2926, 3, 2, 2, 2, 20317, 20318, 7, 85, 2, 2, 20318, 20319, 7, 68, 2, 2, 20319, 20320, 7, 54, 2, 2, 20320, 2928, 3, 2, 2, 2, 20321, 20322, 7, 85, 2, 2, 20322, 20323, 7, 69, 2, 2, 20323, 20324, 7, 67, 2, 2, 20324, 20325, 7, 78, 2, 2, 20325, 20326, 7, 71, 2, 2, 20326, 20327, 7, 97, 2, 2, 20327, 20328, 7, 84, 2, 2, 20328, 20329, 7, 81, 2, 2, 20329, 20330, 7, 89, 2, 2, 20330, 20331, 7, 85, 2, 2, 20331, 2930, 3, 2, 2, 2, 20332, 20333, 7, 85, 2, 2, 20333, 20334, 7, 69, 2, 2, 20334, 20335, 7, 67, 2, 2, 20335, 20336, 7, 78, 2, 2, 20336, 20337, 7, 71, 2, 2, 20337, 2932, 3, 2, 2, 2, 20338, 20339, 7, 85, 2, 2, 20339, 20340, 7, 69, 2, 2, 20340, 20341, 7, 67, 2, 2, 20341, 20342, 7, 80, 2, 2, 20342, 20343, 7, 97, 2, 2, 20343, 20344, 7, 75, 2, 2, 20344, 20345, 7, 80, 2, 2, 20345, 20346, 7, 85, 2, 2, 20346, 20347, 7, 86, 2, 2, 20347, 20348, 7, 67, 2, 2, 20348, 20349, 7, 80, 2, 2, 20349, 20350, 7, 69, 2, 2, 20350, 20351, 7, 71, 2, 2, 20351, 20352, 7, 85, 2, 2, 20352, 2934, 3, 2, 2, 2, 20353, 20354, 7, 85, 2, 2, 20354, 20355, 7, 69, 2, 2, 20355, 20356, 7, 67, 2, 2, 20356, 20357, 7, 80, 2, 2, 20357, 2936, 3, 2, 2, 2, 20358, 20359, 7, 85, 2, 2, 20359, 20360, 7, 69, 2, 2, 20360, 20361, 7, 74, 2, 2, 20361, 20362, 7, 71, 2, 2, 20362, 20363, 7, 70, 2, 2, 20363, 20364, 7, 87, 2, 2, 20364, 20365, 7, 78, 2, 2, 20365, 20366, 7, 71, 2, 2, 20366, 20367, 7, 84, 2, 2, 20367, 2938, 3, 2, 2, 2, 20368, 20369, 7, 85, 2, 2, 20369, 20370, 7, 69, 2, 2, 20370, 20371, 7, 74, 2, 2, 20371, 20372, 7, 71, 2, 2, 20372, 20373, 7, 79, 2, 2, 20373, 20374, 7, 67, 2, 2, 20374, 20375, 7, 69, 2, 2, 20375, 20376, 7, 74, 2, 2, 20376, 20377, 7, 71, 2, 2, 20377, 20378, 7, 69, 2, 2, 20378, 20379, 7, 77, 2, 2, 20379, 2940, 3, 2, 2, 2, 20380, 20381, 7, 85, 2, 2, 20381, 20382, 7, 69, 2, 2, 20382, 20383, 7, 74, 2, 2, 20383, 20384, 7, 71, 2, 2, 20384, 20385, 7, 79, 2, 2, 20385, 20386, 7, 67, 2, 2, 20386, 2942, 3, 2, 2, 2, 20387, 20388, 7, 85, 2, 2, 20388, 20389, 7, 69, 2, 2, 20389, 20390, 7, 80, 2, 2, 20390, 20391, 7, 97, 2, 2, 20391, 20392, 7, 67, 2, 2, 20392, 20393, 7, 85, 2, 2, 20393, 20394, 7, 69, 2, 2, 20394, 20395, 7, 71, 2, 2, 20395, 20396, 7, 80, 2, 2, 20396, 20397, 7, 70, 2, 2, 20397, 20398, 7, 75, 2, 2, 20398, 20399, 7, 80, 2, 2, 20399, 20400, 7, 73, 2, 2, 20400, 2944, 3, 2, 2, 2, 20401, 20402, 7, 85, 2, 2, 20402, 20403, 7, 69, 2, 2, 20403, 20404, 7, 80, 2, 2, 20404, 2946, 3, 2, 2, 2, 20405, 20406, 7, 85, 2, 2, 20406, 20407, 7, 69, 2, 2, 20407, 20408, 7, 81, 2, 2, 20408, 20409, 7, 82, 2, 2, 20409, 20410, 7, 71, 2, 2, 20410, 2948, 3, 2, 2, 2, 20411, 20412, 7, 85, 2, 2, 20412, 20413, 7, 69, 2, 2, 20413, 20414, 7, 84, 2, 2, 20414, 20415, 7, 87, 2, 2, 20415, 20416, 7, 68, 2, 2, 20416, 2950, 3, 2, 2, 2, 20417, 20418, 7, 85, 2, 2, 20418, 20419, 7, 70, 2, 2, 20419, 20420, 7, 97, 2, 2, 20420, 20421, 7, 67, 2, 2, 20421, 20422, 7, 78, 2, 2, 20422, 20423, 7, 78, 2, 2, 20423, 2952, 3, 2, 2, 2, 20424, 20425, 7, 85, 2, 2, 20425, 20426, 7, 70, 2, 2, 20426, 20427, 7, 97, 2, 2, 20427, 20428, 7, 75, 2, 2, 20428, 20429, 7, 80, 2, 2, 20429, 20430, 7, 74, 2, 2, 20430, 20431, 7, 75, 2, 2, 20431, 20432, 7, 68, 2, 2, 20432, 20433, 7, 75, 2, 2, 20433, 20434, 7, 86, 2, 2, 20434, 2954, 3, 2, 2, 2, 20435, 20436, 7, 85, 2, 2, 20436, 20437, 7, 70, 2, 2, 20437, 20438, 7, 81, 2, 2, 20438, 20439, 7, 97, 2, 2, 20439, 20440, 7, 73, 2, 2, 20440, 20441, 7, 71, 2, 2, 20441, 20442, 7, 81, 2, 2, 20442, 20443, 7, 79, 2, 2, 20443, 20444, 7, 97, 2, 2, 20444, 20445, 7, 79, 2, 2, 20445, 20446, 7, 68, 2, 2, 20446, 20447, 7, 84, 2, 2, 20447, 2956, 3, 2, 2, 2, 20448, 20449, 7, 85, 2, 2, 20449, 20450, 7, 70, 2, 2, 20450, 20451, 7, 97, 2, 2, 20451, 20452, 7, 85, 2, 2, 20452, 20453, 7, 74, 2, 2, 20453, 20454, 7, 81, 2, 2, 20454, 20455, 7, 89, 2, 2, 20455, 2958, 3, 2, 2, 2, 20456, 20457, 7, 85, 2, 2, 20457, 20458, 7, 71, 2, 2, 20458, 20459, 7, 67, 2, 2, 20459, 20460, 7, 84, 2, 2, 20460, 20461, 7, 69, 2, 2, 20461, 20462, 7, 74, 2, 2, 20462, 2960, 3, 2, 2, 2, 20463, 20464, 7, 85, 2, 2, 20464, 20465, 7, 71, 2, 2, 20465, 20466, 7, 69, 2, 2, 20466, 20467, 7, 81, 2, 2, 20467, 20468, 7, 80, 2, 2, 20468, 20469, 7, 70, 2, 2, 20469, 2962, 3, 2, 2, 2, 20470, 20471, 7, 85, 2, 2, 20471, 20472, 7, 71, 2, 2, 20472, 20473, 7, 69, 2, 2, 20473, 20474, 7, 84, 2, 2, 20474, 20475, 7, 71, 2, 2, 20475, 20476, 7, 86, 2, 2, 20476, 2964, 3, 2, 2, 2, 20477, 20478, 7, 85, 2, 2, 20478, 20479, 7, 71, 2, 2, 20479, 20480, 7, 69, 2, 2, 20480, 20481, 7, 87, 2, 2, 20481, 20482, 7, 84, 2, 2, 20482, 20483, 7, 71, 2, 2, 20483, 20484, 7, 72, 2, 2, 20484, 20485, 7, 75, 2, 2, 20485, 20486, 7, 78, 2, 2, 20486, 20487, 7, 71, 2, 2, 20487, 20488, 7, 97, 2, 2, 20488, 20489, 7, 70, 2, 2, 20489, 20490, 7, 68, 2, 2, 20490, 20491, 7, 67, 2, 2, 20491, 2966, 3, 2, 2, 2, 20492, 20493, 7, 85, 2, 2, 20493, 20494, 7, 71, 2, 2, 20494, 20495, 7, 69, 2, 2, 20495, 20496, 7, 87, 2, 2, 20496, 20497, 7, 84, 2, 2, 20497, 20498, 7, 71, 2, 2, 20498, 20499, 7, 72, 2, 2, 20499, 20500, 7, 75, 2, 2, 20500, 20501, 7, 78, 2, 2, 20501, 20502, 7, 71, 2, 2, 20502, 2968, 3, 2, 2, 2, 20503, 20504, 7, 85, 2, 2, 20504, 20505, 7, 71, 2, 2, 20505, 20506, 7, 69, 2, 2, 20506, 20507, 7, 87, 2, 2, 20507, 20508, 7, 84, 2, 2, 20508, 20509, 7, 75, 2, 2, 20509, 20510, 7, 86, 2, 2, 20510, 20511, 7, 91, 2, 2, 20511, 2970, 3, 2, 2, 2, 20512, 20513, 7, 85, 2, 2, 20513, 20514, 7, 71, 2, 2, 20514, 20515, 7, 71, 2, 2, 20515, 20516, 7, 70, 2, 2, 20516, 2972, 3, 2, 2, 2, 20517, 20518, 7, 85, 2, 2, 20518, 20519, 7, 71, 2, 2, 20519, 20520, 7, 73, 2, 2, 20520, 20521, 7, 97, 2, 2, 20521, 20522, 7, 68, 2, 2, 20522, 20523, 7, 78, 2, 2, 20523, 20524, 7, 81, 2, 2, 20524, 20525, 7, 69, 2, 2, 20525, 20526, 7, 77, 2, 2, 20526, 2974, 3, 2, 2, 2, 20527, 20528, 7, 85, 2, 2, 20528, 20529, 7, 71, 2, 2, 20529, 20530, 7, 73, 2, 2, 20530, 20531, 7, 97, 2, 2, 20531, 20532, 7, 72, 2, 2, 20532, 20533, 7, 75, 2, 2, 20533, 20534, 7, 78, 2, 2, 20534, 20535, 7, 71, 2, 2, 20535, 2976, 3, 2, 2, 2, 20536, 20537, 7, 85, 2, 2, 20537, 20538, 7, 71, 2, 2, 20538, 20539, 7, 73, 2, 2, 20539, 20540, 7, 79, 2, 2, 20540, 20541, 7, 71, 2, 2, 20541, 20542, 7, 80, 2, 2, 20542, 20543, 7, 86, 2, 2, 20543, 2978, 3, 2, 2, 2, 20544, 20545, 7, 85, 2, 2, 20545, 20546, 7, 71, 2, 2, 20546, 20547, 7, 78, 2, 2, 20547, 20548, 7, 71, 2, 2, 20548, 20549, 7, 69, 2, 2, 20549, 20550, 7, 86, 2, 2, 20550, 20551, 7, 75, 2, 2, 20551, 20552, 7, 88, 2, 2, 20552, 20553, 7, 75, 2, 2, 20553, 20554, 7, 86, 2, 2, 20554, 20555, 7, 91, 2, 2, 20555, 2980, 3, 2, 2, 2, 20556, 20557, 7, 85, 2, 2, 20557, 20558, 7, 71, 2, 2, 20558, 20559, 7, 78, 2, 2, 20559, 20560, 7, 71, 2, 2, 20560, 20561, 7, 69, 2, 2, 20561, 20562, 7, 86, 2, 2, 20562, 2982, 3, 2, 2, 2, 20563, 20564, 7, 85, 2, 2, 20564, 20565, 7, 71, 2, 2, 20565, 20566, 7, 78, 2, 2, 20566, 20567, 7, 72, 2, 2, 20567, 2984, 3, 2, 2, 2, 20568, 20569, 7, 85, 2, 2, 20569, 20570, 7, 71, 2, 2, 20570, 20571, 7, 79, 2, 2, 20571, 20572, 7, 75, 2, 2, 20572, 20573, 7, 76, 2, 2, 20573, 20574, 7, 81, 2, 2, 20574, 20575, 7, 75, 2, 2, 20575, 20576, 7, 80, 2, 2, 20576, 20577, 7, 97, 2, 2, 20577, 20578, 7, 70, 2, 2, 20578, 20579, 7, 84, 2, 2, 20579, 20580, 7, 75, 2, 2, 20580, 20581, 7, 88, 2, 2, 20581, 20582, 7, 71, 2, 2, 20582, 20583, 7, 84, 2, 2, 20583, 2986, 3, 2, 2, 2, 20584, 20585, 7, 85, 2, 2, 20585, 20586, 7, 71, 2, 2, 20586, 20587, 7, 79, 2, 2, 20587, 20588, 7, 75, 2, 2, 20588, 20589, 7, 76, 2, 2, 20589, 20590, 7, 81, 2, 2, 20590, 20591, 7, 75, 2, 2, 20591, 20592, 7, 80, 2, 2, 20592, 2988, 3, 2, 2, 2, 20593, 20594, 7, 85, 2, 2, 20594, 20595, 7, 71, 2, 2, 20595, 20596, 7, 79, 2, 2, 20596, 20597, 7, 75, 2, 2, 20597, 20598, 7, 97, 2, 2, 20598, 20599, 7, 86, 2, 2, 20599, 20600, 7, 81, 2, 2, 20600, 20601, 7, 97, 2, 2, 20601, 20602, 7, 75, 2, 2, 20602, 20603, 7, 80, 2, 2, 20603, 20604, 7, 80, 2, 2, 20604, 20605, 7, 71, 2, 2, 20605, 20606, 7, 84, 2, 2, 20606, 2990, 3, 2, 2, 2, 20607, 20608, 7, 85, 2, 2, 20608, 20609, 7, 71, 2, 2, 20609, 20610, 7, 83, 2, 2, 20610, 20611, 7, 87, 2, 2, 20611, 20612, 7, 71, 2, 2, 20612, 20613, 7, 80, 2, 2, 20613, 20614, 7, 69, 2, 2, 20614, 20615, 7, 71, 2, 2, 20615, 20616, 7, 70, 2, 2, 20616, 2992, 3, 2, 2, 2, 20617, 20618, 7, 85, 2, 2, 20618, 20619, 7, 71, 2, 2, 20619, 20620, 7, 83, 2, 2, 20620, 20621, 7, 87, 2, 2, 20621, 20622, 7, 71, 2, 2, 20622, 20623, 7, 80, 2, 2, 20623, 20624, 7, 69, 2, 2, 20624, 20625, 7, 71, 2, 2, 20625, 2994, 3, 2, 2, 2, 20626, 20627, 7, 85, 2, 2, 20627, 20628, 7, 71, 2, 2, 20628, 20629, 7, 83, 2, 2, 20629, 20630, 7, 87, 2, 2, 20630, 20631, 7, 71, 2, 2, 20631, 20632, 7, 80, 2, 2, 20632, 20633, 7, 86, 2, 2, 20633, 20634, 7, 75, 2, 2, 20634, 20635, 7, 67, 2, 2, 20635, 20636, 7, 78, 2, 2, 20636, 2996, 3, 2, 2, 2, 20637, 20638, 7, 85, 2, 2, 20638, 20639, 7, 71, 2, 2, 20639, 20640, 7, 83, 2, 2, 20640, 2998, 3, 2, 2, 2, 20641, 20642, 7, 85, 2, 2, 20642, 20643, 7, 71, 2, 2, 20643, 20644, 7, 84, 2, 2, 20644, 20645, 7, 75, 2, 2, 20645, 20646, 7, 67, 2, 2, 20646, 20647, 7, 78, 2, 2, 20647, 20648, 7, 75, 2, 2, 20648, 20649, 7, 92, 2, 2, 20649, 20650, 7, 67, 2, 2, 20650, 20651, 7, 68, 2, 2, 20651, 20652, 7, 78, 2, 2, 20652, 20653, 7, 71, 2, 2, 20653, 3000, 3, 2, 2, 2, 20654, 20655, 7, 85, 2, 2, 20655, 20656, 7, 71, 2, 2, 20656, 20657, 7, 84, 2, 2, 20657, 20658, 7, 75, 2, 2, 20658, 20659, 7, 67, 2, 2, 20659, 20660, 7, 78, 2, 2, 20660, 20661, 7, 78, 2, 2, 20661, 20662, 7, 91, 2, 2, 20662, 20663, 7, 97, 2, 2, 20663, 20664, 7, 84, 2, 2, 20664, 20665, 7, 71, 2, 2, 20665, 20666, 7, 87, 2, 2, 20666, 20667, 7, 85, 2, 2, 20667, 20668, 7, 67, 2, 2, 20668, 20669, 7, 68, 2, 2, 20669, 20670, 7, 78, 2, 2, 20670, 20671, 7, 71, 2, 2, 20671, 3002, 3, 2, 2, 2, 20672, 20673, 7, 85, 2, 2, 20673, 20674, 7, 71, 2, 2, 20674, 20675, 7, 84, 2, 2, 20675, 20676, 7, 75, 2, 2, 20676, 20677, 7, 67, 2, 2, 20677, 20678, 7, 78, 2, 2, 20678, 3004, 3, 2, 2, 2, 20679, 20680, 7, 85, 2, 2, 20680, 20681, 7, 71, 2, 2, 20681, 20682, 7, 84, 2, 2, 20682, 20683, 7, 88, 2, 2, 20683, 20684, 7, 71, 2, 2, 20684, 20685, 7, 84, 2, 2, 20685, 20686, 7, 71, 2, 2, 20686, 20687, 7, 84, 2, 2, 20687, 20688, 7, 84, 2, 2, 20688, 20689, 7, 81, 2, 2, 20689, 20690, 7, 84, 2, 2, 20690, 3006, 3, 2, 2, 2, 20691, 20692, 7, 85, 2, 2, 20692, 20693, 7, 71, 2, 2, 20693, 20694, 7, 84, 2, 2, 20694, 20695, 7, 88, 2, 2, 20695, 20696, 7, 75, 2, 2, 20696, 20697, 7, 69, 2, 2, 20697, 20698, 7, 71, 2, 2, 20698, 20699, 7, 97, 2, 2, 20699, 20700, 7, 80, 2, 2, 20700, 20701, 7, 67, 2, 2, 20701, 20702, 7, 79, 2, 2, 20702, 20703, 7, 71, 2, 2, 20703, 20704, 7, 97, 2, 2, 20704, 20705, 7, 69, 2, 2, 20705, 20706, 7, 81, 2, 2, 20706, 20707, 7, 80, 2, 2, 20707, 20708, 7, 88, 2, 2, 20708, 20709, 7, 71, 2, 2, 20709, 20710, 7, 84, 2, 2, 20710, 20711, 7, 86, 2, 2, 20711, 3008, 3, 2, 2, 2, 20712, 20713, 7, 85, 2, 2, 20713, 20714, 7, 71, 2, 2, 20714, 20715, 7, 84, 2, 2, 20715, 20716, 7, 88, 2, 2, 20716, 20717, 7, 75, 2, 2, 20717, 20718, 7, 69, 2, 2, 20718, 20719, 7, 71, 2, 2, 20719, 20720, 7, 85, 2, 2, 20720, 3010, 3, 2, 2, 2, 20721, 20722, 7, 85, 2, 2, 20722, 20723, 7, 71, 2, 2, 20723, 20724, 7, 85, 2, 2, 20724, 20725, 7, 85, 2, 2, 20725, 20726, 7, 75, 2, 2, 20726, 20727, 7, 81, 2, 2, 20727, 20728, 7, 80, 2, 2, 20728, 20729, 7, 97, 2, 2, 20729, 20730, 7, 69, 2, 2, 20730, 20731, 7, 67, 2, 2, 20731, 20732, 7, 69, 2, 2, 20732, 20733, 7, 74, 2, 2, 20733, 20734, 7, 71, 2, 2, 20734, 20735, 7, 70, 2, 2, 20735, 20736, 7, 97, 2, 2, 20736, 20737, 7, 69, 2, 2, 20737, 20738, 7, 87, 2, 2, 20738, 20739, 7, 84, 2, 2, 20739, 20740, 7, 85, 2, 2, 20740, 20741, 7, 81, 2, 2, 20741, 20742, 7, 84, 2, 2, 20742, 20743, 7, 85, 2, 2, 20743, 3012, 3, 2, 2, 2, 20744, 20745, 7, 85, 2, 2, 20745, 20746, 7, 71, 2, 2, 20746, 20747, 7, 85, 2, 2, 20747, 20748, 7, 85, 2, 2, 20748, 20749, 7, 75, 2, 2, 20749, 20750, 7, 81, 2, 2, 20750, 20751, 7, 80, 2, 2, 20751, 3014, 3, 2, 2, 2, 20752, 20753, 7, 85, 2, 2, 20753, 20754, 7, 71, 2, 2, 20754, 20755, 7, 85, 2, 2, 20755, 20756, 7, 85, 2, 2, 20756, 20757, 7, 75, 2, 2, 20757, 20758, 7, 81, 2, 2, 20758, 20759, 7, 80, 2, 2, 20759, 20760, 7, 85, 2, 2, 20760, 20761, 7, 97, 2, 2, 20761, 20762, 7, 82, 2, 2, 20762, 20763, 7, 71, 2, 2, 20763, 20764, 7, 84, 2, 2, 20764, 20765, 7, 97, 2, 2, 20765, 20766, 7, 87, 2, 2, 20766, 20767, 7, 85, 2, 2, 20767, 20768, 7, 71, 2, 2, 20768, 20769, 7, 84, 2, 2, 20769, 3016, 3, 2, 2, 2, 20770, 20771, 7, 85, 2, 2, 20771, 20772, 7, 71, 2, 2, 20772, 20773, 7, 85, 2, 2, 20773, 20774, 7, 85, 2, 2, 20774, 20775, 7, 75, 2, 2, 20775, 20776, 7, 81, 2, 2, 20776, 20777, 7, 80, 2, 2, 20777, 20778, 7, 86, 2, 2, 20778, 20779, 7, 75, 2, 2, 20779, 20780, 7, 79, 2, 2, 20780, 20781, 7, 71, 2, 2, 20781, 20782, 7, 92, 2, 2, 20782, 20783, 7, 81, 2, 2, 20783, 20784, 7, 80, 2, 2, 20784, 20785, 7, 71, 2, 2, 20785, 3018, 3, 2, 2, 2, 20786, 20787, 7, 85, 2, 2, 20787, 20788, 7, 71, 2, 2, 20788, 20789, 7, 85, 2, 2, 20789, 20790, 7, 85, 2, 2, 20790, 20791, 7, 75, 2, 2, 20791, 20792, 7, 81, 2, 2, 20792, 20793, 7, 80, 2, 2, 20793, 20794, 7, 86, 2, 2, 20794, 20795, 7, 92, 2, 2, 20795, 20796, 7, 80, 2, 2, 20796, 20797, 7, 67, 2, 2, 20797, 20798, 7, 79, 2, 2, 20798, 20799, 7, 71, 2, 2, 20799, 3020, 3, 2, 2, 2, 20800, 20801, 7, 85, 2, 2, 20801, 20802, 7, 71, 2, 2, 20802, 20803, 7, 86, 2, 2, 20803, 3022, 3, 2, 2, 2, 20804, 20805, 7, 85, 2, 2, 20805, 20806, 7, 71, 2, 2, 20806, 20807, 7, 86, 2, 2, 20807, 20808, 7, 85, 2, 2, 20808, 3024, 3, 2, 2, 2, 20809, 20810, 7, 85, 2, 2, 20810, 20811, 7, 71, 2, 2, 20811, 20812, 7, 86, 2, 2, 20812, 20813, 7, 86, 2, 2, 20813, 20814, 7, 75, 2, 2, 20814, 20815, 7, 80, 2, 2, 20815, 20816, 7, 73, 2, 2, 20816, 20817, 7, 85, 2, 2, 20817, 3026, 3, 2, 2, 2, 20818, 20819, 7, 85, 2, 2, 20819, 20820, 7, 71, 2, 2, 20820, 20821, 7, 86, 2, 2, 20821, 20822, 7, 97, 2, 2, 20822, 20823, 7, 86, 2, 2, 20823, 20824, 7, 81, 2, 2, 20824, 20825, 7, 97, 2, 2, 20825, 20826, 7, 76, 2, 2, 20826, 20827, 7, 81, 2, 2, 20827, 20828, 7, 75, 2, 2, 20828, 20829, 7, 80, 2, 2, 20829, 3028, 3, 2, 2, 2, 20830, 20831, 7, 85, 2, 2, 20831, 20832, 7, 71, 2, 2, 20832, 20833, 7, 88, 2, 2, 20833, 20834, 7, 71, 2, 2, 20834, 20835, 7, 84, 2, 2, 20835, 20836, 7, 71, 2, 2, 20836, 3030, 3, 2, 2, 2, 20837, 20838, 7, 85, 2, 2, 20838, 20839, 7, 74, 2, 2, 20839, 20840, 7, 67, 2, 2, 20840, 20841, 7, 84, 2, 2, 20841, 20842, 7, 71, 2, 2, 20842, 20843, 7, 70, 2, 2, 20843, 20844, 7, 97, 2, 2, 20844, 20845, 7, 82, 2, 2, 20845, 20846, 7, 81, 2, 2, 20846, 20847, 7, 81, 2, 2, 20847, 20848, 7, 78, 2, 2, 20848, 3032, 3, 2, 2, 2, 20849, 20850, 7, 85, 2, 2, 20850, 20851, 7, 74, 2, 2, 20851, 20852, 7, 67, 2, 2, 20852, 20853, 7, 84, 2, 2, 20853, 20854, 7, 71, 2, 2, 20854, 20855, 7, 70, 2, 2, 20855, 3034, 3, 2, 2, 2, 20856, 20857, 7, 85, 2, 2, 20857, 20858, 7, 74, 2, 2, 20858, 20859, 7, 67, 2, 2, 20859, 20860, 7, 84, 2, 2, 20860, 20861, 7, 71, 2, 2, 20861, 3036, 3, 2, 2, 2, 20862, 20863, 7, 85, 2, 2, 20863, 20864, 7, 74, 2, 2, 20864, 20865, 7, 67, 2, 2, 20865, 20866, 7, 84, 2, 2, 20866, 20867, 7, 75, 2, 2, 20867, 20868, 7, 80, 2, 2, 20868, 20869, 7, 73, 2, 2, 20869, 3038, 3, 2, 2, 2, 20870, 20871, 7, 85, 2, 2, 20871, 20872, 7, 74, 2, 2, 20872, 20873, 7, 71, 2, 2, 20873, 20874, 7, 78, 2, 2, 20874, 20875, 7, 72, 2, 2, 20875, 20876, 7, 78, 2, 2, 20876, 20877, 7, 75, 2, 2, 20877, 20878, 7, 72, 2, 2, 20878, 20879, 7, 71, 2, 2, 20879, 3040, 3, 2, 2, 2, 20880, 20881, 7, 85, 2, 2, 20881, 20882, 7, 74, 2, 2, 20882, 20883, 7, 81, 2, 2, 20883, 20884, 7, 89, 2, 2, 20884, 3042, 3, 2, 2, 2, 20885, 20886, 7, 85, 2, 2, 20886, 20887, 7, 74, 2, 2, 20887, 20888, 7, 84, 2, 2, 20888, 20889, 7, 75, 2, 2, 20889, 20890, 7, 80, 2, 2, 20890, 20891, 7, 77, 2, 2, 20891, 3044, 3, 2, 2, 2, 20892, 20893, 7, 85, 2, 2, 20893, 20894, 7, 74, 2, 2, 20894, 20895, 7, 87, 2, 2, 20895, 20896, 7, 86, 2, 2, 20896, 20897, 7, 70, 2, 2, 20897, 20898, 7, 81, 2, 2, 20898, 20899, 7, 89, 2, 2, 20899, 20900, 7, 80, 2, 2, 20900, 3046, 3, 2, 2, 2, 20901, 20902, 7, 85, 2, 2, 20902, 20903, 7, 75, 2, 2, 20903, 20904, 7, 68, 2, 2, 20904, 20905, 7, 78, 2, 2, 20905, 20906, 7, 75, 2, 2, 20906, 20907, 7, 80, 2, 2, 20907, 20908, 7, 73, 2, 2, 20908, 20909, 7, 85, 2, 2, 20909, 3048, 3, 2, 2, 2, 20910, 20911, 7, 85, 2, 2, 20911, 20912, 7, 75, 2, 2, 20912, 20913, 7, 70, 2, 2, 20913, 3050, 3, 2, 2, 2, 20914, 20915, 7, 85, 2, 2, 20915, 20916, 7, 75, 2, 2, 20916, 20917, 7, 73, 2, 2, 20917, 20918, 7, 80, 2, 2, 20918, 20919, 7, 67, 2, 2, 20919, 20920, 7, 78, 2, 2, 20920, 20921, 7, 97, 2, 2, 20921, 20922, 7, 69, 2, 2, 20922, 20923, 7, 81, 2, 2, 20923, 20924, 7, 79, 2, 2, 20924, 20925, 7, 82, 2, 2, 20925, 20926, 7, 81, 2, 2, 20926, 20927, 7, 80, 2, 2, 20927, 20928, 7, 71, 2, 2, 20928, 20929, 7, 80, 2, 2, 20929, 20930, 7, 86, 2, 2, 20930, 3052, 3, 2, 2, 2, 20931, 20932, 7, 85, 2, 2, 20932, 20933, 7, 75, 2, 2, 20933, 20934, 7, 73, 2, 2, 20934, 20935, 7, 80, 2, 2, 20935, 20936, 7, 67, 2, 2, 20936, 20937, 7, 78, 2, 2, 20937, 20938, 7, 97, 2, 2, 20938, 20939, 7, 72, 2, 2, 20939, 20940, 7, 87, 2, 2, 20940, 20941, 7, 80, 2, 2, 20941, 20942, 7, 69, 2, 2, 20942, 20943, 7, 86, 2, 2, 20943, 20944, 7, 75, 2, 2, 20944, 20945, 7, 81, 2, 2, 20945, 20946, 7, 80, 2, 2, 20946, 3054, 3, 2, 2, 2, 20947, 20948, 7, 85, 2, 2, 20948, 20949, 7, 75, 2, 2, 20949, 20950, 7, 73, 2, 2, 20950, 20951, 7, 80, 2, 2, 20951, 3056, 3, 2, 2, 2, 20952, 20953, 7, 85, 2, 2, 20953, 20954, 7, 75, 2, 2, 20954, 20955, 7, 73, 2, 2, 20955, 20956, 7, 80, 2, 2, 20956, 20957, 7, 86, 2, 2, 20957, 20958, 7, 91, 2, 2, 20958, 20959, 7, 82, 2, 2, 20959, 20960, 7, 71, 2, 2, 20960, 3058, 3, 2, 2, 2, 20961, 20962, 7, 85, 2, 2, 20962, 20963, 7, 75, 2, 2, 20963, 20964, 7, 79, 2, 2, 20964, 20965, 7, 82, 2, 2, 20965, 20966, 7, 78, 2, 2, 20966, 20967, 7, 71, 2, 2, 20967, 20968, 7, 97, 2, 2, 20968, 20969, 7, 75, 2, 2, 20969, 20970, 7, 80, 2, 2, 20970, 20971, 7, 86, 2, 2, 20971, 20972, 7, 71, 2, 2, 20972, 20973, 7, 73, 2, 2, 20973, 20974, 7, 71, 2, 2, 20974, 20975, 7, 84, 2, 2, 20975, 3060, 3, 2, 2, 2, 20976, 20977, 7, 85, 2, 2, 20977, 20978, 7, 75, 2, 2, 20978, 20979, 7, 79, 2, 2, 20979, 20980, 7, 82, 2, 2, 20980, 20981, 7, 78, 2, 2, 20981, 20982, 7, 71, 2, 2, 20982, 3062, 3, 2, 2, 2, 20983, 20984, 7, 85, 2, 2, 20984, 20985, 7, 75, 2, 2, 20985, 20986, 7, 80, 2, 2, 20986, 20987, 7, 73, 2, 2, 20987, 20988, 7, 78, 2, 2, 20988, 20989, 7, 71, 2, 2, 20989, 3064, 3, 2, 2, 2, 20990, 20991, 7, 85, 2, 2, 20991, 20992, 7, 75, 2, 2, 20992, 20993, 7, 80, 2, 2, 20993, 20994, 7, 73, 2, 2, 20994, 20995, 7, 78, 2, 2, 20995, 20996, 7, 71, 2, 2, 20996, 20997, 7, 86, 2, 2, 20997, 20998, 7, 67, 2, 2, 20998, 20999, 7, 85, 2, 2, 20999, 21000, 7, 77, 2, 2, 21000, 3066, 3, 2, 2, 2, 21001, 21002, 7, 85, 2, 2, 21002, 21003, 7, 75, 2, 2, 21003, 21004, 7, 80, 2, 2, 21004, 21005, 7, 74, 2, 2, 21005, 3068, 3, 2, 2, 2, 21006, 21007, 7, 85, 2, 2, 21007, 21008, 7, 75, 2, 2, 21008, 21009, 7, 80, 2, 2, 21009, 3070, 3, 2, 2, 2, 21010, 21011, 7, 85, 2, 2, 21011, 21012, 7, 75, 2, 2, 21012, 21013, 7, 92, 2, 2, 21013, 21014, 7, 71, 2, 2, 21014, 3072, 3, 2, 2, 2, 21015, 21016, 7, 85, 2, 2, 21016, 21017, 7, 77, 2, 2, 21017, 21018, 7, 75, 2, 2, 21018, 21019, 7, 82, 2, 2, 21019, 21020, 7, 97, 2, 2, 21020, 21021, 7, 71, 2, 2, 21021, 21022, 7, 90, 2, 2, 21022, 21023, 7, 86, 2, 2, 21023, 21024, 7, 97, 2, 2, 21024, 21025, 7, 81, 2, 2, 21025, 21026, 7, 82, 2, 2, 21026, 21027, 7, 86, 2, 2, 21027, 21028, 7, 75, 2, 2, 21028, 21029, 7, 79, 2, 2, 21029, 21030, 7, 75, 2, 2, 21030, 21031, 7, 92, 2, 2, 21031, 21032, 7, 71, 2, 2, 21032, 21033, 7, 84, 2, 2, 21033, 3074, 3, 2, 2, 2, 21034, 21035, 7, 85, 2, 2, 21035, 21036, 7, 77, 2, 2, 21036, 21037, 7, 75, 2, 2, 21037, 21038, 7, 82, 2, 2, 21038, 3076, 3, 2, 2, 2, 21039, 21040, 7, 85, 2, 2, 21040, 21041, 7, 77, 2, 2, 21041, 21042, 7, 75, 2, 2, 21042, 21043, 7, 82, 2, 2, 21043, 21044, 7, 97, 2, 2, 21044, 21045, 7, 87, 2, 2, 21045, 21046, 7, 80, 2, 2, 21046, 21047, 7, 83, 2, 2, 21047, 21048, 7, 97, 2, 2, 21048, 21049, 7, 87, 2, 2, 21049, 21050, 7, 80, 2, 2, 21050, 21051, 7, 87, 2, 2, 21051, 21052, 7, 85, 2, 2, 21052, 21053, 7, 67, 2, 2, 21053, 21054, 7, 68, 2, 2, 21054, 21055, 7, 78, 2, 2, 21055, 21056, 7, 71, 2, 2, 21056, 21057, 7, 97, 2, 2, 21057, 21058, 7, 75, 2, 2, 21058, 21059, 7, 70, 2, 2, 21059, 21060, 7, 90, 2, 2, 21060, 3078, 3, 2, 2, 2, 21061, 21062, 7, 85, 2, 2, 21062, 21063, 7, 77, 2, 2, 21063, 21064, 7, 75, 2, 2, 21064, 21065, 7, 82, 2, 2, 21065, 21066, 7, 97, 2, 2, 21066, 21067, 7, 87, 2, 2, 21067, 21068, 7, 80, 2, 2, 21068, 21069, 7, 87, 2, 2, 21069, 21070, 7, 85, 2, 2, 21070, 21071, 7, 67, 2, 2, 21071, 21072, 7, 68, 2, 2, 21072, 21073, 7, 78, 2, 2, 21073, 21074, 7, 71, 2, 2, 21074, 21075, 7, 97, 2, 2, 21075, 21076, 7, 75, 2, 2, 21076, 21077, 7, 80, 2, 2, 21077, 21078, 7, 70, 2, 2, 21078, 21079, 7, 71, 2, 2, 21079, 21080, 7, 90, 2, 2, 21080, 21081, 7, 71, 2, 2, 21081, 21082, 7, 85, 2, 2, 21082, 3080, 3, 2, 2, 2, 21083, 21084, 7, 85, 2, 2, 21084, 21085, 7, 79, 2, 2, 21085, 21086, 7, 67, 2, 2, 21086, 21087, 7, 78, 2, 2, 21087, 21088, 7, 78, 2, 2, 21088, 21089, 7, 72, 2, 2, 21089, 21090, 7, 75, 2, 2, 21090, 21091, 7, 78, 2, 2, 21091, 21092, 7, 71, 2, 2, 21092, 3082, 3, 2, 2, 2, 21093, 21094, 7, 85, 2, 2, 21094, 21095, 7, 79, 2, 2, 21095, 21096, 7, 67, 2, 2, 21096, 21097, 7, 78, 2, 2, 21097, 21098, 7, 78, 2, 2, 21098, 21099, 7, 75, 2, 2, 21099, 21100, 7, 80, 2, 2, 21100, 21101, 7, 86, 2, 2, 21101, 3084, 3, 2, 2, 2, 21102, 21103, 7, 85, 2, 2, 21103, 21104, 7, 80, 2, 2, 21104, 21105, 7, 67, 2, 2, 21105, 21106, 7, 82, 2, 2, 21106, 21107, 7, 85, 2, 2, 21107, 21108, 7, 74, 2, 2, 21108, 21109, 7, 81, 2, 2, 21109, 21110, 7, 86, 2, 2, 21110, 3086, 3, 2, 2, 2, 21111, 21112, 7, 85, 2, 2, 21112, 21113, 7, 81, 2, 2, 21113, 21114, 7, 79, 2, 2, 21114, 21115, 7, 71, 2, 2, 21115, 3088, 3, 2, 2, 2, 21116, 21117, 7, 85, 2, 2, 21117, 21118, 7, 81, 2, 2, 21118, 21119, 7, 84, 2, 2, 21119, 21120, 7, 86, 2, 2, 21120, 3090, 3, 2, 2, 2, 21121, 21122, 7, 85, 2, 2, 21122, 21123, 7, 81, 2, 2, 21123, 21124, 7, 87, 2, 2, 21124, 21125, 7, 80, 2, 2, 21125, 21126, 7, 70, 2, 2, 21126, 21127, 7, 71, 2, 2, 21127, 21128, 7, 90, 2, 2, 21128, 3092, 3, 2, 2, 2, 21129, 21130, 7, 85, 2, 2, 21130, 21131, 7, 81, 2, 2, 21131, 21132, 7, 87, 2, 2, 21132, 21133, 7, 84, 2, 2, 21133, 21134, 7, 69, 2, 2, 21134, 21135, 7, 71, 2, 2, 21135, 21136, 7, 97, 2, 2, 21136, 21137, 7, 72, 2, 2, 21137, 21138, 7, 75, 2, 2, 21138, 21139, 7, 78, 2, 2, 21139, 21140, 7, 71, 2, 2, 21140, 21141, 7, 97, 2, 2, 21141, 21142, 7, 70, 2, 2, 21142, 21143, 7, 75, 2, 2, 21143, 21144, 7, 84, 2, 2, 21144, 21145, 7, 71, 2, 2, 21145, 21146, 7, 69, 2, 2, 21146, 21147, 7, 86, 2, 2, 21147, 21148, 7, 81, 2, 2, 21148, 21149, 7, 84, 2, 2, 21149, 21150, 7, 91, 2, 2, 21150, 3094, 3, 2, 2, 2, 21151, 21152, 7, 85, 2, 2, 21152, 21153, 7, 81, 2, 2, 21153, 21154, 7, 87, 2, 2, 21154, 21155, 7, 84, 2, 2, 21155, 21156, 7, 69, 2, 2, 21156, 21157, 7, 71, 2, 2, 21157, 21158, 7, 97, 2, 2, 21158, 21159, 7, 72, 2, 2, 21159, 21160, 7, 75, 2, 2, 21160, 21161, 7, 78, 2, 2, 21161, 21162, 7, 71, 2, 2, 21162, 21163, 7, 97, 2, 2, 21163, 21164, 7, 80, 2, 2, 21164, 21165, 7, 67, 2, 2, 21165, 21166, 7, 79, 2, 2, 21166, 21167, 7, 71, 2, 2, 21167, 21168, 7, 97, 2, 2, 21168, 21169, 7, 69, 2, 2, 21169, 21170, 7, 81, 2, 2, 21170, 21171, 7, 80, 2, 2, 21171, 21172, 7, 88, 2, 2, 21172, 21173, 7, 71, 2, 2, 21173, 21174, 7, 84, 2, 2, 21174, 21175, 7, 86, 2, 2, 21175, 3096, 3, 2, 2, 2, 21176, 21177, 7, 85, 2, 2, 21177, 21178, 7, 81, 2, 2, 21178, 21179, 7, 87, 2, 2, 21179, 21180, 7, 84, 2, 2, 21180, 21181, 7, 69, 2, 2, 21181, 21182, 7, 71, 2, 2, 21182, 3098, 3, 2, 2, 2, 21183, 21184, 7, 85, 2, 2, 21184, 21185, 7, 82, 2, 2, 21185, 21186, 7, 67, 2, 2, 21186, 21187, 7, 69, 2, 2, 21187, 21188, 7, 71, 2, 2, 21188, 3100, 3, 2, 2, 2, 21189, 21190, 7, 85, 2, 2, 21190, 21191, 7, 82, 2, 2, 21191, 21192, 7, 71, 2, 2, 21192, 21193, 7, 69, 2, 2, 21193, 21194, 7, 75, 2, 2, 21194, 21195, 7, 72, 2, 2, 21195, 21196, 7, 75, 2, 2, 21196, 21197, 7, 69, 2, 2, 21197, 21198, 7, 67, 2, 2, 21198, 21199, 7, 86, 2, 2, 21199, 21200, 7, 75, 2, 2, 21200, 21201, 7, 81, 2, 2, 21201, 21202, 7, 80, 2, 2, 21202, 3102, 3, 2, 2, 2, 21203, 21204, 7, 85, 2, 2, 21204, 21205, 7, 82, 2, 2, 21205, 21206, 7, 72, 2, 2, 21206, 21207, 7, 75, 2, 2, 21207, 21208, 7, 78, 2, 2, 21208, 21209, 7, 71, 2, 2, 21209, 3104, 3, 2, 2, 2, 21210, 21211, 7, 85, 2, 2, 21211, 21212, 7, 82, 2, 2, 21212, 21213, 7, 78, 2, 2, 21213, 21214, 7, 75, 2, 2, 21214, 21215, 7, 86, 2, 2, 21215, 3106, 3, 2, 2, 2, 21216, 21217, 7, 85, 2, 2, 21217, 21218, 7, 82, 2, 2, 21218, 21219, 7, 84, 2, 2, 21219, 21220, 7, 71, 2, 2, 21220, 21221, 7, 67, 2, 2, 21221, 21222, 7, 70, 2, 2, 21222, 21223, 7, 85, 2, 2, 21223, 21224, 7, 74, 2, 2, 21224, 21225, 7, 71, 2, 2, 21225, 21226, 7, 71, 2, 2, 21226, 21227, 7, 86, 2, 2, 21227, 3108, 3, 2, 2, 2, 21228, 21229, 7, 85, 2, 2, 21229, 21230, 7, 83, 2, 2, 21230, 21231, 7, 78, 2, 2, 21231, 21232, 7, 70, 2, 2, 21232, 21233, 7, 67, 2, 2, 21233, 21234, 7, 86, 2, 2, 21234, 21235, 7, 67, 2, 2, 21235, 3110, 3, 2, 2, 2, 21236, 21237, 7, 85, 2, 2, 21237, 21238, 7, 83, 2, 2, 21238, 21239, 7, 78, 2, 2, 21239, 21240, 7, 71, 2, 2, 21240, 21241, 7, 84, 2, 2, 21241, 21242, 7, 84, 2, 2, 21242, 21243, 7, 81, 2, 2, 21243, 21244, 7, 84, 2, 2, 21244, 3112, 3, 2, 2, 2, 21245, 21246, 7, 85, 2, 2, 21246, 21247, 7, 83, 2, 2, 21247, 21248, 7, 78, 2, 2, 21248, 21249, 7, 78, 2, 2, 21249, 21250, 7, 70, 2, 2, 21250, 21251, 7, 84, 2, 2, 21251, 3114, 3, 2, 2, 2, 21252, 21253, 7, 85, 2, 2, 21253, 21254, 7, 83, 2, 2, 21254, 21255, 7, 78, 2, 2, 21255, 3116, 3, 2, 2, 2, 21256, 21257, 7, 85, 2, 2, 21257, 21258, 7, 83, 2, 2, 21258, 21259, 7, 78, 2, 2, 21259, 21260, 7, 97, 2, 2, 21260, 21261, 7, 86, 2, 2, 21261, 21262, 7, 84, 2, 2, 21262, 21263, 7, 67, 2, 2, 21263, 21264, 7, 69, 2, 2, 21264, 21265, 7, 71, 2, 2, 21265, 3118, 3, 2, 2, 2, 21266, 21267, 7, 85, 2, 2, 21267, 21268, 7, 83, 2, 2, 21268, 21269, 7, 78, 2, 2, 21269, 21270, 7, 97, 2, 2, 21270, 21271, 7, 86, 2, 2, 21271, 21272, 7, 84, 2, 2, 21272, 21273, 7, 67, 2, 2, 21273, 21274, 7, 80, 2, 2, 21274, 21275, 7, 85, 2, 2, 21275, 21276, 7, 78, 2, 2, 21276, 21277, 7, 67, 2, 2, 21277, 21278, 7, 86, 2, 2, 21278, 21279, 7, 75, 2, 2, 21279, 21280, 7, 81, 2, 2, 21280, 21281, 7, 80, 2, 2, 21281, 21282, 7, 97, 2, 2, 21282, 21283, 7, 82, 2, 2, 21283, 21284, 7, 84, 2, 2, 21284, 21285, 7, 81, 2, 2, 21285, 21286, 7, 72, 2, 2, 21286, 21287, 7, 75, 2, 2, 21287, 21288, 7, 78, 2, 2, 21288, 21289, 7, 71, 2, 2, 21289, 3120, 3, 2, 2, 2, 21290, 21291, 7, 85, 2, 2, 21291, 21292, 7, 83, 2, 2, 21292, 21293, 7, 84, 2, 2, 21293, 21294, 7, 86, 2, 2, 21294, 3122, 3, 2, 2, 2, 21295, 21296, 7, 85, 2, 2, 21296, 21297, 7, 86, 2, 2, 21297, 21298, 7, 67, 2, 2, 21298, 21299, 7, 78, 2, 2, 21299, 21300, 7, 71, 2, 2, 21300, 3124, 3, 2, 2, 2, 21301, 21302, 7, 85, 2, 2, 21302, 21303, 7, 86, 2, 2, 21303, 21304, 7, 67, 2, 2, 21304, 21305, 7, 80, 2, 2, 21305, 21306, 7, 70, 2, 2, 21306, 21307, 7, 67, 2, 2, 21307, 21308, 7, 78, 2, 2, 21308, 21309, 7, 81, 2, 2, 21309, 21310, 7, 80, 2, 2, 21310, 21311, 7, 71, 2, 2, 21311, 3126, 3, 2, 2, 2, 21312, 21313, 7, 85, 2, 2, 21313, 21314, 7, 86, 2, 2, 21314, 21315, 7, 67, 2, 2, 21315, 21316, 7, 80, 2, 2, 21316, 21317, 7, 70, 2, 2, 21317, 21318, 7, 67, 2, 2, 21318, 21319, 7, 84, 2, 2, 21319, 21320, 7, 70, 2, 2, 21320, 21321, 7, 97, 2, 2, 21321, 21322, 7, 74, 2, 2, 21322, 21323, 7, 67, 2, 2, 21323, 21324, 7, 85, 2, 2, 21324, 21325, 7, 74, 2, 2, 21325, 3128, 3, 2, 2, 2, 21326, 21327, 7, 85, 2, 2, 21327, 21328, 7, 86, 2, 2, 21328, 21329, 7, 67, 2, 2, 21329, 21330, 7, 80, 2, 2, 21330, 21331, 7, 70, 2, 2, 21331, 21332, 7, 68, 2, 2, 21332, 21333, 7, 91, 2, 2, 21333, 21334, 7, 97, 2, 2, 21334, 21335, 7, 79, 2, 2, 21335, 21336, 7, 67, 2, 2, 21336, 21337, 7, 90, 2, 2, 21337, 21338, 7, 97, 2, 2, 21338, 21339, 7, 70, 2, 2, 21339, 21340, 7, 67, 2, 2, 21340, 21341, 7, 86, 2, 2, 21341, 21342, 7, 67, 2, 2, 21342, 21343, 7, 97, 2, 2, 21343, 21344, 7, 70, 2, 2, 21344, 21345, 7, 71, 2, 2, 21345, 21346, 7, 78, 2, 2, 21346, 21347, 7, 67, 2, 2, 21347, 21348, 7, 91, 2, 2, 21348, 3130, 3, 2, 2, 2, 21349, 21350, 7, 85, 2, 2, 21350, 21351, 7, 86, 2, 2, 21351, 21352, 7, 67, 2, 2, 21352, 21353, 7, 80, 2, 2, 21353, 21354, 7, 70, 2, 2, 21354, 21355, 7, 68, 2, 2, 21355, 21356, 7, 91, 2, 2, 21356, 21357, 7, 85, 2, 2, 21357, 3132, 3, 2, 2, 2, 21358, 21359, 7, 85, 2, 2, 21359, 21360, 7, 86, 2, 2, 21360, 21361, 7, 67, 2, 2, 21361, 21362, 7, 80, 2, 2, 21362, 21363, 7, 70, 2, 2, 21363, 21364, 7, 68, 2, 2, 21364, 21365, 7, 91, 2, 2, 21365, 3134, 3, 2, 2, 2, 21366, 21367, 7, 85, 2, 2, 21367, 21368, 7, 86, 2, 2, 21368, 21369, 7, 67, 2, 2, 21369, 21370, 7, 84, 2, 2, 21370, 3136, 3, 2, 2, 2, 21371, 21372, 7, 85, 2, 2, 21372, 21373, 7, 86, 2, 2, 21373, 21374, 7, 67, 2, 2, 21374, 21375, 7, 84, 2, 2, 21375, 21376, 7, 97, 2, 2, 21376, 21377, 7, 86, 2, 2, 21377, 21378, 7, 84, 2, 2, 21378, 21379, 7, 67, 2, 2, 21379, 21380, 7, 80, 2, 2, 21380, 21381, 7, 85, 2, 2, 21381, 21382, 7, 72, 2, 2, 21382, 21383, 7, 81, 2, 2, 21383, 21384, 7, 84, 2, 2, 21384, 21385, 7, 79, 2, 2, 21385, 21386, 7, 67, 2, 2, 21386, 21387, 7, 86, 2, 2, 21387, 21388, 7, 75, 2, 2, 21388, 21389, 7, 81, 2, 2, 21389, 21390, 7, 80, 2, 2, 21390, 3138, 3, 2, 2, 2, 21391, 21392, 7, 85, 2, 2, 21392, 21393, 7, 86, 2, 2, 21393, 21394, 7, 67, 2, 2, 21394, 21395, 7, 84, 2, 2, 21395, 21396, 7, 86, 2, 2, 21396, 3140, 3, 2, 2, 2, 21397, 21398, 7, 85, 2, 2, 21398, 21399, 7, 86, 2, 2, 21399, 21400, 7, 67, 2, 2, 21400, 21401, 7, 84, 2, 2, 21401, 21402, 7, 86, 2, 2, 21402, 21403, 7, 87, 2, 2, 21403, 21404, 7, 82, 2, 2, 21404, 3142, 3, 2, 2, 2, 21405, 21406, 7, 85, 2, 2, 21406, 21407, 7, 86, 2, 2, 21407, 21408, 7, 67, 2, 2, 21408, 21409, 7, 86, 2, 2, 21409, 21410, 7, 71, 2, 2, 21410, 21411, 7, 79, 2, 2, 21411, 21412, 7, 71, 2, 2, 21412, 21413, 7, 80, 2, 2, 21413, 21414, 7, 86, 2, 2, 21414, 21415, 7, 97, 2, 2, 21415, 21416, 7, 75, 2, 2, 21416, 21417, 7, 70, 2, 2, 21417, 3144, 3, 2, 2, 2, 21418, 21419, 7, 85, 2, 2, 21419, 21420, 7, 86, 2, 2, 21420, 21421, 7, 67, 2, 2, 21421, 21422, 7, 86, 2, 2, 21422, 21423, 7, 71, 2, 2, 21423, 21424, 7, 79, 2, 2, 21424, 21425, 7, 71, 2, 2, 21425, 21426, 7, 80, 2, 2, 21426, 21427, 7, 86, 2, 2, 21427, 21428, 7, 97, 2, 2, 21428, 21429, 7, 83, 2, 2, 21429, 21430, 7, 87, 2, 2, 21430, 21431, 7, 71, 2, 2, 21431, 21432, 7, 87, 2, 2, 21432, 21433, 7, 75, 2, 2, 21433, 21434, 7, 80, 2, 2, 21434, 21435, 7, 73, 2, 2, 21435, 3146, 3, 2, 2, 2, 21436, 21437, 7, 85, 2, 2, 21437, 21438, 7, 86, 2, 2, 21438, 21439, 7, 67, 2, 2, 21439, 21440, 7, 86, 2, 2, 21440, 21441, 7, 71, 2, 2, 21441, 21442, 7, 79, 2, 2, 21442, 21443, 7, 71, 2, 2, 21443, 21444, 7, 80, 2, 2, 21444, 21445, 7, 86, 2, 2, 21445, 21446, 7, 85, 2, 2, 21446, 3148, 3, 2, 2, 2, 21447, 21448, 7, 85, 2, 2, 21448, 21449, 7, 86, 2, 2, 21449, 21450, 7, 67, 2, 2, 21450, 21451, 7, 86, 2, 2, 21451, 21452, 7, 71, 2, 2, 21452, 21453, 7, 79, 2, 2, 21453, 21454, 7, 71, 2, 2, 21454, 21455, 7, 80, 2, 2, 21455, 21456, 7, 86, 2, 2, 21456, 3150, 3, 2, 2, 2, 21457, 21458, 7, 85, 2, 2, 21458, 21459, 7, 86, 2, 2, 21459, 21460, 7, 67, 2, 2, 21460, 21461, 7, 86, 2, 2, 21461, 21462, 7, 71, 2, 2, 21462, 3152, 3, 2, 2, 2, 21463, 21464, 7, 85, 2, 2, 21464, 21465, 7, 86, 2, 2, 21465, 21466, 7, 67, 2, 2, 21466, 21467, 7, 86, 2, 2, 21467, 21468, 7, 75, 2, 2, 21468, 21469, 7, 69, 2, 2, 21469, 3154, 3, 2, 2, 2, 21470, 21471, 7, 85, 2, 2, 21471, 21472, 7, 86, 2, 2, 21472, 21473, 7, 67, 2, 2, 21473, 21474, 7, 86, 2, 2, 21474, 21475, 7, 75, 2, 2, 21475, 21476, 7, 85, 2, 2, 21476, 21477, 7, 86, 2, 2, 21477, 21478, 7, 75, 2, 2, 21478, 21479, 7, 69, 2, 2, 21479, 21480, 7, 85, 2, 2, 21480, 3156, 3, 2, 2, 2, 21481, 21482, 7, 85, 2, 2, 21482, 21483, 7, 86, 2, 2, 21483, 21484, 7, 67, 2, 2, 21484, 21485, 7, 86, 2, 2, 21485, 21486, 7, 85, 2, 2, 21486, 21487, 7, 97, 2, 2, 21487, 21488, 7, 68, 2, 2, 21488, 21489, 7, 75, 2, 2, 21489, 21490, 7, 80, 2, 2, 21490, 21491, 7, 81, 2, 2, 21491, 21492, 7, 79, 2, 2, 21492, 21493, 7, 75, 2, 2, 21493, 21494, 7, 67, 2, 2, 21494, 21495, 7, 78, 2, 2, 21495, 21496, 7, 97, 2, 2, 21496, 21497, 7, 86, 2, 2, 21497, 21498, 7, 71, 2, 2, 21498, 21499, 7, 85, 2, 2, 21499, 21500, 7, 86, 2, 2, 21500, 3158, 3, 2, 2, 2, 21501, 21502, 7, 85, 2, 2, 21502, 21503, 7, 86, 2, 2, 21503, 21504, 7, 67, 2, 2, 21504, 21505, 7, 86, 2, 2, 21505, 21506, 7, 85, 2, 2, 21506, 21507, 7, 97, 2, 2, 21507, 21508, 7, 69, 2, 2, 21508, 21509, 7, 84, 2, 2, 21509, 21510, 7, 81, 2, 2, 21510, 21511, 7, 85, 2, 2, 21511, 21512, 7, 85, 2, 2, 21512, 21513, 7, 86, 2, 2, 21513, 21514, 7, 67, 2, 2, 21514, 21515, 7, 68, 2, 2, 21515, 3160, 3, 2, 2, 2, 21516, 21517, 7, 85, 2, 2, 21517, 21518, 7, 86, 2, 2, 21518, 21519, 7, 67, 2, 2, 21519, 21520, 7, 86, 2, 2, 21520, 21521, 7, 85, 2, 2, 21521, 21522, 7, 97, 2, 2, 21522, 21523, 7, 72, 2, 2, 21523, 21524, 7, 97, 2, 2, 21524, 21525, 7, 86, 2, 2, 21525, 21526, 7, 71, 2, 2, 21526, 21527, 7, 85, 2, 2, 21527, 21528, 7, 86, 2, 2, 21528, 3162, 3, 2, 2, 2, 21529, 21530, 7, 85, 2, 2, 21530, 21531, 7, 86, 2, 2, 21531, 21532, 7, 67, 2, 2, 21532, 21533, 7, 86, 2, 2, 21533, 21534, 7, 85, 2, 2, 21534, 21535, 7, 97, 2, 2, 21535, 21536, 7, 77, 2, 2, 21536, 21537, 7, 85, 2, 2, 21537, 21538, 7, 97, 2, 2, 21538, 21539, 7, 86, 2, 2, 21539, 21540, 7, 71, 2, 2, 21540, 21541, 7, 85, 2, 2, 21541, 21542, 7, 86, 2, 2, 21542, 3164, 3, 2, 2, 2, 21543, 21544, 7, 85, 2, 2, 21544, 21545, 7, 86, 2, 2, 21545, 21546, 7, 67, 2, 2, 21546, 21547, 7, 86, 2, 2, 21547, 21548, 7, 85, 2, 2, 21548, 21549, 7, 97, 2, 2, 21549, 21550, 7, 79, 2, 2, 21550, 21551, 7, 81, 2, 2, 21551, 21552, 7, 70, 2, 2, 21552, 21553, 7, 71, 2, 2, 21553, 3166, 3, 2, 2, 2, 21554, 21555, 7, 85, 2, 2, 21555, 21556, 7, 86, 2, 2, 21556, 21557, 7, 67, 2, 2, 21557, 21558, 7, 86, 2, 2, 21558, 21559, 7, 85, 2, 2, 21559, 21560, 7, 97, 2, 2, 21560, 21561, 7, 79, 2, 2, 21561, 21562, 7, 89, 2, 2, 21562, 21563, 7, 97, 2, 2, 21563, 21564, 7, 86, 2, 2, 21564, 21565, 7, 71, 2, 2, 21565, 21566, 7, 85, 2, 2, 21566, 21567, 7, 86, 2, 2, 21567, 3168, 3, 2, 2, 2, 21568, 21569, 7, 85, 2, 2, 21569, 21570, 7, 86, 2, 2, 21570, 21571, 7, 67, 2, 2, 21571, 21572, 7, 86, 2, 2, 21572, 21573, 7, 85, 2, 2, 21573, 21574, 7, 97, 2, 2, 21574, 21575, 7, 81, 2, 2, 21575, 21576, 7, 80, 2, 2, 21576, 21577, 7, 71, 2, 2, 21577, 21578, 7, 97, 2, 2, 21578, 21579, 7, 89, 2, 2, 21579, 21580, 7, 67, 2, 2, 21580, 21581, 7, 91, 2, 2, 21581, 21582, 7, 97, 2, 2, 21582, 21583, 7, 67, 2, 2, 21583, 21584, 7, 80, 2, 2, 21584, 21585, 7, 81, 2, 2, 21585, 21586, 7, 88, 2, 2, 21586, 21587, 7, 67, 2, 2, 21587, 3170, 3, 2, 2, 2, 21588, 21589, 7, 85, 2, 2, 21589, 21590, 7, 86, 2, 2, 21590, 21591, 7, 67, 2, 2, 21591, 21592, 7, 86, 2, 2, 21592, 21593, 7, 85, 2, 2, 21593, 21594, 7, 97, 2, 2, 21594, 21595, 7, 86, 2, 2, 21595, 21596, 7, 97, 2, 2, 21596, 21597, 7, 86, 2, 2, 21597, 21598, 7, 71, 2, 2, 21598, 21599, 7, 85, 2, 2, 21599, 21600, 7, 86, 2, 2, 21600, 21601, 7, 97, 2, 2, 21601, 21602, 7, 75, 2, 2, 21602, 21603, 7, 80, 2, 2, 21603, 21604, 7, 70, 2, 2, 21604, 21605, 7, 71, 2, 2, 21605, 21606, 7, 82, 2, 2, 21606, 3172, 3, 2, 2, 2, 21607, 21608, 7, 85, 2, 2, 21608, 21609, 7, 86, 2, 2, 21609, 21610, 7, 67, 2, 2, 21610, 21611, 7, 86, 2, 2, 21611, 21612, 7, 85, 2, 2, 21612, 21613, 7, 97, 2, 2, 21613, 21614, 7, 86, 2, 2, 21614, 21615, 7, 97, 2, 2, 21615, 21616, 7, 86, 2, 2, 21616, 21617, 7, 71, 2, 2, 21617, 21618, 7, 85, 2, 2, 21618, 21619, 7, 86, 2, 2, 21619, 21620, 7, 97, 2, 2, 21620, 21621, 7, 75, 2, 2, 21621, 21622, 7, 80, 2, 2, 21622, 21623, 7, 70, 2, 2, 21623, 21624, 7, 71, 2, 2, 21624, 21625, 7, 82, 2, 2, 21625, 21626, 7, 87, 2, 2, 21626, 3174, 3, 2, 2, 2, 21627, 21628, 7, 85, 2, 2, 21628, 21629, 7, 86, 2, 2, 21629, 21630, 7, 67, 2, 2, 21630, 21631, 7, 86, 2, 2, 21631, 21632, 7, 85, 2, 2, 21632, 21633, 7, 97, 2, 2, 21633, 21634, 7, 86, 2, 2, 21634, 21635, 7, 97, 2, 2, 21635, 21636, 7, 86, 2, 2, 21636, 21637, 7, 71, 2, 2, 21637, 21638, 7, 85, 2, 2, 21638, 21639, 7, 86, 2, 2, 21639, 21640, 7, 97, 2, 2, 21640, 21641, 7, 81, 2, 2, 21641, 21642, 7, 80, 2, 2, 21642, 21643, 7, 71, 2, 2, 21643, 3176, 3, 2, 2, 2, 21644, 21645, 7, 85, 2, 2, 21645, 21646, 7, 86, 2, 2, 21646, 21647, 7, 67, 2, 2, 21647, 21648, 7, 86, 2, 2, 21648, 21649, 7, 85, 2, 2, 21649, 21650, 7, 97, 2, 2, 21650, 21651, 7, 86, 2, 2, 21651, 21652, 7, 97, 2, 2, 21652, 21653, 7, 86, 2, 2, 21653, 21654, 7, 71, 2, 2, 21654, 21655, 7, 85, 2, 2, 21655, 21656, 7, 86, 2, 2, 21656, 21657, 7, 97, 2, 2, 21657, 21658, 7, 82, 2, 2, 21658, 21659, 7, 67, 2, 2, 21659, 21660, 7, 75, 2, 2, 21660, 21661, 7, 84, 2, 2, 21661, 21662, 7, 71, 2, 2, 21662, 21663, 7, 70, 2, 2, 21663, 3178, 3, 2, 2, 2, 21664, 21665, 7, 85, 2, 2, 21665, 21666, 7, 86, 2, 2, 21666, 21667, 7, 67, 2, 2, 21667, 21668, 7, 86, 2, 2, 21668, 21669, 7, 85, 2, 2, 21669, 21670, 7, 97, 2, 2, 21670, 21671, 7, 89, 2, 2, 21671, 21672, 7, 85, 2, 2, 21672, 21673, 7, 84, 2, 2, 21673, 21674, 7, 97, 2, 2, 21674, 21675, 7, 86, 2, 2, 21675, 21676, 7, 71, 2, 2, 21676, 21677, 7, 85, 2, 2, 21677, 21678, 7, 86, 2, 2, 21678, 3180, 3, 2, 2, 2, 21679, 21680, 7, 85, 2, 2, 21680, 21681, 7, 86, 2, 2, 21681, 21682, 7, 70, 2, 2, 21682, 21683, 7, 70, 2, 2, 21683, 21684, 7, 71, 2, 2, 21684, 21685, 7, 88, 2, 2, 21685, 21686, 7, 97, 2, 2, 21686, 21687, 7, 82, 2, 2, 21687, 21688, 7, 81, 2, 2, 21688, 21689, 7, 82, 2, 2, 21689, 3182, 3, 2, 2, 2, 21690, 21691, 7, 85, 2, 2, 21691, 21692, 7, 86, 2, 2, 21692, 21693, 7, 70, 2, 2, 21693, 21694, 7, 70, 2, 2, 21694, 21695, 7, 71, 2, 2, 21695, 21696, 7, 88, 2, 2, 21696, 21697, 7, 97, 2, 2, 21697, 21698, 7, 85, 2, 2, 21698, 21699, 7, 67, 2, 2, 21699, 21700, 7, 79, 2, 2, 21700, 21701, 7, 82, 2, 2, 21701, 3184, 3, 2, 2, 2, 21702, 21703, 7, 85, 2, 2, 21703, 21704, 7, 86, 2, 2, 21704, 21705, 7, 81, 2, 2, 21705, 21706, 7, 82, 2, 2, 21706, 3186, 3, 2, 2, 2, 21707, 21708, 7, 85, 2, 2, 21708, 21709, 7, 86, 2, 2, 21709, 21710, 7, 81, 2, 2, 21710, 21711, 7, 84, 2, 2, 21711, 21712, 7, 67, 2, 2, 21712, 21713, 7, 73, 2, 2, 21713, 21714, 7, 71, 2, 2, 21714, 3188, 3, 2, 2, 2, 21715, 21716, 7, 85, 2, 2, 21716, 21717, 7, 86, 2, 2, 21717, 21718, 7, 81, 2, 2, 21718, 21719, 7, 84, 2, 2, 21719, 21720, 7, 71, 2, 2, 21720, 3190, 3, 2, 2, 2, 21721, 21722, 7, 85, 2, 2, 21722, 21723, 7, 86, 2, 2, 21723, 21724, 7, 84, 2, 2, 21724, 21725, 7, 71, 2, 2, 21725, 21726, 7, 67, 2, 2, 21726, 21727, 7, 79, 2, 2, 21727, 21728, 7, 85, 2, 2, 21728, 3192, 3, 2, 2, 2, 21729, 21730, 7, 85, 2, 2, 21730, 21731, 7, 86, 2, 2, 21731, 21732, 7, 84, 2, 2, 21732, 21733, 7, 71, 2, 2, 21733, 21734, 7, 67, 2, 2, 21734, 21735, 7, 79, 2, 2, 21735, 3194, 3, 2, 2, 2, 21736, 21737, 7, 85, 2, 2, 21737, 21738, 7, 86, 2, 2, 21738, 21739, 7, 84, 2, 2, 21739, 21740, 7, 75, 2, 2, 21740, 21741, 7, 69, 2, 2, 21741, 21742, 7, 86, 2, 2, 21742, 3196, 3, 2, 2, 2, 21743, 21744, 7, 85, 2, 2, 21744, 21745, 7, 86, 2, 2, 21745, 21746, 7, 84, 2, 2, 21746, 21747, 7, 75, 2, 2, 21747, 21748, 7, 80, 2, 2, 21748, 21749, 7, 73, 2, 2, 21749, 3198, 3, 2, 2, 2, 21750, 21751, 7, 85, 2, 2, 21751, 21752, 7, 86, 2, 2, 21752, 21753, 7, 84, 2, 2, 21753, 21754, 7, 75, 2, 2, 21754, 21755, 7, 82, 2, 2, 21755, 21756, 7, 71, 2, 2, 21756, 21757, 7, 97, 2, 2, 21757, 21758, 7, 69, 2, 2, 21758, 21759, 7, 81, 2, 2, 21759, 21760, 7, 78, 2, 2, 21760, 21761, 7, 87, 2, 2, 21761, 21762, 7, 79, 2, 2, 21762, 21763, 7, 80, 2, 2, 21763, 21764, 7, 85, 2, 2, 21764, 3200, 3, 2, 2, 2, 21765, 21766, 7, 85, 2, 2, 21766, 21767, 7, 86, 2, 2, 21767, 21768, 7, 84, 2, 2, 21768, 21769, 7, 75, 2, 2, 21769, 21770, 7, 82, 2, 2, 21770, 21771, 7, 71, 2, 2, 21771, 21772, 7, 97, 2, 2, 21772, 21773, 7, 89, 2, 2, 21773, 21774, 7, 75, 2, 2, 21774, 21775, 7, 70, 2, 2, 21775, 21776, 7, 86, 2, 2, 21776, 21777, 7, 74, 2, 2, 21777, 3202, 3, 2, 2, 2, 21778, 21779, 7, 85, 2, 2, 21779, 21780, 7, 86, 2, 2, 21780, 21781, 7, 84, 2, 2, 21781, 21782, 7, 75, 2, 2, 21782, 21783, 7, 82, 2, 2, 21783, 3204, 3, 2, 2, 2, 21784, 21785, 7, 85, 2, 2, 21785, 21786, 7, 86, 2, 2, 21786, 21787, 7, 84, 2, 2, 21787, 21788, 7, 87, 2, 2, 21788, 21789, 7, 69, 2, 2, 21789, 21790, 7, 86, 2, 2, 21790, 21791, 7, 87, 2, 2, 21791, 21792, 7, 84, 2, 2, 21792, 21793, 7, 71, 2, 2, 21793, 3206, 3, 2, 2, 2, 21794, 21795, 7, 85, 2, 2, 21795, 21796, 7, 87, 2, 2, 21796, 21797, 7, 68, 2, 2, 21797, 21798, 7, 79, 2, 2, 21798, 21799, 7, 87, 2, 2, 21799, 21800, 7, 78, 2, 2, 21800, 21801, 7, 86, 2, 2, 21801, 21802, 7, 75, 2, 2, 21802, 21803, 7, 85, 2, 2, 21803, 21804, 7, 71, 2, 2, 21804, 21805, 7, 86, 2, 2, 21805, 3208, 3, 2, 2, 2, 21806, 21807, 7, 85, 2, 2, 21807, 21808, 7, 87, 2, 2, 21808, 21809, 7, 68, 2, 2, 21809, 21810, 7, 82, 2, 2, 21810, 21811, 7, 67, 2, 2, 21811, 21812, 7, 84, 2, 2, 21812, 21813, 7, 86, 2, 2, 21813, 21814, 7, 75, 2, 2, 21814, 21815, 7, 86, 2, 2, 21815, 21816, 7, 75, 2, 2, 21816, 21817, 7, 81, 2, 2, 21817, 21818, 7, 80, 2, 2, 21818, 21819, 7, 97, 2, 2, 21819, 21820, 7, 84, 2, 2, 21820, 21821, 7, 71, 2, 2, 21821, 21822, 7, 78, 2, 2, 21822, 3210, 3, 2, 2, 2, 21823, 21824, 7, 85, 2, 2, 21824, 21825, 7, 87, 2, 2, 21825, 21826, 7, 68, 2, 2, 21826, 21827, 7, 82, 2, 2, 21827, 21828, 7, 67, 2, 2, 21828, 21829, 7, 84, 2, 2, 21829, 21830, 7, 86, 2, 2, 21830, 21831, 7, 75, 2, 2, 21831, 21832, 7, 86, 2, 2, 21832, 21833, 7, 75, 2, 2, 21833, 21834, 7, 81, 2, 2, 21834, 21835, 7, 80, 2, 2, 21835, 21836, 7, 85, 2, 2, 21836, 3212, 3, 2, 2, 2, 21837, 21838, 7, 85, 2, 2, 21838, 21839, 7, 87, 2, 2, 21839, 21840, 7, 68, 2, 2, 21840, 21841, 7, 82, 2, 2, 21841, 21842, 7, 67, 2, 2, 21842, 21843, 7, 84, 2, 2, 21843, 21844, 7, 86, 2, 2, 21844, 21845, 7, 75, 2, 2, 21845, 21846, 7, 86, 2, 2, 21846, 21847, 7, 75, 2, 2, 21847, 21848, 7, 81, 2, 2, 21848, 21849, 7, 80, 2, 2, 21849, 3214, 3, 2, 2, 2, 21850, 21851, 7, 85, 2, 2, 21851, 21852, 7, 87, 2, 2, 21852, 21853, 7, 68, 2, 2, 21853, 21854, 7, 83, 2, 2, 21854, 21855, 7, 87, 2, 2, 21855, 21856, 7, 71, 2, 2, 21856, 21857, 7, 84, 2, 2, 21857, 21858, 7, 75, 2, 2, 21858, 21859, 7, 71, 2, 2, 21859, 21860, 7, 85, 2, 2, 21860, 3216, 3, 2, 2, 2, 21861, 21862, 7, 85, 2, 2, 21862, 21863, 7, 87, 2, 2, 21863, 21864, 7, 68, 2, 2, 21864, 21865, 7, 83, 2, 2, 21865, 21866, 7, 87, 2, 2, 21866, 21867, 7, 71, 2, 2, 21867, 21868, 7, 84, 2, 2, 21868, 21869, 7, 91, 2, 2, 21869, 21870, 7, 97, 2, 2, 21870, 21871, 7, 82, 2, 2, 21871, 21872, 7, 84, 2, 2, 21872, 21873, 7, 87, 2, 2, 21873, 21874, 7, 80, 2, 2, 21874, 21875, 7, 75, 2, 2, 21875, 21876, 7, 80, 2, 2, 21876, 21877, 7, 73, 2, 2, 21877, 3218, 3, 2, 2, 2, 21878, 21879, 7, 85, 2, 2, 21879, 21880, 7, 87, 2, 2, 21880, 21881, 7, 68, 2, 2, 21881, 21882, 7, 85, 2, 2, 21882, 21883, 7, 69, 2, 2, 21883, 21884, 7, 84, 2, 2, 21884, 21885, 7, 75, 2, 2, 21885, 21886, 7, 68, 2, 2, 21886, 21887, 7, 71, 2, 2, 21887, 3220, 3, 2, 2, 2, 21888, 21889, 7, 85, 2, 2, 21889, 21890, 7, 87, 2, 2, 21890, 21891, 7, 68, 2, 2, 21891, 21892, 7, 85, 2, 2, 21892, 21893, 7, 71, 2, 2, 21893, 21894, 7, 86, 2, 2, 21894, 3222, 3, 2, 2, 2, 21895, 21896, 7, 85, 2, 2, 21896, 21897, 7, 87, 2, 2, 21897, 21898, 7, 68, 2, 2, 21898, 21899, 7, 85, 2, 2, 21899, 21900, 7, 86, 2, 2, 21900, 21901, 7, 75, 2, 2, 21901, 21902, 7, 86, 2, 2, 21902, 21903, 7, 87, 2, 2, 21903, 21904, 7, 86, 2, 2, 21904, 21905, 7, 67, 2, 2, 21905, 21906, 7, 68, 2, 2, 21906, 21907, 7, 78, 2, 2, 21907, 21908, 7, 71, 2, 2, 21908, 3224, 3, 2, 2, 2, 21909, 21910, 7, 85, 2, 2, 21910, 21911, 7, 87, 2, 2, 21911, 21912, 7, 68, 2, 2, 21912, 21913, 7, 85, 2, 2, 21913, 21914, 7, 86, 2, 2, 21914, 21915, 7, 84, 2, 2, 21915, 21916, 7, 52, 2, 2, 21916, 3226, 3, 2, 2, 2, 21917, 21918, 7, 85, 2, 2, 21918, 21919, 7, 87, 2, 2, 21919, 21920, 7, 68, 2, 2, 21920, 21921, 7, 85, 2, 2, 21921, 21922, 7, 86, 2, 2, 21922, 21923, 7, 84, 2, 2, 21923, 21924, 7, 54, 2, 2, 21924, 3228, 3, 2, 2, 2, 21925, 21926, 7, 85, 2, 2, 21926, 21927, 7, 87, 2, 2, 21927, 21928, 7, 68, 2, 2, 21928, 21929, 7, 85, 2, 2, 21929, 21930, 7, 86, 2, 2, 21930, 21931, 7, 84, 2, 2, 21931, 21932, 7, 68, 2, 2, 21932, 3230, 3, 2, 2, 2, 21933, 21934, 7, 85, 2, 2, 21934, 21935, 7, 87, 2, 2, 21935, 21936, 7, 68, 2, 2, 21936, 21937, 7, 85, 2, 2, 21937, 21938, 7, 86, 2, 2, 21938, 21939, 7, 84, 2, 2, 21939, 21940, 7, 69, 2, 2, 21940, 3232, 3, 2, 2, 2, 21941, 21942, 7, 85, 2, 2, 21942, 21943, 7, 87, 2, 2, 21943, 21944, 7, 68, 2, 2, 21944, 21945, 7, 86, 2, 2, 21945, 21946, 7, 91, 2, 2, 21946, 21947, 7, 82, 2, 2, 21947, 21948, 7, 71, 2, 2, 21948, 3234, 3, 2, 2, 2, 21949, 21950, 7, 85, 2, 2, 21950, 21951, 7, 87, 2, 2, 21951, 21952, 7, 69, 2, 2, 21952, 21953, 7, 69, 2, 2, 21953, 21954, 7, 71, 2, 2, 21954, 21955, 7, 85, 2, 2, 21955, 21956, 7, 85, 2, 2, 21956, 21957, 7, 72, 2, 2, 21957, 21958, 7, 87, 2, 2, 21958, 21959, 7, 78, 2, 2, 21959, 3236, 3, 2, 2, 2, 21960, 21961, 7, 85, 2, 2, 21961, 21962, 7, 87, 2, 2, 21962, 21963, 7, 69, 2, 2, 21963, 21964, 7, 69, 2, 2, 21964, 21965, 7, 71, 2, 2, 21965, 21966, 7, 85, 2, 2, 21966, 21967, 7, 85, 2, 2, 21967, 3238, 3, 2, 2, 2, 21968, 21969, 7, 85, 2, 2, 21969, 21970, 7, 87, 2, 2, 21970, 21971, 7, 79, 2, 2, 21971, 21972, 7, 79, 2, 2, 21972, 21973, 7, 67, 2, 2, 21973, 21974, 7, 84, 2, 2, 21974, 21975, 7, 91, 2, 2, 21975, 3240, 3, 2, 2, 2, 21976, 21977, 7, 85, 2, 2, 21977, 21978, 7, 87, 2, 2, 21978, 21979, 7, 82, 2, 2, 21979, 21980, 7, 82, 2, 2, 21980, 21981, 7, 78, 2, 2, 21981, 21982, 7, 71, 2, 2, 21982, 21983, 7, 79, 2, 2, 21983, 21984, 7, 71, 2, 2, 21984, 21985, 7, 80, 2, 2, 21985, 21986, 7, 86, 2, 2, 21986, 21987, 7, 67, 2, 2, 21987, 21988, 7, 78, 2, 2, 21988, 3242, 3, 2, 2, 2, 21989, 21990, 7, 85, 2, 2, 21990, 21991, 7, 87, 2, 2, 21991, 21992, 7, 85, 2, 2, 21992, 21993, 7, 82, 2, 2, 21993, 21994, 7, 71, 2, 2, 21994, 21995, 7, 80, 2, 2, 21995, 21996, 7, 70, 2, 2, 21996, 3244, 3, 2, 2, 2, 21997, 21998, 7, 85, 2, 2, 21998, 21999, 7, 89, 2, 2, 21999, 22000, 7, 67, 2, 2, 22000, 22001, 7, 82, 2, 2, 22001, 22002, 7, 97, 2, 2, 22002, 22003, 7, 76, 2, 2, 22003, 22004, 7, 81, 2, 2, 22004, 22005, 7, 75, 2, 2, 22005, 22006, 7, 80, 2, 2, 22006, 22007, 7, 97, 2, 2, 22007, 22008, 7, 75, 2, 2, 22008, 22009, 7, 80, 2, 2, 22009, 22010, 7, 82, 2, 2, 22010, 22011, 7, 87, 2, 2, 22011, 22012, 7, 86, 2, 2, 22012, 22013, 7, 85, 2, 2, 22013, 3246, 3, 2, 2, 2, 22014, 22015, 7, 85, 2, 2, 22015, 22016, 7, 89, 2, 2, 22016, 22017, 7, 75, 2, 2, 22017, 22018, 7, 86, 2, 2, 22018, 22019, 7, 69, 2, 2, 22019, 22020, 7, 74, 2, 2, 22020, 22021, 7, 81, 2, 2, 22021, 22022, 7, 88, 2, 2, 22022, 22023, 7, 71, 2, 2, 22023, 22024, 7, 84, 2, 2, 22024, 3248, 3, 2, 2, 2, 22025, 22026, 7, 85, 2, 2, 22026, 22027, 7, 89, 2, 2, 22027, 22028, 7, 75, 2, 2, 22028, 22029, 7, 86, 2, 2, 22029, 22030, 7, 69, 2, 2, 22030, 22031, 7, 74, 2, 2, 22031, 3250, 3, 2, 2, 2, 22032, 22033, 7, 85, 2, 2, 22033, 22034, 7, 91, 2, 2, 22034, 22035, 7, 80, 2, 2, 22035, 22036, 7, 69, 2, 2, 22036, 22037, 7, 74, 2, 2, 22037, 22038, 7, 84, 2, 2, 22038, 22039, 7, 81, 2, 2, 22039, 22040, 7, 80, 2, 2, 22040, 22041, 7, 81, 2, 2, 22041, 22042, 7, 87, 2, 2, 22042, 22043, 7, 85, 2, 2, 22043, 3252, 3, 2, 2, 2, 22044, 22045, 7, 85, 2, 2, 22045, 22046, 7, 91, 2, 2, 22046, 22047, 7, 80, 2, 2, 22047, 22048, 7, 69, 2, 2, 22048, 3254, 3, 2, 2, 2, 22049, 22050, 7, 85, 2, 2, 22050, 22051, 7, 91, 2, 2, 22051, 22052, 7, 80, 2, 2, 22052, 22053, 7, 81, 2, 2, 22053, 22054, 7, 80, 2, 2, 22054, 22055, 7, 91, 2, 2, 22055, 22056, 7, 79, 2, 2, 22056, 3256, 3, 2, 2, 2, 22057, 22058, 7, 85, 2, 2, 22058, 22059, 7, 91, 2, 2, 22059, 22060, 7, 85, 2, 2, 22060, 22061, 7, 67, 2, 2, 22061, 22062, 7, 85, 2, 2, 22062, 22063, 7, 79, 2, 2, 22063, 3258, 3, 2, 2, 2, 22064, 22065, 7, 85, 2, 2, 22065, 22066, 7, 91, 2, 2, 22066, 22067, 7, 85, 2, 2, 22067, 22068, 7, 97, 2, 2, 22068, 22069, 7, 67, 2, 2, 22069, 22070, 7, 87, 2, 2, 22070, 22071, 7, 70, 2, 2, 22071, 22072, 7, 75, 2, 2, 22072, 22073, 7, 86, 2, 2, 22073, 3260, 3, 2, 2, 2, 22074, 22075, 7, 85, 2, 2, 22075, 22076, 7, 91, 2, 2, 22076, 22077, 7, 85, 2, 2, 22077, 22078, 7, 67, 2, 2, 22078, 22079, 7, 87, 2, 2, 22079, 22080, 7, 90, 2, 2, 22080, 3262, 3, 2, 2, 2, 22081, 22082, 7, 85, 2, 2, 22082, 22083, 7, 91, 2, 2, 22083, 22084, 7, 85, 2, 2, 22084, 22085, 7, 68, 2, 2, 22085, 22086, 7, 67, 2, 2, 22086, 22087, 7, 69, 2, 2, 22087, 22088, 7, 77, 2, 2, 22088, 22089, 7, 87, 2, 2, 22089, 22090, 7, 82, 2, 2, 22090, 3264, 3, 2, 2, 2, 22091, 22092, 7, 85, 2, 2, 22092, 22093, 7, 91, 2, 2, 22093, 22094, 7, 85, 2, 2, 22094, 22095, 7, 97, 2, 2, 22095, 22096, 7, 69, 2, 2, 22096, 22097, 7, 74, 2, 2, 22097, 22098, 7, 71, 2, 2, 22098, 22099, 7, 69, 2, 2, 22099, 22100, 7, 77, 2, 2, 22100, 22101, 7, 67, 2, 2, 22101, 22102, 7, 69, 2, 2, 22102, 22103, 7, 78, 2, 2, 22103, 3266, 3, 2, 2, 2, 22104, 22105, 7, 85, 2, 2, 22105, 22106, 7, 91, 2, 2, 22106, 22107, 7, 85, 2, 2, 22107, 22108, 7, 97, 2, 2, 22108, 22109, 7, 69, 2, 2, 22109, 22110, 7, 74, 2, 2, 22110, 22111, 7, 71, 2, 2, 22111, 22112, 7, 69, 2, 2, 22112, 22113, 7, 77, 2, 2, 22113, 22114, 7, 97, 2, 2, 22114, 22115, 7, 82, 2, 2, 22115, 22116, 7, 84, 2, 2, 22116, 22117, 7, 75, 2, 2, 22117, 22118, 7, 88, 2, 2, 22118, 22119, 7, 75, 2, 2, 22119, 22120, 7, 78, 2, 2, 22120, 22121, 7, 71, 2, 2, 22121, 22122, 7, 73, 2, 2, 22122, 22123, 7, 71, 2, 2, 22123, 3268, 3, 2, 2, 2, 22124, 22125, 7, 85, 2, 2, 22125, 22126, 7, 91, 2, 2, 22126, 22127, 7, 85, 2, 2, 22127, 22128, 7, 97, 2, 2, 22128, 22129, 7, 69, 2, 2, 22129, 22130, 7, 81, 2, 2, 22130, 22131, 7, 80, 2, 2, 22131, 22132, 7, 80, 2, 2, 22132, 22133, 7, 71, 2, 2, 22133, 22134, 7, 69, 2, 2, 22134, 22135, 7, 86, 2, 2, 22135, 22136, 7, 97, 2, 2, 22136, 22137, 7, 68, 2, 2, 22137, 22138, 7, 91, 2, 2, 22138, 22139, 7, 97, 2, 2, 22139, 22140, 7, 82, 2, 2, 22140, 22141, 7, 67, 2, 2, 22141, 22142, 7, 86, 2, 2, 22142, 22143, 7, 74, 2, 2, 22143, 3270, 3, 2, 2, 2, 22144, 22145, 7, 85, 2, 2, 22145, 22146, 7, 91, 2, 2, 22146, 22147, 7, 85, 2, 2, 22147, 22148, 7, 97, 2, 2, 22148, 22149, 7, 69, 2, 2, 22149, 22150, 7, 81, 2, 2, 22150, 22151, 7, 80, 2, 2, 22151, 22152, 7, 86, 2, 2, 22152, 22153, 7, 71, 2, 2, 22153, 22154, 7, 90, 2, 2, 22154, 22155, 7, 86, 2, 2, 22155, 3272, 3, 2, 2, 2, 22156, 22157, 7, 85, 2, 2, 22157, 22158, 7, 91, 2, 2, 22158, 22159, 7, 85, 2, 2, 22159, 22160, 7, 70, 2, 2, 22160, 22161, 7, 67, 2, 2, 22161, 22162, 7, 86, 2, 2, 22162, 22163, 7, 71, 2, 2, 22163, 3274, 3, 2, 2, 2, 22164, 22165, 7, 85, 2, 2, 22165, 22166, 7, 91, 2, 2, 22166, 22167, 7, 85, 2, 2, 22167, 22168, 7, 70, 2, 2, 22168, 22169, 7, 68, 2, 2, 22169, 22170, 7, 67, 2, 2, 22170, 3276, 3, 2, 2, 2, 22171, 22172, 7, 85, 2, 2, 22172, 22173, 7, 91, 2, 2, 22173, 22174, 7, 85, 2, 2, 22174, 22175, 7, 97, 2, 2, 22175, 22176, 7, 70, 2, 2, 22176, 22177, 7, 68, 2, 2, 22177, 22178, 7, 87, 2, 2, 22178, 22179, 7, 84, 2, 2, 22179, 22180, 7, 75, 2, 2, 22180, 22181, 7, 73, 2, 2, 22181, 22182, 7, 71, 2, 2, 22182, 22183, 7, 80, 2, 2, 22183, 3278, 3, 2, 2, 2, 22184, 22185, 7, 85, 2, 2, 22185, 22186, 7, 91, 2, 2, 22186, 22187, 7, 85, 2, 2, 22187, 22188, 7, 70, 2, 2, 22188, 22189, 7, 73, 2, 2, 22189, 3280, 3, 2, 2, 2, 22190, 22191, 7, 85, 2, 2, 22191, 22192, 7, 91, 2, 2, 22192, 22193, 7, 85, 2, 2, 22193, 22194, 7, 97, 2, 2, 22194, 22195, 7, 70, 2, 2, 22195, 22196, 7, 78, 2, 2, 22196, 22197, 7, 97, 2, 2, 22197, 22198, 7, 69, 2, 2, 22198, 22199, 7, 87, 2, 2, 22199, 22200, 7, 84, 2, 2, 22200, 22201, 7, 85, 2, 2, 22201, 22202, 7, 81, 2, 2, 22202, 22203, 7, 84, 2, 2, 22203, 3282, 3, 2, 2, 2, 22204, 22205, 7, 85, 2, 2, 22205, 22206, 7, 91, 2, 2, 22206, 22207, 7, 85, 2, 2, 22207, 22208, 7, 97, 2, 2, 22208, 22209, 7, 70, 2, 2, 22209, 22210, 7, 79, 2, 2, 22210, 22211, 7, 97, 2, 2, 22211, 22212, 7, 84, 2, 2, 22212, 22213, 7, 90, 2, 2, 22213, 22214, 7, 72, 2, 2, 22214, 22215, 7, 81, 2, 2, 22215, 22216, 7, 84, 2, 2, 22216, 22217, 7, 79, 2, 2, 22217, 22218, 7, 97, 2, 2, 22218, 22219, 7, 69, 2, 2, 22219, 22220, 7, 74, 2, 2, 22220, 22221, 7, 84, 2, 2, 22221, 3284, 3, 2, 2, 2, 22222, 22223, 7, 85, 2, 2, 22223, 22224, 7, 91, 2, 2, 22224, 22225, 7, 85, 2, 2, 22225, 22226, 7, 97, 2, 2, 22226, 22227, 7, 70, 2, 2, 22227, 22228, 7, 79, 2, 2, 22228, 22229, 7, 97, 2, 2, 22229, 22230, 7, 84, 2, 2, 22230, 22231, 7, 90, 2, 2, 22231, 22232, 7, 72, 2, 2, 22232, 22233, 7, 81, 2, 2, 22233, 22234, 7, 84, 2, 2, 22234, 22235, 7, 79, 2, 2, 22235, 22236, 7, 97, 2, 2, 22236, 22237, 7, 80, 2, 2, 22237, 22238, 7, 87, 2, 2, 22238, 22239, 7, 79, 2, 2, 22239, 3286, 3, 2, 2, 2, 22240, 22241, 7, 85, 2, 2, 22241, 22242, 7, 91, 2, 2, 22242, 22243, 7, 85, 2, 2, 22243, 22244, 7, 97, 2, 2, 22244, 22245, 7, 70, 2, 2, 22245, 22246, 7, 81, 2, 2, 22246, 22247, 7, 79, 2, 2, 22247, 22248, 7, 97, 2, 2, 22248, 22249, 7, 69, 2, 2, 22249, 22250, 7, 81, 2, 2, 22250, 22251, 7, 79, 2, 2, 22251, 22252, 7, 82, 2, 2, 22252, 22253, 7, 67, 2, 2, 22253, 22254, 7, 84, 2, 2, 22254, 22255, 7, 71, 2, 2, 22255, 3288, 3, 2, 2, 2, 22256, 22257, 7, 85, 2, 2, 22257, 22258, 7, 91, 2, 2, 22258, 22259, 7, 85, 2, 2, 22259, 22260, 7, 97, 2, 2, 22260, 22261, 7, 70, 2, 2, 22261, 22262, 7, 85, 2, 2, 22262, 22263, 7, 86, 2, 2, 22263, 22264, 7, 97, 2, 2, 22264, 22265, 7, 82, 2, 2, 22265, 22266, 7, 84, 2, 2, 22266, 22267, 7, 75, 2, 2, 22267, 22268, 7, 79, 2, 2, 22268, 22269, 7, 52, 2, 2, 22269, 22270, 7, 85, 2, 2, 22270, 22271, 7, 71, 2, 2, 22271, 22272, 7, 69, 2, 2, 22272, 3290, 3, 2, 2, 2, 22273, 22274, 7, 85, 2, 2, 22274, 22275, 7, 91, 2, 2, 22275, 22276, 7, 85, 2, 2, 22276, 22277, 7, 97, 2, 2, 22277, 22278, 7, 70, 2, 2, 22278, 22279, 7, 85, 2, 2, 22279, 22280, 7, 86, 2, 2, 22280, 22281, 7, 97, 2, 2, 22281, 22282, 7, 85, 2, 2, 22282, 22283, 7, 71, 2, 2, 22283, 22284, 7, 69, 2, 2, 22284, 22285, 7, 52, 2, 2, 22285, 22286, 7, 82, 2, 2, 22286, 22287, 7, 84, 2, 2, 22287, 22288, 7, 75, 2, 2, 22288, 22289, 7, 79, 2, 2, 22289, 3292, 3, 2, 2, 2, 22290, 22291, 7, 85, 2, 2, 22291, 22292, 7, 91, 2, 2, 22292, 22293, 7, 85, 2, 2, 22293, 22294, 7, 97, 2, 2, 22294, 22295, 7, 71, 2, 2, 22295, 22296, 7, 86, 2, 2, 22296, 22297, 7, 97, 2, 2, 22297, 22298, 7, 68, 2, 2, 22298, 22299, 7, 72, 2, 2, 22299, 22300, 7, 75, 2, 2, 22300, 22301, 7, 78, 2, 2, 22301, 22302, 7, 71, 2, 2, 22302, 22303, 7, 97, 2, 2, 22303, 22304, 7, 86, 2, 2, 22304, 22305, 7, 81, 2, 2, 22305, 22306, 7, 97, 2, 2, 22306, 22307, 7, 84, 2, 2, 22307, 22308, 7, 67, 2, 2, 22308, 22309, 7, 89, 2, 2, 22309, 3294, 3, 2, 2, 2, 22310, 22311, 7, 85, 2, 2, 22311, 22312, 7, 91, 2, 2, 22312, 22313, 7, 85, 2, 2, 22313, 22314, 7, 97, 2, 2, 22314, 22315, 7, 71, 2, 2, 22315, 22316, 7, 86, 2, 2, 22316, 22317, 7, 97, 2, 2, 22317, 22318, 7, 68, 2, 2, 22318, 22319, 7, 78, 2, 2, 22319, 22320, 7, 81, 2, 2, 22320, 22321, 7, 68, 2, 2, 22321, 22322, 7, 97, 2, 2, 22322, 22323, 7, 86, 2, 2, 22323, 22324, 7, 81, 2, 2, 22324, 22325, 7, 97, 2, 2, 22325, 22326, 7, 75, 2, 2, 22326, 22327, 7, 79, 2, 2, 22327, 22328, 7, 67, 2, 2, 22328, 22329, 7, 73, 2, 2, 22329, 22330, 7, 71, 2, 2, 22330, 3296, 3, 2, 2, 2, 22331, 22332, 7, 85, 2, 2, 22332, 22333, 7, 91, 2, 2, 22333, 22334, 7, 85, 2, 2, 22334, 22335, 7, 97, 2, 2, 22335, 22336, 7, 71, 2, 2, 22336, 22337, 7, 86, 2, 2, 22337, 22338, 7, 97, 2, 2, 22338, 22339, 7, 75, 2, 2, 22339, 22340, 7, 79, 2, 2, 22340, 22341, 7, 67, 2, 2, 22341, 22342, 7, 73, 2, 2, 22342, 22343, 7, 71, 2, 2, 22343, 22344, 7, 97, 2, 2, 22344, 22345, 7, 86, 2, 2, 22345, 22346, 7, 81, 2, 2, 22346, 22347, 7, 97, 2, 2, 22347, 22348, 7, 68, 2, 2, 22348, 22349, 7, 78, 2, 2, 22349, 22350, 7, 81, 2, 2, 22350, 22351, 7, 68, 2, 2, 22351, 3298, 3, 2, 2, 2, 22352, 22353, 7, 85, 2, 2, 22353, 22354, 7, 91, 2, 2, 22354, 22355, 7, 85, 2, 2, 22355, 22356, 7, 97, 2, 2, 22356, 22357, 7, 71, 2, 2, 22357, 22358, 7, 86, 2, 2, 22358, 22359, 7, 97, 2, 2, 22359, 22360, 7, 84, 2, 2, 22360, 22361, 7, 67, 2, 2, 22361, 22362, 7, 89, 2, 2, 22362, 22363, 7, 97, 2, 2, 22363, 22364, 7, 86, 2, 2, 22364, 22365, 7, 81, 2, 2, 22365, 22366, 7, 97, 2, 2, 22366, 22367, 7, 68, 2, 2, 22367, 22368, 7, 72, 2, 2, 22368, 22369, 7, 75, 2, 2, 22369, 22370, 7, 78, 2, 2, 22370, 22371, 7, 71, 2, 2, 22371, 3300, 3, 2, 2, 2, 22372, 22373, 7, 85, 2, 2, 22373, 22374, 7, 91, 2, 2, 22374, 22375, 7, 85, 2, 2, 22375, 22376, 7, 97, 2, 2, 22376, 22377, 7, 71, 2, 2, 22377, 22378, 7, 90, 2, 2, 22378, 22379, 7, 86, 2, 2, 22379, 22380, 7, 82, 2, 2, 22380, 22381, 7, 70, 2, 2, 22381, 22382, 7, 86, 2, 2, 22382, 22383, 7, 90, 2, 2, 22383, 22384, 7, 86, 2, 2, 22384, 3302, 3, 2, 2, 2, 22385, 22386, 7, 85, 2, 2, 22386, 22387, 7, 91, 2, 2, 22387, 22388, 7, 85, 2, 2, 22388, 22389, 7, 97, 2, 2, 22389, 22390, 7, 71, 2, 2, 22390, 22391, 7, 90, 2, 2, 22391, 22392, 7, 86, 2, 2, 22392, 22393, 7, 84, 2, 2, 22393, 22394, 7, 67, 2, 2, 22394, 22395, 7, 69, 2, 2, 22395, 22396, 7, 86, 2, 2, 22396, 22397, 7, 97, 2, 2, 22397, 22398, 7, 87, 2, 2, 22398, 22399, 7, 86, 2, 2, 22399, 22400, 7, 69, 2, 2, 22400, 3304, 3, 2, 2, 2, 22401, 22402, 7, 85, 2, 2, 22402, 22403, 7, 91, 2, 2, 22403, 22404, 7, 85, 2, 2, 22404, 22405, 7, 97, 2, 2, 22405, 22406, 7, 72, 2, 2, 22406, 22407, 7, 68, 2, 2, 22407, 22408, 7, 86, 2, 2, 22408, 22409, 7, 97, 2, 2, 22409, 22410, 7, 75, 2, 2, 22410, 22411, 7, 80, 2, 2, 22411, 22412, 7, 85, 2, 2, 22412, 22413, 7, 70, 2, 2, 22413, 22414, 7, 71, 2, 2, 22414, 22415, 7, 78, 2, 2, 22415, 3306, 3, 2, 2, 2, 22416, 22417, 7, 85, 2, 2, 22417, 22418, 7, 91, 2, 2, 22418, 22419, 7, 85, 2, 2, 22419, 22420, 7, 97, 2, 2, 22420, 22421, 7, 72, 2, 2, 22421, 22422, 7, 75, 2, 2, 22422, 22423, 7, 78, 2, 2, 22423, 22424, 7, 86, 2, 2, 22424, 22425, 7, 71, 2, 2, 22425, 22426, 7, 84, 2, 2, 22426, 22427, 7, 97, 2, 2, 22427, 22428, 7, 67, 2, 2, 22428, 22429, 7, 69, 2, 2, 22429, 22430, 7, 78, 2, 2, 22430, 22431, 7, 85, 2, 2, 22431, 3308, 3, 2, 2, 2, 22432, 22433, 7, 85, 2, 2, 22433, 22434, 7, 91, 2, 2, 22434, 22435, 7, 85, 2, 2, 22435, 22436, 7, 97, 2, 2, 22436, 22437, 7, 72, 2, 2, 22437, 22438, 7, 80, 2, 2, 22438, 22439, 7, 79, 2, 2, 22439, 22440, 7, 67, 2, 2, 22440, 22441, 7, 86, 2, 2, 22441, 22442, 7, 69, 2, 2, 22442, 22443, 7, 74, 2, 2, 22443, 22444, 7, 71, 2, 2, 22444, 22445, 7, 85, 2, 2, 22445, 3310, 3, 2, 2, 2, 22446, 22447, 7, 85, 2, 2, 22447, 22448, 7, 91, 2, 2, 22448, 22449, 7, 85, 2, 2, 22449, 22450, 7, 97, 2, 2, 22450, 22451, 7, 72, 2, 2, 22451, 22452, 7, 80, 2, 2, 22452, 22453, 7, 84, 2, 2, 22453, 22454, 7, 71, 2, 2, 22454, 22455, 7, 82, 2, 2, 22455, 22456, 7, 78, 2, 2, 22456, 22457, 7, 67, 2, 2, 22457, 22458, 7, 69, 2, 2, 22458, 22459, 7, 71, 2, 2, 22459, 3312, 3, 2, 2, 2, 22460, 22461, 7, 85, 2, 2, 22461, 22462, 7, 91, 2, 2, 22462, 22463, 7, 85, 2, 2, 22463, 22464, 7, 97, 2, 2, 22464, 22465, 7, 73, 2, 2, 22465, 22466, 7, 71, 2, 2, 22466, 22467, 7, 86, 2, 2, 22467, 22468, 7, 97, 2, 2, 22468, 22469, 7, 67, 2, 2, 22469, 22470, 7, 69, 2, 2, 22470, 22471, 7, 78, 2, 2, 22471, 22472, 7, 75, 2, 2, 22472, 22473, 7, 70, 2, 2, 22473, 22474, 7, 85, 2, 2, 22474, 3314, 3, 2, 2, 2, 22475, 22476, 7, 85, 2, 2, 22476, 22477, 7, 91, 2, 2, 22477, 22478, 7, 85, 2, 2, 22478, 22479, 7, 97, 2, 2, 22479, 22480, 7, 73, 2, 2, 22480, 22481, 7, 71, 2, 2, 22481, 22482, 7, 86, 2, 2, 22482, 22483, 7, 97, 2, 2, 22483, 22484, 7, 69, 2, 2, 22484, 22485, 7, 81, 2, 2, 22485, 22486, 7, 78, 2, 2, 22486, 22487, 7, 97, 2, 2, 22487, 22488, 7, 67, 2, 2, 22488, 22489, 7, 69, 2, 2, 22489, 22490, 7, 78, 2, 2, 22490, 22491, 7, 75, 2, 2, 22491, 22492, 7, 70, 2, 2, 22492, 22493, 7, 85, 2, 2, 22493, 3316, 3, 2, 2, 2, 22494, 22495, 7, 85, 2, 2, 22495, 22496, 7, 91, 2, 2, 22496, 22497, 7, 85, 2, 2, 22497, 22498, 7, 97, 2, 2, 22498, 22499, 7, 73, 2, 2, 22499, 22500, 7, 71, 2, 2, 22500, 22501, 7, 86, 2, 2, 22501, 22502, 7, 97, 2, 2, 22502, 22503, 7, 82, 2, 2, 22503, 22504, 7, 84, 2, 2, 22504, 22505, 7, 75, 2, 2, 22505, 22506, 7, 88, 2, 2, 22506, 22507, 7, 75, 2, 2, 22507, 22508, 7, 78, 2, 2, 22508, 22509, 7, 71, 2, 2, 22509, 22510, 7, 73, 2, 2, 22510, 22511, 7, 71, 2, 2, 22511, 22512, 7, 85, 2, 2, 22512, 3318, 3, 2, 2, 2, 22513, 22514, 7, 85, 2, 2, 22514, 22515, 7, 91, 2, 2, 22515, 22516, 7, 85, 2, 2, 22516, 22517, 7, 97, 2, 2, 22517, 22518, 7, 73, 2, 2, 22518, 22519, 7, 71, 2, 2, 22519, 22520, 7, 86, 2, 2, 22520, 22521, 7, 86, 2, 2, 22521, 22522, 7, 81, 2, 2, 22522, 22523, 7, 77, 2, 2, 22523, 22524, 7, 71, 2, 2, 22524, 22525, 7, 80, 2, 2, 22525, 22526, 7, 75, 2, 2, 22526, 22527, 7, 70, 2, 2, 22527, 3320, 3, 2, 2, 2, 22528, 22529, 7, 85, 2, 2, 22529, 22530, 7, 91, 2, 2, 22530, 22531, 7, 85, 2, 2, 22531, 22532, 7, 97, 2, 2, 22532, 22533, 7, 73, 2, 2, 22533, 22534, 7, 71, 2, 2, 22534, 22535, 7, 86, 2, 2, 22535, 22536, 7, 90, 2, 2, 22536, 22537, 7, 86, 2, 2, 22537, 22538, 7, 75, 2, 2, 22538, 22539, 7, 88, 2, 2, 22539, 22540, 7, 67, 2, 2, 22540, 22541, 7, 78, 2, 2, 22541, 3322, 3, 2, 2, 2, 22542, 22543, 7, 85, 2, 2, 22543, 22544, 7, 91, 2, 2, 22544, 22545, 7, 85, 2, 2, 22545, 22546, 7, 97, 2, 2, 22546, 22547, 7, 73, 2, 2, 22547, 22548, 7, 87, 2, 2, 22548, 22549, 7, 75, 2, 2, 22549, 22550, 7, 70, 2, 2, 22550, 3324, 3, 2, 2, 2, 22551, 22552, 7, 85, 2, 2, 22552, 22553, 7, 91, 2, 2, 22553, 22554, 7, 85, 2, 2, 22554, 22555, 7, 73, 2, 2, 22555, 22556, 7, 87, 2, 2, 22556, 22557, 7, 75, 2, 2, 22557, 22558, 7, 70, 2, 2, 22558, 3326, 3, 2, 2, 2, 22559, 22560, 7, 85, 2, 2, 22560, 22561, 7, 91, 2, 2, 22561, 22562, 7, 85, 2, 2, 22562, 22563, 7, 77, 2, 2, 22563, 22564, 7, 79, 2, 2, 22564, 3328, 3, 2, 2, 2, 22565, 22566, 7, 85, 2, 2, 22566, 22567, 7, 91, 2, 2, 22567, 22568, 7, 85, 2, 2, 22568, 22569, 7, 97, 2, 2, 22569, 22570, 7, 79, 2, 2, 22570, 22571, 7, 67, 2, 2, 22571, 22572, 7, 77, 2, 2, 22572, 22573, 7, 71, 2, 2, 22573, 22574, 7, 97, 2, 2, 22574, 22575, 7, 90, 2, 2, 22575, 22576, 7, 79, 2, 2, 22576, 22577, 7, 78, 2, 2, 22577, 22578, 7, 80, 2, 2, 22578, 22579, 7, 81, 2, 2, 22579, 22580, 7, 70, 2, 2, 22580, 22581, 7, 71, 2, 2, 22581, 22582, 7, 75, 2, 2, 22582, 22583, 7, 70, 2, 2, 22583, 3330, 3, 2, 2, 2, 22584, 22585, 7, 85, 2, 2, 22585, 22586, 7, 91, 2, 2, 22586, 22587, 7, 85, 2, 2, 22587, 22588, 7, 97, 2, 2, 22588, 22589, 7, 79, 2, 2, 22589, 22590, 7, 67, 2, 2, 22590, 22591, 7, 77, 2, 2, 22591, 22592, 7, 71, 2, 2, 22592, 22593, 7, 90, 2, 2, 22593, 22594, 7, 79, 2, 2, 22594, 22595, 7, 78, 2, 2, 22595, 3332, 3, 2, 2, 2, 22596, 22597, 7, 85, 2, 2, 22597, 22598, 7, 91, 2, 2, 22598, 22599, 7, 85, 2, 2, 22599, 22600, 7, 97, 2, 2, 22600, 22601, 7, 79, 2, 2, 22601, 22602, 7, 77, 2, 2, 22602, 22603, 7, 90, 2, 2, 22603, 22604, 7, 79, 2, 2, 22604, 22605, 7, 78, 2, 2, 22605, 22606, 7, 67, 2, 2, 22606, 22607, 7, 86, 2, 2, 22607, 22608, 7, 86, 2, 2, 22608, 22609, 7, 84, 2, 2, 22609, 3334, 3, 2, 2, 2, 22610, 22611, 7, 85, 2, 2, 22611, 22612, 7, 91, 2, 2, 22612, 22613, 7, 85, 2, 2, 22613, 22614, 7, 97, 2, 2, 22614, 22615, 7, 79, 2, 2, 22615, 22616, 7, 77, 2, 2, 22616, 22617, 7, 90, 2, 2, 22617, 22618, 7, 86, 2, 2, 22618, 22619, 7, 75, 2, 2, 22619, 3336, 3, 2, 2, 2, 22620, 22621, 7, 85, 2, 2, 22621, 22622, 7, 91, 2, 2, 22622, 22623, 7, 85, 2, 2, 22623, 22624, 7, 81, 2, 2, 22624, 22625, 7, 68, 2, 2, 22625, 22626, 7, 76, 2, 2, 22626, 3338, 3, 2, 2, 2, 22627, 22628, 7, 85, 2, 2, 22628, 22629, 7, 91, 2, 2, 22629, 22630, 7, 85, 2, 2, 22630, 22631, 7, 97, 2, 2, 22631, 22632, 7, 81, 2, 2, 22632, 22633, 7, 82, 2, 2, 22633, 22634, 7, 97, 2, 2, 22634, 22635, 7, 67, 2, 2, 22635, 22636, 7, 70, 2, 2, 22636, 22637, 7, 86, 2, 2, 22637, 22638, 7, 52, 2, 2, 22638, 22639, 7, 68, 2, 2, 22639, 22640, 7, 75, 2, 2, 22640, 22641, 7, 80, 2, 2, 22641, 3340, 3, 2, 2, 2, 22642, 22643, 7, 85, 2, 2, 22643, 22644, 7, 91, 2, 2, 22644, 22645, 7, 85, 2, 2, 22645, 22646, 7, 97, 2, 2, 22646, 22647, 7, 81, 2, 2, 22647, 22648, 7, 82, 2, 2, 22648, 22649, 7, 97, 2, 2, 22649, 22650, 7, 67, 2, 2, 22650, 22651, 7, 70, 2, 2, 22651, 22652, 7, 86, 2, 2, 22652, 22653, 7, 69, 2, 2, 22653, 22654, 7, 81, 2, 2, 22654, 22655, 7, 80, 2, 2, 22655, 22656, 7, 85, 2, 2, 22656, 3342, 3, 2, 2, 2, 22657, 22658, 7, 85, 2, 2, 22658, 22659, 7, 91, 2, 2, 22659, 22660, 7, 85, 2, 2, 22660, 22661, 7, 97, 2, 2, 22661, 22662, 7, 81, 2, 2, 22662, 22663, 7, 82, 2, 2, 22663, 22664, 7, 97, 2, 2, 22664, 22665, 7, 67, 2, 2, 22665, 22666, 7, 78, 2, 2, 22666, 22667, 7, 85, 2, 2, 22667, 22668, 7, 69, 2, 2, 22668, 22669, 7, 84, 2, 2, 22669, 22670, 7, 88, 2, 2, 22670, 22671, 7, 67, 2, 2, 22671, 22672, 7, 78, 2, 2, 22672, 3344, 3, 2, 2, 2, 22673, 22674, 7, 85, 2, 2, 22674, 22675, 7, 91, 2, 2, 22675, 22676, 7, 85, 2, 2, 22676, 22677, 7, 97, 2, 2, 22677, 22678, 7, 81, 2, 2, 22678, 22679, 7, 82, 2, 2, 22679, 22680, 7, 97, 2, 2, 22680, 22681, 7, 67, 2, 2, 22681, 22682, 7, 86, 2, 2, 22682, 22683, 7, 73, 2, 2, 22683, 3346, 3, 2, 2, 2, 22684, 22685, 7, 85, 2, 2, 22685, 22686, 7, 91, 2, 2, 22686, 22687, 7, 85, 2, 2, 22687, 22688, 7, 97, 2, 2, 22688, 22689, 7, 81, 2, 2, 22689, 22690, 7, 82, 2, 2, 22690, 22691, 7, 97, 2, 2, 22691, 22692, 7, 68, 2, 2, 22692, 22693, 7, 75, 2, 2, 22693, 22694, 7, 80, 2, 2, 22694, 22695, 7, 52, 2, 2, 22695, 22696, 7, 67, 2, 2, 22696, 22697, 7, 70, 2, 2, 22697, 22698, 7, 86, 2, 2, 22698, 3348, 3, 2, 2, 2, 22699, 22700, 7, 85, 2, 2, 22700, 22701, 7, 91, 2, 2, 22701, 22702, 7, 85, 2, 2, 22702, 22703, 7, 97, 2, 2, 22703, 22704, 7, 81, 2, 2, 22704, 22705, 7, 82, 2, 2, 22705, 22706, 7, 97, 2, 2, 22706, 22707, 7, 68, 2, 2, 22707, 22708, 7, 75, 2, 2, 22708, 22709, 7, 86, 2, 2, 22709, 22710, 7, 88, 2, 2, 22710, 22711, 7, 71, 2, 2, 22711, 22712, 7, 69, 2, 2, 22712, 3350, 3, 2, 2, 2, 22713, 22714, 7, 85, 2, 2, 22714, 22715, 7, 91, 2, 2, 22715, 22716, 7, 85, 2, 2, 22716, 22717, 7, 97, 2, 2, 22717, 22718, 7, 81, 2, 2, 22718, 22719, 7, 82, 2, 2, 22719, 22720, 7, 97, 2, 2, 22720, 22721, 7, 68, 2, 2, 22721, 22722, 7, 78, 2, 2, 22722, 22723, 7, 52, 2, 2, 22723, 22724, 7, 84, 2, 2, 22724, 3352, 3, 2, 2, 2, 22725, 22726, 7, 85, 2, 2, 22726, 22727, 7, 91, 2, 2, 22727, 22728, 7, 85, 2, 2, 22728, 22729, 7, 97, 2, 2, 22729, 22730, 7, 81, 2, 2, 22730, 22731, 7, 82, 2, 2, 22731, 22732, 7, 97, 2, 2, 22732, 22733, 7, 68, 2, 2, 22733, 22734, 7, 78, 2, 2, 22734, 22735, 7, 81, 2, 2, 22735, 22736, 7, 81, 2, 2, 22736, 22737, 7, 79, 2, 2, 22737, 22738, 7, 97, 2, 2, 22738, 22739, 7, 72, 2, 2, 22739, 22740, 7, 75, 2, 2, 22740, 22741, 7, 78, 2, 2, 22741, 22742, 7, 86, 2, 2, 22742, 22743, 7, 71, 2, 2, 22743, 22744, 7, 84, 2, 2, 22744, 22745, 7, 97, 2, 2, 22745, 22746, 7, 78, 2, 2, 22746, 22747, 7, 75, 2, 2, 22747, 22748, 7, 85, 2, 2, 22748, 22749, 7, 86, 2, 2, 22749, 3354, 3, 2, 2, 2, 22750, 22751, 7, 85, 2, 2, 22751, 22752, 7, 91, 2, 2, 22752, 22753, 7, 85, 2, 2, 22753, 22754, 7, 97, 2, 2, 22754, 22755, 7, 81, 2, 2, 22755, 22756, 7, 82, 2, 2, 22756, 22757, 7, 97, 2, 2, 22757, 22758, 7, 68, 2, 2, 22758, 22759, 7, 78, 2, 2, 22759, 22760, 7, 81, 2, 2, 22760, 22761, 7, 81, 2, 2, 22761, 22762, 7, 79, 2, 2, 22762, 22763, 7, 97, 2, 2, 22763, 22764, 7, 72, 2, 2, 22764, 22765, 7, 75, 2, 2, 22765, 22766, 7, 78, 2, 2, 22766, 22767, 7, 86, 2, 2, 22767, 22768, 7, 71, 2, 2, 22768, 22769, 7, 84, 2, 2, 22769, 3356, 3, 2, 2, 2, 22770, 22771, 7, 85, 2, 2, 22771, 22772, 7, 91, 2, 2, 22772, 22773, 7, 85, 2, 2, 22773, 22774, 7, 97, 2, 2, 22774, 22775, 7, 81, 2, 2, 22775, 22776, 7, 82, 2, 2, 22776, 22777, 7, 97, 2, 2, 22777, 22778, 7, 69, 2, 2, 22778, 22779, 7, 52, 2, 2, 22779, 22780, 7, 69, 2, 2, 22780, 3358, 3, 2, 2, 2, 22781, 22782, 7, 85, 2, 2, 22782, 22783, 7, 91, 2, 2, 22783, 22784, 7, 85, 2, 2, 22784, 22785, 7, 97, 2, 2, 22785, 22786, 7, 81, 2, 2, 22786, 22787, 7, 82, 2, 2, 22787, 22788, 7, 97, 2, 2, 22788, 22789, 7, 69, 2, 2, 22789, 22790, 7, 67, 2, 2, 22790, 22791, 7, 85, 2, 2, 22791, 22792, 7, 86, 2, 2, 22792, 3360, 3, 2, 2, 2, 22793, 22794, 7, 85, 2, 2, 22794, 22795, 7, 91, 2, 2, 22795, 22796, 7, 85, 2, 2, 22796, 22797, 7, 97, 2, 2, 22797, 22798, 7, 81, 2, 2, 22798, 22799, 7, 82, 2, 2, 22799, 22800, 7, 97, 2, 2, 22800, 22801, 7, 69, 2, 2, 22801, 22802, 7, 71, 2, 2, 22802, 22803, 7, 73, 2, 2, 22803, 3362, 3, 2, 2, 2, 22804, 22805, 7, 85, 2, 2, 22805, 22806, 7, 91, 2, 2, 22806, 22807, 7, 85, 2, 2, 22807, 22808, 7, 97, 2, 2, 22808, 22809, 7, 81, 2, 2, 22809, 22810, 7, 82, 2, 2, 22810, 22811, 7, 97, 2, 2, 22811, 22812, 7, 69, 2, 2, 22812, 22813, 7, 78, 2, 2, 22813, 22814, 7, 52, 2, 2, 22814, 22815, 7, 69, 2, 2, 22815, 3364, 3, 2, 2, 2, 22816, 22817, 7, 85, 2, 2, 22817, 22818, 7, 91, 2, 2, 22818, 22819, 7, 85, 2, 2, 22819, 22820, 7, 97, 2, 2, 22820, 22821, 7, 81, 2, 2, 22821, 22822, 7, 82, 2, 2, 22822, 22823, 7, 97, 2, 2, 22823, 22824, 7, 69, 2, 2, 22824, 22825, 7, 81, 2, 2, 22825, 22826, 7, 79, 2, 2, 22826, 22827, 7, 68, 2, 2, 22827, 22828, 7, 75, 2, 2, 22828, 22829, 7, 80, 2, 2, 22829, 22830, 7, 71, 2, 2, 22830, 22831, 7, 70, 2, 2, 22831, 22832, 7, 97, 2, 2, 22832, 22833, 7, 74, 2, 2, 22833, 22834, 7, 67, 2, 2, 22834, 22835, 7, 85, 2, 2, 22835, 22836, 7, 74, 2, 2, 22836, 3366, 3, 2, 2, 2, 22837, 22838, 7, 85, 2, 2, 22838, 22839, 7, 91, 2, 2, 22839, 22840, 7, 85, 2, 2, 22840, 22841, 7, 97, 2, 2, 22841, 22842, 7, 81, 2, 2, 22842, 22843, 7, 82, 2, 2, 22843, 22844, 7, 97, 2, 2, 22844, 22845, 7, 69, 2, 2, 22845, 22846, 7, 81, 2, 2, 22846, 22847, 7, 79, 2, 2, 22847, 22848, 7, 82, 2, 2, 22848, 3368, 3, 2, 2, 2, 22849, 22850, 7, 85, 2, 2, 22850, 22851, 7, 91, 2, 2, 22851, 22852, 7, 85, 2, 2, 22852, 22853, 7, 97, 2, 2, 22853, 22854, 7, 81, 2, 2, 22854, 22855, 7, 82, 2, 2, 22855, 22856, 7, 97, 2, 2, 22856, 22857, 7, 69, 2, 2, 22857, 22858, 7, 81, 2, 2, 22858, 22859, 7, 80, 2, 2, 22859, 22860, 7, 88, 2, 2, 22860, 22861, 7, 71, 2, 2, 22861, 22862, 7, 84, 2, 2, 22862, 22863, 7, 86, 2, 2, 22863, 3370, 3, 2, 2, 2, 22864, 22865, 7, 85, 2, 2, 22865, 22866, 7, 91, 2, 2, 22866, 22867, 7, 85, 2, 2, 22867, 22868, 7, 97, 2, 2, 22868, 22869, 7, 81, 2, 2, 22869, 22870, 7, 82, 2, 2, 22870, 22871, 7, 97, 2, 2, 22871, 22872, 7, 69, 2, 2, 22872, 22873, 7, 81, 2, 2, 22873, 22874, 7, 87, 2, 2, 22874, 22875, 7, 80, 2, 2, 22875, 22876, 7, 86, 2, 2, 22876, 22877, 7, 69, 2, 2, 22877, 22878, 7, 74, 2, 2, 22878, 22879, 7, 73, 2, 2, 22879, 3372, 3, 2, 2, 2, 22880, 22881, 7, 85, 2, 2, 22881, 22882, 7, 91, 2, 2, 22882, 22883, 7, 85, 2, 2, 22883, 22884, 7, 97, 2, 2, 22884, 22885, 7, 81, 2, 2, 22885, 22886, 7, 82, 2, 2, 22886, 22887, 7, 97, 2, 2, 22887, 22888, 7, 69, 2, 2, 22888, 22889, 7, 85, 2, 2, 22889, 22890, 7, 69, 2, 2, 22890, 22891, 7, 81, 2, 2, 22891, 22892, 7, 80, 2, 2, 22892, 22893, 7, 88, 2, 2, 22893, 3374, 3, 2, 2, 2, 22894, 22895, 7, 85, 2, 2, 22895, 22896, 7, 91, 2, 2, 22896, 22897, 7, 85, 2, 2, 22897, 22898, 7, 97, 2, 2, 22898, 22899, 7, 81, 2, 2, 22899, 22900, 7, 82, 2, 2, 22900, 22901, 7, 97, 2, 2, 22901, 22902, 7, 69, 2, 2, 22902, 22903, 7, 85, 2, 2, 22903, 22904, 7, 69, 2, 2, 22904, 22905, 7, 81, 2, 2, 22905, 22906, 7, 80, 2, 2, 22906, 22907, 7, 88, 2, 2, 22907, 22908, 7, 86, 2, 2, 22908, 22909, 7, 71, 2, 2, 22909, 22910, 7, 85, 2, 2, 22910, 22911, 7, 86, 2, 2, 22911, 3376, 3, 2, 2, 2, 22912, 22913, 7, 85, 2, 2, 22913, 22914, 7, 91, 2, 2, 22914, 22915, 7, 85, 2, 2, 22915, 22916, 7, 97, 2, 2, 22916, 22917, 7, 81, 2, 2, 22917, 22918, 7, 82, 2, 2, 22918, 22919, 7, 97, 2, 2, 22919, 22920, 7, 69, 2, 2, 22920, 22921, 7, 85, 2, 2, 22921, 22922, 7, 84, 2, 2, 22922, 3378, 3, 2, 2, 2, 22923, 22924, 7, 85, 2, 2, 22924, 22925, 7, 91, 2, 2, 22925, 22926, 7, 85, 2, 2, 22926, 22927, 7, 97, 2, 2, 22927, 22928, 7, 81, 2, 2, 22928, 22929, 7, 82, 2, 2, 22929, 22930, 7, 97, 2, 2, 22930, 22931, 7, 69, 2, 2, 22931, 22932, 7, 85, 2, 2, 22932, 22933, 7, 90, 2, 2, 22933, 22934, 7, 97, 2, 2, 22934, 22935, 7, 82, 2, 2, 22935, 22936, 7, 67, 2, 2, 22936, 22937, 7, 86, 2, 2, 22937, 22938, 7, 69, 2, 2, 22938, 22939, 7, 74, 2, 2, 22939, 3380, 3, 2, 2, 2, 22940, 22941, 7, 85, 2, 2, 22941, 22942, 7, 91, 2, 2, 22942, 22943, 7, 85, 2, 2, 22943, 22944, 7, 97, 2, 2, 22944, 22945, 7, 81, 2, 2, 22945, 22946, 7, 82, 2, 2, 22946, 22947, 7, 97, 2, 2, 22947, 22948, 7, 69, 2, 2, 22948, 22949, 7, 91, 2, 2, 22949, 22950, 7, 69, 2, 2, 22950, 22951, 7, 78, 2, 2, 22951, 22952, 7, 71, 2, 2, 22952, 22953, 7, 70, 2, 2, 22953, 22954, 7, 97, 2, 2, 22954, 22955, 7, 85, 2, 2, 22955, 22956, 7, 71, 2, 2, 22956, 22957, 7, 83, 2, 2, 22957, 3382, 3, 2, 2, 2, 22958, 22959, 7, 85, 2, 2, 22959, 22960, 7, 91, 2, 2, 22960, 22961, 7, 85, 2, 2, 22961, 22962, 7, 97, 2, 2, 22962, 22963, 7, 81, 2, 2, 22963, 22964, 7, 82, 2, 2, 22964, 22965, 7, 97, 2, 2, 22965, 22966, 7, 70, 2, 2, 22966, 22967, 7, 71, 2, 2, 22967, 22968, 7, 69, 2, 2, 22968, 22969, 7, 81, 2, 2, 22969, 22970, 7, 79, 2, 2, 22970, 22971, 7, 82, 2, 2, 22971, 3384, 3, 2, 2, 2, 22972, 22973, 7, 85, 2, 2, 22973, 22974, 7, 91, 2, 2, 22974, 22975, 7, 85, 2, 2, 22975, 22976, 7, 97, 2, 2, 22976, 22977, 7, 81, 2, 2, 22977, 22978, 7, 82, 2, 2, 22978, 22979, 7, 97, 2, 2, 22979, 22980, 7, 70, 2, 2, 22980, 22981, 7, 71, 2, 2, 22981, 22982, 7, 85, 2, 2, 22982, 22983, 7, 69, 2, 2, 22983, 22984, 7, 71, 2, 2, 22984, 22985, 7, 80, 2, 2, 22985, 22986, 7, 70, 2, 2, 22986, 3386, 3, 2, 2, 2, 22987, 22988, 7, 85, 2, 2, 22988, 22989, 7, 91, 2, 2, 22989, 22990, 7, 85, 2, 2, 22990, 22991, 7, 97, 2, 2, 22991, 22992, 7, 81, 2, 2, 22992, 22993, 7, 82, 2, 2, 22993, 22994, 7, 97, 2, 2, 22994, 22995, 7, 70, 2, 2, 22995, 22996, 7, 75, 2, 2, 22996, 22997, 7, 85, 2, 2, 22997, 22998, 7, 86, 2, 2, 22998, 22999, 7, 75, 2, 2, 22999, 23000, 7, 80, 2, 2, 23000, 23001, 7, 69, 2, 2, 23001, 23002, 7, 86, 2, 2, 23002, 3388, 3, 2, 2, 2, 23003, 23004, 7, 85, 2, 2, 23004, 23005, 7, 91, 2, 2, 23005, 23006, 7, 85, 2, 2, 23006, 23007, 7, 97, 2, 2, 23007, 23008, 7, 81, 2, 2, 23008, 23009, 7, 82, 2, 2, 23009, 23010, 7, 97, 2, 2, 23010, 23011, 7, 70, 2, 2, 23011, 23012, 7, 84, 2, 2, 23012, 23013, 7, 67, 2, 2, 23013, 3390, 3, 2, 2, 2, 23014, 23015, 7, 85, 2, 2, 23015, 23016, 7, 91, 2, 2, 23016, 23017, 7, 85, 2, 2, 23017, 23018, 7, 97, 2, 2, 23018, 23019, 7, 81, 2, 2, 23019, 23020, 7, 82, 2, 2, 23020, 23021, 7, 97, 2, 2, 23021, 23022, 7, 70, 2, 2, 23022, 23023, 7, 87, 2, 2, 23023, 23024, 7, 79, 2, 2, 23024, 23025, 7, 82, 2, 2, 23025, 3392, 3, 2, 2, 2, 23026, 23027, 7, 85, 2, 2, 23027, 23028, 7, 91, 2, 2, 23028, 23029, 7, 85, 2, 2, 23029, 23030, 7, 97, 2, 2, 23030, 23031, 7, 81, 2, 2, 23031, 23032, 7, 82, 2, 2, 23032, 23033, 7, 97, 2, 2, 23033, 23034, 7, 70, 2, 2, 23034, 23035, 7, 88, 2, 2, 23035, 23036, 7, 97, 2, 2, 23036, 23037, 7, 69, 2, 2, 23037, 23038, 7, 74, 2, 2, 23038, 23039, 7, 71, 2, 2, 23039, 23040, 7, 69, 2, 2, 23040, 23041, 7, 77, 2, 2, 23041, 3394, 3, 2, 2, 2, 23042, 23043, 7, 85, 2, 2, 23043, 23044, 7, 91, 2, 2, 23044, 23045, 7, 85, 2, 2, 23045, 23046, 7, 97, 2, 2, 23046, 23047, 7, 81, 2, 2, 23047, 23048, 7, 82, 2, 2, 23048, 23049, 7, 97, 2, 2, 23049, 23050, 7, 71, 2, 2, 23050, 23051, 7, 80, 2, 2, 23051, 23052, 7, 72, 2, 2, 23052, 23053, 7, 81, 2, 2, 23053, 23054, 7, 84, 2, 2, 23054, 23055, 7, 69, 2, 2, 23055, 23056, 7, 71, 2, 2, 23056, 23057, 7, 97, 2, 2, 23057, 23058, 7, 80, 2, 2, 23058, 23059, 7, 81, 2, 2, 23059, 23060, 7, 86, 2, 2, 23060, 23061, 7, 97, 2, 2, 23061, 23062, 7, 80, 2, 2, 23062, 23063, 7, 87, 2, 2, 23063, 23064, 7, 78, 2, 2, 23064, 23065, 7, 78, 2, 2, 23065, 23066, 7, 38, 2, 2, 23066, 3396, 3, 2, 2, 2, 23067, 23068, 7, 85, 2, 2, 23068, 23069, 7, 91, 2, 2, 23069, 23070, 7, 85, 2, 2, 23070, 23071, 7, 81, 2, 2, 23071, 23072, 7, 82, 2, 2, 23072, 23073, 7, 71, 2, 2, 23073, 23074, 7, 84, 2, 2, 23074, 3398, 3, 2, 2, 2, 23075, 23076, 7, 85, 2, 2, 23076, 23077, 7, 91, 2, 2, 23077, 23078, 7, 85, 2, 2, 23078, 23079, 7, 97, 2, 2, 23079, 23080, 7, 81, 2, 2, 23080, 23081, 7, 82, 2, 2, 23081, 23082, 7, 97, 2, 2, 23082, 23083, 7, 71, 2, 2, 23083, 23084, 7, 90, 2, 2, 23084, 23085, 7, 86, 2, 2, 23085, 23086, 7, 84, 2, 2, 23086, 23087, 7, 67, 2, 2, 23087, 23088, 7, 69, 2, 2, 23088, 23089, 7, 86, 2, 2, 23089, 3400, 3, 2, 2, 2, 23090, 23091, 7, 85, 2, 2, 23091, 23092, 7, 91, 2, 2, 23092, 23093, 7, 85, 2, 2, 23093, 23094, 7, 97, 2, 2, 23094, 23095, 7, 81, 2, 2, 23095, 23096, 7, 82, 2, 2, 23096, 23097, 7, 97, 2, 2, 23097, 23098, 7, 73, 2, 2, 23098, 23099, 7, 84, 2, 2, 23099, 23100, 7, 81, 2, 2, 23100, 23101, 7, 87, 2, 2, 23101, 23102, 7, 82, 2, 2, 23102, 23103, 7, 75, 2, 2, 23103, 23104, 7, 80, 2, 2, 23104, 23105, 7, 73, 2, 2, 23105, 3402, 3, 2, 2, 2, 23106, 23107, 7, 85, 2, 2, 23107, 23108, 7, 91, 2, 2, 23108, 23109, 7, 85, 2, 2, 23109, 23110, 7, 97, 2, 2, 23110, 23111, 7, 81, 2, 2, 23111, 23112, 7, 82, 2, 2, 23112, 23113, 7, 97, 2, 2, 23113, 23114, 7, 73, 2, 2, 23114, 23115, 7, 87, 2, 2, 23115, 23116, 7, 75, 2, 2, 23116, 23117, 7, 70, 2, 2, 23117, 3404, 3, 2, 2, 2, 23118, 23119, 7, 85, 2, 2, 23119, 23120, 7, 91, 2, 2, 23120, 23121, 7, 85, 2, 2, 23121, 23122, 7, 97, 2, 2, 23122, 23123, 7, 81, 2, 2, 23123, 23124, 7, 82, 2, 2, 23124, 23125, 7, 97, 2, 2, 23125, 23126, 7, 74, 2, 2, 23126, 23127, 7, 67, 2, 2, 23127, 23128, 7, 85, 2, 2, 23128, 23129, 7, 74, 2, 2, 23129, 3406, 3, 2, 2, 2, 23130, 23131, 7, 85, 2, 2, 23131, 23132, 7, 91, 2, 2, 23132, 23133, 7, 85, 2, 2, 23133, 23134, 7, 97, 2, 2, 23134, 23135, 7, 81, 2, 2, 23135, 23136, 7, 82, 2, 2, 23136, 23137, 7, 97, 2, 2, 23137, 23138, 7, 75, 2, 2, 23138, 23139, 7, 75, 2, 2, 23139, 23140, 7, 90, 2, 2, 23140, 3408, 3, 2, 2, 2, 23141, 23142, 7, 85, 2, 2, 23142, 23143, 7, 91, 2, 2, 23143, 23144, 7, 85, 2, 2, 23144, 23145, 7, 97, 2, 2, 23145, 23146, 7, 81, 2, 2, 23146, 23147, 7, 82, 2, 2, 23147, 23148, 7, 97, 2, 2, 23148, 23149, 7, 75, 2, 2, 23149, 23150, 7, 86, 2, 2, 23150, 23151, 7, 84, 2, 2, 23151, 3410, 3, 2, 2, 2, 23152, 23153, 7, 85, 2, 2, 23153, 23154, 7, 91, 2, 2, 23154, 23155, 7, 85, 2, 2, 23155, 23156, 7, 97, 2, 2, 23156, 23157, 7, 81, 2, 2, 23157, 23158, 7, 82, 2, 2, 23158, 23159, 7, 97, 2, 2, 23159, 23160, 7, 77, 2, 2, 23160, 23161, 7, 71, 2, 2, 23161, 23162, 7, 91, 2, 2, 23162, 23163, 7, 97, 2, 2, 23163, 23164, 7, 88, 2, 2, 23164, 23165, 7, 71, 2, 2, 23165, 23166, 7, 69, 2, 2, 23166, 23167, 7, 86, 2, 2, 23167, 23168, 7, 81, 2, 2, 23168, 23169, 7, 84, 2, 2, 23169, 23170, 7, 97, 2, 2, 23170, 23171, 7, 69, 2, 2, 23171, 23172, 7, 84, 2, 2, 23172, 23173, 7, 71, 2, 2, 23173, 23174, 7, 67, 2, 2, 23174, 23175, 7, 86, 2, 2, 23175, 23176, 7, 71, 2, 2, 23176, 3412, 3, 2, 2, 2, 23177, 23178, 7, 85, 2, 2, 23178, 23179, 7, 91, 2, 2, 23179, 23180, 7, 85, 2, 2, 23180, 23181, 7, 97, 2, 2, 23181, 23182, 7, 81, 2, 2, 23182, 23183, 7, 82, 2, 2, 23183, 23184, 7, 97, 2, 2, 23184, 23185, 7, 77, 2, 2, 23185, 23186, 7, 71, 2, 2, 23186, 23187, 7, 91, 2, 2, 23187, 23188, 7, 97, 2, 2, 23188, 23189, 7, 88, 2, 2, 23189, 23190, 7, 71, 2, 2, 23190, 23191, 7, 69, 2, 2, 23191, 23192, 7, 86, 2, 2, 23192, 23193, 7, 81, 2, 2, 23193, 23194, 7, 84, 2, 2, 23194, 23195, 7, 97, 2, 2, 23195, 23196, 7, 72, 2, 2, 23196, 23197, 7, 75, 2, 2, 23197, 23198, 7, 78, 2, 2, 23198, 23199, 7, 86, 2, 2, 23199, 23200, 7, 71, 2, 2, 23200, 23201, 7, 84, 2, 2, 23201, 23202, 7, 97, 2, 2, 23202, 23203, 7, 78, 2, 2, 23203, 23204, 7, 75, 2, 2, 23204, 23205, 7, 85, 2, 2, 23205, 23206, 7, 86, 2, 2, 23206, 3414, 3, 2, 2, 2, 23207, 23208, 7, 85, 2, 2, 23208, 23209, 7, 91, 2, 2, 23209, 23210, 7, 85, 2, 2, 23210, 23211, 7, 97, 2, 2, 23211, 23212, 7, 81, 2, 2, 23212, 23213, 7, 82, 2, 2, 23213, 23214, 7, 97, 2, 2, 23214, 23215, 7, 77, 2, 2, 23215, 23216, 7, 71, 2, 2, 23216, 23217, 7, 91, 2, 2, 23217, 23218, 7, 97, 2, 2, 23218, 23219, 7, 88, 2, 2, 23219, 23220, 7, 71, 2, 2, 23220, 23221, 7, 69, 2, 2, 23221, 23222, 7, 86, 2, 2, 23222, 23223, 7, 81, 2, 2, 23223, 23224, 7, 84, 2, 2, 23224, 23225, 7, 97, 2, 2, 23225, 23226, 7, 72, 2, 2, 23226, 23227, 7, 75, 2, 2, 23227, 23228, 7, 78, 2, 2, 23228, 23229, 7, 86, 2, 2, 23229, 23230, 7, 71, 2, 2, 23230, 23231, 7, 84, 2, 2, 23231, 3416, 3, 2, 2, 2, 23232, 23233, 7, 85, 2, 2, 23233, 23234, 7, 91, 2, 2, 23234, 23235, 7, 85, 2, 2, 23235, 23236, 7, 97, 2, 2, 23236, 23237, 7, 81, 2, 2, 23237, 23238, 7, 82, 2, 2, 23238, 23239, 7, 97, 2, 2, 23239, 23240, 7, 77, 2, 2, 23240, 23241, 7, 71, 2, 2, 23241, 23242, 7, 91, 2, 2, 23242, 23243, 7, 97, 2, 2, 23243, 23244, 7, 88, 2, 2, 23244, 23245, 7, 71, 2, 2, 23245, 23246, 7, 69, 2, 2, 23246, 23247, 7, 86, 2, 2, 23247, 23248, 7, 81, 2, 2, 23248, 23249, 7, 84, 2, 2, 23249, 23250, 7, 97, 2, 2, 23250, 23251, 7, 85, 2, 2, 23251, 23252, 7, 87, 2, 2, 23252, 23253, 7, 69, 2, 2, 23253, 23254, 7, 69, 2, 2, 23254, 23255, 7, 71, 2, 2, 23255, 23256, 7, 71, 2, 2, 23256, 23257, 7, 70, 2, 2, 23257, 23258, 7, 71, 2, 2, 23258, 23259, 7, 70, 2, 2, 23259, 3418, 3, 2, 2, 2, 23260, 23261, 7, 85, 2, 2, 23261, 23262, 7, 91, 2, 2, 23262, 23263, 7, 85, 2, 2, 23263, 23264, 7, 97, 2, 2, 23264, 23265, 7, 81, 2, 2, 23265, 23266, 7, 82, 2, 2, 23266, 23267, 7, 97, 2, 2, 23267, 23268, 7, 77, 2, 2, 23268, 23269, 7, 71, 2, 2, 23269, 23270, 7, 91, 2, 2, 23270, 23271, 7, 97, 2, 2, 23271, 23272, 7, 88, 2, 2, 23272, 23273, 7, 71, 2, 2, 23273, 23274, 7, 69, 2, 2, 23274, 23275, 7, 86, 2, 2, 23275, 23276, 7, 81, 2, 2, 23276, 23277, 7, 84, 2, 2, 23277, 23278, 7, 97, 2, 2, 23278, 23279, 7, 87, 2, 2, 23279, 23280, 7, 85, 2, 2, 23280, 23281, 7, 71, 2, 2, 23281, 3420, 3, 2, 2, 2, 23282, 23283, 7, 85, 2, 2, 23283, 23284, 7, 91, 2, 2, 23284, 23285, 7, 85, 2, 2, 23285, 23286, 7, 97, 2, 2, 23286, 23287, 7, 81, 2, 2, 23287, 23288, 7, 82, 2, 2, 23288, 23289, 7, 97, 2, 2, 23289, 23290, 7, 78, 2, 2, 23290, 23291, 7, 68, 2, 2, 23291, 23292, 7, 75, 2, 2, 23292, 23293, 7, 70, 2, 2, 23293, 3422, 3, 2, 2, 2, 23294, 23295, 7, 85, 2, 2, 23295, 23296, 7, 91, 2, 2, 23296, 23297, 7, 85, 2, 2, 23297, 23298, 7, 97, 2, 2, 23298, 23299, 7, 81, 2, 2, 23299, 23300, 7, 82, 2, 2, 23300, 23301, 7, 97, 2, 2, 23301, 23302, 7, 78, 2, 2, 23302, 23303, 7, 81, 2, 2, 23303, 23304, 7, 68, 2, 2, 23304, 23305, 7, 78, 2, 2, 23305, 23306, 7, 81, 2, 2, 23306, 23307, 7, 69, 2, 2, 23307, 23308, 7, 52, 2, 2, 23308, 23309, 7, 68, 2, 2, 23309, 23310, 7, 78, 2, 2, 23310, 23311, 7, 81, 2, 2, 23311, 23312, 7, 68, 2, 2, 23312, 3424, 3, 2, 2, 2, 23313, 23314, 7, 85, 2, 2, 23314, 23315, 7, 91, 2, 2, 23315, 23316, 7, 85, 2, 2, 23316, 23317, 7, 97, 2, 2, 23317, 23318, 7, 81, 2, 2, 23318, 23319, 7, 82, 2, 2, 23319, 23320, 7, 97, 2, 2, 23320, 23321, 7, 78, 2, 2, 23321, 23322, 7, 81, 2, 2, 23322, 23323, 7, 68, 2, 2, 23323, 23324, 7, 78, 2, 2, 23324, 23325, 7, 81, 2, 2, 23325, 23326, 7, 69, 2, 2, 23326, 23327, 7, 52, 2, 2, 23327, 23328, 7, 69, 2, 2, 23328, 23329, 7, 78, 2, 2, 23329, 23330, 7, 81, 2, 2, 23330, 23331, 7, 68, 2, 2, 23331, 3426, 3, 2, 2, 2, 23332, 23333, 7, 85, 2, 2, 23333, 23334, 7, 91, 2, 2, 23334, 23335, 7, 85, 2, 2, 23335, 23336, 7, 97, 2, 2, 23336, 23337, 7, 81, 2, 2, 23337, 23338, 7, 82, 2, 2, 23338, 23339, 7, 97, 2, 2, 23339, 23340, 7, 78, 2, 2, 23340, 23341, 7, 81, 2, 2, 23341, 23342, 7, 68, 2, 2, 23342, 23343, 7, 78, 2, 2, 23343, 23344, 7, 81, 2, 2, 23344, 23345, 7, 69, 2, 2, 23345, 23346, 7, 52, 2, 2, 23346, 23347, 7, 75, 2, 2, 23347, 23348, 7, 70, 2, 2, 23348, 3428, 3, 2, 2, 2, 23349, 23350, 7, 85, 2, 2, 23350, 23351, 7, 91, 2, 2, 23351, 23352, 7, 85, 2, 2, 23352, 23353, 7, 97, 2, 2, 23353, 23354, 7, 81, 2, 2, 23354, 23355, 7, 82, 2, 2, 23355, 23356, 7, 97, 2, 2, 23356, 23357, 7, 78, 2, 2, 23357, 23358, 7, 81, 2, 2, 23358, 23359, 7, 68, 2, 2, 23359, 23360, 7, 78, 2, 2, 23360, 23361, 7, 81, 2, 2, 23361, 23362, 7, 69, 2, 2, 23362, 23363, 7, 52, 2, 2, 23363, 23364, 7, 80, 2, 2, 23364, 23365, 7, 69, 2, 2, 23365, 23366, 7, 78, 2, 2, 23366, 23367, 7, 81, 2, 2, 23367, 23368, 7, 68, 2, 2, 23368, 3430, 3, 2, 2, 2, 23369, 23370, 7, 85, 2, 2, 23370, 23371, 7, 91, 2, 2, 23371, 23372, 7, 85, 2, 2, 23372, 23373, 7, 97, 2, 2, 23373, 23374, 7, 81, 2, 2, 23374, 23375, 7, 82, 2, 2, 23375, 23376, 7, 97, 2, 2, 23376, 23377, 7, 78, 2, 2, 23377, 23378, 7, 81, 2, 2, 23378, 23379, 7, 68, 2, 2, 23379, 23380, 7, 78, 2, 2, 23380, 23381, 7, 81, 2, 2, 23381, 23382, 7, 69, 2, 2, 23382, 23383, 7, 52, 2, 2, 23383, 23384, 7, 86, 2, 2, 23384, 23385, 7, 91, 2, 2, 23385, 23386, 7, 82, 2, 2, 23386, 3432, 3, 2, 2, 2, 23387, 23388, 7, 85, 2, 2, 23388, 23389, 7, 91, 2, 2, 23389, 23390, 7, 85, 2, 2, 23390, 23391, 7, 97, 2, 2, 23391, 23392, 7, 81, 2, 2, 23392, 23393, 7, 82, 2, 2, 23393, 23394, 7, 97, 2, 2, 23394, 23395, 7, 78, 2, 2, 23395, 23396, 7, 85, 2, 2, 23396, 23397, 7, 88, 2, 2, 23397, 23398, 7, 75, 2, 2, 23398, 3434, 3, 2, 2, 2, 23399, 23400, 7, 85, 2, 2, 23400, 23401, 7, 91, 2, 2, 23401, 23402, 7, 85, 2, 2, 23402, 23403, 7, 97, 2, 2, 23403, 23404, 7, 81, 2, 2, 23404, 23405, 7, 82, 2, 2, 23405, 23406, 7, 97, 2, 2, 23406, 23407, 7, 78, 2, 2, 23407, 23408, 7, 88, 2, 2, 23408, 23409, 7, 78, 2, 2, 23409, 3436, 3, 2, 2, 2, 23410, 23411, 7, 85, 2, 2, 23411, 23412, 7, 91, 2, 2, 23412, 23413, 7, 85, 2, 2, 23413, 23414, 7, 97, 2, 2, 23414, 23415, 7, 81, 2, 2, 23415, 23416, 7, 82, 2, 2, 23416, 23417, 7, 97, 2, 2, 23417, 23418, 7, 79, 2, 2, 23418, 23419, 7, 67, 2, 2, 23419, 23420, 7, 77, 2, 2, 23420, 23421, 7, 71, 2, 2, 23421, 23422, 7, 81, 2, 2, 23422, 23423, 7, 75, 2, 2, 23423, 23424, 7, 70, 2, 2, 23424, 3438, 3, 2, 2, 2, 23425, 23426, 7, 85, 2, 2, 23426, 23427, 7, 91, 2, 2, 23427, 23428, 7, 85, 2, 2, 23428, 23429, 7, 97, 2, 2, 23429, 23430, 7, 81, 2, 2, 23430, 23431, 7, 82, 2, 2, 23431, 23432, 7, 97, 2, 2, 23432, 23433, 7, 79, 2, 2, 23433, 23434, 7, 67, 2, 2, 23434, 23435, 7, 82, 2, 2, 23435, 23436, 7, 97, 2, 2, 23436, 23437, 7, 80, 2, 2, 23437, 23438, 7, 81, 2, 2, 23438, 23439, 7, 80, 2, 2, 23439, 23440, 7, 80, 2, 2, 23440, 23441, 7, 87, 2, 2, 23441, 23442, 7, 78, 2, 2, 23442, 23443, 7, 78, 2, 2, 23443, 3440, 3, 2, 2, 2, 23444, 23445, 7, 85, 2, 2, 23445, 23446, 7, 91, 2, 2, 23446, 23447, 7, 85, 2, 2, 23447, 23448, 7, 97, 2, 2, 23448, 23449, 7, 81, 2, 2, 23449, 23450, 7, 82, 2, 2, 23450, 23451, 7, 97, 2, 2, 23451, 23452, 7, 79, 2, 2, 23452, 23453, 7, 85, 2, 2, 23453, 23454, 7, 84, 2, 2, 23454, 3442, 3, 2, 2, 2, 23455, 23456, 7, 85, 2, 2, 23456, 23457, 7, 91, 2, 2, 23457, 23458, 7, 85, 2, 2, 23458, 23459, 7, 97, 2, 2, 23459, 23460, 7, 81, 2, 2, 23460, 23461, 7, 82, 2, 2, 23461, 23462, 7, 97, 2, 2, 23462, 23463, 7, 80, 2, 2, 23463, 23464, 7, 75, 2, 2, 23464, 23465, 7, 69, 2, 2, 23465, 23466, 7, 81, 2, 2, 23466, 23467, 7, 79, 2, 2, 23467, 23468, 7, 68, 2, 2, 23468, 23469, 7, 75, 2, 2, 23469, 23470, 7, 80, 2, 2, 23470, 23471, 7, 71, 2, 2, 23471, 3444, 3, 2, 2, 2, 23472, 23473, 7, 85, 2, 2, 23473, 23474, 7, 91, 2, 2, 23474, 23475, 7, 85, 2, 2, 23475, 23476, 7, 97, 2, 2, 23476, 23477, 7, 81, 2, 2, 23477, 23478, 7, 82, 2, 2, 23478, 23479, 7, 97, 2, 2, 23479, 23480, 7, 80, 2, 2, 23480, 23481, 7, 75, 2, 2, 23481, 23482, 7, 71, 2, 2, 23482, 23483, 7, 90, 2, 2, 23483, 23484, 7, 86, 2, 2, 23484, 23485, 7, 84, 2, 2, 23485, 23486, 7, 67, 2, 2, 23486, 23487, 7, 69, 2, 2, 23487, 23488, 7, 86, 2, 2, 23488, 3446, 3, 2, 2, 2, 23489, 23490, 7, 85, 2, 2, 23490, 23491, 7, 91, 2, 2, 23491, 23492, 7, 85, 2, 2, 23492, 23493, 7, 97, 2, 2, 23493, 23494, 7, 81, 2, 2, 23494, 23495, 7, 82, 2, 2, 23495, 23496, 7, 97, 2, 2, 23496, 23497, 7, 80, 2, 2, 23497, 23498, 7, 75, 2, 2, 23498, 23499, 7, 75, 2, 2, 23499, 3448, 3, 2, 2, 2, 23500, 23501, 7, 85, 2, 2, 23501, 23502, 7, 91, 2, 2, 23502, 23503, 7, 85, 2, 2, 23503, 23504, 7, 97, 2, 2, 23504, 23505, 7, 81, 2, 2, 23505, 23506, 7, 82, 2, 2, 23506, 23507, 7, 97, 2, 2, 23507, 23508, 7, 80, 2, 2, 23508, 23509, 7, 75, 2, 2, 23509, 23510, 7, 90, 2, 2, 23510, 3450, 3, 2, 2, 2, 23511, 23512, 7, 85, 2, 2, 23512, 23513, 7, 91, 2, 2, 23513, 23514, 7, 85, 2, 2, 23514, 23515, 7, 97, 2, 2, 23515, 23516, 7, 81, 2, 2, 23516, 23517, 7, 82, 2, 2, 23517, 23518, 7, 97, 2, 2, 23518, 23519, 7, 80, 2, 2, 23519, 23520, 7, 81, 2, 2, 23520, 23521, 7, 71, 2, 2, 23521, 23522, 7, 90, 2, 2, 23522, 23523, 7, 82, 2, 2, 23523, 23524, 7, 67, 2, 2, 23524, 23525, 7, 80, 2, 2, 23525, 23526, 7, 70, 2, 2, 23526, 3452, 3, 2, 2, 2, 23527, 23528, 7, 85, 2, 2, 23528, 23529, 7, 91, 2, 2, 23529, 23530, 7, 85, 2, 2, 23530, 23531, 7, 97, 2, 2, 23531, 23532, 7, 81, 2, 2, 23532, 23533, 7, 82, 2, 2, 23533, 23534, 7, 97, 2, 2, 23534, 23535, 7, 80, 2, 2, 23535, 23536, 7, 86, 2, 2, 23536, 23537, 7, 69, 2, 2, 23537, 23538, 7, 75, 2, 2, 23538, 23539, 7, 79, 2, 2, 23539, 23540, 7, 73, 2, 2, 23540, 23541, 7, 38, 2, 2, 23541, 3454, 3, 2, 2, 2, 23542, 23543, 7, 85, 2, 2, 23543, 23544, 7, 91, 2, 2, 23544, 23545, 7, 85, 2, 2, 23545, 23546, 7, 97, 2, 2, 23546, 23547, 7, 81, 2, 2, 23547, 23548, 7, 82, 2, 2, 23548, 23549, 7, 97, 2, 2, 23549, 23550, 7, 80, 2, 2, 23550, 23551, 7, 87, 2, 2, 23551, 23552, 7, 79, 2, 2, 23552, 23553, 7, 86, 2, 2, 23553, 23554, 7, 81, 2, 2, 23554, 23555, 7, 84, 2, 2, 23555, 23556, 7, 67, 2, 2, 23556, 23557, 7, 89, 2, 2, 23557, 3456, 3, 2, 2, 2, 23558, 23559, 7, 85, 2, 2, 23559, 23560, 7, 91, 2, 2, 23560, 23561, 7, 85, 2, 2, 23561, 23562, 7, 97, 2, 2, 23562, 23563, 7, 81, 2, 2, 23563, 23564, 7, 82, 2, 2, 23564, 23565, 7, 97, 2, 2, 23565, 23566, 7, 81, 2, 2, 23566, 23567, 7, 75, 2, 2, 23567, 23568, 7, 70, 2, 2, 23568, 23569, 7, 88, 2, 2, 23569, 23570, 7, 67, 2, 2, 23570, 23571, 7, 78, 2, 2, 23571, 23572, 7, 87, 2, 2, 23572, 23573, 7, 71, 2, 2, 23573, 3458, 3, 2, 2, 2, 23574, 23575, 7, 85, 2, 2, 23575, 23576, 7, 91, 2, 2, 23576, 23577, 7, 85, 2, 2, 23577, 23578, 7, 97, 2, 2, 23578, 23579, 7, 81, 2, 2, 23579, 23580, 7, 82, 2, 2, 23580, 23581, 7, 97, 2, 2, 23581, 23582, 7, 81, 2, 2, 23582, 23583, 7, 82, 2, 2, 23583, 23584, 7, 80, 2, 2, 23584, 23585, 7, 85, 2, 2, 23585, 23586, 7, 75, 2, 2, 23586, 23587, 7, 92, 2, 2, 23587, 23588, 7, 71, 2, 2, 23588, 3460, 3, 2, 2, 2, 23589, 23590, 7, 85, 2, 2, 23590, 23591, 7, 91, 2, 2, 23591, 23592, 7, 85, 2, 2, 23592, 23593, 7, 97, 2, 2, 23593, 23594, 7, 81, 2, 2, 23594, 23595, 7, 82, 2, 2, 23595, 23596, 7, 97, 2, 2, 23596, 23597, 7, 82, 2, 2, 23597, 23598, 7, 67, 2, 2, 23598, 23599, 7, 84, 2, 2, 23599, 23600, 7, 97, 2, 2, 23600, 23601, 7, 51, 2, 2, 23601, 3462, 3, 2, 2, 2, 23602, 23603, 7, 85, 2, 2, 23603, 23604, 7, 91, 2, 2, 23604, 23605, 7, 85, 2, 2, 23605, 23606, 7, 97, 2, 2, 23606, 23607, 7, 81, 2, 2, 23607, 23608, 7, 82, 2, 2, 23608, 23609, 7, 97, 2, 2, 23609, 23610, 7, 82, 2, 2, 23610, 23611, 7, 67, 2, 2, 23611, 23612, 7, 84, 2, 2, 23612, 23613, 7, 73, 2, 2, 23613, 23614, 7, 75, 2, 2, 23614, 23615, 7, 70, 2, 2, 23615, 23616, 7, 97, 2, 2, 23616, 23617, 7, 51, 2, 2, 23617, 3464, 3, 2, 2, 2, 23618, 23619, 7, 85, 2, 2, 23619, 23620, 7, 91, 2, 2, 23620, 23621, 7, 85, 2, 2, 23621, 23622, 7, 97, 2, 2, 23622, 23623, 7, 81, 2, 2, 23623, 23624, 7, 82, 2, 2, 23624, 23625, 7, 97, 2, 2, 23625, 23626, 7, 82, 2, 2, 23626, 23627, 7, 67, 2, 2, 23627, 23628, 7, 84, 2, 2, 23628, 23629, 7, 73, 2, 2, 23629, 23630, 7, 75, 2, 2, 23630, 23631, 7, 70, 2, 2, 23631, 3466, 3, 2, 2, 2, 23632, 23633, 7, 85, 2, 2, 23633, 23634, 7, 91, 2, 2, 23634, 23635, 7, 85, 2, 2, 23635, 23636, 7, 97, 2, 2, 23636, 23637, 7, 81, 2, 2, 23637, 23638, 7, 82, 2, 2, 23638, 23639, 7, 97, 2, 2, 23639, 23640, 7, 82, 2, 2, 23640, 23641, 7, 67, 2, 2, 23641, 23642, 7, 84, 2, 2, 23642, 3468, 3, 2, 2, 2, 23643, 23644, 7, 85, 2, 2, 23644, 23645, 7, 91, 2, 2, 23645, 23646, 7, 85, 2, 2, 23646, 23647, 7, 97, 2, 2, 23647, 23648, 7, 81, 2, 2, 23648, 23649, 7, 82, 2, 2, 23649, 23650, 7, 97, 2, 2, 23650, 23651, 7, 82, 2, 2, 23651, 23652, 7, 67, 2, 2, 23652, 23653, 7, 84, 2, 2, 23653, 23654, 7, 86, 2, 2, 23654, 23655, 7, 97, 2, 2, 23655, 23656, 7, 75, 2, 2, 23656, 23657, 7, 70, 2, 2, 23657, 3470, 3, 2, 2, 2, 23658, 23659, 7, 85, 2, 2, 23659, 23660, 7, 91, 2, 2, 23660, 23661, 7, 85, 2, 2, 23661, 23662, 7, 97, 2, 2, 23662, 23663, 7, 81, 2, 2, 23663, 23664, 7, 82, 2, 2, 23664, 23665, 7, 97, 2, 2, 23665, 23666, 7, 82, 2, 2, 23666, 23667, 7, 75, 2, 2, 23667, 23668, 7, 88, 2, 2, 23668, 23669, 7, 81, 2, 2, 23669, 23670, 7, 86, 2, 2, 23670, 3472, 3, 2, 2, 2, 23671, 23672, 7, 85, 2, 2, 23672, 23673, 7, 91, 2, 2, 23673, 23674, 7, 85, 2, 2, 23674, 23675, 7, 97, 2, 2, 23675, 23676, 7, 81, 2, 2, 23676, 23677, 7, 82, 2, 2, 23677, 23678, 7, 97, 2, 2, 23678, 23679, 7, 84, 2, 2, 23679, 23680, 7, 52, 2, 2, 23680, 23681, 7, 81, 2, 2, 23681, 3474, 3, 2, 2, 2, 23682, 23683, 7, 85, 2, 2, 23683, 23684, 7, 91, 2, 2, 23684, 23685, 7, 85, 2, 2, 23685, 23686, 7, 97, 2, 2, 23686, 23687, 7, 81, 2, 2, 23687, 23688, 7, 82, 2, 2, 23688, 23689, 7, 97, 2, 2, 23689, 23690, 7, 84, 2, 2, 23690, 23691, 7, 67, 2, 2, 23691, 23692, 7, 89, 2, 2, 23692, 23693, 7, 86, 2, 2, 23693, 23694, 7, 81, 2, 2, 23694, 23695, 7, 80, 2, 2, 23695, 23696, 7, 87, 2, 2, 23696, 23697, 7, 79, 2, 2, 23697, 3476, 3, 2, 2, 2, 23698, 23699, 7, 85, 2, 2, 23699, 23700, 7, 91, 2, 2, 23700, 23701, 7, 85, 2, 2, 23701, 23702, 7, 97, 2, 2, 23702, 23703, 7, 81, 2, 2, 23703, 23704, 7, 82, 2, 2, 23704, 23705, 7, 97, 2, 2, 23705, 23706, 7, 84, 2, 2, 23706, 23707, 7, 70, 2, 2, 23707, 23708, 7, 86, 2, 2, 23708, 23709, 7, 79, 2, 2, 23709, 3478, 3, 2, 2, 2, 23710, 23711, 7, 85, 2, 2, 23711, 23712, 7, 91, 2, 2, 23712, 23713, 7, 85, 2, 2, 23713, 23714, 7, 97, 2, 2, 23714, 23715, 7, 81, 2, 2, 23715, 23716, 7, 82, 2, 2, 23716, 23717, 7, 97, 2, 2, 23717, 23718, 7, 84, 2, 2, 23718, 23719, 7, 71, 2, 2, 23719, 23720, 7, 72, 2, 2, 23720, 3480, 3, 2, 2, 2, 23721, 23722, 7, 85, 2, 2, 23722, 23723, 7, 91, 2, 2, 23723, 23724, 7, 85, 2, 2, 23724, 23725, 7, 97, 2, 2, 23725, 23726, 7, 81, 2, 2, 23726, 23727, 7, 82, 2, 2, 23727, 23728, 7, 97, 2, 2, 23728, 23729, 7, 84, 2, 2, 23729, 23730, 7, 79, 2, 2, 23730, 23731, 7, 86, 2, 2, 23731, 23732, 7, 70, 2, 2, 23732, 3482, 3, 2, 2, 2, 23733, 23734, 7, 85, 2, 2, 23734, 23735, 7, 91, 2, 2, 23735, 23736, 7, 85, 2, 2, 23736, 23737, 7, 97, 2, 2, 23737, 23738, 7, 81, 2, 2, 23738, 23739, 7, 82, 2, 2, 23739, 23740, 7, 97, 2, 2, 23740, 23741, 7, 84, 2, 2, 23741, 23742, 7, 81, 2, 2, 23742, 23743, 7, 89, 2, 2, 23743, 23744, 7, 75, 2, 2, 23744, 23745, 7, 70, 2, 2, 23745, 23746, 7, 86, 2, 2, 23746, 23747, 7, 81, 2, 2, 23747, 23748, 7, 81, 2, 2, 23748, 23749, 7, 68, 2, 2, 23749, 23750, 7, 76, 2, 2, 23750, 3484, 3, 2, 2, 2, 23751, 23752, 7, 85, 2, 2, 23752, 23753, 7, 91, 2, 2, 23753, 23754, 7, 85, 2, 2, 23754, 23755, 7, 97, 2, 2, 23755, 23756, 7, 81, 2, 2, 23756, 23757, 7, 82, 2, 2, 23757, 23758, 7, 97, 2, 2, 23758, 23759, 7, 84, 2, 2, 23759, 23760, 7, 82, 2, 2, 23760, 23761, 7, 68, 2, 2, 23761, 3486, 3, 2, 2, 2, 23762, 23763, 7, 85, 2, 2, 23763, 23764, 7, 91, 2, 2, 23764, 23765, 7, 85, 2, 2, 23765, 23766, 7, 97, 2, 2, 23766, 23767, 7, 81, 2, 2, 23767, 23768, 7, 82, 2, 2, 23768, 23769, 7, 86, 2, 2, 23769, 23770, 7, 78, 2, 2, 23770, 23771, 7, 81, 2, 2, 23771, 23772, 7, 68, 2, 2, 23772, 23773, 7, 82, 2, 2, 23773, 23774, 7, 84, 2, 2, 23774, 23775, 7, 68, 2, 2, 23775, 23776, 7, 85, 2, 2, 23776, 23777, 7, 69, 2, 2, 23777, 3488, 3, 2, 2, 2, 23778, 23779, 7, 85, 2, 2, 23779, 23780, 7, 91, 2, 2, 23780, 23781, 7, 85, 2, 2, 23781, 23782, 7, 97, 2, 2, 23782, 23783, 7, 81, 2, 2, 23783, 23784, 7, 82, 2, 2, 23784, 23785, 7, 97, 2, 2, 23785, 23786, 7, 86, 2, 2, 23786, 23787, 7, 81, 2, 2, 23787, 23788, 7, 85, 2, 2, 23788, 23789, 7, 71, 2, 2, 23789, 23790, 7, 86, 2, 2, 23790, 23791, 7, 75, 2, 2, 23791, 23792, 7, 70, 2, 2, 23792, 3490, 3, 2, 2, 2, 23793, 23794, 7, 85, 2, 2, 23794, 23795, 7, 91, 2, 2, 23795, 23796, 7, 85, 2, 2, 23796, 23797, 7, 97, 2, 2, 23797, 23798, 7, 81, 2, 2, 23798, 23799, 7, 82, 2, 2, 23799, 23800, 7, 97, 2, 2, 23800, 23801, 7, 86, 2, 2, 23801, 23802, 7, 82, 2, 2, 23802, 23803, 7, 84, 2, 2, 23803, 3492, 3, 2, 2, 2, 23804, 23805, 7, 85, 2, 2, 23805, 23806, 7, 91, 2, 2, 23806, 23807, 7, 85, 2, 2, 23807, 23808, 7, 97, 2, 2, 23808, 23809, 7, 81, 2, 2, 23809, 23810, 7, 82, 2, 2, 23810, 23811, 7, 97, 2, 2, 23811, 23812, 7, 86, 2, 2, 23812, 23813, 7, 84, 2, 2, 23813, 23814, 7, 86, 2, 2, 23814, 23815, 7, 68, 2, 2, 23815, 3494, 3, 2, 2, 2, 23816, 23817, 7, 85, 2, 2, 23817, 23818, 7, 91, 2, 2, 23818, 23819, 7, 85, 2, 2, 23819, 23820, 7, 97, 2, 2, 23820, 23821, 7, 81, 2, 2, 23821, 23822, 7, 82, 2, 2, 23822, 23823, 7, 86, 2, 2, 23823, 23824, 7, 90, 2, 2, 23824, 23825, 7, 75, 2, 2, 23825, 23826, 7, 69, 2, 2, 23826, 23827, 7, 79, 2, 2, 23827, 23828, 7, 82, 2, 2, 23828, 3496, 3, 2, 2, 2, 23829, 23830, 7, 85, 2, 2, 23830, 23831, 7, 91, 2, 2, 23831, 23832, 7, 85, 2, 2, 23832, 23833, 7, 97, 2, 2, 23833, 23834, 7, 81, 2, 2, 23834, 23835, 7, 82, 2, 2, 23835, 23836, 7, 86, 2, 2, 23836, 23837, 7, 90, 2, 2, 23837, 23838, 7, 83, 2, 2, 23838, 23839, 7, 69, 2, 2, 23839, 23840, 7, 67, 2, 2, 23840, 23841, 7, 85, 2, 2, 23841, 23842, 7, 86, 2, 2, 23842, 23843, 7, 67, 2, 2, 23843, 23844, 7, 85, 2, 2, 23844, 23845, 7, 80, 2, 2, 23845, 23846, 7, 83, 2, 2, 23846, 3498, 3, 2, 2, 2, 23847, 23848, 7, 85, 2, 2, 23848, 23849, 7, 91, 2, 2, 23849, 23850, 7, 85, 2, 2, 23850, 23851, 7, 97, 2, 2, 23851, 23852, 7, 81, 2, 2, 23852, 23853, 7, 82, 2, 2, 23853, 23854, 7, 97, 2, 2, 23854, 23855, 7, 87, 2, 2, 23855, 23856, 7, 80, 2, 2, 23856, 23857, 7, 70, 2, 2, 23857, 23858, 7, 71, 2, 2, 23858, 23859, 7, 85, 2, 2, 23859, 23860, 7, 69, 2, 2, 23860, 23861, 7, 71, 2, 2, 23861, 23862, 7, 80, 2, 2, 23862, 23863, 7, 70, 2, 2, 23863, 3500, 3, 2, 2, 2, 23864, 23865, 7, 85, 2, 2, 23865, 23866, 7, 91, 2, 2, 23866, 23867, 7, 85, 2, 2, 23867, 23868, 7, 97, 2, 2, 23868, 23869, 7, 81, 2, 2, 23869, 23870, 7, 82, 2, 2, 23870, 23871, 7, 97, 2, 2, 23871, 23872, 7, 88, 2, 2, 23872, 23873, 7, 71, 2, 2, 23873, 23874, 7, 69, 2, 2, 23874, 23875, 7, 67, 2, 2, 23875, 23876, 7, 80, 2, 2, 23876, 23877, 7, 70, 2, 2, 23877, 3502, 3, 2, 2, 2, 23878, 23879, 7, 85, 2, 2, 23879, 23880, 7, 91, 2, 2, 23880, 23881, 7, 85, 2, 2, 23881, 23882, 7, 97, 2, 2, 23882, 23883, 7, 81, 2, 2, 23883, 23884, 7, 82, 2, 2, 23884, 23885, 7, 97, 2, 2, 23885, 23886, 7, 88, 2, 2, 23886, 23887, 7, 71, 2, 2, 23887, 23888, 7, 69, 2, 2, 23888, 23889, 7, 68, 2, 2, 23889, 23890, 7, 75, 2, 2, 23890, 23891, 7, 86, 2, 2, 23891, 3504, 3, 2, 2, 2, 23892, 23893, 7, 85, 2, 2, 23893, 23894, 7, 91, 2, 2, 23894, 23895, 7, 85, 2, 2, 23895, 23896, 7, 97, 2, 2, 23896, 23897, 7, 81, 2, 2, 23897, 23898, 7, 82, 2, 2, 23898, 23899, 7, 97, 2, 2, 23899, 23900, 7, 88, 2, 2, 23900, 23901, 7, 71, 2, 2, 23901, 23902, 7, 69, 2, 2, 23902, 23903, 7, 81, 2, 2, 23903, 23904, 7, 84, 2, 2, 23904, 3506, 3, 2, 2, 2, 23905, 23906, 7, 85, 2, 2, 23906, 23907, 7, 91, 2, 2, 23907, 23908, 7, 85, 2, 2, 23908, 23909, 7, 97, 2, 2, 23909, 23910, 7, 81, 2, 2, 23910, 23911, 7, 82, 2, 2, 23911, 23912, 7, 97, 2, 2, 23912, 23913, 7, 88, 2, 2, 23913, 23914, 7, 71, 2, 2, 23914, 23915, 7, 69, 2, 2, 23915, 23916, 7, 90, 2, 2, 23916, 23917, 7, 81, 2, 2, 23917, 23918, 7, 84, 2, 2, 23918, 3508, 3, 2, 2, 2, 23919, 23920, 7, 85, 2, 2, 23920, 23921, 7, 91, 2, 2, 23921, 23922, 7, 85, 2, 2, 23922, 23923, 7, 97, 2, 2, 23923, 23924, 7, 81, 2, 2, 23924, 23925, 7, 82, 2, 2, 23925, 23926, 7, 97, 2, 2, 23926, 23927, 7, 88, 2, 2, 23927, 23928, 7, 71, 2, 2, 23928, 23929, 7, 84, 2, 2, 23929, 23930, 7, 85, 2, 2, 23930, 23931, 7, 75, 2, 2, 23931, 23932, 7, 81, 2, 2, 23932, 23933, 7, 80, 2, 2, 23933, 3510, 3, 2, 2, 2, 23934, 23935, 7, 85, 2, 2, 23935, 23936, 7, 91, 2, 2, 23936, 23937, 7, 85, 2, 2, 23937, 23938, 7, 97, 2, 2, 23938, 23939, 7, 81, 2, 2, 23939, 23940, 7, 82, 2, 2, 23940, 23941, 7, 97, 2, 2, 23941, 23942, 7, 88, 2, 2, 23942, 23943, 7, 84, 2, 2, 23943, 23944, 7, 71, 2, 2, 23944, 23945, 7, 72, 2, 2, 23945, 3512, 3, 2, 2, 2, 23946, 23947, 7, 85, 2, 2, 23947, 23948, 7, 91, 2, 2, 23948, 23949, 7, 85, 2, 2, 23949, 23950, 7, 97, 2, 2, 23950, 23951, 7, 81, 2, 2, 23951, 23952, 7, 82, 2, 2, 23952, 23953, 7, 97, 2, 2, 23953, 23954, 7, 88, 2, 2, 23954, 23955, 7, 88, 2, 2, 23955, 23956, 7, 70, 2, 2, 23956, 3514, 3, 2, 2, 2, 23957, 23958, 7, 85, 2, 2, 23958, 23959, 7, 91, 2, 2, 23959, 23960, 7, 85, 2, 2, 23960, 23961, 7, 97, 2, 2, 23961, 23962, 7, 81, 2, 2, 23962, 23963, 7, 82, 2, 2, 23963, 23964, 7, 97, 2, 2, 23964, 23965, 7, 90, 2, 2, 23965, 23966, 7, 79, 2, 2, 23966, 23967, 7, 78, 2, 2, 23967, 23968, 7, 69, 2, 2, 23968, 23969, 7, 81, 2, 2, 23969, 23970, 7, 80, 2, 2, 23970, 23971, 7, 85, 2, 2, 23971, 23972, 7, 97, 2, 2, 23972, 23973, 7, 72, 2, 2, 23973, 23974, 7, 81, 2, 2, 23974, 23975, 7, 84, 2, 2, 23975, 23976, 7, 97, 2, 2, 23976, 23977, 7, 69, 2, 2, 23977, 23978, 7, 85, 2, 2, 23978, 23979, 7, 90, 2, 2, 23979, 3516, 3, 2, 2, 2, 23980, 23981, 7, 85, 2, 2, 23981, 23982, 7, 91, 2, 2, 23982, 23983, 7, 85, 2, 2, 23983, 23984, 7, 97, 2, 2, 23984, 23985, 7, 81, 2, 2, 23985, 23986, 7, 82, 2, 2, 23986, 23987, 7, 97, 2, 2, 23987, 23988, 7, 90, 2, 2, 23988, 23989, 7, 82, 2, 2, 23989, 23990, 7, 86, 2, 2, 23990, 23991, 7, 74, 2, 2, 23991, 23992, 7, 67, 2, 2, 23992, 23993, 7, 86, 2, 2, 23993, 23994, 7, 73, 2, 2, 23994, 3518, 3, 2, 2, 2, 23995, 23996, 7, 85, 2, 2, 23996, 23997, 7, 91, 2, 2, 23997, 23998, 7, 85, 2, 2, 23998, 23999, 7, 97, 2, 2, 23999, 24000, 7, 81, 2, 2, 24000, 24001, 7, 82, 2, 2, 24001, 24002, 7, 97, 2, 2, 24002, 24003, 7, 90, 2, 2, 24003, 24004, 7, 82, 2, 2, 24004, 24005, 7, 86, 2, 2, 24005, 24006, 7, 74, 2, 2, 24006, 24007, 7, 75, 2, 2, 24007, 24008, 7, 70, 2, 2, 24008, 24009, 7, 90, 2, 2, 24009, 3520, 3, 2, 2, 2, 24010, 24011, 7, 85, 2, 2, 24011, 24012, 7, 91, 2, 2, 24012, 24013, 7, 85, 2, 2, 24013, 24014, 7, 97, 2, 2, 24014, 24015, 7, 81, 2, 2, 24015, 24016, 7, 82, 2, 2, 24016, 24017, 7, 97, 2, 2, 24017, 24018, 7, 90, 2, 2, 24018, 24019, 7, 82, 2, 2, 24019, 24020, 7, 86, 2, 2, 24020, 24021, 7, 74, 2, 2, 24021, 24022, 7, 81, 2, 2, 24022, 24023, 7, 82, 2, 2, 24023, 3522, 3, 2, 2, 2, 24024, 24025, 7, 85, 2, 2, 24025, 24026, 7, 91, 2, 2, 24026, 24027, 7, 85, 2, 2, 24027, 24028, 7, 97, 2, 2, 24028, 24029, 7, 81, 2, 2, 24029, 24030, 7, 82, 2, 2, 24030, 24031, 7, 97, 2, 2, 24031, 24032, 7, 90, 2, 2, 24032, 24033, 7, 86, 2, 2, 24033, 24034, 7, 90, 2, 2, 24034, 24035, 7, 86, 2, 2, 24035, 24036, 7, 52, 2, 2, 24036, 24037, 7, 85, 2, 2, 24037, 24038, 7, 83, 2, 2, 24038, 24039, 7, 78, 2, 2, 24039, 24040, 7, 86, 2, 2, 24040, 3524, 3, 2, 2, 2, 24041, 24042, 7, 85, 2, 2, 24042, 24043, 7, 91, 2, 2, 24043, 24044, 7, 85, 2, 2, 24044, 24045, 7, 97, 2, 2, 24045, 24046, 7, 81, 2, 2, 24046, 24047, 7, 82, 2, 2, 24047, 24048, 7, 97, 2, 2, 24048, 24049, 7, 92, 2, 2, 24049, 24050, 7, 81, 2, 2, 24050, 24051, 7, 80, 2, 2, 24051, 24052, 7, 71, 2, 2, 24052, 24053, 7, 97, 2, 2, 24053, 24054, 7, 75, 2, 2, 24054, 24055, 7, 70, 2, 2, 24055, 3526, 3, 2, 2, 2, 24056, 24057, 7, 85, 2, 2, 24057, 24058, 7, 91, 2, 2, 24058, 24059, 7, 85, 2, 2, 24059, 24060, 7, 97, 2, 2, 24060, 24061, 7, 81, 2, 2, 24061, 24062, 7, 84, 2, 2, 24062, 24063, 7, 70, 2, 2, 24063, 24064, 7, 71, 2, 2, 24064, 24065, 7, 84, 2, 2, 24065, 24066, 7, 77, 2, 2, 24066, 24067, 7, 71, 2, 2, 24067, 24068, 7, 91, 2, 2, 24068, 24069, 7, 97, 2, 2, 24069, 24070, 7, 70, 2, 2, 24070, 24071, 7, 71, 2, 2, 24071, 24072, 7, 82, 2, 2, 24072, 24073, 7, 86, 2, 2, 24073, 24074, 7, 74, 2, 2, 24074, 3528, 3, 2, 2, 2, 24075, 24076, 7, 85, 2, 2, 24076, 24077, 7, 91, 2, 2, 24077, 24078, 7, 85, 2, 2, 24078, 24079, 7, 97, 2, 2, 24079, 24080, 7, 81, 2, 2, 24080, 24081, 7, 84, 2, 2, 24081, 24082, 7, 70, 2, 2, 24082, 24083, 7, 71, 2, 2, 24083, 24084, 7, 84, 2, 2, 24084, 24085, 7, 77, 2, 2, 24085, 24086, 7, 71, 2, 2, 24086, 24087, 7, 91, 2, 2, 24087, 24088, 7, 97, 2, 2, 24088, 24089, 7, 79, 2, 2, 24089, 24090, 7, 67, 2, 2, 24090, 24091, 7, 90, 2, 2, 24091, 24092, 7, 69, 2, 2, 24092, 24093, 7, 74, 2, 2, 24093, 24094, 7, 75, 2, 2, 24094, 24095, 7, 78, 2, 2, 24095, 24096, 7, 70, 2, 2, 24096, 3530, 3, 2, 2, 2, 24097, 24098, 7, 85, 2, 2, 24098, 24099, 7, 91, 2, 2, 24099, 24100, 7, 85, 2, 2, 24100, 24101, 7, 97, 2, 2, 24101, 24102, 7, 81, 2, 2, 24102, 24103, 7, 84, 2, 2, 24103, 24104, 7, 70, 2, 2, 24104, 24105, 7, 71, 2, 2, 24105, 24106, 7, 84, 2, 2, 24106, 24107, 7, 77, 2, 2, 24107, 24108, 7, 71, 2, 2, 24108, 24109, 7, 91, 2, 2, 24109, 24110, 7, 97, 2, 2, 24110, 24111, 7, 82, 2, 2, 24111, 24112, 7, 67, 2, 2, 24112, 24113, 7, 84, 2, 2, 24113, 24114, 7, 71, 2, 2, 24114, 24115, 7, 80, 2, 2, 24115, 24116, 7, 86, 2, 2, 24116, 3532, 3, 2, 2, 2, 24117, 24118, 7, 85, 2, 2, 24118, 24119, 7, 91, 2, 2, 24119, 24120, 7, 85, 2, 2, 24120, 24121, 7, 97, 2, 2, 24121, 24122, 7, 82, 2, 2, 24122, 24123, 7, 67, 2, 2, 24123, 24124, 7, 84, 2, 2, 24124, 24125, 7, 67, 2, 2, 24125, 24126, 7, 78, 2, 2, 24126, 24127, 7, 78, 2, 2, 24127, 24128, 7, 71, 2, 2, 24128, 24129, 7, 78, 2, 2, 24129, 24130, 7, 97, 2, 2, 24130, 24131, 7, 86, 2, 2, 24131, 24132, 7, 90, 2, 2, 24132, 24133, 7, 80, 2, 2, 24133, 3534, 3, 2, 2, 2, 24134, 24135, 7, 85, 2, 2, 24135, 24136, 7, 91, 2, 2, 24136, 24137, 7, 85, 2, 2, 24137, 24138, 7, 97, 2, 2, 24138, 24139, 7, 82, 2, 2, 24139, 24140, 7, 67, 2, 2, 24140, 24141, 7, 86, 2, 2, 24141, 24142, 7, 74, 2, 2, 24142, 24143, 7, 75, 2, 2, 24143, 24144, 7, 70, 2, 2, 24144, 24145, 7, 97, 2, 2, 24145, 24146, 7, 75, 2, 2, 24146, 24147, 7, 85, 2, 2, 24147, 24148, 7, 97, 2, 2, 24148, 24149, 7, 67, 2, 2, 24149, 24150, 7, 86, 2, 2, 24150, 24151, 7, 86, 2, 2, 24151, 24152, 7, 84, 2, 2, 24152, 3536, 3, 2, 2, 2, 24153, 24154, 7, 85, 2, 2, 24154, 24155, 7, 91, 2, 2, 24155, 24156, 7, 85, 2, 2, 24156, 24157, 7, 97, 2, 2, 24157, 24158, 7, 82, 2, 2, 24158, 24159, 7, 67, 2, 2, 24159, 24160, 7, 86, 2, 2, 24160, 24161, 7, 74, 2, 2, 24161, 24162, 7, 75, 2, 2, 24162, 24163, 7, 70, 2, 2, 24163, 24164, 7, 97, 2, 2, 24164, 24165, 7, 75, 2, 2, 24165, 24166, 7, 85, 2, 2, 24166, 24167, 7, 97, 2, 2, 24167, 24168, 7, 80, 2, 2, 24168, 24169, 7, 79, 2, 2, 24169, 24170, 7, 85, 2, 2, 24170, 24171, 7, 82, 2, 2, 24171, 24172, 7, 69, 2, 2, 24172, 3538, 3, 2, 2, 2, 24173, 24174, 7, 85, 2, 2, 24174, 24175, 7, 91, 2, 2, 24175, 24176, 7, 85, 2, 2, 24176, 24177, 7, 97, 2, 2, 24177, 24178, 7, 82, 2, 2, 24178, 24179, 7, 67, 2, 2, 24179, 24180, 7, 86, 2, 2, 24180, 24181, 7, 74, 2, 2, 24181, 24182, 7, 75, 2, 2, 24182, 24183, 7, 70, 2, 2, 24183, 24184, 7, 97, 2, 2, 24184, 24185, 7, 78, 2, 2, 24185, 24186, 7, 67, 2, 2, 24186, 24187, 7, 85, 2, 2, 24187, 24188, 7, 86, 2, 2, 24188, 24189, 7, 80, 2, 2, 24189, 24190, 7, 67, 2, 2, 24190, 24191, 7, 79, 2, 2, 24191, 24192, 7, 71, 2, 2, 24192, 3540, 3, 2, 2, 2, 24193, 24194, 7, 85, 2, 2, 24194, 24195, 7, 91, 2, 2, 24195, 24196, 7, 85, 2, 2, 24196, 24197, 7, 97, 2, 2, 24197, 24198, 7, 82, 2, 2, 24198, 24199, 7, 67, 2, 2, 24199, 24200, 7, 86, 2, 2, 24200, 24201, 7, 74, 2, 2, 24201, 24202, 7, 75, 2, 2, 24202, 24203, 7, 70, 2, 2, 24203, 24204, 7, 97, 2, 2, 24204, 24205, 7, 78, 2, 2, 24205, 24206, 7, 67, 2, 2, 24206, 24207, 7, 85, 2, 2, 24207, 24208, 7, 86, 2, 2, 24208, 24209, 7, 80, 2, 2, 24209, 24210, 7, 79, 2, 2, 24210, 24211, 7, 85, 2, 2, 24211, 24212, 7, 82, 2, 2, 24212, 24213, 7, 69, 2, 2, 24213, 3542, 3, 2, 2, 2, 24214, 24215, 7, 85, 2, 2, 24215, 24216, 7, 91, 2, 2, 24216, 24217, 7, 85, 2, 2, 24217, 24218, 7, 97, 2, 2, 24218, 24219, 7, 82, 2, 2, 24219, 24220, 7, 67, 2, 2, 24220, 24221, 7, 86, 2, 2, 24221, 24222, 7, 74, 2, 2, 24222, 24223, 7, 97, 2, 2, 24223, 24224, 7, 84, 2, 2, 24224, 24225, 7, 71, 2, 2, 24225, 24226, 7, 88, 2, 2, 24226, 24227, 7, 71, 2, 2, 24227, 24228, 7, 84, 2, 2, 24228, 24229, 7, 85, 2, 2, 24229, 24230, 7, 71, 2, 2, 24230, 3544, 3, 2, 2, 2, 24231, 24232, 7, 85, 2, 2, 24232, 24233, 7, 91, 2, 2, 24233, 24234, 7, 85, 2, 2, 24234, 24235, 7, 97, 2, 2, 24235, 24236, 7, 82, 2, 2, 24236, 24237, 7, 90, 2, 2, 24237, 24238, 7, 83, 2, 2, 24238, 24239, 7, 71, 2, 2, 24239, 24240, 7, 90, 2, 2, 24240, 24241, 7, 86, 2, 2, 24241, 24242, 7, 84, 2, 2, 24242, 24243, 7, 67, 2, 2, 24243, 24244, 7, 69, 2, 2, 24244, 24245, 7, 86, 2, 2, 24245, 3546, 3, 2, 2, 2, 24246, 24247, 7, 85, 2, 2, 24247, 24248, 7, 91, 2, 2, 24248, 24249, 7, 85, 2, 2, 24249, 24250, 7, 97, 2, 2, 24250, 24251, 7, 84, 2, 2, 24251, 24252, 7, 67, 2, 2, 24252, 24253, 7, 89, 2, 2, 24253, 24254, 7, 97, 2, 2, 24254, 24255, 7, 86, 2, 2, 24255, 24256, 7, 81, 2, 2, 24256, 24257, 7, 97, 2, 2, 24257, 24258, 7, 90, 2, 2, 24258, 24259, 7, 85, 2, 2, 24259, 24260, 7, 75, 2, 2, 24260, 24261, 7, 70, 2, 2, 24261, 3548, 3, 2, 2, 2, 24262, 24263, 7, 85, 2, 2, 24263, 24264, 7, 91, 2, 2, 24264, 24265, 7, 85, 2, 2, 24265, 24266, 7, 97, 2, 2, 24266, 24267, 7, 84, 2, 2, 24267, 24268, 7, 75, 2, 2, 24268, 24269, 7, 70, 2, 2, 24269, 24270, 7, 97, 2, 2, 24270, 24271, 7, 81, 2, 2, 24271, 24272, 7, 84, 2, 2, 24272, 24273, 7, 70, 2, 2, 24273, 24274, 7, 71, 2, 2, 24274, 24275, 7, 84, 2, 2, 24275, 3550, 3, 2, 2, 2, 24276, 24277, 7, 85, 2, 2, 24277, 24278, 7, 91, 2, 2, 24278, 24279, 7, 85, 2, 2, 24279, 24280, 7, 97, 2, 2, 24280, 24281, 7, 84, 2, 2, 24281, 24282, 7, 81, 2, 2, 24282, 24283, 7, 89, 2, 2, 24283, 24284, 7, 97, 2, 2, 24284, 24285, 7, 70, 2, 2, 24285, 24286, 7, 71, 2, 2, 24286, 24287, 7, 78, 2, 2, 24287, 24288, 7, 86, 2, 2, 24288, 24289, 7, 67, 2, 2, 24289, 3552, 3, 2, 2, 2, 24290, 24291, 7, 85, 2, 2, 24291, 24292, 7, 91, 2, 2, 24292, 24293, 7, 85, 2, 2, 24293, 24294, 7, 97, 2, 2, 24294, 24295, 7, 85, 2, 2, 24295, 24296, 7, 69, 2, 2, 24296, 24297, 7, 97, 2, 2, 24297, 24298, 7, 52, 2, 2, 24298, 24299, 7, 97, 2, 2, 24299, 24300, 7, 90, 2, 2, 24300, 24301, 7, 79, 2, 2, 24301, 24302, 7, 78, 2, 2, 24302, 24303, 7, 86, 2, 2, 24303, 3554, 3, 2, 2, 2, 24304, 24305, 7, 85, 2, 2, 24305, 24306, 7, 91, 2, 2, 24306, 24307, 7, 85, 2, 2, 24307, 24308, 7, 97, 2, 2, 24308, 24309, 7, 85, 2, 2, 24309, 24310, 7, 91, 2, 2, 24310, 24311, 7, 80, 2, 2, 24311, 24312, 7, 84, 2, 2, 24312, 24313, 7, 69, 2, 2, 24313, 24314, 7, 75, 2, 2, 24314, 24315, 7, 84, 2, 2, 24315, 24316, 7, 71, 2, 2, 24316, 24317, 7, 70, 2, 2, 24317, 24318, 7, 81, 2, 2, 24318, 3556, 3, 2, 2, 2, 24319, 24320, 7, 85, 2, 2, 24320, 24321, 7, 91, 2, 2, 24321, 24322, 7, 85, 2, 2, 24322, 24323, 7, 86, 2, 2, 24323, 24324, 7, 71, 2, 2, 24324, 24325, 7, 79, 2, 2, 24325, 24326, 7, 97, 2, 2, 24326, 24327, 7, 70, 2, 2, 24327, 24328, 7, 71, 2, 2, 24328, 24329, 7, 72, 2, 2, 24329, 24330, 7, 75, 2, 2, 24330, 24331, 7, 80, 2, 2, 24331, 24332, 7, 71, 2, 2, 24332, 24333, 7, 70, 2, 2, 24333, 3558, 3, 2, 2, 2, 24334, 24335, 7, 85, 2, 2, 24335, 24336, 7, 91, 2, 2, 24336, 24337, 7, 85, 2, 2, 24337, 24338, 7, 86, 2, 2, 24338, 24339, 7, 71, 2, 2, 24339, 24340, 7, 79, 2, 2, 24340, 3560, 3, 2, 2, 2, 24341, 24342, 7, 85, 2, 2, 24342, 24343, 7, 91, 2, 2, 24343, 24344, 7, 85, 2, 2, 24344, 24345, 7, 86, 2, 2, 24345, 24346, 7, 75, 2, 2, 24346, 24347, 7, 79, 2, 2, 24347, 24348, 7, 71, 2, 2, 24348, 24349, 7, 85, 2, 2, 24349, 24350, 7, 86, 2, 2, 24350, 24351, 7, 67, 2, 2, 24351, 24352, 7, 79, 2, 2, 24352, 24353, 7, 82, 2, 2, 24353, 3562, 3, 2, 2, 2, 24354, 24355, 7, 85, 2, 2, 24355, 24356, 7, 91, 2, 2, 24356, 24357, 7, 85, 2, 2, 24357, 24358, 7, 97, 2, 2, 24358, 24359, 7, 86, 2, 2, 24359, 24360, 7, 91, 2, 2, 24360, 24361, 7, 82, 2, 2, 24361, 24362, 7, 71, 2, 2, 24362, 24363, 7, 75, 2, 2, 24363, 24364, 7, 70, 2, 2, 24364, 3564, 3, 2, 2, 2, 24365, 24366, 7, 85, 2, 2, 24366, 24367, 7, 91, 2, 2, 24367, 24368, 7, 85, 2, 2, 24368, 24369, 7, 97, 2, 2, 24369, 24370, 7, 87, 2, 2, 24370, 24371, 7, 79, 2, 2, 24371, 24372, 7, 67, 2, 2, 24372, 24373, 7, 77, 2, 2, 24373, 24374, 7, 71, 2, 2, 24374, 24375, 7, 90, 2, 2, 24375, 24376, 7, 79, 2, 2, 24376, 24377, 7, 78, 2, 2, 24377, 3566, 3, 2, 2, 2, 24378, 24379, 7, 85, 2, 2, 24379, 24380, 7, 91, 2, 2, 24380, 24381, 7, 85, 2, 2, 24381, 24382, 7, 97, 2, 2, 24382, 24383, 7, 90, 2, 2, 24383, 24384, 7, 79, 2, 2, 24384, 24385, 7, 78, 2, 2, 24385, 24386, 7, 67, 2, 2, 24386, 24387, 7, 80, 2, 2, 24387, 24388, 7, 67, 2, 2, 24388, 24389, 7, 78, 2, 2, 24389, 24390, 7, 91, 2, 2, 24390, 24391, 7, 92, 2, 2, 24391, 24392, 7, 71, 2, 2, 24392, 3568, 3, 2, 2, 2, 24393, 24394, 7, 85, 2, 2, 24394, 24395, 7, 91, 2, 2, 24395, 24396, 7, 85, 2, 2, 24396, 24397, 7, 97, 2, 2, 24397, 24398, 7, 90, 2, 2, 24398, 24399, 7, 79, 2, 2, 24399, 24400, 7, 78, 2, 2, 24400, 24401, 7, 69, 2, 2, 24401, 24402, 7, 81, 2, 2, 24402, 24403, 7, 80, 2, 2, 24403, 24404, 7, 86, 2, 2, 24404, 24405, 7, 67, 2, 2, 24405, 24406, 7, 75, 2, 2, 24406, 24407, 7, 80, 2, 2, 24407, 24408, 7, 85, 2, 2, 24408, 3570, 3, 2, 2, 2, 24409, 24410, 7, 85, 2, 2, 24410, 24411, 7, 91, 2, 2, 24411, 24412, 7, 85, 2, 2, 24412, 24413, 7, 97, 2, 2, 24413, 24414, 7, 90, 2, 2, 24414, 24415, 7, 79, 2, 2, 24415, 24416, 7, 78, 2, 2, 24416, 24417, 7, 69, 2, 2, 24417, 24418, 7, 81, 2, 2, 24418, 24419, 7, 80, 2, 2, 24419, 24420, 7, 88, 2, 2, 24420, 3572, 3, 2, 2, 2, 24421, 24422, 7, 85, 2, 2, 24422, 24423, 7, 91, 2, 2, 24423, 24424, 7, 85, 2, 2, 24424, 24425, 7, 97, 2, 2, 24425, 24426, 7, 90, 2, 2, 24426, 24427, 7, 79, 2, 2, 24427, 24428, 7, 78, 2, 2, 24428, 24429, 7, 71, 2, 2, 24429, 24430, 7, 90, 2, 2, 24430, 24431, 7, 80, 2, 2, 24431, 24432, 7, 85, 2, 2, 24432, 24433, 7, 87, 2, 2, 24433, 24434, 7, 84, 2, 2, 24434, 24435, 7, 75, 2, 2, 24435, 3574, 3, 2, 2, 2, 24436, 24437, 7, 85, 2, 2, 24437, 24438, 7, 91, 2, 2, 24438, 24439, 7, 85, 2, 2, 24439, 24440, 7, 97, 2, 2, 24440, 24441, 7, 90, 2, 2, 24441, 24442, 7, 79, 2, 2, 24442, 24443, 7, 78, 2, 2, 24443, 24444, 7, 73, 2, 2, 24444, 24445, 7, 71, 2, 2, 24445, 24446, 7, 80, 2, 2, 24446, 3576, 3, 2, 2, 2, 24447, 24448, 7, 85, 2, 2, 24448, 24449, 7, 91, 2, 2, 24449, 24450, 7, 85, 2, 2, 24450, 24451, 7, 97, 2, 2, 24451, 24452, 7, 90, 2, 2, 24452, 24453, 7, 79, 2, 2, 24453, 24454, 7, 78, 2, 2, 24454, 24455, 7, 75, 2, 2, 24455, 24456, 7, 97, 2, 2, 24456, 24457, 7, 78, 2, 2, 24457, 24458, 7, 81, 2, 2, 24458, 24459, 7, 69, 2, 2, 24459, 24460, 7, 97, 2, 2, 24460, 24461, 7, 75, 2, 2, 24461, 24462, 7, 85, 2, 2, 24462, 24463, 7, 80, 2, 2, 24463, 24464, 7, 81, 2, 2, 24464, 24465, 7, 70, 2, 2, 24465, 24466, 7, 71, 2, 2, 24466, 3578, 3, 2, 2, 2, 24467, 24468, 7, 85, 2, 2, 24468, 24469, 7, 91, 2, 2, 24469, 24470, 7, 85, 2, 2, 24470, 24471, 7, 97, 2, 2, 24471, 24472, 7, 90, 2, 2, 24472, 24473, 7, 79, 2, 2, 24473, 24474, 7, 78, 2, 2, 24474, 24475, 7, 75, 2, 2, 24475, 24476, 7, 97, 2, 2, 24476, 24477, 7, 78, 2, 2, 24477, 24478, 7, 81, 2, 2, 24478, 24479, 7, 69, 2, 2, 24479, 24480, 7, 97, 2, 2, 24480, 24481, 7, 75, 2, 2, 24481, 24482, 7, 85, 2, 2, 24482, 24483, 7, 86, 2, 2, 24483, 24484, 7, 71, 2, 2, 24484, 24485, 7, 90, 2, 2, 24485, 24486, 7, 86, 2, 2, 24486, 3580, 3, 2, 2, 2, 24487, 24488, 7, 85, 2, 2, 24488, 24489, 7, 91, 2, 2, 24489, 24490, 7, 85, 2, 2, 24490, 24491, 7, 97, 2, 2, 24491, 24492, 7, 90, 2, 2, 24492, 24493, 7, 79, 2, 2, 24493, 24494, 7, 78, 2, 2, 24494, 24495, 7, 75, 2, 2, 24495, 24496, 7, 80, 2, 2, 24496, 24497, 7, 85, 2, 2, 24497, 24498, 7, 86, 2, 2, 24498, 24499, 7, 84, 2, 2, 24499, 3582, 3, 2, 2, 2, 24500, 24501, 7, 85, 2, 2, 24501, 24502, 7, 91, 2, 2, 24502, 24503, 7, 85, 2, 2, 24503, 24504, 7, 97, 2, 2, 24504, 24505, 7, 90, 2, 2, 24505, 24506, 7, 79, 2, 2, 24506, 24507, 7, 78, 2, 2, 24507, 24508, 7, 78, 2, 2, 24508, 24509, 7, 81, 2, 2, 24509, 24510, 7, 69, 2, 2, 24510, 24511, 7, 67, 2, 2, 24511, 24512, 7, 86, 2, 2, 24512, 24513, 7, 81, 2, 2, 24513, 24514, 7, 84, 2, 2, 24514, 24515, 7, 97, 2, 2, 24515, 24516, 7, 73, 2, 2, 24516, 24517, 7, 71, 2, 2, 24517, 24518, 7, 86, 2, 2, 24518, 24519, 7, 85, 2, 2, 24519, 24520, 7, 88, 2, 2, 24520, 24521, 7, 67, 2, 2, 24521, 24522, 7, 78, 2, 2, 24522, 3584, 3, 2, 2, 2, 24523, 24524, 7, 85, 2, 2, 24524, 24525, 7, 91, 2, 2, 24525, 24526, 7, 85, 2, 2, 24526, 24527, 7, 97, 2, 2, 24527, 24528, 7, 90, 2, 2, 24528, 24529, 7, 79, 2, 2, 24529, 24530, 7, 78, 2, 2, 24530, 24531, 7, 80, 2, 2, 24531, 24532, 7, 81, 2, 2, 24532, 24533, 7, 70, 2, 2, 24533, 24534, 7, 71, 2, 2, 24534, 24535, 7, 75, 2, 2, 24535, 24536, 7, 70, 2, 2, 24536, 24537, 7, 97, 2, 2, 24537, 24538, 7, 73, 2, 2, 24538, 24539, 7, 71, 2, 2, 24539, 24540, 7, 86, 2, 2, 24540, 24541, 7, 69, 2, 2, 24541, 24542, 7, 75, 2, 2, 24542, 24543, 7, 70, 2, 2, 24543, 3586, 3, 2, 2, 2, 24544, 24545, 7, 85, 2, 2, 24545, 24546, 7, 91, 2, 2, 24546, 24547, 7, 85, 2, 2, 24547, 24548, 7, 97, 2, 2, 24548, 24549, 7, 90, 2, 2, 24549, 24550, 7, 79, 2, 2, 24550, 24551, 7, 78, 2, 2, 24551, 24552, 7, 80, 2, 2, 24552, 24553, 7, 81, 2, 2, 24553, 24554, 7, 70, 2, 2, 24554, 24555, 7, 71, 2, 2, 24555, 24556, 7, 75, 2, 2, 24556, 24557, 7, 70, 2, 2, 24557, 24558, 7, 97, 2, 2, 24558, 24559, 7, 73, 2, 2, 24559, 24560, 7, 71, 2, 2, 24560, 24561, 7, 86, 2, 2, 24561, 24562, 7, 78, 2, 2, 24562, 24563, 7, 81, 2, 2, 24563, 24564, 7, 69, 2, 2, 24564, 24565, 7, 67, 2, 2, 24565, 24566, 7, 86, 2, 2, 24566, 24567, 7, 81, 2, 2, 24567, 24568, 7, 84, 2, 2, 24568, 3588, 3, 2, 2, 2, 24569, 24570, 7, 85, 2, 2, 24570, 24571, 7, 91, 2, 2, 24571, 24572, 7, 85, 2, 2, 24572, 24573, 7, 97, 2, 2, 24573, 24574, 7, 90, 2, 2, 24574, 24575, 7, 79, 2, 2, 24575, 24576, 7, 78, 2, 2, 24576, 24577, 7, 80, 2, 2, 24577, 24578, 7, 81, 2, 2, 24578, 24579, 7, 70, 2, 2, 24579, 24580, 7, 71, 2, 2, 24580, 24581, 7, 75, 2, 2, 24581, 24582, 7, 70, 2, 2, 24582, 24583, 7, 97, 2, 2, 24583, 24584, 7, 73, 2, 2, 24584, 24585, 7, 71, 2, 2, 24585, 24586, 7, 86, 2, 2, 24586, 24587, 7, 81, 2, 2, 24587, 24588, 7, 77, 2, 2, 24588, 24589, 7, 71, 2, 2, 24589, 24590, 7, 91, 2, 2, 24590, 3590, 3, 2, 2, 2, 24591, 24592, 7, 85, 2, 2, 24592, 24593, 7, 91, 2, 2, 24593, 24594, 7, 85, 2, 2, 24594, 24595, 7, 97, 2, 2, 24595, 24596, 7, 90, 2, 2, 24596, 24597, 7, 79, 2, 2, 24597, 24598, 7, 78, 2, 2, 24598, 24599, 7, 80, 2, 2, 24599, 24600, 7, 81, 2, 2, 24600, 24601, 7, 70, 2, 2, 24601, 24602, 7, 71, 2, 2, 24602, 24603, 7, 75, 2, 2, 24603, 24604, 7, 70, 2, 2, 24604, 24605, 7, 97, 2, 2, 24605, 24606, 7, 73, 2, 2, 24606, 24607, 7, 71, 2, 2, 24607, 24608, 7, 86, 2, 2, 24608, 24609, 7, 82, 2, 2, 24609, 24610, 7, 67, 2, 2, 24610, 24611, 7, 86, 2, 2, 24611, 24612, 7, 74, 2, 2, 24612, 24613, 7, 75, 2, 2, 24613, 24614, 7, 70, 2, 2, 24614, 3592, 3, 2, 2, 2, 24615, 24616, 7, 85, 2, 2, 24616, 24617, 7, 91, 2, 2, 24617, 24618, 7, 85, 2, 2, 24618, 24619, 7, 97, 2, 2, 24619, 24620, 7, 90, 2, 2, 24620, 24621, 7, 79, 2, 2, 24621, 24622, 7, 78, 2, 2, 24622, 24623, 7, 80, 2, 2, 24623, 24624, 7, 81, 2, 2, 24624, 24625, 7, 70, 2, 2, 24625, 24626, 7, 71, 2, 2, 24626, 24627, 7, 75, 2, 2, 24627, 24628, 7, 70, 2, 2, 24628, 24629, 7, 97, 2, 2, 24629, 24630, 7, 73, 2, 2, 24630, 24631, 7, 71, 2, 2, 24631, 24632, 7, 86, 2, 2, 24632, 24633, 7, 82, 2, 2, 24633, 24634, 7, 86, 2, 2, 24634, 24635, 7, 84, 2, 2, 24635, 24636, 7, 75, 2, 2, 24636, 24637, 7, 70, 2, 2, 24637, 3594, 3, 2, 2, 2, 24638, 24639, 7, 85, 2, 2, 24639, 24640, 7, 91, 2, 2, 24640, 24641, 7, 85, 2, 2, 24641, 24642, 7, 97, 2, 2, 24642, 24643, 7, 90, 2, 2, 24643, 24644, 7, 79, 2, 2, 24644, 24645, 7, 78, 2, 2, 24645, 24646, 7, 80, 2, 2, 24646, 24647, 7, 81, 2, 2, 24647, 24648, 7, 70, 2, 2, 24648, 24649, 7, 71, 2, 2, 24649, 24650, 7, 75, 2, 2, 24650, 24651, 7, 70, 2, 2, 24651, 24652, 7, 97, 2, 2, 24652, 24653, 7, 73, 2, 2, 24653, 24654, 7, 71, 2, 2, 24654, 24655, 7, 86, 2, 2, 24655, 24656, 7, 84, 2, 2, 24656, 24657, 7, 75, 2, 2, 24657, 24658, 7, 70, 2, 2, 24658, 3596, 3, 2, 2, 2, 24659, 24660, 7, 85, 2, 2, 24660, 24661, 7, 91, 2, 2, 24661, 24662, 7, 85, 2, 2, 24662, 24663, 7, 97, 2, 2, 24663, 24664, 7, 90, 2, 2, 24664, 24665, 7, 79, 2, 2, 24665, 24666, 7, 78, 2, 2, 24666, 24667, 7, 80, 2, 2, 24667, 24668, 7, 81, 2, 2, 24668, 24669, 7, 70, 2, 2, 24669, 24670, 7, 71, 2, 2, 24670, 24671, 7, 75, 2, 2, 24671, 24672, 7, 70, 2, 2, 24672, 24673, 7, 97, 2, 2, 24673, 24674, 7, 73, 2, 2, 24674, 24675, 7, 71, 2, 2, 24675, 24676, 7, 86, 2, 2, 24676, 24677, 7, 85, 2, 2, 24677, 24678, 7, 88, 2, 2, 24678, 24679, 7, 67, 2, 2, 24679, 24680, 7, 78, 2, 2, 24680, 3598, 3, 2, 2, 2, 24681, 24682, 7, 85, 2, 2, 24682, 24683, 7, 91, 2, 2, 24683, 24684, 7, 85, 2, 2, 24684, 24685, 7, 97, 2, 2, 24685, 24686, 7, 90, 2, 2, 24686, 24687, 7, 79, 2, 2, 24687, 24688, 7, 78, 2, 2, 24688, 24689, 7, 80, 2, 2, 24689, 24690, 7, 81, 2, 2, 24690, 24691, 7, 70, 2, 2, 24691, 24692, 7, 71, 2, 2, 24692, 24693, 7, 75, 2, 2, 24693, 24694, 7, 70, 2, 2, 24694, 24695, 7, 97, 2, 2, 24695, 24696, 7, 73, 2, 2, 24696, 24697, 7, 71, 2, 2, 24697, 24698, 7, 86, 2, 2, 24698, 24699, 7, 86, 2, 2, 24699, 24700, 7, 75, 2, 2, 24700, 24701, 7, 70, 2, 2, 24701, 3600, 3, 2, 2, 2, 24702, 24703, 7, 85, 2, 2, 24703, 24704, 7, 91, 2, 2, 24704, 24705, 7, 85, 2, 2, 24705, 24706, 7, 97, 2, 2, 24706, 24707, 7, 90, 2, 2, 24707, 24708, 7, 79, 2, 2, 24708, 24709, 7, 78, 2, 2, 24709, 24710, 7, 80, 2, 2, 24710, 24711, 7, 81, 2, 2, 24711, 24712, 7, 70, 2, 2, 24712, 24713, 7, 71, 2, 2, 24713, 24714, 7, 75, 2, 2, 24714, 24715, 7, 70, 2, 2, 24715, 3602, 3, 2, 2, 2, 24716, 24717, 7, 85, 2, 2, 24717, 24718, 7, 91, 2, 2, 24718, 24719, 7, 85, 2, 2, 24719, 24720, 7, 97, 2, 2, 24720, 24721, 7, 90, 2, 2, 24721, 24722, 7, 79, 2, 2, 24722, 24723, 7, 78, 2, 2, 24723, 24724, 7, 86, 2, 2, 24724, 24725, 7, 97, 2, 2, 24725, 24726, 7, 52, 2, 2, 24726, 24727, 7, 97, 2, 2, 24727, 24728, 7, 85, 2, 2, 24728, 24729, 7, 69, 2, 2, 24729, 3604, 3, 2, 2, 2, 24730, 24731, 7, 85, 2, 2, 24731, 24732, 7, 91, 2, 2, 24732, 24733, 7, 85, 2, 2, 24733, 24734, 7, 97, 2, 2, 24734, 24735, 7, 90, 2, 2, 24735, 24736, 7, 79, 2, 2, 24736, 24737, 7, 78, 2, 2, 24737, 24738, 7, 86, 2, 2, 24738, 24739, 7, 84, 2, 2, 24739, 24740, 7, 67, 2, 2, 24740, 24741, 7, 80, 2, 2, 24741, 24742, 7, 85, 2, 2, 24742, 24743, 7, 78, 2, 2, 24743, 24744, 7, 67, 2, 2, 24744, 24745, 7, 86, 2, 2, 24745, 24746, 7, 71, 2, 2, 24746, 3606, 3, 2, 2, 2, 24747, 24748, 7, 85, 2, 2, 24748, 24749, 7, 91, 2, 2, 24749, 24750, 7, 85, 2, 2, 24750, 24751, 7, 97, 2, 2, 24751, 24752, 7, 90, 2, 2, 24752, 24753, 7, 79, 2, 2, 24753, 24754, 7, 78, 2, 2, 24754, 24755, 7, 86, 2, 2, 24755, 24756, 7, 91, 2, 2, 24756, 24757, 7, 82, 2, 2, 24757, 24758, 7, 71, 2, 2, 24758, 24759, 7, 52, 2, 2, 24759, 24760, 7, 85, 2, 2, 24760, 24761, 7, 83, 2, 2, 24761, 24762, 7, 78, 2, 2, 24762, 3608, 3, 2, 2, 2, 24763, 24764, 7, 85, 2, 2, 24764, 24765, 7, 91, 2, 2, 24765, 24766, 7, 85, 2, 2, 24766, 24767, 7, 97, 2, 2, 24767, 24768, 7, 90, 2, 2, 24768, 24769, 7, 83, 2, 2, 24769, 24770, 7, 97, 2, 2, 24770, 24771, 7, 67, 2, 2, 24771, 24772, 7, 85, 2, 2, 24772, 24773, 7, 83, 2, 2, 24773, 24774, 7, 78, 2, 2, 24774, 24775, 7, 69, 2, 2, 24775, 24776, 7, 80, 2, 2, 24776, 24777, 7, 88, 2, 2, 24777, 3610, 3, 2, 2, 2, 24778, 24779, 7, 85, 2, 2, 24779, 24780, 7, 91, 2, 2, 24780, 24781, 7, 85, 2, 2, 24781, 24782, 7, 97, 2, 2, 24782, 24783, 7, 90, 2, 2, 24783, 24784, 7, 83, 2, 2, 24784, 24785, 7, 97, 2, 2, 24785, 24786, 7, 67, 2, 2, 24786, 24787, 7, 86, 2, 2, 24787, 24788, 7, 81, 2, 2, 24788, 24789, 7, 79, 2, 2, 24789, 24790, 7, 69, 2, 2, 24790, 24791, 7, 80, 2, 2, 24791, 24792, 7, 88, 2, 2, 24792, 24793, 7, 69, 2, 2, 24793, 24794, 7, 74, 2, 2, 24794, 24795, 7, 77, 2, 2, 24795, 3612, 3, 2, 2, 2, 24796, 24797, 7, 85, 2, 2, 24797, 24798, 7, 91, 2, 2, 24798, 24799, 7, 85, 2, 2, 24799, 24800, 7, 97, 2, 2, 24800, 24801, 7, 90, 2, 2, 24801, 24802, 7, 83, 2, 2, 24802, 24803, 7, 68, 2, 2, 24803, 24804, 7, 67, 2, 2, 24804, 24805, 7, 85, 2, 2, 24805, 24806, 7, 71, 2, 2, 24806, 24807, 7, 87, 2, 2, 24807, 24808, 7, 84, 2, 2, 24808, 24809, 7, 75, 2, 2, 24809, 3614, 3, 2, 2, 2, 24810, 24811, 7, 85, 2, 2, 24811, 24812, 7, 91, 2, 2, 24812, 24813, 7, 85, 2, 2, 24813, 24814, 7, 97, 2, 2, 24814, 24815, 7, 90, 2, 2, 24815, 24816, 7, 83, 2, 2, 24816, 24817, 7, 69, 2, 2, 24817, 24818, 7, 67, 2, 2, 24818, 24819, 7, 85, 2, 2, 24819, 24820, 7, 86, 2, 2, 24820, 24821, 7, 67, 2, 2, 24821, 24822, 7, 68, 2, 2, 24822, 24823, 7, 78, 2, 2, 24823, 24824, 7, 71, 2, 2, 24824, 24825, 7, 71, 2, 2, 24825, 24826, 7, 84, 2, 2, 24826, 24827, 7, 84, 2, 2, 24827, 24828, 7, 74, 2, 2, 24828, 3616, 3, 2, 2, 2, 24829, 24830, 7, 85, 2, 2, 24830, 24831, 7, 91, 2, 2, 24831, 24832, 7, 85, 2, 2, 24832, 24833, 7, 97, 2, 2, 24833, 24834, 7, 90, 2, 2, 24834, 24835, 7, 83, 2, 2, 24835, 24836, 7, 69, 2, 2, 24836, 24837, 7, 81, 2, 2, 24837, 24838, 7, 70, 2, 2, 24838, 24839, 7, 71, 2, 2, 24839, 24840, 7, 82, 2, 2, 24840, 24841, 7, 52, 2, 2, 24841, 24842, 7, 85, 2, 2, 24842, 24843, 7, 86, 2, 2, 24843, 24844, 7, 84, 2, 2, 24844, 3618, 3, 2, 2, 2, 24845, 24846, 7, 85, 2, 2, 24846, 24847, 7, 91, 2, 2, 24847, 24848, 7, 85, 2, 2, 24848, 24849, 7, 97, 2, 2, 24849, 24850, 7, 90, 2, 2, 24850, 24851, 7, 83, 2, 2, 24851, 24852, 7, 69, 2, 2, 24852, 24853, 7, 81, 2, 2, 24853, 24854, 7, 70, 2, 2, 24854, 24855, 7, 71, 2, 2, 24855, 24856, 7, 82, 2, 2, 24856, 24857, 7, 71, 2, 2, 24857, 24858, 7, 83, 2, 2, 24858, 3620, 3, 2, 2, 2, 24859, 24860, 7, 85, 2, 2, 24860, 24861, 7, 91, 2, 2, 24861, 24862, 7, 85, 2, 2, 24862, 24863, 7, 97, 2, 2, 24863, 24864, 7, 90, 2, 2, 24864, 24865, 7, 83, 2, 2, 24865, 24866, 7, 69, 2, 2, 24866, 24867, 7, 81, 2, 2, 24867, 24868, 7, 80, 2, 2, 24868, 24869, 7, 52, 2, 2, 24869, 24870, 7, 85, 2, 2, 24870, 24871, 7, 71, 2, 2, 24871, 24872, 7, 83, 2, 2, 24872, 3622, 3, 2, 2, 2, 24873, 24874, 7, 85, 2, 2, 24874, 24875, 7, 91, 2, 2, 24875, 24876, 7, 85, 2, 2, 24876, 24877, 7, 97, 2, 2, 24877, 24878, 7, 90, 2, 2, 24878, 24879, 7, 83, 2, 2, 24879, 24880, 7, 69, 2, 2, 24880, 24881, 7, 81, 2, 2, 24881, 24882, 7, 80, 2, 2, 24882, 24883, 7, 69, 2, 2, 24883, 24884, 7, 67, 2, 2, 24884, 24885, 7, 86, 2, 2, 24885, 3624, 3, 2, 2, 2, 24886, 24887, 7, 85, 2, 2, 24887, 24888, 7, 91, 2, 2, 24888, 24889, 7, 85, 2, 2, 24889, 24890, 7, 97, 2, 2, 24890, 24891, 7, 90, 2, 2, 24891, 24892, 7, 83, 2, 2, 24892, 24893, 7, 70, 2, 2, 24893, 24894, 7, 71, 2, 2, 24894, 24895, 7, 78, 2, 2, 24895, 24896, 7, 71, 2, 2, 24896, 24897, 7, 86, 2, 2, 24897, 24898, 7, 71, 2, 2, 24898, 3626, 3, 2, 2, 2, 24899, 24900, 7, 85, 2, 2, 24900, 24901, 7, 91, 2, 2, 24901, 24902, 7, 85, 2, 2, 24902, 24903, 7, 97, 2, 2, 24903, 24904, 7, 90, 2, 2, 24904, 24905, 7, 83, 2, 2, 24905, 24906, 7, 70, 2, 2, 24906, 24907, 7, 72, 2, 2, 24907, 24908, 7, 78, 2, 2, 24908, 24909, 7, 86, 2, 2, 24909, 24910, 7, 69, 2, 2, 24910, 24911, 7, 81, 2, 2, 24911, 24912, 7, 78, 2, 2, 24912, 24913, 7, 67, 2, 2, 24913, 24914, 7, 86, 2, 2, 24914, 24915, 7, 75, 2, 2, 24915, 24916, 7, 81, 2, 2, 24916, 24917, 7, 80, 2, 2, 24917, 3628, 3, 2, 2, 2, 24918, 24919, 7, 85, 2, 2, 24919, 24920, 7, 91, 2, 2, 24920, 24921, 7, 85, 2, 2, 24921, 24922, 7, 97, 2, 2, 24922, 24923, 7, 90, 2, 2, 24923, 24924, 7, 83, 2, 2, 24924, 24925, 7, 70, 2, 2, 24925, 24926, 7, 81, 2, 2, 24926, 24927, 7, 69, 2, 2, 24927, 3630, 3, 2, 2, 2, 24928, 24929, 7, 85, 2, 2, 24929, 24930, 7, 91, 2, 2, 24930, 24931, 7, 85, 2, 2, 24931, 24932, 7, 97, 2, 2, 24932, 24933, 7, 90, 2, 2, 24933, 24934, 7, 83, 2, 2, 24934, 24935, 7, 70, 2, 2, 24935, 24936, 7, 81, 2, 2, 24936, 24937, 7, 69, 2, 2, 24937, 24938, 7, 87, 2, 2, 24938, 24939, 7, 84, 2, 2, 24939, 24940, 7, 75, 2, 2, 24940, 3632, 3, 2, 2, 2, 24941, 24942, 7, 85, 2, 2, 24942, 24943, 7, 91, 2, 2, 24943, 24944, 7, 85, 2, 2, 24944, 24945, 7, 97, 2, 2, 24945, 24946, 7, 90, 2, 2, 24946, 24947, 7, 83, 2, 2, 24947, 24948, 7, 70, 2, 2, 24948, 24949, 7, 87, 2, 2, 24949, 24950, 7, 84, 2, 2, 24950, 24951, 7, 70, 2, 2, 24951, 24952, 7, 75, 2, 2, 24952, 24953, 7, 88, 2, 2, 24953, 3634, 3, 2, 2, 2, 24954, 24955, 7, 85, 2, 2, 24955, 24956, 7, 91, 2, 2, 24956, 24957, 7, 85, 2, 2, 24957, 24958, 7, 97, 2, 2, 24958, 24959, 7, 90, 2, 2, 24959, 24960, 7, 83, 2, 2, 24960, 24961, 7, 71, 2, 2, 24961, 24962, 7, 70, 2, 2, 24962, 24963, 7, 54, 2, 2, 24963, 24964, 7, 87, 2, 2, 24964, 24965, 7, 84, 2, 2, 24965, 24966, 7, 75, 2, 2, 24966, 3636, 3, 2, 2, 2, 24967, 24968, 7, 85, 2, 2, 24968, 24969, 7, 91, 2, 2, 24969, 24970, 7, 85, 2, 2, 24970, 24971, 7, 97, 2, 2, 24971, 24972, 7, 90, 2, 2, 24972, 24973, 7, 83, 2, 2, 24973, 24974, 7, 71, 2, 2, 24974, 24975, 7, 80, 2, 2, 24975, 24976, 7, 70, 2, 2, 24976, 24977, 7, 85, 2, 2, 24977, 24978, 7, 89, 2, 2, 24978, 24979, 7, 75, 2, 2, 24979, 24980, 7, 86, 2, 2, 24980, 24981, 7, 74, 2, 2, 24981, 3638, 3, 2, 2, 2, 24982, 24983, 7, 85, 2, 2, 24983, 24984, 7, 91, 2, 2, 24984, 24985, 7, 85, 2, 2, 24985, 24986, 7, 97, 2, 2, 24986, 24987, 7, 90, 2, 2, 24987, 24988, 7, 83, 2, 2, 24988, 24989, 7, 71, 2, 2, 24989, 24990, 7, 84, 2, 2, 24990, 24991, 7, 84, 2, 2, 24991, 24992, 7, 74, 2, 2, 24992, 3640, 3, 2, 2, 2, 24993, 24994, 7, 85, 2, 2, 24994, 24995, 7, 91, 2, 2, 24995, 24996, 7, 85, 2, 2, 24996, 24997, 7, 97, 2, 2, 24997, 24998, 7, 90, 2, 2, 24998, 24999, 7, 83, 2, 2, 24999, 25000, 7, 71, 2, 2, 25000, 25001, 7, 84, 2, 2, 25001, 25002, 7, 84, 2, 2, 25002, 3642, 3, 2, 2, 2, 25003, 25004, 7, 85, 2, 2, 25004, 25005, 7, 91, 2, 2, 25005, 25006, 7, 85, 2, 2, 25006, 25007, 7, 97, 2, 2, 25007, 25008, 7, 90, 2, 2, 25008, 25009, 7, 83, 2, 2, 25009, 25010, 7, 71, 2, 2, 25010, 25011, 7, 85, 2, 2, 25011, 25012, 7, 74, 2, 2, 25012, 25013, 7, 86, 2, 2, 25013, 25014, 7, 79, 2, 2, 25014, 25015, 7, 78, 2, 2, 25015, 25016, 7, 87, 2, 2, 25016, 25017, 7, 84, 2, 2, 25017, 25018, 7, 75, 2, 2, 25018, 3644, 3, 2, 2, 2, 25019, 25020, 7, 85, 2, 2, 25020, 25021, 7, 91, 2, 2, 25021, 25022, 7, 85, 2, 2, 25022, 25023, 7, 97, 2, 2, 25023, 25024, 7, 90, 2, 2, 25024, 25025, 7, 83, 2, 2, 25025, 25026, 7, 71, 2, 2, 25026, 25027, 7, 90, 2, 2, 25027, 25028, 7, 78, 2, 2, 25028, 25029, 7, 81, 2, 2, 25029, 25030, 7, 68, 2, 2, 25030, 25031, 7, 88, 2, 2, 25031, 25032, 7, 67, 2, 2, 25032, 25033, 7, 78, 2, 2, 25033, 3646, 3, 2, 2, 2, 25034, 25035, 7, 85, 2, 2, 25035, 25036, 7, 91, 2, 2, 25036, 25037, 7, 85, 2, 2, 25037, 25038, 7, 97, 2, 2, 25038, 25039, 7, 90, 2, 2, 25039, 25040, 7, 83, 2, 2, 25040, 25041, 7, 71, 2, 2, 25041, 25042, 7, 90, 2, 2, 25042, 25043, 7, 85, 2, 2, 25043, 25044, 7, 86, 2, 2, 25044, 25045, 7, 89, 2, 2, 25045, 25046, 7, 84, 2, 2, 25046, 25047, 7, 82, 2, 2, 25047, 3648, 3, 2, 2, 2, 25048, 25049, 7, 85, 2, 2, 25049, 25050, 7, 91, 2, 2, 25050, 25051, 7, 85, 2, 2, 25051, 25052, 7, 97, 2, 2, 25052, 25053, 7, 90, 2, 2, 25053, 25054, 7, 83, 2, 2, 25054, 25055, 7, 71, 2, 2, 25055, 25056, 7, 90, 2, 2, 25056, 25057, 7, 86, 2, 2, 25057, 25058, 7, 84, 2, 2, 25058, 25059, 7, 67, 2, 2, 25059, 25060, 7, 69, 2, 2, 25060, 25061, 7, 86, 2, 2, 25061, 3650, 3, 2, 2, 2, 25062, 25063, 7, 85, 2, 2, 25063, 25064, 7, 91, 2, 2, 25064, 25065, 7, 85, 2, 2, 25065, 25066, 7, 97, 2, 2, 25066, 25067, 7, 90, 2, 2, 25067, 25068, 7, 83, 2, 2, 25068, 25069, 7, 71, 2, 2, 25069, 25070, 7, 90, 2, 2, 25070, 25071, 7, 86, 2, 2, 25071, 25072, 7, 84, 2, 2, 25072, 25073, 7, 84, 2, 2, 25073, 25074, 7, 71, 2, 2, 25074, 25075, 7, 72, 2, 2, 25075, 3652, 3, 2, 2, 2, 25076, 25077, 7, 85, 2, 2, 25077, 25078, 7, 91, 2, 2, 25078, 25079, 7, 85, 2, 2, 25079, 25080, 7, 97, 2, 2, 25080, 25081, 7, 90, 2, 2, 25081, 25082, 7, 83, 2, 2, 25082, 25083, 7, 71, 2, 2, 25083, 25084, 7, 90, 2, 2, 25084, 25085, 7, 88, 2, 2, 25085, 25086, 7, 67, 2, 2, 25086, 25087, 7, 78, 2, 2, 25087, 3654, 3, 2, 2, 2, 25088, 25089, 7, 85, 2, 2, 25089, 25090, 7, 91, 2, 2, 25090, 25091, 7, 85, 2, 2, 25091, 25092, 7, 97, 2, 2, 25092, 25093, 7, 90, 2, 2, 25093, 25094, 7, 83, 2, 2, 25094, 25095, 7, 72, 2, 2, 25095, 25096, 7, 68, 2, 2, 25096, 25097, 7, 52, 2, 2, 25097, 25098, 7, 85, 2, 2, 25098, 25099, 7, 86, 2, 2, 25099, 25100, 7, 84, 2, 2, 25100, 3656, 3, 2, 2, 2, 25101, 25102, 7, 85, 2, 2, 25102, 25103, 7, 91, 2, 2, 25103, 25104, 7, 85, 2, 2, 25104, 25105, 7, 97, 2, 2, 25105, 25106, 7, 90, 2, 2, 25106, 25107, 7, 83, 2, 2, 25107, 25108, 7, 72, 2, 2, 25108, 25109, 7, 80, 2, 2, 25109, 25110, 7, 68, 2, 2, 25110, 25111, 7, 81, 2, 2, 25111, 25112, 7, 81, 2, 2, 25112, 25113, 7, 78, 2, 2, 25113, 3658, 3, 2, 2, 2, 25114, 25115, 7, 85, 2, 2, 25115, 25116, 7, 91, 2, 2, 25116, 25117, 7, 85, 2, 2, 25117, 25118, 7, 97, 2, 2, 25118, 25119, 7, 90, 2, 2, 25119, 25120, 7, 83, 2, 2, 25120, 25121, 7, 72, 2, 2, 25121, 25122, 7, 80, 2, 2, 25122, 25123, 7, 69, 2, 2, 25123, 25124, 7, 79, 2, 2, 25124, 25125, 7, 82, 2, 2, 25125, 3660, 3, 2, 2, 2, 25126, 25127, 7, 85, 2, 2, 25127, 25128, 7, 91, 2, 2, 25128, 25129, 7, 85, 2, 2, 25129, 25130, 7, 97, 2, 2, 25130, 25131, 7, 90, 2, 2, 25131, 25132, 7, 83, 2, 2, 25132, 25133, 7, 72, 2, 2, 25133, 25134, 7, 80, 2, 2, 25134, 25135, 7, 70, 2, 2, 25135, 25136, 7, 67, 2, 2, 25136, 25137, 7, 86, 2, 2, 25137, 25138, 7, 75, 2, 2, 25138, 25139, 7, 79, 2, 2, 25139, 3662, 3, 2, 2, 2, 25140, 25141, 7, 85, 2, 2, 25141, 25142, 7, 91, 2, 2, 25142, 25143, 7, 85, 2, 2, 25143, 25144, 7, 97, 2, 2, 25144, 25145, 7, 90, 2, 2, 25145, 25146, 7, 83, 2, 2, 25146, 25147, 7, 72, 2, 2, 25147, 25148, 7, 80, 2, 2, 25148, 25149, 7, 78, 2, 2, 25149, 25150, 7, 80, 2, 2, 25150, 25151, 7, 67, 2, 2, 25151, 25152, 7, 79, 2, 2, 25152, 25153, 7, 71, 2, 2, 25153, 3664, 3, 2, 2, 2, 25154, 25155, 7, 85, 2, 2, 25155, 25156, 7, 91, 2, 2, 25156, 25157, 7, 85, 2, 2, 25157, 25158, 7, 97, 2, 2, 25158, 25159, 7, 90, 2, 2, 25159, 25160, 7, 83, 2, 2, 25160, 25161, 7, 72, 2, 2, 25161, 25162, 7, 80, 2, 2, 25162, 25163, 7, 80, 2, 2, 25163, 25164, 7, 79, 2, 2, 25164, 3666, 3, 2, 2, 2, 25165, 25166, 7, 85, 2, 2, 25166, 25167, 7, 91, 2, 2, 25167, 25168, 7, 85, 2, 2, 25168, 25169, 7, 97, 2, 2, 25169, 25170, 7, 90, 2, 2, 25170, 25171, 7, 83, 2, 2, 25171, 25172, 7, 72, 2, 2, 25172, 25173, 7, 80, 2, 2, 25173, 25174, 7, 80, 2, 2, 25174, 25175, 7, 85, 2, 2, 25175, 25176, 7, 87, 2, 2, 25176, 25177, 7, 84, 2, 2, 25177, 25178, 7, 75, 2, 2, 25178, 3668, 3, 2, 2, 2, 25179, 25180, 7, 85, 2, 2, 25180, 25181, 7, 91, 2, 2, 25181, 25182, 7, 85, 2, 2, 25182, 25183, 7, 97, 2, 2, 25183, 25184, 7, 90, 2, 2, 25184, 25185, 7, 83, 2, 2, 25185, 25186, 7, 72, 2, 2, 25186, 25187, 7, 80, 2, 2, 25187, 25188, 7, 82, 2, 2, 25188, 25189, 7, 84, 2, 2, 25189, 25190, 7, 71, 2, 2, 25190, 25191, 7, 70, 2, 2, 25191, 25192, 7, 86, 2, 2, 25192, 25193, 7, 84, 2, 2, 25193, 25194, 7, 87, 2, 2, 25194, 25195, 7, 86, 2, 2, 25195, 25196, 7, 74, 2, 2, 25196, 3670, 3, 2, 2, 2, 25197, 25198, 7, 85, 2, 2, 25198, 25199, 7, 91, 2, 2, 25199, 25200, 7, 85, 2, 2, 25200, 25201, 7, 97, 2, 2, 25201, 25202, 7, 90, 2, 2, 25202, 25203, 7, 83, 2, 2, 25203, 25204, 7, 72, 2, 2, 25204, 25205, 7, 80, 2, 2, 25205, 25206, 7, 83, 2, 2, 25206, 25207, 7, 80, 2, 2, 25207, 25208, 7, 79, 2, 2, 25208, 3672, 3, 2, 2, 2, 25209, 25210, 7, 85, 2, 2, 25210, 25211, 7, 91, 2, 2, 25211, 25212, 7, 85, 2, 2, 25212, 25213, 7, 97, 2, 2, 25213, 25214, 7, 90, 2, 2, 25214, 25215, 7, 83, 2, 2, 25215, 25216, 7, 72, 2, 2, 25216, 25217, 7, 80, 2, 2, 25217, 25218, 7, 84, 2, 2, 25218, 25219, 7, 81, 2, 2, 25219, 25220, 7, 81, 2, 2, 25220, 25221, 7, 86, 2, 2, 25221, 3674, 3, 2, 2, 2, 25222, 25223, 7, 85, 2, 2, 25223, 25224, 7, 91, 2, 2, 25224, 25225, 7, 85, 2, 2, 25225, 25226, 7, 97, 2, 2, 25226, 25227, 7, 90, 2, 2, 25227, 25228, 7, 83, 2, 2, 25228, 25229, 7, 72, 2, 2, 25229, 25230, 7, 81, 2, 2, 25230, 25231, 7, 84, 2, 2, 25231, 25232, 7, 79, 2, 2, 25232, 25233, 7, 67, 2, 2, 25233, 25234, 7, 86, 2, 2, 25234, 25235, 7, 80, 2, 2, 25235, 25236, 7, 87, 2, 2, 25236, 25237, 7, 79, 2, 2, 25237, 3676, 3, 2, 2, 2, 25238, 25239, 7, 85, 2, 2, 25239, 25240, 7, 91, 2, 2, 25240, 25241, 7, 85, 2, 2, 25241, 25242, 7, 97, 2, 2, 25242, 25243, 7, 90, 2, 2, 25243, 25244, 7, 83, 2, 2, 25244, 25245, 7, 72, 2, 2, 25245, 25246, 7, 86, 2, 2, 25246, 25247, 7, 69, 2, 2, 25247, 25248, 7, 81, 2, 2, 25248, 25249, 7, 80, 2, 2, 25249, 25250, 7, 86, 2, 2, 25250, 25251, 7, 67, 2, 2, 25251, 25252, 7, 75, 2, 2, 25252, 25253, 7, 80, 2, 2, 25253, 3678, 3, 2, 2, 2, 25254, 25255, 7, 85, 2, 2, 25255, 25256, 7, 91, 2, 2, 25256, 25257, 7, 85, 2, 2, 25257, 25258, 7, 97, 2, 2, 25258, 25259, 7, 90, 2, 2, 25259, 25260, 7, 83, 2, 2, 25260, 25261, 7, 72, 2, 2, 25261, 25262, 7, 87, 2, 2, 25262, 25263, 7, 80, 2, 2, 25263, 25264, 7, 69, 2, 2, 25264, 25265, 7, 84, 2, 2, 25265, 3680, 3, 2, 2, 2, 25266, 25267, 7, 85, 2, 2, 25267, 25268, 7, 91, 2, 2, 25268, 25269, 7, 85, 2, 2, 25269, 25270, 7, 97, 2, 2, 25270, 25271, 7, 90, 2, 2, 25271, 25272, 7, 83, 2, 2, 25272, 25273, 7, 73, 2, 2, 25273, 25274, 7, 71, 2, 2, 25274, 25275, 7, 86, 2, 2, 25275, 25276, 7, 69, 2, 2, 25276, 25277, 7, 81, 2, 2, 25277, 25278, 7, 80, 2, 2, 25278, 25279, 7, 86, 2, 2, 25279, 25280, 7, 71, 2, 2, 25280, 25281, 7, 80, 2, 2, 25281, 25282, 7, 86, 2, 2, 25282, 3682, 3, 2, 2, 2, 25283, 25284, 7, 85, 2, 2, 25284, 25285, 7, 91, 2, 2, 25285, 25286, 7, 85, 2, 2, 25286, 25287, 7, 97, 2, 2, 25287, 25288, 7, 90, 2, 2, 25288, 25289, 7, 83, 2, 2, 25289, 25290, 7, 75, 2, 2, 25290, 25291, 7, 80, 2, 2, 25291, 25292, 7, 70, 2, 2, 25292, 25293, 7, 90, 2, 2, 25293, 25294, 7, 81, 2, 2, 25294, 25295, 7, 72, 2, 2, 25295, 3684, 3, 2, 2, 2, 25296, 25297, 7, 85, 2, 2, 25297, 25298, 7, 91, 2, 2, 25298, 25299, 7, 85, 2, 2, 25299, 25300, 7, 97, 2, 2, 25300, 25301, 7, 90, 2, 2, 25301, 25302, 7, 83, 2, 2, 25302, 25303, 7, 75, 2, 2, 25303, 25304, 7, 80, 2, 2, 25304, 25305, 7, 85, 2, 2, 25305, 25306, 7, 71, 2, 2, 25306, 25307, 7, 84, 2, 2, 25307, 25308, 7, 86, 2, 2, 25308, 3686, 3, 2, 2, 2, 25309, 25310, 7, 85, 2, 2, 25310, 25311, 7, 91, 2, 2, 25311, 25312, 7, 85, 2, 2, 25312, 25313, 7, 97, 2, 2, 25313, 25314, 7, 90, 2, 2, 25314, 25315, 7, 83, 2, 2, 25315, 25316, 7, 75, 2, 2, 25316, 25317, 7, 80, 2, 2, 25317, 25318, 7, 85, 2, 2, 25318, 25319, 7, 82, 2, 2, 25319, 25320, 7, 72, 2, 2, 25320, 25321, 7, 90, 2, 2, 25321, 3688, 3, 2, 2, 2, 25322, 25323, 7, 85, 2, 2, 25323, 25324, 7, 91, 2, 2, 25324, 25325, 7, 85, 2, 2, 25325, 25326, 7, 97, 2, 2, 25326, 25327, 7, 90, 2, 2, 25327, 25328, 7, 83, 2, 2, 25328, 25329, 7, 75, 2, 2, 25329, 25330, 7, 84, 2, 2, 25330, 25331, 7, 75, 2, 2, 25331, 25332, 7, 52, 2, 2, 25332, 25333, 7, 87, 2, 2, 25333, 25334, 7, 84, 2, 2, 25334, 25335, 7, 75, 2, 2, 25335, 3690, 3, 2, 2, 2, 25336, 25337, 7, 85, 2, 2, 25337, 25338, 7, 91, 2, 2, 25338, 25339, 7, 85, 2, 2, 25339, 25340, 7, 97, 2, 2, 25340, 25341, 7, 90, 2, 2, 25341, 25342, 7, 83, 2, 2, 25342, 25343, 7, 78, 2, 2, 25343, 25344, 7, 67, 2, 2, 25344, 25345, 7, 80, 2, 2, 25345, 25346, 7, 73, 2, 2, 25346, 3692, 3, 2, 2, 2, 25347, 25348, 7, 85, 2, 2, 25348, 25349, 7, 91, 2, 2, 25349, 25350, 7, 85, 2, 2, 25350, 25351, 7, 97, 2, 2, 25351, 25352, 7, 90, 2, 2, 25352, 25353, 7, 83, 2, 2, 25353, 25354, 7, 78, 2, 2, 25354, 25355, 7, 78, 2, 2, 25355, 25356, 7, 80, 2, 2, 25356, 25357, 7, 79, 2, 2, 25357, 25358, 7, 72, 2, 2, 25358, 25359, 7, 84, 2, 2, 25359, 25360, 7, 79, 2, 2, 25360, 25361, 7, 83, 2, 2, 25361, 25362, 7, 80, 2, 2, 25362, 25363, 7, 79, 2, 2, 25363, 3694, 3, 2, 2, 2, 25364, 25365, 7, 85, 2, 2, 25365, 25366, 7, 91, 2, 2, 25366, 25367, 7, 85, 2, 2, 25367, 25368, 7, 97, 2, 2, 25368, 25369, 7, 90, 2, 2, 25369, 25370, 7, 83, 2, 2, 25370, 25371, 7, 79, 2, 2, 25371, 25372, 7, 77, 2, 2, 25372, 25373, 7, 80, 2, 2, 25373, 25374, 7, 81, 2, 2, 25374, 25375, 7, 70, 2, 2, 25375, 25376, 7, 71, 2, 2, 25376, 25377, 7, 84, 2, 2, 25377, 25378, 7, 71, 2, 2, 25378, 25379, 7, 72, 2, 2, 25379, 3696, 3, 2, 2, 2, 25380, 25381, 7, 85, 2, 2, 25381, 25382, 7, 91, 2, 2, 25382, 25383, 7, 85, 2, 2, 25383, 25384, 7, 97, 2, 2, 25384, 25385, 7, 90, 2, 2, 25385, 25386, 7, 83, 2, 2, 25386, 25387, 7, 80, 2, 2, 25387, 25388, 7, 75, 2, 2, 25388, 25389, 7, 78, 2, 2, 25389, 25390, 7, 78, 2, 2, 25390, 25391, 7, 71, 2, 2, 25391, 25392, 7, 70, 2, 2, 25392, 3698, 3, 2, 2, 2, 25393, 25394, 7, 85, 2, 2, 25394, 25395, 7, 91, 2, 2, 25395, 25396, 7, 85, 2, 2, 25396, 25397, 7, 97, 2, 2, 25397, 25398, 7, 90, 2, 2, 25398, 25399, 7, 83, 2, 2, 25399, 25400, 7, 80, 2, 2, 25400, 25401, 7, 81, 2, 2, 25401, 25402, 7, 70, 2, 2, 25402, 25403, 7, 71, 2, 2, 25403, 25404, 7, 80, 2, 2, 25404, 25405, 7, 67, 2, 2, 25405, 25406, 7, 79, 2, 2, 25406, 25407, 7, 71, 2, 2, 25407, 3700, 3, 2, 2, 2, 25408, 25409, 7, 85, 2, 2, 25409, 25410, 7, 91, 2, 2, 25410, 25411, 7, 85, 2, 2, 25411, 25412, 7, 97, 2, 2, 25412, 25413, 7, 90, 2, 2, 25413, 25414, 7, 83, 2, 2, 25414, 25415, 7, 80, 2, 2, 25415, 25416, 7, 81, 2, 2, 25416, 25417, 7, 84, 2, 2, 25417, 25418, 7, 79, 2, 2, 25418, 25419, 7, 85, 2, 2, 25419, 25420, 7, 82, 2, 2, 25420, 25421, 7, 67, 2, 2, 25421, 25422, 7, 69, 2, 2, 25422, 25423, 7, 71, 2, 2, 25423, 3702, 3, 2, 2, 2, 25424, 25425, 7, 85, 2, 2, 25425, 25426, 7, 91, 2, 2, 25426, 25427, 7, 85, 2, 2, 25427, 25428, 7, 97, 2, 2, 25428, 25429, 7, 90, 2, 2, 25429, 25430, 7, 83, 2, 2, 25430, 25431, 7, 80, 2, 2, 25431, 25432, 7, 81, 2, 2, 25432, 25433, 7, 84, 2, 2, 25433, 25434, 7, 79, 2, 2, 25434, 25435, 7, 87, 2, 2, 25435, 25436, 7, 69, 2, 2, 25436, 25437, 7, 81, 2, 2, 25437, 25438, 7, 70, 2, 2, 25438, 25439, 7, 71, 2, 2, 25439, 3704, 3, 2, 2, 2, 25440, 25441, 7, 85, 2, 2, 25441, 25442, 7, 91, 2, 2, 25442, 25443, 7, 85, 2, 2, 25443, 25444, 7, 97, 2, 2, 25444, 25445, 7, 90, 2, 2, 25445, 25446, 7, 83, 2, 2, 25446, 25447, 7, 97, 2, 2, 25447, 25448, 7, 80, 2, 2, 25448, 25449, 7, 84, 2, 2, 25449, 25450, 7, 80, 2, 2, 25450, 25451, 7, 73, 2, 2, 25451, 3706, 3, 2, 2, 2, 25452, 25453, 7, 85, 2, 2, 25453, 25454, 7, 91, 2, 2, 25454, 25455, 7, 85, 2, 2, 25455, 25456, 7, 97, 2, 2, 25456, 25457, 7, 90, 2, 2, 25457, 25458, 7, 83, 2, 2, 25458, 25459, 7, 80, 2, 2, 25459, 25460, 7, 85, 2, 2, 25460, 25461, 7, 82, 2, 2, 25461, 25462, 7, 54, 2, 2, 25462, 25463, 7, 82, 2, 2, 25463, 25464, 7, 72, 2, 2, 25464, 25465, 7, 90, 2, 2, 25465, 3708, 3, 2, 2, 2, 25466, 25467, 7, 85, 2, 2, 25467, 25468, 7, 91, 2, 2, 25468, 25469, 7, 85, 2, 2, 25469, 25470, 7, 97, 2, 2, 25470, 25471, 7, 90, 2, 2, 25471, 25472, 7, 83, 2, 2, 25472, 25473, 7, 80, 2, 2, 25473, 25474, 7, 85, 2, 2, 25474, 25475, 7, 82, 2, 2, 25475, 25476, 7, 72, 2, 2, 25476, 25477, 7, 84, 2, 2, 25477, 25478, 7, 79, 2, 2, 25478, 25479, 7, 83, 2, 2, 25479, 25480, 7, 80, 2, 2, 25480, 25481, 7, 79, 2, 2, 25481, 3710, 3, 2, 2, 2, 25482, 25483, 7, 85, 2, 2, 25483, 25484, 7, 91, 2, 2, 25484, 25485, 7, 85, 2, 2, 25485, 25486, 7, 97, 2, 2, 25486, 25487, 7, 90, 2, 2, 25487, 25488, 7, 83, 2, 2, 25488, 25489, 7, 82, 2, 2, 25489, 25490, 7, 72, 2, 2, 25490, 25491, 7, 90, 2, 2, 25491, 25492, 7, 72, 2, 2, 25492, 25493, 7, 84, 2, 2, 25493, 25494, 7, 79, 2, 2, 25494, 25495, 7, 83, 2, 2, 25495, 25496, 7, 80, 2, 2, 25496, 25497, 7, 79, 2, 2, 25497, 3712, 3, 2, 2, 2, 25498, 25499, 7, 85, 2, 2, 25499, 25500, 7, 91, 2, 2, 25500, 25501, 7, 85, 2, 2, 25501, 25502, 7, 97, 2, 2, 25502, 25503, 7, 90, 2, 2, 25503, 25504, 7, 83, 2, 2, 25504, 25505, 7, 97, 2, 2, 25505, 25506, 7, 82, 2, 2, 25506, 25507, 7, 77, 2, 2, 25507, 25508, 7, 85, 2, 2, 25508, 25509, 7, 83, 2, 2, 25509, 25510, 7, 78, 2, 2, 25510, 25511, 7, 52, 2, 2, 25511, 25512, 7, 90, 2, 2, 25512, 25513, 7, 79, 2, 2, 25513, 25514, 7, 78, 2, 2, 25514, 3714, 3, 2, 2, 2, 25515, 25516, 7, 85, 2, 2, 25516, 25517, 7, 91, 2, 2, 25517, 25518, 7, 85, 2, 2, 25518, 25519, 7, 97, 2, 2, 25519, 25520, 7, 90, 2, 2, 25520, 25521, 7, 83, 2, 2, 25521, 25522, 7, 82, 2, 2, 25522, 25523, 7, 81, 2, 2, 25523, 25524, 7, 78, 2, 2, 25524, 25525, 7, 91, 2, 2, 25525, 25526, 7, 67, 2, 2, 25526, 25527, 7, 68, 2, 2, 25527, 25528, 7, 85, 2, 2, 25528, 3716, 3, 2, 2, 2, 25529, 25530, 7, 85, 2, 2, 25530, 25531, 7, 91, 2, 2, 25531, 25532, 7, 85, 2, 2, 25532, 25533, 7, 97, 2, 2, 25533, 25534, 7, 90, 2, 2, 25534, 25535, 7, 83, 2, 2, 25535, 25536, 7, 82, 2, 2, 25536, 25537, 7, 81, 2, 2, 25537, 25538, 7, 78, 2, 2, 25538, 25539, 7, 91, 2, 2, 25539, 25540, 7, 67, 2, 2, 25540, 25541, 7, 70, 2, 2, 25541, 25542, 7, 70, 2, 2, 25542, 3718, 3, 2, 2, 2, 25543, 25544, 7, 85, 2, 2, 25544, 25545, 7, 91, 2, 2, 25545, 25546, 7, 85, 2, 2, 25546, 25547, 7, 97, 2, 2, 25547, 25548, 7, 90, 2, 2, 25548, 25549, 7, 83, 2, 2, 25549, 25550, 7, 82, 2, 2, 25550, 25551, 7, 81, 2, 2, 25551, 25552, 7, 78, 2, 2, 25552, 25553, 7, 91, 2, 2, 25553, 25554, 7, 69, 2, 2, 25554, 25555, 7, 71, 2, 2, 25555, 25556, 7, 78, 2, 2, 25556, 3720, 3, 2, 2, 2, 25557, 25558, 7, 85, 2, 2, 25558, 25559, 7, 91, 2, 2, 25559, 25560, 7, 85, 2, 2, 25560, 25561, 7, 97, 2, 2, 25561, 25562, 7, 90, 2, 2, 25562, 25563, 7, 83, 2, 2, 25563, 25564, 7, 82, 2, 2, 25564, 25565, 7, 81, 2, 2, 25565, 25566, 7, 78, 2, 2, 25566, 25567, 7, 91, 2, 2, 25567, 25568, 7, 69, 2, 2, 25568, 25569, 7, 85, 2, 2, 25569, 25570, 7, 86, 2, 2, 25570, 25571, 7, 68, 2, 2, 25571, 25572, 7, 78, 2, 2, 25572, 3722, 3, 2, 2, 2, 25573, 25574, 7, 85, 2, 2, 25574, 25575, 7, 91, 2, 2, 25575, 25576, 7, 85, 2, 2, 25576, 25577, 7, 97, 2, 2, 25577, 25578, 7, 90, 2, 2, 25578, 25579, 7, 83, 2, 2, 25579, 25580, 7, 82, 2, 2, 25580, 25581, 7, 81, 2, 2, 25581, 25582, 7, 78, 2, 2, 25582, 25583, 7, 91, 2, 2, 25583, 25584, 7, 69, 2, 2, 25584, 25585, 7, 85, 2, 2, 25585, 25586, 7, 86, 2, 2, 25586, 3724, 3, 2, 2, 2, 25587, 25588, 7, 85, 2, 2, 25588, 25589, 7, 91, 2, 2, 25589, 25590, 7, 85, 2, 2, 25590, 25591, 7, 97, 2, 2, 25591, 25592, 7, 90, 2, 2, 25592, 25593, 7, 83, 2, 2, 25593, 25594, 7, 82, 2, 2, 25594, 25595, 7, 81, 2, 2, 25595, 25596, 7, 78, 2, 2, 25596, 25597, 7, 91, 2, 2, 25597, 25598, 7, 70, 2, 2, 25598, 25599, 7, 75, 2, 2, 25599, 25600, 7, 88, 2, 2, 25600, 3726, 3, 2, 2, 2, 25601, 25602, 7, 85, 2, 2, 25602, 25603, 7, 91, 2, 2, 25603, 25604, 7, 85, 2, 2, 25604, 25605, 7, 97, 2, 2, 25605, 25606, 7, 90, 2, 2, 25606, 25607, 7, 83, 2, 2, 25607, 25608, 7, 82, 2, 2, 25608, 25609, 7, 81, 2, 2, 25609, 25610, 7, 78, 2, 2, 25610, 25611, 7, 91, 2, 2, 25611, 25612, 7, 72, 2, 2, 25612, 25613, 7, 78, 2, 2, 25613, 25614, 7, 84, 2, 2, 25614, 3728, 3, 2, 2, 2, 25615, 25616, 7, 85, 2, 2, 25616, 25617, 7, 91, 2, 2, 25617, 25618, 7, 85, 2, 2, 25618, 25619, 7, 97, 2, 2, 25619, 25620, 7, 90, 2, 2, 25620, 25621, 7, 83, 2, 2, 25621, 25622, 7, 82, 2, 2, 25622, 25623, 7, 81, 2, 2, 25623, 25624, 7, 78, 2, 2, 25624, 25625, 7, 91, 2, 2, 25625, 25626, 7, 79, 2, 2, 25626, 25627, 7, 81, 2, 2, 25627, 25628, 7, 70, 2, 2, 25628, 3730, 3, 2, 2, 2, 25629, 25630, 7, 85, 2, 2, 25630, 25631, 7, 91, 2, 2, 25631, 25632, 7, 85, 2, 2, 25632, 25633, 7, 97, 2, 2, 25633, 25634, 7, 90, 2, 2, 25634, 25635, 7, 83, 2, 2, 25635, 25636, 7, 82, 2, 2, 25636, 25637, 7, 81, 2, 2, 25637, 25638, 7, 78, 2, 2, 25638, 25639, 7, 91, 2, 2, 25639, 25640, 7, 79, 2, 2, 25640, 25641, 7, 87, 2, 2, 25641, 25642, 7, 78, 2, 2, 25642, 3732, 3, 2, 2, 2, 25643, 25644, 7, 85, 2, 2, 25644, 25645, 7, 91, 2, 2, 25645, 25646, 7, 85, 2, 2, 25646, 25647, 7, 97, 2, 2, 25647, 25648, 7, 90, 2, 2, 25648, 25649, 7, 83, 2, 2, 25649, 25650, 7, 82, 2, 2, 25650, 25651, 7, 81, 2, 2, 25651, 25652, 7, 78, 2, 2, 25652, 25653, 7, 91, 2, 2, 25653, 25654, 7, 84, 2, 2, 25654, 25655, 7, 80, 2, 2, 25655, 25656, 7, 70, 2, 2, 25656, 3734, 3, 2, 2, 2, 25657, 25658, 7, 85, 2, 2, 25658, 25659, 7, 91, 2, 2, 25659, 25660, 7, 85, 2, 2, 25660, 25661, 7, 97, 2, 2, 25661, 25662, 7, 90, 2, 2, 25662, 25663, 7, 83, 2, 2, 25663, 25664, 7, 82, 2, 2, 25664, 25665, 7, 81, 2, 2, 25665, 25666, 7, 78, 2, 2, 25666, 25667, 7, 91, 2, 2, 25667, 25668, 7, 85, 2, 2, 25668, 25669, 7, 83, 2, 2, 25669, 25670, 7, 84, 2, 2, 25670, 25671, 7, 86, 2, 2, 25671, 3736, 3, 2, 2, 2, 25672, 25673, 7, 85, 2, 2, 25673, 25674, 7, 91, 2, 2, 25674, 25675, 7, 85, 2, 2, 25675, 25676, 7, 97, 2, 2, 25676, 25677, 7, 90, 2, 2, 25677, 25678, 7, 83, 2, 2, 25678, 25679, 7, 82, 2, 2, 25679, 25680, 7, 81, 2, 2, 25680, 25681, 7, 78, 2, 2, 25681, 25682, 7, 91, 2, 2, 25682, 25683, 7, 85, 2, 2, 25683, 25684, 7, 87, 2, 2, 25684, 25685, 7, 68, 2, 2, 25685, 3738, 3, 2, 2, 2, 25686, 25687, 7, 85, 2, 2, 25687, 25688, 7, 91, 2, 2, 25688, 25689, 7, 85, 2, 2, 25689, 25690, 7, 97, 2, 2, 25690, 25691, 7, 90, 2, 2, 25691, 25692, 7, 83, 2, 2, 25692, 25693, 7, 82, 2, 2, 25693, 25694, 7, 81, 2, 2, 25694, 25695, 7, 78, 2, 2, 25695, 25696, 7, 91, 2, 2, 25696, 25697, 7, 87, 2, 2, 25697, 25698, 7, 79, 2, 2, 25698, 25699, 7, 87, 2, 2, 25699, 25700, 7, 85, 2, 2, 25700, 3740, 3, 2, 2, 2, 25701, 25702, 7, 85, 2, 2, 25702, 25703, 7, 91, 2, 2, 25703, 25704, 7, 85, 2, 2, 25704, 25705, 7, 97, 2, 2, 25705, 25706, 7, 90, 2, 2, 25706, 25707, 7, 83, 2, 2, 25707, 25708, 7, 82, 2, 2, 25708, 25709, 7, 81, 2, 2, 25709, 25710, 7, 78, 2, 2, 25710, 25711, 7, 91, 2, 2, 25711, 25712, 7, 87, 2, 2, 25712, 25713, 7, 82, 2, 2, 25713, 25714, 7, 78, 2, 2, 25714, 25715, 7, 85, 2, 2, 25715, 3742, 3, 2, 2, 2, 25716, 25717, 7, 85, 2, 2, 25717, 25718, 7, 91, 2, 2, 25718, 25719, 7, 85, 2, 2, 25719, 25720, 7, 97, 2, 2, 25720, 25721, 7, 90, 2, 2, 25721, 25722, 7, 83, 2, 2, 25722, 25723, 7, 82, 2, 2, 25723, 25724, 7, 81, 2, 2, 25724, 25725, 7, 78, 2, 2, 25725, 25726, 7, 91, 2, 2, 25726, 25727, 7, 88, 2, 2, 25727, 25728, 7, 71, 2, 2, 25728, 25729, 7, 83, 2, 2, 25729, 3744, 3, 2, 2, 2, 25730, 25731, 7, 85, 2, 2, 25731, 25732, 7, 91, 2, 2, 25732, 25733, 7, 85, 2, 2, 25733, 25734, 7, 97, 2, 2, 25734, 25735, 7, 90, 2, 2, 25735, 25736, 7, 83, 2, 2, 25736, 25737, 7, 82, 2, 2, 25737, 25738, 7, 81, 2, 2, 25738, 25739, 7, 78, 2, 2, 25739, 25740, 7, 91, 2, 2, 25740, 25741, 7, 88, 2, 2, 25741, 25742, 7, 73, 2, 2, 25742, 25743, 7, 71, 2, 2, 25743, 3746, 3, 2, 2, 2, 25744, 25745, 7, 85, 2, 2, 25745, 25746, 7, 91, 2, 2, 25746, 25747, 7, 85, 2, 2, 25747, 25748, 7, 97, 2, 2, 25748, 25749, 7, 90, 2, 2, 25749, 25750, 7, 83, 2, 2, 25750, 25751, 7, 82, 2, 2, 25751, 25752, 7, 81, 2, 2, 25752, 25753, 7, 78, 2, 2, 25753, 25754, 7, 91, 2, 2, 25754, 25755, 7, 88, 2, 2, 25755, 25756, 7, 73, 2, 2, 25756, 25757, 7, 86, 2, 2, 25757, 3748, 3, 2, 2, 2, 25758, 25759, 7, 85, 2, 2, 25759, 25760, 7, 91, 2, 2, 25760, 25761, 7, 85, 2, 2, 25761, 25762, 7, 97, 2, 2, 25762, 25763, 7, 90, 2, 2, 25763, 25764, 7, 83, 2, 2, 25764, 25765, 7, 82, 2, 2, 25765, 25766, 7, 81, 2, 2, 25766, 25767, 7, 78, 2, 2, 25767, 25768, 7, 91, 2, 2, 25768, 25769, 7, 88, 2, 2, 25769, 25770, 7, 78, 2, 2, 25770, 25771, 7, 71, 2, 2, 25771, 3750, 3, 2, 2, 2, 25772, 25773, 7, 85, 2, 2, 25773, 25774, 7, 91, 2, 2, 25774, 25775, 7, 85, 2, 2, 25775, 25776, 7, 97, 2, 2, 25776, 25777, 7, 90, 2, 2, 25777, 25778, 7, 83, 2, 2, 25778, 25779, 7, 82, 2, 2, 25779, 25780, 7, 81, 2, 2, 25780, 25781, 7, 78, 2, 2, 25781, 25782, 7, 91, 2, 2, 25782, 25783, 7, 88, 2, 2, 25783, 25784, 7, 78, 2, 2, 25784, 25785, 7, 86, 2, 2, 25785, 3752, 3, 2, 2, 2, 25786, 25787, 7, 85, 2, 2, 25787, 25788, 7, 91, 2, 2, 25788, 25789, 7, 85, 2, 2, 25789, 25790, 7, 97, 2, 2, 25790, 25791, 7, 90, 2, 2, 25791, 25792, 7, 83, 2, 2, 25792, 25793, 7, 82, 2, 2, 25793, 25794, 7, 81, 2, 2, 25794, 25795, 7, 78, 2, 2, 25795, 25796, 7, 91, 2, 2, 25796, 25797, 7, 88, 2, 2, 25797, 25798, 7, 80, 2, 2, 25798, 25799, 7, 71, 2, 2, 25799, 3754, 3, 2, 2, 2, 25800, 25801, 7, 85, 2, 2, 25801, 25802, 7, 91, 2, 2, 25802, 25803, 7, 85, 2, 2, 25803, 25804, 7, 97, 2, 2, 25804, 25805, 7, 90, 2, 2, 25805, 25806, 7, 83, 2, 2, 25806, 25807, 7, 84, 2, 2, 25807, 25808, 7, 71, 2, 2, 25808, 25809, 7, 72, 2, 2, 25809, 25810, 7, 52, 2, 2, 25810, 25811, 7, 88, 2, 2, 25811, 25812, 7, 67, 2, 2, 25812, 25813, 7, 78, 2, 2, 25813, 3756, 3, 2, 2, 2, 25814, 25815, 7, 85, 2, 2, 25815, 25816, 7, 91, 2, 2, 25816, 25817, 7, 85, 2, 2, 25817, 25818, 7, 97, 2, 2, 25818, 25819, 7, 90, 2, 2, 25819, 25820, 7, 83, 2, 2, 25820, 25821, 7, 84, 2, 2, 25821, 25822, 7, 71, 2, 2, 25822, 25823, 7, 80, 2, 2, 25823, 25824, 7, 67, 2, 2, 25824, 25825, 7, 79, 2, 2, 25825, 25826, 7, 71, 2, 2, 25826, 3758, 3, 2, 2, 2, 25827, 25828, 7, 85, 2, 2, 25828, 25829, 7, 91, 2, 2, 25829, 25830, 7, 85, 2, 2, 25830, 25831, 7, 97, 2, 2, 25831, 25832, 7, 90, 2, 2, 25832, 25833, 7, 83, 2, 2, 25833, 25834, 7, 84, 2, 2, 25834, 25835, 7, 71, 2, 2, 25835, 25836, 7, 82, 2, 2, 25836, 25837, 7, 78, 2, 2, 25837, 25838, 7, 67, 2, 2, 25838, 25839, 7, 69, 2, 2, 25839, 25840, 7, 71, 2, 2, 25840, 3760, 3, 2, 2, 2, 25841, 25842, 7, 85, 2, 2, 25842, 25843, 7, 91, 2, 2, 25843, 25844, 7, 85, 2, 2, 25844, 25845, 7, 97, 2, 2, 25845, 25846, 7, 90, 2, 2, 25846, 25847, 7, 83, 2, 2, 25847, 25848, 7, 84, 2, 2, 25848, 25849, 7, 71, 2, 2, 25849, 25850, 7, 85, 2, 2, 25850, 25851, 7, 88, 2, 2, 25851, 25852, 7, 87, 2, 2, 25852, 25853, 7, 84, 2, 2, 25853, 25854, 7, 75, 2, 2, 25854, 3762, 3, 2, 2, 2, 25855, 25856, 7, 85, 2, 2, 25856, 25857, 7, 91, 2, 2, 25857, 25858, 7, 85, 2, 2, 25858, 25859, 7, 97, 2, 2, 25859, 25860, 7, 90, 2, 2, 25860, 25861, 7, 83, 2, 2, 25861, 25862, 7, 84, 2, 2, 25862, 25863, 7, 80, 2, 2, 25863, 25864, 7, 70, 2, 2, 25864, 25865, 7, 74, 2, 2, 25865, 25866, 7, 67, 2, 2, 25866, 25867, 7, 78, 2, 2, 25867, 25868, 7, 72, 2, 2, 25868, 25869, 7, 52, 2, 2, 25869, 25870, 7, 71, 2, 2, 25870, 25871, 7, 88, 2, 2, 25871, 25872, 7, 80, 2, 2, 25872, 3764, 3, 2, 2, 2, 25873, 25874, 7, 85, 2, 2, 25874, 25875, 7, 91, 2, 2, 25875, 25876, 7, 85, 2, 2, 25876, 25877, 7, 97, 2, 2, 25877, 25878, 7, 90, 2, 2, 25878, 25879, 7, 83, 2, 2, 25879, 25880, 7, 84, 2, 2, 25880, 25881, 7, 85, 2, 2, 25881, 25882, 7, 78, 2, 2, 25882, 25883, 7, 88, 2, 2, 25883, 25884, 7, 83, 2, 2, 25884, 25885, 7, 80, 2, 2, 25885, 25886, 7, 79, 2, 2, 25886, 3766, 3, 2, 2, 2, 25887, 25888, 7, 85, 2, 2, 25888, 25889, 7, 91, 2, 2, 25889, 25890, 7, 85, 2, 2, 25890, 25891, 7, 97, 2, 2, 25891, 25892, 7, 90, 2, 2, 25892, 25893, 7, 83, 2, 2, 25893, 25894, 7, 84, 2, 2, 25894, 25895, 7, 91, 2, 2, 25895, 25896, 7, 71, 2, 2, 25896, 25897, 7, 80, 2, 2, 25897, 25898, 7, 88, 2, 2, 25898, 25899, 7, 82, 2, 2, 25899, 25900, 7, 73, 2, 2, 25900, 25901, 7, 71, 2, 2, 25901, 25902, 7, 86, 2, 2, 25902, 3768, 3, 2, 2, 2, 25903, 25904, 7, 85, 2, 2, 25904, 25905, 7, 91, 2, 2, 25905, 25906, 7, 85, 2, 2, 25906, 25907, 7, 97, 2, 2, 25907, 25908, 7, 90, 2, 2, 25908, 25909, 7, 83, 2, 2, 25909, 25910, 7, 84, 2, 2, 25910, 25911, 7, 91, 2, 2, 25911, 25912, 7, 88, 2, 2, 25912, 25913, 7, 67, 2, 2, 25913, 25914, 7, 84, 2, 2, 25914, 25915, 7, 73, 2, 2, 25915, 25916, 7, 71, 2, 2, 25916, 25917, 7, 86, 2, 2, 25917, 3770, 3, 2, 2, 2, 25918, 25919, 7, 85, 2, 2, 25919, 25920, 7, 91, 2, 2, 25920, 25921, 7, 85, 2, 2, 25921, 25922, 7, 97, 2, 2, 25922, 25923, 7, 90, 2, 2, 25923, 25924, 7, 83, 2, 2, 25924, 25925, 7, 84, 2, 2, 25925, 25926, 7, 91, 2, 2, 25926, 25927, 7, 89, 2, 2, 25927, 25928, 7, 84, 2, 2, 25928, 25929, 7, 82, 2, 2, 25929, 3772, 3, 2, 2, 2, 25930, 25931, 7, 85, 2, 2, 25931, 25932, 7, 91, 2, 2, 25932, 25933, 7, 85, 2, 2, 25933, 25934, 7, 97, 2, 2, 25934, 25935, 7, 90, 2, 2, 25935, 25936, 7, 83, 2, 2, 25936, 25937, 7, 85, 2, 2, 25937, 25938, 7, 71, 2, 2, 25938, 25939, 7, 83, 2, 2, 25939, 25940, 7, 52, 2, 2, 25940, 25941, 7, 69, 2, 2, 25941, 25942, 7, 81, 2, 2, 25942, 25943, 7, 80, 2, 2, 25943, 25944, 7, 54, 2, 2, 25944, 25945, 7, 90, 2, 2, 25945, 25946, 7, 69, 2, 2, 25946, 3774, 3, 2, 2, 2, 25947, 25948, 7, 85, 2, 2, 25948, 25949, 7, 91, 2, 2, 25949, 25950, 7, 85, 2, 2, 25950, 25951, 7, 97, 2, 2, 25951, 25952, 7, 90, 2, 2, 25952, 25953, 7, 83, 2, 2, 25953, 25954, 7, 85, 2, 2, 25954, 25955, 7, 71, 2, 2, 25955, 25956, 7, 83, 2, 2, 25956, 25957, 7, 52, 2, 2, 25957, 25958, 7, 69, 2, 2, 25958, 25959, 7, 81, 2, 2, 25959, 25960, 7, 80, 2, 2, 25960, 3776, 3, 2, 2, 2, 25961, 25962, 7, 85, 2, 2, 25962, 25963, 7, 91, 2, 2, 25963, 25964, 7, 85, 2, 2, 25964, 25965, 7, 97, 2, 2, 25965, 25966, 7, 90, 2, 2, 25966, 25967, 7, 83, 2, 2, 25967, 25968, 7, 85, 2, 2, 25968, 25969, 7, 71, 2, 2, 25969, 25970, 7, 83, 2, 2, 25970, 25971, 7, 70, 2, 2, 25971, 25972, 7, 71, 2, 2, 25972, 25973, 7, 71, 2, 2, 25973, 25974, 7, 82, 2, 2, 25974, 25975, 7, 71, 2, 2, 25975, 25976, 7, 83, 2, 2, 25976, 3778, 3, 2, 2, 2, 25977, 25978, 7, 85, 2, 2, 25978, 25979, 7, 91, 2, 2, 25979, 25980, 7, 85, 2, 2, 25980, 25981, 7, 97, 2, 2, 25981, 25982, 7, 90, 2, 2, 25982, 25983, 7, 83, 2, 2, 25983, 25984, 7, 85, 2, 2, 25984, 25985, 7, 71, 2, 2, 25985, 25986, 7, 83, 2, 2, 25986, 25987, 7, 75, 2, 2, 25987, 25988, 7, 80, 2, 2, 25988, 25989, 7, 85, 2, 2, 25989, 25990, 7, 68, 2, 2, 25990, 3780, 3, 2, 2, 2, 25991, 25992, 7, 85, 2, 2, 25992, 25993, 7, 91, 2, 2, 25993, 25994, 7, 85, 2, 2, 25994, 25995, 7, 97, 2, 2, 25995, 25996, 7, 90, 2, 2, 25996, 25997, 7, 83, 2, 2, 25997, 25998, 7, 85, 2, 2, 25998, 25999, 7, 71, 2, 2, 25999, 26000, 7, 83, 2, 2, 26000, 26001, 7, 84, 2, 2, 26001, 26002, 7, 79, 2, 2, 26002, 3782, 3, 2, 2, 2, 26003, 26004, 7, 85, 2, 2, 26004, 26005, 7, 91, 2, 2, 26005, 26006, 7, 85, 2, 2, 26006, 26007, 7, 97, 2, 2, 26007, 26008, 7, 90, 2, 2, 26008, 26009, 7, 83, 2, 2, 26009, 26010, 7, 85, 2, 2, 26010, 26011, 7, 71, 2, 2, 26011, 26012, 7, 83, 2, 2, 26012, 26013, 7, 84, 2, 2, 26013, 26014, 7, 88, 2, 2, 26014, 26015, 7, 85, 2, 2, 26015, 3784, 3, 2, 2, 2, 26016, 26017, 7, 85, 2, 2, 26017, 26018, 7, 91, 2, 2, 26018, 26019, 7, 85, 2, 2, 26019, 26020, 7, 97, 2, 2, 26020, 26021, 7, 90, 2, 2, 26021, 26022, 7, 83, 2, 2, 26022, 26023, 7, 85, 2, 2, 26023, 26024, 7, 71, 2, 2, 26024, 26025, 7, 83, 2, 2, 26025, 26026, 7, 85, 2, 2, 26026, 26027, 7, 87, 2, 2, 26027, 26028, 7, 68, 2, 2, 26028, 3786, 3, 2, 2, 2, 26029, 26030, 7, 85, 2, 2, 26030, 26031, 7, 91, 2, 2, 26031, 26032, 7, 85, 2, 2, 26032, 26033, 7, 97, 2, 2, 26033, 26034, 7, 90, 2, 2, 26034, 26035, 7, 83, 2, 2, 26035, 26036, 7, 85, 2, 2, 26036, 26037, 7, 71, 2, 2, 26037, 26038, 7, 83, 2, 2, 26038, 26039, 7, 86, 2, 2, 26039, 26040, 7, 91, 2, 2, 26040, 26041, 7, 82, 2, 2, 26041, 26042, 7, 79, 2, 2, 26042, 26043, 7, 67, 2, 2, 26043, 26044, 7, 86, 2, 2, 26044, 26045, 7, 69, 2, 2, 26045, 26046, 7, 74, 2, 2, 26046, 3788, 3, 2, 2, 2, 26047, 26048, 7, 85, 2, 2, 26048, 26049, 7, 91, 2, 2, 26049, 26050, 7, 85, 2, 2, 26050, 26051, 7, 97, 2, 2, 26051, 26052, 7, 90, 2, 2, 26052, 26053, 7, 83, 2, 2, 26053, 26054, 7, 85, 2, 2, 26054, 26055, 7, 86, 2, 2, 26055, 26056, 7, 67, 2, 2, 26056, 26057, 7, 84, 2, 2, 26057, 26058, 7, 86, 2, 2, 26058, 26059, 7, 85, 2, 2, 26059, 26060, 7, 89, 2, 2, 26060, 26061, 7, 75, 2, 2, 26061, 26062, 7, 86, 2, 2, 26062, 26063, 7, 74, 2, 2, 26063, 3790, 3, 2, 2, 2, 26064, 26065, 7, 85, 2, 2, 26065, 26066, 7, 91, 2, 2, 26066, 26067, 7, 85, 2, 2, 26067, 26068, 7, 97, 2, 2, 26068, 26069, 7, 90, 2, 2, 26069, 26070, 7, 83, 2, 2, 26070, 26071, 7, 85, 2, 2, 26071, 26072, 7, 86, 2, 2, 26072, 26073, 7, 67, 2, 2, 26073, 26074, 7, 86, 2, 2, 26074, 26075, 7, 68, 2, 2, 26075, 26076, 7, 87, 2, 2, 26076, 26077, 7, 84, 2, 2, 26077, 26078, 7, 75, 2, 2, 26078, 3792, 3, 2, 2, 2, 26079, 26080, 7, 85, 2, 2, 26080, 26081, 7, 91, 2, 2, 26081, 26082, 7, 85, 2, 2, 26082, 26083, 7, 97, 2, 2, 26083, 26084, 7, 90, 2, 2, 26084, 26085, 7, 83, 2, 2, 26085, 26086, 7, 85, 2, 2, 26086, 26087, 7, 86, 2, 2, 26087, 26088, 7, 84, 2, 2, 26088, 26089, 7, 52, 2, 2, 26089, 26090, 7, 69, 2, 2, 26090, 26091, 7, 81, 2, 2, 26091, 26092, 7, 70, 2, 2, 26092, 26093, 7, 71, 2, 2, 26093, 26094, 7, 82, 2, 2, 26094, 3794, 3, 2, 2, 2, 26095, 26096, 7, 85, 2, 2, 26096, 26097, 7, 91, 2, 2, 26097, 26098, 7, 85, 2, 2, 26098, 26099, 7, 97, 2, 2, 26099, 26100, 7, 90, 2, 2, 26100, 26101, 7, 83, 2, 2, 26101, 26102, 7, 85, 2, 2, 26102, 26103, 7, 86, 2, 2, 26103, 26104, 7, 84, 2, 2, 26104, 26105, 7, 76, 2, 2, 26105, 26106, 7, 81, 2, 2, 26106, 26107, 7, 75, 2, 2, 26107, 26108, 7, 80, 2, 2, 26108, 3796, 3, 2, 2, 2, 26109, 26110, 7, 85, 2, 2, 26110, 26111, 7, 91, 2, 2, 26111, 26112, 7, 85, 2, 2, 26112, 26113, 7, 97, 2, 2, 26113, 26114, 7, 90, 2, 2, 26114, 26115, 7, 83, 2, 2, 26115, 26116, 7, 85, 2, 2, 26116, 26117, 7, 87, 2, 2, 26117, 26118, 7, 68, 2, 2, 26118, 26119, 7, 85, 2, 2, 26119, 26120, 7, 86, 2, 2, 26120, 26121, 7, 84, 2, 2, 26121, 26122, 7, 67, 2, 2, 26122, 26123, 7, 72, 2, 2, 26123, 26124, 7, 86, 2, 2, 26124, 3798, 3, 2, 2, 2, 26125, 26126, 7, 85, 2, 2, 26126, 26127, 7, 91, 2, 2, 26127, 26128, 7, 85, 2, 2, 26128, 26129, 7, 97, 2, 2, 26129, 26130, 7, 90, 2, 2, 26130, 26131, 7, 83, 2, 2, 26131, 26132, 7, 85, 2, 2, 26132, 26133, 7, 87, 2, 2, 26133, 26134, 7, 68, 2, 2, 26134, 26135, 7, 85, 2, 2, 26135, 26136, 7, 86, 2, 2, 26136, 26137, 7, 84, 2, 2, 26137, 26138, 7, 68, 2, 2, 26138, 26139, 7, 71, 2, 2, 26139, 26140, 7, 72, 2, 2, 26140, 3800, 3, 2, 2, 2, 26141, 26142, 7, 85, 2, 2, 26142, 26143, 7, 91, 2, 2, 26143, 26144, 7, 85, 2, 2, 26144, 26145, 7, 97, 2, 2, 26145, 26146, 7, 90, 2, 2, 26146, 26147, 7, 83, 2, 2, 26147, 26148, 7, 86, 2, 2, 26148, 26149, 7, 81, 2, 2, 26149, 26150, 7, 77, 2, 2, 26150, 26151, 7, 71, 2, 2, 26151, 26152, 7, 80, 2, 2, 26152, 26153, 7, 75, 2, 2, 26153, 26154, 7, 92, 2, 2, 26154, 26155, 7, 71, 2, 2, 26155, 3802, 3, 2, 2, 2, 26156, 26157, 7, 85, 2, 2, 26157, 26158, 7, 91, 2, 2, 26158, 26159, 7, 85, 2, 2, 26159, 26160, 7, 97, 2, 2, 26160, 26161, 7, 90, 2, 2, 26161, 26162, 7, 83, 2, 2, 26162, 26163, 7, 86, 2, 2, 26163, 26164, 7, 84, 2, 2, 26164, 26165, 7, 71, 2, 2, 26165, 26166, 7, 67, 2, 2, 26166, 26167, 7, 86, 2, 2, 26167, 26168, 7, 67, 2, 2, 26168, 26169, 7, 85, 2, 2, 26169, 3804, 3, 2, 2, 2, 26170, 26171, 7, 85, 2, 2, 26171, 26172, 7, 91, 2, 2, 26172, 26173, 7, 85, 2, 2, 26173, 26174, 7, 97, 2, 2, 26174, 26175, 7, 90, 2, 2, 26175, 26176, 7, 83, 2, 2, 26176, 26177, 7, 97, 2, 2, 26177, 26178, 7, 87, 2, 2, 26178, 26179, 7, 82, 2, 2, 26179, 26180, 7, 77, 2, 2, 26180, 26181, 7, 90, 2, 2, 26181, 26182, 7, 79, 2, 2, 26182, 26183, 7, 78, 2, 2, 26183, 26184, 7, 52, 2, 2, 26184, 26185, 7, 85, 2, 2, 26185, 26186, 7, 83, 2, 2, 26186, 26187, 7, 78, 2, 2, 26187, 3806, 3, 2, 2, 2, 26188, 26189, 7, 85, 2, 2, 26189, 26190, 7, 91, 2, 2, 26190, 26191, 7, 85, 2, 2, 26191, 26192, 7, 97, 2, 2, 26192, 26193, 7, 90, 2, 2, 26193, 26194, 7, 83, 2, 2, 26194, 26195, 7, 90, 2, 2, 26195, 26196, 7, 72, 2, 2, 26196, 26197, 7, 81, 2, 2, 26197, 26198, 7, 84, 2, 2, 26198, 26199, 7, 79, 2, 2, 26199, 3808, 3, 2, 2, 2, 26200, 26201, 7, 85, 2, 2, 26201, 26202, 7, 91, 2, 2, 26202, 26203, 7, 85, 2, 2, 26203, 26204, 7, 97, 2, 2, 26204, 26205, 7, 90, 2, 2, 26205, 26206, 7, 85, 2, 2, 26206, 26207, 7, 75, 2, 2, 26207, 26208, 7, 70, 2, 2, 26208, 26209, 7, 97, 2, 2, 26209, 26210, 7, 86, 2, 2, 26210, 26211, 7, 81, 2, 2, 26211, 26212, 7, 97, 2, 2, 26212, 26213, 7, 84, 2, 2, 26213, 26214, 7, 67, 2, 2, 26214, 26215, 7, 89, 2, 2, 26215, 3810, 3, 2, 2, 2, 26216, 26217, 7, 85, 2, 2, 26217, 26218, 7, 91, 2, 2, 26218, 26219, 7, 85, 2, 2, 26219, 26220, 7, 97, 2, 2, 26220, 26221, 7, 92, 2, 2, 26221, 26222, 7, 79, 2, 2, 26222, 26223, 7, 67, 2, 2, 26223, 26224, 7, 82, 2, 2, 26224, 26225, 7, 97, 2, 2, 26225, 26226, 7, 72, 2, 2, 26226, 26227, 7, 75, 2, 2, 26227, 26228, 7, 78, 2, 2, 26228, 26229, 7, 86, 2, 2, 26229, 26230, 7, 71, 2, 2, 26230, 26231, 7, 84, 2, 2, 26231, 3812, 3, 2, 2, 2, 26232, 26233, 7, 85, 2, 2, 26233, 26234, 7, 91, 2, 2, 26234, 26235, 7, 85, 2, 2, 26235, 26236, 7, 97, 2, 2, 26236, 26237, 7, 92, 2, 2, 26237, 26238, 7, 79, 2, 2, 26238, 26239, 7, 67, 2, 2, 26239, 26240, 7, 82, 2, 2, 26240, 26241, 7, 97, 2, 2, 26241, 26242, 7, 84, 2, 2, 26242, 26243, 7, 71, 2, 2, 26243, 26244, 7, 72, 2, 2, 26244, 26245, 7, 84, 2, 2, 26245, 26246, 7, 71, 2, 2, 26246, 26247, 7, 85, 2, 2, 26247, 26248, 7, 74, 2, 2, 26248, 3814, 3, 2, 2, 2, 26249, 26250, 7, 86, 2, 2, 26250, 26251, 7, 67, 2, 2, 26251, 26252, 7, 68, 2, 2, 26252, 26253, 7, 78, 2, 2, 26253, 26254, 7, 71, 2, 2, 26254, 26255, 7, 97, 2, 2, 26255, 26256, 7, 78, 2, 2, 26256, 26257, 7, 81, 2, 2, 26257, 26258, 7, 81, 2, 2, 26258, 26259, 7, 77, 2, 2, 26259, 26260, 7, 87, 2, 2, 26260, 26261, 7, 82, 2, 2, 26261, 26262, 7, 97, 2, 2, 26262, 26263, 7, 68, 2, 2, 26263, 26264, 7, 91, 2, 2, 26264, 26265, 7, 97, 2, 2, 26265, 26266, 7, 80, 2, 2, 26266, 26267, 7, 78, 2, 2, 26267, 3816, 3, 2, 2, 2, 26268, 26269, 7, 86, 2, 2, 26269, 26270, 7, 67, 2, 2, 26270, 26271, 7, 68, 2, 2, 26271, 26272, 7, 78, 2, 2, 26272, 26273, 7, 71, 2, 2, 26273, 26274, 7, 85, 2, 2, 26274, 26275, 7, 82, 2, 2, 26275, 26276, 7, 67, 2, 2, 26276, 26277, 7, 69, 2, 2, 26277, 26278, 7, 71, 2, 2, 26278, 26279, 7, 97, 2, 2, 26279, 26280, 7, 80, 2, 2, 26280, 26281, 7, 81, 2, 2, 26281, 3818, 3, 2, 2, 2, 26282, 26283, 7, 86, 2, 2, 26283, 26284, 7, 67, 2, 2, 26284, 26285, 7, 68, 2, 2, 26285, 26286, 7, 78, 2, 2, 26286, 26287, 7, 71, 2, 2, 26287, 26288, 7, 85, 2, 2, 26288, 26289, 7, 82, 2, 2, 26289, 26290, 7, 67, 2, 2, 26290, 26291, 7, 69, 2, 2, 26291, 26292, 7, 71, 2, 2, 26292, 3820, 3, 2, 2, 2, 26293, 26294, 7, 86, 2, 2, 26294, 26295, 7, 67, 2, 2, 26295, 26296, 7, 68, 2, 2, 26296, 26297, 7, 78, 2, 2, 26297, 26298, 7, 71, 2, 2, 26298, 26299, 7, 85, 2, 2, 26299, 3822, 3, 2, 2, 2, 26300, 26301, 7, 86, 2, 2, 26301, 26302, 7, 67, 2, 2, 26302, 26303, 7, 68, 2, 2, 26303, 26304, 7, 78, 2, 2, 26304, 26305, 7, 71, 2, 2, 26305, 26306, 7, 97, 2, 2, 26306, 26307, 7, 85, 2, 2, 26307, 26308, 7, 86, 2, 2, 26308, 26309, 7, 67, 2, 2, 26309, 26310, 7, 86, 2, 2, 26310, 26311, 7, 85, 2, 2, 26311, 3824, 3, 2, 2, 2, 26312, 26313, 7, 86, 2, 2, 26313, 26314, 7, 67, 2, 2, 26314, 26315, 7, 68, 2, 2, 26315, 26316, 7, 78, 2, 2, 26316, 26317, 7, 71, 2, 2, 26317, 3826, 3, 2, 2, 2, 26318, 26319, 7, 86, 2, 2, 26319, 26320, 7, 67, 2, 2, 26320, 26321, 7, 68, 2, 2, 26321, 26322, 7, 80, 2, 2, 26322, 26323, 7, 81, 2, 2, 26323, 3828, 3, 2, 2, 2, 26324, 26325, 7, 86, 2, 2, 26325, 26326, 7, 67, 2, 2, 26326, 26327, 7, 73, 2, 2, 26327, 3830, 3, 2, 2, 2, 26328, 26329, 7, 86, 2, 2, 26329, 26330, 7, 67, 2, 2, 26330, 26331, 7, 80, 2, 2, 26331, 26332, 7, 74, 2, 2, 26332, 3832, 3, 2, 2, 2, 26333, 26334, 7, 86, 2, 2, 26334, 26335, 7, 67, 2, 2, 26335, 26336, 7, 80, 2, 2, 26336, 3834, 3, 2, 2, 2, 26337, 26338, 7, 86, 2, 2, 26338, 26339, 7, 68, 2, 2, 26339, 26340, 7, 78, 2, 2, 26340, 26341, 7, 38, 2, 2, 26341, 26342, 7, 81, 2, 2, 26342, 26343, 7, 84, 2, 2, 26343, 26344, 7, 38, 2, 2, 26344, 26345, 7, 75, 2, 2, 26345, 26346, 7, 70, 2, 2, 26346, 26347, 7, 90, 2, 2, 26347, 26348, 7, 38, 2, 2, 26348, 26349, 7, 82, 2, 2, 26349, 26350, 7, 67, 2, 2, 26350, 26351, 7, 84, 2, 2, 26351, 26352, 7, 86, 2, 2, 26352, 26353, 7, 38, 2, 2, 26353, 26354, 7, 80, 2, 2, 26354, 26355, 7, 87, 2, 2, 26355, 26356, 7, 79, 2, 2, 26356, 3836, 3, 2, 2, 2, 26357, 26358, 7, 86, 2, 2, 26358, 26359, 7, 71, 2, 2, 26359, 26360, 7, 79, 2, 2, 26360, 26361, 7, 82, 2, 2, 26361, 26362, 7, 72, 2, 2, 26362, 26363, 7, 75, 2, 2, 26363, 26364, 7, 78, 2, 2, 26364, 26365, 7, 71, 2, 2, 26365, 3838, 3, 2, 2, 2, 26366, 26367, 7, 86, 2, 2, 26367, 26368, 7, 71, 2, 2, 26368, 26369, 7, 79, 2, 2, 26369, 26370, 7, 82, 2, 2, 26370, 26371, 7, 78, 2, 2, 26371, 26372, 7, 67, 2, 2, 26372, 26373, 7, 86, 2, 2, 26373, 26374, 7, 71, 2, 2, 26374, 3840, 3, 2, 2, 2, 26375, 26376, 7, 86, 2, 2, 26376, 26377, 7, 71, 2, 2, 26377, 26378, 7, 79, 2, 2, 26378, 26379, 7, 82, 2, 2, 26379, 26380, 7, 81, 2, 2, 26380, 26381, 7, 84, 2, 2, 26381, 26382, 7, 67, 2, 2, 26382, 26383, 7, 84, 2, 2, 26383, 26384, 7, 91, 2, 2, 26384, 3842, 3, 2, 2, 2, 26385, 26386, 7, 86, 2, 2, 26386, 26387, 7, 71, 2, 2, 26387, 26388, 7, 79, 2, 2, 26388, 26389, 7, 82, 2, 2, 26389, 26390, 7, 97, 2, 2, 26390, 26391, 7, 86, 2, 2, 26391, 26392, 7, 67, 2, 2, 26392, 26393, 7, 68, 2, 2, 26393, 26394, 7, 78, 2, 2, 26394, 26395, 7, 71, 2, 2, 26395, 3844, 3, 2, 2, 2, 26396, 26397, 7, 86, 2, 2, 26397, 26398, 7, 71, 2, 2, 26398, 26399, 7, 85, 2, 2, 26399, 26400, 7, 86, 2, 2, 26400, 3846, 3, 2, 2, 2, 26401, 26402, 7, 86, 2, 2, 26402, 26403, 7, 71, 2, 2, 26403, 26404, 7, 90, 2, 2, 26404, 26405, 7, 86, 2, 2, 26405, 3848, 3, 2, 2, 2, 26406, 26407, 7, 86, 2, 2, 26407, 26408, 7, 74, 2, 2, 26408, 26409, 7, 67, 2, 2, 26409, 26410, 7, 80, 2, 2, 26410, 3850, 3, 2, 2, 2, 26411, 26412, 7, 86, 2, 2, 26412, 26413, 7, 74, 2, 2, 26413, 26414, 7, 71, 2, 2, 26414, 26415, 7, 80, 2, 2, 26415, 3852, 3, 2, 2, 2, 26416, 26417, 7, 86, 2, 2, 26417, 26418, 7, 74, 2, 2, 26418, 26419, 7, 71, 2, 2, 26419, 3854, 3, 2, 2, 2, 26420, 26421, 7, 86, 2, 2, 26421, 26422, 7, 74, 2, 2, 26422, 26423, 7, 84, 2, 2, 26423, 26424, 7, 71, 2, 2, 26424, 26425, 7, 67, 2, 2, 26425, 26426, 7, 70, 2, 2, 26426, 3856, 3, 2, 2, 2, 26427, 26428, 7, 86, 2, 2, 26428, 26429, 7, 74, 2, 2, 26429, 26430, 7, 84, 2, 2, 26430, 26431, 7, 81, 2, 2, 26431, 26432, 7, 87, 2, 2, 26432, 26433, 7, 73, 2, 2, 26433, 26434, 7, 74, 2, 2, 26434, 3858, 3, 2, 2, 2, 26435, 26436, 7, 86, 2, 2, 26436, 26437, 7, 75, 2, 2, 26437, 26438, 7, 71, 2, 2, 26438, 26439, 7, 84, 2, 2, 26439, 3860, 3, 2, 2, 2, 26440, 26441, 7, 86, 2, 2, 26441, 26442, 7, 75, 2, 2, 26442, 26443, 7, 71, 2, 2, 26443, 26444, 7, 85, 2, 2, 26444, 3862, 3, 2, 2, 2, 26445, 26446, 7, 86, 2, 2, 26446, 26447, 7, 75, 2, 2, 26447, 26448, 7, 79, 2, 2, 26448, 26449, 7, 71, 2, 2, 26449, 26450, 7, 81, 2, 2, 26450, 26451, 7, 87, 2, 2, 26451, 26452, 7, 86, 2, 2, 26452, 3864, 3, 2, 2, 2, 26453, 26454, 7, 86, 2, 2, 26454, 26455, 7, 75, 2, 2, 26455, 26456, 7, 79, 2, 2, 26456, 26457, 7, 71, 2, 2, 26457, 26458, 7, 85, 2, 2, 26458, 26459, 7, 86, 2, 2, 26459, 26460, 7, 67, 2, 2, 26460, 26461, 7, 79, 2, 2, 26461, 26462, 7, 82, 2, 2, 26462, 26463, 7, 97, 2, 2, 26463, 26464, 7, 78, 2, 2, 26464, 26465, 7, 86, 2, 2, 26465, 26466, 7, 92, 2, 2, 26466, 26467, 7, 97, 2, 2, 26467, 26468, 7, 87, 2, 2, 26468, 26469, 7, 80, 2, 2, 26469, 26470, 7, 69, 2, 2, 26470, 26471, 7, 81, 2, 2, 26471, 26472, 7, 80, 2, 2, 26472, 26473, 7, 85, 2, 2, 26473, 26474, 7, 86, 2, 2, 26474, 26475, 7, 84, 2, 2, 26475, 26476, 7, 67, 2, 2, 26476, 26477, 7, 75, 2, 2, 26477, 26478, 7, 80, 2, 2, 26478, 26479, 7, 71, 2, 2, 26479, 26480, 7, 70, 2, 2, 26480, 3866, 3, 2, 2, 2, 26481, 26482, 7, 86, 2, 2, 26482, 26483, 7, 75, 2, 2, 26483, 26484, 7, 79, 2, 2, 26484, 26485, 7, 71, 2, 2, 26485, 26486, 7, 85, 2, 2, 26486, 26487, 7, 86, 2, 2, 26487, 26488, 7, 67, 2, 2, 26488, 26489, 7, 79, 2, 2, 26489, 26490, 7, 82, 2, 2, 26490, 3868, 3, 2, 2, 2, 26491, 26492, 7, 86, 2, 2, 26492, 26493, 7, 75, 2, 2, 26493, 26494, 7, 79, 2, 2, 26494, 26495, 7, 71, 2, 2, 26495, 26496, 7, 85, 2, 2, 26496, 26497, 7, 86, 2, 2, 26497, 26498, 7, 67, 2, 2, 26498, 26499, 7, 79, 2, 2, 26499, 26500, 7, 82, 2, 2, 26500, 26501, 7, 97, 2, 2, 26501, 26502, 7, 86, 2, 2, 26502, 26503, 7, 92, 2, 2, 26503, 26504, 7, 97, 2, 2, 26504, 26505, 7, 87, 2, 2, 26505, 26506, 7, 80, 2, 2, 26506, 26507, 7, 69, 2, 2, 26507, 26508, 7, 81, 2, 2, 26508, 26509, 7, 80, 2, 2, 26509, 26510, 7, 85, 2, 2, 26510, 26511, 7, 86, 2, 2, 26511, 26512, 7, 84, 2, 2, 26512, 26513, 7, 67, 2, 2, 26513, 26514, 7, 75, 2, 2, 26514, 26515, 7, 80, 2, 2, 26515, 26516, 7, 71, 2, 2, 26516, 26517, 7, 70, 2, 2, 26517, 3870, 3, 2, 2, 2, 26518, 26519, 7, 86, 2, 2, 26519, 26520, 7, 75, 2, 2, 26520, 26521, 7, 79, 2, 2, 26521, 26522, 7, 71, 2, 2, 26522, 26523, 7, 85, 2, 2, 26523, 26524, 7, 86, 2, 2, 26524, 26525, 7, 67, 2, 2, 26525, 26526, 7, 79, 2, 2, 26526, 26527, 7, 82, 2, 2, 26527, 26528, 7, 97, 2, 2, 26528, 26529, 7, 87, 2, 2, 26529, 26530, 7, 80, 2, 2, 26530, 26531, 7, 69, 2, 2, 26531, 26532, 7, 81, 2, 2, 26532, 26533, 7, 80, 2, 2, 26533, 26534, 7, 85, 2, 2, 26534, 26535, 7, 86, 2, 2, 26535, 26536, 7, 84, 2, 2, 26536, 26537, 7, 67, 2, 2, 26537, 26538, 7, 75, 2, 2, 26538, 26539, 7, 80, 2, 2, 26539, 26540, 7, 71, 2, 2, 26540, 26541, 7, 70, 2, 2, 26541, 3872, 3, 2, 2, 2, 26542, 26543, 7, 86, 2, 2, 26543, 26544, 7, 75, 2, 2, 26544, 26545, 7, 79, 2, 2, 26545, 26546, 7, 71, 2, 2, 26546, 26547, 7, 85, 2, 2, 26547, 3874, 3, 2, 2, 2, 26548, 26549, 7, 86, 2, 2, 26549, 26550, 7, 75, 2, 2, 26550, 26551, 7, 79, 2, 2, 26551, 26552, 7, 71, 2, 2, 26552, 3876, 3, 2, 2, 2, 26553, 26554, 7, 86, 2, 2, 26554, 26555, 7, 75, 2, 2, 26555, 26556, 7, 79, 2, 2, 26556, 26557, 7, 71, 2, 2, 26557, 26558, 7, 92, 2, 2, 26558, 26559, 7, 81, 2, 2, 26559, 26560, 7, 80, 2, 2, 26560, 26561, 7, 71, 2, 2, 26561, 3878, 3, 2, 2, 2, 26562, 26563, 7, 86, 2, 2, 26563, 26564, 7, 75, 2, 2, 26564, 26565, 7, 79, 2, 2, 26565, 26566, 7, 71, 2, 2, 26566, 26567, 7, 92, 2, 2, 26567, 26568, 7, 81, 2, 2, 26568, 26569, 7, 80, 2, 2, 26569, 26570, 7, 71, 2, 2, 26570, 26571, 7, 97, 2, 2, 26571, 26572, 7, 67, 2, 2, 26572, 26573, 7, 68, 2, 2, 26573, 26574, 7, 68, 2, 2, 26574, 26575, 7, 84, 2, 2, 26575, 3880, 3, 2, 2, 2, 26576, 26577, 7, 86, 2, 2, 26577, 26578, 7, 75, 2, 2, 26578, 26579, 7, 79, 2, 2, 26579, 26580, 7, 71, 2, 2, 26580, 26581, 7, 92, 2, 2, 26581, 26582, 7, 81, 2, 2, 26582, 26583, 7, 80, 2, 2, 26583, 26584, 7, 71, 2, 2, 26584, 26585, 7, 97, 2, 2, 26585, 26586, 7, 74, 2, 2, 26586, 26587, 7, 81, 2, 2, 26587, 26588, 7, 87, 2, 2, 26588, 26589, 7, 84, 2, 2, 26589, 3882, 3, 2, 2, 2, 26590, 26591, 7, 86, 2, 2, 26591, 26592, 7, 75, 2, 2, 26592, 26593, 7, 79, 2, 2, 26593, 26594, 7, 71, 2, 2, 26594, 26595, 7, 92, 2, 2, 26595, 26596, 7, 81, 2, 2, 26596, 26597, 7, 80, 2, 2, 26597, 26598, 7, 71, 2, 2, 26598, 26599, 7, 97, 2, 2, 26599, 26600, 7, 79, 2, 2, 26600, 26601, 7, 75, 2, 2, 26601, 26602, 7, 80, 2, 2, 26602, 26603, 7, 87, 2, 2, 26603, 26604, 7, 86, 2, 2, 26604, 26605, 7, 71, 2, 2, 26605, 3884, 3, 2, 2, 2, 26606, 26607, 7, 86, 2, 2, 26607, 26608, 7, 75, 2, 2, 26608, 26609, 7, 79, 2, 2, 26609, 26610, 7, 71, 2, 2, 26610, 26611, 7, 92, 2, 2, 26611, 26612, 7, 81, 2, 2, 26612, 26613, 7, 80, 2, 2, 26613, 26614, 7, 71, 2, 2, 26614, 26615, 7, 97, 2, 2, 26615, 26616, 7, 81, 2, 2, 26616, 26617, 7, 72, 2, 2, 26617, 26618, 7, 72, 2, 2, 26618, 26619, 7, 85, 2, 2, 26619, 26620, 7, 71, 2, 2, 26620, 26621, 7, 86, 2, 2, 26621, 3886, 3, 2, 2, 2, 26622, 26623, 7, 86, 2, 2, 26623, 26624, 7, 75, 2, 2, 26624, 26625, 7, 79, 2, 2, 26625, 26626, 7, 71, 2, 2, 26626, 26627, 7, 92, 2, 2, 26627, 26628, 7, 81, 2, 2, 26628, 26629, 7, 80, 2, 2, 26629, 26630, 7, 71, 2, 2, 26630, 26631, 7, 97, 2, 2, 26631, 26632, 7, 84, 2, 2, 26632, 26633, 7, 71, 2, 2, 26633, 26634, 7, 73, 2, 2, 26634, 26635, 7, 75, 2, 2, 26635, 26636, 7, 81, 2, 2, 26636, 26637, 7, 80, 2, 2, 26637, 3888, 3, 2, 2, 2, 26638, 26639, 7, 86, 2, 2, 26639, 26640, 7, 75, 2, 2, 26640, 26641, 7, 79, 2, 2, 26641, 26642, 7, 71, 2, 2, 26642, 26643, 7, 97, 2, 2, 26643, 26644, 7, 92, 2, 2, 26644, 26645, 7, 81, 2, 2, 26645, 26646, 7, 80, 2, 2, 26646, 26647, 7, 71, 2, 2, 26647, 3890, 3, 2, 2, 2, 26648, 26649, 7, 86, 2, 2, 26649, 26650, 7, 75, 2, 2, 26650, 26651, 7, 88, 2, 2, 26651, 26652, 7, 97, 2, 2, 26652, 26653, 7, 73, 2, 2, 26653, 26654, 7, 68, 2, 2, 26654, 3892, 3, 2, 2, 2, 26655, 26656, 7, 86, 2, 2, 26656, 26657, 7, 75, 2, 2, 26657, 26658, 7, 88, 2, 2, 26658, 26659, 7, 97, 2, 2, 26659, 26660, 7, 85, 2, 2, 26660, 26661, 7, 85, 2, 2, 26661, 26662, 7, 72, 2, 2, 26662, 3894, 3, 2, 2, 2, 26663, 26664, 7, 86, 2, 2, 26664, 26665, 7, 81, 2, 2, 26665, 26666, 7, 97, 2, 2, 26666, 26667, 7, 67, 2, 2, 26667, 26668, 7, 69, 2, 2, 26668, 26669, 7, 78, 2, 2, 26669, 26670, 7, 75, 2, 2, 26670, 26671, 7, 70, 2, 2, 26671, 3896, 3, 2, 2, 2, 26672, 26673, 7, 86, 2, 2, 26673, 26674, 7, 81, 2, 2, 26674, 26675, 7, 97, 2, 2, 26675, 26676, 7, 68, 2, 2, 26676, 26677, 7, 75, 2, 2, 26677, 26678, 7, 80, 2, 2, 26678, 26679, 7, 67, 2, 2, 26679, 26680, 7, 84, 2, 2, 26680, 26681, 7, 91, 2, 2, 26681, 26682, 7, 97, 2, 2, 26682, 26683, 7, 70, 2, 2, 26683, 26684, 7, 81, 2, 2, 26684, 26685, 7, 87, 2, 2, 26685, 26686, 7, 68, 2, 2, 26686, 26687, 7, 78, 2, 2, 26687, 26688, 7, 71, 2, 2, 26688, 3898, 3, 2, 2, 2, 26689, 26690, 7, 86, 2, 2, 26690, 26691, 7, 81, 2, 2, 26691, 26692, 7, 97, 2, 2, 26692, 26693, 7, 68, 2, 2, 26693, 26694, 7, 75, 2, 2, 26694, 26695, 7, 80, 2, 2, 26695, 26696, 7, 67, 2, 2, 26696, 26697, 7, 84, 2, 2, 26697, 26698, 7, 91, 2, 2, 26698, 26699, 7, 97, 2, 2, 26699, 26700, 7, 72, 2, 2, 26700, 26701, 7, 78, 2, 2, 26701, 26702, 7, 81, 2, 2, 26702, 26703, 7, 67, 2, 2, 26703, 26704, 7, 86, 2, 2, 26704, 3900, 3, 2, 2, 2, 26705, 26706, 7, 86, 2, 2, 26706, 26707, 7, 81, 2, 2, 26707, 26708, 7, 97, 2, 2, 26708, 26709, 7, 68, 2, 2, 26709, 26710, 7, 78, 2, 2, 26710, 26711, 7, 81, 2, 2, 26711, 26712, 7, 68, 2, 2, 26712, 3902, 3, 2, 2, 2, 26713, 26714, 7, 86, 2, 2, 26714, 26715, 7, 81, 2, 2, 26715, 26716, 7, 97, 2, 2, 26716, 26717, 7, 69, 2, 2, 26717, 26718, 7, 78, 2, 2, 26718, 26719, 7, 81, 2, 2, 26719, 26720, 7, 68, 2, 2, 26720, 3904, 3, 2, 2, 2, 26721, 26722, 7, 86, 2, 2, 26722, 26723, 7, 81, 2, 2, 26723, 26724, 7, 97, 2, 2, 26724, 26725, 7, 70, 2, 2, 26725, 26726, 7, 85, 2, 2, 26726, 26727, 7, 75, 2, 2, 26727, 26728, 7, 80, 2, 2, 26728, 26729, 7, 86, 2, 2, 26729, 26730, 7, 71, 2, 2, 26730, 26731, 7, 84, 2, 2, 26731, 26732, 7, 88, 2, 2, 26732, 26733, 7, 67, 2, 2, 26733, 26734, 7, 78, 2, 2, 26734, 3906, 3, 2, 2, 2, 26735, 26736, 7, 86, 2, 2, 26736, 26737, 7, 81, 2, 2, 26737, 26738, 7, 97, 2, 2, 26738, 26739, 7, 78, 2, 2, 26739, 26740, 7, 81, 2, 2, 26740, 26741, 7, 68, 2, 2, 26741, 3908, 3, 2, 2, 2, 26742, 26743, 7, 86, 2, 2, 26743, 26744, 7, 81, 2, 2, 26744, 26745, 7, 97, 2, 2, 26745, 26746, 7, 79, 2, 2, 26746, 26747, 7, 87, 2, 2, 26747, 26748, 7, 78, 2, 2, 26748, 26749, 7, 86, 2, 2, 26749, 26750, 7, 75, 2, 2, 26750, 26751, 7, 97, 2, 2, 26751, 26752, 7, 68, 2, 2, 26752, 26753, 7, 91, 2, 2, 26753, 26754, 7, 86, 2, 2, 26754, 26755, 7, 71, 2, 2, 26755, 3910, 3, 2, 2, 2, 26756, 26757, 7, 86, 2, 2, 26757, 26758, 7, 81, 2, 2, 26758, 26759, 7, 97, 2, 2, 26759, 26760, 7, 80, 2, 2, 26760, 26761, 7, 69, 2, 2, 26761, 26762, 7, 74, 2, 2, 26762, 26763, 7, 67, 2, 2, 26763, 26764, 7, 84, 2, 2, 26764, 3912, 3, 2, 2, 2, 26765, 26766, 7, 86, 2, 2, 26766, 26767, 7, 81, 2, 2, 26767, 26768, 7, 97, 2, 2, 26768, 26769, 7, 80, 2, 2, 26769, 26770, 7, 69, 2, 2, 26770, 26771, 7, 78, 2, 2, 26771, 26772, 7, 81, 2, 2, 26772, 26773, 7, 68, 2, 2, 26773, 3914, 3, 2, 2, 2, 26774, 26775, 7, 86, 2, 2, 26775, 26776, 7, 81, 2, 2, 26776, 26777, 7, 97, 2, 2, 26777, 26778, 7, 80, 2, 2, 26778, 26779, 7, 87, 2, 2, 26779, 26780, 7, 79, 2, 2, 26780, 26781, 7, 68, 2, 2, 26781, 26782, 7, 71, 2, 2, 26782, 26783, 7, 84, 2, 2, 26783, 3916, 3, 2, 2, 2, 26784, 26785, 7, 86, 2, 2, 26785, 26786, 7, 81, 2, 2, 26786, 26787, 7, 82, 2, 2, 26787, 26788, 7, 78, 2, 2, 26788, 26789, 7, 71, 2, 2, 26789, 26790, 7, 88, 2, 2, 26790, 26791, 7, 71, 2, 2, 26791, 26792, 7, 78, 2, 2, 26792, 3918, 3, 2, 2, 2, 26793, 26794, 7, 86, 2, 2, 26794, 26795, 7, 81, 2, 2, 26795, 26796, 7, 97, 2, 2, 26796, 26797, 7, 85, 2, 2, 26797, 26798, 7, 75, 2, 2, 26798, 26799, 7, 80, 2, 2, 26799, 26800, 7, 73, 2, 2, 26800, 26801, 7, 78, 2, 2, 26801, 26802, 7, 71, 2, 2, 26802, 26803, 7, 97, 2, 2, 26803, 26804, 7, 68, 2, 2, 26804, 26805, 7, 91, 2, 2, 26805, 26806, 7, 86, 2, 2, 26806, 26807, 7, 71, 2, 2, 26807, 3920, 3, 2, 2, 2, 26808, 26809, 7, 86, 2, 2, 26809, 26810, 7, 81, 2, 2, 26810, 26811, 7, 97, 2, 2, 26811, 26812, 7, 86, 2, 2, 26812, 26813, 7, 75, 2, 2, 26813, 26814, 7, 79, 2, 2, 26814, 26815, 7, 71, 2, 2, 26815, 26816, 7, 85, 2, 2, 26816, 26817, 7, 86, 2, 2, 26817, 26818, 7, 67, 2, 2, 26818, 26819, 7, 79, 2, 2, 26819, 26820, 7, 82, 2, 2, 26820, 3922, 3, 2, 2, 2, 26821, 26822, 7, 86, 2, 2, 26822, 26823, 7, 81, 2, 2, 26823, 26824, 7, 97, 2, 2, 26824, 26825, 7, 86, 2, 2, 26825, 26826, 7, 75, 2, 2, 26826, 26827, 7, 79, 2, 2, 26827, 26828, 7, 71, 2, 2, 26828, 26829, 7, 85, 2, 2, 26829, 26830, 7, 86, 2, 2, 26830, 26831, 7, 67, 2, 2, 26831, 26832, 7, 79, 2, 2, 26832, 26833, 7, 82, 2, 2, 26833, 26834, 7, 97, 2, 2, 26834, 26835, 7, 86, 2, 2, 26835, 26836, 7, 92, 2, 2, 26836, 3924, 3, 2, 2, 2, 26837, 26838, 7, 86, 2, 2, 26838, 26839, 7, 81, 2, 2, 26839, 26840, 7, 97, 2, 2, 26840, 26841, 7, 86, 2, 2, 26841, 26842, 7, 75, 2, 2, 26842, 26843, 7, 79, 2, 2, 26843, 26844, 7, 71, 2, 2, 26844, 3926, 3, 2, 2, 2, 26845, 26846, 7, 86, 2, 2, 26846, 26847, 7, 81, 2, 2, 26847, 26848, 7, 97, 2, 2, 26848, 26849, 7, 86, 2, 2, 26849, 26850, 7, 75, 2, 2, 26850, 26851, 7, 79, 2, 2, 26851, 26852, 7, 71, 2, 2, 26852, 26853, 7, 97, 2, 2, 26853, 26854, 7, 86, 2, 2, 26854, 26855, 7, 92, 2, 2, 26855, 3928, 3, 2, 2, 2, 26856, 26857, 7, 86, 2, 2, 26857, 26858, 7, 81, 2, 2, 26858, 3930, 3, 2, 2, 2, 26859, 26860, 7, 86, 2, 2, 26860, 26861, 7, 81, 2, 2, 26861, 26862, 7, 97, 2, 2, 26862, 26863, 7, 91, 2, 2, 26863, 26864, 7, 79, 2, 2, 26864, 26865, 7, 75, 2, 2, 26865, 26866, 7, 80, 2, 2, 26866, 26867, 7, 86, 2, 2, 26867, 26868, 7, 71, 2, 2, 26868, 26869, 7, 84, 2, 2, 26869, 26870, 7, 88, 2, 2, 26870, 26871, 7, 67, 2, 2, 26871, 26872, 7, 78, 2, 2, 26872, 3932, 3, 2, 2, 2, 26873, 26874, 7, 86, 2, 2, 26874, 26875, 7, 84, 2, 2, 26875, 26876, 7, 67, 2, 2, 26876, 26877, 7, 69, 2, 2, 26877, 26878, 7, 71, 2, 2, 26878, 3934, 3, 2, 2, 2, 26879, 26880, 7, 86, 2, 2, 26880, 26881, 7, 84, 2, 2, 26881, 26882, 7, 67, 2, 2, 26882, 26883, 7, 69, 2, 2, 26883, 26884, 7, 75, 2, 2, 26884, 26885, 7, 80, 2, 2, 26885, 26886, 7, 73, 2, 2, 26886, 3936, 3, 2, 2, 2, 26887, 26888, 7, 86, 2, 2, 26888, 26889, 7, 84, 2, 2, 26889, 26890, 7, 67, 2, 2, 26890, 26891, 7, 69, 2, 2, 26891, 26892, 7, 77, 2, 2, 26892, 26893, 7, 75, 2, 2, 26893, 26894, 7, 80, 2, 2, 26894, 26895, 7, 73, 2, 2, 26895, 3938, 3, 2, 2, 2, 26896, 26897, 7, 86, 2, 2, 26897, 26898, 7, 84, 2, 2, 26898, 26899, 7, 67, 2, 2, 26899, 26900, 7, 75, 2, 2, 26900, 26901, 7, 78, 2, 2, 26901, 26902, 7, 75, 2, 2, 26902, 26903, 7, 80, 2, 2, 26903, 26904, 7, 73, 2, 2, 26904, 3940, 3, 2, 2, 2, 26905, 26906, 7, 86, 2, 2, 26906, 26907, 7, 84, 2, 2, 26907, 26908, 7, 67, 2, 2, 26908, 26909, 7, 80, 2, 2, 26909, 26910, 7, 85, 2, 2, 26910, 26911, 7, 67, 2, 2, 26911, 26912, 7, 69, 2, 2, 26912, 26913, 7, 86, 2, 2, 26913, 26914, 7, 75, 2, 2, 26914, 26915, 7, 81, 2, 2, 26915, 26916, 7, 80, 2, 2, 26916, 3942, 3, 2, 2, 2, 26917, 26918, 7, 86, 2, 2, 26918, 26919, 7, 84, 2, 2, 26919, 26920, 7, 67, 2, 2, 26920, 26921, 7, 80, 2, 2, 26921, 26922, 7, 85, 2, 2, 26922, 26923, 7, 72, 2, 2, 26923, 26924, 7, 81, 2, 2, 26924, 26925, 7, 84, 2, 2, 26925, 26926, 7, 79, 2, 2, 26926, 26927, 7, 97, 2, 2, 26927, 26928, 7, 70, 2, 2, 26928, 26929, 7, 75, 2, 2, 26929, 26930, 7, 85, 2, 2, 26930, 26931, 7, 86, 2, 2, 26931, 26932, 7, 75, 2, 2, 26932, 26933, 7, 80, 2, 2, 26933, 26934, 7, 69, 2, 2, 26934, 26935, 7, 86, 2, 2, 26935, 26936, 7, 97, 2, 2, 26936, 26937, 7, 67, 2, 2, 26937, 26938, 7, 73, 2, 2, 26938, 26939, 7, 73, 2, 2, 26939, 3944, 3, 2, 2, 2, 26940, 26941, 7, 86, 2, 2, 26941, 26942, 7, 84, 2, 2, 26942, 26943, 7, 67, 2, 2, 26943, 26944, 7, 80, 2, 2, 26944, 26945, 7, 85, 2, 2, 26945, 26946, 7, 75, 2, 2, 26946, 26947, 7, 86, 2, 2, 26947, 26948, 7, 75, 2, 2, 26948, 26949, 7, 81, 2, 2, 26949, 26950, 7, 80, 2, 2, 26950, 26951, 7, 67, 2, 2, 26951, 26952, 7, 78, 2, 2, 26952, 3946, 3, 2, 2, 2, 26953, 26954, 7, 86, 2, 2, 26954, 26955, 7, 84, 2, 2, 26955, 26956, 7, 67, 2, 2, 26956, 26957, 7, 80, 2, 2, 26957, 26958, 7, 85, 2, 2, 26958, 26959, 7, 75, 2, 2, 26959, 26960, 7, 86, 2, 2, 26960, 26961, 7, 75, 2, 2, 26961, 26962, 7, 81, 2, 2, 26962, 26963, 7, 80, 2, 2, 26963, 3948, 3, 2, 2, 2, 26964, 26965, 7, 86, 2, 2, 26965, 26966, 7, 84, 2, 2, 26966, 26967, 7, 67, 2, 2, 26967, 26968, 7, 80, 2, 2, 26968, 26969, 7, 85, 2, 2, 26969, 26970, 7, 78, 2, 2, 26970, 26971, 7, 67, 2, 2, 26971, 26972, 7, 86, 2, 2, 26972, 26973, 7, 71, 2, 2, 26973, 3950, 3, 2, 2, 2, 26974, 26975, 7, 86, 2, 2, 26975, 26976, 7, 84, 2, 2, 26976, 26977, 7, 67, 2, 2, 26977, 26978, 7, 80, 2, 2, 26978, 26979, 7, 85, 2, 2, 26979, 26980, 7, 78, 2, 2, 26980, 26981, 7, 67, 2, 2, 26981, 26982, 7, 86, 2, 2, 26982, 26983, 7, 75, 2, 2, 26983, 26984, 7, 81, 2, 2, 26984, 26985, 7, 80, 2, 2, 26985, 3952, 3, 2, 2, 2, 26986, 26987, 7, 86, 2, 2, 26987, 26988, 7, 84, 2, 2, 26988, 26989, 7, 71, 2, 2, 26989, 26990, 7, 67, 2, 2, 26990, 26991, 7, 86, 2, 2, 26991, 3954, 3, 2, 2, 2, 26992, 26993, 7, 86, 2, 2, 26993, 26994, 7, 84, 2, 2, 26994, 26995, 7, 75, 2, 2, 26995, 26996, 7, 73, 2, 2, 26996, 26997, 7, 73, 2, 2, 26997, 26998, 7, 71, 2, 2, 26998, 26999, 7, 84, 2, 2, 26999, 27000, 7, 85, 2, 2, 27000, 3956, 3, 2, 2, 2, 27001, 27002, 7, 86, 2, 2, 27002, 27003, 7, 84, 2, 2, 27003, 27004, 7, 75, 2, 2, 27004, 27005, 7, 73, 2, 2, 27005, 27006, 7, 73, 2, 2, 27006, 27007, 7, 71, 2, 2, 27007, 27008, 7, 84, 2, 2, 27008, 3958, 3, 2, 2, 2, 27009, 27010, 7, 86, 2, 2, 27010, 27011, 7, 84, 2, 2, 27011, 27012, 7, 87, 2, 2, 27012, 27013, 7, 71, 2, 2, 27013, 3960, 3, 2, 2, 2, 27014, 27015, 7, 86, 2, 2, 27015, 27016, 7, 84, 2, 2, 27016, 27017, 7, 87, 2, 2, 27017, 27018, 7, 80, 2, 2, 27018, 27019, 7, 69, 2, 2, 27019, 27020, 7, 67, 2, 2, 27020, 27021, 7, 86, 2, 2, 27021, 27022, 7, 71, 2, 2, 27022, 3962, 3, 2, 2, 2, 27023, 27024, 7, 86, 2, 2, 27024, 27025, 7, 84, 2, 2, 27025, 27026, 7, 87, 2, 2, 27026, 27027, 7, 80, 2, 2, 27027, 27028, 7, 69, 2, 2, 27028, 3964, 3, 2, 2, 2, 27029, 27030, 7, 86, 2, 2, 27030, 27031, 7, 84, 2, 2, 27031, 27032, 7, 87, 2, 2, 27032, 27033, 7, 85, 2, 2, 27033, 27034, 7, 86, 2, 2, 27034, 27035, 7, 71, 2, 2, 27035, 27036, 7, 70, 2, 2, 27036, 3966, 3, 2, 2, 2, 27037, 27038, 7, 86, 2, 2, 27038, 27039, 7, 84, 2, 2, 27039, 27040, 7, 87, 2, 2, 27040, 27041, 7, 85, 2, 2, 27041, 27042, 7, 86, 2, 2, 27042, 3968, 3, 2, 2, 2, 27043, 27044, 7, 86, 2, 2, 27044, 27045, 7, 87, 2, 2, 27045, 27046, 7, 80, 2, 2, 27046, 27047, 7, 75, 2, 2, 27047, 27048, 7, 80, 2, 2, 27048, 27049, 7, 73, 2, 2, 27049, 3970, 3, 2, 2, 2, 27050, 27051, 7, 86, 2, 2, 27051, 27052, 7, 90, 2, 2, 27052, 3972, 3, 2, 2, 2, 27053, 27054, 7, 86, 2, 2, 27054, 27055, 7, 91, 2, 2, 27055, 27056, 7, 82, 2, 2, 27056, 27057, 7, 71, 2, 2, 27057, 27058, 7, 85, 2, 2, 27058, 3974, 3, 2, 2, 2, 27059, 27060, 7, 86, 2, 2, 27060, 27061, 7, 91, 2, 2, 27061, 27062, 7, 82, 2, 2, 27062, 27063, 7, 71, 2, 2, 27063, 3976, 3, 2, 2, 2, 27064, 27065, 7, 86, 2, 2, 27065, 27066, 7, 92, 2, 2, 27066, 27067, 7, 97, 2, 2, 27067, 27068, 7, 81, 2, 2, 27068, 27069, 7, 72, 2, 2, 27069, 27070, 7, 72, 2, 2, 27070, 27071, 7, 85, 2, 2, 27071, 27072, 7, 71, 2, 2, 27072, 27073, 7, 86, 2, 2, 27073, 3978, 3, 2, 2, 2, 27074, 27075, 7, 87, 2, 2, 27075, 27076, 7, 68, 2, 2, 27076, 27077, 7, 52, 2, 2, 27077, 3980, 3, 2, 2, 2, 27078, 27079, 7, 87, 2, 2, 27079, 27080, 7, 68, 2, 2, 27080, 27081, 7, 67, 2, 2, 27081, 3982, 3, 2, 2, 2, 27082, 27083, 7, 87, 2, 2, 27083, 27084, 7, 69, 2, 2, 27084, 27085, 7, 85, 2, 2, 27085, 27086, 7, 52, 2, 2, 27086, 3984, 3, 2, 2, 2, 27087, 27088, 7, 87, 2, 2, 27088, 27089, 7, 75, 2, 2, 27089, 27090, 7, 70, 2, 2, 27090, 3986, 3, 2, 2, 2, 27091, 27092, 7, 87, 2, 2, 27092, 27093, 7, 80, 2, 2, 27093, 27094, 7, 67, 2, 2, 27094, 27095, 7, 84, 2, 2, 27095, 27096, 7, 69, 2, 2, 27096, 27097, 7, 74, 2, 2, 27097, 27098, 7, 75, 2, 2, 27098, 27099, 7, 88, 2, 2, 27099, 27100, 7, 71, 2, 2, 27100, 27101, 7, 70, 2, 2, 27101, 3988, 3, 2, 2, 2, 27102, 27103, 7, 87, 2, 2, 27103, 27104, 7, 80, 2, 2, 27104, 27105, 7, 68, 2, 2, 27105, 27106, 7, 81, 2, 2, 27106, 27107, 7, 87, 2, 2, 27107, 27108, 7, 80, 2, 2, 27108, 27109, 7, 70, 2, 2, 27109, 27110, 7, 71, 2, 2, 27110, 27111, 7, 70, 2, 2, 27111, 3990, 3, 2, 2, 2, 27112, 27113, 7, 87, 2, 2, 27113, 27114, 7, 80, 2, 2, 27114, 27115, 7, 68, 2, 2, 27115, 27116, 7, 81, 2, 2, 27116, 27117, 7, 87, 2, 2, 27117, 27118, 7, 80, 2, 2, 27118, 27119, 7, 70, 2, 2, 27119, 3992, 3, 2, 2, 2, 27120, 27121, 7, 87, 2, 2, 27121, 27122, 7, 80, 2, 2, 27122, 27123, 7, 69, 2, 2, 27123, 27124, 7, 81, 2, 2, 27124, 27125, 7, 80, 2, 2, 27125, 27126, 7, 70, 2, 2, 27126, 27127, 7, 75, 2, 2, 27127, 27128, 7, 86, 2, 2, 27128, 27129, 7, 75, 2, 2, 27129, 27130, 7, 81, 2, 2, 27130, 27131, 7, 80, 2, 2, 27131, 27132, 7, 67, 2, 2, 27132, 27133, 7, 78, 2, 2, 27133, 3994, 3, 2, 2, 2, 27134, 27135, 7, 87, 2, 2, 27135, 27136, 7, 80, 2, 2, 27136, 27137, 7, 70, 2, 2, 27137, 27138, 7, 71, 2, 2, 27138, 27139, 7, 84, 2, 2, 27139, 3996, 3, 2, 2, 2, 27140, 27141, 7, 87, 2, 2, 27141, 27142, 7, 80, 2, 2, 27142, 27143, 7, 70, 2, 2, 27143, 27144, 7, 81, 2, 2, 27144, 3998, 3, 2, 2, 2, 27145, 27146, 7, 87, 2, 2, 27146, 27147, 7, 80, 2, 2, 27147, 27148, 7, 70, 2, 2, 27148, 27149, 7, 84, 2, 2, 27149, 27150, 7, 81, 2, 2, 27150, 27151, 7, 82, 2, 2, 27151, 4000, 3, 2, 2, 2, 27152, 27153, 7, 87, 2, 2, 27153, 27154, 7, 80, 2, 2, 27154, 27155, 7, 75, 2, 2, 27155, 27156, 7, 72, 2, 2, 27156, 27157, 7, 81, 2, 2, 27157, 27158, 7, 84, 2, 2, 27158, 27159, 7, 79, 2, 2, 27159, 4002, 3, 2, 2, 2, 27160, 27161, 7, 87, 2, 2, 27161, 27162, 7, 80, 2, 2, 27162, 27163, 7, 75, 2, 2, 27163, 27164, 7, 81, 2, 2, 27164, 27165, 7, 80, 2, 2, 27165, 4004, 3, 2, 2, 2, 27166, 27167, 7, 87, 2, 2, 27167, 27168, 7, 80, 2, 2, 27168, 27169, 7, 75, 2, 2, 27169, 27170, 7, 83, 2, 2, 27170, 27171, 7, 87, 2, 2, 27171, 27172, 7, 71, 2, 2, 27172, 4006, 3, 2, 2, 2, 27173, 27174, 7, 87, 2, 2, 27174, 27175, 7, 80, 2, 2, 27175, 27176, 7, 75, 2, 2, 27176, 27177, 7, 85, 2, 2, 27177, 27178, 7, 86, 2, 2, 27178, 27179, 7, 84, 2, 2, 27179, 4008, 3, 2, 2, 2, 27180, 27181, 7, 87, 2, 2, 27181, 27182, 7, 80, 2, 2, 27182, 27183, 7, 78, 2, 2, 27183, 27184, 7, 75, 2, 2, 27184, 27185, 7, 79, 2, 2, 27185, 27186, 7, 75, 2, 2, 27186, 27187, 7, 86, 2, 2, 27187, 27188, 7, 71, 2, 2, 27188, 27189, 7, 70, 2, 2, 27189, 4010, 3, 2, 2, 2, 27190, 27191, 7, 87, 2, 2, 27191, 27192, 7, 80, 2, 2, 27192, 27193, 7, 78, 2, 2, 27193, 27194, 7, 81, 2, 2, 27194, 27195, 7, 67, 2, 2, 27195, 27196, 7, 70, 2, 2, 27196, 4012, 3, 2, 2, 2, 27197, 27198, 7, 87, 2, 2, 27198, 27199, 7, 80, 2, 2, 27199, 27200, 7, 78, 2, 2, 27200, 27201, 7, 81, 2, 2, 27201, 27202, 7, 69, 2, 2, 27202, 27203, 7, 77, 2, 2, 27203, 4014, 3, 2, 2, 2, 27204, 27205, 7, 87, 2, 2, 27205, 27206, 7, 80, 2, 2, 27206, 27207, 7, 79, 2, 2, 27207, 27208, 7, 67, 2, 2, 27208, 27209, 7, 86, 2, 2, 27209, 27210, 7, 69, 2, 2, 27210, 27211, 7, 74, 2, 2, 27211, 27212, 7, 71, 2, 2, 27212, 27213, 7, 70, 2, 2, 27213, 4016, 3, 2, 2, 2, 27214, 27215, 7, 87, 2, 2, 27215, 27216, 7, 80, 2, 2, 27216, 27217, 7, 80, 2, 2, 27217, 27218, 7, 71, 2, 2, 27218, 27219, 7, 85, 2, 2, 27219, 27220, 7, 86, 2, 2, 27220, 27221, 7, 97, 2, 2, 27221, 27222, 7, 75, 2, 2, 27222, 27223, 7, 80, 2, 2, 27223, 27224, 7, 80, 2, 2, 27224, 27225, 7, 71, 2, 2, 27225, 27226, 7, 84, 2, 2, 27226, 27227, 7, 76, 2, 2, 27227, 27228, 7, 97, 2, 2, 27228, 27229, 7, 70, 2, 2, 27229, 27230, 7, 75, 2, 2, 27230, 27231, 7, 85, 2, 2, 27231, 27232, 7, 86, 2, 2, 27232, 27233, 7, 75, 2, 2, 27233, 27234, 7, 80, 2, 2, 27234, 27235, 7, 69, 2, 2, 27235, 27236, 7, 86, 2, 2, 27236, 27237, 7, 97, 2, 2, 27237, 27238, 7, 88, 2, 2, 27238, 27239, 7, 75, 2, 2, 27239, 27240, 7, 71, 2, 2, 27240, 27241, 7, 89, 2, 2, 27241, 4018, 3, 2, 2, 2, 27242, 27243, 7, 87, 2, 2, 27243, 27244, 7, 80, 2, 2, 27244, 27245, 7, 80, 2, 2, 27245, 27246, 7, 71, 2, 2, 27246, 27247, 7, 85, 2, 2, 27247, 27248, 7, 86, 2, 2, 27248, 27249, 7, 97, 2, 2, 27249, 27250, 7, 80, 2, 2, 27250, 27251, 7, 81, 2, 2, 27251, 27252, 7, 85, 2, 2, 27252, 27253, 7, 71, 2, 2, 27253, 27254, 7, 79, 2, 2, 27254, 27255, 7, 75, 2, 2, 27255, 27256, 7, 76, 2, 2, 27256, 27257, 7, 97, 2, 2, 27257, 27258, 7, 80, 2, 2, 27258, 27259, 7, 81, 2, 2, 27259, 27260, 7, 70, 2, 2, 27260, 27261, 7, 75, 2, 2, 27261, 27262, 7, 85, 2, 2, 27262, 27263, 7, 86, 2, 2, 27263, 27264, 7, 75, 2, 2, 27264, 27265, 7, 80, 2, 2, 27265, 27266, 7, 69, 2, 2, 27266, 27267, 7, 86, 2, 2, 27267, 27268, 7, 88, 2, 2, 27268, 27269, 7, 75, 2, 2, 27269, 27270, 7, 71, 2, 2, 27270, 27271, 7, 89, 2, 2, 27271, 4020, 3, 2, 2, 2, 27272, 27273, 7, 87, 2, 2, 27273, 27274, 7, 80, 2, 2, 27274, 27275, 7, 80, 2, 2, 27275, 27276, 7, 71, 2, 2, 27276, 27277, 7, 85, 2, 2, 27277, 27278, 7, 86, 2, 2, 27278, 27279, 7, 97, 2, 2, 27279, 27280, 7, 85, 2, 2, 27280, 27281, 7, 71, 2, 2, 27281, 27282, 7, 79, 2, 2, 27282, 27283, 7, 75, 2, 2, 27283, 27284, 7, 76, 2, 2, 27284, 27285, 7, 97, 2, 2, 27285, 27286, 7, 88, 2, 2, 27286, 27287, 7, 75, 2, 2, 27287, 27288, 7, 71, 2, 2, 27288, 27289, 7, 89, 2, 2, 27289, 4022, 3, 2, 2, 2, 27290, 27291, 7, 87, 2, 2, 27291, 27292, 7, 80, 2, 2, 27292, 27293, 7, 80, 2, 2, 27293, 27294, 7, 71, 2, 2, 27294, 27295, 7, 85, 2, 2, 27295, 27296, 7, 86, 2, 2, 27296, 4024, 3, 2, 2, 2, 27297, 27298, 7, 87, 2, 2, 27298, 27299, 7, 80, 2, 2, 27299, 27300, 7, 82, 2, 2, 27300, 27301, 7, 67, 2, 2, 27301, 27302, 7, 69, 2, 2, 27302, 27303, 7, 77, 2, 2, 27303, 27304, 7, 71, 2, 2, 27304, 27305, 7, 70, 2, 2, 27305, 4026, 3, 2, 2, 2, 27306, 27307, 7, 87, 2, 2, 27307, 27308, 7, 80, 2, 2, 27308, 27309, 7, 82, 2, 2, 27309, 27310, 7, 75, 2, 2, 27310, 27311, 7, 88, 2, 2, 27311, 27312, 7, 81, 2, 2, 27312, 27313, 7, 86, 2, 2, 27313, 4028, 3, 2, 2, 2, 27314, 27315, 7, 87, 2, 2, 27315, 27316, 7, 80, 2, 2, 27316, 27317, 7, 82, 2, 2, 27317, 27318, 7, 78, 2, 2, 27318, 27319, 7, 87, 2, 2, 27319, 27320, 7, 73, 2, 2, 27320, 4030, 3, 2, 2, 2, 27321, 27322, 7, 87, 2, 2, 27322, 27323, 7, 80, 2, 2, 27323, 27324, 7, 82, 2, 2, 27324, 27325, 7, 84, 2, 2, 27325, 27326, 7, 81, 2, 2, 27326, 27327, 7, 86, 2, 2, 27327, 27328, 7, 71, 2, 2, 27328, 27329, 7, 69, 2, 2, 27329, 27330, 7, 86, 2, 2, 27330, 27331, 7, 71, 2, 2, 27331, 27332, 7, 70, 2, 2, 27332, 4032, 3, 2, 2, 2, 27333, 27334, 7, 87, 2, 2, 27334, 27335, 7, 80, 2, 2, 27335, 27336, 7, 83, 2, 2, 27336, 27337, 7, 87, 2, 2, 27337, 27338, 7, 75, 2, 2, 27338, 27339, 7, 71, 2, 2, 27339, 27340, 7, 85, 2, 2, 27340, 27341, 7, 69, 2, 2, 27341, 27342, 7, 71, 2, 2, 27342, 4034, 3, 2, 2, 2, 27343, 27344, 7, 87, 2, 2, 27344, 27345, 7, 80, 2, 2, 27345, 27346, 7, 84, 2, 2, 27346, 27347, 7, 71, 2, 2, 27347, 27348, 7, 69, 2, 2, 27348, 27349, 7, 81, 2, 2, 27349, 27350, 7, 88, 2, 2, 27350, 27351, 7, 71, 2, 2, 27351, 27352, 7, 84, 2, 2, 27352, 27353, 7, 67, 2, 2, 27353, 27354, 7, 68, 2, 2, 27354, 27355, 7, 78, 2, 2, 27355, 27356, 7, 71, 2, 2, 27356, 4036, 3, 2, 2, 2, 27357, 27358, 7, 87, 2, 2, 27358, 27359, 7, 80, 2, 2, 27359, 27360, 7, 84, 2, 2, 27360, 27361, 7, 71, 2, 2, 27361, 27362, 7, 85, 2, 2, 27362, 27363, 7, 86, 2, 2, 27363, 27364, 7, 84, 2, 2, 27364, 27365, 7, 75, 2, 2, 27365, 27366, 7, 69, 2, 2, 27366, 27367, 7, 86, 2, 2, 27367, 27368, 7, 71, 2, 2, 27368, 27369, 7, 70, 2, 2, 27369, 4038, 3, 2, 2, 2, 27370, 27371, 7, 87, 2, 2, 27371, 27372, 7, 80, 2, 2, 27372, 27373, 7, 85, 2, 2, 27373, 27374, 7, 87, 2, 2, 27374, 27375, 7, 68, 2, 2, 27375, 27376, 7, 85, 2, 2, 27376, 27377, 7, 69, 2, 2, 27377, 27378, 7, 84, 2, 2, 27378, 27379, 7, 75, 2, 2, 27379, 27380, 7, 68, 2, 2, 27380, 27381, 7, 71, 2, 2, 27381, 4040, 3, 2, 2, 2, 27382, 27383, 7, 87, 2, 2, 27383, 27384, 7, 80, 2, 2, 27384, 27385, 7, 86, 2, 2, 27385, 27386, 7, 75, 2, 2, 27386, 27387, 7, 78, 2, 2, 27387, 4042, 3, 2, 2, 2, 27388, 27389, 7, 87, 2, 2, 27389, 27390, 7, 80, 2, 2, 27390, 27391, 7, 87, 2, 2, 27391, 27392, 7, 85, 2, 2, 27392, 27393, 7, 67, 2, 2, 27393, 27394, 7, 68, 2, 2, 27394, 27395, 7, 78, 2, 2, 27395, 27396, 7, 71, 2, 2, 27396, 4044, 3, 2, 2, 2, 27397, 27398, 7, 87, 2, 2, 27398, 27399, 7, 80, 2, 2, 27399, 27400, 7, 87, 2, 2, 27400, 27401, 7, 85, 2, 2, 27401, 27402, 7, 71, 2, 2, 27402, 27403, 7, 70, 2, 2, 27403, 4046, 3, 2, 2, 2, 27404, 27405, 7, 87, 2, 2, 27405, 27406, 7, 82, 2, 2, 27406, 27407, 7, 70, 2, 2, 27407, 27408, 7, 67, 2, 2, 27408, 27409, 7, 86, 2, 2, 27409, 27410, 7, 67, 2, 2, 27410, 27411, 7, 68, 2, 2, 27411, 27412, 7, 78, 2, 2, 27412, 27413, 7, 71, 2, 2, 27413, 4048, 3, 2, 2, 2, 27414, 27415, 7, 87, 2, 2, 27415, 27416, 7, 82, 2, 2, 27416, 27417, 7, 70, 2, 2, 27417, 27418, 7, 67, 2, 2, 27418, 27419, 7, 86, 2, 2, 27419, 27420, 7, 71, 2, 2, 27420, 27421, 7, 70, 2, 2, 27421, 4050, 3, 2, 2, 2, 27422, 27423, 7, 87, 2, 2, 27423, 27424, 7, 82, 2, 2, 27424, 27425, 7, 70, 2, 2, 27425, 27426, 7, 67, 2, 2, 27426, 27427, 7, 86, 2, 2, 27427, 27428, 7, 71, 2, 2, 27428, 4052, 3, 2, 2, 2, 27429, 27430, 7, 87, 2, 2, 27430, 27431, 7, 82, 2, 2, 27431, 27432, 7, 70, 2, 2, 27432, 27433, 7, 67, 2, 2, 27433, 27434, 7, 86, 2, 2, 27434, 27435, 7, 71, 2, 2, 27435, 27436, 7, 90, 2, 2, 27436, 27437, 7, 79, 2, 2, 27437, 27438, 7, 78, 2, 2, 27438, 4054, 3, 2, 2, 2, 27439, 27440, 7, 87, 2, 2, 27440, 27441, 7, 82, 2, 2, 27441, 27442, 7, 70, 2, 2, 27442, 27443, 7, 97, 2, 2, 27443, 27444, 7, 75, 2, 2, 27444, 27445, 7, 80, 2, 2, 27445, 27446, 7, 70, 2, 2, 27446, 27447, 7, 71, 2, 2, 27447, 27448, 7, 90, 2, 2, 27448, 27449, 7, 71, 2, 2, 27449, 27450, 7, 85, 2, 2, 27450, 4056, 3, 2, 2, 2, 27451, 27452, 7, 87, 2, 2, 27452, 27453, 7, 82, 2, 2, 27453, 27454, 7, 70, 2, 2, 27454, 27455, 7, 97, 2, 2, 27455, 27456, 7, 76, 2, 2, 27456, 27457, 7, 81, 2, 2, 27457, 27458, 7, 75, 2, 2, 27458, 27459, 7, 80, 2, 2, 27459, 27460, 7, 75, 2, 2, 27460, 27461, 7, 80, 2, 2, 27461, 27462, 7, 70, 2, 2, 27462, 27463, 7, 71, 2, 2, 27463, 27464, 7, 90, 2, 2, 27464, 4058, 3, 2, 2, 2, 27465, 27466, 7, 87, 2, 2, 27466, 27467, 7, 82, 2, 2, 27467, 27468, 7, 73, 2, 2, 27468, 27469, 7, 84, 2, 2, 27469, 27470, 7, 67, 2, 2, 27470, 27471, 7, 70, 2, 2, 27471, 27472, 7, 71, 2, 2, 27472, 4060, 3, 2, 2, 2, 27473, 27474, 7, 87, 2, 2, 27474, 27475, 7, 82, 2, 2, 27475, 27476, 7, 82, 2, 2, 27476, 27477, 7, 71, 2, 2, 27477, 27478, 7, 84, 2, 2, 27478, 4062, 3, 2, 2, 2, 27479, 27480, 7, 87, 2, 2, 27480, 27481, 7, 82, 2, 2, 27481, 27482, 7, 85, 2, 2, 27482, 27483, 7, 71, 2, 2, 27483, 27484, 7, 84, 2, 2, 27484, 27485, 7, 86, 2, 2, 27485, 4064, 3, 2, 2, 2, 27486, 27487, 7, 87, 2, 2, 27487, 27488, 7, 84, 2, 2, 27488, 27489, 7, 81, 2, 2, 27489, 27490, 7, 89, 2, 2, 27490, 27491, 7, 75, 2, 2, 27491, 27492, 7, 70, 2, 2, 27492, 4066, 3, 2, 2, 2, 27493, 27494, 7, 87, 2, 2, 27494, 27495, 7, 85, 2, 2, 27495, 27496, 7, 67, 2, 2, 27496, 27497, 7, 68, 2, 2, 27497, 27498, 7, 78, 2, 2, 27498, 27499, 7, 71, 2, 2, 27499, 4068, 3, 2, 2, 2, 27500, 27501, 7, 87, 2, 2, 27501, 27502, 7, 85, 2, 2, 27502, 27503, 7, 67, 2, 2, 27503, 27504, 7, 73, 2, 2, 27504, 27505, 7, 71, 2, 2, 27505, 4070, 3, 2, 2, 2, 27506, 27507, 7, 87, 2, 2, 27507, 27508, 7, 85, 2, 2, 27508, 27509, 7, 71, 2, 2, 27509, 27510, 7, 97, 2, 2, 27510, 27511, 7, 67, 2, 2, 27511, 27512, 7, 80, 2, 2, 27512, 27513, 7, 86, 2, 2, 27513, 27514, 7, 75, 2, 2, 27514, 4072, 3, 2, 2, 2, 27515, 27516, 7, 87, 2, 2, 27516, 27517, 7, 85, 2, 2, 27517, 27518, 7, 71, 2, 2, 27518, 27519, 7, 97, 2, 2, 27519, 27520, 7, 69, 2, 2, 27520, 27521, 7, 81, 2, 2, 27521, 27522, 7, 80, 2, 2, 27522, 27523, 7, 69, 2, 2, 27523, 27524, 7, 67, 2, 2, 27524, 27525, 7, 86, 2, 2, 27525, 4074, 3, 2, 2, 2, 27526, 27527, 7, 87, 2, 2, 27527, 27528, 7, 85, 2, 2, 27528, 27529, 7, 71, 2, 2, 27529, 27530, 7, 97, 2, 2, 27530, 27531, 7, 69, 2, 2, 27531, 27532, 7, 87, 2, 2, 27532, 27533, 7, 68, 2, 2, 27533, 27534, 7, 71, 2, 2, 27534, 4076, 3, 2, 2, 2, 27535, 27536, 7, 87, 2, 2, 27536, 27537, 7, 85, 2, 2, 27537, 27538, 7, 71, 2, 2, 27538, 27539, 7, 97, 2, 2, 27539, 27540, 7, 74, 2, 2, 27540, 27541, 7, 67, 2, 2, 27541, 27542, 7, 85, 2, 2, 27542, 27543, 7, 74, 2, 2, 27543, 27544, 7, 97, 2, 2, 27544, 27545, 7, 67, 2, 2, 27545, 27546, 7, 73, 2, 2, 27546, 27547, 7, 73, 2, 2, 27547, 27548, 7, 84, 2, 2, 27548, 27549, 7, 71, 2, 2, 27549, 27550, 7, 73, 2, 2, 27550, 27551, 7, 67, 2, 2, 27551, 27552, 7, 86, 2, 2, 27552, 27553, 7, 75, 2, 2, 27553, 27554, 7, 81, 2, 2, 27554, 27555, 7, 80, 2, 2, 27555, 4078, 3, 2, 2, 2, 27556, 27557, 7, 87, 2, 2, 27557, 27558, 7, 85, 2, 2, 27558, 27559, 7, 71, 2, 2, 27559, 27560, 7, 97, 2, 2, 27560, 27561, 7, 74, 2, 2, 27561, 27562, 7, 67, 2, 2, 27562, 27563, 7, 85, 2, 2, 27563, 27564, 7, 74, 2, 2, 27564, 27565, 7, 97, 2, 2, 27565, 27566, 7, 73, 2, 2, 27566, 27567, 7, 68, 2, 2, 27567, 27568, 7, 91, 2, 2, 27568, 27569, 7, 97, 2, 2, 27569, 27570, 7, 72, 2, 2, 27570, 27571, 7, 81, 2, 2, 27571, 27572, 7, 84, 2, 2, 27572, 27573, 7, 97, 2, 2, 27573, 27574, 7, 82, 2, 2, 27574, 27575, 7, 87, 2, 2, 27575, 27576, 7, 85, 2, 2, 27576, 27577, 7, 74, 2, 2, 27577, 27578, 7, 70, 2, 2, 27578, 27579, 7, 81, 2, 2, 27579, 27580, 7, 89, 2, 2, 27580, 27581, 7, 80, 2, 2, 27581, 4080, 3, 2, 2, 2, 27582, 27583, 7, 87, 2, 2, 27583, 27584, 7, 85, 2, 2, 27584, 27585, 7, 71, 2, 2, 27585, 27586, 7, 97, 2, 2, 27586, 27587, 7, 74, 2, 2, 27587, 27588, 7, 67, 2, 2, 27588, 27589, 7, 85, 2, 2, 27589, 27590, 7, 74, 2, 2, 27590, 4082, 3, 2, 2, 2, 27591, 27592, 7, 87, 2, 2, 27592, 27593, 7, 85, 2, 2, 27593, 27594, 7, 71, 2, 2, 27594, 27595, 7, 97, 2, 2, 27595, 27596, 7, 74, 2, 2, 27596, 27597, 7, 75, 2, 2, 27597, 27598, 7, 70, 2, 2, 27598, 27599, 7, 70, 2, 2, 27599, 27600, 7, 71, 2, 2, 27600, 27601, 7, 80, 2, 2, 27601, 27602, 7, 97, 2, 2, 27602, 27603, 7, 82, 2, 2, 27603, 27604, 7, 67, 2, 2, 27604, 27605, 7, 84, 2, 2, 27605, 27606, 7, 86, 2, 2, 27606, 27607, 7, 75, 2, 2, 27607, 27608, 7, 86, 2, 2, 27608, 27609, 7, 75, 2, 2, 27609, 27610, 7, 81, 2, 2, 27610, 27611, 7, 80, 2, 2, 27611, 27612, 7, 85, 2, 2, 27612, 4084, 3, 2, 2, 2, 27613, 27614, 7, 87, 2, 2, 27614, 27615, 7, 85, 2, 2, 27615, 27616, 7, 71, 2, 2, 27616, 27617, 7, 97, 2, 2, 27617, 27618, 7, 75, 2, 2, 27618, 27619, 7, 80, 2, 2, 27619, 27620, 7, 88, 2, 2, 27620, 27621, 7, 75, 2, 2, 27621, 27622, 7, 85, 2, 2, 27622, 27623, 7, 75, 2, 2, 27623, 27624, 7, 68, 2, 2, 27624, 27625, 7, 78, 2, 2, 27625, 27626, 7, 71, 2, 2, 27626, 27627, 7, 97, 2, 2, 27627, 27628, 7, 75, 2, 2, 27628, 27629, 7, 80, 2, 2, 27629, 27630, 7, 70, 2, 2, 27630, 27631, 7, 71, 2, 2, 27631, 27632, 7, 90, 2, 2, 27632, 27633, 7, 71, 2, 2, 27633, 27634, 7, 85, 2, 2, 27634, 4086, 3, 2, 2, 2, 27635, 27636, 7, 87, 2, 2, 27636, 27637, 7, 85, 2, 2, 27637, 27638, 7, 71, 2, 2, 27638, 27639, 7, 97, 2, 2, 27639, 27640, 7, 79, 2, 2, 27640, 27641, 7, 71, 2, 2, 27641, 27642, 7, 84, 2, 2, 27642, 27643, 7, 73, 2, 2, 27643, 27644, 7, 71, 2, 2, 27644, 27645, 7, 97, 2, 2, 27645, 27646, 7, 69, 2, 2, 27646, 27647, 7, 67, 2, 2, 27647, 27648, 7, 84, 2, 2, 27648, 27649, 7, 86, 2, 2, 27649, 27650, 7, 71, 2, 2, 27650, 27651, 7, 85, 2, 2, 27651, 27652, 7, 75, 2, 2, 27652, 27653, 7, 67, 2, 2, 27653, 27654, 7, 80, 2, 2, 27654, 4088, 3, 2, 2, 2, 27655, 27656, 7, 87, 2, 2, 27656, 27657, 7, 85, 2, 2, 27657, 27658, 7, 71, 2, 2, 27658, 27659, 7, 97, 2, 2, 27659, 27660, 7, 79, 2, 2, 27660, 27661, 7, 71, 2, 2, 27661, 27662, 7, 84, 2, 2, 27662, 27663, 7, 73, 2, 2, 27663, 27664, 7, 71, 2, 2, 27664, 4090, 3, 2, 2, 2, 27665, 27666, 7, 87, 2, 2, 27666, 27667, 7, 85, 2, 2, 27667, 27668, 7, 71, 2, 2, 27668, 27669, 7, 97, 2, 2, 27669, 27670, 7, 80, 2, 2, 27670, 27671, 7, 78, 2, 2, 27671, 4092, 3, 2, 2, 2, 27672, 27673, 7, 87, 2, 2, 27673, 27674, 7, 85, 2, 2, 27674, 27675, 7, 71, 2, 2, 27675, 27676, 7, 97, 2, 2, 27676, 27677, 7, 80, 2, 2, 27677, 27678, 7, 78, 2, 2, 27678, 27679, 7, 97, 2, 2, 27679, 27680, 7, 89, 2, 2, 27680, 27681, 7, 75, 2, 2, 27681, 27682, 7, 86, 2, 2, 27682, 27683, 7, 74, 2, 2, 27683, 27684, 7, 97, 2, 2, 27684, 27685, 7, 75, 2, 2, 27685, 27686, 7, 80, 2, 2, 27686, 27687, 7, 70, 2, 2, 27687, 27688, 7, 71, 2, 2, 27688, 27689, 7, 90, 2, 2, 27689, 4094, 3, 2, 2, 2, 27690, 27691, 7, 87, 2, 2, 27691, 27692, 7, 85, 2, 2, 27692, 27693, 7, 71, 2, 2, 27693, 27694, 7, 97, 2, 2, 27694, 27695, 7, 82, 2, 2, 27695, 27696, 7, 84, 2, 2, 27696, 27697, 7, 75, 2, 2, 27697, 27698, 7, 88, 2, 2, 27698, 27699, 7, 67, 2, 2, 27699, 27700, 7, 86, 2, 2, 27700, 27701, 7, 71, 2, 2, 27701, 27702, 7, 97, 2, 2, 27702, 27703, 7, 81, 2, 2, 27703, 27704, 7, 87, 2, 2, 27704, 27705, 7, 86, 2, 2, 27705, 27706, 7, 78, 2, 2, 27706, 27707, 7, 75, 2, 2, 27707, 27708, 7, 80, 2, 2, 27708, 27709, 7, 71, 2, 2, 27709, 27710, 7, 85, 2, 2, 27710, 4096, 3, 2, 2, 2, 27711, 27712, 7, 87, 2, 2, 27712, 27713, 7, 85, 2, 2, 27713, 27714, 7, 71, 2, 2, 27714, 27715, 7, 84, 2, 2, 27715, 27716, 7, 97, 2, 2, 27716, 27717, 7, 70, 2, 2, 27717, 27718, 7, 67, 2, 2, 27718, 27719, 7, 86, 2, 2, 27719, 27720, 7, 67, 2, 2, 27720, 4098, 3, 2, 2, 2, 27721, 27722, 7, 87, 2, 2, 27722, 27723, 7, 85, 2, 2, 27723, 27724, 7, 71, 2, 2, 27724, 27725, 7, 84, 2, 2, 27725, 27726, 7, 97, 2, 2, 27726, 27727, 7, 70, 2, 2, 27727, 27728, 7, 71, 2, 2, 27728, 27729, 7, 72, 2, 2, 27729, 27730, 7, 75, 2, 2, 27730, 27731, 7, 80, 2, 2, 27731, 27732, 7, 71, 2, 2, 27732, 27733, 7, 70, 2, 2, 27733, 4100, 3, 2, 2, 2, 27734, 27735, 7, 87, 2, 2, 27735, 27736, 7, 85, 2, 2, 27736, 27737, 7, 71, 2, 2, 27737, 27738, 7, 84, 2, 2, 27738, 27739, 7, 71, 2, 2, 27739, 27740, 7, 80, 2, 2, 27740, 27741, 7, 88, 2, 2, 27741, 4102, 3, 2, 2, 2, 27742, 27743, 7, 87, 2, 2, 27743, 27744, 7, 85, 2, 2, 27744, 27745, 7, 71, 2, 2, 27745, 27746, 7, 84, 2, 2, 27746, 27747, 7, 73, 2, 2, 27747, 27748, 7, 84, 2, 2, 27748, 27749, 7, 81, 2, 2, 27749, 27750, 7, 87, 2, 2, 27750, 27751, 7, 82, 2, 2, 27751, 4104, 3, 2, 2, 2, 27752, 27753, 7, 87, 2, 2, 27753, 27754, 7, 85, 2, 2, 27754, 27755, 7, 71, 2, 2, 27755, 27756, 7, 84, 2, 2, 27756, 27757, 7, 97, 2, 2, 27757, 27758, 7, 84, 2, 2, 27758, 27759, 7, 71, 2, 2, 27759, 27760, 7, 69, 2, 2, 27760, 27761, 7, 91, 2, 2, 27761, 27762, 7, 69, 2, 2, 27762, 27763, 7, 78, 2, 2, 27763, 27764, 7, 71, 2, 2, 27764, 27765, 7, 68, 2, 2, 27765, 27766, 7, 75, 2, 2, 27766, 27767, 7, 80, 2, 2, 27767, 4106, 3, 2, 2, 2, 27768, 27769, 7, 87, 2, 2, 27769, 27770, 7, 85, 2, 2, 27770, 27771, 7, 71, 2, 2, 27771, 27772, 7, 84, 2, 2, 27772, 27773, 7, 85, 2, 2, 27773, 4108, 3, 2, 2, 2, 27774, 27775, 7, 87, 2, 2, 27775, 27776, 7, 85, 2, 2, 27776, 27777, 7, 71, 2, 2, 27777, 27778, 7, 84, 2, 2, 27778, 27779, 7, 97, 2, 2, 27779, 27780, 7, 86, 2, 2, 27780, 27781, 7, 67, 2, 2, 27781, 27782, 7, 68, 2, 2, 27782, 27783, 7, 78, 2, 2, 27783, 27784, 7, 71, 2, 2, 27784, 27785, 7, 85, 2, 2, 27785, 27786, 7, 82, 2, 2, 27786, 27787, 7, 67, 2, 2, 27787, 27788, 7, 69, 2, 2, 27788, 27789, 7, 71, 2, 2, 27789, 27790, 7, 85, 2, 2, 27790, 4110, 3, 2, 2, 2, 27791, 27792, 7, 87, 2, 2, 27792, 27793, 7, 85, 2, 2, 27793, 27794, 7, 71, 2, 2, 27794, 27795, 7, 84, 2, 2, 27795, 4112, 3, 2, 2, 2, 27796, 27797, 7, 87, 2, 2, 27797, 27798, 7, 85, 2, 2, 27798, 27799, 7, 71, 2, 2, 27799, 27800, 7, 97, 2, 2, 27800, 27801, 7, 85, 2, 2, 27801, 27802, 7, 71, 2, 2, 27802, 27803, 7, 79, 2, 2, 27803, 27804, 7, 75, 2, 2, 27804, 4114, 3, 2, 2, 2, 27805, 27806, 7, 87, 2, 2, 27806, 27807, 7, 85, 2, 2, 27807, 27808, 7, 71, 2, 2, 27808, 27809, 7, 97, 2, 2, 27809, 27810, 7, 85, 2, 2, 27810, 27811, 7, 86, 2, 2, 27811, 27812, 7, 81, 2, 2, 27812, 27813, 7, 84, 2, 2, 27813, 27814, 7, 71, 2, 2, 27814, 27815, 7, 70, 2, 2, 27815, 27816, 7, 97, 2, 2, 27816, 27817, 7, 81, 2, 2, 27817, 27818, 7, 87, 2, 2, 27818, 27819, 7, 86, 2, 2, 27819, 27820, 7, 78, 2, 2, 27820, 27821, 7, 75, 2, 2, 27821, 27822, 7, 80, 2, 2, 27822, 27823, 7, 71, 2, 2, 27823, 27824, 7, 85, 2, 2, 27824, 4116, 3, 2, 2, 2, 27825, 27826, 7, 87, 2, 2, 27826, 27827, 7, 85, 2, 2, 27827, 27828, 7, 71, 2, 2, 27828, 27829, 7, 97, 2, 2, 27829, 27830, 7, 86, 2, 2, 27830, 27831, 7, 86, 2, 2, 27831, 27832, 7, 86, 2, 2, 27832, 27833, 7, 97, 2, 2, 27833, 27834, 7, 72, 2, 2, 27834, 27835, 7, 81, 2, 2, 27835, 27836, 7, 84, 2, 2, 27836, 27837, 7, 97, 2, 2, 27837, 27838, 7, 73, 2, 2, 27838, 27839, 7, 85, 2, 2, 27839, 27840, 7, 71, 2, 2, 27840, 27841, 7, 86, 2, 2, 27841, 27842, 7, 85, 2, 2, 27842, 4118, 3, 2, 2, 2, 27843, 27844, 7, 87, 2, 2, 27844, 27845, 7, 85, 2, 2, 27845, 27846, 7, 71, 2, 2, 27846, 4120, 3, 2, 2, 2, 27847, 27848, 7, 87, 2, 2, 27848, 27849, 7, 85, 2, 2, 27849, 27850, 7, 71, 2, 2, 27850, 27851, 7, 97, 2, 2, 27851, 27852, 7, 88, 2, 2, 27852, 27853, 7, 71, 2, 2, 27853, 27854, 7, 69, 2, 2, 27854, 27855, 7, 86, 2, 2, 27855, 27856, 7, 81, 2, 2, 27856, 27857, 7, 84, 2, 2, 27857, 27858, 7, 97, 2, 2, 27858, 27859, 7, 67, 2, 2, 27859, 27860, 7, 73, 2, 2, 27860, 27861, 7, 73, 2, 2, 27861, 27862, 7, 84, 2, 2, 27862, 27863, 7, 71, 2, 2, 27863, 27864, 7, 73, 2, 2, 27864, 27865, 7, 67, 2, 2, 27865, 27866, 7, 86, 2, 2, 27866, 27867, 7, 75, 2, 2, 27867, 27868, 7, 81, 2, 2, 27868, 27869, 7, 80, 2, 2, 27869, 4122, 3, 2, 2, 2, 27870, 27871, 7, 87, 2, 2, 27871, 27872, 7, 85, 2, 2, 27872, 27873, 7, 71, 2, 2, 27873, 27874, 7, 97, 2, 2, 27874, 27875, 7, 89, 2, 2, 27875, 27876, 7, 71, 2, 2, 27876, 27877, 7, 67, 2, 2, 27877, 27878, 7, 77, 2, 2, 27878, 27879, 7, 97, 2, 2, 27879, 27880, 7, 80, 2, 2, 27880, 27881, 7, 67, 2, 2, 27881, 27882, 7, 79, 2, 2, 27882, 27883, 7, 71, 2, 2, 27883, 27884, 7, 97, 2, 2, 27884, 27885, 7, 84, 2, 2, 27885, 27886, 7, 71, 2, 2, 27886, 27887, 7, 85, 2, 2, 27887, 27888, 7, 78, 2, 2, 27888, 4124, 3, 2, 2, 2, 27889, 27890, 7, 87, 2, 2, 27890, 27891, 7, 85, 2, 2, 27891, 27892, 7, 75, 2, 2, 27892, 27893, 7, 80, 2, 2, 27893, 27894, 7, 73, 2, 2, 27894, 27895, 7, 97, 2, 2, 27895, 27896, 7, 80, 2, 2, 27896, 27897, 7, 81, 2, 2, 27897, 27898, 7, 97, 2, 2, 27898, 27899, 7, 71, 2, 2, 27899, 27900, 7, 90, 2, 2, 27900, 27901, 7, 82, 2, 2, 27901, 27902, 7, 67, 2, 2, 27902, 27903, 7, 80, 2, 2, 27903, 27904, 7, 70, 2, 2, 27904, 4126, 3, 2, 2, 2, 27905, 27906, 7, 87, 2, 2, 27906, 27907, 7, 85, 2, 2, 27907, 27908, 7, 75, 2, 2, 27908, 27909, 7, 80, 2, 2, 27909, 27910, 7, 73, 2, 2, 27910, 4128, 3, 2, 2, 2, 27911, 27912, 7, 87, 2, 2, 27912, 27913, 7, 86, 2, 2, 27913, 27914, 7, 72, 2, 2, 27914, 27915, 7, 51, 2, 2, 27915, 27916, 7, 56, 2, 2, 27916, 27917, 7, 68, 2, 2, 27917, 27918, 7, 71, 2, 2, 27918, 4130, 3, 2, 2, 2, 27919, 27920, 7, 87, 2, 2, 27920, 27921, 7, 86, 2, 2, 27921, 27922, 7, 72, 2, 2, 27922, 27923, 7, 51, 2, 2, 27923, 27924, 7, 56, 2, 2, 27924, 27925, 7, 78, 2, 2, 27925, 27926, 7, 71, 2, 2, 27926, 4132, 3, 2, 2, 2, 27927, 27928, 7, 87, 2, 2, 27928, 27929, 7, 86, 2, 2, 27929, 27930, 7, 72, 2, 2, 27930, 27931, 7, 53, 2, 2, 27931, 27932, 7, 52, 2, 2, 27932, 4134, 3, 2, 2, 2, 27933, 27934, 7, 87, 2, 2, 27934, 27935, 7, 86, 2, 2, 27935, 27936, 7, 72, 2, 2, 27936, 27937, 7, 58, 2, 2, 27937, 4136, 3, 2, 2, 2, 27938, 27939, 7, 88, 2, 2, 27939, 27940, 7, 51, 2, 2, 27940, 4138, 3, 2, 2, 2, 27941, 27942, 7, 88, 2, 2, 27942, 27943, 7, 52, 2, 2, 27943, 4140, 3, 2, 2, 2, 27944, 27945, 7, 88, 2, 2, 27945, 27946, 7, 67, 2, 2, 27946, 27947, 7, 78, 2, 2, 27947, 27948, 7, 75, 2, 2, 27948, 27949, 7, 70, 2, 2, 27949, 27950, 7, 67, 2, 2, 27950, 27951, 7, 86, 2, 2, 27951, 27952, 7, 71, 2, 2, 27952, 4142, 3, 2, 2, 2, 27953, 27954, 7, 88, 2, 2, 27954, 27955, 7, 67, 2, 2, 27955, 27956, 7, 78, 2, 2, 27956, 27957, 7, 75, 2, 2, 27957, 27958, 7, 70, 2, 2, 27958, 27959, 7, 67, 2, 2, 27959, 27960, 7, 86, 2, 2, 27960, 27961, 7, 75, 2, 2, 27961, 27962, 7, 81, 2, 2, 27962, 27963, 7, 80, 2, 2, 27963, 4144, 3, 2, 2, 2, 27964, 27965, 7, 88, 2, 2, 27965, 27966, 7, 67, 2, 2, 27966, 27967, 7, 78, 2, 2, 27967, 27968, 7, 75, 2, 2, 27968, 27969, 7, 70, 2, 2, 27969, 27970, 7, 97, 2, 2, 27970, 27971, 7, 86, 2, 2, 27971, 27972, 7, 75, 2, 2, 27972, 27973, 7, 79, 2, 2, 27973, 27974, 7, 71, 2, 2, 27974, 27975, 7, 97, 2, 2, 27975, 27976, 7, 71, 2, 2, 27976, 27977, 7, 80, 2, 2, 27977, 27978, 7, 70, 2, 2, 27978, 4146, 3, 2, 2, 2, 27979, 27980, 7, 88, 2, 2, 27980, 27981, 7, 67, 2, 2, 27981, 27982, 7, 78, 2, 2, 27982, 27983, 7, 87, 2, 2, 27983, 27984, 7, 71, 2, 2, 27984, 27985, 7, 85, 2, 2, 27985, 4148, 3, 2, 2, 2, 27986, 27987, 7, 88, 2, 2, 27987, 27988, 7, 67, 2, 2, 27988, 27989, 7, 78, 2, 2, 27989, 27990, 7, 87, 2, 2, 27990, 27991, 7, 71, 2, 2, 27991, 4150, 3, 2, 2, 2, 27992, 27993, 7, 88, 2, 2, 27993, 27994, 7, 67, 2, 2, 27994, 27995, 7, 84, 2, 2, 27995, 27996, 7, 69, 2, 2, 27996, 27997, 7, 74, 2, 2, 27997, 27998, 7, 67, 2, 2, 27998, 27999, 7, 84, 2, 2, 27999, 28000, 7, 52, 2, 2, 28000, 4152, 3, 2, 2, 2, 28001, 28002, 7, 88, 2, 2, 28002, 28003, 7, 67, 2, 2, 28003, 28004, 7, 84, 2, 2, 28004, 28005, 7, 69, 2, 2, 28005, 28006, 7, 74, 2, 2, 28006, 28007, 7, 67, 2, 2, 28007, 28008, 7, 84, 2, 2, 28008, 4154, 3, 2, 2, 2, 28009, 28010, 7, 88, 2, 2, 28010, 28011, 7, 67, 2, 2, 28011, 28012, 7, 84, 2, 2, 28012, 28013, 7, 75, 2, 2, 28013, 28014, 7, 67, 2, 2, 28014, 28015, 7, 68, 2, 2, 28015, 28016, 7, 78, 2, 2, 28016, 28017, 7, 71, 2, 2, 28017, 4156, 3, 2, 2, 2, 28018, 28019, 7, 88, 2, 2, 28019, 28020, 7, 67, 2, 2, 28020, 28021, 7, 84, 2, 2, 28021, 28022, 7, 97, 2, 2, 28022, 28023, 7, 82, 2, 2, 28023, 28024, 7, 81, 2, 2, 28024, 28025, 7, 82, 2, 2, 28025, 4158, 3, 2, 2, 2, 28026, 28027, 7, 88, 2, 2, 28027, 28028, 7, 67, 2, 2, 28028, 28029, 7, 84, 2, 2, 28029, 28030, 7, 84, 2, 2, 28030, 28031, 7, 67, 2, 2, 28031, 28032, 7, 91, 2, 2, 28032, 28033, 7, 85, 2, 2, 28033, 4160, 3, 2, 2, 2, 28034, 28035, 7, 88, 2, 2, 28035, 28036, 7, 67, 2, 2, 28036, 28037, 7, 84, 2, 2, 28037, 28038, 7, 84, 2, 2, 28038, 28039, 7, 67, 2, 2, 28039, 28040, 7, 91, 2, 2, 28040, 4162, 3, 2, 2, 2, 28041, 28042, 7, 88, 2, 2, 28042, 28043, 7, 67, 2, 2, 28043, 28044, 7, 84, 2, 2, 28044, 28045, 7, 97, 2, 2, 28045, 28046, 7, 85, 2, 2, 28046, 28047, 7, 67, 2, 2, 28047, 28048, 7, 79, 2, 2, 28048, 28049, 7, 82, 2, 2, 28049, 4164, 3, 2, 2, 2, 28050, 28051, 7, 88, 2, 2, 28051, 28052, 7, 67, 2, 2, 28052, 28053, 7, 84, 2, 2, 28053, 28054, 7, 91, 2, 2, 28054, 28055, 7, 75, 2, 2, 28055, 28056, 7, 80, 2, 2, 28056, 28057, 7, 73, 2, 2, 28057, 4166, 3, 2, 2, 2, 28058, 28059, 7, 88, 2, 2, 28059, 28060, 7, 71, 2, 2, 28060, 28061, 7, 69, 2, 2, 28061, 28062, 7, 86, 2, 2, 28062, 28063, 7, 81, 2, 2, 28063, 28064, 7, 84, 2, 2, 28064, 28065, 7, 97, 2, 2, 28065, 28066, 7, 84, 2, 2, 28066, 28067, 7, 71, 2, 2, 28067, 28068, 7, 67, 2, 2, 28068, 28069, 7, 70, 2, 2, 28069, 28070, 7, 97, 2, 2, 28070, 28071, 7, 86, 2, 2, 28071, 28072, 7, 84, 2, 2, 28072, 28073, 7, 67, 2, 2, 28073, 28074, 7, 69, 2, 2, 28074, 28075, 7, 71, 2, 2, 28075, 4168, 3, 2, 2, 2, 28076, 28077, 7, 88, 2, 2, 28077, 28078, 7, 71, 2, 2, 28078, 28079, 7, 69, 2, 2, 28079, 28080, 7, 86, 2, 2, 28080, 28081, 7, 81, 2, 2, 28081, 28082, 7, 84, 2, 2, 28082, 28083, 7, 97, 2, 2, 28083, 28084, 7, 84, 2, 2, 28084, 28085, 7, 71, 2, 2, 28085, 28086, 7, 67, 2, 2, 28086, 28087, 7, 70, 2, 2, 28087, 4170, 3, 2, 2, 2, 28088, 28089, 7, 88, 2, 2, 28089, 28090, 7, 71, 2, 2, 28090, 28091, 7, 69, 2, 2, 28091, 28092, 7, 86, 2, 2, 28092, 28093, 7, 81, 2, 2, 28093, 28094, 7, 84, 2, 2, 28094, 28095, 7, 97, 2, 2, 28095, 28096, 7, 86, 2, 2, 28096, 28097, 7, 84, 2, 2, 28097, 28098, 7, 67, 2, 2, 28098, 28099, 7, 80, 2, 2, 28099, 28100, 7, 85, 2, 2, 28100, 28101, 7, 72, 2, 2, 28101, 28102, 7, 81, 2, 2, 28102, 28103, 7, 84, 2, 2, 28103, 28104, 7, 79, 2, 2, 28104, 28105, 7, 97, 2, 2, 28105, 28106, 7, 70, 2, 2, 28106, 28107, 7, 75, 2, 2, 28107, 28108, 7, 79, 2, 2, 28108, 28109, 7, 85, 2, 2, 28109, 4172, 3, 2, 2, 2, 28110, 28111, 7, 88, 2, 2, 28111, 28112, 7, 71, 2, 2, 28112, 28113, 7, 69, 2, 2, 28113, 28114, 7, 86, 2, 2, 28114, 28115, 7, 81, 2, 2, 28115, 28116, 7, 84, 2, 2, 28116, 28117, 7, 97, 2, 2, 28117, 28118, 7, 86, 2, 2, 28118, 28119, 7, 84, 2, 2, 28119, 28120, 7, 67, 2, 2, 28120, 28121, 7, 80, 2, 2, 28121, 28122, 7, 85, 2, 2, 28122, 28123, 7, 72, 2, 2, 28123, 28124, 7, 81, 2, 2, 28124, 28125, 7, 84, 2, 2, 28125, 28126, 7, 79, 2, 2, 28126, 28127, 7, 97, 2, 2, 28127, 28128, 7, 72, 2, 2, 28128, 28129, 7, 67, 2, 2, 28129, 28130, 7, 69, 2, 2, 28130, 28131, 7, 86, 2, 2, 28131, 4174, 3, 2, 2, 2, 28132, 28133, 7, 88, 2, 2, 28133, 28134, 7, 71, 2, 2, 28134, 28135, 7, 69, 2, 2, 28135, 28136, 7, 86, 2, 2, 28136, 28137, 7, 81, 2, 2, 28137, 28138, 7, 84, 2, 2, 28138, 28139, 7, 97, 2, 2, 28139, 28140, 7, 86, 2, 2, 28140, 28141, 7, 84, 2, 2, 28141, 28142, 7, 67, 2, 2, 28142, 28143, 7, 80, 2, 2, 28143, 28144, 7, 85, 2, 2, 28144, 28145, 7, 72, 2, 2, 28145, 28146, 7, 81, 2, 2, 28146, 28147, 7, 84, 2, 2, 28147, 28148, 7, 79, 2, 2, 28148, 4176, 3, 2, 2, 2, 28149, 28150, 7, 88, 2, 2, 28150, 28151, 7, 71, 2, 2, 28151, 28152, 7, 84, 2, 2, 28152, 28153, 7, 75, 2, 2, 28153, 28154, 7, 72, 2, 2, 28154, 28155, 7, 75, 2, 2, 28155, 28156, 7, 71, 2, 2, 28156, 28157, 7, 84, 2, 2, 28157, 4178, 3, 2, 2, 2, 28158, 28159, 7, 88, 2, 2, 28159, 28160, 7, 71, 2, 2, 28160, 28161, 7, 84, 2, 2, 28161, 28162, 7, 75, 2, 2, 28162, 28163, 7, 72, 2, 2, 28163, 28164, 7, 91, 2, 2, 28164, 4180, 3, 2, 2, 2, 28165, 28166, 7, 88, 2, 2, 28166, 28167, 7, 71, 2, 2, 28167, 28168, 7, 84, 2, 2, 28168, 28169, 7, 85, 2, 2, 28169, 28170, 7, 75, 2, 2, 28170, 28171, 7, 81, 2, 2, 28171, 28172, 7, 80, 2, 2, 28172, 28173, 7, 75, 2, 2, 28173, 28174, 7, 80, 2, 2, 28174, 28175, 7, 73, 2, 2, 28175, 4182, 3, 2, 2, 2, 28176, 28177, 7, 88, 2, 2, 28177, 28178, 7, 71, 2, 2, 28178, 28179, 7, 84, 2, 2, 28179, 28180, 7, 85, 2, 2, 28180, 28181, 7, 75, 2, 2, 28181, 28182, 7, 81, 2, 2, 28182, 28183, 7, 80, 2, 2, 28183, 28184, 7, 85, 2, 2, 28184, 28185, 7, 97, 2, 2, 28185, 28186, 7, 71, 2, 2, 28186, 28187, 7, 80, 2, 2, 28187, 28188, 7, 70, 2, 2, 28188, 28189, 7, 85, 2, 2, 28189, 28190, 7, 69, 2, 2, 28190, 28191, 7, 80, 2, 2, 28191, 4184, 3, 2, 2, 2, 28192, 28193, 7, 88, 2, 2, 28193, 28194, 7, 71, 2, 2, 28194, 28195, 7, 84, 2, 2, 28195, 28196, 7, 85, 2, 2, 28196, 28197, 7, 75, 2, 2, 28197, 28198, 7, 81, 2, 2, 28198, 28199, 7, 80, 2, 2, 28199, 28200, 7, 85, 2, 2, 28200, 28201, 7, 97, 2, 2, 28201, 28202, 7, 71, 2, 2, 28202, 28203, 7, 80, 2, 2, 28203, 28204, 7, 70, 2, 2, 28204, 28205, 7, 86, 2, 2, 28205, 28206, 7, 75, 2, 2, 28206, 28207, 7, 79, 2, 2, 28207, 28208, 7, 71, 2, 2, 28208, 4186, 3, 2, 2, 2, 28209, 28210, 7, 88, 2, 2, 28210, 28211, 7, 71, 2, 2, 28211, 28212, 7, 84, 2, 2, 28212, 28213, 7, 85, 2, 2, 28213, 28214, 7, 75, 2, 2, 28214, 28215, 7, 81, 2, 2, 28215, 28216, 7, 80, 2, 2, 28216, 28217, 7, 85, 2, 2, 28217, 28218, 7, 97, 2, 2, 28218, 28219, 7, 81, 2, 2, 28219, 28220, 7, 82, 2, 2, 28220, 28221, 7, 71, 2, 2, 28221, 28222, 7, 84, 2, 2, 28222, 28223, 7, 67, 2, 2, 28223, 28224, 7, 86, 2, 2, 28224, 28225, 7, 75, 2, 2, 28225, 28226, 7, 81, 2, 2, 28226, 28227, 7, 80, 2, 2, 28227, 4188, 3, 2, 2, 2, 28228, 28229, 7, 88, 2, 2, 28229, 28230, 7, 71, 2, 2, 28230, 28231, 7, 84, 2, 2, 28231, 28232, 7, 85, 2, 2, 28232, 28233, 7, 75, 2, 2, 28233, 28234, 7, 81, 2, 2, 28234, 28235, 7, 80, 2, 2, 28235, 28236, 7, 85, 2, 2, 28236, 28237, 7, 97, 2, 2, 28237, 28238, 7, 85, 2, 2, 28238, 28239, 7, 86, 2, 2, 28239, 28240, 7, 67, 2, 2, 28240, 28241, 7, 84, 2, 2, 28241, 28242, 7, 86, 2, 2, 28242, 28243, 7, 85, 2, 2, 28243, 28244, 7, 69, 2, 2, 28244, 28245, 7, 80, 2, 2, 28245, 4190, 3, 2, 2, 2, 28246, 28247, 7, 88, 2, 2, 28247, 28248, 7, 71, 2, 2, 28248, 28249, 7, 84, 2, 2, 28249, 28250, 7, 85, 2, 2, 28250, 28251, 7, 75, 2, 2, 28251, 28252, 7, 81, 2, 2, 28252, 28253, 7, 80, 2, 2, 28253, 28254, 7, 85, 2, 2, 28254, 28255, 7, 97, 2, 2, 28255, 28256, 7, 85, 2, 2, 28256, 28257, 7, 86, 2, 2, 28257, 28258, 7, 67, 2, 2, 28258, 28259, 7, 84, 2, 2, 28259, 28260, 7, 86, 2, 2, 28260, 28261, 7, 86, 2, 2, 28261, 28262, 7, 75, 2, 2, 28262, 28263, 7, 79, 2, 2, 28263, 28264, 7, 71, 2, 2, 28264, 4192, 3, 2, 2, 2, 28265, 28266, 7, 88, 2, 2, 28266, 28267, 7, 71, 2, 2, 28267, 28268, 7, 84, 2, 2, 28268, 28269, 7, 85, 2, 2, 28269, 28270, 7, 75, 2, 2, 28270, 28271, 7, 81, 2, 2, 28271, 28272, 7, 80, 2, 2, 28272, 28273, 7, 85, 2, 2, 28273, 4194, 3, 2, 2, 2, 28274, 28275, 7, 88, 2, 2, 28275, 28276, 7, 71, 2, 2, 28276, 28277, 7, 84, 2, 2, 28277, 28278, 7, 85, 2, 2, 28278, 28279, 7, 75, 2, 2, 28279, 28280, 7, 81, 2, 2, 28280, 28281, 7, 80, 2, 2, 28281, 28282, 7, 85, 2, 2, 28282, 28283, 7, 97, 2, 2, 28283, 28284, 7, 90, 2, 2, 28284, 28285, 7, 75, 2, 2, 28285, 28286, 7, 70, 2, 2, 28286, 4196, 3, 2, 2, 2, 28287, 28288, 7, 88, 2, 2, 28288, 28289, 7, 71, 2, 2, 28289, 28290, 7, 84, 2, 2, 28290, 28291, 7, 85, 2, 2, 28291, 28292, 7, 75, 2, 2, 28292, 28293, 7, 81, 2, 2, 28293, 28294, 7, 80, 2, 2, 28294, 4198, 3, 2, 2, 2, 28295, 28296, 7, 88, 2, 2, 28296, 28297, 7, 75, 2, 2, 28297, 28298, 7, 71, 2, 2, 28298, 28299, 7, 89, 2, 2, 28299, 4200, 3, 2, 2, 2, 28300, 28301, 7, 88, 2, 2, 28301, 28302, 7, 75, 2, 2, 28302, 28303, 7, 81, 2, 2, 28303, 28304, 7, 78, 2, 2, 28304, 28305, 7, 67, 2, 2, 28305, 28306, 7, 86, 2, 2, 28306, 28307, 7, 75, 2, 2, 28307, 28308, 7, 81, 2, 2, 28308, 28309, 7, 80, 2, 2, 28309, 4202, 3, 2, 2, 2, 28310, 28311, 7, 88, 2, 2, 28311, 28312, 7, 75, 2, 2, 28312, 28313, 7, 84, 2, 2, 28313, 28314, 7, 86, 2, 2, 28314, 28315, 7, 87, 2, 2, 28315, 28316, 7, 67, 2, 2, 28316, 28317, 7, 78, 2, 2, 28317, 4204, 3, 2, 2, 2, 28318, 28319, 7, 88, 2, 2, 28319, 28320, 7, 75, 2, 2, 28320, 28321, 7, 85, 2, 2, 28321, 28322, 7, 75, 2, 2, 28322, 28323, 7, 68, 2, 2, 28323, 28324, 7, 75, 2, 2, 28324, 28325, 7, 78, 2, 2, 28325, 28326, 7, 75, 2, 2, 28326, 28327, 7, 86, 2, 2, 28327, 28328, 7, 91, 2, 2, 28328, 4206, 3, 2, 2, 2, 28329, 28330, 7, 88, 2, 2, 28330, 28331, 7, 75, 2, 2, 28331, 28332, 7, 85, 2, 2, 28332, 28333, 7, 75, 2, 2, 28333, 28334, 7, 68, 2, 2, 28334, 28335, 7, 78, 2, 2, 28335, 28336, 7, 71, 2, 2, 28336, 4208, 3, 2, 2, 2, 28337, 28338, 7, 88, 2, 2, 28338, 28339, 7, 81, 2, 2, 28339, 28340, 7, 78, 2, 2, 28340, 28341, 7, 87, 2, 2, 28341, 28342, 7, 79, 2, 2, 28342, 28343, 7, 71, 2, 2, 28343, 4210, 3, 2, 2, 2, 28344, 28345, 7, 88, 2, 2, 28345, 28346, 7, 85, 2, 2, 28346, 28347, 7, 75, 2, 2, 28347, 28348, 7, 92, 2, 2, 28348, 28349, 7, 71, 2, 2, 28349, 4212, 3, 2, 2, 2, 28350, 28351, 7, 89, 2, 2, 28351, 28352, 7, 67, 2, 2, 28352, 28353, 7, 75, 2, 2, 28353, 28354, 7, 86, 2, 2, 28354, 4214, 3, 2, 2, 2, 28355, 28356, 7, 89, 2, 2, 28356, 28357, 7, 67, 2, 2, 28357, 28358, 7, 78, 2, 2, 28358, 28359, 7, 78, 2, 2, 28359, 28360, 7, 71, 2, 2, 28360, 28361, 7, 86, 2, 2, 28361, 4216, 3, 2, 2, 2, 28362, 28363, 7, 89, 2, 2, 28363, 28364, 7, 67, 2, 2, 28364, 28365, 7, 84, 2, 2, 28365, 28366, 7, 80, 2, 2, 28366, 28367, 7, 75, 2, 2, 28367, 28368, 7, 80, 2, 2, 28368, 28369, 7, 73, 2, 2, 28369, 4218, 3, 2, 2, 2, 28370, 28371, 7, 89, 2, 2, 28371, 28372, 7, 71, 2, 2, 28372, 28373, 7, 71, 2, 2, 28373, 28374, 7, 77, 2, 2, 28374, 28375, 7, 85, 2, 2, 28375, 4220, 3, 2, 2, 2, 28376, 28377, 7, 89, 2, 2, 28377, 28378, 7, 71, 2, 2, 28378, 28379, 7, 71, 2, 2, 28379, 28380, 7, 77, 2, 2, 28380, 4222, 3, 2, 2, 2, 28381, 28382, 7, 89, 2, 2, 28382, 28383, 7, 71, 2, 2, 28383, 28384, 7, 78, 2, 2, 28384, 28385, 7, 78, 2, 2, 28385, 28386, 7, 72, 2, 2, 28386, 28387, 7, 81, 2, 2, 28387, 28388, 7, 84, 2, 2, 28388, 28389, 7, 79, 2, 2, 28389, 28390, 7, 71, 2, 2, 28390, 28391, 7, 70, 2, 2, 28391, 4224, 3, 2, 2, 2, 28392, 28393, 7, 89, 2, 2, 28393, 28394, 7, 74, 2, 2, 28394, 28395, 7, 71, 2, 2, 28395, 28396, 7, 80, 2, 2, 28396, 28397, 7, 71, 2, 2, 28397, 28398, 7, 88, 2, 2, 28398, 28399, 7, 71, 2, 2, 28399, 28400, 7, 84, 2, 2, 28400, 4226, 3, 2, 2, 2, 28401, 28402, 7, 89, 2, 2, 28402, 28403, 7, 74, 2, 2, 28403, 28404, 7, 71, 2, 2, 28404, 28405, 7, 80, 2, 2, 28405, 4228, 3, 2, 2, 2, 28406, 28407, 7, 89, 2, 2, 28407, 28408, 7, 74, 2, 2, 28408, 28409, 7, 71, 2, 2, 28409, 28410, 7, 84, 2, 2, 28410, 28411, 7, 71, 2, 2, 28411, 4230, 3, 2, 2, 2, 28412, 28413, 7, 89, 2, 2, 28413, 28414, 7, 74, 2, 2, 28414, 28415, 7, 75, 2, 2, 28415, 28416, 7, 78, 2, 2, 28416, 28417, 7, 71, 2, 2, 28417, 4232, 3, 2, 2, 2, 28418, 28419, 7, 89, 2, 2, 28419, 28420, 7, 74, 2, 2, 28420, 28421, 7, 75, 2, 2, 28421, 28422, 7, 86, 2, 2, 28422, 28423, 7, 71, 2, 2, 28423, 28424, 7, 85, 2, 2, 28424, 28425, 7, 82, 2, 2, 28425, 28426, 7, 67, 2, 2, 28426, 28427, 7, 69, 2, 2, 28427, 28428, 7, 71, 2, 2, 28428, 4234, 3, 2, 2, 2, 28429, 28430, 7, 89, 2, 2, 28430, 28431, 7, 75, 2, 2, 28431, 28432, 7, 70, 2, 2, 28432, 28433, 7, 86, 2, 2, 28433, 28434, 7, 74, 2, 2, 28434, 28435, 7, 97, 2, 2, 28435, 28436, 7, 68, 2, 2, 28436, 28437, 7, 87, 2, 2, 28437, 28438, 7, 69, 2, 2, 28438, 28439, 7, 77, 2, 2, 28439, 28440, 7, 71, 2, 2, 28440, 28441, 7, 86, 2, 2, 28441, 4236, 3, 2, 2, 2, 28442, 28443, 7, 89, 2, 2, 28443, 28444, 7, 75, 2, 2, 28444, 28445, 7, 86, 2, 2, 28445, 28446, 7, 74, 2, 2, 28446, 28447, 7, 75, 2, 2, 28447, 28448, 7, 80, 2, 2, 28448, 4238, 3, 2, 2, 2, 28449, 28450, 7, 89, 2, 2, 28450, 28451, 7, 75, 2, 2, 28451, 28452, 7, 86, 2, 2, 28452, 28453, 7, 74, 2, 2, 28453, 28454, 7, 81, 2, 2, 28454, 28455, 7, 87, 2, 2, 28455, 28456, 7, 86, 2, 2, 28456, 4240, 3, 2, 2, 2, 28457, 28458, 7, 89, 2, 2, 28458, 28459, 7, 75, 2, 2, 28459, 28460, 7, 86, 2, 2, 28460, 28461, 7, 74, 2, 2, 28461, 28462, 7, 97, 2, 2, 28462, 28463, 7, 82, 2, 2, 28463, 28464, 7, 78, 2, 2, 28464, 28465, 7, 85, 2, 2, 28465, 28466, 7, 83, 2, 2, 28466, 28467, 7, 78, 2, 2, 28467, 4242, 3, 2, 2, 2, 28468, 28469, 7, 89, 2, 2, 28469, 28470, 7, 75, 2, 2, 28470, 28471, 7, 86, 2, 2, 28471, 28472, 7, 74, 2, 2, 28472, 4244, 3, 2, 2, 2, 28473, 28474, 7, 89, 2, 2, 28474, 28475, 7, 81, 2, 2, 28475, 28476, 7, 84, 2, 2, 28476, 28477, 7, 77, 2, 2, 28477, 4246, 3, 2, 2, 2, 28478, 28479, 7, 89, 2, 2, 28479, 28480, 7, 84, 2, 2, 28480, 28481, 7, 67, 2, 2, 28481, 28482, 7, 82, 2, 2, 28482, 28483, 7, 82, 2, 2, 28483, 28484, 7, 71, 2, 2, 28484, 28485, 7, 70, 2, 2, 28485, 4248, 3, 2, 2, 2, 28486, 28487, 7, 89, 2, 2, 28487, 28488, 7, 84, 2, 2, 28488, 28489, 7, 67, 2, 2, 28489, 28490, 7, 82, 2, 2, 28490, 28491, 7, 82, 2, 2, 28491, 28492, 7, 71, 2, 2, 28492, 28493, 7, 84, 2, 2, 28493, 4250, 3, 2, 2, 2, 28494, 28495, 7, 89, 2, 2, 28495, 28496, 7, 84, 2, 2, 28496, 28497, 7, 75, 2, 2, 28497, 28498, 7, 86, 2, 2, 28498, 28499, 7, 71, 2, 2, 28499, 4252, 3, 2, 2, 2, 28500, 28501, 7, 90, 2, 2, 28501, 28502, 7, 70, 2, 2, 28502, 28503, 7, 68, 2, 2, 28503, 28504, 7, 97, 2, 2, 28504, 28505, 7, 72, 2, 2, 28505, 28506, 7, 67, 2, 2, 28506, 28507, 7, 85, 2, 2, 28507, 28508, 7, 86, 2, 2, 28508, 28509, 7, 82, 2, 2, 28509, 28510, 7, 67, 2, 2, 28510, 28511, 7, 86, 2, 2, 28511, 28512, 7, 74, 2, 2, 28512, 28513, 7, 97, 2, 2, 28513, 28514, 7, 75, 2, 2, 28514, 28515, 7, 80, 2, 2, 28515, 28516, 7, 85, 2, 2, 28516, 28517, 7, 71, 2, 2, 28517, 28518, 7, 84, 2, 2, 28518, 28519, 7, 86, 2, 2, 28519, 4254, 3, 2, 2, 2, 28520, 28521, 7, 90, 2, 2, 28521, 28522, 7, 70, 2, 2, 28522, 28523, 7, 68, 2, 2, 28523, 4256, 3, 2, 2, 2, 28524, 28525, 7, 90, 2, 2, 28525, 28526, 7, 97, 2, 2, 28526, 28527, 7, 70, 2, 2, 28527, 28528, 7, 91, 2, 2, 28528, 28529, 7, 80, 2, 2, 28529, 28530, 7, 97, 2, 2, 28530, 28531, 7, 82, 2, 2, 28531, 28532, 7, 84, 2, 2, 28532, 28533, 7, 87, 2, 2, 28533, 28534, 7, 80, 2, 2, 28534, 28535, 7, 71, 2, 2, 28535, 4258, 3, 2, 2, 2, 28536, 28537, 7, 90, 2, 2, 28537, 28538, 7, 75, 2, 2, 28538, 28539, 7, 70, 2, 2, 28539, 4260, 3, 2, 2, 2, 28540, 28541, 7, 90, 2, 2, 28541, 28542, 7, 79, 2, 2, 28542, 28543, 7, 78, 2, 2, 28543, 28544, 7, 52, 2, 2, 28544, 28545, 7, 81, 2, 2, 28545, 28546, 7, 68, 2, 2, 28546, 28547, 7, 76, 2, 2, 28547, 28548, 7, 71, 2, 2, 28548, 28549, 7, 69, 2, 2, 28549, 28550, 7, 86, 2, 2, 28550, 4262, 3, 2, 2, 2, 28551, 28552, 7, 90, 2, 2, 28552, 28553, 7, 79, 2, 2, 28553, 28554, 7, 78, 2, 2, 28554, 28555, 7, 67, 2, 2, 28555, 28556, 7, 73, 2, 2, 28556, 28557, 7, 73, 2, 2, 28557, 4264, 3, 2, 2, 2, 28558, 28559, 7, 90, 2, 2, 28559, 28560, 7, 79, 2, 2, 28560, 28561, 7, 78, 2, 2, 28561, 28562, 7, 67, 2, 2, 28562, 28563, 7, 86, 2, 2, 28563, 28564, 7, 86, 2, 2, 28564, 28565, 7, 84, 2, 2, 28565, 28566, 7, 75, 2, 2, 28566, 28567, 7, 68, 2, 2, 28567, 28568, 7, 87, 2, 2, 28568, 28569, 7, 86, 2, 2, 28569, 28570, 7, 71, 2, 2, 28570, 28571, 7, 85, 2, 2, 28571, 4266, 3, 2, 2, 2, 28572, 28573, 7, 90, 2, 2, 28573, 28574, 7, 79, 2, 2, 28574, 28575, 7, 78, 2, 2, 28575, 28576, 7, 69, 2, 2, 28576, 28577, 7, 67, 2, 2, 28577, 28578, 7, 85, 2, 2, 28578, 28579, 7, 86, 2, 2, 28579, 4268, 3, 2, 2, 2, 28580, 28581, 7, 90, 2, 2, 28581, 28582, 7, 79, 2, 2, 28582, 28583, 7, 78, 2, 2, 28583, 28584, 7, 69, 2, 2, 28584, 28585, 7, 70, 2, 2, 28585, 28586, 7, 67, 2, 2, 28586, 28587, 7, 86, 2, 2, 28587, 28588, 7, 67, 2, 2, 28588, 4270, 3, 2, 2, 2, 28589, 28590, 7, 90, 2, 2, 28590, 28591, 7, 79, 2, 2, 28591, 28592, 7, 78, 2, 2, 28592, 28593, 7, 69, 2, 2, 28593, 28594, 7, 81, 2, 2, 28594, 28595, 7, 78, 2, 2, 28595, 28596, 7, 67, 2, 2, 28596, 28597, 7, 86, 2, 2, 28597, 28598, 7, 86, 2, 2, 28598, 28599, 7, 88, 2, 2, 28599, 28600, 7, 67, 2, 2, 28600, 28601, 7, 78, 2, 2, 28601, 4272, 3, 2, 2, 2, 28602, 28603, 7, 90, 2, 2, 28603, 28604, 7, 79, 2, 2, 28604, 28605, 7, 78, 2, 2, 28605, 28606, 7, 69, 2, 2, 28606, 28607, 7, 81, 2, 2, 28607, 28608, 7, 79, 2, 2, 28608, 28609, 7, 79, 2, 2, 28609, 28610, 7, 71, 2, 2, 28610, 28611, 7, 80, 2, 2, 28611, 28612, 7, 86, 2, 2, 28612, 4274, 3, 2, 2, 2, 28613, 28614, 7, 90, 2, 2, 28614, 28615, 7, 79, 2, 2, 28615, 28616, 7, 78, 2, 2, 28616, 28617, 7, 69, 2, 2, 28617, 28618, 7, 81, 2, 2, 28618, 28619, 7, 80, 2, 2, 28619, 28620, 7, 69, 2, 2, 28620, 28621, 7, 67, 2, 2, 28621, 28622, 7, 86, 2, 2, 28622, 4276, 3, 2, 2, 2, 28623, 28624, 7, 90, 2, 2, 28624, 28625, 7, 79, 2, 2, 28625, 28626, 7, 78, 2, 2, 28626, 28627, 7, 70, 2, 2, 28627, 28628, 7, 75, 2, 2, 28628, 28629, 7, 72, 2, 2, 28629, 28630, 7, 72, 2, 2, 28630, 4278, 3, 2, 2, 2, 28631, 28632, 7, 90, 2, 2, 28632, 28633, 7, 79, 2, 2, 28633, 28634, 7, 78, 2, 2, 28634, 28635, 7, 97, 2, 2, 28635, 28636, 7, 70, 2, 2, 28636, 28637, 7, 79, 2, 2, 28637, 28638, 7, 78, 2, 2, 28638, 28639, 7, 97, 2, 2, 28639, 28640, 7, 84, 2, 2, 28640, 28641, 7, 89, 2, 2, 28641, 28642, 7, 86, 2, 2, 28642, 28643, 7, 97, 2, 2, 28643, 28644, 7, 85, 2, 2, 28644, 28645, 7, 86, 2, 2, 28645, 28646, 7, 79, 2, 2, 28646, 28647, 7, 86, 2, 2, 28647, 4280, 3, 2, 2, 2, 28648, 28649, 7, 90, 2, 2, 28649, 28650, 7, 79, 2, 2, 28650, 28651, 7, 78, 2, 2, 28651, 28652, 7, 71, 2, 2, 28652, 28653, 7, 78, 2, 2, 28653, 28654, 7, 71, 2, 2, 28654, 28655, 7, 79, 2, 2, 28655, 28656, 7, 71, 2, 2, 28656, 28657, 7, 80, 2, 2, 28657, 28658, 7, 86, 2, 2, 28658, 4282, 3, 2, 2, 2, 28659, 28660, 7, 90, 2, 2, 28660, 28661, 7, 79, 2, 2, 28661, 28662, 7, 78, 2, 2, 28662, 28663, 7, 71, 2, 2, 28663, 28664, 7, 90, 2, 2, 28664, 28665, 7, 75, 2, 2, 28665, 28666, 7, 85, 2, 2, 28666, 28667, 7, 86, 2, 2, 28667, 28668, 7, 85, 2, 2, 28668, 28669, 7, 52, 2, 2, 28669, 4284, 3, 2, 2, 2, 28670, 28671, 7, 90, 2, 2, 28671, 28672, 7, 79, 2, 2, 28672, 28673, 7, 78, 2, 2, 28673, 28674, 7, 71, 2, 2, 28674, 28675, 7, 90, 2, 2, 28675, 28676, 7, 75, 2, 2, 28676, 28677, 7, 85, 2, 2, 28677, 28678, 7, 86, 2, 2, 28678, 28679, 7, 85, 2, 2, 28679, 4286, 3, 2, 2, 2, 28680, 28681, 7, 90, 2, 2, 28681, 28682, 7, 79, 2, 2, 28682, 28683, 7, 78, 2, 2, 28683, 28684, 7, 72, 2, 2, 28684, 28685, 7, 81, 2, 2, 28685, 28686, 7, 84, 2, 2, 28686, 28687, 7, 71, 2, 2, 28687, 28688, 7, 85, 2, 2, 28688, 28689, 7, 86, 2, 2, 28689, 4288, 3, 2, 2, 2, 28690, 28691, 7, 90, 2, 2, 28691, 28692, 7, 79, 2, 2, 28692, 28693, 7, 78, 2, 2, 28693, 28694, 7, 75, 2, 2, 28694, 28695, 7, 80, 2, 2, 28695, 28696, 7, 70, 2, 2, 28696, 28697, 7, 71, 2, 2, 28697, 28698, 7, 90, 2, 2, 28698, 4290, 3, 2, 2, 2, 28699, 28700, 7, 90, 2, 2, 28700, 28701, 7, 79, 2, 2, 28701, 28702, 7, 78, 2, 2, 28702, 28703, 7, 75, 2, 2, 28703, 28704, 7, 80, 2, 2, 28704, 28705, 7, 70, 2, 2, 28705, 28706, 7, 71, 2, 2, 28706, 28707, 7, 90, 2, 2, 28707, 28708, 7, 97, 2, 2, 28708, 28709, 7, 84, 2, 2, 28709, 28710, 7, 71, 2, 2, 28710, 28711, 7, 89, 2, 2, 28711, 28712, 7, 84, 2, 2, 28712, 28713, 7, 75, 2, 2, 28713, 28714, 7, 86, 2, 2, 28714, 28715, 7, 71, 2, 2, 28715, 28716, 7, 97, 2, 2, 28716, 28717, 7, 75, 2, 2, 28717, 28718, 7, 80, 2, 2, 28718, 28719, 7, 97, 2, 2, 28719, 28720, 7, 85, 2, 2, 28720, 28721, 7, 71, 2, 2, 28721, 28722, 7, 78, 2, 2, 28722, 28723, 7, 71, 2, 2, 28723, 28724, 7, 69, 2, 2, 28724, 28725, 7, 86, 2, 2, 28725, 4292, 3, 2, 2, 2, 28726, 28727, 7, 90, 2, 2, 28727, 28728, 7, 79, 2, 2, 28728, 28729, 7, 78, 2, 2, 28729, 28730, 7, 75, 2, 2, 28730, 28731, 7, 80, 2, 2, 28731, 28732, 7, 70, 2, 2, 28732, 28733, 7, 71, 2, 2, 28733, 28734, 7, 90, 2, 2, 28734, 28735, 7, 97, 2, 2, 28735, 28736, 7, 84, 2, 2, 28736, 28737, 7, 71, 2, 2, 28737, 28738, 7, 89, 2, 2, 28738, 28739, 7, 84, 2, 2, 28739, 28740, 7, 75, 2, 2, 28740, 28741, 7, 86, 2, 2, 28741, 28742, 7, 71, 2, 2, 28742, 4294, 3, 2, 2, 2, 28743, 28744, 7, 90, 2, 2, 28744, 28745, 7, 79, 2, 2, 28745, 28746, 7, 78, 2, 2, 28746, 28747, 7, 75, 2, 2, 28747, 28748, 7, 80, 2, 2, 28748, 28749, 7, 70, 2, 2, 28749, 28750, 7, 71, 2, 2, 28750, 28751, 7, 90, 2, 2, 28751, 28752, 7, 97, 2, 2, 28752, 28753, 7, 85, 2, 2, 28753, 28754, 7, 71, 2, 2, 28754, 28755, 7, 78, 2, 2, 28755, 28756, 7, 97, 2, 2, 28756, 28757, 7, 75, 2, 2, 28757, 28758, 7, 70, 2, 2, 28758, 28759, 7, 90, 2, 2, 28759, 28760, 7, 97, 2, 2, 28760, 28761, 7, 86, 2, 2, 28761, 28762, 7, 68, 2, 2, 28762, 28763, 7, 78, 2, 2, 28763, 4296, 3, 2, 2, 2, 28764, 28765, 7, 90, 2, 2, 28765, 28766, 7, 79, 2, 2, 28766, 28767, 7, 78, 2, 2, 28767, 28768, 7, 75, 2, 2, 28768, 28769, 7, 85, 2, 2, 28769, 28770, 7, 80, 2, 2, 28770, 28771, 7, 81, 2, 2, 28771, 28772, 7, 70, 2, 2, 28772, 28773, 7, 71, 2, 2, 28773, 4298, 3, 2, 2, 2, 28774, 28775, 7, 90, 2, 2, 28775, 28776, 7, 79, 2, 2, 28776, 28777, 7, 78, 2, 2, 28777, 28778, 7, 75, 2, 2, 28778, 28779, 7, 85, 2, 2, 28779, 28780, 7, 88, 2, 2, 28780, 28781, 7, 67, 2, 2, 28781, 28782, 7, 78, 2, 2, 28782, 28783, 7, 75, 2, 2, 28783, 28784, 7, 70, 2, 2, 28784, 4300, 3, 2, 2, 2, 28785, 28786, 7, 90, 2, 2, 28786, 28787, 7, 79, 2, 2, 28787, 28788, 7, 78, 2, 2, 28788, 28789, 7, 80, 2, 2, 28789, 28790, 7, 67, 2, 2, 28790, 28791, 7, 79, 2, 2, 28791, 28792, 7, 71, 2, 2, 28792, 28793, 7, 85, 2, 2, 28793, 28794, 7, 82, 2, 2, 28794, 28795, 7, 67, 2, 2, 28795, 28796, 7, 69, 2, 2, 28796, 28797, 7, 71, 2, 2, 28797, 28798, 7, 85, 2, 2, 28798, 4302, 3, 2, 2, 2, 28799, 28800, 7, 90, 2, 2, 28800, 28801, 7, 79, 2, 2, 28801, 28802, 7, 78, 2, 2, 28802, 28803, 7, 82, 2, 2, 28803, 28804, 7, 67, 2, 2, 28804, 28805, 7, 84, 2, 2, 28805, 28806, 7, 85, 2, 2, 28806, 28807, 7, 71, 2, 2, 28807, 4304, 3, 2, 2, 2, 28808, 28809, 7, 90, 2, 2, 28809, 28810, 7, 79, 2, 2, 28810, 28811, 7, 78, 2, 2, 28811, 28812, 7, 82, 2, 2, 28812, 28813, 7, 67, 2, 2, 28813, 28814, 7, 86, 2, 2, 28814, 28815, 7, 69, 2, 2, 28815, 28816, 7, 74, 2, 2, 28816, 4306, 3, 2, 2, 2, 28817, 28818, 7, 90, 2, 2, 28818, 28819, 7, 79, 2, 2, 28819, 28820, 7, 78, 2, 2, 28820, 28821, 7, 82, 2, 2, 28821, 28822, 7, 75, 2, 2, 28822, 4308, 3, 2, 2, 2, 28823, 28824, 7, 90, 2, 2, 28824, 28825, 7, 79, 2, 2, 28825, 28826, 7, 78, 2, 2, 28826, 28827, 7, 83, 2, 2, 28827, 28828, 7, 87, 2, 2, 28828, 28829, 7, 71, 2, 2, 28829, 28830, 7, 84, 2, 2, 28830, 28831, 7, 91, 2, 2, 28831, 28832, 7, 88, 2, 2, 28832, 28833, 7, 67, 2, 2, 28833, 28834, 7, 78, 2, 2, 28834, 4310, 3, 2, 2, 2, 28835, 28836, 7, 90, 2, 2, 28836, 28837, 7, 79, 2, 2, 28837, 28838, 7, 78, 2, 2, 28838, 28839, 7, 83, 2, 2, 28839, 28840, 7, 87, 2, 2, 28840, 28841, 7, 71, 2, 2, 28841, 28842, 7, 84, 2, 2, 28842, 28843, 7, 91, 2, 2, 28843, 4312, 3, 2, 2, 2, 28844, 28845, 7, 90, 2, 2, 28845, 28846, 7, 79, 2, 2, 28846, 28847, 7, 78, 2, 2, 28847, 28848, 7, 84, 2, 2, 28848, 28849, 7, 81, 2, 2, 28849, 28850, 7, 81, 2, 2, 28850, 28851, 7, 86, 2, 2, 28851, 4314, 3, 2, 2, 2, 28852, 28853, 7, 90, 2, 2, 28853, 28854, 7, 79, 2, 2, 28854, 28855, 7, 78, 2, 2, 28855, 28856, 7, 85, 2, 2, 28856, 28857, 7, 69, 2, 2, 28857, 28858, 7, 74, 2, 2, 28858, 28859, 7, 71, 2, 2, 28859, 28860, 7, 79, 2, 2, 28860, 28861, 7, 67, 2, 2, 28861, 4316, 3, 2, 2, 2, 28862, 28863, 7, 90, 2, 2, 28863, 28864, 7, 79, 2, 2, 28864, 28865, 7, 78, 2, 2, 28865, 28866, 7, 85, 2, 2, 28866, 28867, 7, 71, 2, 2, 28867, 28868, 7, 84, 2, 2, 28868, 28869, 7, 75, 2, 2, 28869, 28870, 7, 67, 2, 2, 28870, 28871, 7, 78, 2, 2, 28871, 28872, 7, 75, 2, 2, 28872, 28873, 7, 92, 2, 2, 28873, 28874, 7, 71, 2, 2, 28874, 4318, 3, 2, 2, 2, 28875, 28876, 7, 90, 2, 2, 28876, 28877, 7, 79, 2, 2, 28877, 28878, 7, 78, 2, 2, 28878, 28879, 7, 86, 2, 2, 28879, 28880, 7, 67, 2, 2, 28880, 28881, 7, 68, 2, 2, 28881, 28882, 7, 78, 2, 2, 28882, 28883, 7, 71, 2, 2, 28883, 4320, 3, 2, 2, 2, 28884, 28885, 7, 90, 2, 2, 28885, 28886, 7, 79, 2, 2, 28886, 28887, 7, 78, 2, 2, 28887, 28888, 7, 86, 2, 2, 28888, 28889, 7, 84, 2, 2, 28889, 28890, 7, 67, 2, 2, 28890, 28891, 7, 80, 2, 2, 28891, 28892, 7, 85, 2, 2, 28892, 28893, 7, 72, 2, 2, 28893, 28894, 7, 81, 2, 2, 28894, 28895, 7, 84, 2, 2, 28895, 28896, 7, 79, 2, 2, 28896, 28897, 7, 68, 2, 2, 28897, 28898, 7, 78, 2, 2, 28898, 28899, 7, 81, 2, 2, 28899, 28900, 7, 68, 2, 2, 28900, 4322, 3, 2, 2, 2, 28901, 28902, 7, 90, 2, 2, 28902, 28903, 7, 79, 2, 2, 28903, 28904, 7, 78, 2, 2, 28904, 28905, 7, 86, 2, 2, 28905, 28906, 7, 84, 2, 2, 28906, 28907, 7, 67, 2, 2, 28907, 28908, 7, 80, 2, 2, 28908, 28909, 7, 85, 2, 2, 28909, 28910, 7, 72, 2, 2, 28910, 28911, 7, 81, 2, 2, 28911, 28912, 7, 84, 2, 2, 28912, 28913, 7, 79, 2, 2, 28913, 4324, 3, 2, 2, 2, 28914, 28915, 7, 90, 2, 2, 28915, 28916, 7, 79, 2, 2, 28916, 28917, 7, 78, 2, 2, 28917, 28918, 7, 86, 2, 2, 28918, 28919, 7, 91, 2, 2, 28919, 28920, 7, 82, 2, 2, 28920, 28921, 7, 71, 2, 2, 28921, 4326, 3, 2, 2, 2, 28922, 28923, 7, 90, 2, 2, 28923, 28924, 7, 79, 2, 2, 28924, 28925, 7, 78, 2, 2, 28925, 4328, 3, 2, 2, 2, 28926, 28927, 7, 90, 2, 2, 28927, 28928, 7, 82, 2, 2, 28928, 28929, 7, 67, 2, 2, 28929, 28930, 7, 86, 2, 2, 28930, 28931, 7, 74, 2, 2, 28931, 28932, 7, 86, 2, 2, 28932, 28933, 7, 67, 2, 2, 28933, 28934, 7, 68, 2, 2, 28934, 28935, 7, 78, 2, 2, 28935, 28936, 7, 71, 2, 2, 28936, 4330, 3, 2, 2, 2, 28937, 28938, 7, 90, 2, 2, 28938, 28939, 7, 85, 2, 2, 28939, 28940, 7, 97, 2, 2, 28940, 28941, 7, 85, 2, 2, 28941, 28942, 7, 91, 2, 2, 28942, 28943, 7, 85, 2, 2, 28943, 28944, 7, 97, 2, 2, 28944, 28945, 7, 69, 2, 2, 28945, 28946, 7, 81, 2, 2, 28946, 28947, 7, 80, 2, 2, 28947, 28948, 7, 86, 2, 2, 28948, 28949, 7, 71, 2, 2, 28949, 28950, 7, 90, 2, 2, 28950, 28951, 7, 86, 2, 2, 28951, 4332, 3, 2, 2, 2, 28952, 28953, 7, 90, 2, 2, 28953, 28954, 7, 85, 2, 2, 28954, 4334, 3, 2, 2, 2, 28955, 28956, 7, 90, 2, 2, 28956, 28957, 7, 86, 2, 2, 28957, 28958, 7, 84, 2, 2, 28958, 28959, 7, 67, 2, 2, 28959, 28960, 7, 80, 2, 2, 28960, 28961, 7, 85, 2, 2, 28961, 28962, 7, 82, 2, 2, 28962, 28963, 7, 81, 2, 2, 28963, 28964, 7, 84, 2, 2, 28964, 28965, 7, 86, 2, 2, 28965, 4336, 3, 2, 2, 2, 28966, 28967, 7, 91, 2, 2, 28967, 28968, 7, 71, 2, 2, 28968, 28969, 7, 67, 2, 2, 28969, 28970, 7, 84, 2, 2, 28970, 28971, 7, 85, 2, 2, 28971, 4338, 3, 2, 2, 2, 28972, 28973, 7, 91, 2, 2, 28973, 28974, 7, 71, 2, 2, 28974, 28975, 7, 67, 2, 2, 28975, 28976, 7, 84, 2, 2, 28976, 4340, 3, 2, 2, 2, 28977, 28978, 7, 91, 2, 2, 28978, 28979, 7, 71, 2, 2, 28979, 28980, 7, 85, 2, 2, 28980, 4342, 3, 2, 2, 2, 28981, 28982, 7, 91, 2, 2, 28982, 28983, 7, 79, 2, 2, 28983, 28984, 7, 75, 2, 2, 28984, 28985, 7, 80, 2, 2, 28985, 28986, 7, 86, 2, 2, 28986, 28987, 7, 71, 2, 2, 28987, 28988, 7, 84, 2, 2, 28988, 28989, 7, 88, 2, 2, 28989, 28990, 7, 67, 2, 2, 28990, 28991, 7, 78, 2, 2, 28991, 28992, 7, 97, 2, 2, 28992, 28993, 7, 87, 2, 2, 28993, 28994, 7, 80, 2, 2, 28994, 28995, 7, 69, 2, 2, 28995, 28996, 7, 81, 2, 2, 28996, 28997, 7, 80, 2, 2, 28997, 28998, 7, 85, 2, 2, 28998, 28999, 7, 86, 2, 2, 28999, 29000, 7, 84, 2, 2, 29000, 29001, 7, 67, 2, 2, 29001, 29002, 7, 75, 2, 2, 29002, 29003, 7, 80, 2, 2, 29003, 29004, 7, 71, 2, 2, 29004, 29005, 7, 70, 2, 2, 29005, 4344, 3, 2, 2, 2, 29006, 29007, 7, 92, 2, 2, 29007, 29008, 7, 81, 2, 2, 29008, 29009, 7, 80, 2, 2, 29009, 29010, 7, 71, 2, 2, 29010, 29011, 7, 79, 2, 2, 29011, 29012, 7, 67, 2, 2, 29012, 29013, 7, 82, 2, 2, 29013, 4346, 3, 2, 2, 2, 29014, 29015, 7, 92, 2, 2, 29015, 29016, 7, 81, 2, 2, 29016, 29017, 7, 80, 2, 2, 29017, 29018, 7, 71, 2, 2, 29018, 4348, 3, 2, 2, 2, 29019, 29020, 7, 82, 2, 2, 29020, 29021, 7, 84, 2, 2, 29021, 29022, 7, 71, 2, 2, 29022, 29023, 7, 70, 2, 2, 29023, 29024, 7, 75, 2, 2, 29024, 29025, 7, 69, 2, 2, 29025, 29026, 7, 86, 2, 2, 29026, 29027, 7, 75, 2, 2, 29027, 29028, 7, 81, 2, 2, 29028, 29029, 7, 80, 2, 2, 29029, 4350, 3, 2, 2, 2, 29030, 29031, 7, 82, 2, 2, 29031, 29032, 7, 84, 2, 2, 29032, 29033, 7, 71, 2, 2, 29033, 29034, 7, 70, 2, 2, 29034, 29035, 7, 75, 2, 2, 29035, 29036, 7, 69, 2, 2, 29036, 29037, 7, 86, 2, 2, 29037, 29038, 7, 75, 2, 2, 29038, 29039, 7, 81, 2, 2, 29039, 29040, 7, 80, 2, 2, 29040, 29041, 7, 97, 2, 2, 29041, 29042, 7, 68, 2, 2, 29042, 29043, 7, 81, 2, 2, 29043, 29044, 7, 87, 2, 2, 29044, 29045, 7, 80, 2, 2, 29045, 29046, 7, 70, 2, 2, 29046, 29047, 7, 85, 2, 2, 29047, 4352, 3, 2, 2, 2, 29048, 29049, 7, 82, 2, 2, 29049, 29050, 7, 84, 2, 2, 29050, 29051, 7, 71, 2, 2, 29051, 29052, 7, 70, 2, 2, 29052, 29053, 7, 75, 2, 2, 29053, 29054, 7, 69, 2, 2, 29054, 29055, 7, 86, 2, 2, 29055, 29056, 7, 75, 2, 2, 29056, 29057, 7, 81, 2, 2, 29057, 29058, 7, 80, 2, 2, 29058, 29059, 7, 97, 2, 2, 29059, 29060, 7, 69, 2, 2, 29060, 29061, 7, 81, 2, 2, 29061, 29062, 7, 85, 2, 2, 29062, 29063, 7, 86, 2, 2, 29063, 4354, 3, 2, 2, 2, 29064, 29065, 7, 82, 2, 2, 29065, 29066, 7, 84, 2, 2, 29066, 29067, 7, 71, 2, 2, 29067, 29068, 7, 70, 2, 2, 29068, 29069, 7, 75, 2, 2, 29069, 29070, 7, 69, 2, 2, 29070, 29071, 7, 86, 2, 2, 29071, 29072, 7, 75, 2, 2, 29072, 29073, 7, 81, 2, 2, 29073, 29074, 7, 80, 2, 2, 29074, 29075, 7, 97, 2, 2, 29075, 29076, 7, 70, 2, 2, 29076, 29077, 7, 71, 2, 2, 29077, 29078, 7, 86, 2, 2, 29078, 29079, 7, 67, 2, 2, 29079, 29080, 7, 75, 2, 2, 29080, 29081, 7, 78, 2, 2, 29081, 29082, 7, 85, 2, 2, 29082, 4356, 3, 2, 2, 2, 29083, 29084, 7, 82, 2, 2, 29084, 29085, 7, 84, 2, 2, 29085, 29086, 7, 71, 2, 2, 29086, 29087, 7, 70, 2, 2, 29087, 29088, 7, 75, 2, 2, 29088, 29089, 7, 69, 2, 2, 29089, 29090, 7, 86, 2, 2, 29090, 29091, 7, 75, 2, 2, 29091, 29092, 7, 81, 2, 2, 29092, 29093, 7, 80, 2, 2, 29093, 29094, 7, 97, 2, 2, 29094, 29095, 7, 82, 2, 2, 29095, 29096, 7, 84, 2, 2, 29096, 29097, 7, 81, 2, 2, 29097, 29098, 7, 68, 2, 2, 29098, 29099, 7, 67, 2, 2, 29099, 29100, 7, 68, 2, 2, 29100, 29101, 7, 75, 2, 2, 29101, 29102, 7, 78, 2, 2, 29102, 29103, 7, 75, 2, 2, 29103, 29104, 7, 86, 2, 2, 29104, 29105, 7, 91, 2, 2, 29105, 4358, 3, 2, 2, 2, 29106, 29107, 7, 82, 2, 2, 29107, 29108, 7, 84, 2, 2, 29108, 29109, 7, 71, 2, 2, 29109, 29110, 7, 70, 2, 2, 29110, 29111, 7, 75, 2, 2, 29111, 29112, 7, 69, 2, 2, 29112, 29113, 7, 86, 2, 2, 29113, 29114, 7, 75, 2, 2, 29114, 29115, 7, 81, 2, 2, 29115, 29116, 7, 80, 2, 2, 29116, 29117, 7, 97, 2, 2, 29117, 29118, 7, 85, 2, 2, 29118, 29119, 7, 71, 2, 2, 29119, 29120, 7, 86, 2, 2, 29120, 4360, 3, 2, 2, 2, 29121, 29122, 7, 69, 2, 2, 29122, 29123, 7, 87, 2, 2, 29123, 29124, 7, 79, 2, 2, 29124, 29125, 7, 71, 2, 2, 29125, 29126, 7, 97, 2, 2, 29126, 29127, 7, 70, 2, 2, 29127, 29128, 7, 75, 2, 2, 29128, 29129, 7, 85, 2, 2, 29129, 29130, 7, 86, 2, 2, 29130, 4362, 3, 2, 2, 2, 29131, 29132, 7, 70, 2, 2, 29132, 29133, 7, 71, 2, 2, 29133, 29134, 7, 80, 2, 2, 29134, 29135, 7, 85, 2, 2, 29135, 29136, 7, 71, 2, 2, 29136, 29137, 7, 97, 2, 2, 29137, 29138, 7, 84, 2, 2, 29138, 29139, 7, 67, 2, 2, 29139, 29140, 7, 80, 2, 2, 29140, 29141, 7, 77, 2, 2, 29141, 4364, 3, 2, 2, 2, 29142, 29143, 7, 78, 2, 2, 29143, 29144, 7, 75, 2, 2, 29144, 29145, 7, 85, 2, 2, 29145, 29146, 7, 86, 2, 2, 29146, 29147, 7, 67, 2, 2, 29147, 29148, 7, 73, 2, 2, 29148, 29149, 7, 73, 2, 2, 29149, 4366, 3, 2, 2, 2, 29150, 29151, 7, 82, 2, 2, 29151, 29152, 7, 71, 2, 2, 29152, 29153, 7, 84, 2, 2, 29153, 29154, 7, 69, 2, 2, 29154, 29155, 7, 71, 2, 2, 29155, 29156, 7, 80, 2, 2, 29156, 29157, 7, 86, 2, 2, 29157, 29158, 7, 97, 2, 2, 29158, 29159, 7, 84, 2, 2, 29159, 29160, 7, 67, 2, 2, 29160, 29161, 7, 80, 2, 2, 29161, 29162, 7, 77, 2, 2, 29162, 4368, 3, 2, 2, 2, 29163, 29164, 7, 82, 2, 2, 29164, 29165, 7, 71, 2, 2, 29165, 29166, 7, 84, 2, 2, 29166, 29167, 7, 69, 2, 2, 29167, 29168, 7, 71, 2, 2, 29168, 29169, 7, 80, 2, 2, 29169, 29170, 7, 86, 2, 2, 29170, 29171, 7, 75, 2, 2, 29171, 29172, 7, 78, 2, 2, 29172, 29173, 7, 71, 2, 2, 29173, 29174, 7, 97, 2, 2, 29174, 29175, 7, 69, 2, 2, 29175, 29176, 7, 81, 2, 2, 29176, 29177, 7, 80, 2, 2, 29177, 29178, 7, 86, 2, 2, 29178, 4370, 3, 2, 2, 2, 29179, 29180, 7, 82, 2, 2, 29180, 29181, 7, 71, 2, 2, 29181, 29182, 7, 84, 2, 2, 29182, 29183, 7, 69, 2, 2, 29183, 29184, 7, 71, 2, 2, 29184, 29185, 7, 80, 2, 2, 29185, 29186, 7, 86, 2, 2, 29186, 29187, 7, 75, 2, 2, 29187, 29188, 7, 78, 2, 2, 29188, 29189, 7, 71, 2, 2, 29189, 29190, 7, 97, 2, 2, 29190, 29191, 7, 70, 2, 2, 29191, 29192, 7, 75, 2, 2, 29192, 29193, 7, 85, 2, 2, 29193, 29194, 7, 69, 2, 2, 29194, 4372, 3, 2, 2, 2, 29195, 29196, 7, 84, 2, 2, 29196, 29197, 7, 67, 2, 2, 29197, 29198, 7, 80, 2, 2, 29198, 29199, 7, 77, 2, 2, 29199, 4374, 3, 2, 2, 2, 29200, 29201, 7, 67, 2, 2, 29201, 29202, 7, 88, 2, 2, 29202, 29203, 7, 73, 2, 2, 29203, 4376, 3, 2, 2, 2, 29204, 29205, 7, 69, 2, 2, 29205, 29206, 7, 81, 2, 2, 29206, 29207, 7, 84, 2, 2, 29207, 29208, 7, 84, 2, 2, 29208, 4378, 3, 2, 2, 2, 29209, 29210, 7, 69, 2, 2, 29210, 29211, 7, 81, 2, 2, 29211, 29212, 7, 88, 2, 2, 29212, 29213, 7, 67, 2, 2, 29213, 29214, 7, 84, 2, 2, 29214, 29215, 7, 97, 2, 2, 29215, 4380, 3, 2, 2, 2, 29216, 29217, 7, 70, 2, 2, 29217, 29218, 7, 71, 2, 2, 29218, 29219, 7, 69, 2, 2, 29219, 29220, 7, 81, 2, 2, 29220, 29221, 7, 70, 2, 2, 29221, 29222, 7, 71, 2, 2, 29222, 4382, 3, 2, 2, 2, 29223, 29224, 7, 78, 2, 2, 29224, 29225, 7, 67, 2, 2, 29225, 29226, 7, 73, 2, 2, 29226, 4384, 3, 2, 2, 2, 29227, 29228, 7, 78, 2, 2, 29228, 29229, 7, 71, 2, 2, 29229, 29230, 7, 67, 2, 2, 29230, 29231, 7, 70, 2, 2, 29231, 4386, 3, 2, 2, 2, 29232, 29233, 7, 79, 2, 2, 29233, 29234, 7, 67, 2, 2, 29234, 29235, 7, 90, 2, 2, 29235, 4388, 3, 2, 2, 2, 29236, 29237, 7, 79, 2, 2, 29237, 29238, 7, 71, 2, 2, 29238, 29239, 7, 70, 2, 2, 29239, 29240, 7, 75, 2, 2, 29240, 29241, 7, 67, 2, 2, 29241, 29242, 7, 80, 2, 2, 29242, 4390, 3, 2, 2, 2, 29243, 29244, 7, 79, 2, 2, 29244, 29245, 7, 75, 2, 2, 29245, 29246, 7, 80, 2, 2, 29246, 4392, 3, 2, 2, 2, 29247, 29248, 7, 80, 2, 2, 29248, 29249, 7, 86, 2, 2, 29249, 29250, 7, 75, 2, 2, 29250, 29251, 7, 78, 2, 2, 29251, 29252, 7, 71, 2, 2, 29252, 4394, 3, 2, 2, 2, 29253, 29254, 7, 80, 2, 2, 29254, 29255, 7, 88, 2, 2, 29255, 29256, 7, 78, 2, 2, 29256, 4396, 3, 2, 2, 2, 29257, 29258, 7, 84, 2, 2, 29258, 29259, 7, 67, 2, 2, 29259, 29260, 7, 86, 2, 2, 29260, 29261, 7, 75, 2, 2, 29261, 29262, 7, 81, 2, 2, 29262, 29263, 7, 97, 2, 2, 29263, 29264, 7, 86, 2, 2, 29264, 29265, 7, 81, 2, 2, 29265, 29266, 7, 97, 2, 2, 29266, 29267, 7, 84, 2, 2, 29267, 29268, 7, 71, 2, 2, 29268, 29269, 7, 82, 2, 2, 29269, 29270, 7, 81, 2, 2, 29270, 29271, 7, 84, 2, 2, 29271, 29272, 7, 86, 2, 2, 29272, 4398, 3, 2, 2, 2, 29273, 29274, 7, 84, 2, 2, 29274, 29275, 7, 71, 2, 2, 29275, 29276, 7, 73, 2, 2, 29276, 29277, 7, 84, 2, 2, 29277, 29278, 7, 97, 2, 2, 29278, 4400, 3, 2, 2, 2, 29279, 29280, 7, 84, 2, 2, 29280, 29281, 7, 81, 2, 2, 29281, 29282, 7, 87, 2, 2, 29282, 29283, 7, 80, 2, 2, 29283, 29284, 7, 70, 2, 2, 29284, 4402, 3, 2, 2, 2, 29285, 29286, 7, 84, 2, 2, 29286, 29287, 7, 81, 2, 2, 29287, 29288, 7, 89, 2, 2, 29288, 29289, 7, 97, 2, 2, 29289, 29290, 7, 80, 2, 2, 29290, 29291, 7, 87, 2, 2, 29291, 29292, 7, 79, 2, 2, 29292, 29293, 7, 68, 2, 2, 29293, 29294, 7, 71, 2, 2, 29294, 29295, 7, 84, 2, 2, 29295, 4404, 3, 2, 2, 2, 29296, 29297, 7, 85, 2, 2, 29297, 29298, 7, 87, 2, 2, 29298, 29299, 7, 68, 2, 2, 29299, 29300, 7, 85, 2, 2, 29300, 29301, 7, 86, 2, 2, 29301, 29302, 7, 84, 2, 2, 29302, 4406, 3, 2, 2, 2, 29303, 29304, 7, 86, 2, 2, 29304, 29305, 7, 81, 2, 2, 29305, 29306, 7, 97, 2, 2, 29306, 29307, 7, 69, 2, 2, 29307, 29308, 7, 74, 2, 2, 29308, 29309, 7, 67, 2, 2, 29309, 29310, 7, 84, 2, 2, 29310, 4408, 3, 2, 2, 2, 29311, 29312, 7, 86, 2, 2, 29312, 29313, 7, 84, 2, 2, 29313, 29314, 7, 75, 2, 2, 29314, 29315, 7, 79, 2, 2, 29315, 4410, 3, 2, 2, 2, 29316, 29317, 7, 85, 2, 2, 29317, 29318, 7, 87, 2, 2, 29318, 29319, 7, 79, 2, 2, 29319, 4412, 3, 2, 2, 2, 29320, 29321, 7, 85, 2, 2, 29321, 29322, 7, 86, 2, 2, 29322, 29323, 7, 70, 2, 2, 29323, 29324, 7, 70, 2, 2, 29324, 29325, 7, 71, 2, 2, 29325, 29326, 7, 88, 2, 2, 29326, 4414, 3, 2, 2, 2, 29327, 29328, 7, 88, 2, 2, 29328, 29329, 7, 67, 2, 2, 29329, 29330, 7, 84, 2, 2, 29330, 29331, 7, 97, 2, 2, 29331, 4416, 3, 2, 2, 2, 29332, 29333, 7, 88, 2, 2, 29333, 29334, 7, 67, 2, 2, 29334, 29335, 7, 84, 2, 2, 29335, 29336, 7, 75, 2, 2, 29336, 29337, 7, 67, 2, 2, 29337, 29338, 7, 80, 2, 2, 29338, 29339, 7, 69, 2, 2, 29339, 29340, 7, 71, 2, 2, 29340, 4418, 3, 2, 2, 2, 29341, 29342, 7, 78, 2, 2, 29342, 29343, 7, 71, 2, 2, 29343, 29344, 7, 67, 2, 2, 29344, 29345, 7, 85, 2, 2, 29345, 29346, 7, 86, 2, 2, 29346, 4420, 3, 2, 2, 2, 29347, 29348, 7, 73, 2, 2, 29348, 29349, 7, 84, 2, 2, 29349, 29350, 7, 71, 2, 2, 29350, 29351, 7, 67, 2, 2, 29351, 29352, 7, 86, 2, 2, 29352, 29353, 7, 71, 2, 2, 29353, 29354, 7, 85, 2, 2, 29354, 29355, 7, 86, 2, 2, 29355, 4422, 3, 2, 2, 2, 29356, 29357, 7, 86, 2, 2, 29357, 29358, 7, 81, 2, 2, 29358, 29359, 7, 97, 2, 2, 29359, 29360, 7, 70, 2, 2, 29360, 29361, 7, 67, 2, 2, 29361, 29362, 7, 86, 2, 2, 29362, 29363, 7, 71, 2, 2, 29363, 4424, 3, 2, 2, 2, 29364, 29365, 7, 80, 2, 2, 29365, 29372, 7, 41, 2, 2, 29366, 29371, 10, 2, 2, 2, 29367, 29368, 7, 41, 2, 2, 29368, 29371, 7, 41, 2, 2, 29369, 29371, 5, 4535, 2268, 2, 29370, 29366, 3, 2, 2, 2, 29370, 29367, 3, 2, 2, 2, 29370, 29369, 3, 2, 2, 2, 29371, 29374, 3, 2, 2, 2, 29372, 29370, 3, 2, 2, 2, 29372, 29373, 3, 2, 2, 2, 29373, 29375, 3, 2, 2, 2, 29374, 29372, 3, 2, 2, 2, 29375, 29376, 7, 41, 2, 2, 29376, 4426, 3, 2, 2, 2, 29377, 29386, 7, 68, 2, 2, 29378, 29382, 7, 41, 2, 2, 29379, 29381, 9, 3, 2, 2, 29380, 29379, 3, 2, 2, 2, 29381, 29384, 3, 2, 2, 2, 29382, 29380, 3, 2, 2, 2, 29382, 29383, 3, 2, 2, 2, 29383, 29385, 3, 2, 2, 2, 29384, 29382, 3, 2, 2, 2, 29385, 29387, 7, 41, 2, 2, 29386, 29378, 3, 2, 2, 2, 29387, 29388, 3, 2, 2, 2, 29388, 29386, 3, 2, 2, 2, 29388, 29389, 3, 2, 2, 2, 29389, 4428, 3, 2, 2, 2, 29390, 29399, 7, 90, 2, 2, 29391, 29395, 7, 41, 2, 2, 29392, 29394, 9, 4, 2, 2, 29393, 29392, 3, 2, 2, 2, 29394, 29397, 3, 2, 2, 2, 29395, 29393, 3, 2, 2, 2, 29395, 29396, 3, 2, 2, 2, 29396, 29398, 3, 2, 2, 2, 29397, 29395, 3, 2, 2, 2, 29398, 29400, 7, 41, 2, 2, 29399, 29391, 3, 2, 2, 2, 29400, 29401, 3, 2, 2, 2, 29401, 29399, 3, 2, 2, 2, 29401, 29402, 3, 2, 2, 2, 29402, 4430, 3, 2, 2, 2, 29403, 29404, 7, 48, 2, 2, 29404, 29405, 7, 48, 2, 2, 29405, 4432, 3, 2, 2, 2, 29406, 29407, 7, 48, 2, 2, 29407, 4434, 3, 2, 2, 2, 29408, 29410, 9, 5, 2, 2, 29409, 29408, 3, 2, 2, 2, 29410, 29411, 3, 2, 2, 2, 29411, 29409, 3, 2, 2, 2, 29411, 29412, 3, 2, 2, 2, 29412, 4436, 3, 2, 2, 2, 29413, 29426, 5, 4533, 2267, 2, 29414, 29416, 7, 71, 2, 2, 29415, 29417, 9, 6, 2, 2, 29416, 29415, 3, 2, 2, 2, 29416, 29417, 3, 2, 2, 2, 29417, 29424, 3, 2, 2, 2, 29418, 29425, 5, 4533, 2267, 2, 29419, 29421, 9, 5, 2, 2, 29420, 29419, 3, 2, 2, 2, 29421, 29422, 3, 2, 2, 2, 29422, 29420, 3, 2, 2, 2, 29422, 29423, 3, 2, 2, 2, 29423, 29425, 3, 2, 2, 2, 29424, 29418, 3, 2, 2, 2, 29424, 29420, 3, 2, 2, 2, 29425, 29427, 3, 2, 2, 2, 29426, 29414, 3, 2, 2, 2, 29426, 29427, 3, 2, 2, 2, 29427, 29429, 3, 2, 2, 2, 29428, 29430, 9, 7, 2, 2, 29429, 29428, 3, 2, 2, 2, 29429, 29430, 3, 2, 2, 2, 29430, 4438, 3, 2, 2, 2, 29431, 29438, 7, 41, 2, 2, 29432, 29437, 10, 2, 2, 2, 29433, 29434, 7, 41, 2, 2, 29434, 29437, 7, 41, 2, 2, 29435, 29437, 5, 4535, 2268, 2, 29436, 29432, 3, 2, 2, 2, 29436, 29433, 3, 2, 2, 2, 29436, 29435, 3, 2, 2, 2, 29437, 29440, 3, 2, 2, 2, 29438, 29436, 3, 2, 2, 2, 29438, 29439, 3, 2, 2, 2, 29439, 29441, 3, 2, 2, 2, 29440, 29438, 3, 2, 2, 2, 29441, 29442, 7, 41, 2, 2, 29442, 4440, 3, 2, 2, 2, 29443, 29444, 7, 83, 2, 2, 29444, 29453, 7, 41, 2, 2, 29445, 29454, 5, 4443, 2222, 2, 29446, 29454, 5, 4445, 2223, 2, 29447, 29454, 5, 4447, 2224, 2, 29448, 29454, 5, 4449, 2225, 2, 29449, 29454, 5, 4451, 2226, 2, 29450, 29454, 5, 4453, 2227, 2, 29451, 29454, 5, 4455, 2228, 2, 29452, 29454, 5, 4457, 2229, 2, 29453, 29445, 3, 2, 2, 2, 29453, 29446, 3, 2, 2, 2, 29453, 29447, 3, 2, 2, 2, 29453, 29448, 3, 2, 2, 2, 29453, 29449, 3, 2, 2, 2, 29453, 29450, 3, 2, 2, 2, 29453, 29451, 3, 2, 2, 2, 29453, 29452, 3, 2, 2, 2, 29454, 29455, 3, 2, 2, 2, 29455, 29456, 7, 41, 2, 2, 29456, 29457, 3, 2, 2, 2, 29457, 29458, 8, 2221, 2, 2, 29458, 4442, 3, 2, 2, 2, 29459, 29463, 7, 62, 2, 2, 29460, 29462, 11, 2, 2, 2, 29461, 29460, 3, 2, 2, 2, 29462, 29465, 3, 2, 2, 2, 29463, 29464, 3, 2, 2, 2, 29463, 29461, 3, 2, 2, 2, 29464, 29466, 3, 2, 2, 2, 29465, 29463, 3, 2, 2, 2, 29466, 29467, 7, 64, 2, 2, 29467, 4444, 3, 2, 2, 2, 29468, 29472, 7, 125, 2, 2, 29469, 29471, 11, 2, 2, 2, 29470, 29469, 3, 2, 2, 2, 29471, 29474, 3, 2, 2, 2, 29472, 29473, 3, 2, 2, 2, 29472, 29470, 3, 2, 2, 2, 29473, 29475, 3, 2, 2, 2, 29474, 29472, 3, 2, 2, 2, 29475, 29476, 7, 127, 2, 2, 29476, 4446, 3, 2, 2, 2, 29477, 29481, 7, 93, 2, 2, 29478, 29480, 11, 2, 2, 2, 29479, 29478, 3, 2, 2, 2, 29480, 29483, 3, 2, 2, 2, 29481, 29482, 3, 2, 2, 2, 29481, 29479, 3, 2, 2, 2, 29482, 29484, 3, 2, 2, 2, 29483, 29481, 3, 2, 2, 2, 29484, 29485, 7, 95, 2, 2, 29485, 4448, 3, 2, 2, 2, 29486, 29490, 7, 42, 2, 2, 29487, 29489, 11, 2, 2, 2, 29488, 29487, 3, 2, 2, 2, 29489, 29492, 3, 2, 2, 2, 29490, 29491, 3, 2, 2, 2, 29490, 29488, 3, 2, 2, 2, 29491, 29493, 3, 2, 2, 2, 29492, 29490, 3, 2, 2, 2, 29493, 29494, 7, 43, 2, 2, 29494, 4450, 3, 2, 2, 2, 29495, 29499, 7, 35, 2, 2, 29496, 29498, 11, 2, 2, 2, 29497, 29496, 3, 2, 2, 2, 29498, 29501, 3, 2, 2, 2, 29499, 29500, 3, 2, 2, 2, 29499, 29497, 3, 2, 2, 2, 29500, 29502, 3, 2, 2, 2, 29501, 29499, 3, 2, 2, 2, 29502, 29503, 7, 35, 2, 2, 29503, 4452, 3, 2, 2, 2, 29504, 29508, 7, 37, 2, 2, 29505, 29507, 11, 2, 2, 2, 29506, 29505, 3, 2, 2, 2, 29507, 29510, 3, 2, 2, 2, 29508, 29509, 3, 2, 2, 2, 29508, 29506, 3, 2, 2, 2, 29509, 29511, 3, 2, 2, 2, 29510, 29508, 3, 2, 2, 2, 29511, 29512, 7, 37, 2, 2, 29512, 4454, 3, 2, 2, 2, 29513, 29517, 7, 41, 2, 2, 29514, 29516, 11, 2, 2, 2, 29515, 29514, 3, 2, 2, 2, 29516, 29519, 3, 2, 2, 2, 29517, 29518, 3, 2, 2, 2, 29517, 29515, 3, 2, 2, 2, 29518, 29520, 3, 2, 2, 2, 29519, 29517, 3, 2, 2, 2, 29520, 29521, 7, 41, 2, 2, 29521, 4456, 3, 2, 2, 2, 29522, 29526, 7, 36, 2, 2, 29523, 29525, 11, 2, 2, 2, 29524, 29523, 3, 2, 2, 2, 29525, 29528, 3, 2, 2, 2, 29526, 29527, 3, 2, 2, 2, 29526, 29524, 3, 2, 2, 2, 29527, 29529, 3, 2, 2, 2, 29528, 29526, 3, 2, 2, 2, 29529, 29530, 7, 36, 2, 2, 29530, 4458, 3, 2, 2, 2, 29531, 29535, 7, 36, 2, 2, 29532, 29536, 10, 8, 2, 2, 29533, 29534, 7, 36, 2, 2, 29534, 29536, 7, 36, 2, 2, 29535, 29532, 3, 2, 2, 2, 29535, 29533, 3, 2, 2, 2, 29536, 29537, 3, 2, 2, 2, 29537, 29535, 3, 2, 2, 2, 29537, 29538, 3, 2, 2, 2, 29538, 29539, 3, 2, 2, 2, 29539, 29540, 7, 36, 2, 2, 29540, 4460, 3, 2, 2, 2, 29541, 29542, 7, 39, 2, 2, 29542, 4462, 3, 2, 2, 2, 29543, 29544, 7, 40, 2, 2, 29544, 4464, 3, 2, 2, 2, 29545, 29546, 7, 42, 2, 2, 29546, 4466, 3, 2, 2, 2, 29547, 29548, 7, 43, 2, 2, 29548, 4468, 3, 2, 2, 2, 29549, 29550, 7, 44, 2, 2, 29550, 29551, 7, 44, 2, 2, 29551, 4470, 3, 2, 2, 2, 29552, 29553, 7, 44, 2, 2, 29553, 4472, 3, 2, 2, 2, 29554, 29555, 7, 45, 2, 2, 29555, 4474, 3, 2, 2, 2, 29556, 29557, 7, 47, 2, 2, 29557, 4476, 3, 2, 2, 2, 29558, 29559, 7, 46, 2, 2, 29559, 4478, 3, 2, 2, 2, 29560, 29561, 7, 49, 2, 2, 29561, 4480, 3, 2, 2, 2, 29562, 29563, 7, 66, 2, 2, 29563, 4482, 3, 2, 2, 2, 29564, 29565, 7, 60, 2, 2, 29565, 29566, 7, 63, 2, 2, 29566, 4484, 3, 2, 2, 2, 29567, 29568, 7, 60, 2, 2, 29568, 29573, 5, 4531, 2266, 2, 29569, 29572, 5, 4531, 2266, 2, 29570, 29572, 9, 9, 2, 2, 29571, 29569, 3, 2, 2, 2, 29571, 29570, 3, 2, 2, 2, 29572, 29575, 3, 2, 2, 2, 29573, 29571, 3, 2, 2, 2, 29573, 29574, 3, 2, 2, 2, 29574, 29582, 3, 2, 2, 2, 29575, 29573, 3, 2, 2, 2, 29576, 29577, 7, 60, 2, 2, 29577, 29582, 5, 4459, 2230, 2, 29578, 29579, 7, 60, 2, 2, 29579, 29582, 5, 4435, 2218, 2, 29580, 29582, 5, 4529, 2265, 2, 29581, 29567, 3, 2, 2, 2, 29581, 29576, 3, 2, 2, 2, 29581, 29578, 3, 2, 2, 2, 29581, 29580, 3, 2, 2, 2, 29582, 4486, 3, 2, 2, 2, 29583, 29584, 7, 35, 2, 2, 29584, 29592, 7, 63, 2, 2, 29585, 29586, 7, 62, 2, 2, 29586, 29592, 7, 64, 2, 2, 29587, 29588, 7, 96, 2, 2, 29588, 29592, 7, 63, 2, 2, 29589, 29590, 7, 128, 2, 2, 29590, 29592, 7, 63, 2, 2, 29591, 29583, 3, 2, 2, 2, 29591, 29585, 3, 2, 2, 2, 29591, 29587, 3, 2, 2, 2, 29591, 29589, 3, 2, 2, 2, 29592, 4488, 3, 2, 2, 2, 29593, 29594, 7, 96, 2, 2, 29594, 4490, 3, 2, 2, 2, 29595, 29596, 7, 128, 2, 2, 29596, 4492, 3, 2, 2, 2, 29597, 29598, 7, 35, 2, 2, 29598, 4494, 3, 2, 2, 2, 29599, 29600, 7, 64, 2, 2, 29600, 4496, 3, 2, 2, 2, 29601, 29602, 7, 62, 2, 2, 29602, 4498, 3, 2, 2, 2, 29603, 29604, 7, 60, 2, 2, 29604, 4500, 3, 2, 2, 2, 29605, 29606, 7, 61, 2, 2, 29606, 4502, 3, 2, 2, 2, 29607, 29608, 7, 126, 2, 2, 29608, 4504, 3, 2, 2, 2, 29609, 29610, 7, 63, 2, 2, 29610, 4506, 3, 2, 2, 2, 29611, 29612, 7, 93, 2, 2, 29612, 4508, 3, 2, 2, 2, 29613, 29614, 7, 95, 2, 2, 29614, 4510, 3, 2, 2, 2, 29615, 29616, 7, 97, 2, 2, 29616, 4512, 3, 2, 2, 2, 29617, 29618, 7, 47, 2, 2, 29618, 29619, 7, 47, 2, 2, 29619, 29623, 3, 2, 2, 2, 29620, 29622, 10, 10, 2, 2, 29621, 29620, 3, 2, 2, 2, 29622, 29625, 3, 2, 2, 2, 29623, 29621, 3, 2, 2, 2, 29623, 29624, 3, 2, 2, 2, 29624, 29626, 3, 2, 2, 2, 29625, 29623, 3, 2, 2, 2, 29626, 29627, 5, 4527, 2264, 2, 29627, 29628, 3, 2, 2, 2, 29628, 29629, 8, 2257, 3, 2, 29629, 4514, 3, 2, 2, 2, 29630, 29631, 7, 49, 2, 2, 29631, 29632, 7, 44, 2, 2, 29632, 29636, 3, 2, 2, 2, 29633, 29635, 11, 2, 2, 2, 29634, 29633, 3, 2, 2, 2, 29635, 29638, 3, 2, 2, 2, 29636, 29637, 3, 2, 2, 2, 29636, 29634, 3, 2, 2, 2, 29637, 29639, 3, 2, 2, 2, 29638, 29636, 3, 2, 2, 2, 29639, 29640, 7, 44, 2, 2, 29640, 29641, 7, 49, 2, 2, 29641, 29642, 3, 2, 2, 2, 29642, 29643, 8, 2258, 3, 2, 29643, 4516, 3, 2, 2, 2, 29644, 29645, 7, 84, 2, 2, 29645, 29646, 7, 71, 2, 2, 29646, 29647, 7, 79, 2, 2, 29647, 29648, 3, 2, 2, 2, 29648, 29652, 6, 2259, 2, 2, 29649, 29650, 7, 67, 2, 2, 29650, 29651, 7, 84, 2, 2, 29651, 29653, 7, 77, 2, 2, 29652, 29649, 3, 2, 2, 2, 29652, 29653, 3, 2, 2, 2, 29653, 29661, 3, 2, 2, 2, 29654, 29658, 7, 34, 2, 2, 29655, 29657, 10, 10, 2, 2, 29656, 29655, 3, 2, 2, 2, 29657, 29660, 3, 2, 2, 2, 29658, 29656, 3, 2, 2, 2, 29658, 29659, 3, 2, 2, 2, 29659, 29662, 3, 2, 2, 2, 29660, 29658, 3, 2, 2, 2, 29661, 29654, 3, 2, 2, 2, 29661, 29662, 3, 2, 2, 2, 29662, 29663, 3, 2, 2, 2, 29663, 29664, 5, 4527, 2264, 2, 29664, 29665, 3, 2, 2, 2, 29665, 29666, 8, 2259, 3, 2, 29666, 4518, 3, 2, 2, 2, 29667, 29668, 7, 82, 2, 2, 29668, 29669, 7, 84, 2, 2, 29669, 29670, 7, 81, 2, 2, 29670, 29671, 3, 2, 2, 2, 29671, 29675, 6, 2260, 3, 2, 29672, 29673, 7, 79, 2, 2, 29673, 29674, 7, 82, 2, 2, 29674, 29676, 7, 86, 2, 2, 29675, 29672, 3, 2, 2, 2, 29675, 29676, 3, 2, 2, 2, 29676, 29684, 3, 2, 2, 2, 29677, 29681, 7, 34, 2, 2, 29678, 29680, 10, 10, 2, 2, 29679, 29678, 3, 2, 2, 2, 29680, 29683, 3, 2, 2, 2, 29681, 29679, 3, 2, 2, 2, 29681, 29682, 3, 2, 2, 2, 29682, 29685, 3, 2, 2, 2, 29683, 29681, 3, 2, 2, 2, 29684, 29677, 3, 2, 2, 2, 29684, 29685, 3, 2, 2, 2, 29685, 29686, 3, 2, 2, 2, 29686, 29687, 5, 4527, 2264, 2, 29687, 4520, 3, 2, 2, 2, 29688, 29689, 7, 66, 2, 2, 29689, 29691, 6, 2261, 4, 2, 29690, 29692, 7, 66, 2, 2, 29691, 29690, 3, 2, 2, 2, 29691, 29692, 3, 2, 2, 2, 29692, 29696, 3, 2, 2, 2, 29693, 29695, 10, 10, 2, 2, 29694, 29693, 3, 2, 2, 2, 29695, 29698, 3, 2, 2, 2, 29696, 29694, 3, 2, 2, 2, 29696, 29697, 3, 2, 2, 2, 29697, 29699, 3, 2, 2, 2, 29698, 29696, 3, 2, 2, 2, 29699, 29700, 5, 4527, 2264, 2, 29700, 4522, 3, 2, 2, 2, 29701, 29706, 5, 4531, 2266, 2, 29702, 29705, 5, 4531, 2266, 2, 29703, 29705, 9, 11, 2, 2, 29704, 29702, 3, 2, 2, 2, 29704, 29703, 3, 2, 2, 2, 29705, 29708, 3, 2, 2, 2, 29706, 29704, 3, 2, 2, 2, 29706, 29707, 3, 2, 2, 2, 29707, 4524, 3, 2, 2, 2, 29708, 29706, 3, 2, 2, 2, 29709, 29711, 9, 12, 2, 2, 29710, 29709, 3, 2, 2, 2, 29711, 29712, 3, 2, 2, 2, 29712, 29710, 3, 2, 2, 2, 29712, 29713, 3, 2, 2, 2, 29713, 29714, 3, 2, 2, 2, 29714, 29715, 8, 2263, 3, 2, 29715, 4526, 3, 2, 2, 2, 29716, 29719, 5, 4535, 2268, 2, 29717, 29719, 7, 2, 2, 3, 29718, 29716, 3, 2, 2, 2, 29718, 29717, 3, 2, 2, 2, 29719, 4528, 3, 2, 2, 2, 29720, 29721, 7, 65, 2, 2, 29721, 4530, 3, 2, 2, 2, 29722, 29723, 9, 13, 2, 2, 29723, 4532, 3, 2, 2, 2, 29724, 29726, 5, 4435, 2218, 2, 29725, 29724, 3, 2, 2, 2, 29726, 29729, 3, 2, 2, 2, 29727, 29725, 3, 2, 2, 2, 29727, 29728, 3, 2, 2, 2, 29728, 29731, 3, 2, 2, 2, 29729, 29727, 3, 2, 2, 2, 29730, 29732, 7, 48, 2, 2, 29731, 29730, 3, 2, 2, 2, 29731, 29732, 3, 2, 2, 2, 29732, 29734, 3, 2, 2, 2, 29733, 29735, 5, 4435, 2218, 2, 29734, 29733, 3, 2, 2, 2, 29735, 29736, 3, 2, 2, 2, 29736, 29734, 3, 2, 2, 2, 29736, 29737, 3, 2, 2, 2, 29737, 4534, 3, 2, 2, 2, 29738, 29740, 7, 15, 2, 2, 29739, 29738, 3, 2, 2, 2, 29739, 29740, 3, 2, 2, 2, 29740, 29741, 3, 2, 2, 2, 29741, 29742, 7, 12, 2, 2, 29742, 4536, 3, 2, 2, 2, 29743, 29744, 9, 14, 2, 2, 29744, 4538, 3, 2, 2, 2, 56, 2, 18048, 18061, 18075, 18113, 18129, 18144, 29370, 29372, 29382, 29388, 29395, 29401, 29411, 29416, 29422, 29424, 29426, 29429, 29436, 29438, 29453, 29463, 29472, 29481, 29490, 29499, 29508, 29517, 29526, 29535, 29537, 29571, 29573, 29581, 29591, 29623, 29636, 29652, 29658, 29661, 29675, 29681, 29684, 29691, 29696, 29704, 29706, 29712, 29718, 29727, 29731, 29736, 29739, 4, 9, 2221, 2, 2, 3, 2] \ No newline at end of file diff --git a/src/lib/plsql/PlSqlLexer.js b/src/lib/plsql/PlSqlLexer.js new file mode 100644 index 0000000..fee16dc --- /dev/null +++ b/src/lib/plsql/PlSqlLexer.js @@ -0,0 +1,23834 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/plsql/PlSqlLexer.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + + +var PlSqlBaseLexer = require('./PlSqlBaseLexer').PlSqlBaseLexer; + + +var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", + "\u0002\u08cf\u7431\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004", + "\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t", + "\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004", + "\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010", + "\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013", + "\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017", + "\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a", + "\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e", + "\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#", + "\t#\u0004$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004", + "*\t*\u0004+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u0004", + "1\t1\u00042\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u0004", + "8\t8\u00049\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004", + "?\t?\u0004@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004", + "F\tF\u0004G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004", + "M\tM\u0004N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004", + "T\tT\u0004U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004", + "[\t[\u0004\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004", + "b\tb\u0004c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004", + "i\ti\u0004j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004", + "p\tp\u0004q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004", + "w\tw\u0004x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004", + "~\t~\u0004\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004", + "\u0082\t\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t", + "\u0085\u0004\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004", + "\u0089\t\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t", + "\u008c\u0004\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004", + "\u0090\t\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t", + "\u0093\u0004\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004", + "\u0097\t\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t", + "\u009a\u0004\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004", + "\u009e\t\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t", + "\u00a1\u0004\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004", + "\u00a5\t\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t", + "\u00a8\u0004\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004", + "\u00ac\t\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t", + "\u00af\u0004\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004", + "\u00b3\t\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t", + "\u00b6\u0004\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004", + "\u00ba\t\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t", + "\u00bd\u0004\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004", + "\u00c1\t\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t", + "\u00c4\u0004\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004", + "\u00c8\t\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t", + "\u00cb\u0004\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004", + "\u00cf\t\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t", + "\u00d2\u0004\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004", + "\u00d6\t\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t", + "\u00d9\u0004\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004", + "\u00dd\t\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t", + "\u00e0\u0004\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0004", + "\u00e4\t\u00e4\u0004\u00e5\t\u00e5\u0004\u00e6\t\u00e6\u0004\u00e7\t", + "\u00e7\u0004\u00e8\t\u00e8\u0004\u00e9\t\u00e9\u0004\u00ea\t\u00ea\u0004", + "\u00eb\t\u00eb\u0004\u00ec\t\u00ec\u0004\u00ed\t\u00ed\u0004\u00ee\t", + "\u00ee\u0004\u00ef\t\u00ef\u0004\u00f0\t\u00f0\u0004\u00f1\t\u00f1\u0004", + "\u00f2\t\u00f2\u0004\u00f3\t\u00f3\u0004\u00f4\t\u00f4\u0004\u00f5\t", + "\u00f5\u0004\u00f6\t\u00f6\u0004\u00f7\t\u00f7\u0004\u00f8\t\u00f8\u0004", + "\u00f9\t\u00f9\u0004\u00fa\t\u00fa\u0004\u00fb\t\u00fb\u0004\u00fc\t", + "\u00fc\u0004\u00fd\t\u00fd\u0004\u00fe\t\u00fe\u0004\u00ff\t\u00ff\u0004", + "\u0100\t\u0100\u0004\u0101\t\u0101\u0004\u0102\t\u0102\u0004\u0103\t", + "\u0103\u0004\u0104\t\u0104\u0004\u0105\t\u0105\u0004\u0106\t\u0106\u0004", + "\u0107\t\u0107\u0004\u0108\t\u0108\u0004\u0109\t\u0109\u0004\u010a\t", + "\u010a\u0004\u010b\t\u010b\u0004\u010c\t\u010c\u0004\u010d\t\u010d\u0004", + "\u010e\t\u010e\u0004\u010f\t\u010f\u0004\u0110\t\u0110\u0004\u0111\t", + "\u0111\u0004\u0112\t\u0112\u0004\u0113\t\u0113\u0004\u0114\t\u0114\u0004", + "\u0115\t\u0115\u0004\u0116\t\u0116\u0004\u0117\t\u0117\u0004\u0118\t", + "\u0118\u0004\u0119\t\u0119\u0004\u011a\t\u011a\u0004\u011b\t\u011b\u0004", + "\u011c\t\u011c\u0004\u011d\t\u011d\u0004\u011e\t\u011e\u0004\u011f\t", + "\u011f\u0004\u0120\t\u0120\u0004\u0121\t\u0121\u0004\u0122\t\u0122\u0004", + "\u0123\t\u0123\u0004\u0124\t\u0124\u0004\u0125\t\u0125\u0004\u0126\t", + "\u0126\u0004\u0127\t\u0127\u0004\u0128\t\u0128\u0004\u0129\t\u0129\u0004", + "\u012a\t\u012a\u0004\u012b\t\u012b\u0004\u012c\t\u012c\u0004\u012d\t", + "\u012d\u0004\u012e\t\u012e\u0004\u012f\t\u012f\u0004\u0130\t\u0130\u0004", + "\u0131\t\u0131\u0004\u0132\t\u0132\u0004\u0133\t\u0133\u0004\u0134\t", + "\u0134\u0004\u0135\t\u0135\u0004\u0136\t\u0136\u0004\u0137\t\u0137\u0004", + "\u0138\t\u0138\u0004\u0139\t\u0139\u0004\u013a\t\u013a\u0004\u013b\t", + "\u013b\u0004\u013c\t\u013c\u0004\u013d\t\u013d\u0004\u013e\t\u013e\u0004", + "\u013f\t\u013f\u0004\u0140\t\u0140\u0004\u0141\t\u0141\u0004\u0142\t", + "\u0142\u0004\u0143\t\u0143\u0004\u0144\t\u0144\u0004\u0145\t\u0145\u0004", + "\u0146\t\u0146\u0004\u0147\t\u0147\u0004\u0148\t\u0148\u0004\u0149\t", + "\u0149\u0004\u014a\t\u014a\u0004\u014b\t\u014b\u0004\u014c\t\u014c\u0004", + "\u014d\t\u014d\u0004\u014e\t\u014e\u0004\u014f\t\u014f\u0004\u0150\t", + "\u0150\u0004\u0151\t\u0151\u0004\u0152\t\u0152\u0004\u0153\t\u0153\u0004", + "\u0154\t\u0154\u0004\u0155\t\u0155\u0004\u0156\t\u0156\u0004\u0157\t", + "\u0157\u0004\u0158\t\u0158\u0004\u0159\t\u0159\u0004\u015a\t\u015a\u0004", + "\u015b\t\u015b\u0004\u015c\t\u015c\u0004\u015d\t\u015d\u0004\u015e\t", + "\u015e\u0004\u015f\t\u015f\u0004\u0160\t\u0160\u0004\u0161\t\u0161\u0004", + "\u0162\t\u0162\u0004\u0163\t\u0163\u0004\u0164\t\u0164\u0004\u0165\t", + "\u0165\u0004\u0166\t\u0166\u0004\u0167\t\u0167\u0004\u0168\t\u0168\u0004", + "\u0169\t\u0169\u0004\u016a\t\u016a\u0004\u016b\t\u016b\u0004\u016c\t", + "\u016c\u0004\u016d\t\u016d\u0004\u016e\t\u016e\u0004\u016f\t\u016f\u0004", + "\u0170\t\u0170\u0004\u0171\t\u0171\u0004\u0172\t\u0172\u0004\u0173\t", + "\u0173\u0004\u0174\t\u0174\u0004\u0175\t\u0175\u0004\u0176\t\u0176\u0004", + "\u0177\t\u0177\u0004\u0178\t\u0178\u0004\u0179\t\u0179\u0004\u017a\t", + "\u017a\u0004\u017b\t\u017b\u0004\u017c\t\u017c\u0004\u017d\t\u017d\u0004", + "\u017e\t\u017e\u0004\u017f\t\u017f\u0004\u0180\t\u0180\u0004\u0181\t", + "\u0181\u0004\u0182\t\u0182\u0004\u0183\t\u0183\u0004\u0184\t\u0184\u0004", + "\u0185\t\u0185\u0004\u0186\t\u0186\u0004\u0187\t\u0187\u0004\u0188\t", + "\u0188\u0004\u0189\t\u0189\u0004\u018a\t\u018a\u0004\u018b\t\u018b\u0004", + "\u018c\t\u018c\u0004\u018d\t\u018d\u0004\u018e\t\u018e\u0004\u018f\t", + "\u018f\u0004\u0190\t\u0190\u0004\u0191\t\u0191\u0004\u0192\t\u0192\u0004", + "\u0193\t\u0193\u0004\u0194\t\u0194\u0004\u0195\t\u0195\u0004\u0196\t", + "\u0196\u0004\u0197\t\u0197\u0004\u0198\t\u0198\u0004\u0199\t\u0199\u0004", + "\u019a\t\u019a\u0004\u019b\t\u019b\u0004\u019c\t\u019c\u0004\u019d\t", + "\u019d\u0004\u019e\t\u019e\u0004\u019f\t\u019f\u0004\u01a0\t\u01a0\u0004", + "\u01a1\t\u01a1\u0004\u01a2\t\u01a2\u0004\u01a3\t\u01a3\u0004\u01a4\t", + "\u01a4\u0004\u01a5\t\u01a5\u0004\u01a6\t\u01a6\u0004\u01a7\t\u01a7\u0004", + "\u01a8\t\u01a8\u0004\u01a9\t\u01a9\u0004\u01aa\t\u01aa\u0004\u01ab\t", + "\u01ab\u0004\u01ac\t\u01ac\u0004\u01ad\t\u01ad\u0004\u01ae\t\u01ae\u0004", + "\u01af\t\u01af\u0004\u01b0\t\u01b0\u0004\u01b1\t\u01b1\u0004\u01b2\t", + "\u01b2\u0004\u01b3\t\u01b3\u0004\u01b4\t\u01b4\u0004\u01b5\t\u01b5\u0004", + "\u01b6\t\u01b6\u0004\u01b7\t\u01b7\u0004\u01b8\t\u01b8\u0004\u01b9\t", + "\u01b9\u0004\u01ba\t\u01ba\u0004\u01bb\t\u01bb\u0004\u01bc\t\u01bc\u0004", + "\u01bd\t\u01bd\u0004\u01be\t\u01be\u0004\u01bf\t\u01bf\u0004\u01c0\t", + "\u01c0\u0004\u01c1\t\u01c1\u0004\u01c2\t\u01c2\u0004\u01c3\t\u01c3\u0004", + "\u01c4\t\u01c4\u0004\u01c5\t\u01c5\u0004\u01c6\t\u01c6\u0004\u01c7\t", + "\u01c7\u0004\u01c8\t\u01c8\u0004\u01c9\t\u01c9\u0004\u01ca\t\u01ca\u0004", + "\u01cb\t\u01cb\u0004\u01cc\t\u01cc\u0004\u01cd\t\u01cd\u0004\u01ce\t", + "\u01ce\u0004\u01cf\t\u01cf\u0004\u01d0\t\u01d0\u0004\u01d1\t\u01d1\u0004", + "\u01d2\t\u01d2\u0004\u01d3\t\u01d3\u0004\u01d4\t\u01d4\u0004\u01d5\t", + "\u01d5\u0004\u01d6\t\u01d6\u0004\u01d7\t\u01d7\u0004\u01d8\t\u01d8\u0004", + "\u01d9\t\u01d9\u0004\u01da\t\u01da\u0004\u01db\t\u01db\u0004\u01dc\t", + "\u01dc\u0004\u01dd\t\u01dd\u0004\u01de\t\u01de\u0004\u01df\t\u01df\u0004", + "\u01e0\t\u01e0\u0004\u01e1\t\u01e1\u0004\u01e2\t\u01e2\u0004\u01e3\t", + "\u01e3\u0004\u01e4\t\u01e4\u0004\u01e5\t\u01e5\u0004\u01e6\t\u01e6\u0004", + "\u01e7\t\u01e7\u0004\u01e8\t\u01e8\u0004\u01e9\t\u01e9\u0004\u01ea\t", + "\u01ea\u0004\u01eb\t\u01eb\u0004\u01ec\t\u01ec\u0004\u01ed\t\u01ed\u0004", + "\u01ee\t\u01ee\u0004\u01ef\t\u01ef\u0004\u01f0\t\u01f0\u0004\u01f1\t", + "\u01f1\u0004\u01f2\t\u01f2\u0004\u01f3\t\u01f3\u0004\u01f4\t\u01f4\u0004", + "\u01f5\t\u01f5\u0004\u01f6\t\u01f6\u0004\u01f7\t\u01f7\u0004\u01f8\t", + "\u01f8\u0004\u01f9\t\u01f9\u0004\u01fa\t\u01fa\u0004\u01fb\t\u01fb\u0004", + "\u01fc\t\u01fc\u0004\u01fd\t\u01fd\u0004\u01fe\t\u01fe\u0004\u01ff\t", + "\u01ff\u0004\u0200\t\u0200\u0004\u0201\t\u0201\u0004\u0202\t\u0202\u0004", + "\u0203\t\u0203\u0004\u0204\t\u0204\u0004\u0205\t\u0205\u0004\u0206\t", + "\u0206\u0004\u0207\t\u0207\u0004\u0208\t\u0208\u0004\u0209\t\u0209\u0004", + "\u020a\t\u020a\u0004\u020b\t\u020b\u0004\u020c\t\u020c\u0004\u020d\t", + "\u020d\u0004\u020e\t\u020e\u0004\u020f\t\u020f\u0004\u0210\t\u0210\u0004", + "\u0211\t\u0211\u0004\u0212\t\u0212\u0004\u0213\t\u0213\u0004\u0214\t", + "\u0214\u0004\u0215\t\u0215\u0004\u0216\t\u0216\u0004\u0217\t\u0217\u0004", + "\u0218\t\u0218\u0004\u0219\t\u0219\u0004\u021a\t\u021a\u0004\u021b\t", + "\u021b\u0004\u021c\t\u021c\u0004\u021d\t\u021d\u0004\u021e\t\u021e\u0004", + "\u021f\t\u021f\u0004\u0220\t\u0220\u0004\u0221\t\u0221\u0004\u0222\t", + "\u0222\u0004\u0223\t\u0223\u0004\u0224\t\u0224\u0004\u0225\t\u0225\u0004", + "\u0226\t\u0226\u0004\u0227\t\u0227\u0004\u0228\t\u0228\u0004\u0229\t", + "\u0229\u0004\u022a\t\u022a\u0004\u022b\t\u022b\u0004\u022c\t\u022c\u0004", + "\u022d\t\u022d\u0004\u022e\t\u022e\u0004\u022f\t\u022f\u0004\u0230\t", + "\u0230\u0004\u0231\t\u0231\u0004\u0232\t\u0232\u0004\u0233\t\u0233\u0004", + "\u0234\t\u0234\u0004\u0235\t\u0235\u0004\u0236\t\u0236\u0004\u0237\t", + "\u0237\u0004\u0238\t\u0238\u0004\u0239\t\u0239\u0004\u023a\t\u023a\u0004", + "\u023b\t\u023b\u0004\u023c\t\u023c\u0004\u023d\t\u023d\u0004\u023e\t", + "\u023e\u0004\u023f\t\u023f\u0004\u0240\t\u0240\u0004\u0241\t\u0241\u0004", + "\u0242\t\u0242\u0004\u0243\t\u0243\u0004\u0244\t\u0244\u0004\u0245\t", + "\u0245\u0004\u0246\t\u0246\u0004\u0247\t\u0247\u0004\u0248\t\u0248\u0004", + "\u0249\t\u0249\u0004\u024a\t\u024a\u0004\u024b\t\u024b\u0004\u024c\t", + "\u024c\u0004\u024d\t\u024d\u0004\u024e\t\u024e\u0004\u024f\t\u024f\u0004", + "\u0250\t\u0250\u0004\u0251\t\u0251\u0004\u0252\t\u0252\u0004\u0253\t", + "\u0253\u0004\u0254\t\u0254\u0004\u0255\t\u0255\u0004\u0256\t\u0256\u0004", + "\u0257\t\u0257\u0004\u0258\t\u0258\u0004\u0259\t\u0259\u0004\u025a\t", + "\u025a\u0004\u025b\t\u025b\u0004\u025c\t\u025c\u0004\u025d\t\u025d\u0004", + "\u025e\t\u025e\u0004\u025f\t\u025f\u0004\u0260\t\u0260\u0004\u0261\t", + "\u0261\u0004\u0262\t\u0262\u0004\u0263\t\u0263\u0004\u0264\t\u0264\u0004", + "\u0265\t\u0265\u0004\u0266\t\u0266\u0004\u0267\t\u0267\u0004\u0268\t", + "\u0268\u0004\u0269\t\u0269\u0004\u026a\t\u026a\u0004\u026b\t\u026b\u0004", + "\u026c\t\u026c\u0004\u026d\t\u026d\u0004\u026e\t\u026e\u0004\u026f\t", + "\u026f\u0004\u0270\t\u0270\u0004\u0271\t\u0271\u0004\u0272\t\u0272\u0004", + "\u0273\t\u0273\u0004\u0274\t\u0274\u0004\u0275\t\u0275\u0004\u0276\t", + "\u0276\u0004\u0277\t\u0277\u0004\u0278\t\u0278\u0004\u0279\t\u0279\u0004", + "\u027a\t\u027a\u0004\u027b\t\u027b\u0004\u027c\t\u027c\u0004\u027d\t", + "\u027d\u0004\u027e\t\u027e\u0004\u027f\t\u027f\u0004\u0280\t\u0280\u0004", + "\u0281\t\u0281\u0004\u0282\t\u0282\u0004\u0283\t\u0283\u0004\u0284\t", + "\u0284\u0004\u0285\t\u0285\u0004\u0286\t\u0286\u0004\u0287\t\u0287\u0004", + "\u0288\t\u0288\u0004\u0289\t\u0289\u0004\u028a\t\u028a\u0004\u028b\t", + "\u028b\u0004\u028c\t\u028c\u0004\u028d\t\u028d\u0004\u028e\t\u028e\u0004", + "\u028f\t\u028f\u0004\u0290\t\u0290\u0004\u0291\t\u0291\u0004\u0292\t", + "\u0292\u0004\u0293\t\u0293\u0004\u0294\t\u0294\u0004\u0295\t\u0295\u0004", + "\u0296\t\u0296\u0004\u0297\t\u0297\u0004\u0298\t\u0298\u0004\u0299\t", + "\u0299\u0004\u029a\t\u029a\u0004\u029b\t\u029b\u0004\u029c\t\u029c\u0004", + "\u029d\t\u029d\u0004\u029e\t\u029e\u0004\u029f\t\u029f\u0004\u02a0\t", + "\u02a0\u0004\u02a1\t\u02a1\u0004\u02a2\t\u02a2\u0004\u02a3\t\u02a3\u0004", + "\u02a4\t\u02a4\u0004\u02a5\t\u02a5\u0004\u02a6\t\u02a6\u0004\u02a7\t", + "\u02a7\u0004\u02a8\t\u02a8\u0004\u02a9\t\u02a9\u0004\u02aa\t\u02aa\u0004", + "\u02ab\t\u02ab\u0004\u02ac\t\u02ac\u0004\u02ad\t\u02ad\u0004\u02ae\t", + "\u02ae\u0004\u02af\t\u02af\u0004\u02b0\t\u02b0\u0004\u02b1\t\u02b1\u0004", + "\u02b2\t\u02b2\u0004\u02b3\t\u02b3\u0004\u02b4\t\u02b4\u0004\u02b5\t", + "\u02b5\u0004\u02b6\t\u02b6\u0004\u02b7\t\u02b7\u0004\u02b8\t\u02b8\u0004", + "\u02b9\t\u02b9\u0004\u02ba\t\u02ba\u0004\u02bb\t\u02bb\u0004\u02bc\t", + "\u02bc\u0004\u02bd\t\u02bd\u0004\u02be\t\u02be\u0004\u02bf\t\u02bf\u0004", + "\u02c0\t\u02c0\u0004\u02c1\t\u02c1\u0004\u02c2\t\u02c2\u0004\u02c3\t", + "\u02c3\u0004\u02c4\t\u02c4\u0004\u02c5\t\u02c5\u0004\u02c6\t\u02c6\u0004", + "\u02c7\t\u02c7\u0004\u02c8\t\u02c8\u0004\u02c9\t\u02c9\u0004\u02ca\t", + "\u02ca\u0004\u02cb\t\u02cb\u0004\u02cc\t\u02cc\u0004\u02cd\t\u02cd\u0004", + "\u02ce\t\u02ce\u0004\u02cf\t\u02cf\u0004\u02d0\t\u02d0\u0004\u02d1\t", + "\u02d1\u0004\u02d2\t\u02d2\u0004\u02d3\t\u02d3\u0004\u02d4\t\u02d4\u0004", + "\u02d5\t\u02d5\u0004\u02d6\t\u02d6\u0004\u02d7\t\u02d7\u0004\u02d8\t", + "\u02d8\u0004\u02d9\t\u02d9\u0004\u02da\t\u02da\u0004\u02db\t\u02db\u0004", + "\u02dc\t\u02dc\u0004\u02dd\t\u02dd\u0004\u02de\t\u02de\u0004\u02df\t", + "\u02df\u0004\u02e0\t\u02e0\u0004\u02e1\t\u02e1\u0004\u02e2\t\u02e2\u0004", + "\u02e3\t\u02e3\u0004\u02e4\t\u02e4\u0004\u02e5\t\u02e5\u0004\u02e6\t", + "\u02e6\u0004\u02e7\t\u02e7\u0004\u02e8\t\u02e8\u0004\u02e9\t\u02e9\u0004", + "\u02ea\t\u02ea\u0004\u02eb\t\u02eb\u0004\u02ec\t\u02ec\u0004\u02ed\t", + "\u02ed\u0004\u02ee\t\u02ee\u0004\u02ef\t\u02ef\u0004\u02f0\t\u02f0\u0004", + "\u02f1\t\u02f1\u0004\u02f2\t\u02f2\u0004\u02f3\t\u02f3\u0004\u02f4\t", + "\u02f4\u0004\u02f5\t\u02f5\u0004\u02f6\t\u02f6\u0004\u02f7\t\u02f7\u0004", + "\u02f8\t\u02f8\u0004\u02f9\t\u02f9\u0004\u02fa\t\u02fa\u0004\u02fb\t", + "\u02fb\u0004\u02fc\t\u02fc\u0004\u02fd\t\u02fd\u0004\u02fe\t\u02fe\u0004", + "\u02ff\t\u02ff\u0004\u0300\t\u0300\u0004\u0301\t\u0301\u0004\u0302\t", + "\u0302\u0004\u0303\t\u0303\u0004\u0304\t\u0304\u0004\u0305\t\u0305\u0004", + "\u0306\t\u0306\u0004\u0307\t\u0307\u0004\u0308\t\u0308\u0004\u0309\t", + "\u0309\u0004\u030a\t\u030a\u0004\u030b\t\u030b\u0004\u030c\t\u030c\u0004", + "\u030d\t\u030d\u0004\u030e\t\u030e\u0004\u030f\t\u030f\u0004\u0310\t", + "\u0310\u0004\u0311\t\u0311\u0004\u0312\t\u0312\u0004\u0313\t\u0313\u0004", + "\u0314\t\u0314\u0004\u0315\t\u0315\u0004\u0316\t\u0316\u0004\u0317\t", + "\u0317\u0004\u0318\t\u0318\u0004\u0319\t\u0319\u0004\u031a\t\u031a\u0004", + "\u031b\t\u031b\u0004\u031c\t\u031c\u0004\u031d\t\u031d\u0004\u031e\t", + "\u031e\u0004\u031f\t\u031f\u0004\u0320\t\u0320\u0004\u0321\t\u0321\u0004", + "\u0322\t\u0322\u0004\u0323\t\u0323\u0004\u0324\t\u0324\u0004\u0325\t", + "\u0325\u0004\u0326\t\u0326\u0004\u0327\t\u0327\u0004\u0328\t\u0328\u0004", + "\u0329\t\u0329\u0004\u032a\t\u032a\u0004\u032b\t\u032b\u0004\u032c\t", + "\u032c\u0004\u032d\t\u032d\u0004\u032e\t\u032e\u0004\u032f\t\u032f\u0004", + "\u0330\t\u0330\u0004\u0331\t\u0331\u0004\u0332\t\u0332\u0004\u0333\t", + "\u0333\u0004\u0334\t\u0334\u0004\u0335\t\u0335\u0004\u0336\t\u0336\u0004", + "\u0337\t\u0337\u0004\u0338\t\u0338\u0004\u0339\t\u0339\u0004\u033a\t", + "\u033a\u0004\u033b\t\u033b\u0004\u033c\t\u033c\u0004\u033d\t\u033d\u0004", + "\u033e\t\u033e\u0004\u033f\t\u033f\u0004\u0340\t\u0340\u0004\u0341\t", + "\u0341\u0004\u0342\t\u0342\u0004\u0343\t\u0343\u0004\u0344\t\u0344\u0004", + "\u0345\t\u0345\u0004\u0346\t\u0346\u0004\u0347\t\u0347\u0004\u0348\t", + "\u0348\u0004\u0349\t\u0349\u0004\u034a\t\u034a\u0004\u034b\t\u034b\u0004", + "\u034c\t\u034c\u0004\u034d\t\u034d\u0004\u034e\t\u034e\u0004\u034f\t", + "\u034f\u0004\u0350\t\u0350\u0004\u0351\t\u0351\u0004\u0352\t\u0352\u0004", + "\u0353\t\u0353\u0004\u0354\t\u0354\u0004\u0355\t\u0355\u0004\u0356\t", + "\u0356\u0004\u0357\t\u0357\u0004\u0358\t\u0358\u0004\u0359\t\u0359\u0004", + "\u035a\t\u035a\u0004\u035b\t\u035b\u0004\u035c\t\u035c\u0004\u035d\t", + "\u035d\u0004\u035e\t\u035e\u0004\u035f\t\u035f\u0004\u0360\t\u0360\u0004", + "\u0361\t\u0361\u0004\u0362\t\u0362\u0004\u0363\t\u0363\u0004\u0364\t", + "\u0364\u0004\u0365\t\u0365\u0004\u0366\t\u0366\u0004\u0367\t\u0367\u0004", + "\u0368\t\u0368\u0004\u0369\t\u0369\u0004\u036a\t\u036a\u0004\u036b\t", + "\u036b\u0004\u036c\t\u036c\u0004\u036d\t\u036d\u0004\u036e\t\u036e\u0004", + "\u036f\t\u036f\u0004\u0370\t\u0370\u0004\u0371\t\u0371\u0004\u0372\t", + "\u0372\u0004\u0373\t\u0373\u0004\u0374\t\u0374\u0004\u0375\t\u0375\u0004", + "\u0376\t\u0376\u0004\u0377\t\u0377\u0004\u0378\t\u0378\u0004\u0379\t", + "\u0379\u0004\u037a\t\u037a\u0004\u037b\t\u037b\u0004\u037c\t\u037c\u0004", + "\u037d\t\u037d\u0004\u037e\t\u037e\u0004\u037f\t\u037f\u0004\u0380\t", + "\u0380\u0004\u0381\t\u0381\u0004\u0382\t\u0382\u0004\u0383\t\u0383\u0004", + "\u0384\t\u0384\u0004\u0385\t\u0385\u0004\u0386\t\u0386\u0004\u0387\t", + "\u0387\u0004\u0388\t\u0388\u0004\u0389\t\u0389\u0004\u038a\t\u038a\u0004", + "\u038b\t\u038b\u0004\u038c\t\u038c\u0004\u038d\t\u038d\u0004\u038e\t", + "\u038e\u0004\u038f\t\u038f\u0004\u0390\t\u0390\u0004\u0391\t\u0391\u0004", + "\u0392\t\u0392\u0004\u0393\t\u0393\u0004\u0394\t\u0394\u0004\u0395\t", + "\u0395\u0004\u0396\t\u0396\u0004\u0397\t\u0397\u0004\u0398\t\u0398\u0004", + "\u0399\t\u0399\u0004\u039a\t\u039a\u0004\u039b\t\u039b\u0004\u039c\t", + "\u039c\u0004\u039d\t\u039d\u0004\u039e\t\u039e\u0004\u039f\t\u039f\u0004", + "\u03a0\t\u03a0\u0004\u03a1\t\u03a1\u0004\u03a2\t\u03a2\u0004\u03a3\t", + "\u03a3\u0004\u03a4\t\u03a4\u0004\u03a5\t\u03a5\u0004\u03a6\t\u03a6\u0004", + "\u03a7\t\u03a7\u0004\u03a8\t\u03a8\u0004\u03a9\t\u03a9\u0004\u03aa\t", + "\u03aa\u0004\u03ab\t\u03ab\u0004\u03ac\t\u03ac\u0004\u03ad\t\u03ad\u0004", + "\u03ae\t\u03ae\u0004\u03af\t\u03af\u0004\u03b0\t\u03b0\u0004\u03b1\t", + "\u03b1\u0004\u03b2\t\u03b2\u0004\u03b3\t\u03b3\u0004\u03b4\t\u03b4\u0004", + "\u03b5\t\u03b5\u0004\u03b6\t\u03b6\u0004\u03b7\t\u03b7\u0004\u03b8\t", + "\u03b8\u0004\u03b9\t\u03b9\u0004\u03ba\t\u03ba\u0004\u03bb\t\u03bb\u0004", + "\u03bc\t\u03bc\u0004\u03bd\t\u03bd\u0004\u03be\t\u03be\u0004\u03bf\t", + "\u03bf\u0004\u03c0\t\u03c0\u0004\u03c1\t\u03c1\u0004\u03c2\t\u03c2\u0004", + "\u03c3\t\u03c3\u0004\u03c4\t\u03c4\u0004\u03c5\t\u03c5\u0004\u03c6\t", + "\u03c6\u0004\u03c7\t\u03c7\u0004\u03c8\t\u03c8\u0004\u03c9\t\u03c9\u0004", + "\u03ca\t\u03ca\u0004\u03cb\t\u03cb\u0004\u03cc\t\u03cc\u0004\u03cd\t", + "\u03cd\u0004\u03ce\t\u03ce\u0004\u03cf\t\u03cf\u0004\u03d0\t\u03d0\u0004", + "\u03d1\t\u03d1\u0004\u03d2\t\u03d2\u0004\u03d3\t\u03d3\u0004\u03d4\t", + "\u03d4\u0004\u03d5\t\u03d5\u0004\u03d6\t\u03d6\u0004\u03d7\t\u03d7\u0004", + "\u03d8\t\u03d8\u0004\u03d9\t\u03d9\u0004\u03da\t\u03da\u0004\u03db\t", + "\u03db\u0004\u03dc\t\u03dc\u0004\u03dd\t\u03dd\u0004\u03de\t\u03de\u0004", + "\u03df\t\u03df\u0004\u03e0\t\u03e0\u0004\u03e1\t\u03e1\u0004\u03e2\t", + "\u03e2\u0004\u03e3\t\u03e3\u0004\u03e4\t\u03e4\u0004\u03e5\t\u03e5\u0004", + "\u03e6\t\u03e6\u0004\u03e7\t\u03e7\u0004\u03e8\t\u03e8\u0004\u03e9\t", + "\u03e9\u0004\u03ea\t\u03ea\u0004\u03eb\t\u03eb\u0004\u03ec\t\u03ec\u0004", + "\u03ed\t\u03ed\u0004\u03ee\t\u03ee\u0004\u03ef\t\u03ef\u0004\u03f0\t", + "\u03f0\u0004\u03f1\t\u03f1\u0004\u03f2\t\u03f2\u0004\u03f3\t\u03f3\u0004", + "\u03f4\t\u03f4\u0004\u03f5\t\u03f5\u0004\u03f6\t\u03f6\u0004\u03f7\t", + "\u03f7\u0004\u03f8\t\u03f8\u0004\u03f9\t\u03f9\u0004\u03fa\t\u03fa\u0004", + "\u03fb\t\u03fb\u0004\u03fc\t\u03fc\u0004\u03fd\t\u03fd\u0004\u03fe\t", + "\u03fe\u0004\u03ff\t\u03ff\u0004\u0400\t\u0400\u0004\u0401\t\u0401\u0004", + "\u0402\t\u0402\u0004\u0403\t\u0403\u0004\u0404\t\u0404\u0004\u0405\t", + "\u0405\u0004\u0406\t\u0406\u0004\u0407\t\u0407\u0004\u0408\t\u0408\u0004", + "\u0409\t\u0409\u0004\u040a\t\u040a\u0004\u040b\t\u040b\u0004\u040c\t", + "\u040c\u0004\u040d\t\u040d\u0004\u040e\t\u040e\u0004\u040f\t\u040f\u0004", + "\u0410\t\u0410\u0004\u0411\t\u0411\u0004\u0412\t\u0412\u0004\u0413\t", + "\u0413\u0004\u0414\t\u0414\u0004\u0415\t\u0415\u0004\u0416\t\u0416\u0004", + "\u0417\t\u0417\u0004\u0418\t\u0418\u0004\u0419\t\u0419\u0004\u041a\t", + "\u041a\u0004\u041b\t\u041b\u0004\u041c\t\u041c\u0004\u041d\t\u041d\u0004", + "\u041e\t\u041e\u0004\u041f\t\u041f\u0004\u0420\t\u0420\u0004\u0421\t", + "\u0421\u0004\u0422\t\u0422\u0004\u0423\t\u0423\u0004\u0424\t\u0424\u0004", + "\u0425\t\u0425\u0004\u0426\t\u0426\u0004\u0427\t\u0427\u0004\u0428\t", + "\u0428\u0004\u0429\t\u0429\u0004\u042a\t\u042a\u0004\u042b\t\u042b\u0004", + "\u042c\t\u042c\u0004\u042d\t\u042d\u0004\u042e\t\u042e\u0004\u042f\t", + "\u042f\u0004\u0430\t\u0430\u0004\u0431\t\u0431\u0004\u0432\t\u0432\u0004", + "\u0433\t\u0433\u0004\u0434\t\u0434\u0004\u0435\t\u0435\u0004\u0436\t", + "\u0436\u0004\u0437\t\u0437\u0004\u0438\t\u0438\u0004\u0439\t\u0439\u0004", + "\u043a\t\u043a\u0004\u043b\t\u043b\u0004\u043c\t\u043c\u0004\u043d\t", + "\u043d\u0004\u043e\t\u043e\u0004\u043f\t\u043f\u0004\u0440\t\u0440\u0004", + "\u0441\t\u0441\u0004\u0442\t\u0442\u0004\u0443\t\u0443\u0004\u0444\t", + "\u0444\u0004\u0445\t\u0445\u0004\u0446\t\u0446\u0004\u0447\t\u0447\u0004", + "\u0448\t\u0448\u0004\u0449\t\u0449\u0004\u044a\t\u044a\u0004\u044b\t", + "\u044b\u0004\u044c\t\u044c\u0004\u044d\t\u044d\u0004\u044e\t\u044e\u0004", + "\u044f\t\u044f\u0004\u0450\t\u0450\u0004\u0451\t\u0451\u0004\u0452\t", + "\u0452\u0004\u0453\t\u0453\u0004\u0454\t\u0454\u0004\u0455\t\u0455\u0004", + "\u0456\t\u0456\u0004\u0457\t\u0457\u0004\u0458\t\u0458\u0004\u0459\t", + "\u0459\u0004\u045a\t\u045a\u0004\u045b\t\u045b\u0004\u045c\t\u045c\u0004", + "\u045d\t\u045d\u0004\u045e\t\u045e\u0004\u045f\t\u045f\u0004\u0460\t", + "\u0460\u0004\u0461\t\u0461\u0004\u0462\t\u0462\u0004\u0463\t\u0463\u0004", + "\u0464\t\u0464\u0004\u0465\t\u0465\u0004\u0466\t\u0466\u0004\u0467\t", + "\u0467\u0004\u0468\t\u0468\u0004\u0469\t\u0469\u0004\u046a\t\u046a\u0004", + "\u046b\t\u046b\u0004\u046c\t\u046c\u0004\u046d\t\u046d\u0004\u046e\t", + "\u046e\u0004\u046f\t\u046f\u0004\u0470\t\u0470\u0004\u0471\t\u0471\u0004", + "\u0472\t\u0472\u0004\u0473\t\u0473\u0004\u0474\t\u0474\u0004\u0475\t", + "\u0475\u0004\u0476\t\u0476\u0004\u0477\t\u0477\u0004\u0478\t\u0478\u0004", + "\u0479\t\u0479\u0004\u047a\t\u047a\u0004\u047b\t\u047b\u0004\u047c\t", + "\u047c\u0004\u047d\t\u047d\u0004\u047e\t\u047e\u0004\u047f\t\u047f\u0004", + "\u0480\t\u0480\u0004\u0481\t\u0481\u0004\u0482\t\u0482\u0004\u0483\t", + "\u0483\u0004\u0484\t\u0484\u0004\u0485\t\u0485\u0004\u0486\t\u0486\u0004", + "\u0487\t\u0487\u0004\u0488\t\u0488\u0004\u0489\t\u0489\u0004\u048a\t", + "\u048a\u0004\u048b\t\u048b\u0004\u048c\t\u048c\u0004\u048d\t\u048d\u0004", + "\u048e\t\u048e\u0004\u048f\t\u048f\u0004\u0490\t\u0490\u0004\u0491\t", + "\u0491\u0004\u0492\t\u0492\u0004\u0493\t\u0493\u0004\u0494\t\u0494\u0004", + "\u0495\t\u0495\u0004\u0496\t\u0496\u0004\u0497\t\u0497\u0004\u0498\t", + "\u0498\u0004\u0499\t\u0499\u0004\u049a\t\u049a\u0004\u049b\t\u049b\u0004", + "\u049c\t\u049c\u0004\u049d\t\u049d\u0004\u049e\t\u049e\u0004\u049f\t", + "\u049f\u0004\u04a0\t\u04a0\u0004\u04a1\t\u04a1\u0004\u04a2\t\u04a2\u0004", + "\u04a3\t\u04a3\u0004\u04a4\t\u04a4\u0004\u04a5\t\u04a5\u0004\u04a6\t", + "\u04a6\u0004\u04a7\t\u04a7\u0004\u04a8\t\u04a8\u0004\u04a9\t\u04a9\u0004", + "\u04aa\t\u04aa\u0004\u04ab\t\u04ab\u0004\u04ac\t\u04ac\u0004\u04ad\t", + "\u04ad\u0004\u04ae\t\u04ae\u0004\u04af\t\u04af\u0004\u04b0\t\u04b0\u0004", + "\u04b1\t\u04b1\u0004\u04b2\t\u04b2\u0004\u04b3\t\u04b3\u0004\u04b4\t", + "\u04b4\u0004\u04b5\t\u04b5\u0004\u04b6\t\u04b6\u0004\u04b7\t\u04b7\u0004", + "\u04b8\t\u04b8\u0004\u04b9\t\u04b9\u0004\u04ba\t\u04ba\u0004\u04bb\t", + "\u04bb\u0004\u04bc\t\u04bc\u0004\u04bd\t\u04bd\u0004\u04be\t\u04be\u0004", + "\u04bf\t\u04bf\u0004\u04c0\t\u04c0\u0004\u04c1\t\u04c1\u0004\u04c2\t", + "\u04c2\u0004\u04c3\t\u04c3\u0004\u04c4\t\u04c4\u0004\u04c5\t\u04c5\u0004", + "\u04c6\t\u04c6\u0004\u04c7\t\u04c7\u0004\u04c8\t\u04c8\u0004\u04c9\t", + "\u04c9\u0004\u04ca\t\u04ca\u0004\u04cb\t\u04cb\u0004\u04cc\t\u04cc\u0004", + "\u04cd\t\u04cd\u0004\u04ce\t\u04ce\u0004\u04cf\t\u04cf\u0004\u04d0\t", + "\u04d0\u0004\u04d1\t\u04d1\u0004\u04d2\t\u04d2\u0004\u04d3\t\u04d3\u0004", + "\u04d4\t\u04d4\u0004\u04d5\t\u04d5\u0004\u04d6\t\u04d6\u0004\u04d7\t", + "\u04d7\u0004\u04d8\t\u04d8\u0004\u04d9\t\u04d9\u0004\u04da\t\u04da\u0004", + "\u04db\t\u04db\u0004\u04dc\t\u04dc\u0004\u04dd\t\u04dd\u0004\u04de\t", + "\u04de\u0004\u04df\t\u04df\u0004\u04e0\t\u04e0\u0004\u04e1\t\u04e1\u0004", + "\u04e2\t\u04e2\u0004\u04e3\t\u04e3\u0004\u04e4\t\u04e4\u0004\u04e5\t", + "\u04e5\u0004\u04e6\t\u04e6\u0004\u04e7\t\u04e7\u0004\u04e8\t\u04e8\u0004", + "\u04e9\t\u04e9\u0004\u04ea\t\u04ea\u0004\u04eb\t\u04eb\u0004\u04ec\t", + "\u04ec\u0004\u04ed\t\u04ed\u0004\u04ee\t\u04ee\u0004\u04ef\t\u04ef\u0004", + "\u04f0\t\u04f0\u0004\u04f1\t\u04f1\u0004\u04f2\t\u04f2\u0004\u04f3\t", + "\u04f3\u0004\u04f4\t\u04f4\u0004\u04f5\t\u04f5\u0004\u04f6\t\u04f6\u0004", + "\u04f7\t\u04f7\u0004\u04f8\t\u04f8\u0004\u04f9\t\u04f9\u0004\u04fa\t", + "\u04fa\u0004\u04fb\t\u04fb\u0004\u04fc\t\u04fc\u0004\u04fd\t\u04fd\u0004", + "\u04fe\t\u04fe\u0004\u04ff\t\u04ff\u0004\u0500\t\u0500\u0004\u0501\t", + "\u0501\u0004\u0502\t\u0502\u0004\u0503\t\u0503\u0004\u0504\t\u0504\u0004", + "\u0505\t\u0505\u0004\u0506\t\u0506\u0004\u0507\t\u0507\u0004\u0508\t", + "\u0508\u0004\u0509\t\u0509\u0004\u050a\t\u050a\u0004\u050b\t\u050b\u0004", + "\u050c\t\u050c\u0004\u050d\t\u050d\u0004\u050e\t\u050e\u0004\u050f\t", + "\u050f\u0004\u0510\t\u0510\u0004\u0511\t\u0511\u0004\u0512\t\u0512\u0004", + "\u0513\t\u0513\u0004\u0514\t\u0514\u0004\u0515\t\u0515\u0004\u0516\t", + "\u0516\u0004\u0517\t\u0517\u0004\u0518\t\u0518\u0004\u0519\t\u0519\u0004", + "\u051a\t\u051a\u0004\u051b\t\u051b\u0004\u051c\t\u051c\u0004\u051d\t", + "\u051d\u0004\u051e\t\u051e\u0004\u051f\t\u051f\u0004\u0520\t\u0520\u0004", + "\u0521\t\u0521\u0004\u0522\t\u0522\u0004\u0523\t\u0523\u0004\u0524\t", + "\u0524\u0004\u0525\t\u0525\u0004\u0526\t\u0526\u0004\u0527\t\u0527\u0004", + "\u0528\t\u0528\u0004\u0529\t\u0529\u0004\u052a\t\u052a\u0004\u052b\t", + "\u052b\u0004\u052c\t\u052c\u0004\u052d\t\u052d\u0004\u052e\t\u052e\u0004", + "\u052f\t\u052f\u0004\u0530\t\u0530\u0004\u0531\t\u0531\u0004\u0532\t", + "\u0532\u0004\u0533\t\u0533\u0004\u0534\t\u0534\u0004\u0535\t\u0535\u0004", + "\u0536\t\u0536\u0004\u0537\t\u0537\u0004\u0538\t\u0538\u0004\u0539\t", + "\u0539\u0004\u053a\t\u053a\u0004\u053b\t\u053b\u0004\u053c\t\u053c\u0004", + "\u053d\t\u053d\u0004\u053e\t\u053e\u0004\u053f\t\u053f\u0004\u0540\t", + "\u0540\u0004\u0541\t\u0541\u0004\u0542\t\u0542\u0004\u0543\t\u0543\u0004", + "\u0544\t\u0544\u0004\u0545\t\u0545\u0004\u0546\t\u0546\u0004\u0547\t", + "\u0547\u0004\u0548\t\u0548\u0004\u0549\t\u0549\u0004\u054a\t\u054a\u0004", + "\u054b\t\u054b\u0004\u054c\t\u054c\u0004\u054d\t\u054d\u0004\u054e\t", + "\u054e\u0004\u054f\t\u054f\u0004\u0550\t\u0550\u0004\u0551\t\u0551\u0004", + "\u0552\t\u0552\u0004\u0553\t\u0553\u0004\u0554\t\u0554\u0004\u0555\t", + "\u0555\u0004\u0556\t\u0556\u0004\u0557\t\u0557\u0004\u0558\t\u0558\u0004", + "\u0559\t\u0559\u0004\u055a\t\u055a\u0004\u055b\t\u055b\u0004\u055c\t", + "\u055c\u0004\u055d\t\u055d\u0004\u055e\t\u055e\u0004\u055f\t\u055f\u0004", + "\u0560\t\u0560\u0004\u0561\t\u0561\u0004\u0562\t\u0562\u0004\u0563\t", + "\u0563\u0004\u0564\t\u0564\u0004\u0565\t\u0565\u0004\u0566\t\u0566\u0004", + "\u0567\t\u0567\u0004\u0568\t\u0568\u0004\u0569\t\u0569\u0004\u056a\t", + "\u056a\u0004\u056b\t\u056b\u0004\u056c\t\u056c\u0004\u056d\t\u056d\u0004", + "\u056e\t\u056e\u0004\u056f\t\u056f\u0004\u0570\t\u0570\u0004\u0571\t", + "\u0571\u0004\u0572\t\u0572\u0004\u0573\t\u0573\u0004\u0574\t\u0574\u0004", + "\u0575\t\u0575\u0004\u0576\t\u0576\u0004\u0577\t\u0577\u0004\u0578\t", + "\u0578\u0004\u0579\t\u0579\u0004\u057a\t\u057a\u0004\u057b\t\u057b\u0004", + "\u057c\t\u057c\u0004\u057d\t\u057d\u0004\u057e\t\u057e\u0004\u057f\t", + "\u057f\u0004\u0580\t\u0580\u0004\u0581\t\u0581\u0004\u0582\t\u0582\u0004", + "\u0583\t\u0583\u0004\u0584\t\u0584\u0004\u0585\t\u0585\u0004\u0586\t", + "\u0586\u0004\u0587\t\u0587\u0004\u0588\t\u0588\u0004\u0589\t\u0589\u0004", + "\u058a\t\u058a\u0004\u058b\t\u058b\u0004\u058c\t\u058c\u0004\u058d\t", + "\u058d\u0004\u058e\t\u058e\u0004\u058f\t\u058f\u0004\u0590\t\u0590\u0004", + "\u0591\t\u0591\u0004\u0592\t\u0592\u0004\u0593\t\u0593\u0004\u0594\t", + "\u0594\u0004\u0595\t\u0595\u0004\u0596\t\u0596\u0004\u0597\t\u0597\u0004", + "\u0598\t\u0598\u0004\u0599\t\u0599\u0004\u059a\t\u059a\u0004\u059b\t", + "\u059b\u0004\u059c\t\u059c\u0004\u059d\t\u059d\u0004\u059e\t\u059e\u0004", + "\u059f\t\u059f\u0004\u05a0\t\u05a0\u0004\u05a1\t\u05a1\u0004\u05a2\t", + "\u05a2\u0004\u05a3\t\u05a3\u0004\u05a4\t\u05a4\u0004\u05a5\t\u05a5\u0004", + "\u05a6\t\u05a6\u0004\u05a7\t\u05a7\u0004\u05a8\t\u05a8\u0004\u05a9\t", + "\u05a9\u0004\u05aa\t\u05aa\u0004\u05ab\t\u05ab\u0004\u05ac\t\u05ac\u0004", + "\u05ad\t\u05ad\u0004\u05ae\t\u05ae\u0004\u05af\t\u05af\u0004\u05b0\t", + "\u05b0\u0004\u05b1\t\u05b1\u0004\u05b2\t\u05b2\u0004\u05b3\t\u05b3\u0004", + "\u05b4\t\u05b4\u0004\u05b5\t\u05b5\u0004\u05b6\t\u05b6\u0004\u05b7\t", + "\u05b7\u0004\u05b8\t\u05b8\u0004\u05b9\t\u05b9\u0004\u05ba\t\u05ba\u0004", + "\u05bb\t\u05bb\u0004\u05bc\t\u05bc\u0004\u05bd\t\u05bd\u0004\u05be\t", + "\u05be\u0004\u05bf\t\u05bf\u0004\u05c0\t\u05c0\u0004\u05c1\t\u05c1\u0004", + "\u05c2\t\u05c2\u0004\u05c3\t\u05c3\u0004\u05c4\t\u05c4\u0004\u05c5\t", + "\u05c5\u0004\u05c6\t\u05c6\u0004\u05c7\t\u05c7\u0004\u05c8\t\u05c8\u0004", + "\u05c9\t\u05c9\u0004\u05ca\t\u05ca\u0004\u05cb\t\u05cb\u0004\u05cc\t", + "\u05cc\u0004\u05cd\t\u05cd\u0004\u05ce\t\u05ce\u0004\u05cf\t\u05cf\u0004", + "\u05d0\t\u05d0\u0004\u05d1\t\u05d1\u0004\u05d2\t\u05d2\u0004\u05d3\t", + "\u05d3\u0004\u05d4\t\u05d4\u0004\u05d5\t\u05d5\u0004\u05d6\t\u05d6\u0004", + "\u05d7\t\u05d7\u0004\u05d8\t\u05d8\u0004\u05d9\t\u05d9\u0004\u05da\t", + "\u05da\u0004\u05db\t\u05db\u0004\u05dc\t\u05dc\u0004\u05dd\t\u05dd\u0004", + "\u05de\t\u05de\u0004\u05df\t\u05df\u0004\u05e0\t\u05e0\u0004\u05e1\t", + "\u05e1\u0004\u05e2\t\u05e2\u0004\u05e3\t\u05e3\u0004\u05e4\t\u05e4\u0004", + "\u05e5\t\u05e5\u0004\u05e6\t\u05e6\u0004\u05e7\t\u05e7\u0004\u05e8\t", + "\u05e8\u0004\u05e9\t\u05e9\u0004\u05ea\t\u05ea\u0004\u05eb\t\u05eb\u0004", + "\u05ec\t\u05ec\u0004\u05ed\t\u05ed\u0004\u05ee\t\u05ee\u0004\u05ef\t", + "\u05ef\u0004\u05f0\t\u05f0\u0004\u05f1\t\u05f1\u0004\u05f2\t\u05f2\u0004", + "\u05f3\t\u05f3\u0004\u05f4\t\u05f4\u0004\u05f5\t\u05f5\u0004\u05f6\t", + "\u05f6\u0004\u05f7\t\u05f7\u0004\u05f8\t\u05f8\u0004\u05f9\t\u05f9\u0004", + "\u05fa\t\u05fa\u0004\u05fb\t\u05fb\u0004\u05fc\t\u05fc\u0004\u05fd\t", + "\u05fd\u0004\u05fe\t\u05fe\u0004\u05ff\t\u05ff\u0004\u0600\t\u0600\u0004", + "\u0601\t\u0601\u0004\u0602\t\u0602\u0004\u0603\t\u0603\u0004\u0604\t", + "\u0604\u0004\u0605\t\u0605\u0004\u0606\t\u0606\u0004\u0607\t\u0607\u0004", + "\u0608\t\u0608\u0004\u0609\t\u0609\u0004\u060a\t\u060a\u0004\u060b\t", + "\u060b\u0004\u060c\t\u060c\u0004\u060d\t\u060d\u0004\u060e\t\u060e\u0004", + "\u060f\t\u060f\u0004\u0610\t\u0610\u0004\u0611\t\u0611\u0004\u0612\t", + "\u0612\u0004\u0613\t\u0613\u0004\u0614\t\u0614\u0004\u0615\t\u0615\u0004", + "\u0616\t\u0616\u0004\u0617\t\u0617\u0004\u0618\t\u0618\u0004\u0619\t", + "\u0619\u0004\u061a\t\u061a\u0004\u061b\t\u061b\u0004\u061c\t\u061c\u0004", + "\u061d\t\u061d\u0004\u061e\t\u061e\u0004\u061f\t\u061f\u0004\u0620\t", + "\u0620\u0004\u0621\t\u0621\u0004\u0622\t\u0622\u0004\u0623\t\u0623\u0004", + "\u0624\t\u0624\u0004\u0625\t\u0625\u0004\u0626\t\u0626\u0004\u0627\t", + "\u0627\u0004\u0628\t\u0628\u0004\u0629\t\u0629\u0004\u062a\t\u062a\u0004", + "\u062b\t\u062b\u0004\u062c\t\u062c\u0004\u062d\t\u062d\u0004\u062e\t", + "\u062e\u0004\u062f\t\u062f\u0004\u0630\t\u0630\u0004\u0631\t\u0631\u0004", + "\u0632\t\u0632\u0004\u0633\t\u0633\u0004\u0634\t\u0634\u0004\u0635\t", + "\u0635\u0004\u0636\t\u0636\u0004\u0637\t\u0637\u0004\u0638\t\u0638\u0004", + "\u0639\t\u0639\u0004\u063a\t\u063a\u0004\u063b\t\u063b\u0004\u063c\t", + "\u063c\u0004\u063d\t\u063d\u0004\u063e\t\u063e\u0004\u063f\t\u063f\u0004", + "\u0640\t\u0640\u0004\u0641\t\u0641\u0004\u0642\t\u0642\u0004\u0643\t", + "\u0643\u0004\u0644\t\u0644\u0004\u0645\t\u0645\u0004\u0646\t\u0646\u0004", + "\u0647\t\u0647\u0004\u0648\t\u0648\u0004\u0649\t\u0649\u0004\u064a\t", + "\u064a\u0004\u064b\t\u064b\u0004\u064c\t\u064c\u0004\u064d\t\u064d\u0004", + "\u064e\t\u064e\u0004\u064f\t\u064f\u0004\u0650\t\u0650\u0004\u0651\t", + "\u0651\u0004\u0652\t\u0652\u0004\u0653\t\u0653\u0004\u0654\t\u0654\u0004", + "\u0655\t\u0655\u0004\u0656\t\u0656\u0004\u0657\t\u0657\u0004\u0658\t", + "\u0658\u0004\u0659\t\u0659\u0004\u065a\t\u065a\u0004\u065b\t\u065b\u0004", + "\u065c\t\u065c\u0004\u065d\t\u065d\u0004\u065e\t\u065e\u0004\u065f\t", + "\u065f\u0004\u0660\t\u0660\u0004\u0661\t\u0661\u0004\u0662\t\u0662\u0004", + "\u0663\t\u0663\u0004\u0664\t\u0664\u0004\u0665\t\u0665\u0004\u0666\t", + "\u0666\u0004\u0667\t\u0667\u0004\u0668\t\u0668\u0004\u0669\t\u0669\u0004", + "\u066a\t\u066a\u0004\u066b\t\u066b\u0004\u066c\t\u066c\u0004\u066d\t", + "\u066d\u0004\u066e\t\u066e\u0004\u066f\t\u066f\u0004\u0670\t\u0670\u0004", + "\u0671\t\u0671\u0004\u0672\t\u0672\u0004\u0673\t\u0673\u0004\u0674\t", + "\u0674\u0004\u0675\t\u0675\u0004\u0676\t\u0676\u0004\u0677\t\u0677\u0004", + "\u0678\t\u0678\u0004\u0679\t\u0679\u0004\u067a\t\u067a\u0004\u067b\t", + "\u067b\u0004\u067c\t\u067c\u0004\u067d\t\u067d\u0004\u067e\t\u067e\u0004", + "\u067f\t\u067f\u0004\u0680\t\u0680\u0004\u0681\t\u0681\u0004\u0682\t", + "\u0682\u0004\u0683\t\u0683\u0004\u0684\t\u0684\u0004\u0685\t\u0685\u0004", + "\u0686\t\u0686\u0004\u0687\t\u0687\u0004\u0688\t\u0688\u0004\u0689\t", + "\u0689\u0004\u068a\t\u068a\u0004\u068b\t\u068b\u0004\u068c\t\u068c\u0004", + "\u068d\t\u068d\u0004\u068e\t\u068e\u0004\u068f\t\u068f\u0004\u0690\t", + "\u0690\u0004\u0691\t\u0691\u0004\u0692\t\u0692\u0004\u0693\t\u0693\u0004", + "\u0694\t\u0694\u0004\u0695\t\u0695\u0004\u0696\t\u0696\u0004\u0697\t", + "\u0697\u0004\u0698\t\u0698\u0004\u0699\t\u0699\u0004\u069a\t\u069a\u0004", + "\u069b\t\u069b\u0004\u069c\t\u069c\u0004\u069d\t\u069d\u0004\u069e\t", + "\u069e\u0004\u069f\t\u069f\u0004\u06a0\t\u06a0\u0004\u06a1\t\u06a1\u0004", + "\u06a2\t\u06a2\u0004\u06a3\t\u06a3\u0004\u06a4\t\u06a4\u0004\u06a5\t", + "\u06a5\u0004\u06a6\t\u06a6\u0004\u06a7\t\u06a7\u0004\u06a8\t\u06a8\u0004", + "\u06a9\t\u06a9\u0004\u06aa\t\u06aa\u0004\u06ab\t\u06ab\u0004\u06ac\t", + "\u06ac\u0004\u06ad\t\u06ad\u0004\u06ae\t\u06ae\u0004\u06af\t\u06af\u0004", + "\u06b0\t\u06b0\u0004\u06b1\t\u06b1\u0004\u06b2\t\u06b2\u0004\u06b3\t", + "\u06b3\u0004\u06b4\t\u06b4\u0004\u06b5\t\u06b5\u0004\u06b6\t\u06b6\u0004", + "\u06b7\t\u06b7\u0004\u06b8\t\u06b8\u0004\u06b9\t\u06b9\u0004\u06ba\t", + "\u06ba\u0004\u06bb\t\u06bb\u0004\u06bc\t\u06bc\u0004\u06bd\t\u06bd\u0004", + "\u06be\t\u06be\u0004\u06bf\t\u06bf\u0004\u06c0\t\u06c0\u0004\u06c1\t", + "\u06c1\u0004\u06c2\t\u06c2\u0004\u06c3\t\u06c3\u0004\u06c4\t\u06c4\u0004", + "\u06c5\t\u06c5\u0004\u06c6\t\u06c6\u0004\u06c7\t\u06c7\u0004\u06c8\t", + "\u06c8\u0004\u06c9\t\u06c9\u0004\u06ca\t\u06ca\u0004\u06cb\t\u06cb\u0004", + "\u06cc\t\u06cc\u0004\u06cd\t\u06cd\u0004\u06ce\t\u06ce\u0004\u06cf\t", + "\u06cf\u0004\u06d0\t\u06d0\u0004\u06d1\t\u06d1\u0004\u06d2\t\u06d2\u0004", + "\u06d3\t\u06d3\u0004\u06d4\t\u06d4\u0004\u06d5\t\u06d5\u0004\u06d6\t", + "\u06d6\u0004\u06d7\t\u06d7\u0004\u06d8\t\u06d8\u0004\u06d9\t\u06d9\u0004", + "\u06da\t\u06da\u0004\u06db\t\u06db\u0004\u06dc\t\u06dc\u0004\u06dd\t", + "\u06dd\u0004\u06de\t\u06de\u0004\u06df\t\u06df\u0004\u06e0\t\u06e0\u0004", + "\u06e1\t\u06e1\u0004\u06e2\t\u06e2\u0004\u06e3\t\u06e3\u0004\u06e4\t", + "\u06e4\u0004\u06e5\t\u06e5\u0004\u06e6\t\u06e6\u0004\u06e7\t\u06e7\u0004", + "\u06e8\t\u06e8\u0004\u06e9\t\u06e9\u0004\u06ea\t\u06ea\u0004\u06eb\t", + "\u06eb\u0004\u06ec\t\u06ec\u0004\u06ed\t\u06ed\u0004\u06ee\t\u06ee\u0004", + "\u06ef\t\u06ef\u0004\u06f0\t\u06f0\u0004\u06f1\t\u06f1\u0004\u06f2\t", + "\u06f2\u0004\u06f3\t\u06f3\u0004\u06f4\t\u06f4\u0004\u06f5\t\u06f5\u0004", + "\u06f6\t\u06f6\u0004\u06f7\t\u06f7\u0004\u06f8\t\u06f8\u0004\u06f9\t", + "\u06f9\u0004\u06fa\t\u06fa\u0004\u06fb\t\u06fb\u0004\u06fc\t\u06fc\u0004", + "\u06fd\t\u06fd\u0004\u06fe\t\u06fe\u0004\u06ff\t\u06ff\u0004\u0700\t", + "\u0700\u0004\u0701\t\u0701\u0004\u0702\t\u0702\u0004\u0703\t\u0703\u0004", + "\u0704\t\u0704\u0004\u0705\t\u0705\u0004\u0706\t\u0706\u0004\u0707\t", + "\u0707\u0004\u0708\t\u0708\u0004\u0709\t\u0709\u0004\u070a\t\u070a\u0004", + "\u070b\t\u070b\u0004\u070c\t\u070c\u0004\u070d\t\u070d\u0004\u070e\t", + "\u070e\u0004\u070f\t\u070f\u0004\u0710\t\u0710\u0004\u0711\t\u0711\u0004", + "\u0712\t\u0712\u0004\u0713\t\u0713\u0004\u0714\t\u0714\u0004\u0715\t", + "\u0715\u0004\u0716\t\u0716\u0004\u0717\t\u0717\u0004\u0718\t\u0718\u0004", + "\u0719\t\u0719\u0004\u071a\t\u071a\u0004\u071b\t\u071b\u0004\u071c\t", + "\u071c\u0004\u071d\t\u071d\u0004\u071e\t\u071e\u0004\u071f\t\u071f\u0004", + "\u0720\t\u0720\u0004\u0721\t\u0721\u0004\u0722\t\u0722\u0004\u0723\t", + "\u0723\u0004\u0724\t\u0724\u0004\u0725\t\u0725\u0004\u0726\t\u0726\u0004", + "\u0727\t\u0727\u0004\u0728\t\u0728\u0004\u0729\t\u0729\u0004\u072a\t", + "\u072a\u0004\u072b\t\u072b\u0004\u072c\t\u072c\u0004\u072d\t\u072d\u0004", + "\u072e\t\u072e\u0004\u072f\t\u072f\u0004\u0730\t\u0730\u0004\u0731\t", + "\u0731\u0004\u0732\t\u0732\u0004\u0733\t\u0733\u0004\u0734\t\u0734\u0004", + "\u0735\t\u0735\u0004\u0736\t\u0736\u0004\u0737\t\u0737\u0004\u0738\t", + "\u0738\u0004\u0739\t\u0739\u0004\u073a\t\u073a\u0004\u073b\t\u073b\u0004", + "\u073c\t\u073c\u0004\u073d\t\u073d\u0004\u073e\t\u073e\u0004\u073f\t", + "\u073f\u0004\u0740\t\u0740\u0004\u0741\t\u0741\u0004\u0742\t\u0742\u0004", + "\u0743\t\u0743\u0004\u0744\t\u0744\u0004\u0745\t\u0745\u0004\u0746\t", + "\u0746\u0004\u0747\t\u0747\u0004\u0748\t\u0748\u0004\u0749\t\u0749\u0004", + "\u074a\t\u074a\u0004\u074b\t\u074b\u0004\u074c\t\u074c\u0004\u074d\t", + "\u074d\u0004\u074e\t\u074e\u0004\u074f\t\u074f\u0004\u0750\t\u0750\u0004", + "\u0751\t\u0751\u0004\u0752\t\u0752\u0004\u0753\t\u0753\u0004\u0754\t", + "\u0754\u0004\u0755\t\u0755\u0004\u0756\t\u0756\u0004\u0757\t\u0757\u0004", + "\u0758\t\u0758\u0004\u0759\t\u0759\u0004\u075a\t\u075a\u0004\u075b\t", + "\u075b\u0004\u075c\t\u075c\u0004\u075d\t\u075d\u0004\u075e\t\u075e\u0004", + "\u075f\t\u075f\u0004\u0760\t\u0760\u0004\u0761\t\u0761\u0004\u0762\t", + "\u0762\u0004\u0763\t\u0763\u0004\u0764\t\u0764\u0004\u0765\t\u0765\u0004", + "\u0766\t\u0766\u0004\u0767\t\u0767\u0004\u0768\t\u0768\u0004\u0769\t", + "\u0769\u0004\u076a\t\u076a\u0004\u076b\t\u076b\u0004\u076c\t\u076c\u0004", + "\u076d\t\u076d\u0004\u076e\t\u076e\u0004\u076f\t\u076f\u0004\u0770\t", + "\u0770\u0004\u0771\t\u0771\u0004\u0772\t\u0772\u0004\u0773\t\u0773\u0004", + "\u0774\t\u0774\u0004\u0775\t\u0775\u0004\u0776\t\u0776\u0004\u0777\t", + "\u0777\u0004\u0778\t\u0778\u0004\u0779\t\u0779\u0004\u077a\t\u077a\u0004", + "\u077b\t\u077b\u0004\u077c\t\u077c\u0004\u077d\t\u077d\u0004\u077e\t", + "\u077e\u0004\u077f\t\u077f\u0004\u0780\t\u0780\u0004\u0781\t\u0781\u0004", + "\u0782\t\u0782\u0004\u0783\t\u0783\u0004\u0784\t\u0784\u0004\u0785\t", + "\u0785\u0004\u0786\t\u0786\u0004\u0787\t\u0787\u0004\u0788\t\u0788\u0004", + "\u0789\t\u0789\u0004\u078a\t\u078a\u0004\u078b\t\u078b\u0004\u078c\t", + "\u078c\u0004\u078d\t\u078d\u0004\u078e\t\u078e\u0004\u078f\t\u078f\u0004", + "\u0790\t\u0790\u0004\u0791\t\u0791\u0004\u0792\t\u0792\u0004\u0793\t", + "\u0793\u0004\u0794\t\u0794\u0004\u0795\t\u0795\u0004\u0796\t\u0796\u0004", + "\u0797\t\u0797\u0004\u0798\t\u0798\u0004\u0799\t\u0799\u0004\u079a\t", + "\u079a\u0004\u079b\t\u079b\u0004\u079c\t\u079c\u0004\u079d\t\u079d\u0004", + "\u079e\t\u079e\u0004\u079f\t\u079f\u0004\u07a0\t\u07a0\u0004\u07a1\t", + "\u07a1\u0004\u07a2\t\u07a2\u0004\u07a3\t\u07a3\u0004\u07a4\t\u07a4\u0004", + "\u07a5\t\u07a5\u0004\u07a6\t\u07a6\u0004\u07a7\t\u07a7\u0004\u07a8\t", + "\u07a8\u0004\u07a9\t\u07a9\u0004\u07aa\t\u07aa\u0004\u07ab\t\u07ab\u0004", + "\u07ac\t\u07ac\u0004\u07ad\t\u07ad\u0004\u07ae\t\u07ae\u0004\u07af\t", + "\u07af\u0004\u07b0\t\u07b0\u0004\u07b1\t\u07b1\u0004\u07b2\t\u07b2\u0004", + "\u07b3\t\u07b3\u0004\u07b4\t\u07b4\u0004\u07b5\t\u07b5\u0004\u07b6\t", + "\u07b6\u0004\u07b7\t\u07b7\u0004\u07b8\t\u07b8\u0004\u07b9\t\u07b9\u0004", + "\u07ba\t\u07ba\u0004\u07bb\t\u07bb\u0004\u07bc\t\u07bc\u0004\u07bd\t", + "\u07bd\u0004\u07be\t\u07be\u0004\u07bf\t\u07bf\u0004\u07c0\t\u07c0\u0004", + "\u07c1\t\u07c1\u0004\u07c2\t\u07c2\u0004\u07c3\t\u07c3\u0004\u07c4\t", + "\u07c4\u0004\u07c5\t\u07c5\u0004\u07c6\t\u07c6\u0004\u07c7\t\u07c7\u0004", + "\u07c8\t\u07c8\u0004\u07c9\t\u07c9\u0004\u07ca\t\u07ca\u0004\u07cb\t", + "\u07cb\u0004\u07cc\t\u07cc\u0004\u07cd\t\u07cd\u0004\u07ce\t\u07ce\u0004", + "\u07cf\t\u07cf\u0004\u07d0\t\u07d0\u0004\u07d1\t\u07d1\u0004\u07d2\t", + "\u07d2\u0004\u07d3\t\u07d3\u0004\u07d4\t\u07d4\u0004\u07d5\t\u07d5\u0004", + "\u07d6\t\u07d6\u0004\u07d7\t\u07d7\u0004\u07d8\t\u07d8\u0004\u07d9\t", + "\u07d9\u0004\u07da\t\u07da\u0004\u07db\t\u07db\u0004\u07dc\t\u07dc\u0004", + "\u07dd\t\u07dd\u0004\u07de\t\u07de\u0004\u07df\t\u07df\u0004\u07e0\t", + "\u07e0\u0004\u07e1\t\u07e1\u0004\u07e2\t\u07e2\u0004\u07e3\t\u07e3\u0004", + "\u07e4\t\u07e4\u0004\u07e5\t\u07e5\u0004\u07e6\t\u07e6\u0004\u07e7\t", + "\u07e7\u0004\u07e8\t\u07e8\u0004\u07e9\t\u07e9\u0004\u07ea\t\u07ea\u0004", + "\u07eb\t\u07eb\u0004\u07ec\t\u07ec\u0004\u07ed\t\u07ed\u0004\u07ee\t", + "\u07ee\u0004\u07ef\t\u07ef\u0004\u07f0\t\u07f0\u0004\u07f1\t\u07f1\u0004", + "\u07f2\t\u07f2\u0004\u07f3\t\u07f3\u0004\u07f4\t\u07f4\u0004\u07f5\t", + "\u07f5\u0004\u07f6\t\u07f6\u0004\u07f7\t\u07f7\u0004\u07f8\t\u07f8\u0004", + "\u07f9\t\u07f9\u0004\u07fa\t\u07fa\u0004\u07fb\t\u07fb\u0004\u07fc\t", + "\u07fc\u0004\u07fd\t\u07fd\u0004\u07fe\t\u07fe\u0004\u07ff\t\u07ff\u0004", + "\u0800\t\u0800\u0004\u0801\t\u0801\u0004\u0802\t\u0802\u0004\u0803\t", + "\u0803\u0004\u0804\t\u0804\u0004\u0805\t\u0805\u0004\u0806\t\u0806\u0004", + "\u0807\t\u0807\u0004\u0808\t\u0808\u0004\u0809\t\u0809\u0004\u080a\t", + "\u080a\u0004\u080b\t\u080b\u0004\u080c\t\u080c\u0004\u080d\t\u080d\u0004", + "\u080e\t\u080e\u0004\u080f\t\u080f\u0004\u0810\t\u0810\u0004\u0811\t", + "\u0811\u0004\u0812\t\u0812\u0004\u0813\t\u0813\u0004\u0814\t\u0814\u0004", + "\u0815\t\u0815\u0004\u0816\t\u0816\u0004\u0817\t\u0817\u0004\u0818\t", + "\u0818\u0004\u0819\t\u0819\u0004\u081a\t\u081a\u0004\u081b\t\u081b\u0004", + "\u081c\t\u081c\u0004\u081d\t\u081d\u0004\u081e\t\u081e\u0004\u081f\t", + "\u081f\u0004\u0820\t\u0820\u0004\u0821\t\u0821\u0004\u0822\t\u0822\u0004", + "\u0823\t\u0823\u0004\u0824\t\u0824\u0004\u0825\t\u0825\u0004\u0826\t", + "\u0826\u0004\u0827\t\u0827\u0004\u0828\t\u0828\u0004\u0829\t\u0829\u0004", + "\u082a\t\u082a\u0004\u082b\t\u082b\u0004\u082c\t\u082c\u0004\u082d\t", + "\u082d\u0004\u082e\t\u082e\u0004\u082f\t\u082f\u0004\u0830\t\u0830\u0004", + "\u0831\t\u0831\u0004\u0832\t\u0832\u0004\u0833\t\u0833\u0004\u0834\t", + "\u0834\u0004\u0835\t\u0835\u0004\u0836\t\u0836\u0004\u0837\t\u0837\u0004", + "\u0838\t\u0838\u0004\u0839\t\u0839\u0004\u083a\t\u083a\u0004\u083b\t", + "\u083b\u0004\u083c\t\u083c\u0004\u083d\t\u083d\u0004\u083e\t\u083e\u0004", + "\u083f\t\u083f\u0004\u0840\t\u0840\u0004\u0841\t\u0841\u0004\u0842\t", + "\u0842\u0004\u0843\t\u0843\u0004\u0844\t\u0844\u0004\u0845\t\u0845\u0004", + "\u0846\t\u0846\u0004\u0847\t\u0847\u0004\u0848\t\u0848\u0004\u0849\t", + "\u0849\u0004\u084a\t\u084a\u0004\u084b\t\u084b\u0004\u084c\t\u084c\u0004", + "\u084d\t\u084d\u0004\u084e\t\u084e\u0004\u084f\t\u084f\u0004\u0850\t", + "\u0850\u0004\u0851\t\u0851\u0004\u0852\t\u0852\u0004\u0853\t\u0853\u0004", + "\u0854\t\u0854\u0004\u0855\t\u0855\u0004\u0856\t\u0856\u0004\u0857\t", + "\u0857\u0004\u0858\t\u0858\u0004\u0859\t\u0859\u0004\u085a\t\u085a\u0004", + "\u085b\t\u085b\u0004\u085c\t\u085c\u0004\u085d\t\u085d\u0004\u085e\t", + "\u085e\u0004\u085f\t\u085f\u0004\u0860\t\u0860\u0004\u0861\t\u0861\u0004", + "\u0862\t\u0862\u0004\u0863\t\u0863\u0004\u0864\t\u0864\u0004\u0865\t", + "\u0865\u0004\u0866\t\u0866\u0004\u0867\t\u0867\u0004\u0868\t\u0868\u0004", + "\u0869\t\u0869\u0004\u086a\t\u086a\u0004\u086b\t\u086b\u0004\u086c\t", + "\u086c\u0004\u086d\t\u086d\u0004\u086e\t\u086e\u0004\u086f\t\u086f\u0004", + "\u0870\t\u0870\u0004\u0871\t\u0871\u0004\u0872\t\u0872\u0004\u0873\t", + "\u0873\u0004\u0874\t\u0874\u0004\u0875\t\u0875\u0004\u0876\t\u0876\u0004", + "\u0877\t\u0877\u0004\u0878\t\u0878\u0004\u0879\t\u0879\u0004\u087a\t", + "\u087a\u0004\u087b\t\u087b\u0004\u087c\t\u087c\u0004\u087d\t\u087d\u0004", + "\u087e\t\u087e\u0004\u087f\t\u087f\u0004\u0880\t\u0880\u0004\u0881\t", + "\u0881\u0004\u0882\t\u0882\u0004\u0883\t\u0883\u0004\u0884\t\u0884\u0004", + "\u0885\t\u0885\u0004\u0886\t\u0886\u0004\u0887\t\u0887\u0004\u0888\t", + "\u0888\u0004\u0889\t\u0889\u0004\u088a\t\u088a\u0004\u088b\t\u088b\u0004", + "\u088c\t\u088c\u0004\u088d\t\u088d\u0004\u088e\t\u088e\u0004\u088f\t", + "\u088f\u0004\u0890\t\u0890\u0004\u0891\t\u0891\u0004\u0892\t\u0892\u0004", + "\u0893\t\u0893\u0004\u0894\t\u0894\u0004\u0895\t\u0895\u0004\u0896\t", + "\u0896\u0004\u0897\t\u0897\u0004\u0898\t\u0898\u0004\u0899\t\u0899\u0004", + "\u089a\t\u089a\u0004\u089b\t\u089b\u0004\u089c\t\u089c\u0004\u089d\t", + "\u089d\u0004\u089e\t\u089e\u0004\u089f\t\u089f\u0004\u08a0\t\u08a0\u0004", + "\u08a1\t\u08a1\u0004\u08a2\t\u08a2\u0004\u08a3\t\u08a3\u0004\u08a4\t", + "\u08a4\u0004\u08a5\t\u08a5\u0004\u08a6\t\u08a6\u0004\u08a7\t\u08a7\u0004", + "\u08a8\t\u08a8\u0004\u08a9\t\u08a9\u0004\u08aa\t\u08aa\u0004\u08ab\t", + "\u08ab\u0004\u08ac\t\u08ac\u0004\u08ad\t\u08ad\u0004\u08ae\t\u08ae\u0004", + "\u08af\t\u08af\u0004\u08b0\t\u08b0\u0004\u08b1\t\u08b1\u0004\u08b2\t", + "\u08b2\u0004\u08b3\t\u08b3\u0004\u08b4\t\u08b4\u0004\u08b5\t\u08b5\u0004", + "\u08b6\t\u08b6\u0004\u08b7\t\u08b7\u0004\u08b8\t\u08b8\u0004\u08b9\t", + "\u08b9\u0004\u08ba\t\u08ba\u0004\u08bb\t\u08bb\u0004\u08bc\t\u08bc\u0004", + "\u08bd\t\u08bd\u0004\u08be\t\u08be\u0004\u08bf\t\u08bf\u0004\u08c0\t", + "\u08c0\u0004\u08c1\t\u08c1\u0004\u08c2\t\u08c2\u0004\u08c3\t\u08c3\u0004", + "\u08c4\t\u08c4\u0004\u08c5\t\u08c5\u0004\u08c6\t\u08c6\u0004\u08c7\t", + "\u08c7\u0004\u08c8\t\u08c8\u0004\u08c9\t\u08c9\u0004\u08ca\t\u08ca\u0004", + "\u08cb\t\u08cb\u0004\u08cc\t\u08cc\u0004\u08cd\t\u08cd\u0004\u08ce\t", + "\u08ce\u0004\u08cf\t\u08cf\u0004\u08d0\t\u08d0\u0004\u08d1\t\u08d1\u0004", + "\u08d2\t\u08d2\u0004\u08d3\t\u08d3\u0004\u08d4\t\u08d4\u0004\u08d5\t", + "\u08d5\u0004\u08d6\t\u08d6\u0004\u08d7\t\u08d7\u0004\u08d8\t\u08d8\u0004", + "\u08d9\t\u08d9\u0004\u08da\t\u08da\u0004\u08db\t\u08db\u0004\u08dc\t", + "\u08dc\u0004\u08dd\t\u08dd\u0003\u0002\u0003\u0002\u0003\u0002\u0003", + "\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003", + "\u0003\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003", + "\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0006\u0003", + "\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003", + "\u0006\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\b\u0003", + "\b\u0003\b\u0003\b\u0003\b\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", + "\t\u0003\t\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003", + "\n\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003", + "\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\f\u0003\f\u0003\f\u0003", + "\f\u0003\f\u0003\f\u0003\f\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003", + "\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003", + "\r\u0003\r\u0003\r\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003", + "\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003", + "\u000e\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003", + "\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003", + "\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003", + "\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003", + "\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0011\u0003", + "\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003", + "\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003", + "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003", + "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013\u0003", + "\u0013\u0003\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003", + "\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003", + "\u0014\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003", + "\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0016\u0003", + "\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003", + "\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0017\u0003\u0017\u0003", + "\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003", + "\u0017\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003", + "\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003", + "\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003", + "\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003", + "\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003", + "\u001a\u0003\u001a\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003", + "\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001c\u0003", + "\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003", + "\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0003", + "\u001d\u0003\u001d\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003", + "\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003", + "\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001f\u0003", + "\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003 \u0003", + " \u0003 \u0003 \u0003 \u0003 \u0003!\u0003!\u0003!\u0003!\u0003!\u0003", + "!\u0003!\u0003!\u0003!\u0003!\u0003\"\u0003\"\u0003#\u0003#\u0003#\u0003", + "#\u0003#\u0003#\u0003$\u0003$\u0003$\u0003$\u0003%\u0003%\u0003%\u0003", + "%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003&\u0003&\u0003&\u0003&\u0003", + "&\u0003&\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003", + "\'\u0003\'\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003)\u0003)\u0003", + ")\u0003)\u0003)\u0003)\u0003)\u0003*\u0003*\u0003*\u0003*\u0003*\u0003", + "*\u0003*\u0003*\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003", + "+\u0003+\u0003+\u0003,\u0003,\u0003,\u0003,\u0003-\u0003-\u0003-\u0003", + "-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003.\u0003.\u0003.\u0003", + ".\u0003.\u0003.\u0003.\u0003.\u0003/\u0003/\u0003/\u0003/\u0003/\u0003", + "/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u00030\u00030\u00030\u0003", + "0\u00030\u00030\u00030\u00030\u00030\u00031\u00031\u00031\u00031\u0003", + "2\u00032\u00032\u00032\u00032\u00032\u00032\u00032\u00032\u00032\u0003", + "3\u00033\u00033\u00033\u00033\u00033\u00033\u00034\u00034\u00034\u0003", + "4\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u00034\u0003", + "4\u00034\u00035\u00035\u00035\u00035\u00035\u00035\u00035\u00035\u0003", + "5\u00035\u00035\u00035\u00035\u00035\u00036\u00036\u00036\u00036\u0003", + "6\u00036\u00036\u00036\u00036\u00036\u00036\u00036\u00037\u00037\u0003", + "7\u00037\u00037\u00037\u00038\u00038\u00038\u00038\u00038\u00038\u0003", + "8\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u0003", + "8\u00038\u00038\u00038\u00038\u00038\u00039\u00039\u00039\u00039\u0003", + "9\u00039\u00039\u00039\u00039\u0003:\u0003:\u0003:\u0003:\u0003:\u0003", + ":\u0003:\u0003:\u0003;\u0003;\u0003;\u0003;\u0003;\u0003;\u0003;\u0003", + ";\u0003;\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003<\u0003", + "<\u0003<\u0003<\u0003=\u0003=\u0003=\u0003=\u0003=\u0003=\u0003>\u0003", + ">\u0003>\u0003?\u0003?\u0003?\u0003?\u0003@\u0003@\u0003@\u0003@\u0003", + "@\u0003@\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003A\u0003", + "A\u0003B\u0003B\u0003B\u0003B\u0003B\u0003C\u0003C\u0003C\u0003C\u0003", + "C\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003D\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003F\u0003F\u0003F\u0003", + "F\u0003F\u0003F\u0003F\u0003F\u0003F\u0003F\u0003G\u0003G\u0003G\u0003", + "G\u0003G\u0003G\u0003H\u0003H\u0003H\u0003H\u0003H\u0003H\u0003H\u0003", + "H\u0003H\u0003H\u0003H\u0003H\u0003H\u0003I\u0003I\u0003I\u0003I\u0003", + "I\u0003I\u0003J\u0003J\u0003J\u0003J\u0003J\u0003K\u0003K\u0003K\u0003", + "L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003L\u0003", + "M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0003", + "M\u0003N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003O\u0003O\u0003O\u0003", + "O\u0003O\u0003O\u0003O\u0003O\u0003O\u0003O\u0003O\u0003O\u0003O\u0003", + "O\u0003P\u0003P\u0003P\u0003P\u0003P\u0003P\u0003P\u0003P\u0003P\u0003", + "P\u0003P\u0003P\u0003P\u0003P\u0003P\u0003Q\u0003Q\u0003Q\u0003Q\u0003", + "Q\u0003Q\u0003Q\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003", + "R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003R\u0003S\u0003S\u0003S\u0003", + "S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003S\u0003", + "T\u0003T\u0003T\u0003T\u0003T\u0003U\u0003U\u0003U\u0003U\u0003U\u0003", + "U\u0003U\u0003U\u0003U\u0003U\u0003U\u0003V\u0003V\u0003V\u0003V\u0003", + "V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003W\u0003W\u0003W\u0003", + "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003X\u0003X\u0003", + "X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003Y\u0003Y\u0003", + "Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003", + "Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0003", + "Y\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003", + "Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003[\u0003[\u0003[\u0003", + "[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003[\u0003", + "\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003]\u0003]\u0003]\u0003]\u0003", + "]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003]\u0003^\u0003^\u0003^\u0003", + "^\u0003^\u0003^\u0003^\u0003_\u0003_\u0003_\u0003_\u0003_\u0003_\u0003", + "_\u0003_\u0003_\u0003_\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003", + "a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003", + "b\u0003b\u0003b\u0003b\u0003b\u0003b\u0003c\u0003c\u0003c\u0003c\u0003", + "c\u0003c\u0003c\u0003c\u0003c\u0003c\u0003d\u0003d\u0003d\u0003d\u0003", + "d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003", + "d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003", + "d\u0003d\u0003d\u0003d\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003", + "e\u0003f\u0003f\u0003f\u0003f\u0003f\u0003f\u0003f\u0003g\u0003g\u0003", + "g\u0003g\u0003g\u0003g\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003", + "h\u0003h\u0003h\u0003h\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", + "i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003i\u0003", + "i\u0003i\u0003i\u0003j\u0003j\u0003j\u0003j\u0003j\u0003j\u0003j\u0003", + "k\u0003k\u0003k\u0003k\u0003k\u0003k\u0003k\u0003k\u0003k\u0003l\u0003", + "l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003l\u0003m\u0003m\u0003m\u0003", + "m\u0003m\u0003m\u0003n\u0003n\u0003n\u0003n\u0003n\u0003n\u0003n\u0003", + "n\u0003n\u0003n\u0003o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003o\u0003", + "o\u0003p\u0003p\u0003p\u0003p\u0003p\u0003p\u0003p\u0003q\u0003q\u0003", + "q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0003", + "q\u0003q\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003", + "r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003r\u0003", + "r\u0003r\u0003r\u0003r\u0003r\u0003s\u0003s\u0003s\u0003s\u0003s\u0003", + "s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003s\u0003", + "s\u0003s\u0003s\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003", + "t\u0003t\u0003t\u0003t\u0003t\u0003t\u0003u\u0003u\u0003u\u0003u\u0003", + "u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003", + "u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003u\u0003v\u0003v\u0003", + "v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003v\u0003", + "v\u0003v\u0003v\u0003v\u0003v\u0003w\u0003w\u0003w\u0003w\u0003w\u0003", + "w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003", + "x\u0003x\u0003x\u0003x\u0003x\u0003x\u0003x\u0003x\u0003x\u0003x\u0003", + "x\u0003y\u0003y\u0003y\u0003y\u0003y\u0003y\u0003y\u0003y\u0003z\u0003", + "z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003", + "{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003|\u0003|\u0003|\u0003", + "|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003|\u0003}\u0003}\u0003", + "}\u0003}\u0003}\u0003}\u0003}\u0003~\u0003~\u0003~\u0003~\u0003~\u0003", + "~\u0003~\u0003~\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003", + "\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003", + "\u007f\u0003\u007f\u0003\u0080\u0003\u0080\u0003\u0080\u0003\u0080\u0003", + "\u0080\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0003", + "\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003\u0082\u0003", + "\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003", + "\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003", + "\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003", + "\u0084\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003", + "\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0086\u0003", + "\u0086\u0003\u0086\u0003\u0086\u0003\u0086\u0003\u0087\u0003\u0087\u0003", + "\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003\u0087\u0003", + "\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0088\u0003\u0089\u0003", + "\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u008a\u0003", + "\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003", + "\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003\u008b\u0003", + "\u008b\u0003\u008b\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003", + "\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003\u008c\u0003", + "\u008d\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008e\u0003", + "\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003", + "\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003", + "\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003\u008f\u0003", + "\u008f\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003", + "\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0090\u0003", + "\u0090\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003", + "\u0091\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092\u0003", + "\u0093\u0003\u0093\u0003\u0093\u0003\u0094\u0003\u0094\u0003\u0094\u0003", + "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", + "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", + "\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003\u0094\u0003", + "\u0094\u0003\u0094\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", + "\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003\u0095\u0003", + "\u0095\u0003\u0095\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003", + "\u0096\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003", + "\u0097\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003", + "\u0098\u0003\u0098\u0003\u0098\u0003\u0098\u0003\u0099\u0003\u0099\u0003", + "\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003", + "\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003", + "\u0099\u0003\u0099\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003", + "\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003", + "\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003", + "\u009a\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0003", + "\u009b\u0003\u009b\u0003\u009b\u0003\u009c\u0003\u009c\u0003\u009c\u0003", + "\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003", + "\u009c\u0003\u009c\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003", + "\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009e\u0003", + "\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009f\u0003\u009f\u0003", + "\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u009f\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a0\u0003", + "\u00a0\u0003\u00a0\u0003\u00a0\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003", + "\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003\u00a1\u0003", + "\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003", + "\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003\u00a2\u0003", + "\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003", + "\u00a3\u0003\u00a3\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003", + "\u00a4\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003", + "\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a6\u0003", + "\u00a6\u0003\u00a6\u0003\u00a6\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003", + "\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a7\u0003", + "\u00a7\u0003\u00a7\u0003\u00a7\u0003\u00a8\u0003\u00a8\u0003\u00a8\u0003", + "\u00a8\u0003\u00a8\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003", + "\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003", + "\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003", + "\u00a9\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003", + "\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003\u00aa\u0003", + "\u00aa\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003\u00ab\u0003", + "\u00ab\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ac\u0003", + "\u00ac\u0003\u00ac\u0003\u00ac\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003", + "\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003\u00ae\u0003\u00ae\u0003", + "\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003", + "\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003\u00ae\u0003", + "\u00ae\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003", + "\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003", + "\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003", + "\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003\u00af\u0003", + "\u00af\u0003\u00af\u0003\u00af\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003", + "\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003", + "\u00b0\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003\u00b1\u0003", + "\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003", + "\u00b2\u0003\u00b2\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003", + "\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003\u00b3\u0003", + "\u00b3\u0003\u00b3\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003", + "\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003", + "\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003", + "\u00b4\u0003\u00b4\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0003", + "\u00b5\u0003\u00b5\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003", + "\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003", + "\u00b6\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003\u00b7\u0003", + "\u00b7\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0003", + "\u00b8\u0003\u00b8\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003\u00b9\u0003", + "\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003", + "\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0003", + "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003", + "\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bc\u0003\u00bd\u0003", + "\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003\u00bd\u0003", + "\u00bd\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003", + "\u00be\u0003\u00bf\u0003\u00bf\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003", + "\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c1\u0003\u00c1\u0003", + "\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003", + "\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", + "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", + "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", + "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003", + "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c4\u0003", + "\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c4\u0003\u00c5\u0003", + "\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", + "\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003", + "\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c5\u0003\u00c6\u0003\u00c6\u0003", + "\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003", + "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", + "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003", + "\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c8\u0003\u00c8\u0003", + "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003", + "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c8\u0003", + "\u00c8\u0003\u00c8\u0003\u00c8\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003", + "\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003", + "\u00c9\u0003\u00c9\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", + "\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003\u00ca\u0003", + "\u00ca\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", + "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0003", + "\u00cb\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003", + "\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003", + "\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003", + "\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003\u00ce\u0003", + "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", + "\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003\u00cf\u0003", + "\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003\u00d0\u0003", + "\u00d0\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003", + "\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003", + "\u00d1\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003", + "\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003", + "\u00d3\u0003\u00d3\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003", + "\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d5\u0003", + "\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003", + "\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003", + "\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003", + "\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003", + "\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d7\u0003\u00d7\u0003", + "\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003", + "\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003", + "\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003", + "\u00d8\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003", + "\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003\u00d9\u0003", + "\u00d9\u0003\u00d9\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003", + "\u00da\u0003\u00da\u0003\u00da\u0003\u00da\u0003\u00db\u0003\u00db\u0003", + "\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00db\u0003\u00dc\u0003", + "\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0003", + "\u00dc\u0003\u00dc\u0003\u00dc\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003", + "\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00dd\u0003", + "\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00de\u0003\u00de\u0003\u00de\u0003", + "\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00de\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003\u00df\u0003", + "\u00df\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003", + "\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003", + "\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003", + "\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003", + "\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e2\u0003\u00e3\u0003", + "\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003", + "\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003", + "\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003", + "\u00e4\u0003\u00e4\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003", + "\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e5\u0003\u00e6\u0003\u00e6\u0003", + "\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0003", + "\u00e6\u0003\u00e6\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003", + "\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003", + "\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003", + "\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e8\u0003", + "\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003", + "\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00e9\u0003", + "\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003\u00ea\u0003", + "\u00ea\u0003\u00ea\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003", + "\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003", + "\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003", + "\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003\u00ec\u0003", + "\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003", + "\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003\u00ed\u0003", + "\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003", + "\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ee\u0003\u00ef\u0003\u00ef\u0003", + "\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0003", + "\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003", + "\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f1\u0003", + "\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003", + "\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003\u00f1\u0003", + "\u00f1\u0003\u00f1\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003", + "\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003", + "\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003", + "\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003\u00f3\u0003", + "\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003", + "\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003", + "\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003", + "\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f5\u0003", + "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003", + "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003", + "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003", + "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003", + "\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003", + "\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003", + "\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f6\u0003", + "\u00f6\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003", + "\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003", + "\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003", + "\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0003\u00f8\u0003\u00f8\u0003", + "\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003", + "\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003", + "\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003", + "\u00f8\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003", + "\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003", + "\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003\u00f9\u0003", + "\u00f9\u0003\u00f9\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003", + "\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003", + "\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003\u00fa\u0003", + "\u00fa\u0003\u00fa\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003", + "\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003", + "\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003\u00fb\u0003", + "\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003\u00fc\u0003", + "\u00fc\u0003\u00fc\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003", + "\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003", + "\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003", + "\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003\u00fe\u0003", + "\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003", + "\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0003\u0100\u0003", + "\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003", + "\u0100\u0003\u0100\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003", + "\u0101\u0003\u0101\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003", + "\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003", + "\u0102\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003", + "\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003\u0103\u0003", + "\u0103\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", + "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", + "\u0104\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003", + "\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0106\u0003", + "\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0003", + "\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0003", + "\u0106\u0003\u0106\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003", + "\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003", + "\u0107\u0003\u0108\u0003\u0108\u0003\u0108\u0003\u0108\u0003\u0108\u0003", + "\u0108\u0003\u0108\u0003\u0108\u0003\u0109\u0003\u0109\u0003\u0109\u0003", + "\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003", + "\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003", + "\u010a\u0003\u010a\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003", + "\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010c\u0003", + "\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003", + "\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010d\u0003", + "\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003", + "\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003", + "\u010d\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0003", + "\u010e\u0003\u010e\u0003\u010e\u0003\u010f\u0003\u010f\u0003\u010f\u0003", + "\u010f\u0003\u010f\u0003\u010f\u0003\u010f\u0003\u0110\u0003\u0110\u0003", + "\u0110\u0003\u0110\u0003\u0110\u0003\u0111\u0003\u0111\u0003\u0111\u0003", + "\u0111\u0003\u0111\u0003\u0111\u0003\u0111\u0003\u0112\u0003\u0112\u0003", + "\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0113\u0003", + "\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003", + "\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0114\u0003\u0114\u0003", + "\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003", + "\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003", + "\u0114\u0003\u0114\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003", + "\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0003", + "\u0115\u0003\u0115\u0003\u0116\u0003\u0116\u0003\u0116\u0003\u0116\u0003", + "\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0118\u0003", + "\u0118\u0003\u0118\u0003\u0118\u0003\u0118\u0003\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0003\u011a\u0003\u011a\u0003\u011a\u0003", + "\u011a\u0003\u011a\u0003\u011a\u0003\u011b\u0003\u011b\u0003\u011b\u0003", + "\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0003", + "\u011b\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003", + "\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003", + "\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003", + "\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003\u011d\u0003", + "\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003", + "\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003", + "\u011e\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003", + "\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003", + "\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0003\u0120\u0003", + "\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0121\u0003", + "\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0003", + "\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003", + "\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003", + "\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0122\u0003\u0123\u0003", + "\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003", + "\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003", + "\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003", + "\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0124\u0003\u0124\u0003", + "\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003", + "\u0124\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003", + "\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003\u0126\u0003", + "\u0126\u0003\u0126\u0003\u0126\u0003\u0127\u0003\u0127\u0003\u0127\u0003", + "\u0127\u0003\u0127\u0003\u0127\u0003\u0128\u0003\u0128\u0003\u0128\u0003", + "\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003", + "\u0128\u0003\u0128\u0003\u0128\u0003\u0128\u0003\u0129\u0003\u0129\u0003", + "\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003\u0129\u0003", + "\u0129\u0003\u0129\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003", + "\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012b\u0003\u012b\u0003", + "\u012b\u0003\u012b\u0003\u012b\u0003\u012c\u0003\u012c\u0003\u012c\u0003", + "\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012d\u0003", + "\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003\u012d\u0003", + "\u012d\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003", + "\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003", + "\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003", + "\u012f\u0003\u012f\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", + "\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003\u0130\u0003", + "\u0130\u0003\u0130\u0003\u0130\u0003\u0131\u0003\u0131\u0003\u0131\u0003", + "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", + "\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003\u0131\u0003", + "\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003", + "\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003\u0132\u0003", + "\u0132\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003", + "\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003", + "\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003", + "\u0133\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003", + "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003", + "\u0134\u0003\u0134\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003", + "\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0136\u0003", + "\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003\u0136\u0003", + "\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003", + "\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003", + "\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003\u0137\u0003", + "\u0137\u0003\u0137\u0003\u0137\u0003\u0138\u0003\u0138\u0003\u0138\u0003", + "\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003", + "\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003", + "\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003\u0138\u0003", + "\u0138\u0003\u0138\u0003\u0138\u0003\u0139\u0003\u0139\u0003\u0139\u0003", + "\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003", + "\u0139\u0003\u0139\u0003\u0139\u0003\u013a\u0003\u013a\u0003\u013a\u0003", + "\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003", + "\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003\u013c\u0003", + "\u013c\u0003\u013c\u0003\u013c\u0003\u013d\u0003\u013d\u0003\u013d\u0003", + "\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003\u013d\u0003", + "\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013f\u0003", + "\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0003", + "\u013f\u0003\u013f\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003", + "\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003\u0140\u0003", + "\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003", + "\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003", + "\u0141\u0003\u0141\u0003\u0141\u0003\u0141\u0003\u0142\u0003\u0142\u0003", + "\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003", + "\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0143\u0003", + "\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0003", + "\u0143\u0003\u0143\u0003\u0143\u0003\u0144\u0003\u0144\u0003\u0144\u0003", + "\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003", + "\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003", + "\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003", + "\u0144\u0003\u0144\u0003\u0144\u0003\u0144\u0003\u0145\u0003\u0145\u0003", + "\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003", + "\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003", + "\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003", + "\u0145\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003", + "\u0146\u0003\u0146\u0003\u0146\u0003\u0146\u0003\u0147\u0003\u0147\u0003", + "\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003", + "\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003", + "\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003", + "\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003\u0147\u0003", + "\u0147\u0003\u0147\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003", + "\u0148\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003", + "\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u014a\u0003", + "\u014a\u0003\u014a\u0003\u014a\u0003\u014b\u0003\u014b\u0003\u014b\u0003", + "\u014b\u0003\u014b\u0003\u014c\u0003\u014c\u0003\u014c\u0003\u014c\u0003", + "\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003", + "\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003", + "\u014d\u0003\u014d\u0003\u014d\u0003\u014e\u0003\u014e\u0003\u014e\u0003", + "\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003\u014e\u0003", + "\u014e\u0003\u014e\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003", + "\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003", + "\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u014f\u0003\u0150\u0003", + "\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003", + "\u0150\u0003\u0150\u0003\u0150\u0003\u0150\u0003\u0151\u0003\u0151\u0003", + "\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003", + "\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003\u0151\u0003", + "\u0151\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003", + "\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003\u0152\u0003", + "\u0153\u0003\u0153\u0003\u0153\u0003\u0153\u0003\u0154\u0003\u0154\u0003", + "\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003", + "\u0154\u0003\u0154\u0003\u0154\u0003\u0155\u0003\u0155\u0003\u0155\u0003", + "\u0155\u0003\u0155\u0003\u0155\u0003\u0156\u0003\u0156\u0003\u0156\u0003", + "\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003", + "\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0158\u0003\u0158\u0003", + "\u0158\u0003\u0158\u0003\u0158\u0003\u0158\u0003\u0158\u0003\u0158\u0003", + "\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003", + "\u0159\u0003\u0159\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003", + "\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003\u015a\u0003", + "\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003", + "\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0003", + "\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015d\u0003", + "\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003", + "\u015d\u0003\u015d\u0003\u015d\u0003\u015e\u0003\u015e\u0003\u015e\u0003", + "\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015f\u0003", + "\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003", + "\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u0160\u0003", + "\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003", + "\u0160\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003", + "\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0162\u0003\u0162\u0003", + "\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162\u0003", + "\u0162\u0003\u0162\u0003\u0162\u0003\u0163\u0003\u0163\u0003\u0163\u0003", + "\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003\u0163\u0003", + "\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003", + "\u0164\u0003\u0164\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003", + "\u0165\u0003\u0165\u0003\u0165\u0003\u0166\u0003\u0166\u0003\u0166\u0003", + "\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0003\u0167\u0003", + "\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0003", + "\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003", + "\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003\u0169\u0003", + "\u0169\u0003\u0169\u0003\u0169\u0003\u016a\u0003\u016a\u0003\u016a\u0003", + "\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003", + "\u016a\u0003\u016a\u0003\u016b\u0003\u016b\u0003\u016b\u0003\u016b\u0003", + "\u016b\u0003\u016b\u0003\u016b\u0003\u016c\u0003\u016c\u0003\u016c\u0003", + "\u016c\u0003\u016c\u0003\u016c\u0003\u016c\u0003\u016c\u0003\u016c\u0003", + "\u016c\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003", + "\u016d\u0003\u016d\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003", + "\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003\u016e\u0003", + "\u016e\u0003\u016e\u0003\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0003", + "\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0003\u016f\u0003", + "\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003", + "\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003\u0171\u0003", + "\u0171\u0003\u0171\u0003\u0172\u0003\u0172\u0003\u0172\u0003\u0172\u0003", + "\u0172\u0003\u0172\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003", + "\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003", + "\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0173\u0003", + "\u0173\u0003\u0174\u0003\u0174\u0003\u0174\u0003\u0174\u0003\u0174\u0003", + "\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003\u0175\u0003", + "\u0175\u0003\u0175\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003", + "\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0176\u0003\u0177\u0003", + "\u0177\u0003\u0177\u0003\u0177\u0003\u0177\u0003\u0177\u0003\u0177\u0003", + "\u0177\u0003\u0177\u0003\u0177\u0003\u0177\u0003\u0178\u0003\u0178\u0003", + "\u0178\u0003\u0178\u0003\u0178\u0003\u0178\u0003\u0178\u0003\u0178\u0003", + "\u0178\u0003\u0178\u0003\u0178\u0003\u0178\u0003\u0178\u0003\u0178\u0003", + "\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003", + "\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u017a\u0003", + "\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003", + "\u017a\u0003\u017a\u0003\u017a\u0003\u017b\u0003\u017b\u0003\u017b\u0003", + "\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003", + "\u017b\u0003\u017b\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003", + "\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c\u0003", + "\u017c\u0003\u017c\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003", + "\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003\u017d\u0003", + "\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003", + "\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003\u017e\u0003", + "\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003", + "\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003\u017f\u0003", + "\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003", + "\u0180\u0003\u0180\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003", + "\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003", + "\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003", + "\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0182\u0003", + "\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003", + "\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003", + "\u0182\u0003\u0182\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003", + "\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003\u0183\u0003", + "\u0183\u0003\u0183\u0003\u0183\u0003\u0184\u0003\u0184\u0003\u0184\u0003", + "\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003", + "\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003", + "\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003\u0185\u0003", + "\u0185\u0003\u0186\u0003\u0186\u0003\u0186\u0003\u0186\u0003\u0186\u0003", + "\u0186\u0003\u0186\u0003\u0186\u0003\u0187\u0003\u0187\u0003\u0187\u0003", + "\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003\u0187\u0003", + "\u0187\u0003\u0187\u0003\u0188\u0003\u0188\u0003\u0188\u0003\u0188\u0003", + "\u0188\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003", + "\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u0189\u0003\u018a\u0003", + "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003", + "\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0003", + "\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003", + "\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003\u018c\u0003", + "\u018c\u0003\u018c\u0003\u018c\u0003\u018d\u0003\u018d\u0003\u018d\u0003", + "\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003", + "\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003", + "\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003\u018e\u0003", + "\u018e\u0003\u018e\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003", + "\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003\u018f\u0003", + "\u018f\u0003\u018f\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003", + "\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003\u0190\u0003", + "\u0190\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0192\u0003", + "\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0003", + "\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0003\u0193\u0003\u0193\u0003", + "\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003", + "\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0003\u0194\u0003\u0194\u0003", + "\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0003", + "\u0194\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003", + "\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003", + "\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0003", + "\u0195\u0003\u0195\u0003\u0195\u0003\u0196\u0003\u0196\u0003\u0196\u0003", + "\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003", + "\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003", + "\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003", + "\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003", + "\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003", + "\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003\u0197\u0003", + "\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003", + "\u0198\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003", + "\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u0199\u0003\u019a\u0003", + "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", + "\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003\u019a\u0003", + "\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003", + "\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b\u0003", + "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019d\u0003", + "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003", + "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019e\u0003\u019e\u0003", + "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", + "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", + "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", + "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019f\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u01a0\u0003", + "\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a0\u0003\u01a1\u0003\u01a1\u0003", + "\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0003", + "\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003", + "\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a3\u0003\u01a3\u0003", + "\u01a3\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a4\u0003", + "\u01a4\u0003\u01a4\u0003\u01a4\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003", + "\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003", + "\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003\u01a5\u0003", + "\u01a5\u0003\u01a5\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", + "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", + "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", + "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0003", + "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003", + "\u01a7\u0003\u01a7\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003", + "\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003\u01a8\u0003", + "\u01a8\u0003\u01a8\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003", + "\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01a9\u0003\u01aa\u0003\u01aa\u0003", + "\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0003", + "\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003", + "\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003\u01ab\u0003", + "\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003", + "\u01ac\u0003\u01ac\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003", + "\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003", + "\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003", + "\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003", + "\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003", + "\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003", + "\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003\u01af\u0003", + "\u01af\u0003\u01af\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003", + "\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003", + "\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003", + "\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b1\u0003", + "\u01b1\u0003\u01b1\u0003\u01b1\u0003\u01b1\u0003\u01b2\u0003\u01b2\u0003", + "\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b2\u0003\u01b3\u0003\u01b3\u0003", + "\u01b3\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003", + "\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003", + "\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003", + "\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b6\u0003", + "\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b6\u0003\u01b7\u0003", + "\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003", + "\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b7\u0003\u01b8\u0003\u01b8\u0003", + "\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b8\u0003\u01b9\u0003", + "\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003", + "\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003", + "\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003", + "\u01b9\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003", + "\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003", + "\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003", + "\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003", + "\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003\u01bc\u0003", + "\u01bc\u0003\u01bc\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003", + "\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01bd\u0003", + "\u01bd\u0003\u01be\u0003\u01be\u0003\u01be\u0003\u01be\u0003\u01bf\u0003", + "\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003", + "\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003", + "\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01c0\u0003\u01c0\u0003", + "\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0003", + "\u01c0\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003", + "\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003", + "\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0003\u01c3\u0003", + "\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003", + "\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c3\u0003\u01c4\u0003\u01c4\u0003", + "\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003", + "\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0003", + "\u01c4\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5\u0003", + "\u01c5\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003", + "\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c7\u0003\u01c7\u0003", + "\u01c7\u0003\u01c7\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003", + "\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003", + "\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003\u01c9\u0003", + "\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0003\u01ca\u0003", + "\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003", + "\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003", + "\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003", + "\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003", + "\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cc\u0003\u01cc\u0003", + "\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cc\u0003\u01cd\u0003", + "\u01cd\u0003\u01cd\u0003\u01cd\u0003\u01cd\u0003\u01cd\u0003\u01cd\u0003", + "\u01cd\u0003\u01cd\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003\u01ce\u0003", + "\u01ce\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003", + "\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01d0\u0003\u01d0\u0003", + "\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d0\u0003", + "\u01d0\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003", + "\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003", + "\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0003", + "\u01d2\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003\u01d3\u0003", + "\u01d3\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d4\u0003", + "\u01d4\u0003\u01d4\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003", + "\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003", + "\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003", + "\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d6\u0003", + "\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003", + "\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003\u01d7\u0003", + "\u01d7\u0003\u01d7\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003", + "\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d8\u0003\u01d9\u0003", + "\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003", + "\u01d9\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003", + "\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01da\u0003\u01db\u0003", + "\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003", + "\u01db\u0003\u01db\u0003\u01db\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003", + "\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dd\u0003", + "\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003", + "\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003", + "\u01de\u0003\u01de\u0003\u01de\u0003\u01df\u0003\u01df\u0003\u01df\u0003", + "\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01e0\u0003\u01e0\u0003", + "\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e0\u0003", + "\u01e0\u0003\u01e0\u0003\u01e0\u0003\u01e1\u0003\u01e1\u0003\u01e1\u0003", + "\u01e1\u0003\u01e1\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003", + "\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003", + "\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003", + "\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e2\u0003\u01e3\u0003", + "\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003", + "\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003\u01e3\u0003", + "\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e5\u0003\u01e5\u0003", + "\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003\u01e6\u0003", + "\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003", + "\u01e6\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003", + "\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e8\u0003", + "\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003", + "\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003", + "\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003", + "\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01ea\u0003\u01ea\u0003", + "\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003", + "\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003", + "\u01eb\u0003\u01eb\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ec\u0003", + "\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003", + "\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ed\u0003\u01ee\u0003", + "\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003\u01ee\u0003", + "\u01ee\u0003\u01ee\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003", + "\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003\u01ef\u0003", + "\u01ef\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003", + "\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003", + "\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f0\u0003\u01f1\u0003\u01f1\u0003", + "\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003\u01f1\u0003", + "\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003", + "\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003\u01f2\u0003", + "\u01f2\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003\u01f3\u0003", + "\u01f3\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003", + "\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f5\u0003\u01f5\u0003", + "\u01f5\u0003\u01f5\u0003\u01f5\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003", + "\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f7\u0003\u01f7\u0003", + "\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003", + "\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f7\u0003", + "\u01f7\u0003\u01f8\u0003\u01f8\u0003\u01f8\u0003\u01f8\u0003\u01f8\u0003", + "\u01f8\u0003\u01f8\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003", + "\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003", + "\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003", + "\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003\u01f9\u0003", + "\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003", + "\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fa\u0003\u01fb\u0003\u01fb\u0003", + "\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003", + "\u01fb\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003", + "\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003", + "\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fe\u0003\u01fe\u0003\u01fe\u0003", + "\u01fe\u0003\u01fe\u0003\u01fe\u0003\u01fe\u0003\u01ff\u0003\u01ff\u0003", + "\u01ff\u0003\u01ff\u0003\u0200\u0003\u0200\u0003\u0200\u0003\u0200\u0003", + "\u0200\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0201\u0003", + "\u0201\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0201\u0003\u0202\u0003", + "\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003\u0202\u0003", + "\u0202\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003", + "\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003", + "\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0204\u0003", + "\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003", + "\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0003\u0205\u0003\u0205\u0003", + "\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003", + "\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0206\u0003\u0206\u0003", + "\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003", + "\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003\u0206\u0003", + "\u0207\u0003\u0207\u0003\u0207\u0003\u0207\u0003\u0207\u0003\u0207\u0003", + "\u0208\u0003\u0208\u0003\u0208\u0003\u0208\u0003\u0208\u0003\u0209\u0003", + "\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003", + "\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003", + "\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003\u0209\u0003\u020a\u0003", + "\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003", + "\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003", + "\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003", + "\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020a\u0003\u020b\u0003", + "\u020b\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020b\u0003", + "\u020c\u0003\u020c\u0003\u020c\u0003\u020c\u0003\u020c\u0003\u020c\u0003", + "\u020d\u0003\u020d\u0003\u020d\u0003\u020d\u0003\u020d\u0003\u020e\u0003", + "\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003\u020e\u0003", + "\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003", + "\u0210\u0003\u0210\u0003\u0210\u0003\u0210\u0003\u0210\u0003\u0210\u0003", + "\u0210\u0003\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0003", + "\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0003", + "\u0212\u0003\u0212\u0003\u0212\u0003\u0212\u0003\u0212\u0003\u0212\u0003", + "\u0212\u0003\u0212\u0003\u0212\u0003\u0212\u0003\u0212\u0003\u0212\u0003", + "\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003", + "\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003", + "\u0213\u0003\u0213\u0003\u0213\u0003\u0213\u0003\u0214\u0003\u0214\u0003", + "\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003\u0214\u0003", + "\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003", + "\u0215\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0216\u0003\u0216\u0003", + "\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003", + "\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0217\u0003\u0217\u0003", + "\u0217\u0003\u0217\u0003\u0217\u0003\u0217\u0003\u0218\u0003\u0218\u0003", + "\u0218\u0003\u0218\u0003\u0218\u0003\u0219\u0003\u0219\u0003\u0219\u0003", + "\u0219\u0003\u0219\u0003\u0219\u0003\u021a\u0003\u021a\u0003\u021a\u0003", + "\u021a\u0003\u021a\u0003\u021a\u0003\u021b\u0003\u021b\u0003\u021b\u0003", + "\u021b\u0003\u021b\u0003\u021b\u0003\u021b\u0003\u021c\u0003\u021c\u0003", + "\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021c\u0003", + "\u021c\u0003\u021c\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003", + "\u021d\u0003\u021d\u0003\u021d\u0003\u021d\u0003\u021e\u0003\u021e\u0003", + "\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021e\u0003\u021f\u0003", + "\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u0220\u0003", + "\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003", + "\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003", + "\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003", + "\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0221\u0003", + "\u0221\u0003\u0221\u0003\u0221\u0003\u0221\u0003\u0221\u0003\u0221\u0003", + "\u0221\u0003\u0222\u0003\u0222\u0003\u0222\u0003\u0222\u0003\u0222\u0003", + "\u0222\u0003\u0222\u0003\u0222\u0003\u0223\u0003\u0223\u0003\u0223\u0003", + "\u0223\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0003", + "\u0224\u0003\u0224\u0003\u0225\u0003\u0225\u0003\u0225\u0003\u0225\u0003", + "\u0225\u0003\u0225\u0003\u0225\u0003\u0225\u0003\u0226\u0003\u0226\u0003", + "\u0226\u0003\u0226\u0003\u0226\u0003\u0226\u0003\u0226\u0003\u0226\u0003", + "\u0226\u0003\u0226\u0003\u0226\u0003\u0226\u0003\u0226\u0003\u0226\u0003", + "\u0226\u0003\u0226\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003", + "\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0228\u0003", + "\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003\u0228\u0003", + "\u0228\u0003\u0228\u0003\u0228\u0003\u0229\u0003\u0229\u0003\u0229\u0003", + "\u0229\u0003\u0229\u0003\u0229\u0003\u0229\u0003\u0229\u0003\u0229\u0003", + "\u0229\u0003\u022a\u0003\u022a\u0003\u022a\u0003\u022a\u0003\u022a\u0003", + "\u022a\u0003\u022b\u0003\u022b\u0003\u022b\u0003\u022b\u0003\u022b\u0003", + "\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003", + "\u022c\u0003\u022c\u0003\u022d\u0003\u022d\u0003\u022d\u0003\u022d\u0003", + "\u022d\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003", + "\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003", + "\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003", + "\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003\u022e\u0003", + "\u022e\u0003\u022e\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0003", + "\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0003\u0230\u0003", + "\u0230\u0003\u0230\u0003\u0230\u0003\u0230\u0003\u0230\u0003\u0230\u0003", + "\u0230\u0003\u0230\u0003\u0230\u0003\u0231\u0003\u0231\u0003\u0231\u0003", + "\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003", + "\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003", + "\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003", + "\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003\u0231\u0003", + "\u0231\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003", + "\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003", + "\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003", + "\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003\u0232\u0003", + "\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003", + "\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003", + "\u0233\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0234\u0003\u0234\u0003", + "\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003", + "\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0235\u0003", + "\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003", + "\u0235\u0003\u0235\u0003\u0235\u0003\u0236\u0003\u0236\u0003\u0236\u0003", + "\u0236\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003", + "\u0237\u0003\u0237\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003", + "\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0239\u0003", + "\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003", + "\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u0239\u0003\u023a\u0003", + "\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003", + "\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003", + "\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003\u023a\u0003", + "\u023a\u0003\u023a\u0003\u023b\u0003\u023b\u0003\u023b\u0003\u023b\u0003", + "\u023b\u0003\u023c\u0003\u023c\u0003\u023c\u0003\u023c\u0003\u023c\u0003", + "\u023c\u0003\u023d\u0003\u023d\u0003\u023d\u0003\u023d\u0003\u023d\u0003", + "\u023d\u0003\u023d\u0003\u023d\u0003\u023d\u0003\u023e\u0003\u023e\u0003", + "\u023e\u0003\u023e\u0003\u023e\u0003\u023e\u0003\u023f\u0003\u023f\u0003", + "\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f\u0003", + "\u023f\u0003\u0240\u0003\u0240\u0003\u0240\u0003\u0240\u0003\u0240\u0003", + "\u0240\u0003\u0240\u0003\u0240\u0003\u0240\u0003\u0241\u0003\u0241\u0003", + "\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003", + "\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0242\u0003\u0242\u0003", + "\u0242\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0242\u0003\u0243\u0003", + "\u0243\u0003\u0243\u0003\u0243\u0003\u0243\u0003\u0243\u0003\u0243\u0003", + "\u0243\u0003\u0243\u0003\u0243\u0003\u0243\u0003\u0244\u0003\u0244\u0003", + "\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003", + "\u0244\u0003\u0244\u0003\u0245\u0003\u0245\u0003\u0245\u0003\u0245\u0003", + "\u0245\u0003\u0245\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0246\u0003", + "\u0246\u0003\u0246\u0003\u0246\u0003\u0246\u0003\u0247\u0003\u0247\u0003", + "\u0247\u0003\u0247\u0003\u0247\u0003\u0248\u0003\u0248\u0003\u0248\u0003", + "\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003\u0248\u0003", + "\u0249\u0003\u0249\u0003\u0249\u0003\u0249\u0003\u0249\u0003\u0249\u0003", + "\u0249\u0003\u0249\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003", + "\u024a\u0003\u024a\u0003\u024a\u0003\u024b\u0003\u024b\u0003\u024b\u0003", + "\u024b\u0003\u024b\u0003\u024b\u0003\u024b\u0003\u024c\u0003\u024c\u0003", + "\u024c\u0003\u024c\u0003\u024c\u0003\u024d\u0003\u024d\u0003\u024d\u0003", + "\u024d\u0003\u024d\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003", + "\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024e\u0003\u024f\u0003", + "\u024f\u0003\u024f\u0003\u024f\u0003\u024f\u0003\u024f\u0003\u024f\u0003", + "\u024f\u0003\u024f\u0003\u0250\u0003\u0250\u0003\u0250\u0003\u0250\u0003", + "\u0250\u0003\u0250\u0003\u0250\u0003\u0251\u0003\u0251\u0003\u0251\u0003", + "\u0251\u0003\u0251\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003", + "\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003\u0252\u0003", + "\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0253\u0003\u0254\u0003", + "\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003", + "\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003\u0254\u0003", + "\u0254\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0003", + "\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0003", + "\u0255\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0257\u0003", + "\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0258\u0003\u0258\u0003", + "\u0258\u0003\u0258\u0003\u0258\u0003\u0258\u0003\u0258\u0003\u0258\u0003", + "\u0258\u0003\u0258\u0003\u0258\u0003\u0258\u0003\u0258\u0003\u0259\u0003", + "\u0259\u0003\u0259\u0003\u0259\u0003\u0259\u0003\u0259\u0003\u0259\u0003", + "\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003", + "\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025b\u0003", + "\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0003", + "\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025c\u0003\u025c\u0003", + "\u025c\u0003\u025c\u0003\u025c\u0003\u025c\u0003\u025c\u0003\u025c\u0003", + "\u025c\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003", + "\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003\u025d\u0003", + "\u025d\u0003\u025d\u0003\u025e\u0003\u025e\u0003\u025e\u0003\u025f\u0003", + "\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003", + "\u025f\u0003\u025f\u0003\u025f\u0003\u0260\u0003\u0260\u0003\u0260\u0003", + "\u0261\u0003\u0261\u0003\u0261\u0003\u0261\u0003\u0261\u0003\u0261\u0003", + "\u0261\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003", + "\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003", + "\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003", + "\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003", + "\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0262\u0003\u0263\u0003", + "\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003", + "\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003", + "\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003", + "\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0003", + "\u0263\u0003\u0263\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003", + "\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003", + "\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003", + "\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0265\u0003\u0265\u0003", + "\u0265\u0003\u0265\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003", + "\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003", + "\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003\u0267\u0003", + "\u0267\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003\u0268\u0003", + "\u0268\u0003\u0268\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003", + "\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u0269\u0003\u026a\u0003", + "\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003\u026a\u0003", + "\u026a\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003", + "\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003", + "\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026b\u0003\u026c\u0003", + "\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003", + "\u026c\u0003\u026c\u0003\u026c\u0003\u026d\u0003\u026d\u0003\u026d\u0003", + "\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003", + "\u026d\u0003\u026d\u0003\u026d\u0003\u026e\u0003\u026e\u0003\u026e\u0003", + "\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003\u026e\u0003", + "\u026e\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003", + "\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003\u0270\u0003", + "\u0270\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003", + "\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0272\u0003", + "\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003", + "\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003", + "\u0272\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003", + "\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003", + "\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003", + "\u0274\u0003\u0274\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003", + "\u0275\u0003\u0275\u0003\u0275\u0003\u0275\u0003\u0276\u0003\u0276\u0003", + "\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003", + "\u0276\u0003\u0276\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003", + "\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003", + "\u0277\u0003\u0277\u0003\u0277\u0003\u0278\u0003\u0278\u0003\u0278\u0003", + "\u0278\u0003\u0278\u0003\u0278\u0003\u0279\u0003\u0279\u0003\u0279\u0003", + "\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0003", + "\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003", + "\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027b\u0003", + "\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003", + "\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027c\u0003\u027c\u0003", + "\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003", + "\u027c\u0003\u027c\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003", + "\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003\u027d\u0003", + "\u027d\u0003\u027d\u0003\u027d\u0003\u027e\u0003\u027e\u0003\u027e\u0003", + "\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003", + "\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027e\u0003\u027f\u0003", + "\u027f\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u027f\u0003", + "\u027f\u0003\u027f\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0280\u0003", + "\u0280\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0280\u0003\u0280\u0003", + "\u0280\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003", + "\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003", + "\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0281\u0003\u0282\u0003", + "\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003", + "\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003\u0282\u0003", + "\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003", + "\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003", + "\u0283\u0003\u0283\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003", + "\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0285\u0003", + "\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003", + "\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0286\u0003", + "\u0286\u0003\u0286\u0003\u0286\u0003\u0286\u0003\u0286\u0003\u0286\u0003", + "\u0286\u0003\u0286\u0003\u0286\u0003\u0287\u0003\u0287\u0003\u0287\u0003", + "\u0287\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0287\u0003\u0287\u0003", + "\u0287\u0003\u0287\u0003\u0288\u0003\u0288\u0003\u0288\u0003\u0288\u0003", + "\u0288\u0003\u0288\u0003\u0288\u0003\u0288\u0003\u0288\u0003\u0288\u0003", + "\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003", + "\u0289\u0003\u0289\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028b\u0003", + "\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003", + "\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003\u028b\u0003", + "\u028b\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028c\u0003\u028c\u0003", + "\u028c\u0003\u028c\u0003\u028c\u0003\u028d\u0003\u028d\u0003\u028d\u0003", + "\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003\u028e\u0003", + "\u028e\u0003\u028e\u0003\u028f\u0003\u028f\u0003\u028f\u0003\u028f\u0003", + "\u028f\u0003\u028f\u0003\u028f\u0003\u028f\u0003\u0290\u0003\u0290\u0003", + "\u0290\u0003\u0290\u0003\u0290\u0003\u0290\u0003\u0290\u0003\u0290\u0003", + "\u0290\u0003\u0290\u0003\u0290\u0003\u0290\u0003\u0291\u0003\u0291\u0003", + "\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003", + "\u0291\u0003\u0291\u0003\u0292\u0003\u0292\u0003\u0292\u0003\u0292\u0003", + "\u0292\u0003\u0292\u0003\u0292\u0003\u0292\u0003\u0292\u0003\u0293\u0003", + "\u0293\u0003\u0293\u0003\u0293\u0003\u0293\u0003\u0293\u0003\u0293\u0003", + "\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003", + "\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003", + "\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294\u0003", + "\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003", + "\u0295\u0003\u0295\u0003\u0295\u0003\u0296\u0003\u0296\u0003\u0296\u0003", + "\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003", + "\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003", + "\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0297\u0003\u0297\u0003", + "\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003", + "\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003\u0297\u0003", + "\u0297\u0003\u0297\u0003\u0297\u0003\u0298\u0003\u0298\u0003\u0298\u0003", + "\u0298\u0003\u0298\u0003\u0298\u0003\u0299\u0003\u0299\u0003\u0299\u0003", + "\u0299\u0003\u0299\u0003\u0299\u0003\u029a\u0003\u029a\u0003\u029a\u0003", + "\u029a\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029b\u0003", + "\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003", + "\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003", + "\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003\u029b\u0003", + "\u029b\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003", + "\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003", + "\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003", + "\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029d\u0003\u029d\u0003", + "\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003", + "\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003\u029d\u0003", + "\u029d\u0003\u029e\u0003\u029e\u0003\u029e\u0003\u029e\u0003\u029e\u0003", + "\u029e\u0003\u029e\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u029f\u0003", + "\u029f\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u029f\u0003", + "\u029f\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u02a0\u0003", + "\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003", + "\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a0\u0003", + "\u02a0\u0003\u02a0\u0003\u02a0\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003", + "\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003", + "\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003", + "\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a3\u0003\u02a3\u0003", + "\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003", + "\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a4\u0003", + "\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003", + "\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003", + "\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a6\u0003", + "\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003\u02a6\u0003", + "\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003\u02a7\u0003", + "\u02a7\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003", + "\u02a8\u0003\u02a8\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003", + "\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02aa\u0003\u02aa\u0003\u02aa\u0003", + "\u02aa\u0003\u02aa\u0003\u02aa\u0003\u02ab\u0003\u02ab\u0003\u02ab\u0003", + "\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ab\u0003\u02ac\u0003", + "\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003", + "\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ac\u0003\u02ad\u0003", + "\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003", + "\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003\u02ad\u0003", + "\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003", + "\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003", + "\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02ae\u0003\u02af\u0003", + "\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003", + "\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003\u02af\u0003", + "\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003", + "\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003\u02b0\u0003", + "\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003", + "\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b1\u0003\u02b2\u0003\u02b2\u0003", + "\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003\u02b2\u0003", + "\u02b2\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0003\u02b4\u0003", + "\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b4\u0003\u02b5\u0003\u02b5\u0003", + "\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b5\u0003", + "\u02b5\u0003\u02b5\u0003\u02b5\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003", + "\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003\u02b6\u0003", + "\u02b6\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003", + "\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b7\u0003\u02b8\u0003", + "\u02b8\u0003\u02b8\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003", + "\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003\u02b9\u0003", + "\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003", + "\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003", + "\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02ba\u0003\u02bb\u0003\u02bb\u0003", + "\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003\u02bb\u0003", + "\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003", + "\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003", + "\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0003\u02bd\u0003", + "\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02bd\u0003\u02be\u0003\u02be\u0003", + "\u02be\u0003\u02be\u0003\u02bf\u0003\u02bf\u0003\u02bf\u0003\u02bf\u0003", + "\u02bf\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003", + "\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0003", + "\u02c0\u0003\u02c0\u0003\u02c0\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003", + "\u02c1\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003\u02c1\u0003", + "\u02c1\u0003\u02c1\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003", + "\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003\u02c2\u0003", + "\u02c2\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003", + "\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003\u02c3\u0003", + "\u02c3\u0003\u02c3\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003", + "\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0003", + "\u02c4\u0003\u02c4\u0003\u02c5\u0003\u02c5\u0003\u02c5\u0003\u02c5\u0003", + "\u02c5\u0003\u02c5\u0003\u02c5\u0003\u02c5\u0003\u02c6\u0003\u02c6\u0003", + "\u02c6\u0003\u02c6\u0003\u02c6\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003", + "\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003", + "\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003\u02c7\u0003", + "\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003", + "\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0003", + "\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003", + "\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02c9\u0003\u02ca\u0003\u02ca\u0003", + "\u02ca\u0003\u02ca\u0003\u02ca\u0003\u02ca\u0003\u02ca\u0003\u02ca\u0003", + "\u02ca\u0003\u02ca\u0003\u02ca\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003", + "\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003", + "\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003\u02cb\u0003", + "\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003", + "\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cc\u0003\u02cd\u0003", + "\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003", + "\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003", + "\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003\u02cd\u0003", + "\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003", + "\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003", + "\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003\u02ce\u0003", + "\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003", + "\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02cf\u0003\u02d0\u0003", + "\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003", + "\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d0\u0003", + "\u02d0\u0003\u02d0\u0003\u02d0\u0003\u02d1\u0003\u02d1\u0003\u02d1\u0003", + "\u02d1\u0003\u02d1\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003", + "\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d3\u0003", + "\u02d3\u0003\u02d3\u0003\u02d3\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003", + "\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003", + "\u02d4\u0003\u02d4\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003", + "\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d6\u0003\u02d6\u0003", + "\u02d6\u0003\u02d6\u0003\u02d6\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003", + "\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0003", + "\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d9\u0003", + "\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003\u02da\u0003", + "\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0003", + "\u02da\u0003\u02da\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003", + "\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02db\u0003\u02dc\u0003", + "\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dd\u0003\u02dd\u0003", + "\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0003", + "\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02de\u0003\u02de\u0003\u02de\u0003", + "\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02df\u0003", + "\u02df\u0003\u02df\u0003\u02df\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0003", + "\u02e0\u0003\u02e0\u0003\u02e0\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003", + "\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003", + "\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003", + "\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003", + "\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e2\u0003", + "\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003", + "\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003", + "\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e2\u0003\u02e3\u0003", + "\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003", + "\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003", + "\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003", + "\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e6\u0003", + "\u02e6\u0003\u02e6\u0003\u02e6\u0003\u02e6\u0003\u02e6\u0003\u02e6\u0003", + "\u02e6\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e7\u0003", + "\u02e7\u0003\u02e7\u0003\u02e7\u0003\u02e8\u0003\u02e8\u0003\u02e8\u0003", + "\u02e8\u0003\u02e8\u0003\u02e8\u0003\u02e8\u0003\u02e8\u0003\u02e9\u0003", + "\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02e9\u0003", + "\u02e9\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003\u02ea\u0003", + "\u02ea\u0003\u02ea\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003", + "\u02eb\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003", + "\u02ec\u0003\u02ed\u0003\u02ed\u0003\u02ed\u0003\u02ed\u0003\u02ed\u0003", + "\u02ed\u0003\u02ed\u0003\u02ee\u0003\u02ee\u0003\u02ee\u0003\u02ee\u0003", + "\u02ee\u0003\u02ee\u0003\u02ee\u0003\u02ee\u0003\u02ef\u0003\u02ef\u0003", + "\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003\u02ef\u0003", + "\u02ef\u0003\u02ef\u0003\u02f0\u0003\u02f0\u0003\u02f0\u0003\u02f0\u0003", + "\u02f0\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003", + "\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f1\u0003\u02f2\u0003\u02f2\u0003", + "\u02f2\u0003\u02f2\u0003\u02f2\u0003\u02f2\u0003\u02f3\u0003\u02f3\u0003", + "\u02f3\u0003\u02f3\u0003\u02f3\u0003\u02f3\u0003\u02f4\u0003\u02f4\u0003", + "\u02f4\u0003\u02f4\u0003\u02f4\u0003\u02f4\u0003\u02f5\u0003\u02f5\u0003", + "\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003", + "\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f5\u0003\u02f6\u0003\u02f6\u0003", + "\u02f6\u0003\u02f6\u0003\u02f6\u0003\u02f7\u0003\u02f7\u0003\u02f7\u0003", + "\u02f7\u0003\u02f7\u0003\u02f7\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003", + "\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f8\u0003\u02f9\u0003\u02f9\u0003", + "\u02f9\u0003\u02f9\u0003\u02f9\u0003\u02fa\u0003\u02fa\u0003\u02fa\u0003", + "\u02fa\u0003\u02fa\u0003\u02fb\u0003\u02fb\u0003\u02fb\u0003\u02fc\u0003", + "\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fc\u0003\u02fd\u0003", + "\u02fd\u0003\u02fd\u0003\u02fd\u0003\u02fd\u0003\u02fe\u0003\u02fe\u0003", + "\u02fe\u0003\u02fe\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003\u02ff\u0003", + "\u02ff\u0003\u02ff\u0003\u02ff\u0003\u0300\u0003\u0300\u0003\u0300\u0003", + "\u0300\u0003\u0300\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003", + "\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003", + "\u0301\u0003\u0301\u0003\u0301\u0003\u0301\u0003\u0302\u0003\u0302\u0003", + "\u0302\u0003\u0302\u0003\u0302\u0003\u0302\u0003\u0303\u0003\u0303\u0003", + "\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003\u0303\u0003", + "\u0303\u0003\u0303\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003", + "\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003", + "\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0304\u0003\u0305\u0003", + "\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003\u0305\u0003", + "\u0305\u0003\u0305\u0003\u0306\u0003\u0306\u0003\u0306\u0003\u0306\u0003", + "\u0306\u0003\u0306\u0003\u0306\u0003\u0306\u0003\u0307\u0003\u0307\u0003", + "\u0307\u0003\u0307\u0003\u0307\u0003\u0307\u0003\u0307\u0003\u0308\u0003", + "\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003\u0308\u0003", + "\u0308\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003\u0309\u0003", + "\u030a\u0003\u030a\u0003\u030a\u0003\u030a\u0003\u030a\u0003\u030a\u0003", + "\u030a\u0003\u030a\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003", + "\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030b\u0003\u030c\u0003", + "\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003\u030c\u0003", + "\u030c\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003\u030d\u0003", + "\u030d\u0003\u030d\u0003\u030d\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003\u030e\u0003", + "\u030e\u0003\u030e\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003", + "\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003", + "\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003", + "\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003", + "\u030f\u0003\u030f\u0003\u030f\u0003\u030f\u0003\u0310\u0003\u0310\u0003", + "\u0310\u0003\u0310\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003", + "\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003\u0311\u0003", + "\u0312\u0003\u0312\u0003\u0312\u0003\u0312\u0003\u0312\u0003\u0312\u0003", + "\u0312\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0313\u0003\u0313\u0003", + "\u0313\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003", + "\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003", + "\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003", + "\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003\u0314\u0003", + "\u0314\u0003\u0314\u0003\u0315\u0003\u0315\u0003\u0315\u0003\u0315\u0003", + "\u0315\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003\u0316\u0003", + "\u0317\u0003\u0317\u0003\u0317\u0003\u0317\u0003\u0317\u0003\u0317\u0003", + "\u0318\u0003\u0318\u0003\u0318\u0003\u0318\u0003\u0319\u0003\u0319\u0003", + "\u0319\u0003\u0319\u0003\u0319\u0003\u031a\u0003\u031a\u0003\u031a\u0003", + "\u031a\u0003\u031a\u0003\u031a\u0003\u031b\u0003\u031b\u0003\u031b\u0003", + "\u031b\u0003\u031b\u0003\u031c\u0003\u031c\u0003\u031c\u0003\u031c\u0003", + "\u031c\u0003\u031c\u0003\u031c\u0003\u031c\u0003\u031c\u0003\u031d\u0003", + "\u031d\u0003\u031d\u0003\u031d\u0003\u031d\u0003\u031d\u0003\u031d\u0003", + "\u031d\u0003\u031e\u0003\u031e\u0003\u031e\u0003\u031e\u0003\u031e\u0003", + "\u031e\u0003\u031e\u0003\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003", + "\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003\u031f\u0003", + "\u031f\u0003\u0320\u0003\u0320\u0003\u0320\u0003\u0320\u0003\u0320\u0003", + "\u0320\u0003\u0320\u0003\u0320\u0003\u0321\u0003\u0321\u0003\u0321\u0003", + "\u0321\u0003\u0321\u0003\u0321\u0003\u0321\u0003\u0322\u0003\u0322\u0003", + "\u0322\u0003\u0322\u0003\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003", + "\u0323\u0003\u0323\u0003\u0323\u0003\u0323\u0003\u0324\u0003\u0324\u0003", + "\u0324\u0003\u0324\u0003\u0324\u0003\u0324\u0003\u0324\u0003\u0325\u0003", + "\u0325\u0003\u0325\u0003\u0325\u0003\u0325\u0003\u0325\u0003\u0325\u0003", + "\u0325\u0003\u0326\u0003\u0326\u0003\u0326\u0003\u0326\u0003\u0326\u0003", + "\u0326\u0003\u0326\u0003\u0326\u0003\u0327\u0003\u0327\u0003\u0327\u0003", + "\u0327\u0003\u0327\u0003\u0327\u0003\u0328\u0003\u0328\u0003\u0328\u0003", + "\u0328\u0003\u0328\u0003\u0328\u0003\u0328\u0003\u0328\u0003\u0328\u0003", + "\u0328\u0003\u0328\u0003\u0328\u0003\u0328\u0003\u0329\u0003\u0329\u0003", + "\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003", + "\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003\u0329\u0003", + "\u0329\u0003\u0329\u0003\u032a\u0003\u032a\u0003\u032a\u0003\u032a\u0003", + "\u032a\u0003\u032a\u0003\u032a\u0003\u032a\u0003\u032a\u0003\u032a\u0003", + "\u032a\u0003\u032a\u0003\u032a\u0003\u032b\u0003\u032b\u0003\u032b\u0003", + "\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003\u032b\u0003", + "\u032b\u0003\u032b\u0003\u032b\u0003\u032c\u0003\u032c\u0003\u032c\u0003", + "\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003\u032c\u0003", + "\u032c\u0003\u032c\u0003\u032c\u0003\u032d\u0003\u032d\u0003\u032d\u0003", + "\u032d\u0003\u032d\u0003\u032d\u0003\u032d\u0003\u032d\u0003\u032d\u0003", + "\u032d\u0003\u032d\u0003\u032d\u0003\u032d\u0003\u032e\u0003\u032e\u0003", + "\u032e\u0003\u032e\u0003\u032e\u0003\u032e\u0003\u032e\u0003\u032e\u0003", + "\u032e\u0003\u032e\u0003\u032e\u0003\u032f\u0003\u032f\u0003\u032f\u0003", + "\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003\u032f\u0003", + "\u0330\u0003\u0330\u0003\u0330\u0003\u0330\u0003\u0330\u0003\u0330\u0003", + "\u0330\u0003\u0330\u0003\u0330\u0003\u0330\u0003\u0330\u0003\u0330\u0003", + "\u0330\u0003\u0331\u0003\u0331\u0003\u0331\u0003\u0331\u0003\u0331\u0003", + "\u0331\u0003\u0331\u0003\u0331\u0003\u0331\u0003\u0331\u0003\u0331\u0003", + "\u0331\u0003\u0332\u0003\u0332\u0003\u0332\u0003\u0332\u0003\u0332\u0003", + "\u0332\u0003\u0332\u0003\u0332\u0003\u0332\u0003\u0332\u0003\u0332\u0003", + "\u0332\u0003\u0332\u0003\u0332\u0003\u0333\u0003\u0333\u0003\u0333\u0003", + "\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003", + "\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003\u0333\u0003\u0334\u0003", + "\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003", + "\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003", + "\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003\u0334\u0003", + "\u0334\u0003\u0334\u0003\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003", + "\u0335\u0003\u0335\u0003\u0335\u0003\u0335\u0003\u0336\u0003\u0336\u0003", + "\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003\u0336\u0003", + "\u0336\u0003\u0337\u0003\u0337\u0003\u0337\u0003\u0337\u0003\u0337\u0003", + "\u0337\u0003\u0337\u0003\u0337\u0003\u0337\u0003\u0338\u0003\u0338\u0003", + "\u0338\u0003\u0338\u0003\u0338\u0003\u0338\u0003\u0338\u0003\u0338\u0003", + "\u0339\u0003\u0339\u0003\u0339\u0003\u0339\u0003\u0339\u0003\u0339\u0003", + "\u0339\u0003\u0339\u0003\u0339\u0003\u033a\u0003\u033a\u0003\u033a\u0003", + "\u033a\u0003\u033a\u0003\u033a\u0003\u033a\u0003\u033b\u0003\u033b\u0003", + "\u033b\u0003\u033b\u0003\u033b\u0003\u033b\u0003\u033b\u0003\u033c\u0003", + "\u033c\u0003\u033c\u0003\u033c\u0003\u033c\u0003\u033c\u0003\u033c\u0003", + "\u033c\u0003\u033c\u0003\u033c\u0003\u033c\u0003\u033c\u0003\u033d\u0003", + "\u033d\u0003\u033d\u0003\u033d\u0003\u033d\u0003\u033d\u0003\u033d\u0003", + "\u033e\u0003\u033e\u0003\u033e\u0003\u033e\u0003\u033e\u0003\u033e\u0003", + "\u033e\u0003\u033e\u0003\u033e\u0003\u033e\u0003\u033e\u0003\u033e\u0003", + "\u033e\u0003\u033e\u0003\u033f\u0003\u033f\u0003\u033f\u0003\u033f\u0003", + "\u033f\u0003\u033f\u0003\u033f\u0003\u033f\u0003\u033f\u0003\u0340\u0003", + "\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003", + "\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003\u0340\u0003", + "\u0340\u0003\u0340\u0003\u0341\u0003\u0341\u0003\u0341\u0003\u0341\u0003", + "\u0341\u0003\u0341\u0003\u0342\u0003\u0342\u0003\u0342\u0003\u0342\u0003", + "\u0342\u0003\u0342\u0003\u0342\u0003\u0342\u0003\u0342\u0003\u0343\u0003", + "\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003\u0343\u0003", + "\u0343\u0003\u0343\u0003\u0344\u0003\u0344\u0003\u0344\u0003\u0344\u0003", + "\u0344\u0003\u0344\u0003\u0344\u0003\u0345\u0003\u0345\u0003\u0345\u0003", + "\u0345\u0003\u0345\u0003\u0345\u0003\u0345\u0003\u0345\u0003\u0346\u0003", + "\u0346\u0003\u0346\u0003\u0346\u0003\u0346\u0003\u0346\u0003\u0346\u0003", + "\u0346\u0003\u0346\u0003\u0346\u0003\u0347\u0003\u0347\u0003\u0347\u0003", + "\u0347\u0003\u0347\u0003\u0347\u0003\u0347\u0003\u0347\u0003\u0347\u0003", + "\u0347\u0003\u0347\u0003\u0348\u0003\u0348\u0003\u0348\u0003\u0348\u0003", + "\u0348\u0003\u0348\u0003\u0348\u0003\u0348\u0003\u0348\u0003\u0349\u0003", + "\u0349\u0003\u0349\u0003\u0349\u0003\u0349\u0003\u0349\u0003\u0349\u0003", + "\u0349\u0003\u034a\u0003\u034a\u0003\u034a\u0003\u034a\u0003\u034a\u0003", + "\u034a\u0003\u034a\u0003\u034b\u0003\u034b\u0003\u034b\u0003\u034b\u0003", + "\u034b\u0003\u034b\u0003\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003", + "\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003\u034c\u0003", + "\u034c\u0003\u034d\u0003\u034d\u0003\u034d\u0003\u034d\u0003\u034d\u0003", + "\u034d\u0003\u034d\u0003\u034e\u0003\u034e\u0003\u034e\u0003\u034e\u0003", + "\u034e\u0003\u034e\u0003\u034e\u0003\u034e\u0003\u034e\u0003\u034f\u0003", + "\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003", + "\u034f\u0003\u034f\u0003\u034f\u0003\u034f\u0003\u0350\u0003\u0350\u0003", + "\u0350\u0003\u0350\u0003\u0350\u0003\u0350\u0003\u0350\u0003\u0350\u0003", + "\u0350\u0003\u0350\u0003\u0351\u0003\u0351\u0003\u0351\u0003\u0351\u0003", + "\u0351\u0003\u0351\u0003\u0351\u0003\u0352\u0003\u0352\u0003\u0352\u0003", + "\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003\u0352\u0003", + "\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003", + "\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003", + "\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003", + "\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0353\u0003\u0354\u0003", + "\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003", + "\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003", + "\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003", + "\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003\u0354\u0003", + "\u0354\u0003\u0354\u0003\u0354\u0003\u0355\u0003\u0355\u0003\u0355\u0003", + "\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003", + "\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003", + "\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003\u0355\u0003", + "\u0355\u0003\u0355\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003", + "\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003", + "\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003\u0356\u0003", + "\u0356\u0003\u0356\u0003\u0356\u0003\u0357\u0003\u0357\u0003\u0357\u0003", + "\u0357\u0003\u0357\u0003\u0357\u0003\u0358\u0003\u0358\u0003\u0358\u0003", + "\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003\u0358\u0003", + "\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003", + "\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003", + "\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003\u0359\u0003", + "\u035a\u0003\u035a\u0003\u035a\u0003\u035a\u0003\u035a\u0003\u035a\u0003", + "\u035a\u0003\u035a\u0003\u035a\u0003\u035a\u0003\u035b\u0003\u035b\u0003", + "\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003", + "\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003\u035b\u0003", + "\u035b\u0003\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003", + "\u035c\u0003\u035c\u0003\u035c\u0003\u035c\u0003\u035d\u0003\u035d\u0003", + "\u035d\u0003\u035d\u0003\u035d\u0003\u035e\u0003\u035e\u0003\u035e\u0003", + "\u035e\u0003\u035e\u0003\u035e\u0003\u035e\u0003\u035e\u0003\u035e\u0003", + "\u035e\u0003\u035e\u0003\u035e\u0003\u035e\u0003\u035f\u0003\u035f\u0003", + "\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003", + "\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003", + "\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u035f\u0003\u0360\u0003", + "\u0360\u0003\u0360\u0003\u0360\u0003\u0360\u0003\u0360\u0003\u0360\u0003", + "\u0361\u0003\u0361\u0003\u0361\u0003\u0361\u0003\u0362\u0003\u0362\u0003", + "\u0362\u0003\u0362\u0003\u0362\u0003\u0362\u0003\u0362\u0003\u0363\u0003", + "\u0363\u0003\u0363\u0003\u0363\u0003\u0363\u0003\u0363\u0003\u0363\u0003", + "\u0363\u0003\u0363\u0003\u0363\u0003\u0363\u0003\u0364\u0003\u0364\u0003", + "\u0364\u0003\u0364\u0003\u0364\u0003\u0364\u0003\u0364\u0003\u0364\u0003", + "\u0365\u0003\u0365\u0003\u0365\u0003\u0365\u0003\u0365\u0003\u0365\u0003", + "\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003", + "\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003\u0366\u0003", + "\u0366\u0003\u0366\u0003\u0366\u0003\u0367\u0003\u0367\u0003\u0367\u0003", + "\u0367\u0003\u0367\u0003\u0367\u0003\u0367\u0003\u0368\u0003\u0368\u0003", + "\u0368\u0003\u0368\u0003\u0368\u0003\u0368\u0003\u0369\u0003\u0369\u0003", + "\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003\u0369\u0003", + "\u0369\u0003\u0369\u0003\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003", + "\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003\u036a\u0003\u036b\u0003", + "\u036b\u0003\u036b\u0003\u036b\u0003\u036b\u0003\u036c\u0003\u036c\u0003", + "\u036c\u0003\u036c\u0003\u036c\u0003\u036c\u0003\u036c\u0003\u036c\u0003", + "\u036c\u0003\u036c\u0003\u036c\u0003\u036c\u0003\u036c\u0003\u036c\u0003", + "\u036c\u0003\u036c\u0003\u036c\u0003\u036d\u0003\u036d\u0003\u036d\u0003", + "\u036d\u0003\u036d\u0003\u036d\u0003\u036d\u0003\u036d\u0003\u036d\u0003", + "\u036e\u0003\u036e\u0003\u036e\u0003\u036e\u0003\u036e\u0003\u036e\u0003", + "\u036e\u0003\u036e\u0003\u036e\u0003\u036f\u0003\u036f\u0003\u036f\u0003", + "\u036f\u0003\u036f\u0003\u036f\u0003\u0370\u0003\u0370\u0003\u0370\u0003", + "\u0370\u0003\u0370\u0003\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003", + "\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003\u0371\u0003", + "\u0372\u0003\u0372\u0003\u0372\u0003\u0372\u0003\u0373\u0003\u0373\u0003", + "\u0373\u0003\u0373\u0003\u0373\u0003\u0373\u0003\u0374\u0003\u0374\u0003", + "\u0374\u0003\u0374\u0003\u0374\u0003\u0374\u0003\u0374\u0003\u0374\u0003", + "\u0374\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003", + "\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003", + "\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003", + "\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003\u0375\u0003", + "\u0376\u0003\u0376\u0003\u0376\u0003\u0376\u0003\u0376\u0003\u0376\u0003", + "\u0376\u0003\u0377\u0003\u0377\u0003\u0377\u0003\u0377\u0003\u0377\u0003", + "\u0377\u0003\u0377\u0003\u0377\u0003\u0378\u0003\u0378\u0003\u0378\u0003", + "\u0378\u0003\u0378\u0003\u0378\u0003\u0378\u0003\u0378\u0003\u0378\u0003", + "\u0379\u0003\u0379\u0003\u0379\u0003\u0379\u0003\u037a\u0003\u037a\u0003", + "\u037a\u0003\u037a\u0003\u037a\u0003\u037a\u0003\u037a\u0003\u037a\u0003", + "\u037a\u0003\u037b\u0003\u037b\u0003\u037b\u0003\u037b\u0003\u037b\u0003", + "\u037b\u0003\u037c\u0003\u037c\u0003\u037c\u0003\u037c\u0003\u037c\u0003", + "\u037d\u0003\u037d\u0003\u037d\u0003\u037d\u0003\u037d\u0003\u037d\u0003", + "\u037e\u0003\u037e\u0003\u037e\u0003\u037e\u0003\u037e\u0003\u037e\u0003", + "\u037e\u0003\u037f\u0003\u037f\u0003\u037f\u0003\u037f\u0003\u0380\u0003", + "\u0380\u0003\u0380\u0003\u0380\u0003\u0380\u0003\u0380\u0003\u0380\u0003", + "\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003", + "\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003", + "\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003", + "\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003\u0381\u0003", + "\u0381\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003", + "\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003", + "\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003", + "\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0382\u0003\u0383\u0003", + "\u0383\u0003\u0383\u0003\u0383\u0003\u0383\u0003\u0383\u0003\u0383\u0003", + "\u0383\u0003\u0383\u0003\u0383\u0003\u0383\u0003\u0383\u0003\u0383\u0003", + "\u0383\u0003\u0383\u0003\u0383\u0003\u0384\u0003\u0384\u0003\u0384\u0003", + "\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003", + "\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003", + "\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003\u0384\u0003", + "\u0384\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003", + "\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003", + "\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003", + "\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003\u0385\u0003", + "\u0386\u0003\u0386\u0003\u0386\u0003\u0386\u0003\u0386\u0003\u0386\u0003", + "\u0386\u0003\u0386\u0003\u0387\u0003\u0387\u0003\u0387\u0003\u0387\u0003", + "\u0387\u0003\u0387\u0003\u0388\u0003\u0388\u0003\u0388\u0003\u0388\u0003", + "\u0389\u0003\u0389\u0003\u0389\u0003\u0389\u0003\u0389\u0003\u0389\u0003", + "\u0389\u0003\u0389\u0003\u0389\u0003\u038a\u0003\u038a\u0003\u038a\u0003", + "\u038a\u0003\u038a\u0003\u038a\u0003\u038a\u0003\u038a\u0003\u038a\u0003", + "\u038b\u0003\u038b\u0003\u038b\u0003\u038b\u0003\u038b\u0003\u038c\u0003", + "\u038c\u0003\u038c\u0003\u038c\u0003\u038c\u0003\u038c\u0003\u038d\u0003", + "\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003", + "\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003\u038d\u0003", + "\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003", + "\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003", + "\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003\u038e\u0003\u038f\u0003", + "\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003", + "\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003\u038f\u0003", + "\u038f\u0003\u038f\u0003\u0390\u0003\u0390\u0003\u0390\u0003\u0390\u0003", + "\u0390\u0003\u0390\u0003\u0390\u0003\u0390\u0003\u0390\u0003\u0390\u0003", + "\u0390\u0003\u0390\u0003\u0390\u0003\u0391\u0003\u0391\u0003\u0391\u0003", + "\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003", + "\u0391\u0003\u0391\u0003\u0391\u0003\u0391\u0003\u0392\u0003\u0392\u0003", + "\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003", + "\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003\u0392\u0003", + "\u0392\u0003\u0392\u0003\u0392\u0003\u0393\u0003\u0393\u0003\u0393\u0003", + "\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003", + "\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003", + "\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003\u0393\u0003", + "\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003", + "\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003\u0394\u0003", + "\u0394\u0003\u0394\u0003\u0394\u0003\u0395\u0003\u0395\u0003\u0395\u0003", + "\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003", + "\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003\u0395\u0003", + "\u0395\u0003\u0395\u0003\u0396\u0003\u0396\u0003\u0396\u0003\u0396\u0003", + "\u0396\u0003\u0396\u0003\u0396\u0003\u0396\u0003\u0396\u0003\u0397\u0003", + "\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003", + "\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003\u0397\u0003", + "\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003", + "\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003", + "\u0398\u0003\u0398\u0003\u0398\u0003\u0398\u0003\u0399\u0003\u0399\u0003", + "\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003", + "\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003", + "\u0399\u0003\u0399\u0003\u0399\u0003\u0399\u0003\u039a\u0003\u039a\u0003", + "\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003", + "\u039a\u0003\u039a\u0003\u039a\u0003\u039a\u0003\u039b\u0003\u039b\u0003", + "\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003", + "\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003\u039b\u0003", + "\u039b\u0003\u039b\u0003\u039b\u0003\u039c\u0003\u039c\u0003\u039c\u0003", + "\u039c\u0003\u039c\u0003\u039c\u0003\u039d\u0003\u039d\u0003\u039d\u0003", + "\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003\u039d\u0003", + "\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003", + "\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003\u039e\u0003", + "\u039e\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003", + "\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003", + "\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003", + "\u039f\u0003\u039f\u0003\u039f\u0003\u039f\u0003\u03a0\u0003\u03a0\u0003", + "\u03a0\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003\u03a0\u0003", + "\u03a0\u0003\u03a0\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003", + "\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003", + "\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003", + "\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a1\u0003\u03a2\u0003\u03a2\u0003", + "\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003", + "\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003", + "\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a2\u0003", + "\u03a2\u0003\u03a2\u0003\u03a2\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003", + "\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003\u03a3\u0003", + "\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003\u03a4\u0003", + "\u03a4\u0003\u03a4\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003", + "\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003", + "\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003\u03a5\u0003", + "\u03a5\u0003\u03a5\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003", + "\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003", + "\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a6\u0003\u03a7\u0003\u03a7\u0003", + "\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003\u03a7\u0003", + "\u03a7\u0003\u03a7\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003", + "\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003\u03a8\u0003", + "\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003", + "\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003", + "\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03a9\u0003\u03aa\u0003", + "\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003", + "\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003\u03aa\u0003", + "\u03aa\u0003\u03aa\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003", + "\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ab\u0003\u03ac\u0003", + "\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003", + "\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003\u03ac\u0003", + "\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003\u03ad\u0003", + "\u03ad\u0003\u03ad\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003", + "\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003", + "\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03ae\u0003", + "\u03ae\u0003\u03ae\u0003\u03ae\u0003\u03af\u0003\u03af\u0003\u03af\u0003", + "\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003", + "\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003", + "\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003", + "\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003\u03af\u0003", + "\u03af\u0003\u03af\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003", + "\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003", + "\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003", + "\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003", + "\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b0\u0003", + "\u03b0\u0003\u03b0\u0003\u03b0\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003", + "\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003", + "\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b1\u0003\u03b2\u0003", + "\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b2\u0003", + "\u03b2\u0003\u03b2\u0003\u03b2\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003", + "\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b3\u0003\u03b4\u0003", + "\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003", + "\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003\u03b4\u0003", + "\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003", + "\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003", + "\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b5\u0003", + "\u03b5\u0003\u03b5\u0003\u03b5\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003", + "\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003", + "\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003", + "\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b6\u0003\u03b7\u0003", + "\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003", + "\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003\u03b7\u0003", + "\u03b7\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003", + "\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003", + "\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b8\u0003\u03b9\u0003\u03b9\u0003", + "\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003", + "\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003\u03b9\u0003", + "\u03b9\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003", + "\u03ba\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003\u03ba\u0003", + "\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003", + "\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003", + "\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003", + "\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003\u03bb\u0003", + "\u03bb\u0003\u03bb\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003", + "\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003", + "\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003", + "\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bc\u0003", + "\u03bc\u0003\u03bc\u0003\u03bc\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003", + "\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003", + "\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003", + "\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003", + "\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03bd\u0003\u03be\u0003\u03be\u0003", + "\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003", + "\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003", + "\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003", + "\u03be\u0003\u03be\u0003\u03be\u0003\u03be\u0003\u03bf\u0003\u03bf\u0003", + "\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003", + "\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003", + "\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003", + "\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03bf\u0003\u03c0\u0003\u03c0\u0003", + "\u03c0\u0003\u03c0\u0003\u03c0\u0003\u03c0\u0003\u03c0\u0003\u03c1\u0003", + "\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003", + "\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003", + "\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003", + "\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003\u03c1\u0003", + "\u03c1\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003", + "\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003", + "\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c2\u0003\u03c3\u0003\u03c3\u0003", + "\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003", + "\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003\u03c3\u0003", + "\u03c4\u0003\u03c4\u0003\u03c4\u0003\u03c4\u0003\u03c4\u0003\u03c4\u0003", + "\u03c4\u0003\u03c4\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003", + "\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003", + "\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003", + "\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c5\u0003", + "\u03c5\u0003\u03c5\u0003\u03c5\u0003\u03c6\u0003\u03c6\u0003\u03c6\u0003", + "\u03c6\u0003\u03c6\u0003\u03c6\u0003\u03c6\u0003\u03c6\u0003\u03c6\u0003", + "\u03c6\u0003\u03c6\u0003\u03c6\u0003\u03c6\u0003\u03c6\u0003\u03c6\u0003", + "\u03c7\u0003\u03c7\u0003\u03c7\u0003\u03c7\u0003\u03c7\u0003\u03c7\u0003", + "\u03c7\u0003\u03c7\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003", + "\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003", + "\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003", + "\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003\u03c8\u0003", + "\u03c8\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003", + "\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003", + "\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003", + "\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003", + "\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03c9\u0003\u03ca\u0003\u03ca\u0003", + "\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003", + "\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003\u03ca\u0003", + "\u03ca\u0003\u03ca\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003", + "\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003", + "\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003\u03cb\u0003", + "\u03cb\u0003\u03cb\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003", + "\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003", + "\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003\u03cc\u0003", + "\u03cc\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003", + "\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003", + "\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003", + "\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003\u03cd\u0003", + "\u03cd\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003", + "\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003", + "\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003\u03ce\u0003", + "\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003", + "\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003", + "\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003", + "\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003\u03cf\u0003", + "\u03d0\u0003\u03d0\u0003\u03d0\u0003\u03d0\u0003\u03d0\u0003\u03d0\u0003", + "\u03d0\u0003\u03d0\u0003\u03d0\u0003\u03d0\u0003\u03d1\u0003\u03d1\u0003", + "\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003", + "\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003\u03d1\u0003", + "\u03d1\u0003\u03d1\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003", + "\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d2\u0003\u03d3\u0003\u03d3\u0003", + "\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d3\u0003", + "\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d3\u0003", + "\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d3\u0003\u03d4\u0003\u03d4\u0003", + "\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003", + "\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d4\u0003\u03d5\u0003", + "\u03d5\u0003\u03d5\u0003\u03d5\u0003\u03d5\u0003\u03d5\u0003\u03d5\u0003", + "\u03d5\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003", + "\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003", + "\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003", + "\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003", + "\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d6\u0003\u03d7\u0003", + "\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003", + "\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003", + "\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003", + "\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003", + "\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003\u03d7\u0003", + "\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003", + "\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003", + "\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d8\u0003\u03d9\u0003\u03d9\u0003", + "\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003", + "\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03d9\u0003\u03da\u0003\u03da\u0003", + "\u03da\u0003\u03da\u0003\u03da\u0003\u03da\u0003\u03da\u0003\u03da\u0003", + "\u03da\u0003\u03da\u0003\u03da\u0003\u03da\u0003\u03da\u0003\u03db\u0003", + "\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003\u03db\u0003", + "\u03db\u0003\u03db\u0003\u03dc\u0003\u03dc\u0003\u03dc\u0003\u03dc\u0003", + "\u03dc\u0003\u03dc\u0003\u03dc\u0003\u03dc\u0003\u03dc\u0003\u03dc\u0003", + "\u03dc\u0003\u03dc\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003", + "\u03dd\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003\u03dd\u0003", + "\u03dd\u0003\u03dd\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003", + "\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003", + "\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003", + "\u03de\u0003\u03de\u0003\u03de\u0003\u03de\u0003\u03df\u0003\u03df\u0003", + "\u03df\u0003\u03df\u0003\u03df\u0003\u03df\u0003\u03df\u0003\u03e0\u0003", + "\u03e0\u0003\u03e0\u0003\u03e0\u0003\u03e0\u0003\u03e0\u0003\u03e0\u0003", + "\u03e0\u0003\u03e1\u0003\u03e1\u0003\u03e1\u0003\u03e1\u0003\u03e1\u0003", + "\u03e1\u0003\u03e1\u0003\u03e1\u0003\u03e2\u0003\u03e2\u0003\u03e2\u0003", + "\u03e2\u0003\u03e2\u0003\u03e2\u0003\u03e2\u0003\u03e2\u0003\u03e2\u0003", + "\u03e2\u0003\u03e3\u0003\u03e3\u0003\u03e3\u0003\u03e3\u0003\u03e3\u0003", + "\u03e3\u0003\u03e3\u0003\u03e3\u0003\u03e3\u0003\u03e3\u0003\u03e4\u0003", + "\u03e4\u0003\u03e4\u0003\u03e4\u0003\u03e4\u0003\u03e4\u0003\u03e4\u0003", + "\u03e4\u0003\u03e4\u0003\u03e4\u0003\u03e4\u0003\u03e5\u0003\u03e5\u0003", + "\u03e5\u0003\u03e5\u0003\u03e5\u0003\u03e5\u0003\u03e5\u0003\u03e5\u0003", + "\u03e5\u0003\u03e6\u0003\u03e6\u0003\u03e6\u0003\u03e6\u0003\u03e6\u0003", + "\u03e6\u0003\u03e6\u0003\u03e6\u0003\u03e6\u0003\u03e6\u0003\u03e6\u0003", + "\u03e7\u0003\u03e7\u0003\u03e7\u0003\u03e7\u0003\u03e7\u0003\u03e7\u0003", + "\u03e7\u0003\u03e7\u0003\u03e7\u0003\u03e7\u0003\u03e7\u0003\u03e8\u0003", + "\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003", + "\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003", + "\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e8\u0003\u03e9\u0003", + "\u03e9\u0003\u03e9\u0003\u03e9\u0003\u03e9\u0003\u03e9\u0003\u03e9\u0003", + "\u03e9\u0003\u03e9\u0003\u03e9\u0003\u03e9\u0003\u03e9\u0003\u03e9\u0003", + "\u03e9\u0003\u03ea\u0003\u03ea\u0003\u03ea\u0003\u03ea\u0003\u03ea\u0003", + "\u03ea\u0003\u03ea\u0003\u03ea\u0003\u03ea\u0003\u03ea\u0003\u03ea\u0003", + "\u03ea\u0003\u03ea\u0003\u03eb\u0003\u03eb\u0003\u03eb\u0003\u03eb\u0003", + "\u03eb\u0003\u03eb\u0003\u03eb\u0003\u03eb\u0003\u03eb\u0003\u03eb\u0003", + "\u03eb\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003", + "\u03ec\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003", + "\u03ec\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003\u03ec\u0003", + "\u03ec\u0003\u03ec\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003", + "\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003", + "\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003", + "\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003", + "\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ed\u0003\u03ee\u0003\u03ee\u0003", + "\u03ee\u0003\u03ee\u0003\u03ee\u0003\u03ee\u0003\u03ee\u0003\u03ee\u0003", + "\u03ee\u0003\u03ee\u0003\u03ee\u0003\u03ee\u0003\u03ef\u0003\u03ef\u0003", + "\u03ef\u0003\u03ef\u0003\u03ef\u0003\u03ef\u0003\u03ef\u0003\u03ef\u0003", + "\u03ef\u0003\u03ef\u0003\u03ef\u0003\u03ef\u0003\u03ef\u0003\u03ef\u0003", + "\u03ef\u0003\u03f0\u0003\u03f0\u0003\u03f0\u0003\u03f0\u0003\u03f0\u0003", + "\u03f1\u0003\u03f1\u0003\u03f1\u0003\u03f1\u0003\u03f1\u0003\u03f1\u0003", + "\u03f1\u0003\u03f1\u0003\u03f1\u0003\u03f1\u0003\u03f1\u0003\u03f1\u0003", + "\u03f1\u0003\u03f1\u0003\u03f1\u0003\u03f1\u0003\u03f2\u0003\u03f2\u0003", + "\u03f2\u0003\u03f2\u0003\u03f2\u0003\u03f2\u0003\u03f2\u0003\u03f2\u0003", + "\u03f2\u0003\u03f2\u0003\u03f2\u0003\u03f2\u0003\u03f2\u0003\u03f2\u0003", + "\u03f2\u0003\u03f2\u0003\u03f3\u0003\u03f3\u0003\u03f3\u0003\u03f4\u0003", + "\u03f4\u0003\u03f4\u0003\u03f4\u0003\u03f4\u0003\u03f4\u0003\u03f4\u0003", + "\u03f4\u0003\u03f4\u0003\u03f4\u0003\u03f5\u0003\u03f5\u0003\u03f5\u0003", + "\u03f5\u0003\u03f5\u0003\u03f5\u0003\u03f5\u0003\u03f5\u0003\u03f5\u0003", + "\u03f5\u0003\u03f5\u0003\u03f5\u0003\u03f5\u0003\u03f5\u0003\u03f5\u0003", + "\u03f6\u0003\u03f6\u0003\u03f6\u0003\u03f6\u0003\u03f6\u0003\u03f6\u0003", + "\u03f6\u0003\u03f6\u0003\u03f7\u0003\u03f7\u0003\u03f7\u0003\u03f7\u0003", + "\u03f7\u0003\u03f7\u0003\u03f7\u0003\u03f7\u0003\u03f7\u0003\u03f7\u0003", + "\u03f7\u0003\u03f7\u0003\u03f7\u0003\u03f7\u0003\u03f7\u0003\u03f7\u0003", + "\u03f7\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003", + "\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003", + "\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003", + "\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f8\u0003\u03f9\u0003", + "\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003", + "\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003", + "\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003", + "\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03f9\u0003\u03fa\u0003\u03fa\u0003", + "\u03fa\u0003\u03fa\u0003\u03fa\u0003\u03fa\u0003\u03fa\u0003\u03fa\u0003", + "\u03fa\u0003\u03fa\u0003\u03fa\u0003\u03fb\u0003\u03fb\u0003\u03fb\u0003", + "\u03fb\u0003\u03fb\u0003\u03fb\u0003\u03fb\u0003\u03fb\u0003\u03fb\u0003", + "\u03fb\u0003\u03fb\u0003\u03fb\u0003\u03fb\u0003\u03fb\u0003\u03fb\u0003", + "\u03fb\u0003\u03fb\u0003\u03fb\u0003\u03fc\u0003\u03fc\u0003\u03fc\u0003", + "\u03fc\u0003\u03fc\u0003\u03fc\u0003\u03fc\u0003\u03fc\u0003\u03fc\u0003", + "\u03fc\u0003\u03fc\u0003\u03fc\u0003\u03fc\u0003\u03fc\u0003\u03fc\u0003", + "\u03fc\u0003\u03fc\u0003\u03fd\u0003\u03fd\u0003\u03fd\u0003\u03fd\u0003", + "\u03fd\u0003\u03fd\u0003\u03fd\u0003\u03fd\u0003\u03fd\u0003\u03fd\u0003", + "\u03fd\u0003\u03fd\u0003\u03fe\u0003\u03fe\u0003\u03fe\u0003\u03fe\u0003", + "\u03fe\u0003\u03fe\u0003\u03fe\u0003\u03fe\u0003\u03fe\u0003\u03fe\u0003", + "\u03fe\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003", + "\u03ff\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003", + "\u03ff\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003\u03ff\u0003", + "\u03ff\u0003\u0400\u0003\u0400\u0003\u0400\u0003\u0400\u0003\u0400\u0003", + "\u0400\u0003\u0400\u0003\u0400\u0003\u0400\u0003\u0400\u0003\u0400\u0003", + "\u0400\u0003\u0400\u0003\u0400\u0003\u0400\u0003\u0400\u0003\u0401\u0003", + "\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003", + "\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003", + "\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003", + "\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003\u0401\u0003", + "\u0401\u0003\u0401\u0003\u0402\u0003\u0402\u0003\u0402\u0003\u0402\u0003", + "\u0402\u0003\u0402\u0003\u0402\u0003\u0402\u0003\u0402\u0003\u0402\u0003", + "\u0402\u0003\u0402\u0003\u0403\u0003\u0403\u0003\u0403\u0003\u0403\u0003", + "\u0403\u0003\u0403\u0003\u0403\u0003\u0403\u0003\u0403\u0003\u0403\u0003", + "\u0403\u0003\u0403\u0003\u0403\u0003\u0403\u0003\u0403\u0003\u0403\u0003", + "\u0403\u0003\u0403\u0003\u0404\u0003\u0404\u0003\u0404\u0003\u0404\u0003", + "\u0404\u0003\u0404\u0003\u0404\u0003\u0404\u0003\u0404\u0003\u0404\u0003", + "\u0404\u0003\u0404\u0003\u0404\u0003\u0404\u0003\u0404\u0003\u0404\u0003", + "\u0404\u0003\u0404\u0003\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003", + "\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003", + "\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003", + "\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003\u0405\u0003", + "\u0405\u0003\u0406\u0003\u0406\u0003\u0406\u0003\u0406\u0003\u0406\u0003", + "\u0406\u0003\u0406\u0003\u0406\u0003\u0406\u0003\u0406\u0003\u0407\u0003", + "\u0407\u0003\u0407\u0003\u0407\u0003\u0407\u0003\u0407\u0003\u0407\u0003", + "\u0407\u0003\u0407\u0003\u0407\u0003\u0407\u0003\u0407\u0003\u0407\u0003", + "\u0407\u0003\u0407\u0003\u0407\u0003\u0408\u0003\u0408\u0003\u0408\u0003", + "\u0408\u0003\u0408\u0003\u0408\u0003\u0408\u0003\u0408\u0003\u0408\u0003", + "\u0408\u0003\u0408\u0003\u0409\u0003\u0409\u0003\u0409\u0003\u0409\u0003", + "\u0409\u0003\u0409\u0003\u0409\u0003\u0409\u0003\u0409\u0003\u0409\u0003", + "\u0409\u0003\u0409\u0003\u0409\u0003\u0409\u0003\u0409\u0003\u040a\u0003", + "\u040a\u0003\u040a\u0003\u040a\u0003\u040a\u0003\u040a\u0003\u040a\u0003", + "\u040a\u0003\u040a\u0003\u040a\u0003\u040a\u0003\u040a\u0003\u040a\u0003", + "\u040b\u0003\u040b\u0003\u040b\u0003\u040b\u0003\u040b\u0003\u040b\u0003", + "\u040b\u0003\u040b\u0003\u040b\u0003\u040b\u0003\u040b\u0003\u040b\u0003", + "\u040b\u0003\u040c\u0003\u040c\u0003\u040c\u0003\u040c\u0003\u040c\u0003", + "\u040c\u0003\u040c\u0003\u040c\u0003\u040c\u0003\u040c\u0003\u040c\u0003", + "\u040c\u0003\u040c\u0003\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003", + "\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003", + "\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003", + "\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003\u040d\u0003", + "\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003", + "\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003", + "\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003\u040e\u0003", + "\u040f\u0003\u040f\u0003\u040f\u0003\u040f\u0003\u040f\u0003\u040f\u0003", + "\u040f\u0003\u040f\u0003\u040f\u0003\u040f\u0003\u040f\u0003\u040f\u0003", + "\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003", + "\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003", + "\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003", + "\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003\u0410\u0003", + "\u0411\u0003\u0411\u0003\u0411\u0003\u0411\u0003\u0411\u0003\u0411\u0003", + "\u0411\u0003\u0411\u0003\u0411\u0003\u0411\u0003\u0411\u0003\u0411\u0003", + "\u0411\u0003\u0411\u0003\u0411\u0003\u0412\u0003\u0412\u0003\u0412\u0003", + "\u0412\u0003\u0412\u0003\u0412\u0003\u0412\u0003\u0412\u0003\u0412\u0003", + "\u0412\u0003\u0412\u0003\u0413\u0003\u0413\u0003\u0413\u0003\u0413\u0003", + "\u0413\u0003\u0413\u0003\u0413\u0003\u0414\u0003\u0414\u0003\u0414\u0003", + "\u0414\u0003\u0414\u0003\u0414\u0003\u0414\u0003\u0414\u0003\u0414\u0003", + "\u0415\u0003\u0415\u0003\u0415\u0003\u0415\u0003\u0415\u0003\u0415\u0003", + "\u0415\u0003\u0415\u0003\u0415\u0003\u0416\u0003\u0416\u0003\u0416\u0003", + "\u0416\u0003\u0416\u0003\u0416\u0003\u0416\u0003\u0416\u0003\u0416\u0003", + "\u0416\u0003\u0416\u0003\u0416\u0003\u0417\u0003\u0417\u0003\u0417\u0003", + "\u0417\u0003\u0417\u0003\u0417\u0003\u0417\u0003\u0417\u0003\u0417\u0003", + "\u0417\u0003\u0417\u0003\u0417\u0003\u0417\u0003\u0417\u0003\u0417\u0003", + "\u0417\u0003\u0418\u0003\u0418\u0003\u0418\u0003\u0418\u0003\u0418\u0003", + "\u0418\u0003\u0418\u0003\u0418\u0003\u0418\u0003\u0418\u0003\u0419\u0003", + "\u0419\u0003\u0419\u0003\u0419\u0003\u0419\u0003\u0419\u0003\u0419\u0003", + "\u0419\u0003\u0419\u0003\u0419\u0003\u0419\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003\u041a\u0003", + "\u041a\u0003\u041a\u0003\u041b\u0003\u041b\u0003\u041b\u0003\u041b\u0003", + "\u041b\u0003\u041b\u0003\u041b\u0003\u041c\u0003\u041c\u0003\u041c\u0003", + "\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003", + "\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003", + "\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003\u041c\u0003", + "\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003", + "\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003", + "\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003\u041d\u0003", + "\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0003", + "\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0003\u041e\u0003", + "\u041e\u0003\u041e\u0003\u041f\u0003\u041f\u0003\u041f\u0003\u041f\u0003", + "\u041f\u0003\u041f\u0003\u041f\u0003\u041f\u0003\u041f\u0003\u041f\u0003", + "\u0420\u0003\u0420\u0003\u0420\u0003\u0420\u0003\u0420\u0003\u0420\u0003", + "\u0420\u0003\u0420\u0003\u0420\u0003\u0420\u0003\u0420\u0003\u0420\u0003", + "\u0421\u0003\u0421\u0003\u0421\u0003\u0421\u0003\u0421\u0003\u0421\u0003", + "\u0421\u0003\u0421\u0003\u0421\u0003\u0421\u0003\u0421\u0003\u0421\u0003", + "\u0421\u0003\u0421\u0003\u0421\u0003\u0421\u0003\u0421\u0003\u0422\u0003", + "\u0422\u0003\u0422\u0003\u0422\u0003\u0422\u0003\u0422\u0003\u0422\u0003", + "\u0422\u0003\u0422\u0003\u0422\u0003\u0422\u0003\u0422\u0003\u0422\u0003", + "\u0422\u0003\u0422\u0003\u0423\u0003\u0423\u0003\u0423\u0003\u0423\u0003", + "\u0423\u0003\u0423\u0003\u0423\u0003\u0424\u0003\u0424\u0003\u0424\u0003", + "\u0424\u0003\u0424\u0003\u0424\u0003\u0424\u0003\u0424\u0003\u0424\u0003", + "\u0424\u0003\u0424\u0003\u0424\u0003\u0424\u0003\u0424\u0003\u0424\u0003", + "\u0424\u0003\u0424\u0003\u0424\u0003\u0424\u0003\u0425\u0003\u0425\u0003", + "\u0425\u0003\u0425\u0003\u0425\u0003\u0425\u0003\u0425\u0003\u0425\u0003", + "\u0425\u0003\u0425\u0003\u0425\u0003\u0425\u0003\u0426\u0003\u0426\u0003", + "\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003", + "\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003", + "\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003\u0426\u0003", + "\u0426\u0003\u0426\u0003\u0426\u0003\u0427\u0003\u0427\u0003\u0427\u0003", + "\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003", + "\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003", + "\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003\u0427\u0003", + "\u0428\u0003\u0428\u0003\u0428\u0003\u0428\u0003\u0428\u0003\u0428\u0003", + "\u0428\u0003\u0428\u0003\u0428\u0003\u0428\u0003\u0428\u0003\u0428\u0003", + "\u0428\u0003\u0428\u0003\u0428\u0003\u0429\u0003\u0429\u0003\u0429\u0003", + "\u0429\u0003\u0429\u0003\u0429\u0003\u0429\u0003\u0429\u0003\u0429\u0003", + "\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003", + "\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003", + "\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003\u042a\u0003", + "\u042a\u0003\u042a\u0003\u042b\u0003\u042b\u0003\u042b\u0003\u042b\u0003", + "\u042b\u0003\u042b\u0003\u042b\u0003\u042b\u0003\u042b\u0003\u042b\u0003", + "\u042b\u0003\u042b\u0003\u042b\u0003\u042b\u0003\u042b\u0003\u042c\u0003", + "\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003", + "\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003", + "\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003\u042c\u0003", + "\u042c\u0003\u042d\u0003\u042d\u0003\u042d\u0003\u042d\u0003\u042d\u0003", + "\u042d\u0003\u042d\u0003\u042d\u0003\u042d\u0003\u042e\u0003\u042e\u0003", + "\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003", + "\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003", + "\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003\u042e\u0003", + "\u042e\u0003\u042e\u0003\u042f\u0003\u042f\u0003\u042f\u0003\u042f\u0003", + "\u042f\u0003\u042f\u0003\u042f\u0003\u042f\u0003\u042f\u0003\u042f\u0003", + "\u042f\u0003\u042f\u0003\u042f\u0003\u042f\u0003\u0430\u0003\u0430\u0003", + "\u0430\u0003\u0430\u0003\u0430\u0003\u0430\u0003\u0430\u0003\u0430\u0003", + "\u0431\u0003\u0431\u0003\u0431\u0003\u0431\u0003\u0431\u0003\u0431\u0003", + "\u0431\u0003\u0431\u0003\u0431\u0003\u0431\u0003\u0431\u0003\u0431\u0003", + "\u0431\u0003\u0432\u0003\u0432\u0003\u0432\u0003\u0432\u0003\u0433\u0003", + "\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003", + "\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003", + "\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003", + "\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003\u0433\u0003", + "\u0433\u0003\u0434\u0003\u0434\u0003\u0434\u0003\u0434\u0003\u0434\u0003", + "\u0434\u0003\u0434\u0003\u0434\u0003\u0434\u0003\u0434\u0003\u0435\u0003", + "\u0435\u0003\u0435\u0003\u0435\u0003\u0435\u0003\u0435\u0003\u0435\u0003", + "\u0435\u0003\u0435\u0003\u0435\u0003\u0435\u0003\u0435\u0003\u0436\u0003", + "\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003", + "\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003", + "\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003", + "\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003\u0436\u0003\u0437\u0003", + "\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003", + "\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003", + "\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003", + "\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003", + "\u0437\u0003\u0437\u0003\u0437\u0003\u0437\u0003\u0438\u0003\u0438\u0003", + "\u0438\u0003\u0438\u0003\u0438\u0003\u0438\u0003\u0438\u0003\u0438\u0003", + "\u0438\u0003\u0438\u0003\u0438\u0003\u0438\u0003\u0439\u0003\u0439\u0003", + "\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003", + "\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003", + "\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003", + "\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003\u0439\u0003\u043a\u0003", + "\u043a\u0003\u043a\u0003\u043a\u0003\u043a\u0003\u043a\u0003\u043a\u0003", + "\u043a\u0003\u043a\u0003\u043a\u0003\u043a\u0003\u043a\u0003\u043a\u0003", + "\u043b\u0003\u043b\u0003\u043b\u0003\u043b\u0003\u043b\u0003\u043b\u0003", + "\u043b\u0003\u043b\u0003\u043b\u0003\u043b\u0003\u043c\u0003\u043c\u0003", + "\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003", + "\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003", + "\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003", + "\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003\u043c\u0003", + "\u043d\u0003\u043d\u0003\u043d\u0003\u043d\u0003\u043d\u0003\u043d\u0003", + "\u043d\u0003\u043d\u0003\u043d\u0003\u043d\u0003\u043d\u0003\u043e\u0003", + "\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003", + "\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003", + "\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003", + "\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003\u043e\u0003", + "\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003", + "\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003", + "\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003", + "\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003\u043f\u0003", + "\u043f\u0003\u0440\u0003\u0440\u0003\u0440\u0003\u0440\u0003\u0440\u0003", + "\u0440\u0003\u0440\u0003\u0440\u0003\u0440\u0003\u0440\u0003\u0440\u0003", + "\u0440\u0003\u0440\u0003\u0440\u0003\u0440\u0003\u0440\u0003\u0440\u0003", + "\u0440\u0003\u0440\u0003\u0440\u0003\u0441\u0003\u0441\u0003\u0441\u0003", + "\u0441\u0003\u0441\u0003\u0441\u0003\u0441\u0003\u0442\u0003\u0442\u0003", + "\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003", + "\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003", + "\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003\u0442\u0003", + "\u0442\u0003\u0442\u0003\u0442\u0003\u0443\u0003\u0443\u0003\u0443\u0003", + "\u0443\u0003\u0443\u0003\u0443\u0003\u0443\u0003\u0443\u0003\u0443\u0003", + "\u0443\u0003\u0443\u0003\u0443\u0003\u0443\u0003\u0443\u0003\u0443\u0003", + "\u0443\u0003\u0443\u0003\u0443\u0003\u0443\u0003\u0444\u0003\u0444\u0003", + "\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003", + "\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003", + "\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003", + "\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003", + "\u0444\u0003\u0444\u0003\u0444\u0003\u0444\u0003\u0445\u0003\u0445\u0003", + "\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003", + "\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003", + "\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003\u0445\u0003", + "\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003", + "\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003", + "\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003\u0446\u0003", + "\u0446\u0003\u0446\u0003\u0446\u0003\u0447\u0003\u0447\u0003\u0447\u0003", + "\u0447\u0003\u0447\u0003\u0447\u0003\u0447\u0003\u0447\u0003\u0447\u0003", + "\u0447\u0003\u0447\u0003\u0448\u0003\u0448\u0003\u0448\u0003\u0448\u0003", + "\u0448\u0003\u0448\u0003\u0448\u0003\u0448\u0003\u0448\u0003\u0448\u0003", + "\u0449\u0003\u0449\u0003\u0449\u0003\u0449\u0003\u0449\u0003\u0449\u0003", + "\u0449\u0003\u044a\u0003\u044a\u0003\u044a\u0003\u044a\u0003\u044a\u0003", + "\u044b\u0003\u044b\u0003\u044b\u0003\u044b\u0003\u044b\u0003\u044b\u0003", + "\u044c\u0003\u044c\u0003\u044c\u0003\u044c\u0003\u044c\u0003\u044c\u0003", + "\u044c\u0003\u044d\u0003\u044d\u0003\u044d\u0003\u044d\u0003\u044d\u0003", + "\u044d\u0003\u044d\u0003\u044d\u0003\u044e\u0003\u044e\u0003\u044e\u0003", + "\u044e\u0003\u044e\u0003\u044e\u0003\u044e\u0003\u044e\u0003\u044e\u0003", + "\u044e\u0003\u044e\u0003\u044e\u0003\u044e\u0003\u044e\u0003\u044e\u0003", + "\u044f\u0003\u044f\u0003\u044f\u0003\u044f\u0003\u044f\u0003\u044f\u0003", + "\u044f\u0003\u044f\u0003\u044f\u0003\u044f\u0003\u044f\u0003\u044f\u0003", + "\u044f\u0003\u044f\u0003\u044f\u0003\u044f\u0003\u0450\u0003\u0450\u0003", + "\u0450\u0003\u0450\u0003\u0450\u0003\u0450\u0003\u0450\u0003\u0450\u0003", + "\u0450\u0003\u0450\u0003\u0450\u0003\u0450\u0003\u0450\u0003\u0450\u0003", + "\u0450\u0003\u0450\u0003\u0451\u0003\u0451\u0003\u0451\u0003\u0451\u0003", + "\u0451\u0003\u0451\u0003\u0451\u0003\u0451\u0003\u0451\u0003\u0451\u0003", + "\u0452\u0003\u0452\u0003\u0452\u0003\u0452\u0003\u0452\u0003\u0453\u0003", + "\u0453\u0003\u0453\u0003\u0453\u0003\u0453\u0003\u0453\u0003\u0453\u0003", + "\u0453\u0003\u0453\u0003\u0453\u0003\u0453\u0003\u0454\u0003\u0454\u0003", + "\u0454\u0003\u0454\u0003\u0454\u0003\u0454\u0003\u0454\u0003\u0455\u0003", + "\u0455\u0003\u0455\u0003\u0455\u0003\u0455\u0003\u0455\u0003\u0455\u0003", + "\u0456\u0003\u0456\u0003\u0456\u0003\u0456\u0003\u0456\u0003\u0456\u0003", + "\u0457\u0003\u0457\u0003\u0457\u0003\u0457\u0003\u0457\u0003\u0457\u0003", + "\u0457\u0003\u0457\u0003\u0457\u0003\u0457\u0003\u0457\u0003\u0457\u0003", + "\u0458\u0003\u0458\u0003\u0458\u0003\u0458\u0003\u0458\u0003\u0458\u0003", + "\u0458\u0003\u0458\u0003\u0458\u0003\u0458\u0003\u0458\u0003\u0459\u0003", + "\u0459\u0003\u0459\u0003\u0459\u0003\u0459\u0003\u0459\u0003\u0459\u0003", + "\u0459\u0003\u045a\u0003\u045a\u0003\u045a\u0003\u045a\u0003\u045b\u0003", + "\u045b\u0003\u045b\u0003\u045b\u0003\u045b\u0003\u045b\u0003\u045b\u0003", + "\u045c\u0003\u045c\u0003\u045c\u0003\u045d\u0003\u045d\u0003\u045d\u0003", + "\u045d\u0003\u045d\u0003\u045d\u0003\u045d\u0003\u045d\u0003\u045d\u0003", + "\u045e\u0003\u045e\u0003\u045e\u0003\u045e\u0003\u045f\u0003\u045f\u0003", + "\u045f\u0003\u045f\u0003\u045f\u0003\u0460\u0003\u0460\u0003\u0460\u0003", + "\u0460\u0003\u0461\u0003\u0461\u0003\u0461\u0003\u0461\u0003\u0461\u0003", + "\u0461\u0003\u0461\u0003\u0461\u0003\u0461\u0003\u0461\u0003\u0461\u0003", + "\u0461\u0003\u0461\u0003\u0461\u0003\u0462\u0003\u0462\u0003\u0462\u0003", + "\u0462\u0003\u0463\u0003\u0463\u0003\u0463\u0003\u0463\u0003\u0463\u0003", + "\u0464\u0003\u0464\u0003\u0464\u0003\u0464\u0003\u0464\u0003\u0465\u0003", + "\u0465\u0003\u0465\u0003\u0465\u0003\u0466\u0003\u0466\u0003\u0466\u0003", + "\u0466\u0003\u0466\u0003\u0466\u0003\u0466\u0003\u0467\u0003\u0467\u0003", + "\u0467\u0003\u0467\u0003\u0467\u0003\u0467\u0003\u0467\u0003\u0467\u0003", + "\u0467\u0003\u0467\u0003\u0468\u0003\u0468\u0003\u0468\u0003\u0468\u0003", + "\u0468\u0003\u0469\u0003\u0469\u0003\u0469\u0003\u046a\u0003\u046a\u0003", + "\u046a\u0003\u046a\u0003\u046a\u0003\u046a\u0003\u046a\u0003\u046b\u0003", + "\u046b\u0003\u046b\u0003\u046b\u0003\u046b\u0003\u046b\u0003\u046b\u0003", + "\u046b\u0003\u046b\u0003\u046b\u0003\u046b\u0003\u046b\u0003\u046b\u0003", + "\u046b\u0003\u046b\u0003\u046b\u0003\u046b\u0003\u046c\u0003\u046c\u0003", + "\u046c\u0003\u046c\u0003\u046c\u0003\u046c\u0003\u046c\u0003\u046c\u0003", + "\u046c\u0003\u046c\u0003\u046c\u0003\u046c\u0003\u046c\u0003\u046c\u0003", + "\u046c\u0003\u046c\u0003\u046c\u0003\u046c\u0003\u046d\u0003\u046d\u0003", + "\u046d\u0003\u046d\u0003\u046d\u0003\u046d\u0003\u046d\u0003\u046e\u0003", + "\u046e\u0003\u046e\u0003\u046e\u0003\u046e\u0003\u046f\u0003\u046f\u0003", + "\u046f\u0003\u046f\u0003\u046f\u0003\u046f\u0003\u046f\u0003\u046f\u0003", + "\u046f\u0003\u046f\u0003\u046f\u0003\u0470\u0003\u0470\u0003\u0470\u0003", + "\u0470\u0003\u0470\u0003\u0470\u0003\u0470\u0003\u0470\u0003\u0470\u0003", + "\u0471\u0003\u0471\u0003\u0471\u0003\u0471\u0003\u0471\u0003\u0471\u0003", + "\u0471\u0003\u0471\u0003\u0471\u0003\u0471\u0003\u0471\u0003\u0471\u0003", + "\u0471\u0003\u0472\u0003\u0472\u0003\u0472\u0003\u0472\u0003\u0472\u0003", + "\u0472\u0003\u0472\u0003\u0472\u0003\u0473\u0003\u0473\u0003\u0473\u0003", + "\u0473\u0003\u0473\u0003\u0473\u0003\u0473\u0003\u0473\u0003\u0473\u0003", + "\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003", + "\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003", + "\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003", + "\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003\u0474\u0003", + "\u0474\u0003\u0474\u0003\u0475\u0003\u0475\u0003\u0475\u0003\u0475\u0003", + "\u0475\u0003\u0475\u0003\u0475\u0003\u0475\u0003\u0475\u0003\u0475\u0003", + "\u0475\u0003\u0475\u0003\u0475\u0003\u0475\u0003\u0475\u0003\u0476\u0003", + "\u0476\u0003\u0476\u0003\u0476\u0003\u0476\u0003\u0476\u0003\u0476\u0003", + "\u0477\u0003\u0477\u0003\u0477\u0003\u0477\u0003\u0477\u0003\u0477\u0003", + "\u0477\u0003\u0477\u0003\u0477\u0003\u0477\u0003\u0478\u0003\u0478\u0003", + "\u0478\u0003\u0478\u0003\u0478\u0003\u0478\u0003\u0478\u0003\u0478\u0003", + "\u0478\u0003\u0478\u0003\u0478\u0003\u0479\u0003\u0479\u0003\u0479\u0003", + "\u0479\u0003\u0479\u0003\u0479\u0003\u0479\u0003\u0479\u0003\u0479\u0003", + "\u0479\u0003\u0479\u0003\u0479\u0003\u0479\u0003\u0479\u0003\u047a\u0003", + "\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003", + "\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003", + "\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003\u047a\u0003", + "\u047a\u0003\u047b\u0003\u047b\u0003\u047b\u0003\u047b\u0003\u047b\u0003", + "\u047b\u0003\u047b\u0003\u047b\u0003\u047b\u0003\u047b\u0003\u047b\u0003", + "\u047b\u0003\u047b\u0003\u047b\u0003\u047b\u0003\u047c\u0003\u047c\u0003", + "\u047c\u0003\u047c\u0003\u047c\u0003\u047c\u0003\u047c\u0003\u047c\u0003", + "\u047d\u0003\u047d\u0003\u047d\u0003\u047d\u0003\u047d\u0003\u047d\u0003", + "\u047d\u0003\u047d\u0003\u047d\u0003\u047e\u0003\u047e\u0003\u047e\u0003", + "\u047e\u0003\u047e\u0003\u047e\u0003\u047e\u0003\u047e\u0003\u047e\u0003", + "\u047e\u0003\u047e\u0003\u047e\u0003\u047e\u0003\u047e\u0003\u047e\u0003", + "\u047e\u0003\u047e\u0003\u047f\u0003\u047f\u0003\u047f\u0003\u047f\u0003", + "\u047f\u0003\u047f\u0003\u047f\u0003\u047f\u0003\u047f\u0003\u047f\u0003", + "\u047f\u0003\u047f\u0003\u047f\u0003\u047f\u0003\u047f\u0003\u047f\u0003", + "\u0480\u0003\u0480\u0003\u0480\u0003\u0480\u0003\u0480\u0003\u0480\u0003", + "\u0480\u0003\u0480\u0003\u0480\u0003\u0480\u0003\u0480\u0003\u0480\u0003", + "\u0480\u0003\u0480\u0003\u0481\u0003\u0481\u0003\u0481\u0003\u0481\u0003", + "\u0481\u0003\u0481\u0003\u0481\u0003\u0481\u0003\u0481\u0003\u0481\u0003", + "\u0481\u0003\u0481\u0003\u0481\u0003\u0481\u0003\u0481\u0003\u0482\u0003", + "\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003", + "\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003", + "\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003\u0482\u0003", + "\u0483\u0003\u0483\u0003\u0483\u0003\u0483\u0003\u0483\u0003\u0483\u0003", + "\u0483\u0003\u0483\u0003\u0483\u0003\u0484\u0003\u0484\u0003\u0484\u0003", + "\u0484\u0003\u0484\u0003\u0484\u0003\u0484\u0003\u0484\u0003\u0484\u0003", + "\u0484\u0003\u0484\u0003\u0484\u0003\u0484\u0003\u0484\u0003\u0484\u0003", + "\u0484\u0003\u0484\u0003\u0484\u0003\u0484\u0003\u0484\u0003\u0485\u0003", + "\u0485\u0003\u0485\u0003\u0485\u0003\u0485\u0003\u0485\u0003\u0485\u0003", + "\u0485\u0003\u0485\u0003\u0485\u0003\u0485\u0003\u0485\u0003\u0485\u0003", + "\u0485\u0003\u0485\u0003\u0485\u0003\u0485\u0003\u0485\u0003\u0486\u0003", + "\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003", + "\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003", + "\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003", + "\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003\u0486\u0003", + "\u0486\u0003\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003", + "\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003", + "\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003", + "\u0487\u0003\u0487\u0003\u0487\u0003\u0487\u0003\u0488\u0003\u0488\u0003", + "\u0488\u0003\u0488\u0003\u0488\u0003\u0488\u0003\u0488\u0003\u0488\u0003", + "\u0488\u0003\u0488\u0003\u0488\u0003\u0488\u0003\u0488\u0003\u0488\u0003", + "\u0488\u0003\u0489\u0003\u0489\u0003\u0489\u0003\u0489\u0003\u0489\u0003", + "\u0489\u0003\u0489\u0003\u0489\u0003\u0489\u0003\u0489\u0003\u0489\u0003", + "\u0489\u0003\u0489\u0003\u0489\u0003\u048a\u0003\u048a\u0003\u048a\u0003", + "\u048a\u0003\u048a\u0003\u048a\u0003\u048a\u0003\u048a\u0003\u048a\u0003", + "\u048a\u0003\u048a\u0003\u048b\u0003\u048b\u0003\u048b\u0003\u048b\u0003", + "\u048b\u0003\u048b\u0003\u048b\u0003\u048b\u0003\u048b\u0003\u048b\u0003", + "\u048b\u0003\u048b\u0003\u048b\u0003\u048b\u0003\u048b\u0003\u048c\u0003", + "\u048c\u0003\u048c\u0003\u048c\u0003\u048c\u0003\u048c\u0003\u048c\u0003", + "\u048c\u0003\u048c\u0003\u048c\u0003\u048c\u0003\u048c\u0003\u048c\u0003", + "\u048c\u0003\u048c\u0003\u048d\u0003\u048d\u0003\u048d\u0003\u048d\u0003", + "\u048d\u0003\u048d\u0003\u048d\u0003\u048d\u0003\u048d\u0003\u048d\u0003", + "\u048d\u0003\u048d\u0003\u048d\u0003\u048d\u0003\u048d\u0003\u048e\u0003", + "\u048e\u0003\u048e\u0003\u048e\u0003\u048e\u0003\u048e\u0003\u048e\u0003", + "\u048e\u0003\u048e\u0003\u048e\u0003\u048e\u0003\u048e\u0003\u048e\u0003", + "\u048e\u0003\u048e\u0003\u048f\u0003\u048f\u0003\u048f\u0003\u048f\u0003", + "\u048f\u0003\u048f\u0003\u048f\u0003\u048f\u0003\u0490\u0003\u0490\u0003", + "\u0490\u0003\u0490\u0003\u0490\u0003\u0490\u0003\u0490\u0003\u0490\u0003", + "\u0490\u0003\u0490\u0003\u0490\u0003\u0490\u0003\u0490\u0003\u0490\u0003", + "\u0490\u0003\u0490\u0003\u0490\u0003\u0490\u0003\u0490\u0003\u0491\u0003", + "\u0491\u0003\u0491\u0003\u0491\u0003\u0491\u0003\u0491\u0003\u0492\u0003", + "\u0492\u0003\u0492\u0003\u0492\u0003\u0492\u0003\u0492\u0003\u0492\u0003", + "\u0492\u0003\u0492\u0003\u0492\u0003\u0492\u0003\u0493\u0003\u0493\u0003", + "\u0493\u0003\u0493\u0003\u0493\u0003\u0493\u0003\u0493\u0003\u0493\u0003", + "\u0493\u0003\u0493\u0003\u0494\u0003\u0494\u0003\u0494\u0003\u0494\u0003", + "\u0494\u0003\u0494\u0003\u0494\u0003\u0494\u0003\u0494\u0003\u0494\u0003", + "\u0494\u0003\u0494\u0003\u0494\u0003\u0495\u0003\u0495\u0003\u0495\u0003", + "\u0496\u0003\u0496\u0003\u0496\u0003\u0496\u0003\u0496\u0003\u0496\u0003", + "\u0496\u0003\u0496\u0003\u0496\u0003\u0496\u0003\u0496\u0003\u0496\u0003", + "\u0496\u0003\u0496\u0003\u0497\u0003\u0497\u0003\u0497\u0003\u0497\u0003", + "\u0497\u0003\u0497\u0003\u0497\u0003\u0497\u0003\u0498\u0003\u0498\u0003", + "\u0498\u0003\u0498\u0003\u0498\u0003\u0498\u0003\u0499\u0003\u0499\u0003", + "\u0499\u0003\u0499\u0003\u0499\u0003\u0499\u0003\u0499\u0003\u0499\u0003", + "\u0499\u0003\u0499\u0003\u0499\u0003\u0499\u0003\u0499\u0003\u0499\u0003", + "\u0499\u0003\u0499\u0003\u0499\u0003\u0499\u0003\u0499\u0003\u049a\u0003", + "\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003", + "\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003", + "\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003\u049a\u0003", + "\u049a\u0003\u049b\u0003\u049b\u0003\u049b\u0003\u049b\u0003\u049b\u0003", + "\u049b\u0003\u049c\u0003\u049c\u0003\u049c\u0003\u049c\u0003\u049c\u0003", + "\u049c\u0003\u049c\u0003\u049c\u0003\u049c\u0003\u049c\u0003\u049c\u0003", + "\u049c\u0003\u049c\u0003\u049d\u0003\u049d\u0003\u049d\u0003\u049d\u0003", + "\u049d\u0003\u049d\u0003\u049d\u0003\u049d\u0003\u049e\u0003\u049e\u0003", + "\u049e\u0003\u049e\u0003\u049e\u0003\u049e\u0003\u049e\u0003\u049e\u0003", + "\u049e\u0003\u049e\u0003\u049e\u0003\u049e\u0003\u049f\u0003\u049f\u0003", + "\u049f\u0003\u049f\u0003\u04a0\u0003\u04a0\u0003\u04a0\u0003\u04a0\u0003", + "\u04a0\u0003\u04a0\u0003\u04a0\u0003\u04a0\u0003\u04a0\u0003\u04a0\u0003", + "\u04a0\u0003\u04a0\u0003\u04a0\u0003\u04a0\u0003\u04a0\u0003\u04a0\u0003", + "\u04a1\u0003\u04a1\u0003\u04a1\u0003\u04a1\u0003\u04a1\u0003\u04a1\u0003", + "\u04a1\u0003\u04a1\u0003\u04a1\u0003\u04a2\u0003\u04a2\u0003\u04a2\u0003", + "\u04a2\u0003\u04a2\u0003\u04a2\u0003\u04a2\u0003\u04a2\u0003\u04a2\u0003", + "\u04a3\u0003\u04a3\u0003\u04a3\u0003\u04a3\u0003\u04a3\u0003\u04a4\u0003", + "\u04a4\u0003\u04a4\u0003\u04a4\u0003\u04a4\u0003\u04a4\u0003\u04a4\u0003", + "\u04a4\u0003\u04a4\u0003\u04a4\u0003\u04a4\u0003\u04a5\u0003\u04a5\u0003", + "\u04a5\u0003\u04a5\u0003\u04a5\u0003\u04a5\u0003\u04a6\u0003\u04a6\u0003", + "\u04a6\u0003\u04a6\u0003\u04a6\u0003\u04a6\u0003\u04a6\u0003\u04a6\u0003", + "\u04a6\u0003\u04a6\u0003\u04a7\u0003\u04a7\u0003\u04a7\u0003\u04a7\u0003", + "\u04a8\u0003\u04a8\u0003\u04a8\u0003\u04a8\u0003\u04a8\u0003\u04a8\u0003", + "\u04a8\u0003\u04a8\u0003\u04a9\u0003\u04a9\u0003\u04a9\u0003\u04a9\u0003", + "\u04a9\u0003\u04a9\u0003\u04a9\u0003\u04a9\u0003\u04a9\u0003\u04aa\u0003", + "\u04aa\u0003\u04aa\u0003\u04aa\u0003\u04aa\u0003\u04aa\u0003\u04aa\u0003", + "\u04aa\u0003\u04aa\u0003\u04aa\u0003\u04aa\u0003\u04aa\u0003\u04aa\u0003", + "\u04aa\u0003\u04aa\u0003\u04aa\u0003\u04ab\u0003\u04ab\u0003\u04ab\u0003", + "\u04ab\u0003\u04ab\u0003\u04ab\u0003\u04ab\u0003\u04ab\u0003\u04ab\u0003", + "\u04ab\u0003\u04ab\u0003\u04ab\u0003\u04ab\u0003\u04ab\u0003\u04ab\u0003", + "\u04ac\u0003\u04ac\u0003\u04ac\u0003\u04ac\u0003\u04ac\u0003\u04ac\u0003", + "\u04ac\u0003\u04ac\u0003\u04ac\u0003\u04ad\u0003\u04ad\u0003\u04ad\u0003", + "\u04ad\u0003\u04ad\u0003\u04ad\u0003\u04ad\u0003\u04ad\u0003\u04ad\u0003", + "\u04ad\u0003\u04ad\u0003\u04ad\u0003\u04ad\u0003\u04ad\u0003\u04ae\u0003", + "\u04ae\u0003\u04ae\u0003\u04ae\u0003\u04ae\u0003\u04ae\u0003\u04ae\u0003", + "\u04ae\u0003\u04ae\u0003\u04ae\u0003\u04ae\u0003\u04af\u0003\u04af\u0003", + "\u04af\u0003\u04af\u0003\u04af\u0003\u04af\u0003\u04b0\u0003\u04b0\u0003", + "\u04b0\u0003\u04b0\u0003\u04b0\u0003\u04b0\u0003\u04b0\u0003\u04b1\u0003", + "\u04b1\u0003\u04b1\u0003\u04b1\u0003\u04b1\u0003\u04b1\u0003\u04b1\u0003", + "\u04b2\u0003\u04b2\u0003\u04b2\u0003\u04b2\u0003\u04b2\u0003\u04b2\u0003", + "\u04b2\u0003\u04b2\u0003\u04b2\u0003\u04b2\u0003\u04b2\u0003\u04b2\u0003", + "\u04b2\u0003\u04b3\u0003\u04b3\u0003\u04b3\u0003\u04b3\u0003\u04b3\u0003", + "\u04b3\u0003\u04b3\u0003\u04b3\u0003\u04b3\u0003\u04b3\u0003\u04b4\u0003", + "\u04b4\u0003\u04b4\u0003\u04b4\u0003\u04b4\u0003\u04b4\u0003\u04b4\u0003", + "\u04b4\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003", + "\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003", + "\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003", + "\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003\u04b5\u0003", + "\u04b5\u0003\u04b6\u0003\u04b6\u0003\u04b6\u0003\u04b6\u0003\u04b6\u0003", + "\u04b6\u0003\u04b6\u0003\u04b6\u0003\u04b6\u0003\u04b6\u0003\u04b6\u0003", + "\u04b6\u0003\u04b6\u0003\u04b6\u0003\u04b6\u0003\u04b7\u0003\u04b7\u0003", + "\u04b7\u0003\u04b7\u0003\u04b7\u0003\u04b7\u0003\u04b7\u0003\u04b7\u0003", + "\u04b7\u0003\u04b7\u0003\u04b7\u0003\u04b7\u0003\u04b7\u0003\u04b7\u0003", + "\u04b7\u0003\u04b8\u0003\u04b8\u0003\u04b8\u0003\u04b8\u0003\u04b8\u0003", + "\u04b8\u0003\u04b8\u0003\u04b8\u0003\u04b8\u0003\u04b8\u0003\u04b9\u0003", + "\u04b9\u0003\u04b9\u0003\u04b9\u0003\u04b9\u0003\u04b9\u0003\u04b9\u0003", + "\u04b9\u0003\u04b9\u0003\u04b9\u0003\u04b9\u0003\u04b9\u0003\u04b9\u0003", + "\u04b9\u0003\u04b9\u0003\u04b9\u0003\u04ba\u0003\u04ba\u0003\u04ba\u0003", + "\u04ba\u0003\u04ba\u0003\u04ba\u0003\u04ba\u0003\u04ba\u0003\u04ba\u0003", + "\u04ba\u0003\u04ba\u0003\u04bb\u0003\u04bb\u0003\u04bb\u0003\u04bb\u0003", + "\u04bb\u0003\u04bb\u0003\u04bb\u0003\u04bb\u0003\u04bb\u0003\u04bb\u0003", + "\u04bb\u0003\u04bb\u0003\u04bb\u0003\u04bb\u0003\u04bc\u0003\u04bc\u0003", + "\u04bc\u0003\u04bc\u0003\u04bc\u0003\u04bc\u0003\u04bc\u0003\u04bc\u0003", + "\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003", + "\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003", + "\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003\u04bd\u0003", + "\u04bd\u0003\u04bd\u0003\u04be\u0003\u04be\u0003\u04be\u0003\u04be\u0003", + "\u04be\u0003\u04be\u0003\u04be\u0003\u04be\u0003\u04be\u0003\u04be\u0003", + "\u04be\u0003\u04be\u0003\u04be\u0003\u04be\u0003\u04be\u0003\u04be\u0003", + "\u04be\u0003\u04be\u0003\u04be\u0003\u04bf\u0003\u04bf\u0003\u04bf\u0003", + "\u04bf\u0003\u04bf\u0003\u04bf\u0003\u04bf\u0003\u04bf\u0003\u04bf\u0003", + "\u04bf\u0003\u04bf\u0003\u04bf\u0003\u04bf\u0003\u04bf\u0003\u04bf\u0003", + "\u04bf\u0003\u04bf\u0003\u04bf\u0003\u04bf\u0003\u04c0\u0003\u04c0\u0003", + "\u04c0\u0003\u04c0\u0003\u04c0\u0003\u04c0\u0003\u04c0\u0003\u04c0\u0003", + "\u04c0\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003", + "\u04c1\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003", + "\u04c1\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003\u04c1\u0003", + "\u04c1\u0003\u04c1\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003", + "\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003", + "\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003", + "\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c2\u0003\u04c3\u0003\u04c3\u0003", + "\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003", + "\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003", + "\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003", + "\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c3\u0003\u04c4\u0003", + "\u04c4\u0003\u04c4\u0003\u04c4\u0003\u04c4\u0003\u04c5\u0003\u04c5\u0003", + "\u04c5\u0003\u04c5\u0003\u04c5\u0003\u04c5\u0003\u04c6\u0003\u04c6\u0003", + "\u04c6\u0003\u04c6\u0003\u04c6\u0003\u04c7\u0003\u04c7\u0003\u04c7\u0003", + "\u04c7\u0003\u04c7\u0003\u04c7\u0003\u04c7\u0003\u04c7\u0003\u04c7\u0003", + "\u04c7\u0003\u04c7\u0003\u04c7\u0003\u04c8\u0003\u04c8\u0003\u04c8\u0003", + "\u04c8\u0003\u04c8\u0003\u04c8\u0003\u04c9\u0003\u04c9\u0003\u04c9\u0003", + "\u04c9\u0003\u04c9\u0003\u04c9\u0003\u04c9\u0003\u04c9\u0003\u04ca\u0003", + "\u04ca\u0003\u04ca\u0003\u04ca\u0003\u04ca\u0003\u04ca\u0003\u04ca\u0003", + "\u04ca\u0003\u04ca\u0003\u04ca\u0003\u04ca\u0003\u04ca\u0003\u04ca\u0003", + "\u04cb\u0003\u04cb\u0003\u04cb\u0003\u04cb\u0003\u04cb\u0003\u04cb\u0003", + "\u04cb\u0003\u04cb\u0003\u04cb\u0003\u04cb\u0003\u04cb\u0003\u04cc\u0003", + "\u04cc\u0003\u04cc\u0003\u04cc\u0003\u04cc\u0003\u04cc\u0003\u04cc\u0003", + "\u04cc\u0003\u04cd\u0003\u04cd\u0003\u04cd\u0003\u04cd\u0003\u04cd\u0003", + "\u04cd\u0003\u04cd\u0003\u04cd\u0003\u04cd\u0003\u04cd\u0003\u04cd\u0003", + "\u04cd\u0003\u04ce\u0003\u04ce\u0003\u04ce\u0003\u04ce\u0003\u04ce\u0003", + "\u04ce\u0003\u04ce\u0003\u04ce\u0003\u04ce\u0003\u04ce\u0003\u04ce\u0003", + "\u04ce\u0003\u04ce\u0003\u04cf\u0003\u04cf\u0003\u04cf\u0003\u04cf\u0003", + "\u04cf\u0003\u04cf\u0003\u04cf\u0003\u04cf\u0003\u04d0\u0003\u04d0\u0003", + "\u04d0\u0003\u04d0\u0003\u04d0\u0003\u04d0\u0003\u04d0\u0003\u04d0\u0003", + "\u04d0\u0003\u04d0\u0003\u04d0\u0003\u04d1\u0003\u04d1\u0003\u04d1\u0003", + "\u04d1\u0003\u04d1\u0003\u04d1\u0003\u04d1\u0003\u04d1\u0003\u04d2\u0003", + "\u04d2\u0007\u04d2\u467f\n\u04d2\f\u04d2\u000e\u04d2\u4682\u000b\u04d2", + "\u0003\u04d2\u0003\u04d2\u0003\u04d2\u0003\u04d2\u0003\u04d2\u0003\u04d2", + "\u0003\u04d3\u0003\u04d3\u0007\u04d3\u468c\n\u04d3\f\u04d3\u000e\u04d3", + "\u468f\u000b\u04d3\u0003\u04d3\u0003\u04d3\u0003\u04d3\u0003\u04d3\u0003", + "\u04d3\u0003\u04d3\u0003\u04d3\u0003\u04d4\u0003\u04d4\u0007\u04d4\u469a", + "\n\u04d4\f\u04d4\u000e\u04d4\u469d\u000b\u04d4\u0003\u04d4\u0003\u04d4", + "\u0003\u04d4\u0003\u04d4\u0003\u04d4\u0003\u04d4\u0003\u04d4\u0003\u04d4", + "\u0003\u04d4\u0003\u04d5\u0003\u04d5\u0003\u04d5\u0003\u04d5\u0003\u04d5", + "\u0003\u04d5\u0003\u04d5\u0003\u04d5\u0003\u04d6\u0003\u04d6\u0003\u04d6", + "\u0003\u04d6\u0003\u04d6\u0003\u04d6\u0003\u04d6\u0003\u04d6\u0003\u04d6", + "\u0003\u04d6\u0003\u04d6\u0003\u04d6\u0003\u04d6\u0003\u04d6\u0003\u04d7", + "\u0003\u04d7\u0007\u04d7\u46c0\n\u04d7\f\u04d7\u000e\u04d7\u46c3\u000b", + "\u04d7\u0003\u04d7\u0003\u04d7\u0003\u04d7\u0003\u04d7\u0003\u04d7\u0003", + "\u04d7\u0003\u04d7\u0003\u04d7\u0003\u04d7\u0003\u04d8\u0003\u04d8\u0007", + "\u04d8\u46d0\n\u04d8\f\u04d8\u000e\u04d8\u46d3\u000b\u04d8\u0003\u04d8", + "\u0003\u04d8\u0003\u04d8\u0003\u04d8\u0003\u04d8\u0003\u04d8\u0003\u04d8", + "\u0003\u04d8\u0003\u04d9\u0003\u04d9\u0007\u04d9\u46df\n\u04d9\f\u04d9", + "\u000e\u04d9\u46e2\u000b\u04d9\u0003\u04d9\u0003\u04d9\u0003\u04d9\u0003", + "\u04d9\u0003\u04d9\u0003\u04da\u0003\u04da\u0003\u04da\u0003\u04da\u0003", + "\u04da\u0003\u04da\u0003\u04da\u0003\u04da\u0003\u04da\u0003\u04da\u0003", + "\u04da\u0003\u04da\u0003\u04db\u0003\u04db\u0003\u04db\u0003\u04db\u0003", + "\u04db\u0003\u04db\u0003\u04db\u0003\u04dc\u0003\u04dc\u0003\u04dc\u0003", + "\u04dc\u0003\u04dc\u0003\u04dc\u0003\u04dc\u0003\u04dc\u0003\u04dc\u0003", + "\u04dc\u0003\u04dd\u0003\u04dd\u0003\u04dd\u0003\u04dd\u0003\u04dd\u0003", + "\u04dd\u0003\u04dd\u0003\u04dd\u0003\u04dd\u0003\u04dd\u0003\u04dd\u0003", + "\u04de\u0003\u04de\u0003\u04de\u0003\u04de\u0003\u04de\u0003\u04de\u0003", + "\u04de\u0003\u04de\u0003\u04df\u0003\u04df\u0003\u04df\u0003\u04df\u0003", + "\u04e0\u0003\u04e0\u0003\u04e0\u0003\u04e0\u0003\u04e0\u0003\u04e0\u0003", + "\u04e1\u0003\u04e1\u0003\u04e1\u0003\u04e1\u0003\u04e1\u0003\u04e1\u0003", + "\u04e1\u0003\u04e1\u0003\u04e1\u0003\u04e2\u0003\u04e2\u0003\u04e2\u0003", + "\u04e2\u0003\u04e2\u0003\u04e2\u0003\u04e3\u0003\u04e3\u0003\u04e3\u0003", + "\u04e3\u0003\u04e3\u0003\u04e3\u0003\u04e3\u0003\u04e3\u0003\u04e3\u0003", + "\u04e3\u0003\u04e4\u0003\u04e4\u0003\u04e4\u0003\u04e4\u0003\u04e4\u0003", + "\u04e5\u0003\u04e5\u0003\u04e5\u0003\u04e5\u0003\u04e5\u0003\u04e5\u0003", + "\u04e5\u0003\u04e6\u0003\u04e6\u0003\u04e6\u0003\u04e6\u0003\u04e6\u0003", + "\u04e6\u0003\u04e7\u0003\u04e7\u0003\u04e7\u0003\u04e7\u0003\u04e7\u0003", + "\u04e7\u0003\u04e7\u0003\u04e7\u0003\u04e8\u0003\u04e8\u0003\u04e8\u0003", + "\u04e8\u0003\u04e8\u0003\u04e8\u0003\u04e8\u0003\u04e8\u0003\u04e8\u0003", + "\u04e8\u0003\u04e8\u0003\u04e8\u0003\u04e8\u0003\u04e8\u0003\u04e8\u0003", + "\u04e9\u0003\u04e9\u0003\u04e9\u0003\u04e9\u0003\u04e9\u0003\u04e9\u0003", + "\u04e9\u0003\u04e9\u0003\u04e9\u0003\u04e9\u0003\u04e9\u0003\u04e9\u0003", + "\u04e9\u0003\u04e9\u0003\u04e9\u0003\u04ea\u0003\u04ea\u0003\u04ea\u0003", + "\u04ea\u0003\u04ea\u0003\u04eb\u0003\u04eb\u0003\u04eb\u0003\u04eb\u0003", + "\u04eb\u0003\u04eb\u0003\u04eb\u0003\u04eb\u0003\u04eb\u0003\u04eb\u0003", + "\u04eb\u0003\u04eb\u0003\u04eb\u0003\u04eb\u0003\u04eb\u0003\u04eb\u0003", + "\u04eb\u0003\u04ec\u0003\u04ec\u0003\u04ec\u0003\u04ec\u0003\u04ec\u0003", + "\u04ec\u0003\u04ec\u0003\u04ec\u0003\u04ec\u0003\u04ec\u0003\u04ec\u0003", + "\u04ec\u0003\u04ed\u0003\u04ed\u0003\u04ed\u0003\u04ed\u0003\u04ed\u0003", + "\u04ed\u0003\u04ed\u0003\u04ed\u0003\u04ed\u0003\u04ed\u0003\u04ed\u0003", + "\u04ed\u0003\u04ed\u0003\u04ed\u0003\u04ee\u0003\u04ee\u0003\u04ee\u0003", + "\u04ee\u0003\u04ee\u0003\u04ee\u0003\u04ee\u0003\u04ee\u0003\u04ee\u0003", + "\u04ee\u0003\u04ee\u0003\u04ee\u0003\u04ee\u0003\u04ee\u0003\u04ee\u0003", + "\u04ee\u0003\u04ef\u0003\u04ef\u0003\u04ef\u0003\u04ef\u0003\u04ef\u0003", + "\u04ef\u0003\u04ef\u0003\u04ef\u0003\u04ef\u0003\u04ef\u0003\u04ef\u0003", + "\u04ef\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003", + "\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003", + "\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003", + "\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f0\u0003\u04f1\u0003\u04f1\u0003", + "\u04f1\u0003\u04f1\u0003\u04f1\u0003\u04f1\u0003\u04f1\u0003\u04f1\u0003", + "\u04f1\u0003\u04f1\u0003\u04f1\u0003\u04f1\u0003\u04f1\u0003\u04f1\u0003", + "\u04f1\u0003\u04f2\u0003\u04f2\u0003\u04f2\u0003\u04f2\u0003\u04f2\u0003", + "\u04f2\u0003\u04f2\u0003\u04f2\u0003\u04f2\u0003\u04f2\u0003\u04f3\u0003", + "\u04f3\u0003\u04f3\u0003\u04f3\u0003\u04f3\u0003\u04f3\u0003\u04f4\u0003", + "\u04f4\u0003\u04f4\u0003\u04f4\u0003\u04f4\u0003\u04f4\u0003\u04f4\u0003", + "\u04f5\u0003\u04f5\u0003\u04f5\u0003\u04f5\u0003\u04f5\u0003\u04f5\u0003", + "\u04f5\u0003\u04f5\u0003\u04f5\u0003\u04f6\u0003\u04f6\u0003\u04f6\u0003", + "\u04f6\u0003\u04f6\u0003\u04f6\u0003\u04f6\u0003\u04f6\u0003\u04f7\u0003", + "\u04f7\u0003\u04f7\u0003\u04f7\u0003\u04f7\u0003\u04f7\u0003\u04f7\u0003", + "\u04f7\u0003\u04f7\u0003\u04f8\u0003\u04f8\u0003\u04f8\u0003\u04f8\u0003", + "\u04f8\u0003\u04f8\u0003\u04f8\u0003\u04f8\u0003\u04f9\u0003\u04f9\u0003", + "\u04f9\u0003\u04f9\u0003\u04f9\u0003\u04f9\u0003\u04f9\u0003\u04f9\u0003", + "\u04fa\u0003\u04fa\u0003\u04fa\u0003\u04fa\u0003\u04fa\u0003\u04fa\u0003", + "\u04fa\u0003\u04fa\u0003\u04fa\u0003\u04fa\u0003\u04fb\u0003\u04fb\u0003", + "\u04fb\u0003\u04fb\u0003\u04fb\u0003\u04fb\u0003\u04fb\u0003\u04fb\u0003", + "\u04fb\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003", + "\u04fc\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003", + "\u04fc\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003\u04fc\u0003", + "\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003", + "\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003", + "\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003", + "\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003", + "\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fd\u0003\u04fe\u0003", + "\u04fe\u0003\u04fe\u0003\u04fe\u0003\u04fe\u0003\u04fe\u0003\u04fe\u0003", + "\u04fe\u0003\u04fe\u0003\u04fe\u0003\u04fe\u0003\u04fe\u0003\u04fe\u0003", + "\u04fe\u0003\u04ff\u0003\u04ff\u0003\u04ff\u0003\u04ff\u0003\u04ff\u0003", + "\u04ff\u0003\u0500\u0003\u0500\u0003\u0500\u0003\u0500\u0003\u0500\u0003", + "\u0500\u0003\u0500\u0003\u0500\u0003\u0500\u0003\u0500\u0003\u0500\u0003", + "\u0500\u0003\u0500\u0003\u0500\u0003\u0500\u0003\u0500\u0003\u0500\u0003", + "\u0500\u0003\u0500\u0003\u0500\u0003\u0501\u0003\u0501\u0003\u0501\u0003", + "\u0501\u0003\u0501\u0003\u0501\u0003\u0501\u0003\u0501\u0003\u0501\u0003", + "\u0501\u0003\u0501\u0003\u0501\u0003\u0501\u0003\u0501\u0003\u0502\u0003", + "\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003", + "\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003", + "\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003\u0502\u0003", + "\u0502\u0003\u0502\u0003\u0503\u0003\u0503\u0003\u0503\u0003\u0503\u0003", + "\u0503\u0003\u0503\u0003\u0503\u0003\u0503\u0003\u0503\u0003\u0503\u0003", + "\u0504\u0003\u0504\u0003\u0504\u0003\u0504\u0003\u0504\u0003\u0504\u0003", + "\u0504\u0003\u0505\u0003\u0505\u0003\u0505\u0003\u0505\u0003\u0505\u0003", + "\u0505\u0003\u0505\u0003\u0505\u0003\u0505\u0003\u0506\u0003\u0506\u0003", + "\u0506\u0003\u0506\u0003\u0506\u0003\u0506\u0003\u0506\u0003\u0506\u0003", + "\u0506\u0003\u0506\u0003\u0506\u0003\u0506\u0003\u0506\u0003\u0507\u0003", + "\u0507\u0003\u0507\u0003\u0507\u0003\u0507\u0003\u0507\u0003\u0507\u0003", + "\u0507\u0003\u0508\u0003\u0508\u0003\u0508\u0003\u0508\u0003\u0508\u0003", + "\u0508\u0003\u0508\u0003\u0509\u0003\u0509\u0003\u0509\u0003\u0509\u0003", + "\u0509\u0003\u0509\u0003\u0509\u0003\u0509\u0003\u0509\u0003\u050a\u0003", + "\u050a\u0003\u050a\u0003\u050a\u0003\u050a\u0003\u050a\u0003\u050a\u0003", + "\u050a\u0003\u050a\u0003\u050b\u0003\u050b\u0003\u050b\u0003\u050b\u0003", + "\u050b\u0003\u050b\u0003\u050b\u0003\u050b\u0003\u050b\u0003\u050b\u0003", + "\u050c\u0003\u050c\u0003\u050c\u0003\u050c\u0003\u050c\u0003\u050c\u0003", + "\u050c\u0003\u050c\u0003\u050c\u0003\u050c\u0003\u050d\u0003\u050d\u0003", + "\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003", + "\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003", + "\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003\u050d\u0003", + "\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003", + "\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003", + "\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003\u050e\u0003", + "\u050e\u0003\u050f\u0003\u050f\u0003\u050f\u0003\u050f\u0003\u050f\u0003", + "\u050f\u0003\u050f\u0003\u050f\u0003\u0510\u0003\u0510\u0003\u0510\u0003", + "\u0510\u0003\u0510\u0003\u0510\u0003\u0510\u0003\u0510\u0003\u0511\u0003", + "\u0511\u0003\u0511\u0003\u0511\u0003\u0511\u0003\u0511\u0003\u0511\u0003", + "\u0511\u0003\u0511\u0003\u0511\u0003\u0511\u0003\u0512\u0003\u0512\u0003", + "\u0512\u0003\u0512\u0003\u0512\u0003\u0512\u0003\u0512\u0003\u0512\u0003", + "\u0513\u0003\u0513\u0003\u0513\u0003\u0513\u0003\u0513\u0003\u0513\u0003", + "\u0513\u0003\u0513\u0003\u0513\u0003\u0514\u0003\u0514\u0003\u0514\u0003", + "\u0514\u0003\u0514\u0003\u0514\u0003\u0514\u0003\u0514\u0003\u0514\u0003", + "\u0514\u0003\u0514\u0003\u0514\u0003\u0514\u0003\u0515\u0003\u0515\u0003", + "\u0515\u0003\u0515\u0003\u0515\u0003\u0515\u0003\u0515\u0003\u0515\u0003", + "\u0515\u0003\u0516\u0003\u0516\u0003\u0516\u0003\u0516\u0003\u0516\u0003", + "\u0516\u0003\u0516\u0003\u0517\u0003\u0517\u0003\u0517\u0003\u0517\u0003", + "\u0517\u0003\u0517\u0003\u0517\u0003\u0517\u0003\u0517\u0003\u0518\u0003", + "\u0518\u0003\u0518\u0003\u0518\u0003\u0518\u0003\u0519\u0003\u0519\u0003", + "\u0519\u0003\u0519\u0003\u0519\u0003\u0519\u0003\u0519\u0003\u0519\u0003", + "\u051a\u0003\u051a\u0003\u051a\u0003\u051a\u0003\u051a\u0003\u051a\u0003", + "\u051a\u0003\u051a\u0003\u051a\u0003\u051a\u0003\u051a\u0003\u051a\u0003", + "\u051a\u0003\u051a\u0003\u051a\u0003\u051a\u0003\u051b\u0003\u051b\u0003", + "\u051b\u0003\u051b\u0003\u051b\u0003\u051b\u0003\u051b\u0003\u051b\u0003", + "\u051b\u0003\u051c\u0003\u051c\u0003\u051c\u0003\u051c\u0003\u051c\u0003", + "\u051c\u0003\u051d\u0003\u051d\u0003\u051d\u0003\u051d\u0003\u051d\u0003", + "\u051d\u0003\u051d\u0003\u051d\u0003\u051e\u0003\u051e\u0003\u051e\u0003", + "\u051e\u0003\u051e\u0003\u051e\u0003\u051e\u0003\u051e\u0003\u051e\u0003", + "\u051e\u0003\u051e\u0003\u051e\u0003\u051f\u0003\u051f\u0003\u051f\u0003", + "\u051f\u0003\u051f\u0003\u051f\u0003\u051f\u0003\u051f\u0003\u051f\u0003", + "\u051f\u0003\u051f\u0003\u0520\u0003\u0520\u0003\u0520\u0003\u0520\u0003", + "\u0520\u0003\u0520\u0003\u0520\u0003\u0520\u0003\u0520\u0003\u0520\u0003", + "\u0521\u0003\u0521\u0003\u0521\u0003\u0521\u0003\u0521\u0003\u0521\u0003", + "\u0521\u0003\u0521\u0003\u0521\u0003\u0521\u0003\u0521\u0003\u0522\u0003", + "\u0522\u0003\u0522\u0003\u0522\u0003\u0522\u0003\u0522\u0003\u0522\u0003", + "\u0522\u0003\u0522\u0003\u0522\u0003\u0522\u0003\u0523\u0003\u0523\u0003", + "\u0523\u0003\u0523\u0003\u0523\u0003\u0523\u0003\u0523\u0003\u0523\u0003", + "\u0523\u0003\u0523\u0003\u0524\u0003\u0524\u0003\u0524\u0003\u0524\u0003", + "\u0524\u0003\u0524\u0003\u0524\u0003\u0524\u0003\u0525\u0003\u0525\u0003", + "\u0525\u0003\u0525\u0003\u0525\u0003\u0525\u0003\u0525\u0003\u0525\u0003", + "\u0526\u0003\u0526\u0003\u0526\u0003\u0526\u0003\u0526\u0003\u0526\u0003", + "\u0526\u0003\u0526\u0003\u0527\u0003\u0527\u0003\u0527\u0003\u0527\u0003", + "\u0527\u0003\u0527\u0003\u0527\u0003\u0527\u0003\u0528\u0003\u0528\u0003", + "\u0528\u0003\u0528\u0003\u0528\u0003\u0528\u0003\u0528\u0003\u0528\u0003", + "\u0528\u0003\u0528\u0003\u0529\u0003\u0529\u0003\u0529\u0003\u0529\u0003", + "\u0529\u0003\u0529\u0003\u0529\u0003\u0529\u0003\u0529\u0003\u0529\u0003", + "\u052a\u0003\u052a\u0003\u052a\u0003\u052a\u0003\u052a\u0003\u052a\u0003", + "\u052a\u0003\u052a\u0003\u052a\u0003\u052a\u0003\u052a\u0003\u052b\u0003", + "\u052b\u0003\u052b\u0003\u052b\u0003\u052b\u0003\u052b\u0003\u052c\u0003", + "\u052c\u0003\u052c\u0003\u052c\u0003\u052c\u0003\u052c\u0003\u052c\u0003", + "\u052c\u0003\u052d\u0003\u052d\u0003\u052d\u0003\u052d\u0003\u052d\u0003", + "\u052d\u0003\u052d\u0003\u052e\u0003\u052e\u0003\u052e\u0003\u052e\u0003", + "\u052e\u0003\u052e\u0003\u052e\u0003\u052e\u0003\u052e\u0003\u052e\u0003", + "\u052f\u0003\u052f\u0003\u052f\u0003\u052f\u0003\u052f\u0003\u052f\u0003", + "\u0530\u0003\u0530\u0003\u0530\u0003\u0530\u0003\u0530\u0003\u0530\u0003", + "\u0530\u0003\u0530\u0003\u0530\u0003\u0530\u0003\u0531\u0003\u0531\u0003", + "\u0531\u0003\u0531\u0003\u0531\u0003\u0531\u0003\u0531\u0003\u0531\u0003", + "\u0531\u0003\u0531\u0003\u0532\u0003\u0532\u0003\u0532\u0003\u0532\u0003", + "\u0532\u0003\u0532\u0003\u0532\u0003\u0532\u0003\u0532\u0003\u0532\u0003", + "\u0532\u0003\u0532\u0003\u0532\u0003\u0532\u0003\u0532\u0003\u0532\u0003", + "\u0532\u0003\u0532\u0003\u0532\u0003\u0533\u0003\u0533\u0003\u0533\u0003", + "\u0533\u0003\u0533\u0003\u0533\u0003\u0533\u0003\u0533\u0003\u0533\u0003", + "\u0533\u0003\u0533\u0003\u0534\u0003\u0534\u0003\u0534\u0003\u0534\u0003", + "\u0534\u0003\u0534\u0003\u0534\u0003\u0534\u0003\u0534\u0003\u0534\u0003", + "\u0534\u0003\u0534\u0003\u0534\u0003\u0534\u0003\u0534\u0003\u0535\u0003", + "\u0535\u0003\u0535\u0003\u0535\u0003\u0535\u0003\u0535\u0003\u0535\u0003", + "\u0535\u0003\u0536\u0003\u0536\u0003\u0536\u0003\u0536\u0003\u0536\u0003", + "\u0536\u0003\u0536\u0003\u0536\u0003\u0536\u0003\u0536\u0003\u0536\u0003", + "\u0536\u0003\u0537\u0003\u0537\u0003\u0537\u0003\u0537\u0003\u0537\u0003", + "\u0537\u0003\u0538\u0003\u0538\u0003\u0538\u0003\u0538\u0003\u0538\u0003", + "\u0538\u0003\u0538\u0003\u0538\u0003\u0538\u0003\u0538\u0003\u0538\u0003", + "\u0539\u0003\u0539\u0003\u0539\u0003\u0539\u0003\u0539\u0003\u0539\u0003", + "\u053a\u0003\u053a\u0003\u053a\u0003\u053a\u0003\u053a\u0003\u053a\u0003", + "\u053a\u0003\u053a\u0003\u053a\u0003\u053a\u0003\u053a\u0003\u053b\u0003", + "\u053b\u0003\u053b\u0003\u053b\u0003\u053b\u0003\u053b\u0003\u053b\u0003", + "\u053b\u0003\u053c\u0003\u053c\u0003\u053c\u0003\u053c\u0003\u053c\u0003", + "\u053c\u0003\u053c\u0003\u053d\u0003\u053d\u0003\u053d\u0003\u053d\u0003", + "\u053d\u0003\u053d\u0003\u053e\u0003\u053e\u0003\u053e\u0003\u053e\u0003", + "\u053e\u0003\u053e\u0003\u053f\u0003\u053f\u0003\u053f\u0003\u053f\u0003", + "\u053f\u0003\u053f\u0003\u053f\u0003\u053f\u0003\u053f\u0003\u053f\u0003", + "\u053f\u0003\u053f\u0003\u053f\u0003\u0540\u0003\u0540\u0003\u0540\u0003", + "\u0540\u0003\u0540\u0003\u0540\u0003\u0540\u0003\u0541\u0003\u0541\u0003", + "\u0541\u0003\u0541\u0003\u0541\u0003\u0541\u0003\u0542\u0003\u0542\u0003", + "\u0542\u0003\u0542\u0003\u0542\u0003\u0542\u0003\u0543\u0003\u0543\u0003", + "\u0543\u0003\u0543\u0003\u0543\u0003\u0543\u0003\u0543\u0003\u0543\u0003", + "\u0544\u0003\u0544\u0003\u0544\u0003\u0544\u0003\u0545\u0003\u0545\u0003", + "\u0545\u0003\u0545\u0003\u0545\u0003\u0545\u0003\u0545\u0003\u0545\u0003", + "\u0545\u0003\u0546\u0003\u0546\u0003\u0546\u0003\u0546\u0003\u0546\u0003", + "\u0546\u0003\u0546\u0003\u0546\u0003\u0546\u0003\u0546\u0003\u0547\u0003", + "\u0547\u0003\u0547\u0003\u0547\u0003\u0548\u0003\u0548\u0003\u0548\u0003", + "\u0548\u0003\u0548\u0003\u0548\u0003\u0548\u0003\u0548\u0003\u0548\u0003", + "\u0548\u0003\u0548\u0003\u0548\u0003\u0549\u0003\u0549\u0003\u0549\u0003", + "\u0549\u0003\u0549\u0003\u054a\u0003\u054a\u0003\u054a\u0003\u054a\u0003", + "\u054a\u0003\u054b\u0003\u054b\u0003\u054b\u0003\u054b\u0003\u054b\u0003", + "\u054b\u0003\u054c\u0003\u054c\u0003\u054c\u0003\u054c\u0003\u054c\u0003", + "\u054c\u0003\u054d\u0003\u054d\u0003\u054d\u0003\u054d\u0003\u054d\u0003", + "\u054e\u0003\u054e\u0003\u054e\u0003\u054e\u0003\u054e\u0003\u054e\u0003", + "\u054e\u0003\u054e\u0003\u054e\u0003\u054e\u0003\u054f\u0003\u054f\u0003", + "\u054f\u0003\u054f\u0003\u054f\u0003\u054f\u0003\u054f\u0003\u054f\u0003", + "\u0550\u0003\u0550\u0003\u0550\u0003\u0550\u0003\u0550\u0003\u0550\u0003", + "\u0550\u0003\u0551\u0003\u0551\u0003\u0551\u0003\u0551\u0003\u0551\u0003", + "\u0551\u0003\u0551\u0003\u0551\u0003\u0551\u0003\u0551\u0003\u0551\u0003", + "\u0551\u0003\u0551\u0003\u0551\u0003\u0551\u0003\u0551\u0003\u0551\u0003", + "\u0551\u0003\u0552\u0003\u0552\u0003\u0552\u0003\u0552\u0003\u0552\u0003", + "\u0552\u0003\u0552\u0003\u0552\u0003\u0552\u0003\u0552\u0003\u0552\u0003", + "\u0552\u0003\u0553\u0003\u0553\u0003\u0553\u0003\u0553\u0003\u0553\u0003", + "\u0553\u0003\u0553\u0003\u0553\u0003\u0554\u0003\u0554\u0003\u0554\u0003", + "\u0554\u0003\u0554\u0003\u0554\u0003\u0554\u0003\u0554\u0003\u0554\u0003", + "\u0555\u0003\u0555\u0003\u0555\u0003\u0555\u0003\u0555\u0003\u0555\u0003", + "\u0555\u0003\u0555\u0003\u0555\u0003\u0555\u0003\u0555\u0003\u0556\u0003", + "\u0556\u0003\u0556\u0003\u0556\u0003\u0556\u0003\u0556\u0003\u0556\u0003", + "\u0556\u0003\u0557\u0003\u0557\u0003\u0557\u0003\u0557\u0003\u0557\u0003", + "\u0557\u0003\u0557\u0003\u0557\u0003\u0557\u0003\u0557\u0003\u0558\u0003", + "\u0558\u0003\u0558\u0003\u0558\u0003\u0558\u0003\u0558\u0003\u0558\u0003", + "\u0558\u0003\u0558\u0003\u0559\u0003\u0559\u0003\u0559\u0003\u0559\u0003", + "\u0559\u0003\u055a\u0003\u055a\u0003\u055a\u0003\u055a\u0003\u055a\u0003", + "\u055a\u0003\u055a\u0003\u055a\u0003\u055b\u0003\u055b\u0003\u055b\u0003", + "\u055b\u0003\u055b\u0003\u055b\u0003\u055b\u0003\u055b\u0003\u055b\u0003", + "\u055b\u0003\u055b\u0003\u055c\u0003\u055c\u0003\u055c\u0003\u055c\u0003", + "\u055c\u0003\u055c\u0003\u055c\u0003\u055c\u0003\u055c\u0003\u055c\u0003", + "\u055c\u0003\u055c\u0003\u055c\u0003\u055c\u0003\u055c\u0003\u055c\u0003", + "\u055c\u0003\u055c\u0003\u055c\u0003\u055d\u0003\u055d\u0003\u055d\u0003", + "\u055d\u0003\u055d\u0003\u055d\u0003\u055d\u0003\u055d\u0003\u055d\u0003", + "\u055d\u0003\u055d\u0003\u055e\u0003\u055e\u0003\u055e\u0003\u055e\u0003", + "\u055e\u0003\u055e\u0003\u055e\u0003\u055e\u0003\u055e\u0003\u055e\u0003", + "\u055f\u0003\u055f\u0003\u055f\u0003\u055f\u0003\u055f\u0003\u055f\u0003", + "\u055f\u0003\u055f\u0003\u055f\u0003\u055f\u0003\u055f\u0003\u0560\u0003", + "\u0560\u0003\u0560\u0003\u0560\u0003\u0560\u0003\u0560\u0003\u0560\u0003", + "\u0560\u0003\u0560\u0003\u0560\u0003\u0560\u0003\u0560\u0003\u0561\u0003", + "\u0561\u0003\u0561\u0003\u0561\u0003\u0562\u0003\u0562\u0003\u0562\u0003", + "\u0562\u0003\u0562\u0003\u0562\u0003\u0562\u0003\u0562\u0003\u0563\u0003", + "\u0563\u0003\u0563\u0003\u0563\u0003\u0563\u0003\u0563\u0003\u0563\u0003", + "\u0563\u0003\u0563\u0003\u0564\u0003\u0564\u0003\u0564\u0003\u0564\u0003", + "\u0564\u0003\u0564\u0003\u0564\u0003\u0564\u0003\u0564\u0003\u0564\u0003", + "\u0564\u0003\u0564\u0003\u0564\u0003\u0565\u0003\u0565\u0003\u0565\u0003", + "\u0565\u0003\u0565\u0003\u0565\u0003\u0565\u0003\u0565\u0003\u0565\u0003", + "\u0565\u0003\u0565\u0003\u0565\u0003\u0565\u0003\u0566\u0003\u0566\u0003", + "\u0566\u0003\u0566\u0003\u0566\u0003\u0566\u0003\u0566\u0003\u0566\u0003", + "\u0566\u0003\u0566\u0003\u0566\u0003\u0566\u0003\u0567\u0003\u0567\u0003", + "\u0567\u0003\u0567\u0003\u0567\u0003\u0567\u0003\u0567\u0003\u0567\u0003", + "\u0567\u0003\u0567\u0003\u0567\u0003\u0567\u0003\u0567\u0003\u0567\u0003", + "\u0567\u0003\u0568\u0003\u0568\u0003\u0568\u0003\u0568\u0003\u0568\u0003", + "\u0568\u0003\u0568\u0003\u0568\u0003\u0568\u0003\u0568\u0003\u0568\u0003", + "\u0568\u0003\u0568\u0003\u0568\u0003\u0569\u0003\u0569\u0003\u0569\u0003", + "\u0569\u0003\u0569\u0003\u0569\u0003\u0569\u0003\u0569\u0003\u0569\u0003", + "\u056a\u0003\u056a\u0003\u056a\u0003\u056a\u0003\u056a\u0003\u056a\u0003", + "\u056a\u0003\u056a\u0003\u056a\u0003\u056a\u0003\u056b\u0003\u056b\u0003", + "\u056b\u0003\u056b\u0003\u056b\u0003\u056b\u0003\u056b\u0003\u056b\u0003", + "\u056b\u0003\u056b\u0003\u056c\u0003\u056c\u0003\u056c\u0003\u056c\u0003", + "\u056c\u0003\u056c\u0003\u056c\u0003\u056c\u0003\u056c\u0003\u056c\u0003", + "\u056c\u0003\u056d\u0003\u056d\u0003\u056d\u0003\u056d\u0003\u056d\u0003", + "\u056d\u0003\u056d\u0003\u056d\u0003\u056d\u0003\u056d\u0003\u056d\u0003", + "\u056d\u0003\u056d\u0003\u056d\u0003\u056d\u0003\u056e\u0003\u056e\u0003", + "\u056e\u0003\u056e\u0003\u056e\u0003\u056e\u0003\u056e\u0003\u056e\u0003", + "\u056f\u0003\u056f\u0003\u056f\u0003\u056f\u0003\u056f\u0003\u056f\u0003", + "\u056f\u0003\u056f\u0003\u056f\u0003\u056f\u0003\u056f\u0003\u0570\u0003", + "\u0570\u0003\u0570\u0003\u0570\u0003\u0570\u0003\u0570\u0003\u0570\u0003", + "\u0570\u0003\u0570\u0003\u0571\u0003\u0571\u0003\u0571\u0003\u0571\u0003", + "\u0571\u0003\u0571\u0003\u0571\u0003\u0571\u0003\u0571\u0003\u0572\u0003", + "\u0572\u0003\u0572\u0003\u0572\u0003\u0572\u0003\u0572\u0003\u0572\u0003", + "\u0572\u0003\u0572\u0003\u0573\u0003\u0573\u0003\u0573\u0003\u0573\u0003", + "\u0573\u0003\u0573\u0003\u0573\u0003\u0573\u0003\u0574\u0003\u0574\u0003", + "\u0574\u0003\u0574\u0003\u0574\u0003\u0574\u0003\u0574\u0003\u0575\u0003", + "\u0575\u0003\u0575\u0003\u0575\u0003\u0575\u0003\u0575\u0003\u0576\u0003", + "\u0576\u0003\u0576\u0003\u0576\u0003\u0576\u0003\u0576\u0003\u0576\u0003", + "\u0576\u0003\u0576\u0003\u0576\u0003\u0576\u0003\u0577\u0003\u0577\u0003", + "\u0577\u0003\u0577\u0003\u0577\u0003\u0577\u0003\u0577\u0003\u0577\u0003", + "\u0577\u0003\u0577\u0003\u0578\u0003\u0578\u0003\u0578\u0003\u0578\u0003", + "\u0578\u0003\u0578\u0003\u0578\u0003\u0578\u0003\u0578\u0003\u0579\u0003", + "\u0579\u0003\u0579\u0003\u0579\u0003\u0579\u0003\u057a\u0003\u057a\u0003", + "\u057a\u0003\u057a\u0003\u057a\u0003\u057a\u0003\u057a\u0003\u057a\u0003", + "\u057a\u0003\u057a\u0003\u057b\u0003\u057b\u0003\u057b\u0003\u057b\u0003", + "\u057b\u0003\u057b\u0003\u057b\u0003\u057b\u0003\u057b\u0003\u057b\u0003", + "\u057b\u0003\u057b\u0003\u057b\u0003\u057b\u0003\u057c\u0003\u057c\u0003", + "\u057c\u0003\u057c\u0003\u057c\u0003\u057c\u0003\u057c\u0003\u057d\u0003", + "\u057d\u0003\u057d\u0003\u057d\u0003\u057d\u0003\u057d\u0003\u057d\u0003", + "\u057e\u0003\u057e\u0003\u057e\u0003\u057e\u0003\u057e\u0003\u057e\u0003", + "\u057e\u0003\u057f\u0003\u057f\u0003\u057f\u0003\u057f\u0003\u057f\u0003", + "\u057f\u0003\u057f\u0003\u0580\u0003\u0580\u0003\u0580\u0003\u0580\u0003", + "\u0580\u0003\u0580\u0003\u0580\u0003\u0580\u0003\u0581\u0003\u0581\u0003", + "\u0581\u0003\u0581\u0003\u0581\u0003\u0581\u0003\u0581\u0003\u0581\u0003", + "\u0581\u0003\u0581\u0003\u0581\u0003\u0581\u0003\u0582\u0003\u0582\u0003", + "\u0582\u0003\u0582\u0003\u0582\u0003\u0582\u0003\u0582\u0003\u0582\u0003", + "\u0582\u0003\u0583\u0003\u0583\u0003\u0583\u0003\u0583\u0003\u0583\u0003", + "\u0583\u0003\u0583\u0003\u0583\u0003\u0583\u0003\u0583\u0003\u0584\u0003", + "\u0584\u0003\u0584\u0003\u0584\u0003\u0584\u0003\u0584\u0003\u0585\u0003", + "\u0585\u0003\u0585\u0003\u0585\u0003\u0585\u0003\u0585\u0003\u0585\u0003", + "\u0586\u0003\u0586\u0003\u0586\u0003\u0586\u0003\u0586\u0003\u0586\u0003", + "\u0586\u0003\u0586\u0003\u0587\u0003\u0587\u0003\u0587\u0003\u0587\u0003", + "\u0587\u0003\u0587\u0003\u0587\u0003\u0587\u0003\u0587\u0003\u0588\u0003", + "\u0588\u0003\u0588\u0003\u0588\u0003\u0588\u0003\u0588\u0003\u0588\u0003", + "\u0588\u0003\u0588\u0003\u0589\u0003\u0589\u0003\u0589\u0003\u0589\u0003", + "\u0589\u0003\u0589\u0003\u0589\u0003\u0589\u0003\u058a\u0003\u058a\u0003", + "\u058a\u0003\u058a\u0003\u058a\u0003\u058a\u0003\u058a\u0003\u058a\u0003", + "\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003", + "\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003", + "\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003\u058b\u0003", + "\u058b\u0003\u058b\u0003\u058b\u0003\u058c\u0003\u058c\u0003\u058c\u0003", + "\u058c\u0003\u058c\u0003\u058c\u0003\u058c\u0003\u058c\u0003\u058d\u0003", + "\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003", + "\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003", + "\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003\u058d\u0003", + "\u058d\u0003\u058d\u0003\u058d\u0003\u058e\u0003\u058e\u0003\u058e\u0003", + "\u058e\u0003\u058e\u0003\u058e\u0003\u058e\u0003\u058e\u0003\u058e\u0003", + "\u058e\u0003\u058e\u0003\u058f\u0003\u058f\u0003\u058f\u0003\u058f\u0003", + "\u058f\u0003\u058f\u0003\u058f\u0003\u058f\u0003\u058f\u0003\u058f\u0003", + "\u058f\u0003\u058f\u0003\u058f\u0003\u058f\u0003\u058f\u0003\u058f\u0003", + "\u058f\u0003\u058f\u0003\u058f\u0003\u058f\u0003\u0590\u0003\u0590\u0003", + "\u0590\u0003\u0590\u0003\u0590\u0003\u0590\u0003\u0590\u0003\u0590\u0003", + "\u0590\u0003\u0591\u0003\u0591\u0003\u0591\u0003\u0591\u0003\u0591\u0003", + "\u0591\u0003\u0591\u0003\u0591\u0003\u0591\u0003\u0591\u0003\u0591\u0003", + "\u0591\u0003\u0591\u0003\u0592\u0003\u0592\u0003\u0592\u0003\u0592\u0003", + "\u0592\u0003\u0592\u0003\u0592\u0003\u0593\u0003\u0593\u0003\u0593\u0003", + "\u0593\u0003\u0593\u0003\u0593\u0003\u0593\u0003\u0593\u0003\u0593\u0003", + "\u0593\u0003\u0594\u0003\u0594\u0003\u0594\u0003\u0594\u0003\u0594\u0003", + "\u0594\u0003\u0594\u0003\u0595\u0003\u0595\u0003\u0595\u0003\u0595\u0003", + "\u0595\u0003\u0595\u0003\u0595\u0003\u0595\u0003\u0595\u0003\u0595\u0003", + "\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003", + "\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003", + "\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003\u0596\u0003", + "\u0596\u0003\u0596\u0003\u0597\u0003\u0597\u0003\u0597\u0003\u0597\u0003", + "\u0597\u0003\u0597\u0003\u0597\u0003\u0597\u0003\u0597\u0003\u0597\u0003", + "\u0598\u0003\u0598\u0003\u0598\u0003\u0598\u0003\u0598\u0003\u0598\u0003", + "\u0598\u0003\u0599\u0003\u0599\u0003\u0599\u0003\u0599\u0003\u0599\u0003", + "\u0599\u0003\u059a\u0003\u059a\u0003\u059a\u0003\u059a\u0003\u059a\u0003", + "\u059a\u0003\u059a\u0003\u059a\u0003\u059b\u0003\u059b\u0003\u059b\u0003", + "\u059b\u0003\u059b\u0003\u059b\u0003\u059b\u0003\u059c\u0003\u059c\u0003", + "\u059c\u0003\u059c\u0003\u059c\u0003\u059c\u0003\u059c\u0003\u059c\u0003", + "\u059c\u0003\u059c\u0003\u059c\u0003\u059c\u0003\u059c\u0003\u059c\u0003", + "\u059c\u0003\u059c\u0003\u059c\u0003\u059d\u0003\u059d\u0003\u059d\u0003", + "\u059d\u0003\u059d\u0003\u059d\u0003\u059d\u0003\u059d\u0003\u059e\u0003", + "\u059e\u0003\u059e\u0003\u059e\u0003\u059e\u0003\u059e\u0003\u059f\u0003", + "\u059f\u0003\u059f\u0003\u059f\u0003\u059f\u0003\u05a0\u0003\u05a0\u0003", + "\u05a0\u0003\u05a0\u0003\u05a0\u0003\u05a0\u0003\u05a0\u0003\u05a0\u0003", + "\u05a1\u0003\u05a1\u0003\u05a1\u0003\u05a1\u0003\u05a1\u0003\u05a1\u0003", + "\u05a2\u0003\u05a2\u0003\u05a2\u0003\u05a2\u0003\u05a2\u0003\u05a2\u0003", + "\u05a2\u0003\u05a2\u0003\u05a2\u0003\u05a3\u0003\u05a3\u0003\u05a3\u0003", + "\u05a3\u0003\u05a3\u0003\u05a3\u0003\u05a3\u0003\u05a3\u0003\u05a4\u0003", + "\u05a4\u0003\u05a4\u0003\u05a4\u0003\u05a4\u0003\u05a4\u0003\u05a4\u0003", + "\u05a5\u0003\u05a5\u0003\u05a5\u0003\u05a5\u0003\u05a5\u0003\u05a5\u0003", + "\u05a5\u0003\u05a5\u0003\u05a5\u0003\u05a5\u0003\u05a5\u0003\u05a5\u0003", + "\u05a5\u0003\u05a5\u0003\u05a5\u0003\u05a5\u0003\u05a6\u0003\u05a6\u0003", + "\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003", + "\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003", + "\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003\u05a6\u0003", + "\u05a7\u0003\u05a7\u0003\u05a7\u0003\u05a7\u0003\u05a7\u0003\u05a7\u0003", + "\u05a8\u0003\u05a8\u0003\u05a8\u0003\u05a8\u0003\u05a8\u0003\u05a8\u0003", + "\u05a8\u0003\u05a8\u0003\u05a8\u0003\u05a8\u0003\u05a8\u0003\u05a8\u0003", + "\u05a9\u0003\u05a9\u0003\u05a9\u0003\u05a9\u0003\u05a9\u0003\u05a9\u0003", + "\u05a9\u0003\u05a9\u0003\u05a9\u0003\u05a9\u0003\u05a9\u0003\u05a9\u0003", + "\u05a9\u0003\u05aa\u0003\u05aa\u0003\u05aa\u0003\u05aa\u0003\u05aa\u0003", + "\u05aa\u0003\u05aa\u0003\u05aa\u0003\u05aa\u0003\u05aa\u0003\u05aa\u0003", + "\u05ab\u0003\u05ab\u0003\u05ab\u0003\u05ab\u0003\u05ab\u0003\u05ab\u0003", + "\u05ab\u0003\u05ac\u0003\u05ac\u0003\u05ac\u0003\u05ac\u0003\u05ad\u0003", + "\u05ad\u0003\u05ad\u0003\u05ad\u0003\u05ad\u0003\u05ae\u0003\u05ae\u0003", + "\u05ae\u0003\u05ae\u0003\u05ae\u0003\u05af\u0003\u05af\u0003\u05af\u0003", + "\u05af\u0003\u05af\u0003\u05af\u0003\u05b0\u0003\u05b0\u0003\u05b0\u0003", + "\u05b0\u0003\u05b0\u0003\u05b1\u0003\u05b1\u0003\u05b1\u0003\u05b1\u0003", + "\u05b1\u0003\u05b1\u0003\u05b2\u0003\u05b2\u0003\u05b2\u0003\u05b2\u0003", + "\u05b2\u0003\u05b2\u0003\u05b2\u0003\u05b2\u0003\u05b3\u0003\u05b3\u0003", + "\u05b3\u0003\u05b3\u0003\u05b3\u0003\u05b4\u0003\u05b4\u0003\u05b4\u0003", + "\u05b4\u0003\u05b4\u0003\u05b4\u0003\u05b4\u0003\u05b5\u0003\u05b5\u0003", + "\u05b5\u0003\u05b5\u0003\u05b5\u0003\u05b5\u0003\u05b5\u0003\u05b5\u0003", + "\u05b5\u0003\u05b5\u0003\u05b5\u0003\u05b5\u0003\u05b5\u0003\u05b5\u0003", + "\u05b5\u0003\u05b5\u0003\u05b5\u0003\u05b5\u0003\u05b6\u0003\u05b6\u0003", + "\u05b6\u0003\u05b6\u0003\u05b6\u0003\u05b6\u0003\u05b6\u0003\u05b6\u0003", + "\u05b6\u0003\u05b6\u0003\u05b7\u0003\u05b7\u0003\u05b7\u0003\u05b7\u0003", + "\u05b7\u0003\u05b8\u0003\u05b8\u0003\u05b8\u0003\u05b8\u0003\u05b9\u0003", + "\u05b9\u0003\u05b9\u0003\u05b9\u0003\u05b9\u0003\u05b9\u0003\u05b9\u0003", + "\u05b9\u0003\u05b9\u0003\u05b9\u0003\u05b9\u0003\u05ba\u0003\u05ba\u0003", + "\u05ba\u0003\u05ba\u0003\u05ba\u0003\u05ba\u0003\u05bb\u0003\u05bb\u0003", + "\u05bb\u0003\u05bb\u0003\u05bb\u0003\u05bb\u0003\u05bb\u0003\u05bb\u0003", + "\u05bb\u0003\u05bb\u0003\u05bb\u0003\u05bb\u0003\u05bb\u0003\u05bb\u0003", + "\u05bb\u0003\u05bc\u0003\u05bc\u0003\u05bc\u0003\u05bc\u0003\u05bc\u0003", + "\u05bd\u0003\u05bd\u0003\u05bd\u0003\u05bd\u0003\u05bd\u0003\u05bd\u0003", + "\u05bd\u0003\u05bd\u0003\u05bd\u0003\u05bd\u0003\u05be\u0003\u05be\u0003", + "\u05be\u0003\u05be\u0003\u05be\u0003\u05be\u0003\u05be\u0003\u05be\u0003", + "\u05be\u0003\u05be\u0003\u05be\u0003\u05be\u0003\u05bf\u0003\u05bf\u0003", + "\u05bf\u0003\u05bf\u0003\u05bf\u0003\u05bf\u0003\u05bf\u0003\u05c0\u0003", + "\u05c0\u0003\u05c0\u0003\u05c0\u0003\u05c0\u0003\u05c0\u0003\u05c0\u0003", + "\u05c0\u0003\u05c0\u0003\u05c0\u0003\u05c0\u0003\u05c0\u0003\u05c0\u0003", + "\u05c0\u0003\u05c1\u0003\u05c1\u0003\u05c1\u0003\u05c1\u0003\u05c2\u0003", + "\u05c2\u0003\u05c2\u0003\u05c2\u0003\u05c2\u0003\u05c2\u0003\u05c3\u0003", + "\u05c3\u0003\u05c3\u0003\u05c3\u0003\u05c3\u0003\u05c3\u0003\u05c4\u0003", + "\u05c4\u0003\u05c4\u0003\u05c4\u0003\u05c4\u0003\u05c4\u0003\u05c4\u0003", + "\u05c5\u0003\u05c5\u0003\u05c5\u0003\u05c5\u0003\u05c5\u0003\u05c5\u0003", + "\u05c5\u0003\u05c5\u0003\u05c5\u0003\u05c5\u0003\u05c5\u0003\u05c6\u0003", + "\u05c6\u0003\u05c6\u0003\u05c6\u0003\u05c6\u0003\u05c6\u0003\u05c6\u0003", + "\u05c6\u0003\u05c6\u0003\u05c6\u0003\u05c6\u0003\u05c6\u0003\u05c6\u0003", + "\u05c7\u0003\u05c7\u0003\u05c7\u0003\u05c7\u0003\u05c7\u0003\u05c7\u0003", + "\u05c7\u0003\u05c7\u0003\u05c8\u0003\u05c8\u0003\u05c8\u0003\u05c8\u0003", + "\u05c8\u0003\u05c8\u0003\u05c8\u0003\u05c9\u0003\u05c9\u0003\u05c9\u0003", + "\u05c9\u0003\u05c9\u0003\u05c9\u0003\u05c9\u0003\u05ca\u0003\u05ca\u0003", + "\u05ca\u0003\u05ca\u0003\u05ca\u0003\u05ca\u0003\u05ca\u0003\u05cb\u0003", + "\u05cb\u0003\u05cb\u0003\u05cb\u0003\u05cb\u0003\u05cb\u0003\u05cb\u0003", + "\u05cb\u0003\u05cb\u0003\u05cb\u0003\u05cb\u0003\u05cb\u0003\u05cb\u0003", + "\u05cb\u0003\u05cb\u0003\u05cc\u0003\u05cc\u0003\u05cc\u0003\u05cc\u0003", + "\u05cc\u0003\u05cc\u0003\u05cc\u0003\u05cc\u0003\u05cc\u0003\u05cc\u0003", + "\u05cc\u0003\u05cd\u0003\u05cd\u0003\u05cd\u0003\u05cd\u0003\u05cd\u0003", + "\u05cd\u0003\u05cd\u0003\u05cd\u0003\u05cd\u0003\u05ce\u0003\u05ce\u0003", + "\u05ce\u0003\u05ce\u0003\u05ce\u0003\u05cf\u0003\u05cf\u0003\u05cf\u0003", + "\u05cf\u0003\u05cf\u0003\u05cf\u0003\u05cf\u0003\u05cf\u0003\u05cf\u0003", + "\u05cf\u0003\u05d0\u0003\u05d0\u0003\u05d0\u0003\u05d0\u0003\u05d0\u0003", + "\u05d0\u0003\u05d0\u0003\u05d0\u0003\u05d0\u0003\u05d1\u0003\u05d1\u0003", + "\u05d1\u0003\u05d1\u0003\u05d1\u0003\u05d1\u0003\u05d1\u0003\u05d1\u0003", + "\u05d2\u0003\u05d2\u0003\u05d2\u0003\u05d2\u0003\u05d2\u0003\u05d2\u0003", + "\u05d2\u0003\u05d2\u0003\u05d2\u0003\u05d2\u0003\u05d2\u0003\u05d2\u0003", + "\u05d3\u0003\u05d3\u0003\u05d3\u0003\u05d3\u0003\u05d3\u0003\u05d3\u0003", + "\u05d3\u0003\u05d4\u0003\u05d4\u0003\u05d4\u0003\u05d4\u0003\u05d4\u0003", + "\u05d5\u0003\u05d5\u0003\u05d5\u0003\u05d5\u0003\u05d5\u0003\u05d5\u0003", + "\u05d5\u0003\u05d5\u0003\u05d5\u0003\u05d5\u0003\u05d5\u0003\u05d5\u0003", + "\u05d5\u0003\u05d5\u0003\u05d5\u0003\u05d5\u0003\u05d6\u0003\u05d6\u0003", + "\u05d6\u0003\u05d6\u0003\u05d6\u0003\u05d6\u0003\u05d6\u0003\u05d6\u0003", + "\u05d6\u0003\u05d7\u0003\u05d7\u0003\u05d7\u0003\u05d7\u0003\u05d7\u0003", + "\u05d7\u0003\u05d7\u0003\u05d7\u0003\u05d7\u0003\u05d7\u0003\u05d7\u0003", + "\u05d7\u0003\u05d7\u0003\u05d7\u0003\u05d8\u0003\u05d8\u0003\u05d8\u0003", + "\u05d8\u0003\u05d8\u0003\u05d8\u0003\u05d8\u0003\u05d8\u0003\u05d8\u0003", + "\u05d8\u0003\u05d9\u0003\u05d9\u0003\u05d9\u0003\u05d9\u0003\u05d9\u0003", + "\u05d9\u0003\u05d9\u0003\u05d9\u0003\u05d9\u0003\u05da\u0003\u05da\u0003", + "\u05da\u0003\u05da\u0003\u05da\u0003\u05da\u0003\u05da\u0003\u05da\u0003", + "\u05da\u0003\u05da\u0003\u05da\u0003\u05db\u0003\u05db\u0003\u05db\u0003", + "\u05db\u0003\u05dc\u0003\u05dc\u0003\u05dc\u0003\u05dc\u0003\u05dc\u0003", + "\u05dc\u0003\u05dc\u0003\u05dc\u0003\u05dc\u0003\u05dc\u0003\u05dc\u0003", + "\u05dc\u0003\u05dc\u0003\u05dd\u0003\u05dd\u0003\u05dd\u0003\u05dd\u0003", + "\u05dd\u0003\u05dd\u0003\u05dd\u0003\u05dd\u0003\u05dd\u0003\u05dd\u0003", + "\u05dd\u0003\u05dd\u0003\u05dd\u0003\u05dd\u0003\u05dd\u0003\u05dd\u0003", + "\u05dd\u0003\u05dd\u0003\u05de\u0003\u05de\u0003\u05de\u0003\u05de\u0003", + "\u05de\u0003\u05de\u0003\u05de\u0003\u05df\u0003\u05df\u0003\u05df\u0003", + "\u05df\u0003\u05df\u0003\u05df\u0003\u05df\u0003\u05df\u0003\u05df\u0003", + "\u05df\u0003\u05df\u0003\u05df\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003", + "\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003", + "\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003", + "\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003\u05e0\u0003", + "\u05e1\u0003\u05e1\u0003\u05e1\u0003\u05e1\u0003\u05e1\u0003\u05e1\u0003", + "\u05e1\u0003\u05e1\u0003\u05e1\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003", + "\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003", + "\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003", + "\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003\u05e2\u0003", + "\u05e2\u0003\u05e2\u0003\u05e3\u0003\u05e3\u0003\u05e3\u0003\u05e3\u0003", + "\u05e3\u0003\u05e3\u0003\u05e3\u0003\u05e3\u0003\u05e4\u0003\u05e4\u0003", + "\u05e4\u0003\u05e4\u0003\u05e4\u0003\u05e4\u0003\u05e4\u0003\u05e4\u0003", + "\u05e4\u0003\u05e4\u0003\u05e4\u0003\u05e4\u0003\u05e4\u0003\u05e4\u0003", + "\u05e4\u0003\u05e4\u0003\u05e4\u0003\u05e4\u0003\u05e5\u0003\u05e5\u0003", + "\u05e5\u0003\u05e5\u0003\u05e5\u0003\u05e5\u0003\u05e5\u0003\u05e5\u0003", + "\u05e5\u0003\u05e5\u0003\u05e5\u0003\u05e5\u0003\u05e5\u0003\u05e5\u0003", + "\u05e5\u0003\u05e5\u0003\u05e6\u0003\u05e6\u0003\u05e6\u0003\u05e6\u0003", + "\u05e6\u0003\u05e6\u0003\u05e6\u0003\u05e6\u0003\u05e6\u0003\u05e6\u0003", + "\u05e6\u0003\u05e6\u0003\u05e6\u0003\u05e6\u0003\u05e7\u0003\u05e7\u0003", + "\u05e7\u0003\u05e7\u0003\u05e8\u0003\u05e8\u0003\u05e8\u0003\u05e8\u0003", + "\u05e8\u0003\u05e9\u0003\u05e9\u0003\u05e9\u0003\u05e9\u0003\u05e9\u0003", + "\u05e9\u0003\u05e9\u0003\u05e9\u0003\u05e9\u0003\u05ea\u0003\u05ea\u0003", + "\u05ea\u0003\u05ea\u0003\u05ea\u0003\u05ea\u0003\u05ea\u0003\u05ea\u0003", + "\u05ea\u0003\u05ea\u0003\u05ea\u0003\u05ea\u0003\u05eb\u0003\u05eb\u0003", + "\u05eb\u0003\u05eb\u0003\u05eb\u0003\u05eb\u0003\u05eb\u0003\u05ec\u0003", + "\u05ec\u0003\u05ec\u0003\u05ec\u0003\u05ec\u0003\u05ec\u0003\u05ec\u0003", + "\u05ec\u0003\u05ec\u0003\u05ec\u0003\u05ec\u0003\u05ec\u0003\u05ed\u0003", + "\u05ed\u0003\u05ed\u0003\u05ed\u0003\u05ed\u0003\u05ed\u0003\u05ed\u0003", + "\u05ee\u0003\u05ee\u0003\u05ee\u0003\u05ee\u0003\u05ee\u0003\u05ee\u0003", + "\u05ef\u0003\u05ef\u0003\u05ef\u0003\u05ef\u0003\u05ef\u0003\u05ef\u0003", + "\u05ef\u0003\u05ef\u0003\u05f0\u0003\u05f0\u0003\u05f0\u0003\u05f0\u0003", + "\u05f0\u0003\u05f0\u0003\u05f0\u0003\u05f0\u0003\u05f0\u0003\u05f0\u0003", + "\u05f1\u0003\u05f1\u0003\u05f1\u0003\u05f1\u0003\u05f1\u0003\u05f2\u0003", + "\u05f2\u0003\u05f2\u0003\u05f2\u0003\u05f2\u0003\u05f2\u0003\u05f2\u0003", + "\u05f3\u0003\u05f3\u0003\u05f3\u0003\u05f3\u0003\u05f3\u0003\u05f3\u0003", + "\u05f3\u0003\u05f3\u0003\u05f3\u0003\u05f4\u0003\u05f4\u0003\u05f4\u0003", + "\u05f4\u0003\u05f4\u0003\u05f4\u0003\u05f4\u0003\u05f4\u0003\u05f4\u0003", + "\u05f5\u0003\u05f5\u0003\u05f5\u0003\u05f5\u0003\u05f6\u0003\u05f6\u0003", + "\u05f6\u0003\u05f6\u0003\u05f6\u0003\u05f6\u0003\u05f6\u0003\u05f6\u0003", + "\u05f6\u0003\u05f6\u0003\u05f6\u0003\u05f6\u0003\u05f6\u0003\u05f6\u0003", + "\u05f6\u0003\u05f6\u0003\u05f6\u0003\u05f7\u0003\u05f7\u0003\u05f7\u0003", + "\u05f7\u0003\u05f7\u0003\u05f7\u0003\u05f7\u0003\u05f7\u0003\u05f7\u0003", + "\u05f7\u0003\u05f7\u0003\u05f7\u0003\u05f7\u0003\u05f7\u0003\u05f7\u0003", + "\u05f7\u0003\u05f8\u0003\u05f8\u0003\u05f8\u0003\u05f8\u0003\u05f8\u0003", + "\u05f9\u0003\u05f9\u0003\u05f9\u0003\u05f9\u0003\u05f9\u0003\u05f9\u0003", + "\u05f9\u0003\u05f9\u0003\u05f9\u0003\u05fa\u0003\u05fa\u0003\u05fa\u0003", + "\u05fa\u0003\u05fa\u0003\u05fa\u0003\u05fa\u0003\u05fa\u0003\u05fa\u0003", + "\u05fa\u0003\u05fa\u0003\u05fa\u0003\u05fa\u0003\u05fa\u0003\u05fa\u0003", + "\u05fb\u0003\u05fb\u0003\u05fb\u0003\u05fb\u0003\u05fb\u0003\u05fb\u0003", + "\u05fb\u0003\u05fc\u0003\u05fc\u0003\u05fc\u0003\u05fc\u0003\u05fc\u0003", + "\u05fc\u0003\u05fc\u0003\u05fd\u0003\u05fd\u0003\u05fd\u0003\u05fd\u0003", + "\u05fd\u0003\u05fd\u0003\u05fd\u0003\u05fd\u0003\u05fd\u0003\u05fd\u0003", + "\u05fd\u0003\u05fe\u0003\u05fe\u0003\u05fe\u0003\u05fe\u0003\u05fe\u0003", + "\u05ff\u0003\u05ff\u0003\u05ff\u0003\u05ff\u0003\u0600\u0003\u0600\u0003", + "\u0600\u0003\u0600\u0003\u0600\u0003\u0601\u0003\u0601\u0003\u0601\u0003", + "\u0601\u0003\u0601\u0003\u0601\u0003\u0601\u0003\u0601\u0003\u0601\u0003", + "\u0601\u0003\u0601\u0003\u0601\u0003\u0601\u0003\u0601\u0003\u0601\u0003", + "\u0601\u0003\u0601\u0003\u0601\u0003\u0601\u0003\u0602\u0003\u0602\u0003", + "\u0602\u0003\u0602\u0003\u0602\u0003\u0603\u0003\u0603\u0003\u0603\u0003", + "\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003", + "\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003", + "\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003\u0603\u0003", + "\u0603\u0003\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003", + "\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003", + "\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003", + "\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003\u0604\u0003\u0605\u0003", + "\u0605\u0003\u0605\u0003\u0605\u0003\u0605\u0003\u0605\u0003\u0605\u0003", + "\u0605\u0003\u0605\u0003\u0605\u0003\u0606\u0003\u0606\u0003\u0606\u0003", + "\u0606\u0003\u0606\u0003\u0606\u0003\u0606\u0003\u0606\u0003\u0606\u0003", + "\u0607\u0003\u0607\u0003\u0607\u0003\u0607\u0003\u0607\u0003\u0607\u0003", + "\u0607\u0003\u0607\u0003\u0607\u0003\u0608\u0003\u0608\u0003\u0608\u0003", + "\u0608\u0003\u0608\u0003\u0609\u0003\u0609\u0003\u0609\u0003\u0609\u0003", + "\u0609\u0003\u060a\u0003\u060a\u0003\u060a\u0003\u060a\u0003\u060a\u0003", + "\u060a\u0003\u060a\u0003\u060a\u0003\u060b\u0003\u060b\u0003\u060b\u0003", + "\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003", + "\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003", + "\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003\u060b\u0003", + "\u060b\u0003\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003", + "\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003", + "\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003", + "\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003\u060c\u0003", + "\u060c\u0003\u060c\u0003\u060d\u0003\u060d\u0003\u060d\u0003\u060d\u0003", + "\u060d\u0003\u060d\u0003\u060d\u0003\u060e\u0003\u060e\u0003\u060e\u0003", + "\u060e\u0003\u060e\u0003\u060e\u0003\u060f\u0003\u060f\u0003\u060f\u0003", + "\u060f\u0003\u060f\u0003\u060f\u0003\u060f\u0003\u060f\u0003\u060f\u0003", + "\u060f\u0003\u060f\u0003\u060f\u0003\u060f\u0003\u060f\u0003\u0610\u0003", + "\u0610\u0003\u0610\u0003\u0610\u0003\u0610\u0003\u0610\u0003\u0610\u0003", + "\u0611\u0003\u0611\u0003\u0611\u0003\u0611\u0003\u0611\u0003\u0611\u0003", + "\u0612\u0003\u0612\u0003\u0612\u0003\u0612\u0003\u0612\u0003\u0612\u0003", + "\u0612\u0003\u0612\u0003\u0612\u0003\u0612\u0003\u0612\u0003\u0612\u0003", + "\u0613\u0003\u0613\u0003\u0613\u0003\u0613\u0003\u0613\u0003\u0613\u0003", + "\u0613\u0003\u0613\u0003\u0614\u0003\u0614\u0003\u0614\u0003\u0614\u0003", + "\u0614\u0003\u0614\u0003\u0614\u0003\u0614\u0003\u0614\u0003\u0615\u0003", + "\u0615\u0003\u0615\u0003\u0615\u0003\u0615\u0003\u0615\u0003\u0615\u0003", + "\u0616\u0003\u0616\u0003\u0616\u0003\u0616\u0003\u0617\u0003\u0617\u0003", + "\u0617\u0003\u0617\u0003\u0617\u0003\u0617\u0003\u0617\u0003\u0617\u0003", + "\u0617\u0003\u0617\u0003\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003", + "\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003", + "\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003", + "\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003\u0618\u0003", + "\u0618\u0003\u0618\u0003\u0619\u0003\u0619\u0003\u0619\u0003\u0619\u0003", + "\u0619\u0003\u061a\u0003\u061a\u0003\u061a\u0003\u061a\u0003\u061a\u0003", + "\u061a\u0003\u061b\u0003\u061b\u0003\u061b\u0003\u061b\u0003\u061b\u0003", + "\u061b\u0003\u061b\u0003\u061b\u0003\u061b\u0003\u061b\u0003\u061b\u0003", + "\u061c\u0003\u061c\u0003\u061c\u0003\u061c\u0003\u061c\u0003\u061c\u0003", + "\u061c\u0003\u061c\u0003\u061c\u0003\u061c\u0003\u061c\u0003\u061c\u0003", + "\u061c\u0003\u061c\u0003\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003", + "\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003", + "\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003", + "\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003\u061d\u0003", + "\u061d\u0003\u061e\u0003\u061e\u0003\u061e\u0003\u061e\u0003\u061e\u0003", + "\u061e\u0003\u061e\u0003\u061e\u0003\u061e\u0003\u061f\u0003\u061f\u0003", + "\u061f\u0003\u061f\u0003\u061f\u0003\u061f\u0003\u061f\u0003\u061f\u0003", + "\u0620\u0003\u0620\u0003\u0620\u0003\u0620\u0003\u0620\u0003\u0621\u0003", + "\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003", + "\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003", + "\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003\u0621\u0003", + "\u0621\u0003\u0622\u0003\u0622\u0003\u0622\u0003\u0622\u0003\u0622\u0003", + "\u0622\u0003\u0623\u0003\u0623\u0003\u0623\u0003\u0623\u0003\u0623\u0003", + "\u0623\u0003\u0623\u0003\u0623\u0003\u0624\u0003\u0624\u0003\u0624\u0003", + "\u0624\u0003\u0624\u0003\u0624\u0003\u0624\u0003\u0624\u0003\u0624\u0003", + "\u0624\u0003\u0624\u0003\u0624\u0003\u0624\u0003\u0625\u0003\u0625\u0003", + "\u0625\u0003\u0625\u0003\u0625\u0003\u0625\u0003\u0625\u0003\u0625\u0003", + "\u0625\u0003\u0625\u0003\u0625\u0003\u0625\u0003\u0625\u0003\u0625\u0003", + "\u0625\u0003\u0625\u0003\u0625\u0003\u0625\u0003\u0626\u0003\u0626\u0003", + "\u0626\u0003\u0626\u0003\u0626\u0003\u0626\u0003\u0626\u0003\u0626\u0003", + "\u0626\u0003\u0626\u0003\u0626\u0003\u0627\u0003\u0627\u0003\u0627\u0003", + "\u0627\u0003\u0627\u0003\u0627\u0003\u0627\u0003\u0627\u0003\u0627\u0003", + "\u0627\u0003\u0628\u0003\u0628\u0003\u0628\u0003\u0628\u0003\u0628\u0003", + "\u0628\u0003\u0629\u0003\u0629\u0003\u0629\u0003\u0629\u0003\u0629\u0003", + "\u0629\u0003\u0629\u0003\u062a\u0003\u062a\u0003\u062a\u0003\u062a\u0003", + "\u062a\u0003\u062a\u0003\u062a\u0003\u062a\u0003\u062a\u0003\u062a\u0003", + "\u062a\u0003\u062b\u0003\u062b\u0003\u062b\u0003\u062b\u0003\u062b\u0003", + "\u062b\u0003\u062b\u0003\u062b\u0003\u062b\u0003\u062b\u0003\u062b\u0003", + "\u062b\u0003\u062b\u0003\u062b\u0003\u062b\u0003\u062b\u0003\u062b\u0003", + "\u062b\u0003\u062b\u0003\u062b\u0003\u062c\u0003\u062c\u0003\u062c\u0003", + "\u062c\u0003\u062c\u0003\u062c\u0003\u062c\u0003\u062c\u0003\u062c\u0003", + "\u062c\u0003\u062c\u0003\u062c\u0003\u062c\u0003\u062c\u0003\u062c\u0003", + "\u062d\u0003\u062d\u0003\u062d\u0003\u062d\u0003\u062d\u0003\u062d\u0003", + "\u062d\u0003\u062d\u0003\u062d\u0003\u062d\u0003\u062d\u0003\u062d\u0003", + "\u062d\u0003\u062e\u0003\u062e\u0003\u062e\u0003\u062e\u0003\u062e\u0003", + "\u062e\u0003\u062e\u0003\u062e\u0003\u062e\u0003\u062e\u0003\u062e\u0003", + "\u062e\u0003\u062e\u0003\u062e\u0003\u062f\u0003\u062f\u0003\u062f\u0003", + "\u062f\u0003\u062f\u0003\u062f\u0003\u062f\u0003\u062f\u0003\u062f\u0003", + "\u062f\u0003\u062f\u0003\u0630\u0003\u0630\u0003\u0630\u0003\u0630\u0003", + "\u0630\u0003\u0630\u0003\u0630\u0003\u0630\u0003\u0630\u0003\u0630\u0003", + "\u0630\u0003\u0630\u0003\u0630\u0003\u0630\u0003\u0631\u0003\u0631\u0003", + "\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003", + "\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003", + "\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003\u0631\u0003", + "\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003", + "\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003", + "\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003\u0632\u0003", + "\u0632\u0003\u0633\u0003\u0633\u0003\u0633\u0003\u0633\u0003\u0633\u0003", + "\u0633\u0003\u0633\u0003\u0633\u0003\u0633\u0003\u0633\u0003\u0633\u0003", + "\u0633\u0003\u0633\u0003\u0633\u0003\u0633\u0003\u0633\u0003\u0633\u0003", + "\u0633\u0003\u0633\u0003\u0633\u0003\u0634\u0003\u0634\u0003\u0634\u0003", + "\u0634\u0003\u0634\u0003\u0634\u0003\u0634\u0003\u0634\u0003\u0634\u0003", + "\u0634\u0003\u0634\u0003\u0634\u0003\u0634\u0003\u0634\u0003\u0634\u0003", + "\u0634\u0003\u0634\u0003\u0635\u0003\u0635\u0003\u0635\u0003\u0635\u0003", + "\u0635\u0003\u0635\u0003\u0635\u0003\u0635\u0003\u0635\u0003\u0635\u0003", + "\u0635\u0003\u0635\u0003\u0635\u0003\u0635\u0003\u0635\u0003\u0635\u0003", + "\u0635\u0003\u0635\u0003\u0635\u0003\u0635\u0003\u0636\u0003\u0636\u0003", + "\u0636\u0003\u0636\u0003\u0636\u0003\u0636\u0003\u0636\u0003\u0636\u0003", + "\u0636\u0003\u0636\u0003\u0636\u0003\u0636\u0003\u0636\u0003\u0636\u0003", + "\u0636\u0003\u0637\u0003\u0637\u0003\u0637\u0003\u0637\u0003\u0637\u0003", + "\u0637\u0003\u0637\u0003\u0637\u0003\u0637\u0003\u0637\u0003\u0637\u0003", + "\u0638\u0003\u0638\u0003\u0638\u0003\u0638\u0003\u0638\u0003\u0638\u0003", + "\u0638\u0003\u0638\u0003\u0638\u0003\u0638\u0003\u0638\u0003\u0638\u0003", + "\u0639\u0003\u0639\u0003\u0639\u0003\u0639\u0003\u0639\u0003\u063a\u0003", + "\u063a\u0003\u063a\u0003\u063a\u0003\u063a\u0003\u063a\u0003\u063a\u0003", + "\u063a\u0003\u063b\u0003\u063b\u0003\u063b\u0003\u063b\u0003\u063b\u0003", + "\u063b\u0003\u063c\u0003\u063c\u0003\u063c\u0003\u063c\u0003\u063c\u0003", + "\u063c\u0003\u063c\u0003\u063c\u0003\u063d\u0003\u063d\u0003\u063d\u0003", + "\u063d\u0003\u063d\u0003\u063d\u0003\u063d\u0003\u063e\u0003\u063e\u0003", + "\u063e\u0003\u063e\u0003\u063e\u0003\u063e\u0003\u063e\u0003\u063f\u0003", + "\u063f\u0003\u063f\u0003\u063f\u0003\u063f\u0003\u063f\u0003\u063f\u0003", + "\u0640\u0003\u0640\u0003\u0640\u0003\u0640\u0003\u0640\u0003\u0640\u0003", + "\u0640\u0003\u0640\u0003\u0640\u0003\u0640\u0003\u0640\u0003\u0640\u0003", + "\u0640\u0003\u0640\u0003\u0640\u0003\u0641\u0003\u0641\u0003\u0641\u0003", + "\u0641\u0003\u0641\u0003\u0641\u0003\u0641\u0003\u0641\u0003\u0641\u0003", + "\u0641\u0003\u0641\u0003\u0641\u0003\u0641\u0003\u0642\u0003\u0642\u0003", + "\u0642\u0003\u0642\u0003\u0642\u0003\u0642\u0003\u0643\u0003\u0643\u0003", + "\u0643\u0003\u0643\u0003\u0643\u0003\u0643\u0003\u0643\u0003\u0643\u0003", + "\u0643\u0003\u0643\u0003\u0644\u0003\u0644\u0003\u0644\u0003\u0644\u0003", + "\u0644\u0003\u0644\u0003\u0644\u0003\u0644\u0003\u0644\u0003\u0644\u0003", + "\u0644\u0003\u0644\u0003\u0645\u0003\u0645\u0003\u0645\u0003\u0645\u0003", + "\u0645\u0003\u0645\u0003\u0645\u0003\u0645\u0003\u0645\u0003\u0645\u0003", + "\u0645\u0003\u0645\u0003\u0645\u0003\u0645\u0003\u0645\u0003\u0645\u0003", + "\u0645\u0003\u0646\u0003\u0646\u0003\u0646\u0003\u0646\u0003\u0646\u0003", + "\u0646\u0003\u0646\u0003\u0646\u0003\u0646\u0003\u0646\u0003\u0646\u0003", + "\u0646\u0003\u0646\u0003\u0646\u0003\u0647\u0003\u0647\u0003\u0647\u0003", + "\u0647\u0003\u0647\u0003\u0647\u0003\u0647\u0003\u0647\u0003\u0647\u0003", + "\u0647\u0003\u0647\u0003\u0647\u0003\u0647\u0003\u0648\u0003\u0648\u0003", + "\u0648\u0003\u0648\u0003\u0648\u0003\u0648\u0003\u0648\u0003\u0648\u0003", + "\u0648\u0003\u0648\u0003\u0648\u0003\u0649\u0003\u0649\u0003\u0649\u0003", + "\u0649\u0003\u0649\u0003\u0649\u0003\u0649\u0003\u0649\u0003\u0649\u0003", + "\u0649\u0003\u0649\u0003\u0649\u0003\u0649\u0003\u0649\u0003\u0649\u0003", + "\u0649\u0003\u0649\u0003\u064a\u0003\u064a\u0003\u064a\u0003\u064a\u0003", + "\u064a\u0003\u064a\u0003\u064a\u0003\u064a\u0003\u064a\u0003\u064a\u0003", + "\u064b\u0003\u064b\u0003\u064b\u0003\u064b\u0003\u064b\u0003\u064b\u0003", + "\u064b\u0003\u064c\u0003\u064c\u0003\u064c\u0003\u064c\u0003\u064c\u0003", + "\u064c\u0003\u064c\u0003\u064c\u0003\u064c\u0003\u064c\u0003\u064c\u0003", + "\u064c\u0003\u064c\u0003\u064c\u0003\u064d\u0003\u064d\u0003\u064d\u0003", + "\u064d\u0003\u064d\u0003\u064d\u0003\u064d\u0003\u064d\u0003\u064e\u0003", + "\u064e\u0003\u064e\u0003\u064e\u0003\u064e\u0003\u064e\u0003\u064e\u0003", + "\u064e\u0003\u064f\u0003\u064f\u0003\u064f\u0003\u064f\u0003\u064f\u0003", + "\u064f\u0003\u064f\u0003\u064f\u0003\u0650\u0003\u0650\u0003\u0650\u0003", + "\u0650\u0003\u0650\u0003\u0650\u0003\u0650\u0003\u0650\u0003\u0651\u0003", + "\u0651\u0003\u0651\u0003\u0651\u0003\u0651\u0003\u0651\u0003\u0651\u0003", + "\u0651\u0003\u0652\u0003\u0652\u0003\u0652\u0003\u0652\u0003\u0652\u0003", + "\u0652\u0003\u0652\u0003\u0652\u0003\u0652\u0003\u0652\u0003\u0652\u0003", + "\u0653\u0003\u0653\u0003\u0653\u0003\u0653\u0003\u0653\u0003\u0653\u0003", + "\u0653\u0003\u0653\u0003\u0654\u0003\u0654\u0003\u0654\u0003\u0654\u0003", + "\u0654\u0003\u0654\u0003\u0654\u0003\u0654\u0003\u0655\u0003\u0655\u0003", + "\u0655\u0003\u0655\u0003\u0655\u0003\u0655\u0003\u0655\u0003\u0655\u0003", + "\u0655\u0003\u0655\u0003\u0655\u0003\u0655\u0003\u0655\u0003\u0656\u0003", + "\u0656\u0003\u0656\u0003\u0656\u0003\u0656\u0003\u0656\u0003\u0656\u0003", + "\u0656\u0003\u0657\u0003\u0657\u0003\u0657\u0003\u0657\u0003\u0657\u0003", + "\u0657\u0003\u0657\u0003\u0657\u0003\u0657\u0003\u0657\u0003\u0657\u0003", + "\u0657\u0003\u0657\u0003\u0657\u0003\u0657\u0003\u0657\u0003\u0657\u0003", + "\u0658\u0003\u0658\u0003\u0658\u0003\u0658\u0003\u0658\u0003\u0658\u0003", + "\u0658\u0003\u0658\u0003\u0658\u0003\u0658\u0003\u0658\u0003\u0659\u0003", + "\u0659\u0003\u0659\u0003\u0659\u0003\u0659\u0003\u0659\u0003\u0659\u0003", + "\u065a\u0003\u065a\u0003\u065a\u0003\u065a\u0003\u065a\u0003\u065a\u0003", + "\u065a\u0003\u065a\u0003\u065a\u0003\u065a\u0003\u065a\u0003\u065a\u0003", + "\u065b\u0003\u065b\u0003\u065b\u0003\u065b\u0003\u065b\u0003\u065c\u0003", + "\u065c\u0003\u065c\u0003\u065c\u0003\u065c\u0003\u065c\u0003\u065c\u0003", + "\u065c\u0003\u065d\u0003\u065d\u0003\u065d\u0003\u065d\u0003\u065d\u0003", + "\u065d\u0003\u065d\u0003\u065e\u0003\u065e\u0003\u065e\u0003\u065e\u0003", + "\u065e\u0003\u065e\u0003\u065e\u0003\u065e\u0003\u065e\u0003\u065e\u0003", + "\u065f\u0003\u065f\u0003\u065f\u0003\u065f\u0003\u065f\u0003\u065f\u0003", + "\u065f\u0003\u0660\u0003\u0660\u0003\u0660\u0003\u0660\u0003\u0660\u0003", + "\u0660\u0003\u0660\u0003\u0660\u0003\u0660\u0003\u0660\u0003\u0661\u0003", + "\u0661\u0003\u0661\u0003\u0661\u0003\u0661\u0003\u0661\u0003\u0661\u0003", + "\u0661\u0003\u0661\u0003\u0661\u0003\u0661\u0003\u0661\u0003\u0661\u0003", + "\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003", + "\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003", + "\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003\u0662\u0003", + "\u0662\u0003\u0662\u0003\u0663\u0003\u0663\u0003\u0663\u0003\u0663\u0003", + "\u0663\u0003\u0663\u0003\u0663\u0003\u0663\u0003\u0663\u0003\u0663\u0003", + "\u0663\u0003\u0663\u0003\u0663\u0003\u0663\u0003\u0663\u0003\u0663\u0003", + "\u0663\u0003\u0663\u0003\u0663\u0003\u0663\u0003\u0664\u0003\u0664\u0003", + "\u0664\u0003\u0664\u0003\u0664\u0003\u0664\u0003\u0664\u0003\u0664\u0003", + "\u0664\u0003\u0664\u0003\u0664\u0003\u0664\u0003\u0665\u0003\u0665\u0003", + "\u0665\u0003\u0665\u0003\u0665\u0003\u0665\u0003\u0665\u0003\u0665\u0003", + "\u0666\u0003\u0666\u0003\u0666\u0003\u0666\u0003\u0666\u0003\u0666\u0003", + "\u0666\u0003\u0667\u0003\u0667\u0003\u0667\u0003\u0667\u0003\u0667\u0003", + "\u0667\u0003\u0667\u0003\u0667\u0003\u0667\u0003\u0667\u0003\u0667\u0003", + "\u0667\u0003\u0667\u0003\u0668\u0003\u0668\u0003\u0668\u0003\u0668\u0003", + "\u0668\u0003\u0668\u0003\u0669\u0003\u0669\u0003\u0669\u0003\u0669\u0003", + "\u0669\u0003\u0669\u0003\u0669\u0003\u0669\u0003\u0669\u0003\u0669\u0003", + "\u0669\u0003\u0669\u0003\u0669\u0003\u0669\u0003\u066a\u0003\u066a\u0003", + "\u066a\u0003\u066a\u0003\u066a\u0003\u066a\u0003\u066a\u0003\u066a\u0003", + "\u066a\u0003\u066a\u0003\u066a\u0003\u066a\u0003\u066a\u0003\u066a\u0003", + "\u066a\u0003\u066a\u0003\u066a\u0003\u066a\u0003\u066b\u0003\u066b\u0003", + "\u066b\u0003\u066b\u0003\u066b\u0003\u066b\u0003\u066b\u0003\u066b\u0003", + "\u066b\u0003\u066b\u0003\u066b\u0003\u066b\u0003\u066b\u0003\u066b\u0003", + "\u066b\u0003\u066b\u0003\u066b\u0003\u066b\u0003\u066c\u0003\u066c\u0003", + "\u066c\u0003\u066c\u0003\u066c\u0003\u066c\u0003\u066c\u0003\u066c\u0003", + "\u066c\u0003\u066c\u0003\u066c\u0003\u066c\u0003\u066c\u0003\u066c\u0003", + "\u066c\u0003\u066c\u0003\u066d\u0003\u066d\u0003\u066d\u0003\u066d\u0003", + "\u066d\u0003\u066d\u0003\u066d\u0003\u066d\u0003\u066d\u0003\u066d\u0003", + "\u066d\u0003\u066d\u0003\u066d\u0003\u066d\u0003\u066d\u0003\u066d\u0003", + "\u066d\u0003\u066e\u0003\u066e\u0003\u066e\u0003\u066e\u0003\u066e\u0003", + "\u066e\u0003\u066e\u0003\u066e\u0003\u066e\u0003\u066e\u0003\u066e\u0003", + "\u066e\u0003\u066e\u0003\u066e\u0003\u066e\u0003\u066e\u0003\u066e\u0003", + "\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003", + "\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003", + "\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003\u066f\u0003", + "\u066f\u0003\u066f\u0003\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003", + "\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003", + "\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003", + "\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003\u0670\u0003\u0671\u0003", + "\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003", + "\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003", + "\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003\u0671\u0003", + "\u0671\u0003\u0671\u0003\u0672\u0003\u0672\u0003\u0672\u0003\u0672\u0003", + "\u0672\u0003\u0672\u0003\u0672\u0003\u0672\u0003\u0672\u0003\u0672\u0003", + "\u0672\u0003\u0672\u0003\u0672\u0003\u0672\u0003\u0672\u0003\u0672\u0003", + "\u0672\u0003\u0672\u0003\u0672\u0003\u0672\u0003\u0673\u0003\u0673\u0003", + "\u0673\u0003\u0673\u0003\u0673\u0003\u0673\u0003\u0673\u0003\u0673\u0003", + "\u0673\u0003\u0673\u0003\u0673\u0003\u0673\u0003\u0673\u0003\u0674\u0003", + "\u0674\u0003\u0674\u0003\u0674\u0003\u0674\u0003\u0674\u0003\u0674\u0003", + "\u0674\u0003\u0674\u0003\u0674\u0003\u0674\u0003\u0674\u0003\u0674\u0003", + "\u0674\u0003\u0674\u0003\u0674\u0003\u0675\u0003\u0675\u0003\u0675\u0003", + "\u0675\u0003\u0675\u0003\u0675\u0003\u0675\u0003\u0675\u0003\u0675\u0003", + "\u0675\u0003\u0675\u0003\u0675\u0003\u0675\u0003\u0675\u0003\u0675\u0003", + "\u0676\u0003\u0676\u0003\u0676\u0003\u0676\u0003\u0676\u0003\u0676\u0003", + "\u0676\u0003\u0676\u0003\u0676\u0003\u0676\u0003\u0676\u0003\u0676\u0003", + "\u0676\u0003\u0676\u0003\u0676\u0003\u0676\u0003\u0677\u0003\u0677\u0003", + "\u0677\u0003\u0677\u0003\u0677\u0003\u0677\u0003\u0677\u0003\u0677\u0003", + "\u0677\u0003\u0677\u0003\u0677\u0003\u0677\u0003\u0677\u0003\u0677\u0003", + "\u0678\u0003\u0678\u0003\u0678\u0003\u0678\u0003\u0678\u0003\u0678\u0003", + "\u0678\u0003\u0678\u0003\u0678\u0003\u0678\u0003\u0678\u0003\u0678\u0003", + "\u0678\u0003\u0678\u0003\u0679\u0003\u0679\u0003\u0679\u0003\u0679\u0003", + "\u0679\u0003\u0679\u0003\u0679\u0003\u0679\u0003\u0679\u0003\u0679\u0003", + "\u0679\u0003\u0679\u0003\u0679\u0003\u0679\u0003\u0679\u0003\u067a\u0003", + "\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003", + "\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003", + "\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003\u067a\u0003", + "\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003", + "\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003", + "\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003\u067b\u0003", + "\u067b\u0003\u067c\u0003\u067c\u0003\u067c\u0003\u067c\u0003\u067c\u0003", + "\u067c\u0003\u067c\u0003\u067c\u0003\u067c\u0003\u067c\u0003\u067c\u0003", + "\u067c\u0003\u067c\u0003\u067c\u0003\u067c\u0003\u067d\u0003\u067d\u0003", + "\u067d\u0003\u067d\u0003\u067d\u0003\u067d\u0003\u067d\u0003\u067d\u0003", + "\u067d\u0003\u067d\u0003\u067d\u0003\u067d\u0003\u067d\u0003\u067d\u0003", + "\u067e\u0003\u067e\u0003\u067e\u0003\u067e\u0003\u067e\u0003\u067e\u0003", + "\u067e\u0003\u067e\u0003\u067e\u0003\u067f\u0003\u067f\u0003\u067f\u0003", + "\u067f\u0003\u067f\u0003\u067f\u0003\u067f\u0003\u067f\u0003\u0680\u0003", + "\u0680\u0003\u0680\u0003\u0680\u0003\u0680\u0003\u0680\u0003\u0681\u0003", + "\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003", + "\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003", + "\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003\u0681\u0003", + "\u0682\u0003\u0682\u0003\u0682\u0003\u0682\u0003\u0682\u0003\u0682\u0003", + "\u0682\u0003\u0682\u0003\u0682\u0003\u0682\u0003\u0682\u0003\u0682\u0003", + "\u0683\u0003\u0683\u0003\u0683\u0003\u0683\u0003\u0683\u0003\u0683\u0003", + "\u0683\u0003\u0683\u0003\u0683\u0003\u0683\u0003\u0683\u0003\u0683\u0003", + "\u0683\u0003\u0683\u0003\u0684\u0003\u0684\u0003\u0684\u0003\u0684\u0003", + "\u0684\u0003\u0684\u0003\u0684\u0003\u0684\u0003\u0684\u0003\u0684\u0003", + "\u0685\u0003\u0685\u0003\u0685\u0003\u0685\u0003\u0685\u0003\u0685\u0003", + "\u0685\u0003\u0686\u0003\u0686\u0003\u0686\u0003\u0686\u0003\u0686\u0003", + "\u0686\u0003\u0686\u0003\u0686\u0003\u0686\u0003\u0686\u0003\u0686\u0003", + "\u0686\u0003\u0686\u0003\u0686\u0003\u0686\u0003\u0687\u0003\u0687\u0003", + "\u0687\u0003\u0687\u0003\u0687\u0003\u0687\u0003\u0687\u0003\u0687\u0003", + "\u0687\u0003\u0687\u0003\u0687\u0003\u0687\u0003\u0687\u0003\u0687\u0003", + "\u0687\u0003\u0688\u0003\u0688\u0003\u0688\u0003\u0688\u0003\u0688\u0003", + "\u0688\u0003\u0688\u0003\u0688\u0003\u0688\u0003\u0688\u0003\u0688\u0003", + "\u0688\u0003\u0688\u0003\u0688\u0003\u0688\u0003\u0688\u0003\u0689\u0003", + "\u0689\u0003\u0689\u0003\u0689\u0003\u0689\u0003\u0689\u0003\u0689\u0003", + "\u0689\u0003\u0689\u0003\u0689\u0003\u0689\u0003\u068a\u0003\u068a\u0003", + "\u068a\u0003\u068a\u0003\u068a\u0003\u068a\u0003\u068a\u0003\u068a\u0003", + "\u068a\u0003\u068a\u0003\u068a\u0003\u068a\u0003\u068a\u0003\u068a\u0003", + "\u068a\u0003\u068b\u0003\u068b\u0003\u068b\u0003\u068b\u0003\u068b\u0003", + "\u068b\u0003\u068b\u0003\u068b\u0003\u068b\u0003\u068b\u0003\u068b\u0003", + "\u068b\u0003\u068b\u0003\u068b\u0003\u068c\u0003\u068c\u0003\u068c\u0003", + "\u068c\u0003\u068c\u0003\u068c\u0003\u068c\u0003\u068c\u0003\u068c\u0003", + "\u068c\u0003\u068c\u0003\u068c\u0003\u068d\u0003\u068d\u0003\u068d\u0003", + "\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003", + "\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003", + "\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003", + "\u068d\u0003\u068d\u0003\u068d\u0003\u068d\u0003\u068e\u0003\u068e\u0003", + "\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003", + "\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003", + "\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003\u068e\u0003", + "\u068f\u0003\u068f\u0003\u068f\u0003\u068f\u0003\u068f\u0003\u068f\u0003", + "\u068f\u0003\u068f\u0003\u068f\u0003\u068f\u0003\u068f\u0003\u0690\u0003", + "\u0690\u0003\u0690\u0003\u0690\u0003\u0690\u0003\u0690\u0003\u0690\u0003", + "\u0690\u0003\u0690\u0003\u0690\u0003\u0690\u0003\u0690\u0003\u0691\u0003", + "\u0691\u0003\u0691\u0003\u0691\u0003\u0691\u0003\u0691\u0003\u0691\u0003", + "\u0691\u0003\u0691\u0003\u0691\u0003\u0691\u0003\u0692\u0003\u0692\u0003", + "\u0692\u0003\u0692\u0003\u0692\u0003\u0692\u0003\u0692\u0003\u0692\u0003", + "\u0692\u0003\u0692\u0003\u0692\u0003\u0692\u0003\u0693\u0003\u0693\u0003", + "\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003", + "\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003", + "\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003\u0693\u0003", + "\u0693\u0003\u0694\u0003\u0694\u0003\u0694\u0003\u0694\u0003\u0694\u0003", + "\u0694\u0003\u0694\u0003\u0694\u0003\u0694\u0003\u0694\u0003\u0694\u0003", + "\u0694\u0003\u0695\u0003\u0695\u0003\u0695\u0003\u0695\u0003\u0695\u0003", + "\u0695\u0003\u0695\u0003\u0695\u0003\u0695\u0003\u0695\u0003\u0695\u0003", + "\u0695\u0003\u0695\u0003\u0695\u0003\u0695\u0003\u0696\u0003\u0696\u0003", + "\u0696\u0003\u0696\u0003\u0696\u0003\u0696\u0003\u0696\u0003\u0696\u0003", + "\u0696\u0003\u0696\u0003\u0696\u0003\u0696\u0003\u0696\u0003\u0696\u0003", + "\u0696\u0003\u0696\u0003\u0697\u0003\u0697\u0003\u0697\u0003\u0697\u0003", + "\u0697\u0003\u0697\u0003\u0697\u0003\u0697\u0003\u0697\u0003\u0697\u0003", + "\u0697\u0003\u0697\u0003\u0697\u0003\u0697\u0003\u0698\u0003\u0698\u0003", + "\u0698\u0003\u0698\u0003\u0698\u0003\u0698\u0003\u0698\u0003\u0698\u0003", + "\u0698\u0003\u0698\u0003\u0698\u0003\u0698\u0003\u0698\u0003\u0698\u0003", + "\u0698\u0003\u0698\u0003\u0698\u0003\u0698\u0003\u0699\u0003\u0699\u0003", + "\u0699\u0003\u0699\u0003\u0699\u0003\u0699\u0003\u0699\u0003\u0699\u0003", + "\u0699\u0003\u0699\u0003\u0699\u0003\u069a\u0003\u069a\u0003\u069a\u0003", + "\u069a\u0003\u069a\u0003\u069a\u0003\u069a\u0003\u069a\u0003\u069a\u0003", + "\u069a\u0003\u069a\u0003\u069a\u0003\u069a\u0003\u069a\u0003\u069a\u0003", + "\u069a\u0003\u069a\u0003\u069b\u0003\u069b\u0003\u069b\u0003\u069b\u0003", + "\u069b\u0003\u069b\u0003\u069b\u0003\u069b\u0003\u069b\u0003\u069b\u0003", + "\u069b\u0003\u069b\u0003\u069b\u0003\u069b\u0003\u069b\u0003\u069b\u0003", + "\u069b\u0003\u069b\u0003\u069c\u0003\u069c\u0003\u069c\u0003\u069c\u0003", + "\u069c\u0003\u069c\u0003\u069c\u0003\u069c\u0003\u069c\u0003\u069c\u0003", + "\u069c\u0003\u069c\u0003\u069c\u0003\u069c\u0003\u069d\u0003\u069d\u0003", + "\u069d\u0003\u069d\u0003\u069d\u0003\u069d\u0003\u069d\u0003\u069d\u0003", + "\u069d\u0003\u069d\u0003\u069d\u0003\u069d\u0003\u069d\u0003\u069d\u0003", + "\u069d\u0003\u069e\u0003\u069e\u0003\u069e\u0003\u069e\u0003\u069e\u0003", + "\u069e\u0003\u069e\u0003\u069e\u0003\u069e\u0003\u069e\u0003\u069e\u0003", + "\u069e\u0003\u069e\u0003\u069e\u0003\u069e\u0003\u069e\u0003\u069f\u0003", + "\u069f\u0003\u069f\u0003\u069f\u0003\u069f\u0003\u069f\u0003\u069f\u0003", + "\u069f\u0003\u069f\u0003\u069f\u0003\u069f\u0003\u06a0\u0003\u06a0\u0003", + "\u06a0\u0003\u06a0\u0003\u06a0\u0003\u06a0\u0003\u06a0\u0003\u06a0\u0003", + "\u06a0\u0003\u06a0\u0003\u06a0\u0003\u06a0\u0003\u06a1\u0003\u06a1\u0003", + "\u06a1\u0003\u06a1\u0003\u06a1\u0003\u06a1\u0003\u06a1\u0003\u06a1\u0003", + "\u06a1\u0003\u06a1\u0003\u06a1\u0003\u06a1\u0003\u06a1\u0003\u06a1\u0003", + "\u06a1\u0003\u06a1\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003", + "\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003", + "\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003", + "\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a2\u0003", + "\u06a2\u0003\u06a2\u0003\u06a2\u0003\u06a3\u0003\u06a3\u0003\u06a3\u0003", + "\u06a3\u0003\u06a3\u0003\u06a3\u0003\u06a3\u0003\u06a3\u0003\u06a4\u0003", + "\u06a4\u0003\u06a4\u0003\u06a4\u0003\u06a4\u0003\u06a4\u0003\u06a4\u0003", + "\u06a4\u0003\u06a4\u0003\u06a4\u0003\u06a4\u0003\u06a4\u0003\u06a4\u0003", + "\u06a4\u0003\u06a4\u0003\u06a5\u0003\u06a5\u0003\u06a5\u0003\u06a5\u0003", + "\u06a5\u0003\u06a5\u0003\u06a5\u0003\u06a5\u0003\u06a5\u0003\u06a5\u0003", + "\u06a5\u0003\u06a5\u0003\u06a5\u0003\u06a5\u0003\u06a5\u0003\u06a5\u0003", + "\u06a6\u0003\u06a6\u0003\u06a6\u0003\u06a6\u0003\u06a6\u0003\u06a6\u0003", + "\u06a6\u0003\u06a6\u0003\u06a6\u0003\u06a6\u0003\u06a6\u0003\u06a6\u0003", + "\u06a7\u0003\u06a7\u0003\u06a7\u0003\u06a7\u0003\u06a7\u0003\u06a7\u0003", + "\u06a7\u0003\u06a7\u0003\u06a7\u0003\u06a7\u0003\u06a7\u0003\u06a7\u0003", + "\u06a8\u0003\u06a8\u0003\u06a8\u0003\u06a8\u0003\u06a8\u0003\u06a8\u0003", + "\u06a8\u0003\u06a8\u0003\u06a8\u0003\u06a8\u0003\u06a8\u0003\u06a9\u0003", + "\u06a9\u0003\u06a9\u0003\u06a9\u0003\u06a9\u0003\u06a9\u0003\u06a9\u0003", + "\u06a9\u0003\u06a9\u0003\u06a9\u0003\u06a9\u0003\u06aa\u0003\u06aa\u0003", + "\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003", + "\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003", + "\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003", + "\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06aa\u0003\u06ab\u0003", + "\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003", + "\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003", + "\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003", + "\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003", + "\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ab\u0003\u06ac\u0003", + "\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003", + "\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003", + "\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003", + "\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003\u06ac\u0003", + "\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003", + "\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003", + "\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003", + "\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003", + "\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ad\u0003\u06ae\u0003\u06ae\u0003", + "\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003", + "\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003", + "\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003\u06ae\u0003", + "\u06ae\u0003\u06ae\u0003\u06af\u0003\u06af\u0003\u06af\u0003\u06af\u0003", + "\u06af\u0003\u06af\u0003\u06af\u0003\u06af\u0003\u06af\u0003\u06af\u0003", + "\u06af\u0003\u06af\u0003\u06b0\u0003\u06b0\u0003\u06b0\u0003\u06b0\u0003", + "\u06b0\u0003\u06b0\u0003\u06b0\u0003\u06b0\u0003\u06b0\u0003\u06b0\u0003", + "\u06b0\u0003\u06b0\u0003\u06b0\u0003\u06b0\u0003\u06b0\u0003\u06b0\u0003", + "\u06b0\u0003\u06b0\u0003\u06b0\u0003\u06b1\u0003\u06b1\u0003\u06b1\u0003", + "\u06b1\u0003\u06b1\u0003\u06b1\u0003\u06b1\u0003\u06b1\u0003\u06b1\u0003", + "\u06b1\u0003\u06b1\u0003\u06b1\u0003\u06b1\u0003\u06b1\u0003\u06b1\u0003", + "\u06b1\u0003\u06b1\u0003\u06b1\u0003\u06b1\u0003\u06b2\u0003\u06b2\u0003", + "\u06b2\u0003\u06b2\u0003\u06b2\u0003\u06b2\u0003\u06b2\u0003\u06b2\u0003", + "\u06b2\u0003\u06b2\u0003\u06b2\u0003\u06b2\u0003\u06b2\u0003\u06b2\u0003", + "\u06b2\u0003\u06b2\u0003\u06b2\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003", + "\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003", + "\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003", + "\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b3\u0003\u06b4\u0003", + "\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b4\u0003", + "\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b4\u0003", + "\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b4\u0003\u06b5\u0003", + "\u06b5\u0003\u06b5\u0003\u06b5\u0003\u06b5\u0003\u06b5\u0003\u06b5\u0003", + "\u06b5\u0003\u06b5\u0003\u06b5\u0003\u06b5\u0003\u06b5\u0003\u06b6\u0003", + "\u06b6\u0003\u06b6\u0003\u06b6\u0003\u06b6\u0003\u06b6\u0003\u06b6\u0003", + "\u06b6\u0003\u06b6\u0003\u06b6\u0003\u06b6\u0003\u06b7\u0003\u06b7\u0003", + "\u06b7\u0003\u06b7\u0003\u06b7\u0003\u06b7\u0003\u06b7\u0003\u06b7\u0003", + "\u06b7\u0003\u06b7\u0003\u06b7\u0003\u06b7\u0003\u06b7\u0003\u06b7\u0003", + "\u06b7\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003", + "\u06b8\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003", + "\u06b8\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003\u06b8\u0003", + "\u06b8\u0003\u06b8\u0003\u06b9\u0003\u06b9\u0003\u06b9\u0003\u06b9\u0003", + "\u06b9\u0003\u06b9\u0003\u06b9\u0003\u06b9\u0003\u06b9\u0003\u06b9\u0003", + "\u06b9\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003", + "\u06ba\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003", + "\u06ba\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003\u06ba\u0003", + "\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bb\u0003", + "\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bb\u0003", + "\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bb\u0003\u06bc\u0003", + "\u06bc\u0003\u06bc\u0003\u06bc\u0003\u06bc\u0003\u06bc\u0003\u06bc\u0003", + "\u06bc\u0003\u06bc\u0003\u06bc\u0003\u06bc\u0003\u06bd\u0003\u06bd\u0003", + "\u06bd\u0003\u06bd\u0003\u06bd\u0003\u06bd\u0003\u06bd\u0003\u06bd\u0003", + "\u06bd\u0003\u06bd\u0003\u06bd\u0003\u06be\u0003\u06be\u0003\u06be\u0003", + "\u06be\u0003\u06be\u0003\u06be\u0003\u06be\u0003\u06be\u0003\u06be\u0003", + "\u06be\u0003\u06be\u0003\u06be\u0003\u06be\u0003\u06be\u0003\u06be\u0003", + "\u06be\u0003\u06bf\u0003\u06bf\u0003\u06bf\u0003\u06bf\u0003\u06bf\u0003", + "\u06bf\u0003\u06bf\u0003\u06bf\u0003\u06bf\u0003\u06bf\u0003\u06bf\u0003", + "\u06bf\u0003\u06bf\u0003\u06bf\u0003\u06bf\u0003\u06c0\u0003\u06c0\u0003", + "\u06c0\u0003\u06c0\u0003\u06c0\u0003\u06c0\u0003\u06c0\u0003\u06c0\u0003", + "\u06c0\u0003\u06c0\u0003\u06c0\u0003\u06c0\u0003\u06c0\u0003\u06c0\u0003", + "\u06c0\u0003\u06c0\u0003\u06c1\u0003\u06c1\u0003\u06c1\u0003\u06c1\u0003", + "\u06c1\u0003\u06c1\u0003\u06c1\u0003\u06c1\u0003\u06c1\u0003\u06c1\u0003", + "\u06c1\u0003\u06c1\u0003\u06c1\u0003\u06c1\u0003\u06c1\u0003\u06c1\u0003", + "\u06c2\u0003\u06c2\u0003\u06c2\u0003\u06c2\u0003\u06c2\u0003\u06c2\u0003", + "\u06c2\u0003\u06c2\u0003\u06c2\u0003\u06c2\u0003\u06c2\u0003\u06c2\u0003", + "\u06c2\u0003\u06c2\u0003\u06c2\u0003\u06c3\u0003\u06c3\u0003\u06c3\u0003", + "\u06c3\u0003\u06c3\u0003\u06c3\u0003\u06c3\u0003\u06c3\u0003\u06c3\u0003", + "\u06c3\u0003\u06c3\u0003\u06c3\u0003\u06c3\u0003\u06c4\u0003\u06c4\u0003", + "\u06c4\u0003\u06c4\u0003\u06c4\u0003\u06c4\u0003\u06c4\u0003\u06c4\u0003", + "\u06c4\u0003\u06c4\u0003\u06c4\u0003\u06c4\u0003\u06c4\u0003\u06c4\u0003", + "\u06c4\u0003\u06c4\u0003\u06c5\u0003\u06c5\u0003\u06c5\u0003\u06c5\u0003", + "\u06c5\u0003\u06c5\u0003\u06c5\u0003\u06c5\u0003\u06c5\u0003\u06c5\u0003", + "\u06c5\u0003\u06c5\u0003\u06c5\u0003\u06c5\u0003\u06c6\u0003\u06c6\u0003", + "\u06c6\u0003\u06c6\u0003\u06c6\u0003\u06c6\u0003\u06c6\u0003\u06c6\u0003", + "\u06c6\u0003\u06c6\u0003\u06c6\u0003\u06c7\u0003\u06c7\u0003\u06c7\u0003", + "\u06c7\u0003\u06c7\u0003\u06c7\u0003\u06c7\u0003\u06c7\u0003\u06c7\u0003", + "\u06c7\u0003\u06c7\u0003\u06c7\u0003\u06c7\u0003\u06c7\u0003\u06c7\u0003", + "\u06c8\u0003\u06c8\u0003\u06c8\u0003\u06c8\u0003\u06c8\u0003\u06c8\u0003", + "\u06c8\u0003\u06c8\u0003\u06c8\u0003\u06c8\u0003\u06c8\u0003\u06c8\u0003", + "\u06c8\u0003\u06c9\u0003\u06c9\u0003\u06c9\u0003\u06c9\u0003\u06c9\u0003", + "\u06c9\u0003\u06c9\u0003\u06c9\u0003\u06c9\u0003\u06c9\u0003\u06c9\u0003", + "\u06ca\u0003\u06ca\u0003\u06ca\u0003\u06ca\u0003\u06ca\u0003\u06ca\u0003", + "\u06ca\u0003\u06ca\u0003\u06ca\u0003\u06ca\u0003\u06ca\u0003\u06ca\u0003", + "\u06ca\u0003\u06ca\u0003\u06ca\u0003\u06ca\u0003\u06cb\u0003\u06cb\u0003", + "\u06cb\u0003\u06cb\u0003\u06cb\u0003\u06cb\u0003\u06cb\u0003\u06cb\u0003", + "\u06cb\u0003\u06cb\u0003\u06cb\u0003\u06cb\u0003\u06cc\u0003\u06cc\u0003", + "\u06cc\u0003\u06cc\u0003\u06cc\u0003\u06cc\u0003\u06cc\u0003\u06cc\u0003", + "\u06cc\u0003\u06cc\u0003\u06cc\u0003\u06cd\u0003\u06cd\u0003\u06cd\u0003", + "\u06cd\u0003\u06cd\u0003\u06cd\u0003\u06cd\u0003\u06cd\u0003\u06cd\u0003", + "\u06cd\u0003\u06cd\u0003\u06cd\u0003\u06ce\u0003\u06ce\u0003\u06ce\u0003", + "\u06ce\u0003\u06ce\u0003\u06ce\u0003\u06ce\u0003\u06ce\u0003\u06ce\u0003", + "\u06ce\u0003\u06ce\u0003\u06ce\u0003\u06ce\u0003\u06ce\u0003\u06ce\u0003", + "\u06ce\u0003\u06ce\u0003\u06ce\u0003\u06cf\u0003\u06cf\u0003\u06cf\u0003", + "\u06cf\u0003\u06cf\u0003\u06cf\u0003\u06cf\u0003\u06cf\u0003\u06cf\u0003", + "\u06cf\u0003\u06cf\u0003\u06d0\u0003\u06d0\u0003\u06d0\u0003\u06d0\u0003", + "\u06d0\u0003\u06d0\u0003\u06d0\u0003\u06d0\u0003\u06d0\u0003\u06d0\u0003", + "\u06d0\u0003\u06d0\u0003\u06d0\u0003\u06d0\u0003\u06d0\u0003\u06d0\u0003", + "\u06d1\u0003\u06d1\u0003\u06d1\u0003\u06d1\u0003\u06d1\u0003\u06d1\u0003", + "\u06d1\u0003\u06d1\u0003\u06d1\u0003\u06d1\u0003\u06d1\u0003\u06d1\u0003", + "\u06d1\u0003\u06d1\u0003\u06d1\u0003\u06d2\u0003\u06d2\u0003\u06d2\u0003", + "\u06d2\u0003\u06d2\u0003\u06d2\u0003\u06d2\u0003\u06d2\u0003\u06d2\u0003", + "\u06d2\u0003\u06d2\u0003\u06d3\u0003\u06d3\u0003\u06d3\u0003\u06d3\u0003", + "\u06d3\u0003\u06d3\u0003\u06d3\u0003\u06d3\u0003\u06d3\u0003\u06d3\u0003", + "\u06d3\u0003\u06d3\u0003\u06d4\u0003\u06d4\u0003\u06d4\u0003\u06d4\u0003", + "\u06d4\u0003\u06d4\u0003\u06d4\u0003\u06d4\u0003\u06d4\u0003\u06d4\u0003", + "\u06d4\u0003\u06d4\u0003\u06d4\u0003\u06d5\u0003\u06d5\u0003\u06d5\u0003", + "\u06d5\u0003\u06d5\u0003\u06d5\u0003\u06d5\u0003\u06d5\u0003\u06d5\u0003", + "\u06d5\u0003\u06d5\u0003\u06d5\u0003\u06d5\u0003\u06d5\u0003\u06d5\u0003", + "\u06d5\u0003\u06d5\u0003\u06d5\u0003\u06d6\u0003\u06d6\u0003\u06d6\u0003", + "\u06d6\u0003\u06d6\u0003\u06d6\u0003\u06d6\u0003\u06d6\u0003\u06d6\u0003", + "\u06d6\u0003\u06d6\u0003\u06d6\u0003\u06d6\u0003\u06d6\u0003\u06d6\u0003", + "\u06d6\u0003\u06d6\u0003\u06d7\u0003\u06d7\u0003\u06d7\u0003\u06d7\u0003", + "\u06d7\u0003\u06d7\u0003\u06d7\u0003\u06d7\u0003\u06d7\u0003\u06d7\u0003", + "\u06d7\u0003\u06d7\u0003\u06d7\u0003\u06d7\u0003\u06d8\u0003\u06d8\u0003", + "\u06d8\u0003\u06d8\u0003\u06d8\u0003\u06d8\u0003\u06d8\u0003\u06d8\u0003", + "\u06d8\u0003\u06d8\u0003\u06d8\u0003\u06d8\u0003\u06d8\u0003\u06d8\u0003", + "\u06d9\u0003\u06d9\u0003\u06d9\u0003\u06d9\u0003\u06d9\u0003\u06d9\u0003", + "\u06d9\u0003\u06d9\u0003\u06d9\u0003\u06d9\u0003\u06d9\u0003\u06d9\u0003", + "\u06d9\u0003\u06da\u0003\u06da\u0003\u06da\u0003\u06da\u0003\u06da\u0003", + "\u06da\u0003\u06da\u0003\u06da\u0003\u06da\u0003\u06da\u0003\u06da\u0003", + "\u06da\u0003\u06da\u0003\u06da\u0003\u06db\u0003\u06db\u0003\u06db\u0003", + "\u06db\u0003\u06db\u0003\u06db\u0003\u06db\u0003\u06db\u0003\u06db\u0003", + "\u06db\u0003\u06db\u0003\u06db\u0003\u06db\u0003\u06db\u0003\u06db\u0003", + "\u06dc\u0003\u06dc\u0003\u06dc\u0003\u06dc\u0003\u06dc\u0003\u06dc\u0003", + "\u06dc\u0003\u06dc\u0003\u06dc\u0003\u06dc\u0003\u06dc\u0003\u06dc\u0003", + "\u06dd\u0003\u06dd\u0003\u06dd\u0003\u06dd\u0003\u06dd\u0003\u06dd\u0003", + "\u06dd\u0003\u06dd\u0003\u06dd\u0003\u06dd\u0003\u06dd\u0003\u06de\u0003", + "\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003", + "\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003", + "\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003", + "\u06de\u0003\u06de\u0003\u06de\u0003\u06de\u0003\u06df\u0003\u06df\u0003", + "\u06df\u0003\u06df\u0003\u06df\u0003\u06df\u0003\u06df\u0003\u06df\u0003", + "\u06df\u0003\u06df\u0003\u06df\u0003\u06df\u0003\u06df\u0003\u06df\u0003", + "\u06df\u0003\u06e0\u0003\u06e0\u0003\u06e0\u0003\u06e0\u0003\u06e0\u0003", + "\u06e0\u0003\u06e0\u0003\u06e0\u0003\u06e0\u0003\u06e0\u0003\u06e0\u0003", + "\u06e0\u0003\u06e0\u0003\u06e0\u0003\u06e0\u0003\u06e1\u0003\u06e1\u0003", + "\u06e1\u0003\u06e1\u0003\u06e1\u0003\u06e1\u0003\u06e1\u0003\u06e1\u0003", + "\u06e1\u0003\u06e1\u0003\u06e1\u0003\u06e1\u0003\u06e1\u0003\u06e1\u0003", + "\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e2\u0003", + "\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e2\u0003", + "\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e2\u0003\u06e3\u0003", + "\u06e3\u0003\u06e3\u0003\u06e3\u0003\u06e3\u0003\u06e3\u0003\u06e3\u0003", + "\u06e3\u0003\u06e3\u0003\u06e3\u0003\u06e3\u0003\u06e3\u0003\u06e3\u0003", + "\u06e3\u0003\u06e3\u0003\u06e4\u0003\u06e4\u0003\u06e4\u0003\u06e4\u0003", + "\u06e4\u0003\u06e4\u0003\u06e4\u0003\u06e4\u0003\u06e4\u0003\u06e4\u0003", + "\u06e4\u0003\u06e4\u0003\u06e4\u0003\u06e4\u0003\u06e4\u0003\u06e4\u0003", + "\u06e4\u0003\u06e4\u0003\u06e4\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003", + "\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003", + "\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003", + "\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003\u06e5\u0003", + "\u06e5\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003", + "\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003", + "\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e6\u0003", + "\u06e6\u0003\u06e6\u0003\u06e6\u0003\u06e7\u0003\u06e7\u0003\u06e7\u0003", + "\u06e7\u0003\u06e7\u0003\u06e7\u0003\u06e7\u0003\u06e7\u0003\u06e7\u0003", + "\u06e7\u0003\u06e7\u0003\u06e7\u0003\u06e7\u0003\u06e7\u0003\u06e7\u0003", + "\u06e7\u0003\u06e7\u0003\u06e8\u0003\u06e8\u0003\u06e8\u0003\u06e8\u0003", + "\u06e8\u0003\u06e8\u0003\u06e8\u0003\u06e8\u0003\u06e8\u0003\u06e8\u0003", + "\u06e8\u0003\u06e8\u0003\u06e8\u0003\u06e8\u0003\u06e8\u0003\u06e8\u0003", + "\u06e8\u0003\u06e8\u0003\u06e8\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003", + "\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003", + "\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003", + "\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06e9\u0003\u06ea\u0003", + "\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003", + "\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003", + "\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003\u06ea\u0003", + "\u06ea\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003", + "\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003", + "\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003", + "\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06eb\u0003\u06ec\u0003\u06ec\u0003", + "\u06ec\u0003\u06ec\u0003\u06ec\u0003\u06ec\u0003\u06ec\u0003\u06ec\u0003", + "\u06ec\u0003\u06ec\u0003\u06ec\u0003\u06ec\u0003\u06ec\u0003\u06ec\u0003", + "\u06ec\u0003\u06ec\u0003\u06ec\u0003\u06ed\u0003\u06ed\u0003\u06ed\u0003", + "\u06ed\u0003\u06ed\u0003\u06ed\u0003\u06ed\u0003\u06ed\u0003\u06ed\u0003", + "\u06ed\u0003\u06ed\u0003\u06ed\u0003\u06ed\u0003\u06ed\u0003\u06ed\u0003", + "\u06ee\u0003\u06ee\u0003\u06ee\u0003\u06ee\u0003\u06ee\u0003\u06ee\u0003", + "\u06ee\u0003\u06ee\u0003\u06ee\u0003\u06ee\u0003\u06ee\u0003\u06ee\u0003", + "\u06ee\u0003\u06ee\u0003\u06ee\u0003\u06ee\u0003\u06ef\u0003\u06ef\u0003", + "\u06ef\u0003\u06ef\u0003\u06ef\u0003\u06ef\u0003\u06ef\u0003\u06ef\u0003", + "\u06ef\u0003\u06ef\u0003\u06ef\u0003\u06ef\u0003\u06ef\u0003\u06ef\u0003", + "\u06f0\u0003\u06f0\u0003\u06f0\u0003\u06f0\u0003\u06f0\u0003\u06f0\u0003", + "\u06f0\u0003\u06f0\u0003\u06f0\u0003\u06f0\u0003\u06f0\u0003\u06f0\u0003", + "\u06f0\u0003\u06f0\u0003\u06f1\u0003\u06f1\u0003\u06f1\u0003\u06f1\u0003", + "\u06f1\u0003\u06f1\u0003\u06f1\u0003\u06f1\u0003\u06f1\u0003\u06f1\u0003", + "\u06f1\u0003\u06f1\u0003\u06f1\u0003\u06f1\u0003\u06f2\u0003\u06f2\u0003", + "\u06f2\u0003\u06f2\u0003\u06f2\u0003\u06f2\u0003\u06f2\u0003\u06f2\u0003", + "\u06f2\u0003\u06f2\u0003\u06f2\u0003\u06f2\u0003\u06f2\u0003\u06f2\u0003", + "\u06f2\u0003\u06f3\u0003\u06f3\u0003\u06f3\u0003\u06f3\u0003\u06f3\u0003", + "\u06f3\u0003\u06f3\u0003\u06f3\u0003\u06f3\u0003\u06f3\u0003\u06f3\u0003", + "\u06f3\u0003\u06f3\u0003\u06f3\u0003\u06f3\u0003\u06f4\u0003\u06f4\u0003", + "\u06f4\u0003\u06f4\u0003\u06f4\u0003\u06f4\u0003\u06f4\u0003\u06f5\u0003", + "\u06f5\u0003\u06f5\u0003\u06f5\u0003\u06f5\u0003\u06f5\u0003\u06f5\u0003", + "\u06f5\u0003\u06f5\u0003\u06f5\u0003\u06f5\u0003\u06f5\u0003\u06f5\u0003", + "\u06f6\u0003\u06f6\u0003\u06f6\u0003\u06f6\u0003\u06f6\u0003\u06f6\u0003", + "\u06f6\u0003\u06f6\u0003\u06f6\u0003\u06f6\u0003\u06f6\u0003\u06f7\u0003", + "\u06f7\u0003\u06f7\u0003\u06f7\u0003\u06f7\u0003\u06f7\u0003\u06f7\u0003", + "\u06f7\u0003\u06f7\u0003\u06f7\u0003\u06f7\u0003\u06f7\u0003\u06f7\u0003", + "\u06f8\u0003\u06f8\u0003\u06f8\u0003\u06f8\u0003\u06f8\u0003\u06f8\u0003", + "\u06f8\u0003\u06f8\u0003\u06f8\u0003\u06f8\u0003\u06f8\u0003\u06f8\u0003", + "\u06f8\u0003\u06f8\u0003\u06f8\u0003\u06f9\u0003\u06f9\u0003\u06f9\u0003", + "\u06f9\u0003\u06f9\u0003\u06f9\u0003\u06f9\u0003\u06f9\u0003\u06f9\u0003", + "\u06f9\u0003\u06f9\u0003\u06f9\u0003\u06f9\u0003\u06f9\u0003\u06f9\u0003", + "\u06f9\u0003\u06fa\u0003\u06fa\u0003\u06fa\u0003\u06fa\u0003\u06fa\u0003", + "\u06fa\u0003\u06fa\u0003\u06fa\u0003\u06fa\u0003\u06fa\u0003\u06fa\u0003", + "\u06fa\u0003\u06fb\u0003\u06fb\u0003\u06fb\u0003\u06fb\u0003\u06fb\u0003", + "\u06fb\u0003\u06fb\u0003\u06fb\u0003\u06fb\u0003\u06fb\u0003\u06fb\u0003", + "\u06fb\u0003\u06fb\u0003\u06fb\u0003\u06fb\u0003\u06fc\u0003\u06fc\u0003", + "\u06fc\u0003\u06fc\u0003\u06fc\u0003\u06fc\u0003\u06fc\u0003\u06fc\u0003", + "\u06fc\u0003\u06fc\u0003\u06fc\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003", + "\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003", + "\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003", + "\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fd\u0003\u06fe\u0003", + "\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003", + "\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003", + "\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003\u06fe\u0003", + "\u06fe\u0003\u06ff\u0003\u06ff\u0003\u06ff\u0003\u06ff\u0003\u06ff\u0003", + "\u06ff\u0003\u06ff\u0003\u06ff\u0003\u06ff\u0003\u06ff\u0003\u06ff\u0003", + "\u06ff\u0003\u06ff\u0003\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003", + "\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003", + "\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003", + "\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003\u0700\u0003", + "\u0700\u0003\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003", + "\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003", + "\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003", + "\u0701\u0003\u0701\u0003\u0701\u0003\u0701\u0003\u0702\u0003\u0702\u0003", + "\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003", + "\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003", + "\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003", + "\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003\u0702\u0003\u0703\u0003", + "\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003", + "\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003", + "\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003\u0703\u0003", + "\u0703\u0003\u0703\u0003\u0703\u0003\u0704\u0003\u0704\u0003\u0704\u0003", + "\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003", + "\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003", + "\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003\u0704\u0003", + "\u0704\u0003\u0704\u0003\u0704\u0003\u0705\u0003\u0705\u0003\u0705\u0003", + "\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003", + "\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003", + "\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003\u0705\u0003", + "\u0705\u0003\u0705\u0003\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003", + "\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003", + "\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003", + "\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003\u0706\u0003\u0707\u0003", + "\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003", + "\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003", + "\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003\u0707\u0003", + "\u0707\u0003\u0707\u0003\u0707\u0003\u0708\u0003\u0708\u0003\u0708\u0003", + "\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003", + "\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003", + "\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003\u0708\u0003", + "\u0709\u0003\u0709\u0003\u0709\u0003\u0709\u0003\u0709\u0003\u0709\u0003", + "\u0709\u0003\u0709\u0003\u0709\u0003\u0709\u0003\u0709\u0003\u0709\u0003", + "\u0709\u0003\u0709\u0003\u070a\u0003\u070a\u0003\u070a\u0003\u070a\u0003", + "\u070a\u0003\u070a\u0003\u070a\u0003\u070a\u0003\u070a\u0003\u070a\u0003", + "\u070a\u0003\u070a\u0003\u070a\u0003\u070a\u0003\u070b\u0003\u070b\u0003", + "\u070b\u0003\u070b\u0003\u070b\u0003\u070b\u0003\u070b\u0003\u070b\u0003", + "\u070b\u0003\u070b\u0003\u070b\u0003\u070b\u0003\u070b\u0003\u070b\u0003", + "\u070b\u0003\u070b\u0003\u070b\u0003\u070c\u0003\u070c\u0003\u070c\u0003", + "\u070c\u0003\u070c\u0003\u070c\u0003\u070c\u0003\u070c\u0003\u070c\u0003", + "\u070c\u0003\u070c\u0003\u070c\u0003\u070c\u0003\u070c\u0003\u070c\u0003", + "\u070c\u0003\u070d\u0003\u070d\u0003\u070d\u0003\u070d\u0003\u070d\u0003", + "\u070d\u0003\u070d\u0003\u070d\u0003\u070d\u0003\u070d\u0003\u070d\u0003", + "\u070d\u0003\u070d\u0003\u070d\u0003\u070d\u0003\u070e\u0003\u070e\u0003", + "\u070e\u0003\u070e\u0003\u070e\u0003\u070e\u0003\u070e\u0003\u070e\u0003", + "\u070e\u0003\u070e\u0003\u070e\u0003\u070e\u0003\u070e\u0003\u070e\u0003", + "\u070e\u0003\u070e\u0003\u070e\u0003\u070e\u0003\u070f\u0003\u070f\u0003", + "\u070f\u0003\u070f\u0003\u070f\u0003\u070f\u0003\u070f\u0003\u070f\u0003", + "\u070f\u0003\u070f\u0003\u070f\u0003\u070f\u0003\u070f\u0003\u070f\u0003", + "\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003", + "\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003", + "\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003\u0710\u0003", + "\u0710\u0003\u0711\u0003\u0711\u0003\u0711\u0003\u0711\u0003\u0711\u0003", + "\u0711\u0003\u0711\u0003\u0711\u0003\u0711\u0003\u0711\u0003\u0711\u0003", + "\u0711\u0003\u0711\u0003\u0711\u0003\u0711\u0003\u0711\u0003\u0712\u0003", + "\u0712\u0003\u0712\u0003\u0712\u0003\u0712\u0003\u0712\u0003\u0712\u0003", + "\u0712\u0003\u0712\u0003\u0712\u0003\u0712\u0003\u0712\u0003\u0712\u0003", + "\u0712\u0003\u0713\u0003\u0713\u0003\u0713\u0003\u0713\u0003\u0713\u0003", + "\u0713\u0003\u0713\u0003\u0713\u0003\u0713\u0003\u0713\u0003\u0713\u0003", + "\u0713\u0003\u0713\u0003\u0713\u0003\u0714\u0003\u0714\u0003\u0714\u0003", + "\u0714\u0003\u0714\u0003\u0714\u0003\u0714\u0003\u0714\u0003\u0714\u0003", + "\u0714\u0003\u0714\u0003\u0714\u0003\u0714\u0003\u0715\u0003\u0715\u0003", + "\u0715\u0003\u0715\u0003\u0715\u0003\u0715\u0003\u0715\u0003\u0715\u0003", + "\u0715\u0003\u0715\u0003\u0715\u0003\u0715\u0003\u0715\u0003\u0716\u0003", + "\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003", + "\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003", + "\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003\u0716\u0003", + "\u0717\u0003\u0717\u0003\u0717\u0003\u0717\u0003\u0717\u0003\u0717\u0003", + "\u0717\u0003\u0717\u0003\u0717\u0003\u0717\u0003\u0718\u0003\u0718\u0003", + "\u0718\u0003\u0718\u0003\u0718\u0003\u0718\u0003\u0718\u0003\u0718\u0003", + "\u0718\u0003\u0718\u0003\u0718\u0003\u0718\u0003\u0718\u0003\u0719\u0003", + "\u0719\u0003\u0719\u0003\u0719\u0003\u0719\u0003\u0719\u0003\u0719\u0003", + "\u0719\u0003\u0719\u0003\u0719\u0003\u0719\u0003\u0719\u0003\u0719\u0003", + "\u071a\u0003\u071a\u0003\u071a\u0003\u071a\u0003\u071a\u0003\u071a\u0003", + "\u071a\u0003\u071a\u0003\u071a\u0003\u071a\u0003\u071a\u0003\u071a\u0003", + "\u071a\u0003\u071b\u0003\u071b\u0003\u071b\u0003\u071b\u0003\u071b\u0003", + "\u071b\u0003\u071b\u0003\u071b\u0003\u071b\u0003\u071b\u0003\u071b\u0003", + "\u071b\u0003\u071b\u0003\u071b\u0003\u071b\u0003\u071c\u0003\u071c\u0003", + "\u071c\u0003\u071c\u0003\u071c\u0003\u071c\u0003\u071c\u0003\u071c\u0003", + "\u071c\u0003\u071c\u0003\u071c\u0003\u071d\u0003\u071d\u0003\u071d\u0003", + "\u071d\u0003\u071d\u0003\u071d\u0003\u071d\u0003\u071d\u0003\u071d\u0003", + "\u071d\u0003\u071e\u0003\u071e\u0003\u071e\u0003\u071e\u0003\u071e\u0003", + "\u071e\u0003\u071e\u0003\u071e\u0003\u071e\u0003\u071e\u0003\u071e\u0003", + "\u071e\u0003\u071e\u0003\u071e\u0003\u071e\u0003\u071e\u0003\u071f\u0003", + "\u071f\u0003\u071f\u0003\u071f\u0003\u071f\u0003\u071f\u0003\u071f\u0003", + "\u071f\u0003\u071f\u0003\u071f\u0003\u071f\u0003\u071f\u0003\u071f\u0003", + "\u071f\u0003\u071f\u0003\u0720\u0003\u0720\u0003\u0720\u0003\u0720\u0003", + "\u0720\u0003\u0720\u0003\u0720\u0003\u0720\u0003\u0720\u0003\u0720\u0003", + "\u0720\u0003\u0720\u0003\u0720\u0003\u0720\u0003\u0721\u0003\u0721\u0003", + "\u0721\u0003\u0721\u0003\u0721\u0003\u0721\u0003\u0721\u0003\u0721\u0003", + "\u0721\u0003\u0721\u0003\u0721\u0003\u0721\u0003\u0721\u0003\u0721\u0003", + "\u0722\u0003\u0722\u0003\u0722\u0003\u0722\u0003\u0722\u0003\u0722\u0003", + "\u0722\u0003\u0722\u0003\u0722\u0003\u0722\u0003\u0722\u0003\u0722\u0003", + "\u0722\u0003\u0722\u0003\u0723\u0003\u0723\u0003\u0723\u0003\u0723\u0003", + "\u0723\u0003\u0723\u0003\u0723\u0003\u0723\u0003\u0723\u0003\u0723\u0003", + "\u0723\u0003\u0723\u0003\u0724\u0003\u0724\u0003\u0724\u0003\u0724\u0003", + "\u0724\u0003\u0724\u0003\u0724\u0003\u0724\u0003\u0724\u0003\u0724\u0003", + "\u0724\u0003\u0724\u0003\u0724\u0003\u0725\u0003\u0725\u0003\u0725\u0003", + "\u0725\u0003\u0725\u0003\u0725\u0003\u0725\u0003\u0725\u0003\u0725\u0003", + "\u0725\u0003\u0725\u0003\u0725\u0003\u0725\u0003\u0726\u0003\u0726\u0003", + "\u0726\u0003\u0726\u0003\u0726\u0003\u0726\u0003\u0726\u0003\u0726\u0003", + "\u0726\u0003\u0726\u0003\u0726\u0003\u0726\u0003\u0727\u0003\u0727\u0003", + "\u0727\u0003\u0727\u0003\u0727\u0003\u0727\u0003\u0727\u0003\u0727\u0003", + "\u0727\u0003\u0727\u0003\u0727\u0003\u0727\u0003\u0727\u0003\u0727\u0003", + "\u0728\u0003\u0728\u0003\u0728\u0003\u0728\u0003\u0728\u0003\u0728\u0003", + "\u0728\u0003\u0728\u0003\u0728\u0003\u0728\u0003\u0728\u0003\u0728\u0003", + "\u0728\u0003\u0728\u0003\u0729\u0003\u0729\u0003\u0729\u0003\u0729\u0003", + "\u0729\u0003\u0729\u0003\u0729\u0003\u0729\u0003\u0729\u0003\u0729\u0003", + "\u0729\u0003\u072a\u0003\u072a\u0003\u072a\u0003\u072a\u0003\u072a\u0003", + "\u072a\u0003\u072a\u0003\u072a\u0003\u072a\u0003\u072a\u0003\u072a\u0003", + "\u072a\u0003\u072a\u0003\u072a\u0003\u072b\u0003\u072b\u0003\u072b\u0003", + "\u072b\u0003\u072b\u0003\u072b\u0003\u072b\u0003\u072b\u0003\u072b\u0003", + "\u072b\u0003\u072b\u0003\u072b\u0003\u072b\u0003\u072b\u0003\u072b\u0003", + "\u072b\u0003\u072b\u0003\u072b\u0003\u072c\u0003\u072c\u0003\u072c\u0003", + "\u072c\u0003\u072c\u0003\u072c\u0003\u072c\u0003\u072c\u0003\u072c\u0003", + "\u072c\u0003\u072c\u0003\u072c\u0003\u072d\u0003\u072d\u0003\u072d\u0003", + "\u072d\u0003\u072d\u0003\u072d\u0003\u072d\u0003\u072d\u0003\u072d\u0003", + "\u072d\u0003\u072d\u0003\u072d\u0003\u072d\u0003\u072e\u0003\u072e\u0003", + "\u072e\u0003\u072e\u0003\u072e\u0003\u072e\u0003\u072e\u0003\u072e\u0003", + "\u072e\u0003\u072e\u0003\u072e\u0003\u072e\u0003\u072e\u0003\u072e\u0003", + "\u072e\u0003\u072e\u0003\u072f\u0003\u072f\u0003\u072f\u0003\u072f\u0003", + "\u072f\u0003\u072f\u0003\u072f\u0003\u072f\u0003\u072f\u0003\u072f\u0003", + "\u072f\u0003\u072f\u0003\u072f\u0003\u072f\u0003\u072f\u0003\u072f\u0003", + "\u0730\u0003\u0730\u0003\u0730\u0003\u0730\u0003\u0730\u0003\u0730\u0003", + "\u0730\u0003\u0730\u0003\u0730\u0003\u0730\u0003\u0730\u0003\u0730\u0003", + "\u0731\u0003\u0731\u0003\u0731\u0003\u0731\u0003\u0731\u0003\u0731\u0003", + "\u0731\u0003\u0731\u0003\u0731\u0003\u0731\u0003\u0731\u0003\u0731\u0003", + "\u0731\u0003\u0731\u0003\u0731\u0003\u0731\u0003\u0731\u0003\u0732\u0003", + "\u0732\u0003\u0732\u0003\u0732\u0003\u0732\u0003\u0732\u0003\u0732\u0003", + "\u0732\u0003\u0732\u0003\u0732\u0003\u0732\u0003\u0732\u0003\u0732\u0003", + "\u0733\u0003\u0733\u0003\u0733\u0003\u0733\u0003\u0733\u0003\u0733\u0003", + "\u0733\u0003\u0733\u0003\u0733\u0003\u0733\u0003\u0733\u0003\u0733\u0003", + "\u0733\u0003\u0734\u0003\u0734\u0003\u0734\u0003\u0734\u0003\u0734\u0003", + "\u0734\u0003\u0734\u0003\u0734\u0003\u0734\u0003\u0734\u0003\u0734\u0003", + "\u0734\u0003\u0734\u0003\u0735\u0003\u0735\u0003\u0735\u0003\u0735\u0003", + "\u0735\u0003\u0735\u0003\u0735\u0003\u0735\u0003\u0735\u0003\u0735\u0003", + "\u0735\u0003\u0735\u0003\u0735\u0003\u0735\u0003\u0736\u0003\u0736\u0003", + "\u0736\u0003\u0736\u0003\u0736\u0003\u0736\u0003\u0736\u0003\u0736\u0003", + "\u0736\u0003\u0736\u0003\u0736\u0003\u0737\u0003\u0737\u0003\u0737\u0003", + "\u0737\u0003\u0737\u0003\u0737\u0003\u0737\u0003\u0737\u0003\u0737\u0003", + "\u0737\u0003\u0737\u0003\u0737\u0003\u0737\u0003\u0737\u0003\u0737\u0003", + "\u0737\u0003\u0737\u0003\u0738\u0003\u0738\u0003\u0738\u0003\u0738\u0003", + "\u0738\u0003\u0738\u0003\u0738\u0003\u0738\u0003\u0738\u0003\u0738\u0003", + "\u0738\u0003\u0738\u0003\u0738\u0003\u0738\u0003\u0738\u0003\u0738\u0003", + "\u0739\u0003\u0739\u0003\u0739\u0003\u0739\u0003\u0739\u0003\u0739\u0003", + "\u0739\u0003\u0739\u0003\u0739\u0003\u0739\u0003\u0739\u0003\u0739\u0003", + "\u0739\u0003\u073a\u0003\u073a\u0003\u073a\u0003\u073a\u0003\u073a\u0003", + "\u073a\u0003\u073a\u0003\u073a\u0003\u073a\u0003\u073a\u0003\u073a\u0003", + "\u073a\u0003\u073a\u0003\u073a\u0003\u073a\u0003\u073b\u0003\u073b\u0003", + "\u073b\u0003\u073b\u0003\u073b\u0003\u073b\u0003\u073b\u0003\u073b\u0003", + "\u073b\u0003\u073b\u0003\u073b\u0003\u073b\u0003\u073b\u0003\u073b\u0003", + "\u073b\u0003\u073b\u0003\u073c\u0003\u073c\u0003\u073c\u0003\u073c\u0003", + "\u073c\u0003\u073c\u0003\u073c\u0003\u073c\u0003\u073c\u0003\u073c\u0003", + "\u073c\u0003\u073c\u0003\u073c\u0003\u073c\u0003\u073c\u0003\u073c\u0003", + "\u073d\u0003\u073d\u0003\u073d\u0003\u073d\u0003\u073d\u0003\u073d\u0003", + "\u073d\u0003\u073d\u0003\u073d\u0003\u073d\u0003\u073d\u0003\u073d\u0003", + "\u073e\u0003\u073e\u0003\u073e\u0003\u073e\u0003\u073e\u0003\u073e\u0003", + "\u073e\u0003\u073e\u0003\u073e\u0003\u073e\u0003\u073e\u0003\u073e\u0003", + "\u073e\u0003\u073e\u0003\u073f\u0003\u073f\u0003\u073f\u0003\u073f\u0003", + "\u073f\u0003\u073f\u0003\u073f\u0003\u073f\u0003\u073f\u0003\u073f\u0003", + "\u073f\u0003\u073f\u0003\u073f\u0003\u073f\u0003\u073f\u0003\u073f\u0003", + "\u0740\u0003\u0740\u0003\u0740\u0003\u0740\u0003\u0740\u0003\u0740\u0003", + "\u0740\u0003\u0740\u0003\u0740\u0003\u0740\u0003\u0740\u0003\u0740\u0003", + "\u0740\u0003\u0740\u0003\u0740\u0003\u0740\u0003\u0741\u0003\u0741\u0003", + "\u0741\u0003\u0741\u0003\u0741\u0003\u0741\u0003\u0741\u0003\u0741\u0003", + "\u0741\u0003\u0741\u0003\u0741\u0003\u0741\u0003\u0741\u0003\u0741\u0003", + "\u0741\u0003\u0741\u0003\u0741\u0003\u0742\u0003\u0742\u0003\u0742\u0003", + "\u0742\u0003\u0742\u0003\u0742\u0003\u0742\u0003\u0742\u0003\u0742\u0003", + "\u0742\u0003\u0742\u0003\u0742\u0003\u0742\u0003\u0742\u0003\u0743\u0003", + "\u0743\u0003\u0743\u0003\u0743\u0003\u0743\u0003\u0743\u0003\u0743\u0003", + "\u0743\u0003\u0743\u0003\u0743\u0003\u0743\u0003\u0743\u0003\u0743\u0003", + "\u0743\u0003\u0744\u0003\u0744\u0003\u0744\u0003\u0744\u0003\u0744\u0003", + "\u0744\u0003\u0744\u0003\u0744\u0003\u0744\u0003\u0744\u0003\u0744\u0003", + "\u0744\u0003\u0744\u0003\u0744\u0003\u0745\u0003\u0745\u0003\u0745\u0003", + "\u0745\u0003\u0745\u0003\u0745\u0003\u0745\u0003\u0745\u0003\u0745\u0003", + "\u0745\u0003\u0745\u0003\u0745\u0003\u0745\u0003\u0745\u0003\u0745\u0003", + "\u0745\u0003\u0746\u0003\u0746\u0003\u0746\u0003\u0746\u0003\u0746\u0003", + "\u0746\u0003\u0746\u0003\u0746\u0003\u0746\u0003\u0746\u0003\u0746\u0003", + "\u0746\u0003\u0746\u0003\u0746\u0003\u0747\u0003\u0747\u0003\u0747\u0003", + "\u0747\u0003\u0747\u0003\u0747\u0003\u0747\u0003\u0747\u0003\u0747\u0003", + "\u0747\u0003\u0747\u0003\u0747\u0003\u0747\u0003\u0747\u0003\u0748\u0003", + "\u0748\u0003\u0748\u0003\u0748\u0003\u0748\u0003\u0748\u0003\u0748\u0003", + "\u0748\u0003\u0748\u0003\u0748\u0003\u0748\u0003\u0748\u0003\u0748\u0003", + "\u0748\u0003\u0749\u0003\u0749\u0003\u0749\u0003\u0749\u0003\u0749\u0003", + "\u0749\u0003\u0749\u0003\u0749\u0003\u0749\u0003\u0749\u0003\u0749\u0003", + "\u0749\u0003\u0749\u0003\u0749\u0003\u074a\u0003\u074a\u0003\u074a\u0003", + "\u074a\u0003\u074a\u0003\u074a\u0003\u074a\u0003\u074a\u0003\u074a\u0003", + "\u074a\u0003\u074a\u0003\u074a\u0003\u074a\u0003\u074a\u0003\u074b\u0003", + "\u074b\u0003\u074b\u0003\u074b\u0003\u074b\u0003\u074b\u0003\u074b\u0003", + "\u074b\u0003\u074b\u0003\u074b\u0003\u074b\u0003\u074b\u0003\u074b\u0003", + "\u074b\u0003\u074c\u0003\u074c\u0003\u074c\u0003\u074c\u0003\u074c\u0003", + "\u074c\u0003\u074c\u0003\u074c\u0003\u074c\u0003\u074c\u0003\u074c\u0003", + "\u074c\u0003\u074c\u0003\u074c\u0003\u074c\u0003\u074d\u0003\u074d\u0003", + "\u074d\u0003\u074d\u0003\u074d\u0003\u074d\u0003\u074d\u0003\u074d\u0003", + "\u074d\u0003\u074d\u0003\u074d\u0003\u074d\u0003\u074d\u0003\u074d\u0003", + "\u074e\u0003\u074e\u0003\u074e\u0003\u074e\u0003\u074e\u0003\u074e\u0003", + "\u074e\u0003\u074e\u0003\u074e\u0003\u074e\u0003\u074e\u0003\u074e\u0003", + "\u074e\u0003\u074e\u0003\u074e\u0003\u074f\u0003\u074f\u0003\u074f\u0003", + "\u074f\u0003\u074f\u0003\u074f\u0003\u074f\u0003\u074f\u0003\u074f\u0003", + "\u074f\u0003\u074f\u0003\u074f\u0003\u074f\u0003\u074f\u0003\u074f\u0003", + "\u0750\u0003\u0750\u0003\u0750\u0003\u0750\u0003\u0750\u0003\u0750\u0003", + "\u0750\u0003\u0750\u0003\u0750\u0003\u0750\u0003\u0750\u0003\u0750\u0003", + "\u0750\u0003\u0750\u0003\u0751\u0003\u0751\u0003\u0751\u0003\u0751\u0003", + "\u0751\u0003\u0751\u0003\u0751\u0003\u0751\u0003\u0751\u0003\u0751\u0003", + "\u0751\u0003\u0751\u0003\u0751\u0003\u0751\u0003\u0752\u0003\u0752\u0003", + "\u0752\u0003\u0752\u0003\u0752\u0003\u0752\u0003\u0752\u0003\u0752\u0003", + "\u0752\u0003\u0752\u0003\u0752\u0003\u0752\u0003\u0752\u0003\u0752\u0003", + "\u0753\u0003\u0753\u0003\u0753\u0003\u0753\u0003\u0753\u0003\u0753\u0003", + "\u0753\u0003\u0753\u0003\u0753\u0003\u0753\u0003\u0753\u0003\u0753\u0003", + "\u0753\u0003\u0753\u0003\u0754\u0003\u0754\u0003\u0754\u0003\u0754\u0003", + "\u0754\u0003\u0754\u0003\u0754\u0003\u0754\u0003\u0754\u0003\u0754\u0003", + "\u0754\u0003\u0754\u0003\u0754\u0003\u0754\u0003\u0755\u0003\u0755\u0003", + "\u0755\u0003\u0755\u0003\u0755\u0003\u0755\u0003\u0755\u0003\u0755\u0003", + "\u0755\u0003\u0755\u0003\u0755\u0003\u0755\u0003\u0755\u0003\u0755\u0003", + "\u0756\u0003\u0756\u0003\u0756\u0003\u0756\u0003\u0756\u0003\u0756\u0003", + "\u0756\u0003\u0756\u0003\u0756\u0003\u0756\u0003\u0756\u0003\u0756\u0003", + "\u0756\u0003\u0756\u0003\u0757\u0003\u0757\u0003\u0757\u0003\u0757\u0003", + "\u0757\u0003\u0757\u0003\u0757\u0003\u0757\u0003\u0757\u0003\u0757\u0003", + "\u0757\u0003\u0757\u0003\u0757\u0003\u0758\u0003\u0758\u0003\u0758\u0003", + "\u0758\u0003\u0758\u0003\u0758\u0003\u0758\u0003\u0758\u0003\u0758\u0003", + "\u0758\u0003\u0758\u0003\u0758\u0003\u0758\u0003\u0758\u0003\u0759\u0003", + "\u0759\u0003\u0759\u0003\u0759\u0003\u0759\u0003\u0759\u0003\u0759\u0003", + "\u0759\u0003\u0759\u0003\u0759\u0003\u0759\u0003\u0759\u0003\u0759\u0003", + "\u0759\u0003\u075a\u0003\u075a\u0003\u075a\u0003\u075a\u0003\u075a\u0003", + "\u075a\u0003\u075a\u0003\u075a\u0003\u075a\u0003\u075a\u0003\u075a\u0003", + "\u075a\u0003\u075a\u0003\u075a\u0003\u075a\u0003\u075a\u0003\u075a\u0003", + "\u075a\u0003\u075b\u0003\u075b\u0003\u075b\u0003\u075b\u0003\u075b\u0003", + "\u075b\u0003\u075b\u0003\u075b\u0003\u075b\u0003\u075b\u0003\u075b\u0003", + "\u075b\u0003\u075b\u0003\u075b\u0003\u075c\u0003\u075c\u0003\u075c\u0003", + "\u075c\u0003\u075c\u0003\u075c\u0003\u075c\u0003\u075c\u0003\u075c\u0003", + "\u075c\u0003\u075c\u0003\u075c\u0003\u075c\u0003\u075c\u0003\u075c\u0003", + "\u075c\u0003\u075d\u0003\u075d\u0003\u075d\u0003\u075d\u0003\u075d\u0003", + "\u075d\u0003\u075d\u0003\u075d\u0003\u075d\u0003\u075d\u0003\u075d\u0003", + "\u075d\u0003\u075d\u0003\u075d\u0003\u075d\u0003\u075e\u0003\u075e\u0003", + "\u075e\u0003\u075e\u0003\u075e\u0003\u075e\u0003\u075e\u0003\u075e\u0003", + "\u075e\u0003\u075e\u0003\u075e\u0003\u075e\u0003\u075f\u0003\u075f\u0003", + "\u075f\u0003\u075f\u0003\u075f\u0003\u075f\u0003\u075f\u0003\u075f\u0003", + "\u075f\u0003\u075f\u0003\u075f\u0003\u075f\u0003\u075f\u0003\u075f\u0003", + "\u075f\u0003\u075f\u0003\u075f\u0003\u0760\u0003\u0760\u0003\u0760\u0003", + "\u0760\u0003\u0760\u0003\u0760\u0003\u0760\u0003\u0760\u0003\u0760\u0003", + "\u0760\u0003\u0760\u0003\u0760\u0003\u0760\u0003\u0760\u0003\u0761\u0003", + "\u0761\u0003\u0761\u0003\u0761\u0003\u0761\u0003\u0761\u0003\u0761\u0003", + "\u0761\u0003\u0761\u0003\u0761\u0003\u0761\u0003\u0761\u0003\u0761\u0003", + "\u0761\u0003\u0761\u0003\u0761\u0003\u0762\u0003\u0762\u0003\u0762\u0003", + "\u0762\u0003\u0762\u0003\u0762\u0003\u0762\u0003\u0762\u0003\u0762\u0003", + "\u0762\u0003\u0762\u0003\u0762\u0003\u0762\u0003\u0762\u0003\u0763\u0003", + "\u0763\u0003\u0763\u0003\u0763\u0003\u0763\u0003\u0763\u0003\u0763\u0003", + "\u0763\u0003\u0763\u0003\u0763\u0003\u0763\u0003\u0763\u0003\u0764\u0003", + "\u0764\u0003\u0764\u0003\u0764\u0003\u0764\u0003\u0764\u0003\u0764\u0003", + "\u0764\u0003\u0764\u0003\u0764\u0003\u0764\u0003\u0764\u0003\u0764\u0003", + "\u0765\u0003\u0765\u0003\u0765\u0003\u0765\u0003\u0765\u0003\u0765\u0003", + "\u0765\u0003\u0765\u0003\u0765\u0003\u0765\u0003\u0765\u0003\u0765\u0003", + "\u0765\u0003\u0766\u0003\u0766\u0003\u0766\u0003\u0766\u0003\u0766\u0003", + "\u0766\u0003\u0766\u0003\u0766\u0003\u0766\u0003\u0766\u0003\u0766\u0003", + "\u0766\u0003\u0766\u0003\u0766\u0003\u0766\u0003\u0766\u0003\u0766\u0003", + "\u0766\u0003\u0767\u0003\u0767\u0003\u0767\u0003\u0767\u0003\u0767\u0003", + "\u0767\u0003\u0767\u0003\u0767\u0003\u0767\u0003\u0767\u0003\u0767\u0003", + "\u0767\u0003\u0767\u0003\u0767\u0003\u0767\u0003\u0767\u0003\u0767\u0003", + "\u0768\u0003\u0768\u0003\u0768\u0003\u0768\u0003\u0768\u0003\u0768\u0003", + "\u0768\u0003\u0768\u0003\u0768\u0003\u0768\u0003\u0768\u0003\u0768\u0003", + "\u0768\u0003\u0768\u0003\u0768\u0003\u0769\u0003\u0769\u0003\u0769\u0003", + "\u0769\u0003\u0769\u0003\u0769\u0003\u0769\u0003\u0769\u0003\u0769\u0003", + "\u0769\u0003\u0769\u0003\u0769\u0003\u0769\u0003\u0769\u0003\u0769\u0003", + "\u0769\u0003\u076a\u0003\u076a\u0003\u076a\u0003\u076a\u0003\u076a\u0003", + "\u076a\u0003\u076a\u0003\u076a\u0003\u076a\u0003\u076a\u0003\u076a\u0003", + "\u076a\u0003\u076a\u0003\u076a\u0003\u076b\u0003\u076b\u0003\u076b\u0003", + "\u076b\u0003\u076b\u0003\u076b\u0003\u076b\u0003\u076b\u0003\u076b\u0003", + "\u076b\u0003\u076b\u0003\u076b\u0003\u076b\u0003\u076b\u0003\u076b\u0003", + "\u076b\u0003\u076c\u0003\u076c\u0003\u076c\u0003\u076c\u0003\u076c\u0003", + "\u076c\u0003\u076c\u0003\u076c\u0003\u076c\u0003\u076c\u0003\u076c\u0003", + "\u076c\u0003\u076c\u0003\u076c\u0003\u076c\u0003\u076c\u0003\u076d\u0003", + "\u076d\u0003\u076d\u0003\u076d\u0003\u076d\u0003\u076d\u0003\u076d\u0003", + "\u076d\u0003\u076d\u0003\u076d\u0003\u076d\u0003\u076d\u0003\u076d\u0003", + "\u076d\u0003\u076d\u0003\u076e\u0003\u076e\u0003\u076e\u0003\u076e\u0003", + "\u076e\u0003\u076e\u0003\u076e\u0003\u076e\u0003\u076e\u0003\u076e\u0003", + "\u076e\u0003\u076e\u0003\u076e\u0003\u076e\u0003\u076f\u0003\u076f\u0003", + "\u076f\u0003\u076f\u0003\u076f\u0003\u076f\u0003\u076f\u0003\u076f\u0003", + "\u076f\u0003\u076f\u0003\u076f\u0003\u076f\u0003\u076f\u0003\u076f\u0003", + "\u076f\u0003\u076f\u0003\u076f\u0003\u076f\u0003\u0770\u0003\u0770\u0003", + "\u0770\u0003\u0770\u0003\u0770\u0003\u0770\u0003\u0770\u0003\u0770\u0003", + "\u0770\u0003\u0770\u0003\u0770\u0003\u0770\u0003\u0771\u0003\u0771\u0003", + "\u0771\u0003\u0771\u0003\u0771\u0003\u0771\u0003\u0771\u0003\u0771\u0003", + "\u0771\u0003\u0771\u0003\u0771\u0003\u0771\u0003\u0771\u0003\u0771\u0003", + "\u0771\u0003\u0771\u0003\u0772\u0003\u0772\u0003\u0772\u0003\u0772\u0003", + "\u0772\u0003\u0772\u0003\u0772\u0003\u0772\u0003\u0772\u0003\u0772\u0003", + "\u0772\u0003\u0772\u0003\u0772\u0003\u0772\u0003\u0772\u0003\u0772\u0003", + "\u0773\u0003\u0773\u0003\u0773\u0003\u0773\u0003\u0773\u0003\u0773\u0003", + "\u0773\u0003\u0773\u0003\u0773\u0003\u0773\u0003\u0773\u0003\u0773\u0003", + "\u0773\u0003\u0773\u0003\u0773\u0003\u0773\u0003\u0773\u0003\u0774\u0003", + "\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003", + "\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003", + "\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003\u0774\u0003", + "\u0775\u0003\u0775\u0003\u0775\u0003\u0775\u0003\u0775\u0003\u0775\u0003", + "\u0775\u0003\u0775\u0003\u0775\u0003\u0775\u0003\u0775\u0003\u0775\u0003", + "\u0775\u0003\u0775\u0003\u0776\u0003\u0776\u0003\u0776\u0003\u0776\u0003", + "\u0776\u0003\u0776\u0003\u0776\u0003\u0776\u0003\u0776\u0003\u0776\u0003", + "\u0776\u0003\u0777\u0003\u0777\u0003\u0777\u0003\u0777\u0003\u0777\u0003", + "\u0777\u0003\u0777\u0003\u0778\u0003\u0778\u0003\u0778\u0003\u0778\u0003", + "\u0778\u0003\u0778\u0003\u0778\u0003\u0778\u0003\u0778\u0003\u0778\u0003", + "\u0778\u0003\u0778\u0003\u0779\u0003\u0779\u0003\u0779\u0003\u0779\u0003", + "\u0779\u0003\u0779\u0003\u077a\u0003\u077a\u0003\u077a\u0003\u077a\u0003", + "\u077a\u0003\u077a\u0003\u077b\u0003\u077b\u0003\u077b\u0003\u077b\u0003", + "\u077c\u0003\u077c\u0003\u077c\u0003\u077c\u0003\u077c\u0003\u077d\u0003", + "\u077d\u0003\u077d\u0003\u077d\u0003\u077e\u0003\u077e\u0003\u077e\u0003", + "\u077e\u0003\u077e\u0003\u077e\u0003\u077e\u0003\u077e\u0003\u077e\u0003", + "\u077e\u0003\u077e\u0003\u077e\u0003\u077e\u0003\u077e\u0003\u077e\u0003", + "\u077e\u0003\u077e\u0003\u077e\u0003\u077e\u0003\u077e\u0003\u077f\u0003", + "\u077f\u0003\u077f\u0003\u077f\u0003\u077f\u0003\u077f\u0003\u077f\u0003", + "\u077f\u0003\u077f\u0003\u0780\u0003\u0780\u0003\u0780\u0003\u0780\u0003", + "\u0780\u0003\u0780\u0003\u0780\u0003\u0780\u0003\u0780\u0003\u0781\u0003", + "\u0781\u0003\u0781\u0003\u0781\u0003\u0781\u0003\u0781\u0003\u0781\u0003", + "\u0781\u0003\u0781\u0003\u0781\u0003\u0782\u0003\u0782\u0003\u0782\u0003", + "\u0782\u0003\u0782\u0003\u0782\u0003\u0782\u0003\u0782\u0003\u0782\u0003", + "\u0782\u0003\u0782\u0003\u0783\u0003\u0783\u0003\u0783\u0003\u0783\u0003", + "\u0783\u0003\u0784\u0003\u0784\u0003\u0784\u0003\u0784\u0003\u0784\u0003", + "\u0785\u0003\u0785\u0003\u0785\u0003\u0785\u0003\u0785\u0003\u0786\u0003", + "\u0786\u0003\u0786\u0003\u0786\u0003\u0786\u0003\u0787\u0003\u0787\u0003", + "\u0787\u0003\u0787\u0003\u0788\u0003\u0788\u0003\u0788\u0003\u0788\u0003", + "\u0788\u0003\u0788\u0003\u0788\u0003\u0789\u0003\u0789\u0003\u0789\u0003", + "\u0789\u0003\u0789\u0003\u0789\u0003\u0789\u0003\u0789\u0003\u078a\u0003", + "\u078a\u0003\u078a\u0003\u078a\u0003\u078a\u0003\u078b\u0003\u078b\u0003", + "\u078b\u0003\u078b\u0003\u078b\u0003\u078c\u0003\u078c\u0003\u078c\u0003", + "\u078c\u0003\u078c\u0003\u078c\u0003\u078c\u0003\u078c\u0003\u078d\u0003", + "\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003", + "\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003", + "\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003", + "\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003\u078d\u0003", + "\u078d\u0003\u078d\u0003\u078d\u0003\u078e\u0003\u078e\u0003\u078e\u0003", + "\u078e\u0003\u078e\u0003\u078e\u0003\u078e\u0003\u078e\u0003\u078e\u0003", + "\u078e\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003", + "\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003", + "\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003", + "\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003", + "\u078f\u0003\u078f\u0003\u078f\u0003\u078f\u0003\u0790\u0003\u0790\u0003", + "\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003", + "\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003", + "\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003", + "\u0790\u0003\u0790\u0003\u0790\u0003\u0790\u0003\u0791\u0003\u0791\u0003", + "\u0791\u0003\u0791\u0003\u0791\u0003\u0791\u0003\u0792\u0003\u0792\u0003", + "\u0792\u0003\u0792\u0003\u0792\u0003\u0793\u0003\u0793\u0003\u0793\u0003", + "\u0793\u0003\u0793\u0003\u0793\u0003\u0793\u0003\u0793\u0003\u0793\u0003", + "\u0794\u0003\u0794\u0003\u0794\u0003\u0794\u0003\u0794\u0003\u0794\u0003", + "\u0794\u0003\u0794\u0003\u0794\u0003\u0794\u0003\u0794\u0003\u0794\u0003", + "\u0794\u0003\u0794\u0003\u0795\u0003\u0795\u0003\u0795\u0003\u0795\u0003", + "\u0795\u0003\u0795\u0003\u0795\u0003\u0795\u0003\u0795\u0003\u0795\u0003", + "\u0795\u0003\u0795\u0003\u0795\u0003\u0795\u0003\u0796\u0003\u0796\u0003", + "\u0796\u0003\u0796\u0003\u0796\u0003\u0796\u0003\u0796\u0003\u0796\u0003", + "\u0796\u0003\u0796\u0003\u0796\u0003\u0796\u0003\u0796\u0003\u0796\u0003", + "\u0796\u0003\u0796\u0003\u0797\u0003\u0797\u0003\u0797\u0003\u0797\u0003", + "\u0797\u0003\u0797\u0003\u0797\u0003\u0797\u0003\u0797\u0003\u0797\u0003", + "\u0797\u0003\u0797\u0003\u0797\u0003\u0797\u0003\u0797\u0003\u0797\u0003", + "\u0798\u0003\u0798\u0003\u0798\u0003\u0798\u0003\u0798\u0003\u0798\u0003", + "\u0798\u0003\u0798\u0003\u0798\u0003\u0798\u0003\u0798\u0003\u0798\u0003", + "\u0798\u0003\u0798\u0003\u0798\u0003\u0798\u0003\u0799\u0003\u0799\u0003", + "\u0799\u0003\u0799\u0003\u0799\u0003\u0799\u0003\u0799\u0003\u0799\u0003", + "\u0799\u0003\u0799\u0003\u079a\u0003\u079a\u0003\u079a\u0003\u079a\u0003", + "\u079a\u0003\u079a\u0003\u079a\u0003\u079b\u0003\u079b\u0003\u079b\u0003", + "\u079b\u0003\u079b\u0003\u079b\u0003\u079b\u0003\u079b\u0003\u079c\u0003", + "\u079c\u0003\u079c\u0003\u079c\u0003\u079c\u0003\u079c\u0003\u079c\u0003", + "\u079c\u0003\u079c\u0003\u079d\u0003\u079d\u0003\u079d\u0003\u079d\u0003", + "\u079d\u0003\u079d\u0003\u079d\u0003\u079d\u0003\u079d\u0003\u079d\u0003", + "\u079d\u0003\u079d\u0003\u079d\u0003\u079d\u0003\u079d\u0003\u079d\u0003", + "\u079d\u0003\u079e\u0003\u079e\u0003\u079e\u0003\u079e\u0003\u079e\u0003", + "\u079e\u0003\u079e\u0003\u079e\u0003\u079e\u0003\u079e\u0003\u079e\u0003", + "\u079e\u0003\u079e\u0003\u079e\u0003\u079e\u0003\u079e\u0003\u079f\u0003", + "\u079f\u0003\u079f\u0003\u079f\u0003\u079f\u0003\u079f\u0003\u079f\u0003", + "\u079f\u0003\u07a0\u0003\u07a0\u0003\u07a0\u0003\u07a0\u0003\u07a0\u0003", + "\u07a0\u0003\u07a0\u0003\u07a0\u0003\u07a1\u0003\u07a1\u0003\u07a1\u0003", + "\u07a1\u0003\u07a1\u0003\u07a1\u0003\u07a1\u0003\u07a1\u0003\u07a1\u0003", + "\u07a1\u0003\u07a1\u0003\u07a1\u0003\u07a1\u0003\u07a1\u0003\u07a2\u0003", + "\u07a2\u0003\u07a2\u0003\u07a2\u0003\u07a2\u0003\u07a2\u0003\u07a2\u0003", + "\u07a3\u0003\u07a3\u0003\u07a3\u0003\u07a3\u0003\u07a3\u0003\u07a3\u0003", + "\u07a3\u0003\u07a3\u0003\u07a3\u0003\u07a3\u0003\u07a3\u0003\u07a3\u0003", + "\u07a3\u0003\u07a3\u0003\u07a4\u0003\u07a4\u0003\u07a4\u0003\u07a4\u0003", + "\u07a4\u0003\u07a4\u0003\u07a4\u0003\u07a4\u0003\u07a4\u0003\u07a5\u0003", + "\u07a5\u0003\u07a5\u0003\u07a5\u0003\u07a5\u0003\u07a5\u0003\u07a5\u0003", + "\u07a5\u0003\u07a5\u0003\u07a6\u0003\u07a6\u0003\u07a6\u0003\u07a6\u0003", + "\u07a6\u0003\u07a6\u0003\u07a6\u0003\u07a6\u0003\u07a6\u0003\u07a6\u0003", + "\u07a7\u0003\u07a7\u0003\u07a7\u0003\u07a7\u0003\u07a7\u0003\u07a7\u0003", + "\u07a7\u0003\u07a7\u0003\u07a7\u0003\u07a8\u0003\u07a8\u0003\u07a8\u0003", + "\u07a8\u0003\u07a8\u0003\u07a8\u0003\u07a8\u0003\u07a8\u0003\u07a8\u0003", + "\u07a8\u0003\u07a8\u0003\u07a8\u0003\u07a8\u0003\u07a8\u0003\u07a8\u0003", + "\u07a9\u0003\u07a9\u0003\u07a9\u0003\u07a9\u0003\u07a9\u0003\u07a9\u0003", + "\u07a9\u0003\u07a9\u0003\u07a9\u0003\u07a9\u0003\u07a9\u0003\u07a9\u0003", + "\u07a9\u0003\u07aa\u0003\u07aa\u0003\u07aa\u0003\u07aa\u0003\u07aa\u0003", + "\u07aa\u0003\u07aa\u0003\u07aa\u0003\u07aa\u0003\u07aa\u0003\u07aa\u0003", + "\u07aa\u0003\u07aa\u0003\u07aa\u0003\u07aa\u0003\u07aa\u0003\u07ab\u0003", + "\u07ab\u0003\u07ab\u0003\u07ab\u0003\u07ab\u0003\u07ab\u0003\u07ab\u0003", + "\u07ab\u0003\u07ac\u0003\u07ac\u0003\u07ac\u0003\u07ac\u0003\u07ac\u0003", + "\u07ac\u0003\u07ac\u0003\u07ac\u0003\u07ac\u0003\u07ac\u0003\u07ac\u0003", + "\u07ad\u0003\u07ad\u0003\u07ad\u0003\u07ae\u0003\u07ae\u0003\u07ae\u0003", + "\u07ae\u0003\u07ae\u0003\u07ae\u0003\u07ae\u0003\u07ae\u0003\u07ae\u0003", + "\u07ae\u0003\u07ae\u0003\u07ae\u0003\u07ae\u0003\u07ae\u0003\u07af\u0003", + "\u07af\u0003\u07af\u0003\u07af\u0003\u07af\u0003\u07af\u0003\u07b0\u0003", + "\u07b0\u0003\u07b0\u0003\u07b0\u0003\u07b0\u0003\u07b0\u0003\u07b0\u0003", + "\u07b0\u0003\u07b1\u0003\u07b1\u0003\u07b1\u0003\u07b1\u0003\u07b1\u0003", + "\u07b1\u0003\u07b1\u0003\u07b1\u0003\u07b1\u0003\u07b2\u0003\u07b2\u0003", + "\u07b2\u0003\u07b2\u0003\u07b2\u0003\u07b2\u0003\u07b2\u0003\u07b2\u0003", + "\u07b2\u0003\u07b3\u0003\u07b3\u0003\u07b3\u0003\u07b3\u0003\u07b3\u0003", + "\u07b3\u0003\u07b3\u0003\u07b3\u0003\u07b3\u0003\u07b3\u0003\u07b3\u0003", + "\u07b3\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003", + "\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003", + "\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003", + "\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003\u07b4\u0003", + "\u07b5\u0003\u07b5\u0003\u07b5\u0003\u07b5\u0003\u07b5\u0003\u07b5\u0003", + "\u07b5\u0003\u07b5\u0003\u07b5\u0003\u07b5\u0003\u07b5\u0003\u07b5\u0003", + "\u07b5\u0003\u07b6\u0003\u07b6\u0003\u07b6\u0003\u07b6\u0003\u07b6\u0003", + "\u07b6\u0003\u07b6\u0003\u07b6\u0003\u07b6\u0003\u07b6\u0003\u07b6\u0003", + "\u07b7\u0003\u07b7\u0003\u07b7\u0003\u07b7\u0003\u07b7\u0003\u07b7\u0003", + "\u07b7\u0003\u07b7\u0003\u07b7\u0003\u07b7\u0003\u07b8\u0003\u07b8\u0003", + "\u07b8\u0003\u07b8\u0003\u07b8\u0003\u07b8\u0003\u07b8\u0003\u07b8\u0003", + "\u07b8\u0003\u07b8\u0003\u07b8\u0003\u07b8\u0003\u07b9\u0003\u07b9\u0003", + "\u07b9\u0003\u07b9\u0003\u07b9\u0003\u07b9\u0003\u07ba\u0003\u07ba\u0003", + "\u07ba\u0003\u07ba\u0003\u07ba\u0003\u07ba\u0003\u07ba\u0003\u07ba\u0003", + "\u07ba\u0003\u07bb\u0003\u07bb\u0003\u07bb\u0003\u07bb\u0003\u07bb\u0003", + "\u07bb\u0003\u07bb\u0003\u07bb\u0003\u07bc\u0003\u07bc\u0003\u07bc\u0003", + "\u07bc\u0003\u07bc\u0003\u07bd\u0003\u07bd\u0003\u07bd\u0003\u07bd\u0003", + "\u07bd\u0003\u07bd\u0003\u07bd\u0003\u07bd\u0003\u07bd\u0003\u07be\u0003", + "\u07be\u0003\u07be\u0003\u07be\u0003\u07be\u0003\u07be\u0003\u07bf\u0003", + "\u07bf\u0003\u07bf\u0003\u07bf\u0003\u07bf\u0003\u07bf\u0003\u07bf\u0003", + "\u07bf\u0003\u07c0\u0003\u07c0\u0003\u07c0\u0003\u07c0\u0003\u07c0\u0003", + "\u07c0\u0003\u07c1\u0003\u07c1\u0003\u07c1\u0003\u07c1\u0003\u07c1\u0003", + "\u07c1\u0003\u07c1\u0003\u07c2\u0003\u07c2\u0003\u07c2\u0003\u07c3\u0003", + "\u07c3\u0003\u07c3\u0003\u07c3\u0003\u07c3\u0003\u07c3\u0003\u07c4\u0003", + "\u07c4\u0003\u07c4\u0003\u07c4\u0003\u07c4\u0003\u07c5\u0003\u07c5\u0003", + "\u07c5\u0003\u07c5\u0003\u07c5\u0003\u07c5\u0003\u07c5\u0003\u07c5\u0003", + "\u07c5\u0003\u07c5\u0003\u07c6\u0003\u07c6\u0003\u07c6\u0003\u07c6\u0003", + "\u07c7\u0003\u07c7\u0003\u07c7\u0003\u07c7\u0003\u07c8\u0003\u07c8\u0003", + "\u07c8\u0003\u07c8\u0003\u07c8\u0003\u07c9\u0003\u07c9\u0003\u07c9\u0003", + "\u07c9\u0003\u07ca\u0003\u07ca\u0003\u07ca\u0003\u07ca\u0003\u07ca\u0003", + "\u07ca\u0003\u07ca\u0003\u07ca\u0003\u07ca\u0003\u07ca\u0003\u07ca\u0003", + "\u07cb\u0003\u07cb\u0003\u07cb\u0003\u07cb\u0003\u07cb\u0003\u07cb\u0003", + "\u07cb\u0003\u07cb\u0003\u07cb\u0003\u07cb\u0003\u07cc\u0003\u07cc\u0003", + "\u07cc\u0003\u07cc\u0003\u07cc\u0003\u07cc\u0003\u07cc\u0003\u07cc\u0003", + "\u07cd\u0003\u07cd\u0003\u07cd\u0003\u07cd\u0003\u07cd\u0003\u07cd\u0003", + "\u07cd\u0003\u07cd\u0003\u07cd\u0003\u07cd\u0003\u07cd\u0003\u07cd\u0003", + "\u07cd\u0003\u07cd\u0003\u07ce\u0003\u07ce\u0003\u07ce\u0003\u07ce\u0003", + "\u07ce\u0003\u07ce\u0003\u07cf\u0003\u07cf\u0003\u07cf\u0003\u07cf\u0003", + "\u07cf\u0003\u07d0\u0003\u07d0\u0003\u07d0\u0003\u07d0\u0003\u07d0\u0003", + "\u07d0\u0003\u07d0\u0003\u07d1\u0003\u07d1\u0003\u07d1\u0003\u07d1\u0003", + "\u07d1\u0003\u07d1\u0003\u07d1\u0003\u07d1\u0003\u07d2\u0003\u07d2\u0003", + "\u07d2\u0003\u07d2\u0003\u07d2\u0003\u07d2\u0003\u07d3\u0003\u07d3\u0003", + "\u07d3\u0003\u07d3\u0003\u07d3\u0003\u07d3\u0003\u07d3\u0003\u07d4\u0003", + "\u07d4\u0003\u07d4\u0003\u07d4\u0003\u07d4\u0003\u07d4\u0003\u07d4\u0003", + "\u07d5\u0003\u07d5\u0003\u07d5\u0003\u07d5\u0003\u07d5\u0003\u07d5\u0003", + "\u07d5\u0003\u07d5\u0003\u07d5\u0003\u07d5\u0003\u07d6\u0003\u07d6\u0003", + "\u07d6\u0003\u07d6\u0003\u07d6\u0003\u07d6\u0003\u07d6\u0003\u07d7\u0003", + "\u07d7\u0003\u07d7\u0003\u07d7\u0003\u07d7\u0003\u07d7\u0003\u07d7\u0003", + "\u07d8\u0003\u07d8\u0003\u07d8\u0003\u07d8\u0003\u07d8\u0003\u07d8\u0003", + "\u07d8\u0003\u07d8\u0003\u07d8\u0003\u07d8\u0003\u07d9\u0003\u07d9\u0003", + "\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003", + "\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003", + "\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003", + "\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003\u07d9\u0003", + "\u07d9\u0003\u07d9\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003", + "\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003", + "\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003", + "\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003", + "\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003\u07da\u0003", + "\u07da\u0003\u07da\u0003\u07db\u0003\u07db\u0003\u07db\u0003\u07db\u0003", + "\u07db\u0003\u07db\u0003\u07db\u0003\u07db\u0003\u07db\u0003\u07db\u0003", + "\u07db\u0003\u07db\u0003\u07db\u0003\u07db\u0003\u07db\u0003\u07db\u0003", + "\u07db\u0003\u07db\u0003\u07dc\u0003\u07dc\u0003\u07dc\u0003\u07dc\u0003", + "\u07dc\u0003\u07dc\u0003\u07dc\u0003\u07dd\u0003\u07dd\u0003\u07dd\u0003", + "\u07dd\u0003\u07dd\u0003\u07dd\u0003\u07dd\u0003\u07dd\u0003\u07dd\u0003", + "\u07de\u0003\u07de\u0003\u07de\u0003\u07de\u0003\u07de\u0003\u07de\u0003", + "\u07de\u0003\u07de\u0003\u07df\u0003\u07df\u0003\u07df\u0003\u07df\u0003", + "\u07df\u0003\u07df\u0003\u07df\u0003\u07e0\u0003\u07e0\u0003\u07e0\u0003", + "\u07e0\u0003\u07e0\u0003\u07e0\u0003\u07e0\u0003\u07e0\u0003\u07e0\u0003", + "\u07e0\u0003\u07e0\u0003\u07e0\u0003\u07e1\u0003\u07e1\u0003\u07e1\u0003", + "\u07e1\u0003\u07e1\u0003\u07e1\u0003\u07e1\u0003\u07e1\u0003\u07e1\u0003", + "\u07e1\u0003\u07e2\u0003\u07e2\u0003\u07e2\u0003\u07e2\u0003\u07e2\u0003", + "\u07e2\u0003\u07e2\u0003\u07e2\u0003\u07e2\u0003\u07e2\u0003\u07e2\u0003", + "\u07e2\u0003\u07e2\u0003\u07e2\u0003\u07e3\u0003\u07e3\u0003\u07e3\u0003", + "\u07e3\u0003\u07e3\u0003\u07e3\u0003\u07e3\u0003\u07e3\u0003\u07e3\u0003", + "\u07e3\u0003\u07e3\u0003\u07e3\u0003\u07e3\u0003\u07e4\u0003\u07e4\u0003", + "\u07e4\u0003\u07e4\u0003\u07e4\u0003\u07e4\u0003\u07e4\u0003\u07e4\u0003", + "\u07e4\u0003\u07e4\u0003\u07e4\u0003\u07e4\u0003\u07e5\u0003\u07e5\u0003", + "\u07e5\u0003\u07e5\u0003\u07e5\u0003\u07e5\u0003\u07e6\u0003\u07e6\u0003", + "\u07e6\u0003\u07e6\u0003\u07e6\u0003\u07e6\u0003\u07e6\u0003\u07e6\u0003", + "\u07e6\u0003\u07e7\u0003\u07e7\u0003\u07e7\u0003\u07e7\u0003\u07e7\u0003", + "\u07e7\u0003\u07e7\u0003\u07e8\u0003\u07e8\u0003\u07e8\u0003\u07e8\u0003", + "\u07e8\u0003\u07e8\u0003\u07e8\u0003\u07e8\u0003\u07e8\u0003\u07e8\u0003", + "\u07e9\u0003\u07e9\u0003\u07e9\u0003\u07e9\u0003\u07e9\u0003\u07e9\u0003", + "\u07e9\u0003\u07e9\u0003\u07ea\u0003\u07ea\u0003\u07ea\u0003\u07ea\u0003", + "\u07ea\u0003\u07ea\u0003\u07ea\u0003\u07eb\u0003\u07eb\u0003\u07eb\u0003", + "\u07eb\u0003\u07eb\u0003\u07eb\u0003\u07eb\u0003\u07eb\u0003\u07eb\u0003", + "\u07eb\u0003\u07ec\u0003\u07ec\u0003\u07ec\u0003\u07ec\u0003\u07ec\u0003", + "\u07ec\u0003\u07ec\u0003\u07ec\u0003\u07ec\u0003\u07ec\u0003\u07ec\u0003", + "\u07ec\u0003\u07ed\u0003\u07ed\u0003\u07ed\u0003\u07ed\u0003\u07ed\u0003", + "\u07ed\u0003\u07ed\u0003\u07ed\u0003\u07ed\u0003\u07ed\u0003\u07ed\u0003", + "\u07ed\u0003\u07ed\u0003\u07ed\u0003\u07ee\u0003\u07ee\u0003\u07ee\u0003", + "\u07ee\u0003\u07ee\u0003\u07ee\u0003\u07ee\u0003\u07ee\u0003\u07ef\u0003", + "\u07ef\u0003\u07ef\u0003\u07ef\u0003\u07ef\u0003\u07ef\u0003\u07f0\u0003", + "\u07f0\u0003\u07f0\u0003\u07f0\u0003\u07f0\u0003\u07f0\u0003\u07f0\u0003", + "\u07f1\u0003\u07f1\u0003\u07f1\u0003\u07f1\u0003\u07f1\u0003\u07f1\u0003", + "\u07f1\u0003\u07f2\u0003\u07f2\u0003\u07f2\u0003\u07f2\u0003\u07f2\u0003", + "\u07f2\u0003\u07f2\u0003\u07f3\u0003\u07f3\u0003\u07f3\u0003\u07f3\u0003", + "\u07f3\u0003\u07f3\u0003\u07f4\u0003\u07f4\u0003\u07f4\u0003\u07f4\u0003", + "\u07f4\u0003\u07f4\u0003\u07f4\u0003\u07f4\u0003\u07f4\u0003\u07f5\u0003", + "\u07f5\u0003\u07f5\u0003\u07f5\u0003\u07f5\u0003\u07f5\u0003\u07f5\u0003", + "\u07f5\u0003\u07f5\u0003\u07f5\u0003\u07f5\u0003\u07f6\u0003\u07f6\u0003", + "\u07f6\u0003\u07f6\u0003\u07f6\u0003\u07f6\u0003\u07f6\u0003\u07f6\u0003", + "\u07f6\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003", + "\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003", + "\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003", + "\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f7\u0003\u07f8\u0003\u07f8\u0003", + "\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003", + "\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003", + "\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003", + "\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003\u07f8\u0003", + "\u07f9\u0003\u07f9\u0003\u07f9\u0003\u07f9\u0003\u07f9\u0003\u07f9\u0003", + "\u07f9\u0003\u07f9\u0003\u07f9\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003", + "\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003", + "\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003", + "\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003\u07fa\u0003", + "\u07fa\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003", + "\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003", + "\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003", + "\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fb\u0003\u07fc\u0003", + "\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003", + "\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003", + "\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003\u07fc\u0003", + "\u07fc\u0003\u07fd\u0003\u07fd\u0003\u07fd\u0003\u07fd\u0003\u07fd\u0003", + "\u07fd\u0003\u07fd\u0003\u07fd\u0003\u07fd\u0003\u07fd\u0003\u07fe\u0003", + "\u07fe\u0003\u07fe\u0003\u07fe\u0003\u07fe\u0003\u07fe\u0003\u07fe\u0003", + "\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003", + "\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003", + "\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003\u07ff\u0003", + "\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003", + "\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003", + "\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003\u0800\u0003", + "\u0800\u0003\u0800\u0003\u0800\u0003\u0801\u0003\u0801\u0003\u0801\u0003", + "\u0801\u0003\u0801\u0003\u0801\u0003\u0801\u0003\u0801\u0003\u0801\u0003", + "\u0801\u0003\u0802\u0003\u0802\u0003\u0802\u0003\u0802\u0003\u0802\u0003", + "\u0802\u0003\u0802\u0003\u0802\u0003\u0802\u0003\u0802\u0003\u0802\u0003", + "\u0802\u0003\u0802\u0003\u0803\u0003\u0803\u0003\u0803\u0003\u0803\u0003", + "\u0803\u0003\u0803\u0003\u0803\u0003\u0803\u0003\u0804\u0003\u0804\u0003", + "\u0804\u0003\u0804\u0003\u0804\u0003\u0804\u0003\u0804\u0003\u0804\u0003", + "\u0804\u0003\u0804\u0003\u0805\u0003\u0805\u0003\u0805\u0003\u0805\u0003", + "\u0805\u0003\u0805\u0003\u0805\u0003\u0805\u0003\u0805\u0003\u0805\u0003", + "\u0805\u0003\u0805\u0003\u0805\u0003\u0805\u0003\u0805\u0003\u0805\u0003", + "\u0806\u0003\u0806\u0003\u0806\u0003\u0806\u0003\u0806\u0003\u0806\u0003", + "\u0807\u0003\u0807\u0003\u0807\u0003\u0807\u0003\u0807\u0003\u0807\u0003", + "\u0807\u0003\u0807\u0003\u0807\u0003\u0807\u0003\u0807\u0003\u0807\u0003", + "\u0807\u0003\u0807\u0003\u0807\u0003\u0807\u0003\u0807\u0003\u0808\u0003", + "\u0808\u0003\u0808\u0003\u0808\u0003\u0808\u0003\u0809\u0003\u0809\u0003", + "\u0809\u0003\u0809\u0003\u0809\u0003\u0809\u0003\u0809\u0003\u0809\u0003", + "\u0809\u0003\u080a\u0003\u080a\u0003\u080a\u0003\u080a\u0003\u080a\u0003", + "\u080a\u0003\u080a\u0003\u080a\u0003\u080a\u0003\u080a\u0003\u080a\u0003", + "\u080a\u0003\u080a\u0003\u080a\u0003\u080a\u0003\u080a\u0003\u080a\u0003", + "\u080a\u0003\u080a\u0003\u080a\u0003\u080b\u0003\u080b\u0003\u080b\u0003", + "\u080b\u0003\u080b\u0003\u080b\u0003\u080b\u0003\u080b\u0003\u080b\u0003", + "\u080b\u0003\u080b\u0003\u080b\u0003\u080b\u0003\u080b\u0003\u080b\u0003", + "\u080b\u0003\u080b\u0003\u080b\u0003\u080c\u0003\u080c\u0003\u080c\u0003", + "\u080c\u0003\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003", + "\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003", + "\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003", + "\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003\u080d\u0003", + "\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003", + "\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003", + "\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003\u080e\u0003", + "\u080e\u0003\u080f\u0003\u080f\u0003\u080f\u0003\u080f\u0003\u080f\u0003", + "\u080f\u0003\u080f\u0003\u080f\u0003\u080f\u0003\u080f\u0003\u080f\u0003", + "\u080f\u0003\u080f\u0003\u080f\u0003\u080f\u0003\u080f\u0003\u0810\u0003", + "\u0810\u0003\u0810\u0003\u0810\u0003\u0810\u0003\u0810\u0003\u0811\u0003", + "\u0811\u0003\u0811\u0003\u0811\u0003\u0811\u0003\u0811\u0003\u0811\u0003", + "\u0811\u0003\u0812\u0003\u0812\u0003\u0812\u0003\u0812\u0003\u0812\u0003", + "\u0812\u0003\u0812\u0003\u0812\u0003\u0813\u0003\u0813\u0003\u0813\u0003", + "\u0813\u0003\u0813\u0003\u0813\u0003\u0814\u0003\u0814\u0003\u0814\u0003", + "\u0814\u0003\u0814\u0003\u0815\u0003\u0815\u0003\u0815\u0003\u0816\u0003", + "\u0816\u0003\u0816\u0003\u0817\u0003\u0817\u0003\u0817\u0003\u0817\u0003", + "\u0817\u0003\u0817\u0003\u0817\u0003\u0817\u0003\u0817\u0003\u0818\u0003", + "\u0818\u0003\u0818\u0003\u0818\u0003\u0818\u0003\u0818\u0003\u0818\u0003", + "\u0818\u0003\u0818\u0003\u0818\u0003\u0818\u0003\u0819\u0003\u0819\u0003", + "\u0819\u0003\u0819\u0003\u0819\u0003\u0819\u0003\u0819\u0003\u0819\u0003", + "\u0819\u0003\u0819\u0003\u0819\u0003\u0819\u0003\u0819\u0003\u0819\u0003", + "\u0819\u0003\u081a\u0003\u081a\u0003\u081a\u0003\u081a\u0003\u081a\u0003", + "\u081a\u0003\u081a\u0003\u081b\u0003\u081b\u0003\u081b\u0003\u081b\u0003", + "\u081b\u0003\u081b\u0003\u081c\u0003\u081c\u0003\u081c\u0003\u081c\u0003", + "\u081c\u0003\u081c\u0003\u081c\u0003\u081c\u0003\u081c\u0003\u081d\u0003", + "\u081d\u0003\u081d\u0003\u081d\u0003\u081d\u0003\u081d\u0003\u081d\u0003", + "\u081d\u0003\u081e\u0003\u081e\u0003\u081e\u0003\u081e\u0003\u081e\u0003", + "\u081e\u0003\u081e\u0003\u081e\u0003\u081e\u0003\u081f\u0003\u081f\u0003", + "\u081f\u0003\u081f\u0003\u081f\u0003\u081f\u0003\u081f\u0003\u081f\u0003", + "\u0820\u0003\u0820\u0003\u0820\u0003\u0820\u0003\u0820\u0003\u0820\u0003", + "\u0820\u0003\u0820\u0003\u0821\u0003\u0821\u0003\u0821\u0003\u0821\u0003", + "\u0821\u0003\u0821\u0003\u0821\u0003\u0822\u0003\u0822\u0003\u0822\u0003", + "\u0822\u0003\u0822\u0003\u0822\u0003\u0822\u0003\u0822\u0003\u0822\u0003", + "\u0823\u0003\u0823\u0003\u0823\u0003\u0823\u0003\u0823\u0003\u0823\u0003", + "\u0823\u0003\u0823\u0003\u0824\u0003\u0824\u0003\u0824\u0003\u0824\u0003", + "\u0824\u0003\u0824\u0003\u0824\u0003\u0824\u0003\u0824\u0003\u0824\u0003", + "\u0824\u0003\u0824\u0003\u0824\u0003\u0824\u0003\u0824\u0003\u0824\u0003", + "\u0824\u0003\u0824\u0003\u0825\u0003\u0825\u0003\u0825\u0003\u0825\u0003", + "\u0825\u0003\u0825\u0003\u0825\u0003\u0825\u0003\u0825\u0003\u0825\u0003", + "\u0825\u0003\u0825\u0003\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003", + "\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003", + "\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003", + "\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003\u0826\u0003", + "\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003", + "\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003", + "\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003", + "\u0827\u0003\u0827\u0003\u0827\u0003\u0827\u0003\u0828\u0003\u0828\u0003", + "\u0828\u0003\u0828\u0003\u0828\u0003\u0828\u0003\u0828\u0003\u0828\u0003", + "\u0828\u0003\u0828\u0003\u0828\u0003\u0828\u0003\u0828\u0003\u0828\u0003", + "\u0828\u0003\u0828\u0003\u0828\u0003\u0829\u0003\u0829\u0003\u0829\u0003", + "\u0829\u0003\u0829\u0003\u0829\u0003\u0829\u0003\u0829\u0003\u0829\u0003", + "\u082a\u0003\u082a\u0003\u082a\u0003\u082a\u0003\u082a\u0003\u082a\u0003", + "\u082a\u0003\u082b\u0003\u082b\u0003\u082b\u0003\u082b\u0003\u082b\u0003", + "\u082b\u0003\u082b\u0003\u082b\u0003\u082b\u0003\u082b\u0003\u082b\u0003", + "\u082c\u0003\u082c\u0003\u082c\u0003\u082c\u0003\u082c\u0003\u082c\u0003", + "\u082c\u0003\u082c\u0003\u082c\u0003\u082c\u0003\u082c\u0003\u082c\u0003", + "\u082c\u0003\u082c\u0003\u082c\u0003\u082c\u0003\u082d\u0003\u082d\u0003", + "\u082d\u0003\u082d\u0003\u082d\u0003\u082d\u0003\u082d\u0003\u082d\u0003", + "\u082d\u0003\u082d\u0003\u082d\u0003\u082d\u0003\u082d\u0003\u082d\u0003", + "\u082d\u0003\u082d\u0003\u082d\u0003\u082e\u0003\u082e\u0003\u082e\u0003", + "\u082e\u0003\u082e\u0003\u082e\u0003\u082e\u0003\u082e\u0003\u082e\u0003", + "\u082e\u0003\u082e\u0003\u082e\u0003\u082e\u0003\u082e\u0003\u082e\u0003", + "\u082e\u0003\u082e\u0003\u082e\u0003\u082e\u0003\u082f\u0003\u082f\u0003", + "\u082f\u0003\u082f\u0003\u082f\u0003\u082f\u0003\u082f\u0003\u082f\u0003", + "\u082f\u0003\u082f\u0003\u082f\u0003\u082f\u0003\u082f\u0003\u082f\u0003", + "\u082f\u0003\u082f\u0003\u082f\u0003\u082f\u0003\u0830\u0003\u0830\u0003", + "\u0830\u0003\u0830\u0003\u0830\u0003\u0830\u0003\u0830\u0003\u0830\u0003", + "\u0830\u0003\u0830\u0003\u0830\u0003\u0830\u0003\u0830\u0003\u0830\u0003", + "\u0830\u0003\u0830\u0003\u0830\u0003\u0830\u0003\u0830\u0003\u0831\u0003", + "\u0831\u0003\u0831\u0003\u0831\u0003\u0831\u0003\u0831\u0003\u0831\u0003", + "\u0831\u0003\u0831\u0003\u0832\u0003\u0832\u0003\u0832\u0003\u0832\u0003", + "\u0832\u0003\u0832\u0003\u0832\u0003\u0832\u0003\u0832\u0003\u0832\u0003", + "\u0832\u0003\u0832\u0003\u0832\u0003\u0833\u0003\u0833\u0003\u0833\u0003", + "\u0833\u0003\u0833\u0003\u0833\u0003\u0833\u0003\u0833\u0003\u0834\u0003", + "\u0834\u0003\u0834\u0003\u0834\u0003\u0834\u0003\u0835\u0003\u0835\u0003", + "\u0835\u0003\u0835\u0003\u0835\u0003\u0835\u0003\u0835\u0003\u0835\u0003", + "\u0835\u0003\u0835\u0003\u0836\u0003\u0836\u0003\u0836\u0003\u0836\u0003", + "\u0836\u0003\u0836\u0003\u0836\u0003\u0836\u0003\u0837\u0003\u0837\u0003", + "\u0837\u0003\u0837\u0003\u0837\u0003\u0837\u0003\u0837\u0003\u0837\u0003", + "\u0837\u0003\u0837\u0003\u0837\u0003\u0838\u0003\u0838\u0003\u0838\u0003", + "\u0838\u0003\u0838\u0003\u0838\u0003\u0838\u0003\u0838\u0003\u0839\u0003", + "\u0839\u0003\u0839\u0003\u0839\u0003\u0839\u0003\u0839\u0003\u0839\u0003", + "\u083a\u0003\u083a\u0003\u083a\u0003\u083a\u0003\u083a\u0003\u083a\u0003", + "\u083b\u0003\u083b\u0003\u083b\u0003\u083b\u0003\u083b\u0003\u083c\u0003", + "\u083c\u0003\u083c\u0003\u083c\u0003\u083c\u0003\u083c\u0003\u083c\u0003", + "\u083d\u0003\u083d\u0003\u083d\u0003\u083d\u0003\u083d\u0003\u083d\u0003", + "\u083d\u0003\u083d\u0003\u083e\u0003\u083e\u0003\u083e\u0003\u083e\u0003", + "\u083e\u0003\u083e\u0003\u083f\u0003\u083f\u0003\u083f\u0003\u083f\u0003", + "\u083f\u0003\u0840\u0003\u0840\u0003\u0840\u0003\u0840\u0003\u0840\u0003", + "\u0840\u0003\u0840\u0003\u0840\u0003\u0840\u0003\u0840\u0003\u0840\u0003", + "\u0841\u0003\u0841\u0003\u0841\u0003\u0841\u0003\u0841\u0003\u0841\u0003", + "\u0841\u0003\u0841\u0003\u0841\u0003\u0842\u0003\u0842\u0003\u0842\u0003", + "\u0842\u0003\u0842\u0003\u0843\u0003\u0843\u0003\u0843\u0003\u0843\u0003", + "\u0843\u0003\u0843\u0003\u0844\u0003\u0844\u0003\u0844\u0003\u0844\u0003", + "\u0844\u0003\u0844\u0003\u0845\u0003\u0845\u0003\u0845\u0003\u0845\u0003", + "\u0845\u0003\u0845\u0003\u0845\u0003\u0845\u0003\u0845\u0003\u0845\u0003", + "\u0845\u0003\u0846\u0003\u0846\u0003\u0846\u0003\u0846\u0003\u0846\u0003", + "\u0846\u0003\u0846\u0003\u0846\u0003\u0846\u0003\u0846\u0003\u0846\u0003", + "\u0846\u0003\u0846\u0003\u0847\u0003\u0847\u0003\u0847\u0003\u0847\u0003", + "\u0847\u0003\u0847\u0003\u0847\u0003\u0848\u0003\u0848\u0003\u0848\u0003", + "\u0848\u0003\u0848\u0003\u0848\u0003\u0848\u0003\u0848\u0003\u0849\u0003", + "\u0849\u0003\u0849\u0003\u0849\u0003\u0849\u0003\u0849\u0003\u0849\u0003", + "\u0849\u0003\u0849\u0003\u0849\u0003\u0849\u0003\u084a\u0003\u084a\u0003", + "\u084a\u0003\u084a\u0003\u084a\u0003\u084b\u0003\u084b\u0003\u084b\u0003", + "\u084b\u0003\u084b\u0003\u084c\u0003\u084c\u0003\u084c\u0003\u084c\u0003", + "\u084c\u0003\u084c\u0003\u084c\u0003\u084c\u0003\u084d\u0003\u084d\u0003", + "\u084d\u0003\u084d\u0003\u084d\u0003\u084d\u0003\u084d\u0003\u084d\u0003", + "\u084e\u0003\u084e\u0003\u084e\u0003\u084e\u0003\u084e\u0003\u084e\u0003", + "\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003", + "\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003", + "\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003\u084f\u0003", + "\u084f\u0003\u084f\u0003\u0850\u0003\u0850\u0003\u0850\u0003\u0850\u0003", + "\u0851\u0003\u0851\u0003\u0851\u0003\u0851\u0003\u0851\u0003\u0851\u0003", + "\u0851\u0003\u0851\u0003\u0851\u0003\u0851\u0003\u0851\u0003\u0851\u0003", + "\u0852\u0003\u0852\u0003\u0852\u0003\u0852\u0003\u0853\u0003\u0853\u0003", + "\u0853\u0003\u0853\u0003\u0853\u0003\u0853\u0003\u0853\u0003\u0853\u0003", + "\u0853\u0003\u0853\u0003\u0853\u0003\u0854\u0003\u0854\u0003\u0854\u0003", + "\u0854\u0003\u0854\u0003\u0854\u0003\u0854\u0003\u0855\u0003\u0855\u0003", + "\u0855\u0003\u0855\u0003\u0855\u0003\u0855\u0003\u0855\u0003\u0855\u0003", + "\u0855\u0003\u0855\u0003\u0855\u0003\u0855\u0003\u0855\u0003\u0855\u0003", + "\u0856\u0003\u0856\u0003\u0856\u0003\u0856\u0003\u0856\u0003\u0856\u0003", + "\u0856\u0003\u0856\u0003\u0857\u0003\u0857\u0003\u0857\u0003\u0857\u0003", + "\u0857\u0003\u0857\u0003\u0857\u0003\u0857\u0003\u0857\u0003\u0858\u0003", + "\u0858\u0003\u0858\u0003\u0858\u0003\u0858\u0003\u0858\u0003\u0858\u0003", + "\u0858\u0003\u0858\u0003\u0858\u0003\u0858\u0003\u0858\u0003\u0858\u0003", + "\u0859\u0003\u0859\u0003\u0859\u0003\u0859\u0003\u0859\u0003\u0859\u0003", + "\u0859\u0003\u0859\u0003\u0859\u0003\u0859\u0003\u0859\u0003\u085a\u0003", + "\u085a\u0003\u085a\u0003\u085a\u0003\u085a\u0003\u085a\u0003\u085a\u0003", + "\u085a\u0003\u085a\u0003\u085a\u0003\u085b\u0003\u085b\u0003\u085b\u0003", + "\u085b\u0003\u085b\u0003\u085b\u0003\u085b\u0003\u085b\u0003\u085c\u0003", + "\u085c\u0003\u085c\u0003\u085c\u0003\u085c\u0003\u085c\u0003\u085c\u0003", + "\u085c\u0003\u085c\u0003\u085c\u0003\u085c\u0003\u085c\u0003\u085c\u0003", + "\u085c\u0003\u085c\u0003\u085c\u0003\u085c\u0003\u085d\u0003\u085d\u0003", + "\u085d\u0003\u085d\u0003\u085d\u0003\u085d\u0003\u085d\u0003\u085d\u0003", + "\u085d\u0003\u085d\u0003\u085d\u0003\u085e\u0003\u085e\u0003\u085e\u0003", + "\u085e\u0003\u085e\u0003\u085e\u0003\u085e\u0003\u085e\u0003\u085e\u0003", + "\u085e\u0003\u085e\u0003\u085f\u0003\u085f\u0003\u085f\u0003\u085f\u0003", + "\u085f\u0003\u085f\u0003\u085f\u0003\u085f\u0003\u085f\u0003\u085f\u0003", + "\u0860\u0003\u0860\u0003\u0860\u0003\u0860\u0003\u0860\u0003\u0860\u0003", + "\u0860\u0003\u0860\u0003\u0860\u0003\u0860\u0003\u0861\u0003\u0861\u0003", + "\u0861\u0003\u0861\u0003\u0861\u0003\u0861\u0003\u0861\u0003\u0861\u0003", + "\u0861\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003", + "\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003", + "\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003", + "\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003", + "\u0862\u0003\u0862\u0003\u0862\u0003\u0862\u0003\u0863\u0003\u0863\u0003", + "\u0863\u0003\u0863\u0003\u0863\u0003\u0863\u0003\u0863\u0003\u0863\u0003", + "\u0863\u0003\u0863\u0003\u0863\u0003\u0863\u0003\u0863\u0003\u0863\u0003", + "\u0863\u0003\u0863\u0003\u0863\u0003\u0864\u0003\u0864\u0003\u0864\u0003", + "\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003", + "\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003", + "\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003\u0864\u0003", + "\u0865\u0003\u0865\u0003\u0865\u0003\u0865\u0003\u0865\u0003\u0865\u0003", + "\u0865\u0003\u0865\u0003\u0865\u0003\u0865\u0003\u0866\u0003\u0866\u0003", + "\u0866\u0003\u0866\u0003\u0866\u0003\u0866\u0003\u0866\u0003\u0866\u0003", + "\u0866\u0003\u0866\u0003\u0866\u0003\u0867\u0003\u0867\u0003\u0867\u0003", + "\u0867\u0003\u0867\u0003\u0867\u0003\u0867\u0003\u0867\u0003\u0867\u0003", + "\u0867\u0003\u0867\u0003\u0867\u0003\u0867\u0003\u0867\u0003\u0868\u0003", + "\u0868\u0003\u0868\u0003\u0868\u0003\u0868\u0003\u0868\u0003\u0868\u0003", + "\u0868\u0003\u0868\u0003\u0869\u0003\u0869\u0003\u0869\u0003\u0869\u0003", + "\u0869\u0003\u0869\u0003\u0869\u0003\u0869\u0003\u0869\u0003\u086a\u0003", + "\u086a\u0003\u086a\u0003\u086a\u0003\u086a\u0003\u086a\u0003\u086b\u0003", + "\u086b\u0003\u086b\u0003\u086b\u0003\u086b\u0003\u086b\u0003\u086b\u0003", + "\u086b\u0003\u086b\u0003\u086b\u0003\u086b\u0003\u086b\u0003\u086c\u0003", + "\u086c\u0003\u086c\u0003\u086c\u0003\u086c\u0003\u086c\u0003\u086c\u0003", + "\u086c\u0003\u086c\u0003\u086d\u0003\u086d\u0003\u086d\u0003\u086d\u0003", + "\u086d\u0003\u086d\u0003\u086d\u0003\u086d\u0003\u086e\u0003\u086e\u0003", + "\u086e\u0003\u086e\u0003\u086e\u0003\u086e\u0003\u086e\u0003\u086e\u0003", + "\u086e\u0003\u086e\u0003\u086f\u0003\u086f\u0003\u086f\u0003\u086f\u0003", + "\u086f\u0003\u086f\u0003\u086f\u0003\u086f\u0003\u086f\u0003\u086f\u0003", + "\u086f\u0003\u086f\u0003\u086f\u0003\u0870\u0003\u0870\u0003\u0870\u0003", + "\u0870\u0003\u0870\u0003\u0870\u0003\u0870\u0003\u0870\u0003\u0870\u0003", + "\u0871\u0003\u0871\u0003\u0871\u0003\u0871\u0003\u0871\u0003\u0871\u0003", + "\u0871\u0003\u0871\u0003\u0871\u0003\u0871\u0003\u0871\u0003\u0871\u0003", + "\u0871\u0003\u0871\u0003\u0871\u0003\u0871\u0003\u0871\u0003\u0872\u0003", + "\u0872\u0003\u0872\u0003\u0872\u0003\u0872\u0003\u0872\u0003\u0872\u0003", + "\u0872\u0003\u0872\u0003\u0872\u0003\u0872\u0003\u0872\u0003\u0872\u0003", + "\u0873\u0003\u0873\u0003\u0873\u0003\u0873\u0003\u0873\u0003\u0873\u0003", + "\u0873\u0003\u0873\u0003\u0874\u0003\u0874\u0003\u0874\u0003\u0874\u0003", + "\u0875\u0003\u0875\u0003\u0875\u0003\u0875\u0003\u0875\u0003\u0875\u0003", + "\u0875\u0003\u0875\u0003\u0875\u0003\u0875\u0003\u0875\u0003\u0876\u0003", + "\u0876\u0003\u0876\u0003\u0876\u0003\u0876\u0003\u0876\u0003\u0876\u0003", + "\u0876\u0003\u0876\u0003\u0876\u0003\u0876\u0003\u0876\u0003\u0876\u0003", + "\u0876\u0003\u0876\u0003\u0877\u0003\u0877\u0003\u0877\u0003\u0878\u0003", + "\u0878\u0003\u0878\u0003\u0878\u0003\u0878\u0003\u0878\u0003\u0878\u0003", + "\u0878\u0003\u0878\u0003\u0878\u0003\u0878\u0003\u0879\u0003\u0879\u0003", + "\u0879\u0003\u0879\u0003\u0879\u0003\u0879\u0003\u087a\u0003\u087a\u0003", + "\u087a\u0003\u087a\u0003\u087a\u0003\u087b\u0003\u087b\u0003\u087b\u0003", + "\u087b\u0003\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003", + "\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003", + "\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003", + "\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003\u087c\u0003", + "\u087c\u0003\u087c\u0003\u087d\u0003\u087d\u0003\u087d\u0003\u087d\u0003", + "\u087d\u0003\u087d\u0003\u087d\u0003\u087d\u0003\u087e\u0003\u087e\u0003", + "\u087e\u0003\u087e\u0003\u087e\u0003\u087f\u0003\u087f\u0003\u087f\u0003", + "\u087f\u0003\u087f\u0003\u087f\u0003\u087f\u0003\u087f\u0003\u087f\u0003", + "\u087f\u0003\u087f\u0003\u0880\u0003\u0880\u0003\u0880\u0003\u0880\u0003", + "\u0880\u0003\u0880\u0003\u0880\u0003\u0880\u0003\u0880\u0003\u0880\u0003", + "\u0880\u0003\u0880\u0003\u0880\u0003\u0880\u0003\u0880\u0003\u0880\u0003", + "\u0880\u0003\u0880\u0003\u0881\u0003\u0881\u0003\u0881\u0003\u0881\u0003", + "\u0881\u0003\u0881\u0003\u0881\u0003\u0881\u0003\u0881\u0003\u0881\u0003", + "\u0881\u0003\u0881\u0003\u0881\u0003\u0881\u0003\u0881\u0003\u0881\u0003", + "\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003", + "\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003", + "\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003\u0882\u0003", + "\u0882\u0003\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003", + "\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003", + "\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003", + "\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003\u0883\u0003", + "\u0884\u0003\u0884\u0003\u0884\u0003\u0884\u0003\u0884\u0003\u0884\u0003", + "\u0884\u0003\u0884\u0003\u0884\u0003\u0884\u0003\u0884\u0003\u0884\u0003", + "\u0884\u0003\u0884\u0003\u0884\u0003\u0885\u0003\u0885\u0003\u0885\u0003", + "\u0885\u0003\u0885\u0003\u0885\u0003\u0885\u0003\u0885\u0003\u0885\u0003", + "\u0885\u0003\u0886\u0003\u0886\u0003\u0886\u0003\u0886\u0003\u0886\u0003", + "\u0886\u0003\u0886\u0003\u0886\u0003\u0886\u0003\u0886\u0003\u0886\u0003", + "\u0887\u0003\u0887\u0003\u0887\u0003\u0887\u0003\u0887\u0003\u0887\u0003", + "\u0887\u0003\u0887\u0003\u0888\u0003\u0888\u0003\u0888\u0003\u0888\u0003", + "\u0888\u0003\u0888\u0003\u0888\u0003\u0888\u0003\u0888\u0003\u0888\u0003", + "\u0888\u0003\u0888\u0003\u0888\u0003\u0889\u0003\u0889\u0003\u0889\u0003", + "\u0889\u0003\u0889\u0003\u0889\u0003\u0889\u0003\u0889\u0003\u0889\u0003", + "\u0889\u0003\u0889\u0003\u0889\u0003\u0889\u0003\u0889\u0003\u0889\u0003", + "\u0889\u0003\u088a\u0003\u088a\u0003\u088a\u0003\u088a\u0003\u088a\u0003", + "\u088a\u0003\u088a\u0003\u088a\u0003\u088a\u0003\u088a\u0003\u088a\u0003", + "\u088a\u0003\u088a\u0003\u088a\u0003\u088a\u0003\u088a\u0003\u088b\u0003", + "\u088b\u0003\u088b\u0003\u088b\u0003\u088b\u0003\u088c\u0003\u088c\u0003", + "\u088c\u0003\u088c\u0003\u088d\u0003\u088d\u0003\u088d\u0003\u088d\u0003", + "\u088d\u0003\u088e\u0003\u088e\u0003\u088e\u0003\u088e\u0003\u088e\u0003", + "\u088e\u0003\u088e\u0003\u088f\u0003\u088f\u0003\u088f\u0003\u088f\u0003", + "\u088f\u0003\u088f\u0003\u088f\u0003\u0890\u0003\u0890\u0003\u0890\u0003", + "\u0890\u0003\u0891\u0003\u0891\u0003\u0891\u0003\u0891\u0003\u0891\u0003", + "\u0892\u0003\u0892\u0003\u0892\u0003\u0892\u0003\u0893\u0003\u0893\u0003", + "\u0893\u0003\u0893\u0003\u0893\u0003\u0893\u0003\u0893\u0003\u0894\u0003", + "\u0894\u0003\u0894\u0003\u0894\u0003\u0895\u0003\u0895\u0003\u0895\u0003", + "\u0895\u0003\u0895\u0003\u0895\u0003\u0896\u0003\u0896\u0003\u0896\u0003", + "\u0896\u0003\u0897\u0003\u0897\u0003\u0897\u0003\u0897\u0003\u0897\u0003", + "\u0897\u0003\u0897\u0003\u0897\u0003\u0897\u0003\u0897\u0003\u0897\u0003", + "\u0897\u0003\u0897\u0003\u0897\u0003\u0897\u0003\u0897\u0003\u0898\u0003", + "\u0898\u0003\u0898\u0003\u0898\u0003\u0898\u0003\u0898\u0003\u0899\u0003", + "\u0899\u0003\u0899\u0003\u0899\u0003\u0899\u0003\u0899\u0003\u089a\u0003", + "\u089a\u0003\u089a\u0003\u089a\u0003\u089a\u0003\u089a\u0003\u089a\u0003", + "\u089a\u0003\u089a\u0003\u089a\u0003\u089a\u0003\u089b\u0003\u089b\u0003", + "\u089b\u0003\u089b\u0003\u089b\u0003\u089b\u0003\u089b\u0003\u089c\u0003", + "\u089c\u0003\u089c\u0003\u089c\u0003\u089c\u0003\u089c\u0003\u089c\u0003", + "\u089c\u0003\u089d\u0003\u089d\u0003\u089d\u0003\u089d\u0003\u089d\u0003", + "\u089e\u0003\u089e\u0003\u089e\u0003\u089e\u0003\u089f\u0003\u089f\u0003", + "\u089f\u0003\u089f\u0003\u089f\u0003\u089f\u0003\u089f\u0003\u08a0\u0003", + "\u08a0\u0003\u08a0\u0003\u08a0\u0003\u08a0\u0003\u08a1\u0003\u08a1\u0003", + "\u08a1\u0003\u08a1\u0003\u08a1\u0003\u08a1\u0003\u08a1\u0003\u08a1\u0003", + "\u08a1\u0003\u08a2\u0003\u08a2\u0003\u08a2\u0003\u08a2\u0003\u08a2\u0003", + "\u08a2\u0003\u08a3\u0003\u08a3\u0003\u08a3\u0003\u08a3\u0003\u08a3\u0003", + "\u08a3\u0003\u08a3\u0003\u08a3\u0003\u08a3\u0003\u08a4\u0003\u08a4\u0003", + "\u08a4\u0003\u08a4\u0003\u08a4\u0003\u08a4\u0003\u08a4\u0003\u08a4\u0003", + "\u08a5\u0003\u08a5\u0003\u08a5\u0003\u08a5\u0003\u08a5\u0003\u08a5\u0007", + "\u08a5\u72bb\n\u08a5\f\u08a5\u000e\u08a5\u72be\u000b\u08a5\u0003\u08a5", + "\u0003\u08a5\u0003\u08a6\u0003\u08a6\u0003\u08a6\u0007\u08a6\u72c5\n", + "\u08a6\f\u08a6\u000e\u08a6\u72c8\u000b\u08a6\u0003\u08a6\u0006\u08a6", + "\u72cb\n\u08a6\r\u08a6\u000e\u08a6\u72cc\u0003\u08a7\u0003\u08a7\u0003", + "\u08a7\u0007\u08a7\u72d2\n\u08a7\f\u08a7\u000e\u08a7\u72d5\u000b\u08a7", + "\u0003\u08a7\u0006\u08a7\u72d8\n\u08a7\r\u08a7\u000e\u08a7\u72d9\u0003", + "\u08a8\u0003\u08a8\u0003\u08a8\u0003\u08a9\u0003\u08a9\u0003\u08aa\u0006", + "\u08aa\u72e2\n\u08aa\r\u08aa\u000e\u08aa\u72e3\u0003\u08ab\u0003\u08ab", + "\u0003\u08ab\u0005\u08ab\u72e9\n\u08ab\u0003\u08ab\u0003\u08ab\u0006", + "\u08ab\u72ed\n\u08ab\r\u08ab\u000e\u08ab\u72ee\u0005\u08ab\u72f1\n\u08ab", + "\u0005\u08ab\u72f3\n\u08ab\u0003\u08ab\u0005\u08ab\u72f6\n\u08ab\u0003", + "\u08ac\u0003\u08ac\u0003\u08ac\u0003\u08ac\u0003\u08ac\u0007\u08ac\u72fd", + "\n\u08ac\f\u08ac\u000e\u08ac\u7300\u000b\u08ac\u0003\u08ac\u0003\u08ac", + "\u0003\u08ad\u0003\u08ad\u0003\u08ad\u0003\u08ad\u0003\u08ad\u0003\u08ad", + "\u0003\u08ad\u0003\u08ad\u0003\u08ad\u0003\u08ad\u0005\u08ad\u730e\n", + "\u08ad\u0003\u08ad\u0003\u08ad\u0003\u08ad\u0003\u08ad\u0003\u08ae\u0003", + "\u08ae\u0007\u08ae\u7316\n\u08ae\f\u08ae\u000e\u08ae\u7319\u000b\u08ae", + "\u0003\u08ae\u0003\u08ae\u0003\u08af\u0003\u08af\u0007\u08af\u731f\n", + "\u08af\f\u08af\u000e\u08af\u7322\u000b\u08af\u0003\u08af\u0003\u08af", + "\u0003\u08b0\u0003\u08b0\u0007\u08b0\u7328\n\u08b0\f\u08b0\u000e\u08b0", + "\u732b\u000b\u08b0\u0003\u08b0\u0003\u08b0\u0003\u08b1\u0003\u08b1\u0007", + "\u08b1\u7331\n\u08b1\f\u08b1\u000e\u08b1\u7334\u000b\u08b1\u0003\u08b1", + "\u0003\u08b1\u0003\u08b2\u0003\u08b2\u0007\u08b2\u733a\n\u08b2\f\u08b2", + "\u000e\u08b2\u733d\u000b\u08b2\u0003\u08b2\u0003\u08b2\u0003\u08b3\u0003", + "\u08b3\u0007\u08b3\u7343\n\u08b3\f\u08b3\u000e\u08b3\u7346\u000b\u08b3", + "\u0003\u08b3\u0003\u08b3\u0003\u08b4\u0003\u08b4\u0007\u08b4\u734c\n", + "\u08b4\f\u08b4\u000e\u08b4\u734f\u000b\u08b4\u0003\u08b4\u0003\u08b4", + "\u0003\u08b5\u0003\u08b5\u0007\u08b5\u7355\n\u08b5\f\u08b5\u000e\u08b5", + "\u7358\u000b\u08b5\u0003\u08b5\u0003\u08b5\u0003\u08b6\u0003\u08b6\u0003", + "\u08b6\u0003\u08b6\u0006\u08b6\u7360\n\u08b6\r\u08b6\u000e\u08b6\u7361", + "\u0003\u08b6\u0003\u08b6\u0003\u08b7\u0003\u08b7\u0003\u08b8\u0003\u08b8", + "\u0003\u08b9\u0003\u08b9\u0003\u08ba\u0003\u08ba\u0003\u08bb\u0003\u08bb", + "\u0003\u08bb\u0003\u08bc\u0003\u08bc\u0003\u08bd\u0003\u08bd\u0003\u08be", + "\u0003\u08be\u0003\u08bf\u0003\u08bf\u0003\u08c0\u0003\u08c0\u0003\u08c1", + "\u0003\u08c1\u0003\u08c2\u0003\u08c2\u0003\u08c2\u0003\u08c3\u0003\u08c3", + "\u0003\u08c3\u0003\u08c3\u0007\u08c3\u7384\n\u08c3\f\u08c3\u000e\u08c3", + "\u7387\u000b\u08c3\u0003\u08c3\u0003\u08c3\u0003\u08c3\u0003\u08c3\u0003", + "\u08c3\u0005\u08c3\u738e\n\u08c3\u0003\u08c4\u0003\u08c4\u0003\u08c4", + "\u0003\u08c4\u0003\u08c4\u0003\u08c4\u0003\u08c4\u0003\u08c4\u0005\u08c4", + "\u7398\n\u08c4\u0003\u08c5\u0003\u08c5\u0003\u08c6\u0003\u08c6\u0003", + "\u08c7\u0003\u08c7\u0003\u08c8\u0003\u08c8\u0003\u08c9\u0003\u08c9\u0003", + "\u08ca\u0003\u08ca\u0003\u08cb\u0003\u08cb\u0003\u08cc\u0003\u08cc\u0003", + "\u08cd\u0003\u08cd\u0003\u08ce\u0003\u08ce\u0003\u08cf\u0003\u08cf\u0003", + "\u08d0\u0003\u08d0\u0003\u08d1\u0003\u08d1\u0003\u08d1\u0003\u08d1\u0007", + "\u08d1\u73b6\n\u08d1\f\u08d1\u000e\u08d1\u73b9\u000b\u08d1\u0003\u08d1", + "\u0003\u08d1\u0003\u08d1\u0003\u08d1\u0003\u08d2\u0003\u08d2\u0003\u08d2", + "\u0003\u08d2\u0007\u08d2\u73c3\n\u08d2\f\u08d2\u000e\u08d2\u73c6\u000b", + "\u08d2\u0003\u08d2\u0003\u08d2\u0003\u08d2\u0003\u08d2\u0003\u08d2\u0003", + "\u08d3\u0003\u08d3\u0003\u08d3\u0003\u08d3\u0003\u08d3\u0003\u08d3\u0003", + "\u08d3\u0003\u08d3\u0005\u08d3\u73d5\n\u08d3\u0003\u08d3\u0003\u08d3", + "\u0007\u08d3\u73d9\n\u08d3\f\u08d3\u000e\u08d3\u73dc\u000b\u08d3\u0005", + "\u08d3\u73de\n\u08d3\u0003\u08d3\u0003\u08d3\u0003\u08d3\u0003\u08d3", + "\u0003\u08d4\u0003\u08d4\u0003\u08d4\u0003\u08d4\u0003\u08d4\u0003\u08d4", + "\u0003\u08d4\u0003\u08d4\u0005\u08d4\u73ec\n\u08d4\u0003\u08d4\u0003", + "\u08d4\u0007\u08d4\u73f0\n\u08d4\f\u08d4\u000e\u08d4\u73f3\u000b\u08d4", + "\u0005\u08d4\u73f5\n\u08d4\u0003\u08d4\u0003\u08d4\u0003\u08d5\u0003", + "\u08d5\u0003\u08d5\u0005\u08d5\u73fc\n\u08d5\u0003\u08d5\u0007\u08d5", + "\u73ff\n\u08d5\f\u08d5\u000e\u08d5\u7402\u000b\u08d5\u0003\u08d5\u0003", + "\u08d5\u0003\u08d6\u0003\u08d6\u0003\u08d6\u0007\u08d6\u7409\n\u08d6", + "\f\u08d6\u000e\u08d6\u740c\u000b\u08d6\u0003\u08d7\u0006\u08d7\u740f", + "\n\u08d7\r\u08d7\u000e\u08d7\u7410\u0003\u08d7\u0003\u08d7\u0003\u08d8", + "\u0003\u08d8\u0005\u08d8\u7417\n\u08d8\u0003\u08d9\u0003\u08d9\u0003", + "\u08da\u0003\u08da\u0003\u08db\u0007\u08db\u741e\n\u08db\f\u08db\u000e", + "\u08db\u7421\u000b\u08db\u0003\u08db\u0005\u08db\u7424\n\u08db\u0003", + "\u08db\u0006\u08db\u7427\n\u08db\r\u08db\u000e\u08db\u7428\u0003\u08dc", + "\u0005\u08dc\u742c\n\u08dc\u0003\u08dc\u0003\u08dc\u0003\u08dd\u0003", + "\u08dd\u000b\u7317\u7320\u7329\u7332\u733b\u7344\u734d\u7356\u73c4\u0002", + "\u08de\u0003\u0003\u0005\u0004\u0007\u0005\t\u0006\u000b\u0007\r\b\u000f", + "\t\u0011\n\u0013\u000b\u0015\f\u0017\r\u0019\u000e\u001b\u000f\u001d", + "\u0010\u001f\u0011!\u0012#\u0013%\u0014\'\u0015)\u0016+\u0017-\u0018", + "/\u00191\u001a3\u001b5\u001c7\u001d9\u001e;\u001f= ?!A\"C#E$G%I&K\'", + "M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:s;u{?}@\u007fA\u0081B\u0083", + "C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097", + "M\u0099N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab", + "W\u00adX\u00afY\u00b1Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bf", + "a\u00c1b\u00c3c\u00c5d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1j\u00d3", + "k\u00d5l\u00d7m\u00d9n\u00dbo\u00ddp\u00dfq\u00e1r\u00e3s\u00e5t\u00e7", + "u\u00e9v\u00ebw\u00edx\u00efy\u00f1z\u00f3{\u00f5|\u00f7}\u00f9~\u00fb", + "\u007f\u00fd\u0080\u00ff\u0081\u0101\u0082\u0103\u0083\u0105\u0084\u0107", + "\u0085\u0109\u0086\u010b\u0087\u010d\u0088\u010f\u0089\u0111\u008a\u0113", + "\u008b\u0115\u008c\u0117\u008d\u0119\u008e\u011b\u008f\u011d\u0090\u011f", + "\u0091\u0121\u0092\u0123\u0093\u0125\u0094\u0127\u0095\u0129\u0096\u012b", + "\u0097\u012d\u0098\u012f\u0099\u0131\u009a\u0133\u009b\u0135\u009c\u0137", + "\u009d\u0139\u009e\u013b\u009f\u013d\u00a0\u013f\u00a1\u0141\u00a2\u0143", + "\u00a3\u0145\u00a4\u0147\u00a5\u0149\u00a6\u014b\u00a7\u014d\u00a8\u014f", + "\u00a9\u0151\u00aa\u0153\u00ab\u0155\u00ac\u0157\u00ad\u0159\u00ae\u015b", + "\u00af\u015d\u00b0\u015f\u00b1\u0161\u00b2\u0163\u00b3\u0165\u00b4\u0167", + "\u00b5\u0169\u00b6\u016b\u00b7\u016d\u00b8\u016f\u00b9\u0171\u00ba\u0173", + "\u00bb\u0175\u00bc\u0177\u00bd\u0179\u00be\u017b\u00bf\u017d\u00c0\u017f", + "\u00c1\u0181\u00c2\u0183\u00c3\u0185\u00c4\u0187\u00c5\u0189\u00c6\u018b", + "\u00c7\u018d\u00c8\u018f\u00c9\u0191\u00ca\u0193\u00cb\u0195\u00cc\u0197", + "\u00cd\u0199\u00ce\u019b\u00cf\u019d\u00d0\u019f\u00d1\u01a1\u00d2\u01a3", + "\u00d3\u01a5\u00d4\u01a7\u00d5\u01a9\u00d6\u01ab\u00d7\u01ad\u00d8\u01af", + "\u00d9\u01b1\u00da\u01b3\u00db\u01b5\u00dc\u01b7\u00dd\u01b9\u00de\u01bb", + "\u00df\u01bd\u00e0\u01bf\u00e1\u01c1\u00e2\u01c3\u00e3\u01c5\u00e4\u01c7", + "\u00e5\u01c9\u00e6\u01cb\u00e7\u01cd\u00e8\u01cf\u00e9\u01d1\u00ea\u01d3", + "\u00eb\u01d5\u00ec\u01d7\u00ed\u01d9\u00ee\u01db\u00ef\u01dd\u00f0\u01df", + "\u00f1\u01e1\u00f2\u01e3\u00f3\u01e5\u00f4\u01e7\u00f5\u01e9\u00f6\u01eb", + "\u00f7\u01ed\u00f8\u01ef\u00f9\u01f1\u00fa\u01f3\u00fb\u01f5\u00fc\u01f7", + "\u00fd\u01f9\u00fe\u01fb\u00ff\u01fd\u0100\u01ff\u0101\u0201\u0102\u0203", + "\u0103\u0205\u0104\u0207\u0105\u0209\u0106\u020b\u0107\u020d\u0108\u020f", + "\u0109\u0211\u010a\u0213\u010b\u0215\u010c\u0217\u010d\u0219\u010e\u021b", + "\u010f\u021d\u0110\u021f\u0111\u0221\u0112\u0223\u0113\u0225\u0114\u0227", + "\u0115\u0229\u0116\u022b\u0117\u022d\u0118\u022f\u0119\u0231\u011a\u0233", + "\u011b\u0235\u011c\u0237\u011d\u0239\u011e\u023b\u011f\u023d\u0120\u023f", + "\u0121\u0241\u0122\u0243\u0123\u0245\u0124\u0247\u0125\u0249\u0126\u024b", + "\u0127\u024d\u0128\u024f\u0129\u0251\u012a\u0253\u012b\u0255\u012c\u0257", + "\u012d\u0259\u012e\u025b\u012f\u025d\u0130\u025f\u0131\u0261\u0132\u0263", + "\u0133\u0265\u0134\u0267\u0135\u0269\u0136\u026b\u0137\u026d\u0138\u026f", + "\u0139\u0271\u013a\u0273\u013b\u0275\u013c\u0277\u013d\u0279\u013e\u027b", + "\u013f\u027d\u0140\u027f\u0141\u0281\u0142\u0283\u0143\u0285\u0144\u0287", + "\u0145\u0289\u0146\u028b\u0147\u028d\u0148\u028f\u0149\u0291\u014a\u0293", + "\u014b\u0295\u014c\u0297\u014d\u0299\u014e\u029b\u014f\u029d\u0150\u029f", + "\u0151\u02a1\u0152\u02a3\u0153\u02a5\u0154\u02a7\u0155\u02a9\u0156\u02ab", + "\u0157\u02ad\u0158\u02af\u0159\u02b1\u015a\u02b3\u015b\u02b5\u015c\u02b7", + "\u015d\u02b9\u015e\u02bb\u015f\u02bd\u0160\u02bf\u0161\u02c1\u0162\u02c3", + "\u0163\u02c5\u0164\u02c7\u0165\u02c9\u0166\u02cb\u0167\u02cd\u0168\u02cf", + "\u0169\u02d1\u016a\u02d3\u016b\u02d5\u016c\u02d7\u016d\u02d9\u016e\u02db", + "\u016f\u02dd\u0170\u02df\u0171\u02e1\u0172\u02e3\u0173\u02e5\u0174\u02e7", + "\u0175\u02e9\u0176\u02eb\u0177\u02ed\u0178\u02ef\u0179\u02f1\u017a\u02f3", + "\u017b\u02f5\u017c\u02f7\u017d\u02f9\u017e\u02fb\u017f\u02fd\u0180\u02ff", + "\u0181\u0301\u0182\u0303\u0183\u0305\u0184\u0307\u0185\u0309\u0186\u030b", + "\u0187\u030d\u0188\u030f\u0189\u0311\u018a\u0313\u018b\u0315\u018c\u0317", + "\u018d\u0319\u018e\u031b\u018f\u031d\u0190\u031f\u0191\u0321\u0192\u0323", + "\u0193\u0325\u0194\u0327\u0195\u0329\u0196\u032b\u0197\u032d\u0198\u032f", + "\u0199\u0331\u019a\u0333\u019b\u0335\u019c\u0337\u019d\u0339\u019e\u033b", + "\u019f\u033d\u01a0\u033f\u01a1\u0341\u01a2\u0343\u01a3\u0345\u01a4\u0347", + "\u01a5\u0349\u01a6\u034b\u01a7\u034d\u01a8\u034f\u01a9\u0351\u01aa\u0353", + "\u01ab\u0355\u01ac\u0357\u01ad\u0359\u01ae\u035b\u01af\u035d\u01b0\u035f", + "\u01b1\u0361\u01b2\u0363\u01b3\u0365\u01b4\u0367\u01b5\u0369\u01b6\u036b", + "\u01b7\u036d\u01b8\u036f\u01b9\u0371\u01ba\u0373\u01bb\u0375\u01bc\u0377", + "\u01bd\u0379\u01be\u037b\u01bf\u037d\u01c0\u037f\u01c1\u0381\u01c2\u0383", + "\u01c3\u0385\u01c4\u0387\u01c5\u0389\u01c6\u038b\u01c7\u038d\u01c8\u038f", + "\u01c9\u0391\u01ca\u0393\u01cb\u0395\u01cc\u0397\u01cd\u0399\u01ce\u039b", + "\u01cf\u039d\u01d0\u039f\u01d1\u03a1\u01d2\u03a3\u01d3\u03a5\u01d4\u03a7", + "\u01d5\u03a9\u01d6\u03ab\u01d7\u03ad\u01d8\u03af\u01d9\u03b1\u01da\u03b3", + "\u01db\u03b5\u01dc\u03b7\u01dd\u03b9\u01de\u03bb\u01df\u03bd\u01e0\u03bf", + "\u01e1\u03c1\u01e2\u03c3\u01e3\u03c5\u01e4\u03c7\u01e5\u03c9\u01e6\u03cb", + "\u01e7\u03cd\u01e8\u03cf\u01e9\u03d1\u01ea\u03d3\u01eb\u03d5\u01ec\u03d7", + "\u01ed\u03d9\u01ee\u03db\u01ef\u03dd\u01f0\u03df\u01f1\u03e1\u01f2\u03e3", + "\u01f3\u03e5\u01f4\u03e7\u01f5\u03e9\u01f6\u03eb\u01f7\u03ed\u01f8\u03ef", + "\u01f9\u03f1\u01fa\u03f3\u01fb\u03f5\u01fc\u03f7\u01fd\u03f9\u01fe\u03fb", + "\u01ff\u03fd\u0200\u03ff\u0201\u0401\u0202\u0403\u0203\u0405\u0204\u0407", + "\u0205\u0409\u0206\u040b\u0207\u040d\u0208\u040f\u0209\u0411\u020a\u0413", + "\u020b\u0415\u020c\u0417\u020d\u0419\u020e\u041b\u020f\u041d\u0210\u041f", + "\u0211\u0421\u0212\u0423\u0213\u0425\u0214\u0427\u0215\u0429\u0216\u042b", + "\u0217\u042d\u0218\u042f\u0219\u0431\u021a\u0433\u021b\u0435\u021c\u0437", + "\u021d\u0439\u021e\u043b\u021f\u043d\u0220\u043f\u0221\u0441\u0222\u0443", + "\u0223\u0445\u0224\u0447\u0225\u0449\u0226\u044b\u0227\u044d\u0228\u044f", + "\u0229\u0451\u022a\u0453\u022b\u0455\u022c\u0457\u022d\u0459\u022e\u045b", + "\u022f\u045d\u0230\u045f\u0231\u0461\u0232\u0463\u0233\u0465\u0234\u0467", + "\u0235\u0469\u0236\u046b\u0237\u046d\u0238\u046f\u0239\u0471\u023a\u0473", + "\u023b\u0475\u023c\u0477\u023d\u0479\u023e\u047b\u023f\u047d\u0240\u047f", + "\u0241\u0481\u0242\u0483\u0243\u0485\u0244\u0487\u0245\u0489\u0246\u048b", + "\u0247\u048d\u0248\u048f\u0249\u0491\u024a\u0493\u024b\u0495\u024c\u0497", + "\u024d\u0499\u024e\u049b\u024f\u049d\u0250\u049f\u0251\u04a1\u0252\u04a3", + "\u0253\u04a5\u0254\u04a7\u0255\u04a9\u0256\u04ab\u0257\u04ad\u0258\u04af", + "\u0259\u04b1\u025a\u04b3\u025b\u04b5\u025c\u04b7\u025d\u04b9\u025e\u04bb", + "\u025f\u04bd\u0260\u04bf\u0261\u04c1\u0262\u04c3\u0263\u04c5\u0264\u04c7", + "\u0265\u04c9\u0266\u04cb\u0267\u04cd\u0268\u04cf\u0269\u04d1\u026a\u04d3", + "\u026b\u04d5\u026c\u04d7\u026d\u04d9\u026e\u04db\u026f\u04dd\u0270\u04df", + "\u0271\u04e1\u0272\u04e3\u0273\u04e5\u0274\u04e7\u0275\u04e9\u0276\u04eb", + "\u0277\u04ed\u0278\u04ef\u0279\u04f1\u027a\u04f3\u027b\u04f5\u027c\u04f7", + "\u027d\u04f9\u027e\u04fb\u027f\u04fd\u0280\u04ff\u0281\u0501\u0282\u0503", + "\u0283\u0505\u0284\u0507\u0285\u0509\u0286\u050b\u0287\u050d\u0288\u050f", + "\u0289\u0511\u028a\u0513\u028b\u0515\u028c\u0517\u028d\u0519\u028e\u051b", + "\u028f\u051d\u0290\u051f\u0291\u0521\u0292\u0523\u0293\u0525\u0294\u0527", + "\u0295\u0529\u0296\u052b\u0297\u052d\u0298\u052f\u0299\u0531\u029a\u0533", + "\u029b\u0535\u029c\u0537\u029d\u0539\u029e\u053b\u029f\u053d\u02a0\u053f", + "\u02a1\u0541\u02a2\u0543\u02a3\u0545\u02a4\u0547\u02a5\u0549\u02a6\u054b", + "\u02a7\u054d\u02a8\u054f\u02a9\u0551\u02aa\u0553\u02ab\u0555\u02ac\u0557", + "\u02ad\u0559\u02ae\u055b\u02af\u055d\u02b0\u055f\u02b1\u0561\u02b2\u0563", + "\u02b3\u0565\u02b4\u0567\u02b5\u0569\u02b6\u056b\u02b7\u056d\u02b8\u056f", + "\u02b9\u0571\u02ba\u0573\u02bb\u0575\u02bc\u0577\u02bd\u0579\u02be\u057b", + "\u02bf\u057d\u02c0\u057f\u02c1\u0581\u02c2\u0583\u02c3\u0585\u02c4\u0587", + "\u02c5\u0589\u02c6\u058b\u02c7\u058d\u02c8\u058f\u02c9\u0591\u02ca\u0593", + "\u02cb\u0595\u02cc\u0597\u02cd\u0599\u02ce\u059b\u02cf\u059d\u02d0\u059f", + "\u02d1\u05a1\u02d2\u05a3\u02d3\u05a5\u02d4\u05a7\u02d5\u05a9\u02d6\u05ab", + "\u02d7\u05ad\u02d8\u05af\u02d9\u05b1\u02da\u05b3\u02db\u05b5\u02dc\u05b7", + "\u02dd\u05b9\u02de\u05bb\u02df\u05bd\u02e0\u05bf\u02e1\u05c1\u02e2\u05c3", + "\u02e3\u05c5\u02e4\u05c7\u02e5\u05c9\u02e6\u05cb\u02e7\u05cd\u02e8\u05cf", + "\u02e9\u05d1\u02ea\u05d3\u02eb\u05d5\u02ec\u05d7\u02ed\u05d9\u02ee\u05db", + "\u02ef\u05dd\u02f0\u05df\u02f1\u05e1\u02f2\u05e3\u02f3\u05e5\u02f4\u05e7", + "\u02f5\u05e9\u02f6\u05eb\u02f7\u05ed\u02f8\u05ef\u02f9\u05f1\u02fa\u05f3", + "\u02fb\u05f5\u02fc\u05f7\u02fd\u05f9\u02fe\u05fb\u02ff\u05fd\u0300\u05ff", + "\u0301\u0601\u0302\u0603\u0303\u0605\u0304\u0607\u0305\u0609\u0306\u060b", + "\u0307\u060d\u0308\u060f\u0309\u0611\u030a\u0613\u030b\u0615\u030c\u0617", + "\u030d\u0619\u030e\u061b\u030f\u061d\u0310\u061f\u0311\u0621\u0312\u0623", + "\u0313\u0625\u0314\u0627\u0315\u0629\u0316\u062b\u0317\u062d\u0318\u062f", + "\u0319\u0631\u031a\u0633\u031b\u0635\u031c\u0637\u031d\u0639\u031e\u063b", + "\u031f\u063d\u0320\u063f\u0321\u0641\u0322\u0643\u0323\u0645\u0324\u0647", + "\u0325\u0649\u0326\u064b\u0327\u064d\u0328\u064f\u0329\u0651\u032a\u0653", + "\u032b\u0655\u032c\u0657\u032d\u0659\u032e\u065b\u032f\u065d\u0330\u065f", + "\u0331\u0661\u0332\u0663\u0333\u0665\u0334\u0667\u0335\u0669\u0336\u066b", + "\u0337\u066d\u0338\u066f\u0339\u0671\u033a\u0673\u033b\u0675\u033c\u0677", + "\u033d\u0679\u033e\u067b\u033f\u067d\u0340\u067f\u0341\u0681\u0342\u0683", + "\u0343\u0685\u0344\u0687\u0345\u0689\u0346\u068b\u0347\u068d\u0348\u068f", + "\u0349\u0691\u034a\u0693\u034b\u0695\u034c\u0697\u034d\u0699\u034e\u069b", + "\u034f\u069d\u0350\u069f\u0351\u06a1\u0352\u06a3\u0353\u06a5\u0354\u06a7", + "\u0355\u06a9\u0356\u06ab\u0357\u06ad\u0358\u06af\u0359\u06b1\u035a\u06b3", + "\u035b\u06b5\u035c\u06b7\u035d\u06b9\u035e\u06bb\u035f\u06bd\u0360\u06bf", + "\u0361\u06c1\u0362\u06c3\u0363\u06c5\u0364\u06c7\u0365\u06c9\u0366\u06cb", + "\u0367\u06cd\u0368\u06cf\u0369\u06d1\u036a\u06d3\u036b\u06d5\u036c\u06d7", + "\u036d\u06d9\u036e\u06db\u036f\u06dd\u0370\u06df\u0371\u06e1\u0372\u06e3", + "\u0373\u06e5\u0374\u06e7\u0375\u06e9\u0376\u06eb\u0377\u06ed\u0378\u06ef", + "\u0379\u06f1\u037a\u06f3\u037b\u06f5\u037c\u06f7\u037d\u06f9\u037e\u06fb", + "\u037f\u06fd\u0380\u06ff\u0381\u0701\u0382\u0703\u0383\u0705\u0384\u0707", + "\u0385\u0709\u0386\u070b\u0387\u070d\u0388\u070f\u0389\u0711\u038a\u0713", + "\u038b\u0715\u038c\u0717\u038d\u0719\u038e\u071b\u038f\u071d\u0390\u071f", + "\u0391\u0721\u0392\u0723\u0393\u0725\u0394\u0727\u0395\u0729\u0396\u072b", + "\u0397\u072d\u0398\u072f\u0399\u0731\u039a\u0733\u039b\u0735\u039c\u0737", + "\u039d\u0739\u039e\u073b\u039f\u073d\u03a0\u073f\u03a1\u0741\u03a2\u0743", + "\u03a3\u0745\u03a4\u0747\u03a5\u0749\u03a6\u074b\u03a7\u074d\u03a8\u074f", + "\u03a9\u0751\u03aa\u0753\u03ab\u0755\u03ac\u0757\u03ad\u0759\u03ae\u075b", + "\u03af\u075d\u03b0\u075f\u03b1\u0761\u03b2\u0763\u03b3\u0765\u03b4\u0767", + "\u03b5\u0769\u03b6\u076b\u03b7\u076d\u03b8\u076f\u03b9\u0771\u03ba\u0773", + "\u03bb\u0775\u03bc\u0777\u03bd\u0779\u03be\u077b\u03bf\u077d\u03c0\u077f", + "\u03c1\u0781\u03c2\u0783\u03c3\u0785\u03c4\u0787\u03c5\u0789\u03c6\u078b", + "\u03c7\u078d\u03c8\u078f\u03c9\u0791\u03ca\u0793\u03cb\u0795\u03cc\u0797", + "\u03cd\u0799\u03ce\u079b\u03cf\u079d\u03d0\u079f\u03d1\u07a1\u03d2\u07a3", + "\u03d3\u07a5\u03d4\u07a7\u03d5\u07a9\u03d6\u07ab\u03d7\u07ad\u03d8\u07af", + "\u03d9\u07b1\u03da\u07b3\u03db\u07b5\u03dc\u07b7\u03dd\u07b9\u03de\u07bb", + "\u03df\u07bd\u03e0\u07bf\u03e1\u07c1\u03e2\u07c3\u03e3\u07c5\u03e4\u07c7", + "\u03e5\u07c9\u03e6\u07cb\u03e7\u07cd\u03e8\u07cf\u03e9\u07d1\u03ea\u07d3", + "\u03eb\u07d5\u03ec\u07d7\u03ed\u07d9\u03ee\u07db\u03ef\u07dd\u03f0\u07df", + "\u03f1\u07e1\u03f2\u07e3\u03f3\u07e5\u03f4\u07e7\u03f5\u07e9\u03f6\u07eb", + "\u03f7\u07ed\u03f8\u07ef\u03f9\u07f1\u03fa\u07f3\u03fb\u07f5\u03fc\u07f7", + "\u03fd\u07f9\u03fe\u07fb\u03ff\u07fd\u0400\u07ff\u0401\u0801\u0402\u0803", + "\u0403\u0805\u0404\u0807\u0405\u0809\u0406\u080b\u0407\u080d\u0408\u080f", + "\u0409\u0811\u040a\u0813\u040b\u0815\u040c\u0817\u040d\u0819\u040e\u081b", + "\u040f\u081d\u0410\u081f\u0411\u0821\u0412\u0823\u0413\u0825\u0414\u0827", + "\u0415\u0829\u0416\u082b\u0417\u082d\u0418\u082f\u0419\u0831\u041a\u0833", + "\u041b\u0835\u041c\u0837\u041d\u0839\u041e\u083b\u041f\u083d\u0420\u083f", + "\u0421\u0841\u0422\u0843\u0423\u0845\u0424\u0847\u0425\u0849\u0426\u084b", + "\u0427\u084d\u0428\u084f\u0429\u0851\u042a\u0853\u042b\u0855\u042c\u0857", + "\u042d\u0859\u042e\u085b\u042f\u085d\u0430\u085f\u0431\u0861\u0432\u0863", + "\u0433\u0865\u0434\u0867\u0435\u0869\u0436\u086b\u0437\u086d\u0438\u086f", + "\u0439\u0871\u043a\u0873\u043b\u0875\u043c\u0877\u043d\u0879\u043e\u087b", + "\u043f\u087d\u0440\u087f\u0441\u0881\u0442\u0883\u0443\u0885\u0444\u0887", + "\u0445\u0889\u0446\u088b\u0447\u088d\u0448\u088f\u0449\u0891\u044a\u0893", + "\u044b\u0895\u044c\u0897\u044d\u0899\u044e\u089b\u044f\u089d\u0450\u089f", + "\u0451\u08a1\u0452\u08a3\u0453\u08a5\u0454\u08a7\u0455\u08a9\u0456\u08ab", + "\u0457\u08ad\u0458\u08af\u0459\u08b1\u045a\u08b3\u045b\u08b5\u045c\u08b7", + "\u045d\u08b9\u045e\u08bb\u045f\u08bd\u0460\u08bf\u0461\u08c1\u0462\u08c3", + "\u0463\u08c5\u0464\u08c7\u0465\u08c9\u0466\u08cb\u0467\u08cd\u0468\u08cf", + "\u0469\u08d1\u046a\u08d3\u046b\u08d5\u046c\u08d7\u046d\u08d9\u046e\u08db", + "\u046f\u08dd\u0470\u08df\u0471\u08e1\u0472\u08e3\u0473\u08e5\u0474\u08e7", + "\u0475\u08e9\u0476\u08eb\u0477\u08ed\u0478\u08ef\u0479\u08f1\u047a\u08f3", + "\u047b\u08f5\u047c\u08f7\u047d\u08f9\u047e\u08fb\u047f\u08fd\u0480\u08ff", + "\u0481\u0901\u0482\u0903\u0483\u0905\u0484\u0907\u0485\u0909\u0486\u090b", + "\u0487\u090d\u0488\u090f\u0489\u0911\u048a\u0913\u048b\u0915\u048c\u0917", + "\u048d\u0919\u048e\u091b\u048f\u091d\u0490\u091f\u0491\u0921\u0492\u0923", + "\u0493\u0925\u0494\u0927\u0495\u0929\u0496\u092b\u0497\u092d\u0498\u092f", + "\u0499\u0931\u049a\u0933\u049b\u0935\u049c\u0937\u049d\u0939\u049e\u093b", + "\u049f\u093d\u04a0\u093f\u04a1\u0941\u04a2\u0943\u04a3\u0945\u04a4\u0947", + "\u04a5\u0949\u04a6\u094b\u04a7\u094d\u04a8\u094f\u04a9\u0951\u04aa\u0953", + "\u04ab\u0955\u04ac\u0957\u04ad\u0959\u04ae\u095b\u04af\u095d\u04b0\u095f", + "\u04b1\u0961\u04b2\u0963\u04b3\u0965\u04b4\u0967\u04b5\u0969\u04b6\u096b", + "\u04b7\u096d\u04b8\u096f\u04b9\u0971\u04ba\u0973\u04bb\u0975\u04bc\u0977", + "\u04bd\u0979\u04be\u097b\u04bf\u097d\u04c0\u097f\u04c1\u0981\u04c2\u0983", + "\u04c3\u0985\u04c4\u0987\u04c5\u0989\u04c6\u098b\u04c7\u098d\u04c8\u098f", + "\u04c9\u0991\u04ca\u0993\u04cb\u0995\u04cc\u0997\u04cd\u0999\u04ce\u099b", + "\u04cf\u099d\u04d0\u099f\u04d1\u09a1\u04d2\u09a3\u04d3\u09a5\u04d4\u09a7", + "\u04d5\u09a9\u04d6\u09ab\u04d7\u09ad\u04d8\u09af\u04d9\u09b1\u04da\u09b3", + "\u04db\u09b5\u04dc\u09b7\u04dd\u09b9\u04de\u09bb\u04df\u09bd\u04e0\u09bf", + "\u04e1\u09c1\u04e2\u09c3\u04e3\u09c5\u04e4\u09c7\u04e5\u09c9\u04e6\u09cb", + "\u04e7\u09cd\u04e8\u09cf\u04e9\u09d1\u04ea\u09d3\u04eb\u09d5\u04ec\u09d7", + "\u04ed\u09d9\u04ee\u09db\u04ef\u09dd\u04f0\u09df\u04f1\u09e1\u04f2\u09e3", + "\u04f3\u09e5\u04f4\u09e7\u04f5\u09e9\u04f6\u09eb\u04f7\u09ed\u04f8\u09ef", + "\u04f9\u09f1\u04fa\u09f3\u04fb\u09f5\u04fc\u09f7\u04fd\u09f9\u04fe\u09fb", + "\u04ff\u09fd\u0500\u09ff\u0501\u0a01\u0502\u0a03\u0503\u0a05\u0504\u0a07", + "\u0505\u0a09\u0506\u0a0b\u0507\u0a0d\u0508\u0a0f\u0509\u0a11\u050a\u0a13", + "\u050b\u0a15\u050c\u0a17\u050d\u0a19\u050e\u0a1b\u050f\u0a1d\u0510\u0a1f", + "\u0511\u0a21\u0512\u0a23\u0513\u0a25\u0514\u0a27\u0515\u0a29\u0516\u0a2b", + "\u0517\u0a2d\u0518\u0a2f\u0519\u0a31\u051a\u0a33\u051b\u0a35\u051c\u0a37", + "\u051d\u0a39\u051e\u0a3b\u051f\u0a3d\u0520\u0a3f\u0521\u0a41\u0522\u0a43", + "\u0523\u0a45\u0524\u0a47\u0525\u0a49\u0526\u0a4b\u0527\u0a4d\u0528\u0a4f", + "\u0529\u0a51\u052a\u0a53\u052b\u0a55\u052c\u0a57\u052d\u0a59\u052e\u0a5b", + "\u052f\u0a5d\u0530\u0a5f\u0531\u0a61\u0532\u0a63\u0533\u0a65\u0534\u0a67", + "\u0535\u0a69\u0536\u0a6b\u0537\u0a6d\u0538\u0a6f\u0539\u0a71\u053a\u0a73", + "\u053b\u0a75\u053c\u0a77\u053d\u0a79\u053e\u0a7b\u053f\u0a7d\u0540\u0a7f", + "\u0541\u0a81\u0542\u0a83\u0543\u0a85\u0544\u0a87\u0545\u0a89\u0546\u0a8b", + "\u0547\u0a8d\u0548\u0a8f\u0549\u0a91\u054a\u0a93\u054b\u0a95\u054c\u0a97", + "\u054d\u0a99\u054e\u0a9b\u054f\u0a9d\u0550\u0a9f\u0551\u0aa1\u0552\u0aa3", + "\u0553\u0aa5\u0554\u0aa7\u0555\u0aa9\u0556\u0aab\u0557\u0aad\u0558\u0aaf", + "\u0559\u0ab1\u055a\u0ab3\u055b\u0ab5\u055c\u0ab7\u055d\u0ab9\u055e\u0abb", + "\u055f\u0abd\u0560\u0abf\u0561\u0ac1\u0562\u0ac3\u0563\u0ac5\u0564\u0ac7", + "\u0565\u0ac9\u0566\u0acb\u0567\u0acd\u0568\u0acf\u0569\u0ad1\u056a\u0ad3", + "\u056b\u0ad5\u056c\u0ad7\u056d\u0ad9\u056e\u0adb\u056f\u0add\u0570\u0adf", + "\u0571\u0ae1\u0572\u0ae3\u0573\u0ae5\u0574\u0ae7\u0575\u0ae9\u0576\u0aeb", + "\u0577\u0aed\u0578\u0aef\u0579\u0af1\u057a\u0af3\u057b\u0af5\u057c\u0af7", + "\u057d\u0af9\u057e\u0afb\u057f\u0afd\u0580\u0aff\u0581\u0b01\u0582\u0b03", + "\u0583\u0b05\u0584\u0b07\u0585\u0b09\u0586\u0b0b\u0587\u0b0d\u0588\u0b0f", + "\u0589\u0b11\u058a\u0b13\u058b\u0b15\u058c\u0b17\u058d\u0b19\u058e\u0b1b", + "\u058f\u0b1d\u0590\u0b1f\u0591\u0b21\u0592\u0b23\u0593\u0b25\u0594\u0b27", + "\u0595\u0b29\u0596\u0b2b\u0597\u0b2d\u0598\u0b2f\u0599\u0b31\u059a\u0b33", + "\u059b\u0b35\u059c\u0b37\u059d\u0b39\u059e\u0b3b\u059f\u0b3d\u05a0\u0b3f", + "\u05a1\u0b41\u05a2\u0b43\u05a3\u0b45\u05a4\u0b47\u05a5\u0b49\u05a6\u0b4b", + "\u05a7\u0b4d\u05a8\u0b4f\u05a9\u0b51\u05aa\u0b53\u05ab\u0b55\u05ac\u0b57", + "\u05ad\u0b59\u05ae\u0b5b\u05af\u0b5d\u05b0\u0b5f\u05b1\u0b61\u05b2\u0b63", + "\u05b3\u0b65\u05b4\u0b67\u05b5\u0b69\u05b6\u0b6b\u05b7\u0b6d\u05b8\u0b6f", + "\u05b9\u0b71\u05ba\u0b73\u05bb\u0b75\u05bc\u0b77\u05bd\u0b79\u05be\u0b7b", + "\u05bf\u0b7d\u05c0\u0b7f\u05c1\u0b81\u05c2\u0b83\u05c3\u0b85\u05c4\u0b87", + "\u05c5\u0b89\u05c6\u0b8b\u05c7\u0b8d\u05c8\u0b8f\u05c9\u0b91\u05ca\u0b93", + "\u05cb\u0b95\u05cc\u0b97\u05cd\u0b99\u05ce\u0b9b\u05cf\u0b9d\u05d0\u0b9f", + "\u05d1\u0ba1\u05d2\u0ba3\u05d3\u0ba5\u05d4\u0ba7\u05d5\u0ba9\u05d6\u0bab", + "\u05d7\u0bad\u05d8\u0baf\u05d9\u0bb1\u05da\u0bb3\u05db\u0bb5\u05dc\u0bb7", + "\u05dd\u0bb9\u05de\u0bbb\u05df\u0bbd\u05e0\u0bbf\u05e1\u0bc1\u05e2\u0bc3", + "\u05e3\u0bc5\u05e4\u0bc7\u05e5\u0bc9\u05e6\u0bcb\u05e7\u0bcd\u05e8\u0bcf", + "\u05e9\u0bd1\u05ea\u0bd3\u05eb\u0bd5\u05ec\u0bd7\u05ed\u0bd9\u05ee\u0bdb", + "\u05ef\u0bdd\u05f0\u0bdf\u05f1\u0be1\u05f2\u0be3\u05f3\u0be5\u05f4\u0be7", + "\u05f5\u0be9\u05f6\u0beb\u05f7\u0bed\u05f8\u0bef\u05f9\u0bf1\u05fa\u0bf3", + "\u05fb\u0bf5\u05fc\u0bf7\u05fd\u0bf9\u05fe\u0bfb\u05ff\u0bfd\u0600\u0bff", + "\u0601\u0c01\u0602\u0c03\u0603\u0c05\u0604\u0c07\u0605\u0c09\u0606\u0c0b", + "\u0607\u0c0d\u0608\u0c0f\u0609\u0c11\u060a\u0c13\u060b\u0c15\u060c\u0c17", + "\u060d\u0c19\u060e\u0c1b\u060f\u0c1d\u0610\u0c1f\u0611\u0c21\u0612\u0c23", + "\u0613\u0c25\u0614\u0c27\u0615\u0c29\u0616\u0c2b\u0617\u0c2d\u0618\u0c2f", + "\u0619\u0c31\u061a\u0c33\u061b\u0c35\u061c\u0c37\u061d\u0c39\u061e\u0c3b", + "\u061f\u0c3d\u0620\u0c3f\u0621\u0c41\u0622\u0c43\u0623\u0c45\u0624\u0c47", + "\u0625\u0c49\u0626\u0c4b\u0627\u0c4d\u0628\u0c4f\u0629\u0c51\u062a\u0c53", + "\u062b\u0c55\u062c\u0c57\u062d\u0c59\u062e\u0c5b\u062f\u0c5d\u0630\u0c5f", + "\u0631\u0c61\u0632\u0c63\u0633\u0c65\u0634\u0c67\u0635\u0c69\u0636\u0c6b", + "\u0637\u0c6d\u0638\u0c6f\u0639\u0c71\u063a\u0c73\u063b\u0c75\u063c\u0c77", + "\u063d\u0c79\u063e\u0c7b\u063f\u0c7d\u0640\u0c7f\u0641\u0c81\u0642\u0c83", + "\u0643\u0c85\u0644\u0c87\u0645\u0c89\u0646\u0c8b\u0647\u0c8d\u0648\u0c8f", + "\u0649\u0c91\u064a\u0c93\u064b\u0c95\u064c\u0c97\u064d\u0c99\u064e\u0c9b", + "\u064f\u0c9d\u0650\u0c9f\u0651\u0ca1\u0652\u0ca3\u0653\u0ca5\u0654\u0ca7", + "\u0655\u0ca9\u0656\u0cab\u0657\u0cad\u0658\u0caf\u0659\u0cb1\u065a\u0cb3", + "\u065b\u0cb5\u065c\u0cb7\u065d\u0cb9\u065e\u0cbb\u065f\u0cbd\u0660\u0cbf", + "\u0661\u0cc1\u0662\u0cc3\u0663\u0cc5\u0664\u0cc7\u0665\u0cc9\u0666\u0ccb", + "\u0667\u0ccd\u0668\u0ccf\u0669\u0cd1\u066a\u0cd3\u066b\u0cd5\u066c\u0cd7", + "\u066d\u0cd9\u066e\u0cdb\u066f\u0cdd\u0670\u0cdf\u0671\u0ce1\u0672\u0ce3", + "\u0673\u0ce5\u0674\u0ce7\u0675\u0ce9\u0676\u0ceb\u0677\u0ced\u0678\u0cef", + "\u0679\u0cf1\u067a\u0cf3\u067b\u0cf5\u067c\u0cf7\u067d\u0cf9\u067e\u0cfb", + "\u067f\u0cfd\u0680\u0cff\u0681\u0d01\u0682\u0d03\u0683\u0d05\u0684\u0d07", + "\u0685\u0d09\u0686\u0d0b\u0687\u0d0d\u0688\u0d0f\u0689\u0d11\u068a\u0d13", + "\u068b\u0d15\u068c\u0d17\u068d\u0d19\u068e\u0d1b\u068f\u0d1d\u0690\u0d1f", + "\u0691\u0d21\u0692\u0d23\u0693\u0d25\u0694\u0d27\u0695\u0d29\u0696\u0d2b", + "\u0697\u0d2d\u0698\u0d2f\u0699\u0d31\u069a\u0d33\u069b\u0d35\u069c\u0d37", + "\u069d\u0d39\u069e\u0d3b\u069f\u0d3d\u06a0\u0d3f\u06a1\u0d41\u06a2\u0d43", + "\u06a3\u0d45\u06a4\u0d47\u06a5\u0d49\u06a6\u0d4b\u06a7\u0d4d\u06a8\u0d4f", + "\u06a9\u0d51\u06aa\u0d53\u06ab\u0d55\u06ac\u0d57\u06ad\u0d59\u06ae\u0d5b", + "\u06af\u0d5d\u06b0\u0d5f\u06b1\u0d61\u06b2\u0d63\u06b3\u0d65\u06b4\u0d67", + "\u06b5\u0d69\u06b6\u0d6b\u06b7\u0d6d\u06b8\u0d6f\u06b9\u0d71\u06ba\u0d73", + "\u06bb\u0d75\u06bc\u0d77\u06bd\u0d79\u06be\u0d7b\u06bf\u0d7d\u06c0\u0d7f", + "\u06c1\u0d81\u06c2\u0d83\u06c3\u0d85\u06c4\u0d87\u06c5\u0d89\u06c6\u0d8b", + "\u06c7\u0d8d\u06c8\u0d8f\u06c9\u0d91\u06ca\u0d93\u06cb\u0d95\u06cc\u0d97", + "\u06cd\u0d99\u06ce\u0d9b\u06cf\u0d9d\u06d0\u0d9f\u06d1\u0da1\u06d2\u0da3", + "\u06d3\u0da5\u06d4\u0da7\u06d5\u0da9\u06d6\u0dab\u06d7\u0dad\u06d8\u0daf", + "\u06d9\u0db1\u06da\u0db3\u06db\u0db5\u06dc\u0db7\u06dd\u0db9\u06de\u0dbb", + "\u06df\u0dbd\u06e0\u0dbf\u06e1\u0dc1\u06e2\u0dc3\u06e3\u0dc5\u06e4\u0dc7", + "\u06e5\u0dc9\u06e6\u0dcb\u06e7\u0dcd\u06e8\u0dcf\u06e9\u0dd1\u06ea\u0dd3", + "\u06eb\u0dd5\u06ec\u0dd7\u06ed\u0dd9\u06ee\u0ddb\u06ef\u0ddd\u06f0\u0ddf", + "\u06f1\u0de1\u06f2\u0de3\u06f3\u0de5\u06f4\u0de7\u06f5\u0de9\u06f6\u0deb", + "\u06f7\u0ded\u06f8\u0def\u06f9\u0df1\u06fa\u0df3\u06fb\u0df5\u06fc\u0df7", + "\u06fd\u0df9\u06fe\u0dfb\u06ff\u0dfd\u0700\u0dff\u0701\u0e01\u0702\u0e03", + "\u0703\u0e05\u0704\u0e07\u0705\u0e09\u0706\u0e0b\u0707\u0e0d\u0708\u0e0f", + "\u0709\u0e11\u070a\u0e13\u070b\u0e15\u070c\u0e17\u070d\u0e19\u070e\u0e1b", + "\u070f\u0e1d\u0710\u0e1f\u0711\u0e21\u0712\u0e23\u0713\u0e25\u0714\u0e27", + "\u0715\u0e29\u0716\u0e2b\u0717\u0e2d\u0718\u0e2f\u0719\u0e31\u071a\u0e33", + "\u071b\u0e35\u071c\u0e37\u071d\u0e39\u071e\u0e3b\u071f\u0e3d\u0720\u0e3f", + "\u0721\u0e41\u0722\u0e43\u0723\u0e45\u0724\u0e47\u0725\u0e49\u0726\u0e4b", + "\u0727\u0e4d\u0728\u0e4f\u0729\u0e51\u072a\u0e53\u072b\u0e55\u072c\u0e57", + "\u072d\u0e59\u072e\u0e5b\u072f\u0e5d\u0730\u0e5f\u0731\u0e61\u0732\u0e63", + "\u0733\u0e65\u0734\u0e67\u0735\u0e69\u0736\u0e6b\u0737\u0e6d\u0738\u0e6f", + "\u0739\u0e71\u073a\u0e73\u073b\u0e75\u073c\u0e77\u073d\u0e79\u073e\u0e7b", + "\u073f\u0e7d\u0740\u0e7f\u0741\u0e81\u0742\u0e83\u0743\u0e85\u0744\u0e87", + "\u0745\u0e89\u0746\u0e8b\u0747\u0e8d\u0748\u0e8f\u0749\u0e91\u074a\u0e93", + "\u074b\u0e95\u074c\u0e97\u074d\u0e99\u074e\u0e9b\u074f\u0e9d\u0750\u0e9f", + "\u0751\u0ea1\u0752\u0ea3\u0753\u0ea5\u0754\u0ea7\u0755\u0ea9\u0756\u0eab", + "\u0757\u0ead\u0758\u0eaf\u0759\u0eb1\u075a\u0eb3\u075b\u0eb5\u075c\u0eb7", + "\u075d\u0eb9\u075e\u0ebb\u075f\u0ebd\u0760\u0ebf\u0761\u0ec1\u0762\u0ec3", + "\u0763\u0ec5\u0764\u0ec7\u0765\u0ec9\u0766\u0ecb\u0767\u0ecd\u0768\u0ecf", + "\u0769\u0ed1\u076a\u0ed3\u076b\u0ed5\u076c\u0ed7\u076d\u0ed9\u076e\u0edb", + "\u076f\u0edd\u0770\u0edf\u0771\u0ee1\u0772\u0ee3\u0773\u0ee5\u0774\u0ee7", + "\u0775\u0ee9\u0776\u0eeb\u0777\u0eed\u0778\u0eef\u0779\u0ef1\u077a\u0ef3", + "\u077b\u0ef5\u077c\u0ef7\u077d\u0ef9\u077e\u0efb\u077f\u0efd\u0780\u0eff", + "\u0781\u0f01\u0782\u0f03\u0783\u0f05\u0784\u0f07\u0785\u0f09\u0786\u0f0b", + "\u0787\u0f0d\u0788\u0f0f\u0789\u0f11\u078a\u0f13\u078b\u0f15\u078c\u0f17", + "\u078d\u0f19\u078e\u0f1b\u078f\u0f1d\u0790\u0f1f\u0791\u0f21\u0792\u0f23", + "\u0793\u0f25\u0794\u0f27\u0795\u0f29\u0796\u0f2b\u0797\u0f2d\u0798\u0f2f", + "\u0799\u0f31\u079a\u0f33\u079b\u0f35\u079c\u0f37\u079d\u0f39\u079e\u0f3b", + "\u079f\u0f3d\u07a0\u0f3f\u07a1\u0f41\u07a2\u0f43\u07a3\u0f45\u07a4\u0f47", + "\u07a5\u0f49\u07a6\u0f4b\u07a7\u0f4d\u07a8\u0f4f\u07a9\u0f51\u07aa\u0f53", + "\u07ab\u0f55\u07ac\u0f57\u07ad\u0f59\u07ae\u0f5b\u07af\u0f5d\u07b0\u0f5f", + "\u07b1\u0f61\u07b2\u0f63\u07b3\u0f65\u07b4\u0f67\u07b5\u0f69\u07b6\u0f6b", + "\u07b7\u0f6d\u07b8\u0f6f\u07b9\u0f71\u07ba\u0f73\u07bb\u0f75\u07bc\u0f77", + "\u07bd\u0f79\u07be\u0f7b\u07bf\u0f7d\u07c0\u0f7f\u07c1\u0f81\u07c2\u0f83", + "\u07c3\u0f85\u07c4\u0f87\u07c5\u0f89\u07c6\u0f8b\u07c7\u0f8d\u07c8\u0f8f", + "\u07c9\u0f91\u07ca\u0f93\u07cb\u0f95\u07cc\u0f97\u07cd\u0f99\u07ce\u0f9b", + "\u07cf\u0f9d\u07d0\u0f9f\u07d1\u0fa1\u07d2\u0fa3\u07d3\u0fa5\u07d4\u0fa7", + "\u07d5\u0fa9\u07d6\u0fab\u07d7\u0fad\u07d8\u0faf\u07d9\u0fb1\u07da\u0fb3", + "\u07db\u0fb5\u07dc\u0fb7\u07dd\u0fb9\u07de\u0fbb\u07df\u0fbd\u07e0\u0fbf", + "\u07e1\u0fc1\u07e2\u0fc3\u07e3\u0fc5\u07e4\u0fc7\u07e5\u0fc9\u07e6\u0fcb", + "\u07e7\u0fcd\u07e8\u0fcf\u07e9\u0fd1\u07ea\u0fd3\u07eb\u0fd5\u07ec\u0fd7", + "\u07ed\u0fd9\u07ee\u0fdb\u07ef\u0fdd\u07f0\u0fdf\u07f1\u0fe1\u07f2\u0fe3", + "\u07f3\u0fe5\u07f4\u0fe7\u07f5\u0fe9\u07f6\u0feb\u07f7\u0fed\u07f8\u0fef", + "\u07f9\u0ff1\u07fa\u0ff3\u07fb\u0ff5\u07fc\u0ff7\u07fd\u0ff9\u07fe\u0ffb", + "\u07ff\u0ffd\u0800\u0fff\u0801\u1001\u0802\u1003\u0803\u1005\u0804\u1007", + "\u0805\u1009\u0806\u100b\u0807\u100d\u0808\u100f\u0809\u1011\u080a\u1013", + "\u080b\u1015\u080c\u1017\u080d\u1019\u080e\u101b\u080f\u101d\u0810\u101f", + "\u0811\u1021\u0812\u1023\u0813\u1025\u0814\u1027\u0815\u1029\u0816\u102b", + "\u0817\u102d\u0818\u102f\u0819\u1031\u081a\u1033\u081b\u1035\u081c\u1037", + "\u081d\u1039\u081e\u103b\u081f\u103d\u0820\u103f\u0821\u1041\u0822\u1043", + "\u0823\u1045\u0824\u1047\u0825\u1049\u0826\u104b\u0827\u104d\u0828\u104f", + "\u0829\u1051\u082a\u1053\u082b\u1055\u082c\u1057\u082d\u1059\u082e\u105b", + "\u082f\u105d\u0830\u105f\u0831\u1061\u0832\u1063\u0833\u1065\u0834\u1067", + "\u0835\u1069\u0836\u106b\u0837\u106d\u0838\u106f\u0839\u1071\u083a\u1073", + "\u083b\u1075\u083c\u1077\u083d\u1079\u083e\u107b\u083f\u107d\u0840\u107f", + "\u0841\u1081\u0842\u1083\u0843\u1085\u0844\u1087\u0845\u1089\u0846\u108b", + "\u0847\u108d\u0848\u108f\u0849\u1091\u084a\u1093\u084b\u1095\u084c\u1097", + "\u084d\u1099\u084e\u109b\u084f\u109d\u0850\u109f\u0851\u10a1\u0852\u10a3", + "\u0853\u10a5\u0854\u10a7\u0855\u10a9\u0856\u10ab\u0857\u10ad\u0858\u10af", + "\u0859\u10b1\u085a\u10b3\u085b\u10b5\u085c\u10b7\u085d\u10b9\u085e\u10bb", + "\u085f\u10bd\u0860\u10bf\u0861\u10c1\u0862\u10c3\u0863\u10c5\u0864\u10c7", + "\u0865\u10c9\u0866\u10cb\u0867\u10cd\u0868\u10cf\u0869\u10d1\u086a\u10d3", + "\u086b\u10d5\u086c\u10d7\u086d\u10d9\u086e\u10db\u086f\u10dd\u0870\u10df", + "\u0871\u10e1\u0872\u10e3\u0873\u10e5\u0874\u10e7\u0875\u10e9\u0876\u10eb", + "\u0877\u10ed\u0878\u10ef\u0879\u10f1\u087a\u10f3\u087b\u10f5\u087c\u10f7", + "\u087d\u10f9\u087e\u10fb\u087f\u10fd\u0880\u10ff\u0881\u1101\u0882\u1103", + "\u0883\u1105\u0884\u1107\u0885\u1109\u0886\u110b\u0887\u110d\u0888\u110f", + "\u0889\u1111\u088a\u1113\u088b\u1115\u088c\u1117\u088d\u1119\u088e\u111b", + "\u088f\u111d\u0890\u111f\u0891\u1121\u0892\u1123\u0893\u1125\u0894\u1127", + "\u0895\u1129\u0896\u112b\u0897\u112d\u0898\u112f\u0899\u1131\u089a\u1133", + "\u089b\u1135\u089c\u1137\u089d\u1139\u089e\u113b\u089f\u113d\u08a0\u113f", + "\u08a1\u1141\u08a2\u1143\u08a3\u1145\u08a4\u1147\u08a5\u1149\u08a6\u114b", + "\u08a7\u114d\u08a8\u114f\u08a9\u1151\u08aa\u1153\u08ab\u1155\u08ac\u1157", + "\u08ad\u1159\u0002\u115b\u0002\u115d\u0002\u115f\u0002\u1161\u0002\u1163", + "\u0002\u1165\u0002\u1167\u0002\u1169\u0002\u116b\u08ae\u116d\u08af\u116f", + "\u08b0\u1171\u08b1\u1173\u08b2\u1175\u08b3\u1177\u08b4\u1179\u08b5\u117b", + "\u08b6\u117d\u08b7\u117f\u08b8\u1181\u08b9\u1183\u08ba\u1185\u08bb\u1187", + "\u08bc\u1189\u08bd\u118b\u08be\u118d\u08bf\u118f\u08c0\u1191\u08c1\u1193", + "\u08c2\u1195\u08c3\u1197\u08c4\u1199\u08c5\u119b\u08c6\u119d\u08c7\u119f", + "\u08c8\u11a1\u08c9\u11a3\u08ca\u11a5\u08cb\u11a7\u08cc\u11a9\u08cd\u11ab", + "\u08ce\u11ad\u08cf\u11af\u0002\u11b1\u0002\u11b3\u0002\u11b5\u0002\u11b7", + "\u0002\u11b9\u0002\u0003\u0002\u000f\u0005\u0002\f\f\u000f\u000f))\u0003", + "\u000223\u0004\u00022;CH\u0003\u00022;\u0004\u0002--//\u0004\u0002F", + "FHH\u0005\u0002\f\f\u000f\u000f$$\u0004\u00022;aa\u0004\u0002\f\f\u000f", + "\u000f\u0005\u0002%&2;aa\u0005\u0002\u000b\f\u000f\u000f\"\"\u0003\u0002", + "C\\\u0004\u0002\u000b\u000b\"\"\u0002\u7463\u0002\u0003\u0003\u0002", + "\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002\u0002\u0007\u0003\u0002", + "\u0002\u0002\u0002\t\u0003\u0002\u0002\u0002\u0002\u000b\u0003\u0002", + "\u0002\u0002\u0002\r\u0003\u0002\u0002\u0002\u0002\u000f\u0003\u0002", + "\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002\u0002\u0013\u0003\u0002", + "\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002\u0002\u0017\u0003\u0002", + "\u0002\u0002\u0002\u0019\u0003\u0002\u0002\u0002\u0002\u001b\u0003\u0002", + "\u0002\u0002\u0002\u001d\u0003\u0002\u0002\u0002\u0002\u001f\u0003\u0002", + "\u0002\u0002\u0002!\u0003\u0002\u0002\u0002\u0002#\u0003\u0002\u0002", + "\u0002\u0002%\u0003\u0002\u0002\u0002\u0002\'\u0003\u0002\u0002\u0002", + "\u0002)\u0003\u0002\u0002\u0002\u0002+\u0003\u0002\u0002\u0002\u0002", + "-\u0003\u0002\u0002\u0002\u0002/\u0003\u0002\u0002\u0002\u00021\u0003", + "\u0002\u0002\u0002\u00023\u0003\u0002\u0002\u0002\u00025\u0003\u0002", + "\u0002\u0002\u00027\u0003\u0002\u0002\u0002\u00029\u0003\u0002\u0002", + "\u0002\u0002;\u0003\u0002\u0002\u0002\u0002=\u0003\u0002\u0002\u0002", + "\u0002?\u0003\u0002\u0002\u0002\u0002A\u0003\u0002\u0002\u0002\u0002", + "C\u0003\u0002\u0002\u0002\u0002E\u0003\u0002\u0002\u0002\u0002G\u0003", + "\u0002\u0002\u0002\u0002I\u0003\u0002\u0002\u0002\u0002K\u0003\u0002", + "\u0002\u0002\u0002M\u0003\u0002\u0002\u0002\u0002O\u0003\u0002\u0002", + "\u0002\u0002Q\u0003\u0002\u0002\u0002\u0002S\u0003\u0002\u0002\u0002", + "\u0002U\u0003\u0002\u0002\u0002\u0002W\u0003\u0002\u0002\u0002\u0002", + "Y\u0003\u0002\u0002\u0002\u0002[\u0003\u0002\u0002\u0002\u0002]\u0003", + "\u0002\u0002\u0002\u0002_\u0003\u0002\u0002\u0002\u0002a\u0003\u0002", + "\u0002\u0002\u0002c\u0003\u0002\u0002\u0002\u0002e\u0003\u0002\u0002", + "\u0002\u0002g\u0003\u0002\u0002\u0002\u0002i\u0003\u0002\u0002\u0002", + "\u0002k\u0003\u0002\u0002\u0002\u0002m\u0003\u0002\u0002\u0002\u0002", + "o\u0003\u0002\u0002\u0002\u0002q\u0003\u0002\u0002\u0002\u0002s\u0003", + "\u0002\u0002\u0002\u0002u\u0003\u0002\u0002\u0002\u0002w\u0003\u0002", + "\u0002\u0002\u0002y\u0003\u0002\u0002\u0002\u0002{\u0003\u0002\u0002", + "\u0002\u0002}\u0003\u0002\u0002\u0002\u0002\u007f\u0003\u0002\u0002", + "\u0002\u0002\u0081\u0003\u0002\u0002\u0002\u0002\u0083\u0003\u0002\u0002", + "\u0002\u0002\u0085\u0003\u0002\u0002\u0002\u0002\u0087\u0003\u0002\u0002", + "\u0002\u0002\u0089\u0003\u0002\u0002\u0002\u0002\u008b\u0003\u0002\u0002", + "\u0002\u0002\u008d\u0003\u0002\u0002\u0002\u0002\u008f\u0003\u0002\u0002", + "\u0002\u0002\u0091\u0003\u0002\u0002\u0002\u0002\u0093\u0003\u0002\u0002", + "\u0002\u0002\u0095\u0003\u0002\u0002\u0002\u0002\u0097\u0003\u0002\u0002", + "\u0002\u0002\u0099\u0003\u0002\u0002\u0002\u0002\u009b\u0003\u0002\u0002", + "\u0002\u0002\u009d\u0003\u0002\u0002\u0002\u0002\u009f\u0003\u0002\u0002", + "\u0002\u0002\u00a1\u0003\u0002\u0002\u0002\u0002\u00a3\u0003\u0002\u0002", + "\u0002\u0002\u00a5\u0003\u0002\u0002\u0002\u0002\u00a7\u0003\u0002\u0002", + "\u0002\u0002\u00a9\u0003\u0002\u0002\u0002\u0002\u00ab\u0003\u0002\u0002", + "\u0002\u0002\u00ad\u0003\u0002\u0002\u0002\u0002\u00af\u0003\u0002\u0002", + "\u0002\u0002\u00b1\u0003\u0002\u0002\u0002\u0002\u00b3\u0003\u0002\u0002", + "\u0002\u0002\u00b5\u0003\u0002\u0002\u0002\u0002\u00b7\u0003\u0002\u0002", + "\u0002\u0002\u00b9\u0003\u0002\u0002\u0002\u0002\u00bb\u0003\u0002\u0002", + "\u0002\u0002\u00bd\u0003\u0002\u0002\u0002\u0002\u00bf\u0003\u0002\u0002", + "\u0002\u0002\u00c1\u0003\u0002\u0002\u0002\u0002\u00c3\u0003\u0002\u0002", + "\u0002\u0002\u00c5\u0003\u0002\u0002\u0002\u0002\u00c7\u0003\u0002\u0002", + "\u0002\u0002\u00c9\u0003\u0002\u0002\u0002\u0002\u00cb\u0003\u0002\u0002", + "\u0002\u0002\u00cd\u0003\u0002\u0002\u0002\u0002\u00cf\u0003\u0002\u0002", + "\u0002\u0002\u00d1\u0003\u0002\u0002\u0002\u0002\u00d3\u0003\u0002\u0002", + "\u0002\u0002\u00d5\u0003\u0002\u0002\u0002\u0002\u00d7\u0003\u0002\u0002", + "\u0002\u0002\u00d9\u0003\u0002\u0002\u0002\u0002\u00db\u0003\u0002\u0002", + "\u0002\u0002\u00dd\u0003\u0002\u0002\u0002\u0002\u00df\u0003\u0002\u0002", + "\u0002\u0002\u00e1\u0003\u0002\u0002\u0002\u0002\u00e3\u0003\u0002\u0002", + "\u0002\u0002\u00e5\u0003\u0002\u0002\u0002\u0002\u00e7\u0003\u0002\u0002", + "\u0002\u0002\u00e9\u0003\u0002\u0002\u0002\u0002\u00eb\u0003\u0002\u0002", + "\u0002\u0002\u00ed\u0003\u0002\u0002\u0002\u0002\u00ef\u0003\u0002\u0002", + "\u0002\u0002\u00f1\u0003\u0002\u0002\u0002\u0002\u00f3\u0003\u0002\u0002", + "\u0002\u0002\u00f5\u0003\u0002\u0002\u0002\u0002\u00f7\u0003\u0002\u0002", + "\u0002\u0002\u00f9\u0003\u0002\u0002\u0002\u0002\u00fb\u0003\u0002\u0002", + "\u0002\u0002\u00fd\u0003\u0002\u0002\u0002\u0002\u00ff\u0003\u0002\u0002", + "\u0002\u0002\u0101\u0003\u0002\u0002\u0002\u0002\u0103\u0003\u0002\u0002", + "\u0002\u0002\u0105\u0003\u0002\u0002\u0002\u0002\u0107\u0003\u0002\u0002", + "\u0002\u0002\u0109\u0003\u0002\u0002\u0002\u0002\u010b\u0003\u0002\u0002", + "\u0002\u0002\u010d\u0003\u0002\u0002\u0002\u0002\u010f\u0003\u0002\u0002", + "\u0002\u0002\u0111\u0003\u0002\u0002\u0002\u0002\u0113\u0003\u0002\u0002", + "\u0002\u0002\u0115\u0003\u0002\u0002\u0002\u0002\u0117\u0003\u0002\u0002", + "\u0002\u0002\u0119\u0003\u0002\u0002\u0002\u0002\u011b\u0003\u0002\u0002", + "\u0002\u0002\u011d\u0003\u0002\u0002\u0002\u0002\u011f\u0003\u0002\u0002", + "\u0002\u0002\u0121\u0003\u0002\u0002\u0002\u0002\u0123\u0003\u0002\u0002", + "\u0002\u0002\u0125\u0003\u0002\u0002\u0002\u0002\u0127\u0003\u0002\u0002", + "\u0002\u0002\u0129\u0003\u0002\u0002\u0002\u0002\u012b\u0003\u0002\u0002", + "\u0002\u0002\u012d\u0003\u0002\u0002\u0002\u0002\u012f\u0003\u0002\u0002", + "\u0002\u0002\u0131\u0003\u0002\u0002\u0002\u0002\u0133\u0003\u0002\u0002", + "\u0002\u0002\u0135\u0003\u0002\u0002\u0002\u0002\u0137\u0003\u0002\u0002", + "\u0002\u0002\u0139\u0003\u0002\u0002\u0002\u0002\u013b\u0003\u0002\u0002", + "\u0002\u0002\u013d\u0003\u0002\u0002\u0002\u0002\u013f\u0003\u0002\u0002", + "\u0002\u0002\u0141\u0003\u0002\u0002\u0002\u0002\u0143\u0003\u0002\u0002", + "\u0002\u0002\u0145\u0003\u0002\u0002\u0002\u0002\u0147\u0003\u0002\u0002", + "\u0002\u0002\u0149\u0003\u0002\u0002\u0002\u0002\u014b\u0003\u0002\u0002", + "\u0002\u0002\u014d\u0003\u0002\u0002\u0002\u0002\u014f\u0003\u0002\u0002", + "\u0002\u0002\u0151\u0003\u0002\u0002\u0002\u0002\u0153\u0003\u0002\u0002", + "\u0002\u0002\u0155\u0003\u0002\u0002\u0002\u0002\u0157\u0003\u0002\u0002", + "\u0002\u0002\u0159\u0003\u0002\u0002\u0002\u0002\u015b\u0003\u0002\u0002", + "\u0002\u0002\u015d\u0003\u0002\u0002\u0002\u0002\u015f\u0003\u0002\u0002", + "\u0002\u0002\u0161\u0003\u0002\u0002\u0002\u0002\u0163\u0003\u0002\u0002", + "\u0002\u0002\u0165\u0003\u0002\u0002\u0002\u0002\u0167\u0003\u0002\u0002", + "\u0002\u0002\u0169\u0003\u0002\u0002\u0002\u0002\u016b\u0003\u0002\u0002", + "\u0002\u0002\u016d\u0003\u0002\u0002\u0002\u0002\u016f\u0003\u0002\u0002", + "\u0002\u0002\u0171\u0003\u0002\u0002\u0002\u0002\u0173\u0003\u0002\u0002", + "\u0002\u0002\u0175\u0003\u0002\u0002\u0002\u0002\u0177\u0003\u0002\u0002", + "\u0002\u0002\u0179\u0003\u0002\u0002\u0002\u0002\u017b\u0003\u0002\u0002", + "\u0002\u0002\u017d\u0003\u0002\u0002\u0002\u0002\u017f\u0003\u0002\u0002", + "\u0002\u0002\u0181\u0003\u0002\u0002\u0002\u0002\u0183\u0003\u0002\u0002", + "\u0002\u0002\u0185\u0003\u0002\u0002\u0002\u0002\u0187\u0003\u0002\u0002", + "\u0002\u0002\u0189\u0003\u0002\u0002\u0002\u0002\u018b\u0003\u0002\u0002", + "\u0002\u0002\u018d\u0003\u0002\u0002\u0002\u0002\u018f\u0003\u0002\u0002", + "\u0002\u0002\u0191\u0003\u0002\u0002\u0002\u0002\u0193\u0003\u0002\u0002", + "\u0002\u0002\u0195\u0003\u0002\u0002\u0002\u0002\u0197\u0003\u0002\u0002", + "\u0002\u0002\u0199\u0003\u0002\u0002\u0002\u0002\u019b\u0003\u0002\u0002", + "\u0002\u0002\u019d\u0003\u0002\u0002\u0002\u0002\u019f\u0003\u0002\u0002", + "\u0002\u0002\u01a1\u0003\u0002\u0002\u0002\u0002\u01a3\u0003\u0002\u0002", + "\u0002\u0002\u01a5\u0003\u0002\u0002\u0002\u0002\u01a7\u0003\u0002\u0002", + "\u0002\u0002\u01a9\u0003\u0002\u0002\u0002\u0002\u01ab\u0003\u0002\u0002", + "\u0002\u0002\u01ad\u0003\u0002\u0002\u0002\u0002\u01af\u0003\u0002\u0002", + "\u0002\u0002\u01b1\u0003\u0002\u0002\u0002\u0002\u01b3\u0003\u0002\u0002", + "\u0002\u0002\u01b5\u0003\u0002\u0002\u0002\u0002\u01b7\u0003\u0002\u0002", + "\u0002\u0002\u01b9\u0003\u0002\u0002\u0002\u0002\u01bb\u0003\u0002\u0002", + "\u0002\u0002\u01bd\u0003\u0002\u0002\u0002\u0002\u01bf\u0003\u0002\u0002", + "\u0002\u0002\u01c1\u0003\u0002\u0002\u0002\u0002\u01c3\u0003\u0002\u0002", + "\u0002\u0002\u01c5\u0003\u0002\u0002\u0002\u0002\u01c7\u0003\u0002\u0002", + "\u0002\u0002\u01c9\u0003\u0002\u0002\u0002\u0002\u01cb\u0003\u0002\u0002", + "\u0002\u0002\u01cd\u0003\u0002\u0002\u0002\u0002\u01cf\u0003\u0002\u0002", + "\u0002\u0002\u01d1\u0003\u0002\u0002\u0002\u0002\u01d3\u0003\u0002\u0002", + "\u0002\u0002\u01d5\u0003\u0002\u0002\u0002\u0002\u01d7\u0003\u0002\u0002", + "\u0002\u0002\u01d9\u0003\u0002\u0002\u0002\u0002\u01db\u0003\u0002\u0002", + "\u0002\u0002\u01dd\u0003\u0002\u0002\u0002\u0002\u01df\u0003\u0002\u0002", + "\u0002\u0002\u01e1\u0003\u0002\u0002\u0002\u0002\u01e3\u0003\u0002\u0002", + "\u0002\u0002\u01e5\u0003\u0002\u0002\u0002\u0002\u01e7\u0003\u0002\u0002", + "\u0002\u0002\u01e9\u0003\u0002\u0002\u0002\u0002\u01eb\u0003\u0002\u0002", + "\u0002\u0002\u01ed\u0003\u0002\u0002\u0002\u0002\u01ef\u0003\u0002\u0002", + "\u0002\u0002\u01f1\u0003\u0002\u0002\u0002\u0002\u01f3\u0003\u0002\u0002", + "\u0002\u0002\u01f5\u0003\u0002\u0002\u0002\u0002\u01f7\u0003\u0002\u0002", + "\u0002\u0002\u01f9\u0003\u0002\u0002\u0002\u0002\u01fb\u0003\u0002\u0002", + "\u0002\u0002\u01fd\u0003\u0002\u0002\u0002\u0002\u01ff\u0003\u0002\u0002", + "\u0002\u0002\u0201\u0003\u0002\u0002\u0002\u0002\u0203\u0003\u0002\u0002", + "\u0002\u0002\u0205\u0003\u0002\u0002\u0002\u0002\u0207\u0003\u0002\u0002", + "\u0002\u0002\u0209\u0003\u0002\u0002\u0002\u0002\u020b\u0003\u0002\u0002", + "\u0002\u0002\u020d\u0003\u0002\u0002\u0002\u0002\u020f\u0003\u0002\u0002", + "\u0002\u0002\u0211\u0003\u0002\u0002\u0002\u0002\u0213\u0003\u0002\u0002", + "\u0002\u0002\u0215\u0003\u0002\u0002\u0002\u0002\u0217\u0003\u0002\u0002", + "\u0002\u0002\u0219\u0003\u0002\u0002\u0002\u0002\u021b\u0003\u0002\u0002", + "\u0002\u0002\u021d\u0003\u0002\u0002\u0002\u0002\u021f\u0003\u0002\u0002", + "\u0002\u0002\u0221\u0003\u0002\u0002\u0002\u0002\u0223\u0003\u0002\u0002", + "\u0002\u0002\u0225\u0003\u0002\u0002\u0002\u0002\u0227\u0003\u0002\u0002", + "\u0002\u0002\u0229\u0003\u0002\u0002\u0002\u0002\u022b\u0003\u0002\u0002", + "\u0002\u0002\u022d\u0003\u0002\u0002\u0002\u0002\u022f\u0003\u0002\u0002", + "\u0002\u0002\u0231\u0003\u0002\u0002\u0002\u0002\u0233\u0003\u0002\u0002", + "\u0002\u0002\u0235\u0003\u0002\u0002\u0002\u0002\u0237\u0003\u0002\u0002", + "\u0002\u0002\u0239\u0003\u0002\u0002\u0002\u0002\u023b\u0003\u0002\u0002", + "\u0002\u0002\u023d\u0003\u0002\u0002\u0002\u0002\u023f\u0003\u0002\u0002", + "\u0002\u0002\u0241\u0003\u0002\u0002\u0002\u0002\u0243\u0003\u0002\u0002", + "\u0002\u0002\u0245\u0003\u0002\u0002\u0002\u0002\u0247\u0003\u0002\u0002", + "\u0002\u0002\u0249\u0003\u0002\u0002\u0002\u0002\u024b\u0003\u0002\u0002", + "\u0002\u0002\u024d\u0003\u0002\u0002\u0002\u0002\u024f\u0003\u0002\u0002", + "\u0002\u0002\u0251\u0003\u0002\u0002\u0002\u0002\u0253\u0003\u0002\u0002", + "\u0002\u0002\u0255\u0003\u0002\u0002\u0002\u0002\u0257\u0003\u0002\u0002", + "\u0002\u0002\u0259\u0003\u0002\u0002\u0002\u0002\u025b\u0003\u0002\u0002", + "\u0002\u0002\u025d\u0003\u0002\u0002\u0002\u0002\u025f\u0003\u0002\u0002", + "\u0002\u0002\u0261\u0003\u0002\u0002\u0002\u0002\u0263\u0003\u0002\u0002", + "\u0002\u0002\u0265\u0003\u0002\u0002\u0002\u0002\u0267\u0003\u0002\u0002", + "\u0002\u0002\u0269\u0003\u0002\u0002\u0002\u0002\u026b\u0003\u0002\u0002", + "\u0002\u0002\u026d\u0003\u0002\u0002\u0002\u0002\u026f\u0003\u0002\u0002", + "\u0002\u0002\u0271\u0003\u0002\u0002\u0002\u0002\u0273\u0003\u0002\u0002", + "\u0002\u0002\u0275\u0003\u0002\u0002\u0002\u0002\u0277\u0003\u0002\u0002", + "\u0002\u0002\u0279\u0003\u0002\u0002\u0002\u0002\u027b\u0003\u0002\u0002", + "\u0002\u0002\u027d\u0003\u0002\u0002\u0002\u0002\u027f\u0003\u0002\u0002", + "\u0002\u0002\u0281\u0003\u0002\u0002\u0002\u0002\u0283\u0003\u0002\u0002", + "\u0002\u0002\u0285\u0003\u0002\u0002\u0002\u0002\u0287\u0003\u0002\u0002", + "\u0002\u0002\u0289\u0003\u0002\u0002\u0002\u0002\u028b\u0003\u0002\u0002", + "\u0002\u0002\u028d\u0003\u0002\u0002\u0002\u0002\u028f\u0003\u0002\u0002", + "\u0002\u0002\u0291\u0003\u0002\u0002\u0002\u0002\u0293\u0003\u0002\u0002", + "\u0002\u0002\u0295\u0003\u0002\u0002\u0002\u0002\u0297\u0003\u0002\u0002", + "\u0002\u0002\u0299\u0003\u0002\u0002\u0002\u0002\u029b\u0003\u0002\u0002", + "\u0002\u0002\u029d\u0003\u0002\u0002\u0002\u0002\u029f\u0003\u0002\u0002", + "\u0002\u0002\u02a1\u0003\u0002\u0002\u0002\u0002\u02a3\u0003\u0002\u0002", + "\u0002\u0002\u02a5\u0003\u0002\u0002\u0002\u0002\u02a7\u0003\u0002\u0002", + "\u0002\u0002\u02a9\u0003\u0002\u0002\u0002\u0002\u02ab\u0003\u0002\u0002", + "\u0002\u0002\u02ad\u0003\u0002\u0002\u0002\u0002\u02af\u0003\u0002\u0002", + "\u0002\u0002\u02b1\u0003\u0002\u0002\u0002\u0002\u02b3\u0003\u0002\u0002", + "\u0002\u0002\u02b5\u0003\u0002\u0002\u0002\u0002\u02b7\u0003\u0002\u0002", + "\u0002\u0002\u02b9\u0003\u0002\u0002\u0002\u0002\u02bb\u0003\u0002\u0002", + "\u0002\u0002\u02bd\u0003\u0002\u0002\u0002\u0002\u02bf\u0003\u0002\u0002", + "\u0002\u0002\u02c1\u0003\u0002\u0002\u0002\u0002\u02c3\u0003\u0002\u0002", + "\u0002\u0002\u02c5\u0003\u0002\u0002\u0002\u0002\u02c7\u0003\u0002\u0002", + "\u0002\u0002\u02c9\u0003\u0002\u0002\u0002\u0002\u02cb\u0003\u0002\u0002", + "\u0002\u0002\u02cd\u0003\u0002\u0002\u0002\u0002\u02cf\u0003\u0002\u0002", + "\u0002\u0002\u02d1\u0003\u0002\u0002\u0002\u0002\u02d3\u0003\u0002\u0002", + "\u0002\u0002\u02d5\u0003\u0002\u0002\u0002\u0002\u02d7\u0003\u0002\u0002", + "\u0002\u0002\u02d9\u0003\u0002\u0002\u0002\u0002\u02db\u0003\u0002\u0002", + "\u0002\u0002\u02dd\u0003\u0002\u0002\u0002\u0002\u02df\u0003\u0002\u0002", + "\u0002\u0002\u02e1\u0003\u0002\u0002\u0002\u0002\u02e3\u0003\u0002\u0002", + "\u0002\u0002\u02e5\u0003\u0002\u0002\u0002\u0002\u02e7\u0003\u0002\u0002", + "\u0002\u0002\u02e9\u0003\u0002\u0002\u0002\u0002\u02eb\u0003\u0002\u0002", + "\u0002\u0002\u02ed\u0003\u0002\u0002\u0002\u0002\u02ef\u0003\u0002\u0002", + "\u0002\u0002\u02f1\u0003\u0002\u0002\u0002\u0002\u02f3\u0003\u0002\u0002", + "\u0002\u0002\u02f5\u0003\u0002\u0002\u0002\u0002\u02f7\u0003\u0002\u0002", + "\u0002\u0002\u02f9\u0003\u0002\u0002\u0002\u0002\u02fb\u0003\u0002\u0002", + "\u0002\u0002\u02fd\u0003\u0002\u0002\u0002\u0002\u02ff\u0003\u0002\u0002", + "\u0002\u0002\u0301\u0003\u0002\u0002\u0002\u0002\u0303\u0003\u0002\u0002", + "\u0002\u0002\u0305\u0003\u0002\u0002\u0002\u0002\u0307\u0003\u0002\u0002", + "\u0002\u0002\u0309\u0003\u0002\u0002\u0002\u0002\u030b\u0003\u0002\u0002", + "\u0002\u0002\u030d\u0003\u0002\u0002\u0002\u0002\u030f\u0003\u0002\u0002", + "\u0002\u0002\u0311\u0003\u0002\u0002\u0002\u0002\u0313\u0003\u0002\u0002", + "\u0002\u0002\u0315\u0003\u0002\u0002\u0002\u0002\u0317\u0003\u0002\u0002", + "\u0002\u0002\u0319\u0003\u0002\u0002\u0002\u0002\u031b\u0003\u0002\u0002", + "\u0002\u0002\u031d\u0003\u0002\u0002\u0002\u0002\u031f\u0003\u0002\u0002", + "\u0002\u0002\u0321\u0003\u0002\u0002\u0002\u0002\u0323\u0003\u0002\u0002", + "\u0002\u0002\u0325\u0003\u0002\u0002\u0002\u0002\u0327\u0003\u0002\u0002", + "\u0002\u0002\u0329\u0003\u0002\u0002\u0002\u0002\u032b\u0003\u0002\u0002", + "\u0002\u0002\u032d\u0003\u0002\u0002\u0002\u0002\u032f\u0003\u0002\u0002", + "\u0002\u0002\u0331\u0003\u0002\u0002\u0002\u0002\u0333\u0003\u0002\u0002", + "\u0002\u0002\u0335\u0003\u0002\u0002\u0002\u0002\u0337\u0003\u0002\u0002", + "\u0002\u0002\u0339\u0003\u0002\u0002\u0002\u0002\u033b\u0003\u0002\u0002", + "\u0002\u0002\u033d\u0003\u0002\u0002\u0002\u0002\u033f\u0003\u0002\u0002", + "\u0002\u0002\u0341\u0003\u0002\u0002\u0002\u0002\u0343\u0003\u0002\u0002", + "\u0002\u0002\u0345\u0003\u0002\u0002\u0002\u0002\u0347\u0003\u0002\u0002", + "\u0002\u0002\u0349\u0003\u0002\u0002\u0002\u0002\u034b\u0003\u0002\u0002", + "\u0002\u0002\u034d\u0003\u0002\u0002\u0002\u0002\u034f\u0003\u0002\u0002", + "\u0002\u0002\u0351\u0003\u0002\u0002\u0002\u0002\u0353\u0003\u0002\u0002", + "\u0002\u0002\u0355\u0003\u0002\u0002\u0002\u0002\u0357\u0003\u0002\u0002", + "\u0002\u0002\u0359\u0003\u0002\u0002\u0002\u0002\u035b\u0003\u0002\u0002", + "\u0002\u0002\u035d\u0003\u0002\u0002\u0002\u0002\u035f\u0003\u0002\u0002", + "\u0002\u0002\u0361\u0003\u0002\u0002\u0002\u0002\u0363\u0003\u0002\u0002", + "\u0002\u0002\u0365\u0003\u0002\u0002\u0002\u0002\u0367\u0003\u0002\u0002", + "\u0002\u0002\u0369\u0003\u0002\u0002\u0002\u0002\u036b\u0003\u0002\u0002", + "\u0002\u0002\u036d\u0003\u0002\u0002\u0002\u0002\u036f\u0003\u0002\u0002", + "\u0002\u0002\u0371\u0003\u0002\u0002\u0002\u0002\u0373\u0003\u0002\u0002", + "\u0002\u0002\u0375\u0003\u0002\u0002\u0002\u0002\u0377\u0003\u0002\u0002", + "\u0002\u0002\u0379\u0003\u0002\u0002\u0002\u0002\u037b\u0003\u0002\u0002", + "\u0002\u0002\u037d\u0003\u0002\u0002\u0002\u0002\u037f\u0003\u0002\u0002", + "\u0002\u0002\u0381\u0003\u0002\u0002\u0002\u0002\u0383\u0003\u0002\u0002", + "\u0002\u0002\u0385\u0003\u0002\u0002\u0002\u0002\u0387\u0003\u0002\u0002", + "\u0002\u0002\u0389\u0003\u0002\u0002\u0002\u0002\u038b\u0003\u0002\u0002", + "\u0002\u0002\u038d\u0003\u0002\u0002\u0002\u0002\u038f\u0003\u0002\u0002", + "\u0002\u0002\u0391\u0003\u0002\u0002\u0002\u0002\u0393\u0003\u0002\u0002", + "\u0002\u0002\u0395\u0003\u0002\u0002\u0002\u0002\u0397\u0003\u0002\u0002", + "\u0002\u0002\u0399\u0003\u0002\u0002\u0002\u0002\u039b\u0003\u0002\u0002", + "\u0002\u0002\u039d\u0003\u0002\u0002\u0002\u0002\u039f\u0003\u0002\u0002", + "\u0002\u0002\u03a1\u0003\u0002\u0002\u0002\u0002\u03a3\u0003\u0002\u0002", + "\u0002\u0002\u03a5\u0003\u0002\u0002\u0002\u0002\u03a7\u0003\u0002\u0002", + "\u0002\u0002\u03a9\u0003\u0002\u0002\u0002\u0002\u03ab\u0003\u0002\u0002", + "\u0002\u0002\u03ad\u0003\u0002\u0002\u0002\u0002\u03af\u0003\u0002\u0002", + "\u0002\u0002\u03b1\u0003\u0002\u0002\u0002\u0002\u03b3\u0003\u0002\u0002", + "\u0002\u0002\u03b5\u0003\u0002\u0002\u0002\u0002\u03b7\u0003\u0002\u0002", + "\u0002\u0002\u03b9\u0003\u0002\u0002\u0002\u0002\u03bb\u0003\u0002\u0002", + "\u0002\u0002\u03bd\u0003\u0002\u0002\u0002\u0002\u03bf\u0003\u0002\u0002", + "\u0002\u0002\u03c1\u0003\u0002\u0002\u0002\u0002\u03c3\u0003\u0002\u0002", + "\u0002\u0002\u03c5\u0003\u0002\u0002\u0002\u0002\u03c7\u0003\u0002\u0002", + "\u0002\u0002\u03c9\u0003\u0002\u0002\u0002\u0002\u03cb\u0003\u0002\u0002", + "\u0002\u0002\u03cd\u0003\u0002\u0002\u0002\u0002\u03cf\u0003\u0002\u0002", + "\u0002\u0002\u03d1\u0003\u0002\u0002\u0002\u0002\u03d3\u0003\u0002\u0002", + "\u0002\u0002\u03d5\u0003\u0002\u0002\u0002\u0002\u03d7\u0003\u0002\u0002", + "\u0002\u0002\u03d9\u0003\u0002\u0002\u0002\u0002\u03db\u0003\u0002\u0002", + "\u0002\u0002\u03dd\u0003\u0002\u0002\u0002\u0002\u03df\u0003\u0002\u0002", + "\u0002\u0002\u03e1\u0003\u0002\u0002\u0002\u0002\u03e3\u0003\u0002\u0002", + "\u0002\u0002\u03e5\u0003\u0002\u0002\u0002\u0002\u03e7\u0003\u0002\u0002", + "\u0002\u0002\u03e9\u0003\u0002\u0002\u0002\u0002\u03eb\u0003\u0002\u0002", + "\u0002\u0002\u03ed\u0003\u0002\u0002\u0002\u0002\u03ef\u0003\u0002\u0002", + "\u0002\u0002\u03f1\u0003\u0002\u0002\u0002\u0002\u03f3\u0003\u0002\u0002", + "\u0002\u0002\u03f5\u0003\u0002\u0002\u0002\u0002\u03f7\u0003\u0002\u0002", + "\u0002\u0002\u03f9\u0003\u0002\u0002\u0002\u0002\u03fb\u0003\u0002\u0002", + "\u0002\u0002\u03fd\u0003\u0002\u0002\u0002\u0002\u03ff\u0003\u0002\u0002", + "\u0002\u0002\u0401\u0003\u0002\u0002\u0002\u0002\u0403\u0003\u0002\u0002", + "\u0002\u0002\u0405\u0003\u0002\u0002\u0002\u0002\u0407\u0003\u0002\u0002", + "\u0002\u0002\u0409\u0003\u0002\u0002\u0002\u0002\u040b\u0003\u0002\u0002", + "\u0002\u0002\u040d\u0003\u0002\u0002\u0002\u0002\u040f\u0003\u0002\u0002", + "\u0002\u0002\u0411\u0003\u0002\u0002\u0002\u0002\u0413\u0003\u0002\u0002", + "\u0002\u0002\u0415\u0003\u0002\u0002\u0002\u0002\u0417\u0003\u0002\u0002", + "\u0002\u0002\u0419\u0003\u0002\u0002\u0002\u0002\u041b\u0003\u0002\u0002", + "\u0002\u0002\u041d\u0003\u0002\u0002\u0002\u0002\u041f\u0003\u0002\u0002", + "\u0002\u0002\u0421\u0003\u0002\u0002\u0002\u0002\u0423\u0003\u0002\u0002", + "\u0002\u0002\u0425\u0003\u0002\u0002\u0002\u0002\u0427\u0003\u0002\u0002", + "\u0002\u0002\u0429\u0003\u0002\u0002\u0002\u0002\u042b\u0003\u0002\u0002", + "\u0002\u0002\u042d\u0003\u0002\u0002\u0002\u0002\u042f\u0003\u0002\u0002", + "\u0002\u0002\u0431\u0003\u0002\u0002\u0002\u0002\u0433\u0003\u0002\u0002", + "\u0002\u0002\u0435\u0003\u0002\u0002\u0002\u0002\u0437\u0003\u0002\u0002", + "\u0002\u0002\u0439\u0003\u0002\u0002\u0002\u0002\u043b\u0003\u0002\u0002", + "\u0002\u0002\u043d\u0003\u0002\u0002\u0002\u0002\u043f\u0003\u0002\u0002", + "\u0002\u0002\u0441\u0003\u0002\u0002\u0002\u0002\u0443\u0003\u0002\u0002", + "\u0002\u0002\u0445\u0003\u0002\u0002\u0002\u0002\u0447\u0003\u0002\u0002", + "\u0002\u0002\u0449\u0003\u0002\u0002\u0002\u0002\u044b\u0003\u0002\u0002", + "\u0002\u0002\u044d\u0003\u0002\u0002\u0002\u0002\u044f\u0003\u0002\u0002", + "\u0002\u0002\u0451\u0003\u0002\u0002\u0002\u0002\u0453\u0003\u0002\u0002", + "\u0002\u0002\u0455\u0003\u0002\u0002\u0002\u0002\u0457\u0003\u0002\u0002", + "\u0002\u0002\u0459\u0003\u0002\u0002\u0002\u0002\u045b\u0003\u0002\u0002", + "\u0002\u0002\u045d\u0003\u0002\u0002\u0002\u0002\u045f\u0003\u0002\u0002", + "\u0002\u0002\u0461\u0003\u0002\u0002\u0002\u0002\u0463\u0003\u0002\u0002", + "\u0002\u0002\u0465\u0003\u0002\u0002\u0002\u0002\u0467\u0003\u0002\u0002", + "\u0002\u0002\u0469\u0003\u0002\u0002\u0002\u0002\u046b\u0003\u0002\u0002", + "\u0002\u0002\u046d\u0003\u0002\u0002\u0002\u0002\u046f\u0003\u0002\u0002", + "\u0002\u0002\u0471\u0003\u0002\u0002\u0002\u0002\u0473\u0003\u0002\u0002", + "\u0002\u0002\u0475\u0003\u0002\u0002\u0002\u0002\u0477\u0003\u0002\u0002", + "\u0002\u0002\u0479\u0003\u0002\u0002\u0002\u0002\u047b\u0003\u0002\u0002", + "\u0002\u0002\u047d\u0003\u0002\u0002\u0002\u0002\u047f\u0003\u0002\u0002", + "\u0002\u0002\u0481\u0003\u0002\u0002\u0002\u0002\u0483\u0003\u0002\u0002", + "\u0002\u0002\u0485\u0003\u0002\u0002\u0002\u0002\u0487\u0003\u0002\u0002", + "\u0002\u0002\u0489\u0003\u0002\u0002\u0002\u0002\u048b\u0003\u0002\u0002", + "\u0002\u0002\u048d\u0003\u0002\u0002\u0002\u0002\u048f\u0003\u0002\u0002", + "\u0002\u0002\u0491\u0003\u0002\u0002\u0002\u0002\u0493\u0003\u0002\u0002", + "\u0002\u0002\u0495\u0003\u0002\u0002\u0002\u0002\u0497\u0003\u0002\u0002", + "\u0002\u0002\u0499\u0003\u0002\u0002\u0002\u0002\u049b\u0003\u0002\u0002", + "\u0002\u0002\u049d\u0003\u0002\u0002\u0002\u0002\u049f\u0003\u0002\u0002", + "\u0002\u0002\u04a1\u0003\u0002\u0002\u0002\u0002\u04a3\u0003\u0002\u0002", + "\u0002\u0002\u04a5\u0003\u0002\u0002\u0002\u0002\u04a7\u0003\u0002\u0002", + "\u0002\u0002\u04a9\u0003\u0002\u0002\u0002\u0002\u04ab\u0003\u0002\u0002", + "\u0002\u0002\u04ad\u0003\u0002\u0002\u0002\u0002\u04af\u0003\u0002\u0002", + "\u0002\u0002\u04b1\u0003\u0002\u0002\u0002\u0002\u04b3\u0003\u0002\u0002", + "\u0002\u0002\u04b5\u0003\u0002\u0002\u0002\u0002\u04b7\u0003\u0002\u0002", + "\u0002\u0002\u04b9\u0003\u0002\u0002\u0002\u0002\u04bb\u0003\u0002\u0002", + "\u0002\u0002\u04bd\u0003\u0002\u0002\u0002\u0002\u04bf\u0003\u0002\u0002", + "\u0002\u0002\u04c1\u0003\u0002\u0002\u0002\u0002\u04c3\u0003\u0002\u0002", + "\u0002\u0002\u04c5\u0003\u0002\u0002\u0002\u0002\u04c7\u0003\u0002\u0002", + "\u0002\u0002\u04c9\u0003\u0002\u0002\u0002\u0002\u04cb\u0003\u0002\u0002", + "\u0002\u0002\u04cd\u0003\u0002\u0002\u0002\u0002\u04cf\u0003\u0002\u0002", + "\u0002\u0002\u04d1\u0003\u0002\u0002\u0002\u0002\u04d3\u0003\u0002\u0002", + "\u0002\u0002\u04d5\u0003\u0002\u0002\u0002\u0002\u04d7\u0003\u0002\u0002", + "\u0002\u0002\u04d9\u0003\u0002\u0002\u0002\u0002\u04db\u0003\u0002\u0002", + "\u0002\u0002\u04dd\u0003\u0002\u0002\u0002\u0002\u04df\u0003\u0002\u0002", + "\u0002\u0002\u04e1\u0003\u0002\u0002\u0002\u0002\u04e3\u0003\u0002\u0002", + "\u0002\u0002\u04e5\u0003\u0002\u0002\u0002\u0002\u04e7\u0003\u0002\u0002", + "\u0002\u0002\u04e9\u0003\u0002\u0002\u0002\u0002\u04eb\u0003\u0002\u0002", + "\u0002\u0002\u04ed\u0003\u0002\u0002\u0002\u0002\u04ef\u0003\u0002\u0002", + "\u0002\u0002\u04f1\u0003\u0002\u0002\u0002\u0002\u04f3\u0003\u0002\u0002", + "\u0002\u0002\u04f5\u0003\u0002\u0002\u0002\u0002\u04f7\u0003\u0002\u0002", + "\u0002\u0002\u04f9\u0003\u0002\u0002\u0002\u0002\u04fb\u0003\u0002\u0002", + "\u0002\u0002\u04fd\u0003\u0002\u0002\u0002\u0002\u04ff\u0003\u0002\u0002", + "\u0002\u0002\u0501\u0003\u0002\u0002\u0002\u0002\u0503\u0003\u0002\u0002", + "\u0002\u0002\u0505\u0003\u0002\u0002\u0002\u0002\u0507\u0003\u0002\u0002", + "\u0002\u0002\u0509\u0003\u0002\u0002\u0002\u0002\u050b\u0003\u0002\u0002", + "\u0002\u0002\u050d\u0003\u0002\u0002\u0002\u0002\u050f\u0003\u0002\u0002", + "\u0002\u0002\u0511\u0003\u0002\u0002\u0002\u0002\u0513\u0003\u0002\u0002", + "\u0002\u0002\u0515\u0003\u0002\u0002\u0002\u0002\u0517\u0003\u0002\u0002", + "\u0002\u0002\u0519\u0003\u0002\u0002\u0002\u0002\u051b\u0003\u0002\u0002", + "\u0002\u0002\u051d\u0003\u0002\u0002\u0002\u0002\u051f\u0003\u0002\u0002", + "\u0002\u0002\u0521\u0003\u0002\u0002\u0002\u0002\u0523\u0003\u0002\u0002", + "\u0002\u0002\u0525\u0003\u0002\u0002\u0002\u0002\u0527\u0003\u0002\u0002", + "\u0002\u0002\u0529\u0003\u0002\u0002\u0002\u0002\u052b\u0003\u0002\u0002", + "\u0002\u0002\u052d\u0003\u0002\u0002\u0002\u0002\u052f\u0003\u0002\u0002", + "\u0002\u0002\u0531\u0003\u0002\u0002\u0002\u0002\u0533\u0003\u0002\u0002", + "\u0002\u0002\u0535\u0003\u0002\u0002\u0002\u0002\u0537\u0003\u0002\u0002", + "\u0002\u0002\u0539\u0003\u0002\u0002\u0002\u0002\u053b\u0003\u0002\u0002", + "\u0002\u0002\u053d\u0003\u0002\u0002\u0002\u0002\u053f\u0003\u0002\u0002", + "\u0002\u0002\u0541\u0003\u0002\u0002\u0002\u0002\u0543\u0003\u0002\u0002", + "\u0002\u0002\u0545\u0003\u0002\u0002\u0002\u0002\u0547\u0003\u0002\u0002", + "\u0002\u0002\u0549\u0003\u0002\u0002\u0002\u0002\u054b\u0003\u0002\u0002", + "\u0002\u0002\u054d\u0003\u0002\u0002\u0002\u0002\u054f\u0003\u0002\u0002", + "\u0002\u0002\u0551\u0003\u0002\u0002\u0002\u0002\u0553\u0003\u0002\u0002", + "\u0002\u0002\u0555\u0003\u0002\u0002\u0002\u0002\u0557\u0003\u0002\u0002", + "\u0002\u0002\u0559\u0003\u0002\u0002\u0002\u0002\u055b\u0003\u0002\u0002", + "\u0002\u0002\u055d\u0003\u0002\u0002\u0002\u0002\u055f\u0003\u0002\u0002", + "\u0002\u0002\u0561\u0003\u0002\u0002\u0002\u0002\u0563\u0003\u0002\u0002", + "\u0002\u0002\u0565\u0003\u0002\u0002\u0002\u0002\u0567\u0003\u0002\u0002", + "\u0002\u0002\u0569\u0003\u0002\u0002\u0002\u0002\u056b\u0003\u0002\u0002", + "\u0002\u0002\u056d\u0003\u0002\u0002\u0002\u0002\u056f\u0003\u0002\u0002", + "\u0002\u0002\u0571\u0003\u0002\u0002\u0002\u0002\u0573\u0003\u0002\u0002", + "\u0002\u0002\u0575\u0003\u0002\u0002\u0002\u0002\u0577\u0003\u0002\u0002", + "\u0002\u0002\u0579\u0003\u0002\u0002\u0002\u0002\u057b\u0003\u0002\u0002", + "\u0002\u0002\u057d\u0003\u0002\u0002\u0002\u0002\u057f\u0003\u0002\u0002", + "\u0002\u0002\u0581\u0003\u0002\u0002\u0002\u0002\u0583\u0003\u0002\u0002", + "\u0002\u0002\u0585\u0003\u0002\u0002\u0002\u0002\u0587\u0003\u0002\u0002", + "\u0002\u0002\u0589\u0003\u0002\u0002\u0002\u0002\u058b\u0003\u0002\u0002", + "\u0002\u0002\u058d\u0003\u0002\u0002\u0002\u0002\u058f\u0003\u0002\u0002", + "\u0002\u0002\u0591\u0003\u0002\u0002\u0002\u0002\u0593\u0003\u0002\u0002", + "\u0002\u0002\u0595\u0003\u0002\u0002\u0002\u0002\u0597\u0003\u0002\u0002", + "\u0002\u0002\u0599\u0003\u0002\u0002\u0002\u0002\u059b\u0003\u0002\u0002", + "\u0002\u0002\u059d\u0003\u0002\u0002\u0002\u0002\u059f\u0003\u0002\u0002", + "\u0002\u0002\u05a1\u0003\u0002\u0002\u0002\u0002\u05a3\u0003\u0002\u0002", + "\u0002\u0002\u05a5\u0003\u0002\u0002\u0002\u0002\u05a7\u0003\u0002\u0002", + "\u0002\u0002\u05a9\u0003\u0002\u0002\u0002\u0002\u05ab\u0003\u0002\u0002", + "\u0002\u0002\u05ad\u0003\u0002\u0002\u0002\u0002\u05af\u0003\u0002\u0002", + "\u0002\u0002\u05b1\u0003\u0002\u0002\u0002\u0002\u05b3\u0003\u0002\u0002", + "\u0002\u0002\u05b5\u0003\u0002\u0002\u0002\u0002\u05b7\u0003\u0002\u0002", + "\u0002\u0002\u05b9\u0003\u0002\u0002\u0002\u0002\u05bb\u0003\u0002\u0002", + "\u0002\u0002\u05bd\u0003\u0002\u0002\u0002\u0002\u05bf\u0003\u0002\u0002", + "\u0002\u0002\u05c1\u0003\u0002\u0002\u0002\u0002\u05c3\u0003\u0002\u0002", + "\u0002\u0002\u05c5\u0003\u0002\u0002\u0002\u0002\u05c7\u0003\u0002\u0002", + "\u0002\u0002\u05c9\u0003\u0002\u0002\u0002\u0002\u05cb\u0003\u0002\u0002", + "\u0002\u0002\u05cd\u0003\u0002\u0002\u0002\u0002\u05cf\u0003\u0002\u0002", + "\u0002\u0002\u05d1\u0003\u0002\u0002\u0002\u0002\u05d3\u0003\u0002\u0002", + "\u0002\u0002\u05d5\u0003\u0002\u0002\u0002\u0002\u05d7\u0003\u0002\u0002", + "\u0002\u0002\u05d9\u0003\u0002\u0002\u0002\u0002\u05db\u0003\u0002\u0002", + "\u0002\u0002\u05dd\u0003\u0002\u0002\u0002\u0002\u05df\u0003\u0002\u0002", + "\u0002\u0002\u05e1\u0003\u0002\u0002\u0002\u0002\u05e3\u0003\u0002\u0002", + "\u0002\u0002\u05e5\u0003\u0002\u0002\u0002\u0002\u05e7\u0003\u0002\u0002", + "\u0002\u0002\u05e9\u0003\u0002\u0002\u0002\u0002\u05eb\u0003\u0002\u0002", + "\u0002\u0002\u05ed\u0003\u0002\u0002\u0002\u0002\u05ef\u0003\u0002\u0002", + "\u0002\u0002\u05f1\u0003\u0002\u0002\u0002\u0002\u05f3\u0003\u0002\u0002", + "\u0002\u0002\u05f5\u0003\u0002\u0002\u0002\u0002\u05f7\u0003\u0002\u0002", + "\u0002\u0002\u05f9\u0003\u0002\u0002\u0002\u0002\u05fb\u0003\u0002\u0002", + "\u0002\u0002\u05fd\u0003\u0002\u0002\u0002\u0002\u05ff\u0003\u0002\u0002", + "\u0002\u0002\u0601\u0003\u0002\u0002\u0002\u0002\u0603\u0003\u0002\u0002", + "\u0002\u0002\u0605\u0003\u0002\u0002\u0002\u0002\u0607\u0003\u0002\u0002", + "\u0002\u0002\u0609\u0003\u0002\u0002\u0002\u0002\u060b\u0003\u0002\u0002", + "\u0002\u0002\u060d\u0003\u0002\u0002\u0002\u0002\u060f\u0003\u0002\u0002", + "\u0002\u0002\u0611\u0003\u0002\u0002\u0002\u0002\u0613\u0003\u0002\u0002", + "\u0002\u0002\u0615\u0003\u0002\u0002\u0002\u0002\u0617\u0003\u0002\u0002", + "\u0002\u0002\u0619\u0003\u0002\u0002\u0002\u0002\u061b\u0003\u0002\u0002", + "\u0002\u0002\u061d\u0003\u0002\u0002\u0002\u0002\u061f\u0003\u0002\u0002", + "\u0002\u0002\u0621\u0003\u0002\u0002\u0002\u0002\u0623\u0003\u0002\u0002", + "\u0002\u0002\u0625\u0003\u0002\u0002\u0002\u0002\u0627\u0003\u0002\u0002", + "\u0002\u0002\u0629\u0003\u0002\u0002\u0002\u0002\u062b\u0003\u0002\u0002", + "\u0002\u0002\u062d\u0003\u0002\u0002\u0002\u0002\u062f\u0003\u0002\u0002", + "\u0002\u0002\u0631\u0003\u0002\u0002\u0002\u0002\u0633\u0003\u0002\u0002", + "\u0002\u0002\u0635\u0003\u0002\u0002\u0002\u0002\u0637\u0003\u0002\u0002", + "\u0002\u0002\u0639\u0003\u0002\u0002\u0002\u0002\u063b\u0003\u0002\u0002", + "\u0002\u0002\u063d\u0003\u0002\u0002\u0002\u0002\u063f\u0003\u0002\u0002", + "\u0002\u0002\u0641\u0003\u0002\u0002\u0002\u0002\u0643\u0003\u0002\u0002", + "\u0002\u0002\u0645\u0003\u0002\u0002\u0002\u0002\u0647\u0003\u0002\u0002", + "\u0002\u0002\u0649\u0003\u0002\u0002\u0002\u0002\u064b\u0003\u0002\u0002", + "\u0002\u0002\u064d\u0003\u0002\u0002\u0002\u0002\u064f\u0003\u0002\u0002", + "\u0002\u0002\u0651\u0003\u0002\u0002\u0002\u0002\u0653\u0003\u0002\u0002", + "\u0002\u0002\u0655\u0003\u0002\u0002\u0002\u0002\u0657\u0003\u0002\u0002", + "\u0002\u0002\u0659\u0003\u0002\u0002\u0002\u0002\u065b\u0003\u0002\u0002", + "\u0002\u0002\u065d\u0003\u0002\u0002\u0002\u0002\u065f\u0003\u0002\u0002", + "\u0002\u0002\u0661\u0003\u0002\u0002\u0002\u0002\u0663\u0003\u0002\u0002", + "\u0002\u0002\u0665\u0003\u0002\u0002\u0002\u0002\u0667\u0003\u0002\u0002", + "\u0002\u0002\u0669\u0003\u0002\u0002\u0002\u0002\u066b\u0003\u0002\u0002", + "\u0002\u0002\u066d\u0003\u0002\u0002\u0002\u0002\u066f\u0003\u0002\u0002", + "\u0002\u0002\u0671\u0003\u0002\u0002\u0002\u0002\u0673\u0003\u0002\u0002", + "\u0002\u0002\u0675\u0003\u0002\u0002\u0002\u0002\u0677\u0003\u0002\u0002", + "\u0002\u0002\u0679\u0003\u0002\u0002\u0002\u0002\u067b\u0003\u0002\u0002", + "\u0002\u0002\u067d\u0003\u0002\u0002\u0002\u0002\u067f\u0003\u0002\u0002", + "\u0002\u0002\u0681\u0003\u0002\u0002\u0002\u0002\u0683\u0003\u0002\u0002", + "\u0002\u0002\u0685\u0003\u0002\u0002\u0002\u0002\u0687\u0003\u0002\u0002", + "\u0002\u0002\u0689\u0003\u0002\u0002\u0002\u0002\u068b\u0003\u0002\u0002", + "\u0002\u0002\u068d\u0003\u0002\u0002\u0002\u0002\u068f\u0003\u0002\u0002", + "\u0002\u0002\u0691\u0003\u0002\u0002\u0002\u0002\u0693\u0003\u0002\u0002", + "\u0002\u0002\u0695\u0003\u0002\u0002\u0002\u0002\u0697\u0003\u0002\u0002", + "\u0002\u0002\u0699\u0003\u0002\u0002\u0002\u0002\u069b\u0003\u0002\u0002", + "\u0002\u0002\u069d\u0003\u0002\u0002\u0002\u0002\u069f\u0003\u0002\u0002", + "\u0002\u0002\u06a1\u0003\u0002\u0002\u0002\u0002\u06a3\u0003\u0002\u0002", + "\u0002\u0002\u06a5\u0003\u0002\u0002\u0002\u0002\u06a7\u0003\u0002\u0002", + "\u0002\u0002\u06a9\u0003\u0002\u0002\u0002\u0002\u06ab\u0003\u0002\u0002", + "\u0002\u0002\u06ad\u0003\u0002\u0002\u0002\u0002\u06af\u0003\u0002\u0002", + "\u0002\u0002\u06b1\u0003\u0002\u0002\u0002\u0002\u06b3\u0003\u0002\u0002", + "\u0002\u0002\u06b5\u0003\u0002\u0002\u0002\u0002\u06b7\u0003\u0002\u0002", + "\u0002\u0002\u06b9\u0003\u0002\u0002\u0002\u0002\u06bb\u0003\u0002\u0002", + "\u0002\u0002\u06bd\u0003\u0002\u0002\u0002\u0002\u06bf\u0003\u0002\u0002", + "\u0002\u0002\u06c1\u0003\u0002\u0002\u0002\u0002\u06c3\u0003\u0002\u0002", + "\u0002\u0002\u06c5\u0003\u0002\u0002\u0002\u0002\u06c7\u0003\u0002\u0002", + "\u0002\u0002\u06c9\u0003\u0002\u0002\u0002\u0002\u06cb\u0003\u0002\u0002", + "\u0002\u0002\u06cd\u0003\u0002\u0002\u0002\u0002\u06cf\u0003\u0002\u0002", + "\u0002\u0002\u06d1\u0003\u0002\u0002\u0002\u0002\u06d3\u0003\u0002\u0002", + "\u0002\u0002\u06d5\u0003\u0002\u0002\u0002\u0002\u06d7\u0003\u0002\u0002", + "\u0002\u0002\u06d9\u0003\u0002\u0002\u0002\u0002\u06db\u0003\u0002\u0002", + "\u0002\u0002\u06dd\u0003\u0002\u0002\u0002\u0002\u06df\u0003\u0002\u0002", + "\u0002\u0002\u06e1\u0003\u0002\u0002\u0002\u0002\u06e3\u0003\u0002\u0002", + "\u0002\u0002\u06e5\u0003\u0002\u0002\u0002\u0002\u06e7\u0003\u0002\u0002", + "\u0002\u0002\u06e9\u0003\u0002\u0002\u0002\u0002\u06eb\u0003\u0002\u0002", + "\u0002\u0002\u06ed\u0003\u0002\u0002\u0002\u0002\u06ef\u0003\u0002\u0002", + "\u0002\u0002\u06f1\u0003\u0002\u0002\u0002\u0002\u06f3\u0003\u0002\u0002", + "\u0002\u0002\u06f5\u0003\u0002\u0002\u0002\u0002\u06f7\u0003\u0002\u0002", + "\u0002\u0002\u06f9\u0003\u0002\u0002\u0002\u0002\u06fb\u0003\u0002\u0002", + "\u0002\u0002\u06fd\u0003\u0002\u0002\u0002\u0002\u06ff\u0003\u0002\u0002", + "\u0002\u0002\u0701\u0003\u0002\u0002\u0002\u0002\u0703\u0003\u0002\u0002", + "\u0002\u0002\u0705\u0003\u0002\u0002\u0002\u0002\u0707\u0003\u0002\u0002", + "\u0002\u0002\u0709\u0003\u0002\u0002\u0002\u0002\u070b\u0003\u0002\u0002", + "\u0002\u0002\u070d\u0003\u0002\u0002\u0002\u0002\u070f\u0003\u0002\u0002", + "\u0002\u0002\u0711\u0003\u0002\u0002\u0002\u0002\u0713\u0003\u0002\u0002", + "\u0002\u0002\u0715\u0003\u0002\u0002\u0002\u0002\u0717\u0003\u0002\u0002", + "\u0002\u0002\u0719\u0003\u0002\u0002\u0002\u0002\u071b\u0003\u0002\u0002", + "\u0002\u0002\u071d\u0003\u0002\u0002\u0002\u0002\u071f\u0003\u0002\u0002", + "\u0002\u0002\u0721\u0003\u0002\u0002\u0002\u0002\u0723\u0003\u0002\u0002", + "\u0002\u0002\u0725\u0003\u0002\u0002\u0002\u0002\u0727\u0003\u0002\u0002", + "\u0002\u0002\u0729\u0003\u0002\u0002\u0002\u0002\u072b\u0003\u0002\u0002", + "\u0002\u0002\u072d\u0003\u0002\u0002\u0002\u0002\u072f\u0003\u0002\u0002", + "\u0002\u0002\u0731\u0003\u0002\u0002\u0002\u0002\u0733\u0003\u0002\u0002", + "\u0002\u0002\u0735\u0003\u0002\u0002\u0002\u0002\u0737\u0003\u0002\u0002", + "\u0002\u0002\u0739\u0003\u0002\u0002\u0002\u0002\u073b\u0003\u0002\u0002", + "\u0002\u0002\u073d\u0003\u0002\u0002\u0002\u0002\u073f\u0003\u0002\u0002", + "\u0002\u0002\u0741\u0003\u0002\u0002\u0002\u0002\u0743\u0003\u0002\u0002", + "\u0002\u0002\u0745\u0003\u0002\u0002\u0002\u0002\u0747\u0003\u0002\u0002", + "\u0002\u0002\u0749\u0003\u0002\u0002\u0002\u0002\u074b\u0003\u0002\u0002", + "\u0002\u0002\u074d\u0003\u0002\u0002\u0002\u0002\u074f\u0003\u0002\u0002", + "\u0002\u0002\u0751\u0003\u0002\u0002\u0002\u0002\u0753\u0003\u0002\u0002", + "\u0002\u0002\u0755\u0003\u0002\u0002\u0002\u0002\u0757\u0003\u0002\u0002", + "\u0002\u0002\u0759\u0003\u0002\u0002\u0002\u0002\u075b\u0003\u0002\u0002", + "\u0002\u0002\u075d\u0003\u0002\u0002\u0002\u0002\u075f\u0003\u0002\u0002", + "\u0002\u0002\u0761\u0003\u0002\u0002\u0002\u0002\u0763\u0003\u0002\u0002", + "\u0002\u0002\u0765\u0003\u0002\u0002\u0002\u0002\u0767\u0003\u0002\u0002", + "\u0002\u0002\u0769\u0003\u0002\u0002\u0002\u0002\u076b\u0003\u0002\u0002", + "\u0002\u0002\u076d\u0003\u0002\u0002\u0002\u0002\u076f\u0003\u0002\u0002", + "\u0002\u0002\u0771\u0003\u0002\u0002\u0002\u0002\u0773\u0003\u0002\u0002", + "\u0002\u0002\u0775\u0003\u0002\u0002\u0002\u0002\u0777\u0003\u0002\u0002", + "\u0002\u0002\u0779\u0003\u0002\u0002\u0002\u0002\u077b\u0003\u0002\u0002", + "\u0002\u0002\u077d\u0003\u0002\u0002\u0002\u0002\u077f\u0003\u0002\u0002", + "\u0002\u0002\u0781\u0003\u0002\u0002\u0002\u0002\u0783\u0003\u0002\u0002", + "\u0002\u0002\u0785\u0003\u0002\u0002\u0002\u0002\u0787\u0003\u0002\u0002", + "\u0002\u0002\u0789\u0003\u0002\u0002\u0002\u0002\u078b\u0003\u0002\u0002", + "\u0002\u0002\u078d\u0003\u0002\u0002\u0002\u0002\u078f\u0003\u0002\u0002", + "\u0002\u0002\u0791\u0003\u0002\u0002\u0002\u0002\u0793\u0003\u0002\u0002", + "\u0002\u0002\u0795\u0003\u0002\u0002\u0002\u0002\u0797\u0003\u0002\u0002", + "\u0002\u0002\u0799\u0003\u0002\u0002\u0002\u0002\u079b\u0003\u0002\u0002", + "\u0002\u0002\u079d\u0003\u0002\u0002\u0002\u0002\u079f\u0003\u0002\u0002", + "\u0002\u0002\u07a1\u0003\u0002\u0002\u0002\u0002\u07a3\u0003\u0002\u0002", + "\u0002\u0002\u07a5\u0003\u0002\u0002\u0002\u0002\u07a7\u0003\u0002\u0002", + "\u0002\u0002\u07a9\u0003\u0002\u0002\u0002\u0002\u07ab\u0003\u0002\u0002", + "\u0002\u0002\u07ad\u0003\u0002\u0002\u0002\u0002\u07af\u0003\u0002\u0002", + "\u0002\u0002\u07b1\u0003\u0002\u0002\u0002\u0002\u07b3\u0003\u0002\u0002", + "\u0002\u0002\u07b5\u0003\u0002\u0002\u0002\u0002\u07b7\u0003\u0002\u0002", + "\u0002\u0002\u07b9\u0003\u0002\u0002\u0002\u0002\u07bb\u0003\u0002\u0002", + "\u0002\u0002\u07bd\u0003\u0002\u0002\u0002\u0002\u07bf\u0003\u0002\u0002", + "\u0002\u0002\u07c1\u0003\u0002\u0002\u0002\u0002\u07c3\u0003\u0002\u0002", + "\u0002\u0002\u07c5\u0003\u0002\u0002\u0002\u0002\u07c7\u0003\u0002\u0002", + "\u0002\u0002\u07c9\u0003\u0002\u0002\u0002\u0002\u07cb\u0003\u0002\u0002", + "\u0002\u0002\u07cd\u0003\u0002\u0002\u0002\u0002\u07cf\u0003\u0002\u0002", + "\u0002\u0002\u07d1\u0003\u0002\u0002\u0002\u0002\u07d3\u0003\u0002\u0002", + "\u0002\u0002\u07d5\u0003\u0002\u0002\u0002\u0002\u07d7\u0003\u0002\u0002", + "\u0002\u0002\u07d9\u0003\u0002\u0002\u0002\u0002\u07db\u0003\u0002\u0002", + "\u0002\u0002\u07dd\u0003\u0002\u0002\u0002\u0002\u07df\u0003\u0002\u0002", + "\u0002\u0002\u07e1\u0003\u0002\u0002\u0002\u0002\u07e3\u0003\u0002\u0002", + "\u0002\u0002\u07e5\u0003\u0002\u0002\u0002\u0002\u07e7\u0003\u0002\u0002", + "\u0002\u0002\u07e9\u0003\u0002\u0002\u0002\u0002\u07eb\u0003\u0002\u0002", + "\u0002\u0002\u07ed\u0003\u0002\u0002\u0002\u0002\u07ef\u0003\u0002\u0002", + "\u0002\u0002\u07f1\u0003\u0002\u0002\u0002\u0002\u07f3\u0003\u0002\u0002", + "\u0002\u0002\u07f5\u0003\u0002\u0002\u0002\u0002\u07f7\u0003\u0002\u0002", + "\u0002\u0002\u07f9\u0003\u0002\u0002\u0002\u0002\u07fb\u0003\u0002\u0002", + "\u0002\u0002\u07fd\u0003\u0002\u0002\u0002\u0002\u07ff\u0003\u0002\u0002", + "\u0002\u0002\u0801\u0003\u0002\u0002\u0002\u0002\u0803\u0003\u0002\u0002", + "\u0002\u0002\u0805\u0003\u0002\u0002\u0002\u0002\u0807\u0003\u0002\u0002", + "\u0002\u0002\u0809\u0003\u0002\u0002\u0002\u0002\u080b\u0003\u0002\u0002", + "\u0002\u0002\u080d\u0003\u0002\u0002\u0002\u0002\u080f\u0003\u0002\u0002", + "\u0002\u0002\u0811\u0003\u0002\u0002\u0002\u0002\u0813\u0003\u0002\u0002", + "\u0002\u0002\u0815\u0003\u0002\u0002\u0002\u0002\u0817\u0003\u0002\u0002", + "\u0002\u0002\u0819\u0003\u0002\u0002\u0002\u0002\u081b\u0003\u0002\u0002", + "\u0002\u0002\u081d\u0003\u0002\u0002\u0002\u0002\u081f\u0003\u0002\u0002", + "\u0002\u0002\u0821\u0003\u0002\u0002\u0002\u0002\u0823\u0003\u0002\u0002", + "\u0002\u0002\u0825\u0003\u0002\u0002\u0002\u0002\u0827\u0003\u0002\u0002", + "\u0002\u0002\u0829\u0003\u0002\u0002\u0002\u0002\u082b\u0003\u0002\u0002", + "\u0002\u0002\u082d\u0003\u0002\u0002\u0002\u0002\u082f\u0003\u0002\u0002", + "\u0002\u0002\u0831\u0003\u0002\u0002\u0002\u0002\u0833\u0003\u0002\u0002", + "\u0002\u0002\u0835\u0003\u0002\u0002\u0002\u0002\u0837\u0003\u0002\u0002", + "\u0002\u0002\u0839\u0003\u0002\u0002\u0002\u0002\u083b\u0003\u0002\u0002", + "\u0002\u0002\u083d\u0003\u0002\u0002\u0002\u0002\u083f\u0003\u0002\u0002", + "\u0002\u0002\u0841\u0003\u0002\u0002\u0002\u0002\u0843\u0003\u0002\u0002", + "\u0002\u0002\u0845\u0003\u0002\u0002\u0002\u0002\u0847\u0003\u0002\u0002", + "\u0002\u0002\u0849\u0003\u0002\u0002\u0002\u0002\u084b\u0003\u0002\u0002", + "\u0002\u0002\u084d\u0003\u0002\u0002\u0002\u0002\u084f\u0003\u0002\u0002", + "\u0002\u0002\u0851\u0003\u0002\u0002\u0002\u0002\u0853\u0003\u0002\u0002", + "\u0002\u0002\u0855\u0003\u0002\u0002\u0002\u0002\u0857\u0003\u0002\u0002", + "\u0002\u0002\u0859\u0003\u0002\u0002\u0002\u0002\u085b\u0003\u0002\u0002", + "\u0002\u0002\u085d\u0003\u0002\u0002\u0002\u0002\u085f\u0003\u0002\u0002", + "\u0002\u0002\u0861\u0003\u0002\u0002\u0002\u0002\u0863\u0003\u0002\u0002", + "\u0002\u0002\u0865\u0003\u0002\u0002\u0002\u0002\u0867\u0003\u0002\u0002", + "\u0002\u0002\u0869\u0003\u0002\u0002\u0002\u0002\u086b\u0003\u0002\u0002", + "\u0002\u0002\u086d\u0003\u0002\u0002\u0002\u0002\u086f\u0003\u0002\u0002", + "\u0002\u0002\u0871\u0003\u0002\u0002\u0002\u0002\u0873\u0003\u0002\u0002", + "\u0002\u0002\u0875\u0003\u0002\u0002\u0002\u0002\u0877\u0003\u0002\u0002", + "\u0002\u0002\u0879\u0003\u0002\u0002\u0002\u0002\u087b\u0003\u0002\u0002", + "\u0002\u0002\u087d\u0003\u0002\u0002\u0002\u0002\u087f\u0003\u0002\u0002", + "\u0002\u0002\u0881\u0003\u0002\u0002\u0002\u0002\u0883\u0003\u0002\u0002", + "\u0002\u0002\u0885\u0003\u0002\u0002\u0002\u0002\u0887\u0003\u0002\u0002", + "\u0002\u0002\u0889\u0003\u0002\u0002\u0002\u0002\u088b\u0003\u0002\u0002", + "\u0002\u0002\u088d\u0003\u0002\u0002\u0002\u0002\u088f\u0003\u0002\u0002", + "\u0002\u0002\u0891\u0003\u0002\u0002\u0002\u0002\u0893\u0003\u0002\u0002", + "\u0002\u0002\u0895\u0003\u0002\u0002\u0002\u0002\u0897\u0003\u0002\u0002", + "\u0002\u0002\u0899\u0003\u0002\u0002\u0002\u0002\u089b\u0003\u0002\u0002", + "\u0002\u0002\u089d\u0003\u0002\u0002\u0002\u0002\u089f\u0003\u0002\u0002", + "\u0002\u0002\u08a1\u0003\u0002\u0002\u0002\u0002\u08a3\u0003\u0002\u0002", + "\u0002\u0002\u08a5\u0003\u0002\u0002\u0002\u0002\u08a7\u0003\u0002\u0002", + "\u0002\u0002\u08a9\u0003\u0002\u0002\u0002\u0002\u08ab\u0003\u0002\u0002", + "\u0002\u0002\u08ad\u0003\u0002\u0002\u0002\u0002\u08af\u0003\u0002\u0002", + "\u0002\u0002\u08b1\u0003\u0002\u0002\u0002\u0002\u08b3\u0003\u0002\u0002", + "\u0002\u0002\u08b5\u0003\u0002\u0002\u0002\u0002\u08b7\u0003\u0002\u0002", + "\u0002\u0002\u08b9\u0003\u0002\u0002\u0002\u0002\u08bb\u0003\u0002\u0002", + "\u0002\u0002\u08bd\u0003\u0002\u0002\u0002\u0002\u08bf\u0003\u0002\u0002", + "\u0002\u0002\u08c1\u0003\u0002\u0002\u0002\u0002\u08c3\u0003\u0002\u0002", + "\u0002\u0002\u08c5\u0003\u0002\u0002\u0002\u0002\u08c7\u0003\u0002\u0002", + "\u0002\u0002\u08c9\u0003\u0002\u0002\u0002\u0002\u08cb\u0003\u0002\u0002", + "\u0002\u0002\u08cd\u0003\u0002\u0002\u0002\u0002\u08cf\u0003\u0002\u0002", + "\u0002\u0002\u08d1\u0003\u0002\u0002\u0002\u0002\u08d3\u0003\u0002\u0002", + "\u0002\u0002\u08d5\u0003\u0002\u0002\u0002\u0002\u08d7\u0003\u0002\u0002", + "\u0002\u0002\u08d9\u0003\u0002\u0002\u0002\u0002\u08db\u0003\u0002\u0002", + "\u0002\u0002\u08dd\u0003\u0002\u0002\u0002\u0002\u08df\u0003\u0002\u0002", + "\u0002\u0002\u08e1\u0003\u0002\u0002\u0002\u0002\u08e3\u0003\u0002\u0002", + "\u0002\u0002\u08e5\u0003\u0002\u0002\u0002\u0002\u08e7\u0003\u0002\u0002", + "\u0002\u0002\u08e9\u0003\u0002\u0002\u0002\u0002\u08eb\u0003\u0002\u0002", + "\u0002\u0002\u08ed\u0003\u0002\u0002\u0002\u0002\u08ef\u0003\u0002\u0002", + "\u0002\u0002\u08f1\u0003\u0002\u0002\u0002\u0002\u08f3\u0003\u0002\u0002", + "\u0002\u0002\u08f5\u0003\u0002\u0002\u0002\u0002\u08f7\u0003\u0002\u0002", + "\u0002\u0002\u08f9\u0003\u0002\u0002\u0002\u0002\u08fb\u0003\u0002\u0002", + "\u0002\u0002\u08fd\u0003\u0002\u0002\u0002\u0002\u08ff\u0003\u0002\u0002", + "\u0002\u0002\u0901\u0003\u0002\u0002\u0002\u0002\u0903\u0003\u0002\u0002", + "\u0002\u0002\u0905\u0003\u0002\u0002\u0002\u0002\u0907\u0003\u0002\u0002", + "\u0002\u0002\u0909\u0003\u0002\u0002\u0002\u0002\u090b\u0003\u0002\u0002", + "\u0002\u0002\u090d\u0003\u0002\u0002\u0002\u0002\u090f\u0003\u0002\u0002", + "\u0002\u0002\u0911\u0003\u0002\u0002\u0002\u0002\u0913\u0003\u0002\u0002", + "\u0002\u0002\u0915\u0003\u0002\u0002\u0002\u0002\u0917\u0003\u0002\u0002", + "\u0002\u0002\u0919\u0003\u0002\u0002\u0002\u0002\u091b\u0003\u0002\u0002", + "\u0002\u0002\u091d\u0003\u0002\u0002\u0002\u0002\u091f\u0003\u0002\u0002", + "\u0002\u0002\u0921\u0003\u0002\u0002\u0002\u0002\u0923\u0003\u0002\u0002", + "\u0002\u0002\u0925\u0003\u0002\u0002\u0002\u0002\u0927\u0003\u0002\u0002", + "\u0002\u0002\u0929\u0003\u0002\u0002\u0002\u0002\u092b\u0003\u0002\u0002", + "\u0002\u0002\u092d\u0003\u0002\u0002\u0002\u0002\u092f\u0003\u0002\u0002", + "\u0002\u0002\u0931\u0003\u0002\u0002\u0002\u0002\u0933\u0003\u0002\u0002", + "\u0002\u0002\u0935\u0003\u0002\u0002\u0002\u0002\u0937\u0003\u0002\u0002", + "\u0002\u0002\u0939\u0003\u0002\u0002\u0002\u0002\u093b\u0003\u0002\u0002", + "\u0002\u0002\u093d\u0003\u0002\u0002\u0002\u0002\u093f\u0003\u0002\u0002", + "\u0002\u0002\u0941\u0003\u0002\u0002\u0002\u0002\u0943\u0003\u0002\u0002", + "\u0002\u0002\u0945\u0003\u0002\u0002\u0002\u0002\u0947\u0003\u0002\u0002", + "\u0002\u0002\u0949\u0003\u0002\u0002\u0002\u0002\u094b\u0003\u0002\u0002", + "\u0002\u0002\u094d\u0003\u0002\u0002\u0002\u0002\u094f\u0003\u0002\u0002", + "\u0002\u0002\u0951\u0003\u0002\u0002\u0002\u0002\u0953\u0003\u0002\u0002", + "\u0002\u0002\u0955\u0003\u0002\u0002\u0002\u0002\u0957\u0003\u0002\u0002", + "\u0002\u0002\u0959\u0003\u0002\u0002\u0002\u0002\u095b\u0003\u0002\u0002", + "\u0002\u0002\u095d\u0003\u0002\u0002\u0002\u0002\u095f\u0003\u0002\u0002", + "\u0002\u0002\u0961\u0003\u0002\u0002\u0002\u0002\u0963\u0003\u0002\u0002", + "\u0002\u0002\u0965\u0003\u0002\u0002\u0002\u0002\u0967\u0003\u0002\u0002", + "\u0002\u0002\u0969\u0003\u0002\u0002\u0002\u0002\u096b\u0003\u0002\u0002", + "\u0002\u0002\u096d\u0003\u0002\u0002\u0002\u0002\u096f\u0003\u0002\u0002", + "\u0002\u0002\u0971\u0003\u0002\u0002\u0002\u0002\u0973\u0003\u0002\u0002", + "\u0002\u0002\u0975\u0003\u0002\u0002\u0002\u0002\u0977\u0003\u0002\u0002", + "\u0002\u0002\u0979\u0003\u0002\u0002\u0002\u0002\u097b\u0003\u0002\u0002", + "\u0002\u0002\u097d\u0003\u0002\u0002\u0002\u0002\u097f\u0003\u0002\u0002", + "\u0002\u0002\u0981\u0003\u0002\u0002\u0002\u0002\u0983\u0003\u0002\u0002", + "\u0002\u0002\u0985\u0003\u0002\u0002\u0002\u0002\u0987\u0003\u0002\u0002", + "\u0002\u0002\u0989\u0003\u0002\u0002\u0002\u0002\u098b\u0003\u0002\u0002", + "\u0002\u0002\u098d\u0003\u0002\u0002\u0002\u0002\u098f\u0003\u0002\u0002", + "\u0002\u0002\u0991\u0003\u0002\u0002\u0002\u0002\u0993\u0003\u0002\u0002", + "\u0002\u0002\u0995\u0003\u0002\u0002\u0002\u0002\u0997\u0003\u0002\u0002", + "\u0002\u0002\u0999\u0003\u0002\u0002\u0002\u0002\u099b\u0003\u0002\u0002", + "\u0002\u0002\u099d\u0003\u0002\u0002\u0002\u0002\u099f\u0003\u0002\u0002", + "\u0002\u0002\u09a1\u0003\u0002\u0002\u0002\u0002\u09a3\u0003\u0002\u0002", + "\u0002\u0002\u09a5\u0003\u0002\u0002\u0002\u0002\u09a7\u0003\u0002\u0002", + "\u0002\u0002\u09a9\u0003\u0002\u0002\u0002\u0002\u09ab\u0003\u0002\u0002", + "\u0002\u0002\u09ad\u0003\u0002\u0002\u0002\u0002\u09af\u0003\u0002\u0002", + "\u0002\u0002\u09b1\u0003\u0002\u0002\u0002\u0002\u09b3\u0003\u0002\u0002", + "\u0002\u0002\u09b5\u0003\u0002\u0002\u0002\u0002\u09b7\u0003\u0002\u0002", + "\u0002\u0002\u09b9\u0003\u0002\u0002\u0002\u0002\u09bb\u0003\u0002\u0002", + "\u0002\u0002\u09bd\u0003\u0002\u0002\u0002\u0002\u09bf\u0003\u0002\u0002", + "\u0002\u0002\u09c1\u0003\u0002\u0002\u0002\u0002\u09c3\u0003\u0002\u0002", + "\u0002\u0002\u09c5\u0003\u0002\u0002\u0002\u0002\u09c7\u0003\u0002\u0002", + "\u0002\u0002\u09c9\u0003\u0002\u0002\u0002\u0002\u09cb\u0003\u0002\u0002", + "\u0002\u0002\u09cd\u0003\u0002\u0002\u0002\u0002\u09cf\u0003\u0002\u0002", + "\u0002\u0002\u09d1\u0003\u0002\u0002\u0002\u0002\u09d3\u0003\u0002\u0002", + "\u0002\u0002\u09d5\u0003\u0002\u0002\u0002\u0002\u09d7\u0003\u0002\u0002", + "\u0002\u0002\u09d9\u0003\u0002\u0002\u0002\u0002\u09db\u0003\u0002\u0002", + "\u0002\u0002\u09dd\u0003\u0002\u0002\u0002\u0002\u09df\u0003\u0002\u0002", + "\u0002\u0002\u09e1\u0003\u0002\u0002\u0002\u0002\u09e3\u0003\u0002\u0002", + "\u0002\u0002\u09e5\u0003\u0002\u0002\u0002\u0002\u09e7\u0003\u0002\u0002", + "\u0002\u0002\u09e9\u0003\u0002\u0002\u0002\u0002\u09eb\u0003\u0002\u0002", + "\u0002\u0002\u09ed\u0003\u0002\u0002\u0002\u0002\u09ef\u0003\u0002\u0002", + "\u0002\u0002\u09f1\u0003\u0002\u0002\u0002\u0002\u09f3\u0003\u0002\u0002", + "\u0002\u0002\u09f5\u0003\u0002\u0002\u0002\u0002\u09f7\u0003\u0002\u0002", + "\u0002\u0002\u09f9\u0003\u0002\u0002\u0002\u0002\u09fb\u0003\u0002\u0002", + "\u0002\u0002\u09fd\u0003\u0002\u0002\u0002\u0002\u09ff\u0003\u0002\u0002", + "\u0002\u0002\u0a01\u0003\u0002\u0002\u0002\u0002\u0a03\u0003\u0002\u0002", + "\u0002\u0002\u0a05\u0003\u0002\u0002\u0002\u0002\u0a07\u0003\u0002\u0002", + "\u0002\u0002\u0a09\u0003\u0002\u0002\u0002\u0002\u0a0b\u0003\u0002\u0002", + "\u0002\u0002\u0a0d\u0003\u0002\u0002\u0002\u0002\u0a0f\u0003\u0002\u0002", + "\u0002\u0002\u0a11\u0003\u0002\u0002\u0002\u0002\u0a13\u0003\u0002\u0002", + "\u0002\u0002\u0a15\u0003\u0002\u0002\u0002\u0002\u0a17\u0003\u0002\u0002", + "\u0002\u0002\u0a19\u0003\u0002\u0002\u0002\u0002\u0a1b\u0003\u0002\u0002", + "\u0002\u0002\u0a1d\u0003\u0002\u0002\u0002\u0002\u0a1f\u0003\u0002\u0002", + "\u0002\u0002\u0a21\u0003\u0002\u0002\u0002\u0002\u0a23\u0003\u0002\u0002", + "\u0002\u0002\u0a25\u0003\u0002\u0002\u0002\u0002\u0a27\u0003\u0002\u0002", + "\u0002\u0002\u0a29\u0003\u0002\u0002\u0002\u0002\u0a2b\u0003\u0002\u0002", + "\u0002\u0002\u0a2d\u0003\u0002\u0002\u0002\u0002\u0a2f\u0003\u0002\u0002", + "\u0002\u0002\u0a31\u0003\u0002\u0002\u0002\u0002\u0a33\u0003\u0002\u0002", + "\u0002\u0002\u0a35\u0003\u0002\u0002\u0002\u0002\u0a37\u0003\u0002\u0002", + "\u0002\u0002\u0a39\u0003\u0002\u0002\u0002\u0002\u0a3b\u0003\u0002\u0002", + "\u0002\u0002\u0a3d\u0003\u0002\u0002\u0002\u0002\u0a3f\u0003\u0002\u0002", + "\u0002\u0002\u0a41\u0003\u0002\u0002\u0002\u0002\u0a43\u0003\u0002\u0002", + "\u0002\u0002\u0a45\u0003\u0002\u0002\u0002\u0002\u0a47\u0003\u0002\u0002", + "\u0002\u0002\u0a49\u0003\u0002\u0002\u0002\u0002\u0a4b\u0003\u0002\u0002", + "\u0002\u0002\u0a4d\u0003\u0002\u0002\u0002\u0002\u0a4f\u0003\u0002\u0002", + "\u0002\u0002\u0a51\u0003\u0002\u0002\u0002\u0002\u0a53\u0003\u0002\u0002", + "\u0002\u0002\u0a55\u0003\u0002\u0002\u0002\u0002\u0a57\u0003\u0002\u0002", + "\u0002\u0002\u0a59\u0003\u0002\u0002\u0002\u0002\u0a5b\u0003\u0002\u0002", + "\u0002\u0002\u0a5d\u0003\u0002\u0002\u0002\u0002\u0a5f\u0003\u0002\u0002", + "\u0002\u0002\u0a61\u0003\u0002\u0002\u0002\u0002\u0a63\u0003\u0002\u0002", + "\u0002\u0002\u0a65\u0003\u0002\u0002\u0002\u0002\u0a67\u0003\u0002\u0002", + "\u0002\u0002\u0a69\u0003\u0002\u0002\u0002\u0002\u0a6b\u0003\u0002\u0002", + "\u0002\u0002\u0a6d\u0003\u0002\u0002\u0002\u0002\u0a6f\u0003\u0002\u0002", + "\u0002\u0002\u0a71\u0003\u0002\u0002\u0002\u0002\u0a73\u0003\u0002\u0002", + "\u0002\u0002\u0a75\u0003\u0002\u0002\u0002\u0002\u0a77\u0003\u0002\u0002", + "\u0002\u0002\u0a79\u0003\u0002\u0002\u0002\u0002\u0a7b\u0003\u0002\u0002", + "\u0002\u0002\u0a7d\u0003\u0002\u0002\u0002\u0002\u0a7f\u0003\u0002\u0002", + "\u0002\u0002\u0a81\u0003\u0002\u0002\u0002\u0002\u0a83\u0003\u0002\u0002", + "\u0002\u0002\u0a85\u0003\u0002\u0002\u0002\u0002\u0a87\u0003\u0002\u0002", + "\u0002\u0002\u0a89\u0003\u0002\u0002\u0002\u0002\u0a8b\u0003\u0002\u0002", + "\u0002\u0002\u0a8d\u0003\u0002\u0002\u0002\u0002\u0a8f\u0003\u0002\u0002", + "\u0002\u0002\u0a91\u0003\u0002\u0002\u0002\u0002\u0a93\u0003\u0002\u0002", + "\u0002\u0002\u0a95\u0003\u0002\u0002\u0002\u0002\u0a97\u0003\u0002\u0002", + "\u0002\u0002\u0a99\u0003\u0002\u0002\u0002\u0002\u0a9b\u0003\u0002\u0002", + "\u0002\u0002\u0a9d\u0003\u0002\u0002\u0002\u0002\u0a9f\u0003\u0002\u0002", + "\u0002\u0002\u0aa1\u0003\u0002\u0002\u0002\u0002\u0aa3\u0003\u0002\u0002", + "\u0002\u0002\u0aa5\u0003\u0002\u0002\u0002\u0002\u0aa7\u0003\u0002\u0002", + "\u0002\u0002\u0aa9\u0003\u0002\u0002\u0002\u0002\u0aab\u0003\u0002\u0002", + "\u0002\u0002\u0aad\u0003\u0002\u0002\u0002\u0002\u0aaf\u0003\u0002\u0002", + "\u0002\u0002\u0ab1\u0003\u0002\u0002\u0002\u0002\u0ab3\u0003\u0002\u0002", + "\u0002\u0002\u0ab5\u0003\u0002\u0002\u0002\u0002\u0ab7\u0003\u0002\u0002", + "\u0002\u0002\u0ab9\u0003\u0002\u0002\u0002\u0002\u0abb\u0003\u0002\u0002", + "\u0002\u0002\u0abd\u0003\u0002\u0002\u0002\u0002\u0abf\u0003\u0002\u0002", + "\u0002\u0002\u0ac1\u0003\u0002\u0002\u0002\u0002\u0ac3\u0003\u0002\u0002", + "\u0002\u0002\u0ac5\u0003\u0002\u0002\u0002\u0002\u0ac7\u0003\u0002\u0002", + "\u0002\u0002\u0ac9\u0003\u0002\u0002\u0002\u0002\u0acb\u0003\u0002\u0002", + "\u0002\u0002\u0acd\u0003\u0002\u0002\u0002\u0002\u0acf\u0003\u0002\u0002", + "\u0002\u0002\u0ad1\u0003\u0002\u0002\u0002\u0002\u0ad3\u0003\u0002\u0002", + "\u0002\u0002\u0ad5\u0003\u0002\u0002\u0002\u0002\u0ad7\u0003\u0002\u0002", + "\u0002\u0002\u0ad9\u0003\u0002\u0002\u0002\u0002\u0adb\u0003\u0002\u0002", + "\u0002\u0002\u0add\u0003\u0002\u0002\u0002\u0002\u0adf\u0003\u0002\u0002", + "\u0002\u0002\u0ae1\u0003\u0002\u0002\u0002\u0002\u0ae3\u0003\u0002\u0002", + "\u0002\u0002\u0ae5\u0003\u0002\u0002\u0002\u0002\u0ae7\u0003\u0002\u0002", + "\u0002\u0002\u0ae9\u0003\u0002\u0002\u0002\u0002\u0aeb\u0003\u0002\u0002", + "\u0002\u0002\u0aed\u0003\u0002\u0002\u0002\u0002\u0aef\u0003\u0002\u0002", + "\u0002\u0002\u0af1\u0003\u0002\u0002\u0002\u0002\u0af3\u0003\u0002\u0002", + "\u0002\u0002\u0af5\u0003\u0002\u0002\u0002\u0002\u0af7\u0003\u0002\u0002", + "\u0002\u0002\u0af9\u0003\u0002\u0002\u0002\u0002\u0afb\u0003\u0002\u0002", + "\u0002\u0002\u0afd\u0003\u0002\u0002\u0002\u0002\u0aff\u0003\u0002\u0002", + "\u0002\u0002\u0b01\u0003\u0002\u0002\u0002\u0002\u0b03\u0003\u0002\u0002", + "\u0002\u0002\u0b05\u0003\u0002\u0002\u0002\u0002\u0b07\u0003\u0002\u0002", + "\u0002\u0002\u0b09\u0003\u0002\u0002\u0002\u0002\u0b0b\u0003\u0002\u0002", + "\u0002\u0002\u0b0d\u0003\u0002\u0002\u0002\u0002\u0b0f\u0003\u0002\u0002", + "\u0002\u0002\u0b11\u0003\u0002\u0002\u0002\u0002\u0b13\u0003\u0002\u0002", + "\u0002\u0002\u0b15\u0003\u0002\u0002\u0002\u0002\u0b17\u0003\u0002\u0002", + "\u0002\u0002\u0b19\u0003\u0002\u0002\u0002\u0002\u0b1b\u0003\u0002\u0002", + "\u0002\u0002\u0b1d\u0003\u0002\u0002\u0002\u0002\u0b1f\u0003\u0002\u0002", + "\u0002\u0002\u0b21\u0003\u0002\u0002\u0002\u0002\u0b23\u0003\u0002\u0002", + "\u0002\u0002\u0b25\u0003\u0002\u0002\u0002\u0002\u0b27\u0003\u0002\u0002", + "\u0002\u0002\u0b29\u0003\u0002\u0002\u0002\u0002\u0b2b\u0003\u0002\u0002", + "\u0002\u0002\u0b2d\u0003\u0002\u0002\u0002\u0002\u0b2f\u0003\u0002\u0002", + "\u0002\u0002\u0b31\u0003\u0002\u0002\u0002\u0002\u0b33\u0003\u0002\u0002", + "\u0002\u0002\u0b35\u0003\u0002\u0002\u0002\u0002\u0b37\u0003\u0002\u0002", + "\u0002\u0002\u0b39\u0003\u0002\u0002\u0002\u0002\u0b3b\u0003\u0002\u0002", + "\u0002\u0002\u0b3d\u0003\u0002\u0002\u0002\u0002\u0b3f\u0003\u0002\u0002", + "\u0002\u0002\u0b41\u0003\u0002\u0002\u0002\u0002\u0b43\u0003\u0002\u0002", + "\u0002\u0002\u0b45\u0003\u0002\u0002\u0002\u0002\u0b47\u0003\u0002\u0002", + "\u0002\u0002\u0b49\u0003\u0002\u0002\u0002\u0002\u0b4b\u0003\u0002\u0002", + "\u0002\u0002\u0b4d\u0003\u0002\u0002\u0002\u0002\u0b4f\u0003\u0002\u0002", + "\u0002\u0002\u0b51\u0003\u0002\u0002\u0002\u0002\u0b53\u0003\u0002\u0002", + "\u0002\u0002\u0b55\u0003\u0002\u0002\u0002\u0002\u0b57\u0003\u0002\u0002", + "\u0002\u0002\u0b59\u0003\u0002\u0002\u0002\u0002\u0b5b\u0003\u0002\u0002", + "\u0002\u0002\u0b5d\u0003\u0002\u0002\u0002\u0002\u0b5f\u0003\u0002\u0002", + "\u0002\u0002\u0b61\u0003\u0002\u0002\u0002\u0002\u0b63\u0003\u0002\u0002", + "\u0002\u0002\u0b65\u0003\u0002\u0002\u0002\u0002\u0b67\u0003\u0002\u0002", + "\u0002\u0002\u0b69\u0003\u0002\u0002\u0002\u0002\u0b6b\u0003\u0002\u0002", + "\u0002\u0002\u0b6d\u0003\u0002\u0002\u0002\u0002\u0b6f\u0003\u0002\u0002", + "\u0002\u0002\u0b71\u0003\u0002\u0002\u0002\u0002\u0b73\u0003\u0002\u0002", + "\u0002\u0002\u0b75\u0003\u0002\u0002\u0002\u0002\u0b77\u0003\u0002\u0002", + "\u0002\u0002\u0b79\u0003\u0002\u0002\u0002\u0002\u0b7b\u0003\u0002\u0002", + "\u0002\u0002\u0b7d\u0003\u0002\u0002\u0002\u0002\u0b7f\u0003\u0002\u0002", + "\u0002\u0002\u0b81\u0003\u0002\u0002\u0002\u0002\u0b83\u0003\u0002\u0002", + "\u0002\u0002\u0b85\u0003\u0002\u0002\u0002\u0002\u0b87\u0003\u0002\u0002", + "\u0002\u0002\u0b89\u0003\u0002\u0002\u0002\u0002\u0b8b\u0003\u0002\u0002", + "\u0002\u0002\u0b8d\u0003\u0002\u0002\u0002\u0002\u0b8f\u0003\u0002\u0002", + "\u0002\u0002\u0b91\u0003\u0002\u0002\u0002\u0002\u0b93\u0003\u0002\u0002", + "\u0002\u0002\u0b95\u0003\u0002\u0002\u0002\u0002\u0b97\u0003\u0002\u0002", + "\u0002\u0002\u0b99\u0003\u0002\u0002\u0002\u0002\u0b9b\u0003\u0002\u0002", + "\u0002\u0002\u0b9d\u0003\u0002\u0002\u0002\u0002\u0b9f\u0003\u0002\u0002", + "\u0002\u0002\u0ba1\u0003\u0002\u0002\u0002\u0002\u0ba3\u0003\u0002\u0002", + "\u0002\u0002\u0ba5\u0003\u0002\u0002\u0002\u0002\u0ba7\u0003\u0002\u0002", + "\u0002\u0002\u0ba9\u0003\u0002\u0002\u0002\u0002\u0bab\u0003\u0002\u0002", + "\u0002\u0002\u0bad\u0003\u0002\u0002\u0002\u0002\u0baf\u0003\u0002\u0002", + "\u0002\u0002\u0bb1\u0003\u0002\u0002\u0002\u0002\u0bb3\u0003\u0002\u0002", + "\u0002\u0002\u0bb5\u0003\u0002\u0002\u0002\u0002\u0bb7\u0003\u0002\u0002", + "\u0002\u0002\u0bb9\u0003\u0002\u0002\u0002\u0002\u0bbb\u0003\u0002\u0002", + "\u0002\u0002\u0bbd\u0003\u0002\u0002\u0002\u0002\u0bbf\u0003\u0002\u0002", + "\u0002\u0002\u0bc1\u0003\u0002\u0002\u0002\u0002\u0bc3\u0003\u0002\u0002", + "\u0002\u0002\u0bc5\u0003\u0002\u0002\u0002\u0002\u0bc7\u0003\u0002\u0002", + "\u0002\u0002\u0bc9\u0003\u0002\u0002\u0002\u0002\u0bcb\u0003\u0002\u0002", + "\u0002\u0002\u0bcd\u0003\u0002\u0002\u0002\u0002\u0bcf\u0003\u0002\u0002", + "\u0002\u0002\u0bd1\u0003\u0002\u0002\u0002\u0002\u0bd3\u0003\u0002\u0002", + "\u0002\u0002\u0bd5\u0003\u0002\u0002\u0002\u0002\u0bd7\u0003\u0002\u0002", + "\u0002\u0002\u0bd9\u0003\u0002\u0002\u0002\u0002\u0bdb\u0003\u0002\u0002", + "\u0002\u0002\u0bdd\u0003\u0002\u0002\u0002\u0002\u0bdf\u0003\u0002\u0002", + "\u0002\u0002\u0be1\u0003\u0002\u0002\u0002\u0002\u0be3\u0003\u0002\u0002", + "\u0002\u0002\u0be5\u0003\u0002\u0002\u0002\u0002\u0be7\u0003\u0002\u0002", + "\u0002\u0002\u0be9\u0003\u0002\u0002\u0002\u0002\u0beb\u0003\u0002\u0002", + "\u0002\u0002\u0bed\u0003\u0002\u0002\u0002\u0002\u0bef\u0003\u0002\u0002", + "\u0002\u0002\u0bf1\u0003\u0002\u0002\u0002\u0002\u0bf3\u0003\u0002\u0002", + "\u0002\u0002\u0bf5\u0003\u0002\u0002\u0002\u0002\u0bf7\u0003\u0002\u0002", + "\u0002\u0002\u0bf9\u0003\u0002\u0002\u0002\u0002\u0bfb\u0003\u0002\u0002", + "\u0002\u0002\u0bfd\u0003\u0002\u0002\u0002\u0002\u0bff\u0003\u0002\u0002", + "\u0002\u0002\u0c01\u0003\u0002\u0002\u0002\u0002\u0c03\u0003\u0002\u0002", + "\u0002\u0002\u0c05\u0003\u0002\u0002\u0002\u0002\u0c07\u0003\u0002\u0002", + "\u0002\u0002\u0c09\u0003\u0002\u0002\u0002\u0002\u0c0b\u0003\u0002\u0002", + "\u0002\u0002\u0c0d\u0003\u0002\u0002\u0002\u0002\u0c0f\u0003\u0002\u0002", + "\u0002\u0002\u0c11\u0003\u0002\u0002\u0002\u0002\u0c13\u0003\u0002\u0002", + "\u0002\u0002\u0c15\u0003\u0002\u0002\u0002\u0002\u0c17\u0003\u0002\u0002", + "\u0002\u0002\u0c19\u0003\u0002\u0002\u0002\u0002\u0c1b\u0003\u0002\u0002", + "\u0002\u0002\u0c1d\u0003\u0002\u0002\u0002\u0002\u0c1f\u0003\u0002\u0002", + "\u0002\u0002\u0c21\u0003\u0002\u0002\u0002\u0002\u0c23\u0003\u0002\u0002", + "\u0002\u0002\u0c25\u0003\u0002\u0002\u0002\u0002\u0c27\u0003\u0002\u0002", + "\u0002\u0002\u0c29\u0003\u0002\u0002\u0002\u0002\u0c2b\u0003\u0002\u0002", + "\u0002\u0002\u0c2d\u0003\u0002\u0002\u0002\u0002\u0c2f\u0003\u0002\u0002", + "\u0002\u0002\u0c31\u0003\u0002\u0002\u0002\u0002\u0c33\u0003\u0002\u0002", + "\u0002\u0002\u0c35\u0003\u0002\u0002\u0002\u0002\u0c37\u0003\u0002\u0002", + "\u0002\u0002\u0c39\u0003\u0002\u0002\u0002\u0002\u0c3b\u0003\u0002\u0002", + "\u0002\u0002\u0c3d\u0003\u0002\u0002\u0002\u0002\u0c3f\u0003\u0002\u0002", + "\u0002\u0002\u0c41\u0003\u0002\u0002\u0002\u0002\u0c43\u0003\u0002\u0002", + "\u0002\u0002\u0c45\u0003\u0002\u0002\u0002\u0002\u0c47\u0003\u0002\u0002", + "\u0002\u0002\u0c49\u0003\u0002\u0002\u0002\u0002\u0c4b\u0003\u0002\u0002", + "\u0002\u0002\u0c4d\u0003\u0002\u0002\u0002\u0002\u0c4f\u0003\u0002\u0002", + "\u0002\u0002\u0c51\u0003\u0002\u0002\u0002\u0002\u0c53\u0003\u0002\u0002", + "\u0002\u0002\u0c55\u0003\u0002\u0002\u0002\u0002\u0c57\u0003\u0002\u0002", + "\u0002\u0002\u0c59\u0003\u0002\u0002\u0002\u0002\u0c5b\u0003\u0002\u0002", + "\u0002\u0002\u0c5d\u0003\u0002\u0002\u0002\u0002\u0c5f\u0003\u0002\u0002", + "\u0002\u0002\u0c61\u0003\u0002\u0002\u0002\u0002\u0c63\u0003\u0002\u0002", + "\u0002\u0002\u0c65\u0003\u0002\u0002\u0002\u0002\u0c67\u0003\u0002\u0002", + "\u0002\u0002\u0c69\u0003\u0002\u0002\u0002\u0002\u0c6b\u0003\u0002\u0002", + "\u0002\u0002\u0c6d\u0003\u0002\u0002\u0002\u0002\u0c6f\u0003\u0002\u0002", + "\u0002\u0002\u0c71\u0003\u0002\u0002\u0002\u0002\u0c73\u0003\u0002\u0002", + "\u0002\u0002\u0c75\u0003\u0002\u0002\u0002\u0002\u0c77\u0003\u0002\u0002", + "\u0002\u0002\u0c79\u0003\u0002\u0002\u0002\u0002\u0c7b\u0003\u0002\u0002", + "\u0002\u0002\u0c7d\u0003\u0002\u0002\u0002\u0002\u0c7f\u0003\u0002\u0002", + "\u0002\u0002\u0c81\u0003\u0002\u0002\u0002\u0002\u0c83\u0003\u0002\u0002", + "\u0002\u0002\u0c85\u0003\u0002\u0002\u0002\u0002\u0c87\u0003\u0002\u0002", + "\u0002\u0002\u0c89\u0003\u0002\u0002\u0002\u0002\u0c8b\u0003\u0002\u0002", + "\u0002\u0002\u0c8d\u0003\u0002\u0002\u0002\u0002\u0c8f\u0003\u0002\u0002", + "\u0002\u0002\u0c91\u0003\u0002\u0002\u0002\u0002\u0c93\u0003\u0002\u0002", + "\u0002\u0002\u0c95\u0003\u0002\u0002\u0002\u0002\u0c97\u0003\u0002\u0002", + "\u0002\u0002\u0c99\u0003\u0002\u0002\u0002\u0002\u0c9b\u0003\u0002\u0002", + "\u0002\u0002\u0c9d\u0003\u0002\u0002\u0002\u0002\u0c9f\u0003\u0002\u0002", + "\u0002\u0002\u0ca1\u0003\u0002\u0002\u0002\u0002\u0ca3\u0003\u0002\u0002", + "\u0002\u0002\u0ca5\u0003\u0002\u0002\u0002\u0002\u0ca7\u0003\u0002\u0002", + "\u0002\u0002\u0ca9\u0003\u0002\u0002\u0002\u0002\u0cab\u0003\u0002\u0002", + "\u0002\u0002\u0cad\u0003\u0002\u0002\u0002\u0002\u0caf\u0003\u0002\u0002", + "\u0002\u0002\u0cb1\u0003\u0002\u0002\u0002\u0002\u0cb3\u0003\u0002\u0002", + "\u0002\u0002\u0cb5\u0003\u0002\u0002\u0002\u0002\u0cb7\u0003\u0002\u0002", + "\u0002\u0002\u0cb9\u0003\u0002\u0002\u0002\u0002\u0cbb\u0003\u0002\u0002", + "\u0002\u0002\u0cbd\u0003\u0002\u0002\u0002\u0002\u0cbf\u0003\u0002\u0002", + "\u0002\u0002\u0cc1\u0003\u0002\u0002\u0002\u0002\u0cc3\u0003\u0002\u0002", + "\u0002\u0002\u0cc5\u0003\u0002\u0002\u0002\u0002\u0cc7\u0003\u0002\u0002", + "\u0002\u0002\u0cc9\u0003\u0002\u0002\u0002\u0002\u0ccb\u0003\u0002\u0002", + "\u0002\u0002\u0ccd\u0003\u0002\u0002\u0002\u0002\u0ccf\u0003\u0002\u0002", + "\u0002\u0002\u0cd1\u0003\u0002\u0002\u0002\u0002\u0cd3\u0003\u0002\u0002", + "\u0002\u0002\u0cd5\u0003\u0002\u0002\u0002\u0002\u0cd7\u0003\u0002\u0002", + "\u0002\u0002\u0cd9\u0003\u0002\u0002\u0002\u0002\u0cdb\u0003\u0002\u0002", + "\u0002\u0002\u0cdd\u0003\u0002\u0002\u0002\u0002\u0cdf\u0003\u0002\u0002", + "\u0002\u0002\u0ce1\u0003\u0002\u0002\u0002\u0002\u0ce3\u0003\u0002\u0002", + "\u0002\u0002\u0ce5\u0003\u0002\u0002\u0002\u0002\u0ce7\u0003\u0002\u0002", + "\u0002\u0002\u0ce9\u0003\u0002\u0002\u0002\u0002\u0ceb\u0003\u0002\u0002", + "\u0002\u0002\u0ced\u0003\u0002\u0002\u0002\u0002\u0cef\u0003\u0002\u0002", + "\u0002\u0002\u0cf1\u0003\u0002\u0002\u0002\u0002\u0cf3\u0003\u0002\u0002", + "\u0002\u0002\u0cf5\u0003\u0002\u0002\u0002\u0002\u0cf7\u0003\u0002\u0002", + "\u0002\u0002\u0cf9\u0003\u0002\u0002\u0002\u0002\u0cfb\u0003\u0002\u0002", + "\u0002\u0002\u0cfd\u0003\u0002\u0002\u0002\u0002\u0cff\u0003\u0002\u0002", + "\u0002\u0002\u0d01\u0003\u0002\u0002\u0002\u0002\u0d03\u0003\u0002\u0002", + "\u0002\u0002\u0d05\u0003\u0002\u0002\u0002\u0002\u0d07\u0003\u0002\u0002", + "\u0002\u0002\u0d09\u0003\u0002\u0002\u0002\u0002\u0d0b\u0003\u0002\u0002", + "\u0002\u0002\u0d0d\u0003\u0002\u0002\u0002\u0002\u0d0f\u0003\u0002\u0002", + "\u0002\u0002\u0d11\u0003\u0002\u0002\u0002\u0002\u0d13\u0003\u0002\u0002", + "\u0002\u0002\u0d15\u0003\u0002\u0002\u0002\u0002\u0d17\u0003\u0002\u0002", + "\u0002\u0002\u0d19\u0003\u0002\u0002\u0002\u0002\u0d1b\u0003\u0002\u0002", + "\u0002\u0002\u0d1d\u0003\u0002\u0002\u0002\u0002\u0d1f\u0003\u0002\u0002", + "\u0002\u0002\u0d21\u0003\u0002\u0002\u0002\u0002\u0d23\u0003\u0002\u0002", + "\u0002\u0002\u0d25\u0003\u0002\u0002\u0002\u0002\u0d27\u0003\u0002\u0002", + "\u0002\u0002\u0d29\u0003\u0002\u0002\u0002\u0002\u0d2b\u0003\u0002\u0002", + "\u0002\u0002\u0d2d\u0003\u0002\u0002\u0002\u0002\u0d2f\u0003\u0002\u0002", + "\u0002\u0002\u0d31\u0003\u0002\u0002\u0002\u0002\u0d33\u0003\u0002\u0002", + "\u0002\u0002\u0d35\u0003\u0002\u0002\u0002\u0002\u0d37\u0003\u0002\u0002", + "\u0002\u0002\u0d39\u0003\u0002\u0002\u0002\u0002\u0d3b\u0003\u0002\u0002", + "\u0002\u0002\u0d3d\u0003\u0002\u0002\u0002\u0002\u0d3f\u0003\u0002\u0002", + "\u0002\u0002\u0d41\u0003\u0002\u0002\u0002\u0002\u0d43\u0003\u0002\u0002", + "\u0002\u0002\u0d45\u0003\u0002\u0002\u0002\u0002\u0d47\u0003\u0002\u0002", + "\u0002\u0002\u0d49\u0003\u0002\u0002\u0002\u0002\u0d4b\u0003\u0002\u0002", + "\u0002\u0002\u0d4d\u0003\u0002\u0002\u0002\u0002\u0d4f\u0003\u0002\u0002", + "\u0002\u0002\u0d51\u0003\u0002\u0002\u0002\u0002\u0d53\u0003\u0002\u0002", + "\u0002\u0002\u0d55\u0003\u0002\u0002\u0002\u0002\u0d57\u0003\u0002\u0002", + "\u0002\u0002\u0d59\u0003\u0002\u0002\u0002\u0002\u0d5b\u0003\u0002\u0002", + "\u0002\u0002\u0d5d\u0003\u0002\u0002\u0002\u0002\u0d5f\u0003\u0002\u0002", + "\u0002\u0002\u0d61\u0003\u0002\u0002\u0002\u0002\u0d63\u0003\u0002\u0002", + "\u0002\u0002\u0d65\u0003\u0002\u0002\u0002\u0002\u0d67\u0003\u0002\u0002", + "\u0002\u0002\u0d69\u0003\u0002\u0002\u0002\u0002\u0d6b\u0003\u0002\u0002", + "\u0002\u0002\u0d6d\u0003\u0002\u0002\u0002\u0002\u0d6f\u0003\u0002\u0002", + "\u0002\u0002\u0d71\u0003\u0002\u0002\u0002\u0002\u0d73\u0003\u0002\u0002", + "\u0002\u0002\u0d75\u0003\u0002\u0002\u0002\u0002\u0d77\u0003\u0002\u0002", + "\u0002\u0002\u0d79\u0003\u0002\u0002\u0002\u0002\u0d7b\u0003\u0002\u0002", + "\u0002\u0002\u0d7d\u0003\u0002\u0002\u0002\u0002\u0d7f\u0003\u0002\u0002", + "\u0002\u0002\u0d81\u0003\u0002\u0002\u0002\u0002\u0d83\u0003\u0002\u0002", + "\u0002\u0002\u0d85\u0003\u0002\u0002\u0002\u0002\u0d87\u0003\u0002\u0002", + "\u0002\u0002\u0d89\u0003\u0002\u0002\u0002\u0002\u0d8b\u0003\u0002\u0002", + "\u0002\u0002\u0d8d\u0003\u0002\u0002\u0002\u0002\u0d8f\u0003\u0002\u0002", + "\u0002\u0002\u0d91\u0003\u0002\u0002\u0002\u0002\u0d93\u0003\u0002\u0002", + "\u0002\u0002\u0d95\u0003\u0002\u0002\u0002\u0002\u0d97\u0003\u0002\u0002", + "\u0002\u0002\u0d99\u0003\u0002\u0002\u0002\u0002\u0d9b\u0003\u0002\u0002", + "\u0002\u0002\u0d9d\u0003\u0002\u0002\u0002\u0002\u0d9f\u0003\u0002\u0002", + "\u0002\u0002\u0da1\u0003\u0002\u0002\u0002\u0002\u0da3\u0003\u0002\u0002", + "\u0002\u0002\u0da5\u0003\u0002\u0002\u0002\u0002\u0da7\u0003\u0002\u0002", + "\u0002\u0002\u0da9\u0003\u0002\u0002\u0002\u0002\u0dab\u0003\u0002\u0002", + "\u0002\u0002\u0dad\u0003\u0002\u0002\u0002\u0002\u0daf\u0003\u0002\u0002", + "\u0002\u0002\u0db1\u0003\u0002\u0002\u0002\u0002\u0db3\u0003\u0002\u0002", + "\u0002\u0002\u0db5\u0003\u0002\u0002\u0002\u0002\u0db7\u0003\u0002\u0002", + "\u0002\u0002\u0db9\u0003\u0002\u0002\u0002\u0002\u0dbb\u0003\u0002\u0002", + "\u0002\u0002\u0dbd\u0003\u0002\u0002\u0002\u0002\u0dbf\u0003\u0002\u0002", + "\u0002\u0002\u0dc1\u0003\u0002\u0002\u0002\u0002\u0dc3\u0003\u0002\u0002", + "\u0002\u0002\u0dc5\u0003\u0002\u0002\u0002\u0002\u0dc7\u0003\u0002\u0002", + "\u0002\u0002\u0dc9\u0003\u0002\u0002\u0002\u0002\u0dcb\u0003\u0002\u0002", + "\u0002\u0002\u0dcd\u0003\u0002\u0002\u0002\u0002\u0dcf\u0003\u0002\u0002", + "\u0002\u0002\u0dd1\u0003\u0002\u0002\u0002\u0002\u0dd3\u0003\u0002\u0002", + "\u0002\u0002\u0dd5\u0003\u0002\u0002\u0002\u0002\u0dd7\u0003\u0002\u0002", + "\u0002\u0002\u0dd9\u0003\u0002\u0002\u0002\u0002\u0ddb\u0003\u0002\u0002", + "\u0002\u0002\u0ddd\u0003\u0002\u0002\u0002\u0002\u0ddf\u0003\u0002\u0002", + "\u0002\u0002\u0de1\u0003\u0002\u0002\u0002\u0002\u0de3\u0003\u0002\u0002", + "\u0002\u0002\u0de5\u0003\u0002\u0002\u0002\u0002\u0de7\u0003\u0002\u0002", + "\u0002\u0002\u0de9\u0003\u0002\u0002\u0002\u0002\u0deb\u0003\u0002\u0002", + "\u0002\u0002\u0ded\u0003\u0002\u0002\u0002\u0002\u0def\u0003\u0002\u0002", + "\u0002\u0002\u0df1\u0003\u0002\u0002\u0002\u0002\u0df3\u0003\u0002\u0002", + "\u0002\u0002\u0df5\u0003\u0002\u0002\u0002\u0002\u0df7\u0003\u0002\u0002", + "\u0002\u0002\u0df9\u0003\u0002\u0002\u0002\u0002\u0dfb\u0003\u0002\u0002", + "\u0002\u0002\u0dfd\u0003\u0002\u0002\u0002\u0002\u0dff\u0003\u0002\u0002", + "\u0002\u0002\u0e01\u0003\u0002\u0002\u0002\u0002\u0e03\u0003\u0002\u0002", + "\u0002\u0002\u0e05\u0003\u0002\u0002\u0002\u0002\u0e07\u0003\u0002\u0002", + "\u0002\u0002\u0e09\u0003\u0002\u0002\u0002\u0002\u0e0b\u0003\u0002\u0002", + "\u0002\u0002\u0e0d\u0003\u0002\u0002\u0002\u0002\u0e0f\u0003\u0002\u0002", + "\u0002\u0002\u0e11\u0003\u0002\u0002\u0002\u0002\u0e13\u0003\u0002\u0002", + "\u0002\u0002\u0e15\u0003\u0002\u0002\u0002\u0002\u0e17\u0003\u0002\u0002", + "\u0002\u0002\u0e19\u0003\u0002\u0002\u0002\u0002\u0e1b\u0003\u0002\u0002", + "\u0002\u0002\u0e1d\u0003\u0002\u0002\u0002\u0002\u0e1f\u0003\u0002\u0002", + "\u0002\u0002\u0e21\u0003\u0002\u0002\u0002\u0002\u0e23\u0003\u0002\u0002", + "\u0002\u0002\u0e25\u0003\u0002\u0002\u0002\u0002\u0e27\u0003\u0002\u0002", + "\u0002\u0002\u0e29\u0003\u0002\u0002\u0002\u0002\u0e2b\u0003\u0002\u0002", + "\u0002\u0002\u0e2d\u0003\u0002\u0002\u0002\u0002\u0e2f\u0003\u0002\u0002", + "\u0002\u0002\u0e31\u0003\u0002\u0002\u0002\u0002\u0e33\u0003\u0002\u0002", + "\u0002\u0002\u0e35\u0003\u0002\u0002\u0002\u0002\u0e37\u0003\u0002\u0002", + "\u0002\u0002\u0e39\u0003\u0002\u0002\u0002\u0002\u0e3b\u0003\u0002\u0002", + "\u0002\u0002\u0e3d\u0003\u0002\u0002\u0002\u0002\u0e3f\u0003\u0002\u0002", + "\u0002\u0002\u0e41\u0003\u0002\u0002\u0002\u0002\u0e43\u0003\u0002\u0002", + "\u0002\u0002\u0e45\u0003\u0002\u0002\u0002\u0002\u0e47\u0003\u0002\u0002", + "\u0002\u0002\u0e49\u0003\u0002\u0002\u0002\u0002\u0e4b\u0003\u0002\u0002", + "\u0002\u0002\u0e4d\u0003\u0002\u0002\u0002\u0002\u0e4f\u0003\u0002\u0002", + "\u0002\u0002\u0e51\u0003\u0002\u0002\u0002\u0002\u0e53\u0003\u0002\u0002", + "\u0002\u0002\u0e55\u0003\u0002\u0002\u0002\u0002\u0e57\u0003\u0002\u0002", + "\u0002\u0002\u0e59\u0003\u0002\u0002\u0002\u0002\u0e5b\u0003\u0002\u0002", + "\u0002\u0002\u0e5d\u0003\u0002\u0002\u0002\u0002\u0e5f\u0003\u0002\u0002", + "\u0002\u0002\u0e61\u0003\u0002\u0002\u0002\u0002\u0e63\u0003\u0002\u0002", + "\u0002\u0002\u0e65\u0003\u0002\u0002\u0002\u0002\u0e67\u0003\u0002\u0002", + "\u0002\u0002\u0e69\u0003\u0002\u0002\u0002\u0002\u0e6b\u0003\u0002\u0002", + "\u0002\u0002\u0e6d\u0003\u0002\u0002\u0002\u0002\u0e6f\u0003\u0002\u0002", + "\u0002\u0002\u0e71\u0003\u0002\u0002\u0002\u0002\u0e73\u0003\u0002\u0002", + "\u0002\u0002\u0e75\u0003\u0002\u0002\u0002\u0002\u0e77\u0003\u0002\u0002", + "\u0002\u0002\u0e79\u0003\u0002\u0002\u0002\u0002\u0e7b\u0003\u0002\u0002", + "\u0002\u0002\u0e7d\u0003\u0002\u0002\u0002\u0002\u0e7f\u0003\u0002\u0002", + "\u0002\u0002\u0e81\u0003\u0002\u0002\u0002\u0002\u0e83\u0003\u0002\u0002", + "\u0002\u0002\u0e85\u0003\u0002\u0002\u0002\u0002\u0e87\u0003\u0002\u0002", + "\u0002\u0002\u0e89\u0003\u0002\u0002\u0002\u0002\u0e8b\u0003\u0002\u0002", + "\u0002\u0002\u0e8d\u0003\u0002\u0002\u0002\u0002\u0e8f\u0003\u0002\u0002", + "\u0002\u0002\u0e91\u0003\u0002\u0002\u0002\u0002\u0e93\u0003\u0002\u0002", + "\u0002\u0002\u0e95\u0003\u0002\u0002\u0002\u0002\u0e97\u0003\u0002\u0002", + "\u0002\u0002\u0e99\u0003\u0002\u0002\u0002\u0002\u0e9b\u0003\u0002\u0002", + "\u0002\u0002\u0e9d\u0003\u0002\u0002\u0002\u0002\u0e9f\u0003\u0002\u0002", + "\u0002\u0002\u0ea1\u0003\u0002\u0002\u0002\u0002\u0ea3\u0003\u0002\u0002", + "\u0002\u0002\u0ea5\u0003\u0002\u0002\u0002\u0002\u0ea7\u0003\u0002\u0002", + "\u0002\u0002\u0ea9\u0003\u0002\u0002\u0002\u0002\u0eab\u0003\u0002\u0002", + "\u0002\u0002\u0ead\u0003\u0002\u0002\u0002\u0002\u0eaf\u0003\u0002\u0002", + "\u0002\u0002\u0eb1\u0003\u0002\u0002\u0002\u0002\u0eb3\u0003\u0002\u0002", + "\u0002\u0002\u0eb5\u0003\u0002\u0002\u0002\u0002\u0eb7\u0003\u0002\u0002", + "\u0002\u0002\u0eb9\u0003\u0002\u0002\u0002\u0002\u0ebb\u0003\u0002\u0002", + "\u0002\u0002\u0ebd\u0003\u0002\u0002\u0002\u0002\u0ebf\u0003\u0002\u0002", + "\u0002\u0002\u0ec1\u0003\u0002\u0002\u0002\u0002\u0ec3\u0003\u0002\u0002", + "\u0002\u0002\u0ec5\u0003\u0002\u0002\u0002\u0002\u0ec7\u0003\u0002\u0002", + "\u0002\u0002\u0ec9\u0003\u0002\u0002\u0002\u0002\u0ecb\u0003\u0002\u0002", + "\u0002\u0002\u0ecd\u0003\u0002\u0002\u0002\u0002\u0ecf\u0003\u0002\u0002", + "\u0002\u0002\u0ed1\u0003\u0002\u0002\u0002\u0002\u0ed3\u0003\u0002\u0002", + "\u0002\u0002\u0ed5\u0003\u0002\u0002\u0002\u0002\u0ed7\u0003\u0002\u0002", + "\u0002\u0002\u0ed9\u0003\u0002\u0002\u0002\u0002\u0edb\u0003\u0002\u0002", + "\u0002\u0002\u0edd\u0003\u0002\u0002\u0002\u0002\u0edf\u0003\u0002\u0002", + "\u0002\u0002\u0ee1\u0003\u0002\u0002\u0002\u0002\u0ee3\u0003\u0002\u0002", + "\u0002\u0002\u0ee5\u0003\u0002\u0002\u0002\u0002\u0ee7\u0003\u0002\u0002", + "\u0002\u0002\u0ee9\u0003\u0002\u0002\u0002\u0002\u0eeb\u0003\u0002\u0002", + "\u0002\u0002\u0eed\u0003\u0002\u0002\u0002\u0002\u0eef\u0003\u0002\u0002", + "\u0002\u0002\u0ef1\u0003\u0002\u0002\u0002\u0002\u0ef3\u0003\u0002\u0002", + "\u0002\u0002\u0ef5\u0003\u0002\u0002\u0002\u0002\u0ef7\u0003\u0002\u0002", + "\u0002\u0002\u0ef9\u0003\u0002\u0002\u0002\u0002\u0efb\u0003\u0002\u0002", + "\u0002\u0002\u0efd\u0003\u0002\u0002\u0002\u0002\u0eff\u0003\u0002\u0002", + "\u0002\u0002\u0f01\u0003\u0002\u0002\u0002\u0002\u0f03\u0003\u0002\u0002", + "\u0002\u0002\u0f05\u0003\u0002\u0002\u0002\u0002\u0f07\u0003\u0002\u0002", + "\u0002\u0002\u0f09\u0003\u0002\u0002\u0002\u0002\u0f0b\u0003\u0002\u0002", + "\u0002\u0002\u0f0d\u0003\u0002\u0002\u0002\u0002\u0f0f\u0003\u0002\u0002", + "\u0002\u0002\u0f11\u0003\u0002\u0002\u0002\u0002\u0f13\u0003\u0002\u0002", + "\u0002\u0002\u0f15\u0003\u0002\u0002\u0002\u0002\u0f17\u0003\u0002\u0002", + "\u0002\u0002\u0f19\u0003\u0002\u0002\u0002\u0002\u0f1b\u0003\u0002\u0002", + "\u0002\u0002\u0f1d\u0003\u0002\u0002\u0002\u0002\u0f1f\u0003\u0002\u0002", + "\u0002\u0002\u0f21\u0003\u0002\u0002\u0002\u0002\u0f23\u0003\u0002\u0002", + "\u0002\u0002\u0f25\u0003\u0002\u0002\u0002\u0002\u0f27\u0003\u0002\u0002", + "\u0002\u0002\u0f29\u0003\u0002\u0002\u0002\u0002\u0f2b\u0003\u0002\u0002", + "\u0002\u0002\u0f2d\u0003\u0002\u0002\u0002\u0002\u0f2f\u0003\u0002\u0002", + "\u0002\u0002\u0f31\u0003\u0002\u0002\u0002\u0002\u0f33\u0003\u0002\u0002", + "\u0002\u0002\u0f35\u0003\u0002\u0002\u0002\u0002\u0f37\u0003\u0002\u0002", + "\u0002\u0002\u0f39\u0003\u0002\u0002\u0002\u0002\u0f3b\u0003\u0002\u0002", + "\u0002\u0002\u0f3d\u0003\u0002\u0002\u0002\u0002\u0f3f\u0003\u0002\u0002", + "\u0002\u0002\u0f41\u0003\u0002\u0002\u0002\u0002\u0f43\u0003\u0002\u0002", + "\u0002\u0002\u0f45\u0003\u0002\u0002\u0002\u0002\u0f47\u0003\u0002\u0002", + "\u0002\u0002\u0f49\u0003\u0002\u0002\u0002\u0002\u0f4b\u0003\u0002\u0002", + "\u0002\u0002\u0f4d\u0003\u0002\u0002\u0002\u0002\u0f4f\u0003\u0002\u0002", + "\u0002\u0002\u0f51\u0003\u0002\u0002\u0002\u0002\u0f53\u0003\u0002\u0002", + "\u0002\u0002\u0f55\u0003\u0002\u0002\u0002\u0002\u0f57\u0003\u0002\u0002", + "\u0002\u0002\u0f59\u0003\u0002\u0002\u0002\u0002\u0f5b\u0003\u0002\u0002", + "\u0002\u0002\u0f5d\u0003\u0002\u0002\u0002\u0002\u0f5f\u0003\u0002\u0002", + "\u0002\u0002\u0f61\u0003\u0002\u0002\u0002\u0002\u0f63\u0003\u0002\u0002", + "\u0002\u0002\u0f65\u0003\u0002\u0002\u0002\u0002\u0f67\u0003\u0002\u0002", + "\u0002\u0002\u0f69\u0003\u0002\u0002\u0002\u0002\u0f6b\u0003\u0002\u0002", + "\u0002\u0002\u0f6d\u0003\u0002\u0002\u0002\u0002\u0f6f\u0003\u0002\u0002", + "\u0002\u0002\u0f71\u0003\u0002\u0002\u0002\u0002\u0f73\u0003\u0002\u0002", + "\u0002\u0002\u0f75\u0003\u0002\u0002\u0002\u0002\u0f77\u0003\u0002\u0002", + "\u0002\u0002\u0f79\u0003\u0002\u0002\u0002\u0002\u0f7b\u0003\u0002\u0002", + "\u0002\u0002\u0f7d\u0003\u0002\u0002\u0002\u0002\u0f7f\u0003\u0002\u0002", + "\u0002\u0002\u0f81\u0003\u0002\u0002\u0002\u0002\u0f83\u0003\u0002\u0002", + "\u0002\u0002\u0f85\u0003\u0002\u0002\u0002\u0002\u0f87\u0003\u0002\u0002", + "\u0002\u0002\u0f89\u0003\u0002\u0002\u0002\u0002\u0f8b\u0003\u0002\u0002", + "\u0002\u0002\u0f8d\u0003\u0002\u0002\u0002\u0002\u0f8f\u0003\u0002\u0002", + "\u0002\u0002\u0f91\u0003\u0002\u0002\u0002\u0002\u0f93\u0003\u0002\u0002", + "\u0002\u0002\u0f95\u0003\u0002\u0002\u0002\u0002\u0f97\u0003\u0002\u0002", + "\u0002\u0002\u0f99\u0003\u0002\u0002\u0002\u0002\u0f9b\u0003\u0002\u0002", + "\u0002\u0002\u0f9d\u0003\u0002\u0002\u0002\u0002\u0f9f\u0003\u0002\u0002", + "\u0002\u0002\u0fa1\u0003\u0002\u0002\u0002\u0002\u0fa3\u0003\u0002\u0002", + "\u0002\u0002\u0fa5\u0003\u0002\u0002\u0002\u0002\u0fa7\u0003\u0002\u0002", + "\u0002\u0002\u0fa9\u0003\u0002\u0002\u0002\u0002\u0fab\u0003\u0002\u0002", + "\u0002\u0002\u0fad\u0003\u0002\u0002\u0002\u0002\u0faf\u0003\u0002\u0002", + "\u0002\u0002\u0fb1\u0003\u0002\u0002\u0002\u0002\u0fb3\u0003\u0002\u0002", + "\u0002\u0002\u0fb5\u0003\u0002\u0002\u0002\u0002\u0fb7\u0003\u0002\u0002", + "\u0002\u0002\u0fb9\u0003\u0002\u0002\u0002\u0002\u0fbb\u0003\u0002\u0002", + "\u0002\u0002\u0fbd\u0003\u0002\u0002\u0002\u0002\u0fbf\u0003\u0002\u0002", + "\u0002\u0002\u0fc1\u0003\u0002\u0002\u0002\u0002\u0fc3\u0003\u0002\u0002", + "\u0002\u0002\u0fc5\u0003\u0002\u0002\u0002\u0002\u0fc7\u0003\u0002\u0002", + "\u0002\u0002\u0fc9\u0003\u0002\u0002\u0002\u0002\u0fcb\u0003\u0002\u0002", + "\u0002\u0002\u0fcd\u0003\u0002\u0002\u0002\u0002\u0fcf\u0003\u0002\u0002", + "\u0002\u0002\u0fd1\u0003\u0002\u0002\u0002\u0002\u0fd3\u0003\u0002\u0002", + "\u0002\u0002\u0fd5\u0003\u0002\u0002\u0002\u0002\u0fd7\u0003\u0002\u0002", + "\u0002\u0002\u0fd9\u0003\u0002\u0002\u0002\u0002\u0fdb\u0003\u0002\u0002", + "\u0002\u0002\u0fdd\u0003\u0002\u0002\u0002\u0002\u0fdf\u0003\u0002\u0002", + "\u0002\u0002\u0fe1\u0003\u0002\u0002\u0002\u0002\u0fe3\u0003\u0002\u0002", + "\u0002\u0002\u0fe5\u0003\u0002\u0002\u0002\u0002\u0fe7\u0003\u0002\u0002", + "\u0002\u0002\u0fe9\u0003\u0002\u0002\u0002\u0002\u0feb\u0003\u0002\u0002", + "\u0002\u0002\u0fed\u0003\u0002\u0002\u0002\u0002\u0fef\u0003\u0002\u0002", + "\u0002\u0002\u0ff1\u0003\u0002\u0002\u0002\u0002\u0ff3\u0003\u0002\u0002", + "\u0002\u0002\u0ff5\u0003\u0002\u0002\u0002\u0002\u0ff7\u0003\u0002\u0002", + "\u0002\u0002\u0ff9\u0003\u0002\u0002\u0002\u0002\u0ffb\u0003\u0002\u0002", + "\u0002\u0002\u0ffd\u0003\u0002\u0002\u0002\u0002\u0fff\u0003\u0002\u0002", + "\u0002\u0002\u1001\u0003\u0002\u0002\u0002\u0002\u1003\u0003\u0002\u0002", + "\u0002\u0002\u1005\u0003\u0002\u0002\u0002\u0002\u1007\u0003\u0002\u0002", + "\u0002\u0002\u1009\u0003\u0002\u0002\u0002\u0002\u100b\u0003\u0002\u0002", + "\u0002\u0002\u100d\u0003\u0002\u0002\u0002\u0002\u100f\u0003\u0002\u0002", + "\u0002\u0002\u1011\u0003\u0002\u0002\u0002\u0002\u1013\u0003\u0002\u0002", + "\u0002\u0002\u1015\u0003\u0002\u0002\u0002\u0002\u1017\u0003\u0002\u0002", + "\u0002\u0002\u1019\u0003\u0002\u0002\u0002\u0002\u101b\u0003\u0002\u0002", + "\u0002\u0002\u101d\u0003\u0002\u0002\u0002\u0002\u101f\u0003\u0002\u0002", + "\u0002\u0002\u1021\u0003\u0002\u0002\u0002\u0002\u1023\u0003\u0002\u0002", + "\u0002\u0002\u1025\u0003\u0002\u0002\u0002\u0002\u1027\u0003\u0002\u0002", + "\u0002\u0002\u1029\u0003\u0002\u0002\u0002\u0002\u102b\u0003\u0002\u0002", + "\u0002\u0002\u102d\u0003\u0002\u0002\u0002\u0002\u102f\u0003\u0002\u0002", + "\u0002\u0002\u1031\u0003\u0002\u0002\u0002\u0002\u1033\u0003\u0002\u0002", + "\u0002\u0002\u1035\u0003\u0002\u0002\u0002\u0002\u1037\u0003\u0002\u0002", + "\u0002\u0002\u1039\u0003\u0002\u0002\u0002\u0002\u103b\u0003\u0002\u0002", + "\u0002\u0002\u103d\u0003\u0002\u0002\u0002\u0002\u103f\u0003\u0002\u0002", + "\u0002\u0002\u1041\u0003\u0002\u0002\u0002\u0002\u1043\u0003\u0002\u0002", + "\u0002\u0002\u1045\u0003\u0002\u0002\u0002\u0002\u1047\u0003\u0002\u0002", + "\u0002\u0002\u1049\u0003\u0002\u0002\u0002\u0002\u104b\u0003\u0002\u0002", + "\u0002\u0002\u104d\u0003\u0002\u0002\u0002\u0002\u104f\u0003\u0002\u0002", + "\u0002\u0002\u1051\u0003\u0002\u0002\u0002\u0002\u1053\u0003\u0002\u0002", + "\u0002\u0002\u1055\u0003\u0002\u0002\u0002\u0002\u1057\u0003\u0002\u0002", + "\u0002\u0002\u1059\u0003\u0002\u0002\u0002\u0002\u105b\u0003\u0002\u0002", + "\u0002\u0002\u105d\u0003\u0002\u0002\u0002\u0002\u105f\u0003\u0002\u0002", + "\u0002\u0002\u1061\u0003\u0002\u0002\u0002\u0002\u1063\u0003\u0002\u0002", + "\u0002\u0002\u1065\u0003\u0002\u0002\u0002\u0002\u1067\u0003\u0002\u0002", + "\u0002\u0002\u1069\u0003\u0002\u0002\u0002\u0002\u106b\u0003\u0002\u0002", + "\u0002\u0002\u106d\u0003\u0002\u0002\u0002\u0002\u106f\u0003\u0002\u0002", + "\u0002\u0002\u1071\u0003\u0002\u0002\u0002\u0002\u1073\u0003\u0002\u0002", + "\u0002\u0002\u1075\u0003\u0002\u0002\u0002\u0002\u1077\u0003\u0002\u0002", + "\u0002\u0002\u1079\u0003\u0002\u0002\u0002\u0002\u107b\u0003\u0002\u0002", + "\u0002\u0002\u107d\u0003\u0002\u0002\u0002\u0002\u107f\u0003\u0002\u0002", + "\u0002\u0002\u1081\u0003\u0002\u0002\u0002\u0002\u1083\u0003\u0002\u0002", + "\u0002\u0002\u1085\u0003\u0002\u0002\u0002\u0002\u1087\u0003\u0002\u0002", + "\u0002\u0002\u1089\u0003\u0002\u0002\u0002\u0002\u108b\u0003\u0002\u0002", + "\u0002\u0002\u108d\u0003\u0002\u0002\u0002\u0002\u108f\u0003\u0002\u0002", + "\u0002\u0002\u1091\u0003\u0002\u0002\u0002\u0002\u1093\u0003\u0002\u0002", + "\u0002\u0002\u1095\u0003\u0002\u0002\u0002\u0002\u1097\u0003\u0002\u0002", + "\u0002\u0002\u1099\u0003\u0002\u0002\u0002\u0002\u109b\u0003\u0002\u0002", + "\u0002\u0002\u109d\u0003\u0002\u0002\u0002\u0002\u109f\u0003\u0002\u0002", + "\u0002\u0002\u10a1\u0003\u0002\u0002\u0002\u0002\u10a3\u0003\u0002\u0002", + "\u0002\u0002\u10a5\u0003\u0002\u0002\u0002\u0002\u10a7\u0003\u0002\u0002", + "\u0002\u0002\u10a9\u0003\u0002\u0002\u0002\u0002\u10ab\u0003\u0002\u0002", + "\u0002\u0002\u10ad\u0003\u0002\u0002\u0002\u0002\u10af\u0003\u0002\u0002", + "\u0002\u0002\u10b1\u0003\u0002\u0002\u0002\u0002\u10b3\u0003\u0002\u0002", + "\u0002\u0002\u10b5\u0003\u0002\u0002\u0002\u0002\u10b7\u0003\u0002\u0002", + "\u0002\u0002\u10b9\u0003\u0002\u0002\u0002\u0002\u10bb\u0003\u0002\u0002", + "\u0002\u0002\u10bd\u0003\u0002\u0002\u0002\u0002\u10bf\u0003\u0002\u0002", + "\u0002\u0002\u10c1\u0003\u0002\u0002\u0002\u0002\u10c3\u0003\u0002\u0002", + "\u0002\u0002\u10c5\u0003\u0002\u0002\u0002\u0002\u10c7\u0003\u0002\u0002", + "\u0002\u0002\u10c9\u0003\u0002\u0002\u0002\u0002\u10cb\u0003\u0002\u0002", + "\u0002\u0002\u10cd\u0003\u0002\u0002\u0002\u0002\u10cf\u0003\u0002\u0002", + "\u0002\u0002\u10d1\u0003\u0002\u0002\u0002\u0002\u10d3\u0003\u0002\u0002", + "\u0002\u0002\u10d5\u0003\u0002\u0002\u0002\u0002\u10d7\u0003\u0002\u0002", + "\u0002\u0002\u10d9\u0003\u0002\u0002\u0002\u0002\u10db\u0003\u0002\u0002", + "\u0002\u0002\u10dd\u0003\u0002\u0002\u0002\u0002\u10df\u0003\u0002\u0002", + "\u0002\u0002\u10e1\u0003\u0002\u0002\u0002\u0002\u10e3\u0003\u0002\u0002", + "\u0002\u0002\u10e5\u0003\u0002\u0002\u0002\u0002\u10e7\u0003\u0002\u0002", + "\u0002\u0002\u10e9\u0003\u0002\u0002\u0002\u0002\u10eb\u0003\u0002\u0002", + "\u0002\u0002\u10ed\u0003\u0002\u0002\u0002\u0002\u10ef\u0003\u0002\u0002", + "\u0002\u0002\u10f1\u0003\u0002\u0002\u0002\u0002\u10f3\u0003\u0002\u0002", + "\u0002\u0002\u10f5\u0003\u0002\u0002\u0002\u0002\u10f7\u0003\u0002\u0002", + "\u0002\u0002\u10f9\u0003\u0002\u0002\u0002\u0002\u10fb\u0003\u0002\u0002", + "\u0002\u0002\u10fd\u0003\u0002\u0002\u0002\u0002\u10ff\u0003\u0002\u0002", + "\u0002\u0002\u1101\u0003\u0002\u0002\u0002\u0002\u1103\u0003\u0002\u0002", + "\u0002\u0002\u1105\u0003\u0002\u0002\u0002\u0002\u1107\u0003\u0002\u0002", + "\u0002\u0002\u1109\u0003\u0002\u0002\u0002\u0002\u110b\u0003\u0002\u0002", + "\u0002\u0002\u110d\u0003\u0002\u0002\u0002\u0002\u110f\u0003\u0002\u0002", + "\u0002\u0002\u1111\u0003\u0002\u0002\u0002\u0002\u1113\u0003\u0002\u0002", + "\u0002\u0002\u1115\u0003\u0002\u0002\u0002\u0002\u1117\u0003\u0002\u0002", + "\u0002\u0002\u1119\u0003\u0002\u0002\u0002\u0002\u111b\u0003\u0002\u0002", + "\u0002\u0002\u111d\u0003\u0002\u0002\u0002\u0002\u111f\u0003\u0002\u0002", + "\u0002\u0002\u1121\u0003\u0002\u0002\u0002\u0002\u1123\u0003\u0002\u0002", + "\u0002\u0002\u1125\u0003\u0002\u0002\u0002\u0002\u1127\u0003\u0002\u0002", + "\u0002\u0002\u1129\u0003\u0002\u0002\u0002\u0002\u112b\u0003\u0002\u0002", + "\u0002\u0002\u112d\u0003\u0002\u0002\u0002\u0002\u112f\u0003\u0002\u0002", + "\u0002\u0002\u1131\u0003\u0002\u0002\u0002\u0002\u1133\u0003\u0002\u0002", + "\u0002\u0002\u1135\u0003\u0002\u0002\u0002\u0002\u1137\u0003\u0002\u0002", + "\u0002\u0002\u1139\u0003\u0002\u0002\u0002\u0002\u113b\u0003\u0002\u0002", + "\u0002\u0002\u113d\u0003\u0002\u0002\u0002\u0002\u113f\u0003\u0002\u0002", + "\u0002\u0002\u1141\u0003\u0002\u0002\u0002\u0002\u1143\u0003\u0002\u0002", + "\u0002\u0002\u1145\u0003\u0002\u0002\u0002\u0002\u1147\u0003\u0002\u0002", + "\u0002\u0002\u1149\u0003\u0002\u0002\u0002\u0002\u114b\u0003\u0002\u0002", + "\u0002\u0002\u114d\u0003\u0002\u0002\u0002\u0002\u114f\u0003\u0002\u0002", + "\u0002\u0002\u1151\u0003\u0002\u0002\u0002\u0002\u1153\u0003\u0002\u0002", + "\u0002\u0002\u1155\u0003\u0002\u0002\u0002\u0002\u1157\u0003\u0002\u0002", + "\u0002\u0002\u1159\u0003\u0002\u0002\u0002\u0002\u116b\u0003\u0002\u0002", + "\u0002\u0002\u116d\u0003\u0002\u0002\u0002\u0002\u116f\u0003\u0002\u0002", + "\u0002\u0002\u1171\u0003\u0002\u0002\u0002\u0002\u1173\u0003\u0002\u0002", + "\u0002\u0002\u1175\u0003\u0002\u0002\u0002\u0002\u1177\u0003\u0002\u0002", + "\u0002\u0002\u1179\u0003\u0002\u0002\u0002\u0002\u117b\u0003\u0002\u0002", + "\u0002\u0002\u117d\u0003\u0002\u0002\u0002\u0002\u117f\u0003\u0002\u0002", + "\u0002\u0002\u1181\u0003\u0002\u0002\u0002\u0002\u1183\u0003\u0002\u0002", + "\u0002\u0002\u1185\u0003\u0002\u0002\u0002\u0002\u1187\u0003\u0002\u0002", + "\u0002\u0002\u1189\u0003\u0002\u0002\u0002\u0002\u118b\u0003\u0002\u0002", + "\u0002\u0002\u118d\u0003\u0002\u0002\u0002\u0002\u118f\u0003\u0002\u0002", + "\u0002\u0002\u1191\u0003\u0002\u0002\u0002\u0002\u1193\u0003\u0002\u0002", + "\u0002\u0002\u1195\u0003\u0002\u0002\u0002\u0002\u1197\u0003\u0002\u0002", + "\u0002\u0002\u1199\u0003\u0002\u0002\u0002\u0002\u119b\u0003\u0002\u0002", + "\u0002\u0002\u119d\u0003\u0002\u0002\u0002\u0002\u119f\u0003\u0002\u0002", + "\u0002\u0002\u11a1\u0003\u0002\u0002\u0002\u0002\u11a3\u0003\u0002\u0002", + "\u0002\u0002\u11a5\u0003\u0002\u0002\u0002\u0002\u11a7\u0003\u0002\u0002", + "\u0002\u0002\u11a9\u0003\u0002\u0002\u0002\u0002\u11ab\u0003\u0002\u0002", + "\u0002\u0002\u11ad\u0003\u0002\u0002\u0002\u0003\u11bb\u0003\u0002\u0002", + "\u0002\u0005\u11c1\u0003\u0002\u0002\u0002\u0007\u11c5\u0003\u0002\u0002", + "\u0002\t\u11cc\u0003\u0002\u0002\u0002\u000b\u11d5\u0003\u0002\u0002", + "\u0002\r\u11dd\u0003\u0002\u0002\u0002\u000f\u11e1\u0003\u0002\u0002", + "\u0002\u0011\u11e6\u0003\u0002\u0002\u0002\u0013\u11ed\u0003\u0002\u0002", + "\u0002\u0015\u11f5\u0003\u0002\u0002\u0002\u0017\u11fe\u0003\u0002\u0002", + "\u0002\u0019\u1205\u0003\u0002\u0002\u0002\u001b\u1216\u0003\u0002\u0002", + "\u0002\u001d\u1222\u0003\u0002\u0002\u0002\u001f\u1232\u0003\u0002\u0002", + "\u0002!\u123d\u0003\u0002\u0002\u0002#\u1246\u0003\u0002\u0002\u0002", + "%\u1254\u0003\u0002\u0002\u0002\'\u1258\u0003\u0002\u0002\u0002)\u1263", + "\u0003\u0002\u0002\u0002+\u126d\u0003\u0002\u0002\u0002-\u1278\u0003", + "\u0002\u0002\u0002/\u1281\u0003\u0002\u0002\u00021\u1287\u0003\u0002", + "\u0002\u00023\u1292\u0003\u0002\u0002\u00025\u12a0\u0003\u0002\u0002", + "\u00027\u12a9\u0003\u0002\u0002\u00029\u12b0\u0003\u0002\u0002\u0002", + ";\u12b8\u0003\u0002\u0002\u0002=\u12c7\u0003\u0002\u0002\u0002?\u12cd", + "\u0003\u0002\u0002\u0002A\u12d3\u0003\u0002\u0002\u0002C\u12dd\u0003", + "\u0002\u0002\u0002E\u12df\u0003\u0002\u0002\u0002G\u12e5\u0003\u0002", + "\u0002\u0002I\u12e9\u0003\u0002\u0002\u0002K\u12f2\u0003\u0002\u0002", + "\u0002M\u12f8\u0003\u0002\u0002\u0002O\u1301\u0003\u0002\u0002\u0002", + "Q\u1307\u0003\u0002\u0002\u0002S\u130e\u0003\u0002\u0002\u0002U\u1316", + "\u0003\u0002\u0002\u0002W\u1320\u0003\u0002\u0002\u0002Y\u1324\u0003", + "\u0002\u0002\u0002[\u132e\u0003\u0002\u0002\u0002]\u1336\u0003\u0002", + "\u0002\u0002_\u1342\u0003\u0002\u0002\u0002a\u134b\u0003\u0002\u0002", + "\u0002c\u134f\u0003\u0002\u0002\u0002e\u1359\u0003\u0002\u0002\u0002", + "g\u1360\u0003\u0002\u0002\u0002i\u136f\u0003\u0002\u0002\u0002k\u137d", + "\u0003\u0002\u0002\u0002m\u1389\u0003\u0002\u0002\u0002o\u138f\u0003", + "\u0002\u0002\u0002q\u13a5\u0003\u0002\u0002\u0002s\u13ae\u0003\u0002", + "\u0002\u0002u\u13b6\u0003\u0002\u0002\u0002w\u13bf\u0003\u0002\u0002", + "\u0002y\u13ca\u0003\u0002\u0002\u0002{\u13d0\u0003\u0002\u0002\u0002", + "}\u13d3\u0003\u0002\u0002\u0002\u007f\u13d7\u0003\u0002\u0002\u0002", + "\u0081\u13dd\u0003\u0002\u0002\u0002\u0083\u13e6\u0003\u0002\u0002\u0002", + "\u0085\u13eb\u0003\u0002\u0002\u0002\u0087\u13f0\u0003\u0002\u0002\u0002", + "\u0089\u13f9\u0003\u0002\u0002\u0002\u008b\u1400\u0003\u0002\u0002\u0002", + "\u008d\u140a\u0003\u0002\u0002\u0002\u008f\u1410\u0003\u0002\u0002\u0002", + "\u0091\u141d\u0003\u0002\u0002\u0002\u0093\u1423\u0003\u0002\u0002\u0002", + "\u0095\u1428\u0003\u0002\u0002\u0002\u0097\u142b\u0003\u0002\u0002\u0002", + "\u0099\u1435\u0003\u0002\u0002\u0002\u009b\u1440\u0003\u0002\u0002\u0002", + "\u009d\u1446\u0003\u0002\u0002\u0002\u009f\u1454\u0003\u0002\u0002\u0002", + "\u00a1\u1463\u0003\u0002\u0002\u0002\u00a3\u146a\u0003\u0002\u0002\u0002", + "\u00a5\u1478\u0003\u0002\u0002\u0002\u00a7\u1485\u0003\u0002\u0002\u0002", + "\u00a9\u148a\u0003\u0002\u0002\u0002\u00ab\u1495\u0003\u0002\u0002\u0002", + "\u00ad\u14a0\u0003\u0002\u0002\u0002\u00af\u14ab\u0003\u0002\u0002\u0002", + "\u00b1\u14b5\u0003\u0002\u0002\u0002\u00b3\u14cc\u0003\u0002\u0002\u0002", + "\u00b5\u14dc\u0003\u0002\u0002\u0002\u00b7\u14e9\u0003\u0002\u0002\u0002", + "\u00b9\u14ee\u0003\u0002\u0002\u0002\u00bb\u14f9\u0003\u0002\u0002\u0002", + "\u00bd\u1500\u0003\u0002\u0002\u0002\u00bf\u150a\u0003\u0002\u0002\u0002", + "\u00c1\u1510\u0003\u0002\u0002\u0002\u00c3\u151a\u0003\u0002\u0002\u0002", + "\u00c5\u1520\u0003\u0002\u0002\u0002\u00c7\u152a\u0003\u0002\u0002\u0002", + "\u00c9\u1546\u0003\u0002\u0002\u0002\u00cb\u154d\u0003\u0002\u0002\u0002", + "\u00cd\u1554\u0003\u0002\u0002\u0002\u00cf\u155a\u0003\u0002\u0002\u0002", + "\u00d1\u1564\u0003\u0002\u0002\u0002\u00d3\u1577\u0003\u0002\u0002\u0002", + "\u00d5\u157e\u0003\u0002\u0002\u0002\u00d7\u1587\u0003\u0002\u0002\u0002", + "\u00d9\u158f\u0003\u0002\u0002\u0002\u00db\u1595\u0003\u0002\u0002\u0002", + "\u00dd\u159f\u0003\u0002\u0002\u0002\u00df\u15a7\u0003\u0002\u0002\u0002", + "\u00e1\u15ae\u0003\u0002\u0002\u0002\u00e3\u15bc\u0003\u0002\u0002\u0002", + "\u00e5\u15d3\u0003\u0002\u0002\u0002\u00e7\u15e5\u0003\u0002\u0002\u0002", + "\u00e9\u15f2\u0003\u0002\u0002\u0002\u00eb\u1608\u0003\u0002\u0002\u0002", + "\u00ed\u1619\u0003\u0002\u0002\u0002\u00ef\u1628\u0003\u0002\u0002\u0002", + "\u00f1\u1633\u0003\u0002\u0002\u0002\u00f3\u163b\u0003\u0002\u0002\u0002", + "\u00f5\u1646\u0003\u0002\u0002\u0002\u00f7\u164d\u0003\u0002\u0002\u0002", + "\u00f9\u1658\u0003\u0002\u0002\u0002\u00fb\u165f\u0003\u0002\u0002\u0002", + "\u00fd\u1667\u0003\u0002\u0002\u0002\u00ff\u1673\u0003\u0002\u0002\u0002", + "\u0101\u1678\u0003\u0002\u0002\u0002\u0103\u167d\u0003\u0002\u0002\u0002", + "\u0105\u1683\u0003\u0002\u0002\u0002\u0107\u168f\u0003\u0002\u0002\u0002", + "\u0109\u1696\u0003\u0002\u0002\u0002\u010b\u16a0\u0003\u0002\u0002\u0002", + "\u010d\u16a5\u0003\u0002\u0002\u0002\u010f\u16ad\u0003\u0002\u0002\u0002", + "\u0111\u16b2\u0003\u0002\u0002\u0002\u0113\u16b8\u0003\u0002\u0002\u0002", + "\u0115\u16bf\u0003\u0002\u0002\u0002\u0117\u16c7\u0003\u0002\u0002\u0002", + "\u0119\u16d1\u0003\u0002\u0002\u0002\u011b\u16d6\u0003\u0002\u0002\u0002", + "\u011d\u16dd\u0003\u0002\u0002\u0002\u011f\u16ea\u0003\u0002\u0002\u0002", + "\u0121\u16f6\u0003\u0002\u0002\u0002\u0123\u16fc\u0003\u0002\u0002\u0002", + "\u0125\u1701\u0003\u0002\u0002\u0002\u0127\u1704\u0003\u0002\u0002\u0002", + "\u0129\u171b\u0003\u0002\u0002\u0002\u012b\u1727\u0003\u0002\u0002\u0002", + "\u012d\u172c\u0003\u0002\u0002\u0002\u012f\u1732\u0003\u0002\u0002\u0002", + "\u0131\u173b\u0003\u0002\u0002\u0002\u0133\u174b\u0003\u0002\u0002\u0002", + "\u0135\u175c\u0003\u0002\u0002\u0002\u0137\u1764\u0003\u0002\u0002\u0002", + "\u0139\u176f\u0003\u0002\u0002\u0002\u013b\u1778\u0003\u0002\u0002\u0002", + "\u013d\u177d\u0003\u0002\u0002\u0002\u013f\u1784\u0003\u0002\u0002\u0002", + "\u0141\u178e\u0003\u0002\u0002\u0002\u0143\u1797\u0003\u0002\u0002\u0002", + "\u0145\u17a3\u0003\u0002\u0002\u0002\u0147\u17ab\u0003\u0002\u0002\u0002", + "\u0149\u17b0\u0003\u0002\u0002\u0002\u014b\u17b5\u0003\u0002\u0002\u0002", + "\u014d\u17be\u0003\u0002\u0002\u0002\u014f\u17ca\u0003\u0002\u0002\u0002", + "\u0151\u17cf\u0003\u0002\u0002\u0002\u0153\u17e0\u0003\u0002\u0002\u0002", + "\u0155\u17ec\u0003\u0002\u0002\u0002\u0157\u17f2\u0003\u0002\u0002\u0002", + "\u0159\u17fa\u0003\u0002\u0002\u0002\u015b\u1801\u0003\u0002\u0002\u0002", + "\u015d\u1810\u0003\u0002\u0002\u0002\u015f\u182a\u0003\u0002\u0002\u0002", + "\u0161\u1834\u0003\u0002\u0002\u0002\u0163\u1839\u0003\u0002\u0002\u0002", + "\u0165\u1841\u0003\u0002\u0002\u0002\u0167\u184d\u0003\u0002\u0002\u0002", + "\u0169\u185f\u0003\u0002\u0002\u0002\u016b\u1865\u0003\u0002\u0002\u0002", + "\u016d\u1870\u0003\u0002\u0002\u0002\u016f\u1876\u0003\u0002\u0002\u0002", + "\u0171\u187d\u0003\u0002\u0002\u0002\u0173\u1881\u0003\u0002\u0002\u0002", + "\u0175\u1887\u0003\u0002\u0002\u0002\u0177\u188d\u0003\u0002\u0002\u0002", + "\u0179\u1898\u0003\u0002\u0002\u0002\u017b\u18a0\u0003\u0002\u0002\u0002", + "\u017d\u18a6\u0003\u0002\u0002\u0002\u017f\u18a8\u0003\u0002\u0002\u0002", + "\u0181\u18af\u0003\u0002\u0002\u0002\u0183\u18b4\u0003\u0002\u0002\u0002", + "\u0185\u18ba\u0003\u0002\u0002\u0002\u0187\u18d4\u0003\u0002\u0002\u0002", + "\u0189\u18da\u0003\u0002\u0002\u0002\u018b\u18eb\u0003\u0002\u0002\u0002", + "\u018d\u18f3\u0003\u0002\u0002\u0002\u018f\u1903\u0003\u0002\u0002\u0002", + "\u0191\u1914\u0003\u0002\u0002\u0002\u0193\u191f\u0003\u0002\u0002\u0002", + "\u0195\u192a\u0003\u0002\u0002\u0002\u0197\u193c\u0003\u0002\u0002\u0002", + "\u0199\u1950\u0003\u0002\u0002\u0002\u019b\u195c\u0003\u0002\u0002\u0002", + "\u019d\u1965\u0003\u0002\u0002\u0002\u019f\u1971\u0003\u0002\u0002\u0002", + "\u01a1\u1978\u0003\u0002\u0002\u0002\u01a3\u1984\u0003\u0002\u0002\u0002", + "\u01a5\u1989\u0003\u0002\u0002\u0002\u01a7\u1991\u0003\u0002\u0002\u0002", + "\u01a9\u199a\u0003\u0002\u0002\u0002\u01ab\u19b0\u0003\u0002\u0002\u0002", + "\u01ad\u19b7\u0003\u0002\u0002\u0002\u01af\u19bf\u0003\u0002\u0002\u0002", + "\u01b1\u19cc\u0003\u0002\u0002\u0002\u01b3\u19d9\u0003\u0002\u0002\u0002", + "\u01b5\u19e1\u0003\u0002\u0002\u0002\u01b7\u19e8\u0003\u0002\u0002\u0002", + "\u01b9\u19f2\u0003\u0002\u0002\u0002\u01bb\u19fe\u0003\u0002\u0002\u0002", + "\u01bd\u1a06\u0003\u0002\u0002\u0002\u01bf\u1a14\u0003\u0002\u0002\u0002", + "\u01c1\u1a1c\u0003\u0002\u0002\u0002\u01c3\u1a25\u0003\u0002\u0002\u0002", + "\u01c5\u1a30\u0003\u0002\u0002\u0002\u01c7\u1a3a\u0003\u0002\u0002\u0002", + "\u01c9\u1a45\u0003\u0002\u0002\u0002\u01cb\u1a4d\u0003\u0002\u0002\u0002", + "\u01cd\u1a57\u0003\u0002\u0002\u0002\u01cf\u1a67\u0003\u0002\u0002\u0002", + "\u01d1\u1a70\u0003\u0002\u0002\u0002\u01d3\u1a79\u0003\u0002\u0002\u0002", + "\u01d5\u1a81\u0003\u0002\u0002\u0002\u01d7\u1a88\u0003\u0002\u0002\u0002", + "\u01d9\u1a97\u0003\u0002\u0002\u0002\u01db\u1aa3\u0003\u0002\u0002\u0002", + "\u01dd\u1aad\u0003\u0002\u0002\u0002\u01df\u1ab5\u0003\u0002\u0002\u0002", + "\u01e1\u1ac0\u0003\u0002\u0002\u0002\u01e3\u1acf\u0003\u0002\u0002\u0002", + "\u01e5\u1ad6\u0003\u0002\u0002\u0002\u01e7\u1ae5\u0003\u0002\u0002\u0002", + "\u01e9\u1afc\u0003\u0002\u0002\u0002\u01eb\u1b12\u0003\u0002\u0002\u0002", + "\u01ed\u1b28\u0003\u0002\u0002\u0002\u01ef\u1b3d\u0003\u0002\u0002\u0002", + "\u01f1\u1b52\u0003\u0002\u0002\u0002\u01f3\u1b65\u0003\u0002\u0002\u0002", + "\u01f5\u1b77\u0003\u0002\u0002\u0002\u01f7\u1b87\u0003\u0002\u0002\u0002", + "\u01f9\u1b8f\u0003\u0002\u0002\u0002\u01fb\u1b9c\u0003\u0002\u0002\u0002", + "\u01fd\u1ba5\u0003\u0002\u0002\u0002\u01ff\u1bb0\u0003\u0002\u0002\u0002", + "\u0201\u1bb9\u0003\u0002\u0002\u0002\u0203\u1bbf\u0003\u0002\u0002\u0002", + "\u0205\u1bca\u0003\u0002\u0002\u0002\u0207\u1bd6\u0003\u0002\u0002\u0002", + "\u0209\u1be2\u0003\u0002\u0002\u0002\u020b\u1bec\u0003\u0002\u0002\u0002", + "\u020d\u1bfb\u0003\u0002\u0002\u0002\u020f\u1c06\u0003\u0002\u0002\u0002", + "\u0211\u1c0e\u0003\u0002\u0002\u0002\u0213\u1c17\u0003\u0002\u0002\u0002", + "\u0215\u1c1f\u0003\u0002\u0002\u0002\u0217\u1c28\u0003\u0002\u0002\u0002", + "\u0219\u1c34\u0003\u0002\u0002\u0002\u021b\u1c42\u0003\u0002\u0002\u0002", + "\u021d\u1c4a\u0003\u0002\u0002\u0002\u021f\u1c51\u0003\u0002\u0002\u0002", + "\u0221\u1c56\u0003\u0002\u0002\u0002\u0223\u1c5d\u0003\u0002\u0002\u0002", + "\u0225\u1c64\u0003\u0002\u0002\u0002\u0227\u1c6f\u0003\u0002\u0002\u0002", + "\u0229\u1c7f\u0003\u0002\u0002\u0002\u022b\u1c8b\u0003\u0002\u0002\u0002", + "\u022d\u1c8f\u0003\u0002\u0002\u0002\u022f\u1c94\u0003\u0002\u0002\u0002", + "\u0231\u1c99\u0003\u0002\u0002\u0002\u0233\u1cb0\u0003\u0002\u0002\u0002", + "\u0235\u1cb6\u0003\u0002\u0002\u0002\u0237\u1cc0\u0003\u0002\u0002\u0002", + "\u0239\u1ccb\u0003\u0002\u0002\u0002\u023b\u1cd7\u0003\u0002\u0002\u0002", + "\u023d\u1ce4\u0003\u0002\u0002\u0002\u023f\u1cf4\u0003\u0002\u0002\u0002", + "\u0241\u1cfa\u0003\u0002\u0002\u0002\u0243\u1d01\u0003\u0002\u0002\u0002", + "\u0245\u1d12\u0003\u0002\u0002\u0002\u0247\u1d29\u0003\u0002\u0002\u0002", + "\u0249\u1d32\u0003\u0002\u0002\u0002\u024b\u1d3d\u0003\u0002\u0002\u0002", + "\u024d\u1d46\u0003\u0002\u0002\u0002\u024f\u1d4c\u0003\u0002\u0002\u0002", + "\u0251\u1d59\u0003\u0002\u0002\u0002\u0253\u1d63\u0003\u0002\u0002\u0002", + "\u0255\u1d6b\u0003\u0002\u0002\u0002\u0257\u1d70\u0003\u0002\u0002\u0002", + "\u0259\u1d78\u0003\u0002\u0002\u0002\u025b\u1d80\u0003\u0002\u0002\u0002", + "\u025d\u1d8b\u0003\u0002\u0002\u0002\u025f\u1d93\u0003\u0002\u0002\u0002", + "\u0261\u1da0\u0003\u0002\u0002\u0002\u0263\u1daf\u0003\u0002\u0002\u0002", + "\u0265\u1dbc\u0003\u0002\u0002\u0002\u0267\u1dce\u0003\u0002\u0002\u0002", + "\u0269\u1ddb\u0003\u0002\u0002\u0002\u026b\u1de4\u0003\u0002\u0002\u0002", + "\u026d\u1deb\u0003\u0002\u0002\u0002\u026f\u1e00\u0003\u0002\u0002\u0002", + "\u0271\u1e18\u0003\u0002\u0002\u0002\u0273\u1e24\u0003\u0002\u0002\u0002", + "\u0275\u1e27\u0003\u0002\u0002\u0002\u0277\u1e2d\u0003\u0002\u0002\u0002", + "\u0279\u1e36\u0003\u0002\u0002\u0002\u027b\u1e3f\u0003\u0002\u0002\u0002", + "\u027d\u1e44\u0003\u0002\u0002\u0002\u027f\u1e4d\u0003\u0002\u0002\u0002", + "\u0281\u1e57\u0003\u0002\u0002\u0002\u0283\u1e67\u0003\u0002\u0002\u0002", + "\u0285\u1e74\u0003\u0002\u0002\u0002\u0287\u1e7e\u0003\u0002\u0002\u0002", + "\u0289\u1e97\u0003\u0002\u0002\u0002\u028b\u1eac\u0003\u0002\u0002\u0002", + "\u028d\u1eb5\u0003\u0002\u0002\u0002\u028f\u1ed1\u0003\u0002\u0002\u0002", + "\u0291\u1ed6\u0003\u0002\u0002\u0002\u0293\u1ee0\u0003\u0002\u0002\u0002", + "\u0295\u1ee4\u0003\u0002\u0002\u0002\u0297\u1ee9\u0003\u0002\u0002\u0002", + "\u0299\u1eed\u0003\u0002\u0002\u0002\u029b\u1efc\u0003\u0002\u0002\u0002", + "\u029d\u1f07\u0003\u0002\u0002\u0002\u029f\u1f16\u0003\u0002\u0002\u0002", + "\u02a1\u1f21\u0003\u0002\u0002\u0002\u02a3\u1f30\u0003\u0002\u0002\u0002", + "\u02a5\u1f3b\u0003\u0002\u0002\u0002\u02a7\u1f3f\u0003\u0002\u0002\u0002", + "\u02a9\u1f4a\u0003\u0002\u0002\u0002\u02ab\u1f50\u0003\u0002\u0002\u0002", + "\u02ad\u1f59\u0003\u0002\u0002\u0002\u02af\u1f5d\u0003\u0002\u0002\u0002", + "\u02b1\u1f65\u0003\u0002\u0002\u0002\u02b3\u1f6d\u0003\u0002\u0002\u0002", + "\u02b5\u1f77\u0003\u0002\u0002\u0002\u02b7\u1f83\u0003\u0002\u0002\u0002", + "\u02b9\u1f88\u0003\u0002\u0002\u0002\u02bb\u1f92\u0003\u0002\u0002\u0002", + "\u02bd\u1f9a\u0003\u0002\u0002\u0002\u02bf\u1fa6\u0003\u0002\u0002\u0002", + "\u02c1\u1fae\u0003\u0002\u0002\u0002\u02c3\u1fb7\u0003\u0002\u0002\u0002", + "\u02c5\u1fc2\u0003\u0002\u0002\u0002\u02c7\u1fcb\u0003\u0002\u0002\u0002", + "\u02c9\u1fd3\u0003\u0002\u0002\u0002\u02cb\u1fda\u0003\u0002\u0002\u0002", + "\u02cd\u1fe2\u0003\u0002\u0002\u0002\u02cf\u1fe9\u0003\u0002\u0002\u0002", + "\u02d1\u1fef\u0003\u0002\u0002\u0002\u02d3\u1ff8\u0003\u0002\u0002\u0002", + "\u02d5\u2003\u0003\u0002\u0002\u0002\u02d7\u200a\u0003\u0002\u0002\u0002", + "\u02d9\u2014\u0003\u0002\u0002\u0002\u02db\u201b\u0003\u0002\u0002\u0002", + "\u02dd\u2027\u0003\u0002\u0002\u0002\u02df\u2031\u0003\u0002\u0002\u0002", + "\u02e1\u2037\u0003\u0002\u0002\u0002\u02e3\u203f\u0003\u0002\u0002\u0002", + "\u02e5\u2045\u0003\u0002\u0002\u0002\u02e7\u2056\u0003\u0002\u0002\u0002", + "\u02e9\u205b\u0003\u0002\u0002\u0002\u02eb\u2063\u0003\u0002\u0002\u0002", + "\u02ed\u206c\u0003\u0002\u0002\u0002\u02ef\u2077\u0003\u0002\u0002\u0002", + "\u02f1\u2085\u0003\u0002\u0002\u0002\u02f3\u2090\u0003\u0002\u0002\u0002", + "\u02f5\u209a\u0003\u0002\u0002\u0002\u02f7\u20a5\u0003\u0002\u0002\u0002", + "\u02f9\u20b1\u0003\u0002\u0002\u0002\u02fb\u20bb\u0003\u0002\u0002\u0002", + "\u02fd\u20c7\u0003\u0002\u0002\u0002\u02ff\u20d3\u0003\u0002\u0002\u0002", + "\u0301\u20db\u0003\u0002\u0002\u0002\u0303\u20f0\u0003\u0002\u0002\u0002", + "\u0305\u20ff\u0003\u0002\u0002\u0002\u0307\u210c\u0003\u0002\u0002\u0002", + "\u0309\u2115\u0003\u0002\u0002\u0002\u030b\u2122\u0003\u0002\u0002\u0002", + "\u030d\u212a\u0003\u0002\u0002\u0002\u030f\u2135\u0003\u0002\u0002\u0002", + "\u0311\u213a\u0003\u0002\u0002\u0002\u0313\u2144\u0003\u0002\u0002\u0002", + "\u0315\u2151\u0003\u0002\u0002\u0002\u0317\u2157\u0003\u0002\u0002\u0002", + "\u0319\u2160\u0003\u0002\u0002\u0002\u031b\u2169\u0003\u0002\u0002\u0002", + "\u031d\u2177\u0003\u0002\u0002\u0002\u031f\u2183\u0003\u0002\u0002\u0002", + "\u0321\u218e\u0003\u0002\u0002\u0002\u0323\u2192\u0003\u0002\u0002\u0002", + "\u0325\u219d\u0003\u0002\u0002\u0002\u0327\u21a9\u0003\u0002\u0002\u0002", + "\u0329\u21b2\u0003\u0002\u0002\u0002\u032b\u21c6\u0003\u0002\u0002\u0002", + "\u032d\u21db\u0003\u0002\u0002\u0002\u032f\u21ed\u0003\u0002\u0002\u0002", + "\u0331\u21f4\u0003\u0002\u0002\u0002\u0333\u21fe\u0003\u0002\u0002\u0002", + "\u0335\u220b\u0003\u0002\u0002\u0002\u0337\u2217\u0003\u0002\u0002\u0002", + "\u0339\u221c\u0003\u0002\u0002\u0002\u033b\u2227\u0003\u0002\u0002\u0002", + "\u033d\u2240\u0003\u0002\u0002\u0002\u033f\u2258\u0003\u0002\u0002\u0002", + "\u0341\u225d\u0003\u0002\u0002\u0002\u0343\u2265\u0003\u0002\u0002\u0002", + "\u0345\u226f\u0003\u0002\u0002\u0002\u0347\u2272\u0003\u0002\u0002\u0002", + "\u0349\u227a\u0003\u0002\u0002\u0002\u034b\u228b\u0003\u0002\u0002\u0002", + "\u034d\u22a4\u0003\u0002\u0002\u0002\u034f\u22a9\u0003\u0002\u0002\u0002", + "\u0351\u22b5\u0003\u0002\u0002\u0002\u0353\u22bd\u0003\u0002\u0002\u0002", + "\u0355\u22c8\u0003\u0002\u0002\u0002\u0357\u22d1\u0003\u0002\u0002\u0002", + "\u0359\u22d9\u0003\u0002\u0002\u0002\u035b\u22e6\u0003\u0002\u0002\u0002", + "\u035d\u22f5\u0003\u0002\u0002\u0002\u035f\u2303\u0003\u0002\u0002\u0002", + "\u0361\u2318\u0003\u0002\u0002\u0002\u0363\u231d\u0003\u0002\u0002\u0002", + "\u0365\u2323\u0003\u0002\u0002\u0002\u0367\u2326\u0003\u0002\u0002\u0002", + "\u0369\u2331\u0003\u0002\u0002\u0002\u036b\u233c\u0003\u0002\u0002\u0002", + "\u036d\u2342\u0003\u0002\u0002\u0002\u036f\u234d\u0003\u0002\u0002\u0002", + "\u0371\u2354\u0003\u0002\u0002\u0002\u0373\u2368\u0003\u0002\u0002\u0002", + "\u0375\u2376\u0003\u0002\u0002\u0002\u0377\u237f\u0003\u0002\u0002\u0002", + "\u0379\u2387\u0003\u0002\u0002\u0002\u037b\u2392\u0003\u0002\u0002\u0002", + "\u037d\u2396\u0003\u0002\u0002\u0002\u037f\u23a7\u0003\u0002\u0002\u0002", + "\u0381\u23b0\u0003\u0002\u0002\u0002\u0383\u23b8\u0003\u0002\u0002\u0002", + "\u0385\u23c0\u0003\u0002\u0002\u0002\u0387\u23cb\u0003\u0002\u0002\u0002", + "\u0389\u23da\u0003\u0002\u0002\u0002\u038b\u23e0\u0003\u0002\u0002\u0002", + "\u038d\u23e9\u0003\u0002\u0002\u0002\u038f\u23ed\u0003\u0002\u0002\u0002", + "\u0391\u23fc\u0003\u0002\u0002\u0002\u0393\u2402\u0003\u0002\u0002\u0002", + "\u0395\u2418\u0003\u0002\u0002\u0002\u0397\u241f\u0003\u0002\u0002\u0002", + "\u0399\u2426\u0003\u0002\u0002\u0002\u039b\u242f\u0003\u0002\u0002\u0002", + "\u039d\u2434\u0003\u0002\u0002\u0002\u039f\u243d\u0003\u0002\u0002\u0002", + "\u03a1\u2446\u0003\u0002\u0002\u0002\u03a3\u2451\u0003\u0002\u0002\u0002", + "\u03a5\u2458\u0003\u0002\u0002\u0002\u03a7\u245e\u0003\u0002\u0002\u0002", + "\u03a9\u2465\u0003\u0002\u0002\u0002\u03ab\u246f\u0003\u0002\u0002\u0002", + "\u03ad\u247e\u0003\u0002\u0002\u0002\u03af\u2489\u0003\u0002\u0002\u0002", + "\u03b1\u2492\u0003\u0002\u0002\u0002\u03b3\u249a\u0003\u0002\u0002\u0002", + "\u03b5\u24a4\u0003\u0002\u0002\u0002\u03b7\u24ae\u0003\u0002\u0002\u0002", + "\u03b9\u24b6\u0003\u0002\u0002\u0002\u03bb\u24bd\u0003\u0002\u0002\u0002", + "\u03bd\u24c6\u0003\u0002\u0002\u0002\u03bf\u24cd\u0003\u0002\u0002\u0002", + "\u03c1\u24d8\u0003\u0002\u0002\u0002\u03c3\u24dd\u0003\u0002\u0002\u0002", + "\u03c5\u24f2\u0003\u0002\u0002\u0002\u03c7\u24ff\u0003\u0002\u0002\u0002", + "\u03c9\u2503\u0003\u0002\u0002\u0002\u03cb\u250a\u0003\u0002\u0002\u0002", + "\u03cd\u2512\u0003\u0002\u0002\u0002\u03cf\u251c\u0003\u0002\u0002\u0002", + "\u03d1\u2523\u0003\u0002\u0002\u0002\u03d3\u2533\u0003\u0002\u0002\u0002", + "\u03d5\u253b\u0003\u0002\u0002\u0002\u03d7\u2543\u0003\u0002\u0002\u0002", + "\u03d9\u254a\u0003\u0002\u0002\u0002\u03db\u2552\u0003\u0002\u0002\u0002", + "\u03dd\u255b\u0003\u0002\u0002\u0002\u03df\u2566\u0003\u0002\u0002\u0002", + "\u03e1\u2575\u0003\u0002\u0002\u0002\u03e3\u257d\u0003\u0002\u0002\u0002", + "\u03e5\u258a\u0003\u0002\u0002\u0002\u03e7\u2590\u0003\u0002\u0002\u0002", + "\u03e9\u2599\u0003\u0002\u0002\u0002\u03eb\u259e\u0003\u0002\u0002\u0002", + "\u03ed\u25a5\u0003\u0002\u0002\u0002\u03ef\u25b4\u0003\u0002\u0002\u0002", + "\u03f1\u25bb\u0003\u0002\u0002\u0002\u03f3\u25d1\u0003\u0002\u0002\u0002", + "\u03f5\u25db\u0003\u0002\u0002\u0002\u03f7\u25e4\u0003\u0002\u0002\u0002", + "\u03f9\u25ec\u0003\u0002\u0002\u0002\u03fb\u25f2\u0003\u0002\u0002\u0002", + "\u03fd\u25f9\u0003\u0002\u0002\u0002\u03ff\u25fd\u0003\u0002\u0002\u0002", + "\u0401\u2602\u0003\u0002\u0002\u0002\u0403\u260c\u0003\u0002\u0002\u0002", + "\u0405\u2614\u0003\u0002\u0002\u0002\u0407\u2624\u0003\u0002\u0002\u0002", + "\u0409\u262f\u0003\u0002\u0002\u0002\u040b\u263b\u0003\u0002\u0002\u0002", + "\u040d\u2649\u0003\u0002\u0002\u0002\u040f\u264f\u0003\u0002\u0002\u0002", + "\u0411\u2654\u0003\u0002\u0002\u0002\u0413\u2666\u0003\u0002\u0002\u0002", + "\u0415\u267e\u0003\u0002\u0002\u0002\u0417\u2685\u0003\u0002\u0002\u0002", + "\u0419\u268b\u0003\u0002\u0002\u0002\u041b\u2690\u0003\u0002\u0002\u0002", + "\u041d\u2697\u0003\u0002\u0002\u0002\u041f\u269d\u0003\u0002\u0002\u0002", + "\u0421\u26a4\u0003\u0002\u0002\u0002\u0423\u26af\u0003\u0002\u0002\u0002", + "\u0425\u26bb\u0003\u0002\u0002\u0002\u0427\u26cb\u0003\u0002\u0002\u0002", + "\u0429\u26d3\u0003\u0002\u0002\u0002\u042b\u26dd\u0003\u0002\u0002\u0002", + "\u042d\u26e9\u0003\u0002\u0002\u0002\u042f\u26ef\u0003\u0002\u0002\u0002", + "\u0431\u26f4\u0003\u0002\u0002\u0002\u0433\u26fa\u0003\u0002\u0002\u0002", + "\u0435\u2700\u0003\u0002\u0002\u0002\u0437\u2707\u0003\u0002\u0002\u0002", + "\u0439\u2711\u0003\u0002\u0002\u0002\u043b\u2719\u0003\u0002\u0002\u0002", + "\u043d\u2720\u0003\u0002\u0002\u0002\u043f\u2726\u0003\u0002\u0002\u0002", + "\u0441\u273e\u0003\u0002\u0002\u0002\u0443\u2746\u0003\u0002\u0002\u0002", + "\u0445\u274e\u0003\u0002\u0002\u0002\u0447\u2752\u0003\u0002\u0002\u0002", + "\u0449\u2759\u0003\u0002\u0002\u0002\u044b\u2761\u0003\u0002\u0002\u0002", + "\u044d\u2771\u0003\u0002\u0002\u0002\u044f\u277a\u0003\u0002\u0002\u0002", + "\u0451\u2784\u0003\u0002\u0002\u0002\u0453\u278e\u0003\u0002\u0002\u0002", + "\u0455\u2794\u0003\u0002\u0002\u0002\u0457\u2799\u0003\u0002\u0002\u0002", + "\u0459\u27a1\u0003\u0002\u0002\u0002\u045b\u27a6\u0003\u0002\u0002\u0002", + "\u045d\u27bf\u0003\u0002\u0002\u0002\u045f\u27c8\u0003\u0002\u0002\u0002", + "\u0461\u27d2\u0003\u0002\u0002\u0002\u0463\u27ee\u0003\u0002\u0002\u0002", + "\u0465\u2805\u0003\u0002\u0002\u0002\u0467\u2815\u0003\u0002\u0002\u0002", + "\u0469\u2822\u0003\u0002\u0002\u0002\u046b\u282c\u0003\u0002\u0002\u0002", + "\u046d\u2830\u0003\u0002\u0002\u0002\u046f\u2837\u0003\u0002\u0002\u0002", + "\u0471\u2840\u0003\u0002\u0002\u0002\u0473\u284c\u0003\u0002\u0002\u0002", + "\u0475\u2861\u0003\u0002\u0002\u0002\u0477\u2866\u0003\u0002\u0002\u0002", + "\u0479\u286c\u0003\u0002\u0002\u0002\u047b\u2875\u0003\u0002\u0002\u0002", + "\u047d\u287b\u0003\u0002\u0002\u0002\u047f\u2884\u0003\u0002\u0002\u0002", + "\u0481\u288d\u0003\u0002\u0002\u0002\u0483\u2899\u0003\u0002\u0002\u0002", + "\u0485\u28a0\u0003\u0002\u0002\u0002\u0487\u28ab\u0003\u0002\u0002\u0002", + "\u0489\u28b5\u0003\u0002\u0002\u0002\u048b\u28bb\u0003\u0002\u0002\u0002", + "\u048d\u28c3\u0003\u0002\u0002\u0002\u048f\u28c8\u0003\u0002\u0002\u0002", + "\u0491\u28d1\u0003\u0002\u0002\u0002\u0493\u28d9\u0003\u0002\u0002\u0002", + "\u0495\u28e0\u0003\u0002\u0002\u0002\u0497\u28e7\u0003\u0002\u0002\u0002", + "\u0499\u28ec\u0003\u0002\u0002\u0002\u049b\u28f1\u0003\u0002\u0002\u0002", + "\u049d\u28fa\u0003\u0002\u0002\u0002\u049f\u2903\u0003\u0002\u0002\u0002", + "\u04a1\u290a\u0003\u0002\u0002\u0002\u04a3\u290f\u0003\u0002\u0002\u0002", + "\u04a5\u2919\u0003\u0002\u0002\u0002\u04a7\u291e\u0003\u0002\u0002\u0002", + "\u04a9\u292c\u0003\u0002\u0002\u0002\u04ab\u2938\u0003\u0002\u0002\u0002", + "\u04ad\u293c\u0003\u0002\u0002\u0002\u04af\u2941\u0003\u0002\u0002\u0002", + "\u04b1\u294e\u0003\u0002\u0002\u0002\u04b3\u2955\u0003\u0002\u0002\u0002", + "\u04b5\u2960\u0003\u0002\u0002\u0002\u04b7\u296b\u0003\u0002\u0002\u0002", + "\u04b9\u2974\u0003\u0002\u0002\u0002\u04bb\u2981\u0003\u0002\u0002\u0002", + "\u04bd\u2984\u0003\u0002\u0002\u0002\u04bf\u298e\u0003\u0002\u0002\u0002", + "\u04c1\u2991\u0003\u0002\u0002\u0002\u04c3\u2998\u0003\u0002\u0002\u0002", + "\u04c5\u29b4\u0003\u0002\u0002\u0002\u04c7\u29cf\u0003\u0002\u0002\u0002", + "\u04c9\u29e3\u0003\u0002\u0002\u0002\u04cb\u29e7\u0003\u0002\u0002\u0002", + "\u04cd\u29f1\u0003\u0002\u0002\u0002\u04cf\u29f8\u0003\u0002\u0002\u0002", + "\u04d1\u29ff\u0003\u0002\u0002\u0002\u04d3\u2a08\u0003\u0002\u0002\u0002", + "\u04d5\u2a10\u0003\u0002\u0002\u0002\u04d7\u2a20\u0003\u0002\u0002\u0002", + "\u04d9\u2a2a\u0003\u0002\u0002\u0002\u04db\u2a36\u0003\u0002\u0002\u0002", + "\u04dd\u2a40\u0003\u0002\u0002\u0002\u04df\u2a45\u0003\u0002\u0002\u0002", + "\u04e1\u2a4c\u0003\u0002\u0002\u0002\u04e3\u2a56\u0003\u0002\u0002\u0002", + "\u04e5\u2a64\u0003\u0002\u0002\u0002\u04e7\u2a6f\u0003\u0002\u0002\u0002", + "\u04e9\u2a77\u0003\u0002\u0002\u0002\u04eb\u2a7f\u0003\u0002\u0002\u0002", + "\u04ed\u2a89\u0003\u0002\u0002\u0002\u04ef\u2a96\u0003\u0002\u0002\u0002", + "\u04f1\u2a9c\u0003\u0002\u0002\u0002\u04f3\u2aa5\u0003\u0002\u0002\u0002", + "\u04f5\u2ab0\u0003\u0002\u0002\u0002\u04f7\u2abb\u0003\u0002\u0002\u0002", + "\u04f9\u2ac5\u0003\u0002\u0002\u0002\u04fb\u2ad2\u0003\u0002\u0002\u0002", + "\u04fd\u2ae0\u0003\u0002\u0002\u0002\u04ff\u2ae9\u0003\u0002\u0002\u0002", + "\u0501\u2af4\u0003\u0002\u0002\u0002\u0503\u2b04\u0003\u0002\u0002\u0002", + "\u0505\u2b11\u0003\u0002\u0002\u0002\u0507\u2b1f\u0003\u0002\u0002\u0002", + "\u0509\u2b28\u0003\u0002\u0002\u0002\u050b\u2b34\u0003\u0002\u0002\u0002", + "\u050d\u2b3e\u0003\u0002\u0002\u0002\u050f\u2b49\u0003\u0002\u0002\u0002", + "\u0511\u2b53\u0003\u0002\u0002\u0002\u0513\u2b5b\u0003\u0002\u0002\u0002", + "\u0515\u2b64\u0003\u0002\u0002\u0002\u0517\u2b72\u0003\u0002\u0002\u0002", + "\u0519\u2b7a\u0003\u0002\u0002\u0002\u051b\u2b7d\u0003\u0002\u0002\u0002", + "\u051d\u2b85\u0003\u0002\u0002\u0002\u051f\u2b8d\u0003\u0002\u0002\u0002", + "\u0521\u2b99\u0003\u0002\u0002\u0002\u0523\u2ba3\u0003\u0002\u0002\u0002", + "\u0525\u2bac\u0003\u0002\u0002\u0002\u0527\u2bb3\u0003\u0002\u0002\u0002", + "\u0529\u2bc5\u0003\u0002\u0002\u0002\u052b\u2bce\u0003\u0002\u0002\u0002", + "\u052d\u2be1\u0003\u0002\u0002\u0002\u052f\u2bf2\u0003\u0002\u0002\u0002", + "\u0531\u2bf8\u0003\u0002\u0002\u0002\u0533\u2bfe\u0003\u0002\u0002\u0002", + "\u0535\u2c06\u0003\u0002\u0002\u0002\u0537\u2c1a\u0003\u0002\u0002\u0002", + "\u0539\u2c2f\u0003\u0002\u0002\u0002\u053b\u2c3e\u0003\u0002\u0002\u0002", + "\u053d\u2c45\u0003\u0002\u0002\u0002\u053f\u2c54\u0003\u0002\u0002\u0002", + "\u0541\u2c64\u0003\u0002\u0002\u0002\u0543\u2c6d\u0003\u0002\u0002\u0002", + "\u0545\u2c77\u0003\u0002\u0002\u0002\u0547\u2c84\u0003\u0002\u0002\u0002", + "\u0549\u2c8e\u0003\u0002\u0002\u0002\u054b\u2c96\u0003\u0002\u0002\u0002", + "\u054d\u2c9d\u0003\u0002\u0002\u0002\u054f\u2ca4\u0003\u0002\u0002\u0002", + "\u0551\u2cab\u0003\u0002\u0002\u0002\u0553\u2cb2\u0003\u0002\u0002\u0002", + "\u0555\u2cb8\u0003\u0002\u0002\u0002\u0557\u2cc0\u0003\u0002\u0002\u0002", + "\u0559\u2ccc\u0003\u0002\u0002\u0002\u055b\u2cd9\u0003\u0002\u0002\u0002", + "\u055d\u2cea\u0003\u0002\u0002\u0002\u055f\u2cf7\u0003\u0002\u0002\u0002", + "\u0561\u2d03\u0003\u0002\u0002\u0002\u0563\u2d0d\u0003\u0002\u0002\u0002", + "\u0565\u2d16\u0003\u0002\u0002\u0002\u0567\u2d1a\u0003\u0002\u0002\u0002", + "\u0569\u2d1f\u0003\u0002\u0002\u0002\u056b\u2d2a\u0003\u0002\u0002\u0002", + "\u056d\u2d34\u0003\u0002\u0002\u0002\u056f\u2d3e\u0003\u0002\u0002\u0002", + "\u0571\u2d41\u0003\u0002\u0002\u0002\u0573\u2d4b\u0003\u0002\u0002\u0002", + "\u0575\u2d5b\u0003\u0002\u0002\u0002\u0577\u2d63\u0003\u0002\u0002\u0002", + "\u0579\u2d74\u0003\u0002\u0002\u0002\u057b\u2d79\u0003\u0002\u0002\u0002", + "\u057d\u2d7d\u0003\u0002\u0002\u0002\u057f\u2d82\u0003\u0002\u0002\u0002", + "\u0581\u2d90\u0003\u0002\u0002\u0002\u0583\u2d9b\u0003\u0002\u0002\u0002", + "\u0585\u2da6\u0003\u0002\u0002\u0002\u0587\u2db3\u0003\u0002\u0002\u0002", + "\u0589\u2dbf\u0003\u0002\u0002\u0002\u058b\u2dc7\u0003\u0002\u0002\u0002", + "\u058d\u2dcc\u0003\u0002\u0002\u0002\u058f\u2ddb\u0003\u0002\u0002\u0002", + "\u0591\u2de7\u0003\u0002\u0002\u0002\u0593\u2df1\u0003\u0002\u0002\u0002", + "\u0595\u2dfc\u0003\u0002\u0002\u0002\u0597\u2e0b\u0003\u0002\u0002\u0002", + "\u0599\u2e16\u0003\u0002\u0002\u0002\u059b\u2e29\u0003\u0002\u0002\u0002", + "\u059d\u2e3b\u0003\u0002\u0002\u0002\u059f\u2e46\u0003\u0002\u0002\u0002", + "\u05a1\u2e56\u0003\u0002\u0002\u0002\u05a3\u2e5b\u0003\u0002\u0002\u0002", + "\u05a5\u2e64\u0003\u0002\u0002\u0002\u05a7\u2e68\u0003\u0002\u0002\u0002", + "\u05a9\u2e73\u0003\u0002\u0002\u0002\u05ab\u2e7b\u0003\u0002\u0002\u0002", + "\u05ad\u2e80\u0003\u0002\u0002\u0002\u05af\u2e89\u0003\u0002\u0002\u0002", + "\u05b1\u2e8e\u0003\u0002\u0002\u0002\u05b3\u2e94\u0003\u0002\u0002\u0002", + "\u05b5\u2e9d\u0003\u0002\u0002\u0002\u05b7\u2ea6\u0003\u0002\u0002\u0002", + "\u05b9\u2eab\u0003\u0002\u0002\u0002\u05bb\u2eb6\u0003\u0002\u0002\u0002", + "\u05bd\u2ebe\u0003\u0002\u0002\u0002\u05bf\u2ec2\u0003\u0002\u0002\u0002", + "\u05c1\u2ec8\u0003\u0002\u0002\u0002\u05c3\u2ee2\u0003\u0002\u0002\u0002", + "\u05c5\u2ef4\u0003\u0002\u0002\u0002\u05c7\u2f0b\u0003\u0002\u0002\u0002", + "\u05c9\u2f13\u0003\u0002\u0002\u0002\u05cb\u2f18\u0003\u0002\u0002\u0002", + "\u05cd\u2f20\u0003\u0002\u0002\u0002\u05cf\u2f28\u0003\u0002\u0002\u0002", + "\u05d1\u2f30\u0003\u0002\u0002\u0002\u05d3\u2f38\u0003\u0002\u0002\u0002", + "\u05d5\u2f3f\u0003\u0002\u0002\u0002\u05d7\u2f44\u0003\u0002\u0002\u0002", + "\u05d9\u2f4a\u0003\u0002\u0002\u0002\u05db\u2f51\u0003\u0002\u0002\u0002", + "\u05dd\u2f59\u0003\u0002\u0002\u0002\u05df\u2f63\u0003\u0002\u0002\u0002", + "\u05e1\u2f68\u0003\u0002\u0002\u0002\u05e3\u2f71\u0003\u0002\u0002\u0002", + "\u05e5\u2f77\u0003\u0002\u0002\u0002\u05e7\u2f7d\u0003\u0002\u0002\u0002", + "\u05e9\u2f83\u0003\u0002\u0002\u0002\u05eb\u2f8f\u0003\u0002\u0002\u0002", + "\u05ed\u2f94\u0003\u0002\u0002\u0002\u05ef\u2f9a\u0003\u0002\u0002\u0002", + "\u05f1\u2fa1\u0003\u0002\u0002\u0002\u05f3\u2fa6\u0003\u0002\u0002\u0002", + "\u05f5\u2fab\u0003\u0002\u0002\u0002\u05f7\u2fae\u0003\u0002\u0002\u0002", + "\u05f9\u2fb4\u0003\u0002\u0002\u0002\u05fb\u2fb9\u0003\u0002\u0002\u0002", + "\u05fd\u2fbd\u0003\u0002\u0002\u0002\u05ff\u2fc4\u0003\u0002\u0002\u0002", + "\u0601\u2fc9\u0003\u0002\u0002\u0002\u0603\u2fd7\u0003\u0002\u0002\u0002", + "\u0605\u2fdd\u0003\u0002\u0002\u0002\u0607\u2fe7\u0003\u0002\u0002\u0002", + "\u0609\u2ff6\u0003\u0002\u0002\u0002\u060b\u2fff\u0003\u0002\u0002\u0002", + "\u060d\u3007\u0003\u0002\u0002\u0002\u060f\u300e\u0003\u0002\u0002\u0002", + "\u0611\u3016\u0003\u0002\u0002\u0002\u0613\u301b\u0003\u0002\u0002\u0002", + "\u0615\u3023\u0003\u0002\u0002\u0002\u0617\u302c\u0003\u0002\u0002\u0002", + "\u0619\u3034\u0003\u0002\u0002\u0002\u061b\u303c\u0003\u0002\u0002\u0002", + "\u061d\u3053\u0003\u0002\u0002\u0002\u061f\u306d\u0003\u0002\u0002\u0002", + "\u0621\u3071\u0003\u0002\u0002\u0002\u0623\u307b\u0003\u0002\u0002\u0002", + "\u0625\u3082\u0003\u0002\u0002\u0002\u0627\u3088\u0003\u0002\u0002\u0002", + "\u0629\u30a1\u0003\u0002\u0002\u0002\u062b\u30a6\u0003\u0002\u0002\u0002", + "\u062d\u30ab\u0003\u0002\u0002\u0002\u062f\u30b1\u0003\u0002\u0002\u0002", + "\u0631\u30b5\u0003\u0002\u0002\u0002\u0633\u30ba\u0003\u0002\u0002\u0002", + "\u0635\u30c0\u0003\u0002\u0002\u0002\u0637\u30c5\u0003\u0002\u0002\u0002", + "\u0639\u30ce\u0003\u0002\u0002\u0002\u063b\u30d6\u0003\u0002\u0002\u0002", + "\u063d\u30dd\u0003\u0002\u0002\u0002\u063f\u30e8\u0003\u0002\u0002\u0002", + "\u0641\u30f0\u0003\u0002\u0002\u0002\u0643\u30f7\u0003\u0002\u0002\u0002", + "\u0645\u30fb\u0003\u0002\u0002\u0002\u0647\u3103\u0003\u0002\u0002\u0002", + "\u0649\u310a\u0003\u0002\u0002\u0002\u064b\u3112\u0003\u0002\u0002\u0002", + "\u064d\u311a\u0003\u0002\u0002\u0002\u064f\u3120\u0003\u0002\u0002\u0002", + "\u0651\u312d\u0003\u0002\u0002\u0002\u0653\u313d\u0003\u0002\u0002\u0002", + "\u0655\u314a\u0003\u0002\u0002\u0002\u0657\u3156\u0003\u0002\u0002\u0002", + "\u0659\u3162\u0003\u0002\u0002\u0002\u065b\u316f\u0003\u0002\u0002\u0002", + "\u065d\u317a\u0003\u0002\u0002\u0002\u065f\u3183\u0003\u0002\u0002\u0002", + "\u0661\u3190\u0003\u0002\u0002\u0002\u0663\u319c\u0003\u0002\u0002\u0002", + "\u0665\u31aa\u0003\u0002\u0002\u0002\u0667\u31b8\u0003\u0002\u0002\u0002", + "\u0669\u31cd\u0003\u0002\u0002\u0002\u066b\u31d5\u0003\u0002\u0002\u0002", + "\u066d\u31de\u0003\u0002\u0002\u0002\u066f\u31e7\u0003\u0002\u0002\u0002", + "\u0671\u31ef\u0003\u0002\u0002\u0002\u0673\u31f8\u0003\u0002\u0002\u0002", + "\u0675\u31ff\u0003\u0002\u0002\u0002\u0677\u3206\u0003\u0002\u0002\u0002", + "\u0679\u3212\u0003\u0002\u0002\u0002\u067b\u3219\u0003\u0002\u0002\u0002", + "\u067d\u3227\u0003\u0002\u0002\u0002\u067f\u3230\u0003\u0002\u0002\u0002", + "\u0681\u323f\u0003\u0002\u0002\u0002\u0683\u3245\u0003\u0002\u0002\u0002", + "\u0685\u324e\u0003\u0002\u0002\u0002\u0687\u3257\u0003\u0002\u0002\u0002", + "\u0689\u325e\u0003\u0002\u0002\u0002\u068b\u3266\u0003\u0002\u0002\u0002", + "\u068d\u3270\u0003\u0002\u0002\u0002\u068f\u327b\u0003\u0002\u0002\u0002", + "\u0691\u3284\u0003\u0002\u0002\u0002\u0693\u328c\u0003\u0002\u0002\u0002", + "\u0695\u3293\u0003\u0002\u0002\u0002\u0697\u3299\u0003\u0002\u0002\u0002", + "\u0699\u32a4\u0003\u0002\u0002\u0002\u069b\u32ab\u0003\u0002\u0002\u0002", + "\u069d\u32b4\u0003\u0002\u0002\u0002\u069f\u32bf\u0003\u0002\u0002\u0002", + "\u06a1\u32c9\u0003\u0002\u0002\u0002\u06a3\u32d0\u0003\u0002\u0002\u0002", + "\u06a5\u32d9\u0003\u0002\u0002\u0002\u06a7\u32f0\u0003\u0002\u0002\u0002", + "\u06a9\u330c\u0003\u0002\u0002\u0002\u06ab\u3323\u0003\u0002\u0002\u0002", + "\u06ad\u3336\u0003\u0002\u0002\u0002\u06af\u333c\u0003\u0002\u0002\u0002", + "\u06b1\u3345\u0003\u0002\u0002\u0002\u06b3\u3357\u0003\u0002\u0002\u0002", + "\u06b5\u3361\u0003\u0002\u0002\u0002\u06b7\u3370\u0003\u0002\u0002\u0002", + "\u06b9\u3379\u0003\u0002\u0002\u0002\u06bb\u337e\u0003\u0002\u0002\u0002", + "\u06bd\u338b\u0003\u0002\u0002\u0002\u06bf\u339e\u0003\u0002\u0002\u0002", + "\u06c1\u33a5\u0003\u0002\u0002\u0002\u06c3\u33a9\u0003\u0002\u0002\u0002", + "\u06c5\u33b0\u0003\u0002\u0002\u0002\u06c7\u33bb\u0003\u0002\u0002\u0002", + "\u06c9\u33c3\u0003\u0002\u0002\u0002\u06cb\u33c9\u0003\u0002\u0002\u0002", + "\u06cd\u33d8\u0003\u0002\u0002\u0002\u06cf\u33df\u0003\u0002\u0002\u0002", + "\u06d1\u33e5\u0003\u0002\u0002\u0002\u06d3\u33ef\u0003\u0002\u0002\u0002", + "\u06d5\u33f8\u0003\u0002\u0002\u0002\u06d7\u33fd\u0003\u0002\u0002\u0002", + "\u06d9\u340e\u0003\u0002\u0002\u0002\u06db\u3417\u0003\u0002\u0002\u0002", + "\u06dd\u3420\u0003\u0002\u0002\u0002\u06df\u3426\u0003\u0002\u0002\u0002", + "\u06e1\u342b\u0003\u0002\u0002\u0002\u06e3\u3435\u0003\u0002\u0002\u0002", + "\u06e5\u3439\u0003\u0002\u0002\u0002\u06e7\u343f\u0003\u0002\u0002\u0002", + "\u06e9\u3448\u0003\u0002\u0002\u0002\u06eb\u345f\u0003\u0002\u0002\u0002", + "\u06ed\u3466\u0003\u0002\u0002\u0002\u06ef\u346e\u0003\u0002\u0002\u0002", + "\u06f1\u3477\u0003\u0002\u0002\u0002\u06f3\u347b\u0003\u0002\u0002\u0002", + "\u06f5\u3484\u0003\u0002\u0002\u0002\u06f7\u348a\u0003\u0002\u0002\u0002", + "\u06f9\u348f\u0003\u0002\u0002\u0002\u06fb\u3495\u0003\u0002\u0002\u0002", + "\u06fd\u349c\u0003\u0002\u0002\u0002\u06ff\u34a0\u0003\u0002\u0002\u0002", + "\u0701\u34a7\u0003\u0002\u0002\u0002\u0703\u34c0\u0003\u0002\u0002\u0002", + "\u0705\u34d6\u0003\u0002\u0002\u0002\u0707\u34e6\u0003\u0002\u0002\u0002", + "\u0709\u34fc\u0003\u0002\u0002\u0002\u070b\u3513\u0003\u0002\u0002\u0002", + "\u070d\u351b\u0003\u0002\u0002\u0002\u070f\u3521\u0003\u0002\u0002\u0002", + "\u0711\u3525\u0003\u0002\u0002\u0002\u0713\u352e\u0003\u0002\u0002\u0002", + "\u0715\u3537\u0003\u0002\u0002\u0002\u0717\u353c\u0003\u0002\u0002\u0002", + "\u0719\u3542\u0003\u0002\u0002\u0002\u071b\u354f\u0003\u0002\u0002\u0002", + "\u071d\u3560\u0003\u0002\u0002\u0002\u071f\u356f\u0003\u0002\u0002\u0002", + "\u0721\u357c\u0003\u0002\u0002\u0002\u0723\u3589\u0003\u0002\u0002\u0002", + "\u0725\u359a\u0003\u0002\u0002\u0002\u0727\u35af\u0003\u0002\u0002\u0002", + "\u0729\u35be\u0003\u0002\u0002\u0002\u072b\u35cf\u0003\u0002\u0002\u0002", + "\u072d\u35d8\u0003\u0002\u0002\u0002\u072f\u35e5\u0003\u0002\u0002\u0002", + "\u0731\u35f5\u0003\u0002\u0002\u0002\u0733\u3607\u0003\u0002\u0002\u0002", + "\u0735\u3613\u0003\u0002\u0002\u0002\u0737\u3624\u0003\u0002\u0002\u0002", + "\u0739\u362a\u0003\u0002\u0002\u0002\u073b\u3633\u0003\u0002\u0002\u0002", + "\u073d\u3640\u0003\u0002\u0002\u0002\u073f\u3655\u0003\u0002\u0002\u0002", + "\u0741\u365f\u0003\u0002\u0002\u0002\u0743\u3673\u0003\u0002\u0002\u0002", + "\u0745\u368a\u0003\u0002\u0002\u0002\u0747\u3693\u0003\u0002\u0002\u0002", + "\u0749\u369b\u0003\u0002\u0002\u0002\u074b\u36ad\u0003\u0002\u0002\u0002", + "\u074d\u36bb\u0003\u0002\u0002\u0002\u074f\u36c5\u0003\u0002\u0002\u0002", + "\u0751\u36cf\u0003\u0002\u0002\u0002\u0753\u36e0\u0003\u0002\u0002\u0002", + "\u0755\u36ef\u0003\u0002\u0002\u0002\u0757\u36f8\u0003\u0002\u0002\u0002", + "\u0759\u3705\u0003\u0002\u0002\u0002\u075b\u370d\u0003\u0002\u0002\u0002", + "\u075d\u3720\u0003\u0002\u0002\u0002\u075f\u373d\u0003\u0002\u0002\u0002", + "\u0761\u375c\u0003\u0002\u0002\u0002\u0763\u376a\u0003\u0002\u0002\u0002", + "\u0765\u3774\u0003\u0002\u0002\u0002\u0767\u377c\u0003\u0002\u0002\u0002", + "\u0769\u3789\u0003\u0002\u0002\u0002\u076b\u379e\u0003\u0002\u0002\u0002", + "\u076d\u37b2\u0003\u0002\u0002\u0002\u076f\u37c0\u0003\u0002\u0002\u0002", + "\u0771\u37cf\u0003\u0002\u0002\u0002\u0773\u37de\u0003\u0002\u0002\u0002", + "\u0775\u37e9\u0003\u0002\u0002\u0002\u0777\u3803\u0003\u0002\u0002\u0002", + "\u0779\u381c\u0003\u0002\u0002\u0002\u077b\u3835\u0003\u0002\u0002\u0002", + "\u077d\u384d\u0003\u0002\u0002\u0002\u077f\u3865\u0003\u0002\u0002\u0002", + "\u0781\u386c\u0003\u0002\u0002\u0002\u0783\u3886\u0003\u0002\u0002\u0002", + "\u0785\u3895\u0003\u0002\u0002\u0002\u0787\u38a3\u0003\u0002\u0002\u0002", + "\u0789\u38ab\u0003\u0002\u0002\u0002\u078b\u38c4\u0003\u0002\u0002\u0002", + "\u078d\u38d3\u0003\u0002\u0002\u0002\u078f\u38db\u0003\u0002\u0002\u0002", + "\u0791\u38f2\u0003\u0002\u0002\u0002\u0793\u390d\u0003\u0002\u0002\u0002", + "\u0795\u391d\u0003\u0002\u0002\u0002\u0797\u392f\u0003\u0002\u0002\u0002", + "\u0799\u3940\u0003\u0002\u0002\u0002\u079b\u3958\u0003\u0002\u0002\u0002", + "\u079d\u3969\u0003\u0002\u0002\u0002\u079f\u3981\u0003\u0002\u0002\u0002", + "\u07a1\u398b\u0003\u0002\u0002\u0002\u07a3\u399b\u0003\u0002\u0002\u0002", + "\u07a5\u39a3\u0003\u0002\u0002\u0002\u07a7\u39b5\u0003\u0002\u0002\u0002", + "\u07a9\u39c2\u0003\u0002\u0002\u0002\u07ab\u39ca\u0003\u0002\u0002\u0002", + "\u07ad\u39e6\u0003\u0002\u0002\u0002\u07af\u3a05\u0003\u0002\u0002\u0002", + "\u07b1\u3a15\u0003\u0002\u0002\u0002\u07b3\u3a21\u0003\u0002\u0002\u0002", + "\u07b5\u3a2e\u0003\u0002\u0002\u0002\u07b7\u3a37\u0003\u0002\u0002\u0002", + "\u07b9\u3a43\u0003\u0002\u0002\u0002\u07bb\u3a4f\u0003\u0002\u0002\u0002", + "\u07bd\u3a63\u0003\u0002\u0002\u0002\u07bf\u3a6a\u0003\u0002\u0002\u0002", + "\u07c1\u3a72\u0003\u0002\u0002\u0002\u07c3\u3a7a\u0003\u0002\u0002\u0002", + "\u07c5\u3a84\u0003\u0002\u0002\u0002\u07c7\u3a8e\u0003\u0002\u0002\u0002", + "\u07c9\u3a99\u0003\u0002\u0002\u0002\u07cb\u3aa2\u0003\u0002\u0002\u0002", + "\u07cd\u3aad\u0003\u0002\u0002\u0002\u07cf\u3ab8\u0003\u0002\u0002\u0002", + "\u07d1\u3aca\u0003\u0002\u0002\u0002\u07d3\u3ad8\u0003\u0002\u0002\u0002", + "\u07d5\u3ae5\u0003\u0002\u0002\u0002\u07d7\u3af0\u0003\u0002\u0002\u0002", + "\u07d9\u3b03\u0003\u0002\u0002\u0002\u07db\u3b1d\u0003\u0002\u0002\u0002", + "\u07dd\u3b29\u0003\u0002\u0002\u0002\u07df\u3b38\u0003\u0002\u0002\u0002", + "\u07e1\u3b3d\u0003\u0002\u0002\u0002\u07e3\u3b4d\u0003\u0002\u0002\u0002", + "\u07e5\u3b5d\u0003\u0002\u0002\u0002\u07e7\u3b60\u0003\u0002\u0002\u0002", + "\u07e9\u3b6a\u0003\u0002\u0002\u0002\u07eb\u3b79\u0003\u0002\u0002\u0002", + "\u07ed\u3b81\u0003\u0002\u0002\u0002\u07ef\u3b92\u0003\u0002\u0002\u0002", + "\u07f1\u3ba8\u0003\u0002\u0002\u0002\u07f3\u3bbf\u0003\u0002\u0002\u0002", + "\u07f5\u3bca\u0003\u0002\u0002\u0002\u07f7\u3bdc\u0003\u0002\u0002\u0002", + "\u07f9\u3bed\u0003\u0002\u0002\u0002\u07fb\u3bf9\u0003\u0002\u0002\u0002", + "\u07fd\u3c04\u0003\u0002\u0002\u0002\u07ff\u3c16\u0003\u0002\u0002\u0002", + "\u0801\u3c26\u0003\u0002\u0002\u0002\u0803\u3c41\u0003\u0002\u0002\u0002", + "\u0805\u3c4d\u0003\u0002\u0002\u0002\u0807\u3c5f\u0003\u0002\u0002\u0002", + "\u0809\u3c71\u0003\u0002\u0002\u0002\u080b\u3c88\u0003\u0002\u0002\u0002", + "\u080d\u3c92\u0003\u0002\u0002\u0002\u080f\u3ca2\u0003\u0002\u0002\u0002", + "\u0811\u3cad\u0003\u0002\u0002\u0002\u0813\u3cbc\u0003\u0002\u0002\u0002", + "\u0815\u3cc9\u0003\u0002\u0002\u0002\u0817\u3cd6\u0003\u0002\u0002\u0002", + "\u0819\u3ce3\u0003\u0002\u0002\u0002\u081b\u3cf9\u0003\u0002\u0002\u0002", + "\u081d\u3d0b\u0003\u0002\u0002\u0002\u081f\u3d17\u0003\u0002\u0002\u0002", + "\u0821\u3d2f\u0003\u0002\u0002\u0002\u0823\u3d3e\u0003\u0002\u0002\u0002", + "\u0825\u3d49\u0003\u0002\u0002\u0002\u0827\u3d50\u0003\u0002\u0002\u0002", + "\u0829\u3d59\u0003\u0002\u0002\u0002\u082b\u3d62\u0003\u0002\u0002\u0002", + "\u082d\u3d6e\u0003\u0002\u0002\u0002\u082f\u3d7e\u0003\u0002\u0002\u0002", + "\u0831\u3d88\u0003\u0002\u0002\u0002\u0833\u3d93\u0003\u0002\u0002\u0002", + "\u0835\u3d9d\u0003\u0002\u0002\u0002\u0837\u3da4\u0003\u0002\u0002\u0002", + "\u0839\u3db9\u0003\u0002\u0002\u0002\u083b\u3dcb\u0003\u0002\u0002\u0002", + "\u083d\u3dd9\u0003\u0002\u0002\u0002\u083f\u3de3\u0003\u0002\u0002\u0002", + "\u0841\u3def\u0003\u0002\u0002\u0002\u0843\u3e00\u0003\u0002\u0002\u0002", + "\u0845\u3e0f\u0003\u0002\u0002\u0002\u0847\u3e16\u0003\u0002\u0002\u0002", + "\u0849\u3e29\u0003\u0002\u0002\u0002\u084b\u3e35\u0003\u0002\u0002\u0002", + "\u084d\u3e4c\u0003\u0002\u0002\u0002\u084f\u3e61\u0003\u0002\u0002\u0002", + "\u0851\u3e70\u0003\u0002\u0002\u0002\u0853\u3e79\u0003\u0002\u0002\u0002", + "\u0855\u3e8d\u0003\u0002\u0002\u0002\u0857\u3e9c\u0003\u0002\u0002\u0002", + "\u0859\u3eb0\u0003\u0002\u0002\u0002\u085b\u3eb9\u0003\u0002\u0002\u0002", + "\u085d\u3ecf\u0003\u0002\u0002\u0002\u085f\u3edd\u0003\u0002\u0002\u0002", + "\u0861\u3ee5\u0003\u0002\u0002\u0002\u0863\u3ef2\u0003\u0002\u0002\u0002", + "\u0865\u3ef6\u0003\u0002\u0002\u0002\u0867\u3f10\u0003\u0002\u0002\u0002", + "\u0869\u3f1a\u0003\u0002\u0002\u0002\u086b\u3f26\u0003\u0002\u0002\u0002", + "\u086d\u3f3e\u0003\u0002\u0002\u0002\u086f\u3f5b\u0003\u0002\u0002\u0002", + "\u0871\u3f67\u0003\u0002\u0002\u0002\u0873\u3f80\u0003\u0002\u0002\u0002", + "\u0875\u3f8d\u0003\u0002\u0002\u0002\u0877\u3f97\u0003\u0002\u0002\u0002", + "\u0879\u3fb1\u0003\u0002\u0002\u0002\u087b\u3fbc\u0003\u0002\u0002\u0002", + "\u087d\u3fd5\u0003\u0002\u0002\u0002\u087f\u3fee\u0003\u0002\u0002\u0002", + "\u0881\u4002\u0003\u0002\u0002\u0002\u0883\u4009\u0003\u0002\u0002\u0002", + "\u0885\u4020\u0003\u0002\u0002\u0002\u0887\u4033\u0003\u0002\u0002\u0002", + "\u0889\u4051\u0003\u0002\u0002\u0002\u088b\u4065\u0003\u0002\u0002\u0002", + "\u088d\u407a\u0003\u0002\u0002\u0002\u088f\u4085\u0003\u0002\u0002\u0002", + "\u0891\u408f\u0003\u0002\u0002\u0002\u0893\u4096\u0003\u0002\u0002\u0002", + "\u0895\u409b\u0003\u0002\u0002\u0002\u0897\u40a1\u0003\u0002\u0002\u0002", + "\u0899\u40a8\u0003\u0002\u0002\u0002\u089b\u40b0\u0003\u0002\u0002\u0002", + "\u089d\u40bf\u0003\u0002\u0002\u0002\u089f\u40cf\u0003\u0002\u0002\u0002", + "\u08a1\u40df\u0003\u0002\u0002\u0002\u08a3\u40e9\u0003\u0002\u0002\u0002", + "\u08a5\u40ee\u0003\u0002\u0002\u0002\u08a7\u40f9\u0003\u0002\u0002\u0002", + "\u08a9\u4100\u0003\u0002\u0002\u0002\u08ab\u4107\u0003\u0002\u0002\u0002", + "\u08ad\u410d\u0003\u0002\u0002\u0002\u08af\u4119\u0003\u0002\u0002\u0002", + "\u08b1\u4124\u0003\u0002\u0002\u0002\u08b3\u412c\u0003\u0002\u0002\u0002", + "\u08b5\u4130\u0003\u0002\u0002\u0002\u08b7\u4137\u0003\u0002\u0002\u0002", + "\u08b9\u413a\u0003\u0002\u0002\u0002\u08bb\u4143\u0003\u0002\u0002\u0002", + "\u08bd\u4147\u0003\u0002\u0002\u0002\u08bf\u414c\u0003\u0002\u0002\u0002", + "\u08c1\u4150\u0003\u0002\u0002\u0002\u08c3\u415e\u0003\u0002\u0002\u0002", + "\u08c5\u4162\u0003\u0002\u0002\u0002\u08c7\u4167\u0003\u0002\u0002\u0002", + "\u08c9\u416c\u0003\u0002\u0002\u0002\u08cb\u4170\u0003\u0002\u0002\u0002", + "\u08cd\u4177\u0003\u0002\u0002\u0002\u08cf\u4181\u0003\u0002\u0002\u0002", + "\u08d1\u4186\u0003\u0002\u0002\u0002\u08d3\u4189\u0003\u0002\u0002\u0002", + "\u08d5\u4190\u0003\u0002\u0002\u0002\u08d7\u41a1\u0003\u0002\u0002\u0002", + "\u08d9\u41b3\u0003\u0002\u0002\u0002\u08db\u41ba\u0003\u0002\u0002\u0002", + "\u08dd\u41bf\u0003\u0002\u0002\u0002\u08df\u41ca\u0003\u0002\u0002\u0002", + "\u08e1\u41d3\u0003\u0002\u0002\u0002\u08e3\u41e0\u0003\u0002\u0002\u0002", + "\u08e5\u41e8\u0003\u0002\u0002\u0002\u08e7\u41f1\u0003\u0002\u0002\u0002", + "\u08e9\u420b\u0003\u0002\u0002\u0002\u08eb\u421a\u0003\u0002\u0002\u0002", + "\u08ed\u4221\u0003\u0002\u0002\u0002\u08ef\u422b\u0003\u0002\u0002\u0002", + "\u08f1\u4236\u0003\u0002\u0002\u0002\u08f3\u4244\u0003\u0002\u0002\u0002", + "\u08f5\u4258\u0003\u0002\u0002\u0002\u08f7\u4267\u0003\u0002\u0002\u0002", + "\u08f9\u426f\u0003\u0002\u0002\u0002\u08fb\u4278\u0003\u0002\u0002\u0002", + "\u08fd\u4289\u0003\u0002\u0002\u0002\u08ff\u4299\u0003\u0002\u0002\u0002", + "\u0901\u42a7\u0003\u0002\u0002\u0002\u0903\u42b6\u0003\u0002\u0002\u0002", + "\u0905\u42c9\u0003\u0002\u0002\u0002\u0907\u42d2\u0003\u0002\u0002\u0002", + "\u0909\u42e6\u0003\u0002\u0002\u0002\u090b\u42f8\u0003\u0002\u0002\u0002", + "\u090d\u4312\u0003\u0002\u0002\u0002\u090f\u4327\u0003\u0002\u0002\u0002", + "\u0911\u4336\u0003\u0002\u0002\u0002\u0913\u4344\u0003\u0002\u0002\u0002", + "\u0915\u434f\u0003\u0002\u0002\u0002\u0917\u435e\u0003\u0002\u0002\u0002", + "\u0919\u436d\u0003\u0002\u0002\u0002\u091b\u437c\u0003\u0002\u0002\u0002", + "\u091d\u438b\u0003\u0002\u0002\u0002\u091f\u4393\u0003\u0002\u0002\u0002", + "\u0921\u43a6\u0003\u0002\u0002\u0002\u0923\u43ac\u0003\u0002\u0002\u0002", + "\u0925\u43b7\u0003\u0002\u0002\u0002\u0927\u43c1\u0003\u0002\u0002\u0002", + "\u0929\u43ce\u0003\u0002\u0002\u0002\u092b\u43d1\u0003\u0002\u0002\u0002", + "\u092d\u43df\u0003\u0002\u0002\u0002\u092f\u43e7\u0003\u0002\u0002\u0002", + "\u0931\u43ed\u0003\u0002\u0002\u0002\u0933\u4400\u0003\u0002\u0002\u0002", + "\u0935\u4414\u0003\u0002\u0002\u0002\u0937\u441a\u0003\u0002\u0002\u0002", + "\u0939\u4427\u0003\u0002\u0002\u0002\u093b\u442f\u0003\u0002\u0002\u0002", + "\u093d\u443b\u0003\u0002\u0002\u0002\u093f\u443f\u0003\u0002\u0002\u0002", + "\u0941\u444f\u0003\u0002\u0002\u0002\u0943\u4458\u0003\u0002\u0002\u0002", + "\u0945\u4461\u0003\u0002\u0002\u0002\u0947\u4466\u0003\u0002\u0002\u0002", + "\u0949\u4471\u0003\u0002\u0002\u0002\u094b\u4477\u0003\u0002\u0002\u0002", + "\u094d\u4481\u0003\u0002\u0002\u0002\u094f\u4485\u0003\u0002\u0002\u0002", + "\u0951\u448d\u0003\u0002\u0002\u0002\u0953\u4496\u0003\u0002\u0002\u0002", + "\u0955\u44a6\u0003\u0002\u0002\u0002\u0957\u44b5\u0003\u0002\u0002\u0002", + "\u0959\u44be\u0003\u0002\u0002\u0002\u095b\u44cc\u0003\u0002\u0002\u0002", + "\u095d\u44d7\u0003\u0002\u0002\u0002\u095f\u44dd\u0003\u0002\u0002\u0002", + "\u0961\u44e4\u0003\u0002\u0002\u0002\u0963\u44eb\u0003\u0002\u0002\u0002", + "\u0965\u44f8\u0003\u0002\u0002\u0002\u0967\u4502\u0003\u0002\u0002\u0002", + "\u0969\u450a\u0003\u0002\u0002\u0002\u096b\u4522\u0003\u0002\u0002\u0002", + "\u096d\u4531\u0003\u0002\u0002\u0002\u096f\u4540\u0003\u0002\u0002\u0002", + "\u0971\u454a\u0003\u0002\u0002\u0002\u0973\u455a\u0003\u0002\u0002\u0002", + "\u0975\u4565\u0003\u0002\u0002\u0002\u0977\u4573\u0003\u0002\u0002\u0002", + "\u0979\u457b\u0003\u0002\u0002\u0002\u097b\u458f\u0003\u0002\u0002\u0002", + "\u097d\u45a2\u0003\u0002\u0002\u0002\u097f\u45b5\u0003\u0002\u0002\u0002", + "\u0981\u45be\u0003\u0002\u0002\u0002\u0983\u45d1\u0003\u0002\u0002\u0002", + "\u0985\u45e5\u0003\u0002\u0002\u0002\u0987\u45fe\u0003\u0002\u0002\u0002", + "\u0989\u4603\u0003\u0002\u0002\u0002\u098b\u4609\u0003\u0002\u0002\u0002", + "\u098d\u460e\u0003\u0002\u0002\u0002\u098f\u461a\u0003\u0002\u0002\u0002", + "\u0991\u4620\u0003\u0002\u0002\u0002\u0993\u4628\u0003\u0002\u0002\u0002", + "\u0995\u4635\u0003\u0002\u0002\u0002\u0997\u4640\u0003\u0002\u0002\u0002", + "\u0999\u4648\u0003\u0002\u0002\u0002\u099b\u4654\u0003\u0002\u0002\u0002", + "\u099d\u4661\u0003\u0002\u0002\u0002\u099f\u4669\u0003\u0002\u0002\u0002", + "\u09a1\u4674\u0003\u0002\u0002\u0002\u09a3\u467c\u0003\u0002\u0002\u0002", + "\u09a5\u4689\u0003\u0002\u0002\u0002\u09a7\u4697\u0003\u0002\u0002\u0002", + "\u09a9\u46a7\u0003\u0002\u0002\u0002\u09ab\u46af\u0003\u0002\u0002\u0002", + "\u09ad\u46bd\u0003\u0002\u0002\u0002\u09af\u46cd\u0003\u0002\u0002\u0002", + "\u09b1\u46dc\u0003\u0002\u0002\u0002\u09b3\u46e8\u0003\u0002\u0002\u0002", + "\u09b5\u46f4\u0003\u0002\u0002\u0002\u09b7\u46fb\u0003\u0002\u0002\u0002", + "\u09b9\u4705\u0003\u0002\u0002\u0002\u09bb\u4710\u0003\u0002\u0002\u0002", + "\u09bd\u4718\u0003\u0002\u0002\u0002\u09bf\u471c\u0003\u0002\u0002\u0002", + "\u09c1\u4722\u0003\u0002\u0002\u0002\u09c3\u472b\u0003\u0002\u0002\u0002", + "\u09c5\u4731\u0003\u0002\u0002\u0002\u09c7\u473b\u0003\u0002\u0002\u0002", + "\u09c9\u4740\u0003\u0002\u0002\u0002\u09cb\u4747\u0003\u0002\u0002\u0002", + "\u09cd\u474d\u0003\u0002\u0002\u0002\u09cf\u4755\u0003\u0002\u0002\u0002", + "\u09d1\u4764\u0003\u0002\u0002\u0002\u09d3\u4773\u0003\u0002\u0002\u0002", + "\u09d5\u4778\u0003\u0002\u0002\u0002\u09d7\u4789\u0003\u0002\u0002\u0002", + "\u09d9\u4795\u0003\u0002\u0002\u0002\u09db\u47a3\u0003\u0002\u0002\u0002", + "\u09dd\u47b3\u0003\u0002\u0002\u0002\u09df\u47bf\u0003\u0002\u0002\u0002", + "\u09e1\u47d4\u0003\u0002\u0002\u0002\u09e3\u47e3\u0003\u0002\u0002\u0002", + "\u09e5\u47ed\u0003\u0002\u0002\u0002\u09e7\u47f3\u0003\u0002\u0002\u0002", + "\u09e9\u47fa\u0003\u0002\u0002\u0002\u09eb\u4803\u0003\u0002\u0002\u0002", + "\u09ed\u480b\u0003\u0002\u0002\u0002\u09ef\u4814\u0003\u0002\u0002\u0002", + "\u09f1\u481c\u0003\u0002\u0002\u0002\u09f3\u4824\u0003\u0002\u0002\u0002", + "\u09f5\u482e\u0003\u0002\u0002\u0002\u09f7\u4837\u0003\u0002\u0002\u0002", + "\u09f9\u4848\u0003\u0002\u0002\u0002\u09fb\u4865\u0003\u0002\u0002\u0002", + "\u09fd\u4873\u0003\u0002\u0002\u0002\u09ff\u4879\u0003\u0002\u0002\u0002", + "\u0a01\u488d\u0003\u0002\u0002\u0002\u0a03\u489b\u0003\u0002\u0002\u0002", + "\u0a05\u48b0\u0003\u0002\u0002\u0002\u0a07\u48ba\u0003\u0002\u0002\u0002", + "\u0a09\u48c1\u0003\u0002\u0002\u0002\u0a0b\u48ca\u0003\u0002\u0002\u0002", + "\u0a0d\u48d7\u0003\u0002\u0002\u0002\u0a0f\u48df\u0003\u0002\u0002\u0002", + "\u0a11\u48e6\u0003\u0002\u0002\u0002\u0a13\u48ef\u0003\u0002\u0002\u0002", + "\u0a15\u48f8\u0003\u0002\u0002\u0002\u0a17\u4902\u0003\u0002\u0002\u0002", + "\u0a19\u490c\u0003\u0002\u0002\u0002\u0a1b\u4920\u0003\u0002\u0002\u0002", + "\u0a1d\u4933\u0003\u0002\u0002\u0002\u0a1f\u493b\u0003\u0002\u0002\u0002", + "\u0a21\u4943\u0003\u0002\u0002\u0002\u0a23\u494e\u0003\u0002\u0002\u0002", + "\u0a25\u4956\u0003\u0002\u0002\u0002\u0a27\u495f\u0003\u0002\u0002\u0002", + "\u0a29\u496c\u0003\u0002\u0002\u0002\u0a2b\u4975\u0003\u0002\u0002\u0002", + "\u0a2d\u497c\u0003\u0002\u0002\u0002\u0a2f\u4985\u0003\u0002\u0002\u0002", + "\u0a31\u498a\u0003\u0002\u0002\u0002\u0a33\u4992\u0003\u0002\u0002\u0002", + "\u0a35\u49a2\u0003\u0002\u0002\u0002\u0a37\u49ab\u0003\u0002\u0002\u0002", + "\u0a39\u49b1\u0003\u0002\u0002\u0002\u0a3b\u49b9\u0003\u0002\u0002\u0002", + "\u0a3d\u49c5\u0003\u0002\u0002\u0002\u0a3f\u49d0\u0003\u0002\u0002\u0002", + "\u0a41\u49da\u0003\u0002\u0002\u0002\u0a43\u49e5\u0003\u0002\u0002\u0002", + "\u0a45\u49f0\u0003\u0002\u0002\u0002\u0a47\u49fa\u0003\u0002\u0002\u0002", + "\u0a49\u4a02\u0003\u0002\u0002\u0002\u0a4b\u4a0a\u0003\u0002\u0002\u0002", + "\u0a4d\u4a12\u0003\u0002\u0002\u0002\u0a4f\u4a1a\u0003\u0002\u0002\u0002", + "\u0a51\u4a24\u0003\u0002\u0002\u0002\u0a53\u4a2e\u0003\u0002\u0002\u0002", + "\u0a55\u4a39\u0003\u0002\u0002\u0002\u0a57\u4a3f\u0003\u0002\u0002\u0002", + "\u0a59\u4a47\u0003\u0002\u0002\u0002\u0a5b\u4a4e\u0003\u0002\u0002\u0002", + "\u0a5d\u4a58\u0003\u0002\u0002\u0002\u0a5f\u4a5e\u0003\u0002\u0002\u0002", + "\u0a61\u4a68\u0003\u0002\u0002\u0002\u0a63\u4a72\u0003\u0002\u0002\u0002", + "\u0a65\u4a85\u0003\u0002\u0002\u0002\u0a67\u4a90\u0003\u0002\u0002\u0002", + "\u0a69\u4a9f\u0003\u0002\u0002\u0002\u0a6b\u4aa7\u0003\u0002\u0002\u0002", + "\u0a6d\u4ab3\u0003\u0002\u0002\u0002\u0a6f\u4ab9\u0003\u0002\u0002\u0002", + "\u0a71\u4ac4\u0003\u0002\u0002\u0002\u0a73\u4aca\u0003\u0002\u0002\u0002", + "\u0a75\u4ad5\u0003\u0002\u0002\u0002\u0a77\u4add\u0003\u0002\u0002\u0002", + "\u0a79\u4ae4\u0003\u0002\u0002\u0002\u0a7b\u4aea\u0003\u0002\u0002\u0002", + "\u0a7d\u4af0\u0003\u0002\u0002\u0002\u0a7f\u4afd\u0003\u0002\u0002\u0002", + "\u0a81\u4b04\u0003\u0002\u0002\u0002\u0a83\u4b0a\u0003\u0002\u0002\u0002", + "\u0a85\u4b10\u0003\u0002\u0002\u0002\u0a87\u4b18\u0003\u0002\u0002\u0002", + "\u0a89\u4b1c\u0003\u0002\u0002\u0002\u0a8b\u4b25\u0003\u0002\u0002\u0002", + "\u0a8d\u4b2f\u0003\u0002\u0002\u0002\u0a8f\u4b33\u0003\u0002\u0002\u0002", + "\u0a91\u4b3f\u0003\u0002\u0002\u0002\u0a93\u4b44\u0003\u0002\u0002\u0002", + "\u0a95\u4b49\u0003\u0002\u0002\u0002\u0a97\u4b4f\u0003\u0002\u0002\u0002", + "\u0a99\u4b55\u0003\u0002\u0002\u0002\u0a9b\u4b5a\u0003\u0002\u0002\u0002", + "\u0a9d\u4b64\u0003\u0002\u0002\u0002\u0a9f\u4b6c\u0003\u0002\u0002\u0002", + "\u0aa1\u4b73\u0003\u0002\u0002\u0002\u0aa3\u4b85\u0003\u0002\u0002\u0002", + "\u0aa5\u4b91\u0003\u0002\u0002\u0002\u0aa7\u4b99\u0003\u0002\u0002\u0002", + "\u0aa9\u4ba2\u0003\u0002\u0002\u0002\u0aab\u4bad\u0003\u0002\u0002\u0002", + "\u0aad\u4bb5\u0003\u0002\u0002\u0002\u0aaf\u4bbf\u0003\u0002\u0002\u0002", + "\u0ab1\u4bc8\u0003\u0002\u0002\u0002\u0ab3\u4bcd\u0003\u0002\u0002\u0002", + "\u0ab5\u4bd5\u0003\u0002\u0002\u0002\u0ab7\u4be0\u0003\u0002\u0002\u0002", + "\u0ab9\u4bf3\u0003\u0002\u0002\u0002\u0abb\u4bfe\u0003\u0002\u0002\u0002", + "\u0abd\u4c08\u0003\u0002\u0002\u0002\u0abf\u4c13\u0003\u0002\u0002\u0002", + "\u0ac1\u4c1f\u0003\u0002\u0002\u0002\u0ac3\u4c23\u0003\u0002\u0002\u0002", + "\u0ac5\u4c2b\u0003\u0002\u0002\u0002\u0ac7\u4c34\u0003\u0002\u0002\u0002", + "\u0ac9\u4c41\u0003\u0002\u0002\u0002\u0acb\u4c4e\u0003\u0002\u0002\u0002", + "\u0acd\u4c5a\u0003\u0002\u0002\u0002\u0acf\u4c69\u0003\u0002\u0002\u0002", + "\u0ad1\u4c77\u0003\u0002\u0002\u0002\u0ad3\u4c80\u0003\u0002\u0002\u0002", + "\u0ad5\u4c8a\u0003\u0002\u0002\u0002\u0ad7\u4c94\u0003\u0002\u0002\u0002", + "\u0ad9\u4c9f\u0003\u0002\u0002\u0002\u0adb\u4cae\u0003\u0002\u0002\u0002", + "\u0add\u4cb6\u0003\u0002\u0002\u0002\u0adf\u4cc1\u0003\u0002\u0002\u0002", + "\u0ae1\u4cca\u0003\u0002\u0002\u0002\u0ae3\u4cd3\u0003\u0002\u0002\u0002", + "\u0ae5\u4cdc\u0003\u0002\u0002\u0002\u0ae7\u4ce4\u0003\u0002\u0002\u0002", + "\u0ae9\u4ceb\u0003\u0002\u0002\u0002\u0aeb\u4cf1\u0003\u0002\u0002\u0002", + "\u0aed\u4cfc\u0003\u0002\u0002\u0002\u0aef\u4d06\u0003\u0002\u0002\u0002", + "\u0af1\u4d0f\u0003\u0002\u0002\u0002\u0af3\u4d14\u0003\u0002\u0002\u0002", + "\u0af5\u4d1e\u0003\u0002\u0002\u0002\u0af7\u4d2c\u0003\u0002\u0002\u0002", + "\u0af9\u4d33\u0003\u0002\u0002\u0002\u0afb\u4d3a\u0003\u0002\u0002\u0002", + "\u0afd\u4d41\u0003\u0002\u0002\u0002\u0aff\u4d48\u0003\u0002\u0002\u0002", + "\u0b01\u4d50\u0003\u0002\u0002\u0002\u0b03\u4d5c\u0003\u0002\u0002\u0002", + "\u0b05\u4d65\u0003\u0002\u0002\u0002\u0b07\u4d6f\u0003\u0002\u0002\u0002", + "\u0b09\u4d75\u0003\u0002\u0002\u0002\u0b0b\u4d7c\u0003\u0002\u0002\u0002", + "\u0b0d\u4d84\u0003\u0002\u0002\u0002\u0b0f\u4d8d\u0003\u0002\u0002\u0002", + "\u0b11\u4d96\u0003\u0002\u0002\u0002\u0b13\u4d9e\u0003\u0002\u0002\u0002", + "\u0b15\u4da6\u0003\u0002\u0002\u0002\u0b17\u4dbb\u0003\u0002\u0002\u0002", + "\u0b19\u4dc3\u0003\u0002\u0002\u0002\u0b1b\u4dd9\u0003\u0002\u0002\u0002", + "\u0b1d\u4de4\u0003\u0002\u0002\u0002\u0b1f\u4df8\u0003\u0002\u0002\u0002", + "\u0b21\u4e01\u0003\u0002\u0002\u0002\u0b23\u4e0e\u0003\u0002\u0002\u0002", + "\u0b25\u4e15\u0003\u0002\u0002\u0002\u0b27\u4e1f\u0003\u0002\u0002\u0002", + "\u0b29\u4e26\u0003\u0002\u0002\u0002\u0b2b\u4e30\u0003\u0002\u0002\u0002", + "\u0b2d\u4e44\u0003\u0002\u0002\u0002\u0b2f\u4e4e\u0003\u0002\u0002\u0002", + "\u0b31\u4e55\u0003\u0002\u0002\u0002\u0b33\u4e5b\u0003\u0002\u0002\u0002", + "\u0b35\u4e63\u0003\u0002\u0002\u0002\u0b37\u4e6a\u0003\u0002\u0002\u0002", + "\u0b39\u4e7b\u0003\u0002\u0002\u0002\u0b3b\u4e83\u0003\u0002\u0002\u0002", + "\u0b3d\u4e89\u0003\u0002\u0002\u0002\u0b3f\u4e8e\u0003\u0002\u0002\u0002", + "\u0b41\u4e96\u0003\u0002\u0002\u0002\u0b43\u4e9c\u0003\u0002\u0002\u0002", + "\u0b45\u4ea5\u0003\u0002\u0002\u0002\u0b47\u4ead\u0003\u0002\u0002\u0002", + "\u0b49\u4eb4\u0003\u0002\u0002\u0002\u0b4b\u4ec4\u0003\u0002\u0002\u0002", + "\u0b4d\u4ed8\u0003\u0002\u0002\u0002\u0b4f\u4ede\u0003\u0002\u0002\u0002", + "\u0b51\u4eea\u0003\u0002\u0002\u0002\u0b53\u4ef7\u0003\u0002\u0002\u0002", + "\u0b55\u4f02\u0003\u0002\u0002\u0002\u0b57\u4f09\u0003\u0002\u0002\u0002", + "\u0b59\u4f0d\u0003\u0002\u0002\u0002\u0b5b\u4f12\u0003\u0002\u0002\u0002", + "\u0b5d\u4f17\u0003\u0002\u0002\u0002\u0b5f\u4f1d\u0003\u0002\u0002\u0002", + "\u0b61\u4f22\u0003\u0002\u0002\u0002\u0b63\u4f28\u0003\u0002\u0002\u0002", + "\u0b65\u4f30\u0003\u0002\u0002\u0002\u0b67\u4f35\u0003\u0002\u0002\u0002", + "\u0b69\u4f3c\u0003\u0002\u0002\u0002\u0b6b\u4f4e\u0003\u0002\u0002\u0002", + "\u0b6d\u4f58\u0003\u0002\u0002\u0002\u0b6f\u4f5d\u0003\u0002\u0002\u0002", + "\u0b71\u4f61\u0003\u0002\u0002\u0002\u0b73\u4f6c\u0003\u0002\u0002\u0002", + "\u0b75\u4f72\u0003\u0002\u0002\u0002\u0b77\u4f81\u0003\u0002\u0002\u0002", + "\u0b79\u4f86\u0003\u0002\u0002\u0002\u0b7b\u4f90\u0003\u0002\u0002\u0002", + "\u0b7d\u4f9c\u0003\u0002\u0002\u0002\u0b7f\u4fa3\u0003\u0002\u0002\u0002", + "\u0b81\u4fb1\u0003\u0002\u0002\u0002\u0b83\u4fb5\u0003\u0002\u0002\u0002", + "\u0b85\u4fbb\u0003\u0002\u0002\u0002\u0b87\u4fc1\u0003\u0002\u0002\u0002", + "\u0b89\u4fc8\u0003\u0002\u0002\u0002\u0b8b\u4fd3\u0003\u0002\u0002\u0002", + "\u0b8d\u4fe0\u0003\u0002\u0002\u0002\u0b8f\u4fe8\u0003\u0002\u0002\u0002", + "\u0b91\u4fef\u0003\u0002\u0002\u0002\u0b93\u4ff6\u0003\u0002\u0002\u0002", + "\u0b95\u4ffd\u0003\u0002\u0002\u0002\u0b97\u500c\u0003\u0002\u0002\u0002", + "\u0b99\u5017\u0003\u0002\u0002\u0002\u0b9b\u5020\u0003\u0002\u0002\u0002", + "\u0b9d\u5025\u0003\u0002\u0002\u0002\u0b9f\u502f\u0003\u0002\u0002\u0002", + "\u0ba1\u5038\u0003\u0002\u0002\u0002\u0ba3\u5040\u0003\u0002\u0002\u0002", + "\u0ba5\u504c\u0003\u0002\u0002\u0002\u0ba7\u5053\u0003\u0002\u0002\u0002", + "\u0ba9\u5058\u0003\u0002\u0002\u0002\u0bab\u5068\u0003\u0002\u0002\u0002", + "\u0bad\u5071\u0003\u0002\u0002\u0002\u0baf\u507f\u0003\u0002\u0002\u0002", + "\u0bb1\u5089\u0003\u0002\u0002\u0002\u0bb3\u5092\u0003\u0002\u0002\u0002", + "\u0bb5\u509d\u0003\u0002\u0002\u0002\u0bb7\u50a1\u0003\u0002\u0002\u0002", + "\u0bb9\u50ae\u0003\u0002\u0002\u0002\u0bbb\u50c0\u0003\u0002\u0002\u0002", + "\u0bbd\u50c7\u0003\u0002\u0002\u0002\u0bbf\u50d3\u0003\u0002\u0002\u0002", + "\u0bc1\u50e8\u0003\u0002\u0002\u0002\u0bc3\u50f1\u0003\u0002\u0002\u0002", + "\u0bc5\u5108\u0003\u0002\u0002\u0002\u0bc7\u5110\u0003\u0002\u0002\u0002", + "\u0bc9\u5122\u0003\u0002\u0002\u0002\u0bcb\u5132\u0003\u0002\u0002\u0002", + "\u0bcd\u5140\u0003\u0002\u0002\u0002\u0bcf\u5144\u0003\u0002\u0002\u0002", + "\u0bd1\u5149\u0003\u0002\u0002\u0002\u0bd3\u5152\u0003\u0002\u0002\u0002", + "\u0bd5\u515e\u0003\u0002\u0002\u0002\u0bd7\u5165\u0003\u0002\u0002\u0002", + "\u0bd9\u5171\u0003\u0002\u0002\u0002\u0bdb\u5178\u0003\u0002\u0002\u0002", + "\u0bdd\u517e\u0003\u0002\u0002\u0002\u0bdf\u5186\u0003\u0002\u0002\u0002", + "\u0be1\u5190\u0003\u0002\u0002\u0002\u0be3\u5195\u0003\u0002\u0002\u0002", + "\u0be5\u519c\u0003\u0002\u0002\u0002\u0be7\u51a5\u0003\u0002\u0002\u0002", + "\u0be9\u51ae\u0003\u0002\u0002\u0002\u0beb\u51b2\u0003\u0002\u0002\u0002", + "\u0bed\u51c3\u0003\u0002\u0002\u0002\u0bef\u51d3\u0003\u0002\u0002\u0002", + "\u0bf1\u51d8\u0003\u0002\u0002\u0002\u0bf3\u51e1\u0003\u0002\u0002\u0002", + "\u0bf5\u51f0\u0003\u0002\u0002\u0002\u0bf7\u51f7\u0003\u0002\u0002\u0002", + "\u0bf9\u51fe\u0003\u0002\u0002\u0002\u0bfb\u5209\u0003\u0002\u0002\u0002", + "\u0bfd\u520e\u0003\u0002\u0002\u0002\u0bff\u5212\u0003\u0002\u0002\u0002", + "\u0c01\u5217\u0003\u0002\u0002\u0002\u0c03\u522a\u0003\u0002\u0002\u0002", + "\u0c05\u522f\u0003\u0002\u0002\u0002\u0c07\u5245\u0003\u0002\u0002\u0002", + "\u0c09\u525b\u0003\u0002\u0002\u0002\u0c0b\u5265\u0003\u0002\u0002\u0002", + "\u0c0d\u526e\u0003\u0002\u0002\u0002\u0c0f\u5277\u0003\u0002\u0002\u0002", + "\u0c11\u527c\u0003\u0002\u0002\u0002\u0c13\u5281\u0003\u0002\u0002\u0002", + "\u0c15\u5289\u0003\u0002\u0002\u0002\u0c17\u529f\u0003\u0002\u0002\u0002", + "\u0c19\u52b8\u0003\u0002\u0002\u0002\u0c1b\u52bf\u0003\u0002\u0002\u0002", + "\u0c1d\u52c5\u0003\u0002\u0002\u0002\u0c1f\u52d3\u0003\u0002\u0002\u0002", + "\u0c21\u52da\u0003\u0002\u0002\u0002\u0c23\u52e0\u0003\u0002\u0002\u0002", + "\u0c25\u52ec\u0003\u0002\u0002\u0002\u0c27\u52f4\u0003\u0002\u0002\u0002", + "\u0c29\u52fd\u0003\u0002\u0002\u0002\u0c2b\u5304\u0003\u0002\u0002\u0002", + "\u0c2d\u5308\u0003\u0002\u0002\u0002\u0c2f\u5312\u0003\u0002\u0002\u0002", + "\u0c31\u532a\u0003\u0002\u0002\u0002\u0c33\u532f\u0003\u0002\u0002\u0002", + "\u0c35\u5335\u0003\u0002\u0002\u0002\u0c37\u5340\u0003\u0002\u0002\u0002", + "\u0c39\u534e\u0003\u0002\u0002\u0002\u0c3b\u5365\u0003\u0002\u0002\u0002", + "\u0c3d\u536e\u0003\u0002\u0002\u0002\u0c3f\u5376\u0003\u0002\u0002\u0002", + "\u0c41\u537b\u0003\u0002\u0002\u0002\u0c43\u538f\u0003\u0002\u0002\u0002", + "\u0c45\u5395\u0003\u0002\u0002\u0002\u0c47\u539d\u0003\u0002\u0002\u0002", + "\u0c49\u53aa\u0003\u0002\u0002\u0002\u0c4b\u53bc\u0003\u0002\u0002\u0002", + "\u0c4d\u53c7\u0003\u0002\u0002\u0002\u0c4f\u53d1\u0003\u0002\u0002\u0002", + "\u0c51\u53d7\u0003\u0002\u0002\u0002\u0c53\u53de\u0003\u0002\u0002\u0002", + "\u0c55\u53e9\u0003\u0002\u0002\u0002\u0c57\u53fd\u0003\u0002\u0002\u0002", + "\u0c59\u540c\u0003\u0002\u0002\u0002\u0c5b\u5419\u0003\u0002\u0002\u0002", + "\u0c5d\u5427\u0003\u0002\u0002\u0002\u0c5f\u5432\u0003\u0002\u0002\u0002", + "\u0c61\u5440\u0003\u0002\u0002\u0002\u0c63\u5454\u0003\u0002\u0002\u0002", + "\u0c65\u5467\u0003\u0002\u0002\u0002\u0c67\u547b\u0003\u0002\u0002\u0002", + "\u0c69\u548c\u0003\u0002\u0002\u0002\u0c6b\u54a0\u0003\u0002\u0002\u0002", + "\u0c6d\u54af\u0003\u0002\u0002\u0002\u0c6f\u54ba\u0003\u0002\u0002\u0002", + "\u0c71\u54c6\u0003\u0002\u0002\u0002\u0c73\u54cb\u0003\u0002\u0002\u0002", + "\u0c75\u54d3\u0003\u0002\u0002\u0002\u0c77\u54d9\u0003\u0002\u0002\u0002", + "\u0c79\u54e1\u0003\u0002\u0002\u0002\u0c7b\u54e8\u0003\u0002\u0002\u0002", + "\u0c7d\u54ef\u0003\u0002\u0002\u0002\u0c7f\u54f6\u0003\u0002\u0002\u0002", + "\u0c81\u5505\u0003\u0002\u0002\u0002\u0c83\u5512\u0003\u0002\u0002\u0002", + "\u0c85\u5518\u0003\u0002\u0002\u0002\u0c87\u5522\u0003\u0002\u0002\u0002", + "\u0c89\u552e\u0003\u0002\u0002\u0002\u0c8b\u553f\u0003\u0002\u0002\u0002", + "\u0c8d\u554d\u0003\u0002\u0002\u0002\u0c8f\u555a\u0003\u0002\u0002\u0002", + "\u0c91\u5565\u0003\u0002\u0002\u0002\u0c93\u5576\u0003\u0002\u0002\u0002", + "\u0c95\u5580\u0003\u0002\u0002\u0002\u0c97\u5587\u0003\u0002\u0002\u0002", + "\u0c99\u5595\u0003\u0002\u0002\u0002\u0c9b\u559d\u0003\u0002\u0002\u0002", + "\u0c9d\u55a5\u0003\u0002\u0002\u0002\u0c9f\u55ad\u0003\u0002\u0002\u0002", + "\u0ca1\u55b5\u0003\u0002\u0002\u0002\u0ca3\u55bd\u0003\u0002\u0002\u0002", + "\u0ca5\u55c8\u0003\u0002\u0002\u0002\u0ca7\u55d0\u0003\u0002\u0002\u0002", + "\u0ca9\u55d8\u0003\u0002\u0002\u0002\u0cab\u55e5\u0003\u0002\u0002\u0002", + "\u0cad\u55ed\u0003\u0002\u0002\u0002\u0caf\u55fe\u0003\u0002\u0002\u0002", + "\u0cb1\u5609\u0003\u0002\u0002\u0002\u0cb3\u5610\u0003\u0002\u0002\u0002", + "\u0cb5\u561c\u0003\u0002\u0002\u0002\u0cb7\u5621\u0003\u0002\u0002\u0002", + "\u0cb9\u5629\u0003\u0002\u0002\u0002\u0cbb\u5630\u0003\u0002\u0002\u0002", + "\u0cbd\u563a\u0003\u0002\u0002\u0002\u0cbf\u5641\u0003\u0002\u0002\u0002", + "\u0cc1\u564b\u0003\u0002\u0002\u0002\u0cc3\u5658\u0003\u0002\u0002\u0002", + "\u0cc5\u566c\u0003\u0002\u0002\u0002\u0cc7\u5680\u0003\u0002\u0002\u0002", + "\u0cc9\u568c\u0003\u0002\u0002\u0002\u0ccb\u5694\u0003\u0002\u0002\u0002", + "\u0ccd\u569b\u0003\u0002\u0002\u0002\u0ccf\u56a8\u0003\u0002\u0002\u0002", + "\u0cd1\u56ae\u0003\u0002\u0002\u0002\u0cd3\u56bc\u0003\u0002\u0002\u0002", + "\u0cd5\u56ce\u0003\u0002\u0002\u0002\u0cd7\u56e0\u0003\u0002\u0002\u0002", + "\u0cd9\u56f0\u0003\u0002\u0002\u0002\u0cdb\u5701\u0003\u0002\u0002\u0002", + "\u0cdd\u5712\u0003\u0002\u0002\u0002\u0cdf\u5726\u0003\u0002\u0002\u0002", + "\u0ce1\u573b\u0003\u0002\u0002\u0002\u0ce3\u5750\u0003\u0002\u0002\u0002", + "\u0ce5\u5764\u0003\u0002\u0002\u0002\u0ce7\u5771\u0003\u0002\u0002\u0002", + "\u0ce9\u5781\u0003\u0002\u0002\u0002\u0ceb\u5790\u0003\u0002\u0002\u0002", + "\u0ced\u57a0\u0003\u0002\u0002\u0002\u0cef\u57ae\u0003\u0002\u0002\u0002", + "\u0cf1\u57bc\u0003\u0002\u0002\u0002\u0cf3\u57cb\u0003\u0002\u0002\u0002", + "\u0cf5\u57de\u0003\u0002\u0002\u0002\u0cf7\u57f1\u0003\u0002\u0002\u0002", + "\u0cf9\u5800\u0003\u0002\u0002\u0002\u0cfb\u580e\u0003\u0002\u0002\u0002", + "\u0cfd\u5817\u0003\u0002\u0002\u0002\u0cff\u581f\u0003\u0002\u0002\u0002", + "\u0d01\u5825\u0003\u0002\u0002\u0002\u0d03\u5838\u0003\u0002\u0002\u0002", + "\u0d05\u5844\u0003\u0002\u0002\u0002\u0d07\u5852\u0003\u0002\u0002\u0002", + "\u0d09\u585c\u0003\u0002\u0002\u0002\u0d0b\u5863\u0003\u0002\u0002\u0002", + "\u0d0d\u5872\u0003\u0002\u0002\u0002\u0d0f\u5881\u0003\u0002\u0002\u0002", + "\u0d11\u5891\u0003\u0002\u0002\u0002\u0d13\u589c\u0003\u0002\u0002\u0002", + "\u0d15\u58ab\u0003\u0002\u0002\u0002\u0d17\u58b9\u0003\u0002\u0002\u0002", + "\u0d19\u58c5\u0003\u0002\u0002\u0002\u0d1b\u58de\u0003\u0002\u0002\u0002", + "\u0d1d\u58f2\u0003\u0002\u0002\u0002\u0d1f\u58fd\u0003\u0002\u0002\u0002", + "\u0d21\u5909\u0003\u0002\u0002\u0002\u0d23\u5914\u0003\u0002\u0002\u0002", + "\u0d25\u5920\u0003\u0002\u0002\u0002\u0d27\u5935\u0003\u0002\u0002\u0002", + "\u0d29\u5941\u0003\u0002\u0002\u0002\u0d2b\u5950\u0003\u0002\u0002\u0002", + "\u0d2d\u5960\u0003\u0002\u0002\u0002\u0d2f\u596e\u0003\u0002\u0002\u0002", + "\u0d31\u5980\u0003\u0002\u0002\u0002\u0d33\u598b\u0003\u0002\u0002\u0002", + "\u0d35\u599c\u0003\u0002\u0002\u0002\u0d37\u59ae\u0003\u0002\u0002\u0002", + "\u0d39\u59bc\u0003\u0002\u0002\u0002\u0d3b\u59cb\u0003\u0002\u0002\u0002", + "\u0d3d\u59db\u0003\u0002\u0002\u0002\u0d3f\u59e6\u0003\u0002\u0002\u0002", + "\u0d41\u59f2\u0003\u0002\u0002\u0002\u0d43\u5a02\u0003\u0002\u0002\u0002", + "\u0d45\u5a1b\u0003\u0002\u0002\u0002\u0d47\u5a23\u0003\u0002\u0002\u0002", + "\u0d49\u5a32\u0003\u0002\u0002\u0002\u0d4b\u5a42\u0003\u0002\u0002\u0002", + "\u0d4d\u5a4e\u0003\u0002\u0002\u0002\u0d4f\u5a5a\u0003\u0002\u0002\u0002", + "\u0d51\u5a65\u0003\u0002\u0002\u0002\u0d53\u5a70\u0003\u0002\u0002\u0002", + "\u0d55\u5a89\u0003\u0002\u0002\u0002\u0d57\u5aa7\u0003\u0002\u0002\u0002", + "\u0d59\u5ac0\u0003\u0002\u0002\u0002\u0d5b\u5adc\u0003\u0002\u0002\u0002", + "\u0d5d\u5af2\u0003\u0002\u0002\u0002\u0d5f\u5afe\u0003\u0002\u0002\u0002", + "\u0d61\u5b11\u0003\u0002\u0002\u0002\u0d63\u5b24\u0003\u0002\u0002\u0002", + "\u0d65\u5b35\u0003\u0002\u0002\u0002\u0d67\u5b49\u0003\u0002\u0002\u0002", + "\u0d69\u5b5b\u0003\u0002\u0002\u0002\u0d6b\u5b67\u0003\u0002\u0002\u0002", + "\u0d6d\u5b72\u0003\u0002\u0002\u0002\u0d6f\u5b81\u0003\u0002\u0002\u0002", + "\u0d71\u5b94\u0003\u0002\u0002\u0002\u0d73\u5b9f\u0003\u0002\u0002\u0002", + "\u0d75\u5bb0\u0003\u0002\u0002\u0002\u0d77\u5bc1\u0003\u0002\u0002\u0002", + "\u0d79\u5bcc\u0003\u0002\u0002\u0002\u0d7b\u5bd7\u0003\u0002\u0002\u0002", + "\u0d7d\u5be7\u0003\u0002\u0002\u0002\u0d7f\u5bf6\u0003\u0002\u0002\u0002", + "\u0d81\u5c06\u0003\u0002\u0002\u0002\u0d83\u5c16\u0003\u0002\u0002\u0002", + "\u0d85\u5c25\u0003\u0002\u0002\u0002\u0d87\u5c32\u0003\u0002\u0002\u0002", + "\u0d89\u5c42\u0003\u0002\u0002\u0002\u0d8b\u5c50\u0003\u0002\u0002\u0002", + "\u0d8d\u5c5b\u0003\u0002\u0002\u0002\u0d8f\u5c6a\u0003\u0002\u0002\u0002", + "\u0d91\u5c77\u0003\u0002\u0002\u0002\u0d93\u5c82\u0003\u0002\u0002\u0002", + "\u0d95\u5c92\u0003\u0002\u0002\u0002\u0d97\u5c9e\u0003\u0002\u0002\u0002", + "\u0d99\u5ca9\u0003\u0002\u0002\u0002\u0d9b\u5cb5\u0003\u0002\u0002\u0002", + "\u0d9d\u5cc7\u0003\u0002\u0002\u0002\u0d9f\u5cd2\u0003\u0002\u0002\u0002", + "\u0da1\u5ce2\u0003\u0002\u0002\u0002\u0da3\u5cf1\u0003\u0002\u0002\u0002", + "\u0da5\u5cfc\u0003\u0002\u0002\u0002\u0da7\u5d08\u0003\u0002\u0002\u0002", + "\u0da9\u5d15\u0003\u0002\u0002\u0002\u0dab\u5d27\u0003\u0002\u0002\u0002", + "\u0dad\u5d38\u0003\u0002\u0002\u0002\u0daf\u5d46\u0003\u0002\u0002\u0002", + "\u0db1\u5d54\u0003\u0002\u0002\u0002\u0db3\u5d61\u0003\u0002\u0002\u0002", + "\u0db5\u5d6f\u0003\u0002\u0002\u0002\u0db7\u5d7e\u0003\u0002\u0002\u0002", + "\u0db9\u5d8a\u0003\u0002\u0002\u0002\u0dbb\u5d95\u0003\u0002\u0002\u0002", + "\u0dbd\u5dac\u0003\u0002\u0002\u0002\u0dbf\u5dbb\u0003\u0002\u0002\u0002", + "\u0dc1\u5dca\u0003\u0002\u0002\u0002\u0dc3\u5dd8\u0003\u0002\u0002\u0002", + "\u0dc5\u5de9\u0003\u0002\u0002\u0002\u0dc7\u5df8\u0003\u0002\u0002\u0002", + "\u0dc9\u5e0b\u0003\u0002\u0002\u0002\u0dcb\u5e21\u0003\u0002\u0002\u0002", + "\u0dcd\u5e35\u0003\u0002\u0002\u0002\u0dcf\u5e46\u0003\u0002\u0002\u0002", + "\u0dd1\u5e59\u0003\u0002\u0002\u0002\u0dd3\u5e6d\u0003\u0002\u0002\u0002", + "\u0dd5\u5e81\u0003\u0002\u0002\u0002\u0dd7\u5e96\u0003\u0002\u0002\u0002", + "\u0dd9\u5ea7\u0003\u0002\u0002\u0002\u0ddb\u5eb6\u0003\u0002\u0002\u0002", + "\u0ddd\u5ec6\u0003\u0002\u0002\u0002\u0ddf\u5ed4\u0003\u0002\u0002\u0002", + "\u0de1\u5ee2\u0003\u0002\u0002\u0002\u0de3\u5ef0\u0003\u0002\u0002\u0002", + "\u0de5\u5eff\u0003\u0002\u0002\u0002\u0de7\u5f0e\u0003\u0002\u0002\u0002", + "\u0de9\u5f15\u0003\u0002\u0002\u0002\u0deb\u5f22\u0003\u0002\u0002\u0002", + "\u0ded\u5f2d\u0003\u0002\u0002\u0002\u0def\u5f3a\u0003\u0002\u0002\u0002", + "\u0df1\u5f49\u0003\u0002\u0002\u0002\u0df3\u5f59\u0003\u0002\u0002\u0002", + "\u0df5\u5f65\u0003\u0002\u0002\u0002\u0df7\u5f74\u0003\u0002\u0002\u0002", + "\u0df9\u5f7f\u0003\u0002\u0002\u0002\u0dfb\u5f93\u0003\u0002\u0002\u0002", + "\u0dfd\u5fa7\u0003\u0002\u0002\u0002\u0dff\u5fb4\u0003\u0002\u0002\u0002", + "\u0e01\u5fcb\u0003\u0002\u0002\u0002\u0e03\u5fe0\u0003\u0002\u0002\u0002", + "\u0e05\u5ff9\u0003\u0002\u0002\u0002\u0e07\u600f\u0003\u0002\u0002\u0002", + "\u0e09\u6027\u0003\u0002\u0002\u0002\u0e0b\u603e\u0003\u0002\u0002\u0002", + "\u0e0d\u6053\u0003\u0002\u0002\u0002\u0e0f\u6069\u0003\u0002\u0002\u0002", + "\u0e11\u607e\u0003\u0002\u0002\u0002\u0e13\u608c\u0003\u0002\u0002\u0002", + "\u0e15\u609a\u0003\u0002\u0002\u0002\u0e17\u60ab\u0003\u0002\u0002\u0002", + "\u0e19\u60bb\u0003\u0002\u0002\u0002\u0e1b\u60ca\u0003\u0002\u0002\u0002", + "\u0e1d\u60dc\u0003\u0002\u0002\u0002\u0e1f\u60ea\u0003\u0002\u0002\u0002", + "\u0e21\u60fd\u0003\u0002\u0002\u0002\u0e23\u610d\u0003\u0002\u0002\u0002", + "\u0e25\u611b\u0003\u0002\u0002\u0002\u0e27\u6129\u0003\u0002\u0002\u0002", + "\u0e29\u6136\u0003\u0002\u0002\u0002\u0e2b\u6143\u0003\u0002\u0002\u0002", + "\u0e2d\u6156\u0003\u0002\u0002\u0002\u0e2f\u6160\u0003\u0002\u0002\u0002", + "\u0e31\u616d\u0003\u0002\u0002\u0002\u0e33\u617a\u0003\u0002\u0002\u0002", + "\u0e35\u6187\u0003\u0002\u0002\u0002\u0e37\u6196\u0003\u0002\u0002\u0002", + "\u0e39\u61a1\u0003\u0002\u0002\u0002\u0e3b\u61ab\u0003\u0002\u0002\u0002", + "\u0e3d\u61bb\u0003\u0002\u0002\u0002\u0e3f\u61ca\u0003\u0002\u0002\u0002", + "\u0e41\u61d8\u0003\u0002\u0002\u0002\u0e43\u61e6\u0003\u0002\u0002\u0002", + "\u0e45\u61f4\u0003\u0002\u0002\u0002\u0e47\u6200\u0003\u0002\u0002\u0002", + "\u0e49\u620d\u0003\u0002\u0002\u0002\u0e4b\u621a\u0003\u0002\u0002\u0002", + "\u0e4d\u6226\u0003\u0002\u0002\u0002\u0e4f\u6234\u0003\u0002\u0002\u0002", + "\u0e51\u6242\u0003\u0002\u0002\u0002\u0e53\u624d\u0003\u0002\u0002\u0002", + "\u0e55\u625b\u0003\u0002\u0002\u0002\u0e57\u626d\u0003\u0002\u0002\u0002", + "\u0e59\u6279\u0003\u0002\u0002\u0002\u0e5b\u6286\u0003\u0002\u0002\u0002", + "\u0e5d\u6296\u0003\u0002\u0002\u0002\u0e5f\u62a6\u0003\u0002\u0002\u0002", + "\u0e61\u62b2\u0003\u0002\u0002\u0002\u0e63\u62c3\u0003\u0002\u0002\u0002", + "\u0e65\u62d0\u0003\u0002\u0002\u0002\u0e67\u62dd\u0003\u0002\u0002\u0002", + "\u0e69\u62ea\u0003\u0002\u0002\u0002\u0e6b\u62f8\u0003\u0002\u0002\u0002", + "\u0e6d\u6303\u0003\u0002\u0002\u0002\u0e6f\u6314\u0003\u0002\u0002\u0002", + "\u0e71\u6324\u0003\u0002\u0002\u0002\u0e73\u6331\u0003\u0002\u0002\u0002", + "\u0e75\u6340\u0003\u0002\u0002\u0002\u0e77\u6350\u0003\u0002\u0002\u0002", + "\u0e79\u6360\u0003\u0002\u0002\u0002\u0e7b\u636c\u0003\u0002\u0002\u0002", + "\u0e7d\u637a\u0003\u0002\u0002\u0002\u0e7f\u638a\u0003\u0002\u0002\u0002", + "\u0e81\u639a\u0003\u0002\u0002\u0002\u0e83\u63ab\u0003\u0002\u0002\u0002", + "\u0e85\u63b9\u0003\u0002\u0002\u0002\u0e87\u63c7\u0003\u0002\u0002\u0002", + "\u0e89\u63d5\u0003\u0002\u0002\u0002\u0e8b\u63e5\u0003\u0002\u0002\u0002", + "\u0e8d\u63f3\u0003\u0002\u0002\u0002\u0e8f\u6401\u0003\u0002\u0002\u0002", + "\u0e91\u640f\u0003\u0002\u0002\u0002\u0e93\u641d\u0003\u0002\u0002\u0002", + "\u0e95\u642b\u0003\u0002\u0002\u0002\u0e97\u6439\u0003\u0002\u0002\u0002", + "\u0e99\u6448\u0003\u0002\u0002\u0002\u0e9b\u6456\u0003\u0002\u0002\u0002", + "\u0e9d\u6465\u0003\u0002\u0002\u0002\u0e9f\u6474\u0003\u0002\u0002\u0002", + "\u0ea1\u6482\u0003\u0002\u0002\u0002\u0ea3\u6490\u0003\u0002\u0002\u0002", + "\u0ea5\u649e\u0003\u0002\u0002\u0002\u0ea7\u64ac\u0003\u0002\u0002\u0002", + "\u0ea9\u64ba\u0003\u0002\u0002\u0002\u0eab\u64c8\u0003\u0002\u0002\u0002", + "\u0ead\u64d6\u0003\u0002\u0002\u0002\u0eaf\u64e3\u0003\u0002\u0002\u0002", + "\u0eb1\u64f1\u0003\u0002\u0002\u0002\u0eb3\u64ff\u0003\u0002\u0002\u0002", + "\u0eb5\u6511\u0003\u0002\u0002\u0002\u0eb7\u651f\u0003\u0002\u0002\u0002", + "\u0eb9\u652f\u0003\u0002\u0002\u0002\u0ebb\u653e\u0003\u0002\u0002\u0002", + "\u0ebd\u654a\u0003\u0002\u0002\u0002\u0ebf\u655b\u0003\u0002\u0002\u0002", + "\u0ec1\u6569\u0003\u0002\u0002\u0002\u0ec3\u6579\u0003\u0002\u0002\u0002", + "\u0ec5\u6587\u0003\u0002\u0002\u0002\u0ec7\u6593\u0003\u0002\u0002\u0002", + "\u0ec9\u65a0\u0003\u0002\u0002\u0002\u0ecb\u65ad\u0003\u0002\u0002\u0002", + "\u0ecd\u65bf\u0003\u0002\u0002\u0002\u0ecf\u65d0\u0003\u0002\u0002\u0002", + "\u0ed1\u65df\u0003\u0002\u0002\u0002\u0ed3\u65ef\u0003\u0002\u0002\u0002", + "\u0ed5\u65fd\u0003\u0002\u0002\u0002\u0ed7\u660d\u0003\u0002\u0002\u0002", + "\u0ed9\u661d\u0003\u0002\u0002\u0002\u0edb\u662c\u0003\u0002\u0002\u0002", + "\u0edd\u663a\u0003\u0002\u0002\u0002\u0edf\u664c\u0003\u0002\u0002\u0002", + "\u0ee1\u6658\u0003\u0002\u0002\u0002\u0ee3\u6668\u0003\u0002\u0002\u0002", + "\u0ee5\u6678\u0003\u0002\u0002\u0002\u0ee7\u6689\u0003\u0002\u0002\u0002", + "\u0ee9\u669c\u0003\u0002\u0002\u0002\u0eeb\u66aa\u0003\u0002\u0002\u0002", + "\u0eed\u66b5\u0003\u0002\u0002\u0002\u0eef\u66bc\u0003\u0002\u0002\u0002", + "\u0ef1\u66c8\u0003\u0002\u0002\u0002\u0ef3\u66ce\u0003\u0002\u0002\u0002", + "\u0ef5\u66d4\u0003\u0002\u0002\u0002\u0ef7\u66d8\u0003\u0002\u0002\u0002", + "\u0ef9\u66dd\u0003\u0002\u0002\u0002\u0efb\u66e1\u0003\u0002\u0002\u0002", + "\u0efd\u66f5\u0003\u0002\u0002\u0002\u0eff\u66fe\u0003\u0002\u0002\u0002", + "\u0f01\u6707\u0003\u0002\u0002\u0002\u0f03\u6711\u0003\u0002\u0002\u0002", + "\u0f05\u671c\u0003\u0002\u0002\u0002\u0f07\u6721\u0003\u0002\u0002\u0002", + "\u0f09\u6726\u0003\u0002\u0002\u0002\u0f0b\u672b\u0003\u0002\u0002\u0002", + "\u0f0d\u6730\u0003\u0002\u0002\u0002\u0f0f\u6734\u0003\u0002\u0002\u0002", + "\u0f11\u673b\u0003\u0002\u0002\u0002\u0f13\u6743\u0003\u0002\u0002\u0002", + "\u0f15\u6748\u0003\u0002\u0002\u0002\u0f17\u674d\u0003\u0002\u0002\u0002", + "\u0f19\u6755\u0003\u0002\u0002\u0002\u0f1b\u6771\u0003\u0002\u0002\u0002", + "\u0f1d\u677b\u0003\u0002\u0002\u0002\u0f1f\u6796\u0003\u0002\u0002\u0002", + "\u0f21\u67ae\u0003\u0002\u0002\u0002\u0f23\u67b4\u0003\u0002\u0002\u0002", + "\u0f25\u67b9\u0003\u0002\u0002\u0002\u0f27\u67c2\u0003\u0002\u0002\u0002", + "\u0f29\u67d0\u0003\u0002\u0002\u0002\u0f2b\u67de\u0003\u0002\u0002\u0002", + "\u0f2d\u67ee\u0003\u0002\u0002\u0002\u0f2f\u67fe\u0003\u0002\u0002\u0002", + "\u0f31\u680e\u0003\u0002\u0002\u0002\u0f33\u6818\u0003\u0002\u0002\u0002", + "\u0f35\u681f\u0003\u0002\u0002\u0002\u0f37\u6827\u0003\u0002\u0002\u0002", + "\u0f39\u6830\u0003\u0002\u0002\u0002\u0f3b\u6841\u0003\u0002\u0002\u0002", + "\u0f3d\u6851\u0003\u0002\u0002\u0002\u0f3f\u6859\u0003\u0002\u0002\u0002", + "\u0f41\u6861\u0003\u0002\u0002\u0002\u0f43\u686f\u0003\u0002\u0002\u0002", + "\u0f45\u6876\u0003\u0002\u0002\u0002\u0f47\u6884\u0003\u0002\u0002\u0002", + "\u0f49\u688d\u0003\u0002\u0002\u0002\u0f4b\u6896\u0003\u0002\u0002\u0002", + "\u0f4d\u68a0\u0003\u0002\u0002\u0002\u0f4f\u68a9\u0003\u0002\u0002\u0002", + "\u0f51\u68b8\u0003\u0002\u0002\u0002\u0f53\u68c5\u0003\u0002\u0002\u0002", + "\u0f55\u68d5\u0003\u0002\u0002\u0002\u0f57\u68dd\u0003\u0002\u0002\u0002", + "\u0f59\u68e8\u0003\u0002\u0002\u0002\u0f5b\u68eb\u0003\u0002\u0002\u0002", + "\u0f5d\u68f9\u0003\u0002\u0002\u0002\u0f5f\u68ff\u0003\u0002\u0002\u0002", + "\u0f61\u6907\u0003\u0002\u0002\u0002\u0f63\u6910\u0003\u0002\u0002\u0002", + "\u0f65\u6919\u0003\u0002\u0002\u0002\u0f67\u6925\u0003\u0002\u0002\u0002", + "\u0f69\u693c\u0003\u0002\u0002\u0002\u0f6b\u6949\u0003\u0002\u0002\u0002", + "\u0f6d\u6954\u0003\u0002\u0002\u0002\u0f6f\u695e\u0003\u0002\u0002\u0002", + "\u0f71\u696a\u0003\u0002\u0002\u0002\u0f73\u6970\u0003\u0002\u0002\u0002", + "\u0f75\u6979\u0003\u0002\u0002\u0002\u0f77\u6981\u0003\u0002\u0002\u0002", + "\u0f79\u6986\u0003\u0002\u0002\u0002\u0f7b\u698f\u0003\u0002\u0002\u0002", + "\u0f7d\u6995\u0003\u0002\u0002\u0002\u0f7f\u699d\u0003\u0002\u0002\u0002", + "\u0f81\u69a3\u0003\u0002\u0002\u0002\u0f83\u69aa\u0003\u0002\u0002\u0002", + "\u0f85\u69ad\u0003\u0002\u0002\u0002\u0f87\u69b3\u0003\u0002\u0002\u0002", + "\u0f89\u69b8\u0003\u0002\u0002\u0002\u0f8b\u69c2\u0003\u0002\u0002\u0002", + "\u0f8d\u69c6\u0003\u0002\u0002\u0002\u0f8f\u69ca\u0003\u0002\u0002\u0002", + "\u0f91\u69cf\u0003\u0002\u0002\u0002\u0f93\u69d3\u0003\u0002\u0002\u0002", + "\u0f95\u69de\u0003\u0002\u0002\u0002\u0f97\u69e8\u0003\u0002\u0002\u0002", + "\u0f99\u69f0\u0003\u0002\u0002\u0002\u0f9b\u69fe\u0003\u0002\u0002\u0002", + "\u0f9d\u6a04\u0003\u0002\u0002\u0002\u0f9f\u6a09\u0003\u0002\u0002\u0002", + "\u0fa1\u6a10\u0003\u0002\u0002\u0002\u0fa3\u6a18\u0003\u0002\u0002\u0002", + "\u0fa5\u6a1e\u0003\u0002\u0002\u0002\u0fa7\u6a25\u0003\u0002\u0002\u0002", + "\u0fa9\u6a2c\u0003\u0002\u0002\u0002\u0fab\u6a36\u0003\u0002\u0002\u0002", + "\u0fad\u6a3d\u0003\u0002\u0002\u0002\u0faf\u6a44\u0003\u0002\u0002\u0002", + "\u0fb1\u6a4e\u0003\u0002\u0002\u0002\u0fb3\u6a6a\u0003\u0002\u0002\u0002", + "\u0fb5\u6a88\u0003\u0002\u0002\u0002\u0fb7\u6a9a\u0003\u0002\u0002\u0002", + "\u0fb9\u6aa1\u0003\u0002\u0002\u0002\u0fbb\u6aaa\u0003\u0002\u0002\u0002", + "\u0fbd\u6ab2\u0003\u0002\u0002\u0002\u0fbf\u6ab9\u0003\u0002\u0002\u0002", + "\u0fc1\u6ac5\u0003\u0002\u0002\u0002\u0fc3\u6acf\u0003\u0002\u0002\u0002", + "\u0fc5\u6add\u0003\u0002\u0002\u0002\u0fc7\u6aea\u0003\u0002\u0002\u0002", + "\u0fc9\u6af6\u0003\u0002\u0002\u0002\u0fcb\u6afc\u0003\u0002\u0002\u0002", + "\u0fcd\u6b05\u0003\u0002\u0002\u0002\u0fcf\u6b0c\u0003\u0002\u0002\u0002", + "\u0fd1\u6b16\u0003\u0002\u0002\u0002\u0fd3\u6b1e\u0003\u0002\u0002\u0002", + "\u0fd5\u6b25\u0003\u0002\u0002\u0002\u0fd7\u6b2f\u0003\u0002\u0002\u0002", + "\u0fd9\u6b3b\u0003\u0002\u0002\u0002\u0fdb\u6b49\u0003\u0002\u0002\u0002", + "\u0fdd\u6b51\u0003\u0002\u0002\u0002\u0fdf\u6b57\u0003\u0002\u0002\u0002", + "\u0fe1\u6b5e\u0003\u0002\u0002\u0002\u0fe3\u6b65\u0003\u0002\u0002\u0002", + "\u0fe5\u6b6c\u0003\u0002\u0002\u0002\u0fe7\u6b72\u0003\u0002\u0002\u0002", + "\u0fe9\u6b7b\u0003\u0002\u0002\u0002\u0feb\u6b86\u0003\u0002\u0002\u0002", + "\u0fed\u6b8f\u0003\u0002\u0002\u0002\u0fef\u6ba4\u0003\u0002\u0002\u0002", + "\u0ff1\u6bbe\u0003\u0002\u0002\u0002\u0ff3\u6bc7\u0003\u0002\u0002\u0002", + "\u0ff5\u6bdd\u0003\u0002\u0002\u0002\u0ff7\u6bf3\u0003\u0002\u0002\u0002", + "\u0ff9\u6c07\u0003\u0002\u0002\u0002\u0ffb\u6c11\u0003\u0002\u0002\u0002", + "\u0ffd\u6c18\u0003\u0002\u0002\u0002\u0fff\u6c2a\u0003\u0002\u0002\u0002", + "\u1001\u6c3f\u0003\u0002\u0002\u0002\u1003\u6c49\u0003\u0002\u0002\u0002", + "\u1005\u6c56\u0003\u0002\u0002\u0002\u1007\u6c5e\u0003\u0002\u0002\u0002", + "\u1009\u6c68\u0003\u0002\u0002\u0002\u100b\u6c78\u0003\u0002\u0002\u0002", + "\u100d\u6c7e\u0003\u0002\u0002\u0002\u100f\u6c8f\u0003\u0002\u0002\u0002", + "\u1011\u6c94\u0003\u0002\u0002\u0002\u1013\u6c9d\u0003\u0002\u0002\u0002", + "\u1015\u6cb1\u0003\u0002\u0002\u0002\u1017\u6cc3\u0003\u0002\u0002\u0002", + "\u1019\u6cc7\u0003\u0002\u0002\u0002\u101b\u6cde\u0003\u0002\u0002\u0002", + "\u101d\u6cf1\u0003\u0002\u0002\u0002\u101f\u6d01\u0003\u0002\u0002\u0002", + "\u1021\u6d07\u0003\u0002\u0002\u0002\u1023\u6d0f\u0003\u0002\u0002\u0002", + "\u1025\u6d17\u0003\u0002\u0002\u0002\u1027\u6d1d\u0003\u0002\u0002\u0002", + "\u1029\u6d22\u0003\u0002\u0002\u0002\u102b\u6d25\u0003\u0002\u0002\u0002", + "\u102d\u6d28\u0003\u0002\u0002\u0002\u102f\u6d31\u0003\u0002\u0002\u0002", + "\u1031\u6d3c\u0003\u0002\u0002\u0002\u1033\u6d4b\u0003\u0002\u0002\u0002", + "\u1035\u6d52\u0003\u0002\u0002\u0002\u1037\u6d58\u0003\u0002\u0002\u0002", + "\u1039\u6d61\u0003\u0002\u0002\u0002\u103b\u6d69\u0003\u0002\u0002\u0002", + "\u103d\u6d72\u0003\u0002\u0002\u0002\u103f\u6d7a\u0003\u0002\u0002\u0002", + "\u1041\u6d82\u0003\u0002\u0002\u0002\u1043\u6d89\u0003\u0002\u0002\u0002", + "\u1045\u6d92\u0003\u0002\u0002\u0002\u1047\u6d9a\u0003\u0002\u0002\u0002", + "\u1049\u6dac\u0003\u0002\u0002\u0002\u104b\u6db8\u0003\u0002\u0002\u0002", + "\u104d\u6dce\u0003\u0002\u0002\u0002\u104f\u6de4\u0003\u0002\u0002\u0002", + "\u1051\u6df5\u0003\u0002\u0002\u0002\u1053\u6dfe\u0003\u0002\u0002\u0002", + "\u1055\u6e05\u0003\u0002\u0002\u0002\u1057\u6e10\u0003\u0002\u0002\u0002", + "\u1059\u6e20\u0003\u0002\u0002\u0002\u105b\u6e31\u0003\u0002\u0002\u0002", + "\u105d\u6e44\u0003\u0002\u0002\u0002\u105f\u6e56\u0003\u0002\u0002\u0002", + "\u1061\u6e69\u0003\u0002\u0002\u0002\u1063\u6e72\u0003\u0002\u0002\u0002", + "\u1065\u6e7f\u0003\u0002\u0002\u0002\u1067\u6e87\u0003\u0002\u0002\u0002", + "\u1069\u6e8c\u0003\u0002\u0002\u0002\u106b\u6e96\u0003\u0002\u0002\u0002", + "\u106d\u6e9e\u0003\u0002\u0002\u0002\u106f\u6ea9\u0003\u0002\u0002\u0002", + "\u1071\u6eb1\u0003\u0002\u0002\u0002\u1073\u6eb8\u0003\u0002\u0002\u0002", + "\u1075\u6ebe\u0003\u0002\u0002\u0002\u1077\u6ec3\u0003\u0002\u0002\u0002", + "\u1079\u6eca\u0003\u0002\u0002\u0002\u107b\u6ed2\u0003\u0002\u0002\u0002", + "\u107d\u6ed8\u0003\u0002\u0002\u0002\u107f\u6edd\u0003\u0002\u0002\u0002", + "\u1081\u6ee8\u0003\u0002\u0002\u0002\u1083\u6ef1\u0003\u0002\u0002\u0002", + "\u1085\u6ef6\u0003\u0002\u0002\u0002\u1087\u6efc\u0003\u0002\u0002\u0002", + "\u1089\u6f02\u0003\u0002\u0002\u0002\u108b\u6f0d\u0003\u0002\u0002\u0002", + "\u108d\u6f1a\u0003\u0002\u0002\u0002\u108f\u6f21\u0003\u0002\u0002\u0002", + "\u1091\u6f29\u0003\u0002\u0002\u0002\u1093\u6f34\u0003\u0002\u0002\u0002", + "\u1095\u6f39\u0003\u0002\u0002\u0002\u1097\u6f3e\u0003\u0002\u0002\u0002", + "\u1099\u6f46\u0003\u0002\u0002\u0002\u109b\u6f4e\u0003\u0002\u0002\u0002", + "\u109d\u6f54\u0003\u0002\u0002\u0002\u109f\u6f68\u0003\u0002\u0002\u0002", + "\u10a1\u6f6c\u0003\u0002\u0002\u0002\u10a3\u6f78\u0003\u0002\u0002\u0002", + "\u10a5\u6f7c\u0003\u0002\u0002\u0002\u10a7\u6f87\u0003\u0002\u0002\u0002", + "\u10a9\u6f8e\u0003\u0002\u0002\u0002\u10ab\u6f9c\u0003\u0002\u0002\u0002", + "\u10ad\u6fa4\u0003\u0002\u0002\u0002\u10af\u6fad\u0003\u0002\u0002\u0002", + "\u10b1\u6fba\u0003\u0002\u0002\u0002\u10b3\u6fc5\u0003\u0002\u0002\u0002", + "\u10b5\u6fcf\u0003\u0002\u0002\u0002\u10b7\u6fd7\u0003\u0002\u0002\u0002", + "\u10b9\u6fe8\u0003\u0002\u0002\u0002\u10bb\u6ff3\u0003\u0002\u0002\u0002", + "\u10bd\u6ffe\u0003\u0002\u0002\u0002\u10bf\u7008\u0003\u0002\u0002\u0002", + "\u10c1\u7012\u0003\u0002\u0002\u0002\u10c3\u701b\u0003\u0002\u0002\u0002", + "\u10c5\u7036\u0003\u0002\u0002\u0002\u10c7\u7047\u0003\u0002\u0002\u0002", + "\u10c9\u705c\u0003\u0002\u0002\u0002\u10cb\u7066\u0003\u0002\u0002\u0002", + "\u10cd\u7071\u0003\u0002\u0002\u0002\u10cf\u707f\u0003\u0002\u0002\u0002", + "\u10d1\u7088\u0003\u0002\u0002\u0002\u10d3\u7091\u0003\u0002\u0002\u0002", + "\u10d5\u7097\u0003\u0002\u0002\u0002\u10d7\u70a3\u0003\u0002\u0002\u0002", + "\u10d9\u70ac\u0003\u0002\u0002\u0002\u10db\u70b4\u0003\u0002\u0002\u0002", + "\u10dd\u70be\u0003\u0002\u0002\u0002\u10df\u70cb\u0003\u0002\u0002\u0002", + "\u10e1\u70d4\u0003\u0002\u0002\u0002\u10e3\u70e5\u0003\u0002\u0002\u0002", + "\u10e5\u70f2\u0003\u0002\u0002\u0002\u10e7\u70fa\u0003\u0002\u0002\u0002", + "\u10e9\u70fe\u0003\u0002\u0002\u0002\u10eb\u7109\u0003\u0002\u0002\u0002", + "\u10ed\u7118\u0003\u0002\u0002\u0002\u10ef\u711b\u0003\u0002\u0002\u0002", + "\u10f1\u7126\u0003\u0002\u0002\u0002\u10f3\u712c\u0003\u0002\u0002\u0002", + "\u10f5\u7131\u0003\u0002\u0002\u0002\u10f7\u7135\u0003\u0002\u0002\u0002", + "\u10f9\u714e\u0003\u0002\u0002\u0002\u10fb\u7156\u0003\u0002\u0002\u0002", + "\u10fd\u715b\u0003\u0002\u0002\u0002\u10ff\u7166\u0003\u0002\u0002\u0002", + "\u1101\u7178\u0003\u0002\u0002\u0002\u1103\u7188\u0003\u0002\u0002\u0002", + "\u1105\u719b\u0003\u0002\u0002\u0002\u1107\u71b2\u0003\u0002\u0002\u0002", + "\u1109\u71c1\u0003\u0002\u0002\u0002\u110b\u71cb\u0003\u0002\u0002\u0002", + "\u110d\u71d6\u0003\u0002\u0002\u0002\u110f\u71de\u0003\u0002\u0002\u0002", + "\u1111\u71eb\u0003\u0002\u0002\u0002\u1113\u71fb\u0003\u0002\u0002\u0002", + "\u1115\u720b\u0003\u0002\u0002\u0002\u1117\u7210\u0003\u0002\u0002\u0002", + "\u1119\u7214\u0003\u0002\u0002\u0002\u111b\u7219\u0003\u0002\u0002\u0002", + "\u111d\u7220\u0003\u0002\u0002\u0002\u111f\u7227\u0003\u0002\u0002\u0002", + "\u1121\u722b\u0003\u0002\u0002\u0002\u1123\u7230\u0003\u0002\u0002\u0002", + "\u1125\u7234\u0003\u0002\u0002\u0002\u1127\u723b\u0003\u0002\u0002\u0002", + "\u1129\u723f\u0003\u0002\u0002\u0002\u112b\u7245\u0003\u0002\u0002\u0002", + "\u112d\u7249\u0003\u0002\u0002\u0002\u112f\u7259\u0003\u0002\u0002\u0002", + "\u1131\u725f\u0003\u0002\u0002\u0002\u1133\u7265\u0003\u0002\u0002\u0002", + "\u1135\u7270\u0003\u0002\u0002\u0002\u1137\u7277\u0003\u0002\u0002\u0002", + "\u1139\u727f\u0003\u0002\u0002\u0002\u113b\u7284\u0003\u0002\u0002\u0002", + "\u113d\u7288\u0003\u0002\u0002\u0002\u113f\u728f\u0003\u0002\u0002\u0002", + "\u1141\u7294\u0003\u0002\u0002\u0002\u1143\u729d\u0003\u0002\u0002\u0002", + "\u1145\u72a3\u0003\u0002\u0002\u0002\u1147\u72ac\u0003\u0002\u0002\u0002", + "\u1149\u72b4\u0003\u0002\u0002\u0002\u114b\u72c1\u0003\u0002\u0002\u0002", + "\u114d\u72ce\u0003\u0002\u0002\u0002\u114f\u72db\u0003\u0002\u0002\u0002", + "\u1151\u72de\u0003\u0002\u0002\u0002\u1153\u72e1\u0003\u0002\u0002\u0002", + "\u1155\u72e5\u0003\u0002\u0002\u0002\u1157\u72f7\u0003\u0002\u0002\u0002", + "\u1159\u7303\u0003\u0002\u0002\u0002\u115b\u7313\u0003\u0002\u0002\u0002", + "\u115d\u731c\u0003\u0002\u0002\u0002\u115f\u7325\u0003\u0002\u0002\u0002", + "\u1161\u732e\u0003\u0002\u0002\u0002\u1163\u7337\u0003\u0002\u0002\u0002", + "\u1165\u7340\u0003\u0002\u0002\u0002\u1167\u7349\u0003\u0002\u0002\u0002", + "\u1169\u7352\u0003\u0002\u0002\u0002\u116b\u735b\u0003\u0002\u0002\u0002", + "\u116d\u7365\u0003\u0002\u0002\u0002\u116f\u7367\u0003\u0002\u0002\u0002", + "\u1171\u7369\u0003\u0002\u0002\u0002\u1173\u736b\u0003\u0002\u0002\u0002", + "\u1175\u736d\u0003\u0002\u0002\u0002\u1177\u7370\u0003\u0002\u0002\u0002", + "\u1179\u7372\u0003\u0002\u0002\u0002\u117b\u7374\u0003\u0002\u0002\u0002", + "\u117d\u7376\u0003\u0002\u0002\u0002\u117f\u7378\u0003\u0002\u0002\u0002", + "\u1181\u737a\u0003\u0002\u0002\u0002\u1183\u737c\u0003\u0002\u0002\u0002", + "\u1185\u738d\u0003\u0002\u0002\u0002\u1187\u7397\u0003\u0002\u0002\u0002", + "\u1189\u7399\u0003\u0002\u0002\u0002\u118b\u739b\u0003\u0002\u0002\u0002", + "\u118d\u739d\u0003\u0002\u0002\u0002\u118f\u739f\u0003\u0002\u0002\u0002", + "\u1191\u73a1\u0003\u0002\u0002\u0002\u1193\u73a3\u0003\u0002\u0002\u0002", + "\u1195\u73a5\u0003\u0002\u0002\u0002\u1197\u73a7\u0003\u0002\u0002\u0002", + "\u1199\u73a9\u0003\u0002\u0002\u0002\u119b\u73ab\u0003\u0002\u0002\u0002", + "\u119d\u73ad\u0003\u0002\u0002\u0002\u119f\u73af\u0003\u0002\u0002\u0002", + "\u11a1\u73b1\u0003\u0002\u0002\u0002\u11a3\u73be\u0003\u0002\u0002\u0002", + "\u11a5\u73cc\u0003\u0002\u0002\u0002\u11a7\u73e3\u0003\u0002\u0002\u0002", + "\u11a9\u73f8\u0003\u0002\u0002\u0002\u11ab\u7405\u0003\u0002\u0002\u0002", + "\u11ad\u740e\u0003\u0002\u0002\u0002\u11af\u7416\u0003\u0002\u0002\u0002", + "\u11b1\u7418\u0003\u0002\u0002\u0002\u11b3\u741a\u0003\u0002\u0002\u0002", + "\u11b5\u741f\u0003\u0002\u0002\u0002\u11b7\u742b\u0003\u0002\u0002\u0002", + "\u11b9\u742f\u0003\u0002\u0002\u0002\u11bb\u11bc\u0007C\u0002\u0002", + "\u11bc\u11bd\u0007D\u0002\u0002\u11bd\u11be\u0007Q\u0002\u0002\u11be", + "\u11bf\u0007T\u0002\u0002\u11bf\u11c0\u0007V\u0002\u0002\u11c0\u0004", + "\u0003\u0002\u0002\u0002\u11c1\u11c2\u0007C\u0002\u0002\u11c2\u11c3", + "\u0007D\u0002\u0002\u11c3\u11c4\u0007U\u0002\u0002\u11c4\u0006\u0003", + "\u0002\u0002\u0002\u11c5\u11c6\u0007C\u0002\u0002\u11c6\u11c7\u0007", + "E\u0002\u0002\u11c7\u11c8\u0007E\u0002\u0002\u11c8\u11c9\u0007G\u0002", + "\u0002\u11c9\u11ca\u0007U\u0002\u0002\u11ca\u11cb\u0007U\u0002\u0002", + "\u11cb\b\u0003\u0002\u0002\u0002\u11cc\u11cd\u0007C\u0002\u0002\u11cd", + "\u11ce\u0007E\u0002\u0002\u11ce\u11cf\u0007E\u0002\u0002\u11cf\u11d0", + "\u0007G\u0002\u0002\u11d0\u11d1\u0007U\u0002\u0002\u11d1\u11d2\u0007", + "U\u0002\u0002\u11d2\u11d3\u0007G\u0002\u0002\u11d3\u11d4\u0007F\u0002", + "\u0002\u11d4\n\u0003\u0002\u0002\u0002\u11d5\u11d6\u0007C\u0002\u0002", + "\u11d6\u11d7\u0007E\u0002\u0002\u11d7\u11d8\u0007E\u0002\u0002\u11d8", + "\u11d9\u0007Q\u0002\u0002\u11d9\u11da\u0007W\u0002\u0002\u11da\u11db", + "\u0007P\u0002\u0002\u11db\u11dc\u0007V\u0002\u0002\u11dc\f\u0003\u0002", + "\u0002\u0002\u11dd\u11de\u0007C\u0002\u0002\u11de\u11df\u0007E\u0002", + "\u0002\u11df\u11e0\u0007N\u0002\u0002\u11e0\u000e\u0003\u0002\u0002", + "\u0002\u11e1\u11e2\u0007C\u0002\u0002\u11e2\u11e3\u0007E\u0002\u0002", + "\u11e3\u11e4\u0007Q\u0002\u0002\u11e4\u11e5\u0007U\u0002\u0002\u11e5", + "\u0010\u0003\u0002\u0002\u0002\u11e6\u11e7\u0007C\u0002\u0002\u11e7", + "\u11e8\u0007E\u0002\u0002\u11e8\u11e9\u0007V\u0002\u0002\u11e9\u11ea", + "\u0007K\u0002\u0002\u11ea\u11eb\u0007Q\u0002\u0002\u11eb\u11ec\u0007", + "P\u0002\u0002\u11ec\u0012\u0003\u0002\u0002\u0002\u11ed\u11ee\u0007", + "C\u0002\u0002\u11ee\u11ef\u0007E\u0002\u0002\u11ef\u11f0\u0007V\u0002", + "\u0002\u11f0\u11f1\u0007K\u0002\u0002\u11f1\u11f2\u0007Q\u0002\u0002", + "\u11f2\u11f3\u0007P\u0002\u0002\u11f3\u11f4\u0007U\u0002\u0002\u11f4", + "\u0014\u0003\u0002\u0002\u0002\u11f5\u11f6\u0007C\u0002\u0002\u11f6", + "\u11f7\u0007E\u0002\u0002\u11f7\u11f8\u0007V\u0002\u0002\u11f8\u11f9", + "\u0007K\u0002\u0002\u11f9\u11fa\u0007X\u0002\u0002\u11fa\u11fb\u0007", + "C\u0002\u0002\u11fb\u11fc\u0007V\u0002\u0002\u11fc\u11fd\u0007G\u0002", + "\u0002\u11fd\u0016\u0003\u0002\u0002\u0002\u11fe\u11ff\u0007C\u0002", + "\u0002\u11ff\u1200\u0007E\u0002\u0002\u1200\u1201\u0007V\u0002\u0002", + "\u1201\u1202\u0007K\u0002\u0002\u1202\u1203\u0007X\u0002\u0002\u1203", + "\u1204\u0007G\u0002\u0002\u1204\u0018\u0003\u0002\u0002\u0002\u1205", + "\u1206\u0007C\u0002\u0002\u1206\u1207\u0007E\u0002\u0002\u1207\u1208", + "\u0007V\u0002\u0002\u1208\u1209\u0007K\u0002\u0002\u1209\u120a\u0007", + "X\u0002\u0002\u120a\u120b\u0007G\u0002\u0002\u120b\u120c\u0007a\u0002", + "\u0002\u120c\u120d\u0007E\u0002\u0002\u120d\u120e\u0007Q\u0002\u0002", + "\u120e\u120f\u0007O\u0002\u0002\u120f\u1210\u0007R\u0002\u0002\u1210", + "\u1211\u0007Q\u0002\u0002\u1211\u1212\u0007P\u0002\u0002\u1212\u1213", + "\u0007G\u0002\u0002\u1213\u1214\u0007P\u0002\u0002\u1214\u1215\u0007", + "V\u0002\u0002\u1215\u001a\u0003\u0002\u0002\u0002\u1216\u1217\u0007", + "C\u0002\u0002\u1217\u1218\u0007E\u0002\u0002\u1218\u1219\u0007V\u0002", + "\u0002\u1219\u121a\u0007K\u0002\u0002\u121a\u121b\u0007X\u0002\u0002", + "\u121b\u121c\u0007G\u0002\u0002\u121c\u121d\u0007a\u0002\u0002\u121d", + "\u121e\u0007F\u0002\u0002\u121e\u121f\u0007C\u0002\u0002\u121f\u1220", + "\u0007V\u0002\u0002\u1220\u1221\u0007C\u0002\u0002\u1221\u001c\u0003", + "\u0002\u0002\u0002\u1222\u1223\u0007C\u0002\u0002\u1223\u1224\u0007", + "E\u0002\u0002\u1224\u1225\u0007V\u0002\u0002\u1225\u1226\u0007K\u0002", + "\u0002\u1226\u1227\u0007X\u0002\u0002\u1227\u1228\u0007G\u0002\u0002", + "\u1228\u1229\u0007a\u0002\u0002\u1229\u122a\u0007H\u0002\u0002\u122a", + "\u122b\u0007W\u0002\u0002\u122b\u122c\u0007P\u0002\u0002\u122c\u122d", + "\u0007E\u0002\u0002\u122d\u122e\u0007V\u0002\u0002\u122e\u122f\u0007", + "K\u0002\u0002\u122f\u1230\u0007Q\u0002\u0002\u1230\u1231\u0007P\u0002", + "\u0002\u1231\u001e\u0003\u0002\u0002\u0002\u1232\u1233\u0007C\u0002", + "\u0002\u1233\u1234\u0007E\u0002\u0002\u1234\u1235\u0007V\u0002\u0002", + "\u1235\u1236\u0007K\u0002\u0002\u1236\u1237\u0007X\u0002\u0002\u1237", + "\u1238\u0007G\u0002\u0002\u1238\u1239\u0007a\u0002\u0002\u1239\u123a", + "\u0007V\u0002\u0002\u123a\u123b\u0007C\u0002\u0002\u123b\u123c\u0007", + "I\u0002\u0002\u123c \u0003\u0002\u0002\u0002\u123d\u123e\u0007C\u0002", + "\u0002\u123e\u123f\u0007E\u0002\u0002\u123f\u1240\u0007V\u0002\u0002", + "\u1240\u1241\u0007K\u0002\u0002\u1241\u1242\u0007X\u0002\u0002\u1242", + "\u1243\u0007K\u0002\u0002\u1243\u1244\u0007V\u0002\u0002\u1244\u1245", + "\u0007[\u0002\u0002\u1245\"\u0003\u0002\u0002\u0002\u1246\u1247\u0007", + "C\u0002\u0002\u1247\u1248\u0007F\u0002\u0002\u1248\u1249\u0007C\u0002", + "\u0002\u1249\u124a\u0007R\u0002\u0002\u124a\u124b\u0007V\u0002\u0002", + "\u124b\u124c\u0007K\u0002\u0002\u124c\u124d\u0007X\u0002\u0002\u124d", + "\u124e\u0007G\u0002\u0002\u124e\u124f\u0007a\u0002\u0002\u124f\u1250", + "\u0007R\u0002\u0002\u1250\u1251\u0007N\u0002\u0002\u1251\u1252\u0007", + "C\u0002\u0002\u1252\u1253\u0007P\u0002\u0002\u1253$\u0003\u0002\u0002", + "\u0002\u1254\u1255\u0007C\u0002\u0002\u1255\u1256\u0007F\u0002\u0002", + "\u1256\u1257\u0007F\u0002\u0002\u1257&\u0003\u0002\u0002\u0002\u1258", + "\u1259\u0007C\u0002\u0002\u1259\u125a\u0007F\u0002\u0002\u125a\u125b", + "\u0007F\u0002\u0002\u125b\u125c\u0007a\u0002\u0002\u125c\u125d\u0007", + "E\u0002\u0002\u125d\u125e\u0007Q\u0002\u0002\u125e\u125f\u0007N\u0002", + "\u0002\u125f\u1260\u0007W\u0002\u0002\u1260\u1261\u0007O\u0002\u0002", + "\u1261\u1262\u0007P\u0002\u0002\u1262(\u0003\u0002\u0002\u0002\u1263", + "\u1264\u0007C\u0002\u0002\u1264\u1265\u0007F\u0002\u0002\u1265\u1266", + "\u0007F\u0002\u0002\u1266\u1267\u0007a\u0002\u0002\u1267\u1268\u0007", + "I\u0002\u0002\u1268\u1269\u0007T\u0002\u0002\u1269\u126a\u0007Q\u0002", + "\u0002\u126a\u126b\u0007W\u0002\u0002\u126b\u126c\u0007R\u0002\u0002", + "\u126c*\u0003\u0002\u0002\u0002\u126d\u126e\u0007C\u0002\u0002\u126e", + "\u126f\u0007F\u0002\u0002\u126f\u1270\u0007F\u0002\u0002\u1270\u1271", + "\u0007a\u0002\u0002\u1271\u1272\u0007O\u0002\u0002\u1272\u1273\u0007", + "Q\u0002\u0002\u1273\u1274\u0007P\u0002\u0002\u1274\u1275\u0007V\u0002", + "\u0002\u1275\u1276\u0007J\u0002\u0002\u1276\u1277\u0007U\u0002\u0002", + "\u1277,\u0003\u0002\u0002\u0002\u1278\u1279\u0007C\u0002\u0002\u1279", + "\u127a\u0007F\u0002\u0002\u127a\u127b\u0007L\u0002\u0002\u127b\u127c", + "\u0007a\u0002\u0002\u127c\u127d\u0007F\u0002\u0002\u127d\u127e\u0007", + "C\u0002\u0002\u127e\u127f\u0007V\u0002\u0002\u127f\u1280\u0007G\u0002", + "\u0002\u1280.\u0003\u0002\u0002\u0002\u1281\u1282\u0007C\u0002\u0002", + "\u1282\u1283\u0007F\u0002\u0002\u1283\u1284\u0007O\u0002\u0002\u1284", + "\u1285\u0007K\u0002\u0002\u1285\u1286\u0007P\u0002\u0002\u12860\u0003", + "\u0002\u0002\u0002\u1287\u1288\u0007C\u0002\u0002\u1288\u1289\u0007", + "F\u0002\u0002\u1289\u128a\u0007O\u0002\u0002\u128a\u128b\u0007K\u0002", + "\u0002\u128b\u128c\u0007P\u0002\u0002\u128c\u128d\u0007K\u0002\u0002", + "\u128d\u128e\u0007U\u0002\u0002\u128e\u128f\u0007V\u0002\u0002\u128f", + "\u1290\u0007G\u0002\u0002\u1290\u1291\u0007T\u0002\u0002\u12912\u0003", + "\u0002\u0002\u0002\u1292\u1293\u0007C\u0002\u0002\u1293\u1294\u0007", + "F\u0002\u0002\u1294\u1295\u0007O\u0002\u0002\u1295\u1296\u0007K\u0002", + "\u0002\u1296\u1297\u0007P\u0002\u0002\u1297\u1298\u0007K\u0002\u0002", + "\u1298\u1299\u0007U\u0002\u0002\u1299\u129a\u0007V\u0002\u0002\u129a", + "\u129b\u0007T\u0002\u0002\u129b\u129c\u0007C\u0002\u0002\u129c\u129d", + "\u0007V\u0002\u0002\u129d\u129e\u0007Q\u0002\u0002\u129e\u129f\u0007", + "T\u0002\u0002\u129f4\u0003\u0002\u0002\u0002\u12a0\u12a1\u0007C\u0002", + "\u0002\u12a1\u12a2\u0007F\u0002\u0002\u12a2\u12a3\u0007X\u0002\u0002", + "\u12a3\u12a4\u0007C\u0002\u0002\u12a4\u12a5\u0007P\u0002\u0002\u12a5", + "\u12a6\u0007E\u0002\u0002\u12a6\u12a7\u0007G\u0002\u0002\u12a7\u12a8", + "\u0007F\u0002\u0002\u12a86\u0003\u0002\u0002\u0002\u12a9\u12aa\u0007", + "C\u0002\u0002\u12aa\u12ab\u0007F\u0002\u0002\u12ab\u12ac\u0007X\u0002", + "\u0002\u12ac\u12ad\u0007K\u0002\u0002\u12ad\u12ae\u0007U\u0002\u0002", + "\u12ae\u12af\u0007G\u0002\u0002\u12af8\u0003\u0002\u0002\u0002\u12b0", + "\u12b1\u0007C\u0002\u0002\u12b1\u12b2\u0007F\u0002\u0002\u12b2\u12b3", + "\u0007X\u0002\u0002\u12b3\u12b4\u0007K\u0002\u0002\u12b4\u12b5\u0007", + "U\u0002\u0002\u12b5\u12b6\u0007Q\u0002\u0002\u12b6\u12b7\u0007T\u0002", + "\u0002\u12b7:\u0003\u0002\u0002\u0002\u12b8\u12b9\u0007C\u0002\u0002", + "\u12b9\u12ba\u0007H\u0002\u0002\u12ba\u12bb\u0007F\u0002\u0002\u12bb", + "\u12bc\u0007a\u0002\u0002\u12bc\u12bd\u0007F\u0002\u0002\u12bd\u12be", + "\u0007K\u0002\u0002\u12be\u12bf\u0007U\u0002\u0002\u12bf\u12c0\u0007", + "M\u0002\u0002\u12c0\u12c1\u0007U\u0002\u0002\u12c1\u12c2\u0007V\u0002", + "\u0002\u12c2\u12c3\u0007T\u0002\u0002\u12c3\u12c4\u0007K\u0002\u0002", + "\u12c4\u12c5\u0007P\u0002\u0002\u12c5\u12c6\u0007I\u0002\u0002\u12c6", + "<\u0003\u0002\u0002\u0002\u12c7\u12c8\u0007C\u0002\u0002\u12c8\u12c9", + "\u0007H\u0002\u0002\u12c9\u12ca\u0007V\u0002\u0002\u12ca\u12cb\u0007", + "G\u0002\u0002\u12cb\u12cc\u0007T\u0002\u0002\u12cc>\u0003\u0002\u0002", + "\u0002\u12cd\u12ce\u0007C\u0002\u0002\u12ce\u12cf\u0007I\u0002\u0002", + "\u12cf\u12d0\u0007G\u0002\u0002\u12d0\u12d1\u0007P\u0002\u0002\u12d1", + "\u12d2\u0007V\u0002\u0002\u12d2@\u0003\u0002\u0002\u0002\u12d3\u12d4", + "\u0007C\u0002\u0002\u12d4\u12d5\u0007I\u0002\u0002\u12d5\u12d6\u0007", + "I\u0002\u0002\u12d6\u12d7\u0007T\u0002\u0002\u12d7\u12d8\u0007G\u0002", + "\u0002\u12d8\u12d9\u0007I\u0002\u0002\u12d9\u12da\u0007C\u0002\u0002", + "\u12da\u12db\u0007V\u0002\u0002\u12db\u12dc\u0007G\u0002\u0002\u12dc", + "B\u0003\u0002\u0002\u0002\u12dd\u12de\u0007C\u0002\u0002\u12deD\u0003", + "\u0002\u0002\u0002\u12df\u12e0\u0007C\u0002\u0002\u12e0\u12e1\u0007", + "N\u0002\u0002\u12e1\u12e2\u0007K\u0002\u0002\u12e2\u12e3\u0007C\u0002", + "\u0002\u12e3\u12e4\u0007U\u0002\u0002\u12e4F\u0003\u0002\u0002\u0002", + "\u12e5\u12e6\u0007C\u0002\u0002\u12e6\u12e7\u0007N\u0002\u0002\u12e7", + "\u12e8\u0007N\u0002\u0002\u12e8H\u0003\u0002\u0002\u0002\u12e9\u12ea", + "\u0007C\u0002\u0002\u12ea\u12eb\u0007N\u0002\u0002\u12eb\u12ec\u0007", + "N\u0002\u0002\u12ec\u12ed\u0007Q\u0002\u0002\u12ed\u12ee\u0007E\u0002", + "\u0002\u12ee\u12ef\u0007C\u0002\u0002\u12ef\u12f0\u0007V\u0002\u0002", + "\u12f0\u12f1\u0007G\u0002\u0002\u12f1J\u0003\u0002\u0002\u0002\u12f2", + "\u12f3\u0007C\u0002\u0002\u12f3\u12f4\u0007N\u0002\u0002\u12f4\u12f5", + "\u0007N\u0002\u0002\u12f5\u12f6\u0007Q\u0002\u0002\u12f6\u12f7\u0007", + "Y\u0002\u0002\u12f7L\u0003\u0002\u0002\u0002\u12f8\u12f9\u0007C\u0002", + "\u0002\u12f9\u12fa\u0007N\u0002\u0002\u12fa\u12fb\u0007N\u0002\u0002", + "\u12fb\u12fc\u0007a\u0002\u0002\u12fc\u12fd\u0007T\u0002\u0002\u12fd", + "\u12fe\u0007Q\u0002\u0002\u12fe\u12ff\u0007Y\u0002\u0002\u12ff\u1300", + "\u0007U\u0002\u0002\u1300N\u0003\u0002\u0002\u0002\u1301\u1302\u0007", + "C\u0002\u0002\u1302\u1303\u0007N\u0002\u0002\u1303\u1304\u0007V\u0002", + "\u0002\u1304\u1305\u0007G\u0002\u0002\u1305\u1306\u0007T\u0002\u0002", + "\u1306P\u0003\u0002\u0002\u0002\u1307\u1308\u0007C\u0002\u0002\u1308", + "\u1309\u0007N\u0002\u0002\u1309\u130a\u0007Y\u0002\u0002\u130a\u130b", + "\u0007C\u0002\u0002\u130b\u130c\u0007[\u0002\u0002\u130c\u130d\u0007", + "U\u0002\u0002\u130dR\u0003\u0002\u0002\u0002\u130e\u130f\u0007C\u0002", + "\u0002\u130f\u1310\u0007P\u0002\u0002\u1310\u1311\u0007C\u0002\u0002", + "\u1311\u1312\u0007N\u0002\u0002\u1312\u1313\u0007[\u0002\u0002\u1313", + "\u1314\u0007\\\u0002\u0002\u1314\u1315\u0007G\u0002\u0002\u1315T\u0003", + "\u0002\u0002\u0002\u1316\u1317\u0007C\u0002\u0002\u1317\u1318\u0007", + "P\u0002\u0002\u1318\u1319\u0007E\u0002\u0002\u1319\u131a\u0007K\u0002", + "\u0002\u131a\u131b\u0007N\u0002\u0002\u131b\u131c\u0007N\u0002\u0002", + "\u131c\u131d\u0007C\u0002\u0002\u131d\u131e\u0007T\u0002\u0002\u131e", + "\u131f\u0007[\u0002\u0002\u131fV\u0003\u0002\u0002\u0002\u1320\u1321", + "\u0007C\u0002\u0002\u1321\u1322\u0007P\u0002\u0002\u1322\u1323\u0007", + "F\u0002\u0002\u1323X\u0003\u0002\u0002\u0002\u1324\u1325\u0007C\u0002", + "\u0002\u1325\u1326\u0007P\u0002\u0002\u1326\u1327\u0007F\u0002\u0002", + "\u1327\u1328\u0007a\u0002\u0002\u1328\u1329\u0007G\u0002\u0002\u1329", + "\u132a\u0007S\u0002\u0002\u132a\u132b\u0007W\u0002\u0002\u132b\u132c", + "\u0007C\u0002\u0002\u132c\u132d\u0007N\u0002\u0002\u132dZ\u0003\u0002", + "\u0002\u0002\u132e\u132f\u0007C\u0002\u0002\u132f\u1330\u0007P\u0002", + "\u0002\u1330\u1331\u0007Q\u0002\u0002\u1331\u1332\u0007O\u0002\u0002", + "\u1332\u1333\u0007C\u0002\u0002\u1333\u1334\u0007N\u0002\u0002\u1334", + "\u1335\u0007[\u0002\u0002\u1335\\\u0003\u0002\u0002\u0002\u1336\u1337", + "\u0007C\u0002\u0002\u1337\u1338\u0007P\u0002\u0002\u1338\u1339\u0007", + "U\u0002\u0002\u1339\u133a\u0007K\u0002\u0002\u133a\u133b\u0007a\u0002", + "\u0002\u133b\u133c\u0007T\u0002\u0002\u133c\u133d\u0007G\u0002\u0002", + "\u133d\u133e\u0007C\u0002\u0002\u133e\u133f\u0007T\u0002\u0002\u133f", + "\u1340\u0007E\u0002\u0002\u1340\u1341\u0007J\u0002\u0002\u1341^\u0003", + "\u0002\u0002\u0002\u1342\u1343\u0007C\u0002\u0002\u1343\u1344\u0007", + "P\u0002\u0002\u1344\u1345\u0007V\u0002\u0002\u1345\u1346\u0007K\u0002", + "\u0002\u1346\u1347\u0007L\u0002\u0002\u1347\u1348\u0007Q\u0002\u0002", + "\u1348\u1349\u0007K\u0002\u0002\u1349\u134a\u0007P\u0002\u0002\u134a", + "`\u0003\u0002\u0002\u0002\u134b\u134c\u0007C\u0002\u0002\u134c\u134d", + "\u0007P\u0002\u0002\u134d\u134e\u0007[\u0002\u0002\u134eb\u0003\u0002", + "\u0002\u0002\u134f\u1350\u0007C\u0002\u0002\u1350\u1351\u0007P\u0002", + "\u0002\u1351\u1352\u0007[\u0002\u0002\u1352\u1353\u0007U\u0002\u0002", + "\u1353\u1354\u0007E\u0002\u0002\u1354\u1355\u0007J\u0002\u0002\u1355", + "\u1356\u0007G\u0002\u0002\u1356\u1357\u0007O\u0002\u0002\u1357\u1358", + "\u0007C\u0002\u0002\u1358d\u0003\u0002\u0002\u0002\u1359\u135a\u0007", + "C\u0002\u0002\u135a\u135b\u0007R\u0002\u0002\u135b\u135c\u0007R\u0002", + "\u0002\u135c\u135d\u0007G\u0002\u0002\u135d\u135e\u0007P\u0002\u0002", + "\u135e\u135f\u0007F\u0002\u0002\u135ff\u0003\u0002\u0002\u0002\u1360", + "\u1361\u0007C\u0002\u0002\u1361\u1362\u0007R\u0002\u0002\u1362\u1363", + "\u0007R\u0002\u0002\u1363\u1364\u0007G\u0002\u0002\u1364\u1365\u0007", + "P\u0002\u0002\u1365\u1366\u0007F\u0002\u0002\u1366\u1367\u0007E\u0002", + "\u0002\u1367\u1368\u0007J\u0002\u0002\u1368\u1369\u0007K\u0002\u0002", + "\u1369\u136a\u0007N\u0002\u0002\u136a\u136b\u0007F\u0002\u0002\u136b", + "\u136c\u0007Z\u0002\u0002\u136c\u136d\u0007O\u0002\u0002\u136d\u136e", + "\u0007N\u0002\u0002\u136eh\u0003\u0002\u0002\u0002\u136f\u1370\u0007", + "C\u0002\u0002\u1370\u1371\u0007R\u0002\u0002\u1371\u1372\u0007R\u0002", + "\u0002\u1372\u1373\u0007G\u0002\u0002\u1373\u1374\u0007P\u0002\u0002", + "\u1374\u1375\u0007F\u0002\u0002\u1375\u1376\u0007a\u0002\u0002\u1376", + "\u1377\u0007X\u0002\u0002\u1377\u1378\u0007C\u0002\u0002\u1378\u1379", + "\u0007N\u0002\u0002\u1379\u137a\u0007W\u0002\u0002\u137a\u137b\u0007", + "G\u0002\u0002\u137b\u137c\u0007U\u0002\u0002\u137cj\u0003\u0002\u0002", + "\u0002\u137d\u137e\u0007C\u0002\u0002\u137e\u137f\u0007R\u0002\u0002", + "\u137f\u1380\u0007R\u0002\u0002\u1380\u1381\u0007N\u0002\u0002\u1381", + "\u1382\u0007K\u0002\u0002\u1382\u1383\u0007E\u0002\u0002\u1383\u1384", + "\u0007C\u0002\u0002\u1384\u1385\u0007V\u0002\u0002\u1385\u1386\u0007", + "K\u0002\u0002\u1386\u1387\u0007Q\u0002\u0002\u1387\u1388\u0007P\u0002", + "\u0002\u1388l\u0003\u0002\u0002\u0002\u1389\u138a\u0007C\u0002\u0002", + "\u138a\u138b\u0007R\u0002\u0002\u138b\u138c\u0007R\u0002\u0002\u138c", + "\u138d\u0007N\u0002\u0002\u138d\u138e\u0007[\u0002\u0002\u138en\u0003", + "\u0002\u0002\u0002\u138f\u1390\u0007C\u0002\u0002\u1390\u1391\u0007", + "R\u0002\u0002\u1391\u1392\u0007R\u0002\u0002\u1392\u1393\u0007T\u0002", + "\u0002\u1393\u1394\u0007Q\u0002\u0002\u1394\u1395\u0007Z\u0002\u0002", + "\u1395\u1396\u0007a\u0002\u0002\u1396\u1397\u0007E\u0002\u0002\u1397", + "\u1398\u0007Q\u0002\u0002\u1398\u1399\u0007W\u0002\u0002\u1399\u139a", + "\u0007P\u0002\u0002\u139a\u139b\u0007V\u0002\u0002\u139b\u139c\u0007", + "a\u0002\u0002\u139c\u139d\u0007F\u0002\u0002\u139d\u139e\u0007K\u0002", + "\u0002\u139e\u139f\u0007U\u0002\u0002\u139f\u13a0\u0007V\u0002\u0002", + "\u13a0\u13a1\u0007K\u0002\u0002\u13a1\u13a2\u0007P\u0002\u0002\u13a2", + "\u13a3\u0007E\u0002\u0002\u13a3\u13a4\u0007V\u0002\u0002\u13a4p\u0003", + "\u0002\u0002\u0002\u13a5\u13a6\u0007C\u0002\u0002\u13a6\u13a7\u0007", + "T\u0002\u0002\u13a7\u13a8\u0007E\u0002\u0002\u13a8\u13a9\u0007J\u0002", + "\u0002\u13a9\u13aa\u0007K\u0002\u0002\u13aa\u13ab\u0007X\u0002\u0002", + "\u13ab\u13ac\u0007C\u0002\u0002\u13ac\u13ad\u0007N\u0002\u0002\u13ad", + "r\u0003\u0002\u0002\u0002\u13ae\u13af\u0007C\u0002\u0002\u13af\u13b0", + "\u0007T\u0002\u0002\u13b0\u13b1\u0007E\u0002\u0002\u13b1\u13b2\u0007", + "J\u0002\u0002\u13b2\u13b3\u0007K\u0002\u0002\u13b3\u13b4\u0007X\u0002", + "\u0002\u13b4\u13b5\u0007G\u0002\u0002\u13b5t\u0003\u0002\u0002\u0002", + "\u13b6\u13b7\u0007C\u0002\u0002\u13b7\u13b8\u0007T\u0002\u0002\u13b8", + "\u13b9\u0007E\u0002\u0002\u13b9\u13ba\u0007J\u0002\u0002\u13ba\u13bb", + "\u0007K\u0002\u0002\u13bb\u13bc\u0007X\u0002\u0002\u13bc\u13bd\u0007", + "G\u0002\u0002\u13bd\u13be\u0007F\u0002\u0002\u13bev\u0003\u0002\u0002", + "\u0002\u13bf\u13c0\u0007C\u0002\u0002\u13c0\u13c1\u0007T\u0002\u0002", + "\u13c1\u13c2\u0007E\u0002\u0002\u13c2\u13c3\u0007J\u0002\u0002\u13c3", + "\u13c4\u0007K\u0002\u0002\u13c4\u13c5\u0007X\u0002\u0002\u13c5\u13c6", + "\u0007G\u0002\u0002\u13c6\u13c7\u0007N\u0002\u0002\u13c7\u13c8\u0007", + "Q\u0002\u0002\u13c8\u13c9\u0007I\u0002\u0002\u13c9x\u0003\u0002\u0002", + "\u0002\u13ca\u13cb\u0007C\u0002\u0002\u13cb\u13cc\u0007T\u0002\u0002", + "\u13cc\u13cd\u0007T\u0002\u0002\u13cd\u13ce\u0007C\u0002\u0002\u13ce", + "\u13cf\u0007[\u0002\u0002\u13cfz\u0003\u0002\u0002\u0002\u13d0\u13d1", + "\u0007C\u0002\u0002\u13d1\u13d2\u0007U\u0002\u0002\u13d2|\u0003\u0002", + "\u0002\u0002\u13d3\u13d4\u0007C\u0002\u0002\u13d4\u13d5\u0007U\u0002", + "\u0002\u13d5\u13d6\u0007E\u0002\u0002\u13d6~\u0003\u0002\u0002\u0002", + "\u13d7\u13d8\u0007C\u0002\u0002\u13d8\u13d9\u0007U\u0002\u0002\u13d9", + "\u13da\u0007E\u0002\u0002\u13da\u13db\u0007K\u0002\u0002\u13db\u13dc", + "\u0007K\u0002\u0002\u13dc\u0080\u0003\u0002\u0002\u0002\u13dd\u13de", + "\u0007C\u0002\u0002\u13de\u13df\u0007U\u0002\u0002\u13df\u13e0\u0007", + "E\u0002\u0002\u13e0\u13e1\u0007K\u0002\u0002\u13e1\u13e2\u0007K\u0002", + "\u0002\u13e2\u13e3\u0007U\u0002\u0002\u13e3\u13e4\u0007V\u0002\u0002", + "\u13e4\u13e5\u0007T\u0002\u0002\u13e5\u0082\u0003\u0002\u0002\u0002", + "\u13e6\u13e7\u0007C\u0002\u0002\u13e7\u13e8\u0007U\u0002\u0002\u13e8", + "\u13e9\u0007K\u0002\u0002\u13e9\u13ea\u0007P\u0002\u0002\u13ea\u0084", + "\u0003\u0002\u0002\u0002\u13eb\u13ec\u0007C\u0002\u0002\u13ec\u13ed", + "\u0007U\u0002\u0002\u13ed\u13ee\u0007K\u0002\u0002\u13ee\u13ef\u0007", + "U\u0002\u0002\u13ef\u0086\u0003\u0002\u0002\u0002\u13f0\u13f1\u0007", + "C\u0002\u0002\u13f1\u13f2\u0007U\u0002\u0002\u13f2\u13f3\u0007U\u0002", + "\u0002\u13f3\u13f4\u0007G\u0002\u0002\u13f4\u13f5\u0007O\u0002\u0002", + "\u13f5\u13f6\u0007D\u0002\u0002\u13f6\u13f7\u0007N\u0002\u0002\u13f7", + "\u13f8\u0007[\u0002\u0002\u13f8\u0088\u0003\u0002\u0002\u0002\u13f9", + "\u13fa\u0007C\u0002\u0002\u13fa\u13fb\u0007U\u0002\u0002\u13fb\u13fc", + "\u0007U\u0002\u0002\u13fc\u13fd\u0007K\u0002\u0002\u13fd\u13fe\u0007", + "I\u0002\u0002\u13fe\u13ff\u0007P\u0002\u0002\u13ff\u008a\u0003\u0002", + "\u0002\u0002\u1400\u1401\u0007C\u0002\u0002\u1401\u1402\u0007U\u0002", + "\u0002\u1402\u1403\u0007U\u0002\u0002\u1403\u1404\u0007Q\u0002\u0002", + "\u1404\u1405\u0007E\u0002\u0002\u1405\u1406\u0007K\u0002\u0002\u1406", + "\u1407\u0007C\u0002\u0002\u1407\u1408\u0007V\u0002\u0002\u1408\u1409", + "\u0007G\u0002\u0002\u1409\u008c\u0003\u0002\u0002\u0002\u140a\u140b", + "\u0007C\u0002\u0002\u140b\u140c\u0007U\u0002\u0002\u140c\u140d\u0007", + "[\u0002\u0002\u140d\u140e\u0007P\u0002\u0002\u140e\u140f\u0007E\u0002", + "\u0002\u140f\u008e\u0003\u0002\u0002\u0002\u1410\u1411\u0007C\u0002", + "\u0002\u1411\u1412\u0007U\u0002\u0002\u1412\u1413\u0007[\u0002\u0002", + "\u1413\u1414\u0007P\u0002\u0002\u1414\u1415\u0007E\u0002\u0002\u1415", + "\u1416\u0007J\u0002\u0002\u1416\u1417\u0007T\u0002\u0002\u1417\u1418", + "\u0007Q\u0002\u0002\u1418\u1419\u0007P\u0002\u0002\u1419\u141a\u0007", + "Q\u0002\u0002\u141a\u141b\u0007W\u0002\u0002\u141b\u141c\u0007U\u0002", + "\u0002\u141c\u0090\u0003\u0002\u0002\u0002\u141d\u141e\u0007C\u0002", + "\u0002\u141e\u141f\u0007V\u0002\u0002\u141f\u1420\u0007C\u0002\u0002", + "\u1420\u1421\u0007P\u0002\u0002\u1421\u1422\u00074\u0002\u0002\u1422", + "\u0092\u0003\u0002\u0002\u0002\u1423\u1424\u0007C\u0002\u0002\u1424", + "\u1425\u0007V\u0002\u0002\u1425\u1426\u0007C\u0002\u0002\u1426\u1427", + "\u0007P\u0002\u0002\u1427\u0094\u0003\u0002\u0002\u0002\u1428\u1429", + "\u0007C\u0002\u0002\u1429\u142a\u0007V\u0002\u0002\u142a\u0096\u0003", + "\u0002\u0002\u0002\u142b\u142c\u0007C\u0002\u0002\u142c\u142d\u0007", + "V\u0002\u0002\u142d\u142e\u0007V\u0002\u0002\u142e\u142f\u0007T\u0002", + "\u0002\u142f\u1430\u0007K\u0002\u0002\u1430\u1431\u0007D\u0002\u0002", + "\u1431\u1432\u0007W\u0002\u0002\u1432\u1433\u0007V\u0002\u0002\u1433", + "\u1434\u0007G\u0002\u0002\u1434\u0098\u0003\u0002\u0002\u0002\u1435", + "\u1436\u0007C\u0002\u0002\u1436\u1437\u0007V\u0002\u0002\u1437\u1438", + "\u0007V\u0002\u0002\u1438\u1439\u0007T\u0002\u0002\u1439\u143a\u0007", + "K\u0002\u0002\u143a\u143b\u0007D\u0002\u0002\u143b\u143c\u0007W\u0002", + "\u0002\u143c\u143d\u0007V\u0002\u0002\u143d\u143e\u0007G\u0002\u0002", + "\u143e\u143f\u0007U\u0002\u0002\u143f\u009a\u0003\u0002\u0002\u0002", + "\u1440\u1441\u0007C\u0002\u0002\u1441\u1442\u0007W\u0002\u0002\u1442", + "\u1443\u0007F\u0002\u0002\u1443\u1444\u0007K\u0002\u0002\u1444\u1445", + "\u0007V\u0002\u0002\u1445\u009c\u0003\u0002\u0002\u0002\u1446\u1447", + "\u0007C\u0002\u0002\u1447\u1448\u0007W\u0002\u0002\u1448\u1449\u0007", + "V\u0002\u0002\u1449\u144a\u0007J\u0002\u0002\u144a\u144b\u0007G\u0002", + "\u0002\u144b\u144c\u0007P\u0002\u0002\u144c\u144d\u0007V\u0002\u0002", + "\u144d\u144e\u0007K\u0002\u0002\u144e\u144f\u0007E\u0002\u0002\u144f", + "\u1450\u0007C\u0002\u0002\u1450\u1451\u0007V\u0002\u0002\u1451\u1452", + "\u0007G\u0002\u0002\u1452\u1453\u0007F\u0002\u0002\u1453\u009e\u0003", + "\u0002\u0002\u0002\u1454\u1455\u0007C\u0002\u0002\u1455\u1456\u0007", + "W\u0002\u0002\u1456\u1457\u0007V\u0002\u0002\u1457\u1458\u0007J\u0002", + "\u0002\u1458\u1459\u0007G\u0002\u0002\u1459\u145a\u0007P\u0002\u0002", + "\u145a\u145b\u0007V\u0002\u0002\u145b\u145c\u0007K\u0002\u0002\u145c", + "\u145d\u0007E\u0002\u0002\u145d\u145e\u0007C\u0002\u0002\u145e\u145f", + "\u0007V\u0002\u0002\u145f\u1460\u0007K\u0002\u0002\u1460\u1461\u0007", + "Q\u0002\u0002\u1461\u1462\u0007P\u0002\u0002\u1462\u00a0\u0003\u0002", + "\u0002\u0002\u1463\u1464\u0007C\u0002\u0002\u1464\u1465\u0007W\u0002", + "\u0002\u1465\u1466\u0007V\u0002\u0002\u1466\u1467\u0007J\u0002\u0002", + "\u1467\u1468\u0007K\u0002\u0002\u1468\u1469\u0007F\u0002\u0002\u1469", + "\u00a2\u0003\u0002\u0002\u0002\u146a\u146b\u0007C\u0002\u0002\u146b", + "\u146c\u0007W\u0002\u0002\u146c\u146d\u0007V\u0002\u0002\u146d\u146e", + "\u0007J\u0002\u0002\u146e\u146f\u0007Q\u0002\u0002\u146f\u1470\u0007", + "T\u0002\u0002\u1470\u1471\u0007K\u0002\u0002\u1471\u1472\u0007\\\u0002", + "\u0002\u1472\u1473\u0007C\u0002\u0002\u1473\u1474\u0007V\u0002\u0002", + "\u1474\u1475\u0007K\u0002\u0002\u1475\u1476\u0007Q\u0002\u0002\u1476", + "\u1477\u0007P\u0002\u0002\u1477\u00a4\u0003\u0002\u0002\u0002\u1478", + "\u1479\u0007C\u0002\u0002\u1479\u147a\u0007W\u0002\u0002\u147a\u147b", + "\u0007V\u0002\u0002\u147b\u147c\u0007Q\u0002\u0002\u147c\u147d\u0007", + "C\u0002\u0002\u147d\u147e\u0007N\u0002\u0002\u147e\u147f\u0007N\u0002", + "\u0002\u147f\u1480\u0007Q\u0002\u0002\u1480\u1481\u0007E\u0002\u0002", + "\u1481\u1482\u0007C\u0002\u0002\u1482\u1483\u0007V\u0002\u0002\u1483", + "\u1484\u0007G\u0002\u0002\u1484\u00a6\u0003\u0002\u0002\u0002\u1485", + "\u1486\u0007C\u0002\u0002\u1486\u1487\u0007W\u0002\u0002\u1487\u1488", + "\u0007V\u0002\u0002\u1488\u1489\u0007Q\u0002\u0002\u1489\u00a8\u0003", + "\u0002\u0002\u0002\u148a\u148b\u0007C\u0002\u0002\u148b\u148c\u0007", + "W\u0002\u0002\u148c\u148d\u0007V\u0002\u0002\u148d\u148e\u0007Q\u0002", + "\u0002\u148e\u148f\u0007D\u0002\u0002\u148f\u1490\u0007C\u0002\u0002", + "\u1490\u1491\u0007E\u0002\u0002\u1491\u1492\u0007M\u0002\u0002\u1492", + "\u1493\u0007W\u0002\u0002\u1493\u1494\u0007R\u0002\u0002\u1494\u00aa", + "\u0003\u0002\u0002\u0002\u1495\u1496\u0007C\u0002\u0002\u1496\u1497", + "\u0007W\u0002\u0002\u1497\u1498\u0007V\u0002\u0002\u1498\u1499\u0007", + "Q\u0002\u0002\u1499\u149a\u0007G\u0002\u0002\u149a\u149b\u0007Z\u0002", + "\u0002\u149b\u149c\u0007V\u0002\u0002\u149c\u149d\u0007G\u0002\u0002", + "\u149d\u149e\u0007P\u0002\u0002\u149e\u149f\u0007F\u0002\u0002\u149f", + "\u00ac\u0003\u0002\u0002\u0002\u14a0\u14a1\u0007C\u0002\u0002\u14a1", + "\u14a2\u0007W\u0002\u0002\u14a2\u14a3\u0007V\u0002\u0002\u14a3\u14a4", + "\u0007Q\u0002\u0002\u14a4\u14a5\u0007a\u0002\u0002\u14a5\u14a6\u0007", + "N\u0002\u0002\u14a6\u14a7\u0007Q\u0002\u0002\u14a7\u14a8\u0007I\u0002", + "\u0002\u14a8\u14a9\u0007K\u0002\u0002\u14a9\u14aa\u0007P\u0002\u0002", + "\u14aa\u00ae\u0003\u0002\u0002\u0002\u14ab\u14ac\u0007C\u0002\u0002", + "\u14ac\u14ad\u0007W\u0002\u0002\u14ad\u14ae\u0007V\u0002\u0002\u14ae", + "\u14af\u0007Q\u0002\u0002\u14af\u14b0\u0007O\u0002\u0002\u14b0\u14b1", + "\u0007C\u0002\u0002\u14b1\u14b2\u0007V\u0002\u0002\u14b2\u14b3\u0007", + "K\u0002\u0002\u14b3\u14b4\u0007E\u0002\u0002\u14b4\u00b0\u0003\u0002", + "\u0002\u0002\u14b5\u14b6\u0007C\u0002\u0002\u14b6\u14b7\u0007W\u0002", + "\u0002\u14b7\u14b8\u0007V\u0002\u0002\u14b8\u14b9\u0007Q\u0002\u0002", + "\u14b9\u14ba\u0007P\u0002\u0002\u14ba\u14bb\u0007Q\u0002\u0002\u14bb", + "\u14bc\u0007O\u0002\u0002\u14bc\u14bd\u0007Q\u0002\u0002\u14bd\u14be", + "\u0007W\u0002\u0002\u14be\u14bf\u0007U\u0002\u0002\u14bf\u14c0\u0007", + "a\u0002\u0002\u14c0\u14c1\u0007V\u0002\u0002\u14c1\u14c2\u0007T\u0002", + "\u0002\u14c2\u14c3\u0007C\u0002\u0002\u14c3\u14c4\u0007P\u0002\u0002", + "\u14c4\u14c5\u0007U\u0002\u0002\u14c5\u14c6\u0007C\u0002\u0002\u14c6", + "\u14c7\u0007E\u0002\u0002\u14c7\u14c8\u0007V\u0002\u0002\u14c8\u14c9", + "\u0007K\u0002\u0002\u14c9\u14ca\u0007Q\u0002\u0002\u14ca\u14cb\u0007", + "P\u0002\u0002\u14cb\u00b2\u0003\u0002\u0002\u0002\u14cc\u14cd\u0007", + "C\u0002\u0002\u14cd\u14ce\u0007W\u0002\u0002\u14ce\u14cf\u0007V\u0002", + "\u0002\u14cf\u14d0\u0007Q\u0002\u0002\u14d0\u14d1\u0007a\u0002\u0002", + "\u14d1\u14d2\u0007T\u0002\u0002\u14d2\u14d3\u0007G\u0002\u0002\u14d3", + "\u14d4\u0007Q\u0002\u0002\u14d4\u14d5\u0007R\u0002\u0002\u14d5\u14d6", + "\u0007V\u0002\u0002\u14d6\u14d7\u0007K\u0002\u0002\u14d7\u14d8\u0007", + "O\u0002\u0002\u14d8\u14d9\u0007K\u0002\u0002\u14d9\u14da\u0007\\\u0002", + "\u0002\u14da\u14db\u0007G\u0002\u0002\u14db\u00b4\u0003\u0002\u0002", + "\u0002\u14dc\u14dd\u0007C\u0002\u0002\u14dd\u14de\u0007X\u0002\u0002", + "\u14de\u14df\u0007C\u0002\u0002\u14df\u14e0\u0007K\u0002\u0002\u14e0", + "\u14e1\u0007N\u0002\u0002\u14e1\u14e2\u0007C\u0002\u0002\u14e2\u14e3", + "\u0007D\u0002\u0002\u14e3\u14e4\u0007K\u0002\u0002\u14e4\u14e5\u0007", + "N\u0002\u0002\u14e5\u14e6\u0007K\u0002\u0002\u14e6\u14e7\u0007V\u0002", + "\u0002\u14e7\u14e8\u0007[\u0002\u0002\u14e8\u00b6\u0003\u0002\u0002", + "\u0002\u14e9\u14ea\u0007C\u0002\u0002\u14ea\u14eb\u0007X\u0002\u0002", + "\u14eb\u14ec\u0007T\u0002\u0002\u14ec\u14ed\u0007Q\u0002\u0002\u14ed", + "\u00b8\u0003\u0002\u0002\u0002\u14ee\u14ef\u0007D\u0002\u0002\u14ef", + "\u14f0\u0007C\u0002\u0002\u14f0\u14f1\u0007E\u0002\u0002\u14f1\u14f2", + "\u0007M\u0002\u0002\u14f2\u14f3\u0007I\u0002\u0002\u14f3\u14f4\u0007", + "T\u0002\u0002\u14f4\u14f5\u0007Q\u0002\u0002\u14f5\u14f6\u0007W\u0002", + "\u0002\u14f6\u14f7\u0007P\u0002\u0002\u14f7\u14f8\u0007F\u0002\u0002", + "\u14f8\u00ba\u0003\u0002\u0002\u0002\u14f9\u14fa\u0007D\u0002\u0002", + "\u14fa\u14fb\u0007C\u0002\u0002\u14fb\u14fc\u0007E\u0002\u0002\u14fc", + "\u14fd\u0007M\u0002\u0002\u14fd\u14fe\u0007W\u0002\u0002\u14fe\u14ff", + "\u0007R\u0002\u0002\u14ff\u00bc\u0003\u0002\u0002\u0002\u1500\u1501", + "\u0007D\u0002\u0002\u1501\u1502\u0007C\u0002\u0002\u1502\u1503\u0007", + "E\u0002\u0002\u1503\u1504\u0007M\u0002\u0002\u1504\u1505\u0007W\u0002", + "\u0002\u1505\u1506\u0007R\u0002\u0002\u1506\u1507\u0007U\u0002\u0002", + "\u1507\u1508\u0007G\u0002\u0002\u1508\u1509\u0007V\u0002\u0002\u1509", + "\u00be\u0003\u0002\u0002\u0002\u150a\u150b\u0007D\u0002\u0002\u150b", + "\u150c\u0007C\u0002\u0002\u150c\u150d\u0007U\u0002\u0002\u150d\u150e", + "\u0007K\u0002\u0002\u150e\u150f\u0007E\u0002\u0002\u150f\u00c0\u0003", + "\u0002\u0002\u0002\u1510\u1511\u0007D\u0002\u0002\u1511\u1512\u0007", + "C\u0002\u0002\u1512\u1513\u0007U\u0002\u0002\u1513\u1514\u0007K\u0002", + "\u0002\u1514\u1515\u0007E\u0002\u0002\u1515\u1516\u0007H\u0002\u0002", + "\u1516\u1517\u0007K\u0002\u0002\u1517\u1518\u0007N\u0002\u0002\u1518", + "\u1519\u0007G\u0002\u0002\u1519\u00c2\u0003\u0002\u0002\u0002\u151a", + "\u151b\u0007D\u0002\u0002\u151b\u151c\u0007C\u0002\u0002\u151c\u151d", + "\u0007V\u0002\u0002\u151d\u151e\u0007E\u0002\u0002\u151e\u151f\u0007", + "J\u0002\u0002\u151f\u00c4\u0003\u0002\u0002\u0002\u1520\u1521\u0007", + "D\u0002\u0002\u1521\u1522\u0007C\u0002\u0002\u1522\u1523\u0007V\u0002", + "\u0002\u1523\u1524\u0007E\u0002\u0002\u1524\u1525\u0007J\u0002\u0002", + "\u1525\u1526\u0007U\u0002\u0002\u1526\u1527\u0007K\u0002\u0002\u1527", + "\u1528\u0007\\\u0002\u0002\u1528\u1529\u0007G\u0002\u0002\u1529\u00c6", + "\u0003\u0002\u0002\u0002\u152a\u152b\u0007D\u0002\u0002\u152b\u152c", + "\u0007C\u0002\u0002\u152c\u152d\u0007V\u0002\u0002\u152d\u152e\u0007", + "E\u0002\u0002\u152e\u152f\u0007J\u0002\u0002\u152f\u1530\u0007a\u0002", + "\u0002\u1530\u1531\u0007V\u0002\u0002\u1531\u1532\u0007C\u0002\u0002", + "\u1532\u1533\u0007D\u0002\u0002\u1533\u1534\u0007N\u0002\u0002\u1534", + "\u1535\u0007G\u0002\u0002\u1535\u1536\u0007a\u0002\u0002\u1536\u1537", + "\u0007C\u0002\u0002\u1537\u1538\u0007E\u0002\u0002\u1538\u1539\u0007", + "E\u0002\u0002\u1539\u153a\u0007G\u0002\u0002\u153a\u153b\u0007U\u0002", + "\u0002\u153b\u153c\u0007U\u0002\u0002\u153c\u153d\u0007a\u0002\u0002", + "\u153d\u153e\u0007D\u0002\u0002\u153e\u153f\u0007[\u0002\u0002\u153f", + "\u1540\u0007a\u0002\u0002\u1540\u1541\u0007T\u0002\u0002\u1541\u1542", + "\u0007Q\u0002\u0002\u1542\u1543\u0007Y\u0002\u0002\u1543\u1544\u0007", + "K\u0002\u0002\u1544\u1545\u0007F\u0002\u0002\u1545\u00c8\u0003\u0002", + "\u0002\u0002\u1546\u1547\u0007D\u0002\u0002\u1547\u1548\u0007G\u0002", + "\u0002\u1548\u1549\u0007E\u0002\u0002\u1549\u154a\u0007Q\u0002\u0002", + "\u154a\u154b\u0007O\u0002\u0002\u154b\u154c\u0007G\u0002\u0002\u154c", + "\u00ca\u0003\u0002\u0002\u0002\u154d\u154e\u0007D\u0002\u0002\u154e", + "\u154f\u0007G\u0002\u0002\u154f\u1550\u0007H\u0002\u0002\u1550\u1551", + "\u0007Q\u0002\u0002\u1551\u1552\u0007T\u0002\u0002\u1552\u1553\u0007", + "G\u0002\u0002\u1553\u00cc\u0003\u0002\u0002\u0002\u1554\u1555\u0007", + "D\u0002\u0002\u1555\u1556\u0007G\u0002\u0002\u1556\u1557\u0007I\u0002", + "\u0002\u1557\u1558\u0007K\u0002\u0002\u1558\u1559\u0007P\u0002\u0002", + "\u1559\u00ce\u0003\u0002\u0002\u0002\u155a\u155b\u0007D\u0002\u0002", + "\u155b\u155c\u0007G\u0002\u0002\u155c\u155d\u0007I\u0002\u0002\u155d", + "\u155e\u0007K\u0002\u0002\u155e\u155f\u0007P\u0002\u0002\u155f\u1560", + "\u0007P\u0002\u0002\u1560\u1561\u0007K\u0002\u0002\u1561\u1562\u0007", + "P\u0002\u0002\u1562\u1563\u0007I\u0002\u0002\u1563\u00d0\u0003\u0002", + "\u0002\u0002\u1564\u1565\u0007D\u0002\u0002\u1565\u1566\u0007G\u0002", + "\u0002\u1566\u1567\u0007I\u0002\u0002\u1567\u1568\u0007K\u0002\u0002", + "\u1568\u1569\u0007P\u0002\u0002\u1569\u156a\u0007a\u0002\u0002\u156a", + "\u156b\u0007Q\u0002\u0002\u156b\u156c\u0007W\u0002\u0002\u156c\u156d", + "\u0007V\u0002\u0002\u156d\u156e\u0007N\u0002\u0002\u156e\u156f\u0007", + "K\u0002\u0002\u156f\u1570\u0007P\u0002\u0002\u1570\u1571\u0007G\u0002", + "\u0002\u1571\u1572\u0007a\u0002\u0002\u1572\u1573\u0007F\u0002\u0002", + "\u1573\u1574\u0007C\u0002\u0002\u1574\u1575\u0007V\u0002\u0002\u1575", + "\u1576\u0007C\u0002\u0002\u1576\u00d2\u0003\u0002\u0002\u0002\u1577", + "\u1578\u0007D\u0002\u0002\u1578\u1579\u0007G\u0002\u0002\u1579\u157a", + "\u0007J\u0002\u0002\u157a\u157b\u0007C\u0002\u0002\u157b\u157c\u0007", + "N\u0002\u0002\u157c\u157d\u0007H\u0002\u0002\u157d\u00d4\u0003\u0002", + "\u0002\u0002\u157e\u157f\u0007D\u0002\u0002\u157f\u1580\u0007G\u0002", + "\u0002\u1580\u1581\u0007S\u0002\u0002\u1581\u1582\u0007W\u0002\u0002", + "\u1582\u1583\u0007G\u0002\u0002\u1583\u1584\u0007C\u0002\u0002\u1584", + "\u1585\u0007V\u0002\u0002\u1585\u1586\u0007J\u0002\u0002\u1586\u00d6", + "\u0003\u0002\u0002\u0002\u1587\u1588\u0007D\u0002\u0002\u1588\u1589", + "\u0007G\u0002\u0002\u1589\u158a\u0007V\u0002\u0002\u158a\u158b\u0007", + "Y\u0002\u0002\u158b\u158c\u0007G\u0002\u0002\u158c\u158d\u0007G\u0002", + "\u0002\u158d\u158e\u0007P\u0002\u0002\u158e\u00d8\u0003\u0002\u0002", + "\u0002\u158f\u1590\u0007D\u0002\u0002\u1590\u1591\u0007H\u0002\u0002", + "\u1591\u1592\u0007K\u0002\u0002\u1592\u1593\u0007N\u0002\u0002\u1593", + "\u1594\u0007G\u0002\u0002\u1594\u00da\u0003\u0002\u0002\u0002\u1595", + "\u1596\u0007D\u0002\u0002\u1596\u1597\u0007H\u0002\u0002\u1597\u1598", + "\u0007K\u0002\u0002\u1598\u1599\u0007N\u0002\u0002\u1599\u159a\u0007", + "G\u0002\u0002\u159a\u159b\u0007P\u0002\u0002\u159b\u159c\u0007C\u0002", + "\u0002\u159c\u159d\u0007O\u0002\u0002\u159d\u159e\u0007G\u0002\u0002", + "\u159e\u00dc\u0003\u0002\u0002\u0002\u159f\u15a0\u0007D\u0002\u0002", + "\u15a0\u15a1\u0007K\u0002\u0002\u15a1\u15a2\u0007I\u0002\u0002\u15a2", + "\u15a3\u0007H\u0002\u0002\u15a3\u15a4\u0007K\u0002\u0002\u15a4\u15a5", + "\u0007N\u0002\u0002\u15a5\u15a6\u0007G\u0002\u0002\u15a6\u00de\u0003", + "\u0002\u0002\u0002\u15a7\u15a8\u0007D\u0002\u0002\u15a8\u15a9\u0007", + "K\u0002\u0002\u15a9\u15aa\u0007P\u0002\u0002\u15aa\u15ab\u0007C\u0002", + "\u0002\u15ab\u15ac\u0007T\u0002\u0002\u15ac\u15ad\u0007[\u0002\u0002", + "\u15ad\u00e0\u0003\u0002\u0002\u0002\u15ae\u15af\u0007D\u0002\u0002", + "\u15af\u15b0\u0007K\u0002\u0002\u15b0\u15b1\u0007P\u0002\u0002\u15b1", + "\u15b2\u0007C\u0002\u0002\u15b2\u15b3\u0007T\u0002\u0002\u15b3\u15b4", + "\u0007[\u0002\u0002\u15b4\u15b5\u0007a\u0002\u0002\u15b5\u15b6\u0007", + "F\u0002\u0002\u15b6\u15b7\u0007Q\u0002\u0002\u15b7\u15b8\u0007W\u0002", + "\u0002\u15b8\u15b9\u0007D\u0002\u0002\u15b9\u15ba\u0007N\u0002\u0002", + "\u15ba\u15bb\u0007G\u0002\u0002\u15bb\u00e2\u0003\u0002\u0002\u0002", + "\u15bc\u15bd\u0007D\u0002\u0002\u15bd\u15be\u0007K\u0002\u0002\u15be", + "\u15bf\u0007P\u0002\u0002\u15bf\u15c0\u0007C\u0002\u0002\u15c0\u15c1", + "\u0007T\u0002\u0002\u15c1\u15c2\u0007[\u0002\u0002\u15c2\u15c3\u0007", + "a\u0002\u0002\u15c3\u15c4\u0007F\u0002\u0002\u15c4\u15c5\u0007Q\u0002", + "\u0002\u15c5\u15c6\u0007W\u0002\u0002\u15c6\u15c7\u0007D\u0002\u0002", + "\u15c7\u15c8\u0007N\u0002\u0002\u15c8\u15c9\u0007G\u0002\u0002\u15c9", + "\u15ca\u0007a\u0002\u0002\u15ca\u15cb\u0007K\u0002\u0002\u15cb\u15cc", + "\u0007P\u0002\u0002\u15cc\u15cd\u0007H\u0002\u0002\u15cd\u15ce\u0007", + "K\u0002\u0002\u15ce\u15cf\u0007P\u0002\u0002\u15cf\u15d0\u0007K\u0002", + "\u0002\u15d0\u15d1\u0007V\u0002\u0002\u15d1\u15d2\u0007[\u0002\u0002", + "\u15d2\u00e4\u0003\u0002\u0002\u0002\u15d3\u15d4\u0007D\u0002\u0002", + "\u15d4\u15d5\u0007K\u0002\u0002\u15d5\u15d6\u0007P\u0002\u0002\u15d6", + "\u15d7\u0007C\u0002\u0002\u15d7\u15d8\u0007T\u0002\u0002\u15d8\u15d9", + "\u0007[\u0002\u0002\u15d9\u15da\u0007a\u0002\u0002\u15da\u15db\u0007", + "F\u0002\u0002\u15db\u15dc\u0007Q\u0002\u0002\u15dc\u15dd\u0007W\u0002", + "\u0002\u15dd\u15de\u0007D\u0002\u0002\u15de\u15df\u0007N\u0002\u0002", + "\u15df\u15e0\u0007G\u0002\u0002\u15e0\u15e1\u0007a\u0002\u0002\u15e1", + "\u15e2\u0007P\u0002\u0002\u15e2\u15e3\u0007C\u0002\u0002\u15e3\u15e4", + "\u0007P\u0002\u0002\u15e4\u00e6\u0003\u0002\u0002\u0002\u15e5\u15e6", + "\u0007D\u0002\u0002\u15e6\u15e7\u0007K\u0002\u0002\u15e7\u15e8\u0007", + "P\u0002\u0002\u15e8\u15e9\u0007C\u0002\u0002\u15e9\u15ea\u0007T\u0002", + "\u0002\u15ea\u15eb\u0007[\u0002\u0002\u15eb\u15ec\u0007a\u0002\u0002", + "\u15ec\u15ed\u0007H\u0002\u0002\u15ed\u15ee\u0007N\u0002\u0002\u15ee", + "\u15ef\u0007Q\u0002\u0002\u15ef\u15f0\u0007C\u0002\u0002\u15f0\u15f1", + "\u0007V\u0002\u0002\u15f1\u00e8\u0003\u0002\u0002\u0002\u15f2\u15f3", + "\u0007D\u0002\u0002\u15f3\u15f4\u0007K\u0002\u0002\u15f4\u15f5\u0007", + "P\u0002\u0002\u15f5\u15f6\u0007C\u0002\u0002\u15f6\u15f7\u0007T\u0002", + "\u0002\u15f7\u15f8\u0007[\u0002\u0002\u15f8\u15f9\u0007a\u0002\u0002", + "\u15f9\u15fa\u0007H\u0002\u0002\u15fa\u15fb\u0007N\u0002\u0002\u15fb", + "\u15fc\u0007Q\u0002\u0002\u15fc\u15fd\u0007C\u0002\u0002\u15fd\u15fe", + "\u0007V\u0002\u0002\u15fe\u15ff\u0007a\u0002\u0002\u15ff\u1600\u0007", + "K\u0002\u0002\u1600\u1601\u0007P\u0002\u0002\u1601\u1602\u0007H\u0002", + "\u0002\u1602\u1603\u0007K\u0002\u0002\u1603\u1604\u0007P\u0002\u0002", + "\u1604\u1605\u0007K\u0002\u0002\u1605\u1606\u0007V\u0002\u0002\u1606", + "\u1607\u0007[\u0002\u0002\u1607\u00ea\u0003\u0002\u0002\u0002\u1608", + "\u1609\u0007D\u0002\u0002\u1609\u160a\u0007K\u0002\u0002\u160a\u160b", + "\u0007P\u0002\u0002\u160b\u160c\u0007C\u0002\u0002\u160c\u160d\u0007", + "T\u0002\u0002\u160d\u160e\u0007[\u0002\u0002\u160e\u160f\u0007a\u0002", + "\u0002\u160f\u1610\u0007H\u0002\u0002\u1610\u1611\u0007N\u0002\u0002", + "\u1611\u1612\u0007Q\u0002\u0002\u1612\u1613\u0007C\u0002\u0002\u1613", + "\u1614\u0007V\u0002\u0002\u1614\u1615\u0007a\u0002\u0002\u1615\u1616", + "\u0007P\u0002\u0002\u1616\u1617\u0007C\u0002\u0002\u1617\u1618\u0007", + "P\u0002\u0002\u1618\u00ec\u0003\u0002\u0002\u0002\u1619\u161a\u0007", + "D\u0002\u0002\u161a\u161b\u0007K\u0002\u0002\u161b\u161c\u0007P\u0002", + "\u0002\u161c\u161d\u0007C\u0002\u0002\u161d\u161e\u0007T\u0002\u0002", + "\u161e\u161f\u0007[\u0002\u0002\u161f\u1620\u0007a\u0002\u0002\u1620", + "\u1621\u0007K\u0002\u0002\u1621\u1622\u0007P\u0002\u0002\u1622\u1623", + "\u0007V\u0002\u0002\u1623\u1624\u0007G\u0002\u0002\u1624\u1625\u0007", + "I\u0002\u0002\u1625\u1626\u0007G\u0002\u0002\u1626\u1627\u0007T\u0002", + "\u0002\u1627\u00ee\u0003\u0002\u0002\u0002\u1628\u1629\u0007D\u0002", + "\u0002\u1629\u162a\u0007K\u0002\u0002\u162a\u162b\u0007P\u0002\u0002", + "\u162b\u162c\u0007F\u0002\u0002\u162c\u162d\u0007a\u0002\u0002\u162d", + "\u162e\u0007C\u0002\u0002\u162e\u162f\u0007Y\u0002\u0002\u162f\u1630", + "\u0007C\u0002\u0002\u1630\u1631\u0007T\u0002\u0002\u1631\u1632\u0007", + "G\u0002\u0002\u1632\u00f0\u0003\u0002\u0002\u0002\u1633\u1634\u0007", + "D\u0002\u0002\u1634\u1635\u0007K\u0002\u0002\u1635\u1636\u0007P\u0002", + "\u0002\u1636\u1637\u0007F\u0002\u0002\u1637\u1638\u0007K\u0002\u0002", + "\u1638\u1639\u0007P\u0002\u0002\u1639\u163a\u0007I\u0002\u0002\u163a", + "\u00f2\u0003\u0002\u0002\u0002\u163b\u163c\u0007D\u0002\u0002\u163c", + "\u163d\u0007K\u0002\u0002\u163d\u163e\u0007P\u0002\u0002\u163e\u163f", + "\u0007a\u0002\u0002\u163f\u1640\u0007V\u0002\u0002\u1640\u1641\u0007", + "Q\u0002\u0002\u1641\u1642\u0007a\u0002\u0002\u1642\u1643\u0007P\u0002", + "\u0002\u1643\u1644\u0007W\u0002\u0002\u1644\u1645\u0007O\u0002\u0002", + "\u1645\u00f4\u0003\u0002\u0002\u0002\u1646\u1647\u0007D\u0002\u0002", + "\u1647\u1648\u0007K\u0002\u0002\u1648\u1649\u0007V\u0002\u0002\u1649", + "\u164a\u0007C\u0002\u0002\u164a\u164b\u0007P\u0002\u0002\u164b\u164c", + "\u0007F\u0002\u0002\u164c\u00f6\u0003\u0002\u0002\u0002\u164d\u164e", + "\u0007D\u0002\u0002\u164e\u164f\u0007K\u0002\u0002\u164f\u1650\u0007", + "V\u0002\u0002\u1650\u1651\u0007O\u0002\u0002\u1651\u1652\u0007C\u0002", + "\u0002\u1652\u1653\u0007R\u0002\u0002\u1653\u1654\u0007a\u0002\u0002", + "\u1654\u1655\u0007C\u0002\u0002\u1655\u1656\u0007P\u0002\u0002\u1656", + "\u1657\u0007F\u0002\u0002\u1657\u00f8\u0003\u0002\u0002\u0002\u1658", + "\u1659\u0007D\u0002\u0002\u1659\u165a\u0007K\u0002\u0002\u165a\u165b", + "\u0007V\u0002\u0002\u165b\u165c\u0007O\u0002\u0002\u165c\u165d\u0007", + "C\u0002\u0002\u165d\u165e\u0007R\u0002\u0002\u165e\u00fa\u0003\u0002", + "\u0002\u0002\u165f\u1660\u0007D\u0002\u0002\u1660\u1661\u0007K\u0002", + "\u0002\u1661\u1662\u0007V\u0002\u0002\u1662\u1663\u0007O\u0002\u0002", + "\u1663\u1664\u0007C\u0002\u0002\u1664\u1665\u0007R\u0002\u0002\u1665", + "\u1666\u0007U\u0002\u0002\u1666\u00fc\u0003\u0002\u0002\u0002\u1667", + "\u1668\u0007D\u0002\u0002\u1668\u1669\u0007K\u0002\u0002\u1669\u166a", + "\u0007V\u0002\u0002\u166a\u166b\u0007O\u0002\u0002\u166b\u166c\u0007", + "C\u0002\u0002\u166c\u166d\u0007R\u0002\u0002\u166d\u166e\u0007a\u0002", + "\u0002\u166e\u166f\u0007V\u0002\u0002\u166f\u1670\u0007T\u0002\u0002", + "\u1670\u1671\u0007G\u0002\u0002\u1671\u1672\u0007G\u0002\u0002\u1672", + "\u00fe\u0003\u0002\u0002\u0002\u1673\u1674\u0007D\u0002\u0002\u1674", + "\u1675\u0007K\u0002\u0002\u1675\u1676\u0007V\u0002\u0002\u1676\u1677", + "\u0007U\u0002\u0002\u1677\u0100\u0003\u0002\u0002\u0002\u1678\u1679", + "\u0007D\u0002\u0002\u1679\u167a\u0007N\u0002\u0002\u167a\u167b\u0007", + "Q\u0002\u0002\u167b\u167c\u0007D\u0002\u0002\u167c\u0102\u0003\u0002", + "\u0002\u0002\u167d\u167e\u0007D\u0002\u0002\u167e\u167f\u0007N\u0002", + "\u0002\u167f\u1680\u0007Q\u0002\u0002\u1680\u1681\u0007E\u0002\u0002", + "\u1681\u1682\u0007M\u0002\u0002\u1682\u0104\u0003\u0002\u0002\u0002", + "\u1683\u1684\u0007D\u0002\u0002\u1684\u1685\u0007N\u0002\u0002\u1685", + "\u1686\u0007Q\u0002\u0002\u1686\u1687\u0007E\u0002\u0002\u1687\u1688", + "\u0007M\u0002\u0002\u1688\u1689\u0007a\u0002\u0002\u1689\u168a\u0007", + "T\u0002\u0002\u168a\u168b\u0007C\u0002\u0002\u168b\u168c\u0007P\u0002", + "\u0002\u168c\u168d\u0007I\u0002\u0002\u168d\u168e\u0007G\u0002\u0002", + "\u168e\u0106\u0003\u0002\u0002\u0002\u168f\u1690\u0007D\u0002\u0002", + "\u1690\u1691\u0007N\u0002\u0002\u1691\u1692\u0007Q\u0002\u0002\u1692", + "\u1693\u0007E\u0002\u0002\u1693\u1694\u0007M\u0002\u0002\u1694\u1695", + "\u0007U\u0002\u0002\u1695\u0108\u0003\u0002\u0002\u0002\u1696\u1697", + "\u0007D\u0002\u0002\u1697\u1698\u0007N\u0002\u0002\u1698\u1699\u0007", + "Q\u0002\u0002\u1699\u169a\u0007E\u0002\u0002\u169a\u169b\u0007M\u0002", + "\u0002\u169b\u169c\u0007U\u0002\u0002\u169c\u169d\u0007K\u0002\u0002", + "\u169d\u169e\u0007\\\u0002\u0002\u169e\u169f\u0007G\u0002\u0002\u169f", + "\u010a\u0003\u0002\u0002\u0002\u16a0\u16a1\u0007D\u0002\u0002\u16a1", + "\u16a2\u0007Q\u0002\u0002\u16a2\u16a3\u0007F\u0002\u0002\u16a3\u16a4", + "\u0007[\u0002\u0002\u16a4\u010c\u0003\u0002\u0002\u0002\u16a5\u16a6", + "\u0007D\u0002\u0002\u16a6\u16a7\u0007Q\u0002\u0002\u16a7\u16a8\u0007", + "Q\u0002\u0002\u16a8\u16a9\u0007N\u0002\u0002\u16a9\u16aa\u0007G\u0002", + "\u0002\u16aa\u16ab\u0007C\u0002\u0002\u16ab\u16ac\u0007P\u0002\u0002", + "\u16ac\u010e\u0003\u0002\u0002\u0002\u16ad\u16ae\u0007D\u0002\u0002", + "\u16ae\u16af\u0007Q\u0002\u0002\u16af\u16b0\u0007V\u0002\u0002\u16b0", + "\u16b1\u0007J\u0002\u0002\u16b1\u0110\u0003\u0002\u0002\u0002\u16b2", + "\u16b3\u0007D\u0002\u0002\u16b3\u16b4\u0007Q\u0002\u0002\u16b4\u16b5", + "\u0007W\u0002\u0002\u16b5\u16b6\u0007P\u0002\u0002\u16b6\u16b7\u0007", + "F\u0002\u0002\u16b7\u0112\u0003\u0002\u0002\u0002\u16b8\u16b9\u0007", + "D\u0002\u0002\u16b9\u16ba\u0007T\u0002\u0002\u16ba\u16bb\u0007C\u0002", + "\u0002\u16bb\u16bc\u0007P\u0002\u0002\u16bc\u16bd\u0007E\u0002\u0002", + "\u16bd\u16be\u0007J\u0002\u0002\u16be\u0114\u0003\u0002\u0002\u0002", + "\u16bf\u16c0\u0007D\u0002\u0002\u16c0\u16c1\u0007T\u0002\u0002\u16c1", + "\u16c2\u0007G\u0002\u0002\u16c2\u16c3\u0007C\u0002\u0002\u16c3\u16c4", + "\u0007F\u0002\u0002\u16c4\u16c5\u0007V\u0002\u0002\u16c5\u16c6\u0007", + "J\u0002\u0002\u16c6\u0116\u0003\u0002\u0002\u0002\u16c7\u16c8\u0007", + "D\u0002\u0002\u16c8\u16c9\u0007T\u0002\u0002\u16c9\u16ca\u0007Q\u0002", + "\u0002\u16ca\u16cb\u0007C\u0002\u0002\u16cb\u16cc\u0007F\u0002\u0002", + "\u16cc\u16cd\u0007E\u0002\u0002\u16cd\u16ce\u0007C\u0002\u0002\u16ce", + "\u16cf\u0007U\u0002\u0002\u16cf\u16d0\u0007V\u0002\u0002\u16d0\u0118", + "\u0003\u0002\u0002\u0002\u16d1\u16d2\u0007D\u0002\u0002\u16d2\u16d3", + "\u0007U\u0002\u0002\u16d3\u16d4\u0007Q\u0002\u0002\u16d4\u16d5\u0007", + "P\u0002\u0002\u16d5\u011a\u0003\u0002\u0002\u0002\u16d6\u16d7\u0007", + "D\u0002\u0002\u16d7\u16d8\u0007W\u0002\u0002\u16d8\u16d9\u0007H\u0002", + "\u0002\u16d9\u16da\u0007H\u0002\u0002\u16da\u16db\u0007G\u0002\u0002", + "\u16db\u16dc\u0007T\u0002\u0002\u16dc\u011c\u0003\u0002\u0002\u0002", + "\u16dd\u16de\u0007D\u0002\u0002\u16de\u16df\u0007W\u0002\u0002\u16df", + "\u16e0\u0007H\u0002\u0002\u16e0\u16e1\u0007H\u0002\u0002\u16e1\u16e2", + "\u0007G\u0002\u0002\u16e2\u16e3\u0007T\u0002\u0002\u16e3\u16e4\u0007", + "a\u0002\u0002\u16e4\u16e5\u0007E\u0002\u0002\u16e5\u16e6\u0007C\u0002", + "\u0002\u16e6\u16e7\u0007E\u0002\u0002\u16e7\u16e8\u0007J\u0002\u0002", + "\u16e8\u16e9\u0007G\u0002\u0002\u16e9\u011e\u0003\u0002\u0002\u0002", + "\u16ea\u16eb\u0007D\u0002\u0002\u16eb\u16ec\u0007W\u0002\u0002\u16ec", + "\u16ed\u0007H\u0002\u0002\u16ed\u16ee\u0007H\u0002\u0002\u16ee\u16ef", + "\u0007G\u0002\u0002\u16ef\u16f0\u0007T\u0002\u0002\u16f0\u16f1\u0007", + "a\u0002\u0002\u16f1\u16f2\u0007R\u0002\u0002\u16f2\u16f3\u0007Q\u0002", + "\u0002\u16f3\u16f4\u0007Q\u0002\u0002\u16f4\u16f5\u0007N\u0002\u0002", + "\u16f5\u0120\u0003\u0002\u0002\u0002\u16f6\u16f7\u0007D\u0002\u0002", + "\u16f7\u16f8\u0007W\u0002\u0002\u16f8\u16f9\u0007K\u0002\u0002\u16f9", + "\u16fa\u0007N\u0002\u0002\u16fa\u16fb\u0007F\u0002\u0002\u16fb\u0122", + "\u0003\u0002\u0002\u0002\u16fc\u16fd\u0007D\u0002\u0002\u16fd\u16fe", + "\u0007W\u0002\u0002\u16fe\u16ff\u0007N\u0002\u0002\u16ff\u1700\u0007", + "M\u0002\u0002\u1700\u0124\u0003\u0002\u0002\u0002\u1701\u1702\u0007", + "D\u0002\u0002\u1702\u1703\u0007[\u0002\u0002\u1703\u0126\u0003\u0002", + "\u0002\u0002\u1704\u1705\u0007D\u0002\u0002\u1705\u1706\u0007[\u0002", + "\u0002\u1706\u1707\u0007R\u0002\u0002\u1707\u1708\u0007C\u0002\u0002", + "\u1708\u1709\u0007U\u0002\u0002\u1709\u170a\u0007U\u0002\u0002\u170a", + "\u170b\u0007a\u0002\u0002\u170b\u170c\u0007T\u0002\u0002\u170c\u170d", + "\u0007G\u0002\u0002\u170d\u170e\u0007E\u0002\u0002\u170e\u170f\u0007", + "W\u0002\u0002\u170f\u1710\u0007T\u0002\u0002\u1710\u1711\u0007U\u0002", + "\u0002\u1711\u1712\u0007K\u0002\u0002\u1712\u1713\u0007X\u0002\u0002", + "\u1713\u1714\u0007G\u0002\u0002\u1714\u1715\u0007a\u0002\u0002\u1715", + "\u1716\u0007E\u0002\u0002\u1716\u1717\u0007J\u0002\u0002\u1717\u1718", + "\u0007G\u0002\u0002\u1718\u1719\u0007E\u0002\u0002\u1719\u171a\u0007", + "M\u0002\u0002\u171a\u0128\u0003\u0002\u0002\u0002\u171b\u171c\u0007", + "D\u0002\u0002\u171c\u171d\u0007[\u0002\u0002\u171d\u171e\u0007R\u0002", + "\u0002\u171e\u171f\u0007C\u0002\u0002\u171f\u1720\u0007U\u0002\u0002", + "\u1720\u1721\u0007U\u0002\u0002\u1721\u1722\u0007a\u0002\u0002\u1722", + "\u1723\u0007W\u0002\u0002\u1723\u1724\u0007L\u0002\u0002\u1724\u1725", + "\u0007X\u0002\u0002\u1725\u1726\u0007E\u0002\u0002\u1726\u012a\u0003", + "\u0002\u0002\u0002\u1727\u1728\u0007D\u0002\u0002\u1728\u1729\u0007", + "[\u0002\u0002\u1729\u172a\u0007V\u0002\u0002\u172a\u172b\u0007G\u0002", + "\u0002\u172b\u012c\u0003\u0002\u0002\u0002\u172c\u172d\u0007E\u0002", + "\u0002\u172d\u172e\u0007C\u0002\u0002\u172e\u172f\u0007E\u0002\u0002", + "\u172f\u1730\u0007J\u0002\u0002\u1730\u1731\u0007G\u0002\u0002\u1731", + "\u012e\u0003\u0002\u0002\u0002\u1732\u1733\u0007E\u0002\u0002\u1733", + "\u1734\u0007C\u0002\u0002\u1734\u1735\u0007E\u0002\u0002\u1735\u1736", + "\u0007J\u0002\u0002\u1736\u1737\u0007G\u0002\u0002\u1737\u1738\u0007", + "a\u0002\u0002\u1738\u1739\u0007E\u0002\u0002\u1739\u173a\u0007D\u0002", + "\u0002\u173a\u0130\u0003\u0002\u0002\u0002\u173b\u173c\u0007E\u0002", + "\u0002\u173c\u173d\u0007C\u0002\u0002\u173d\u173e\u0007E\u0002\u0002", + "\u173e\u173f\u0007J\u0002\u0002\u173f\u1740\u0007G\u0002\u0002\u1740", + "\u1741\u0007a\u0002\u0002\u1741\u1742\u0007K\u0002\u0002\u1742\u1743", + "\u0007P\u0002\u0002\u1743\u1744\u0007U\u0002\u0002\u1744\u1745\u0007", + "V\u0002\u0002\u1745\u1746\u0007C\u0002\u0002\u1746\u1747\u0007P\u0002", + "\u0002\u1747\u1748\u0007E\u0002\u0002\u1748\u1749\u0007G\u0002\u0002", + "\u1749\u174a\u0007U\u0002\u0002\u174a\u0132\u0003\u0002\u0002\u0002", + "\u174b\u174c\u0007E\u0002\u0002\u174c\u174d\u0007C\u0002\u0002\u174d", + "\u174e\u0007E\u0002\u0002\u174e\u174f\u0007J\u0002\u0002\u174f\u1750", + "\u0007G\u0002\u0002\u1750\u1751\u0007a\u0002\u0002\u1751\u1752\u0007", + "V\u0002\u0002\u1752\u1753\u0007G\u0002\u0002\u1753\u1754\u0007O\u0002", + "\u0002\u1754\u1755\u0007R\u0002\u0002\u1755\u1756\u0007a\u0002\u0002", + "\u1756\u1757\u0007V\u0002\u0002\u1757\u1758\u0007C\u0002\u0002\u1758", + "\u1759\u0007D\u0002\u0002\u1759\u175a\u0007N\u0002\u0002\u175a\u175b", + "\u0007G\u0002\u0002\u175b\u0134\u0003\u0002\u0002\u0002\u175c\u175d", + "\u0007E\u0002\u0002\u175d\u175e\u0007C\u0002\u0002\u175e\u175f\u0007", + "E\u0002\u0002\u175f\u1760\u0007J\u0002\u0002\u1760\u1761\u0007K\u0002", + "\u0002\u1761\u1762\u0007P\u0002\u0002\u1762\u1763\u0007I\u0002\u0002", + "\u1763\u0136\u0003\u0002\u0002\u0002\u1764\u1765\u0007E\u0002\u0002", + "\u1765\u1766\u0007C\u0002\u0002\u1766\u1767\u0007N\u0002\u0002\u1767", + "\u1768\u0007E\u0002\u0002\u1768\u1769\u0007W\u0002\u0002\u1769\u176a", + "\u0007N\u0002\u0002\u176a\u176b\u0007C\u0002\u0002\u176b\u176c\u0007", + "V\u0002\u0002\u176c\u176d\u0007G\u0002\u0002\u176d\u176e\u0007F\u0002", + "\u0002\u176e\u0138\u0003\u0002\u0002\u0002\u176f\u1770\u0007E\u0002", + "\u0002\u1770\u1771\u0007C\u0002\u0002\u1771\u1772\u0007N\u0002\u0002", + "\u1772\u1773\u0007N\u0002\u0002\u1773\u1774\u0007D\u0002\u0002\u1774", + "\u1775\u0007C\u0002\u0002\u1775\u1776\u0007E\u0002\u0002\u1776\u1777", + "\u0007M\u0002\u0002\u1777\u013a\u0003\u0002\u0002\u0002\u1778\u1779", + "\u0007E\u0002\u0002\u1779\u177a\u0007C\u0002\u0002\u177a\u177b\u0007", + "N\u0002\u0002\u177b\u177c\u0007N\u0002\u0002\u177c\u013c\u0003\u0002", + "\u0002\u0002\u177d\u177e\u0007E\u0002\u0002\u177e\u177f\u0007C\u0002", + "\u0002\u177f\u1780\u0007P\u0002\u0002\u1780\u1781\u0007E\u0002\u0002", + "\u1781\u1782\u0007G\u0002\u0002\u1782\u1783\u0007N\u0002\u0002\u1783", + "\u013e\u0003\u0002\u0002\u0002\u1784\u1785\u0007E\u0002\u0002\u1785", + "\u1786\u0007C\u0002\u0002\u1786\u1787\u0007P\u0002\u0002\u1787\u1788", + "\u0007Q\u0002\u0002\u1788\u1789\u0007P\u0002\u0002\u1789\u178a\u0007", + "K\u0002\u0002\u178a\u178b\u0007E\u0002\u0002\u178b\u178c\u0007C\u0002", + "\u0002\u178c\u178d\u0007N\u0002\u0002\u178d\u0140\u0003\u0002\u0002", + "\u0002\u178e\u178f\u0007E\u0002\u0002\u178f\u1790\u0007C\u0002\u0002", + "\u1790\u1791\u0007R\u0002\u0002\u1791\u1792\u0007C\u0002\u0002\u1792", + "\u1793\u0007E\u0002\u0002\u1793\u1794\u0007K\u0002\u0002\u1794\u1795", + "\u0007V\u0002\u0002\u1795\u1796\u0007[\u0002\u0002\u1796\u0142\u0003", + "\u0002\u0002\u0002\u1797\u1798\u0007E\u0002\u0002\u1798\u1799\u0007", + "C\u0002\u0002\u1799\u179a\u0007T\u0002\u0002\u179a\u179b\u0007F\u0002", + "\u0002\u179b\u179c\u0007K\u0002\u0002\u179c\u179d\u0007P\u0002\u0002", + "\u179d\u179e\u0007C\u0002\u0002\u179e\u179f\u0007N\u0002\u0002\u179f", + "\u17a0\u0007K\u0002\u0002\u17a0\u17a1\u0007V\u0002\u0002\u17a1\u17a2", + "\u0007[\u0002\u0002\u17a2\u0144\u0003\u0002\u0002\u0002\u17a3\u17a4", + "\u0007E\u0002\u0002\u17a4\u17a5\u0007C\u0002\u0002\u17a5\u17a6\u0007", + "U\u0002\u0002\u17a6\u17a7\u0007E\u0002\u0002\u17a7\u17a8\u0007C\u0002", + "\u0002\u17a8\u17a9\u0007F\u0002\u0002\u17a9\u17aa\u0007G\u0002\u0002", + "\u17aa\u0146\u0003\u0002\u0002\u0002\u17ab\u17ac\u0007E\u0002\u0002", + "\u17ac\u17ad\u0007C\u0002\u0002\u17ad\u17ae\u0007U\u0002\u0002\u17ae", + "\u17af\u0007G\u0002\u0002\u17af\u0148\u0003\u0002\u0002\u0002\u17b0", + "\u17b1\u0007E\u0002\u0002\u17b1\u17b2\u0007C\u0002\u0002\u17b2\u17b3", + "\u0007U\u0002\u0002\u17b3\u17b4\u0007V\u0002\u0002\u17b4\u014a\u0003", + "\u0002\u0002\u0002\u17b5\u17b6\u0007E\u0002\u0002\u17b6\u17b7\u0007", + "C\u0002\u0002\u17b7\u17b8\u0007V\u0002\u0002\u17b8\u17b9\u0007G\u0002", + "\u0002\u17b9\u17ba\u0007I\u0002\u0002\u17ba\u17bb\u0007Q\u0002\u0002", + "\u17bb\u17bc\u0007T\u0002\u0002\u17bc\u17bd\u0007[\u0002\u0002\u17bd", + "\u014c\u0003\u0002\u0002\u0002\u17be\u17bf\u0007E\u0002\u0002\u17bf", + "\u17c0\u0007F\u0002\u0002\u17c0\u17c1\u0007D\u0002\u0002\u17c1\u17c2", + "\u0007&\u0002\u0002\u17c2\u17c3\u0007F\u0002\u0002\u17c3\u17c4\u0007", + "G\u0002\u0002\u17c4\u17c5\u0007H\u0002\u0002\u17c5\u17c6\u0007C\u0002", + "\u0002\u17c6\u17c7\u0007W\u0002\u0002\u17c7\u17c8\u0007N\u0002\u0002", + "\u17c8\u17c9\u0007V\u0002\u0002\u17c9\u014e\u0003\u0002\u0002\u0002", + "\u17ca\u17cb\u0007E\u0002\u0002\u17cb\u17cc\u0007G\u0002\u0002\u17cc", + "\u17cd\u0007K\u0002\u0002\u17cd\u17ce\u0007N\u0002\u0002\u17ce\u0150", + "\u0003\u0002\u0002\u0002\u17cf\u17d0\u0007E\u0002\u0002\u17d0\u17d1", + "\u0007G\u0002\u0002\u17d1\u17d2\u0007N\u0002\u0002\u17d2\u17d3\u0007", + "N\u0002\u0002\u17d3\u17d4\u0007a\u0002\u0002\u17d4\u17d5\u0007H\u0002", + "\u0002\u17d5\u17d6\u0007N\u0002\u0002\u17d6\u17d7\u0007C\u0002\u0002", + "\u17d7\u17d8\u0007U\u0002\u0002\u17d8\u17d9\u0007J\u0002\u0002\u17d9", + "\u17da\u0007a\u0002\u0002\u17da\u17db\u0007E\u0002\u0002\u17db\u17dc", + "\u0007C\u0002\u0002\u17dc\u17dd\u0007E\u0002\u0002\u17dd\u17de\u0007", + "J\u0002\u0002\u17de\u17df\u0007G\u0002\u0002\u17df\u0152\u0003\u0002", + "\u0002\u0002\u17e0\u17e1\u0007E\u0002\u0002\u17e1\u17e2\u0007G\u0002", + "\u0002\u17e2\u17e3\u0007T\u0002\u0002\u17e3\u17e4\u0007V\u0002\u0002", + "\u17e4\u17e5\u0007K\u0002\u0002\u17e5\u17e6\u0007H\u0002\u0002\u17e6", + "\u17e7\u0007K\u0002\u0002\u17e7\u17e8\u0007E\u0002\u0002\u17e8\u17e9", + "\u0007C\u0002\u0002\u17e9\u17ea\u0007V\u0002\u0002\u17ea\u17eb\u0007", + "G\u0002\u0002\u17eb\u0154\u0003\u0002\u0002\u0002\u17ec\u17ed\u0007", + "E\u0002\u0002\u17ed\u17ee\u0007H\u0002\u0002\u17ee\u17ef\u0007K\u0002", + "\u0002\u17ef\u17f0\u0007N\u0002\u0002\u17f0\u17f1\u0007G\u0002\u0002", + "\u17f1\u0156\u0003\u0002\u0002\u0002\u17f2\u17f3\u0007E\u0002\u0002", + "\u17f3\u17f4\u0007J\u0002\u0002\u17f4\u17f5\u0007C\u0002\u0002\u17f5", + "\u17f6\u0007K\u0002\u0002\u17f6\u17f7\u0007P\u0002\u0002\u17f7\u17f8", + "\u0007G\u0002\u0002\u17f8\u17f9\u0007F\u0002\u0002\u17f9\u0158\u0003", + "\u0002\u0002\u0002\u17fa\u17fb\u0007E\u0002\u0002\u17fb\u17fc\u0007", + "J\u0002\u0002\u17fc\u17fd\u0007C\u0002\u0002\u17fd\u17fe\u0007P\u0002", + "\u0002\u17fe\u17ff\u0007I\u0002\u0002\u17ff\u1800\u0007G\u0002\u0002", + "\u1800\u015a\u0003\u0002\u0002\u0002\u1801\u1802\u0007E\u0002\u0002", + "\u1802\u1803\u0007J\u0002\u0002\u1803\u1804\u0007C\u0002\u0002\u1804", + "\u1805\u0007P\u0002\u0002\u1805\u1806\u0007I\u0002\u0002\u1806\u1807", + "\u0007G\u0002\u0002\u1807\u1808\u0007V\u0002\u0002\u1808\u1809\u0007", + "T\u0002\u0002\u1809\u180a\u0007C\u0002\u0002\u180a\u180b\u0007E\u0002", + "\u0002\u180b\u180c\u0007M\u0002\u0002\u180c\u180d\u0007K\u0002\u0002", + "\u180d\u180e\u0007P\u0002\u0002\u180e\u180f\u0007I\u0002\u0002\u180f", + "\u015c\u0003\u0002\u0002\u0002\u1810\u1811\u0007E\u0002\u0002\u1811", + "\u1812\u0007J\u0002\u0002\u1812\u1813\u0007C\u0002\u0002\u1813\u1814", + "\u0007P\u0002\u0002\u1814\u1815\u0007I\u0002\u0002\u1815\u1816\u0007", + "G\u0002\u0002\u1816\u1817\u0007a\u0002\u0002\u1817\u1818\u0007F\u0002", + "\u0002\u1818\u1819\u0007W\u0002\u0002\u1819\u181a\u0007R\u0002\u0002", + "\u181a\u181b\u0007M\u0002\u0002\u181b\u181c\u0007G\u0002\u0002\u181c", + "\u181d\u0007[\u0002\u0002\u181d\u181e\u0007a\u0002\u0002\u181e\u181f", + "\u0007G\u0002\u0002\u181f\u1820\u0007T\u0002\u0002\u1820\u1821\u0007", + "T\u0002\u0002\u1821\u1822\u0007Q\u0002\u0002\u1822\u1823\u0007T\u0002", + "\u0002\u1823\u1824\u0007a\u0002\u0002\u1824\u1825\u0007K\u0002\u0002", + "\u1825\u1826\u0007P\u0002\u0002\u1826\u1827\u0007F\u0002\u0002\u1827", + "\u1828\u0007G\u0002\u0002\u1828\u1829\u0007Z\u0002\u0002\u1829\u015e", + "\u0003\u0002\u0002\u0002\u182a\u182b\u0007E\u0002\u0002\u182b\u182c", + "\u0007J\u0002\u0002\u182c\u182d\u0007C\u0002\u0002\u182d\u182e\u0007", + "T\u0002\u0002\u182e\u182f\u0007C\u0002\u0002\u182f\u1830\u0007E\u0002", + "\u0002\u1830\u1831\u0007V\u0002\u0002\u1831\u1832\u0007G\u0002\u0002", + "\u1832\u1833\u0007T\u0002\u0002\u1833\u0160\u0003\u0002\u0002\u0002", + "\u1834\u1835\u0007E\u0002\u0002\u1835\u1836\u0007J\u0002\u0002\u1836", + "\u1837\u0007C\u0002\u0002\u1837\u1838\u0007T\u0002\u0002\u1838\u0162", + "\u0003\u0002\u0002\u0002\u1839\u183a\u0007E\u0002\u0002\u183a\u183b", + "\u0007J\u0002\u0002\u183b\u183c\u0007C\u0002\u0002\u183c\u183d\u0007", + "T\u0002\u0002\u183d\u183e\u0007a\u0002\u0002\u183e\u183f\u0007E\u0002", + "\u0002\u183f\u1840\u0007U\u0002\u0002\u1840\u0164\u0003\u0002\u0002", + "\u0002\u1841\u1842\u0007E\u0002\u0002\u1842\u1843\u0007J\u0002\u0002", + "\u1843\u1844\u0007C\u0002\u0002\u1844\u1845\u0007T\u0002\u0002\u1845", + "\u1846\u0007V\u0002\u0002\u1846\u1847\u0007Q\u0002\u0002\u1847\u1848", + "\u0007T\u0002\u0002\u1848\u1849\u0007Q\u0002\u0002\u1849\u184a\u0007", + "Y\u0002\u0002\u184a\u184b\u0007K\u0002\u0002\u184b\u184c\u0007F\u0002", + "\u0002\u184c\u0166\u0003\u0002\u0002\u0002\u184d\u184e\u0007E\u0002", + "\u0002\u184e\u184f\u0007J\u0002\u0002\u184f\u1850\u0007G\u0002\u0002", + "\u1850\u1851\u0007E\u0002\u0002\u1851\u1852\u0007M\u0002\u0002\u1852", + "\u1853\u0007a\u0002\u0002\u1853\u1854\u0007C\u0002\u0002\u1854\u1855", + "\u0007E\u0002\u0002\u1855\u1856\u0007N\u0002\u0002\u1856\u1857\u0007", + "a\u0002\u0002\u1857\u1858\u0007T\u0002\u0002\u1858\u1859\u0007G\u0002", + "\u0002\u1859\u185a\u0007Y\u0002\u0002\u185a\u185b\u0007T\u0002\u0002", + "\u185b\u185c\u0007K\u0002\u0002\u185c\u185d\u0007V\u0002\u0002\u185d", + "\u185e\u0007G\u0002\u0002\u185e\u0168\u0003\u0002\u0002\u0002\u185f", + "\u1860\u0007E\u0002\u0002\u1860\u1861\u0007J\u0002\u0002\u1861\u1862", + "\u0007G\u0002\u0002\u1862\u1863\u0007E\u0002\u0002\u1863\u1864\u0007", + "M\u0002\u0002\u1864\u016a\u0003\u0002\u0002\u0002\u1865\u1866\u0007", + "E\u0002\u0002\u1866\u1867\u0007J\u0002\u0002\u1867\u1868\u0007G\u0002", + "\u0002\u1868\u1869\u0007E\u0002\u0002\u1869\u186a\u0007M\u0002\u0002", + "\u186a\u186b\u0007R\u0002\u0002\u186b\u186c\u0007Q\u0002\u0002\u186c", + "\u186d\u0007K\u0002\u0002\u186d\u186e\u0007P\u0002\u0002\u186e\u186f", + "\u0007V\u0002\u0002\u186f\u016c\u0003\u0002\u0002\u0002\u1870\u1871", + "\u0007E\u0002\u0002\u1871\u1872\u0007J\u0002\u0002\u1872\u1873\u0007", + "K\u0002\u0002\u1873\u1874\u0007N\u0002\u0002\u1874\u1875\u0007F\u0002", + "\u0002\u1875\u016e\u0003\u0002\u0002\u0002\u1876\u1877\u0007E\u0002", + "\u0002\u1877\u1878\u0007J\u0002\u0002\u1878\u1879\u0007Q\u0002\u0002", + "\u1879\u187a\u0007Q\u0002\u0002\u187a\u187b\u0007U\u0002\u0002\u187b", + "\u187c\u0007G\u0002\u0002\u187c\u0170\u0003\u0002\u0002\u0002\u187d", + "\u187e\u0007E\u0002\u0002\u187e\u187f\u0007J\u0002\u0002\u187f\u1880", + "\u0007T\u0002\u0002\u1880\u0172\u0003\u0002\u0002\u0002\u1881\u1882", + "\u0007E\u0002\u0002\u1882\u1883\u0007J\u0002\u0002\u1883\u1884\u0007", + "W\u0002\u0002\u1884\u1885\u0007P\u0002\u0002\u1885\u1886\u0007M\u0002", + "\u0002\u1886\u0174\u0003\u0002\u0002\u0002\u1887\u1888\u0007E\u0002", + "\u0002\u1888\u1889\u0007N\u0002\u0002\u1889\u188a\u0007C\u0002\u0002", + "\u188a\u188b\u0007U\u0002\u0002\u188b\u188c\u0007U\u0002\u0002\u188c", + "\u0176\u0003\u0002\u0002\u0002\u188d\u188e\u0007E\u0002\u0002\u188e", + "\u188f\u0007N\u0002\u0002\u188f\u1890\u0007C\u0002\u0002\u1890\u1891", + "\u0007U\u0002\u0002\u1891\u1892\u0007U\u0002\u0002\u1892\u1893\u0007", + "K\u0002\u0002\u1893\u1894\u0007H\u0002\u0002\u1894\u1895\u0007K\u0002", + "\u0002\u1895\u1896\u0007G\u0002\u0002\u1896\u1897\u0007T\u0002\u0002", + "\u1897\u0178\u0003\u0002\u0002\u0002\u1898\u1899\u0007E\u0002\u0002", + "\u1899\u189a\u0007N\u0002\u0002\u189a\u189b\u0007G\u0002\u0002\u189b", + "\u189c\u0007C\u0002\u0002\u189c\u189d\u0007P\u0002\u0002\u189d\u189e", + "\u0007W\u0002\u0002\u189e\u189f\u0007R\u0002\u0002\u189f\u017a\u0003", + "\u0002\u0002\u0002\u18a0\u18a1\u0007E\u0002\u0002\u18a1\u18a2\u0007", + "N\u0002\u0002\u18a2\u18a3\u0007G\u0002\u0002\u18a3\u18a4\u0007C\u0002", + "\u0002\u18a4\u18a5\u0007T\u0002\u0002\u18a5\u017c\u0003\u0002\u0002", + "\u0002\u18a6\u18a7\u0007E\u0002\u0002\u18a7\u017e\u0003\u0002\u0002", + "\u0002\u18a8\u18a9\u0007E\u0002\u0002\u18a9\u18aa\u0007N\u0002\u0002", + "\u18aa\u18ab\u0007K\u0002\u0002\u18ab\u18ac\u0007G\u0002\u0002\u18ac", + "\u18ad\u0007P\u0002\u0002\u18ad\u18ae\u0007V\u0002\u0002\u18ae\u0180", + "\u0003\u0002\u0002\u0002\u18af\u18b0\u0007E\u0002\u0002\u18b0\u18b1", + "\u0007N\u0002\u0002\u18b1\u18b2\u0007Q\u0002\u0002\u18b2\u18b3\u0007", + "D\u0002\u0002\u18b3\u0182\u0003\u0002\u0002\u0002\u18b4\u18b5\u0007", + "E\u0002\u0002\u18b5\u18b6\u0007N\u0002\u0002\u18b6\u18b7\u0007Q\u0002", + "\u0002\u18b7\u18b8\u0007P\u0002\u0002\u18b8\u18b9\u0007G\u0002\u0002", + "\u18b9\u0184\u0003\u0002\u0002\u0002\u18ba\u18bb\u0007E\u0002\u0002", + "\u18bb\u18bc\u0007N\u0002\u0002\u18bc\u18bd\u0007Q\u0002\u0002\u18bd", + "\u18be\u0007U\u0002\u0002\u18be\u18bf\u0007G\u0002\u0002\u18bf\u18c0", + "\u0007a\u0002\u0002\u18c0\u18c1\u0007E\u0002\u0002\u18c1\u18c2\u0007", + "C\u0002\u0002\u18c2\u18c3\u0007E\u0002\u0002\u18c3\u18c4\u0007J\u0002", + "\u0002\u18c4\u18c5\u0007G\u0002\u0002\u18c5\u18c6\u0007F\u0002\u0002", + "\u18c6\u18c7\u0007a\u0002\u0002\u18c7\u18c8\u0007Q\u0002\u0002\u18c8", + "\u18c9\u0007R\u0002\u0002\u18c9\u18ca\u0007G\u0002\u0002\u18ca\u18cb", + "\u0007P\u0002\u0002\u18cb\u18cc\u0007a\u0002\u0002\u18cc\u18cd\u0007", + "E\u0002\u0002\u18cd\u18ce\u0007W\u0002\u0002\u18ce\u18cf\u0007T\u0002", + "\u0002\u18cf\u18d0\u0007U\u0002\u0002\u18d0\u18d1\u0007Q\u0002\u0002", + "\u18d1\u18d2\u0007T\u0002\u0002\u18d2\u18d3\u0007U\u0002\u0002\u18d3", + "\u0186\u0003\u0002\u0002\u0002\u18d4\u18d5\u0007E\u0002\u0002\u18d5", + "\u18d6\u0007N\u0002\u0002\u18d6\u18d7\u0007Q\u0002\u0002\u18d7\u18d8", + "\u0007U\u0002\u0002\u18d8\u18d9\u0007G\u0002\u0002\u18d9\u0188\u0003", + "\u0002\u0002\u0002\u18da\u18db\u0007E\u0002\u0002\u18db\u18dc\u0007", + "N\u0002\u0002\u18dc\u18dd\u0007W\u0002\u0002\u18dd\u18de\u0007U\u0002", + "\u0002\u18de\u18df\u0007V\u0002\u0002\u18df\u18e0\u0007G\u0002\u0002", + "\u18e0\u18e1\u0007T\u0002\u0002\u18e1\u18e2\u0007a\u0002\u0002\u18e2", + "\u18e3\u0007D\u0002\u0002\u18e3\u18e4\u0007[\u0002\u0002\u18e4\u18e5", + "\u0007a\u0002\u0002\u18e5\u18e6\u0007T\u0002\u0002\u18e6\u18e7\u0007", + "Q\u0002\u0002\u18e7\u18e8\u0007Y\u0002\u0002\u18e8\u18e9\u0007K\u0002", + "\u0002\u18e9\u18ea\u0007F\u0002\u0002\u18ea\u018a\u0003\u0002\u0002", + "\u0002\u18eb\u18ec\u0007E\u0002\u0002\u18ec\u18ed\u0007N\u0002\u0002", + "\u18ed\u18ee\u0007W\u0002\u0002\u18ee\u18ef\u0007U\u0002\u0002\u18ef", + "\u18f0\u0007V\u0002\u0002\u18f0\u18f1\u0007G\u0002\u0002\u18f1\u18f2", + "\u0007T\u0002\u0002\u18f2\u018c\u0003\u0002\u0002\u0002\u18f3\u18f4", + "\u0007E\u0002\u0002\u18f4\u18f5\u0007N\u0002\u0002\u18f5\u18f6\u0007", + "W\u0002\u0002\u18f6\u18f7\u0007U\u0002\u0002\u18f7\u18f8\u0007V\u0002", + "\u0002\u18f8\u18f9\u0007G\u0002\u0002\u18f9\u18fa\u0007T\u0002\u0002", + "\u18fa\u18fb\u0007a\u0002\u0002\u18fb\u18fc\u0007F\u0002\u0002\u18fc", + "\u18fd\u0007G\u0002\u0002\u18fd\u18fe\u0007V\u0002\u0002\u18fe\u18ff", + "\u0007C\u0002\u0002\u18ff\u1900\u0007K\u0002\u0002\u1900\u1901\u0007", + "N\u0002\u0002\u1901\u1902\u0007U\u0002\u0002\u1902\u018e\u0003\u0002", + "\u0002\u0002\u1903\u1904\u0007E\u0002\u0002\u1904\u1905\u0007N\u0002", + "\u0002\u1905\u1906\u0007W\u0002\u0002\u1906\u1907\u0007U\u0002\u0002", + "\u1907\u1908\u0007V\u0002\u0002\u1908\u1909\u0007G\u0002\u0002\u1909", + "\u190a\u0007T\u0002\u0002\u190a\u190b\u0007a\u0002\u0002\u190b\u190c", + "\u0007F\u0002\u0002\u190c\u190d\u0007K\u0002\u0002\u190d\u190e\u0007", + "U\u0002\u0002\u190e\u190f\u0007V\u0002\u0002\u190f\u1910\u0007C\u0002", + "\u0002\u1910\u1911\u0007P\u0002\u0002\u1911\u1912\u0007E\u0002\u0002", + "\u1912\u1913\u0007G\u0002\u0002\u1913\u0190\u0003\u0002\u0002\u0002", + "\u1914\u1915\u0007E\u0002\u0002\u1915\u1916\u0007N\u0002\u0002\u1916", + "\u1917\u0007W\u0002\u0002\u1917\u1918\u0007U\u0002\u0002\u1918\u1919", + "\u0007V\u0002\u0002\u1919\u191a\u0007G\u0002\u0002\u191a\u191b\u0007", + "T\u0002\u0002\u191b\u191c\u0007a\u0002\u0002\u191c\u191d\u0007K\u0002", + "\u0002\u191d\u191e\u0007F\u0002\u0002\u191e\u0192\u0003\u0002\u0002", + "\u0002\u191f\u1920\u0007E\u0002\u0002\u1920\u1921\u0007N\u0002\u0002", + "\u1921\u1922\u0007W\u0002\u0002\u1922\u1923\u0007U\u0002\u0002\u1923", + "\u1924\u0007V\u0002\u0002\u1924\u1925\u0007G\u0002\u0002\u1925\u1926", + "\u0007T\u0002\u0002\u1926\u1927\u0007K\u0002\u0002\u1927\u1928\u0007", + "P\u0002\u0002\u1928\u1929\u0007I\u0002\u0002\u1929\u0194\u0003\u0002", + "\u0002\u0002\u192a\u192b\u0007E\u0002\u0002\u192b\u192c\u0007N\u0002", + "\u0002\u192c\u192d\u0007W\u0002\u0002\u192d\u192e\u0007U\u0002\u0002", + "\u192e\u192f\u0007V\u0002\u0002\u192f\u1930\u0007G\u0002\u0002\u1930", + "\u1931\u0007T\u0002\u0002\u1931\u1932\u0007K\u0002\u0002\u1932\u1933", + "\u0007P\u0002\u0002\u1933\u1934\u0007I\u0002\u0002\u1934\u1935\u0007", + "a\u0002\u0002\u1935\u1936\u0007H\u0002\u0002\u1936\u1937\u0007C\u0002", + "\u0002\u1937\u1938\u0007E\u0002\u0002\u1938\u1939\u0007V\u0002\u0002", + "\u1939\u193a\u0007Q\u0002\u0002\u193a\u193b\u0007T\u0002\u0002\u193b", + "\u0196\u0003\u0002\u0002\u0002\u193c\u193d\u0007E\u0002\u0002\u193d", + "\u193e\u0007N\u0002\u0002\u193e\u193f\u0007W\u0002\u0002\u193f\u1940", + "\u0007U\u0002\u0002\u1940\u1941\u0007V\u0002\u0002\u1941\u1942\u0007", + "G\u0002\u0002\u1942\u1943\u0007T\u0002\u0002\u1943\u1944\u0007a\u0002", + "\u0002\u1944\u1945\u0007R\u0002\u0002\u1945\u1946\u0007T\u0002\u0002", + "\u1946\u1947\u0007Q\u0002\u0002\u1947\u1948\u0007D\u0002\u0002\u1948", + "\u1949\u0007C\u0002\u0002\u1949\u194a\u0007D\u0002\u0002\u194a\u194b", + "\u0007K\u0002\u0002\u194b\u194c\u0007N\u0002\u0002\u194c\u194d\u0007", + "K\u0002\u0002\u194d\u194e\u0007V\u0002\u0002\u194e\u194f\u0007[\u0002", + "\u0002\u194f\u0198\u0003\u0002\u0002\u0002\u1950\u1951\u0007E\u0002", + "\u0002\u1951\u1952\u0007N\u0002\u0002\u1952\u1953\u0007W\u0002\u0002", + "\u1953\u1954\u0007U\u0002\u0002\u1954\u1955\u0007V\u0002\u0002\u1955", + "\u1956\u0007G\u0002\u0002\u1956\u1957\u0007T\u0002\u0002\u1957\u1958", + "\u0007a\u0002\u0002\u1958\u1959\u0007U\u0002\u0002\u1959\u195a\u0007", + "G\u0002\u0002\u195a\u195b\u0007V\u0002\u0002\u195b\u019a\u0003\u0002", + "\u0002\u0002\u195c\u195d\u0007E\u0002\u0002\u195d\u195e\u0007Q\u0002", + "\u0002\u195e\u195f\u0007C\u0002\u0002\u195f\u1960\u0007N\u0002\u0002", + "\u1960\u1961\u0007G\u0002\u0002\u1961\u1962\u0007U\u0002\u0002\u1962", + "\u1963\u0007E\u0002\u0002\u1963\u1964\u0007G\u0002\u0002\u1964\u019c", + "\u0003\u0002\u0002\u0002\u1965\u1966\u0007E\u0002\u0002\u1966\u1967", + "\u0007Q\u0002\u0002\u1967\u1968\u0007C\u0002\u0002\u1968\u1969\u0007", + "N\u0002\u0002\u1969\u196a\u0007G\u0002\u0002\u196a\u196b\u0007U\u0002", + "\u0002\u196b\u196c\u0007E\u0002\u0002\u196c\u196d\u0007G\u0002\u0002", + "\u196d\u196e\u0007a\u0002\u0002\u196e\u196f\u0007U\u0002\u0002\u196f", + "\u1970\u0007S\u0002\u0002\u1970\u019e\u0003\u0002\u0002\u0002\u1971", + "\u1972\u0007E\u0002\u0002\u1972\u1973\u0007Q\u0002\u0002\u1973\u1974", + "\u0007C\u0002\u0002\u1974\u1975\u0007T\u0002\u0002\u1975\u1976\u0007", + "U\u0002\u0002\u1976\u1977\u0007G\u0002\u0002\u1977\u01a0\u0003\u0002", + "\u0002\u0002\u1978\u1979\u0007E\u0002\u0002\u1979\u197a\u0007Q\u0002", + "\u0002\u197a\u197b\u0007a\u0002\u0002\u197b\u197c\u0007C\u0002\u0002", + "\u197c\u197d\u0007W\u0002\u0002\u197d\u197e\u0007V\u0002\u0002\u197e", + "\u197f\u0007J\u0002\u0002\u197f\u1980\u0007a\u0002\u0002\u1980\u1981", + "\u0007K\u0002\u0002\u1981\u1982\u0007P\u0002\u0002\u1982\u1983\u0007", + "F\u0002\u0002\u1983\u01a2\u0003\u0002\u0002\u0002\u1984\u1985\u0007", + "E\u0002\u0002\u1985\u1986\u0007Q\u0002\u0002\u1986\u1987\u0007N\u0002", + "\u0002\u1987\u1988\u0007F\u0002\u0002\u1988\u01a4\u0003\u0002\u0002", + "\u0002\u1989\u198a\u0007E\u0002\u0002\u198a\u198b\u0007Q\u0002\u0002", + "\u198b\u198c\u0007N\u0002\u0002\u198c\u198d\u0007N\u0002\u0002\u198d", + "\u198e\u0007G\u0002\u0002\u198e\u198f\u0007E\u0002\u0002\u198f\u1990", + "\u0007V\u0002\u0002\u1990\u01a6\u0003\u0002\u0002\u0002\u1991\u1992", + "\u0007E\u0002\u0002\u1992\u1993\u0007Q\u0002\u0002\u1993\u1994\u0007", + "N\u0002\u0002\u1994\u1995\u0007W\u0002\u0002\u1995\u1996\u0007O\u0002", + "\u0002\u1996\u1997\u0007P\u0002\u0002\u1997\u1998\u0007C\u0002\u0002", + "\u1998\u1999\u0007T\u0002\u0002\u1999\u01a8\u0003\u0002\u0002\u0002", + "\u199a\u199b\u0007E\u0002\u0002\u199b\u199c\u0007Q\u0002\u0002\u199c", + "\u199d\u0007N\u0002\u0002\u199d\u199e\u0007W\u0002\u0002\u199e\u199f", + "\u0007O\u0002\u0002\u199f\u19a0\u0007P\u0002\u0002\u19a0\u19a1\u0007", + "a\u0002\u0002\u19a1\u19a2\u0007C\u0002\u0002\u19a2\u19a3\u0007W\u0002", + "\u0002\u19a3\u19a4\u0007V\u0002\u0002\u19a4\u19a5\u0007J\u0002\u0002", + "\u19a5\u19a6\u0007a\u0002\u0002\u19a6\u19a7\u0007K\u0002\u0002\u19a7", + "\u19a8\u0007P\u0002\u0002\u19a8\u19a9\u0007F\u0002\u0002\u19a9\u19aa", + "\u0007K\u0002\u0002\u19aa\u19ab\u0007E\u0002\u0002\u19ab\u19ac\u0007", + "C\u0002\u0002\u19ac\u19ad\u0007V\u0002\u0002\u19ad\u19ae\u0007Q\u0002", + "\u0002\u19ae\u19af\u0007T\u0002\u0002\u19af\u01aa\u0003\u0002\u0002", + "\u0002\u19b0\u19b1\u0007E\u0002\u0002\u19b1\u19b2\u0007Q\u0002\u0002", + "\u19b2\u19b3\u0007N\u0002\u0002\u19b3\u19b4\u0007W\u0002\u0002\u19b4", + "\u19b5\u0007O\u0002\u0002\u19b5\u19b6\u0007P\u0002\u0002\u19b6\u01ac", + "\u0003\u0002\u0002\u0002\u19b7\u19b8\u0007E\u0002\u0002\u19b8\u19b9", + "\u0007Q\u0002\u0002\u19b9\u19ba\u0007N\u0002\u0002\u19ba\u19bb\u0007", + "W\u0002\u0002\u19bb\u19bc\u0007O\u0002\u0002\u19bc\u19bd\u0007P\u0002", + "\u0002\u19bd\u19be\u0007U\u0002\u0002\u19be\u01ae\u0003\u0002\u0002", + "\u0002\u19bf\u19c0\u0007E\u0002\u0002\u19c0\u19c1\u0007Q\u0002\u0002", + "\u19c1\u19c2\u0007N\u0002\u0002\u19c2\u19c3\u0007W\u0002\u0002\u19c3", + "\u19c4\u0007O\u0002\u0002\u19c4\u19c5\u0007P\u0002\u0002\u19c5\u19c6", + "\u0007a\u0002\u0002\u19c6\u19c7\u0007U\u0002\u0002\u19c7\u19c8\u0007", + "V\u0002\u0002\u19c8\u19c9\u0007C\u0002\u0002\u19c9\u19ca\u0007V\u0002", + "\u0002\u19ca\u19cb\u0007U\u0002\u0002\u19cb\u01b0\u0003\u0002\u0002", + "\u0002\u19cc\u19cd\u0007E\u0002\u0002\u19cd\u19ce\u0007Q\u0002\u0002", + "\u19ce\u19cf\u0007N\u0002\u0002\u19cf\u19d0\u0007W\u0002\u0002\u19d0", + "\u19d1\u0007O\u0002\u0002\u19d1\u19d2\u0007P\u0002\u0002\u19d2\u19d3", + "\u0007a\u0002\u0002\u19d3\u19d4\u0007X\u0002\u0002\u19d4\u19d5\u0007", + "C\u0002\u0002\u19d5\u19d6\u0007N\u0002\u0002\u19d6\u19d7\u0007W\u0002", + "\u0002\u19d7\u19d8\u0007G\u0002\u0002\u19d8\u01b2\u0003\u0002\u0002", + "\u0002\u19d9\u19da\u0007E\u0002\u0002\u19da\u19db\u0007Q\u0002\u0002", + "\u19db\u19dc\u0007O\u0002\u0002\u19dc\u19dd\u0007O\u0002\u0002\u19dd", + "\u19de\u0007G\u0002\u0002\u19de\u19df\u0007P\u0002\u0002\u19df\u19e0", + "\u0007V\u0002\u0002\u19e0\u01b4\u0003\u0002\u0002\u0002\u19e1\u19e2", + "\u0007E\u0002\u0002\u19e2\u19e3\u0007Q\u0002\u0002\u19e3\u19e4\u0007", + "O\u0002\u0002\u19e4\u19e5\u0007O\u0002\u0002\u19e5\u19e6\u0007K\u0002", + "\u0002\u19e6\u19e7\u0007V\u0002\u0002\u19e7\u01b6\u0003\u0002\u0002", + "\u0002\u19e8\u19e9\u0007E\u0002\u0002\u19e9\u19ea\u0007Q\u0002\u0002", + "\u19ea\u19eb\u0007O\u0002\u0002\u19eb\u19ec\u0007O\u0002\u0002\u19ec", + "\u19ed\u0007K\u0002\u0002\u19ed\u19ee\u0007V\u0002\u0002\u19ee\u19ef", + "\u0007V\u0002\u0002\u19ef\u19f0\u0007G\u0002\u0002\u19f0\u19f1\u0007", + "F\u0002\u0002\u19f1\u01b8\u0003\u0002\u0002\u0002\u19f2\u19f3\u0007", + "E\u0002\u0002\u19f3\u19f4\u0007Q\u0002\u0002\u19f4\u19f5\u0007O\u0002", + "\u0002\u19f5\u19f6\u0007O\u0002\u0002\u19f6\u19f7\u0007Q\u0002\u0002", + "\u19f7\u19f8\u0007P\u0002\u0002\u19f8\u19f9\u0007a\u0002\u0002\u19f9", + "\u19fa\u0007F\u0002\u0002\u19fa\u19fb\u0007C\u0002\u0002\u19fb\u19fc", + "\u0007V\u0002\u0002\u19fc\u19fd\u0007C\u0002\u0002\u19fd\u01ba\u0003", + "\u0002\u0002\u0002\u19fe\u19ff\u0007E\u0002\u0002\u19ff\u1a00\u0007", + "Q\u0002\u0002\u1a00\u1a01\u0007O\u0002\u0002\u1a01\u1a02\u0007R\u0002", + "\u0002\u1a02\u1a03\u0007C\u0002\u0002\u1a03\u1a04\u0007E\u0002\u0002", + "\u1a04\u1a05\u0007V\u0002\u0002\u1a05\u01bc\u0003\u0002\u0002\u0002", + "\u1a06\u1a07\u0007E\u0002\u0002\u1a07\u1a08\u0007Q\u0002\u0002\u1a08", + "\u1a09\u0007O\u0002\u0002\u1a09\u1a0a\u0007R\u0002\u0002\u1a0a\u1a0b", + "\u0007C\u0002\u0002\u1a0b\u1a0c\u0007V\u0002\u0002\u1a0c\u1a0d\u0007", + "K\u0002\u0002\u1a0d\u1a0e\u0007D\u0002\u0002\u1a0e\u1a0f\u0007K\u0002", + "\u0002\u1a0f\u1a10\u0007N\u0002\u0002\u1a10\u1a11\u0007K\u0002\u0002", + "\u1a11\u1a12\u0007V\u0002\u0002\u1a12\u1a13\u0007[\u0002\u0002\u1a13", + "\u01be\u0003\u0002\u0002\u0002\u1a14\u1a15\u0007E\u0002\u0002\u1a15", + "\u1a16\u0007Q\u0002\u0002\u1a16\u1a17\u0007O\u0002\u0002\u1a17\u1a18", + "\u0007R\u0002\u0002\u1a18\u1a19\u0007K\u0002\u0002\u1a19\u1a1a\u0007", + "N\u0002\u0002\u1a1a\u1a1b\u0007G\u0002\u0002\u1a1b\u01c0\u0003\u0002", + "\u0002\u0002\u1a1c\u1a1d\u0007E\u0002\u0002\u1a1d\u1a1e\u0007Q\u0002", + "\u0002\u1a1e\u1a1f\u0007O\u0002\u0002\u1a1f\u1a20\u0007R\u0002\u0002", + "\u1a20\u1a21\u0007N\u0002\u0002\u1a21\u1a22\u0007G\u0002\u0002\u1a22", + "\u1a23\u0007V\u0002\u0002\u1a23\u1a24\u0007G\u0002\u0002\u1a24\u01c2", + "\u0003\u0002\u0002\u0002\u1a25\u1a26\u0007E\u0002\u0002\u1a26\u1a27", + "\u0007Q\u0002\u0002\u1a27\u1a28\u0007O\u0002\u0002\u1a28\u1a29\u0007", + "R\u0002\u0002\u1a29\u1a2a\u0007N\u0002\u0002\u1a2a\u1a2b\u0007K\u0002", + "\u0002\u1a2b\u1a2c\u0007C\u0002\u0002\u1a2c\u1a2d\u0007P\u0002\u0002", + "\u1a2d\u1a2e\u0007E\u0002\u0002\u1a2e\u1a2f\u0007G\u0002\u0002\u1a2f", + "\u01c4\u0003\u0002\u0002\u0002\u1a30\u1a31\u0007E\u0002\u0002\u1a31", + "\u1a32\u0007Q\u0002\u0002\u1a32\u1a33\u0007O\u0002\u0002\u1a33\u1a34", + "\u0007R\u0002\u0002\u1a34\u1a35\u0007Q\u0002\u0002\u1a35\u1a36\u0007", + "P\u0002\u0002\u1a36\u1a37\u0007G\u0002\u0002\u1a37\u1a38\u0007P\u0002", + "\u0002\u1a38\u1a39\u0007V\u0002\u0002\u1a39\u01c6\u0003\u0002\u0002", + "\u0002\u1a3a\u1a3b\u0007E\u0002\u0002\u1a3b\u1a3c\u0007Q\u0002\u0002", + "\u1a3c\u1a3d\u0007O\u0002\u0002\u1a3d\u1a3e\u0007R\u0002\u0002\u1a3e", + "\u1a3f\u0007Q\u0002\u0002\u1a3f\u1a40\u0007P\u0002\u0002\u1a40\u1a41", + "\u0007G\u0002\u0002\u1a41\u1a42\u0007P\u0002\u0002\u1a42\u1a43\u0007", + "V\u0002\u0002\u1a43\u1a44\u0007U\u0002\u0002\u1a44\u01c8\u0003\u0002", + "\u0002\u0002\u1a45\u1a46\u0007E\u0002\u0002\u1a46\u1a47\u0007Q\u0002", + "\u0002\u1a47\u1a48\u0007O\u0002\u0002\u1a48\u1a49\u0007R\u0002\u0002", + "\u1a49\u1a4a\u0007Q\u0002\u0002\u1a4a\u1a4b\u0007U\u0002\u0002\u1a4b", + "\u1a4c\u0007G\u0002\u0002\u1a4c\u01ca\u0003\u0002\u0002\u0002\u1a4d", + "\u1a4e\u0007E\u0002\u0002\u1a4e\u1a4f\u0007Q\u0002\u0002\u1a4f\u1a50", + "\u0007O\u0002\u0002\u1a50\u1a51\u0007R\u0002\u0002\u1a51\u1a52\u0007", + "Q\u0002\u0002\u1a52\u1a53\u0007U\u0002\u0002\u1a53\u1a54\u0007K\u0002", + "\u0002\u1a54\u1a55\u0007V\u0002\u0002\u1a55\u1a56\u0007G\u0002\u0002", + "\u1a56\u01cc\u0003\u0002\u0002\u0002\u1a57\u1a58\u0007E\u0002\u0002", + "\u1a58\u1a59\u0007Q\u0002\u0002\u1a59\u1a5a\u0007O\u0002\u0002\u1a5a", + "\u1a5b\u0007R\u0002\u0002\u1a5b\u1a5c\u0007Q\u0002\u0002\u1a5c\u1a5d", + "\u0007U\u0002\u0002\u1a5d\u1a5e\u0007K\u0002\u0002\u1a5e\u1a5f\u0007", + "V\u0002\u0002\u1a5f\u1a60\u0007G\u0002\u0002\u1a60\u1a61\u0007a\u0002", + "\u0002\u1a61\u1a62\u0007N\u0002\u0002\u1a62\u1a63\u0007K\u0002\u0002", + "\u1a63\u1a64\u0007O\u0002\u0002\u1a64\u1a65\u0007K\u0002\u0002\u1a65", + "\u1a66\u0007V\u0002\u0002\u1a66\u01ce\u0003\u0002\u0002\u0002\u1a67", + "\u1a68\u0007E\u0002\u0002\u1a68\u1a69\u0007Q\u0002\u0002\u1a69\u1a6a", + "\u0007O\u0002\u0002\u1a6a\u1a6b\u0007R\u0002\u0002\u1a6b\u1a6c\u0007", + "Q\u0002\u0002\u1a6c\u1a6d\u0007W\u0002\u0002\u1a6d\u1a6e\u0007P\u0002", + "\u0002\u1a6e\u1a6f\u0007F\u0002\u0002\u1a6f\u01d0\u0003\u0002\u0002", + "\u0002\u1a70\u1a71\u0007E\u0002\u0002\u1a71\u1a72\u0007Q\u0002\u0002", + "\u1a72\u1a73\u0007O\u0002\u0002\u1a73\u1a74\u0007R\u0002\u0002\u1a74", + "\u1a75\u0007T\u0002\u0002\u1a75\u1a76\u0007G\u0002\u0002\u1a76\u1a77", + "\u0007U\u0002\u0002\u1a77\u1a78\u0007U\u0002\u0002\u1a78\u01d2\u0003", + "\u0002\u0002\u0002\u1a79\u1a7a\u0007E\u0002\u0002\u1a7a\u1a7b\u0007", + "Q\u0002\u0002\u1a7b\u1a7c\u0007O\u0002\u0002\u1a7c\u1a7d\u0007R\u0002", + "\u0002\u1a7d\u1a7e\u0007W\u0002\u0002\u1a7e\u1a7f\u0007V\u0002\u0002", + "\u1a7f\u1a80\u0007G\u0002\u0002\u1a80\u01d4\u0003\u0002\u0002\u0002", + "\u1a81\u1a82\u0007E\u0002\u0002\u1a82\u1a83\u0007Q\u0002\u0002\u1a83", + "\u1a84\u0007P\u0002\u0002\u1a84\u1a85\u0007E\u0002\u0002\u1a85\u1a86", + "\u0007C\u0002\u0002\u1a86\u1a87\u0007V\u0002\u0002\u1a87\u01d6\u0003", + "\u0002\u0002\u0002\u1a88\u1a89\u0007E\u0002\u0002\u1a89\u1a8a\u0007", + "Q\u0002\u0002\u1a8a\u1a8b\u0007P\u0002\u0002\u1a8b\u1a8c\u0007a\u0002", + "\u0002\u1a8c\u1a8d\u0007F\u0002\u0002\u1a8d\u1a8e\u0007D\u0002\u0002", + "\u1a8e\u1a8f\u0007K\u0002\u0002\u1a8f\u1a90\u0007F\u0002\u0002\u1a90", + "\u1a91\u0007a\u0002\u0002\u1a91\u1a92\u0007V\u0002\u0002\u1a92\u1a93", + "\u0007Q\u0002\u0002\u1a93\u1a94\u0007a\u0002\u0002\u1a94\u1a95\u0007", + "K\u0002\u0002\u1a95\u1a96\u0007F\u0002\u0002\u1a96\u01d8\u0003\u0002", + "\u0002\u0002\u1a97\u1a98\u0007E\u0002\u0002\u1a98\u1a99\u0007Q\u0002", + "\u0002\u1a99\u1a9a\u0007P\u0002\u0002\u1a9a\u1a9b\u0007F\u0002\u0002", + "\u1a9b\u1a9c\u0007K\u0002\u0002\u1a9c\u1a9d\u0007V\u0002\u0002\u1a9d", + "\u1a9e\u0007K\u0002\u0002\u1a9e\u1a9f\u0007Q\u0002\u0002\u1a9f\u1aa0", + "\u0007P\u0002\u0002\u1aa0\u1aa1\u0007C\u0002\u0002\u1aa1\u1aa2\u0007", + "N\u0002\u0002\u1aa2\u01da\u0003\u0002\u0002\u0002\u1aa3\u1aa4\u0007", + "E\u0002\u0002\u1aa4\u1aa5\u0007Q\u0002\u0002\u1aa5\u1aa6\u0007P\u0002", + "\u0002\u1aa6\u1aa7\u0007F\u0002\u0002\u1aa7\u1aa8\u0007K\u0002\u0002", + "\u1aa8\u1aa9\u0007V\u0002\u0002\u1aa9\u1aaa\u0007K\u0002\u0002\u1aaa", + "\u1aab\u0007Q\u0002\u0002\u1aab\u1aac\u0007P\u0002\u0002\u1aac\u01dc", + "\u0003\u0002\u0002\u0002\u1aad\u1aae\u0007E\u0002\u0002\u1aae\u1aaf", + "\u0007Q\u0002\u0002\u1aaf\u1ab0\u0007P\u0002\u0002\u1ab0\u1ab1\u0007", + "H\u0002\u0002\u1ab1\u1ab2\u0007K\u0002\u0002\u1ab2\u1ab3\u0007T\u0002", + "\u0002\u1ab3\u1ab4\u0007O\u0002\u0002\u1ab4\u01de\u0003\u0002\u0002", + "\u0002\u1ab5\u1ab6\u0007E\u0002\u0002\u1ab6\u1ab7\u0007Q\u0002\u0002", + "\u1ab7\u1ab8\u0007P\u0002\u0002\u1ab8\u1ab9\u0007H\u0002\u0002\u1ab9", + "\u1aba\u0007Q\u0002\u0002\u1aba\u1abb\u0007T\u0002\u0002\u1abb\u1abc", + "\u0007O\u0002\u0002\u1abc\u1abd\u0007K\u0002\u0002\u1abd\u1abe\u0007", + "P\u0002\u0002\u1abe\u1abf\u0007I\u0002\u0002\u1abf\u01e0\u0003\u0002", + "\u0002\u0002\u1ac0\u1ac1\u0007E\u0002\u0002\u1ac1\u1ac2\u0007Q\u0002", + "\u0002\u1ac2\u1ac3\u0007P\u0002\u0002\u1ac3\u1ac4\u0007a\u0002\u0002", + "\u1ac4\u1ac5\u0007I\u0002\u0002\u1ac5\u1ac6\u0007W\u0002\u0002\u1ac6", + "\u1ac7\u0007K\u0002\u0002\u1ac7\u1ac8\u0007F\u0002\u0002\u1ac8\u1ac9", + "\u0007a\u0002\u0002\u1ac9\u1aca\u0007V\u0002\u0002\u1aca\u1acb\u0007", + "Q\u0002\u0002\u1acb\u1acc\u0007a\u0002\u0002\u1acc\u1acd\u0007K\u0002", + "\u0002\u1acd\u1ace\u0007F\u0002\u0002\u1ace\u01e2\u0003\u0002\u0002", + "\u0002\u1acf\u1ad0\u0007E\u0002\u0002\u1ad0\u1ad1\u0007Q\u0002\u0002", + "\u1ad1\u1ad2\u0007P\u0002\u0002\u1ad2\u1ad3\u0007a\u0002\u0002\u1ad3", + "\u1ad4\u0007K\u0002\u0002\u1ad4\u1ad5\u0007F\u0002\u0002\u1ad5\u01e4", + "\u0003\u0002\u0002\u0002\u1ad6\u1ad7\u0007E\u0002\u0002\u1ad7\u1ad8", + "\u0007Q\u0002\u0002\u1ad8\u1ad9\u0007P\u0002\u0002\u1ad9\u1ada\u0007", + "a\u0002\u0002\u1ada\u1adb\u0007P\u0002\u0002\u1adb\u1adc\u0007C\u0002", + "\u0002\u1adc\u1add\u0007O\u0002\u0002\u1add\u1ade\u0007G\u0002\u0002", + "\u1ade\u1adf\u0007a\u0002\u0002\u1adf\u1ae0\u0007V\u0002\u0002\u1ae0", + "\u1ae1\u0007Q\u0002\u0002\u1ae1\u1ae2\u0007a\u0002\u0002\u1ae2\u1ae3", + "\u0007K\u0002\u0002\u1ae3\u1ae4\u0007F\u0002\u0002\u1ae4\u01e6\u0003", + "\u0002\u0002\u0002\u1ae5\u1ae6\u0007E\u0002\u0002\u1ae6\u1ae7\u0007", + "Q\u0002\u0002\u1ae7\u1ae8\u0007P\u0002\u0002\u1ae8\u1ae9\u0007P\u0002", + "\u0002\u1ae9\u1aea\u0007G\u0002\u0002\u1aea\u1aeb\u0007E\u0002\u0002", + "\u1aeb\u1aec\u0007V\u0002\u0002\u1aec\u1aed\u0007a\u0002\u0002\u1aed", + "\u1aee\u0007D\u0002\u0002\u1aee\u1aef\u0007[\u0002\u0002\u1aef\u1af0", + "\u0007a\u0002\u0002\u1af0\u1af1\u0007E\u0002\u0002\u1af1\u1af2\u0007", + "D\u0002\u0002\u1af2\u1af3\u0007a\u0002\u0002\u1af3\u1af4\u0007Y\u0002", + "\u0002\u1af4\u1af5\u0007J\u0002\u0002\u1af5\u1af6\u0007T\u0002\u0002", + "\u1af6\u1af7\u0007a\u0002\u0002\u1af7\u1af8\u0007Q\u0002\u0002\u1af8", + "\u1af9\u0007P\u0002\u0002\u1af9\u1afa\u0007N\u0002\u0002\u1afa\u1afb", + "\u0007[\u0002\u0002\u1afb\u01e8\u0003\u0002\u0002\u0002\u1afc\u1afd", + "\u0007E\u0002\u0002\u1afd\u1afe\u0007Q\u0002\u0002\u1afe\u1aff\u0007", + "P\u0002\u0002\u1aff\u1b00\u0007P\u0002\u0002\u1b00\u1b01\u0007G\u0002", + "\u0002\u1b01\u1b02\u0007E\u0002\u0002\u1b02\u1b03\u0007V\u0002\u0002", + "\u1b03\u1b04\u0007a\u0002\u0002\u1b04\u1b05\u0007D\u0002\u0002\u1b05", + "\u1b06\u0007[\u0002\u0002\u1b06\u1b07\u0007a\u0002\u0002\u1b07\u1b08", + "\u0007E\u0002\u0002\u1b08\u1b09\u0007Q\u0002\u0002\u1b09\u1b0a\u0007", + "O\u0002\u0002\u1b0a\u1b0b\u0007D\u0002\u0002\u1b0b\u1b0c\u0007K\u0002", + "\u0002\u1b0c\u1b0d\u0007P\u0002\u0002\u1b0d\u1b0e\u0007G\u0002\u0002", + "\u1b0e\u1b0f\u0007a\u0002\u0002\u1b0f\u1b10\u0007U\u0002\u0002\u1b10", + "\u1b11\u0007Y\u0002\u0002\u1b11\u01ea\u0003\u0002\u0002\u0002\u1b12", + "\u1b13\u0007E\u0002\u0002\u1b13\u1b14\u0007Q\u0002\u0002\u1b14\u1b15", + "\u0007P\u0002\u0002\u1b15\u1b16\u0007P\u0002\u0002\u1b16\u1b17\u0007", + "G\u0002\u0002\u1b17\u1b18\u0007E\u0002\u0002\u1b18\u1b19\u0007V\u0002", + "\u0002\u1b19\u1b1a\u0007a\u0002\u0002\u1b1a\u1b1b\u0007D\u0002\u0002", + "\u1b1b\u1b1c\u0007[\u0002\u0002\u1b1c\u1b1d\u0007a\u0002\u0002\u1b1d", + "\u1b1e\u0007E\u0002\u0002\u1b1e\u1b1f\u0007Q\u0002\u0002\u1b1f\u1b20", + "\u0007U\u0002\u0002\u1b20\u1b21\u0007V\u0002\u0002\u1b21\u1b22\u0007", + "a\u0002\u0002\u1b22\u1b23\u0007D\u0002\u0002\u1b23\u1b24\u0007C\u0002", + "\u0002\u1b24\u1b25\u0007U\u0002\u0002\u1b25\u1b26\u0007G\u0002\u0002", + "\u1b26\u1b27\u0007F\u0002\u0002\u1b27\u01ec\u0003\u0002\u0002\u0002", + "\u1b28\u1b29\u0007E\u0002\u0002\u1b29\u1b2a\u0007Q\u0002\u0002\u1b2a", + "\u1b2b\u0007P\u0002\u0002\u1b2b\u1b2c\u0007P\u0002\u0002\u1b2c\u1b2d", + "\u0007G\u0002\u0002\u1b2d\u1b2e\u0007E\u0002\u0002\u1b2e\u1b2f\u0007", + "V\u0002\u0002\u1b2f\u1b30\u0007a\u0002\u0002\u1b30\u1b31\u0007D\u0002", + "\u0002\u1b31\u1b32\u0007[\u0002\u0002\u1b32\u1b33\u0007a\u0002\u0002", + "\u1b33\u1b34\u0007G\u0002\u0002\u1b34\u1b35\u0007N\u0002\u0002\u1b35", + "\u1b36\u0007K\u0002\u0002\u1b36\u1b37\u0007O\u0002\u0002\u1b37\u1b38", + "\u0007a\u0002\u0002\u1b38\u1b39\u0007F\u0002\u0002\u1b39\u1b3a\u0007", + "W\u0002\u0002\u1b3a\u1b3b\u0007R\u0002\u0002\u1b3b\u1b3c\u0007U\u0002", + "\u0002\u1b3c\u01ee\u0003\u0002\u0002\u0002\u1b3d\u1b3e\u0007E\u0002", + "\u0002\u1b3e\u1b3f\u0007Q\u0002\u0002\u1b3f\u1b40\u0007P\u0002\u0002", + "\u1b40\u1b41\u0007P\u0002\u0002\u1b41\u1b42\u0007G\u0002\u0002\u1b42", + "\u1b43\u0007E\u0002\u0002\u1b43\u1b44\u0007V\u0002\u0002\u1b44\u1b45", + "\u0007a\u0002\u0002\u1b45\u1b46\u0007D\u0002\u0002\u1b46\u1b47\u0007", + "[\u0002\u0002\u1b47\u1b48\u0007a\u0002\u0002\u1b48\u1b49\u0007H\u0002", + "\u0002\u1b49\u1b4a\u0007K\u0002\u0002\u1b4a\u1b4b\u0007N\u0002\u0002", + "\u1b4b\u1b4c\u0007V\u0002\u0002\u1b4c\u1b4d\u0007G\u0002\u0002\u1b4d", + "\u1b4e\u0007T\u0002\u0002\u1b4e\u1b4f\u0007K\u0002\u0002\u1b4f\u1b50", + "\u0007P\u0002\u0002\u1b50\u1b51\u0007I\u0002\u0002\u1b51\u01f0\u0003", + "\u0002\u0002\u0002\u1b52\u1b53\u0007E\u0002\u0002\u1b53\u1b54\u0007", + "Q\u0002\u0002\u1b54\u1b55\u0007P\u0002\u0002\u1b55\u1b56\u0007P\u0002", + "\u0002\u1b56\u1b57\u0007G\u0002\u0002\u1b57\u1b58\u0007E\u0002\u0002", + "\u1b58\u1b59\u0007V\u0002\u0002\u1b59\u1b5a\u0007a\u0002\u0002\u1b5a", + "\u1b5b\u0007D\u0002\u0002\u1b5b\u1b5c\u0007[\u0002\u0002\u1b5c\u1b5d", + "\u0007a\u0002\u0002\u1b5d\u1b5e\u0007K\u0002\u0002\u1b5e\u1b5f\u0007", + "U\u0002\u0002\u1b5f\u1b60\u0007E\u0002\u0002\u1b60\u1b61\u0007[\u0002", + "\u0002\u1b61\u1b62\u0007E\u0002\u0002\u1b62\u1b63\u0007N\u0002\u0002", + "\u1b63\u1b64\u0007G\u0002\u0002\u1b64\u01f2\u0003\u0002\u0002\u0002", + "\u1b65\u1b66\u0007E\u0002\u0002\u1b66\u1b67\u0007Q\u0002\u0002\u1b67", + "\u1b68\u0007P\u0002\u0002\u1b68\u1b69\u0007P\u0002\u0002\u1b69\u1b6a", + "\u0007G\u0002\u0002\u1b6a\u1b6b\u0007E\u0002\u0002\u1b6b\u1b6c\u0007", + "V\u0002\u0002\u1b6c\u1b6d\u0007a\u0002\u0002\u1b6d\u1b6e\u0007D\u0002", + "\u0002\u1b6e\u1b6f\u0007[\u0002\u0002\u1b6f\u1b70\u0007a\u0002\u0002", + "\u1b70\u1b71\u0007K\u0002\u0002\u1b71\u1b72\u0007U\u0002\u0002\u1b72", + "\u1b73\u0007N\u0002\u0002\u1b73\u1b74\u0007G\u0002\u0002\u1b74\u1b75", + "\u0007C\u0002\u0002\u1b75\u1b76\u0007H\u0002\u0002\u1b76\u01f4\u0003", + "\u0002\u0002\u0002\u1b77\u1b78\u0007E\u0002\u0002\u1b78\u1b79\u0007", + "Q\u0002\u0002\u1b79\u1b7a\u0007P\u0002\u0002\u1b7a\u1b7b\u0007P\u0002", + "\u0002\u1b7b\u1b7c\u0007G\u0002\u0002\u1b7c\u1b7d\u0007E\u0002\u0002", + "\u1b7d\u1b7e\u0007V\u0002\u0002\u1b7e\u1b7f\u0007a\u0002\u0002\u1b7f", + "\u1b80\u0007D\u0002\u0002\u1b80\u1b81\u0007[\u0002\u0002\u1b81\u1b82", + "\u0007a\u0002\u0002\u1b82\u1b83\u0007T\u0002\u0002\u1b83\u1b84\u0007", + "Q\u0002\u0002\u1b84\u1b85\u0007Q\u0002\u0002\u1b85\u1b86\u0007V\u0002", + "\u0002\u1b86\u01f6\u0003\u0002\u0002\u0002\u1b87\u1b88\u0007E\u0002", + "\u0002\u1b88\u1b89\u0007Q\u0002\u0002\u1b89\u1b8a\u0007P\u0002\u0002", + "\u1b8a\u1b8b\u0007P\u0002\u0002\u1b8b\u1b8c\u0007G\u0002\u0002\u1b8c", + "\u1b8d\u0007E\u0002\u0002\u1b8d\u1b8e\u0007V\u0002\u0002\u1b8e\u01f8", + "\u0003\u0002\u0002\u0002\u1b8f\u1b90\u0007E\u0002\u0002\u1b90\u1b91", + "\u0007Q\u0002\u0002\u1b91\u1b92\u0007P\u0002\u0002\u1b92\u1b93\u0007", + "P\u0002\u0002\u1b93\u1b94\u0007G\u0002\u0002\u1b94\u1b95\u0007E\u0002", + "\u0002\u1b95\u1b96\u0007V\u0002\u0002\u1b96\u1b97\u0007a\u0002\u0002", + "\u1b97\u1b98\u0007V\u0002\u0002\u1b98\u1b99\u0007K\u0002\u0002\u1b99", + "\u1b9a\u0007O\u0002\u0002\u1b9a\u1b9b\u0007G\u0002\u0002\u1b9b\u01fa", + "\u0003\u0002\u0002\u0002\u1b9c\u1b9d\u0007E\u0002\u0002\u1b9d\u1b9e", + "\u0007Q\u0002\u0002\u1b9e\u1b9f\u0007P\u0002\u0002\u1b9f\u1ba0\u0007", + "U\u0002\u0002\u1ba0\u1ba1\u0007K\u0002\u0002\u1ba1\u1ba2\u0007F\u0002", + "\u0002\u1ba2\u1ba3\u0007G\u0002\u0002\u1ba3\u1ba4\u0007T\u0002\u0002", + "\u1ba4\u01fc\u0003\u0002\u0002\u0002\u1ba5\u1ba6\u0007E\u0002\u0002", + "\u1ba6\u1ba7\u0007Q\u0002\u0002\u1ba7\u1ba8\u0007P\u0002\u0002\u1ba8", + "\u1ba9\u0007U\u0002\u0002\u1ba9\u1baa\u0007K\u0002\u0002\u1baa\u1bab", + "\u0007U\u0002\u0002\u1bab\u1bac\u0007V\u0002\u0002\u1bac\u1bad\u0007", + "G\u0002\u0002\u1bad\u1bae\u0007P\u0002\u0002\u1bae\u1baf\u0007V\u0002", + "\u0002\u1baf\u01fe\u0003\u0002\u0002\u0002\u1bb0\u1bb1\u0007E\u0002", + "\u0002\u1bb1\u1bb2\u0007Q\u0002\u0002\u1bb2\u1bb3\u0007P\u0002\u0002", + "\u1bb3\u1bb4\u0007U\u0002\u0002\u1bb4\u1bb5\u0007V\u0002\u0002\u1bb5", + "\u1bb6\u0007C\u0002\u0002\u1bb6\u1bb7\u0007P\u0002\u0002\u1bb7\u1bb8", + "\u0007V\u0002\u0002\u1bb8\u0200\u0003\u0002\u0002\u0002\u1bb9\u1bba", + "\u0007E\u0002\u0002\u1bba\u1bbb\u0007Q\u0002\u0002\u1bbb\u1bbc\u0007", + "P\u0002\u0002\u1bbc\u1bbd\u0007U\u0002\u0002\u1bbd\u1bbe\u0007V\u0002", + "\u0002\u1bbe\u0202\u0003\u0002\u0002\u0002\u1bbf\u1bc0\u0007E\u0002", + "\u0002\u1bc0\u1bc1\u0007Q\u0002\u0002\u1bc1\u1bc2\u0007P\u0002\u0002", + "\u1bc2\u1bc3\u0007U\u0002\u0002\u1bc3\u1bc4\u0007V\u0002\u0002\u1bc4", + "\u1bc5\u0007T\u0002\u0002\u1bc5\u1bc6\u0007C\u0002\u0002\u1bc6\u1bc7", + "\u0007K\u0002\u0002\u1bc7\u1bc8\u0007P\u0002\u0002\u1bc8\u1bc9\u0007", + "V\u0002\u0002\u1bc9\u0204\u0003\u0002\u0002\u0002\u1bca\u1bcb\u0007", + "E\u0002\u0002\u1bcb\u1bcc\u0007Q\u0002\u0002\u1bcc\u1bcd\u0007P\u0002", + "\u0002\u1bcd\u1bce\u0007U\u0002\u0002\u1bce\u1bcf\u0007V\u0002\u0002", + "\u1bcf\u1bd0\u0007T\u0002\u0002\u1bd0\u1bd1\u0007C\u0002\u0002\u1bd1", + "\u1bd2\u0007K\u0002\u0002\u1bd2\u1bd3\u0007P\u0002\u0002\u1bd3\u1bd4", + "\u0007V\u0002\u0002\u1bd4\u1bd5\u0007U\u0002\u0002\u1bd5\u0206\u0003", + "\u0002\u0002\u0002\u1bd6\u1bd7\u0007E\u0002\u0002\u1bd7\u1bd8\u0007", + "Q\u0002\u0002\u1bd8\u1bd9\u0007P\u0002\u0002\u1bd9\u1bda\u0007U\u0002", + "\u0002\u1bda\u1bdb\u0007V\u0002\u0002\u1bdb\u1bdc\u0007T\u0002\u0002", + "\u1bdc\u1bdd\u0007W\u0002\u0002\u1bdd\u1bde\u0007E\u0002\u0002\u1bde", + "\u1bdf\u0007V\u0002\u0002\u1bdf\u1be0\u0007Q\u0002\u0002\u1be0\u1be1", + "\u0007T\u0002\u0002\u1be1\u0208\u0003\u0002\u0002\u0002\u1be2\u1be3", + "\u0007E\u0002\u0002\u1be3\u1be4\u0007Q\u0002\u0002\u1be4\u1be5\u0007", + "P\u0002\u0002\u1be5\u1be6\u0007V\u0002\u0002\u1be6\u1be7\u0007C\u0002", + "\u0002\u1be7\u1be8\u0007K\u0002\u0002\u1be8\u1be9\u0007P\u0002\u0002", + "\u1be9\u1bea\u0007G\u0002\u0002\u1bea\u1beb\u0007T\u0002\u0002\u1beb", + "\u020a\u0003\u0002\u0002\u0002\u1bec\u1bed\u0007E\u0002\u0002\u1bed", + "\u1bee\u0007Q\u0002\u0002\u1bee\u1bef\u0007P\u0002\u0002\u1bef\u1bf0", + "\u0007V\u0002\u0002\u1bf0\u1bf1\u0007C\u0002\u0002\u1bf1\u1bf2\u0007", + "K\u0002\u0002\u1bf2\u1bf3\u0007P\u0002\u0002\u1bf3\u1bf4\u0007G\u0002", + "\u0002\u1bf4\u1bf5\u0007T\u0002\u0002\u1bf5\u1bf6\u0007a\u0002\u0002", + "\u1bf6\u1bf7\u0007F\u0002\u0002\u1bf7\u1bf8\u0007C\u0002\u0002\u1bf8", + "\u1bf9\u0007V\u0002\u0002\u1bf9\u1bfa\u0007C\u0002\u0002\u1bfa\u020c", + "\u0003\u0002\u0002\u0002\u1bfb\u1bfc\u0007E\u0002\u0002\u1bfc\u1bfd", + "\u0007Q\u0002\u0002\u1bfd\u1bfe\u0007P\u0002\u0002\u1bfe\u1bff\u0007", + "V\u0002\u0002\u1bff\u1c00\u0007C\u0002\u0002\u1c00\u1c01\u0007K\u0002", + "\u0002\u1c01\u1c02\u0007P\u0002\u0002\u1c02\u1c03\u0007G\u0002\u0002", + "\u1c03\u1c04\u0007T\u0002\u0002\u1c04\u1c05\u0007U\u0002\u0002\u1c05", + "\u020e\u0003\u0002\u0002\u0002\u1c06\u1c07\u0007E\u0002\u0002\u1c07", + "\u1c08\u0007Q\u0002\u0002\u1c08\u1c09\u0007P\u0002\u0002\u1c09\u1c0a", + "\u0007V\u0002\u0002\u1c0a\u1c0b\u0007G\u0002\u0002\u1c0b\u1c0c\u0007", + "P\u0002\u0002\u1c0c\u1c0d\u0007V\u0002\u0002\u1c0d\u0210\u0003\u0002", + "\u0002\u0002\u1c0e\u1c0f\u0007E\u0002\u0002\u1c0f\u1c10\u0007Q\u0002", + "\u0002\u1c10\u1c11\u0007P\u0002\u0002\u1c11\u1c12\u0007V\u0002\u0002", + "\u1c12\u1c13\u0007G\u0002\u0002\u1c13\u1c14\u0007P\u0002\u0002\u1c14", + "\u1c15\u0007V\u0002\u0002\u1c15\u1c16\u0007U\u0002\u0002\u1c16\u0212", + "\u0003\u0002\u0002\u0002\u1c17\u1c18\u0007E\u0002\u0002\u1c18\u1c19", + "\u0007Q\u0002\u0002\u1c19\u1c1a\u0007P\u0002\u0002\u1c1a\u1c1b\u0007", + "V\u0002\u0002\u1c1b\u1c1c\u0007G\u0002\u0002\u1c1c\u1c1d\u0007Z\u0002", + "\u0002\u1c1d\u1c1e\u0007V\u0002\u0002\u1c1e\u0214\u0003\u0002\u0002", + "\u0002\u1c1f\u1c20\u0007E\u0002\u0002\u1c20\u1c21\u0007Q\u0002\u0002", + "\u1c21\u1c22\u0007P\u0002\u0002\u1c22\u1c23\u0007V\u0002\u0002\u1c23", + "\u1c24\u0007K\u0002\u0002\u1c24\u1c25\u0007P\u0002\u0002\u1c25\u1c26", + "\u0007W\u0002\u0002\u1c26\u1c27\u0007G\u0002\u0002\u1c27\u0216\u0003", + "\u0002\u0002\u0002\u1c28\u1c29\u0007E\u0002\u0002\u1c29\u1c2a\u0007", + "Q\u0002\u0002\u1c2a\u1c2b\u0007P\u0002\u0002\u1c2b\u1c2c\u0007V\u0002", + "\u0002\u1c2c\u1c2d\u0007T\u0002\u0002\u1c2d\u1c2e\u0007Q\u0002\u0002", + "\u1c2e\u1c2f\u0007N\u0002\u0002\u1c2f\u1c30\u0007H\u0002\u0002\u1c30", + "\u1c31\u0007K\u0002\u0002\u1c31\u1c32\u0007N\u0002\u0002\u1c32\u1c33", + "\u0007G\u0002\u0002\u1c33\u0218\u0003\u0002\u0002\u0002\u1c34\u1c35", + "\u0007E\u0002\u0002\u1c35\u1c36\u0007Q\u0002\u0002\u1c36\u1c37\u0007", + "P\u0002\u0002\u1c37\u1c38\u0007a\u0002\u0002\u1c38\u1c39\u0007W\u0002", + "\u0002\u1c39\u1c3a\u0007K\u0002\u0002\u1c3a\u1c3b\u0007F\u0002\u0002", + "\u1c3b\u1c3c\u0007a\u0002\u0002\u1c3c\u1c3d\u0007V\u0002\u0002\u1c3d", + "\u1c3e\u0007Q\u0002\u0002\u1c3e\u1c3f\u0007a\u0002\u0002\u1c3f\u1c40", + "\u0007K\u0002\u0002\u1c40\u1c41\u0007F\u0002\u0002\u1c41\u021a\u0003", + "\u0002\u0002\u0002\u1c42\u1c43\u0007E\u0002\u0002\u1c43\u1c44\u0007", + "Q\u0002\u0002\u1c44\u1c45\u0007P\u0002\u0002\u1c45\u1c46\u0007X\u0002", + "\u0002\u1c46\u1c47\u0007G\u0002\u0002\u1c47\u1c48\u0007T\u0002\u0002", + "\u1c48\u1c49\u0007V\u0002\u0002\u1c49\u021c\u0003\u0002\u0002\u0002", + "\u1c4a\u1c4b\u0007E\u0002\u0002\u1c4b\u1c4c\u0007Q\u0002\u0002\u1c4c", + "\u1c4d\u0007Q\u0002\u0002\u1c4d\u1c4e\u0007M\u0002\u0002\u1c4e\u1c4f", + "\u0007K\u0002\u0002\u1c4f\u1c50\u0007G\u0002\u0002\u1c50\u021e\u0003", + "\u0002\u0002\u0002\u1c51\u1c52\u0007E\u0002\u0002\u1c52\u1c53\u0007", + "Q\u0002\u0002\u1c53\u1c54\u0007R\u0002\u0002\u1c54\u1c55\u0007[\u0002", + "\u0002\u1c55\u0220\u0003\u0002\u0002\u0002\u1c56\u1c57\u0007E\u0002", + "\u0002\u1c57\u1c58\u0007Q\u0002\u0002\u1c58\u1c59\u0007T\u0002\u0002", + "\u1c59\u1c5a\u0007T\u0002\u0002\u1c5a\u1c5b\u0007a\u0002\u0002\u1c5b", + "\u1c5c\u0007M\u0002\u0002\u1c5c\u0222\u0003\u0002\u0002\u0002\u1c5d", + "\u1c5e\u0007E\u0002\u0002\u1c5e\u1c5f\u0007Q\u0002\u0002\u1c5f\u1c60", + "\u0007T\u0002\u0002\u1c60\u1c61\u0007T\u0002\u0002\u1c61\u1c62\u0007", + "a\u0002\u0002\u1c62\u1c63\u0007U\u0002\u0002\u1c63\u0224\u0003\u0002", + "\u0002\u0002\u1c64\u1c65\u0007E\u0002\u0002\u1c65\u1c66\u0007Q\u0002", + "\u0002\u1c66\u1c67\u0007T\u0002\u0002\u1c67\u1c68\u0007T\u0002\u0002", + "\u1c68\u1c69\u0007W\u0002\u0002\u1c69\u1c6a\u0007R\u0002\u0002\u1c6a", + "\u1c6b\u0007V\u0002\u0002\u1c6b\u1c6c\u0007K\u0002\u0002\u1c6c\u1c6d", + "\u0007Q\u0002\u0002\u1c6d\u1c6e\u0007P\u0002\u0002\u1c6e\u0226\u0003", + "\u0002\u0002\u0002\u1c6f\u1c70\u0007E\u0002\u0002\u1c70\u1c71\u0007", + "Q\u0002\u0002\u1c71\u1c72\u0007T\u0002\u0002\u1c72\u1c73\u0007T\u0002", + "\u0002\u1c73\u1c74\u0007W\u0002\u0002\u1c74\u1c75\u0007R\u0002\u0002", + "\u1c75\u1c76\u0007V\u0002\u0002\u1c76\u1c77\u0007a\u0002\u0002\u1c77", + "\u1c78\u0007Z\u0002\u0002\u1c78\u1c79\u0007K\u0002\u0002\u1c79\u1c7a", + "\u0007F\u0002\u0002\u1c7a\u1c7b\u0007a\u0002\u0002\u1c7b\u1c7c\u0007", + "C\u0002\u0002\u1c7c\u1c7d\u0007N\u0002\u0002\u1c7d\u1c7e\u0007N\u0002", + "\u0002\u1c7e\u0228\u0003\u0002\u0002\u0002\u1c7f\u1c80\u0007E\u0002", + "\u0002\u1c80\u1c81\u0007Q\u0002\u0002\u1c81\u1c82\u0007T\u0002\u0002", + "\u1c82\u1c83\u0007T\u0002\u0002\u1c83\u1c84\u0007W\u0002\u0002\u1c84", + "\u1c85\u0007R\u0002\u0002\u1c85\u1c86\u0007V\u0002\u0002\u1c86\u1c87", + "\u0007a\u0002\u0002\u1c87\u1c88\u0007Z\u0002\u0002\u1c88\u1c89\u0007", + "K\u0002\u0002\u1c89\u1c8a\u0007F\u0002\u0002\u1c8a\u022a\u0003\u0002", + "\u0002\u0002\u1c8b\u1c8c\u0007E\u0002\u0002\u1c8c\u1c8d\u0007Q\u0002", + "\u0002\u1c8d\u1c8e\u0007U\u0002\u0002\u1c8e\u022c\u0003\u0002\u0002", + "\u0002\u1c8f\u1c90\u0007E\u0002\u0002\u1c90\u1c91\u0007Q\u0002\u0002", + "\u1c91\u1c92\u0007U\u0002\u0002\u1c92\u1c93\u0007J\u0002\u0002\u1c93", + "\u022e\u0003\u0002\u0002\u0002\u1c94\u1c95\u0007E\u0002\u0002\u1c95", + "\u1c96\u0007Q\u0002\u0002\u1c96\u1c97\u0007U\u0002\u0002\u1c97\u1c98", + "\u0007V\u0002\u0002\u1c98\u0230\u0003\u0002\u0002\u0002\u1c99\u1c9a", + "\u0007E\u0002\u0002\u1c9a\u1c9b\u0007Q\u0002\u0002\u1c9b\u1c9c\u0007", + "U\u0002\u0002\u1c9c\u1c9d\u0007V\u0002\u0002\u1c9d\u1c9e\u0007a\u0002", + "\u0002\u1c9e\u1c9f\u0007Z\u0002\u0002\u1c9f\u1ca0\u0007O\u0002\u0002", + "\u1ca0\u1ca1\u0007N\u0002\u0002\u1ca1\u1ca2\u0007a\u0002\u0002\u1ca2", + "\u1ca3\u0007S\u0002\u0002\u1ca3\u1ca4\u0007W\u0002\u0002\u1ca4\u1ca5", + "\u0007G\u0002\u0002\u1ca5\u1ca6\u0007T\u0002\u0002\u1ca6\u1ca7\u0007", + "[\u0002\u0002\u1ca7\u1ca8\u0007a\u0002\u0002\u1ca8\u1ca9\u0007T\u0002", + "\u0002\u1ca9\u1caa\u0007G\u0002\u0002\u1caa\u1cab\u0007Y\u0002\u0002", + "\u1cab\u1cac\u0007T\u0002\u0002\u1cac\u1cad\u0007K\u0002\u0002\u1cad", + "\u1cae\u0007V\u0002\u0002\u1cae\u1caf\u0007G\u0002\u0002\u1caf\u0232", + "\u0003\u0002\u0002\u0002\u1cb0\u1cb1\u0007E\u0002\u0002\u1cb1\u1cb2", + "\u0007Q\u0002\u0002\u1cb2\u1cb3\u0007W\u0002\u0002\u1cb3\u1cb4\u0007", + "P\u0002\u0002\u1cb4\u1cb5\u0007V\u0002\u0002\u1cb5\u0234\u0003\u0002", + "\u0002\u0002\u1cb6\u1cb7\u0007E\u0002\u0002\u1cb7\u1cb8\u0007Q\u0002", + "\u0002\u1cb8\u1cb9\u0007X\u0002\u0002\u1cb9\u1cba\u0007C\u0002\u0002", + "\u1cba\u1cbb\u0007T\u0002\u0002\u1cbb\u1cbc\u0007a\u0002\u0002\u1cbc", + "\u1cbd\u0007R\u0002\u0002\u1cbd\u1cbe\u0007Q\u0002\u0002\u1cbe\u1cbf", + "\u0007R\u0002\u0002\u1cbf\u0236\u0003\u0002\u0002\u0002\u1cc0\u1cc1", + "\u0007E\u0002\u0002\u1cc1\u1cc2\u0007Q\u0002\u0002\u1cc2\u1cc3\u0007", + "X\u0002\u0002\u1cc3\u1cc4\u0007C\u0002\u0002\u1cc4\u1cc5\u0007T\u0002", + "\u0002\u1cc5\u1cc6\u0007a\u0002\u0002\u1cc6\u1cc7\u0007U\u0002\u0002", + "\u1cc7\u1cc8\u0007C\u0002\u0002\u1cc8\u1cc9\u0007O\u0002\u0002\u1cc9", + "\u1cca\u0007R\u0002\u0002\u1cca\u0238\u0003\u0002\u0002\u0002\u1ccb", + "\u1ccc\u0007E\u0002\u0002\u1ccc\u1ccd\u0007R\u0002\u0002\u1ccd\u1cce", + "\u0007W\u0002\u0002\u1cce\u1ccf\u0007a\u0002\u0002\u1ccf\u1cd0\u0007", + "E\u0002\u0002\u1cd0\u1cd1\u0007Q\u0002\u0002\u1cd1\u1cd2\u0007U\u0002", + "\u0002\u1cd2\u1cd3\u0007V\u0002\u0002\u1cd3\u1cd4\u0007K\u0002\u0002", + "\u1cd4\u1cd5\u0007P\u0002\u0002\u1cd5\u1cd6\u0007I\u0002\u0002\u1cd6", + "\u023a\u0003\u0002\u0002\u0002\u1cd7\u1cd8\u0007E\u0002\u0002\u1cd8", + "\u1cd9\u0007R\u0002\u0002\u1cd9\u1cda\u0007W\u0002\u0002\u1cda\u1cdb", + "\u0007a\u0002\u0002\u1cdb\u1cdc\u0007R\u0002\u0002\u1cdc\u1cdd\u0007", + "G\u0002\u0002\u1cdd\u1cde\u0007T\u0002\u0002\u1cde\u1cdf\u0007a\u0002", + "\u0002\u1cdf\u1ce0\u0007E\u0002\u0002\u1ce0\u1ce1\u0007C\u0002\u0002", + "\u1ce1\u1ce2\u0007N\u0002\u0002\u1ce2\u1ce3\u0007N\u0002\u0002\u1ce3", + "\u023c\u0003\u0002\u0002\u0002\u1ce4\u1ce5\u0007E\u0002\u0002\u1ce5", + "\u1ce6\u0007R\u0002\u0002\u1ce6\u1ce7\u0007W\u0002\u0002\u1ce7\u1ce8", + "\u0007a\u0002\u0002\u1ce8\u1ce9\u0007R\u0002\u0002\u1ce9\u1cea\u0007", + "G\u0002\u0002\u1cea\u1ceb\u0007T\u0002\u0002\u1ceb\u1cec\u0007a\u0002", + "\u0002\u1cec\u1ced\u0007U\u0002\u0002\u1ced\u1cee\u0007G\u0002\u0002", + "\u1cee\u1cef\u0007U\u0002\u0002\u1cef\u1cf0\u0007U\u0002\u0002\u1cf0", + "\u1cf1\u0007K\u0002\u0002\u1cf1\u1cf2\u0007Q\u0002\u0002\u1cf2\u1cf3", + "\u0007P\u0002\u0002\u1cf3\u023e\u0003\u0002\u0002\u0002\u1cf4\u1cf5", + "\u0007E\u0002\u0002\u1cf5\u1cf6\u0007T\u0002\u0002\u1cf6\u1cf7\u0007", + "C\u0002\u0002\u1cf7\u1cf8\u0007U\u0002\u0002\u1cf8\u1cf9\u0007J\u0002", + "\u0002\u1cf9\u0240\u0003\u0002\u0002\u0002\u1cfa\u1cfb\u0007E\u0002", + "\u0002\u1cfb\u1cfc\u0007T\u0002\u0002\u1cfc\u1cfd\u0007G\u0002\u0002", + "\u1cfd\u1cfe\u0007C\u0002\u0002\u1cfe\u1cff\u0007V\u0002\u0002\u1cff", + "\u1d00\u0007G\u0002\u0002\u1d00\u0242\u0003\u0002\u0002\u0002\u1d01", + "\u1d02\u0007E\u0002\u0002\u1d02\u1d03\u0007T\u0002\u0002\u1d03\u1d04", + "\u0007G\u0002\u0002\u1d04\u1d05\u0007C\u0002\u0002\u1d05\u1d06\u0007", + "V\u0002\u0002\u1d06\u1d07\u0007G\u0002\u0002\u1d07\u1d08\u0007a\u0002", + "\u0002\u1d08\u1d09\u0007H\u0002\u0002\u1d09\u1d0a\u0007K\u0002\u0002", + "\u1d0a\u1d0b\u0007N\u0002\u0002\u1d0b\u1d0c\u0007G\u0002\u0002\u1d0c", + "\u1d0d\u0007a\u0002\u0002\u1d0d\u1d0e\u0007F\u0002\u0002\u1d0e\u1d0f", + "\u0007G\u0002\u0002\u1d0f\u1d10\u0007U\u0002\u0002\u1d10\u1d11\u0007", + "V\u0002\u0002\u1d11\u0244\u0003\u0002\u0002\u0002\u1d12\u1d13\u0007", + "E\u0002\u0002\u1d13\u1d14\u0007T\u0002\u0002\u1d14\u1d15\u0007G\u0002", + "\u0002\u1d15\u1d16\u0007C\u0002\u0002\u1d16\u1d17\u0007V\u0002\u0002", + "\u1d17\u1d18\u0007G\u0002\u0002\u1d18\u1d19\u0007a\u0002\u0002\u1d19", + "\u1d1a\u0007U\u0002\u0002\u1d1a\u1d1b\u0007V\u0002\u0002\u1d1b\u1d1c", + "\u0007Q\u0002\u0002\u1d1c\u1d1d\u0007T\u0002\u0002\u1d1d\u1d1e\u0007", + "G\u0002\u0002\u1d1e\u1d1f\u0007F\u0002\u0002\u1d1f\u1d20\u0007a\u0002", + "\u0002\u1d20\u1d21\u0007Q\u0002\u0002\u1d21\u1d22\u0007W\u0002\u0002", + "\u1d22\u1d23\u0007V\u0002\u0002\u1d23\u1d24\u0007N\u0002\u0002\u1d24", + "\u1d25\u0007K\u0002\u0002\u1d25\u1d26\u0007P\u0002\u0002\u1d26\u1d27", + "\u0007G\u0002\u0002\u1d27\u1d28\u0007U\u0002\u0002\u1d28\u0246\u0003", + "\u0002\u0002\u0002\u1d29\u1d2a\u0007E\u0002\u0002\u1d2a\u1d2b\u0007", + "T\u0002\u0002\u1d2b\u1d2c\u0007G\u0002\u0002\u1d2c\u1d2d\u0007C\u0002", + "\u0002\u1d2d\u1d2e\u0007V\u0002\u0002\u1d2e\u1d2f\u0007K\u0002\u0002", + "\u1d2f\u1d30\u0007Q\u0002\u0002\u1d30\u1d31\u0007P\u0002\u0002\u1d31", + "\u0248\u0003\u0002\u0002\u0002\u1d32\u1d33\u0007E\u0002\u0002\u1d33", + "\u1d34\u0007T\u0002\u0002\u1d34\u1d35\u0007G\u0002\u0002\u1d35\u1d36", + "\u0007F\u0002\u0002\u1d36\u1d37\u0007G\u0002\u0002\u1d37\u1d38\u0007", + "P\u0002\u0002\u1d38\u1d39\u0007V\u0002\u0002\u1d39\u1d3a\u0007K\u0002", + "\u0002\u1d3a\u1d3b\u0007C\u0002\u0002\u1d3b\u1d3c\u0007N\u0002\u0002", + "\u1d3c\u024a\u0003\u0002\u0002\u0002\u1d3d\u1d3e\u0007E\u0002\u0002", + "\u1d3e\u1d3f\u0007T\u0002\u0002\u1d3f\u1d40\u0007K\u0002\u0002\u1d40", + "\u1d41\u0007V\u0002\u0002\u1d41\u1d42\u0007K\u0002\u0002\u1d42\u1d43", + "\u0007E\u0002\u0002\u1d43\u1d44\u0007C\u0002\u0002\u1d44\u1d45\u0007", + "N\u0002\u0002\u1d45\u024c\u0003\u0002\u0002\u0002\u1d46\u1d47\u0007", + "E\u0002\u0002\u1d47\u1d48\u0007T\u0002\u0002\u1d48\u1d49\u0007Q\u0002", + "\u0002\u1d49\u1d4a\u0007U\u0002\u0002\u1d4a\u1d4b\u0007U\u0002\u0002", + "\u1d4b\u024e\u0003\u0002\u0002\u0002\u1d4c\u1d4d\u0007E\u0002\u0002", + "\u1d4d\u1d4e\u0007T\u0002\u0002\u1d4e\u1d4f\u0007Q\u0002\u0002\u1d4f", + "\u1d50\u0007U\u0002\u0002\u1d50\u1d51\u0007U\u0002\u0002\u1d51\u1d52", + "\u0007G\u0002\u0002\u1d52\u1d53\u0007F\u0002\u0002\u1d53\u1d54\u0007", + "K\u0002\u0002\u1d54\u1d55\u0007V\u0002\u0002\u1d55\u1d56\u0007K\u0002", + "\u0002\u1d56\u1d57\u0007Q\u0002\u0002\u1d57\u1d58\u0007P\u0002\u0002", + "\u1d58\u0250\u0003\u0002\u0002\u0002\u1d59\u1d5a\u0007E\u0002\u0002", + "\u1d5a\u1d5b\u0007U\u0002\u0002\u1d5b\u1d5c\u0007E\u0002\u0002\u1d5c", + "\u1d5d\u0007Q\u0002\u0002\u1d5d\u1d5e\u0007P\u0002\u0002\u1d5e\u1d5f", + "\u0007X\u0002\u0002\u1d5f\u1d60\u0007G\u0002\u0002\u1d60\u1d61\u0007", + "T\u0002\u0002\u1d61\u1d62\u0007V\u0002\u0002\u1d62\u0252\u0003\u0002", + "\u0002\u0002\u1d63\u1d64\u0007E\u0002\u0002\u1d64\u1d65\u0007W\u0002", + "\u0002\u1d65\u1d66\u0007D\u0002\u0002\u1d66\u1d67\u0007G\u0002\u0002", + "\u1d67\u1d68\u0007a\u0002\u0002\u1d68\u1d69\u0007C\u0002\u0002\u1d69", + "\u1d6a\u0007L\u0002\u0002\u1d6a\u0254\u0003\u0002\u0002\u0002\u1d6b", + "\u1d6c\u0007E\u0002\u0002\u1d6c\u1d6d\u0007W\u0002\u0002\u1d6d\u1d6e", + "\u0007D\u0002\u0002\u1d6e\u1d6f\u0007G\u0002\u0002\u1d6f\u0256\u0003", + "\u0002\u0002\u0002\u1d70\u1d71\u0007E\u0002\u0002\u1d71\u1d72\u0007", + "W\u0002\u0002\u1d72\u1d73\u0007D\u0002\u0002\u1d73\u1d74\u0007G\u0002", + "\u0002\u1d74\u1d75\u0007a\u0002\u0002\u1d75\u1d76\u0007I\u0002\u0002", + "\u1d76\u1d77\u0007D\u0002\u0002\u1d77\u0258\u0003\u0002\u0002\u0002", + "\u1d78\u1d79\u0007E\u0002\u0002\u1d79\u1d7a\u0007W\u0002\u0002\u1d7a", + "\u1d7b\u0007D\u0002\u0002\u1d7b\u1d7c\u0007G\u0002\u0002\u1d7c\u1d7d", + "\u0007a\u0002\u0002\u1d7d\u1d7e\u0007U\u0002\u0002\u1d7e\u1d7f\u0007", + "L\u0002\u0002\u1d7f\u025a\u0003\u0002\u0002\u0002\u1d80\u1d81\u0007", + "E\u0002\u0002\u1d81\u1d82\u0007W\u0002\u0002\u1d82\u1d83\u0007O\u0002", + "\u0002\u1d83\u1d84\u0007G\u0002\u0002\u1d84\u1d85\u0007a\u0002\u0002", + "\u1d85\u1d86\u0007F\u0002\u0002\u1d86\u1d87\u0007K\u0002\u0002\u1d87", + "\u1d88\u0007U\u0002\u0002\u1d88\u1d89\u0007V\u0002\u0002\u1d89\u1d8a", + "\u0007O\u0002\u0002\u1d8a\u025c\u0003\u0002\u0002\u0002\u1d8b\u1d8c", + "\u0007E\u0002\u0002\u1d8c\u1d8d\u0007W\u0002\u0002\u1d8d\u1d8e\u0007", + "T\u0002\u0002\u1d8e\u1d8f\u0007T\u0002\u0002\u1d8f\u1d90\u0007G\u0002", + "\u0002\u1d90\u1d91\u0007P\u0002\u0002\u1d91\u1d92\u0007V\u0002\u0002", + "\u1d92\u025e\u0003\u0002\u0002\u0002\u1d93\u1d94\u0007E\u0002\u0002", + "\u1d94\u1d95\u0007W\u0002\u0002\u1d95\u1d96\u0007T\u0002\u0002\u1d96", + "\u1d97\u0007T\u0002\u0002\u1d97\u1d98\u0007G\u0002\u0002\u1d98\u1d99", + "\u0007P\u0002\u0002\u1d99\u1d9a\u0007V\u0002\u0002\u1d9a\u1d9b\u0007", + "a\u0002\u0002\u1d9b\u1d9c\u0007F\u0002\u0002\u1d9c\u1d9d\u0007C\u0002", + "\u0002\u1d9d\u1d9e\u0007V\u0002\u0002\u1d9e\u1d9f\u0007G\u0002\u0002", + "\u1d9f\u0260\u0003\u0002\u0002\u0002\u1da0\u1da1\u0007E\u0002\u0002", + "\u1da1\u1da2\u0007W\u0002\u0002\u1da2\u1da3\u0007T\u0002\u0002\u1da3", + "\u1da4\u0007T\u0002\u0002\u1da4\u1da5\u0007G\u0002\u0002\u1da5\u1da6", + "\u0007P\u0002\u0002\u1da6\u1da7\u0007V\u0002\u0002\u1da7\u1da8\u0007", + "a\u0002\u0002\u1da8\u1da9\u0007U\u0002\u0002\u1da9\u1daa\u0007E\u0002", + "\u0002\u1daa\u1dab\u0007J\u0002\u0002\u1dab\u1dac\u0007G\u0002\u0002", + "\u1dac\u1dad\u0007O\u0002\u0002\u1dad\u1dae\u0007C\u0002\u0002\u1dae", + "\u0262\u0003\u0002\u0002\u0002\u1daf\u1db0\u0007E\u0002\u0002\u1db0", + "\u1db1\u0007W\u0002\u0002\u1db1\u1db2\u0007T\u0002\u0002\u1db2\u1db3", + "\u0007T\u0002\u0002\u1db3\u1db4\u0007G\u0002\u0002\u1db4\u1db5\u0007", + "P\u0002\u0002\u1db5\u1db6\u0007V\u0002\u0002\u1db6\u1db7\u0007a\u0002", + "\u0002\u1db7\u1db8\u0007V\u0002\u0002\u1db8\u1db9\u0007K\u0002\u0002", + "\u1db9\u1dba\u0007O\u0002\u0002\u1dba\u1dbb\u0007G\u0002\u0002\u1dbb", + "\u0264\u0003\u0002\u0002\u0002\u1dbc\u1dbd\u0007E\u0002\u0002\u1dbd", + "\u1dbe\u0007W\u0002\u0002\u1dbe\u1dbf\u0007T\u0002\u0002\u1dbf\u1dc0", + "\u0007T\u0002\u0002\u1dc0\u1dc1\u0007G\u0002\u0002\u1dc1\u1dc2\u0007", + "P\u0002\u0002\u1dc2\u1dc3\u0007V\u0002\u0002\u1dc3\u1dc4\u0007a\u0002", + "\u0002\u1dc4\u1dc5\u0007V\u0002\u0002\u1dc5\u1dc6\u0007K\u0002\u0002", + "\u1dc6\u1dc7\u0007O\u0002\u0002\u1dc7\u1dc8\u0007G\u0002\u0002\u1dc8", + "\u1dc9\u0007U\u0002\u0002\u1dc9\u1dca\u0007V\u0002\u0002\u1dca\u1dcb", + "\u0007C\u0002\u0002\u1dcb\u1dcc\u0007O\u0002\u0002\u1dcc\u1dcd\u0007", + "R\u0002\u0002\u1dcd\u0266\u0003\u0002\u0002\u0002\u1dce\u1dcf\u0007", + "E\u0002\u0002\u1dcf\u1dd0\u0007W\u0002\u0002\u1dd0\u1dd1\u0007T\u0002", + "\u0002\u1dd1\u1dd2\u0007T\u0002\u0002\u1dd2\u1dd3\u0007G\u0002\u0002", + "\u1dd3\u1dd4\u0007P\u0002\u0002\u1dd4\u1dd5\u0007V\u0002\u0002\u1dd5", + "\u1dd6\u0007a\u0002\u0002\u1dd6\u1dd7\u0007W\u0002\u0002\u1dd7\u1dd8", + "\u0007U\u0002\u0002\u1dd8\u1dd9\u0007G\u0002\u0002\u1dd9\u1dda\u0007", + "T\u0002\u0002\u1dda\u0268\u0003\u0002\u0002\u0002\u1ddb\u1ddc\u0007", + "E\u0002\u0002\u1ddc\u1ddd\u0007W\u0002\u0002\u1ddd\u1dde\u0007T\u0002", + "\u0002\u1dde\u1ddf\u0007T\u0002\u0002\u1ddf\u1de0\u0007G\u0002\u0002", + "\u1de0\u1de1\u0007P\u0002\u0002\u1de1\u1de2\u0007V\u0002\u0002\u1de2", + "\u1de3\u0007X\u0002\u0002\u1de3\u026a\u0003\u0002\u0002\u0002\u1de4", + "\u1de5\u0007E\u0002\u0002\u1de5\u1de6\u0007W\u0002\u0002\u1de6\u1de7", + "\u0007T\u0002\u0002\u1de7\u1de8\u0007U\u0002\u0002\u1de8\u1de9\u0007", + "Q\u0002\u0002\u1de9\u1dea\u0007T\u0002\u0002\u1dea\u026c\u0003\u0002", + "\u0002\u0002\u1deb\u1dec\u0007E\u0002\u0002\u1dec\u1ded\u0007W\u0002", + "\u0002\u1ded\u1dee\u0007T\u0002\u0002\u1dee\u1def\u0007U\u0002\u0002", + "\u1def\u1df0\u0007Q\u0002\u0002\u1df0\u1df1\u0007T\u0002\u0002\u1df1", + "\u1df2\u0007a\u0002\u0002\u1df2\u1df3\u0007U\u0002\u0002\u1df3\u1df4", + "\u0007J\u0002\u0002\u1df4\u1df5\u0007C\u0002\u0002\u1df5\u1df6\u0007", + "T\u0002\u0002\u1df6\u1df7\u0007K\u0002\u0002\u1df7\u1df8\u0007P\u0002", + "\u0002\u1df8\u1df9\u0007I\u0002\u0002\u1df9\u1dfa\u0007a\u0002\u0002", + "\u1dfa\u1dfb\u0007G\u0002\u0002\u1dfb\u1dfc\u0007Z\u0002\u0002\u1dfc", + "\u1dfd\u0007C\u0002\u0002\u1dfd\u1dfe\u0007E\u0002\u0002\u1dfe\u1dff", + "\u0007V\u0002\u0002\u1dff\u026e\u0003\u0002\u0002\u0002\u1e00\u1e01", + "\u0007E\u0002\u0002\u1e01\u1e02\u0007W\u0002\u0002\u1e02\u1e03\u0007", + "T\u0002\u0002\u1e03\u1e04\u0007U\u0002\u0002\u1e04\u1e05\u0007Q\u0002", + "\u0002\u1e05\u1e06\u0007T\u0002\u0002\u1e06\u1e07\u0007a\u0002\u0002", + "\u1e07\u1e08\u0007U\u0002\u0002\u1e08\u1e09\u0007R\u0002\u0002\u1e09", + "\u1e0a\u0007G\u0002\u0002\u1e0a\u1e0b\u0007E\u0002\u0002\u1e0b\u1e0c", + "\u0007K\u0002\u0002\u1e0c\u1e0d\u0007H\u0002\u0002\u1e0d\u1e0e\u0007", + "K\u0002\u0002\u1e0e\u1e0f\u0007E\u0002\u0002\u1e0f\u1e10\u0007a\u0002", + "\u0002\u1e10\u1e11\u0007U\u0002\u0002\u1e11\u1e12\u0007G\u0002\u0002", + "\u1e12\u1e13\u0007I\u0002\u0002\u1e13\u1e14\u0007O\u0002\u0002\u1e14", + "\u1e15\u0007G\u0002\u0002\u1e15\u1e16\u0007P\u0002\u0002\u1e16\u1e17", + "\u0007V\u0002\u0002\u1e17\u0270\u0003\u0002\u0002\u0002\u1e18\u1e19", + "\u0007E\u0002\u0002\u1e19\u1e1a\u0007W\u0002\u0002\u1e1a\u1e1b\u0007", + "U\u0002\u0002\u1e1b\u1e1c\u0007V\u0002\u0002\u1e1c\u1e1d\u0007Q\u0002", + "\u0002\u1e1d\u1e1e\u0007O\u0002\u0002\u1e1e\u1e1f\u0007F\u0002\u0002", + "\u1e1f\u1e20\u0007C\u0002\u0002\u1e20\u1e21\u0007V\u0002\u0002\u1e21", + "\u1e22\u0007W\u0002\u0002\u1e22\u1e23\u0007O\u0002\u0002\u1e23\u0272", + "\u0003\u0002\u0002\u0002\u1e24\u1e25\u0007E\u0002\u0002\u1e25\u1e26", + "\u0007X\u0002\u0002\u1e26\u0274\u0003\u0002\u0002\u0002\u1e27\u1e28", + "\u0007E\u0002\u0002\u1e28\u1e29\u0007[\u0002\u0002\u1e29\u1e2a\u0007", + "E\u0002\u0002\u1e2a\u1e2b\u0007N\u0002\u0002\u1e2b\u1e2c\u0007G\u0002", + "\u0002\u1e2c\u0276\u0003\u0002\u0002\u0002\u1e2d\u1e2e\u0007F\u0002", + "\u0002\u1e2e\u1e2f\u0007C\u0002\u0002\u1e2f\u1e30\u0007P\u0002\u0002", + "\u1e30\u1e31\u0007I\u0002\u0002\u1e31\u1e32\u0007N\u0002\u0002\u1e32", + "\u1e33\u0007K\u0002\u0002\u1e33\u1e34\u0007P\u0002\u0002\u1e34\u1e35", + "\u0007I\u0002\u0002\u1e35\u0278\u0003\u0002\u0002\u0002\u1e36\u1e37", + "\u0007F\u0002\u0002\u1e37\u1e38\u0007C\u0002\u0002\u1e38\u1e39\u0007", + "V\u0002\u0002\u1e39\u1e3a\u0007C\u0002\u0002\u1e3a\u1e3b\u0007D\u0002", + "\u0002\u1e3b\u1e3c\u0007C\u0002\u0002\u1e3c\u1e3d\u0007U\u0002\u0002", + "\u1e3d\u1e3e\u0007G\u0002\u0002\u1e3e\u027a\u0003\u0002\u0002\u0002", + "\u1e3f\u1e40\u0007F\u0002\u0002\u1e40\u1e41\u0007C\u0002\u0002\u1e41", + "\u1e42\u0007V\u0002\u0002\u1e42\u1e43\u0007C\u0002\u0002\u1e43\u027c", + "\u0003\u0002\u0002\u0002\u1e44\u1e45\u0007F\u0002\u0002\u1e45\u1e46", + "\u0007C\u0002\u0002\u1e46\u1e47\u0007V\u0002\u0002\u1e47\u1e48\u0007", + "C\u0002\u0002\u1e48\u1e49\u0007H\u0002\u0002\u1e49\u1e4a\u0007K\u0002", + "\u0002\u1e4a\u1e4b\u0007N\u0002\u0002\u1e4b\u1e4c\u0007G\u0002\u0002", + "\u1e4c\u027e\u0003\u0002\u0002\u0002\u1e4d\u1e4e\u0007F\u0002\u0002", + "\u1e4e\u1e4f\u0007C\u0002\u0002\u1e4f\u1e50\u0007V\u0002\u0002\u1e50", + "\u1e51\u0007C\u0002\u0002\u1e51\u1e52\u0007H\u0002\u0002\u1e52\u1e53", + "\u0007K\u0002\u0002\u1e53\u1e54\u0007N\u0002\u0002\u1e54\u1e55\u0007", + "G\u0002\u0002\u1e55\u1e56\u0007U\u0002\u0002\u1e56\u0280\u0003\u0002", + "\u0002\u0002\u1e57\u1e58\u0007F\u0002\u0002\u1e58\u1e59\u0007C\u0002", + "\u0002\u1e59\u1e5a\u0007V\u0002\u0002\u1e5a\u1e5b\u0007C\u0002\u0002", + "\u1e5b\u1e5c\u0007I\u0002\u0002\u1e5c\u1e5d\u0007W\u0002\u0002\u1e5d", + "\u1e5e\u0007C\u0002\u0002\u1e5e\u1e5f\u0007T\u0002\u0002\u1e5f\u1e60", + "\u0007F\u0002\u0002\u1e60\u1e61\u0007E\u0002\u0002\u1e61\u1e62\u0007", + "Q\u0002\u0002\u1e62\u1e63\u0007P\u0002\u0002\u1e63\u1e64\u0007H\u0002", + "\u0002\u1e64\u1e65\u0007K\u0002\u0002\u1e65\u1e66\u0007I\u0002\u0002", + "\u1e66\u0282\u0003\u0002\u0002\u0002\u1e67\u1e68\u0007F\u0002\u0002", + "\u1e68\u1e69\u0007C\u0002\u0002\u1e69\u1e6a\u0007V\u0002\u0002\u1e6a", + "\u1e6b\u0007C\u0002\u0002\u1e6b\u1e6c\u0007O\u0002\u0002\u1e6c\u1e6d", + "\u0007Q\u0002\u0002\u1e6d\u1e6e\u0007X\u0002\u0002\u1e6e\u1e6f\u0007", + "G\u0002\u0002\u1e6f\u1e70\u0007O\u0002\u0002\u1e70\u1e71\u0007G\u0002", + "\u0002\u1e71\u1e72\u0007P\u0002\u0002\u1e72\u1e73\u0007V\u0002\u0002", + "\u1e73\u0284\u0003\u0002\u0002\u0002\u1e74\u1e75\u0007F\u0002\u0002", + "\u1e75\u1e76\u0007C\u0002\u0002\u1e76\u1e77\u0007V\u0002\u0002\u1e77", + "\u1e78\u0007C\u0002\u0002\u1e78\u1e79\u0007Q\u0002\u0002\u1e79\u1e7a", + "\u0007D\u0002\u0002\u1e7a\u1e7b\u0007L\u0002\u0002\u1e7b\u1e7c\u0007", + "P\u0002\u0002\u1e7c\u1e7d\u0007Q\u0002\u0002\u1e7d\u0286\u0003\u0002", + "\u0002\u0002\u1e7e\u1e7f\u0007F\u0002\u0002\u1e7f\u1e80\u0007C\u0002", + "\u0002\u1e80\u1e81\u0007V\u0002\u0002\u1e81\u1e82\u0007C\u0002\u0002", + "\u1e82\u1e83\u0007Q\u0002\u0002\u1e83\u1e84\u0007D\u0002\u0002\u1e84", + "\u1e85\u0007L\u0002\u0002\u1e85\u1e86\u0007a\u0002\u0002\u1e86\u1e87", + "\u0007V\u0002\u0002\u1e87\u1e88\u0007Q\u0002\u0002\u1e88\u1e89\u0007", + "a\u0002\u0002\u1e89\u1e8a\u0007O\u0002\u0002\u1e8a\u1e8b\u0007C\u0002", + "\u0002\u1e8b\u1e8c\u0007V\u0002\u0002\u1e8c\u1e8d\u0007a\u0002\u0002", + "\u1e8d\u1e8e\u0007R\u0002\u0002\u1e8e\u1e8f\u0007C\u0002\u0002\u1e8f", + "\u1e90\u0007T\u0002\u0002\u1e90\u1e91\u0007V\u0002\u0002\u1e91\u1e92", + "\u0007K\u0002\u0002\u1e92\u1e93\u0007V\u0002\u0002\u1e93\u1e94\u0007", + "K\u0002\u0002\u1e94\u1e95\u0007Q\u0002\u0002\u1e95\u1e96\u0007P\u0002", + "\u0002\u1e96\u0288\u0003\u0002\u0002\u0002\u1e97\u1e98\u0007F\u0002", + "\u0002\u1e98\u1e99\u0007C\u0002\u0002\u1e99\u1e9a\u0007V\u0002\u0002", + "\u1e9a\u1e9b\u0007C\u0002\u0002\u1e9b\u1e9c\u0007Q\u0002\u0002\u1e9c", + "\u1e9d\u0007D\u0002\u0002\u1e9d\u1e9e\u0007L\u0002\u0002\u1e9e\u1e9f", + "\u0007a\u0002\u0002\u1e9f\u1ea0\u0007V\u0002\u0002\u1ea0\u1ea1\u0007", + "Q\u0002\u0002\u1ea1\u1ea2\u0007a\u0002\u0002\u1ea2\u1ea3\u0007R\u0002", + "\u0002\u1ea3\u1ea4\u0007C\u0002\u0002\u1ea4\u1ea5\u0007T\u0002\u0002", + "\u1ea5\u1ea6\u0007V\u0002\u0002\u1ea6\u1ea7\u0007K\u0002\u0002\u1ea7", + "\u1ea8\u0007V\u0002\u0002\u1ea8\u1ea9\u0007K\u0002\u0002\u1ea9\u1eaa", + "\u0007Q\u0002\u0002\u1eaa\u1eab\u0007P\u0002\u0002\u1eab\u028a\u0003", + "\u0002\u0002\u0002\u1eac\u1ead\u0007F\u0002\u0002\u1ead\u1eae\u0007", + "C\u0002\u0002\u1eae\u1eaf\u0007V\u0002\u0002\u1eaf\u1eb0\u0007C\u0002", + "\u0002\u1eb0\u1eb1\u0007R\u0002\u0002\u1eb1\u1eb2\u0007W\u0002\u0002", + "\u1eb2\u1eb3\u0007O\u0002\u0002\u1eb3\u1eb4\u0007R\u0002\u0002\u1eb4", + "\u028c\u0003\u0002\u0002\u0002\u1eb5\u1eb6\u0007F\u0002\u0002\u1eb6", + "\u1eb7\u0007C\u0002\u0002\u1eb7\u1eb8\u0007V\u0002\u0002\u1eb8\u1eb9", + "\u0007C\u0002\u0002\u1eb9\u1eba\u0007a\u0002\u0002\u1eba\u1ebb\u0007", + "U\u0002\u0002\u1ebb\u1ebc\u0007G\u0002\u0002\u1ebc\u1ebd\u0007E\u0002", + "\u0002\u1ebd\u1ebe\u0007W\u0002\u0002\u1ebe\u1ebf\u0007T\u0002\u0002", + "\u1ebf\u1ec0\u0007K\u0002\u0002\u1ec0\u1ec1\u0007V\u0002\u0002\u1ec1", + "\u1ec2\u0007[\u0002\u0002\u1ec2\u1ec3\u0007a\u0002\u0002\u1ec3\u1ec4", + "\u0007T\u0002\u0002\u1ec4\u1ec5\u0007G\u0002\u0002\u1ec5\u1ec6\u0007", + "Y\u0002\u0002\u1ec6\u1ec7\u0007T\u0002\u0002\u1ec7\u1ec8\u0007K\u0002", + "\u0002\u1ec8\u1ec9\u0007V\u0002\u0002\u1ec9\u1eca\u0007G\u0002\u0002", + "\u1eca\u1ecb\u0007a\u0002\u0002\u1ecb\u1ecc\u0007N\u0002\u0002\u1ecc", + "\u1ecd\u0007K\u0002\u0002\u1ecd\u1ece\u0007O\u0002\u0002\u1ece\u1ecf", + "\u0007K\u0002\u0002\u1ecf\u1ed0\u0007V\u0002\u0002\u1ed0\u028e\u0003", + "\u0002\u0002\u0002\u1ed1\u1ed2\u0007F\u0002\u0002\u1ed2\u1ed3\u0007", + "C\u0002\u0002\u1ed3\u1ed4\u0007V\u0002\u0002\u1ed4\u1ed5\u0007G\u0002", + "\u0002\u1ed5\u0290\u0003\u0002\u0002\u0002\u1ed6\u1ed7\u0007F\u0002", + "\u0002\u1ed7\u1ed8\u0007C\u0002\u0002\u1ed8\u1ed9\u0007V\u0002\u0002", + "\u1ed9\u1eda\u0007G\u0002\u0002\u1eda\u1edb\u0007a\u0002\u0002\u1edb", + "\u1edc\u0007O\u0002\u0002\u1edc\u1edd\u0007Q\u0002\u0002\u1edd\u1ede", + "\u0007F\u0002\u0002\u1ede\u1edf\u0007G\u0002\u0002\u1edf\u0292\u0003", + "\u0002\u0002\u0002\u1ee0\u1ee1\u0007F\u0002\u0002\u1ee1\u1ee2\u0007", + "C\u0002\u0002\u1ee2\u1ee3\u0007[\u0002\u0002\u1ee3\u0294\u0003\u0002", + "\u0002\u0002\u1ee4\u1ee5\u0007F\u0002\u0002\u1ee5\u1ee6\u0007C\u0002", + "\u0002\u1ee6\u1ee7\u0007[\u0002\u0002\u1ee7\u1ee8\u0007U\u0002\u0002", + "\u1ee8\u0296\u0003\u0002\u0002\u0002\u1ee9\u1eea\u0007F\u0002\u0002", + "\u1eea\u1eeb\u0007D\u0002\u0002\u1eeb\u1eec\u0007C\u0002\u0002\u1eec", + "\u0298\u0003\u0002\u0002\u0002\u1eed\u1eee\u0007F\u0002\u0002\u1eee", + "\u1eef\u0007D\u0002\u0002\u1eef\u1ef0\u0007C\u0002\u0002\u1ef0\u1ef1", + "\u0007a\u0002\u0002\u1ef1\u1ef2\u0007T\u0002\u0002\u1ef2\u1ef3\u0007", + "G\u0002\u0002\u1ef3\u1ef4\u0007E\u0002\u0002\u1ef4\u1ef5\u0007[\u0002", + "\u0002\u1ef5\u1ef6\u0007E\u0002\u0002\u1ef6\u1ef7\u0007N\u0002\u0002", + "\u1ef7\u1ef8\u0007G\u0002\u0002\u1ef8\u1ef9\u0007D\u0002\u0002\u1ef9", + "\u1efa\u0007K\u0002\u0002\u1efa\u1efb\u0007P\u0002\u0002\u1efb\u029a", + "\u0003\u0002\u0002\u0002\u1efc\u1efd\u0007F\u0002\u0002\u1efd\u1efe", + "\u0007D\u0002\u0002\u1efe\u1eff\u0007O\u0002\u0002\u1eff\u1f00\u0007", + "U\u0002\u0002\u1f00\u1f01\u0007a\u0002\u0002\u1f01\u1f02\u0007U\u0002", + "\u0002\u1f02\u1f03\u0007V\u0002\u0002\u1f03\u1f04\u0007C\u0002\u0002", + "\u1f04\u1f05\u0007V\u0002\u0002\u1f05\u1f06\u0007U\u0002\u0002\u1f06", + "\u029c\u0003\u0002\u0002\u0002\u1f07\u1f08\u0007F\u0002\u0002\u1f08", + "\u1f09\u0007D\u0002\u0002\u1f09\u1f0a\u0007a\u0002\u0002\u1f0a\u1f0b", + "\u0007T\u0002\u0002\u1f0b\u1f0c\u0007Q\u0002\u0002\u1f0c\u1f0d\u0007", + "N\u0002\u0002\u1f0d\u1f0e\u0007G\u0002\u0002\u1f0e\u1f0f\u0007a\u0002", + "\u0002\u1f0f\u1f10\u0007E\u0002\u0002\u1f10\u1f11\u0007J\u0002\u0002", + "\u1f11\u1f12\u0007C\u0002\u0002\u1f12\u1f13\u0007P\u0002\u0002\u1f13", + "\u1f14\u0007I\u0002\u0002\u1f14\u1f15\u0007G\u0002\u0002\u1f15\u029e", + "\u0003\u0002\u0002\u0002\u1f16\u1f17\u0007F\u0002\u0002\u1f17\u1f18", + "\u0007D\u0002\u0002\u1f18\u1f19\u0007V\u0002\u0002\u1f19\u1f1a\u0007", + "K\u0002\u0002\u1f1a\u1f1b\u0007O\u0002\u0002\u1f1b\u1f1c\u0007G\u0002", + "\u0002\u1f1c\u1f1d\u0007\\\u0002\u0002\u1f1d\u1f1e\u0007Q\u0002\u0002", + "\u1f1e\u1f1f\u0007P\u0002\u0002\u1f1f\u1f20\u0007G\u0002\u0002\u1f20", + "\u02a0\u0003\u0002\u0002\u0002\u1f21\u1f22\u0007F\u0002\u0002\u1f22", + "\u1f23\u0007D\u0002\u0002\u1f23\u1f24\u0007a\u0002\u0002\u1f24\u1f25", + "\u0007W\u0002\u0002\u1f25\u1f26\u0007P\u0002\u0002\u1f26\u1f27\u0007", + "K\u0002\u0002\u1f27\u1f28\u0007S\u0002\u0002\u1f28\u1f29\u0007W\u0002", + "\u0002\u1f29\u1f2a\u0007G\u0002\u0002\u1f2a\u1f2b\u0007a\u0002\u0002", + "\u1f2b\u1f2c\u0007P\u0002\u0002\u1f2c\u1f2d\u0007C\u0002\u0002\u1f2d", + "\u1f2e\u0007O\u0002\u0002\u1f2e\u1f2f\u0007G\u0002\u0002\u1f2f\u02a2", + "\u0003\u0002\u0002\u0002\u1f30\u1f31\u0007F\u0002\u0002\u1f31\u1f32", + "\u0007D\u0002\u0002\u1f32\u1f33\u0007a\u0002\u0002\u1f33\u1f34\u0007", + "X\u0002\u0002\u1f34\u1f35\u0007G\u0002\u0002\u1f35\u1f36\u0007T\u0002", + "\u0002\u1f36\u1f37\u0007U\u0002\u0002\u1f37\u1f38\u0007K\u0002\u0002", + "\u1f38\u1f39\u0007Q\u0002\u0002\u1f39\u1f3a\u0007P\u0002\u0002\u1f3a", + "\u02a4\u0003\u0002\u0002\u0002\u1f3b\u1f3c\u0007F\u0002\u0002\u1f3c", + "\u1f3d\u0007F\u0002\u0002\u1f3d\u1f3e\u0007N\u0002\u0002\u1f3e\u02a6", + "\u0003\u0002\u0002\u0002\u1f3f\u1f40\u0007F\u0002\u0002\u1f40\u1f41", + "\u0007G\u0002\u0002\u1f41\u1f42\u0007C\u0002\u0002\u1f42\u1f43\u0007", + "N\u0002\u0002\u1f43\u1f44\u0007N\u0002\u0002\u1f44\u1f45\u0007Q\u0002", + "\u0002\u1f45\u1f46\u0007E\u0002\u0002\u1f46\u1f47\u0007C\u0002\u0002", + "\u1f47\u1f48\u0007V\u0002\u0002\u1f48\u1f49\u0007G\u0002\u0002\u1f49", + "\u02a8\u0003\u0002\u0002\u0002\u1f4a\u1f4b\u0007F\u0002\u0002\u1f4b", + "\u1f4c\u0007G\u0002\u0002\u1f4c\u1f4d\u0007D\u0002\u0002\u1f4d\u1f4e", + "\u0007W\u0002\u0002\u1f4e\u1f4f\u0007I\u0002\u0002\u1f4f\u02aa\u0003", + "\u0002\u0002\u0002\u1f50\u1f51\u0007F\u0002\u0002\u1f51\u1f52\u0007", + "G\u0002\u0002\u1f52\u1f53\u0007D\u0002\u0002\u1f53\u1f54\u0007W\u0002", + "\u0002\u1f54\u1f55\u0007I\u0002\u0002\u1f55\u1f56\u0007I\u0002\u0002", + "\u1f56\u1f57\u0007G\u0002\u0002\u1f57\u1f58\u0007T\u0002\u0002\u1f58", + "\u02ac\u0003\u0002\u0002\u0002\u1f59\u1f5a\u0007F\u0002\u0002\u1f5a", + "\u1f5b\u0007G\u0002\u0002\u1f5b\u1f5c\u0007E\u0002\u0002\u1f5c\u02ae", + "\u0003\u0002\u0002\u0002\u1f5d\u1f5e\u0007F\u0002\u0002\u1f5e\u1f5f", + "\u0007G\u0002\u0002\u1f5f\u1f60\u0007E\u0002\u0002\u1f60\u1f61\u0007", + "K\u0002\u0002\u1f61\u1f62\u0007O\u0002\u0002\u1f62\u1f63\u0007C\u0002", + "\u0002\u1f63\u1f64\u0007N\u0002\u0002\u1f64\u02b0\u0003\u0002\u0002", + "\u0002\u1f65\u1f66\u0007F\u0002\u0002\u1f66\u1f67\u0007G\u0002\u0002", + "\u1f67\u1f68\u0007E\u0002\u0002\u1f68\u1f69\u0007N\u0002\u0002\u1f69", + "\u1f6a\u0007C\u0002\u0002\u1f6a\u1f6b\u0007T\u0002\u0002\u1f6b\u1f6c", + "\u0007G\u0002\u0002\u1f6c\u02b2\u0003\u0002\u0002\u0002\u1f6d\u1f6e", + "\u0007F\u0002\u0002\u1f6e\u1f6f\u0007G\u0002\u0002\u1f6f\u1f70\u0007", + "E\u0002\u0002\u1f70\u1f71\u0007Q\u0002\u0002\u1f71\u1f72\u0007O\u0002", + "\u0002\u1f72\u1f73\u0007R\u0002\u0002\u1f73\u1f74\u0007Q\u0002\u0002", + "\u1f74\u1f75\u0007U\u0002\u0002\u1f75\u1f76\u0007G\u0002\u0002\u1f76", + "\u02b4\u0003\u0002\u0002\u0002\u1f77\u1f78\u0007F\u0002\u0002\u1f78", + "\u1f79\u0007G\u0002\u0002\u1f79\u1f7a\u0007E\u0002\u0002\u1f7a\u1f7b", + "\u0007Q\u0002\u0002\u1f7b\u1f7c\u0007T\u0002\u0002\u1f7c\u1f7d\u0007", + "T\u0002\u0002\u1f7d\u1f7e\u0007G\u0002\u0002\u1f7e\u1f7f\u0007N\u0002", + "\u0002\u1f7f\u1f80\u0007C\u0002\u0002\u1f80\u1f81\u0007V\u0002\u0002", + "\u1f81\u1f82\u0007G\u0002\u0002\u1f82\u02b6\u0003\u0002\u0002\u0002", + "\u1f83\u1f84\u0007F\u0002\u0002\u1f84\u1f85\u0007G\u0002\u0002\u1f85", + "\u1f86\u0007E\u0002\u0002\u1f86\u1f87\u0007T\u0002\u0002\u1f87\u02b8", + "\u0003\u0002\u0002\u0002\u1f88\u1f89\u0007F\u0002\u0002\u1f89\u1f8a", + "\u0007G\u0002\u0002\u1f8a\u1f8b\u0007E\u0002\u0002\u1f8b\u1f8c\u0007", + "T\u0002\u0002\u1f8c\u1f8d\u0007G\u0002\u0002\u1f8d\u1f8e\u0007O\u0002", + "\u0002\u1f8e\u1f8f\u0007G\u0002\u0002\u1f8f\u1f90\u0007P\u0002\u0002", + "\u1f90\u1f91\u0007V\u0002\u0002\u1f91\u02ba\u0003\u0002\u0002\u0002", + "\u1f92\u1f93\u0007F\u0002\u0002\u1f93\u1f94\u0007G\u0002\u0002\u1f94", + "\u1f95\u0007E\u0002\u0002\u1f95\u1f96\u0007T\u0002\u0002\u1f96\u1f97", + "\u0007[\u0002\u0002\u1f97\u1f98\u0007R\u0002\u0002\u1f98\u1f99\u0007", + "V\u0002\u0002\u1f99\u02bc\u0003\u0002\u0002\u0002\u1f9a\u1f9b\u0007", + "F\u0002\u0002\u1f9b\u1f9c\u0007G\u0002\u0002\u1f9c\u1f9d\u0007F\u0002", + "\u0002\u1f9d\u1f9e\u0007W\u0002\u0002\u1f9e\u1f9f\u0007R\u0002\u0002", + "\u1f9f\u1fa0\u0007N\u0002\u0002\u1fa0\u1fa1\u0007K\u0002\u0002\u1fa1", + "\u1fa2\u0007E\u0002\u0002\u1fa2\u1fa3\u0007C\u0002\u0002\u1fa3\u1fa4", + "\u0007V\u0002\u0002\u1fa4\u1fa5\u0007G\u0002\u0002\u1fa5\u02be\u0003", + "\u0002\u0002\u0002\u1fa6\u1fa7\u0007F\u0002\u0002\u1fa7\u1fa8\u0007", + "G\u0002\u0002\u1fa8\u1fa9\u0007H\u0002\u0002\u1fa9\u1faa\u0007C\u0002", + "\u0002\u1faa\u1fab\u0007W\u0002\u0002\u1fab\u1fac\u0007N\u0002\u0002", + "\u1fac\u1fad\u0007V\u0002\u0002\u1fad\u02c0\u0003\u0002\u0002\u0002", + "\u1fae\u1faf\u0007F\u0002\u0002\u1faf\u1fb0\u0007G\u0002\u0002\u1fb0", + "\u1fb1\u0007H\u0002\u0002\u1fb1\u1fb2\u0007C\u0002\u0002\u1fb2\u1fb3", + "\u0007W\u0002\u0002\u1fb3\u1fb4\u0007N\u0002\u0002\u1fb4\u1fb5\u0007", + "V\u0002\u0002\u1fb5\u1fb6\u0007U\u0002\u0002\u1fb6\u02c2\u0003\u0002", + "\u0002\u0002\u1fb7\u1fb8\u0007F\u0002\u0002\u1fb8\u1fb9\u0007G\u0002", + "\u0002\u1fb9\u1fba\u0007H\u0002\u0002\u1fba\u1fbb\u0007G\u0002\u0002", + "\u1fbb\u1fbc\u0007T\u0002\u0002\u1fbc\u1fbd\u0007T\u0002\u0002\u1fbd", + "\u1fbe\u0007C\u0002\u0002\u1fbe\u1fbf\u0007D\u0002\u0002\u1fbf\u1fc0", + "\u0007N\u0002\u0002\u1fc0\u1fc1\u0007G\u0002\u0002\u1fc1\u02c4\u0003", + "\u0002\u0002\u0002\u1fc2\u1fc3\u0007F\u0002\u0002\u1fc3\u1fc4\u0007", + "G\u0002\u0002\u1fc4\u1fc5\u0007H\u0002\u0002\u1fc5\u1fc6\u0007G\u0002", + "\u0002\u1fc6\u1fc7\u0007T\u0002\u0002\u1fc7\u1fc8\u0007T\u0002\u0002", + "\u1fc8\u1fc9\u0007G\u0002\u0002\u1fc9\u1fca\u0007F\u0002\u0002\u1fca", + "\u02c6\u0003\u0002\u0002\u0002\u1fcb\u1fcc\u0007F\u0002\u0002\u1fcc", + "\u1fcd\u0007G\u0002\u0002\u1fcd\u1fce\u0007H\u0002\u0002\u1fce\u1fcf", + "\u0007K\u0002\u0002\u1fcf\u1fd0\u0007P\u0002\u0002\u1fd0\u1fd1\u0007", + "G\u0002\u0002\u1fd1\u1fd2\u0007F\u0002\u0002\u1fd2\u02c8\u0003\u0002", + "\u0002\u0002\u1fd3\u1fd4\u0007F\u0002\u0002\u1fd4\u1fd5\u0007G\u0002", + "\u0002\u1fd5\u1fd6\u0007H\u0002\u0002\u1fd6\u1fd7\u0007K\u0002\u0002", + "\u1fd7\u1fd8\u0007P\u0002\u0002\u1fd8\u1fd9\u0007G\u0002\u0002\u1fd9", + "\u02ca\u0003\u0002\u0002\u0002\u1fda\u1fdb\u0007F\u0002\u0002\u1fdb", + "\u1fdc\u0007G\u0002\u0002\u1fdc\u1fdd\u0007H\u0002\u0002\u1fdd\u1fde", + "\u0007K\u0002\u0002\u1fde\u1fdf\u0007P\u0002\u0002\u1fdf\u1fe0\u0007", + "G\u0002\u0002\u1fe0\u1fe1\u0007T\u0002\u0002\u1fe1\u02cc\u0003\u0002", + "\u0002\u0002\u1fe2\u1fe3\u0007F\u0002\u0002\u1fe3\u1fe4\u0007G\u0002", + "\u0002\u1fe4\u1fe5\u0007I\u0002\u0002\u1fe5\u1fe6\u0007T\u0002\u0002", + "\u1fe6\u1fe7\u0007G\u0002\u0002\u1fe7\u1fe8\u0007G\u0002\u0002\u1fe8", + "\u02ce\u0003\u0002\u0002\u0002\u1fe9\u1fea\u0007F\u0002\u0002\u1fea", + "\u1feb\u0007G\u0002\u0002\u1feb\u1fec\u0007N\u0002\u0002\u1fec\u1fed", + "\u0007C\u0002\u0002\u1fed\u1fee\u0007[\u0002\u0002\u1fee\u02d0\u0003", + "\u0002\u0002\u0002\u1fef\u1ff0\u0007F\u0002\u0002\u1ff0\u1ff1\u0007", + "G\u0002\u0002\u1ff1\u1ff2\u0007N\u0002\u0002\u1ff2\u1ff3\u0007G\u0002", + "\u0002\u1ff3\u1ff4\u0007I\u0002\u0002\u1ff4\u1ff5\u0007C\u0002\u0002", + "\u1ff5\u1ff6\u0007V\u0002\u0002\u1ff6\u1ff7\u0007G\u0002\u0002\u1ff7", + "\u02d2\u0003\u0002\u0002\u0002\u1ff8\u1ff9\u0007F\u0002\u0002\u1ff9", + "\u1ffa\u0007G\u0002\u0002\u1ffa\u1ffb\u0007N\u0002\u0002\u1ffb\u1ffc", + "\u0007G\u0002\u0002\u1ffc\u1ffd\u0007V\u0002\u0002\u1ffd\u1ffe\u0007", + "G\u0002\u0002\u1ffe\u1fff\u0007a\u0002\u0002\u1fff\u2000\u0007C\u0002", + "\u0002\u2000\u2001\u0007N\u0002\u0002\u2001\u2002\u0007N\u0002\u0002", + "\u2002\u02d4\u0003\u0002\u0002\u0002\u2003\u2004\u0007F\u0002\u0002", + "\u2004\u2005\u0007G\u0002\u0002\u2005\u2006\u0007N\u0002\u0002\u2006", + "\u2007\u0007G\u0002\u0002\u2007\u2008\u0007V\u0002\u0002\u2008\u2009", + "\u0007G\u0002\u0002\u2009\u02d6\u0003\u0002\u0002\u0002\u200a\u200b", + "\u0007F\u0002\u0002\u200b\u200c\u0007G\u0002\u0002\u200c\u200d\u0007", + "N\u0002\u0002\u200d\u200e\u0007G\u0002\u0002\u200e\u200f\u0007V\u0002", + "\u0002\u200f\u2010\u0007G\u0002\u0002\u2010\u2011\u0007Z\u0002\u0002", + "\u2011\u2012\u0007O\u0002\u0002\u2012\u2013\u0007N\u0002\u0002\u2013", + "\u02d8\u0003\u0002\u0002\u0002\u2014\u2015\u0007F\u0002\u0002\u2015", + "\u2016\u0007G\u0002\u0002\u2016\u2017\u0007O\u0002\u0002\u2017\u2018", + "\u0007C\u0002\u0002\u2018\u2019\u0007P\u0002\u0002\u2019\u201a\u0007", + "F\u0002\u0002\u201a\u02da\u0003\u0002\u0002\u0002\u201b\u201c\u0007", + "F\u0002\u0002\u201c\u201d\u0007G\u0002\u0002\u201d\u201e\u0007P\u0002", + "\u0002\u201e\u201f\u0007U\u0002\u0002\u201f\u2020\u0007G\u0002\u0002", + "\u2020\u2021\u0007a\u0002\u0002\u2021\u2022\u0007T\u0002\u0002\u2022", + "\u2023\u0007C\u0002\u0002\u2023\u2024\u0007P\u0002\u0002\u2024\u2025", + "\u0007M\u0002\u0002\u2025\u2026\u0007O\u0002\u0002\u2026\u02dc\u0003", + "\u0002\u0002\u0002\u2027\u2028\u0007F\u0002\u0002\u2028\u2029\u0007", + "G\u0002\u0002\u2029\u202a\u0007R\u0002\u0002\u202a\u202b\u0007G\u0002", + "\u0002\u202b\u202c\u0007P\u0002\u0002\u202c\u202d\u0007F\u0002\u0002", + "\u202d\u202e\u0007G\u0002\u0002\u202e\u202f\u0007P\u0002\u0002\u202f", + "\u2030\u0007V\u0002\u0002\u2030\u02de\u0003\u0002\u0002\u0002\u2031", + "\u2032\u0007F\u0002\u0002\u2032\u2033\u0007G\u0002\u0002\u2033\u2034", + "\u0007R\u0002\u0002\u2034\u2035\u0007V\u0002\u0002\u2035\u2036\u0007", + "J\u0002\u0002\u2036\u02e0\u0003\u0002\u0002\u0002\u2037\u2038\u0007", + "F\u0002\u0002\u2038\u2039\u0007G\u0002\u0002\u2039\u203a\u0007S\u0002", + "\u0002\u203a\u203b\u0007W\u0002\u0002\u203b\u203c\u0007G\u0002\u0002", + "\u203c\u203d\u0007W\u0002\u0002\u203d\u203e\u0007G\u0002\u0002\u203e", + "\u02e2\u0003\u0002\u0002\u0002\u203f\u2040\u0007F\u0002\u0002\u2040", + "\u2041\u0007G\u0002\u0002\u2041\u2042\u0007T\u0002\u0002\u2042\u2043", + "\u0007G\u0002\u0002\u2043\u2044\u0007H\u0002\u0002\u2044\u02e4\u0003", + "\u0002\u0002\u0002\u2045\u2046\u0007F\u0002\u0002\u2046\u2047\u0007", + "G\u0002\u0002\u2047\u2048\u0007T\u0002\u0002\u2048\u2049\u0007G\u0002", + "\u0002\u2049\u204a\u0007H\u0002\u0002\u204a\u204b\u0007a\u0002\u0002", + "\u204b\u204c\u0007P\u0002\u0002\u204c\u204d\u0007Q\u0002\u0002\u204d", + "\u204e\u0007a\u0002\u0002\u204e\u204f\u0007T\u0002\u0002\u204f\u2050", + "\u0007G\u0002\u0002\u2050\u2051\u0007Y\u0002\u0002\u2051\u2052\u0007", + "T\u0002\u0002\u2052\u2053\u0007K\u0002\u0002\u2053\u2054\u0007V\u0002", + "\u0002\u2054\u2055\u0007G\u0002\u0002\u2055\u02e6\u0003\u0002\u0002", + "\u0002\u2056\u2057\u0007F\u0002\u0002\u2057\u2058\u0007G\u0002\u0002", + "\u2058\u2059\u0007U\u0002\u0002\u2059\u205a\u0007E\u0002\u0002\u205a", + "\u02e8\u0003\u0002\u0002\u0002\u205b\u205c\u0007F\u0002\u0002\u205c", + "\u205d\u0007G\u0002\u0002\u205d\u205e\u0007U\u0002\u0002\u205e\u205f", + "\u0007V\u0002\u0002\u205f\u2060\u0007T\u0002\u0002\u2060\u2061\u0007", + "Q\u0002\u0002\u2061\u2062\u0007[\u0002\u0002\u2062\u02ea\u0003\u0002", + "\u0002\u0002\u2063\u2064\u0007F\u0002\u0002\u2064\u2065\u0007G\u0002", + "\u0002\u2065\u2066\u0007V\u0002\u0002\u2066\u2067\u0007C\u0002\u0002", + "\u2067\u2068\u0007E\u0002\u0002\u2068\u2069\u0007J\u0002\u0002\u2069", + "\u206a\u0007G\u0002\u0002\u206a\u206b\u0007F\u0002\u0002\u206b\u02ec", + "\u0003\u0002\u0002\u0002\u206c\u206d\u0007F\u0002\u0002\u206d\u206e", + "\u0007G\u0002\u0002\u206e\u206f\u0007V\u0002\u0002\u206f\u2070\u0007", + "G\u0002\u0002\u2070\u2071\u0007T\u0002\u0002\u2071\u2072\u0007O\u0002", + "\u0002\u2072\u2073\u0007K\u0002\u0002\u2073\u2074\u0007P\u0002\u0002", + "\u2074\u2075\u0007G\u0002\u0002\u2075\u2076\u0007U\u0002\u0002\u2076", + "\u02ee\u0003\u0002\u0002\u0002\u2077\u2078\u0007F\u0002\u0002\u2078", + "\u2079\u0007G\u0002\u0002\u2079\u207a\u0007V\u0002\u0002\u207a\u207b", + "\u0007G\u0002\u0002\u207b\u207c\u0007T\u0002\u0002\u207c\u207d\u0007", + "O\u0002\u0002\u207d\u207e\u0007K\u0002\u0002\u207e\u207f\u0007P\u0002", + "\u0002\u207f\u2080\u0007K\u0002\u0002\u2080\u2081\u0007U\u0002\u0002", + "\u2081\u2082\u0007V\u0002\u0002\u2082\u2083\u0007K\u0002\u0002\u2083", + "\u2084\u0007E\u0002\u0002\u2084\u02f0\u0003\u0002\u0002\u0002\u2085", + "\u2086\u0007F\u0002\u0002\u2086\u2087\u0007K\u0002\u0002\u2087\u2088", + "\u0007E\u0002\u0002\u2088\u2089\u0007V\u0002\u0002\u2089\u208a\u0007", + "K\u0002\u0002\u208a\u208b\u0007Q\u0002\u0002\u208b\u208c\u0007P\u0002", + "\u0002\u208c\u208d\u0007C\u0002\u0002\u208d\u208e\u0007T\u0002\u0002", + "\u208e\u208f\u0007[\u0002\u0002\u208f\u02f2\u0003\u0002\u0002\u0002", + "\u2090\u2091\u0007F\u0002\u0002\u2091\u2092\u0007K\u0002\u0002\u2092", + "\u2093\u0007O\u0002\u0002\u2093\u2094\u0007G\u0002\u0002\u2094\u2095", + "\u0007P\u0002\u0002\u2095\u2096\u0007U\u0002\u0002\u2096\u2097\u0007", + "K\u0002\u0002\u2097\u2098\u0007Q\u0002\u0002\u2098\u2099\u0007P\u0002", + "\u0002\u2099\u02f4\u0003\u0002\u0002\u0002\u209a\u209b\u0007F\u0002", + "\u0002\u209b\u209c\u0007K\u0002\u0002\u209c\u209d\u0007O\u0002\u0002", + "\u209d\u209e\u0007G\u0002\u0002\u209e\u209f\u0007P\u0002\u0002\u209f", + "\u20a0\u0007U\u0002\u0002\u20a0\u20a1\u0007K\u0002\u0002\u20a1\u20a2", + "\u0007Q\u0002\u0002\u20a2\u20a3\u0007P\u0002\u0002\u20a3\u20a4\u0007", + "U\u0002\u0002\u20a4\u02f6\u0003\u0002\u0002\u0002\u20a5\u20a6\u0007", + "F\u0002\u0002\u20a6\u20a7\u0007K\u0002\u0002\u20a7\u20a8\u0007T\u0002", + "\u0002\u20a8\u20a9\u0007G\u0002\u0002\u20a9\u20aa\u0007E\u0002\u0002", + "\u20aa\u20ab\u0007V\u0002\u0002\u20ab\u20ac\u0007a\u0002\u0002\u20ac", + "\u20ad\u0007N\u0002\u0002\u20ad\u20ae\u0007Q\u0002\u0002\u20ae\u20af", + "\u0007C\u0002\u0002\u20af\u20b0\u0007F\u0002\u0002\u20b0\u02f8\u0003", + "\u0002\u0002\u0002\u20b1\u20b2\u0007F\u0002\u0002\u20b2\u20b3\u0007", + "K\u0002\u0002\u20b3\u20b4\u0007T\u0002\u0002\u20b4\u20b5\u0007G\u0002", + "\u0002\u20b5\u20b6\u0007E\u0002\u0002\u20b6\u20b7\u0007V\u0002\u0002", + "\u20b7\u20b8\u0007Q\u0002\u0002\u20b8\u20b9\u0007T\u0002\u0002\u20b9", + "\u20ba\u0007[\u0002\u0002\u20ba\u02fa\u0003\u0002\u0002\u0002\u20bb", + "\u20bc\u0007F\u0002\u0002\u20bc\u20bd\u0007K\u0002\u0002\u20bd\u20be", + "\u0007T\u0002\u0002\u20be\u20bf\u0007G\u0002\u0002\u20bf\u20c0\u0007", + "E\u0002\u0002\u20c0\u20c1\u0007V\u0002\u0002\u20c1\u20c2\u0007a\u0002", + "\u0002\u20c2\u20c3\u0007R\u0002\u0002\u20c3\u20c4\u0007C\u0002\u0002", + "\u20c4\u20c5\u0007V\u0002\u0002\u20c5\u20c6\u0007J\u0002\u0002\u20c6", + "\u02fc\u0003\u0002\u0002\u0002\u20c7\u20c8\u0007F\u0002\u0002\u20c8", + "\u20c9\u0007K\u0002\u0002\u20c9\u20ca\u0007U\u0002\u0002\u20ca\u20cb", + "\u0007C\u0002\u0002\u20cb\u20cc\u0007D\u0002\u0002\u20cc\u20cd\u0007", + "N\u0002\u0002\u20cd\u20ce\u0007G\u0002\u0002\u20ce\u20cf\u0007a\u0002", + "\u0002\u20cf\u20d0\u0007C\u0002\u0002\u20d0\u20d1\u0007N\u0002\u0002", + "\u20d1\u20d2\u0007N\u0002\u0002\u20d2\u02fe\u0003\u0002\u0002\u0002", + "\u20d3\u20d4\u0007F\u0002\u0002\u20d4\u20d5\u0007K\u0002\u0002\u20d5", + "\u20d6\u0007U\u0002\u0002\u20d6\u20d7\u0007C\u0002\u0002\u20d7\u20d8", + "\u0007D\u0002\u0002\u20d8\u20d9\u0007N\u0002\u0002\u20d9\u20da\u0007", + "G\u0002\u0002\u20da\u0300\u0003\u0002\u0002\u0002\u20db\u20dc\u0007", + "F\u0002\u0002\u20dc\u20dd\u0007K\u0002\u0002\u20dd\u20de\u0007U\u0002", + "\u0002\u20de\u20df\u0007C\u0002\u0002\u20df\u20e0\u0007D\u0002\u0002", + "\u20e0\u20e1\u0007N\u0002\u0002\u20e1\u20e2\u0007G\u0002\u0002\u20e2", + "\u20e3\u0007a\u0002\u0002\u20e3\u20e4\u0007R\u0002\u0002\u20e4\u20e5", + "\u0007C\u0002\u0002\u20e5\u20e6\u0007T\u0002\u0002\u20e6\u20e7\u0007", + "C\u0002\u0002\u20e7\u20e8\u0007N\u0002\u0002\u20e8\u20e9\u0007N\u0002", + "\u0002\u20e9\u20ea\u0007G\u0002\u0002\u20ea\u20eb\u0007N\u0002\u0002", + "\u20eb\u20ec\u0007a\u0002\u0002\u20ec\u20ed\u0007F\u0002\u0002\u20ed", + "\u20ee\u0007O\u0002\u0002\u20ee\u20ef\u0007N\u0002\u0002\u20ef\u0302", + "\u0003\u0002\u0002\u0002\u20f0\u20f1\u0007F\u0002\u0002\u20f1\u20f2", + "\u0007K\u0002\u0002\u20f2\u20f3\u0007U\u0002\u0002\u20f3\u20f4\u0007", + "C\u0002\u0002\u20f4\u20f5\u0007D\u0002\u0002\u20f5\u20f6\u0007N\u0002", + "\u0002\u20f6\u20f7\u0007G\u0002\u0002\u20f7\u20f8\u0007a\u0002\u0002", + "\u20f8\u20f9\u0007R\u0002\u0002\u20f9\u20fa\u0007T\u0002\u0002\u20fa", + "\u20fb\u0007G\u0002\u0002\u20fb\u20fc\u0007U\u0002\u0002\u20fc\u20fd", + "\u0007G\u0002\u0002\u20fd\u20fe\u0007V\u0002\u0002\u20fe\u0304\u0003", + "\u0002\u0002\u0002\u20ff\u2100\u0007F\u0002\u0002\u2100\u2101\u0007", + "K\u0002\u0002\u2101\u2102\u0007U\u0002\u0002\u2102\u2103\u0007C\u0002", + "\u0002\u2103\u2104\u0007D\u0002\u0002\u2104\u2105\u0007N\u0002\u0002", + "\u2105\u2106\u0007G\u0002\u0002\u2106\u2107\u0007a\u0002\u0002\u2107", + "\u2108\u0007T\u0002\u0002\u2108\u2109\u0007R\u0002\u0002\u2109\u210a", + "\u0007M\u0002\u0002\u210a\u210b\u0007G\u0002\u0002\u210b\u0306\u0003", + "\u0002\u0002\u0002\u210c\u210d\u0007F\u0002\u0002\u210d\u210e\u0007", + "K\u0002\u0002\u210e\u210f\u0007U\u0002\u0002\u210f\u2110\u0007C\u0002", + "\u0002\u2110\u2111\u0007N\u0002\u0002\u2111\u2112\u0007N\u0002\u0002", + "\u2112\u2113\u0007Q\u0002\u0002\u2113\u2114\u0007Y\u0002\u0002\u2114", + "\u0308\u0003\u0002\u0002\u0002\u2115\u2116\u0007F\u0002\u0002\u2116", + "\u2117\u0007K\u0002\u0002\u2117\u2118\u0007U\u0002\u0002\u2118\u2119", + "\u0007C\u0002\u0002\u2119\u211a\u0007U\u0002\u0002\u211a\u211b\u0007", + "U\u0002\u0002\u211b\u211c\u0007Q\u0002\u0002\u211c\u211d\u0007E\u0002", + "\u0002\u211d\u211e\u0007K\u0002\u0002\u211e\u211f\u0007C\u0002\u0002", + "\u211f\u2120\u0007V\u0002\u0002\u2120\u2121\u0007G\u0002\u0002\u2121", + "\u030a\u0003\u0002\u0002\u0002\u2122\u2123\u0007F\u0002\u0002\u2123", + "\u2124\u0007K\u0002\u0002\u2124\u2125\u0007U\u0002\u0002\u2125\u2126", + "\u0007E\u0002\u0002\u2126\u2127\u0007C\u0002\u0002\u2127\u2128\u0007", + "T\u0002\u0002\u2128\u2129\u0007F\u0002\u0002\u2129\u030c\u0003\u0002", + "\u0002\u0002\u212a\u212b\u0007F\u0002\u0002\u212b\u212c\u0007K\u0002", + "\u0002\u212c\u212d\u0007U\u0002\u0002\u212d\u212e\u0007E\u0002\u0002", + "\u212e\u212f\u0007Q\u0002\u0002\u212f\u2130\u0007P\u0002\u0002\u2130", + "\u2131\u0007P\u0002\u0002\u2131\u2132\u0007G\u0002\u0002\u2132\u2133", + "\u0007E\u0002\u0002\u2133\u2134\u0007V\u0002\u0002\u2134\u030e\u0003", + "\u0002\u0002\u0002\u2135\u2136\u0007F\u0002\u0002\u2136\u2137\u0007", + "K\u0002\u0002\u2137\u2138\u0007U\u0002\u0002\u2138\u2139\u0007M\u0002", + "\u0002\u2139\u0310\u0003\u0002\u0002\u0002\u213a\u213b\u0007F\u0002", + "\u0002\u213b\u213c\u0007K\u0002\u0002\u213c\u213d\u0007U\u0002\u0002", + "\u213d\u213e\u0007M\u0002\u0002\u213e\u213f\u0007I\u0002\u0002\u213f", + "\u2140\u0007T\u0002\u0002\u2140\u2141\u0007Q\u0002\u0002\u2141\u2142", + "\u0007W\u0002\u0002\u2142\u2143\u0007R\u0002\u0002\u2143\u0312\u0003", + "\u0002\u0002\u0002\u2144\u2145\u0007)\u0002\u0002\u2145\u2146\u0007", + "-\u0002\u0002\u2146\u2147\u0007\"\u0002\u0002\u2147\u2148\u0007F\u0002", + "\u0002\u2148\u2149\u0007K\u0002\u0002\u2149\u214a\u0007U\u0002\u0002", + "\u214a\u214b\u0007M\u0002\u0002\u214b\u214c\u0007I\u0002\u0002\u214c", + "\u214d\u0007T\u0002\u0002\u214d\u214e\u0007Q\u0002\u0002\u214e\u214f", + "\u0007W\u0002\u0002\u214f\u2150\u0007R\u0002\u0002\u2150\u0314\u0003", + "\u0002\u0002\u0002\u2151\u2152\u0007F\u0002\u0002\u2152\u2153\u0007", + "K\u0002\u0002\u2153\u2154\u0007U\u0002\u0002\u2154\u2155\u0007M\u0002", + "\u0002\u2155\u2156\u0007U\u0002\u0002\u2156\u0316\u0003\u0002\u0002", + "\u0002\u2157\u2158\u0007F\u0002\u0002\u2158\u2159\u0007K\u0002\u0002", + "\u2159\u215a\u0007U\u0002\u0002\u215a\u215b\u0007O\u0002\u0002\u215b", + "\u215c\u0007Q\u0002\u0002\u215c\u215d\u0007W\u0002\u0002\u215d\u215e", + "\u0007P\u0002\u0002\u215e\u215f\u0007V\u0002\u0002\u215f\u0318\u0003", + "\u0002\u0002\u0002\u2160\u2161\u0007F\u0002\u0002\u2161\u2162\u0007", + "K\u0002\u0002\u2162\u2163\u0007U\u0002\u0002\u2163\u2164\u0007V\u0002", + "\u0002\u2164\u2165\u0007K\u0002\u0002\u2165\u2166\u0007P\u0002\u0002", + "\u2166\u2167\u0007E\u0002\u0002\u2167\u2168\u0007V\u0002\u0002\u2168", + "\u031a\u0003\u0002\u0002\u0002\u2169\u216a\u0007F\u0002\u0002\u216a", + "\u216b\u0007K\u0002\u0002\u216b\u216c\u0007U\u0002\u0002\u216c\u216d", + "\u0007V\u0002\u0002\u216d\u216e\u0007K\u0002\u0002\u216e\u216f\u0007", + "P\u0002\u0002\u216f\u2170\u0007I\u0002\u0002\u2170\u2171\u0007W\u0002", + "\u0002\u2171\u2172\u0007K\u0002\u0002\u2172\u2173\u0007U\u0002\u0002", + "\u2173\u2174\u0007J\u0002\u0002\u2174\u2175\u0007G\u0002\u0002\u2175", + "\u2176\u0007F\u0002\u0002\u2176\u031c\u0003\u0002\u0002\u0002\u2177", + "\u2178\u0007F\u0002\u0002\u2178\u2179\u0007K\u0002\u0002\u2179\u217a", + "\u0007U\u0002\u0002\u217a\u217b\u0007V\u0002\u0002\u217b\u217c\u0007", + "T\u0002\u0002\u217c\u217d\u0007K\u0002\u0002\u217d\u217e\u0007D\u0002", + "\u0002\u217e\u217f\u0007W\u0002\u0002\u217f\u2180\u0007V\u0002\u0002", + "\u2180\u2181\u0007G\u0002\u0002\u2181\u2182\u0007F\u0002\u0002\u2182", + "\u031e\u0003\u0002\u0002\u0002\u2183\u2184\u0007F\u0002\u0002\u2184", + "\u2185\u0007K\u0002\u0002\u2185\u2186\u0007U\u0002\u0002\u2186\u2187", + "\u0007V\u0002\u0002\u2187\u2188\u0007T\u0002\u0002\u2188\u2189\u0007", + "K\u0002\u0002\u2189\u218a\u0007D\u0002\u0002\u218a\u218b\u0007W\u0002", + "\u0002\u218b\u218c\u0007V\u0002\u0002\u218c\u218d\u0007G\u0002\u0002", + "\u218d\u0320\u0003\u0002\u0002\u0002\u218e\u218f\u0007F\u0002\u0002", + "\u218f\u2190\u0007O\u0002\u0002\u2190\u2191\u0007N\u0002\u0002\u2191", + "\u0322\u0003\u0002\u0002\u0002\u2192\u2193\u0007F\u0002\u0002\u2193", + "\u2194\u0007O\u0002\u0002\u2194\u2195\u0007N\u0002\u0002\u2195\u2196", + "\u0007a\u0002\u0002\u2196\u2197\u0007W\u0002\u0002\u2197\u2198\u0007", + "R\u0002\u0002\u2198\u2199\u0007F\u0002\u0002\u2199\u219a\u0007C\u0002", + "\u0002\u219a\u219b\u0007V\u0002\u0002\u219b\u219c\u0007G\u0002\u0002", + "\u219c\u0324\u0003\u0002\u0002\u0002\u219d\u219e\u0007F\u0002\u0002", + "\u219e\u219f\u0007Q\u0002\u0002\u219f\u21a0\u0007E\u0002\u0002\u21a0", + "\u21a1\u0007H\u0002\u0002\u21a1\u21a2\u0007K\u0002\u0002\u21a2\u21a3", + "\u0007F\u0002\u0002\u21a3\u21a4\u0007G\u0002\u0002\u21a4\u21a5\u0007", + "N\u0002\u0002\u21a5\u21a6\u0007K\u0002\u0002\u21a6\u21a7\u0007V\u0002", + "\u0002\u21a7\u21a8\u0007[\u0002\u0002\u21a8\u0326\u0003\u0002\u0002", + "\u0002\u21a9\u21aa\u0007F\u0002\u0002\u21aa\u21ab\u0007Q\u0002\u0002", + "\u21ab\u21ac\u0007E\u0002\u0002\u21ac\u21ad\u0007W\u0002\u0002\u21ad", + "\u21ae\u0007O\u0002\u0002\u21ae\u21af\u0007G\u0002\u0002\u21af\u21b0", + "\u0007P\u0002\u0002\u21b0\u21b1\u0007V\u0002\u0002\u21b1\u0328\u0003", + "\u0002\u0002\u0002\u21b2\u21b3\u0007F\u0002\u0002\u21b3\u21b4\u0007", + "Q\u0002\u0002\u21b4\u21b5\u0007O\u0002\u0002\u21b5\u21b6\u0007C\u0002", + "\u0002\u21b6\u21b7\u0007K\u0002\u0002\u21b7\u21b8\u0007P\u0002\u0002", + "\u21b8\u21b9\u0007a\u0002\u0002\u21b9\u21ba\u0007K\u0002\u0002\u21ba", + "\u21bb\u0007P\u0002\u0002\u21bb\u21bc\u0007F\u0002\u0002\u21bc\u21bd", + "\u0007G\u0002\u0002\u21bd\u21be\u0007Z\u0002\u0002\u21be\u21bf\u0007", + "a\u0002\u0002\u21bf\u21c0\u0007H\u0002\u0002\u21c0\u21c1\u0007K\u0002", + "\u0002\u21c1\u21c2\u0007N\u0002\u0002\u21c2\u21c3\u0007V\u0002\u0002", + "\u21c3\u21c4\u0007G\u0002\u0002\u21c4\u21c5\u0007T\u0002\u0002\u21c5", + "\u032a\u0003\u0002\u0002\u0002\u21c6\u21c7\u0007F\u0002\u0002\u21c7", + "\u21c8\u0007Q\u0002\u0002\u21c8\u21c9\u0007O\u0002\u0002\u21c9\u21ca", + "\u0007C\u0002\u0002\u21ca\u21cb\u0007K\u0002\u0002\u21cb\u21cc\u0007", + "P\u0002\u0002\u21cc\u21cd\u0007a\u0002\u0002\u21cd\u21ce\u0007K\u0002", + "\u0002\u21ce\u21cf\u0007P\u0002\u0002\u21cf\u21d0\u0007F\u0002\u0002", + "\u21d0\u21d1\u0007G\u0002\u0002\u21d1\u21d2\u0007Z\u0002\u0002\u21d2", + "\u21d3\u0007a\u0002\u0002\u21d3\u21d4\u0007P\u0002\u0002\u21d4\u21d5", + "\u0007Q\u0002\u0002\u21d5\u21d6\u0007a\u0002\u0002\u21d6\u21d7\u0007", + "U\u0002\u0002\u21d7\u21d8\u0007Q\u0002\u0002\u21d8\u21d9\u0007T\u0002", + "\u0002\u21d9\u21da\u0007V\u0002\u0002\u21da\u032c\u0003\u0002\u0002", + "\u0002\u21db\u21dc\u0007F\u0002\u0002\u21dc\u21dd\u0007Q\u0002\u0002", + "\u21dd\u21de\u0007O\u0002\u0002\u21de\u21df\u0007C\u0002\u0002\u21df", + "\u21e0\u0007K\u0002\u0002\u21e0\u21e1\u0007P\u0002\u0002\u21e1\u21e2", + "\u0007a\u0002\u0002\u21e2\u21e3\u0007K\u0002\u0002\u21e3\u21e4\u0007", + "P\u0002\u0002\u21e4\u21e5\u0007F\u0002\u0002\u21e5\u21e6\u0007G\u0002", + "\u0002\u21e6\u21e7\u0007Z\u0002\u0002\u21e7\u21e8\u0007a\u0002\u0002", + "\u21e8\u21e9\u0007U\u0002\u0002\u21e9\u21ea\u0007Q\u0002\u0002\u21ea", + "\u21eb\u0007T\u0002\u0002\u21eb\u21ec\u0007V\u0002\u0002\u21ec\u032e", + "\u0003\u0002\u0002\u0002\u21ed\u21ee\u0007F\u0002\u0002\u21ee\u21ef", + "\u0007Q\u0002\u0002\u21ef\u21f0\u0007W\u0002\u0002\u21f0\u21f1\u0007", + "D\u0002\u0002\u21f1\u21f2\u0007N\u0002\u0002\u21f2\u21f3\u0007G\u0002", + "\u0002\u21f3\u0330\u0003\u0002\u0002\u0002\u21f4\u21f5\u0007F\u0002", + "\u0002\u21f5\u21f6\u0007Q\u0002\u0002\u21f6\u21f7\u0007Y\u0002\u0002", + "\u21f7\u21f8\u0007P\u0002\u0002\u21f8\u21f9\u0007I\u0002\u0002\u21f9", + "\u21fa\u0007T\u0002\u0002\u21fa\u21fb\u0007C\u0002\u0002\u21fb\u21fc", + "\u0007F\u0002\u0002\u21fc\u21fd\u0007G\u0002\u0002\u21fd\u0332\u0003", + "\u0002\u0002\u0002\u21fe\u21ff\u0007F\u0002\u0002\u21ff\u2200\u0007", + "T\u0002\u0002\u2200\u2201\u0007K\u0002\u0002\u2201\u2202\u0007X\u0002", + "\u0002\u2202\u2203\u0007K\u0002\u0002\u2203\u2204\u0007P\u0002\u0002", + "\u2204\u2205\u0007I\u0002\u0002\u2205\u2206\u0007a\u0002\u0002\u2206", + "\u2207\u0007U\u0002\u0002\u2207\u2208\u0007K\u0002\u0002\u2208\u2209", + "\u0007V\u0002\u0002\u2209\u220a\u0007G\u0002\u0002\u220a\u0334\u0003", + "\u0002\u0002\u0002\u220b\u220c\u0007F\u0002\u0002\u220c\u220d\u0007", + "T\u0002\u0002\u220d\u220e\u0007Q\u0002\u0002\u220e\u220f\u0007R\u0002", + "\u0002\u220f\u2210\u0007a\u0002\u0002\u2210\u2211\u0007E\u0002\u0002", + "\u2211\u2212\u0007Q\u0002\u0002\u2212\u2213\u0007N\u0002\u0002\u2213", + "\u2214\u0007W\u0002\u0002\u2214\u2215\u0007O\u0002\u0002\u2215\u2216", + "\u0007P\u0002\u0002\u2216\u0336\u0003\u0002\u0002\u0002\u2217\u2218", + "\u0007F\u0002\u0002\u2218\u2219\u0007T\u0002\u0002\u2219\u221a\u0007", + "Q\u0002\u0002\u221a\u221b\u0007R\u0002\u0002\u221b\u0338\u0003\u0002", + "\u0002\u0002\u221c\u221d\u0007F\u0002\u0002\u221d\u221e\u0007T\u0002", + "\u0002\u221e\u221f\u0007Q\u0002\u0002\u221f\u2220\u0007R\u0002\u0002", + "\u2220\u2221\u0007a\u0002\u0002\u2221\u2222\u0007I\u0002\u0002\u2222", + "\u2223\u0007T\u0002\u0002\u2223\u2224\u0007Q\u0002\u0002\u2224\u2225", + "\u0007W\u0002\u0002\u2225\u2226\u0007R\u0002\u0002\u2226\u033a\u0003", + "\u0002\u0002\u0002\u2227\u2228\u0007F\u0002\u0002\u2228\u2229\u0007", + "U\u0002\u0002\u2229\u222a\u0007K\u0002\u0002\u222a\u222b\u0007P\u0002", + "\u0002\u222b\u222c\u0007V\u0002\u0002\u222c\u222d\u0007G\u0002\u0002", + "\u222d\u222e\u0007T\u0002\u0002\u222e\u222f\u0007X\u0002\u0002\u222f", + "\u2230\u0007C\u0002\u0002\u2230\u2231\u0007N\u0002\u0002\u2231\u2232", + "\u0007a\u0002\u0002\u2232\u2233\u0007W\u0002\u0002\u2233\u2234\u0007", + "P\u0002\u0002\u2234\u2235\u0007E\u0002\u0002\u2235\u2236\u0007Q\u0002", + "\u0002\u2236\u2237\u0007P\u0002\u0002\u2237\u2238\u0007U\u0002\u0002", + "\u2238\u2239\u0007V\u0002\u0002\u2239\u223a\u0007T\u0002\u0002\u223a", + "\u223b\u0007C\u0002\u0002\u223b\u223c\u0007K\u0002\u0002\u223c\u223d", + "\u0007P\u0002\u0002\u223d\u223e\u0007G\u0002\u0002\u223e\u223f\u0007", + "F\u0002\u0002\u223f\u033c\u0003\u0002\u0002\u0002\u2240\u2241\u0007", + "F\u0002\u0002\u2241\u2242\u0007U\u0002\u0002\u2242\u2243\u0007V\u0002", + "\u0002\u2243\u2244\u0007a\u0002\u0002\u2244\u2245\u0007W\u0002\u0002", + "\u2245\u2246\u0007R\u0002\u0002\u2246\u2247\u0007I\u0002\u0002\u2247", + "\u2248\u0007T\u0002\u0002\u2248\u2249\u0007C\u0002\u0002\u2249\u224a", + "\u0007F\u0002\u0002\u224a\u224b\u0007G\u0002\u0002\u224b\u224c\u0007", + "a\u0002\u0002\u224c\u224d\u0007K\u0002\u0002\u224d\u224e\u0007P\u0002", + "\u0002\u224e\u224f\u0007U\u0002\u0002\u224f\u2250\u0007G\u0002\u0002", + "\u2250\u2251\u0007T\u0002\u0002\u2251\u2252\u0007V\u0002\u0002\u2252", + "\u2253\u0007a\u0002\u0002\u2253\u2254\u0007E\u0002\u0002\u2254\u2255", + "\u0007Q\u0002\u0002\u2255\u2256\u0007P\u0002\u0002\u2256\u2257\u0007", + "X\u0002\u0002\u2257\u033e\u0003\u0002\u0002\u0002\u2258\u2259\u0007", + "F\u0002\u0002\u2259\u225a\u0007W\u0002\u0002\u225a\u225b\u0007O\u0002", + "\u0002\u225b\u225c\u0007R\u0002\u0002\u225c\u0340\u0003\u0002\u0002", + "\u0002\u225d\u225e\u0007F\u0002\u0002\u225e\u225f\u0007W\u0002\u0002", + "\u225f\u2260\u0007O\u0002\u0002\u2260\u2261\u0007R\u0002\u0002\u2261", + "\u2262\u0007U\u0002\u0002\u2262\u2263\u0007G\u0002\u0002\u2263\u2264", + "\u0007V\u0002\u0002\u2264\u0342\u0003\u0002\u0002\u0002\u2265\u2266", + "\u0007F\u0002\u0002\u2266\u2267\u0007W\u0002\u0002\u2267\u2268\u0007", + "R\u0002\u0002\u2268\u2269\u0007N\u0002\u0002\u2269\u226a\u0007K\u0002", + "\u0002\u226a\u226b\u0007E\u0002\u0002\u226b\u226c\u0007C\u0002\u0002", + "\u226c\u226d\u0007V\u0002\u0002\u226d\u226e\u0007G\u0002\u0002\u226e", + "\u0344\u0003\u0002\u0002\u0002\u226f\u2270\u0007F\u0002\u0002\u2270", + "\u2271\u0007X\u0002\u0002\u2271\u0346\u0003\u0002\u0002\u0002\u2272", + "\u2273\u0007F\u0002\u0002\u2273\u2274\u0007[\u0002\u0002\u2274\u2275", + "\u0007P\u0002\u0002\u2275\u2276\u0007C\u0002\u0002\u2276\u2277\u0007", + "O\u0002\u0002\u2277\u2278\u0007K\u0002\u0002\u2278\u2279\u0007E\u0002", + "\u0002\u2279\u0348\u0003\u0002\u0002\u0002\u227a\u227b\u0007F\u0002", + "\u0002\u227b\u227c\u0007[\u0002\u0002\u227c\u227d\u0007P\u0002\u0002", + "\u227d\u227e\u0007C\u0002\u0002\u227e\u227f\u0007O\u0002\u0002\u227f", + "\u2280\u0007K\u0002\u0002\u2280\u2281\u0007E\u0002\u0002\u2281\u2282", + "\u0007a\u0002\u0002\u2282\u2283\u0007U\u0002\u0002\u2283\u2284\u0007", + "C\u0002\u0002\u2284\u2285\u0007O\u0002\u0002\u2285\u2286\u0007R\u0002", + "\u0002\u2286\u2287\u0007N\u0002\u0002\u2287\u2288\u0007K\u0002\u0002", + "\u2288\u2289\u0007P\u0002\u0002\u2289\u228a\u0007I\u0002\u0002\u228a", + "\u034a\u0003\u0002\u0002\u0002\u228b\u228c\u0007F\u0002\u0002\u228c", + "\u228d\u0007[\u0002\u0002\u228d\u228e\u0007P\u0002\u0002\u228e\u228f", + "\u0007C\u0002\u0002\u228f\u2290\u0007O\u0002\u0002\u2290\u2291\u0007", + "K\u0002\u0002\u2291\u2292\u0007E\u0002\u0002\u2292\u2293\u0007a\u0002", + "\u0002\u2293\u2294\u0007U\u0002\u0002\u2294\u2295\u0007C\u0002\u0002", + "\u2295\u2296\u0007O\u0002\u0002\u2296\u2297\u0007R\u0002\u0002\u2297", + "\u2298\u0007N\u0002\u0002\u2298\u2299\u0007K\u0002\u0002\u2299\u229a", + "\u0007P\u0002\u0002\u229a\u229b\u0007I\u0002\u0002\u229b\u229c\u0007", + "a\u0002\u0002\u229c\u229d\u0007G\u0002\u0002\u229d\u229e\u0007U\u0002", + "\u0002\u229e\u229f\u0007V\u0002\u0002\u229f\u22a0\u0007a\u0002\u0002", + "\u22a0\u22a1\u0007E\u0002\u0002\u22a1\u22a2\u0007F\u0002\u0002\u22a2", + "\u22a3\u0007P\u0002\u0002\u22a3\u034c\u0003\u0002\u0002\u0002\u22a4", + "\u22a5\u0007G\u0002\u0002\u22a5\u22a6\u0007C\u0002\u0002\u22a6\u22a7", + "\u0007E\u0002\u0002\u22a7\u22a8\u0007J\u0002\u0002\u22a8\u034e\u0003", + "\u0002\u0002\u0002\u22a9\u22aa\u0007G\u0002\u0002\u22aa\u22ab\u0007", + "F\u0002\u0002\u22ab\u22ac\u0007K\u0002\u0002\u22ac\u22ad\u0007V\u0002", + "\u0002\u22ad\u22ae\u0007K\u0002\u0002\u22ae\u22af\u0007Q\u0002\u0002", + "\u22af\u22b0\u0007P\u0002\u0002\u22b0\u22b1\u0007C\u0002\u0002\u22b1", + "\u22b2\u0007D\u0002\u0002\u22b2\u22b3\u0007N\u0002\u0002\u22b3\u22b4", + "\u0007G\u0002\u0002\u22b4\u0350\u0003\u0002\u0002\u0002\u22b5\u22b6", + "\u0007G\u0002\u0002\u22b6\u22b7\u0007F\u0002\u0002\u22b7\u22b8\u0007", + "K\u0002\u0002\u22b8\u22b9\u0007V\u0002\u0002\u22b9\u22ba\u0007K\u0002", + "\u0002\u22ba\u22bb\u0007Q\u0002\u0002\u22bb\u22bc\u0007P\u0002\u0002", + "\u22bc\u0352\u0003\u0002\u0002\u0002\u22bd\u22be\u0007G\u0002\u0002", + "\u22be\u22bf\u0007F\u0002\u0002\u22bf\u22c0\u0007K\u0002\u0002\u22c0", + "\u22c1\u0007V\u0002\u0002\u22c1\u22c2\u0007K\u0002\u0002\u22c2\u22c3", + "\u0007Q\u0002\u0002\u22c3\u22c4\u0007P\u0002\u0002\u22c4\u22c5\u0007", + "K\u0002\u0002\u22c5\u22c6\u0007P\u0002\u0002\u22c6\u22c7\u0007I\u0002", + "\u0002\u22c7\u0354\u0003\u0002\u0002\u0002\u22c8\u22c9\u0007G\u0002", + "\u0002\u22c9\u22ca\u0007F\u0002\u0002\u22ca\u22cb\u0007K\u0002\u0002", + "\u22cb\u22cc\u0007V\u0002\u0002\u22cc\u22cd\u0007K\u0002\u0002\u22cd", + "\u22ce\u0007Q\u0002\u0002\u22ce\u22cf\u0007P\u0002\u0002\u22cf\u22d0", + "\u0007U\u0002\u0002\u22d0\u0356\u0003\u0002\u0002\u0002\u22d1\u22d2", + "\u0007G\u0002\u0002\u22d2\u22d3\u0007N\u0002\u0002\u22d3\u22d4\u0007", + "G\u0002\u0002\u22d4\u22d5\u0007O\u0002\u0002\u22d5\u22d6\u0007G\u0002", + "\u0002\u22d6\u22d7\u0007P\u0002\u0002\u22d7\u22d8\u0007V\u0002\u0002", + "\u22d8\u0358\u0003\u0002\u0002\u0002\u22d9\u22da\u0007G\u0002\u0002", + "\u22da\u22db\u0007N\u0002\u0002\u22db\u22dc\u0007K\u0002\u0002\u22dc", + "\u22dd\u0007O\u0002\u0002\u22dd\u22de\u0007a\u0002\u0002\u22de\u22df", + "\u0007I\u0002\u0002\u22df\u22e0\u0007T\u0002\u0002\u22e0\u22e1\u0007", + "Q\u0002\u0002\u22e1\u22e2\u0007W\u0002\u0002\u22e2\u22e3\u0007R\u0002", + "\u0002\u22e3\u22e4\u0007D\u0002\u0002\u22e4\u22e5\u0007[\u0002\u0002", + "\u22e5\u035a\u0003\u0002\u0002\u0002\u22e6\u22e7\u0007G\u0002\u0002", + "\u22e7\u22e8\u0007N\u0002\u0002\u22e8\u22e9\u0007K\u0002\u0002\u22e9", + "\u22ea\u0007O\u0002\u0002\u22ea\u22eb\u0007K\u0002\u0002\u22eb\u22ec", + "\u0007P\u0002\u0002\u22ec\u22ed\u0007C\u0002\u0002\u22ed\u22ee\u0007", + "V\u0002\u0002\u22ee\u22ef\u0007G\u0002\u0002\u22ef\u22f0\u0007a\u0002", + "\u0002\u22f0\u22f1\u0007L\u0002\u0002\u22f1\u22f2\u0007Q\u0002\u0002", + "\u22f2\u22f3\u0007K\u0002\u0002\u22f3\u22f4\u0007P\u0002\u0002\u22f4", + "\u035c\u0003\u0002\u0002\u0002\u22f5\u22f6\u0007G\u0002\u0002\u22f6", + "\u22f7\u0007N\u0002\u0002\u22f7\u22f8\u0007K\u0002\u0002\u22f8\u22f9", + "\u0007O\u0002\u0002\u22f9\u22fa\u0007K\u0002\u0002\u22fa\u22fb\u0007", + "P\u0002\u0002\u22fb\u22fc\u0007C\u0002\u0002\u22fc\u22fd\u0007V\u0002", + "\u0002\u22fd\u22fe\u0007G\u0002\u0002\u22fe\u22ff\u0007a\u0002\u0002", + "\u22ff\u2300\u0007Q\u0002\u0002\u2300\u2301\u0007D\u0002\u0002\u2301", + "\u2302\u0007[\u0002\u0002\u2302\u035e\u0003\u0002\u0002\u0002\u2303", + "\u2304\u0007G\u0002\u0002\u2304\u2305\u0007N\u0002\u0002\u2305\u2306", + "\u0007K\u0002\u0002\u2306\u2307\u0007O\u0002\u0002\u2307\u2308\u0007", + "K\u0002\u0002\u2308\u2309\u0007P\u0002\u0002\u2309\u230a\u0007C\u0002", + "\u0002\u230a\u230b\u0007V\u0002\u0002\u230b\u230c\u0007G\u0002\u0002", + "\u230c\u230d\u0007a\u0002\u0002\u230d\u230e\u0007Q\u0002\u0002\u230e", + "\u230f\u0007W\u0002\u0002\u230f\u2310\u0007V\u0002\u0002\u2310\u2311", + "\u0007G\u0002\u0002\u2311\u2312\u0007T\u0002\u0002\u2312\u2313\u0007", + "a\u0002\u0002\u2313\u2314\u0007L\u0002\u0002\u2314\u2315\u0007Q\u0002", + "\u0002\u2315\u2316\u0007K\u0002\u0002\u2316\u2317\u0007P\u0002\u0002", + "\u2317\u0360\u0003\u0002\u0002\u0002\u2318\u2319\u0007G\u0002\u0002", + "\u2319\u231a\u0007N\u0002\u0002\u231a\u231b\u0007U\u0002\u0002\u231b", + "\u231c\u0007G\u0002\u0002\u231c\u0362\u0003\u0002\u0002\u0002\u231d", + "\u231e\u0007G\u0002\u0002\u231e\u231f\u0007N\u0002\u0002\u231f\u2320", + "\u0007U\u0002\u0002\u2320\u2321\u0007K\u0002\u0002\u2321\u2322\u0007", + "H\u0002\u0002\u2322\u0364\u0003\u0002\u0002\u0002\u2323\u2324\u0007", + "G\u0002\u0002\u2324\u2325\u0007O\u0002\u0002\u2325\u0366\u0003\u0002", + "\u0002\u0002\u2326\u2327\u0007G\u0002\u0002\u2327\u2328\u0007O\u0002", + "\u0002\u2328\u2329\u0007R\u0002\u0002\u2329\u232a\u0007V\u0002\u0002", + "\u232a\u232b\u0007[\u0002\u0002\u232b\u232c\u0007a\u0002\u0002\u232c", + "\u232d\u0007D\u0002\u0002\u232d\u232e\u0007N\u0002\u0002\u232e\u232f", + "\u0007Q\u0002\u0002\u232f\u2330\u0007D\u0002\u0002\u2330\u0368\u0003", + "\u0002\u0002\u0002\u2331\u2332\u0007G\u0002\u0002\u2332\u2333\u0007", + "O\u0002\u0002\u2333\u2334\u0007R\u0002\u0002\u2334\u2335\u0007V\u0002", + "\u0002\u2335\u2336\u0007[\u0002\u0002\u2336\u2337\u0007a\u0002\u0002", + "\u2337\u2338\u0007E\u0002\u0002\u2338\u2339\u0007N\u0002\u0002\u2339", + "\u233a\u0007Q\u0002\u0002\u233a\u233b\u0007D\u0002\u0002\u233b\u036a", + "\u0003\u0002\u0002\u0002\u233c\u233d\u0007G\u0002\u0002\u233d\u233e", + "\u0007O\u0002\u0002\u233e\u233f\u0007R\u0002\u0002\u233f\u2340\u0007", + "V\u0002\u0002\u2340\u2341\u0007[\u0002\u0002\u2341\u036c\u0003\u0002", + "\u0002\u0002\u2342\u2343\u0007G\u0002\u0002\u2343\u2344\u0007P\u0002", + "\u0002\u2344\u2345\u0007C\u0002\u0002\u2345\u2346\u0007D\u0002\u0002", + "\u2346\u2347\u0007N\u0002\u0002\u2347\u2348\u0007G\u0002\u0002\u2348", + "\u2349\u0007a\u0002\u0002\u2349\u234a\u0007C\u0002\u0002\u234a\u234b", + "\u0007N\u0002\u0002\u234b\u234c\u0007N\u0002\u0002\u234c\u036e\u0003", + "\u0002\u0002\u0002\u234d\u234e\u0007G\u0002\u0002\u234e\u234f\u0007", + "P\u0002\u0002\u234f\u2350\u0007C\u0002\u0002\u2350\u2351\u0007D\u0002", + "\u0002\u2351\u2352\u0007N\u0002\u0002\u2352\u2353\u0007G\u0002\u0002", + "\u2353\u0370\u0003\u0002\u0002\u0002\u2354\u2355\u0007G\u0002\u0002", + "\u2355\u2356\u0007P\u0002\u0002\u2356\u2357\u0007C\u0002\u0002\u2357", + "\u2358\u0007D\u0002\u0002\u2358\u2359\u0007N\u0002\u0002\u2359\u235a", + "\u0007G\u0002\u0002\u235a\u235b\u0007a\u0002\u0002\u235b\u235c\u0007", + "R\u0002\u0002\u235c\u235d\u0007C\u0002\u0002\u235d\u235e\u0007T\u0002", + "\u0002\u235e\u235f\u0007C\u0002\u0002\u235f\u2360\u0007N\u0002\u0002", + "\u2360\u2361\u0007N\u0002\u0002\u2361\u2362\u0007G\u0002\u0002\u2362", + "\u2363\u0007N\u0002\u0002\u2363\u2364\u0007a\u0002\u0002\u2364\u2365", + "\u0007F\u0002\u0002\u2365\u2366\u0007O\u0002\u0002\u2366\u2367\u0007", + "N\u0002\u0002\u2367\u0372\u0003\u0002\u0002\u0002\u2368\u2369\u0007", + "G\u0002\u0002\u2369\u236a\u0007P\u0002\u0002\u236a\u236b\u0007C\u0002", + "\u0002\u236b\u236c\u0007D\u0002\u0002\u236c\u236d\u0007N\u0002\u0002", + "\u236d\u236e\u0007G\u0002\u0002\u236e\u236f\u0007a\u0002\u0002\u236f", + "\u2370\u0007R\u0002\u0002\u2370\u2371\u0007T\u0002\u0002\u2371\u2372", + "\u0007G\u0002\u0002\u2372\u2373\u0007U\u0002\u0002\u2373\u2374\u0007", + "G\u0002\u0002\u2374\u2375\u0007V\u0002\u0002\u2375\u0374\u0003\u0002", + "\u0002\u0002\u2376\u2377\u0007G\u0002\u0002\u2377\u2378\u0007P\u0002", + "\u0002\u2378\u2379\u0007E\u0002\u0002\u2379\u237a\u0007Q\u0002\u0002", + "\u237a\u237b\u0007F\u0002\u0002\u237b\u237c\u0007K\u0002\u0002\u237c", + "\u237d\u0007P\u0002\u0002\u237d\u237e\u0007I\u0002\u0002\u237e\u0376", + "\u0003\u0002\u0002\u0002\u237f\u2380\u0007G\u0002\u0002\u2380\u2381", + "\u0007P\u0002\u0002\u2381\u2382\u0007E\u0002\u0002\u2382\u2383\u0007", + "T\u0002\u0002\u2383\u2384\u0007[\u0002\u0002\u2384\u2385\u0007R\u0002", + "\u0002\u2385\u2386\u0007V\u0002\u0002\u2386\u0378\u0003\u0002\u0002", + "\u0002\u2387\u2388\u0007G\u0002\u0002\u2388\u2389\u0007P\u0002\u0002", + "\u2389\u238a\u0007E\u0002\u0002\u238a\u238b\u0007T\u0002\u0002\u238b", + "\u238c\u0007[\u0002\u0002\u238c\u238d\u0007R\u0002\u0002\u238d\u238e", + "\u0007V\u0002\u0002\u238e\u238f\u0007K\u0002\u0002\u238f\u2390\u0007", + "Q\u0002\u0002\u2390\u2391\u0007P\u0002\u0002\u2391\u037a\u0003\u0002", + "\u0002\u0002\u2392\u2393\u0007G\u0002\u0002\u2393\u2394\u0007P\u0002", + "\u0002\u2394\u2395\u0007F\u0002\u0002\u2395\u037c\u0003\u0002\u0002", + "\u0002\u2396\u2397\u0007G\u0002\u0002\u2397\u2398\u0007P\u0002\u0002", + "\u2398\u2399\u0007F\u0002\u0002\u2399\u239a\u0007a\u0002\u0002\u239a", + "\u239b\u0007Q\u0002\u0002\u239b\u239c\u0007W\u0002\u0002\u239c\u239d", + "\u0007V\u0002\u0002\u239d\u239e\u0007N\u0002\u0002\u239e\u239f\u0007", + "K\u0002\u0002\u239f\u23a0\u0007P\u0002\u0002\u23a0\u23a1\u0007G\u0002", + "\u0002\u23a1\u23a2\u0007a\u0002\u0002\u23a2\u23a3\u0007F\u0002\u0002", + "\u23a3\u23a4\u0007C\u0002\u0002\u23a4\u23a5\u0007V\u0002\u0002\u23a5", + "\u23a6\u0007C\u0002\u0002\u23a6\u037e\u0003\u0002\u0002\u0002\u23a7", + "\u23a8\u0007G\u0002\u0002\u23a8\u23a9\u0007P\u0002\u0002\u23a9\u23aa", + "\u0007H\u0002\u0002\u23aa\u23ab\u0007Q\u0002\u0002\u23ab\u23ac\u0007", + "T\u0002\u0002\u23ac\u23ad\u0007E\u0002\u0002\u23ad\u23ae\u0007G\u0002", + "\u0002\u23ae\u23af\u0007F\u0002\u0002\u23af\u0380\u0003\u0002\u0002", + "\u0002\u23b0\u23b1\u0007G\u0002\u0002\u23b1\u23b2\u0007P\u0002\u0002", + "\u23b2\u23b3\u0007H\u0002\u0002\u23b3\u23b4\u0007Q\u0002\u0002\u23b4", + "\u23b5\u0007T\u0002\u0002\u23b5\u23b6\u0007E\u0002\u0002\u23b6\u23b7", + "\u0007G\u0002\u0002\u23b7\u0382\u0003\u0002\u0002\u0002\u23b8\u23b9", + "\u0007G\u0002\u0002\u23b9\u23ba\u0007P\u0002\u0002\u23ba\u23bb\u0007", + "S\u0002\u0002\u23bb\u23bc\u0007W\u0002\u0002\u23bc\u23bd\u0007G\u0002", + "\u0002\u23bd\u23be\u0007W\u0002\u0002\u23be\u23bf\u0007G\u0002\u0002", + "\u23bf\u0384\u0003\u0002\u0002\u0002\u23c0\u23c1\u0007G\u0002\u0002", + "\u23c1\u23c2\u0007P\u0002\u0002\u23c2\u23c3\u0007V\u0002\u0002\u23c3", + "\u23c4\u0007G\u0002\u0002\u23c4\u23c5\u0007T\u0002\u0002\u23c5\u23c6", + "\u0007R\u0002\u0002\u23c6\u23c7\u0007T\u0002\u0002\u23c7\u23c8\u0007", + "K\u0002\u0002\u23c8\u23c9\u0007U\u0002\u0002\u23c9\u23ca\u0007G\u0002", + "\u0002\u23ca\u0386\u0003\u0002\u0002\u0002\u23cb\u23cc\u0007G\u0002", + "\u0002\u23cc\u23cd\u0007P\u0002\u0002\u23cd\u23ce\u0007V\u0002\u0002", + "\u23ce\u23cf\u0007K\u0002\u0002\u23cf\u23d0\u0007V\u0002\u0002\u23d0", + "\u23d1\u0007[\u0002\u0002\u23d1\u23d2\u0007G\u0002\u0002\u23d2\u23d3", + "\u0007U\u0002\u0002\u23d3\u23d4\u0007E\u0002\u0002\u23d4\u23d5\u0007", + "C\u0002\u0002\u23d5\u23d6\u0007R\u0002\u0002\u23d6\u23d7\u0007K\u0002", + "\u0002\u23d7\u23d8\u0007P\u0002\u0002\u23d8\u23d9\u0007I\u0002\u0002", + "\u23d9\u0388\u0003\u0002\u0002\u0002\u23da\u23db\u0007G\u0002\u0002", + "\u23db\u23dc\u0007P\u0002\u0002\u23dc\u23dd\u0007V\u0002\u0002\u23dd", + "\u23de\u0007T\u0002\u0002\u23de\u23df\u0007[\u0002\u0002\u23df\u038a", + "\u0003\u0002\u0002\u0002\u23e0\u23e1\u0007G\u0002\u0002\u23e1\u23e2", + "\u0007S\u0002\u0002\u23e2\u23e3\u0007W\u0002\u0002\u23e3\u23e4\u0007", + "K\u0002\u0002\u23e4\u23e5\u0007R\u0002\u0002\u23e5\u23e6\u0007C\u0002", + "\u0002\u23e6\u23e7\u0007T\u0002\u0002\u23e7\u23e8\u0007V\u0002\u0002", + "\u23e8\u038c\u0003\u0002\u0002\u0002\u23e9\u23ea\u0007G\u0002\u0002", + "\u23ea\u23eb\u0007T\u0002\u0002\u23eb\u23ec\u0007T\u0002\u0002\u23ec", + "\u038e\u0003\u0002\u0002\u0002\u23ed\u23ee\u0007G\u0002\u0002\u23ee", + "\u23ef\u0007T\u0002\u0002\u23ef\u23f0\u0007T\u0002\u0002\u23f0\u23f1", + "\u0007Q\u0002\u0002\u23f1\u23f2\u0007T\u0002\u0002\u23f2\u23f3\u0007", + "a\u0002\u0002\u23f3\u23f4\u0007C\u0002\u0002\u23f4\u23f5\u0007T\u0002", + "\u0002\u23f5\u23f6\u0007I\u0002\u0002\u23f6\u23f7\u0007W\u0002\u0002", + "\u23f7\u23f8\u0007O\u0002\u0002\u23f8\u23f9\u0007G\u0002\u0002\u23f9", + "\u23fa\u0007P\u0002\u0002\u23fa\u23fb\u0007V\u0002\u0002\u23fb\u0390", + "\u0003\u0002\u0002\u0002\u23fc\u23fd\u0007G\u0002\u0002\u23fd\u23fe", + "\u0007T\u0002\u0002\u23fe\u23ff\u0007T\u0002\u0002\u23ff\u2400\u0007", + "Q\u0002\u0002\u2400\u2401\u0007T\u0002\u0002\u2401\u0392\u0003\u0002", + "\u0002\u0002\u2402\u2403\u0007G\u0002\u0002\u2403\u2404\u0007T\u0002", + "\u0002\u2404\u2405\u0007T\u0002\u0002\u2405\u2406\u0007Q\u0002\u0002", + "\u2406\u2407\u0007T\u0002\u0002\u2407\u2408\u0007a\u0002\u0002\u2408", + "\u2409\u0007Q\u0002\u0002\u2409\u240a\u0007P\u0002\u0002\u240a\u240b", + "\u0007a\u0002\u0002\u240b\u240c\u0007Q\u0002\u0002\u240c\u240d\u0007", + "X\u0002\u0002\u240d\u240e\u0007G\u0002\u0002\u240e\u240f\u0007T\u0002", + "\u0002\u240f\u2410\u0007N\u0002\u0002\u2410\u2411\u0007C\u0002\u0002", + "\u2411\u2412\u0007R\u0002\u0002\u2412\u2413\u0007a\u0002\u0002\u2413", + "\u2414\u0007V\u0002\u0002\u2414\u2415\u0007K\u0002\u0002\u2415\u2416", + "\u0007O\u0002\u0002\u2416\u2417\u0007G\u0002\u0002\u2417\u0394\u0003", + "\u0002\u0002\u0002\u2418\u2419\u0007G\u0002\u0002\u2419\u241a\u0007", + "T\u0002\u0002\u241a\u241b\u0007T\u0002\u0002\u241b\u241c\u0007Q\u0002", + "\u0002\u241c\u241d\u0007T\u0002\u0002\u241d\u241e\u0007U\u0002\u0002", + "\u241e\u0396\u0003\u0002\u0002\u0002\u241f\u2420\u0007G\u0002\u0002", + "\u2420\u2421\u0007U\u0002\u0002\u2421\u2422\u0007E\u0002\u0002\u2422", + "\u2423\u0007C\u0002\u0002\u2423\u2424\u0007R\u0002\u0002\u2424\u2425", + "\u0007G\u0002\u0002\u2425\u0398\u0003\u0002\u0002\u0002\u2426\u2427", + "\u0007G\u0002\u0002\u2427\u2428\u0007U\u0002\u0002\u2428\u2429\u0007", + "V\u0002\u0002\u2429\u242a\u0007K\u0002\u0002\u242a\u242b\u0007O\u0002", + "\u0002\u242b\u242c\u0007C\u0002\u0002\u242c\u242d\u0007V\u0002\u0002", + "\u242d\u242e\u0007G\u0002\u0002\u242e\u039a\u0003\u0002\u0002\u0002", + "\u242f\u2430\u0007G\u0002\u0002\u2430\u2431\u0007X\u0002\u0002\u2431", + "\u2432\u0007C\u0002\u0002\u2432\u2433\u0007N\u0002\u0002\u2433\u039c", + "\u0003\u0002\u0002\u0002\u2434\u2435\u0007G\u0002\u0002\u2435\u2436", + "\u0007X\u0002\u0002\u2436\u2437\u0007C\u0002\u0002\u2437\u2438\u0007", + "N\u0002\u0002\u2438\u2439\u0007P\u0002\u0002\u2439\u243a\u0007C\u0002", + "\u0002\u243a\u243b\u0007O\u0002\u0002\u243b\u243c\u0007G\u0002\u0002", + "\u243c\u039e\u0003\u0002\u0002\u0002\u243d\u243e\u0007G\u0002\u0002", + "\u243e\u243f\u0007X\u0002\u0002\u243f\u2440\u0007C\u0002\u0002\u2440", + "\u2441\u0007N\u0002\u0002\u2441\u2442\u0007W\u0002\u0002\u2442\u2443", + "\u0007C\u0002\u0002\u2443\u2444\u0007V\u0002\u0002\u2444\u2445\u0007", + "G\u0002\u0002\u2445\u03a0\u0003\u0002\u0002\u0002\u2446\u2447\u0007", + "G\u0002\u0002\u2447\u2448\u0007X\u0002\u0002\u2448\u2449\u0007C\u0002", + "\u0002\u2449\u244a\u0007N\u0002\u0002\u244a\u244b\u0007W\u0002\u0002", + "\u244b\u244c\u0007C\u0002\u0002\u244c\u244d\u0007V\u0002\u0002\u244d", + "\u244e\u0007K\u0002\u0002\u244e\u244f\u0007Q\u0002\u0002\u244f\u2450", + "\u0007P\u0002\u0002\u2450\u03a2\u0003\u0002\u0002\u0002\u2451\u2452", + "\u0007G\u0002\u0002\u2452\u2453\u0007X\u0002\u0002\u2453\u2454\u0007", + "G\u0002\u0002\u2454\u2455\u0007P\u0002\u0002\u2455\u2456\u0007V\u0002", + "\u0002\u2456\u2457\u0007U\u0002\u0002\u2457\u03a4\u0003\u0002\u0002", + "\u0002\u2458\u2459\u0007G\u0002\u0002\u2459\u245a\u0007X\u0002\u0002", + "\u245a\u245b\u0007G\u0002\u0002\u245b\u245c\u0007T\u0002\u0002\u245c", + "\u245d\u0007[\u0002\u0002\u245d\u03a6\u0003\u0002\u0002\u0002\u245e", + "\u245f\u0007G\u0002\u0002\u245f\u2460\u0007Z\u0002\u0002\u2460\u2461", + "\u0007E\u0002\u0002\u2461\u2462\u0007G\u0002\u0002\u2462\u2463\u0007", + "R\u0002\u0002\u2463\u2464\u0007V\u0002\u0002\u2464\u03a8\u0003\u0002", + "\u0002\u0002\u2465\u2466\u0007G\u0002\u0002\u2466\u2467\u0007Z\u0002", + "\u0002\u2467\u2468\u0007E\u0002\u0002\u2468\u2469\u0007G\u0002\u0002", + "\u2469\u246a\u0007R\u0002\u0002\u246a\u246b\u0007V\u0002\u0002\u246b", + "\u246c\u0007K\u0002\u0002\u246c\u246d\u0007Q\u0002\u0002\u246d\u246e", + "\u0007P\u0002\u0002\u246e\u03aa\u0003\u0002\u0002\u0002\u246f\u2470", + "\u0007G\u0002\u0002\u2470\u2471\u0007Z\u0002\u0002\u2471\u2472\u0007", + "E\u0002\u0002\u2472\u2473\u0007G\u0002\u0002\u2473\u2474\u0007R\u0002", + "\u0002\u2474\u2475\u0007V\u0002\u0002\u2475\u2476\u0007K\u0002\u0002", + "\u2476\u2477\u0007Q\u0002\u0002\u2477\u2478\u0007P\u0002\u0002\u2478", + "\u2479\u0007a\u0002\u0002\u2479\u247a\u0007K\u0002\u0002\u247a\u247b", + "\u0007P\u0002\u0002\u247b\u247c\u0007K\u0002\u0002\u247c\u247d\u0007", + "V\u0002\u0002\u247d\u03ac\u0003\u0002\u0002\u0002\u247e\u247f\u0007", + "G\u0002\u0002\u247f\u2480\u0007Z\u0002\u0002\u2480\u2481\u0007E\u0002", + "\u0002\u2481\u2482\u0007G\u0002\u0002\u2482\u2483\u0007R\u0002\u0002", + "\u2483\u2484\u0007V\u0002\u0002\u2484\u2485\u0007K\u0002\u0002\u2485", + "\u2486\u0007Q\u0002\u0002\u2486\u2487\u0007P\u0002\u0002\u2487\u2488", + "\u0007U\u0002\u0002\u2488\u03ae\u0003\u0002\u0002\u0002\u2489\u248a", + "\u0007G\u0002\u0002\u248a\u248b\u0007Z\u0002\u0002\u248b\u248c\u0007", + "E\u0002\u0002\u248c\u248d\u0007J\u0002\u0002\u248d\u248e\u0007C\u0002", + "\u0002\u248e\u248f\u0007P\u0002\u0002\u248f\u2490\u0007I\u0002\u0002", + "\u2490\u2491\u0007G\u0002\u0002\u2491\u03b0\u0003\u0002\u0002\u0002", + "\u2492\u2493\u0007G\u0002\u0002\u2493\u2494\u0007Z\u0002\u0002\u2494", + "\u2495\u0007E\u0002\u0002\u2495\u2496\u0007N\u0002\u0002\u2496\u2497", + "\u0007W\u0002\u0002\u2497\u2498\u0007F\u0002\u0002\u2498\u2499\u0007", + "G\u0002\u0002\u2499\u03b2\u0003\u0002\u0002\u0002\u249a\u249b\u0007", + "G\u0002\u0002\u249b\u249c\u0007Z\u0002\u0002\u249c\u249d\u0007E\u0002", + "\u0002\u249d\u249e\u0007N\u0002\u0002\u249e\u249f\u0007W\u0002\u0002", + "\u249f\u24a0\u0007F\u0002\u0002\u24a0\u24a1\u0007K\u0002\u0002\u24a1", + "\u24a2\u0007P\u0002\u0002\u24a2\u24a3\u0007I\u0002\u0002\u24a3\u03b4", + "\u0003\u0002\u0002\u0002\u24a4\u24a5\u0007G\u0002\u0002\u24a5\u24a6", + "\u0007Z\u0002\u0002\u24a6\u24a7\u0007E\u0002\u0002\u24a7\u24a8\u0007", + "N\u0002\u0002\u24a8\u24a9\u0007W\u0002\u0002\u24a9\u24aa\u0007U\u0002", + "\u0002\u24aa\u24ab\u0007K\u0002\u0002\u24ab\u24ac\u0007X\u0002\u0002", + "\u24ac\u24ad\u0007G\u0002\u0002\u24ad\u03b6\u0003\u0002\u0002\u0002", + "\u24ae\u24af\u0007G\u0002\u0002\u24af\u24b0\u0007Z\u0002\u0002\u24b0", + "\u24b1\u0007G\u0002\u0002\u24b1\u24b2\u0007E\u0002\u0002\u24b2\u24b3", + "\u0007W\u0002\u0002\u24b3\u24b4\u0007V\u0002\u0002\u24b4\u24b5\u0007", + "G\u0002\u0002\u24b5\u03b8\u0003\u0002\u0002\u0002\u24b6\u24b7\u0007", + "G\u0002\u0002\u24b7\u24b8\u0007Z\u0002\u0002\u24b8\u24b9\u0007G\u0002", + "\u0002\u24b9\u24ba\u0007O\u0002\u0002\u24ba\u24bb\u0007R\u0002\u0002", + "\u24bb\u24bc\u0007V\u0002\u0002\u24bc\u03ba\u0003\u0002\u0002\u0002", + "\u24bd\u24be\u0007G\u0002\u0002\u24be\u24bf\u0007Z\u0002\u0002\u24bf", + "\u24c0\u0007K\u0002\u0002\u24c0\u24c1\u0007U\u0002\u0002\u24c1\u24c2", + "\u0007V\u0002\u0002\u24c2\u24c3\u0007K\u0002\u0002\u24c3\u24c4\u0007", + "P\u0002\u0002\u24c4\u24c5\u0007I\u0002\u0002\u24c5\u03bc\u0003\u0002", + "\u0002\u0002\u24c6\u24c7\u0007G\u0002\u0002\u24c7\u24c8\u0007Z\u0002", + "\u0002\u24c8\u24c9\u0007K\u0002\u0002\u24c9\u24ca\u0007U\u0002\u0002", + "\u24ca\u24cb\u0007V\u0002\u0002\u24cb\u24cc\u0007U\u0002\u0002\u24cc", + "\u03be\u0003\u0002\u0002\u0002\u24cd\u24ce\u0007G\u0002\u0002\u24ce", + "\u24cf\u0007Z\u0002\u0002\u24cf\u24d0\u0007K\u0002\u0002\u24d0\u24d1", + "\u0007U\u0002\u0002\u24d1\u24d2\u0007V\u0002\u0002\u24d2\u24d3\u0007", + "U\u0002\u0002\u24d3\u24d4\u0007P\u0002\u0002\u24d4\u24d5\u0007Q\u0002", + "\u0002\u24d5\u24d6\u0007F\u0002\u0002\u24d6\u24d7\u0007G\u0002\u0002", + "\u24d7\u03c0\u0003\u0002\u0002\u0002\u24d8\u24d9\u0007G\u0002\u0002", + "\u24d9\u24da\u0007Z\u0002\u0002\u24da\u24db\u0007K\u0002\u0002\u24db", + "\u24dc\u0007V\u0002\u0002\u24dc\u03c2\u0003\u0002\u0002\u0002\u24dd", + "\u24de\u0007G\u0002\u0002\u24de\u24df\u0007Z\u0002\u0002\u24df\u24e0", + "\u0007R\u0002\u0002\u24e0\u24e1\u0007C\u0002\u0002\u24e1\u24e2\u0007", + "P\u0002\u0002\u24e2\u24e3\u0007F\u0002\u0002\u24e3\u24e4\u0007a\u0002", + "\u0002\u24e4\u24e5\u0007I\u0002\u0002\u24e5\u24e6\u0007U\u0002\u0002", + "\u24e6\u24e7\u0007G\u0002\u0002\u24e7\u24e8\u0007V\u0002\u0002\u24e8", + "\u24e9\u0007a\u0002\u0002\u24e9\u24ea\u0007V\u0002\u0002\u24ea\u24eb", + "\u0007Q\u0002\u0002\u24eb\u24ec\u0007a\u0002\u0002\u24ec\u24ed\u0007", + "W\u0002\u0002\u24ed\u24ee\u0007P\u0002\u0002\u24ee\u24ef\u0007K\u0002", + "\u0002\u24ef\u24f0\u0007Q\u0002\u0002\u24f0\u24f1\u0007P\u0002\u0002", + "\u24f1\u03c4\u0003\u0002\u0002\u0002\u24f2\u24f3\u0007G\u0002\u0002", + "\u24f3\u24f4\u0007Z\u0002\u0002\u24f4\u24f5\u0007R\u0002\u0002\u24f5", + "\u24f6\u0007C\u0002\u0002\u24f6\u24f7\u0007P\u0002\u0002\u24f7\u24f8", + "\u0007F\u0002\u0002\u24f8\u24f9\u0007a\u0002\u0002\u24f9\u24fa\u0007", + "V\u0002\u0002\u24fa\u24fb\u0007C\u0002\u0002\u24fb\u24fc\u0007D\u0002", + "\u0002\u24fc\u24fd\u0007N\u0002\u0002\u24fd\u24fe\u0007G\u0002\u0002", + "\u24fe\u03c6\u0003\u0002\u0002\u0002\u24ff\u2500\u0007G\u0002\u0002", + "\u2500\u2501\u0007Z\u0002\u0002\u2501\u2502\u0007R\u0002\u0002\u2502", + "\u03c8\u0003\u0002\u0002\u0002\u2503\u2504\u0007G\u0002\u0002\u2504", + "\u2505\u0007Z\u0002\u0002\u2505\u2506\u0007R\u0002\u0002\u2506\u2507", + "\u0007K\u0002\u0002\u2507\u2508\u0007T\u0002\u0002\u2508\u2509\u0007", + "G\u0002\u0002\u2509\u03ca\u0003\u0002\u0002\u0002\u250a\u250b\u0007", + "G\u0002\u0002\u250b\u250c\u0007Z\u0002\u0002\u250c\u250d\u0007R\u0002", + "\u0002\u250d\u250e\u0007N\u0002\u0002\u250e\u250f\u0007C\u0002\u0002", + "\u250f\u2510\u0007K\u0002\u0002\u2510\u2511\u0007P\u0002\u0002\u2511", + "\u03cc\u0003\u0002\u0002\u0002\u2512\u2513\u0007G\u0002\u0002\u2513", + "\u2514\u0007Z\u0002\u0002\u2514\u2515\u0007R\u0002\u0002\u2515\u2516", + "\u0007N\u0002\u0002\u2516\u2517\u0007Q\u0002\u0002\u2517\u2518\u0007", + "U\u0002\u0002\u2518\u2519\u0007K\u0002\u0002\u2519\u251a\u0007Q\u0002", + "\u0002\u251a\u251b\u0007P\u0002\u0002\u251b\u03ce\u0003\u0002\u0002", + "\u0002\u251c\u251d\u0007G\u0002\u0002\u251d\u251e\u0007Z\u0002\u0002", + "\u251e\u251f\u0007R\u0002\u0002\u251f\u2520\u0007Q\u0002\u0002\u2520", + "\u2521\u0007T\u0002\u0002\u2521\u2522\u0007V\u0002\u0002\u2522\u03d0", + "\u0003\u0002\u0002\u0002\u2523\u2524\u0007G\u0002\u0002\u2524\u2525", + "\u0007Z\u0002\u0002\u2525\u2526\u0007R\u0002\u0002\u2526\u2527\u0007", + "T\u0002\u0002\u2527\u2528\u0007a\u0002\u0002\u2528\u2529\u0007E\u0002", + "\u0002\u2529\u252a\u0007Q\u0002\u0002\u252a\u252b\u0007T\u0002\u0002", + "\u252b\u252c\u0007T\u0002\u0002\u252c\u252d\u0007a\u0002\u0002\u252d", + "\u252e\u0007E\u0002\u0002\u252e\u252f\u0007J\u0002\u0002\u252f\u2530", + "\u0007G\u0002\u0002\u2530\u2531\u0007E\u0002\u0002\u2531\u2532\u0007", + "M\u0002\u0002\u2532\u03d2\u0003\u0002\u0002\u0002\u2533\u2534\u0007", + "G\u0002\u0002\u2534\u2535\u0007Z\u0002\u0002\u2535\u2536\u0007R\u0002", + "\u0002\u2536\u2537\u0007T\u0002\u0002\u2537\u2538\u0007G\u0002\u0002", + "\u2538\u2539\u0007U\u0002\u0002\u2539\u253a\u0007U\u0002\u0002\u253a", + "\u03d4\u0003\u0002\u0002\u0002\u253b\u253c\u0007G\u0002\u0002\u253c", + "\u253d\u0007Z\u0002\u0002\u253d\u253e\u0007V\u0002\u0002\u253e\u253f", + "\u0007G\u0002\u0002\u253f\u2540\u0007P\u0002\u0002\u2540\u2541\u0007", + "F\u0002\u0002\u2541\u2542\u0007U\u0002\u0002\u2542\u03d6\u0003\u0002", + "\u0002\u0002\u2543\u2544\u0007G\u0002\u0002\u2544\u2545\u0007Z\u0002", + "\u0002\u2545\u2546\u0007V\u0002\u0002\u2546\u2547\u0007G\u0002\u0002", + "\u2547\u2548\u0007P\u0002\u0002\u2548\u2549\u0007V\u0002\u0002\u2549", + "\u03d8\u0003\u0002\u0002\u0002\u254a\u254b\u0007G\u0002\u0002\u254b", + "\u254c\u0007Z\u0002\u0002\u254c\u254d\u0007V\u0002\u0002\u254d\u254e", + "\u0007G\u0002\u0002\u254e\u254f\u0007P\u0002\u0002\u254f\u2550\u0007", + "V\u0002\u0002\u2550\u2551\u0007U\u0002\u0002\u2551\u03da\u0003\u0002", + "\u0002\u0002\u2552\u2553\u0007G\u0002\u0002\u2553\u2554\u0007Z\u0002", + "\u0002\u2554\u2555\u0007V\u0002\u0002\u2555\u2556\u0007G\u0002\u0002", + "\u2556\u2557\u0007T\u0002\u0002\u2557\u2558\u0007P\u0002\u0002\u2558", + "\u2559\u0007C\u0002\u0002\u2559\u255a\u0007N\u0002\u0002\u255a\u03dc", + "\u0003\u0002\u0002\u0002\u255b\u255c\u0007G\u0002\u0002\u255c\u255d", + "\u0007Z\u0002\u0002\u255d\u255e\u0007V\u0002\u0002\u255e\u255f\u0007", + "G\u0002\u0002\u255f\u2560\u0007T\u0002\u0002\u2560\u2561\u0007P\u0002", + "\u0002\u2561\u2562\u0007C\u0002\u0002\u2562\u2563\u0007N\u0002\u0002", + "\u2563\u2564\u0007N\u0002\u0002\u2564\u2565\u0007[\u0002\u0002\u2565", + "\u03de\u0003\u0002\u0002\u0002\u2566\u2567\u0007G\u0002\u0002\u2567", + "\u2568\u0007Z\u0002\u0002\u2568\u2569\u0007V\u0002\u0002\u2569\u256a", + "\u0007T\u0002\u0002\u256a\u256b\u0007C\u0002\u0002\u256b\u256c\u0007", + "E\u0002\u0002\u256c\u256d\u0007V\u0002\u0002\u256d\u256e\u0007E\u0002", + "\u0002\u256e\u256f\u0007N\u0002\u0002\u256f\u2570\u0007Q\u0002\u0002", + "\u2570\u2571\u0007D\u0002\u0002\u2571\u2572\u0007Z\u0002\u0002\u2572", + "\u2573\u0007O\u0002\u0002\u2573\u2574\u0007N\u0002\u0002\u2574\u03e0", + "\u0003\u0002\u0002\u0002\u2575\u2576\u0007G\u0002\u0002\u2576\u2577", + "\u0007Z\u0002\u0002\u2577\u2578\u0007V\u0002\u0002\u2578\u2579\u0007", + "T\u0002\u0002\u2579\u257a\u0007C\u0002\u0002\u257a\u257b\u0007E\u0002", + "\u0002\u257b\u257c\u0007V\u0002\u0002\u257c\u03e2\u0003\u0002\u0002", + "\u0002\u257d\u257e\u0007G\u0002\u0002\u257e\u257f\u0007Z\u0002\u0002", + "\u257f\u2580\u0007V\u0002\u0002\u2580\u2581\u0007T\u0002\u0002\u2581", + "\u2582\u0007C\u0002\u0002\u2582\u2583\u0007E\u0002\u0002\u2583\u2584", + "\u0007V\u0002\u0002\u2584\u2585\u0007X\u0002\u0002\u2585\u2586\u0007", + "C\u0002\u0002\u2586\u2587\u0007N\u0002\u0002\u2587\u2588\u0007W\u0002", + "\u0002\u2588\u2589\u0007G\u0002\u0002\u2589\u03e4\u0003\u0002\u0002", + "\u0002\u258a\u258b\u0007G\u0002\u0002\u258b\u258c\u0007Z\u0002\u0002", + "\u258c\u258d\u0007V\u0002\u0002\u258d\u258e\u0007T\u0002\u0002\u258e", + "\u258f\u0007C\u0002\u0002\u258f\u03e6\u0003\u0002\u0002\u0002\u2590", + "\u2591\u0007H\u0002\u0002\u2591\u2592\u0007C\u0002\u0002\u2592\u2593", + "\u0007E\u0002\u0002\u2593\u2594\u0007K\u0002\u0002\u2594\u2595\u0007", + "N\u0002\u0002\u2595\u2596\u0007K\u0002\u0002\u2596\u2597\u0007V\u0002", + "\u0002\u2597\u2598\u0007[\u0002\u0002\u2598\u03e8\u0003\u0002\u0002", + "\u0002\u2599\u259a\u0007H\u0002\u0002\u259a\u259b\u0007C\u0002\u0002", + "\u259b\u259c\u0007E\u0002\u0002\u259c\u259d\u0007V\u0002\u0002\u259d", + "\u03ea\u0003\u0002\u0002\u0002\u259e\u259f\u0007H\u0002\u0002\u259f", + "\u25a0\u0007C\u0002\u0002\u25a0\u25a1\u0007E\u0002\u0002\u25a1\u25a2", + "\u0007V\u0002\u0002\u25a2\u25a3\u0007Q\u0002\u0002\u25a3\u25a4\u0007", + "T\u0002\u0002\u25a4\u03ec\u0003\u0002\u0002\u0002\u25a5\u25a6\u0007", + "H\u0002\u0002\u25a6\u25a7\u0007C\u0002\u0002\u25a7\u25a8\u0007E\u0002", + "\u0002\u25a8\u25a9\u0007V\u0002\u0002\u25a9\u25aa\u0007Q\u0002\u0002", + "\u25aa\u25ab\u0007T\u0002\u0002\u25ab\u25ac\u0007K\u0002\u0002\u25ac", + "\u25ad\u0007\\\u0002\u0002\u25ad\u25ae\u0007G\u0002\u0002\u25ae\u25af", + "\u0007a\u0002\u0002\u25af\u25b0\u0007L\u0002\u0002\u25b0\u25b1\u0007", + "Q\u0002\u0002\u25b1\u25b2\u0007K\u0002\u0002\u25b2\u25b3\u0007P\u0002", + "\u0002\u25b3\u03ee\u0003\u0002\u0002\u0002\u25b4\u25b5\u0007H\u0002", + "\u0002\u25b5\u25b6\u0007C\u0002\u0002\u25b6\u25b7\u0007K\u0002\u0002", + "\u25b7\u25b8\u0007N\u0002\u0002\u25b8\u25b9\u0007G\u0002\u0002\u25b9", + "\u25ba\u0007F\u0002\u0002\u25ba\u03f0\u0003\u0002\u0002\u0002\u25bb", + "\u25bc\u0007H\u0002\u0002\u25bc\u25bd\u0007C\u0002\u0002\u25bd\u25be", + "\u0007K\u0002\u0002\u25be\u25bf\u0007N\u0002\u0002\u25bf\u25c0\u0007", + "G\u0002\u0002\u25c0\u25c1\u0007F\u0002\u0002\u25c1\u25c2\u0007a\u0002", + "\u0002\u25c2\u25c3\u0007N\u0002\u0002\u25c3\u25c4\u0007Q\u0002\u0002", + "\u25c4\u25c5\u0007I\u0002\u0002\u25c5\u25c6\u0007K\u0002\u0002\u25c6", + "\u25c7\u0007P\u0002\u0002\u25c7\u25c8\u0007a\u0002\u0002\u25c8\u25c9", + "\u0007C\u0002\u0002\u25c9\u25ca\u0007V\u0002\u0002\u25ca\u25cb\u0007", + "V\u0002\u0002\u25cb\u25cc\u0007G\u0002\u0002\u25cc\u25cd\u0007O\u0002", + "\u0002\u25cd\u25ce\u0007R\u0002\u0002\u25ce\u25cf\u0007V\u0002\u0002", + "\u25cf\u25d0\u0007U\u0002\u0002\u25d0\u03f2\u0003\u0002\u0002\u0002", + "\u25d1\u25d2\u0007H\u0002\u0002\u25d2\u25d3\u0007C\u0002\u0002\u25d3", + "\u25d4\u0007K\u0002\u0002\u25d4\u25d5\u0007N\u0002\u0002\u25d5\u25d6", + "\u0007I\u0002\u0002\u25d6\u25d7\u0007T\u0002\u0002\u25d7\u25d8\u0007", + "Q\u0002\u0002\u25d8\u25d9\u0007W\u0002\u0002\u25d9\u25da\u0007R\u0002", + "\u0002\u25da\u03f4\u0003\u0002\u0002\u0002\u25db\u25dc\u0007H\u0002", + "\u0002\u25dc\u25dd\u0007C\u0002\u0002\u25dd\u25de\u0007K\u0002\u0002", + "\u25de\u25df\u0007N\u0002\u0002\u25df\u25e0\u0007Q\u0002\u0002\u25e0", + "\u25e1\u0007X\u0002\u0002\u25e1\u25e2\u0007G\u0002\u0002\u25e2\u25e3", + "\u0007T\u0002\u0002\u25e3\u03f6\u0003\u0002\u0002\u0002\u25e4\u25e5", + "\u0007H\u0002\u0002\u25e5\u25e6\u0007C\u0002\u0002\u25e6\u25e7\u0007", + "K\u0002\u0002\u25e7\u25e8\u0007N\u0002\u0002\u25e8\u25e9\u0007W\u0002", + "\u0002\u25e9\u25ea\u0007T\u0002\u0002\u25ea\u25eb\u0007G\u0002\u0002", + "\u25eb\u03f8\u0003\u0002\u0002\u0002\u25ec\u25ed\u0007H\u0002\u0002", + "\u25ed\u25ee\u0007C\u0002\u0002\u25ee\u25ef\u0007N\u0002\u0002\u25ef", + "\u25f0\u0007U\u0002\u0002\u25f0\u25f1\u0007G\u0002\u0002\u25f1\u03fa", + "\u0003\u0002\u0002\u0002\u25f2\u25f3\u0007H\u0002\u0002\u25f3\u25f4", + "\u0007C\u0002\u0002\u25f4\u25f5\u0007O\u0002\u0002\u25f5\u25f6\u0007", + "K\u0002\u0002\u25f6\u25f7\u0007N\u0002\u0002\u25f7\u25f8\u0007[\u0002", + "\u0002\u25f8\u03fc\u0003\u0002\u0002\u0002\u25f9\u25fa\u0007H\u0002", + "\u0002\u25fa\u25fb\u0007C\u0002\u0002\u25fb\u25fc\u0007T\u0002\u0002", + "\u25fc\u03fe\u0003\u0002\u0002\u0002\u25fd\u25fe\u0007H\u0002\u0002", + "\u25fe\u25ff\u0007C\u0002\u0002\u25ff\u2600\u0007U\u0002\u0002\u2600", + "\u2601\u0007V\u0002\u0002\u2601\u0400\u0003\u0002\u0002\u0002\u2602", + "\u2603\u0007H\u0002\u0002\u2603\u2604\u0007C\u0002\u0002\u2604\u2605", + "\u0007U\u0002\u0002\u2605\u2606\u0007V\u0002\u0002\u2606\u2607\u0007", + "U\u0002\u0002\u2607\u2608\u0007V\u0002\u0002\u2608\u2609\u0007C\u0002", + "\u0002\u2609\u260a\u0007T\u0002\u0002\u260a\u260b\u0007V\u0002\u0002", + "\u260b\u0402\u0003\u0002\u0002\u0002\u260c\u260d\u0007H\u0002\u0002", + "\u260d\u260e\u0007D\u0002\u0002\u260e\u260f\u0007V\u0002\u0002\u260f", + "\u2610\u0007U\u0002\u0002\u2610\u2611\u0007E\u0002\u0002\u2611\u2612", + "\u0007C\u0002\u0002\u2612\u2613\u0007P\u0002\u0002\u2613\u0404\u0003", + "\u0002\u0002\u0002\u2614\u2615\u0007H\u0002\u0002\u2615\u2616\u0007", + "G\u0002\u0002\u2616\u2617\u0007C\u0002\u0002\u2617\u2618\u0007V\u0002", + "\u0002\u2618\u2619\u0007W\u0002\u0002\u2619\u261a\u0007T\u0002\u0002", + "\u261a\u261b\u0007G\u0002\u0002\u261b\u261c\u0007a\u0002\u0002\u261c", + "\u261d\u0007F\u0002\u0002\u261d\u261e\u0007G\u0002\u0002\u261e\u261f", + "\u0007V\u0002\u0002\u261f\u2620\u0007C\u0002\u0002\u2620\u2621\u0007", + "K\u0002\u0002\u2621\u2622\u0007N\u0002\u0002\u2622\u2623\u0007U\u0002", + "\u0002\u2623\u0406\u0003\u0002\u0002\u0002\u2624\u2625\u0007H\u0002", + "\u0002\u2625\u2626\u0007G\u0002\u0002\u2626\u2627\u0007C\u0002\u0002", + "\u2627\u2628\u0007V\u0002\u0002\u2628\u2629\u0007W\u0002\u0002\u2629", + "\u262a\u0007T\u0002\u0002\u262a\u262b\u0007G\u0002\u0002\u262b\u262c", + "\u0007a\u0002\u0002\u262c\u262d\u0007K\u0002\u0002\u262d\u262e\u0007", + "F\u0002\u0002\u262e\u0408\u0003\u0002\u0002\u0002\u262f\u2630\u0007", + "H\u0002\u0002\u2630\u2631\u0007G\u0002\u0002\u2631\u2632\u0007C\u0002", + "\u0002\u2632\u2633\u0007V\u0002\u0002\u2633\u2634\u0007W\u0002\u0002", + "\u2634\u2635\u0007T\u0002\u0002\u2635\u2636\u0007G\u0002\u0002\u2636", + "\u2637\u0007a\u0002\u0002\u2637\u2638\u0007U\u0002\u0002\u2638\u2639", + "\u0007G\u0002\u0002\u2639\u263a\u0007V\u0002\u0002\u263a\u040a\u0003", + "\u0002\u0002\u0002\u263b\u263c\u0007H\u0002\u0002\u263c\u263d\u0007", + "G\u0002\u0002\u263d\u263e\u0007C\u0002\u0002\u263e\u263f\u0007V\u0002", + "\u0002\u263f\u2640\u0007W\u0002\u0002\u2640\u2641\u0007T\u0002\u0002", + "\u2641\u2642\u0007G\u0002\u0002\u2642\u2643\u0007a\u0002\u0002\u2643", + "\u2644\u0007X\u0002\u0002\u2644\u2645\u0007C\u0002\u0002\u2645\u2646", + "\u0007N\u0002\u0002\u2646\u2647\u0007W\u0002\u0002\u2647\u2648\u0007", + "G\u0002\u0002\u2648\u040c\u0003\u0002\u0002\u0002\u2649\u264a\u0007", + "H\u0002\u0002\u264a\u264b\u0007G\u0002\u0002\u264b\u264c\u0007V\u0002", + "\u0002\u264c\u264d\u0007E\u0002\u0002\u264d\u264e\u0007J\u0002\u0002", + "\u264e\u040e\u0003\u0002\u0002\u0002\u264f\u2650\u0007H\u0002\u0002", + "\u2650\u2651\u0007K\u0002\u0002\u2651\u2652\u0007N\u0002\u0002\u2652", + "\u2653\u0007G\u0002\u0002\u2653\u0410\u0003\u0002\u0002\u0002\u2654", + "\u2655\u0007H\u0002\u0002\u2655\u2656\u0007K\u0002\u0002\u2656\u2657", + "\u0007N\u0002\u0002\u2657\u2658\u0007G\u0002\u0002\u2658\u2659\u0007", + "a\u0002\u0002\u2659\u265a\u0007P\u0002\u0002\u265a\u265b\u0007C\u0002", + "\u0002\u265b\u265c\u0007O\u0002\u0002\u265c\u265d\u0007G\u0002\u0002", + "\u265d\u265e\u0007a\u0002\u0002\u265e\u265f\u0007E\u0002\u0002\u265f", + "\u2660\u0007Q\u0002\u0002\u2660\u2661\u0007P\u0002\u0002\u2661\u2662", + "\u0007X\u0002\u0002\u2662\u2663\u0007G\u0002\u0002\u2663\u2664\u0007", + "T\u0002\u0002\u2664\u2665\u0007V\u0002\u0002\u2665\u0412\u0003\u0002", + "\u0002\u0002\u2666\u2667\u0007H\u0002\u0002\u2667\u2668\u0007K\u0002", + "\u0002\u2668\u2669\u0007N\u0002\u0002\u2669\u266a\u0007G\u0002\u0002", + "\u266a\u266b\u0007U\u0002\u0002\u266b\u266c\u0007[\u0002\u0002\u266c", + "\u266d\u0007U\u0002\u0002\u266d\u266e\u0007V\u0002\u0002\u266e\u266f", + "\u0007G\u0002\u0002\u266f\u2670\u0007O\u0002\u0002\u2670\u2671\u0007", + "a\u0002\u0002\u2671\u2672\u0007N\u0002\u0002\u2672\u2673\u0007K\u0002", + "\u0002\u2673\u2674\u0007M\u0002\u0002\u2674\u2675\u0007G\u0002\u0002", + "\u2675\u2676\u0007a\u0002\u0002\u2676\u2677\u0007N\u0002\u0002\u2677", + "\u2678\u0007Q\u0002\u0002\u2678\u2679\u0007I\u0002\u0002\u2679\u267a", + "\u0007I\u0002\u0002\u267a\u267b\u0007K\u0002\u0002\u267b\u267c\u0007", + "P\u0002\u0002\u267c\u267d\u0007I\u0002\u0002\u267d\u0414\u0003\u0002", + "\u0002\u0002\u267e\u267f\u0007H\u0002\u0002\u267f\u2680\u0007K\u0002", + "\u0002\u2680\u2681\u0007N\u0002\u0002\u2681\u2682\u0007V\u0002\u0002", + "\u2682\u2683\u0007G\u0002\u0002\u2683\u2684\u0007T\u0002\u0002\u2684", + "\u0416\u0003\u0002\u0002\u0002\u2685\u2686\u0007H\u0002\u0002\u2686", + "\u2687\u0007K\u0002\u0002\u2687\u2688\u0007P\u0002\u0002\u2688\u2689", + "\u0007C\u0002\u0002\u2689\u268a\u0007N\u0002\u0002\u268a\u0418\u0003", + "\u0002\u0002\u0002\u268b\u268c\u0007H\u0002\u0002\u268c\u268d\u0007", + "K\u0002\u0002\u268d\u268e\u0007P\u0002\u0002\u268e\u268f\u0007G\u0002", + "\u0002\u268f\u041a\u0003\u0002\u0002\u0002\u2690\u2691\u0007H\u0002", + "\u0002\u2691\u2692\u0007K\u0002\u0002\u2692\u2693\u0007P\u0002\u0002", + "\u2693\u2694\u0007K\u0002\u0002\u2694\u2695\u0007U\u0002\u0002\u2695", + "\u2696\u0007J\u0002\u0002\u2696\u041c\u0003\u0002\u0002\u0002\u2697", + "\u2698\u0007H\u0002\u0002\u2698\u2699\u0007K\u0002\u0002\u2699\u269a", + "\u0007T\u0002\u0002\u269a\u269b\u0007U\u0002\u0002\u269b\u269c\u0007", + "V\u0002\u0002\u269c\u041e\u0003\u0002\u0002\u0002\u269d\u269e\u0007", + "H\u0002\u0002\u269e\u269f\u0007K\u0002\u0002\u269f\u26a0\u0007T\u0002", + "\u0002\u26a0\u26a1\u0007U\u0002\u0002\u26a1\u26a2\u0007V\u0002\u0002", + "\u26a2\u26a3\u0007O\u0002\u0002\u26a3\u0420\u0003\u0002\u0002\u0002", + "\u26a4\u26a5\u0007H\u0002\u0002\u26a5\u26a6\u0007K\u0002\u0002\u26a6", + "\u26a7\u0007T\u0002\u0002\u26a7\u26a8\u0007U\u0002\u0002\u26a8\u26a9", + "\u0007V\u0002\u0002\u26a9\u26aa\u0007a\u0002\u0002\u26aa\u26ab\u0007", + "T\u0002\u0002\u26ab\u26ac\u0007Q\u0002\u0002\u26ac\u26ad\u0007Y\u0002", + "\u0002\u26ad\u26ae\u0007U\u0002\u0002\u26ae\u0422\u0003\u0002\u0002", + "\u0002\u26af\u26b0\u0007H\u0002\u0002\u26b0\u26b1\u0007K\u0002\u0002", + "\u26b1\u26b2\u0007T\u0002\u0002\u26b2\u26b3\u0007U\u0002\u0002\u26b3", + "\u26b4\u0007V\u0002\u0002\u26b4\u26b5\u0007a\u0002\u0002\u26b5\u26b6", + "\u0007X\u0002\u0002\u26b6\u26b7\u0007C\u0002\u0002\u26b7\u26b8\u0007", + "N\u0002\u0002\u26b8\u26b9\u0007W\u0002\u0002\u26b9\u26ba\u0007G\u0002", + "\u0002\u26ba\u0424\u0003\u0002\u0002\u0002\u26bb\u26bc\u0007H\u0002", + "\u0002\u26bc\u26bd\u0007K\u0002\u0002\u26bd\u26be\u0007Z\u0002\u0002", + "\u26be\u26bf\u0007G\u0002\u0002\u26bf\u26c0\u0007F\u0002\u0002\u26c0", + "\u26c1\u0007a\u0002\u0002\u26c1\u26c2\u0007X\u0002\u0002\u26c2\u26c3", + "\u0007K\u0002\u0002\u26c3\u26c4\u0007G\u0002\u0002\u26c4\u26c5\u0007", + "Y\u0002\u0002\u26c5\u26c6\u0007a\u0002\u0002\u26c6\u26c7\u0007F\u0002", + "\u0002\u26c7\u26c8\u0007C\u0002\u0002\u26c8\u26c9\u0007V\u0002\u0002", + "\u26c9\u26ca\u0007C\u0002\u0002\u26ca\u0426\u0003\u0002\u0002\u0002", + "\u26cb\u26cc\u0007H\u0002\u0002\u26cc\u26cd\u0007N\u0002\u0002\u26cd", + "\u26ce\u0007C\u0002\u0002\u26ce\u26cf\u0007I\u0002\u0002\u26cf\u26d0", + "\u0007I\u0002\u0002\u26d0\u26d1\u0007G\u0002\u0002\u26d1\u26d2\u0007", + "T\u0002\u0002\u26d2\u0428\u0003\u0002\u0002\u0002\u26d3\u26d4\u0007", + "H\u0002\u0002\u26d4\u26d5\u0007N\u0002\u0002\u26d5\u26d6\u0007C\u0002", + "\u0002\u26d6\u26d7\u0007U\u0002\u0002\u26d7\u26d8\u0007J\u0002\u0002", + "\u26d8\u26d9\u0007D\u0002\u0002\u26d9\u26da\u0007C\u0002\u0002\u26da", + "\u26db\u0007E\u0002\u0002\u26db\u26dc\u0007M\u0002\u0002\u26dc\u042a", + "\u0003\u0002\u0002\u0002\u26dd\u26de\u0007H\u0002\u0002\u26de\u26df", + "\u0007N\u0002\u0002\u26df\u26e0\u0007C\u0002\u0002\u26e0\u26e1\u0007", + "U\u0002\u0002\u26e1\u26e2\u0007J\u0002\u0002\u26e2\u26e3\u0007a\u0002", + "\u0002\u26e3\u26e4\u0007E\u0002\u0002\u26e4\u26e5\u0007C\u0002\u0002", + "\u26e5\u26e6\u0007E\u0002\u0002\u26e6\u26e7\u0007J\u0002\u0002\u26e7", + "\u26e8\u0007G\u0002\u0002\u26e8\u042c\u0003\u0002\u0002\u0002\u26e9", + "\u26ea\u0007H\u0002\u0002\u26ea\u26eb\u0007N\u0002\u0002\u26eb\u26ec", + "\u0007Q\u0002\u0002\u26ec\u26ed\u0007C\u0002\u0002\u26ed\u26ee\u0007", + "V\u0002\u0002\u26ee\u042e\u0003\u0002\u0002\u0002\u26ef\u26f0\u0007", + "H\u0002\u0002\u26f0\u26f1\u0007N\u0002\u0002\u26f1\u26f2\u0007Q\u0002", + "\u0002\u26f2\u26f3\u0007D\u0002\u0002\u26f3\u0430\u0003\u0002\u0002", + "\u0002\u26f4\u26f5\u0007H\u0002\u0002\u26f5\u26f6\u0007N\u0002\u0002", + "\u26f6\u26f7\u0007Q\u0002\u0002\u26f7\u26f8\u0007Q\u0002\u0002\u26f8", + "\u26f9\u0007T\u0002\u0002\u26f9\u0432\u0003\u0002\u0002\u0002\u26fa", + "\u26fb\u0007H\u0002\u0002\u26fb\u26fc\u0007N\u0002\u0002\u26fc\u26fd", + "\u0007W\u0002\u0002\u26fd\u26fe\u0007U\u0002\u0002\u26fe\u26ff\u0007", + "J\u0002\u0002\u26ff\u0434\u0003\u0002\u0002\u0002\u2700\u2701\u0007", + "H\u0002\u0002\u2701\u2702\u0007Q\u0002\u0002\u2702\u2703\u0007N\u0002", + "\u0002\u2703\u2704\u0007F\u0002\u0002\u2704\u2705\u0007G\u0002\u0002", + "\u2705\u2706\u0007T\u0002\u0002\u2706\u0436\u0003\u0002\u0002\u0002", + "\u2707\u2708\u0007H\u0002\u0002\u2708\u2709\u0007Q\u0002\u0002\u2709", + "\u270a\u0007N\u0002\u0002\u270a\u270b\u0007N\u0002\u0002\u270b\u270c", + "\u0007Q\u0002\u0002\u270c\u270d\u0007Y\u0002\u0002\u270d\u270e\u0007", + "K\u0002\u0002\u270e\u270f\u0007P\u0002\u0002\u270f\u2710\u0007I\u0002", + "\u0002\u2710\u0438\u0003\u0002\u0002\u0002\u2711\u2712\u0007H\u0002", + "\u0002\u2712\u2713\u0007Q\u0002\u0002\u2713\u2714\u0007N\u0002\u0002", + "\u2714\u2715\u0007N\u0002\u0002\u2715\u2716\u0007Q\u0002\u0002\u2716", + "\u2717\u0007Y\u0002\u0002\u2717\u2718\u0007U\u0002\u0002\u2718\u043a", + "\u0003\u0002\u0002\u0002\u2719\u271a\u0007H\u0002\u0002\u271a\u271b", + "\u0007Q\u0002\u0002\u271b\u271c\u0007T\u0002\u0002\u271c\u271d\u0007", + "C\u0002\u0002\u271d\u271e\u0007N\u0002\u0002\u271e\u271f\u0007N\u0002", + "\u0002\u271f\u043c\u0003\u0002\u0002\u0002\u2720\u2721\u0007H\u0002", + "\u0002\u2721\u2722\u0007Q\u0002\u0002\u2722\u2723\u0007T\u0002\u0002", + "\u2723\u2724\u0007E\u0002\u0002\u2724\u2725\u0007G\u0002\u0002\u2725", + "\u043e\u0003\u0002\u0002\u0002\u2726\u2727\u0007H\u0002\u0002\u2727", + "\u2728\u0007Q\u0002\u0002\u2728\u2729\u0007T\u0002\u0002\u2729\u272a", + "\u0007E\u0002\u0002\u272a\u272b\u0007G\u0002\u0002\u272b\u272c\u0007", + "a\u0002\u0002\u272c\u272d\u0007Z\u0002\u0002\u272d\u272e\u0007O\u0002", + "\u0002\u272e\u272f\u0007N\u0002\u0002\u272f\u2730\u0007a\u0002\u0002", + "\u2730\u2731\u0007S\u0002\u0002\u2731\u2732\u0007W\u0002\u0002\u2732", + "\u2733\u0007G\u0002\u0002\u2733\u2734\u0007T\u0002\u0002\u2734\u2735", + "\u0007[\u0002\u0002\u2735\u2736\u0007a\u0002\u0002\u2736\u2737\u0007", + "T\u0002\u0002\u2737\u2738\u0007G\u0002\u0002\u2738\u2739\u0007Y\u0002", + "\u0002\u2739\u273a\u0007T\u0002\u0002\u273a\u273b\u0007K\u0002\u0002", + "\u273b\u273c\u0007V\u0002\u0002\u273c\u273d\u0007G\u0002\u0002\u273d", + "\u0440\u0003\u0002\u0002\u0002\u273e\u273f\u0007H\u0002\u0002\u273f", + "\u2740\u0007Q\u0002\u0002\u2740\u2741\u0007T\u0002\u0002\u2741\u2742", + "\u0007G\u0002\u0002\u2742\u2743\u0007K\u0002\u0002\u2743\u2744\u0007", + "I\u0002\u0002\u2744\u2745\u0007P\u0002\u0002\u2745\u0442\u0003\u0002", + "\u0002\u0002\u2746\u2747\u0007H\u0002\u0002\u2747\u2748\u0007Q\u0002", + "\u0002\u2748\u2749\u0007T\u0002\u0002\u2749\u274a\u0007G\u0002\u0002", + "\u274a\u274b\u0007X\u0002\u0002\u274b\u274c\u0007G\u0002\u0002\u274c", + "\u274d\u0007T\u0002\u0002\u274d\u0444\u0003\u0002\u0002\u0002\u274e", + "\u274f\u0007H\u0002\u0002\u274f\u2750\u0007Q\u0002\u0002\u2750\u2751", + "\u0007T\u0002\u0002\u2751\u0446\u0003\u0002\u0002\u0002\u2752\u2753", + "\u0007H\u0002\u0002\u2753\u2754\u0007Q\u0002\u0002\u2754\u2755\u0007", + "T\u0002\u0002\u2755\u2756\u0007O\u0002\u0002\u2756\u2757\u0007C\u0002", + "\u0002\u2757\u2758\u0007V\u0002\u0002\u2758\u0448\u0003\u0002\u0002", + "\u0002\u2759\u275a\u0007H\u0002\u0002\u275a\u275b\u0007Q\u0002\u0002", + "\u275b\u275c\u0007T\u0002\u0002\u275c\u275d\u0007Y\u0002\u0002\u275d", + "\u275e\u0007C\u0002\u0002\u275e\u275f\u0007T\u0002\u0002\u275f\u2760", + "\u0007F\u0002\u0002\u2760\u044a\u0003\u0002\u0002\u0002\u2761\u2762", + "\u0007H\u0002\u0002\u2762\u2763\u0007T\u0002\u0002\u2763\u2764\u0007", + "C\u0002\u0002\u2764\u2765\u0007I\u0002\u0002\u2765\u2766\u0007O\u0002", + "\u0002\u2766\u2767\u0007G\u0002\u0002\u2767\u2768\u0007P\u0002\u0002", + "\u2768\u2769\u0007V\u0002\u0002\u2769\u276a\u0007a\u0002\u0002\u276a", + "\u276b\u0007P\u0002\u0002\u276b\u276c\u0007W\u0002\u0002\u276c\u276d", + "\u0007O\u0002\u0002\u276d\u276e\u0007D\u0002\u0002\u276e\u276f\u0007", + "G\u0002\u0002\u276f\u2770\u0007T\u0002\u0002\u2770\u044c\u0003\u0002", + "\u0002\u0002\u2771\u2772\u0007H\u0002\u0002\u2772\u2773\u0007T\u0002", + "\u0002\u2773\u2774\u0007G\u0002\u0002\u2774\u2775\u0007G\u0002\u0002", + "\u2775\u2776\u0007N\u0002\u0002\u2776\u2777\u0007K\u0002\u0002\u2777", + "\u2778\u0007U\u0002\u0002\u2778\u2779\u0007V\u0002\u0002\u2779\u044e", + "\u0003\u0002\u0002\u0002\u277a\u277b\u0007H\u0002\u0002\u277b\u277c", + "\u0007T\u0002\u0002\u277c\u277d\u0007G\u0002\u0002\u277d\u277e\u0007", + "G\u0002\u0002\u277e\u277f\u0007N\u0002\u0002\u277f\u2780\u0007K\u0002", + "\u0002\u2780\u2781\u0007U\u0002\u0002\u2781\u2782\u0007V\u0002\u0002", + "\u2782\u2783\u0007U\u0002\u0002\u2783\u0450\u0003\u0002\u0002\u0002", + "\u2784\u2785\u0007H\u0002\u0002\u2785\u2786\u0007T\u0002\u0002\u2786", + "\u2787\u0007G\u0002\u0002\u2787\u2788\u0007G\u0002\u0002\u2788\u2789", + "\u0007R\u0002\u0002\u2789\u278a\u0007Q\u0002\u0002\u278a\u278b\u0007", + "Q\u0002\u0002\u278b\u278c\u0007N\u0002\u0002\u278c\u278d\u0007U\u0002", + "\u0002\u278d\u0452\u0003\u0002\u0002\u0002\u278e\u278f\u0007H\u0002", + "\u0002\u278f\u2790\u0007T\u0002\u0002\u2790\u2791\u0007G\u0002\u0002", + "\u2791\u2792\u0007U\u0002\u0002\u2792\u2793\u0007J\u0002\u0002\u2793", + "\u0454\u0003\u0002\u0002\u0002\u2794\u2795\u0007H\u0002\u0002\u2795", + "\u2796\u0007T\u0002\u0002\u2796\u2797\u0007Q\u0002\u0002\u2797\u2798", + "\u0007O\u0002\u0002\u2798\u0456\u0003\u0002\u0002\u0002\u2799\u279a", + "\u0007H\u0002\u0002\u279a\u279b\u0007T\u0002\u0002\u279b\u279c\u0007", + "Q\u0002\u0002\u279c\u279d\u0007O\u0002\u0002\u279d\u279e\u0007a\u0002", + "\u0002\u279e\u279f\u0007V\u0002\u0002\u279f\u27a0\u0007\\\u0002\u0002", + "\u27a0\u0458\u0003\u0002\u0002\u0002\u27a1\u27a2\u0007H\u0002\u0002", + "\u27a2\u27a3\u0007W\u0002\u0002\u27a3\u27a4\u0007N\u0002\u0002\u27a4", + "\u27a5\u0007N\u0002\u0002\u27a5\u045a\u0003\u0002\u0002\u0002\u27a6", + "\u27a7\u0007H\u0002\u0002\u27a7\u27a8\u0007W\u0002\u0002\u27a8\u27a9", + "\u0007N\u0002\u0002\u27a9\u27aa\u0007N\u0002\u0002\u27aa\u27ab\u0007", + "a\u0002\u0002\u27ab\u27ac\u0007Q\u0002\u0002\u27ac\u27ad\u0007W\u0002", + "\u0002\u27ad\u27ae\u0007V\u0002\u0002\u27ae\u27af\u0007G\u0002\u0002", + "\u27af\u27b0\u0007T\u0002\u0002\u27b0\u27b1\u0007a\u0002\u0002\u27b1", + "\u27b2\u0007L\u0002\u0002\u27b2\u27b3\u0007Q\u0002\u0002\u27b3\u27b4", + "\u0007K\u0002\u0002\u27b4\u27b5\u0007P\u0002\u0002\u27b5\u27b6\u0007", + "a\u0002\u0002\u27b6\u27b7\u0007V\u0002\u0002\u27b7\u27b8\u0007Q\u0002", + "\u0002\u27b8\u27b9\u0007a\u0002\u0002\u27b9\u27ba\u0007Q\u0002\u0002", + "\u27ba\u27bb\u0007W\u0002\u0002\u27bb\u27bc\u0007V\u0002\u0002\u27bc", + "\u27bd\u0007G\u0002\u0002\u27bd\u27be\u0007T\u0002\u0002\u27be\u045c", + "\u0003\u0002\u0002\u0002\u27bf\u27c0\u0007H\u0002\u0002\u27c0\u27c1", + "\u0007W\u0002\u0002\u27c1\u27c2\u0007P\u0002\u0002\u27c2\u27c3\u0007", + "E\u0002\u0002\u27c3\u27c4\u0007V\u0002\u0002\u27c4\u27c5\u0007K\u0002", + "\u0002\u27c5\u27c6\u0007Q\u0002\u0002\u27c6\u27c7\u0007P\u0002\u0002", + "\u27c7\u045e\u0003\u0002\u0002\u0002\u27c8\u27c9\u0007H\u0002\u0002", + "\u27c9\u27ca\u0007W\u0002\u0002\u27ca\u27cb\u0007P\u0002\u0002\u27cb", + "\u27cc\u0007E\u0002\u0002\u27cc\u27cd\u0007V\u0002\u0002\u27cd\u27ce", + "\u0007K\u0002\u0002\u27ce\u27cf\u0007Q\u0002\u0002\u27cf\u27d0\u0007", + "P\u0002\u0002\u27d0\u27d1\u0007U\u0002\u0002\u27d1\u0460\u0003\u0002", + "\u0002\u0002\u27d2\u27d3\u0007I\u0002\u0002\u27d3\u27d4\u0007C\u0002", + "\u0002\u27d4\u27d5\u0007V\u0002\u0002\u27d5\u27d6\u0007J\u0002\u0002", + "\u27d6\u27d7\u0007G\u0002\u0002\u27d7\u27d8\u0007T\u0002\u0002\u27d8", + "\u27d9\u0007a\u0002\u0002\u27d9\u27da\u0007Q\u0002\u0002\u27da\u27db", + "\u0007R\u0002\u0002\u27db\u27dc\u0007V\u0002\u0002\u27dc\u27dd\u0007", + "K\u0002\u0002\u27dd\u27de\u0007O\u0002\u0002\u27de\u27df\u0007K\u0002", + "\u0002\u27df\u27e0\u0007\\\u0002\u0002\u27e0\u27e1\u0007G\u0002\u0002", + "\u27e1\u27e2\u0007T\u0002\u0002\u27e2\u27e3\u0007a\u0002\u0002\u27e3", + "\u27e4\u0007U\u0002\u0002\u27e4\u27e5\u0007V\u0002\u0002\u27e5\u27e6", + "\u0007C\u0002\u0002\u27e6\u27e7\u0007V\u0002\u0002\u27e7\u27e8\u0007", + "K\u0002\u0002\u27e8\u27e9\u0007U\u0002\u0002\u27e9\u27ea\u0007V\u0002", + "\u0002\u27ea\u27eb\u0007K\u0002\u0002\u27eb\u27ec\u0007E\u0002\u0002", + "\u27ec\u27ed\u0007U\u0002\u0002\u27ed\u0462\u0003\u0002\u0002\u0002", + "\u27ee\u27ef\u0007I\u0002\u0002\u27ef\u27f0\u0007C\u0002\u0002\u27f0", + "\u27f1\u0007V\u0002\u0002\u27f1\u27f2\u0007J\u0002\u0002\u27f2\u27f3", + "\u0007G\u0002\u0002\u27f3\u27f4\u0007T\u0002\u0002\u27f4\u27f5\u0007", + "a\u0002\u0002\u27f5\u27f6\u0007R\u0002\u0002\u27f6\u27f7\u0007N\u0002", + "\u0002\u27f7\u27f8\u0007C\u0002\u0002\u27f8\u27f9\u0007P\u0002\u0002", + "\u27f9\u27fa\u0007a\u0002\u0002\u27fa\u27fb\u0007U\u0002\u0002\u27fb", + "\u27fc\u0007V\u0002\u0002\u27fc\u27fd\u0007C\u0002\u0002\u27fd\u27fe", + "\u0007V\u0002\u0002\u27fe\u27ff\u0007K\u0002\u0002\u27ff\u2800\u0007", + "U\u0002\u0002\u2800\u2801\u0007V\u0002\u0002\u2801\u2802\u0007K\u0002", + "\u0002\u2802\u2803\u0007E\u0002\u0002\u2803\u2804\u0007U\u0002\u0002", + "\u2804\u0464\u0003\u0002\u0002\u0002\u2805\u2806\u0007I\u0002\u0002", + "\u2806\u2807\u0007D\u0002\u0002\u2807\u2808\u0007[\u0002\u0002\u2808", + "\u2809\u0007a\u0002\u0002\u2809\u280a\u0007E\u0002\u0002\u280a\u280b", + "\u0007Q\u0002\u0002\u280b\u280c\u0007P\u0002\u0002\u280c\u280d\u0007", + "E\u0002\u0002\u280d\u280e\u0007a\u0002\u0002\u280e\u280f\u0007T\u0002", + "\u0002\u280f\u2810\u0007Q\u0002\u0002\u2810\u2811\u0007N\u0002\u0002", + "\u2811\u2812\u0007N\u0002\u0002\u2812\u2813\u0007W\u0002\u0002\u2813", + "\u2814\u0007R\u0002\u0002\u2814\u0466\u0003\u0002\u0002\u0002\u2815", + "\u2816\u0007I\u0002\u0002\u2816\u2817\u0007D\u0002\u0002\u2817\u2818", + "\u0007[\u0002\u0002\u2818\u2819\u0007a\u0002\u0002\u2819\u281a\u0007", + "R\u0002\u0002\u281a\u281b\u0007W\u0002\u0002\u281b\u281c\u0007U\u0002", + "\u0002\u281c\u281d\u0007J\u0002\u0002\u281d\u281e\u0007F\u0002\u0002", + "\u281e\u281f\u0007Q\u0002\u0002\u281f\u2820\u0007Y\u0002\u0002\u2820", + "\u2821\u0007P\u0002\u0002\u2821\u0468\u0003\u0002\u0002\u0002\u2822", + "\u2823\u0007I\u0002\u0002\u2823\u2824\u0007G\u0002\u0002\u2824\u2825", + "\u0007P\u0002\u0002\u2825\u2826\u0007G\u0002\u0002\u2826\u2827\u0007", + "T\u0002\u0002\u2827\u2828\u0007C\u0002\u0002\u2828\u2829\u0007V\u0002", + "\u0002\u2829\u282a\u0007G\u0002\u0002\u282a\u282b\u0007F\u0002\u0002", + "\u282b\u046a\u0003\u0002\u0002\u0002\u282c\u282d\u0007I\u0002\u0002", + "\u282d\u282e\u0007G\u0002\u0002\u282e\u282f\u0007V\u0002\u0002\u282f", + "\u046c\u0003\u0002\u0002\u0002\u2830\u2831\u0007I\u0002\u0002\u2831", + "\u2832\u0007N\u0002\u0002\u2832\u2833\u0007Q\u0002\u0002\u2833\u2834", + "\u0007D\u0002\u0002\u2834\u2835\u0007C\u0002\u0002\u2835\u2836\u0007", + "N\u0002\u0002\u2836\u046e\u0003\u0002\u0002\u0002\u2837\u2838\u0007", + "I\u0002\u0002\u2838\u2839\u0007N\u0002\u0002\u2839\u283a\u0007Q\u0002", + "\u0002\u283a\u283b\u0007D\u0002\u0002\u283b\u283c\u0007C\u0002\u0002", + "\u283c\u283d\u0007N\u0002\u0002\u283d\u283e\u0007N\u0002\u0002\u283e", + "\u283f\u0007[\u0002\u0002\u283f\u0470\u0003\u0002\u0002\u0002\u2840", + "\u2841\u0007I\u0002\u0002\u2841\u2842\u0007N\u0002\u0002\u2842\u2843", + "\u0007Q\u0002\u0002\u2843\u2844\u0007D\u0002\u0002\u2844\u2845\u0007", + "C\u0002\u0002\u2845\u2846\u0007N\u0002\u0002\u2846\u2847\u0007a\u0002", + "\u0002\u2847\u2848\u0007P\u0002\u0002\u2848\u2849\u0007C\u0002\u0002", + "\u2849\u284a\u0007O\u0002\u0002\u284a\u284b\u0007G\u0002\u0002\u284b", + "\u0472\u0003\u0002\u0002\u0002\u284c\u284d\u0007I\u0002\u0002\u284d", + "\u284e\u0007N\u0002\u0002\u284e\u284f\u0007Q\u0002\u0002\u284f\u2850", + "\u0007D\u0002\u0002\u2850\u2851\u0007C\u0002\u0002\u2851\u2852\u0007", + "N\u0002\u0002\u2852\u2853\u0007a\u0002\u0002\u2853\u2854\u0007V\u0002", + "\u0002\u2854\u2855\u0007Q\u0002\u0002\u2855\u2856\u0007R\u0002\u0002", + "\u2856\u2857\u0007K\u0002\u0002\u2857\u2858\u0007E\u0002\u0002\u2858", + "\u2859\u0007a\u0002\u0002\u2859\u285a\u0007G\u0002\u0002\u285a\u285b", + "\u0007P\u0002\u0002\u285b\u285c\u0007C\u0002\u0002\u285c\u285d\u0007", + "D\u0002\u0002\u285d\u285e\u0007N\u0002\u0002\u285e\u285f\u0007G\u0002", + "\u0002\u285f\u2860\u0007F\u0002\u0002\u2860\u0474\u0003\u0002\u0002", + "\u0002\u2861\u2862\u0007I\u0002\u0002\u2862\u2863\u0007Q\u0002\u0002", + "\u2863\u2864\u0007V\u0002\u0002\u2864\u2865\u0007Q\u0002\u0002\u2865", + "\u0476\u0003\u0002\u0002\u0002\u2866\u2867\u0007I\u0002\u0002\u2867", + "\u2868\u0007T\u0002\u0002\u2868\u2869\u0007C\u0002\u0002\u2869\u286a", + "\u0007P\u0002\u0002\u286a\u286b\u0007V\u0002\u0002\u286b\u0478\u0003", + "\u0002\u0002\u0002\u286c\u286d\u0007I\u0002\u0002\u286d\u286e\u0007", + "T\u0002\u0002\u286e\u286f\u0007Q\u0002\u0002\u286f\u2870\u0007W\u0002", + "\u0002\u2870\u2871\u0007R\u0002\u0002\u2871\u2872\u0007a\u0002\u0002", + "\u2872\u2873\u0007D\u0002\u0002\u2873\u2874\u0007[\u0002\u0002\u2874", + "\u047a\u0003\u0002\u0002\u0002\u2875\u2876\u0007I\u0002\u0002\u2876", + "\u2877\u0007T\u0002\u0002\u2877\u2878\u0007Q\u0002\u0002\u2878\u2879", + "\u0007W\u0002\u0002\u2879\u287a\u0007R\u0002\u0002\u287a\u047c\u0003", + "\u0002\u0002\u0002\u287b\u287c\u0007I\u0002\u0002\u287c\u287d\u0007", + "T\u0002\u0002\u287d\u287e\u0007Q\u0002\u0002\u287e\u287f\u0007W\u0002", + "\u0002\u287f\u2880\u0007R\u0002\u0002\u2880\u2881\u0007a\u0002\u0002", + "\u2881\u2882\u0007K\u0002\u0002\u2882\u2883\u0007F\u0002\u0002\u2883", + "\u047e\u0003\u0002\u0002\u0002\u2884\u2885\u0007I\u0002\u0002\u2885", + "\u2886\u0007T\u0002\u0002\u2886\u2887\u0007Q\u0002\u0002\u2887\u2888", + "\u0007W\u0002\u0002\u2888\u2889\u0007R\u0002\u0002\u2889\u288a\u0007", + "K\u0002\u0002\u288a\u288b\u0007P\u0002\u0002\u288b\u288c\u0007I\u0002", + "\u0002\u288c\u0480\u0003\u0002\u0002\u0002\u288d\u288e\u0007I\u0002", + "\u0002\u288e\u288f\u0007T\u0002\u0002\u288f\u2890\u0007Q\u0002\u0002", + "\u2890\u2891\u0007W\u0002\u0002\u2891\u2892\u0007R\u0002\u0002\u2892", + "\u2893\u0007K\u0002\u0002\u2893\u2894\u0007P\u0002\u0002\u2894\u2895", + "\u0007I\u0002\u0002\u2895\u2896\u0007a\u0002\u0002\u2896\u2897\u0007", + "K\u0002\u0002\u2897\u2898\u0007F\u0002\u0002\u2898\u0482\u0003\u0002", + "\u0002\u0002\u2899\u289a\u0007I\u0002\u0002\u289a\u289b\u0007T\u0002", + "\u0002\u289b\u289c\u0007Q\u0002\u0002\u289c\u289d\u0007W\u0002\u0002", + "\u289d\u289e\u0007R\u0002\u0002\u289e\u289f\u0007U\u0002\u0002\u289f", + "\u0484\u0003\u0002\u0002\u0002\u28a0\u28a1\u0007I\u0002\u0002\u28a1", + "\u28a2\u0007W\u0002\u0002\u28a2\u28a3\u0007C\u0002\u0002\u28a3\u28a4", + "\u0007T\u0002\u0002\u28a4\u28a5\u0007C\u0002\u0002\u28a5\u28a6\u0007", + "P\u0002\u0002\u28a6\u28a7\u0007V\u0002\u0002\u28a7\u28a8\u0007G\u0002", + "\u0002\u28a8\u28a9\u0007G\u0002\u0002\u28a9\u28aa\u0007F\u0002\u0002", + "\u28aa\u0486\u0003\u0002\u0002\u0002\u28ab\u28ac\u0007I\u0002\u0002", + "\u28ac\u28ad\u0007W\u0002\u0002\u28ad\u28ae\u0007C\u0002\u0002\u28ae", + "\u28af\u0007T\u0002\u0002\u28af\u28b0\u0007C\u0002\u0002\u28b0\u28b1", + "\u0007P\u0002\u0002\u28b1\u28b2\u0007V\u0002\u0002\u28b2\u28b3\u0007", + "G\u0002\u0002\u28b3\u28b4\u0007G\u0002\u0002\u28b4\u0488\u0003\u0002", + "\u0002\u0002\u28b5\u28b6\u0007I\u0002\u0002\u28b6\u28b7\u0007W\u0002", + "\u0002\u28b7\u28b8\u0007C\u0002\u0002\u28b8\u28b9\u0007T\u0002\u0002", + "\u28b9\u28ba\u0007F\u0002\u0002\u28ba\u048a\u0003\u0002\u0002\u0002", + "\u28bb\u28bc\u0007J\u0002\u0002\u28bc\u28bd\u0007C\u0002\u0002\u28bd", + "\u28be\u0007U\u0002\u0002\u28be\u28bf\u0007J\u0002\u0002\u28bf\u28c0", + "\u0007a\u0002\u0002\u28c0\u28c1\u0007C\u0002\u0002\u28c1\u28c2\u0007", + "L\u0002\u0002\u28c2\u048c\u0003\u0002\u0002\u0002\u28c3\u28c4\u0007", + "J\u0002\u0002\u28c4\u28c5\u0007C\u0002\u0002\u28c5\u28c6\u0007U\u0002", + "\u0002\u28c6\u28c7\u0007J\u0002\u0002\u28c7\u048e\u0003\u0002\u0002", + "\u0002\u28c8\u28c9\u0007J\u0002\u0002\u28c9\u28ca\u0007C\u0002\u0002", + "\u28ca\u28cb\u0007U\u0002\u0002\u28cb\u28cc\u0007J\u0002\u0002\u28cc", + "\u28cd\u0007M\u0002\u0002\u28cd\u28ce\u0007G\u0002\u0002\u28ce\u28cf", + "\u0007[\u0002\u0002\u28cf\u28d0\u0007U\u0002\u0002\u28d0\u0490\u0003", + "\u0002\u0002\u0002\u28d1\u28d2\u0007J\u0002\u0002\u28d2\u28d3\u0007", + "C\u0002\u0002\u28d3\u28d4\u0007U\u0002\u0002\u28d4\u28d5\u0007J\u0002", + "\u0002\u28d5\u28d6\u0007a\u0002\u0002\u28d6\u28d7\u0007U\u0002\u0002", + "\u28d7\u28d8\u0007L\u0002\u0002\u28d8\u0492\u0003\u0002\u0002\u0002", + "\u28d9\u28da\u0007J\u0002\u0002\u28da\u28db\u0007C\u0002\u0002\u28db", + "\u28dc\u0007X\u0002\u0002\u28dc\u28dd\u0007K\u0002\u0002\u28dd\u28de", + "\u0007P\u0002\u0002\u28de\u28df\u0007I\u0002\u0002\u28df\u0494\u0003", + "\u0002\u0002\u0002\u28e0\u28e1\u0007J\u0002\u0002\u28e1\u28e2\u0007", + "G\u0002\u0002\u28e2\u28e3\u0007C\u0002\u0002\u28e3\u28e4\u0007F\u0002", + "\u0002\u28e4\u28e5\u0007G\u0002\u0002\u28e5\u28e6\u0007T\u0002\u0002", + "\u28e6\u0496\u0003\u0002\u0002\u0002\u28e7\u28e8\u0007J\u0002\u0002", + "\u28e8\u28e9\u0007G\u0002\u0002\u28e9\u28ea\u0007C\u0002\u0002\u28ea", + "\u28eb\u0007R\u0002\u0002\u28eb\u0498\u0003\u0002\u0002\u0002\u28ec", + "\u28ed\u0007J\u0002\u0002\u28ed\u28ee\u0007G\u0002\u0002\u28ee\u28ef", + "\u0007N\u0002\u0002\u28ef\u28f0\u0007R\u0002\u0002\u28f0\u049a\u0003", + "\u0002\u0002\u0002\u28f1\u28f2\u0007J\u0002\u0002\u28f2\u28f3\u0007", + "G\u0002\u0002\u28f3\u28f4\u0007Z\u0002\u0002\u28f4\u28f5\u0007V\u0002", + "\u0002\u28f5\u28f6\u0007Q\u0002\u0002\u28f6\u28f7\u0007T\u0002\u0002", + "\u28f7\u28f8\u0007C\u0002\u0002\u28f8\u28f9\u0007Y\u0002\u0002\u28f9", + "\u049c\u0003\u0002\u0002\u0002\u28fa\u28fb\u0007J\u0002\u0002\u28fb", + "\u28fc\u0007G\u0002\u0002\u28fc\u28fd\u0007Z\u0002\u0002\u28fd\u28fe", + "\u0007V\u0002\u0002\u28fe\u28ff\u0007Q\u0002\u0002\u28ff\u2900\u0007", + "T\u0002\u0002\u2900\u2901\u0007G\u0002\u0002\u2901\u2902\u0007H\u0002", + "\u0002\u2902\u049e\u0003\u0002\u0002\u0002\u2903\u2904\u0007J\u0002", + "\u0002\u2904\u2905\u0007K\u0002\u0002\u2905\u2906\u0007F\u0002\u0002", + "\u2906\u2907\u0007F\u0002\u0002\u2907\u2908\u0007G\u0002\u0002\u2908", + "\u2909\u0007P\u0002\u0002\u2909\u04a0\u0003\u0002\u0002\u0002\u290a", + "\u290b\u0007J\u0002\u0002\u290b\u290c\u0007K\u0002\u0002\u290c\u290d", + "\u0007F\u0002\u0002\u290d\u290e\u0007G\u0002\u0002\u290e\u04a2\u0003", + "\u0002\u0002\u0002\u290f\u2910\u0007J\u0002\u0002\u2910\u2911\u0007", + "K\u0002\u0002\u2911\u2912\u0007G\u0002\u0002\u2912\u2913\u0007T\u0002", + "\u0002\u2913\u2914\u0007C\u0002\u0002\u2914\u2915\u0007T\u0002\u0002", + "\u2915\u2916\u0007E\u0002\u0002\u2916\u2917\u0007J\u0002\u0002\u2917", + "\u2918\u0007[\u0002\u0002\u2918\u04a4\u0003\u0002\u0002\u0002\u2919", + "\u291a\u0007J\u0002\u0002\u291a\u291b\u0007K\u0002\u0002\u291b\u291c", + "\u0007I\u0002\u0002\u291c\u291d\u0007J\u0002\u0002\u291d\u04a6\u0003", + "\u0002\u0002\u0002\u291e\u291f\u0007J\u0002\u0002\u291f\u2920\u0007", + "K\u0002\u0002\u2920\u2921\u0007P\u0002\u0002\u2921\u2922\u0007V\u0002", + "\u0002\u2922\u2923\u0007U\u0002\u0002\u2923\u2924\u0007G\u0002\u0002", + "\u2924\u2925\u0007V\u0002\u0002\u2925\u2926\u0007a\u0002\u0002\u2926", + "\u2927\u0007D\u0002\u0002\u2927\u2928\u0007G\u0002\u0002\u2928\u2929", + "\u0007I\u0002\u0002\u2929\u292a\u0007K\u0002\u0002\u292a\u292b\u0007", + "P\u0002\u0002\u292b\u04a8\u0003\u0002\u0002\u0002\u292c\u292d\u0007", + "J\u0002\u0002\u292d\u292e\u0007K\u0002\u0002\u292e\u292f\u0007P\u0002", + "\u0002\u292f\u2930\u0007V\u0002\u0002\u2930\u2931\u0007U\u0002\u0002", + "\u2931\u2932\u0007G\u0002\u0002\u2932\u2933\u0007V\u0002\u0002\u2933", + "\u2934\u0007a\u0002\u0002\u2934\u2935\u0007G\u0002\u0002\u2935\u2936", + "\u0007P\u0002\u0002\u2936\u2937\u0007F\u0002\u0002\u2937\u04aa\u0003", + "\u0002\u0002\u0002\u2938\u2939\u0007J\u0002\u0002\u2939\u293a\u0007", + "Q\u0002\u0002\u293a\u293b\u0007V\u0002\u0002\u293b\u04ac\u0003\u0002", + "\u0002\u0002\u293c\u293d\u0007J\u0002\u0002\u293d\u293e\u0007Q\u0002", + "\u0002\u293e\u293f\u0007W\u0002\u0002\u293f\u2940\u0007T\u0002\u0002", + "\u2940\u04ae\u0003\u0002\u0002\u0002\u2941\u2942\u0007J\u0002\u0002", + "\u2942\u2943\u0007Y\u0002\u0002\u2943\u2944\u0007O\u0002\u0002\u2944", + "\u2945\u0007a\u0002\u0002\u2945\u2946\u0007D\u0002\u0002\u2946\u2947", + "\u0007T\u0002\u0002\u2947\u2948\u0007Q\u0002\u0002\u2948\u2949\u0007", + "M\u0002\u0002\u2949\u294a\u0007G\u0002\u0002\u294a\u294b\u0007T\u0002", + "\u0002\u294b\u294c\u0007G\u0002\u0002\u294c\u294d\u0007F\u0002\u0002", + "\u294d\u04b0\u0003\u0002\u0002\u0002\u294e\u294f\u0007J\u0002\u0002", + "\u294f\u2950\u0007[\u0002\u0002\u2950\u2951\u0007D\u0002\u0002\u2951", + "\u2952\u0007T\u0002\u0002\u2952\u2953\u0007K\u0002\u0002\u2953\u2954", + "\u0007F\u0002\u0002\u2954\u04b2\u0003\u0002\u0002\u0002\u2955\u2956", + "\u0007K\u0002\u0002\u2956\u2957\u0007F\u0002\u0002\u2957\u2958\u0007", + "G\u0002\u0002\u2958\u2959\u0007P\u0002\u0002\u2959\u295a\u0007V\u0002", + "\u0002\u295a\u295b\u0007K\u0002\u0002\u295b\u295c\u0007H\u0002\u0002", + "\u295c\u295d\u0007K\u0002\u0002\u295d\u295e\u0007G\u0002\u0002\u295e", + "\u295f\u0007F\u0002\u0002\u295f\u04b4\u0003\u0002\u0002\u0002\u2960", + "\u2961\u0007K\u0002\u0002\u2961\u2962\u0007F\u0002\u0002\u2962\u2963", + "\u0007G\u0002\u0002\u2963\u2964\u0007P\u0002\u0002\u2964\u2965\u0007", + "V\u0002\u0002\u2965\u2966\u0007K\u0002\u0002\u2966\u2967\u0007H\u0002", + "\u0002\u2967\u2968\u0007K\u0002\u0002\u2968\u2969\u0007G\u0002\u0002", + "\u2969\u296a\u0007T\u0002\u0002\u296a\u04b6\u0003\u0002\u0002\u0002", + "\u296b\u296c\u0007K\u0002\u0002\u296c\u296d\u0007F\u0002\u0002\u296d", + "\u296e\u0007G\u0002\u0002\u296e\u296f\u0007P\u0002\u0002\u296f\u2970", + "\u0007V\u0002\u0002\u2970\u2971\u0007K\u0002\u0002\u2971\u2972\u0007", + "V\u0002\u0002\u2972\u2973\u0007[\u0002\u0002\u2973\u04b8\u0003\u0002", + "\u0002\u0002\u2974\u2975\u0007K\u0002\u0002\u2975\u2976\u0007F\u0002", + "\u0002\u2976\u2977\u0007I\u0002\u0002\u2977\u2978\u0007G\u0002\u0002", + "\u2978\u2979\u0007P\u0002\u0002\u2979\u297a\u0007G\u0002\u0002\u297a", + "\u297b\u0007T\u0002\u0002\u297b\u297c\u0007C\u0002\u0002\u297c\u297d", + "\u0007V\u0002\u0002\u297d\u297e\u0007Q\u0002\u0002\u297e\u297f\u0007", + "T\u0002\u0002\u297f\u2980\u0007U\u0002\u0002\u2980\u04ba\u0003\u0002", + "\u0002\u0002\u2981\u2982\u0007K\u0002\u0002\u2982\u2983\u0007F\u0002", + "\u0002\u2983\u04bc\u0003\u0002\u0002\u0002\u2984\u2985\u0007K\u0002", + "\u0002\u2985\u2986\u0007F\u0002\u0002\u2986\u2987\u0007N\u0002\u0002", + "\u2987\u2988\u0007G\u0002\u0002\u2988\u2989\u0007a\u0002\u0002\u2989", + "\u298a\u0007V\u0002\u0002\u298a\u298b\u0007K\u0002\u0002\u298b\u298c", + "\u0007O\u0002\u0002\u298c\u298d\u0007G\u0002\u0002\u298d\u04be\u0003", + "\u0002\u0002\u0002\u298e\u298f\u0007K\u0002\u0002\u298f\u2990\u0007", + "H\u0002\u0002\u2990\u04c0\u0003\u0002\u0002\u0002\u2991\u2992\u0007", + "K\u0002\u0002\u2992\u2993\u0007I\u0002\u0002\u2993\u2994\u0007P\u0002", + "\u0002\u2994\u2995\u0007Q\u0002\u0002\u2995\u2996\u0007T\u0002\u0002", + "\u2996\u2997\u0007G\u0002\u0002\u2997\u04c2\u0003\u0002\u0002\u0002", + "\u2998\u2999\u0007K\u0002\u0002\u2999\u299a\u0007I\u0002\u0002\u299a", + "\u299b\u0007P\u0002\u0002\u299b\u299c\u0007Q\u0002\u0002\u299c\u299d", + "\u0007T\u0002\u0002\u299d\u299e\u0007G\u0002\u0002\u299e\u299f\u0007", + "a\u0002\u0002\u299f\u29a0\u0007Q\u0002\u0002\u29a0\u29a1\u0007R\u0002", + "\u0002\u29a1\u29a2\u0007V\u0002\u0002\u29a2\u29a3\u0007K\u0002\u0002", + "\u29a3\u29a4\u0007O\u0002\u0002\u29a4\u29a5\u0007a\u0002\u0002\u29a5", + "\u29a6\u0007G\u0002\u0002\u29a6\u29a7\u0007O\u0002\u0002\u29a7\u29a8", + "\u0007D\u0002\u0002\u29a8\u29a9\u0007G\u0002\u0002\u29a9\u29aa\u0007", + "F\u0002\u0002\u29aa\u29ab\u0007F\u0002\u0002\u29ab\u29ac\u0007G\u0002", + "\u0002\u29ac\u29ad\u0007F\u0002\u0002\u29ad\u29ae\u0007a\u0002\u0002", + "\u29ae\u29af\u0007J\u0002\u0002\u29af\u29b0\u0007K\u0002\u0002\u29b0", + "\u29b1\u0007P\u0002\u0002\u29b1\u29b2\u0007V\u0002\u0002\u29b2\u29b3", + "\u0007U\u0002\u0002\u29b3\u04c4\u0003\u0002\u0002\u0002\u29b4\u29b5", + "\u0007K\u0002\u0002\u29b5\u29b6\u0007I\u0002\u0002\u29b6\u29b7\u0007", + "P\u0002\u0002\u29b7\u29b8\u0007Q\u0002\u0002\u29b8\u29b9\u0007T\u0002", + "\u0002\u29b9\u29ba\u0007G\u0002\u0002\u29ba\u29bb\u0007a\u0002\u0002", + "\u29bb\u29bc\u0007T\u0002\u0002\u29bc\u29bd\u0007Q\u0002\u0002\u29bd", + "\u29be\u0007Y\u0002\u0002\u29be\u29bf\u0007a\u0002\u0002\u29bf\u29c0", + "\u0007Q\u0002\u0002\u29c0\u29c1\u0007P\u0002\u0002\u29c1\u29c2\u0007", + "a\u0002\u0002\u29c2\u29c3\u0007F\u0002\u0002\u29c3\u29c4\u0007W\u0002", + "\u0002\u29c4\u29c5\u0007R\u0002\u0002\u29c5\u29c6\u0007M\u0002\u0002", + "\u29c6\u29c7\u0007G\u0002\u0002\u29c7\u29c8\u0007[\u0002\u0002\u29c8", + "\u29c9\u0007a\u0002\u0002\u29c9\u29ca\u0007K\u0002\u0002\u29ca\u29cb", + "\u0007P\u0002\u0002\u29cb\u29cc\u0007F\u0002\u0002\u29cc\u29cd\u0007", + "G\u0002\u0002\u29cd\u29ce\u0007Z\u0002\u0002\u29ce\u04c6\u0003\u0002", + "\u0002\u0002\u29cf\u29d0\u0007K\u0002\u0002\u29d0\u29d1\u0007I\u0002", + "\u0002\u29d1\u29d2\u0007P\u0002\u0002\u29d2\u29d3\u0007Q\u0002\u0002", + "\u29d3\u29d4\u0007T\u0002\u0002\u29d4\u29d5\u0007G\u0002\u0002\u29d5", + "\u29d6\u0007a\u0002\u0002\u29d6\u29d7\u0007Y\u0002\u0002\u29d7\u29d8", + "\u0007J\u0002\u0002\u29d8\u29d9\u0007G\u0002\u0002\u29d9\u29da\u0007", + "T\u0002\u0002\u29da\u29db\u0007G\u0002\u0002\u29db\u29dc\u0007a\u0002", + "\u0002\u29dc\u29dd\u0007E\u0002\u0002\u29dd\u29de\u0007N\u0002\u0002", + "\u29de\u29df\u0007C\u0002\u0002\u29df\u29e0\u0007W\u0002\u0002\u29e0", + "\u29e1\u0007U\u0002\u0002\u29e1\u29e2\u0007G\u0002\u0002\u29e2\u04c8", + "\u0003\u0002\u0002\u0002\u29e3\u29e4\u0007K\u0002\u0002\u29e4\u29e5", + "\u0007N\u0002\u0002\u29e5\u29e6\u0007O\u0002\u0002\u29e6\u04ca\u0003", + "\u0002\u0002\u0002\u29e7\u29e8\u0007K\u0002\u0002\u29e8\u29e9\u0007", + "O\u0002\u0002\u29e9\u29ea\u0007O\u0002\u0002\u29ea\u29eb\u0007G\u0002", + "\u0002\u29eb\u29ec\u0007F\u0002\u0002\u29ec\u29ed\u0007K\u0002\u0002", + "\u29ed\u29ee\u0007C\u0002\u0002\u29ee\u29ef\u0007V\u0002\u0002\u29ef", + "\u29f0\u0007G\u0002\u0002\u29f0\u04cc\u0003\u0002\u0002\u0002\u29f1", + "\u29f2\u0007K\u0002\u0002\u29f2\u29f3\u0007O\u0002\u0002\u29f3\u29f4", + "\u0007R\u0002\u0002\u29f4\u29f5\u0007C\u0002\u0002\u29f5\u29f6\u0007", + "E\u0002\u0002\u29f6\u29f7\u0007V\u0002\u0002\u29f7\u04ce\u0003\u0002", + "\u0002\u0002\u29f8\u29f9\u0007K\u0002\u0002\u29f9\u29fa\u0007O\u0002", + "\u0002\u29fa\u29fb\u0007R\u0002\u0002\u29fb\u29fc\u0007Q\u0002\u0002", + "\u29fc\u29fd\u0007T\u0002\u0002\u29fd\u29fe\u0007V\u0002\u0002\u29fe", + "\u04d0\u0003\u0002\u0002\u0002\u29ff\u2a00\u0007K\u0002\u0002\u2a00", + "\u2a01\u0007P\u0002\u0002\u2a01\u2a02\u0007C\u0002\u0002\u2a02\u2a03", + "\u0007E\u0002\u0002\u2a03\u2a04\u0007V\u0002\u0002\u2a04\u2a05\u0007", + "K\u0002\u0002\u2a05\u2a06\u0007X\u0002\u0002\u2a06\u2a07\u0007G\u0002", + "\u0002\u2a07\u04d2\u0003\u0002\u0002\u0002\u2a08\u2a09\u0007K\u0002", + "\u0002\u2a09\u2a0a\u0007P\u0002\u0002\u2a0a\u2a0b\u0007E\u0002\u0002", + "\u2a0b\u2a0c\u0007N\u0002\u0002\u2a0c\u2a0d\u0007W\u0002\u0002\u2a0d", + "\u2a0e\u0007F\u0002\u0002\u2a0e\u2a0f\u0007G\u0002\u0002\u2a0f\u04d4", + "\u0003\u0002\u0002\u0002\u2a10\u2a11\u0007K\u0002\u0002\u2a11\u2a12", + "\u0007P\u0002\u0002\u2a12\u2a13\u0007E\u0002\u0002\u2a13\u2a14\u0007", + "N\u0002\u0002\u2a14\u2a15\u0007W\u0002\u0002\u2a15\u2a16\u0007F\u0002", + "\u0002\u2a16\u2a17\u0007G\u0002\u0002\u2a17\u2a18\u0007a\u0002\u0002", + "\u2a18\u2a19\u0007X\u0002\u0002\u2a19\u2a1a\u0007G\u0002\u0002\u2a1a", + "\u2a1b\u0007T\u0002\u0002\u2a1b\u2a1c\u0007U\u0002\u0002\u2a1c\u2a1d", + "\u0007K\u0002\u0002\u2a1d\u2a1e\u0007Q\u0002\u0002\u2a1e\u2a1f\u0007", + "P\u0002\u0002\u2a1f\u04d6\u0003\u0002\u0002\u0002\u2a20\u2a21\u0007", + "K\u0002\u0002\u2a21\u2a22\u0007P\u0002\u0002\u2a22\u2a23\u0007E\u0002", + "\u0002\u2a23\u2a24\u0007N\u0002\u0002\u2a24\u2a25\u0007W\u0002\u0002", + "\u2a25\u2a26\u0007F\u0002\u0002\u2a26\u2a27\u0007K\u0002\u0002\u2a27", + "\u2a28\u0007P\u0002\u0002\u2a28\u2a29\u0007I\u0002\u0002\u2a29\u04d8", + "\u0003\u0002\u0002\u0002\u2a2a\u2a2b\u0007K\u0002\u0002\u2a2b\u2a2c", + "\u0007P\u0002\u0002\u2a2c\u2a2d\u0007E\u0002\u0002\u2a2d\u2a2e\u0007", + "T\u0002\u0002\u2a2e\u2a2f\u0007G\u0002\u0002\u2a2f\u2a30\u0007O\u0002", + "\u0002\u2a30\u2a31\u0007G\u0002\u0002\u2a31\u2a32\u0007P\u0002\u0002", + "\u2a32\u2a33\u0007V\u0002\u0002\u2a33\u2a34\u0007C\u0002\u0002\u2a34", + "\u2a35\u0007N\u0002\u0002\u2a35\u04da\u0003\u0002\u0002\u0002\u2a36", + "\u2a37\u0007K\u0002\u0002\u2a37\u2a38\u0007P\u0002\u0002\u2a38\u2a39", + "\u0007E\u0002\u0002\u2a39\u2a3a\u0007T\u0002\u0002\u2a3a\u2a3b\u0007", + "G\u0002\u0002\u2a3b\u2a3c\u0007O\u0002\u0002\u2a3c\u2a3d\u0007G\u0002", + "\u0002\u2a3d\u2a3e\u0007P\u0002\u0002\u2a3e\u2a3f\u0007V\u0002\u0002", + "\u2a3f\u04dc\u0003\u0002\u0002\u0002\u2a40\u2a41\u0007K\u0002\u0002", + "\u2a41\u2a42\u0007P\u0002\u0002\u2a42\u2a43\u0007E\u0002\u0002\u2a43", + "\u2a44\u0007T\u0002\u0002\u2a44\u04de\u0003\u0002\u0002\u0002\u2a45", + "\u2a46\u0007K\u0002\u0002\u2a46\u2a47\u0007P\u0002\u0002\u2a47\u2a48", + "\u0007F\u0002\u0002\u2a48\u2a49\u0007G\u0002\u0002\u2a49\u2a4a\u0007", + "P\u0002\u0002\u2a4a\u2a4b\u0007V\u0002\u0002\u2a4b\u04e0\u0003\u0002", + "\u0002\u0002\u2a4c\u2a4d\u0007K\u0002\u0002\u2a4d\u2a4e\u0007P\u0002", + "\u0002\u2a4e\u2a4f\u0007F\u0002\u0002\u2a4f\u2a50\u0007G\u0002\u0002", + "\u2a50\u2a51\u0007Z\u0002\u0002\u2a51\u2a52\u0007a\u0002\u0002\u2a52", + "\u2a53\u0007C\u0002\u0002\u2a53\u2a54\u0007U\u0002\u0002\u2a54\u2a55", + "\u0007E\u0002\u0002\u2a55\u04e2\u0003\u0002\u0002\u0002\u2a56\u2a57", + "\u0007K\u0002\u0002\u2a57\u2a58\u0007P\u0002\u0002\u2a58\u2a59\u0007", + "F\u0002\u0002\u2a59\u2a5a\u0007G\u0002\u0002\u2a5a\u2a5b\u0007Z\u0002", + "\u0002\u2a5b\u2a5c\u0007a\u0002\u0002\u2a5c\u2a5d\u0007E\u0002\u0002", + "\u2a5d\u2a5e\u0007Q\u0002\u0002\u2a5e\u2a5f\u0007O\u0002\u0002\u2a5f", + "\u2a60\u0007D\u0002\u0002\u2a60\u2a61\u0007K\u0002\u0002\u2a61\u2a62", + "\u0007P\u0002\u0002\u2a62\u2a63\u0007G\u0002\u0002\u2a63\u04e4\u0003", + "\u0002\u0002\u0002\u2a64\u2a65\u0007K\u0002\u0002\u2a65\u2a66\u0007", + "P\u0002\u0002\u2a66\u2a67\u0007F\u0002\u0002\u2a67\u2a68\u0007G\u0002", + "\u0002\u2a68\u2a69\u0007Z\u0002\u0002\u2a69\u2a6a\u0007a\u0002\u0002", + "\u2a6a\u2a6b\u0007F\u0002\u0002\u2a6b\u2a6c\u0007G\u0002\u0002\u2a6c", + "\u2a6d\u0007U\u0002\u0002\u2a6d\u2a6e\u0007E\u0002\u0002\u2a6e\u04e6", + "\u0003\u0002\u0002\u0002\u2a6f\u2a70\u0007K\u0002\u0002\u2a70\u2a71", + "\u0007P\u0002\u0002\u2a71\u2a72\u0007F\u0002\u0002\u2a72\u2a73\u0007", + "G\u0002\u0002\u2a73\u2a74\u0007Z\u0002\u0002\u2a74\u2a75\u0007G\u0002", + "\u0002\u2a75\u2a76\u0007F\u0002\u0002\u2a76\u04e8\u0003\u0002\u0002", + "\u0002\u2a77\u2a78\u0007K\u0002\u0002\u2a78\u2a79\u0007P\u0002\u0002", + "\u2a79\u2a7a\u0007F\u0002\u0002\u2a7a\u2a7b\u0007G\u0002\u0002\u2a7b", + "\u2a7c\u0007Z\u0002\u0002\u2a7c\u2a7d\u0007G\u0002\u0002\u2a7d\u2a7e", + "\u0007U\u0002\u0002\u2a7e\u04ea\u0003\u0002\u0002\u0002\u2a7f\u2a80", + "\u0007K\u0002\u0002\u2a80\u2a81\u0007P\u0002\u0002\u2a81\u2a82\u0007", + "F\u0002\u0002\u2a82\u2a83\u0007G\u0002\u0002\u2a83\u2a84\u0007Z\u0002", + "\u0002\u2a84\u2a85\u0007a\u0002\u0002\u2a85\u2a86\u0007H\u0002\u0002", + "\u2a86\u2a87\u0007H\u0002\u0002\u2a87\u2a88\u0007U\u0002\u0002\u2a88", + "\u04ec\u0003\u0002\u0002\u0002\u2a89\u2a8a\u0007K\u0002\u0002\u2a8a", + "\u2a8b\u0007P\u0002\u0002\u2a8b\u2a8c\u0007F\u0002\u0002\u2a8c\u2a8d", + "\u0007G\u0002\u0002\u2a8d\u2a8e\u0007Z\u0002\u0002\u2a8e\u2a8f\u0007", + "a\u0002\u0002\u2a8f\u2a90\u0007H\u0002\u0002\u2a90\u2a91\u0007K\u0002", + "\u0002\u2a91\u2a92\u0007N\u0002\u0002\u2a92\u2a93\u0007V\u0002\u0002", + "\u2a93\u2a94\u0007G\u0002\u0002\u2a94\u2a95\u0007T\u0002\u0002\u2a95", + "\u04ee\u0003\u0002\u0002\u0002\u2a96\u2a97\u0007K\u0002\u0002\u2a97", + "\u2a98\u0007P\u0002\u0002\u2a98\u2a99\u0007F\u0002\u0002\u2a99\u2a9a", + "\u0007G\u0002\u0002\u2a9a\u2a9b\u0007Z\u0002\u0002\u2a9b\u04f0\u0003", + "\u0002\u0002\u0002\u2a9c\u2a9d\u0007K\u0002\u0002\u2a9d\u2a9e\u0007", + "P\u0002\u0002\u2a9e\u2a9f\u0007F\u0002\u0002\u2a9f\u2aa0\u0007G\u0002", + "\u0002\u2aa0\u2aa1\u0007Z\u0002\u0002\u2aa1\u2aa2\u0007K\u0002\u0002", + "\u2aa2\u2aa3\u0007P\u0002\u0002\u2aa3\u2aa4\u0007I\u0002\u0002\u2aa4", + "\u04f2\u0003\u0002\u0002\u0002\u2aa5\u2aa6\u0007K\u0002\u0002\u2aa6", + "\u2aa7\u0007P\u0002\u0002\u2aa7\u2aa8\u0007F\u0002\u0002\u2aa8\u2aa9", + "\u0007G\u0002\u0002\u2aa9\u2aaa\u0007Z\u0002\u0002\u2aaa\u2aab\u0007", + "a\u0002\u0002\u2aab\u2aac\u0007L\u0002\u0002\u2aac\u2aad\u0007Q\u0002", + "\u0002\u2aad\u2aae\u0007K\u0002\u0002\u2aae\u2aaf\u0007P\u0002\u0002", + "\u2aaf\u04f4\u0003\u0002\u0002\u0002\u2ab0\u2ab1\u0007K\u0002\u0002", + "\u2ab1\u2ab2\u0007P\u0002\u0002\u2ab2\u2ab3\u0007F\u0002\u0002\u2ab3", + "\u2ab4\u0007G\u0002\u0002\u2ab4\u2ab5\u0007Z\u0002\u0002\u2ab5\u2ab6", + "\u0007a\u0002\u0002\u2ab6\u2ab7\u0007T\u0002\u0002\u2ab7\u2ab8\u0007", + "Q\u0002\u0002\u2ab8\u2ab9\u0007Y\u0002\u0002\u2ab9\u2aba\u0007U\u0002", + "\u0002\u2aba\u04f6\u0003\u0002\u0002\u0002\u2abb\u2abc\u0007K\u0002", + "\u0002\u2abc\u2abd\u0007P\u0002\u0002\u2abd\u2abe\u0007F\u0002\u0002", + "\u2abe\u2abf\u0007G\u0002\u0002\u2abf\u2ac0\u0007Z\u0002\u0002\u2ac0", + "\u2ac1\u0007a\u0002\u0002\u2ac1\u2ac2\u0007T\u0002\u0002\u2ac2\u2ac3", + "\u0007T\u0002\u0002\u2ac3\u2ac4\u0007U\u0002\u0002\u2ac4\u04f8\u0003", + "\u0002\u0002\u0002\u2ac5\u2ac6\u0007K\u0002\u0002\u2ac6\u2ac7\u0007", + "P\u0002\u0002\u2ac7\u2ac8\u0007F\u0002\u0002\u2ac8\u2ac9\u0007G\u0002", + "\u0002\u2ac9\u2aca\u0007Z\u0002\u0002\u2aca\u2acb\u0007a\u0002\u0002", + "\u2acb\u2acc\u0007T\u0002\u0002\u2acc\u2acd\u0007U\u0002\u0002\u2acd", + "\u2ace\u0007a\u0002\u0002\u2ace\u2acf\u0007C\u0002\u0002\u2acf\u2ad0", + "\u0007U\u0002\u0002\u2ad0\u2ad1\u0007E\u0002\u0002\u2ad1\u04fa\u0003", + "\u0002\u0002\u0002\u2ad2\u2ad3\u0007K\u0002\u0002\u2ad3\u2ad4\u0007", + "P\u0002\u0002\u2ad4\u2ad5\u0007F\u0002\u0002\u2ad5\u2ad6\u0007G\u0002", + "\u0002\u2ad6\u2ad7\u0007Z\u0002\u0002\u2ad7\u2ad8\u0007a\u0002\u0002", + "\u2ad8\u2ad9\u0007T\u0002\u0002\u2ad9\u2ada\u0007U\u0002\u0002\u2ada", + "\u2adb\u0007a\u0002\u0002\u2adb\u2adc\u0007F\u0002\u0002\u2adc\u2add", + "\u0007G\u0002\u0002\u2add\u2ade\u0007U\u0002\u0002\u2ade\u2adf\u0007", + "E\u0002\u0002\u2adf\u04fc\u0003\u0002\u0002\u0002\u2ae0\u2ae1\u0007", + "K\u0002\u0002\u2ae1\u2ae2\u0007P\u0002\u0002\u2ae2\u2ae3\u0007F\u0002", + "\u0002\u2ae3\u2ae4\u0007G\u0002\u0002\u2ae4\u2ae5\u0007Z\u0002\u0002", + "\u2ae5\u2ae6\u0007a\u0002\u0002\u2ae6\u2ae7\u0007T\u0002\u0002\u2ae7", + "\u2ae8\u0007U\u0002\u0002\u2ae8\u04fe\u0003\u0002\u0002\u0002\u2ae9", + "\u2aea\u0007K\u0002\u0002\u2aea\u2aeb\u0007P\u0002\u0002\u2aeb\u2aec", + "\u0007F\u0002\u0002\u2aec\u2aed\u0007G\u0002\u0002\u2aed\u2aee\u0007", + "Z\u0002\u0002\u2aee\u2aef\u0007a\u0002\u0002\u2aef\u2af0\u0007U\u0002", + "\u0002\u2af0\u2af1\u0007E\u0002\u0002\u2af1\u2af2\u0007C\u0002\u0002", + "\u2af2\u2af3\u0007P\u0002\u0002\u2af3\u0500\u0003\u0002\u0002\u0002", + "\u2af4\u2af5\u0007K\u0002\u0002\u2af5\u2af6\u0007P\u0002\u0002\u2af6", + "\u2af7\u0007F\u0002\u0002\u2af7\u2af8\u0007G\u0002\u0002\u2af8\u2af9", + "\u0007Z\u0002\u0002\u2af9\u2afa\u0007a\u0002\u0002\u2afa\u2afb\u0007", + "U\u0002\u0002\u2afb\u2afc\u0007M\u0002\u0002\u2afc\u2afd\u0007K\u0002", + "\u0002\u2afd\u2afe\u0007R\u0002\u0002\u2afe\u2aff\u0007a\u0002\u0002", + "\u2aff\u2b00\u0007U\u0002\u0002\u2b00\u2b01\u0007E\u0002\u0002\u2b01", + "\u2b02\u0007C\u0002\u0002\u2b02\u2b03\u0007P\u0002\u0002\u2b03\u0502", + "\u0003\u0002\u0002\u0002\u2b04\u2b05\u0007K\u0002\u0002\u2b05\u2b06", + "\u0007P\u0002\u0002\u2b06\u2b07\u0007F\u0002\u0002\u2b07\u2b08\u0007", + "G\u0002\u0002\u2b08\u2b09\u0007Z\u0002\u0002\u2b09\u2b0a\u0007a\u0002", + "\u0002\u2b0a\u2b0b\u0007U\u0002\u0002\u2b0b\u2b0c\u0007U\u0002\u0002", + "\u2b0c\u2b0d\u0007a\u0002\u0002\u2b0d\u2b0e\u0007C\u0002\u0002\u2b0e", + "\u2b0f\u0007U\u0002\u0002\u2b0f\u2b10\u0007E\u0002\u0002\u2b10\u0504", + "\u0003\u0002\u0002\u0002\u2b11\u2b12\u0007K\u0002\u0002\u2b12\u2b13", + "\u0007P\u0002\u0002\u2b13\u2b14\u0007F\u0002\u0002\u2b14\u2b15\u0007", + "G\u0002\u0002\u2b15\u2b16\u0007Z\u0002\u0002\u2b16\u2b17\u0007a\u0002", + "\u0002\u2b17\u2b18\u0007U\u0002\u0002\u2b18\u2b19\u0007U\u0002\u0002", + "\u2b19\u2b1a\u0007a\u0002\u0002\u2b1a\u2b1b\u0007F\u0002\u0002\u2b1b", + "\u2b1c\u0007G\u0002\u0002\u2b1c\u2b1d\u0007U\u0002\u0002\u2b1d\u2b1e", + "\u0007E\u0002\u0002\u2b1e\u0506\u0003\u0002\u0002\u0002\u2b1f\u2b20", + "\u0007K\u0002\u0002\u2b20\u2b21\u0007P\u0002\u0002\u2b21\u2b22\u0007", + "F\u0002\u0002\u2b22\u2b23\u0007G\u0002\u0002\u2b23\u2b24\u0007Z\u0002", + "\u0002\u2b24\u2b25\u0007a\u0002\u0002\u2b25\u2b26\u0007U\u0002\u0002", + "\u2b26\u2b27\u0007U\u0002\u0002\u2b27\u0508\u0003\u0002\u0002\u0002", + "\u2b28\u2b29\u0007K\u0002\u0002\u2b29\u2b2a\u0007P\u0002\u0002\u2b2a", + "\u2b2b\u0007F\u0002\u0002\u2b2b\u2b2c\u0007G\u0002\u0002\u2b2c\u2b2d", + "\u0007Z\u0002\u0002\u2b2d\u2b2e\u0007a\u0002\u0002\u2b2e\u2b2f\u0007", + "U\u0002\u0002\u2b2f\u2b30\u0007V\u0002\u0002\u2b30\u2b31\u0007C\u0002", + "\u0002\u2b31\u2b32\u0007V\u0002\u0002\u2b32\u2b33\u0007U\u0002\u0002", + "\u2b33\u050a\u0003\u0002\u0002\u0002\u2b34\u2b35\u0007K\u0002\u0002", + "\u2b35\u2b36\u0007P\u0002\u0002\u2b36\u2b37\u0007F\u0002\u0002\u2b37", + "\u2b38\u0007G\u0002\u0002\u2b38\u2b39\u0007Z\u0002\u0002\u2b39\u2b3a", + "\u0007V\u0002\u0002\u2b3a\u2b3b\u0007[\u0002\u0002\u2b3b\u2b3c\u0007", + "R\u0002\u0002\u2b3c\u2b3d\u0007G\u0002\u0002\u2b3d\u050c\u0003\u0002", + "\u0002\u0002\u2b3e\u2b3f\u0007K\u0002\u0002\u2b3f\u2b40\u0007P\u0002", + "\u0002\u2b40\u2b41\u0007F\u0002\u0002\u2b41\u2b42\u0007G\u0002\u0002", + "\u2b42\u2b43\u0007Z\u0002\u0002\u2b43\u2b44\u0007V\u0002\u0002\u2b44", + "\u2b45\u0007[\u0002\u0002\u2b45\u2b46\u0007R\u0002\u0002\u2b46\u2b47", + "\u0007G\u0002\u0002\u2b47\u2b48\u0007U\u0002\u0002\u2b48\u050e\u0003", + "\u0002\u0002\u0002\u2b49\u2b4a\u0007K\u0002\u0002\u2b4a\u2b4b\u0007", + "P\u0002\u0002\u2b4b\u2b4c\u0007F\u0002\u0002\u2b4c\u2b4d\u0007K\u0002", + "\u0002\u2b4d\u2b4e\u0007E\u0002\u0002\u2b4e\u2b4f\u0007C\u0002\u0002", + "\u2b4f\u2b50\u0007V\u0002\u0002\u2b50\u2b51\u0007Q\u0002\u0002\u2b51", + "\u2b52\u0007T\u0002\u0002\u2b52\u0510\u0003\u0002\u0002\u0002\u2b53", + "\u2b54\u0007K\u0002\u0002\u2b54\u2b55\u0007P\u0002\u0002\u2b55\u2b56", + "\u0007F\u0002\u0002\u2b56\u2b57\u0007K\u0002\u0002\u2b57\u2b58\u0007", + "E\u0002\u0002\u2b58\u2b59\u0007G\u0002\u0002\u2b59\u2b5a\u0007U\u0002", + "\u0002\u2b5a\u0512\u0003\u0002\u0002\u0002\u2b5b\u2b5c\u0007K\u0002", + "\u0002\u2b5c\u2b5d\u0007P\u0002\u0002\u2b5d\u2b5e\u0007H\u0002\u0002", + "\u2b5e\u2b5f\u0007K\u0002\u0002\u2b5f\u2b60\u0007P\u0002\u0002\u2b60", + "\u2b61\u0007K\u0002\u0002\u2b61\u2b62\u0007V\u0002\u0002\u2b62\u2b63", + "\u0007G\u0002\u0002\u2b63\u0514\u0003\u0002\u0002\u0002\u2b64\u2b65", + "\u0007K\u0002\u0002\u2b65\u2b66\u0007P\u0002\u0002\u2b66\u2b67\u0007", + "H\u0002\u0002\u2b67\u2b68\u0007Q\u0002\u0002\u2b68\u2b69\u0007T\u0002", + "\u0002\u2b69\u2b6a\u0007O\u0002\u0002\u2b6a\u2b6b\u0007C\u0002\u0002", + "\u2b6b\u2b6c\u0007V\u0002\u0002\u2b6c\u2b6d\u0007K\u0002\u0002\u2b6d", + "\u2b6e\u0007Q\u0002\u0002\u2b6e\u2b6f\u0007P\u0002\u0002\u2b6f\u2b70", + "\u0007C\u0002\u0002\u2b70\u2b71\u0007N\u0002\u0002\u2b71\u0516\u0003", + "\u0002\u0002\u0002\u2b72\u2b73\u0007K\u0002\u0002\u2b73\u2b74\u0007", + "P\u0002\u0002\u2b74\u2b75\u0007J\u0002\u0002\u2b75\u2b76\u0007G\u0002", + "\u0002\u2b76\u2b77\u0007T\u0002\u0002\u2b77\u2b78\u0007K\u0002\u0002", + "\u2b78\u2b79\u0007V\u0002\u0002\u2b79\u0518\u0003\u0002\u0002\u0002", + "\u2b7a\u2b7b\u0007K\u0002\u0002\u2b7b\u2b7c\u0007P\u0002\u0002\u2b7c", + "\u051a\u0003\u0002\u0002\u0002\u2b7d\u2b7e\u0007K\u0002\u0002\u2b7e", + "\u2b7f\u0007P\u0002\u0002\u2b7f\u2b80\u0007K\u0002\u0002\u2b80\u2b81", + "\u0007V\u0002\u0002\u2b81\u2b82\u0007E\u0002\u0002\u2b82\u2b83\u0007", + "C\u0002\u0002\u2b83\u2b84\u0007R\u0002\u0002\u2b84\u051c\u0003\u0002", + "\u0002\u0002\u2b85\u2b86\u0007K\u0002\u0002\u2b86\u2b87\u0007P\u0002", + "\u0002\u2b87\u2b88\u0007K\u0002\u0002\u2b88\u2b89\u0007V\u0002\u0002", + "\u2b89\u2b8a\u0007K\u0002\u0002\u2b8a\u2b8b\u0007C\u0002\u0002\u2b8b", + "\u2b8c\u0007N\u0002\u0002\u2b8c\u051e\u0003\u0002\u0002\u0002\u2b8d", + "\u2b8e\u0007K\u0002\u0002\u2b8e\u2b8f\u0007P\u0002\u0002\u2b8f\u2b90", + "\u0007K\u0002\u0002\u2b90\u2b91\u0007V\u0002\u0002\u2b91\u2b92\u0007", + "K\u0002\u0002\u2b92\u2b93\u0007C\u0002\u0002\u2b93\u2b94\u0007N\u0002", + "\u0002\u2b94\u2b95\u0007K\u0002\u0002\u2b95\u2b96\u0007\\\u0002\u0002", + "\u2b96\u2b97\u0007G\u0002\u0002\u2b97\u2b98\u0007F\u0002\u0002\u2b98", + "\u0520\u0003\u0002\u0002\u0002\u2b99\u2b9a\u0007K\u0002\u0002\u2b9a", + "\u2b9b\u0007P\u0002\u0002\u2b9b\u2b9c\u0007K\u0002\u0002\u2b9c\u2b9d", + "\u0007V\u0002\u0002\u2b9d\u2b9e\u0007K\u0002\u0002\u2b9e\u2b9f\u0007", + "C\u0002\u0002\u2b9f\u2ba0\u0007N\u0002\u0002\u2ba0\u2ba1\u0007N\u0002", + "\u0002\u2ba1\u2ba2\u0007[\u0002\u0002\u2ba2\u0522\u0003\u0002\u0002", + "\u0002\u2ba3\u2ba4\u0007K\u0002\u0002\u2ba4\u2ba5\u0007P\u0002\u0002", + "\u2ba5\u2ba6\u0007K\u0002\u0002\u2ba6\u2ba7\u0007V\u0002\u0002\u2ba7", + "\u2ba8\u0007T\u0002\u0002\u2ba8\u2ba9\u0007C\u0002\u0002\u2ba9\u2baa", + "\u0007P\u0002\u0002\u2baa\u2bab\u0007U\u0002\u0002\u2bab\u0524\u0003", + "\u0002\u0002\u0002\u2bac\u2bad\u0007K\u0002\u0002\u2bad\u2bae\u0007", + "P\u0002\u0002\u2bae\u2baf\u0007N\u0002\u0002\u2baf\u2bb0\u0007K\u0002", + "\u0002\u2bb0\u2bb1\u0007P\u0002\u0002\u2bb1\u2bb2\u0007G\u0002\u0002", + "\u2bb2\u0526\u0003\u0002\u0002\u0002\u2bb3\u2bb4\u0007K\u0002\u0002", + "\u2bb4\u2bb5\u0007P\u0002\u0002\u2bb5\u2bb6\u0007N\u0002\u0002\u2bb6", + "\u2bb7\u0007K\u0002\u0002\u2bb7\u2bb8\u0007P\u0002\u0002\u2bb8\u2bb9", + "\u0007G\u0002\u0002\u2bb9\u2bba\u0007a\u0002\u0002\u2bba\u2bbb\u0007", + "Z\u0002\u0002\u2bbb\u2bbc\u0007O\u0002\u0002\u2bbc\u2bbd\u0007N\u0002", + "\u0002\u2bbd\u2bbe\u0007V\u0002\u0002\u2bbe\u2bbf\u0007[\u0002\u0002", + "\u2bbf\u2bc0\u0007R\u0002\u0002\u2bc0\u2bc1\u0007G\u0002\u0002\u2bc1", + "\u2bc2\u0007a\u0002\u0002\u2bc2\u2bc3\u0007P\u0002\u0002\u2bc3\u2bc4", + "\u0007V\u0002\u0002\u2bc4\u0528\u0003\u0002\u0002\u0002\u2bc5\u2bc6", + "\u0007K\u0002\u0002\u2bc6\u2bc7\u0007P\u0002\u0002\u2bc7\u2bc8\u0007", + "O\u0002\u0002\u2bc8\u2bc9\u0007G\u0002\u0002\u2bc9\u2bca\u0007O\u0002", + "\u0002\u2bca\u2bcb\u0007Q\u0002\u0002\u2bcb\u2bcc\u0007T\u0002\u0002", + "\u2bcc\u2bcd\u0007[\u0002\u0002\u2bcd\u052a\u0003\u0002\u0002\u0002", + "\u2bce\u2bcf\u0007K\u0002\u0002\u2bcf\u2bd0\u0007P\u0002\u0002\u2bd0", + "\u2bd1\u0007a\u0002\u0002\u2bd1\u2bd2\u0007O\u0002\u0002\u2bd2\u2bd3", + "\u0007G\u0002\u0002\u2bd3\u2bd4\u0007O\u0002\u0002\u2bd4\u2bd5\u0007", + "Q\u0002\u0002\u2bd5\u2bd6\u0007T\u0002\u0002\u2bd6\u2bd7\u0007[\u0002", + "\u0002\u2bd7\u2bd8\u0007a\u0002\u0002\u2bd8\u2bd9\u0007O\u0002\u0002", + "\u2bd9\u2bda\u0007G\u0002\u0002\u2bda\u2bdb\u0007V\u0002\u0002\u2bdb", + "\u2bdc\u0007C\u0002\u0002\u2bdc\u2bdd\u0007F\u0002\u0002\u2bdd\u2bde", + "\u0007C\u0002\u0002\u2bde\u2bdf\u0007V\u0002\u0002\u2bdf\u2be0\u0007", + "C\u0002\u0002\u2be0\u052c\u0003\u0002\u0002\u0002\u2be1\u2be2\u0007", + "K\u0002\u0002\u2be2\u2be3\u0007P\u0002\u0002\u2be3\u2be4\u0007O\u0002", + "\u0002\u2be4\u2be5\u0007G\u0002\u0002\u2be5\u2be6\u0007O\u0002\u0002", + "\u2be6\u2be7\u0007Q\u0002\u0002\u2be7\u2be8\u0007T\u0002\u0002\u2be8", + "\u2be9\u0007[\u0002\u0002\u2be9\u2bea\u0007a\u0002\u0002\u2bea\u2beb", + "\u0007R\u0002\u0002\u2beb\u2bec\u0007T\u0002\u0002\u2bec\u2bed\u0007", + "W\u0002\u0002\u2bed\u2bee\u0007P\u0002\u0002\u2bee\u2bef\u0007K\u0002", + "\u0002\u2bef\u2bf0\u0007P\u0002\u0002\u2bf0\u2bf1\u0007I\u0002\u0002", + "\u2bf1\u052e\u0003\u0002\u0002\u0002\u2bf2\u2bf3\u0007K\u0002\u0002", + "\u2bf3\u2bf4\u0007P\u0002\u0002\u2bf4\u2bf5\u0007P\u0002\u0002\u2bf5", + "\u2bf6\u0007G\u0002\u0002\u2bf6\u2bf7\u0007T\u0002\u0002\u2bf7\u0530", + "\u0003\u0002\u0002\u0002\u2bf8\u2bf9\u0007K\u0002\u0002\u2bf9\u2bfa", + "\u0007P\u0002\u0002\u2bfa\u2bfb\u0007Q\u0002\u0002\u2bfb\u2bfc\u0007", + "W\u0002\u0002\u2bfc\u2bfd\u0007V\u0002\u0002\u2bfd\u0532\u0003\u0002", + "\u0002\u0002\u2bfe\u2bff\u0007K\u0002\u0002\u2bff\u2c00\u0007P\u0002", + "\u0002\u2c00\u2c01\u0007R\u0002\u0002\u2c01\u2c02\u0007N\u0002\u0002", + "\u2c02\u2c03\u0007C\u0002\u0002\u2c03\u2c04\u0007E\u0002\u0002\u2c04", + "\u2c05\u0007G\u0002\u0002\u2c05\u0534\u0003\u0002\u0002\u0002\u2c06", + "\u2c07\u0007K\u0002\u0002\u2c07\u2c08\u0007P\u0002\u0002\u2c08\u2c09", + "\u0007U\u0002\u0002\u2c09\u2c0a\u0007G\u0002\u0002\u2c0a\u2c0b\u0007", + "T\u0002\u0002\u2c0b\u2c0c\u0007V\u0002\u0002\u2c0c\u2c0d\u0007E\u0002", + "\u0002\u2c0d\u2c0e\u0007J\u0002\u0002\u2c0e\u2c0f\u0007K\u0002\u0002", + "\u2c0f\u2c10\u0007N\u0002\u0002\u2c10\u2c11\u0007F\u0002\u0002\u2c11", + "\u2c12\u0007Z\u0002\u0002\u2c12\u2c13\u0007O\u0002\u0002\u2c13\u2c14", + "\u0007N\u0002\u0002\u2c14\u2c15\u0007C\u0002\u0002\u2c15\u2c16\u0007", + "H\u0002\u0002\u2c16\u2c17\u0007V\u0002\u0002\u2c17\u2c18\u0007G\u0002", + "\u0002\u2c18\u2c19\u0007T\u0002\u0002\u2c19\u0536\u0003\u0002\u0002", + "\u0002\u2c1a\u2c1b\u0007K\u0002\u0002\u2c1b\u2c1c\u0007P\u0002\u0002", + "\u2c1c\u2c1d\u0007U\u0002\u0002\u2c1d\u2c1e\u0007G\u0002\u0002\u2c1e", + "\u2c1f\u0007T\u0002\u0002\u2c1f\u2c20\u0007V\u0002\u0002\u2c20\u2c21", + "\u0007E\u0002\u0002\u2c21\u2c22\u0007J\u0002\u0002\u2c22\u2c23\u0007", + "K\u0002\u0002\u2c23\u2c24\u0007N\u0002\u0002\u2c24\u2c25\u0007F\u0002", + "\u0002\u2c25\u2c26\u0007Z\u0002\u0002\u2c26\u2c27\u0007O\u0002\u0002", + "\u2c27\u2c28\u0007N\u0002\u0002\u2c28\u2c29\u0007D\u0002\u0002\u2c29", + "\u2c2a\u0007G\u0002\u0002\u2c2a\u2c2b\u0007H\u0002\u0002\u2c2b\u2c2c", + "\u0007Q\u0002\u0002\u2c2c\u2c2d\u0007T\u0002\u0002\u2c2d\u2c2e\u0007", + "G\u0002\u0002\u2c2e\u0538\u0003\u0002\u0002\u0002\u2c2f\u2c30\u0007", + "K\u0002\u0002\u2c30\u2c31\u0007P\u0002\u0002\u2c31\u2c32\u0007U\u0002", + "\u0002\u2c32\u2c33\u0007G\u0002\u0002\u2c33\u2c34\u0007T\u0002\u0002", + "\u2c34\u2c35\u0007V\u0002\u0002\u2c35\u2c36\u0007E\u0002\u0002\u2c36", + "\u2c37\u0007J\u0002\u0002\u2c37\u2c38\u0007K\u0002\u0002\u2c38\u2c39", + "\u0007N\u0002\u0002\u2c39\u2c3a\u0007F\u0002\u0002\u2c3a\u2c3b\u0007", + "Z\u0002\u0002\u2c3b\u2c3c\u0007O\u0002\u0002\u2c3c\u2c3d\u0007N\u0002", + "\u0002\u2c3d\u053a\u0003\u0002\u0002\u0002\u2c3e\u2c3f\u0007K\u0002", + "\u0002\u2c3f\u2c40\u0007P\u0002\u0002\u2c40\u2c41\u0007U\u0002\u0002", + "\u2c41\u2c42\u0007G\u0002\u0002\u2c42\u2c43\u0007T\u0002\u0002\u2c43", + "\u2c44\u0007V\u0002\u0002\u2c44\u053c\u0003\u0002\u0002\u0002\u2c45", + "\u2c46\u0007K\u0002\u0002\u2c46\u2c47\u0007P\u0002\u0002\u2c47\u2c48", + "\u0007U\u0002\u0002\u2c48\u2c49\u0007G\u0002\u0002\u2c49\u2c4a\u0007", + "T\u0002\u0002\u2c4a\u2c4b\u0007V\u0002\u0002\u2c4b\u2c4c\u0007Z\u0002", + "\u0002\u2c4c\u2c4d\u0007O\u0002\u0002\u2c4d\u2c4e\u0007N\u0002\u0002", + "\u2c4e\u2c4f\u0007C\u0002\u0002\u2c4f\u2c50\u0007H\u0002\u0002\u2c50", + "\u2c51\u0007V\u0002\u0002\u2c51\u2c52\u0007G\u0002\u0002\u2c52\u2c53", + "\u0007T\u0002\u0002\u2c53\u053e\u0003\u0002\u0002\u0002\u2c54\u2c55", + "\u0007K\u0002\u0002\u2c55\u2c56\u0007P\u0002\u0002\u2c56\u2c57\u0007", + "U\u0002\u0002\u2c57\u2c58\u0007G\u0002\u0002\u2c58\u2c59\u0007T\u0002", + "\u0002\u2c59\u2c5a\u0007V\u0002\u0002\u2c5a\u2c5b\u0007Z\u0002\u0002", + "\u2c5b\u2c5c\u0007O\u0002\u0002\u2c5c\u2c5d\u0007N\u0002\u0002\u2c5d", + "\u2c5e\u0007D\u0002\u0002\u2c5e\u2c5f\u0007G\u0002\u0002\u2c5f\u2c60", + "\u0007H\u0002\u0002\u2c60\u2c61\u0007Q\u0002\u0002\u2c61\u2c62\u0007", + "T\u0002\u0002\u2c62\u2c63\u0007G\u0002\u0002\u2c63\u0540\u0003\u0002", + "\u0002\u0002\u2c64\u2c65\u0007K\u0002\u0002\u2c65\u2c66\u0007P\u0002", + "\u0002\u2c66\u2c67\u0007U\u0002\u0002\u2c67\u2c68\u0007V\u0002\u0002", + "\u2c68\u2c69\u0007C\u0002\u0002\u2c69\u2c6a\u0007P\u0002\u0002\u2c6a", + "\u2c6b\u0007E\u0002\u0002\u2c6b\u2c6c\u0007G\u0002\u0002\u2c6c\u0542", + "\u0003\u0002\u0002\u0002\u2c6d\u2c6e\u0007K\u0002\u0002\u2c6e\u2c6f", + "\u0007P\u0002\u0002\u2c6f\u2c70\u0007U\u0002\u0002\u2c70\u2c71\u0007", + "V\u0002\u0002\u2c71\u2c72\u0007C\u0002\u0002\u2c72\u2c73\u0007P\u0002", + "\u0002\u2c73\u2c74\u0007E\u0002\u0002\u2c74\u2c75\u0007G\u0002\u0002", + "\u2c75\u2c76\u0007U\u0002\u0002\u2c76\u0544\u0003\u0002\u0002\u0002", + "\u2c77\u2c78\u0007K\u0002\u0002\u2c78\u2c79\u0007P\u0002\u0002\u2c79", + "\u2c7a\u0007U\u0002\u0002\u2c7a\u2c7b\u0007V\u0002\u0002\u2c7b\u2c7c", + "\u0007C\u0002\u0002\u2c7c\u2c7d\u0007P\u0002\u0002\u2c7d\u2c7e\u0007", + "V\u0002\u0002\u2c7e\u2c7f\u0007K\u0002\u0002\u2c7f\u2c80\u0007C\u0002", + "\u0002\u2c80\u2c81\u0007D\u0002\u0002\u2c81\u2c82\u0007N\u0002\u0002", + "\u2c82\u2c83\u0007G\u0002\u0002\u2c83\u0546\u0003\u0002\u0002\u0002", + "\u2c84\u2c85\u0007K\u0002\u0002\u2c85\u2c86\u0007P\u0002\u0002\u2c86", + "\u2c87\u0007U\u0002\u0002\u2c87\u2c88\u0007V\u0002\u0002\u2c88\u2c89", + "\u0007C\u0002\u0002\u2c89\u2c8a\u0007P\u0002\u0002\u2c8a\u2c8b\u0007", + "V\u0002\u0002\u2c8b\u2c8c\u0007N\u0002\u0002\u2c8c\u2c8d\u0007[\u0002", + "\u0002\u2c8d\u0548\u0003\u0002\u0002\u0002\u2c8e\u2c8f\u0007K\u0002", + "\u0002\u2c8f\u2c90\u0007P\u0002\u0002\u2c90\u2c91\u0007U\u0002\u0002", + "\u2c91\u2c92\u0007V\u0002\u0002\u2c92\u2c93\u0007G\u0002\u0002\u2c93", + "\u2c94\u0007C\u0002\u0002\u2c94\u2c95\u0007F\u0002\u0002\u2c95\u054a", + "\u0003\u0002\u0002\u0002\u2c96\u2c97\u0007K\u0002\u0002\u2c97\u2c98", + "\u0007P\u0002\u0002\u2c98\u2c99\u0007U\u0002\u0002\u2c99\u2c9a\u0007", + "V\u0002\u0002\u2c9a\u2c9b\u0007T\u0002\u0002\u2c9b\u2c9c\u00074\u0002", + "\u0002\u2c9c\u054c\u0003\u0002\u0002\u0002\u2c9d\u2c9e\u0007K\u0002", + "\u0002\u2c9e\u2c9f\u0007P\u0002\u0002\u2c9f\u2ca0\u0007U\u0002\u0002", + "\u2ca0\u2ca1\u0007V\u0002\u0002\u2ca1\u2ca2\u0007T\u0002\u0002\u2ca2", + "\u2ca3\u00076\u0002\u0002\u2ca3\u054e\u0003\u0002\u0002\u0002\u2ca4", + "\u2ca5\u0007K\u0002\u0002\u2ca5\u2ca6\u0007P\u0002\u0002\u2ca6\u2ca7", + "\u0007U\u0002\u0002\u2ca7\u2ca8\u0007V\u0002\u0002\u2ca8\u2ca9\u0007", + "T\u0002\u0002\u2ca9\u2caa\u0007D\u0002\u0002\u2caa\u0550\u0003\u0002", + "\u0002\u0002\u2cab\u2cac\u0007K\u0002\u0002\u2cac\u2cad\u0007P\u0002", + "\u0002\u2cad\u2cae\u0007U\u0002\u0002\u2cae\u2caf\u0007V\u0002\u0002", + "\u2caf\u2cb0\u0007T\u0002\u0002\u2cb0\u2cb1\u0007E\u0002\u0002\u2cb1", + "\u0552\u0003\u0002\u0002\u0002\u2cb2\u2cb3\u0007K\u0002\u0002\u2cb3", + "\u2cb4\u0007P\u0002\u0002\u2cb4\u2cb5\u0007U\u0002\u0002\u2cb5\u2cb6", + "\u0007V\u0002\u0002\u2cb6\u2cb7\u0007T\u0002\u0002\u2cb7\u0554\u0003", + "\u0002\u0002\u0002\u2cb8\u2cb9\u0007K\u0002\u0002\u2cb9\u2cba\u0007", + "P\u0002\u0002\u2cba\u2cbb\u0007V\u0002\u0002\u2cbb\u2cbc\u0007G\u0002", + "\u0002\u2cbc\u2cbd\u0007I\u0002\u0002\u2cbd\u2cbe\u0007G\u0002\u0002", + "\u2cbe\u2cbf\u0007T\u0002\u0002\u2cbf\u0556\u0003\u0002\u0002\u0002", + "\u2cc0\u2cc1\u0007K\u0002\u0002\u2cc1\u2cc2\u0007P\u0002\u0002\u2cc2", + "\u2cc3\u0007V\u0002\u0002\u2cc3\u2cc4\u0007G\u0002\u0002\u2cc4\u2cc5", + "\u0007T\u0002\u0002\u2cc5\u2cc6\u0007N\u0002\u0002\u2cc6\u2cc7\u0007", + "G\u0002\u0002\u2cc7\u2cc8\u0007C\u0002\u0002\u2cc8\u2cc9\u0007X\u0002", + "\u0002\u2cc9\u2cca\u0007G\u0002\u0002\u2cca\u2ccb\u0007F\u0002\u0002", + "\u2ccb\u0558\u0003\u0002\u0002\u0002\u2ccc\u2ccd\u0007K\u0002\u0002", + "\u2ccd\u2cce\u0007P\u0002\u0002\u2cce\u2ccf\u0007V\u0002\u0002\u2ccf", + "\u2cd0\u0007G\u0002\u0002\u2cd0\u2cd1\u0007T\u0002\u0002\u2cd1\u2cd2", + "\u0007O\u0002\u0002\u2cd2\u2cd3\u0007G\u0002\u0002\u2cd3\u2cd4\u0007", + "F\u0002\u0002\u2cd4\u2cd5\u0007K\u0002\u0002\u2cd5\u2cd6\u0007C\u0002", + "\u0002\u2cd6\u2cd7\u0007V\u0002\u0002\u2cd7\u2cd8\u0007G\u0002\u0002", + "\u2cd8\u055a\u0003\u0002\u0002\u0002\u2cd9\u2cda\u0007K\u0002\u0002", + "\u2cda\u2cdb\u0007P\u0002\u0002\u2cdb\u2cdc\u0007V\u0002\u0002\u2cdc", + "\u2cdd\u0007G\u0002\u0002\u2cdd\u2cde\u0007T\u0002\u0002\u2cde\u2cdf", + "\u0007P\u0002\u0002\u2cdf\u2ce0\u0007C\u0002\u0002\u2ce0\u2ce1\u0007", + "N\u0002\u0002\u2ce1\u2ce2\u0007a\u0002\u0002\u2ce2\u2ce3\u0007E\u0002", + "\u0002\u2ce3\u2ce4\u0007Q\u0002\u0002\u2ce4\u2ce5\u0007P\u0002\u0002", + "\u2ce5\u2ce6\u0007X\u0002\u0002\u2ce6\u2ce7\u0007G\u0002\u0002\u2ce7", + "\u2ce8\u0007T\u0002\u0002\u2ce8\u2ce9\u0007V\u0002\u0002\u2ce9\u055c", + "\u0003\u0002\u0002\u0002\u2cea\u2ceb\u0007K\u0002\u0002\u2ceb\u2cec", + "\u0007P\u0002\u0002\u2cec\u2ced\u0007V\u0002\u0002\u2ced\u2cee\u0007", + "G\u0002\u0002\u2cee\u2cef\u0007T\u0002\u0002\u2cef\u2cf0\u0007P\u0002", + "\u0002\u2cf0\u2cf1\u0007C\u0002\u0002\u2cf1\u2cf2\u0007N\u0002\u0002", + "\u2cf2\u2cf3\u0007a\u0002\u0002\u2cf3\u2cf4\u0007W\u0002\u0002\u2cf4", + "\u2cf5\u0007U\u0002\u0002\u2cf5\u2cf6\u0007G\u0002\u0002\u2cf6\u055e", + "\u0003\u0002\u0002\u0002\u2cf7\u2cf8\u0007K\u0002\u0002\u2cf8\u2cf9", + "\u0007P\u0002\u0002\u2cf9\u2cfa\u0007V\u0002\u0002\u2cfa\u2cfb\u0007", + "G\u0002\u0002\u2cfb\u2cfc\u0007T\u0002\u0002\u2cfc\u2cfd\u0007R\u0002", + "\u0002\u2cfd\u2cfe\u0007T\u0002\u0002\u2cfe\u2cff\u0007G\u0002\u0002", + "\u2cff\u2d00\u0007V\u0002\u0002\u2d00\u2d01\u0007G\u0002\u0002\u2d01", + "\u2d02\u0007F\u0002\u0002\u2d02\u0560\u0003\u0002\u0002\u0002\u2d03", + "\u2d04\u0007K\u0002\u0002\u2d04\u2d05\u0007P\u0002\u0002\u2d05\u2d06", + "\u0007V\u0002\u0002\u2d06\u2d07\u0007G\u0002\u0002\u2d07\u2d08\u0007", + "T\u0002\u0002\u2d08\u2d09\u0007U\u0002\u0002\u2d09\u2d0a\u0007G\u0002", + "\u0002\u2d0a\u2d0b\u0007E\u0002\u0002\u2d0b\u2d0c\u0007V\u0002\u0002", + "\u2d0c\u0562\u0003\u0002\u0002\u0002\u2d0d\u2d0e\u0007K\u0002\u0002", + "\u2d0e\u2d0f\u0007P\u0002\u0002\u2d0f\u2d10\u0007V\u0002\u0002\u2d10", + "\u2d11\u0007G\u0002\u0002\u2d11\u2d12\u0007T\u0002\u0002\u2d12\u2d13", + "\u0007X\u0002\u0002\u2d13\u2d14\u0007C\u0002\u0002\u2d14\u2d15\u0007", + "N\u0002\u0002\u2d15\u0564\u0003\u0002\u0002\u0002\u2d16\u2d17\u0007", + "K\u0002\u0002\u2d17\u2d18\u0007P\u0002\u0002\u2d18\u2d19\u0007V\u0002", + "\u0002\u2d19\u0566\u0003\u0002\u0002\u0002\u2d1a\u2d1b\u0007K\u0002", + "\u0002\u2d1b\u2d1c\u0007P\u0002\u0002\u2d1c\u2d1d\u0007V\u0002\u0002", + "\u2d1d\u2d1e\u0007Q\u0002\u0002\u2d1e\u0568\u0003\u0002\u0002\u0002", + "\u2d1f\u2d20\u0007K\u0002\u0002\u2d20\u2d21\u0007P\u0002\u0002\u2d21", + "\u2d22\u0007X\u0002\u0002\u2d22\u2d23\u0007C\u0002\u0002\u2d23\u2d24", + "\u0007N\u0002\u0002\u2d24\u2d25\u0007K\u0002\u0002\u2d25\u2d26\u0007", + "F\u0002\u0002\u2d26\u2d27\u0007C\u0002\u0002\u2d27\u2d28\u0007V\u0002", + "\u0002\u2d28\u2d29\u0007G\u0002\u0002\u2d29\u056a\u0003\u0002\u0002", + "\u0002\u2d2a\u2d2b\u0007K\u0002\u0002\u2d2b\u2d2c\u0007P\u0002\u0002", + "\u2d2c\u2d2d\u0007X\u0002\u0002\u2d2d\u2d2e\u0007K\u0002\u0002\u2d2e", + "\u2d2f\u0007U\u0002\u0002\u2d2f\u2d30\u0007K\u0002\u0002\u2d30\u2d31", + "\u0007D\u0002\u0002\u2d31\u2d32\u0007N\u0002\u0002\u2d32\u2d33\u0007", + "G\u0002\u0002\u2d33\u056c\u0003\u0002\u0002\u0002\u2d34\u2d35\u0007", + "K\u0002\u0002\u2d35\u2d36\u0007P\u0002\u0002\u2d36\u2d37\u0007a\u0002", + "\u0002\u2d37\u2d38\u0007Z\u0002\u0002\u2d38\u2d39\u0007S\u0002\u0002", + "\u2d39\u2d3a\u0007W\u0002\u0002\u2d3a\u2d3b\u0007G\u0002\u0002\u2d3b", + "\u2d3c\u0007T\u0002\u0002\u2d3c\u2d3d\u0007[\u0002\u0002\u2d3d\u056e", + "\u0003\u0002\u0002\u0002\u2d3e\u2d3f\u0007K\u0002\u0002\u2d3f\u2d40", + "\u0007U\u0002\u0002\u2d40\u0570\u0003\u0002\u0002\u0002\u2d41\u2d42", + "\u0007K\u0002\u0002\u2d42\u2d43\u0007U\u0002\u0002\u2d43\u2d44\u0007", + "Q\u0002\u0002\u2d44\u2d45\u0007N\u0002\u0002\u2d45\u2d46\u0007C\u0002", + "\u0002\u2d46\u2d47\u0007V\u0002\u0002\u2d47\u2d48\u0007K\u0002\u0002", + "\u2d48\u2d49\u0007Q\u0002\u0002\u2d49\u2d4a\u0007P\u0002\u0002\u2d4a", + "\u0572\u0003\u0002\u0002\u0002\u2d4b\u2d4c\u0007K\u0002\u0002\u2d4c", + "\u2d4d\u0007U\u0002\u0002\u2d4d\u2d4e\u0007Q\u0002\u0002\u2d4e\u2d4f", + "\u0007N\u0002\u0002\u2d4f\u2d50\u0007C\u0002\u0002\u2d50\u2d51\u0007", + "V\u0002\u0002\u2d51\u2d52\u0007K\u0002\u0002\u2d52\u2d53\u0007Q\u0002", + "\u0002\u2d53\u2d54\u0007P\u0002\u0002\u2d54\u2d55\u0007a\u0002\u0002", + "\u2d55\u2d56\u0007N\u0002\u0002\u2d56\u2d57\u0007G\u0002\u0002\u2d57", + "\u2d58\u0007X\u0002\u0002\u2d58\u2d59\u0007G\u0002\u0002\u2d59\u2d5a", + "\u0007N\u0002\u0002\u2d5a\u0574\u0003\u0002\u0002\u0002\u2d5b\u2d5c", + "\u0007K\u0002\u0002\u2d5c\u2d5d\u0007V\u0002\u0002\u2d5d\u2d5e\u0007", + "G\u0002\u0002\u2d5e\u2d5f\u0007T\u0002\u0002\u2d5f\u2d60\u0007C\u0002", + "\u0002\u2d60\u2d61\u0007V\u0002\u0002\u2d61\u2d62\u0007G\u0002\u0002", + "\u2d62\u0576\u0003\u0002\u0002\u0002\u2d63\u2d64\u0007K\u0002\u0002", + "\u2d64\u2d65\u0007V\u0002\u0002\u2d65\u2d66\u0007G\u0002\u0002\u2d66", + "\u2d67\u0007T\u0002\u0002\u2d67\u2d68\u0007C\u0002\u0002\u2d68\u2d69", + "\u0007V\u0002\u0002\u2d69\u2d6a\u0007K\u0002\u0002\u2d6a\u2d6b\u0007", + "Q\u0002\u0002\u2d6b\u2d6c\u0007P\u0002\u0002\u2d6c\u2d6d\u0007a\u0002", + "\u0002\u2d6d\u2d6e\u0007P\u0002\u0002\u2d6e\u2d6f\u0007W\u0002\u0002", + "\u2d6f\u2d70\u0007O\u0002\u0002\u2d70\u2d71\u0007D\u0002\u0002\u2d71", + "\u2d72\u0007G\u0002\u0002\u2d72\u2d73\u0007T\u0002\u0002\u2d73\u0578", + "\u0003\u0002\u0002\u0002\u2d74\u2d75\u0007L\u0002\u0002\u2d75\u2d76", + "\u0007C\u0002\u0002\u2d76\u2d77\u0007X\u0002\u0002\u2d77\u2d78\u0007", + "C\u0002\u0002\u2d78\u057a\u0003\u0002\u0002\u0002\u2d79\u2d7a\u0007", + "L\u0002\u0002\u2d7a\u2d7b\u0007Q\u0002\u0002\u2d7b\u2d7c\u0007D\u0002", + "\u0002\u2d7c\u057c\u0003\u0002\u0002\u0002\u2d7d\u2d7e\u0007L\u0002", + "\u0002\u2d7e\u2d7f\u0007Q\u0002\u0002\u2d7f\u2d80\u0007K\u0002\u0002", + "\u2d80\u2d81\u0007P\u0002\u0002\u2d81\u057e\u0003\u0002\u0002\u0002", + "\u2d82\u2d83\u0007L\u0002\u0002\u2d83\u2d84\u0007U\u0002\u0002\u2d84", + "\u2d85\u0007Q\u0002\u0002\u2d85\u2d86\u0007P\u0002\u0002\u2d86\u2d87", + "\u0007a\u0002\u0002\u2d87\u2d88\u0007C\u0002\u0002\u2d88\u2d89\u0007", + "T\u0002\u0002\u2d89\u2d8a\u0007T\u0002\u0002\u2d8a\u2d8b\u0007C\u0002", + "\u0002\u2d8b\u2d8c\u0007[\u0002\u0002\u2d8c\u2d8d\u0007C\u0002\u0002", + "\u2d8d\u2d8e\u0007I\u0002\u0002\u2d8e\u2d8f\u0007I\u0002\u0002\u2d8f", + "\u0580\u0003\u0002\u0002\u0002\u2d90\u2d91\u0007L\u0002\u0002\u2d91", + "\u2d92\u0007U\u0002\u0002\u2d92\u2d93\u0007Q\u0002\u0002\u2d93\u2d94", + "\u0007P\u0002\u0002\u2d94\u2d95\u0007a\u0002\u0002\u2d95\u2d96\u0007", + "C\u0002\u0002\u2d96\u2d97\u0007T\u0002\u0002\u2d97\u2d98\u0007T\u0002", + "\u0002\u2d98\u2d99\u0007C\u0002\u0002\u2d99\u2d9a\u0007[\u0002\u0002", + "\u2d9a\u0582\u0003\u0002\u0002\u0002\u2d9b\u2d9c\u0007L\u0002\u0002", + "\u2d9c\u2d9d\u0007U\u0002\u0002\u2d9d\u2d9e\u0007Q\u0002\u0002\u2d9e", + "\u2d9f\u0007P\u0002\u0002\u2d9f\u2da0\u0007a\u0002\u0002\u2da0\u2da1", + "\u0007G\u0002\u0002\u2da1\u2da2\u0007S\u0002\u0002\u2da2\u2da3\u0007", + "W\u0002\u0002\u2da3\u2da4\u0007C\u0002\u0002\u2da4\u2da5\u0007N\u0002", + "\u0002\u2da5\u0584\u0003\u0002\u0002\u0002\u2da6\u2da7\u0007L\u0002", + "\u0002\u2da7\u2da8\u0007U\u0002\u0002\u2da8\u2da9\u0007Q\u0002\u0002", + "\u2da9\u2daa\u0007P\u0002\u0002\u2daa\u2dab\u0007a\u0002\u0002\u2dab", + "\u2dac\u0007G\u0002\u0002\u2dac\u2dad\u0007Z\u0002\u0002\u2dad\u2dae", + "\u0007K\u0002\u0002\u2dae\u2daf\u0007U\u0002\u0002\u2daf\u2db0\u0007", + "V\u0002\u0002\u2db0\u2db1\u0007U\u0002\u0002\u2db1\u2db2\u00074\u0002", + "\u0002\u2db2\u0586\u0003\u0002\u0002\u0002\u2db3\u2db4\u0007L\u0002", + "\u0002\u2db4\u2db5\u0007U\u0002\u0002\u2db5\u2db6\u0007Q\u0002\u0002", + "\u2db6\u2db7\u0007P\u0002\u0002\u2db7\u2db8\u0007a\u0002\u0002\u2db8", + "\u2db9\u0007G\u0002\u0002\u2db9\u2dba\u0007Z\u0002\u0002\u2dba\u2dbb", + "\u0007K\u0002\u0002\u2dbb\u2dbc\u0007U\u0002\u0002\u2dbc\u2dbd\u0007", + "V\u0002\u0002\u2dbd\u2dbe\u0007U\u0002\u0002\u2dbe\u0588\u0003\u0002", + "\u0002\u0002\u2dbf\u2dc0\u0007L\u0002\u0002\u2dc0\u2dc1\u0007U\u0002", + "\u0002\u2dc1\u2dc2\u0007Q\u0002\u0002\u2dc2\u2dc3\u0007P\u0002\u0002", + "\u2dc3\u2dc4\u0007I\u0002\u0002\u2dc4\u2dc5\u0007G\u0002\u0002\u2dc5", + "\u2dc6\u0007V\u0002\u0002\u2dc6\u058a\u0003\u0002\u0002\u0002\u2dc7", + "\u2dc8\u0007L\u0002\u0002\u2dc8\u2dc9\u0007U\u0002\u0002\u2dc9\u2dca", + "\u0007Q\u0002\u0002\u2dca\u2dcb\u0007P\u0002\u0002\u2dcb\u058c\u0003", + "\u0002\u0002\u0002\u2dcc\u2dcd\u0007L\u0002\u0002\u2dcd\u2dce\u0007", + "U\u0002\u0002\u2dce\u2dcf\u0007Q\u0002\u0002\u2dcf\u2dd0\u0007P\u0002", + "\u0002\u2dd0\u2dd1\u0007a\u0002\u0002\u2dd1\u2dd2\u0007Q\u0002\u0002", + "\u2dd2\u2dd3\u0007D\u0002\u0002\u2dd3\u2dd4\u0007L\u0002\u0002\u2dd4", + "\u2dd5\u0007G\u0002\u0002\u2dd5\u2dd6\u0007E\u0002\u0002\u2dd6\u2dd7", + "\u0007V\u0002\u0002\u2dd7\u2dd8\u0007C\u0002\u0002\u2dd8\u2dd9\u0007", + "I\u0002\u0002\u2dd9\u2dda\u0007I\u0002\u0002\u2dda\u058e\u0003\u0002", + "\u0002\u0002\u2ddb\u2ddc\u0007L\u0002\u0002\u2ddc\u2ddd\u0007U\u0002", + "\u0002\u2ddd\u2dde\u0007Q\u0002\u0002\u2dde\u2ddf\u0007P\u0002\u0002", + "\u2ddf\u2de0\u0007a\u0002\u0002\u2de0\u2de1\u0007Q\u0002\u0002\u2de1", + "\u2de2\u0007D\u0002\u0002\u2de2\u2de3\u0007L\u0002\u0002\u2de3\u2de4", + "\u0007G\u0002\u0002\u2de4\u2de5\u0007E\u0002\u0002\u2de5\u2de6\u0007", + "V\u0002\u0002\u2de6\u0590\u0003\u0002\u0002\u0002\u2de7\u2de8\u0007", + "L\u0002\u0002\u2de8\u2de9\u0007U\u0002\u0002\u2de9\u2dea\u0007Q\u0002", + "\u0002\u2dea\u2deb\u0007P\u0002\u0002\u2deb\u2dec\u0007R\u0002\u0002", + "\u2dec\u2ded\u0007C\u0002\u0002\u2ded\u2dee\u0007T\u0002\u0002\u2dee", + "\u2def\u0007U\u0002\u0002\u2def\u2df0\u0007G\u0002\u0002\u2df0\u0592", + "\u0003\u0002\u0002\u0002\u2df1\u2df2\u0007L\u0002\u0002\u2df2\u2df3", + "\u0007U\u0002\u0002\u2df3\u2df4\u0007Q\u0002\u0002\u2df4\u2df5\u0007", + "P\u0002\u0002\u2df5\u2df6\u0007a\u0002\u0002\u2df6\u2df7\u0007S\u0002", + "\u0002\u2df7\u2df8\u0007W\u0002\u0002\u2df8\u2df9\u0007G\u0002\u0002", + "\u2df9\u2dfa\u0007T\u0002\u0002\u2dfa\u2dfb\u0007[\u0002\u0002\u2dfb", + "\u0594\u0003\u0002\u0002\u0002\u2dfc\u2dfd\u0007L\u0002\u0002\u2dfd", + "\u2dfe\u0007U\u0002\u0002\u2dfe\u2dff\u0007Q\u0002\u0002\u2dff\u2e00", + "\u0007P\u0002\u0002\u2e00\u2e01\u0007a\u0002\u0002\u2e01\u2e02\u0007", + "U\u0002\u0002\u2e02\u2e03\u0007G\u0002\u0002\u2e03\u2e04\u0007T\u0002", + "\u0002\u2e04\u2e05\u0007K\u0002\u0002\u2e05\u2e06\u0007C\u0002\u0002", + "\u2e06\u2e07\u0007N\u0002\u0002\u2e07\u2e08\u0007K\u0002\u0002\u2e08", + "\u2e09\u0007\\\u0002\u0002\u2e09\u2e0a\u0007G\u0002\u0002\u2e0a\u0596", + "\u0003\u0002\u0002\u0002\u2e0b\u2e0c\u0007L\u0002\u0002\u2e0c\u2e0d", + "\u0007U\u0002\u0002\u2e0d\u2e0e\u0007Q\u0002\u0002\u2e0e\u2e0f\u0007", + "P\u0002\u0002\u2e0f\u2e10\u0007a\u0002\u0002\u2e10\u2e11\u0007V\u0002", + "\u0002\u2e11\u2e12\u0007C\u0002\u0002\u2e12\u2e13\u0007D\u0002\u0002", + "\u2e13\u2e14\u0007N\u0002\u0002\u2e14\u2e15\u0007G\u0002\u0002\u2e15", + "\u0598\u0003\u0002\u0002\u0002\u2e16\u2e17\u0007L\u0002\u0002\u2e17", + "\u2e18\u0007U\u0002\u0002\u2e18\u2e19\u0007Q\u0002\u0002\u2e19\u2e1a", + "\u0007P\u0002\u0002\u2e1a\u2e1b\u0007a\u0002\u0002\u2e1b\u2e1c\u0007", + "V\u0002\u0002\u2e1c\u2e1d\u0007G\u0002\u0002\u2e1d\u2e1e\u0007Z\u0002", + "\u0002\u2e1e\u2e1f\u0007V\u0002\u0002\u2e1f\u2e20\u0007E\u0002\u0002", + "\u2e20\u2e21\u0007Q\u0002\u0002\u2e21\u2e22\u0007P\u0002\u0002\u2e22", + "\u2e23\u0007V\u0002\u0002\u2e23\u2e24\u0007C\u0002\u0002\u2e24\u2e25", + "\u0007K\u0002\u0002\u2e25\u2e26\u0007P\u0002\u0002\u2e26\u2e27\u0007", + "U\u0002\u0002\u2e27\u2e28\u00074\u0002\u0002\u2e28\u059a\u0003\u0002", + "\u0002\u0002\u2e29\u2e2a\u0007L\u0002\u0002\u2e2a\u2e2b\u0007U\u0002", + "\u0002\u2e2b\u2e2c\u0007Q\u0002\u0002\u2e2c\u2e2d\u0007P\u0002\u0002", + "\u2e2d\u2e2e\u0007a\u0002\u0002\u2e2e\u2e2f\u0007V\u0002\u0002\u2e2f", + "\u2e30\u0007G\u0002\u0002\u2e30\u2e31\u0007Z\u0002\u0002\u2e31\u2e32", + "\u0007V\u0002\u0002\u2e32\u2e33\u0007E\u0002\u0002\u2e33\u2e34\u0007", + "Q\u0002\u0002\u2e34\u2e35\u0007P\u0002\u0002\u2e35\u2e36\u0007V\u0002", + "\u0002\u2e36\u2e37\u0007C\u0002\u0002\u2e37\u2e38\u0007K\u0002\u0002", + "\u2e38\u2e39\u0007P\u0002\u0002\u2e39\u2e3a\u0007U\u0002\u0002\u2e3a", + "\u059c\u0003\u0002\u0002\u0002\u2e3b\u2e3c\u0007L\u0002\u0002\u2e3c", + "\u2e3d\u0007U\u0002\u0002\u2e3d\u2e3e\u0007Q\u0002\u0002\u2e3e\u2e3f", + "\u0007P\u0002\u0002\u2e3f\u2e40\u0007a\u0002\u0002\u2e40\u2e41\u0007", + "X\u0002\u0002\u2e41\u2e42\u0007C\u0002\u0002\u2e42\u2e43\u0007N\u0002", + "\u0002\u2e43\u2e44\u0007W\u0002\u0002\u2e44\u2e45\u0007G\u0002\u0002", + "\u2e45\u059e\u0003\u0002\u0002\u0002\u2e46\u2e47\u0007M\u0002\u0002", + "\u2e47\u2e48\u0007G\u0002\u0002\u2e48\u2e49\u0007G\u0002\u0002\u2e49", + "\u2e4a\u0007R\u0002\u0002\u2e4a\u2e4b\u0007a\u0002\u0002\u2e4b\u2e4c", + "\u0007F\u0002\u0002\u2e4c\u2e4d\u0007W\u0002\u0002\u2e4d\u2e4e\u0007", + "R\u0002\u0002\u2e4e\u2e4f\u0007N\u0002\u0002\u2e4f\u2e50\u0007K\u0002", + "\u0002\u2e50\u2e51\u0007E\u0002\u0002\u2e51\u2e52\u0007C\u0002\u0002", + "\u2e52\u2e53\u0007V\u0002\u0002\u2e53\u2e54\u0007G\u0002\u0002\u2e54", + "\u2e55\u0007U\u0002\u0002\u2e55\u05a0\u0003\u0002\u0002\u0002\u2e56", + "\u2e57\u0007M\u0002\u0002\u2e57\u2e58\u0007G\u0002\u0002\u2e58\u2e59", + "\u0007G\u0002\u0002\u2e59\u2e5a\u0007R\u0002\u0002\u2e5a\u05a2\u0003", + "\u0002\u0002\u0002\u2e5b\u2e5c\u0007M\u0002\u0002\u2e5c\u2e5d\u0007", + "G\u0002\u0002\u2e5d\u2e5e\u0007T\u0002\u0002\u2e5e\u2e5f\u0007D\u0002", + "\u0002\u2e5f\u2e60\u0007G\u0002\u0002\u2e60\u2e61\u0007T\u0002\u0002", + "\u2e61\u2e62\u0007Q\u0002\u0002\u2e62\u2e63\u0007U\u0002\u0002\u2e63", + "\u05a4\u0003\u0002\u0002\u0002\u2e64\u2e65\u0007M\u0002\u0002\u2e65", + "\u2e66\u0007G\u0002\u0002\u2e66\u2e67\u0007[\u0002\u0002\u2e67\u05a6", + "\u0003\u0002\u0002\u0002\u2e68\u2e69\u0007M\u0002\u0002\u2e69\u2e6a", + "\u0007G\u0002\u0002\u2e6a\u2e6b\u0007[\u0002\u0002\u2e6b\u2e6c\u0007", + "a\u0002\u0002\u2e6c\u2e6d\u0007N\u0002\u0002\u2e6d\u2e6e\u0007G\u0002", + "\u0002\u2e6e\u2e6f\u0007P\u0002\u0002\u2e6f\u2e70\u0007I\u0002\u0002", + "\u2e70\u2e71\u0007V\u0002\u0002\u2e71\u2e72\u0007J\u0002\u0002\u2e72", + "\u05a8\u0003\u0002\u0002\u0002\u2e73\u2e74\u0007M\u0002\u0002\u2e74", + "\u2e75\u0007G\u0002\u0002\u2e75\u2e76\u0007[\u0002\u0002\u2e76\u2e77", + "\u0007U\u0002\u0002\u2e77\u2e78\u0007K\u0002\u0002\u2e78\u2e79\u0007", + "\\\u0002\u0002\u2e79\u2e7a\u0007G\u0002\u0002\u2e7a\u05aa\u0003\u0002", + "\u0002\u0002\u2e7b\u2e7c\u0007M\u0002\u0002\u2e7c\u2e7d\u0007G\u0002", + "\u0002\u2e7d\u2e7e\u0007[\u0002\u0002\u2e7e\u2e7f\u0007U\u0002\u0002", + "\u2e7f\u05ac\u0003\u0002\u0002\u0002\u2e80\u2e81\u0007M\u0002\u0002", + "\u2e81\u2e82\u0007G\u0002\u0002\u2e82\u2e83\u0007[\u0002\u0002\u2e83", + "\u2e84\u0007U\u0002\u0002\u2e84\u2e85\u0007V\u0002\u0002\u2e85\u2e86", + "\u0007Q\u0002\u0002\u2e86\u2e87\u0007T\u0002\u0002\u2e87\u2e88\u0007", + "G\u0002\u0002\u2e88\u05ae\u0003\u0002\u0002\u0002\u2e89\u2e8a\u0007", + "M\u0002\u0002\u2e8a\u2e8b\u0007K\u0002\u0002\u2e8b\u2e8c\u0007N\u0002", + "\u0002\u2e8c\u2e8d\u0007N\u0002\u0002\u2e8d\u05b0\u0003\u0002\u0002", + "\u0002\u2e8e\u2e8f\u0007N\u0002\u0002\u2e8f\u2e90\u0007C\u0002\u0002", + "\u2e90\u2e91\u0007D\u0002\u0002\u2e91\u2e92\u0007G\u0002\u0002\u2e92", + "\u2e93\u0007N\u0002\u0002\u2e93\u05b2\u0003\u0002\u0002\u0002\u2e94", + "\u2e95\u0007N\u0002\u0002\u2e95\u2e96\u0007C\u0002\u0002\u2e96\u2e97", + "\u0007P\u0002\u0002\u2e97\u2e98\u0007I\u0002\u0002\u2e98\u2e99\u0007", + "W\u0002\u0002\u2e99\u2e9a\u0007C\u0002\u0002\u2e9a\u2e9b\u0007I\u0002", + "\u0002\u2e9b\u2e9c\u0007G\u0002\u0002\u2e9c\u05b4\u0003\u0002\u0002", + "\u0002\u2e9d\u2e9e\u0007N\u0002\u0002\u2e9e\u2e9f\u0007C\u0002\u0002", + "\u2e9f\u2ea0\u0007U\u0002\u0002\u2ea0\u2ea1\u0007V\u0002\u0002\u2ea1", + "\u2ea2\u0007a\u0002\u0002\u2ea2\u2ea3\u0007F\u0002\u0002\u2ea3\u2ea4", + "\u0007C\u0002\u0002\u2ea4\u2ea5\u0007[\u0002\u0002\u2ea5\u05b6\u0003", + "\u0002\u0002\u0002\u2ea6\u2ea7\u0007N\u0002\u0002\u2ea7\u2ea8\u0007", + "C\u0002\u0002\u2ea8\u2ea9\u0007U\u0002\u0002\u2ea9\u2eaa\u0007V\u0002", + "\u0002\u2eaa\u05b8\u0003\u0002\u0002\u0002\u2eab\u2eac\u0007N\u0002", + "\u0002\u2eac\u2ead\u0007C\u0002\u0002\u2ead\u2eae\u0007U\u0002\u0002", + "\u2eae\u2eaf\u0007V\u0002\u0002\u2eaf\u2eb0\u0007a\u0002\u0002\u2eb0", + "\u2eb1\u0007X\u0002\u0002\u2eb1\u2eb2\u0007C\u0002\u0002\u2eb2\u2eb3", + "\u0007N\u0002\u0002\u2eb3\u2eb4\u0007W\u0002\u0002\u2eb4\u2eb5\u0007", + "G\u0002\u0002\u2eb5\u05ba\u0003\u0002\u0002\u0002\u2eb6\u2eb7\u0007", + "N\u0002\u0002\u2eb7\u2eb8\u0007C\u0002\u0002\u2eb8\u2eb9\u0007V\u0002", + "\u0002\u2eb9\u2eba\u0007G\u0002\u0002\u2eba\u2ebb\u0007T\u0002\u0002", + "\u2ebb\u2ebc\u0007C\u0002\u0002\u2ebc\u2ebd\u0007N\u0002\u0002\u2ebd", + "\u05bc\u0003\u0002\u0002\u0002\u2ebe\u2ebf\u0007N\u0002\u0002\u2ebf", + "\u2ec0\u0007C\u0002\u0002\u2ec0\u2ec1\u0007Z\u0002\u0002\u2ec1\u05be", + "\u0003\u0002\u0002\u0002\u2ec2\u2ec3\u0007N\u0002\u0002\u2ec3\u2ec4", + "\u0007C\u0002\u0002\u2ec4\u2ec5\u0007[\u0002\u0002\u2ec5\u2ec6\u0007", + "G\u0002\u0002\u2ec6\u2ec7\u0007T\u0002\u0002\u2ec7\u05c0\u0003\u0002", + "\u0002\u0002\u2ec8\u2ec9\u0007N\u0002\u0002\u2ec9\u2eca\u0007F\u0002", + "\u0002\u2eca\u2ecb\u0007C\u0002\u0002\u2ecb\u2ecc\u0007R\u0002\u0002", + "\u2ecc\u2ecd\u0007a\u0002\u0002\u2ecd\u2ece\u0007T\u0002\u0002\u2ece", + "\u2ecf\u0007G\u0002\u0002\u2ecf\u2ed0\u0007I\u0002\u0002\u2ed0\u2ed1", + "\u0007K\u0002\u0002\u2ed1\u2ed2\u0007U\u0002\u0002\u2ed2\u2ed3\u0007", + "V\u0002\u0002\u2ed3\u2ed4\u0007T\u0002\u0002\u2ed4\u2ed5\u0007C\u0002", + "\u0002\u2ed5\u2ed6\u0007V\u0002\u0002\u2ed6\u2ed7\u0007K\u0002\u0002", + "\u2ed7\u2ed8\u0007Q\u0002\u0002\u2ed8\u2ed9\u0007P\u0002\u0002\u2ed9", + "\u2eda\u0007a\u0002\u0002\u2eda\u2edb\u0007G\u0002\u0002\u2edb\u2edc", + "\u0007P\u0002\u0002\u2edc\u2edd\u0007C\u0002\u0002\u2edd\u2ede\u0007", + "D\u0002\u0002\u2ede\u2edf\u0007N\u0002\u0002\u2edf\u2ee0\u0007G\u0002", + "\u0002\u2ee0\u2ee1\u0007F\u0002\u0002\u2ee1\u05c2\u0003\u0002\u0002", + "\u0002\u2ee2\u2ee3\u0007N\u0002\u0002\u2ee3\u2ee4\u0007F\u0002\u0002", + "\u2ee4\u2ee5\u0007C\u0002\u0002\u2ee5\u2ee6\u0007R\u0002\u0002\u2ee6", + "\u2ee7\u0007a\u0002\u0002\u2ee7\u2ee8\u0007T\u0002\u0002\u2ee8\u2ee9", + "\u0007G\u0002\u0002\u2ee9\u2eea\u0007I\u0002\u0002\u2eea\u2eeb\u0007", + "K\u0002\u0002\u2eeb\u2eec\u0007U\u0002\u0002\u2eec\u2eed\u0007V\u0002", + "\u0002\u2eed\u2eee\u0007T\u0002\u0002\u2eee\u2eef\u0007C\u0002\u0002", + "\u2eef\u2ef0\u0007V\u0002\u0002\u2ef0\u2ef1\u0007K\u0002\u0002\u2ef1", + "\u2ef2\u0007Q\u0002\u0002\u2ef2\u2ef3\u0007P\u0002\u0002\u2ef3\u05c4", + "\u0003\u0002\u0002\u0002\u2ef4\u2ef5\u0007N\u0002\u0002\u2ef5\u2ef6", + "\u0007F\u0002\u0002\u2ef6\u2ef7\u0007C\u0002\u0002\u2ef7\u2ef8\u0007", + "R\u0002\u0002\u2ef8\u2ef9\u0007a\u0002\u0002\u2ef9\u2efa\u0007T\u0002", + "\u0002\u2efa\u2efb\u0007G\u0002\u0002\u2efb\u2efc\u0007I\u0002\u0002", + "\u2efc\u2efd\u0007a\u0002\u0002\u2efd\u2efe\u0007U\u0002\u0002\u2efe", + "\u2eff\u0007[\u0002\u0002\u2eff\u2f00\u0007P\u0002\u0002\u2f00\u2f01", + "\u0007E\u0002\u0002\u2f01\u2f02\u0007a\u0002\u0002\u2f02\u2f03\u0007", + "K\u0002\u0002\u2f03\u2f04\u0007P\u0002\u0002\u2f04\u2f05\u0007V\u0002", + "\u0002\u2f05\u2f06\u0007G\u0002\u0002\u2f06\u2f07\u0007T\u0002\u0002", + "\u2f07\u2f08\u0007X\u0002\u0002\u2f08\u2f09\u0007C\u0002\u0002\u2f09", + "\u2f0a\u0007N\u0002\u0002\u2f0a\u05c6\u0003\u0002\u0002\u0002\u2f0b", + "\u2f0c\u0007N\u0002\u0002\u2f0c\u2f0d\u0007G\u0002\u0002\u2f0d\u2f0e", + "\u0007C\u0002\u0002\u2f0e\u2f0f\u0007F\u0002\u0002\u2f0f\u2f10\u0007", + "K\u0002\u0002\u2f10\u2f11\u0007P\u0002\u0002\u2f11\u2f12\u0007I\u0002", + "\u0002\u2f12\u05c8\u0003\u0002\u0002\u0002\u2f13\u2f14\u0007N\u0002", + "\u0002\u2f14\u2f15\u0007G\u0002\u0002\u2f15\u2f16\u0007H\u0002\u0002", + "\u2f16\u2f17\u0007V\u0002\u0002\u2f17\u05ca\u0003\u0002\u0002\u0002", + "\u2f18\u2f19\u0007N\u0002\u0002\u2f19\u2f1a\u0007G\u0002\u0002\u2f1a", + "\u2f1b\u0007P\u0002\u0002\u2f1b\u2f1c\u0007I\u0002\u0002\u2f1c\u2f1d", + "\u0007V\u0002\u0002\u2f1d\u2f1e\u0007J\u0002\u0002\u2f1e\u2f1f\u0007", + "4\u0002\u0002\u2f1f\u05cc\u0003\u0002\u0002\u0002\u2f20\u2f21\u0007", + "N\u0002\u0002\u2f21\u2f22\u0007G\u0002\u0002\u2f22\u2f23\u0007P\u0002", + "\u0002\u2f23\u2f24\u0007I\u0002\u0002\u2f24\u2f25\u0007V\u0002\u0002", + "\u2f25\u2f26\u0007J\u0002\u0002\u2f26\u2f27\u00076\u0002\u0002\u2f27", + "\u05ce\u0003\u0002\u0002\u0002\u2f28\u2f29\u0007N\u0002\u0002\u2f29", + "\u2f2a\u0007G\u0002\u0002\u2f2a\u2f2b\u0007P\u0002\u0002\u2f2b\u2f2c", + "\u0007I\u0002\u0002\u2f2c\u2f2d\u0007V\u0002\u0002\u2f2d\u2f2e\u0007", + "J\u0002\u0002\u2f2e\u2f2f\u0007D\u0002\u0002\u2f2f\u05d0\u0003\u0002", + "\u0002\u0002\u2f30\u2f31\u0007N\u0002\u0002\u2f31\u2f32\u0007G\u0002", + "\u0002\u2f32\u2f33\u0007P\u0002\u0002\u2f33\u2f34\u0007I\u0002\u0002", + "\u2f34\u2f35\u0007V\u0002\u0002\u2f35\u2f36\u0007J\u0002\u0002\u2f36", + "\u2f37\u0007E\u0002\u0002\u2f37\u05d2\u0003\u0002\u0002\u0002\u2f38", + "\u2f39\u0007N\u0002\u0002\u2f39\u2f3a\u0007G\u0002\u0002\u2f3a\u2f3b", + "\u0007P\u0002\u0002\u2f3b\u2f3c\u0007I\u0002\u0002\u2f3c\u2f3d\u0007", + "V\u0002\u0002\u2f3d\u2f3e\u0007J\u0002\u0002\u2f3e\u05d4\u0003\u0002", + "\u0002\u0002\u2f3f\u2f40\u0007N\u0002\u0002\u2f40\u2f41\u0007G\u0002", + "\u0002\u2f41\u2f42\u0007U\u0002\u0002\u2f42\u2f43\u0007U\u0002\u0002", + "\u2f43\u05d6\u0003\u0002\u0002\u0002\u2f44\u2f45\u0007N\u0002\u0002", + "\u2f45\u2f46\u0007G\u0002\u0002\u2f46\u2f47\u0007X\u0002\u0002\u2f47", + "\u2f48\u0007G\u0002\u0002\u2f48\u2f49\u0007N\u0002\u0002\u2f49\u05d8", + "\u0003\u0002\u0002\u0002\u2f4a\u2f4b\u0007N\u0002\u0002\u2f4b\u2f4c", + "\u0007G\u0002\u0002\u2f4c\u2f4d\u0007X\u0002\u0002\u2f4d\u2f4e\u0007", + "G\u0002\u0002\u2f4e\u2f4f\u0007N\u0002\u0002\u2f4f\u2f50\u0007U\u0002", + "\u0002\u2f50\u05da\u0003\u0002\u0002\u0002\u2f51\u2f52\u0007N\u0002", + "\u0002\u2f52\u2f53\u0007K\u0002\u0002\u2f53\u2f54\u0007D\u0002\u0002", + "\u2f54\u2f55\u0007T\u0002\u0002\u2f55\u2f56\u0007C\u0002\u0002\u2f56", + "\u2f57\u0007T\u0002\u0002\u2f57\u2f58\u0007[\u0002\u0002\u2f58\u05dc", + "\u0003\u0002\u0002\u0002\u2f59\u2f5a\u0007N\u0002\u0002\u2f5a\u2f5b", + "\u0007K\u0002\u0002\u2f5b\u2f5c\u0007H\u0002\u0002\u2f5c\u2f5d\u0007", + "G\u0002\u0002\u2f5d\u2f5e\u0007E\u0002\u0002\u2f5e\u2f5f\u0007[\u0002", + "\u0002\u2f5f\u2f60\u0007E\u0002\u0002\u2f60\u2f61\u0007N\u0002\u0002", + "\u2f61\u2f62\u0007G\u0002\u0002\u2f62\u05de\u0003\u0002\u0002\u0002", + "\u2f63\u2f64\u0007N\u0002\u0002\u2f64\u2f65\u0007K\u0002\u0002\u2f65", + "\u2f66\u0007H\u0002\u0002\u2f66\u2f67\u0007G\u0002\u0002\u2f67\u05e0", + "\u0003\u0002\u0002\u0002\u2f68\u2f69\u0007N\u0002\u0002\u2f69\u2f6a", + "\u0007K\u0002\u0002\u2f6a\u2f6b\u0007H\u0002\u0002\u2f6b\u2f6c\u0007", + "G\u0002\u0002\u2f6c\u2f6d\u0007V\u0002\u0002\u2f6d\u2f6e\u0007K\u0002", + "\u0002\u2f6e\u2f6f\u0007O\u0002\u0002\u2f6f\u2f70\u0007G\u0002\u0002", + "\u2f70\u05e2\u0003\u0002\u0002\u0002\u2f71\u2f72\u0007N\u0002\u0002", + "\u2f72\u2f73\u0007K\u0002\u0002\u2f73\u2f74\u0007M\u0002\u0002\u2f74", + "\u2f75\u0007G\u0002\u0002\u2f75\u2f76\u00074\u0002\u0002\u2f76\u05e4", + "\u0003\u0002\u0002\u0002\u2f77\u2f78\u0007N\u0002\u0002\u2f78\u2f79", + "\u0007K\u0002\u0002\u2f79\u2f7a\u0007M\u0002\u0002\u2f7a\u2f7b\u0007", + "G\u0002\u0002\u2f7b\u2f7c\u00076\u0002\u0002\u2f7c\u05e6\u0003\u0002", + "\u0002\u0002\u2f7d\u2f7e\u0007N\u0002\u0002\u2f7e\u2f7f\u0007K\u0002", + "\u0002\u2f7f\u2f80\u0007M\u0002\u0002\u2f80\u2f81\u0007G\u0002\u0002", + "\u2f81\u2f82\u0007E\u0002\u0002\u2f82\u05e8\u0003\u0002\u0002\u0002", + "\u2f83\u2f84\u0007N\u0002\u0002\u2f84\u2f85\u0007K\u0002\u0002\u2f85", + "\u2f86\u0007M\u0002\u0002\u2f86\u2f87\u0007G\u0002\u0002\u2f87\u2f88", + "\u0007a\u0002\u0002\u2f88\u2f89\u0007G\u0002\u0002\u2f89\u2f8a\u0007", + "Z\u0002\u0002\u2f8a\u2f8b\u0007R\u0002\u0002\u2f8b\u2f8c\u0007C\u0002", + "\u0002\u2f8c\u2f8d\u0007P\u0002\u0002\u2f8d\u2f8e\u0007F\u0002\u0002", + "\u2f8e\u05ea\u0003\u0002\u0002\u0002\u2f8f\u2f90\u0007N\u0002\u0002", + "\u2f90\u2f91\u0007K\u0002\u0002\u2f91\u2f92\u0007M\u0002\u0002\u2f92", + "\u2f93\u0007G\u0002\u0002\u2f93\u05ec\u0003\u0002\u0002\u0002\u2f94", + "\u2f95\u0007N\u0002\u0002\u2f95\u2f96\u0007K\u0002\u0002\u2f96\u2f97", + "\u0007O\u0002\u0002\u2f97\u2f98\u0007K\u0002\u0002\u2f98\u2f99\u0007", + "V\u0002\u0002\u2f99\u05ee\u0003\u0002\u0002\u0002\u2f9a\u2f9b\u0007", + "N\u0002\u0002\u2f9b\u2f9c\u0007K\u0002\u0002\u2f9c\u2f9d\u0007P\u0002", + "\u0002\u2f9d\u2f9e\u0007G\u0002\u0002\u2f9e\u2f9f\u0007C\u0002\u0002", + "\u2f9f\u2fa0\u0007T\u0002\u0002\u2fa0\u05f0\u0003\u0002\u0002\u0002", + "\u2fa1\u2fa2\u0007N\u0002\u0002\u2fa2\u2fa3\u0007K\u0002\u0002\u2fa3", + "\u2fa4\u0007P\u0002\u0002\u2fa4\u2fa5\u0007M\u0002\u0002\u2fa5\u05f2", + "\u0003\u0002\u0002\u0002\u2fa6\u2fa7\u0007N\u0002\u0002\u2fa7\u2fa8", + "\u0007K\u0002\u0002\u2fa8\u2fa9\u0007U\u0002\u0002\u2fa9\u2faa\u0007", + "V\u0002\u0002\u2faa\u05f4\u0003\u0002\u0002\u0002\u2fab\u2fac\u0007", + "N\u0002\u0002\u2fac\u2fad\u0007P\u0002\u0002\u2fad\u05f6\u0003\u0002", + "\u0002\u0002\u2fae\u2faf\u0007N\u0002\u0002\u2faf\u2fb0\u0007P\u0002", + "\u0002\u2fb0\u2fb1\u0007P\u0002\u0002\u2fb1\u2fb2\u0007X\u0002\u0002", + "\u2fb2\u2fb3\u0007N\u0002\u0002\u2fb3\u05f8\u0003\u0002\u0002\u0002", + "\u2fb4\u2fb5\u0007N\u0002\u0002\u2fb5\u2fb6\u0007Q\u0002\u0002\u2fb6", + "\u2fb7\u0007C\u0002\u0002\u2fb7\u2fb8\u0007F\u0002\u0002\u2fb8\u05fa", + "\u0003\u0002\u0002\u0002\u2fb9\u2fba\u0007N\u0002\u0002\u2fba\u2fbb", + "\u0007Q\u0002\u0002\u2fbb\u2fbc\u0007D\u0002\u0002\u2fbc\u05fc\u0003", + "\u0002\u0002\u0002\u2fbd\u2fbe\u0007N\u0002\u0002\u2fbe\u2fbf\u0007", + "Q\u0002\u0002\u2fbf\u2fc0\u0007D\u0002\u0002\u2fc0\u2fc1\u0007P\u0002", + "\u0002\u2fc1\u2fc2\u0007X\u0002\u0002\u2fc2\u2fc3\u0007N\u0002\u0002", + "\u2fc3\u05fe\u0003\u0002\u0002\u0002\u2fc4\u2fc5\u0007N\u0002\u0002", + "\u2fc5\u2fc6\u0007Q\u0002\u0002\u2fc6\u2fc7\u0007D\u0002\u0002\u2fc7", + "\u2fc8\u0007U\u0002\u0002\u2fc8\u0600\u0003\u0002\u0002\u0002\u2fc9", + "\u2fca\u0007N\u0002\u0002\u2fca\u2fcb\u0007Q\u0002\u0002\u2fcb\u2fcc", + "\u0007E\u0002\u0002\u2fcc\u2fcd\u0007C\u0002\u0002\u2fcd\u2fce\u0007", + "N\u0002\u0002\u2fce\u2fcf\u0007a\u0002\u0002\u2fcf\u2fd0\u0007K\u0002", + "\u0002\u2fd0\u2fd1\u0007P\u0002\u0002\u2fd1\u2fd2\u0007F\u0002\u0002", + "\u2fd2\u2fd3\u0007G\u0002\u0002\u2fd3\u2fd4\u0007Z\u0002\u0002\u2fd4", + "\u2fd5\u0007G\u0002\u0002\u2fd5\u2fd6\u0007U\u0002\u0002\u2fd6\u0602", + "\u0003\u0002\u0002\u0002\u2fd7\u2fd8\u0007N\u0002\u0002\u2fd8\u2fd9", + "\u0007Q\u0002\u0002\u2fd9\u2fda\u0007E\u0002\u0002\u2fda\u2fdb\u0007", + "C\u0002\u0002\u2fdb\u2fdc\u0007N\u0002\u0002\u2fdc\u0604\u0003\u0002", + "\u0002\u0002\u2fdd\u2fde\u0007N\u0002\u0002\u2fde\u2fdf\u0007Q\u0002", + "\u0002\u2fdf\u2fe0\u0007E\u0002\u0002\u2fe0\u2fe1\u0007C\u0002\u0002", + "\u2fe1\u2fe2\u0007N\u0002\u0002\u2fe2\u2fe3\u0007V\u0002\u0002\u2fe3", + "\u2fe4\u0007K\u0002\u0002\u2fe4\u2fe5\u0007O\u0002\u0002\u2fe5\u2fe6", + "\u0007G\u0002\u0002\u2fe6\u0606\u0003\u0002\u0002\u0002\u2fe7\u2fe8", + "\u0007N\u0002\u0002\u2fe8\u2fe9\u0007Q\u0002\u0002\u2fe9\u2fea\u0007", + "E\u0002\u0002\u2fea\u2feb\u0007C\u0002\u0002\u2feb\u2fec\u0007N\u0002", + "\u0002\u2fec\u2fed\u0007V\u0002\u0002\u2fed\u2fee\u0007K\u0002\u0002", + "\u2fee\u2fef\u0007O\u0002\u0002\u2fef\u2ff0\u0007G\u0002\u0002\u2ff0", + "\u2ff1\u0007U\u0002\u0002\u2ff1\u2ff2\u0007V\u0002\u0002\u2ff2\u2ff3", + "\u0007C\u0002\u0002\u2ff3\u2ff4\u0007O\u0002\u0002\u2ff4\u2ff5\u0007", + "R\u0002\u0002\u2ff5\u0608\u0003\u0002\u0002\u0002\u2ff6\u2ff7\u0007", + "N\u0002\u0002\u2ff7\u2ff8\u0007Q\u0002\u0002\u2ff8\u2ff9\u0007E\u0002", + "\u0002\u2ff9\u2ffa\u0007C\u0002\u0002\u2ffa\u2ffb\u0007V\u0002\u0002", + "\u2ffb\u2ffc\u0007K\u0002\u0002\u2ffc\u2ffd\u0007Q\u0002\u0002\u2ffd", + "\u2ffe\u0007P\u0002\u0002\u2ffe\u060a\u0003\u0002\u0002\u0002\u2fff", + "\u3000\u0007N\u0002\u0002\u3000\u3001\u0007Q\u0002\u0002\u3001\u3002", + "\u0007E\u0002\u0002\u3002\u3003\u0007C\u0002\u0002\u3003\u3004\u0007", + "V\u0002\u0002\u3004\u3005\u0007Q\u0002\u0002\u3005\u3006\u0007T\u0002", + "\u0002\u3006\u060c\u0003\u0002\u0002\u0002\u3007\u3008\u0007N\u0002", + "\u0002\u3008\u3009\u0007Q\u0002\u0002\u3009\u300a\u0007E\u0002\u0002", + "\u300a\u300b\u0007M\u0002\u0002\u300b\u300c\u0007G\u0002\u0002\u300c", + "\u300d\u0007F\u0002\u0002\u300d\u060e\u0003\u0002\u0002\u0002\u300e", + "\u300f\u0007N\u0002\u0002\u300f\u3010\u0007Q\u0002\u0002\u3010\u3011", + "\u0007E\u0002\u0002\u3011\u3012\u0007M\u0002\u0002\u3012\u3013\u0007", + "K\u0002\u0002\u3013\u3014\u0007P\u0002\u0002\u3014\u3015\u0007I\u0002", + "\u0002\u3015\u0610\u0003\u0002\u0002\u0002\u3016\u3017\u0007N\u0002", + "\u0002\u3017\u3018\u0007Q\u0002\u0002\u3018\u3019\u0007E\u0002\u0002", + "\u3019\u301a\u0007M\u0002\u0002\u301a\u0612\u0003\u0002\u0002\u0002", + "\u301b\u301c\u0007N\u0002\u0002\u301c\u301d\u0007Q\u0002\u0002\u301d", + "\u301e\u0007I\u0002\u0002\u301e\u301f\u0007H\u0002\u0002\u301f\u3020", + "\u0007K\u0002\u0002\u3020\u3021\u0007N\u0002\u0002\u3021\u3022\u0007", + "G\u0002\u0002\u3022\u0614\u0003\u0002\u0002\u0002\u3023\u3024\u0007", + "N\u0002\u0002\u3024\u3025\u0007Q\u0002\u0002\u3025\u3026\u0007I\u0002", + "\u0002\u3026\u3027\u0007H\u0002\u0002\u3027\u3028\u0007K\u0002\u0002", + "\u3028\u3029\u0007N\u0002\u0002\u3029\u302a\u0007G\u0002\u0002\u302a", + "\u302b\u0007U\u0002\u0002\u302b\u0616\u0003\u0002\u0002\u0002\u302c", + "\u302d\u0007N\u0002\u0002\u302d\u302e\u0007Q\u0002\u0002\u302e\u302f", + "\u0007I\u0002\u0002\u302f\u3030\u0007I\u0002\u0002\u3030\u3031\u0007", + "K\u0002\u0002\u3031\u3032\u0007P\u0002\u0002\u3032\u3033\u0007I\u0002", + "\u0002\u3033\u0618\u0003\u0002\u0002\u0002\u3034\u3035\u0007N\u0002", + "\u0002\u3035\u3036\u0007Q\u0002\u0002\u3036\u3037\u0007I\u0002\u0002", + "\u3037\u3038\u0007K\u0002\u0002\u3038\u3039\u0007E\u0002\u0002\u3039", + "\u303a\u0007C\u0002\u0002\u303a\u303b\u0007N\u0002\u0002\u303b\u061a", + "\u0003\u0002\u0002\u0002\u303c\u303d\u0007N\u0002\u0002\u303d\u303e", + "\u0007Q\u0002\u0002\u303e\u303f\u0007I\u0002\u0002\u303f\u3040\u0007", + "K\u0002\u0002\u3040\u3041\u0007E\u0002\u0002\u3041\u3042\u0007C\u0002", + "\u0002\u3042\u3043\u0007N\u0002\u0002\u3043\u3044\u0007a\u0002\u0002", + "\u3044\u3045\u0007T\u0002\u0002\u3045\u3046\u0007G\u0002\u0002\u3046", + "\u3047\u0007C\u0002\u0002\u3047\u3048\u0007F\u0002\u0002\u3048\u3049", + "\u0007U\u0002\u0002\u3049\u304a\u0007a\u0002\u0002\u304a\u304b\u0007", + "R\u0002\u0002\u304b\u304c\u0007G\u0002\u0002\u304c\u304d\u0007T\u0002", + "\u0002\u304d\u304e\u0007a\u0002\u0002\u304e\u304f\u0007E\u0002\u0002", + "\u304f\u3050\u0007C\u0002\u0002\u3050\u3051\u0007N\u0002\u0002\u3051", + "\u3052\u0007N\u0002\u0002\u3052\u061c\u0003\u0002\u0002\u0002\u3053", + "\u3054\u0007N\u0002\u0002\u3054\u3055\u0007Q\u0002\u0002\u3055\u3056", + "\u0007I\u0002\u0002\u3056\u3057\u0007K\u0002\u0002\u3057\u3058\u0007", + "E\u0002\u0002\u3058\u3059\u0007C\u0002\u0002\u3059\u305a\u0007N\u0002", + "\u0002\u305a\u305b\u0007a\u0002\u0002\u305b\u305c\u0007T\u0002\u0002", + "\u305c\u305d\u0007G\u0002\u0002\u305d\u305e\u0007C\u0002\u0002\u305e", + "\u305f\u0007F\u0002\u0002\u305f\u3060\u0007U\u0002\u0002\u3060\u3061", + "\u0007a\u0002\u0002\u3061\u3062\u0007R\u0002\u0002\u3062\u3063\u0007", + "G\u0002\u0002\u3063\u3064\u0007T\u0002\u0002\u3064\u3065\u0007a\u0002", + "\u0002\u3065\u3066\u0007U\u0002\u0002\u3066\u3067\u0007G\u0002\u0002", + "\u3067\u3068\u0007U\u0002\u0002\u3068\u3069\u0007U\u0002\u0002\u3069", + "\u306a\u0007K\u0002\u0002\u306a\u306b\u0007Q\u0002\u0002\u306b\u306c", + "\u0007P\u0002\u0002\u306c\u061e\u0003\u0002\u0002\u0002\u306d\u306e", + "\u0007N\u0002\u0002\u306e\u306f\u0007Q\u0002\u0002\u306f\u3070\u0007", + "I\u0002\u0002\u3070\u0620\u0003\u0002\u0002\u0002\u3071\u3072\u0007", + "N\u0002\u0002\u3072\u3073\u0007Q\u0002\u0002\u3073\u3074\u0007I\u0002", + "\u0002\u3074\u3075\u0007O\u0002\u0002\u3075\u3076\u0007K\u0002\u0002", + "\u3076\u3077\u0007P\u0002\u0002\u3077\u3078\u0007K\u0002\u0002\u3078", + "\u3079\u0007P\u0002\u0002\u3079\u307a\u0007I\u0002\u0002\u307a\u0622", + "\u0003\u0002\u0002\u0002\u307b\u307c\u0007N\u0002\u0002\u307c\u307d", + "\u0007Q\u0002\u0002\u307d\u307e\u0007I\u0002\u0002\u307e\u307f\u0007", + "Q\u0002\u0002\u307f\u3080\u0007H\u0002\u0002\u3080\u3081\u0007H\u0002", + "\u0002\u3081\u0624\u0003\u0002\u0002\u0002\u3082\u3083\u0007N\u0002", + "\u0002\u3083\u3084\u0007Q\u0002\u0002\u3084\u3085\u0007I\u0002\u0002", + "\u3085\u3086\u0007Q\u0002\u0002\u3086\u3087\u0007P\u0002\u0002\u3087", + "\u0626\u0003\u0002\u0002\u0002\u3088\u3089\u0007N\u0002\u0002\u3089", + "\u308a\u0007Q\u0002\u0002\u308a\u308b\u0007I\u0002\u0002\u308b\u308c", + "\u0007a\u0002\u0002\u308c\u308d\u0007T\u0002\u0002\u308d\u308e\u0007", + "G\u0002\u0002\u308e\u308f\u0007C\u0002\u0002\u308f\u3090\u0007F\u0002", + "\u0002\u3090\u3091\u0007a\u0002\u0002\u3091\u3092\u0007Q\u0002\u0002", + "\u3092\u3093\u0007P\u0002\u0002\u3093\u3094\u0007N\u0002\u0002\u3094", + "\u3095\u0007[\u0002\u0002\u3095\u3096\u0007a\u0002\u0002\u3096\u3097", + "\u0007X\u0002\u0002\u3097\u3098\u0007K\u0002\u0002\u3098\u3099\u0007", + "Q\u0002\u0002\u3099\u309a\u0007N\u0002\u0002\u309a\u309b\u0007C\u0002", + "\u0002\u309b\u309c\u0007V\u0002\u0002\u309c\u309d\u0007K\u0002\u0002", + "\u309d\u309e\u0007Q\u0002\u0002\u309e\u309f\u0007P\u0002\u0002\u309f", + "\u30a0\u0007U\u0002\u0002\u30a0\u0628\u0003\u0002\u0002\u0002\u30a1", + "\u30a2\u0007N\u0002\u0002\u30a2\u30a3\u0007Q\u0002\u0002\u30a3\u30a4", + "\u0007P\u0002\u0002\u30a4\u30a5\u0007I\u0002\u0002\u30a5\u062a\u0003", + "\u0002\u0002\u0002\u30a6\u30a7\u0007N\u0002\u0002\u30a7\u30a8\u0007", + "Q\u0002\u0002\u30a8\u30a9\u0007Q\u0002\u0002\u30a9\u30aa\u0007R\u0002", + "\u0002\u30aa\u062c\u0003\u0002\u0002\u0002\u30ab\u30ac\u0007N\u0002", + "\u0002\u30ac\u30ad\u0007Q\u0002\u0002\u30ad\u30ae\u0007Y\u0002\u0002", + "\u30ae\u30af\u0007G\u0002\u0002\u30af\u30b0\u0007T\u0002\u0002\u30b0", + "\u062e\u0003\u0002\u0002\u0002\u30b1\u30b2\u0007N\u0002\u0002\u30b2", + "\u30b3\u0007Q\u0002\u0002\u30b3\u30b4\u0007Y\u0002\u0002\u30b4\u0630", + "\u0003\u0002\u0002\u0002\u30b5\u30b6\u0007N\u0002\u0002\u30b6\u30b7", + "\u0007R\u0002\u0002\u30b7\u30b8\u0007C\u0002\u0002\u30b8\u30b9\u0007", + "F\u0002\u0002\u30b9\u0632\u0003\u0002\u0002\u0002\u30ba\u30bb\u0007", + "N\u0002\u0002\u30bb\u30bc\u0007V\u0002\u0002\u30bc\u30bd\u0007T\u0002", + "\u0002\u30bd\u30be\u0007K\u0002\u0002\u30be\u30bf\u0007O\u0002\u0002", + "\u30bf\u0634\u0003\u0002\u0002\u0002\u30c0\u30c1\u0007O\u0002\u0002", + "\u30c1\u30c2\u0007C\u0002\u0002\u30c2\u30c3\u0007K\u0002\u0002\u30c3", + "\u30c4\u0007P\u0002\u0002\u30c4\u0636\u0003\u0002\u0002\u0002\u30c5", + "\u30c6\u0007O\u0002\u0002\u30c6\u30c7\u0007C\u0002\u0002\u30c7\u30c8", + "\u0007M\u0002\u0002\u30c8\u30c9\u0007G\u0002\u0002\u30c9\u30ca\u0007", + "a\u0002\u0002\u30ca\u30cb\u0007T\u0002\u0002\u30cb\u30cc\u0007G\u0002", + "\u0002\u30cc\u30cd\u0007H\u0002\u0002\u30cd\u0638\u0003\u0002\u0002", + "\u0002\u30ce\u30cf\u0007O\u0002\u0002\u30cf\u30d0\u0007C\u0002\u0002", + "\u30d0\u30d1\u0007P\u0002\u0002\u30d1\u30d2\u0007C\u0002\u0002\u30d2", + "\u30d3\u0007I\u0002\u0002\u30d3\u30d4\u0007G\u0002\u0002\u30d4\u30d5", + "\u0007F\u0002\u0002\u30d5\u063a\u0003\u0002\u0002\u0002\u30d6\u30d7", + "\u0007O\u0002\u0002\u30d7\u30d8\u0007C\u0002\u0002\u30d8\u30d9\u0007", + "P\u0002\u0002\u30d9\u30da\u0007C\u0002\u0002\u30da\u30db\u0007I\u0002", + "\u0002\u30db\u30dc\u0007G\u0002\u0002\u30dc\u063c\u0003\u0002\u0002", + "\u0002\u30dd\u30de\u0007O\u0002\u0002\u30de\u30df\u0007C\u0002\u0002", + "\u30df\u30e0\u0007P\u0002\u0002\u30e0\u30e1\u0007C\u0002\u0002\u30e1", + "\u30e2\u0007I\u0002\u0002\u30e2\u30e3\u0007G\u0002\u0002\u30e3\u30e4", + "\u0007O\u0002\u0002\u30e4\u30e5\u0007G\u0002\u0002\u30e5\u30e6\u0007", + "P\u0002\u0002\u30e6\u30e7\u0007V\u0002\u0002\u30e7\u063e\u0003\u0002", + "\u0002\u0002\u30e8\u30e9\u0007O\u0002\u0002\u30e9\u30ea\u0007C\u0002", + "\u0002\u30ea\u30eb\u0007P\u0002\u0002\u30eb\u30ec\u0007C\u0002\u0002", + "\u30ec\u30ed\u0007I\u0002\u0002\u30ed\u30ee\u0007G\u0002\u0002\u30ee", + "\u30ef\u0007T\u0002\u0002\u30ef\u0640\u0003\u0002\u0002\u0002\u30f0", + "\u30f1\u0007O\u0002\u0002\u30f1\u30f2\u0007C\u0002\u0002\u30f2\u30f3", + "\u0007P\u0002\u0002\u30f3\u30f4\u0007W\u0002\u0002\u30f4\u30f5\u0007", + "C\u0002\u0002\u30f5\u30f6\u0007N\u0002\u0002\u30f6\u0642\u0003\u0002", + "\u0002\u0002\u30f7\u30f8\u0007O\u0002\u0002\u30f8\u30f9\u0007C\u0002", + "\u0002\u30f9\u30fa\u0007R\u0002\u0002\u30fa\u0644\u0003\u0002\u0002", + "\u0002\u30fb\u30fc\u0007O\u0002\u0002\u30fc\u30fd\u0007C\u0002\u0002", + "\u30fd\u30fe\u0007R\u0002\u0002\u30fe\u30ff\u0007R\u0002\u0002\u30ff", + "\u3100\u0007K\u0002\u0002\u3100\u3101\u0007P\u0002\u0002\u3101\u3102", + "\u0007I\u0002\u0002\u3102\u0646\u0003\u0002\u0002\u0002\u3103\u3104", + "\u0007O\u0002\u0002\u3104\u3105\u0007C\u0002\u0002\u3105\u3106\u0007", + "U\u0002\u0002\u3106\u3107\u0007V\u0002\u0002\u3107\u3108\u0007G\u0002", + "\u0002\u3108\u3109\u0007T\u0002\u0002\u3109\u0648\u0003\u0002\u0002", + "\u0002\u310a\u310b\u0007O\u0002\u0002\u310b\u310c\u0007C\u0002\u0002", + "\u310c\u310d\u0007V\u0002\u0002\u310d\u310e\u0007E\u0002\u0002\u310e", + "\u310f\u0007J\u0002\u0002\u310f\u3110\u0007G\u0002\u0002\u3110\u3111", + "\u0007F\u0002\u0002\u3111\u064a\u0003\u0002\u0002\u0002\u3112\u3113", + "\u0007O\u0002\u0002\u3113\u3114\u0007C\u0002\u0002\u3114\u3115\u0007", + "V\u0002\u0002\u3115\u3116\u0007E\u0002\u0002\u3116\u3117\u0007J\u0002", + "\u0002\u3117\u3118\u0007G\u0002\u0002\u3118\u3119\u0007U\u0002\u0002", + "\u3119\u064c\u0003\u0002\u0002\u0002\u311a\u311b\u0007O\u0002\u0002", + "\u311b\u311c\u0007C\u0002\u0002\u311c\u311d\u0007V\u0002\u0002\u311d", + "\u311e\u0007E\u0002\u0002\u311e\u311f\u0007J\u0002\u0002\u311f\u064e", + "\u0003\u0002\u0002\u0002\u3120\u3121\u0007O\u0002\u0002\u3121\u3122", + "\u0007C\u0002\u0002\u3122\u3123\u0007V\u0002\u0002\u3123\u3124\u0007", + "E\u0002\u0002\u3124\u3125\u0007J\u0002\u0002\u3125\u3126\u0007a\u0002", + "\u0002\u3126\u3127\u0007P\u0002\u0002\u3127\u3128\u0007W\u0002\u0002", + "\u3128\u3129\u0007O\u0002\u0002\u3129\u312a\u0007D\u0002\u0002\u312a", + "\u312b\u0007G\u0002\u0002\u312b\u312c\u0007T\u0002\u0002\u312c\u0650", + "\u0003\u0002\u0002\u0002\u312d\u312e\u0007O\u0002\u0002\u312e\u312f", + "\u0007C\u0002\u0002\u312f\u3130\u0007V\u0002\u0002\u3130\u3131\u0007", + "E\u0002\u0002\u3131\u3132\u0007J\u0002\u0002\u3132\u3133\u0007a\u0002", + "\u0002\u3133\u3134\u0007T\u0002\u0002\u3134\u3135\u0007G\u0002\u0002", + "\u3135\u3136\u0007E\u0002\u0002\u3136\u3137\u0007Q\u0002\u0002\u3137", + "\u3138\u0007I\u0002\u0002\u3138\u3139\u0007P\u0002\u0002\u3139\u313a", + "\u0007K\u0002\u0002\u313a\u313b\u0007\\\u0002\u0002\u313b\u313c\u0007", + "G\u0002\u0002\u313c\u0652\u0003\u0002\u0002\u0002\u313d\u313e\u0007", + "O\u0002\u0002\u313e\u313f\u0007C\u0002\u0002\u313f\u3140\u0007V\u0002", + "\u0002\u3140\u3141\u0007G\u0002\u0002\u3141\u3142\u0007T\u0002\u0002", + "\u3142\u3143\u0007K\u0002\u0002\u3143\u3144\u0007C\u0002\u0002\u3144", + "\u3145\u0007N\u0002\u0002\u3145\u3146\u0007K\u0002\u0002\u3146\u3147", + "\u0007\\\u0002\u0002\u3147\u3148\u0007G\u0002\u0002\u3148\u3149\u0007", + "F\u0002\u0002\u3149\u0654\u0003\u0002\u0002\u0002\u314a\u314b\u0007", + "O\u0002\u0002\u314b\u314c\u0007C\u0002\u0002\u314c\u314d\u0007V\u0002", + "\u0002\u314d\u314e\u0007G\u0002\u0002\u314e\u314f\u0007T\u0002\u0002", + "\u314f\u3150\u0007K\u0002\u0002\u3150\u3151\u0007C\u0002\u0002\u3151", + "\u3152\u0007N\u0002\u0002\u3152\u3153\u0007K\u0002\u0002\u3153\u3154", + "\u0007\\\u0002\u0002\u3154\u3155\u0007G\u0002\u0002\u3155\u0656\u0003", + "\u0002\u0002\u0002\u3156\u3157\u0007O\u0002\u0002\u3157\u3158\u0007", + "C\u0002\u0002\u3158\u3159\u0007Z\u0002\u0002\u3159\u315a\u0007C\u0002", + "\u0002\u315a\u315b\u0007T\u0002\u0002\u315b\u315c\u0007E\u0002\u0002", + "\u315c\u315d\u0007J\u0002\u0002\u315d\u315e\u0007N\u0002\u0002\u315e", + "\u315f\u0007Q\u0002\u0002\u315f\u3160\u0007I\u0002\u0002\u3160\u3161", + "\u0007U\u0002\u0002\u3161\u0658\u0003\u0002\u0002\u0002\u3162\u3163", + "\u0007O\u0002\u0002\u3163\u3164\u0007C\u0002\u0002\u3164\u3165\u0007", + "Z\u0002\u0002\u3165\u3166\u0007F\u0002\u0002\u3166\u3167\u0007C\u0002", + "\u0002\u3167\u3168\u0007V\u0002\u0002\u3168\u3169\u0007C\u0002\u0002", + "\u3169\u316a\u0007H\u0002\u0002\u316a\u316b\u0007K\u0002\u0002\u316b", + "\u316c\u0007N\u0002\u0002\u316c\u316d\u0007G\u0002\u0002\u316d\u316e", + "\u0007U\u0002\u0002\u316e\u065a\u0003\u0002\u0002\u0002\u316f\u3170", + "\u0007O\u0002\u0002\u3170\u3171\u0007C\u0002\u0002\u3171\u3172\u0007", + "Z\u0002\u0002\u3172\u3173\u0007G\u0002\u0002\u3173\u3174\u0007Z\u0002", + "\u0002\u3174\u3175\u0007V\u0002\u0002\u3175\u3176\u0007G\u0002\u0002", + "\u3176\u3177\u0007P\u0002\u0002\u3177\u3178\u0007V\u0002\u0002\u3178", + "\u3179\u0007U\u0002\u0002\u3179\u065c\u0003\u0002\u0002\u0002\u317a", + "\u317b\u0007O\u0002\u0002\u317b\u317c\u0007C\u0002\u0002\u317c\u317d", + "\u0007Z\u0002\u0002\u317d\u317e\u0007K\u0002\u0002\u317e\u317f\u0007", + "O\u0002\u0002\u317f\u3180\u0007K\u0002\u0002\u3180\u3181\u0007\\\u0002", + "\u0002\u3181\u3182\u0007G\u0002\u0002\u3182\u065e\u0003\u0002\u0002", + "\u0002\u3183\u3184\u0007O\u0002\u0002\u3184\u3185\u0007C\u0002\u0002", + "\u3185\u3186\u0007Z\u0002\u0002\u3186\u3187\u0007K\u0002\u0002\u3187", + "\u3188\u0007P\u0002\u0002\u3188\u3189\u0007U\u0002\u0002\u3189\u318a", + "\u0007V\u0002\u0002\u318a\u318b\u0007C\u0002\u0002\u318b\u318c\u0007", + "P\u0002\u0002\u318c\u318d\u0007E\u0002\u0002\u318d\u318e\u0007G\u0002", + "\u0002\u318e\u318f\u0007U\u0002\u0002\u318f\u0660\u0003\u0002\u0002", + "\u0002\u3190\u3191\u0007O\u0002\u0002\u3191\u3192\u0007C\u0002\u0002", + "\u3192\u3193\u0007Z\u0002\u0002\u3193\u3194\u0007N\u0002\u0002\u3194", + "\u3195\u0007Q\u0002\u0002\u3195\u3196\u0007I\u0002\u0002\u3196\u3197", + "\u0007H\u0002\u0002\u3197\u3198\u0007K\u0002\u0002\u3198\u3199\u0007", + "N\u0002\u0002\u3199\u319a\u0007G\u0002\u0002\u319a\u319b\u0007U\u0002", + "\u0002\u319b\u0662\u0003\u0002\u0002\u0002\u319c\u319d\u0007O\u0002", + "\u0002\u319d\u319e\u0007C\u0002\u0002\u319e\u319f\u0007Z\u0002\u0002", + "\u319f\u31a0\u0007N\u0002\u0002\u31a0\u31a1\u0007Q\u0002\u0002\u31a1", + "\u31a2\u0007I\u0002\u0002\u31a2\u31a3\u0007J\u0002\u0002\u31a3\u31a4", + "\u0007K\u0002\u0002\u31a4\u31a5\u0007U\u0002\u0002\u31a5\u31a6\u0007", + "V\u0002\u0002\u31a6\u31a7\u0007Q\u0002\u0002\u31a7\u31a8\u0007T\u0002", + "\u0002\u31a8\u31a9\u0007[\u0002\u0002\u31a9\u0664\u0003\u0002\u0002", + "\u0002\u31aa\u31ab\u0007O\u0002\u0002\u31ab\u31ac\u0007C\u0002\u0002", + "\u31ac\u31ad\u0007Z\u0002\u0002\u31ad\u31ae\u0007N\u0002\u0002\u31ae", + "\u31af\u0007Q\u0002\u0002\u31af\u31b0\u0007I\u0002\u0002\u31b0\u31b1", + "\u0007O\u0002\u0002\u31b1\u31b2\u0007G\u0002\u0002\u31b2\u31b3\u0007", + "O\u0002\u0002\u31b3\u31b4\u0007D\u0002\u0002\u31b4\u31b5\u0007G\u0002", + "\u0002\u31b5\u31b6\u0007T\u0002\u0002\u31b6\u31b7\u0007U\u0002\u0002", + "\u31b7\u0666\u0003\u0002\u0002\u0002\u31b8\u31b9\u0007O\u0002\u0002", + "\u31b9\u31ba\u0007C\u0002\u0002\u31ba\u31bb\u0007Z\u0002\u0002\u31bb", + "\u31bc\u0007a\u0002\u0002\u31bc\u31bd\u0007U\u0002\u0002\u31bd\u31be", + "\u0007J\u0002\u0002\u31be\u31bf\u0007C\u0002\u0002\u31bf\u31c0\u0007", + "T\u0002\u0002\u31c0\u31c1\u0007G\u0002\u0002\u31c1\u31c2\u0007F\u0002", + "\u0002\u31c2\u31c3\u0007a\u0002\u0002\u31c3\u31c4\u0007V\u0002\u0002", + "\u31c4\u31c5\u0007G\u0002\u0002\u31c5\u31c6\u0007O\u0002\u0002\u31c6", + "\u31c7\u0007R\u0002\u0002\u31c7\u31c8\u0007a\u0002\u0002\u31c8\u31c9", + "\u0007U\u0002\u0002\u31c9\u31ca\u0007K\u0002\u0002\u31ca\u31cb\u0007", + "\\\u0002\u0002\u31cb\u31cc\u0007G\u0002\u0002\u31cc\u0668\u0003\u0002", + "\u0002\u0002\u31cd\u31ce\u0007O\u0002\u0002\u31ce\u31cf\u0007C\u0002", + "\u0002\u31cf\u31d0\u0007Z\u0002\u0002\u31d0\u31d1\u0007U\u0002\u0002", + "\u31d1\u31d2\u0007K\u0002\u0002\u31d2\u31d3\u0007\\\u0002\u0002\u31d3", + "\u31d4\u0007G\u0002\u0002\u31d4\u066a\u0003\u0002\u0002\u0002\u31d5", + "\u31d6\u0007O\u0002\u0002\u31d6\u31d7\u0007C\u0002\u0002\u31d7\u31d8", + "\u0007Z\u0002\u0002\u31d8\u31d9\u0007V\u0002\u0002\u31d9\u31da\u0007", + "T\u0002\u0002\u31da\u31db\u0007C\u0002\u0002\u31db\u31dc\u0007P\u0002", + "\u0002\u31dc\u31dd\u0007U\u0002\u0002\u31dd\u066c\u0003\u0002\u0002", + "\u0002\u31de\u31df\u0007O\u0002\u0002\u31df\u31e0\u0007C\u0002\u0002", + "\u31e0\u31e1\u0007Z\u0002\u0002\u31e1\u31e2\u0007X\u0002\u0002\u31e2", + "\u31e3\u0007C\u0002\u0002\u31e3\u31e4\u0007N\u0002\u0002\u31e4\u31e5", + "\u0007W\u0002\u0002\u31e5\u31e6\u0007G\u0002\u0002\u31e6\u066e\u0003", + "\u0002\u0002\u0002\u31e7\u31e8\u0007O\u0002\u0002\u31e8\u31e9\u0007", + "G\u0002\u0002\u31e9\u31ea\u0007C\u0002\u0002\u31ea\u31eb\u0007U\u0002", + "\u0002\u31eb\u31ec\u0007W\u0002\u0002\u31ec\u31ed\u0007T\u0002\u0002", + "\u31ed\u31ee\u0007G\u0002\u0002\u31ee\u0670\u0003\u0002\u0002\u0002", + "\u31ef\u31f0\u0007O\u0002\u0002\u31f0\u31f1\u0007G\u0002\u0002\u31f1", + "\u31f2\u0007C\u0002\u0002\u31f2\u31f3\u0007U\u0002\u0002\u31f3\u31f4", + "\u0007W\u0002\u0002\u31f4\u31f5\u0007T\u0002\u0002\u31f5\u31f6\u0007", + "G\u0002\u0002\u31f6\u31f7\u0007U\u0002\u0002\u31f7\u0672\u0003\u0002", + "\u0002\u0002\u31f8\u31f9\u0007O\u0002\u0002\u31f9\u31fa\u0007G\u0002", + "\u0002\u31fa\u31fb\u0007F\u0002\u0002\u31fb\u31fc\u0007K\u0002\u0002", + "\u31fc\u31fd\u0007W\u0002\u0002\u31fd\u31fe\u0007O\u0002\u0002\u31fe", + "\u0674\u0003\u0002\u0002\u0002\u31ff\u3200\u0007O\u0002\u0002\u3200", + "\u3201\u0007G\u0002\u0002\u3201\u3202\u0007O\u0002\u0002\u3202\u3203", + "\u0007D\u0002\u0002\u3203\u3204\u0007G\u0002\u0002\u3204\u3205\u0007", + "T\u0002\u0002\u3205\u0676\u0003\u0002\u0002\u0002\u3206\u3207\u0007", + "O\u0002\u0002\u3207\u3208\u0007G\u0002\u0002\u3208\u3209\u0007O\u0002", + "\u0002\u3209\u320a\u0007E\u0002\u0002\u320a\u320b\u0007Q\u0002\u0002", + "\u320b\u320c\u0007O\u0002\u0002\u320c\u320d\u0007R\u0002\u0002\u320d", + "\u320e\u0007T\u0002\u0002\u320e\u320f\u0007G\u0002\u0002\u320f\u3210", + "\u0007U\u0002\u0002\u3210\u3211\u0007U\u0002\u0002\u3211\u0678\u0003", + "\u0002\u0002\u0002\u3212\u3213\u0007O\u0002\u0002\u3213\u3214\u0007", + "G\u0002\u0002\u3214\u3215\u0007O\u0002\u0002\u3215\u3216\u0007Q\u0002", + "\u0002\u3216\u3217\u0007T\u0002\u0002\u3217\u3218\u0007[\u0002\u0002", + "\u3218\u067a\u0003\u0002\u0002\u0002\u3219\u321a\u0007O\u0002\u0002", + "\u321a\u321b\u0007G\u0002\u0002\u321b\u321c\u0007T\u0002\u0002\u321c", + "\u321d\u0007I\u0002\u0002\u321d\u321e\u0007G\u0002\u0002\u321e\u321f", + "\u0007&\u0002\u0002\u321f\u3220\u0007C\u0002\u0002\u3220\u3221\u0007", + "E\u0002\u0002\u3221\u3222\u0007V\u0002\u0002\u3222\u3223\u0007K\u0002", + "\u0002\u3223\u3224\u0007Q\u0002\u0002\u3224\u3225\u0007P\u0002\u0002", + "\u3225\u3226\u0007U\u0002\u0002\u3226\u067c\u0003\u0002\u0002\u0002", + "\u3227\u3228\u0007O\u0002\u0002\u3228\u3229\u0007G\u0002\u0002\u3229", + "\u322a\u0007T\u0002\u0002\u322a\u322b\u0007I\u0002\u0002\u322b\u322c", + "\u0007G\u0002\u0002\u322c\u322d\u0007a\u0002\u0002\u322d\u322e\u0007", + "C\u0002\u0002\u322e\u322f\u0007L\u0002\u0002\u322f\u067e\u0003\u0002", + "\u0002\u0002\u3230\u3231\u0007O\u0002\u0002\u3231\u3232\u0007G\u0002", + "\u0002\u3232\u3233\u0007T\u0002\u0002\u3233\u3234\u0007I\u0002\u0002", + "\u3234\u3235\u0007G\u0002\u0002\u3235\u3236\u0007a\u0002\u0002\u3236", + "\u3237\u0007E\u0002\u0002\u3237\u3238\u0007Q\u0002\u0002\u3238\u3239", + "\u0007P\u0002\u0002\u3239\u323a\u0007U\u0002\u0002\u323a\u323b\u0007", + "V\u0002\u0002\u323b\u323c\u0007a\u0002\u0002\u323c\u323d\u0007Q\u0002", + "\u0002\u323d\u323e\u0007P\u0002\u0002\u323e\u0680\u0003\u0002\u0002", + "\u0002\u323f\u3240\u0007O\u0002\u0002\u3240\u3241\u0007G\u0002\u0002", + "\u3241\u3242\u0007T\u0002\u0002\u3242\u3243\u0007I\u0002\u0002\u3243", + "\u3244\u0007G\u0002\u0002\u3244\u0682\u0003\u0002\u0002\u0002\u3245", + "\u3246\u0007O\u0002\u0002\u3246\u3247\u0007G\u0002\u0002\u3247\u3248", + "\u0007T\u0002\u0002\u3248\u3249\u0007I\u0002\u0002\u3249\u324a\u0007", + "G\u0002\u0002\u324a\u324b\u0007a\u0002\u0002\u324b\u324c\u0007U\u0002", + "\u0002\u324c\u324d\u0007L\u0002\u0002\u324d\u0684\u0003\u0002\u0002", + "\u0002\u324e\u324f\u0007O\u0002\u0002\u324f\u3250\u0007G\u0002\u0002", + "\u3250\u3251\u0007V\u0002\u0002\u3251\u3252\u0007C\u0002\u0002\u3252", + "\u3253\u0007F\u0002\u0002\u3253\u3254\u0007C\u0002\u0002\u3254\u3255", + "\u0007V\u0002\u0002\u3255\u3256\u0007C\u0002\u0002\u3256\u0686\u0003", + "\u0002\u0002\u0002\u3257\u3258\u0007O\u0002\u0002\u3258\u3259\u0007", + "G\u0002\u0002\u3259\u325a\u0007V\u0002\u0002\u325a\u325b\u0007J\u0002", + "\u0002\u325b\u325c\u0007Q\u0002\u0002\u325c\u325d\u0007F\u0002\u0002", + "\u325d\u0688\u0003\u0002\u0002\u0002\u325e\u325f\u0007O\u0002\u0002", + "\u325f\u3260\u0007K\u0002\u0002\u3260\u3261\u0007I\u0002\u0002\u3261", + "\u3262\u0007T\u0002\u0002\u3262\u3263\u0007C\u0002\u0002\u3263\u3264", + "\u0007V\u0002\u0002\u3264\u3265\u0007G\u0002\u0002\u3265\u068a\u0003", + "\u0002\u0002\u0002\u3266\u3267\u0007O\u0002\u0002\u3267\u3268\u0007", + "K\u0002\u0002\u3268\u3269\u0007I\u0002\u0002\u3269\u326a\u0007T\u0002", + "\u0002\u326a\u326b\u0007C\u0002\u0002\u326b\u326c\u0007V\u0002\u0002", + "\u326c\u326d\u0007K\u0002\u0002\u326d\u326e\u0007Q\u0002\u0002\u326e", + "\u326f\u0007P\u0002\u0002\u326f\u068c\u0003\u0002\u0002\u0002\u3270", + "\u3271\u0007O\u0002\u0002\u3271\u3272\u0007K\u0002\u0002\u3272\u3273", + "\u0007P\u0002\u0002\u3273\u3274\u0007G\u0002\u0002\u3274\u3275\u0007", + "Z\u0002\u0002\u3275\u3276\u0007V\u0002\u0002\u3276\u3277\u0007G\u0002", + "\u0002\u3277\u3278\u0007P\u0002\u0002\u3278\u3279\u0007V\u0002\u0002", + "\u3279\u327a\u0007U\u0002\u0002\u327a\u068e\u0003\u0002\u0002\u0002", + "\u327b\u327c\u0007O\u0002\u0002\u327c\u327d\u0007K\u0002\u0002\u327d", + "\u327e\u0007P\u0002\u0002\u327e\u327f\u0007K\u0002\u0002\u327f\u3280", + "\u0007O\u0002\u0002\u3280\u3281\u0007K\u0002\u0002\u3281\u3282\u0007", + "\\\u0002\u0002\u3282\u3283\u0007G\u0002\u0002\u3283\u0690\u0003\u0002", + "\u0002\u0002\u3284\u3285\u0007O\u0002\u0002\u3285\u3286\u0007K\u0002", + "\u0002\u3286\u3287\u0007P\u0002\u0002\u3287\u3288\u0007K\u0002\u0002", + "\u3288\u3289\u0007O\u0002\u0002\u3289\u328a\u0007W\u0002\u0002\u328a", + "\u328b\u0007O\u0002\u0002\u328b\u0692\u0003\u0002\u0002\u0002\u328c", + "\u328d\u0007O\u0002\u0002\u328d\u328e\u0007K\u0002\u0002\u328e\u328f", + "\u0007P\u0002\u0002\u328f\u3290\u0007K\u0002\u0002\u3290\u3291\u0007", + "P\u0002\u0002\u3291\u3292\u0007I\u0002\u0002\u3292\u0694\u0003\u0002", + "\u0002\u0002\u3293\u3294\u0007O\u0002\u0002\u3294\u3295\u0007K\u0002", + "\u0002\u3295\u3296\u0007P\u0002\u0002\u3296\u3297\u0007W\u0002\u0002", + "\u3297\u3298\u0007U\u0002\u0002\u3298\u0696\u0003\u0002\u0002\u0002", + "\u3299\u329a\u0007O\u0002\u0002\u329a\u329b\u0007K\u0002\u0002\u329b", + "\u329c\u0007P\u0002\u0002\u329c\u329d\u0007W\u0002\u0002\u329d\u329e", + "\u0007U\u0002\u0002\u329e\u329f\u0007a\u0002\u0002\u329f\u32a0\u0007", + "P\u0002\u0002\u32a0\u32a1\u0007W\u0002\u0002\u32a1\u32a2\u0007N\u0002", + "\u0002\u32a2\u32a3\u0007N\u0002\u0002\u32a3\u0698\u0003\u0002\u0002", + "\u0002\u32a4\u32a5\u0007O\u0002\u0002\u32a5\u32a6\u0007K\u0002\u0002", + "\u32a6\u32a7\u0007P\u0002\u0002\u32a7\u32a8\u0007W\u0002\u0002\u32a8", + "\u32a9\u0007V\u0002\u0002\u32a9\u32aa\u0007G\u0002\u0002\u32aa\u069a", + "\u0003\u0002\u0002\u0002\u32ab\u32ac\u0007O\u0002\u0002\u32ac\u32ad", + "\u0007K\u0002\u0002\u32ad\u32ae\u0007P\u0002\u0002\u32ae\u32af\u0007", + "X\u0002\u0002\u32af\u32b0\u0007C\u0002\u0002\u32b0\u32b1\u0007N\u0002", + "\u0002\u32b1\u32b2\u0007W\u0002\u0002\u32b2\u32b3\u0007G\u0002\u0002", + "\u32b3\u069c\u0003\u0002\u0002\u0002\u32b4\u32b5\u0007O\u0002\u0002", + "\u32b5\u32b6\u0007K\u0002\u0002\u32b6\u32b7\u0007T\u0002\u0002\u32b7", + "\u32b8\u0007T\u0002\u0002\u32b8\u32b9\u0007Q\u0002\u0002\u32b9\u32ba", + "\u0007T\u0002\u0002\u32ba\u32bb\u0007E\u0002\u0002\u32bb\u32bc\u0007", + "Q\u0002\u0002\u32bc\u32bd\u0007N\u0002\u0002\u32bd\u32be\u0007F\u0002", + "\u0002\u32be\u069e\u0003\u0002\u0002\u0002\u32bf\u32c0\u0007O\u0002", + "\u0002\u32c0\u32c1\u0007K\u0002\u0002\u32c1\u32c2\u0007T\u0002\u0002", + "\u32c2\u32c3\u0007T\u0002\u0002\u32c3\u32c4\u0007Q\u0002\u0002\u32c4", + "\u32c5\u0007T\u0002\u0002\u32c5\u32c6\u0007J\u0002\u0002\u32c6\u32c7", + "\u0007Q\u0002\u0002\u32c7\u32c8\u0007V\u0002\u0002\u32c8\u06a0\u0003", + "\u0002\u0002\u0002\u32c9\u32ca\u0007O\u0002\u0002\u32ca\u32cb\u0007", + "K\u0002\u0002\u32cb\u32cc\u0007T\u0002\u0002\u32cc\u32cd\u0007T\u0002", + "\u0002\u32cd\u32ce\u0007Q\u0002\u0002\u32ce\u32cf\u0007T\u0002\u0002", + "\u32cf\u06a2\u0003\u0002\u0002\u0002\u32d0\u32d1\u0007O\u0002\u0002", + "\u32d1\u32d2\u0007N\u0002\u0002\u32d2\u32d3\u0007U\u0002\u0002\u32d3", + "\u32d4\u0007N\u0002\u0002\u32d4\u32d5\u0007C\u0002\u0002\u32d5\u32d6", + "\u0007D\u0002\u0002\u32d6\u32d7\u0007G\u0002\u0002\u32d7\u32d8\u0007", + "N\u0002\u0002\u32d8\u06a4\u0003\u0002\u0002\u0002\u32d9\u32da\u0007", + "O\u0002\u0002\u32da\u32db\u0007Q\u0002\u0002\u32db\u32dc\u0007F\u0002", + "\u0002\u32dc\u32dd\u0007G\u0002\u0002\u32dd\u32de\u0007N\u0002\u0002", + "\u32de\u32df\u0007a\u0002\u0002\u32df\u32e0\u0007E\u0002\u0002\u32e0", + "\u32e1\u0007Q\u0002\u0002\u32e1\u32e2\u0007O\u0002\u0002\u32e2\u32e3", + "\u0007R\u0002\u0002\u32e3\u32e4\u0007K\u0002\u0002\u32e4\u32e5\u0007", + "N\u0002\u0002\u32e5\u32e6\u0007G\u0002\u0002\u32e6\u32e7\u0007a\u0002", + "\u0002\u32e7\u32e8\u0007U\u0002\u0002\u32e8\u32e9\u0007W\u0002\u0002", + "\u32e9\u32ea\u0007D\u0002\u0002\u32ea\u32eb\u0007S\u0002\u0002\u32eb", + "\u32ec\u0007W\u0002\u0002\u32ec\u32ed\u0007G\u0002\u0002\u32ed\u32ee", + "\u0007T\u0002\u0002\u32ee\u32ef\u0007[\u0002\u0002\u32ef\u06a6\u0003", + "\u0002\u0002\u0002\u32f0\u32f1\u0007O\u0002\u0002\u32f1\u32f2\u0007", + "Q\u0002\u0002\u32f2\u32f3\u0007F\u0002\u0002\u32f3\u32f4\u0007G\u0002", + "\u0002\u32f4\u32f5\u0007N\u0002\u0002\u32f5\u32f6\u0007a\u0002\u0002", + "\u32f6\u32f7\u0007F\u0002\u0002\u32f7\u32f8\u0007Q\u0002\u0002\u32f8", + "\u32f9\u0007P\u0002\u0002\u32f9\u32fa\u0007V\u0002\u0002\u32fa\u32fb", + "\u0007X\u0002\u0002\u32fb\u32fc\u0007G\u0002\u0002\u32fc\u32fd\u0007", + "T\u0002\u0002\u32fd\u32fe\u0007K\u0002\u0002\u32fe\u32ff\u0007H\u0002", + "\u0002\u32ff\u3300\u0007[\u0002\u0002\u3300\u3301\u0007a\u0002\u0002", + "\u3301\u3302\u0007W\u0002\u0002\u3302\u3303\u0007P\u0002\u0002\u3303", + "\u3304\u0007K\u0002\u0002\u3304\u3305\u0007S\u0002\u0002\u3305\u3306", + "\u0007W\u0002\u0002\u3306\u3307\u0007G\u0002\u0002\u3307\u3308\u0007", + "P\u0002\u0002\u3308\u3309\u0007G\u0002\u0002\u3309\u330a\u0007U\u0002", + "\u0002\u330a\u330b\u0007U\u0002\u0002\u330b\u06a8\u0003\u0002\u0002", + "\u0002\u330c\u330d\u0007O\u0002\u0002\u330d\u330e\u0007Q\u0002\u0002", + "\u330e\u330f\u0007F\u0002\u0002\u330f\u3310\u0007G\u0002\u0002\u3310", + "\u3311\u0007N\u0002\u0002\u3311\u3312\u0007a\u0002\u0002\u3312\u3313", + "\u0007F\u0002\u0002\u3313\u3314\u0007[\u0002\u0002\u3314\u3315\u0007", + "P\u0002\u0002\u3315\u3316\u0007C\u0002\u0002\u3316\u3317\u0007O\u0002", + "\u0002\u3317\u3318\u0007K\u0002\u0002\u3318\u3319\u0007E\u0002\u0002", + "\u3319\u331a\u0007a\u0002\u0002\u331a\u331b\u0007U\u0002\u0002\u331b", + "\u331c\u0007W\u0002\u0002\u331c\u331d\u0007D\u0002\u0002\u331d\u331e", + "\u0007S\u0002\u0002\u331e\u331f\u0007W\u0002\u0002\u331f\u3320\u0007", + "G\u0002\u0002\u3320\u3321\u0007T\u0002\u0002\u3321\u3322\u0007[\u0002", + "\u0002\u3322\u06aa\u0003\u0002\u0002\u0002\u3323\u3324\u0007O\u0002", + "\u0002\u3324\u3325\u0007Q\u0002\u0002\u3325\u3326\u0007F\u0002\u0002", + "\u3326\u3327\u0007G\u0002\u0002\u3327\u3328\u0007N\u0002\u0002\u3328", + "\u3329\u0007a\u0002\u0002\u3329\u332a\u0007O\u0002\u0002\u332a\u332b", + "\u0007K\u0002\u0002\u332b\u332c\u0007P\u0002\u0002\u332c\u332d\u0007", + "a\u0002\u0002\u332d\u332e\u0007C\u0002\u0002\u332e\u332f\u0007P\u0002", + "\u0002\u332f\u3330\u0007C\u0002\u0002\u3330\u3331\u0007N\u0002\u0002", + "\u3331\u3332\u0007[\u0002\u0002\u3332\u3333\u0007U\u0002\u0002\u3333", + "\u3334\u0007K\u0002\u0002\u3334\u3335\u0007U\u0002\u0002\u3335\u06ac", + "\u0003\u0002\u0002\u0002\u3336\u3337\u0007O\u0002\u0002\u3337\u3338", + "\u0007Q\u0002\u0002\u3338\u3339\u0007F\u0002\u0002\u3339\u333a\u0007", + "G\u0002\u0002\u333a\u333b\u0007N\u0002\u0002\u333b\u06ae\u0003\u0002", + "\u0002\u0002\u333c\u333d\u0007O\u0002\u0002\u333d\u333e\u0007Q\u0002", + "\u0002\u333e\u333f\u0007F\u0002\u0002\u333f\u3340\u0007G\u0002\u0002", + "\u3340\u3341\u0007N\u0002\u0002\u3341\u3342\u0007a\u0002\u0002\u3342", + "\u3343\u0007P\u0002\u0002\u3343\u3344\u0007D\u0002\u0002\u3344\u06b0", + "\u0003\u0002\u0002\u0002\u3345\u3346\u0007O\u0002\u0002\u3346\u3347", + "\u0007Q\u0002\u0002\u3347\u3348\u0007F\u0002\u0002\u3348\u3349\u0007", + "G\u0002\u0002\u3349\u334a\u0007N\u0002\u0002\u334a\u334b\u0007a\u0002", + "\u0002\u334b\u334c\u0007P\u0002\u0002\u334c\u334d\u0007Q\u0002\u0002", + "\u334d\u334e\u0007a\u0002\u0002\u334e\u334f\u0007C\u0002\u0002\u334f", + "\u3350\u0007P\u0002\u0002\u3350\u3351\u0007C\u0002\u0002\u3351\u3352", + "\u0007N\u0002\u0002\u3352\u3353\u0007[\u0002\u0002\u3353\u3354\u0007", + "U\u0002\u0002\u3354\u3355\u0007K\u0002\u0002\u3355\u3356\u0007U\u0002", + "\u0002\u3356\u06b2\u0003\u0002\u0002\u0002\u3357\u3358\u0007O\u0002", + "\u0002\u3358\u3359\u0007Q\u0002\u0002\u3359\u335a\u0007F\u0002\u0002", + "\u335a\u335b\u0007G\u0002\u0002\u335b\u335c\u0007N\u0002\u0002\u335c", + "\u335d\u0007a\u0002\u0002\u335d\u335e\u0007R\u0002\u0002\u335e\u335f", + "\u0007D\u0002\u0002\u335f\u3360\u0007[\u0002\u0002\u3360\u06b4\u0003", + "\u0002\u0002\u0002\u3361\u3362\u0007O\u0002\u0002\u3362\u3363\u0007", + "Q\u0002\u0002\u3363\u3364\u0007F\u0002\u0002\u3364\u3365\u0007G\u0002", + "\u0002\u3365\u3366\u0007N\u0002\u0002\u3366\u3367\u0007a\u0002\u0002", + "\u3367\u3368\u0007R\u0002\u0002\u3368\u3369\u0007W\u0002\u0002\u3369", + "\u336a\u0007U\u0002\u0002\u336a\u336b\u0007J\u0002\u0002\u336b\u336c", + "\u0007a\u0002\u0002\u336c\u336d\u0007T\u0002\u0002\u336d\u336e\u0007", + "G\u0002\u0002\u336e\u336f\u0007H\u0002\u0002\u336f\u06b6\u0003\u0002", + "\u0002\u0002\u3370\u3371\u0007O\u0002\u0002\u3371\u3372\u0007Q\u0002", + "\u0002\u3372\u3373\u0007F\u0002\u0002\u3373\u3374\u0007G\u0002\u0002", + "\u3374\u3375\u0007N\u0002\u0002\u3375\u3376\u0007a\u0002\u0002\u3376", + "\u3377\u0007U\u0002\u0002\u3377\u3378\u0007X\u0002\u0002\u3378\u06b8", + "\u0003\u0002\u0002\u0002\u3379\u337a\u0007O\u0002\u0002\u337a\u337b", + "\u0007Q\u0002\u0002\u337b\u337c\u0007F\u0002\u0002\u337c\u337d\u0007", + "G\u0002\u0002\u337d\u06ba\u0003\u0002\u0002\u0002\u337e\u337f\u0007", + "O\u0002\u0002\u337f\u3380\u0007Q\u0002\u0002\u3380\u3381\u0007F\u0002", + "\u0002\u3381\u3382\u0007K\u0002\u0002\u3382\u3383\u0007H\u0002\u0002", + "\u3383\u3384\u0007K\u0002\u0002\u3384\u3385\u0007E\u0002\u0002\u3385", + "\u3386\u0007C\u0002\u0002\u3386\u3387\u0007V\u0002\u0002\u3387\u3388", + "\u0007K\u0002\u0002\u3388\u3389\u0007Q\u0002\u0002\u3389\u338a\u0007", + "P\u0002\u0002\u338a\u06bc\u0003\u0002\u0002\u0002\u338b\u338c\u0007", + "O\u0002\u0002\u338c\u338d\u0007Q\u0002\u0002\u338d\u338e\u0007F\u0002", + "\u0002\u338e\u338f\u0007K\u0002\u0002\u338f\u3390\u0007H\u0002\u0002", + "\u3390\u3391\u0007[\u0002\u0002\u3391\u3392\u0007a\u0002\u0002\u3392", + "\u3393\u0007E\u0002\u0002\u3393\u3394\u0007Q\u0002\u0002\u3394\u3395", + "\u0007N\u0002\u0002\u3395\u3396\u0007W\u0002\u0002\u3396\u3397\u0007", + "O\u0002\u0002\u3397\u3398\u0007P\u0002\u0002\u3398\u3399\u0007a\u0002", + "\u0002\u3399\u339a\u0007V\u0002\u0002\u339a\u339b\u0007[\u0002\u0002", + "\u339b\u339c\u0007R\u0002\u0002\u339c\u339d\u0007G\u0002\u0002\u339d", + "\u06be\u0003\u0002\u0002\u0002\u339e\u339f\u0007O\u0002\u0002\u339f", + "\u33a0\u0007Q\u0002\u0002\u33a0\u33a1\u0007F\u0002\u0002\u33a1\u33a2", + "\u0007K\u0002\u0002\u33a2\u33a3\u0007H\u0002\u0002\u33a3\u33a4\u0007", + "[\u0002\u0002\u33a4\u06c0\u0003\u0002\u0002\u0002\u33a5\u33a6\u0007", + "O\u0002\u0002\u33a6\u33a7\u0007Q\u0002\u0002\u33a7\u33a8\u0007F\u0002", + "\u0002\u33a8\u06c2\u0003\u0002\u0002\u0002\u33a9\u33aa\u0007O\u0002", + "\u0002\u33aa\u33ab\u0007Q\u0002\u0002\u33ab\u33ac\u0007F\u0002\u0002", + "\u33ac\u33ad\u0007W\u0002\u0002\u33ad\u33ae\u0007N\u0002\u0002\u33ae", + "\u33af\u0007G\u0002\u0002\u33af\u06c4\u0003\u0002\u0002\u0002\u33b0", + "\u33b1\u0007O\u0002\u0002\u33b1\u33b2\u0007Q\u0002\u0002\u33b2\u33b3", + "\u0007P\u0002\u0002\u33b3\u33b4\u0007K\u0002\u0002\u33b4\u33b5\u0007", + "V\u0002\u0002\u33b5\u33b6\u0007Q\u0002\u0002\u33b6\u33b7\u0007T\u0002", + "\u0002\u33b7\u33b8\u0007K\u0002\u0002\u33b8\u33b9\u0007P\u0002\u0002", + "\u33b9\u33ba\u0007I\u0002\u0002\u33ba\u06c6\u0003\u0002\u0002\u0002", + "\u33bb\u33bc\u0007O\u0002\u0002\u33bc\u33bd\u0007Q\u0002\u0002\u33bd", + "\u33be\u0007P\u0002\u0002\u33be\u33bf\u0007K\u0002\u0002\u33bf\u33c0", + "\u0007V\u0002\u0002\u33c0\u33c1\u0007Q\u0002\u0002\u33c1\u33c2\u0007", + "T\u0002\u0002\u33c2\u06c8\u0003\u0002\u0002\u0002\u33c3\u33c4\u0007", + "O\u0002\u0002\u33c4\u33c5\u0007Q\u0002\u0002\u33c5\u33c6\u0007P\u0002", + "\u0002\u33c6\u33c7\u0007V\u0002\u0002\u33c7\u33c8\u0007J\u0002\u0002", + "\u33c8\u06ca\u0003\u0002\u0002\u0002\u33c9\u33ca\u0007O\u0002\u0002", + "\u33ca\u33cb\u0007Q\u0002\u0002\u33cb\u33cc\u0007P\u0002\u0002\u33cc", + "\u33cd\u0007V\u0002\u0002\u33cd\u33ce\u0007J\u0002\u0002\u33ce\u33cf", + "\u0007U\u0002\u0002\u33cf\u33d0\u0007a\u0002\u0002\u33d0\u33d1\u0007", + "D\u0002\u0002\u33d1\u33d2\u0007G\u0002\u0002\u33d2\u33d3\u0007V\u0002", + "\u0002\u33d3\u33d4\u0007Y\u0002\u0002\u33d4\u33d5\u0007G\u0002\u0002", + "\u33d5\u33d6\u0007G\u0002\u0002\u33d6\u33d7\u0007P\u0002\u0002\u33d7", + "\u06cc\u0003\u0002\u0002\u0002\u33d8\u33d9\u0007O\u0002\u0002\u33d9", + "\u33da\u0007Q\u0002\u0002\u33da\u33db\u0007P\u0002\u0002\u33db\u33dc", + "\u0007V\u0002\u0002\u33dc\u33dd\u0007J\u0002\u0002\u33dd\u33de\u0007", + "U\u0002\u0002\u33de\u06ce\u0003\u0002\u0002\u0002\u33df\u33e0\u0007", + "O\u0002\u0002\u33e0\u33e1\u0007Q\u0002\u0002\u33e1\u33e2\u0007W\u0002", + "\u0002\u33e2\u33e3\u0007P\u0002\u0002\u33e3\u33e4\u0007V\u0002\u0002", + "\u33e4\u06d0\u0003\u0002\u0002\u0002\u33e5\u33e6\u0007O\u0002\u0002", + "\u33e6\u33e7\u0007Q\u0002\u0002\u33e7\u33e8\u0007W\u0002\u0002\u33e8", + "\u33e9\u0007P\u0002\u0002\u33e9\u33ea\u0007V\u0002\u0002\u33ea\u33eb", + "\u0007R\u0002\u0002\u33eb\u33ec\u0007C\u0002\u0002\u33ec\u33ed\u0007", + "V\u0002\u0002\u33ed\u33ee\u0007J\u0002\u0002\u33ee\u06d2\u0003\u0002", + "\u0002\u0002\u33ef\u33f0\u0007O\u0002\u0002\u33f0\u33f1\u0007Q\u0002", + "\u0002\u33f1\u33f2\u0007X\u0002\u0002\u33f2\u33f3\u0007G\u0002\u0002", + "\u33f3\u33f4\u0007O\u0002\u0002\u33f4\u33f5\u0007G\u0002\u0002\u33f5", + "\u33f6\u0007P\u0002\u0002\u33f6\u33f7\u0007V\u0002\u0002\u33f7\u06d4", + "\u0003\u0002\u0002\u0002\u33f8\u33f9\u0007O\u0002\u0002\u33f9\u33fa", + "\u0007Q\u0002\u0002\u33fa\u33fb\u0007X\u0002\u0002\u33fb\u33fc\u0007", + "G\u0002\u0002\u33fc\u06d6\u0003\u0002\u0002\u0002\u33fd\u33fe\u0007", + "O\u0002\u0002\u33fe\u33ff\u0007W\u0002\u0002\u33ff\u3400\u0007N\u0002", + "\u0002\u3400\u3401\u0007V\u0002\u0002\u3401\u3402\u0007K\u0002\u0002", + "\u3402\u3403\u0007F\u0002\u0002\u3403\u3404\u0007K\u0002\u0002\u3404", + "\u3405\u0007O\u0002\u0002\u3405\u3406\u0007G\u0002\u0002\u3406\u3407", + "\u0007P\u0002\u0002\u3407\u3408\u0007U\u0002\u0002\u3408\u3409\u0007", + "K\u0002\u0002\u3409\u340a\u0007Q\u0002\u0002\u340a\u340b\u0007P\u0002", + "\u0002\u340b\u340c\u0007C\u0002\u0002\u340c\u340d\u0007N\u0002\u0002", + "\u340d\u06d8\u0003\u0002\u0002\u0002\u340e\u340f\u0007O\u0002\u0002", + "\u340f\u3410\u0007W\u0002\u0002\u3410\u3411\u0007N\u0002\u0002\u3411", + "\u3412\u0007V\u0002\u0002\u3412\u3413\u0007K\u0002\u0002\u3413\u3414", + "\u0007U\u0002\u0002\u3414\u3415\u0007G\u0002\u0002\u3415\u3416\u0007", + "V\u0002\u0002\u3416\u06da\u0003\u0002\u0002\u0002\u3417\u3418\u0007", + "O\u0002\u0002\u3418\u3419\u0007X\u0002\u0002\u3419\u341a\u0007a\u0002", + "\u0002\u341a\u341b\u0007O\u0002\u0002\u341b\u341c\u0007G\u0002\u0002", + "\u341c\u341d\u0007T\u0002\u0002\u341d\u341e\u0007I\u0002\u0002\u341e", + "\u341f\u0007G\u0002\u0002\u341f\u06dc\u0003\u0002\u0002\u0002\u3420", + "\u3421\u0007P\u0002\u0002\u3421\u3422\u0007C\u0002\u0002\u3422\u3423", + "\u0007O\u0002\u0002\u3423\u3424\u0007G\u0002\u0002\u3424\u3425\u0007", + "F\u0002\u0002\u3425\u06de\u0003\u0002\u0002\u0002\u3426\u3427\u0007", + "P\u0002\u0002\u3427\u3428\u0007C\u0002\u0002\u3428\u3429\u0007O\u0002", + "\u0002\u3429\u342a\u0007G\u0002\u0002\u342a\u06e0\u0003\u0002\u0002", + "\u0002\u342b\u342c\u0007P\u0002\u0002\u342c\u342d\u0007C\u0002\u0002", + "\u342d\u342e\u0007O\u0002\u0002\u342e\u342f\u0007G\u0002\u0002\u342f", + "\u3430\u0007U\u0002\u0002\u3430\u3431\u0007R\u0002\u0002\u3431\u3432", + "\u0007C\u0002\u0002\u3432\u3433\u0007E\u0002\u0002\u3433\u3434\u0007", + "G\u0002\u0002\u3434\u06e2\u0003\u0002\u0002\u0002\u3435\u3436\u0007", + "P\u0002\u0002\u3436\u3437\u0007C\u0002\u0002\u3437\u3438\u0007P\u0002", + "\u0002\u3438\u06e4\u0003\u0002\u0002\u0002\u3439\u343a\u0007P\u0002", + "\u0002\u343a\u343b\u0007C\u0002\u0002\u343b\u343c\u0007P\u0002\u0002", + "\u343c\u343d\u0007X\u0002\u0002\u343d\u343e\u0007N\u0002\u0002\u343e", + "\u06e6\u0003\u0002\u0002\u0002\u343f\u3440\u0007P\u0002\u0002\u3440", + "\u3441\u0007C\u0002\u0002\u3441\u3442\u0007V\u0002\u0002\u3442\u3443", + "\u0007K\u0002\u0002\u3443\u3444\u0007Q\u0002\u0002\u3444\u3445\u0007", + "P\u0002\u0002\u3445\u3446\u0007C\u0002\u0002\u3446\u3447\u0007N\u0002", + "\u0002\u3447\u06e8\u0003\u0002\u0002\u0002\u3448\u3449\u0007P\u0002", + "\u0002\u3449\u344a\u0007C\u0002\u0002\u344a\u344b\u0007V\u0002\u0002", + "\u344b\u344c\u0007K\u0002\u0002\u344c\u344d\u0007X\u0002\u0002\u344d", + "\u344e\u0007G\u0002\u0002\u344e\u344f\u0007a\u0002\u0002\u344f\u3450", + "\u0007H\u0002\u0002\u3450\u3451\u0007W\u0002\u0002\u3451\u3452\u0007", + "N\u0002\u0002\u3452\u3453\u0007N\u0002\u0002\u3453\u3454\u0007a\u0002", + "\u0002\u3454\u3455\u0007Q\u0002\u0002\u3455\u3456\u0007W\u0002\u0002", + "\u3456\u3457\u0007V\u0002\u0002\u3457\u3458\u0007G\u0002\u0002\u3458", + "\u3459\u0007T\u0002\u0002\u3459\u345a\u0007a\u0002\u0002\u345a\u345b", + "\u0007L\u0002\u0002\u345b\u345c\u0007Q\u0002\u0002\u345c\u345d\u0007", + "K\u0002\u0002\u345d\u345e\u0007P\u0002\u0002\u345e\u06ea\u0003\u0002", + "\u0002\u0002\u345f\u3460\u0007P\u0002\u0002\u3460\u3461\u0007C\u0002", + "\u0002\u3461\u3462\u0007V\u0002\u0002\u3462\u3463\u0007K\u0002\u0002", + "\u3463\u3464\u0007X\u0002\u0002\u3464\u3465\u0007G\u0002\u0002\u3465", + "\u06ec\u0003\u0002\u0002\u0002\u3466\u3467\u0007P\u0002\u0002\u3467", + "\u3468\u0007C\u0002\u0002\u3468\u3469\u0007V\u0002\u0002\u3469\u346a", + "\u0007W\u0002\u0002\u346a\u346b\u0007T\u0002\u0002\u346b\u346c\u0007", + "C\u0002\u0002\u346c\u346d\u0007N\u0002\u0002\u346d\u06ee\u0003\u0002", + "\u0002\u0002\u346e\u346f\u0007P\u0002\u0002\u346f\u3470\u0007C\u0002", + "\u0002\u3470\u3471\u0007V\u0002\u0002\u3471\u3472\u0007W\u0002\u0002", + "\u3472\u3473\u0007T\u0002\u0002\u3473\u3474\u0007C\u0002\u0002\u3474", + "\u3475\u0007N\u0002\u0002\u3475\u3476\u0007P\u0002\u0002\u3476\u06f0", + "\u0003\u0002\u0002\u0002\u3477\u3478\u0007P\u0002\u0002\u3478\u3479", + "\u0007C\u0002\u0002\u3479\u347a\u0007X\u0002\u0002\u347a\u06f2\u0003", + "\u0002\u0002\u0002\u347b\u347c\u0007P\u0002\u0002\u347c\u347d\u0007", + "E\u0002\u0002\u347d\u347e\u0007J\u0002\u0002\u347e\u347f\u0007C\u0002", + "\u0002\u347f\u3480\u0007T\u0002\u0002\u3480\u3481\u0007a\u0002\u0002", + "\u3481\u3482\u0007E\u0002\u0002\u3482\u3483\u0007U\u0002\u0002\u3483", + "\u06f4\u0003\u0002\u0002\u0002\u3484\u3485\u0007P\u0002\u0002\u3485", + "\u3486\u0007E\u0002\u0002\u3486\u3487\u0007J\u0002\u0002\u3487\u3488", + "\u0007C\u0002\u0002\u3488\u3489\u0007T\u0002\u0002\u3489\u06f6\u0003", + "\u0002\u0002\u0002\u348a\u348b\u0007P\u0002\u0002\u348b\u348c\u0007", + "E\u0002\u0002\u348c\u348d\u0007J\u0002\u0002\u348d\u348e\u0007T\u0002", + "\u0002\u348e\u06f8\u0003\u0002\u0002\u0002\u348f\u3490\u0007P\u0002", + "\u0002\u3490\u3491\u0007E\u0002\u0002\u3491\u3492\u0007N\u0002\u0002", + "\u3492\u3493\u0007Q\u0002\u0002\u3493\u3494\u0007D\u0002\u0002\u3494", + "\u06fa\u0003\u0002\u0002\u0002\u3495\u3496\u0007P\u0002\u0002\u3496", + "\u3497\u0007G\u0002\u0002\u3497\u3498\u0007G\u0002\u0002\u3498\u3499", + "\u0007F\u0002\u0002\u3499\u349a\u0007G\u0002\u0002\u349a\u349b\u0007", + "F\u0002\u0002\u349b\u06fc\u0003\u0002\u0002\u0002\u349c\u349d\u0007", + "P\u0002\u0002\u349d\u349e\u0007G\u0002\u0002\u349e\u349f\u0007I\u0002", + "\u0002\u349f\u06fe\u0003\u0002\u0002\u0002\u34a0\u34a1\u0007P\u0002", + "\u0002\u34a1\u34a2\u0007G\u0002\u0002\u34a2\u34a3\u0007U\u0002\u0002", + "\u34a3\u34a4\u0007V\u0002\u0002\u34a4\u34a5\u0007G\u0002\u0002\u34a5", + "\u34a6\u0007F\u0002\u0002\u34a6\u0700\u0003\u0002\u0002\u0002\u34a7", + "\u34a8\u0007P\u0002\u0002\u34a8\u34a9\u0007G\u0002\u0002\u34a9\u34aa", + "\u0007U\u0002\u0002\u34aa\u34ab\u0007V\u0002\u0002\u34ab\u34ac\u0007", + "G\u0002\u0002\u34ac\u34ad\u0007F\u0002\u0002\u34ad\u34ae\u0007a\u0002", + "\u0002\u34ae\u34af\u0007V\u0002\u0002\u34af\u34b0\u0007C\u0002\u0002", + "\u34b0\u34b1\u0007D\u0002\u0002\u34b1\u34b2\u0007N\u0002\u0002\u34b2", + "\u34b3\u0007G\u0002\u0002\u34b3\u34b4\u0007a\u0002\u0002\u34b4\u34b5", + "\u0007H\u0002\u0002\u34b5\u34b6\u0007C\u0002\u0002\u34b6\u34b7\u0007", + "U\u0002\u0002\u34b7\u34b8\u0007V\u0002\u0002\u34b8\u34b9\u0007a\u0002", + "\u0002\u34b9\u34ba\u0007K\u0002\u0002\u34ba\u34bb\u0007P\u0002\u0002", + "\u34bb\u34bc\u0007U\u0002\u0002\u34bc\u34bd\u0007G\u0002\u0002\u34bd", + "\u34be\u0007T\u0002\u0002\u34be\u34bf\u0007V\u0002\u0002\u34bf\u0702", + "\u0003\u0002\u0002\u0002\u34c0\u34c1\u0007P\u0002\u0002\u34c1\u34c2", + "\u0007G\u0002\u0002\u34c2\u34c3\u0007U\u0002\u0002\u34c3\u34c4\u0007", + "V\u0002\u0002\u34c4\u34c5\u0007G\u0002\u0002\u34c5\u34c6\u0007F\u0002", + "\u0002\u34c6\u34c7\u0007a\u0002\u0002\u34c7\u34c8\u0007V\u0002\u0002", + "\u34c8\u34c9\u0007C\u0002\u0002\u34c9\u34ca\u0007D\u0002\u0002\u34ca", + "\u34cb\u0007N\u0002\u0002\u34cb\u34cc\u0007G\u0002\u0002\u34cc\u34cd", + "\u0007a\u0002\u0002\u34cd\u34ce\u0007I\u0002\u0002\u34ce\u34cf\u0007", + "G\u0002\u0002\u34cf\u34d0\u0007V\u0002\u0002\u34d0\u34d1\u0007a\u0002", + "\u0002\u34d1\u34d2\u0007T\u0002\u0002\u34d2\u34d3\u0007G\u0002\u0002", + "\u34d3\u34d4\u0007H\u0002\u0002\u34d4\u34d5\u0007U\u0002\u0002\u34d5", + "\u0704\u0003\u0002\u0002\u0002\u34d6\u34d7\u0007P\u0002\u0002\u34d7", + "\u34d8\u0007G\u0002\u0002\u34d8\u34d9\u0007U\u0002\u0002\u34d9\u34da", + "\u0007V\u0002\u0002\u34da\u34db\u0007G\u0002\u0002\u34db\u34dc\u0007", + "F\u0002\u0002\u34dc\u34dd\u0007a\u0002\u0002\u34dd\u34de\u0007V\u0002", + "\u0002\u34de\u34df\u0007C\u0002\u0002\u34df\u34e0\u0007D\u0002\u0002", + "\u34e0\u34e1\u0007N\u0002\u0002\u34e1\u34e2\u0007G\u0002\u0002\u34e2", + "\u34e3\u0007a\u0002\u0002\u34e3\u34e4\u0007K\u0002\u0002\u34e4\u34e5", + "\u0007F\u0002\u0002\u34e5\u0706\u0003\u0002\u0002\u0002\u34e6\u34e7", + "\u0007P\u0002\u0002\u34e7\u34e8\u0007G\u0002\u0002\u34e8\u34e9\u0007", + "U\u0002\u0002\u34e9\u34ea\u0007V\u0002\u0002\u34ea\u34eb\u0007G\u0002", + "\u0002\u34eb\u34ec\u0007F\u0002\u0002\u34ec\u34ed\u0007a\u0002\u0002", + "\u34ed\u34ee\u0007V\u0002\u0002\u34ee\u34ef\u0007C\u0002\u0002\u34ef", + "\u34f0\u0007D\u0002\u0002\u34f0\u34f1\u0007N\u0002\u0002\u34f1\u34f2", + "\u0007G\u0002\u0002\u34f2\u34f3\u0007a\u0002\u0002\u34f3\u34f4\u0007", + "U\u0002\u0002\u34f4\u34f5\u0007G\u0002\u0002\u34f5\u34f6\u0007V\u0002", + "\u0002\u34f6\u34f7\u0007a\u0002\u0002\u34f7\u34f8\u0007T\u0002\u0002", + "\u34f8\u34f9\u0007G\u0002\u0002\u34f9\u34fa\u0007H\u0002\u0002\u34fa", + "\u34fb\u0007U\u0002\u0002\u34fb\u0708\u0003\u0002\u0002\u0002\u34fc", + "\u34fd\u0007P\u0002\u0002\u34fd\u34fe\u0007G\u0002\u0002\u34fe\u34ff", + "\u0007U\u0002\u0002\u34ff\u3500\u0007V\u0002\u0002\u3500\u3501\u0007", + "G\u0002\u0002\u3501\u3502\u0007F\u0002\u0002\u3502\u3503\u0007a\u0002", + "\u0002\u3503\u3504\u0007V\u0002\u0002\u3504\u3505\u0007C\u0002\u0002", + "\u3505\u3506\u0007D\u0002\u0002\u3506\u3507\u0007N\u0002\u0002\u3507", + "\u3508\u0007G\u0002\u0002\u3508\u3509\u0007a\u0002\u0002\u3509\u350a", + "\u0007U\u0002\u0002\u350a\u350b\u0007G\u0002\u0002\u350b\u350c\u0007", + "V\u0002\u0002\u350c\u350d\u0007a\u0002\u0002\u350d\u350e\u0007U\u0002", + "\u0002\u350e\u350f\u0007G\u0002\u0002\u350f\u3510\u0007V\u0002\u0002", + "\u3510\u3511\u0007K\u0002\u0002\u3511\u3512\u0007F\u0002\u0002\u3512", + "\u070a\u0003\u0002\u0002\u0002\u3513\u3514\u0007P\u0002\u0002\u3514", + "\u3515\u0007G\u0002\u0002\u3515\u3516\u0007V\u0002\u0002\u3516\u3517", + "\u0007Y\u0002\u0002\u3517\u3518\u0007Q\u0002\u0002\u3518\u3519\u0007", + "T\u0002\u0002\u3519\u351a\u0007M\u0002\u0002\u351a\u070c\u0003\u0002", + "\u0002\u0002\u351b\u351c\u0007P\u0002\u0002\u351c\u351d\u0007G\u0002", + "\u0002\u351d\u351e\u0007X\u0002\u0002\u351e\u351f\u0007G\u0002\u0002", + "\u351f\u3520\u0007T\u0002\u0002\u3520\u070e\u0003\u0002\u0002\u0002", + "\u3521\u3522\u0007P\u0002\u0002\u3522\u3523\u0007G\u0002\u0002\u3523", + "\u3524\u0007Y\u0002\u0002\u3524\u0710\u0003\u0002\u0002\u0002\u3525", + "\u3526\u0007P\u0002\u0002\u3526\u3527\u0007G\u0002\u0002\u3527\u3528", + "\u0007Y\u0002\u0002\u3528\u3529\u0007a\u0002\u0002\u3529\u352a\u0007", + "V\u0002\u0002\u352a\u352b\u0007K\u0002\u0002\u352b\u352c\u0007O\u0002", + "\u0002\u352c\u352d\u0007G\u0002\u0002\u352d\u0712\u0003\u0002\u0002", + "\u0002\u352e\u352f\u0007P\u0002\u0002\u352f\u3530\u0007G\u0002\u0002", + "\u3530\u3531\u0007Z\u0002\u0002\u3531\u3532\u0007V\u0002\u0002\u3532", + "\u3533\u0007a\u0002\u0002\u3533\u3534\u0007F\u0002\u0002\u3534\u3535", + "\u0007C\u0002\u0002\u3535\u3536\u0007[\u0002\u0002\u3536\u0714\u0003", + "\u0002\u0002\u0002\u3537\u3538\u0007P\u0002\u0002\u3538\u3539\u0007", + "G\u0002\u0002\u3539\u353a\u0007Z\u0002\u0002\u353a\u353b\u0007V\u0002", + "\u0002\u353b\u0716\u0003\u0002\u0002\u0002\u353c\u353d\u0007P\u0002", + "\u0002\u353d\u353e\u0007N\u0002\u0002\u353e\u353f\u0007a\u0002\u0002", + "\u353f\u3540\u0007C\u0002\u0002\u3540\u3541\u0007L\u0002\u0002\u3541", + "\u0718\u0003\u0002\u0002\u0002\u3542\u3543\u0007P\u0002\u0002\u3543", + "\u3544\u0007N\u0002\u0002\u3544\u3545\u0007L\u0002\u0002\u3545\u3546", + "\u0007a\u0002\u0002\u3546\u3547\u0007D\u0002\u0002\u3547\u3548\u0007", + "C\u0002\u0002\u3548\u3549\u0007V\u0002\u0002\u3549\u354a\u0007E\u0002", + "\u0002\u354a\u354b\u0007J\u0002\u0002\u354b\u354c\u0007K\u0002\u0002", + "\u354c\u354d\u0007P\u0002\u0002\u354d\u354e\u0007I\u0002\u0002\u354e", + "\u071a\u0003\u0002\u0002\u0002\u354f\u3550\u0007P\u0002\u0002\u3550", + "\u3551\u0007N\u0002\u0002\u3551\u3552\u0007L\u0002\u0002\u3552\u3553", + "\u0007a\u0002\u0002\u3553\u3554\u0007K\u0002\u0002\u3554\u3555\u0007", + "P\u0002\u0002\u3555\u3556\u0007F\u0002\u0002\u3556\u3557\u0007G\u0002", + "\u0002\u3557\u3558\u0007Z\u0002\u0002\u3558\u3559\u0007a\u0002\u0002", + "\u3559\u355a\u0007H\u0002\u0002\u355a\u355b\u0007K\u0002\u0002\u355b", + "\u355c\u0007N\u0002\u0002\u355c\u355d\u0007V\u0002\u0002\u355d\u355e", + "\u0007G\u0002\u0002\u355e\u355f\u0007T\u0002\u0002\u355f\u071c\u0003", + "\u0002\u0002\u0002\u3560\u3561\u0007P\u0002\u0002\u3561\u3562\u0007", + "N\u0002\u0002\u3562\u3563\u0007L\u0002\u0002\u3563\u3564\u0007a\u0002", + "\u0002\u3564\u3565\u0007K\u0002\u0002\u3565\u3566\u0007P\u0002\u0002", + "\u3566\u3567\u0007F\u0002\u0002\u3567\u3568\u0007G\u0002\u0002\u3568", + "\u3569\u0007Z\u0002\u0002\u3569\u356a\u0007a\u0002\u0002\u356a\u356b", + "\u0007U\u0002\u0002\u356b\u356c\u0007E\u0002\u0002\u356c\u356d\u0007", + "C\u0002\u0002\u356d\u356e\u0007P\u0002\u0002\u356e\u071e\u0003\u0002", + "\u0002\u0002\u356f\u3570\u0007P\u0002\u0002\u3570\u3571\u0007N\u0002", + "\u0002\u3571\u3572\u0007L\u0002\u0002\u3572\u3573\u0007a\u0002\u0002", + "\u3573\u3574\u0007R\u0002\u0002\u3574\u3575\u0007T\u0002\u0002\u3575", + "\u3576\u0007G\u0002\u0002\u3576\u3577\u0007H\u0002\u0002\u3577\u3578", + "\u0007G\u0002\u0002\u3578\u3579\u0007V\u0002\u0002\u3579\u357a\u0007", + "E\u0002\u0002\u357a\u357b\u0007J\u0002\u0002\u357b\u0720\u0003\u0002", + "\u0002\u0002\u357c\u357d\u0007P\u0002\u0002\u357d\u357e\u0007N\u0002", + "\u0002\u357e\u357f\u0007U\u0002\u0002\u357f\u3580\u0007a\u0002\u0002", + "\u3580\u3581\u0007E\u0002\u0002\u3581\u3582\u0007C\u0002\u0002\u3582", + "\u3583\u0007N\u0002\u0002\u3583\u3584\u0007G\u0002\u0002\u3584\u3585", + "\u0007P\u0002\u0002\u3585\u3586\u0007F\u0002\u0002\u3586\u3587\u0007", + "C\u0002\u0002\u3587\u3588\u0007T\u0002\u0002\u3588\u0722\u0003\u0002", + "\u0002\u0002\u3589\u358a\u0007P\u0002\u0002\u358a\u358b\u0007N\u0002", + "\u0002\u358b\u358c\u0007U\u0002\u0002\u358c\u358d\u0007a\u0002\u0002", + "\u358d\u358e\u0007E\u0002\u0002\u358e\u358f\u0007J\u0002\u0002\u358f", + "\u3590\u0007C\u0002\u0002\u3590\u3591\u0007T\u0002\u0002\u3591\u3592", + "\u0007C\u0002\u0002\u3592\u3593\u0007E\u0002\u0002\u3593\u3594\u0007", + "V\u0002\u0002\u3594\u3595\u0007G\u0002\u0002\u3595\u3596\u0007T\u0002", + "\u0002\u3596\u3597\u0007U\u0002\u0002\u3597\u3598\u0007G\u0002\u0002", + "\u3598\u3599\u0007V\u0002\u0002\u3599\u0724\u0003\u0002\u0002\u0002", + "\u359a\u359b\u0007P\u0002\u0002\u359b\u359c\u0007N\u0002\u0002\u359c", + "\u359d\u0007U\u0002\u0002\u359d\u359e\u0007a\u0002\u0002\u359e\u359f", + "\u0007E\u0002\u0002\u359f\u35a0\u0007J\u0002\u0002\u35a0\u35a1\u0007", + "C\u0002\u0002\u35a1\u35a2\u0007T\u0002\u0002\u35a2\u35a3\u0007U\u0002", + "\u0002\u35a3\u35a4\u0007G\u0002\u0002\u35a4\u35a5\u0007V\u0002\u0002", + "\u35a5\u35a6\u0007a\u0002\u0002\u35a6\u35a7\u0007F\u0002\u0002\u35a7", + "\u35a8\u0007G\u0002\u0002\u35a8\u35a9\u0007E\u0002\u0002\u35a9\u35aa", + "\u0007N\u0002\u0002\u35aa\u35ab\u0007a\u0002\u0002\u35ab\u35ac\u0007", + "N\u0002\u0002\u35ac\u35ad\u0007G\u0002\u0002\u35ad\u35ae\u0007P\u0002", + "\u0002\u35ae\u0726\u0003\u0002\u0002\u0002\u35af\u35b0\u0007P\u0002", + "\u0002\u35b0\u35b1\u0007N\u0002\u0002\u35b1\u35b2\u0007U\u0002\u0002", + "\u35b2\u35b3\u0007a\u0002\u0002\u35b3\u35b4\u0007E\u0002\u0002\u35b4", + "\u35b5\u0007J\u0002\u0002\u35b5\u35b6\u0007C\u0002\u0002\u35b6\u35b7", + "\u0007T\u0002\u0002\u35b7\u35b8\u0007U\u0002\u0002\u35b8\u35b9\u0007", + "G\u0002\u0002\u35b9\u35ba\u0007V\u0002\u0002\u35ba\u35bb\u0007a\u0002", + "\u0002\u35bb\u35bc\u0007K\u0002\u0002\u35bc\u35bd\u0007F\u0002\u0002", + "\u35bd\u0728\u0003\u0002\u0002\u0002\u35be\u35bf\u0007P\u0002\u0002", + "\u35bf\u35c0\u0007N\u0002\u0002\u35c0\u35c1\u0007U\u0002\u0002\u35c1", + "\u35c2\u0007a\u0002\u0002\u35c2\u35c3\u0007E\u0002\u0002\u35c3\u35c4", + "\u0007J\u0002\u0002\u35c4\u35c5\u0007C\u0002\u0002\u35c5\u35c6\u0007", + "T\u0002\u0002\u35c6\u35c7\u0007U\u0002\u0002\u35c7\u35c8\u0007G\u0002", + "\u0002\u35c8\u35c9\u0007V\u0002\u0002\u35c9\u35ca\u0007a\u0002\u0002", + "\u35ca\u35cb\u0007P\u0002\u0002\u35cb\u35cc\u0007C\u0002\u0002\u35cc", + "\u35cd\u0007O\u0002\u0002\u35cd\u35ce\u0007G\u0002\u0002\u35ce\u072a", + "\u0003\u0002\u0002\u0002\u35cf\u35d0\u0007P\u0002\u0002\u35d0\u35d1", + "\u0007N\u0002\u0002\u35d1\u35d2\u0007U\u0002\u0002\u35d2\u35d3\u0007", + "a\u0002\u0002\u35d3\u35d4\u0007E\u0002\u0002\u35d4\u35d5\u0007Q\u0002", + "\u0002\u35d5\u35d6\u0007O\u0002\u0002\u35d6\u35d7\u0007R\u0002\u0002", + "\u35d7\u072c\u0003\u0002\u0002\u0002\u35d8\u35d9\u0007P\u0002\u0002", + "\u35d9\u35da\u0007N\u0002\u0002\u35da\u35db\u0007U\u0002\u0002\u35db", + "\u35dc\u0007a\u0002\u0002\u35dc\u35dd\u0007E\u0002\u0002\u35dd\u35de", + "\u0007W\u0002\u0002\u35de\u35df\u0007T\u0002\u0002\u35df\u35e0\u0007", + "T\u0002\u0002\u35e0\u35e1\u0007G\u0002\u0002\u35e1\u35e2\u0007P\u0002", + "\u0002\u35e2\u35e3\u0007E\u0002\u0002\u35e3\u35e4\u0007[\u0002\u0002", + "\u35e4\u072e\u0003\u0002\u0002\u0002\u35e5\u35e6\u0007P\u0002\u0002", + "\u35e6\u35e7\u0007N\u0002\u0002\u35e7\u35e8\u0007U\u0002\u0002\u35e8", + "\u35e9\u0007a\u0002\u0002\u35e9\u35ea\u0007F\u0002\u0002\u35ea\u35eb", + "\u0007C\u0002\u0002\u35eb\u35ec\u0007V\u0002\u0002\u35ec\u35ed\u0007", + "G\u0002\u0002\u35ed\u35ee\u0007a\u0002\u0002\u35ee\u35ef\u0007H\u0002", + "\u0002\u35ef\u35f0\u0007Q\u0002\u0002\u35f0\u35f1\u0007T\u0002\u0002", + "\u35f1\u35f2\u0007O\u0002\u0002\u35f2\u35f3\u0007C\u0002\u0002\u35f3", + "\u35f4\u0007V\u0002\u0002\u35f4\u0730\u0003\u0002\u0002\u0002\u35f5", + "\u35f6\u0007P\u0002\u0002\u35f6\u35f7\u0007N\u0002\u0002\u35f7\u35f8", + "\u0007U\u0002\u0002\u35f8\u35f9\u0007a\u0002\u0002\u35f9\u35fa\u0007", + "F\u0002\u0002\u35fa\u35fb\u0007C\u0002\u0002\u35fb\u35fc\u0007V\u0002", + "\u0002\u35fc\u35fd\u0007G\u0002\u0002\u35fd\u35fe\u0007a\u0002\u0002", + "\u35fe\u35ff\u0007N\u0002\u0002\u35ff\u3600\u0007C\u0002\u0002\u3600", + "\u3601\u0007P\u0002\u0002\u3601\u3602\u0007I\u0002\u0002\u3602\u3603", + "\u0007W\u0002\u0002\u3603\u3604\u0007C\u0002\u0002\u3604\u3605\u0007", + "I\u0002\u0002\u3605\u3606\u0007G\u0002\u0002\u3606\u0732\u0003\u0002", + "\u0002\u0002\u3607\u3608\u0007P\u0002\u0002\u3608\u3609\u0007N\u0002", + "\u0002\u3609\u360a\u0007U\u0002\u0002\u360a\u360b\u0007a\u0002\u0002", + "\u360b\u360c\u0007K\u0002\u0002\u360c\u360d\u0007P\u0002\u0002\u360d", + "\u360e\u0007K\u0002\u0002\u360e\u360f\u0007V\u0002\u0002\u360f\u3610", + "\u0007E\u0002\u0002\u3610\u3611\u0007C\u0002\u0002\u3611\u3612\u0007", + "R\u0002\u0002\u3612\u0734\u0003\u0002\u0002\u0002\u3613\u3614\u0007", + "P\u0002\u0002\u3614\u3615\u0007N\u0002\u0002\u3615\u3616\u0007U\u0002", + "\u0002\u3616\u3617\u0007a\u0002\u0002\u3617\u3618\u0007K\u0002\u0002", + "\u3618\u3619\u0007U\u0002\u0002\u3619\u361a\u0007Q\u0002\u0002\u361a", + "\u361b\u0007a\u0002\u0002\u361b\u361c\u0007E\u0002\u0002\u361c\u361d", + "\u0007W\u0002\u0002\u361d\u361e\u0007T\u0002\u0002\u361e\u361f\u0007", + "T\u0002\u0002\u361f\u3620\u0007G\u0002\u0002\u3620\u3621\u0007P\u0002", + "\u0002\u3621\u3622\u0007E\u0002\u0002\u3622\u3623\u0007[\u0002\u0002", + "\u3623\u0736\u0003\u0002\u0002\u0002\u3624\u3625\u0007P\u0002\u0002", + "\u3625\u3626\u0007N\u0002\u0002\u3626\u3627\u0007a\u0002\u0002\u3627", + "\u3628\u0007U\u0002\u0002\u3628\u3629\u0007L\u0002\u0002\u3629\u0738", + "\u0003\u0002\u0002\u0002\u362a\u362b\u0007P\u0002\u0002\u362b\u362c", + "\u0007N\u0002\u0002\u362c\u362d\u0007U\u0002\u0002\u362d\u362e\u0007", + "a\u0002\u0002\u362e\u362f\u0007N\u0002\u0002\u362f\u3630\u0007C\u0002", + "\u0002\u3630\u3631\u0007P\u0002\u0002\u3631\u3632\u0007I\u0002\u0002", + "\u3632\u073a\u0003\u0002\u0002\u0002\u3633\u3634\u0007P\u0002\u0002", + "\u3634\u3635\u0007N\u0002\u0002\u3635\u3636\u0007U\u0002\u0002\u3636", + "\u3637\u0007a\u0002\u0002\u3637\u3638\u0007N\u0002\u0002\u3638\u3639", + "\u0007C\u0002\u0002\u3639\u363a\u0007P\u0002\u0002\u363a\u363b\u0007", + "I\u0002\u0002\u363b\u363c\u0007W\u0002\u0002\u363c\u363d\u0007C\u0002", + "\u0002\u363d\u363e\u0007I\u0002\u0002\u363e\u363f\u0007G\u0002\u0002", + "\u363f\u073c\u0003\u0002\u0002\u0002\u3640\u3641\u0007P\u0002\u0002", + "\u3641\u3642\u0007N\u0002\u0002\u3642\u3643\u0007U\u0002\u0002\u3643", + "\u3644\u0007a\u0002\u0002\u3644\u3645\u0007N\u0002\u0002\u3645\u3646", + "\u0007G\u0002\u0002\u3646\u3647\u0007P\u0002\u0002\u3647\u3648\u0007", + "I\u0002\u0002\u3648\u3649\u0007V\u0002\u0002\u3649\u364a\u0007J\u0002", + "\u0002\u364a\u364b\u0007a\u0002\u0002\u364b\u364c\u0007U\u0002\u0002", + "\u364c\u364d\u0007G\u0002\u0002\u364d\u364e\u0007O\u0002\u0002\u364e", + "\u364f\u0007C\u0002\u0002\u364f\u3650\u0007P\u0002\u0002\u3650\u3651", + "\u0007V\u0002\u0002\u3651\u3652\u0007K\u0002\u0002\u3652\u3653\u0007", + "E\u0002\u0002\u3653\u3654\u0007U\u0002\u0002\u3654\u073e\u0003\u0002", + "\u0002\u0002\u3655\u3656\u0007P\u0002\u0002\u3656\u3657\u0007N\u0002", + "\u0002\u3657\u3658\u0007U\u0002\u0002\u3658\u3659\u0007a\u0002\u0002", + "\u3659\u365a\u0007N\u0002\u0002\u365a\u365b\u0007Q\u0002\u0002\u365b", + "\u365c\u0007Y\u0002\u0002\u365c\u365d\u0007G\u0002\u0002\u365d\u365e", + "\u0007T\u0002\u0002\u365e\u0740\u0003\u0002\u0002\u0002\u365f\u3660", + "\u0007P\u0002\u0002\u3660\u3661\u0007N\u0002\u0002\u3661\u3662\u0007", + "U\u0002\u0002\u3662\u3663\u0007a\u0002\u0002\u3663\u3664\u0007P\u0002", + "\u0002\u3664\u3665\u0007E\u0002\u0002\u3665\u3666\u0007J\u0002\u0002", + "\u3666\u3667\u0007C\u0002\u0002\u3667\u3668\u0007T\u0002\u0002\u3668", + "\u3669\u0007a\u0002\u0002\u3669\u366a\u0007E\u0002\u0002\u366a\u366b", + "\u0007Q\u0002\u0002\u366b\u366c\u0007P\u0002\u0002\u366c\u366d\u0007", + "X\u0002\u0002\u366d\u366e\u0007a\u0002\u0002\u366e\u366f\u0007G\u0002", + "\u0002\u366f\u3670\u0007Z\u0002\u0002\u3670\u3671\u0007E\u0002\u0002", + "\u3671\u3672\u0007R\u0002\u0002\u3672\u0742\u0003\u0002\u0002\u0002", + "\u3673\u3674\u0007P\u0002\u0002\u3674\u3675\u0007N\u0002\u0002\u3675", + "\u3676\u0007U\u0002\u0002\u3676\u3677\u0007a\u0002\u0002\u3677\u3678", + "\u0007P\u0002\u0002\u3678\u3679\u0007W\u0002\u0002\u3679\u367a\u0007", + "O\u0002\u0002\u367a\u367b\u0007G\u0002\u0002\u367b\u367c\u0007T\u0002", + "\u0002\u367c\u367d\u0007K\u0002\u0002\u367d\u367e\u0007E\u0002\u0002", + "\u367e\u367f\u0007a\u0002\u0002\u367f\u3680\u0007E\u0002\u0002\u3680", + "\u3681\u0007J\u0002\u0002\u3681\u3682\u0007C\u0002\u0002\u3682\u3683", + "\u0007T\u0002\u0002\u3683\u3684\u0007C\u0002\u0002\u3684\u3685\u0007", + "E\u0002\u0002\u3685\u3686\u0007V\u0002\u0002\u3686\u3687\u0007G\u0002", + "\u0002\u3687\u3688\u0007T\u0002\u0002\u3688\u3689\u0007U\u0002\u0002", + "\u3689\u0744\u0003\u0002\u0002\u0002\u368a\u368b\u0007P\u0002\u0002", + "\u368b\u368c\u0007N\u0002\u0002\u368c\u368d\u0007U\u0002\u0002\u368d", + "\u368e\u0007a\u0002\u0002\u368e\u368f\u0007U\u0002\u0002\u368f\u3690", + "\u0007Q\u0002\u0002\u3690\u3691\u0007T\u0002\u0002\u3691\u3692\u0007", + "V\u0002\u0002\u3692\u0746\u0003\u0002\u0002\u0002\u3693\u3694\u0007", + "P\u0002\u0002\u3694\u3695\u0007N\u0002\u0002\u3695\u3696\u0007U\u0002", + "\u0002\u3696\u3697\u0007U\u0002\u0002\u3697\u3698\u0007Q\u0002\u0002", + "\u3698\u3699\u0007T\u0002\u0002\u3699\u369a\u0007V\u0002\u0002\u369a", + "\u0748\u0003\u0002\u0002\u0002\u369b\u369c\u0007P\u0002\u0002\u369c", + "\u369d\u0007N\u0002\u0002\u369d\u369e\u0007U\u0002\u0002\u369e\u369f", + "\u0007a\u0002\u0002\u369f\u36a0\u0007U\u0002\u0002\u36a0\u36a1\u0007", + "R\u0002\u0002\u36a1\u36a2\u0007G\u0002\u0002\u36a2\u36a3\u0007E\u0002", + "\u0002\u36a3\u36a4\u0007K\u0002\u0002\u36a4\u36a5\u0007C\u0002\u0002", + "\u36a5\u36a6\u0007N\u0002\u0002\u36a6\u36a7\u0007a\u0002\u0002\u36a7", + "\u36a8\u0007E\u0002\u0002\u36a8\u36a9\u0007J\u0002\u0002\u36a9\u36aa", + "\u0007C\u0002\u0002\u36aa\u36ab\u0007T\u0002\u0002\u36ab\u36ac\u0007", + "U\u0002\u0002\u36ac\u074a\u0003\u0002\u0002\u0002\u36ad\u36ae\u0007", + "P\u0002\u0002\u36ae\u36af\u0007N\u0002\u0002\u36af\u36b0\u0007U\u0002", + "\u0002\u36b0\u36b1\u0007a\u0002\u0002\u36b1\u36b2\u0007V\u0002\u0002", + "\u36b2\u36b3\u0007G\u0002\u0002\u36b3\u36b4\u0007T\u0002\u0002\u36b4", + "\u36b5\u0007T\u0002\u0002\u36b5\u36b6\u0007K\u0002\u0002\u36b6\u36b7", + "\u0007V\u0002\u0002\u36b7\u36b8\u0007Q\u0002\u0002\u36b8\u36b9\u0007", + "T\u0002\u0002\u36b9\u36ba\u0007[\u0002\u0002\u36ba\u074c\u0003\u0002", + "\u0002\u0002\u36bb\u36bc\u0007P\u0002\u0002\u36bc\u36bd\u0007N\u0002", + "\u0002\u36bd\u36be\u0007U\u0002\u0002\u36be\u36bf\u0007a\u0002\u0002", + "\u36bf\u36c0\u0007W\u0002\u0002\u36c0\u36c1\u0007R\u0002\u0002\u36c1", + "\u36c2\u0007R\u0002\u0002\u36c2\u36c3\u0007G\u0002\u0002\u36c3\u36c4", + "\u0007T\u0002\u0002\u36c4\u074e\u0003\u0002\u0002\u0002\u36c5\u36c6", + "\u0007P\u0002\u0002\u36c6\u36c7\u0007Q\u0002\u0002\u36c7\u36c8\u0007", + "a\u0002\u0002\u36c8\u36c9\u0007C\u0002\u0002\u36c9\u36ca\u0007E\u0002", + "\u0002\u36ca\u36cb\u0007E\u0002\u0002\u36cb\u36cc\u0007G\u0002\u0002", + "\u36cc\u36cd\u0007U\u0002\u0002\u36cd\u36ce\u0007U\u0002\u0002\u36ce", + "\u0750\u0003\u0002\u0002\u0002\u36cf\u36d0\u0007P\u0002\u0002\u36d0", + "\u36d1\u0007Q\u0002\u0002\u36d1\u36d2\u0007a\u0002\u0002\u36d2\u36d3", + "\u0007C\u0002\u0002\u36d3\u36d4\u0007F\u0002\u0002\u36d4\u36d5\u0007", + "C\u0002\u0002\u36d5\u36d6\u0007R\u0002\u0002\u36d6\u36d7\u0007V\u0002", + "\u0002\u36d7\u36d8\u0007K\u0002\u0002\u36d8\u36d9\u0007X\u0002\u0002", + "\u36d9\u36da\u0007G\u0002\u0002\u36da\u36db\u0007a\u0002\u0002\u36db", + "\u36dc\u0007R\u0002\u0002\u36dc\u36dd\u0007N\u0002\u0002\u36dd\u36de", + "\u0007C\u0002\u0002\u36de\u36df\u0007P\u0002\u0002\u36df\u0752\u0003", + "\u0002\u0002\u0002\u36e0\u36e1\u0007P\u0002\u0002\u36e1\u36e2\u0007", + "Q\u0002\u0002\u36e2\u36e3\u0007a\u0002\u0002\u36e3\u36e4\u0007C\u0002", + "\u0002\u36e4\u36e5\u0007P\u0002\u0002\u36e5\u36e6\u0007U\u0002\u0002", + "\u36e6\u36e7\u0007K\u0002\u0002\u36e7\u36e8\u0007a\u0002\u0002\u36e8", + "\u36e9\u0007T\u0002\u0002\u36e9\u36ea\u0007G\u0002\u0002\u36ea\u36eb", + "\u0007C\u0002\u0002\u36eb\u36ec\u0007T\u0002\u0002\u36ec\u36ed\u0007", + "E\u0002\u0002\u36ed\u36ee\u0007J\u0002\u0002\u36ee\u0754\u0003\u0002", + "\u0002\u0002\u36ef\u36f0\u0007P\u0002\u0002\u36f0\u36f1\u0007Q\u0002", + "\u0002\u36f1\u36f2\u0007C\u0002\u0002\u36f2\u36f3\u0007R\u0002\u0002", + "\u36f3\u36f4\u0007R\u0002\u0002\u36f4\u36f5\u0007G\u0002\u0002\u36f5", + "\u36f6\u0007P\u0002\u0002\u36f6\u36f7\u0007F\u0002\u0002\u36f7\u0756", + "\u0003\u0002\u0002\u0002\u36f8\u36f9\u0007P\u0002\u0002\u36f9\u36fa", + "\u0007Q\u0002\u0002\u36fa\u36fb\u0007C\u0002\u0002\u36fb\u36fc\u0007", + "T\u0002\u0002\u36fc\u36fd\u0007E\u0002\u0002\u36fd\u36fe\u0007J\u0002", + "\u0002\u36fe\u36ff\u0007K\u0002\u0002\u36ff\u3700\u0007X\u0002\u0002", + "\u3700\u3701\u0007G\u0002\u0002\u3701\u3702\u0007N\u0002\u0002\u3702", + "\u3703\u0007Q\u0002\u0002\u3703\u3704\u0007I\u0002\u0002\u3704\u0758", + "\u0003\u0002\u0002\u0002\u3705\u3706\u0007P\u0002\u0002\u3706\u3707", + "\u0007Q\u0002\u0002\u3707\u3708\u0007C\u0002\u0002\u3708\u3709\u0007", + "W\u0002\u0002\u3709\u370a\u0007F\u0002\u0002\u370a\u370b\u0007K\u0002", + "\u0002\u370b\u370c\u0007V\u0002\u0002\u370c\u075a\u0003\u0002\u0002", + "\u0002\u370d\u370e\u0007P\u0002\u0002\u370e\u370f\u0007Q\u0002\u0002", + "\u370f\u3710\u0007a\u0002\u0002\u3710\u3711\u0007C\u0002\u0002\u3711", + "\u3712\u0007W\u0002\u0002\u3712\u3713\u0007V\u0002\u0002\u3713\u3714", + "\u0007Q\u0002\u0002\u3714\u3715\u0007a\u0002\u0002\u3715\u3716\u0007", + "T\u0002\u0002\u3716\u3717\u0007G\u0002\u0002\u3717\u3718\u0007Q\u0002", + "\u0002\u3718\u3719\u0007R\u0002\u0002\u3719\u371a\u0007V\u0002\u0002", + "\u371a\u371b\u0007K\u0002\u0002\u371b\u371c\u0007O\u0002\u0002\u371c", + "\u371d\u0007K\u0002\u0002\u371d\u371e\u0007\\\u0002\u0002\u371e\u371f", + "\u0007G\u0002\u0002\u371f\u075c\u0003\u0002\u0002\u0002\u3720\u3721", + "\u0007P\u0002\u0002\u3721\u3722\u0007Q\u0002\u0002\u3722\u3723\u0007", + "a\u0002\u0002\u3723\u3724\u0007D\u0002\u0002\u3724\u3725\u0007C\u0002", + "\u0002\u3725\u3726\u0007U\u0002\u0002\u3726\u3727\u0007G\u0002\u0002", + "\u3727\u3728\u0007V\u0002\u0002\u3728\u3729\u0007C\u0002\u0002\u3729", + "\u372a\u0007D\u0002\u0002\u372a\u372b\u0007N\u0002\u0002\u372b\u372c", + "\u0007G\u0002\u0002\u372c\u372d\u0007a\u0002\u0002\u372d\u372e\u0007", + "O\u0002\u0002\u372e\u372f\u0007W\u0002\u0002\u372f\u3730\u0007N\u0002", + "\u0002\u3730\u3731\u0007V\u0002\u0002\u3731\u3732\u0007K\u0002\u0002", + "\u3732\u3733\u0007O\u0002\u0002\u3733\u3734\u0007X\u0002\u0002\u3734", + "\u3735\u0007a\u0002\u0002\u3735\u3736\u0007T\u0002\u0002\u3736\u3737", + "\u0007G\u0002\u0002\u3737\u3738\u0007Y\u0002\u0002\u3738\u3739\u0007", + "T\u0002\u0002\u3739\u373a\u0007K\u0002\u0002\u373a\u373b\u0007V\u0002", + "\u0002\u373b\u373c\u0007G\u0002\u0002\u373c\u075e\u0003\u0002\u0002", + "\u0002\u373d\u373e\u0007P\u0002\u0002\u373e\u373f\u0007Q\u0002\u0002", + "\u373f\u3740\u0007a\u0002\u0002\u3740\u3741\u0007D\u0002\u0002\u3741", + "\u3742\u0007C\u0002\u0002\u3742\u3743\u0007V\u0002\u0002\u3743\u3744", + "\u0007E\u0002\u0002\u3744\u3745\u0007J\u0002\u0002\u3745\u3746\u0007", + "a\u0002\u0002\u3746\u3747\u0007V\u0002\u0002\u3747\u3748\u0007C\u0002", + "\u0002\u3748\u3749\u0007D\u0002\u0002\u3749\u374a\u0007N\u0002\u0002", + "\u374a\u374b\u0007G\u0002\u0002\u374b\u374c\u0007a\u0002\u0002\u374c", + "\u374d\u0007C\u0002\u0002\u374d\u374e\u0007E\u0002\u0002\u374e\u374f", + "\u0007E\u0002\u0002\u374f\u3750\u0007G\u0002\u0002\u3750\u3751\u0007", + "U\u0002\u0002\u3751\u3752\u0007U\u0002\u0002\u3752\u3753\u0007a\u0002", + "\u0002\u3753\u3754\u0007D\u0002\u0002\u3754\u3755\u0007[\u0002\u0002", + "\u3755\u3756\u0007a\u0002\u0002\u3756\u3757\u0007T\u0002\u0002\u3757", + "\u3758\u0007Q\u0002\u0002\u3758\u3759\u0007Y\u0002\u0002\u3759\u375a", + "\u0007K\u0002\u0002\u375a\u375b\u0007F\u0002\u0002\u375b\u0760\u0003", + "\u0002\u0002\u0002\u375c\u375d\u0007P\u0002\u0002\u375d\u375e\u0007", + "Q\u0002\u0002\u375e\u375f\u0007a\u0002\u0002\u375f\u3760\u0007D\u0002", + "\u0002\u3760\u3761\u0007K\u0002\u0002\u3761\u3762\u0007P\u0002\u0002", + "\u3762\u3763\u0007F\u0002\u0002\u3763\u3764\u0007a\u0002\u0002\u3764", + "\u3765\u0007C\u0002\u0002\u3765\u3766\u0007Y\u0002\u0002\u3766\u3767", + "\u0007C\u0002\u0002\u3767\u3768\u0007T\u0002\u0002\u3768\u3769\u0007", + "G\u0002\u0002\u3769\u0762\u0003\u0002\u0002\u0002\u376a\u376b\u0007", + "P\u0002\u0002\u376b\u376c\u0007Q\u0002\u0002\u376c\u376d\u0007a\u0002", + "\u0002\u376d\u376e\u0007D\u0002\u0002\u376e\u376f\u0007W\u0002\u0002", + "\u376f\u3770\u0007H\u0002\u0002\u3770\u3771\u0007H\u0002\u0002\u3771", + "\u3772\u0007G\u0002\u0002\u3772\u3773\u0007T\u0002\u0002\u3773\u0764", + "\u0003\u0002\u0002\u0002\u3774\u3775\u0007P\u0002\u0002\u3775\u3776", + "\u0007Q\u0002\u0002\u3776\u3777\u0007E\u0002\u0002\u3777\u3778\u0007", + "C\u0002\u0002\u3778\u3779\u0007E\u0002\u0002\u3779\u377a\u0007J\u0002", + "\u0002\u377a\u377b\u0007G\u0002\u0002\u377b\u0766\u0003\u0002\u0002", + "\u0002\u377c\u377d\u0007P\u0002\u0002\u377d\u377e\u0007Q\u0002\u0002", + "\u377e\u377f\u0007a\u0002\u0002\u377f\u3780\u0007E\u0002\u0002\u3780", + "\u3781\u0007C\u0002\u0002\u3781\u3782\u0007T\u0002\u0002\u3782\u3783", + "\u0007V\u0002\u0002\u3783\u3784\u0007G\u0002\u0002\u3784\u3785\u0007", + "U\u0002\u0002\u3785\u3786\u0007K\u0002\u0002\u3786\u3787\u0007C\u0002", + "\u0002\u3787\u3788\u0007P\u0002\u0002\u3788\u0768\u0003\u0002\u0002", + "\u0002\u3789\u378a\u0007P\u0002\u0002\u378a\u378b\u0007Q\u0002\u0002", + "\u378b\u378c\u0007a\u0002\u0002\u378c\u378d\u0007E\u0002\u0002\u378d", + "\u378e\u0007J\u0002\u0002\u378e\u378f\u0007G\u0002\u0002\u378f\u3790", + "\u0007E\u0002\u0002\u3790\u3791\u0007M\u0002\u0002\u3791\u3792\u0007", + "a\u0002\u0002\u3792\u3793\u0007C\u0002\u0002\u3793\u3794\u0007E\u0002", + "\u0002\u3794\u3795\u0007N\u0002\u0002\u3795\u3796\u0007a\u0002\u0002", + "\u3796\u3797\u0007T\u0002\u0002\u3797\u3798\u0007G\u0002\u0002\u3798", + "\u3799\u0007Y\u0002\u0002\u3799\u379a\u0007T\u0002\u0002\u379a\u379b", + "\u0007K\u0002\u0002\u379b\u379c\u0007V\u0002\u0002\u379c\u379d\u0007", + "G\u0002\u0002\u379d\u076a\u0003\u0002\u0002\u0002\u379e\u379f\u0007", + "P\u0002\u0002\u379f\u37a0\u0007Q\u0002\u0002\u37a0\u37a1\u0007a\u0002", + "\u0002\u37a1\u37a2\u0007E\u0002\u0002\u37a2\u37a3\u0007N\u0002\u0002", + "\u37a3\u37a4\u0007W\u0002\u0002\u37a4\u37a5\u0007U\u0002\u0002\u37a5", + "\u37a6\u0007V\u0002\u0002\u37a6\u37a7\u0007G\u0002\u0002\u37a7\u37a8", + "\u0007T\u0002\u0002\u37a8\u37a9\u0007a\u0002\u0002\u37a9\u37aa\u0007", + "D\u0002\u0002\u37aa\u37ab\u0007[\u0002\u0002\u37ab\u37ac\u0007a\u0002", + "\u0002\u37ac\u37ad\u0007T\u0002\u0002\u37ad\u37ae\u0007Q\u0002\u0002", + "\u37ae\u37af\u0007Y\u0002\u0002\u37af\u37b0\u0007K\u0002\u0002\u37b0", + "\u37b1\u0007F\u0002\u0002\u37b1\u076c\u0003\u0002\u0002\u0002\u37b2", + "\u37b3\u0007P\u0002\u0002\u37b3\u37b4\u0007Q\u0002\u0002\u37b4\u37b5", + "\u0007a\u0002\u0002\u37b5\u37b6\u0007E\u0002\u0002\u37b6\u37b7\u0007", + "N\u0002\u0002\u37b7\u37b8\u0007W\u0002\u0002\u37b8\u37b9\u0007U\u0002", + "\u0002\u37b9\u37ba\u0007V\u0002\u0002\u37ba\u37bb\u0007G\u0002\u0002", + "\u37bb\u37bc\u0007T\u0002\u0002\u37bc\u37bd\u0007K\u0002\u0002\u37bd", + "\u37be\u0007P\u0002\u0002\u37be\u37bf\u0007I\u0002\u0002\u37bf\u076e", + "\u0003\u0002\u0002\u0002\u37c0\u37c1\u0007P\u0002\u0002\u37c1\u37c2", + "\u0007Q\u0002\u0002\u37c2\u37c3\u0007a\u0002\u0002\u37c3\u37c4\u0007", + "E\u0002\u0002\u37c4\u37c5\u0007Q\u0002\u0002\u37c5\u37c6\u0007C\u0002", + "\u0002\u37c6\u37c7\u0007N\u0002\u0002\u37c7\u37c8\u0007G\u0002\u0002", + "\u37c8\u37c9\u0007U\u0002\u0002\u37c9\u37ca\u0007E\u0002\u0002\u37ca", + "\u37cb\u0007G\u0002\u0002\u37cb\u37cc\u0007a\u0002\u0002\u37cc\u37cd", + "\u0007U\u0002\u0002\u37cd\u37ce\u0007S\u0002\u0002\u37ce\u0770\u0003", + "\u0002\u0002\u0002\u37cf\u37d0\u0007P\u0002\u0002\u37d0\u37d1\u0007", + "Q\u0002\u0002\u37d1\u37d2\u0007a\u0002\u0002\u37d2\u37d3\u0007E\u0002", + "\u0002\u37d3\u37d4\u0007Q\u0002\u0002\u37d4\u37d5\u0007O\u0002\u0002", + "\u37d5\u37d6\u0007O\u0002\u0002\u37d6\u37d7\u0007Q\u0002\u0002\u37d7", + "\u37d8\u0007P\u0002\u0002\u37d8\u37d9\u0007a\u0002\u0002\u37d9\u37da", + "\u0007F\u0002\u0002\u37da\u37db\u0007C\u0002\u0002\u37db\u37dc\u0007", + "V\u0002\u0002\u37dc\u37dd\u0007C\u0002\u0002\u37dd\u0772\u0003\u0002", + "\u0002\u0002\u37de\u37df\u0007P\u0002\u0002\u37df\u37e0\u0007Q\u0002", + "\u0002\u37e0\u37e1\u0007E\u0002\u0002\u37e1\u37e2\u0007Q\u0002\u0002", + "\u37e2\u37e3\u0007O\u0002\u0002\u37e3\u37e4\u0007R\u0002\u0002\u37e4", + "\u37e5\u0007T\u0002\u0002\u37e5\u37e6\u0007G\u0002\u0002\u37e6\u37e7", + "\u0007U\u0002\u0002\u37e7\u37e8\u0007U\u0002\u0002\u37e8\u0774\u0003", + "\u0002\u0002\u0002\u37e9\u37ea\u0007P\u0002\u0002\u37ea\u37eb\u0007", + "Q\u0002\u0002\u37eb\u37ec\u0007a\u0002\u0002\u37ec\u37ed\u0007E\u0002", + "\u0002\u37ed\u37ee\u0007Q\u0002\u0002\u37ee\u37ef\u0007P\u0002\u0002", + "\u37ef\u37f0\u0007P\u0002\u0002\u37f0\u37f1\u0007G\u0002\u0002\u37f1", + "\u37f2\u0007E\u0002\u0002\u37f2\u37f3\u0007V\u0002\u0002\u37f3\u37f4", + "\u0007a\u0002\u0002\u37f4\u37f5\u0007D\u0002\u0002\u37f5\u37f6\u0007", + "[\u0002\u0002\u37f6\u37f7\u0007a\u0002\u0002\u37f7\u37f8\u0007E\u0002", + "\u0002\u37f8\u37f9\u0007D\u0002\u0002\u37f9\u37fa\u0007a\u0002\u0002", + "\u37fa\u37fb\u0007Y\u0002\u0002\u37fb\u37fc\u0007J\u0002\u0002\u37fc", + "\u37fd\u0007T\u0002\u0002\u37fd\u37fe\u0007a\u0002\u0002\u37fe\u37ff", + "\u0007Q\u0002\u0002\u37ff\u3800\u0007P\u0002\u0002\u3800\u3801\u0007", + "N\u0002\u0002\u3801\u3802\u0007[\u0002\u0002\u3802\u0776\u0003\u0002", + "\u0002\u0002\u3803\u3804\u0007P\u0002\u0002\u3804\u3805\u0007Q\u0002", + "\u0002\u3805\u3806\u0007a\u0002\u0002\u3806\u3807\u0007E\u0002\u0002", + "\u3807\u3808\u0007Q\u0002\u0002\u3808\u3809\u0007P\u0002\u0002\u3809", + "\u380a\u0007P\u0002\u0002\u380a\u380b\u0007G\u0002\u0002\u380b\u380c", + "\u0007E\u0002\u0002\u380c\u380d\u0007V\u0002\u0002\u380d\u380e\u0007", + "a\u0002\u0002\u380e\u380f\u0007D\u0002\u0002\u380f\u3810\u0007[\u0002", + "\u0002\u3810\u3811\u0007a\u0002\u0002\u3811\u3812\u0007E\u0002\u0002", + "\u3812\u3813\u0007Q\u0002\u0002\u3813\u3814\u0007O\u0002\u0002\u3814", + "\u3815\u0007D\u0002\u0002\u3815\u3816\u0007K\u0002\u0002\u3816\u3817", + "\u0007P\u0002\u0002\u3817\u3818\u0007G\u0002\u0002\u3818\u3819\u0007", + "a\u0002\u0002\u3819\u381a\u0007U\u0002\u0002\u381a\u381b\u0007Y\u0002", + "\u0002\u381b\u0778\u0003\u0002\u0002\u0002\u381c\u381d\u0007P\u0002", + "\u0002\u381d\u381e\u0007Q\u0002\u0002\u381e\u381f\u0007a\u0002\u0002", + "\u381f\u3820\u0007E\u0002\u0002\u3820\u3821\u0007Q\u0002\u0002\u3821", + "\u3822\u0007P\u0002\u0002\u3822\u3823\u0007P\u0002\u0002\u3823\u3824", + "\u0007G\u0002\u0002\u3824\u3825\u0007E\u0002\u0002\u3825\u3826\u0007", + "V\u0002\u0002\u3826\u3827\u0007a\u0002\u0002\u3827\u3828\u0007D\u0002", + "\u0002\u3828\u3829\u0007[\u0002\u0002\u3829\u382a\u0007a\u0002\u0002", + "\u382a\u382b\u0007E\u0002\u0002\u382b\u382c\u0007Q\u0002\u0002\u382c", + "\u382d\u0007U\u0002\u0002\u382d\u382e\u0007V\u0002\u0002\u382e\u382f", + "\u0007a\u0002\u0002\u382f\u3830\u0007D\u0002\u0002\u3830\u3831\u0007", + "C\u0002\u0002\u3831\u3832\u0007U\u0002\u0002\u3832\u3833\u0007G\u0002", + "\u0002\u3833\u3834\u0007F\u0002\u0002\u3834\u077a\u0003\u0002\u0002", + "\u0002\u3835\u3836\u0007P\u0002\u0002\u3836\u3837\u0007Q\u0002\u0002", + "\u3837\u3838\u0007a\u0002\u0002\u3838\u3839\u0007E\u0002\u0002\u3839", + "\u383a\u0007Q\u0002\u0002\u383a\u383b\u0007P\u0002\u0002\u383b\u383c", + "\u0007P\u0002\u0002\u383c\u383d\u0007G\u0002\u0002\u383d\u383e\u0007", + "E\u0002\u0002\u383e\u383f\u0007V\u0002\u0002\u383f\u3840\u0007a\u0002", + "\u0002\u3840\u3841\u0007D\u0002\u0002\u3841\u3842\u0007[\u0002\u0002", + "\u3842\u3843\u0007a\u0002\u0002\u3843\u3844\u0007G\u0002\u0002\u3844", + "\u3845\u0007N\u0002\u0002\u3845\u3846\u0007K\u0002\u0002\u3846\u3847", + "\u0007O\u0002\u0002\u3847\u3848\u0007a\u0002\u0002\u3848\u3849\u0007", + "F\u0002\u0002\u3849\u384a\u0007W\u0002\u0002\u384a\u384b\u0007R\u0002", + "\u0002\u384b\u384c\u0007U\u0002\u0002\u384c\u077c\u0003\u0002\u0002", + "\u0002\u384d\u384e\u0007P\u0002\u0002\u384e\u384f\u0007Q\u0002\u0002", + "\u384f\u3850\u0007a\u0002\u0002\u3850\u3851\u0007E\u0002\u0002\u3851", + "\u3852\u0007Q\u0002\u0002\u3852\u3853\u0007P\u0002\u0002\u3853\u3854", + "\u0007P\u0002\u0002\u3854\u3855\u0007G\u0002\u0002\u3855\u3856\u0007", + "E\u0002\u0002\u3856\u3857\u0007V\u0002\u0002\u3857\u3858\u0007a\u0002", + "\u0002\u3858\u3859\u0007D\u0002\u0002\u3859\u385a\u0007[\u0002\u0002", + "\u385a\u385b\u0007a\u0002\u0002\u385b\u385c\u0007H\u0002\u0002\u385c", + "\u385d\u0007K\u0002\u0002\u385d\u385e\u0007N\u0002\u0002\u385e\u385f", + "\u0007V\u0002\u0002\u385f\u3860\u0007G\u0002\u0002\u3860\u3861\u0007", + "T\u0002\u0002\u3861\u3862\u0007K\u0002\u0002\u3862\u3863\u0007P\u0002", + "\u0002\u3863\u3864\u0007I\u0002\u0002\u3864\u077e\u0003\u0002\u0002", + "\u0002\u3865\u3866\u0007P\u0002\u0002\u3866\u3867\u0007Q\u0002\u0002", + "\u3867\u3868\u0007E\u0002\u0002\u3868\u3869\u0007Q\u0002\u0002\u3869", + "\u386a\u0007R\u0002\u0002\u386a\u386b\u0007[\u0002\u0002\u386b\u0780", + "\u0003\u0002\u0002\u0002\u386c\u386d\u0007P\u0002\u0002\u386d\u386e", + "\u0007Q\u0002\u0002\u386e\u386f\u0007a\u0002\u0002\u386f\u3870\u0007", + "E\u0002\u0002\u3870\u3871\u0007Q\u0002\u0002\u3871\u3872\u0007U\u0002", + "\u0002\u3872\u3873\u0007V\u0002\u0002\u3873\u3874\u0007a\u0002\u0002", + "\u3874\u3875\u0007Z\u0002\u0002\u3875\u3876\u0007O\u0002\u0002\u3876", + "\u3877\u0007N\u0002\u0002\u3877\u3878\u0007a\u0002\u0002\u3878\u3879", + "\u0007S\u0002\u0002\u3879\u387a\u0007W\u0002\u0002\u387a\u387b\u0007", + "G\u0002\u0002\u387b\u387c\u0007T\u0002\u0002\u387c\u387d\u0007[\u0002", + "\u0002\u387d\u387e\u0007a\u0002\u0002\u387e\u387f\u0007T\u0002\u0002", + "\u387f\u3880\u0007G\u0002\u0002\u3880\u3881\u0007Y\u0002\u0002\u3881", + "\u3882\u0007T\u0002\u0002\u3882\u3883\u0007K\u0002\u0002\u3883\u3884", + "\u0007V\u0002\u0002\u3884\u3885\u0007G\u0002\u0002\u3885\u0782\u0003", + "\u0002\u0002\u0002\u3886\u3887\u0007P\u0002\u0002\u3887\u3888\u0007", + "Q\u0002\u0002\u3888\u3889\u0007a\u0002\u0002\u3889\u388a\u0007E\u0002", + "\u0002\u388a\u388b\u0007R\u0002\u0002\u388b\u388c\u0007W\u0002\u0002", + "\u388c\u388d\u0007a\u0002\u0002\u388d\u388e\u0007E\u0002\u0002\u388e", + "\u388f\u0007Q\u0002\u0002\u388f\u3890\u0007U\u0002\u0002\u3890\u3891", + "\u0007V\u0002\u0002\u3891\u3892\u0007K\u0002\u0002\u3892\u3893\u0007", + "P\u0002\u0002\u3893\u3894\u0007I\u0002\u0002\u3894\u0784\u0003\u0002", + "\u0002\u0002\u3895\u3896\u0007P\u0002\u0002\u3896\u3897\u0007Q\u0002", + "\u0002\u3897\u3898\u0007E\u0002\u0002\u3898\u3899\u0007R\u0002\u0002", + "\u3899\u389a\u0007W\u0002\u0002\u389a\u389b\u0007a\u0002\u0002\u389b", + "\u389c\u0007E\u0002\u0002\u389c\u389d\u0007Q\u0002\u0002\u389d\u389e", + "\u0007U\u0002\u0002\u389e\u389f\u0007V\u0002\u0002\u389f\u38a0\u0007", + "K\u0002\u0002\u38a0\u38a1\u0007P\u0002\u0002\u38a1\u38a2\u0007I\u0002", + "\u0002\u38a2\u0786\u0003\u0002\u0002\u0002\u38a3\u38a4\u0007P\u0002", + "\u0002\u38a4\u38a5\u0007Q\u0002\u0002\u38a5\u38a6\u0007E\u0002\u0002", + "\u38a6\u38a7\u0007[\u0002\u0002\u38a7\u38a8\u0007E\u0002\u0002\u38a8", + "\u38a9\u0007N\u0002\u0002\u38a9\u38aa\u0007G\u0002\u0002\u38aa\u0788", + "\u0003\u0002\u0002\u0002\u38ab\u38ac\u0007P\u0002\u0002\u38ac\u38ad", + "\u0007Q\u0002\u0002\u38ad\u38ae\u0007a\u0002\u0002\u38ae\u38af\u0007", + "F\u0002\u0002\u38af\u38b0\u0007C\u0002\u0002\u38b0\u38b1\u0007V\u0002", + "\u0002\u38b1\u38b2\u0007C\u0002\u0002\u38b2\u38b3\u0007a\u0002\u0002", + "\u38b3\u38b4\u0007U\u0002\u0002\u38b4\u38b5\u0007G\u0002\u0002\u38b5", + "\u38b6\u0007E\u0002\u0002\u38b6\u38b7\u0007W\u0002\u0002\u38b7\u38b8", + "\u0007T\u0002\u0002\u38b8\u38b9\u0007K\u0002\u0002\u38b9\u38ba\u0007", + "V\u0002\u0002\u38ba\u38bb\u0007[\u0002\u0002\u38bb\u38bc\u0007a\u0002", + "\u0002\u38bc\u38bd\u0007T\u0002\u0002\u38bd\u38be\u0007G\u0002\u0002", + "\u38be\u38bf\u0007Y\u0002\u0002\u38bf\u38c0\u0007T\u0002\u0002\u38c0", + "\u38c1\u0007K\u0002\u0002\u38c1\u38c2\u0007V\u0002\u0002\u38c2\u38c3", + "\u0007G\u0002\u0002\u38c3\u078a\u0003\u0002\u0002\u0002\u38c4\u38c5", + "\u0007P\u0002\u0002\u38c5\u38c6\u0007Q\u0002\u0002\u38c6\u38c7\u0007", + "a\u0002\u0002\u38c7\u38c8\u0007F\u0002\u0002\u38c8\u38c9\u0007G\u0002", + "\u0002\u38c9\u38ca\u0007E\u0002\u0002\u38ca\u38cb\u0007Q\u0002\u0002", + "\u38cb\u38cc\u0007T\u0002\u0002\u38cc\u38cd\u0007T\u0002\u0002\u38cd", + "\u38ce\u0007G\u0002\u0002\u38ce\u38cf\u0007N\u0002\u0002\u38cf\u38d0", + "\u0007C\u0002\u0002\u38d0\u38d1\u0007V\u0002\u0002\u38d1\u38d2\u0007", + "G\u0002\u0002\u38d2\u078c\u0003\u0002\u0002\u0002\u38d3\u38d4\u0007", + "P\u0002\u0002\u38d4\u38d5\u0007Q\u0002\u0002\u38d5\u38d6\u0007F\u0002", + "\u0002\u38d6\u38d7\u0007G\u0002\u0002\u38d7\u38d8\u0007N\u0002\u0002", + "\u38d8\u38d9\u0007C\u0002\u0002\u38d9\u38da\u0007[\u0002\u0002\u38da", + "\u078e\u0003\u0002\u0002\u0002\u38db\u38dc\u0007P\u0002\u0002\u38dc", + "\u38dd\u0007Q\u0002\u0002\u38dd\u38de\u0007a\u0002\u0002\u38de\u38df", + "\u0007F\u0002\u0002\u38df\u38e0\u0007Q\u0002\u0002\u38e0\u38e1\u0007", + "O\u0002\u0002\u38e1\u38e2\u0007C\u0002\u0002\u38e2\u38e3\u0007K\u0002", + "\u0002\u38e3\u38e4\u0007P\u0002\u0002\u38e4\u38e5\u0007a\u0002\u0002", + "\u38e5\u38e6\u0007K\u0002\u0002\u38e6\u38e7\u0007P\u0002\u0002\u38e7", + "\u38e8\u0007F\u0002\u0002\u38e8\u38e9\u0007G\u0002\u0002\u38e9\u38ea", + "\u0007Z\u0002\u0002\u38ea\u38eb\u0007a\u0002\u0002\u38eb\u38ec\u0007", + "H\u0002\u0002\u38ec\u38ed\u0007K\u0002\u0002\u38ed\u38ee\u0007N\u0002", + "\u0002\u38ee\u38ef\u0007V\u0002\u0002\u38ef\u38f0\u0007G\u0002\u0002", + "\u38f0\u38f1\u0007T\u0002\u0002\u38f1\u0790\u0003\u0002\u0002\u0002", + "\u38f2\u38f3\u0007P\u0002\u0002\u38f3\u38f4\u0007Q\u0002\u0002\u38f4", + "\u38f5\u0007a\u0002\u0002\u38f5\u38f6\u0007F\u0002\u0002\u38f6\u38f7", + "\u0007U\u0002\u0002\u38f7\u38f8\u0007V\u0002\u0002\u38f8\u38f9\u0007", + "a\u0002\u0002\u38f9\u38fa\u0007W\u0002\u0002\u38fa\u38fb\u0007R\u0002", + "\u0002\u38fb\u38fc\u0007I\u0002\u0002\u38fc\u38fd\u0007T\u0002\u0002", + "\u38fd\u38fe\u0007C\u0002\u0002\u38fe\u38ff\u0007F\u0002\u0002\u38ff", + "\u3900\u0007G\u0002\u0002\u3900\u3901\u0007a\u0002\u0002\u3901\u3902", + "\u0007K\u0002\u0002\u3902\u3903\u0007P\u0002\u0002\u3903\u3904\u0007", + "U\u0002\u0002\u3904\u3905\u0007G\u0002\u0002\u3905\u3906\u0007T\u0002", + "\u0002\u3906\u3907\u0007V\u0002\u0002\u3907\u3908\u0007a\u0002\u0002", + "\u3908\u3909\u0007E\u0002\u0002\u3909\u390a\u0007Q\u0002\u0002\u390a", + "\u390b\u0007P\u0002\u0002\u390b\u390c\u0007X\u0002\u0002\u390c\u0792", + "\u0003\u0002\u0002\u0002\u390d\u390e\u0007P\u0002\u0002\u390e\u390f", + "\u0007Q\u0002\u0002\u390f\u3910\u0007a\u0002\u0002\u3910\u3911\u0007", + "G\u0002\u0002\u3911\u3912\u0007N\u0002\u0002\u3912\u3913\u0007K\u0002", + "\u0002\u3913\u3914\u0007O\u0002\u0002\u3914\u3915\u0007a\u0002\u0002", + "\u3915\u3916\u0007I\u0002\u0002\u3916\u3917\u0007T\u0002\u0002\u3917", + "\u3918\u0007Q\u0002\u0002\u3918\u3919\u0007W\u0002\u0002\u3919\u391a", + "\u0007R\u0002\u0002\u391a\u391b\u0007D\u0002\u0002\u391b\u391c\u0007", + "[\u0002\u0002\u391c\u0794\u0003\u0002\u0002\u0002\u391d\u391e\u0007", + "P\u0002\u0002\u391e\u391f\u0007Q\u0002\u0002\u391f\u3920\u0007a\u0002", + "\u0002\u3920\u3921\u0007G\u0002\u0002\u3921\u3922\u0007N\u0002\u0002", + "\u3922\u3923\u0007K\u0002\u0002\u3923\u3924\u0007O\u0002\u0002\u3924", + "\u3925\u0007K\u0002\u0002\u3925\u3926\u0007P\u0002\u0002\u3926\u3927", + "\u0007C\u0002\u0002\u3927\u3928\u0007V\u0002\u0002\u3928\u3929\u0007", + "G\u0002\u0002\u3929\u392a\u0007a\u0002\u0002\u392a\u392b\u0007L\u0002", + "\u0002\u392b\u392c\u0007Q\u0002\u0002\u392c\u392d\u0007K\u0002\u0002", + "\u392d\u392e\u0007P\u0002\u0002\u392e\u0796\u0003\u0002\u0002\u0002", + "\u392f\u3930\u0007P\u0002\u0002\u3930\u3931\u0007Q\u0002\u0002\u3931", + "\u3932\u0007a\u0002\u0002\u3932\u3933\u0007G\u0002\u0002\u3933\u3934", + "\u0007N\u0002\u0002\u3934\u3935\u0007K\u0002\u0002\u3935\u3936\u0007", + "O\u0002\u0002\u3936\u3937\u0007K\u0002\u0002\u3937\u3938\u0007P\u0002", + "\u0002\u3938\u3939\u0007C\u0002\u0002\u3939\u393a\u0007V\u0002\u0002", + "\u393a\u393b\u0007G\u0002\u0002\u393b\u393c\u0007a\u0002\u0002\u393c", + "\u393d\u0007Q\u0002\u0002\u393d\u393e\u0007D\u0002\u0002\u393e\u393f", + "\u0007[\u0002\u0002\u393f\u0798\u0003\u0002\u0002\u0002\u3940\u3941", + "\u0007P\u0002\u0002\u3941\u3942\u0007Q\u0002\u0002\u3942\u3943\u0007", + "a\u0002\u0002\u3943\u3944\u0007G\u0002\u0002\u3944\u3945\u0007N\u0002", + "\u0002\u3945\u3946\u0007K\u0002\u0002\u3946\u3947\u0007O\u0002\u0002", + "\u3947\u3948\u0007K\u0002\u0002\u3948\u3949\u0007P\u0002\u0002\u3949", + "\u394a\u0007C\u0002\u0002\u394a\u394b\u0007V\u0002\u0002\u394b\u394c", + "\u0007G\u0002\u0002\u394c\u394d\u0007a\u0002\u0002\u394d\u394e\u0007", + "Q\u0002\u0002\u394e\u394f\u0007W\u0002\u0002\u394f\u3950\u0007V\u0002", + "\u0002\u3950\u3951\u0007G\u0002\u0002\u3951\u3952\u0007T\u0002\u0002", + "\u3952\u3953\u0007a\u0002\u0002\u3953\u3954\u0007L\u0002\u0002\u3954", + "\u3955\u0007Q\u0002\u0002\u3955\u3956\u0007K\u0002\u0002\u3956\u3957", + "\u0007P\u0002\u0002\u3957\u079a\u0003\u0002\u0002\u0002\u3958\u3959", + "\u0007P\u0002\u0002\u3959\u395a\u0007Q\u0002\u0002\u395a\u395b\u0007", + "G\u0002\u0002\u395b\u395c\u0007P\u0002\u0002\u395c\u395d\u0007V\u0002", + "\u0002\u395d\u395e\u0007K\u0002\u0002\u395e\u395f\u0007V\u0002\u0002", + "\u395f\u3960\u0007[\u0002\u0002\u3960\u3961\u0007G\u0002\u0002\u3961", + "\u3962\u0007U\u0002\u0002\u3962\u3963\u0007E\u0002\u0002\u3963\u3964", + "\u0007C\u0002\u0002\u3964\u3965\u0007R\u0002\u0002\u3965\u3966\u0007", + "K\u0002\u0002\u3966\u3967\u0007P\u0002\u0002\u3967\u3968\u0007I\u0002", + "\u0002\u3968\u079c\u0003\u0002\u0002\u0002\u3969\u396a\u0007P\u0002", + "\u0002\u396a\u396b\u0007Q\u0002\u0002\u396b\u396c\u0007a\u0002\u0002", + "\u396c\u396d\u0007G\u0002\u0002\u396d\u396e\u0007Z\u0002\u0002\u396e", + "\u396f\u0007R\u0002\u0002\u396f\u3970\u0007C\u0002\u0002\u3970\u3971", + "\u0007P\u0002\u0002\u3971\u3972\u0007F\u0002\u0002\u3972\u3973\u0007", + "a\u0002\u0002\u3973\u3974\u0007I\u0002\u0002\u3974\u3975\u0007U\u0002", + "\u0002\u3975\u3976\u0007G\u0002\u0002\u3976\u3977\u0007V\u0002\u0002", + "\u3977\u3978\u0007a\u0002\u0002\u3978\u3979\u0007V\u0002\u0002\u3979", + "\u397a\u0007Q\u0002\u0002\u397a\u397b\u0007a\u0002\u0002\u397b\u397c", + "\u0007W\u0002\u0002\u397c\u397d\u0007P\u0002\u0002\u397d\u397e\u0007", + "K\u0002\u0002\u397e\u397f\u0007Q\u0002\u0002\u397f\u3980\u0007P\u0002", + "\u0002\u3980\u079e\u0003\u0002\u0002\u0002\u3981\u3982\u0007P\u0002", + "\u0002\u3982\u3983\u0007Q\u0002\u0002\u3983\u3984\u0007a\u0002\u0002", + "\u3984\u3985\u0007G\u0002\u0002\u3985\u3986\u0007Z\u0002\u0002\u3986", + "\u3987\u0007R\u0002\u0002\u3987\u3988\u0007C\u0002\u0002\u3988\u3989", + "\u0007P\u0002\u0002\u3989\u398a\u0007F\u0002\u0002\u398a\u07a0\u0003", + "\u0002\u0002\u0002\u398b\u398c\u0007P\u0002\u0002\u398c\u398d\u0007", + "Q\u0002\u0002\u398d\u398e\u0007a\u0002\u0002\u398e\u398f\u0007G\u0002", + "\u0002\u398f\u3990\u0007Z\u0002\u0002\u3990\u3991\u0007R\u0002\u0002", + "\u3991\u3992\u0007C\u0002\u0002\u3992\u3993\u0007P\u0002\u0002\u3993", + "\u3994\u0007F\u0002\u0002\u3994\u3995\u0007a\u0002\u0002\u3995\u3996", + "\u0007V\u0002\u0002\u3996\u3997\u0007C\u0002\u0002\u3997\u3998\u0007", + "D\u0002\u0002\u3998\u3999\u0007N\u0002\u0002\u3999\u399a\u0007G\u0002", + "\u0002\u399a\u07a2\u0003\u0002\u0002\u0002\u399b\u399c\u0007P\u0002", + "\u0002\u399c\u399d\u0007Q\u0002\u0002\u399d\u399e\u0007a\u0002\u0002", + "\u399e\u399f\u0007H\u0002\u0002\u399f\u39a0\u0007C\u0002\u0002\u39a0", + "\u39a1\u0007E\u0002\u0002\u39a1\u39a2\u0007V\u0002\u0002\u39a2\u07a4", + "\u0003\u0002\u0002\u0002\u39a3\u39a4\u0007P\u0002\u0002\u39a4\u39a5", + "\u0007Q\u0002\u0002\u39a5\u39a6\u0007a\u0002\u0002\u39a6\u39a7\u0007", + "H\u0002\u0002\u39a7\u39a8\u0007C\u0002\u0002\u39a8\u39a9\u0007E\u0002", + "\u0002\u39a9\u39aa\u0007V\u0002\u0002\u39aa\u39ab\u0007Q\u0002\u0002", + "\u39ab\u39ac\u0007T\u0002\u0002\u39ac\u39ad\u0007K\u0002\u0002\u39ad", + "\u39ae\u0007\\\u0002\u0002\u39ae\u39af\u0007G\u0002\u0002\u39af\u39b0", + "\u0007a\u0002\u0002\u39b0\u39b1\u0007L\u0002\u0002\u39b1\u39b2\u0007", + "Q\u0002\u0002\u39b2\u39b3\u0007K\u0002\u0002\u39b3\u39b4\u0007P\u0002", + "\u0002\u39b4\u07a6\u0003\u0002\u0002\u0002\u39b5\u39b6\u0007P\u0002", + "\u0002\u39b6\u39b7\u0007Q\u0002\u0002\u39b7\u39b8\u0007a\u0002\u0002", + "\u39b8\u39b9\u0007H\u0002\u0002\u39b9\u39ba\u0007K\u0002\u0002\u39ba", + "\u39bb\u0007N\u0002\u0002\u39bb\u39bc\u0007V\u0002\u0002\u39bc\u39bd", + "\u0007G\u0002\u0002\u39bd\u39be\u0007T\u0002\u0002\u39be\u39bf\u0007", + "K\u0002\u0002\u39bf\u39c0\u0007P\u0002\u0002\u39c0\u39c1\u0007I\u0002", + "\u0002\u39c1\u07a8\u0003\u0002\u0002\u0002\u39c2\u39c3\u0007P\u0002", + "\u0002\u39c3\u39c4\u0007Q\u0002\u0002\u39c4\u39c5\u0007H\u0002\u0002", + "\u39c5\u39c6\u0007Q\u0002\u0002\u39c6\u39c7\u0007T\u0002\u0002\u39c7", + "\u39c8\u0007E\u0002\u0002\u39c8\u39c9\u0007G\u0002\u0002\u39c9\u07aa", + "\u0003\u0002\u0002\u0002\u39ca\u39cb\u0007P\u0002\u0002\u39cb\u39cc", + "\u0007Q\u0002\u0002\u39cc\u39cd\u0007a\u0002\u0002\u39cd\u39ce\u0007", + "H\u0002\u0002\u39ce\u39cf\u0007W\u0002\u0002\u39cf\u39d0\u0007N\u0002", + "\u0002\u39d0\u39d1\u0007N\u0002\u0002\u39d1\u39d2\u0007a\u0002\u0002", + "\u39d2\u39d3\u0007Q\u0002\u0002\u39d3\u39d4\u0007W\u0002\u0002\u39d4", + "\u39d5\u0007V\u0002\u0002\u39d5\u39d6\u0007G\u0002\u0002\u39d6\u39d7", + "\u0007T\u0002\u0002\u39d7\u39d8\u0007a\u0002\u0002\u39d8\u39d9\u0007", + "L\u0002\u0002\u39d9\u39da\u0007Q\u0002\u0002\u39da\u39db\u0007K\u0002", + "\u0002\u39db\u39dc\u0007P\u0002\u0002\u39dc\u39dd\u0007a\u0002\u0002", + "\u39dd\u39de\u0007V\u0002\u0002\u39de\u39df\u0007Q\u0002\u0002\u39df", + "\u39e0\u0007a\u0002\u0002\u39e0\u39e1\u0007Q\u0002\u0002\u39e1\u39e2", + "\u0007W\u0002\u0002\u39e2\u39e3\u0007V\u0002\u0002\u39e3\u39e4\u0007", + "G\u0002\u0002\u39e4\u39e5\u0007T\u0002\u0002\u39e5\u07ac\u0003\u0002", + "\u0002\u0002\u39e6\u39e7\u0007P\u0002\u0002\u39e7\u39e8\u0007Q\u0002", + "\u0002\u39e8\u39e9\u0007a\u0002\u0002\u39e9\u39ea\u0007I\u0002\u0002", + "\u39ea\u39eb\u0007C\u0002\u0002\u39eb\u39ec\u0007V\u0002\u0002\u39ec", + "\u39ed\u0007J\u0002\u0002\u39ed\u39ee\u0007G\u0002\u0002\u39ee\u39ef", + "\u0007T\u0002\u0002\u39ef\u39f0\u0007a\u0002\u0002\u39f0\u39f1\u0007", + "Q\u0002\u0002\u39f1\u39f2\u0007R\u0002\u0002\u39f2\u39f3\u0007V\u0002", + "\u0002\u39f3\u39f4\u0007K\u0002\u0002\u39f4\u39f5\u0007O\u0002\u0002", + "\u39f5\u39f6\u0007K\u0002\u0002\u39f6\u39f7\u0007\\\u0002\u0002\u39f7", + "\u39f8\u0007G\u0002\u0002\u39f8\u39f9\u0007T\u0002\u0002\u39f9\u39fa", + "\u0007a\u0002\u0002\u39fa\u39fb\u0007U\u0002\u0002\u39fb\u39fc\u0007", + "V\u0002\u0002\u39fc\u39fd\u0007C\u0002\u0002\u39fd\u39fe\u0007V\u0002", + "\u0002\u39fe\u39ff\u0007K\u0002\u0002\u39ff\u3a00\u0007U\u0002\u0002", + "\u3a00\u3a01\u0007V\u0002\u0002\u3a01\u3a02\u0007K\u0002\u0002\u3a02", + "\u3a03\u0007E\u0002\u0002\u3a03\u3a04\u0007U\u0002\u0002\u3a04\u07ae", + "\u0003\u0002\u0002\u0002\u3a05\u3a06\u0007P\u0002\u0002\u3a06\u3a07", + "\u0007Q\u0002\u0002\u3a07\u3a08\u0007a\u0002\u0002\u3a08\u3a09\u0007", + "I\u0002\u0002\u3a09\u3a0a\u0007D\u0002\u0002\u3a0a\u3a0b\u0007[\u0002", + "\u0002\u3a0b\u3a0c\u0007a\u0002\u0002\u3a0c\u3a0d\u0007R\u0002\u0002", + "\u3a0d\u3a0e\u0007W\u0002\u0002\u3a0e\u3a0f\u0007U\u0002\u0002\u3a0f", + "\u3a10\u0007J\u0002\u0002\u3a10\u3a11\u0007F\u0002\u0002\u3a11\u3a12", + "\u0007Q\u0002\u0002\u3a12\u3a13\u0007Y\u0002\u0002\u3a13\u3a14\u0007", + "P\u0002\u0002\u3a14\u07b0\u0003\u0002\u0002\u0002\u3a15\u3a16\u0007", + "P\u0002\u0002\u3a16\u3a17\u0007Q\u0002\u0002\u3a17\u3a18\u0007I\u0002", + "\u0002\u3a18\u3a19\u0007W\u0002\u0002\u3a19\u3a1a\u0007C\u0002\u0002", + "\u3a1a\u3a1b\u0007T\u0002\u0002\u3a1b\u3a1c\u0007C\u0002\u0002\u3a1c", + "\u3a1d\u0007P\u0002\u0002\u3a1d\u3a1e\u0007V\u0002\u0002\u3a1e\u3a1f", + "\u0007G\u0002\u0002\u3a1f\u3a20\u0007G\u0002\u0002\u3a20\u07b2\u0003", + "\u0002\u0002\u0002\u3a21\u3a22\u0007P\u0002\u0002\u3a22\u3a23\u0007", + "Q\u0002\u0002\u3a23\u3a24\u0007a\u0002\u0002\u3a24\u3a25\u0007K\u0002", + "\u0002\u3a25\u3a26\u0007P\u0002\u0002\u3a26\u3a27\u0007F\u0002\u0002", + "\u3a27\u3a28\u0007G\u0002\u0002\u3a28\u3a29\u0007Z\u0002\u0002\u3a29", + "\u3a2a\u0007a\u0002\u0002\u3a2a\u3a2b\u0007H\u0002\u0002\u3a2b\u3a2c", + "\u0007H\u0002\u0002\u3a2c\u3a2d\u0007U\u0002\u0002\u3a2d\u07b4\u0003", + "\u0002\u0002\u0002\u3a2e\u3a2f\u0007P\u0002\u0002\u3a2f\u3a30\u0007", + "Q\u0002\u0002\u3a30\u3a31\u0007a\u0002\u0002\u3a31\u3a32\u0007K\u0002", + "\u0002\u3a32\u3a33\u0007P\u0002\u0002\u3a33\u3a34\u0007F\u0002\u0002", + "\u3a34\u3a35\u0007G\u0002\u0002\u3a35\u3a36\u0007Z\u0002\u0002\u3a36", + "\u07b6\u0003\u0002\u0002\u0002\u3a37\u3a38\u0007P\u0002\u0002\u3a38", + "\u3a39\u0007Q\u0002\u0002\u3a39\u3a3a\u0007a\u0002\u0002\u3a3a\u3a3b", + "\u0007K\u0002\u0002\u3a3b\u3a3c\u0007P\u0002\u0002\u3a3c\u3a3d\u0007", + "F\u0002\u0002\u3a3d\u3a3e\u0007G\u0002\u0002\u3a3e\u3a3f\u0007Z\u0002", + "\u0002\u3a3f\u3a40\u0007a\u0002\u0002\u3a40\u3a41\u0007U\u0002\u0002", + "\u3a41\u3a42\u0007U\u0002\u0002\u3a42\u07b8\u0003\u0002\u0002\u0002", + "\u3a43\u3a44\u0007P\u0002\u0002\u3a44\u3a45\u0007Q\u0002\u0002\u3a45", + "\u3a46\u0007a\u0002\u0002\u3a46\u3a47\u0007K\u0002\u0002\u3a47\u3a48", + "\u0007P\u0002\u0002\u3a48\u3a49\u0007O\u0002\u0002\u3a49\u3a4a\u0007", + "G\u0002\u0002\u3a4a\u3a4b\u0007O\u0002\u0002\u3a4b\u3a4c\u0007Q\u0002", + "\u0002\u3a4c\u3a4d\u0007T\u0002\u0002\u3a4d\u3a4e\u0007[\u0002\u0002", + "\u3a4e\u07ba\u0003\u0002\u0002\u0002\u3a4f\u3a50\u0007P\u0002\u0002", + "\u3a50\u3a51\u0007Q\u0002\u0002\u3a51\u3a52\u0007a\u0002\u0002\u3a52", + "\u3a53\u0007K\u0002\u0002\u3a53\u3a54\u0007P\u0002\u0002\u3a54\u3a55", + "\u0007O\u0002\u0002\u3a55\u3a56\u0007G\u0002\u0002\u3a56\u3a57\u0007", + "O\u0002\u0002\u3a57\u3a58\u0007Q\u0002\u0002\u3a58\u3a59\u0007T\u0002", + "\u0002\u3a59\u3a5a\u0007[\u0002\u0002\u3a5a\u3a5b\u0007a\u0002\u0002", + "\u3a5b\u3a5c\u0007R\u0002\u0002\u3a5c\u3a5d\u0007T\u0002\u0002\u3a5d", + "\u3a5e\u0007W\u0002\u0002\u3a5e\u3a5f\u0007P\u0002\u0002\u3a5f\u3a60", + "\u0007K\u0002\u0002\u3a60\u3a61\u0007P\u0002\u0002\u3a61\u3a62\u0007", + "I\u0002\u0002\u3a62\u07bc\u0003\u0002\u0002\u0002\u3a63\u3a64\u0007", + "P\u0002\u0002\u3a64\u3a65\u0007Q\u0002\u0002\u3a65\u3a66\u0007M\u0002", + "\u0002\u3a66\u3a67\u0007G\u0002\u0002\u3a67\u3a68\u0007G\u0002\u0002", + "\u3a68\u3a69\u0007R\u0002\u0002\u3a69\u07be\u0003\u0002\u0002\u0002", + "\u3a6a\u3a6b\u0007P\u0002\u0002\u3a6b\u3a6c\u0007Q\u0002\u0002\u3a6c", + "\u3a6d\u0007a\u0002\u0002\u3a6d\u3a6e\u0007N\u0002\u0002\u3a6e\u3a6f", + "\u0007Q\u0002\u0002\u3a6f\u3a70\u0007C\u0002\u0002\u3a70\u3a71\u0007", + "F\u0002\u0002\u3a71\u07c0\u0003\u0002\u0002\u0002\u3a72\u3a73\u0007", + "P\u0002\u0002\u3a73\u3a74\u0007Q\u0002\u0002\u3a74\u3a75\u0007N\u0002", + "\u0002\u3a75\u3a76\u0007Q\u0002\u0002\u3a76\u3a77\u0007E\u0002\u0002", + "\u3a77\u3a78\u0007C\u0002\u0002\u3a78\u3a79\u0007N\u0002\u0002\u3a79", + "\u07c2\u0003\u0002\u0002\u0002\u3a7a\u3a7b\u0007P\u0002\u0002\u3a7b", + "\u3a7c\u0007Q\u0002\u0002\u3a7c\u3a7d\u0007N\u0002\u0002\u3a7d\u3a7e", + "\u0007Q\u0002\u0002\u3a7e\u3a7f\u0007I\u0002\u0002\u3a7f\u3a80\u0007", + "I\u0002\u0002\u3a80\u3a81\u0007K\u0002\u0002\u3a81\u3a82\u0007P\u0002", + "\u0002\u3a82\u3a83\u0007I\u0002\u0002\u3a83\u07c4\u0003\u0002\u0002", + "\u0002\u3a84\u3a85\u0007P\u0002\u0002\u3a85\u3a86\u0007Q\u0002\u0002", + "\u3a86\u3a87\u0007O\u0002\u0002\u3a87\u3a88\u0007C\u0002\u0002\u3a88", + "\u3a89\u0007R\u0002\u0002\u3a89\u3a8a\u0007R\u0002\u0002\u3a8a\u3a8b", + "\u0007K\u0002\u0002\u3a8b\u3a8c\u0007P\u0002\u0002\u3a8c\u3a8d\u0007", + "I\u0002\u0002\u3a8d\u07c6\u0003\u0002\u0002\u0002\u3a8e\u3a8f\u0007", + "P\u0002\u0002\u3a8f\u3a90\u0007Q\u0002\u0002\u3a90\u3a91\u0007O\u0002", + "\u0002\u3a91\u3a92\u0007C\u0002\u0002\u3a92\u3a93\u0007Z\u0002\u0002", + "\u3a93\u3a94\u0007X\u0002\u0002\u3a94\u3a95\u0007C\u0002\u0002\u3a95", + "\u3a96\u0007N\u0002\u0002\u3a96\u3a97\u0007W\u0002\u0002\u3a97\u3a98", + "\u0007G\u0002\u0002\u3a98\u07c8\u0003\u0002\u0002\u0002\u3a99\u3a9a", + "\u0007P\u0002\u0002\u3a9a\u3a9b\u0007Q\u0002\u0002\u3a9b\u3a9c\u0007", + "a\u0002\u0002\u3a9c\u3a9d\u0007O\u0002\u0002\u3a9d\u3a9e\u0007G\u0002", + "\u0002\u3a9e\u3a9f\u0007T\u0002\u0002\u3a9f\u3aa0\u0007I\u0002\u0002", + "\u3aa0\u3aa1\u0007G\u0002\u0002\u3aa1\u07ca\u0003\u0002\u0002\u0002", + "\u3aa2\u3aa3\u0007P\u0002\u0002\u3aa3\u3aa4\u0007Q\u0002\u0002\u3aa4", + "\u3aa5\u0007O\u0002\u0002\u3aa5\u3aa6\u0007K\u0002\u0002\u3aa6\u3aa7", + "\u0007P\u0002\u0002\u3aa7\u3aa8\u0007K\u0002\u0002\u3aa8\u3aa9\u0007", + "O\u0002\u0002\u3aa9\u3aaa\u0007K\u0002\u0002\u3aaa\u3aab\u0007\\\u0002", + "\u0002\u3aab\u3aac\u0007G\u0002\u0002\u3aac\u07cc\u0003\u0002\u0002", + "\u0002\u3aad\u3aae\u0007P\u0002\u0002\u3aae\u3aaf\u0007Q\u0002\u0002", + "\u3aaf\u3ab0\u0007O\u0002\u0002\u3ab0\u3ab1\u0007K\u0002\u0002\u3ab1", + "\u3ab2\u0007P\u0002\u0002\u3ab2\u3ab3\u0007X\u0002\u0002\u3ab3\u3ab4", + "\u0007C\u0002\u0002\u3ab4\u3ab5\u0007N\u0002\u0002\u3ab5\u3ab6\u0007", + "W\u0002\u0002\u3ab6\u3ab7\u0007G\u0002\u0002\u3ab7\u07ce\u0003\u0002", + "\u0002\u0002\u3ab8\u3ab9\u0007P\u0002\u0002\u3ab9\u3aba\u0007Q\u0002", + "\u0002\u3aba\u3abb\u0007a\u0002\u0002\u3abb\u3abc\u0007O\u0002\u0002", + "\u3abc\u3abd\u0007Q\u0002\u0002\u3abd\u3abe\u0007F\u0002\u0002\u3abe", + "\u3abf\u0007G\u0002\u0002\u3abf\u3ac0\u0007N\u0002\u0002\u3ac0\u3ac1", + "\u0007a\u0002\u0002\u3ac1\u3ac2\u0007R\u0002\u0002\u3ac2\u3ac3\u0007", + "W\u0002\u0002\u3ac3\u3ac4\u0007U\u0002\u0002\u3ac4\u3ac5\u0007J\u0002", + "\u0002\u3ac5\u3ac6\u0007a\u0002\u0002\u3ac6\u3ac7\u0007T\u0002\u0002", + "\u3ac7\u3ac8\u0007G\u0002\u0002\u3ac8\u3ac9\u0007H\u0002\u0002\u3ac9", + "\u07d0\u0003\u0002\u0002\u0002\u3aca\u3acb\u0007P\u0002\u0002\u3acb", + "\u3acc\u0007Q\u0002\u0002\u3acc\u3acd\u0007a\u0002\u0002\u3acd\u3ace", + "\u0007O\u0002\u0002\u3ace\u3acf\u0007Q\u0002\u0002\u3acf\u3ad0\u0007", + "P\u0002\u0002\u3ad0\u3ad1\u0007K\u0002\u0002\u3ad1\u3ad2\u0007V\u0002", + "\u0002\u3ad2\u3ad3\u0007Q\u0002\u0002\u3ad3\u3ad4\u0007T\u0002\u0002", + "\u3ad4\u3ad5\u0007K\u0002\u0002\u3ad5\u3ad6\u0007P\u0002\u0002\u3ad6", + "\u3ad7\u0007I\u0002\u0002\u3ad7\u07d2\u0003\u0002\u0002\u0002\u3ad8", + "\u3ad9\u0007P\u0002\u0002\u3ad9\u3ada\u0007Q\u0002\u0002\u3ada\u3adb", + "\u0007O\u0002\u0002\u3adb\u3adc\u0007Q\u0002\u0002\u3adc\u3add\u0007", + "P\u0002\u0002\u3add\u3ade\u0007K\u0002\u0002\u3ade\u3adf\u0007V\u0002", + "\u0002\u3adf\u3ae0\u0007Q\u0002\u0002\u3ae0\u3ae1\u0007T\u0002\u0002", + "\u3ae1\u3ae2\u0007K\u0002\u0002\u3ae2\u3ae3\u0007P\u0002\u0002\u3ae3", + "\u3ae4\u0007I\u0002\u0002\u3ae4\u07d4\u0003\u0002\u0002\u0002\u3ae5", + "\u3ae6\u0007P\u0002\u0002\u3ae6\u3ae7\u0007Q\u0002\u0002\u3ae7\u3ae8", + "\u0007a\u0002\u0002\u3ae8\u3ae9\u0007O\u0002\u0002\u3ae9\u3aea\u0007", + "Q\u0002\u0002\u3aea\u3aeb\u0007P\u0002\u0002\u3aeb\u3aec\u0007K\u0002", + "\u0002\u3aec\u3aed\u0007V\u0002\u0002\u3aed\u3aee\u0007Q\u0002\u0002", + "\u3aee\u3aef\u0007T\u0002\u0002\u3aef\u07d6\u0003\u0002\u0002\u0002", + "\u3af0\u3af1\u0007P\u0002\u0002\u3af1\u3af2\u0007Q\u0002\u0002\u3af2", + "\u3af3\u0007a\u0002\u0002\u3af3\u3af4\u0007O\u0002\u0002\u3af4\u3af5", + "\u0007W\u0002\u0002\u3af5\u3af6\u0007N\u0002\u0002\u3af6\u3af7\u0007", + "V\u0002\u0002\u3af7\u3af8\u0007K\u0002\u0002\u3af8\u3af9\u0007O\u0002", + "\u0002\u3af9\u3afa\u0007X\u0002\u0002\u3afa\u3afb\u0007a\u0002\u0002", + "\u3afb\u3afc\u0007T\u0002\u0002\u3afc\u3afd\u0007G\u0002\u0002\u3afd", + "\u3afe\u0007Y\u0002\u0002\u3afe\u3aff\u0007T\u0002\u0002\u3aff\u3b00", + "\u0007K\u0002\u0002\u3b00\u3b01\u0007V\u0002\u0002\u3b01\u3b02\u0007", + "G\u0002\u0002\u3b02\u07d8\u0003\u0002\u0002\u0002\u3b03\u3b04\u0007", + "P\u0002\u0002\u3b04\u3b05\u0007Q\u0002\u0002\u3b05\u3b06\u0007a\u0002", + "\u0002\u3b06\u3b07\u0007P\u0002\u0002\u3b07\u3b08\u0007C\u0002\u0002", + "\u3b08\u3b09\u0007V\u0002\u0002\u3b09\u3b0a\u0007K\u0002\u0002\u3b0a", + "\u3b0b\u0007X\u0002\u0002\u3b0b\u3b0c\u0007G\u0002\u0002\u3b0c\u3b0d", + "\u0007a\u0002\u0002\u3b0d\u3b0e\u0007H\u0002\u0002\u3b0e\u3b0f\u0007", + "W\u0002\u0002\u3b0f\u3b10\u0007N\u0002\u0002\u3b10\u3b11\u0007N\u0002", + "\u0002\u3b11\u3b12\u0007a\u0002\u0002\u3b12\u3b13\u0007Q\u0002\u0002", + "\u3b13\u3b14\u0007W\u0002\u0002\u3b14\u3b15\u0007V\u0002\u0002\u3b15", + "\u3b16\u0007G\u0002\u0002\u3b16\u3b17\u0007T\u0002\u0002\u3b17\u3b18", + "\u0007a\u0002\u0002\u3b18\u3b19\u0007L\u0002\u0002\u3b19\u3b1a\u0007", + "Q\u0002\u0002\u3b1a\u3b1b\u0007K\u0002\u0002\u3b1b\u3b1c\u0007P\u0002", + "\u0002\u3b1c\u07da\u0003\u0002\u0002\u0002\u3b1d\u3b1e\u0007P\u0002", + "\u0002\u3b1e\u3b1f\u0007Q\u0002\u0002\u3b1f\u3b20\u0007P\u0002\u0002", + "\u3b20\u3b21\u0007D\u0002\u0002\u3b21\u3b22\u0007N\u0002\u0002\u3b22", + "\u3b23\u0007Q\u0002\u0002\u3b23\u3b24\u0007E\u0002\u0002\u3b24\u3b25", + "\u0007M\u0002\u0002\u3b25\u3b26\u0007K\u0002\u0002\u3b26\u3b27\u0007", + "P\u0002\u0002\u3b27\u3b28\u0007I\u0002\u0002\u3b28\u07dc\u0003\u0002", + "\u0002\u0002\u3b29\u3b2a\u0007P\u0002\u0002\u3b2a\u3b2b\u0007Q\u0002", + "\u0002\u3b2b\u3b2c\u0007P\u0002\u0002\u3b2c\u3b2d\u0007G\u0002\u0002", + "\u3b2d\u3b2e\u0007F\u0002\u0002\u3b2e\u3b2f\u0007K\u0002\u0002\u3b2f", + "\u3b30\u0007V\u0002\u0002\u3b30\u3b31\u0007K\u0002\u0002\u3b31\u3b32", + "\u0007Q\u0002\u0002\u3b32\u3b33\u0007P\u0002\u0002\u3b33\u3b34\u0007", + "C\u0002\u0002\u3b34\u3b35\u0007D\u0002\u0002\u3b35\u3b36\u0007N\u0002", + "\u0002\u3b36\u3b37\u0007G\u0002\u0002\u3b37\u07de\u0003\u0002\u0002", + "\u0002\u3b38\u3b39\u0007P\u0002\u0002\u3b39\u3b3a\u0007Q\u0002\u0002", + "\u3b3a\u3b3b\u0007P\u0002\u0002\u3b3b\u3b3c\u0007G\u0002\u0002\u3b3c", + "\u07e0\u0003\u0002\u0002\u0002\u3b3d\u3b3e\u0007P\u0002\u0002\u3b3e", + "\u3b3f\u0007Q\u0002\u0002\u3b3f\u3b40\u0007a\u0002\u0002\u3b40\u3b41", + "\u0007P\u0002\u0002\u3b41\u3b42\u0007N\u0002\u0002\u3b42\u3b43\u0007", + "L\u0002\u0002\u3b43\u3b44\u0007a\u0002\u0002\u3b44\u3b45\u0007D\u0002", + "\u0002\u3b45\u3b46\u0007C\u0002\u0002\u3b46\u3b47\u0007V\u0002\u0002", + "\u3b47\u3b48\u0007E\u0002\u0002\u3b48\u3b49\u0007J\u0002\u0002\u3b49", + "\u3b4a\u0007K\u0002\u0002\u3b4a\u3b4b\u0007P\u0002\u0002\u3b4b\u3b4c", + "\u0007I\u0002\u0002\u3b4c\u07e2\u0003\u0002\u0002\u0002\u3b4d\u3b4e", + "\u0007P\u0002\u0002\u3b4e\u3b4f\u0007Q\u0002\u0002\u3b4f\u3b50\u0007", + "a\u0002\u0002\u3b50\u3b51\u0007P\u0002\u0002\u3b51\u3b52\u0007N\u0002", + "\u0002\u3b52\u3b53\u0007L\u0002\u0002\u3b53\u3b54\u0007a\u0002\u0002", + "\u3b54\u3b55\u0007R\u0002\u0002\u3b55\u3b56\u0007T\u0002\u0002\u3b56", + "\u3b57\u0007G\u0002\u0002\u3b57\u3b58\u0007H\u0002\u0002\u3b58\u3b59", + "\u0007G\u0002\u0002\u3b59\u3b5a\u0007V\u0002\u0002\u3b5a\u3b5b\u0007", + "E\u0002\u0002\u3b5b\u3b5c\u0007J\u0002\u0002\u3b5c\u07e4\u0003\u0002", + "\u0002\u0002\u3b5d\u3b5e\u0007P\u0002\u0002\u3b5e\u3b5f\u0007Q\u0002", + "\u0002\u3b5f\u07e6\u0003\u0002\u0002\u0002\u3b60\u3b61\u0007P\u0002", + "\u0002\u3b61\u3b62\u0007Q\u0002\u0002\u3b62\u3b63\u0007P\u0002\u0002", + "\u3b63\u3b64\u0007U\u0002\u0002\u3b64\u3b65\u0007E\u0002\u0002\u3b65", + "\u3b66\u0007J\u0002\u0002\u3b66\u3b67\u0007G\u0002\u0002\u3b67\u3b68", + "\u0007O\u0002\u0002\u3b68\u3b69\u0007C\u0002\u0002\u3b69\u07e8\u0003", + "\u0002\u0002\u0002\u3b6a\u3b6b\u0007P\u0002\u0002\u3b6b\u3b6c\u0007", + "Q\u0002\u0002\u3b6c\u3b6d\u0007a\u0002\u0002\u3b6d\u3b6e\u0007Q\u0002", + "\u0002\u3b6e\u3b6f\u0007D\u0002\u0002\u3b6f\u3b70\u0007L\u0002\u0002", + "\u3b70\u3b71\u0007G\u0002\u0002\u3b71\u3b72\u0007E\u0002\u0002\u3b72", + "\u3b73\u0007V\u0002\u0002\u3b73\u3b74\u0007a\u0002\u0002\u3b74\u3b75", + "\u0007N\u0002\u0002\u3b75\u3b76\u0007K\u0002\u0002\u3b76\u3b77\u0007", + "P\u0002\u0002\u3b77\u3b78\u0007M\u0002\u0002\u3b78\u07ea\u0003\u0002", + "\u0002\u0002\u3b79\u3b7a\u0007P\u0002\u0002\u3b7a\u3b7b\u0007Q\u0002", + "\u0002\u3b7b\u3b7c\u0007Q\u0002\u0002\u3b7c\u3b7d\u0007T\u0002\u0002", + "\u3b7d\u3b7e\u0007F\u0002\u0002\u3b7e\u3b7f\u0007G\u0002\u0002\u3b7f", + "\u3b80\u0007T\u0002\u0002\u3b80\u07ec\u0003\u0002\u0002\u0002\u3b81", + "\u3b82\u0007P\u0002\u0002\u3b82\u3b83\u0007Q\u0002\u0002\u3b83\u3b84", + "\u0007a\u0002\u0002\u3b84\u3b85\u0007Q\u0002\u0002\u3b85\u3b86\u0007", + "T\u0002\u0002\u3b86\u3b87\u0007F\u0002\u0002\u3b87\u3b88\u0007G\u0002", + "\u0002\u3b88\u3b89\u0007T\u0002\u0002\u3b89\u3b8a\u0007a\u0002\u0002", + "\u3b8a\u3b8b\u0007T\u0002\u0002\u3b8b\u3b8c\u0007Q\u0002\u0002\u3b8c", + "\u3b8d\u0007N\u0002\u0002\u3b8d\u3b8e\u0007N\u0002\u0002\u3b8e\u3b8f", + "\u0007W\u0002\u0002\u3b8f\u3b90\u0007R\u0002\u0002\u3b90\u3b91\u0007", + "U\u0002\u0002\u3b91\u07ee\u0003\u0002\u0002\u0002\u3b92\u3b93\u0007", + "P\u0002\u0002\u3b93\u3b94\u0007Q\u0002\u0002\u3b94\u3b95\u0007a\u0002", + "\u0002\u3b95\u3b96\u0007Q\u0002\u0002\u3b96\u3b97\u0007W\u0002\u0002", + "\u3b97\u3b98\u0007V\u0002\u0002\u3b98\u3b99\u0007G\u0002\u0002\u3b99", + "\u3b9a\u0007T\u0002\u0002\u3b9a\u3b9b\u0007a\u0002\u0002\u3b9b\u3b9c", + "\u0007L\u0002\u0002\u3b9c\u3b9d\u0007Q\u0002\u0002\u3b9d\u3b9e\u0007", + "K\u0002\u0002\u3b9e\u3b9f\u0007P\u0002\u0002\u3b9f\u3ba0\u0007a\u0002", + "\u0002\u3ba0\u3ba1\u0007V\u0002\u0002\u3ba1\u3ba2\u0007Q\u0002\u0002", + "\u3ba2\u3ba3\u0007a\u0002\u0002\u3ba3\u3ba4\u0007C\u0002\u0002\u3ba4", + "\u3ba5\u0007P\u0002\u0002\u3ba5\u3ba6\u0007V\u0002\u0002\u3ba6\u3ba7", + "\u0007K\u0002\u0002\u3ba7\u07f0\u0003\u0002\u0002\u0002\u3ba8\u3ba9", + "\u0007P\u0002\u0002\u3ba9\u3baa\u0007Q\u0002\u0002\u3baa\u3bab\u0007", + "a\u0002\u0002\u3bab\u3bac\u0007Q\u0002\u0002\u3bac\u3bad\u0007W\u0002", + "\u0002\u3bad\u3bae\u0007V\u0002\u0002\u3bae\u3baf\u0007G\u0002\u0002", + "\u3baf\u3bb0\u0007T\u0002\u0002\u3bb0\u3bb1\u0007a\u0002\u0002\u3bb1", + "\u3bb2\u0007L\u0002\u0002\u3bb2\u3bb3\u0007Q\u0002\u0002\u3bb3\u3bb4", + "\u0007K\u0002\u0002\u3bb4\u3bb5\u0007P\u0002\u0002\u3bb5\u3bb6\u0007", + "a\u0002\u0002\u3bb6\u3bb7\u0007V\u0002\u0002\u3bb7\u3bb8\u0007Q\u0002", + "\u0002\u3bb8\u3bb9\u0007a\u0002\u0002\u3bb9\u3bba\u0007K\u0002\u0002", + "\u3bba\u3bbb\u0007P\u0002\u0002\u3bbb\u3bbc\u0007P\u0002\u0002\u3bbc", + "\u3bbd\u0007G\u0002\u0002\u3bbd\u3bbe\u0007T\u0002\u0002\u3bbe\u07f2", + "\u0003\u0002\u0002\u0002\u3bbf\u3bc0\u0007P\u0002\u0002\u3bc0\u3bc1", + "\u0007Q\u0002\u0002\u3bc1\u3bc2\u0007Q\u0002\u0002\u3bc2\u3bc3\u0007", + "X\u0002\u0002\u3bc3\u3bc4\u0007G\u0002\u0002\u3bc4\u3bc5\u0007T\u0002", + "\u0002\u3bc5\u3bc6\u0007T\u0002\u0002\u3bc6\u3bc7\u0007K\u0002\u0002", + "\u3bc7\u3bc8\u0007F\u0002\u0002\u3bc8\u3bc9\u0007G\u0002\u0002\u3bc9", + "\u07f4\u0003\u0002\u0002\u0002\u3bca\u3bcb\u0007P\u0002\u0002\u3bcb", + "\u3bcc\u0007Q\u0002\u0002\u3bcc\u3bcd\u0007a\u0002\u0002\u3bcd\u3bce", + "\u0007R\u0002\u0002\u3bce\u3bcf\u0007C\u0002\u0002\u3bcf\u3bd0\u0007", + "T\u0002\u0002\u3bd0\u3bd1\u0007C\u0002\u0002\u3bd1\u3bd2\u0007N\u0002", + "\u0002\u3bd2\u3bd3\u0007N\u0002\u0002\u3bd3\u3bd4\u0007G\u0002\u0002", + "\u3bd4\u3bd5\u0007N\u0002\u0002\u3bd5\u3bd6\u0007a\u0002\u0002\u3bd6", + "\u3bd7\u0007K\u0002\u0002\u3bd7\u3bd8\u0007P\u0002\u0002\u3bd8\u3bd9", + "\u0007F\u0002\u0002\u3bd9\u3bda\u0007G\u0002\u0002\u3bda\u3bdb\u0007", + "Z\u0002\u0002\u3bdb\u07f6\u0003\u0002\u0002\u0002\u3bdc\u3bdd\u0007", + "P\u0002\u0002\u3bdd\u3bde\u0007Q\u0002\u0002\u3bde\u3bdf\u0007R\u0002", + "\u0002\u3bdf\u3be0\u0007C\u0002\u0002\u3be0\u3be1\u0007T\u0002\u0002", + "\u3be1\u3be2\u0007C\u0002\u0002\u3be2\u3be3\u0007N\u0002\u0002\u3be3", + "\u3be4\u0007N\u0002\u0002\u3be4\u3be5\u0007G\u0002\u0002\u3be5\u3be6", + "\u0007N\u0002\u0002\u3be6\u3be7\u0007a\u0002\u0002\u3be7\u3be8\u0007", + "K\u0002\u0002\u3be8\u3be9\u0007P\u0002\u0002\u3be9\u3bea\u0007F\u0002", + "\u0002\u3bea\u3beb\u0007G\u0002\u0002\u3beb\u3bec\u0007Z\u0002\u0002", + "\u3bec\u07f8\u0003\u0002\u0002\u0002\u3bed\u3bee\u0007P\u0002\u0002", + "\u3bee\u3bef\u0007Q\u0002\u0002\u3bef\u3bf0\u0007a\u0002\u0002\u3bf0", + "\u3bf1\u0007R\u0002\u0002\u3bf1\u3bf2\u0007C\u0002\u0002\u3bf2\u3bf3", + "\u0007T\u0002\u0002\u3bf3\u3bf4\u0007C\u0002\u0002\u3bf4\u3bf5\u0007", + "N\u0002\u0002\u3bf5\u3bf6\u0007N\u0002\u0002\u3bf6\u3bf7\u0007G\u0002", + "\u0002\u3bf7\u3bf8\u0007N\u0002\u0002\u3bf8\u07fa\u0003\u0002\u0002", + "\u0002\u3bf9\u3bfa\u0007P\u0002\u0002\u3bfa\u3bfb\u0007Q\u0002\u0002", + "\u3bfb\u3bfc\u0007R\u0002\u0002\u3bfc\u3bfd\u0007C\u0002\u0002\u3bfd", + "\u3bfe\u0007T\u0002\u0002\u3bfe\u3bff\u0007C\u0002\u0002\u3bff\u3c00", + "\u0007N\u0002\u0002\u3c00\u3c01\u0007N\u0002\u0002\u3c01\u3c02\u0007", + "G\u0002\u0002\u3c02\u3c03\u0007N\u0002\u0002\u3c03\u07fc\u0003\u0002", + "\u0002\u0002\u3c04\u3c05\u0007P\u0002\u0002\u3c05\u3c06\u0007Q\u0002", + "\u0002\u3c06\u3c07\u0007a\u0002\u0002\u3c07\u3c08\u0007R\u0002\u0002", + "\u3c08\u3c09\u0007C\u0002\u0002\u3c09\u3c0a\u0007T\u0002\u0002\u3c0a", + "\u3c0b\u0007V\u0002\u0002\u3c0b\u3c0c\u0007K\u0002\u0002\u3c0c\u3c0d", + "\u0007C\u0002\u0002\u3c0d\u3c0e\u0007N\u0002\u0002\u3c0e\u3c0f\u0007", + "a\u0002\u0002\u3c0f\u3c10\u0007E\u0002\u0002\u3c10\u3c11\u0007Q\u0002", + "\u0002\u3c11\u3c12\u0007O\u0002\u0002\u3c12\u3c13\u0007O\u0002\u0002", + "\u3c13\u3c14\u0007K\u0002\u0002\u3c14\u3c15\u0007V\u0002\u0002\u3c15", + "\u07fe\u0003\u0002\u0002\u0002\u3c16\u3c17\u0007P\u0002\u0002\u3c17", + "\u3c18\u0007Q\u0002\u0002\u3c18\u3c19\u0007a\u0002\u0002\u3c19\u3c1a", + "\u0007R\u0002\u0002\u3c1a\u3c1b\u0007C\u0002\u0002\u3c1b\u3c1c\u0007", + "T\u0002\u0002\u3c1c\u3c1d\u0007V\u0002\u0002\u3c1d\u3c1e\u0007K\u0002", + "\u0002\u3c1e\u3c1f\u0007C\u0002\u0002\u3c1f\u3c20\u0007N\u0002\u0002", + "\u3c20\u3c21\u0007a\u0002\u0002\u3c21\u3c22\u0007L\u0002\u0002\u3c22", + "\u3c23\u0007Q\u0002\u0002\u3c23\u3c24\u0007K\u0002\u0002\u3c24\u3c25", + "\u0007P\u0002\u0002\u3c25\u0800\u0003\u0002\u0002\u0002\u3c26\u3c27", + "\u0007P\u0002\u0002\u3c27\u3c28\u0007Q\u0002\u0002\u3c28\u3c29\u0007", + "a\u0002\u0002\u3c29\u3c2a\u0007R\u0002\u0002\u3c2a\u3c2b\u0007C\u0002", + "\u0002\u3c2b\u3c2c\u0007T\u0002\u0002\u3c2c\u3c2d\u0007V\u0002\u0002", + "\u3c2d\u3c2e\u0007K\u0002\u0002\u3c2e\u3c2f\u0007C\u0002\u0002\u3c2f", + "\u3c30\u0007N\u0002\u0002\u3c30\u3c31\u0007a\u0002\u0002\u3c31\u3c32", + "\u0007T\u0002\u0002\u3c32\u3c33\u0007Q\u0002\u0002\u3c33\u3c34\u0007", + "N\u0002\u0002\u3c34\u3c35\u0007N\u0002\u0002\u3c35\u3c36\u0007W\u0002", + "\u0002\u3c36\u3c37\u0007R\u0002\u0002\u3c37\u3c38\u0007a\u0002\u0002", + "\u3c38\u3c39\u0007R\u0002\u0002\u3c39\u3c3a\u0007W\u0002\u0002\u3c3a", + "\u3c3b\u0007U\u0002\u0002\u3c3b\u3c3c\u0007J\u0002\u0002\u3c3c\u3c3d", + "\u0007F\u0002\u0002\u3c3d\u3c3e\u0007Q\u0002\u0002\u3c3e\u3c3f\u0007", + "Y\u0002\u0002\u3c3f\u3c40\u0007P\u0002\u0002\u3c40\u0802\u0003\u0002", + "\u0002\u0002\u3c41\u3c42\u0007P\u0002\u0002\u3c42\u3c43\u0007Q\u0002", + "\u0002\u3c43\u3c44\u0007R\u0002\u0002\u3c44\u3c45\u0007C\u0002\u0002", + "\u3c45\u3c46\u0007T\u0002\u0002\u3c46\u3c47\u0007V\u0002\u0002\u3c47", + "\u3c48\u0007K\u0002\u0002\u3c48\u3c49\u0007V\u0002\u0002\u3c49\u3c4a", + "\u0007K\u0002\u0002\u3c4a\u3c4b\u0007Q\u0002\u0002\u3c4b\u3c4c\u0007", + "P\u0002\u0002\u3c4c\u0804\u0003\u0002\u0002\u0002\u3c4d\u3c4e\u0007", + "P\u0002\u0002\u3c4e\u3c4f\u0007Q\u0002\u0002\u3c4f\u3c50\u0007a\u0002", + "\u0002\u3c50\u3c51\u0007R\u0002\u0002\u3c51\u3c52\u0007N\u0002\u0002", + "\u3c52\u3c53\u0007C\u0002\u0002\u3c53\u3c54\u0007E\u0002\u0002\u3c54", + "\u3c55\u0007G\u0002\u0002\u3c55\u3c56\u0007a\u0002\u0002\u3c56\u3c57", + "\u0007F\u0002\u0002\u3c57\u3c58\u0007K\u0002\u0002\u3c58\u3c59\u0007", + "U\u0002\u0002\u3c59\u3c5a\u0007V\u0002\u0002\u3c5a\u3c5b\u0007K\u0002", + "\u0002\u3c5b\u3c5c\u0007P\u0002\u0002\u3c5c\u3c5d\u0007E\u0002\u0002", + "\u3c5d\u3c5e\u0007V\u0002\u0002\u3c5e\u0806\u0003\u0002\u0002\u0002", + "\u3c5f\u3c60\u0007P\u0002\u0002\u3c60\u3c61\u0007Q\u0002\u0002\u3c61", + "\u3c62\u0007a\u0002\u0002\u3c62\u3c63\u0007R\u0002\u0002\u3c63\u3c64", + "\u0007N\u0002\u0002\u3c64\u3c65\u0007C\u0002\u0002\u3c65\u3c66\u0007", + "E\u0002\u0002\u3c66\u3c67\u0007G\u0002\u0002\u3c67\u3c68\u0007a\u0002", + "\u0002\u3c68\u3c69\u0007I\u0002\u0002\u3c69\u3c6a\u0007T\u0002\u0002", + "\u3c6a\u3c6b\u0007Q\u0002\u0002\u3c6b\u3c6c\u0007W\u0002\u0002\u3c6c", + "\u3c6d\u0007R\u0002\u0002\u3c6d\u3c6e\u0007a\u0002\u0002\u3c6e\u3c6f", + "\u0007D\u0002\u0002\u3c6f\u3c70\u0007[\u0002\u0002\u3c70\u0808\u0003", + "\u0002\u0002\u0002\u3c71\u3c72\u0007P\u0002\u0002\u3c72\u3c73\u0007", + "Q\u0002\u0002\u3c73\u3c74\u0007a\u0002\u0002\u3c74\u3c75\u0007R\u0002", + "\u0002\u3c75\u3c76\u0007S\u0002\u0002\u3c76\u3c77\u0007a\u0002\u0002", + "\u3c77\u3c78\u0007E\u0002\u0002\u3c78\u3c79\u0007Q\u0002\u0002\u3c79", + "\u3c7a\u0007P\u0002\u0002\u3c7a\u3c7b\u0007E\u0002\u0002\u3c7b\u3c7c", + "\u0007W\u0002\u0002\u3c7c\u3c7d\u0007T\u0002\u0002\u3c7d\u3c7e\u0007", + "T\u0002\u0002\u3c7e\u3c7f\u0007G\u0002\u0002\u3c7f\u3c80\u0007P\u0002", + "\u0002\u3c80\u3c81\u0007V\u0002\u0002\u3c81\u3c82\u0007a\u0002\u0002", + "\u3c82\u3c83\u0007W\u0002\u0002\u3c83\u3c84\u0007P\u0002\u0002\u3c84", + "\u3c85\u0007K\u0002\u0002\u3c85\u3c86\u0007Q\u0002\u0002\u3c86\u3c87", + "\u0007P\u0002\u0002\u3c87\u080a\u0003\u0002\u0002\u0002\u3c88\u3c89", + "\u0007P\u0002\u0002\u3c89\u3c8a\u0007Q\u0002\u0002\u3c8a\u3c8b\u0007", + "a\u0002\u0002\u3c8b\u3c8c\u0007R\u0002\u0002\u3c8c\u3c8d\u0007S\u0002", + "\u0002\u3c8d\u3c8e\u0007a\u0002\u0002\u3c8e\u3c8f\u0007O\u0002\u0002", + "\u3c8f\u3c90\u0007C\u0002\u0002\u3c90\u3c91\u0007R\u0002\u0002\u3c91", + "\u080c\u0003\u0002\u0002\u0002\u3c92\u3c93\u0007P\u0002\u0002\u3c93", + "\u3c94\u0007Q\u0002\u0002\u3c94\u3c95\u0007a\u0002\u0002\u3c95\u3c96", + "\u0007R\u0002\u0002\u3c96\u3c97\u0007S\u0002\u0002\u3c97\u3c98\u0007", + "a\u0002\u0002\u3c98\u3c99\u0007T\u0002\u0002\u3c99\u3c9a\u0007G\u0002", + "\u0002\u3c9a\u3c9b\u0007R\u0002\u0002\u3c9b\u3c9c\u0007N\u0002\u0002", + "\u3c9c\u3c9d\u0007K\u0002\u0002\u3c9d\u3c9e\u0007E\u0002\u0002\u3c9e", + "\u3c9f\u0007C\u0002\u0002\u3c9f\u3ca0\u0007V\u0002\u0002\u3ca0\u3ca1", + "\u0007G\u0002\u0002\u3ca1\u080e\u0003\u0002\u0002\u0002\u3ca2\u3ca3", + "\u0007P\u0002\u0002\u3ca3\u3ca4\u0007Q\u0002\u0002\u3ca4\u3ca5\u0007", + "a\u0002\u0002\u3ca5\u3ca6\u0007R\u0002\u0002\u3ca6\u3ca7\u0007S\u0002", + "\u0002\u3ca7\u3ca8\u0007a\u0002\u0002\u3ca8\u3ca9\u0007U\u0002\u0002", + "\u3ca9\u3caa\u0007M\u0002\u0002\u3caa\u3cab\u0007G\u0002\u0002\u3cab", + "\u3cac\u0007Y\u0002\u0002\u3cac\u0810\u0003\u0002\u0002\u0002\u3cad", + "\u3cae\u0007P\u0002\u0002\u3cae\u3caf\u0007Q\u0002\u0002\u3caf\u3cb0", + "\u0007a\u0002\u0002\u3cb0\u3cb1\u0007R\u0002\u0002\u3cb1\u3cb2\u0007", + "T\u0002\u0002\u3cb2\u3cb3\u0007W\u0002\u0002\u3cb3\u3cb4\u0007P\u0002", + "\u0002\u3cb4\u3cb5\u0007G\u0002\u0002\u3cb5\u3cb6\u0007a\u0002\u0002", + "\u3cb6\u3cb7\u0007I\u0002\u0002\u3cb7\u3cb8\u0007U\u0002\u0002\u3cb8", + "\u3cb9\u0007G\u0002\u0002\u3cb9\u3cba\u0007V\u0002\u0002\u3cba\u3cbb", + "\u0007U\u0002\u0002\u3cbb\u0812\u0003\u0002\u0002\u0002\u3cbc\u3cbd", + "\u0007P\u0002\u0002\u3cbd\u3cbe\u0007Q\u0002\u0002\u3cbe\u3cbf\u0007", + "a\u0002\u0002\u3cbf\u3cc0\u0007R\u0002\u0002\u3cc0\u3cc1\u0007W\u0002", + "\u0002\u3cc1\u3cc2\u0007N\u0002\u0002\u3cc2\u3cc3\u0007N\u0002\u0002", + "\u3cc3\u3cc4\u0007a\u0002\u0002\u3cc4\u3cc5\u0007R\u0002\u0002\u3cc5", + "\u3cc6\u0007T\u0002\u0002\u3cc6\u3cc7\u0007G\u0002\u0002\u3cc7\u3cc8", + "\u0007F\u0002\u0002\u3cc8\u0814\u0003\u0002\u0002\u0002\u3cc9\u3cca", + "\u0007P\u0002\u0002\u3cca\u3ccb\u0007Q\u0002\u0002\u3ccb\u3ccc\u0007", + "a\u0002\u0002\u3ccc\u3ccd\u0007R\u0002\u0002\u3ccd\u3cce\u0007W\u0002", + "\u0002\u3cce\u3ccf\u0007U\u0002\u0002\u3ccf\u3cd0\u0007J\u0002\u0002", + "\u3cd0\u3cd1\u0007a\u0002\u0002\u3cd1\u3cd2\u0007R\u0002\u0002\u3cd2", + "\u3cd3\u0007T\u0002\u0002\u3cd3\u3cd4\u0007G\u0002\u0002\u3cd4\u3cd5", + "\u0007F\u0002\u0002\u3cd5\u0816\u0003\u0002\u0002\u0002\u3cd6\u3cd7", + "\u0007P\u0002\u0002\u3cd7\u3cd8\u0007Q\u0002\u0002\u3cd8\u3cd9\u0007", + "a\u0002\u0002\u3cd9\u3cda\u0007R\u0002\u0002\u3cda\u3cdb\u0007W\u0002", + "\u0002\u3cdb\u3cdc\u0007U\u0002\u0002\u3cdc\u3cdd\u0007J\u0002\u0002", + "\u3cdd\u3cde\u0007a\u0002\u0002\u3cde\u3cdf\u0007U\u0002\u0002\u3cdf", + "\u3ce0\u0007W\u0002\u0002\u3ce0\u3ce1\u0007D\u0002\u0002\u3ce1\u3ce2", + "\u0007S\u0002\u0002\u3ce2\u0818\u0003\u0002\u0002\u0002\u3ce3\u3ce4", + "\u0007P\u0002\u0002\u3ce4\u3ce5\u0007Q\u0002\u0002\u3ce5\u3ce6\u0007", + "a\u0002\u0002\u3ce6\u3ce7\u0007R\u0002\u0002\u3ce7\u3ce8\u0007Z\u0002", + "\u0002\u3ce8\u3ce9\u0007a\u0002\u0002\u3ce9\u3cea\u0007H\u0002\u0002", + "\u3cea\u3ceb\u0007C\u0002\u0002\u3ceb\u3cec\u0007W\u0002\u0002\u3cec", + "\u3ced\u0007N\u0002\u0002\u3ced\u3cee\u0007V\u0002\u0002\u3cee\u3cef", + "\u0007a\u0002\u0002\u3cef\u3cf0\u0007V\u0002\u0002\u3cf0\u3cf1\u0007", + "Q\u0002\u0002\u3cf1\u3cf2\u0007N\u0002\u0002\u3cf2\u3cf3\u0007G\u0002", + "\u0002\u3cf3\u3cf4\u0007T\u0002\u0002\u3cf4\u3cf5\u0007C\u0002\u0002", + "\u3cf5\u3cf6\u0007P\u0002\u0002\u3cf6\u3cf7\u0007E\u0002\u0002\u3cf7", + "\u3cf8\u0007G\u0002\u0002\u3cf8\u081a\u0003\u0002\u0002\u0002\u3cf9", + "\u3cfa\u0007P\u0002\u0002\u3cfa\u3cfb\u0007Q\u0002\u0002\u3cfb\u3cfc", + "\u0007a\u0002\u0002\u3cfc\u3cfd\u0007R\u0002\u0002\u3cfd\u3cfe\u0007", + "Z\u0002\u0002\u3cfe\u3cff\u0007a\u0002\u0002\u3cff\u3d00\u0007L\u0002", + "\u0002\u3d00\u3d01\u0007Q\u0002\u0002\u3d01\u3d02\u0007K\u0002\u0002", + "\u3d02\u3d03\u0007P\u0002\u0002\u3d03\u3d04\u0007a\u0002\u0002\u3d04", + "\u3d05\u0007H\u0002\u0002\u3d05\u3d06\u0007K\u0002\u0002\u3d06\u3d07", + "\u0007N\u0002\u0002\u3d07\u3d08\u0007V\u0002\u0002\u3d08\u3d09\u0007", + "G\u0002\u0002\u3d09\u3d0a\u0007T\u0002\u0002\u3d0a\u081c\u0003\u0002", + "\u0002\u0002\u3d0b\u3d0c\u0007P\u0002\u0002\u3d0c\u3d0d\u0007Q\u0002", + "\u0002\u3d0d\u3d0e\u0007a\u0002\u0002\u3d0e\u3d0f\u0007S\u0002\u0002", + "\u3d0f\u3d10\u0007M\u0002\u0002\u3d10\u3d11\u0007P\u0002\u0002\u3d11", + "\u3d12\u0007a\u0002\u0002\u3d12\u3d13\u0007D\u0002\u0002\u3d13\u3d14", + "\u0007W\u0002\u0002\u3d14\u3d15\u0007H\u0002\u0002\u3d15\u3d16\u0007", + "H\u0002\u0002\u3d16\u081e\u0003\u0002\u0002\u0002\u3d17\u3d18\u0007", + "P\u0002\u0002\u3d18\u3d19\u0007Q\u0002\u0002\u3d19\u3d1a\u0007a\u0002", + "\u0002\u3d1a\u3d1b\u0007S\u0002\u0002\u3d1b\u3d1c\u0007W\u0002\u0002", + "\u3d1c\u3d1d\u0007G\u0002\u0002\u3d1d\u3d1e\u0007T\u0002\u0002\u3d1e", + "\u3d1f\u0007[\u0002\u0002\u3d1f\u3d20\u0007a\u0002\u0002\u3d20\u3d21", + "\u0007V\u0002\u0002\u3d21\u3d22\u0007T\u0002\u0002\u3d22\u3d23\u0007", + "C\u0002\u0002\u3d23\u3d24\u0007P\u0002\u0002\u3d24\u3d25\u0007U\u0002", + "\u0002\u3d25\u3d26\u0007H\u0002\u0002\u3d26\u3d27\u0007Q\u0002\u0002", + "\u3d27\u3d28\u0007T\u0002\u0002\u3d28\u3d29\u0007O\u0002\u0002\u3d29", + "\u3d2a\u0007C\u0002\u0002\u3d2a\u3d2b\u0007V\u0002\u0002\u3d2b\u3d2c", + "\u0007K\u0002\u0002\u3d2c\u3d2d\u0007Q\u0002\u0002\u3d2d\u3d2e\u0007", + "P\u0002\u0002\u3d2e\u0820\u0003\u0002\u0002\u0002\u3d2f\u3d30\u0007", + "P\u0002\u0002\u3d30\u3d31\u0007Q\u0002\u0002\u3d31\u3d32\u0007a\u0002", + "\u0002\u3d32\u3d33\u0007T\u0002\u0002\u3d33\u3d34\u0007G\u0002\u0002", + "\u3d34\u3d35\u0007H\u0002\u0002\u3d35\u3d36\u0007a\u0002\u0002\u3d36", + "\u3d37\u0007E\u0002\u0002\u3d37\u3d38\u0007C\u0002\u0002\u3d38\u3d39", + "\u0007U\u0002\u0002\u3d39\u3d3a\u0007E\u0002\u0002\u3d3a\u3d3b\u0007", + "C\u0002\u0002\u3d3b\u3d3c\u0007F\u0002\u0002\u3d3c\u3d3d\u0007G\u0002", + "\u0002\u3d3d\u0822\u0003\u0002\u0002\u0002\u3d3e\u3d3f\u0007P\u0002", + "\u0002\u3d3f\u3d40\u0007Q\u0002\u0002\u3d40\u3d41\u0007T\u0002\u0002", + "\u3d41\u3d42\u0007G\u0002\u0002\u3d42\u3d43\u0007N\u0002\u0002\u3d43", + "\u3d44\u0007Q\u0002\u0002\u3d44\u3d45\u0007E\u0002\u0002\u3d45\u3d46", + "\u0007C\u0002\u0002\u3d46\u3d47\u0007V\u0002\u0002\u3d47\u3d48\u0007", + "G\u0002\u0002\u3d48\u0824\u0003\u0002\u0002\u0002\u3d49\u3d4a\u0007", + "P\u0002\u0002\u3d4a\u3d4b\u0007Q\u0002\u0002\u3d4b\u3d4c\u0007T\u0002", + "\u0002\u3d4c\u3d4d\u0007G\u0002\u0002\u3d4d\u3d4e\u0007N\u0002\u0002", + "\u3d4e\u3d4f\u0007[\u0002\u0002\u3d4f\u0826\u0003\u0002\u0002\u0002", + "\u3d50\u3d51\u0007P\u0002\u0002\u3d51\u3d52\u0007Q\u0002\u0002\u3d52", + "\u3d53\u0007T\u0002\u0002\u3d53\u3d54\u0007G\u0002\u0002\u3d54\u3d55", + "\u0007R\u0002\u0002\u3d55\u3d56\u0007C\u0002\u0002\u3d56\u3d57\u0007", + "K\u0002\u0002\u3d57\u3d58\u0007T\u0002\u0002\u3d58\u0828\u0003\u0002", + "\u0002\u0002\u3d59\u3d5a\u0007P\u0002\u0002\u3d5a\u3d5b\u0007Q\u0002", + "\u0002\u3d5b\u3d5c\u0007T\u0002\u0002\u3d5c\u3d5d\u0007G\u0002\u0002", + "\u3d5d\u3d5e\u0007R\u0002\u0002\u3d5e\u3d5f\u0007N\u0002\u0002\u3d5f", + "\u3d60\u0007C\u0002\u0002\u3d60\u3d61\u0007[\u0002\u0002\u3d61\u082a", + "\u0003\u0002\u0002\u0002\u3d62\u3d63\u0007P\u0002\u0002\u3d63\u3d64", + "\u0007Q\u0002\u0002\u3d64\u3d65\u0007T\u0002\u0002\u3d65\u3d66\u0007", + "G\u0002\u0002\u3d66\u3d67\u0007U\u0002\u0002\u3d67\u3d68\u0007G\u0002", + "\u0002\u3d68\u3d69\u0007V\u0002\u0002\u3d69\u3d6a\u0007N\u0002\u0002", + "\u3d6a\u3d6b\u0007Q\u0002\u0002\u3d6b\u3d6c\u0007I\u0002\u0002\u3d6c", + "\u3d6d\u0007U\u0002\u0002\u3d6d\u082c\u0003\u0002\u0002\u0002\u3d6e", + "\u3d6f\u0007P\u0002\u0002\u3d6f\u3d70\u0007Q\u0002\u0002\u3d70\u3d71", + "\u0007a\u0002\u0002\u3d71\u3d72\u0007T\u0002\u0002\u3d72\u3d73\u0007", + "G\u0002\u0002\u3d73\u3d74\u0007U\u0002\u0002\u3d74\u3d75\u0007W\u0002", + "\u0002\u3d75\u3d76\u0007N\u0002\u0002\u3d76\u3d77\u0007V\u0002\u0002", + "\u3d77\u3d78\u0007a\u0002\u0002\u3d78\u3d79\u0007E\u0002\u0002\u3d79", + "\u3d7a\u0007C\u0002\u0002\u3d7a\u3d7b\u0007E\u0002\u0002\u3d7b\u3d7c", + "\u0007J\u0002\u0002\u3d7c\u3d7d\u0007G\u0002\u0002\u3d7d\u082e\u0003", + "\u0002\u0002\u0002\u3d7e\u3d7f\u0007P\u0002\u0002\u3d7f\u3d80\u0007", + "Q\u0002\u0002\u3d80\u3d81\u0007T\u0002\u0002\u3d81\u3d82\u0007G\u0002", + "\u0002\u3d82\u3d83\u0007X\u0002\u0002\u3d83\u3d84\u0007G\u0002\u0002", + "\u3d84\u3d85\u0007T\u0002\u0002\u3d85\u3d86\u0007U\u0002\u0002\u3d86", + "\u3d87\u0007G\u0002\u0002\u3d87\u0830\u0003\u0002\u0002\u0002\u3d88", + "\u3d89\u0007P\u0002\u0002\u3d89\u3d8a\u0007Q\u0002\u0002\u3d8a\u3d8b", + "\u0007a\u0002\u0002\u3d8b\u3d8c\u0007T\u0002\u0002\u3d8c\u3d8d\u0007", + "G\u0002\u0002\u3d8d\u3d8e\u0007Y\u0002\u0002\u3d8e\u3d8f\u0007T\u0002", + "\u0002\u3d8f\u3d90\u0007K\u0002\u0002\u3d90\u3d91\u0007V\u0002\u0002", + "\u3d91\u3d92\u0007G\u0002\u0002\u3d92\u0832\u0003\u0002\u0002\u0002", + "\u3d93\u3d94\u0007P\u0002\u0002\u3d94\u3d95\u0007Q\u0002\u0002\u3d95", + "\u3d96\u0007T\u0002\u0002\u3d96\u3d97\u0007G\u0002\u0002\u3d97\u3d98", + "\u0007Y\u0002\u0002\u3d98\u3d99\u0007T\u0002\u0002\u3d99\u3d9a\u0007", + "K\u0002\u0002\u3d9a\u3d9b\u0007V\u0002\u0002\u3d9b\u3d9c\u0007G\u0002", + "\u0002\u3d9c\u0834\u0003\u0002\u0002\u0002\u3d9d\u3d9e\u0007P\u0002", + "\u0002\u3d9e\u3d9f\u0007Q\u0002\u0002\u3d9f\u3da0\u0007T\u0002\u0002", + "\u3da0\u3da1\u0007O\u0002\u0002\u3da1\u3da2\u0007C\u0002\u0002\u3da2", + "\u3da3\u0007N\u0002\u0002\u3da3\u0836\u0003\u0002\u0002\u0002\u3da4", + "\u3da5\u0007P\u0002\u0002\u3da5\u3da6\u0007Q\u0002\u0002\u3da6\u3da7", + "\u0007a\u0002\u0002\u3da7\u3da8\u0007T\u0002\u0002\u3da8\u3da9\u0007", + "Q\u0002\u0002\u3da9\u3daa\u0007Q\u0002\u0002\u3daa\u3dab\u0007V\u0002", + "\u0002\u3dab\u3dac\u0007a\u0002\u0002\u3dac\u3dad\u0007U\u0002\u0002", + "\u3dad\u3dae\u0007Y\u0002\u0002\u3dae\u3daf\u0007a\u0002\u0002\u3daf", + "\u3db0\u0007H\u0002\u0002\u3db0\u3db1\u0007Q\u0002\u0002\u3db1\u3db2", + "\u0007T\u0002\u0002\u3db2\u3db3\u0007a\u0002\u0002\u3db3\u3db4\u0007", + "N\u0002\u0002\u3db4\u3db5\u0007Q\u0002\u0002\u3db5\u3db6\u0007E\u0002", + "\u0002\u3db6\u3db7\u0007C\u0002\u0002\u3db7\u3db8\u0007N\u0002\u0002", + "\u3db8\u0838\u0003\u0002\u0002\u0002\u3db9\u3dba\u0007P\u0002\u0002", + "\u3dba\u3dbb\u0007Q\u0002\u0002\u3dbb\u3dbc\u0007T\u0002\u0002\u3dbc", + "\u3dbd\u0007Q\u0002\u0002\u3dbd\u3dbe\u0007Y\u0002\u0002\u3dbe\u3dbf", + "\u0007F\u0002\u0002\u3dbf\u3dc0\u0007G\u0002\u0002\u3dc0\u3dc1\u0007", + "R\u0002\u0002\u3dc1\u3dc2\u0007G\u0002\u0002\u3dc2\u3dc3\u0007P\u0002", + "\u0002\u3dc3\u3dc4\u0007F\u0002\u0002\u3dc4\u3dc5\u0007G\u0002\u0002", + "\u3dc5\u3dc6\u0007P\u0002\u0002\u3dc6\u3dc7\u0007E\u0002\u0002\u3dc7", + "\u3dc8\u0007K\u0002\u0002\u3dc8\u3dc9\u0007G\u0002\u0002\u3dc9\u3dca", + "\u0007U\u0002\u0002\u3dca\u083a\u0003\u0002\u0002\u0002\u3dcb\u3dcc", + "\u0007P\u0002\u0002\u3dcc\u3dcd\u0007Q\u0002\u0002\u3dcd\u3dce\u0007", + "U\u0002\u0002\u3dce\u3dcf\u0007E\u0002\u0002\u3dcf\u3dd0\u0007J\u0002", + "\u0002\u3dd0\u3dd1\u0007G\u0002\u0002\u3dd1\u3dd2\u0007O\u0002\u0002", + "\u3dd2\u3dd3\u0007C\u0002\u0002\u3dd3\u3dd4\u0007E\u0002\u0002\u3dd4", + "\u3dd5\u0007J\u0002\u0002\u3dd5\u3dd6\u0007G\u0002\u0002\u3dd6\u3dd7", + "\u0007E\u0002\u0002\u3dd7\u3dd8\u0007M\u0002\u0002\u3dd8\u083c\u0003", + "\u0002\u0002\u0002\u3dd9\u3dda\u0007P\u0002\u0002\u3dda\u3ddb\u0007", + "Q\u0002\u0002\u3ddb\u3ddc\u0007U\u0002\u0002\u3ddc\u3ddd\u0007G\u0002", + "\u0002\u3ddd\u3dde\u0007I\u0002\u0002\u3dde\u3ddf\u0007O\u0002\u0002", + "\u3ddf\u3de0\u0007G\u0002\u0002\u3de0\u3de1\u0007P\u0002\u0002\u3de1", + "\u3de2\u0007V\u0002\u0002\u3de2\u083e\u0003\u0002\u0002\u0002\u3de3", + "\u3de4\u0007P\u0002\u0002\u3de4\u3de5\u0007Q\u0002\u0002\u3de5\u3de6", + "\u0007a\u0002\u0002\u3de6\u3de7\u0007U\u0002\u0002\u3de7\u3de8\u0007", + "G\u0002\u0002\u3de8\u3de9\u0007O\u0002\u0002\u3de9\u3dea\u0007K\u0002", + "\u0002\u3dea\u3deb\u0007L\u0002\u0002\u3deb\u3dec\u0007Q\u0002\u0002", + "\u3dec\u3ded\u0007K\u0002\u0002\u3ded\u3dee\u0007P\u0002\u0002\u3dee", + "\u0840\u0003\u0002\u0002\u0002\u3def\u3df0\u0007P\u0002\u0002\u3df0", + "\u3df1\u0007Q\u0002\u0002\u3df1\u3df2\u0007a\u0002\u0002\u3df2\u3df3", + "\u0007U\u0002\u0002\u3df3\u3df4\u0007G\u0002\u0002\u3df4\u3df5\u0007", + "O\u0002\u0002\u3df5\u3df6\u0007K\u0002\u0002\u3df6\u3df7\u0007a\u0002", + "\u0002\u3df7\u3df8\u0007V\u0002\u0002\u3df8\u3df9\u0007Q\u0002\u0002", + "\u3df9\u3dfa\u0007a\u0002\u0002\u3dfa\u3dfb\u0007K\u0002\u0002\u3dfb", + "\u3dfc\u0007P\u0002\u0002\u3dfc\u3dfd\u0007P\u0002\u0002\u3dfd\u3dfe", + "\u0007G\u0002\u0002\u3dfe\u3dff\u0007T\u0002\u0002\u3dff\u0842\u0003", + "\u0002\u0002\u0002\u3e00\u3e01\u0007P\u0002\u0002\u3e01\u3e02\u0007", + "Q\u0002\u0002\u3e02\u3e03\u0007a\u0002\u0002\u3e03\u3e04\u0007U\u0002", + "\u0002\u3e04\u3e05\u0007G\u0002\u0002\u3e05\u3e06\u0007V\u0002\u0002", + "\u3e06\u3e07\u0007a\u0002\u0002\u3e07\u3e08\u0007V\u0002\u0002\u3e08", + "\u3e09\u0007Q\u0002\u0002\u3e09\u3e0a\u0007a\u0002\u0002\u3e0a\u3e0b", + "\u0007L\u0002\u0002\u3e0b\u3e0c\u0007Q\u0002\u0002\u3e0c\u3e0d\u0007", + "K\u0002\u0002\u3e0d\u3e0e\u0007P\u0002\u0002\u3e0e\u0844\u0003\u0002", + "\u0002\u0002\u3e0f\u3e10\u0007P\u0002\u0002\u3e10\u3e11\u0007Q\u0002", + "\u0002\u3e11\u3e12\u0007U\u0002\u0002\u3e12\u3e13\u0007Q\u0002\u0002", + "\u3e13\u3e14\u0007T\u0002\u0002\u3e14\u3e15\u0007V\u0002\u0002\u3e15", + "\u0846\u0003\u0002\u0002\u0002\u3e16\u3e17\u0007P\u0002\u0002\u3e17", + "\u3e18\u0007Q\u0002\u0002\u3e18\u3e19\u0007a\u0002\u0002\u3e19\u3e1a", + "\u0007U\u0002\u0002\u3e1a\u3e1b\u0007S\u0002\u0002\u3e1b\u3e1c\u0007", + "N\u0002\u0002\u3e1c\u3e1d\u0007a\u0002\u0002\u3e1d\u3e1e\u0007V\u0002", + "\u0002\u3e1e\u3e1f\u0007T\u0002\u0002\u3e1f\u3e20\u0007C\u0002\u0002", + "\u3e20\u3e21\u0007P\u0002\u0002\u3e21\u3e22\u0007U\u0002\u0002\u3e22", + "\u3e23\u0007N\u0002\u0002\u3e23\u3e24\u0007C\u0002\u0002\u3e24\u3e25", + "\u0007V\u0002\u0002\u3e25\u3e26\u0007K\u0002\u0002\u3e26\u3e27\u0007", + "Q\u0002\u0002\u3e27\u3e28\u0007P\u0002\u0002\u3e28\u0848\u0003\u0002", + "\u0002\u0002\u3e29\u3e2a\u0007P\u0002\u0002\u3e2a\u3e2b\u0007Q\u0002", + "\u0002\u3e2b\u3e2c\u0007a\u0002\u0002\u3e2c\u3e2d\u0007U\u0002\u0002", + "\u3e2d\u3e2e\u0007S\u0002\u0002\u3e2e\u3e2f\u0007N\u0002\u0002\u3e2f", + "\u3e30\u0007a\u0002\u0002\u3e30\u3e31\u0007V\u0002\u0002\u3e31\u3e32", + "\u0007W\u0002\u0002\u3e32\u3e33\u0007P\u0002\u0002\u3e33\u3e34\u0007", + "G\u0002\u0002\u3e34\u084a\u0003\u0002\u0002\u0002\u3e35\u3e36\u0007", + "P\u0002\u0002\u3e36\u3e37\u0007Q\u0002\u0002\u3e37\u3e38\u0007a\u0002", + "\u0002\u3e38\u3e39\u0007U\u0002\u0002\u3e39\u3e3a\u0007V\u0002\u0002", + "\u3e3a\u3e3b\u0007C\u0002\u0002\u3e3b\u3e3c\u0007T\u0002\u0002\u3e3c", + "\u3e3d\u0007a\u0002\u0002\u3e3d\u3e3e\u0007V\u0002\u0002\u3e3e\u3e3f", + "\u0007T\u0002\u0002\u3e3f\u3e40\u0007C\u0002\u0002\u3e40\u3e41\u0007", + "P\u0002\u0002\u3e41\u3e42\u0007U\u0002\u0002\u3e42\u3e43\u0007H\u0002", + "\u0002\u3e43\u3e44\u0007Q\u0002\u0002\u3e44\u3e45\u0007T\u0002\u0002", + "\u3e45\u3e46\u0007O\u0002\u0002\u3e46\u3e47\u0007C\u0002\u0002\u3e47", + "\u3e48\u0007V\u0002\u0002\u3e48\u3e49\u0007K\u0002\u0002\u3e49\u3e4a", + "\u0007Q\u0002\u0002\u3e4a\u3e4b\u0007P\u0002\u0002\u3e4b\u084c\u0003", + "\u0002\u0002\u0002\u3e4c\u3e4d\u0007P\u0002\u0002\u3e4d\u3e4e\u0007", + "Q\u0002\u0002\u3e4e\u3e4f\u0007a\u0002\u0002\u3e4f\u3e50\u0007U\u0002", + "\u0002\u3e50\u3e51\u0007V\u0002\u0002\u3e51\u3e52\u0007C\u0002\u0002", + "\u3e52\u3e53\u0007V\u0002\u0002\u3e53\u3e54\u0007G\u0002\u0002\u3e54", + "\u3e55\u0007O\u0002\u0002\u3e55\u3e56\u0007G\u0002\u0002\u3e56\u3e57", + "\u0007P\u0002\u0002\u3e57\u3e58\u0007V\u0002\u0002\u3e58\u3e59\u0007", + "a\u0002\u0002\u3e59\u3e5a\u0007S\u0002\u0002\u3e5a\u3e5b\u0007W\u0002", + "\u0002\u3e5b\u3e5c\u0007G\u0002\u0002\u3e5c\u3e5d\u0007W\u0002\u0002", + "\u3e5d\u3e5e\u0007K\u0002\u0002\u3e5e\u3e5f\u0007P\u0002\u0002\u3e5f", + "\u3e60\u0007I\u0002\u0002\u3e60\u084e\u0003\u0002\u0002\u0002\u3e61", + "\u3e62\u0007P\u0002\u0002\u3e62\u3e63\u0007Q\u0002\u0002\u3e63\u3e64", + "\u0007a\u0002\u0002\u3e64\u3e65\u0007U\u0002\u0002\u3e65\u3e66\u0007", + "V\u0002\u0002\u3e66\u3e67\u0007C\u0002\u0002\u3e67\u3e68\u0007V\u0002", + "\u0002\u3e68\u3e69\u0007U\u0002\u0002\u3e69\u3e6a\u0007a\u0002\u0002", + "\u3e6a\u3e6b\u0007I\u0002\u0002\u3e6b\u3e6c\u0007U\u0002\u0002\u3e6c", + "\u3e6d\u0007G\u0002\u0002\u3e6d\u3e6e\u0007V\u0002\u0002\u3e6e\u3e6f", + "\u0007U\u0002\u0002\u3e6f\u0850\u0003\u0002\u0002\u0002\u3e70\u3e71", + "\u0007P\u0002\u0002\u3e71\u3e72\u0007Q\u0002\u0002\u3e72\u3e73\u0007", + "U\u0002\u0002\u3e73\u3e74\u0007V\u0002\u0002\u3e74\u3e75\u0007T\u0002", + "\u0002\u3e75\u3e76\u0007K\u0002\u0002\u3e76\u3e77\u0007E\u0002\u0002", + "\u3e77\u3e78\u0007V\u0002\u0002\u3e78\u0852\u0003\u0002\u0002\u0002", + "\u3e79\u3e7a\u0007P\u0002\u0002\u3e7a\u3e7b\u0007Q\u0002\u0002\u3e7b", + "\u3e7c\u0007a\u0002\u0002\u3e7c\u3e7d\u0007U\u0002\u0002\u3e7d\u3e7e", + "\u0007W\u0002\u0002\u3e7e\u3e7f\u0007D\u0002\u0002\u3e7f\u3e80\u0007", + "S\u0002\u0002\u3e80\u3e81\u0007W\u0002\u0002\u3e81\u3e82\u0007G\u0002", + "\u0002\u3e82\u3e83\u0007T\u0002\u0002\u3e83\u3e84\u0007[\u0002\u0002", + "\u3e84\u3e85\u0007a\u0002\u0002\u3e85\u3e86\u0007R\u0002\u0002\u3e86", + "\u3e87\u0007T\u0002\u0002\u3e87\u3e88\u0007W\u0002\u0002\u3e88\u3e89", + "\u0007P\u0002\u0002\u3e89\u3e8a\u0007K\u0002\u0002\u3e8a\u3e8b\u0007", + "P\u0002\u0002\u3e8b\u3e8c\u0007I\u0002\u0002\u3e8c\u0854\u0003\u0002", + "\u0002\u0002\u3e8d\u3e8e\u0007P\u0002\u0002\u3e8e\u3e8f\u0007Q\u0002", + "\u0002\u3e8f\u3e90\u0007a\u0002\u0002\u3e90\u3e91\u0007U\u0002\u0002", + "\u3e91\u3e92\u0007W\u0002\u0002\u3e92\u3e93\u0007D\u0002\u0002\u3e93", + "\u3e94\u0007U\u0002\u0002\u3e94\u3e95\u0007V\u0002\u0002\u3e95\u3e96", + "\u0007T\u0002\u0002\u3e96\u3e97\u0007D\u0002\u0002\u3e97\u3e98\u0007", + "a\u0002\u0002\u3e98\u3e99\u0007R\u0002\u0002\u3e99\u3e9a\u0007C\u0002", + "\u0002\u3e9a\u3e9b\u0007F\u0002\u0002\u3e9b\u0856\u0003\u0002\u0002", + "\u0002\u3e9c\u3e9d\u0007P\u0002\u0002\u3e9d\u3e9e\u0007Q\u0002\u0002", + "\u3e9e\u3e9f\u0007a\u0002\u0002\u3e9f\u3ea0\u0007U\u0002\u0002\u3ea0", + "\u3ea1\u0007Y\u0002\u0002\u3ea1\u3ea2\u0007C\u0002\u0002\u3ea2\u3ea3", + "\u0007R\u0002\u0002\u3ea3\u3ea4\u0007a\u0002\u0002\u3ea4\u3ea5\u0007", + "L\u0002\u0002\u3ea5\u3ea6\u0007Q\u0002\u0002\u3ea6\u3ea7\u0007K\u0002", + "\u0002\u3ea7\u3ea8\u0007P\u0002\u0002\u3ea8\u3ea9\u0007a\u0002\u0002", + "\u3ea9\u3eaa\u0007K\u0002\u0002\u3eaa\u3eab\u0007P\u0002\u0002\u3eab", + "\u3eac\u0007R\u0002\u0002\u3eac\u3ead\u0007W\u0002\u0002\u3ead\u3eae", + "\u0007V\u0002\u0002\u3eae\u3eaf\u0007U\u0002\u0002\u3eaf\u0858\u0003", + "\u0002\u0002\u0002\u3eb0\u3eb1\u0007P\u0002\u0002\u3eb1\u3eb2\u0007", + "Q\u0002\u0002\u3eb2\u3eb3\u0007U\u0002\u0002\u3eb3\u3eb4\u0007Y\u0002", + "\u0002\u3eb4\u3eb5\u0007K\u0002\u0002\u3eb5\u3eb6\u0007V\u0002\u0002", + "\u3eb6\u3eb7\u0007E\u0002\u0002\u3eb7\u3eb8\u0007J\u0002\u0002\u3eb8", + "\u085a\u0003\u0002\u0002\u0002\u3eb9\u3eba\u0007P\u0002\u0002\u3eba", + "\u3ebb\u0007Q\u0002\u0002\u3ebb\u3ebc\u0007a\u0002\u0002\u3ebc\u3ebd", + "\u0007V\u0002\u0002\u3ebd\u3ebe\u0007C\u0002\u0002\u3ebe\u3ebf\u0007", + "D\u0002\u0002\u3ebf\u3ec0\u0007N\u0002\u0002\u3ec0\u3ec1\u0007G\u0002", + "\u0002\u3ec1\u3ec2\u0007a\u0002\u0002\u3ec2\u3ec3\u0007N\u0002\u0002", + "\u3ec3\u3ec4\u0007Q\u0002\u0002\u3ec4\u3ec5\u0007Q\u0002\u0002\u3ec5", + "\u3ec6\u0007M\u0002\u0002\u3ec6\u3ec7\u0007W\u0002\u0002\u3ec7\u3ec8", + "\u0007R\u0002\u0002\u3ec8\u3ec9\u0007a\u0002\u0002\u3ec9\u3eca\u0007", + "D\u0002\u0002\u3eca\u3ecb\u0007[\u0002\u0002\u3ecb\u3ecc\u0007a\u0002", + "\u0002\u3ecc\u3ecd\u0007P\u0002\u0002\u3ecd\u3ece\u0007N\u0002\u0002", + "\u3ece\u085c\u0003\u0002\u0002\u0002\u3ecf\u3ed0\u0007P\u0002\u0002", + "\u3ed0\u3ed1\u0007Q\u0002\u0002\u3ed1\u3ed2\u0007a\u0002\u0002\u3ed2", + "\u3ed3\u0007V\u0002\u0002\u3ed3\u3ed4\u0007G\u0002\u0002\u3ed4\u3ed5", + "\u0007O\u0002\u0002\u3ed5\u3ed6\u0007R\u0002\u0002\u3ed6\u3ed7\u0007", + "a\u0002\u0002\u3ed7\u3ed8\u0007V\u0002\u0002\u3ed8\u3ed9\u0007C\u0002", + "\u0002\u3ed9\u3eda\u0007D\u0002\u0002\u3eda\u3edb\u0007N\u0002\u0002", + "\u3edb\u3edc\u0007G\u0002\u0002\u3edc\u085e\u0003\u0002\u0002\u0002", + "\u3edd\u3ede\u0007P\u0002\u0002\u3ede\u3edf\u0007Q\u0002\u0002\u3edf", + "\u3ee0\u0007V\u0002\u0002\u3ee0\u3ee1\u0007J\u0002\u0002\u3ee1\u3ee2", + "\u0007K\u0002\u0002\u3ee2\u3ee3\u0007P\u0002\u0002\u3ee3\u3ee4\u0007", + "I\u0002\u0002\u3ee4\u0860\u0003\u0002\u0002\u0002\u3ee5\u3ee6\u0007", + "P\u0002\u0002\u3ee6\u3ee7\u0007Q\u0002\u0002\u3ee7\u3ee8\u0007V\u0002", + "\u0002\u3ee8\u3ee9\u0007K\u0002\u0002\u3ee9\u3eea\u0007H\u0002\u0002", + "\u3eea\u3eeb\u0007K\u0002\u0002\u3eeb\u3eec\u0007E\u0002\u0002\u3eec", + "\u3eed\u0007C\u0002\u0002\u3eed\u3eee\u0007V\u0002\u0002\u3eee\u3eef", + "\u0007K\u0002\u0002\u3eef\u3ef0\u0007Q\u0002\u0002\u3ef0\u3ef1\u0007", + "P\u0002\u0002\u3ef1\u0862\u0003\u0002\u0002\u0002\u3ef2\u3ef3\u0007", + "P\u0002\u0002\u3ef3\u3ef4\u0007Q\u0002\u0002\u3ef4\u3ef5\u0007V\u0002", + "\u0002\u3ef5\u0864\u0003\u0002\u0002\u0002\u3ef6\u3ef7\u0007P\u0002", + "\u0002\u3ef7\u3ef8\u0007Q\u0002\u0002\u3ef8\u3ef9\u0007a\u0002\u0002", + "\u3ef9\u3efa\u0007V\u0002\u0002\u3efa\u3efb\u0007T\u0002\u0002\u3efb", + "\u3efc\u0007C\u0002\u0002\u3efc\u3efd\u0007P\u0002\u0002\u3efd\u3efe", + "\u0007U\u0002\u0002\u3efe\u3eff\u0007H\u0002\u0002\u3eff\u3f00\u0007", + "Q\u0002\u0002\u3f00\u3f01\u0007T\u0002\u0002\u3f01\u3f02\u0007O\u0002", + "\u0002\u3f02\u3f03\u0007a\u0002\u0002\u3f03\u3f04\u0007F\u0002\u0002", + "\u3f04\u3f05\u0007K\u0002\u0002\u3f05\u3f06\u0007U\u0002\u0002\u3f06", + "\u3f07\u0007V\u0002\u0002\u3f07\u3f08\u0007K\u0002\u0002\u3f08\u3f09", + "\u0007P\u0002\u0002\u3f09\u3f0a\u0007E\u0002\u0002\u3f0a\u3f0b\u0007", + "V\u0002\u0002\u3f0b\u3f0c\u0007a\u0002\u0002\u3f0c\u3f0d\u0007C\u0002", + "\u0002\u3f0d\u3f0e\u0007I\u0002\u0002\u3f0e\u3f0f\u0007I\u0002\u0002", + "\u3f0f\u0866\u0003\u0002\u0002\u0002\u3f10\u3f11\u0007P\u0002\u0002", + "\u3f11\u3f12\u0007Q\u0002\u0002\u3f12\u3f13\u0007a\u0002\u0002\u3f13", + "\u3f14\u0007W\u0002\u0002\u3f14\u3f15\u0007P\u0002\u0002\u3f15\u3f16", + "\u0007P\u0002\u0002\u3f16\u3f17\u0007G\u0002\u0002\u3f17\u3f18\u0007", + "U\u0002\u0002\u3f18\u3f19\u0007V\u0002\u0002\u3f19\u0868\u0003\u0002", + "\u0002\u0002\u3f1a\u3f1b\u0007P\u0002\u0002\u3f1b\u3f1c\u0007Q\u0002", + "\u0002\u3f1c\u3f1d\u0007a\u0002\u0002\u3f1d\u3f1e\u0007W\u0002\u0002", + "\u3f1e\u3f1f\u0007U\u0002\u0002\u3f1f\u3f20\u0007G\u0002\u0002\u3f20", + "\u3f21\u0007a\u0002\u0002\u3f21\u3f22\u0007E\u0002\u0002\u3f22\u3f23", + "\u0007W\u0002\u0002\u3f23\u3f24\u0007D\u0002\u0002\u3f24\u3f25\u0007", + "G\u0002\u0002\u3f25\u086a\u0003\u0002\u0002\u0002\u3f26\u3f27\u0007", + "P\u0002\u0002\u3f27\u3f28\u0007Q\u0002\u0002\u3f28\u3f29\u0007a\u0002", + "\u0002\u3f29\u3f2a\u0007W\u0002\u0002\u3f2a\u3f2b\u0007U\u0002\u0002", + "\u3f2b\u3f2c\u0007G\u0002\u0002\u3f2c\u3f2d\u0007a\u0002\u0002\u3f2d", + "\u3f2e\u0007J\u0002\u0002\u3f2e\u3f2f\u0007C\u0002\u0002\u3f2f\u3f30", + "\u0007U\u0002\u0002\u3f30\u3f31\u0007J\u0002\u0002\u3f31\u3f32\u0007", + "a\u0002\u0002\u3f32\u3f33\u0007C\u0002\u0002\u3f33\u3f34\u0007I\u0002", + "\u0002\u3f34\u3f35\u0007I\u0002\u0002\u3f35\u3f36\u0007T\u0002\u0002", + "\u3f36\u3f37\u0007G\u0002\u0002\u3f37\u3f38\u0007I\u0002\u0002\u3f38", + "\u3f39\u0007C\u0002\u0002\u3f39\u3f3a\u0007V\u0002\u0002\u3f3a\u3f3b", + "\u0007K\u0002\u0002\u3f3b\u3f3c\u0007Q\u0002\u0002\u3f3c\u3f3d\u0007", + "P\u0002\u0002\u3f3d\u086c\u0003\u0002\u0002\u0002\u3f3e\u3f3f\u0007", + "P\u0002\u0002\u3f3f\u3f40\u0007Q\u0002\u0002\u3f40\u3f41\u0007a\u0002", + "\u0002\u3f41\u3f42\u0007W\u0002\u0002\u3f42\u3f43\u0007U\u0002\u0002", + "\u3f43\u3f44\u0007G\u0002\u0002\u3f44\u3f45\u0007a\u0002\u0002\u3f45", + "\u3f46\u0007J\u0002\u0002\u3f46\u3f47\u0007C\u0002\u0002\u3f47\u3f48", + "\u0007U\u0002\u0002\u3f48\u3f49\u0007J\u0002\u0002\u3f49\u3f4a\u0007", + "a\u0002\u0002\u3f4a\u3f4b\u0007I\u0002\u0002\u3f4b\u3f4c\u0007D\u0002", + "\u0002\u3f4c\u3f4d\u0007[\u0002\u0002\u3f4d\u3f4e\u0007a\u0002\u0002", + "\u3f4e\u3f4f\u0007H\u0002\u0002\u3f4f\u3f50\u0007Q\u0002\u0002\u3f50", + "\u3f51\u0007T\u0002\u0002\u3f51\u3f52\u0007a\u0002\u0002\u3f52\u3f53", + "\u0007R\u0002\u0002\u3f53\u3f54\u0007W\u0002\u0002\u3f54\u3f55\u0007", + "U\u0002\u0002\u3f55\u3f56\u0007J\u0002\u0002\u3f56\u3f57\u0007F\u0002", + "\u0002\u3f57\u3f58\u0007Q\u0002\u0002\u3f58\u3f59\u0007Y\u0002\u0002", + "\u3f59\u3f5a\u0007P\u0002\u0002\u3f5a\u086e\u0003\u0002\u0002\u0002", + "\u3f5b\u3f5c\u0007P\u0002\u0002\u3f5c\u3f5d\u0007Q\u0002\u0002\u3f5d", + "\u3f5e\u0007a\u0002\u0002\u3f5e\u3f5f\u0007W\u0002\u0002\u3f5f\u3f60", + "\u0007U\u0002\u0002\u3f60\u3f61\u0007G\u0002\u0002\u3f61\u3f62\u0007", + "a\u0002\u0002\u3f62\u3f63\u0007J\u0002\u0002\u3f63\u3f64\u0007C\u0002", + "\u0002\u3f64\u3f65\u0007U\u0002\u0002\u3f65\u3f66\u0007J\u0002\u0002", + "\u3f66\u0870\u0003\u0002\u0002\u0002\u3f67\u3f68\u0007P\u0002\u0002", + "\u3f68\u3f69\u0007Q\u0002\u0002\u3f69\u3f6a\u0007a\u0002\u0002\u3f6a", + "\u3f6b\u0007W\u0002\u0002\u3f6b\u3f6c\u0007U\u0002\u0002\u3f6c\u3f6d", + "\u0007G\u0002\u0002\u3f6d\u3f6e\u0007a\u0002\u0002\u3f6e\u3f6f\u0007", + "K\u0002\u0002\u3f6f\u3f70\u0007P\u0002\u0002\u3f70\u3f71\u0007X\u0002", + "\u0002\u3f71\u3f72\u0007K\u0002\u0002\u3f72\u3f73\u0007U\u0002\u0002", + "\u3f73\u3f74\u0007K\u0002\u0002\u3f74\u3f75\u0007D\u0002\u0002\u3f75", + "\u3f76\u0007N\u0002\u0002\u3f76\u3f77\u0007G\u0002\u0002\u3f77\u3f78", + "\u0007a\u0002\u0002\u3f78\u3f79\u0007K\u0002\u0002\u3f79\u3f7a\u0007", + "P\u0002\u0002\u3f7a\u3f7b\u0007F\u0002\u0002\u3f7b\u3f7c\u0007G\u0002", + "\u0002\u3f7c\u3f7d\u0007Z\u0002\u0002\u3f7d\u3f7e\u0007G\u0002\u0002", + "\u3f7e\u3f7f\u0007U\u0002\u0002\u3f7f\u0872\u0003\u0002\u0002\u0002", + "\u3f80\u3f81\u0007P\u0002\u0002\u3f81\u3f82\u0007Q\u0002\u0002\u3f82", + "\u3f83\u0007a\u0002\u0002\u3f83\u3f84\u0007W\u0002\u0002\u3f84\u3f85", + "\u0007U\u0002\u0002\u3f85\u3f86\u0007G\u0002\u0002\u3f86\u3f87\u0007", + "a\u0002\u0002\u3f87\u3f88\u0007O\u0002\u0002\u3f88\u3f89\u0007G\u0002", + "\u0002\u3f89\u3f8a\u0007T\u0002\u0002\u3f8a\u3f8b\u0007I\u0002\u0002", + "\u3f8b\u3f8c\u0007G\u0002\u0002\u3f8c\u0874\u0003\u0002\u0002\u0002", + "\u3f8d\u3f8e\u0007P\u0002\u0002\u3f8e\u3f8f\u0007Q\u0002\u0002\u3f8f", + "\u3f90\u0007a\u0002\u0002\u3f90\u3f91\u0007W\u0002\u0002\u3f91\u3f92", + "\u0007U\u0002\u0002\u3f92\u3f93\u0007G\u0002\u0002\u3f93\u3f94\u0007", + "a\u0002\u0002\u3f94\u3f95\u0007P\u0002\u0002\u3f95\u3f96\u0007N\u0002", + "\u0002\u3f96\u0876\u0003\u0002\u0002\u0002\u3f97\u3f98\u0007P\u0002", + "\u0002\u3f98\u3f99\u0007Q\u0002\u0002\u3f99\u3f9a\u0007a\u0002\u0002", + "\u3f9a\u3f9b\u0007W\u0002\u0002\u3f9b\u3f9c\u0007U\u0002\u0002\u3f9c", + "\u3f9d\u0007G\u0002\u0002\u3f9d\u3f9e\u0007a\u0002\u0002\u3f9e\u3f9f", + "\u0007X\u0002\u0002\u3f9f\u3fa0\u0007G\u0002\u0002\u3fa0\u3fa1\u0007", + "E\u0002\u0002\u3fa1\u3fa2\u0007V\u0002\u0002\u3fa2\u3fa3\u0007Q\u0002", + "\u0002\u3fa3\u3fa4\u0007T\u0002\u0002\u3fa4\u3fa5\u0007a\u0002\u0002", + "\u3fa5\u3fa6\u0007C\u0002\u0002\u3fa6\u3fa7\u0007I\u0002\u0002\u3fa7", + "\u3fa8\u0007I\u0002\u0002\u3fa8\u3fa9\u0007T\u0002\u0002\u3fa9\u3faa", + "\u0007G\u0002\u0002\u3faa\u3fab\u0007I\u0002\u0002\u3fab\u3fac\u0007", + "C\u0002\u0002\u3fac\u3fad\u0007V\u0002\u0002\u3fad\u3fae\u0007K\u0002", + "\u0002\u3fae\u3faf\u0007Q\u0002\u0002\u3faf\u3fb0\u0007P\u0002\u0002", + "\u3fb0\u0878\u0003\u0002\u0002\u0002\u3fb1\u3fb2\u0007P\u0002\u0002", + "\u3fb2\u3fb3\u0007Q\u0002\u0002\u3fb3\u3fb4\u0007X\u0002\u0002\u3fb4", + "\u3fb5\u0007C\u0002\u0002\u3fb5\u3fb6\u0007N\u0002\u0002\u3fb6\u3fb7", + "\u0007K\u0002\u0002\u3fb7\u3fb8\u0007F\u0002\u0002\u3fb8\u3fb9\u0007", + "C\u0002\u0002\u3fb9\u3fba\u0007V\u0002\u0002\u3fba\u3fbb\u0007G\u0002", + "\u0002\u3fbb\u087a\u0003\u0002\u0002\u0002\u3fbc\u3fbd\u0007P\u0002", + "\u0002\u3fbd\u3fbe\u0007Q\u0002\u0002\u3fbe\u3fbf\u0007a\u0002\u0002", + "\u3fbf\u3fc0\u0007X\u0002\u0002\u3fc0\u3fc1\u0007G\u0002\u0002\u3fc1", + "\u3fc2\u0007E\u0002\u0002\u3fc2\u3fc3\u0007V\u0002\u0002\u3fc3\u3fc4", + "\u0007Q\u0002\u0002\u3fc4\u3fc5\u0007T\u0002\u0002\u3fc5\u3fc6\u0007", + "a\u0002\u0002\u3fc6\u3fc7\u0007V\u0002\u0002\u3fc7\u3fc8\u0007T\u0002", + "\u0002\u3fc8\u3fc9\u0007C\u0002\u0002\u3fc9\u3fca\u0007P\u0002\u0002", + "\u3fca\u3fcb\u0007U\u0002\u0002\u3fcb\u3fcc\u0007H\u0002\u0002\u3fcc", + "\u3fcd\u0007Q\u0002\u0002\u3fcd\u3fce\u0007T\u0002\u0002\u3fce\u3fcf", + "\u0007O\u0002\u0002\u3fcf\u3fd0\u0007a\u0002\u0002\u3fd0\u3fd1\u0007", + "F\u0002\u0002\u3fd1\u3fd2\u0007K\u0002\u0002\u3fd2\u3fd3\u0007O\u0002", + "\u0002\u3fd3\u3fd4\u0007U\u0002\u0002\u3fd4\u087c\u0003\u0002\u0002", + "\u0002\u3fd5\u3fd6\u0007P\u0002\u0002\u3fd6\u3fd7\u0007Q\u0002\u0002", + "\u3fd7\u3fd8\u0007a\u0002\u0002\u3fd8\u3fd9\u0007X\u0002\u0002\u3fd9", + "\u3fda\u0007G\u0002\u0002\u3fda\u3fdb\u0007E\u0002\u0002\u3fdb\u3fdc", + "\u0007V\u0002\u0002\u3fdc\u3fdd\u0007Q\u0002\u0002\u3fdd\u3fde\u0007", + "T\u0002\u0002\u3fde\u3fdf\u0007a\u0002\u0002\u3fdf\u3fe0\u0007V\u0002", + "\u0002\u3fe0\u3fe1\u0007T\u0002\u0002\u3fe1\u3fe2\u0007C\u0002\u0002", + "\u3fe2\u3fe3\u0007P\u0002\u0002\u3fe3\u3fe4\u0007U\u0002\u0002\u3fe4", + "\u3fe5\u0007H\u0002\u0002\u3fe5\u3fe6\u0007Q\u0002\u0002\u3fe6\u3fe7", + "\u0007T\u0002\u0002\u3fe7\u3fe8\u0007O\u0002\u0002\u3fe8\u3fe9\u0007", + "a\u0002\u0002\u3fe9\u3fea\u0007H\u0002\u0002\u3fea\u3feb\u0007C\u0002", + "\u0002\u3feb\u3fec\u0007E\u0002\u0002\u3fec\u3fed\u0007V\u0002\u0002", + "\u3fed\u087e\u0003\u0002\u0002\u0002\u3fee\u3fef\u0007P\u0002\u0002", + "\u3fef\u3ff0\u0007Q\u0002\u0002\u3ff0\u3ff1\u0007a\u0002\u0002\u3ff1", + "\u3ff2\u0007X\u0002\u0002\u3ff2\u3ff3\u0007G\u0002\u0002\u3ff3\u3ff4", + "\u0007E\u0002\u0002\u3ff4\u3ff5\u0007V\u0002\u0002\u3ff5\u3ff6\u0007", + "Q\u0002\u0002\u3ff6\u3ff7\u0007T\u0002\u0002\u3ff7\u3ff8\u0007a\u0002", + "\u0002\u3ff8\u3ff9\u0007V\u0002\u0002\u3ff9\u3ffa\u0007T\u0002\u0002", + "\u3ffa\u3ffb\u0007C\u0002\u0002\u3ffb\u3ffc\u0007P\u0002\u0002\u3ffc", + "\u3ffd\u0007U\u0002\u0002\u3ffd\u3ffe\u0007H\u0002\u0002\u3ffe\u3fff", + "\u0007Q\u0002\u0002\u3fff\u4000\u0007T\u0002\u0002\u4000\u4001\u0007", + "O\u0002\u0002\u4001\u0880\u0003\u0002\u0002\u0002\u4002\u4003\u0007", + "P\u0002\u0002\u4003\u4004\u0007Q\u0002\u0002\u4004\u4005\u0007Y\u0002", + "\u0002\u4005\u4006\u0007C\u0002\u0002\u4006\u4007\u0007K\u0002\u0002", + "\u4007\u4008\u0007V\u0002\u0002\u4008\u0882\u0003\u0002\u0002\u0002", + "\u4009\u400a\u0007P\u0002\u0002\u400a\u400b\u0007Q\u0002\u0002\u400b", + "\u400c\u0007a\u0002\u0002\u400c\u400d\u0007Z\u0002\u0002\u400d\u400e", + "\u0007F\u0002\u0002\u400e\u400f\u0007D\u0002\u0002\u400f\u4010\u0007", + "a\u0002\u0002\u4010\u4011\u0007H\u0002\u0002\u4011\u4012\u0007C\u0002", + "\u0002\u4012\u4013\u0007U\u0002\u0002\u4013\u4014\u0007V\u0002\u0002", + "\u4014\u4015\u0007R\u0002\u0002\u4015\u4016\u0007C\u0002\u0002\u4016", + "\u4017\u0007V\u0002\u0002\u4017\u4018\u0007J\u0002\u0002\u4018\u4019", + "\u0007a\u0002\u0002\u4019\u401a\u0007K\u0002\u0002\u401a\u401b\u0007", + "P\u0002\u0002\u401b\u401c\u0007U\u0002\u0002\u401c\u401d\u0007G\u0002", + "\u0002\u401d\u401e\u0007T\u0002\u0002\u401e\u401f\u0007V\u0002\u0002", + "\u401f\u0884\u0003\u0002\u0002\u0002\u4020\u4021\u0007P\u0002\u0002", + "\u4021\u4022\u0007Q\u0002\u0002\u4022\u4023\u0007a\u0002\u0002\u4023", + "\u4024\u0007Z\u0002\u0002\u4024\u4025\u0007O\u0002\u0002\u4025\u4026", + "\u0007N\u0002\u0002\u4026\u4027\u0007a\u0002\u0002\u4027\u4028\u0007", + "F\u0002\u0002\u4028\u4029\u0007O\u0002\u0002\u4029\u402a\u0007N\u0002", + "\u0002\u402a\u402b\u0007a\u0002\u0002\u402b\u402c\u0007T\u0002\u0002", + "\u402c\u402d\u0007G\u0002\u0002\u402d\u402e\u0007Y\u0002\u0002\u402e", + "\u402f\u0007T\u0002\u0002\u402f\u4030\u0007K\u0002\u0002\u4030\u4031", + "\u0007V\u0002\u0002\u4031\u4032\u0007G\u0002\u0002\u4032\u0886\u0003", + "\u0002\u0002\u0002\u4033\u4034\u0007P\u0002\u0002\u4034\u4035\u0007", + "Q\u0002\u0002\u4035\u4036\u0007a\u0002\u0002\u4036\u4037\u0007Z\u0002", + "\u0002\u4037\u4038\u0007O\u0002\u0002\u4038\u4039\u0007N\u0002\u0002", + "\u4039\u403a\u0007K\u0002\u0002\u403a\u403b\u0007P\u0002\u0002\u403b", + "\u403c\u0007F\u0002\u0002\u403c\u403d\u0007G\u0002\u0002\u403d\u403e", + "\u0007Z\u0002\u0002\u403e\u403f\u0007a\u0002\u0002\u403f\u4040\u0007", + "T\u0002\u0002\u4040\u4041\u0007G\u0002\u0002\u4041\u4042\u0007Y\u0002", + "\u0002\u4042\u4043\u0007T\u0002\u0002\u4043\u4044\u0007K\u0002\u0002", + "\u4044\u4045\u0007V\u0002\u0002\u4045\u4046\u0007G\u0002\u0002\u4046", + "\u4047\u0007a\u0002\u0002\u4047\u4048\u0007K\u0002\u0002\u4048\u4049", + "\u0007P\u0002\u0002\u4049\u404a\u0007a\u0002\u0002\u404a\u404b\u0007", + "U\u0002\u0002\u404b\u404c\u0007G\u0002\u0002\u404c\u404d\u0007N\u0002", + "\u0002\u404d\u404e\u0007G\u0002\u0002\u404e\u404f\u0007E\u0002\u0002", + "\u404f\u4050\u0007V\u0002\u0002\u4050\u0888\u0003\u0002\u0002\u0002", + "\u4051\u4052\u0007P\u0002\u0002\u4052\u4053\u0007Q\u0002\u0002\u4053", + "\u4054\u0007a\u0002\u0002\u4054\u4055\u0007Z\u0002\u0002\u4055\u4056", + "\u0007O\u0002\u0002\u4056\u4057\u0007N\u0002\u0002\u4057\u4058\u0007", + "K\u0002\u0002\u4058\u4059\u0007P\u0002\u0002\u4059\u405a\u0007F\u0002", + "\u0002\u405a\u405b\u0007G\u0002\u0002\u405b\u405c\u0007Z\u0002\u0002", + "\u405c\u405d\u0007a\u0002\u0002\u405d\u405e\u0007T\u0002\u0002\u405e", + "\u405f\u0007G\u0002\u0002\u405f\u4060\u0007Y\u0002\u0002\u4060\u4061", + "\u0007T\u0002\u0002\u4061\u4062\u0007K\u0002\u0002\u4062\u4063\u0007", + "V\u0002\u0002\u4063\u4064\u0007G\u0002\u0002\u4064\u088a\u0003\u0002", + "\u0002\u0002\u4065\u4066\u0007P\u0002\u0002\u4066\u4067\u0007Q\u0002", + "\u0002\u4067\u4068\u0007a\u0002\u0002\u4068\u4069\u0007Z\u0002\u0002", + "\u4069\u406a\u0007O\u0002\u0002\u406a\u406b\u0007N\u0002\u0002\u406b", + "\u406c\u0007a\u0002\u0002\u406c\u406d\u0007S\u0002\u0002\u406d\u406e", + "\u0007W\u0002\u0002\u406e\u406f\u0007G\u0002\u0002\u406f\u4070\u0007", + "T\u0002\u0002\u4070\u4071\u0007[\u0002\u0002\u4071\u4072\u0007a\u0002", + "\u0002\u4072\u4073\u0007T\u0002\u0002\u4073\u4074\u0007G\u0002\u0002", + "\u4074\u4075\u0007Y\u0002\u0002\u4075\u4076\u0007T\u0002\u0002\u4076", + "\u4077\u0007K\u0002\u0002\u4077\u4078\u0007V\u0002\u0002\u4078\u4079", + "\u0007G\u0002\u0002\u4079\u088c\u0003\u0002\u0002\u0002\u407a\u407b", + "\u0007P\u0002\u0002\u407b\u407c\u0007Q\u0002\u0002\u407c\u407d\u0007", + "a\u0002\u0002\u407d\u407e\u0007\\\u0002\u0002\u407e\u407f\u0007Q\u0002", + "\u0002\u407f\u4080\u0007P\u0002\u0002\u4080\u4081\u0007G\u0002\u0002", + "\u4081\u4082\u0007O\u0002\u0002\u4082\u4083\u0007C\u0002\u0002\u4083", + "\u4084\u0007R\u0002\u0002\u4084\u088e\u0003\u0002\u0002\u0002\u4085", + "\u4086\u0007P\u0002\u0002\u4086\u4087\u0007V\u0002\u0002\u4087\u4088", + "\u0007J\u0002\u0002\u4088\u4089\u0007a\u0002\u0002\u4089\u408a\u0007", + "X\u0002\u0002\u408a\u408b\u0007C\u0002\u0002\u408b\u408c\u0007N\u0002", + "\u0002\u408c\u408d\u0007W\u0002\u0002\u408d\u408e\u0007G\u0002\u0002", + "\u408e\u0890\u0003\u0002\u0002\u0002\u408f\u4090\u0007P\u0002\u0002", + "\u4090\u4091\u0007W\u0002\u0002\u4091\u4092\u0007N\u0002\u0002\u4092", + "\u4093\u0007N\u0002\u0002\u4093\u4094\u0007K\u0002\u0002\u4094\u4095", + "\u0007H\u0002\u0002\u4095\u0892\u0003\u0002\u0002\u0002\u4096\u4097", + "\u0007P\u0002\u0002\u4097\u4098\u0007W\u0002\u0002\u4098\u4099\u0007", + "N\u0002\u0002\u4099\u409a\u0007N\u0002\u0002\u409a\u0894\u0003\u0002", + "\u0002\u0002\u409b\u409c\u0007P\u0002\u0002\u409c\u409d\u0007W\u0002", + "\u0002\u409d\u409e\u0007N\u0002\u0002\u409e\u409f\u0007N\u0002\u0002", + "\u409f\u40a0\u0007U\u0002\u0002\u40a0\u0896\u0003\u0002\u0002\u0002", + "\u40a1\u40a2\u0007P\u0002\u0002\u40a2\u40a3\u0007W\u0002\u0002\u40a3", + "\u40a4\u0007O\u0002\u0002\u40a4\u40a5\u0007D\u0002\u0002\u40a5\u40a6", + "\u0007G\u0002\u0002\u40a6\u40a7\u0007T\u0002\u0002\u40a7\u0898\u0003", + "\u0002\u0002\u0002\u40a8\u40a9\u0007P\u0002\u0002\u40a9\u40aa\u0007", + "W\u0002\u0002\u40aa\u40ab\u0007O\u0002\u0002\u40ab\u40ac\u0007G\u0002", + "\u0002\u40ac\u40ad\u0007T\u0002\u0002\u40ad\u40ae\u0007K\u0002\u0002", + "\u40ae\u40af\u0007E\u0002\u0002\u40af\u089a\u0003\u0002\u0002\u0002", + "\u40b0\u40b1\u0007P\u0002\u0002\u40b1\u40b2\u0007W\u0002\u0002\u40b2", + "\u40b3\u0007O\u0002\u0002\u40b3\u40b4\u0007a\u0002\u0002\u40b4\u40b5", + "\u0007K\u0002\u0002\u40b5\u40b6\u0007P\u0002\u0002\u40b6\u40b7\u0007", + "F\u0002\u0002\u40b7\u40b8\u0007G\u0002\u0002\u40b8\u40b9\u0007Z\u0002", + "\u0002\u40b9\u40ba\u0007a\u0002\u0002\u40ba\u40bb\u0007M\u0002\u0002", + "\u40bb\u40bc\u0007G\u0002\u0002\u40bc\u40bd\u0007[\u0002\u0002\u40bd", + "\u40be\u0007U\u0002\u0002\u40be\u089c\u0003\u0002\u0002\u0002\u40bf", + "\u40c0\u0007P\u0002\u0002\u40c0\u40c1\u0007W\u0002\u0002\u40c1\u40c2", + "\u0007O\u0002\u0002\u40c2\u40c3\u0007V\u0002\u0002\u40c3\u40c4\u0007", + "Q\u0002\u0002\u40c4\u40c5\u0007F\u0002\u0002\u40c5\u40c6\u0007U\u0002", + "\u0002\u40c6\u40c7\u0007K\u0002\u0002\u40c7\u40c8\u0007P\u0002\u0002", + "\u40c8\u40c9\u0007V\u0002\u0002\u40c9\u40ca\u0007G\u0002\u0002\u40ca", + "\u40cb\u0007T\u0002\u0002\u40cb\u40cc\u0007X\u0002\u0002\u40cc\u40cd", + "\u0007C\u0002\u0002\u40cd\u40ce\u0007N\u0002\u0002\u40ce\u089e\u0003", + "\u0002\u0002\u0002\u40cf\u40d0\u0007P\u0002\u0002\u40d0\u40d1\u0007", + "W\u0002\u0002\u40d1\u40d2\u0007O\u0002\u0002\u40d2\u40d3\u0007V\u0002", + "\u0002\u40d3\u40d4\u0007Q\u0002\u0002\u40d4\u40d5\u0007[\u0002\u0002", + "\u40d5\u40d6\u0007O\u0002\u0002\u40d6\u40d7\u0007K\u0002\u0002\u40d7", + "\u40d8\u0007P\u0002\u0002\u40d8\u40d9\u0007V\u0002\u0002\u40d9\u40da", + "\u0007G\u0002\u0002\u40da\u40db\u0007T\u0002\u0002\u40db\u40dc\u0007", + "X\u0002\u0002\u40dc\u40dd\u0007C\u0002\u0002\u40dd\u40de\u0007N\u0002", + "\u0002\u40de\u08a0\u0003\u0002\u0002\u0002\u40df\u40e0\u0007P\u0002", + "\u0002\u40e0\u40e1\u0007X\u0002\u0002\u40e1\u40e2\u0007C\u0002\u0002", + "\u40e2\u40e3\u0007T\u0002\u0002\u40e3\u40e4\u0007E\u0002\u0002\u40e4", + "\u40e5\u0007J\u0002\u0002\u40e5\u40e6\u0007C\u0002\u0002\u40e6\u40e7", + "\u0007T\u0002\u0002\u40e7\u40e8\u00074\u0002\u0002\u40e8\u08a2\u0003", + "\u0002\u0002\u0002\u40e9\u40ea\u0007P\u0002\u0002\u40ea\u40eb\u0007", + "X\u0002\u0002\u40eb\u40ec\u0007N\u0002\u0002\u40ec\u40ed\u00074\u0002", + "\u0002\u40ed\u08a4\u0003\u0002\u0002\u0002\u40ee\u40ef\u0007Q\u0002", + "\u0002\u40ef\u40f0\u0007D\u0002\u0002\u40f0\u40f1\u0007L\u0002\u0002", + "\u40f1\u40f2\u0007G\u0002\u0002\u40f2\u40f3\u0007E\u0002\u0002\u40f3", + "\u40f4\u0007V\u0002\u0002\u40f4\u40f5\u00074\u0002\u0002\u40f5\u40f6", + "\u0007Z\u0002\u0002\u40f6\u40f7\u0007O\u0002\u0002\u40f7\u40f8\u0007", + "N\u0002\u0002\u40f8\u08a6\u0003\u0002\u0002\u0002\u40f9\u40fa\u0007", + "Q\u0002\u0002\u40fa\u40fb\u0007D\u0002\u0002\u40fb\u40fc\u0007L\u0002", + "\u0002\u40fc\u40fd\u0007G\u0002\u0002\u40fd\u40fe\u0007E\u0002\u0002", + "\u40fe\u40ff\u0007V\u0002\u0002\u40ff\u08a8\u0003\u0002\u0002\u0002", + "\u4100\u4101\u0007Q\u0002\u0002\u4101\u4102\u0007D\u0002\u0002\u4102", + "\u4103\u0007L\u0002\u0002\u4103\u4104\u0007a\u0002\u0002\u4104\u4105", + "\u0007K\u0002\u0002\u4105\u4106\u0007F\u0002\u0002\u4106\u08aa\u0003", + "\u0002\u0002\u0002\u4107\u4108\u0007Q\u0002\u0002\u4108\u4109\u0007", + "D\u0002\u0002\u4109\u410a\u0007L\u0002\u0002\u410a\u410b\u0007P\u0002", + "\u0002\u410b\u410c\u0007Q\u0002\u0002\u410c\u08ac\u0003\u0002\u0002", + "\u0002\u410d\u410e\u0007Q\u0002\u0002\u410e\u410f\u0007D\u0002\u0002", + "\u410f\u4110\u0007L\u0002\u0002\u4110\u4111\u0007P\u0002\u0002\u4111", + "\u4112\u0007Q\u0002\u0002\u4112\u4113\u0007a\u0002\u0002\u4113\u4114", + "\u0007T\u0002\u0002\u4114\u4115\u0007G\u0002\u0002\u4115\u4116\u0007", + "W\u0002\u0002\u4116\u4117\u0007U\u0002\u0002\u4117\u4118\u0007G\u0002", + "\u0002\u4118\u08ae\u0003\u0002\u0002\u0002\u4119\u411a\u0007Q\u0002", + "\u0002\u411a\u411b\u0007E\u0002\u0002\u411b\u411c\u0007E\u0002\u0002", + "\u411c\u411d\u0007W\u0002\u0002\u411d\u411e\u0007T\u0002\u0002\u411e", + "\u411f\u0007G\u0002\u0002\u411f\u4120\u0007P\u0002\u0002\u4120\u4121", + "\u0007E\u0002\u0002\u4121\u4122\u0007G\u0002\u0002\u4122\u4123\u0007", + "U\u0002\u0002\u4123\u08b0\u0003\u0002\u0002\u0002\u4124\u4125\u0007", + "Q\u0002\u0002\u4125\u4126\u0007H\u0002\u0002\u4126\u4127\u0007H\u0002", + "\u0002\u4127\u4128\u0007N\u0002\u0002\u4128\u4129\u0007K\u0002\u0002", + "\u4129\u412a\u0007P\u0002\u0002\u412a\u412b\u0007G\u0002\u0002\u412b", + "\u08b2\u0003\u0002\u0002\u0002\u412c\u412d\u0007Q\u0002\u0002\u412d", + "\u412e\u0007H\u0002\u0002\u412e\u412f\u0007H\u0002\u0002\u412f\u08b4", + "\u0003\u0002\u0002\u0002\u4130\u4131\u0007Q\u0002\u0002\u4131\u4132", + "\u0007H\u0002\u0002\u4132\u4133\u0007H\u0002\u0002\u4133\u4134\u0007", + "U\u0002\u0002\u4134\u4135\u0007G\u0002\u0002\u4135\u4136\u0007V\u0002", + "\u0002\u4136\u08b6\u0003\u0002\u0002\u0002\u4137\u4138\u0007Q\u0002", + "\u0002\u4138\u4139\u0007H\u0002\u0002\u4139\u08b8\u0003\u0002\u0002", + "\u0002\u413a\u413b\u0007Q\u0002\u0002\u413b\u413c\u0007K\u0002\u0002", + "\u413c\u413d\u0007F\u0002\u0002\u413d\u413e\u0007K\u0002\u0002\u413e", + "\u413f\u0007P\u0002\u0002\u413f\u4140\u0007F\u0002\u0002\u4140\u4141", + "\u0007G\u0002\u0002\u4141\u4142\u0007Z\u0002\u0002\u4142\u08ba\u0003", + "\u0002\u0002\u0002\u4143\u4144\u0007Q\u0002\u0002\u4144\u4145\u0007", + "K\u0002\u0002\u4145\u4146\u0007F\u0002\u0002\u4146\u08bc\u0003\u0002", + "\u0002\u0002\u4147\u4148\u0007Q\u0002\u0002\u4148\u4149\u0007N\u0002", + "\u0002\u4149\u414a\u0007C\u0002\u0002\u414a\u414b\u0007R\u0002\u0002", + "\u414b\u08be\u0003\u0002\u0002\u0002\u414c\u414d\u0007Q\u0002\u0002", + "\u414d\u414e\u0007N\u0002\u0002\u414e\u414f\u0007F\u0002\u0002\u414f", + "\u08c0\u0003\u0002\u0002\u0002\u4150\u4151\u0007Q\u0002\u0002\u4151", + "\u4152\u0007N\u0002\u0002\u4152\u4153\u0007F\u0002\u0002\u4153\u4154", + "\u0007a\u0002\u0002\u4154\u4155\u0007R\u0002\u0002\u4155\u4156\u0007", + "W\u0002\u0002\u4156\u4157\u0007U\u0002\u0002\u4157\u4158\u0007J\u0002", + "\u0002\u4158\u4159\u0007a\u0002\u0002\u4159\u415a\u0007R\u0002\u0002", + "\u415a\u415b\u0007T\u0002\u0002\u415b\u415c\u0007G\u0002\u0002\u415c", + "\u415d\u0007F\u0002\u0002\u415d\u08c2\u0003\u0002\u0002\u0002\u415e", + "\u415f\u0007Q\u0002\u0002\u415f\u4160\u0007N\u0002\u0002\u4160\u4161", + "\u0007U\u0002\u0002\u4161\u08c4\u0003\u0002\u0002\u0002\u4162\u4163", + "\u0007Q\u0002\u0002\u4163\u4164\u0007N\u0002\u0002\u4164\u4165\u0007", + "V\u0002\u0002\u4165\u4166\u0007R\u0002\u0002\u4166\u08c6\u0003\u0002", + "\u0002\u0002\u4167\u4168\u0007Q\u0002\u0002\u4168\u4169\u0007O\u0002", + "\u0002\u4169\u416a\u0007K\u0002\u0002\u416a\u416b\u0007V\u0002\u0002", + "\u416b\u08c8\u0003\u0002\u0002\u0002\u416c\u416d\u0007Q\u0002\u0002", + "\u416d\u416e\u0007P\u0002\u0002\u416e\u416f\u0007G\u0002\u0002\u416f", + "\u08ca\u0003\u0002\u0002\u0002\u4170\u4171\u0007Q\u0002\u0002\u4171", + "\u4172\u0007P\u0002\u0002\u4172\u4173\u0007N\u0002\u0002\u4173\u4174", + "\u0007K\u0002\u0002\u4174\u4175\u0007P\u0002\u0002\u4175\u4176\u0007", + "G\u0002\u0002\u4176\u08cc\u0003\u0002\u0002\u0002\u4177\u4178\u0007", + "Q\u0002\u0002\u4178\u4179\u0007P\u0002\u0002\u4179\u417a\u0007N\u0002", + "\u0002\u417a\u417b\u0007K\u0002\u0002\u417b\u417c\u0007P\u0002\u0002", + "\u417c\u417d\u0007G\u0002\u0002\u417d\u417e\u0007N\u0002\u0002\u417e", + "\u417f\u0007Q\u0002\u0002\u417f\u4180\u0007I\u0002\u0002\u4180\u08ce", + "\u0003\u0002\u0002\u0002\u4181\u4182\u0007Q\u0002\u0002\u4182\u4183", + "\u0007P\u0002\u0002\u4183\u4184\u0007N\u0002\u0002\u4184\u4185\u0007", + "[\u0002\u0002\u4185\u08d0\u0003\u0002\u0002\u0002\u4186\u4187\u0007", + "Q\u0002\u0002\u4187\u4188\u0007P\u0002\u0002\u4188\u08d2\u0003\u0002", + "\u0002\u0002\u4189\u418a\u0007Q\u0002\u0002\u418a\u418b\u0007R\u0002", + "\u0002\u418b\u418c\u0007C\u0002\u0002\u418c\u418d\u0007S\u0002\u0002", + "\u418d\u418e\u0007W\u0002\u0002\u418e\u418f\u0007G\u0002\u0002\u418f", + "\u08d4\u0003\u0002\u0002\u0002\u4190\u4191\u0007Q\u0002\u0002\u4191", + "\u4192\u0007R\u0002\u0002\u4192\u4193\u0007C\u0002\u0002\u4193\u4194", + "\u0007S\u0002\u0002\u4194\u4195\u0007W\u0002\u0002\u4195\u4196\u0007", + "G\u0002\u0002\u4196\u4197\u0007a\u0002\u0002\u4197\u4198\u0007V\u0002", + "\u0002\u4198\u4199\u0007T\u0002\u0002\u4199\u419a\u0007C\u0002\u0002", + "\u419a\u419b\u0007P\u0002\u0002\u419b\u419c\u0007U\u0002\u0002\u419c", + "\u419d\u0007H\u0002\u0002\u419d\u419e\u0007Q\u0002\u0002\u419e\u419f", + "\u0007T\u0002\u0002\u419f\u41a0\u0007O\u0002\u0002\u41a0\u08d6\u0003", + "\u0002\u0002\u0002\u41a1\u41a2\u0007Q\u0002\u0002\u41a2\u41a3\u0007", + "R\u0002\u0002\u41a3\u41a4\u0007C\u0002\u0002\u41a4\u41a5\u0007S\u0002", + "\u0002\u41a5\u41a6\u0007W\u0002\u0002\u41a6\u41a7\u0007G\u0002\u0002", + "\u41a7\u41a8\u0007a\u0002\u0002\u41a8\u41a9\u0007Z\u0002\u0002\u41a9", + "\u41aa\u0007E\u0002\u0002\u41aa\u41ab\u0007C\u0002\u0002\u41ab\u41ac", + "\u0007P\u0002\u0002\u41ac\u41ad\u0007Q\u0002\u0002\u41ad\u41ae\u0007", + "P\u0002\u0002\u41ae\u41af\u0007K\u0002\u0002\u41af\u41b0\u0007E\u0002", + "\u0002\u41b0\u41b1\u0007C\u0002\u0002\u41b1\u41b2\u0007N\u0002\u0002", + "\u41b2\u08d8\u0003\u0002\u0002\u0002\u41b3\u41b4\u0007Q\u0002\u0002", + "\u41b4\u41b5\u0007R\u0002\u0002\u41b5\u41b6\u0007E\u0002\u0002\u41b6", + "\u41b7\u0007Q\u0002\u0002\u41b7\u41b8\u0007F\u0002\u0002\u41b8\u41b9", + "\u0007G\u0002\u0002\u41b9\u08da\u0003\u0002\u0002\u0002\u41ba\u41bb", + "\u0007Q\u0002\u0002\u41bb\u41bc\u0007R\u0002\u0002\u41bc\u41bd\u0007", + "G\u0002\u0002\u41bd\u41be\u0007P\u0002\u0002\u41be\u08dc\u0003\u0002", + "\u0002\u0002\u41bf\u41c0\u0007Q\u0002\u0002\u41c0\u41c1\u0007R\u0002", + "\u0002\u41c1\u41c2\u0007G\u0002\u0002\u41c2\u41c3\u0007T\u0002\u0002", + "\u41c3\u41c4\u0007C\u0002\u0002\u41c4\u41c5\u0007V\u0002\u0002\u41c5", + "\u41c6\u0007K\u0002\u0002\u41c6\u41c7\u0007Q\u0002\u0002\u41c7\u41c8", + "\u0007P\u0002\u0002\u41c8\u41c9\u0007U\u0002\u0002\u41c9\u08de\u0003", + "\u0002\u0002\u0002\u41ca\u41cb\u0007Q\u0002\u0002\u41cb\u41cc\u0007", + "R\u0002\u0002\u41cc\u41cd\u0007G\u0002\u0002\u41cd\u41ce\u0007T\u0002", + "\u0002\u41ce\u41cf\u0007C\u0002\u0002\u41cf\u41d0\u0007V\u0002\u0002", + "\u41d0\u41d1\u0007Q\u0002\u0002\u41d1\u41d2\u0007T\u0002\u0002\u41d2", + "\u08e0\u0003\u0002\u0002\u0002\u41d3\u41d4\u0007Q\u0002\u0002\u41d4", + "\u41d5\u0007R\u0002\u0002\u41d5\u41d6\u0007V\u0002\u0002\u41d6\u41d7", + "\u0007a\u0002\u0002\u41d7\u41d8\u0007G\u0002\u0002\u41d8\u41d9\u0007", + "U\u0002\u0002\u41d9\u41da\u0007V\u0002\u0002\u41da\u41db\u0007K\u0002", + "\u0002\u41db\u41dc\u0007O\u0002\u0002\u41dc\u41dd\u0007C\u0002\u0002", + "\u41dd\u41de\u0007V\u0002\u0002\u41de\u41df\u0007G\u0002\u0002\u41df", + "\u08e2\u0003\u0002\u0002\u0002\u41e0\u41e1\u0007Q\u0002\u0002\u41e1", + "\u41e2\u0007R\u0002\u0002\u41e2\u41e3\u0007V\u0002\u0002\u41e3\u41e4", + "\u0007K\u0002\u0002\u41e4\u41e5\u0007O\u0002\u0002\u41e5\u41e6\u0007", + "C\u0002\u0002\u41e6\u41e7\u0007N\u0002\u0002\u41e7\u08e4\u0003\u0002", + "\u0002\u0002\u41e8\u41e9\u0007Q\u0002\u0002\u41e9\u41ea\u0007R\u0002", + "\u0002\u41ea\u41eb\u0007V\u0002\u0002\u41eb\u41ec\u0007K\u0002\u0002", + "\u41ec\u41ed\u0007O\u0002\u0002\u41ed\u41ee\u0007K\u0002\u0002\u41ee", + "\u41ef\u0007\\\u0002\u0002\u41ef\u41f0\u0007G\u0002\u0002\u41f0\u08e6", + "\u0003\u0002\u0002\u0002\u41f1\u41f2\u0007Q\u0002\u0002\u41f2\u41f3", + "\u0007R\u0002\u0002\u41f3\u41f4\u0007V\u0002\u0002\u41f4\u41f5\u0007", + "K\u0002\u0002\u41f5\u41f6\u0007O\u0002\u0002\u41f6\u41f7\u0007K\u0002", + "\u0002\u41f7\u41f8\u0007\\\u0002\u0002\u41f8\u41f9\u0007G\u0002\u0002", + "\u41f9\u41fa\u0007T\u0002\u0002\u41fa\u41fb\u0007a\u0002\u0002\u41fb", + "\u41fc\u0007H\u0002\u0002\u41fc\u41fd\u0007G\u0002\u0002\u41fd\u41fe", + "\u0007C\u0002\u0002\u41fe\u41ff\u0007V\u0002\u0002\u41ff\u4200\u0007", + "W\u0002\u0002\u4200\u4201\u0007T\u0002\u0002\u4201\u4202\u0007G\u0002", + "\u0002\u4202\u4203\u0007U\u0002\u0002\u4203\u4204\u0007a\u0002\u0002", + "\u4204\u4205\u0007G\u0002\u0002\u4205\u4206\u0007P\u0002\u0002\u4206", + "\u4207\u0007C\u0002\u0002\u4207\u4208\u0007D\u0002\u0002\u4208\u4209", + "\u0007N\u0002\u0002\u4209\u420a\u0007G\u0002\u0002\u420a\u08e8\u0003", + "\u0002\u0002\u0002\u420b\u420c\u0007Q\u0002\u0002\u420c\u420d\u0007", + "R\u0002\u0002\u420d\u420e\u0007V\u0002\u0002\u420e\u420f\u0007K\u0002", + "\u0002\u420f\u4210\u0007O\u0002\u0002\u4210\u4211\u0007K\u0002\u0002", + "\u4211\u4212\u0007\\\u0002\u0002\u4212\u4213\u0007G\u0002\u0002\u4213", + "\u4214\u0007T\u0002\u0002\u4214\u4215\u0007a\u0002\u0002\u4215\u4216", + "\u0007I\u0002\u0002\u4216\u4217\u0007Q\u0002\u0002\u4217\u4218\u0007", + "C\u0002\u0002\u4218\u4219\u0007N\u0002\u0002\u4219\u08ea\u0003\u0002", + "\u0002\u0002\u421a\u421b\u0007Q\u0002\u0002\u421b\u421c\u0007R\u0002", + "\u0002\u421c\u421d\u0007V\u0002\u0002\u421d\u421e\u0007K\u0002\u0002", + "\u421e\u421f\u0007Q\u0002\u0002\u421f\u4220\u0007P\u0002\u0002\u4220", + "\u08ec\u0003\u0002\u0002\u0002\u4221\u4222\u0007Q\u0002\u0002\u4222", + "\u4223\u0007R\u0002\u0002\u4223\u4224\u0007V\u0002\u0002\u4224\u4225", + "\u0007a\u0002\u0002\u4225\u4226\u0007R\u0002\u0002\u4226\u4227\u0007", + "C\u0002\u0002\u4227\u4228\u0007T\u0002\u0002\u4228\u4229\u0007C\u0002", + "\u0002\u4229\u422a\u0007O\u0002\u0002\u422a\u08ee\u0003\u0002\u0002", + "\u0002\u422b\u422c\u0007Q\u0002\u0002\u422c\u422d\u0007T\u0002\u0002", + "\u422d\u422e\u0007C\u0002\u0002\u422e\u422f\u0007a\u0002\u0002\u422f", + "\u4230\u0007D\u0002\u0002\u4230\u4231\u0007T\u0002\u0002\u4231\u4232", + "\u0007C\u0002\u0002\u4232\u4233\u0007P\u0002\u0002\u4233\u4234\u0007", + "E\u0002\u0002\u4234\u4235\u0007J\u0002\u0002\u4235\u08f0\u0003\u0002", + "\u0002\u0002\u4236\u4237\u0007Q\u0002\u0002\u4237\u4238\u0007T\u0002", + "\u0002\u4238\u4239\u0007C\u0002\u0002\u4239\u423a\u0007a\u0002\u0002", + "\u423a\u423b\u0007E\u0002\u0002\u423b\u423c\u0007J\u0002\u0002\u423c", + "\u423d\u0007G\u0002\u0002\u423d\u423e\u0007E\u0002\u0002\u423e\u423f", + "\u0007M\u0002\u0002\u423f\u4240\u0007a\u0002\u0002\u4240\u4241\u0007", + "C\u0002\u0002\u4241\u4242\u0007E\u0002\u0002\u4242\u4243\u0007N\u0002", + "\u0002\u4243\u08f2\u0003\u0002\u0002\u0002\u4244\u4245\u0007Q\u0002", + "\u0002\u4245\u4246\u0007T\u0002\u0002\u4246\u4247\u0007C\u0002\u0002", + "\u4247\u4248\u0007a\u0002\u0002\u4248\u4249\u0007E\u0002\u0002\u4249", + "\u424a\u0007J\u0002\u0002\u424a\u424b\u0007G\u0002\u0002\u424b\u424c", + "\u0007E\u0002\u0002\u424c\u424d\u0007M\u0002\u0002\u424d\u424e\u0007", + "a\u0002\u0002\u424e\u424f\u0007R\u0002\u0002\u424f\u4250\u0007T\u0002", + "\u0002\u4250\u4251\u0007K\u0002\u0002\u4251\u4252\u0007X\u0002\u0002", + "\u4252\u4253\u0007K\u0002\u0002\u4253\u4254\u0007N\u0002\u0002\u4254", + "\u4255\u0007G\u0002\u0002\u4255\u4256\u0007I\u0002\u0002\u4256\u4257", + "\u0007G\u0002\u0002\u4257\u08f4\u0003\u0002\u0002\u0002\u4258\u4259", + "\u0007Q\u0002\u0002\u4259\u425a\u0007T\u0002\u0002\u425a\u425b\u0007", + "C\u0002\u0002\u425b\u425c\u0007a\u0002\u0002\u425c\u425d\u0007E\u0002", + "\u0002\u425d\u425e\u0007N\u0002\u0002\u425e\u425f\u0007W\u0002\u0002", + "\u425f\u4260\u0007U\u0002\u0002\u4260\u4261\u0007V\u0002\u0002\u4261", + "\u4262\u0007G\u0002\u0002\u4262\u4263\u0007T\u0002\u0002\u4263\u4264", + "\u0007K\u0002\u0002\u4264\u4265\u0007P\u0002\u0002\u4265\u4266\u0007", + "I\u0002\u0002\u4266\u08f6\u0003\u0002\u0002\u0002\u4267\u4268\u0007", + "Q\u0002\u0002\u4268\u4269\u0007T\u0002\u0002\u4269\u426a\u0007C\u0002", + "\u0002\u426a\u426b\u0007F\u0002\u0002\u426b\u426c\u0007C\u0002\u0002", + "\u426c\u426d\u0007V\u0002\u0002\u426d\u426e\u0007C\u0002\u0002\u426e", + "\u08f8\u0003\u0002\u0002\u0002\u426f\u4270\u0007Q\u0002\u0002\u4270", + "\u4271\u0007T\u0002\u0002\u4271\u4272\u0007C\u0002\u0002\u4272\u4273", + "\u0007F\u0002\u0002\u4273\u4274\u0007G\u0002\u0002\u4274\u4275\u0007", + "D\u0002\u0002\u4275\u4276\u0007W\u0002\u0002\u4276\u4277\u0007I\u0002", + "\u0002\u4277\u08fa\u0003\u0002\u0002\u0002\u4278\u4279\u0007Q\u0002", + "\u0002\u4279\u427a\u0007T\u0002\u0002\u427a\u427b\u0007C\u0002\u0002", + "\u427b\u427c\u0007a\u0002\u0002\u427c\u427d\u0007F\u0002\u0002\u427d", + "\u427e\u0007U\u0002\u0002\u427e\u427f\u0007V\u0002\u0002\u427f\u4280", + "\u0007a\u0002\u0002\u4280\u4281\u0007C\u0002\u0002\u4281\u4282\u0007", + "H\u0002\u0002\u4282\u4283\u0007H\u0002\u0002\u4283\u4284\u0007G\u0002", + "\u0002\u4284\u4285\u0007E\u0002\u0002\u4285\u4286\u0007V\u0002\u0002", + "\u4286\u4287\u0007G\u0002\u0002\u4287\u4288\u0007F\u0002\u0002\u4288", + "\u08fc\u0003\u0002\u0002\u0002\u4289\u428a\u0007Q\u0002\u0002\u428a", + "\u428b\u0007T\u0002\u0002\u428b\u428c\u0007C\u0002\u0002\u428c\u428d", + "\u0007a\u0002\u0002\u428d\u428e\u0007F\u0002\u0002\u428e\u428f\u0007", + "U\u0002\u0002\u428f\u4290\u0007V\u0002\u0002\u4290\u4291\u0007a\u0002", + "\u0002\u4291\u4292\u0007E\u0002\u0002\u4292\u4293\u0007Q\u0002\u0002", + "\u4293\u4294\u0007P\u0002\u0002\u4294\u4295\u0007X\u0002\u0002\u4295", + "\u4296\u0007G\u0002\u0002\u4296\u4297\u0007T\u0002\u0002\u4297\u4298", + "\u0007V\u0002\u0002\u4298\u08fe\u0003\u0002\u0002\u0002\u4299\u429a", + "\u0007Q\u0002\u0002\u429a\u429b\u0007T\u0002\u0002\u429b\u429c\u0007", + "C\u0002\u0002\u429c\u429d\u0007a\u0002\u0002\u429d\u429e\u0007F\u0002", + "\u0002\u429e\u429f\u0007U\u0002\u0002\u429f\u42a0\u0007V\u0002\u0002", + "\u42a0\u42a1\u0007a\u0002\u0002\u42a1\u42a2\u0007G\u0002\u0002\u42a2", + "\u42a3\u0007T\u0002\u0002\u42a3\u42a4\u0007T\u0002\u0002\u42a4\u42a5", + "\u0007Q\u0002\u0002\u42a5\u42a6\u0007T\u0002\u0002\u42a6\u0900\u0003", + "\u0002\u0002\u0002\u42a7\u42a8\u0007Q\u0002\u0002\u42a8\u42a9\u0007", + "T\u0002\u0002\u42a9\u42aa\u0007C\u0002\u0002\u42aa\u42ab\u0007a\u0002", + "\u0002\u42ab\u42ac\u0007I\u0002\u0002\u42ac\u42ad\u0007G\u0002\u0002", + "\u42ad\u42ae\u0007V\u0002\u0002\u42ae\u42af\u0007a\u0002\u0002\u42af", + "\u42b0\u0007C\u0002\u0002\u42b0\u42b1\u0007E\u0002\u0002\u42b1\u42b2", + "\u0007N\u0002\u0002\u42b2\u42b3\u0007K\u0002\u0002\u42b3\u42b4\u0007", + "F\u0002\u0002\u42b4\u42b5\u0007U\u0002\u0002\u42b5\u0902\u0003\u0002", + "\u0002\u0002\u42b6\u42b7\u0007Q\u0002\u0002\u42b7\u42b8\u0007T\u0002", + "\u0002\u42b8\u42b9\u0007C\u0002\u0002\u42b9\u42ba\u0007a\u0002\u0002", + "\u42ba\u42bb\u0007I\u0002\u0002\u42bb\u42bc\u0007G\u0002\u0002\u42bc", + "\u42bd\u0007V\u0002\u0002\u42bd\u42be\u0007a\u0002\u0002\u42be\u42bf", + "\u0007R\u0002\u0002\u42bf\u42c0\u0007T\u0002\u0002\u42c0\u42c1\u0007", + "K\u0002\u0002\u42c1\u42c2\u0007X\u0002\u0002\u42c2\u42c3\u0007K\u0002", + "\u0002\u42c3\u42c4\u0007N\u0002\u0002\u42c4\u42c5\u0007G\u0002\u0002", + "\u42c5\u42c6\u0007I\u0002\u0002\u42c6\u42c7\u0007G\u0002\u0002\u42c7", + "\u42c8\u0007U\u0002\u0002\u42c8\u0904\u0003\u0002\u0002\u0002\u42c9", + "\u42ca\u0007Q\u0002\u0002\u42ca\u42cb\u0007T\u0002\u0002\u42cb\u42cc", + "\u0007C\u0002\u0002\u42cc\u42cd\u0007a\u0002\u0002\u42cd\u42ce\u0007", + "J\u0002\u0002\u42ce\u42cf\u0007C\u0002\u0002\u42cf\u42d0\u0007U\u0002", + "\u0002\u42d0\u42d1\u0007J\u0002\u0002\u42d1\u0906\u0003\u0002\u0002", + "\u0002\u42d2\u42d3\u0007Q\u0002\u0002\u42d3\u42d4\u0007T\u0002\u0002", + "\u42d4\u42d5\u0007C\u0002\u0002\u42d5\u42d6\u0007a\u0002\u0002\u42d6", + "\u42d7\u0007K\u0002\u0002\u42d7\u42d8\u0007P\u0002\u0002\u42d8\u42d9", + "\u0007X\u0002\u0002\u42d9\u42da\u0007Q\u0002\u0002\u42da\u42db\u0007", + "M\u0002\u0002\u42db\u42dc\u0007K\u0002\u0002\u42dc\u42dd\u0007P\u0002", + "\u0002\u42dd\u42de\u0007I\u0002\u0002\u42de\u42df\u0007a\u0002\u0002", + "\u42df\u42e0\u0007W\u0002\u0002\u42e0\u42e1\u0007U\u0002\u0002\u42e1", + "\u42e2\u0007G\u0002\u0002\u42e2\u42e3\u0007T\u0002\u0002\u42e3\u42e4", + "\u0007K\u0002\u0002\u42e4\u42e5\u0007F\u0002\u0002\u42e5\u0908\u0003", + "\u0002\u0002\u0002\u42e6\u42e7\u0007Q\u0002\u0002\u42e7\u42e8\u0007", + "T\u0002\u0002\u42e8\u42e9\u0007C\u0002\u0002\u42e9\u42ea\u0007a\u0002", + "\u0002\u42ea\u42eb\u0007K\u0002\u0002\u42eb\u42ec\u0007P\u0002\u0002", + "\u42ec\u42ed\u0007X\u0002\u0002\u42ed\u42ee\u0007Q\u0002\u0002\u42ee", + "\u42ef\u0007M\u0002\u0002\u42ef\u42f0\u0007K\u0002\u0002\u42f0\u42f1", + "\u0007P\u0002\u0002\u42f1\u42f2\u0007I\u0002\u0002\u42f2\u42f3\u0007", + "a\u0002\u0002\u42f3\u42f4\u0007W\u0002\u0002\u42f4\u42f5\u0007U\u0002", + "\u0002\u42f5\u42f6\u0007G\u0002\u0002\u42f6\u42f7\u0007T\u0002\u0002", + "\u42f7\u090a\u0003\u0002\u0002\u0002\u42f8\u42f9\u0007Q\u0002\u0002", + "\u42f9\u42fa\u0007T\u0002\u0002\u42fa\u42fb\u0007C\u0002\u0002\u42fb", + "\u42fc\u0007a\u0002\u0002\u42fc\u42fd\u0007K\u0002\u0002\u42fd\u42fe", + "\u0007P\u0002\u0002\u42fe\u42ff\u0007X\u0002\u0002\u42ff\u4300\u0007", + "Q\u0002\u0002\u4300\u4301\u0007M\u0002\u0002\u4301\u4302\u0007K\u0002", + "\u0002\u4302\u4303\u0007P\u0002\u0002\u4303\u4304\u0007I\u0002\u0002", + "\u4304\u4305\u0007a\u0002\u0002\u4305\u4306\u0007Z\u0002\u0002\u4306", + "\u4307\u0007U\u0002\u0002\u4307\u4308\u0007a\u0002\u0002\u4308\u4309", + "\u0007W\u0002\u0002\u4309\u430a\u0007U\u0002\u0002\u430a\u430b\u0007", + "G\u0002\u0002\u430b\u430c\u0007T\u0002\u0002\u430c\u430d\u0007a\u0002", + "\u0002\u430d\u430e\u0007I\u0002\u0002\u430e\u430f\u0007W\u0002\u0002", + "\u430f\u4310\u0007K\u0002\u0002\u4310\u4311\u0007F\u0002\u0002\u4311", + "\u090c\u0003\u0002\u0002\u0002\u4312\u4313\u0007Q\u0002\u0002\u4313", + "\u4314\u0007T\u0002\u0002\u4314\u4315\u0007C\u0002\u0002\u4315\u4316", + "\u0007a\u0002\u0002\u4316\u4317\u0007K\u0002\u0002\u4317\u4318\u0007", + "P\u0002\u0002\u4318\u4319\u0007X\u0002\u0002\u4319\u431a\u0007Q\u0002", + "\u0002\u431a\u431b\u0007M\u0002\u0002\u431b\u431c\u0007K\u0002\u0002", + "\u431c\u431d\u0007P\u0002\u0002\u431d\u431e\u0007I\u0002\u0002\u431e", + "\u431f\u0007a\u0002\u0002\u431f\u4320\u0007Z\u0002\u0002\u4320\u4321", + "\u0007U\u0002\u0002\u4321\u4322\u0007a\u0002\u0002\u4322\u4323\u0007", + "W\u0002\u0002\u4323\u4324\u0007U\u0002\u0002\u4324\u4325\u0007G\u0002", + "\u0002\u4325\u4326\u0007T\u0002\u0002\u4326\u090e\u0003\u0002\u0002", + "\u0002\u4327\u4328\u0007Q\u0002\u0002\u4328\u4329\u0007T\u0002\u0002", + "\u4329\u432a\u0007C\u0002\u0002\u432a\u432b\u0007a\u0002\u0002\u432b", + "\u432c\u0007T\u0002\u0002\u432c\u432d\u0007C\u0002\u0002\u432d\u432e", + "\u0007Y\u0002\u0002\u432e\u432f\u0007E\u0002\u0002\u432f\u4330\u0007", + "Q\u0002\u0002\u4330\u4331\u0007O\u0002\u0002\u4331\u4332\u0007R\u0002", + "\u0002\u4332\u4333\u0007C\u0002\u0002\u4333\u4334\u0007T\u0002\u0002", + "\u4334\u4335\u0007G\u0002\u0002\u4335\u0910\u0003\u0002\u0002\u0002", + "\u4336\u4337\u0007Q\u0002\u0002\u4337\u4338\u0007T\u0002\u0002\u4338", + "\u4339\u0007C\u0002\u0002\u4339\u433a\u0007a\u0002\u0002\u433a\u433b", + "\u0007T\u0002\u0002\u433b\u433c\u0007C\u0002\u0002\u433c\u433d\u0007", + "Y\u0002\u0002\u433d\u433e\u0007E\u0002\u0002\u433e\u433f\u0007Q\u0002", + "\u0002\u433f\u4340\u0007P\u0002\u0002\u4340\u4341\u0007E\u0002\u0002", + "\u4341\u4342\u0007C\u0002\u0002\u4342\u4343\u0007V\u0002\u0002\u4343", + "\u0912\u0003\u0002\u0002\u0002\u4344\u4345\u0007Q\u0002\u0002\u4345", + "\u4346\u0007T\u0002\u0002\u4346\u4347\u0007C\u0002\u0002\u4347\u4348", + "\u0007a\u0002\u0002\u4348\u4349\u0007T\u0002\u0002\u4349\u434a\u0007", + "Q\u0002\u0002\u434a\u434b\u0007Y\u0002\u0002\u434b\u434c\u0007U\u0002", + "\u0002\u434c\u434d\u0007E\u0002\u0002\u434d\u434e\u0007P\u0002\u0002", + "\u434e\u0914\u0003\u0002\u0002\u0002\u434f\u4350\u0007Q\u0002\u0002", + "\u4350\u4351\u0007T\u0002\u0002\u4351\u4352\u0007C\u0002\u0002\u4352", + "\u4353\u0007a\u0002\u0002\u4353\u4354\u0007T\u0002\u0002\u4354\u4355", + "\u0007Q\u0002\u0002\u4355\u4356\u0007Y\u0002\u0002\u4356\u4357\u0007", + "U\u0002\u0002\u4357\u4358\u0007E\u0002\u0002\u4358\u4359\u0007P\u0002", + "\u0002\u4359\u435a\u0007a\u0002\u0002\u435a\u435b\u0007T\u0002\u0002", + "\u435b\u435c\u0007C\u0002\u0002\u435c\u435d\u0007Y\u0002\u0002\u435d", + "\u0916\u0003\u0002\u0002\u0002\u435e\u435f\u0007Q\u0002\u0002\u435f", + "\u4360\u0007T\u0002\u0002\u4360\u4361\u0007C\u0002\u0002\u4361\u4362", + "\u0007a\u0002\u0002\u4362\u4363\u0007T\u0002\u0002\u4363\u4364\u0007", + "Q\u0002\u0002\u4364\u4365\u0007Y\u0002\u0002\u4365\u4366\u0007X\u0002", + "\u0002\u4366\u4367\u0007G\u0002\u0002\u4367\u4368\u0007T\u0002\u0002", + "\u4368\u4369\u0007U\u0002\u0002\u4369\u436a\u0007K\u0002\u0002\u436a", + "\u436b\u0007Q\u0002\u0002\u436b\u436c\u0007P\u0002\u0002\u436c\u0918", + "\u0003\u0002\u0002\u0002\u436d\u436e\u0007Q\u0002\u0002\u436e\u436f", + "\u0007T\u0002\u0002\u436f\u4370\u0007C\u0002\u0002\u4370\u4371\u0007", + "a\u0002\u0002\u4371\u4372\u0007V\u0002\u0002\u4372\u4373\u0007C\u0002", + "\u0002\u4373\u4374\u0007D\u0002\u0002\u4374\u4375\u0007X\u0002\u0002", + "\u4375\u4376\u0007G\u0002\u0002\u4376\u4377\u0007T\u0002\u0002\u4377", + "\u4378\u0007U\u0002\u0002\u4378\u4379\u0007K\u0002\u0002\u4379\u437a", + "\u0007Q\u0002\u0002\u437a\u437b\u0007P\u0002\u0002\u437b\u091a\u0003", + "\u0002\u0002\u0002\u437c\u437d\u0007Q\u0002\u0002\u437d\u437e\u0007", + "T\u0002\u0002\u437e\u437f\u0007C\u0002\u0002\u437f\u4380\u0007a\u0002", + "\u0002\u4380\u4381\u0007Y\u0002\u0002\u4381\u4382\u0007T\u0002\u0002", + "\u4382\u4383\u0007K\u0002\u0002\u4383\u4384\u0007V\u0002\u0002\u4384", + "\u4385\u0007G\u0002\u0002\u4385\u4386\u0007a\u0002\u0002\u4386\u4387", + "\u0007V\u0002\u0002\u4387\u4388\u0007K\u0002\u0002\u4388\u4389\u0007", + "O\u0002\u0002\u4389\u438a\u0007G\u0002\u0002\u438a\u091c\u0003\u0002", + "\u0002\u0002\u438b\u438c\u0007Q\u0002\u0002\u438c\u438d\u0007T\u0002", + "\u0002\u438d\u438e\u0007F\u0002\u0002\u438e\u438f\u0007G\u0002\u0002", + "\u438f\u4390\u0007T\u0002\u0002\u4390\u4391\u0007G\u0002\u0002\u4391", + "\u4392\u0007F\u0002\u0002\u4392\u091e\u0003\u0002\u0002\u0002\u4393", + "\u4394\u0007Q\u0002\u0002\u4394\u4395\u0007T\u0002\u0002\u4395\u4396", + "\u0007F\u0002\u0002\u4396\u4397\u0007G\u0002\u0002\u4397\u4398\u0007", + "T\u0002\u0002\u4398\u4399\u0007G\u0002\u0002\u4399\u439a\u0007F\u0002", + "\u0002\u439a\u439b\u0007a\u0002\u0002\u439b\u439c\u0007R\u0002\u0002", + "\u439c\u439d\u0007T\u0002\u0002\u439d\u439e\u0007G\u0002\u0002\u439e", + "\u439f\u0007F\u0002\u0002\u439f\u43a0\u0007K\u0002\u0002\u43a0\u43a1", + "\u0007E\u0002\u0002\u43a1\u43a2\u0007C\u0002\u0002\u43a2\u43a3\u0007", + "V\u0002\u0002\u43a3\u43a4\u0007G\u0002\u0002\u43a4\u43a5\u0007U\u0002", + "\u0002\u43a5\u0920\u0003\u0002\u0002\u0002\u43a6\u43a7\u0007Q\u0002", + "\u0002\u43a7\u43a8\u0007T\u0002\u0002\u43a8\u43a9\u0007F\u0002\u0002", + "\u43a9\u43aa\u0007G\u0002\u0002\u43aa\u43ab\u0007T\u0002\u0002\u43ab", + "\u0922\u0003\u0002\u0002\u0002\u43ac\u43ad\u0007Q\u0002\u0002\u43ad", + "\u43ae\u0007T\u0002\u0002\u43ae\u43af\u0007F\u0002\u0002\u43af\u43b0", + "\u0007K\u0002\u0002\u43b0\u43b1\u0007P\u0002\u0002\u43b1\u43b2\u0007", + "C\u0002\u0002\u43b2\u43b3\u0007N\u0002\u0002\u43b3\u43b4\u0007K\u0002", + "\u0002\u43b4\u43b5\u0007V\u0002\u0002\u43b5\u43b6\u0007[\u0002\u0002", + "\u43b6\u0924\u0003\u0002\u0002\u0002\u43b7\u43b8\u0007Q\u0002\u0002", + "\u43b8\u43b9\u0007T\u0002\u0002\u43b9\u43ba\u0007a\u0002\u0002\u43ba", + "\u43bb\u0007G\u0002\u0002\u43bb\u43bc\u0007Z\u0002\u0002\u43bc\u43bd", + "\u0007R\u0002\u0002\u43bd\u43be\u0007C\u0002\u0002\u43be\u43bf\u0007", + "P\u0002\u0002\u43bf\u43c0\u0007F\u0002\u0002\u43c0\u0926\u0003\u0002", + "\u0002\u0002\u43c1\u43c2\u0007Q\u0002\u0002\u43c2\u43c3\u0007T\u0002", + "\u0002\u43c3\u43c4\u0007I\u0002\u0002\u43c4\u43c5\u0007C\u0002\u0002", + "\u43c5\u43c6\u0007P\u0002\u0002\u43c6\u43c7\u0007K\u0002\u0002\u43c7", + "\u43c8\u0007\\\u0002\u0002\u43c8\u43c9\u0007C\u0002\u0002\u43c9\u43ca", + "\u0007V\u0002\u0002\u43ca\u43cb\u0007K\u0002\u0002\u43cb\u43cc\u0007", + "Q\u0002\u0002\u43cc\u43cd\u0007P\u0002\u0002\u43cd\u0928\u0003\u0002", + "\u0002\u0002\u43ce\u43cf\u0007Q\u0002\u0002\u43cf\u43d0\u0007T\u0002", + "\u0002\u43d0\u092a\u0003\u0002\u0002\u0002\u43d1\u43d2\u0007Q\u0002", + "\u0002\u43d2\u43d3\u0007T\u0002\u0002\u43d3\u43d4\u0007a\u0002\u0002", + "\u43d4\u43d5\u0007R\u0002\u0002\u43d5\u43d6\u0007T\u0002\u0002\u43d6", + "\u43d7\u0007G\u0002\u0002\u43d7\u43d8\u0007F\u0002\u0002\u43d8\u43d9", + "\u0007K\u0002\u0002\u43d9\u43da\u0007E\u0002\u0002\u43da\u43db\u0007", + "C\u0002\u0002\u43db\u43dc\u0007V\u0002\u0002\u43dc\u43dd\u0007G\u0002", + "\u0002\u43dd\u43de\u0007U\u0002\u0002\u43de\u092c\u0003\u0002\u0002", + "\u0002\u43df\u43e0\u0007Q\u0002\u0002\u43e0\u43e1\u0007U\u0002\u0002", + "\u43e1\u43e2\u0007G\u0002\u0002\u43e2\u43e3\u0007T\u0002\u0002\u43e3", + "\u43e4\u0007T\u0002\u0002\u43e4\u43e5\u0007Q\u0002\u0002\u43e5\u43e6", + "\u0007T\u0002\u0002\u43e6\u092e\u0003\u0002\u0002\u0002\u43e7\u43e8", + "\u0007Q\u0002\u0002\u43e8\u43e9\u0007V\u0002\u0002\u43e9\u43ea\u0007", + "J\u0002\u0002\u43ea\u43eb\u0007G\u0002\u0002\u43eb\u43ec\u0007T\u0002", + "\u0002\u43ec\u0930\u0003\u0002\u0002\u0002\u43ed\u43ee\u0007Q\u0002", + "\u0002\u43ee\u43ef\u0007W\u0002\u0002\u43ef\u43f0\u0007V\u0002\u0002", + "\u43f0\u43f1\u0007G\u0002\u0002\u43f1\u43f2\u0007T\u0002\u0002\u43f2", + "\u43f3\u0007a\u0002\u0002\u43f3\u43f4\u0007L\u0002\u0002\u43f4\u43f5", + "\u0007Q\u0002\u0002\u43f5\u43f6\u0007K\u0002\u0002\u43f6\u43f7\u0007", + "P\u0002\u0002\u43f7\u43f8\u0007a\u0002\u0002\u43f8\u43f9\u0007V\u0002", + "\u0002\u43f9\u43fa\u0007Q\u0002\u0002\u43fa\u43fb\u0007a\u0002\u0002", + "\u43fb\u43fc\u0007C\u0002\u0002\u43fc\u43fd\u0007P\u0002\u0002\u43fd", + "\u43fe\u0007V\u0002\u0002\u43fe\u43ff\u0007K\u0002\u0002\u43ff\u0932", + "\u0003\u0002\u0002\u0002\u4400\u4401\u0007Q\u0002\u0002\u4401\u4402", + "\u0007W\u0002\u0002\u4402\u4403\u0007V\u0002\u0002\u4403\u4404\u0007", + "G\u0002\u0002\u4404\u4405\u0007T\u0002\u0002\u4405\u4406\u0007a\u0002", + "\u0002\u4406\u4407\u0007L\u0002\u0002\u4407\u4408\u0007Q\u0002\u0002", + "\u4408\u4409\u0007K\u0002\u0002\u4409\u440a\u0007P\u0002\u0002\u440a", + "\u440b\u0007a\u0002\u0002\u440b\u440c\u0007V\u0002\u0002\u440c\u440d", + "\u0007Q\u0002\u0002\u440d\u440e\u0007a\u0002\u0002\u440e\u440f\u0007", + "K\u0002\u0002\u440f\u4410\u0007P\u0002\u0002\u4410\u4411\u0007P\u0002", + "\u0002\u4411\u4412\u0007G\u0002\u0002\u4412\u4413\u0007T\u0002\u0002", + "\u4413\u0934\u0003\u0002\u0002\u0002\u4414\u4415\u0007Q\u0002\u0002", + "\u4415\u4416\u0007W\u0002\u0002\u4416\u4417\u0007V\u0002\u0002\u4417", + "\u4418\u0007G\u0002\u0002\u4418\u4419\u0007T\u0002\u0002\u4419\u0936", + "\u0003\u0002\u0002\u0002\u441a\u441b\u0007Q\u0002\u0002\u441b\u441c", + "\u0007W\u0002\u0002\u441c\u441d\u0007V\u0002\u0002\u441d\u441e\u0007", + "N\u0002\u0002\u441e\u441f\u0007K\u0002\u0002\u441f\u4420\u0007P\u0002", + "\u0002\u4420\u4421\u0007G\u0002\u0002\u4421\u4422\u0007a\u0002\u0002", + "\u4422\u4423\u0007N\u0002\u0002\u4423\u4424\u0007G\u0002\u0002\u4424", + "\u4425\u0007C\u0002\u0002\u4425\u4426\u0007H\u0002\u0002\u4426\u0938", + "\u0003\u0002\u0002\u0002\u4427\u4428\u0007Q\u0002\u0002\u4428\u4429", + "\u0007W\u0002\u0002\u4429\u442a\u0007V\u0002\u0002\u442a\u442b\u0007", + "N\u0002\u0002\u442b\u442c\u0007K\u0002\u0002\u442c\u442d\u0007P\u0002", + "\u0002\u442d\u442e\u0007G\u0002\u0002\u442e\u093a\u0003\u0002\u0002", + "\u0002\u442f\u4430\u0007Q\u0002\u0002\u4430\u4431\u0007W\u0002\u0002", + "\u4431\u4432\u0007V\u0002\u0002\u4432\u4433\u0007a\u0002\u0002\u4433", + "\u4434\u0007Q\u0002\u0002\u4434\u4435\u0007H\u0002\u0002\u4435\u4436", + "\u0007a\u0002\u0002\u4436\u4437\u0007N\u0002\u0002\u4437\u4438\u0007", + "K\u0002\u0002\u4438\u4439\u0007P\u0002\u0002\u4439\u443a\u0007G\u0002", + "\u0002\u443a\u093c\u0003\u0002\u0002\u0002\u443b\u443c\u0007Q\u0002", + "\u0002\u443c\u443d\u0007W\u0002\u0002\u443d\u443e\u0007V\u0002\u0002", + "\u443e\u093e\u0003\u0002\u0002\u0002\u443f\u4440\u0007Q\u0002\u0002", + "\u4440\u4441\u0007X\u0002\u0002\u4441\u4442\u0007G\u0002\u0002\u4442", + "\u4443\u0007T\u0002\u0002\u4443\u4444\u0007H\u0002\u0002\u4444\u4445", + "\u0007N\u0002\u0002\u4445\u4446\u0007Q\u0002\u0002\u4446\u4447\u0007", + "Y\u0002\u0002\u4447\u4448\u0007a\u0002\u0002\u4448\u4449\u0007P\u0002", + "\u0002\u4449\u444a\u0007Q\u0002\u0002\u444a\u444b\u0007O\u0002\u0002", + "\u444b\u444c\u0007Q\u0002\u0002\u444c\u444d\u0007X\u0002\u0002\u444d", + "\u444e\u0007G\u0002\u0002\u444e\u0940\u0003\u0002\u0002\u0002\u444f", + "\u4450\u0007Q\u0002\u0002\u4450\u4451\u0007X\u0002\u0002\u4451\u4452", + "\u0007G\u0002\u0002\u4452\u4453\u0007T\u0002\u0002\u4453\u4454\u0007", + "H\u0002\u0002\u4454\u4455\u0007N\u0002\u0002\u4455\u4456\u0007Q\u0002", + "\u0002\u4456\u4457\u0007Y\u0002\u0002\u4457\u0942\u0003\u0002\u0002", + "\u0002\u4458\u4459\u0007Q\u0002\u0002\u4459\u445a\u0007X\u0002\u0002", + "\u445a\u445b\u0007G\u0002\u0002\u445b\u445c\u0007T\u0002\u0002\u445c", + "\u445d\u0007N\u0002\u0002\u445d\u445e\u0007C\u0002\u0002\u445e\u445f", + "\u0007R\u0002\u0002\u445f\u4460\u0007U\u0002\u0002\u4460\u0944\u0003", + "\u0002\u0002\u0002\u4461\u4462\u0007Q\u0002\u0002\u4462\u4463\u0007", + "X\u0002\u0002\u4463\u4464\u0007G\u0002\u0002\u4464\u4465\u0007T\u0002", + "\u0002\u4465\u0946\u0003\u0002\u0002\u0002\u4466\u4467\u0007Q\u0002", + "\u0002\u4467\u4468\u0007X\u0002\u0002\u4468\u4469\u0007G\u0002\u0002", + "\u4469\u446a\u0007T\u0002\u0002\u446a\u446b\u0007T\u0002\u0002\u446b", + "\u446c\u0007K\u0002\u0002\u446c\u446d\u0007F\u0002\u0002\u446d\u446e", + "\u0007K\u0002\u0002\u446e\u446f\u0007P\u0002\u0002\u446f\u4470\u0007", + "I\u0002\u0002\u4470\u0948\u0003\u0002\u0002\u0002\u4471\u4472\u0007", + "Q\u0002\u0002\u4472\u4473\u0007Y\u0002\u0002\u4473\u4474\u0007P\u0002", + "\u0002\u4474\u4475\u0007G\u0002\u0002\u4475\u4476\u0007T\u0002\u0002", + "\u4476\u094a\u0003\u0002\u0002\u0002\u4477\u4478\u0007Q\u0002\u0002", + "\u4478\u4479\u0007Y\u0002\u0002\u4479\u447a\u0007P\u0002\u0002\u447a", + "\u447b\u0007G\u0002\u0002\u447b\u447c\u0007T\u0002\u0002\u447c\u447d", + "\u0007U\u0002\u0002\u447d\u447e\u0007J\u0002\u0002\u447e\u447f\u0007", + "K\u0002\u0002\u447f\u4480\u0007R\u0002\u0002\u4480\u094c\u0003\u0002", + "\u0002\u0002\u4481\u4482\u0007Q\u0002\u0002\u4482\u4483\u0007Y\u0002", + "\u0002\u4483\u4484\u0007P\u0002\u0002\u4484\u094e\u0003\u0002\u0002", + "\u0002\u4485\u4486\u0007R\u0002\u0002\u4486\u4487\u0007C\u0002\u0002", + "\u4487\u4488\u0007E\u0002\u0002\u4488\u4489\u0007M\u0002\u0002\u4489", + "\u448a\u0007C\u0002\u0002\u448a\u448b\u0007I\u0002\u0002\u448b\u448c", + "\u0007G\u0002\u0002\u448c\u0950\u0003\u0002\u0002\u0002\u448d\u448e", + "\u0007R\u0002\u0002\u448e\u448f\u0007C\u0002\u0002\u448f\u4490\u0007", + "E\u0002\u0002\u4490\u4491\u0007M\u0002\u0002\u4491\u4492\u0007C\u0002", + "\u0002\u4492\u4493\u0007I\u0002\u0002\u4493\u4494\u0007G\u0002\u0002", + "\u4494\u4495\u0007U\u0002\u0002\u4495\u0952\u0003\u0002\u0002\u0002", + "\u4496\u4497\u0007R\u0002\u0002\u4497\u4498\u0007C\u0002\u0002\u4498", + "\u4499\u0007T\u0002\u0002\u4499\u449a\u0007C\u0002\u0002\u449a\u449b", + "\u0007N\u0002\u0002\u449b\u449c\u0007N\u0002\u0002\u449c\u449d\u0007", + "G\u0002\u0002\u449d\u449e\u0007N\u0002\u0002\u449e\u449f\u0007a\u0002", + "\u0002\u449f\u44a0\u0007G\u0002\u0002\u44a0\u44a1\u0007P\u0002\u0002", + "\u44a1\u44a2\u0007C\u0002\u0002\u44a2\u44a3\u0007D\u0002\u0002\u44a3", + "\u44a4\u0007N\u0002\u0002\u44a4\u44a5\u0007G\u0002\u0002\u44a5\u0954", + "\u0003\u0002\u0002\u0002\u44a6\u44a7\u0007R\u0002\u0002\u44a7\u44a8", + "\u0007C\u0002\u0002\u44a8\u44a9\u0007T\u0002\u0002\u44a9\u44aa\u0007", + "C\u0002\u0002\u44aa\u44ab\u0007N\u0002\u0002\u44ab\u44ac\u0007N\u0002", + "\u0002\u44ac\u44ad\u0007G\u0002\u0002\u44ad\u44ae\u0007N\u0002\u0002", + "\u44ae\u44af\u0007a\u0002\u0002\u44af\u44b0\u0007K\u0002\u0002\u44b0", + "\u44b1\u0007P\u0002\u0002\u44b1\u44b2\u0007F\u0002\u0002\u44b2\u44b3", + "\u0007G\u0002\u0002\u44b3\u44b4\u0007Z\u0002\u0002\u44b4\u0956\u0003", + "\u0002\u0002\u0002\u44b5\u44b6\u0007R\u0002\u0002\u44b6\u44b7\u0007", + "C\u0002\u0002\u44b7\u44b8\u0007T\u0002\u0002\u44b8\u44b9\u0007C\u0002", + "\u0002\u44b9\u44ba\u0007N\u0002\u0002\u44ba\u44bb\u0007N\u0002\u0002", + "\u44bb\u44bc\u0007G\u0002\u0002\u44bc\u44bd\u0007N\u0002\u0002\u44bd", + "\u0958\u0003\u0002\u0002\u0002\u44be\u44bf\u0007R\u0002\u0002\u44bf", + "\u44c0\u0007C\u0002\u0002\u44c0\u44c1\u0007T\u0002\u0002\u44c1\u44c2", + "\u0007C\u0002\u0002\u44c2\u44c3\u0007O\u0002\u0002\u44c3\u44c4\u0007", + "G\u0002\u0002\u44c4\u44c5\u0007V\u0002\u0002\u44c5\u44c6\u0007G\u0002", + "\u0002\u44c6\u44c7\u0007T\u0002\u0002\u44c7\u44c8\u0007H\u0002\u0002", + "\u44c8\u44c9\u0007K\u0002\u0002\u44c9\u44ca\u0007N\u0002\u0002\u44ca", + "\u44cb\u0007G\u0002\u0002\u44cb\u095a\u0003\u0002\u0002\u0002\u44cc", + "\u44cd\u0007R\u0002\u0002\u44cd\u44ce\u0007C\u0002\u0002\u44ce\u44cf", + "\u0007T\u0002\u0002\u44cf\u44d0\u0007C\u0002\u0002\u44d0\u44d1\u0007", + "O\u0002\u0002\u44d1\u44d2\u0007G\u0002\u0002\u44d2\u44d3\u0007V\u0002", + "\u0002\u44d3\u44d4\u0007G\u0002\u0002\u44d4\u44d5\u0007T\u0002\u0002", + "\u44d5\u44d6\u0007U\u0002\u0002\u44d6\u095c\u0003\u0002\u0002\u0002", + "\u44d7\u44d8\u0007R\u0002\u0002\u44d8\u44d9\u0007C\u0002\u0002\u44d9", + "\u44da\u0007T\u0002\u0002\u44da\u44db\u0007C\u0002\u0002\u44db\u44dc", + "\u0007O\u0002\u0002\u44dc\u095e\u0003\u0002\u0002\u0002\u44dd\u44de", + "\u0007R\u0002\u0002\u44de\u44df\u0007C\u0002\u0002\u44df\u44e0\u0007", + "T\u0002\u0002\u44e0\u44e1\u0007G\u0002\u0002\u44e1\u44e2\u0007P\u0002", + "\u0002\u44e2\u44e3\u0007V\u0002\u0002\u44e3\u0960\u0003\u0002\u0002", + "\u0002\u44e4\u44e5\u0007R\u0002\u0002\u44e5\u44e6\u0007C\u0002\u0002", + "\u44e6\u44e7\u0007T\u0002\u0002\u44e7\u44e8\u0007K\u0002\u0002\u44e8", + "\u44e9\u0007V\u0002\u0002\u44e9\u44ea\u0007[\u0002\u0002\u44ea\u0962", + "\u0003\u0002\u0002\u0002\u44eb\u44ec\u0007R\u0002\u0002\u44ec\u44ed", + "\u0007C\u0002\u0002\u44ed\u44ee\u0007T\u0002\u0002\u44ee\u44ef\u0007", + "V\u0002\u0002\u44ef\u44f0\u0007K\u0002\u0002\u44f0\u44f1\u0007C\u0002", + "\u0002\u44f1\u44f2\u0007N\u0002\u0002\u44f2\u44f3\u0007a\u0002\u0002", + "\u44f3\u44f4\u0007L\u0002\u0002\u44f4\u44f5\u0007Q\u0002\u0002\u44f5", + "\u44f6\u0007K\u0002\u0002\u44f6\u44f7\u0007P\u0002\u0002\u44f7\u0964", + "\u0003\u0002\u0002\u0002\u44f8\u44f9\u0007R\u0002\u0002\u44f9\u44fa", + "\u0007C\u0002\u0002\u44fa\u44fb\u0007T\u0002\u0002\u44fb\u44fc\u0007", + "V\u0002\u0002\u44fc\u44fd\u0007K\u0002\u0002\u44fd\u44fe\u0007C\u0002", + "\u0002\u44fe\u44ff\u0007N\u0002\u0002\u44ff\u4500\u0007N\u0002\u0002", + "\u4500\u4501\u0007[\u0002\u0002\u4501\u0966\u0003\u0002\u0002\u0002", + "\u4502\u4503\u0007R\u0002\u0002\u4503\u4504\u0007C\u0002\u0002\u4504", + "\u4505\u0007T\u0002\u0002\u4505\u4506\u0007V\u0002\u0002\u4506\u4507", + "\u0007K\u0002\u0002\u4507\u4508\u0007C\u0002\u0002\u4508\u4509\u0007", + "N\u0002\u0002\u4509\u0968\u0003\u0002\u0002\u0002\u450a\u450b\u0007", + "R\u0002\u0002\u450b\u450c\u0007C\u0002\u0002\u450c\u450d\u0007T\u0002", + "\u0002\u450d\u450e\u0007V\u0002\u0002\u450e\u450f\u0007K\u0002\u0002", + "\u450f\u4510\u0007C\u0002\u0002\u4510\u4511\u0007N\u0002\u0002\u4511", + "\u4512\u0007a\u0002\u0002\u4512\u4513\u0007T\u0002\u0002\u4513\u4514", + "\u0007Q\u0002\u0002\u4514\u4515\u0007N\u0002\u0002\u4515\u4516\u0007", + "N\u0002\u0002\u4516\u4517\u0007W\u0002\u0002\u4517\u4518\u0007R\u0002", + "\u0002\u4518\u4519\u0007a\u0002\u0002\u4519\u451a\u0007R\u0002\u0002", + "\u451a\u451b\u0007W\u0002\u0002\u451b\u451c\u0007U\u0002\u0002\u451c", + "\u451d\u0007J\u0002\u0002\u451d\u451e\u0007F\u0002\u0002\u451e\u451f", + "\u0007Q\u0002\u0002\u451f\u4520\u0007Y\u0002\u0002\u4520\u4521\u0007", + "P\u0002\u0002\u4521\u096a\u0003\u0002\u0002\u0002\u4522\u4523\u0007", + "R\u0002\u0002\u4523\u4524\u0007C\u0002\u0002\u4524\u4525\u0007T\u0002", + "\u0002\u4525\u4526\u0007V\u0002\u0002\u4526\u4527\u0007K\u0002\u0002", + "\u4527\u4528\u0007V\u0002\u0002\u4528\u4529\u0007K\u0002\u0002\u4529", + "\u452a\u0007Q\u0002\u0002\u452a\u452b\u0007P\u0002\u0002\u452b\u452c", + "\u0007a\u0002\u0002\u452c\u452d\u0007J\u0002\u0002\u452d\u452e\u0007", + "C\u0002\u0002\u452e\u452f\u0007U\u0002\u0002\u452f\u4530\u0007J\u0002", + "\u0002\u4530\u096c\u0003\u0002\u0002\u0002\u4531\u4532\u0007R\u0002", + "\u0002\u4532\u4533\u0007C\u0002\u0002\u4533\u4534\u0007T\u0002\u0002", + "\u4534\u4535\u0007V\u0002\u0002\u4535\u4536\u0007K\u0002\u0002\u4536", + "\u4537\u0007V\u0002\u0002\u4537\u4538\u0007K\u0002\u0002\u4538\u4539", + "\u0007Q\u0002\u0002\u4539\u453a\u0007P\u0002\u0002\u453a\u453b\u0007", + "a\u0002\u0002\u453b\u453c\u0007N\u0002\u0002\u453c\u453d\u0007K\u0002", + "\u0002\u453d\u453e\u0007U\u0002\u0002\u453e\u453f\u0007V\u0002\u0002", + "\u453f\u096e\u0003\u0002\u0002\u0002\u4540\u4541\u0007R\u0002\u0002", + "\u4541\u4542\u0007C\u0002\u0002\u4542\u4543\u0007T\u0002\u0002\u4543", + "\u4544\u0007V\u0002\u0002\u4544\u4545\u0007K\u0002\u0002\u4545\u4546", + "\u0007V\u0002\u0002\u4546\u4547\u0007K\u0002\u0002\u4547\u4548\u0007", + "Q\u0002\u0002\u4548\u4549\u0007P\u0002\u0002\u4549\u0970\u0003\u0002", + "\u0002\u0002\u454a\u454b\u0007R\u0002\u0002\u454b\u454c\u0007C\u0002", + "\u0002\u454c\u454d\u0007T\u0002\u0002\u454d\u454e\u0007V\u0002\u0002", + "\u454e\u454f\u0007K\u0002\u0002\u454f\u4550\u0007V\u0002\u0002\u4550", + "\u4551\u0007K\u0002\u0002\u4551\u4552\u0007Q\u0002\u0002\u4552\u4553", + "\u0007P\u0002\u0002\u4553\u4554\u0007a\u0002\u0002\u4554\u4555\u0007", + "T\u0002\u0002\u4555\u4556\u0007C\u0002\u0002\u4556\u4557\u0007P\u0002", + "\u0002\u4557\u4558\u0007I\u0002\u0002\u4558\u4559\u0007G\u0002\u0002", + "\u4559\u0972\u0003\u0002\u0002\u0002\u455a\u455b\u0007R\u0002\u0002", + "\u455b\u455c\u0007C\u0002\u0002\u455c\u455d\u0007T\u0002\u0002\u455d", + "\u455e\u0007V\u0002\u0002\u455e\u455f\u0007K\u0002\u0002\u455f\u4560", + "\u0007V\u0002\u0002\u4560\u4561\u0007K\u0002\u0002\u4561\u4562\u0007", + "Q\u0002\u0002\u4562\u4563\u0007P\u0002\u0002\u4563\u4564\u0007U\u0002", + "\u0002\u4564\u0974\u0003\u0002\u0002\u0002\u4565\u4566\u0007R\u0002", + "\u0002\u4566\u4567\u0007C\u0002\u0002\u4567\u4568\u0007T\u0002\u0002", + "\u4568\u4569\u0007V\u0002\u0002\u4569\u456a\u0007&\u0002\u0002\u456a", + "\u456b\u0007P\u0002\u0002\u456b\u456c\u0007W\u0002\u0002\u456c\u456d", + "\u0007O\u0002\u0002\u456d\u456e\u0007&\u0002\u0002\u456e\u456f\u0007", + "K\u0002\u0002\u456f\u4570\u0007P\u0002\u0002\u4570\u4571\u0007U\u0002", + "\u0002\u4571\u4572\u0007V\u0002\u0002\u4572\u0976\u0003\u0002\u0002", + "\u0002\u4573\u4574\u0007R\u0002\u0002\u4574\u4575\u0007C\u0002\u0002", + "\u4575\u4576\u0007U\u0002\u0002\u4576\u4577\u0007U\u0002\u0002\u4577", + "\u4578\u0007K\u0002\u0002\u4578\u4579\u0007P\u0002\u0002\u4579\u457a", + "\u0007I\u0002\u0002\u457a\u0978\u0003\u0002\u0002\u0002\u457b\u457c", + "\u0007R\u0002\u0002\u457c\u457d\u0007C\u0002\u0002\u457d\u457e\u0007", + "U\u0002\u0002\u457e\u457f\u0007U\u0002\u0002\u457f\u4580\u0007Y\u0002", + "\u0002\u4580\u4581\u0007Q\u0002\u0002\u4581\u4582\u0007T\u0002\u0002", + "\u4582\u4583\u0007F\u0002\u0002\u4583\u4584\u0007a\u0002\u0002\u4584", + "\u4585\u0007I\u0002\u0002\u4585\u4586\u0007T\u0002\u0002\u4586\u4587", + "\u0007C\u0002\u0002\u4587\u4588\u0007E\u0002\u0002\u4588\u4589\u0007", + "G\u0002\u0002\u4589\u458a\u0007a\u0002\u0002\u458a\u458b\u0007V\u0002", + "\u0002\u458b\u458c\u0007K\u0002\u0002\u458c\u458d\u0007O\u0002\u0002", + "\u458d\u458e\u0007G\u0002\u0002\u458e\u097a\u0003\u0002\u0002\u0002", + "\u458f\u4590\u0007R\u0002\u0002\u4590\u4591\u0007C\u0002\u0002\u4591", + "\u4592\u0007U\u0002\u0002\u4592\u4593\u0007U\u0002\u0002\u4593\u4594", + "\u0007Y\u0002\u0002\u4594\u4595\u0007Q\u0002\u0002\u4595\u4596\u0007", + "T\u0002\u0002\u4596\u4597\u0007F\u0002\u0002\u4597\u4598\u0007a\u0002", + "\u0002\u4598\u4599\u0007N\u0002\u0002\u4599\u459a\u0007K\u0002\u0002", + "\u459a\u459b\u0007H\u0002\u0002\u459b\u459c\u0007G\u0002\u0002\u459c", + "\u459d\u0007a\u0002\u0002\u459d\u459e\u0007V\u0002\u0002\u459e\u459f", + "\u0007K\u0002\u0002\u459f\u45a0\u0007O\u0002\u0002\u45a0\u45a1\u0007", + "G\u0002\u0002\u45a1\u097c\u0003\u0002\u0002\u0002\u45a2\u45a3\u0007", + "R\u0002\u0002\u45a3\u45a4\u0007C\u0002\u0002\u45a4\u45a5\u0007U\u0002", + "\u0002\u45a5\u45a6\u0007U\u0002\u0002\u45a6\u45a7\u0007Y\u0002\u0002", + "\u45a7\u45a8\u0007Q\u0002\u0002\u45a8\u45a9\u0007T\u0002\u0002\u45a9", + "\u45aa\u0007F\u0002\u0002\u45aa\u45ab\u0007a\u0002\u0002\u45ab\u45ac", + "\u0007N\u0002\u0002\u45ac\u45ad\u0007Q\u0002\u0002\u45ad\u45ae\u0007", + "E\u0002\u0002\u45ae\u45af\u0007M\u0002\u0002\u45af\u45b0\u0007a\u0002", + "\u0002\u45b0\u45b1\u0007V\u0002\u0002\u45b1\u45b2\u0007K\u0002\u0002", + "\u45b2\u45b3\u0007O\u0002\u0002\u45b3\u45b4\u0007G\u0002\u0002\u45b4", + "\u097e\u0003\u0002\u0002\u0002\u45b5\u45b6\u0007R\u0002\u0002\u45b6", + "\u45b7\u0007C\u0002\u0002\u45b7\u45b8\u0007U\u0002\u0002\u45b8\u45b9", + "\u0007U\u0002\u0002\u45b9\u45ba\u0007Y\u0002\u0002\u45ba\u45bb\u0007", + "Q\u0002\u0002\u45bb\u45bc\u0007T\u0002\u0002\u45bc\u45bd\u0007F\u0002", + "\u0002\u45bd\u0980\u0003\u0002\u0002\u0002\u45be\u45bf\u0007R\u0002", + "\u0002\u45bf\u45c0\u0007C\u0002\u0002\u45c0\u45c1\u0007U\u0002\u0002", + "\u45c1\u45c2\u0007U\u0002\u0002\u45c2\u45c3\u0007Y\u0002\u0002\u45c3", + "\u45c4\u0007Q\u0002\u0002\u45c4\u45c5\u0007T\u0002\u0002\u45c5\u45c6", + "\u0007F\u0002\u0002\u45c6\u45c7\u0007a\u0002\u0002\u45c7\u45c8\u0007", + "T\u0002\u0002\u45c8\u45c9\u0007G\u0002\u0002\u45c9\u45ca\u0007W\u0002", + "\u0002\u45ca\u45cb\u0007U\u0002\u0002\u45cb\u45cc\u0007G\u0002\u0002", + "\u45cc\u45cd\u0007a\u0002\u0002\u45cd\u45ce\u0007O\u0002\u0002\u45ce", + "\u45cf\u0007C\u0002\u0002\u45cf\u45d0\u0007Z\u0002\u0002\u45d0\u0982", + "\u0003\u0002\u0002\u0002\u45d1\u45d2\u0007R\u0002\u0002\u45d2\u45d3", + "\u0007C\u0002\u0002\u45d3\u45d4\u0007U\u0002\u0002\u45d4\u45d5\u0007", + "U\u0002\u0002\u45d5\u45d6\u0007Y\u0002\u0002\u45d6\u45d7\u0007Q\u0002", + "\u0002\u45d7\u45d8\u0007T\u0002\u0002\u45d8\u45d9\u0007F\u0002\u0002", + "\u45d9\u45da\u0007a\u0002\u0002\u45da\u45db\u0007T\u0002\u0002\u45db", + "\u45dc\u0007G\u0002\u0002\u45dc\u45dd\u0007W\u0002\u0002\u45dd\u45de", + "\u0007U\u0002\u0002\u45de\u45df\u0007G\u0002\u0002\u45df\u45e0\u0007", + "a\u0002\u0002\u45e0\u45e1\u0007V\u0002\u0002\u45e1\u45e2\u0007K\u0002", + "\u0002\u45e2\u45e3\u0007O\u0002\u0002\u45e3\u45e4\u0007G\u0002\u0002", + "\u45e4\u0984\u0003\u0002\u0002\u0002\u45e5\u45e6\u0007R\u0002\u0002", + "\u45e6\u45e7\u0007C\u0002\u0002\u45e7\u45e8\u0007U\u0002\u0002\u45e8", + "\u45e9\u0007U\u0002\u0002\u45e9\u45ea\u0007Y\u0002\u0002\u45ea\u45eb", + "\u0007Q\u0002\u0002\u45eb\u45ec\u0007T\u0002\u0002\u45ec\u45ed\u0007", + "F\u0002\u0002\u45ed\u45ee\u0007a\u0002\u0002\u45ee\u45ef\u0007X\u0002", + "\u0002\u45ef\u45f0\u0007G\u0002\u0002\u45f0\u45f1\u0007T\u0002\u0002", + "\u45f1\u45f2\u0007K\u0002\u0002\u45f2\u45f3\u0007H\u0002\u0002\u45f3", + "\u45f4\u0007[\u0002\u0002\u45f4\u45f5\u0007a\u0002\u0002\u45f5\u45f6", + "\u0007H\u0002\u0002\u45f6\u45f7\u0007W\u0002\u0002\u45f7\u45f8\u0007", + "P\u0002\u0002\u45f8\u45f9\u0007E\u0002\u0002\u45f9\u45fa\u0007V\u0002", + "\u0002\u45fa\u45fb\u0007K\u0002\u0002\u45fb\u45fc\u0007Q\u0002\u0002", + "\u45fc\u45fd\u0007P\u0002\u0002\u45fd\u0986\u0003\u0002\u0002\u0002", + "\u45fe\u45ff\u0007R\u0002\u0002\u45ff\u4600\u0007C\u0002\u0002\u4600", + "\u4601\u0007U\u0002\u0002\u4601\u4602\u0007V\u0002\u0002\u4602\u0988", + "\u0003\u0002\u0002\u0002\u4603\u4604\u0007R\u0002\u0002\u4604\u4605", + "\u0007C\u0002\u0002\u4605\u4606\u0007V\u0002\u0002\u4606\u4607\u0007", + "E\u0002\u0002\u4607\u4608\u0007J\u0002\u0002\u4608\u098a\u0003\u0002", + "\u0002\u0002\u4609\u460a\u0007R\u0002\u0002\u460a\u460b\u0007C\u0002", + "\u0002\u460b\u460c\u0007V\u0002\u0002\u460c\u460d\u0007J\u0002\u0002", + "\u460d\u098c\u0003\u0002\u0002\u0002\u460e\u460f\u0007R\u0002\u0002", + "\u460f\u4610\u0007C\u0002\u0002\u4610\u4611\u0007V\u0002\u0002\u4611", + "\u4612\u0007J\u0002\u0002\u4612\u4613\u0007a\u0002\u0002\u4613\u4614", + "\u0007R\u0002\u0002\u4614\u4615\u0007T\u0002\u0002\u4615\u4616\u0007", + "G\u0002\u0002\u4616\u4617\u0007H\u0002\u0002\u4617\u4618\u0007K\u0002", + "\u0002\u4618\u4619\u0007Z\u0002\u0002\u4619\u098e\u0003\u0002\u0002", + "\u0002\u461a\u461b\u0007R\u0002\u0002\u461b\u461c\u0007C\u0002\u0002", + "\u461c\u461d\u0007V\u0002\u0002\u461d\u461e\u0007J\u0002\u0002\u461e", + "\u461f\u0007U\u0002\u0002\u461f\u0990\u0003\u0002\u0002\u0002\u4620", + "\u4621\u0007R\u0002\u0002\u4621\u4622\u0007C\u0002\u0002\u4622\u4623", + "\u0007V\u0002\u0002\u4623\u4624\u0007V\u0002\u0002\u4624\u4625\u0007", + "G\u0002\u0002\u4625\u4626\u0007T\u0002\u0002\u4626\u4627\u0007P\u0002", + "\u0002\u4627\u0992\u0003\u0002\u0002\u0002\u4628\u4629\u0007R\u0002", + "\u0002\u4629\u462a\u0007D\u0002\u0002\u462a\u462b\u0007N\u0002\u0002", + "\u462b\u462c\u0007a\u0002\u0002\u462c\u462d\u0007J\u0002\u0002\u462d", + "\u462e\u0007U\u0002\u0002\u462e\u462f\u0007a\u0002\u0002\u462f\u4630", + "\u0007D\u0002\u0002\u4630\u4631\u0007G\u0002\u0002\u4631\u4632\u0007", + "I\u0002\u0002\u4632\u4633\u0007K\u0002\u0002\u4633\u4634\u0007P\u0002", + "\u0002\u4634\u0994\u0003\u0002\u0002\u0002\u4635\u4636\u0007R\u0002", + "\u0002\u4636\u4637\u0007D\u0002\u0002\u4637\u4638\u0007N\u0002\u0002", + "\u4638\u4639\u0007a\u0002\u0002\u4639\u463a\u0007J\u0002\u0002\u463a", + "\u463b\u0007U\u0002\u0002\u463b\u463c\u0007a\u0002\u0002\u463c\u463d", + "\u0007G\u0002\u0002\u463d\u463e\u0007P\u0002\u0002\u463e\u463f\u0007", + "F\u0002\u0002\u463f\u0996\u0003\u0002\u0002\u0002\u4640\u4641\u0007", + "R\u0002\u0002\u4641\u4642\u0007E\u0002\u0002\u4642\u4643\u0007V\u0002", + "\u0002\u4643\u4644\u0007H\u0002\u0002\u4644\u4645\u0007T\u0002\u0002", + "\u4645\u4646\u0007G\u0002\u0002\u4646\u4647\u0007G\u0002\u0002\u4647", + "\u0998\u0003\u0002\u0002\u0002\u4648\u4649\u0007R\u0002\u0002\u4649", + "\u464a\u0007E\u0002\u0002\u464a\u464b\u0007V\u0002\u0002\u464b\u464c", + "\u0007K\u0002\u0002\u464c\u464d\u0007P\u0002\u0002\u464d\u464e\u0007", + "E\u0002\u0002\u464e\u464f\u0007T\u0002\u0002\u464f\u4650\u0007G\u0002", + "\u0002\u4650\u4651\u0007C\u0002\u0002\u4651\u4652\u0007U\u0002\u0002", + "\u4652\u4653\u0007G\u0002\u0002\u4653\u099a\u0003\u0002\u0002\u0002", + "\u4654\u4655\u0007R\u0002\u0002\u4655\u4656\u0007E\u0002\u0002\u4656", + "\u4657\u0007V\u0002\u0002\u4657\u4658\u0007V\u0002\u0002\u4658\u4659", + "\u0007J\u0002\u0002\u4659\u465a\u0007T\u0002\u0002\u465a\u465b\u0007", + "G\u0002\u0002\u465b\u465c\u0007U\u0002\u0002\u465c\u465d\u0007J\u0002", + "\u0002\u465d\u465e\u0007Q\u0002\u0002\u465e\u465f\u0007N\u0002\u0002", + "\u465f\u4660\u0007F\u0002\u0002\u4660\u099c\u0003\u0002\u0002\u0002", + "\u4661\u4662\u0007R\u0002\u0002\u4662\u4663\u0007E\u0002\u0002\u4663", + "\u4664\u0007V\u0002\u0002\u4664\u4665\u0007W\u0002\u0002\u4665\u4666", + "\u0007U\u0002\u0002\u4666\u4667\u0007G\u0002\u0002\u4667\u4668\u0007", + "F\u0002\u0002\u4668\u099e\u0003\u0002\u0002\u0002\u4669\u466a\u0007", + "R\u0002\u0002\u466a\u466b\u0007E\u0002\u0002\u466b\u466c\u0007V\u0002", + "\u0002\u466c\u466d\u0007X\u0002\u0002\u466d\u466e\u0007G\u0002\u0002", + "\u466e\u466f\u0007T\u0002\u0002\u466f\u4670\u0007U\u0002\u0002\u4670", + "\u4671\u0007K\u0002\u0002\u4671\u4672\u0007Q\u0002\u0002\u4672\u4673", + "\u0007P\u0002\u0002\u4673\u09a0\u0003\u0002\u0002\u0002\u4674\u4675", + "\u0007R\u0002\u0002\u4675\u4676\u0007G\u0002\u0002\u4676\u4677\u0007", + "P\u0002\u0002\u4677\u4678\u0007F\u0002\u0002\u4678\u4679\u0007K\u0002", + "\u0002\u4679\u467a\u0007P\u0002\u0002\u467a\u467b\u0007I\u0002\u0002", + "\u467b\u09a2\u0003\u0002\u0002\u0002\u467c\u4680\u0007\'\u0002\u0002", + "\u467d\u467f\u0005\u11b9\u08dd\u0002\u467e\u467d\u0003\u0002\u0002\u0002", + "\u467f\u4682\u0003\u0002\u0002\u0002\u4680\u467e\u0003\u0002\u0002\u0002", + "\u4680\u4681\u0003\u0002\u0002\u0002\u4681\u4683\u0003\u0002\u0002\u0002", + "\u4682\u4680\u0003\u0002\u0002\u0002\u4683\u4684\u0007H\u0002\u0002", + "\u4684\u4685\u0007Q\u0002\u0002\u4685\u4686\u0007W\u0002\u0002\u4686", + "\u4687\u0007P\u0002\u0002\u4687\u4688\u0007F\u0002\u0002\u4688\u09a4", + "\u0003\u0002\u0002\u0002\u4689\u468d\u0007\'\u0002\u0002\u468a\u468c", + "\u0005\u11b9\u08dd\u0002\u468b\u468a\u0003\u0002\u0002\u0002\u468c\u468f", + "\u0003\u0002\u0002\u0002\u468d\u468b\u0003\u0002\u0002\u0002\u468d\u468e", + "\u0003\u0002\u0002\u0002\u468e\u4690\u0003\u0002\u0002\u0002\u468f\u468d", + "\u0003\u0002\u0002\u0002\u4690\u4691\u0007K\u0002\u0002\u4691\u4692", + "\u0007U\u0002\u0002\u4692\u4693\u0007Q\u0002\u0002\u4693\u4694\u0007", + "R\u0002\u0002\u4694\u4695\u0007G\u0002\u0002\u4695\u4696\u0007P\u0002", + "\u0002\u4696\u09a6\u0003\u0002\u0002\u0002\u4697\u469b\u0007\'\u0002", + "\u0002\u4698\u469a\u0005\u11b9\u08dd\u0002\u4699\u4698\u0003\u0002\u0002", + "\u0002\u469a\u469d\u0003\u0002\u0002\u0002\u469b\u4699\u0003\u0002\u0002", + "\u0002\u469b\u469c\u0003\u0002\u0002\u0002\u469c\u469e\u0003\u0002\u0002", + "\u0002\u469d\u469b\u0003\u0002\u0002\u0002\u469e\u469f\u0007P\u0002", + "\u0002\u469f\u46a0\u0007Q\u0002\u0002\u46a0\u46a1\u0007V\u0002\u0002", + "\u46a1\u46a2\u0007H\u0002\u0002\u46a2\u46a3\u0007Q\u0002\u0002\u46a3", + "\u46a4\u0007W\u0002\u0002\u46a4\u46a5\u0007P\u0002\u0002\u46a5\u46a6", + "\u0007F\u0002\u0002\u46a6\u09a8\u0003\u0002\u0002\u0002\u46a7\u46a8", + "\u0007R\u0002\u0002\u46a8\u46a9\u0007G\u0002\u0002\u46a9\u46aa\u0007", + "T\u0002\u0002\u46aa\u46ab\u0007E\u0002\u0002\u46ab\u46ac\u0007G\u0002", + "\u0002\u46ac\u46ad\u0007P\u0002\u0002\u46ad\u46ae\u0007V\u0002\u0002", + "\u46ae\u09aa\u0003\u0002\u0002\u0002\u46af\u46b0\u0007R\u0002\u0002", + "\u46b0\u46b1\u0007G\u0002\u0002\u46b1\u46b2\u0007T\u0002\u0002\u46b2", + "\u46b3\u0007E\u0002\u0002\u46b3\u46b4\u0007G\u0002\u0002\u46b4\u46b5", + "\u0007P\u0002\u0002\u46b5\u46b6\u0007V\u0002\u0002\u46b6\u46b7\u0007", + "a\u0002\u0002\u46b7\u46b8\u0007T\u0002\u0002\u46b8\u46b9\u0007C\u0002", + "\u0002\u46b9\u46ba\u0007P\u0002\u0002\u46ba\u46bb\u0007M\u0002\u0002", + "\u46bb\u46bc\u0007O\u0002\u0002\u46bc\u09ac\u0003\u0002\u0002\u0002", + "\u46bd\u46c1\u0007\'\u0002\u0002\u46be\u46c0\u0005\u11b9\u08dd\u0002", + "\u46bf\u46be\u0003\u0002\u0002\u0002\u46c0\u46c3\u0003\u0002\u0002\u0002", + "\u46c1\u46bf\u0003\u0002\u0002\u0002\u46c1\u46c2\u0003\u0002\u0002\u0002", + "\u46c2\u46c4\u0003\u0002\u0002\u0002\u46c3\u46c1\u0003\u0002\u0002\u0002", + "\u46c4\u46c5\u0007T\u0002\u0002\u46c5\u46c6\u0007Q\u0002\u0002\u46c6", + "\u46c7\u0007Y\u0002\u0002\u46c7\u46c8\u0007E\u0002\u0002\u46c8\u46c9", + "\u0007Q\u0002\u0002\u46c9\u46ca\u0007W\u0002\u0002\u46ca\u46cb\u0007", + "P\u0002\u0002\u46cb\u46cc\u0007V\u0002\u0002\u46cc\u09ae\u0003\u0002", + "\u0002\u0002\u46cd\u46d1\u0007\'\u0002\u0002\u46ce\u46d0\u0005\u11b9", + "\u08dd\u0002\u46cf\u46ce\u0003\u0002\u0002\u0002\u46d0\u46d3\u0003\u0002", + "\u0002\u0002\u46d1\u46cf\u0003\u0002\u0002\u0002\u46d1\u46d2\u0003\u0002", + "\u0002\u0002\u46d2\u46d4\u0003\u0002\u0002\u0002\u46d3\u46d1\u0003\u0002", + "\u0002\u0002\u46d4\u46d5\u0007T\u0002\u0002\u46d5\u46d6\u0007Q\u0002", + "\u0002\u46d6\u46d7\u0007Y\u0002\u0002\u46d7\u46d8\u0007V\u0002\u0002", + "\u46d8\u46d9\u0007[\u0002\u0002\u46d9\u46da\u0007R\u0002\u0002\u46da", + "\u46db\u0007G\u0002\u0002\u46db\u09b0\u0003\u0002\u0002\u0002\u46dc", + "\u46e0\u0007\'\u0002\u0002\u46dd\u46df\u0005\u11b9\u08dd\u0002\u46de", + "\u46dd\u0003\u0002\u0002\u0002\u46df\u46e2\u0003\u0002\u0002\u0002\u46e0", + "\u46de\u0003\u0002\u0002\u0002\u46e0\u46e1\u0003\u0002\u0002\u0002\u46e1", + "\u46e3\u0003\u0002\u0002\u0002\u46e2\u46e0\u0003\u0002\u0002\u0002\u46e3", + "\u46e4\u0007V\u0002\u0002\u46e4\u46e5\u0007[\u0002\u0002\u46e5\u46e6", + "\u0007R\u0002\u0002\u46e6\u46e7\u0007G\u0002\u0002\u46e7\u09b2\u0003", + "\u0002\u0002\u0002\u46e8\u46e9\u0007R\u0002\u0002\u46e9\u46ea\u0007", + "G\u0002\u0002\u46ea\u46eb\u0007T\u0002\u0002\u46eb\u46ec\u0007H\u0002", + "\u0002\u46ec\u46ed\u0007Q\u0002\u0002\u46ed\u46ee\u0007T\u0002\u0002", + "\u46ee\u46ef\u0007O\u0002\u0002\u46ef\u46f0\u0007C\u0002\u0002\u46f0", + "\u46f1\u0007P\u0002\u0002\u46f1\u46f2\u0007E\u0002\u0002\u46f2\u46f3", + "\u0007G\u0002\u0002\u46f3\u09b4\u0003\u0002\u0002\u0002\u46f4\u46f5", + "\u0007R\u0002\u0002\u46f5\u46f6\u0007G\u0002\u0002\u46f6\u46f7\u0007", + "T\u0002\u0002\u46f7\u46f8\u0007K\u0002\u0002\u46f8\u46f9\u0007Q\u0002", + "\u0002\u46f9\u46fa\u0007F\u0002\u0002\u46fa\u09b6\u0003\u0002\u0002", + "\u0002\u46fb\u46fc\u0007R\u0002\u0002\u46fc\u46fd\u0007G\u0002\u0002", + "\u46fd\u46fe\u0007T\u0002\u0002\u46fe\u46ff\u0007O\u0002\u0002\u46ff", + "\u4700\u0007C\u0002\u0002\u4700\u4701\u0007P\u0002\u0002\u4701\u4702", + "\u0007G\u0002\u0002\u4702\u4703\u0007P\u0002\u0002\u4703\u4704\u0007", + "V\u0002\u0002\u4704\u09b8\u0003\u0002\u0002\u0002\u4705\u4706\u0007", + "R\u0002\u0002\u4706\u4707\u0007G\u0002\u0002\u4707\u4708\u0007T\u0002", + "\u0002\u4708\u4709\u0007O\u0002\u0002\u4709\u470a\u0007K\u0002\u0002", + "\u470a\u470b\u0007U\u0002\u0002\u470b\u470c\u0007U\u0002\u0002\u470c", + "\u470d\u0007K\u0002\u0002\u470d\u470e\u0007Q\u0002\u0002\u470e\u470f", + "\u0007P\u0002\u0002\u470f\u09ba\u0003\u0002\u0002\u0002\u4710\u4711", + "\u0007R\u0002\u0002\u4711\u4712\u0007G\u0002\u0002\u4712\u4713\u0007", + "T\u0002\u0002\u4713\u4714\u0007O\u0002\u0002\u4714\u4715\u0007W\u0002", + "\u0002\u4715\u4716\u0007V\u0002\u0002\u4716\u4717\u0007G\u0002\u0002", + "\u4717\u09bc\u0003\u0002\u0002\u0002\u4718\u4719\u0007R\u0002\u0002", + "\u4719\u471a\u0007G\u0002\u0002\u471a\u471b\u0007T\u0002\u0002\u471b", + "\u09be\u0003\u0002\u0002\u0002\u471c\u471d\u0007R\u0002\u0002\u471d", + "\u471e\u0007H\u0002\u0002\u471e\u471f\u0007K\u0002\u0002\u471f\u4720", + "\u0007N\u0002\u0002\u4720\u4721\u0007G\u0002\u0002\u4721\u09c0\u0003", + "\u0002\u0002\u0002\u4722\u4723\u0007R\u0002\u0002\u4723\u4724\u0007", + "J\u0002\u0002\u4724\u4725\u0007[\u0002\u0002\u4725\u4726\u0007U\u0002", + "\u0002\u4726\u4727\u0007K\u0002\u0002\u4727\u4728\u0007E\u0002\u0002", + "\u4728\u4729\u0007C\u0002\u0002\u4729\u472a\u0007N\u0002\u0002\u472a", + "\u09c2\u0003\u0002\u0002\u0002\u472b\u472c\u0007R\u0002\u0002\u472c", + "\u472d\u0007K\u0002\u0002\u472d\u472e\u0007M\u0002\u0002\u472e\u472f", + "\u0007G\u0002\u0002\u472f\u4730\u0007[\u0002\u0002\u4730\u09c4\u0003", + "\u0002\u0002\u0002\u4731\u4732\u0007R\u0002\u0002\u4732\u4733\u0007", + "K\u0002\u0002\u4733\u4734\u0007R\u0002\u0002\u4734\u4735\u0007G\u0002", + "\u0002\u4735\u4736\u0007N\u0002\u0002\u4736\u4737\u0007K\u0002\u0002", + "\u4737\u4738\u0007P\u0002\u0002\u4738\u4739\u0007G\u0002\u0002\u4739", + "\u473a\u0007F\u0002\u0002\u473a\u09c6\u0003\u0002\u0002\u0002\u473b", + "\u473c\u0007R\u0002\u0002\u473c\u473d\u0007K\u0002\u0002\u473d\u473e", + "\u0007R\u0002\u0002\u473e\u473f\u0007G\u0002\u0002\u473f\u09c8\u0003", + "\u0002\u0002\u0002\u4740\u4741\u0007R\u0002\u0002\u4741\u4742\u0007", + "K\u0002\u0002\u4742\u4743\u0007X\u0002\u0002\u4743\u4744\u0007a\u0002", + "\u0002\u4744\u4745\u0007I\u0002\u0002\u4745\u4746\u0007D\u0002\u0002", + "\u4746\u09ca\u0003\u0002\u0002\u0002\u4747\u4748\u0007R\u0002\u0002", + "\u4748\u4749\u0007K\u0002\u0002\u4749\u474a\u0007X\u0002\u0002\u474a", + "\u474b\u0007Q\u0002\u0002\u474b\u474c\u0007V\u0002\u0002\u474c\u09cc", + "\u0003\u0002\u0002\u0002\u474d\u474e\u0007R\u0002\u0002\u474e\u474f", + "\u0007K\u0002\u0002\u474f\u4750\u0007X\u0002\u0002\u4750\u4751\u0007", + "a\u0002\u0002\u4751\u4752\u0007U\u0002\u0002\u4752\u4753\u0007U\u0002", + "\u0002\u4753\u4754\u0007H\u0002\u0002\u4754\u09ce\u0003\u0002\u0002", + "\u0002\u4755\u4756\u0007R\u0002\u0002\u4756\u4757\u0007N\u0002\u0002", + "\u4757\u4758\u0007C\u0002\u0002\u4758\u4759\u0007E\u0002\u0002\u4759", + "\u475a\u0007G\u0002\u0002\u475a\u475b\u0007a\u0002\u0002\u475b\u475c", + "\u0007F\u0002\u0002\u475c\u475d\u0007K\u0002\u0002\u475d\u475e\u0007", + "U\u0002\u0002\u475e\u475f\u0007V\u0002\u0002\u475f\u4760\u0007K\u0002", + "\u0002\u4760\u4761\u0007P\u0002\u0002\u4761\u4762\u0007E\u0002\u0002", + "\u4762\u4763\u0007V\u0002\u0002\u4763\u09d0\u0003\u0002\u0002\u0002", + "\u4764\u4765\u0007R\u0002\u0002\u4765\u4766\u0007N\u0002\u0002\u4766", + "\u4767\u0007C\u0002\u0002\u4767\u4768\u0007E\u0002\u0002\u4768\u4769", + "\u0007G\u0002\u0002\u4769\u476a\u0007a\u0002\u0002\u476a\u476b\u0007", + "I\u0002\u0002\u476b\u476c\u0007T\u0002\u0002\u476c\u476d\u0007Q\u0002", + "\u0002\u476d\u476e\u0007W\u0002\u0002\u476e\u476f\u0007R\u0002\u0002", + "\u476f\u4770\u0007a\u0002\u0002\u4770\u4771\u0007D\u0002\u0002\u4771", + "\u4772\u0007[\u0002\u0002\u4772\u09d2\u0003\u0002\u0002\u0002\u4773", + "\u4774\u0007R\u0002\u0002\u4774\u4775\u0007N\u0002\u0002\u4775\u4776", + "\u0007C\u0002\u0002\u4776\u4777\u0007P\u0002\u0002\u4777\u09d4\u0003", + "\u0002\u0002\u0002\u4778\u4779\u0007R\u0002\u0002\u4779\u477a\u0007", + "N\u0002\u0002\u477a\u477b\u0007U\u0002\u0002\u477b\u477c\u0007E\u0002", + "\u0002\u477c\u477d\u0007Q\u0002\u0002\u477d\u477e\u0007R\u0002\u0002", + "\u477e\u477f\u0007G\u0002\u0002\u477f\u4780\u0007a\u0002\u0002\u4780", + "\u4781\u0007U\u0002\u0002\u4781\u4782\u0007G\u0002\u0002\u4782\u4783", + "\u0007V\u0002\u0002\u4783\u4784\u0007V\u0002\u0002\u4784\u4785\u0007", + "K\u0002\u0002\u4785\u4786\u0007P\u0002\u0002\u4786\u4787\u0007I\u0002", + "\u0002\u4787\u4788\u0007U\u0002\u0002\u4788\u09d6\u0003\u0002\u0002", + "\u0002\u4789\u478a\u0007R\u0002\u0002\u478a\u478b\u0007N\u0002\u0002", + "\u478b\u478c\u0007U\u0002\u0002\u478c\u478d\u0007a\u0002\u0002\u478d", + "\u478e\u0007K\u0002\u0002\u478e\u478f\u0007P\u0002\u0002\u478f\u4790", + "\u0007V\u0002\u0002\u4790\u4791\u0007G\u0002\u0002\u4791\u4792\u0007", + "I\u0002\u0002\u4792\u4793\u0007G\u0002\u0002\u4793\u4794\u0007T\u0002", + "\u0002\u4794\u09d8\u0003\u0002\u0002\u0002\u4795\u4796\u0007R\u0002", + "\u0002\u4796\u4797\u0007N\u0002\u0002\u4797\u4798\u0007U\u0002\u0002", + "\u4798\u4799\u0007S\u0002\u0002\u4799\u479a\u0007N\u0002\u0002\u479a", + "\u479b\u0007a\u0002\u0002\u479b\u479c\u0007E\u0002\u0002\u479c\u479d", + "\u0007E\u0002\u0002\u479d\u479e\u0007H\u0002\u0002\u479e\u479f\u0007", + "N\u0002\u0002\u479f\u47a0\u0007C\u0002\u0002\u47a0\u47a1\u0007I\u0002", + "\u0002\u47a1\u47a2\u0007U\u0002\u0002\u47a2\u09da\u0003\u0002\u0002", + "\u0002\u47a3\u47a4\u0007R\u0002\u0002\u47a4\u47a5\u0007N\u0002\u0002", + "\u47a5\u47a6\u0007U\u0002\u0002\u47a6\u47a7\u0007S\u0002\u0002\u47a7", + "\u47a8\u0007N\u0002\u0002\u47a8\u47a9\u0007a\u0002\u0002\u47a9\u47aa", + "\u0007E\u0002\u0002\u47aa\u47ab\u0007Q\u0002\u0002\u47ab\u47ac\u0007", + "F\u0002\u0002\u47ac\u47ad\u0007G\u0002\u0002\u47ad\u47ae\u0007a\u0002", + "\u0002\u47ae\u47af\u0007V\u0002\u0002\u47af\u47b0\u0007[\u0002\u0002", + "\u47b0\u47b1\u0007R\u0002\u0002\u47b1\u47b2\u0007G\u0002\u0002\u47b2", + "\u09dc\u0003\u0002\u0002\u0002\u47b3\u47b4\u0007R\u0002\u0002\u47b4", + "\u47b5\u0007N\u0002\u0002\u47b5\u47b6\u0007U\u0002\u0002\u47b6\u47b7", + "\u0007S\u0002\u0002\u47b7\u47b8\u0007N\u0002\u0002\u47b8\u47b9\u0007", + "a\u0002\u0002\u47b9\u47ba\u0007F\u0002\u0002\u47ba\u47bb\u0007G\u0002", + "\u0002\u47bb\u47bc\u0007D\u0002\u0002\u47bc\u47bd\u0007W\u0002\u0002", + "\u47bd\u47be\u0007I\u0002\u0002\u47be\u09de\u0003\u0002\u0002\u0002", + "\u47bf\u47c0\u0007R\u0002\u0002\u47c0\u47c1\u0007N\u0002\u0002\u47c1", + "\u47c2\u0007U\u0002\u0002\u47c2\u47c3\u0007S\u0002\u0002\u47c3\u47c4", + "\u0007N\u0002\u0002\u47c4\u47c5\u0007a\u0002\u0002\u47c5\u47c6\u0007", + "Q\u0002\u0002\u47c6\u47c7\u0007R\u0002\u0002\u47c7\u47c8\u0007V\u0002", + "\u0002\u47c8\u47c9\u0007K\u0002\u0002\u47c9\u47ca\u0007O\u0002\u0002", + "\u47ca\u47cb\u0007K\u0002\u0002\u47cb\u47cc\u0007\\\u0002\u0002\u47cc", + "\u47cd\u0007G\u0002\u0002\u47cd\u47ce\u0007a\u0002\u0002\u47ce\u47cf", + "\u0007N\u0002\u0002\u47cf\u47d0\u0007G\u0002\u0002\u47d0\u47d1\u0007", + "X\u0002\u0002\u47d1\u47d2\u0007G\u0002\u0002\u47d2\u47d3\u0007N\u0002", + "\u0002\u47d3\u09e0\u0003\u0002\u0002\u0002\u47d4\u47d5\u0007R\u0002", + "\u0002\u47d5\u47d6\u0007N\u0002\u0002\u47d6\u47d7\u0007U\u0002\u0002", + "\u47d7\u47d8\u0007S\u0002\u0002\u47d8\u47d9\u0007N\u0002\u0002\u47d9", + "\u47da\u0007a\u0002\u0002\u47da\u47db\u0007Y\u0002\u0002\u47db\u47dc", + "\u0007C\u0002\u0002\u47dc\u47dd\u0007T\u0002\u0002\u47dd\u47de\u0007", + "P\u0002\u0002\u47de\u47df\u0007K\u0002\u0002\u47df\u47e0\u0007P\u0002", + "\u0002\u47e0\u47e1\u0007I\u0002\u0002\u47e1\u47e2\u0007U\u0002\u0002", + "\u47e2\u09e2\u0003\u0002\u0002\u0002\u47e3\u47e4\u0007R\u0002\u0002", + "\u47e4\u47e5\u0007N\u0002\u0002\u47e5\u47e6\u0007W\u0002\u0002\u47e6", + "\u47e7\u0007I\u0002\u0002\u47e7\u47e8\u0007I\u0002\u0002\u47e8\u47e9", + "\u0007C\u0002\u0002\u47e9\u47ea\u0007D\u0002\u0002\u47ea\u47eb\u0007", + "N\u0002\u0002\u47eb\u47ec\u0007G\u0002\u0002\u47ec\u09e4\u0003\u0002", + "\u0002\u0002\u47ed\u47ee\u0007R\u0002\u0002\u47ee\u47ef\u0007Q\u0002", + "\u0002\u47ef\u47f0\u0007K\u0002\u0002\u47f0\u47f1\u0007P\u0002\u0002", + "\u47f1\u47f2\u0007V\u0002\u0002\u47f2\u09e6\u0003\u0002\u0002\u0002", + "\u47f3\u47f4\u0007R\u0002\u0002\u47f4\u47f5\u0007Q\u0002\u0002\u47f5", + "\u47f6\u0007N\u0002\u0002\u47f6\u47f7\u0007K\u0002\u0002\u47f7\u47f8", + "\u0007E\u0002\u0002\u47f8\u47f9\u0007[\u0002\u0002\u47f9\u09e8\u0003", + "\u0002\u0002\u0002\u47fa\u47fb\u0007R\u0002\u0002\u47fb\u47fc\u0007", + "Q\u0002\u0002\u47fc\u47fd\u0007Q\u0002\u0002\u47fd\u47fe\u0007N\u0002", + "\u0002\u47fe\u47ff\u0007a\u0002\u0002\u47ff\u4800\u00073\u0002\u0002", + "\u4800\u4801\u00078\u0002\u0002\u4801\u4802\u0007M\u0002\u0002\u4802", + "\u09ea\u0003\u0002\u0002\u0002\u4803\u4804\u0007R\u0002\u0002\u4804", + "\u4805\u0007Q\u0002\u0002\u4805\u4806\u0007Q\u0002\u0002\u4806\u4807", + "\u0007N\u0002\u0002\u4807\u4808\u0007a\u0002\u0002\u4808\u4809\u0007", + "4\u0002\u0002\u4809\u480a\u0007M\u0002\u0002\u480a\u09ec\u0003\u0002", + "\u0002\u0002\u480b\u480c\u0007R\u0002\u0002\u480c\u480d\u0007Q\u0002", + "\u0002\u480d\u480e\u0007Q\u0002\u0002\u480e\u480f\u0007N\u0002\u0002", + "\u480f\u4810\u0007a\u0002\u0002\u4810\u4811\u00075\u0002\u0002\u4811", + "\u4812\u00074\u0002\u0002\u4812\u4813\u0007M\u0002\u0002\u4813\u09ee", + "\u0003\u0002\u0002\u0002\u4814\u4815\u0007R\u0002\u0002\u4815\u4816", + "\u0007Q\u0002\u0002\u4816\u4817\u0007Q\u0002\u0002\u4817\u4818\u0007", + "N\u0002\u0002\u4818\u4819\u0007a\u0002\u0002\u4819\u481a\u00076\u0002", + "\u0002\u481a\u481b\u0007M\u0002\u0002\u481b\u09f0\u0003\u0002\u0002", + "\u0002\u481c\u481d\u0007R\u0002\u0002\u481d\u481e\u0007Q\u0002\u0002", + "\u481e\u481f\u0007Q\u0002\u0002\u481f\u4820\u0007N\u0002\u0002\u4820", + "\u4821\u0007a\u0002\u0002\u4821\u4822\u0007:\u0002\u0002\u4822\u4823", + "\u0007M\u0002\u0002\u4823\u09f2\u0003\u0002\u0002\u0002\u4824\u4825", + "\u0007R\u0002\u0002\u4825\u4826\u0007Q\u0002\u0002\u4826\u4827\u0007", + "U\u0002\u0002\u4827\u4828\u0007K\u0002\u0002\u4828\u4829\u0007V\u0002", + "\u0002\u4829\u482a\u0007K\u0002\u0002\u482a\u482b\u0007X\u0002\u0002", + "\u482b\u482c\u0007G\u0002\u0002\u482c\u482d\u0007P\u0002\u0002\u482d", + "\u09f4\u0003\u0002\u0002\u0002\u482e\u482f\u0007R\u0002\u0002\u482f", + "\u4830\u0007Q\u0002\u0002\u4830\u4831\u0007U\u0002\u0002\u4831\u4832", + "\u0007K\u0002\u0002\u4832\u4833\u0007V\u0002\u0002\u4833\u4834\u0007", + "K\u0002\u0002\u4834\u4835\u0007X\u0002\u0002\u4835\u4836\u0007G\u0002", + "\u0002\u4836\u09f6\u0003\u0002\u0002\u0002\u4837\u4838\u0007R\u0002", + "\u0002\u4838\u4839\u0007Q\u0002\u0002\u4839\u483a\u0007U\u0002\u0002", + "\u483a\u483b\u0007V\u0002\u0002\u483b\u483c\u0007a\u0002\u0002\u483c", + "\u483d\u0007V\u0002\u0002\u483d\u483e\u0007T\u0002\u0002\u483e\u483f", + "\u0007C\u0002\u0002\u483f\u4840\u0007P\u0002\u0002\u4840\u4841\u0007", + "U\u0002\u0002\u4841\u4842\u0007C\u0002\u0002\u4842\u4843\u0007E\u0002", + "\u0002\u4843\u4844\u0007V\u0002\u0002\u4844\u4845\u0007K\u0002\u0002", + "\u4845\u4846\u0007Q\u0002\u0002\u4846\u4847\u0007P\u0002\u0002\u4847", + "\u09f8\u0003\u0002\u0002\u0002\u4848\u4849\u0007R\u0002\u0002\u4849", + "\u484a\u0007Q\u0002\u0002\u484a\u484b\u0007Y\u0002\u0002\u484b\u484c", + "\u0007G\u0002\u0002\u484c\u484d\u0007T\u0002\u0002\u484d\u484e\u0007", + "O\u0002\u0002\u484e\u484f\u0007W\u0002\u0002\u484f\u4850\u0007N\u0002", + "\u0002\u4850\u4851\u0007V\u0002\u0002\u4851\u4852\u0007K\u0002\u0002", + "\u4852\u4853\u0007U\u0002\u0002\u4853\u4854\u0007G\u0002\u0002\u4854", + "\u4855\u0007V\u0002\u0002\u4855\u4856\u0007a\u0002\u0002\u4856\u4857", + "\u0007D\u0002\u0002\u4857\u4858\u0007[\u0002\u0002\u4858\u4859\u0007", + "a\u0002\u0002\u4859\u485a\u0007E\u0002\u0002\u485a\u485b\u0007C\u0002", + "\u0002\u485b\u485c\u0007T\u0002\u0002\u485c\u485d\u0007F\u0002\u0002", + "\u485d\u485e\u0007K\u0002\u0002\u485e\u485f\u0007P\u0002\u0002\u485f", + "\u4860\u0007C\u0002\u0002\u4860\u4861\u0007N\u0002\u0002\u4861\u4862", + "\u0007K\u0002\u0002\u4862\u4863\u0007V\u0002\u0002\u4863\u4864\u0007", + "[\u0002\u0002\u4864\u09fa\u0003\u0002\u0002\u0002\u4865\u4866\u0007", + "R\u0002\u0002\u4866\u4867\u0007Q\u0002\u0002\u4867\u4868\u0007Y\u0002", + "\u0002\u4868\u4869\u0007G\u0002\u0002\u4869\u486a\u0007T\u0002\u0002", + "\u486a\u486b\u0007O\u0002\u0002\u486b\u486c\u0007W\u0002\u0002\u486c", + "\u486d\u0007N\u0002\u0002\u486d\u486e\u0007V\u0002\u0002\u486e\u486f", + "\u0007K\u0002\u0002\u486f\u4870\u0007U\u0002\u0002\u4870\u4871\u0007", + "G\u0002\u0002\u4871\u4872\u0007V\u0002\u0002\u4872\u09fc\u0003\u0002", + "\u0002\u0002\u4873\u4874\u0007R\u0002\u0002\u4874\u4875\u0007Q\u0002", + "\u0002\u4875\u4876\u0007Y\u0002\u0002\u4876\u4877\u0007G\u0002\u0002", + "\u4877\u4878\u0007T\u0002\u0002\u4878\u09fe\u0003\u0002\u0002\u0002", + "\u4879\u487a\u0007R\u0002\u0002\u487a\u487b\u0007S\u0002\u0002\u487b", + "\u487c\u0007a\u0002\u0002\u487c\u487d\u0007E\u0002\u0002\u487d\u487e", + "\u0007Q\u0002\u0002\u487e\u487f\u0007P\u0002\u0002\u487f\u4880\u0007", + "E\u0002\u0002\u4880\u4881\u0007W\u0002\u0002\u4881\u4882\u0007T\u0002", + "\u0002\u4882\u4883\u0007T\u0002\u0002\u4883\u4884\u0007G\u0002\u0002", + "\u4884\u4885\u0007P\u0002\u0002\u4885\u4886\u0007V\u0002\u0002\u4886", + "\u4887\u0007a\u0002\u0002\u4887\u4888\u0007W\u0002\u0002\u4888\u4889", + "\u0007P\u0002\u0002\u4889\u488a\u0007K\u0002\u0002\u488a\u488b\u0007", + "Q\u0002\u0002\u488b\u488c\u0007P\u0002\u0002\u488c\u0a00\u0003\u0002", + "\u0002\u0002\u488d\u488e\u0007R\u0002\u0002\u488e\u488f\u0007S\u0002", + "\u0002\u488f\u4890\u0007a\u0002\u0002\u4890\u4891\u0007F\u0002\u0002", + "\u4891\u4892\u0007K\u0002\u0002\u4892\u4893\u0007U\u0002\u0002\u4893", + "\u4894\u0007V\u0002\u0002\u4894\u4895\u0007T\u0002\u0002\u4895\u4896", + "\u0007K\u0002\u0002\u4896\u4897\u0007D\u0002\u0002\u4897\u4898\u0007", + "W\u0002\u0002\u4898\u4899\u0007V\u0002\u0002\u4899\u489a\u0007G\u0002", + "\u0002\u489a\u0a02\u0003\u0002\u0002\u0002\u489b\u489c\u0007R\u0002", + "\u0002\u489c\u489d\u0007S\u0002\u0002\u489d\u489e\u0007a\u0002\u0002", + "\u489e\u489f\u0007F\u0002\u0002\u489f\u48a0\u0007K\u0002\u0002\u48a0", + "\u48a1\u0007U\u0002\u0002\u48a1\u48a2\u0007V\u0002\u0002\u48a2\u48a3", + "\u0007T\u0002\u0002\u48a3\u48a4\u0007K\u0002\u0002\u48a4\u48a5\u0007", + "D\u0002\u0002\u48a5\u48a6\u0007W\u0002\u0002\u48a6\u48a7\u0007V\u0002", + "\u0002\u48a7\u48a8\u0007G\u0002\u0002\u48a8\u48a9\u0007a\u0002\u0002", + "\u48a9\u48aa\u0007Y\u0002\u0002\u48aa\u48ab\u0007K\u0002\u0002\u48ab", + "\u48ac\u0007P\u0002\u0002\u48ac\u48ad\u0007F\u0002\u0002\u48ad\u48ae", + "\u0007Q\u0002\u0002\u48ae\u48af\u0007Y\u0002\u0002\u48af\u0a04\u0003", + "\u0002\u0002\u0002\u48b0\u48b1\u0007R\u0002\u0002\u48b1\u48b2\u0007", + "S\u0002\u0002\u48b2\u48b3\u0007a\u0002\u0002\u48b3\u48b4\u0007H\u0002", + "\u0002\u48b4\u48b5\u0007K\u0002\u0002\u48b5\u48b6\u0007N\u0002\u0002", + "\u48b6\u48b7\u0007V\u0002\u0002\u48b7\u48b8\u0007G\u0002\u0002\u48b8", + "\u48b9\u0007T\u0002\u0002\u48b9\u0a06\u0003\u0002\u0002\u0002\u48ba", + "\u48bb\u0007R\u0002\u0002\u48bb\u48bc\u0007S\u0002\u0002\u48bc\u48bd", + "\u0007a\u0002\u0002\u48bd\u48be\u0007O\u0002\u0002\u48be\u48bf\u0007", + "C\u0002\u0002\u48bf\u48c0\u0007R\u0002\u0002\u48c0\u0a08\u0003\u0002", + "\u0002\u0002\u48c1\u48c2\u0007R\u0002\u0002\u48c2\u48c3\u0007S\u0002", + "\u0002\u48c3\u48c4\u0007a\u0002\u0002\u48c4\u48c5\u0007P\u0002\u0002", + "\u48c5\u48c6\u0007Q\u0002\u0002\u48c6\u48c7\u0007O\u0002\u0002\u48c7", + "\u48c8\u0007C\u0002\u0002\u48c8\u48c9\u0007R\u0002\u0002\u48c9\u0a0a", + "\u0003\u0002\u0002\u0002\u48ca\u48cb\u0007R\u0002\u0002\u48cb\u48cc", + "\u0007S\u0002\u0002\u48cc\u48cd\u0007a\u0002\u0002\u48cd\u48ce\u0007", + "T\u0002\u0002\u48ce\u48cf\u0007G\u0002\u0002\u48cf\u48d0\u0007R\u0002", + "\u0002\u48d0\u48d1\u0007N\u0002\u0002\u48d1\u48d2\u0007K\u0002\u0002", + "\u48d2\u48d3\u0007E\u0002\u0002\u48d3\u48d4\u0007C\u0002\u0002\u48d4", + "\u48d5\u0007V\u0002\u0002\u48d5\u48d6\u0007G\u0002\u0002\u48d6\u0a0c", + "\u0003\u0002\u0002\u0002\u48d7\u48d8\u0007R\u0002\u0002\u48d8\u48d9", + "\u0007S\u0002\u0002\u48d9\u48da\u0007a\u0002\u0002\u48da\u48db\u0007", + "U\u0002\u0002\u48db\u48dc\u0007M\u0002\u0002\u48dc\u48dd\u0007G\u0002", + "\u0002\u48dd\u48de\u0007Y\u0002\u0002\u48de\u0a0e\u0003\u0002\u0002", + "\u0002\u48df\u48e0\u0007R\u0002\u0002\u48e0\u48e1\u0007T\u0002\u0002", + "\u48e1\u48e2\u0007C\u0002\u0002\u48e2\u48e3\u0007I\u0002\u0002\u48e3", + "\u48e4\u0007O\u0002\u0002\u48e4\u48e5\u0007C\u0002\u0002\u48e5\u0a10", + "\u0003\u0002\u0002\u0002\u48e6\u48e7\u0007R\u0002\u0002\u48e7\u48e8", + "\u0007T\u0002\u0002\u48e8\u48e9\u0007G\u0002\u0002\u48e9\u48ea\u0007", + "D\u0002\u0002\u48ea\u48eb\u0007W\u0002\u0002\u48eb\u48ec\u0007K\u0002", + "\u0002\u48ec\u48ed\u0007N\u0002\u0002\u48ed\u48ee\u0007V\u0002\u0002", + "\u48ee\u0a12\u0003\u0002\u0002\u0002\u48ef\u48f0\u0007R\u0002\u0002", + "\u48f0\u48f1\u0007T\u0002\u0002\u48f1\u48f2\u0007G\u0002\u0002\u48f2", + "\u48f3\u0007E\u0002\u0002\u48f3\u48f4\u0007G\u0002\u0002\u48f4\u48f5", + "\u0007F\u0002\u0002\u48f5\u48f6\u0007G\u0002\u0002\u48f6\u48f7\u0007", + "U\u0002\u0002\u48f7\u0a14\u0003\u0002\u0002\u0002\u48f8\u48f9\u0007", + "R\u0002\u0002\u48f9\u48fa\u0007T\u0002\u0002\u48fa\u48fb\u0007G\u0002", + "\u0002\u48fb\u48fc\u0007E\u0002\u0002\u48fc\u48fd\u0007G\u0002\u0002", + "\u48fd\u48fe\u0007F\u0002\u0002\u48fe\u48ff\u0007K\u0002\u0002\u48ff", + "\u4900\u0007P\u0002\u0002\u4900\u4901\u0007I\u0002\u0002\u4901\u0a16", + "\u0003\u0002\u0002\u0002\u4902\u4903\u0007R\u0002\u0002\u4903\u4904", + "\u0007T\u0002\u0002\u4904\u4905\u0007G\u0002\u0002\u4905\u4906\u0007", + "E\u0002\u0002\u4906\u4907\u0007K\u0002\u0002\u4907\u4908\u0007U\u0002", + "\u0002\u4908\u4909\u0007K\u0002\u0002\u4909\u490a\u0007Q\u0002\u0002", + "\u490a\u490b\u0007P\u0002\u0002\u490b\u0a18\u0003\u0002\u0002\u0002", + "\u490c\u490d\u0007R\u0002\u0002\u490d\u490e\u0007T\u0002\u0002\u490e", + "\u490f\u0007G\u0002\u0002\u490f\u4910\u0007E\u0002\u0002\u4910\u4911", + "\u0007Q\u0002\u0002\u4911\u4912\u0007O\u0002\u0002\u4912\u4913\u0007", + "R\u0002\u0002\u4913\u4914\u0007W\u0002\u0002\u4914\u4915\u0007V\u0002", + "\u0002\u4915\u4916\u0007G\u0002\u0002\u4916\u4917\u0007a\u0002\u0002", + "\u4917\u4918\u0007U\u0002\u0002\u4918\u4919\u0007W\u0002\u0002\u4919", + "\u491a\u0007D\u0002\u0002\u491a\u491b\u0007S\u0002\u0002\u491b\u491c", + "\u0007W\u0002\u0002\u491c\u491d\u0007G\u0002\u0002\u491d\u491e\u0007", + "T\u0002\u0002\u491e\u491f\u0007[\u0002\u0002\u491f\u0a1a\u0003\u0002", + "\u0002\u0002\u4920\u4921\u0007R\u0002\u0002\u4921\u4922\u0007T\u0002", + "\u0002\u4922\u4923\u0007G\u0002\u0002\u4923\u4924\u0007F\u0002\u0002", + "\u4924\u4925\u0007K\u0002\u0002\u4925\u4926\u0007E\u0002\u0002\u4926", + "\u4927\u0007C\u0002\u0002\u4927\u4928\u0007V\u0002\u0002\u4928\u4929", + "\u0007G\u0002\u0002\u4929\u492a\u0007a\u0002\u0002\u492a\u492b\u0007", + "T\u0002\u0002\u492b\u492c\u0007G\u0002\u0002\u492c\u492d\u0007Q\u0002", + "\u0002\u492d\u492e\u0007T\u0002\u0002\u492e\u492f\u0007F\u0002\u0002", + "\u492f\u4930\u0007G\u0002\u0002\u4930\u4931\u0007T\u0002\u0002\u4931", + "\u4932\u0007U\u0002\u0002\u4932\u0a1c\u0003\u0002\u0002\u0002\u4933", + "\u4934\u0007R\u0002\u0002\u4934\u4935\u0007T\u0002\u0002\u4935\u4936", + "\u0007G\u0002\u0002\u4936\u4937\u0007N\u0002\u0002\u4937\u4938\u0007", + "Q\u0002\u0002\u4938\u4939\u0007C\u0002\u0002\u4939\u493a\u0007F\u0002", + "\u0002\u493a\u0a1e\u0003\u0002\u0002\u0002\u493b\u493c\u0007R\u0002", + "\u0002\u493c\u493d\u0007T\u0002\u0002\u493d\u493e\u0007G\u0002\u0002", + "\u493e\u493f\u0007R\u0002\u0002\u493f\u4940\u0007C\u0002\u0002\u4940", + "\u4941\u0007T\u0002\u0002\u4941\u4942\u0007G\u0002\u0002\u4942\u0a20", + "\u0003\u0002\u0002\u0002\u4943\u4944\u0007R\u0002\u0002\u4944\u4945", + "\u0007T\u0002\u0002\u4945\u4946\u0007G\u0002\u0002\u4946\u4947\u0007", + "U\u0002\u0002\u4947\u4948\u0007G\u0002\u0002\u4948\u4949\u0007P\u0002", + "\u0002\u4949\u494a\u0007V\u0002\u0002\u494a\u494b\u0007P\u0002\u0002", + "\u494b\u494c\u0007P\u0002\u0002\u494c\u494d\u0007X\u0002\u0002\u494d", + "\u0a22\u0003\u0002\u0002\u0002\u494e\u494f\u0007R\u0002\u0002\u494f", + "\u4950\u0007T\u0002\u0002\u4950\u4951\u0007G\u0002\u0002\u4951\u4952", + "\u0007U\u0002\u0002\u4952\u4953\u0007G\u0002\u0002\u4953\u4954\u0007", + "P\u0002\u0002\u4954\u4955\u0007V\u0002\u0002\u4955\u0a24\u0003\u0002", + "\u0002\u0002\u4956\u4957\u0007R\u0002\u0002\u4957\u4958\u0007T\u0002", + "\u0002\u4958\u4959\u0007G\u0002\u0002\u4959\u495a\u0007U\u0002\u0002", + "\u495a\u495b\u0007G\u0002\u0002\u495b\u495c\u0007P\u0002\u0002\u495c", + "\u495d\u0007V\u0002\u0002\u495d\u495e\u0007X\u0002\u0002\u495e\u0a26", + "\u0003\u0002\u0002\u0002\u495f\u4960\u0007R\u0002\u0002\u4960\u4961", + "\u0007T\u0002\u0002\u4961\u4962\u0007G\u0002\u0002\u4962\u4963\u0007", + "U\u0002\u0002\u4963\u4964\u0007G\u0002\u0002\u4964\u4965\u0007T\u0002", + "\u0002\u4965\u4966\u0007X\u0002\u0002\u4966\u4967\u0007G\u0002\u0002", + "\u4967\u4968\u0007a\u0002\u0002\u4968\u4969\u0007Q\u0002\u0002\u4969", + "\u496a\u0007K\u0002\u0002\u496a\u496b\u0007F\u0002\u0002\u496b\u0a28", + "\u0003\u0002\u0002\u0002\u496c\u496d\u0007R\u0002\u0002\u496d\u496e", + "\u0007T\u0002\u0002\u496e\u496f\u0007G\u0002\u0002\u496f\u4970\u0007", + "U\u0002\u0002\u4970\u4971\u0007G\u0002\u0002\u4971\u4972\u0007T\u0002", + "\u0002\u4972\u4973\u0007X\u0002\u0002\u4973\u4974\u0007G\u0002\u0002", + "\u4974\u0a2a\u0003\u0002\u0002\u0002\u4975\u4976\u0007R\u0002\u0002", + "\u4976\u4977\u0007T\u0002\u0002\u4977\u4978\u0007G\u0002\u0002\u4978", + "\u4979\u0007V\u0002\u0002\u4979\u497a\u0007V\u0002\u0002\u497a\u497b", + "\u0007[\u0002\u0002\u497b\u0a2c\u0003\u0002\u0002\u0002\u497c\u497d", + "\u0007R\u0002\u0002\u497d\u497e\u0007T\u0002\u0002\u497e\u497f\u0007", + "G\u0002\u0002\u497f\u4980\u0007X\u0002\u0002\u4980\u4981\u0007K\u0002", + "\u0002\u4981\u4982\u0007Q\u0002\u0002\u4982\u4983\u0007W\u0002\u0002", + "\u4983\u4984\u0007U\u0002\u0002\u4984\u0a2e\u0003\u0002\u0002\u0002", + "\u4985\u4986\u0007R\u0002\u0002\u4986\u4987\u0007T\u0002\u0002\u4987", + "\u4988\u0007G\u0002\u0002\u4988\u4989\u0007X\u0002\u0002\u4989\u0a30", + "\u0003\u0002\u0002\u0002\u498a\u498b\u0007R\u0002\u0002\u498b\u498c", + "\u0007T\u0002\u0002\u498c\u498d\u0007K\u0002\u0002\u498d\u498e\u0007", + "O\u0002\u0002\u498e\u498f\u0007C\u0002\u0002\u498f\u4990\u0007T\u0002", + "\u0002\u4990\u4991\u0007[\u0002\u0002\u4991\u0a32\u0003\u0002\u0002", + "\u0002\u4992\u4993\u0007R\u0002\u0002\u4993\u4994\u0007T\u0002\u0002", + "\u4994\u4995\u0007K\u0002\u0002\u4995\u4996\u0007P\u0002\u0002\u4996", + "\u4997\u0007V\u0002\u0002\u4997\u4998\u0007D\u0002\u0002\u4998\u4999", + "\u0007N\u0002\u0002\u4999\u499a\u0007Q\u0002\u0002\u499a\u499b\u0007", + "D\u0002\u0002\u499b\u499c\u0007V\u0002\u0002\u499c\u499d\u0007Q\u0002", + "\u0002\u499d\u499e\u0007E\u0002\u0002\u499e\u499f\u0007N\u0002\u0002", + "\u499f\u49a0\u0007Q\u0002\u0002\u49a0\u49a1\u0007D\u0002\u0002\u49a1", + "\u0a34\u0003\u0002\u0002\u0002\u49a2\u49a3\u0007R\u0002\u0002\u49a3", + "\u49a4\u0007T\u0002\u0002\u49a4\u49a5\u0007K\u0002\u0002\u49a5\u49a6", + "\u0007Q\u0002\u0002\u49a6\u49a7\u0007T\u0002\u0002\u49a7\u49a8\u0007", + "K\u0002\u0002\u49a8\u49a9\u0007V\u0002\u0002\u49a9\u49aa\u0007[\u0002", + "\u0002\u49aa\u0a36\u0003\u0002\u0002\u0002\u49ab\u49ac\u0007R\u0002", + "\u0002\u49ac\u49ad\u0007T\u0002\u0002\u49ad\u49ae\u0007K\u0002\u0002", + "\u49ae\u49af\u0007Q\u0002\u0002\u49af\u49b0\u0007T\u0002\u0002\u49b0", + "\u0a38\u0003\u0002\u0002\u0002\u49b1\u49b2\u0007R\u0002\u0002\u49b2", + "\u49b3\u0007T\u0002\u0002\u49b3\u49b4\u0007K\u0002\u0002\u49b4\u49b5", + "\u0007X\u0002\u0002\u49b5\u49b6\u0007C\u0002\u0002\u49b6\u49b7\u0007", + "V\u0002\u0002\u49b7\u49b8\u0007G\u0002\u0002\u49b8\u0a3a\u0003\u0002", + "\u0002\u0002\u49b9\u49ba\u0007R\u0002\u0002\u49ba\u49bb\u0007T\u0002", + "\u0002\u49bb\u49bc\u0007K\u0002\u0002\u49bc\u49bd\u0007X\u0002\u0002", + "\u49bd\u49be\u0007C\u0002\u0002\u49be\u49bf\u0007V\u0002\u0002\u49bf", + "\u49c0\u0007G\u0002\u0002\u49c0\u49c1\u0007a\u0002\u0002\u49c1\u49c2", + "\u0007U\u0002\u0002\u49c2\u49c3\u0007I\u0002\u0002\u49c3\u49c4\u0007", + "C\u0002\u0002\u49c4\u0a3c\u0003\u0002\u0002\u0002\u49c5\u49c6\u0007", + "R\u0002\u0002\u49c6\u49c7\u0007T\u0002\u0002\u49c7\u49c8\u0007K\u0002", + "\u0002\u49c8\u49c9\u0007X\u0002\u0002\u49c9\u49ca\u0007K\u0002\u0002", + "\u49ca\u49cb\u0007N\u0002\u0002\u49cb\u49cc\u0007G\u0002\u0002\u49cc", + "\u49cd\u0007I\u0002\u0002\u49cd\u49ce\u0007G\u0002\u0002\u49ce\u49cf", + "\u0007F\u0002\u0002\u49cf\u0a3e\u0003\u0002\u0002\u0002\u49d0\u49d1", + "\u0007R\u0002\u0002\u49d1\u49d2\u0007T\u0002\u0002\u49d2\u49d3\u0007", + "K\u0002\u0002\u49d3\u49d4\u0007X\u0002\u0002\u49d4\u49d5\u0007K\u0002", + "\u0002\u49d5\u49d6\u0007N\u0002\u0002\u49d6\u49d7\u0007G\u0002\u0002", + "\u49d7\u49d8\u0007I\u0002\u0002\u49d8\u49d9\u0007G\u0002\u0002\u49d9", + "\u0a40\u0003\u0002\u0002\u0002\u49da\u49db\u0007R\u0002\u0002\u49db", + "\u49dc\u0007T\u0002\u0002\u49dc\u49dd\u0007K\u0002\u0002\u49dd\u49de", + "\u0007X\u0002\u0002\u49de\u49df\u0007K\u0002\u0002\u49df\u49e0\u0007", + "N\u0002\u0002\u49e0\u49e1\u0007G\u0002\u0002\u49e1\u49e2\u0007I\u0002", + "\u0002\u49e2\u49e3\u0007G\u0002\u0002\u49e3\u49e4\u0007U\u0002\u0002", + "\u49e4\u0a42\u0003\u0002\u0002\u0002\u49e5\u49e6\u0007R\u0002\u0002", + "\u49e6\u49e7\u0007T\u0002\u0002\u49e7\u49e8\u0007Q\u0002\u0002\u49e8", + "\u49e9\u0007E\u0002\u0002\u49e9\u49ea\u0007G\u0002\u0002\u49ea\u49eb", + "\u0007F\u0002\u0002\u49eb\u49ec\u0007W\u0002\u0002\u49ec\u49ed\u0007", + "T\u0002\u0002\u49ed\u49ee\u0007C\u0002\u0002\u49ee\u49ef\u0007N\u0002", + "\u0002\u49ef\u0a44\u0003\u0002\u0002\u0002\u49f0\u49f1\u0007R\u0002", + "\u0002\u49f1\u49f2\u0007T\u0002\u0002\u49f2\u49f3\u0007Q\u0002\u0002", + "\u49f3\u49f4\u0007E\u0002\u0002\u49f4\u49f5\u0007G\u0002\u0002\u49f5", + "\u49f6\u0007F\u0002\u0002\u49f6\u49f7\u0007W\u0002\u0002\u49f7\u49f8", + "\u0007T\u0002\u0002\u49f8\u49f9\u0007G\u0002\u0002\u49f9\u0a46\u0003", + "\u0002\u0002\u0002\u49fa\u49fb\u0007R\u0002\u0002\u49fb\u49fc\u0007", + "T\u0002\u0002\u49fc\u49fd\u0007Q\u0002\u0002\u49fd\u49fe\u0007E\u0002", + "\u0002\u49fe\u49ff\u0007G\u0002\u0002\u49ff\u4a00\u0007U\u0002\u0002", + "\u4a00\u4a01\u0007U\u0002\u0002\u4a01\u0a48\u0003\u0002\u0002\u0002", + "\u4a02\u4a03\u0007R\u0002\u0002\u4a03\u4a04\u0007T\u0002\u0002\u4a04", + "\u4a05\u0007Q\u0002\u0002\u4a05\u4a06\u0007H\u0002\u0002\u4a06\u4a07", + "\u0007K\u0002\u0002\u4a07\u4a08\u0007N\u0002\u0002\u4a08\u4a09\u0007", + "G\u0002\u0002\u4a09\u0a4a\u0003\u0002\u0002\u0002\u4a0a\u4a0b\u0007", + "R\u0002\u0002\u4a0b\u4a0c\u0007T\u0002\u0002\u4a0c\u4a0d\u0007Q\u0002", + "\u0002\u4a0d\u4a0e\u0007I\u0002\u0002\u4a0e\u4a0f\u0007T\u0002\u0002", + "\u4a0f\u4a10\u0007C\u0002\u0002\u4a10\u4a11\u0007O\u0002\u0002\u4a11", + "\u0a4c\u0003\u0002\u0002\u0002\u4a12\u4a13\u0007R\u0002\u0002\u4a13", + "\u4a14\u0007T\u0002\u0002\u4a14\u4a15\u0007Q\u0002\u0002\u4a15\u4a16", + "\u0007L\u0002\u0002\u4a16\u4a17\u0007G\u0002\u0002\u4a17\u4a18\u0007", + "E\u0002\u0002\u4a18\u4a19\u0007V\u0002\u0002\u4a19\u0a4e\u0003\u0002", + "\u0002\u0002\u4a1a\u4a1b\u0007R\u0002\u0002\u4a1b\u4a1c\u0007T\u0002", + "\u0002\u4a1c\u4a1d\u0007Q\u0002\u0002\u4a1d\u4a1e\u0007R\u0002\u0002", + "\u4a1e\u4a1f\u0007C\u0002\u0002\u4a1f\u4a20\u0007I\u0002\u0002\u4a20", + "\u4a21\u0007C\u0002\u0002\u4a21\u4a22\u0007V\u0002\u0002\u4a22\u4a23", + "\u0007G\u0002\u0002\u4a23\u0a50\u0003\u0002\u0002\u0002\u4a24\u4a25", + "\u0007R\u0002\u0002\u4a25\u4a26\u0007T\u0002\u0002\u4a26\u4a27\u0007", + "Q\u0002\u0002\u4a27\u4a28\u0007V\u0002\u0002\u4a28\u4a29\u0007G\u0002", + "\u0002\u4a29\u4a2a\u0007E\u0002\u0002\u4a2a\u4a2b\u0007V\u0002\u0002", + "\u4a2b\u4a2c\u0007G\u0002\u0002\u4a2c\u4a2d\u0007F\u0002\u0002\u4a2d", + "\u0a52\u0003\u0002\u0002\u0002\u4a2e\u4a2f\u0007R\u0002\u0002\u4a2f", + "\u4a30\u0007T\u0002\u0002\u4a30\u4a31\u0007Q\u0002\u0002\u4a31\u4a32", + "\u0007V\u0002\u0002\u4a32\u4a33\u0007G\u0002\u0002\u4a33\u4a34\u0007", + "E\u0002\u0002\u4a34\u4a35\u0007V\u0002\u0002\u4a35\u4a36\u0007K\u0002", + "\u0002\u4a36\u4a37\u0007Q\u0002\u0002\u4a37\u4a38\u0007P\u0002\u0002", + "\u4a38\u0a54\u0003\u0002\u0002\u0002\u4a39\u4a3a\u0007R\u0002\u0002", + "\u4a3a\u4a3b\u0007T\u0002\u0002\u4a3b\u4a3c\u0007Q\u0002\u0002\u4a3c", + "\u4a3d\u0007Z\u0002\u0002\u4a3d\u4a3e\u0007[\u0002\u0002\u4a3e\u0a56", + "\u0003\u0002\u0002\u0002\u4a3f\u4a40\u0007R\u0002\u0002\u4a40\u4a41", + "\u0007T\u0002\u0002\u4a41\u4a42\u0007W\u0002\u0002\u4a42\u4a43\u0007", + "P\u0002\u0002\u4a43\u4a44\u0007K\u0002\u0002\u4a44\u4a45\u0007P\u0002", + "\u0002\u4a45\u4a46\u0007I\u0002\u0002\u4a46\u0a58\u0003\u0002\u0002", + "\u0002\u4a47\u4a48\u0007R\u0002\u0002\u4a48\u4a49\u0007W\u0002\u0002", + "\u4a49\u4a4a\u0007D\u0002\u0002\u4a4a\u4a4b\u0007N\u0002\u0002\u4a4b", + "\u4a4c\u0007K\u0002\u0002\u4a4c\u4a4d\u0007E\u0002\u0002\u4a4d\u0a5a", + "\u0003\u0002\u0002\u0002\u4a4e\u4a4f\u0007R\u0002\u0002\u4a4f\u4a50", + "\u0007W\u0002\u0002\u4a50\u4a51\u0007N\u0002\u0002\u4a51\u4a52\u0007", + "N\u0002\u0002\u4a52\u4a53\u0007a\u0002\u0002\u4a53\u4a54\u0007R\u0002", + "\u0002\u4a54\u4a55\u0007T\u0002\u0002\u4a55\u4a56\u0007G\u0002\u0002", + "\u4a56\u4a57\u0007F\u0002\u0002\u4a57\u0a5c\u0003\u0002\u0002\u0002", + "\u4a58\u4a59\u0007R\u0002\u0002\u4a59\u4a5a\u0007W\u0002\u0002\u4a5a", + "\u4a5b\u0007T\u0002\u0002\u4a5b\u4a5c\u0007I\u0002\u0002\u4a5c\u4a5d", + "\u0007G\u0002\u0002\u4a5d\u0a5e\u0003\u0002\u0002\u0002\u4a5e\u4a5f", + "\u0007R\u0002\u0002\u4a5f\u4a60\u0007W\u0002\u0002\u4a60\u4a61\u0007", + "U\u0002\u0002\u4a61\u4a62\u0007J\u0002\u0002\u4a62\u4a63\u0007a\u0002", + "\u0002\u4a63\u4a64\u0007R\u0002\u0002\u4a64\u4a65\u0007T\u0002\u0002", + "\u4a65\u4a66\u0007G\u0002\u0002\u4a66\u4a67\u0007F\u0002\u0002\u4a67", + "\u0a60\u0003\u0002\u0002\u0002\u4a68\u4a69\u0007R\u0002\u0002\u4a69", + "\u4a6a\u0007W\u0002\u0002\u4a6a\u4a6b\u0007U\u0002\u0002\u4a6b\u4a6c", + "\u0007J\u0002\u0002\u4a6c\u4a6d\u0007a\u0002\u0002\u4a6d\u4a6e\u0007", + "U\u0002\u0002\u4a6e\u4a6f\u0007W\u0002\u0002\u4a6f\u4a70\u0007D\u0002", + "\u0002\u4a70\u4a71\u0007S\u0002\u0002\u4a71\u0a62\u0003\u0002\u0002", + "\u0002\u4a72\u4a73\u0007R\u0002\u0002\u4a73\u4a74\u0007Z\u0002\u0002", + "\u4a74\u4a75\u0007a\u0002\u0002\u4a75\u4a76\u0007H\u0002\u0002\u4a76", + "\u4a77\u0007C\u0002\u0002\u4a77\u4a78\u0007W\u0002\u0002\u4a78\u4a79", + "\u0007N\u0002\u0002\u4a79\u4a7a\u0007V\u0002\u0002\u4a7a\u4a7b\u0007", + "a\u0002\u0002\u4a7b\u4a7c\u0007V\u0002\u0002\u4a7c\u4a7d\u0007Q\u0002", + "\u0002\u4a7d\u4a7e\u0007N\u0002\u0002\u4a7e\u4a7f\u0007G\u0002\u0002", + "\u4a7f\u4a80\u0007T\u0002\u0002\u4a80\u4a81\u0007C\u0002\u0002\u4a81", + "\u4a82\u0007P\u0002\u0002\u4a82\u4a83\u0007E\u0002\u0002\u4a83\u4a84", + "\u0007G\u0002\u0002\u4a84\u0a64\u0003\u0002\u0002\u0002\u4a85\u4a86", + "\u0007R\u0002\u0002\u4a86\u4a87\u0007Z\u0002\u0002\u4a87\u4a88\u0007", + "a\u0002\u0002\u4a88\u4a89\u0007I\u0002\u0002\u4a89\u4a8a\u0007T\u0002", + "\u0002\u4a8a\u4a8b\u0007C\u0002\u0002\u4a8b\u4a8c\u0007P\u0002\u0002", + "\u4a8c\u4a8d\u0007W\u0002\u0002\u4a8d\u4a8e\u0007N\u0002\u0002\u4a8e", + "\u4a8f\u0007G\u0002\u0002\u4a8f\u0a66\u0003\u0002\u0002\u0002\u4a90", + "\u4a91\u0007R\u0002\u0002\u4a91\u4a92\u0007Z\u0002\u0002\u4a92\u4a93", + "\u0007a\u0002\u0002\u4a93\u4a94\u0007L\u0002\u0002\u4a94\u4a95\u0007", + "Q\u0002\u0002\u4a95\u4a96\u0007K\u0002\u0002\u4a96\u4a97\u0007P\u0002", + "\u0002\u4a97\u4a98\u0007a\u0002\u0002\u4a98\u4a99\u0007H\u0002\u0002", + "\u4a99\u4a9a\u0007K\u0002\u0002\u4a9a\u4a9b\u0007N\u0002\u0002\u4a9b", + "\u4a9c\u0007V\u0002\u0002\u4a9c\u4a9d\u0007G\u0002\u0002\u4a9d\u4a9e", + "\u0007T\u0002\u0002\u4a9e\u0a68\u0003\u0002\u0002\u0002\u4a9f\u4aa0", + "\u0007S\u0002\u0002\u4aa0\u4aa1\u0007D\u0002\u0002\u4aa1\u4aa2\u0007", + "a\u0002\u0002\u4aa2\u4aa3\u0007P\u0002\u0002\u4aa3\u4aa4\u0007C\u0002", + "\u0002\u4aa4\u4aa5\u0007O\u0002\u0002\u4aa5\u4aa6\u0007G\u0002\u0002", + "\u4aa6\u0a6a\u0003\u0002\u0002\u0002\u4aa7\u4aa8\u0007S\u0002\u0002", + "\u4aa8\u4aa9\u0007W\u0002\u0002\u4aa9\u4aaa\u0007G\u0002\u0002\u4aaa", + "\u4aab\u0007T\u0002\u0002\u4aab\u4aac\u0007[\u0002\u0002\u4aac\u4aad", + "\u0007a\u0002\u0002\u4aad\u4aae\u0007D\u0002\u0002\u4aae\u4aaf\u0007", + "N\u0002\u0002\u4aaf\u4ab0\u0007Q\u0002\u0002\u4ab0\u4ab1\u0007E\u0002", + "\u0002\u4ab1\u4ab2\u0007M\u0002\u0002\u4ab2\u0a6c\u0003\u0002\u0002", + "\u0002\u4ab3\u4ab4\u0007S\u0002\u0002\u4ab4\u4ab5\u0007W\u0002\u0002", + "\u4ab5\u4ab6\u0007G\u0002\u0002\u4ab6\u4ab7\u0007T\u0002\u0002\u4ab7", + "\u4ab8\u0007[\u0002\u0002\u4ab8\u0a6e\u0003\u0002\u0002\u0002\u4ab9", + "\u4aba\u0007S\u0002\u0002\u4aba\u4abb\u0007W\u0002\u0002\u4abb\u4abc", + "\u0007G\u0002\u0002\u4abc\u4abd\u0007W\u0002\u0002\u4abd\u4abe\u0007", + "G\u0002\u0002\u4abe\u4abf\u0007a\u0002\u0002\u4abf\u4ac0\u0007E\u0002", + "\u0002\u4ac0\u4ac1\u0007W\u0002\u0002\u4ac1\u4ac2\u0007T\u0002\u0002", + "\u4ac2\u4ac3\u0007T\u0002\u0002\u4ac3\u0a70\u0003\u0002\u0002\u0002", + "\u4ac4\u4ac5\u0007S\u0002\u0002\u4ac5\u4ac6\u0007W\u0002\u0002\u4ac6", + "\u4ac7\u0007G\u0002\u0002\u4ac7\u4ac8\u0007W\u0002\u0002\u4ac8\u4ac9", + "\u0007G\u0002\u0002\u4ac9\u0a72\u0003\u0002\u0002\u0002\u4aca\u4acb", + "\u0007S\u0002\u0002\u4acb\u4acc\u0007W\u0002\u0002\u4acc\u4acd\u0007", + "G\u0002\u0002\u4acd\u4ace\u0007W\u0002\u0002\u4ace\u4acf\u0007G\u0002", + "\u0002\u4acf\u4ad0\u0007a\u0002\u0002\u4ad0\u4ad1\u0007T\u0002\u0002", + "\u4ad1\u4ad2\u0007Q\u0002\u0002\u4ad2\u4ad3\u0007Y\u0002\u0002\u4ad3", + "\u4ad4\u0007R\u0002\u0002\u4ad4\u0a74\u0003\u0002\u0002\u0002\u4ad5", + "\u4ad6\u0007S\u0002\u0002\u4ad6\u4ad7\u0007W\u0002\u0002\u4ad7\u4ad8", + "\u0007K\u0002\u0002\u4ad8\u4ad9\u0007G\u0002\u0002\u4ad9\u4ada\u0007", + "U\u0002\u0002\u4ada\u4adb\u0007E\u0002\u0002\u4adb\u4adc\u0007G\u0002", + "\u0002\u4adc\u0a76\u0003\u0002\u0002\u0002\u4add\u4ade\u0007S\u0002", + "\u0002\u4ade\u4adf\u0007W\u0002\u0002\u4adf\u4ae0\u0007Q\u0002\u0002", + "\u4ae0\u4ae1\u0007T\u0002\u0002\u4ae1\u4ae2\u0007W\u0002\u0002\u4ae2", + "\u4ae3\u0007O\u0002\u0002\u4ae3\u0a78\u0003\u0002\u0002\u0002\u4ae4", + "\u4ae5\u0007S\u0002\u0002\u4ae5\u4ae6\u0007W\u0002\u0002\u4ae6\u4ae7", + "\u0007Q\u0002\u0002\u4ae7\u4ae8\u0007V\u0002\u0002\u4ae8\u4ae9\u0007", + "C\u0002\u0002\u4ae9\u0a7a\u0003\u0002\u0002\u0002\u4aea\u4aeb\u0007", + "T\u0002\u0002\u4aeb\u4aec\u0007C\u0002\u0002\u4aec\u4aed\u0007K\u0002", + "\u0002\u4aed\u4aee\u0007U\u0002\u0002\u4aee\u4aef\u0007G\u0002\u0002", + "\u4aef\u0a7c\u0003\u0002\u0002\u0002\u4af0\u4af1\u0007T\u0002\u0002", + "\u4af1\u4af2\u0007C\u0002\u0002\u4af2\u4af3\u0007P\u0002\u0002\u4af3", + "\u4af4\u0007F\u0002\u0002\u4af4\u4af5\u0007Q\u0002\u0002\u4af5\u4af6", + "\u0007O\u0002\u0002\u4af6\u4af7\u0007a\u0002\u0002\u4af7\u4af8\u0007", + "N\u0002\u0002\u4af8\u4af9\u0007Q\u0002\u0002\u4af9\u4afa\u0007E\u0002", + "\u0002\u4afa\u4afb\u0007C\u0002\u0002\u4afb\u4afc\u0007N\u0002\u0002", + "\u4afc\u0a7e\u0003\u0002\u0002\u0002\u4afd\u4afe\u0007T\u0002\u0002", + "\u4afe\u4aff\u0007C\u0002\u0002\u4aff\u4b00\u0007P\u0002\u0002\u4b00", + "\u4b01\u0007F\u0002\u0002\u4b01\u4b02\u0007Q\u0002\u0002\u4b02\u4b03", + "\u0007O\u0002\u0002\u4b03\u0a80\u0003\u0002\u0002\u0002\u4b04\u4b05", + "\u0007T\u0002\u0002\u4b05\u4b06\u0007C\u0002\u0002\u4b06\u4b07\u0007", + "P\u0002\u0002\u4b07\u4b08\u0007I\u0002\u0002\u4b08\u4b09\u0007G\u0002", + "\u0002\u4b09\u0a82\u0003\u0002\u0002\u0002\u4b0a\u4b0b\u0007T\u0002", + "\u0002\u4b0b\u4b0c\u0007C\u0002\u0002\u4b0c\u4b0d\u0007P\u0002\u0002", + "\u4b0d\u4b0e\u0007M\u0002\u0002\u4b0e\u4b0f\u0007O\u0002\u0002\u4b0f", + "\u0a84\u0003\u0002\u0002\u0002\u4b10\u4b11\u0007T\u0002\u0002\u4b11", + "\u4b12\u0007C\u0002\u0002\u4b12\u4b13\u0007R\u0002\u0002\u4b13\u4b14", + "\u0007K\u0002\u0002\u4b14\u4b15\u0007F\u0002\u0002\u4b15\u4b16\u0007", + "N\u0002\u0002\u4b16\u4b17\u0007[\u0002\u0002\u4b17\u0a86\u0003\u0002", + "\u0002\u0002\u4b18\u4b19\u0007T\u0002\u0002\u4b19\u4b1a\u0007C\u0002", + "\u0002\u4b1a\u4b1b\u0007Y\u0002\u0002\u4b1b\u0a88\u0003\u0002\u0002", + "\u0002\u4b1c\u4b1d\u0007T\u0002\u0002\u4b1d\u4b1e\u0007C\u0002\u0002", + "\u4b1e\u4b1f\u0007Y\u0002\u0002\u4b1f\u4b20\u0007V\u0002\u0002\u4b20", + "\u4b21\u0007Q\u0002\u0002\u4b21\u4b22\u0007J\u0002\u0002\u4b22\u4b23", + "\u0007G\u0002\u0002\u4b23\u4b24\u0007Z\u0002\u0002\u4b24\u0a8a\u0003", + "\u0002\u0002\u0002\u4b25\u4b26\u0007T\u0002\u0002\u4b26\u4b27\u0007", + "C\u0002\u0002\u4b27\u4b28\u0007Y\u0002\u0002\u4b28\u4b29\u0007V\u0002", + "\u0002\u4b29\u4b2a\u0007Q\u0002\u0002\u4b2a\u4b2b\u0007P\u0002\u0002", + "\u4b2b\u4b2c\u0007J\u0002\u0002\u4b2c\u4b2d\u0007G\u0002\u0002\u4b2d", + "\u4b2e\u0007Z\u0002\u0002\u4b2e\u0a8c\u0003\u0002\u0002\u0002\u4b2f", + "\u4b30\u0007T\u0002\u0002\u4b30\u4b31\u0007D\u0002\u0002\u4b31\u4b32", + "\u0007C\u0002\u0002\u4b32\u0a8e\u0003\u0002\u0002\u0002\u4b33\u4b34", + "\u0007T\u0002\u0002\u4b34\u4b35\u0007D\u0002\u0002\u4b35\u4b36\u0007", + "Q\u0002\u0002\u4b36\u4b37\u0007a\u0002\u0002\u4b37\u4b38\u0007Q\u0002", + "\u0002\u4b38\u4b39\u0007W\u0002\u0002\u4b39\u4b3a\u0007V\u0002\u0002", + "\u4b3a\u4b3b\u0007N\u0002\u0002\u4b3b\u4b3c\u0007K\u0002\u0002\u4b3c", + "\u4b3d\u0007P\u0002\u0002\u4b3d\u4b3e\u0007G\u0002\u0002\u4b3e\u0a90", + "\u0003\u0002\u0002\u0002\u4b3f\u4b40\u0007T\u0002\u0002\u4b40\u4b41", + "\u0007F\u0002\u0002\u4b41\u4b42\u0007D\u0002\u0002\u4b42\u4b43\u0007", + "C\u0002\u0002\u4b43\u0a92\u0003\u0002\u0002\u0002\u4b44\u4b45\u0007", + "T\u0002\u0002\u4b45\u4b46\u0007G\u0002\u0002\u4b46\u4b47\u0007C\u0002", + "\u0002\u4b47\u4b48\u0007F\u0002\u0002\u4b48\u0a94\u0003\u0002\u0002", + "\u0002\u4b49\u4b4a\u0007T\u0002\u0002\u4b4a\u4b4b\u0007G\u0002\u0002", + "\u4b4b\u4b4c\u0007C\u0002\u0002\u4b4c\u4b4d\u0007F\u0002\u0002\u4b4d", + "\u4b4e\u0007U\u0002\u0002\u4b4e\u0a96\u0003\u0002\u0002\u0002\u4b4f", + "\u4b50\u0007T\u0002\u0002\u4b50\u4b51\u0007G\u0002\u0002\u4b51\u4b52", + "\u0007C\u0002\u0002\u4b52\u4b53\u0007N\u0002\u0002\u4b53\u4b54\u0007", + "O\u0002\u0002\u4b54\u0a98\u0003\u0002\u0002\u0002\u4b55\u4b56\u0007", + "T\u0002\u0002\u4b56\u4b57\u0007G\u0002\u0002\u4b57\u4b58\u0007C\u0002", + "\u0002\u4b58\u4b59\u0007N\u0002\u0002\u4b59\u0a9a\u0003\u0002\u0002", + "\u0002\u4b5a\u4b5b\u0007T\u0002\u0002\u4b5b\u4b5c\u0007G\u0002\u0002", + "\u4b5c\u4b5d\u0007D\u0002\u0002\u4b5d\u4b5e\u0007C\u0002\u0002\u4b5e", + "\u4b5f\u0007N\u0002\u0002\u4b5f\u4b60\u0007C\u0002\u0002\u4b60\u4b61", + "\u0007P\u0002\u0002\u4b61\u4b62\u0007E\u0002\u0002\u4b62\u4b63\u0007", + "G\u0002\u0002\u4b63\u0a9c\u0003\u0002\u0002\u0002\u4b64\u4b65\u0007", + "T\u0002\u0002\u4b65\u4b66\u0007G\u0002\u0002\u4b66\u4b67\u0007D\u0002", + "\u0002\u4b67\u4b68\u0007W\u0002\u0002\u4b68\u4b69\u0007K\u0002\u0002", + "\u4b69\u4b6a\u0007N\u0002\u0002\u4b6a\u4b6b\u0007F\u0002\u0002\u4b6b", + "\u0a9e\u0003\u0002\u0002\u0002\u4b6c\u4b6d\u0007T\u0002\u0002\u4b6d", + "\u4b6e\u0007G\u0002\u0002\u4b6e\u4b6f\u0007E\u0002\u0002\u4b6f\u4b70", + "\u0007Q\u0002\u0002\u4b70\u4b71\u0007T\u0002\u0002\u4b71\u4b72\u0007", + "F\u0002\u0002\u4b72\u0aa0\u0003\u0002\u0002\u0002\u4b73\u4b74\u0007", + "T\u0002\u0002\u4b74\u4b75\u0007G\u0002\u0002\u4b75\u4b76\u0007E\u0002", + "\u0002\u4b76\u4b77\u0007Q\u0002\u0002\u4b77\u4b78\u0007T\u0002\u0002", + "\u4b78\u4b79\u0007F\u0002\u0002\u4b79\u4b7a\u0007U\u0002\u0002\u4b7a", + "\u4b7b\u0007a\u0002\u0002\u4b7b\u4b7c\u0007R\u0002\u0002\u4b7c\u4b7d", + "\u0007G\u0002\u0002\u4b7d\u4b7e\u0007T\u0002\u0002\u4b7e\u4b7f\u0007", + "a\u0002\u0002\u4b7f\u4b80\u0007D\u0002\u0002\u4b80\u4b81\u0007N\u0002", + "\u0002\u4b81\u4b82\u0007Q\u0002\u0002\u4b82\u4b83\u0007E\u0002\u0002", + "\u4b83\u4b84\u0007M\u0002\u0002\u4b84\u0aa2\u0003\u0002\u0002\u0002", + "\u4b85\u4b86\u0007T\u0002\u0002\u4b86\u4b87\u0007G\u0002\u0002\u4b87", + "\u4b88\u0007E\u0002\u0002\u4b88\u4b89\u0007Q\u0002\u0002\u4b89\u4b8a", + "\u0007X\u0002\u0002\u4b8a\u4b8b\u0007G\u0002\u0002\u4b8b\u4b8c\u0007", + "T\u0002\u0002\u4b8c\u4b8d\u0007C\u0002\u0002\u4b8d\u4b8e\u0007D\u0002", + "\u0002\u4b8e\u4b8f\u0007N\u0002\u0002\u4b8f\u4b90\u0007G\u0002\u0002", + "\u4b90\u0aa4\u0003\u0002\u0002\u0002\u4b91\u4b92\u0007T\u0002\u0002", + "\u4b92\u4b93\u0007G\u0002\u0002\u4b93\u4b94\u0007E\u0002\u0002\u4b94", + "\u4b95\u0007Q\u0002\u0002\u4b95\u4b96\u0007X\u0002\u0002\u4b96\u4b97", + "\u0007G\u0002\u0002\u4b97\u4b98\u0007T\u0002\u0002\u4b98\u0aa6\u0003", + "\u0002\u0002\u0002\u4b99\u4b9a\u0007T\u0002\u0002\u4b9a\u4b9b\u0007", + "G\u0002\u0002\u4b9b\u4b9c\u0007E\u0002\u0002\u4b9c\u4b9d\u0007Q\u0002", + "\u0002\u4b9d\u4b9e\u0007X\u0002\u0002\u4b9e\u4b9f\u0007G\u0002\u0002", + "\u4b9f\u4ba0\u0007T\u0002\u0002\u4ba0\u4ba1\u0007[\u0002\u0002\u4ba1", + "\u0aa8\u0003\u0002\u0002\u0002\u4ba2\u4ba3\u0007T\u0002\u0002\u4ba3", + "\u4ba4\u0007G\u0002\u0002\u4ba4\u4ba5\u0007E\u0002\u0002\u4ba5\u4ba6", + "\u0007[\u0002\u0002\u4ba6\u4ba7\u0007E\u0002\u0002\u4ba7\u4ba8\u0007", + "N\u0002\u0002\u4ba8\u4ba9\u0007G\u0002\u0002\u4ba9\u4baa\u0007D\u0002", + "\u0002\u4baa\u4bab\u0007K\u0002\u0002\u4bab\u4bac\u0007P\u0002\u0002", + "\u4bac\u0aaa\u0003\u0002\u0002\u0002\u4bad\u4bae\u0007T\u0002\u0002", + "\u4bae\u4baf\u0007G\u0002\u0002\u4baf\u4bb0\u0007E\u0002\u0002\u4bb0", + "\u4bb1\u0007[\u0002\u0002\u4bb1\u4bb2\u0007E\u0002\u0002\u4bb2\u4bb3", + "\u0007N\u0002\u0002\u4bb3\u4bb4\u0007G\u0002\u0002\u4bb4\u0aac\u0003", + "\u0002\u0002\u0002\u4bb5\u4bb6\u0007T\u0002\u0002\u4bb6\u4bb7\u0007", + "G\u0002\u0002\u4bb7\u4bb8\u0007F\u0002\u0002\u4bb8\u4bb9\u0007C\u0002", + "\u0002\u4bb9\u4bba\u0007E\u0002\u0002\u4bba\u4bbb\u0007V\u0002\u0002", + "\u4bbb\u4bbc\u0007K\u0002\u0002\u4bbc\u4bbd\u0007Q\u0002\u0002\u4bbd", + "\u4bbe\u0007P\u0002\u0002\u4bbe\u0aae\u0003\u0002\u0002\u0002\u4bbf", + "\u4bc0\u0007T\u0002\u0002\u4bc0\u4bc1\u0007G\u0002\u0002\u4bc1\u4bc2", + "\u0007F\u0002\u0002\u4bc2\u4bc3\u0007G\u0002\u0002\u4bc3\u4bc4\u0007", + "H\u0002\u0002\u4bc4\u4bc5\u0007K\u0002\u0002\u4bc5\u4bc6\u0007P\u0002", + "\u0002\u4bc6\u4bc7\u0007G\u0002\u0002\u4bc7\u0ab0\u0003\u0002\u0002", + "\u0002\u4bc8\u4bc9\u0007T\u0002\u0002\u4bc9\u4bca\u0007G\u0002\u0002", + "\u4bca\u4bcb\u0007F\u0002\u0002\u4bcb\u4bcc\u0007Q\u0002\u0002\u4bcc", + "\u0ab2\u0003\u0002\u0002\u0002\u4bcd\u4bce\u0007T\u0002\u0002\u4bce", + "\u4bcf\u0007G\u0002\u0002\u4bcf\u4bd0\u0007F\u0002\u0002\u4bd0\u4bd1", + "\u0007W\u0002\u0002\u4bd1\u4bd2\u0007E\u0002\u0002\u4bd2\u4bd3\u0007", + "G\u0002\u0002\u4bd3\u4bd4\u0007F\u0002\u0002\u4bd4\u0ab4\u0003\u0002", + "\u0002\u0002\u4bd5\u4bd6\u0007T\u0002\u0002\u4bd6\u4bd7\u0007G\u0002", + "\u0002\u4bd7\u4bd8\u0007F\u0002\u0002\u4bd8\u4bd9\u0007W\u0002\u0002", + "\u4bd9\u4bda\u0007P\u0002\u0002\u4bda\u4bdb\u0007F\u0002\u0002\u4bdb", + "\u4bdc\u0007C\u0002\u0002\u4bdc\u4bdd\u0007P\u0002\u0002\u4bdd\u4bde", + "\u0007E\u0002\u0002\u4bde\u4bdf\u0007[\u0002\u0002\u4bdf\u0ab6\u0003", + "\u0002\u0002\u0002\u4be0\u4be1\u0007T\u0002\u0002\u4be1\u4be2\u0007", + "G\u0002\u0002\u4be2\u4be3\u0007H\u0002\u0002\u4be3\u4be4\u0007a\u0002", + "\u0002\u4be4\u4be5\u0007E\u0002\u0002\u4be5\u4be6\u0007C\u0002\u0002", + "\u4be6\u4be7\u0007U\u0002\u0002\u4be7\u4be8\u0007E\u0002\u0002\u4be8", + "\u4be9\u0007C\u0002\u0002\u4be9\u4bea\u0007F\u0002\u0002\u4bea\u4beb", + "\u0007G\u0002\u0002\u4beb\u4bec\u0007a\u0002\u0002\u4bec\u4bed\u0007", + "E\u0002\u0002\u4bed\u4bee\u0007W\u0002\u0002\u4bee\u4bef\u0007T\u0002", + "\u0002\u4bef\u4bf0\u0007U\u0002\u0002\u4bf0\u4bf1\u0007Q\u0002\u0002", + "\u4bf1\u4bf2\u0007T\u0002\u0002\u4bf2\u0ab8\u0003\u0002\u0002\u0002", + "\u4bf3\u4bf4\u0007T\u0002\u0002\u4bf4\u4bf5\u0007G\u0002\u0002\u4bf5", + "\u4bf6\u0007H\u0002\u0002\u4bf6\u4bf7\u0007G\u0002\u0002\u4bf7\u4bf8", + "\u0007T\u0002\u0002\u4bf8\u4bf9\u0007G\u0002\u0002\u4bf9\u4bfa\u0007", + "P\u0002\u0002\u4bfa\u4bfb\u0007E\u0002\u0002\u4bfb\u4bfc\u0007G\u0002", + "\u0002\u4bfc\u4bfd\u0007F\u0002\u0002\u4bfd\u0aba\u0003\u0002\u0002", + "\u0002\u4bfe\u4bff\u0007T\u0002\u0002\u4bff\u4c00\u0007G\u0002\u0002", + "\u4c00\u4c01\u0007H\u0002\u0002\u4c01\u4c02\u0007G\u0002\u0002\u4c02", + "\u4c03\u0007T\u0002\u0002\u4c03\u4c04\u0007G\u0002\u0002\u4c04\u4c05", + "\u0007P\u0002\u0002\u4c05\u4c06\u0007E\u0002\u0002\u4c06\u4c07\u0007", + "G\u0002\u0002\u4c07\u0abc\u0003\u0002\u0002\u0002\u4c08\u4c09\u0007", + "T\u0002\u0002\u4c09\u4c0a\u0007G\u0002\u0002\u4c0a\u4c0b\u0007H\u0002", + "\u0002\u4c0b\u4c0c\u0007G\u0002\u0002\u4c0c\u4c0d\u0007T\u0002\u0002", + "\u4c0d\u4c0e\u0007G\u0002\u0002\u4c0e\u4c0f\u0007P\u0002\u0002\u4c0f", + "\u4c10\u0007E\u0002\u0002\u4c10\u4c11\u0007G\u0002\u0002\u4c11\u4c12", + "\u0007U\u0002\u0002\u4c12\u0abe\u0003\u0002\u0002\u0002\u4c13\u4c14", + "\u0007T\u0002\u0002\u4c14\u4c15\u0007G\u0002\u0002\u4c15\u4c16\u0007", + "H\u0002\u0002\u4c16\u4c17\u0007G\u0002\u0002\u4c17\u4c18\u0007T\u0002", + "\u0002\u4c18\u4c19\u0007G\u0002\u0002\u4c19\u4c1a\u0007P\u0002\u0002", + "\u4c1a\u4c1b\u0007E\u0002\u0002\u4c1b\u4c1c\u0007K\u0002\u0002\u4c1c", + "\u4c1d\u0007P\u0002\u0002\u4c1d\u4c1e\u0007I\u0002\u0002\u4c1e\u0ac0", + "\u0003\u0002\u0002\u0002\u4c1f\u4c20\u0007T\u0002\u0002\u4c20\u4c21", + "\u0007G\u0002\u0002\u4c21\u4c22\u0007H\u0002\u0002\u4c22\u0ac2\u0003", + "\u0002\u0002\u0002\u4c23\u4c24\u0007T\u0002\u0002\u4c24\u4c25\u0007", + "G\u0002\u0002\u4c25\u4c26\u0007H\u0002\u0002\u4c26\u4c27\u0007T\u0002", + "\u0002\u4c27\u4c28\u0007G\u0002\u0002\u4c28\u4c29\u0007U\u0002\u0002", + "\u4c29\u4c2a\u0007J\u0002\u0002\u4c2a\u0ac4\u0003\u0002\u0002\u0002", + "\u4c2b\u4c2c\u0007T\u0002\u0002\u4c2c\u4c2d\u0007G\u0002\u0002\u4c2d", + "\u4c2e\u0007H\u0002\u0002\u4c2e\u4c2f\u0007V\u0002\u0002\u4c2f\u4c30", + "\u0007Q\u0002\u0002\u4c30\u4c31\u0007J\u0002\u0002\u4c31\u4c32\u0007", + "G\u0002\u0002\u4c32\u4c33\u0007Z\u0002\u0002\u4c33\u0ac6\u0003\u0002", + "\u0002\u0002\u4c34\u4c35\u0007T\u0002\u0002\u4c35\u4c36\u0007G\u0002", + "\u0002\u4c36\u4c37\u0007I\u0002\u0002\u4c37\u4c38\u0007G\u0002\u0002", + "\u4c38\u4c39\u0007Z\u0002\u0002\u4c39\u4c3a\u0007R\u0002\u0002\u4c3a", + "\u4c3b\u0007a\u0002\u0002\u4c3b\u4c3c\u0007E\u0002\u0002\u4c3c\u4c3d", + "\u0007Q\u0002\u0002\u4c3d\u4c3e\u0007W\u0002\u0002\u4c3e\u4c3f\u0007", + "P\u0002\u0002\u4c3f\u4c40\u0007V\u0002\u0002\u4c40\u0ac8\u0003\u0002", + "\u0002\u0002\u4c41\u4c42\u0007T\u0002\u0002\u4c42\u4c43\u0007G\u0002", + "\u0002\u4c43\u4c44\u0007I\u0002\u0002\u4c44\u4c45\u0007G\u0002\u0002", + "\u4c45\u4c46\u0007Z\u0002\u0002\u4c46\u4c47\u0007R\u0002\u0002\u4c47", + "\u4c48\u0007a\u0002\u0002\u4c48\u4c49\u0007K\u0002\u0002\u4c49\u4c4a", + "\u0007P\u0002\u0002\u4c4a\u4c4b\u0007U\u0002\u0002\u4c4b\u4c4c\u0007", + "V\u0002\u0002\u4c4c\u4c4d\u0007T\u0002\u0002\u4c4d\u0aca\u0003\u0002", + "\u0002\u0002\u4c4e\u4c4f\u0007T\u0002\u0002\u4c4f\u4c50\u0007G\u0002", + "\u0002\u4c50\u4c51\u0007I\u0002\u0002\u4c51\u4c52\u0007G\u0002\u0002", + "\u4c52\u4c53\u0007Z\u0002\u0002\u4c53\u4c54\u0007R\u0002\u0002\u4c54", + "\u4c55\u0007a\u0002\u0002\u4c55\u4c56\u0007N\u0002\u0002\u4c56\u4c57", + "\u0007K\u0002\u0002\u4c57\u4c58\u0007M\u0002\u0002\u4c58\u4c59\u0007", + "G\u0002\u0002\u4c59\u0acc\u0003\u0002\u0002\u0002\u4c5a\u4c5b\u0007", + "T\u0002\u0002\u4c5b\u4c5c\u0007G\u0002\u0002\u4c5c\u4c5d\u0007I\u0002", + "\u0002\u4c5d\u4c5e\u0007G\u0002\u0002\u4c5e\u4c5f\u0007Z\u0002\u0002", + "\u4c5f\u4c60\u0007R\u0002\u0002\u4c60\u4c61\u0007a\u0002\u0002\u4c61", + "\u4c62\u0007T\u0002\u0002\u4c62\u4c63\u0007G\u0002\u0002\u4c63\u4c64", + "\u0007R\u0002\u0002\u4c64\u4c65\u0007N\u0002\u0002\u4c65\u4c66\u0007", + "C\u0002\u0002\u4c66\u4c67\u0007E\u0002\u0002\u4c67\u4c68\u0007G\u0002", + "\u0002\u4c68\u0ace\u0003\u0002\u0002\u0002\u4c69\u4c6a\u0007T\u0002", + "\u0002\u4c6a\u4c6b\u0007G\u0002\u0002\u4c6b\u4c6c\u0007I\u0002\u0002", + "\u4c6c\u4c6d\u0007G\u0002\u0002\u4c6d\u4c6e\u0007Z\u0002\u0002\u4c6e", + "\u4c6f\u0007R\u0002\u0002\u4c6f\u4c70\u0007a\u0002\u0002\u4c70\u4c71", + "\u0007U\u0002\u0002\u4c71\u4c72\u0007W\u0002\u0002\u4c72\u4c73\u0007", + "D\u0002\u0002\u4c73\u4c74\u0007U\u0002\u0002\u4c74\u4c75\u0007V\u0002", + "\u0002\u4c75\u4c76\u0007T\u0002\u0002\u4c76\u0ad0\u0003\u0002\u0002", + "\u0002\u4c77\u4c78\u0007T\u0002\u0002\u4c78\u4c79\u0007G\u0002\u0002", + "\u4c79\u4c7a\u0007I\u0002\u0002\u4c7a\u4c7b\u0007K\u0002\u0002\u4c7b", + "\u4c7c\u0007U\u0002\u0002\u4c7c\u4c7d\u0007V\u0002\u0002\u4c7d\u4c7e", + "\u0007G\u0002\u0002\u4c7e\u4c7f\u0007T\u0002\u0002\u4c7f\u0ad2\u0003", + "\u0002\u0002\u0002\u4c80\u4c81\u0007T\u0002\u0002\u4c81\u4c82\u0007", + "G\u0002\u0002\u4c82\u4c83\u0007I\u0002\u0002\u4c83\u4c84\u0007T\u0002", + "\u0002\u4c84\u4c85\u0007a\u0002\u0002\u4c85\u4c86\u0007C\u0002\u0002", + "\u4c86\u4c87\u0007X\u0002\u0002\u4c87\u4c88\u0007I\u0002\u0002\u4c88", + "\u4c89\u0007Z\u0002\u0002\u4c89\u0ad4\u0003\u0002\u0002\u0002\u4c8a", + "\u4c8b\u0007T\u0002\u0002\u4c8b\u4c8c\u0007G\u0002\u0002\u4c8c\u4c8d", + "\u0007I\u0002\u0002\u4c8d\u4c8e\u0007T\u0002\u0002\u4c8e\u4c8f\u0007", + "a\u0002\u0002\u4c8f\u4c90\u0007C\u0002\u0002\u4c90\u4c91\u0007X\u0002", + "\u0002\u4c91\u4c92\u0007I\u0002\u0002\u4c92\u4c93\u0007[\u0002\u0002", + "\u4c93\u0ad6\u0003\u0002\u0002\u0002\u4c94\u4c95\u0007T\u0002\u0002", + "\u4c95\u4c96\u0007G\u0002\u0002\u4c96\u4c97\u0007I\u0002\u0002\u4c97", + "\u4c98\u0007T\u0002\u0002\u4c98\u4c99\u0007a\u0002\u0002\u4c99\u4c9a", + "\u0007E\u0002\u0002\u4c9a\u4c9b\u0007Q\u0002\u0002\u4c9b\u4c9c\u0007", + "W\u0002\u0002\u4c9c\u4c9d\u0007P\u0002\u0002\u4c9d\u4c9e\u0007V\u0002", + "\u0002\u4c9e\u0ad8\u0003\u0002\u0002\u0002\u4c9f\u4ca0\u0007T\u0002", + "\u0002\u4ca0\u4ca1\u0007G\u0002\u0002\u4ca1\u4ca2\u0007I\u0002\u0002", + "\u4ca2\u4ca3\u0007T\u0002\u0002\u4ca3\u4ca4\u0007a\u0002\u0002\u4ca4", + "\u4ca5\u0007K\u0002\u0002\u4ca5\u4ca6\u0007P\u0002\u0002\u4ca6\u4ca7", + "\u0007V\u0002\u0002\u4ca7\u4ca8\u0007G\u0002\u0002\u4ca8\u4ca9\u0007", + "T\u0002\u0002\u4ca9\u4caa\u0007E\u0002\u0002\u4caa\u4cab\u0007G\u0002", + "\u0002\u4cab\u4cac\u0007R\u0002\u0002\u4cac\u4cad\u0007V\u0002\u0002", + "\u4cad\u0ada\u0003\u0002\u0002\u0002\u4cae\u4caf\u0007T\u0002\u0002", + "\u4caf\u4cb0\u0007G\u0002\u0002\u4cb0\u4cb1\u0007I\u0002\u0002\u4cb1", + "\u4cb2\u0007T\u0002\u0002\u4cb2\u4cb3\u0007a\u0002\u0002\u4cb3\u4cb4", + "\u0007T\u0002\u0002\u4cb4\u4cb5\u00074\u0002\u0002\u4cb5\u0adc\u0003", + "\u0002\u0002\u0002\u4cb6\u4cb7\u0007T\u0002\u0002\u4cb7\u4cb8\u0007", + "G\u0002\u0002\u4cb8\u4cb9\u0007I\u0002\u0002\u4cb9\u4cba\u0007T\u0002", + "\u0002\u4cba\u4cbb\u0007a\u0002\u0002\u4cbb\u4cbc\u0007U\u0002\u0002", + "\u4cbc\u4cbd\u0007N\u0002\u0002\u4cbd\u4cbe\u0007Q\u0002\u0002\u4cbe", + "\u4cbf\u0007R\u0002\u0002\u4cbf\u4cc0\u0007G\u0002\u0002\u4cc0\u0ade", + "\u0003\u0002\u0002\u0002\u4cc1\u4cc2\u0007T\u0002\u0002\u4cc2\u4cc3", + "\u0007G\u0002\u0002\u4cc3\u4cc4\u0007I\u0002\u0002\u4cc4\u4cc5\u0007", + "T\u0002\u0002\u4cc5\u4cc6\u0007a\u0002\u0002\u4cc6\u4cc7\u0007U\u0002", + "\u0002\u4cc7\u4cc8\u0007Z\u0002\u0002\u4cc8\u4cc9\u0007Z\u0002\u0002", + "\u4cc9\u0ae0\u0003\u0002\u0002\u0002\u4cca\u4ccb\u0007T\u0002\u0002", + "\u4ccb\u4ccc\u0007G\u0002\u0002\u4ccc\u4ccd\u0007I\u0002\u0002\u4ccd", + "\u4cce\u0007T\u0002\u0002\u4cce\u4ccf\u0007a\u0002\u0002\u4ccf\u4cd0", + "\u0007U\u0002\u0002\u4cd0\u4cd1\u0007Z\u0002\u0002\u4cd1\u4cd2\u0007", + "[\u0002\u0002\u4cd2\u0ae2\u0003\u0002\u0002\u0002\u4cd3\u4cd4\u0007", + "T\u0002\u0002\u4cd4\u4cd5\u0007G\u0002\u0002\u4cd5\u4cd6\u0007I\u0002", + "\u0002\u4cd6\u4cd7\u0007T\u0002\u0002\u4cd7\u4cd8\u0007a\u0002\u0002", + "\u4cd8\u4cd9\u0007U\u0002\u0002\u4cd9\u4cda\u0007[\u0002\u0002\u4cda", + "\u4cdb\u0007[\u0002\u0002\u4cdb\u0ae4\u0003\u0002\u0002\u0002\u4cdc", + "\u4cdd\u0007T\u0002\u0002\u4cdd\u4cde\u0007G\u0002\u0002\u4cde\u4cdf", + "\u0007I\u0002\u0002\u4cdf\u4ce0\u0007W\u0002\u0002\u4ce0\u4ce1\u0007", + "N\u0002\u0002\u4ce1\u4ce2\u0007C\u0002\u0002\u4ce2\u4ce3\u0007T\u0002", + "\u0002\u4ce3\u0ae6\u0003\u0002\u0002\u0002\u4ce4\u4ce5\u0007T\u0002", + "\u0002\u4ce5\u4ce6\u0007G\u0002\u0002\u4ce6\u4ce7\u0007L\u0002\u0002", + "\u4ce7\u4ce8\u0007G\u0002\u0002\u4ce8\u4ce9\u0007E\u0002\u0002\u4ce9", + "\u4cea\u0007V\u0002\u0002\u4cea\u0ae8\u0003\u0002\u0002\u0002\u4ceb", + "\u4cec\u0007T\u0002\u0002\u4cec\u4ced\u0007G\u0002\u0002\u4ced\u4cee", + "\u0007M\u0002\u0002\u4cee\u4cef\u0007G\u0002\u0002\u4cef\u4cf0\u0007", + "[\u0002\u0002\u4cf0\u0aea\u0003\u0002\u0002\u0002\u4cf1\u4cf2\u0007", + "T\u0002\u0002\u4cf2\u4cf3\u0007G\u0002\u0002\u4cf3\u4cf4\u0007N\u0002", + "\u0002\u4cf4\u4cf5\u0007C\u0002\u0002\u4cf5\u4cf6\u0007V\u0002\u0002", + "\u4cf6\u4cf7\u0007K\u0002\u0002\u4cf7\u4cf8\u0007Q\u0002\u0002\u4cf8", + "\u4cf9\u0007P\u0002\u0002\u4cf9\u4cfa\u0007C\u0002\u0002\u4cfa\u4cfb", + "\u0007N\u0002\u0002\u4cfb\u0aec\u0003\u0002\u0002\u0002\u4cfc\u4cfd", + "\u0007T\u0002\u0002\u4cfd\u4cfe\u0007G\u0002\u0002\u4cfe\u4cff\u0007", + "N\u0002\u0002\u4cff\u4d00\u0007K\u0002\u0002\u4d00\u4d01\u0007G\u0002", + "\u0002\u4d01\u4d02\u0007U\u0002\u0002\u4d02\u4d03\u0007a\u0002\u0002", + "\u4d03\u4d04\u0007Q\u0002\u0002\u4d04\u4d05\u0007P\u0002\u0002\u4d05", + "\u0aee\u0003\u0002\u0002\u0002\u4d06\u4d07\u0007T\u0002\u0002\u4d07", + "\u4d08\u0007G\u0002\u0002\u4d08\u4d09\u0007N\u0002\u0002\u4d09\u4d0a", + "\u0007Q\u0002\u0002\u4d0a\u4d0b\u0007E\u0002\u0002\u4d0b\u4d0c\u0007", + "C\u0002\u0002\u4d0c\u4d0d\u0007V\u0002\u0002\u4d0d\u4d0e\u0007G\u0002", + "\u0002\u4d0e\u0af0\u0003\u0002\u0002\u0002\u4d0f\u4d10\u0007T\u0002", + "\u0002\u4d10\u4d11\u0007G\u0002\u0002\u4d11\u4d12\u0007N\u0002\u0002", + "\u4d12\u4d13\u0007[\u0002\u0002\u4d13\u0af2\u0003\u0002\u0002\u0002", + "\u4d14\u4d15\u0007T\u0002\u0002\u4d15\u4d16\u0007G\u0002\u0002\u4d16", + "\u4d17\u0007O\u0002\u0002\u4d17\u4d18\u0007C\u0002\u0002\u4d18\u4d19", + "\u0007K\u0002\u0002\u4d19\u4d1a\u0007P\u0002\u0002\u4d1a\u4d1b\u0007", + "F\u0002\u0002\u4d1b\u4d1c\u0007G\u0002\u0002\u4d1c\u4d1d\u0007T\u0002", + "\u0002\u4d1d\u0af4\u0003\u0002\u0002\u0002\u4d1e\u4d1f\u0007T\u0002", + "\u0002\u4d1f\u4d20\u0007G\u0002\u0002\u4d20\u4d21\u0007O\u0002\u0002", + "\u4d21\u4d22\u0007Q\u0002\u0002\u4d22\u4d23\u0007V\u0002\u0002\u4d23", + "\u4d24\u0007G\u0002\u0002\u4d24\u4d25\u0007a\u0002\u0002\u4d25\u4d26", + "\u0007O\u0002\u0002\u4d26\u4d27\u0007C\u0002\u0002\u4d27\u4d28\u0007", + "R\u0002\u0002\u4d28\u4d29\u0007R\u0002\u0002\u4d29\u4d2a\u0007G\u0002", + "\u0002\u4d2a\u4d2b\u0007F\u0002\u0002\u4d2b\u0af6\u0003\u0002\u0002", + "\u0002\u4d2c\u4d2d\u0007T\u0002\u0002\u4d2d\u4d2e\u0007G\u0002\u0002", + "\u4d2e\u4d2f\u0007O\u0002\u0002\u4d2f\u4d30\u0007Q\u0002\u0002\u4d30", + "\u4d31\u0007X\u0002\u0002\u4d31\u4d32\u0007G\u0002\u0002\u4d32\u0af8", + "\u0003\u0002\u0002\u0002\u4d33\u4d34\u0007T\u0002\u0002\u4d34\u4d35", + "\u0007G\u0002\u0002\u4d35\u4d36\u0007P\u0002\u0002\u4d36\u4d37\u0007", + "C\u0002\u0002\u4d37\u4d38\u0007O\u0002\u0002\u4d38\u4d39\u0007G\u0002", + "\u0002\u4d39\u0afa\u0003\u0002\u0002\u0002\u4d3a\u4d3b\u0007T\u0002", + "\u0002\u4d3b\u4d3c\u0007G\u0002\u0002\u4d3c\u4d3d\u0007R\u0002\u0002", + "\u4d3d\u4d3e\u0007C\u0002\u0002\u4d3e\u4d3f\u0007K\u0002\u0002\u4d3f", + "\u4d40\u0007T\u0002\u0002\u4d40\u0afc\u0003\u0002\u0002\u0002\u4d41", + "\u4d42\u0007T\u0002\u0002\u4d42\u4d43\u0007G\u0002\u0002\u4d43\u4d44", + "\u0007R\u0002\u0002\u4d44\u4d45\u0007G\u0002\u0002\u4d45\u4d46\u0007", + "C\u0002\u0002\u4d46\u4d47\u0007V\u0002\u0002\u4d47\u0afe\u0003\u0002", + "\u0002\u0002\u4d48\u4d49\u0007T\u0002\u0002\u4d49\u4d4a\u0007G\u0002", + "\u0002\u4d4a\u4d4b\u0007R\u0002\u0002\u4d4b\u4d4c\u0007N\u0002\u0002", + "\u4d4c\u4d4d\u0007C\u0002\u0002\u4d4d\u4d4e\u0007E\u0002\u0002\u4d4e", + "\u4d4f\u0007G\u0002\u0002\u4d4f\u0b00\u0003\u0002\u0002\u0002\u4d50", + "\u4d51\u0007T\u0002\u0002\u4d51\u4d52\u0007G\u0002\u0002\u4d52\u4d53", + "\u0007R\u0002\u0002\u4d53\u4d54\u0007N\u0002\u0002\u4d54\u4d55\u0007", + "K\u0002\u0002\u4d55\u4d56\u0007E\u0002\u0002\u4d56\u4d57\u0007C\u0002", + "\u0002\u4d57\u4d58\u0007V\u0002\u0002\u4d58\u4d59\u0007K\u0002\u0002", + "\u4d59\u4d5a\u0007Q\u0002\u0002\u4d5a\u4d5b\u0007P\u0002\u0002\u4d5b", + "\u0b02\u0003\u0002\u0002\u0002\u4d5c\u4d5d\u0007T\u0002\u0002\u4d5d", + "\u4d5e\u0007G\u0002\u0002\u4d5e\u4d5f\u0007S\u0002\u0002\u4d5f\u4d60", + "\u0007W\u0002\u0002\u4d60\u4d61\u0007K\u0002\u0002\u4d61\u4d62\u0007", + "T\u0002\u0002\u4d62\u4d63\u0007G\u0002\u0002\u4d63\u4d64\u0007F\u0002", + "\u0002\u4d64\u0b04\u0003\u0002\u0002\u0002\u4d65\u4d66\u0007T\u0002", + "\u0002\u4d66\u4d67\u0007G\u0002\u0002\u4d67\u4d68\u0007U\u0002\u0002", + "\u4d68\u4d69\u0007G\u0002\u0002\u4d69\u4d6a\u0007V\u0002\u0002\u4d6a", + "\u4d6b\u0007N\u0002\u0002\u4d6b\u4d6c\u0007Q\u0002\u0002\u4d6c\u4d6d", + "\u0007I\u0002\u0002\u4d6d\u4d6e\u0007U\u0002\u0002\u4d6e\u0b06\u0003", + "\u0002\u0002\u0002\u4d6f\u4d70\u0007T\u0002\u0002\u4d70\u4d71\u0007", + "G\u0002\u0002\u4d71\u4d72\u0007U\u0002\u0002\u4d72\u4d73\u0007G\u0002", + "\u0002\u4d73\u4d74\u0007V\u0002\u0002\u4d74\u0b08\u0003\u0002\u0002", + "\u0002\u4d75\u4d76\u0007T\u0002\u0002\u4d76\u4d77\u0007G\u0002\u0002", + "\u4d77\u4d78\u0007U\u0002\u0002\u4d78\u4d79\u0007K\u0002\u0002\u4d79", + "\u4d7a\u0007\\\u0002\u0002\u4d7a\u4d7b\u0007G\u0002\u0002\u4d7b\u0b0a", + "\u0003\u0002\u0002\u0002\u4d7c\u4d7d\u0007T\u0002\u0002\u4d7d\u4d7e", + "\u0007G\u0002\u0002\u4d7e\u4d7f\u0007U\u0002\u0002\u4d7f\u4d80\u0007", + "Q\u0002\u0002\u4d80\u4d81\u0007N\u0002\u0002\u4d81\u4d82\u0007X\u0002", + "\u0002\u4d82\u4d83\u0007G\u0002\u0002\u4d83\u0b0c\u0003\u0002\u0002", + "\u0002\u4d84\u4d85\u0007T\u0002\u0002\u4d85\u4d86\u0007G\u0002\u0002", + "\u4d86\u4d87\u0007U\u0002\u0002\u4d87\u4d88\u0007Q\u0002\u0002\u4d88", + "\u4d89\u0007N\u0002\u0002\u4d89\u4d8a\u0007X\u0002\u0002\u4d8a\u4d8b", + "\u0007G\u0002\u0002\u4d8b\u4d8c\u0007T\u0002\u0002\u4d8c\u0b0e\u0003", + "\u0002\u0002\u0002\u4d8d\u4d8e\u0007T\u0002\u0002\u4d8e\u4d8f\u0007", + "G\u0002\u0002\u4d8f\u4d90\u0007U\u0002\u0002\u4d90\u4d91\u0007Q\u0002", + "\u0002\u4d91\u4d92\u0007W\u0002\u0002\u4d92\u4d93\u0007T\u0002\u0002", + "\u4d93\u4d94\u0007E\u0002\u0002\u4d94\u4d95\u0007G\u0002\u0002\u4d95", + "\u0b10\u0003\u0002\u0002\u0002\u4d96\u4d97\u0007T\u0002\u0002\u4d97", + "\u4d98\u0007G\u0002\u0002\u4d98\u4d99\u0007U\u0002\u0002\u4d99\u4d9a", + "\u0007R\u0002\u0002\u4d9a\u4d9b\u0007G\u0002\u0002\u4d9b\u4d9c\u0007", + "E\u0002\u0002\u4d9c\u4d9d\u0007V\u0002\u0002\u4d9d\u0b12\u0003\u0002", + "\u0002\u0002\u4d9e\u4d9f\u0007T\u0002\u0002\u4d9f\u4da0\u0007G\u0002", + "\u0002\u4da0\u4da1\u0007U\u0002\u0002\u4da1\u4da2\u0007V\u0002\u0002", + "\u4da2\u4da3\u0007C\u0002\u0002\u4da3\u4da4\u0007T\u0002\u0002\u4da4", + "\u4da5\u0007V\u0002\u0002\u4da5\u0b14\u0003\u0002\u0002\u0002\u4da6", + "\u4da7\u0007T\u0002\u0002\u4da7\u4da8\u0007G\u0002\u0002\u4da8\u4da9", + "\u0007U\u0002\u0002\u4da9\u4daa\u0007V\u0002\u0002\u4daa\u4dab\u0007", + "Q\u0002\u0002\u4dab\u4dac\u0007T\u0002\u0002\u4dac\u4dad\u0007G\u0002", + "\u0002\u4dad\u4dae\u0007a\u0002\u0002\u4dae\u4daf\u0007C\u0002\u0002", + "\u4daf\u4db0\u0007U\u0002\u0002\u4db0\u4db1\u0007a\u0002\u0002\u4db1", + "\u4db2\u0007K\u0002\u0002\u4db2\u4db3\u0007P\u0002\u0002\u4db3\u4db4", + "\u0007V\u0002\u0002\u4db4\u4db5\u0007G\u0002\u0002\u4db5\u4db6\u0007", + "T\u0002\u0002\u4db6\u4db7\u0007X\u0002\u0002\u4db7\u4db8\u0007C\u0002", + "\u0002\u4db8\u4db9\u0007N\u0002\u0002\u4db9\u4dba\u0007U\u0002\u0002", + "\u4dba\u0b16\u0003\u0002\u0002\u0002\u4dbb\u4dbc\u0007T\u0002\u0002", + "\u4dbc\u4dbd\u0007G\u0002\u0002\u4dbd\u4dbe\u0007U\u0002\u0002\u4dbe", + "\u4dbf\u0007V\u0002\u0002\u4dbf\u4dc0\u0007Q\u0002\u0002\u4dc0\u4dc1", + "\u0007T\u0002\u0002\u4dc1\u4dc2\u0007G\u0002\u0002\u4dc2\u0b18\u0003", + "\u0002\u0002\u0002\u4dc3\u4dc4\u0007T\u0002\u0002\u4dc4\u4dc5\u0007", + "G\u0002\u0002\u4dc5\u4dc6\u0007U\u0002\u0002\u4dc6\u4dc7\u0007V\u0002", + "\u0002\u4dc7\u4dc8\u0007T\u0002\u0002\u4dc8\u4dc9\u0007K\u0002\u0002", + "\u4dc9\u4dca\u0007E\u0002\u0002\u4dca\u4dcb\u0007V\u0002\u0002\u4dcb", + "\u4dcc\u0007a\u0002\u0002\u4dcc\u4dcd\u0007C\u0002\u0002\u4dcd\u4dce", + "\u0007N\u0002\u0002\u4dce\u4dcf\u0007N\u0002\u0002\u4dcf\u4dd0\u0007", + "a\u0002\u0002\u4dd0\u4dd1\u0007T\u0002\u0002\u4dd1\u4dd2\u0007G\u0002", + "\u0002\u4dd2\u4dd3\u0007H\u0002\u0002\u4dd3\u4dd4\u0007a\u0002\u0002", + "\u4dd4\u4dd5\u0007E\u0002\u0002\u4dd5\u4dd6\u0007Q\u0002\u0002\u4dd6", + "\u4dd7\u0007P\u0002\u0002\u4dd7\u4dd8\u0007U\u0002\u0002\u4dd8\u0b1a", + "\u0003\u0002\u0002\u0002\u4dd9\u4dda\u0007T\u0002\u0002\u4dda\u4ddb", + "\u0007G\u0002\u0002\u4ddb\u4ddc\u0007U\u0002\u0002\u4ddc\u4ddd\u0007", + "V\u0002\u0002\u4ddd\u4dde\u0007T\u0002\u0002\u4dde\u4ddf\u0007K\u0002", + "\u0002\u4ddf\u4de0\u0007E\u0002\u0002\u4de0\u4de1\u0007V\u0002\u0002", + "\u4de1\u4de2\u0007G\u0002\u0002\u4de2\u4de3\u0007F\u0002\u0002\u4de3", + "\u0b1c\u0003\u0002\u0002\u0002\u4de4\u4de5\u0007T\u0002\u0002\u4de5", + "\u4de6\u0007G\u0002\u0002\u4de6\u4de7\u0007U\u0002\u0002\u4de7\u4de8", + "\u0007V\u0002\u0002\u4de8\u4de9\u0007T\u0002\u0002\u4de9\u4dea\u0007", + "K\u0002\u0002\u4dea\u4deb\u0007E\u0002\u0002\u4deb\u4dec\u0007V\u0002", + "\u0002\u4dec\u4ded\u0007a\u0002\u0002\u4ded\u4dee\u0007T\u0002\u0002", + "\u4dee\u4def\u0007G\u0002\u0002\u4def\u4df0\u0007H\u0002\u0002\u4df0", + "\u4df1\u0007G\u0002\u0002\u4df1\u4df2\u0007T\u0002\u0002\u4df2\u4df3", + "\u0007G\u0002\u0002\u4df3\u4df4\u0007P\u0002\u0002\u4df4\u4df5\u0007", + "E\u0002\u0002\u4df5\u4df6\u0007G\u0002\u0002\u4df6\u4df7\u0007U\u0002", + "\u0002\u4df7\u0b1e\u0003\u0002\u0002\u0002\u4df8\u4df9\u0007T\u0002", + "\u0002\u4df9\u4dfa\u0007G\u0002\u0002\u4dfa\u4dfb\u0007U\u0002\u0002", + "\u4dfb\u4dfc\u0007V\u0002\u0002\u4dfc\u4dfd\u0007T\u0002\u0002\u4dfd", + "\u4dfe\u0007K\u0002\u0002\u4dfe\u4dff\u0007E\u0002\u0002\u4dff\u4e00", + "\u0007V\u0002\u0002\u4e00\u0b20\u0003\u0002\u0002\u0002\u4e01\u4e02", + "\u0007T\u0002\u0002\u4e02\u4e03\u0007G\u0002\u0002\u4e03\u4e04\u0007", + "U\u0002\u0002\u4e04\u4e05\u0007W\u0002\u0002\u4e05\u4e06\u0007N\u0002", + "\u0002\u4e06\u4e07\u0007V\u0002\u0002\u4e07\u4e08\u0007a\u0002\u0002", + "\u4e08\u4e09\u0007E\u0002\u0002\u4e09\u4e0a\u0007C\u0002\u0002\u4e0a", + "\u4e0b\u0007E\u0002\u0002\u4e0b\u4e0c\u0007J\u0002\u0002\u4e0c\u4e0d", + "\u0007G\u0002\u0002\u4e0d\u0b22\u0003\u0002\u0002\u0002\u4e0e\u4e0f", + "\u0007T\u0002\u0002\u4e0f\u4e10\u0007G\u0002\u0002\u4e10\u4e11\u0007", + "U\u0002\u0002\u4e11\u4e12\u0007W\u0002\u0002\u4e12\u4e13\u0007N\u0002", + "\u0002\u4e13\u4e14\u0007V\u0002\u0002\u4e14\u0b24\u0003\u0002\u0002", + "\u0002\u4e15\u4e16\u0007T\u0002\u0002\u4e16\u4e17\u0007G\u0002\u0002", + "\u4e17\u4e18\u0007U\u0002\u0002\u4e18\u4e19\u0007W\u0002\u0002\u4e19", + "\u4e1a\u0007O\u0002\u0002\u4e1a\u4e1b\u0007C\u0002\u0002\u4e1b\u4e1c", + "\u0007D\u0002\u0002\u4e1c\u4e1d\u0007N\u0002\u0002\u4e1d\u4e1e\u0007", + "G\u0002\u0002\u4e1e\u0b26\u0003\u0002\u0002\u0002\u4e1f\u4e20\u0007", + "T\u0002\u0002\u4e20\u4e21\u0007G\u0002\u0002\u4e21\u4e22\u0007U\u0002", + "\u0002\u4e22\u4e23\u0007W\u0002\u0002\u4e23\u4e24\u0007O\u0002\u0002", + "\u4e24\u4e25\u0007G\u0002\u0002\u4e25\u0b28\u0003\u0002\u0002\u0002", + "\u4e26\u4e27\u0007T\u0002\u0002\u4e27\u4e28\u0007G\u0002\u0002\u4e28", + "\u4e29\u0007V\u0002\u0002\u4e29\u4e2a\u0007G\u0002\u0002\u4e2a\u4e2b", + "\u0007P\u0002\u0002\u4e2b\u4e2c\u0007V\u0002\u0002\u4e2c\u4e2d\u0007", + "K\u0002\u0002\u4e2d\u4e2e\u0007Q\u0002\u0002\u4e2e\u4e2f\u0007P\u0002", + "\u0002\u4e2f\u0b2a\u0003\u0002\u0002\u0002\u4e30\u4e31\u0007T\u0002", + "\u0002\u4e31\u4e32\u0007G\u0002\u0002\u4e32\u4e33\u0007V\u0002\u0002", + "\u4e33\u4e34\u0007T\u0002\u0002\u4e34\u4e35\u0007[\u0002\u0002\u4e35", + "\u4e36\u0007a\u0002\u0002\u4e36\u4e37\u0007Q\u0002\u0002\u4e37\u4e38", + "\u0007P\u0002\u0002\u4e38\u4e39\u0007a\u0002\u0002\u4e39\u4e3a\u0007", + "T\u0002\u0002\u4e3a\u4e3b\u0007Q\u0002\u0002\u4e3b\u4e3c\u0007Y\u0002", + "\u0002\u4e3c\u4e3d\u0007a\u0002\u0002\u4e3d\u4e3e\u0007E\u0002\u0002", + "\u4e3e\u4e3f\u0007J\u0002\u0002\u4e3f\u4e40\u0007C\u0002\u0002\u4e40", + "\u4e41\u0007P\u0002\u0002\u4e41\u4e42\u0007I\u0002\u0002\u4e42\u4e43", + "\u0007G\u0002\u0002\u4e43\u0b2c\u0003\u0002\u0002\u0002\u4e44\u4e45", + "\u0007T\u0002\u0002\u4e45\u4e46\u0007G\u0002\u0002\u4e46\u4e47\u0007", + "V\u0002\u0002\u4e47\u4e48\u0007W\u0002\u0002\u4e48\u4e49\u0007T\u0002", + "\u0002\u4e49\u4e4a\u0007P\u0002\u0002\u4e4a\u4e4b\u0007K\u0002\u0002", + "\u4e4b\u4e4c\u0007P\u0002\u0002\u4e4c\u4e4d\u0007I\u0002\u0002\u4e4d", + "\u0b2e\u0003\u0002\u0002\u0002\u4e4e\u4e4f\u0007T\u0002\u0002\u4e4f", + "\u4e50\u0007G\u0002\u0002\u4e50\u4e51\u0007V\u0002\u0002\u4e51\u4e52", + "\u0007W\u0002\u0002\u4e52\u4e53\u0007T\u0002\u0002\u4e53\u4e54\u0007", + "P\u0002\u0002\u4e54\u0b30\u0003\u0002\u0002\u0002\u4e55\u4e56\u0007", + "T\u0002\u0002\u4e56\u4e57\u0007G\u0002\u0002\u4e57\u4e58\u0007W\u0002", + "\u0002\u4e58\u4e59\u0007U\u0002\u0002\u4e59\u4e5a\u0007G\u0002\u0002", + "\u4e5a\u0b32\u0003\u0002\u0002\u0002\u4e5b\u4e5c\u0007T\u0002\u0002", + "\u4e5c\u4e5d\u0007G\u0002\u0002\u4e5d\u4e5e\u0007X\u0002\u0002\u4e5e", + "\u4e5f\u0007G\u0002\u0002\u4e5f\u4e60\u0007T\u0002\u0002\u4e60\u4e61", + "\u0007U\u0002\u0002\u4e61\u4e62\u0007G\u0002\u0002\u4e62\u0b34\u0003", + "\u0002\u0002\u0002\u4e63\u4e64\u0007T\u0002\u0002\u4e64\u4e65\u0007", + "G\u0002\u0002\u4e65\u4e66\u0007X\u0002\u0002\u4e66\u4e67\u0007Q\u0002", + "\u0002\u4e67\u4e68\u0007M\u0002\u0002\u4e68\u4e69\u0007G\u0002\u0002", + "\u4e69\u0b36\u0003\u0002\u0002\u0002\u4e6a\u4e6b\u0007T\u0002\u0002", + "\u4e6b\u4e6c\u0007G\u0002\u0002\u4e6c\u4e6d\u0007Y\u0002\u0002\u4e6d", + "\u4e6e\u0007T\u0002\u0002\u4e6e\u4e6f\u0007K\u0002\u0002\u4e6f\u4e70", + "\u0007V\u0002\u0002\u4e70\u4e71\u0007G\u0002\u0002\u4e71\u4e72\u0007", + "a\u0002\u0002\u4e72\u4e73\u0007Q\u0002\u0002\u4e73\u4e74\u0007T\u0002", + "\u0002\u4e74\u4e75\u0007a\u0002\u0002\u4e75\u4e76\u0007G\u0002\u0002", + "\u4e76\u4e77\u0007T\u0002\u0002\u4e77\u4e78\u0007T\u0002\u0002\u4e78", + "\u4e79\u0007Q\u0002\u0002\u4e79\u4e7a\u0007T\u0002\u0002\u4e7a\u0b38", + "\u0003\u0002\u0002\u0002\u4e7b\u4e7c\u0007T\u0002\u0002\u4e7c\u4e7d", + "\u0007G\u0002\u0002\u4e7d\u4e7e\u0007Y\u0002\u0002\u4e7e\u4e7f\u0007", + "T\u0002\u0002\u4e7f\u4e80\u0007K\u0002\u0002\u4e80\u4e81\u0007V\u0002", + "\u0002\u4e81\u4e82\u0007G\u0002\u0002\u4e82\u0b3a\u0003\u0002\u0002", + "\u0002\u4e83\u4e84\u0007T\u0002\u0002\u4e84\u4e85\u0007K\u0002\u0002", + "\u4e85\u4e86\u0007I\u0002\u0002\u4e86\u4e87\u0007J\u0002\u0002\u4e87", + "\u4e88\u0007V\u0002\u0002\u4e88\u0b3c\u0003\u0002\u0002\u0002\u4e89", + "\u4e8a\u0007T\u0002\u0002\u4e8a\u4e8b\u0007Q\u0002\u0002\u4e8b\u4e8c", + "\u0007N\u0002\u0002\u4e8c\u4e8d\u0007G\u0002\u0002\u4e8d\u0b3e\u0003", + "\u0002\u0002\u0002\u4e8e\u4e8f\u0007T\u0002\u0002\u4e8f\u4e90\u0007", + "Q\u0002\u0002\u4e90\u4e91\u0007N\u0002\u0002\u4e91\u4e92\u0007G\u0002", + "\u0002\u4e92\u4e93\u0007U\u0002\u0002\u4e93\u4e94\u0007G\u0002\u0002", + "\u4e94\u4e95\u0007V\u0002\u0002\u4e95\u0b40\u0003\u0002\u0002\u0002", + "\u4e96\u4e97\u0007T\u0002\u0002\u4e97\u4e98\u0007Q\u0002\u0002\u4e98", + "\u4e99\u0007N\u0002\u0002\u4e99\u4e9a\u0007G\u0002\u0002\u4e9a\u4e9b", + "\u0007U\u0002\u0002\u4e9b\u0b42\u0003\u0002\u0002\u0002\u4e9c\u4e9d", + "\u0007T\u0002\u0002\u4e9d\u4e9e\u0007Q\u0002\u0002\u4e9e\u4e9f\u0007", + "N\u0002\u0002\u4e9f\u4ea0\u0007N\u0002\u0002\u4ea0\u4ea1\u0007D\u0002", + "\u0002\u4ea1\u4ea2\u0007C\u0002\u0002\u4ea2\u4ea3\u0007E\u0002\u0002", + "\u4ea3\u4ea4\u0007M\u0002\u0002\u4ea4\u0b44\u0003\u0002\u0002\u0002", + "\u4ea5\u4ea6\u0007T\u0002\u0002\u4ea6\u4ea7\u0007Q\u0002\u0002\u4ea7", + "\u4ea8\u0007N\u0002\u0002\u4ea8\u4ea9\u0007N\u0002\u0002\u4ea9\u4eaa", + "\u0007K\u0002\u0002\u4eaa\u4eab\u0007P\u0002\u0002\u4eab\u4eac\u0007", + "I\u0002\u0002\u4eac\u0b46\u0003\u0002\u0002\u0002\u4ead\u4eae\u0007", + "T\u0002\u0002\u4eae\u4eaf\u0007Q\u0002\u0002\u4eaf\u4eb0\u0007N\u0002", + "\u0002\u4eb0\u4eb1\u0007N\u0002\u0002\u4eb1\u4eb2\u0007W\u0002\u0002", + "\u4eb2\u4eb3\u0007R\u0002\u0002\u4eb3\u0b48\u0003\u0002\u0002\u0002", + "\u4eb4\u4eb5\u0007T\u0002\u0002\u4eb5\u4eb6\u0007Q\u0002\u0002\u4eb6", + "\u4eb7\u0007Y\u0002\u0002\u4eb7\u4eb8\u0007F\u0002\u0002\u4eb8\u4eb9", + "\u0007G\u0002\u0002\u4eb9\u4eba\u0007R\u0002\u0002\u4eba\u4ebb\u0007", + "G\u0002\u0002\u4ebb\u4ebc\u0007P\u0002\u0002\u4ebc\u4ebd\u0007F\u0002", + "\u0002\u4ebd\u4ebe\u0007G\u0002\u0002\u4ebe\u4ebf\u0007P\u0002\u0002", + "\u4ebf\u4ec0\u0007E\u0002\u0002\u4ec0\u4ec1\u0007K\u0002\u0002\u4ec1", + "\u4ec2\u0007G\u0002\u0002\u4ec2\u4ec3\u0007U\u0002\u0002\u4ec3\u0b4a", + "\u0003\u0002\u0002\u0002\u4ec4\u4ec5\u0007T\u0002\u0002\u4ec5\u4ec6", + "\u0007Q\u0002\u0002\u4ec6\u4ec7\u0007Y\u0002\u0002\u4ec7\u4ec8\u0007", + "K\u0002\u0002\u4ec8\u4ec9\u0007F\u0002\u0002\u4ec9\u4eca\u0007a\u0002", + "\u0002\u4eca\u4ecb\u0007O\u0002\u0002\u4ecb\u4ecc\u0007C\u0002\u0002", + "\u4ecc\u4ecd\u0007R\u0002\u0002\u4ecd\u4ece\u0007R\u0002\u0002\u4ece", + "\u4ecf\u0007K\u0002\u0002\u4ecf\u4ed0\u0007P\u0002\u0002\u4ed0\u4ed1", + "\u0007I\u0002\u0002\u4ed1\u4ed2\u0007a\u0002\u0002\u4ed2\u4ed3\u0007", + "V\u0002\u0002\u4ed3\u4ed4\u0007C\u0002\u0002\u4ed4\u4ed5\u0007D\u0002", + "\u0002\u4ed5\u4ed6\u0007N\u0002\u0002\u4ed6\u4ed7\u0007G\u0002\u0002", + "\u4ed7\u0b4c\u0003\u0002\u0002\u0002\u4ed8\u4ed9\u0007T\u0002\u0002", + "\u4ed9\u4eda\u0007Q\u0002\u0002\u4eda\u4edb\u0007Y\u0002\u0002\u4edb", + "\u4edc\u0007K\u0002\u0002\u4edc\u4edd\u0007F\u0002\u0002\u4edd\u0b4e", + "\u0003\u0002\u0002\u0002\u4ede\u4edf\u0007T\u0002\u0002\u4edf\u4ee0", + "\u0007Q\u0002\u0002\u4ee0\u4ee1\u0007Y\u0002\u0002\u4ee1\u4ee2\u0007", + "K\u0002\u0002\u4ee2\u4ee3\u0007F\u0002\u0002\u4ee3\u4ee4\u0007V\u0002", + "\u0002\u4ee4\u4ee5\u0007Q\u0002\u0002\u4ee5\u4ee6\u0007E\u0002\u0002", + "\u4ee6\u4ee7\u0007J\u0002\u0002\u4ee7\u4ee8\u0007C\u0002\u0002\u4ee8", + "\u4ee9\u0007T\u0002\u0002\u4ee9\u0b50\u0003\u0002\u0002\u0002\u4eea", + "\u4eeb\u0007T\u0002\u0002\u4eeb\u4eec\u0007Q\u0002\u0002\u4eec\u4eed", + "\u0007Y\u0002\u0002\u4eed\u4eee\u0007K\u0002\u0002\u4eee\u4eef\u0007", + "F\u0002\u0002\u4eef\u4ef0\u0007V\u0002\u0002\u4ef0\u4ef1\u0007Q\u0002", + "\u0002\u4ef1\u4ef2\u0007P\u0002\u0002\u4ef2\u4ef3\u0007E\u0002\u0002", + "\u4ef3\u4ef4\u0007J\u0002\u0002\u4ef4\u4ef5\u0007C\u0002\u0002\u4ef5", + "\u4ef6\u0007T\u0002\u0002\u4ef6\u0b52\u0003\u0002\u0002\u0002\u4ef7", + "\u4ef8\u0007T\u0002\u0002\u4ef8\u4ef9\u0007Q\u0002\u0002\u4ef9\u4efa", + "\u0007Y\u0002\u0002\u4efa\u4efb\u0007a\u0002\u0002\u4efb\u4efc\u0007", + "N\u0002\u0002\u4efc\u4efd\u0007G\u0002\u0002\u4efd\u4efe\u0007P\u0002", + "\u0002\u4efe\u4eff\u0007I\u0002\u0002\u4eff\u4f00\u0007V\u0002\u0002", + "\u4f00\u4f01\u0007J\u0002\u0002\u4f01\u0b54\u0003\u0002\u0002\u0002", + "\u4f02\u4f03\u0007T\u0002\u0002\u4f03\u4f04\u0007Q\u0002\u0002\u4f04", + "\u4f05\u0007Y\u0002\u0002\u4f05\u4f06\u0007P\u0002\u0002\u4f06\u4f07", + "\u0007W\u0002\u0002\u4f07\u4f08\u0007O\u0002\u0002\u4f08\u0b56\u0003", + "\u0002\u0002\u0002\u4f09\u4f0a\u0007T\u0002\u0002\u4f0a\u4f0b\u0007", + "Q\u0002\u0002\u4f0b\u4f0c\u0007Y\u0002\u0002\u4f0c\u0b58\u0003\u0002", + "\u0002\u0002\u4f0d\u4f0e\u0007T\u0002\u0002\u4f0e\u4f0f\u0007Q\u0002", + "\u0002\u4f0f\u4f10\u0007Y\u0002\u0002\u4f10\u4f11\u0007U\u0002\u0002", + "\u4f11\u0b5a\u0003\u0002\u0002\u0002\u4f12\u4f13\u0007T\u0002\u0002", + "\u4f13\u4f14\u0007R\u0002\u0002\u4f14\u4f15\u0007C\u0002\u0002\u4f15", + "\u4f16\u0007F\u0002\u0002\u4f16\u0b5c\u0003\u0002\u0002\u0002\u4f17", + "\u4f18\u0007T\u0002\u0002\u4f18\u4f19\u0007V\u0002\u0002\u4f19\u4f1a", + "\u0007T\u0002\u0002\u4f1a\u4f1b\u0007K\u0002\u0002\u4f1b\u4f1c\u0007", + "O\u0002\u0002\u4f1c\u0b5e\u0003\u0002\u0002\u0002\u4f1d\u4f1e\u0007", + "T\u0002\u0002\u4f1e\u4f1f\u0007W\u0002\u0002\u4f1f\u4f20\u0007N\u0002", + "\u0002\u4f20\u4f21\u0007G\u0002\u0002\u4f21\u0b60\u0003\u0002\u0002", + "\u0002\u4f22\u4f23\u0007T\u0002\u0002\u4f23\u4f24\u0007W\u0002\u0002", + "\u4f24\u4f25\u0007N\u0002\u0002\u4f25\u4f26\u0007G\u0002\u0002\u4f26", + "\u4f27\u0007U\u0002\u0002\u4f27\u0b62\u0003\u0002\u0002\u0002\u4f28", + "\u4f29\u0007T\u0002\u0002\u4f29\u4f2a\u0007W\u0002\u0002\u4f2a\u4f2b", + "\u0007P\u0002\u0002\u4f2b\u4f2c\u0007P\u0002\u0002\u4f2c\u4f2d\u0007", + "K\u0002\u0002\u4f2d\u4f2e\u0007P\u0002\u0002\u4f2e\u4f2f\u0007I\u0002", + "\u0002\u4f2f\u0b64\u0003\u0002\u0002\u0002\u4f30\u4f31\u0007U\u0002", + "\u0002\u4f31\u4f32\u0007C\u0002\u0002\u4f32\u4f33\u0007N\u0002\u0002", + "\u4f33\u4f34\u0007V\u0002\u0002\u4f34\u0b66\u0003\u0002\u0002\u0002", + "\u4f35\u4f36\u0007U\u0002\u0002\u4f36\u4f37\u0007C\u0002\u0002\u4f37", + "\u4f38\u0007O\u0002\u0002\u4f38\u4f39\u0007R\u0002\u0002\u4f39\u4f3a", + "\u0007N\u0002\u0002\u4f3a\u4f3b\u0007G\u0002\u0002\u4f3b\u0b68\u0003", + "\u0002\u0002\u0002\u4f3c\u4f3d\u0007U\u0002\u0002\u4f3d\u4f3e\u0007", + "C\u0002\u0002\u4f3e\u4f3f\u0007X\u0002\u0002\u4f3f\u4f40\u0007G\u0002", + "\u0002\u4f40\u4f41\u0007a\u0002\u0002\u4f41\u4f42\u0007C\u0002\u0002", + "\u4f42\u4f43\u0007U\u0002\u0002\u4f43\u4f44\u0007a\u0002\u0002\u4f44", + "\u4f45\u0007K\u0002\u0002\u4f45\u4f46\u0007P\u0002\u0002\u4f46\u4f47", + "\u0007V\u0002\u0002\u4f47\u4f48\u0007G\u0002\u0002\u4f48\u4f49\u0007", + "T\u0002\u0002\u4f49\u4f4a\u0007X\u0002\u0002\u4f4a\u4f4b\u0007C\u0002", + "\u0002\u4f4b\u4f4c\u0007N\u0002\u0002\u4f4c\u4f4d\u0007U\u0002\u0002", + "\u4f4d\u0b6a\u0003\u0002\u0002\u0002\u4f4e\u4f4f\u0007U\u0002\u0002", + "\u4f4f\u4f50\u0007C\u0002\u0002\u4f50\u4f51\u0007X\u0002\u0002\u4f51", + "\u4f52\u0007G\u0002\u0002\u4f52\u4f53\u0007R\u0002\u0002\u4f53\u4f54", + "\u0007Q\u0002\u0002\u4f54\u4f55\u0007K\u0002\u0002\u4f55\u4f56\u0007", + "P\u0002\u0002\u4f56\u4f57\u0007V\u0002\u0002\u4f57\u0b6c\u0003\u0002", + "\u0002\u0002\u4f58\u4f59\u0007U\u0002\u0002\u4f59\u4f5a\u0007C\u0002", + "\u0002\u4f5a\u4f5b\u0007X\u0002\u0002\u4f5b\u4f5c\u0007G\u0002\u0002", + "\u4f5c\u0b6e\u0003\u0002\u0002\u0002\u4f5d\u4f5e\u0007U\u0002\u0002", + "\u4f5e\u4f5f\u0007D\u0002\u0002\u4f5f\u4f60\u00076\u0002\u0002\u4f60", + "\u0b70\u0003\u0002\u0002\u0002\u4f61\u4f62\u0007U\u0002\u0002\u4f62", + "\u4f63\u0007E\u0002\u0002\u4f63\u4f64\u0007C\u0002\u0002\u4f64\u4f65", + "\u0007N\u0002\u0002\u4f65\u4f66\u0007G\u0002\u0002\u4f66\u4f67\u0007", + "a\u0002\u0002\u4f67\u4f68\u0007T\u0002\u0002\u4f68\u4f69\u0007Q\u0002", + "\u0002\u4f69\u4f6a\u0007Y\u0002\u0002\u4f6a\u4f6b\u0007U\u0002\u0002", + "\u4f6b\u0b72\u0003\u0002\u0002\u0002\u4f6c\u4f6d\u0007U\u0002\u0002", + "\u4f6d\u4f6e\u0007E\u0002\u0002\u4f6e\u4f6f\u0007C\u0002\u0002\u4f6f", + "\u4f70\u0007N\u0002\u0002\u4f70\u4f71\u0007G\u0002\u0002\u4f71\u0b74", + "\u0003\u0002\u0002\u0002\u4f72\u4f73\u0007U\u0002\u0002\u4f73\u4f74", + "\u0007E\u0002\u0002\u4f74\u4f75\u0007C\u0002\u0002\u4f75\u4f76\u0007", + "P\u0002\u0002\u4f76\u4f77\u0007a\u0002\u0002\u4f77\u4f78\u0007K\u0002", + "\u0002\u4f78\u4f79\u0007P\u0002\u0002\u4f79\u4f7a\u0007U\u0002\u0002", + "\u4f7a\u4f7b\u0007V\u0002\u0002\u4f7b\u4f7c\u0007C\u0002\u0002\u4f7c", + "\u4f7d\u0007P\u0002\u0002\u4f7d\u4f7e\u0007E\u0002\u0002\u4f7e\u4f7f", + "\u0007G\u0002\u0002\u4f7f\u4f80\u0007U\u0002\u0002\u4f80\u0b76\u0003", + "\u0002\u0002\u0002\u4f81\u4f82\u0007U\u0002\u0002\u4f82\u4f83\u0007", + "E\u0002\u0002\u4f83\u4f84\u0007C\u0002\u0002\u4f84\u4f85\u0007P\u0002", + "\u0002\u4f85\u0b78\u0003\u0002\u0002\u0002\u4f86\u4f87\u0007U\u0002", + "\u0002\u4f87\u4f88\u0007E\u0002\u0002\u4f88\u4f89\u0007J\u0002\u0002", + "\u4f89\u4f8a\u0007G\u0002\u0002\u4f8a\u4f8b\u0007F\u0002\u0002\u4f8b", + "\u4f8c\u0007W\u0002\u0002\u4f8c\u4f8d\u0007N\u0002\u0002\u4f8d\u4f8e", + "\u0007G\u0002\u0002\u4f8e\u4f8f\u0007T\u0002\u0002\u4f8f\u0b7a\u0003", + "\u0002\u0002\u0002\u4f90\u4f91\u0007U\u0002\u0002\u4f91\u4f92\u0007", + "E\u0002\u0002\u4f92\u4f93\u0007J\u0002\u0002\u4f93\u4f94\u0007G\u0002", + "\u0002\u4f94\u4f95\u0007O\u0002\u0002\u4f95\u4f96\u0007C\u0002\u0002", + "\u4f96\u4f97\u0007E\u0002\u0002\u4f97\u4f98\u0007J\u0002\u0002\u4f98", + "\u4f99\u0007G\u0002\u0002\u4f99\u4f9a\u0007E\u0002\u0002\u4f9a\u4f9b", + "\u0007M\u0002\u0002\u4f9b\u0b7c\u0003\u0002\u0002\u0002\u4f9c\u4f9d", + "\u0007U\u0002\u0002\u4f9d\u4f9e\u0007E\u0002\u0002\u4f9e\u4f9f\u0007", + "J\u0002\u0002\u4f9f\u4fa0\u0007G\u0002\u0002\u4fa0\u4fa1\u0007O\u0002", + "\u0002\u4fa1\u4fa2\u0007C\u0002\u0002\u4fa2\u0b7e\u0003\u0002\u0002", + "\u0002\u4fa3\u4fa4\u0007U\u0002\u0002\u4fa4\u4fa5\u0007E\u0002\u0002", + "\u4fa5\u4fa6\u0007P\u0002\u0002\u4fa6\u4fa7\u0007a\u0002\u0002\u4fa7", + "\u4fa8\u0007C\u0002\u0002\u4fa8\u4fa9\u0007U\u0002\u0002\u4fa9\u4faa", + "\u0007E\u0002\u0002\u4faa\u4fab\u0007G\u0002\u0002\u4fab\u4fac\u0007", + "P\u0002\u0002\u4fac\u4fad\u0007F\u0002\u0002\u4fad\u4fae\u0007K\u0002", + "\u0002\u4fae\u4faf\u0007P\u0002\u0002\u4faf\u4fb0\u0007I\u0002\u0002", + "\u4fb0\u0b80\u0003\u0002\u0002\u0002\u4fb1\u4fb2\u0007U\u0002\u0002", + "\u4fb2\u4fb3\u0007E\u0002\u0002\u4fb3\u4fb4\u0007P\u0002\u0002\u4fb4", + "\u0b82\u0003\u0002\u0002\u0002\u4fb5\u4fb6\u0007U\u0002\u0002\u4fb6", + "\u4fb7\u0007E\u0002\u0002\u4fb7\u4fb8\u0007Q\u0002\u0002\u4fb8\u4fb9", + "\u0007R\u0002\u0002\u4fb9\u4fba\u0007G\u0002\u0002\u4fba\u0b84\u0003", + "\u0002\u0002\u0002\u4fbb\u4fbc\u0007U\u0002\u0002\u4fbc\u4fbd\u0007", + "E\u0002\u0002\u4fbd\u4fbe\u0007T\u0002\u0002\u4fbe\u4fbf\u0007W\u0002", + "\u0002\u4fbf\u4fc0\u0007D\u0002\u0002\u4fc0\u0b86\u0003\u0002\u0002", + "\u0002\u4fc1\u4fc2\u0007U\u0002\u0002\u4fc2\u4fc3\u0007F\u0002\u0002", + "\u4fc3\u4fc4\u0007a\u0002\u0002\u4fc4\u4fc5\u0007C\u0002\u0002\u4fc5", + "\u4fc6\u0007N\u0002\u0002\u4fc6\u4fc7\u0007N\u0002\u0002\u4fc7\u0b88", + "\u0003\u0002\u0002\u0002\u4fc8\u4fc9\u0007U\u0002\u0002\u4fc9\u4fca", + "\u0007F\u0002\u0002\u4fca\u4fcb\u0007a\u0002\u0002\u4fcb\u4fcc\u0007", + "K\u0002\u0002\u4fcc\u4fcd\u0007P\u0002\u0002\u4fcd\u4fce\u0007J\u0002", + "\u0002\u4fce\u4fcf\u0007K\u0002\u0002\u4fcf\u4fd0\u0007D\u0002\u0002", + "\u4fd0\u4fd1\u0007K\u0002\u0002\u4fd1\u4fd2\u0007V\u0002\u0002\u4fd2", + "\u0b8a\u0003\u0002\u0002\u0002\u4fd3\u4fd4\u0007U\u0002\u0002\u4fd4", + "\u4fd5\u0007F\u0002\u0002\u4fd5\u4fd6\u0007Q\u0002\u0002\u4fd6\u4fd7", + "\u0007a\u0002\u0002\u4fd7\u4fd8\u0007I\u0002\u0002\u4fd8\u4fd9\u0007", + "G\u0002\u0002\u4fd9\u4fda\u0007Q\u0002\u0002\u4fda\u4fdb\u0007O\u0002", + "\u0002\u4fdb\u4fdc\u0007a\u0002\u0002\u4fdc\u4fdd\u0007O\u0002\u0002", + "\u4fdd\u4fde\u0007D\u0002\u0002\u4fde\u4fdf\u0007T\u0002\u0002\u4fdf", + "\u0b8c\u0003\u0002\u0002\u0002\u4fe0\u4fe1\u0007U\u0002\u0002\u4fe1", + "\u4fe2\u0007F\u0002\u0002\u4fe2\u4fe3\u0007a\u0002\u0002\u4fe3\u4fe4", + "\u0007U\u0002\u0002\u4fe4\u4fe5\u0007J\u0002\u0002\u4fe5\u4fe6\u0007", + "Q\u0002\u0002\u4fe6\u4fe7\u0007Y\u0002\u0002\u4fe7\u0b8e\u0003\u0002", + "\u0002\u0002\u4fe8\u4fe9\u0007U\u0002\u0002\u4fe9\u4fea\u0007G\u0002", + "\u0002\u4fea\u4feb\u0007C\u0002\u0002\u4feb\u4fec\u0007T\u0002\u0002", + "\u4fec\u4fed\u0007E\u0002\u0002\u4fed\u4fee\u0007J\u0002\u0002\u4fee", + "\u0b90\u0003\u0002\u0002\u0002\u4fef\u4ff0\u0007U\u0002\u0002\u4ff0", + "\u4ff1\u0007G\u0002\u0002\u4ff1\u4ff2\u0007E\u0002\u0002\u4ff2\u4ff3", + "\u0007Q\u0002\u0002\u4ff3\u4ff4\u0007P\u0002\u0002\u4ff4\u4ff5\u0007", + "F\u0002\u0002\u4ff5\u0b92\u0003\u0002\u0002\u0002\u4ff6\u4ff7\u0007", + "U\u0002\u0002\u4ff7\u4ff8\u0007G\u0002\u0002\u4ff8\u4ff9\u0007E\u0002", + "\u0002\u4ff9\u4ffa\u0007T\u0002\u0002\u4ffa\u4ffb\u0007G\u0002\u0002", + "\u4ffb\u4ffc\u0007V\u0002\u0002\u4ffc\u0b94\u0003\u0002\u0002\u0002", + "\u4ffd\u4ffe\u0007U\u0002\u0002\u4ffe\u4fff\u0007G\u0002\u0002\u4fff", + "\u5000\u0007E\u0002\u0002\u5000\u5001\u0007W\u0002\u0002\u5001\u5002", + "\u0007T\u0002\u0002\u5002\u5003\u0007G\u0002\u0002\u5003\u5004\u0007", + "H\u0002\u0002\u5004\u5005\u0007K\u0002\u0002\u5005\u5006\u0007N\u0002", + "\u0002\u5006\u5007\u0007G\u0002\u0002\u5007\u5008\u0007a\u0002\u0002", + "\u5008\u5009\u0007F\u0002\u0002\u5009\u500a\u0007D\u0002\u0002\u500a", + "\u500b\u0007C\u0002\u0002\u500b\u0b96\u0003\u0002\u0002\u0002\u500c", + "\u500d\u0007U\u0002\u0002\u500d\u500e\u0007G\u0002\u0002\u500e\u500f", + "\u0007E\u0002\u0002\u500f\u5010\u0007W\u0002\u0002\u5010\u5011\u0007", + "T\u0002\u0002\u5011\u5012\u0007G\u0002\u0002\u5012\u5013\u0007H\u0002", + "\u0002\u5013\u5014\u0007K\u0002\u0002\u5014\u5015\u0007N\u0002\u0002", + "\u5015\u5016\u0007G\u0002\u0002\u5016\u0b98\u0003\u0002\u0002\u0002", + "\u5017\u5018\u0007U\u0002\u0002\u5018\u5019\u0007G\u0002\u0002\u5019", + "\u501a\u0007E\u0002\u0002\u501a\u501b\u0007W\u0002\u0002\u501b\u501c", + "\u0007T\u0002\u0002\u501c\u501d\u0007K\u0002\u0002\u501d\u501e\u0007", + "V\u0002\u0002\u501e\u501f\u0007[\u0002\u0002\u501f\u0b9a\u0003\u0002", + "\u0002\u0002\u5020\u5021\u0007U\u0002\u0002\u5021\u5022\u0007G\u0002", + "\u0002\u5022\u5023\u0007G\u0002\u0002\u5023\u5024\u0007F\u0002\u0002", + "\u5024\u0b9c\u0003\u0002\u0002\u0002\u5025\u5026\u0007U\u0002\u0002", + "\u5026\u5027\u0007G\u0002\u0002\u5027\u5028\u0007I\u0002\u0002\u5028", + "\u5029\u0007a\u0002\u0002\u5029\u502a\u0007D\u0002\u0002\u502a\u502b", + "\u0007N\u0002\u0002\u502b\u502c\u0007Q\u0002\u0002\u502c\u502d\u0007", + "E\u0002\u0002\u502d\u502e\u0007M\u0002\u0002\u502e\u0b9e\u0003\u0002", + "\u0002\u0002\u502f\u5030\u0007U\u0002\u0002\u5030\u5031\u0007G\u0002", + "\u0002\u5031\u5032\u0007I\u0002\u0002\u5032\u5033\u0007a\u0002\u0002", + "\u5033\u5034\u0007H\u0002\u0002\u5034\u5035\u0007K\u0002\u0002\u5035", + "\u5036\u0007N\u0002\u0002\u5036\u5037\u0007G\u0002\u0002\u5037\u0ba0", + "\u0003\u0002\u0002\u0002\u5038\u5039\u0007U\u0002\u0002\u5039\u503a", + "\u0007G\u0002\u0002\u503a\u503b\u0007I\u0002\u0002\u503b\u503c\u0007", + "O\u0002\u0002\u503c\u503d\u0007G\u0002\u0002\u503d\u503e\u0007P\u0002", + "\u0002\u503e\u503f\u0007V\u0002\u0002\u503f\u0ba2\u0003\u0002\u0002", + "\u0002\u5040\u5041\u0007U\u0002\u0002\u5041\u5042\u0007G\u0002\u0002", + "\u5042\u5043\u0007N\u0002\u0002\u5043\u5044\u0007G\u0002\u0002\u5044", + "\u5045\u0007E\u0002\u0002\u5045\u5046\u0007V\u0002\u0002\u5046\u5047", + "\u0007K\u0002\u0002\u5047\u5048\u0007X\u0002\u0002\u5048\u5049\u0007", + "K\u0002\u0002\u5049\u504a\u0007V\u0002\u0002\u504a\u504b\u0007[\u0002", + "\u0002\u504b\u0ba4\u0003\u0002\u0002\u0002\u504c\u504d\u0007U\u0002", + "\u0002\u504d\u504e\u0007G\u0002\u0002\u504e\u504f\u0007N\u0002\u0002", + "\u504f\u5050\u0007G\u0002\u0002\u5050\u5051\u0007E\u0002\u0002\u5051", + "\u5052\u0007V\u0002\u0002\u5052\u0ba6\u0003\u0002\u0002\u0002\u5053", + "\u5054\u0007U\u0002\u0002\u5054\u5055\u0007G\u0002\u0002\u5055\u5056", + "\u0007N\u0002\u0002\u5056\u5057\u0007H\u0002\u0002\u5057\u0ba8\u0003", + "\u0002\u0002\u0002\u5058\u5059\u0007U\u0002\u0002\u5059\u505a\u0007", + "G\u0002\u0002\u505a\u505b\u0007O\u0002\u0002\u505b\u505c\u0007K\u0002", + "\u0002\u505c\u505d\u0007L\u0002\u0002\u505d\u505e\u0007Q\u0002\u0002", + "\u505e\u505f\u0007K\u0002\u0002\u505f\u5060\u0007P\u0002\u0002\u5060", + "\u5061\u0007a\u0002\u0002\u5061\u5062\u0007F\u0002\u0002\u5062\u5063", + "\u0007T\u0002\u0002\u5063\u5064\u0007K\u0002\u0002\u5064\u5065\u0007", + "X\u0002\u0002\u5065\u5066\u0007G\u0002\u0002\u5066\u5067\u0007T\u0002", + "\u0002\u5067\u0baa\u0003\u0002\u0002\u0002\u5068\u5069\u0007U\u0002", + "\u0002\u5069\u506a\u0007G\u0002\u0002\u506a\u506b\u0007O\u0002\u0002", + "\u506b\u506c\u0007K\u0002\u0002\u506c\u506d\u0007L\u0002\u0002\u506d", + "\u506e\u0007Q\u0002\u0002\u506e\u506f\u0007K\u0002\u0002\u506f\u5070", + "\u0007P\u0002\u0002\u5070\u0bac\u0003\u0002\u0002\u0002\u5071\u5072", + "\u0007U\u0002\u0002\u5072\u5073\u0007G\u0002\u0002\u5073\u5074\u0007", + "O\u0002\u0002\u5074\u5075\u0007K\u0002\u0002\u5075\u5076\u0007a\u0002", + "\u0002\u5076\u5077\u0007V\u0002\u0002\u5077\u5078\u0007Q\u0002\u0002", + "\u5078\u5079\u0007a\u0002\u0002\u5079\u507a\u0007K\u0002\u0002\u507a", + "\u507b\u0007P\u0002\u0002\u507b\u507c\u0007P\u0002\u0002\u507c\u507d", + "\u0007G\u0002\u0002\u507d\u507e\u0007T\u0002\u0002\u507e\u0bae\u0003", + "\u0002\u0002\u0002\u507f\u5080\u0007U\u0002\u0002\u5080\u5081\u0007", + "G\u0002\u0002\u5081\u5082\u0007S\u0002\u0002\u5082\u5083\u0007W\u0002", + "\u0002\u5083\u5084\u0007G\u0002\u0002\u5084\u5085\u0007P\u0002\u0002", + "\u5085\u5086\u0007E\u0002\u0002\u5086\u5087\u0007G\u0002\u0002\u5087", + "\u5088\u0007F\u0002\u0002\u5088\u0bb0\u0003\u0002\u0002\u0002\u5089", + "\u508a\u0007U\u0002\u0002\u508a\u508b\u0007G\u0002\u0002\u508b\u508c", + "\u0007S\u0002\u0002\u508c\u508d\u0007W\u0002\u0002\u508d\u508e\u0007", + "G\u0002\u0002\u508e\u508f\u0007P\u0002\u0002\u508f\u5090\u0007E\u0002", + "\u0002\u5090\u5091\u0007G\u0002\u0002\u5091\u0bb2\u0003\u0002\u0002", + "\u0002\u5092\u5093\u0007U\u0002\u0002\u5093\u5094\u0007G\u0002\u0002", + "\u5094\u5095\u0007S\u0002\u0002\u5095\u5096\u0007W\u0002\u0002\u5096", + "\u5097\u0007G\u0002\u0002\u5097\u5098\u0007P\u0002\u0002\u5098\u5099", + "\u0007V\u0002\u0002\u5099\u509a\u0007K\u0002\u0002\u509a\u509b\u0007", + "C\u0002\u0002\u509b\u509c\u0007N\u0002\u0002\u509c\u0bb4\u0003\u0002", + "\u0002\u0002\u509d\u509e\u0007U\u0002\u0002\u509e\u509f\u0007G\u0002", + "\u0002\u509f\u50a0\u0007S\u0002\u0002\u50a0\u0bb6\u0003\u0002\u0002", + "\u0002\u50a1\u50a2\u0007U\u0002\u0002\u50a2\u50a3\u0007G\u0002\u0002", + "\u50a3\u50a4\u0007T\u0002\u0002\u50a4\u50a5\u0007K\u0002\u0002\u50a5", + "\u50a6\u0007C\u0002\u0002\u50a6\u50a7\u0007N\u0002\u0002\u50a7\u50a8", + "\u0007K\u0002\u0002\u50a8\u50a9\u0007\\\u0002\u0002\u50a9\u50aa\u0007", + "C\u0002\u0002\u50aa\u50ab\u0007D\u0002\u0002\u50ab\u50ac\u0007N\u0002", + "\u0002\u50ac\u50ad\u0007G\u0002\u0002\u50ad\u0bb8\u0003\u0002\u0002", + "\u0002\u50ae\u50af\u0007U\u0002\u0002\u50af\u50b0\u0007G\u0002\u0002", + "\u50b0\u50b1\u0007T\u0002\u0002\u50b1\u50b2\u0007K\u0002\u0002\u50b2", + "\u50b3\u0007C\u0002\u0002\u50b3\u50b4\u0007N\u0002\u0002\u50b4\u50b5", + "\u0007N\u0002\u0002\u50b5\u50b6\u0007[\u0002\u0002\u50b6\u50b7\u0007", + "a\u0002\u0002\u50b7\u50b8\u0007T\u0002\u0002\u50b8\u50b9\u0007G\u0002", + "\u0002\u50b9\u50ba\u0007W\u0002\u0002\u50ba\u50bb\u0007U\u0002\u0002", + "\u50bb\u50bc\u0007C\u0002\u0002\u50bc\u50bd\u0007D\u0002\u0002\u50bd", + "\u50be\u0007N\u0002\u0002\u50be\u50bf\u0007G\u0002\u0002\u50bf\u0bba", + "\u0003\u0002\u0002\u0002\u50c0\u50c1\u0007U\u0002\u0002\u50c1\u50c2", + "\u0007G\u0002\u0002\u50c2\u50c3\u0007T\u0002\u0002\u50c3\u50c4\u0007", + "K\u0002\u0002\u50c4\u50c5\u0007C\u0002\u0002\u50c5\u50c6\u0007N\u0002", + "\u0002\u50c6\u0bbc\u0003\u0002\u0002\u0002\u50c7\u50c8\u0007U\u0002", + "\u0002\u50c8\u50c9\u0007G\u0002\u0002\u50c9\u50ca\u0007T\u0002\u0002", + "\u50ca\u50cb\u0007X\u0002\u0002\u50cb\u50cc\u0007G\u0002\u0002\u50cc", + "\u50cd\u0007T\u0002\u0002\u50cd\u50ce\u0007G\u0002\u0002\u50ce\u50cf", + "\u0007T\u0002\u0002\u50cf\u50d0\u0007T\u0002\u0002\u50d0\u50d1\u0007", + "Q\u0002\u0002\u50d1\u50d2\u0007T\u0002\u0002\u50d2\u0bbe\u0003\u0002", + "\u0002\u0002\u50d3\u50d4\u0007U\u0002\u0002\u50d4\u50d5\u0007G\u0002", + "\u0002\u50d5\u50d6\u0007T\u0002\u0002\u50d6\u50d7\u0007X\u0002\u0002", + "\u50d7\u50d8\u0007K\u0002\u0002\u50d8\u50d9\u0007E\u0002\u0002\u50d9", + "\u50da\u0007G\u0002\u0002\u50da\u50db\u0007a\u0002\u0002\u50db\u50dc", + "\u0007P\u0002\u0002\u50dc\u50dd\u0007C\u0002\u0002\u50dd\u50de\u0007", + "O\u0002\u0002\u50de\u50df\u0007G\u0002\u0002\u50df\u50e0\u0007a\u0002", + "\u0002\u50e0\u50e1\u0007E\u0002\u0002\u50e1\u50e2\u0007Q\u0002\u0002", + "\u50e2\u50e3\u0007P\u0002\u0002\u50e3\u50e4\u0007X\u0002\u0002\u50e4", + "\u50e5\u0007G\u0002\u0002\u50e5\u50e6\u0007T\u0002\u0002\u50e6\u50e7", + "\u0007V\u0002\u0002\u50e7\u0bc0\u0003\u0002\u0002\u0002\u50e8\u50e9", + "\u0007U\u0002\u0002\u50e9\u50ea\u0007G\u0002\u0002\u50ea\u50eb\u0007", + "T\u0002\u0002\u50eb\u50ec\u0007X\u0002\u0002\u50ec\u50ed\u0007K\u0002", + "\u0002\u50ed\u50ee\u0007E\u0002\u0002\u50ee\u50ef\u0007G\u0002\u0002", + "\u50ef\u50f0\u0007U\u0002\u0002\u50f0\u0bc2\u0003\u0002\u0002\u0002", + "\u50f1\u50f2\u0007U\u0002\u0002\u50f2\u50f3\u0007G\u0002\u0002\u50f3", + "\u50f4\u0007U\u0002\u0002\u50f4\u50f5\u0007U\u0002\u0002\u50f5\u50f6", + "\u0007K\u0002\u0002\u50f6\u50f7\u0007Q\u0002\u0002\u50f7\u50f8\u0007", + "P\u0002\u0002\u50f8\u50f9\u0007a\u0002\u0002\u50f9\u50fa\u0007E\u0002", + "\u0002\u50fa\u50fb\u0007C\u0002\u0002\u50fb\u50fc\u0007E\u0002\u0002", + "\u50fc\u50fd\u0007J\u0002\u0002\u50fd\u50fe\u0007G\u0002\u0002\u50fe", + "\u50ff\u0007F\u0002\u0002\u50ff\u5100\u0007a\u0002\u0002\u5100\u5101", + "\u0007E\u0002\u0002\u5101\u5102\u0007W\u0002\u0002\u5102\u5103\u0007", + "T\u0002\u0002\u5103\u5104\u0007U\u0002\u0002\u5104\u5105\u0007Q\u0002", + "\u0002\u5105\u5106\u0007T\u0002\u0002\u5106\u5107\u0007U\u0002\u0002", + "\u5107\u0bc4\u0003\u0002\u0002\u0002\u5108\u5109\u0007U\u0002\u0002", + "\u5109\u510a\u0007G\u0002\u0002\u510a\u510b\u0007U\u0002\u0002\u510b", + "\u510c\u0007U\u0002\u0002\u510c\u510d\u0007K\u0002\u0002\u510d\u510e", + "\u0007Q\u0002\u0002\u510e\u510f\u0007P\u0002\u0002\u510f\u0bc6\u0003", + "\u0002\u0002\u0002\u5110\u5111\u0007U\u0002\u0002\u5111\u5112\u0007", + "G\u0002\u0002\u5112\u5113\u0007U\u0002\u0002\u5113\u5114\u0007U\u0002", + "\u0002\u5114\u5115\u0007K\u0002\u0002\u5115\u5116\u0007Q\u0002\u0002", + "\u5116\u5117\u0007P\u0002\u0002\u5117\u5118\u0007U\u0002\u0002\u5118", + "\u5119\u0007a\u0002\u0002\u5119\u511a\u0007R\u0002\u0002\u511a\u511b", + "\u0007G\u0002\u0002\u511b\u511c\u0007T\u0002\u0002\u511c\u511d\u0007", + "a\u0002\u0002\u511d\u511e\u0007W\u0002\u0002\u511e\u511f\u0007U\u0002", + "\u0002\u511f\u5120\u0007G\u0002\u0002\u5120\u5121\u0007T\u0002\u0002", + "\u5121\u0bc8\u0003\u0002\u0002\u0002\u5122\u5123\u0007U\u0002\u0002", + "\u5123\u5124\u0007G\u0002\u0002\u5124\u5125\u0007U\u0002\u0002\u5125", + "\u5126\u0007U\u0002\u0002\u5126\u5127\u0007K\u0002\u0002\u5127\u5128", + "\u0007Q\u0002\u0002\u5128\u5129\u0007P\u0002\u0002\u5129\u512a\u0007", + "V\u0002\u0002\u512a\u512b\u0007K\u0002\u0002\u512b\u512c\u0007O\u0002", + "\u0002\u512c\u512d\u0007G\u0002\u0002\u512d\u512e\u0007\\\u0002\u0002", + "\u512e\u512f\u0007Q\u0002\u0002\u512f\u5130\u0007P\u0002\u0002\u5130", + "\u5131\u0007G\u0002\u0002\u5131\u0bca\u0003\u0002\u0002\u0002\u5132", + "\u5133\u0007U\u0002\u0002\u5133\u5134\u0007G\u0002\u0002\u5134\u5135", + "\u0007U\u0002\u0002\u5135\u5136\u0007U\u0002\u0002\u5136\u5137\u0007", + "K\u0002\u0002\u5137\u5138\u0007Q\u0002\u0002\u5138\u5139\u0007P\u0002", + "\u0002\u5139\u513a\u0007V\u0002\u0002\u513a\u513b\u0007\\\u0002\u0002", + "\u513b\u513c\u0007P\u0002\u0002\u513c\u513d\u0007C\u0002\u0002\u513d", + "\u513e\u0007O\u0002\u0002\u513e\u513f\u0007G\u0002\u0002\u513f\u0bcc", + "\u0003\u0002\u0002\u0002\u5140\u5141\u0007U\u0002\u0002\u5141\u5142", + "\u0007G\u0002\u0002\u5142\u5143\u0007V\u0002\u0002\u5143\u0bce\u0003", + "\u0002\u0002\u0002\u5144\u5145\u0007U\u0002\u0002\u5145\u5146\u0007", + "G\u0002\u0002\u5146\u5147\u0007V\u0002\u0002\u5147\u5148\u0007U\u0002", + "\u0002\u5148\u0bd0\u0003\u0002\u0002\u0002\u5149\u514a\u0007U\u0002", + "\u0002\u514a\u514b\u0007G\u0002\u0002\u514b\u514c\u0007V\u0002\u0002", + "\u514c\u514d\u0007V\u0002\u0002\u514d\u514e\u0007K\u0002\u0002\u514e", + "\u514f\u0007P\u0002\u0002\u514f\u5150\u0007I\u0002\u0002\u5150\u5151", + "\u0007U\u0002\u0002\u5151\u0bd2\u0003\u0002\u0002\u0002\u5152\u5153", + "\u0007U\u0002\u0002\u5153\u5154\u0007G\u0002\u0002\u5154\u5155\u0007", + "V\u0002\u0002\u5155\u5156\u0007a\u0002\u0002\u5156\u5157\u0007V\u0002", + "\u0002\u5157\u5158\u0007Q\u0002\u0002\u5158\u5159\u0007a\u0002\u0002", + "\u5159\u515a\u0007L\u0002\u0002\u515a\u515b\u0007Q\u0002\u0002\u515b", + "\u515c\u0007K\u0002\u0002\u515c\u515d\u0007P\u0002\u0002\u515d\u0bd4", + "\u0003\u0002\u0002\u0002\u515e\u515f\u0007U\u0002\u0002\u515f\u5160", + "\u0007G\u0002\u0002\u5160\u5161\u0007X\u0002\u0002\u5161\u5162\u0007", + "G\u0002\u0002\u5162\u5163\u0007T\u0002\u0002\u5163\u5164\u0007G\u0002", + "\u0002\u5164\u0bd6\u0003\u0002\u0002\u0002\u5165\u5166\u0007U\u0002", + "\u0002\u5166\u5167\u0007J\u0002\u0002\u5167\u5168\u0007C\u0002\u0002", + "\u5168\u5169\u0007T\u0002\u0002\u5169\u516a\u0007G\u0002\u0002\u516a", + "\u516b\u0007F\u0002\u0002\u516b\u516c\u0007a\u0002\u0002\u516c\u516d", + "\u0007R\u0002\u0002\u516d\u516e\u0007Q\u0002\u0002\u516e\u516f\u0007", + "Q\u0002\u0002\u516f\u5170\u0007N\u0002\u0002\u5170\u0bd8\u0003\u0002", + "\u0002\u0002\u5171\u5172\u0007U\u0002\u0002\u5172\u5173\u0007J\u0002", + "\u0002\u5173\u5174\u0007C\u0002\u0002\u5174\u5175\u0007T\u0002\u0002", + "\u5175\u5176\u0007G\u0002\u0002\u5176\u5177\u0007F\u0002\u0002\u5177", + "\u0bda\u0003\u0002\u0002\u0002\u5178\u5179\u0007U\u0002\u0002\u5179", + "\u517a\u0007J\u0002\u0002\u517a\u517b\u0007C\u0002\u0002\u517b\u517c", + "\u0007T\u0002\u0002\u517c\u517d\u0007G\u0002\u0002\u517d\u0bdc\u0003", + "\u0002\u0002\u0002\u517e\u517f\u0007U\u0002\u0002\u517f\u5180\u0007", + "J\u0002\u0002\u5180\u5181\u0007C\u0002\u0002\u5181\u5182\u0007T\u0002", + "\u0002\u5182\u5183\u0007K\u0002\u0002\u5183\u5184\u0007P\u0002\u0002", + "\u5184\u5185\u0007I\u0002\u0002\u5185\u0bde\u0003\u0002\u0002\u0002", + "\u5186\u5187\u0007U\u0002\u0002\u5187\u5188\u0007J\u0002\u0002\u5188", + "\u5189\u0007G\u0002\u0002\u5189\u518a\u0007N\u0002\u0002\u518a\u518b", + "\u0007H\u0002\u0002\u518b\u518c\u0007N\u0002\u0002\u518c\u518d\u0007", + "K\u0002\u0002\u518d\u518e\u0007H\u0002\u0002\u518e\u518f\u0007G\u0002", + "\u0002\u518f\u0be0\u0003\u0002\u0002\u0002\u5190\u5191\u0007U\u0002", + "\u0002\u5191\u5192\u0007J\u0002\u0002\u5192\u5193\u0007Q\u0002\u0002", + "\u5193\u5194\u0007Y\u0002\u0002\u5194\u0be2\u0003\u0002\u0002\u0002", + "\u5195\u5196\u0007U\u0002\u0002\u5196\u5197\u0007J\u0002\u0002\u5197", + "\u5198\u0007T\u0002\u0002\u5198\u5199\u0007K\u0002\u0002\u5199\u519a", + "\u0007P\u0002\u0002\u519a\u519b\u0007M\u0002\u0002\u519b\u0be4\u0003", + "\u0002\u0002\u0002\u519c\u519d\u0007U\u0002\u0002\u519d\u519e\u0007", + "J\u0002\u0002\u519e\u519f\u0007W\u0002\u0002\u519f\u51a0\u0007V\u0002", + "\u0002\u51a0\u51a1\u0007F\u0002\u0002\u51a1\u51a2\u0007Q\u0002\u0002", + "\u51a2\u51a3\u0007Y\u0002\u0002\u51a3\u51a4\u0007P\u0002\u0002\u51a4", + "\u0be6\u0003\u0002\u0002\u0002\u51a5\u51a6\u0007U\u0002\u0002\u51a6", + "\u51a7\u0007K\u0002\u0002\u51a7\u51a8\u0007D\u0002\u0002\u51a8\u51a9", + "\u0007N\u0002\u0002\u51a9\u51aa\u0007K\u0002\u0002\u51aa\u51ab\u0007", + "P\u0002\u0002\u51ab\u51ac\u0007I\u0002\u0002\u51ac\u51ad\u0007U\u0002", + "\u0002\u51ad\u0be8\u0003\u0002\u0002\u0002\u51ae\u51af\u0007U\u0002", + "\u0002\u51af\u51b0\u0007K\u0002\u0002\u51b0\u51b1\u0007F\u0002\u0002", + "\u51b1\u0bea\u0003\u0002\u0002\u0002\u51b2\u51b3\u0007U\u0002\u0002", + "\u51b3\u51b4\u0007K\u0002\u0002\u51b4\u51b5\u0007I\u0002\u0002\u51b5", + "\u51b6\u0007P\u0002\u0002\u51b6\u51b7\u0007C\u0002\u0002\u51b7\u51b8", + "\u0007N\u0002\u0002\u51b8\u51b9\u0007a\u0002\u0002\u51b9\u51ba\u0007", + "E\u0002\u0002\u51ba\u51bb\u0007Q\u0002\u0002\u51bb\u51bc\u0007O\u0002", + "\u0002\u51bc\u51bd\u0007R\u0002\u0002\u51bd\u51be\u0007Q\u0002\u0002", + "\u51be\u51bf\u0007P\u0002\u0002\u51bf\u51c0\u0007G\u0002\u0002\u51c0", + "\u51c1\u0007P\u0002\u0002\u51c1\u51c2\u0007V\u0002\u0002\u51c2\u0bec", + "\u0003\u0002\u0002\u0002\u51c3\u51c4\u0007U\u0002\u0002\u51c4\u51c5", + "\u0007K\u0002\u0002\u51c5\u51c6\u0007I\u0002\u0002\u51c6\u51c7\u0007", + "P\u0002\u0002\u51c7\u51c8\u0007C\u0002\u0002\u51c8\u51c9\u0007N\u0002", + "\u0002\u51c9\u51ca\u0007a\u0002\u0002\u51ca\u51cb\u0007H\u0002\u0002", + "\u51cb\u51cc\u0007W\u0002\u0002\u51cc\u51cd\u0007P\u0002\u0002\u51cd", + "\u51ce\u0007E\u0002\u0002\u51ce\u51cf\u0007V\u0002\u0002\u51cf\u51d0", + "\u0007K\u0002\u0002\u51d0\u51d1\u0007Q\u0002\u0002\u51d1\u51d2\u0007", + "P\u0002\u0002\u51d2\u0bee\u0003\u0002\u0002\u0002\u51d3\u51d4\u0007", + "U\u0002\u0002\u51d4\u51d5\u0007K\u0002\u0002\u51d5\u51d6\u0007I\u0002", + "\u0002\u51d6\u51d7\u0007P\u0002\u0002\u51d7\u0bf0\u0003\u0002\u0002", + "\u0002\u51d8\u51d9\u0007U\u0002\u0002\u51d9\u51da\u0007K\u0002\u0002", + "\u51da\u51db\u0007I\u0002\u0002\u51db\u51dc\u0007P\u0002\u0002\u51dc", + "\u51dd\u0007V\u0002\u0002\u51dd\u51de\u0007[\u0002\u0002\u51de\u51df", + "\u0007R\u0002\u0002\u51df\u51e0\u0007G\u0002\u0002\u51e0\u0bf2\u0003", + "\u0002\u0002\u0002\u51e1\u51e2\u0007U\u0002\u0002\u51e2\u51e3\u0007", + "K\u0002\u0002\u51e3\u51e4\u0007O\u0002\u0002\u51e4\u51e5\u0007R\u0002", + "\u0002\u51e5\u51e6\u0007N\u0002\u0002\u51e6\u51e7\u0007G\u0002\u0002", + "\u51e7\u51e8\u0007a\u0002\u0002\u51e8\u51e9\u0007K\u0002\u0002\u51e9", + "\u51ea\u0007P\u0002\u0002\u51ea\u51eb\u0007V\u0002\u0002\u51eb\u51ec", + "\u0007G\u0002\u0002\u51ec\u51ed\u0007I\u0002\u0002\u51ed\u51ee\u0007", + "G\u0002\u0002\u51ee\u51ef\u0007T\u0002\u0002\u51ef\u0bf4\u0003\u0002", + "\u0002\u0002\u51f0\u51f1\u0007U\u0002\u0002\u51f1\u51f2\u0007K\u0002", + "\u0002\u51f2\u51f3\u0007O\u0002\u0002\u51f3\u51f4\u0007R\u0002\u0002", + "\u51f4\u51f5\u0007N\u0002\u0002\u51f5\u51f6\u0007G\u0002\u0002\u51f6", + "\u0bf6\u0003\u0002\u0002\u0002\u51f7\u51f8\u0007U\u0002\u0002\u51f8", + "\u51f9\u0007K\u0002\u0002\u51f9\u51fa\u0007P\u0002\u0002\u51fa\u51fb", + "\u0007I\u0002\u0002\u51fb\u51fc\u0007N\u0002\u0002\u51fc\u51fd\u0007", + "G\u0002\u0002\u51fd\u0bf8\u0003\u0002\u0002\u0002\u51fe\u51ff\u0007", + "U\u0002\u0002\u51ff\u5200\u0007K\u0002\u0002\u5200\u5201\u0007P\u0002", + "\u0002\u5201\u5202\u0007I\u0002\u0002\u5202\u5203\u0007N\u0002\u0002", + "\u5203\u5204\u0007G\u0002\u0002\u5204\u5205\u0007V\u0002\u0002\u5205", + "\u5206\u0007C\u0002\u0002\u5206\u5207\u0007U\u0002\u0002\u5207\u5208", + "\u0007M\u0002\u0002\u5208\u0bfa\u0003\u0002\u0002\u0002\u5209\u520a", + "\u0007U\u0002\u0002\u520a\u520b\u0007K\u0002\u0002\u520b\u520c\u0007", + "P\u0002\u0002\u520c\u520d\u0007J\u0002\u0002\u520d\u0bfc\u0003\u0002", + "\u0002\u0002\u520e\u520f\u0007U\u0002\u0002\u520f\u5210\u0007K\u0002", + "\u0002\u5210\u5211\u0007P\u0002\u0002\u5211\u0bfe\u0003\u0002\u0002", + "\u0002\u5212\u5213\u0007U\u0002\u0002\u5213\u5214\u0007K\u0002\u0002", + "\u5214\u5215\u0007\\\u0002\u0002\u5215\u5216\u0007G\u0002\u0002\u5216", + "\u0c00\u0003\u0002\u0002\u0002\u5217\u5218\u0007U\u0002\u0002\u5218", + "\u5219\u0007M\u0002\u0002\u5219\u521a\u0007K\u0002\u0002\u521a\u521b", + "\u0007R\u0002\u0002\u521b\u521c\u0007a\u0002\u0002\u521c\u521d\u0007", + "G\u0002\u0002\u521d\u521e\u0007Z\u0002\u0002\u521e\u521f\u0007V\u0002", + "\u0002\u521f\u5220\u0007a\u0002\u0002\u5220\u5221\u0007Q\u0002\u0002", + "\u5221\u5222\u0007R\u0002\u0002\u5222\u5223\u0007V\u0002\u0002\u5223", + "\u5224\u0007K\u0002\u0002\u5224\u5225\u0007O\u0002\u0002\u5225\u5226", + "\u0007K\u0002\u0002\u5226\u5227\u0007\\\u0002\u0002\u5227\u5228\u0007", + "G\u0002\u0002\u5228\u5229\u0007T\u0002\u0002\u5229\u0c02\u0003\u0002", + "\u0002\u0002\u522a\u522b\u0007U\u0002\u0002\u522b\u522c\u0007M\u0002", + "\u0002\u522c\u522d\u0007K\u0002\u0002\u522d\u522e\u0007R\u0002\u0002", + "\u522e\u0c04\u0003\u0002\u0002\u0002\u522f\u5230\u0007U\u0002\u0002", + "\u5230\u5231\u0007M\u0002\u0002\u5231\u5232\u0007K\u0002\u0002\u5232", + "\u5233\u0007R\u0002\u0002\u5233\u5234\u0007a\u0002\u0002\u5234\u5235", + "\u0007W\u0002\u0002\u5235\u5236\u0007P\u0002\u0002\u5236\u5237\u0007", + "S\u0002\u0002\u5237\u5238\u0007a\u0002\u0002\u5238\u5239\u0007W\u0002", + "\u0002\u5239\u523a\u0007P\u0002\u0002\u523a\u523b\u0007W\u0002\u0002", + "\u523b\u523c\u0007U\u0002\u0002\u523c\u523d\u0007C\u0002\u0002\u523d", + "\u523e\u0007D\u0002\u0002\u523e\u523f\u0007N\u0002\u0002\u523f\u5240", + "\u0007G\u0002\u0002\u5240\u5241\u0007a\u0002\u0002\u5241\u5242\u0007", + "K\u0002\u0002\u5242\u5243\u0007F\u0002\u0002\u5243\u5244\u0007Z\u0002", + "\u0002\u5244\u0c06\u0003\u0002\u0002\u0002\u5245\u5246\u0007U\u0002", + "\u0002\u5246\u5247\u0007M\u0002\u0002\u5247\u5248\u0007K\u0002\u0002", + "\u5248\u5249\u0007R\u0002\u0002\u5249\u524a\u0007a\u0002\u0002\u524a", + "\u524b\u0007W\u0002\u0002\u524b\u524c\u0007P\u0002\u0002\u524c\u524d", + "\u0007W\u0002\u0002\u524d\u524e\u0007U\u0002\u0002\u524e\u524f\u0007", + "C\u0002\u0002\u524f\u5250\u0007D\u0002\u0002\u5250\u5251\u0007N\u0002", + "\u0002\u5251\u5252\u0007G\u0002\u0002\u5252\u5253\u0007a\u0002\u0002", + "\u5253\u5254\u0007K\u0002\u0002\u5254\u5255\u0007P\u0002\u0002\u5255", + "\u5256\u0007F\u0002\u0002\u5256\u5257\u0007G\u0002\u0002\u5257\u5258", + "\u0007Z\u0002\u0002\u5258\u5259\u0007G\u0002\u0002\u5259\u525a\u0007", + "U\u0002\u0002\u525a\u0c08\u0003\u0002\u0002\u0002\u525b\u525c\u0007", + "U\u0002\u0002\u525c\u525d\u0007O\u0002\u0002\u525d\u525e\u0007C\u0002", + "\u0002\u525e\u525f\u0007N\u0002\u0002\u525f\u5260\u0007N\u0002\u0002", + "\u5260\u5261\u0007H\u0002\u0002\u5261\u5262\u0007K\u0002\u0002\u5262", + "\u5263\u0007N\u0002\u0002\u5263\u5264\u0007G\u0002\u0002\u5264\u0c0a", + "\u0003\u0002\u0002\u0002\u5265\u5266\u0007U\u0002\u0002\u5266\u5267", + "\u0007O\u0002\u0002\u5267\u5268\u0007C\u0002\u0002\u5268\u5269\u0007", + "N\u0002\u0002\u5269\u526a\u0007N\u0002\u0002\u526a\u526b\u0007K\u0002", + "\u0002\u526b\u526c\u0007P\u0002\u0002\u526c\u526d\u0007V\u0002\u0002", + "\u526d\u0c0c\u0003\u0002\u0002\u0002\u526e\u526f\u0007U\u0002\u0002", + "\u526f\u5270\u0007P\u0002\u0002\u5270\u5271\u0007C\u0002\u0002\u5271", + "\u5272\u0007R\u0002\u0002\u5272\u5273\u0007U\u0002\u0002\u5273\u5274", + "\u0007J\u0002\u0002\u5274\u5275\u0007Q\u0002\u0002\u5275\u5276\u0007", + "V\u0002\u0002\u5276\u0c0e\u0003\u0002\u0002\u0002\u5277\u5278\u0007", + "U\u0002\u0002\u5278\u5279\u0007Q\u0002\u0002\u5279\u527a\u0007O\u0002", + "\u0002\u527a\u527b\u0007G\u0002\u0002\u527b\u0c10\u0003\u0002\u0002", + "\u0002\u527c\u527d\u0007U\u0002\u0002\u527d\u527e\u0007Q\u0002\u0002", + "\u527e\u527f\u0007T\u0002\u0002\u527f\u5280\u0007V\u0002\u0002\u5280", + "\u0c12\u0003\u0002\u0002\u0002\u5281\u5282\u0007U\u0002\u0002\u5282", + "\u5283\u0007Q\u0002\u0002\u5283\u5284\u0007W\u0002\u0002\u5284\u5285", + "\u0007P\u0002\u0002\u5285\u5286\u0007F\u0002\u0002\u5286\u5287\u0007", + "G\u0002\u0002\u5287\u5288\u0007Z\u0002\u0002\u5288\u0c14\u0003\u0002", + "\u0002\u0002\u5289\u528a\u0007U\u0002\u0002\u528a\u528b\u0007Q\u0002", + "\u0002\u528b\u528c\u0007W\u0002\u0002\u528c\u528d\u0007T\u0002\u0002", + "\u528d\u528e\u0007E\u0002\u0002\u528e\u528f\u0007G\u0002\u0002\u528f", + "\u5290\u0007a\u0002\u0002\u5290\u5291\u0007H\u0002\u0002\u5291\u5292", + "\u0007K\u0002\u0002\u5292\u5293\u0007N\u0002\u0002\u5293\u5294\u0007", + "G\u0002\u0002\u5294\u5295\u0007a\u0002\u0002\u5295\u5296\u0007F\u0002", + "\u0002\u5296\u5297\u0007K\u0002\u0002\u5297\u5298\u0007T\u0002\u0002", + "\u5298\u5299\u0007G\u0002\u0002\u5299\u529a\u0007E\u0002\u0002\u529a", + "\u529b\u0007V\u0002\u0002\u529b\u529c\u0007Q\u0002\u0002\u529c\u529d", + "\u0007T\u0002\u0002\u529d\u529e\u0007[\u0002\u0002\u529e\u0c16\u0003", + "\u0002\u0002\u0002\u529f\u52a0\u0007U\u0002\u0002\u52a0\u52a1\u0007", + "Q\u0002\u0002\u52a1\u52a2\u0007W\u0002\u0002\u52a2\u52a3\u0007T\u0002", + "\u0002\u52a3\u52a4\u0007E\u0002\u0002\u52a4\u52a5\u0007G\u0002\u0002", + "\u52a5\u52a6\u0007a\u0002\u0002\u52a6\u52a7\u0007H\u0002\u0002\u52a7", + "\u52a8\u0007K\u0002\u0002\u52a8\u52a9\u0007N\u0002\u0002\u52a9\u52aa", + "\u0007G\u0002\u0002\u52aa\u52ab\u0007a\u0002\u0002\u52ab\u52ac\u0007", + "P\u0002\u0002\u52ac\u52ad\u0007C\u0002\u0002\u52ad\u52ae\u0007O\u0002", + "\u0002\u52ae\u52af\u0007G\u0002\u0002\u52af\u52b0\u0007a\u0002\u0002", + "\u52b0\u52b1\u0007E\u0002\u0002\u52b1\u52b2\u0007Q\u0002\u0002\u52b2", + "\u52b3\u0007P\u0002\u0002\u52b3\u52b4\u0007X\u0002\u0002\u52b4\u52b5", + "\u0007G\u0002\u0002\u52b5\u52b6\u0007T\u0002\u0002\u52b6\u52b7\u0007", + "V\u0002\u0002\u52b7\u0c18\u0003\u0002\u0002\u0002\u52b8\u52b9\u0007", + "U\u0002\u0002\u52b9\u52ba\u0007Q\u0002\u0002\u52ba\u52bb\u0007W\u0002", + "\u0002\u52bb\u52bc\u0007T\u0002\u0002\u52bc\u52bd\u0007E\u0002\u0002", + "\u52bd\u52be\u0007G\u0002\u0002\u52be\u0c1a\u0003\u0002\u0002\u0002", + "\u52bf\u52c0\u0007U\u0002\u0002\u52c0\u52c1\u0007R\u0002\u0002\u52c1", + "\u52c2\u0007C\u0002\u0002\u52c2\u52c3\u0007E\u0002\u0002\u52c3\u52c4", + "\u0007G\u0002\u0002\u52c4\u0c1c\u0003\u0002\u0002\u0002\u52c5\u52c6", + "\u0007U\u0002\u0002\u52c6\u52c7\u0007R\u0002\u0002\u52c7\u52c8\u0007", + "G\u0002\u0002\u52c8\u52c9\u0007E\u0002\u0002\u52c9\u52ca\u0007K\u0002", + "\u0002\u52ca\u52cb\u0007H\u0002\u0002\u52cb\u52cc\u0007K\u0002\u0002", + "\u52cc\u52cd\u0007E\u0002\u0002\u52cd\u52ce\u0007C\u0002\u0002\u52ce", + "\u52cf\u0007V\u0002\u0002\u52cf\u52d0\u0007K\u0002\u0002\u52d0\u52d1", + "\u0007Q\u0002\u0002\u52d1\u52d2\u0007P\u0002\u0002\u52d2\u0c1e\u0003", + "\u0002\u0002\u0002\u52d3\u52d4\u0007U\u0002\u0002\u52d4\u52d5\u0007", + "R\u0002\u0002\u52d5\u52d6\u0007H\u0002\u0002\u52d6\u52d7\u0007K\u0002", + "\u0002\u52d7\u52d8\u0007N\u0002\u0002\u52d8\u52d9\u0007G\u0002\u0002", + "\u52d9\u0c20\u0003\u0002\u0002\u0002\u52da\u52db\u0007U\u0002\u0002", + "\u52db\u52dc\u0007R\u0002\u0002\u52dc\u52dd\u0007N\u0002\u0002\u52dd", + "\u52de\u0007K\u0002\u0002\u52de\u52df\u0007V\u0002\u0002\u52df\u0c22", + "\u0003\u0002\u0002\u0002\u52e0\u52e1\u0007U\u0002\u0002\u52e1\u52e2", + "\u0007R\u0002\u0002\u52e2\u52e3\u0007T\u0002\u0002\u52e3\u52e4\u0007", + "G\u0002\u0002\u52e4\u52e5\u0007C\u0002\u0002\u52e5\u52e6\u0007F\u0002", + "\u0002\u52e6\u52e7\u0007U\u0002\u0002\u52e7\u52e8\u0007J\u0002\u0002", + "\u52e8\u52e9\u0007G\u0002\u0002\u52e9\u52ea\u0007G\u0002\u0002\u52ea", + "\u52eb\u0007V\u0002\u0002\u52eb\u0c24\u0003\u0002\u0002\u0002\u52ec", + "\u52ed\u0007U\u0002\u0002\u52ed\u52ee\u0007S\u0002\u0002\u52ee\u52ef", + "\u0007N\u0002\u0002\u52ef\u52f0\u0007F\u0002\u0002\u52f0\u52f1\u0007", + "C\u0002\u0002\u52f1\u52f2\u0007V\u0002\u0002\u52f2\u52f3\u0007C\u0002", + "\u0002\u52f3\u0c26\u0003\u0002\u0002\u0002\u52f4\u52f5\u0007U\u0002", + "\u0002\u52f5\u52f6\u0007S\u0002\u0002\u52f6\u52f7\u0007N\u0002\u0002", + "\u52f7\u52f8\u0007G\u0002\u0002\u52f8\u52f9\u0007T\u0002\u0002\u52f9", + "\u52fa\u0007T\u0002\u0002\u52fa\u52fb\u0007Q\u0002\u0002\u52fb\u52fc", + "\u0007T\u0002\u0002\u52fc\u0c28\u0003\u0002\u0002\u0002\u52fd\u52fe", + "\u0007U\u0002\u0002\u52fe\u52ff\u0007S\u0002\u0002\u52ff\u5300\u0007", + "N\u0002\u0002\u5300\u5301\u0007N\u0002\u0002\u5301\u5302\u0007F\u0002", + "\u0002\u5302\u5303\u0007T\u0002\u0002\u5303\u0c2a\u0003\u0002\u0002", + "\u0002\u5304\u5305\u0007U\u0002\u0002\u5305\u5306\u0007S\u0002\u0002", + "\u5306\u5307\u0007N\u0002\u0002\u5307\u0c2c\u0003\u0002\u0002\u0002", + "\u5308\u5309\u0007U\u0002\u0002\u5309\u530a\u0007S\u0002\u0002\u530a", + "\u530b\u0007N\u0002\u0002\u530b\u530c\u0007a\u0002\u0002\u530c\u530d", + "\u0007V\u0002\u0002\u530d\u530e\u0007T\u0002\u0002\u530e\u530f\u0007", + "C\u0002\u0002\u530f\u5310\u0007E\u0002\u0002\u5310\u5311\u0007G\u0002", + "\u0002\u5311\u0c2e\u0003\u0002\u0002\u0002\u5312\u5313\u0007U\u0002", + "\u0002\u5313\u5314\u0007S\u0002\u0002\u5314\u5315\u0007N\u0002\u0002", + "\u5315\u5316\u0007a\u0002\u0002\u5316\u5317\u0007V\u0002\u0002\u5317", + "\u5318\u0007T\u0002\u0002\u5318\u5319\u0007C\u0002\u0002\u5319\u531a", + "\u0007P\u0002\u0002\u531a\u531b\u0007U\u0002\u0002\u531b\u531c\u0007", + "N\u0002\u0002\u531c\u531d\u0007C\u0002\u0002\u531d\u531e\u0007V\u0002", + "\u0002\u531e\u531f\u0007K\u0002\u0002\u531f\u5320\u0007Q\u0002\u0002", + "\u5320\u5321\u0007P\u0002\u0002\u5321\u5322\u0007a\u0002\u0002\u5322", + "\u5323\u0007R\u0002\u0002\u5323\u5324\u0007T\u0002\u0002\u5324\u5325", + "\u0007Q\u0002\u0002\u5325\u5326\u0007H\u0002\u0002\u5326\u5327\u0007", + "K\u0002\u0002\u5327\u5328\u0007N\u0002\u0002\u5328\u5329\u0007G\u0002", + "\u0002\u5329\u0c30\u0003\u0002\u0002\u0002\u532a\u532b\u0007U\u0002", + "\u0002\u532b\u532c\u0007S\u0002\u0002\u532c\u532d\u0007T\u0002\u0002", + "\u532d\u532e\u0007V\u0002\u0002\u532e\u0c32\u0003\u0002\u0002\u0002", + "\u532f\u5330\u0007U\u0002\u0002\u5330\u5331\u0007V\u0002\u0002\u5331", + "\u5332\u0007C\u0002\u0002\u5332\u5333\u0007N\u0002\u0002\u5333\u5334", + "\u0007G\u0002\u0002\u5334\u0c34\u0003\u0002\u0002\u0002\u5335\u5336", + "\u0007U\u0002\u0002\u5336\u5337\u0007V\u0002\u0002\u5337\u5338\u0007", + "C\u0002\u0002\u5338\u5339\u0007P\u0002\u0002\u5339\u533a\u0007F\u0002", + "\u0002\u533a\u533b\u0007C\u0002\u0002\u533b\u533c\u0007N\u0002\u0002", + "\u533c\u533d\u0007Q\u0002\u0002\u533d\u533e\u0007P\u0002\u0002\u533e", + "\u533f\u0007G\u0002\u0002\u533f\u0c36\u0003\u0002\u0002\u0002\u5340", + "\u5341\u0007U\u0002\u0002\u5341\u5342\u0007V\u0002\u0002\u5342\u5343", + "\u0007C\u0002\u0002\u5343\u5344\u0007P\u0002\u0002\u5344\u5345\u0007", + "F\u0002\u0002\u5345\u5346\u0007C\u0002\u0002\u5346\u5347\u0007T\u0002", + "\u0002\u5347\u5348\u0007F\u0002\u0002\u5348\u5349\u0007a\u0002\u0002", + "\u5349\u534a\u0007J\u0002\u0002\u534a\u534b\u0007C\u0002\u0002\u534b", + "\u534c\u0007U\u0002\u0002\u534c\u534d\u0007J\u0002\u0002\u534d\u0c38", + "\u0003\u0002\u0002\u0002\u534e\u534f\u0007U\u0002\u0002\u534f\u5350", + "\u0007V\u0002\u0002\u5350\u5351\u0007C\u0002\u0002\u5351\u5352\u0007", + "P\u0002\u0002\u5352\u5353\u0007F\u0002\u0002\u5353\u5354\u0007D\u0002", + "\u0002\u5354\u5355\u0007[\u0002\u0002\u5355\u5356\u0007a\u0002\u0002", + "\u5356\u5357\u0007O\u0002\u0002\u5357\u5358\u0007C\u0002\u0002\u5358", + "\u5359\u0007Z\u0002\u0002\u5359\u535a\u0007a\u0002\u0002\u535a\u535b", + "\u0007F\u0002\u0002\u535b\u535c\u0007C\u0002\u0002\u535c\u535d\u0007", + "V\u0002\u0002\u535d\u535e\u0007C\u0002\u0002\u535e\u535f\u0007a\u0002", + "\u0002\u535f\u5360\u0007F\u0002\u0002\u5360\u5361\u0007G\u0002\u0002", + "\u5361\u5362\u0007N\u0002\u0002\u5362\u5363\u0007C\u0002\u0002\u5363", + "\u5364\u0007[\u0002\u0002\u5364\u0c3a\u0003\u0002\u0002\u0002\u5365", + "\u5366\u0007U\u0002\u0002\u5366\u5367\u0007V\u0002\u0002\u5367\u5368", + "\u0007C\u0002\u0002\u5368\u5369\u0007P\u0002\u0002\u5369\u536a\u0007", + "F\u0002\u0002\u536a\u536b\u0007D\u0002\u0002\u536b\u536c\u0007[\u0002", + "\u0002\u536c\u536d\u0007U\u0002\u0002\u536d\u0c3c\u0003\u0002\u0002", + "\u0002\u536e\u536f\u0007U\u0002\u0002\u536f\u5370\u0007V\u0002\u0002", + "\u5370\u5371\u0007C\u0002\u0002\u5371\u5372\u0007P\u0002\u0002\u5372", + "\u5373\u0007F\u0002\u0002\u5373\u5374\u0007D\u0002\u0002\u5374\u5375", + "\u0007[\u0002\u0002\u5375\u0c3e\u0003\u0002\u0002\u0002\u5376\u5377", + "\u0007U\u0002\u0002\u5377\u5378\u0007V\u0002\u0002\u5378\u5379\u0007", + "C\u0002\u0002\u5379\u537a\u0007T\u0002\u0002\u537a\u0c40\u0003\u0002", + "\u0002\u0002\u537b\u537c\u0007U\u0002\u0002\u537c\u537d\u0007V\u0002", + "\u0002\u537d\u537e\u0007C\u0002\u0002\u537e\u537f\u0007T\u0002\u0002", + "\u537f\u5380\u0007a\u0002\u0002\u5380\u5381\u0007V\u0002\u0002\u5381", + "\u5382\u0007T\u0002\u0002\u5382\u5383\u0007C\u0002\u0002\u5383\u5384", + "\u0007P\u0002\u0002\u5384\u5385\u0007U\u0002\u0002\u5385\u5386\u0007", + "H\u0002\u0002\u5386\u5387\u0007Q\u0002\u0002\u5387\u5388\u0007T\u0002", + "\u0002\u5388\u5389\u0007O\u0002\u0002\u5389\u538a\u0007C\u0002\u0002", + "\u538a\u538b\u0007V\u0002\u0002\u538b\u538c\u0007K\u0002\u0002\u538c", + "\u538d\u0007Q\u0002\u0002\u538d\u538e\u0007P\u0002\u0002\u538e\u0c42", + "\u0003\u0002\u0002\u0002\u538f\u5390\u0007U\u0002\u0002\u5390\u5391", + "\u0007V\u0002\u0002\u5391\u5392\u0007C\u0002\u0002\u5392\u5393\u0007", + "T\u0002\u0002\u5393\u5394\u0007V\u0002\u0002\u5394\u0c44\u0003\u0002", + "\u0002\u0002\u5395\u5396\u0007U\u0002\u0002\u5396\u5397\u0007V\u0002", + "\u0002\u5397\u5398\u0007C\u0002\u0002\u5398\u5399\u0007T\u0002\u0002", + "\u5399\u539a\u0007V\u0002\u0002\u539a\u539b\u0007W\u0002\u0002\u539b", + "\u539c\u0007R\u0002\u0002\u539c\u0c46\u0003\u0002\u0002\u0002\u539d", + "\u539e\u0007U\u0002\u0002\u539e\u539f\u0007V\u0002\u0002\u539f\u53a0", + "\u0007C\u0002\u0002\u53a0\u53a1\u0007V\u0002\u0002\u53a1\u53a2\u0007", + "G\u0002\u0002\u53a2\u53a3\u0007O\u0002\u0002\u53a3\u53a4\u0007G\u0002", + "\u0002\u53a4\u53a5\u0007P\u0002\u0002\u53a5\u53a6\u0007V\u0002\u0002", + "\u53a6\u53a7\u0007a\u0002\u0002\u53a7\u53a8\u0007K\u0002\u0002\u53a8", + "\u53a9\u0007F\u0002\u0002\u53a9\u0c48\u0003\u0002\u0002\u0002\u53aa", + "\u53ab\u0007U\u0002\u0002\u53ab\u53ac\u0007V\u0002\u0002\u53ac\u53ad", + "\u0007C\u0002\u0002\u53ad\u53ae\u0007V\u0002\u0002\u53ae\u53af\u0007", + "G\u0002\u0002\u53af\u53b0\u0007O\u0002\u0002\u53b0\u53b1\u0007G\u0002", + "\u0002\u53b1\u53b2\u0007P\u0002\u0002\u53b2\u53b3\u0007V\u0002\u0002", + "\u53b3\u53b4\u0007a\u0002\u0002\u53b4\u53b5\u0007S\u0002\u0002\u53b5", + "\u53b6\u0007W\u0002\u0002\u53b6\u53b7\u0007G\u0002\u0002\u53b7\u53b8", + "\u0007W\u0002\u0002\u53b8\u53b9\u0007K\u0002\u0002\u53b9\u53ba\u0007", + "P\u0002\u0002\u53ba\u53bb\u0007I\u0002\u0002\u53bb\u0c4a\u0003\u0002", + "\u0002\u0002\u53bc\u53bd\u0007U\u0002\u0002\u53bd\u53be\u0007V\u0002", + "\u0002\u53be\u53bf\u0007C\u0002\u0002\u53bf\u53c0\u0007V\u0002\u0002", + "\u53c0\u53c1\u0007G\u0002\u0002\u53c1\u53c2\u0007O\u0002\u0002\u53c2", + "\u53c3\u0007G\u0002\u0002\u53c3\u53c4\u0007P\u0002\u0002\u53c4\u53c5", + "\u0007V\u0002\u0002\u53c5\u53c6\u0007U\u0002\u0002\u53c6\u0c4c\u0003", + "\u0002\u0002\u0002\u53c7\u53c8\u0007U\u0002\u0002\u53c8\u53c9\u0007", + "V\u0002\u0002\u53c9\u53ca\u0007C\u0002\u0002\u53ca\u53cb\u0007V\u0002", + "\u0002\u53cb\u53cc\u0007G\u0002\u0002\u53cc\u53cd\u0007O\u0002\u0002", + "\u53cd\u53ce\u0007G\u0002\u0002\u53ce\u53cf\u0007P\u0002\u0002\u53cf", + "\u53d0\u0007V\u0002\u0002\u53d0\u0c4e\u0003\u0002\u0002\u0002\u53d1", + "\u53d2\u0007U\u0002\u0002\u53d2\u53d3\u0007V\u0002\u0002\u53d3\u53d4", + "\u0007C\u0002\u0002\u53d4\u53d5\u0007V\u0002\u0002\u53d5\u53d6\u0007", + "G\u0002\u0002\u53d6\u0c50\u0003\u0002\u0002\u0002\u53d7\u53d8\u0007", + "U\u0002\u0002\u53d8\u53d9\u0007V\u0002\u0002\u53d9\u53da\u0007C\u0002", + "\u0002\u53da\u53db\u0007V\u0002\u0002\u53db\u53dc\u0007K\u0002\u0002", + "\u53dc\u53dd\u0007E\u0002\u0002\u53dd\u0c52\u0003\u0002\u0002\u0002", + "\u53de\u53df\u0007U\u0002\u0002\u53df\u53e0\u0007V\u0002\u0002\u53e0", + "\u53e1\u0007C\u0002\u0002\u53e1\u53e2\u0007V\u0002\u0002\u53e2\u53e3", + "\u0007K\u0002\u0002\u53e3\u53e4\u0007U\u0002\u0002\u53e4\u53e5\u0007", + "V\u0002\u0002\u53e5\u53e6\u0007K\u0002\u0002\u53e6\u53e7\u0007E\u0002", + "\u0002\u53e7\u53e8\u0007U\u0002\u0002\u53e8\u0c54\u0003\u0002\u0002", + "\u0002\u53e9\u53ea\u0007U\u0002\u0002\u53ea\u53eb\u0007V\u0002\u0002", + "\u53eb\u53ec\u0007C\u0002\u0002\u53ec\u53ed\u0007V\u0002\u0002\u53ed", + "\u53ee\u0007U\u0002\u0002\u53ee\u53ef\u0007a\u0002\u0002\u53ef\u53f0", + "\u0007D\u0002\u0002\u53f0\u53f1\u0007K\u0002\u0002\u53f1\u53f2\u0007", + "P\u0002\u0002\u53f2\u53f3\u0007Q\u0002\u0002\u53f3\u53f4\u0007O\u0002", + "\u0002\u53f4\u53f5\u0007K\u0002\u0002\u53f5\u53f6\u0007C\u0002\u0002", + "\u53f6\u53f7\u0007N\u0002\u0002\u53f7\u53f8\u0007a\u0002\u0002\u53f8", + "\u53f9\u0007V\u0002\u0002\u53f9\u53fa\u0007G\u0002\u0002\u53fa\u53fb", + "\u0007U\u0002\u0002\u53fb\u53fc\u0007V\u0002\u0002\u53fc\u0c56\u0003", + "\u0002\u0002\u0002\u53fd\u53fe\u0007U\u0002\u0002\u53fe\u53ff\u0007", + "V\u0002\u0002\u53ff\u5400\u0007C\u0002\u0002\u5400\u5401\u0007V\u0002", + "\u0002\u5401\u5402\u0007U\u0002\u0002\u5402\u5403\u0007a\u0002\u0002", + "\u5403\u5404\u0007E\u0002\u0002\u5404\u5405\u0007T\u0002\u0002\u5405", + "\u5406\u0007Q\u0002\u0002\u5406\u5407\u0007U\u0002\u0002\u5407\u5408", + "\u0007U\u0002\u0002\u5408\u5409\u0007V\u0002\u0002\u5409\u540a\u0007", + "C\u0002\u0002\u540a\u540b\u0007D\u0002\u0002\u540b\u0c58\u0003\u0002", + "\u0002\u0002\u540c\u540d\u0007U\u0002\u0002\u540d\u540e\u0007V\u0002", + "\u0002\u540e\u540f\u0007C\u0002\u0002\u540f\u5410\u0007V\u0002\u0002", + "\u5410\u5411\u0007U\u0002\u0002\u5411\u5412\u0007a\u0002\u0002\u5412", + "\u5413\u0007H\u0002\u0002\u5413\u5414\u0007a\u0002\u0002\u5414\u5415", + "\u0007V\u0002\u0002\u5415\u5416\u0007G\u0002\u0002\u5416\u5417\u0007", + "U\u0002\u0002\u5417\u5418\u0007V\u0002\u0002\u5418\u0c5a\u0003\u0002", + "\u0002\u0002\u5419\u541a\u0007U\u0002\u0002\u541a\u541b\u0007V\u0002", + "\u0002\u541b\u541c\u0007C\u0002\u0002\u541c\u541d\u0007V\u0002\u0002", + "\u541d\u541e\u0007U\u0002\u0002\u541e\u541f\u0007a\u0002\u0002\u541f", + "\u5420\u0007M\u0002\u0002\u5420\u5421\u0007U\u0002\u0002\u5421\u5422", + "\u0007a\u0002\u0002\u5422\u5423\u0007V\u0002\u0002\u5423\u5424\u0007", + "G\u0002\u0002\u5424\u5425\u0007U\u0002\u0002\u5425\u5426\u0007V\u0002", + "\u0002\u5426\u0c5c\u0003\u0002\u0002\u0002\u5427\u5428\u0007U\u0002", + "\u0002\u5428\u5429\u0007V\u0002\u0002\u5429\u542a\u0007C\u0002\u0002", + "\u542a\u542b\u0007V\u0002\u0002\u542b\u542c\u0007U\u0002\u0002\u542c", + "\u542d\u0007a\u0002\u0002\u542d\u542e\u0007O\u0002\u0002\u542e\u542f", + "\u0007Q\u0002\u0002\u542f\u5430\u0007F\u0002\u0002\u5430\u5431\u0007", + "G\u0002\u0002\u5431\u0c5e\u0003\u0002\u0002\u0002\u5432\u5433\u0007", + "U\u0002\u0002\u5433\u5434\u0007V\u0002\u0002\u5434\u5435\u0007C\u0002", + "\u0002\u5435\u5436\u0007V\u0002\u0002\u5436\u5437\u0007U\u0002\u0002", + "\u5437\u5438\u0007a\u0002\u0002\u5438\u5439\u0007O\u0002\u0002\u5439", + "\u543a\u0007Y\u0002\u0002\u543a\u543b\u0007a\u0002\u0002\u543b\u543c", + "\u0007V\u0002\u0002\u543c\u543d\u0007G\u0002\u0002\u543d\u543e\u0007", + "U\u0002\u0002\u543e\u543f\u0007V\u0002\u0002\u543f\u0c60\u0003\u0002", + "\u0002\u0002\u5440\u5441\u0007U\u0002\u0002\u5441\u5442\u0007V\u0002", + "\u0002\u5442\u5443\u0007C\u0002\u0002\u5443\u5444\u0007V\u0002\u0002", + "\u5444\u5445\u0007U\u0002\u0002\u5445\u5446\u0007a\u0002\u0002\u5446", + "\u5447\u0007Q\u0002\u0002\u5447\u5448\u0007P\u0002\u0002\u5448\u5449", + "\u0007G\u0002\u0002\u5449\u544a\u0007a\u0002\u0002\u544a\u544b\u0007", + "Y\u0002\u0002\u544b\u544c\u0007C\u0002\u0002\u544c\u544d\u0007[\u0002", + "\u0002\u544d\u544e\u0007a\u0002\u0002\u544e\u544f\u0007C\u0002\u0002", + "\u544f\u5450\u0007P\u0002\u0002\u5450\u5451\u0007Q\u0002\u0002\u5451", + "\u5452\u0007X\u0002\u0002\u5452\u5453\u0007C\u0002\u0002\u5453\u0c62", + "\u0003\u0002\u0002\u0002\u5454\u5455\u0007U\u0002\u0002\u5455\u5456", + "\u0007V\u0002\u0002\u5456\u5457\u0007C\u0002\u0002\u5457\u5458\u0007", + "V\u0002\u0002\u5458\u5459\u0007U\u0002\u0002\u5459\u545a\u0007a\u0002", + "\u0002\u545a\u545b\u0007V\u0002\u0002\u545b\u545c\u0007a\u0002\u0002", + "\u545c\u545d\u0007V\u0002\u0002\u545d\u545e\u0007G\u0002\u0002\u545e", + "\u545f\u0007U\u0002\u0002\u545f\u5460\u0007V\u0002\u0002\u5460\u5461", + "\u0007a\u0002\u0002\u5461\u5462\u0007K\u0002\u0002\u5462\u5463\u0007", + "P\u0002\u0002\u5463\u5464\u0007F\u0002\u0002\u5464\u5465\u0007G\u0002", + "\u0002\u5465\u5466\u0007R\u0002\u0002\u5466\u0c64\u0003\u0002\u0002", + "\u0002\u5467\u5468\u0007U\u0002\u0002\u5468\u5469\u0007V\u0002\u0002", + "\u5469\u546a\u0007C\u0002\u0002\u546a\u546b\u0007V\u0002\u0002\u546b", + "\u546c\u0007U\u0002\u0002\u546c\u546d\u0007a\u0002\u0002\u546d\u546e", + "\u0007V\u0002\u0002\u546e\u546f\u0007a\u0002\u0002\u546f\u5470\u0007", + "V\u0002\u0002\u5470\u5471\u0007G\u0002\u0002\u5471\u5472\u0007U\u0002", + "\u0002\u5472\u5473\u0007V\u0002\u0002\u5473\u5474\u0007a\u0002\u0002", + "\u5474\u5475\u0007K\u0002\u0002\u5475\u5476\u0007P\u0002\u0002\u5476", + "\u5477\u0007F\u0002\u0002\u5477\u5478\u0007G\u0002\u0002\u5478\u5479", + "\u0007R\u0002\u0002\u5479\u547a\u0007W\u0002\u0002\u547a\u0c66\u0003", + "\u0002\u0002\u0002\u547b\u547c\u0007U\u0002\u0002\u547c\u547d\u0007", + "V\u0002\u0002\u547d\u547e\u0007C\u0002\u0002\u547e\u547f\u0007V\u0002", + "\u0002\u547f\u5480\u0007U\u0002\u0002\u5480\u5481\u0007a\u0002\u0002", + "\u5481\u5482\u0007V\u0002\u0002\u5482\u5483\u0007a\u0002\u0002\u5483", + "\u5484\u0007V\u0002\u0002\u5484\u5485\u0007G\u0002\u0002\u5485\u5486", + "\u0007U\u0002\u0002\u5486\u5487\u0007V\u0002\u0002\u5487\u5488\u0007", + "a\u0002\u0002\u5488\u5489\u0007Q\u0002\u0002\u5489\u548a\u0007P\u0002", + "\u0002\u548a\u548b\u0007G\u0002\u0002\u548b\u0c68\u0003\u0002\u0002", + "\u0002\u548c\u548d\u0007U\u0002\u0002\u548d\u548e\u0007V\u0002\u0002", + "\u548e\u548f\u0007C\u0002\u0002\u548f\u5490\u0007V\u0002\u0002\u5490", + "\u5491\u0007U\u0002\u0002\u5491\u5492\u0007a\u0002\u0002\u5492\u5493", + "\u0007V\u0002\u0002\u5493\u5494\u0007a\u0002\u0002\u5494\u5495\u0007", + "V\u0002\u0002\u5495\u5496\u0007G\u0002\u0002\u5496\u5497\u0007U\u0002", + "\u0002\u5497\u5498\u0007V\u0002\u0002\u5498\u5499\u0007a\u0002\u0002", + "\u5499\u549a\u0007R\u0002\u0002\u549a\u549b\u0007C\u0002\u0002\u549b", + "\u549c\u0007K\u0002\u0002\u549c\u549d\u0007T\u0002\u0002\u549d\u549e", + "\u0007G\u0002\u0002\u549e\u549f\u0007F\u0002\u0002\u549f\u0c6a\u0003", + "\u0002\u0002\u0002\u54a0\u54a1\u0007U\u0002\u0002\u54a1\u54a2\u0007", + "V\u0002\u0002\u54a2\u54a3\u0007C\u0002\u0002\u54a3\u54a4\u0007V\u0002", + "\u0002\u54a4\u54a5\u0007U\u0002\u0002\u54a5\u54a6\u0007a\u0002\u0002", + "\u54a6\u54a7\u0007Y\u0002\u0002\u54a7\u54a8\u0007U\u0002\u0002\u54a8", + "\u54a9\u0007T\u0002\u0002\u54a9\u54aa\u0007a\u0002\u0002\u54aa\u54ab", + "\u0007V\u0002\u0002\u54ab\u54ac\u0007G\u0002\u0002\u54ac\u54ad\u0007", + "U\u0002\u0002\u54ad\u54ae\u0007V\u0002\u0002\u54ae\u0c6c\u0003\u0002", + "\u0002\u0002\u54af\u54b0\u0007U\u0002\u0002\u54b0\u54b1\u0007V\u0002", + "\u0002\u54b1\u54b2\u0007F\u0002\u0002\u54b2\u54b3\u0007F\u0002\u0002", + "\u54b3\u54b4\u0007G\u0002\u0002\u54b4\u54b5\u0007X\u0002\u0002\u54b5", + "\u54b6\u0007a\u0002\u0002\u54b6\u54b7\u0007R\u0002\u0002\u54b7\u54b8", + "\u0007Q\u0002\u0002\u54b8\u54b9\u0007R\u0002\u0002\u54b9\u0c6e\u0003", + "\u0002\u0002\u0002\u54ba\u54bb\u0007U\u0002\u0002\u54bb\u54bc\u0007", + "V\u0002\u0002\u54bc\u54bd\u0007F\u0002\u0002\u54bd\u54be\u0007F\u0002", + "\u0002\u54be\u54bf\u0007G\u0002\u0002\u54bf\u54c0\u0007X\u0002\u0002", + "\u54c0\u54c1\u0007a\u0002\u0002\u54c1\u54c2\u0007U\u0002\u0002\u54c2", + "\u54c3\u0007C\u0002\u0002\u54c3\u54c4\u0007O\u0002\u0002\u54c4\u54c5", + "\u0007R\u0002\u0002\u54c5\u0c70\u0003\u0002\u0002\u0002\u54c6\u54c7", + "\u0007U\u0002\u0002\u54c7\u54c8\u0007V\u0002\u0002\u54c8\u54c9\u0007", + "Q\u0002\u0002\u54c9\u54ca\u0007R\u0002\u0002\u54ca\u0c72\u0003\u0002", + "\u0002\u0002\u54cb\u54cc\u0007U\u0002\u0002\u54cc\u54cd\u0007V\u0002", + "\u0002\u54cd\u54ce\u0007Q\u0002\u0002\u54ce\u54cf\u0007T\u0002\u0002", + "\u54cf\u54d0\u0007C\u0002\u0002\u54d0\u54d1\u0007I\u0002\u0002\u54d1", + "\u54d2\u0007G\u0002\u0002\u54d2\u0c74\u0003\u0002\u0002\u0002\u54d3", + "\u54d4\u0007U\u0002\u0002\u54d4\u54d5\u0007V\u0002\u0002\u54d5\u54d6", + "\u0007Q\u0002\u0002\u54d6\u54d7\u0007T\u0002\u0002\u54d7\u54d8\u0007", + "G\u0002\u0002\u54d8\u0c76\u0003\u0002\u0002\u0002\u54d9\u54da\u0007", + "U\u0002\u0002\u54da\u54db\u0007V\u0002\u0002\u54db\u54dc\u0007T\u0002", + "\u0002\u54dc\u54dd\u0007G\u0002\u0002\u54dd\u54de\u0007C\u0002\u0002", + "\u54de\u54df\u0007O\u0002\u0002\u54df\u54e0\u0007U\u0002\u0002\u54e0", + "\u0c78\u0003\u0002\u0002\u0002\u54e1\u54e2\u0007U\u0002\u0002\u54e2", + "\u54e3\u0007V\u0002\u0002\u54e3\u54e4\u0007T\u0002\u0002\u54e4\u54e5", + "\u0007G\u0002\u0002\u54e5\u54e6\u0007C\u0002\u0002\u54e6\u54e7\u0007", + "O\u0002\u0002\u54e7\u0c7a\u0003\u0002\u0002\u0002\u54e8\u54e9\u0007", + "U\u0002\u0002\u54e9\u54ea\u0007V\u0002\u0002\u54ea\u54eb\u0007T\u0002", + "\u0002\u54eb\u54ec\u0007K\u0002\u0002\u54ec\u54ed\u0007E\u0002\u0002", + "\u54ed\u54ee\u0007V\u0002\u0002\u54ee\u0c7c\u0003\u0002\u0002\u0002", + "\u54ef\u54f0\u0007U\u0002\u0002\u54f0\u54f1\u0007V\u0002\u0002\u54f1", + "\u54f2\u0007T\u0002\u0002\u54f2\u54f3\u0007K\u0002\u0002\u54f3\u54f4", + "\u0007P\u0002\u0002\u54f4\u54f5\u0007I\u0002\u0002\u54f5\u0c7e\u0003", + "\u0002\u0002\u0002\u54f6\u54f7\u0007U\u0002\u0002\u54f7\u54f8\u0007", + "V\u0002\u0002\u54f8\u54f9\u0007T\u0002\u0002\u54f9\u54fa\u0007K\u0002", + "\u0002\u54fa\u54fb\u0007R\u0002\u0002\u54fb\u54fc\u0007G\u0002\u0002", + "\u54fc\u54fd\u0007a\u0002\u0002\u54fd\u54fe\u0007E\u0002\u0002\u54fe", + "\u54ff\u0007Q\u0002\u0002\u54ff\u5500\u0007N\u0002\u0002\u5500\u5501", + "\u0007W\u0002\u0002\u5501\u5502\u0007O\u0002\u0002\u5502\u5503\u0007", + "P\u0002\u0002\u5503\u5504\u0007U\u0002\u0002\u5504\u0c80\u0003\u0002", + "\u0002\u0002\u5505\u5506\u0007U\u0002\u0002\u5506\u5507\u0007V\u0002", + "\u0002\u5507\u5508\u0007T\u0002\u0002\u5508\u5509\u0007K\u0002\u0002", + "\u5509\u550a\u0007R\u0002\u0002\u550a\u550b\u0007G\u0002\u0002\u550b", + "\u550c\u0007a\u0002\u0002\u550c\u550d\u0007Y\u0002\u0002\u550d\u550e", + "\u0007K\u0002\u0002\u550e\u550f\u0007F\u0002\u0002\u550f\u5510\u0007", + "V\u0002\u0002\u5510\u5511\u0007J\u0002\u0002\u5511\u0c82\u0003\u0002", + "\u0002\u0002\u5512\u5513\u0007U\u0002\u0002\u5513\u5514\u0007V\u0002", + "\u0002\u5514\u5515\u0007T\u0002\u0002\u5515\u5516\u0007K\u0002\u0002", + "\u5516\u5517\u0007R\u0002\u0002\u5517\u0c84\u0003\u0002\u0002\u0002", + "\u5518\u5519\u0007U\u0002\u0002\u5519\u551a\u0007V\u0002\u0002\u551a", + "\u551b\u0007T\u0002\u0002\u551b\u551c\u0007W\u0002\u0002\u551c\u551d", + "\u0007E\u0002\u0002\u551d\u551e\u0007V\u0002\u0002\u551e\u551f\u0007", + "W\u0002\u0002\u551f\u5520\u0007T\u0002\u0002\u5520\u5521\u0007G\u0002", + "\u0002\u5521\u0c86\u0003\u0002\u0002\u0002\u5522\u5523\u0007U\u0002", + "\u0002\u5523\u5524\u0007W\u0002\u0002\u5524\u5525\u0007D\u0002\u0002", + "\u5525\u5526\u0007O\u0002\u0002\u5526\u5527\u0007W\u0002\u0002\u5527", + "\u5528\u0007N\u0002\u0002\u5528\u5529\u0007V\u0002\u0002\u5529\u552a", + "\u0007K\u0002\u0002\u552a\u552b\u0007U\u0002\u0002\u552b\u552c\u0007", + "G\u0002\u0002\u552c\u552d\u0007V\u0002\u0002\u552d\u0c88\u0003\u0002", + "\u0002\u0002\u552e\u552f\u0007U\u0002\u0002\u552f\u5530\u0007W\u0002", + "\u0002\u5530\u5531\u0007D\u0002\u0002\u5531\u5532\u0007R\u0002\u0002", + "\u5532\u5533\u0007C\u0002\u0002\u5533\u5534\u0007T\u0002\u0002\u5534", + "\u5535\u0007V\u0002\u0002\u5535\u5536\u0007K\u0002\u0002\u5536\u5537", + "\u0007V\u0002\u0002\u5537\u5538\u0007K\u0002\u0002\u5538\u5539\u0007", + "Q\u0002\u0002\u5539\u553a\u0007P\u0002\u0002\u553a\u553b\u0007a\u0002", + "\u0002\u553b\u553c\u0007T\u0002\u0002\u553c\u553d\u0007G\u0002\u0002", + "\u553d\u553e\u0007N\u0002\u0002\u553e\u0c8a\u0003\u0002\u0002\u0002", + "\u553f\u5540\u0007U\u0002\u0002\u5540\u5541\u0007W\u0002\u0002\u5541", + "\u5542\u0007D\u0002\u0002\u5542\u5543\u0007R\u0002\u0002\u5543\u5544", + "\u0007C\u0002\u0002\u5544\u5545\u0007T\u0002\u0002\u5545\u5546\u0007", + "V\u0002\u0002\u5546\u5547\u0007K\u0002\u0002\u5547\u5548\u0007V\u0002", + "\u0002\u5548\u5549\u0007K\u0002\u0002\u5549\u554a\u0007Q\u0002\u0002", + "\u554a\u554b\u0007P\u0002\u0002\u554b\u554c\u0007U\u0002\u0002\u554c", + "\u0c8c\u0003\u0002\u0002\u0002\u554d\u554e\u0007U\u0002\u0002\u554e", + "\u554f\u0007W\u0002\u0002\u554f\u5550\u0007D\u0002\u0002\u5550\u5551", + "\u0007R\u0002\u0002\u5551\u5552\u0007C\u0002\u0002\u5552\u5553\u0007", + "T\u0002\u0002\u5553\u5554\u0007V\u0002\u0002\u5554\u5555\u0007K\u0002", + "\u0002\u5555\u5556\u0007V\u0002\u0002\u5556\u5557\u0007K\u0002\u0002", + "\u5557\u5558\u0007Q\u0002\u0002\u5558\u5559\u0007P\u0002\u0002\u5559", + "\u0c8e\u0003\u0002\u0002\u0002\u555a\u555b\u0007U\u0002\u0002\u555b", + "\u555c\u0007W\u0002\u0002\u555c\u555d\u0007D\u0002\u0002\u555d\u555e", + "\u0007S\u0002\u0002\u555e\u555f\u0007W\u0002\u0002\u555f\u5560\u0007", + "G\u0002\u0002\u5560\u5561\u0007T\u0002\u0002\u5561\u5562\u0007K\u0002", + "\u0002\u5562\u5563\u0007G\u0002\u0002\u5563\u5564\u0007U\u0002\u0002", + "\u5564\u0c90\u0003\u0002\u0002\u0002\u5565\u5566\u0007U\u0002\u0002", + "\u5566\u5567\u0007W\u0002\u0002\u5567\u5568\u0007D\u0002\u0002\u5568", + "\u5569\u0007S\u0002\u0002\u5569\u556a\u0007W\u0002\u0002\u556a\u556b", + "\u0007G\u0002\u0002\u556b\u556c\u0007T\u0002\u0002\u556c\u556d\u0007", + "[\u0002\u0002\u556d\u556e\u0007a\u0002\u0002\u556e\u556f\u0007R\u0002", + "\u0002\u556f\u5570\u0007T\u0002\u0002\u5570\u5571\u0007W\u0002\u0002", + "\u5571\u5572\u0007P\u0002\u0002\u5572\u5573\u0007K\u0002\u0002\u5573", + "\u5574\u0007P\u0002\u0002\u5574\u5575\u0007I\u0002\u0002\u5575\u0c92", + "\u0003\u0002\u0002\u0002\u5576\u5577\u0007U\u0002\u0002\u5577\u5578", + "\u0007W\u0002\u0002\u5578\u5579\u0007D\u0002\u0002\u5579\u557a\u0007", + "U\u0002\u0002\u557a\u557b\u0007E\u0002\u0002\u557b\u557c\u0007T\u0002", + "\u0002\u557c\u557d\u0007K\u0002\u0002\u557d\u557e\u0007D\u0002\u0002", + "\u557e\u557f\u0007G\u0002\u0002\u557f\u0c94\u0003\u0002\u0002\u0002", + "\u5580\u5581\u0007U\u0002\u0002\u5581\u5582\u0007W\u0002\u0002\u5582", + "\u5583\u0007D\u0002\u0002\u5583\u5584\u0007U\u0002\u0002\u5584\u5585", + "\u0007G\u0002\u0002\u5585\u5586\u0007V\u0002\u0002\u5586\u0c96\u0003", + "\u0002\u0002\u0002\u5587\u5588\u0007U\u0002\u0002\u5588\u5589\u0007", + "W\u0002\u0002\u5589\u558a\u0007D\u0002\u0002\u558a\u558b\u0007U\u0002", + "\u0002\u558b\u558c\u0007V\u0002\u0002\u558c\u558d\u0007K\u0002\u0002", + "\u558d\u558e\u0007V\u0002\u0002\u558e\u558f\u0007W\u0002\u0002\u558f", + "\u5590\u0007V\u0002\u0002\u5590\u5591\u0007C\u0002\u0002\u5591\u5592", + "\u0007D\u0002\u0002\u5592\u5593\u0007N\u0002\u0002\u5593\u5594\u0007", + "G\u0002\u0002\u5594\u0c98\u0003\u0002\u0002\u0002\u5595\u5596\u0007", + "U\u0002\u0002\u5596\u5597\u0007W\u0002\u0002\u5597\u5598\u0007D\u0002", + "\u0002\u5598\u5599\u0007U\u0002\u0002\u5599\u559a\u0007V\u0002\u0002", + "\u559a\u559b\u0007T\u0002\u0002\u559b\u559c\u00074\u0002\u0002\u559c", + "\u0c9a\u0003\u0002\u0002\u0002\u559d\u559e\u0007U\u0002\u0002\u559e", + "\u559f\u0007W\u0002\u0002\u559f\u55a0\u0007D\u0002\u0002\u55a0\u55a1", + "\u0007U\u0002\u0002\u55a1\u55a2\u0007V\u0002\u0002\u55a2\u55a3\u0007", + "T\u0002\u0002\u55a3\u55a4\u00076\u0002\u0002\u55a4\u0c9c\u0003\u0002", + "\u0002\u0002\u55a5\u55a6\u0007U\u0002\u0002\u55a6\u55a7\u0007W\u0002", + "\u0002\u55a7\u55a8\u0007D\u0002\u0002\u55a8\u55a9\u0007U\u0002\u0002", + "\u55a9\u55aa\u0007V\u0002\u0002\u55aa\u55ab\u0007T\u0002\u0002\u55ab", + "\u55ac\u0007D\u0002\u0002\u55ac\u0c9e\u0003\u0002\u0002\u0002\u55ad", + "\u55ae\u0007U\u0002\u0002\u55ae\u55af\u0007W\u0002\u0002\u55af\u55b0", + "\u0007D\u0002\u0002\u55b0\u55b1\u0007U\u0002\u0002\u55b1\u55b2\u0007", + "V\u0002\u0002\u55b2\u55b3\u0007T\u0002\u0002\u55b3\u55b4\u0007E\u0002", + "\u0002\u55b4\u0ca0\u0003\u0002\u0002\u0002\u55b5\u55b6\u0007U\u0002", + "\u0002\u55b6\u55b7\u0007W\u0002\u0002\u55b7\u55b8\u0007D\u0002\u0002", + "\u55b8\u55b9\u0007V\u0002\u0002\u55b9\u55ba\u0007[\u0002\u0002\u55ba", + "\u55bb\u0007R\u0002\u0002\u55bb\u55bc\u0007G\u0002\u0002\u55bc\u0ca2", + "\u0003\u0002\u0002\u0002\u55bd\u55be\u0007U\u0002\u0002\u55be\u55bf", + "\u0007W\u0002\u0002\u55bf\u55c0\u0007E\u0002\u0002\u55c0\u55c1\u0007", + "E\u0002\u0002\u55c1\u55c2\u0007G\u0002\u0002\u55c2\u55c3\u0007U\u0002", + "\u0002\u55c3\u55c4\u0007U\u0002\u0002\u55c4\u55c5\u0007H\u0002\u0002", + "\u55c5\u55c6\u0007W\u0002\u0002\u55c6\u55c7\u0007N\u0002\u0002\u55c7", + "\u0ca4\u0003\u0002\u0002\u0002\u55c8\u55c9\u0007U\u0002\u0002\u55c9", + "\u55ca\u0007W\u0002\u0002\u55ca\u55cb\u0007E\u0002\u0002\u55cb\u55cc", + "\u0007E\u0002\u0002\u55cc\u55cd\u0007G\u0002\u0002\u55cd\u55ce\u0007", + "U\u0002\u0002\u55ce\u55cf\u0007U\u0002\u0002\u55cf\u0ca6\u0003\u0002", + "\u0002\u0002\u55d0\u55d1\u0007U\u0002\u0002\u55d1\u55d2\u0007W\u0002", + "\u0002\u55d2\u55d3\u0007O\u0002\u0002\u55d3\u55d4\u0007O\u0002\u0002", + "\u55d4\u55d5\u0007C\u0002\u0002\u55d5\u55d6\u0007T\u0002\u0002\u55d6", + "\u55d7\u0007[\u0002\u0002\u55d7\u0ca8\u0003\u0002\u0002\u0002\u55d8", + "\u55d9\u0007U\u0002\u0002\u55d9\u55da\u0007W\u0002\u0002\u55da\u55db", + "\u0007R\u0002\u0002\u55db\u55dc\u0007R\u0002\u0002\u55dc\u55dd\u0007", + "N\u0002\u0002\u55dd\u55de\u0007G\u0002\u0002\u55de\u55df\u0007O\u0002", + "\u0002\u55df\u55e0\u0007G\u0002\u0002\u55e0\u55e1\u0007P\u0002\u0002", + "\u55e1\u55e2\u0007V\u0002\u0002\u55e2\u55e3\u0007C\u0002\u0002\u55e3", + "\u55e4\u0007N\u0002\u0002\u55e4\u0caa\u0003\u0002\u0002\u0002\u55e5", + "\u55e6\u0007U\u0002\u0002\u55e6\u55e7\u0007W\u0002\u0002\u55e7\u55e8", + "\u0007U\u0002\u0002\u55e8\u55e9\u0007R\u0002\u0002\u55e9\u55ea\u0007", + "G\u0002\u0002\u55ea\u55eb\u0007P\u0002\u0002\u55eb\u55ec\u0007F\u0002", + "\u0002\u55ec\u0cac\u0003\u0002\u0002\u0002\u55ed\u55ee\u0007U\u0002", + "\u0002\u55ee\u55ef\u0007Y\u0002\u0002\u55ef\u55f0\u0007C\u0002\u0002", + "\u55f0\u55f1\u0007R\u0002\u0002\u55f1\u55f2\u0007a\u0002\u0002\u55f2", + "\u55f3\u0007L\u0002\u0002\u55f3\u55f4\u0007Q\u0002\u0002\u55f4\u55f5", + "\u0007K\u0002\u0002\u55f5\u55f6\u0007P\u0002\u0002\u55f6\u55f7\u0007", + "a\u0002\u0002\u55f7\u55f8\u0007K\u0002\u0002\u55f8\u55f9\u0007P\u0002", + "\u0002\u55f9\u55fa\u0007R\u0002\u0002\u55fa\u55fb\u0007W\u0002\u0002", + "\u55fb\u55fc\u0007V\u0002\u0002\u55fc\u55fd\u0007U\u0002\u0002\u55fd", + "\u0cae\u0003\u0002\u0002\u0002\u55fe\u55ff\u0007U\u0002\u0002\u55ff", + "\u5600\u0007Y\u0002\u0002\u5600\u5601\u0007K\u0002\u0002\u5601\u5602", + "\u0007V\u0002\u0002\u5602\u5603\u0007E\u0002\u0002\u5603\u5604\u0007", + "J\u0002\u0002\u5604\u5605\u0007Q\u0002\u0002\u5605\u5606\u0007X\u0002", + "\u0002\u5606\u5607\u0007G\u0002\u0002\u5607\u5608\u0007T\u0002\u0002", + "\u5608\u0cb0\u0003\u0002\u0002\u0002\u5609\u560a\u0007U\u0002\u0002", + "\u560a\u560b\u0007Y\u0002\u0002\u560b\u560c\u0007K\u0002\u0002\u560c", + "\u560d\u0007V\u0002\u0002\u560d\u560e\u0007E\u0002\u0002\u560e\u560f", + "\u0007J\u0002\u0002\u560f\u0cb2\u0003\u0002\u0002\u0002\u5610\u5611", + "\u0007U\u0002\u0002\u5611\u5612\u0007[\u0002\u0002\u5612\u5613\u0007", + "P\u0002\u0002\u5613\u5614\u0007E\u0002\u0002\u5614\u5615\u0007J\u0002", + "\u0002\u5615\u5616\u0007T\u0002\u0002\u5616\u5617\u0007Q\u0002\u0002", + "\u5617\u5618\u0007P\u0002\u0002\u5618\u5619\u0007Q\u0002\u0002\u5619", + "\u561a\u0007W\u0002\u0002\u561a\u561b\u0007U\u0002\u0002\u561b\u0cb4", + "\u0003\u0002\u0002\u0002\u561c\u561d\u0007U\u0002\u0002\u561d\u561e", + "\u0007[\u0002\u0002\u561e\u561f\u0007P\u0002\u0002\u561f\u5620\u0007", + "E\u0002\u0002\u5620\u0cb6\u0003\u0002\u0002\u0002\u5621\u5622\u0007", + "U\u0002\u0002\u5622\u5623\u0007[\u0002\u0002\u5623\u5624\u0007P\u0002", + "\u0002\u5624\u5625\u0007Q\u0002\u0002\u5625\u5626\u0007P\u0002\u0002", + "\u5626\u5627\u0007[\u0002\u0002\u5627\u5628\u0007O\u0002\u0002\u5628", + "\u0cb8\u0003\u0002\u0002\u0002\u5629\u562a\u0007U\u0002\u0002\u562a", + "\u562b\u0007[\u0002\u0002\u562b\u562c\u0007U\u0002\u0002\u562c\u562d", + "\u0007C\u0002\u0002\u562d\u562e\u0007U\u0002\u0002\u562e\u562f\u0007", + "O\u0002\u0002\u562f\u0cba\u0003\u0002\u0002\u0002\u5630\u5631\u0007", + "U\u0002\u0002\u5631\u5632\u0007[\u0002\u0002\u5632\u5633\u0007U\u0002", + "\u0002\u5633\u5634\u0007a\u0002\u0002\u5634\u5635\u0007C\u0002\u0002", + "\u5635\u5636\u0007W\u0002\u0002\u5636\u5637\u0007F\u0002\u0002\u5637", + "\u5638\u0007K\u0002\u0002\u5638\u5639\u0007V\u0002\u0002\u5639\u0cbc", + "\u0003\u0002\u0002\u0002\u563a\u563b\u0007U\u0002\u0002\u563b\u563c", + "\u0007[\u0002\u0002\u563c\u563d\u0007U\u0002\u0002\u563d\u563e\u0007", + "C\u0002\u0002\u563e\u563f\u0007W\u0002\u0002\u563f\u5640\u0007Z\u0002", + "\u0002\u5640\u0cbe\u0003\u0002\u0002\u0002\u5641\u5642\u0007U\u0002", + "\u0002\u5642\u5643\u0007[\u0002\u0002\u5643\u5644\u0007U\u0002\u0002", + "\u5644\u5645\u0007D\u0002\u0002\u5645\u5646\u0007C\u0002\u0002\u5646", + "\u5647\u0007E\u0002\u0002\u5647\u5648\u0007M\u0002\u0002\u5648\u5649", + "\u0007W\u0002\u0002\u5649\u564a\u0007R\u0002\u0002\u564a\u0cc0\u0003", + "\u0002\u0002\u0002\u564b\u564c\u0007U\u0002\u0002\u564c\u564d\u0007", + "[\u0002\u0002\u564d\u564e\u0007U\u0002\u0002\u564e\u564f\u0007a\u0002", + "\u0002\u564f\u5650\u0007E\u0002\u0002\u5650\u5651\u0007J\u0002\u0002", + "\u5651\u5652\u0007G\u0002\u0002\u5652\u5653\u0007E\u0002\u0002\u5653", + "\u5654\u0007M\u0002\u0002\u5654\u5655\u0007C\u0002\u0002\u5655\u5656", + "\u0007E\u0002\u0002\u5656\u5657\u0007N\u0002\u0002\u5657\u0cc2\u0003", + "\u0002\u0002\u0002\u5658\u5659\u0007U\u0002\u0002\u5659\u565a\u0007", + "[\u0002\u0002\u565a\u565b\u0007U\u0002\u0002\u565b\u565c\u0007a\u0002", + "\u0002\u565c\u565d\u0007E\u0002\u0002\u565d\u565e\u0007J\u0002\u0002", + "\u565e\u565f\u0007G\u0002\u0002\u565f\u5660\u0007E\u0002\u0002\u5660", + "\u5661\u0007M\u0002\u0002\u5661\u5662\u0007a\u0002\u0002\u5662\u5663", + "\u0007R\u0002\u0002\u5663\u5664\u0007T\u0002\u0002\u5664\u5665\u0007", + "K\u0002\u0002\u5665\u5666\u0007X\u0002\u0002\u5666\u5667\u0007K\u0002", + "\u0002\u5667\u5668\u0007N\u0002\u0002\u5668\u5669\u0007G\u0002\u0002", + "\u5669\u566a\u0007I\u0002\u0002\u566a\u566b\u0007G\u0002\u0002\u566b", + "\u0cc4\u0003\u0002\u0002\u0002\u566c\u566d\u0007U\u0002\u0002\u566d", + "\u566e\u0007[\u0002\u0002\u566e\u566f\u0007U\u0002\u0002\u566f\u5670", + "\u0007a\u0002\u0002\u5670\u5671\u0007E\u0002\u0002\u5671\u5672\u0007", + "Q\u0002\u0002\u5672\u5673\u0007P\u0002\u0002\u5673\u5674\u0007P\u0002", + "\u0002\u5674\u5675\u0007G\u0002\u0002\u5675\u5676\u0007E\u0002\u0002", + "\u5676\u5677\u0007V\u0002\u0002\u5677\u5678\u0007a\u0002\u0002\u5678", + "\u5679\u0007D\u0002\u0002\u5679\u567a\u0007[\u0002\u0002\u567a\u567b", + "\u0007a\u0002\u0002\u567b\u567c\u0007R\u0002\u0002\u567c\u567d\u0007", + "C\u0002\u0002\u567d\u567e\u0007V\u0002\u0002\u567e\u567f\u0007J\u0002", + "\u0002\u567f\u0cc6\u0003\u0002\u0002\u0002\u5680\u5681\u0007U\u0002", + "\u0002\u5681\u5682\u0007[\u0002\u0002\u5682\u5683\u0007U\u0002\u0002", + "\u5683\u5684\u0007a\u0002\u0002\u5684\u5685\u0007E\u0002\u0002\u5685", + "\u5686\u0007Q\u0002\u0002\u5686\u5687\u0007P\u0002\u0002\u5687\u5688", + "\u0007V\u0002\u0002\u5688\u5689\u0007G\u0002\u0002\u5689\u568a\u0007", + "Z\u0002\u0002\u568a\u568b\u0007V\u0002\u0002\u568b\u0cc8\u0003\u0002", + "\u0002\u0002\u568c\u568d\u0007U\u0002\u0002\u568d\u568e\u0007[\u0002", + "\u0002\u568e\u568f\u0007U\u0002\u0002\u568f\u5690\u0007F\u0002\u0002", + "\u5690\u5691\u0007C\u0002\u0002\u5691\u5692\u0007V\u0002\u0002\u5692", + "\u5693\u0007G\u0002\u0002\u5693\u0cca\u0003\u0002\u0002\u0002\u5694", + "\u5695\u0007U\u0002\u0002\u5695\u5696\u0007[\u0002\u0002\u5696\u5697", + "\u0007U\u0002\u0002\u5697\u5698\u0007F\u0002\u0002\u5698\u5699\u0007", + "D\u0002\u0002\u5699\u569a\u0007C\u0002\u0002\u569a\u0ccc\u0003\u0002", + "\u0002\u0002\u569b\u569c\u0007U\u0002\u0002\u569c\u569d\u0007[\u0002", + "\u0002\u569d\u569e\u0007U\u0002\u0002\u569e\u569f\u0007a\u0002\u0002", + "\u569f\u56a0\u0007F\u0002\u0002\u56a0\u56a1\u0007D\u0002\u0002\u56a1", + "\u56a2\u0007W\u0002\u0002\u56a2\u56a3\u0007T\u0002\u0002\u56a3\u56a4", + "\u0007K\u0002\u0002\u56a4\u56a5\u0007I\u0002\u0002\u56a5\u56a6\u0007", + "G\u0002\u0002\u56a6\u56a7\u0007P\u0002\u0002\u56a7\u0cce\u0003\u0002", + "\u0002\u0002\u56a8\u56a9\u0007U\u0002\u0002\u56a9\u56aa\u0007[\u0002", + "\u0002\u56aa\u56ab\u0007U\u0002\u0002\u56ab\u56ac\u0007F\u0002\u0002", + "\u56ac\u56ad\u0007I\u0002\u0002\u56ad\u0cd0\u0003\u0002\u0002\u0002", + "\u56ae\u56af\u0007U\u0002\u0002\u56af\u56b0\u0007[\u0002\u0002\u56b0", + "\u56b1\u0007U\u0002\u0002\u56b1\u56b2\u0007a\u0002\u0002\u56b2\u56b3", + "\u0007F\u0002\u0002\u56b3\u56b4\u0007N\u0002\u0002\u56b4\u56b5\u0007", + "a\u0002\u0002\u56b5\u56b6\u0007E\u0002\u0002\u56b6\u56b7\u0007W\u0002", + "\u0002\u56b7\u56b8\u0007T\u0002\u0002\u56b8\u56b9\u0007U\u0002\u0002", + "\u56b9\u56ba\u0007Q\u0002\u0002\u56ba\u56bb\u0007T\u0002\u0002\u56bb", + "\u0cd2\u0003\u0002\u0002\u0002\u56bc\u56bd\u0007U\u0002\u0002\u56bd", + "\u56be\u0007[\u0002\u0002\u56be\u56bf\u0007U\u0002\u0002\u56bf\u56c0", + "\u0007a\u0002\u0002\u56c0\u56c1\u0007F\u0002\u0002\u56c1\u56c2\u0007", + "O\u0002\u0002\u56c2\u56c3\u0007a\u0002\u0002\u56c3\u56c4\u0007T\u0002", + "\u0002\u56c4\u56c5\u0007Z\u0002\u0002\u56c5\u56c6\u0007H\u0002\u0002", + "\u56c6\u56c7\u0007Q\u0002\u0002\u56c7\u56c8\u0007T\u0002\u0002\u56c8", + "\u56c9\u0007O\u0002\u0002\u56c9\u56ca\u0007a\u0002\u0002\u56ca\u56cb", + "\u0007E\u0002\u0002\u56cb\u56cc\u0007J\u0002\u0002\u56cc\u56cd\u0007", + "T\u0002\u0002\u56cd\u0cd4\u0003\u0002\u0002\u0002\u56ce\u56cf\u0007", + "U\u0002\u0002\u56cf\u56d0\u0007[\u0002\u0002\u56d0\u56d1\u0007U\u0002", + "\u0002\u56d1\u56d2\u0007a\u0002\u0002\u56d2\u56d3\u0007F\u0002\u0002", + "\u56d3\u56d4\u0007O\u0002\u0002\u56d4\u56d5\u0007a\u0002\u0002\u56d5", + "\u56d6\u0007T\u0002\u0002\u56d6\u56d7\u0007Z\u0002\u0002\u56d7\u56d8", + "\u0007H\u0002\u0002\u56d8\u56d9\u0007Q\u0002\u0002\u56d9\u56da\u0007", + "T\u0002\u0002\u56da\u56db\u0007O\u0002\u0002\u56db\u56dc\u0007a\u0002", + "\u0002\u56dc\u56dd\u0007P\u0002\u0002\u56dd\u56de\u0007W\u0002\u0002", + "\u56de\u56df\u0007O\u0002\u0002\u56df\u0cd6\u0003\u0002\u0002\u0002", + "\u56e0\u56e1\u0007U\u0002\u0002\u56e1\u56e2\u0007[\u0002\u0002\u56e2", + "\u56e3\u0007U\u0002\u0002\u56e3\u56e4\u0007a\u0002\u0002\u56e4\u56e5", + "\u0007F\u0002\u0002\u56e5\u56e6\u0007Q\u0002\u0002\u56e6\u56e7\u0007", + "O\u0002\u0002\u56e7\u56e8\u0007a\u0002\u0002\u56e8\u56e9\u0007E\u0002", + "\u0002\u56e9\u56ea\u0007Q\u0002\u0002\u56ea\u56eb\u0007O\u0002\u0002", + "\u56eb\u56ec\u0007R\u0002\u0002\u56ec\u56ed\u0007C\u0002\u0002\u56ed", + "\u56ee\u0007T\u0002\u0002\u56ee\u56ef\u0007G\u0002\u0002\u56ef\u0cd8", + "\u0003\u0002\u0002\u0002\u56f0\u56f1\u0007U\u0002\u0002\u56f1\u56f2", + "\u0007[\u0002\u0002\u56f2\u56f3\u0007U\u0002\u0002\u56f3\u56f4\u0007", + "a\u0002\u0002\u56f4\u56f5\u0007F\u0002\u0002\u56f5\u56f6\u0007U\u0002", + "\u0002\u56f6\u56f7\u0007V\u0002\u0002\u56f7\u56f8\u0007a\u0002\u0002", + "\u56f8\u56f9\u0007R\u0002\u0002\u56f9\u56fa\u0007T\u0002\u0002\u56fa", + "\u56fb\u0007K\u0002\u0002\u56fb\u56fc\u0007O\u0002\u0002\u56fc\u56fd", + "\u00074\u0002\u0002\u56fd\u56fe\u0007U\u0002\u0002\u56fe\u56ff\u0007", + "G\u0002\u0002\u56ff\u5700\u0007E\u0002\u0002\u5700\u0cda\u0003\u0002", + "\u0002\u0002\u5701\u5702\u0007U\u0002\u0002\u5702\u5703\u0007[\u0002", + "\u0002\u5703\u5704\u0007U\u0002\u0002\u5704\u5705\u0007a\u0002\u0002", + "\u5705\u5706\u0007F\u0002\u0002\u5706\u5707\u0007U\u0002\u0002\u5707", + "\u5708\u0007V\u0002\u0002\u5708\u5709\u0007a\u0002\u0002\u5709\u570a", + "\u0007U\u0002\u0002\u570a\u570b\u0007G\u0002\u0002\u570b\u570c\u0007", + "E\u0002\u0002\u570c\u570d\u00074\u0002\u0002\u570d\u570e\u0007R\u0002", + "\u0002\u570e\u570f\u0007T\u0002\u0002\u570f\u5710\u0007K\u0002\u0002", + "\u5710\u5711\u0007O\u0002\u0002\u5711\u0cdc\u0003\u0002\u0002\u0002", + "\u5712\u5713\u0007U\u0002\u0002\u5713\u5714\u0007[\u0002\u0002\u5714", + "\u5715\u0007U\u0002\u0002\u5715\u5716\u0007a\u0002\u0002\u5716\u5717", + "\u0007G\u0002\u0002\u5717\u5718\u0007V\u0002\u0002\u5718\u5719\u0007", + "a\u0002\u0002\u5719\u571a\u0007D\u0002\u0002\u571a\u571b\u0007H\u0002", + "\u0002\u571b\u571c\u0007K\u0002\u0002\u571c\u571d\u0007N\u0002\u0002", + "\u571d\u571e\u0007G\u0002\u0002\u571e\u571f\u0007a\u0002\u0002\u571f", + "\u5720\u0007V\u0002\u0002\u5720\u5721\u0007Q\u0002\u0002\u5721\u5722", + "\u0007a\u0002\u0002\u5722\u5723\u0007T\u0002\u0002\u5723\u5724\u0007", + "C\u0002\u0002\u5724\u5725\u0007Y\u0002\u0002\u5725\u0cde\u0003\u0002", + "\u0002\u0002\u5726\u5727\u0007U\u0002\u0002\u5727\u5728\u0007[\u0002", + "\u0002\u5728\u5729\u0007U\u0002\u0002\u5729\u572a\u0007a\u0002\u0002", + "\u572a\u572b\u0007G\u0002\u0002\u572b\u572c\u0007V\u0002\u0002\u572c", + "\u572d\u0007a\u0002\u0002\u572d\u572e\u0007D\u0002\u0002\u572e\u572f", + "\u0007N\u0002\u0002\u572f\u5730\u0007Q\u0002\u0002\u5730\u5731\u0007", + "D\u0002\u0002\u5731\u5732\u0007a\u0002\u0002\u5732\u5733\u0007V\u0002", + "\u0002\u5733\u5734\u0007Q\u0002\u0002\u5734\u5735\u0007a\u0002\u0002", + "\u5735\u5736\u0007K\u0002\u0002\u5736\u5737\u0007O\u0002\u0002\u5737", + "\u5738\u0007C\u0002\u0002\u5738\u5739\u0007I\u0002\u0002\u5739\u573a", + "\u0007G\u0002\u0002\u573a\u0ce0\u0003\u0002\u0002\u0002\u573b\u573c", + "\u0007U\u0002\u0002\u573c\u573d\u0007[\u0002\u0002\u573d\u573e\u0007", + "U\u0002\u0002\u573e\u573f\u0007a\u0002\u0002\u573f\u5740\u0007G\u0002", + "\u0002\u5740\u5741\u0007V\u0002\u0002\u5741\u5742\u0007a\u0002\u0002", + "\u5742\u5743\u0007K\u0002\u0002\u5743\u5744\u0007O\u0002\u0002\u5744", + "\u5745\u0007C\u0002\u0002\u5745\u5746\u0007I\u0002\u0002\u5746\u5747", + "\u0007G\u0002\u0002\u5747\u5748\u0007a\u0002\u0002\u5748\u5749\u0007", + "V\u0002\u0002\u5749\u574a\u0007Q\u0002\u0002\u574a\u574b\u0007a\u0002", + "\u0002\u574b\u574c\u0007D\u0002\u0002\u574c\u574d\u0007N\u0002\u0002", + "\u574d\u574e\u0007Q\u0002\u0002\u574e\u574f\u0007D\u0002\u0002\u574f", + "\u0ce2\u0003\u0002\u0002\u0002\u5750\u5751\u0007U\u0002\u0002\u5751", + "\u5752\u0007[\u0002\u0002\u5752\u5753\u0007U\u0002\u0002\u5753\u5754", + "\u0007a\u0002\u0002\u5754\u5755\u0007G\u0002\u0002\u5755\u5756\u0007", + "V\u0002\u0002\u5756\u5757\u0007a\u0002\u0002\u5757\u5758\u0007T\u0002", + "\u0002\u5758\u5759\u0007C\u0002\u0002\u5759\u575a\u0007Y\u0002\u0002", + "\u575a\u575b\u0007a\u0002\u0002\u575b\u575c\u0007V\u0002\u0002\u575c", + "\u575d\u0007Q\u0002\u0002\u575d\u575e\u0007a\u0002\u0002\u575e\u575f", + "\u0007D\u0002\u0002\u575f\u5760\u0007H\u0002\u0002\u5760\u5761\u0007", + "K\u0002\u0002\u5761\u5762\u0007N\u0002\u0002\u5762\u5763\u0007G\u0002", + "\u0002\u5763\u0ce4\u0003\u0002\u0002\u0002\u5764\u5765\u0007U\u0002", + "\u0002\u5765\u5766\u0007[\u0002\u0002\u5766\u5767\u0007U\u0002\u0002", + "\u5767\u5768\u0007a\u0002\u0002\u5768\u5769\u0007G\u0002\u0002\u5769", + "\u576a\u0007Z\u0002\u0002\u576a\u576b\u0007V\u0002\u0002\u576b\u576c", + "\u0007R\u0002\u0002\u576c\u576d\u0007F\u0002\u0002\u576d\u576e\u0007", + "V\u0002\u0002\u576e\u576f\u0007Z\u0002\u0002\u576f\u5770\u0007V\u0002", + "\u0002\u5770\u0ce6\u0003\u0002\u0002\u0002\u5771\u5772\u0007U\u0002", + "\u0002\u5772\u5773\u0007[\u0002\u0002\u5773\u5774\u0007U\u0002\u0002", + "\u5774\u5775\u0007a\u0002\u0002\u5775\u5776\u0007G\u0002\u0002\u5776", + "\u5777\u0007Z\u0002\u0002\u5777\u5778\u0007V\u0002\u0002\u5778\u5779", + "\u0007T\u0002\u0002\u5779\u577a\u0007C\u0002\u0002\u577a\u577b\u0007", + "E\u0002\u0002\u577b\u577c\u0007V\u0002\u0002\u577c\u577d\u0007a\u0002", + "\u0002\u577d\u577e\u0007W\u0002\u0002\u577e\u577f\u0007V\u0002\u0002", + "\u577f\u5780\u0007E\u0002\u0002\u5780\u0ce8\u0003\u0002\u0002\u0002", + "\u5781\u5782\u0007U\u0002\u0002\u5782\u5783\u0007[\u0002\u0002\u5783", + "\u5784\u0007U\u0002\u0002\u5784\u5785\u0007a\u0002\u0002\u5785\u5786", + "\u0007H\u0002\u0002\u5786\u5787\u0007D\u0002\u0002\u5787\u5788\u0007", + "V\u0002\u0002\u5788\u5789\u0007a\u0002\u0002\u5789\u578a\u0007K\u0002", + "\u0002\u578a\u578b\u0007P\u0002\u0002\u578b\u578c\u0007U\u0002\u0002", + "\u578c\u578d\u0007F\u0002\u0002\u578d\u578e\u0007G\u0002\u0002\u578e", + "\u578f\u0007N\u0002\u0002\u578f\u0cea\u0003\u0002\u0002\u0002\u5790", + "\u5791\u0007U\u0002\u0002\u5791\u5792\u0007[\u0002\u0002\u5792\u5793", + "\u0007U\u0002\u0002\u5793\u5794\u0007a\u0002\u0002\u5794\u5795\u0007", + "H\u0002\u0002\u5795\u5796\u0007K\u0002\u0002\u5796\u5797\u0007N\u0002", + "\u0002\u5797\u5798\u0007V\u0002\u0002\u5798\u5799\u0007G\u0002\u0002", + "\u5799\u579a\u0007T\u0002\u0002\u579a\u579b\u0007a\u0002\u0002\u579b", + "\u579c\u0007C\u0002\u0002\u579c\u579d\u0007E\u0002\u0002\u579d\u579e", + "\u0007N\u0002\u0002\u579e\u579f\u0007U\u0002\u0002\u579f\u0cec\u0003", + "\u0002\u0002\u0002\u57a0\u57a1\u0007U\u0002\u0002\u57a1\u57a2\u0007", + "[\u0002\u0002\u57a2\u57a3\u0007U\u0002\u0002\u57a3\u57a4\u0007a\u0002", + "\u0002\u57a4\u57a5\u0007H\u0002\u0002\u57a5\u57a6\u0007P\u0002\u0002", + "\u57a6\u57a7\u0007O\u0002\u0002\u57a7\u57a8\u0007C\u0002\u0002\u57a8", + "\u57a9\u0007V\u0002\u0002\u57a9\u57aa\u0007E\u0002\u0002\u57aa\u57ab", + "\u0007J\u0002\u0002\u57ab\u57ac\u0007G\u0002\u0002\u57ac\u57ad\u0007", + "U\u0002\u0002\u57ad\u0cee\u0003\u0002\u0002\u0002\u57ae\u57af\u0007", + "U\u0002\u0002\u57af\u57b0\u0007[\u0002\u0002\u57b0\u57b1\u0007U\u0002", + "\u0002\u57b1\u57b2\u0007a\u0002\u0002\u57b2\u57b3\u0007H\u0002\u0002", + "\u57b3\u57b4\u0007P\u0002\u0002\u57b4\u57b5\u0007T\u0002\u0002\u57b5", + "\u57b6\u0007G\u0002\u0002\u57b6\u57b7\u0007R\u0002\u0002\u57b7\u57b8", + "\u0007N\u0002\u0002\u57b8\u57b9\u0007C\u0002\u0002\u57b9\u57ba\u0007", + "E\u0002\u0002\u57ba\u57bb\u0007G\u0002\u0002\u57bb\u0cf0\u0003\u0002", + "\u0002\u0002\u57bc\u57bd\u0007U\u0002\u0002\u57bd\u57be\u0007[\u0002", + "\u0002\u57be\u57bf\u0007U\u0002\u0002\u57bf\u57c0\u0007a\u0002\u0002", + "\u57c0\u57c1\u0007I\u0002\u0002\u57c1\u57c2\u0007G\u0002\u0002\u57c2", + "\u57c3\u0007V\u0002\u0002\u57c3\u57c4\u0007a\u0002\u0002\u57c4\u57c5", + "\u0007C\u0002\u0002\u57c5\u57c6\u0007E\u0002\u0002\u57c6\u57c7\u0007", + "N\u0002\u0002\u57c7\u57c8\u0007K\u0002\u0002\u57c8\u57c9\u0007F\u0002", + "\u0002\u57c9\u57ca\u0007U\u0002\u0002\u57ca\u0cf2\u0003\u0002\u0002", + "\u0002\u57cb\u57cc\u0007U\u0002\u0002\u57cc\u57cd\u0007[\u0002\u0002", + "\u57cd\u57ce\u0007U\u0002\u0002\u57ce\u57cf\u0007a\u0002\u0002\u57cf", + "\u57d0\u0007I\u0002\u0002\u57d0\u57d1\u0007G\u0002\u0002\u57d1\u57d2", + "\u0007V\u0002\u0002\u57d2\u57d3\u0007a\u0002\u0002\u57d3\u57d4\u0007", + "E\u0002\u0002\u57d4\u57d5\u0007Q\u0002\u0002\u57d5\u57d6\u0007N\u0002", + "\u0002\u57d6\u57d7\u0007a\u0002\u0002\u57d7\u57d8\u0007C\u0002\u0002", + "\u57d8\u57d9\u0007E\u0002\u0002\u57d9\u57da\u0007N\u0002\u0002\u57da", + "\u57db\u0007K\u0002\u0002\u57db\u57dc\u0007F\u0002\u0002\u57dc\u57dd", + "\u0007U\u0002\u0002\u57dd\u0cf4\u0003\u0002\u0002\u0002\u57de\u57df", + "\u0007U\u0002\u0002\u57df\u57e0\u0007[\u0002\u0002\u57e0\u57e1\u0007", + "U\u0002\u0002\u57e1\u57e2\u0007a\u0002\u0002\u57e2\u57e3\u0007I\u0002", + "\u0002\u57e3\u57e4\u0007G\u0002\u0002\u57e4\u57e5\u0007V\u0002\u0002", + "\u57e5\u57e6\u0007a\u0002\u0002\u57e6\u57e7\u0007R\u0002\u0002\u57e7", + "\u57e8\u0007T\u0002\u0002\u57e8\u57e9\u0007K\u0002\u0002\u57e9\u57ea", + "\u0007X\u0002\u0002\u57ea\u57eb\u0007K\u0002\u0002\u57eb\u57ec\u0007", + "N\u0002\u0002\u57ec\u57ed\u0007G\u0002\u0002\u57ed\u57ee\u0007I\u0002", + "\u0002\u57ee\u57ef\u0007G\u0002\u0002\u57ef\u57f0\u0007U\u0002\u0002", + "\u57f0\u0cf6\u0003\u0002\u0002\u0002\u57f1\u57f2\u0007U\u0002\u0002", + "\u57f2\u57f3\u0007[\u0002\u0002\u57f3\u57f4\u0007U\u0002\u0002\u57f4", + "\u57f5\u0007a\u0002\u0002\u57f5\u57f6\u0007I\u0002\u0002\u57f6\u57f7", + "\u0007G\u0002\u0002\u57f7\u57f8\u0007V\u0002\u0002\u57f8\u57f9\u0007", + "V\u0002\u0002\u57f9\u57fa\u0007Q\u0002\u0002\u57fa\u57fb\u0007M\u0002", + "\u0002\u57fb\u57fc\u0007G\u0002\u0002\u57fc\u57fd\u0007P\u0002\u0002", + "\u57fd\u57fe\u0007K\u0002\u0002\u57fe\u57ff\u0007F\u0002\u0002\u57ff", + "\u0cf8\u0003\u0002\u0002\u0002\u5800\u5801\u0007U\u0002\u0002\u5801", + "\u5802\u0007[\u0002\u0002\u5802\u5803\u0007U\u0002\u0002\u5803\u5804", + "\u0007a\u0002\u0002\u5804\u5805\u0007I\u0002\u0002\u5805\u5806\u0007", + "G\u0002\u0002\u5806\u5807\u0007V\u0002\u0002\u5807\u5808\u0007Z\u0002", + "\u0002\u5808\u5809\u0007V\u0002\u0002\u5809\u580a\u0007K\u0002\u0002", + "\u580a\u580b\u0007X\u0002\u0002\u580b\u580c\u0007C\u0002\u0002\u580c", + "\u580d\u0007N\u0002\u0002\u580d\u0cfa\u0003\u0002\u0002\u0002\u580e", + "\u580f\u0007U\u0002\u0002\u580f\u5810\u0007[\u0002\u0002\u5810\u5811", + "\u0007U\u0002\u0002\u5811\u5812\u0007a\u0002\u0002\u5812\u5813\u0007", + "I\u0002\u0002\u5813\u5814\u0007W\u0002\u0002\u5814\u5815\u0007K\u0002", + "\u0002\u5815\u5816\u0007F\u0002\u0002\u5816\u0cfc\u0003\u0002\u0002", + "\u0002\u5817\u5818\u0007U\u0002\u0002\u5818\u5819\u0007[\u0002\u0002", + "\u5819\u581a\u0007U\u0002\u0002\u581a\u581b\u0007I\u0002\u0002\u581b", + "\u581c\u0007W\u0002\u0002\u581c\u581d\u0007K\u0002\u0002\u581d\u581e", + "\u0007F\u0002\u0002\u581e\u0cfe\u0003\u0002\u0002\u0002\u581f\u5820", + "\u0007U\u0002\u0002\u5820\u5821\u0007[\u0002\u0002\u5821\u5822\u0007", + "U\u0002\u0002\u5822\u5823\u0007M\u0002\u0002\u5823\u5824\u0007O\u0002", + "\u0002\u5824\u0d00\u0003\u0002\u0002\u0002\u5825\u5826\u0007U\u0002", + "\u0002\u5826\u5827\u0007[\u0002\u0002\u5827\u5828\u0007U\u0002\u0002", + "\u5828\u5829\u0007a\u0002\u0002\u5829\u582a\u0007O\u0002\u0002\u582a", + "\u582b\u0007C\u0002\u0002\u582b\u582c\u0007M\u0002\u0002\u582c\u582d", + "\u0007G\u0002\u0002\u582d\u582e\u0007a\u0002\u0002\u582e\u582f\u0007", + "Z\u0002\u0002\u582f\u5830\u0007O\u0002\u0002\u5830\u5831\u0007N\u0002", + "\u0002\u5831\u5832\u0007P\u0002\u0002\u5832\u5833\u0007Q\u0002\u0002", + "\u5833\u5834\u0007F\u0002\u0002\u5834\u5835\u0007G\u0002\u0002\u5835", + "\u5836\u0007K\u0002\u0002\u5836\u5837\u0007F\u0002\u0002\u5837\u0d02", + "\u0003\u0002\u0002\u0002\u5838\u5839\u0007U\u0002\u0002\u5839\u583a", + "\u0007[\u0002\u0002\u583a\u583b\u0007U\u0002\u0002\u583b\u583c\u0007", + "a\u0002\u0002\u583c\u583d\u0007O\u0002\u0002\u583d\u583e\u0007C\u0002", + "\u0002\u583e\u583f\u0007M\u0002\u0002\u583f\u5840\u0007G\u0002\u0002", + "\u5840\u5841\u0007Z\u0002\u0002\u5841\u5842\u0007O\u0002\u0002\u5842", + "\u5843\u0007N\u0002\u0002\u5843\u0d04\u0003\u0002\u0002\u0002\u5844", + "\u5845\u0007U\u0002\u0002\u5845\u5846\u0007[\u0002\u0002\u5846\u5847", + "\u0007U\u0002\u0002\u5847\u5848\u0007a\u0002\u0002\u5848\u5849\u0007", + "O\u0002\u0002\u5849\u584a\u0007M\u0002\u0002\u584a\u584b\u0007Z\u0002", + "\u0002\u584b\u584c\u0007O\u0002\u0002\u584c\u584d\u0007N\u0002\u0002", + "\u584d\u584e\u0007C\u0002\u0002\u584e\u584f\u0007V\u0002\u0002\u584f", + "\u5850\u0007V\u0002\u0002\u5850\u5851\u0007T\u0002\u0002\u5851\u0d06", + "\u0003\u0002\u0002\u0002\u5852\u5853\u0007U\u0002\u0002\u5853\u5854", + "\u0007[\u0002\u0002\u5854\u5855\u0007U\u0002\u0002\u5855\u5856\u0007", + "a\u0002\u0002\u5856\u5857\u0007O\u0002\u0002\u5857\u5858\u0007M\u0002", + "\u0002\u5858\u5859\u0007Z\u0002\u0002\u5859\u585a\u0007V\u0002\u0002", + "\u585a\u585b\u0007K\u0002\u0002\u585b\u0d08\u0003\u0002\u0002\u0002", + "\u585c\u585d\u0007U\u0002\u0002\u585d\u585e\u0007[\u0002\u0002\u585e", + "\u585f\u0007U\u0002\u0002\u585f\u5860\u0007Q\u0002\u0002\u5860\u5861", + "\u0007D\u0002\u0002\u5861\u5862\u0007L\u0002\u0002\u5862\u0d0a\u0003", + "\u0002\u0002\u0002\u5863\u5864\u0007U\u0002\u0002\u5864\u5865\u0007", + "[\u0002\u0002\u5865\u5866\u0007U\u0002\u0002\u5866\u5867\u0007a\u0002", + "\u0002\u5867\u5868\u0007Q\u0002\u0002\u5868\u5869\u0007R\u0002\u0002", + "\u5869\u586a\u0007a\u0002\u0002\u586a\u586b\u0007C\u0002\u0002\u586b", + "\u586c\u0007F\u0002\u0002\u586c\u586d\u0007V\u0002\u0002\u586d\u586e", + "\u00074\u0002\u0002\u586e\u586f\u0007D\u0002\u0002\u586f\u5870\u0007", + "K\u0002\u0002\u5870\u5871\u0007P\u0002\u0002\u5871\u0d0c\u0003\u0002", + "\u0002\u0002\u5872\u5873\u0007U\u0002\u0002\u5873\u5874\u0007[\u0002", + "\u0002\u5874\u5875\u0007U\u0002\u0002\u5875\u5876\u0007a\u0002\u0002", + "\u5876\u5877\u0007Q\u0002\u0002\u5877\u5878\u0007R\u0002\u0002\u5878", + "\u5879\u0007a\u0002\u0002\u5879\u587a\u0007C\u0002\u0002\u587a\u587b", + "\u0007F\u0002\u0002\u587b\u587c\u0007V\u0002\u0002\u587c\u587d\u0007", + "E\u0002\u0002\u587d\u587e\u0007Q\u0002\u0002\u587e\u587f\u0007P\u0002", + "\u0002\u587f\u5880\u0007U\u0002\u0002\u5880\u0d0e\u0003\u0002\u0002", + "\u0002\u5881\u5882\u0007U\u0002\u0002\u5882\u5883\u0007[\u0002\u0002", + "\u5883\u5884\u0007U\u0002\u0002\u5884\u5885\u0007a\u0002\u0002\u5885", + "\u5886\u0007Q\u0002\u0002\u5886\u5887\u0007R\u0002\u0002\u5887\u5888", + "\u0007a\u0002\u0002\u5888\u5889\u0007C\u0002\u0002\u5889\u588a\u0007", + "N\u0002\u0002\u588a\u588b\u0007U\u0002\u0002\u588b\u588c\u0007E\u0002", + "\u0002\u588c\u588d\u0007T\u0002\u0002\u588d\u588e\u0007X\u0002\u0002", + "\u588e\u588f\u0007C\u0002\u0002\u588f\u5890\u0007N\u0002\u0002\u5890", + "\u0d10\u0003\u0002\u0002\u0002\u5891\u5892\u0007U\u0002\u0002\u5892", + "\u5893\u0007[\u0002\u0002\u5893\u5894\u0007U\u0002\u0002\u5894\u5895", + "\u0007a\u0002\u0002\u5895\u5896\u0007Q\u0002\u0002\u5896\u5897\u0007", + "R\u0002\u0002\u5897\u5898\u0007a\u0002\u0002\u5898\u5899\u0007C\u0002", + "\u0002\u5899\u589a\u0007V\u0002\u0002\u589a\u589b\u0007I\u0002\u0002", + "\u589b\u0d12\u0003\u0002\u0002\u0002\u589c\u589d\u0007U\u0002\u0002", + "\u589d\u589e\u0007[\u0002\u0002\u589e\u589f\u0007U\u0002\u0002\u589f", + "\u58a0\u0007a\u0002\u0002\u58a0\u58a1\u0007Q\u0002\u0002\u58a1\u58a2", + "\u0007R\u0002\u0002\u58a2\u58a3\u0007a\u0002\u0002\u58a3\u58a4\u0007", + "D\u0002\u0002\u58a4\u58a5\u0007K\u0002\u0002\u58a5\u58a6\u0007P\u0002", + "\u0002\u58a6\u58a7\u00074\u0002\u0002\u58a7\u58a8\u0007C\u0002\u0002", + "\u58a8\u58a9\u0007F\u0002\u0002\u58a9\u58aa\u0007V\u0002\u0002\u58aa", + "\u0d14\u0003\u0002\u0002\u0002\u58ab\u58ac\u0007U\u0002\u0002\u58ac", + "\u58ad\u0007[\u0002\u0002\u58ad\u58ae\u0007U\u0002\u0002\u58ae\u58af", + "\u0007a\u0002\u0002\u58af\u58b0\u0007Q\u0002\u0002\u58b0\u58b1\u0007", + "R\u0002\u0002\u58b1\u58b2\u0007a\u0002\u0002\u58b2\u58b3\u0007D\u0002", + "\u0002\u58b3\u58b4\u0007K\u0002\u0002\u58b4\u58b5\u0007V\u0002\u0002", + "\u58b5\u58b6\u0007X\u0002\u0002\u58b6\u58b7\u0007G\u0002\u0002\u58b7", + "\u58b8\u0007E\u0002\u0002\u58b8\u0d16\u0003\u0002\u0002\u0002\u58b9", + "\u58ba\u0007U\u0002\u0002\u58ba\u58bb\u0007[\u0002\u0002\u58bb\u58bc", + "\u0007U\u0002\u0002\u58bc\u58bd\u0007a\u0002\u0002\u58bd\u58be\u0007", + "Q\u0002\u0002\u58be\u58bf\u0007R\u0002\u0002\u58bf\u58c0\u0007a\u0002", + "\u0002\u58c0\u58c1\u0007D\u0002\u0002\u58c1\u58c2\u0007N\u0002\u0002", + "\u58c2\u58c3\u00074\u0002\u0002\u58c3\u58c4\u0007T\u0002\u0002\u58c4", + "\u0d18\u0003\u0002\u0002\u0002\u58c5\u58c6\u0007U\u0002\u0002\u58c6", + "\u58c7\u0007[\u0002\u0002\u58c7\u58c8\u0007U\u0002\u0002\u58c8\u58c9", + "\u0007a\u0002\u0002\u58c9\u58ca\u0007Q\u0002\u0002\u58ca\u58cb\u0007", + "R\u0002\u0002\u58cb\u58cc\u0007a\u0002\u0002\u58cc\u58cd\u0007D\u0002", + "\u0002\u58cd\u58ce\u0007N\u0002\u0002\u58ce\u58cf\u0007Q\u0002\u0002", + "\u58cf\u58d0\u0007Q\u0002\u0002\u58d0\u58d1\u0007O\u0002\u0002\u58d1", + "\u58d2\u0007a\u0002\u0002\u58d2\u58d3\u0007H\u0002\u0002\u58d3\u58d4", + "\u0007K\u0002\u0002\u58d4\u58d5\u0007N\u0002\u0002\u58d5\u58d6\u0007", + "V\u0002\u0002\u58d6\u58d7\u0007G\u0002\u0002\u58d7\u58d8\u0007T\u0002", + "\u0002\u58d8\u58d9\u0007a\u0002\u0002\u58d9\u58da\u0007N\u0002\u0002", + "\u58da\u58db\u0007K\u0002\u0002\u58db\u58dc\u0007U\u0002\u0002\u58dc", + "\u58dd\u0007V\u0002\u0002\u58dd\u0d1a\u0003\u0002\u0002\u0002\u58de", + "\u58df\u0007U\u0002\u0002\u58df\u58e0\u0007[\u0002\u0002\u58e0\u58e1", + "\u0007U\u0002\u0002\u58e1\u58e2\u0007a\u0002\u0002\u58e2\u58e3\u0007", + "Q\u0002\u0002\u58e3\u58e4\u0007R\u0002\u0002\u58e4\u58e5\u0007a\u0002", + "\u0002\u58e5\u58e6\u0007D\u0002\u0002\u58e6\u58e7\u0007N\u0002\u0002", + "\u58e7\u58e8\u0007Q\u0002\u0002\u58e8\u58e9\u0007Q\u0002\u0002\u58e9", + "\u58ea\u0007O\u0002\u0002\u58ea\u58eb\u0007a\u0002\u0002\u58eb\u58ec", + "\u0007H\u0002\u0002\u58ec\u58ed\u0007K\u0002\u0002\u58ed\u58ee\u0007", + "N\u0002\u0002\u58ee\u58ef\u0007V\u0002\u0002\u58ef\u58f0\u0007G\u0002", + "\u0002\u58f0\u58f1\u0007T\u0002\u0002\u58f1\u0d1c\u0003\u0002\u0002", + "\u0002\u58f2\u58f3\u0007U\u0002\u0002\u58f3\u58f4\u0007[\u0002\u0002", + "\u58f4\u58f5\u0007U\u0002\u0002\u58f5\u58f6\u0007a\u0002\u0002\u58f6", + "\u58f7\u0007Q\u0002\u0002\u58f7\u58f8\u0007R\u0002\u0002\u58f8\u58f9", + "\u0007a\u0002\u0002\u58f9\u58fa\u0007E\u0002\u0002\u58fa\u58fb\u0007", + "4\u0002\u0002\u58fb\u58fc\u0007E\u0002\u0002\u58fc\u0d1e\u0003\u0002", + "\u0002\u0002\u58fd\u58fe\u0007U\u0002\u0002\u58fe\u58ff\u0007[\u0002", + "\u0002\u58ff\u5900\u0007U\u0002\u0002\u5900\u5901\u0007a\u0002\u0002", + "\u5901\u5902\u0007Q\u0002\u0002\u5902\u5903\u0007R\u0002\u0002\u5903", + "\u5904\u0007a\u0002\u0002\u5904\u5905\u0007E\u0002\u0002\u5905\u5906", + "\u0007C\u0002\u0002\u5906\u5907\u0007U\u0002\u0002\u5907\u5908\u0007", + "V\u0002\u0002\u5908\u0d20\u0003\u0002\u0002\u0002\u5909\u590a\u0007", + "U\u0002\u0002\u590a\u590b\u0007[\u0002\u0002\u590b\u590c\u0007U\u0002", + "\u0002\u590c\u590d\u0007a\u0002\u0002\u590d\u590e\u0007Q\u0002\u0002", + "\u590e\u590f\u0007R\u0002\u0002\u590f\u5910\u0007a\u0002\u0002\u5910", + "\u5911\u0007E\u0002\u0002\u5911\u5912\u0007G\u0002\u0002\u5912\u5913", + "\u0007I\u0002\u0002\u5913\u0d22\u0003\u0002\u0002\u0002\u5914\u5915", + "\u0007U\u0002\u0002\u5915\u5916\u0007[\u0002\u0002\u5916\u5917\u0007", + "U\u0002\u0002\u5917\u5918\u0007a\u0002\u0002\u5918\u5919\u0007Q\u0002", + "\u0002\u5919\u591a\u0007R\u0002\u0002\u591a\u591b\u0007a\u0002\u0002", + "\u591b\u591c\u0007E\u0002\u0002\u591c\u591d\u0007N\u0002\u0002\u591d", + "\u591e\u00074\u0002\u0002\u591e\u591f\u0007E\u0002\u0002\u591f\u0d24", + "\u0003\u0002\u0002\u0002\u5920\u5921\u0007U\u0002\u0002\u5921\u5922", + "\u0007[\u0002\u0002\u5922\u5923\u0007U\u0002\u0002\u5923\u5924\u0007", + "a\u0002\u0002\u5924\u5925\u0007Q\u0002\u0002\u5925\u5926\u0007R\u0002", + "\u0002\u5926\u5927\u0007a\u0002\u0002\u5927\u5928\u0007E\u0002\u0002", + "\u5928\u5929\u0007Q\u0002\u0002\u5929\u592a\u0007O\u0002\u0002\u592a", + "\u592b\u0007D\u0002\u0002\u592b\u592c\u0007K\u0002\u0002\u592c\u592d", + "\u0007P\u0002\u0002\u592d\u592e\u0007G\u0002\u0002\u592e\u592f\u0007", + "F\u0002\u0002\u592f\u5930\u0007a\u0002\u0002\u5930\u5931\u0007J\u0002", + "\u0002\u5931\u5932\u0007C\u0002\u0002\u5932\u5933\u0007U\u0002\u0002", + "\u5933\u5934\u0007J\u0002\u0002\u5934\u0d26\u0003\u0002\u0002\u0002", + "\u5935\u5936\u0007U\u0002\u0002\u5936\u5937\u0007[\u0002\u0002\u5937", + "\u5938\u0007U\u0002\u0002\u5938\u5939\u0007a\u0002\u0002\u5939\u593a", + "\u0007Q\u0002\u0002\u593a\u593b\u0007R\u0002\u0002\u593b\u593c\u0007", + "a\u0002\u0002\u593c\u593d\u0007E\u0002\u0002\u593d\u593e\u0007Q\u0002", + "\u0002\u593e\u593f\u0007O\u0002\u0002\u593f\u5940\u0007R\u0002\u0002", + "\u5940\u0d28\u0003\u0002\u0002\u0002\u5941\u5942\u0007U\u0002\u0002", + "\u5942\u5943\u0007[\u0002\u0002\u5943\u5944\u0007U\u0002\u0002\u5944", + "\u5945\u0007a\u0002\u0002\u5945\u5946\u0007Q\u0002\u0002\u5946\u5947", + "\u0007R\u0002\u0002\u5947\u5948\u0007a\u0002\u0002\u5948\u5949\u0007", + "E\u0002\u0002\u5949\u594a\u0007Q\u0002\u0002\u594a\u594b\u0007P\u0002", + "\u0002\u594b\u594c\u0007X\u0002\u0002\u594c\u594d\u0007G\u0002\u0002", + "\u594d\u594e\u0007T\u0002\u0002\u594e\u594f\u0007V\u0002\u0002\u594f", + "\u0d2a\u0003\u0002\u0002\u0002\u5950\u5951\u0007U\u0002\u0002\u5951", + "\u5952\u0007[\u0002\u0002\u5952\u5953\u0007U\u0002\u0002\u5953\u5954", + "\u0007a\u0002\u0002\u5954\u5955\u0007Q\u0002\u0002\u5955\u5956\u0007", + "R\u0002\u0002\u5956\u5957\u0007a\u0002\u0002\u5957\u5958\u0007E\u0002", + "\u0002\u5958\u5959\u0007Q\u0002\u0002\u5959\u595a\u0007W\u0002\u0002", + "\u595a\u595b\u0007P\u0002\u0002\u595b\u595c\u0007V\u0002\u0002\u595c", + "\u595d\u0007E\u0002\u0002\u595d\u595e\u0007J\u0002\u0002\u595e\u595f", + "\u0007I\u0002\u0002\u595f\u0d2c\u0003\u0002\u0002\u0002\u5960\u5961", + "\u0007U\u0002\u0002\u5961\u5962\u0007[\u0002\u0002\u5962\u5963\u0007", + "U\u0002\u0002\u5963\u5964\u0007a\u0002\u0002\u5964\u5965\u0007Q\u0002", + "\u0002\u5965\u5966\u0007R\u0002\u0002\u5966\u5967\u0007a\u0002\u0002", + "\u5967\u5968\u0007E\u0002\u0002\u5968\u5969\u0007U\u0002\u0002\u5969", + "\u596a\u0007E\u0002\u0002\u596a\u596b\u0007Q\u0002\u0002\u596b\u596c", + "\u0007P\u0002\u0002\u596c\u596d\u0007X\u0002\u0002\u596d\u0d2e\u0003", + "\u0002\u0002\u0002\u596e\u596f\u0007U\u0002\u0002\u596f\u5970\u0007", + "[\u0002\u0002\u5970\u5971\u0007U\u0002\u0002\u5971\u5972\u0007a\u0002", + "\u0002\u5972\u5973\u0007Q\u0002\u0002\u5973\u5974\u0007R\u0002\u0002", + "\u5974\u5975\u0007a\u0002\u0002\u5975\u5976\u0007E\u0002\u0002\u5976", + "\u5977\u0007U\u0002\u0002\u5977\u5978\u0007E\u0002\u0002\u5978\u5979", + "\u0007Q\u0002\u0002\u5979\u597a\u0007P\u0002\u0002\u597a\u597b\u0007", + "X\u0002\u0002\u597b\u597c\u0007V\u0002\u0002\u597c\u597d\u0007G\u0002", + "\u0002\u597d\u597e\u0007U\u0002\u0002\u597e\u597f\u0007V\u0002\u0002", + "\u597f\u0d30\u0003\u0002\u0002\u0002\u5980\u5981\u0007U\u0002\u0002", + "\u5981\u5982\u0007[\u0002\u0002\u5982\u5983\u0007U\u0002\u0002\u5983", + "\u5984\u0007a\u0002\u0002\u5984\u5985\u0007Q\u0002\u0002\u5985\u5986", + "\u0007R\u0002\u0002\u5986\u5987\u0007a\u0002\u0002\u5987\u5988\u0007", + "E\u0002\u0002\u5988\u5989\u0007U\u0002\u0002\u5989\u598a\u0007T\u0002", + "\u0002\u598a\u0d32\u0003\u0002\u0002\u0002\u598b\u598c\u0007U\u0002", + "\u0002\u598c\u598d\u0007[\u0002\u0002\u598d\u598e\u0007U\u0002\u0002", + "\u598e\u598f\u0007a\u0002\u0002\u598f\u5990\u0007Q\u0002\u0002\u5990", + "\u5991\u0007R\u0002\u0002\u5991\u5992\u0007a\u0002\u0002\u5992\u5993", + "\u0007E\u0002\u0002\u5993\u5994\u0007U\u0002\u0002\u5994\u5995\u0007", + "Z\u0002\u0002\u5995\u5996\u0007a\u0002\u0002\u5996\u5997\u0007R\u0002", + "\u0002\u5997\u5998\u0007C\u0002\u0002\u5998\u5999\u0007V\u0002\u0002", + "\u5999\u599a\u0007E\u0002\u0002\u599a\u599b\u0007J\u0002\u0002\u599b", + "\u0d34\u0003\u0002\u0002\u0002\u599c\u599d\u0007U\u0002\u0002\u599d", + "\u599e\u0007[\u0002\u0002\u599e\u599f\u0007U\u0002\u0002\u599f\u59a0", + "\u0007a\u0002\u0002\u59a0\u59a1\u0007Q\u0002\u0002\u59a1\u59a2\u0007", + "R\u0002\u0002\u59a2\u59a3\u0007a\u0002\u0002\u59a3\u59a4\u0007E\u0002", + "\u0002\u59a4\u59a5\u0007[\u0002\u0002\u59a5\u59a6\u0007E\u0002\u0002", + "\u59a6\u59a7\u0007N\u0002\u0002\u59a7\u59a8\u0007G\u0002\u0002\u59a8", + "\u59a9\u0007F\u0002\u0002\u59a9\u59aa\u0007a\u0002\u0002\u59aa\u59ab", + "\u0007U\u0002\u0002\u59ab\u59ac\u0007G\u0002\u0002\u59ac\u59ad\u0007", + "S\u0002\u0002\u59ad\u0d36\u0003\u0002\u0002\u0002\u59ae\u59af\u0007", + "U\u0002\u0002\u59af\u59b0\u0007[\u0002\u0002\u59b0\u59b1\u0007U\u0002", + "\u0002\u59b1\u59b2\u0007a\u0002\u0002\u59b2\u59b3\u0007Q\u0002\u0002", + "\u59b3\u59b4\u0007R\u0002\u0002\u59b4\u59b5\u0007a\u0002\u0002\u59b5", + "\u59b6\u0007F\u0002\u0002\u59b6\u59b7\u0007G\u0002\u0002\u59b7\u59b8", + "\u0007E\u0002\u0002\u59b8\u59b9\u0007Q\u0002\u0002\u59b9\u59ba\u0007", + "O\u0002\u0002\u59ba\u59bb\u0007R\u0002\u0002\u59bb\u0d38\u0003\u0002", + "\u0002\u0002\u59bc\u59bd\u0007U\u0002\u0002\u59bd\u59be\u0007[\u0002", + "\u0002\u59be\u59bf\u0007U\u0002\u0002\u59bf\u59c0\u0007a\u0002\u0002", + "\u59c0\u59c1\u0007Q\u0002\u0002\u59c1\u59c2\u0007R\u0002\u0002\u59c2", + "\u59c3\u0007a\u0002\u0002\u59c3\u59c4\u0007F\u0002\u0002\u59c4\u59c5", + "\u0007G\u0002\u0002\u59c5\u59c6\u0007U\u0002\u0002\u59c6\u59c7\u0007", + "E\u0002\u0002\u59c7\u59c8\u0007G\u0002\u0002\u59c8\u59c9\u0007P\u0002", + "\u0002\u59c9\u59ca\u0007F\u0002\u0002\u59ca\u0d3a\u0003\u0002\u0002", + "\u0002\u59cb\u59cc\u0007U\u0002\u0002\u59cc\u59cd\u0007[\u0002\u0002", + "\u59cd\u59ce\u0007U\u0002\u0002\u59ce\u59cf\u0007a\u0002\u0002\u59cf", + "\u59d0\u0007Q\u0002\u0002\u59d0\u59d1\u0007R\u0002\u0002\u59d1\u59d2", + "\u0007a\u0002\u0002\u59d2\u59d3\u0007F\u0002\u0002\u59d3\u59d4\u0007", + "K\u0002\u0002\u59d4\u59d5\u0007U\u0002\u0002\u59d5\u59d6\u0007V\u0002", + "\u0002\u59d6\u59d7\u0007K\u0002\u0002\u59d7\u59d8\u0007P\u0002\u0002", + "\u59d8\u59d9\u0007E\u0002\u0002\u59d9\u59da\u0007V\u0002\u0002\u59da", + "\u0d3c\u0003\u0002\u0002\u0002\u59db\u59dc\u0007U\u0002\u0002\u59dc", + "\u59dd\u0007[\u0002\u0002\u59dd\u59de\u0007U\u0002\u0002\u59de\u59df", + "\u0007a\u0002\u0002\u59df\u59e0\u0007Q\u0002\u0002\u59e0\u59e1\u0007", + "R\u0002\u0002\u59e1\u59e2\u0007a\u0002\u0002\u59e2\u59e3\u0007F\u0002", + "\u0002\u59e3\u59e4\u0007T\u0002\u0002\u59e4\u59e5\u0007C\u0002\u0002", + "\u59e5\u0d3e\u0003\u0002\u0002\u0002\u59e6\u59e7\u0007U\u0002\u0002", + "\u59e7\u59e8\u0007[\u0002\u0002\u59e8\u59e9\u0007U\u0002\u0002\u59e9", + "\u59ea\u0007a\u0002\u0002\u59ea\u59eb\u0007Q\u0002\u0002\u59eb\u59ec", + "\u0007R\u0002\u0002\u59ec\u59ed\u0007a\u0002\u0002\u59ed\u59ee\u0007", + "F\u0002\u0002\u59ee\u59ef\u0007W\u0002\u0002\u59ef\u59f0\u0007O\u0002", + "\u0002\u59f0\u59f1\u0007R\u0002\u0002\u59f1\u0d40\u0003\u0002\u0002", + "\u0002\u59f2\u59f3\u0007U\u0002\u0002\u59f3\u59f4\u0007[\u0002\u0002", + "\u59f4\u59f5\u0007U\u0002\u0002\u59f5\u59f6\u0007a\u0002\u0002\u59f6", + "\u59f7\u0007Q\u0002\u0002\u59f7\u59f8\u0007R\u0002\u0002\u59f8\u59f9", + "\u0007a\u0002\u0002\u59f9\u59fa\u0007F\u0002\u0002\u59fa\u59fb\u0007", + "X\u0002\u0002\u59fb\u59fc\u0007a\u0002\u0002\u59fc\u59fd\u0007E\u0002", + "\u0002\u59fd\u59fe\u0007J\u0002\u0002\u59fe\u59ff\u0007G\u0002\u0002", + "\u59ff\u5a00\u0007E\u0002\u0002\u5a00\u5a01\u0007M\u0002\u0002\u5a01", + "\u0d42\u0003\u0002\u0002\u0002\u5a02\u5a03\u0007U\u0002\u0002\u5a03", + "\u5a04\u0007[\u0002\u0002\u5a04\u5a05\u0007U\u0002\u0002\u5a05\u5a06", + "\u0007a\u0002\u0002\u5a06\u5a07\u0007Q\u0002\u0002\u5a07\u5a08\u0007", + "R\u0002\u0002\u5a08\u5a09\u0007a\u0002\u0002\u5a09\u5a0a\u0007G\u0002", + "\u0002\u5a0a\u5a0b\u0007P\u0002\u0002\u5a0b\u5a0c\u0007H\u0002\u0002", + "\u5a0c\u5a0d\u0007Q\u0002\u0002\u5a0d\u5a0e\u0007T\u0002\u0002\u5a0e", + "\u5a0f\u0007E\u0002\u0002\u5a0f\u5a10\u0007G\u0002\u0002\u5a10\u5a11", + "\u0007a\u0002\u0002\u5a11\u5a12\u0007P\u0002\u0002\u5a12\u5a13\u0007", + "Q\u0002\u0002\u5a13\u5a14\u0007V\u0002\u0002\u5a14\u5a15\u0007a\u0002", + "\u0002\u5a15\u5a16\u0007P\u0002\u0002\u5a16\u5a17\u0007W\u0002\u0002", + "\u5a17\u5a18\u0007N\u0002\u0002\u5a18\u5a19\u0007N\u0002\u0002\u5a19", + "\u5a1a\u0007&\u0002\u0002\u5a1a\u0d44\u0003\u0002\u0002\u0002\u5a1b", + "\u5a1c\u0007U\u0002\u0002\u5a1c\u5a1d\u0007[\u0002\u0002\u5a1d\u5a1e", + "\u0007U\u0002\u0002\u5a1e\u5a1f\u0007Q\u0002\u0002\u5a1f\u5a20\u0007", + "R\u0002\u0002\u5a20\u5a21\u0007G\u0002\u0002\u5a21\u5a22\u0007T\u0002", + "\u0002\u5a22\u0d46\u0003\u0002\u0002\u0002\u5a23\u5a24\u0007U\u0002", + "\u0002\u5a24\u5a25\u0007[\u0002\u0002\u5a25\u5a26\u0007U\u0002\u0002", + "\u5a26\u5a27\u0007a\u0002\u0002\u5a27\u5a28\u0007Q\u0002\u0002\u5a28", + "\u5a29\u0007R\u0002\u0002\u5a29\u5a2a\u0007a\u0002\u0002\u5a2a\u5a2b", + "\u0007G\u0002\u0002\u5a2b\u5a2c\u0007Z\u0002\u0002\u5a2c\u5a2d\u0007", + "V\u0002\u0002\u5a2d\u5a2e\u0007T\u0002\u0002\u5a2e\u5a2f\u0007C\u0002", + "\u0002\u5a2f\u5a30\u0007E\u0002\u0002\u5a30\u5a31\u0007V\u0002\u0002", + "\u5a31\u0d48\u0003\u0002\u0002\u0002\u5a32\u5a33\u0007U\u0002\u0002", + "\u5a33\u5a34\u0007[\u0002\u0002\u5a34\u5a35\u0007U\u0002\u0002\u5a35", + "\u5a36\u0007a\u0002\u0002\u5a36\u5a37\u0007Q\u0002\u0002\u5a37\u5a38", + "\u0007R\u0002\u0002\u5a38\u5a39\u0007a\u0002\u0002\u5a39\u5a3a\u0007", + "I\u0002\u0002\u5a3a\u5a3b\u0007T\u0002\u0002\u5a3b\u5a3c\u0007Q\u0002", + "\u0002\u5a3c\u5a3d\u0007W\u0002\u0002\u5a3d\u5a3e\u0007R\u0002\u0002", + "\u5a3e\u5a3f\u0007K\u0002\u0002\u5a3f\u5a40\u0007P\u0002\u0002\u5a40", + "\u5a41\u0007I\u0002\u0002\u5a41\u0d4a\u0003\u0002\u0002\u0002\u5a42", + "\u5a43\u0007U\u0002\u0002\u5a43\u5a44\u0007[\u0002\u0002\u5a44\u5a45", + "\u0007U\u0002\u0002\u5a45\u5a46\u0007a\u0002\u0002\u5a46\u5a47\u0007", + "Q\u0002\u0002\u5a47\u5a48\u0007R\u0002\u0002\u5a48\u5a49\u0007a\u0002", + "\u0002\u5a49\u5a4a\u0007I\u0002\u0002\u5a4a\u5a4b\u0007W\u0002\u0002", + "\u5a4b\u5a4c\u0007K\u0002\u0002\u5a4c\u5a4d\u0007F\u0002\u0002\u5a4d", + "\u0d4c\u0003\u0002\u0002\u0002\u5a4e\u5a4f\u0007U\u0002\u0002\u5a4f", + "\u5a50\u0007[\u0002\u0002\u5a50\u5a51\u0007U\u0002\u0002\u5a51\u5a52", + "\u0007a\u0002\u0002\u5a52\u5a53\u0007Q\u0002\u0002\u5a53\u5a54\u0007", + "R\u0002\u0002\u5a54\u5a55\u0007a\u0002\u0002\u5a55\u5a56\u0007J\u0002", + "\u0002\u5a56\u5a57\u0007C\u0002\u0002\u5a57\u5a58\u0007U\u0002\u0002", + "\u5a58\u5a59\u0007J\u0002\u0002\u5a59\u0d4e\u0003\u0002\u0002\u0002", + "\u5a5a\u5a5b\u0007U\u0002\u0002\u5a5b\u5a5c\u0007[\u0002\u0002\u5a5c", + "\u5a5d\u0007U\u0002\u0002\u5a5d\u5a5e\u0007a\u0002\u0002\u5a5e\u5a5f", + "\u0007Q\u0002\u0002\u5a5f\u5a60\u0007R\u0002\u0002\u5a60\u5a61\u0007", + "a\u0002\u0002\u5a61\u5a62\u0007K\u0002\u0002\u5a62\u5a63\u0007K\u0002", + "\u0002\u5a63\u5a64\u0007Z\u0002\u0002\u5a64\u0d50\u0003\u0002\u0002", + "\u0002\u5a65\u5a66\u0007U\u0002\u0002\u5a66\u5a67\u0007[\u0002\u0002", + "\u5a67\u5a68\u0007U\u0002\u0002\u5a68\u5a69\u0007a\u0002\u0002\u5a69", + "\u5a6a\u0007Q\u0002\u0002\u5a6a\u5a6b\u0007R\u0002\u0002\u5a6b\u5a6c", + "\u0007a\u0002\u0002\u5a6c\u5a6d\u0007K\u0002\u0002\u5a6d\u5a6e\u0007", + "V\u0002\u0002\u5a6e\u5a6f\u0007T\u0002\u0002\u5a6f\u0d52\u0003\u0002", + "\u0002\u0002\u5a70\u5a71\u0007U\u0002\u0002\u5a71\u5a72\u0007[\u0002", + "\u0002\u5a72\u5a73\u0007U\u0002\u0002\u5a73\u5a74\u0007a\u0002\u0002", + "\u5a74\u5a75\u0007Q\u0002\u0002\u5a75\u5a76\u0007R\u0002\u0002\u5a76", + "\u5a77\u0007a\u0002\u0002\u5a77\u5a78\u0007M\u0002\u0002\u5a78\u5a79", + "\u0007G\u0002\u0002\u5a79\u5a7a\u0007[\u0002\u0002\u5a7a\u5a7b\u0007", + "a\u0002\u0002\u5a7b\u5a7c\u0007X\u0002\u0002\u5a7c\u5a7d\u0007G\u0002", + "\u0002\u5a7d\u5a7e\u0007E\u0002\u0002\u5a7e\u5a7f\u0007V\u0002\u0002", + "\u5a7f\u5a80\u0007Q\u0002\u0002\u5a80\u5a81\u0007T\u0002\u0002\u5a81", + "\u5a82\u0007a\u0002\u0002\u5a82\u5a83\u0007E\u0002\u0002\u5a83\u5a84", + "\u0007T\u0002\u0002\u5a84\u5a85\u0007G\u0002\u0002\u5a85\u5a86\u0007", + "C\u0002\u0002\u5a86\u5a87\u0007V\u0002\u0002\u5a87\u5a88\u0007G\u0002", + "\u0002\u5a88\u0d54\u0003\u0002\u0002\u0002\u5a89\u5a8a\u0007U\u0002", + "\u0002\u5a8a\u5a8b\u0007[\u0002\u0002\u5a8b\u5a8c\u0007U\u0002\u0002", + "\u5a8c\u5a8d\u0007a\u0002\u0002\u5a8d\u5a8e\u0007Q\u0002\u0002\u5a8e", + "\u5a8f\u0007R\u0002\u0002\u5a8f\u5a90\u0007a\u0002\u0002\u5a90\u5a91", + "\u0007M\u0002\u0002\u5a91\u5a92\u0007G\u0002\u0002\u5a92\u5a93\u0007", + "[\u0002\u0002\u5a93\u5a94\u0007a\u0002\u0002\u5a94\u5a95\u0007X\u0002", + "\u0002\u5a95\u5a96\u0007G\u0002\u0002\u5a96\u5a97\u0007E\u0002\u0002", + "\u5a97\u5a98\u0007V\u0002\u0002\u5a98\u5a99\u0007Q\u0002\u0002\u5a99", + "\u5a9a\u0007T\u0002\u0002\u5a9a\u5a9b\u0007a\u0002\u0002\u5a9b\u5a9c", + "\u0007H\u0002\u0002\u5a9c\u5a9d\u0007K\u0002\u0002\u5a9d\u5a9e\u0007", + "N\u0002\u0002\u5a9e\u5a9f\u0007V\u0002\u0002\u5a9f\u5aa0\u0007G\u0002", + "\u0002\u5aa0\u5aa1\u0007T\u0002\u0002\u5aa1\u5aa2\u0007a\u0002\u0002", + "\u5aa2\u5aa3\u0007N\u0002\u0002\u5aa3\u5aa4\u0007K\u0002\u0002\u5aa4", + "\u5aa5\u0007U\u0002\u0002\u5aa5\u5aa6\u0007V\u0002\u0002\u5aa6\u0d56", + "\u0003\u0002\u0002\u0002\u5aa7\u5aa8\u0007U\u0002\u0002\u5aa8\u5aa9", + "\u0007[\u0002\u0002\u5aa9\u5aaa\u0007U\u0002\u0002\u5aaa\u5aab\u0007", + "a\u0002\u0002\u5aab\u5aac\u0007Q\u0002\u0002\u5aac\u5aad\u0007R\u0002", + "\u0002\u5aad\u5aae\u0007a\u0002\u0002\u5aae\u5aaf\u0007M\u0002\u0002", + "\u5aaf\u5ab0\u0007G\u0002\u0002\u5ab0\u5ab1\u0007[\u0002\u0002\u5ab1", + "\u5ab2\u0007a\u0002\u0002\u5ab2\u5ab3\u0007X\u0002\u0002\u5ab3\u5ab4", + "\u0007G\u0002\u0002\u5ab4\u5ab5\u0007E\u0002\u0002\u5ab5\u5ab6\u0007", + "V\u0002\u0002\u5ab6\u5ab7\u0007Q\u0002\u0002\u5ab7\u5ab8\u0007T\u0002", + "\u0002\u5ab8\u5ab9\u0007a\u0002\u0002\u5ab9\u5aba\u0007H\u0002\u0002", + "\u5aba\u5abb\u0007K\u0002\u0002\u5abb\u5abc\u0007N\u0002\u0002\u5abc", + "\u5abd\u0007V\u0002\u0002\u5abd\u5abe\u0007G\u0002\u0002\u5abe\u5abf", + "\u0007T\u0002\u0002\u5abf\u0d58\u0003\u0002\u0002\u0002\u5ac0\u5ac1", + "\u0007U\u0002\u0002\u5ac1\u5ac2\u0007[\u0002\u0002\u5ac2\u5ac3\u0007", + "U\u0002\u0002\u5ac3\u5ac4\u0007a\u0002\u0002\u5ac4\u5ac5\u0007Q\u0002", + "\u0002\u5ac5\u5ac6\u0007R\u0002\u0002\u5ac6\u5ac7\u0007a\u0002\u0002", + "\u5ac7\u5ac8\u0007M\u0002\u0002\u5ac8\u5ac9\u0007G\u0002\u0002\u5ac9", + "\u5aca\u0007[\u0002\u0002\u5aca\u5acb\u0007a\u0002\u0002\u5acb\u5acc", + "\u0007X\u0002\u0002\u5acc\u5acd\u0007G\u0002\u0002\u5acd\u5ace\u0007", + "E\u0002\u0002\u5ace\u5acf\u0007V\u0002\u0002\u5acf\u5ad0\u0007Q\u0002", + "\u0002\u5ad0\u5ad1\u0007T\u0002\u0002\u5ad1\u5ad2\u0007a\u0002\u0002", + "\u5ad2\u5ad3\u0007U\u0002\u0002\u5ad3\u5ad4\u0007W\u0002\u0002\u5ad4", + "\u5ad5\u0007E\u0002\u0002\u5ad5\u5ad6\u0007E\u0002\u0002\u5ad6\u5ad7", + "\u0007G\u0002\u0002\u5ad7\u5ad8\u0007G\u0002\u0002\u5ad8\u5ad9\u0007", + "F\u0002\u0002\u5ad9\u5ada\u0007G\u0002\u0002\u5ada\u5adb\u0007F\u0002", + "\u0002\u5adb\u0d5a\u0003\u0002\u0002\u0002\u5adc\u5add\u0007U\u0002", + "\u0002\u5add\u5ade\u0007[\u0002\u0002\u5ade\u5adf\u0007U\u0002\u0002", + "\u5adf\u5ae0\u0007a\u0002\u0002\u5ae0\u5ae1\u0007Q\u0002\u0002\u5ae1", + "\u5ae2\u0007R\u0002\u0002\u5ae2\u5ae3\u0007a\u0002\u0002\u5ae3\u5ae4", + "\u0007M\u0002\u0002\u5ae4\u5ae5\u0007G\u0002\u0002\u5ae5\u5ae6\u0007", + "[\u0002\u0002\u5ae6\u5ae7\u0007a\u0002\u0002\u5ae7\u5ae8\u0007X\u0002", + "\u0002\u5ae8\u5ae9\u0007G\u0002\u0002\u5ae9\u5aea\u0007E\u0002\u0002", + "\u5aea\u5aeb\u0007V\u0002\u0002\u5aeb\u5aec\u0007Q\u0002\u0002\u5aec", + "\u5aed\u0007T\u0002\u0002\u5aed\u5aee\u0007a\u0002\u0002\u5aee\u5aef", + "\u0007W\u0002\u0002\u5aef\u5af0\u0007U\u0002\u0002\u5af0\u5af1\u0007", + "G\u0002\u0002\u5af1\u0d5c\u0003\u0002\u0002\u0002\u5af2\u5af3\u0007", + "U\u0002\u0002\u5af3\u5af4\u0007[\u0002\u0002\u5af4\u5af5\u0007U\u0002", + "\u0002\u5af5\u5af6\u0007a\u0002\u0002\u5af6\u5af7\u0007Q\u0002\u0002", + "\u5af7\u5af8\u0007R\u0002\u0002\u5af8\u5af9\u0007a\u0002\u0002\u5af9", + "\u5afa\u0007N\u0002\u0002\u5afa\u5afb\u0007D\u0002\u0002\u5afb\u5afc", + "\u0007K\u0002\u0002\u5afc\u5afd\u0007F\u0002\u0002\u5afd\u0d5e\u0003", + "\u0002\u0002\u0002\u5afe\u5aff\u0007U\u0002\u0002\u5aff\u5b00\u0007", + "[\u0002\u0002\u5b00\u5b01\u0007U\u0002\u0002\u5b01\u5b02\u0007a\u0002", + "\u0002\u5b02\u5b03\u0007Q\u0002\u0002\u5b03\u5b04\u0007R\u0002\u0002", + "\u5b04\u5b05\u0007a\u0002\u0002\u5b05\u5b06\u0007N\u0002\u0002\u5b06", + "\u5b07\u0007Q\u0002\u0002\u5b07\u5b08\u0007D\u0002\u0002\u5b08\u5b09", + "\u0007N\u0002\u0002\u5b09\u5b0a\u0007Q\u0002\u0002\u5b0a\u5b0b\u0007", + "E\u0002\u0002\u5b0b\u5b0c\u00074\u0002\u0002\u5b0c\u5b0d\u0007D\u0002", + "\u0002\u5b0d\u5b0e\u0007N\u0002\u0002\u5b0e\u5b0f\u0007Q\u0002\u0002", + "\u5b0f\u5b10\u0007D\u0002\u0002\u5b10\u0d60\u0003\u0002\u0002\u0002", + "\u5b11\u5b12\u0007U\u0002\u0002\u5b12\u5b13\u0007[\u0002\u0002\u5b13", + "\u5b14\u0007U\u0002\u0002\u5b14\u5b15\u0007a\u0002\u0002\u5b15\u5b16", + "\u0007Q\u0002\u0002\u5b16\u5b17\u0007R\u0002\u0002\u5b17\u5b18\u0007", + "a\u0002\u0002\u5b18\u5b19\u0007N\u0002\u0002\u5b19\u5b1a\u0007Q\u0002", + "\u0002\u5b1a\u5b1b\u0007D\u0002\u0002\u5b1b\u5b1c\u0007N\u0002\u0002", + "\u5b1c\u5b1d\u0007Q\u0002\u0002\u5b1d\u5b1e\u0007E\u0002\u0002\u5b1e", + "\u5b1f\u00074\u0002\u0002\u5b1f\u5b20\u0007E\u0002\u0002\u5b20\u5b21", + "\u0007N\u0002\u0002\u5b21\u5b22\u0007Q\u0002\u0002\u5b22\u5b23\u0007", + "D\u0002\u0002\u5b23\u0d62\u0003\u0002\u0002\u0002\u5b24\u5b25\u0007", + "U\u0002\u0002\u5b25\u5b26\u0007[\u0002\u0002\u5b26\u5b27\u0007U\u0002", + "\u0002\u5b27\u5b28\u0007a\u0002\u0002\u5b28\u5b29\u0007Q\u0002\u0002", + "\u5b29\u5b2a\u0007R\u0002\u0002\u5b2a\u5b2b\u0007a\u0002\u0002\u5b2b", + "\u5b2c\u0007N\u0002\u0002\u5b2c\u5b2d\u0007Q\u0002\u0002\u5b2d\u5b2e", + "\u0007D\u0002\u0002\u5b2e\u5b2f\u0007N\u0002\u0002\u5b2f\u5b30\u0007", + "Q\u0002\u0002\u5b30\u5b31\u0007E\u0002\u0002\u5b31\u5b32\u00074\u0002", + "\u0002\u5b32\u5b33\u0007K\u0002\u0002\u5b33\u5b34\u0007F\u0002\u0002", + "\u5b34\u0d64\u0003\u0002\u0002\u0002\u5b35\u5b36\u0007U\u0002\u0002", + "\u5b36\u5b37\u0007[\u0002\u0002\u5b37\u5b38\u0007U\u0002\u0002\u5b38", + "\u5b39\u0007a\u0002\u0002\u5b39\u5b3a\u0007Q\u0002\u0002\u5b3a\u5b3b", + "\u0007R\u0002\u0002\u5b3b\u5b3c\u0007a\u0002\u0002\u5b3c\u5b3d\u0007", + "N\u0002\u0002\u5b3d\u5b3e\u0007Q\u0002\u0002\u5b3e\u5b3f\u0007D\u0002", + "\u0002\u5b3f\u5b40\u0007N\u0002\u0002\u5b40\u5b41\u0007Q\u0002\u0002", + "\u5b41\u5b42\u0007E\u0002\u0002\u5b42\u5b43\u00074\u0002\u0002\u5b43", + "\u5b44\u0007P\u0002\u0002\u5b44\u5b45\u0007E\u0002\u0002\u5b45\u5b46", + "\u0007N\u0002\u0002\u5b46\u5b47\u0007Q\u0002\u0002\u5b47\u5b48\u0007", + "D\u0002\u0002\u5b48\u0d66\u0003\u0002\u0002\u0002\u5b49\u5b4a\u0007", + "U\u0002\u0002\u5b4a\u5b4b\u0007[\u0002\u0002\u5b4b\u5b4c\u0007U\u0002", + "\u0002\u5b4c\u5b4d\u0007a\u0002\u0002\u5b4d\u5b4e\u0007Q\u0002\u0002", + "\u5b4e\u5b4f\u0007R\u0002\u0002\u5b4f\u5b50\u0007a\u0002\u0002\u5b50", + "\u5b51\u0007N\u0002\u0002\u5b51\u5b52\u0007Q\u0002\u0002\u5b52\u5b53", + "\u0007D\u0002\u0002\u5b53\u5b54\u0007N\u0002\u0002\u5b54\u5b55\u0007", + "Q\u0002\u0002\u5b55\u5b56\u0007E\u0002\u0002\u5b56\u5b57\u00074\u0002", + "\u0002\u5b57\u5b58\u0007V\u0002\u0002\u5b58\u5b59\u0007[\u0002\u0002", + "\u5b59\u5b5a\u0007R\u0002\u0002\u5b5a\u0d68\u0003\u0002\u0002\u0002", + "\u5b5b\u5b5c\u0007U\u0002\u0002\u5b5c\u5b5d\u0007[\u0002\u0002\u5b5d", + "\u5b5e\u0007U\u0002\u0002\u5b5e\u5b5f\u0007a\u0002\u0002\u5b5f\u5b60", + "\u0007Q\u0002\u0002\u5b60\u5b61\u0007R\u0002\u0002\u5b61\u5b62\u0007", + "a\u0002\u0002\u5b62\u5b63\u0007N\u0002\u0002\u5b63\u5b64\u0007U\u0002", + "\u0002\u5b64\u5b65\u0007X\u0002\u0002\u5b65\u5b66\u0007K\u0002\u0002", + "\u5b66\u0d6a\u0003\u0002\u0002\u0002\u5b67\u5b68\u0007U\u0002\u0002", + "\u5b68\u5b69\u0007[\u0002\u0002\u5b69\u5b6a\u0007U\u0002\u0002\u5b6a", + "\u5b6b\u0007a\u0002\u0002\u5b6b\u5b6c\u0007Q\u0002\u0002\u5b6c\u5b6d", + "\u0007R\u0002\u0002\u5b6d\u5b6e\u0007a\u0002\u0002\u5b6e\u5b6f\u0007", + "N\u0002\u0002\u5b6f\u5b70\u0007X\u0002\u0002\u5b70\u5b71\u0007N\u0002", + "\u0002\u5b71\u0d6c\u0003\u0002\u0002\u0002\u5b72\u5b73\u0007U\u0002", + "\u0002\u5b73\u5b74\u0007[\u0002\u0002\u5b74\u5b75\u0007U\u0002\u0002", + "\u5b75\u5b76\u0007a\u0002\u0002\u5b76\u5b77\u0007Q\u0002\u0002\u5b77", + "\u5b78\u0007R\u0002\u0002\u5b78\u5b79\u0007a\u0002\u0002\u5b79\u5b7a", + "\u0007O\u0002\u0002\u5b7a\u5b7b\u0007C\u0002\u0002\u5b7b\u5b7c\u0007", + "M\u0002\u0002\u5b7c\u5b7d\u0007G\u0002\u0002\u5b7d\u5b7e\u0007Q\u0002", + "\u0002\u5b7e\u5b7f\u0007K\u0002\u0002\u5b7f\u5b80\u0007F\u0002\u0002", + "\u5b80\u0d6e\u0003\u0002\u0002\u0002\u5b81\u5b82\u0007U\u0002\u0002", + "\u5b82\u5b83\u0007[\u0002\u0002\u5b83\u5b84\u0007U\u0002\u0002\u5b84", + "\u5b85\u0007a\u0002\u0002\u5b85\u5b86\u0007Q\u0002\u0002\u5b86\u5b87", + "\u0007R\u0002\u0002\u5b87\u5b88\u0007a\u0002\u0002\u5b88\u5b89\u0007", + "O\u0002\u0002\u5b89\u5b8a\u0007C\u0002\u0002\u5b8a\u5b8b\u0007R\u0002", + "\u0002\u5b8b\u5b8c\u0007a\u0002\u0002\u5b8c\u5b8d\u0007P\u0002\u0002", + "\u5b8d\u5b8e\u0007Q\u0002\u0002\u5b8e\u5b8f\u0007P\u0002\u0002\u5b8f", + "\u5b90\u0007P\u0002\u0002\u5b90\u5b91\u0007W\u0002\u0002\u5b91\u5b92", + "\u0007N\u0002\u0002\u5b92\u5b93\u0007N\u0002\u0002\u5b93\u0d70\u0003", + "\u0002\u0002\u0002\u5b94\u5b95\u0007U\u0002\u0002\u5b95\u5b96\u0007", + "[\u0002\u0002\u5b96\u5b97\u0007U\u0002\u0002\u5b97\u5b98\u0007a\u0002", + "\u0002\u5b98\u5b99\u0007Q\u0002\u0002\u5b99\u5b9a\u0007R\u0002\u0002", + "\u5b9a\u5b9b\u0007a\u0002\u0002\u5b9b\u5b9c\u0007O\u0002\u0002\u5b9c", + "\u5b9d\u0007U\u0002\u0002\u5b9d\u5b9e\u0007T\u0002\u0002\u5b9e\u0d72", + "\u0003\u0002\u0002\u0002\u5b9f\u5ba0\u0007U\u0002\u0002\u5ba0\u5ba1", + "\u0007[\u0002\u0002\u5ba1\u5ba2\u0007U\u0002\u0002\u5ba2\u5ba3\u0007", + "a\u0002\u0002\u5ba3\u5ba4\u0007Q\u0002\u0002\u5ba4\u5ba5\u0007R\u0002", + "\u0002\u5ba5\u5ba6\u0007a\u0002\u0002\u5ba6\u5ba7\u0007P\u0002\u0002", + "\u5ba7\u5ba8\u0007K\u0002\u0002\u5ba8\u5ba9\u0007E\u0002\u0002\u5ba9", + "\u5baa\u0007Q\u0002\u0002\u5baa\u5bab\u0007O\u0002\u0002\u5bab\u5bac", + "\u0007D\u0002\u0002\u5bac\u5bad\u0007K\u0002\u0002\u5bad\u5bae\u0007", + "P\u0002\u0002\u5bae\u5baf\u0007G\u0002\u0002\u5baf\u0d74\u0003\u0002", + "\u0002\u0002\u5bb0\u5bb1\u0007U\u0002\u0002\u5bb1\u5bb2\u0007[\u0002", + "\u0002\u5bb2\u5bb3\u0007U\u0002\u0002\u5bb3\u5bb4\u0007a\u0002\u0002", + "\u5bb4\u5bb5\u0007Q\u0002\u0002\u5bb5\u5bb6\u0007R\u0002\u0002\u5bb6", + "\u5bb7\u0007a\u0002\u0002\u5bb7\u5bb8\u0007P\u0002\u0002\u5bb8\u5bb9", + "\u0007K\u0002\u0002\u5bb9\u5bba\u0007G\u0002\u0002\u5bba\u5bbb\u0007", + "Z\u0002\u0002\u5bbb\u5bbc\u0007V\u0002\u0002\u5bbc\u5bbd\u0007T\u0002", + "\u0002\u5bbd\u5bbe\u0007C\u0002\u0002\u5bbe\u5bbf\u0007E\u0002\u0002", + "\u5bbf\u5bc0\u0007V\u0002\u0002\u5bc0\u0d76\u0003\u0002\u0002\u0002", + "\u5bc1\u5bc2\u0007U\u0002\u0002\u5bc2\u5bc3\u0007[\u0002\u0002\u5bc3", + "\u5bc4\u0007U\u0002\u0002\u5bc4\u5bc5\u0007a\u0002\u0002\u5bc5\u5bc6", + "\u0007Q\u0002\u0002\u5bc6\u5bc7\u0007R\u0002\u0002\u5bc7\u5bc8\u0007", + "a\u0002\u0002\u5bc8\u5bc9\u0007P\u0002\u0002\u5bc9\u5bca\u0007K\u0002", + "\u0002\u5bca\u5bcb\u0007K\u0002\u0002\u5bcb\u0d78\u0003\u0002\u0002", + "\u0002\u5bcc\u5bcd\u0007U\u0002\u0002\u5bcd\u5bce\u0007[\u0002\u0002", + "\u5bce\u5bcf\u0007U\u0002\u0002\u5bcf\u5bd0\u0007a\u0002\u0002\u5bd0", + "\u5bd1\u0007Q\u0002\u0002\u5bd1\u5bd2\u0007R\u0002\u0002\u5bd2\u5bd3", + "\u0007a\u0002\u0002\u5bd3\u5bd4\u0007P\u0002\u0002\u5bd4\u5bd5\u0007", + "K\u0002\u0002\u5bd5\u5bd6\u0007Z\u0002\u0002\u5bd6\u0d7a\u0003\u0002", + "\u0002\u0002\u5bd7\u5bd8\u0007U\u0002\u0002\u5bd8\u5bd9\u0007[\u0002", + "\u0002\u5bd9\u5bda\u0007U\u0002\u0002\u5bda\u5bdb\u0007a\u0002\u0002", + "\u5bdb\u5bdc\u0007Q\u0002\u0002\u5bdc\u5bdd\u0007R\u0002\u0002\u5bdd", + "\u5bde\u0007a\u0002\u0002\u5bde\u5bdf\u0007P\u0002\u0002\u5bdf\u5be0", + "\u0007Q\u0002\u0002\u5be0\u5be1\u0007G\u0002\u0002\u5be1\u5be2\u0007", + "Z\u0002\u0002\u5be2\u5be3\u0007R\u0002\u0002\u5be3\u5be4\u0007C\u0002", + "\u0002\u5be4\u5be5\u0007P\u0002\u0002\u5be5\u5be6\u0007F\u0002\u0002", + "\u5be6\u0d7c\u0003\u0002\u0002\u0002\u5be7\u5be8\u0007U\u0002\u0002", + "\u5be8\u5be9\u0007[\u0002\u0002\u5be9\u5bea\u0007U\u0002\u0002\u5bea", + "\u5beb\u0007a\u0002\u0002\u5beb\u5bec\u0007Q\u0002\u0002\u5bec\u5bed", + "\u0007R\u0002\u0002\u5bed\u5bee\u0007a\u0002\u0002\u5bee\u5bef\u0007", + "P\u0002\u0002\u5bef\u5bf0\u0007V\u0002\u0002\u5bf0\u5bf1\u0007E\u0002", + "\u0002\u5bf1\u5bf2\u0007K\u0002\u0002\u5bf2\u5bf3\u0007O\u0002\u0002", + "\u5bf3\u5bf4\u0007I\u0002\u0002\u5bf4\u5bf5\u0007&\u0002\u0002\u5bf5", + "\u0d7e\u0003\u0002\u0002\u0002\u5bf6\u5bf7\u0007U\u0002\u0002\u5bf7", + "\u5bf8\u0007[\u0002\u0002\u5bf8\u5bf9\u0007U\u0002\u0002\u5bf9\u5bfa", + "\u0007a\u0002\u0002\u5bfa\u5bfb\u0007Q\u0002\u0002\u5bfb\u5bfc\u0007", + "R\u0002\u0002\u5bfc\u5bfd\u0007a\u0002\u0002\u5bfd\u5bfe\u0007P\u0002", + "\u0002\u5bfe\u5bff\u0007W\u0002\u0002\u5bff\u5c00\u0007O\u0002\u0002", + "\u5c00\u5c01\u0007V\u0002\u0002\u5c01\u5c02\u0007Q\u0002\u0002\u5c02", + "\u5c03\u0007T\u0002\u0002\u5c03\u5c04\u0007C\u0002\u0002\u5c04\u5c05", + "\u0007Y\u0002\u0002\u5c05\u0d80\u0003\u0002\u0002\u0002\u5c06\u5c07", + "\u0007U\u0002\u0002\u5c07\u5c08\u0007[\u0002\u0002\u5c08\u5c09\u0007", + "U\u0002\u0002\u5c09\u5c0a\u0007a\u0002\u0002\u5c0a\u5c0b\u0007Q\u0002", + "\u0002\u5c0b\u5c0c\u0007R\u0002\u0002\u5c0c\u5c0d\u0007a\u0002\u0002", + "\u5c0d\u5c0e\u0007Q\u0002\u0002\u5c0e\u5c0f\u0007K\u0002\u0002\u5c0f", + "\u5c10\u0007F\u0002\u0002\u5c10\u5c11\u0007X\u0002\u0002\u5c11\u5c12", + "\u0007C\u0002\u0002\u5c12\u5c13\u0007N\u0002\u0002\u5c13\u5c14\u0007", + "W\u0002\u0002\u5c14\u5c15\u0007G\u0002\u0002\u5c15\u0d82\u0003\u0002", + "\u0002\u0002\u5c16\u5c17\u0007U\u0002\u0002\u5c17\u5c18\u0007[\u0002", + "\u0002\u5c18\u5c19\u0007U\u0002\u0002\u5c19\u5c1a\u0007a\u0002\u0002", + "\u5c1a\u5c1b\u0007Q\u0002\u0002\u5c1b\u5c1c\u0007R\u0002\u0002\u5c1c", + "\u5c1d\u0007a\u0002\u0002\u5c1d\u5c1e\u0007Q\u0002\u0002\u5c1e\u5c1f", + "\u0007R\u0002\u0002\u5c1f\u5c20\u0007P\u0002\u0002\u5c20\u5c21\u0007", + "U\u0002\u0002\u5c21\u5c22\u0007K\u0002\u0002\u5c22\u5c23\u0007\\\u0002", + "\u0002\u5c23\u5c24\u0007G\u0002\u0002\u5c24\u0d84\u0003\u0002\u0002", + "\u0002\u5c25\u5c26\u0007U\u0002\u0002\u5c26\u5c27\u0007[\u0002\u0002", + "\u5c27\u5c28\u0007U\u0002\u0002\u5c28\u5c29\u0007a\u0002\u0002\u5c29", + "\u5c2a\u0007Q\u0002\u0002\u5c2a\u5c2b\u0007R\u0002\u0002\u5c2b\u5c2c", + "\u0007a\u0002\u0002\u5c2c\u5c2d\u0007R\u0002\u0002\u5c2d\u5c2e\u0007", + "C\u0002\u0002\u5c2e\u5c2f\u0007T\u0002\u0002\u5c2f\u5c30\u0007a\u0002", + "\u0002\u5c30\u5c31\u00073\u0002\u0002\u5c31\u0d86\u0003\u0002\u0002", + "\u0002\u5c32\u5c33\u0007U\u0002\u0002\u5c33\u5c34\u0007[\u0002\u0002", + "\u5c34\u5c35\u0007U\u0002\u0002\u5c35\u5c36\u0007a\u0002\u0002\u5c36", + "\u5c37\u0007Q\u0002\u0002\u5c37\u5c38\u0007R\u0002\u0002\u5c38\u5c39", + "\u0007a\u0002\u0002\u5c39\u5c3a\u0007R\u0002\u0002\u5c3a\u5c3b\u0007", + "C\u0002\u0002\u5c3b\u5c3c\u0007T\u0002\u0002\u5c3c\u5c3d\u0007I\u0002", + "\u0002\u5c3d\u5c3e\u0007K\u0002\u0002\u5c3e\u5c3f\u0007F\u0002\u0002", + "\u5c3f\u5c40\u0007a\u0002\u0002\u5c40\u5c41\u00073\u0002\u0002\u5c41", + "\u0d88\u0003\u0002\u0002\u0002\u5c42\u5c43\u0007U\u0002\u0002\u5c43", + "\u5c44\u0007[\u0002\u0002\u5c44\u5c45\u0007U\u0002\u0002\u5c45\u5c46", + "\u0007a\u0002\u0002\u5c46\u5c47\u0007Q\u0002\u0002\u5c47\u5c48\u0007", + "R\u0002\u0002\u5c48\u5c49\u0007a\u0002\u0002\u5c49\u5c4a\u0007R\u0002", + "\u0002\u5c4a\u5c4b\u0007C\u0002\u0002\u5c4b\u5c4c\u0007T\u0002\u0002", + "\u5c4c\u5c4d\u0007I\u0002\u0002\u5c4d\u5c4e\u0007K\u0002\u0002\u5c4e", + "\u5c4f\u0007F\u0002\u0002\u5c4f\u0d8a\u0003\u0002\u0002\u0002\u5c50", + "\u5c51\u0007U\u0002\u0002\u5c51\u5c52\u0007[\u0002\u0002\u5c52\u5c53", + "\u0007U\u0002\u0002\u5c53\u5c54\u0007a\u0002\u0002\u5c54\u5c55\u0007", + "Q\u0002\u0002\u5c55\u5c56\u0007R\u0002\u0002\u5c56\u5c57\u0007a\u0002", + "\u0002\u5c57\u5c58\u0007R\u0002\u0002\u5c58\u5c59\u0007C\u0002\u0002", + "\u5c59\u5c5a\u0007T\u0002\u0002\u5c5a\u0d8c\u0003\u0002\u0002\u0002", + "\u5c5b\u5c5c\u0007U\u0002\u0002\u5c5c\u5c5d\u0007[\u0002\u0002\u5c5d", + "\u5c5e\u0007U\u0002\u0002\u5c5e\u5c5f\u0007a\u0002\u0002\u5c5f\u5c60", + "\u0007Q\u0002\u0002\u5c60\u5c61\u0007R\u0002\u0002\u5c61\u5c62\u0007", + "a\u0002\u0002\u5c62\u5c63\u0007R\u0002\u0002\u5c63\u5c64\u0007C\u0002", + "\u0002\u5c64\u5c65\u0007T\u0002\u0002\u5c65\u5c66\u0007V\u0002\u0002", + "\u5c66\u5c67\u0007a\u0002\u0002\u5c67\u5c68\u0007K\u0002\u0002\u5c68", + "\u5c69\u0007F\u0002\u0002\u5c69\u0d8e\u0003\u0002\u0002\u0002\u5c6a", + "\u5c6b\u0007U\u0002\u0002\u5c6b\u5c6c\u0007[\u0002\u0002\u5c6c\u5c6d", + "\u0007U\u0002\u0002\u5c6d\u5c6e\u0007a\u0002\u0002\u5c6e\u5c6f\u0007", + "Q\u0002\u0002\u5c6f\u5c70\u0007R\u0002\u0002\u5c70\u5c71\u0007a\u0002", + "\u0002\u5c71\u5c72\u0007R\u0002\u0002\u5c72\u5c73\u0007K\u0002\u0002", + "\u5c73\u5c74\u0007X\u0002\u0002\u5c74\u5c75\u0007Q\u0002\u0002\u5c75", + "\u5c76\u0007V\u0002\u0002\u5c76\u0d90\u0003\u0002\u0002\u0002\u5c77", + "\u5c78\u0007U\u0002\u0002\u5c78\u5c79\u0007[\u0002\u0002\u5c79\u5c7a", + "\u0007U\u0002\u0002\u5c7a\u5c7b\u0007a\u0002\u0002\u5c7b\u5c7c\u0007", + "Q\u0002\u0002\u5c7c\u5c7d\u0007R\u0002\u0002\u5c7d\u5c7e\u0007a\u0002", + "\u0002\u5c7e\u5c7f\u0007T\u0002\u0002\u5c7f\u5c80\u00074\u0002\u0002", + "\u5c80\u5c81\u0007Q\u0002\u0002\u5c81\u0d92\u0003\u0002\u0002\u0002", + "\u5c82\u5c83\u0007U\u0002\u0002\u5c83\u5c84\u0007[\u0002\u0002\u5c84", + "\u5c85\u0007U\u0002\u0002\u5c85\u5c86\u0007a\u0002\u0002\u5c86\u5c87", + "\u0007Q\u0002\u0002\u5c87\u5c88\u0007R\u0002\u0002\u5c88\u5c89\u0007", + "a\u0002\u0002\u5c89\u5c8a\u0007T\u0002\u0002\u5c8a\u5c8b\u0007C\u0002", + "\u0002\u5c8b\u5c8c\u0007Y\u0002\u0002\u5c8c\u5c8d\u0007V\u0002\u0002", + "\u5c8d\u5c8e\u0007Q\u0002\u0002\u5c8e\u5c8f\u0007P\u0002\u0002\u5c8f", + "\u5c90\u0007W\u0002\u0002\u5c90\u5c91\u0007O\u0002\u0002\u5c91\u0d94", + "\u0003\u0002\u0002\u0002\u5c92\u5c93\u0007U\u0002\u0002\u5c93\u5c94", + "\u0007[\u0002\u0002\u5c94\u5c95\u0007U\u0002\u0002\u5c95\u5c96\u0007", + "a\u0002\u0002\u5c96\u5c97\u0007Q\u0002\u0002\u5c97\u5c98\u0007R\u0002", + "\u0002\u5c98\u5c99\u0007a\u0002\u0002\u5c99\u5c9a\u0007T\u0002\u0002", + "\u5c9a\u5c9b\u0007F\u0002\u0002\u5c9b\u5c9c\u0007V\u0002\u0002\u5c9c", + "\u5c9d\u0007O\u0002\u0002\u5c9d\u0d96\u0003\u0002\u0002\u0002\u5c9e", + "\u5c9f\u0007U\u0002\u0002\u5c9f\u5ca0\u0007[\u0002\u0002\u5ca0\u5ca1", + "\u0007U\u0002\u0002\u5ca1\u5ca2\u0007a\u0002\u0002\u5ca2\u5ca3\u0007", + "Q\u0002\u0002\u5ca3\u5ca4\u0007R\u0002\u0002\u5ca4\u5ca5\u0007a\u0002", + "\u0002\u5ca5\u5ca6\u0007T\u0002\u0002\u5ca6\u5ca7\u0007G\u0002\u0002", + "\u5ca7\u5ca8\u0007H\u0002\u0002\u5ca8\u0d98\u0003\u0002\u0002\u0002", + "\u5ca9\u5caa\u0007U\u0002\u0002\u5caa\u5cab\u0007[\u0002\u0002\u5cab", + "\u5cac\u0007U\u0002\u0002\u5cac\u5cad\u0007a\u0002\u0002\u5cad\u5cae", + "\u0007Q\u0002\u0002\u5cae\u5caf\u0007R\u0002\u0002\u5caf\u5cb0\u0007", + "a\u0002\u0002\u5cb0\u5cb1\u0007T\u0002\u0002\u5cb1\u5cb2\u0007O\u0002", + "\u0002\u5cb2\u5cb3\u0007V\u0002\u0002\u5cb3\u5cb4\u0007F\u0002\u0002", + "\u5cb4\u0d9a\u0003\u0002\u0002\u0002\u5cb5\u5cb6\u0007U\u0002\u0002", + "\u5cb6\u5cb7\u0007[\u0002\u0002\u5cb7\u5cb8\u0007U\u0002\u0002\u5cb8", + "\u5cb9\u0007a\u0002\u0002\u5cb9\u5cba\u0007Q\u0002\u0002\u5cba\u5cbb", + "\u0007R\u0002\u0002\u5cbb\u5cbc\u0007a\u0002\u0002\u5cbc\u5cbd\u0007", + "T\u0002\u0002\u5cbd\u5cbe\u0007Q\u0002\u0002\u5cbe\u5cbf\u0007Y\u0002", + "\u0002\u5cbf\u5cc0\u0007K\u0002\u0002\u5cc0\u5cc1\u0007F\u0002\u0002", + "\u5cc1\u5cc2\u0007V\u0002\u0002\u5cc2\u5cc3\u0007Q\u0002\u0002\u5cc3", + "\u5cc4\u0007Q\u0002\u0002\u5cc4\u5cc5\u0007D\u0002\u0002\u5cc5\u5cc6", + "\u0007L\u0002\u0002\u5cc6\u0d9c\u0003\u0002\u0002\u0002\u5cc7\u5cc8", + "\u0007U\u0002\u0002\u5cc8\u5cc9\u0007[\u0002\u0002\u5cc9\u5cca\u0007", + "U\u0002\u0002\u5cca\u5ccb\u0007a\u0002\u0002\u5ccb\u5ccc\u0007Q\u0002", + "\u0002\u5ccc\u5ccd\u0007R\u0002\u0002\u5ccd\u5cce\u0007a\u0002\u0002", + "\u5cce\u5ccf\u0007T\u0002\u0002\u5ccf\u5cd0\u0007R\u0002\u0002\u5cd0", + "\u5cd1\u0007D\u0002\u0002\u5cd1\u0d9e\u0003\u0002\u0002\u0002\u5cd2", + "\u5cd3\u0007U\u0002\u0002\u5cd3\u5cd4\u0007[\u0002\u0002\u5cd4\u5cd5", + "\u0007U\u0002\u0002\u5cd5\u5cd6\u0007a\u0002\u0002\u5cd6\u5cd7\u0007", + "Q\u0002\u0002\u5cd7\u5cd8\u0007R\u0002\u0002\u5cd8\u5cd9\u0007V\u0002", + "\u0002\u5cd9\u5cda\u0007N\u0002\u0002\u5cda\u5cdb\u0007Q\u0002\u0002", + "\u5cdb\u5cdc\u0007D\u0002\u0002\u5cdc\u5cdd\u0007R\u0002\u0002\u5cdd", + "\u5cde\u0007T\u0002\u0002\u5cde\u5cdf\u0007D\u0002\u0002\u5cdf\u5ce0", + "\u0007U\u0002\u0002\u5ce0\u5ce1\u0007E\u0002\u0002\u5ce1\u0da0\u0003", + "\u0002\u0002\u0002\u5ce2\u5ce3\u0007U\u0002\u0002\u5ce3\u5ce4\u0007", + "[\u0002\u0002\u5ce4\u5ce5\u0007U\u0002\u0002\u5ce5\u5ce6\u0007a\u0002", + "\u0002\u5ce6\u5ce7\u0007Q\u0002\u0002\u5ce7\u5ce8\u0007R\u0002\u0002", + "\u5ce8\u5ce9\u0007a\u0002\u0002\u5ce9\u5cea\u0007V\u0002\u0002\u5cea", + "\u5ceb\u0007Q\u0002\u0002\u5ceb\u5cec\u0007U\u0002\u0002\u5cec\u5ced", + "\u0007G\u0002\u0002\u5ced\u5cee\u0007V\u0002\u0002\u5cee\u5cef\u0007", + "K\u0002\u0002\u5cef\u5cf0\u0007F\u0002\u0002\u5cf0\u0da2\u0003\u0002", + "\u0002\u0002\u5cf1\u5cf2\u0007U\u0002\u0002\u5cf2\u5cf3\u0007[\u0002", + "\u0002\u5cf3\u5cf4\u0007U\u0002\u0002\u5cf4\u5cf5\u0007a\u0002\u0002", + "\u5cf5\u5cf6\u0007Q\u0002\u0002\u5cf6\u5cf7\u0007R\u0002\u0002\u5cf7", + "\u5cf8\u0007a\u0002\u0002\u5cf8\u5cf9\u0007V\u0002\u0002\u5cf9\u5cfa", + "\u0007R\u0002\u0002\u5cfa\u5cfb\u0007T\u0002\u0002\u5cfb\u0da4\u0003", + "\u0002\u0002\u0002\u5cfc\u5cfd\u0007U\u0002\u0002\u5cfd\u5cfe\u0007", + "[\u0002\u0002\u5cfe\u5cff\u0007U\u0002\u0002\u5cff\u5d00\u0007a\u0002", + "\u0002\u5d00\u5d01\u0007Q\u0002\u0002\u5d01\u5d02\u0007R\u0002\u0002", + "\u5d02\u5d03\u0007a\u0002\u0002\u5d03\u5d04\u0007V\u0002\u0002\u5d04", + "\u5d05\u0007T\u0002\u0002\u5d05\u5d06\u0007V\u0002\u0002\u5d06\u5d07", + "\u0007D\u0002\u0002\u5d07\u0da6\u0003\u0002\u0002\u0002\u5d08\u5d09", + "\u0007U\u0002\u0002\u5d09\u5d0a\u0007[\u0002\u0002\u5d0a\u5d0b\u0007", + "U\u0002\u0002\u5d0b\u5d0c\u0007a\u0002\u0002\u5d0c\u5d0d\u0007Q\u0002", + "\u0002\u5d0d\u5d0e\u0007R\u0002\u0002\u5d0e\u5d0f\u0007V\u0002\u0002", + "\u5d0f\u5d10\u0007Z\u0002\u0002\u5d10\u5d11\u0007K\u0002\u0002\u5d11", + "\u5d12\u0007E\u0002\u0002\u5d12\u5d13\u0007O\u0002\u0002\u5d13\u5d14", + "\u0007R\u0002\u0002\u5d14\u0da8\u0003\u0002\u0002\u0002\u5d15\u5d16", + "\u0007U\u0002\u0002\u5d16\u5d17\u0007[\u0002\u0002\u5d17\u5d18\u0007", + "U\u0002\u0002\u5d18\u5d19\u0007a\u0002\u0002\u5d19\u5d1a\u0007Q\u0002", + "\u0002\u5d1a\u5d1b\u0007R\u0002\u0002\u5d1b\u5d1c\u0007V\u0002\u0002", + "\u5d1c\u5d1d\u0007Z\u0002\u0002\u5d1d\u5d1e\u0007S\u0002\u0002\u5d1e", + "\u5d1f\u0007E\u0002\u0002\u5d1f\u5d20\u0007C\u0002\u0002\u5d20\u5d21", + "\u0007U\u0002\u0002\u5d21\u5d22\u0007V\u0002\u0002\u5d22\u5d23\u0007", + "C\u0002\u0002\u5d23\u5d24\u0007U\u0002\u0002\u5d24\u5d25\u0007P\u0002", + "\u0002\u5d25\u5d26\u0007S\u0002\u0002\u5d26\u0daa\u0003\u0002\u0002", + "\u0002\u5d27\u5d28\u0007U\u0002\u0002\u5d28\u5d29\u0007[\u0002\u0002", + "\u5d29\u5d2a\u0007U\u0002\u0002\u5d2a\u5d2b\u0007a\u0002\u0002\u5d2b", + "\u5d2c\u0007Q\u0002\u0002\u5d2c\u5d2d\u0007R\u0002\u0002\u5d2d\u5d2e", + "\u0007a\u0002\u0002\u5d2e\u5d2f\u0007W\u0002\u0002\u5d2f\u5d30\u0007", + "P\u0002\u0002\u5d30\u5d31\u0007F\u0002\u0002\u5d31\u5d32\u0007G\u0002", + "\u0002\u5d32\u5d33\u0007U\u0002\u0002\u5d33\u5d34\u0007E\u0002\u0002", + "\u5d34\u5d35\u0007G\u0002\u0002\u5d35\u5d36\u0007P\u0002\u0002\u5d36", + "\u5d37\u0007F\u0002\u0002\u5d37\u0dac\u0003\u0002\u0002\u0002\u5d38", + "\u5d39\u0007U\u0002\u0002\u5d39\u5d3a\u0007[\u0002\u0002\u5d3a\u5d3b", + "\u0007U\u0002\u0002\u5d3b\u5d3c\u0007a\u0002\u0002\u5d3c\u5d3d\u0007", + "Q\u0002\u0002\u5d3d\u5d3e\u0007R\u0002\u0002\u5d3e\u5d3f\u0007a\u0002", + "\u0002\u5d3f\u5d40\u0007X\u0002\u0002\u5d40\u5d41\u0007G\u0002\u0002", + "\u5d41\u5d42\u0007E\u0002\u0002\u5d42\u5d43\u0007C\u0002\u0002\u5d43", + "\u5d44\u0007P\u0002\u0002\u5d44\u5d45\u0007F\u0002\u0002\u5d45\u0dae", + "\u0003\u0002\u0002\u0002\u5d46\u5d47\u0007U\u0002\u0002\u5d47\u5d48", + "\u0007[\u0002\u0002\u5d48\u5d49\u0007U\u0002\u0002\u5d49\u5d4a\u0007", + "a\u0002\u0002\u5d4a\u5d4b\u0007Q\u0002\u0002\u5d4b\u5d4c\u0007R\u0002", + "\u0002\u5d4c\u5d4d\u0007a\u0002\u0002\u5d4d\u5d4e\u0007X\u0002\u0002", + "\u5d4e\u5d4f\u0007G\u0002\u0002\u5d4f\u5d50\u0007E\u0002\u0002\u5d50", + "\u5d51\u0007D\u0002\u0002\u5d51\u5d52\u0007K\u0002\u0002\u5d52\u5d53", + "\u0007V\u0002\u0002\u5d53\u0db0\u0003\u0002\u0002\u0002\u5d54\u5d55", + "\u0007U\u0002\u0002\u5d55\u5d56\u0007[\u0002\u0002\u5d56\u5d57\u0007", + "U\u0002\u0002\u5d57\u5d58\u0007a\u0002\u0002\u5d58\u5d59\u0007Q\u0002", + "\u0002\u5d59\u5d5a\u0007R\u0002\u0002\u5d5a\u5d5b\u0007a\u0002\u0002", + "\u5d5b\u5d5c\u0007X\u0002\u0002\u5d5c\u5d5d\u0007G\u0002\u0002\u5d5d", + "\u5d5e\u0007E\u0002\u0002\u5d5e\u5d5f\u0007Q\u0002\u0002\u5d5f\u5d60", + "\u0007T\u0002\u0002\u5d60\u0db2\u0003\u0002\u0002\u0002\u5d61\u5d62", + "\u0007U\u0002\u0002\u5d62\u5d63\u0007[\u0002\u0002\u5d63\u5d64\u0007", + "U\u0002\u0002\u5d64\u5d65\u0007a\u0002\u0002\u5d65\u5d66\u0007Q\u0002", + "\u0002\u5d66\u5d67\u0007R\u0002\u0002\u5d67\u5d68\u0007a\u0002\u0002", + "\u5d68\u5d69\u0007X\u0002\u0002\u5d69\u5d6a\u0007G\u0002\u0002\u5d6a", + "\u5d6b\u0007E\u0002\u0002\u5d6b\u5d6c\u0007Z\u0002\u0002\u5d6c\u5d6d", + "\u0007Q\u0002\u0002\u5d6d\u5d6e\u0007T\u0002\u0002\u5d6e\u0db4\u0003", + "\u0002\u0002\u0002\u5d6f\u5d70\u0007U\u0002\u0002\u5d70\u5d71\u0007", + "[\u0002\u0002\u5d71\u5d72\u0007U\u0002\u0002\u5d72\u5d73\u0007a\u0002", + "\u0002\u5d73\u5d74\u0007Q\u0002\u0002\u5d74\u5d75\u0007R\u0002\u0002", + "\u5d75\u5d76\u0007a\u0002\u0002\u5d76\u5d77\u0007X\u0002\u0002\u5d77", + "\u5d78\u0007G\u0002\u0002\u5d78\u5d79\u0007T\u0002\u0002\u5d79\u5d7a", + "\u0007U\u0002\u0002\u5d7a\u5d7b\u0007K\u0002\u0002\u5d7b\u5d7c\u0007", + "Q\u0002\u0002\u5d7c\u5d7d\u0007P\u0002\u0002\u5d7d\u0db6\u0003\u0002", + "\u0002\u0002\u5d7e\u5d7f\u0007U\u0002\u0002\u5d7f\u5d80\u0007[\u0002", + "\u0002\u5d80\u5d81\u0007U\u0002\u0002\u5d81\u5d82\u0007a\u0002\u0002", + "\u5d82\u5d83\u0007Q\u0002\u0002\u5d83\u5d84\u0007R\u0002\u0002\u5d84", + "\u5d85\u0007a\u0002\u0002\u5d85\u5d86\u0007X\u0002\u0002\u5d86\u5d87", + "\u0007T\u0002\u0002\u5d87\u5d88\u0007G\u0002\u0002\u5d88\u5d89\u0007", + "H\u0002\u0002\u5d89\u0db8\u0003\u0002\u0002\u0002\u5d8a\u5d8b\u0007", + "U\u0002\u0002\u5d8b\u5d8c\u0007[\u0002\u0002\u5d8c\u5d8d\u0007U\u0002", + "\u0002\u5d8d\u5d8e\u0007a\u0002\u0002\u5d8e\u5d8f\u0007Q\u0002\u0002", + "\u5d8f\u5d90\u0007R\u0002\u0002\u5d90\u5d91\u0007a\u0002\u0002\u5d91", + "\u5d92\u0007X\u0002\u0002\u5d92\u5d93\u0007X\u0002\u0002\u5d93\u5d94", + "\u0007F\u0002\u0002\u5d94\u0dba\u0003\u0002\u0002\u0002\u5d95\u5d96", + "\u0007U\u0002\u0002\u5d96\u5d97\u0007[\u0002\u0002\u5d97\u5d98\u0007", + "U\u0002\u0002\u5d98\u5d99\u0007a\u0002\u0002\u5d99\u5d9a\u0007Q\u0002", + "\u0002\u5d9a\u5d9b\u0007R\u0002\u0002\u5d9b\u5d9c\u0007a\u0002\u0002", + "\u5d9c\u5d9d\u0007Z\u0002\u0002\u5d9d\u5d9e\u0007O\u0002\u0002\u5d9e", + "\u5d9f\u0007N\u0002\u0002\u5d9f\u5da0\u0007E\u0002\u0002\u5da0\u5da1", + "\u0007Q\u0002\u0002\u5da1\u5da2\u0007P\u0002\u0002\u5da2\u5da3\u0007", + "U\u0002\u0002\u5da3\u5da4\u0007a\u0002\u0002\u5da4\u5da5\u0007H\u0002", + "\u0002\u5da5\u5da6\u0007Q\u0002\u0002\u5da6\u5da7\u0007T\u0002\u0002", + "\u5da7\u5da8\u0007a\u0002\u0002\u5da8\u5da9\u0007E\u0002\u0002\u5da9", + "\u5daa\u0007U\u0002\u0002\u5daa\u5dab\u0007Z\u0002\u0002\u5dab\u0dbc", + "\u0003\u0002\u0002\u0002\u5dac\u5dad\u0007U\u0002\u0002\u5dad\u5dae", + "\u0007[\u0002\u0002\u5dae\u5daf\u0007U\u0002\u0002\u5daf\u5db0\u0007", + "a\u0002\u0002\u5db0\u5db1\u0007Q\u0002\u0002\u5db1\u5db2\u0007R\u0002", + "\u0002\u5db2\u5db3\u0007a\u0002\u0002\u5db3\u5db4\u0007Z\u0002\u0002", + "\u5db4\u5db5\u0007R\u0002\u0002\u5db5\u5db6\u0007V\u0002\u0002\u5db6", + "\u5db7\u0007J\u0002\u0002\u5db7\u5db8\u0007C\u0002\u0002\u5db8\u5db9", + "\u0007V\u0002\u0002\u5db9\u5dba\u0007I\u0002\u0002\u5dba\u0dbe\u0003", + "\u0002\u0002\u0002\u5dbb\u5dbc\u0007U\u0002\u0002\u5dbc\u5dbd\u0007", + "[\u0002\u0002\u5dbd\u5dbe\u0007U\u0002\u0002\u5dbe\u5dbf\u0007a\u0002", + "\u0002\u5dbf\u5dc0\u0007Q\u0002\u0002\u5dc0\u5dc1\u0007R\u0002\u0002", + "\u5dc1\u5dc2\u0007a\u0002\u0002\u5dc2\u5dc3\u0007Z\u0002\u0002\u5dc3", + "\u5dc4\u0007R\u0002\u0002\u5dc4\u5dc5\u0007V\u0002\u0002\u5dc5\u5dc6", + "\u0007J\u0002\u0002\u5dc6\u5dc7\u0007K\u0002\u0002\u5dc7\u5dc8\u0007", + "F\u0002\u0002\u5dc8\u5dc9\u0007Z\u0002\u0002\u5dc9\u0dc0\u0003\u0002", + "\u0002\u0002\u5dca\u5dcb\u0007U\u0002\u0002\u5dcb\u5dcc\u0007[\u0002", + "\u0002\u5dcc\u5dcd\u0007U\u0002\u0002\u5dcd\u5dce\u0007a\u0002\u0002", + "\u5dce\u5dcf\u0007Q\u0002\u0002\u5dcf\u5dd0\u0007R\u0002\u0002\u5dd0", + "\u5dd1\u0007a\u0002\u0002\u5dd1\u5dd2\u0007Z\u0002\u0002\u5dd2\u5dd3", + "\u0007R\u0002\u0002\u5dd3\u5dd4\u0007V\u0002\u0002\u5dd4\u5dd5\u0007", + "J\u0002\u0002\u5dd5\u5dd6\u0007Q\u0002\u0002\u5dd6\u5dd7\u0007R\u0002", + "\u0002\u5dd7\u0dc2\u0003\u0002\u0002\u0002\u5dd8\u5dd9\u0007U\u0002", + "\u0002\u5dd9\u5dda\u0007[\u0002\u0002\u5dda\u5ddb\u0007U\u0002\u0002", + "\u5ddb\u5ddc\u0007a\u0002\u0002\u5ddc\u5ddd\u0007Q\u0002\u0002\u5ddd", + "\u5dde\u0007R\u0002\u0002\u5dde\u5ddf\u0007a\u0002\u0002\u5ddf\u5de0", + "\u0007Z\u0002\u0002\u5de0\u5de1\u0007V\u0002\u0002\u5de1\u5de2\u0007", + "Z\u0002\u0002\u5de2\u5de3\u0007V\u0002\u0002\u5de3\u5de4\u00074\u0002", + "\u0002\u5de4\u5de5\u0007U\u0002\u0002\u5de5\u5de6\u0007S\u0002\u0002", + "\u5de6\u5de7\u0007N\u0002\u0002\u5de7\u5de8\u0007V\u0002\u0002\u5de8", + "\u0dc4\u0003\u0002\u0002\u0002\u5de9\u5dea\u0007U\u0002\u0002\u5dea", + "\u5deb\u0007[\u0002\u0002\u5deb\u5dec\u0007U\u0002\u0002\u5dec\u5ded", + "\u0007a\u0002\u0002\u5ded\u5dee\u0007Q\u0002\u0002\u5dee\u5def\u0007", + "R\u0002\u0002\u5def\u5df0\u0007a\u0002\u0002\u5df0\u5df1\u0007\\\u0002", + "\u0002\u5df1\u5df2\u0007Q\u0002\u0002\u5df2\u5df3\u0007P\u0002\u0002", + "\u5df3\u5df4\u0007G\u0002\u0002\u5df4\u5df5\u0007a\u0002\u0002\u5df5", + "\u5df6\u0007K\u0002\u0002\u5df6\u5df7\u0007F\u0002\u0002\u5df7\u0dc6", + "\u0003\u0002\u0002\u0002\u5df8\u5df9\u0007U\u0002\u0002\u5df9\u5dfa", + "\u0007[\u0002\u0002\u5dfa\u5dfb\u0007U\u0002\u0002\u5dfb\u5dfc\u0007", + "a\u0002\u0002\u5dfc\u5dfd\u0007Q\u0002\u0002\u5dfd\u5dfe\u0007T\u0002", + "\u0002\u5dfe\u5dff\u0007F\u0002\u0002\u5dff\u5e00\u0007G\u0002\u0002", + "\u5e00\u5e01\u0007T\u0002\u0002\u5e01\u5e02\u0007M\u0002\u0002\u5e02", + "\u5e03\u0007G\u0002\u0002\u5e03\u5e04\u0007[\u0002\u0002\u5e04\u5e05", + "\u0007a\u0002\u0002\u5e05\u5e06\u0007F\u0002\u0002\u5e06\u5e07\u0007", + "G\u0002\u0002\u5e07\u5e08\u0007R\u0002\u0002\u5e08\u5e09\u0007V\u0002", + "\u0002\u5e09\u5e0a\u0007J\u0002\u0002\u5e0a\u0dc8\u0003\u0002\u0002", + "\u0002\u5e0b\u5e0c\u0007U\u0002\u0002\u5e0c\u5e0d\u0007[\u0002\u0002", + "\u5e0d\u5e0e\u0007U\u0002\u0002\u5e0e\u5e0f\u0007a\u0002\u0002\u5e0f", + "\u5e10\u0007Q\u0002\u0002\u5e10\u5e11\u0007T\u0002\u0002\u5e11\u5e12", + "\u0007F\u0002\u0002\u5e12\u5e13\u0007G\u0002\u0002\u5e13\u5e14\u0007", + "T\u0002\u0002\u5e14\u5e15\u0007M\u0002\u0002\u5e15\u5e16\u0007G\u0002", + "\u0002\u5e16\u5e17\u0007[\u0002\u0002\u5e17\u5e18\u0007a\u0002\u0002", + "\u5e18\u5e19\u0007O\u0002\u0002\u5e19\u5e1a\u0007C\u0002\u0002\u5e1a", + "\u5e1b\u0007Z\u0002\u0002\u5e1b\u5e1c\u0007E\u0002\u0002\u5e1c\u5e1d", + "\u0007J\u0002\u0002\u5e1d\u5e1e\u0007K\u0002\u0002\u5e1e\u5e1f\u0007", + "N\u0002\u0002\u5e1f\u5e20\u0007F\u0002\u0002\u5e20\u0dca\u0003\u0002", + "\u0002\u0002\u5e21\u5e22\u0007U\u0002\u0002\u5e22\u5e23\u0007[\u0002", + "\u0002\u5e23\u5e24\u0007U\u0002\u0002\u5e24\u5e25\u0007a\u0002\u0002", + "\u5e25\u5e26\u0007Q\u0002\u0002\u5e26\u5e27\u0007T\u0002\u0002\u5e27", + "\u5e28\u0007F\u0002\u0002\u5e28\u5e29\u0007G\u0002\u0002\u5e29\u5e2a", + "\u0007T\u0002\u0002\u5e2a\u5e2b\u0007M\u0002\u0002\u5e2b\u5e2c\u0007", + "G\u0002\u0002\u5e2c\u5e2d\u0007[\u0002\u0002\u5e2d\u5e2e\u0007a\u0002", + "\u0002\u5e2e\u5e2f\u0007R\u0002\u0002\u5e2f\u5e30\u0007C\u0002\u0002", + "\u5e30\u5e31\u0007T\u0002\u0002\u5e31\u5e32\u0007G\u0002\u0002\u5e32", + "\u5e33\u0007P\u0002\u0002\u5e33\u5e34\u0007V\u0002\u0002\u5e34\u0dcc", + "\u0003\u0002\u0002\u0002\u5e35\u5e36\u0007U\u0002\u0002\u5e36\u5e37", + "\u0007[\u0002\u0002\u5e37\u5e38\u0007U\u0002\u0002\u5e38\u5e39\u0007", + "a\u0002\u0002\u5e39\u5e3a\u0007R\u0002\u0002\u5e3a\u5e3b\u0007C\u0002", + "\u0002\u5e3b\u5e3c\u0007T\u0002\u0002\u5e3c\u5e3d\u0007C\u0002\u0002", + "\u5e3d\u5e3e\u0007N\u0002\u0002\u5e3e\u5e3f\u0007N\u0002\u0002\u5e3f", + "\u5e40\u0007G\u0002\u0002\u5e40\u5e41\u0007N\u0002\u0002\u5e41\u5e42", + "\u0007a\u0002\u0002\u5e42\u5e43\u0007V\u0002\u0002\u5e43\u5e44\u0007", + "Z\u0002\u0002\u5e44\u5e45\u0007P\u0002\u0002\u5e45\u0dce\u0003\u0002", + "\u0002\u0002\u5e46\u5e47\u0007U\u0002\u0002\u5e47\u5e48\u0007[\u0002", + "\u0002\u5e48\u5e49\u0007U\u0002\u0002\u5e49\u5e4a\u0007a\u0002\u0002", + "\u5e4a\u5e4b\u0007R\u0002\u0002\u5e4b\u5e4c\u0007C\u0002\u0002\u5e4c", + "\u5e4d\u0007V\u0002\u0002\u5e4d\u5e4e\u0007J\u0002\u0002\u5e4e\u5e4f", + "\u0007K\u0002\u0002\u5e4f\u5e50\u0007F\u0002\u0002\u5e50\u5e51\u0007", + "a\u0002\u0002\u5e51\u5e52\u0007K\u0002\u0002\u5e52\u5e53\u0007U\u0002", + "\u0002\u5e53\u5e54\u0007a\u0002\u0002\u5e54\u5e55\u0007C\u0002\u0002", + "\u5e55\u5e56\u0007V\u0002\u0002\u5e56\u5e57\u0007V\u0002\u0002\u5e57", + "\u5e58\u0007T\u0002\u0002\u5e58\u0dd0\u0003\u0002\u0002\u0002\u5e59", + "\u5e5a\u0007U\u0002\u0002\u5e5a\u5e5b\u0007[\u0002\u0002\u5e5b\u5e5c", + "\u0007U\u0002\u0002\u5e5c\u5e5d\u0007a\u0002\u0002\u5e5d\u5e5e\u0007", + "R\u0002\u0002\u5e5e\u5e5f\u0007C\u0002\u0002\u5e5f\u5e60\u0007V\u0002", + "\u0002\u5e60\u5e61\u0007J\u0002\u0002\u5e61\u5e62\u0007K\u0002\u0002", + "\u5e62\u5e63\u0007F\u0002\u0002\u5e63\u5e64\u0007a\u0002\u0002\u5e64", + "\u5e65\u0007K\u0002\u0002\u5e65\u5e66\u0007U\u0002\u0002\u5e66\u5e67", + "\u0007a\u0002\u0002\u5e67\u5e68\u0007P\u0002\u0002\u5e68\u5e69\u0007", + "O\u0002\u0002\u5e69\u5e6a\u0007U\u0002\u0002\u5e6a\u5e6b\u0007R\u0002", + "\u0002\u5e6b\u5e6c\u0007E\u0002\u0002\u5e6c\u0dd2\u0003\u0002\u0002", + "\u0002\u5e6d\u5e6e\u0007U\u0002\u0002\u5e6e\u5e6f\u0007[\u0002\u0002", + "\u5e6f\u5e70\u0007U\u0002\u0002\u5e70\u5e71\u0007a\u0002\u0002\u5e71", + "\u5e72\u0007R\u0002\u0002\u5e72\u5e73\u0007C\u0002\u0002\u5e73\u5e74", + "\u0007V\u0002\u0002\u5e74\u5e75\u0007J\u0002\u0002\u5e75\u5e76\u0007", + "K\u0002\u0002\u5e76\u5e77\u0007F\u0002\u0002\u5e77\u5e78\u0007a\u0002", + "\u0002\u5e78\u5e79\u0007N\u0002\u0002\u5e79\u5e7a\u0007C\u0002\u0002", + "\u5e7a\u5e7b\u0007U\u0002\u0002\u5e7b\u5e7c\u0007V\u0002\u0002\u5e7c", + "\u5e7d\u0007P\u0002\u0002\u5e7d\u5e7e\u0007C\u0002\u0002\u5e7e\u5e7f", + "\u0007O\u0002\u0002\u5e7f\u5e80\u0007G\u0002\u0002\u5e80\u0dd4\u0003", + "\u0002\u0002\u0002\u5e81\u5e82\u0007U\u0002\u0002\u5e82\u5e83\u0007", + "[\u0002\u0002\u5e83\u5e84\u0007U\u0002\u0002\u5e84\u5e85\u0007a\u0002", + "\u0002\u5e85\u5e86\u0007R\u0002\u0002\u5e86\u5e87\u0007C\u0002\u0002", + "\u5e87\u5e88\u0007V\u0002\u0002\u5e88\u5e89\u0007J\u0002\u0002\u5e89", + "\u5e8a\u0007K\u0002\u0002\u5e8a\u5e8b\u0007F\u0002\u0002\u5e8b\u5e8c", + "\u0007a\u0002\u0002\u5e8c\u5e8d\u0007N\u0002\u0002\u5e8d\u5e8e\u0007", + "C\u0002\u0002\u5e8e\u5e8f\u0007U\u0002\u0002\u5e8f\u5e90\u0007V\u0002", + "\u0002\u5e90\u5e91\u0007P\u0002\u0002\u5e91\u5e92\u0007O\u0002\u0002", + "\u5e92\u5e93\u0007U\u0002\u0002\u5e93\u5e94\u0007R\u0002\u0002\u5e94", + "\u5e95\u0007E\u0002\u0002\u5e95\u0dd6\u0003\u0002\u0002\u0002\u5e96", + "\u5e97\u0007U\u0002\u0002\u5e97\u5e98\u0007[\u0002\u0002\u5e98\u5e99", + "\u0007U\u0002\u0002\u5e99\u5e9a\u0007a\u0002\u0002\u5e9a\u5e9b\u0007", + "R\u0002\u0002\u5e9b\u5e9c\u0007C\u0002\u0002\u5e9c\u5e9d\u0007V\u0002", + "\u0002\u5e9d\u5e9e\u0007J\u0002\u0002\u5e9e\u5e9f\u0007a\u0002\u0002", + "\u5e9f\u5ea0\u0007T\u0002\u0002\u5ea0\u5ea1\u0007G\u0002\u0002\u5ea1", + "\u5ea2\u0007X\u0002\u0002\u5ea2\u5ea3\u0007G\u0002\u0002\u5ea3\u5ea4", + "\u0007T\u0002\u0002\u5ea4\u5ea5\u0007U\u0002\u0002\u5ea5\u5ea6\u0007", + "G\u0002\u0002\u5ea6\u0dd8\u0003\u0002\u0002\u0002\u5ea7\u5ea8\u0007", + "U\u0002\u0002\u5ea8\u5ea9\u0007[\u0002\u0002\u5ea9\u5eaa\u0007U\u0002", + "\u0002\u5eaa\u5eab\u0007a\u0002\u0002\u5eab\u5eac\u0007R\u0002\u0002", + "\u5eac\u5ead\u0007Z\u0002\u0002\u5ead\u5eae\u0007S\u0002\u0002\u5eae", + "\u5eaf\u0007G\u0002\u0002\u5eaf\u5eb0\u0007Z\u0002\u0002\u5eb0\u5eb1", + "\u0007V\u0002\u0002\u5eb1\u5eb2\u0007T\u0002\u0002\u5eb2\u5eb3\u0007", + "C\u0002\u0002\u5eb3\u5eb4\u0007E\u0002\u0002\u5eb4\u5eb5\u0007V\u0002", + "\u0002\u5eb5\u0dda\u0003\u0002\u0002\u0002\u5eb6\u5eb7\u0007U\u0002", + "\u0002\u5eb7\u5eb8\u0007[\u0002\u0002\u5eb8\u5eb9\u0007U\u0002\u0002", + "\u5eb9\u5eba\u0007a\u0002\u0002\u5eba\u5ebb\u0007T\u0002\u0002\u5ebb", + "\u5ebc\u0007C\u0002\u0002\u5ebc\u5ebd\u0007Y\u0002\u0002\u5ebd\u5ebe", + "\u0007a\u0002\u0002\u5ebe\u5ebf\u0007V\u0002\u0002\u5ebf\u5ec0\u0007", + "Q\u0002\u0002\u5ec0\u5ec1\u0007a\u0002\u0002\u5ec1\u5ec2\u0007Z\u0002", + "\u0002\u5ec2\u5ec3\u0007U\u0002\u0002\u5ec3\u5ec4\u0007K\u0002\u0002", + "\u5ec4\u5ec5\u0007F\u0002\u0002\u5ec5\u0ddc\u0003\u0002\u0002\u0002", + "\u5ec6\u5ec7\u0007U\u0002\u0002\u5ec7\u5ec8\u0007[\u0002\u0002\u5ec8", + "\u5ec9\u0007U\u0002\u0002\u5ec9\u5eca\u0007a\u0002\u0002\u5eca\u5ecb", + "\u0007T\u0002\u0002\u5ecb\u5ecc\u0007K\u0002\u0002\u5ecc\u5ecd\u0007", + "F\u0002\u0002\u5ecd\u5ece\u0007a\u0002\u0002\u5ece\u5ecf\u0007Q\u0002", + "\u0002\u5ecf\u5ed0\u0007T\u0002\u0002\u5ed0\u5ed1\u0007F\u0002\u0002", + "\u5ed1\u5ed2\u0007G\u0002\u0002\u5ed2\u5ed3\u0007T\u0002\u0002\u5ed3", + "\u0dde\u0003\u0002\u0002\u0002\u5ed4\u5ed5\u0007U\u0002\u0002\u5ed5", + "\u5ed6\u0007[\u0002\u0002\u5ed6\u5ed7\u0007U\u0002\u0002\u5ed7\u5ed8", + "\u0007a\u0002\u0002\u5ed8\u5ed9\u0007T\u0002\u0002\u5ed9\u5eda\u0007", + "Q\u0002\u0002\u5eda\u5edb\u0007Y\u0002\u0002\u5edb\u5edc\u0007a\u0002", + "\u0002\u5edc\u5edd\u0007F\u0002\u0002\u5edd\u5ede\u0007G\u0002\u0002", + "\u5ede\u5edf\u0007N\u0002\u0002\u5edf\u5ee0\u0007V\u0002\u0002\u5ee0", + "\u5ee1\u0007C\u0002\u0002\u5ee1\u0de0\u0003\u0002\u0002\u0002\u5ee2", + "\u5ee3\u0007U\u0002\u0002\u5ee3\u5ee4\u0007[\u0002\u0002\u5ee4\u5ee5", + "\u0007U\u0002\u0002\u5ee5\u5ee6\u0007a\u0002\u0002\u5ee6\u5ee7\u0007", + "U\u0002\u0002\u5ee7\u5ee8\u0007E\u0002\u0002\u5ee8\u5ee9\u0007a\u0002", + "\u0002\u5ee9\u5eea\u00074\u0002\u0002\u5eea\u5eeb\u0007a\u0002\u0002", + "\u5eeb\u5eec\u0007Z\u0002\u0002\u5eec\u5eed\u0007O\u0002\u0002\u5eed", + "\u5eee\u0007N\u0002\u0002\u5eee\u5eef\u0007V\u0002\u0002\u5eef\u0de2", + "\u0003\u0002\u0002\u0002\u5ef0\u5ef1\u0007U\u0002\u0002\u5ef1\u5ef2", + "\u0007[\u0002\u0002\u5ef2\u5ef3\u0007U\u0002\u0002\u5ef3\u5ef4\u0007", + "a\u0002\u0002\u5ef4\u5ef5\u0007U\u0002\u0002\u5ef5\u5ef6\u0007[\u0002", + "\u0002\u5ef6\u5ef7\u0007P\u0002\u0002\u5ef7\u5ef8\u0007T\u0002\u0002", + "\u5ef8\u5ef9\u0007E\u0002\u0002\u5ef9\u5efa\u0007K\u0002\u0002\u5efa", + "\u5efb\u0007T\u0002\u0002\u5efb\u5efc\u0007G\u0002\u0002\u5efc\u5efd", + "\u0007F\u0002\u0002\u5efd\u5efe\u0007Q\u0002\u0002\u5efe\u0de4\u0003", + "\u0002\u0002\u0002\u5eff\u5f00\u0007U\u0002\u0002\u5f00\u5f01\u0007", + "[\u0002\u0002\u5f01\u5f02\u0007U\u0002\u0002\u5f02\u5f03\u0007V\u0002", + "\u0002\u5f03\u5f04\u0007G\u0002\u0002\u5f04\u5f05\u0007O\u0002\u0002", + "\u5f05\u5f06\u0007a\u0002\u0002\u5f06\u5f07\u0007F\u0002\u0002\u5f07", + "\u5f08\u0007G\u0002\u0002\u5f08\u5f09\u0007H\u0002\u0002\u5f09\u5f0a", + "\u0007K\u0002\u0002\u5f0a\u5f0b\u0007P\u0002\u0002\u5f0b\u5f0c\u0007", + "G\u0002\u0002\u5f0c\u5f0d\u0007F\u0002\u0002\u5f0d\u0de6\u0003\u0002", + "\u0002\u0002\u5f0e\u5f0f\u0007U\u0002\u0002\u5f0f\u5f10\u0007[\u0002", + "\u0002\u5f10\u5f11\u0007U\u0002\u0002\u5f11\u5f12\u0007V\u0002\u0002", + "\u5f12\u5f13\u0007G\u0002\u0002\u5f13\u5f14\u0007O\u0002\u0002\u5f14", + "\u0de8\u0003\u0002\u0002\u0002\u5f15\u5f16\u0007U\u0002\u0002\u5f16", + "\u5f17\u0007[\u0002\u0002\u5f17\u5f18\u0007U\u0002\u0002\u5f18\u5f19", + "\u0007V\u0002\u0002\u5f19\u5f1a\u0007K\u0002\u0002\u5f1a\u5f1b\u0007", + "O\u0002\u0002\u5f1b\u5f1c\u0007G\u0002\u0002\u5f1c\u5f1d\u0007U\u0002", + "\u0002\u5f1d\u5f1e\u0007V\u0002\u0002\u5f1e\u5f1f\u0007C\u0002\u0002", + "\u5f1f\u5f20\u0007O\u0002\u0002\u5f20\u5f21\u0007R\u0002\u0002\u5f21", + "\u0dea\u0003\u0002\u0002\u0002\u5f22\u5f23\u0007U\u0002\u0002\u5f23", + "\u5f24\u0007[\u0002\u0002\u5f24\u5f25\u0007U\u0002\u0002\u5f25\u5f26", + "\u0007a\u0002\u0002\u5f26\u5f27\u0007V\u0002\u0002\u5f27\u5f28\u0007", + "[\u0002\u0002\u5f28\u5f29\u0007R\u0002\u0002\u5f29\u5f2a\u0007G\u0002", + "\u0002\u5f2a\u5f2b\u0007K\u0002\u0002\u5f2b\u5f2c\u0007F\u0002\u0002", + "\u5f2c\u0dec\u0003\u0002\u0002\u0002\u5f2d\u5f2e\u0007U\u0002\u0002", + "\u5f2e\u5f2f\u0007[\u0002\u0002\u5f2f\u5f30\u0007U\u0002\u0002\u5f30", + "\u5f31\u0007a\u0002\u0002\u5f31\u5f32\u0007W\u0002\u0002\u5f32\u5f33", + "\u0007O\u0002\u0002\u5f33\u5f34\u0007C\u0002\u0002\u5f34\u5f35\u0007", + "M\u0002\u0002\u5f35\u5f36\u0007G\u0002\u0002\u5f36\u5f37\u0007Z\u0002", + "\u0002\u5f37\u5f38\u0007O\u0002\u0002\u5f38\u5f39\u0007N\u0002\u0002", + "\u5f39\u0dee\u0003\u0002\u0002\u0002\u5f3a\u5f3b\u0007U\u0002\u0002", + "\u5f3b\u5f3c\u0007[\u0002\u0002\u5f3c\u5f3d\u0007U\u0002\u0002\u5f3d", + "\u5f3e\u0007a\u0002\u0002\u5f3e\u5f3f\u0007Z\u0002\u0002\u5f3f\u5f40", + "\u0007O\u0002\u0002\u5f40\u5f41\u0007N\u0002\u0002\u5f41\u5f42\u0007", + "C\u0002\u0002\u5f42\u5f43\u0007P\u0002\u0002\u5f43\u5f44\u0007C\u0002", + "\u0002\u5f44\u5f45\u0007N\u0002\u0002\u5f45\u5f46\u0007[\u0002\u0002", + "\u5f46\u5f47\u0007\\\u0002\u0002\u5f47\u5f48\u0007G\u0002\u0002\u5f48", + "\u0df0\u0003\u0002\u0002\u0002\u5f49\u5f4a\u0007U\u0002\u0002\u5f4a", + "\u5f4b\u0007[\u0002\u0002\u5f4b\u5f4c\u0007U\u0002\u0002\u5f4c\u5f4d", + "\u0007a\u0002\u0002\u5f4d\u5f4e\u0007Z\u0002\u0002\u5f4e\u5f4f\u0007", + "O\u0002\u0002\u5f4f\u5f50\u0007N\u0002\u0002\u5f50\u5f51\u0007E\u0002", + "\u0002\u5f51\u5f52\u0007Q\u0002\u0002\u5f52\u5f53\u0007P\u0002\u0002", + "\u5f53\u5f54\u0007V\u0002\u0002\u5f54\u5f55\u0007C\u0002\u0002\u5f55", + "\u5f56\u0007K\u0002\u0002\u5f56\u5f57\u0007P\u0002\u0002\u5f57\u5f58", + "\u0007U\u0002\u0002\u5f58\u0df2\u0003\u0002\u0002\u0002\u5f59\u5f5a", + "\u0007U\u0002\u0002\u5f5a\u5f5b\u0007[\u0002\u0002\u5f5b\u5f5c\u0007", + "U\u0002\u0002\u5f5c\u5f5d\u0007a\u0002\u0002\u5f5d\u5f5e\u0007Z\u0002", + "\u0002\u5f5e\u5f5f\u0007O\u0002\u0002\u5f5f\u5f60\u0007N\u0002\u0002", + "\u5f60\u5f61\u0007E\u0002\u0002\u5f61\u5f62\u0007Q\u0002\u0002\u5f62", + "\u5f63\u0007P\u0002\u0002\u5f63\u5f64\u0007X\u0002\u0002\u5f64\u0df4", + "\u0003\u0002\u0002\u0002\u5f65\u5f66\u0007U\u0002\u0002\u5f66\u5f67", + "\u0007[\u0002\u0002\u5f67\u5f68\u0007U\u0002\u0002\u5f68\u5f69\u0007", + "a\u0002\u0002\u5f69\u5f6a\u0007Z\u0002\u0002\u5f6a\u5f6b\u0007O\u0002", + "\u0002\u5f6b\u5f6c\u0007N\u0002\u0002\u5f6c\u5f6d\u0007G\u0002\u0002", + "\u5f6d\u5f6e\u0007Z\u0002\u0002\u5f6e\u5f6f\u0007P\u0002\u0002\u5f6f", + "\u5f70\u0007U\u0002\u0002\u5f70\u5f71\u0007W\u0002\u0002\u5f71\u5f72", + "\u0007T\u0002\u0002\u5f72\u5f73\u0007K\u0002\u0002\u5f73\u0df6\u0003", + "\u0002\u0002\u0002\u5f74\u5f75\u0007U\u0002\u0002\u5f75\u5f76\u0007", + "[\u0002\u0002\u5f76\u5f77\u0007U\u0002\u0002\u5f77\u5f78\u0007a\u0002", + "\u0002\u5f78\u5f79\u0007Z\u0002\u0002\u5f79\u5f7a\u0007O\u0002\u0002", + "\u5f7a\u5f7b\u0007N\u0002\u0002\u5f7b\u5f7c\u0007I\u0002\u0002\u5f7c", + "\u5f7d\u0007G\u0002\u0002\u5f7d\u5f7e\u0007P\u0002\u0002\u5f7e\u0df8", + "\u0003\u0002\u0002\u0002\u5f7f\u5f80\u0007U\u0002\u0002\u5f80\u5f81", + "\u0007[\u0002\u0002\u5f81\u5f82\u0007U\u0002\u0002\u5f82\u5f83\u0007", + "a\u0002\u0002\u5f83\u5f84\u0007Z\u0002\u0002\u5f84\u5f85\u0007O\u0002", + "\u0002\u5f85\u5f86\u0007N\u0002\u0002\u5f86\u5f87\u0007K\u0002\u0002", + "\u5f87\u5f88\u0007a\u0002\u0002\u5f88\u5f89\u0007N\u0002\u0002\u5f89", + "\u5f8a\u0007Q\u0002\u0002\u5f8a\u5f8b\u0007E\u0002\u0002\u5f8b\u5f8c", + "\u0007a\u0002\u0002\u5f8c\u5f8d\u0007K\u0002\u0002\u5f8d\u5f8e\u0007", + "U\u0002\u0002\u5f8e\u5f8f\u0007P\u0002\u0002\u5f8f\u5f90\u0007Q\u0002", + "\u0002\u5f90\u5f91\u0007F\u0002\u0002\u5f91\u5f92\u0007G\u0002\u0002", + "\u5f92\u0dfa\u0003\u0002\u0002\u0002\u5f93\u5f94\u0007U\u0002\u0002", + "\u5f94\u5f95\u0007[\u0002\u0002\u5f95\u5f96\u0007U\u0002\u0002\u5f96", + "\u5f97\u0007a\u0002\u0002\u5f97\u5f98\u0007Z\u0002\u0002\u5f98\u5f99", + "\u0007O\u0002\u0002\u5f99\u5f9a\u0007N\u0002\u0002\u5f9a\u5f9b\u0007", + "K\u0002\u0002\u5f9b\u5f9c\u0007a\u0002\u0002\u5f9c\u5f9d\u0007N\u0002", + "\u0002\u5f9d\u5f9e\u0007Q\u0002\u0002\u5f9e\u5f9f\u0007E\u0002\u0002", + "\u5f9f\u5fa0\u0007a\u0002\u0002\u5fa0\u5fa1\u0007K\u0002\u0002\u5fa1", + "\u5fa2\u0007U\u0002\u0002\u5fa2\u5fa3\u0007V\u0002\u0002\u5fa3\u5fa4", + "\u0007G\u0002\u0002\u5fa4\u5fa5\u0007Z\u0002\u0002\u5fa5\u5fa6\u0007", + "V\u0002\u0002\u5fa6\u0dfc\u0003\u0002\u0002\u0002\u5fa7\u5fa8\u0007", + "U\u0002\u0002\u5fa8\u5fa9\u0007[\u0002\u0002\u5fa9\u5faa\u0007U\u0002", + "\u0002\u5faa\u5fab\u0007a\u0002\u0002\u5fab\u5fac\u0007Z\u0002\u0002", + "\u5fac\u5fad\u0007O\u0002\u0002\u5fad\u5fae\u0007N\u0002\u0002\u5fae", + "\u5faf\u0007K\u0002\u0002\u5faf\u5fb0\u0007P\u0002\u0002\u5fb0\u5fb1", + "\u0007U\u0002\u0002\u5fb1\u5fb2\u0007V\u0002\u0002\u5fb2\u5fb3\u0007", + "T\u0002\u0002\u5fb3\u0dfe\u0003\u0002\u0002\u0002\u5fb4\u5fb5\u0007", + "U\u0002\u0002\u5fb5\u5fb6\u0007[\u0002\u0002\u5fb6\u5fb7\u0007U\u0002", + "\u0002\u5fb7\u5fb8\u0007a\u0002\u0002\u5fb8\u5fb9\u0007Z\u0002\u0002", + "\u5fb9\u5fba\u0007O\u0002\u0002\u5fba\u5fbb\u0007N\u0002\u0002\u5fbb", + "\u5fbc\u0007N\u0002\u0002\u5fbc\u5fbd\u0007Q\u0002\u0002\u5fbd\u5fbe", + "\u0007E\u0002\u0002\u5fbe\u5fbf\u0007C\u0002\u0002\u5fbf\u5fc0\u0007", + "V\u0002\u0002\u5fc0\u5fc1\u0007Q\u0002\u0002\u5fc1\u5fc2\u0007T\u0002", + "\u0002\u5fc2\u5fc3\u0007a\u0002\u0002\u5fc3\u5fc4\u0007I\u0002\u0002", + "\u5fc4\u5fc5\u0007G\u0002\u0002\u5fc5\u5fc6\u0007V\u0002\u0002\u5fc6", + "\u5fc7\u0007U\u0002\u0002\u5fc7\u5fc8\u0007X\u0002\u0002\u5fc8\u5fc9", + "\u0007C\u0002\u0002\u5fc9\u5fca\u0007N\u0002\u0002\u5fca\u0e00\u0003", + "\u0002\u0002\u0002\u5fcb\u5fcc\u0007U\u0002\u0002\u5fcc\u5fcd\u0007", + "[\u0002\u0002\u5fcd\u5fce\u0007U\u0002\u0002\u5fce\u5fcf\u0007a\u0002", + "\u0002\u5fcf\u5fd0\u0007Z\u0002\u0002\u5fd0\u5fd1\u0007O\u0002\u0002", + "\u5fd1\u5fd2\u0007N\u0002\u0002\u5fd2\u5fd3\u0007P\u0002\u0002\u5fd3", + "\u5fd4\u0007Q\u0002\u0002\u5fd4\u5fd5\u0007F\u0002\u0002\u5fd5\u5fd6", + "\u0007G\u0002\u0002\u5fd6\u5fd7\u0007K\u0002\u0002\u5fd7\u5fd8\u0007", + "F\u0002\u0002\u5fd8\u5fd9\u0007a\u0002\u0002\u5fd9\u5fda\u0007I\u0002", + "\u0002\u5fda\u5fdb\u0007G\u0002\u0002\u5fdb\u5fdc\u0007V\u0002\u0002", + "\u5fdc\u5fdd\u0007E\u0002\u0002\u5fdd\u5fde\u0007K\u0002\u0002\u5fde", + "\u5fdf\u0007F\u0002\u0002\u5fdf\u0e02\u0003\u0002\u0002\u0002\u5fe0", + "\u5fe1\u0007U\u0002\u0002\u5fe1\u5fe2\u0007[\u0002\u0002\u5fe2\u5fe3", + "\u0007U\u0002\u0002\u5fe3\u5fe4\u0007a\u0002\u0002\u5fe4\u5fe5\u0007", + "Z\u0002\u0002\u5fe5\u5fe6\u0007O\u0002\u0002\u5fe6\u5fe7\u0007N\u0002", + "\u0002\u5fe7\u5fe8\u0007P\u0002\u0002\u5fe8\u5fe9\u0007Q\u0002\u0002", + "\u5fe9\u5fea\u0007F\u0002\u0002\u5fea\u5feb\u0007G\u0002\u0002\u5feb", + "\u5fec\u0007K\u0002\u0002\u5fec\u5fed\u0007F\u0002\u0002\u5fed\u5fee", + "\u0007a\u0002\u0002\u5fee\u5fef\u0007I\u0002\u0002\u5fef\u5ff0\u0007", + "G\u0002\u0002\u5ff0\u5ff1\u0007V\u0002\u0002\u5ff1\u5ff2\u0007N\u0002", + "\u0002\u5ff2\u5ff3\u0007Q\u0002\u0002\u5ff3\u5ff4\u0007E\u0002\u0002", + "\u5ff4\u5ff5\u0007C\u0002\u0002\u5ff5\u5ff6\u0007V\u0002\u0002\u5ff6", + "\u5ff7\u0007Q\u0002\u0002\u5ff7\u5ff8\u0007T\u0002\u0002\u5ff8\u0e04", + "\u0003\u0002\u0002\u0002\u5ff9\u5ffa\u0007U\u0002\u0002\u5ffa\u5ffb", + "\u0007[\u0002\u0002\u5ffb\u5ffc\u0007U\u0002\u0002\u5ffc\u5ffd\u0007", + "a\u0002\u0002\u5ffd\u5ffe\u0007Z\u0002\u0002\u5ffe\u5fff\u0007O\u0002", + "\u0002\u5fff\u6000\u0007N\u0002\u0002\u6000\u6001\u0007P\u0002\u0002", + "\u6001\u6002\u0007Q\u0002\u0002\u6002\u6003\u0007F\u0002\u0002\u6003", + "\u6004\u0007G\u0002\u0002\u6004\u6005\u0007K\u0002\u0002\u6005\u6006", + "\u0007F\u0002\u0002\u6006\u6007\u0007a\u0002\u0002\u6007\u6008\u0007", + "I\u0002\u0002\u6008\u6009\u0007G\u0002\u0002\u6009\u600a\u0007V\u0002", + "\u0002\u600a\u600b\u0007Q\u0002\u0002\u600b\u600c\u0007M\u0002\u0002", + "\u600c\u600d\u0007G\u0002\u0002\u600d\u600e\u0007[\u0002\u0002\u600e", + "\u0e06\u0003\u0002\u0002\u0002\u600f\u6010\u0007U\u0002\u0002\u6010", + "\u6011\u0007[\u0002\u0002\u6011\u6012\u0007U\u0002\u0002\u6012\u6013", + "\u0007a\u0002\u0002\u6013\u6014\u0007Z\u0002\u0002\u6014\u6015\u0007", + "O\u0002\u0002\u6015\u6016\u0007N\u0002\u0002\u6016\u6017\u0007P\u0002", + "\u0002\u6017\u6018\u0007Q\u0002\u0002\u6018\u6019\u0007F\u0002\u0002", + "\u6019\u601a\u0007G\u0002\u0002\u601a\u601b\u0007K\u0002\u0002\u601b", + "\u601c\u0007F\u0002\u0002\u601c\u601d\u0007a\u0002\u0002\u601d\u601e", + "\u0007I\u0002\u0002\u601e\u601f\u0007G\u0002\u0002\u601f\u6020\u0007", + "V\u0002\u0002\u6020\u6021\u0007R\u0002\u0002\u6021\u6022\u0007C\u0002", + "\u0002\u6022\u6023\u0007V\u0002\u0002\u6023\u6024\u0007J\u0002\u0002", + "\u6024\u6025\u0007K\u0002\u0002\u6025\u6026\u0007F\u0002\u0002\u6026", + "\u0e08\u0003\u0002\u0002\u0002\u6027\u6028\u0007U\u0002\u0002\u6028", + "\u6029\u0007[\u0002\u0002\u6029\u602a\u0007U\u0002\u0002\u602a\u602b", + "\u0007a\u0002\u0002\u602b\u602c\u0007Z\u0002\u0002\u602c\u602d\u0007", + "O\u0002\u0002\u602d\u602e\u0007N\u0002\u0002\u602e\u602f\u0007P\u0002", + "\u0002\u602f\u6030\u0007Q\u0002\u0002\u6030\u6031\u0007F\u0002\u0002", + "\u6031\u6032\u0007G\u0002\u0002\u6032\u6033\u0007K\u0002\u0002\u6033", + "\u6034\u0007F\u0002\u0002\u6034\u6035\u0007a\u0002\u0002\u6035\u6036", + "\u0007I\u0002\u0002\u6036\u6037\u0007G\u0002\u0002\u6037\u6038\u0007", + "V\u0002\u0002\u6038\u6039\u0007R\u0002\u0002\u6039\u603a\u0007V\u0002", + "\u0002\u603a\u603b\u0007T\u0002\u0002\u603b\u603c\u0007K\u0002\u0002", + "\u603c\u603d\u0007F\u0002\u0002\u603d\u0e0a\u0003\u0002\u0002\u0002", + "\u603e\u603f\u0007U\u0002\u0002\u603f\u6040\u0007[\u0002\u0002\u6040", + "\u6041\u0007U\u0002\u0002\u6041\u6042\u0007a\u0002\u0002\u6042\u6043", + "\u0007Z\u0002\u0002\u6043\u6044\u0007O\u0002\u0002\u6044\u6045\u0007", + "N\u0002\u0002\u6045\u6046\u0007P\u0002\u0002\u6046\u6047\u0007Q\u0002", + "\u0002\u6047\u6048\u0007F\u0002\u0002\u6048\u6049\u0007G\u0002\u0002", + "\u6049\u604a\u0007K\u0002\u0002\u604a\u604b\u0007F\u0002\u0002\u604b", + "\u604c\u0007a\u0002\u0002\u604c\u604d\u0007I\u0002\u0002\u604d\u604e", + "\u0007G\u0002\u0002\u604e\u604f\u0007V\u0002\u0002\u604f\u6050\u0007", + "T\u0002\u0002\u6050\u6051\u0007K\u0002\u0002\u6051\u6052\u0007F\u0002", + "\u0002\u6052\u0e0c\u0003\u0002\u0002\u0002\u6053\u6054\u0007U\u0002", + "\u0002\u6054\u6055\u0007[\u0002\u0002\u6055\u6056\u0007U\u0002\u0002", + "\u6056\u6057\u0007a\u0002\u0002\u6057\u6058\u0007Z\u0002\u0002\u6058", + "\u6059\u0007O\u0002\u0002\u6059\u605a\u0007N\u0002\u0002\u605a\u605b", + "\u0007P\u0002\u0002\u605b\u605c\u0007Q\u0002\u0002\u605c\u605d\u0007", + "F\u0002\u0002\u605d\u605e\u0007G\u0002\u0002\u605e\u605f\u0007K\u0002", + "\u0002\u605f\u6060\u0007F\u0002\u0002\u6060\u6061\u0007a\u0002\u0002", + "\u6061\u6062\u0007I\u0002\u0002\u6062\u6063\u0007G\u0002\u0002\u6063", + "\u6064\u0007V\u0002\u0002\u6064\u6065\u0007U\u0002\u0002\u6065\u6066", + "\u0007X\u0002\u0002\u6066\u6067\u0007C\u0002\u0002\u6067\u6068\u0007", + "N\u0002\u0002\u6068\u0e0e\u0003\u0002\u0002\u0002\u6069\u606a\u0007", + "U\u0002\u0002\u606a\u606b\u0007[\u0002\u0002\u606b\u606c\u0007U\u0002", + "\u0002\u606c\u606d\u0007a\u0002\u0002\u606d\u606e\u0007Z\u0002\u0002", + "\u606e\u606f\u0007O\u0002\u0002\u606f\u6070\u0007N\u0002\u0002\u6070", + "\u6071\u0007P\u0002\u0002\u6071\u6072\u0007Q\u0002\u0002\u6072\u6073", + "\u0007F\u0002\u0002\u6073\u6074\u0007G\u0002\u0002\u6074\u6075\u0007", + "K\u0002\u0002\u6075\u6076\u0007F\u0002\u0002\u6076\u6077\u0007a\u0002", + "\u0002\u6077\u6078\u0007I\u0002\u0002\u6078\u6079\u0007G\u0002\u0002", + "\u6079\u607a\u0007V\u0002\u0002\u607a\u607b\u0007V\u0002\u0002\u607b", + "\u607c\u0007K\u0002\u0002\u607c\u607d\u0007F\u0002\u0002\u607d\u0e10", + "\u0003\u0002\u0002\u0002\u607e\u607f\u0007U\u0002\u0002\u607f\u6080", + "\u0007[\u0002\u0002\u6080\u6081\u0007U\u0002\u0002\u6081\u6082\u0007", + "a\u0002\u0002\u6082\u6083\u0007Z\u0002\u0002\u6083\u6084\u0007O\u0002", + "\u0002\u6084\u6085\u0007N\u0002\u0002\u6085\u6086\u0007P\u0002\u0002", + "\u6086\u6087\u0007Q\u0002\u0002\u6087\u6088\u0007F\u0002\u0002\u6088", + "\u6089\u0007G\u0002\u0002\u6089\u608a\u0007K\u0002\u0002\u608a\u608b", + "\u0007F\u0002\u0002\u608b\u0e12\u0003\u0002\u0002\u0002\u608c\u608d", + "\u0007U\u0002\u0002\u608d\u608e\u0007[\u0002\u0002\u608e\u608f\u0007", + "U\u0002\u0002\u608f\u6090\u0007a\u0002\u0002\u6090\u6091\u0007Z\u0002", + "\u0002\u6091\u6092\u0007O\u0002\u0002\u6092\u6093\u0007N\u0002\u0002", + "\u6093\u6094\u0007V\u0002\u0002\u6094\u6095\u0007a\u0002\u0002\u6095", + "\u6096\u00074\u0002\u0002\u6096\u6097\u0007a\u0002\u0002\u6097\u6098", + "\u0007U\u0002\u0002\u6098\u6099\u0007E\u0002\u0002\u6099\u0e14\u0003", + "\u0002\u0002\u0002\u609a\u609b\u0007U\u0002\u0002\u609b\u609c\u0007", + "[\u0002\u0002\u609c\u609d\u0007U\u0002\u0002\u609d\u609e\u0007a\u0002", + "\u0002\u609e\u609f\u0007Z\u0002\u0002\u609f\u60a0\u0007O\u0002\u0002", + "\u60a0\u60a1\u0007N\u0002\u0002\u60a1\u60a2\u0007V\u0002\u0002\u60a2", + "\u60a3\u0007T\u0002\u0002\u60a3\u60a4\u0007C\u0002\u0002\u60a4\u60a5", + "\u0007P\u0002\u0002\u60a5\u60a6\u0007U\u0002\u0002\u60a6\u60a7\u0007", + "N\u0002\u0002\u60a7\u60a8\u0007C\u0002\u0002\u60a8\u60a9\u0007V\u0002", + "\u0002\u60a9\u60aa\u0007G\u0002\u0002\u60aa\u0e16\u0003\u0002\u0002", + "\u0002\u60ab\u60ac\u0007U\u0002\u0002\u60ac\u60ad\u0007[\u0002\u0002", + "\u60ad\u60ae\u0007U\u0002\u0002\u60ae\u60af\u0007a\u0002\u0002\u60af", + "\u60b0\u0007Z\u0002\u0002\u60b0\u60b1\u0007O\u0002\u0002\u60b1\u60b2", + "\u0007N\u0002\u0002\u60b2\u60b3\u0007V\u0002\u0002\u60b3\u60b4\u0007", + "[\u0002\u0002\u60b4\u60b5\u0007R\u0002\u0002\u60b5\u60b6\u0007G\u0002", + "\u0002\u60b6\u60b7\u00074\u0002\u0002\u60b7\u60b8\u0007U\u0002\u0002", + "\u60b8\u60b9\u0007S\u0002\u0002\u60b9\u60ba\u0007N\u0002\u0002\u60ba", + "\u0e18\u0003\u0002\u0002\u0002\u60bb\u60bc\u0007U\u0002\u0002\u60bc", + "\u60bd\u0007[\u0002\u0002\u60bd\u60be\u0007U\u0002\u0002\u60be\u60bf", + "\u0007a\u0002\u0002\u60bf\u60c0\u0007Z\u0002\u0002\u60c0\u60c1\u0007", + "S\u0002\u0002\u60c1\u60c2\u0007a\u0002\u0002\u60c2\u60c3\u0007C\u0002", + "\u0002\u60c3\u60c4\u0007U\u0002\u0002\u60c4\u60c5\u0007S\u0002\u0002", + "\u60c5\u60c6\u0007N\u0002\u0002\u60c6\u60c7\u0007E\u0002\u0002\u60c7", + "\u60c8\u0007P\u0002\u0002\u60c8\u60c9\u0007X\u0002\u0002\u60c9\u0e1a", + "\u0003\u0002\u0002\u0002\u60ca\u60cb\u0007U\u0002\u0002\u60cb\u60cc", + "\u0007[\u0002\u0002\u60cc\u60cd\u0007U\u0002\u0002\u60cd\u60ce\u0007", + "a\u0002\u0002\u60ce\u60cf\u0007Z\u0002\u0002\u60cf\u60d0\u0007S\u0002", + "\u0002\u60d0\u60d1\u0007a\u0002\u0002\u60d1\u60d2\u0007C\u0002\u0002", + "\u60d2\u60d3\u0007V\u0002\u0002\u60d3\u60d4\u0007Q\u0002\u0002\u60d4", + "\u60d5\u0007O\u0002\u0002\u60d5\u60d6\u0007E\u0002\u0002\u60d6\u60d7", + "\u0007P\u0002\u0002\u60d7\u60d8\u0007X\u0002\u0002\u60d8\u60d9\u0007", + "E\u0002\u0002\u60d9\u60da\u0007J\u0002\u0002\u60da\u60db\u0007M\u0002", + "\u0002\u60db\u0e1c\u0003\u0002\u0002\u0002\u60dc\u60dd\u0007U\u0002", + "\u0002\u60dd\u60de\u0007[\u0002\u0002\u60de\u60df\u0007U\u0002\u0002", + "\u60df\u60e0\u0007a\u0002\u0002\u60e0\u60e1\u0007Z\u0002\u0002\u60e1", + "\u60e2\u0007S\u0002\u0002\u60e2\u60e3\u0007D\u0002\u0002\u60e3\u60e4", + "\u0007C\u0002\u0002\u60e4\u60e5\u0007U\u0002\u0002\u60e5\u60e6\u0007", + "G\u0002\u0002\u60e6\u60e7\u0007W\u0002\u0002\u60e7\u60e8\u0007T\u0002", + "\u0002\u60e8\u60e9\u0007K\u0002\u0002\u60e9\u0e1e\u0003\u0002\u0002", + "\u0002\u60ea\u60eb\u0007U\u0002\u0002\u60eb\u60ec\u0007[\u0002\u0002", + "\u60ec\u60ed\u0007U\u0002\u0002\u60ed\u60ee\u0007a\u0002\u0002\u60ee", + "\u60ef\u0007Z\u0002\u0002\u60ef\u60f0\u0007S\u0002\u0002\u60f0\u60f1", + "\u0007E\u0002\u0002\u60f1\u60f2\u0007C\u0002\u0002\u60f2\u60f3\u0007", + "U\u0002\u0002\u60f3\u60f4\u0007V\u0002\u0002\u60f4\u60f5\u0007C\u0002", + "\u0002\u60f5\u60f6\u0007D\u0002\u0002\u60f6\u60f7\u0007N\u0002\u0002", + "\u60f7\u60f8\u0007G\u0002\u0002\u60f8\u60f9\u0007G\u0002\u0002\u60f9", + "\u60fa\u0007T\u0002\u0002\u60fa\u60fb\u0007T\u0002\u0002\u60fb\u60fc", + "\u0007J\u0002\u0002\u60fc\u0e20\u0003\u0002\u0002\u0002\u60fd\u60fe", + "\u0007U\u0002\u0002\u60fe\u60ff\u0007[\u0002\u0002\u60ff\u6100\u0007", + "U\u0002\u0002\u6100\u6101\u0007a\u0002\u0002\u6101\u6102\u0007Z\u0002", + "\u0002\u6102\u6103\u0007S\u0002\u0002\u6103\u6104\u0007E\u0002\u0002", + "\u6104\u6105\u0007Q\u0002\u0002\u6105\u6106\u0007F\u0002\u0002\u6106", + "\u6107\u0007G\u0002\u0002\u6107\u6108\u0007R\u0002\u0002\u6108\u6109", + "\u00074\u0002\u0002\u6109\u610a\u0007U\u0002\u0002\u610a\u610b\u0007", + "V\u0002\u0002\u610b\u610c\u0007T\u0002\u0002\u610c\u0e22\u0003\u0002", + "\u0002\u0002\u610d\u610e\u0007U\u0002\u0002\u610e\u610f\u0007[\u0002", + "\u0002\u610f\u6110\u0007U\u0002\u0002\u6110\u6111\u0007a\u0002\u0002", + "\u6111\u6112\u0007Z\u0002\u0002\u6112\u6113\u0007S\u0002\u0002\u6113", + "\u6114\u0007E\u0002\u0002\u6114\u6115\u0007Q\u0002\u0002\u6115\u6116", + "\u0007F\u0002\u0002\u6116\u6117\u0007G\u0002\u0002\u6117\u6118\u0007", + "R\u0002\u0002\u6118\u6119\u0007G\u0002\u0002\u6119\u611a\u0007S\u0002", + "\u0002\u611a\u0e24\u0003\u0002\u0002\u0002\u611b\u611c\u0007U\u0002", + "\u0002\u611c\u611d\u0007[\u0002\u0002\u611d\u611e\u0007U\u0002\u0002", + "\u611e\u611f\u0007a\u0002\u0002\u611f\u6120\u0007Z\u0002\u0002\u6120", + "\u6121\u0007S\u0002\u0002\u6121\u6122\u0007E\u0002\u0002\u6122\u6123", + "\u0007Q\u0002\u0002\u6123\u6124\u0007P\u0002\u0002\u6124\u6125\u0007", + "4\u0002\u0002\u6125\u6126\u0007U\u0002\u0002\u6126\u6127\u0007G\u0002", + "\u0002\u6127\u6128\u0007S\u0002\u0002\u6128\u0e26\u0003\u0002\u0002", + "\u0002\u6129\u612a\u0007U\u0002\u0002\u612a\u612b\u0007[\u0002\u0002", + "\u612b\u612c\u0007U\u0002\u0002\u612c\u612d\u0007a\u0002\u0002\u612d", + "\u612e\u0007Z\u0002\u0002\u612e\u612f\u0007S\u0002\u0002\u612f\u6130", + "\u0007E\u0002\u0002\u6130\u6131\u0007Q\u0002\u0002\u6131\u6132\u0007", + "P\u0002\u0002\u6132\u6133\u0007E\u0002\u0002\u6133\u6134\u0007C\u0002", + "\u0002\u6134\u6135\u0007V\u0002\u0002\u6135\u0e28\u0003\u0002\u0002", + "\u0002\u6136\u6137\u0007U\u0002\u0002\u6137\u6138\u0007[\u0002\u0002", + "\u6138\u6139\u0007U\u0002\u0002\u6139\u613a\u0007a\u0002\u0002\u613a", + "\u613b\u0007Z\u0002\u0002\u613b\u613c\u0007S\u0002\u0002\u613c\u613d", + "\u0007F\u0002\u0002\u613d\u613e\u0007G\u0002\u0002\u613e\u613f\u0007", + "N\u0002\u0002\u613f\u6140\u0007G\u0002\u0002\u6140\u6141\u0007V\u0002", + "\u0002\u6141\u6142\u0007G\u0002\u0002\u6142\u0e2a\u0003\u0002\u0002", + "\u0002\u6143\u6144\u0007U\u0002\u0002\u6144\u6145\u0007[\u0002\u0002", + "\u6145\u6146\u0007U\u0002\u0002\u6146\u6147\u0007a\u0002\u0002\u6147", + "\u6148\u0007Z\u0002\u0002\u6148\u6149\u0007S\u0002\u0002\u6149\u614a", + "\u0007F\u0002\u0002\u614a\u614b\u0007H\u0002\u0002\u614b\u614c\u0007", + "N\u0002\u0002\u614c\u614d\u0007V\u0002\u0002\u614d\u614e\u0007E\u0002", + "\u0002\u614e\u614f\u0007Q\u0002\u0002\u614f\u6150\u0007N\u0002\u0002", + "\u6150\u6151\u0007C\u0002\u0002\u6151\u6152\u0007V\u0002\u0002\u6152", + "\u6153\u0007K\u0002\u0002\u6153\u6154\u0007Q\u0002\u0002\u6154\u6155", + "\u0007P\u0002\u0002\u6155\u0e2c\u0003\u0002\u0002\u0002\u6156\u6157", + "\u0007U\u0002\u0002\u6157\u6158\u0007[\u0002\u0002\u6158\u6159\u0007", + "U\u0002\u0002\u6159\u615a\u0007a\u0002\u0002\u615a\u615b\u0007Z\u0002", + "\u0002\u615b\u615c\u0007S\u0002\u0002\u615c\u615d\u0007F\u0002\u0002", + "\u615d\u615e\u0007Q\u0002\u0002\u615e\u615f\u0007E\u0002\u0002\u615f", + "\u0e2e\u0003\u0002\u0002\u0002\u6160\u6161\u0007U\u0002\u0002\u6161", + "\u6162\u0007[\u0002\u0002\u6162\u6163\u0007U\u0002\u0002\u6163\u6164", + "\u0007a\u0002\u0002\u6164\u6165\u0007Z\u0002\u0002\u6165\u6166\u0007", + "S\u0002\u0002\u6166\u6167\u0007F\u0002\u0002\u6167\u6168\u0007Q\u0002", + "\u0002\u6168\u6169\u0007E\u0002\u0002\u6169\u616a\u0007W\u0002\u0002", + "\u616a\u616b\u0007T\u0002\u0002\u616b\u616c\u0007K\u0002\u0002\u616c", + "\u0e30\u0003\u0002\u0002\u0002\u616d\u616e\u0007U\u0002\u0002\u616e", + "\u616f\u0007[\u0002\u0002\u616f\u6170\u0007U\u0002\u0002\u6170\u6171", + "\u0007a\u0002\u0002\u6171\u6172\u0007Z\u0002\u0002\u6172\u6173\u0007", + "S\u0002\u0002\u6173\u6174\u0007F\u0002\u0002\u6174\u6175\u0007W\u0002", + "\u0002\u6175\u6176\u0007T\u0002\u0002\u6176\u6177\u0007F\u0002\u0002", + "\u6177\u6178\u0007K\u0002\u0002\u6178\u6179\u0007X\u0002\u0002\u6179", + "\u0e32\u0003\u0002\u0002\u0002\u617a\u617b\u0007U\u0002\u0002\u617b", + "\u617c\u0007[\u0002\u0002\u617c\u617d\u0007U\u0002\u0002\u617d\u617e", + "\u0007a\u0002\u0002\u617e\u617f\u0007Z\u0002\u0002\u617f\u6180\u0007", + "S\u0002\u0002\u6180\u6181\u0007G\u0002\u0002\u6181\u6182\u0007F\u0002", + "\u0002\u6182\u6183\u00076\u0002\u0002\u6183\u6184\u0007W\u0002\u0002", + "\u6184\u6185\u0007T\u0002\u0002\u6185\u6186\u0007K\u0002\u0002\u6186", + "\u0e34\u0003\u0002\u0002\u0002\u6187\u6188\u0007U\u0002\u0002\u6188", + "\u6189\u0007[\u0002\u0002\u6189\u618a\u0007U\u0002\u0002\u618a\u618b", + "\u0007a\u0002\u0002\u618b\u618c\u0007Z\u0002\u0002\u618c\u618d\u0007", + "S\u0002\u0002\u618d\u618e\u0007G\u0002\u0002\u618e\u618f\u0007P\u0002", + "\u0002\u618f\u6190\u0007F\u0002\u0002\u6190\u6191\u0007U\u0002\u0002", + "\u6191\u6192\u0007Y\u0002\u0002\u6192\u6193\u0007K\u0002\u0002\u6193", + "\u6194\u0007V\u0002\u0002\u6194\u6195\u0007J\u0002\u0002\u6195\u0e36", + "\u0003\u0002\u0002\u0002\u6196\u6197\u0007U\u0002\u0002\u6197\u6198", + "\u0007[\u0002\u0002\u6198\u6199\u0007U\u0002\u0002\u6199\u619a\u0007", + "a\u0002\u0002\u619a\u619b\u0007Z\u0002\u0002\u619b\u619c\u0007S\u0002", + "\u0002\u619c\u619d\u0007G\u0002\u0002\u619d\u619e\u0007T\u0002\u0002", + "\u619e\u619f\u0007T\u0002\u0002\u619f\u61a0\u0007J\u0002\u0002\u61a0", + "\u0e38\u0003\u0002\u0002\u0002\u61a1\u61a2\u0007U\u0002\u0002\u61a2", + "\u61a3\u0007[\u0002\u0002\u61a3\u61a4\u0007U\u0002\u0002\u61a4\u61a5", + "\u0007a\u0002\u0002\u61a5\u61a6\u0007Z\u0002\u0002\u61a6\u61a7\u0007", + "S\u0002\u0002\u61a7\u61a8\u0007G\u0002\u0002\u61a8\u61a9\u0007T\u0002", + "\u0002\u61a9\u61aa\u0007T\u0002\u0002\u61aa\u0e3a\u0003\u0002\u0002", + "\u0002\u61ab\u61ac\u0007U\u0002\u0002\u61ac\u61ad\u0007[\u0002\u0002", + "\u61ad\u61ae\u0007U\u0002\u0002\u61ae\u61af\u0007a\u0002\u0002\u61af", + "\u61b0\u0007Z\u0002\u0002\u61b0\u61b1\u0007S\u0002\u0002\u61b1\u61b2", + "\u0007G\u0002\u0002\u61b2\u61b3\u0007U\u0002\u0002\u61b3\u61b4\u0007", + "J\u0002\u0002\u61b4\u61b5\u0007V\u0002\u0002\u61b5\u61b6\u0007O\u0002", + "\u0002\u61b6\u61b7\u0007N\u0002\u0002\u61b7\u61b8\u0007W\u0002\u0002", + "\u61b8\u61b9\u0007T\u0002\u0002\u61b9\u61ba\u0007K\u0002\u0002\u61ba", + "\u0e3c\u0003\u0002\u0002\u0002\u61bb\u61bc\u0007U\u0002\u0002\u61bc", + "\u61bd\u0007[\u0002\u0002\u61bd\u61be\u0007U\u0002\u0002\u61be\u61bf", + "\u0007a\u0002\u0002\u61bf\u61c0\u0007Z\u0002\u0002\u61c0\u61c1\u0007", + "S\u0002\u0002\u61c1\u61c2\u0007G\u0002\u0002\u61c2\u61c3\u0007Z\u0002", + "\u0002\u61c3\u61c4\u0007N\u0002\u0002\u61c4\u61c5\u0007Q\u0002\u0002", + "\u61c5\u61c6\u0007D\u0002\u0002\u61c6\u61c7\u0007X\u0002\u0002\u61c7", + "\u61c8\u0007C\u0002\u0002\u61c8\u61c9\u0007N\u0002\u0002\u61c9\u0e3e", + "\u0003\u0002\u0002\u0002\u61ca\u61cb\u0007U\u0002\u0002\u61cb\u61cc", + "\u0007[\u0002\u0002\u61cc\u61cd\u0007U\u0002\u0002\u61cd\u61ce\u0007", + "a\u0002\u0002\u61ce\u61cf\u0007Z\u0002\u0002\u61cf\u61d0\u0007S\u0002", + "\u0002\u61d0\u61d1\u0007G\u0002\u0002\u61d1\u61d2\u0007Z\u0002\u0002", + "\u61d2\u61d3\u0007U\u0002\u0002\u61d3\u61d4\u0007V\u0002\u0002\u61d4", + "\u61d5\u0007Y\u0002\u0002\u61d5\u61d6\u0007T\u0002\u0002\u61d6\u61d7", + "\u0007R\u0002\u0002\u61d7\u0e40\u0003\u0002\u0002\u0002\u61d8\u61d9", + "\u0007U\u0002\u0002\u61d9\u61da\u0007[\u0002\u0002\u61da\u61db\u0007", + "U\u0002\u0002\u61db\u61dc\u0007a\u0002\u0002\u61dc\u61dd\u0007Z\u0002", + "\u0002\u61dd\u61de\u0007S\u0002\u0002\u61de\u61df\u0007G\u0002\u0002", + "\u61df\u61e0\u0007Z\u0002\u0002\u61e0\u61e1\u0007V\u0002\u0002\u61e1", + "\u61e2\u0007T\u0002\u0002\u61e2\u61e3\u0007C\u0002\u0002\u61e3\u61e4", + "\u0007E\u0002\u0002\u61e4\u61e5\u0007V\u0002\u0002\u61e5\u0e42\u0003", + "\u0002\u0002\u0002\u61e6\u61e7\u0007U\u0002\u0002\u61e7\u61e8\u0007", + "[\u0002\u0002\u61e8\u61e9\u0007U\u0002\u0002\u61e9\u61ea\u0007a\u0002", + "\u0002\u61ea\u61eb\u0007Z\u0002\u0002\u61eb\u61ec\u0007S\u0002\u0002", + "\u61ec\u61ed\u0007G\u0002\u0002\u61ed\u61ee\u0007Z\u0002\u0002\u61ee", + "\u61ef\u0007V\u0002\u0002\u61ef\u61f0\u0007T\u0002\u0002\u61f0\u61f1", + "\u0007T\u0002\u0002\u61f1\u61f2\u0007G\u0002\u0002\u61f2\u61f3\u0007", + "H\u0002\u0002\u61f3\u0e44\u0003\u0002\u0002\u0002\u61f4\u61f5\u0007", + "U\u0002\u0002\u61f5\u61f6\u0007[\u0002\u0002\u61f6\u61f7\u0007U\u0002", + "\u0002\u61f7\u61f8\u0007a\u0002\u0002\u61f8\u61f9\u0007Z\u0002\u0002", + "\u61f9\u61fa\u0007S\u0002\u0002\u61fa\u61fb\u0007G\u0002\u0002\u61fb", + "\u61fc\u0007Z\u0002\u0002\u61fc\u61fd\u0007X\u0002\u0002\u61fd\u61fe", + "\u0007C\u0002\u0002\u61fe\u61ff\u0007N\u0002\u0002\u61ff\u0e46\u0003", + "\u0002\u0002\u0002\u6200\u6201\u0007U\u0002\u0002\u6201\u6202\u0007", + "[\u0002\u0002\u6202\u6203\u0007U\u0002\u0002\u6203\u6204\u0007a\u0002", + "\u0002\u6204\u6205\u0007Z\u0002\u0002\u6205\u6206\u0007S\u0002\u0002", + "\u6206\u6207\u0007H\u0002\u0002\u6207\u6208\u0007D\u0002\u0002\u6208", + "\u6209\u00074\u0002\u0002\u6209\u620a\u0007U\u0002\u0002\u620a\u620b", + "\u0007V\u0002\u0002\u620b\u620c\u0007T\u0002\u0002\u620c\u0e48\u0003", + "\u0002\u0002\u0002\u620d\u620e\u0007U\u0002\u0002\u620e\u620f\u0007", + "[\u0002\u0002\u620f\u6210\u0007U\u0002\u0002\u6210\u6211\u0007a\u0002", + "\u0002\u6211\u6212\u0007Z\u0002\u0002\u6212\u6213\u0007S\u0002\u0002", + "\u6213\u6214\u0007H\u0002\u0002\u6214\u6215\u0007P\u0002\u0002\u6215", + "\u6216\u0007D\u0002\u0002\u6216\u6217\u0007Q\u0002\u0002\u6217\u6218", + "\u0007Q\u0002\u0002\u6218\u6219\u0007N\u0002\u0002\u6219\u0e4a\u0003", + "\u0002\u0002\u0002\u621a\u621b\u0007U\u0002\u0002\u621b\u621c\u0007", + "[\u0002\u0002\u621c\u621d\u0007U\u0002\u0002\u621d\u621e\u0007a\u0002", + "\u0002\u621e\u621f\u0007Z\u0002\u0002\u621f\u6220\u0007S\u0002\u0002", + "\u6220\u6221\u0007H\u0002\u0002\u6221\u6222\u0007P\u0002\u0002\u6222", + "\u6223\u0007E\u0002\u0002\u6223\u6224\u0007O\u0002\u0002\u6224\u6225", + "\u0007R\u0002\u0002\u6225\u0e4c\u0003\u0002\u0002\u0002\u6226\u6227", + "\u0007U\u0002\u0002\u6227\u6228\u0007[\u0002\u0002\u6228\u6229\u0007", + "U\u0002\u0002\u6229\u622a\u0007a\u0002\u0002\u622a\u622b\u0007Z\u0002", + "\u0002\u622b\u622c\u0007S\u0002\u0002\u622c\u622d\u0007H\u0002\u0002", + "\u622d\u622e\u0007P\u0002\u0002\u622e\u622f\u0007F\u0002\u0002\u622f", + "\u6230\u0007C\u0002\u0002\u6230\u6231\u0007V\u0002\u0002\u6231\u6232", + "\u0007K\u0002\u0002\u6232\u6233\u0007O\u0002\u0002\u6233\u0e4e\u0003", + "\u0002\u0002\u0002\u6234\u6235\u0007U\u0002\u0002\u6235\u6236\u0007", + "[\u0002\u0002\u6236\u6237\u0007U\u0002\u0002\u6237\u6238\u0007a\u0002", + "\u0002\u6238\u6239\u0007Z\u0002\u0002\u6239\u623a\u0007S\u0002\u0002", + "\u623a\u623b\u0007H\u0002\u0002\u623b\u623c\u0007P\u0002\u0002\u623c", + "\u623d\u0007N\u0002\u0002\u623d\u623e\u0007P\u0002\u0002\u623e\u623f", + "\u0007C\u0002\u0002\u623f\u6240\u0007O\u0002\u0002\u6240\u6241\u0007", + "G\u0002\u0002\u6241\u0e50\u0003\u0002\u0002\u0002\u6242\u6243\u0007", + "U\u0002\u0002\u6243\u6244\u0007[\u0002\u0002\u6244\u6245\u0007U\u0002", + "\u0002\u6245\u6246\u0007a\u0002\u0002\u6246\u6247\u0007Z\u0002\u0002", + "\u6247\u6248\u0007S\u0002\u0002\u6248\u6249\u0007H\u0002\u0002\u6249", + "\u624a\u0007P\u0002\u0002\u624a\u624b\u0007P\u0002\u0002\u624b\u624c", + "\u0007O\u0002\u0002\u624c\u0e52\u0003\u0002\u0002\u0002\u624d\u624e", + "\u0007U\u0002\u0002\u624e\u624f\u0007[\u0002\u0002\u624f\u6250\u0007", + "U\u0002\u0002\u6250\u6251\u0007a\u0002\u0002\u6251\u6252\u0007Z\u0002", + "\u0002\u6252\u6253\u0007S\u0002\u0002\u6253\u6254\u0007H\u0002\u0002", + "\u6254\u6255\u0007P\u0002\u0002\u6255\u6256\u0007P\u0002\u0002\u6256", + "\u6257\u0007U\u0002\u0002\u6257\u6258\u0007W\u0002\u0002\u6258\u6259", + "\u0007T\u0002\u0002\u6259\u625a\u0007K\u0002\u0002\u625a\u0e54\u0003", + "\u0002\u0002\u0002\u625b\u625c\u0007U\u0002\u0002\u625c\u625d\u0007", + "[\u0002\u0002\u625d\u625e\u0007U\u0002\u0002\u625e\u625f\u0007a\u0002", + "\u0002\u625f\u6260\u0007Z\u0002\u0002\u6260\u6261\u0007S\u0002\u0002", + "\u6261\u6262\u0007H\u0002\u0002\u6262\u6263\u0007P\u0002\u0002\u6263", + "\u6264\u0007R\u0002\u0002\u6264\u6265\u0007T\u0002\u0002\u6265\u6266", + "\u0007G\u0002\u0002\u6266\u6267\u0007F\u0002\u0002\u6267\u6268\u0007", + "V\u0002\u0002\u6268\u6269\u0007T\u0002\u0002\u6269\u626a\u0007W\u0002", + "\u0002\u626a\u626b\u0007V\u0002\u0002\u626b\u626c\u0007J\u0002\u0002", + "\u626c\u0e56\u0003\u0002\u0002\u0002\u626d\u626e\u0007U\u0002\u0002", + "\u626e\u626f\u0007[\u0002\u0002\u626f\u6270\u0007U\u0002\u0002\u6270", + "\u6271\u0007a\u0002\u0002\u6271\u6272\u0007Z\u0002\u0002\u6272\u6273", + "\u0007S\u0002\u0002\u6273\u6274\u0007H\u0002\u0002\u6274\u6275\u0007", + "P\u0002\u0002\u6275\u6276\u0007S\u0002\u0002\u6276\u6277\u0007P\u0002", + "\u0002\u6277\u6278\u0007O\u0002\u0002\u6278\u0e58\u0003\u0002\u0002", + "\u0002\u6279\u627a\u0007U\u0002\u0002\u627a\u627b\u0007[\u0002\u0002", + "\u627b\u627c\u0007U\u0002\u0002\u627c\u627d\u0007a\u0002\u0002\u627d", + "\u627e\u0007Z\u0002\u0002\u627e\u627f\u0007S\u0002\u0002\u627f\u6280", + "\u0007H\u0002\u0002\u6280\u6281\u0007P\u0002\u0002\u6281\u6282\u0007", + "T\u0002\u0002\u6282\u6283\u0007Q\u0002\u0002\u6283\u6284\u0007Q\u0002", + "\u0002\u6284\u6285\u0007V\u0002\u0002\u6285\u0e5a\u0003\u0002\u0002", + "\u0002\u6286\u6287\u0007U\u0002\u0002\u6287\u6288\u0007[\u0002\u0002", + "\u6288\u6289\u0007U\u0002\u0002\u6289\u628a\u0007a\u0002\u0002\u628a", + "\u628b\u0007Z\u0002\u0002\u628b\u628c\u0007S\u0002\u0002\u628c\u628d", + "\u0007H\u0002\u0002\u628d\u628e\u0007Q\u0002\u0002\u628e\u628f\u0007", + "T\u0002\u0002\u628f\u6290\u0007O\u0002\u0002\u6290\u6291\u0007C\u0002", + "\u0002\u6291\u6292\u0007V\u0002\u0002\u6292\u6293\u0007P\u0002\u0002", + "\u6293\u6294\u0007W\u0002\u0002\u6294\u6295\u0007O\u0002\u0002\u6295", + "\u0e5c\u0003\u0002\u0002\u0002\u6296\u6297\u0007U\u0002\u0002\u6297", + "\u6298\u0007[\u0002\u0002\u6298\u6299\u0007U\u0002\u0002\u6299\u629a", + "\u0007a\u0002\u0002\u629a\u629b\u0007Z\u0002\u0002\u629b\u629c\u0007", + "S\u0002\u0002\u629c\u629d\u0007H\u0002\u0002\u629d\u629e\u0007V\u0002", + "\u0002\u629e\u629f\u0007E\u0002\u0002\u629f\u62a0\u0007Q\u0002\u0002", + "\u62a0\u62a1\u0007P\u0002\u0002\u62a1\u62a2\u0007V\u0002\u0002\u62a2", + "\u62a3\u0007C\u0002\u0002\u62a3\u62a4\u0007K\u0002\u0002\u62a4\u62a5", + "\u0007P\u0002\u0002\u62a5\u0e5e\u0003\u0002\u0002\u0002\u62a6\u62a7", + "\u0007U\u0002\u0002\u62a7\u62a8\u0007[\u0002\u0002\u62a8\u62a9\u0007", + "U\u0002\u0002\u62a9\u62aa\u0007a\u0002\u0002\u62aa\u62ab\u0007Z\u0002", + "\u0002\u62ab\u62ac\u0007S\u0002\u0002\u62ac\u62ad\u0007H\u0002\u0002", + "\u62ad\u62ae\u0007W\u0002\u0002\u62ae\u62af\u0007P\u0002\u0002\u62af", + "\u62b0\u0007E\u0002\u0002\u62b0\u62b1\u0007T\u0002\u0002\u62b1\u0e60", + "\u0003\u0002\u0002\u0002\u62b2\u62b3\u0007U\u0002\u0002\u62b3\u62b4", + "\u0007[\u0002\u0002\u62b4\u62b5\u0007U\u0002\u0002\u62b5\u62b6\u0007", + "a\u0002\u0002\u62b6\u62b7\u0007Z\u0002\u0002\u62b7\u62b8\u0007S\u0002", + "\u0002\u62b8\u62b9\u0007I\u0002\u0002\u62b9\u62ba\u0007G\u0002\u0002", + "\u62ba\u62bb\u0007V\u0002\u0002\u62bb\u62bc\u0007E\u0002\u0002\u62bc", + "\u62bd\u0007Q\u0002\u0002\u62bd\u62be\u0007P\u0002\u0002\u62be\u62bf", + "\u0007V\u0002\u0002\u62bf\u62c0\u0007G\u0002\u0002\u62c0\u62c1\u0007", + "P\u0002\u0002\u62c1\u62c2\u0007V\u0002\u0002\u62c2\u0e62\u0003\u0002", + "\u0002\u0002\u62c3\u62c4\u0007U\u0002\u0002\u62c4\u62c5\u0007[\u0002", + "\u0002\u62c5\u62c6\u0007U\u0002\u0002\u62c6\u62c7\u0007a\u0002\u0002", + "\u62c7\u62c8\u0007Z\u0002\u0002\u62c8\u62c9\u0007S\u0002\u0002\u62c9", + "\u62ca\u0007K\u0002\u0002\u62ca\u62cb\u0007P\u0002\u0002\u62cb\u62cc", + "\u0007F\u0002\u0002\u62cc\u62cd\u0007Z\u0002\u0002\u62cd\u62ce\u0007", + "Q\u0002\u0002\u62ce\u62cf\u0007H\u0002\u0002\u62cf\u0e64\u0003\u0002", + "\u0002\u0002\u62d0\u62d1\u0007U\u0002\u0002\u62d1\u62d2\u0007[\u0002", + "\u0002\u62d2\u62d3\u0007U\u0002\u0002\u62d3\u62d4\u0007a\u0002\u0002", + "\u62d4\u62d5\u0007Z\u0002\u0002\u62d5\u62d6\u0007S\u0002\u0002\u62d6", + "\u62d7\u0007K\u0002\u0002\u62d7\u62d8\u0007P\u0002\u0002\u62d8\u62d9", + "\u0007U\u0002\u0002\u62d9\u62da\u0007G\u0002\u0002\u62da\u62db\u0007", + "T\u0002\u0002\u62db\u62dc\u0007V\u0002\u0002\u62dc\u0e66\u0003\u0002", + "\u0002\u0002\u62dd\u62de\u0007U\u0002\u0002\u62de\u62df\u0007[\u0002", + "\u0002\u62df\u62e0\u0007U\u0002\u0002\u62e0\u62e1\u0007a\u0002\u0002", + "\u62e1\u62e2\u0007Z\u0002\u0002\u62e2\u62e3\u0007S\u0002\u0002\u62e3", + "\u62e4\u0007K\u0002\u0002\u62e4\u62e5\u0007P\u0002\u0002\u62e5\u62e6", + "\u0007U\u0002\u0002\u62e6\u62e7\u0007R\u0002\u0002\u62e7\u62e8\u0007", + "H\u0002\u0002\u62e8\u62e9\u0007Z\u0002\u0002\u62e9\u0e68\u0003\u0002", + "\u0002\u0002\u62ea\u62eb\u0007U\u0002\u0002\u62eb\u62ec\u0007[\u0002", + "\u0002\u62ec\u62ed\u0007U\u0002\u0002\u62ed\u62ee\u0007a\u0002\u0002", + "\u62ee\u62ef\u0007Z\u0002\u0002\u62ef\u62f0\u0007S\u0002\u0002\u62f0", + "\u62f1\u0007K\u0002\u0002\u62f1\u62f2\u0007T\u0002\u0002\u62f2\u62f3", + "\u0007K\u0002\u0002\u62f3\u62f4\u00074\u0002\u0002\u62f4\u62f5\u0007", + "W\u0002\u0002\u62f5\u62f6\u0007T\u0002\u0002\u62f6\u62f7\u0007K\u0002", + "\u0002\u62f7\u0e6a\u0003\u0002\u0002\u0002\u62f8\u62f9\u0007U\u0002", + "\u0002\u62f9\u62fa\u0007[\u0002\u0002\u62fa\u62fb\u0007U\u0002\u0002", + "\u62fb\u62fc\u0007a\u0002\u0002\u62fc\u62fd\u0007Z\u0002\u0002\u62fd", + "\u62fe\u0007S\u0002\u0002\u62fe\u62ff\u0007N\u0002\u0002\u62ff\u6300", + "\u0007C\u0002\u0002\u6300\u6301\u0007P\u0002\u0002\u6301\u6302\u0007", + "I\u0002\u0002\u6302\u0e6c\u0003\u0002\u0002\u0002\u6303\u6304\u0007", + "U\u0002\u0002\u6304\u6305\u0007[\u0002\u0002\u6305\u6306\u0007U\u0002", + "\u0002\u6306\u6307\u0007a\u0002\u0002\u6307\u6308\u0007Z\u0002\u0002", + "\u6308\u6309\u0007S\u0002\u0002\u6309\u630a\u0007N\u0002\u0002\u630a", + "\u630b\u0007N\u0002\u0002\u630b\u630c\u0007P\u0002\u0002\u630c\u630d", + "\u0007O\u0002\u0002\u630d\u630e\u0007H\u0002\u0002\u630e\u630f\u0007", + "T\u0002\u0002\u630f\u6310\u0007O\u0002\u0002\u6310\u6311\u0007S\u0002", + "\u0002\u6311\u6312\u0007P\u0002\u0002\u6312\u6313\u0007O\u0002\u0002", + "\u6313\u0e6e\u0003\u0002\u0002\u0002\u6314\u6315\u0007U\u0002\u0002", + "\u6315\u6316\u0007[\u0002\u0002\u6316\u6317\u0007U\u0002\u0002\u6317", + "\u6318\u0007a\u0002\u0002\u6318\u6319\u0007Z\u0002\u0002\u6319\u631a", + "\u0007S\u0002\u0002\u631a\u631b\u0007O\u0002\u0002\u631b\u631c\u0007", + "M\u0002\u0002\u631c\u631d\u0007P\u0002\u0002\u631d\u631e\u0007Q\u0002", + "\u0002\u631e\u631f\u0007F\u0002\u0002\u631f\u6320\u0007G\u0002\u0002", + "\u6320\u6321\u0007T\u0002\u0002\u6321\u6322\u0007G\u0002\u0002\u6322", + "\u6323\u0007H\u0002\u0002\u6323\u0e70\u0003\u0002\u0002\u0002\u6324", + "\u6325\u0007U\u0002\u0002\u6325\u6326\u0007[\u0002\u0002\u6326\u6327", + "\u0007U\u0002\u0002\u6327\u6328\u0007a\u0002\u0002\u6328\u6329\u0007", + "Z\u0002\u0002\u6329\u632a\u0007S\u0002\u0002\u632a\u632b\u0007P\u0002", + "\u0002\u632b\u632c\u0007K\u0002\u0002\u632c\u632d\u0007N\u0002\u0002", + "\u632d\u632e\u0007N\u0002\u0002\u632e\u632f\u0007G\u0002\u0002\u632f", + "\u6330\u0007F\u0002\u0002\u6330\u0e72\u0003\u0002\u0002\u0002\u6331", + "\u6332\u0007U\u0002\u0002\u6332\u6333\u0007[\u0002\u0002\u6333\u6334", + "\u0007U\u0002\u0002\u6334\u6335\u0007a\u0002\u0002\u6335\u6336\u0007", + "Z\u0002\u0002\u6336\u6337\u0007S\u0002\u0002\u6337\u6338\u0007P\u0002", + "\u0002\u6338\u6339\u0007Q\u0002\u0002\u6339\u633a\u0007F\u0002\u0002", + "\u633a\u633b\u0007G\u0002\u0002\u633b\u633c\u0007P\u0002\u0002\u633c", + "\u633d\u0007C\u0002\u0002\u633d\u633e\u0007O\u0002\u0002\u633e\u633f", + "\u0007G\u0002\u0002\u633f\u0e74\u0003\u0002\u0002\u0002\u6340\u6341", + "\u0007U\u0002\u0002\u6341\u6342\u0007[\u0002\u0002\u6342\u6343\u0007", + "U\u0002\u0002\u6343\u6344\u0007a\u0002\u0002\u6344\u6345\u0007Z\u0002", + "\u0002\u6345\u6346\u0007S\u0002\u0002\u6346\u6347\u0007P\u0002\u0002", + "\u6347\u6348\u0007Q\u0002\u0002\u6348\u6349\u0007T\u0002\u0002\u6349", + "\u634a\u0007O\u0002\u0002\u634a\u634b\u0007U\u0002\u0002\u634b\u634c", + "\u0007R\u0002\u0002\u634c\u634d\u0007C\u0002\u0002\u634d\u634e\u0007", + "E\u0002\u0002\u634e\u634f\u0007G\u0002\u0002\u634f\u0e76\u0003\u0002", + "\u0002\u0002\u6350\u6351\u0007U\u0002\u0002\u6351\u6352\u0007[\u0002", + "\u0002\u6352\u6353\u0007U\u0002\u0002\u6353\u6354\u0007a\u0002\u0002", + "\u6354\u6355\u0007Z\u0002\u0002\u6355\u6356\u0007S\u0002\u0002\u6356", + "\u6357\u0007P\u0002\u0002\u6357\u6358\u0007Q\u0002\u0002\u6358\u6359", + "\u0007T\u0002\u0002\u6359\u635a\u0007O\u0002\u0002\u635a\u635b\u0007", + "W\u0002\u0002\u635b\u635c\u0007E\u0002\u0002\u635c\u635d\u0007Q\u0002", + "\u0002\u635d\u635e\u0007F\u0002\u0002\u635e\u635f\u0007G\u0002\u0002", + "\u635f\u0e78\u0003\u0002\u0002\u0002\u6360\u6361\u0007U\u0002\u0002", + "\u6361\u6362\u0007[\u0002\u0002\u6362\u6363\u0007U\u0002\u0002\u6363", + "\u6364\u0007a\u0002\u0002\u6364\u6365\u0007Z\u0002\u0002\u6365\u6366", + "\u0007S\u0002\u0002\u6366\u6367\u0007a\u0002\u0002\u6367\u6368\u0007", + "P\u0002\u0002\u6368\u6369\u0007T\u0002\u0002\u6369\u636a\u0007P\u0002", + "\u0002\u636a\u636b\u0007I\u0002\u0002\u636b\u0e7a\u0003\u0002\u0002", + "\u0002\u636c\u636d\u0007U\u0002\u0002\u636d\u636e\u0007[\u0002\u0002", + "\u636e\u636f\u0007U\u0002\u0002\u636f\u6370\u0007a\u0002\u0002\u6370", + "\u6371\u0007Z\u0002\u0002\u6371\u6372\u0007S\u0002\u0002\u6372\u6373", + "\u0007P\u0002\u0002\u6373\u6374\u0007U\u0002\u0002\u6374\u6375\u0007", + "R\u0002\u0002\u6375\u6376\u00076\u0002\u0002\u6376\u6377\u0007R\u0002", + "\u0002\u6377\u6378\u0007H\u0002\u0002\u6378\u6379\u0007Z\u0002\u0002", + "\u6379\u0e7c\u0003\u0002\u0002\u0002\u637a\u637b\u0007U\u0002\u0002", + "\u637b\u637c\u0007[\u0002\u0002\u637c\u637d\u0007U\u0002\u0002\u637d", + "\u637e\u0007a\u0002\u0002\u637e\u637f\u0007Z\u0002\u0002\u637f\u6380", + "\u0007S\u0002\u0002\u6380\u6381\u0007P\u0002\u0002\u6381\u6382\u0007", + "U\u0002\u0002\u6382\u6383\u0007R\u0002\u0002\u6383\u6384\u0007H\u0002", + "\u0002\u6384\u6385\u0007T\u0002\u0002\u6385\u6386\u0007O\u0002\u0002", + "\u6386\u6387\u0007S\u0002\u0002\u6387\u6388\u0007P\u0002\u0002\u6388", + "\u6389\u0007O\u0002\u0002\u6389\u0e7e\u0003\u0002\u0002\u0002\u638a", + "\u638b\u0007U\u0002\u0002\u638b\u638c\u0007[\u0002\u0002\u638c\u638d", + "\u0007U\u0002\u0002\u638d\u638e\u0007a\u0002\u0002\u638e\u638f\u0007", + "Z\u0002\u0002\u638f\u6390\u0007S\u0002\u0002\u6390\u6391\u0007R\u0002", + "\u0002\u6391\u6392\u0007H\u0002\u0002\u6392\u6393\u0007Z\u0002\u0002", + "\u6393\u6394\u0007H\u0002\u0002\u6394\u6395\u0007T\u0002\u0002\u6395", + "\u6396\u0007O\u0002\u0002\u6396\u6397\u0007S\u0002\u0002\u6397\u6398", + "\u0007P\u0002\u0002\u6398\u6399\u0007O\u0002\u0002\u6399\u0e80\u0003", + "\u0002\u0002\u0002\u639a\u639b\u0007U\u0002\u0002\u639b\u639c\u0007", + "[\u0002\u0002\u639c\u639d\u0007U\u0002\u0002\u639d\u639e\u0007a\u0002", + "\u0002\u639e\u639f\u0007Z\u0002\u0002\u639f\u63a0\u0007S\u0002\u0002", + "\u63a0\u63a1\u0007a\u0002\u0002\u63a1\u63a2\u0007R\u0002\u0002\u63a2", + "\u63a3\u0007M\u0002\u0002\u63a3\u63a4\u0007U\u0002\u0002\u63a4\u63a5", + "\u0007S\u0002\u0002\u63a5\u63a6\u0007N\u0002\u0002\u63a6\u63a7\u0007", + "4\u0002\u0002\u63a7\u63a8\u0007Z\u0002\u0002\u63a8\u63a9\u0007O\u0002", + "\u0002\u63a9\u63aa\u0007N\u0002\u0002\u63aa\u0e82\u0003\u0002\u0002", + "\u0002\u63ab\u63ac\u0007U\u0002\u0002\u63ac\u63ad\u0007[\u0002\u0002", + "\u63ad\u63ae\u0007U\u0002\u0002\u63ae\u63af\u0007a\u0002\u0002\u63af", + "\u63b0\u0007Z\u0002\u0002\u63b0\u63b1\u0007S\u0002\u0002\u63b1\u63b2", + "\u0007R\u0002\u0002\u63b2\u63b3\u0007Q\u0002\u0002\u63b3\u63b4\u0007", + "N\u0002\u0002\u63b4\u63b5\u0007[\u0002\u0002\u63b5\u63b6\u0007C\u0002", + "\u0002\u63b6\u63b7\u0007D\u0002\u0002\u63b7\u63b8\u0007U\u0002\u0002", + "\u63b8\u0e84\u0003\u0002\u0002\u0002\u63b9\u63ba\u0007U\u0002\u0002", + "\u63ba\u63bb\u0007[\u0002\u0002\u63bb\u63bc\u0007U\u0002\u0002\u63bc", + "\u63bd\u0007a\u0002\u0002\u63bd\u63be\u0007Z\u0002\u0002\u63be\u63bf", + "\u0007S\u0002\u0002\u63bf\u63c0\u0007R\u0002\u0002\u63c0\u63c1\u0007", + "Q\u0002\u0002\u63c1\u63c2\u0007N\u0002\u0002\u63c2\u63c3\u0007[\u0002", + "\u0002\u63c3\u63c4\u0007C\u0002\u0002\u63c4\u63c5\u0007F\u0002\u0002", + "\u63c5\u63c6\u0007F\u0002\u0002\u63c6\u0e86\u0003\u0002\u0002\u0002", + "\u63c7\u63c8\u0007U\u0002\u0002\u63c8\u63c9\u0007[\u0002\u0002\u63c9", + "\u63ca\u0007U\u0002\u0002\u63ca\u63cb\u0007a\u0002\u0002\u63cb\u63cc", + "\u0007Z\u0002\u0002\u63cc\u63cd\u0007S\u0002\u0002\u63cd\u63ce\u0007", + "R\u0002\u0002\u63ce\u63cf\u0007Q\u0002\u0002\u63cf\u63d0\u0007N\u0002", + "\u0002\u63d0\u63d1\u0007[\u0002\u0002\u63d1\u63d2\u0007E\u0002\u0002", + "\u63d2\u63d3\u0007G\u0002\u0002\u63d3\u63d4\u0007N\u0002\u0002\u63d4", + "\u0e88\u0003\u0002\u0002\u0002\u63d5\u63d6\u0007U\u0002\u0002\u63d6", + "\u63d7\u0007[\u0002\u0002\u63d7\u63d8\u0007U\u0002\u0002\u63d8\u63d9", + "\u0007a\u0002\u0002\u63d9\u63da\u0007Z\u0002\u0002\u63da\u63db\u0007", + "S\u0002\u0002\u63db\u63dc\u0007R\u0002\u0002\u63dc\u63dd\u0007Q\u0002", + "\u0002\u63dd\u63de\u0007N\u0002\u0002\u63de\u63df\u0007[\u0002\u0002", + "\u63df\u63e0\u0007E\u0002\u0002\u63e0\u63e1\u0007U\u0002\u0002\u63e1", + "\u63e2\u0007V\u0002\u0002\u63e2\u63e3\u0007D\u0002\u0002\u63e3\u63e4", + "\u0007N\u0002\u0002\u63e4\u0e8a\u0003\u0002\u0002\u0002\u63e5\u63e6", + "\u0007U\u0002\u0002\u63e6\u63e7\u0007[\u0002\u0002\u63e7\u63e8\u0007", + "U\u0002\u0002\u63e8\u63e9\u0007a\u0002\u0002\u63e9\u63ea\u0007Z\u0002", + "\u0002\u63ea\u63eb\u0007S\u0002\u0002\u63eb\u63ec\u0007R\u0002\u0002", + "\u63ec\u63ed\u0007Q\u0002\u0002\u63ed\u63ee\u0007N\u0002\u0002\u63ee", + "\u63ef\u0007[\u0002\u0002\u63ef\u63f0\u0007E\u0002\u0002\u63f0\u63f1", + "\u0007U\u0002\u0002\u63f1\u63f2\u0007V\u0002\u0002\u63f2\u0e8c\u0003", + "\u0002\u0002\u0002\u63f3\u63f4\u0007U\u0002\u0002\u63f4\u63f5\u0007", + "[\u0002\u0002\u63f5\u63f6\u0007U\u0002\u0002\u63f6\u63f7\u0007a\u0002", + "\u0002\u63f7\u63f8\u0007Z\u0002\u0002\u63f8\u63f9\u0007S\u0002\u0002", + "\u63f9\u63fa\u0007R\u0002\u0002\u63fa\u63fb\u0007Q\u0002\u0002\u63fb", + "\u63fc\u0007N\u0002\u0002\u63fc\u63fd\u0007[\u0002\u0002\u63fd\u63fe", + "\u0007F\u0002\u0002\u63fe\u63ff\u0007K\u0002\u0002\u63ff\u6400\u0007", + "X\u0002\u0002\u6400\u0e8e\u0003\u0002\u0002\u0002\u6401\u6402\u0007", + "U\u0002\u0002\u6402\u6403\u0007[\u0002\u0002\u6403\u6404\u0007U\u0002", + "\u0002\u6404\u6405\u0007a\u0002\u0002\u6405\u6406\u0007Z\u0002\u0002", + "\u6406\u6407\u0007S\u0002\u0002\u6407\u6408\u0007R\u0002\u0002\u6408", + "\u6409\u0007Q\u0002\u0002\u6409\u640a\u0007N\u0002\u0002\u640a\u640b", + "\u0007[\u0002\u0002\u640b\u640c\u0007H\u0002\u0002\u640c\u640d\u0007", + "N\u0002\u0002\u640d\u640e\u0007T\u0002\u0002\u640e\u0e90\u0003\u0002", + "\u0002\u0002\u640f\u6410\u0007U\u0002\u0002\u6410\u6411\u0007[\u0002", + "\u0002\u6411\u6412\u0007U\u0002\u0002\u6412\u6413\u0007a\u0002\u0002", + "\u6413\u6414\u0007Z\u0002\u0002\u6414\u6415\u0007S\u0002\u0002\u6415", + "\u6416\u0007R\u0002\u0002\u6416\u6417\u0007Q\u0002\u0002\u6417\u6418", + "\u0007N\u0002\u0002\u6418\u6419\u0007[\u0002\u0002\u6419\u641a\u0007", + "O\u0002\u0002\u641a\u641b\u0007Q\u0002\u0002\u641b\u641c\u0007F\u0002", + "\u0002\u641c\u0e92\u0003\u0002\u0002\u0002\u641d\u641e\u0007U\u0002", + "\u0002\u641e\u641f\u0007[\u0002\u0002\u641f\u6420\u0007U\u0002\u0002", + "\u6420\u6421\u0007a\u0002\u0002\u6421\u6422\u0007Z\u0002\u0002\u6422", + "\u6423\u0007S\u0002\u0002\u6423\u6424\u0007R\u0002\u0002\u6424\u6425", + "\u0007Q\u0002\u0002\u6425\u6426\u0007N\u0002\u0002\u6426\u6427\u0007", + "[\u0002\u0002\u6427\u6428\u0007O\u0002\u0002\u6428\u6429\u0007W\u0002", + "\u0002\u6429\u642a\u0007N\u0002\u0002\u642a\u0e94\u0003\u0002\u0002", + "\u0002\u642b\u642c\u0007U\u0002\u0002\u642c\u642d\u0007[\u0002\u0002", + "\u642d\u642e\u0007U\u0002\u0002\u642e\u642f\u0007a\u0002\u0002\u642f", + "\u6430\u0007Z\u0002\u0002\u6430\u6431\u0007S\u0002\u0002\u6431\u6432", + "\u0007R\u0002\u0002\u6432\u6433\u0007Q\u0002\u0002\u6433\u6434\u0007", + "N\u0002\u0002\u6434\u6435\u0007[\u0002\u0002\u6435\u6436\u0007T\u0002", + "\u0002\u6436\u6437\u0007P\u0002\u0002\u6437\u6438\u0007F\u0002\u0002", + "\u6438\u0e96\u0003\u0002\u0002\u0002\u6439\u643a\u0007U\u0002\u0002", + "\u643a\u643b\u0007[\u0002\u0002\u643b\u643c\u0007U\u0002\u0002\u643c", + "\u643d\u0007a\u0002\u0002\u643d\u643e\u0007Z\u0002\u0002\u643e\u643f", + "\u0007S\u0002\u0002\u643f\u6440\u0007R\u0002\u0002\u6440\u6441\u0007", + "Q\u0002\u0002\u6441\u6442\u0007N\u0002\u0002\u6442\u6443\u0007[\u0002", + "\u0002\u6443\u6444\u0007U\u0002\u0002\u6444\u6445\u0007S\u0002\u0002", + "\u6445\u6446\u0007T\u0002\u0002\u6446\u6447\u0007V\u0002\u0002\u6447", + "\u0e98\u0003\u0002\u0002\u0002\u6448\u6449\u0007U\u0002\u0002\u6449", + "\u644a\u0007[\u0002\u0002\u644a\u644b\u0007U\u0002\u0002\u644b\u644c", + "\u0007a\u0002\u0002\u644c\u644d\u0007Z\u0002\u0002\u644d\u644e\u0007", + "S\u0002\u0002\u644e\u644f\u0007R\u0002\u0002\u644f\u6450\u0007Q\u0002", + "\u0002\u6450\u6451\u0007N\u0002\u0002\u6451\u6452\u0007[\u0002\u0002", + "\u6452\u6453\u0007U\u0002\u0002\u6453\u6454\u0007W\u0002\u0002\u6454", + "\u6455\u0007D\u0002\u0002\u6455\u0e9a\u0003\u0002\u0002\u0002\u6456", + "\u6457\u0007U\u0002\u0002\u6457\u6458\u0007[\u0002\u0002\u6458\u6459", + "\u0007U\u0002\u0002\u6459\u645a\u0007a\u0002\u0002\u645a\u645b\u0007", + "Z\u0002\u0002\u645b\u645c\u0007S\u0002\u0002\u645c\u645d\u0007R\u0002", + "\u0002\u645d\u645e\u0007Q\u0002\u0002\u645e\u645f\u0007N\u0002\u0002", + "\u645f\u6460\u0007[\u0002\u0002\u6460\u6461\u0007W\u0002\u0002\u6461", + "\u6462\u0007O\u0002\u0002\u6462\u6463\u0007W\u0002\u0002\u6463\u6464", + "\u0007U\u0002\u0002\u6464\u0e9c\u0003\u0002\u0002\u0002\u6465\u6466", + "\u0007U\u0002\u0002\u6466\u6467\u0007[\u0002\u0002\u6467\u6468\u0007", + "U\u0002\u0002\u6468\u6469\u0007a\u0002\u0002\u6469\u646a\u0007Z\u0002", + "\u0002\u646a\u646b\u0007S\u0002\u0002\u646b\u646c\u0007R\u0002\u0002", + "\u646c\u646d\u0007Q\u0002\u0002\u646d\u646e\u0007N\u0002\u0002\u646e", + "\u646f\u0007[\u0002\u0002\u646f\u6470\u0007W\u0002\u0002\u6470\u6471", + "\u0007R\u0002\u0002\u6471\u6472\u0007N\u0002\u0002\u6472\u6473\u0007", + "U\u0002\u0002\u6473\u0e9e\u0003\u0002\u0002\u0002\u6474\u6475\u0007", + "U\u0002\u0002\u6475\u6476\u0007[\u0002\u0002\u6476\u6477\u0007U\u0002", + "\u0002\u6477\u6478\u0007a\u0002\u0002\u6478\u6479\u0007Z\u0002\u0002", + "\u6479\u647a\u0007S\u0002\u0002\u647a\u647b\u0007R\u0002\u0002\u647b", + "\u647c\u0007Q\u0002\u0002\u647c\u647d\u0007N\u0002\u0002\u647d\u647e", + "\u0007[\u0002\u0002\u647e\u647f\u0007X\u0002\u0002\u647f\u6480\u0007", + "G\u0002\u0002\u6480\u6481\u0007S\u0002\u0002\u6481\u0ea0\u0003\u0002", + "\u0002\u0002\u6482\u6483\u0007U\u0002\u0002\u6483\u6484\u0007[\u0002", + "\u0002\u6484\u6485\u0007U\u0002\u0002\u6485\u6486\u0007a\u0002\u0002", + "\u6486\u6487\u0007Z\u0002\u0002\u6487\u6488\u0007S\u0002\u0002\u6488", + "\u6489\u0007R\u0002\u0002\u6489\u648a\u0007Q\u0002\u0002\u648a\u648b", + "\u0007N\u0002\u0002\u648b\u648c\u0007[\u0002\u0002\u648c\u648d\u0007", + "X\u0002\u0002\u648d\u648e\u0007I\u0002\u0002\u648e\u648f\u0007G\u0002", + "\u0002\u648f\u0ea2\u0003\u0002\u0002\u0002\u6490\u6491\u0007U\u0002", + "\u0002\u6491\u6492\u0007[\u0002\u0002\u6492\u6493\u0007U\u0002\u0002", + "\u6493\u6494\u0007a\u0002\u0002\u6494\u6495\u0007Z\u0002\u0002\u6495", + "\u6496\u0007S\u0002\u0002\u6496\u6497\u0007R\u0002\u0002\u6497\u6498", + "\u0007Q\u0002\u0002\u6498\u6499\u0007N\u0002\u0002\u6499\u649a\u0007", + "[\u0002\u0002\u649a\u649b\u0007X\u0002\u0002\u649b\u649c\u0007I\u0002", + "\u0002\u649c\u649d\u0007V\u0002\u0002\u649d\u0ea4\u0003\u0002\u0002", + "\u0002\u649e\u649f\u0007U\u0002\u0002\u649f\u64a0\u0007[\u0002\u0002", + "\u64a0\u64a1\u0007U\u0002\u0002\u64a1\u64a2\u0007a\u0002\u0002\u64a2", + "\u64a3\u0007Z\u0002\u0002\u64a3\u64a4\u0007S\u0002\u0002\u64a4\u64a5", + "\u0007R\u0002\u0002\u64a5\u64a6\u0007Q\u0002\u0002\u64a6\u64a7\u0007", + "N\u0002\u0002\u64a7\u64a8\u0007[\u0002\u0002\u64a8\u64a9\u0007X\u0002", + "\u0002\u64a9\u64aa\u0007N\u0002\u0002\u64aa\u64ab\u0007G\u0002\u0002", + "\u64ab\u0ea6\u0003\u0002\u0002\u0002\u64ac\u64ad\u0007U\u0002\u0002", + "\u64ad\u64ae\u0007[\u0002\u0002\u64ae\u64af\u0007U\u0002\u0002\u64af", + "\u64b0\u0007a\u0002\u0002\u64b0\u64b1\u0007Z\u0002\u0002\u64b1\u64b2", + "\u0007S\u0002\u0002\u64b2\u64b3\u0007R\u0002\u0002\u64b3\u64b4\u0007", + "Q\u0002\u0002\u64b4\u64b5\u0007N\u0002\u0002\u64b5\u64b6\u0007[\u0002", + "\u0002\u64b6\u64b7\u0007X\u0002\u0002\u64b7\u64b8\u0007N\u0002\u0002", + "\u64b8\u64b9\u0007V\u0002\u0002\u64b9\u0ea8\u0003\u0002\u0002\u0002", + "\u64ba\u64bb\u0007U\u0002\u0002\u64bb\u64bc\u0007[\u0002\u0002\u64bc", + "\u64bd\u0007U\u0002\u0002\u64bd\u64be\u0007a\u0002\u0002\u64be\u64bf", + "\u0007Z\u0002\u0002\u64bf\u64c0\u0007S\u0002\u0002\u64c0\u64c1\u0007", + "R\u0002\u0002\u64c1\u64c2\u0007Q\u0002\u0002\u64c2\u64c3\u0007N\u0002", + "\u0002\u64c3\u64c4\u0007[\u0002\u0002\u64c4\u64c5\u0007X\u0002\u0002", + "\u64c5\u64c6\u0007P\u0002\u0002\u64c6\u64c7\u0007G\u0002\u0002\u64c7", + "\u0eaa\u0003\u0002\u0002\u0002\u64c8\u64c9\u0007U\u0002\u0002\u64c9", + "\u64ca\u0007[\u0002\u0002\u64ca\u64cb\u0007U\u0002\u0002\u64cb\u64cc", + "\u0007a\u0002\u0002\u64cc\u64cd\u0007Z\u0002\u0002\u64cd\u64ce\u0007", + "S\u0002\u0002\u64ce\u64cf\u0007T\u0002\u0002\u64cf\u64d0\u0007G\u0002", + "\u0002\u64d0\u64d1\u0007H\u0002\u0002\u64d1\u64d2\u00074\u0002\u0002", + "\u64d2\u64d3\u0007X\u0002\u0002\u64d3\u64d4\u0007C\u0002\u0002\u64d4", + "\u64d5\u0007N\u0002\u0002\u64d5\u0eac\u0003\u0002\u0002\u0002\u64d6", + "\u64d7\u0007U\u0002\u0002\u64d7\u64d8\u0007[\u0002\u0002\u64d8\u64d9", + "\u0007U\u0002\u0002\u64d9\u64da\u0007a\u0002\u0002\u64da\u64db\u0007", + "Z\u0002\u0002\u64db\u64dc\u0007S\u0002\u0002\u64dc\u64dd\u0007T\u0002", + "\u0002\u64dd\u64de\u0007G\u0002\u0002\u64de\u64df\u0007P\u0002\u0002", + "\u64df\u64e0\u0007C\u0002\u0002\u64e0\u64e1\u0007O\u0002\u0002\u64e1", + "\u64e2\u0007G\u0002\u0002\u64e2\u0eae\u0003\u0002\u0002\u0002\u64e3", + "\u64e4\u0007U\u0002\u0002\u64e4\u64e5\u0007[\u0002\u0002\u64e5\u64e6", + "\u0007U\u0002\u0002\u64e6\u64e7\u0007a\u0002\u0002\u64e7\u64e8\u0007", + "Z\u0002\u0002\u64e8\u64e9\u0007S\u0002\u0002\u64e9\u64ea\u0007T\u0002", + "\u0002\u64ea\u64eb\u0007G\u0002\u0002\u64eb\u64ec\u0007R\u0002\u0002", + "\u64ec\u64ed\u0007N\u0002\u0002\u64ed\u64ee\u0007C\u0002\u0002\u64ee", + "\u64ef\u0007E\u0002\u0002\u64ef\u64f0\u0007G\u0002\u0002\u64f0\u0eb0", + "\u0003\u0002\u0002\u0002\u64f1\u64f2\u0007U\u0002\u0002\u64f2\u64f3", + "\u0007[\u0002\u0002\u64f3\u64f4\u0007U\u0002\u0002\u64f4\u64f5\u0007", + "a\u0002\u0002\u64f5\u64f6\u0007Z\u0002\u0002\u64f6\u64f7\u0007S\u0002", + "\u0002\u64f7\u64f8\u0007T\u0002\u0002\u64f8\u64f9\u0007G\u0002\u0002", + "\u64f9\u64fa\u0007U\u0002\u0002\u64fa\u64fb\u0007X\u0002\u0002\u64fb", + "\u64fc\u0007W\u0002\u0002\u64fc\u64fd\u0007T\u0002\u0002\u64fd\u64fe", + "\u0007K\u0002\u0002\u64fe\u0eb2\u0003\u0002\u0002\u0002\u64ff\u6500", + "\u0007U\u0002\u0002\u6500\u6501\u0007[\u0002\u0002\u6501\u6502\u0007", + "U\u0002\u0002\u6502\u6503\u0007a\u0002\u0002\u6503\u6504\u0007Z\u0002", + "\u0002\u6504\u6505\u0007S\u0002\u0002\u6505\u6506\u0007T\u0002\u0002", + "\u6506\u6507\u0007P\u0002\u0002\u6507\u6508\u0007F\u0002\u0002\u6508", + "\u6509\u0007J\u0002\u0002\u6509\u650a\u0007C\u0002\u0002\u650a\u650b", + "\u0007N\u0002\u0002\u650b\u650c\u0007H\u0002\u0002\u650c\u650d\u0007", + "4\u0002\u0002\u650d\u650e\u0007G\u0002\u0002\u650e\u650f\u0007X\u0002", + "\u0002\u650f\u6510\u0007P\u0002\u0002\u6510\u0eb4\u0003\u0002\u0002", + "\u0002\u6511\u6512\u0007U\u0002\u0002\u6512\u6513\u0007[\u0002\u0002", + "\u6513\u6514\u0007U\u0002\u0002\u6514\u6515\u0007a\u0002\u0002\u6515", + "\u6516\u0007Z\u0002\u0002\u6516\u6517\u0007S\u0002\u0002\u6517\u6518", + "\u0007T\u0002\u0002\u6518\u6519\u0007U\u0002\u0002\u6519\u651a\u0007", + "N\u0002\u0002\u651a\u651b\u0007X\u0002\u0002\u651b\u651c\u0007S\u0002", + "\u0002\u651c\u651d\u0007P\u0002\u0002\u651d\u651e\u0007O\u0002\u0002", + "\u651e\u0eb6\u0003\u0002\u0002\u0002\u651f\u6520\u0007U\u0002\u0002", + "\u6520\u6521\u0007[\u0002\u0002\u6521\u6522\u0007U\u0002\u0002\u6522", + "\u6523\u0007a\u0002\u0002\u6523\u6524\u0007Z\u0002\u0002\u6524\u6525", + "\u0007S\u0002\u0002\u6525\u6526\u0007T\u0002\u0002\u6526\u6527\u0007", + "[\u0002\u0002\u6527\u6528\u0007G\u0002\u0002\u6528\u6529\u0007P\u0002", + "\u0002\u6529\u652a\u0007X\u0002\u0002\u652a\u652b\u0007R\u0002\u0002", + "\u652b\u652c\u0007I\u0002\u0002\u652c\u652d\u0007G\u0002\u0002\u652d", + "\u652e\u0007V\u0002\u0002\u652e\u0eb8\u0003\u0002\u0002\u0002\u652f", + "\u6530\u0007U\u0002\u0002\u6530\u6531\u0007[\u0002\u0002\u6531\u6532", + "\u0007U\u0002\u0002\u6532\u6533\u0007a\u0002\u0002\u6533\u6534\u0007", + "Z\u0002\u0002\u6534\u6535\u0007S\u0002\u0002\u6535\u6536\u0007T\u0002", + "\u0002\u6536\u6537\u0007[\u0002\u0002\u6537\u6538\u0007X\u0002\u0002", + "\u6538\u6539\u0007C\u0002\u0002\u6539\u653a\u0007T\u0002\u0002\u653a", + "\u653b\u0007I\u0002\u0002\u653b\u653c\u0007G\u0002\u0002\u653c\u653d", + "\u0007V\u0002\u0002\u653d\u0eba\u0003\u0002\u0002\u0002\u653e\u653f", + "\u0007U\u0002\u0002\u653f\u6540\u0007[\u0002\u0002\u6540\u6541\u0007", + "U\u0002\u0002\u6541\u6542\u0007a\u0002\u0002\u6542\u6543\u0007Z\u0002", + "\u0002\u6543\u6544\u0007S\u0002\u0002\u6544\u6545\u0007T\u0002\u0002", + "\u6545\u6546\u0007[\u0002\u0002\u6546\u6547\u0007Y\u0002\u0002\u6547", + "\u6548\u0007T\u0002\u0002\u6548\u6549\u0007R\u0002\u0002\u6549\u0ebc", + "\u0003\u0002\u0002\u0002\u654a\u654b\u0007U\u0002\u0002\u654b\u654c", + "\u0007[\u0002\u0002\u654c\u654d\u0007U\u0002\u0002\u654d\u654e\u0007", + "a\u0002\u0002\u654e\u654f\u0007Z\u0002\u0002\u654f\u6550\u0007S\u0002", + "\u0002\u6550\u6551\u0007U\u0002\u0002\u6551\u6552\u0007G\u0002\u0002", + "\u6552\u6553\u0007S\u0002\u0002\u6553\u6554\u00074\u0002\u0002\u6554", + "\u6555\u0007E\u0002\u0002\u6555\u6556\u0007Q\u0002\u0002\u6556\u6557", + "\u0007P\u0002\u0002\u6557\u6558\u00076\u0002\u0002\u6558\u6559\u0007", + "Z\u0002\u0002\u6559\u655a\u0007E\u0002\u0002\u655a\u0ebe\u0003\u0002", + "\u0002\u0002\u655b\u655c\u0007U\u0002\u0002\u655c\u655d\u0007[\u0002", + "\u0002\u655d\u655e\u0007U\u0002\u0002\u655e\u655f\u0007a\u0002\u0002", + "\u655f\u6560\u0007Z\u0002\u0002\u6560\u6561\u0007S\u0002\u0002\u6561", + "\u6562\u0007U\u0002\u0002\u6562\u6563\u0007G\u0002\u0002\u6563\u6564", + "\u0007S\u0002\u0002\u6564\u6565\u00074\u0002\u0002\u6565\u6566\u0007", + "E\u0002\u0002\u6566\u6567\u0007Q\u0002\u0002\u6567\u6568\u0007P\u0002", + "\u0002\u6568\u0ec0\u0003\u0002\u0002\u0002\u6569\u656a\u0007U\u0002", + "\u0002\u656a\u656b\u0007[\u0002\u0002\u656b\u656c\u0007U\u0002\u0002", + "\u656c\u656d\u0007a\u0002\u0002\u656d\u656e\u0007Z\u0002\u0002\u656e", + "\u656f\u0007S\u0002\u0002\u656f\u6570\u0007U\u0002\u0002\u6570\u6571", + "\u0007G\u0002\u0002\u6571\u6572\u0007S\u0002\u0002\u6572\u6573\u0007", + "F\u0002\u0002\u6573\u6574\u0007G\u0002\u0002\u6574\u6575\u0007G\u0002", + "\u0002\u6575\u6576\u0007R\u0002\u0002\u6576\u6577\u0007G\u0002\u0002", + "\u6577\u6578\u0007S\u0002\u0002\u6578\u0ec2\u0003\u0002\u0002\u0002", + "\u6579\u657a\u0007U\u0002\u0002\u657a\u657b\u0007[\u0002\u0002\u657b", + "\u657c\u0007U\u0002\u0002\u657c\u657d\u0007a\u0002\u0002\u657d\u657e", + "\u0007Z\u0002\u0002\u657e\u657f\u0007S\u0002\u0002\u657f\u6580\u0007", + "U\u0002\u0002\u6580\u6581\u0007G\u0002\u0002\u6581\u6582\u0007S\u0002", + "\u0002\u6582\u6583\u0007K\u0002\u0002\u6583\u6584\u0007P\u0002\u0002", + "\u6584\u6585\u0007U\u0002\u0002\u6585\u6586\u0007D\u0002\u0002\u6586", + "\u0ec4\u0003\u0002\u0002\u0002\u6587\u6588\u0007U\u0002\u0002\u6588", + "\u6589\u0007[\u0002\u0002\u6589\u658a\u0007U\u0002\u0002\u658a\u658b", + "\u0007a\u0002\u0002\u658b\u658c\u0007Z\u0002\u0002\u658c\u658d\u0007", + "S\u0002\u0002\u658d\u658e\u0007U\u0002\u0002\u658e\u658f\u0007G\u0002", + "\u0002\u658f\u6590\u0007S\u0002\u0002\u6590\u6591\u0007T\u0002\u0002", + "\u6591\u6592\u0007O\u0002\u0002\u6592\u0ec6\u0003\u0002\u0002\u0002", + "\u6593\u6594\u0007U\u0002\u0002\u6594\u6595\u0007[\u0002\u0002\u6595", + "\u6596\u0007U\u0002\u0002\u6596\u6597\u0007a\u0002\u0002\u6597\u6598", + "\u0007Z\u0002\u0002\u6598\u6599\u0007S\u0002\u0002\u6599\u659a\u0007", + "U\u0002\u0002\u659a\u659b\u0007G\u0002\u0002\u659b\u659c\u0007S\u0002", + "\u0002\u659c\u659d\u0007T\u0002\u0002\u659d\u659e\u0007X\u0002\u0002", + "\u659e\u659f\u0007U\u0002\u0002\u659f\u0ec8\u0003\u0002\u0002\u0002", + "\u65a0\u65a1\u0007U\u0002\u0002\u65a1\u65a2\u0007[\u0002\u0002\u65a2", + "\u65a3\u0007U\u0002\u0002\u65a3\u65a4\u0007a\u0002\u0002\u65a4\u65a5", + "\u0007Z\u0002\u0002\u65a5\u65a6\u0007S\u0002\u0002\u65a6\u65a7\u0007", + "U\u0002\u0002\u65a7\u65a8\u0007G\u0002\u0002\u65a8\u65a9\u0007S\u0002", + "\u0002\u65a9\u65aa\u0007U\u0002\u0002\u65aa\u65ab\u0007W\u0002\u0002", + "\u65ab\u65ac\u0007D\u0002\u0002\u65ac\u0eca\u0003\u0002\u0002\u0002", + "\u65ad\u65ae\u0007U\u0002\u0002\u65ae\u65af\u0007[\u0002\u0002\u65af", + "\u65b0\u0007U\u0002\u0002\u65b0\u65b1\u0007a\u0002\u0002\u65b1\u65b2", + "\u0007Z\u0002\u0002\u65b2\u65b3\u0007S\u0002\u0002\u65b3\u65b4\u0007", + "U\u0002\u0002\u65b4\u65b5\u0007G\u0002\u0002\u65b5\u65b6\u0007S\u0002", + "\u0002\u65b6\u65b7\u0007V\u0002\u0002\u65b7\u65b8\u0007[\u0002\u0002", + "\u65b8\u65b9\u0007R\u0002\u0002\u65b9\u65ba\u0007O\u0002\u0002\u65ba", + "\u65bb\u0007C\u0002\u0002\u65bb\u65bc\u0007V\u0002\u0002\u65bc\u65bd", + "\u0007E\u0002\u0002\u65bd\u65be\u0007J\u0002\u0002\u65be\u0ecc\u0003", + "\u0002\u0002\u0002\u65bf\u65c0\u0007U\u0002\u0002\u65c0\u65c1\u0007", + "[\u0002\u0002\u65c1\u65c2\u0007U\u0002\u0002\u65c2\u65c3\u0007a\u0002", + "\u0002\u65c3\u65c4\u0007Z\u0002\u0002\u65c4\u65c5\u0007S\u0002\u0002", + "\u65c5\u65c6\u0007U\u0002\u0002\u65c6\u65c7\u0007V\u0002\u0002\u65c7", + "\u65c8\u0007C\u0002\u0002\u65c8\u65c9\u0007T\u0002\u0002\u65c9\u65ca", + "\u0007V\u0002\u0002\u65ca\u65cb\u0007U\u0002\u0002\u65cb\u65cc\u0007", + "Y\u0002\u0002\u65cc\u65cd\u0007K\u0002\u0002\u65cd\u65ce\u0007V\u0002", + "\u0002\u65ce\u65cf\u0007J\u0002\u0002\u65cf\u0ece\u0003\u0002\u0002", + "\u0002\u65d0\u65d1\u0007U\u0002\u0002\u65d1\u65d2\u0007[\u0002\u0002", + "\u65d2\u65d3\u0007U\u0002\u0002\u65d3\u65d4\u0007a\u0002\u0002\u65d4", + "\u65d5\u0007Z\u0002\u0002\u65d5\u65d6\u0007S\u0002\u0002\u65d6\u65d7", + "\u0007U\u0002\u0002\u65d7\u65d8\u0007V\u0002\u0002\u65d8\u65d9\u0007", + "C\u0002\u0002\u65d9\u65da\u0007V\u0002\u0002\u65da\u65db\u0007D\u0002", + "\u0002\u65db\u65dc\u0007W\u0002\u0002\u65dc\u65dd\u0007T\u0002\u0002", + "\u65dd\u65de\u0007K\u0002\u0002\u65de\u0ed0\u0003\u0002\u0002\u0002", + "\u65df\u65e0\u0007U\u0002\u0002\u65e0\u65e1\u0007[\u0002\u0002\u65e1", + "\u65e2\u0007U\u0002\u0002\u65e2\u65e3\u0007a\u0002\u0002\u65e3\u65e4", + "\u0007Z\u0002\u0002\u65e4\u65e5\u0007S\u0002\u0002\u65e5\u65e6\u0007", + "U\u0002\u0002\u65e6\u65e7\u0007V\u0002\u0002\u65e7\u65e8\u0007T\u0002", + "\u0002\u65e8\u65e9\u00074\u0002\u0002\u65e9\u65ea\u0007E\u0002\u0002", + "\u65ea\u65eb\u0007Q\u0002\u0002\u65eb\u65ec\u0007F\u0002\u0002\u65ec", + "\u65ed\u0007G\u0002\u0002\u65ed\u65ee\u0007R\u0002\u0002\u65ee\u0ed2", + "\u0003\u0002\u0002\u0002\u65ef\u65f0\u0007U\u0002\u0002\u65f0\u65f1", + "\u0007[\u0002\u0002\u65f1\u65f2\u0007U\u0002\u0002\u65f2\u65f3\u0007", + "a\u0002\u0002\u65f3\u65f4\u0007Z\u0002\u0002\u65f4\u65f5\u0007S\u0002", + "\u0002\u65f5\u65f6\u0007U\u0002\u0002\u65f6\u65f7\u0007V\u0002\u0002", + "\u65f7\u65f8\u0007T\u0002\u0002\u65f8\u65f9\u0007L\u0002\u0002\u65f9", + "\u65fa\u0007Q\u0002\u0002\u65fa\u65fb\u0007K\u0002\u0002\u65fb\u65fc", + "\u0007P\u0002\u0002\u65fc\u0ed4\u0003\u0002\u0002\u0002\u65fd\u65fe", + "\u0007U\u0002\u0002\u65fe\u65ff\u0007[\u0002\u0002\u65ff\u6600\u0007", + "U\u0002\u0002\u6600\u6601\u0007a\u0002\u0002\u6601\u6602\u0007Z\u0002", + "\u0002\u6602\u6603\u0007S\u0002\u0002\u6603\u6604\u0007U\u0002\u0002", + "\u6604\u6605\u0007W\u0002\u0002\u6605\u6606\u0007D\u0002\u0002\u6606", + "\u6607\u0007U\u0002\u0002\u6607\u6608\u0007V\u0002\u0002\u6608\u6609", + "\u0007T\u0002\u0002\u6609\u660a\u0007C\u0002\u0002\u660a\u660b\u0007", + "H\u0002\u0002\u660b\u660c\u0007V\u0002\u0002\u660c\u0ed6\u0003\u0002", + "\u0002\u0002\u660d\u660e\u0007U\u0002\u0002\u660e\u660f\u0007[\u0002", + "\u0002\u660f\u6610\u0007U\u0002\u0002\u6610\u6611\u0007a\u0002\u0002", + "\u6611\u6612\u0007Z\u0002\u0002\u6612\u6613\u0007S\u0002\u0002\u6613", + "\u6614\u0007U\u0002\u0002\u6614\u6615\u0007W\u0002\u0002\u6615\u6616", + "\u0007D\u0002\u0002\u6616\u6617\u0007U\u0002\u0002\u6617\u6618\u0007", + "V\u0002\u0002\u6618\u6619\u0007T\u0002\u0002\u6619\u661a\u0007D\u0002", + "\u0002\u661a\u661b\u0007G\u0002\u0002\u661b\u661c\u0007H\u0002\u0002", + "\u661c\u0ed8\u0003\u0002\u0002\u0002\u661d\u661e\u0007U\u0002\u0002", + "\u661e\u661f\u0007[\u0002\u0002\u661f\u6620\u0007U\u0002\u0002\u6620", + "\u6621\u0007a\u0002\u0002\u6621\u6622\u0007Z\u0002\u0002\u6622\u6623", + "\u0007S\u0002\u0002\u6623\u6624\u0007V\u0002\u0002\u6624\u6625\u0007", + "Q\u0002\u0002\u6625\u6626\u0007M\u0002\u0002\u6626\u6627\u0007G\u0002", + "\u0002\u6627\u6628\u0007P\u0002\u0002\u6628\u6629\u0007K\u0002\u0002", + "\u6629\u662a\u0007\\\u0002\u0002\u662a\u662b\u0007G\u0002\u0002\u662b", + "\u0eda\u0003\u0002\u0002\u0002\u662c\u662d\u0007U\u0002\u0002\u662d", + "\u662e\u0007[\u0002\u0002\u662e\u662f\u0007U\u0002\u0002\u662f\u6630", + "\u0007a\u0002\u0002\u6630\u6631\u0007Z\u0002\u0002\u6631\u6632\u0007", + "S\u0002\u0002\u6632\u6633\u0007V\u0002\u0002\u6633\u6634\u0007T\u0002", + "\u0002\u6634\u6635\u0007G\u0002\u0002\u6635\u6636\u0007C\u0002\u0002", + "\u6636\u6637\u0007V\u0002\u0002\u6637\u6638\u0007C\u0002\u0002\u6638", + "\u6639\u0007U\u0002\u0002\u6639\u0edc\u0003\u0002\u0002\u0002\u663a", + "\u663b\u0007U\u0002\u0002\u663b\u663c\u0007[\u0002\u0002\u663c\u663d", + "\u0007U\u0002\u0002\u663d\u663e\u0007a\u0002\u0002\u663e\u663f\u0007", + "Z\u0002\u0002\u663f\u6640\u0007S\u0002\u0002\u6640\u6641\u0007a\u0002", + "\u0002\u6641\u6642\u0007W\u0002\u0002\u6642\u6643\u0007R\u0002\u0002", + "\u6643\u6644\u0007M\u0002\u0002\u6644\u6645\u0007Z\u0002\u0002\u6645", + "\u6646\u0007O\u0002\u0002\u6646\u6647\u0007N\u0002\u0002\u6647\u6648", + "\u00074\u0002\u0002\u6648\u6649\u0007U\u0002\u0002\u6649\u664a\u0007", + "S\u0002\u0002\u664a\u664b\u0007N\u0002\u0002\u664b\u0ede\u0003\u0002", + "\u0002\u0002\u664c\u664d\u0007U\u0002\u0002\u664d\u664e\u0007[\u0002", + "\u0002\u664e\u664f\u0007U\u0002\u0002\u664f\u6650\u0007a\u0002\u0002", + "\u6650\u6651\u0007Z\u0002\u0002\u6651\u6652\u0007S\u0002\u0002\u6652", + "\u6653\u0007Z\u0002\u0002\u6653\u6654\u0007H\u0002\u0002\u6654\u6655", + "\u0007Q\u0002\u0002\u6655\u6656\u0007T\u0002\u0002\u6656\u6657\u0007", + "O\u0002\u0002\u6657\u0ee0\u0003\u0002\u0002\u0002\u6658\u6659\u0007", + "U\u0002\u0002\u6659\u665a\u0007[\u0002\u0002\u665a\u665b\u0007U\u0002", + "\u0002\u665b\u665c\u0007a\u0002\u0002\u665c\u665d\u0007Z\u0002\u0002", + "\u665d\u665e\u0007U\u0002\u0002\u665e\u665f\u0007K\u0002\u0002\u665f", + "\u6660\u0007F\u0002\u0002\u6660\u6661\u0007a\u0002\u0002\u6661\u6662", + "\u0007V\u0002\u0002\u6662\u6663\u0007Q\u0002\u0002\u6663\u6664\u0007", + "a\u0002\u0002\u6664\u6665\u0007T\u0002\u0002\u6665\u6666\u0007C\u0002", + "\u0002\u6666\u6667\u0007Y\u0002\u0002\u6667\u0ee2\u0003\u0002\u0002", + "\u0002\u6668\u6669\u0007U\u0002\u0002\u6669\u666a\u0007[\u0002\u0002", + "\u666a\u666b\u0007U\u0002\u0002\u666b\u666c\u0007a\u0002\u0002\u666c", + "\u666d\u0007\\\u0002\u0002\u666d\u666e\u0007O\u0002\u0002\u666e\u666f", + "\u0007C\u0002\u0002\u666f\u6670\u0007R\u0002\u0002\u6670\u6671\u0007", + "a\u0002\u0002\u6671\u6672\u0007H\u0002\u0002\u6672\u6673\u0007K\u0002", + "\u0002\u6673\u6674\u0007N\u0002\u0002\u6674\u6675\u0007V\u0002\u0002", + "\u6675\u6676\u0007G\u0002\u0002\u6676\u6677\u0007T\u0002\u0002\u6677", + "\u0ee4\u0003\u0002\u0002\u0002\u6678\u6679\u0007U\u0002\u0002\u6679", + "\u667a\u0007[\u0002\u0002\u667a\u667b\u0007U\u0002\u0002\u667b\u667c", + "\u0007a\u0002\u0002\u667c\u667d\u0007\\\u0002\u0002\u667d\u667e\u0007", + "O\u0002\u0002\u667e\u667f\u0007C\u0002\u0002\u667f\u6680\u0007R\u0002", + "\u0002\u6680\u6681\u0007a\u0002\u0002\u6681\u6682\u0007T\u0002\u0002", + "\u6682\u6683\u0007G\u0002\u0002\u6683\u6684\u0007H\u0002\u0002\u6684", + "\u6685\u0007T\u0002\u0002\u6685\u6686\u0007G\u0002\u0002\u6686\u6687", + "\u0007U\u0002\u0002\u6687\u6688\u0007J\u0002\u0002\u6688\u0ee6\u0003", + "\u0002\u0002\u0002\u6689\u668a\u0007V\u0002\u0002\u668a\u668b\u0007", + "C\u0002\u0002\u668b\u668c\u0007D\u0002\u0002\u668c\u668d\u0007N\u0002", + "\u0002\u668d\u668e\u0007G\u0002\u0002\u668e\u668f\u0007a\u0002\u0002", + "\u668f\u6690\u0007N\u0002\u0002\u6690\u6691\u0007Q\u0002\u0002\u6691", + "\u6692\u0007Q\u0002\u0002\u6692\u6693\u0007M\u0002\u0002\u6693\u6694", + "\u0007W\u0002\u0002\u6694\u6695\u0007R\u0002\u0002\u6695\u6696\u0007", + "a\u0002\u0002\u6696\u6697\u0007D\u0002\u0002\u6697\u6698\u0007[\u0002", + "\u0002\u6698\u6699\u0007a\u0002\u0002\u6699\u669a\u0007P\u0002\u0002", + "\u669a\u669b\u0007N\u0002\u0002\u669b\u0ee8\u0003\u0002\u0002\u0002", + "\u669c\u669d\u0007V\u0002\u0002\u669d\u669e\u0007C\u0002\u0002\u669e", + "\u669f\u0007D\u0002\u0002\u669f\u66a0\u0007N\u0002\u0002\u66a0\u66a1", + "\u0007G\u0002\u0002\u66a1\u66a2\u0007U\u0002\u0002\u66a2\u66a3\u0007", + "R\u0002\u0002\u66a3\u66a4\u0007C\u0002\u0002\u66a4\u66a5\u0007E\u0002", + "\u0002\u66a5\u66a6\u0007G\u0002\u0002\u66a6\u66a7\u0007a\u0002\u0002", + "\u66a7\u66a8\u0007P\u0002\u0002\u66a8\u66a9\u0007Q\u0002\u0002\u66a9", + "\u0eea\u0003\u0002\u0002\u0002\u66aa\u66ab\u0007V\u0002\u0002\u66ab", + "\u66ac\u0007C\u0002\u0002\u66ac\u66ad\u0007D\u0002\u0002\u66ad\u66ae", + "\u0007N\u0002\u0002\u66ae\u66af\u0007G\u0002\u0002\u66af\u66b0\u0007", + "U\u0002\u0002\u66b0\u66b1\u0007R\u0002\u0002\u66b1\u66b2\u0007C\u0002", + "\u0002\u66b2\u66b3\u0007E\u0002\u0002\u66b3\u66b4\u0007G\u0002\u0002", + "\u66b4\u0eec\u0003\u0002\u0002\u0002\u66b5\u66b6\u0007V\u0002\u0002", + "\u66b6\u66b7\u0007C\u0002\u0002\u66b7\u66b8\u0007D\u0002\u0002\u66b8", + "\u66b9\u0007N\u0002\u0002\u66b9\u66ba\u0007G\u0002\u0002\u66ba\u66bb", + "\u0007U\u0002\u0002\u66bb\u0eee\u0003\u0002\u0002\u0002\u66bc\u66bd", + "\u0007V\u0002\u0002\u66bd\u66be\u0007C\u0002\u0002\u66be\u66bf\u0007", + "D\u0002\u0002\u66bf\u66c0\u0007N\u0002\u0002\u66c0\u66c1\u0007G\u0002", + "\u0002\u66c1\u66c2\u0007a\u0002\u0002\u66c2\u66c3\u0007U\u0002\u0002", + "\u66c3\u66c4\u0007V\u0002\u0002\u66c4\u66c5\u0007C\u0002\u0002\u66c5", + "\u66c6\u0007V\u0002\u0002\u66c6\u66c7\u0007U\u0002\u0002\u66c7\u0ef0", + "\u0003\u0002\u0002\u0002\u66c8\u66c9\u0007V\u0002\u0002\u66c9\u66ca", + "\u0007C\u0002\u0002\u66ca\u66cb\u0007D\u0002\u0002\u66cb\u66cc\u0007", + "N\u0002\u0002\u66cc\u66cd\u0007G\u0002\u0002\u66cd\u0ef2\u0003\u0002", + "\u0002\u0002\u66ce\u66cf\u0007V\u0002\u0002\u66cf\u66d0\u0007C\u0002", + "\u0002\u66d0\u66d1\u0007D\u0002\u0002\u66d1\u66d2\u0007P\u0002\u0002", + "\u66d2\u66d3\u0007Q\u0002\u0002\u66d3\u0ef4\u0003\u0002\u0002\u0002", + "\u66d4\u66d5\u0007V\u0002\u0002\u66d5\u66d6\u0007C\u0002\u0002\u66d6", + "\u66d7\u0007I\u0002\u0002\u66d7\u0ef6\u0003\u0002\u0002\u0002\u66d8", + "\u66d9\u0007V\u0002\u0002\u66d9\u66da\u0007C\u0002\u0002\u66da\u66db", + "\u0007P\u0002\u0002\u66db\u66dc\u0007J\u0002\u0002\u66dc\u0ef8\u0003", + "\u0002\u0002\u0002\u66dd\u66de\u0007V\u0002\u0002\u66de\u66df\u0007", + "C\u0002\u0002\u66df\u66e0\u0007P\u0002\u0002\u66e0\u0efa\u0003\u0002", + "\u0002\u0002\u66e1\u66e2\u0007V\u0002\u0002\u66e2\u66e3\u0007D\u0002", + "\u0002\u66e3\u66e4\u0007N\u0002\u0002\u66e4\u66e5\u0007&\u0002\u0002", + "\u66e5\u66e6\u0007Q\u0002\u0002\u66e6\u66e7\u0007T\u0002\u0002\u66e7", + "\u66e8\u0007&\u0002\u0002\u66e8\u66e9\u0007K\u0002\u0002\u66e9\u66ea", + "\u0007F\u0002\u0002\u66ea\u66eb\u0007Z\u0002\u0002\u66eb\u66ec\u0007", + "&\u0002\u0002\u66ec\u66ed\u0007R\u0002\u0002\u66ed\u66ee\u0007C\u0002", + "\u0002\u66ee\u66ef\u0007T\u0002\u0002\u66ef\u66f0\u0007V\u0002\u0002", + "\u66f0\u66f1\u0007&\u0002\u0002\u66f1\u66f2\u0007P\u0002\u0002\u66f2", + "\u66f3\u0007W\u0002\u0002\u66f3\u66f4\u0007O\u0002\u0002\u66f4\u0efc", + "\u0003\u0002\u0002\u0002\u66f5\u66f6\u0007V\u0002\u0002\u66f6\u66f7", + "\u0007G\u0002\u0002\u66f7\u66f8\u0007O\u0002\u0002\u66f8\u66f9\u0007", + "R\u0002\u0002\u66f9\u66fa\u0007H\u0002\u0002\u66fa\u66fb\u0007K\u0002", + "\u0002\u66fb\u66fc\u0007N\u0002\u0002\u66fc\u66fd\u0007G\u0002\u0002", + "\u66fd\u0efe\u0003\u0002\u0002\u0002\u66fe\u66ff\u0007V\u0002\u0002", + "\u66ff\u6700\u0007G\u0002\u0002\u6700\u6701\u0007O\u0002\u0002\u6701", + "\u6702\u0007R\u0002\u0002\u6702\u6703\u0007N\u0002\u0002\u6703\u6704", + "\u0007C\u0002\u0002\u6704\u6705\u0007V\u0002\u0002\u6705\u6706\u0007", + "G\u0002\u0002\u6706\u0f00\u0003\u0002\u0002\u0002\u6707\u6708\u0007", + "V\u0002\u0002\u6708\u6709\u0007G\u0002\u0002\u6709\u670a\u0007O\u0002", + "\u0002\u670a\u670b\u0007R\u0002\u0002\u670b\u670c\u0007Q\u0002\u0002", + "\u670c\u670d\u0007T\u0002\u0002\u670d\u670e\u0007C\u0002\u0002\u670e", + "\u670f\u0007T\u0002\u0002\u670f\u6710\u0007[\u0002\u0002\u6710\u0f02", + "\u0003\u0002\u0002\u0002\u6711\u6712\u0007V\u0002\u0002\u6712\u6713", + "\u0007G\u0002\u0002\u6713\u6714\u0007O\u0002\u0002\u6714\u6715\u0007", + "R\u0002\u0002\u6715\u6716\u0007a\u0002\u0002\u6716\u6717\u0007V\u0002", + "\u0002\u6717\u6718\u0007C\u0002\u0002\u6718\u6719\u0007D\u0002\u0002", + "\u6719\u671a\u0007N\u0002\u0002\u671a\u671b\u0007G\u0002\u0002\u671b", + "\u0f04\u0003\u0002\u0002\u0002\u671c\u671d\u0007V\u0002\u0002\u671d", + "\u671e\u0007G\u0002\u0002\u671e\u671f\u0007U\u0002\u0002\u671f\u6720", + "\u0007V\u0002\u0002\u6720\u0f06\u0003\u0002\u0002\u0002\u6721\u6722", + "\u0007V\u0002\u0002\u6722\u6723\u0007G\u0002\u0002\u6723\u6724\u0007", + "Z\u0002\u0002\u6724\u6725\u0007V\u0002\u0002\u6725\u0f08\u0003\u0002", + "\u0002\u0002\u6726\u6727\u0007V\u0002\u0002\u6727\u6728\u0007J\u0002", + "\u0002\u6728\u6729\u0007C\u0002\u0002\u6729\u672a\u0007P\u0002\u0002", + "\u672a\u0f0a\u0003\u0002\u0002\u0002\u672b\u672c\u0007V\u0002\u0002", + "\u672c\u672d\u0007J\u0002\u0002\u672d\u672e\u0007G\u0002\u0002\u672e", + "\u672f\u0007P\u0002\u0002\u672f\u0f0c\u0003\u0002\u0002\u0002\u6730", + "\u6731\u0007V\u0002\u0002\u6731\u6732\u0007J\u0002\u0002\u6732\u6733", + "\u0007G\u0002\u0002\u6733\u0f0e\u0003\u0002\u0002\u0002\u6734\u6735", + "\u0007V\u0002\u0002\u6735\u6736\u0007J\u0002\u0002\u6736\u6737\u0007", + "T\u0002\u0002\u6737\u6738\u0007G\u0002\u0002\u6738\u6739\u0007C\u0002", + "\u0002\u6739\u673a\u0007F\u0002\u0002\u673a\u0f10\u0003\u0002\u0002", + "\u0002\u673b\u673c\u0007V\u0002\u0002\u673c\u673d\u0007J\u0002\u0002", + "\u673d\u673e\u0007T\u0002\u0002\u673e\u673f\u0007Q\u0002\u0002\u673f", + "\u6740\u0007W\u0002\u0002\u6740\u6741\u0007I\u0002\u0002\u6741\u6742", + "\u0007J\u0002\u0002\u6742\u0f12\u0003\u0002\u0002\u0002\u6743\u6744", + "\u0007V\u0002\u0002\u6744\u6745\u0007K\u0002\u0002\u6745\u6746\u0007", + "G\u0002\u0002\u6746\u6747\u0007T\u0002\u0002\u6747\u0f14\u0003\u0002", + "\u0002\u0002\u6748\u6749\u0007V\u0002\u0002\u6749\u674a\u0007K\u0002", + "\u0002\u674a\u674b\u0007G\u0002\u0002\u674b\u674c\u0007U\u0002\u0002", + "\u674c\u0f16\u0003\u0002\u0002\u0002\u674d\u674e\u0007V\u0002\u0002", + "\u674e\u674f\u0007K\u0002\u0002\u674f\u6750\u0007O\u0002\u0002\u6750", + "\u6751\u0007G\u0002\u0002\u6751\u6752\u0007Q\u0002\u0002\u6752\u6753", + "\u0007W\u0002\u0002\u6753\u6754\u0007V\u0002\u0002\u6754\u0f18\u0003", + "\u0002\u0002\u0002\u6755\u6756\u0007V\u0002\u0002\u6756\u6757\u0007", + "K\u0002\u0002\u6757\u6758\u0007O\u0002\u0002\u6758\u6759\u0007G\u0002", + "\u0002\u6759\u675a\u0007U\u0002\u0002\u675a\u675b\u0007V\u0002\u0002", + "\u675b\u675c\u0007C\u0002\u0002\u675c\u675d\u0007O\u0002\u0002\u675d", + "\u675e\u0007R\u0002\u0002\u675e\u675f\u0007a\u0002\u0002\u675f\u6760", + "\u0007N\u0002\u0002\u6760\u6761\u0007V\u0002\u0002\u6761\u6762\u0007", + "\\\u0002\u0002\u6762\u6763\u0007a\u0002\u0002\u6763\u6764\u0007W\u0002", + "\u0002\u6764\u6765\u0007P\u0002\u0002\u6765\u6766\u0007E\u0002\u0002", + "\u6766\u6767\u0007Q\u0002\u0002\u6767\u6768\u0007P\u0002\u0002\u6768", + "\u6769\u0007U\u0002\u0002\u6769\u676a\u0007V\u0002\u0002\u676a\u676b", + "\u0007T\u0002\u0002\u676b\u676c\u0007C\u0002\u0002\u676c\u676d\u0007", + "K\u0002\u0002\u676d\u676e\u0007P\u0002\u0002\u676e\u676f\u0007G\u0002", + "\u0002\u676f\u6770\u0007F\u0002\u0002\u6770\u0f1a\u0003\u0002\u0002", + "\u0002\u6771\u6772\u0007V\u0002\u0002\u6772\u6773\u0007K\u0002\u0002", + "\u6773\u6774\u0007O\u0002\u0002\u6774\u6775\u0007G\u0002\u0002\u6775", + "\u6776\u0007U\u0002\u0002\u6776\u6777\u0007V\u0002\u0002\u6777\u6778", + "\u0007C\u0002\u0002\u6778\u6779\u0007O\u0002\u0002\u6779\u677a\u0007", + "R\u0002\u0002\u677a\u0f1c\u0003\u0002\u0002\u0002\u677b\u677c\u0007", + "V\u0002\u0002\u677c\u677d\u0007K\u0002\u0002\u677d\u677e\u0007O\u0002", + "\u0002\u677e\u677f\u0007G\u0002\u0002\u677f\u6780\u0007U\u0002\u0002", + "\u6780\u6781\u0007V\u0002\u0002\u6781\u6782\u0007C\u0002\u0002\u6782", + "\u6783\u0007O\u0002\u0002\u6783\u6784\u0007R\u0002\u0002\u6784\u6785", + "\u0007a\u0002\u0002\u6785\u6786\u0007V\u0002\u0002\u6786\u6787\u0007", + "\\\u0002\u0002\u6787\u6788\u0007a\u0002\u0002\u6788\u6789\u0007W\u0002", + "\u0002\u6789\u678a\u0007P\u0002\u0002\u678a\u678b\u0007E\u0002\u0002", + "\u678b\u678c\u0007Q\u0002\u0002\u678c\u678d\u0007P\u0002\u0002\u678d", + "\u678e\u0007U\u0002\u0002\u678e\u678f\u0007V\u0002\u0002\u678f\u6790", + "\u0007T\u0002\u0002\u6790\u6791\u0007C\u0002\u0002\u6791\u6792\u0007", + "K\u0002\u0002\u6792\u6793\u0007P\u0002\u0002\u6793\u6794\u0007G\u0002", + "\u0002\u6794\u6795\u0007F\u0002\u0002\u6795\u0f1e\u0003\u0002\u0002", + "\u0002\u6796\u6797\u0007V\u0002\u0002\u6797\u6798\u0007K\u0002\u0002", + "\u6798\u6799\u0007O\u0002\u0002\u6799\u679a\u0007G\u0002\u0002\u679a", + "\u679b\u0007U\u0002\u0002\u679b\u679c\u0007V\u0002\u0002\u679c\u679d", + "\u0007C\u0002\u0002\u679d\u679e\u0007O\u0002\u0002\u679e\u679f\u0007", + "R\u0002\u0002\u679f\u67a0\u0007a\u0002\u0002\u67a0\u67a1\u0007W\u0002", + "\u0002\u67a1\u67a2\u0007P\u0002\u0002\u67a2\u67a3\u0007E\u0002\u0002", + "\u67a3\u67a4\u0007Q\u0002\u0002\u67a4\u67a5\u0007P\u0002\u0002\u67a5", + "\u67a6\u0007U\u0002\u0002\u67a6\u67a7\u0007V\u0002\u0002\u67a7\u67a8", + "\u0007T\u0002\u0002\u67a8\u67a9\u0007C\u0002\u0002\u67a9\u67aa\u0007", + "K\u0002\u0002\u67aa\u67ab\u0007P\u0002\u0002\u67ab\u67ac\u0007G\u0002", + "\u0002\u67ac\u67ad\u0007F\u0002\u0002\u67ad\u0f20\u0003\u0002\u0002", + "\u0002\u67ae\u67af\u0007V\u0002\u0002\u67af\u67b0\u0007K\u0002\u0002", + "\u67b0\u67b1\u0007O\u0002\u0002\u67b1\u67b2\u0007G\u0002\u0002\u67b2", + "\u67b3\u0007U\u0002\u0002\u67b3\u0f22\u0003\u0002\u0002\u0002\u67b4", + "\u67b5\u0007V\u0002\u0002\u67b5\u67b6\u0007K\u0002\u0002\u67b6\u67b7", + "\u0007O\u0002\u0002\u67b7\u67b8\u0007G\u0002\u0002\u67b8\u0f24\u0003", + "\u0002\u0002\u0002\u67b9\u67ba\u0007V\u0002\u0002\u67ba\u67bb\u0007", + "K\u0002\u0002\u67bb\u67bc\u0007O\u0002\u0002\u67bc\u67bd\u0007G\u0002", + "\u0002\u67bd\u67be\u0007\\\u0002\u0002\u67be\u67bf\u0007Q\u0002\u0002", + "\u67bf\u67c0\u0007P\u0002\u0002\u67c0\u67c1\u0007G\u0002\u0002\u67c1", + "\u0f26\u0003\u0002\u0002\u0002\u67c2\u67c3\u0007V\u0002\u0002\u67c3", + "\u67c4\u0007K\u0002\u0002\u67c4\u67c5\u0007O\u0002\u0002\u67c5\u67c6", + "\u0007G\u0002\u0002\u67c6\u67c7\u0007\\\u0002\u0002\u67c7\u67c8\u0007", + "Q\u0002\u0002\u67c8\u67c9\u0007P\u0002\u0002\u67c9\u67ca\u0007G\u0002", + "\u0002\u67ca\u67cb\u0007a\u0002\u0002\u67cb\u67cc\u0007C\u0002\u0002", + "\u67cc\u67cd\u0007D\u0002\u0002\u67cd\u67ce\u0007D\u0002\u0002\u67ce", + "\u67cf\u0007T\u0002\u0002\u67cf\u0f28\u0003\u0002\u0002\u0002\u67d0", + "\u67d1\u0007V\u0002\u0002\u67d1\u67d2\u0007K\u0002\u0002\u67d2\u67d3", + "\u0007O\u0002\u0002\u67d3\u67d4\u0007G\u0002\u0002\u67d4\u67d5\u0007", + "\\\u0002\u0002\u67d5\u67d6\u0007Q\u0002\u0002\u67d6\u67d7\u0007P\u0002", + "\u0002\u67d7\u67d8\u0007G\u0002\u0002\u67d8\u67d9\u0007a\u0002\u0002", + "\u67d9\u67da\u0007J\u0002\u0002\u67da\u67db\u0007Q\u0002\u0002\u67db", + "\u67dc\u0007W\u0002\u0002\u67dc\u67dd\u0007T\u0002\u0002\u67dd\u0f2a", + "\u0003\u0002\u0002\u0002\u67de\u67df\u0007V\u0002\u0002\u67df\u67e0", + "\u0007K\u0002\u0002\u67e0\u67e1\u0007O\u0002\u0002\u67e1\u67e2\u0007", + "G\u0002\u0002\u67e2\u67e3\u0007\\\u0002\u0002\u67e3\u67e4\u0007Q\u0002", + "\u0002\u67e4\u67e5\u0007P\u0002\u0002\u67e5\u67e6\u0007G\u0002\u0002", + "\u67e6\u67e7\u0007a\u0002\u0002\u67e7\u67e8\u0007O\u0002\u0002\u67e8", + "\u67e9\u0007K\u0002\u0002\u67e9\u67ea\u0007P\u0002\u0002\u67ea\u67eb", + "\u0007W\u0002\u0002\u67eb\u67ec\u0007V\u0002\u0002\u67ec\u67ed\u0007", + "G\u0002\u0002\u67ed\u0f2c\u0003\u0002\u0002\u0002\u67ee\u67ef\u0007", + "V\u0002\u0002\u67ef\u67f0\u0007K\u0002\u0002\u67f0\u67f1\u0007O\u0002", + "\u0002\u67f1\u67f2\u0007G\u0002\u0002\u67f2\u67f3\u0007\\\u0002\u0002", + "\u67f3\u67f4\u0007Q\u0002\u0002\u67f4\u67f5\u0007P\u0002\u0002\u67f5", + "\u67f6\u0007G\u0002\u0002\u67f6\u67f7\u0007a\u0002\u0002\u67f7\u67f8", + "\u0007Q\u0002\u0002\u67f8\u67f9\u0007H\u0002\u0002\u67f9\u67fa\u0007", + "H\u0002\u0002\u67fa\u67fb\u0007U\u0002\u0002\u67fb\u67fc\u0007G\u0002", + "\u0002\u67fc\u67fd\u0007V\u0002\u0002\u67fd\u0f2e\u0003\u0002\u0002", + "\u0002\u67fe\u67ff\u0007V\u0002\u0002\u67ff\u6800\u0007K\u0002\u0002", + "\u6800\u6801\u0007O\u0002\u0002\u6801\u6802\u0007G\u0002\u0002\u6802", + "\u6803\u0007\\\u0002\u0002\u6803\u6804\u0007Q\u0002\u0002\u6804\u6805", + "\u0007P\u0002\u0002\u6805\u6806\u0007G\u0002\u0002\u6806\u6807\u0007", + "a\u0002\u0002\u6807\u6808\u0007T\u0002\u0002\u6808\u6809\u0007G\u0002", + "\u0002\u6809\u680a\u0007I\u0002\u0002\u680a\u680b\u0007K\u0002\u0002", + "\u680b\u680c\u0007Q\u0002\u0002\u680c\u680d\u0007P\u0002\u0002\u680d", + "\u0f30\u0003\u0002\u0002\u0002\u680e\u680f\u0007V\u0002\u0002\u680f", + "\u6810\u0007K\u0002\u0002\u6810\u6811\u0007O\u0002\u0002\u6811\u6812", + "\u0007G\u0002\u0002\u6812\u6813\u0007a\u0002\u0002\u6813\u6814\u0007", + "\\\u0002\u0002\u6814\u6815\u0007Q\u0002\u0002\u6815\u6816\u0007P\u0002", + "\u0002\u6816\u6817\u0007G\u0002\u0002\u6817\u0f32\u0003\u0002\u0002", + "\u0002\u6818\u6819\u0007V\u0002\u0002\u6819\u681a\u0007K\u0002\u0002", + "\u681a\u681b\u0007X\u0002\u0002\u681b\u681c\u0007a\u0002\u0002\u681c", + "\u681d\u0007I\u0002\u0002\u681d\u681e\u0007D\u0002\u0002\u681e\u0f34", + "\u0003\u0002\u0002\u0002\u681f\u6820\u0007V\u0002\u0002\u6820\u6821", + "\u0007K\u0002\u0002\u6821\u6822\u0007X\u0002\u0002\u6822\u6823\u0007", + "a\u0002\u0002\u6823\u6824\u0007U\u0002\u0002\u6824\u6825\u0007U\u0002", + "\u0002\u6825\u6826\u0007H\u0002\u0002\u6826\u0f36\u0003\u0002\u0002", + "\u0002\u6827\u6828\u0007V\u0002\u0002\u6828\u6829\u0007Q\u0002\u0002", + "\u6829\u682a\u0007a\u0002\u0002\u682a\u682b\u0007C\u0002\u0002\u682b", + "\u682c\u0007E\u0002\u0002\u682c\u682d\u0007N\u0002\u0002\u682d\u682e", + "\u0007K\u0002\u0002\u682e\u682f\u0007F\u0002\u0002\u682f\u0f38\u0003", + "\u0002\u0002\u0002\u6830\u6831\u0007V\u0002\u0002\u6831\u6832\u0007", + "Q\u0002\u0002\u6832\u6833\u0007a\u0002\u0002\u6833\u6834\u0007D\u0002", + "\u0002\u6834\u6835\u0007K\u0002\u0002\u6835\u6836\u0007P\u0002\u0002", + "\u6836\u6837\u0007C\u0002\u0002\u6837\u6838\u0007T\u0002\u0002\u6838", + "\u6839\u0007[\u0002\u0002\u6839\u683a\u0007a\u0002\u0002\u683a\u683b", + "\u0007F\u0002\u0002\u683b\u683c\u0007Q\u0002\u0002\u683c\u683d\u0007", + "W\u0002\u0002\u683d\u683e\u0007D\u0002\u0002\u683e\u683f\u0007N\u0002", + "\u0002\u683f\u6840\u0007G\u0002\u0002\u6840\u0f3a\u0003\u0002\u0002", + "\u0002\u6841\u6842\u0007V\u0002\u0002\u6842\u6843\u0007Q\u0002\u0002", + "\u6843\u6844\u0007a\u0002\u0002\u6844\u6845\u0007D\u0002\u0002\u6845", + "\u6846\u0007K\u0002\u0002\u6846\u6847\u0007P\u0002\u0002\u6847\u6848", + "\u0007C\u0002\u0002\u6848\u6849\u0007T\u0002\u0002\u6849\u684a\u0007", + "[\u0002\u0002\u684a\u684b\u0007a\u0002\u0002\u684b\u684c\u0007H\u0002", + "\u0002\u684c\u684d\u0007N\u0002\u0002\u684d\u684e\u0007Q\u0002\u0002", + "\u684e\u684f\u0007C\u0002\u0002\u684f\u6850\u0007V\u0002\u0002\u6850", + "\u0f3c\u0003\u0002\u0002\u0002\u6851\u6852\u0007V\u0002\u0002\u6852", + "\u6853\u0007Q\u0002\u0002\u6853\u6854\u0007a\u0002\u0002\u6854\u6855", + "\u0007D\u0002\u0002\u6855\u6856\u0007N\u0002\u0002\u6856\u6857\u0007", + "Q\u0002\u0002\u6857\u6858\u0007D\u0002\u0002\u6858\u0f3e\u0003\u0002", + "\u0002\u0002\u6859\u685a\u0007V\u0002\u0002\u685a\u685b\u0007Q\u0002", + "\u0002\u685b\u685c\u0007a\u0002\u0002\u685c\u685d\u0007E\u0002\u0002", + "\u685d\u685e\u0007N\u0002\u0002\u685e\u685f\u0007Q\u0002\u0002\u685f", + "\u6860\u0007D\u0002\u0002\u6860\u0f40\u0003\u0002\u0002\u0002\u6861", + "\u6862\u0007V\u0002\u0002\u6862\u6863\u0007Q\u0002\u0002\u6863\u6864", + "\u0007a\u0002\u0002\u6864\u6865\u0007F\u0002\u0002\u6865\u6866\u0007", + "U\u0002\u0002\u6866\u6867\u0007K\u0002\u0002\u6867\u6868\u0007P\u0002", + "\u0002\u6868\u6869\u0007V\u0002\u0002\u6869\u686a\u0007G\u0002\u0002", + "\u686a\u686b\u0007T\u0002\u0002\u686b\u686c\u0007X\u0002\u0002\u686c", + "\u686d\u0007C\u0002\u0002\u686d\u686e\u0007N\u0002\u0002\u686e\u0f42", + "\u0003\u0002\u0002\u0002\u686f\u6870\u0007V\u0002\u0002\u6870\u6871", + "\u0007Q\u0002\u0002\u6871\u6872\u0007a\u0002\u0002\u6872\u6873\u0007", + "N\u0002\u0002\u6873\u6874\u0007Q\u0002\u0002\u6874\u6875\u0007D\u0002", + "\u0002\u6875\u0f44\u0003\u0002\u0002\u0002\u6876\u6877\u0007V\u0002", + "\u0002\u6877\u6878\u0007Q\u0002\u0002\u6878\u6879\u0007a\u0002\u0002", + "\u6879\u687a\u0007O\u0002\u0002\u687a\u687b\u0007W\u0002\u0002\u687b", + "\u687c\u0007N\u0002\u0002\u687c\u687d\u0007V\u0002\u0002\u687d\u687e", + "\u0007K\u0002\u0002\u687e\u687f\u0007a\u0002\u0002\u687f\u6880\u0007", + "D\u0002\u0002\u6880\u6881\u0007[\u0002\u0002\u6881\u6882\u0007V\u0002", + "\u0002\u6882\u6883\u0007G\u0002\u0002\u6883\u0f46\u0003\u0002\u0002", + "\u0002\u6884\u6885\u0007V\u0002\u0002\u6885\u6886\u0007Q\u0002\u0002", + "\u6886\u6887\u0007a\u0002\u0002\u6887\u6888\u0007P\u0002\u0002\u6888", + "\u6889\u0007E\u0002\u0002\u6889\u688a\u0007J\u0002\u0002\u688a\u688b", + "\u0007C\u0002\u0002\u688b\u688c\u0007T\u0002\u0002\u688c\u0f48\u0003", + "\u0002\u0002\u0002\u688d\u688e\u0007V\u0002\u0002\u688e\u688f\u0007", + "Q\u0002\u0002\u688f\u6890\u0007a\u0002\u0002\u6890\u6891\u0007P\u0002", + "\u0002\u6891\u6892\u0007E\u0002\u0002\u6892\u6893\u0007N\u0002\u0002", + "\u6893\u6894\u0007Q\u0002\u0002\u6894\u6895\u0007D\u0002\u0002\u6895", + "\u0f4a\u0003\u0002\u0002\u0002\u6896\u6897\u0007V\u0002\u0002\u6897", + "\u6898\u0007Q\u0002\u0002\u6898\u6899\u0007a\u0002\u0002\u6899\u689a", + "\u0007P\u0002\u0002\u689a\u689b\u0007W\u0002\u0002\u689b\u689c\u0007", + "O\u0002\u0002\u689c\u689d\u0007D\u0002\u0002\u689d\u689e\u0007G\u0002", + "\u0002\u689e\u689f\u0007T\u0002\u0002\u689f\u0f4c\u0003\u0002\u0002", + "\u0002\u68a0\u68a1\u0007V\u0002\u0002\u68a1\u68a2\u0007Q\u0002\u0002", + "\u68a2\u68a3\u0007R\u0002\u0002\u68a3\u68a4\u0007N\u0002\u0002\u68a4", + "\u68a5\u0007G\u0002\u0002\u68a5\u68a6\u0007X\u0002\u0002\u68a6\u68a7", + "\u0007G\u0002\u0002\u68a7\u68a8\u0007N\u0002\u0002\u68a8\u0f4e\u0003", + "\u0002\u0002\u0002\u68a9\u68aa\u0007V\u0002\u0002\u68aa\u68ab\u0007", + "Q\u0002\u0002\u68ab\u68ac\u0007a\u0002\u0002\u68ac\u68ad\u0007U\u0002", + "\u0002\u68ad\u68ae\u0007K\u0002\u0002\u68ae\u68af\u0007P\u0002\u0002", + "\u68af\u68b0\u0007I\u0002\u0002\u68b0\u68b1\u0007N\u0002\u0002\u68b1", + "\u68b2\u0007G\u0002\u0002\u68b2\u68b3\u0007a\u0002\u0002\u68b3\u68b4", + "\u0007D\u0002\u0002\u68b4\u68b5\u0007[\u0002\u0002\u68b5\u68b6\u0007", + "V\u0002\u0002\u68b6\u68b7\u0007G\u0002\u0002\u68b7\u0f50\u0003\u0002", + "\u0002\u0002\u68b8\u68b9\u0007V\u0002\u0002\u68b9\u68ba\u0007Q\u0002", + "\u0002\u68ba\u68bb\u0007a\u0002\u0002\u68bb\u68bc\u0007V\u0002\u0002", + "\u68bc\u68bd\u0007K\u0002\u0002\u68bd\u68be\u0007O\u0002\u0002\u68be", + "\u68bf\u0007G\u0002\u0002\u68bf\u68c0\u0007U\u0002\u0002\u68c0\u68c1", + "\u0007V\u0002\u0002\u68c1\u68c2\u0007C\u0002\u0002\u68c2\u68c3\u0007", + "O\u0002\u0002\u68c3\u68c4\u0007R\u0002\u0002\u68c4\u0f52\u0003\u0002", + "\u0002\u0002\u68c5\u68c6\u0007V\u0002\u0002\u68c6\u68c7\u0007Q\u0002", + "\u0002\u68c7\u68c8\u0007a\u0002\u0002\u68c8\u68c9\u0007V\u0002\u0002", + "\u68c9\u68ca\u0007K\u0002\u0002\u68ca\u68cb\u0007O\u0002\u0002\u68cb", + "\u68cc\u0007G\u0002\u0002\u68cc\u68cd\u0007U\u0002\u0002\u68cd\u68ce", + "\u0007V\u0002\u0002\u68ce\u68cf\u0007C\u0002\u0002\u68cf\u68d0\u0007", + "O\u0002\u0002\u68d0\u68d1\u0007R\u0002\u0002\u68d1\u68d2\u0007a\u0002", + "\u0002\u68d2\u68d3\u0007V\u0002\u0002\u68d3\u68d4\u0007\\\u0002\u0002", + "\u68d4\u0f54\u0003\u0002\u0002\u0002\u68d5\u68d6\u0007V\u0002\u0002", + "\u68d6\u68d7\u0007Q\u0002\u0002\u68d7\u68d8\u0007a\u0002\u0002\u68d8", + "\u68d9\u0007V\u0002\u0002\u68d9\u68da\u0007K\u0002\u0002\u68da\u68db", + "\u0007O\u0002\u0002\u68db\u68dc\u0007G\u0002\u0002\u68dc\u0f56\u0003", + "\u0002\u0002\u0002\u68dd\u68de\u0007V\u0002\u0002\u68de\u68df\u0007", + "Q\u0002\u0002\u68df\u68e0\u0007a\u0002\u0002\u68e0\u68e1\u0007V\u0002", + "\u0002\u68e1\u68e2\u0007K\u0002\u0002\u68e2\u68e3\u0007O\u0002\u0002", + "\u68e3\u68e4\u0007G\u0002\u0002\u68e4\u68e5\u0007a\u0002\u0002\u68e5", + "\u68e6\u0007V\u0002\u0002\u68e6\u68e7\u0007\\\u0002\u0002\u68e7\u0f58", + "\u0003\u0002\u0002\u0002\u68e8\u68e9\u0007V\u0002\u0002\u68e9\u68ea", + "\u0007Q\u0002\u0002\u68ea\u0f5a\u0003\u0002\u0002\u0002\u68eb\u68ec", + "\u0007V\u0002\u0002\u68ec\u68ed\u0007Q\u0002\u0002\u68ed\u68ee\u0007", + "a\u0002\u0002\u68ee\u68ef\u0007[\u0002\u0002\u68ef\u68f0\u0007O\u0002", + "\u0002\u68f0\u68f1\u0007K\u0002\u0002\u68f1\u68f2\u0007P\u0002\u0002", + "\u68f2\u68f3\u0007V\u0002\u0002\u68f3\u68f4\u0007G\u0002\u0002\u68f4", + "\u68f5\u0007T\u0002\u0002\u68f5\u68f6\u0007X\u0002\u0002\u68f6\u68f7", + "\u0007C\u0002\u0002\u68f7\u68f8\u0007N\u0002\u0002\u68f8\u0f5c\u0003", + "\u0002\u0002\u0002\u68f9\u68fa\u0007V\u0002\u0002\u68fa\u68fb\u0007", + "T\u0002\u0002\u68fb\u68fc\u0007C\u0002\u0002\u68fc\u68fd\u0007E\u0002", + "\u0002\u68fd\u68fe\u0007G\u0002\u0002\u68fe\u0f5e\u0003\u0002\u0002", + "\u0002\u68ff\u6900\u0007V\u0002\u0002\u6900\u6901\u0007T\u0002\u0002", + "\u6901\u6902\u0007C\u0002\u0002\u6902\u6903\u0007E\u0002\u0002\u6903", + "\u6904\u0007K\u0002\u0002\u6904\u6905\u0007P\u0002\u0002\u6905\u6906", + "\u0007I\u0002\u0002\u6906\u0f60\u0003\u0002\u0002\u0002\u6907\u6908", + "\u0007V\u0002\u0002\u6908\u6909\u0007T\u0002\u0002\u6909\u690a\u0007", + "C\u0002\u0002\u690a\u690b\u0007E\u0002\u0002\u690b\u690c\u0007M\u0002", + "\u0002\u690c\u690d\u0007K\u0002\u0002\u690d\u690e\u0007P\u0002\u0002", + "\u690e\u690f\u0007I\u0002\u0002\u690f\u0f62\u0003\u0002\u0002\u0002", + "\u6910\u6911\u0007V\u0002\u0002\u6911\u6912\u0007T\u0002\u0002\u6912", + "\u6913\u0007C\u0002\u0002\u6913\u6914\u0007K\u0002\u0002\u6914\u6915", + "\u0007N\u0002\u0002\u6915\u6916\u0007K\u0002\u0002\u6916\u6917\u0007", + "P\u0002\u0002\u6917\u6918\u0007I\u0002\u0002\u6918\u0f64\u0003\u0002", + "\u0002\u0002\u6919\u691a\u0007V\u0002\u0002\u691a\u691b\u0007T\u0002", + "\u0002\u691b\u691c\u0007C\u0002\u0002\u691c\u691d\u0007P\u0002\u0002", + "\u691d\u691e\u0007U\u0002\u0002\u691e\u691f\u0007C\u0002\u0002\u691f", + "\u6920\u0007E\u0002\u0002\u6920\u6921\u0007V\u0002\u0002\u6921\u6922", + "\u0007K\u0002\u0002\u6922\u6923\u0007Q\u0002\u0002\u6923\u6924\u0007", + "P\u0002\u0002\u6924\u0f66\u0003\u0002\u0002\u0002\u6925\u6926\u0007", + "V\u0002\u0002\u6926\u6927\u0007T\u0002\u0002\u6927\u6928\u0007C\u0002", + "\u0002\u6928\u6929\u0007P\u0002\u0002\u6929\u692a\u0007U\u0002\u0002", + "\u692a\u692b\u0007H\u0002\u0002\u692b\u692c\u0007Q\u0002\u0002\u692c", + "\u692d\u0007T\u0002\u0002\u692d\u692e\u0007O\u0002\u0002\u692e\u692f", + "\u0007a\u0002\u0002\u692f\u6930\u0007F\u0002\u0002\u6930\u6931\u0007", + "K\u0002\u0002\u6931\u6932\u0007U\u0002\u0002\u6932\u6933\u0007V\u0002", + "\u0002\u6933\u6934\u0007K\u0002\u0002\u6934\u6935\u0007P\u0002\u0002", + "\u6935\u6936\u0007E\u0002\u0002\u6936\u6937\u0007V\u0002\u0002\u6937", + "\u6938\u0007a\u0002\u0002\u6938\u6939\u0007C\u0002\u0002\u6939\u693a", + "\u0007I\u0002\u0002\u693a\u693b\u0007I\u0002\u0002\u693b\u0f68\u0003", + "\u0002\u0002\u0002\u693c\u693d\u0007V\u0002\u0002\u693d\u693e\u0007", + "T\u0002\u0002\u693e\u693f\u0007C\u0002\u0002\u693f\u6940\u0007P\u0002", + "\u0002\u6940\u6941\u0007U\u0002\u0002\u6941\u6942\u0007K\u0002\u0002", + "\u6942\u6943\u0007V\u0002\u0002\u6943\u6944\u0007K\u0002\u0002\u6944", + "\u6945\u0007Q\u0002\u0002\u6945\u6946\u0007P\u0002\u0002\u6946\u6947", + "\u0007C\u0002\u0002\u6947\u6948\u0007N\u0002\u0002\u6948\u0f6a\u0003", + "\u0002\u0002\u0002\u6949\u694a\u0007V\u0002\u0002\u694a\u694b\u0007", + "T\u0002\u0002\u694b\u694c\u0007C\u0002\u0002\u694c\u694d\u0007P\u0002", + "\u0002\u694d\u694e\u0007U\u0002\u0002\u694e\u694f\u0007K\u0002\u0002", + "\u694f\u6950\u0007V\u0002\u0002\u6950\u6951\u0007K\u0002\u0002\u6951", + "\u6952\u0007Q\u0002\u0002\u6952\u6953\u0007P\u0002\u0002\u6953\u0f6c", + "\u0003\u0002\u0002\u0002\u6954\u6955\u0007V\u0002\u0002\u6955\u6956", + "\u0007T\u0002\u0002\u6956\u6957\u0007C\u0002\u0002\u6957\u6958\u0007", + "P\u0002\u0002\u6958\u6959\u0007U\u0002\u0002\u6959\u695a\u0007N\u0002", + "\u0002\u695a\u695b\u0007C\u0002\u0002\u695b\u695c\u0007V\u0002\u0002", + "\u695c\u695d\u0007G\u0002\u0002\u695d\u0f6e\u0003\u0002\u0002\u0002", + "\u695e\u695f\u0007V\u0002\u0002\u695f\u6960\u0007T\u0002\u0002\u6960", + "\u6961\u0007C\u0002\u0002\u6961\u6962\u0007P\u0002\u0002\u6962\u6963", + "\u0007U\u0002\u0002\u6963\u6964\u0007N\u0002\u0002\u6964\u6965\u0007", + "C\u0002\u0002\u6965\u6966\u0007V\u0002\u0002\u6966\u6967\u0007K\u0002", + "\u0002\u6967\u6968\u0007Q\u0002\u0002\u6968\u6969\u0007P\u0002\u0002", + "\u6969\u0f70\u0003\u0002\u0002\u0002\u696a\u696b\u0007V\u0002\u0002", + "\u696b\u696c\u0007T\u0002\u0002\u696c\u696d\u0007G\u0002\u0002\u696d", + "\u696e\u0007C\u0002\u0002\u696e\u696f\u0007V\u0002\u0002\u696f\u0f72", + "\u0003\u0002\u0002\u0002\u6970\u6971\u0007V\u0002\u0002\u6971\u6972", + "\u0007T\u0002\u0002\u6972\u6973\u0007K\u0002\u0002\u6973\u6974\u0007", + "I\u0002\u0002\u6974\u6975\u0007I\u0002\u0002\u6975\u6976\u0007G\u0002", + "\u0002\u6976\u6977\u0007T\u0002\u0002\u6977\u6978\u0007U\u0002\u0002", + "\u6978\u0f74\u0003\u0002\u0002\u0002\u6979\u697a\u0007V\u0002\u0002", + "\u697a\u697b\u0007T\u0002\u0002\u697b\u697c\u0007K\u0002\u0002\u697c", + "\u697d\u0007I\u0002\u0002\u697d\u697e\u0007I\u0002\u0002\u697e\u697f", + "\u0007G\u0002\u0002\u697f\u6980\u0007T\u0002\u0002\u6980\u0f76\u0003", + "\u0002\u0002\u0002\u6981\u6982\u0007V\u0002\u0002\u6982\u6983\u0007", + "T\u0002\u0002\u6983\u6984\u0007W\u0002\u0002\u6984\u6985\u0007G\u0002", + "\u0002\u6985\u0f78\u0003\u0002\u0002\u0002\u6986\u6987\u0007V\u0002", + "\u0002\u6987\u6988\u0007T\u0002\u0002\u6988\u6989\u0007W\u0002\u0002", + "\u6989\u698a\u0007P\u0002\u0002\u698a\u698b\u0007E\u0002\u0002\u698b", + "\u698c\u0007C\u0002\u0002\u698c\u698d\u0007V\u0002\u0002\u698d\u698e", + "\u0007G\u0002\u0002\u698e\u0f7a\u0003\u0002\u0002\u0002\u698f\u6990", + "\u0007V\u0002\u0002\u6990\u6991\u0007T\u0002\u0002\u6991\u6992\u0007", + "W\u0002\u0002\u6992\u6993\u0007P\u0002\u0002\u6993\u6994\u0007E\u0002", + "\u0002\u6994\u0f7c\u0003\u0002\u0002\u0002\u6995\u6996\u0007V\u0002", + "\u0002\u6996\u6997\u0007T\u0002\u0002\u6997\u6998\u0007W\u0002\u0002", + "\u6998\u6999\u0007U\u0002\u0002\u6999\u699a\u0007V\u0002\u0002\u699a", + "\u699b\u0007G\u0002\u0002\u699b\u699c\u0007F\u0002\u0002\u699c\u0f7e", + "\u0003\u0002\u0002\u0002\u699d\u699e\u0007V\u0002\u0002\u699e\u699f", + "\u0007T\u0002\u0002\u699f\u69a0\u0007W\u0002\u0002\u69a0\u69a1\u0007", + "U\u0002\u0002\u69a1\u69a2\u0007V\u0002\u0002\u69a2\u0f80\u0003\u0002", + "\u0002\u0002\u69a3\u69a4\u0007V\u0002\u0002\u69a4\u69a5\u0007W\u0002", + "\u0002\u69a5\u69a6\u0007P\u0002\u0002\u69a6\u69a7\u0007K\u0002\u0002", + "\u69a7\u69a8\u0007P\u0002\u0002\u69a8\u69a9\u0007I\u0002\u0002\u69a9", + "\u0f82\u0003\u0002\u0002\u0002\u69aa\u69ab\u0007V\u0002\u0002\u69ab", + "\u69ac\u0007Z\u0002\u0002\u69ac\u0f84\u0003\u0002\u0002\u0002\u69ad", + "\u69ae\u0007V\u0002\u0002\u69ae\u69af\u0007[\u0002\u0002\u69af\u69b0", + "\u0007R\u0002\u0002\u69b0\u69b1\u0007G\u0002\u0002\u69b1\u69b2\u0007", + "U\u0002\u0002\u69b2\u0f86\u0003\u0002\u0002\u0002\u69b3\u69b4\u0007", + "V\u0002\u0002\u69b4\u69b5\u0007[\u0002\u0002\u69b5\u69b6\u0007R\u0002", + "\u0002\u69b6\u69b7\u0007G\u0002\u0002\u69b7\u0f88\u0003\u0002\u0002", + "\u0002\u69b8\u69b9\u0007V\u0002\u0002\u69b9\u69ba\u0007\\\u0002\u0002", + "\u69ba\u69bb\u0007a\u0002\u0002\u69bb\u69bc\u0007Q\u0002\u0002\u69bc", + "\u69bd\u0007H\u0002\u0002\u69bd\u69be\u0007H\u0002\u0002\u69be\u69bf", + "\u0007U\u0002\u0002\u69bf\u69c0\u0007G\u0002\u0002\u69c0\u69c1\u0007", + "V\u0002\u0002\u69c1\u0f8a\u0003\u0002\u0002\u0002\u69c2\u69c3\u0007", + "W\u0002\u0002\u69c3\u69c4\u0007D\u0002\u0002\u69c4\u69c5\u00074\u0002", + "\u0002\u69c5\u0f8c\u0003\u0002\u0002\u0002\u69c6\u69c7\u0007W\u0002", + "\u0002\u69c7\u69c8\u0007D\u0002\u0002\u69c8\u69c9\u0007C\u0002\u0002", + "\u69c9\u0f8e\u0003\u0002\u0002\u0002\u69ca\u69cb\u0007W\u0002\u0002", + "\u69cb\u69cc\u0007E\u0002\u0002\u69cc\u69cd\u0007U\u0002\u0002\u69cd", + "\u69ce\u00074\u0002\u0002\u69ce\u0f90\u0003\u0002\u0002\u0002\u69cf", + "\u69d0\u0007W\u0002\u0002\u69d0\u69d1\u0007K\u0002\u0002\u69d1\u69d2", + "\u0007F\u0002\u0002\u69d2\u0f92\u0003\u0002\u0002\u0002\u69d3\u69d4", + "\u0007W\u0002\u0002\u69d4\u69d5\u0007P\u0002\u0002\u69d5\u69d6\u0007", + "C\u0002\u0002\u69d6\u69d7\u0007T\u0002\u0002\u69d7\u69d8\u0007E\u0002", + "\u0002\u69d8\u69d9\u0007J\u0002\u0002\u69d9\u69da\u0007K\u0002\u0002", + "\u69da\u69db\u0007X\u0002\u0002\u69db\u69dc\u0007G\u0002\u0002\u69dc", + "\u69dd\u0007F\u0002\u0002\u69dd\u0f94\u0003\u0002\u0002\u0002\u69de", + "\u69df\u0007W\u0002\u0002\u69df\u69e0\u0007P\u0002\u0002\u69e0\u69e1", + "\u0007D\u0002\u0002\u69e1\u69e2\u0007Q\u0002\u0002\u69e2\u69e3\u0007", + "W\u0002\u0002\u69e3\u69e4\u0007P\u0002\u0002\u69e4\u69e5\u0007F\u0002", + "\u0002\u69e5\u69e6\u0007G\u0002\u0002\u69e6\u69e7\u0007F\u0002\u0002", + "\u69e7\u0f96\u0003\u0002\u0002\u0002\u69e8\u69e9\u0007W\u0002\u0002", + "\u69e9\u69ea\u0007P\u0002\u0002\u69ea\u69eb\u0007D\u0002\u0002\u69eb", + "\u69ec\u0007Q\u0002\u0002\u69ec\u69ed\u0007W\u0002\u0002\u69ed\u69ee", + "\u0007P\u0002\u0002\u69ee\u69ef\u0007F\u0002\u0002\u69ef\u0f98\u0003", + "\u0002\u0002\u0002\u69f0\u69f1\u0007W\u0002\u0002\u69f1\u69f2\u0007", + "P\u0002\u0002\u69f2\u69f3\u0007E\u0002\u0002\u69f3\u69f4\u0007Q\u0002", + "\u0002\u69f4\u69f5\u0007P\u0002\u0002\u69f5\u69f6\u0007F\u0002\u0002", + "\u69f6\u69f7\u0007K\u0002\u0002\u69f7\u69f8\u0007V\u0002\u0002\u69f8", + "\u69f9\u0007K\u0002\u0002\u69f9\u69fa\u0007Q\u0002\u0002\u69fa\u69fb", + "\u0007P\u0002\u0002\u69fb\u69fc\u0007C\u0002\u0002\u69fc\u69fd\u0007", + "N\u0002\u0002\u69fd\u0f9a\u0003\u0002\u0002\u0002\u69fe\u69ff\u0007", + "W\u0002\u0002\u69ff\u6a00\u0007P\u0002\u0002\u6a00\u6a01\u0007F\u0002", + "\u0002\u6a01\u6a02\u0007G\u0002\u0002\u6a02\u6a03\u0007T\u0002\u0002", + "\u6a03\u0f9c\u0003\u0002\u0002\u0002\u6a04\u6a05\u0007W\u0002\u0002", + "\u6a05\u6a06\u0007P\u0002\u0002\u6a06\u6a07\u0007F\u0002\u0002\u6a07", + "\u6a08\u0007Q\u0002\u0002\u6a08\u0f9e\u0003\u0002\u0002\u0002\u6a09", + "\u6a0a\u0007W\u0002\u0002\u6a0a\u6a0b\u0007P\u0002\u0002\u6a0b\u6a0c", + "\u0007F\u0002\u0002\u6a0c\u6a0d\u0007T\u0002\u0002\u6a0d\u6a0e\u0007", + "Q\u0002\u0002\u6a0e\u6a0f\u0007R\u0002\u0002\u6a0f\u0fa0\u0003\u0002", + "\u0002\u0002\u6a10\u6a11\u0007W\u0002\u0002\u6a11\u6a12\u0007P\u0002", + "\u0002\u6a12\u6a13\u0007K\u0002\u0002\u6a13\u6a14\u0007H\u0002\u0002", + "\u6a14\u6a15\u0007Q\u0002\u0002\u6a15\u6a16\u0007T\u0002\u0002\u6a16", + "\u6a17\u0007O\u0002\u0002\u6a17\u0fa2\u0003\u0002\u0002\u0002\u6a18", + "\u6a19\u0007W\u0002\u0002\u6a19\u6a1a\u0007P\u0002\u0002\u6a1a\u6a1b", + "\u0007K\u0002\u0002\u6a1b\u6a1c\u0007Q\u0002\u0002\u6a1c\u6a1d\u0007", + "P\u0002\u0002\u6a1d\u0fa4\u0003\u0002\u0002\u0002\u6a1e\u6a1f\u0007", + "W\u0002\u0002\u6a1f\u6a20\u0007P\u0002\u0002\u6a20\u6a21\u0007K\u0002", + "\u0002\u6a21\u6a22\u0007S\u0002\u0002\u6a22\u6a23\u0007W\u0002\u0002", + "\u6a23\u6a24\u0007G\u0002\u0002\u6a24\u0fa6\u0003\u0002\u0002\u0002", + "\u6a25\u6a26\u0007W\u0002\u0002\u6a26\u6a27\u0007P\u0002\u0002\u6a27", + "\u6a28\u0007K\u0002\u0002\u6a28\u6a29\u0007U\u0002\u0002\u6a29\u6a2a", + "\u0007V\u0002\u0002\u6a2a\u6a2b\u0007T\u0002\u0002\u6a2b\u0fa8\u0003", + "\u0002\u0002\u0002\u6a2c\u6a2d\u0007W\u0002\u0002\u6a2d\u6a2e\u0007", + "P\u0002\u0002\u6a2e\u6a2f\u0007N\u0002\u0002\u6a2f\u6a30\u0007K\u0002", + "\u0002\u6a30\u6a31\u0007O\u0002\u0002\u6a31\u6a32\u0007K\u0002\u0002", + "\u6a32\u6a33\u0007V\u0002\u0002\u6a33\u6a34\u0007G\u0002\u0002\u6a34", + "\u6a35\u0007F\u0002\u0002\u6a35\u0faa\u0003\u0002\u0002\u0002\u6a36", + "\u6a37\u0007W\u0002\u0002\u6a37\u6a38\u0007P\u0002\u0002\u6a38\u6a39", + "\u0007N\u0002\u0002\u6a39\u6a3a\u0007Q\u0002\u0002\u6a3a\u6a3b\u0007", + "C\u0002\u0002\u6a3b\u6a3c\u0007F\u0002\u0002\u6a3c\u0fac\u0003\u0002", + "\u0002\u0002\u6a3d\u6a3e\u0007W\u0002\u0002\u6a3e\u6a3f\u0007P\u0002", + "\u0002\u6a3f\u6a40\u0007N\u0002\u0002\u6a40\u6a41\u0007Q\u0002\u0002", + "\u6a41\u6a42\u0007E\u0002\u0002\u6a42\u6a43\u0007M\u0002\u0002\u6a43", + "\u0fae\u0003\u0002\u0002\u0002\u6a44\u6a45\u0007W\u0002\u0002\u6a45", + "\u6a46\u0007P\u0002\u0002\u6a46\u6a47\u0007O\u0002\u0002\u6a47\u6a48", + "\u0007C\u0002\u0002\u6a48\u6a49\u0007V\u0002\u0002\u6a49\u6a4a\u0007", + "E\u0002\u0002\u6a4a\u6a4b\u0007J\u0002\u0002\u6a4b\u6a4c\u0007G\u0002", + "\u0002\u6a4c\u6a4d\u0007F\u0002\u0002\u6a4d\u0fb0\u0003\u0002\u0002", + "\u0002\u6a4e\u6a4f\u0007W\u0002\u0002\u6a4f\u6a50\u0007P\u0002\u0002", + "\u6a50\u6a51\u0007P\u0002\u0002\u6a51\u6a52\u0007G\u0002\u0002\u6a52", + "\u6a53\u0007U\u0002\u0002\u6a53\u6a54\u0007V\u0002\u0002\u6a54\u6a55", + "\u0007a\u0002\u0002\u6a55\u6a56\u0007K\u0002\u0002\u6a56\u6a57\u0007", + "P\u0002\u0002\u6a57\u6a58\u0007P\u0002\u0002\u6a58\u6a59\u0007G\u0002", + "\u0002\u6a59\u6a5a\u0007T\u0002\u0002\u6a5a\u6a5b\u0007L\u0002\u0002", + "\u6a5b\u6a5c\u0007a\u0002\u0002\u6a5c\u6a5d\u0007F\u0002\u0002\u6a5d", + "\u6a5e\u0007K\u0002\u0002\u6a5e\u6a5f\u0007U\u0002\u0002\u6a5f\u6a60", + "\u0007V\u0002\u0002\u6a60\u6a61\u0007K\u0002\u0002\u6a61\u6a62\u0007", + "P\u0002\u0002\u6a62\u6a63\u0007E\u0002\u0002\u6a63\u6a64\u0007V\u0002", + "\u0002\u6a64\u6a65\u0007a\u0002\u0002\u6a65\u6a66\u0007X\u0002\u0002", + "\u6a66\u6a67\u0007K\u0002\u0002\u6a67\u6a68\u0007G\u0002\u0002\u6a68", + "\u6a69\u0007Y\u0002\u0002\u6a69\u0fb2\u0003\u0002\u0002\u0002\u6a6a", + "\u6a6b\u0007W\u0002\u0002\u6a6b\u6a6c\u0007P\u0002\u0002\u6a6c\u6a6d", + "\u0007P\u0002\u0002\u6a6d\u6a6e\u0007G\u0002\u0002\u6a6e\u6a6f\u0007", + "U\u0002\u0002\u6a6f\u6a70\u0007V\u0002\u0002\u6a70\u6a71\u0007a\u0002", + "\u0002\u6a71\u6a72\u0007P\u0002\u0002\u6a72\u6a73\u0007Q\u0002\u0002", + "\u6a73\u6a74\u0007U\u0002\u0002\u6a74\u6a75\u0007G\u0002\u0002\u6a75", + "\u6a76\u0007O\u0002\u0002\u6a76\u6a77\u0007K\u0002\u0002\u6a77\u6a78", + "\u0007L\u0002\u0002\u6a78\u6a79\u0007a\u0002\u0002\u6a79\u6a7a\u0007", + "P\u0002\u0002\u6a7a\u6a7b\u0007Q\u0002\u0002\u6a7b\u6a7c\u0007F\u0002", + "\u0002\u6a7c\u6a7d\u0007K\u0002\u0002\u6a7d\u6a7e\u0007U\u0002\u0002", + "\u6a7e\u6a7f\u0007V\u0002\u0002\u6a7f\u6a80\u0007K\u0002\u0002\u6a80", + "\u6a81\u0007P\u0002\u0002\u6a81\u6a82\u0007E\u0002\u0002\u6a82\u6a83", + "\u0007V\u0002\u0002\u6a83\u6a84\u0007X\u0002\u0002\u6a84\u6a85\u0007", + "K\u0002\u0002\u6a85\u6a86\u0007G\u0002\u0002\u6a86\u6a87\u0007Y\u0002", + "\u0002\u6a87\u0fb4\u0003\u0002\u0002\u0002\u6a88\u6a89\u0007W\u0002", + "\u0002\u6a89\u6a8a\u0007P\u0002\u0002\u6a8a\u6a8b\u0007P\u0002\u0002", + "\u6a8b\u6a8c\u0007G\u0002\u0002\u6a8c\u6a8d\u0007U\u0002\u0002\u6a8d", + "\u6a8e\u0007V\u0002\u0002\u6a8e\u6a8f\u0007a\u0002\u0002\u6a8f\u6a90", + "\u0007U\u0002\u0002\u6a90\u6a91\u0007G\u0002\u0002\u6a91\u6a92\u0007", + "O\u0002\u0002\u6a92\u6a93\u0007K\u0002\u0002\u6a93\u6a94\u0007L\u0002", + "\u0002\u6a94\u6a95\u0007a\u0002\u0002\u6a95\u6a96\u0007X\u0002\u0002", + "\u6a96\u6a97\u0007K\u0002\u0002\u6a97\u6a98\u0007G\u0002\u0002\u6a98", + "\u6a99\u0007Y\u0002\u0002\u6a99\u0fb6\u0003\u0002\u0002\u0002\u6a9a", + "\u6a9b\u0007W\u0002\u0002\u6a9b\u6a9c\u0007P\u0002\u0002\u6a9c\u6a9d", + "\u0007P\u0002\u0002\u6a9d\u6a9e\u0007G\u0002\u0002\u6a9e\u6a9f\u0007", + "U\u0002\u0002\u6a9f\u6aa0\u0007V\u0002\u0002\u6aa0\u0fb8\u0003\u0002", + "\u0002\u0002\u6aa1\u6aa2\u0007W\u0002\u0002\u6aa2\u6aa3\u0007P\u0002", + "\u0002\u6aa3\u6aa4\u0007R\u0002\u0002\u6aa4\u6aa5\u0007C\u0002\u0002", + "\u6aa5\u6aa6\u0007E\u0002\u0002\u6aa6\u6aa7\u0007M\u0002\u0002\u6aa7", + "\u6aa8\u0007G\u0002\u0002\u6aa8\u6aa9\u0007F\u0002\u0002\u6aa9\u0fba", + "\u0003\u0002\u0002\u0002\u6aaa\u6aab\u0007W\u0002\u0002\u6aab\u6aac", + "\u0007P\u0002\u0002\u6aac\u6aad\u0007R\u0002\u0002\u6aad\u6aae\u0007", + "K\u0002\u0002\u6aae\u6aaf\u0007X\u0002\u0002\u6aaf\u6ab0\u0007Q\u0002", + "\u0002\u6ab0\u6ab1\u0007V\u0002\u0002\u6ab1\u0fbc\u0003\u0002\u0002", + "\u0002\u6ab2\u6ab3\u0007W\u0002\u0002\u6ab3\u6ab4\u0007P\u0002\u0002", + "\u6ab4\u6ab5\u0007R\u0002\u0002\u6ab5\u6ab6\u0007N\u0002\u0002\u6ab6", + "\u6ab7\u0007W\u0002\u0002\u6ab7\u6ab8\u0007I\u0002\u0002\u6ab8\u0fbe", + "\u0003\u0002\u0002\u0002\u6ab9\u6aba\u0007W\u0002\u0002\u6aba\u6abb", + "\u0007P\u0002\u0002\u6abb\u6abc\u0007R\u0002\u0002\u6abc\u6abd\u0007", + "T\u0002\u0002\u6abd\u6abe\u0007Q\u0002\u0002\u6abe\u6abf\u0007V\u0002", + "\u0002\u6abf\u6ac0\u0007G\u0002\u0002\u6ac0\u6ac1\u0007E\u0002\u0002", + "\u6ac1\u6ac2\u0007V\u0002\u0002\u6ac2\u6ac3\u0007G\u0002\u0002\u6ac3", + "\u6ac4\u0007F\u0002\u0002\u6ac4\u0fc0\u0003\u0002\u0002\u0002\u6ac5", + "\u6ac6\u0007W\u0002\u0002\u6ac6\u6ac7\u0007P\u0002\u0002\u6ac7\u6ac8", + "\u0007S\u0002\u0002\u6ac8\u6ac9\u0007W\u0002\u0002\u6ac9\u6aca\u0007", + "K\u0002\u0002\u6aca\u6acb\u0007G\u0002\u0002\u6acb\u6acc\u0007U\u0002", + "\u0002\u6acc\u6acd\u0007E\u0002\u0002\u6acd\u6ace\u0007G\u0002\u0002", + "\u6ace\u0fc2\u0003\u0002\u0002\u0002\u6acf\u6ad0\u0007W\u0002\u0002", + "\u6ad0\u6ad1\u0007P\u0002\u0002\u6ad1\u6ad2\u0007T\u0002\u0002\u6ad2", + "\u6ad3\u0007G\u0002\u0002\u6ad3\u6ad4\u0007E\u0002\u0002\u6ad4\u6ad5", + "\u0007Q\u0002\u0002\u6ad5\u6ad6\u0007X\u0002\u0002\u6ad6\u6ad7\u0007", + "G\u0002\u0002\u6ad7\u6ad8\u0007T\u0002\u0002\u6ad8\u6ad9\u0007C\u0002", + "\u0002\u6ad9\u6ada\u0007D\u0002\u0002\u6ada\u6adb\u0007N\u0002\u0002", + "\u6adb\u6adc\u0007G\u0002\u0002\u6adc\u0fc4\u0003\u0002\u0002\u0002", + "\u6add\u6ade\u0007W\u0002\u0002\u6ade\u6adf\u0007P\u0002\u0002\u6adf", + "\u6ae0\u0007T\u0002\u0002\u6ae0\u6ae1\u0007G\u0002\u0002\u6ae1\u6ae2", + "\u0007U\u0002\u0002\u6ae2\u6ae3\u0007V\u0002\u0002\u6ae3\u6ae4\u0007", + "T\u0002\u0002\u6ae4\u6ae5\u0007K\u0002\u0002\u6ae5\u6ae6\u0007E\u0002", + "\u0002\u6ae6\u6ae7\u0007V\u0002\u0002\u6ae7\u6ae8\u0007G\u0002\u0002", + "\u6ae8\u6ae9\u0007F\u0002\u0002\u6ae9\u0fc6\u0003\u0002\u0002\u0002", + "\u6aea\u6aeb\u0007W\u0002\u0002\u6aeb\u6aec\u0007P\u0002\u0002\u6aec", + "\u6aed\u0007U\u0002\u0002\u6aed\u6aee\u0007W\u0002\u0002\u6aee\u6aef", + "\u0007D\u0002\u0002\u6aef\u6af0\u0007U\u0002\u0002\u6af0\u6af1\u0007", + "E\u0002\u0002\u6af1\u6af2\u0007T\u0002\u0002\u6af2\u6af3\u0007K\u0002", + "\u0002\u6af3\u6af4\u0007D\u0002\u0002\u6af4\u6af5\u0007G\u0002\u0002", + "\u6af5\u0fc8\u0003\u0002\u0002\u0002\u6af6\u6af7\u0007W\u0002\u0002", + "\u6af7\u6af8\u0007P\u0002\u0002\u6af8\u6af9\u0007V\u0002\u0002\u6af9", + "\u6afa\u0007K\u0002\u0002\u6afa\u6afb\u0007N\u0002\u0002\u6afb\u0fca", + "\u0003\u0002\u0002\u0002\u6afc\u6afd\u0007W\u0002\u0002\u6afd\u6afe", + "\u0007P\u0002\u0002\u6afe\u6aff\u0007W\u0002\u0002\u6aff\u6b00\u0007", + "U\u0002\u0002\u6b00\u6b01\u0007C\u0002\u0002\u6b01\u6b02\u0007D\u0002", + "\u0002\u6b02\u6b03\u0007N\u0002\u0002\u6b03\u6b04\u0007G\u0002\u0002", + "\u6b04\u0fcc\u0003\u0002\u0002\u0002\u6b05\u6b06\u0007W\u0002\u0002", + "\u6b06\u6b07\u0007P\u0002\u0002\u6b07\u6b08\u0007W\u0002\u0002\u6b08", + "\u6b09\u0007U\u0002\u0002\u6b09\u6b0a\u0007G\u0002\u0002\u6b0a\u6b0b", + "\u0007F\u0002\u0002\u6b0b\u0fce\u0003\u0002\u0002\u0002\u6b0c\u6b0d", + "\u0007W\u0002\u0002\u6b0d\u6b0e\u0007R\u0002\u0002\u6b0e\u6b0f\u0007", + "F\u0002\u0002\u6b0f\u6b10\u0007C\u0002\u0002\u6b10\u6b11\u0007V\u0002", + "\u0002\u6b11\u6b12\u0007C\u0002\u0002\u6b12\u6b13\u0007D\u0002\u0002", + "\u6b13\u6b14\u0007N\u0002\u0002\u6b14\u6b15\u0007G\u0002\u0002\u6b15", + "\u0fd0\u0003\u0002\u0002\u0002\u6b16\u6b17\u0007W\u0002\u0002\u6b17", + "\u6b18\u0007R\u0002\u0002\u6b18\u6b19\u0007F\u0002\u0002\u6b19\u6b1a", + "\u0007C\u0002\u0002\u6b1a\u6b1b\u0007V\u0002\u0002\u6b1b\u6b1c\u0007", + "G\u0002\u0002\u6b1c\u6b1d\u0007F\u0002\u0002\u6b1d\u0fd2\u0003\u0002", + "\u0002\u0002\u6b1e\u6b1f\u0007W\u0002\u0002\u6b1f\u6b20\u0007R\u0002", + "\u0002\u6b20\u6b21\u0007F\u0002\u0002\u6b21\u6b22\u0007C\u0002\u0002", + "\u6b22\u6b23\u0007V\u0002\u0002\u6b23\u6b24\u0007G\u0002\u0002\u6b24", + "\u0fd4\u0003\u0002\u0002\u0002\u6b25\u6b26\u0007W\u0002\u0002\u6b26", + "\u6b27\u0007R\u0002\u0002\u6b27\u6b28\u0007F\u0002\u0002\u6b28\u6b29", + "\u0007C\u0002\u0002\u6b29\u6b2a\u0007V\u0002\u0002\u6b2a\u6b2b\u0007", + "G\u0002\u0002\u6b2b\u6b2c\u0007Z\u0002\u0002\u6b2c\u6b2d\u0007O\u0002", + "\u0002\u6b2d\u6b2e\u0007N\u0002\u0002\u6b2e\u0fd6\u0003\u0002\u0002", + "\u0002\u6b2f\u6b30\u0007W\u0002\u0002\u6b30\u6b31\u0007R\u0002\u0002", + "\u6b31\u6b32\u0007F\u0002\u0002\u6b32\u6b33\u0007a\u0002\u0002\u6b33", + "\u6b34\u0007K\u0002\u0002\u6b34\u6b35\u0007P\u0002\u0002\u6b35\u6b36", + "\u0007F\u0002\u0002\u6b36\u6b37\u0007G\u0002\u0002\u6b37\u6b38\u0007", + "Z\u0002\u0002\u6b38\u6b39\u0007G\u0002\u0002\u6b39\u6b3a\u0007U\u0002", + "\u0002\u6b3a\u0fd8\u0003\u0002\u0002\u0002\u6b3b\u6b3c\u0007W\u0002", + "\u0002\u6b3c\u6b3d\u0007R\u0002\u0002\u6b3d\u6b3e\u0007F\u0002\u0002", + "\u6b3e\u6b3f\u0007a\u0002\u0002\u6b3f\u6b40\u0007L\u0002\u0002\u6b40", + "\u6b41\u0007Q\u0002\u0002\u6b41\u6b42\u0007K\u0002\u0002\u6b42\u6b43", + "\u0007P\u0002\u0002\u6b43\u6b44\u0007K\u0002\u0002\u6b44\u6b45\u0007", + "P\u0002\u0002\u6b45\u6b46\u0007F\u0002\u0002\u6b46\u6b47\u0007G\u0002", + "\u0002\u6b47\u6b48\u0007Z\u0002\u0002\u6b48\u0fda\u0003\u0002\u0002", + "\u0002\u6b49\u6b4a\u0007W\u0002\u0002\u6b4a\u6b4b\u0007R\u0002\u0002", + "\u6b4b\u6b4c\u0007I\u0002\u0002\u6b4c\u6b4d\u0007T\u0002\u0002\u6b4d", + "\u6b4e\u0007C\u0002\u0002\u6b4e\u6b4f\u0007F\u0002\u0002\u6b4f\u6b50", + "\u0007G\u0002\u0002\u6b50\u0fdc\u0003\u0002\u0002\u0002\u6b51\u6b52", + "\u0007W\u0002\u0002\u6b52\u6b53\u0007R\u0002\u0002\u6b53\u6b54\u0007", + "R\u0002\u0002\u6b54\u6b55\u0007G\u0002\u0002\u6b55\u6b56\u0007T\u0002", + "\u0002\u6b56\u0fde\u0003\u0002\u0002\u0002\u6b57\u6b58\u0007W\u0002", + "\u0002\u6b58\u6b59\u0007R\u0002\u0002\u6b59\u6b5a\u0007U\u0002\u0002", + "\u6b5a\u6b5b\u0007G\u0002\u0002\u6b5b\u6b5c\u0007T\u0002\u0002\u6b5c", + "\u6b5d\u0007V\u0002\u0002\u6b5d\u0fe0\u0003\u0002\u0002\u0002\u6b5e", + "\u6b5f\u0007W\u0002\u0002\u6b5f\u6b60\u0007T\u0002\u0002\u6b60\u6b61", + "\u0007Q\u0002\u0002\u6b61\u6b62\u0007Y\u0002\u0002\u6b62\u6b63\u0007", + "K\u0002\u0002\u6b63\u6b64\u0007F\u0002\u0002\u6b64\u0fe2\u0003\u0002", + "\u0002\u0002\u6b65\u6b66\u0007W\u0002\u0002\u6b66\u6b67\u0007U\u0002", + "\u0002\u6b67\u6b68\u0007C\u0002\u0002\u6b68\u6b69\u0007D\u0002\u0002", + "\u6b69\u6b6a\u0007N\u0002\u0002\u6b6a\u6b6b\u0007G\u0002\u0002\u6b6b", + "\u0fe4\u0003\u0002\u0002\u0002\u6b6c\u6b6d\u0007W\u0002\u0002\u6b6d", + "\u6b6e\u0007U\u0002\u0002\u6b6e\u6b6f\u0007C\u0002\u0002\u6b6f\u6b70", + "\u0007I\u0002\u0002\u6b70\u6b71\u0007G\u0002\u0002\u6b71\u0fe6\u0003", + "\u0002\u0002\u0002\u6b72\u6b73\u0007W\u0002\u0002\u6b73\u6b74\u0007", + "U\u0002\u0002\u6b74\u6b75\u0007G\u0002\u0002\u6b75\u6b76\u0007a\u0002", + "\u0002\u6b76\u6b77\u0007C\u0002\u0002\u6b77\u6b78\u0007P\u0002\u0002", + "\u6b78\u6b79\u0007V\u0002\u0002\u6b79\u6b7a\u0007K\u0002\u0002\u6b7a", + "\u0fe8\u0003\u0002\u0002\u0002\u6b7b\u6b7c\u0007W\u0002\u0002\u6b7c", + "\u6b7d\u0007U\u0002\u0002\u6b7d\u6b7e\u0007G\u0002\u0002\u6b7e\u6b7f", + "\u0007a\u0002\u0002\u6b7f\u6b80\u0007E\u0002\u0002\u6b80\u6b81\u0007", + "Q\u0002\u0002\u6b81\u6b82\u0007P\u0002\u0002\u6b82\u6b83\u0007E\u0002", + "\u0002\u6b83\u6b84\u0007C\u0002\u0002\u6b84\u6b85\u0007V\u0002\u0002", + "\u6b85\u0fea\u0003\u0002\u0002\u0002\u6b86\u6b87\u0007W\u0002\u0002", + "\u6b87\u6b88\u0007U\u0002\u0002\u6b88\u6b89\u0007G\u0002\u0002\u6b89", + "\u6b8a\u0007a\u0002\u0002\u6b8a\u6b8b\u0007E\u0002\u0002\u6b8b\u6b8c", + "\u0007W\u0002\u0002\u6b8c\u6b8d\u0007D\u0002\u0002\u6b8d\u6b8e\u0007", + "G\u0002\u0002\u6b8e\u0fec\u0003\u0002\u0002\u0002\u6b8f\u6b90\u0007", + "W\u0002\u0002\u6b90\u6b91\u0007U\u0002\u0002\u6b91\u6b92\u0007G\u0002", + "\u0002\u6b92\u6b93\u0007a\u0002\u0002\u6b93\u6b94\u0007J\u0002\u0002", + "\u6b94\u6b95\u0007C\u0002\u0002\u6b95\u6b96\u0007U\u0002\u0002\u6b96", + "\u6b97\u0007J\u0002\u0002\u6b97\u6b98\u0007a\u0002\u0002\u6b98\u6b99", + "\u0007C\u0002\u0002\u6b99\u6b9a\u0007I\u0002\u0002\u6b9a\u6b9b\u0007", + "I\u0002\u0002\u6b9b\u6b9c\u0007T\u0002\u0002\u6b9c\u6b9d\u0007G\u0002", + "\u0002\u6b9d\u6b9e\u0007I\u0002\u0002\u6b9e\u6b9f\u0007C\u0002\u0002", + "\u6b9f\u6ba0\u0007V\u0002\u0002\u6ba0\u6ba1\u0007K\u0002\u0002\u6ba1", + "\u6ba2\u0007Q\u0002\u0002\u6ba2\u6ba3\u0007P\u0002\u0002\u6ba3\u0fee", + "\u0003\u0002\u0002\u0002\u6ba4\u6ba5\u0007W\u0002\u0002\u6ba5\u6ba6", + "\u0007U\u0002\u0002\u6ba6\u6ba7\u0007G\u0002\u0002\u6ba7\u6ba8\u0007", + "a\u0002\u0002\u6ba8\u6ba9\u0007J\u0002\u0002\u6ba9\u6baa\u0007C\u0002", + "\u0002\u6baa\u6bab\u0007U\u0002\u0002\u6bab\u6bac\u0007J\u0002\u0002", + "\u6bac\u6bad\u0007a\u0002\u0002\u6bad\u6bae\u0007I\u0002\u0002\u6bae", + "\u6baf\u0007D\u0002\u0002\u6baf\u6bb0\u0007[\u0002\u0002\u6bb0\u6bb1", + "\u0007a\u0002\u0002\u6bb1\u6bb2\u0007H\u0002\u0002\u6bb2\u6bb3\u0007", + "Q\u0002\u0002\u6bb3\u6bb4\u0007T\u0002\u0002\u6bb4\u6bb5\u0007a\u0002", + "\u0002\u6bb5\u6bb6\u0007R\u0002\u0002\u6bb6\u6bb7\u0007W\u0002\u0002", + "\u6bb7\u6bb8\u0007U\u0002\u0002\u6bb8\u6bb9\u0007J\u0002\u0002\u6bb9", + "\u6bba\u0007F\u0002\u0002\u6bba\u6bbb\u0007Q\u0002\u0002\u6bbb\u6bbc", + "\u0007Y\u0002\u0002\u6bbc\u6bbd\u0007P\u0002\u0002\u6bbd\u0ff0\u0003", + "\u0002\u0002\u0002\u6bbe\u6bbf\u0007W\u0002\u0002\u6bbf\u6bc0\u0007", + "U\u0002\u0002\u6bc0\u6bc1\u0007G\u0002\u0002\u6bc1\u6bc2\u0007a\u0002", + "\u0002\u6bc2\u6bc3\u0007J\u0002\u0002\u6bc3\u6bc4\u0007C\u0002\u0002", + "\u6bc4\u6bc5\u0007U\u0002\u0002\u6bc5\u6bc6\u0007J\u0002\u0002\u6bc6", + "\u0ff2\u0003\u0002\u0002\u0002\u6bc7\u6bc8\u0007W\u0002\u0002\u6bc8", + "\u6bc9\u0007U\u0002\u0002\u6bc9\u6bca\u0007G\u0002\u0002\u6bca\u6bcb", + "\u0007a\u0002\u0002\u6bcb\u6bcc\u0007J\u0002\u0002\u6bcc\u6bcd\u0007", + "K\u0002\u0002\u6bcd\u6bce\u0007F\u0002\u0002\u6bce\u6bcf\u0007F\u0002", + "\u0002\u6bcf\u6bd0\u0007G\u0002\u0002\u6bd0\u6bd1\u0007P\u0002\u0002", + "\u6bd1\u6bd2\u0007a\u0002\u0002\u6bd2\u6bd3\u0007R\u0002\u0002\u6bd3", + "\u6bd4\u0007C\u0002\u0002\u6bd4\u6bd5\u0007T\u0002\u0002\u6bd5\u6bd6", + "\u0007V\u0002\u0002\u6bd6\u6bd7\u0007K\u0002\u0002\u6bd7\u6bd8\u0007", + "V\u0002\u0002\u6bd8\u6bd9\u0007K\u0002\u0002\u6bd9\u6bda\u0007Q\u0002", + "\u0002\u6bda\u6bdb\u0007P\u0002\u0002\u6bdb\u6bdc\u0007U\u0002\u0002", + "\u6bdc\u0ff4\u0003\u0002\u0002\u0002\u6bdd\u6bde\u0007W\u0002\u0002", + "\u6bde\u6bdf\u0007U\u0002\u0002\u6bdf\u6be0\u0007G\u0002\u0002\u6be0", + "\u6be1\u0007a\u0002\u0002\u6be1\u6be2\u0007K\u0002\u0002\u6be2\u6be3", + "\u0007P\u0002\u0002\u6be3\u6be4\u0007X\u0002\u0002\u6be4\u6be5\u0007", + "K\u0002\u0002\u6be5\u6be6\u0007U\u0002\u0002\u6be6\u6be7\u0007K\u0002", + "\u0002\u6be7\u6be8\u0007D\u0002\u0002\u6be8\u6be9\u0007N\u0002\u0002", + "\u6be9\u6bea\u0007G\u0002\u0002\u6bea\u6beb\u0007a\u0002\u0002\u6beb", + "\u6bec\u0007K\u0002\u0002\u6bec\u6bed\u0007P\u0002\u0002\u6bed\u6bee", + "\u0007F\u0002\u0002\u6bee\u6bef\u0007G\u0002\u0002\u6bef\u6bf0\u0007", + "Z\u0002\u0002\u6bf0\u6bf1\u0007G\u0002\u0002\u6bf1\u6bf2\u0007U\u0002", + "\u0002\u6bf2\u0ff6\u0003\u0002\u0002\u0002\u6bf3\u6bf4\u0007W\u0002", + "\u0002\u6bf4\u6bf5\u0007U\u0002\u0002\u6bf5\u6bf6\u0007G\u0002\u0002", + "\u6bf6\u6bf7\u0007a\u0002\u0002\u6bf7\u6bf8\u0007O\u0002\u0002\u6bf8", + "\u6bf9\u0007G\u0002\u0002\u6bf9\u6bfa\u0007T\u0002\u0002\u6bfa\u6bfb", + "\u0007I\u0002\u0002\u6bfb\u6bfc\u0007G\u0002\u0002\u6bfc\u6bfd\u0007", + "a\u0002\u0002\u6bfd\u6bfe\u0007E\u0002\u0002\u6bfe\u6bff\u0007C\u0002", + "\u0002\u6bff\u6c00\u0007T\u0002\u0002\u6c00\u6c01\u0007V\u0002\u0002", + "\u6c01\u6c02\u0007G\u0002\u0002\u6c02\u6c03\u0007U\u0002\u0002\u6c03", + "\u6c04\u0007K\u0002\u0002\u6c04\u6c05\u0007C\u0002\u0002\u6c05\u6c06", + "\u0007P\u0002\u0002\u6c06\u0ff8\u0003\u0002\u0002\u0002\u6c07\u6c08", + "\u0007W\u0002\u0002\u6c08\u6c09\u0007U\u0002\u0002\u6c09\u6c0a\u0007", + "G\u0002\u0002\u6c0a\u6c0b\u0007a\u0002\u0002\u6c0b\u6c0c\u0007O\u0002", + "\u0002\u6c0c\u6c0d\u0007G\u0002\u0002\u6c0d\u6c0e\u0007T\u0002\u0002", + "\u6c0e\u6c0f\u0007I\u0002\u0002\u6c0f\u6c10\u0007G\u0002\u0002\u6c10", + "\u0ffa\u0003\u0002\u0002\u0002\u6c11\u6c12\u0007W\u0002\u0002\u6c12", + "\u6c13\u0007U\u0002\u0002\u6c13\u6c14\u0007G\u0002\u0002\u6c14\u6c15", + "\u0007a\u0002\u0002\u6c15\u6c16\u0007P\u0002\u0002\u6c16\u6c17\u0007", + "N\u0002\u0002\u6c17\u0ffc\u0003\u0002\u0002\u0002\u6c18\u6c19\u0007", + "W\u0002\u0002\u6c19\u6c1a\u0007U\u0002\u0002\u6c1a\u6c1b\u0007G\u0002", + "\u0002\u6c1b\u6c1c\u0007a\u0002\u0002\u6c1c\u6c1d\u0007P\u0002\u0002", + "\u6c1d\u6c1e\u0007N\u0002\u0002\u6c1e\u6c1f\u0007a\u0002\u0002\u6c1f", + "\u6c20\u0007Y\u0002\u0002\u6c20\u6c21\u0007K\u0002\u0002\u6c21\u6c22", + "\u0007V\u0002\u0002\u6c22\u6c23\u0007J\u0002\u0002\u6c23\u6c24\u0007", + "a\u0002\u0002\u6c24\u6c25\u0007K\u0002\u0002\u6c25\u6c26\u0007P\u0002", + "\u0002\u6c26\u6c27\u0007F\u0002\u0002\u6c27\u6c28\u0007G\u0002\u0002", + "\u6c28\u6c29\u0007Z\u0002\u0002\u6c29\u0ffe\u0003\u0002\u0002\u0002", + "\u6c2a\u6c2b\u0007W\u0002\u0002\u6c2b\u6c2c\u0007U\u0002\u0002\u6c2c", + "\u6c2d\u0007G\u0002\u0002\u6c2d\u6c2e\u0007a\u0002\u0002\u6c2e\u6c2f", + "\u0007R\u0002\u0002\u6c2f\u6c30\u0007T\u0002\u0002\u6c30\u6c31\u0007", + "K\u0002\u0002\u6c31\u6c32\u0007X\u0002\u0002\u6c32\u6c33\u0007C\u0002", + "\u0002\u6c33\u6c34\u0007V\u0002\u0002\u6c34\u6c35\u0007G\u0002\u0002", + "\u6c35\u6c36\u0007a\u0002\u0002\u6c36\u6c37\u0007Q\u0002\u0002\u6c37", + "\u6c38\u0007W\u0002\u0002\u6c38\u6c39\u0007V\u0002\u0002\u6c39\u6c3a", + "\u0007N\u0002\u0002\u6c3a\u6c3b\u0007K\u0002\u0002\u6c3b\u6c3c\u0007", + "P\u0002\u0002\u6c3c\u6c3d\u0007G\u0002\u0002\u6c3d\u6c3e\u0007U\u0002", + "\u0002\u6c3e\u1000\u0003\u0002\u0002\u0002\u6c3f\u6c40\u0007W\u0002", + "\u0002\u6c40\u6c41\u0007U\u0002\u0002\u6c41\u6c42\u0007G\u0002\u0002", + "\u6c42\u6c43\u0007T\u0002\u0002\u6c43\u6c44\u0007a\u0002\u0002\u6c44", + "\u6c45\u0007F\u0002\u0002\u6c45\u6c46\u0007C\u0002\u0002\u6c46\u6c47", + "\u0007V\u0002\u0002\u6c47\u6c48\u0007C\u0002\u0002\u6c48\u1002\u0003", + "\u0002\u0002\u0002\u6c49\u6c4a\u0007W\u0002\u0002\u6c4a\u6c4b\u0007", + "U\u0002\u0002\u6c4b\u6c4c\u0007G\u0002\u0002\u6c4c\u6c4d\u0007T\u0002", + "\u0002\u6c4d\u6c4e\u0007a\u0002\u0002\u6c4e\u6c4f\u0007F\u0002\u0002", + "\u6c4f\u6c50\u0007G\u0002\u0002\u6c50\u6c51\u0007H\u0002\u0002\u6c51", + "\u6c52\u0007K\u0002\u0002\u6c52\u6c53\u0007P\u0002\u0002\u6c53\u6c54", + "\u0007G\u0002\u0002\u6c54\u6c55\u0007F\u0002\u0002\u6c55\u1004\u0003", + "\u0002\u0002\u0002\u6c56\u6c57\u0007W\u0002\u0002\u6c57\u6c58\u0007", + "U\u0002\u0002\u6c58\u6c59\u0007G\u0002\u0002\u6c59\u6c5a\u0007T\u0002", + "\u0002\u6c5a\u6c5b\u0007G\u0002\u0002\u6c5b\u6c5c\u0007P\u0002\u0002", + "\u6c5c\u6c5d\u0007X\u0002\u0002\u6c5d\u1006\u0003\u0002\u0002\u0002", + "\u6c5e\u6c5f\u0007W\u0002\u0002\u6c5f\u6c60\u0007U\u0002\u0002\u6c60", + "\u6c61\u0007G\u0002\u0002\u6c61\u6c62\u0007T\u0002\u0002\u6c62\u6c63", + "\u0007I\u0002\u0002\u6c63\u6c64\u0007T\u0002\u0002\u6c64\u6c65\u0007", + "Q\u0002\u0002\u6c65\u6c66\u0007W\u0002\u0002\u6c66\u6c67\u0007R\u0002", + "\u0002\u6c67\u1008\u0003\u0002\u0002\u0002\u6c68\u6c69\u0007W\u0002", + "\u0002\u6c69\u6c6a\u0007U\u0002\u0002\u6c6a\u6c6b\u0007G\u0002\u0002", + "\u6c6b\u6c6c\u0007T\u0002\u0002\u6c6c\u6c6d\u0007a\u0002\u0002\u6c6d", + "\u6c6e\u0007T\u0002\u0002\u6c6e\u6c6f\u0007G\u0002\u0002\u6c6f\u6c70", + "\u0007E\u0002\u0002\u6c70\u6c71\u0007[\u0002\u0002\u6c71\u6c72\u0007", + "E\u0002\u0002\u6c72\u6c73\u0007N\u0002\u0002\u6c73\u6c74\u0007G\u0002", + "\u0002\u6c74\u6c75\u0007D\u0002\u0002\u6c75\u6c76\u0007K\u0002\u0002", + "\u6c76\u6c77\u0007P\u0002\u0002\u6c77\u100a\u0003\u0002\u0002\u0002", + "\u6c78\u6c79\u0007W\u0002\u0002\u6c79\u6c7a\u0007U\u0002\u0002\u6c7a", + "\u6c7b\u0007G\u0002\u0002\u6c7b\u6c7c\u0007T\u0002\u0002\u6c7c\u6c7d", + "\u0007U\u0002\u0002\u6c7d\u100c\u0003\u0002\u0002\u0002\u6c7e\u6c7f", + "\u0007W\u0002\u0002\u6c7f\u6c80\u0007U\u0002\u0002\u6c80\u6c81\u0007", + "G\u0002\u0002\u6c81\u6c82\u0007T\u0002\u0002\u6c82\u6c83\u0007a\u0002", + "\u0002\u6c83\u6c84\u0007V\u0002\u0002\u6c84\u6c85\u0007C\u0002\u0002", + "\u6c85\u6c86\u0007D\u0002\u0002\u6c86\u6c87\u0007N\u0002\u0002\u6c87", + "\u6c88\u0007G\u0002\u0002\u6c88\u6c89\u0007U\u0002\u0002\u6c89\u6c8a", + "\u0007R\u0002\u0002\u6c8a\u6c8b\u0007C\u0002\u0002\u6c8b\u6c8c\u0007", + "E\u0002\u0002\u6c8c\u6c8d\u0007G\u0002\u0002\u6c8d\u6c8e\u0007U\u0002", + "\u0002\u6c8e\u100e\u0003\u0002\u0002\u0002\u6c8f\u6c90\u0007W\u0002", + "\u0002\u6c90\u6c91\u0007U\u0002\u0002\u6c91\u6c92\u0007G\u0002\u0002", + "\u6c92\u6c93\u0007T\u0002\u0002\u6c93\u1010\u0003\u0002\u0002\u0002", + "\u6c94\u6c95\u0007W\u0002\u0002\u6c95\u6c96\u0007U\u0002\u0002\u6c96", + "\u6c97\u0007G\u0002\u0002\u6c97\u6c98\u0007a\u0002\u0002\u6c98\u6c99", + "\u0007U\u0002\u0002\u6c99\u6c9a\u0007G\u0002\u0002\u6c9a\u6c9b\u0007", + "O\u0002\u0002\u6c9b\u6c9c\u0007K\u0002\u0002\u6c9c\u1012\u0003\u0002", + "\u0002\u0002\u6c9d\u6c9e\u0007W\u0002\u0002\u6c9e\u6c9f\u0007U\u0002", + "\u0002\u6c9f\u6ca0\u0007G\u0002\u0002\u6ca0\u6ca1\u0007a\u0002\u0002", + "\u6ca1\u6ca2\u0007U\u0002\u0002\u6ca2\u6ca3\u0007V\u0002\u0002\u6ca3", + "\u6ca4\u0007Q\u0002\u0002\u6ca4\u6ca5\u0007T\u0002\u0002\u6ca5\u6ca6", + "\u0007G\u0002\u0002\u6ca6\u6ca7\u0007F\u0002\u0002\u6ca7\u6ca8\u0007", + "a\u0002\u0002\u6ca8\u6ca9\u0007Q\u0002\u0002\u6ca9\u6caa\u0007W\u0002", + "\u0002\u6caa\u6cab\u0007V\u0002\u0002\u6cab\u6cac\u0007N\u0002\u0002", + "\u6cac\u6cad\u0007K\u0002\u0002\u6cad\u6cae\u0007P\u0002\u0002\u6cae", + "\u6caf\u0007G\u0002\u0002\u6caf\u6cb0\u0007U\u0002\u0002\u6cb0\u1014", + "\u0003\u0002\u0002\u0002\u6cb1\u6cb2\u0007W\u0002\u0002\u6cb2\u6cb3", + "\u0007U\u0002\u0002\u6cb3\u6cb4\u0007G\u0002\u0002\u6cb4\u6cb5\u0007", + "a\u0002\u0002\u6cb5\u6cb6\u0007V\u0002\u0002\u6cb6\u6cb7\u0007V\u0002", + "\u0002\u6cb7\u6cb8\u0007V\u0002\u0002\u6cb8\u6cb9\u0007a\u0002\u0002", + "\u6cb9\u6cba\u0007H\u0002\u0002\u6cba\u6cbb\u0007Q\u0002\u0002\u6cbb", + "\u6cbc\u0007T\u0002\u0002\u6cbc\u6cbd\u0007a\u0002\u0002\u6cbd\u6cbe", + "\u0007I\u0002\u0002\u6cbe\u6cbf\u0007U\u0002\u0002\u6cbf\u6cc0\u0007", + "G\u0002\u0002\u6cc0\u6cc1\u0007V\u0002\u0002\u6cc1\u6cc2\u0007U\u0002", + "\u0002\u6cc2\u1016\u0003\u0002\u0002\u0002\u6cc3\u6cc4\u0007W\u0002", + "\u0002\u6cc4\u6cc5\u0007U\u0002\u0002\u6cc5\u6cc6\u0007G\u0002\u0002", + "\u6cc6\u1018\u0003\u0002\u0002\u0002\u6cc7\u6cc8\u0007W\u0002\u0002", + "\u6cc8\u6cc9\u0007U\u0002\u0002\u6cc9\u6cca\u0007G\u0002\u0002\u6cca", + "\u6ccb\u0007a\u0002\u0002\u6ccb\u6ccc\u0007X\u0002\u0002\u6ccc\u6ccd", + "\u0007G\u0002\u0002\u6ccd\u6cce\u0007E\u0002\u0002\u6cce\u6ccf\u0007", + "V\u0002\u0002\u6ccf\u6cd0\u0007Q\u0002\u0002\u6cd0\u6cd1\u0007T\u0002", + "\u0002\u6cd1\u6cd2\u0007a\u0002\u0002\u6cd2\u6cd3\u0007C\u0002\u0002", + "\u6cd3\u6cd4\u0007I\u0002\u0002\u6cd4\u6cd5\u0007I\u0002\u0002\u6cd5", + "\u6cd6\u0007T\u0002\u0002\u6cd6\u6cd7\u0007G\u0002\u0002\u6cd7\u6cd8", + "\u0007I\u0002\u0002\u6cd8\u6cd9\u0007C\u0002\u0002\u6cd9\u6cda\u0007", + "V\u0002\u0002\u6cda\u6cdb\u0007K\u0002\u0002\u6cdb\u6cdc\u0007Q\u0002", + "\u0002\u6cdc\u6cdd\u0007P\u0002\u0002\u6cdd\u101a\u0003\u0002\u0002", + "\u0002\u6cde\u6cdf\u0007W\u0002\u0002\u6cdf\u6ce0\u0007U\u0002\u0002", + "\u6ce0\u6ce1\u0007G\u0002\u0002\u6ce1\u6ce2\u0007a\u0002\u0002\u6ce2", + "\u6ce3\u0007Y\u0002\u0002\u6ce3\u6ce4\u0007G\u0002\u0002\u6ce4\u6ce5", + "\u0007C\u0002\u0002\u6ce5\u6ce6\u0007M\u0002\u0002\u6ce6\u6ce7\u0007", + "a\u0002\u0002\u6ce7\u6ce8\u0007P\u0002\u0002\u6ce8\u6ce9\u0007C\u0002", + "\u0002\u6ce9\u6cea\u0007O\u0002\u0002\u6cea\u6ceb\u0007G\u0002\u0002", + "\u6ceb\u6cec\u0007a\u0002\u0002\u6cec\u6ced\u0007T\u0002\u0002\u6ced", + "\u6cee\u0007G\u0002\u0002\u6cee\u6cef\u0007U\u0002\u0002\u6cef\u6cf0", + "\u0007N\u0002\u0002\u6cf0\u101c\u0003\u0002\u0002\u0002\u6cf1\u6cf2", + "\u0007W\u0002\u0002\u6cf2\u6cf3\u0007U\u0002\u0002\u6cf3\u6cf4\u0007", + "K\u0002\u0002\u6cf4\u6cf5\u0007P\u0002\u0002\u6cf5\u6cf6\u0007I\u0002", + "\u0002\u6cf6\u6cf7\u0007a\u0002\u0002\u6cf7\u6cf8\u0007P\u0002\u0002", + "\u6cf8\u6cf9\u0007Q\u0002\u0002\u6cf9\u6cfa\u0007a\u0002\u0002\u6cfa", + "\u6cfb\u0007G\u0002\u0002\u6cfb\u6cfc\u0007Z\u0002\u0002\u6cfc\u6cfd", + "\u0007R\u0002\u0002\u6cfd\u6cfe\u0007C\u0002\u0002\u6cfe\u6cff\u0007", + "P\u0002\u0002\u6cff\u6d00\u0007F\u0002\u0002\u6d00\u101e\u0003\u0002", + "\u0002\u0002\u6d01\u6d02\u0007W\u0002\u0002\u6d02\u6d03\u0007U\u0002", + "\u0002\u6d03\u6d04\u0007K\u0002\u0002\u6d04\u6d05\u0007P\u0002\u0002", + "\u6d05\u6d06\u0007I\u0002\u0002\u6d06\u1020\u0003\u0002\u0002\u0002", + "\u6d07\u6d08\u0007W\u0002\u0002\u6d08\u6d09\u0007V\u0002\u0002\u6d09", + "\u6d0a\u0007H\u0002\u0002\u6d0a\u6d0b\u00073\u0002\u0002\u6d0b\u6d0c", + "\u00078\u0002\u0002\u6d0c\u6d0d\u0007D\u0002\u0002\u6d0d\u6d0e\u0007", + "G\u0002\u0002\u6d0e\u1022\u0003\u0002\u0002\u0002\u6d0f\u6d10\u0007", + "W\u0002\u0002\u6d10\u6d11\u0007V\u0002\u0002\u6d11\u6d12\u0007H\u0002", + "\u0002\u6d12\u6d13\u00073\u0002\u0002\u6d13\u6d14\u00078\u0002\u0002", + "\u6d14\u6d15\u0007N\u0002\u0002\u6d15\u6d16\u0007G\u0002\u0002\u6d16", + "\u1024\u0003\u0002\u0002\u0002\u6d17\u6d18\u0007W\u0002\u0002\u6d18", + "\u6d19\u0007V\u0002\u0002\u6d19\u6d1a\u0007H\u0002\u0002\u6d1a\u6d1b", + "\u00075\u0002\u0002\u6d1b\u6d1c\u00074\u0002\u0002\u6d1c\u1026\u0003", + "\u0002\u0002\u0002\u6d1d\u6d1e\u0007W\u0002\u0002\u6d1e\u6d1f\u0007", + "V\u0002\u0002\u6d1f\u6d20\u0007H\u0002\u0002\u6d20\u6d21\u0007:\u0002", + "\u0002\u6d21\u1028\u0003\u0002\u0002\u0002\u6d22\u6d23\u0007X\u0002", + "\u0002\u6d23\u6d24\u00073\u0002\u0002\u6d24\u102a\u0003\u0002\u0002", + "\u0002\u6d25\u6d26\u0007X\u0002\u0002\u6d26\u6d27\u00074\u0002\u0002", + "\u6d27\u102c\u0003\u0002\u0002\u0002\u6d28\u6d29\u0007X\u0002\u0002", + "\u6d29\u6d2a\u0007C\u0002\u0002\u6d2a\u6d2b\u0007N\u0002\u0002\u6d2b", + "\u6d2c\u0007K\u0002\u0002\u6d2c\u6d2d\u0007F\u0002\u0002\u6d2d\u6d2e", + "\u0007C\u0002\u0002\u6d2e\u6d2f\u0007V\u0002\u0002\u6d2f\u6d30\u0007", + "G\u0002\u0002\u6d30\u102e\u0003\u0002\u0002\u0002\u6d31\u6d32\u0007", + "X\u0002\u0002\u6d32\u6d33\u0007C\u0002\u0002\u6d33\u6d34\u0007N\u0002", + "\u0002\u6d34\u6d35\u0007K\u0002\u0002\u6d35\u6d36\u0007F\u0002\u0002", + "\u6d36\u6d37\u0007C\u0002\u0002\u6d37\u6d38\u0007V\u0002\u0002\u6d38", + "\u6d39\u0007K\u0002\u0002\u6d39\u6d3a\u0007Q\u0002\u0002\u6d3a\u6d3b", + "\u0007P\u0002\u0002\u6d3b\u1030\u0003\u0002\u0002\u0002\u6d3c\u6d3d", + "\u0007X\u0002\u0002\u6d3d\u6d3e\u0007C\u0002\u0002\u6d3e\u6d3f\u0007", + "N\u0002\u0002\u6d3f\u6d40\u0007K\u0002\u0002\u6d40\u6d41\u0007F\u0002", + "\u0002\u6d41\u6d42\u0007a\u0002\u0002\u6d42\u6d43\u0007V\u0002\u0002", + "\u6d43\u6d44\u0007K\u0002\u0002\u6d44\u6d45\u0007O\u0002\u0002\u6d45", + "\u6d46\u0007G\u0002\u0002\u6d46\u6d47\u0007a\u0002\u0002\u6d47\u6d48", + "\u0007G\u0002\u0002\u6d48\u6d49\u0007P\u0002\u0002\u6d49\u6d4a\u0007", + "F\u0002\u0002\u6d4a\u1032\u0003\u0002\u0002\u0002\u6d4b\u6d4c\u0007", + "X\u0002\u0002\u6d4c\u6d4d\u0007C\u0002\u0002\u6d4d\u6d4e\u0007N\u0002", + "\u0002\u6d4e\u6d4f\u0007W\u0002\u0002\u6d4f\u6d50\u0007G\u0002\u0002", + "\u6d50\u6d51\u0007U\u0002\u0002\u6d51\u1034\u0003\u0002\u0002\u0002", + "\u6d52\u6d53\u0007X\u0002\u0002\u6d53\u6d54\u0007C\u0002\u0002\u6d54", + "\u6d55\u0007N\u0002\u0002\u6d55\u6d56\u0007W\u0002\u0002\u6d56\u6d57", + "\u0007G\u0002\u0002\u6d57\u1036\u0003\u0002\u0002\u0002\u6d58\u6d59", + "\u0007X\u0002\u0002\u6d59\u6d5a\u0007C\u0002\u0002\u6d5a\u6d5b\u0007", + "T\u0002\u0002\u6d5b\u6d5c\u0007E\u0002\u0002\u6d5c\u6d5d\u0007J\u0002", + "\u0002\u6d5d\u6d5e\u0007C\u0002\u0002\u6d5e\u6d5f\u0007T\u0002\u0002", + "\u6d5f\u6d60\u00074\u0002\u0002\u6d60\u1038\u0003\u0002\u0002\u0002", + "\u6d61\u6d62\u0007X\u0002\u0002\u6d62\u6d63\u0007C\u0002\u0002\u6d63", + "\u6d64\u0007T\u0002\u0002\u6d64\u6d65\u0007E\u0002\u0002\u6d65\u6d66", + "\u0007J\u0002\u0002\u6d66\u6d67\u0007C\u0002\u0002\u6d67\u6d68\u0007", + "T\u0002\u0002\u6d68\u103a\u0003\u0002\u0002\u0002\u6d69\u6d6a\u0007", + "X\u0002\u0002\u6d6a\u6d6b\u0007C\u0002\u0002\u6d6b\u6d6c\u0007T\u0002", + "\u0002\u6d6c\u6d6d\u0007K\u0002\u0002\u6d6d\u6d6e\u0007C\u0002\u0002", + "\u6d6e\u6d6f\u0007D\u0002\u0002\u6d6f\u6d70\u0007N\u0002\u0002\u6d70", + "\u6d71\u0007G\u0002\u0002\u6d71\u103c\u0003\u0002\u0002\u0002\u6d72", + "\u6d73\u0007X\u0002\u0002\u6d73\u6d74\u0007C\u0002\u0002\u6d74\u6d75", + "\u0007T\u0002\u0002\u6d75\u6d76\u0007a\u0002\u0002\u6d76\u6d77\u0007", + "R\u0002\u0002\u6d77\u6d78\u0007Q\u0002\u0002\u6d78\u6d79\u0007R\u0002", + "\u0002\u6d79\u103e\u0003\u0002\u0002\u0002\u6d7a\u6d7b\u0007X\u0002", + "\u0002\u6d7b\u6d7c\u0007C\u0002\u0002\u6d7c\u6d7d\u0007T\u0002\u0002", + "\u6d7d\u6d7e\u0007T\u0002\u0002\u6d7e\u6d7f\u0007C\u0002\u0002\u6d7f", + "\u6d80\u0007[\u0002\u0002\u6d80\u6d81\u0007U\u0002\u0002\u6d81\u1040", + "\u0003\u0002\u0002\u0002\u6d82\u6d83\u0007X\u0002\u0002\u6d83\u6d84", + "\u0007C\u0002\u0002\u6d84\u6d85\u0007T\u0002\u0002\u6d85\u6d86\u0007", + "T\u0002\u0002\u6d86\u6d87\u0007C\u0002\u0002\u6d87\u6d88\u0007[\u0002", + "\u0002\u6d88\u1042\u0003\u0002\u0002\u0002\u6d89\u6d8a\u0007X\u0002", + "\u0002\u6d8a\u6d8b\u0007C\u0002\u0002\u6d8b\u6d8c\u0007T\u0002\u0002", + "\u6d8c\u6d8d\u0007a\u0002\u0002\u6d8d\u6d8e\u0007U\u0002\u0002\u6d8e", + "\u6d8f\u0007C\u0002\u0002\u6d8f\u6d90\u0007O\u0002\u0002\u6d90\u6d91", + "\u0007R\u0002\u0002\u6d91\u1044\u0003\u0002\u0002\u0002\u6d92\u6d93", + "\u0007X\u0002\u0002\u6d93\u6d94\u0007C\u0002\u0002\u6d94\u6d95\u0007", + "T\u0002\u0002\u6d95\u6d96\u0007[\u0002\u0002\u6d96\u6d97\u0007K\u0002", + "\u0002\u6d97\u6d98\u0007P\u0002\u0002\u6d98\u6d99\u0007I\u0002\u0002", + "\u6d99\u1046\u0003\u0002\u0002\u0002\u6d9a\u6d9b\u0007X\u0002\u0002", + "\u6d9b\u6d9c\u0007G\u0002\u0002\u6d9c\u6d9d\u0007E\u0002\u0002\u6d9d", + "\u6d9e\u0007V\u0002\u0002\u6d9e\u6d9f\u0007Q\u0002\u0002\u6d9f\u6da0", + "\u0007T\u0002\u0002\u6da0\u6da1\u0007a\u0002\u0002\u6da1\u6da2\u0007", + "T\u0002\u0002\u6da2\u6da3\u0007G\u0002\u0002\u6da3\u6da4\u0007C\u0002", + "\u0002\u6da4\u6da5\u0007F\u0002\u0002\u6da5\u6da6\u0007a\u0002\u0002", + "\u6da6\u6da7\u0007V\u0002\u0002\u6da7\u6da8\u0007T\u0002\u0002\u6da8", + "\u6da9\u0007C\u0002\u0002\u6da9\u6daa\u0007E\u0002\u0002\u6daa\u6dab", + "\u0007G\u0002\u0002\u6dab\u1048\u0003\u0002\u0002\u0002\u6dac\u6dad", + "\u0007X\u0002\u0002\u6dad\u6dae\u0007G\u0002\u0002\u6dae\u6daf\u0007", + "E\u0002\u0002\u6daf\u6db0\u0007V\u0002\u0002\u6db0\u6db1\u0007Q\u0002", + "\u0002\u6db1\u6db2\u0007T\u0002\u0002\u6db2\u6db3\u0007a\u0002\u0002", + "\u6db3\u6db4\u0007T\u0002\u0002\u6db4\u6db5\u0007G\u0002\u0002\u6db5", + "\u6db6\u0007C\u0002\u0002\u6db6\u6db7\u0007F\u0002\u0002\u6db7\u104a", + "\u0003\u0002\u0002\u0002\u6db8\u6db9\u0007X\u0002\u0002\u6db9\u6dba", + "\u0007G\u0002\u0002\u6dba\u6dbb\u0007E\u0002\u0002\u6dbb\u6dbc\u0007", + "V\u0002\u0002\u6dbc\u6dbd\u0007Q\u0002\u0002\u6dbd\u6dbe\u0007T\u0002", + "\u0002\u6dbe\u6dbf\u0007a\u0002\u0002\u6dbf\u6dc0\u0007V\u0002\u0002", + "\u6dc0\u6dc1\u0007T\u0002\u0002\u6dc1\u6dc2\u0007C\u0002\u0002\u6dc2", + "\u6dc3\u0007P\u0002\u0002\u6dc3\u6dc4\u0007U\u0002\u0002\u6dc4\u6dc5", + "\u0007H\u0002\u0002\u6dc5\u6dc6\u0007Q\u0002\u0002\u6dc6\u6dc7\u0007", + "T\u0002\u0002\u6dc7\u6dc8\u0007O\u0002\u0002\u6dc8\u6dc9\u0007a\u0002", + "\u0002\u6dc9\u6dca\u0007F\u0002\u0002\u6dca\u6dcb\u0007K\u0002\u0002", + "\u6dcb\u6dcc\u0007O\u0002\u0002\u6dcc\u6dcd\u0007U\u0002\u0002\u6dcd", + "\u104c\u0003\u0002\u0002\u0002\u6dce\u6dcf\u0007X\u0002\u0002\u6dcf", + "\u6dd0\u0007G\u0002\u0002\u6dd0\u6dd1\u0007E\u0002\u0002\u6dd1\u6dd2", + "\u0007V\u0002\u0002\u6dd2\u6dd3\u0007Q\u0002\u0002\u6dd3\u6dd4\u0007", + "T\u0002\u0002\u6dd4\u6dd5\u0007a\u0002\u0002\u6dd5\u6dd6\u0007V\u0002", + "\u0002\u6dd6\u6dd7\u0007T\u0002\u0002\u6dd7\u6dd8\u0007C\u0002\u0002", + "\u6dd8\u6dd9\u0007P\u0002\u0002\u6dd9\u6dda\u0007U\u0002\u0002\u6dda", + "\u6ddb\u0007H\u0002\u0002\u6ddb\u6ddc\u0007Q\u0002\u0002\u6ddc\u6ddd", + "\u0007T\u0002\u0002\u6ddd\u6dde\u0007O\u0002\u0002\u6dde\u6ddf\u0007", + "a\u0002\u0002\u6ddf\u6de0\u0007H\u0002\u0002\u6de0\u6de1\u0007C\u0002", + "\u0002\u6de1\u6de2\u0007E\u0002\u0002\u6de2\u6de3\u0007V\u0002\u0002", + "\u6de3\u104e\u0003\u0002\u0002\u0002\u6de4\u6de5\u0007X\u0002\u0002", + "\u6de5\u6de6\u0007G\u0002\u0002\u6de6\u6de7\u0007E\u0002\u0002\u6de7", + "\u6de8\u0007V\u0002\u0002\u6de8\u6de9\u0007Q\u0002\u0002\u6de9\u6dea", + "\u0007T\u0002\u0002\u6dea\u6deb\u0007a\u0002\u0002\u6deb\u6dec\u0007", + "V\u0002\u0002\u6dec\u6ded\u0007T\u0002\u0002\u6ded\u6dee\u0007C\u0002", + "\u0002\u6dee\u6def\u0007P\u0002\u0002\u6def\u6df0\u0007U\u0002\u0002", + "\u6df0\u6df1\u0007H\u0002\u0002\u6df1\u6df2\u0007Q\u0002\u0002\u6df2", + "\u6df3\u0007T\u0002\u0002\u6df3\u6df4\u0007O\u0002\u0002\u6df4\u1050", + "\u0003\u0002\u0002\u0002\u6df5\u6df6\u0007X\u0002\u0002\u6df6\u6df7", + "\u0007G\u0002\u0002\u6df7\u6df8\u0007T\u0002\u0002\u6df8\u6df9\u0007", + "K\u0002\u0002\u6df9\u6dfa\u0007H\u0002\u0002\u6dfa\u6dfb\u0007K\u0002", + "\u0002\u6dfb\u6dfc\u0007G\u0002\u0002\u6dfc\u6dfd\u0007T\u0002\u0002", + "\u6dfd\u1052\u0003\u0002\u0002\u0002\u6dfe\u6dff\u0007X\u0002\u0002", + "\u6dff\u6e00\u0007G\u0002\u0002\u6e00\u6e01\u0007T\u0002\u0002\u6e01", + "\u6e02\u0007K\u0002\u0002\u6e02\u6e03\u0007H\u0002\u0002\u6e03\u6e04", + "\u0007[\u0002\u0002\u6e04\u1054\u0003\u0002\u0002\u0002\u6e05\u6e06", + "\u0007X\u0002\u0002\u6e06\u6e07\u0007G\u0002\u0002\u6e07\u6e08\u0007", + "T\u0002\u0002\u6e08\u6e09\u0007U\u0002\u0002\u6e09\u6e0a\u0007K\u0002", + "\u0002\u6e0a\u6e0b\u0007Q\u0002\u0002\u6e0b\u6e0c\u0007P\u0002\u0002", + "\u6e0c\u6e0d\u0007K\u0002\u0002\u6e0d\u6e0e\u0007P\u0002\u0002\u6e0e", + "\u6e0f\u0007I\u0002\u0002\u6e0f\u1056\u0003\u0002\u0002\u0002\u6e10", + "\u6e11\u0007X\u0002\u0002\u6e11\u6e12\u0007G\u0002\u0002\u6e12\u6e13", + "\u0007T\u0002\u0002\u6e13\u6e14\u0007U\u0002\u0002\u6e14\u6e15\u0007", + "K\u0002\u0002\u6e15\u6e16\u0007Q\u0002\u0002\u6e16\u6e17\u0007P\u0002", + "\u0002\u6e17\u6e18\u0007U\u0002\u0002\u6e18\u6e19\u0007a\u0002\u0002", + "\u6e19\u6e1a\u0007G\u0002\u0002\u6e1a\u6e1b\u0007P\u0002\u0002\u6e1b", + "\u6e1c\u0007F\u0002\u0002\u6e1c\u6e1d\u0007U\u0002\u0002\u6e1d\u6e1e", + "\u0007E\u0002\u0002\u6e1e\u6e1f\u0007P\u0002\u0002\u6e1f\u1058\u0003", + "\u0002\u0002\u0002\u6e20\u6e21\u0007X\u0002\u0002\u6e21\u6e22\u0007", + "G\u0002\u0002\u6e22\u6e23\u0007T\u0002\u0002\u6e23\u6e24\u0007U\u0002", + "\u0002\u6e24\u6e25\u0007K\u0002\u0002\u6e25\u6e26\u0007Q\u0002\u0002", + "\u6e26\u6e27\u0007P\u0002\u0002\u6e27\u6e28\u0007U\u0002\u0002\u6e28", + "\u6e29\u0007a\u0002\u0002\u6e29\u6e2a\u0007G\u0002\u0002\u6e2a\u6e2b", + "\u0007P\u0002\u0002\u6e2b\u6e2c\u0007F\u0002\u0002\u6e2c\u6e2d\u0007", + "V\u0002\u0002\u6e2d\u6e2e\u0007K\u0002\u0002\u6e2e\u6e2f\u0007O\u0002", + "\u0002\u6e2f\u6e30\u0007G\u0002\u0002\u6e30\u105a\u0003\u0002\u0002", + "\u0002\u6e31\u6e32\u0007X\u0002\u0002\u6e32\u6e33\u0007G\u0002\u0002", + "\u6e33\u6e34\u0007T\u0002\u0002\u6e34\u6e35\u0007U\u0002\u0002\u6e35", + "\u6e36\u0007K\u0002\u0002\u6e36\u6e37\u0007Q\u0002\u0002\u6e37\u6e38", + "\u0007P\u0002\u0002\u6e38\u6e39\u0007U\u0002\u0002\u6e39\u6e3a\u0007", + "a\u0002\u0002\u6e3a\u6e3b\u0007Q\u0002\u0002\u6e3b\u6e3c\u0007R\u0002", + "\u0002\u6e3c\u6e3d\u0007G\u0002\u0002\u6e3d\u6e3e\u0007T\u0002\u0002", + "\u6e3e\u6e3f\u0007C\u0002\u0002\u6e3f\u6e40\u0007V\u0002\u0002\u6e40", + "\u6e41\u0007K\u0002\u0002\u6e41\u6e42\u0007Q\u0002\u0002\u6e42\u6e43", + "\u0007P\u0002\u0002\u6e43\u105c\u0003\u0002\u0002\u0002\u6e44\u6e45", + "\u0007X\u0002\u0002\u6e45\u6e46\u0007G\u0002\u0002\u6e46\u6e47\u0007", + "T\u0002\u0002\u6e47\u6e48\u0007U\u0002\u0002\u6e48\u6e49\u0007K\u0002", + "\u0002\u6e49\u6e4a\u0007Q\u0002\u0002\u6e4a\u6e4b\u0007P\u0002\u0002", + "\u6e4b\u6e4c\u0007U\u0002\u0002\u6e4c\u6e4d\u0007a\u0002\u0002\u6e4d", + "\u6e4e\u0007U\u0002\u0002\u6e4e\u6e4f\u0007V\u0002\u0002\u6e4f\u6e50", + "\u0007C\u0002\u0002\u6e50\u6e51\u0007T\u0002\u0002\u6e51\u6e52\u0007", + "V\u0002\u0002\u6e52\u6e53\u0007U\u0002\u0002\u6e53\u6e54\u0007E\u0002", + "\u0002\u6e54\u6e55\u0007P\u0002\u0002\u6e55\u105e\u0003\u0002\u0002", + "\u0002\u6e56\u6e57\u0007X\u0002\u0002\u6e57\u6e58\u0007G\u0002\u0002", + "\u6e58\u6e59\u0007T\u0002\u0002\u6e59\u6e5a\u0007U\u0002\u0002\u6e5a", + "\u6e5b\u0007K\u0002\u0002\u6e5b\u6e5c\u0007Q\u0002\u0002\u6e5c\u6e5d", + "\u0007P\u0002\u0002\u6e5d\u6e5e\u0007U\u0002\u0002\u6e5e\u6e5f\u0007", + "a\u0002\u0002\u6e5f\u6e60\u0007U\u0002\u0002\u6e60\u6e61\u0007V\u0002", + "\u0002\u6e61\u6e62\u0007C\u0002\u0002\u6e62\u6e63\u0007T\u0002\u0002", + "\u6e63\u6e64\u0007V\u0002\u0002\u6e64\u6e65\u0007V\u0002\u0002\u6e65", + "\u6e66\u0007K\u0002\u0002\u6e66\u6e67\u0007O\u0002\u0002\u6e67\u6e68", + "\u0007G\u0002\u0002\u6e68\u1060\u0003\u0002\u0002\u0002\u6e69\u6e6a", + "\u0007X\u0002\u0002\u6e6a\u6e6b\u0007G\u0002\u0002\u6e6b\u6e6c\u0007", + "T\u0002\u0002\u6e6c\u6e6d\u0007U\u0002\u0002\u6e6d\u6e6e\u0007K\u0002", + "\u0002\u6e6e\u6e6f\u0007Q\u0002\u0002\u6e6f\u6e70\u0007P\u0002\u0002", + "\u6e70\u6e71\u0007U\u0002\u0002\u6e71\u1062\u0003\u0002\u0002\u0002", + "\u6e72\u6e73\u0007X\u0002\u0002\u6e73\u6e74\u0007G\u0002\u0002\u6e74", + "\u6e75\u0007T\u0002\u0002\u6e75\u6e76\u0007U\u0002\u0002\u6e76\u6e77", + "\u0007K\u0002\u0002\u6e77\u6e78\u0007Q\u0002\u0002\u6e78\u6e79\u0007", + "P\u0002\u0002\u6e79\u6e7a\u0007U\u0002\u0002\u6e7a\u6e7b\u0007a\u0002", + "\u0002\u6e7b\u6e7c\u0007Z\u0002\u0002\u6e7c\u6e7d\u0007K\u0002\u0002", + "\u6e7d\u6e7e\u0007F\u0002\u0002\u6e7e\u1064\u0003\u0002\u0002\u0002", + "\u6e7f\u6e80\u0007X\u0002\u0002\u6e80\u6e81\u0007G\u0002\u0002\u6e81", + "\u6e82\u0007T\u0002\u0002\u6e82\u6e83\u0007U\u0002\u0002\u6e83\u6e84", + "\u0007K\u0002\u0002\u6e84\u6e85\u0007Q\u0002\u0002\u6e85\u6e86\u0007", + "P\u0002\u0002\u6e86\u1066\u0003\u0002\u0002\u0002\u6e87\u6e88\u0007", + "X\u0002\u0002\u6e88\u6e89\u0007K\u0002\u0002\u6e89\u6e8a\u0007G\u0002", + "\u0002\u6e8a\u6e8b\u0007Y\u0002\u0002\u6e8b\u1068\u0003\u0002\u0002", + "\u0002\u6e8c\u6e8d\u0007X\u0002\u0002\u6e8d\u6e8e\u0007K\u0002\u0002", + "\u6e8e\u6e8f\u0007Q\u0002\u0002\u6e8f\u6e90\u0007N\u0002\u0002\u6e90", + "\u6e91\u0007C\u0002\u0002\u6e91\u6e92\u0007V\u0002\u0002\u6e92\u6e93", + "\u0007K\u0002\u0002\u6e93\u6e94\u0007Q\u0002\u0002\u6e94\u6e95\u0007", + "P\u0002\u0002\u6e95\u106a\u0003\u0002\u0002\u0002\u6e96\u6e97\u0007", + "X\u0002\u0002\u6e97\u6e98\u0007K\u0002\u0002\u6e98\u6e99\u0007T\u0002", + "\u0002\u6e99\u6e9a\u0007V\u0002\u0002\u6e9a\u6e9b\u0007W\u0002\u0002", + "\u6e9b\u6e9c\u0007C\u0002\u0002\u6e9c\u6e9d\u0007N\u0002\u0002\u6e9d", + "\u106c\u0003\u0002\u0002\u0002\u6e9e\u6e9f\u0007X\u0002\u0002\u6e9f", + "\u6ea0\u0007K\u0002\u0002\u6ea0\u6ea1\u0007U\u0002\u0002\u6ea1\u6ea2", + "\u0007K\u0002\u0002\u6ea2\u6ea3\u0007D\u0002\u0002\u6ea3\u6ea4\u0007", + "K\u0002\u0002\u6ea4\u6ea5\u0007N\u0002\u0002\u6ea5\u6ea6\u0007K\u0002", + "\u0002\u6ea6\u6ea7\u0007V\u0002\u0002\u6ea7\u6ea8\u0007[\u0002\u0002", + "\u6ea8\u106e\u0003\u0002\u0002\u0002\u6ea9\u6eaa\u0007X\u0002\u0002", + "\u6eaa\u6eab\u0007K\u0002\u0002\u6eab\u6eac\u0007U\u0002\u0002\u6eac", + "\u6ead\u0007K\u0002\u0002\u6ead\u6eae\u0007D\u0002\u0002\u6eae\u6eaf", + "\u0007N\u0002\u0002\u6eaf\u6eb0\u0007G\u0002\u0002\u6eb0\u1070\u0003", + "\u0002\u0002\u0002\u6eb1\u6eb2\u0007X\u0002\u0002\u6eb2\u6eb3\u0007", + "Q\u0002\u0002\u6eb3\u6eb4\u0007N\u0002\u0002\u6eb4\u6eb5\u0007W\u0002", + "\u0002\u6eb5\u6eb6\u0007O\u0002\u0002\u6eb6\u6eb7\u0007G\u0002\u0002", + "\u6eb7\u1072\u0003\u0002\u0002\u0002\u6eb8\u6eb9\u0007X\u0002\u0002", + "\u6eb9\u6eba\u0007U\u0002\u0002\u6eba\u6ebb\u0007K\u0002\u0002\u6ebb", + "\u6ebc\u0007\\\u0002\u0002\u6ebc\u6ebd\u0007G\u0002\u0002\u6ebd\u1074", + "\u0003\u0002\u0002\u0002\u6ebe\u6ebf\u0007Y\u0002\u0002\u6ebf\u6ec0", + "\u0007C\u0002\u0002\u6ec0\u6ec1\u0007K\u0002\u0002\u6ec1\u6ec2\u0007", + "V\u0002\u0002\u6ec2\u1076\u0003\u0002\u0002\u0002\u6ec3\u6ec4\u0007", + "Y\u0002\u0002\u6ec4\u6ec5\u0007C\u0002\u0002\u6ec5\u6ec6\u0007N\u0002", + "\u0002\u6ec6\u6ec7\u0007N\u0002\u0002\u6ec7\u6ec8\u0007G\u0002\u0002", + "\u6ec8\u6ec9\u0007V\u0002\u0002\u6ec9\u1078\u0003\u0002\u0002\u0002", + "\u6eca\u6ecb\u0007Y\u0002\u0002\u6ecb\u6ecc\u0007C\u0002\u0002\u6ecc", + "\u6ecd\u0007T\u0002\u0002\u6ecd\u6ece\u0007P\u0002\u0002\u6ece\u6ecf", + "\u0007K\u0002\u0002\u6ecf\u6ed0\u0007P\u0002\u0002\u6ed0\u6ed1\u0007", + "I\u0002\u0002\u6ed1\u107a\u0003\u0002\u0002\u0002\u6ed2\u6ed3\u0007", + "Y\u0002\u0002\u6ed3\u6ed4\u0007G\u0002\u0002\u6ed4\u6ed5\u0007G\u0002", + "\u0002\u6ed5\u6ed6\u0007M\u0002\u0002\u6ed6\u6ed7\u0007U\u0002\u0002", + "\u6ed7\u107c\u0003\u0002\u0002\u0002\u6ed8\u6ed9\u0007Y\u0002\u0002", + "\u6ed9\u6eda\u0007G\u0002\u0002\u6eda\u6edb\u0007G\u0002\u0002\u6edb", + "\u6edc\u0007M\u0002\u0002\u6edc\u107e\u0003\u0002\u0002\u0002\u6edd", + "\u6ede\u0007Y\u0002\u0002\u6ede\u6edf\u0007G\u0002\u0002\u6edf\u6ee0", + "\u0007N\u0002\u0002\u6ee0\u6ee1\u0007N\u0002\u0002\u6ee1\u6ee2\u0007", + "H\u0002\u0002\u6ee2\u6ee3\u0007Q\u0002\u0002\u6ee3\u6ee4\u0007T\u0002", + "\u0002\u6ee4\u6ee5\u0007O\u0002\u0002\u6ee5\u6ee6\u0007G\u0002\u0002", + "\u6ee6\u6ee7\u0007F\u0002\u0002\u6ee7\u1080\u0003\u0002\u0002\u0002", + "\u6ee8\u6ee9\u0007Y\u0002\u0002\u6ee9\u6eea\u0007J\u0002\u0002\u6eea", + "\u6eeb\u0007G\u0002\u0002\u6eeb\u6eec\u0007P\u0002\u0002\u6eec\u6eed", + "\u0007G\u0002\u0002\u6eed\u6eee\u0007X\u0002\u0002\u6eee\u6eef\u0007", + "G\u0002\u0002\u6eef\u6ef0\u0007T\u0002\u0002\u6ef0\u1082\u0003\u0002", + "\u0002\u0002\u6ef1\u6ef2\u0007Y\u0002\u0002\u6ef2\u6ef3\u0007J\u0002", + "\u0002\u6ef3\u6ef4\u0007G\u0002\u0002\u6ef4\u6ef5\u0007P\u0002\u0002", + "\u6ef5\u1084\u0003\u0002\u0002\u0002\u6ef6\u6ef7\u0007Y\u0002\u0002", + "\u6ef7\u6ef8\u0007J\u0002\u0002\u6ef8\u6ef9\u0007G\u0002\u0002\u6ef9", + "\u6efa\u0007T\u0002\u0002\u6efa\u6efb\u0007G\u0002\u0002\u6efb\u1086", + "\u0003\u0002\u0002\u0002\u6efc\u6efd\u0007Y\u0002\u0002\u6efd\u6efe", + "\u0007J\u0002\u0002\u6efe\u6eff\u0007K\u0002\u0002\u6eff\u6f00\u0007", + "N\u0002\u0002\u6f00\u6f01\u0007G\u0002\u0002\u6f01\u1088\u0003\u0002", + "\u0002\u0002\u6f02\u6f03\u0007Y\u0002\u0002\u6f03\u6f04\u0007J\u0002", + "\u0002\u6f04\u6f05\u0007K\u0002\u0002\u6f05\u6f06\u0007V\u0002\u0002", + "\u6f06\u6f07\u0007G\u0002\u0002\u6f07\u6f08\u0007U\u0002\u0002\u6f08", + "\u6f09\u0007R\u0002\u0002\u6f09\u6f0a\u0007C\u0002\u0002\u6f0a\u6f0b", + "\u0007E\u0002\u0002\u6f0b\u6f0c\u0007G\u0002\u0002\u6f0c\u108a\u0003", + "\u0002\u0002\u0002\u6f0d\u6f0e\u0007Y\u0002\u0002\u6f0e\u6f0f\u0007", + "K\u0002\u0002\u6f0f\u6f10\u0007F\u0002\u0002\u6f10\u6f11\u0007V\u0002", + "\u0002\u6f11\u6f12\u0007J\u0002\u0002\u6f12\u6f13\u0007a\u0002\u0002", + "\u6f13\u6f14\u0007D\u0002\u0002\u6f14\u6f15\u0007W\u0002\u0002\u6f15", + "\u6f16\u0007E\u0002\u0002\u6f16\u6f17\u0007M\u0002\u0002\u6f17\u6f18", + "\u0007G\u0002\u0002\u6f18\u6f19\u0007V\u0002\u0002\u6f19\u108c\u0003", + "\u0002\u0002\u0002\u6f1a\u6f1b\u0007Y\u0002\u0002\u6f1b\u6f1c\u0007", + "K\u0002\u0002\u6f1c\u6f1d\u0007V\u0002\u0002\u6f1d\u6f1e\u0007J\u0002", + "\u0002\u6f1e\u6f1f\u0007K\u0002\u0002\u6f1f\u6f20\u0007P\u0002\u0002", + "\u6f20\u108e\u0003\u0002\u0002\u0002\u6f21\u6f22\u0007Y\u0002\u0002", + "\u6f22\u6f23\u0007K\u0002\u0002\u6f23\u6f24\u0007V\u0002\u0002\u6f24", + "\u6f25\u0007J\u0002\u0002\u6f25\u6f26\u0007Q\u0002\u0002\u6f26\u6f27", + "\u0007W\u0002\u0002\u6f27\u6f28\u0007V\u0002\u0002\u6f28\u1090\u0003", + "\u0002\u0002\u0002\u6f29\u6f2a\u0007Y\u0002\u0002\u6f2a\u6f2b\u0007", + "K\u0002\u0002\u6f2b\u6f2c\u0007V\u0002\u0002\u6f2c\u6f2d\u0007J\u0002", + "\u0002\u6f2d\u6f2e\u0007a\u0002\u0002\u6f2e\u6f2f\u0007R\u0002\u0002", + "\u6f2f\u6f30\u0007N\u0002\u0002\u6f30\u6f31\u0007U\u0002\u0002\u6f31", + "\u6f32\u0007S\u0002\u0002\u6f32\u6f33\u0007N\u0002\u0002\u6f33\u1092", + "\u0003\u0002\u0002\u0002\u6f34\u6f35\u0007Y\u0002\u0002\u6f35\u6f36", + "\u0007K\u0002\u0002\u6f36\u6f37\u0007V\u0002\u0002\u6f37\u6f38\u0007", + "J\u0002\u0002\u6f38\u1094\u0003\u0002\u0002\u0002\u6f39\u6f3a\u0007", + "Y\u0002\u0002\u6f3a\u6f3b\u0007Q\u0002\u0002\u6f3b\u6f3c\u0007T\u0002", + "\u0002\u6f3c\u6f3d\u0007M\u0002\u0002\u6f3d\u1096\u0003\u0002\u0002", + "\u0002\u6f3e\u6f3f\u0007Y\u0002\u0002\u6f3f\u6f40\u0007T\u0002\u0002", + "\u6f40\u6f41\u0007C\u0002\u0002\u6f41\u6f42\u0007R\u0002\u0002\u6f42", + "\u6f43\u0007R\u0002\u0002\u6f43\u6f44\u0007G\u0002\u0002\u6f44\u6f45", + "\u0007F\u0002\u0002\u6f45\u1098\u0003\u0002\u0002\u0002\u6f46\u6f47", + "\u0007Y\u0002\u0002\u6f47\u6f48\u0007T\u0002\u0002\u6f48\u6f49\u0007", + "C\u0002\u0002\u6f49\u6f4a\u0007R\u0002\u0002\u6f4a\u6f4b\u0007R\u0002", + "\u0002\u6f4b\u6f4c\u0007G\u0002\u0002\u6f4c\u6f4d\u0007T\u0002\u0002", + "\u6f4d\u109a\u0003\u0002\u0002\u0002\u6f4e\u6f4f\u0007Y\u0002\u0002", + "\u6f4f\u6f50\u0007T\u0002\u0002\u6f50\u6f51\u0007K\u0002\u0002\u6f51", + "\u6f52\u0007V\u0002\u0002\u6f52\u6f53\u0007G\u0002\u0002\u6f53\u109c", + "\u0003\u0002\u0002\u0002\u6f54\u6f55\u0007Z\u0002\u0002\u6f55\u6f56", + "\u0007F\u0002\u0002\u6f56\u6f57\u0007D\u0002\u0002\u6f57\u6f58\u0007", + "a\u0002\u0002\u6f58\u6f59\u0007H\u0002\u0002\u6f59\u6f5a\u0007C\u0002", + "\u0002\u6f5a\u6f5b\u0007U\u0002\u0002\u6f5b\u6f5c\u0007V\u0002\u0002", + "\u6f5c\u6f5d\u0007R\u0002\u0002\u6f5d\u6f5e\u0007C\u0002\u0002\u6f5e", + "\u6f5f\u0007V\u0002\u0002\u6f5f\u6f60\u0007J\u0002\u0002\u6f60\u6f61", + "\u0007a\u0002\u0002\u6f61\u6f62\u0007K\u0002\u0002\u6f62\u6f63\u0007", + "P\u0002\u0002\u6f63\u6f64\u0007U\u0002\u0002\u6f64\u6f65\u0007G\u0002", + "\u0002\u6f65\u6f66\u0007T\u0002\u0002\u6f66\u6f67\u0007V\u0002\u0002", + "\u6f67\u109e\u0003\u0002\u0002\u0002\u6f68\u6f69\u0007Z\u0002\u0002", + "\u6f69\u6f6a\u0007F\u0002\u0002\u6f6a\u6f6b\u0007D\u0002\u0002\u6f6b", + "\u10a0\u0003\u0002\u0002\u0002\u6f6c\u6f6d\u0007Z\u0002\u0002\u6f6d", + "\u6f6e\u0007a\u0002\u0002\u6f6e\u6f6f\u0007F\u0002\u0002\u6f6f\u6f70", + "\u0007[\u0002\u0002\u6f70\u6f71\u0007P\u0002\u0002\u6f71\u6f72\u0007", + "a\u0002\u0002\u6f72\u6f73\u0007R\u0002\u0002\u6f73\u6f74\u0007T\u0002", + "\u0002\u6f74\u6f75\u0007W\u0002\u0002\u6f75\u6f76\u0007P\u0002\u0002", + "\u6f76\u6f77\u0007G\u0002\u0002\u6f77\u10a2\u0003\u0002\u0002\u0002", + "\u6f78\u6f79\u0007Z\u0002\u0002\u6f79\u6f7a\u0007K\u0002\u0002\u6f7a", + "\u6f7b\u0007F\u0002\u0002\u6f7b\u10a4\u0003\u0002\u0002\u0002\u6f7c", + "\u6f7d\u0007Z\u0002\u0002\u6f7d\u6f7e\u0007O\u0002\u0002\u6f7e\u6f7f", + "\u0007N\u0002\u0002\u6f7f\u6f80\u00074\u0002\u0002\u6f80\u6f81\u0007", + "Q\u0002\u0002\u6f81\u6f82\u0007D\u0002\u0002\u6f82\u6f83\u0007L\u0002", + "\u0002\u6f83\u6f84\u0007G\u0002\u0002\u6f84\u6f85\u0007E\u0002\u0002", + "\u6f85\u6f86\u0007V\u0002\u0002\u6f86\u10a6\u0003\u0002\u0002\u0002", + "\u6f87\u6f88\u0007Z\u0002\u0002\u6f88\u6f89\u0007O\u0002\u0002\u6f89", + "\u6f8a\u0007N\u0002\u0002\u6f8a\u6f8b\u0007C\u0002\u0002\u6f8b\u6f8c", + "\u0007I\u0002\u0002\u6f8c\u6f8d\u0007I\u0002\u0002\u6f8d\u10a8\u0003", + "\u0002\u0002\u0002\u6f8e\u6f8f\u0007Z\u0002\u0002\u6f8f\u6f90\u0007", + "O\u0002\u0002\u6f90\u6f91\u0007N\u0002\u0002\u6f91\u6f92\u0007C\u0002", + "\u0002\u6f92\u6f93\u0007V\u0002\u0002\u6f93\u6f94\u0007V\u0002\u0002", + "\u6f94\u6f95\u0007T\u0002\u0002\u6f95\u6f96\u0007K\u0002\u0002\u6f96", + "\u6f97\u0007D\u0002\u0002\u6f97\u6f98\u0007W\u0002\u0002\u6f98\u6f99", + "\u0007V\u0002\u0002\u6f99\u6f9a\u0007G\u0002\u0002\u6f9a\u6f9b\u0007", + "U\u0002\u0002\u6f9b\u10aa\u0003\u0002\u0002\u0002\u6f9c\u6f9d\u0007", + "Z\u0002\u0002\u6f9d\u6f9e\u0007O\u0002\u0002\u6f9e\u6f9f\u0007N\u0002", + "\u0002\u6f9f\u6fa0\u0007E\u0002\u0002\u6fa0\u6fa1\u0007C\u0002\u0002", + "\u6fa1\u6fa2\u0007U\u0002\u0002\u6fa2\u6fa3\u0007V\u0002\u0002\u6fa3", + "\u10ac\u0003\u0002\u0002\u0002\u6fa4\u6fa5\u0007Z\u0002\u0002\u6fa5", + "\u6fa6\u0007O\u0002\u0002\u6fa6\u6fa7\u0007N\u0002\u0002\u6fa7\u6fa8", + "\u0007E\u0002\u0002\u6fa8\u6fa9\u0007F\u0002\u0002\u6fa9\u6faa\u0007", + "C\u0002\u0002\u6faa\u6fab\u0007V\u0002\u0002\u6fab\u6fac\u0007C\u0002", + "\u0002\u6fac\u10ae\u0003\u0002\u0002\u0002\u6fad\u6fae\u0007Z\u0002", + "\u0002\u6fae\u6faf\u0007O\u0002\u0002\u6faf\u6fb0\u0007N\u0002\u0002", + "\u6fb0\u6fb1\u0007E\u0002\u0002\u6fb1\u6fb2\u0007Q\u0002\u0002\u6fb2", + "\u6fb3\u0007N\u0002\u0002\u6fb3\u6fb4\u0007C\u0002\u0002\u6fb4\u6fb5", + "\u0007V\u0002\u0002\u6fb5\u6fb6\u0007V\u0002\u0002\u6fb6\u6fb7\u0007", + "X\u0002\u0002\u6fb7\u6fb8\u0007C\u0002\u0002\u6fb8\u6fb9\u0007N\u0002", + "\u0002\u6fb9\u10b0\u0003\u0002\u0002\u0002\u6fba\u6fbb\u0007Z\u0002", + "\u0002\u6fbb\u6fbc\u0007O\u0002\u0002\u6fbc\u6fbd\u0007N\u0002\u0002", + "\u6fbd\u6fbe\u0007E\u0002\u0002\u6fbe\u6fbf\u0007Q\u0002\u0002\u6fbf", + "\u6fc0\u0007O\u0002\u0002\u6fc0\u6fc1\u0007O\u0002\u0002\u6fc1\u6fc2", + "\u0007G\u0002\u0002\u6fc2\u6fc3\u0007P\u0002\u0002\u6fc3\u6fc4\u0007", + "V\u0002\u0002\u6fc4\u10b2\u0003\u0002\u0002\u0002\u6fc5\u6fc6\u0007", + "Z\u0002\u0002\u6fc6\u6fc7\u0007O\u0002\u0002\u6fc7\u6fc8\u0007N\u0002", + "\u0002\u6fc8\u6fc9\u0007E\u0002\u0002\u6fc9\u6fca\u0007Q\u0002\u0002", + "\u6fca\u6fcb\u0007P\u0002\u0002\u6fcb\u6fcc\u0007E\u0002\u0002\u6fcc", + "\u6fcd\u0007C\u0002\u0002\u6fcd\u6fce\u0007V\u0002\u0002\u6fce\u10b4", + "\u0003\u0002\u0002\u0002\u6fcf\u6fd0\u0007Z\u0002\u0002\u6fd0\u6fd1", + "\u0007O\u0002\u0002\u6fd1\u6fd2\u0007N\u0002\u0002\u6fd2\u6fd3\u0007", + "F\u0002\u0002\u6fd3\u6fd4\u0007K\u0002\u0002\u6fd4\u6fd5\u0007H\u0002", + "\u0002\u6fd5\u6fd6\u0007H\u0002\u0002\u6fd6\u10b6\u0003\u0002\u0002", + "\u0002\u6fd7\u6fd8\u0007Z\u0002\u0002\u6fd8\u6fd9\u0007O\u0002\u0002", + "\u6fd9\u6fda\u0007N\u0002\u0002\u6fda\u6fdb\u0007a\u0002\u0002\u6fdb", + "\u6fdc\u0007F\u0002\u0002\u6fdc\u6fdd\u0007O\u0002\u0002\u6fdd\u6fde", + "\u0007N\u0002\u0002\u6fde\u6fdf\u0007a\u0002\u0002\u6fdf\u6fe0\u0007", + "T\u0002\u0002\u6fe0\u6fe1\u0007Y\u0002\u0002\u6fe1\u6fe2\u0007V\u0002", + "\u0002\u6fe2\u6fe3\u0007a\u0002\u0002\u6fe3\u6fe4\u0007U\u0002\u0002", + "\u6fe4\u6fe5\u0007V\u0002\u0002\u6fe5\u6fe6\u0007O\u0002\u0002\u6fe6", + "\u6fe7\u0007V\u0002\u0002\u6fe7\u10b8\u0003\u0002\u0002\u0002\u6fe8", + "\u6fe9\u0007Z\u0002\u0002\u6fe9\u6fea\u0007O\u0002\u0002\u6fea\u6feb", + "\u0007N\u0002\u0002\u6feb\u6fec\u0007G\u0002\u0002\u6fec\u6fed\u0007", + "N\u0002\u0002\u6fed\u6fee\u0007G\u0002\u0002\u6fee\u6fef\u0007O\u0002", + "\u0002\u6fef\u6ff0\u0007G\u0002\u0002\u6ff0\u6ff1\u0007P\u0002\u0002", + "\u6ff1\u6ff2\u0007V\u0002\u0002\u6ff2\u10ba\u0003\u0002\u0002\u0002", + "\u6ff3\u6ff4\u0007Z\u0002\u0002\u6ff4\u6ff5\u0007O\u0002\u0002\u6ff5", + "\u6ff6\u0007N\u0002\u0002\u6ff6\u6ff7\u0007G\u0002\u0002\u6ff7\u6ff8", + "\u0007Z\u0002\u0002\u6ff8\u6ff9\u0007K\u0002\u0002\u6ff9\u6ffa\u0007", + "U\u0002\u0002\u6ffa\u6ffb\u0007V\u0002\u0002\u6ffb\u6ffc\u0007U\u0002", + "\u0002\u6ffc\u6ffd\u00074\u0002\u0002\u6ffd\u10bc\u0003\u0002\u0002", + "\u0002\u6ffe\u6fff\u0007Z\u0002\u0002\u6fff\u7000\u0007O\u0002\u0002", + "\u7000\u7001\u0007N\u0002\u0002\u7001\u7002\u0007G\u0002\u0002\u7002", + "\u7003\u0007Z\u0002\u0002\u7003\u7004\u0007K\u0002\u0002\u7004\u7005", + "\u0007U\u0002\u0002\u7005\u7006\u0007V\u0002\u0002\u7006\u7007\u0007", + "U\u0002\u0002\u7007\u10be\u0003\u0002\u0002\u0002\u7008\u7009\u0007", + "Z\u0002\u0002\u7009\u700a\u0007O\u0002\u0002\u700a\u700b\u0007N\u0002", + "\u0002\u700b\u700c\u0007H\u0002\u0002\u700c\u700d\u0007Q\u0002\u0002", + "\u700d\u700e\u0007T\u0002\u0002\u700e\u700f\u0007G\u0002\u0002\u700f", + "\u7010\u0007U\u0002\u0002\u7010\u7011\u0007V\u0002\u0002\u7011\u10c0", + "\u0003\u0002\u0002\u0002\u7012\u7013\u0007Z\u0002\u0002\u7013\u7014", + "\u0007O\u0002\u0002\u7014\u7015\u0007N\u0002\u0002\u7015\u7016\u0007", + "K\u0002\u0002\u7016\u7017\u0007P\u0002\u0002\u7017\u7018\u0007F\u0002", + "\u0002\u7018\u7019\u0007G\u0002\u0002\u7019\u701a\u0007Z\u0002\u0002", + "\u701a\u10c2\u0003\u0002\u0002\u0002\u701b\u701c\u0007Z\u0002\u0002", + "\u701c\u701d\u0007O\u0002\u0002\u701d\u701e\u0007N\u0002\u0002\u701e", + "\u701f\u0007K\u0002\u0002\u701f\u7020\u0007P\u0002\u0002\u7020\u7021", + "\u0007F\u0002\u0002\u7021\u7022\u0007G\u0002\u0002\u7022\u7023\u0007", + "Z\u0002\u0002\u7023\u7024\u0007a\u0002\u0002\u7024\u7025\u0007T\u0002", + "\u0002\u7025\u7026\u0007G\u0002\u0002\u7026\u7027\u0007Y\u0002\u0002", + "\u7027\u7028\u0007T\u0002\u0002\u7028\u7029\u0007K\u0002\u0002\u7029", + "\u702a\u0007V\u0002\u0002\u702a\u702b\u0007G\u0002\u0002\u702b\u702c", + "\u0007a\u0002\u0002\u702c\u702d\u0007K\u0002\u0002\u702d\u702e\u0007", + "P\u0002\u0002\u702e\u702f\u0007a\u0002\u0002\u702f\u7030\u0007U\u0002", + "\u0002\u7030\u7031\u0007G\u0002\u0002\u7031\u7032\u0007N\u0002\u0002", + "\u7032\u7033\u0007G\u0002\u0002\u7033\u7034\u0007E\u0002\u0002\u7034", + "\u7035\u0007V\u0002\u0002\u7035\u10c4\u0003\u0002\u0002\u0002\u7036", + "\u7037\u0007Z\u0002\u0002\u7037\u7038\u0007O\u0002\u0002\u7038\u7039", + "\u0007N\u0002\u0002\u7039\u703a\u0007K\u0002\u0002\u703a\u703b\u0007", + "P\u0002\u0002\u703b\u703c\u0007F\u0002\u0002\u703c\u703d\u0007G\u0002", + "\u0002\u703d\u703e\u0007Z\u0002\u0002\u703e\u703f\u0007a\u0002\u0002", + "\u703f\u7040\u0007T\u0002\u0002\u7040\u7041\u0007G\u0002\u0002\u7041", + "\u7042\u0007Y\u0002\u0002\u7042\u7043\u0007T\u0002\u0002\u7043\u7044", + "\u0007K\u0002\u0002\u7044\u7045\u0007V\u0002\u0002\u7045\u7046\u0007", + "G\u0002\u0002\u7046\u10c6\u0003\u0002\u0002\u0002\u7047\u7048\u0007", + "Z\u0002\u0002\u7048\u7049\u0007O\u0002\u0002\u7049\u704a\u0007N\u0002", + "\u0002\u704a\u704b\u0007K\u0002\u0002\u704b\u704c\u0007P\u0002\u0002", + "\u704c\u704d\u0007F\u0002\u0002\u704d\u704e\u0007G\u0002\u0002\u704e", + "\u704f\u0007Z\u0002\u0002\u704f\u7050\u0007a\u0002\u0002\u7050\u7051", + "\u0007U\u0002\u0002\u7051\u7052\u0007G\u0002\u0002\u7052\u7053\u0007", + "N\u0002\u0002\u7053\u7054\u0007a\u0002\u0002\u7054\u7055\u0007K\u0002", + "\u0002\u7055\u7056\u0007F\u0002\u0002\u7056\u7057\u0007Z\u0002\u0002", + "\u7057\u7058\u0007a\u0002\u0002\u7058\u7059\u0007V\u0002\u0002\u7059", + "\u705a\u0007D\u0002\u0002\u705a\u705b\u0007N\u0002\u0002\u705b\u10c8", + "\u0003\u0002\u0002\u0002\u705c\u705d\u0007Z\u0002\u0002\u705d\u705e", + "\u0007O\u0002\u0002\u705e\u705f\u0007N\u0002\u0002\u705f\u7060\u0007", + "K\u0002\u0002\u7060\u7061\u0007U\u0002\u0002\u7061\u7062\u0007P\u0002", + "\u0002\u7062\u7063\u0007Q\u0002\u0002\u7063\u7064\u0007F\u0002\u0002", + "\u7064\u7065\u0007G\u0002\u0002\u7065\u10ca\u0003\u0002\u0002\u0002", + "\u7066\u7067\u0007Z\u0002\u0002\u7067\u7068\u0007O\u0002\u0002\u7068", + "\u7069\u0007N\u0002\u0002\u7069\u706a\u0007K\u0002\u0002\u706a\u706b", + "\u0007U\u0002\u0002\u706b\u706c\u0007X\u0002\u0002\u706c\u706d\u0007", + "C\u0002\u0002\u706d\u706e\u0007N\u0002\u0002\u706e\u706f\u0007K\u0002", + "\u0002\u706f\u7070\u0007F\u0002\u0002\u7070\u10cc\u0003\u0002\u0002", + "\u0002\u7071\u7072\u0007Z\u0002\u0002\u7072\u7073\u0007O\u0002\u0002", + "\u7073\u7074\u0007N\u0002\u0002\u7074\u7075\u0007P\u0002\u0002\u7075", + "\u7076\u0007C\u0002\u0002\u7076\u7077\u0007O\u0002\u0002\u7077\u7078", + "\u0007G\u0002\u0002\u7078\u7079\u0007U\u0002\u0002\u7079\u707a\u0007", + "R\u0002\u0002\u707a\u707b\u0007C\u0002\u0002\u707b\u707c\u0007E\u0002", + "\u0002\u707c\u707d\u0007G\u0002\u0002\u707d\u707e\u0007U\u0002\u0002", + "\u707e\u10ce\u0003\u0002\u0002\u0002\u707f\u7080\u0007Z\u0002\u0002", + "\u7080\u7081\u0007O\u0002\u0002\u7081\u7082\u0007N\u0002\u0002\u7082", + "\u7083\u0007R\u0002\u0002\u7083\u7084\u0007C\u0002\u0002\u7084\u7085", + "\u0007T\u0002\u0002\u7085\u7086\u0007U\u0002\u0002\u7086\u7087\u0007", + "G\u0002\u0002\u7087\u10d0\u0003\u0002\u0002\u0002\u7088\u7089\u0007", + "Z\u0002\u0002\u7089\u708a\u0007O\u0002\u0002\u708a\u708b\u0007N\u0002", + "\u0002\u708b\u708c\u0007R\u0002\u0002\u708c\u708d\u0007C\u0002\u0002", + "\u708d\u708e\u0007V\u0002\u0002\u708e\u708f\u0007E\u0002\u0002\u708f", + "\u7090\u0007J\u0002\u0002\u7090\u10d2\u0003\u0002\u0002\u0002\u7091", + "\u7092\u0007Z\u0002\u0002\u7092\u7093\u0007O\u0002\u0002\u7093\u7094", + "\u0007N\u0002\u0002\u7094\u7095\u0007R\u0002\u0002\u7095\u7096\u0007", + "K\u0002\u0002\u7096\u10d4\u0003\u0002\u0002\u0002\u7097\u7098\u0007", + "Z\u0002\u0002\u7098\u7099\u0007O\u0002\u0002\u7099\u709a\u0007N\u0002", + "\u0002\u709a\u709b\u0007S\u0002\u0002\u709b\u709c\u0007W\u0002\u0002", + "\u709c\u709d\u0007G\u0002\u0002\u709d\u709e\u0007T\u0002\u0002\u709e", + "\u709f\u0007[\u0002\u0002\u709f\u70a0\u0007X\u0002\u0002\u70a0\u70a1", + "\u0007C\u0002\u0002\u70a1\u70a2\u0007N\u0002\u0002\u70a2\u10d6\u0003", + "\u0002\u0002\u0002\u70a3\u70a4\u0007Z\u0002\u0002\u70a4\u70a5\u0007", + "O\u0002\u0002\u70a5\u70a6\u0007N\u0002\u0002\u70a6\u70a7\u0007S\u0002", + "\u0002\u70a7\u70a8\u0007W\u0002\u0002\u70a8\u70a9\u0007G\u0002\u0002", + "\u70a9\u70aa\u0007T\u0002\u0002\u70aa\u70ab\u0007[\u0002\u0002\u70ab", + "\u10d8\u0003\u0002\u0002\u0002\u70ac\u70ad\u0007Z\u0002\u0002\u70ad", + "\u70ae\u0007O\u0002\u0002\u70ae\u70af\u0007N\u0002\u0002\u70af\u70b0", + "\u0007T\u0002\u0002\u70b0\u70b1\u0007Q\u0002\u0002\u70b1\u70b2\u0007", + "Q\u0002\u0002\u70b2\u70b3\u0007V\u0002\u0002\u70b3\u10da\u0003\u0002", + "\u0002\u0002\u70b4\u70b5\u0007Z\u0002\u0002\u70b5\u70b6\u0007O\u0002", + "\u0002\u70b6\u70b7\u0007N\u0002\u0002\u70b7\u70b8\u0007U\u0002\u0002", + "\u70b8\u70b9\u0007E\u0002\u0002\u70b9\u70ba\u0007J\u0002\u0002\u70ba", + "\u70bb\u0007G\u0002\u0002\u70bb\u70bc\u0007O\u0002\u0002\u70bc\u70bd", + "\u0007C\u0002\u0002\u70bd\u10dc\u0003\u0002\u0002\u0002\u70be\u70bf", + "\u0007Z\u0002\u0002\u70bf\u70c0\u0007O\u0002\u0002\u70c0\u70c1\u0007", + "N\u0002\u0002\u70c1\u70c2\u0007U\u0002\u0002\u70c2\u70c3\u0007G\u0002", + "\u0002\u70c3\u70c4\u0007T\u0002\u0002\u70c4\u70c5\u0007K\u0002\u0002", + "\u70c5\u70c6\u0007C\u0002\u0002\u70c6\u70c7\u0007N\u0002\u0002\u70c7", + "\u70c8\u0007K\u0002\u0002\u70c8\u70c9\u0007\\\u0002\u0002\u70c9\u70ca", + "\u0007G\u0002\u0002\u70ca\u10de\u0003\u0002\u0002\u0002\u70cb\u70cc", + "\u0007Z\u0002\u0002\u70cc\u70cd\u0007O\u0002\u0002\u70cd\u70ce\u0007", + "N\u0002\u0002\u70ce\u70cf\u0007V\u0002\u0002\u70cf\u70d0\u0007C\u0002", + "\u0002\u70d0\u70d1\u0007D\u0002\u0002\u70d1\u70d2\u0007N\u0002\u0002", + "\u70d2\u70d3\u0007G\u0002\u0002\u70d3\u10e0\u0003\u0002\u0002\u0002", + "\u70d4\u70d5\u0007Z\u0002\u0002\u70d5\u70d6\u0007O\u0002\u0002\u70d6", + "\u70d7\u0007N\u0002\u0002\u70d7\u70d8\u0007V\u0002\u0002\u70d8\u70d9", + "\u0007T\u0002\u0002\u70d9\u70da\u0007C\u0002\u0002\u70da\u70db\u0007", + "P\u0002\u0002\u70db\u70dc\u0007U\u0002\u0002\u70dc\u70dd\u0007H\u0002", + "\u0002\u70dd\u70de\u0007Q\u0002\u0002\u70de\u70df\u0007T\u0002\u0002", + "\u70df\u70e0\u0007O\u0002\u0002\u70e0\u70e1\u0007D\u0002\u0002\u70e1", + "\u70e2\u0007N\u0002\u0002\u70e2\u70e3\u0007Q\u0002\u0002\u70e3\u70e4", + "\u0007D\u0002\u0002\u70e4\u10e2\u0003\u0002\u0002\u0002\u70e5\u70e6", + "\u0007Z\u0002\u0002\u70e6\u70e7\u0007O\u0002\u0002\u70e7\u70e8\u0007", + "N\u0002\u0002\u70e8\u70e9\u0007V\u0002\u0002\u70e9\u70ea\u0007T\u0002", + "\u0002\u70ea\u70eb\u0007C\u0002\u0002\u70eb\u70ec\u0007P\u0002\u0002", + "\u70ec\u70ed\u0007U\u0002\u0002\u70ed\u70ee\u0007H\u0002\u0002\u70ee", + "\u70ef\u0007Q\u0002\u0002\u70ef\u70f0\u0007T\u0002\u0002\u70f0\u70f1", + "\u0007O\u0002\u0002\u70f1\u10e4\u0003\u0002\u0002\u0002\u70f2\u70f3", + "\u0007Z\u0002\u0002\u70f3\u70f4\u0007O\u0002\u0002\u70f4\u70f5\u0007", + "N\u0002\u0002\u70f5\u70f6\u0007V\u0002\u0002\u70f6\u70f7\u0007[\u0002", + "\u0002\u70f7\u70f8\u0007R\u0002\u0002\u70f8\u70f9\u0007G\u0002\u0002", + "\u70f9\u10e6\u0003\u0002\u0002\u0002\u70fa\u70fb\u0007Z\u0002\u0002", + "\u70fb\u70fc\u0007O\u0002\u0002\u70fc\u70fd\u0007N\u0002\u0002\u70fd", + "\u10e8\u0003\u0002\u0002\u0002\u70fe\u70ff\u0007Z\u0002\u0002\u70ff", + "\u7100\u0007R\u0002\u0002\u7100\u7101\u0007C\u0002\u0002\u7101\u7102", + "\u0007V\u0002\u0002\u7102\u7103\u0007J\u0002\u0002\u7103\u7104\u0007", + "V\u0002\u0002\u7104\u7105\u0007C\u0002\u0002\u7105\u7106\u0007D\u0002", + "\u0002\u7106\u7107\u0007N\u0002\u0002\u7107\u7108\u0007G\u0002\u0002", + "\u7108\u10ea\u0003\u0002\u0002\u0002\u7109\u710a\u0007Z\u0002\u0002", + "\u710a\u710b\u0007U\u0002\u0002\u710b\u710c\u0007a\u0002\u0002\u710c", + "\u710d\u0007U\u0002\u0002\u710d\u710e\u0007[\u0002\u0002\u710e\u710f", + "\u0007U\u0002\u0002\u710f\u7110\u0007a\u0002\u0002\u7110\u7111\u0007", + "E\u0002\u0002\u7111\u7112\u0007Q\u0002\u0002\u7112\u7113\u0007P\u0002", + "\u0002\u7113\u7114\u0007V\u0002\u0002\u7114\u7115\u0007G\u0002\u0002", + "\u7115\u7116\u0007Z\u0002\u0002\u7116\u7117\u0007V\u0002\u0002\u7117", + "\u10ec\u0003\u0002\u0002\u0002\u7118\u7119\u0007Z\u0002\u0002\u7119", + "\u711a\u0007U\u0002\u0002\u711a\u10ee\u0003\u0002\u0002\u0002\u711b", + "\u711c\u0007Z\u0002\u0002\u711c\u711d\u0007V\u0002\u0002\u711d\u711e", + "\u0007T\u0002\u0002\u711e\u711f\u0007C\u0002\u0002\u711f\u7120\u0007", + "P\u0002\u0002\u7120\u7121\u0007U\u0002\u0002\u7121\u7122\u0007R\u0002", + "\u0002\u7122\u7123\u0007Q\u0002\u0002\u7123\u7124\u0007T\u0002\u0002", + "\u7124\u7125\u0007V\u0002\u0002\u7125\u10f0\u0003\u0002\u0002\u0002", + "\u7126\u7127\u0007[\u0002\u0002\u7127\u7128\u0007G\u0002\u0002\u7128", + "\u7129\u0007C\u0002\u0002\u7129\u712a\u0007T\u0002\u0002\u712a\u712b", + "\u0007U\u0002\u0002\u712b\u10f2\u0003\u0002\u0002\u0002\u712c\u712d", + "\u0007[\u0002\u0002\u712d\u712e\u0007G\u0002\u0002\u712e\u712f\u0007", + "C\u0002\u0002\u712f\u7130\u0007T\u0002\u0002\u7130\u10f4\u0003\u0002", + "\u0002\u0002\u7131\u7132\u0007[\u0002\u0002\u7132\u7133\u0007G\u0002", + "\u0002\u7133\u7134\u0007U\u0002\u0002\u7134\u10f6\u0003\u0002\u0002", + "\u0002\u7135\u7136\u0007[\u0002\u0002\u7136\u7137\u0007O\u0002\u0002", + "\u7137\u7138\u0007K\u0002\u0002\u7138\u7139\u0007P\u0002\u0002\u7139", + "\u713a\u0007V\u0002\u0002\u713a\u713b\u0007G\u0002\u0002\u713b\u713c", + "\u0007T\u0002\u0002\u713c\u713d\u0007X\u0002\u0002\u713d\u713e\u0007", + "C\u0002\u0002\u713e\u713f\u0007N\u0002\u0002\u713f\u7140\u0007a\u0002", + "\u0002\u7140\u7141\u0007W\u0002\u0002\u7141\u7142\u0007P\u0002\u0002", + "\u7142\u7143\u0007E\u0002\u0002\u7143\u7144\u0007Q\u0002\u0002\u7144", + "\u7145\u0007P\u0002\u0002\u7145\u7146\u0007U\u0002\u0002\u7146\u7147", + "\u0007V\u0002\u0002\u7147\u7148\u0007T\u0002\u0002\u7148\u7149\u0007", + "C\u0002\u0002\u7149\u714a\u0007K\u0002\u0002\u714a\u714b\u0007P\u0002", + "\u0002\u714b\u714c\u0007G\u0002\u0002\u714c\u714d\u0007F\u0002\u0002", + "\u714d\u10f8\u0003\u0002\u0002\u0002\u714e\u714f\u0007\\\u0002\u0002", + "\u714f\u7150\u0007Q\u0002\u0002\u7150\u7151\u0007P\u0002\u0002\u7151", + "\u7152\u0007G\u0002\u0002\u7152\u7153\u0007O\u0002\u0002\u7153\u7154", + "\u0007C\u0002\u0002\u7154\u7155\u0007R\u0002\u0002\u7155\u10fa\u0003", + "\u0002\u0002\u0002\u7156\u7157\u0007\\\u0002\u0002\u7157\u7158\u0007", + "Q\u0002\u0002\u7158\u7159\u0007P\u0002\u0002\u7159\u715a\u0007G\u0002", + "\u0002\u715a\u10fc\u0003\u0002\u0002\u0002\u715b\u715c\u0007R\u0002", + "\u0002\u715c\u715d\u0007T\u0002\u0002\u715d\u715e\u0007G\u0002\u0002", + "\u715e\u715f\u0007F\u0002\u0002\u715f\u7160\u0007K\u0002\u0002\u7160", + "\u7161\u0007E\u0002\u0002\u7161\u7162\u0007V\u0002\u0002\u7162\u7163", + "\u0007K\u0002\u0002\u7163\u7164\u0007Q\u0002\u0002\u7164\u7165\u0007", + "P\u0002\u0002\u7165\u10fe\u0003\u0002\u0002\u0002\u7166\u7167\u0007", + "R\u0002\u0002\u7167\u7168\u0007T\u0002\u0002\u7168\u7169\u0007G\u0002", + "\u0002\u7169\u716a\u0007F\u0002\u0002\u716a\u716b\u0007K\u0002\u0002", + "\u716b\u716c\u0007E\u0002\u0002\u716c\u716d\u0007V\u0002\u0002\u716d", + "\u716e\u0007K\u0002\u0002\u716e\u716f\u0007Q\u0002\u0002\u716f\u7170", + "\u0007P\u0002\u0002\u7170\u7171\u0007a\u0002\u0002\u7171\u7172\u0007", + "D\u0002\u0002\u7172\u7173\u0007Q\u0002\u0002\u7173\u7174\u0007W\u0002", + "\u0002\u7174\u7175\u0007P\u0002\u0002\u7175\u7176\u0007F\u0002\u0002", + "\u7176\u7177\u0007U\u0002\u0002\u7177\u1100\u0003\u0002\u0002\u0002", + "\u7178\u7179\u0007R\u0002\u0002\u7179\u717a\u0007T\u0002\u0002\u717a", + "\u717b\u0007G\u0002\u0002\u717b\u717c\u0007F\u0002\u0002\u717c\u717d", + "\u0007K\u0002\u0002\u717d\u717e\u0007E\u0002\u0002\u717e\u717f\u0007", + "V\u0002\u0002\u717f\u7180\u0007K\u0002\u0002\u7180\u7181\u0007Q\u0002", + "\u0002\u7181\u7182\u0007P\u0002\u0002\u7182\u7183\u0007a\u0002\u0002", + "\u7183\u7184\u0007E\u0002\u0002\u7184\u7185\u0007Q\u0002\u0002\u7185", + "\u7186\u0007U\u0002\u0002\u7186\u7187\u0007V\u0002\u0002\u7187\u1102", + "\u0003\u0002\u0002\u0002\u7188\u7189\u0007R\u0002\u0002\u7189\u718a", + "\u0007T\u0002\u0002\u718a\u718b\u0007G\u0002\u0002\u718b\u718c\u0007", + "F\u0002\u0002\u718c\u718d\u0007K\u0002\u0002\u718d\u718e\u0007E\u0002", + "\u0002\u718e\u718f\u0007V\u0002\u0002\u718f\u7190\u0007K\u0002\u0002", + "\u7190\u7191\u0007Q\u0002\u0002\u7191\u7192\u0007P\u0002\u0002\u7192", + "\u7193\u0007a\u0002\u0002\u7193\u7194\u0007F\u0002\u0002\u7194\u7195", + "\u0007G\u0002\u0002\u7195\u7196\u0007V\u0002\u0002\u7196\u7197\u0007", + "C\u0002\u0002\u7197\u7198\u0007K\u0002\u0002\u7198\u7199\u0007N\u0002", + "\u0002\u7199\u719a\u0007U\u0002\u0002\u719a\u1104\u0003\u0002\u0002", + "\u0002\u719b\u719c\u0007R\u0002\u0002\u719c\u719d\u0007T\u0002\u0002", + "\u719d\u719e\u0007G\u0002\u0002\u719e\u719f\u0007F\u0002\u0002\u719f", + "\u71a0\u0007K\u0002\u0002\u71a0\u71a1\u0007E\u0002\u0002\u71a1\u71a2", + "\u0007V\u0002\u0002\u71a2\u71a3\u0007K\u0002\u0002\u71a3\u71a4\u0007", + "Q\u0002\u0002\u71a4\u71a5\u0007P\u0002\u0002\u71a5\u71a6\u0007a\u0002", + "\u0002\u71a6\u71a7\u0007R\u0002\u0002\u71a7\u71a8\u0007T\u0002\u0002", + "\u71a8\u71a9\u0007Q\u0002\u0002\u71a9\u71aa\u0007D\u0002\u0002\u71aa", + "\u71ab\u0007C\u0002\u0002\u71ab\u71ac\u0007D\u0002\u0002\u71ac\u71ad", + "\u0007K\u0002\u0002\u71ad\u71ae\u0007N\u0002\u0002\u71ae\u71af\u0007", + "K\u0002\u0002\u71af\u71b0\u0007V\u0002\u0002\u71b0\u71b1\u0007[\u0002", + "\u0002\u71b1\u1106\u0003\u0002\u0002\u0002\u71b2\u71b3\u0007R\u0002", + "\u0002\u71b3\u71b4\u0007T\u0002\u0002\u71b4\u71b5\u0007G\u0002\u0002", + "\u71b5\u71b6\u0007F\u0002\u0002\u71b6\u71b7\u0007K\u0002\u0002\u71b7", + "\u71b8\u0007E\u0002\u0002\u71b8\u71b9\u0007V\u0002\u0002\u71b9\u71ba", + "\u0007K\u0002\u0002\u71ba\u71bb\u0007Q\u0002\u0002\u71bb\u71bc\u0007", + "P\u0002\u0002\u71bc\u71bd\u0007a\u0002\u0002\u71bd\u71be\u0007U\u0002", + "\u0002\u71be\u71bf\u0007G\u0002\u0002\u71bf\u71c0\u0007V\u0002\u0002", + "\u71c0\u1108\u0003\u0002\u0002\u0002\u71c1\u71c2\u0007E\u0002\u0002", + "\u71c2\u71c3\u0007W\u0002\u0002\u71c3\u71c4\u0007O\u0002\u0002\u71c4", + "\u71c5\u0007G\u0002\u0002\u71c5\u71c6\u0007a\u0002\u0002\u71c6\u71c7", + "\u0007F\u0002\u0002\u71c7\u71c8\u0007K\u0002\u0002\u71c8\u71c9\u0007", + "U\u0002\u0002\u71c9\u71ca\u0007V\u0002\u0002\u71ca\u110a\u0003\u0002", + "\u0002\u0002\u71cb\u71cc\u0007F\u0002\u0002\u71cc\u71cd\u0007G\u0002", + "\u0002\u71cd\u71ce\u0007P\u0002\u0002\u71ce\u71cf\u0007U\u0002\u0002", + "\u71cf\u71d0\u0007G\u0002\u0002\u71d0\u71d1\u0007a\u0002\u0002\u71d1", + "\u71d2\u0007T\u0002\u0002\u71d2\u71d3\u0007C\u0002\u0002\u71d3\u71d4", + "\u0007P\u0002\u0002\u71d4\u71d5\u0007M\u0002\u0002\u71d5\u110c\u0003", + "\u0002\u0002\u0002\u71d6\u71d7\u0007N\u0002\u0002\u71d7\u71d8\u0007", + "K\u0002\u0002\u71d8\u71d9\u0007U\u0002\u0002\u71d9\u71da\u0007V\u0002", + "\u0002\u71da\u71db\u0007C\u0002\u0002\u71db\u71dc\u0007I\u0002\u0002", + "\u71dc\u71dd\u0007I\u0002\u0002\u71dd\u110e\u0003\u0002\u0002\u0002", + "\u71de\u71df\u0007R\u0002\u0002\u71df\u71e0\u0007G\u0002\u0002\u71e0", + "\u71e1\u0007T\u0002\u0002\u71e1\u71e2\u0007E\u0002\u0002\u71e2\u71e3", + "\u0007G\u0002\u0002\u71e3\u71e4\u0007P\u0002\u0002\u71e4\u71e5\u0007", + "V\u0002\u0002\u71e5\u71e6\u0007a\u0002\u0002\u71e6\u71e7\u0007T\u0002", + "\u0002\u71e7\u71e8\u0007C\u0002\u0002\u71e8\u71e9\u0007P\u0002\u0002", + "\u71e9\u71ea\u0007M\u0002\u0002\u71ea\u1110\u0003\u0002\u0002\u0002", + "\u71eb\u71ec\u0007R\u0002\u0002\u71ec\u71ed\u0007G\u0002\u0002\u71ed", + "\u71ee\u0007T\u0002\u0002\u71ee\u71ef\u0007E\u0002\u0002\u71ef\u71f0", + "\u0007G\u0002\u0002\u71f0\u71f1\u0007P\u0002\u0002\u71f1\u71f2\u0007", + "V\u0002\u0002\u71f2\u71f3\u0007K\u0002\u0002\u71f3\u71f4\u0007N\u0002", + "\u0002\u71f4\u71f5\u0007G\u0002\u0002\u71f5\u71f6\u0007a\u0002\u0002", + "\u71f6\u71f7\u0007E\u0002\u0002\u71f7\u71f8\u0007Q\u0002\u0002\u71f8", + "\u71f9\u0007P\u0002\u0002\u71f9\u71fa\u0007V\u0002\u0002\u71fa\u1112", + "\u0003\u0002\u0002\u0002\u71fb\u71fc\u0007R\u0002\u0002\u71fc\u71fd", + "\u0007G\u0002\u0002\u71fd\u71fe\u0007T\u0002\u0002\u71fe\u71ff\u0007", + "E\u0002\u0002\u71ff\u7200\u0007G\u0002\u0002\u7200\u7201\u0007P\u0002", + "\u0002\u7201\u7202\u0007V\u0002\u0002\u7202\u7203\u0007K\u0002\u0002", + "\u7203\u7204\u0007N\u0002\u0002\u7204\u7205\u0007G\u0002\u0002\u7205", + "\u7206\u0007a\u0002\u0002\u7206\u7207\u0007F\u0002\u0002\u7207\u7208", + "\u0007K\u0002\u0002\u7208\u7209\u0007U\u0002\u0002\u7209\u720a\u0007", + "E\u0002\u0002\u720a\u1114\u0003\u0002\u0002\u0002\u720b\u720c\u0007", + "T\u0002\u0002\u720c\u720d\u0007C\u0002\u0002\u720d\u720e\u0007P\u0002", + "\u0002\u720e\u720f\u0007M\u0002\u0002\u720f\u1116\u0003\u0002\u0002", + "\u0002\u7210\u7211\u0007C\u0002\u0002\u7211\u7212\u0007X\u0002\u0002", + "\u7212\u7213\u0007I\u0002\u0002\u7213\u1118\u0003\u0002\u0002\u0002", + "\u7214\u7215\u0007E\u0002\u0002\u7215\u7216\u0007Q\u0002\u0002\u7216", + "\u7217\u0007T\u0002\u0002\u7217\u7218\u0007T\u0002\u0002\u7218\u111a", + "\u0003\u0002\u0002\u0002\u7219\u721a\u0007E\u0002\u0002\u721a\u721b", + "\u0007Q\u0002\u0002\u721b\u721c\u0007X\u0002\u0002\u721c\u721d\u0007", + "C\u0002\u0002\u721d\u721e\u0007T\u0002\u0002\u721e\u721f\u0007a\u0002", + "\u0002\u721f\u111c\u0003\u0002\u0002\u0002\u7220\u7221\u0007F\u0002", + "\u0002\u7221\u7222\u0007G\u0002\u0002\u7222\u7223\u0007E\u0002\u0002", + "\u7223\u7224\u0007Q\u0002\u0002\u7224\u7225\u0007F\u0002\u0002\u7225", + "\u7226\u0007G\u0002\u0002\u7226\u111e\u0003\u0002\u0002\u0002\u7227", + "\u7228\u0007N\u0002\u0002\u7228\u7229\u0007C\u0002\u0002\u7229\u722a", + "\u0007I\u0002\u0002\u722a\u1120\u0003\u0002\u0002\u0002\u722b\u722c", + "\u0007N\u0002\u0002\u722c\u722d\u0007G\u0002\u0002\u722d\u722e\u0007", + "C\u0002\u0002\u722e\u722f\u0007F\u0002\u0002\u722f\u1122\u0003\u0002", + "\u0002\u0002\u7230\u7231\u0007O\u0002\u0002\u7231\u7232\u0007C\u0002", + "\u0002\u7232\u7233\u0007Z\u0002\u0002\u7233\u1124\u0003\u0002\u0002", + "\u0002\u7234\u7235\u0007O\u0002\u0002\u7235\u7236\u0007G\u0002\u0002", + "\u7236\u7237\u0007F\u0002\u0002\u7237\u7238\u0007K\u0002\u0002\u7238", + "\u7239\u0007C\u0002\u0002\u7239\u723a\u0007P\u0002\u0002\u723a\u1126", + "\u0003\u0002\u0002\u0002\u723b\u723c\u0007O\u0002\u0002\u723c\u723d", + "\u0007K\u0002\u0002\u723d\u723e\u0007P\u0002\u0002\u723e\u1128\u0003", + "\u0002\u0002\u0002\u723f\u7240\u0007P\u0002\u0002\u7240\u7241\u0007", + "V\u0002\u0002\u7241\u7242\u0007K\u0002\u0002\u7242\u7243\u0007N\u0002", + "\u0002\u7243\u7244\u0007G\u0002\u0002\u7244\u112a\u0003\u0002\u0002", + "\u0002\u7245\u7246\u0007P\u0002\u0002\u7246\u7247\u0007X\u0002\u0002", + "\u7247\u7248\u0007N\u0002\u0002\u7248\u112c\u0003\u0002\u0002\u0002", + "\u7249\u724a\u0007T\u0002\u0002\u724a\u724b\u0007C\u0002\u0002\u724b", + "\u724c\u0007V\u0002\u0002\u724c\u724d\u0007K\u0002\u0002\u724d\u724e", + "\u0007Q\u0002\u0002\u724e\u724f\u0007a\u0002\u0002\u724f\u7250\u0007", + "V\u0002\u0002\u7250\u7251\u0007Q\u0002\u0002\u7251\u7252\u0007a\u0002", + "\u0002\u7252\u7253\u0007T\u0002\u0002\u7253\u7254\u0007G\u0002\u0002", + "\u7254\u7255\u0007R\u0002\u0002\u7255\u7256\u0007Q\u0002\u0002\u7256", + "\u7257\u0007T\u0002\u0002\u7257\u7258\u0007V\u0002\u0002\u7258\u112e", + "\u0003\u0002\u0002\u0002\u7259\u725a\u0007T\u0002\u0002\u725a\u725b", + "\u0007G\u0002\u0002\u725b\u725c\u0007I\u0002\u0002\u725c\u725d\u0007", + "T\u0002\u0002\u725d\u725e\u0007a\u0002\u0002\u725e\u1130\u0003\u0002", + "\u0002\u0002\u725f\u7260\u0007T\u0002\u0002\u7260\u7261\u0007Q\u0002", + "\u0002\u7261\u7262\u0007W\u0002\u0002\u7262\u7263\u0007P\u0002\u0002", + "\u7263\u7264\u0007F\u0002\u0002\u7264\u1132\u0003\u0002\u0002\u0002", + "\u7265\u7266\u0007T\u0002\u0002\u7266\u7267\u0007Q\u0002\u0002\u7267", + "\u7268\u0007Y\u0002\u0002\u7268\u7269\u0007a\u0002\u0002\u7269\u726a", + "\u0007P\u0002\u0002\u726a\u726b\u0007W\u0002\u0002\u726b\u726c\u0007", + "O\u0002\u0002\u726c\u726d\u0007D\u0002\u0002\u726d\u726e\u0007G\u0002", + "\u0002\u726e\u726f\u0007T\u0002\u0002\u726f\u1134\u0003\u0002\u0002", + "\u0002\u7270\u7271\u0007U\u0002\u0002\u7271\u7272\u0007W\u0002\u0002", + "\u7272\u7273\u0007D\u0002\u0002\u7273\u7274\u0007U\u0002\u0002\u7274", + "\u7275\u0007V\u0002\u0002\u7275\u7276\u0007T\u0002\u0002\u7276\u1136", + "\u0003\u0002\u0002\u0002\u7277\u7278\u0007V\u0002\u0002\u7278\u7279", + "\u0007Q\u0002\u0002\u7279\u727a\u0007a\u0002\u0002\u727a\u727b\u0007", + "E\u0002\u0002\u727b\u727c\u0007J\u0002\u0002\u727c\u727d\u0007C\u0002", + "\u0002\u727d\u727e\u0007T\u0002\u0002\u727e\u1138\u0003\u0002\u0002", + "\u0002\u727f\u7280\u0007V\u0002\u0002\u7280\u7281\u0007T\u0002\u0002", + "\u7281\u7282\u0007K\u0002\u0002\u7282\u7283\u0007O\u0002\u0002\u7283", + "\u113a\u0003\u0002\u0002\u0002\u7284\u7285\u0007U\u0002\u0002\u7285", + "\u7286\u0007W\u0002\u0002\u7286\u7287\u0007O\u0002\u0002\u7287\u113c", + "\u0003\u0002\u0002\u0002\u7288\u7289\u0007U\u0002\u0002\u7289\u728a", + "\u0007V\u0002\u0002\u728a\u728b\u0007F\u0002\u0002\u728b\u728c\u0007", + "F\u0002\u0002\u728c\u728d\u0007G\u0002\u0002\u728d\u728e\u0007X\u0002", + "\u0002\u728e\u113e\u0003\u0002\u0002\u0002\u728f\u7290\u0007X\u0002", + "\u0002\u7290\u7291\u0007C\u0002\u0002\u7291\u7292\u0007T\u0002\u0002", + "\u7292\u7293\u0007a\u0002\u0002\u7293\u1140\u0003\u0002\u0002\u0002", + "\u7294\u7295\u0007X\u0002\u0002\u7295\u7296\u0007C\u0002\u0002\u7296", + "\u7297\u0007T\u0002\u0002\u7297\u7298\u0007K\u0002\u0002\u7298\u7299", + "\u0007C\u0002\u0002\u7299\u729a\u0007P\u0002\u0002\u729a\u729b\u0007", + "E\u0002\u0002\u729b\u729c\u0007G\u0002\u0002\u729c\u1142\u0003\u0002", + "\u0002\u0002\u729d\u729e\u0007N\u0002\u0002\u729e\u729f\u0007G\u0002", + "\u0002\u729f\u72a0\u0007C\u0002\u0002\u72a0\u72a1\u0007U\u0002\u0002", + "\u72a1\u72a2\u0007V\u0002\u0002\u72a2\u1144\u0003\u0002\u0002\u0002", + "\u72a3\u72a4\u0007I\u0002\u0002\u72a4\u72a5\u0007T\u0002\u0002\u72a5", + "\u72a6\u0007G\u0002\u0002\u72a6\u72a7\u0007C\u0002\u0002\u72a7\u72a8", + "\u0007V\u0002\u0002\u72a8\u72a9\u0007G\u0002\u0002\u72a9\u72aa\u0007", + "U\u0002\u0002\u72aa\u72ab\u0007V\u0002\u0002\u72ab\u1146\u0003\u0002", + "\u0002\u0002\u72ac\u72ad\u0007V\u0002\u0002\u72ad\u72ae\u0007Q\u0002", + "\u0002\u72ae\u72af\u0007a\u0002\u0002\u72af\u72b0\u0007F\u0002\u0002", + "\u72b0\u72b1\u0007C\u0002\u0002\u72b1\u72b2\u0007V\u0002\u0002\u72b2", + "\u72b3\u0007G\u0002\u0002\u72b3\u1148\u0003\u0002\u0002\u0002\u72b4", + "\u72b5\u0007P\u0002\u0002\u72b5\u72bc\u0007)\u0002\u0002\u72b6\u72bb", + "\n\u0002\u0002\u0002\u72b7\u72b8\u0007)\u0002\u0002\u72b8\u72bb\u0007", + ")\u0002\u0002\u72b9\u72bb\u0005\u11b7\u08dc\u0002\u72ba\u72b6\u0003", + "\u0002\u0002\u0002\u72ba\u72b7\u0003\u0002\u0002\u0002\u72ba\u72b9\u0003", + "\u0002\u0002\u0002\u72bb\u72be\u0003\u0002\u0002\u0002\u72bc\u72ba\u0003", + "\u0002\u0002\u0002\u72bc\u72bd\u0003\u0002\u0002\u0002\u72bd\u72bf\u0003", + "\u0002\u0002\u0002\u72be\u72bc\u0003\u0002\u0002\u0002\u72bf\u72c0\u0007", + ")\u0002\u0002\u72c0\u114a\u0003\u0002\u0002\u0002\u72c1\u72ca\u0007", + "D\u0002\u0002\u72c2\u72c6\u0007)\u0002\u0002\u72c3\u72c5\t\u0003\u0002", + "\u0002\u72c4\u72c3\u0003\u0002\u0002\u0002\u72c5\u72c8\u0003\u0002\u0002", + "\u0002\u72c6\u72c4\u0003\u0002\u0002\u0002\u72c6\u72c7\u0003\u0002\u0002", + "\u0002\u72c7\u72c9\u0003\u0002\u0002\u0002\u72c8\u72c6\u0003\u0002\u0002", + "\u0002\u72c9\u72cb\u0007)\u0002\u0002\u72ca\u72c2\u0003\u0002\u0002", + "\u0002\u72cb\u72cc\u0003\u0002\u0002\u0002\u72cc\u72ca\u0003\u0002\u0002", + "\u0002\u72cc\u72cd\u0003\u0002\u0002\u0002\u72cd\u114c\u0003\u0002\u0002", + "\u0002\u72ce\u72d7\u0007Z\u0002\u0002\u72cf\u72d3\u0007)\u0002\u0002", + "\u72d0\u72d2\t\u0004\u0002\u0002\u72d1\u72d0\u0003\u0002\u0002\u0002", + "\u72d2\u72d5\u0003\u0002\u0002\u0002\u72d3\u72d1\u0003\u0002\u0002\u0002", + "\u72d3\u72d4\u0003\u0002\u0002\u0002\u72d4\u72d6\u0003\u0002\u0002\u0002", + "\u72d5\u72d3\u0003\u0002\u0002\u0002\u72d6\u72d8\u0007)\u0002\u0002", + "\u72d7\u72cf\u0003\u0002\u0002\u0002\u72d8\u72d9\u0003\u0002\u0002\u0002", + "\u72d9\u72d7\u0003\u0002\u0002\u0002\u72d9\u72da\u0003\u0002\u0002\u0002", + "\u72da\u114e\u0003\u0002\u0002\u0002\u72db\u72dc\u00070\u0002\u0002", + "\u72dc\u72dd\u00070\u0002\u0002\u72dd\u1150\u0003\u0002\u0002\u0002", + "\u72de\u72df\u00070\u0002\u0002\u72df\u1152\u0003\u0002\u0002\u0002", + "\u72e0\u72e2\t\u0005\u0002\u0002\u72e1\u72e0\u0003\u0002\u0002\u0002", + "\u72e2\u72e3\u0003\u0002\u0002\u0002\u72e3\u72e1\u0003\u0002\u0002\u0002", + "\u72e3\u72e4\u0003\u0002\u0002\u0002\u72e4\u1154\u0003\u0002\u0002\u0002", + "\u72e5\u72f2\u0005\u11b5\u08db\u0002\u72e6\u72e8\u0007G\u0002\u0002", + "\u72e7\u72e9\t\u0006\u0002\u0002\u72e8\u72e7\u0003\u0002\u0002\u0002", + "\u72e8\u72e9\u0003\u0002\u0002\u0002\u72e9\u72f0\u0003\u0002\u0002\u0002", + "\u72ea\u72f1\u0005\u11b5\u08db\u0002\u72eb\u72ed\t\u0005\u0002\u0002", + "\u72ec\u72eb\u0003\u0002\u0002\u0002\u72ed\u72ee\u0003\u0002\u0002\u0002", + "\u72ee\u72ec\u0003\u0002\u0002\u0002\u72ee\u72ef\u0003\u0002\u0002\u0002", + "\u72ef\u72f1\u0003\u0002\u0002\u0002\u72f0\u72ea\u0003\u0002\u0002\u0002", + "\u72f0\u72ec\u0003\u0002\u0002\u0002\u72f1\u72f3\u0003\u0002\u0002\u0002", + "\u72f2\u72e6\u0003\u0002\u0002\u0002\u72f2\u72f3\u0003\u0002\u0002\u0002", + "\u72f3\u72f5\u0003\u0002\u0002\u0002\u72f4\u72f6\t\u0007\u0002\u0002", + "\u72f5\u72f4\u0003\u0002\u0002\u0002\u72f5\u72f6\u0003\u0002\u0002\u0002", + "\u72f6\u1156\u0003\u0002\u0002\u0002\u72f7\u72fe\u0007)\u0002\u0002", + "\u72f8\u72fd\n\u0002\u0002\u0002\u72f9\u72fa\u0007)\u0002\u0002\u72fa", + "\u72fd\u0007)\u0002\u0002\u72fb\u72fd\u0005\u11b7\u08dc\u0002\u72fc", + "\u72f8\u0003\u0002\u0002\u0002\u72fc\u72f9\u0003\u0002\u0002\u0002\u72fc", + "\u72fb\u0003\u0002\u0002\u0002\u72fd\u7300\u0003\u0002\u0002\u0002\u72fe", + "\u72fc\u0003\u0002\u0002\u0002\u72fe\u72ff\u0003\u0002\u0002\u0002\u72ff", + "\u7301\u0003\u0002\u0002\u0002\u7300\u72fe\u0003\u0002\u0002\u0002\u7301", + "\u7302\u0007)\u0002\u0002\u7302\u1158\u0003\u0002\u0002\u0002\u7303", + "\u7304\u0007S\u0002\u0002\u7304\u730d\u0007)\u0002\u0002\u7305\u730e", + "\u0005\u115b\u08ae\u0002\u7306\u730e\u0005\u115d\u08af\u0002\u7307\u730e", + "\u0005\u115f\u08b0\u0002\u7308\u730e\u0005\u1161\u08b1\u0002\u7309\u730e", + "\u0005\u1163\u08b2\u0002\u730a\u730e\u0005\u1165\u08b3\u0002\u730b\u730e", + "\u0005\u1167\u08b4\u0002\u730c\u730e\u0005\u1169\u08b5\u0002\u730d\u7305", + "\u0003\u0002\u0002\u0002\u730d\u7306\u0003\u0002\u0002\u0002\u730d\u7307", + "\u0003\u0002\u0002\u0002\u730d\u7308\u0003\u0002\u0002\u0002\u730d\u7309", + "\u0003\u0002\u0002\u0002\u730d\u730a\u0003\u0002\u0002\u0002\u730d\u730b", + "\u0003\u0002\u0002\u0002\u730d\u730c\u0003\u0002\u0002\u0002\u730e\u730f", + "\u0003\u0002\u0002\u0002\u730f\u7310\u0007)\u0002\u0002\u7310\u7311", + "\u0003\u0002\u0002\u0002\u7311\u7312\b\u08ad\u0002\u0002\u7312\u115a", + "\u0003\u0002\u0002\u0002\u7313\u7317\u0007>\u0002\u0002\u7314\u7316", + "\u000b\u0002\u0002\u0002\u7315\u7314\u0003\u0002\u0002\u0002\u7316\u7319", + "\u0003\u0002\u0002\u0002\u7317\u7318\u0003\u0002\u0002\u0002\u7317\u7315", + "\u0003\u0002\u0002\u0002\u7318\u731a\u0003\u0002\u0002\u0002\u7319\u7317", + "\u0003\u0002\u0002\u0002\u731a\u731b\u0007@\u0002\u0002\u731b\u115c", + "\u0003\u0002\u0002\u0002\u731c\u7320\u0007}\u0002\u0002\u731d\u731f", + "\u000b\u0002\u0002\u0002\u731e\u731d\u0003\u0002\u0002\u0002\u731f\u7322", + "\u0003\u0002\u0002\u0002\u7320\u7321\u0003\u0002\u0002\u0002\u7320\u731e", + "\u0003\u0002\u0002\u0002\u7321\u7323\u0003\u0002\u0002\u0002\u7322\u7320", + "\u0003\u0002\u0002\u0002\u7323\u7324\u0007\u007f\u0002\u0002\u7324\u115e", + "\u0003\u0002\u0002\u0002\u7325\u7329\u0007]\u0002\u0002\u7326\u7328", + "\u000b\u0002\u0002\u0002\u7327\u7326\u0003\u0002\u0002\u0002\u7328\u732b", + "\u0003\u0002\u0002\u0002\u7329\u732a\u0003\u0002\u0002\u0002\u7329\u7327", + "\u0003\u0002\u0002\u0002\u732a\u732c\u0003\u0002\u0002\u0002\u732b\u7329", + "\u0003\u0002\u0002\u0002\u732c\u732d\u0007_\u0002\u0002\u732d\u1160", + "\u0003\u0002\u0002\u0002\u732e\u7332\u0007*\u0002\u0002\u732f\u7331", + "\u000b\u0002\u0002\u0002\u7330\u732f\u0003\u0002\u0002\u0002\u7331\u7334", + "\u0003\u0002\u0002\u0002\u7332\u7333\u0003\u0002\u0002\u0002\u7332\u7330", + "\u0003\u0002\u0002\u0002\u7333\u7335\u0003\u0002\u0002\u0002\u7334\u7332", + "\u0003\u0002\u0002\u0002\u7335\u7336\u0007+\u0002\u0002\u7336\u1162", + "\u0003\u0002\u0002\u0002\u7337\u733b\u0007#\u0002\u0002\u7338\u733a", + "\u000b\u0002\u0002\u0002\u7339\u7338\u0003\u0002\u0002\u0002\u733a\u733d", + "\u0003\u0002\u0002\u0002\u733b\u733c\u0003\u0002\u0002\u0002\u733b\u7339", + "\u0003\u0002\u0002\u0002\u733c\u733e\u0003\u0002\u0002\u0002\u733d\u733b", + "\u0003\u0002\u0002\u0002\u733e\u733f\u0007#\u0002\u0002\u733f\u1164", + "\u0003\u0002\u0002\u0002\u7340\u7344\u0007%\u0002\u0002\u7341\u7343", + "\u000b\u0002\u0002\u0002\u7342\u7341\u0003\u0002\u0002\u0002\u7343\u7346", + "\u0003\u0002\u0002\u0002\u7344\u7345\u0003\u0002\u0002\u0002\u7344\u7342", + "\u0003\u0002\u0002\u0002\u7345\u7347\u0003\u0002\u0002\u0002\u7346\u7344", + "\u0003\u0002\u0002\u0002\u7347\u7348\u0007%\u0002\u0002\u7348\u1166", + "\u0003\u0002\u0002\u0002\u7349\u734d\u0007)\u0002\u0002\u734a\u734c", + "\u000b\u0002\u0002\u0002\u734b\u734a\u0003\u0002\u0002\u0002\u734c\u734f", + "\u0003\u0002\u0002\u0002\u734d\u734e\u0003\u0002\u0002\u0002\u734d\u734b", + "\u0003\u0002\u0002\u0002\u734e\u7350\u0003\u0002\u0002\u0002\u734f\u734d", + "\u0003\u0002\u0002\u0002\u7350\u7351\u0007)\u0002\u0002\u7351\u1168", + "\u0003\u0002\u0002\u0002\u7352\u7356\u0007$\u0002\u0002\u7353\u7355", + "\u000b\u0002\u0002\u0002\u7354\u7353\u0003\u0002\u0002\u0002\u7355\u7358", + "\u0003\u0002\u0002\u0002\u7356\u7357\u0003\u0002\u0002\u0002\u7356\u7354", + "\u0003\u0002\u0002\u0002\u7357\u7359\u0003\u0002\u0002\u0002\u7358\u7356", + "\u0003\u0002\u0002\u0002\u7359\u735a\u0007$\u0002\u0002\u735a\u116a", + "\u0003\u0002\u0002\u0002\u735b\u735f\u0007$\u0002\u0002\u735c\u7360", + "\n\b\u0002\u0002\u735d\u735e\u0007$\u0002\u0002\u735e\u7360\u0007$\u0002", + "\u0002\u735f\u735c\u0003\u0002\u0002\u0002\u735f\u735d\u0003\u0002\u0002", + "\u0002\u7360\u7361\u0003\u0002\u0002\u0002\u7361\u735f\u0003\u0002\u0002", + "\u0002\u7361\u7362\u0003\u0002\u0002\u0002\u7362\u7363\u0003\u0002\u0002", + "\u0002\u7363\u7364\u0007$\u0002\u0002\u7364\u116c\u0003\u0002\u0002", + "\u0002\u7365\u7366\u0007\'\u0002\u0002\u7366\u116e\u0003\u0002\u0002", + "\u0002\u7367\u7368\u0007(\u0002\u0002\u7368\u1170\u0003\u0002\u0002", + "\u0002\u7369\u736a\u0007*\u0002\u0002\u736a\u1172\u0003\u0002\u0002", + "\u0002\u736b\u736c\u0007+\u0002\u0002\u736c\u1174\u0003\u0002\u0002", + "\u0002\u736d\u736e\u0007,\u0002\u0002\u736e\u736f\u0007,\u0002\u0002", + "\u736f\u1176\u0003\u0002\u0002\u0002\u7370\u7371\u0007,\u0002\u0002", + "\u7371\u1178\u0003\u0002\u0002\u0002\u7372\u7373\u0007-\u0002\u0002", + "\u7373\u117a\u0003\u0002\u0002\u0002\u7374\u7375\u0007/\u0002\u0002", + "\u7375\u117c\u0003\u0002\u0002\u0002\u7376\u7377\u0007.\u0002\u0002", + "\u7377\u117e\u0003\u0002\u0002\u0002\u7378\u7379\u00071\u0002\u0002", + "\u7379\u1180\u0003\u0002\u0002\u0002\u737a\u737b\u0007B\u0002\u0002", + "\u737b\u1182\u0003\u0002\u0002\u0002\u737c\u737d\u0007<\u0002\u0002", + "\u737d\u737e\u0007?\u0002\u0002\u737e\u1184\u0003\u0002\u0002\u0002", + "\u737f\u7380\u0007<\u0002\u0002\u7380\u7385\u0005\u11b3\u08da\u0002", + "\u7381\u7384\u0005\u11b3\u08da\u0002\u7382\u7384\t\t\u0002\u0002\u7383", + "\u7381\u0003\u0002\u0002\u0002\u7383\u7382\u0003\u0002\u0002\u0002\u7384", + "\u7387\u0003\u0002\u0002\u0002\u7385\u7383\u0003\u0002\u0002\u0002\u7385", + "\u7386\u0003\u0002\u0002\u0002\u7386\u738e\u0003\u0002\u0002\u0002\u7387", + "\u7385\u0003\u0002\u0002\u0002\u7388\u7389\u0007<\u0002\u0002\u7389", + "\u738e\u0005\u116b\u08b6\u0002\u738a\u738b\u0007<\u0002\u0002\u738b", + "\u738e\u0005\u1153\u08aa\u0002\u738c\u738e\u0005\u11b1\u08d9\u0002\u738d", + "\u737f\u0003\u0002\u0002\u0002\u738d\u7388\u0003\u0002\u0002\u0002\u738d", + "\u738a\u0003\u0002\u0002\u0002\u738d\u738c\u0003\u0002\u0002\u0002\u738e", + "\u1186\u0003\u0002\u0002\u0002\u738f\u7390\u0007#\u0002\u0002\u7390", + "\u7398\u0007?\u0002\u0002\u7391\u7392\u0007>\u0002\u0002\u7392\u7398", + "\u0007@\u0002\u0002\u7393\u7394\u0007`\u0002\u0002\u7394\u7398\u0007", + "?\u0002\u0002\u7395\u7396\u0007\u0080\u0002\u0002\u7396\u7398\u0007", + "?\u0002\u0002\u7397\u738f\u0003\u0002\u0002\u0002\u7397\u7391\u0003", + "\u0002\u0002\u0002\u7397\u7393\u0003\u0002\u0002\u0002\u7397\u7395\u0003", + "\u0002\u0002\u0002\u7398\u1188\u0003\u0002\u0002\u0002\u7399\u739a\u0007", + "`\u0002\u0002\u739a\u118a\u0003\u0002\u0002\u0002\u739b\u739c\u0007", + "\u0080\u0002\u0002\u739c\u118c\u0003\u0002\u0002\u0002\u739d\u739e\u0007", + "#\u0002\u0002\u739e\u118e\u0003\u0002\u0002\u0002\u739f\u73a0\u0007", + "@\u0002\u0002\u73a0\u1190\u0003\u0002\u0002\u0002\u73a1\u73a2\u0007", + ">\u0002\u0002\u73a2\u1192\u0003\u0002\u0002\u0002\u73a3\u73a4\u0007", + "<\u0002\u0002\u73a4\u1194\u0003\u0002\u0002\u0002\u73a5\u73a6\u0007", + "=\u0002\u0002\u73a6\u1196\u0003\u0002\u0002\u0002\u73a7\u73a8\u0007", + "~\u0002\u0002\u73a8\u1198\u0003\u0002\u0002\u0002\u73a9\u73aa\u0007", + "?\u0002\u0002\u73aa\u119a\u0003\u0002\u0002\u0002\u73ab\u73ac\u0007", + "]\u0002\u0002\u73ac\u119c\u0003\u0002\u0002\u0002\u73ad\u73ae\u0007", + "_\u0002\u0002\u73ae\u119e\u0003\u0002\u0002\u0002\u73af\u73b0\u0007", + "a\u0002\u0002\u73b0\u11a0\u0003\u0002\u0002\u0002\u73b1\u73b2\u0007", + "/\u0002\u0002\u73b2\u73b3\u0007/\u0002\u0002\u73b3\u73b7\u0003\u0002", + "\u0002\u0002\u73b4\u73b6\n\n\u0002\u0002\u73b5\u73b4\u0003\u0002\u0002", + "\u0002\u73b6\u73b9\u0003\u0002\u0002\u0002\u73b7\u73b5\u0003\u0002\u0002", + "\u0002\u73b7\u73b8\u0003\u0002\u0002\u0002\u73b8\u73ba\u0003\u0002\u0002", + "\u0002\u73b9\u73b7\u0003\u0002\u0002\u0002\u73ba\u73bb\u0005\u11af\u08d8", + "\u0002\u73bb\u73bc\u0003\u0002\u0002\u0002\u73bc\u73bd\b\u08d1\u0003", + "\u0002\u73bd\u11a2\u0003\u0002\u0002\u0002\u73be\u73bf\u00071\u0002", + "\u0002\u73bf\u73c0\u0007,\u0002\u0002\u73c0\u73c4\u0003\u0002\u0002", + "\u0002\u73c1\u73c3\u000b\u0002\u0002\u0002\u73c2\u73c1\u0003\u0002\u0002", + "\u0002\u73c3\u73c6\u0003\u0002\u0002\u0002\u73c4\u73c5\u0003\u0002\u0002", + "\u0002\u73c4\u73c2\u0003\u0002\u0002\u0002\u73c5\u73c7\u0003\u0002\u0002", + "\u0002\u73c6\u73c4\u0003\u0002\u0002\u0002\u73c7\u73c8\u0007,\u0002", + "\u0002\u73c8\u73c9\u00071\u0002\u0002\u73c9\u73ca\u0003\u0002\u0002", + "\u0002\u73ca\u73cb\b\u08d2\u0003\u0002\u73cb\u11a4\u0003\u0002\u0002", + "\u0002\u73cc\u73cd\u0007T\u0002\u0002\u73cd\u73ce\u0007G\u0002\u0002", + "\u73ce\u73cf\u0007O\u0002\u0002\u73cf\u73d0\u0003\u0002\u0002\u0002", + "\u73d0\u73d4\u0006\u08d3\u0002\u0002\u73d1\u73d2\u0007C\u0002\u0002", + "\u73d2\u73d3\u0007T\u0002\u0002\u73d3\u73d5\u0007M\u0002\u0002\u73d4", + "\u73d1\u0003\u0002\u0002\u0002\u73d4\u73d5\u0003\u0002\u0002\u0002\u73d5", + "\u73dd\u0003\u0002\u0002\u0002\u73d6\u73da\u0007\"\u0002\u0002\u73d7", + "\u73d9\n\n\u0002\u0002\u73d8\u73d7\u0003\u0002\u0002\u0002\u73d9\u73dc", + "\u0003\u0002\u0002\u0002\u73da\u73d8\u0003\u0002\u0002\u0002\u73da\u73db", + "\u0003\u0002\u0002\u0002\u73db\u73de\u0003\u0002\u0002\u0002\u73dc\u73da", + "\u0003\u0002\u0002\u0002\u73dd\u73d6\u0003\u0002\u0002\u0002\u73dd\u73de", + "\u0003\u0002\u0002\u0002\u73de\u73df\u0003\u0002\u0002\u0002\u73df\u73e0", + "\u0005\u11af\u08d8\u0002\u73e0\u73e1\u0003\u0002\u0002\u0002\u73e1\u73e2", + "\b\u08d3\u0003\u0002\u73e2\u11a6\u0003\u0002\u0002\u0002\u73e3\u73e4", + "\u0007R\u0002\u0002\u73e4\u73e5\u0007T\u0002\u0002\u73e5\u73e6\u0007", + "Q\u0002\u0002\u73e6\u73e7\u0003\u0002\u0002\u0002\u73e7\u73eb\u0006", + "\u08d4\u0003\u0002\u73e8\u73e9\u0007O\u0002\u0002\u73e9\u73ea\u0007", + "R\u0002\u0002\u73ea\u73ec\u0007V\u0002\u0002\u73eb\u73e8\u0003\u0002", + "\u0002\u0002\u73eb\u73ec\u0003\u0002\u0002\u0002\u73ec\u73f4\u0003\u0002", + "\u0002\u0002\u73ed\u73f1\u0007\"\u0002\u0002\u73ee\u73f0\n\n\u0002\u0002", + "\u73ef\u73ee\u0003\u0002\u0002\u0002\u73f0\u73f3\u0003\u0002\u0002\u0002", + "\u73f1\u73ef\u0003\u0002\u0002\u0002\u73f1\u73f2\u0003\u0002\u0002\u0002", + "\u73f2\u73f5\u0003\u0002\u0002\u0002\u73f3\u73f1\u0003\u0002\u0002\u0002", + "\u73f4\u73ed\u0003\u0002\u0002\u0002\u73f4\u73f5\u0003\u0002\u0002\u0002", + "\u73f5\u73f6\u0003\u0002\u0002\u0002\u73f6\u73f7\u0005\u11af\u08d8\u0002", + "\u73f7\u11a8\u0003\u0002\u0002\u0002\u73f8\u73f9\u0007B\u0002\u0002", + "\u73f9\u73fb\u0006\u08d5\u0004\u0002\u73fa\u73fc\u0007B\u0002\u0002", + "\u73fb\u73fa\u0003\u0002\u0002\u0002\u73fb\u73fc\u0003\u0002\u0002\u0002", + "\u73fc\u7400\u0003\u0002\u0002\u0002\u73fd\u73ff\n\n\u0002\u0002\u73fe", + "\u73fd\u0003\u0002\u0002\u0002\u73ff\u7402\u0003\u0002\u0002\u0002\u7400", + "\u73fe\u0003\u0002\u0002\u0002\u7400\u7401\u0003\u0002\u0002\u0002\u7401", + "\u7403\u0003\u0002\u0002\u0002\u7402\u7400\u0003\u0002\u0002\u0002\u7403", + "\u7404\u0005\u11af\u08d8\u0002\u7404\u11aa\u0003\u0002\u0002\u0002\u7405", + "\u740a\u0005\u11b3\u08da\u0002\u7406\u7409\u0005\u11b3\u08da\u0002\u7407", + "\u7409\t\u000b\u0002\u0002\u7408\u7406\u0003\u0002\u0002\u0002\u7408", + "\u7407\u0003\u0002\u0002\u0002\u7409\u740c\u0003\u0002\u0002\u0002\u740a", + "\u7408\u0003\u0002\u0002\u0002\u740a\u740b\u0003\u0002\u0002\u0002\u740b", + "\u11ac\u0003\u0002\u0002\u0002\u740c\u740a\u0003\u0002\u0002\u0002\u740d", + "\u740f\t\f\u0002\u0002\u740e\u740d\u0003\u0002\u0002\u0002\u740f\u7410", + "\u0003\u0002\u0002\u0002\u7410\u740e\u0003\u0002\u0002\u0002\u7410\u7411", + "\u0003\u0002\u0002\u0002\u7411\u7412\u0003\u0002\u0002\u0002\u7412\u7413", + "\b\u08d7\u0003\u0002\u7413\u11ae\u0003\u0002\u0002\u0002\u7414\u7417", + "\u0005\u11b7\u08dc\u0002\u7415\u7417\u0007\u0002\u0002\u0003\u7416\u7414", + "\u0003\u0002\u0002\u0002\u7416\u7415\u0003\u0002\u0002\u0002\u7417\u11b0", + "\u0003\u0002\u0002\u0002\u7418\u7419\u0007A\u0002\u0002\u7419\u11b2", + "\u0003\u0002\u0002\u0002\u741a\u741b\t\r\u0002\u0002\u741b\u11b4\u0003", + "\u0002\u0002\u0002\u741c\u741e\u0005\u1153\u08aa\u0002\u741d\u741c\u0003", + "\u0002\u0002\u0002\u741e\u7421\u0003\u0002\u0002\u0002\u741f\u741d\u0003", + "\u0002\u0002\u0002\u741f\u7420\u0003\u0002\u0002\u0002\u7420\u7423\u0003", + "\u0002\u0002\u0002\u7421\u741f\u0003\u0002\u0002\u0002\u7422\u7424\u0007", + "0\u0002\u0002\u7423\u7422\u0003\u0002\u0002\u0002\u7423\u7424\u0003", + "\u0002\u0002\u0002\u7424\u7426\u0003\u0002\u0002\u0002\u7425\u7427\u0005", + "\u1153\u08aa\u0002\u7426\u7425\u0003\u0002\u0002\u0002\u7427\u7428\u0003", + "\u0002\u0002\u0002\u7428\u7426\u0003\u0002\u0002\u0002\u7428\u7429\u0003", + "\u0002\u0002\u0002\u7429\u11b6\u0003\u0002\u0002\u0002\u742a\u742c\u0007", + "\u000f\u0002\u0002\u742b\u742a\u0003\u0002\u0002\u0002\u742b\u742c\u0003", + "\u0002\u0002\u0002\u742c\u742d\u0003\u0002\u0002\u0002\u742d\u742e\u0007", + "\f\u0002\u0002\u742e\u11b8\u0003\u0002\u0002\u0002\u742f\u7430\t\u000e", + "\u0002\u0002\u7430\u11ba\u0003\u0002\u0002\u00028\u0002\u4680\u468d", + "\u469b\u46c1\u46d1\u46e0\u72ba\u72bc\u72c6\u72cc\u72d3\u72d9\u72e3\u72e8", + "\u72ee\u72f0\u72f2\u72f5\u72fc\u72fe\u730d\u7317\u7320\u7329\u7332\u733b", + "\u7344\u734d\u7356\u735f\u7361\u7383\u7385\u738d\u7397\u73b7\u73c4\u73d4", + "\u73da\u73dd\u73eb\u73f1\u73f4\u73fb\u7400\u7408\u740a\u7410\u7416\u741f", + "\u7423\u7428\u742b\u0004\t\u08ad\u0002\u0002\u0003\u0002"].join(""); + + +var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); + +var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); + +function PlSqlLexer(input) { + PlSqlBaseLexer.call(this, input); + this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache()); + return this; +} + +PlSqlLexer.prototype = Object.create(PlSqlBaseLexer.prototype); +PlSqlLexer.prototype.constructor = PlSqlLexer; + +Object.defineProperty(PlSqlLexer.prototype, "atn", { + get : function() { + return atn; + } +}); + +PlSqlLexer.EOF = antlr4.Token.EOF; +PlSqlLexer.ABORT = 1; +PlSqlLexer.ABS = 2; +PlSqlLexer.ACCESS = 3; +PlSqlLexer.ACCESSED = 4; +PlSqlLexer.ACCOUNT = 5; +PlSqlLexer.ACL = 6; +PlSqlLexer.ACOS = 7; +PlSqlLexer.ACTION = 8; +PlSqlLexer.ACTIONS = 9; +PlSqlLexer.ACTIVATE = 10; +PlSqlLexer.ACTIVE = 11; +PlSqlLexer.ACTIVE_COMPONENT = 12; +PlSqlLexer.ACTIVE_DATA = 13; +PlSqlLexer.ACTIVE_FUNCTION = 14; +PlSqlLexer.ACTIVE_TAG = 15; +PlSqlLexer.ACTIVITY = 16; +PlSqlLexer.ADAPTIVE_PLAN = 17; +PlSqlLexer.ADD = 18; +PlSqlLexer.ADD_COLUMN = 19; +PlSqlLexer.ADD_GROUP = 20; +PlSqlLexer.ADD_MONTHS = 21; +PlSqlLexer.ADJ_DATE = 22; +PlSqlLexer.ADMIN = 23; +PlSqlLexer.ADMINISTER = 24; +PlSqlLexer.ADMINISTRATOR = 25; +PlSqlLexer.ADVANCED = 26; +PlSqlLexer.ADVISE = 27; +PlSqlLexer.ADVISOR = 28; +PlSqlLexer.AFD_DISKSTRING = 29; +PlSqlLexer.AFTER = 30; +PlSqlLexer.AGENT = 31; +PlSqlLexer.AGGREGATE = 32; +PlSqlLexer.A_LETTER = 33; +PlSqlLexer.ALIAS = 34; +PlSqlLexer.ALL = 35; +PlSqlLexer.ALLOCATE = 36; +PlSqlLexer.ALLOW = 37; +PlSqlLexer.ALL_ROWS = 38; +PlSqlLexer.ALTER = 39; +PlSqlLexer.ALWAYS = 40; +PlSqlLexer.ANALYZE = 41; +PlSqlLexer.ANCILLARY = 42; +PlSqlLexer.AND = 43; +PlSqlLexer.AND_EQUAL = 44; +PlSqlLexer.ANOMALY = 45; +PlSqlLexer.ANSI_REARCH = 46; +PlSqlLexer.ANTIJOIN = 47; +PlSqlLexer.ANY = 48; +PlSqlLexer.ANYSCHEMA = 49; +PlSqlLexer.APPEND = 50; +PlSqlLexer.APPENDCHILDXML = 51; +PlSqlLexer.APPEND_VALUES = 52; +PlSqlLexer.APPLICATION = 53; +PlSqlLexer.APPLY = 54; +PlSqlLexer.APPROX_COUNT_DISTINCT = 55; +PlSqlLexer.ARCHIVAL = 56; +PlSqlLexer.ARCHIVE = 57; +PlSqlLexer.ARCHIVED = 58; +PlSqlLexer.ARCHIVELOG = 59; +PlSqlLexer.ARRAY = 60; +PlSqlLexer.AS = 61; +PlSqlLexer.ASC = 62; +PlSqlLexer.ASCII = 63; +PlSqlLexer.ASCIISTR = 64; +PlSqlLexer.ASIN = 65; +PlSqlLexer.ASIS = 66; +PlSqlLexer.ASSEMBLY = 67; +PlSqlLexer.ASSIGN = 68; +PlSqlLexer.ASSOCIATE = 69; +PlSqlLexer.ASYNC = 70; +PlSqlLexer.ASYNCHRONOUS = 71; +PlSqlLexer.ATAN2 = 72; +PlSqlLexer.ATAN = 73; +PlSqlLexer.AT = 74; +PlSqlLexer.ATTRIBUTE = 75; +PlSqlLexer.ATTRIBUTES = 76; +PlSqlLexer.AUDIT = 77; +PlSqlLexer.AUTHENTICATED = 78; +PlSqlLexer.AUTHENTICATION = 79; +PlSqlLexer.AUTHID = 80; +PlSqlLexer.AUTHORIZATION = 81; +PlSqlLexer.AUTOALLOCATE = 82; +PlSqlLexer.AUTO = 83; +PlSqlLexer.AUTOBACKUP = 84; +PlSqlLexer.AUTOEXTEND = 85; +PlSqlLexer.AUTO_LOGIN = 86; +PlSqlLexer.AUTOMATIC = 87; +PlSqlLexer.AUTONOMOUS_TRANSACTION = 88; +PlSqlLexer.AUTO_REOPTIMIZE = 89; +PlSqlLexer.AVAILABILITY = 90; +PlSqlLexer.AVRO = 91; +PlSqlLexer.BACKGROUND = 92; +PlSqlLexer.BACKUP = 93; +PlSqlLexer.BACKUPSET = 94; +PlSqlLexer.BASIC = 95; +PlSqlLexer.BASICFILE = 96; +PlSqlLexer.BATCH = 97; +PlSqlLexer.BATCHSIZE = 98; +PlSqlLexer.BATCH_TABLE_ACCESS_BY_ROWID = 99; +PlSqlLexer.BECOME = 100; +PlSqlLexer.BEFORE = 101; +PlSqlLexer.BEGIN = 102; +PlSqlLexer.BEGINNING = 103; +PlSqlLexer.BEGIN_OUTLINE_DATA = 104; +PlSqlLexer.BEHALF = 105; +PlSqlLexer.BEQUEATH = 106; +PlSqlLexer.BETWEEN = 107; +PlSqlLexer.BFILE = 108; +PlSqlLexer.BFILENAME = 109; +PlSqlLexer.BIGFILE = 110; +PlSqlLexer.BINARY = 111; +PlSqlLexer.BINARY_DOUBLE = 112; +PlSqlLexer.BINARY_DOUBLE_INFINITY = 113; +PlSqlLexer.BINARY_DOUBLE_NAN = 114; +PlSqlLexer.BINARY_FLOAT = 115; +PlSqlLexer.BINARY_FLOAT_INFINITY = 116; +PlSqlLexer.BINARY_FLOAT_NAN = 117; +PlSqlLexer.BINARY_INTEGER = 118; +PlSqlLexer.BIND_AWARE = 119; +PlSqlLexer.BINDING = 120; +PlSqlLexer.BIN_TO_NUM = 121; +PlSqlLexer.BITAND = 122; +PlSqlLexer.BITMAP_AND = 123; +PlSqlLexer.BITMAP = 124; +PlSqlLexer.BITMAPS = 125; +PlSqlLexer.BITMAP_TREE = 126; +PlSqlLexer.BITS = 127; +PlSqlLexer.BLOB = 128; +PlSqlLexer.BLOCK = 129; +PlSqlLexer.BLOCK_RANGE = 130; +PlSqlLexer.BLOCKS = 131; +PlSqlLexer.BLOCKSIZE = 132; +PlSqlLexer.BODY = 133; +PlSqlLexer.BOOLEAN = 134; +PlSqlLexer.BOTH = 135; +PlSqlLexer.BOUND = 136; +PlSqlLexer.BRANCH = 137; +PlSqlLexer.BREADTH = 138; +PlSqlLexer.BROADCAST = 139; +PlSqlLexer.BSON = 140; +PlSqlLexer.BUFFER = 141; +PlSqlLexer.BUFFER_CACHE = 142; +PlSqlLexer.BUFFER_POOL = 143; +PlSqlLexer.BUILD = 144; +PlSqlLexer.BULK = 145; +PlSqlLexer.BY = 146; +PlSqlLexer.BYPASS_RECURSIVE_CHECK = 147; +PlSqlLexer.BYPASS_UJVC = 148; +PlSqlLexer.BYTE = 149; +PlSqlLexer.CACHE = 150; +PlSqlLexer.CACHE_CB = 151; +PlSqlLexer.CACHE_INSTANCES = 152; +PlSqlLexer.CACHE_TEMP_TABLE = 153; +PlSqlLexer.CACHING = 154; +PlSqlLexer.CALCULATED = 155; +PlSqlLexer.CALLBACK = 156; +PlSqlLexer.CALL = 157; +PlSqlLexer.CANCEL = 158; +PlSqlLexer.CANONICAL = 159; +PlSqlLexer.CAPACITY = 160; +PlSqlLexer.CARDINALITY = 161; +PlSqlLexer.CASCADE = 162; +PlSqlLexer.CASE = 163; +PlSqlLexer.CAST = 164; +PlSqlLexer.CATEGORY = 165; +PlSqlLexer.CDBDEFAULT = 166; +PlSqlLexer.CEIL = 167; +PlSqlLexer.CELL_FLASH_CACHE = 168; +PlSqlLexer.CERTIFICATE = 169; +PlSqlLexer.CFILE = 170; +PlSqlLexer.CHAINED = 171; +PlSqlLexer.CHANGE = 172; +PlSqlLexer.CHANGETRACKING = 173; +PlSqlLexer.CHANGE_DUPKEY_ERROR_INDEX = 174; +PlSqlLexer.CHARACTER = 175; +PlSqlLexer.CHAR = 176; +PlSqlLexer.CHAR_CS = 177; +PlSqlLexer.CHARTOROWID = 178; +PlSqlLexer.CHECK_ACL_REWRITE = 179; +PlSqlLexer.CHECK = 180; +PlSqlLexer.CHECKPOINT = 181; +PlSqlLexer.CHILD = 182; +PlSqlLexer.CHOOSE = 183; +PlSqlLexer.CHR = 184; +PlSqlLexer.CHUNK = 185; +PlSqlLexer.CLASS = 186; +PlSqlLexer.CLASSIFIER = 187; +PlSqlLexer.CLEANUP = 188; +PlSqlLexer.CLEAR = 189; +PlSqlLexer.C_LETTER = 190; +PlSqlLexer.CLIENT = 191; +PlSqlLexer.CLOB = 192; +PlSqlLexer.CLONE = 193; +PlSqlLexer.CLOSE_CACHED_OPEN_CURSORS = 194; +PlSqlLexer.CLOSE = 195; +PlSqlLexer.CLUSTER_BY_ROWID = 196; +PlSqlLexer.CLUSTER = 197; +PlSqlLexer.CLUSTER_DETAILS = 198; +PlSqlLexer.CLUSTER_DISTANCE = 199; +PlSqlLexer.CLUSTER_ID = 200; +PlSqlLexer.CLUSTERING = 201; +PlSqlLexer.CLUSTERING_FACTOR = 202; +PlSqlLexer.CLUSTER_PROBABILITY = 203; +PlSqlLexer.CLUSTER_SET = 204; +PlSqlLexer.COALESCE = 205; +PlSqlLexer.COALESCE_SQ = 206; +PlSqlLexer.COARSE = 207; +PlSqlLexer.CO_AUTH_IND = 208; +PlSqlLexer.COLD = 209; +PlSqlLexer.COLLECT = 210; +PlSqlLexer.COLUMNAR = 211; +PlSqlLexer.COLUMN_AUTH_INDICATOR = 212; +PlSqlLexer.COLUMN = 213; +PlSqlLexer.COLUMNS = 214; +PlSqlLexer.COLUMN_STATS = 215; +PlSqlLexer.COLUMN_VALUE = 216; +PlSqlLexer.COMMENT = 217; +PlSqlLexer.COMMIT = 218; +PlSqlLexer.COMMITTED = 219; +PlSqlLexer.COMMON_DATA = 220; +PlSqlLexer.COMPACT = 221; +PlSqlLexer.COMPATIBILITY = 222; +PlSqlLexer.COMPILE = 223; +PlSqlLexer.COMPLETE = 224; +PlSqlLexer.COMPLIANCE = 225; +PlSqlLexer.COMPONENT = 226; +PlSqlLexer.COMPONENTS = 227; +PlSqlLexer.COMPOSE = 228; +PlSqlLexer.COMPOSITE = 229; +PlSqlLexer.COMPOSITE_LIMIT = 230; +PlSqlLexer.COMPOUND = 231; +PlSqlLexer.COMPRESS = 232; +PlSqlLexer.COMPUTE = 233; +PlSqlLexer.CONCAT = 234; +PlSqlLexer.CON_DBID_TO_ID = 235; +PlSqlLexer.CONDITIONAL = 236; +PlSqlLexer.CONDITION = 237; +PlSqlLexer.CONFIRM = 238; +PlSqlLexer.CONFORMING = 239; +PlSqlLexer.CON_GUID_TO_ID = 240; +PlSqlLexer.CON_ID = 241; +PlSqlLexer.CON_NAME_TO_ID = 242; +PlSqlLexer.CONNECT_BY_CB_WHR_ONLY = 243; +PlSqlLexer.CONNECT_BY_COMBINE_SW = 244; +PlSqlLexer.CONNECT_BY_COST_BASED = 245; +PlSqlLexer.CONNECT_BY_ELIM_DUPS = 246; +PlSqlLexer.CONNECT_BY_FILTERING = 247; +PlSqlLexer.CONNECT_BY_ISCYCLE = 248; +PlSqlLexer.CONNECT_BY_ISLEAF = 249; +PlSqlLexer.CONNECT_BY_ROOT = 250; +PlSqlLexer.CONNECT = 251; +PlSqlLexer.CONNECT_TIME = 252; +PlSqlLexer.CONSIDER = 253; +PlSqlLexer.CONSISTENT = 254; +PlSqlLexer.CONSTANT = 255; +PlSqlLexer.CONST = 256; +PlSqlLexer.CONSTRAINT = 257; +PlSqlLexer.CONSTRAINTS = 258; +PlSqlLexer.CONSTRUCTOR = 259; +PlSqlLexer.CONTAINER = 260; +PlSqlLexer.CONTAINER_DATA = 261; +PlSqlLexer.CONTAINERS = 262; +PlSqlLexer.CONTENT = 263; +PlSqlLexer.CONTENTS = 264; +PlSqlLexer.CONTEXT = 265; +PlSqlLexer.CONTINUE = 266; +PlSqlLexer.CONTROLFILE = 267; +PlSqlLexer.CON_UID_TO_ID = 268; +PlSqlLexer.CONVERT = 269; +PlSqlLexer.COOKIE = 270; +PlSqlLexer.COPY = 271; +PlSqlLexer.CORR_K = 272; +PlSqlLexer.CORR_S = 273; +PlSqlLexer.CORRUPTION = 274; +PlSqlLexer.CORRUPT_XID_ALL = 275; +PlSqlLexer.CORRUPT_XID = 276; +PlSqlLexer.COS = 277; +PlSqlLexer.COSH = 278; +PlSqlLexer.COST = 279; +PlSqlLexer.COST_XML_QUERY_REWRITE = 280; +PlSqlLexer.COUNT = 281; +PlSqlLexer.COVAR_POP = 282; +PlSqlLexer.COVAR_SAMP = 283; +PlSqlLexer.CPU_COSTING = 284; +PlSqlLexer.CPU_PER_CALL = 285; +PlSqlLexer.CPU_PER_SESSION = 286; +PlSqlLexer.CRASH = 287; +PlSqlLexer.CREATE = 288; +PlSqlLexer.CREATE_FILE_DEST = 289; +PlSqlLexer.CREATE_STORED_OUTLINES = 290; +PlSqlLexer.CREATION = 291; +PlSqlLexer.CREDENTIAL = 292; +PlSqlLexer.CRITICAL = 293; +PlSqlLexer.CROSS = 294; +PlSqlLexer.CROSSEDITION = 295; +PlSqlLexer.CSCONVERT = 296; +PlSqlLexer.CUBE_AJ = 297; +PlSqlLexer.CUBE = 298; +PlSqlLexer.CUBE_GB = 299; +PlSqlLexer.CUBE_SJ = 300; +PlSqlLexer.CUME_DISTM = 301; +PlSqlLexer.CURRENT = 302; +PlSqlLexer.CURRENT_DATE = 303; +PlSqlLexer.CURRENT_SCHEMA = 304; +PlSqlLexer.CURRENT_TIME = 305; +PlSqlLexer.CURRENT_TIMESTAMP = 306; +PlSqlLexer.CURRENT_USER = 307; +PlSqlLexer.CURRENTV = 308; +PlSqlLexer.CURSOR = 309; +PlSqlLexer.CURSOR_SHARING_EXACT = 310; +PlSqlLexer.CURSOR_SPECIFIC_SEGMENT = 311; +PlSqlLexer.CUSTOMDATUM = 312; +PlSqlLexer.CV = 313; +PlSqlLexer.CYCLE = 314; +PlSqlLexer.DANGLING = 315; +PlSqlLexer.DATABASE = 316; +PlSqlLexer.DATA = 317; +PlSqlLexer.DATAFILE = 318; +PlSqlLexer.DATAFILES = 319; +PlSqlLexer.DATAGUARDCONFIG = 320; +PlSqlLexer.DATAMOVEMENT = 321; +PlSqlLexer.DATAOBJNO = 322; +PlSqlLexer.DATAOBJ_TO_MAT_PARTITION = 323; +PlSqlLexer.DATAOBJ_TO_PARTITION = 324; +PlSqlLexer.DATAPUMP = 325; +PlSqlLexer.DATA_SECURITY_REWRITE_LIMIT = 326; +PlSqlLexer.DATE = 327; +PlSqlLexer.DATE_MODE = 328; +PlSqlLexer.DAY = 329; +PlSqlLexer.DAYS = 330; +PlSqlLexer.DBA = 331; +PlSqlLexer.DBA_RECYCLEBIN = 332; +PlSqlLexer.DBMS_STATS = 333; +PlSqlLexer.DB_ROLE_CHANGE = 334; +PlSqlLexer.DBTIMEZONE = 335; +PlSqlLexer.DB_UNIQUE_NAME = 336; +PlSqlLexer.DB_VERSION = 337; +PlSqlLexer.DDL = 338; +PlSqlLexer.DEALLOCATE = 339; +PlSqlLexer.DEBUG = 340; +PlSqlLexer.DEBUGGER = 341; +PlSqlLexer.DEC = 342; +PlSqlLexer.DECIMAL = 343; +PlSqlLexer.DECLARE = 344; +PlSqlLexer.DECOMPOSE = 345; +PlSqlLexer.DECORRELATE = 346; +PlSqlLexer.DECR = 347; +PlSqlLexer.DECREMENT = 348; +PlSqlLexer.DECRYPT = 349; +PlSqlLexer.DEDUPLICATE = 350; +PlSqlLexer.DEFAULT = 351; +PlSqlLexer.DEFAULTS = 352; +PlSqlLexer.DEFERRABLE = 353; +PlSqlLexer.DEFERRED = 354; +PlSqlLexer.DEFINED = 355; +PlSqlLexer.DEFINE = 356; +PlSqlLexer.DEFINER = 357; +PlSqlLexer.DEGREE = 358; +PlSqlLexer.DELAY = 359; +PlSqlLexer.DELEGATE = 360; +PlSqlLexer.DELETE_ALL = 361; +PlSqlLexer.DELETE = 362; +PlSqlLexer.DELETEXML = 363; +PlSqlLexer.DEMAND = 364; +PlSqlLexer.DENSE_RANKM = 365; +PlSqlLexer.DEPENDENT = 366; +PlSqlLexer.DEPTH = 367; +PlSqlLexer.DEQUEUE = 368; +PlSqlLexer.DEREF = 369; +PlSqlLexer.DEREF_NO_REWRITE = 370; +PlSqlLexer.DESC = 371; +PlSqlLexer.DESTROY = 372; +PlSqlLexer.DETACHED = 373; +PlSqlLexer.DETERMINES = 374; +PlSqlLexer.DETERMINISTIC = 375; +PlSqlLexer.DICTIONARY = 376; +PlSqlLexer.DIMENSION = 377; +PlSqlLexer.DIMENSIONS = 378; +PlSqlLexer.DIRECT_LOAD = 379; +PlSqlLexer.DIRECTORY = 380; +PlSqlLexer.DIRECT_PATH = 381; +PlSqlLexer.DISABLE_ALL = 382; +PlSqlLexer.DISABLE = 383; +PlSqlLexer.DISABLE_PARALLEL_DML = 384; +PlSqlLexer.DISABLE_PRESET = 385; +PlSqlLexer.DISABLE_RPKE = 386; +PlSqlLexer.DISALLOW = 387; +PlSqlLexer.DISASSOCIATE = 388; +PlSqlLexer.DISCARD = 389; +PlSqlLexer.DISCONNECT = 390; +PlSqlLexer.DISK = 391; +PlSqlLexer.DISKGROUP = 392; +PlSqlLexer.DISKGROUP_PLUS = 393; +PlSqlLexer.DISKS = 394; +PlSqlLexer.DISMOUNT = 395; +PlSqlLexer.DISTINCT = 396; +PlSqlLexer.DISTINGUISHED = 397; +PlSqlLexer.DISTRIBUTED = 398; +PlSqlLexer.DISTRIBUTE = 399; +PlSqlLexer.DML = 400; +PlSqlLexer.DML_UPDATE = 401; +PlSqlLexer.DOCFIDELITY = 402; +PlSqlLexer.DOCUMENT = 403; +PlSqlLexer.DOMAIN_INDEX_FILTER = 404; +PlSqlLexer.DOMAIN_INDEX_NO_SORT = 405; +PlSqlLexer.DOMAIN_INDEX_SORT = 406; +PlSqlLexer.DOUBLE = 407; +PlSqlLexer.DOWNGRADE = 408; +PlSqlLexer.DRIVING_SITE = 409; +PlSqlLexer.DROP_COLUMN = 410; +PlSqlLexer.DROP = 411; +PlSqlLexer.DROP_GROUP = 412; +PlSqlLexer.DSINTERVAL_UNCONSTRAINED = 413; +PlSqlLexer.DST_UPGRADE_INSERT_CONV = 414; +PlSqlLexer.DUMP = 415; +PlSqlLexer.DUMPSET = 416; +PlSqlLexer.DUPLICATE = 417; +PlSqlLexer.DV = 418; +PlSqlLexer.DYNAMIC = 419; +PlSqlLexer.DYNAMIC_SAMPLING = 420; +PlSqlLexer.DYNAMIC_SAMPLING_EST_CDN = 421; +PlSqlLexer.EACH = 422; +PlSqlLexer.EDITIONABLE = 423; +PlSqlLexer.EDITION = 424; +PlSqlLexer.EDITIONING = 425; +PlSqlLexer.EDITIONS = 426; +PlSqlLexer.ELEMENT = 427; +PlSqlLexer.ELIM_GROUPBY = 428; +PlSqlLexer.ELIMINATE_JOIN = 429; +PlSqlLexer.ELIMINATE_OBY = 430; +PlSqlLexer.ELIMINATE_OUTER_JOIN = 431; +PlSqlLexer.ELSE = 432; +PlSqlLexer.ELSIF = 433; +PlSqlLexer.EM = 434; +PlSqlLexer.EMPTY_BLOB = 435; +PlSqlLexer.EMPTY_CLOB = 436; +PlSqlLexer.EMPTY = 437; +PlSqlLexer.ENABLE_ALL = 438; +PlSqlLexer.ENABLE = 439; +PlSqlLexer.ENABLE_PARALLEL_DML = 440; +PlSqlLexer.ENABLE_PRESET = 441; +PlSqlLexer.ENCODING = 442; +PlSqlLexer.ENCRYPT = 443; +PlSqlLexer.ENCRYPTION = 444; +PlSqlLexer.END = 445; +PlSqlLexer.END_OUTLINE_DATA = 446; +PlSqlLexer.ENFORCED = 447; +PlSqlLexer.ENFORCE = 448; +PlSqlLexer.ENQUEUE = 449; +PlSqlLexer.ENTERPRISE = 450; +PlSqlLexer.ENTITYESCAPING = 451; +PlSqlLexer.ENTRY = 452; +PlSqlLexer.EQUIPART = 453; +PlSqlLexer.ERR = 454; +PlSqlLexer.ERROR_ARGUMENT = 455; +PlSqlLexer.ERROR = 456; +PlSqlLexer.ERROR_ON_OVERLAP_TIME = 457; +PlSqlLexer.ERRORS = 458; +PlSqlLexer.ESCAPE = 459; +PlSqlLexer.ESTIMATE = 460; +PlSqlLexer.EVAL = 461; +PlSqlLexer.EVALNAME = 462; +PlSqlLexer.EVALUATE = 463; +PlSqlLexer.EVALUATION = 464; +PlSqlLexer.EVENTS = 465; +PlSqlLexer.EVERY = 466; +PlSqlLexer.EXCEPT = 467; +PlSqlLexer.EXCEPTION = 468; +PlSqlLexer.EXCEPTION_INIT = 469; +PlSqlLexer.EXCEPTIONS = 470; +PlSqlLexer.EXCHANGE = 471; +PlSqlLexer.EXCLUDE = 472; +PlSqlLexer.EXCLUDING = 473; +PlSqlLexer.EXCLUSIVE = 474; +PlSqlLexer.EXECUTE = 475; +PlSqlLexer.EXEMPT = 476; +PlSqlLexer.EXISTING = 477; +PlSqlLexer.EXISTS = 478; +PlSqlLexer.EXISTSNODE = 479; +PlSqlLexer.EXIT = 480; +PlSqlLexer.EXPAND_GSET_TO_UNION = 481; +PlSqlLexer.EXPAND_TABLE = 482; +PlSqlLexer.EXP = 483; +PlSqlLexer.EXPIRE = 484; +PlSqlLexer.EXPLAIN = 485; +PlSqlLexer.EXPLOSION = 486; +PlSqlLexer.EXPORT = 487; +PlSqlLexer.EXPR_CORR_CHECK = 488; +PlSqlLexer.EXPRESS = 489; +PlSqlLexer.EXTENDS = 490; +PlSqlLexer.EXTENT = 491; +PlSqlLexer.EXTENTS = 492; +PlSqlLexer.EXTERNAL = 493; +PlSqlLexer.EXTERNALLY = 494; +PlSqlLexer.EXTRACTCLOBXML = 495; +PlSqlLexer.EXTRACT = 496; +PlSqlLexer.EXTRACTVALUE = 497; +PlSqlLexer.EXTRA = 498; +PlSqlLexer.FACILITY = 499; +PlSqlLexer.FACT = 500; +PlSqlLexer.FACTOR = 501; +PlSqlLexer.FACTORIZE_JOIN = 502; +PlSqlLexer.FAILED = 503; +PlSqlLexer.FAILED_LOGIN_ATTEMPTS = 504; +PlSqlLexer.FAILGROUP = 505; +PlSqlLexer.FAILOVER = 506; +PlSqlLexer.FAILURE = 507; +PlSqlLexer.FALSE = 508; +PlSqlLexer.FAMILY = 509; +PlSqlLexer.FAR = 510; +PlSqlLexer.FAST = 511; +PlSqlLexer.FASTSTART = 512; +PlSqlLexer.FBTSCAN = 513; +PlSqlLexer.FEATURE_DETAILS = 514; +PlSqlLexer.FEATURE_ID = 515; +PlSqlLexer.FEATURE_SET = 516; +PlSqlLexer.FEATURE_VALUE = 517; +PlSqlLexer.FETCH = 518; +PlSqlLexer.FILE = 519; +PlSqlLexer.FILE_NAME_CONVERT = 520; +PlSqlLexer.FILESYSTEM_LIKE_LOGGING = 521; +PlSqlLexer.FILTER = 522; +PlSqlLexer.FINAL = 523; +PlSqlLexer.FINE = 524; +PlSqlLexer.FINISH = 525; +PlSqlLexer.FIRST = 526; +PlSqlLexer.FIRSTM = 527; +PlSqlLexer.FIRST_ROWS = 528; +PlSqlLexer.FIRST_VALUE = 529; +PlSqlLexer.FIXED_VIEW_DATA = 530; +PlSqlLexer.FLAGGER = 531; +PlSqlLexer.FLASHBACK = 532; +PlSqlLexer.FLASH_CACHE = 533; +PlSqlLexer.FLOAT = 534; +PlSqlLexer.FLOB = 535; +PlSqlLexer.FLOOR = 536; +PlSqlLexer.FLUSH = 537; +PlSqlLexer.FOLDER = 538; +PlSqlLexer.FOLLOWING = 539; +PlSqlLexer.FOLLOWS = 540; +PlSqlLexer.FORALL = 541; +PlSqlLexer.FORCE = 542; +PlSqlLexer.FORCE_XML_QUERY_REWRITE = 543; +PlSqlLexer.FOREIGN = 544; +PlSqlLexer.FOREVER = 545; +PlSqlLexer.FOR = 546; +PlSqlLexer.FORMAT = 547; +PlSqlLexer.FORWARD = 548; +PlSqlLexer.FRAGMENT_NUMBER = 549; +PlSqlLexer.FREELIST = 550; +PlSqlLexer.FREELISTS = 551; +PlSqlLexer.FREEPOOLS = 552; +PlSqlLexer.FRESH = 553; +PlSqlLexer.FROM = 554; +PlSqlLexer.FROM_TZ = 555; +PlSqlLexer.FULL = 556; +PlSqlLexer.FULL_OUTER_JOIN_TO_OUTER = 557; +PlSqlLexer.FUNCTION = 558; +PlSqlLexer.FUNCTIONS = 559; +PlSqlLexer.GATHER_OPTIMIZER_STATISTICS = 560; +PlSqlLexer.GATHER_PLAN_STATISTICS = 561; +PlSqlLexer.GBY_CONC_ROLLUP = 562; +PlSqlLexer.GBY_PUSHDOWN = 563; +PlSqlLexer.GENERATED = 564; +PlSqlLexer.GET = 565; +PlSqlLexer.GLOBAL = 566; +PlSqlLexer.GLOBALLY = 567; +PlSqlLexer.GLOBAL_NAME = 568; +PlSqlLexer.GLOBAL_TOPIC_ENABLED = 569; +PlSqlLexer.GOTO = 570; +PlSqlLexer.GRANT = 571; +PlSqlLexer.GROUP_BY = 572; +PlSqlLexer.GROUP = 573; +PlSqlLexer.GROUP_ID = 574; +PlSqlLexer.GROUPING = 575; +PlSqlLexer.GROUPING_ID = 576; +PlSqlLexer.GROUPS = 577; +PlSqlLexer.GUARANTEED = 578; +PlSqlLexer.GUARANTEE = 579; +PlSqlLexer.GUARD = 580; +PlSqlLexer.HASH_AJ = 581; +PlSqlLexer.HASH = 582; +PlSqlLexer.HASHKEYS = 583; +PlSqlLexer.HASH_SJ = 584; +PlSqlLexer.HAVING = 585; +PlSqlLexer.HEADER = 586; +PlSqlLexer.HEAP = 587; +PlSqlLexer.HELP = 588; +PlSqlLexer.HEXTORAW = 589; +PlSqlLexer.HEXTOREF = 590; +PlSqlLexer.HIDDEN_KEYWORD = 591; +PlSqlLexer.HIDE = 592; +PlSqlLexer.HIERARCHY = 593; +PlSqlLexer.HIGH = 594; +PlSqlLexer.HINTSET_BEGIN = 595; +PlSqlLexer.HINTSET_END = 596; +PlSqlLexer.HOT = 597; +PlSqlLexer.HOUR = 598; +PlSqlLexer.HWM_BROKERED = 599; +PlSqlLexer.HYBRID = 600; +PlSqlLexer.IDENTIFIED = 601; +PlSqlLexer.IDENTIFIER = 602; +PlSqlLexer.IDENTITY = 603; +PlSqlLexer.IDGENERATORS = 604; +PlSqlLexer.ID = 605; +PlSqlLexer.IDLE_TIME = 606; +PlSqlLexer.IF = 607; +PlSqlLexer.IGNORE = 608; +PlSqlLexer.IGNORE_OPTIM_EMBEDDED_HINTS = 609; +PlSqlLexer.IGNORE_ROW_ON_DUPKEY_INDEX = 610; +PlSqlLexer.IGNORE_WHERE_CLAUSE = 611; +PlSqlLexer.ILM = 612; +PlSqlLexer.IMMEDIATE = 613; +PlSqlLexer.IMPACT = 614; +PlSqlLexer.IMPORT = 615; +PlSqlLexer.INACTIVE = 616; +PlSqlLexer.INCLUDE = 617; +PlSqlLexer.INCLUDE_VERSION = 618; +PlSqlLexer.INCLUDING = 619; +PlSqlLexer.INCREMENTAL = 620; +PlSqlLexer.INCREMENT = 621; +PlSqlLexer.INCR = 622; +PlSqlLexer.INDENT = 623; +PlSqlLexer.INDEX_ASC = 624; +PlSqlLexer.INDEX_COMBINE = 625; +PlSqlLexer.INDEX_DESC = 626; +PlSqlLexer.INDEXED = 627; +PlSqlLexer.INDEXES = 628; +PlSqlLexer.INDEX_FFS = 629; +PlSqlLexer.INDEX_FILTER = 630; +PlSqlLexer.INDEX = 631; +PlSqlLexer.INDEXING = 632; +PlSqlLexer.INDEX_JOIN = 633; +PlSqlLexer.INDEX_ROWS = 634; +PlSqlLexer.INDEX_RRS = 635; +PlSqlLexer.INDEX_RS_ASC = 636; +PlSqlLexer.INDEX_RS_DESC = 637; +PlSqlLexer.INDEX_RS = 638; +PlSqlLexer.INDEX_SCAN = 639; +PlSqlLexer.INDEX_SKIP_SCAN = 640; +PlSqlLexer.INDEX_SS_ASC = 641; +PlSqlLexer.INDEX_SS_DESC = 642; +PlSqlLexer.INDEX_SS = 643; +PlSqlLexer.INDEX_STATS = 644; +PlSqlLexer.INDEXTYPE = 645; +PlSqlLexer.INDEXTYPES = 646; +PlSqlLexer.INDICATOR = 647; +PlSqlLexer.INDICES = 648; +PlSqlLexer.INFINITE = 649; +PlSqlLexer.INFORMATIONAL = 650; +PlSqlLexer.INHERIT = 651; +PlSqlLexer.IN = 652; +PlSqlLexer.INITCAP = 653; +PlSqlLexer.INITIAL = 654; +PlSqlLexer.INITIALIZED = 655; +PlSqlLexer.INITIALLY = 656; +PlSqlLexer.INITRANS = 657; +PlSqlLexer.INLINE = 658; +PlSqlLexer.INLINE_XMLTYPE_NT = 659; +PlSqlLexer.INMEMORY = 660; +PlSqlLexer.IN_MEMORY_METADATA = 661; +PlSqlLexer.INMEMORY_PRUNING = 662; +PlSqlLexer.INNER = 663; +PlSqlLexer.INOUT = 664; +PlSqlLexer.INPLACE = 665; +PlSqlLexer.INSERTCHILDXMLAFTER = 666; +PlSqlLexer.INSERTCHILDXMLBEFORE = 667; +PlSqlLexer.INSERTCHILDXML = 668; +PlSqlLexer.INSERT = 669; +PlSqlLexer.INSERTXMLAFTER = 670; +PlSqlLexer.INSERTXMLBEFORE = 671; +PlSqlLexer.INSTANCE = 672; +PlSqlLexer.INSTANCES = 673; +PlSqlLexer.INSTANTIABLE = 674; +PlSqlLexer.INSTANTLY = 675; +PlSqlLexer.INSTEAD = 676; +PlSqlLexer.INSTR2 = 677; +PlSqlLexer.INSTR4 = 678; +PlSqlLexer.INSTRB = 679; +PlSqlLexer.INSTRC = 680; +PlSqlLexer.INSTR = 681; +PlSqlLexer.INTEGER = 682; +PlSqlLexer.INTERLEAVED = 683; +PlSqlLexer.INTERMEDIATE = 684; +PlSqlLexer.INTERNAL_CONVERT = 685; +PlSqlLexer.INTERNAL_USE = 686; +PlSqlLexer.INTERPRETED = 687; +PlSqlLexer.INTERSECT = 688; +PlSqlLexer.INTERVAL = 689; +PlSqlLexer.INT = 690; +PlSqlLexer.INTO = 691; +PlSqlLexer.INVALIDATE = 692; +PlSqlLexer.INVISIBLE = 693; +PlSqlLexer.IN_XQUERY = 694; +PlSqlLexer.IS = 695; +PlSqlLexer.ISOLATION = 696; +PlSqlLexer.ISOLATION_LEVEL = 697; +PlSqlLexer.ITERATE = 698; +PlSqlLexer.ITERATION_NUMBER = 699; +PlSqlLexer.JAVA = 700; +PlSqlLexer.JOB = 701; +PlSqlLexer.JOIN = 702; +PlSqlLexer.JSON_ARRAYAGG = 703; +PlSqlLexer.JSON_ARRAY = 704; +PlSqlLexer.JSON_EQUAL = 705; +PlSqlLexer.JSON_EXISTS2 = 706; +PlSqlLexer.JSON_EXISTS = 707; +PlSqlLexer.JSONGET = 708; +PlSqlLexer.JSON = 709; +PlSqlLexer.JSON_OBJECTAGG = 710; +PlSqlLexer.JSON_OBJECT = 711; +PlSqlLexer.JSONPARSE = 712; +PlSqlLexer.JSON_QUERY = 713; +PlSqlLexer.JSON_SERIALIZE = 714; +PlSqlLexer.JSON_TABLE = 715; +PlSqlLexer.JSON_TEXTCONTAINS2 = 716; +PlSqlLexer.JSON_TEXTCONTAINS = 717; +PlSqlLexer.JSON_VALUE = 718; +PlSqlLexer.KEEP_DUPLICATES = 719; +PlSqlLexer.KEEP = 720; +PlSqlLexer.KERBEROS = 721; +PlSqlLexer.KEY = 722; +PlSqlLexer.KEY_LENGTH = 723; +PlSqlLexer.KEYSIZE = 724; +PlSqlLexer.KEYS = 725; +PlSqlLexer.KEYSTORE = 726; +PlSqlLexer.KILL = 727; +PlSqlLexer.LABEL = 728; +PlSqlLexer.LANGUAGE = 729; +PlSqlLexer.LAST_DAY = 730; +PlSqlLexer.LAST = 731; +PlSqlLexer.LAST_VALUE = 732; +PlSqlLexer.LATERAL = 733; +PlSqlLexer.LAX = 734; +PlSqlLexer.LAYER = 735; +PlSqlLexer.LDAP_REGISTRATION_ENABLED = 736; +PlSqlLexer.LDAP_REGISTRATION = 737; +PlSqlLexer.LDAP_REG_SYNC_INTERVAL = 738; +PlSqlLexer.LEADING = 739; +PlSqlLexer.LEFT = 740; +PlSqlLexer.LENGTH2 = 741; +PlSqlLexer.LENGTH4 = 742; +PlSqlLexer.LENGTHB = 743; +PlSqlLexer.LENGTHC = 744; +PlSqlLexer.LENGTH = 745; +PlSqlLexer.LESS = 746; +PlSqlLexer.LEVEL = 747; +PlSqlLexer.LEVELS = 748; +PlSqlLexer.LIBRARY = 749; +PlSqlLexer.LIFECYCLE = 750; +PlSqlLexer.LIFE = 751; +PlSqlLexer.LIFETIME = 752; +PlSqlLexer.LIKE2 = 753; +PlSqlLexer.LIKE4 = 754; +PlSqlLexer.LIKEC = 755; +PlSqlLexer.LIKE_EXPAND = 756; +PlSqlLexer.LIKE = 757; +PlSqlLexer.LIMIT = 758; +PlSqlLexer.LINEAR = 759; +PlSqlLexer.LINK = 760; +PlSqlLexer.LIST = 761; +PlSqlLexer.LN = 762; +PlSqlLexer.LNNVL = 763; +PlSqlLexer.LOAD = 764; +PlSqlLexer.LOB = 765; +PlSqlLexer.LOBNVL = 766; +PlSqlLexer.LOBS = 767; +PlSqlLexer.LOCAL_INDEXES = 768; +PlSqlLexer.LOCAL = 769; +PlSqlLexer.LOCALTIME = 770; +PlSqlLexer.LOCALTIMESTAMP = 771; +PlSqlLexer.LOCATION = 772; +PlSqlLexer.LOCATOR = 773; +PlSqlLexer.LOCKED = 774; +PlSqlLexer.LOCKING = 775; +PlSqlLexer.LOCK = 776; +PlSqlLexer.LOGFILE = 777; +PlSqlLexer.LOGFILES = 778; +PlSqlLexer.LOGGING = 779; +PlSqlLexer.LOGICAL = 780; +PlSqlLexer.LOGICAL_READS_PER_CALL = 781; +PlSqlLexer.LOGICAL_READS_PER_SESSION = 782; +PlSqlLexer.LOG = 783; +PlSqlLexer.LOGMINING = 784; +PlSqlLexer.LOGOFF = 785; +PlSqlLexer.LOGON = 786; +PlSqlLexer.LOG_READ_ONLY_VIOLATIONS = 787; +PlSqlLexer.LONG = 788; +PlSqlLexer.LOOP = 789; +PlSqlLexer.LOWER = 790; +PlSqlLexer.LOW = 791; +PlSqlLexer.LPAD = 792; +PlSqlLexer.LTRIM = 793; +PlSqlLexer.MAIN = 794; +PlSqlLexer.MAKE_REF = 795; +PlSqlLexer.MANAGED = 796; +PlSqlLexer.MANAGE = 797; +PlSqlLexer.MANAGEMENT = 798; +PlSqlLexer.MANAGER = 799; +PlSqlLexer.MANUAL = 800; +PlSqlLexer.MAP = 801; +PlSqlLexer.MAPPING = 802; +PlSqlLexer.MASTER = 803; +PlSqlLexer.MATCHED = 804; +PlSqlLexer.MATCHES = 805; +PlSqlLexer.MATCH = 806; +PlSqlLexer.MATCH_NUMBER = 807; +PlSqlLexer.MATCH_RECOGNIZE = 808; +PlSqlLexer.MATERIALIZED = 809; +PlSqlLexer.MATERIALIZE = 810; +PlSqlLexer.MAXARCHLOGS = 811; +PlSqlLexer.MAXDATAFILES = 812; +PlSqlLexer.MAXEXTENTS = 813; +PlSqlLexer.MAXIMIZE = 814; +PlSqlLexer.MAXINSTANCES = 815; +PlSqlLexer.MAXLOGFILES = 816; +PlSqlLexer.MAXLOGHISTORY = 817; +PlSqlLexer.MAXLOGMEMBERS = 818; +PlSqlLexer.MAX_SHARED_TEMP_SIZE = 819; +PlSqlLexer.MAXSIZE = 820; +PlSqlLexer.MAXTRANS = 821; +PlSqlLexer.MAXVALUE = 822; +PlSqlLexer.MEASURE = 823; +PlSqlLexer.MEASURES = 824; +PlSqlLexer.MEDIUM = 825; +PlSqlLexer.MEMBER = 826; +PlSqlLexer.MEMCOMPRESS = 827; +PlSqlLexer.MEMORY = 828; +PlSqlLexer.MERGEACTIONS = 829; +PlSqlLexer.MERGE_AJ = 830; +PlSqlLexer.MERGE_CONST_ON = 831; +PlSqlLexer.MERGE = 832; +PlSqlLexer.MERGE_SJ = 833; +PlSqlLexer.METADATA = 834; +PlSqlLexer.METHOD = 835; +PlSqlLexer.MIGRATE = 836; +PlSqlLexer.MIGRATION = 837; +PlSqlLexer.MINEXTENTS = 838; +PlSqlLexer.MINIMIZE = 839; +PlSqlLexer.MINIMUM = 840; +PlSqlLexer.MINING = 841; +PlSqlLexer.MINUS = 842; +PlSqlLexer.MINUS_NULL = 843; +PlSqlLexer.MINUTE = 844; +PlSqlLexer.MINVALUE = 845; +PlSqlLexer.MIRRORCOLD = 846; +PlSqlLexer.MIRRORHOT = 847; +PlSqlLexer.MIRROR = 848; +PlSqlLexer.MLSLABEL = 849; +PlSqlLexer.MODEL_COMPILE_SUBQUERY = 850; +PlSqlLexer.MODEL_DONTVERIFY_UNIQUENESS = 851; +PlSqlLexer.MODEL_DYNAMIC_SUBQUERY = 852; +PlSqlLexer.MODEL_MIN_ANALYSIS = 853; +PlSqlLexer.MODEL = 854; +PlSqlLexer.MODEL_NB = 855; +PlSqlLexer.MODEL_NO_ANALYSIS = 856; +PlSqlLexer.MODEL_PBY = 857; +PlSqlLexer.MODEL_PUSH_REF = 858; +PlSqlLexer.MODEL_SV = 859; +PlSqlLexer.MODE = 860; +PlSqlLexer.MODIFICATION = 861; +PlSqlLexer.MODIFY_COLUMN_TYPE = 862; +PlSqlLexer.MODIFY = 863; +PlSqlLexer.MOD = 864; +PlSqlLexer.MODULE = 865; +PlSqlLexer.MONITORING = 866; +PlSqlLexer.MONITOR = 867; +PlSqlLexer.MONTH = 868; +PlSqlLexer.MONTHS_BETWEEN = 869; +PlSqlLexer.MONTHS = 870; +PlSqlLexer.MOUNT = 871; +PlSqlLexer.MOUNTPATH = 872; +PlSqlLexer.MOVEMENT = 873; +PlSqlLexer.MOVE = 874; +PlSqlLexer.MULTIDIMENSIONAL = 875; +PlSqlLexer.MULTISET = 876; +PlSqlLexer.MV_MERGE = 877; +PlSqlLexer.NAMED = 878; +PlSqlLexer.NAME = 879; +PlSqlLexer.NAMESPACE = 880; +PlSqlLexer.NAN = 881; +PlSqlLexer.NANVL = 882; +PlSqlLexer.NATIONAL = 883; +PlSqlLexer.NATIVE_FULL_OUTER_JOIN = 884; +PlSqlLexer.NATIVE = 885; +PlSqlLexer.NATURAL = 886; +PlSqlLexer.NATURALN = 887; +PlSqlLexer.NAV = 888; +PlSqlLexer.NCHAR_CS = 889; +PlSqlLexer.NCHAR = 890; +PlSqlLexer.NCHR = 891; +PlSqlLexer.NCLOB = 892; +PlSqlLexer.NEEDED = 893; +PlSqlLexer.NEG = 894; +PlSqlLexer.NESTED = 895; +PlSqlLexer.NESTED_TABLE_FAST_INSERT = 896; +PlSqlLexer.NESTED_TABLE_GET_REFS = 897; +PlSqlLexer.NESTED_TABLE_ID = 898; +PlSqlLexer.NESTED_TABLE_SET_REFS = 899; +PlSqlLexer.NESTED_TABLE_SET_SETID = 900; +PlSqlLexer.NETWORK = 901; +PlSqlLexer.NEVER = 902; +PlSqlLexer.NEW = 903; +PlSqlLexer.NEW_TIME = 904; +PlSqlLexer.NEXT_DAY = 905; +PlSqlLexer.NEXT = 906; +PlSqlLexer.NL_AJ = 907; +PlSqlLexer.NLJ_BATCHING = 908; +PlSqlLexer.NLJ_INDEX_FILTER = 909; +PlSqlLexer.NLJ_INDEX_SCAN = 910; +PlSqlLexer.NLJ_PREFETCH = 911; +PlSqlLexer.NLS_CALENDAR = 912; +PlSqlLexer.NLS_CHARACTERSET = 913; +PlSqlLexer.NLS_CHARSET_DECL_LEN = 914; +PlSqlLexer.NLS_CHARSET_ID = 915; +PlSqlLexer.NLS_CHARSET_NAME = 916; +PlSqlLexer.NLS_COMP = 917; +PlSqlLexer.NLS_CURRENCY = 918; +PlSqlLexer.NLS_DATE_FORMAT = 919; +PlSqlLexer.NLS_DATE_LANGUAGE = 920; +PlSqlLexer.NLS_INITCAP = 921; +PlSqlLexer.NLS_ISO_CURRENCY = 922; +PlSqlLexer.NL_SJ = 923; +PlSqlLexer.NLS_LANG = 924; +PlSqlLexer.NLS_LANGUAGE = 925; +PlSqlLexer.NLS_LENGTH_SEMANTICS = 926; +PlSqlLexer.NLS_LOWER = 927; +PlSqlLexer.NLS_NCHAR_CONV_EXCP = 928; +PlSqlLexer.NLS_NUMERIC_CHARACTERS = 929; +PlSqlLexer.NLS_SORT = 930; +PlSqlLexer.NLSSORT = 931; +PlSqlLexer.NLS_SPECIAL_CHARS = 932; +PlSqlLexer.NLS_TERRITORY = 933; +PlSqlLexer.NLS_UPPER = 934; +PlSqlLexer.NO_ACCESS = 935; +PlSqlLexer.NO_ADAPTIVE_PLAN = 936; +PlSqlLexer.NO_ANSI_REARCH = 937; +PlSqlLexer.NOAPPEND = 938; +PlSqlLexer.NOARCHIVELOG = 939; +PlSqlLexer.NOAUDIT = 940; +PlSqlLexer.NO_AUTO_REOPTIMIZE = 941; +PlSqlLexer.NO_BASETABLE_MULTIMV_REWRITE = 942; +PlSqlLexer.NO_BATCH_TABLE_ACCESS_BY_ROWID = 943; +PlSqlLexer.NO_BIND_AWARE = 944; +PlSqlLexer.NO_BUFFER = 945; +PlSqlLexer.NOCACHE = 946; +PlSqlLexer.NO_CARTESIAN = 947; +PlSqlLexer.NO_CHECK_ACL_REWRITE = 948; +PlSqlLexer.NO_CLUSTER_BY_ROWID = 949; +PlSqlLexer.NO_CLUSTERING = 950; +PlSqlLexer.NO_COALESCE_SQ = 951; +PlSqlLexer.NO_COMMON_DATA = 952; +PlSqlLexer.NOCOMPRESS = 953; +PlSqlLexer.NO_CONNECT_BY_CB_WHR_ONLY = 954; +PlSqlLexer.NO_CONNECT_BY_COMBINE_SW = 955; +PlSqlLexer.NO_CONNECT_BY_COST_BASED = 956; +PlSqlLexer.NO_CONNECT_BY_ELIM_DUPS = 957; +PlSqlLexer.NO_CONNECT_BY_FILTERING = 958; +PlSqlLexer.NOCOPY = 959; +PlSqlLexer.NO_COST_XML_QUERY_REWRITE = 960; +PlSqlLexer.NO_CPU_COSTING = 961; +PlSqlLexer.NOCPU_COSTING = 962; +PlSqlLexer.NOCYCLE = 963; +PlSqlLexer.NO_DATA_SECURITY_REWRITE = 964; +PlSqlLexer.NO_DECORRELATE = 965; +PlSqlLexer.NODELAY = 966; +PlSqlLexer.NO_DOMAIN_INDEX_FILTER = 967; +PlSqlLexer.NO_DST_UPGRADE_INSERT_CONV = 968; +PlSqlLexer.NO_ELIM_GROUPBY = 969; +PlSqlLexer.NO_ELIMINATE_JOIN = 970; +PlSqlLexer.NO_ELIMINATE_OBY = 971; +PlSqlLexer.NO_ELIMINATE_OUTER_JOIN = 972; +PlSqlLexer.NOENTITYESCAPING = 973; +PlSqlLexer.NO_EXPAND_GSET_TO_UNION = 974; +PlSqlLexer.NO_EXPAND = 975; +PlSqlLexer.NO_EXPAND_TABLE = 976; +PlSqlLexer.NO_FACT = 977; +PlSqlLexer.NO_FACTORIZE_JOIN = 978; +PlSqlLexer.NO_FILTERING = 979; +PlSqlLexer.NOFORCE = 980; +PlSqlLexer.NO_FULL_OUTER_JOIN_TO_OUTER = 981; +PlSqlLexer.NO_GATHER_OPTIMIZER_STATISTICS = 982; +PlSqlLexer.NO_GBY_PUSHDOWN = 983; +PlSqlLexer.NOGUARANTEE = 984; +PlSqlLexer.NO_INDEX_FFS = 985; +PlSqlLexer.NO_INDEX = 986; +PlSqlLexer.NO_INDEX_SS = 987; +PlSqlLexer.NO_INMEMORY = 988; +PlSqlLexer.NO_INMEMORY_PRUNING = 989; +PlSqlLexer.NOKEEP = 990; +PlSqlLexer.NO_LOAD = 991; +PlSqlLexer.NOLOCAL = 992; +PlSqlLexer.NOLOGGING = 993; +PlSqlLexer.NOMAPPING = 994; +PlSqlLexer.NOMAXVALUE = 995; +PlSqlLexer.NO_MERGE = 996; +PlSqlLexer.NOMINIMIZE = 997; +PlSqlLexer.NOMINVALUE = 998; +PlSqlLexer.NO_MODEL_PUSH_REF = 999; +PlSqlLexer.NO_MONITORING = 1000; +PlSqlLexer.NOMONITORING = 1001; +PlSqlLexer.NO_MONITOR = 1002; +PlSqlLexer.NO_MULTIMV_REWRITE = 1003; +PlSqlLexer.NO_NATIVE_FULL_OUTER_JOIN = 1004; +PlSqlLexer.NONBLOCKING = 1005; +PlSqlLexer.NONEDITIONABLE = 1006; +PlSqlLexer.NONE = 1007; +PlSqlLexer.NO_NLJ_BATCHING = 1008; +PlSqlLexer.NO_NLJ_PREFETCH = 1009; +PlSqlLexer.NO = 1010; +PlSqlLexer.NONSCHEMA = 1011; +PlSqlLexer.NO_OBJECT_LINK = 1012; +PlSqlLexer.NOORDER = 1013; +PlSqlLexer.NO_ORDER_ROLLUPS = 1014; +PlSqlLexer.NO_OUTER_JOIN_TO_ANTI = 1015; +PlSqlLexer.NO_OUTER_JOIN_TO_INNER = 1016; +PlSqlLexer.NOOVERRIDE = 1017; +PlSqlLexer.NO_PARALLEL_INDEX = 1018; +PlSqlLexer.NOPARALLEL_INDEX = 1019; +PlSqlLexer.NO_PARALLEL = 1020; +PlSqlLexer.NOPARALLEL = 1021; +PlSqlLexer.NO_PARTIAL_COMMIT = 1022; +PlSqlLexer.NO_PARTIAL_JOIN = 1023; +PlSqlLexer.NO_PARTIAL_ROLLUP_PUSHDOWN = 1024; +PlSqlLexer.NOPARTITION = 1025; +PlSqlLexer.NO_PLACE_DISTINCT = 1026; +PlSqlLexer.NO_PLACE_GROUP_BY = 1027; +PlSqlLexer.NO_PQ_CONCURRENT_UNION = 1028; +PlSqlLexer.NO_PQ_MAP = 1029; +PlSqlLexer.NO_PQ_REPLICATE = 1030; +PlSqlLexer.NO_PQ_SKEW = 1031; +PlSqlLexer.NO_PRUNE_GSETS = 1032; +PlSqlLexer.NO_PULL_PRED = 1033; +PlSqlLexer.NO_PUSH_PRED = 1034; +PlSqlLexer.NO_PUSH_SUBQ = 1035; +PlSqlLexer.NO_PX_FAULT_TOLERANCE = 1036; +PlSqlLexer.NO_PX_JOIN_FILTER = 1037; +PlSqlLexer.NO_QKN_BUFF = 1038; +PlSqlLexer.NO_QUERY_TRANSFORMATION = 1039; +PlSqlLexer.NO_REF_CASCADE = 1040; +PlSqlLexer.NORELOCATE = 1041; +PlSqlLexer.NORELY = 1042; +PlSqlLexer.NOREPAIR = 1043; +PlSqlLexer.NOREPLAY = 1044; +PlSqlLexer.NORESETLOGS = 1045; +PlSqlLexer.NO_RESULT_CACHE = 1046; +PlSqlLexer.NOREVERSE = 1047; +PlSqlLexer.NO_REWRITE = 1048; +PlSqlLexer.NOREWRITE = 1049; +PlSqlLexer.NORMAL = 1050; +PlSqlLexer.NO_ROOT_SW_FOR_LOCAL = 1051; +PlSqlLexer.NOROWDEPENDENCIES = 1052; +PlSqlLexer.NOSCHEMACHECK = 1053; +PlSqlLexer.NOSEGMENT = 1054; +PlSqlLexer.NO_SEMIJOIN = 1055; +PlSqlLexer.NO_SEMI_TO_INNER = 1056; +PlSqlLexer.NO_SET_TO_JOIN = 1057; +PlSqlLexer.NOSORT = 1058; +PlSqlLexer.NO_SQL_TRANSLATION = 1059; +PlSqlLexer.NO_SQL_TUNE = 1060; +PlSqlLexer.NO_STAR_TRANSFORMATION = 1061; +PlSqlLexer.NO_STATEMENT_QUEUING = 1062; +PlSqlLexer.NO_STATS_GSETS = 1063; +PlSqlLexer.NOSTRICT = 1064; +PlSqlLexer.NO_SUBQUERY_PRUNING = 1065; +PlSqlLexer.NO_SUBSTRB_PAD = 1066; +PlSqlLexer.NO_SWAP_JOIN_INPUTS = 1067; +PlSqlLexer.NOSWITCH = 1068; +PlSqlLexer.NO_TABLE_LOOKUP_BY_NL = 1069; +PlSqlLexer.NO_TEMP_TABLE = 1070; +PlSqlLexer.NOTHING = 1071; +PlSqlLexer.NOTIFICATION = 1072; +PlSqlLexer.NOT = 1073; +PlSqlLexer.NO_TRANSFORM_DISTINCT_AGG = 1074; +PlSqlLexer.NO_UNNEST = 1075; +PlSqlLexer.NO_USE_CUBE = 1076; +PlSqlLexer.NO_USE_HASH_AGGREGATION = 1077; +PlSqlLexer.NO_USE_HASH_GBY_FOR_PUSHDOWN = 1078; +PlSqlLexer.NO_USE_HASH = 1079; +PlSqlLexer.NO_USE_INVISIBLE_INDEXES = 1080; +PlSqlLexer.NO_USE_MERGE = 1081; +PlSqlLexer.NO_USE_NL = 1082; +PlSqlLexer.NO_USE_VECTOR_AGGREGATION = 1083; +PlSqlLexer.NOVALIDATE = 1084; +PlSqlLexer.NO_VECTOR_TRANSFORM_DIMS = 1085; +PlSqlLexer.NO_VECTOR_TRANSFORM_FACT = 1086; +PlSqlLexer.NO_VECTOR_TRANSFORM = 1087; +PlSqlLexer.NOWAIT = 1088; +PlSqlLexer.NO_XDB_FASTPATH_INSERT = 1089; +PlSqlLexer.NO_XML_DML_REWRITE = 1090; +PlSqlLexer.NO_XMLINDEX_REWRITE_IN_SELECT = 1091; +PlSqlLexer.NO_XMLINDEX_REWRITE = 1092; +PlSqlLexer.NO_XML_QUERY_REWRITE = 1093; +PlSqlLexer.NO_ZONEMAP = 1094; +PlSqlLexer.NTH_VALUE = 1095; +PlSqlLexer.NULLIF = 1096; +PlSqlLexer.NULL_ = 1097; +PlSqlLexer.NULLS = 1098; +PlSqlLexer.NUMBER = 1099; +PlSqlLexer.NUMERIC = 1100; +PlSqlLexer.NUM_INDEX_KEYS = 1101; +PlSqlLexer.NUMTODSINTERVAL = 1102; +PlSqlLexer.NUMTOYMINTERVAL = 1103; +PlSqlLexer.NVARCHAR2 = 1104; +PlSqlLexer.NVL2 = 1105; +PlSqlLexer.OBJECT2XML = 1106; +PlSqlLexer.OBJECT = 1107; +PlSqlLexer.OBJ_ID = 1108; +PlSqlLexer.OBJNO = 1109; +PlSqlLexer.OBJNO_REUSE = 1110; +PlSqlLexer.OCCURENCES = 1111; +PlSqlLexer.OFFLINE = 1112; +PlSqlLexer.OFF = 1113; +PlSqlLexer.OFFSET = 1114; +PlSqlLexer.OF = 1115; +PlSqlLexer.OIDINDEX = 1116; +PlSqlLexer.OID = 1117; +PlSqlLexer.OLAP = 1118; +PlSqlLexer.OLD = 1119; +PlSqlLexer.OLD_PUSH_PRED = 1120; +PlSqlLexer.OLS = 1121; +PlSqlLexer.OLTP = 1122; +PlSqlLexer.OMIT = 1123; +PlSqlLexer.ONE = 1124; +PlSqlLexer.ONLINE = 1125; +PlSqlLexer.ONLINELOG = 1126; +PlSqlLexer.ONLY = 1127; +PlSqlLexer.ON = 1128; +PlSqlLexer.OPAQUE = 1129; +PlSqlLexer.OPAQUE_TRANSFORM = 1130; +PlSqlLexer.OPAQUE_XCANONICAL = 1131; +PlSqlLexer.OPCODE = 1132; +PlSqlLexer.OPEN = 1133; +PlSqlLexer.OPERATIONS = 1134; +PlSqlLexer.OPERATOR = 1135; +PlSqlLexer.OPT_ESTIMATE = 1136; +PlSqlLexer.OPTIMAL = 1137; +PlSqlLexer.OPTIMIZE = 1138; +PlSqlLexer.OPTIMIZER_FEATURES_ENABLE = 1139; +PlSqlLexer.OPTIMIZER_GOAL = 1140; +PlSqlLexer.OPTION = 1141; +PlSqlLexer.OPT_PARAM = 1142; +PlSqlLexer.ORA_BRANCH = 1143; +PlSqlLexer.ORA_CHECK_ACL = 1144; +PlSqlLexer.ORA_CHECK_PRIVILEGE = 1145; +PlSqlLexer.ORA_CLUSTERING = 1146; +PlSqlLexer.ORADATA = 1147; +PlSqlLexer.ORADEBUG = 1148; +PlSqlLexer.ORA_DST_AFFECTED = 1149; +PlSqlLexer.ORA_DST_CONVERT = 1150; +PlSqlLexer.ORA_DST_ERROR = 1151; +PlSqlLexer.ORA_GET_ACLIDS = 1152; +PlSqlLexer.ORA_GET_PRIVILEGES = 1153; +PlSqlLexer.ORA_HASH = 1154; +PlSqlLexer.ORA_INVOKING_USERID = 1155; +PlSqlLexer.ORA_INVOKING_USER = 1156; +PlSqlLexer.ORA_INVOKING_XS_USER_GUID = 1157; +PlSqlLexer.ORA_INVOKING_XS_USER = 1158; +PlSqlLexer.ORA_RAWCOMPARE = 1159; +PlSqlLexer.ORA_RAWCONCAT = 1160; +PlSqlLexer.ORA_ROWSCN = 1161; +PlSqlLexer.ORA_ROWSCN_RAW = 1162; +PlSqlLexer.ORA_ROWVERSION = 1163; +PlSqlLexer.ORA_TABVERSION = 1164; +PlSqlLexer.ORA_WRITE_TIME = 1165; +PlSqlLexer.ORDERED = 1166; +PlSqlLexer.ORDERED_PREDICATES = 1167; +PlSqlLexer.ORDER = 1168; +PlSqlLexer.ORDINALITY = 1169; +PlSqlLexer.OR_EXPAND = 1170; +PlSqlLexer.ORGANIZATION = 1171; +PlSqlLexer.OR = 1172; +PlSqlLexer.OR_PREDICATES = 1173; +PlSqlLexer.OSERROR = 1174; +PlSqlLexer.OTHER = 1175; +PlSqlLexer.OUTER_JOIN_TO_ANTI = 1176; +PlSqlLexer.OUTER_JOIN_TO_INNER = 1177; +PlSqlLexer.OUTER = 1178; +PlSqlLexer.OUTLINE_LEAF = 1179; +PlSqlLexer.OUTLINE = 1180; +PlSqlLexer.OUT_OF_LINE = 1181; +PlSqlLexer.OUT = 1182; +PlSqlLexer.OVERFLOW_NOMOVE = 1183; +PlSqlLexer.OVERFLOW = 1184; +PlSqlLexer.OVERLAPS = 1185; +PlSqlLexer.OVER = 1186; +PlSqlLexer.OVERRIDING = 1187; +PlSqlLexer.OWNER = 1188; +PlSqlLexer.OWNERSHIP = 1189; +PlSqlLexer.OWN = 1190; +PlSqlLexer.PACKAGE = 1191; +PlSqlLexer.PACKAGES = 1192; +PlSqlLexer.PARALLEL_ENABLE = 1193; +PlSqlLexer.PARALLEL_INDEX = 1194; +PlSqlLexer.PARALLEL = 1195; +PlSqlLexer.PARAMETERFILE = 1196; +PlSqlLexer.PARAMETERS = 1197; +PlSqlLexer.PARAM = 1198; +PlSqlLexer.PARENT = 1199; +PlSqlLexer.PARITY = 1200; +PlSqlLexer.PARTIAL_JOIN = 1201; +PlSqlLexer.PARTIALLY = 1202; +PlSqlLexer.PARTIAL = 1203; +PlSqlLexer.PARTIAL_ROLLUP_PUSHDOWN = 1204; +PlSqlLexer.PARTITION_HASH = 1205; +PlSqlLexer.PARTITION_LIST = 1206; +PlSqlLexer.PARTITION = 1207; +PlSqlLexer.PARTITION_RANGE = 1208; +PlSqlLexer.PARTITIONS = 1209; +PlSqlLexer.PARTNUMINST = 1210; +PlSqlLexer.PASSING = 1211; +PlSqlLexer.PASSWORD_GRACE_TIME = 1212; +PlSqlLexer.PASSWORD_LIFE_TIME = 1213; +PlSqlLexer.PASSWORD_LOCK_TIME = 1214; +PlSqlLexer.PASSWORD = 1215; +PlSqlLexer.PASSWORD_REUSE_MAX = 1216; +PlSqlLexer.PASSWORD_REUSE_TIME = 1217; +PlSqlLexer.PASSWORD_VERIFY_FUNCTION = 1218; +PlSqlLexer.PAST = 1219; +PlSqlLexer.PATCH = 1220; +PlSqlLexer.PATH = 1221; +PlSqlLexer.PATH_PREFIX = 1222; +PlSqlLexer.PATHS = 1223; +PlSqlLexer.PATTERN = 1224; +PlSqlLexer.PBL_HS_BEGIN = 1225; +PlSqlLexer.PBL_HS_END = 1226; +PlSqlLexer.PCTFREE = 1227; +PlSqlLexer.PCTINCREASE = 1228; +PlSqlLexer.PCTTHRESHOLD = 1229; +PlSqlLexer.PCTUSED = 1230; +PlSqlLexer.PCTVERSION = 1231; +PlSqlLexer.PENDING = 1232; +PlSqlLexer.PERCENT_FOUND = 1233; +PlSqlLexer.PERCENT_ISOPEN = 1234; +PlSqlLexer.PERCENT_NOTFOUND = 1235; +PlSqlLexer.PERCENT_KEYWORD = 1236; +PlSqlLexer.PERCENT_RANKM = 1237; +PlSqlLexer.PERCENT_ROWCOUNT = 1238; +PlSqlLexer.PERCENT_ROWTYPE = 1239; +PlSqlLexer.PERCENT_TYPE = 1240; +PlSqlLexer.PERFORMANCE = 1241; +PlSqlLexer.PERIOD_KEYWORD = 1242; +PlSqlLexer.PERMANENT = 1243; +PlSqlLexer.PERMISSION = 1244; +PlSqlLexer.PERMUTE = 1245; +PlSqlLexer.PER = 1246; +PlSqlLexer.PFILE = 1247; +PlSqlLexer.PHYSICAL = 1248; +PlSqlLexer.PIKEY = 1249; +PlSqlLexer.PIPELINED = 1250; +PlSqlLexer.PIPE = 1251; +PlSqlLexer.PIV_GB = 1252; +PlSqlLexer.PIVOT = 1253; +PlSqlLexer.PIV_SSF = 1254; +PlSqlLexer.PLACE_DISTINCT = 1255; +PlSqlLexer.PLACE_GROUP_BY = 1256; +PlSqlLexer.PLAN = 1257; +PlSqlLexer.PLSCOPE_SETTINGS = 1258; +PlSqlLexer.PLS_INTEGER = 1259; +PlSqlLexer.PLSQL_CCFLAGS = 1260; +PlSqlLexer.PLSQL_CODE_TYPE = 1261; +PlSqlLexer.PLSQL_DEBUG = 1262; +PlSqlLexer.PLSQL_OPTIMIZE_LEVEL = 1263; +PlSqlLexer.PLSQL_WARNINGS = 1264; +PlSqlLexer.PLUGGABLE = 1265; +PlSqlLexer.POINT = 1266; +PlSqlLexer.POLICY = 1267; +PlSqlLexer.POOL_16K = 1268; +PlSqlLexer.POOL_2K = 1269; +PlSqlLexer.POOL_32K = 1270; +PlSqlLexer.POOL_4K = 1271; +PlSqlLexer.POOL_8K = 1272; +PlSqlLexer.POSITIVEN = 1273; +PlSqlLexer.POSITIVE = 1274; +PlSqlLexer.POST_TRANSACTION = 1275; +PlSqlLexer.POWERMULTISET_BY_CARDINALITY = 1276; +PlSqlLexer.POWERMULTISET = 1277; +PlSqlLexer.POWER = 1278; +PlSqlLexer.PQ_CONCURRENT_UNION = 1279; +PlSqlLexer.PQ_DISTRIBUTE = 1280; +PlSqlLexer.PQ_DISTRIBUTE_WINDOW = 1281; +PlSqlLexer.PQ_FILTER = 1282; +PlSqlLexer.PQ_MAP = 1283; +PlSqlLexer.PQ_NOMAP = 1284; +PlSqlLexer.PQ_REPLICATE = 1285; +PlSqlLexer.PQ_SKEW = 1286; +PlSqlLexer.PRAGMA = 1287; +PlSqlLexer.PREBUILT = 1288; +PlSqlLexer.PRECEDES = 1289; +PlSqlLexer.PRECEDING = 1290; +PlSqlLexer.PRECISION = 1291; +PlSqlLexer.PRECOMPUTE_SUBQUERY = 1292; +PlSqlLexer.PREDICATE_REORDERS = 1293; +PlSqlLexer.PRELOAD = 1294; +PlSqlLexer.PREPARE = 1295; +PlSqlLexer.PRESENTNNV = 1296; +PlSqlLexer.PRESENT = 1297; +PlSqlLexer.PRESENTV = 1298; +PlSqlLexer.PRESERVE_OID = 1299; +PlSqlLexer.PRESERVE = 1300; +PlSqlLexer.PRETTY = 1301; +PlSqlLexer.PREVIOUS = 1302; +PlSqlLexer.PREV = 1303; +PlSqlLexer.PRIMARY = 1304; +PlSqlLexer.PRINTBLOBTOCLOB = 1305; +PlSqlLexer.PRIORITY = 1306; +PlSqlLexer.PRIOR = 1307; +PlSqlLexer.PRIVATE = 1308; +PlSqlLexer.PRIVATE_SGA = 1309; +PlSqlLexer.PRIVILEGED = 1310; +PlSqlLexer.PRIVILEGE = 1311; +PlSqlLexer.PRIVILEGES = 1312; +PlSqlLexer.PROCEDURAL = 1313; +PlSqlLexer.PROCEDURE = 1314; +PlSqlLexer.PROCESS = 1315; +PlSqlLexer.PROFILE = 1316; +PlSqlLexer.PROGRAM = 1317; +PlSqlLexer.PROJECT = 1318; +PlSqlLexer.PROPAGATE = 1319; +PlSqlLexer.PROTECTED = 1320; +PlSqlLexer.PROTECTION = 1321; +PlSqlLexer.PROXY = 1322; +PlSqlLexer.PRUNING = 1323; +PlSqlLexer.PUBLIC = 1324; +PlSqlLexer.PULL_PRED = 1325; +PlSqlLexer.PURGE = 1326; +PlSqlLexer.PUSH_PRED = 1327; +PlSqlLexer.PUSH_SUBQ = 1328; +PlSqlLexer.PX_FAULT_TOLERANCE = 1329; +PlSqlLexer.PX_GRANULE = 1330; +PlSqlLexer.PX_JOIN_FILTER = 1331; +PlSqlLexer.QB_NAME = 1332; +PlSqlLexer.QUERY_BLOCK = 1333; +PlSqlLexer.QUERY = 1334; +PlSqlLexer.QUEUE_CURR = 1335; +PlSqlLexer.QUEUE = 1336; +PlSqlLexer.QUEUE_ROWP = 1337; +PlSqlLexer.QUIESCE = 1338; +PlSqlLexer.QUORUM = 1339; +PlSqlLexer.QUOTA = 1340; +PlSqlLexer.RAISE = 1341; +PlSqlLexer.RANDOM_LOCAL = 1342; +PlSqlLexer.RANDOM = 1343; +PlSqlLexer.RANGE = 1344; +PlSqlLexer.RANKM = 1345; +PlSqlLexer.RAPIDLY = 1346; +PlSqlLexer.RAW = 1347; +PlSqlLexer.RAWTOHEX = 1348; +PlSqlLexer.RAWTONHEX = 1349; +PlSqlLexer.RBA = 1350; +PlSqlLexer.RBO_OUTLINE = 1351; +PlSqlLexer.RDBA = 1352; +PlSqlLexer.READ = 1353; +PlSqlLexer.READS = 1354; +PlSqlLexer.REALM = 1355; +PlSqlLexer.REAL = 1356; +PlSqlLexer.REBALANCE = 1357; +PlSqlLexer.REBUILD = 1358; +PlSqlLexer.RECORD = 1359; +PlSqlLexer.RECORDS_PER_BLOCK = 1360; +PlSqlLexer.RECOVERABLE = 1361; +PlSqlLexer.RECOVER = 1362; +PlSqlLexer.RECOVERY = 1363; +PlSqlLexer.RECYCLEBIN = 1364; +PlSqlLexer.RECYCLE = 1365; +PlSqlLexer.REDACTION = 1366; +PlSqlLexer.REDEFINE = 1367; +PlSqlLexer.REDO = 1368; +PlSqlLexer.REDUCED = 1369; +PlSqlLexer.REDUNDANCY = 1370; +PlSqlLexer.REF_CASCADE_CURSOR = 1371; +PlSqlLexer.REFERENCED = 1372; +PlSqlLexer.REFERENCE = 1373; +PlSqlLexer.REFERENCES = 1374; +PlSqlLexer.REFERENCING = 1375; +PlSqlLexer.REF = 1376; +PlSqlLexer.REFRESH = 1377; +PlSqlLexer.REFTOHEX = 1378; +PlSqlLexer.REGEXP_COUNT = 1379; +PlSqlLexer.REGEXP_INSTR = 1380; +PlSqlLexer.REGEXP_LIKE = 1381; +PlSqlLexer.REGEXP_REPLACE = 1382; +PlSqlLexer.REGEXP_SUBSTR = 1383; +PlSqlLexer.REGISTER = 1384; +PlSqlLexer.REGR_AVGX = 1385; +PlSqlLexer.REGR_AVGY = 1386; +PlSqlLexer.REGR_COUNT = 1387; +PlSqlLexer.REGR_INTERCEPT = 1388; +PlSqlLexer.REGR_R2 = 1389; +PlSqlLexer.REGR_SLOPE = 1390; +PlSqlLexer.REGR_SXX = 1391; +PlSqlLexer.REGR_SXY = 1392; +PlSqlLexer.REGR_SYY = 1393; +PlSqlLexer.REGULAR = 1394; +PlSqlLexer.REJECT = 1395; +PlSqlLexer.REKEY = 1396; +PlSqlLexer.RELATIONAL = 1397; +PlSqlLexer.RELIES_ON = 1398; +PlSqlLexer.RELOCATE = 1399; +PlSqlLexer.RELY = 1400; +PlSqlLexer.REMAINDER = 1401; +PlSqlLexer.REMOTE_MAPPED = 1402; +PlSqlLexer.REMOVE = 1403; +PlSqlLexer.RENAME = 1404; +PlSqlLexer.REPAIR = 1405; +PlSqlLexer.REPEAT = 1406; +PlSqlLexer.REPLACE = 1407; +PlSqlLexer.REPLICATION = 1408; +PlSqlLexer.REQUIRED = 1409; +PlSqlLexer.RESETLOGS = 1410; +PlSqlLexer.RESET = 1411; +PlSqlLexer.RESIZE = 1412; +PlSqlLexer.RESOLVE = 1413; +PlSqlLexer.RESOLVER = 1414; +PlSqlLexer.RESOURCE = 1415; +PlSqlLexer.RESPECT = 1416; +PlSqlLexer.RESTART = 1417; +PlSqlLexer.RESTORE_AS_INTERVALS = 1418; +PlSqlLexer.RESTORE = 1419; +PlSqlLexer.RESTRICT_ALL_REF_CONS = 1420; +PlSqlLexer.RESTRICTED = 1421; +PlSqlLexer.RESTRICT_REFERENCES = 1422; +PlSqlLexer.RESTRICT = 1423; +PlSqlLexer.RESULT_CACHE = 1424; +PlSqlLexer.RESULT = 1425; +PlSqlLexer.RESUMABLE = 1426; +PlSqlLexer.RESUME = 1427; +PlSqlLexer.RETENTION = 1428; +PlSqlLexer.RETRY_ON_ROW_CHANGE = 1429; +PlSqlLexer.RETURNING = 1430; +PlSqlLexer.RETURN = 1431; +PlSqlLexer.REUSE = 1432; +PlSqlLexer.REVERSE = 1433; +PlSqlLexer.REVOKE = 1434; +PlSqlLexer.REWRITE_OR_ERROR = 1435; +PlSqlLexer.REWRITE = 1436; +PlSqlLexer.RIGHT = 1437; +PlSqlLexer.ROLE = 1438; +PlSqlLexer.ROLESET = 1439; +PlSqlLexer.ROLES = 1440; +PlSqlLexer.ROLLBACK = 1441; +PlSqlLexer.ROLLING = 1442; +PlSqlLexer.ROLLUP = 1443; +PlSqlLexer.ROWDEPENDENCIES = 1444; +PlSqlLexer.ROWID_MAPPING_TABLE = 1445; +PlSqlLexer.ROWID = 1446; +PlSqlLexer.ROWIDTOCHAR = 1447; +PlSqlLexer.ROWIDTONCHAR = 1448; +PlSqlLexer.ROW_LENGTH = 1449; +PlSqlLexer.ROWNUM = 1450; +PlSqlLexer.ROW = 1451; +PlSqlLexer.ROWS = 1452; +PlSqlLexer.RPAD = 1453; +PlSqlLexer.RTRIM = 1454; +PlSqlLexer.RULE = 1455; +PlSqlLexer.RULES = 1456; +PlSqlLexer.RUNNING = 1457; +PlSqlLexer.SALT = 1458; +PlSqlLexer.SAMPLE = 1459; +PlSqlLexer.SAVE_AS_INTERVALS = 1460; +PlSqlLexer.SAVEPOINT = 1461; +PlSqlLexer.SAVE = 1462; +PlSqlLexer.SB4 = 1463; +PlSqlLexer.SCALE_ROWS = 1464; +PlSqlLexer.SCALE = 1465; +PlSqlLexer.SCAN_INSTANCES = 1466; +PlSqlLexer.SCAN = 1467; +PlSqlLexer.SCHEDULER = 1468; +PlSqlLexer.SCHEMACHECK = 1469; +PlSqlLexer.SCHEMA = 1470; +PlSqlLexer.SCN_ASCENDING = 1471; +PlSqlLexer.SCN = 1472; +PlSqlLexer.SCOPE = 1473; +PlSqlLexer.SCRUB = 1474; +PlSqlLexer.SD_ALL = 1475; +PlSqlLexer.SD_INHIBIT = 1476; +PlSqlLexer.SDO_GEOM_MBR = 1477; +PlSqlLexer.SD_SHOW = 1478; +PlSqlLexer.SEARCH = 1479; +PlSqlLexer.SECOND = 1480; +PlSqlLexer.SECRET = 1481; +PlSqlLexer.SECUREFILE_DBA = 1482; +PlSqlLexer.SECUREFILE = 1483; +PlSqlLexer.SECURITY = 1484; +PlSqlLexer.SEED = 1485; +PlSqlLexer.SEG_BLOCK = 1486; +PlSqlLexer.SEG_FILE = 1487; +PlSqlLexer.SEGMENT = 1488; +PlSqlLexer.SELECTIVITY = 1489; +PlSqlLexer.SELECT = 1490; +PlSqlLexer.SELF = 1491; +PlSqlLexer.SEMIJOIN_DRIVER = 1492; +PlSqlLexer.SEMIJOIN = 1493; +PlSqlLexer.SEMI_TO_INNER = 1494; +PlSqlLexer.SEQUENCED = 1495; +PlSqlLexer.SEQUENCE = 1496; +PlSqlLexer.SEQUENTIAL = 1497; +PlSqlLexer.SEQ = 1498; +PlSqlLexer.SERIALIZABLE = 1499; +PlSqlLexer.SERIALLY_REUSABLE = 1500; +PlSqlLexer.SERIAL = 1501; +PlSqlLexer.SERVERERROR = 1502; +PlSqlLexer.SERVICE_NAME_CONVERT = 1503; +PlSqlLexer.SERVICES = 1504; +PlSqlLexer.SESSION_CACHED_CURSORS = 1505; +PlSqlLexer.SESSION = 1506; +PlSqlLexer.SESSIONS_PER_USER = 1507; +PlSqlLexer.SESSIONTIMEZONE = 1508; +PlSqlLexer.SESSIONTZNAME = 1509; +PlSqlLexer.SET = 1510; +PlSqlLexer.SETS = 1511; +PlSqlLexer.SETTINGS = 1512; +PlSqlLexer.SET_TO_JOIN = 1513; +PlSqlLexer.SEVERE = 1514; +PlSqlLexer.SHARED_POOL = 1515; +PlSqlLexer.SHARED = 1516; +PlSqlLexer.SHARE = 1517; +PlSqlLexer.SHARING = 1518; +PlSqlLexer.SHELFLIFE = 1519; +PlSqlLexer.SHOW = 1520; +PlSqlLexer.SHRINK = 1521; +PlSqlLexer.SHUTDOWN = 1522; +PlSqlLexer.SIBLINGS = 1523; +PlSqlLexer.SID = 1524; +PlSqlLexer.SIGNAL_COMPONENT = 1525; +PlSqlLexer.SIGNAL_FUNCTION = 1526; +PlSqlLexer.SIGN = 1527; +PlSqlLexer.SIGNTYPE = 1528; +PlSqlLexer.SIMPLE_INTEGER = 1529; +PlSqlLexer.SIMPLE = 1530; +PlSqlLexer.SINGLE = 1531; +PlSqlLexer.SINGLETASK = 1532; +PlSqlLexer.SINH = 1533; +PlSqlLexer.SIN = 1534; +PlSqlLexer.SIZE = 1535; +PlSqlLexer.SKIP_EXT_OPTIMIZER = 1536; +PlSqlLexer.SKIP_ = 1537; +PlSqlLexer.SKIP_UNQ_UNUSABLE_IDX = 1538; +PlSqlLexer.SKIP_UNUSABLE_INDEXES = 1539; +PlSqlLexer.SMALLFILE = 1540; +PlSqlLexer.SMALLINT = 1541; +PlSqlLexer.SNAPSHOT = 1542; +PlSqlLexer.SOME = 1543; +PlSqlLexer.SORT = 1544; +PlSqlLexer.SOUNDEX = 1545; +PlSqlLexer.SOURCE_FILE_DIRECTORY = 1546; +PlSqlLexer.SOURCE_FILE_NAME_CONVERT = 1547; +PlSqlLexer.SOURCE = 1548; +PlSqlLexer.SPACE_KEYWORD = 1549; +PlSqlLexer.SPECIFICATION = 1550; +PlSqlLexer.SPFILE = 1551; +PlSqlLexer.SPLIT = 1552; +PlSqlLexer.SPREADSHEET = 1553; +PlSqlLexer.SQLDATA = 1554; +PlSqlLexer.SQLERROR = 1555; +PlSqlLexer.SQLLDR = 1556; +PlSqlLexer.SQL = 1557; +PlSqlLexer.SQL_TRACE = 1558; +PlSqlLexer.SQL_TRANSLATION_PROFILE = 1559; +PlSqlLexer.SQRT = 1560; +PlSqlLexer.STALE = 1561; +PlSqlLexer.STANDALONE = 1562; +PlSqlLexer.STANDARD_HASH = 1563; +PlSqlLexer.STANDBY_MAX_DATA_DELAY = 1564; +PlSqlLexer.STANDBYS = 1565; +PlSqlLexer.STANDBY = 1566; +PlSqlLexer.STAR = 1567; +PlSqlLexer.STAR_TRANSFORMATION = 1568; +PlSqlLexer.START = 1569; +PlSqlLexer.STARTUP = 1570; +PlSqlLexer.STATEMENT_ID = 1571; +PlSqlLexer.STATEMENT_QUEUING = 1572; +PlSqlLexer.STATEMENTS = 1573; +PlSqlLexer.STATEMENT = 1574; +PlSqlLexer.STATE = 1575; +PlSqlLexer.STATIC = 1576; +PlSqlLexer.STATISTICS = 1577; +PlSqlLexer.STATS_BINOMIAL_TEST = 1578; +PlSqlLexer.STATS_CROSSTAB = 1579; +PlSqlLexer.STATS_F_TEST = 1580; +PlSqlLexer.STATS_KS_TEST = 1581; +PlSqlLexer.STATS_MODE = 1582; +PlSqlLexer.STATS_MW_TEST = 1583; +PlSqlLexer.STATS_ONE_WAY_ANOVA = 1584; +PlSqlLexer.STATS_T_TEST_INDEP = 1585; +PlSqlLexer.STATS_T_TEST_INDEPU = 1586; +PlSqlLexer.STATS_T_TEST_ONE = 1587; +PlSqlLexer.STATS_T_TEST_PAIRED = 1588; +PlSqlLexer.STATS_WSR_TEST = 1589; +PlSqlLexer.STDDEV_POP = 1590; +PlSqlLexer.STDDEV_SAMP = 1591; +PlSqlLexer.STOP = 1592; +PlSqlLexer.STORAGE = 1593; +PlSqlLexer.STORE = 1594; +PlSqlLexer.STREAMS = 1595; +PlSqlLexer.STREAM = 1596; +PlSqlLexer.STRICT = 1597; +PlSqlLexer.STRING = 1598; +PlSqlLexer.STRIPE_COLUMNS = 1599; +PlSqlLexer.STRIPE_WIDTH = 1600; +PlSqlLexer.STRIP = 1601; +PlSqlLexer.STRUCTURE = 1602; +PlSqlLexer.SUBMULTISET = 1603; +PlSqlLexer.SUBPARTITION_REL = 1604; +PlSqlLexer.SUBPARTITIONS = 1605; +PlSqlLexer.SUBPARTITION = 1606; +PlSqlLexer.SUBQUERIES = 1607; +PlSqlLexer.SUBQUERY_PRUNING = 1608; +PlSqlLexer.SUBSCRIBE = 1609; +PlSqlLexer.SUBSET = 1610; +PlSqlLexer.SUBSTITUTABLE = 1611; +PlSqlLexer.SUBSTR2 = 1612; +PlSqlLexer.SUBSTR4 = 1613; +PlSqlLexer.SUBSTRB = 1614; +PlSqlLexer.SUBSTRC = 1615; +PlSqlLexer.SUBTYPE = 1616; +PlSqlLexer.SUCCESSFUL = 1617; +PlSqlLexer.SUCCESS = 1618; +PlSqlLexer.SUMMARY = 1619; +PlSqlLexer.SUPPLEMENTAL = 1620; +PlSqlLexer.SUSPEND = 1621; +PlSqlLexer.SWAP_JOIN_INPUTS = 1622; +PlSqlLexer.SWITCHOVER = 1623; +PlSqlLexer.SWITCH = 1624; +PlSqlLexer.SYNCHRONOUS = 1625; +PlSqlLexer.SYNC = 1626; +PlSqlLexer.SYNONYM = 1627; +PlSqlLexer.SYSASM = 1628; +PlSqlLexer.SYS_AUDIT = 1629; +PlSqlLexer.SYSAUX = 1630; +PlSqlLexer.SYSBACKUP = 1631; +PlSqlLexer.SYS_CHECKACL = 1632; +PlSqlLexer.SYS_CHECK_PRIVILEGE = 1633; +PlSqlLexer.SYS_CONNECT_BY_PATH = 1634; +PlSqlLexer.SYS_CONTEXT = 1635; +PlSqlLexer.SYSDATE = 1636; +PlSqlLexer.SYSDBA = 1637; +PlSqlLexer.SYS_DBURIGEN = 1638; +PlSqlLexer.SYSDG = 1639; +PlSqlLexer.SYS_DL_CURSOR = 1640; +PlSqlLexer.SYS_DM_RXFORM_CHR = 1641; +PlSqlLexer.SYS_DM_RXFORM_NUM = 1642; +PlSqlLexer.SYS_DOM_COMPARE = 1643; +PlSqlLexer.SYS_DST_PRIM2SEC = 1644; +PlSqlLexer.SYS_DST_SEC2PRIM = 1645; +PlSqlLexer.SYS_ET_BFILE_TO_RAW = 1646; +PlSqlLexer.SYS_ET_BLOB_TO_IMAGE = 1647; +PlSqlLexer.SYS_ET_IMAGE_TO_BLOB = 1648; +PlSqlLexer.SYS_ET_RAW_TO_BFILE = 1649; +PlSqlLexer.SYS_EXTPDTXT = 1650; +PlSqlLexer.SYS_EXTRACT_UTC = 1651; +PlSqlLexer.SYS_FBT_INSDEL = 1652; +PlSqlLexer.SYS_FILTER_ACLS = 1653; +PlSqlLexer.SYS_FNMATCHES = 1654; +PlSqlLexer.SYS_FNREPLACE = 1655; +PlSqlLexer.SYS_GET_ACLIDS = 1656; +PlSqlLexer.SYS_GET_COL_ACLIDS = 1657; +PlSqlLexer.SYS_GET_PRIVILEGES = 1658; +PlSqlLexer.SYS_GETTOKENID = 1659; +PlSqlLexer.SYS_GETXTIVAL = 1660; +PlSqlLexer.SYS_GUID = 1661; +PlSqlLexer.SYSGUID = 1662; +PlSqlLexer.SYSKM = 1663; +PlSqlLexer.SYS_MAKE_XMLNODEID = 1664; +PlSqlLexer.SYS_MAKEXML = 1665; +PlSqlLexer.SYS_MKXMLATTR = 1666; +PlSqlLexer.SYS_MKXTI = 1667; +PlSqlLexer.SYSOBJ = 1668; +PlSqlLexer.SYS_OP_ADT2BIN = 1669; +PlSqlLexer.SYS_OP_ADTCONS = 1670; +PlSqlLexer.SYS_OP_ALSCRVAL = 1671; +PlSqlLexer.SYS_OP_ATG = 1672; +PlSqlLexer.SYS_OP_BIN2ADT = 1673; +PlSqlLexer.SYS_OP_BITVEC = 1674; +PlSqlLexer.SYS_OP_BL2R = 1675; +PlSqlLexer.SYS_OP_BLOOM_FILTER_LIST = 1676; +PlSqlLexer.SYS_OP_BLOOM_FILTER = 1677; +PlSqlLexer.SYS_OP_C2C = 1678; +PlSqlLexer.SYS_OP_CAST = 1679; +PlSqlLexer.SYS_OP_CEG = 1680; +PlSqlLexer.SYS_OP_CL2C = 1681; +PlSqlLexer.SYS_OP_COMBINED_HASH = 1682; +PlSqlLexer.SYS_OP_COMP = 1683; +PlSqlLexer.SYS_OP_CONVERT = 1684; +PlSqlLexer.SYS_OP_COUNTCHG = 1685; +PlSqlLexer.SYS_OP_CSCONV = 1686; +PlSqlLexer.SYS_OP_CSCONVTEST = 1687; +PlSqlLexer.SYS_OP_CSR = 1688; +PlSqlLexer.SYS_OP_CSX_PATCH = 1689; +PlSqlLexer.SYS_OP_CYCLED_SEQ = 1690; +PlSqlLexer.SYS_OP_DECOMP = 1691; +PlSqlLexer.SYS_OP_DESCEND = 1692; +PlSqlLexer.SYS_OP_DISTINCT = 1693; +PlSqlLexer.SYS_OP_DRA = 1694; +PlSqlLexer.SYS_OP_DUMP = 1695; +PlSqlLexer.SYS_OP_DV_CHECK = 1696; +PlSqlLexer.SYS_OP_ENFORCE_NOT_NULL = 1697; +PlSqlLexer.SYSOPER = 1698; +PlSqlLexer.SYS_OP_EXTRACT = 1699; +PlSqlLexer.SYS_OP_GROUPING = 1700; +PlSqlLexer.SYS_OP_GUID = 1701; +PlSqlLexer.SYS_OP_HASH = 1702; +PlSqlLexer.SYS_OP_IIX = 1703; +PlSqlLexer.SYS_OP_ITR = 1704; +PlSqlLexer.SYS_OP_KEY_VECTOR_CREATE = 1705; +PlSqlLexer.SYS_OP_KEY_VECTOR_FILTER_LIST = 1706; +PlSqlLexer.SYS_OP_KEY_VECTOR_FILTER = 1707; +PlSqlLexer.SYS_OP_KEY_VECTOR_SUCCEEDED = 1708; +PlSqlLexer.SYS_OP_KEY_VECTOR_USE = 1709; +PlSqlLexer.SYS_OP_LBID = 1710; +PlSqlLexer.SYS_OP_LOBLOC2BLOB = 1711; +PlSqlLexer.SYS_OP_LOBLOC2CLOB = 1712; +PlSqlLexer.SYS_OP_LOBLOC2ID = 1713; +PlSqlLexer.SYS_OP_LOBLOC2NCLOB = 1714; +PlSqlLexer.SYS_OP_LOBLOC2TYP = 1715; +PlSqlLexer.SYS_OP_LSVI = 1716; +PlSqlLexer.SYS_OP_LVL = 1717; +PlSqlLexer.SYS_OP_MAKEOID = 1718; +PlSqlLexer.SYS_OP_MAP_NONNULL = 1719; +PlSqlLexer.SYS_OP_MSR = 1720; +PlSqlLexer.SYS_OP_NICOMBINE = 1721; +PlSqlLexer.SYS_OP_NIEXTRACT = 1722; +PlSqlLexer.SYS_OP_NII = 1723; +PlSqlLexer.SYS_OP_NIX = 1724; +PlSqlLexer.SYS_OP_NOEXPAND = 1725; +PlSqlLexer.SYS_OP_NTCIMG = 1726; +PlSqlLexer.SYS_OP_NUMTORAW = 1727; +PlSqlLexer.SYS_OP_OIDVALUE = 1728; +PlSqlLexer.SYS_OP_OPNSIZE = 1729; +PlSqlLexer.SYS_OP_PAR_1 = 1730; +PlSqlLexer.SYS_OP_PARGID_1 = 1731; +PlSqlLexer.SYS_OP_PARGID = 1732; +PlSqlLexer.SYS_OP_PAR = 1733; +PlSqlLexer.SYS_OP_PART_ID = 1734; +PlSqlLexer.SYS_OP_PIVOT = 1735; +PlSqlLexer.SYS_OP_R2O = 1736; +PlSqlLexer.SYS_OP_RAWTONUM = 1737; +PlSqlLexer.SYS_OP_RDTM = 1738; +PlSqlLexer.SYS_OP_REF = 1739; +PlSqlLexer.SYS_OP_RMTD = 1740; +PlSqlLexer.SYS_OP_ROWIDTOOBJ = 1741; +PlSqlLexer.SYS_OP_RPB = 1742; +PlSqlLexer.SYS_OPTLOBPRBSC = 1743; +PlSqlLexer.SYS_OP_TOSETID = 1744; +PlSqlLexer.SYS_OP_TPR = 1745; +PlSqlLexer.SYS_OP_TRTB = 1746; +PlSqlLexer.SYS_OPTXICMP = 1747; +PlSqlLexer.SYS_OPTXQCASTASNQ = 1748; +PlSqlLexer.SYS_OP_UNDESCEND = 1749; +PlSqlLexer.SYS_OP_VECAND = 1750; +PlSqlLexer.SYS_OP_VECBIT = 1751; +PlSqlLexer.SYS_OP_VECOR = 1752; +PlSqlLexer.SYS_OP_VECXOR = 1753; +PlSqlLexer.SYS_OP_VERSION = 1754; +PlSqlLexer.SYS_OP_VREF = 1755; +PlSqlLexer.SYS_OP_VVD = 1756; +PlSqlLexer.SYS_OP_XMLCONS_FOR_CSX = 1757; +PlSqlLexer.SYS_OP_XPTHATG = 1758; +PlSqlLexer.SYS_OP_XPTHIDX = 1759; +PlSqlLexer.SYS_OP_XPTHOP = 1760; +PlSqlLexer.SYS_OP_XTXT2SQLT = 1761; +PlSqlLexer.SYS_OP_ZONE_ID = 1762; +PlSqlLexer.SYS_ORDERKEY_DEPTH = 1763; +PlSqlLexer.SYS_ORDERKEY_MAXCHILD = 1764; +PlSqlLexer.SYS_ORDERKEY_PARENT = 1765; +PlSqlLexer.SYS_PARALLEL_TXN = 1766; +PlSqlLexer.SYS_PATHID_IS_ATTR = 1767; +PlSqlLexer.SYS_PATHID_IS_NMSPC = 1768; +PlSqlLexer.SYS_PATHID_LASTNAME = 1769; +PlSqlLexer.SYS_PATHID_LASTNMSPC = 1770; +PlSqlLexer.SYS_PATH_REVERSE = 1771; +PlSqlLexer.SYS_PXQEXTRACT = 1772; +PlSqlLexer.SYS_RAW_TO_XSID = 1773; +PlSqlLexer.SYS_RID_ORDER = 1774; +PlSqlLexer.SYS_ROW_DELTA = 1775; +PlSqlLexer.SYS_SC_2_XMLT = 1776; +PlSqlLexer.SYS_SYNRCIREDO = 1777; +PlSqlLexer.SYSTEM_DEFINED = 1778; +PlSqlLexer.SYSTEM = 1779; +PlSqlLexer.SYSTIMESTAMP = 1780; +PlSqlLexer.SYS_TYPEID = 1781; +PlSqlLexer.SYS_UMAKEXML = 1782; +PlSqlLexer.SYS_XMLANALYZE = 1783; +PlSqlLexer.SYS_XMLCONTAINS = 1784; +PlSqlLexer.SYS_XMLCONV = 1785; +PlSqlLexer.SYS_XMLEXNSURI = 1786; +PlSqlLexer.SYS_XMLGEN = 1787; +PlSqlLexer.SYS_XMLI_LOC_ISNODE = 1788; +PlSqlLexer.SYS_XMLI_LOC_ISTEXT = 1789; +PlSqlLexer.SYS_XMLINSTR = 1790; +PlSqlLexer.SYS_XMLLOCATOR_GETSVAL = 1791; +PlSqlLexer.SYS_XMLNODEID_GETCID = 1792; +PlSqlLexer.SYS_XMLNODEID_GETLOCATOR = 1793; +PlSqlLexer.SYS_XMLNODEID_GETOKEY = 1794; +PlSqlLexer.SYS_XMLNODEID_GETPATHID = 1795; +PlSqlLexer.SYS_XMLNODEID_GETPTRID = 1796; +PlSqlLexer.SYS_XMLNODEID_GETRID = 1797; +PlSqlLexer.SYS_XMLNODEID_GETSVAL = 1798; +PlSqlLexer.SYS_XMLNODEID_GETTID = 1799; +PlSqlLexer.SYS_XMLNODEID = 1800; +PlSqlLexer.SYS_XMLT_2_SC = 1801; +PlSqlLexer.SYS_XMLTRANSLATE = 1802; +PlSqlLexer.SYS_XMLTYPE2SQL = 1803; +PlSqlLexer.SYS_XQ_ASQLCNV = 1804; +PlSqlLexer.SYS_XQ_ATOMCNVCHK = 1805; +PlSqlLexer.SYS_XQBASEURI = 1806; +PlSqlLexer.SYS_XQCASTABLEERRH = 1807; +PlSqlLexer.SYS_XQCODEP2STR = 1808; +PlSqlLexer.SYS_XQCODEPEQ = 1809; +PlSqlLexer.SYS_XQCON2SEQ = 1810; +PlSqlLexer.SYS_XQCONCAT = 1811; +PlSqlLexer.SYS_XQDELETE = 1812; +PlSqlLexer.SYS_XQDFLTCOLATION = 1813; +PlSqlLexer.SYS_XQDOC = 1814; +PlSqlLexer.SYS_XQDOCURI = 1815; +PlSqlLexer.SYS_XQDURDIV = 1816; +PlSqlLexer.SYS_XQED4URI = 1817; +PlSqlLexer.SYS_XQENDSWITH = 1818; +PlSqlLexer.SYS_XQERRH = 1819; +PlSqlLexer.SYS_XQERR = 1820; +PlSqlLexer.SYS_XQESHTMLURI = 1821; +PlSqlLexer.SYS_XQEXLOBVAL = 1822; +PlSqlLexer.SYS_XQEXSTWRP = 1823; +PlSqlLexer.SYS_XQEXTRACT = 1824; +PlSqlLexer.SYS_XQEXTRREF = 1825; +PlSqlLexer.SYS_XQEXVAL = 1826; +PlSqlLexer.SYS_XQFB2STR = 1827; +PlSqlLexer.SYS_XQFNBOOL = 1828; +PlSqlLexer.SYS_XQFNCMP = 1829; +PlSqlLexer.SYS_XQFNDATIM = 1830; +PlSqlLexer.SYS_XQFNLNAME = 1831; +PlSqlLexer.SYS_XQFNNM = 1832; +PlSqlLexer.SYS_XQFNNSURI = 1833; +PlSqlLexer.SYS_XQFNPREDTRUTH = 1834; +PlSqlLexer.SYS_XQFNQNM = 1835; +PlSqlLexer.SYS_XQFNROOT = 1836; +PlSqlLexer.SYS_XQFORMATNUM = 1837; +PlSqlLexer.SYS_XQFTCONTAIN = 1838; +PlSqlLexer.SYS_XQFUNCR = 1839; +PlSqlLexer.SYS_XQGETCONTENT = 1840; +PlSqlLexer.SYS_XQINDXOF = 1841; +PlSqlLexer.SYS_XQINSERT = 1842; +PlSqlLexer.SYS_XQINSPFX = 1843; +PlSqlLexer.SYS_XQIRI2URI = 1844; +PlSqlLexer.SYS_XQLANG = 1845; +PlSqlLexer.SYS_XQLLNMFRMQNM = 1846; +PlSqlLexer.SYS_XQMKNODEREF = 1847; +PlSqlLexer.SYS_XQNILLED = 1848; +PlSqlLexer.SYS_XQNODENAME = 1849; +PlSqlLexer.SYS_XQNORMSPACE = 1850; +PlSqlLexer.SYS_XQNORMUCODE = 1851; +PlSqlLexer.SYS_XQ_NRNG = 1852; +PlSqlLexer.SYS_XQNSP4PFX = 1853; +PlSqlLexer.SYS_XQNSPFRMQNM = 1854; +PlSqlLexer.SYS_XQPFXFRMQNM = 1855; +PlSqlLexer.SYS_XQ_PKSQL2XML = 1856; +PlSqlLexer.SYS_XQPOLYABS = 1857; +PlSqlLexer.SYS_XQPOLYADD = 1858; +PlSqlLexer.SYS_XQPOLYCEL = 1859; +PlSqlLexer.SYS_XQPOLYCSTBL = 1860; +PlSqlLexer.SYS_XQPOLYCST = 1861; +PlSqlLexer.SYS_XQPOLYDIV = 1862; +PlSqlLexer.SYS_XQPOLYFLR = 1863; +PlSqlLexer.SYS_XQPOLYMOD = 1864; +PlSqlLexer.SYS_XQPOLYMUL = 1865; +PlSqlLexer.SYS_XQPOLYRND = 1866; +PlSqlLexer.SYS_XQPOLYSQRT = 1867; +PlSqlLexer.SYS_XQPOLYSUB = 1868; +PlSqlLexer.SYS_XQPOLYUMUS = 1869; +PlSqlLexer.SYS_XQPOLYUPLS = 1870; +PlSqlLexer.SYS_XQPOLYVEQ = 1871; +PlSqlLexer.SYS_XQPOLYVGE = 1872; +PlSqlLexer.SYS_XQPOLYVGT = 1873; +PlSqlLexer.SYS_XQPOLYVLE = 1874; +PlSqlLexer.SYS_XQPOLYVLT = 1875; +PlSqlLexer.SYS_XQPOLYVNE = 1876; +PlSqlLexer.SYS_XQREF2VAL = 1877; +PlSqlLexer.SYS_XQRENAME = 1878; +PlSqlLexer.SYS_XQREPLACE = 1879; +PlSqlLexer.SYS_XQRESVURI = 1880; +PlSqlLexer.SYS_XQRNDHALF2EVN = 1881; +PlSqlLexer.SYS_XQRSLVQNM = 1882; +PlSqlLexer.SYS_XQRYENVPGET = 1883; +PlSqlLexer.SYS_XQRYVARGET = 1884; +PlSqlLexer.SYS_XQRYWRP = 1885; +PlSqlLexer.SYS_XQSEQ2CON4XC = 1886; +PlSqlLexer.SYS_XQSEQ2CON = 1887; +PlSqlLexer.SYS_XQSEQDEEPEQ = 1888; +PlSqlLexer.SYS_XQSEQINSB = 1889; +PlSqlLexer.SYS_XQSEQRM = 1890; +PlSqlLexer.SYS_XQSEQRVS = 1891; +PlSqlLexer.SYS_XQSEQSUB = 1892; +PlSqlLexer.SYS_XQSEQTYPMATCH = 1893; +PlSqlLexer.SYS_XQSTARTSWITH = 1894; +PlSqlLexer.SYS_XQSTATBURI = 1895; +PlSqlLexer.SYS_XQSTR2CODEP = 1896; +PlSqlLexer.SYS_XQSTRJOIN = 1897; +PlSqlLexer.SYS_XQSUBSTRAFT = 1898; +PlSqlLexer.SYS_XQSUBSTRBEF = 1899; +PlSqlLexer.SYS_XQTOKENIZE = 1900; +PlSqlLexer.SYS_XQTREATAS = 1901; +PlSqlLexer.SYS_XQ_UPKXML2SQL = 1902; +PlSqlLexer.SYS_XQXFORM = 1903; +PlSqlLexer.SYS_XSID_TO_RAW = 1904; +PlSqlLexer.SYS_ZMAP_FILTER = 1905; +PlSqlLexer.SYS_ZMAP_REFRESH = 1906; +PlSqlLexer.TABLE_LOOKUP_BY_NL = 1907; +PlSqlLexer.TABLESPACE_NO = 1908; +PlSqlLexer.TABLESPACE = 1909; +PlSqlLexer.TABLES = 1910; +PlSqlLexer.TABLE_STATS = 1911; +PlSqlLexer.TABLE = 1912; +PlSqlLexer.TABNO = 1913; +PlSqlLexer.TAG = 1914; +PlSqlLexer.TANH = 1915; +PlSqlLexer.TAN = 1916; +PlSqlLexer.TBLORIDXPARTNUM = 1917; +PlSqlLexer.TEMPFILE = 1918; +PlSqlLexer.TEMPLATE = 1919; +PlSqlLexer.TEMPORARY = 1920; +PlSqlLexer.TEMP_TABLE = 1921; +PlSqlLexer.TEST = 1922; +PlSqlLexer.TEXT = 1923; +PlSqlLexer.THAN = 1924; +PlSqlLexer.THEN = 1925; +PlSqlLexer.THE = 1926; +PlSqlLexer.THREAD = 1927; +PlSqlLexer.THROUGH = 1928; +PlSqlLexer.TIER = 1929; +PlSqlLexer.TIES = 1930; +PlSqlLexer.TIMEOUT = 1931; +PlSqlLexer.TIMESTAMP_LTZ_UNCONSTRAINED = 1932; +PlSqlLexer.TIMESTAMP = 1933; +PlSqlLexer.TIMESTAMP_TZ_UNCONSTRAINED = 1934; +PlSqlLexer.TIMESTAMP_UNCONSTRAINED = 1935; +PlSqlLexer.TIMES = 1936; +PlSqlLexer.TIME = 1937; +PlSqlLexer.TIMEZONE = 1938; +PlSqlLexer.TIMEZONE_ABBR = 1939; +PlSqlLexer.TIMEZONE_HOUR = 1940; +PlSqlLexer.TIMEZONE_MINUTE = 1941; +PlSqlLexer.TIMEZONE_OFFSET = 1942; +PlSqlLexer.TIMEZONE_REGION = 1943; +PlSqlLexer.TIME_ZONE = 1944; +PlSqlLexer.TIV_GB = 1945; +PlSqlLexer.TIV_SSF = 1946; +PlSqlLexer.TO_ACLID = 1947; +PlSqlLexer.TO_BINARY_DOUBLE = 1948; +PlSqlLexer.TO_BINARY_FLOAT = 1949; +PlSqlLexer.TO_BLOB = 1950; +PlSqlLexer.TO_CLOB = 1951; +PlSqlLexer.TO_DSINTERVAL = 1952; +PlSqlLexer.TO_LOB = 1953; +PlSqlLexer.TO_MULTI_BYTE = 1954; +PlSqlLexer.TO_NCHAR = 1955; +PlSqlLexer.TO_NCLOB = 1956; +PlSqlLexer.TO_NUMBER = 1957; +PlSqlLexer.TOPLEVEL = 1958; +PlSqlLexer.TO_SINGLE_BYTE = 1959; +PlSqlLexer.TO_TIMESTAMP = 1960; +PlSqlLexer.TO_TIMESTAMP_TZ = 1961; +PlSqlLexer.TO_TIME = 1962; +PlSqlLexer.TO_TIME_TZ = 1963; +PlSqlLexer.TO = 1964; +PlSqlLexer.TO_YMINTERVAL = 1965; +PlSqlLexer.TRACE = 1966; +PlSqlLexer.TRACING = 1967; +PlSqlLexer.TRACKING = 1968; +PlSqlLexer.TRAILING = 1969; +PlSqlLexer.TRANSACTION = 1970; +PlSqlLexer.TRANSFORM_DISTINCT_AGG = 1971; +PlSqlLexer.TRANSITIONAL = 1972; +PlSqlLexer.TRANSITION = 1973; +PlSqlLexer.TRANSLATE = 1974; +PlSqlLexer.TRANSLATION = 1975; +PlSqlLexer.TREAT = 1976; +PlSqlLexer.TRIGGERS = 1977; +PlSqlLexer.TRIGGER = 1978; +PlSqlLexer.TRUE = 1979; +PlSqlLexer.TRUNCATE = 1980; +PlSqlLexer.TRUNC = 1981; +PlSqlLexer.TRUSTED = 1982; +PlSqlLexer.TRUST = 1983; +PlSqlLexer.TUNING = 1984; +PlSqlLexer.TX = 1985; +PlSqlLexer.TYPES = 1986; +PlSqlLexer.TYPE = 1987; +PlSqlLexer.TZ_OFFSET = 1988; +PlSqlLexer.UB2 = 1989; +PlSqlLexer.UBA = 1990; +PlSqlLexer.UCS2 = 1991; +PlSqlLexer.UID = 1992; +PlSqlLexer.UNARCHIVED = 1993; +PlSqlLexer.UNBOUNDED = 1994; +PlSqlLexer.UNBOUND = 1995; +PlSqlLexer.UNCONDITIONAL = 1996; +PlSqlLexer.UNDER = 1997; +PlSqlLexer.UNDO = 1998; +PlSqlLexer.UNDROP = 1999; +PlSqlLexer.UNIFORM = 2000; +PlSqlLexer.UNION = 2001; +PlSqlLexer.UNIQUE = 2002; +PlSqlLexer.UNISTR = 2003; +PlSqlLexer.UNLIMITED = 2004; +PlSqlLexer.UNLOAD = 2005; +PlSqlLexer.UNLOCK = 2006; +PlSqlLexer.UNMATCHED = 2007; +PlSqlLexer.UNNEST_INNERJ_DISTINCT_VIEW = 2008; +PlSqlLexer.UNNEST_NOSEMIJ_NODISTINCTVIEW = 2009; +PlSqlLexer.UNNEST_SEMIJ_VIEW = 2010; +PlSqlLexer.UNNEST = 2011; +PlSqlLexer.UNPACKED = 2012; +PlSqlLexer.UNPIVOT = 2013; +PlSqlLexer.UNPLUG = 2014; +PlSqlLexer.UNPROTECTED = 2015; +PlSqlLexer.UNQUIESCE = 2016; +PlSqlLexer.UNRECOVERABLE = 2017; +PlSqlLexer.UNRESTRICTED = 2018; +PlSqlLexer.UNSUBSCRIBE = 2019; +PlSqlLexer.UNTIL = 2020; +PlSqlLexer.UNUSABLE = 2021; +PlSqlLexer.UNUSED = 2022; +PlSqlLexer.UPDATABLE = 2023; +PlSqlLexer.UPDATED = 2024; +PlSqlLexer.UPDATE = 2025; +PlSqlLexer.UPDATEXML = 2026; +PlSqlLexer.UPD_INDEXES = 2027; +PlSqlLexer.UPD_JOININDEX = 2028; +PlSqlLexer.UPGRADE = 2029; +PlSqlLexer.UPPER = 2030; +PlSqlLexer.UPSERT = 2031; +PlSqlLexer.UROWID = 2032; +PlSqlLexer.USABLE = 2033; +PlSqlLexer.USAGE = 2034; +PlSqlLexer.USE_ANTI = 2035; +PlSqlLexer.USE_CONCAT = 2036; +PlSqlLexer.USE_CUBE = 2037; +PlSqlLexer.USE_HASH_AGGREGATION = 2038; +PlSqlLexer.USE_HASH_GBY_FOR_PUSHDOWN = 2039; +PlSqlLexer.USE_HASH = 2040; +PlSqlLexer.USE_HIDDEN_PARTITIONS = 2041; +PlSqlLexer.USE_INVISIBLE_INDEXES = 2042; +PlSqlLexer.USE_MERGE_CARTESIAN = 2043; +PlSqlLexer.USE_MERGE = 2044; +PlSqlLexer.USE_NL = 2045; +PlSqlLexer.USE_NL_WITH_INDEX = 2046; +PlSqlLexer.USE_PRIVATE_OUTLINES = 2047; +PlSqlLexer.USER_DATA = 2048; +PlSqlLexer.USER_DEFINED = 2049; +PlSqlLexer.USERENV = 2050; +PlSqlLexer.USERGROUP = 2051; +PlSqlLexer.USER_RECYCLEBIN = 2052; +PlSqlLexer.USERS = 2053; +PlSqlLexer.USER_TABLESPACES = 2054; +PlSqlLexer.USER = 2055; +PlSqlLexer.USE_SEMI = 2056; +PlSqlLexer.USE_STORED_OUTLINES = 2057; +PlSqlLexer.USE_TTT_FOR_GSETS = 2058; +PlSqlLexer.USE = 2059; +PlSqlLexer.USE_VECTOR_AGGREGATION = 2060; +PlSqlLexer.USE_WEAK_NAME_RESL = 2061; +PlSqlLexer.USING_NO_EXPAND = 2062; +PlSqlLexer.USING = 2063; +PlSqlLexer.UTF16BE = 2064; +PlSqlLexer.UTF16LE = 2065; +PlSqlLexer.UTF32 = 2066; +PlSqlLexer.UTF8 = 2067; +PlSqlLexer.V1 = 2068; +PlSqlLexer.V2 = 2069; +PlSqlLexer.VALIDATE = 2070; +PlSqlLexer.VALIDATION = 2071; +PlSqlLexer.VALID_TIME_END = 2072; +PlSqlLexer.VALUES = 2073; +PlSqlLexer.VALUE = 2074; +PlSqlLexer.VARCHAR2 = 2075; +PlSqlLexer.VARCHAR = 2076; +PlSqlLexer.VARIABLE = 2077; +PlSqlLexer.VAR_POP = 2078; +PlSqlLexer.VARRAYS = 2079; +PlSqlLexer.VARRAY = 2080; +PlSqlLexer.VAR_SAMP = 2081; +PlSqlLexer.VARYING = 2082; +PlSqlLexer.VECTOR_READ_TRACE = 2083; +PlSqlLexer.VECTOR_READ = 2084; +PlSqlLexer.VECTOR_TRANSFORM_DIMS = 2085; +PlSqlLexer.VECTOR_TRANSFORM_FACT = 2086; +PlSqlLexer.VECTOR_TRANSFORM = 2087; +PlSqlLexer.VERIFIER = 2088; +PlSqlLexer.VERIFY = 2089; +PlSqlLexer.VERSIONING = 2090; +PlSqlLexer.VERSIONS_ENDSCN = 2091; +PlSqlLexer.VERSIONS_ENDTIME = 2092; +PlSqlLexer.VERSIONS_OPERATION = 2093; +PlSqlLexer.VERSIONS_STARTSCN = 2094; +PlSqlLexer.VERSIONS_STARTTIME = 2095; +PlSqlLexer.VERSIONS = 2096; +PlSqlLexer.VERSIONS_XID = 2097; +PlSqlLexer.VERSION = 2098; +PlSqlLexer.VIEW = 2099; +PlSqlLexer.VIOLATION = 2100; +PlSqlLexer.VIRTUAL = 2101; +PlSqlLexer.VISIBILITY = 2102; +PlSqlLexer.VISIBLE = 2103; +PlSqlLexer.VOLUME = 2104; +PlSqlLexer.VSIZE = 2105; +PlSqlLexer.WAIT = 2106; +PlSqlLexer.WALLET = 2107; +PlSqlLexer.WARNING = 2108; +PlSqlLexer.WEEKS = 2109; +PlSqlLexer.WEEK = 2110; +PlSqlLexer.WELLFORMED = 2111; +PlSqlLexer.WHENEVER = 2112; +PlSqlLexer.WHEN = 2113; +PlSqlLexer.WHERE = 2114; +PlSqlLexer.WHILE = 2115; +PlSqlLexer.WHITESPACE = 2116; +PlSqlLexer.WIDTH_BUCKET = 2117; +PlSqlLexer.WITHIN = 2118; +PlSqlLexer.WITHOUT = 2119; +PlSqlLexer.WITH_PLSQL = 2120; +PlSqlLexer.WITH = 2121; +PlSqlLexer.WORK = 2122; +PlSqlLexer.WRAPPED = 2123; +PlSqlLexer.WRAPPER = 2124; +PlSqlLexer.WRITE = 2125; +PlSqlLexer.XDB_FASTPATH_INSERT = 2126; +PlSqlLexer.XDB = 2127; +PlSqlLexer.X_DYN_PRUNE = 2128; +PlSqlLexer.XID = 2129; +PlSqlLexer.XML2OBJECT = 2130; +PlSqlLexer.XMLAGG = 2131; +PlSqlLexer.XMLATTRIBUTES = 2132; +PlSqlLexer.XMLCAST = 2133; +PlSqlLexer.XMLCDATA = 2134; +PlSqlLexer.XMLCOLATTVAL = 2135; +PlSqlLexer.XMLCOMMENT = 2136; +PlSqlLexer.XMLCONCAT = 2137; +PlSqlLexer.XMLDIFF = 2138; +PlSqlLexer.XML_DML_RWT_STMT = 2139; +PlSqlLexer.XMLELEMENT = 2140; +PlSqlLexer.XMLEXISTS2 = 2141; +PlSqlLexer.XMLEXISTS = 2142; +PlSqlLexer.XMLFOREST = 2143; +PlSqlLexer.XMLINDEX = 2144; +PlSqlLexer.XMLINDEX_REWRITE_IN_SELECT = 2145; +PlSqlLexer.XMLINDEX_REWRITE = 2146; +PlSqlLexer.XMLINDEX_SEL_IDX_TBL = 2147; +PlSqlLexer.XMLISNODE = 2148; +PlSqlLexer.XMLISVALID = 2149; +PlSqlLexer.XMLNAMESPACES = 2150; +PlSqlLexer.XMLPARSE = 2151; +PlSqlLexer.XMLPATCH = 2152; +PlSqlLexer.XMLPI = 2153; +PlSqlLexer.XMLQUERYVAL = 2154; +PlSqlLexer.XMLQUERY = 2155; +PlSqlLexer.XMLROOT = 2156; +PlSqlLexer.XMLSCHEMA = 2157; +PlSqlLexer.XMLSERIALIZE = 2158; +PlSqlLexer.XMLTABLE = 2159; +PlSqlLexer.XMLTRANSFORMBLOB = 2160; +PlSqlLexer.XMLTRANSFORM = 2161; +PlSqlLexer.XMLTYPE = 2162; +PlSqlLexer.XML = 2163; +PlSqlLexer.XPATHTABLE = 2164; +PlSqlLexer.XS_SYS_CONTEXT = 2165; +PlSqlLexer.XS = 2166; +PlSqlLexer.XTRANSPORT = 2167; +PlSqlLexer.YEARS = 2168; +PlSqlLexer.YEAR = 2169; +PlSqlLexer.YES = 2170; +PlSqlLexer.YMINTERVAL_UNCONSTRAINED = 2171; +PlSqlLexer.ZONEMAP = 2172; +PlSqlLexer.ZONE = 2173; +PlSqlLexer.PREDICTION = 2174; +PlSqlLexer.PREDICTION_BOUNDS = 2175; +PlSqlLexer.PREDICTION_COST = 2176; +PlSqlLexer.PREDICTION_DETAILS = 2177; +PlSqlLexer.PREDICTION_PROBABILITY = 2178; +PlSqlLexer.PREDICTION_SET = 2179; +PlSqlLexer.CUME_DIST = 2180; +PlSqlLexer.DENSE_RANK = 2181; +PlSqlLexer.LISTAGG = 2182; +PlSqlLexer.PERCENT_RANK = 2183; +PlSqlLexer.PERCENTILE_CONT = 2184; +PlSqlLexer.PERCENTILE_DISC = 2185; +PlSqlLexer.RANK = 2186; +PlSqlLexer.AVG = 2187; +PlSqlLexer.CORR = 2188; +PlSqlLexer.COVAR_ = 2189; +PlSqlLexer.DECODE = 2190; +PlSqlLexer.LAG = 2191; +PlSqlLexer.LEAD = 2192; +PlSqlLexer.MAX = 2193; +PlSqlLexer.MEDIAN = 2194; +PlSqlLexer.MIN = 2195; +PlSqlLexer.NTILE = 2196; +PlSqlLexer.NVL = 2197; +PlSqlLexer.RATIO_TO_REPORT = 2198; +PlSqlLexer.REGR_ = 2199; +PlSqlLexer.ROUND = 2200; +PlSqlLexer.ROW_NUMBER = 2201; +PlSqlLexer.SUBSTR = 2202; +PlSqlLexer.TO_CHAR = 2203; +PlSqlLexer.TRIM = 2204; +PlSqlLexer.SUM = 2205; +PlSqlLexer.STDDEV = 2206; +PlSqlLexer.VAR_ = 2207; +PlSqlLexer.VARIANCE = 2208; +PlSqlLexer.LEAST = 2209; +PlSqlLexer.GREATEST = 2210; +PlSqlLexer.TO_DATE = 2211; +PlSqlLexer.NATIONAL_CHAR_STRING_LIT = 2212; +PlSqlLexer.BIT_STRING_LIT = 2213; +PlSqlLexer.HEX_STRING_LIT = 2214; +PlSqlLexer.DOUBLE_PERIOD = 2215; +PlSqlLexer.PERIOD = 2216; +PlSqlLexer.UNSIGNED_INTEGER = 2217; +PlSqlLexer.APPROXIMATE_NUM_LIT = 2218; +PlSqlLexer.CHAR_STRING = 2219; +PlSqlLexer.DELIMITED_ID = 2220; +PlSqlLexer.PERCENT = 2221; +PlSqlLexer.AMPERSAND = 2222; +PlSqlLexer.LEFT_PAREN = 2223; +PlSqlLexer.RIGHT_PAREN = 2224; +PlSqlLexer.DOUBLE_ASTERISK = 2225; +PlSqlLexer.ASTERISK = 2226; +PlSqlLexer.PLUS_SIGN = 2227; +PlSqlLexer.MINUS_SIGN = 2228; +PlSqlLexer.COMMA = 2229; +PlSqlLexer.SOLIDUS = 2230; +PlSqlLexer.AT_SIGN = 2231; +PlSqlLexer.ASSIGN_OP = 2232; +PlSqlLexer.BINDVAR = 2233; +PlSqlLexer.NOT_EQUAL_OP = 2234; +PlSqlLexer.CARRET_OPERATOR_PART = 2235; +PlSqlLexer.TILDE_OPERATOR_PART = 2236; +PlSqlLexer.EXCLAMATION_OPERATOR_PART = 2237; +PlSqlLexer.GREATER_THAN_OP = 2238; +PlSqlLexer.LESS_THAN_OP = 2239; +PlSqlLexer.COLON = 2240; +PlSqlLexer.SEMICOLON = 2241; +PlSqlLexer.BAR = 2242; +PlSqlLexer.EQUALS_OP = 2243; +PlSqlLexer.LEFT_BRACKET = 2244; +PlSqlLexer.RIGHT_BRACKET = 2245; +PlSqlLexer.INTRODUCER = 2246; +PlSqlLexer.SINGLE_LINE_COMMENT = 2247; +PlSqlLexer.MULTI_LINE_COMMENT = 2248; +PlSqlLexer.REMARK_COMMENT = 2249; +PlSqlLexer.PROMPT_MESSAGE = 2250; +PlSqlLexer.START_CMD = 2251; +PlSqlLexer.REGULAR_ID = 2252; +PlSqlLexer.SPACES = 2253; + +PlSqlLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; + +PlSqlLexer.prototype.modeNames = [ "DEFAULT_MODE" ]; + +PlSqlLexer.prototype.literalNames = [ null, "'ABORT'", "'ABS'", "'ACCESS'", + "'ACCESSED'", "'ACCOUNT'", "'ACL'", + "'ACOS'", "'ACTION'", "'ACTIONS'", + "'ACTIVATE'", "'ACTIVE'", "'ACTIVE_COMPONENT'", + "'ACTIVE_DATA'", "'ACTIVE_FUNCTION'", + "'ACTIVE_TAG'", "'ACTIVITY'", "'ADAPTIVE_PLAN'", + "'ADD'", "'ADD_COLUMN'", "'ADD_GROUP'", + "'ADD_MONTHS'", "'ADJ_DATE'", "'ADMIN'", + "'ADMINISTER'", "'ADMINISTRATOR'", + "'ADVANCED'", "'ADVISE'", "'ADVISOR'", + "'AFD_DISKSTRING'", "'AFTER'", "'AGENT'", + "'AGGREGATE'", "'A'", "'ALIAS'", "'ALL'", + "'ALLOCATE'", "'ALLOW'", "'ALL_ROWS'", + "'ALTER'", "'ALWAYS'", "'ANALYZE'", + "'ANCILLARY'", "'AND'", "'AND_EQUAL'", + "'ANOMALY'", "'ANSI_REARCH'", "'ANTIJOIN'", + "'ANY'", "'ANYSCHEMA'", "'APPEND'", + "'APPENDCHILDXML'", "'APPEND_VALUES'", + "'APPLICATION'", "'APPLY'", "'APPROX_COUNT_DISTINCT'", + "'ARCHIVAL'", "'ARCHIVE'", "'ARCHIVED'", + "'ARCHIVELOG'", "'ARRAY'", "'AS'", + "'ASC'", "'ASCII'", "'ASCIISTR'", + "'ASIN'", "'ASIS'", "'ASSEMBLY'", + "'ASSIGN'", "'ASSOCIATE'", "'ASYNC'", + "'ASYNCHRONOUS'", "'ATAN2'", "'ATAN'", + "'AT'", "'ATTRIBUTE'", "'ATTRIBUTES'", + "'AUDIT'", "'AUTHENTICATED'", "'AUTHENTICATION'", + "'AUTHID'", "'AUTHORIZATION'", "'AUTOALLOCATE'", + "'AUTO'", "'AUTOBACKUP'", "'AUTOEXTEND'", + "'AUTO_LOGIN'", "'AUTOMATIC'", "'AUTONOMOUS_TRANSACTION'", + "'AUTO_REOPTIMIZE'", "'AVAILABILITY'", + "'AVRO'", "'BACKGROUND'", "'BACKUP'", + "'BACKUPSET'", "'BASIC'", "'BASICFILE'", + "'BATCH'", "'BATCHSIZE'", "'BATCH_TABLE_ACCESS_BY_ROWID'", + "'BECOME'", "'BEFORE'", "'BEGIN'", + "'BEGINNING'", "'BEGIN_OUTLINE_DATA'", + "'BEHALF'", "'BEQUEATH'", "'BETWEEN'", + "'BFILE'", "'BFILENAME'", "'BIGFILE'", + "'BINARY'", "'BINARY_DOUBLE'", "'BINARY_DOUBLE_INFINITY'", + "'BINARY_DOUBLE_NAN'", "'BINARY_FLOAT'", + "'BINARY_FLOAT_INFINITY'", "'BINARY_FLOAT_NAN'", + "'BINARY_INTEGER'", "'BIND_AWARE'", + "'BINDING'", "'BIN_TO_NUM'", "'BITAND'", + "'BITMAP_AND'", "'BITMAP'", "'BITMAPS'", + "'BITMAP_TREE'", "'BITS'", "'BLOB'", + "'BLOCK'", "'BLOCK_RANGE'", "'BLOCKS'", + "'BLOCKSIZE'", "'BODY'", "'BOOLEAN'", + "'BOTH'", "'BOUND'", "'BRANCH'", "'BREADTH'", + "'BROADCAST'", "'BSON'", "'BUFFER'", + "'BUFFER_CACHE'", "'BUFFER_POOL'", + "'BUILD'", "'BULK'", "'BY'", "'BYPASS_RECURSIVE_CHECK'", + "'BYPASS_UJVC'", "'BYTE'", "'CACHE'", + "'CACHE_CB'", "'CACHE_INSTANCES'", + "'CACHE_TEMP_TABLE'", "'CACHING'", + "'CALCULATED'", "'CALLBACK'", "'CALL'", + "'CANCEL'", "'CANONICAL'", "'CAPACITY'", + "'CARDINALITY'", "'CASCADE'", "'CASE'", + "'CAST'", "'CATEGORY'", "'CDB$DEFAULT'", + "'CEIL'", "'CELL_FLASH_CACHE'", "'CERTIFICATE'", + "'CFILE'", "'CHAINED'", "'CHANGE'", + "'CHANGETRACKING'", "'CHANGE_DUPKEY_ERROR_INDEX'", + "'CHARACTER'", "'CHAR'", "'CHAR_CS'", + "'CHARTOROWID'", "'CHECK_ACL_REWRITE'", + "'CHECK'", "'CHECKPOINT'", "'CHILD'", + "'CHOOSE'", "'CHR'", "'CHUNK'", "'CLASS'", + "'CLASSIFIER'", "'CLEANUP'", "'CLEAR'", + "'C'", "'CLIENT'", "'CLOB'", "'CLONE'", + "'CLOSE_CACHED_OPEN_CURSORS'", "'CLOSE'", + "'CLUSTER_BY_ROWID'", "'CLUSTER'", + "'CLUSTER_DETAILS'", "'CLUSTER_DISTANCE'", + "'CLUSTER_ID'", "'CLUSTERING'", "'CLUSTERING_FACTOR'", + "'CLUSTER_PROBABILITY'", "'CLUSTER_SET'", + "'COALESCE'", "'COALESCE_SQ'", "'COARSE'", + "'CO_AUTH_IND'", "'COLD'", "'COLLECT'", + "'COLUMNAR'", "'COLUMN_AUTH_INDICATOR'", + "'COLUMN'", "'COLUMNS'", "'COLUMN_STATS'", + "'COLUMN_VALUE'", "'COMMENT'", "'COMMIT'", + "'COMMITTED'", "'COMMON_DATA'", "'COMPACT'", + "'COMPATIBILITY'", "'COMPILE'", "'COMPLETE'", + "'COMPLIANCE'", "'COMPONENT'", "'COMPONENTS'", + "'COMPOSE'", "'COMPOSITE'", "'COMPOSITE_LIMIT'", + "'COMPOUND'", "'COMPRESS'", "'COMPUTE'", + "'CONCAT'", "'CON_DBID_TO_ID'", "'CONDITIONAL'", + "'CONDITION'", "'CONFIRM'", "'CONFORMING'", + "'CON_GUID_TO_ID'", "'CON_ID'", "'CON_NAME_TO_ID'", + "'CONNECT_BY_CB_WHR_ONLY'", "'CONNECT_BY_COMBINE_SW'", + "'CONNECT_BY_COST_BASED'", "'CONNECT_BY_ELIM_DUPS'", + "'CONNECT_BY_FILTERING'", "'CONNECT_BY_ISCYCLE'", + "'CONNECT_BY_ISLEAF'", "'CONNECT_BY_ROOT'", + "'CONNECT'", "'CONNECT_TIME'", "'CONSIDER'", + "'CONSISTENT'", "'CONSTANT'", "'CONST'", + "'CONSTRAINT'", "'CONSTRAINTS'", "'CONSTRUCTOR'", + "'CONTAINER'", "'CONTAINER_DATA'", + "'CONTAINERS'", "'CONTENT'", "'CONTENTS'", + "'CONTEXT'", "'CONTINUE'", "'CONTROLFILE'", + "'CON_UID_TO_ID'", "'CONVERT'", "'COOKIE'", + "'COPY'", "'CORR_K'", "'CORR_S'", + "'CORRUPTION'", "'CORRUPT_XID_ALL'", + "'CORRUPT_XID'", "'COS'", "'COSH'", + "'COST'", "'COST_XML_QUERY_REWRITE'", + "'COUNT'", "'COVAR_POP'", "'COVAR_SAMP'", + "'CPU_COSTING'", "'CPU_PER_CALL'", + "'CPU_PER_SESSION'", "'CRASH'", "'CREATE'", + "'CREATE_FILE_DEST'", "'CREATE_STORED_OUTLINES'", + "'CREATION'", "'CREDENTIAL'", "'CRITICAL'", + "'CROSS'", "'CROSSEDITION'", "'CSCONVERT'", + "'CUBE_AJ'", "'CUBE'", "'CUBE_GB'", + "'CUBE_SJ'", "'CUME_DISTM'", "'CURRENT'", + "'CURRENT_DATE'", "'CURRENT_SCHEMA'", + "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", + "'CURRENT_USER'", "'CURRENTV'", "'CURSOR'", + "'CURSOR_SHARING_EXACT'", "'CURSOR_SPECIFIC_SEGMENT'", + "'CUSTOMDATUM'", "'CV'", "'CYCLE'", + "'DANGLING'", "'DATABASE'", "'DATA'", + "'DATAFILE'", "'DATAFILES'", "'DATAGUARDCONFIG'", + "'DATAMOVEMENT'", "'DATAOBJNO'", "'DATAOBJ_TO_MAT_PARTITION'", + "'DATAOBJ_TO_PARTITION'", "'DATAPUMP'", + "'DATA_SECURITY_REWRITE_LIMIT'", "'DATE'", + "'DATE_MODE'", "'DAY'", "'DAYS'", + "'DBA'", "'DBA_RECYCLEBIN'", "'DBMS_STATS'", + "'DB_ROLE_CHANGE'", "'DBTIMEZONE'", + "'DB_UNIQUE_NAME'", "'DB_VERSION'", + "'DDL'", "'DEALLOCATE'", "'DEBUG'", + "'DEBUGGER'", "'DEC'", "'DECIMAL'", + "'DECLARE'", "'DECOMPOSE'", "'DECORRELATE'", + "'DECR'", "'DECREMENT'", "'DECRYPT'", + "'DEDUPLICATE'", "'DEFAULT'", "'DEFAULTS'", + "'DEFERRABLE'", "'DEFERRED'", "'DEFINED'", + "'DEFINE'", "'DEFINER'", "'DEGREE'", + "'DELAY'", "'DELEGATE'", "'DELETE_ALL'", + "'DELETE'", "'DELETEXML'", "'DEMAND'", + "'DENSE_RANKM'", "'DEPENDENT'", "'DEPTH'", + "'DEQUEUE'", "'DEREF'", "'DEREF_NO_REWRITE'", + "'DESC'", "'DESTROY'", "'DETACHED'", + "'DETERMINES'", "'DETERMINISTIC'", + "'DICTIONARY'", "'DIMENSION'", "'DIMENSIONS'", + "'DIRECT_LOAD'", "'DIRECTORY'", "'DIRECT_PATH'", + "'DISABLE_ALL'", "'DISABLE'", "'DISABLE_PARALLEL_DML'", + "'DISABLE_PRESET'", "'DISABLE_RPKE'", + "'DISALLOW'", "'DISASSOCIATE'", "'DISCARD'", + "'DISCONNECT'", "'DISK'", "'DISKGROUP'", + "''+ DISKGROUP'", "'DISKS'", "'DISMOUNT'", + "'DISTINCT'", "'DISTINGUISHED'", "'DISTRIBUTED'", + "'DISTRIBUTE'", "'DML'", "'DML_UPDATE'", + "'DOCFIDELITY'", "'DOCUMENT'", "'DOMAIN_INDEX_FILTER'", + "'DOMAIN_INDEX_NO_SORT'", "'DOMAIN_INDEX_SORT'", + "'DOUBLE'", "'DOWNGRADE'", "'DRIVING_SITE'", + "'DROP_COLUMN'", "'DROP'", "'DROP_GROUP'", + "'DSINTERVAL_UNCONSTRAINED'", "'DST_UPGRADE_INSERT_CONV'", + "'DUMP'", "'DUMPSET'", "'DUPLICATE'", + "'DV'", "'DYNAMIC'", "'DYNAMIC_SAMPLING'", + "'DYNAMIC_SAMPLING_EST_CDN'", "'EACH'", + "'EDITIONABLE'", "'EDITION'", "'EDITIONING'", + "'EDITIONS'", "'ELEMENT'", "'ELIM_GROUPBY'", + "'ELIMINATE_JOIN'", "'ELIMINATE_OBY'", + "'ELIMINATE_OUTER_JOIN'", "'ELSE'", + "'ELSIF'", "'EM'", "'EMPTY_BLOB'", + "'EMPTY_CLOB'", "'EMPTY'", "'ENABLE_ALL'", + "'ENABLE'", "'ENABLE_PARALLEL_DML'", + "'ENABLE_PRESET'", "'ENCODING'", "'ENCRYPT'", + "'ENCRYPTION'", "'END'", "'END_OUTLINE_DATA'", + "'ENFORCED'", "'ENFORCE'", "'ENQUEUE'", + "'ENTERPRISE'", "'ENTITYESCAPING'", + "'ENTRY'", "'EQUIPART'", "'ERR'", + "'ERROR_ARGUMENT'", "'ERROR'", "'ERROR_ON_OVERLAP_TIME'", + "'ERRORS'", "'ESCAPE'", "'ESTIMATE'", + "'EVAL'", "'EVALNAME'", "'EVALUATE'", + "'EVALUATION'", "'EVENTS'", "'EVERY'", + "'EXCEPT'", "'EXCEPTION'", "'EXCEPTION_INIT'", + "'EXCEPTIONS'", "'EXCHANGE'", "'EXCLUDE'", + "'EXCLUDING'", "'EXCLUSIVE'", "'EXECUTE'", + "'EXEMPT'", "'EXISTING'", "'EXISTS'", + "'EXISTSNODE'", "'EXIT'", "'EXPAND_GSET_TO_UNION'", + "'EXPAND_TABLE'", "'EXP'", "'EXPIRE'", + "'EXPLAIN'", "'EXPLOSION'", "'EXPORT'", + "'EXPR_CORR_CHECK'", "'EXPRESS'", + "'EXTENDS'", "'EXTENT'", "'EXTENTS'", + "'EXTERNAL'", "'EXTERNALLY'", "'EXTRACTCLOBXML'", + "'EXTRACT'", "'EXTRACTVALUE'", "'EXTRA'", + "'FACILITY'", "'FACT'", "'FACTOR'", + "'FACTORIZE_JOIN'", "'FAILED'", "'FAILED_LOGIN_ATTEMPTS'", + "'FAILGROUP'", "'FAILOVER'", "'FAILURE'", + "'FALSE'", "'FAMILY'", "'FAR'", "'FAST'", + "'FASTSTART'", "'FBTSCAN'", "'FEATURE_DETAILS'", + "'FEATURE_ID'", "'FEATURE_SET'", "'FEATURE_VALUE'", + "'FETCH'", "'FILE'", "'FILE_NAME_CONVERT'", + "'FILESYSTEM_LIKE_LOGGING'", "'FILTER'", + "'FINAL'", "'FINE'", "'FINISH'", "'FIRST'", + "'FIRSTM'", "'FIRST_ROWS'", "'FIRST_VALUE'", + "'FIXED_VIEW_DATA'", "'FLAGGER'", + "'FLASHBACK'", "'FLASH_CACHE'", "'FLOAT'", + "'FLOB'", "'FLOOR'", "'FLUSH'", "'FOLDER'", + "'FOLLOWING'", "'FOLLOWS'", "'FORALL'", + "'FORCE'", "'FORCE_XML_QUERY_REWRITE'", + "'FOREIGN'", "'FOREVER'", "'FOR'", + "'FORMAT'", "'FORWARD'", "'FRAGMENT_NUMBER'", + "'FREELIST'", "'FREELISTS'", "'FREEPOOLS'", + "'FRESH'", "'FROM'", "'FROM_TZ'", + "'FULL'", "'FULL_OUTER_JOIN_TO_OUTER'", + "'FUNCTION'", "'FUNCTIONS'", "'GATHER_OPTIMIZER_STATISTICS'", + "'GATHER_PLAN_STATISTICS'", "'GBY_CONC_ROLLUP'", + "'GBY_PUSHDOWN'", "'GENERATED'", "'GET'", + "'GLOBAL'", "'GLOBALLY'", "'GLOBAL_NAME'", + "'GLOBAL_TOPIC_ENABLED'", "'GOTO'", + "'GRANT'", "'GROUP_BY'", "'GROUP'", + "'GROUP_ID'", "'GROUPING'", "'GROUPING_ID'", + "'GROUPS'", "'GUARANTEED'", "'GUARANTEE'", + "'GUARD'", "'HASH_AJ'", "'HASH'", + "'HASHKEYS'", "'HASH_SJ'", "'HAVING'", + "'HEADER'", "'HEAP'", "'HELP'", "'HEXTORAW'", + "'HEXTOREF'", "'HIDDEN'", "'HIDE'", + "'HIERARCHY'", "'HIGH'", "'HINTSET_BEGIN'", + "'HINTSET_END'", "'HOT'", "'HOUR'", + "'HWM_BROKERED'", "'HYBRID'", "'IDENTIFIED'", + "'IDENTIFIER'", "'IDENTITY'", "'IDGENERATORS'", + "'ID'", "'IDLE_TIME'", "'IF'", "'IGNORE'", + "'IGNORE_OPTIM_EMBEDDED_HINTS'", "'IGNORE_ROW_ON_DUPKEY_INDEX'", + "'IGNORE_WHERE_CLAUSE'", "'ILM'", + "'IMMEDIATE'", "'IMPACT'", "'IMPORT'", + "'INACTIVE'", "'INCLUDE'", "'INCLUDE_VERSION'", + "'INCLUDING'", "'INCREMENTAL'", "'INCREMENT'", + "'INCR'", "'INDENT'", "'INDEX_ASC'", + "'INDEX_COMBINE'", "'INDEX_DESC'", + "'INDEXED'", "'INDEXES'", "'INDEX_FFS'", + "'INDEX_FILTER'", "'INDEX'", "'INDEXING'", + "'INDEX_JOIN'", "'INDEX_ROWS'", "'INDEX_RRS'", + "'INDEX_RS_ASC'", "'INDEX_RS_DESC'", + "'INDEX_RS'", "'INDEX_SCAN'", "'INDEX_SKIP_SCAN'", + "'INDEX_SS_ASC'", "'INDEX_SS_DESC'", + "'INDEX_SS'", "'INDEX_STATS'", "'INDEXTYPE'", + "'INDEXTYPES'", "'INDICATOR'", "'INDICES'", + "'INFINITE'", "'INFORMATIONAL'", "'INHERIT'", + "'IN'", "'INITCAP'", "'INITIAL'", + "'INITIALIZED'", "'INITIALLY'", "'INITRANS'", + "'INLINE'", "'INLINE_XMLTYPE_NT'", + "'INMEMORY'", "'IN_MEMORY_METADATA'", + "'INMEMORY_PRUNING'", "'INNER'", "'INOUT'", + "'INPLACE'", "'INSERTCHILDXMLAFTER'", + "'INSERTCHILDXMLBEFORE'", "'INSERTCHILDXML'", + "'INSERT'", "'INSERTXMLAFTER'", "'INSERTXMLBEFORE'", + "'INSTANCE'", "'INSTANCES'", "'INSTANTIABLE'", + "'INSTANTLY'", "'INSTEAD'", "'INSTR2'", + "'INSTR4'", "'INSTRB'", "'INSTRC'", + "'INSTR'", "'INTEGER'", "'INTERLEAVED'", + "'INTERMEDIATE'", "'INTERNAL_CONVERT'", + "'INTERNAL_USE'", "'INTERPRETED'", + "'INTERSECT'", "'INTERVAL'", "'INT'", + "'INTO'", "'INVALIDATE'", "'INVISIBLE'", + "'IN_XQUERY'", "'IS'", "'ISOLATION'", + "'ISOLATION_LEVEL'", "'ITERATE'", + "'ITERATION_NUMBER'", "'JAVA'", "'JOB'", + "'JOIN'", "'JSON_ARRAYAGG'", "'JSON_ARRAY'", + "'JSON_EQUAL'", "'JSON_EXISTS2'", + "'JSON_EXISTS'", "'JSONGET'", "'JSON'", + "'JSON_OBJECTAGG'", "'JSON_OBJECT'", + "'JSONPARSE'", "'JSON_QUERY'", "'JSON_SERIALIZE'", + "'JSON_TABLE'", "'JSON_TEXTCONTAINS2'", + "'JSON_TEXTCONTAINS'", "'JSON_VALUE'", + "'KEEP_DUPLICATES'", "'KEEP'", "'KERBEROS'", + "'KEY'", "'KEY_LENGTH'", "'KEYSIZE'", + "'KEYS'", "'KEYSTORE'", "'KILL'", + "'LABEL'", "'LANGUAGE'", "'LAST_DAY'", + "'LAST'", "'LAST_VALUE'", "'LATERAL'", + "'LAX'", "'LAYER'", "'LDAP_REGISTRATION_ENABLED'", + "'LDAP_REGISTRATION'", "'LDAP_REG_SYNC_INTERVAL'", + "'LEADING'", "'LEFT'", "'LENGTH2'", + "'LENGTH4'", "'LENGTHB'", "'LENGTHC'", + "'LENGTH'", "'LESS'", "'LEVEL'", "'LEVELS'", + "'LIBRARY'", "'LIFECYCLE'", "'LIFE'", + "'LIFETIME'", "'LIKE2'", "'LIKE4'", + "'LIKEC'", "'LIKE_EXPAND'", "'LIKE'", + "'LIMIT'", "'LINEAR'", "'LINK'", "'LIST'", + "'LN'", "'LNNVL'", "'LOAD'", "'LOB'", + "'LOBNVL'", "'LOBS'", "'LOCAL_INDEXES'", + "'LOCAL'", "'LOCALTIME'", "'LOCALTIMESTAMP'", + "'LOCATION'", "'LOCATOR'", "'LOCKED'", + "'LOCKING'", "'LOCK'", "'LOGFILE'", + "'LOGFILES'", "'LOGGING'", "'LOGICAL'", + "'LOGICAL_READS_PER_CALL'", "'LOGICAL_READS_PER_SESSION'", + "'LOG'", "'LOGMINING'", "'LOGOFF'", + "'LOGON'", "'LOG_READ_ONLY_VIOLATIONS'", + "'LONG'", "'LOOP'", "'LOWER'", "'LOW'", + "'LPAD'", "'LTRIM'", "'MAIN'", "'MAKE_REF'", + "'MANAGED'", "'MANAGE'", "'MANAGEMENT'", + "'MANAGER'", "'MANUAL'", "'MAP'", + "'MAPPING'", "'MASTER'", "'MATCHED'", + "'MATCHES'", "'MATCH'", "'MATCH_NUMBER'", + "'MATCH_RECOGNIZE'", "'MATERIALIZED'", + "'MATERIALIZE'", "'MAXARCHLOGS'", + "'MAXDATAFILES'", "'MAXEXTENTS'", + "'MAXIMIZE'", "'MAXINSTANCES'", "'MAXLOGFILES'", + "'MAXLOGHISTORY'", "'MAXLOGMEMBERS'", + "'MAX_SHARED_TEMP_SIZE'", "'MAXSIZE'", + "'MAXTRANS'", "'MAXVALUE'", "'MEASURE'", + "'MEASURES'", "'MEDIUM'", "'MEMBER'", + "'MEMCOMPRESS'", "'MEMORY'", "'MERGE$ACTIONS'", + "'MERGE_AJ'", "'MERGE_CONST_ON'", + "'MERGE'", "'MERGE_SJ'", "'METADATA'", + "'METHOD'", "'MIGRATE'", "'MIGRATION'", + "'MINEXTENTS'", "'MINIMIZE'", "'MINIMUM'", + "'MINING'", "'MINUS'", "'MINUS_NULL'", + "'MINUTE'", "'MINVALUE'", "'MIRRORCOLD'", + "'MIRRORHOT'", "'MIRROR'", "'MLSLABEL'", + "'MODEL_COMPILE_SUBQUERY'", "'MODEL_DONTVERIFY_UNIQUENESS'", + "'MODEL_DYNAMIC_SUBQUERY'", "'MODEL_MIN_ANALYSIS'", + "'MODEL'", "'MODEL_NB'", "'MODEL_NO_ANALYSIS'", + "'MODEL_PBY'", "'MODEL_PUSH_REF'", + "'MODEL_SV'", "'MODE'", "'MODIFICATION'", + "'MODIFY_COLUMN_TYPE'", "'MODIFY'", + "'MOD'", "'MODULE'", "'MONITORING'", + "'MONITOR'", "'MONTH'", "'MONTHS_BETWEEN'", + "'MONTHS'", "'MOUNT'", "'MOUNTPATH'", + "'MOVEMENT'", "'MOVE'", "'MULTIDIMENSIONAL'", + "'MULTISET'", "'MV_MERGE'", "'NAMED'", + "'NAME'", "'NAMESPACE'", "'NAN'", + "'NANVL'", "'NATIONAL'", "'NATIVE_FULL_OUTER_JOIN'", + "'NATIVE'", "'NATURAL'", "'NATURALN'", + "'NAV'", "'NCHAR_CS'", "'NCHAR'", + "'NCHR'", "'NCLOB'", "'NEEDED'", "'NEG'", + "'NESTED'", "'NESTED_TABLE_FAST_INSERT'", + "'NESTED_TABLE_GET_REFS'", "'NESTED_TABLE_ID'", + "'NESTED_TABLE_SET_REFS'", "'NESTED_TABLE_SET_SETID'", + "'NETWORK'", "'NEVER'", "'NEW'", "'NEW_TIME'", + "'NEXT_DAY'", "'NEXT'", "'NL_AJ'", + "'NLJ_BATCHING'", "'NLJ_INDEX_FILTER'", + "'NLJ_INDEX_SCAN'", "'NLJ_PREFETCH'", + "'NLS_CALENDAR'", "'NLS_CHARACTERSET'", + "'NLS_CHARSET_DECL_LEN'", "'NLS_CHARSET_ID'", + "'NLS_CHARSET_NAME'", "'NLS_COMP'", + "'NLS_CURRENCY'", "'NLS_DATE_FORMAT'", + "'NLS_DATE_LANGUAGE'", "'NLS_INITCAP'", + "'NLS_ISO_CURRENCY'", "'NL_SJ'", "'NLS_LANG'", + "'NLS_LANGUAGE'", "'NLS_LENGTH_SEMANTICS'", + "'NLS_LOWER'", "'NLS_NCHAR_CONV_EXCP'", + "'NLS_NUMERIC_CHARACTERS'", "'NLS_SORT'", + "'NLSSORT'", "'NLS_SPECIAL_CHARS'", + "'NLS_TERRITORY'", "'NLS_UPPER'", + "'NO_ACCESS'", "'NO_ADAPTIVE_PLAN'", + "'NO_ANSI_REARCH'", "'NOAPPEND'", + "'NOARCHIVELOG'", "'NOAUDIT'", "'NO_AUTO_REOPTIMIZE'", + "'NO_BASETABLE_MULTIMV_REWRITE'", + "'NO_BATCH_TABLE_ACCESS_BY_ROWID'", + "'NO_BIND_AWARE'", "'NO_BUFFER'", + "'NOCACHE'", "'NO_CARTESIAN'", "'NO_CHECK_ACL_REWRITE'", + "'NO_CLUSTER_BY_ROWID'", "'NO_CLUSTERING'", + "'NO_COALESCE_SQ'", "'NO_COMMON_DATA'", + "'NOCOMPRESS'", "'NO_CONNECT_BY_CB_WHR_ONLY'", + "'NO_CONNECT_BY_COMBINE_SW'", "'NO_CONNECT_BY_COST_BASED'", + "'NO_CONNECT_BY_ELIM_DUPS'", "'NO_CONNECT_BY_FILTERING'", + "'NOCOPY'", "'NO_COST_XML_QUERY_REWRITE'", + "'NO_CPU_COSTING'", "'NOCPU_COSTING'", + "'NOCYCLE'", "'NO_DATA_SECURITY_REWRITE'", + "'NO_DECORRELATE'", "'NODELAY'", "'NO_DOMAIN_INDEX_FILTER'", + "'NO_DST_UPGRADE_INSERT_CONV'", "'NO_ELIM_GROUPBY'", + "'NO_ELIMINATE_JOIN'", "'NO_ELIMINATE_OBY'", + "'NO_ELIMINATE_OUTER_JOIN'", "'NOENTITYESCAPING'", + "'NO_EXPAND_GSET_TO_UNION'", "'NO_EXPAND'", + "'NO_EXPAND_TABLE'", "'NO_FACT'", + "'NO_FACTORIZE_JOIN'", "'NO_FILTERING'", + "'NOFORCE'", "'NO_FULL_OUTER_JOIN_TO_OUTER'", + "'NO_GATHER_OPTIMIZER_STATISTICS'", + "'NO_GBY_PUSHDOWN'", "'NOGUARANTEE'", + "'NO_INDEX_FFS'", "'NO_INDEX'", "'NO_INDEX_SS'", + "'NO_INMEMORY'", "'NO_INMEMORY_PRUNING'", + "'NOKEEP'", "'NO_LOAD'", "'NOLOCAL'", + "'NOLOGGING'", "'NOMAPPING'", "'NOMAXVALUE'", + "'NO_MERGE'", "'NOMINIMIZE'", "'NOMINVALUE'", + "'NO_MODEL_PUSH_REF'", "'NO_MONITORING'", + "'NOMONITORING'", "'NO_MONITOR'", + "'NO_MULTIMV_REWRITE'", "'NO_NATIVE_FULL_OUTER_JOIN'", + "'NONBLOCKING'", "'NONEDITIONABLE'", + "'NONE'", "'NO_NLJ_BATCHING'", "'NO_NLJ_PREFETCH'", + "'NO'", "'NONSCHEMA'", "'NO_OBJECT_LINK'", + "'NOORDER'", "'NO_ORDER_ROLLUPS'", + "'NO_OUTER_JOIN_TO_ANTI'", "'NO_OUTER_JOIN_TO_INNER'", + "'NOOVERRIDE'", "'NO_PARALLEL_INDEX'", + "'NOPARALLEL_INDEX'", "'NO_PARALLEL'", + "'NOPARALLEL'", "'NO_PARTIAL_COMMIT'", + "'NO_PARTIAL_JOIN'", "'NO_PARTIAL_ROLLUP_PUSHDOWN'", + "'NOPARTITION'", "'NO_PLACE_DISTINCT'", + "'NO_PLACE_GROUP_BY'", "'NO_PQ_CONCURRENT_UNION'", + "'NO_PQ_MAP'", "'NO_PQ_REPLICATE'", + "'NO_PQ_SKEW'", "'NO_PRUNE_GSETS'", + "'NO_PULL_PRED'", "'NO_PUSH_PRED'", + "'NO_PUSH_SUBQ'", "'NO_PX_FAULT_TOLERANCE'", + "'NO_PX_JOIN_FILTER'", "'NO_QKN_BUFF'", + "'NO_QUERY_TRANSFORMATION'", "'NO_REF_CASCADE'", + "'NORELOCATE'", "'NORELY'", "'NOREPAIR'", + "'NOREPLAY'", "'NORESETLOGS'", "'NO_RESULT_CACHE'", + "'NOREVERSE'", "'NO_REWRITE'", "'NOREWRITE'", + "'NORMAL'", "'NO_ROOT_SW_FOR_LOCAL'", + "'NOROWDEPENDENCIES'", "'NOSCHEMACHECK'", + "'NOSEGMENT'", "'NO_SEMIJOIN'", "'NO_SEMI_TO_INNER'", + "'NO_SET_TO_JOIN'", "'NOSORT'", "'NO_SQL_TRANSLATION'", + "'NO_SQL_TUNE'", "'NO_STAR_TRANSFORMATION'", + "'NO_STATEMENT_QUEUING'", "'NO_STATS_GSETS'", + "'NOSTRICT'", "'NO_SUBQUERY_PRUNING'", + "'NO_SUBSTRB_PAD'", "'NO_SWAP_JOIN_INPUTS'", + "'NOSWITCH'", "'NO_TABLE_LOOKUP_BY_NL'", + "'NO_TEMP_TABLE'", "'NOTHING'", "'NOTIFICATION'", + "'NOT'", "'NO_TRANSFORM_DISTINCT_AGG'", + "'NO_UNNEST'", "'NO_USE_CUBE'", "'NO_USE_HASH_AGGREGATION'", + "'NO_USE_HASH_GBY_FOR_PUSHDOWN'", + "'NO_USE_HASH'", "'NO_USE_INVISIBLE_INDEXES'", + "'NO_USE_MERGE'", "'NO_USE_NL'", "'NO_USE_VECTOR_AGGREGATION'", + "'NOVALIDATE'", "'NO_VECTOR_TRANSFORM_DIMS'", + "'NO_VECTOR_TRANSFORM_FACT'", "'NO_VECTOR_TRANSFORM'", + "'NOWAIT'", "'NO_XDB_FASTPATH_INSERT'", + "'NO_XML_DML_REWRITE'", "'NO_XMLINDEX_REWRITE_IN_SELECT'", + "'NO_XMLINDEX_REWRITE'", "'NO_XML_QUERY_REWRITE'", + "'NO_ZONEMAP'", "'NTH_VALUE'", "'NULLIF'", + "'NULL'", "'NULLS'", "'NUMBER'", "'NUMERIC'", + "'NUM_INDEX_KEYS'", "'NUMTODSINTERVAL'", + "'NUMTOYMINTERVAL'", "'NVARCHAR2'", + "'NVL2'", "'OBJECT2XML'", "'OBJECT'", + "'OBJ_ID'", "'OBJNO'", "'OBJNO_REUSE'", + "'OCCURENCES'", "'OFFLINE'", "'OFF'", + "'OFFSET'", "'OF'", "'OIDINDEX'", + "'OID'", "'OLAP'", "'OLD'", "'OLD_PUSH_PRED'", + "'OLS'", "'OLTP'", "'OMIT'", "'ONE'", + "'ONLINE'", "'ONLINELOG'", "'ONLY'", + "'ON'", "'OPAQUE'", "'OPAQUE_TRANSFORM'", + "'OPAQUE_XCANONICAL'", "'OPCODE'", + "'OPEN'", "'OPERATIONS'", "'OPERATOR'", + "'OPT_ESTIMATE'", "'OPTIMAL'", "'OPTIMIZE'", + "'OPTIMIZER_FEATURES_ENABLE'", "'OPTIMIZER_GOAL'", + "'OPTION'", "'OPT_PARAM'", "'ORA_BRANCH'", + "'ORA_CHECK_ACL'", "'ORA_CHECK_PRIVILEGE'", + "'ORA_CLUSTERING'", "'ORADATA'", "'ORADEBUG'", + "'ORA_DST_AFFECTED'", "'ORA_DST_CONVERT'", + "'ORA_DST_ERROR'", "'ORA_GET_ACLIDS'", + "'ORA_GET_PRIVILEGES'", "'ORA_HASH'", + "'ORA_INVOKING_USERID'", "'ORA_INVOKING_USER'", + "'ORA_INVOKING_XS_USER_GUID'", "'ORA_INVOKING_XS_USER'", + "'ORA_RAWCOMPARE'", "'ORA_RAWCONCAT'", + "'ORA_ROWSCN'", "'ORA_ROWSCN_RAW'", + "'ORA_ROWVERSION'", "'ORA_TABVERSION'", + "'ORA_WRITE_TIME'", "'ORDERED'", "'ORDERED_PREDICATES'", + "'ORDER'", "'ORDINALITY'", "'OR_EXPAND'", + "'ORGANIZATION'", "'OR'", "'OR_PREDICATES'", + "'OSERROR'", "'OTHER'", "'OUTER_JOIN_TO_ANTI'", + "'OUTER_JOIN_TO_INNER'", "'OUTER'", + "'OUTLINE_LEAF'", "'OUTLINE'", "'OUT_OF_LINE'", + "'OUT'", "'OVERFLOW_NOMOVE'", "'OVERFLOW'", + "'OVERLAPS'", "'OVER'", "'OVERRIDING'", + "'OWNER'", "'OWNERSHIP'", "'OWN'", + "'PACKAGE'", "'PACKAGES'", "'PARALLEL_ENABLE'", + "'PARALLEL_INDEX'", "'PARALLEL'", + "'PARAMETERFILE'", "'PARAMETERS'", + "'PARAM'", "'PARENT'", "'PARITY'", + "'PARTIAL_JOIN'", "'PARTIALLY'", "'PARTIAL'", + "'PARTIAL_ROLLUP_PUSHDOWN'", "'PARTITION_HASH'", + "'PARTITION_LIST'", "'PARTITION'", + "'PARTITION_RANGE'", "'PARTITIONS'", + "'PART$NUM$INST'", "'PASSING'", "'PASSWORD_GRACE_TIME'", + "'PASSWORD_LIFE_TIME'", "'PASSWORD_LOCK_TIME'", + "'PASSWORD'", "'PASSWORD_REUSE_MAX'", + "'PASSWORD_REUSE_TIME'", "'PASSWORD_VERIFY_FUNCTION'", + "'PAST'", "'PATCH'", "'PATH'", "'PATH_PREFIX'", + "'PATHS'", "'PATTERN'", "'PBL_HS_BEGIN'", + "'PBL_HS_END'", "'PCTFREE'", "'PCTINCREASE'", + "'PCTTHRESHOLD'", "'PCTUSED'", "'PCTVERSION'", + "'PENDING'", null, null, null, "'PERCENT'", + "'PERCENT_RANKM'", null, null, null, + "'PERFORMANCE'", "'PERIOD'", "'PERMANENT'", + "'PERMISSION'", "'PERMUTE'", "'PER'", + "'PFILE'", "'PHYSICAL'", "'PIKEY'", + "'PIPELINED'", "'PIPE'", "'PIV_GB'", + "'PIVOT'", "'PIV_SSF'", "'PLACE_DISTINCT'", + "'PLACE_GROUP_BY'", "'PLAN'", "'PLSCOPE_SETTINGS'", + "'PLS_INTEGER'", "'PLSQL_CCFLAGS'", + "'PLSQL_CODE_TYPE'", "'PLSQL_DEBUG'", + "'PLSQL_OPTIMIZE_LEVEL'", "'PLSQL_WARNINGS'", + "'PLUGGABLE'", "'POINT'", "'POLICY'", + "'POOL_16K'", "'POOL_2K'", "'POOL_32K'", + "'POOL_4K'", "'POOL_8K'", "'POSITIVEN'", + "'POSITIVE'", "'POST_TRANSACTION'", + "'POWERMULTISET_BY_CARDINALITY'", + "'POWERMULTISET'", "'POWER'", "'PQ_CONCURRENT_UNION'", + "'PQ_DISTRIBUTE'", "'PQ_DISTRIBUTE_WINDOW'", + "'PQ_FILTER'", "'PQ_MAP'", "'PQ_NOMAP'", + "'PQ_REPLICATE'", "'PQ_SKEW'", "'PRAGMA'", + "'PREBUILT'", "'PRECEDES'", "'PRECEDING'", + "'PRECISION'", "'PRECOMPUTE_SUBQUERY'", + "'PREDICATE_REORDERS'", "'PRELOAD'", + "'PREPARE'", "'PRESENTNNV'", "'PRESENT'", + "'PRESENTV'", "'PRESERVE_OID'", "'PRESERVE'", + "'PRETTY'", "'PREVIOUS'", "'PREV'", + "'PRIMARY'", "'PRINTBLOBTOCLOB'", + "'PRIORITY'", "'PRIOR'", "'PRIVATE'", + "'PRIVATE_SGA'", "'PRIVILEGED'", "'PRIVILEGE'", + "'PRIVILEGES'", "'PROCEDURAL'", "'PROCEDURE'", + "'PROCESS'", "'PROFILE'", "'PROGRAM'", + "'PROJECT'", "'PROPAGATE'", "'PROTECTED'", + "'PROTECTION'", "'PROXY'", "'PRUNING'", + "'PUBLIC'", "'PULL_PRED'", "'PURGE'", + "'PUSH_PRED'", "'PUSH_SUBQ'", "'PX_FAULT_TOLERANCE'", + "'PX_GRANULE'", "'PX_JOIN_FILTER'", + "'QB_NAME'", "'QUERY_BLOCK'", "'QUERY'", + "'QUEUE_CURR'", "'QUEUE'", "'QUEUE_ROWP'", + "'QUIESCE'", "'QUORUM'", "'QUOTA'", + "'RAISE'", "'RANDOM_LOCAL'", "'RANDOM'", + "'RANGE'", "'RANKM'", "'RAPIDLY'", + "'RAW'", "'RAWTOHEX'", "'RAWTONHEX'", + "'RBA'", "'RBO_OUTLINE'", "'RDBA'", + "'READ'", "'READS'", "'REALM'", "'REAL'", + "'REBALANCE'", "'REBUILD'", "'RECORD'", + "'RECORDS_PER_BLOCK'", "'RECOVERABLE'", + "'RECOVER'", "'RECOVERY'", "'RECYCLEBIN'", + "'RECYCLE'", "'REDACTION'", "'REDEFINE'", + "'REDO'", "'REDUCED'", "'REDUNDANCY'", + "'REF_CASCADE_CURSOR'", "'REFERENCED'", + "'REFERENCE'", "'REFERENCES'", "'REFERENCING'", + "'REF'", "'REFRESH'", "'REFTOHEX'", + "'REGEXP_COUNT'", "'REGEXP_INSTR'", + "'REGEXP_LIKE'", "'REGEXP_REPLACE'", + "'REGEXP_SUBSTR'", "'REGISTER'", "'REGR_AVGX'", + "'REGR_AVGY'", "'REGR_COUNT'", "'REGR_INTERCEPT'", + "'REGR_R2'", "'REGR_SLOPE'", "'REGR_SXX'", + "'REGR_SXY'", "'REGR_SYY'", "'REGULAR'", + "'REJECT'", "'REKEY'", "'RELATIONAL'", + "'RELIES_ON'", "'RELOCATE'", "'RELY'", + "'REMAINDER'", "'REMOTE_MAPPED'", + "'REMOVE'", "'RENAME'", "'REPAIR'", + "'REPEAT'", "'REPLACE'", "'REPLICATION'", + "'REQUIRED'", "'RESETLOGS'", "'RESET'", + "'RESIZE'", "'RESOLVE'", "'RESOLVER'", + "'RESOURCE'", "'RESPECT'", "'RESTART'", + "'RESTORE_AS_INTERVALS'", "'RESTORE'", + "'RESTRICT_ALL_REF_CONS'", "'RESTRICTED'", + "'RESTRICT_REFERENCES'", "'RESTRICT'", + "'RESULT_CACHE'", "'RESULT'", "'RESUMABLE'", + "'RESUME'", "'RETENTION'", "'RETRY_ON_ROW_CHANGE'", + "'RETURNING'", "'RETURN'", "'REUSE'", + "'REVERSE'", "'REVOKE'", "'REWRITE_OR_ERROR'", + "'REWRITE'", "'RIGHT'", "'ROLE'", + "'ROLESET'", "'ROLES'", "'ROLLBACK'", + "'ROLLING'", "'ROLLUP'", "'ROWDEPENDENCIES'", + "'ROWID_MAPPING_TABLE'", "'ROWID'", + "'ROWIDTOCHAR'", "'ROWIDTONCHAR'", + "'ROW_LENGTH'", "'ROWNUM'", "'ROW'", + "'ROWS'", "'RPAD'", "'RTRIM'", "'RULE'", + "'RULES'", "'RUNNING'", "'SALT'", + "'SAMPLE'", "'SAVE_AS_INTERVALS'", + "'SAVEPOINT'", "'SAVE'", "'SB4'", + "'SCALE_ROWS'", "'SCALE'", "'SCAN_INSTANCES'", + "'SCAN'", "'SCHEDULER'", "'SCHEMACHECK'", + "'SCHEMA'", "'SCN_ASCENDING'", "'SCN'", + "'SCOPE'", "'SCRUB'", "'SD_ALL'", + "'SD_INHIBIT'", "'SDO_GEOM_MBR'", + "'SD_SHOW'", "'SEARCH'", "'SECOND'", + "'SECRET'", "'SECUREFILE_DBA'", "'SECUREFILE'", + "'SECURITY'", "'SEED'", "'SEG_BLOCK'", + "'SEG_FILE'", "'SEGMENT'", "'SELECTIVITY'", + "'SELECT'", "'SELF'", "'SEMIJOIN_DRIVER'", + "'SEMIJOIN'", "'SEMI_TO_INNER'", "'SEQUENCED'", + "'SEQUENCE'", "'SEQUENTIAL'", "'SEQ'", + "'SERIALIZABLE'", "'SERIALLY_REUSABLE'", + "'SERIAL'", "'SERVERERROR'", "'SERVICE_NAME_CONVERT'", + "'SERVICES'", "'SESSION_CACHED_CURSORS'", + "'SESSION'", "'SESSIONS_PER_USER'", + "'SESSIONTIMEZONE'", "'SESSIONTZNAME'", + "'SET'", "'SETS'", "'SETTINGS'", "'SET_TO_JOIN'", + "'SEVERE'", "'SHARED_POOL'", "'SHARED'", + "'SHARE'", "'SHARING'", "'SHELFLIFE'", + "'SHOW'", "'SHRINK'", "'SHUTDOWN'", + "'SIBLINGS'", "'SID'", "'SIGNAL_COMPONENT'", + "'SIGNAL_FUNCTION'", "'SIGN'", "'SIGNTYPE'", + "'SIMPLE_INTEGER'", "'SIMPLE'", "'SINGLE'", + "'SINGLETASK'", "'SINH'", "'SIN'", + "'SIZE'", "'SKIP_EXT_OPTIMIZER'", + "'SKIP'", "'SKIP_UNQ_UNUSABLE_IDX'", + "'SKIP_UNUSABLE_INDEXES'", "'SMALLFILE'", + "'SMALLINT'", "'SNAPSHOT'", "'SOME'", + "'SORT'", "'SOUNDEX'", "'SOURCE_FILE_DIRECTORY'", + "'SOURCE_FILE_NAME_CONVERT'", "'SOURCE'", + "'SPACE'", "'SPECIFICATION'", "'SPFILE'", + "'SPLIT'", "'SPREADSHEET'", "'SQLDATA'", + "'SQLERROR'", "'SQLLDR'", "'SQL'", + "'SQL_TRACE'", "'SQL_TRANSLATION_PROFILE'", + "'SQRT'", "'STALE'", "'STANDALONE'", + "'STANDARD_HASH'", "'STANDBY_MAX_DATA_DELAY'", + "'STANDBYS'", "'STANDBY'", "'STAR'", + "'STAR_TRANSFORMATION'", "'START'", + "'STARTUP'", "'STATEMENT_ID'", "'STATEMENT_QUEUING'", + "'STATEMENTS'", "'STATEMENT'", "'STATE'", + "'STATIC'", "'STATISTICS'", "'STATS_BINOMIAL_TEST'", + "'STATS_CROSSTAB'", "'STATS_F_TEST'", + "'STATS_KS_TEST'", "'STATS_MODE'", + "'STATS_MW_TEST'", "'STATS_ONE_WAY_ANOVA'", + "'STATS_T_TEST_INDEP'", "'STATS_T_TEST_INDEPU'", + "'STATS_T_TEST_ONE'", "'STATS_T_TEST_PAIRED'", + "'STATS_WSR_TEST'", "'STDDEV_POP'", + "'STDDEV_SAMP'", "'STOP'", "'STORAGE'", + "'STORE'", "'STREAMS'", "'STREAM'", + "'STRICT'", "'STRING'", "'STRIPE_COLUMNS'", + "'STRIPE_WIDTH'", "'STRIP'", "'STRUCTURE'", + "'SUBMULTISET'", "'SUBPARTITION_REL'", + "'SUBPARTITIONS'", "'SUBPARTITION'", + "'SUBQUERIES'", "'SUBQUERY_PRUNING'", + "'SUBSCRIBE'", "'SUBSET'", "'SUBSTITUTABLE'", + "'SUBSTR2'", "'SUBSTR4'", "'SUBSTRB'", + "'SUBSTRC'", "'SUBTYPE'", "'SUCCESSFUL'", + "'SUCCESS'", "'SUMMARY'", "'SUPPLEMENTAL'", + "'SUSPEND'", "'SWAP_JOIN_INPUTS'", + "'SWITCHOVER'", "'SWITCH'", "'SYNCHRONOUS'", + "'SYNC'", "'SYNONYM'", "'SYSASM'", + "'SYS_AUDIT'", "'SYSAUX'", "'SYSBACKUP'", + "'SYS_CHECKACL'", "'SYS_CHECK_PRIVILEGE'", + "'SYS_CONNECT_BY_PATH'", "'SYS_CONTEXT'", + "'SYSDATE'", "'SYSDBA'", "'SYS_DBURIGEN'", + "'SYSDG'", "'SYS_DL_CURSOR'", "'SYS_DM_RXFORM_CHR'", + "'SYS_DM_RXFORM_NUM'", "'SYS_DOM_COMPARE'", + "'SYS_DST_PRIM2SEC'", "'SYS_DST_SEC2PRIM'", + "'SYS_ET_BFILE_TO_RAW'", "'SYS_ET_BLOB_TO_IMAGE'", + "'SYS_ET_IMAGE_TO_BLOB'", "'SYS_ET_RAW_TO_BFILE'", + "'SYS_EXTPDTXT'", "'SYS_EXTRACT_UTC'", + "'SYS_FBT_INSDEL'", "'SYS_FILTER_ACLS'", + "'SYS_FNMATCHES'", "'SYS_FNREPLACE'", + "'SYS_GET_ACLIDS'", "'SYS_GET_COL_ACLIDS'", + "'SYS_GET_PRIVILEGES'", "'SYS_GETTOKENID'", + "'SYS_GETXTIVAL'", "'SYS_GUID'", "'SYSGUID'", + "'SYSKM'", "'SYS_MAKE_XMLNODEID'", + "'SYS_MAKEXML'", "'SYS_MKXMLATTR'", + "'SYS_MKXTI'", "'SYSOBJ'", "'SYS_OP_ADT2BIN'", + "'SYS_OP_ADTCONS'", "'SYS_OP_ALSCRVAL'", + "'SYS_OP_ATG'", "'SYS_OP_BIN2ADT'", + "'SYS_OP_BITVEC'", "'SYS_OP_BL2R'", + "'SYS_OP_BLOOM_FILTER_LIST'", "'SYS_OP_BLOOM_FILTER'", + "'SYS_OP_C2C'", "'SYS_OP_CAST'", "'SYS_OP_CEG'", + "'SYS_OP_CL2C'", "'SYS_OP_COMBINED_HASH'", + "'SYS_OP_COMP'", "'SYS_OP_CONVERT'", + "'SYS_OP_COUNTCHG'", "'SYS_OP_CSCONV'", + "'SYS_OP_CSCONVTEST'", "'SYS_OP_CSR'", + "'SYS_OP_CSX_PATCH'", "'SYS_OP_CYCLED_SEQ'", + "'SYS_OP_DECOMP'", "'SYS_OP_DESCEND'", + "'SYS_OP_DISTINCT'", "'SYS_OP_DRA'", + "'SYS_OP_DUMP'", "'SYS_OP_DV_CHECK'", + "'SYS_OP_ENFORCE_NOT_NULL$'", "'SYSOPER'", + "'SYS_OP_EXTRACT'", "'SYS_OP_GROUPING'", + "'SYS_OP_GUID'", "'SYS_OP_HASH'", + "'SYS_OP_IIX'", "'SYS_OP_ITR'", "'SYS_OP_KEY_VECTOR_CREATE'", + "'SYS_OP_KEY_VECTOR_FILTER_LIST'", + "'SYS_OP_KEY_VECTOR_FILTER'", "'SYS_OP_KEY_VECTOR_SUCCEEDED'", + "'SYS_OP_KEY_VECTOR_USE'", "'SYS_OP_LBID'", + "'SYS_OP_LOBLOC2BLOB'", "'SYS_OP_LOBLOC2CLOB'", + "'SYS_OP_LOBLOC2ID'", "'SYS_OP_LOBLOC2NCLOB'", + "'SYS_OP_LOBLOC2TYP'", "'SYS_OP_LSVI'", + "'SYS_OP_LVL'", "'SYS_OP_MAKEOID'", + "'SYS_OP_MAP_NONNULL'", "'SYS_OP_MSR'", + "'SYS_OP_NICOMBINE'", "'SYS_OP_NIEXTRACT'", + "'SYS_OP_NII'", "'SYS_OP_NIX'", "'SYS_OP_NOEXPAND'", + "'SYS_OP_NTCIMG$'", "'SYS_OP_NUMTORAW'", + "'SYS_OP_OIDVALUE'", "'SYS_OP_OPNSIZE'", + "'SYS_OP_PAR_1'", "'SYS_OP_PARGID_1'", + "'SYS_OP_PARGID'", "'SYS_OP_PAR'", + "'SYS_OP_PART_ID'", "'SYS_OP_PIVOT'", + "'SYS_OP_R2O'", "'SYS_OP_RAWTONUM'", + "'SYS_OP_RDTM'", "'SYS_OP_REF'", "'SYS_OP_RMTD'", + "'SYS_OP_ROWIDTOOBJ'", "'SYS_OP_RPB'", + "'SYS_OPTLOBPRBSC'", "'SYS_OP_TOSETID'", + "'SYS_OP_TPR'", "'SYS_OP_TRTB'", "'SYS_OPTXICMP'", + "'SYS_OPTXQCASTASNQ'", "'SYS_OP_UNDESCEND'", + "'SYS_OP_VECAND'", "'SYS_OP_VECBIT'", + "'SYS_OP_VECOR'", "'SYS_OP_VECXOR'", + "'SYS_OP_VERSION'", "'SYS_OP_VREF'", + "'SYS_OP_VVD'", "'SYS_OP_XMLCONS_FOR_CSX'", + "'SYS_OP_XPTHATG'", "'SYS_OP_XPTHIDX'", + "'SYS_OP_XPTHOP'", "'SYS_OP_XTXT2SQLT'", + "'SYS_OP_ZONE_ID'", "'SYS_ORDERKEY_DEPTH'", + "'SYS_ORDERKEY_MAXCHILD'", "'SYS_ORDERKEY_PARENT'", + "'SYS_PARALLEL_TXN'", "'SYS_PATHID_IS_ATTR'", + "'SYS_PATHID_IS_NMSPC'", "'SYS_PATHID_LASTNAME'", + "'SYS_PATHID_LASTNMSPC'", "'SYS_PATH_REVERSE'", + "'SYS_PXQEXTRACT'", "'SYS_RAW_TO_XSID'", + "'SYS_RID_ORDER'", "'SYS_ROW_DELTA'", + "'SYS_SC_2_XMLT'", "'SYS_SYNRCIREDO'", + "'SYSTEM_DEFINED'", "'SYSTEM'", "'SYSTIMESTAMP'", + "'SYS_TYPEID'", "'SYS_UMAKEXML'", + "'SYS_XMLANALYZE'", "'SYS_XMLCONTAINS'", + "'SYS_XMLCONV'", "'SYS_XMLEXNSURI'", + "'SYS_XMLGEN'", "'SYS_XMLI_LOC_ISNODE'", + "'SYS_XMLI_LOC_ISTEXT'", "'SYS_XMLINSTR'", + "'SYS_XMLLOCATOR_GETSVAL'", "'SYS_XMLNODEID_GETCID'", + "'SYS_XMLNODEID_GETLOCATOR'", "'SYS_XMLNODEID_GETOKEY'", + "'SYS_XMLNODEID_GETPATHID'", "'SYS_XMLNODEID_GETPTRID'", + "'SYS_XMLNODEID_GETRID'", "'SYS_XMLNODEID_GETSVAL'", + "'SYS_XMLNODEID_GETTID'", "'SYS_XMLNODEID'", + "'SYS_XMLT_2_SC'", "'SYS_XMLTRANSLATE'", + "'SYS_XMLTYPE2SQL'", "'SYS_XQ_ASQLCNV'", + "'SYS_XQ_ATOMCNVCHK'", "'SYS_XQBASEURI'", + "'SYS_XQCASTABLEERRH'", "'SYS_XQCODEP2STR'", + "'SYS_XQCODEPEQ'", "'SYS_XQCON2SEQ'", + "'SYS_XQCONCAT'", "'SYS_XQDELETE'", + "'SYS_XQDFLTCOLATION'", "'SYS_XQDOC'", + "'SYS_XQDOCURI'", "'SYS_XQDURDIV'", + "'SYS_XQED4URI'", "'SYS_XQENDSWITH'", + "'SYS_XQERRH'", "'SYS_XQERR'", "'SYS_XQESHTMLURI'", + "'SYS_XQEXLOBVAL'", "'SYS_XQEXSTWRP'", + "'SYS_XQEXTRACT'", "'SYS_XQEXTRREF'", + "'SYS_XQEXVAL'", "'SYS_XQFB2STR'", + "'SYS_XQFNBOOL'", "'SYS_XQFNCMP'", + "'SYS_XQFNDATIM'", "'SYS_XQFNLNAME'", + "'SYS_XQFNNM'", "'SYS_XQFNNSURI'", + "'SYS_XQFNPREDTRUTH'", "'SYS_XQFNQNM'", + "'SYS_XQFNROOT'", "'SYS_XQFORMATNUM'", + "'SYS_XQFTCONTAIN'", "'SYS_XQFUNCR'", + "'SYS_XQGETCONTENT'", "'SYS_XQINDXOF'", + "'SYS_XQINSERT'", "'SYS_XQINSPFX'", + "'SYS_XQIRI2URI'", "'SYS_XQLANG'", + "'SYS_XQLLNMFRMQNM'", "'SYS_XQMKNODEREF'", + "'SYS_XQNILLED'", "'SYS_XQNODENAME'", + "'SYS_XQNORMSPACE'", "'SYS_XQNORMUCODE'", + "'SYS_XQ_NRNG'", "'SYS_XQNSP4PFX'", + "'SYS_XQNSPFRMQNM'", "'SYS_XQPFXFRMQNM'", + "'SYS_XQ_PKSQL2XML'", "'SYS_XQPOLYABS'", + "'SYS_XQPOLYADD'", "'SYS_XQPOLYCEL'", + "'SYS_XQPOLYCSTBL'", "'SYS_XQPOLYCST'", + "'SYS_XQPOLYDIV'", "'SYS_XQPOLYFLR'", + "'SYS_XQPOLYMOD'", "'SYS_XQPOLYMUL'", + "'SYS_XQPOLYRND'", "'SYS_XQPOLYSQRT'", + "'SYS_XQPOLYSUB'", "'SYS_XQPOLYUMUS'", + "'SYS_XQPOLYUPLS'", "'SYS_XQPOLYVEQ'", + "'SYS_XQPOLYVGE'", "'SYS_XQPOLYVGT'", + "'SYS_XQPOLYVLE'", "'SYS_XQPOLYVLT'", + "'SYS_XQPOLYVNE'", "'SYS_XQREF2VAL'", + "'SYS_XQRENAME'", "'SYS_XQREPLACE'", + "'SYS_XQRESVURI'", "'SYS_XQRNDHALF2EVN'", + "'SYS_XQRSLVQNM'", "'SYS_XQRYENVPGET'", + "'SYS_XQRYVARGET'", "'SYS_XQRYWRP'", + "'SYS_XQSEQ2CON4XC'", "'SYS_XQSEQ2CON'", + "'SYS_XQSEQDEEPEQ'", "'SYS_XQSEQINSB'", + "'SYS_XQSEQRM'", "'SYS_XQSEQRVS'", + "'SYS_XQSEQSUB'", "'SYS_XQSEQTYPMATCH'", + "'SYS_XQSTARTSWITH'", "'SYS_XQSTATBURI'", + "'SYS_XQSTR2CODEP'", "'SYS_XQSTRJOIN'", + "'SYS_XQSUBSTRAFT'", "'SYS_XQSUBSTRBEF'", + "'SYS_XQTOKENIZE'", "'SYS_XQTREATAS'", + "'SYS_XQ_UPKXML2SQL'", "'SYS_XQXFORM'", + "'SYS_XSID_TO_RAW'", "'SYS_ZMAP_FILTER'", + "'SYS_ZMAP_REFRESH'", "'TABLE_LOOKUP_BY_NL'", + "'TABLESPACE_NO'", "'TABLESPACE'", + "'TABLES'", "'TABLE_STATS'", "'TABLE'", + "'TABNO'", "'TAG'", "'TANH'", "'TAN'", + "'TBL$OR$IDX$PART$NUM'", "'TEMPFILE'", + "'TEMPLATE'", "'TEMPORARY'", "'TEMP_TABLE'", + "'TEST'", "'TEXT'", "'THAN'", "'THEN'", + "'THE'", "'THREAD'", "'THROUGH'", + "'TIER'", "'TIES'", "'TIMEOUT'", "'TIMESTAMP_LTZ_UNCONSTRAINED'", + "'TIMESTAMP'", "'TIMESTAMP_TZ_UNCONSTRAINED'", + "'TIMESTAMP_UNCONSTRAINED'", "'TIMES'", + "'TIME'", "'TIMEZONE'", "'TIMEZONE_ABBR'", + "'TIMEZONE_HOUR'", "'TIMEZONE_MINUTE'", + "'TIMEZONE_OFFSET'", "'TIMEZONE_REGION'", + "'TIME_ZONE'", "'TIV_GB'", "'TIV_SSF'", + "'TO_ACLID'", "'TO_BINARY_DOUBLE'", + "'TO_BINARY_FLOAT'", "'TO_BLOB'", + "'TO_CLOB'", "'TO_DSINTERVAL'", "'TO_LOB'", + "'TO_MULTI_BYTE'", "'TO_NCHAR'", "'TO_NCLOB'", + "'TO_NUMBER'", "'TOPLEVEL'", "'TO_SINGLE_BYTE'", + "'TO_TIMESTAMP'", "'TO_TIMESTAMP_TZ'", + "'TO_TIME'", "'TO_TIME_TZ'", "'TO'", + "'TO_YMINTERVAL'", "'TRACE'", "'TRACING'", + "'TRACKING'", "'TRAILING'", "'TRANSACTION'", + "'TRANSFORM_DISTINCT_AGG'", "'TRANSITIONAL'", + "'TRANSITION'", "'TRANSLATE'", "'TRANSLATION'", + "'TREAT'", "'TRIGGERS'", "'TRIGGER'", + "'TRUE'", "'TRUNCATE'", "'TRUNC'", + "'TRUSTED'", "'TRUST'", "'TUNING'", + "'TX'", "'TYPES'", "'TYPE'", "'TZ_OFFSET'", + "'UB2'", "'UBA'", "'UCS2'", "'UID'", + "'UNARCHIVED'", "'UNBOUNDED'", "'UNBOUND'", + "'UNCONDITIONAL'", "'UNDER'", "'UNDO'", + "'UNDROP'", "'UNIFORM'", "'UNION'", + "'UNIQUE'", "'UNISTR'", "'UNLIMITED'", + "'UNLOAD'", "'UNLOCK'", "'UNMATCHED'", + "'UNNEST_INNERJ_DISTINCT_VIEW'", "'UNNEST_NOSEMIJ_NODISTINCTVIEW'", + "'UNNEST_SEMIJ_VIEW'", "'UNNEST'", + "'UNPACKED'", "'UNPIVOT'", "'UNPLUG'", + "'UNPROTECTED'", "'UNQUIESCE'", "'UNRECOVERABLE'", + "'UNRESTRICTED'", "'UNSUBSCRIBE'", + "'UNTIL'", "'UNUSABLE'", "'UNUSED'", + "'UPDATABLE'", "'UPDATED'", "'UPDATE'", + "'UPDATEXML'", "'UPD_INDEXES'", "'UPD_JOININDEX'", + "'UPGRADE'", "'UPPER'", "'UPSERT'", + "'UROWID'", "'USABLE'", "'USAGE'", + "'USE_ANTI'", "'USE_CONCAT'", "'USE_CUBE'", + "'USE_HASH_AGGREGATION'", "'USE_HASH_GBY_FOR_PUSHDOWN'", + "'USE_HASH'", "'USE_HIDDEN_PARTITIONS'", + "'USE_INVISIBLE_INDEXES'", "'USE_MERGE_CARTESIAN'", + "'USE_MERGE'", "'USE_NL'", "'USE_NL_WITH_INDEX'", + "'USE_PRIVATE_OUTLINES'", "'USER_DATA'", + "'USER_DEFINED'", "'USERENV'", "'USERGROUP'", + "'USER_RECYCLEBIN'", "'USERS'", "'USER_TABLESPACES'", + "'USER'", "'USE_SEMI'", "'USE_STORED_OUTLINES'", + "'USE_TTT_FOR_GSETS'", "'USE'", "'USE_VECTOR_AGGREGATION'", + "'USE_WEAK_NAME_RESL'", "'USING_NO_EXPAND'", + "'USING'", "'UTF16BE'", "'UTF16LE'", + "'UTF32'", "'UTF8'", "'V1'", "'V2'", + "'VALIDATE'", "'VALIDATION'", "'VALID_TIME_END'", + "'VALUES'", "'VALUE'", "'VARCHAR2'", + "'VARCHAR'", "'VARIABLE'", "'VAR_POP'", + "'VARRAYS'", "'VARRAY'", "'VAR_SAMP'", + "'VARYING'", "'VECTOR_READ_TRACE'", + "'VECTOR_READ'", "'VECTOR_TRANSFORM_DIMS'", + "'VECTOR_TRANSFORM_FACT'", "'VECTOR_TRANSFORM'", + "'VERIFIER'", "'VERIFY'", "'VERSIONING'", + "'VERSIONS_ENDSCN'", "'VERSIONS_ENDTIME'", + "'VERSIONS_OPERATION'", "'VERSIONS_STARTSCN'", + "'VERSIONS_STARTTIME'", "'VERSIONS'", + "'VERSIONS_XID'", "'VERSION'", "'VIEW'", + "'VIOLATION'", "'VIRTUAL'", "'VISIBILITY'", + "'VISIBLE'", "'VOLUME'", "'VSIZE'", + "'WAIT'", "'WALLET'", "'WARNING'", + "'WEEKS'", "'WEEK'", "'WELLFORMED'", + "'WHENEVER'", "'WHEN'", "'WHERE'", + "'WHILE'", "'WHITESPACE'", "'WIDTH_BUCKET'", + "'WITHIN'", "'WITHOUT'", "'WITH_PLSQL'", + "'WITH'", "'WORK'", "'WRAPPED'", "'WRAPPER'", + "'WRITE'", "'XDB_FASTPATH_INSERT'", + "'XDB'", "'X_DYN_PRUNE'", "'XID'", + "'XML2OBJECT'", "'XMLAGG'", "'XMLATTRIBUTES'", + "'XMLCAST'", "'XMLCDATA'", "'XMLCOLATTVAL'", + "'XMLCOMMENT'", "'XMLCONCAT'", "'XMLDIFF'", + "'XML_DML_RWT_STMT'", "'XMLELEMENT'", + "'XMLEXISTS2'", "'XMLEXISTS'", "'XMLFOREST'", + "'XMLINDEX'", "'XMLINDEX_REWRITE_IN_SELECT'", + "'XMLINDEX_REWRITE'", "'XMLINDEX_SEL_IDX_TBL'", + "'XMLISNODE'", "'XMLISVALID'", "'XMLNAMESPACES'", + "'XMLPARSE'", "'XMLPATCH'", "'XMLPI'", + "'XMLQUERYVAL'", "'XMLQUERY'", "'XMLROOT'", + "'XMLSCHEMA'", "'XMLSERIALIZE'", "'XMLTABLE'", + "'XMLTRANSFORMBLOB'", "'XMLTRANSFORM'", + "'XMLTYPE'", "'XML'", "'XPATHTABLE'", + "'XS_SYS_CONTEXT'", "'XS'", "'XTRANSPORT'", + "'YEARS'", "'YEAR'", "'YES'", "'YMINTERVAL_UNCONSTRAINED'", + "'ZONEMAP'", "'ZONE'", "'PREDICTION'", + "'PREDICTION_BOUNDS'", "'PREDICTION_COST'", + "'PREDICTION_DETAILS'", "'PREDICTION_PROBABILITY'", + "'PREDICTION_SET'", "'CUME_DIST'", + "'DENSE_RANK'", "'LISTAGG'", "'PERCENT_RANK'", + "'PERCENTILE_CONT'", "'PERCENTILE_DISC'", + "'RANK'", "'AVG'", "'CORR'", "'COVAR_'", + "'DECODE'", "'LAG'", "'LEAD'", "'MAX'", + "'MEDIAN'", "'MIN'", "'NTILE'", "'NVL'", + "'RATIO_TO_REPORT'", "'REGR_'", "'ROUND'", + "'ROW_NUMBER'", "'SUBSTR'", "'TO_CHAR'", + "'TRIM'", "'SUM'", "'STDDEV'", "'VAR_'", + "'VARIANCE'", "'LEAST'", "'GREATEST'", + "'TO_DATE'", null, null, null, "'..'", + "'.'", null, null, null, null, "'%'", + "'&'", "'('", "')'", "'**'", "'*'", + "'+'", "'-'", "','", "'/'", "'@'", + "':='", null, null, "'^'", "'~'", + "'!'", "'>'", "'<'", "':'", "';'", + "'|'", "'='", "'['", "']'", "'_'" ]; + +PlSqlLexer.prototype.symbolicNames = [ null, "ABORT", "ABS", "ACCESS", "ACCESSED", + "ACCOUNT", "ACL", "ACOS", "ACTION", + "ACTIONS", "ACTIVATE", "ACTIVE", + "ACTIVE_COMPONENT", "ACTIVE_DATA", + "ACTIVE_FUNCTION", "ACTIVE_TAG", + "ACTIVITY", "ADAPTIVE_PLAN", "ADD", + "ADD_COLUMN", "ADD_GROUP", "ADD_MONTHS", + "ADJ_DATE", "ADMIN", "ADMINISTER", + "ADMINISTRATOR", "ADVANCED", "ADVISE", + "ADVISOR", "AFD_DISKSTRING", "AFTER", + "AGENT", "AGGREGATE", "A_LETTER", + "ALIAS", "ALL", "ALLOCATE", "ALLOW", + "ALL_ROWS", "ALTER", "ALWAYS", "ANALYZE", + "ANCILLARY", "AND", "AND_EQUAL", + "ANOMALY", "ANSI_REARCH", "ANTIJOIN", + "ANY", "ANYSCHEMA", "APPEND", "APPENDCHILDXML", + "APPEND_VALUES", "APPLICATION", "APPLY", + "APPROX_COUNT_DISTINCT", "ARCHIVAL", + "ARCHIVE", "ARCHIVED", "ARCHIVELOG", + "ARRAY", "AS", "ASC", "ASCII", "ASCIISTR", + "ASIN", "ASIS", "ASSEMBLY", "ASSIGN", + "ASSOCIATE", "ASYNC", "ASYNCHRONOUS", + "ATAN2", "ATAN", "AT", "ATTRIBUTE", + "ATTRIBUTES", "AUDIT", "AUTHENTICATED", + "AUTHENTICATION", "AUTHID", "AUTHORIZATION", + "AUTOALLOCATE", "AUTO", "AUTOBACKUP", + "AUTOEXTEND", "AUTO_LOGIN", "AUTOMATIC", + "AUTONOMOUS_TRANSACTION", "AUTO_REOPTIMIZE", + "AVAILABILITY", "AVRO", "BACKGROUND", + "BACKUP", "BACKUPSET", "BASIC", "BASICFILE", + "BATCH", "BATCHSIZE", "BATCH_TABLE_ACCESS_BY_ROWID", + "BECOME", "BEFORE", "BEGIN", "BEGINNING", + "BEGIN_OUTLINE_DATA", "BEHALF", "BEQUEATH", + "BETWEEN", "BFILE", "BFILENAME", + "BIGFILE", "BINARY", "BINARY_DOUBLE", + "BINARY_DOUBLE_INFINITY", "BINARY_DOUBLE_NAN", + "BINARY_FLOAT", "BINARY_FLOAT_INFINITY", + "BINARY_FLOAT_NAN", "BINARY_INTEGER", + "BIND_AWARE", "BINDING", "BIN_TO_NUM", + "BITAND", "BITMAP_AND", "BITMAP", + "BITMAPS", "BITMAP_TREE", "BITS", + "BLOB", "BLOCK", "BLOCK_RANGE", "BLOCKS", + "BLOCKSIZE", "BODY", "BOOLEAN", "BOTH", + "BOUND", "BRANCH", "BREADTH", "BROADCAST", + "BSON", "BUFFER", "BUFFER_CACHE", + "BUFFER_POOL", "BUILD", "BULK", "BY", + "BYPASS_RECURSIVE_CHECK", "BYPASS_UJVC", + "BYTE", "CACHE", "CACHE_CB", "CACHE_INSTANCES", + "CACHE_TEMP_TABLE", "CACHING", "CALCULATED", + "CALLBACK", "CALL", "CANCEL", "CANONICAL", + "CAPACITY", "CARDINALITY", "CASCADE", + "CASE", "CAST", "CATEGORY", "CDBDEFAULT", + "CEIL", "CELL_FLASH_CACHE", "CERTIFICATE", + "CFILE", "CHAINED", "CHANGE", "CHANGETRACKING", + "CHANGE_DUPKEY_ERROR_INDEX", "CHARACTER", + "CHAR", "CHAR_CS", "CHARTOROWID", + "CHECK_ACL_REWRITE", "CHECK", "CHECKPOINT", + "CHILD", "CHOOSE", "CHR", "CHUNK", + "CLASS", "CLASSIFIER", "CLEANUP", + "CLEAR", "C_LETTER", "CLIENT", "CLOB", + "CLONE", "CLOSE_CACHED_OPEN_CURSORS", + "CLOSE", "CLUSTER_BY_ROWID", "CLUSTER", + "CLUSTER_DETAILS", "CLUSTER_DISTANCE", + "CLUSTER_ID", "CLUSTERING", "CLUSTERING_FACTOR", + "CLUSTER_PROBABILITY", "CLUSTER_SET", + "COALESCE", "COALESCE_SQ", "COARSE", + "CO_AUTH_IND", "COLD", "COLLECT", + "COLUMNAR", "COLUMN_AUTH_INDICATOR", + "COLUMN", "COLUMNS", "COLUMN_STATS", + "COLUMN_VALUE", "COMMENT", "COMMIT", + "COMMITTED", "COMMON_DATA", "COMPACT", + "COMPATIBILITY", "COMPILE", "COMPLETE", + "COMPLIANCE", "COMPONENT", "COMPONENTS", + "COMPOSE", "COMPOSITE", "COMPOSITE_LIMIT", + "COMPOUND", "COMPRESS", "COMPUTE", + "CONCAT", "CON_DBID_TO_ID", "CONDITIONAL", + "CONDITION", "CONFIRM", "CONFORMING", + "CON_GUID_TO_ID", "CON_ID", "CON_NAME_TO_ID", + "CONNECT_BY_CB_WHR_ONLY", "CONNECT_BY_COMBINE_SW", + "CONNECT_BY_COST_BASED", "CONNECT_BY_ELIM_DUPS", + "CONNECT_BY_FILTERING", "CONNECT_BY_ISCYCLE", + "CONNECT_BY_ISLEAF", "CONNECT_BY_ROOT", + "CONNECT", "CONNECT_TIME", "CONSIDER", + "CONSISTENT", "CONSTANT", "CONST", + "CONSTRAINT", "CONSTRAINTS", "CONSTRUCTOR", + "CONTAINER", "CONTAINER_DATA", "CONTAINERS", + "CONTENT", "CONTENTS", "CONTEXT", + "CONTINUE", "CONTROLFILE", "CON_UID_TO_ID", + "CONVERT", "COOKIE", "COPY", "CORR_K", + "CORR_S", "CORRUPTION", "CORRUPT_XID_ALL", + "CORRUPT_XID", "COS", "COSH", "COST", + "COST_XML_QUERY_REWRITE", "COUNT", + "COVAR_POP", "COVAR_SAMP", "CPU_COSTING", + "CPU_PER_CALL", "CPU_PER_SESSION", + "CRASH", "CREATE", "CREATE_FILE_DEST", + "CREATE_STORED_OUTLINES", "CREATION", + "CREDENTIAL", "CRITICAL", "CROSS", + "CROSSEDITION", "CSCONVERT", "CUBE_AJ", + "CUBE", "CUBE_GB", "CUBE_SJ", "CUME_DISTM", + "CURRENT", "CURRENT_DATE", "CURRENT_SCHEMA", + "CURRENT_TIME", "CURRENT_TIMESTAMP", + "CURRENT_USER", "CURRENTV", "CURSOR", + "CURSOR_SHARING_EXACT", "CURSOR_SPECIFIC_SEGMENT", + "CUSTOMDATUM", "CV", "CYCLE", "DANGLING", + "DATABASE", "DATA", "DATAFILE", "DATAFILES", + "DATAGUARDCONFIG", "DATAMOVEMENT", + "DATAOBJNO", "DATAOBJ_TO_MAT_PARTITION", + "DATAOBJ_TO_PARTITION", "DATAPUMP", + "DATA_SECURITY_REWRITE_LIMIT", "DATE", + "DATE_MODE", "DAY", "DAYS", "DBA", + "DBA_RECYCLEBIN", "DBMS_STATS", "DB_ROLE_CHANGE", + "DBTIMEZONE", "DB_UNIQUE_NAME", "DB_VERSION", + "DDL", "DEALLOCATE", "DEBUG", "DEBUGGER", + "DEC", "DECIMAL", "DECLARE", "DECOMPOSE", + "DECORRELATE", "DECR", "DECREMENT", + "DECRYPT", "DEDUPLICATE", "DEFAULT", + "DEFAULTS", "DEFERRABLE", "DEFERRED", + "DEFINED", "DEFINE", "DEFINER", "DEGREE", + "DELAY", "DELEGATE", "DELETE_ALL", + "DELETE", "DELETEXML", "DEMAND", + "DENSE_RANKM", "DEPENDENT", "DEPTH", + "DEQUEUE", "DEREF", "DEREF_NO_REWRITE", + "DESC", "DESTROY", "DETACHED", "DETERMINES", + "DETERMINISTIC", "DICTIONARY", "DIMENSION", + "DIMENSIONS", "DIRECT_LOAD", "DIRECTORY", + "DIRECT_PATH", "DISABLE_ALL", "DISABLE", + "DISABLE_PARALLEL_DML", "DISABLE_PRESET", + "DISABLE_RPKE", "DISALLOW", "DISASSOCIATE", + "DISCARD", "DISCONNECT", "DISK", + "DISKGROUP", "DISKGROUP_PLUS", "DISKS", + "DISMOUNT", "DISTINCT", "DISTINGUISHED", + "DISTRIBUTED", "DISTRIBUTE", "DML", + "DML_UPDATE", "DOCFIDELITY", "DOCUMENT", + "DOMAIN_INDEX_FILTER", "DOMAIN_INDEX_NO_SORT", + "DOMAIN_INDEX_SORT", "DOUBLE", "DOWNGRADE", + "DRIVING_SITE", "DROP_COLUMN", "DROP", + "DROP_GROUP", "DSINTERVAL_UNCONSTRAINED", + "DST_UPGRADE_INSERT_CONV", "DUMP", + "DUMPSET", "DUPLICATE", "DV", "DYNAMIC", + "DYNAMIC_SAMPLING", "DYNAMIC_SAMPLING_EST_CDN", + "EACH", "EDITIONABLE", "EDITION", + "EDITIONING", "EDITIONS", "ELEMENT", + "ELIM_GROUPBY", "ELIMINATE_JOIN", + "ELIMINATE_OBY", "ELIMINATE_OUTER_JOIN", + "ELSE", "ELSIF", "EM", "EMPTY_BLOB", + "EMPTY_CLOB", "EMPTY", "ENABLE_ALL", + "ENABLE", "ENABLE_PARALLEL_DML", + "ENABLE_PRESET", "ENCODING", "ENCRYPT", + "ENCRYPTION", "END", "END_OUTLINE_DATA", + "ENFORCED", "ENFORCE", "ENQUEUE", + "ENTERPRISE", "ENTITYESCAPING", "ENTRY", + "EQUIPART", "ERR", "ERROR_ARGUMENT", + "ERROR", "ERROR_ON_OVERLAP_TIME", + "ERRORS", "ESCAPE", "ESTIMATE", "EVAL", + "EVALNAME", "EVALUATE", "EVALUATION", + "EVENTS", "EVERY", "EXCEPT", "EXCEPTION", + "EXCEPTION_INIT", "EXCEPTIONS", "EXCHANGE", + "EXCLUDE", "EXCLUDING", "EXCLUSIVE", + "EXECUTE", "EXEMPT", "EXISTING", + "EXISTS", "EXISTSNODE", "EXIT", "EXPAND_GSET_TO_UNION", + "EXPAND_TABLE", "EXP", "EXPIRE", + "EXPLAIN", "EXPLOSION", "EXPORT", + "EXPR_CORR_CHECK", "EXPRESS", "EXTENDS", + "EXTENT", "EXTENTS", "EXTERNAL", + "EXTERNALLY", "EXTRACTCLOBXML", "EXTRACT", + "EXTRACTVALUE", "EXTRA", "FACILITY", + "FACT", "FACTOR", "FACTORIZE_JOIN", + "FAILED", "FAILED_LOGIN_ATTEMPTS", + "FAILGROUP", "FAILOVER", "FAILURE", + "FALSE", "FAMILY", "FAR", "FAST", + "FASTSTART", "FBTSCAN", "FEATURE_DETAILS", + "FEATURE_ID", "FEATURE_SET", "FEATURE_VALUE", + "FETCH", "FILE", "FILE_NAME_CONVERT", + "FILESYSTEM_LIKE_LOGGING", "FILTER", + "FINAL", "FINE", "FINISH", "FIRST", + "FIRSTM", "FIRST_ROWS", "FIRST_VALUE", + "FIXED_VIEW_DATA", "FLAGGER", "FLASHBACK", + "FLASH_CACHE", "FLOAT", "FLOB", "FLOOR", + "FLUSH", "FOLDER", "FOLLOWING", "FOLLOWS", + "FORALL", "FORCE", "FORCE_XML_QUERY_REWRITE", + "FOREIGN", "FOREVER", "FOR", "FORMAT", + "FORWARD", "FRAGMENT_NUMBER", "FREELIST", + "FREELISTS", "FREEPOOLS", "FRESH", + "FROM", "FROM_TZ", "FULL", "FULL_OUTER_JOIN_TO_OUTER", + "FUNCTION", "FUNCTIONS", "GATHER_OPTIMIZER_STATISTICS", + "GATHER_PLAN_STATISTICS", "GBY_CONC_ROLLUP", + "GBY_PUSHDOWN", "GENERATED", "GET", + "GLOBAL", "GLOBALLY", "GLOBAL_NAME", + "GLOBAL_TOPIC_ENABLED", "GOTO", "GRANT", + "GROUP_BY", "GROUP", "GROUP_ID", + "GROUPING", "GROUPING_ID", "GROUPS", + "GUARANTEED", "GUARANTEE", "GUARD", + "HASH_AJ", "HASH", "HASHKEYS", "HASH_SJ", + "HAVING", "HEADER", "HEAP", "HELP", + "HEXTORAW", "HEXTOREF", "HIDDEN_KEYWORD", + "HIDE", "HIERARCHY", "HIGH", "HINTSET_BEGIN", + "HINTSET_END", "HOT", "HOUR", "HWM_BROKERED", + "HYBRID", "IDENTIFIED", "IDENTIFIER", + "IDENTITY", "IDGENERATORS", "ID", + "IDLE_TIME", "IF", "IGNORE", "IGNORE_OPTIM_EMBEDDED_HINTS", + "IGNORE_ROW_ON_DUPKEY_INDEX", "IGNORE_WHERE_CLAUSE", + "ILM", "IMMEDIATE", "IMPACT", "IMPORT", + "INACTIVE", "INCLUDE", "INCLUDE_VERSION", + "INCLUDING", "INCREMENTAL", "INCREMENT", + "INCR", "INDENT", "INDEX_ASC", "INDEX_COMBINE", + "INDEX_DESC", "INDEXED", "INDEXES", + "INDEX_FFS", "INDEX_FILTER", "INDEX", + "INDEXING", "INDEX_JOIN", "INDEX_ROWS", + "INDEX_RRS", "INDEX_RS_ASC", "INDEX_RS_DESC", + "INDEX_RS", "INDEX_SCAN", "INDEX_SKIP_SCAN", + "INDEX_SS_ASC", "INDEX_SS_DESC", + "INDEX_SS", "INDEX_STATS", "INDEXTYPE", + "INDEXTYPES", "INDICATOR", "INDICES", + "INFINITE", "INFORMATIONAL", "INHERIT", + "IN", "INITCAP", "INITIAL", "INITIALIZED", + "INITIALLY", "INITRANS", "INLINE", + "INLINE_XMLTYPE_NT", "INMEMORY", + "IN_MEMORY_METADATA", "INMEMORY_PRUNING", + "INNER", "INOUT", "INPLACE", "INSERTCHILDXMLAFTER", + "INSERTCHILDXMLBEFORE", "INSERTCHILDXML", + "INSERT", "INSERTXMLAFTER", "INSERTXMLBEFORE", + "INSTANCE", "INSTANCES", "INSTANTIABLE", + "INSTANTLY", "INSTEAD", "INSTR2", + "INSTR4", "INSTRB", "INSTRC", "INSTR", + "INTEGER", "INTERLEAVED", "INTERMEDIATE", + "INTERNAL_CONVERT", "INTERNAL_USE", + "INTERPRETED", "INTERSECT", "INTERVAL", + "INT", "INTO", "INVALIDATE", "INVISIBLE", + "IN_XQUERY", "IS", "ISOLATION", "ISOLATION_LEVEL", + "ITERATE", "ITERATION_NUMBER", "JAVA", + "JOB", "JOIN", "JSON_ARRAYAGG", "JSON_ARRAY", + "JSON_EQUAL", "JSON_EXISTS2", "JSON_EXISTS", + "JSONGET", "JSON", "JSON_OBJECTAGG", + "JSON_OBJECT", "JSONPARSE", "JSON_QUERY", + "JSON_SERIALIZE", "JSON_TABLE", "JSON_TEXTCONTAINS2", + "JSON_TEXTCONTAINS", "JSON_VALUE", + "KEEP_DUPLICATES", "KEEP", "KERBEROS", + "KEY", "KEY_LENGTH", "KEYSIZE", "KEYS", + "KEYSTORE", "KILL", "LABEL", "LANGUAGE", + "LAST_DAY", "LAST", "LAST_VALUE", + "LATERAL", "LAX", "LAYER", "LDAP_REGISTRATION_ENABLED", + "LDAP_REGISTRATION", "LDAP_REG_SYNC_INTERVAL", + "LEADING", "LEFT", "LENGTH2", "LENGTH4", + "LENGTHB", "LENGTHC", "LENGTH", "LESS", + "LEVEL", "LEVELS", "LIBRARY", "LIFECYCLE", + "LIFE", "LIFETIME", "LIKE2", "LIKE4", + "LIKEC", "LIKE_EXPAND", "LIKE", "LIMIT", + "LINEAR", "LINK", "LIST", "LN", "LNNVL", + "LOAD", "LOB", "LOBNVL", "LOBS", + "LOCAL_INDEXES", "LOCAL", "LOCALTIME", + "LOCALTIMESTAMP", "LOCATION", "LOCATOR", + "LOCKED", "LOCKING", "LOCK", "LOGFILE", + "LOGFILES", "LOGGING", "LOGICAL", + "LOGICAL_READS_PER_CALL", "LOGICAL_READS_PER_SESSION", + "LOG", "LOGMINING", "LOGOFF", "LOGON", + "LOG_READ_ONLY_VIOLATIONS", "LONG", + "LOOP", "LOWER", "LOW", "LPAD", "LTRIM", + "MAIN", "MAKE_REF", "MANAGED", "MANAGE", + "MANAGEMENT", "MANAGER", "MANUAL", + "MAP", "MAPPING", "MASTER", "MATCHED", + "MATCHES", "MATCH", "MATCH_NUMBER", + "MATCH_RECOGNIZE", "MATERIALIZED", + "MATERIALIZE", "MAXARCHLOGS", "MAXDATAFILES", + "MAXEXTENTS", "MAXIMIZE", "MAXINSTANCES", + "MAXLOGFILES", "MAXLOGHISTORY", "MAXLOGMEMBERS", + "MAX_SHARED_TEMP_SIZE", "MAXSIZE", + "MAXTRANS", "MAXVALUE", "MEASURE", + "MEASURES", "MEDIUM", "MEMBER", "MEMCOMPRESS", + "MEMORY", "MERGEACTIONS", "MERGE_AJ", + "MERGE_CONST_ON", "MERGE", "MERGE_SJ", + "METADATA", "METHOD", "MIGRATE", + "MIGRATION", "MINEXTENTS", "MINIMIZE", + "MINIMUM", "MINING", "MINUS", "MINUS_NULL", + "MINUTE", "MINVALUE", "MIRRORCOLD", + "MIRRORHOT", "MIRROR", "MLSLABEL", + "MODEL_COMPILE_SUBQUERY", "MODEL_DONTVERIFY_UNIQUENESS", + "MODEL_DYNAMIC_SUBQUERY", "MODEL_MIN_ANALYSIS", + "MODEL", "MODEL_NB", "MODEL_NO_ANALYSIS", + "MODEL_PBY", "MODEL_PUSH_REF", "MODEL_SV", + "MODE", "MODIFICATION", "MODIFY_COLUMN_TYPE", + "MODIFY", "MOD", "MODULE", "MONITORING", + "MONITOR", "MONTH", "MONTHS_BETWEEN", + "MONTHS", "MOUNT", "MOUNTPATH", "MOVEMENT", + "MOVE", "MULTIDIMENSIONAL", "MULTISET", + "MV_MERGE", "NAMED", "NAME", "NAMESPACE", + "NAN", "NANVL", "NATIONAL", "NATIVE_FULL_OUTER_JOIN", + "NATIVE", "NATURAL", "NATURALN", + "NAV", "NCHAR_CS", "NCHAR", "NCHR", + "NCLOB", "NEEDED", "NEG", "NESTED", + "NESTED_TABLE_FAST_INSERT", "NESTED_TABLE_GET_REFS", + "NESTED_TABLE_ID", "NESTED_TABLE_SET_REFS", + "NESTED_TABLE_SET_SETID", "NETWORK", + "NEVER", "NEW", "NEW_TIME", "NEXT_DAY", + "NEXT", "NL_AJ", "NLJ_BATCHING", + "NLJ_INDEX_FILTER", "NLJ_INDEX_SCAN", + "NLJ_PREFETCH", "NLS_CALENDAR", "NLS_CHARACTERSET", + "NLS_CHARSET_DECL_LEN", "NLS_CHARSET_ID", + "NLS_CHARSET_NAME", "NLS_COMP", "NLS_CURRENCY", + "NLS_DATE_FORMAT", "NLS_DATE_LANGUAGE", + "NLS_INITCAP", "NLS_ISO_CURRENCY", + "NL_SJ", "NLS_LANG", "NLS_LANGUAGE", + "NLS_LENGTH_SEMANTICS", "NLS_LOWER", + "NLS_NCHAR_CONV_EXCP", "NLS_NUMERIC_CHARACTERS", + "NLS_SORT", "NLSSORT", "NLS_SPECIAL_CHARS", + "NLS_TERRITORY", "NLS_UPPER", "NO_ACCESS", + "NO_ADAPTIVE_PLAN", "NO_ANSI_REARCH", + "NOAPPEND", "NOARCHIVELOG", "NOAUDIT", + "NO_AUTO_REOPTIMIZE", "NO_BASETABLE_MULTIMV_REWRITE", + "NO_BATCH_TABLE_ACCESS_BY_ROWID", + "NO_BIND_AWARE", "NO_BUFFER", "NOCACHE", + "NO_CARTESIAN", "NO_CHECK_ACL_REWRITE", + "NO_CLUSTER_BY_ROWID", "NO_CLUSTERING", + "NO_COALESCE_SQ", "NO_COMMON_DATA", + "NOCOMPRESS", "NO_CONNECT_BY_CB_WHR_ONLY", + "NO_CONNECT_BY_COMBINE_SW", "NO_CONNECT_BY_COST_BASED", + "NO_CONNECT_BY_ELIM_DUPS", "NO_CONNECT_BY_FILTERING", + "NOCOPY", "NO_COST_XML_QUERY_REWRITE", + "NO_CPU_COSTING", "NOCPU_COSTING", + "NOCYCLE", "NO_DATA_SECURITY_REWRITE", + "NO_DECORRELATE", "NODELAY", "NO_DOMAIN_INDEX_FILTER", + "NO_DST_UPGRADE_INSERT_CONV", "NO_ELIM_GROUPBY", + "NO_ELIMINATE_JOIN", "NO_ELIMINATE_OBY", + "NO_ELIMINATE_OUTER_JOIN", "NOENTITYESCAPING", + "NO_EXPAND_GSET_TO_UNION", "NO_EXPAND", + "NO_EXPAND_TABLE", "NO_FACT", "NO_FACTORIZE_JOIN", + "NO_FILTERING", "NOFORCE", "NO_FULL_OUTER_JOIN_TO_OUTER", + "NO_GATHER_OPTIMIZER_STATISTICS", + "NO_GBY_PUSHDOWN", "NOGUARANTEE", + "NO_INDEX_FFS", "NO_INDEX", "NO_INDEX_SS", + "NO_INMEMORY", "NO_INMEMORY_PRUNING", + "NOKEEP", "NO_LOAD", "NOLOCAL", "NOLOGGING", + "NOMAPPING", "NOMAXVALUE", "NO_MERGE", + "NOMINIMIZE", "NOMINVALUE", "NO_MODEL_PUSH_REF", + "NO_MONITORING", "NOMONITORING", + "NO_MONITOR", "NO_MULTIMV_REWRITE", + "NO_NATIVE_FULL_OUTER_JOIN", "NONBLOCKING", + "NONEDITIONABLE", "NONE", "NO_NLJ_BATCHING", + "NO_NLJ_PREFETCH", "NO", "NONSCHEMA", + "NO_OBJECT_LINK", "NOORDER", "NO_ORDER_ROLLUPS", + "NO_OUTER_JOIN_TO_ANTI", "NO_OUTER_JOIN_TO_INNER", + "NOOVERRIDE", "NO_PARALLEL_INDEX", + "NOPARALLEL_INDEX", "NO_PARALLEL", + "NOPARALLEL", "NO_PARTIAL_COMMIT", + "NO_PARTIAL_JOIN", "NO_PARTIAL_ROLLUP_PUSHDOWN", + "NOPARTITION", "NO_PLACE_DISTINCT", + "NO_PLACE_GROUP_BY", "NO_PQ_CONCURRENT_UNION", + "NO_PQ_MAP", "NO_PQ_REPLICATE", "NO_PQ_SKEW", + "NO_PRUNE_GSETS", "NO_PULL_PRED", + "NO_PUSH_PRED", "NO_PUSH_SUBQ", "NO_PX_FAULT_TOLERANCE", + "NO_PX_JOIN_FILTER", "NO_QKN_BUFF", + "NO_QUERY_TRANSFORMATION", "NO_REF_CASCADE", + "NORELOCATE", "NORELY", "NOREPAIR", + "NOREPLAY", "NORESETLOGS", "NO_RESULT_CACHE", + "NOREVERSE", "NO_REWRITE", "NOREWRITE", + "NORMAL", "NO_ROOT_SW_FOR_LOCAL", + "NOROWDEPENDENCIES", "NOSCHEMACHECK", + "NOSEGMENT", "NO_SEMIJOIN", "NO_SEMI_TO_INNER", + "NO_SET_TO_JOIN", "NOSORT", "NO_SQL_TRANSLATION", + "NO_SQL_TUNE", "NO_STAR_TRANSFORMATION", + "NO_STATEMENT_QUEUING", "NO_STATS_GSETS", + "NOSTRICT", "NO_SUBQUERY_PRUNING", + "NO_SUBSTRB_PAD", "NO_SWAP_JOIN_INPUTS", + "NOSWITCH", "NO_TABLE_LOOKUP_BY_NL", + "NO_TEMP_TABLE", "NOTHING", "NOTIFICATION", + "NOT", "NO_TRANSFORM_DISTINCT_AGG", + "NO_UNNEST", "NO_USE_CUBE", "NO_USE_HASH_AGGREGATION", + "NO_USE_HASH_GBY_FOR_PUSHDOWN", "NO_USE_HASH", + "NO_USE_INVISIBLE_INDEXES", "NO_USE_MERGE", + "NO_USE_NL", "NO_USE_VECTOR_AGGREGATION", + "NOVALIDATE", "NO_VECTOR_TRANSFORM_DIMS", + "NO_VECTOR_TRANSFORM_FACT", "NO_VECTOR_TRANSFORM", + "NOWAIT", "NO_XDB_FASTPATH_INSERT", + "NO_XML_DML_REWRITE", "NO_XMLINDEX_REWRITE_IN_SELECT", + "NO_XMLINDEX_REWRITE", "NO_XML_QUERY_REWRITE", + "NO_ZONEMAP", "NTH_VALUE", "NULLIF", + "NULL_", "NULLS", "NUMBER", "NUMERIC", + "NUM_INDEX_KEYS", "NUMTODSINTERVAL", + "NUMTOYMINTERVAL", "NVARCHAR2", "NVL2", + "OBJECT2XML", "OBJECT", "OBJ_ID", + "OBJNO", "OBJNO_REUSE", "OCCURENCES", + "OFFLINE", "OFF", "OFFSET", "OF", + "OIDINDEX", "OID", "OLAP", "OLD", + "OLD_PUSH_PRED", "OLS", "OLTP", "OMIT", + "ONE", "ONLINE", "ONLINELOG", "ONLY", + "ON", "OPAQUE", "OPAQUE_TRANSFORM", + "OPAQUE_XCANONICAL", "OPCODE", "OPEN", + "OPERATIONS", "OPERATOR", "OPT_ESTIMATE", + "OPTIMAL", "OPTIMIZE", "OPTIMIZER_FEATURES_ENABLE", + "OPTIMIZER_GOAL", "OPTION", "OPT_PARAM", + "ORA_BRANCH", "ORA_CHECK_ACL", "ORA_CHECK_PRIVILEGE", + "ORA_CLUSTERING", "ORADATA", "ORADEBUG", + "ORA_DST_AFFECTED", "ORA_DST_CONVERT", + "ORA_DST_ERROR", "ORA_GET_ACLIDS", + "ORA_GET_PRIVILEGES", "ORA_HASH", + "ORA_INVOKING_USERID", "ORA_INVOKING_USER", + "ORA_INVOKING_XS_USER_GUID", "ORA_INVOKING_XS_USER", + "ORA_RAWCOMPARE", "ORA_RAWCONCAT", + "ORA_ROWSCN", "ORA_ROWSCN_RAW", "ORA_ROWVERSION", + "ORA_TABVERSION", "ORA_WRITE_TIME", + "ORDERED", "ORDERED_PREDICATES", + "ORDER", "ORDINALITY", "OR_EXPAND", + "ORGANIZATION", "OR", "OR_PREDICATES", + "OSERROR", "OTHER", "OUTER_JOIN_TO_ANTI", + "OUTER_JOIN_TO_INNER", "OUTER", "OUTLINE_LEAF", + "OUTLINE", "OUT_OF_LINE", "OUT", + "OVERFLOW_NOMOVE", "OVERFLOW", "OVERLAPS", + "OVER", "OVERRIDING", "OWNER", "OWNERSHIP", + "OWN", "PACKAGE", "PACKAGES", "PARALLEL_ENABLE", + "PARALLEL_INDEX", "PARALLEL", "PARAMETERFILE", + "PARAMETERS", "PARAM", "PARENT", + "PARITY", "PARTIAL_JOIN", "PARTIALLY", + "PARTIAL", "PARTIAL_ROLLUP_PUSHDOWN", + "PARTITION_HASH", "PARTITION_LIST", + "PARTITION", "PARTITION_RANGE", "PARTITIONS", + "PARTNUMINST", "PASSING", "PASSWORD_GRACE_TIME", + "PASSWORD_LIFE_TIME", "PASSWORD_LOCK_TIME", + "PASSWORD", "PASSWORD_REUSE_MAX", + "PASSWORD_REUSE_TIME", "PASSWORD_VERIFY_FUNCTION", + "PAST", "PATCH", "PATH", "PATH_PREFIX", + "PATHS", "PATTERN", "PBL_HS_BEGIN", + "PBL_HS_END", "PCTFREE", "PCTINCREASE", + "PCTTHRESHOLD", "PCTUSED", "PCTVERSION", + "PENDING", "PERCENT_FOUND", "PERCENT_ISOPEN", + "PERCENT_NOTFOUND", "PERCENT_KEYWORD", + "PERCENT_RANKM", "PERCENT_ROWCOUNT", + "PERCENT_ROWTYPE", "PERCENT_TYPE", + "PERFORMANCE", "PERIOD_KEYWORD", + "PERMANENT", "PERMISSION", "PERMUTE", + "PER", "PFILE", "PHYSICAL", "PIKEY", + "PIPELINED", "PIPE", "PIV_GB", "PIVOT", + "PIV_SSF", "PLACE_DISTINCT", "PLACE_GROUP_BY", + "PLAN", "PLSCOPE_SETTINGS", "PLS_INTEGER", + "PLSQL_CCFLAGS", "PLSQL_CODE_TYPE", + "PLSQL_DEBUG", "PLSQL_OPTIMIZE_LEVEL", + "PLSQL_WARNINGS", "PLUGGABLE", "POINT", + "POLICY", "POOL_16K", "POOL_2K", + "POOL_32K", "POOL_4K", "POOL_8K", + "POSITIVEN", "POSITIVE", "POST_TRANSACTION", + "POWERMULTISET_BY_CARDINALITY", "POWERMULTISET", + "POWER", "PQ_CONCURRENT_UNION", "PQ_DISTRIBUTE", + "PQ_DISTRIBUTE_WINDOW", "PQ_FILTER", + "PQ_MAP", "PQ_NOMAP", "PQ_REPLICATE", + "PQ_SKEW", "PRAGMA", "PREBUILT", + "PRECEDES", "PRECEDING", "PRECISION", + "PRECOMPUTE_SUBQUERY", "PREDICATE_REORDERS", + "PRELOAD", "PREPARE", "PRESENTNNV", + "PRESENT", "PRESENTV", "PRESERVE_OID", + "PRESERVE", "PRETTY", "PREVIOUS", + "PREV", "PRIMARY", "PRINTBLOBTOCLOB", + "PRIORITY", "PRIOR", "PRIVATE", "PRIVATE_SGA", + "PRIVILEGED", "PRIVILEGE", "PRIVILEGES", + "PROCEDURAL", "PROCEDURE", "PROCESS", + "PROFILE", "PROGRAM", "PROJECT", + "PROPAGATE", "PROTECTED", "PROTECTION", + "PROXY", "PRUNING", "PUBLIC", "PULL_PRED", + "PURGE", "PUSH_PRED", "PUSH_SUBQ", + "PX_FAULT_TOLERANCE", "PX_GRANULE", + "PX_JOIN_FILTER", "QB_NAME", "QUERY_BLOCK", + "QUERY", "QUEUE_CURR", "QUEUE", "QUEUE_ROWP", + "QUIESCE", "QUORUM", "QUOTA", "RAISE", + "RANDOM_LOCAL", "RANDOM", "RANGE", + "RANKM", "RAPIDLY", "RAW", "RAWTOHEX", + "RAWTONHEX", "RBA", "RBO_OUTLINE", + "RDBA", "READ", "READS", "REALM", + "REAL", "REBALANCE", "REBUILD", "RECORD", + "RECORDS_PER_BLOCK", "RECOVERABLE", + "RECOVER", "RECOVERY", "RECYCLEBIN", + "RECYCLE", "REDACTION", "REDEFINE", + "REDO", "REDUCED", "REDUNDANCY", + "REF_CASCADE_CURSOR", "REFERENCED", + "REFERENCE", "REFERENCES", "REFERENCING", + "REF", "REFRESH", "REFTOHEX", "REGEXP_COUNT", + "REGEXP_INSTR", "REGEXP_LIKE", "REGEXP_REPLACE", + "REGEXP_SUBSTR", "REGISTER", "REGR_AVGX", + "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT", + "REGR_R2", "REGR_SLOPE", "REGR_SXX", + "REGR_SXY", "REGR_SYY", "REGULAR", + "REJECT", "REKEY", "RELATIONAL", + "RELIES_ON", "RELOCATE", "RELY", + "REMAINDER", "REMOTE_MAPPED", "REMOVE", + "RENAME", "REPAIR", "REPEAT", "REPLACE", + "REPLICATION", "REQUIRED", "RESETLOGS", + "RESET", "RESIZE", "RESOLVE", "RESOLVER", + "RESOURCE", "RESPECT", "RESTART", + "RESTORE_AS_INTERVALS", "RESTORE", + "RESTRICT_ALL_REF_CONS", "RESTRICTED", + "RESTRICT_REFERENCES", "RESTRICT", + "RESULT_CACHE", "RESULT", "RESUMABLE", + "RESUME", "RETENTION", "RETRY_ON_ROW_CHANGE", + "RETURNING", "RETURN", "REUSE", "REVERSE", + "REVOKE", "REWRITE_OR_ERROR", "REWRITE", + "RIGHT", "ROLE", "ROLESET", "ROLES", + "ROLLBACK", "ROLLING", "ROLLUP", + "ROWDEPENDENCIES", "ROWID_MAPPING_TABLE", + "ROWID", "ROWIDTOCHAR", "ROWIDTONCHAR", + "ROW_LENGTH", "ROWNUM", "ROW", "ROWS", + "RPAD", "RTRIM", "RULE", "RULES", + "RUNNING", "SALT", "SAMPLE", "SAVE_AS_INTERVALS", + "SAVEPOINT", "SAVE", "SB4", "SCALE_ROWS", + "SCALE", "SCAN_INSTANCES", "SCAN", + "SCHEDULER", "SCHEMACHECK", "SCHEMA", + "SCN_ASCENDING", "SCN", "SCOPE", + "SCRUB", "SD_ALL", "SD_INHIBIT", + "SDO_GEOM_MBR", "SD_SHOW", "SEARCH", + "SECOND", "SECRET", "SECUREFILE_DBA", + "SECUREFILE", "SECURITY", "SEED", + "SEG_BLOCK", "SEG_FILE", "SEGMENT", + "SELECTIVITY", "SELECT", "SELF", + "SEMIJOIN_DRIVER", "SEMIJOIN", "SEMI_TO_INNER", + "SEQUENCED", "SEQUENCE", "SEQUENTIAL", + "SEQ", "SERIALIZABLE", "SERIALLY_REUSABLE", + "SERIAL", "SERVERERROR", "SERVICE_NAME_CONVERT", + "SERVICES", "SESSION_CACHED_CURSORS", + "SESSION", "SESSIONS_PER_USER", "SESSIONTIMEZONE", + "SESSIONTZNAME", "SET", "SETS", "SETTINGS", + "SET_TO_JOIN", "SEVERE", "SHARED_POOL", + "SHARED", "SHARE", "SHARING", "SHELFLIFE", + "SHOW", "SHRINK", "SHUTDOWN", "SIBLINGS", + "SID", "SIGNAL_COMPONENT", "SIGNAL_FUNCTION", + "SIGN", "SIGNTYPE", "SIMPLE_INTEGER", + "SIMPLE", "SINGLE", "SINGLETASK", + "SINH", "SIN", "SIZE", "SKIP_EXT_OPTIMIZER", + "SKIP_", "SKIP_UNQ_UNUSABLE_IDX", + "SKIP_UNUSABLE_INDEXES", "SMALLFILE", + "SMALLINT", "SNAPSHOT", "SOME", "SORT", + "SOUNDEX", "SOURCE_FILE_DIRECTORY", + "SOURCE_FILE_NAME_CONVERT", "SOURCE", + "SPACE_KEYWORD", "SPECIFICATION", + "SPFILE", "SPLIT", "SPREADSHEET", + "SQLDATA", "SQLERROR", "SQLLDR", + "SQL", "SQL_TRACE", "SQL_TRANSLATION_PROFILE", + "SQRT", "STALE", "STANDALONE", "STANDARD_HASH", + "STANDBY_MAX_DATA_DELAY", "STANDBYS", + "STANDBY", "STAR", "STAR_TRANSFORMATION", + "START", "STARTUP", "STATEMENT_ID", + "STATEMENT_QUEUING", "STATEMENTS", + "STATEMENT", "STATE", "STATIC", "STATISTICS", + "STATS_BINOMIAL_TEST", "STATS_CROSSTAB", + "STATS_F_TEST", "STATS_KS_TEST", + "STATS_MODE", "STATS_MW_TEST", "STATS_ONE_WAY_ANOVA", + "STATS_T_TEST_INDEP", "STATS_T_TEST_INDEPU", + "STATS_T_TEST_ONE", "STATS_T_TEST_PAIRED", + "STATS_WSR_TEST", "STDDEV_POP", "STDDEV_SAMP", + "STOP", "STORAGE", "STORE", "STREAMS", + "STREAM", "STRICT", "STRING", "STRIPE_COLUMNS", + "STRIPE_WIDTH", "STRIP", "STRUCTURE", + "SUBMULTISET", "SUBPARTITION_REL", + "SUBPARTITIONS", "SUBPARTITION", + "SUBQUERIES", "SUBQUERY_PRUNING", + "SUBSCRIBE", "SUBSET", "SUBSTITUTABLE", + "SUBSTR2", "SUBSTR4", "SUBSTRB", + "SUBSTRC", "SUBTYPE", "SUCCESSFUL", + "SUCCESS", "SUMMARY", "SUPPLEMENTAL", + "SUSPEND", "SWAP_JOIN_INPUTS", "SWITCHOVER", + "SWITCH", "SYNCHRONOUS", "SYNC", + "SYNONYM", "SYSASM", "SYS_AUDIT", + "SYSAUX", "SYSBACKUP", "SYS_CHECKACL", + "SYS_CHECK_PRIVILEGE", "SYS_CONNECT_BY_PATH", + "SYS_CONTEXT", "SYSDATE", "SYSDBA", + "SYS_DBURIGEN", "SYSDG", "SYS_DL_CURSOR", + "SYS_DM_RXFORM_CHR", "SYS_DM_RXFORM_NUM", + "SYS_DOM_COMPARE", "SYS_DST_PRIM2SEC", + "SYS_DST_SEC2PRIM", "SYS_ET_BFILE_TO_RAW", + "SYS_ET_BLOB_TO_IMAGE", "SYS_ET_IMAGE_TO_BLOB", + "SYS_ET_RAW_TO_BFILE", "SYS_EXTPDTXT", + "SYS_EXTRACT_UTC", "SYS_FBT_INSDEL", + "SYS_FILTER_ACLS", "SYS_FNMATCHES", + "SYS_FNREPLACE", "SYS_GET_ACLIDS", + "SYS_GET_COL_ACLIDS", "SYS_GET_PRIVILEGES", + "SYS_GETTOKENID", "SYS_GETXTIVAL", + "SYS_GUID", "SYSGUID", "SYSKM", "SYS_MAKE_XMLNODEID", + "SYS_MAKEXML", "SYS_MKXMLATTR", "SYS_MKXTI", + "SYSOBJ", "SYS_OP_ADT2BIN", "SYS_OP_ADTCONS", + "SYS_OP_ALSCRVAL", "SYS_OP_ATG", + "SYS_OP_BIN2ADT", "SYS_OP_BITVEC", + "SYS_OP_BL2R", "SYS_OP_BLOOM_FILTER_LIST", + "SYS_OP_BLOOM_FILTER", "SYS_OP_C2C", + "SYS_OP_CAST", "SYS_OP_CEG", "SYS_OP_CL2C", + "SYS_OP_COMBINED_HASH", "SYS_OP_COMP", + "SYS_OP_CONVERT", "SYS_OP_COUNTCHG", + "SYS_OP_CSCONV", "SYS_OP_CSCONVTEST", + "SYS_OP_CSR", "SYS_OP_CSX_PATCH", + "SYS_OP_CYCLED_SEQ", "SYS_OP_DECOMP", + "SYS_OP_DESCEND", "SYS_OP_DISTINCT", + "SYS_OP_DRA", "SYS_OP_DUMP", "SYS_OP_DV_CHECK", + "SYS_OP_ENFORCE_NOT_NULL", "SYSOPER", + "SYS_OP_EXTRACT", "SYS_OP_GROUPING", + "SYS_OP_GUID", "SYS_OP_HASH", "SYS_OP_IIX", + "SYS_OP_ITR", "SYS_OP_KEY_VECTOR_CREATE", + "SYS_OP_KEY_VECTOR_FILTER_LIST", + "SYS_OP_KEY_VECTOR_FILTER", "SYS_OP_KEY_VECTOR_SUCCEEDED", + "SYS_OP_KEY_VECTOR_USE", "SYS_OP_LBID", + "SYS_OP_LOBLOC2BLOB", "SYS_OP_LOBLOC2CLOB", + "SYS_OP_LOBLOC2ID", "SYS_OP_LOBLOC2NCLOB", + "SYS_OP_LOBLOC2TYP", "SYS_OP_LSVI", + "SYS_OP_LVL", "SYS_OP_MAKEOID", "SYS_OP_MAP_NONNULL", + "SYS_OP_MSR", "SYS_OP_NICOMBINE", + "SYS_OP_NIEXTRACT", "SYS_OP_NII", + "SYS_OP_NIX", "SYS_OP_NOEXPAND", + "SYS_OP_NTCIMG", "SYS_OP_NUMTORAW", + "SYS_OP_OIDVALUE", "SYS_OP_OPNSIZE", + "SYS_OP_PAR_1", "SYS_OP_PARGID_1", + "SYS_OP_PARGID", "SYS_OP_PAR", "SYS_OP_PART_ID", + "SYS_OP_PIVOT", "SYS_OP_R2O", "SYS_OP_RAWTONUM", + "SYS_OP_RDTM", "SYS_OP_REF", "SYS_OP_RMTD", + "SYS_OP_ROWIDTOOBJ", "SYS_OP_RPB", + "SYS_OPTLOBPRBSC", "SYS_OP_TOSETID", + "SYS_OP_TPR", "SYS_OP_TRTB", "SYS_OPTXICMP", + "SYS_OPTXQCASTASNQ", "SYS_OP_UNDESCEND", + "SYS_OP_VECAND", "SYS_OP_VECBIT", + "SYS_OP_VECOR", "SYS_OP_VECXOR", + "SYS_OP_VERSION", "SYS_OP_VREF", + "SYS_OP_VVD", "SYS_OP_XMLCONS_FOR_CSX", + "SYS_OP_XPTHATG", "SYS_OP_XPTHIDX", + "SYS_OP_XPTHOP", "SYS_OP_XTXT2SQLT", + "SYS_OP_ZONE_ID", "SYS_ORDERKEY_DEPTH", + "SYS_ORDERKEY_MAXCHILD", "SYS_ORDERKEY_PARENT", + "SYS_PARALLEL_TXN", "SYS_PATHID_IS_ATTR", + "SYS_PATHID_IS_NMSPC", "SYS_PATHID_LASTNAME", + "SYS_PATHID_LASTNMSPC", "SYS_PATH_REVERSE", + "SYS_PXQEXTRACT", "SYS_RAW_TO_XSID", + "SYS_RID_ORDER", "SYS_ROW_DELTA", + "SYS_SC_2_XMLT", "SYS_SYNRCIREDO", + "SYSTEM_DEFINED", "SYSTEM", "SYSTIMESTAMP", + "SYS_TYPEID", "SYS_UMAKEXML", "SYS_XMLANALYZE", + "SYS_XMLCONTAINS", "SYS_XMLCONV", + "SYS_XMLEXNSURI", "SYS_XMLGEN", "SYS_XMLI_LOC_ISNODE", + "SYS_XMLI_LOC_ISTEXT", "SYS_XMLINSTR", + "SYS_XMLLOCATOR_GETSVAL", "SYS_XMLNODEID_GETCID", + "SYS_XMLNODEID_GETLOCATOR", "SYS_XMLNODEID_GETOKEY", + "SYS_XMLNODEID_GETPATHID", "SYS_XMLNODEID_GETPTRID", + "SYS_XMLNODEID_GETRID", "SYS_XMLNODEID_GETSVAL", + "SYS_XMLNODEID_GETTID", "SYS_XMLNODEID", + "SYS_XMLT_2_SC", "SYS_XMLTRANSLATE", + "SYS_XMLTYPE2SQL", "SYS_XQ_ASQLCNV", + "SYS_XQ_ATOMCNVCHK", "SYS_XQBASEURI", + "SYS_XQCASTABLEERRH", "SYS_XQCODEP2STR", + "SYS_XQCODEPEQ", "SYS_XQCON2SEQ", + "SYS_XQCONCAT", "SYS_XQDELETE", "SYS_XQDFLTCOLATION", + "SYS_XQDOC", "SYS_XQDOCURI", "SYS_XQDURDIV", + "SYS_XQED4URI", "SYS_XQENDSWITH", + "SYS_XQERRH", "SYS_XQERR", "SYS_XQESHTMLURI", + "SYS_XQEXLOBVAL", "SYS_XQEXSTWRP", + "SYS_XQEXTRACT", "SYS_XQEXTRREF", + "SYS_XQEXVAL", "SYS_XQFB2STR", "SYS_XQFNBOOL", + "SYS_XQFNCMP", "SYS_XQFNDATIM", "SYS_XQFNLNAME", + "SYS_XQFNNM", "SYS_XQFNNSURI", "SYS_XQFNPREDTRUTH", + "SYS_XQFNQNM", "SYS_XQFNROOT", "SYS_XQFORMATNUM", + "SYS_XQFTCONTAIN", "SYS_XQFUNCR", + "SYS_XQGETCONTENT", "SYS_XQINDXOF", + "SYS_XQINSERT", "SYS_XQINSPFX", "SYS_XQIRI2URI", + "SYS_XQLANG", "SYS_XQLLNMFRMQNM", + "SYS_XQMKNODEREF", "SYS_XQNILLED", + "SYS_XQNODENAME", "SYS_XQNORMSPACE", + "SYS_XQNORMUCODE", "SYS_XQ_NRNG", + "SYS_XQNSP4PFX", "SYS_XQNSPFRMQNM", + "SYS_XQPFXFRMQNM", "SYS_XQ_PKSQL2XML", + "SYS_XQPOLYABS", "SYS_XQPOLYADD", + "SYS_XQPOLYCEL", "SYS_XQPOLYCSTBL", + "SYS_XQPOLYCST", "SYS_XQPOLYDIV", + "SYS_XQPOLYFLR", "SYS_XQPOLYMOD", + "SYS_XQPOLYMUL", "SYS_XQPOLYRND", + "SYS_XQPOLYSQRT", "SYS_XQPOLYSUB", + "SYS_XQPOLYUMUS", "SYS_XQPOLYUPLS", + "SYS_XQPOLYVEQ", "SYS_XQPOLYVGE", + "SYS_XQPOLYVGT", "SYS_XQPOLYVLE", + "SYS_XQPOLYVLT", "SYS_XQPOLYVNE", + "SYS_XQREF2VAL", "SYS_XQRENAME", + "SYS_XQREPLACE", "SYS_XQRESVURI", + "SYS_XQRNDHALF2EVN", "SYS_XQRSLVQNM", + "SYS_XQRYENVPGET", "SYS_XQRYVARGET", + "SYS_XQRYWRP", "SYS_XQSEQ2CON4XC", + "SYS_XQSEQ2CON", "SYS_XQSEQDEEPEQ", + "SYS_XQSEQINSB", "SYS_XQSEQRM", "SYS_XQSEQRVS", + "SYS_XQSEQSUB", "SYS_XQSEQTYPMATCH", + "SYS_XQSTARTSWITH", "SYS_XQSTATBURI", + "SYS_XQSTR2CODEP", "SYS_XQSTRJOIN", + "SYS_XQSUBSTRAFT", "SYS_XQSUBSTRBEF", + "SYS_XQTOKENIZE", "SYS_XQTREATAS", + "SYS_XQ_UPKXML2SQL", "SYS_XQXFORM", + "SYS_XSID_TO_RAW", "SYS_ZMAP_FILTER", + "SYS_ZMAP_REFRESH", "TABLE_LOOKUP_BY_NL", + "TABLESPACE_NO", "TABLESPACE", "TABLES", + "TABLE_STATS", "TABLE", "TABNO", + "TAG", "TANH", "TAN", "TBLORIDXPARTNUM", + "TEMPFILE", "TEMPLATE", "TEMPORARY", + "TEMP_TABLE", "TEST", "TEXT", "THAN", + "THEN", "THE", "THREAD", "THROUGH", + "TIER", "TIES", "TIMEOUT", "TIMESTAMP_LTZ_UNCONSTRAINED", + "TIMESTAMP", "TIMESTAMP_TZ_UNCONSTRAINED", + "TIMESTAMP_UNCONSTRAINED", "TIMES", + "TIME", "TIMEZONE", "TIMEZONE_ABBR", + "TIMEZONE_HOUR", "TIMEZONE_MINUTE", + "TIMEZONE_OFFSET", "TIMEZONE_REGION", + "TIME_ZONE", "TIV_GB", "TIV_SSF", + "TO_ACLID", "TO_BINARY_DOUBLE", "TO_BINARY_FLOAT", + "TO_BLOB", "TO_CLOB", "TO_DSINTERVAL", + "TO_LOB", "TO_MULTI_BYTE", "TO_NCHAR", + "TO_NCLOB", "TO_NUMBER", "TOPLEVEL", + "TO_SINGLE_BYTE", "TO_TIMESTAMP", + "TO_TIMESTAMP_TZ", "TO_TIME", "TO_TIME_TZ", + "TO", "TO_YMINTERVAL", "TRACE", "TRACING", + "TRACKING", "TRAILING", "TRANSACTION", + "TRANSFORM_DISTINCT_AGG", "TRANSITIONAL", + "TRANSITION", "TRANSLATE", "TRANSLATION", + "TREAT", "TRIGGERS", "TRIGGER", "TRUE", + "TRUNCATE", "TRUNC", "TRUSTED", "TRUST", + "TUNING", "TX", "TYPES", "TYPE", + "TZ_OFFSET", "UB2", "UBA", "UCS2", + "UID", "UNARCHIVED", "UNBOUNDED", + "UNBOUND", "UNCONDITIONAL", "UNDER", + "UNDO", "UNDROP", "UNIFORM", "UNION", + "UNIQUE", "UNISTR", "UNLIMITED", + "UNLOAD", "UNLOCK", "UNMATCHED", + "UNNEST_INNERJ_DISTINCT_VIEW", "UNNEST_NOSEMIJ_NODISTINCTVIEW", + "UNNEST_SEMIJ_VIEW", "UNNEST", "UNPACKED", + "UNPIVOT", "UNPLUG", "UNPROTECTED", + "UNQUIESCE", "UNRECOVERABLE", "UNRESTRICTED", + "UNSUBSCRIBE", "UNTIL", "UNUSABLE", + "UNUSED", "UPDATABLE", "UPDATED", + "UPDATE", "UPDATEXML", "UPD_INDEXES", + "UPD_JOININDEX", "UPGRADE", "UPPER", + "UPSERT", "UROWID", "USABLE", "USAGE", + "USE_ANTI", "USE_CONCAT", "USE_CUBE", + "USE_HASH_AGGREGATION", "USE_HASH_GBY_FOR_PUSHDOWN", + "USE_HASH", "USE_HIDDEN_PARTITIONS", + "USE_INVISIBLE_INDEXES", "USE_MERGE_CARTESIAN", + "USE_MERGE", "USE_NL", "USE_NL_WITH_INDEX", + "USE_PRIVATE_OUTLINES", "USER_DATA", + "USER_DEFINED", "USERENV", "USERGROUP", + "USER_RECYCLEBIN", "USERS", "USER_TABLESPACES", + "USER", "USE_SEMI", "USE_STORED_OUTLINES", + "USE_TTT_FOR_GSETS", "USE", "USE_VECTOR_AGGREGATION", + "USE_WEAK_NAME_RESL", "USING_NO_EXPAND", + "USING", "UTF16BE", "UTF16LE", "UTF32", + "UTF8", "V1", "V2", "VALIDATE", "VALIDATION", + "VALID_TIME_END", "VALUES", "VALUE", + "VARCHAR2", "VARCHAR", "VARIABLE", + "VAR_POP", "VARRAYS", "VARRAY", "VAR_SAMP", + "VARYING", "VECTOR_READ_TRACE", "VECTOR_READ", + "VECTOR_TRANSFORM_DIMS", "VECTOR_TRANSFORM_FACT", + "VECTOR_TRANSFORM", "VERIFIER", "VERIFY", + "VERSIONING", "VERSIONS_ENDSCN", + "VERSIONS_ENDTIME", "VERSIONS_OPERATION", + "VERSIONS_STARTSCN", "VERSIONS_STARTTIME", + "VERSIONS", "VERSIONS_XID", "VERSION", + "VIEW", "VIOLATION", "VIRTUAL", "VISIBILITY", + "VISIBLE", "VOLUME", "VSIZE", "WAIT", + "WALLET", "WARNING", "WEEKS", "WEEK", + "WELLFORMED", "WHENEVER", "WHEN", + "WHERE", "WHILE", "WHITESPACE", "WIDTH_BUCKET", + "WITHIN", "WITHOUT", "WITH_PLSQL", + "WITH", "WORK", "WRAPPED", "WRAPPER", + "WRITE", "XDB_FASTPATH_INSERT", "XDB", + "X_DYN_PRUNE", "XID", "XML2OBJECT", + "XMLAGG", "XMLATTRIBUTES", "XMLCAST", + "XMLCDATA", "XMLCOLATTVAL", "XMLCOMMENT", + "XMLCONCAT", "XMLDIFF", "XML_DML_RWT_STMT", + "XMLELEMENT", "XMLEXISTS2", "XMLEXISTS", + "XMLFOREST", "XMLINDEX", "XMLINDEX_REWRITE_IN_SELECT", + "XMLINDEX_REWRITE", "XMLINDEX_SEL_IDX_TBL", + "XMLISNODE", "XMLISVALID", "XMLNAMESPACES", + "XMLPARSE", "XMLPATCH", "XMLPI", + "XMLQUERYVAL", "XMLQUERY", "XMLROOT", + "XMLSCHEMA", "XMLSERIALIZE", "XMLTABLE", + "XMLTRANSFORMBLOB", "XMLTRANSFORM", + "XMLTYPE", "XML", "XPATHTABLE", "XS_SYS_CONTEXT", + "XS", "XTRANSPORT", "YEARS", "YEAR", + "YES", "YMINTERVAL_UNCONSTRAINED", + "ZONEMAP", "ZONE", "PREDICTION", + "PREDICTION_BOUNDS", "PREDICTION_COST", + "PREDICTION_DETAILS", "PREDICTION_PROBABILITY", + "PREDICTION_SET", "CUME_DIST", "DENSE_RANK", + "LISTAGG", "PERCENT_RANK", "PERCENTILE_CONT", + "PERCENTILE_DISC", "RANK", "AVG", + "CORR", "COVAR_", "DECODE", "LAG", + "LEAD", "MAX", "MEDIAN", "MIN", "NTILE", + "NVL", "RATIO_TO_REPORT", "REGR_", + "ROUND", "ROW_NUMBER", "SUBSTR", + "TO_CHAR", "TRIM", "SUM", "STDDEV", + "VAR_", "VARIANCE", "LEAST", "GREATEST", + "TO_DATE", "NATIONAL_CHAR_STRING_LIT", + "BIT_STRING_LIT", "HEX_STRING_LIT", + "DOUBLE_PERIOD", "PERIOD", "UNSIGNED_INTEGER", + "APPROXIMATE_NUM_LIT", "CHAR_STRING", + "DELIMITED_ID", "PERCENT", "AMPERSAND", + "LEFT_PAREN", "RIGHT_PAREN", "DOUBLE_ASTERISK", + "ASTERISK", "PLUS_SIGN", "MINUS_SIGN", + "COMMA", "SOLIDUS", "AT_SIGN", "ASSIGN_OP", + "BINDVAR", "NOT_EQUAL_OP", "CARRET_OPERATOR_PART", + "TILDE_OPERATOR_PART", "EXCLAMATION_OPERATOR_PART", + "GREATER_THAN_OP", "LESS_THAN_OP", + "COLON", "SEMICOLON", "BAR", "EQUALS_OP", + "LEFT_BRACKET", "RIGHT_BRACKET", + "INTRODUCER", "SINGLE_LINE_COMMENT", + "MULTI_LINE_COMMENT", "REMARK_COMMENT", + "PROMPT_MESSAGE", "START_CMD", "REGULAR_ID", + "SPACES" ]; + +PlSqlLexer.prototype.ruleNames = [ "ABORT", "ABS", "ACCESS", "ACCESSED", + "ACCOUNT", "ACL", "ACOS", "ACTION", "ACTIONS", + "ACTIVATE", "ACTIVE", "ACTIVE_COMPONENT", + "ACTIVE_DATA", "ACTIVE_FUNCTION", "ACTIVE_TAG", + "ACTIVITY", "ADAPTIVE_PLAN", "ADD", "ADD_COLUMN", + "ADD_GROUP", "ADD_MONTHS", "ADJ_DATE", + "ADMIN", "ADMINISTER", "ADMINISTRATOR", + "ADVANCED", "ADVISE", "ADVISOR", "AFD_DISKSTRING", + "AFTER", "AGENT", "AGGREGATE", "A_LETTER", + "ALIAS", "ALL", "ALLOCATE", "ALLOW", + "ALL_ROWS", "ALTER", "ALWAYS", "ANALYZE", + "ANCILLARY", "AND", "AND_EQUAL", "ANOMALY", + "ANSI_REARCH", "ANTIJOIN", "ANY", "ANYSCHEMA", + "APPEND", "APPENDCHILDXML", "APPEND_VALUES", + "APPLICATION", "APPLY", "APPROX_COUNT_DISTINCT", + "ARCHIVAL", "ARCHIVE", "ARCHIVED", "ARCHIVELOG", + "ARRAY", "AS", "ASC", "ASCII", "ASCIISTR", + "ASIN", "ASIS", "ASSEMBLY", "ASSIGN", + "ASSOCIATE", "ASYNC", "ASYNCHRONOUS", + "ATAN2", "ATAN", "AT", "ATTRIBUTE", "ATTRIBUTES", + "AUDIT", "AUTHENTICATED", "AUTHENTICATION", + "AUTHID", "AUTHORIZATION", "AUTOALLOCATE", + "AUTO", "AUTOBACKUP", "AUTOEXTEND", "AUTO_LOGIN", + "AUTOMATIC", "AUTONOMOUS_TRANSACTION", + "AUTO_REOPTIMIZE", "AVAILABILITY", "AVRO", + "BACKGROUND", "BACKUP", "BACKUPSET", + "BASIC", "BASICFILE", "BATCH", "BATCHSIZE", + "BATCH_TABLE_ACCESS_BY_ROWID", "BECOME", + "BEFORE", "BEGIN", "BEGINNING", "BEGIN_OUTLINE_DATA", + "BEHALF", "BEQUEATH", "BETWEEN", "BFILE", + "BFILENAME", "BIGFILE", "BINARY", "BINARY_DOUBLE", + "BINARY_DOUBLE_INFINITY", "BINARY_DOUBLE_NAN", + "BINARY_FLOAT", "BINARY_FLOAT_INFINITY", + "BINARY_FLOAT_NAN", "BINARY_INTEGER", + "BIND_AWARE", "BINDING", "BIN_TO_NUM", + "BITAND", "BITMAP_AND", "BITMAP", "BITMAPS", + "BITMAP_TREE", "BITS", "BLOB", "BLOCK", + "BLOCK_RANGE", "BLOCKS", "BLOCKSIZE", + "BODY", "BOOLEAN", "BOTH", "BOUND", "BRANCH", + "BREADTH", "BROADCAST", "BSON", "BUFFER", + "BUFFER_CACHE", "BUFFER_POOL", "BUILD", + "BULK", "BY", "BYPASS_RECURSIVE_CHECK", + "BYPASS_UJVC", "BYTE", "CACHE", "CACHE_CB", + "CACHE_INSTANCES", "CACHE_TEMP_TABLE", + "CACHING", "CALCULATED", "CALLBACK", + "CALL", "CANCEL", "CANONICAL", "CAPACITY", + "CARDINALITY", "CASCADE", "CASE", "CAST", + "CATEGORY", "CDBDEFAULT", "CEIL", "CELL_FLASH_CACHE", + "CERTIFICATE", "CFILE", "CHAINED", "CHANGE", + "CHANGETRACKING", "CHANGE_DUPKEY_ERROR_INDEX", + "CHARACTER", "CHAR", "CHAR_CS", "CHARTOROWID", + "CHECK_ACL_REWRITE", "CHECK", "CHECKPOINT", + "CHILD", "CHOOSE", "CHR", "CHUNK", "CLASS", + "CLASSIFIER", "CLEANUP", "CLEAR", "C_LETTER", + "CLIENT", "CLOB", "CLONE", "CLOSE_CACHED_OPEN_CURSORS", + "CLOSE", "CLUSTER_BY_ROWID", "CLUSTER", + "CLUSTER_DETAILS", "CLUSTER_DISTANCE", + "CLUSTER_ID", "CLUSTERING", "CLUSTERING_FACTOR", + "CLUSTER_PROBABILITY", "CLUSTER_SET", + "COALESCE", "COALESCE_SQ", "COARSE", + "CO_AUTH_IND", "COLD", "COLLECT", "COLUMNAR", + "COLUMN_AUTH_INDICATOR", "COLUMN", "COLUMNS", + "COLUMN_STATS", "COLUMN_VALUE", "COMMENT", + "COMMIT", "COMMITTED", "COMMON_DATA", + "COMPACT", "COMPATIBILITY", "COMPILE", + "COMPLETE", "COMPLIANCE", "COMPONENT", + "COMPONENTS", "COMPOSE", "COMPOSITE", + "COMPOSITE_LIMIT", "COMPOUND", "COMPRESS", + "COMPUTE", "CONCAT", "CON_DBID_TO_ID", + "CONDITIONAL", "CONDITION", "CONFIRM", + "CONFORMING", "CON_GUID_TO_ID", "CON_ID", + "CON_NAME_TO_ID", "CONNECT_BY_CB_WHR_ONLY", + "CONNECT_BY_COMBINE_SW", "CONNECT_BY_COST_BASED", + "CONNECT_BY_ELIM_DUPS", "CONNECT_BY_FILTERING", + "CONNECT_BY_ISCYCLE", "CONNECT_BY_ISLEAF", + "CONNECT_BY_ROOT", "CONNECT", "CONNECT_TIME", + "CONSIDER", "CONSISTENT", "CONSTANT", + "CONST", "CONSTRAINT", "CONSTRAINTS", + "CONSTRUCTOR", "CONTAINER", "CONTAINER_DATA", + "CONTAINERS", "CONTENT", "CONTENTS", + "CONTEXT", "CONTINUE", "CONTROLFILE", + "CON_UID_TO_ID", "CONVERT", "COOKIE", + "COPY", "CORR_K", "CORR_S", "CORRUPTION", + "CORRUPT_XID_ALL", "CORRUPT_XID", "COS", + "COSH", "COST", "COST_XML_QUERY_REWRITE", + "COUNT", "COVAR_POP", "COVAR_SAMP", "CPU_COSTING", + "CPU_PER_CALL", "CPU_PER_SESSION", "CRASH", + "CREATE", "CREATE_FILE_DEST", "CREATE_STORED_OUTLINES", + "CREATION", "CREDENTIAL", "CRITICAL", + "CROSS", "CROSSEDITION", "CSCONVERT", + "CUBE_AJ", "CUBE", "CUBE_GB", "CUBE_SJ", + "CUME_DISTM", "CURRENT", "CURRENT_DATE", + "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", + "CURRENT_USER", "CURRENTV", "CURSOR", + "CURSOR_SHARING_EXACT", "CURSOR_SPECIFIC_SEGMENT", + "CUSTOMDATUM", "CV", "CYCLE", "DANGLING", + "DATABASE", "DATA", "DATAFILE", "DATAFILES", + "DATAGUARDCONFIG", "DATAMOVEMENT", "DATAOBJNO", + "DATAOBJ_TO_MAT_PARTITION", "DATAOBJ_TO_PARTITION", + "DATAPUMP", "DATA_SECURITY_REWRITE_LIMIT", + "DATE", "DATE_MODE", "DAY", "DAYS", "DBA", + "DBA_RECYCLEBIN", "DBMS_STATS", "DB_ROLE_CHANGE", + "DBTIMEZONE", "DB_UNIQUE_NAME", "DB_VERSION", + "DDL", "DEALLOCATE", "DEBUG", "DEBUGGER", + "DEC", "DECIMAL", "DECLARE", "DECOMPOSE", + "DECORRELATE", "DECR", "DECREMENT", "DECRYPT", + "DEDUPLICATE", "DEFAULT", "DEFAULTS", + "DEFERRABLE", "DEFERRED", "DEFINED", + "DEFINE", "DEFINER", "DEGREE", "DELAY", + "DELEGATE", "DELETE_ALL", "DELETE", "DELETEXML", + "DEMAND", "DENSE_RANKM", "DEPENDENT", + "DEPTH", "DEQUEUE", "DEREF", "DEREF_NO_REWRITE", + "DESC", "DESTROY", "DETACHED", "DETERMINES", + "DETERMINISTIC", "DICTIONARY", "DIMENSION", + "DIMENSIONS", "DIRECT_LOAD", "DIRECTORY", + "DIRECT_PATH", "DISABLE_ALL", "DISABLE", + "DISABLE_PARALLEL_DML", "DISABLE_PRESET", + "DISABLE_RPKE", "DISALLOW", "DISASSOCIATE", + "DISCARD", "DISCONNECT", "DISK", "DISKGROUP", + "DISKGROUP_PLUS", "DISKS", "DISMOUNT", + "DISTINCT", "DISTINGUISHED", "DISTRIBUTED", + "DISTRIBUTE", "DML", "DML_UPDATE", "DOCFIDELITY", + "DOCUMENT", "DOMAIN_INDEX_FILTER", "DOMAIN_INDEX_NO_SORT", + "DOMAIN_INDEX_SORT", "DOUBLE", "DOWNGRADE", + "DRIVING_SITE", "DROP_COLUMN", "DROP", + "DROP_GROUP", "DSINTERVAL_UNCONSTRAINED", + "DST_UPGRADE_INSERT_CONV", "DUMP", "DUMPSET", + "DUPLICATE", "DV", "DYNAMIC", "DYNAMIC_SAMPLING", + "DYNAMIC_SAMPLING_EST_CDN", "EACH", "EDITIONABLE", + "EDITION", "EDITIONING", "EDITIONS", + "ELEMENT", "ELIM_GROUPBY", "ELIMINATE_JOIN", + "ELIMINATE_OBY", "ELIMINATE_OUTER_JOIN", + "ELSE", "ELSIF", "EM", "EMPTY_BLOB", + "EMPTY_CLOB", "EMPTY", "ENABLE_ALL", + "ENABLE", "ENABLE_PARALLEL_DML", "ENABLE_PRESET", + "ENCODING", "ENCRYPT", "ENCRYPTION", + "END", "END_OUTLINE_DATA", "ENFORCED", + "ENFORCE", "ENQUEUE", "ENTERPRISE", "ENTITYESCAPING", + "ENTRY", "EQUIPART", "ERR", "ERROR_ARGUMENT", + "ERROR", "ERROR_ON_OVERLAP_TIME", "ERRORS", + "ESCAPE", "ESTIMATE", "EVAL", "EVALNAME", + "EVALUATE", "EVALUATION", "EVENTS", "EVERY", + "EXCEPT", "EXCEPTION", "EXCEPTION_INIT", + "EXCEPTIONS", "EXCHANGE", "EXCLUDE", + "EXCLUDING", "EXCLUSIVE", "EXECUTE", + "EXEMPT", "EXISTING", "EXISTS", "EXISTSNODE", + "EXIT", "EXPAND_GSET_TO_UNION", "EXPAND_TABLE", + "EXP", "EXPIRE", "EXPLAIN", "EXPLOSION", + "EXPORT", "EXPR_CORR_CHECK", "EXPRESS", + "EXTENDS", "EXTENT", "EXTENTS", "EXTERNAL", + "EXTERNALLY", "EXTRACTCLOBXML", "EXTRACT", + "EXTRACTVALUE", "EXTRA", "FACILITY", + "FACT", "FACTOR", "FACTORIZE_JOIN", "FAILED", + "FAILED_LOGIN_ATTEMPTS", "FAILGROUP", + "FAILOVER", "FAILURE", "FALSE", "FAMILY", + "FAR", "FAST", "FASTSTART", "FBTSCAN", + "FEATURE_DETAILS", "FEATURE_ID", "FEATURE_SET", + "FEATURE_VALUE", "FETCH", "FILE", "FILE_NAME_CONVERT", + "FILESYSTEM_LIKE_LOGGING", "FILTER", + "FINAL", "FINE", "FINISH", "FIRST", "FIRSTM", + "FIRST_ROWS", "FIRST_VALUE", "FIXED_VIEW_DATA", + "FLAGGER", "FLASHBACK", "FLASH_CACHE", + "FLOAT", "FLOB", "FLOOR", "FLUSH", "FOLDER", + "FOLLOWING", "FOLLOWS", "FORALL", "FORCE", + "FORCE_XML_QUERY_REWRITE", "FOREIGN", + "FOREVER", "FOR", "FORMAT", "FORWARD", + "FRAGMENT_NUMBER", "FREELIST", "FREELISTS", + "FREEPOOLS", "FRESH", "FROM", "FROM_TZ", + "FULL", "FULL_OUTER_JOIN_TO_OUTER", "FUNCTION", + "FUNCTIONS", "GATHER_OPTIMIZER_STATISTICS", + "GATHER_PLAN_STATISTICS", "GBY_CONC_ROLLUP", + "GBY_PUSHDOWN", "GENERATED", "GET", "GLOBAL", + "GLOBALLY", "GLOBAL_NAME", "GLOBAL_TOPIC_ENABLED", + "GOTO", "GRANT", "GROUP_BY", "GROUP", + "GROUP_ID", "GROUPING", "GROUPING_ID", + "GROUPS", "GUARANTEED", "GUARANTEE", + "GUARD", "HASH_AJ", "HASH", "HASHKEYS", + "HASH_SJ", "HAVING", "HEADER", "HEAP", + "HELP", "HEXTORAW", "HEXTOREF", "HIDDEN_KEYWORD", + "HIDE", "HIERARCHY", "HIGH", "HINTSET_BEGIN", + "HINTSET_END", "HOT", "HOUR", "HWM_BROKERED", + "HYBRID", "IDENTIFIED", "IDENTIFIER", + "IDENTITY", "IDGENERATORS", "ID", "IDLE_TIME", + "IF", "IGNORE", "IGNORE_OPTIM_EMBEDDED_HINTS", + "IGNORE_ROW_ON_DUPKEY_INDEX", "IGNORE_WHERE_CLAUSE", + "ILM", "IMMEDIATE", "IMPACT", "IMPORT", + "INACTIVE", "INCLUDE", "INCLUDE_VERSION", + "INCLUDING", "INCREMENTAL", "INCREMENT", + "INCR", "INDENT", "INDEX_ASC", "INDEX_COMBINE", + "INDEX_DESC", "INDEXED", "INDEXES", "INDEX_FFS", + "INDEX_FILTER", "INDEX", "INDEXING", + "INDEX_JOIN", "INDEX_ROWS", "INDEX_RRS", + "INDEX_RS_ASC", "INDEX_RS_DESC", "INDEX_RS", + "INDEX_SCAN", "INDEX_SKIP_SCAN", "INDEX_SS_ASC", + "INDEX_SS_DESC", "INDEX_SS", "INDEX_STATS", + "INDEXTYPE", "INDEXTYPES", "INDICATOR", + "INDICES", "INFINITE", "INFORMATIONAL", + "INHERIT", "IN", "INITCAP", "INITIAL", + "INITIALIZED", "INITIALLY", "INITRANS", + "INLINE", "INLINE_XMLTYPE_NT", "INMEMORY", + "IN_MEMORY_METADATA", "INMEMORY_PRUNING", + "INNER", "INOUT", "INPLACE", "INSERTCHILDXMLAFTER", + "INSERTCHILDXMLBEFORE", "INSERTCHILDXML", + "INSERT", "INSERTXMLAFTER", "INSERTXMLBEFORE", + "INSTANCE", "INSTANCES", "INSTANTIABLE", + "INSTANTLY", "INSTEAD", "INSTR2", "INSTR4", + "INSTRB", "INSTRC", "INSTR", "INTEGER", + "INTERLEAVED", "INTERMEDIATE", "INTERNAL_CONVERT", + "INTERNAL_USE", "INTERPRETED", "INTERSECT", + "INTERVAL", "INT", "INTO", "INVALIDATE", + "INVISIBLE", "IN_XQUERY", "IS", "ISOLATION", + "ISOLATION_LEVEL", "ITERATE", "ITERATION_NUMBER", + "JAVA", "JOB", "JOIN", "JSON_ARRAYAGG", + "JSON_ARRAY", "JSON_EQUAL", "JSON_EXISTS2", + "JSON_EXISTS", "JSONGET", "JSON", "JSON_OBJECTAGG", + "JSON_OBJECT", "JSONPARSE", "JSON_QUERY", + "JSON_SERIALIZE", "JSON_TABLE", "JSON_TEXTCONTAINS2", + "JSON_TEXTCONTAINS", "JSON_VALUE", "KEEP_DUPLICATES", + "KEEP", "KERBEROS", "KEY", "KEY_LENGTH", + "KEYSIZE", "KEYS", "KEYSTORE", "KILL", + "LABEL", "LANGUAGE", "LAST_DAY", "LAST", + "LAST_VALUE", "LATERAL", "LAX", "LAYER", + "LDAP_REGISTRATION_ENABLED", "LDAP_REGISTRATION", + "LDAP_REG_SYNC_INTERVAL", "LEADING", + "LEFT", "LENGTH2", "LENGTH4", "LENGTHB", + "LENGTHC", "LENGTH", "LESS", "LEVEL", + "LEVELS", "LIBRARY", "LIFECYCLE", "LIFE", + "LIFETIME", "LIKE2", "LIKE4", "LIKEC", + "LIKE_EXPAND", "LIKE", "LIMIT", "LINEAR", + "LINK", "LIST", "LN", "LNNVL", "LOAD", + "LOB", "LOBNVL", "LOBS", "LOCAL_INDEXES", + "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", + "LOCATION", "LOCATOR", "LOCKED", "LOCKING", + "LOCK", "LOGFILE", "LOGFILES", "LOGGING", + "LOGICAL", "LOGICAL_READS_PER_CALL", + "LOGICAL_READS_PER_SESSION", "LOG", "LOGMINING", + "LOGOFF", "LOGON", "LOG_READ_ONLY_VIOLATIONS", + "LONG", "LOOP", "LOWER", "LOW", "LPAD", + "LTRIM", "MAIN", "MAKE_REF", "MANAGED", + "MANAGE", "MANAGEMENT", "MANAGER", "MANUAL", + "MAP", "MAPPING", "MASTER", "MATCHED", + "MATCHES", "MATCH", "MATCH_NUMBER", "MATCH_RECOGNIZE", + "MATERIALIZED", "MATERIALIZE", "MAXARCHLOGS", + "MAXDATAFILES", "MAXEXTENTS", "MAXIMIZE", + "MAXINSTANCES", "MAXLOGFILES", "MAXLOGHISTORY", + "MAXLOGMEMBERS", "MAX_SHARED_TEMP_SIZE", + "MAXSIZE", "MAXTRANS", "MAXVALUE", "MEASURE", + "MEASURES", "MEDIUM", "MEMBER", "MEMCOMPRESS", + "MEMORY", "MERGEACTIONS", "MERGE_AJ", + "MERGE_CONST_ON", "MERGE", "MERGE_SJ", + "METADATA", "METHOD", "MIGRATE", "MIGRATION", + "MINEXTENTS", "MINIMIZE", "MINIMUM", + "MINING", "MINUS", "MINUS_NULL", "MINUTE", + "MINVALUE", "MIRRORCOLD", "MIRRORHOT", + "MIRROR", "MLSLABEL", "MODEL_COMPILE_SUBQUERY", + "MODEL_DONTVERIFY_UNIQUENESS", "MODEL_DYNAMIC_SUBQUERY", + "MODEL_MIN_ANALYSIS", "MODEL", "MODEL_NB", + "MODEL_NO_ANALYSIS", "MODEL_PBY", "MODEL_PUSH_REF", + "MODEL_SV", "MODE", "MODIFICATION", "MODIFY_COLUMN_TYPE", + "MODIFY", "MOD", "MODULE", "MONITORING", + "MONITOR", "MONTH", "MONTHS_BETWEEN", + "MONTHS", "MOUNT", "MOUNTPATH", "MOVEMENT", + "MOVE", "MULTIDIMENSIONAL", "MULTISET", + "MV_MERGE", "NAMED", "NAME", "NAMESPACE", + "NAN", "NANVL", "NATIONAL", "NATIVE_FULL_OUTER_JOIN", + "NATIVE", "NATURAL", "NATURALN", "NAV", + "NCHAR_CS", "NCHAR", "NCHR", "NCLOB", + "NEEDED", "NEG", "NESTED", "NESTED_TABLE_FAST_INSERT", + "NESTED_TABLE_GET_REFS", "NESTED_TABLE_ID", + "NESTED_TABLE_SET_REFS", "NESTED_TABLE_SET_SETID", + "NETWORK", "NEVER", "NEW", "NEW_TIME", + "NEXT_DAY", "NEXT", "NL_AJ", "NLJ_BATCHING", + "NLJ_INDEX_FILTER", "NLJ_INDEX_SCAN", + "NLJ_PREFETCH", "NLS_CALENDAR", "NLS_CHARACTERSET", + "NLS_CHARSET_DECL_LEN", "NLS_CHARSET_ID", + "NLS_CHARSET_NAME", "NLS_COMP", "NLS_CURRENCY", + "NLS_DATE_FORMAT", "NLS_DATE_LANGUAGE", + "NLS_INITCAP", "NLS_ISO_CURRENCY", "NL_SJ", + "NLS_LANG", "NLS_LANGUAGE", "NLS_LENGTH_SEMANTICS", + "NLS_LOWER", "NLS_NCHAR_CONV_EXCP", "NLS_NUMERIC_CHARACTERS", + "NLS_SORT", "NLSSORT", "NLS_SPECIAL_CHARS", + "NLS_TERRITORY", "NLS_UPPER", "NO_ACCESS", + "NO_ADAPTIVE_PLAN", "NO_ANSI_REARCH", + "NOAPPEND", "NOARCHIVELOG", "NOAUDIT", + "NO_AUTO_REOPTIMIZE", "NO_BASETABLE_MULTIMV_REWRITE", + "NO_BATCH_TABLE_ACCESS_BY_ROWID", "NO_BIND_AWARE", + "NO_BUFFER", "NOCACHE", "NO_CARTESIAN", + "NO_CHECK_ACL_REWRITE", "NO_CLUSTER_BY_ROWID", + "NO_CLUSTERING", "NO_COALESCE_SQ", "NO_COMMON_DATA", + "NOCOMPRESS", "NO_CONNECT_BY_CB_WHR_ONLY", + "NO_CONNECT_BY_COMBINE_SW", "NO_CONNECT_BY_COST_BASED", + "NO_CONNECT_BY_ELIM_DUPS", "NO_CONNECT_BY_FILTERING", + "NOCOPY", "NO_COST_XML_QUERY_REWRITE", + "NO_CPU_COSTING", "NOCPU_COSTING", "NOCYCLE", + "NO_DATA_SECURITY_REWRITE", "NO_DECORRELATE", + "NODELAY", "NO_DOMAIN_INDEX_FILTER", + "NO_DST_UPGRADE_INSERT_CONV", "NO_ELIM_GROUPBY", + "NO_ELIMINATE_JOIN", "NO_ELIMINATE_OBY", + "NO_ELIMINATE_OUTER_JOIN", "NOENTITYESCAPING", + "NO_EXPAND_GSET_TO_UNION", "NO_EXPAND", + "NO_EXPAND_TABLE", "NO_FACT", "NO_FACTORIZE_JOIN", + "NO_FILTERING", "NOFORCE", "NO_FULL_OUTER_JOIN_TO_OUTER", + "NO_GATHER_OPTIMIZER_STATISTICS", "NO_GBY_PUSHDOWN", + "NOGUARANTEE", "NO_INDEX_FFS", "NO_INDEX", + "NO_INDEX_SS", "NO_INMEMORY", "NO_INMEMORY_PRUNING", + "NOKEEP", "NO_LOAD", "NOLOCAL", "NOLOGGING", + "NOMAPPING", "NOMAXVALUE", "NO_MERGE", + "NOMINIMIZE", "NOMINVALUE", "NO_MODEL_PUSH_REF", + "NO_MONITORING", "NOMONITORING", "NO_MONITOR", + "NO_MULTIMV_REWRITE", "NO_NATIVE_FULL_OUTER_JOIN", + "NONBLOCKING", "NONEDITIONABLE", "NONE", + "NO_NLJ_BATCHING", "NO_NLJ_PREFETCH", + "NO", "NONSCHEMA", "NO_OBJECT_LINK", + "NOORDER", "NO_ORDER_ROLLUPS", "NO_OUTER_JOIN_TO_ANTI", + "NO_OUTER_JOIN_TO_INNER", "NOOVERRIDE", + "NO_PARALLEL_INDEX", "NOPARALLEL_INDEX", + "NO_PARALLEL", "NOPARALLEL", "NO_PARTIAL_COMMIT", + "NO_PARTIAL_JOIN", "NO_PARTIAL_ROLLUP_PUSHDOWN", + "NOPARTITION", "NO_PLACE_DISTINCT", "NO_PLACE_GROUP_BY", + "NO_PQ_CONCURRENT_UNION", "NO_PQ_MAP", + "NO_PQ_REPLICATE", "NO_PQ_SKEW", "NO_PRUNE_GSETS", + "NO_PULL_PRED", "NO_PUSH_PRED", "NO_PUSH_SUBQ", + "NO_PX_FAULT_TOLERANCE", "NO_PX_JOIN_FILTER", + "NO_QKN_BUFF", "NO_QUERY_TRANSFORMATION", + "NO_REF_CASCADE", "NORELOCATE", "NORELY", + "NOREPAIR", "NOREPLAY", "NORESETLOGS", + "NO_RESULT_CACHE", "NOREVERSE", "NO_REWRITE", + "NOREWRITE", "NORMAL", "NO_ROOT_SW_FOR_LOCAL", + "NOROWDEPENDENCIES", "NOSCHEMACHECK", + "NOSEGMENT", "NO_SEMIJOIN", "NO_SEMI_TO_INNER", + "NO_SET_TO_JOIN", "NOSORT", "NO_SQL_TRANSLATION", + "NO_SQL_TUNE", "NO_STAR_TRANSFORMATION", + "NO_STATEMENT_QUEUING", "NO_STATS_GSETS", + "NOSTRICT", "NO_SUBQUERY_PRUNING", "NO_SUBSTRB_PAD", + "NO_SWAP_JOIN_INPUTS", "NOSWITCH", "NO_TABLE_LOOKUP_BY_NL", + "NO_TEMP_TABLE", "NOTHING", "NOTIFICATION", + "NOT", "NO_TRANSFORM_DISTINCT_AGG", "NO_UNNEST", + "NO_USE_CUBE", "NO_USE_HASH_AGGREGATION", + "NO_USE_HASH_GBY_FOR_PUSHDOWN", "NO_USE_HASH", + "NO_USE_INVISIBLE_INDEXES", "NO_USE_MERGE", + "NO_USE_NL", "NO_USE_VECTOR_AGGREGATION", + "NOVALIDATE", "NO_VECTOR_TRANSFORM_DIMS", + "NO_VECTOR_TRANSFORM_FACT", "NO_VECTOR_TRANSFORM", + "NOWAIT", "NO_XDB_FASTPATH_INSERT", "NO_XML_DML_REWRITE", + "NO_XMLINDEX_REWRITE_IN_SELECT", "NO_XMLINDEX_REWRITE", + "NO_XML_QUERY_REWRITE", "NO_ZONEMAP", + "NTH_VALUE", "NULLIF", "NULL_", "NULLS", + "NUMBER", "NUMERIC", "NUM_INDEX_KEYS", + "NUMTODSINTERVAL", "NUMTOYMINTERVAL", + "NVARCHAR2", "NVL2", "OBJECT2XML", "OBJECT", + "OBJ_ID", "OBJNO", "OBJNO_REUSE", "OCCURENCES", + "OFFLINE", "OFF", "OFFSET", "OF", "OIDINDEX", + "OID", "OLAP", "OLD", "OLD_PUSH_PRED", + "OLS", "OLTP", "OMIT", "ONE", "ONLINE", + "ONLINELOG", "ONLY", "ON", "OPAQUE", + "OPAQUE_TRANSFORM", "OPAQUE_XCANONICAL", + "OPCODE", "OPEN", "OPERATIONS", "OPERATOR", + "OPT_ESTIMATE", "OPTIMAL", "OPTIMIZE", + "OPTIMIZER_FEATURES_ENABLE", "OPTIMIZER_GOAL", + "OPTION", "OPT_PARAM", "ORA_BRANCH", + "ORA_CHECK_ACL", "ORA_CHECK_PRIVILEGE", + "ORA_CLUSTERING", "ORADATA", "ORADEBUG", + "ORA_DST_AFFECTED", "ORA_DST_CONVERT", + "ORA_DST_ERROR", "ORA_GET_ACLIDS", "ORA_GET_PRIVILEGES", + "ORA_HASH", "ORA_INVOKING_USERID", "ORA_INVOKING_USER", + "ORA_INVOKING_XS_USER_GUID", "ORA_INVOKING_XS_USER", + "ORA_RAWCOMPARE", "ORA_RAWCONCAT", "ORA_ROWSCN", + "ORA_ROWSCN_RAW", "ORA_ROWVERSION", "ORA_TABVERSION", + "ORA_WRITE_TIME", "ORDERED", "ORDERED_PREDICATES", + "ORDER", "ORDINALITY", "OR_EXPAND", "ORGANIZATION", + "OR", "OR_PREDICATES", "OSERROR", "OTHER", + "OUTER_JOIN_TO_ANTI", "OUTER_JOIN_TO_INNER", + "OUTER", "OUTLINE_LEAF", "OUTLINE", "OUT_OF_LINE", + "OUT", "OVERFLOW_NOMOVE", "OVERFLOW", + "OVERLAPS", "OVER", "OVERRIDING", "OWNER", + "OWNERSHIP", "OWN", "PACKAGE", "PACKAGES", + "PARALLEL_ENABLE", "PARALLEL_INDEX", + "PARALLEL", "PARAMETERFILE", "PARAMETERS", + "PARAM", "PARENT", "PARITY", "PARTIAL_JOIN", + "PARTIALLY", "PARTIAL", "PARTIAL_ROLLUP_PUSHDOWN", + "PARTITION_HASH", "PARTITION_LIST", "PARTITION", + "PARTITION_RANGE", "PARTITIONS", "PARTNUMINST", + "PASSING", "PASSWORD_GRACE_TIME", "PASSWORD_LIFE_TIME", + "PASSWORD_LOCK_TIME", "PASSWORD", "PASSWORD_REUSE_MAX", + "PASSWORD_REUSE_TIME", "PASSWORD_VERIFY_FUNCTION", + "PAST", "PATCH", "PATH", "PATH_PREFIX", + "PATHS", "PATTERN", "PBL_HS_BEGIN", "PBL_HS_END", + "PCTFREE", "PCTINCREASE", "PCTTHRESHOLD", + "PCTUSED", "PCTVERSION", "PENDING", "PERCENT_FOUND", + "PERCENT_ISOPEN", "PERCENT_NOTFOUND", + "PERCENT_KEYWORD", "PERCENT_RANKM", "PERCENT_ROWCOUNT", + "PERCENT_ROWTYPE", "PERCENT_TYPE", "PERFORMANCE", + "PERIOD_KEYWORD", "PERMANENT", "PERMISSION", + "PERMUTE", "PER", "PFILE", "PHYSICAL", + "PIKEY", "PIPELINED", "PIPE", "PIV_GB", + "PIVOT", "PIV_SSF", "PLACE_DISTINCT", + "PLACE_GROUP_BY", "PLAN", "PLSCOPE_SETTINGS", + "PLS_INTEGER", "PLSQL_CCFLAGS", "PLSQL_CODE_TYPE", + "PLSQL_DEBUG", "PLSQL_OPTIMIZE_LEVEL", + "PLSQL_WARNINGS", "PLUGGABLE", "POINT", + "POLICY", "POOL_16K", "POOL_2K", "POOL_32K", + "POOL_4K", "POOL_8K", "POSITIVEN", "POSITIVE", + "POST_TRANSACTION", "POWERMULTISET_BY_CARDINALITY", + "POWERMULTISET", "POWER", "PQ_CONCURRENT_UNION", + "PQ_DISTRIBUTE", "PQ_DISTRIBUTE_WINDOW", + "PQ_FILTER", "PQ_MAP", "PQ_NOMAP", "PQ_REPLICATE", + "PQ_SKEW", "PRAGMA", "PREBUILT", "PRECEDES", + "PRECEDING", "PRECISION", "PRECOMPUTE_SUBQUERY", + "PREDICATE_REORDERS", "PRELOAD", "PREPARE", + "PRESENTNNV", "PRESENT", "PRESENTV", + "PRESERVE_OID", "PRESERVE", "PRETTY", + "PREVIOUS", "PREV", "PRIMARY", "PRINTBLOBTOCLOB", + "PRIORITY", "PRIOR", "PRIVATE", "PRIVATE_SGA", + "PRIVILEGED", "PRIVILEGE", "PRIVILEGES", + "PROCEDURAL", "PROCEDURE", "PROCESS", + "PROFILE", "PROGRAM", "PROJECT", "PROPAGATE", + "PROTECTED", "PROTECTION", "PROXY", "PRUNING", + "PUBLIC", "PULL_PRED", "PURGE", "PUSH_PRED", + "PUSH_SUBQ", "PX_FAULT_TOLERANCE", "PX_GRANULE", + "PX_JOIN_FILTER", "QB_NAME", "QUERY_BLOCK", + "QUERY", "QUEUE_CURR", "QUEUE", "QUEUE_ROWP", + "QUIESCE", "QUORUM", "QUOTA", "RAISE", + "RANDOM_LOCAL", "RANDOM", "RANGE", "RANKM", + "RAPIDLY", "RAW", "RAWTOHEX", "RAWTONHEX", + "RBA", "RBO_OUTLINE", "RDBA", "READ", + "READS", "REALM", "REAL", "REBALANCE", + "REBUILD", "RECORD", "RECORDS_PER_BLOCK", + "RECOVERABLE", "RECOVER", "RECOVERY", + "RECYCLEBIN", "RECYCLE", "REDACTION", + "REDEFINE", "REDO", "REDUCED", "REDUNDANCY", + "REF_CASCADE_CURSOR", "REFERENCED", "REFERENCE", + "REFERENCES", "REFERENCING", "REF", "REFRESH", + "REFTOHEX", "REGEXP_COUNT", "REGEXP_INSTR", + "REGEXP_LIKE", "REGEXP_REPLACE", "REGEXP_SUBSTR", + "REGISTER", "REGR_AVGX", "REGR_AVGY", + "REGR_COUNT", "REGR_INTERCEPT", "REGR_R2", + "REGR_SLOPE", "REGR_SXX", "REGR_SXY", + "REGR_SYY", "REGULAR", "REJECT", "REKEY", + "RELATIONAL", "RELIES_ON", "RELOCATE", + "RELY", "REMAINDER", "REMOTE_MAPPED", + "REMOVE", "RENAME", "REPAIR", "REPEAT", + "REPLACE", "REPLICATION", "REQUIRED", + "RESETLOGS", "RESET", "RESIZE", "RESOLVE", + "RESOLVER", "RESOURCE", "RESPECT", "RESTART", + "RESTORE_AS_INTERVALS", "RESTORE", "RESTRICT_ALL_REF_CONS", + "RESTRICTED", "RESTRICT_REFERENCES", + "RESTRICT", "RESULT_CACHE", "RESULT", + "RESUMABLE", "RESUME", "RETENTION", "RETRY_ON_ROW_CHANGE", + "RETURNING", "RETURN", "REUSE", "REVERSE", + "REVOKE", "REWRITE_OR_ERROR", "REWRITE", + "RIGHT", "ROLE", "ROLESET", "ROLES", + "ROLLBACK", "ROLLING", "ROLLUP", "ROWDEPENDENCIES", + "ROWID_MAPPING_TABLE", "ROWID", "ROWIDTOCHAR", + "ROWIDTONCHAR", "ROW_LENGTH", "ROWNUM", + "ROW", "ROWS", "RPAD", "RTRIM", "RULE", + "RULES", "RUNNING", "SALT", "SAMPLE", + "SAVE_AS_INTERVALS", "SAVEPOINT", "SAVE", + "SB4", "SCALE_ROWS", "SCALE", "SCAN_INSTANCES", + "SCAN", "SCHEDULER", "SCHEMACHECK", "SCHEMA", + "SCN_ASCENDING", "SCN", "SCOPE", "SCRUB", + "SD_ALL", "SD_INHIBIT", "SDO_GEOM_MBR", + "SD_SHOW", "SEARCH", "SECOND", "SECRET", + "SECUREFILE_DBA", "SECUREFILE", "SECURITY", + "SEED", "SEG_BLOCK", "SEG_FILE", "SEGMENT", + "SELECTIVITY", "SELECT", "SELF", "SEMIJOIN_DRIVER", + "SEMIJOIN", "SEMI_TO_INNER", "SEQUENCED", + "SEQUENCE", "SEQUENTIAL", "SEQ", "SERIALIZABLE", + "SERIALLY_REUSABLE", "SERIAL", "SERVERERROR", + "SERVICE_NAME_CONVERT", "SERVICES", "SESSION_CACHED_CURSORS", + "SESSION", "SESSIONS_PER_USER", "SESSIONTIMEZONE", + "SESSIONTZNAME", "SET", "SETS", "SETTINGS", + "SET_TO_JOIN", "SEVERE", "SHARED_POOL", + "SHARED", "SHARE", "SHARING", "SHELFLIFE", + "SHOW", "SHRINK", "SHUTDOWN", "SIBLINGS", + "SID", "SIGNAL_COMPONENT", "SIGNAL_FUNCTION", + "SIGN", "SIGNTYPE", "SIMPLE_INTEGER", + "SIMPLE", "SINGLE", "SINGLETASK", "SINH", + "SIN", "SIZE", "SKIP_EXT_OPTIMIZER", + "SKIP_", "SKIP_UNQ_UNUSABLE_IDX", "SKIP_UNUSABLE_INDEXES", + "SMALLFILE", "SMALLINT", "SNAPSHOT", + "SOME", "SORT", "SOUNDEX", "SOURCE_FILE_DIRECTORY", + "SOURCE_FILE_NAME_CONVERT", "SOURCE", + "SPACE_KEYWORD", "SPECIFICATION", "SPFILE", + "SPLIT", "SPREADSHEET", "SQLDATA", "SQLERROR", + "SQLLDR", "SQL", "SQL_TRACE", "SQL_TRANSLATION_PROFILE", + "SQRT", "STALE", "STANDALONE", "STANDARD_HASH", + "STANDBY_MAX_DATA_DELAY", "STANDBYS", + "STANDBY", "STAR", "STAR_TRANSFORMATION", + "START", "STARTUP", "STATEMENT_ID", "STATEMENT_QUEUING", + "STATEMENTS", "STATEMENT", "STATE", "STATIC", + "STATISTICS", "STATS_BINOMIAL_TEST", + "STATS_CROSSTAB", "STATS_F_TEST", "STATS_KS_TEST", + "STATS_MODE", "STATS_MW_TEST", "STATS_ONE_WAY_ANOVA", + "STATS_T_TEST_INDEP", "STATS_T_TEST_INDEPU", + "STATS_T_TEST_ONE", "STATS_T_TEST_PAIRED", + "STATS_WSR_TEST", "STDDEV_POP", "STDDEV_SAMP", + "STOP", "STORAGE", "STORE", "STREAMS", + "STREAM", "STRICT", "STRING", "STRIPE_COLUMNS", + "STRIPE_WIDTH", "STRIP", "STRUCTURE", + "SUBMULTISET", "SUBPARTITION_REL", "SUBPARTITIONS", + "SUBPARTITION", "SUBQUERIES", "SUBQUERY_PRUNING", + "SUBSCRIBE", "SUBSET", "SUBSTITUTABLE", + "SUBSTR2", "SUBSTR4", "SUBSTRB", "SUBSTRC", + "SUBTYPE", "SUCCESSFUL", "SUCCESS", "SUMMARY", + "SUPPLEMENTAL", "SUSPEND", "SWAP_JOIN_INPUTS", + "SWITCHOVER", "SWITCH", "SYNCHRONOUS", + "SYNC", "SYNONYM", "SYSASM", "SYS_AUDIT", + "SYSAUX", "SYSBACKUP", "SYS_CHECKACL", + "SYS_CHECK_PRIVILEGE", "SYS_CONNECT_BY_PATH", + "SYS_CONTEXT", "SYSDATE", "SYSDBA", "SYS_DBURIGEN", + "SYSDG", "SYS_DL_CURSOR", "SYS_DM_RXFORM_CHR", + "SYS_DM_RXFORM_NUM", "SYS_DOM_COMPARE", + "SYS_DST_PRIM2SEC", "SYS_DST_SEC2PRIM", + "SYS_ET_BFILE_TO_RAW", "SYS_ET_BLOB_TO_IMAGE", + "SYS_ET_IMAGE_TO_BLOB", "SYS_ET_RAW_TO_BFILE", + "SYS_EXTPDTXT", "SYS_EXTRACT_UTC", "SYS_FBT_INSDEL", + "SYS_FILTER_ACLS", "SYS_FNMATCHES", "SYS_FNREPLACE", + "SYS_GET_ACLIDS", "SYS_GET_COL_ACLIDS", + "SYS_GET_PRIVILEGES", "SYS_GETTOKENID", + "SYS_GETXTIVAL", "SYS_GUID", "SYSGUID", + "SYSKM", "SYS_MAKE_XMLNODEID", "SYS_MAKEXML", + "SYS_MKXMLATTR", "SYS_MKXTI", "SYSOBJ", + "SYS_OP_ADT2BIN", "SYS_OP_ADTCONS", "SYS_OP_ALSCRVAL", + "SYS_OP_ATG", "SYS_OP_BIN2ADT", "SYS_OP_BITVEC", + "SYS_OP_BL2R", "SYS_OP_BLOOM_FILTER_LIST", + "SYS_OP_BLOOM_FILTER", "SYS_OP_C2C", + "SYS_OP_CAST", "SYS_OP_CEG", "SYS_OP_CL2C", + "SYS_OP_COMBINED_HASH", "SYS_OP_COMP", + "SYS_OP_CONVERT", "SYS_OP_COUNTCHG", + "SYS_OP_CSCONV", "SYS_OP_CSCONVTEST", + "SYS_OP_CSR", "SYS_OP_CSX_PATCH", "SYS_OP_CYCLED_SEQ", + "SYS_OP_DECOMP", "SYS_OP_DESCEND", "SYS_OP_DISTINCT", + "SYS_OP_DRA", "SYS_OP_DUMP", "SYS_OP_DV_CHECK", + "SYS_OP_ENFORCE_NOT_NULL", "SYSOPER", + "SYS_OP_EXTRACT", "SYS_OP_GROUPING", + "SYS_OP_GUID", "SYS_OP_HASH", "SYS_OP_IIX", + "SYS_OP_ITR", "SYS_OP_KEY_VECTOR_CREATE", + "SYS_OP_KEY_VECTOR_FILTER_LIST", "SYS_OP_KEY_VECTOR_FILTER", + "SYS_OP_KEY_VECTOR_SUCCEEDED", "SYS_OP_KEY_VECTOR_USE", + "SYS_OP_LBID", "SYS_OP_LOBLOC2BLOB", + "SYS_OP_LOBLOC2CLOB", "SYS_OP_LOBLOC2ID", + "SYS_OP_LOBLOC2NCLOB", "SYS_OP_LOBLOC2TYP", + "SYS_OP_LSVI", "SYS_OP_LVL", "SYS_OP_MAKEOID", + "SYS_OP_MAP_NONNULL", "SYS_OP_MSR", "SYS_OP_NICOMBINE", + "SYS_OP_NIEXTRACT", "SYS_OP_NII", "SYS_OP_NIX", + "SYS_OP_NOEXPAND", "SYS_OP_NTCIMG", "SYS_OP_NUMTORAW", + "SYS_OP_OIDVALUE", "SYS_OP_OPNSIZE", + "SYS_OP_PAR_1", "SYS_OP_PARGID_1", "SYS_OP_PARGID", + "SYS_OP_PAR", "SYS_OP_PART_ID", "SYS_OP_PIVOT", + "SYS_OP_R2O", "SYS_OP_RAWTONUM", "SYS_OP_RDTM", + "SYS_OP_REF", "SYS_OP_RMTD", "SYS_OP_ROWIDTOOBJ", + "SYS_OP_RPB", "SYS_OPTLOBPRBSC", "SYS_OP_TOSETID", + "SYS_OP_TPR", "SYS_OP_TRTB", "SYS_OPTXICMP", + "SYS_OPTXQCASTASNQ", "SYS_OP_UNDESCEND", + "SYS_OP_VECAND", "SYS_OP_VECBIT", "SYS_OP_VECOR", + "SYS_OP_VECXOR", "SYS_OP_VERSION", "SYS_OP_VREF", + "SYS_OP_VVD", "SYS_OP_XMLCONS_FOR_CSX", + "SYS_OP_XPTHATG", "SYS_OP_XPTHIDX", "SYS_OP_XPTHOP", + "SYS_OP_XTXT2SQLT", "SYS_OP_ZONE_ID", + "SYS_ORDERKEY_DEPTH", "SYS_ORDERKEY_MAXCHILD", + "SYS_ORDERKEY_PARENT", "SYS_PARALLEL_TXN", + "SYS_PATHID_IS_ATTR", "SYS_PATHID_IS_NMSPC", + "SYS_PATHID_LASTNAME", "SYS_PATHID_LASTNMSPC", + "SYS_PATH_REVERSE", "SYS_PXQEXTRACT", + "SYS_RAW_TO_XSID", "SYS_RID_ORDER", "SYS_ROW_DELTA", + "SYS_SC_2_XMLT", "SYS_SYNRCIREDO", "SYSTEM_DEFINED", + "SYSTEM", "SYSTIMESTAMP", "SYS_TYPEID", + "SYS_UMAKEXML", "SYS_XMLANALYZE", "SYS_XMLCONTAINS", + "SYS_XMLCONV", "SYS_XMLEXNSURI", "SYS_XMLGEN", + "SYS_XMLI_LOC_ISNODE", "SYS_XMLI_LOC_ISTEXT", + "SYS_XMLINSTR", "SYS_XMLLOCATOR_GETSVAL", + "SYS_XMLNODEID_GETCID", "SYS_XMLNODEID_GETLOCATOR", + "SYS_XMLNODEID_GETOKEY", "SYS_XMLNODEID_GETPATHID", + "SYS_XMLNODEID_GETPTRID", "SYS_XMLNODEID_GETRID", + "SYS_XMLNODEID_GETSVAL", "SYS_XMLNODEID_GETTID", + "SYS_XMLNODEID", "SYS_XMLT_2_SC", "SYS_XMLTRANSLATE", + "SYS_XMLTYPE2SQL", "SYS_XQ_ASQLCNV", + "SYS_XQ_ATOMCNVCHK", "SYS_XQBASEURI", + "SYS_XQCASTABLEERRH", "SYS_XQCODEP2STR", + "SYS_XQCODEPEQ", "SYS_XQCON2SEQ", "SYS_XQCONCAT", + "SYS_XQDELETE", "SYS_XQDFLTCOLATION", + "SYS_XQDOC", "SYS_XQDOCURI", "SYS_XQDURDIV", + "SYS_XQED4URI", "SYS_XQENDSWITH", "SYS_XQERRH", + "SYS_XQERR", "SYS_XQESHTMLURI", "SYS_XQEXLOBVAL", + "SYS_XQEXSTWRP", "SYS_XQEXTRACT", "SYS_XQEXTRREF", + "SYS_XQEXVAL", "SYS_XQFB2STR", "SYS_XQFNBOOL", + "SYS_XQFNCMP", "SYS_XQFNDATIM", "SYS_XQFNLNAME", + "SYS_XQFNNM", "SYS_XQFNNSURI", "SYS_XQFNPREDTRUTH", + "SYS_XQFNQNM", "SYS_XQFNROOT", "SYS_XQFORMATNUM", + "SYS_XQFTCONTAIN", "SYS_XQFUNCR", "SYS_XQGETCONTENT", + "SYS_XQINDXOF", "SYS_XQINSERT", "SYS_XQINSPFX", + "SYS_XQIRI2URI", "SYS_XQLANG", "SYS_XQLLNMFRMQNM", + "SYS_XQMKNODEREF", "SYS_XQNILLED", "SYS_XQNODENAME", + "SYS_XQNORMSPACE", "SYS_XQNORMUCODE", + "SYS_XQ_NRNG", "SYS_XQNSP4PFX", "SYS_XQNSPFRMQNM", + "SYS_XQPFXFRMQNM", "SYS_XQ_PKSQL2XML", + "SYS_XQPOLYABS", "SYS_XQPOLYADD", "SYS_XQPOLYCEL", + "SYS_XQPOLYCSTBL", "SYS_XQPOLYCST", "SYS_XQPOLYDIV", + "SYS_XQPOLYFLR", "SYS_XQPOLYMOD", "SYS_XQPOLYMUL", + "SYS_XQPOLYRND", "SYS_XQPOLYSQRT", "SYS_XQPOLYSUB", + "SYS_XQPOLYUMUS", "SYS_XQPOLYUPLS", "SYS_XQPOLYVEQ", + "SYS_XQPOLYVGE", "SYS_XQPOLYVGT", "SYS_XQPOLYVLE", + "SYS_XQPOLYVLT", "SYS_XQPOLYVNE", "SYS_XQREF2VAL", + "SYS_XQRENAME", "SYS_XQREPLACE", "SYS_XQRESVURI", + "SYS_XQRNDHALF2EVN", "SYS_XQRSLVQNM", + "SYS_XQRYENVPGET", "SYS_XQRYVARGET", + "SYS_XQRYWRP", "SYS_XQSEQ2CON4XC", "SYS_XQSEQ2CON", + "SYS_XQSEQDEEPEQ", "SYS_XQSEQINSB", "SYS_XQSEQRM", + "SYS_XQSEQRVS", "SYS_XQSEQSUB", "SYS_XQSEQTYPMATCH", + "SYS_XQSTARTSWITH", "SYS_XQSTATBURI", + "SYS_XQSTR2CODEP", "SYS_XQSTRJOIN", "SYS_XQSUBSTRAFT", + "SYS_XQSUBSTRBEF", "SYS_XQTOKENIZE", + "SYS_XQTREATAS", "SYS_XQ_UPKXML2SQL", + "SYS_XQXFORM", "SYS_XSID_TO_RAW", "SYS_ZMAP_FILTER", + "SYS_ZMAP_REFRESH", "TABLE_LOOKUP_BY_NL", + "TABLESPACE_NO", "TABLESPACE", "TABLES", + "TABLE_STATS", "TABLE", "TABNO", "TAG", + "TANH", "TAN", "TBLORIDXPARTNUM", "TEMPFILE", + "TEMPLATE", "TEMPORARY", "TEMP_TABLE", + "TEST", "TEXT", "THAN", "THEN", "THE", + "THREAD", "THROUGH", "TIER", "TIES", + "TIMEOUT", "TIMESTAMP_LTZ_UNCONSTRAINED", + "TIMESTAMP", "TIMESTAMP_TZ_UNCONSTRAINED", + "TIMESTAMP_UNCONSTRAINED", "TIMES", "TIME", + "TIMEZONE", "TIMEZONE_ABBR", "TIMEZONE_HOUR", + "TIMEZONE_MINUTE", "TIMEZONE_OFFSET", + "TIMEZONE_REGION", "TIME_ZONE", "TIV_GB", + "TIV_SSF", "TO_ACLID", "TO_BINARY_DOUBLE", + "TO_BINARY_FLOAT", "TO_BLOB", "TO_CLOB", + "TO_DSINTERVAL", "TO_LOB", "TO_MULTI_BYTE", + "TO_NCHAR", "TO_NCLOB", "TO_NUMBER", + "TOPLEVEL", "TO_SINGLE_BYTE", "TO_TIMESTAMP", + "TO_TIMESTAMP_TZ", "TO_TIME", "TO_TIME_TZ", + "TO", "TO_YMINTERVAL", "TRACE", "TRACING", + "TRACKING", "TRAILING", "TRANSACTION", + "TRANSFORM_DISTINCT_AGG", "TRANSITIONAL", + "TRANSITION", "TRANSLATE", "TRANSLATION", + "TREAT", "TRIGGERS", "TRIGGER", "TRUE", + "TRUNCATE", "TRUNC", "TRUSTED", "TRUST", + "TUNING", "TX", "TYPES", "TYPE", "TZ_OFFSET", + "UB2", "UBA", "UCS2", "UID", "UNARCHIVED", + "UNBOUNDED", "UNBOUND", "UNCONDITIONAL", + "UNDER", "UNDO", "UNDROP", "UNIFORM", + "UNION", "UNIQUE", "UNISTR", "UNLIMITED", + "UNLOAD", "UNLOCK", "UNMATCHED", "UNNEST_INNERJ_DISTINCT_VIEW", + "UNNEST_NOSEMIJ_NODISTINCTVIEW", "UNNEST_SEMIJ_VIEW", + "UNNEST", "UNPACKED", "UNPIVOT", "UNPLUG", + "UNPROTECTED", "UNQUIESCE", "UNRECOVERABLE", + "UNRESTRICTED", "UNSUBSCRIBE", "UNTIL", + "UNUSABLE", "UNUSED", "UPDATABLE", "UPDATED", + "UPDATE", "UPDATEXML", "UPD_INDEXES", + "UPD_JOININDEX", "UPGRADE", "UPPER", + "UPSERT", "UROWID", "USABLE", "USAGE", + "USE_ANTI", "USE_CONCAT", "USE_CUBE", + "USE_HASH_AGGREGATION", "USE_HASH_GBY_FOR_PUSHDOWN", + "USE_HASH", "USE_HIDDEN_PARTITIONS", + "USE_INVISIBLE_INDEXES", "USE_MERGE_CARTESIAN", + "USE_MERGE", "USE_NL", "USE_NL_WITH_INDEX", + "USE_PRIVATE_OUTLINES", "USER_DATA", + "USER_DEFINED", "USERENV", "USERGROUP", + "USER_RECYCLEBIN", "USERS", "USER_TABLESPACES", + "USER", "USE_SEMI", "USE_STORED_OUTLINES", + "USE_TTT_FOR_GSETS", "USE", "USE_VECTOR_AGGREGATION", + "USE_WEAK_NAME_RESL", "USING_NO_EXPAND", + "USING", "UTF16BE", "UTF16LE", "UTF32", + "UTF8", "V1", "V2", "VALIDATE", "VALIDATION", + "VALID_TIME_END", "VALUES", "VALUE", + "VARCHAR2", "VARCHAR", "VARIABLE", "VAR_POP", + "VARRAYS", "VARRAY", "VAR_SAMP", "VARYING", + "VECTOR_READ_TRACE", "VECTOR_READ", "VECTOR_TRANSFORM_DIMS", + "VECTOR_TRANSFORM_FACT", "VECTOR_TRANSFORM", + "VERIFIER", "VERIFY", "VERSIONING", "VERSIONS_ENDSCN", + "VERSIONS_ENDTIME", "VERSIONS_OPERATION", + "VERSIONS_STARTSCN", "VERSIONS_STARTTIME", + "VERSIONS", "VERSIONS_XID", "VERSION", + "VIEW", "VIOLATION", "VIRTUAL", "VISIBILITY", + "VISIBLE", "VOLUME", "VSIZE", "WAIT", + "WALLET", "WARNING", "WEEKS", "WEEK", + "WELLFORMED", "WHENEVER", "WHEN", "WHERE", + "WHILE", "WHITESPACE", "WIDTH_BUCKET", + "WITHIN", "WITHOUT", "WITH_PLSQL", "WITH", + "WORK", "WRAPPED", "WRAPPER", "WRITE", + "XDB_FASTPATH_INSERT", "XDB", "X_DYN_PRUNE", + "XID", "XML2OBJECT", "XMLAGG", "XMLATTRIBUTES", + "XMLCAST", "XMLCDATA", "XMLCOLATTVAL", + "XMLCOMMENT", "XMLCONCAT", "XMLDIFF", + "XML_DML_RWT_STMT", "XMLELEMENT", "XMLEXISTS2", + "XMLEXISTS", "XMLFOREST", "XMLINDEX", + "XMLINDEX_REWRITE_IN_SELECT", "XMLINDEX_REWRITE", + "XMLINDEX_SEL_IDX_TBL", "XMLISNODE", + "XMLISVALID", "XMLNAMESPACES", "XMLPARSE", + "XMLPATCH", "XMLPI", "XMLQUERYVAL", "XMLQUERY", + "XMLROOT", "XMLSCHEMA", "XMLSERIALIZE", + "XMLTABLE", "XMLTRANSFORMBLOB", "XMLTRANSFORM", + "XMLTYPE", "XML", "XPATHTABLE", "XS_SYS_CONTEXT", + "XS", "XTRANSPORT", "YEARS", "YEAR", + "YES", "YMINTERVAL_UNCONSTRAINED", "ZONEMAP", + "ZONE", "PREDICTION", "PREDICTION_BOUNDS", + "PREDICTION_COST", "PREDICTION_DETAILS", + "PREDICTION_PROBABILITY", "PREDICTION_SET", + "CUME_DIST", "DENSE_RANK", "LISTAGG", + "PERCENT_RANK", "PERCENTILE_CONT", "PERCENTILE_DISC", + "RANK", "AVG", "CORR", "COVAR_", "DECODE", + "LAG", "LEAD", "MAX", "MEDIAN", "MIN", + "NTILE", "NVL", "RATIO_TO_REPORT", "REGR_", + "ROUND", "ROW_NUMBER", "SUBSTR", "TO_CHAR", + "TRIM", "SUM", "STDDEV", "VAR_", "VARIANCE", + "LEAST", "GREATEST", "TO_DATE", "NATIONAL_CHAR_STRING_LIT", + "BIT_STRING_LIT", "HEX_STRING_LIT", "DOUBLE_PERIOD", + "PERIOD", "UNSIGNED_INTEGER", "APPROXIMATE_NUM_LIT", + "CHAR_STRING", "CHAR_STRING_PERL", "QS_ANGLE", + "QS_BRACE", "QS_BRACK", "QS_PAREN", "QS_EXCLAM", + "QS_SHARP", "QS_QUOTE", "QS_DQUOTE", + "DELIMITED_ID", "PERCENT", "AMPERSAND", + "LEFT_PAREN", "RIGHT_PAREN", "DOUBLE_ASTERISK", + "ASTERISK", "PLUS_SIGN", "MINUS_SIGN", + "COMMA", "SOLIDUS", "AT_SIGN", "ASSIGN_OP", + "BINDVAR", "NOT_EQUAL_OP", "CARRET_OPERATOR_PART", + "TILDE_OPERATOR_PART", "EXCLAMATION_OPERATOR_PART", + "GREATER_THAN_OP", "LESS_THAN_OP", "COLON", + "SEMICOLON", "BAR", "EQUALS_OP", "LEFT_BRACKET", + "RIGHT_BRACKET", "INTRODUCER", "SINGLE_LINE_COMMENT", + "MULTI_LINE_COMMENT", "REMARK_COMMENT", + "PROMPT_MESSAGE", "START_CMD", "REGULAR_ID", + "SPACES", "NEWLINE_EOF", "QUESTION_MARK", + "SIMPLE_LETTER", "FLOAT_FRAGMENT", "NEWLINE", + "SPACE" ]; + +PlSqlLexer.prototype.grammarFileName = "PlSqlLexer.g4"; + +PlSqlLexer.prototype.sempred = function(localctx, ruleIndex, predIndex) { + switch (ruleIndex) { + case 2257: + return this.REMARK_COMMENT_sempred(localctx, predIndex); + case 2258: + return this.PROMPT_MESSAGE_sempred(localctx, predIndex); + case 2259: + return this.START_CMD_sempred(localctx, predIndex); + default: + throw "No registered predicate for:" + ruleIndex; + } +}; + +PlSqlLexer.prototype.REMARK_COMMENT_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 0: + return IsNewlineAtPos(-4); + default: + throw "No predicate with index:" + predIndex; + } +}; + +PlSqlLexer.prototype.PROMPT_MESSAGE_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 1: + return IsNewlineAtPos(-4); + default: + throw "No predicate with index:" + predIndex; + } +}; + +PlSqlLexer.prototype.START_CMD_sempred = function(localctx, predIndex) { + switch(predIndex) { + case 2: + return IsNewlineAtPos(-2); + default: + throw "No predicate with index:" + predIndex; + } +}; + + + +exports.PlSqlLexer = PlSqlLexer; + diff --git a/src/lib/plsql/PlSqlLexer.tokens b/src/lib/plsql/PlSqlLexer.tokens new file mode 100644 index 0000000..57e71c2 --- /dev/null +++ b/src/lib/plsql/PlSqlLexer.tokens @@ -0,0 +1,4484 @@ +ABORT=1 +ABS=2 +ACCESS=3 +ACCESSED=4 +ACCOUNT=5 +ACL=6 +ACOS=7 +ACTION=8 +ACTIONS=9 +ACTIVATE=10 +ACTIVE=11 +ACTIVE_COMPONENT=12 +ACTIVE_DATA=13 +ACTIVE_FUNCTION=14 +ACTIVE_TAG=15 +ACTIVITY=16 +ADAPTIVE_PLAN=17 +ADD=18 +ADD_COLUMN=19 +ADD_GROUP=20 +ADD_MONTHS=21 +ADJ_DATE=22 +ADMIN=23 +ADMINISTER=24 +ADMINISTRATOR=25 +ADVANCED=26 +ADVISE=27 +ADVISOR=28 +AFD_DISKSTRING=29 +AFTER=30 +AGENT=31 +AGGREGATE=32 +A_LETTER=33 +ALIAS=34 +ALL=35 +ALLOCATE=36 +ALLOW=37 +ALL_ROWS=38 +ALTER=39 +ALWAYS=40 +ANALYZE=41 +ANCILLARY=42 +AND=43 +AND_EQUAL=44 +ANOMALY=45 +ANSI_REARCH=46 +ANTIJOIN=47 +ANY=48 +ANYSCHEMA=49 +APPEND=50 +APPENDCHILDXML=51 +APPEND_VALUES=52 +APPLICATION=53 +APPLY=54 +APPROX_COUNT_DISTINCT=55 +ARCHIVAL=56 +ARCHIVE=57 +ARCHIVED=58 +ARCHIVELOG=59 +ARRAY=60 +AS=61 +ASC=62 +ASCII=63 +ASCIISTR=64 +ASIN=65 +ASIS=66 +ASSEMBLY=67 +ASSIGN=68 +ASSOCIATE=69 +ASYNC=70 +ASYNCHRONOUS=71 +ATAN2=72 +ATAN=73 +AT=74 +ATTRIBUTE=75 +ATTRIBUTES=76 +AUDIT=77 +AUTHENTICATED=78 +AUTHENTICATION=79 +AUTHID=80 +AUTHORIZATION=81 +AUTOALLOCATE=82 +AUTO=83 +AUTOBACKUP=84 +AUTOEXTEND=85 +AUTO_LOGIN=86 +AUTOMATIC=87 +AUTONOMOUS_TRANSACTION=88 +AUTO_REOPTIMIZE=89 +AVAILABILITY=90 +AVRO=91 +BACKGROUND=92 +BACKUP=93 +BACKUPSET=94 +BASIC=95 +BASICFILE=96 +BATCH=97 +BATCHSIZE=98 +BATCH_TABLE_ACCESS_BY_ROWID=99 +BECOME=100 +BEFORE=101 +BEGIN=102 +BEGINNING=103 +BEGIN_OUTLINE_DATA=104 +BEHALF=105 +BEQUEATH=106 +BETWEEN=107 +BFILE=108 +BFILENAME=109 +BIGFILE=110 +BINARY=111 +BINARY_DOUBLE=112 +BINARY_DOUBLE_INFINITY=113 +BINARY_DOUBLE_NAN=114 +BINARY_FLOAT=115 +BINARY_FLOAT_INFINITY=116 +BINARY_FLOAT_NAN=117 +BINARY_INTEGER=118 +BIND_AWARE=119 +BINDING=120 +BIN_TO_NUM=121 +BITAND=122 +BITMAP_AND=123 +BITMAP=124 +BITMAPS=125 +BITMAP_TREE=126 +BITS=127 +BLOB=128 +BLOCK=129 +BLOCK_RANGE=130 +BLOCKS=131 +BLOCKSIZE=132 +BODY=133 +BOOLEAN=134 +BOTH=135 +BOUND=136 +BRANCH=137 +BREADTH=138 +BROADCAST=139 +BSON=140 +BUFFER=141 +BUFFER_CACHE=142 +BUFFER_POOL=143 +BUILD=144 +BULK=145 +BY=146 +BYPASS_RECURSIVE_CHECK=147 +BYPASS_UJVC=148 +BYTE=149 +CACHE=150 +CACHE_CB=151 +CACHE_INSTANCES=152 +CACHE_TEMP_TABLE=153 +CACHING=154 +CALCULATED=155 +CALLBACK=156 +CALL=157 +CANCEL=158 +CANONICAL=159 +CAPACITY=160 +CARDINALITY=161 +CASCADE=162 +CASE=163 +CAST=164 +CATEGORY=165 +CDBDEFAULT=166 +CEIL=167 +CELL_FLASH_CACHE=168 +CERTIFICATE=169 +CFILE=170 +CHAINED=171 +CHANGE=172 +CHANGETRACKING=173 +CHANGE_DUPKEY_ERROR_INDEX=174 +CHARACTER=175 +CHAR=176 +CHAR_CS=177 +CHARTOROWID=178 +CHECK_ACL_REWRITE=179 +CHECK=180 +CHECKPOINT=181 +CHILD=182 +CHOOSE=183 +CHR=184 +CHUNK=185 +CLASS=186 +CLASSIFIER=187 +CLEANUP=188 +CLEAR=189 +C_LETTER=190 +CLIENT=191 +CLOB=192 +CLONE=193 +CLOSE_CACHED_OPEN_CURSORS=194 +CLOSE=195 +CLUSTER_BY_ROWID=196 +CLUSTER=197 +CLUSTER_DETAILS=198 +CLUSTER_DISTANCE=199 +CLUSTER_ID=200 +CLUSTERING=201 +CLUSTERING_FACTOR=202 +CLUSTER_PROBABILITY=203 +CLUSTER_SET=204 +COALESCE=205 +COALESCE_SQ=206 +COARSE=207 +CO_AUTH_IND=208 +COLD=209 +COLLECT=210 +COLUMNAR=211 +COLUMN_AUTH_INDICATOR=212 +COLUMN=213 +COLUMNS=214 +COLUMN_STATS=215 +COLUMN_VALUE=216 +COMMENT=217 +COMMIT=218 +COMMITTED=219 +COMMON_DATA=220 +COMPACT=221 +COMPATIBILITY=222 +COMPILE=223 +COMPLETE=224 +COMPLIANCE=225 +COMPONENT=226 +COMPONENTS=227 +COMPOSE=228 +COMPOSITE=229 +COMPOSITE_LIMIT=230 +COMPOUND=231 +COMPRESS=232 +COMPUTE=233 +CONCAT=234 +CON_DBID_TO_ID=235 +CONDITIONAL=236 +CONDITION=237 +CONFIRM=238 +CONFORMING=239 +CON_GUID_TO_ID=240 +CON_ID=241 +CON_NAME_TO_ID=242 +CONNECT_BY_CB_WHR_ONLY=243 +CONNECT_BY_COMBINE_SW=244 +CONNECT_BY_COST_BASED=245 +CONNECT_BY_ELIM_DUPS=246 +CONNECT_BY_FILTERING=247 +CONNECT_BY_ISCYCLE=248 +CONNECT_BY_ISLEAF=249 +CONNECT_BY_ROOT=250 +CONNECT=251 +CONNECT_TIME=252 +CONSIDER=253 +CONSISTENT=254 +CONSTANT=255 +CONST=256 +CONSTRAINT=257 +CONSTRAINTS=258 +CONSTRUCTOR=259 +CONTAINER=260 +CONTAINER_DATA=261 +CONTAINERS=262 +CONTENT=263 +CONTENTS=264 +CONTEXT=265 +CONTINUE=266 +CONTROLFILE=267 +CON_UID_TO_ID=268 +CONVERT=269 +COOKIE=270 +COPY=271 +CORR_K=272 +CORR_S=273 +CORRUPTION=274 +CORRUPT_XID_ALL=275 +CORRUPT_XID=276 +COS=277 +COSH=278 +COST=279 +COST_XML_QUERY_REWRITE=280 +COUNT=281 +COVAR_POP=282 +COVAR_SAMP=283 +CPU_COSTING=284 +CPU_PER_CALL=285 +CPU_PER_SESSION=286 +CRASH=287 +CREATE=288 +CREATE_FILE_DEST=289 +CREATE_STORED_OUTLINES=290 +CREATION=291 +CREDENTIAL=292 +CRITICAL=293 +CROSS=294 +CROSSEDITION=295 +CSCONVERT=296 +CUBE_AJ=297 +CUBE=298 +CUBE_GB=299 +CUBE_SJ=300 +CUME_DISTM=301 +CURRENT=302 +CURRENT_DATE=303 +CURRENT_SCHEMA=304 +CURRENT_TIME=305 +CURRENT_TIMESTAMP=306 +CURRENT_USER=307 +CURRENTV=308 +CURSOR=309 +CURSOR_SHARING_EXACT=310 +CURSOR_SPECIFIC_SEGMENT=311 +CUSTOMDATUM=312 +CV=313 +CYCLE=314 +DANGLING=315 +DATABASE=316 +DATA=317 +DATAFILE=318 +DATAFILES=319 +DATAGUARDCONFIG=320 +DATAMOVEMENT=321 +DATAOBJNO=322 +DATAOBJ_TO_MAT_PARTITION=323 +DATAOBJ_TO_PARTITION=324 +DATAPUMP=325 +DATA_SECURITY_REWRITE_LIMIT=326 +DATE=327 +DATE_MODE=328 +DAY=329 +DAYS=330 +DBA=331 +DBA_RECYCLEBIN=332 +DBMS_STATS=333 +DB_ROLE_CHANGE=334 +DBTIMEZONE=335 +DB_UNIQUE_NAME=336 +DB_VERSION=337 +DDL=338 +DEALLOCATE=339 +DEBUG=340 +DEBUGGER=341 +DEC=342 +DECIMAL=343 +DECLARE=344 +DECOMPOSE=345 +DECORRELATE=346 +DECR=347 +DECREMENT=348 +DECRYPT=349 +DEDUPLICATE=350 +DEFAULT=351 +DEFAULTS=352 +DEFERRABLE=353 +DEFERRED=354 +DEFINED=355 +DEFINE=356 +DEFINER=357 +DEGREE=358 +DELAY=359 +DELEGATE=360 +DELETE_ALL=361 +DELETE=362 +DELETEXML=363 +DEMAND=364 +DENSE_RANKM=365 +DEPENDENT=366 +DEPTH=367 +DEQUEUE=368 +DEREF=369 +DEREF_NO_REWRITE=370 +DESC=371 +DESTROY=372 +DETACHED=373 +DETERMINES=374 +DETERMINISTIC=375 +DICTIONARY=376 +DIMENSION=377 +DIMENSIONS=378 +DIRECT_LOAD=379 +DIRECTORY=380 +DIRECT_PATH=381 +DISABLE_ALL=382 +DISABLE=383 +DISABLE_PARALLEL_DML=384 +DISABLE_PRESET=385 +DISABLE_RPKE=386 +DISALLOW=387 +DISASSOCIATE=388 +DISCARD=389 +DISCONNECT=390 +DISK=391 +DISKGROUP=392 +DISKGROUP_PLUS=393 +DISKS=394 +DISMOUNT=395 +DISTINCT=396 +DISTINGUISHED=397 +DISTRIBUTED=398 +DISTRIBUTE=399 +DML=400 +DML_UPDATE=401 +DOCFIDELITY=402 +DOCUMENT=403 +DOMAIN_INDEX_FILTER=404 +DOMAIN_INDEX_NO_SORT=405 +DOMAIN_INDEX_SORT=406 +DOUBLE=407 +DOWNGRADE=408 +DRIVING_SITE=409 +DROP_COLUMN=410 +DROP=411 +DROP_GROUP=412 +DSINTERVAL_UNCONSTRAINED=413 +DST_UPGRADE_INSERT_CONV=414 +DUMP=415 +DUMPSET=416 +DUPLICATE=417 +DV=418 +DYNAMIC=419 +DYNAMIC_SAMPLING=420 +DYNAMIC_SAMPLING_EST_CDN=421 +EACH=422 +EDITIONABLE=423 +EDITION=424 +EDITIONING=425 +EDITIONS=426 +ELEMENT=427 +ELIM_GROUPBY=428 +ELIMINATE_JOIN=429 +ELIMINATE_OBY=430 +ELIMINATE_OUTER_JOIN=431 +ELSE=432 +ELSIF=433 +EM=434 +EMPTY_BLOB=435 +EMPTY_CLOB=436 +EMPTY=437 +ENABLE_ALL=438 +ENABLE=439 +ENABLE_PARALLEL_DML=440 +ENABLE_PRESET=441 +ENCODING=442 +ENCRYPT=443 +ENCRYPTION=444 +END=445 +END_OUTLINE_DATA=446 +ENFORCED=447 +ENFORCE=448 +ENQUEUE=449 +ENTERPRISE=450 +ENTITYESCAPING=451 +ENTRY=452 +EQUIPART=453 +ERR=454 +ERROR_ARGUMENT=455 +ERROR=456 +ERROR_ON_OVERLAP_TIME=457 +ERRORS=458 +ESCAPE=459 +ESTIMATE=460 +EVAL=461 +EVALNAME=462 +EVALUATE=463 +EVALUATION=464 +EVENTS=465 +EVERY=466 +EXCEPT=467 +EXCEPTION=468 +EXCEPTION_INIT=469 +EXCEPTIONS=470 +EXCHANGE=471 +EXCLUDE=472 +EXCLUDING=473 +EXCLUSIVE=474 +EXECUTE=475 +EXEMPT=476 +EXISTING=477 +EXISTS=478 +EXISTSNODE=479 +EXIT=480 +EXPAND_GSET_TO_UNION=481 +EXPAND_TABLE=482 +EXP=483 +EXPIRE=484 +EXPLAIN=485 +EXPLOSION=486 +EXPORT=487 +EXPR_CORR_CHECK=488 +EXPRESS=489 +EXTENDS=490 +EXTENT=491 +EXTENTS=492 +EXTERNAL=493 +EXTERNALLY=494 +EXTRACTCLOBXML=495 +EXTRACT=496 +EXTRACTVALUE=497 +EXTRA=498 +FACILITY=499 +FACT=500 +FACTOR=501 +FACTORIZE_JOIN=502 +FAILED=503 +FAILED_LOGIN_ATTEMPTS=504 +FAILGROUP=505 +FAILOVER=506 +FAILURE=507 +FALSE=508 +FAMILY=509 +FAR=510 +FAST=511 +FASTSTART=512 +FBTSCAN=513 +FEATURE_DETAILS=514 +FEATURE_ID=515 +FEATURE_SET=516 +FEATURE_VALUE=517 +FETCH=518 +FILE=519 +FILE_NAME_CONVERT=520 +FILESYSTEM_LIKE_LOGGING=521 +FILTER=522 +FINAL=523 +FINE=524 +FINISH=525 +FIRST=526 +FIRSTM=527 +FIRST_ROWS=528 +FIRST_VALUE=529 +FIXED_VIEW_DATA=530 +FLAGGER=531 +FLASHBACK=532 +FLASH_CACHE=533 +FLOAT=534 +FLOB=535 +FLOOR=536 +FLUSH=537 +FOLDER=538 +FOLLOWING=539 +FOLLOWS=540 +FORALL=541 +FORCE=542 +FORCE_XML_QUERY_REWRITE=543 +FOREIGN=544 +FOREVER=545 +FOR=546 +FORMAT=547 +FORWARD=548 +FRAGMENT_NUMBER=549 +FREELIST=550 +FREELISTS=551 +FREEPOOLS=552 +FRESH=553 +FROM=554 +FROM_TZ=555 +FULL=556 +FULL_OUTER_JOIN_TO_OUTER=557 +FUNCTION=558 +FUNCTIONS=559 +GATHER_OPTIMIZER_STATISTICS=560 +GATHER_PLAN_STATISTICS=561 +GBY_CONC_ROLLUP=562 +GBY_PUSHDOWN=563 +GENERATED=564 +GET=565 +GLOBAL=566 +GLOBALLY=567 +GLOBAL_NAME=568 +GLOBAL_TOPIC_ENABLED=569 +GOTO=570 +GRANT=571 +GROUP_BY=572 +GROUP=573 +GROUP_ID=574 +GROUPING=575 +GROUPING_ID=576 +GROUPS=577 +GUARANTEED=578 +GUARANTEE=579 +GUARD=580 +HASH_AJ=581 +HASH=582 +HASHKEYS=583 +HASH_SJ=584 +HAVING=585 +HEADER=586 +HEAP=587 +HELP=588 +HEXTORAW=589 +HEXTOREF=590 +HIDDEN_KEYWORD=591 +HIDE=592 +HIERARCHY=593 +HIGH=594 +HINTSET_BEGIN=595 +HINTSET_END=596 +HOT=597 +HOUR=598 +HWM_BROKERED=599 +HYBRID=600 +IDENTIFIED=601 +IDENTIFIER=602 +IDENTITY=603 +IDGENERATORS=604 +ID=605 +IDLE_TIME=606 +IF=607 +IGNORE=608 +IGNORE_OPTIM_EMBEDDED_HINTS=609 +IGNORE_ROW_ON_DUPKEY_INDEX=610 +IGNORE_WHERE_CLAUSE=611 +ILM=612 +IMMEDIATE=613 +IMPACT=614 +IMPORT=615 +INACTIVE=616 +INCLUDE=617 +INCLUDE_VERSION=618 +INCLUDING=619 +INCREMENTAL=620 +INCREMENT=621 +INCR=622 +INDENT=623 +INDEX_ASC=624 +INDEX_COMBINE=625 +INDEX_DESC=626 +INDEXED=627 +INDEXES=628 +INDEX_FFS=629 +INDEX_FILTER=630 +INDEX=631 +INDEXING=632 +INDEX_JOIN=633 +INDEX_ROWS=634 +INDEX_RRS=635 +INDEX_RS_ASC=636 +INDEX_RS_DESC=637 +INDEX_RS=638 +INDEX_SCAN=639 +INDEX_SKIP_SCAN=640 +INDEX_SS_ASC=641 +INDEX_SS_DESC=642 +INDEX_SS=643 +INDEX_STATS=644 +INDEXTYPE=645 +INDEXTYPES=646 +INDICATOR=647 +INDICES=648 +INFINITE=649 +INFORMATIONAL=650 +INHERIT=651 +IN=652 +INITCAP=653 +INITIAL=654 +INITIALIZED=655 +INITIALLY=656 +INITRANS=657 +INLINE=658 +INLINE_XMLTYPE_NT=659 +INMEMORY=660 +IN_MEMORY_METADATA=661 +INMEMORY_PRUNING=662 +INNER=663 +INOUT=664 +INPLACE=665 +INSERTCHILDXMLAFTER=666 +INSERTCHILDXMLBEFORE=667 +INSERTCHILDXML=668 +INSERT=669 +INSERTXMLAFTER=670 +INSERTXMLBEFORE=671 +INSTANCE=672 +INSTANCES=673 +INSTANTIABLE=674 +INSTANTLY=675 +INSTEAD=676 +INSTR2=677 +INSTR4=678 +INSTRB=679 +INSTRC=680 +INSTR=681 +INTEGER=682 +INTERLEAVED=683 +INTERMEDIATE=684 +INTERNAL_CONVERT=685 +INTERNAL_USE=686 +INTERPRETED=687 +INTERSECT=688 +INTERVAL=689 +INT=690 +INTO=691 +INVALIDATE=692 +INVISIBLE=693 +IN_XQUERY=694 +IS=695 +ISOLATION=696 +ISOLATION_LEVEL=697 +ITERATE=698 +ITERATION_NUMBER=699 +JAVA=700 +JOB=701 +JOIN=702 +JSON_ARRAYAGG=703 +JSON_ARRAY=704 +JSON_EQUAL=705 +JSON_EXISTS2=706 +JSON_EXISTS=707 +JSONGET=708 +JSON=709 +JSON_OBJECTAGG=710 +JSON_OBJECT=711 +JSONPARSE=712 +JSON_QUERY=713 +JSON_SERIALIZE=714 +JSON_TABLE=715 +JSON_TEXTCONTAINS2=716 +JSON_TEXTCONTAINS=717 +JSON_VALUE=718 +KEEP_DUPLICATES=719 +KEEP=720 +KERBEROS=721 +KEY=722 +KEY_LENGTH=723 +KEYSIZE=724 +KEYS=725 +KEYSTORE=726 +KILL=727 +LABEL=728 +LANGUAGE=729 +LAST_DAY=730 +LAST=731 +LAST_VALUE=732 +LATERAL=733 +LAX=734 +LAYER=735 +LDAP_REGISTRATION_ENABLED=736 +LDAP_REGISTRATION=737 +LDAP_REG_SYNC_INTERVAL=738 +LEADING=739 +LEFT=740 +LENGTH2=741 +LENGTH4=742 +LENGTHB=743 +LENGTHC=744 +LENGTH=745 +LESS=746 +LEVEL=747 +LEVELS=748 +LIBRARY=749 +LIFECYCLE=750 +LIFE=751 +LIFETIME=752 +LIKE2=753 +LIKE4=754 +LIKEC=755 +LIKE_EXPAND=756 +LIKE=757 +LIMIT=758 +LINEAR=759 +LINK=760 +LIST=761 +LN=762 +LNNVL=763 +LOAD=764 +LOB=765 +LOBNVL=766 +LOBS=767 +LOCAL_INDEXES=768 +LOCAL=769 +LOCALTIME=770 +LOCALTIMESTAMP=771 +LOCATION=772 +LOCATOR=773 +LOCKED=774 +LOCKING=775 +LOCK=776 +LOGFILE=777 +LOGFILES=778 +LOGGING=779 +LOGICAL=780 +LOGICAL_READS_PER_CALL=781 +LOGICAL_READS_PER_SESSION=782 +LOG=783 +LOGMINING=784 +LOGOFF=785 +LOGON=786 +LOG_READ_ONLY_VIOLATIONS=787 +LONG=788 +LOOP=789 +LOWER=790 +LOW=791 +LPAD=792 +LTRIM=793 +MAIN=794 +MAKE_REF=795 +MANAGED=796 +MANAGE=797 +MANAGEMENT=798 +MANAGER=799 +MANUAL=800 +MAP=801 +MAPPING=802 +MASTER=803 +MATCHED=804 +MATCHES=805 +MATCH=806 +MATCH_NUMBER=807 +MATCH_RECOGNIZE=808 +MATERIALIZED=809 +MATERIALIZE=810 +MAXARCHLOGS=811 +MAXDATAFILES=812 +MAXEXTENTS=813 +MAXIMIZE=814 +MAXINSTANCES=815 +MAXLOGFILES=816 +MAXLOGHISTORY=817 +MAXLOGMEMBERS=818 +MAX_SHARED_TEMP_SIZE=819 +MAXSIZE=820 +MAXTRANS=821 +MAXVALUE=822 +MEASURE=823 +MEASURES=824 +MEDIUM=825 +MEMBER=826 +MEMCOMPRESS=827 +MEMORY=828 +MERGEACTIONS=829 +MERGE_AJ=830 +MERGE_CONST_ON=831 +MERGE=832 +MERGE_SJ=833 +METADATA=834 +METHOD=835 +MIGRATE=836 +MIGRATION=837 +MINEXTENTS=838 +MINIMIZE=839 +MINIMUM=840 +MINING=841 +MINUS=842 +MINUS_NULL=843 +MINUTE=844 +MINVALUE=845 +MIRRORCOLD=846 +MIRRORHOT=847 +MIRROR=848 +MLSLABEL=849 +MODEL_COMPILE_SUBQUERY=850 +MODEL_DONTVERIFY_UNIQUENESS=851 +MODEL_DYNAMIC_SUBQUERY=852 +MODEL_MIN_ANALYSIS=853 +MODEL=854 +MODEL_NB=855 +MODEL_NO_ANALYSIS=856 +MODEL_PBY=857 +MODEL_PUSH_REF=858 +MODEL_SV=859 +MODE=860 +MODIFICATION=861 +MODIFY_COLUMN_TYPE=862 +MODIFY=863 +MOD=864 +MODULE=865 +MONITORING=866 +MONITOR=867 +MONTH=868 +MONTHS_BETWEEN=869 +MONTHS=870 +MOUNT=871 +MOUNTPATH=872 +MOVEMENT=873 +MOVE=874 +MULTIDIMENSIONAL=875 +MULTISET=876 +MV_MERGE=877 +NAMED=878 +NAME=879 +NAMESPACE=880 +NAN=881 +NANVL=882 +NATIONAL=883 +NATIVE_FULL_OUTER_JOIN=884 +NATIVE=885 +NATURAL=886 +NATURALN=887 +NAV=888 +NCHAR_CS=889 +NCHAR=890 +NCHR=891 +NCLOB=892 +NEEDED=893 +NEG=894 +NESTED=895 +NESTED_TABLE_FAST_INSERT=896 +NESTED_TABLE_GET_REFS=897 +NESTED_TABLE_ID=898 +NESTED_TABLE_SET_REFS=899 +NESTED_TABLE_SET_SETID=900 +NETWORK=901 +NEVER=902 +NEW=903 +NEW_TIME=904 +NEXT_DAY=905 +NEXT=906 +NL_AJ=907 +NLJ_BATCHING=908 +NLJ_INDEX_FILTER=909 +NLJ_INDEX_SCAN=910 +NLJ_PREFETCH=911 +NLS_CALENDAR=912 +NLS_CHARACTERSET=913 +NLS_CHARSET_DECL_LEN=914 +NLS_CHARSET_ID=915 +NLS_CHARSET_NAME=916 +NLS_COMP=917 +NLS_CURRENCY=918 +NLS_DATE_FORMAT=919 +NLS_DATE_LANGUAGE=920 +NLS_INITCAP=921 +NLS_ISO_CURRENCY=922 +NL_SJ=923 +NLS_LANG=924 +NLS_LANGUAGE=925 +NLS_LENGTH_SEMANTICS=926 +NLS_LOWER=927 +NLS_NCHAR_CONV_EXCP=928 +NLS_NUMERIC_CHARACTERS=929 +NLS_SORT=930 +NLSSORT=931 +NLS_SPECIAL_CHARS=932 +NLS_TERRITORY=933 +NLS_UPPER=934 +NO_ACCESS=935 +NO_ADAPTIVE_PLAN=936 +NO_ANSI_REARCH=937 +NOAPPEND=938 +NOARCHIVELOG=939 +NOAUDIT=940 +NO_AUTO_REOPTIMIZE=941 +NO_BASETABLE_MULTIMV_REWRITE=942 +NO_BATCH_TABLE_ACCESS_BY_ROWID=943 +NO_BIND_AWARE=944 +NO_BUFFER=945 +NOCACHE=946 +NO_CARTESIAN=947 +NO_CHECK_ACL_REWRITE=948 +NO_CLUSTER_BY_ROWID=949 +NO_CLUSTERING=950 +NO_COALESCE_SQ=951 +NO_COMMON_DATA=952 +NOCOMPRESS=953 +NO_CONNECT_BY_CB_WHR_ONLY=954 +NO_CONNECT_BY_COMBINE_SW=955 +NO_CONNECT_BY_COST_BASED=956 +NO_CONNECT_BY_ELIM_DUPS=957 +NO_CONNECT_BY_FILTERING=958 +NOCOPY=959 +NO_COST_XML_QUERY_REWRITE=960 +NO_CPU_COSTING=961 +NOCPU_COSTING=962 +NOCYCLE=963 +NO_DATA_SECURITY_REWRITE=964 +NO_DECORRELATE=965 +NODELAY=966 +NO_DOMAIN_INDEX_FILTER=967 +NO_DST_UPGRADE_INSERT_CONV=968 +NO_ELIM_GROUPBY=969 +NO_ELIMINATE_JOIN=970 +NO_ELIMINATE_OBY=971 +NO_ELIMINATE_OUTER_JOIN=972 +NOENTITYESCAPING=973 +NO_EXPAND_GSET_TO_UNION=974 +NO_EXPAND=975 +NO_EXPAND_TABLE=976 +NO_FACT=977 +NO_FACTORIZE_JOIN=978 +NO_FILTERING=979 +NOFORCE=980 +NO_FULL_OUTER_JOIN_TO_OUTER=981 +NO_GATHER_OPTIMIZER_STATISTICS=982 +NO_GBY_PUSHDOWN=983 +NOGUARANTEE=984 +NO_INDEX_FFS=985 +NO_INDEX=986 +NO_INDEX_SS=987 +NO_INMEMORY=988 +NO_INMEMORY_PRUNING=989 +NOKEEP=990 +NO_LOAD=991 +NOLOCAL=992 +NOLOGGING=993 +NOMAPPING=994 +NOMAXVALUE=995 +NO_MERGE=996 +NOMINIMIZE=997 +NOMINVALUE=998 +NO_MODEL_PUSH_REF=999 +NO_MONITORING=1000 +NOMONITORING=1001 +NO_MONITOR=1002 +NO_MULTIMV_REWRITE=1003 +NO_NATIVE_FULL_OUTER_JOIN=1004 +NONBLOCKING=1005 +NONEDITIONABLE=1006 +NONE=1007 +NO_NLJ_BATCHING=1008 +NO_NLJ_PREFETCH=1009 +NO=1010 +NONSCHEMA=1011 +NO_OBJECT_LINK=1012 +NOORDER=1013 +NO_ORDER_ROLLUPS=1014 +NO_OUTER_JOIN_TO_ANTI=1015 +NO_OUTER_JOIN_TO_INNER=1016 +NOOVERRIDE=1017 +NO_PARALLEL_INDEX=1018 +NOPARALLEL_INDEX=1019 +NO_PARALLEL=1020 +NOPARALLEL=1021 +NO_PARTIAL_COMMIT=1022 +NO_PARTIAL_JOIN=1023 +NO_PARTIAL_ROLLUP_PUSHDOWN=1024 +NOPARTITION=1025 +NO_PLACE_DISTINCT=1026 +NO_PLACE_GROUP_BY=1027 +NO_PQ_CONCURRENT_UNION=1028 +NO_PQ_MAP=1029 +NO_PQ_REPLICATE=1030 +NO_PQ_SKEW=1031 +NO_PRUNE_GSETS=1032 +NO_PULL_PRED=1033 +NO_PUSH_PRED=1034 +NO_PUSH_SUBQ=1035 +NO_PX_FAULT_TOLERANCE=1036 +NO_PX_JOIN_FILTER=1037 +NO_QKN_BUFF=1038 +NO_QUERY_TRANSFORMATION=1039 +NO_REF_CASCADE=1040 +NORELOCATE=1041 +NORELY=1042 +NOREPAIR=1043 +NOREPLAY=1044 +NORESETLOGS=1045 +NO_RESULT_CACHE=1046 +NOREVERSE=1047 +NO_REWRITE=1048 +NOREWRITE=1049 +NORMAL=1050 +NO_ROOT_SW_FOR_LOCAL=1051 +NOROWDEPENDENCIES=1052 +NOSCHEMACHECK=1053 +NOSEGMENT=1054 +NO_SEMIJOIN=1055 +NO_SEMI_TO_INNER=1056 +NO_SET_TO_JOIN=1057 +NOSORT=1058 +NO_SQL_TRANSLATION=1059 +NO_SQL_TUNE=1060 +NO_STAR_TRANSFORMATION=1061 +NO_STATEMENT_QUEUING=1062 +NO_STATS_GSETS=1063 +NOSTRICT=1064 +NO_SUBQUERY_PRUNING=1065 +NO_SUBSTRB_PAD=1066 +NO_SWAP_JOIN_INPUTS=1067 +NOSWITCH=1068 +NO_TABLE_LOOKUP_BY_NL=1069 +NO_TEMP_TABLE=1070 +NOTHING=1071 +NOTIFICATION=1072 +NOT=1073 +NO_TRANSFORM_DISTINCT_AGG=1074 +NO_UNNEST=1075 +NO_USE_CUBE=1076 +NO_USE_HASH_AGGREGATION=1077 +NO_USE_HASH_GBY_FOR_PUSHDOWN=1078 +NO_USE_HASH=1079 +NO_USE_INVISIBLE_INDEXES=1080 +NO_USE_MERGE=1081 +NO_USE_NL=1082 +NO_USE_VECTOR_AGGREGATION=1083 +NOVALIDATE=1084 +NO_VECTOR_TRANSFORM_DIMS=1085 +NO_VECTOR_TRANSFORM_FACT=1086 +NO_VECTOR_TRANSFORM=1087 +NOWAIT=1088 +NO_XDB_FASTPATH_INSERT=1089 +NO_XML_DML_REWRITE=1090 +NO_XMLINDEX_REWRITE_IN_SELECT=1091 +NO_XMLINDEX_REWRITE=1092 +NO_XML_QUERY_REWRITE=1093 +NO_ZONEMAP=1094 +NTH_VALUE=1095 +NULLIF=1096 +NULL_=1097 +NULLS=1098 +NUMBER=1099 +NUMERIC=1100 +NUM_INDEX_KEYS=1101 +NUMTODSINTERVAL=1102 +NUMTOYMINTERVAL=1103 +NVARCHAR2=1104 +NVL2=1105 +OBJECT2XML=1106 +OBJECT=1107 +OBJ_ID=1108 +OBJNO=1109 +OBJNO_REUSE=1110 +OCCURENCES=1111 +OFFLINE=1112 +OFF=1113 +OFFSET=1114 +OF=1115 +OIDINDEX=1116 +OID=1117 +OLAP=1118 +OLD=1119 +OLD_PUSH_PRED=1120 +OLS=1121 +OLTP=1122 +OMIT=1123 +ONE=1124 +ONLINE=1125 +ONLINELOG=1126 +ONLY=1127 +ON=1128 +OPAQUE=1129 +OPAQUE_TRANSFORM=1130 +OPAQUE_XCANONICAL=1131 +OPCODE=1132 +OPEN=1133 +OPERATIONS=1134 +OPERATOR=1135 +OPT_ESTIMATE=1136 +OPTIMAL=1137 +OPTIMIZE=1138 +OPTIMIZER_FEATURES_ENABLE=1139 +OPTIMIZER_GOAL=1140 +OPTION=1141 +OPT_PARAM=1142 +ORA_BRANCH=1143 +ORA_CHECK_ACL=1144 +ORA_CHECK_PRIVILEGE=1145 +ORA_CLUSTERING=1146 +ORADATA=1147 +ORADEBUG=1148 +ORA_DST_AFFECTED=1149 +ORA_DST_CONVERT=1150 +ORA_DST_ERROR=1151 +ORA_GET_ACLIDS=1152 +ORA_GET_PRIVILEGES=1153 +ORA_HASH=1154 +ORA_INVOKING_USERID=1155 +ORA_INVOKING_USER=1156 +ORA_INVOKING_XS_USER_GUID=1157 +ORA_INVOKING_XS_USER=1158 +ORA_RAWCOMPARE=1159 +ORA_RAWCONCAT=1160 +ORA_ROWSCN=1161 +ORA_ROWSCN_RAW=1162 +ORA_ROWVERSION=1163 +ORA_TABVERSION=1164 +ORA_WRITE_TIME=1165 +ORDERED=1166 +ORDERED_PREDICATES=1167 +ORDER=1168 +ORDINALITY=1169 +OR_EXPAND=1170 +ORGANIZATION=1171 +OR=1172 +OR_PREDICATES=1173 +OSERROR=1174 +OTHER=1175 +OUTER_JOIN_TO_ANTI=1176 +OUTER_JOIN_TO_INNER=1177 +OUTER=1178 +OUTLINE_LEAF=1179 +OUTLINE=1180 +OUT_OF_LINE=1181 +OUT=1182 +OVERFLOW_NOMOVE=1183 +OVERFLOW=1184 +OVERLAPS=1185 +OVER=1186 +OVERRIDING=1187 +OWNER=1188 +OWNERSHIP=1189 +OWN=1190 +PACKAGE=1191 +PACKAGES=1192 +PARALLEL_ENABLE=1193 +PARALLEL_INDEX=1194 +PARALLEL=1195 +PARAMETERFILE=1196 +PARAMETERS=1197 +PARAM=1198 +PARENT=1199 +PARITY=1200 +PARTIAL_JOIN=1201 +PARTIALLY=1202 +PARTIAL=1203 +PARTIAL_ROLLUP_PUSHDOWN=1204 +PARTITION_HASH=1205 +PARTITION_LIST=1206 +PARTITION=1207 +PARTITION_RANGE=1208 +PARTITIONS=1209 +PARTNUMINST=1210 +PASSING=1211 +PASSWORD_GRACE_TIME=1212 +PASSWORD_LIFE_TIME=1213 +PASSWORD_LOCK_TIME=1214 +PASSWORD=1215 +PASSWORD_REUSE_MAX=1216 +PASSWORD_REUSE_TIME=1217 +PASSWORD_VERIFY_FUNCTION=1218 +PAST=1219 +PATCH=1220 +PATH=1221 +PATH_PREFIX=1222 +PATHS=1223 +PATTERN=1224 +PBL_HS_BEGIN=1225 +PBL_HS_END=1226 +PCTFREE=1227 +PCTINCREASE=1228 +PCTTHRESHOLD=1229 +PCTUSED=1230 +PCTVERSION=1231 +PENDING=1232 +PERCENT_FOUND=1233 +PERCENT_ISOPEN=1234 +PERCENT_NOTFOUND=1235 +PERCENT_KEYWORD=1236 +PERCENT_RANKM=1237 +PERCENT_ROWCOUNT=1238 +PERCENT_ROWTYPE=1239 +PERCENT_TYPE=1240 +PERFORMANCE=1241 +PERIOD_KEYWORD=1242 +PERMANENT=1243 +PERMISSION=1244 +PERMUTE=1245 +PER=1246 +PFILE=1247 +PHYSICAL=1248 +PIKEY=1249 +PIPELINED=1250 +PIPE=1251 +PIV_GB=1252 +PIVOT=1253 +PIV_SSF=1254 +PLACE_DISTINCT=1255 +PLACE_GROUP_BY=1256 +PLAN=1257 +PLSCOPE_SETTINGS=1258 +PLS_INTEGER=1259 +PLSQL_CCFLAGS=1260 +PLSQL_CODE_TYPE=1261 +PLSQL_DEBUG=1262 +PLSQL_OPTIMIZE_LEVEL=1263 +PLSQL_WARNINGS=1264 +PLUGGABLE=1265 +POINT=1266 +POLICY=1267 +POOL_16K=1268 +POOL_2K=1269 +POOL_32K=1270 +POOL_4K=1271 +POOL_8K=1272 +POSITIVEN=1273 +POSITIVE=1274 +POST_TRANSACTION=1275 +POWERMULTISET_BY_CARDINALITY=1276 +POWERMULTISET=1277 +POWER=1278 +PQ_CONCURRENT_UNION=1279 +PQ_DISTRIBUTE=1280 +PQ_DISTRIBUTE_WINDOW=1281 +PQ_FILTER=1282 +PQ_MAP=1283 +PQ_NOMAP=1284 +PQ_REPLICATE=1285 +PQ_SKEW=1286 +PRAGMA=1287 +PREBUILT=1288 +PRECEDES=1289 +PRECEDING=1290 +PRECISION=1291 +PRECOMPUTE_SUBQUERY=1292 +PREDICATE_REORDERS=1293 +PRELOAD=1294 +PREPARE=1295 +PRESENTNNV=1296 +PRESENT=1297 +PRESENTV=1298 +PRESERVE_OID=1299 +PRESERVE=1300 +PRETTY=1301 +PREVIOUS=1302 +PREV=1303 +PRIMARY=1304 +PRINTBLOBTOCLOB=1305 +PRIORITY=1306 +PRIOR=1307 +PRIVATE=1308 +PRIVATE_SGA=1309 +PRIVILEGED=1310 +PRIVILEGE=1311 +PRIVILEGES=1312 +PROCEDURAL=1313 +PROCEDURE=1314 +PROCESS=1315 +PROFILE=1316 +PROGRAM=1317 +PROJECT=1318 +PROPAGATE=1319 +PROTECTED=1320 +PROTECTION=1321 +PROXY=1322 +PRUNING=1323 +PUBLIC=1324 +PULL_PRED=1325 +PURGE=1326 +PUSH_PRED=1327 +PUSH_SUBQ=1328 +PX_FAULT_TOLERANCE=1329 +PX_GRANULE=1330 +PX_JOIN_FILTER=1331 +QB_NAME=1332 +QUERY_BLOCK=1333 +QUERY=1334 +QUEUE_CURR=1335 +QUEUE=1336 +QUEUE_ROWP=1337 +QUIESCE=1338 +QUORUM=1339 +QUOTA=1340 +RAISE=1341 +RANDOM_LOCAL=1342 +RANDOM=1343 +RANGE=1344 +RANKM=1345 +RAPIDLY=1346 +RAW=1347 +RAWTOHEX=1348 +RAWTONHEX=1349 +RBA=1350 +RBO_OUTLINE=1351 +RDBA=1352 +READ=1353 +READS=1354 +REALM=1355 +REAL=1356 +REBALANCE=1357 +REBUILD=1358 +RECORD=1359 +RECORDS_PER_BLOCK=1360 +RECOVERABLE=1361 +RECOVER=1362 +RECOVERY=1363 +RECYCLEBIN=1364 +RECYCLE=1365 +REDACTION=1366 +REDEFINE=1367 +REDO=1368 +REDUCED=1369 +REDUNDANCY=1370 +REF_CASCADE_CURSOR=1371 +REFERENCED=1372 +REFERENCE=1373 +REFERENCES=1374 +REFERENCING=1375 +REF=1376 +REFRESH=1377 +REFTOHEX=1378 +REGEXP_COUNT=1379 +REGEXP_INSTR=1380 +REGEXP_LIKE=1381 +REGEXP_REPLACE=1382 +REGEXP_SUBSTR=1383 +REGISTER=1384 +REGR_AVGX=1385 +REGR_AVGY=1386 +REGR_COUNT=1387 +REGR_INTERCEPT=1388 +REGR_R2=1389 +REGR_SLOPE=1390 +REGR_SXX=1391 +REGR_SXY=1392 +REGR_SYY=1393 +REGULAR=1394 +REJECT=1395 +REKEY=1396 +RELATIONAL=1397 +RELIES_ON=1398 +RELOCATE=1399 +RELY=1400 +REMAINDER=1401 +REMOTE_MAPPED=1402 +REMOVE=1403 +RENAME=1404 +REPAIR=1405 +REPEAT=1406 +REPLACE=1407 +REPLICATION=1408 +REQUIRED=1409 +RESETLOGS=1410 +RESET=1411 +RESIZE=1412 +RESOLVE=1413 +RESOLVER=1414 +RESOURCE=1415 +RESPECT=1416 +RESTART=1417 +RESTORE_AS_INTERVALS=1418 +RESTORE=1419 +RESTRICT_ALL_REF_CONS=1420 +RESTRICTED=1421 +RESTRICT_REFERENCES=1422 +RESTRICT=1423 +RESULT_CACHE=1424 +RESULT=1425 +RESUMABLE=1426 +RESUME=1427 +RETENTION=1428 +RETRY_ON_ROW_CHANGE=1429 +RETURNING=1430 +RETURN=1431 +REUSE=1432 +REVERSE=1433 +REVOKE=1434 +REWRITE_OR_ERROR=1435 +REWRITE=1436 +RIGHT=1437 +ROLE=1438 +ROLESET=1439 +ROLES=1440 +ROLLBACK=1441 +ROLLING=1442 +ROLLUP=1443 +ROWDEPENDENCIES=1444 +ROWID_MAPPING_TABLE=1445 +ROWID=1446 +ROWIDTOCHAR=1447 +ROWIDTONCHAR=1448 +ROW_LENGTH=1449 +ROWNUM=1450 +ROW=1451 +ROWS=1452 +RPAD=1453 +RTRIM=1454 +RULE=1455 +RULES=1456 +RUNNING=1457 +SALT=1458 +SAMPLE=1459 +SAVE_AS_INTERVALS=1460 +SAVEPOINT=1461 +SAVE=1462 +SB4=1463 +SCALE_ROWS=1464 +SCALE=1465 +SCAN_INSTANCES=1466 +SCAN=1467 +SCHEDULER=1468 +SCHEMACHECK=1469 +SCHEMA=1470 +SCN_ASCENDING=1471 +SCN=1472 +SCOPE=1473 +SCRUB=1474 +SD_ALL=1475 +SD_INHIBIT=1476 +SDO_GEOM_MBR=1477 +SD_SHOW=1478 +SEARCH=1479 +SECOND=1480 +SECRET=1481 +SECUREFILE_DBA=1482 +SECUREFILE=1483 +SECURITY=1484 +SEED=1485 +SEG_BLOCK=1486 +SEG_FILE=1487 +SEGMENT=1488 +SELECTIVITY=1489 +SELECT=1490 +SELF=1491 +SEMIJOIN_DRIVER=1492 +SEMIJOIN=1493 +SEMI_TO_INNER=1494 +SEQUENCED=1495 +SEQUENCE=1496 +SEQUENTIAL=1497 +SEQ=1498 +SERIALIZABLE=1499 +SERIALLY_REUSABLE=1500 +SERIAL=1501 +SERVERERROR=1502 +SERVICE_NAME_CONVERT=1503 +SERVICES=1504 +SESSION_CACHED_CURSORS=1505 +SESSION=1506 +SESSIONS_PER_USER=1507 +SESSIONTIMEZONE=1508 +SESSIONTZNAME=1509 +SET=1510 +SETS=1511 +SETTINGS=1512 +SET_TO_JOIN=1513 +SEVERE=1514 +SHARED_POOL=1515 +SHARED=1516 +SHARE=1517 +SHARING=1518 +SHELFLIFE=1519 +SHOW=1520 +SHRINK=1521 +SHUTDOWN=1522 +SIBLINGS=1523 +SID=1524 +SIGNAL_COMPONENT=1525 +SIGNAL_FUNCTION=1526 +SIGN=1527 +SIGNTYPE=1528 +SIMPLE_INTEGER=1529 +SIMPLE=1530 +SINGLE=1531 +SINGLETASK=1532 +SINH=1533 +SIN=1534 +SIZE=1535 +SKIP_EXT_OPTIMIZER=1536 +SKIP_=1537 +SKIP_UNQ_UNUSABLE_IDX=1538 +SKIP_UNUSABLE_INDEXES=1539 +SMALLFILE=1540 +SMALLINT=1541 +SNAPSHOT=1542 +SOME=1543 +SORT=1544 +SOUNDEX=1545 +SOURCE_FILE_DIRECTORY=1546 +SOURCE_FILE_NAME_CONVERT=1547 +SOURCE=1548 +SPACE_KEYWORD=1549 +SPECIFICATION=1550 +SPFILE=1551 +SPLIT=1552 +SPREADSHEET=1553 +SQLDATA=1554 +SQLERROR=1555 +SQLLDR=1556 +SQL=1557 +SQL_TRACE=1558 +SQL_TRANSLATION_PROFILE=1559 +SQRT=1560 +STALE=1561 +STANDALONE=1562 +STANDARD_HASH=1563 +STANDBY_MAX_DATA_DELAY=1564 +STANDBYS=1565 +STANDBY=1566 +STAR=1567 +STAR_TRANSFORMATION=1568 +START=1569 +STARTUP=1570 +STATEMENT_ID=1571 +STATEMENT_QUEUING=1572 +STATEMENTS=1573 +STATEMENT=1574 +STATE=1575 +STATIC=1576 +STATISTICS=1577 +STATS_BINOMIAL_TEST=1578 +STATS_CROSSTAB=1579 +STATS_F_TEST=1580 +STATS_KS_TEST=1581 +STATS_MODE=1582 +STATS_MW_TEST=1583 +STATS_ONE_WAY_ANOVA=1584 +STATS_T_TEST_INDEP=1585 +STATS_T_TEST_INDEPU=1586 +STATS_T_TEST_ONE=1587 +STATS_T_TEST_PAIRED=1588 +STATS_WSR_TEST=1589 +STDDEV_POP=1590 +STDDEV_SAMP=1591 +STOP=1592 +STORAGE=1593 +STORE=1594 +STREAMS=1595 +STREAM=1596 +STRICT=1597 +STRING=1598 +STRIPE_COLUMNS=1599 +STRIPE_WIDTH=1600 +STRIP=1601 +STRUCTURE=1602 +SUBMULTISET=1603 +SUBPARTITION_REL=1604 +SUBPARTITIONS=1605 +SUBPARTITION=1606 +SUBQUERIES=1607 +SUBQUERY_PRUNING=1608 +SUBSCRIBE=1609 +SUBSET=1610 +SUBSTITUTABLE=1611 +SUBSTR2=1612 +SUBSTR4=1613 +SUBSTRB=1614 +SUBSTRC=1615 +SUBTYPE=1616 +SUCCESSFUL=1617 +SUCCESS=1618 +SUMMARY=1619 +SUPPLEMENTAL=1620 +SUSPEND=1621 +SWAP_JOIN_INPUTS=1622 +SWITCHOVER=1623 +SWITCH=1624 +SYNCHRONOUS=1625 +SYNC=1626 +SYNONYM=1627 +SYSASM=1628 +SYS_AUDIT=1629 +SYSAUX=1630 +SYSBACKUP=1631 +SYS_CHECKACL=1632 +SYS_CHECK_PRIVILEGE=1633 +SYS_CONNECT_BY_PATH=1634 +SYS_CONTEXT=1635 +SYSDATE=1636 +SYSDBA=1637 +SYS_DBURIGEN=1638 +SYSDG=1639 +SYS_DL_CURSOR=1640 +SYS_DM_RXFORM_CHR=1641 +SYS_DM_RXFORM_NUM=1642 +SYS_DOM_COMPARE=1643 +SYS_DST_PRIM2SEC=1644 +SYS_DST_SEC2PRIM=1645 +SYS_ET_BFILE_TO_RAW=1646 +SYS_ET_BLOB_TO_IMAGE=1647 +SYS_ET_IMAGE_TO_BLOB=1648 +SYS_ET_RAW_TO_BFILE=1649 +SYS_EXTPDTXT=1650 +SYS_EXTRACT_UTC=1651 +SYS_FBT_INSDEL=1652 +SYS_FILTER_ACLS=1653 +SYS_FNMATCHES=1654 +SYS_FNREPLACE=1655 +SYS_GET_ACLIDS=1656 +SYS_GET_COL_ACLIDS=1657 +SYS_GET_PRIVILEGES=1658 +SYS_GETTOKENID=1659 +SYS_GETXTIVAL=1660 +SYS_GUID=1661 +SYSGUID=1662 +SYSKM=1663 +SYS_MAKE_XMLNODEID=1664 +SYS_MAKEXML=1665 +SYS_MKXMLATTR=1666 +SYS_MKXTI=1667 +SYSOBJ=1668 +SYS_OP_ADT2BIN=1669 +SYS_OP_ADTCONS=1670 +SYS_OP_ALSCRVAL=1671 +SYS_OP_ATG=1672 +SYS_OP_BIN2ADT=1673 +SYS_OP_BITVEC=1674 +SYS_OP_BL2R=1675 +SYS_OP_BLOOM_FILTER_LIST=1676 +SYS_OP_BLOOM_FILTER=1677 +SYS_OP_C2C=1678 +SYS_OP_CAST=1679 +SYS_OP_CEG=1680 +SYS_OP_CL2C=1681 +SYS_OP_COMBINED_HASH=1682 +SYS_OP_COMP=1683 +SYS_OP_CONVERT=1684 +SYS_OP_COUNTCHG=1685 +SYS_OP_CSCONV=1686 +SYS_OP_CSCONVTEST=1687 +SYS_OP_CSR=1688 +SYS_OP_CSX_PATCH=1689 +SYS_OP_CYCLED_SEQ=1690 +SYS_OP_DECOMP=1691 +SYS_OP_DESCEND=1692 +SYS_OP_DISTINCT=1693 +SYS_OP_DRA=1694 +SYS_OP_DUMP=1695 +SYS_OP_DV_CHECK=1696 +SYS_OP_ENFORCE_NOT_NULL=1697 +SYSOPER=1698 +SYS_OP_EXTRACT=1699 +SYS_OP_GROUPING=1700 +SYS_OP_GUID=1701 +SYS_OP_HASH=1702 +SYS_OP_IIX=1703 +SYS_OP_ITR=1704 +SYS_OP_KEY_VECTOR_CREATE=1705 +SYS_OP_KEY_VECTOR_FILTER_LIST=1706 +SYS_OP_KEY_VECTOR_FILTER=1707 +SYS_OP_KEY_VECTOR_SUCCEEDED=1708 +SYS_OP_KEY_VECTOR_USE=1709 +SYS_OP_LBID=1710 +SYS_OP_LOBLOC2BLOB=1711 +SYS_OP_LOBLOC2CLOB=1712 +SYS_OP_LOBLOC2ID=1713 +SYS_OP_LOBLOC2NCLOB=1714 +SYS_OP_LOBLOC2TYP=1715 +SYS_OP_LSVI=1716 +SYS_OP_LVL=1717 +SYS_OP_MAKEOID=1718 +SYS_OP_MAP_NONNULL=1719 +SYS_OP_MSR=1720 +SYS_OP_NICOMBINE=1721 +SYS_OP_NIEXTRACT=1722 +SYS_OP_NII=1723 +SYS_OP_NIX=1724 +SYS_OP_NOEXPAND=1725 +SYS_OP_NTCIMG=1726 +SYS_OP_NUMTORAW=1727 +SYS_OP_OIDVALUE=1728 +SYS_OP_OPNSIZE=1729 +SYS_OP_PAR_1=1730 +SYS_OP_PARGID_1=1731 +SYS_OP_PARGID=1732 +SYS_OP_PAR=1733 +SYS_OP_PART_ID=1734 +SYS_OP_PIVOT=1735 +SYS_OP_R2O=1736 +SYS_OP_RAWTONUM=1737 +SYS_OP_RDTM=1738 +SYS_OP_REF=1739 +SYS_OP_RMTD=1740 +SYS_OP_ROWIDTOOBJ=1741 +SYS_OP_RPB=1742 +SYS_OPTLOBPRBSC=1743 +SYS_OP_TOSETID=1744 +SYS_OP_TPR=1745 +SYS_OP_TRTB=1746 +SYS_OPTXICMP=1747 +SYS_OPTXQCASTASNQ=1748 +SYS_OP_UNDESCEND=1749 +SYS_OP_VECAND=1750 +SYS_OP_VECBIT=1751 +SYS_OP_VECOR=1752 +SYS_OP_VECXOR=1753 +SYS_OP_VERSION=1754 +SYS_OP_VREF=1755 +SYS_OP_VVD=1756 +SYS_OP_XMLCONS_FOR_CSX=1757 +SYS_OP_XPTHATG=1758 +SYS_OP_XPTHIDX=1759 +SYS_OP_XPTHOP=1760 +SYS_OP_XTXT2SQLT=1761 +SYS_OP_ZONE_ID=1762 +SYS_ORDERKEY_DEPTH=1763 +SYS_ORDERKEY_MAXCHILD=1764 +SYS_ORDERKEY_PARENT=1765 +SYS_PARALLEL_TXN=1766 +SYS_PATHID_IS_ATTR=1767 +SYS_PATHID_IS_NMSPC=1768 +SYS_PATHID_LASTNAME=1769 +SYS_PATHID_LASTNMSPC=1770 +SYS_PATH_REVERSE=1771 +SYS_PXQEXTRACT=1772 +SYS_RAW_TO_XSID=1773 +SYS_RID_ORDER=1774 +SYS_ROW_DELTA=1775 +SYS_SC_2_XMLT=1776 +SYS_SYNRCIREDO=1777 +SYSTEM_DEFINED=1778 +SYSTEM=1779 +SYSTIMESTAMP=1780 +SYS_TYPEID=1781 +SYS_UMAKEXML=1782 +SYS_XMLANALYZE=1783 +SYS_XMLCONTAINS=1784 +SYS_XMLCONV=1785 +SYS_XMLEXNSURI=1786 +SYS_XMLGEN=1787 +SYS_XMLI_LOC_ISNODE=1788 +SYS_XMLI_LOC_ISTEXT=1789 +SYS_XMLINSTR=1790 +SYS_XMLLOCATOR_GETSVAL=1791 +SYS_XMLNODEID_GETCID=1792 +SYS_XMLNODEID_GETLOCATOR=1793 +SYS_XMLNODEID_GETOKEY=1794 +SYS_XMLNODEID_GETPATHID=1795 +SYS_XMLNODEID_GETPTRID=1796 +SYS_XMLNODEID_GETRID=1797 +SYS_XMLNODEID_GETSVAL=1798 +SYS_XMLNODEID_GETTID=1799 +SYS_XMLNODEID=1800 +SYS_XMLT_2_SC=1801 +SYS_XMLTRANSLATE=1802 +SYS_XMLTYPE2SQL=1803 +SYS_XQ_ASQLCNV=1804 +SYS_XQ_ATOMCNVCHK=1805 +SYS_XQBASEURI=1806 +SYS_XQCASTABLEERRH=1807 +SYS_XQCODEP2STR=1808 +SYS_XQCODEPEQ=1809 +SYS_XQCON2SEQ=1810 +SYS_XQCONCAT=1811 +SYS_XQDELETE=1812 +SYS_XQDFLTCOLATION=1813 +SYS_XQDOC=1814 +SYS_XQDOCURI=1815 +SYS_XQDURDIV=1816 +SYS_XQED4URI=1817 +SYS_XQENDSWITH=1818 +SYS_XQERRH=1819 +SYS_XQERR=1820 +SYS_XQESHTMLURI=1821 +SYS_XQEXLOBVAL=1822 +SYS_XQEXSTWRP=1823 +SYS_XQEXTRACT=1824 +SYS_XQEXTRREF=1825 +SYS_XQEXVAL=1826 +SYS_XQFB2STR=1827 +SYS_XQFNBOOL=1828 +SYS_XQFNCMP=1829 +SYS_XQFNDATIM=1830 +SYS_XQFNLNAME=1831 +SYS_XQFNNM=1832 +SYS_XQFNNSURI=1833 +SYS_XQFNPREDTRUTH=1834 +SYS_XQFNQNM=1835 +SYS_XQFNROOT=1836 +SYS_XQFORMATNUM=1837 +SYS_XQFTCONTAIN=1838 +SYS_XQFUNCR=1839 +SYS_XQGETCONTENT=1840 +SYS_XQINDXOF=1841 +SYS_XQINSERT=1842 +SYS_XQINSPFX=1843 +SYS_XQIRI2URI=1844 +SYS_XQLANG=1845 +SYS_XQLLNMFRMQNM=1846 +SYS_XQMKNODEREF=1847 +SYS_XQNILLED=1848 +SYS_XQNODENAME=1849 +SYS_XQNORMSPACE=1850 +SYS_XQNORMUCODE=1851 +SYS_XQ_NRNG=1852 +SYS_XQNSP4PFX=1853 +SYS_XQNSPFRMQNM=1854 +SYS_XQPFXFRMQNM=1855 +SYS_XQ_PKSQL2XML=1856 +SYS_XQPOLYABS=1857 +SYS_XQPOLYADD=1858 +SYS_XQPOLYCEL=1859 +SYS_XQPOLYCSTBL=1860 +SYS_XQPOLYCST=1861 +SYS_XQPOLYDIV=1862 +SYS_XQPOLYFLR=1863 +SYS_XQPOLYMOD=1864 +SYS_XQPOLYMUL=1865 +SYS_XQPOLYRND=1866 +SYS_XQPOLYSQRT=1867 +SYS_XQPOLYSUB=1868 +SYS_XQPOLYUMUS=1869 +SYS_XQPOLYUPLS=1870 +SYS_XQPOLYVEQ=1871 +SYS_XQPOLYVGE=1872 +SYS_XQPOLYVGT=1873 +SYS_XQPOLYVLE=1874 +SYS_XQPOLYVLT=1875 +SYS_XQPOLYVNE=1876 +SYS_XQREF2VAL=1877 +SYS_XQRENAME=1878 +SYS_XQREPLACE=1879 +SYS_XQRESVURI=1880 +SYS_XQRNDHALF2EVN=1881 +SYS_XQRSLVQNM=1882 +SYS_XQRYENVPGET=1883 +SYS_XQRYVARGET=1884 +SYS_XQRYWRP=1885 +SYS_XQSEQ2CON4XC=1886 +SYS_XQSEQ2CON=1887 +SYS_XQSEQDEEPEQ=1888 +SYS_XQSEQINSB=1889 +SYS_XQSEQRM=1890 +SYS_XQSEQRVS=1891 +SYS_XQSEQSUB=1892 +SYS_XQSEQTYPMATCH=1893 +SYS_XQSTARTSWITH=1894 +SYS_XQSTATBURI=1895 +SYS_XQSTR2CODEP=1896 +SYS_XQSTRJOIN=1897 +SYS_XQSUBSTRAFT=1898 +SYS_XQSUBSTRBEF=1899 +SYS_XQTOKENIZE=1900 +SYS_XQTREATAS=1901 +SYS_XQ_UPKXML2SQL=1902 +SYS_XQXFORM=1903 +SYS_XSID_TO_RAW=1904 +SYS_ZMAP_FILTER=1905 +SYS_ZMAP_REFRESH=1906 +TABLE_LOOKUP_BY_NL=1907 +TABLESPACE_NO=1908 +TABLESPACE=1909 +TABLES=1910 +TABLE_STATS=1911 +TABLE=1912 +TABNO=1913 +TAG=1914 +TANH=1915 +TAN=1916 +TBLORIDXPARTNUM=1917 +TEMPFILE=1918 +TEMPLATE=1919 +TEMPORARY=1920 +TEMP_TABLE=1921 +TEST=1922 +TEXT=1923 +THAN=1924 +THEN=1925 +THE=1926 +THREAD=1927 +THROUGH=1928 +TIER=1929 +TIES=1930 +TIMEOUT=1931 +TIMESTAMP_LTZ_UNCONSTRAINED=1932 +TIMESTAMP=1933 +TIMESTAMP_TZ_UNCONSTRAINED=1934 +TIMESTAMP_UNCONSTRAINED=1935 +TIMES=1936 +TIME=1937 +TIMEZONE=1938 +TIMEZONE_ABBR=1939 +TIMEZONE_HOUR=1940 +TIMEZONE_MINUTE=1941 +TIMEZONE_OFFSET=1942 +TIMEZONE_REGION=1943 +TIME_ZONE=1944 +TIV_GB=1945 +TIV_SSF=1946 +TO_ACLID=1947 +TO_BINARY_DOUBLE=1948 +TO_BINARY_FLOAT=1949 +TO_BLOB=1950 +TO_CLOB=1951 +TO_DSINTERVAL=1952 +TO_LOB=1953 +TO_MULTI_BYTE=1954 +TO_NCHAR=1955 +TO_NCLOB=1956 +TO_NUMBER=1957 +TOPLEVEL=1958 +TO_SINGLE_BYTE=1959 +TO_TIMESTAMP=1960 +TO_TIMESTAMP_TZ=1961 +TO_TIME=1962 +TO_TIME_TZ=1963 +TO=1964 +TO_YMINTERVAL=1965 +TRACE=1966 +TRACING=1967 +TRACKING=1968 +TRAILING=1969 +TRANSACTION=1970 +TRANSFORM_DISTINCT_AGG=1971 +TRANSITIONAL=1972 +TRANSITION=1973 +TRANSLATE=1974 +TRANSLATION=1975 +TREAT=1976 +TRIGGERS=1977 +TRIGGER=1978 +TRUE=1979 +TRUNCATE=1980 +TRUNC=1981 +TRUSTED=1982 +TRUST=1983 +TUNING=1984 +TX=1985 +TYPES=1986 +TYPE=1987 +TZ_OFFSET=1988 +UB2=1989 +UBA=1990 +UCS2=1991 +UID=1992 +UNARCHIVED=1993 +UNBOUNDED=1994 +UNBOUND=1995 +UNCONDITIONAL=1996 +UNDER=1997 +UNDO=1998 +UNDROP=1999 +UNIFORM=2000 +UNION=2001 +UNIQUE=2002 +UNISTR=2003 +UNLIMITED=2004 +UNLOAD=2005 +UNLOCK=2006 +UNMATCHED=2007 +UNNEST_INNERJ_DISTINCT_VIEW=2008 +UNNEST_NOSEMIJ_NODISTINCTVIEW=2009 +UNNEST_SEMIJ_VIEW=2010 +UNNEST=2011 +UNPACKED=2012 +UNPIVOT=2013 +UNPLUG=2014 +UNPROTECTED=2015 +UNQUIESCE=2016 +UNRECOVERABLE=2017 +UNRESTRICTED=2018 +UNSUBSCRIBE=2019 +UNTIL=2020 +UNUSABLE=2021 +UNUSED=2022 +UPDATABLE=2023 +UPDATED=2024 +UPDATE=2025 +UPDATEXML=2026 +UPD_INDEXES=2027 +UPD_JOININDEX=2028 +UPGRADE=2029 +UPPER=2030 +UPSERT=2031 +UROWID=2032 +USABLE=2033 +USAGE=2034 +USE_ANTI=2035 +USE_CONCAT=2036 +USE_CUBE=2037 +USE_HASH_AGGREGATION=2038 +USE_HASH_GBY_FOR_PUSHDOWN=2039 +USE_HASH=2040 +USE_HIDDEN_PARTITIONS=2041 +USE_INVISIBLE_INDEXES=2042 +USE_MERGE_CARTESIAN=2043 +USE_MERGE=2044 +USE_NL=2045 +USE_NL_WITH_INDEX=2046 +USE_PRIVATE_OUTLINES=2047 +USER_DATA=2048 +USER_DEFINED=2049 +USERENV=2050 +USERGROUP=2051 +USER_RECYCLEBIN=2052 +USERS=2053 +USER_TABLESPACES=2054 +USER=2055 +USE_SEMI=2056 +USE_STORED_OUTLINES=2057 +USE_TTT_FOR_GSETS=2058 +USE=2059 +USE_VECTOR_AGGREGATION=2060 +USE_WEAK_NAME_RESL=2061 +USING_NO_EXPAND=2062 +USING=2063 +UTF16BE=2064 +UTF16LE=2065 +UTF32=2066 +UTF8=2067 +V1=2068 +V2=2069 +VALIDATE=2070 +VALIDATION=2071 +VALID_TIME_END=2072 +VALUES=2073 +VALUE=2074 +VARCHAR2=2075 +VARCHAR=2076 +VARIABLE=2077 +VAR_POP=2078 +VARRAYS=2079 +VARRAY=2080 +VAR_SAMP=2081 +VARYING=2082 +VECTOR_READ_TRACE=2083 +VECTOR_READ=2084 +VECTOR_TRANSFORM_DIMS=2085 +VECTOR_TRANSFORM_FACT=2086 +VECTOR_TRANSFORM=2087 +VERIFIER=2088 +VERIFY=2089 +VERSIONING=2090 +VERSIONS_ENDSCN=2091 +VERSIONS_ENDTIME=2092 +VERSIONS_OPERATION=2093 +VERSIONS_STARTSCN=2094 +VERSIONS_STARTTIME=2095 +VERSIONS=2096 +VERSIONS_XID=2097 +VERSION=2098 +VIEW=2099 +VIOLATION=2100 +VIRTUAL=2101 +VISIBILITY=2102 +VISIBLE=2103 +VOLUME=2104 +VSIZE=2105 +WAIT=2106 +WALLET=2107 +WARNING=2108 +WEEKS=2109 +WEEK=2110 +WELLFORMED=2111 +WHENEVER=2112 +WHEN=2113 +WHERE=2114 +WHILE=2115 +WHITESPACE=2116 +WIDTH_BUCKET=2117 +WITHIN=2118 +WITHOUT=2119 +WITH_PLSQL=2120 +WITH=2121 +WORK=2122 +WRAPPED=2123 +WRAPPER=2124 +WRITE=2125 +XDB_FASTPATH_INSERT=2126 +XDB=2127 +X_DYN_PRUNE=2128 +XID=2129 +XML2OBJECT=2130 +XMLAGG=2131 +XMLATTRIBUTES=2132 +XMLCAST=2133 +XMLCDATA=2134 +XMLCOLATTVAL=2135 +XMLCOMMENT=2136 +XMLCONCAT=2137 +XMLDIFF=2138 +XML_DML_RWT_STMT=2139 +XMLELEMENT=2140 +XMLEXISTS2=2141 +XMLEXISTS=2142 +XMLFOREST=2143 +XMLINDEX=2144 +XMLINDEX_REWRITE_IN_SELECT=2145 +XMLINDEX_REWRITE=2146 +XMLINDEX_SEL_IDX_TBL=2147 +XMLISNODE=2148 +XMLISVALID=2149 +XMLNAMESPACES=2150 +XMLPARSE=2151 +XMLPATCH=2152 +XMLPI=2153 +XMLQUERYVAL=2154 +XMLQUERY=2155 +XMLROOT=2156 +XMLSCHEMA=2157 +XMLSERIALIZE=2158 +XMLTABLE=2159 +XMLTRANSFORMBLOB=2160 +XMLTRANSFORM=2161 +XMLTYPE=2162 +XML=2163 +XPATHTABLE=2164 +XS_SYS_CONTEXT=2165 +XS=2166 +XTRANSPORT=2167 +YEARS=2168 +YEAR=2169 +YES=2170 +YMINTERVAL_UNCONSTRAINED=2171 +ZONEMAP=2172 +ZONE=2173 +PREDICTION=2174 +PREDICTION_BOUNDS=2175 +PREDICTION_COST=2176 +PREDICTION_DETAILS=2177 +PREDICTION_PROBABILITY=2178 +PREDICTION_SET=2179 +CUME_DIST=2180 +DENSE_RANK=2181 +LISTAGG=2182 +PERCENT_RANK=2183 +PERCENTILE_CONT=2184 +PERCENTILE_DISC=2185 +RANK=2186 +AVG=2187 +CORR=2188 +COVAR_=2189 +DECODE=2190 +LAG=2191 +LEAD=2192 +MAX=2193 +MEDIAN=2194 +MIN=2195 +NTILE=2196 +NVL=2197 +RATIO_TO_REPORT=2198 +REGR_=2199 +ROUND=2200 +ROW_NUMBER=2201 +SUBSTR=2202 +TO_CHAR=2203 +TRIM=2204 +SUM=2205 +STDDEV=2206 +VAR_=2207 +VARIANCE=2208 +LEAST=2209 +GREATEST=2210 +TO_DATE=2211 +NATIONAL_CHAR_STRING_LIT=2212 +BIT_STRING_LIT=2213 +HEX_STRING_LIT=2214 +DOUBLE_PERIOD=2215 +PERIOD=2216 +UNSIGNED_INTEGER=2217 +APPROXIMATE_NUM_LIT=2218 +CHAR_STRING=2219 +DELIMITED_ID=2220 +PERCENT=2221 +AMPERSAND=2222 +LEFT_PAREN=2223 +RIGHT_PAREN=2224 +DOUBLE_ASTERISK=2225 +ASTERISK=2226 +PLUS_SIGN=2227 +MINUS_SIGN=2228 +COMMA=2229 +SOLIDUS=2230 +AT_SIGN=2231 +ASSIGN_OP=2232 +BINDVAR=2233 +NOT_EQUAL_OP=2234 +CARRET_OPERATOR_PART=2235 +TILDE_OPERATOR_PART=2236 +EXCLAMATION_OPERATOR_PART=2237 +GREATER_THAN_OP=2238 +LESS_THAN_OP=2239 +COLON=2240 +SEMICOLON=2241 +BAR=2242 +EQUALS_OP=2243 +LEFT_BRACKET=2244 +RIGHT_BRACKET=2245 +INTRODUCER=2246 +SINGLE_LINE_COMMENT=2247 +MULTI_LINE_COMMENT=2248 +REMARK_COMMENT=2249 +PROMPT_MESSAGE=2250 +START_CMD=2251 +REGULAR_ID=2252 +SPACES=2253 +'ABORT'=1 +'ABS'=2 +'ACCESS'=3 +'ACCESSED'=4 +'ACCOUNT'=5 +'ACL'=6 +'ACOS'=7 +'ACTION'=8 +'ACTIONS'=9 +'ACTIVATE'=10 +'ACTIVE'=11 +'ACTIVE_COMPONENT'=12 +'ACTIVE_DATA'=13 +'ACTIVE_FUNCTION'=14 +'ACTIVE_TAG'=15 +'ACTIVITY'=16 +'ADAPTIVE_PLAN'=17 +'ADD'=18 +'ADD_COLUMN'=19 +'ADD_GROUP'=20 +'ADD_MONTHS'=21 +'ADJ_DATE'=22 +'ADMIN'=23 +'ADMINISTER'=24 +'ADMINISTRATOR'=25 +'ADVANCED'=26 +'ADVISE'=27 +'ADVISOR'=28 +'AFD_DISKSTRING'=29 +'AFTER'=30 +'AGENT'=31 +'AGGREGATE'=32 +'A'=33 +'ALIAS'=34 +'ALL'=35 +'ALLOCATE'=36 +'ALLOW'=37 +'ALL_ROWS'=38 +'ALTER'=39 +'ALWAYS'=40 +'ANALYZE'=41 +'ANCILLARY'=42 +'AND'=43 +'AND_EQUAL'=44 +'ANOMALY'=45 +'ANSI_REARCH'=46 +'ANTIJOIN'=47 +'ANY'=48 +'ANYSCHEMA'=49 +'APPEND'=50 +'APPENDCHILDXML'=51 +'APPEND_VALUES'=52 +'APPLICATION'=53 +'APPLY'=54 +'APPROX_COUNT_DISTINCT'=55 +'ARCHIVAL'=56 +'ARCHIVE'=57 +'ARCHIVED'=58 +'ARCHIVELOG'=59 +'ARRAY'=60 +'AS'=61 +'ASC'=62 +'ASCII'=63 +'ASCIISTR'=64 +'ASIN'=65 +'ASIS'=66 +'ASSEMBLY'=67 +'ASSIGN'=68 +'ASSOCIATE'=69 +'ASYNC'=70 +'ASYNCHRONOUS'=71 +'ATAN2'=72 +'ATAN'=73 +'AT'=74 +'ATTRIBUTE'=75 +'ATTRIBUTES'=76 +'AUDIT'=77 +'AUTHENTICATED'=78 +'AUTHENTICATION'=79 +'AUTHID'=80 +'AUTHORIZATION'=81 +'AUTOALLOCATE'=82 +'AUTO'=83 +'AUTOBACKUP'=84 +'AUTOEXTEND'=85 +'AUTO_LOGIN'=86 +'AUTOMATIC'=87 +'AUTONOMOUS_TRANSACTION'=88 +'AUTO_REOPTIMIZE'=89 +'AVAILABILITY'=90 +'AVRO'=91 +'BACKGROUND'=92 +'BACKUP'=93 +'BACKUPSET'=94 +'BASIC'=95 +'BASICFILE'=96 +'BATCH'=97 +'BATCHSIZE'=98 +'BATCH_TABLE_ACCESS_BY_ROWID'=99 +'BECOME'=100 +'BEFORE'=101 +'BEGIN'=102 +'BEGINNING'=103 +'BEGIN_OUTLINE_DATA'=104 +'BEHALF'=105 +'BEQUEATH'=106 +'BETWEEN'=107 +'BFILE'=108 +'BFILENAME'=109 +'BIGFILE'=110 +'BINARY'=111 +'BINARY_DOUBLE'=112 +'BINARY_DOUBLE_INFINITY'=113 +'BINARY_DOUBLE_NAN'=114 +'BINARY_FLOAT'=115 +'BINARY_FLOAT_INFINITY'=116 +'BINARY_FLOAT_NAN'=117 +'BINARY_INTEGER'=118 +'BIND_AWARE'=119 +'BINDING'=120 +'BIN_TO_NUM'=121 +'BITAND'=122 +'BITMAP_AND'=123 +'BITMAP'=124 +'BITMAPS'=125 +'BITMAP_TREE'=126 +'BITS'=127 +'BLOB'=128 +'BLOCK'=129 +'BLOCK_RANGE'=130 +'BLOCKS'=131 +'BLOCKSIZE'=132 +'BODY'=133 +'BOOLEAN'=134 +'BOTH'=135 +'BOUND'=136 +'BRANCH'=137 +'BREADTH'=138 +'BROADCAST'=139 +'BSON'=140 +'BUFFER'=141 +'BUFFER_CACHE'=142 +'BUFFER_POOL'=143 +'BUILD'=144 +'BULK'=145 +'BY'=146 +'BYPASS_RECURSIVE_CHECK'=147 +'BYPASS_UJVC'=148 +'BYTE'=149 +'CACHE'=150 +'CACHE_CB'=151 +'CACHE_INSTANCES'=152 +'CACHE_TEMP_TABLE'=153 +'CACHING'=154 +'CALCULATED'=155 +'CALLBACK'=156 +'CALL'=157 +'CANCEL'=158 +'CANONICAL'=159 +'CAPACITY'=160 +'CARDINALITY'=161 +'CASCADE'=162 +'CASE'=163 +'CAST'=164 +'CATEGORY'=165 +'CDB$DEFAULT'=166 +'CEIL'=167 +'CELL_FLASH_CACHE'=168 +'CERTIFICATE'=169 +'CFILE'=170 +'CHAINED'=171 +'CHANGE'=172 +'CHANGETRACKING'=173 +'CHANGE_DUPKEY_ERROR_INDEX'=174 +'CHARACTER'=175 +'CHAR'=176 +'CHAR_CS'=177 +'CHARTOROWID'=178 +'CHECK_ACL_REWRITE'=179 +'CHECK'=180 +'CHECKPOINT'=181 +'CHILD'=182 +'CHOOSE'=183 +'CHR'=184 +'CHUNK'=185 +'CLASS'=186 +'CLASSIFIER'=187 +'CLEANUP'=188 +'CLEAR'=189 +'C'=190 +'CLIENT'=191 +'CLOB'=192 +'CLONE'=193 +'CLOSE_CACHED_OPEN_CURSORS'=194 +'CLOSE'=195 +'CLUSTER_BY_ROWID'=196 +'CLUSTER'=197 +'CLUSTER_DETAILS'=198 +'CLUSTER_DISTANCE'=199 +'CLUSTER_ID'=200 +'CLUSTERING'=201 +'CLUSTERING_FACTOR'=202 +'CLUSTER_PROBABILITY'=203 +'CLUSTER_SET'=204 +'COALESCE'=205 +'COALESCE_SQ'=206 +'COARSE'=207 +'CO_AUTH_IND'=208 +'COLD'=209 +'COLLECT'=210 +'COLUMNAR'=211 +'COLUMN_AUTH_INDICATOR'=212 +'COLUMN'=213 +'COLUMNS'=214 +'COLUMN_STATS'=215 +'COLUMN_VALUE'=216 +'COMMENT'=217 +'COMMIT'=218 +'COMMITTED'=219 +'COMMON_DATA'=220 +'COMPACT'=221 +'COMPATIBILITY'=222 +'COMPILE'=223 +'COMPLETE'=224 +'COMPLIANCE'=225 +'COMPONENT'=226 +'COMPONENTS'=227 +'COMPOSE'=228 +'COMPOSITE'=229 +'COMPOSITE_LIMIT'=230 +'COMPOUND'=231 +'COMPRESS'=232 +'COMPUTE'=233 +'CONCAT'=234 +'CON_DBID_TO_ID'=235 +'CONDITIONAL'=236 +'CONDITION'=237 +'CONFIRM'=238 +'CONFORMING'=239 +'CON_GUID_TO_ID'=240 +'CON_ID'=241 +'CON_NAME_TO_ID'=242 +'CONNECT_BY_CB_WHR_ONLY'=243 +'CONNECT_BY_COMBINE_SW'=244 +'CONNECT_BY_COST_BASED'=245 +'CONNECT_BY_ELIM_DUPS'=246 +'CONNECT_BY_FILTERING'=247 +'CONNECT_BY_ISCYCLE'=248 +'CONNECT_BY_ISLEAF'=249 +'CONNECT_BY_ROOT'=250 +'CONNECT'=251 +'CONNECT_TIME'=252 +'CONSIDER'=253 +'CONSISTENT'=254 +'CONSTANT'=255 +'CONST'=256 +'CONSTRAINT'=257 +'CONSTRAINTS'=258 +'CONSTRUCTOR'=259 +'CONTAINER'=260 +'CONTAINER_DATA'=261 +'CONTAINERS'=262 +'CONTENT'=263 +'CONTENTS'=264 +'CONTEXT'=265 +'CONTINUE'=266 +'CONTROLFILE'=267 +'CON_UID_TO_ID'=268 +'CONVERT'=269 +'COOKIE'=270 +'COPY'=271 +'CORR_K'=272 +'CORR_S'=273 +'CORRUPTION'=274 +'CORRUPT_XID_ALL'=275 +'CORRUPT_XID'=276 +'COS'=277 +'COSH'=278 +'COST'=279 +'COST_XML_QUERY_REWRITE'=280 +'COUNT'=281 +'COVAR_POP'=282 +'COVAR_SAMP'=283 +'CPU_COSTING'=284 +'CPU_PER_CALL'=285 +'CPU_PER_SESSION'=286 +'CRASH'=287 +'CREATE'=288 +'CREATE_FILE_DEST'=289 +'CREATE_STORED_OUTLINES'=290 +'CREATION'=291 +'CREDENTIAL'=292 +'CRITICAL'=293 +'CROSS'=294 +'CROSSEDITION'=295 +'CSCONVERT'=296 +'CUBE_AJ'=297 +'CUBE'=298 +'CUBE_GB'=299 +'CUBE_SJ'=300 +'CUME_DISTM'=301 +'CURRENT'=302 +'CURRENT_DATE'=303 +'CURRENT_SCHEMA'=304 +'CURRENT_TIME'=305 +'CURRENT_TIMESTAMP'=306 +'CURRENT_USER'=307 +'CURRENTV'=308 +'CURSOR'=309 +'CURSOR_SHARING_EXACT'=310 +'CURSOR_SPECIFIC_SEGMENT'=311 +'CUSTOMDATUM'=312 +'CV'=313 +'CYCLE'=314 +'DANGLING'=315 +'DATABASE'=316 +'DATA'=317 +'DATAFILE'=318 +'DATAFILES'=319 +'DATAGUARDCONFIG'=320 +'DATAMOVEMENT'=321 +'DATAOBJNO'=322 +'DATAOBJ_TO_MAT_PARTITION'=323 +'DATAOBJ_TO_PARTITION'=324 +'DATAPUMP'=325 +'DATA_SECURITY_REWRITE_LIMIT'=326 +'DATE'=327 +'DATE_MODE'=328 +'DAY'=329 +'DAYS'=330 +'DBA'=331 +'DBA_RECYCLEBIN'=332 +'DBMS_STATS'=333 +'DB_ROLE_CHANGE'=334 +'DBTIMEZONE'=335 +'DB_UNIQUE_NAME'=336 +'DB_VERSION'=337 +'DDL'=338 +'DEALLOCATE'=339 +'DEBUG'=340 +'DEBUGGER'=341 +'DEC'=342 +'DECIMAL'=343 +'DECLARE'=344 +'DECOMPOSE'=345 +'DECORRELATE'=346 +'DECR'=347 +'DECREMENT'=348 +'DECRYPT'=349 +'DEDUPLICATE'=350 +'DEFAULT'=351 +'DEFAULTS'=352 +'DEFERRABLE'=353 +'DEFERRED'=354 +'DEFINED'=355 +'DEFINE'=356 +'DEFINER'=357 +'DEGREE'=358 +'DELAY'=359 +'DELEGATE'=360 +'DELETE_ALL'=361 +'DELETE'=362 +'DELETEXML'=363 +'DEMAND'=364 +'DENSE_RANKM'=365 +'DEPENDENT'=366 +'DEPTH'=367 +'DEQUEUE'=368 +'DEREF'=369 +'DEREF_NO_REWRITE'=370 +'DESC'=371 +'DESTROY'=372 +'DETACHED'=373 +'DETERMINES'=374 +'DETERMINISTIC'=375 +'DICTIONARY'=376 +'DIMENSION'=377 +'DIMENSIONS'=378 +'DIRECT_LOAD'=379 +'DIRECTORY'=380 +'DIRECT_PATH'=381 +'DISABLE_ALL'=382 +'DISABLE'=383 +'DISABLE_PARALLEL_DML'=384 +'DISABLE_PRESET'=385 +'DISABLE_RPKE'=386 +'DISALLOW'=387 +'DISASSOCIATE'=388 +'DISCARD'=389 +'DISCONNECT'=390 +'DISK'=391 +'DISKGROUP'=392 +'\'+ DISKGROUP'=393 +'DISKS'=394 +'DISMOUNT'=395 +'DISTINCT'=396 +'DISTINGUISHED'=397 +'DISTRIBUTED'=398 +'DISTRIBUTE'=399 +'DML'=400 +'DML_UPDATE'=401 +'DOCFIDELITY'=402 +'DOCUMENT'=403 +'DOMAIN_INDEX_FILTER'=404 +'DOMAIN_INDEX_NO_SORT'=405 +'DOMAIN_INDEX_SORT'=406 +'DOUBLE'=407 +'DOWNGRADE'=408 +'DRIVING_SITE'=409 +'DROP_COLUMN'=410 +'DROP'=411 +'DROP_GROUP'=412 +'DSINTERVAL_UNCONSTRAINED'=413 +'DST_UPGRADE_INSERT_CONV'=414 +'DUMP'=415 +'DUMPSET'=416 +'DUPLICATE'=417 +'DV'=418 +'DYNAMIC'=419 +'DYNAMIC_SAMPLING'=420 +'DYNAMIC_SAMPLING_EST_CDN'=421 +'EACH'=422 +'EDITIONABLE'=423 +'EDITION'=424 +'EDITIONING'=425 +'EDITIONS'=426 +'ELEMENT'=427 +'ELIM_GROUPBY'=428 +'ELIMINATE_JOIN'=429 +'ELIMINATE_OBY'=430 +'ELIMINATE_OUTER_JOIN'=431 +'ELSE'=432 +'ELSIF'=433 +'EM'=434 +'EMPTY_BLOB'=435 +'EMPTY_CLOB'=436 +'EMPTY'=437 +'ENABLE_ALL'=438 +'ENABLE'=439 +'ENABLE_PARALLEL_DML'=440 +'ENABLE_PRESET'=441 +'ENCODING'=442 +'ENCRYPT'=443 +'ENCRYPTION'=444 +'END'=445 +'END_OUTLINE_DATA'=446 +'ENFORCED'=447 +'ENFORCE'=448 +'ENQUEUE'=449 +'ENTERPRISE'=450 +'ENTITYESCAPING'=451 +'ENTRY'=452 +'EQUIPART'=453 +'ERR'=454 +'ERROR_ARGUMENT'=455 +'ERROR'=456 +'ERROR_ON_OVERLAP_TIME'=457 +'ERRORS'=458 +'ESCAPE'=459 +'ESTIMATE'=460 +'EVAL'=461 +'EVALNAME'=462 +'EVALUATE'=463 +'EVALUATION'=464 +'EVENTS'=465 +'EVERY'=466 +'EXCEPT'=467 +'EXCEPTION'=468 +'EXCEPTION_INIT'=469 +'EXCEPTIONS'=470 +'EXCHANGE'=471 +'EXCLUDE'=472 +'EXCLUDING'=473 +'EXCLUSIVE'=474 +'EXECUTE'=475 +'EXEMPT'=476 +'EXISTING'=477 +'EXISTS'=478 +'EXISTSNODE'=479 +'EXIT'=480 +'EXPAND_GSET_TO_UNION'=481 +'EXPAND_TABLE'=482 +'EXP'=483 +'EXPIRE'=484 +'EXPLAIN'=485 +'EXPLOSION'=486 +'EXPORT'=487 +'EXPR_CORR_CHECK'=488 +'EXPRESS'=489 +'EXTENDS'=490 +'EXTENT'=491 +'EXTENTS'=492 +'EXTERNAL'=493 +'EXTERNALLY'=494 +'EXTRACTCLOBXML'=495 +'EXTRACT'=496 +'EXTRACTVALUE'=497 +'EXTRA'=498 +'FACILITY'=499 +'FACT'=500 +'FACTOR'=501 +'FACTORIZE_JOIN'=502 +'FAILED'=503 +'FAILED_LOGIN_ATTEMPTS'=504 +'FAILGROUP'=505 +'FAILOVER'=506 +'FAILURE'=507 +'FALSE'=508 +'FAMILY'=509 +'FAR'=510 +'FAST'=511 +'FASTSTART'=512 +'FBTSCAN'=513 +'FEATURE_DETAILS'=514 +'FEATURE_ID'=515 +'FEATURE_SET'=516 +'FEATURE_VALUE'=517 +'FETCH'=518 +'FILE'=519 +'FILE_NAME_CONVERT'=520 +'FILESYSTEM_LIKE_LOGGING'=521 +'FILTER'=522 +'FINAL'=523 +'FINE'=524 +'FINISH'=525 +'FIRST'=526 +'FIRSTM'=527 +'FIRST_ROWS'=528 +'FIRST_VALUE'=529 +'FIXED_VIEW_DATA'=530 +'FLAGGER'=531 +'FLASHBACK'=532 +'FLASH_CACHE'=533 +'FLOAT'=534 +'FLOB'=535 +'FLOOR'=536 +'FLUSH'=537 +'FOLDER'=538 +'FOLLOWING'=539 +'FOLLOWS'=540 +'FORALL'=541 +'FORCE'=542 +'FORCE_XML_QUERY_REWRITE'=543 +'FOREIGN'=544 +'FOREVER'=545 +'FOR'=546 +'FORMAT'=547 +'FORWARD'=548 +'FRAGMENT_NUMBER'=549 +'FREELIST'=550 +'FREELISTS'=551 +'FREEPOOLS'=552 +'FRESH'=553 +'FROM'=554 +'FROM_TZ'=555 +'FULL'=556 +'FULL_OUTER_JOIN_TO_OUTER'=557 +'FUNCTION'=558 +'FUNCTIONS'=559 +'GATHER_OPTIMIZER_STATISTICS'=560 +'GATHER_PLAN_STATISTICS'=561 +'GBY_CONC_ROLLUP'=562 +'GBY_PUSHDOWN'=563 +'GENERATED'=564 +'GET'=565 +'GLOBAL'=566 +'GLOBALLY'=567 +'GLOBAL_NAME'=568 +'GLOBAL_TOPIC_ENABLED'=569 +'GOTO'=570 +'GRANT'=571 +'GROUP_BY'=572 +'GROUP'=573 +'GROUP_ID'=574 +'GROUPING'=575 +'GROUPING_ID'=576 +'GROUPS'=577 +'GUARANTEED'=578 +'GUARANTEE'=579 +'GUARD'=580 +'HASH_AJ'=581 +'HASH'=582 +'HASHKEYS'=583 +'HASH_SJ'=584 +'HAVING'=585 +'HEADER'=586 +'HEAP'=587 +'HELP'=588 +'HEXTORAW'=589 +'HEXTOREF'=590 +'HIDDEN'=591 +'HIDE'=592 +'HIERARCHY'=593 +'HIGH'=594 +'HINTSET_BEGIN'=595 +'HINTSET_END'=596 +'HOT'=597 +'HOUR'=598 +'HWM_BROKERED'=599 +'HYBRID'=600 +'IDENTIFIED'=601 +'IDENTIFIER'=602 +'IDENTITY'=603 +'IDGENERATORS'=604 +'ID'=605 +'IDLE_TIME'=606 +'IF'=607 +'IGNORE'=608 +'IGNORE_OPTIM_EMBEDDED_HINTS'=609 +'IGNORE_ROW_ON_DUPKEY_INDEX'=610 +'IGNORE_WHERE_CLAUSE'=611 +'ILM'=612 +'IMMEDIATE'=613 +'IMPACT'=614 +'IMPORT'=615 +'INACTIVE'=616 +'INCLUDE'=617 +'INCLUDE_VERSION'=618 +'INCLUDING'=619 +'INCREMENTAL'=620 +'INCREMENT'=621 +'INCR'=622 +'INDENT'=623 +'INDEX_ASC'=624 +'INDEX_COMBINE'=625 +'INDEX_DESC'=626 +'INDEXED'=627 +'INDEXES'=628 +'INDEX_FFS'=629 +'INDEX_FILTER'=630 +'INDEX'=631 +'INDEXING'=632 +'INDEX_JOIN'=633 +'INDEX_ROWS'=634 +'INDEX_RRS'=635 +'INDEX_RS_ASC'=636 +'INDEX_RS_DESC'=637 +'INDEX_RS'=638 +'INDEX_SCAN'=639 +'INDEX_SKIP_SCAN'=640 +'INDEX_SS_ASC'=641 +'INDEX_SS_DESC'=642 +'INDEX_SS'=643 +'INDEX_STATS'=644 +'INDEXTYPE'=645 +'INDEXTYPES'=646 +'INDICATOR'=647 +'INDICES'=648 +'INFINITE'=649 +'INFORMATIONAL'=650 +'INHERIT'=651 +'IN'=652 +'INITCAP'=653 +'INITIAL'=654 +'INITIALIZED'=655 +'INITIALLY'=656 +'INITRANS'=657 +'INLINE'=658 +'INLINE_XMLTYPE_NT'=659 +'INMEMORY'=660 +'IN_MEMORY_METADATA'=661 +'INMEMORY_PRUNING'=662 +'INNER'=663 +'INOUT'=664 +'INPLACE'=665 +'INSERTCHILDXMLAFTER'=666 +'INSERTCHILDXMLBEFORE'=667 +'INSERTCHILDXML'=668 +'INSERT'=669 +'INSERTXMLAFTER'=670 +'INSERTXMLBEFORE'=671 +'INSTANCE'=672 +'INSTANCES'=673 +'INSTANTIABLE'=674 +'INSTANTLY'=675 +'INSTEAD'=676 +'INSTR2'=677 +'INSTR4'=678 +'INSTRB'=679 +'INSTRC'=680 +'INSTR'=681 +'INTEGER'=682 +'INTERLEAVED'=683 +'INTERMEDIATE'=684 +'INTERNAL_CONVERT'=685 +'INTERNAL_USE'=686 +'INTERPRETED'=687 +'INTERSECT'=688 +'INTERVAL'=689 +'INT'=690 +'INTO'=691 +'INVALIDATE'=692 +'INVISIBLE'=693 +'IN_XQUERY'=694 +'IS'=695 +'ISOLATION'=696 +'ISOLATION_LEVEL'=697 +'ITERATE'=698 +'ITERATION_NUMBER'=699 +'JAVA'=700 +'JOB'=701 +'JOIN'=702 +'JSON_ARRAYAGG'=703 +'JSON_ARRAY'=704 +'JSON_EQUAL'=705 +'JSON_EXISTS2'=706 +'JSON_EXISTS'=707 +'JSONGET'=708 +'JSON'=709 +'JSON_OBJECTAGG'=710 +'JSON_OBJECT'=711 +'JSONPARSE'=712 +'JSON_QUERY'=713 +'JSON_SERIALIZE'=714 +'JSON_TABLE'=715 +'JSON_TEXTCONTAINS2'=716 +'JSON_TEXTCONTAINS'=717 +'JSON_VALUE'=718 +'KEEP_DUPLICATES'=719 +'KEEP'=720 +'KERBEROS'=721 +'KEY'=722 +'KEY_LENGTH'=723 +'KEYSIZE'=724 +'KEYS'=725 +'KEYSTORE'=726 +'KILL'=727 +'LABEL'=728 +'LANGUAGE'=729 +'LAST_DAY'=730 +'LAST'=731 +'LAST_VALUE'=732 +'LATERAL'=733 +'LAX'=734 +'LAYER'=735 +'LDAP_REGISTRATION_ENABLED'=736 +'LDAP_REGISTRATION'=737 +'LDAP_REG_SYNC_INTERVAL'=738 +'LEADING'=739 +'LEFT'=740 +'LENGTH2'=741 +'LENGTH4'=742 +'LENGTHB'=743 +'LENGTHC'=744 +'LENGTH'=745 +'LESS'=746 +'LEVEL'=747 +'LEVELS'=748 +'LIBRARY'=749 +'LIFECYCLE'=750 +'LIFE'=751 +'LIFETIME'=752 +'LIKE2'=753 +'LIKE4'=754 +'LIKEC'=755 +'LIKE_EXPAND'=756 +'LIKE'=757 +'LIMIT'=758 +'LINEAR'=759 +'LINK'=760 +'LIST'=761 +'LN'=762 +'LNNVL'=763 +'LOAD'=764 +'LOB'=765 +'LOBNVL'=766 +'LOBS'=767 +'LOCAL_INDEXES'=768 +'LOCAL'=769 +'LOCALTIME'=770 +'LOCALTIMESTAMP'=771 +'LOCATION'=772 +'LOCATOR'=773 +'LOCKED'=774 +'LOCKING'=775 +'LOCK'=776 +'LOGFILE'=777 +'LOGFILES'=778 +'LOGGING'=779 +'LOGICAL'=780 +'LOGICAL_READS_PER_CALL'=781 +'LOGICAL_READS_PER_SESSION'=782 +'LOG'=783 +'LOGMINING'=784 +'LOGOFF'=785 +'LOGON'=786 +'LOG_READ_ONLY_VIOLATIONS'=787 +'LONG'=788 +'LOOP'=789 +'LOWER'=790 +'LOW'=791 +'LPAD'=792 +'LTRIM'=793 +'MAIN'=794 +'MAKE_REF'=795 +'MANAGED'=796 +'MANAGE'=797 +'MANAGEMENT'=798 +'MANAGER'=799 +'MANUAL'=800 +'MAP'=801 +'MAPPING'=802 +'MASTER'=803 +'MATCHED'=804 +'MATCHES'=805 +'MATCH'=806 +'MATCH_NUMBER'=807 +'MATCH_RECOGNIZE'=808 +'MATERIALIZED'=809 +'MATERIALIZE'=810 +'MAXARCHLOGS'=811 +'MAXDATAFILES'=812 +'MAXEXTENTS'=813 +'MAXIMIZE'=814 +'MAXINSTANCES'=815 +'MAXLOGFILES'=816 +'MAXLOGHISTORY'=817 +'MAXLOGMEMBERS'=818 +'MAX_SHARED_TEMP_SIZE'=819 +'MAXSIZE'=820 +'MAXTRANS'=821 +'MAXVALUE'=822 +'MEASURE'=823 +'MEASURES'=824 +'MEDIUM'=825 +'MEMBER'=826 +'MEMCOMPRESS'=827 +'MEMORY'=828 +'MERGE$ACTIONS'=829 +'MERGE_AJ'=830 +'MERGE_CONST_ON'=831 +'MERGE'=832 +'MERGE_SJ'=833 +'METADATA'=834 +'METHOD'=835 +'MIGRATE'=836 +'MIGRATION'=837 +'MINEXTENTS'=838 +'MINIMIZE'=839 +'MINIMUM'=840 +'MINING'=841 +'MINUS'=842 +'MINUS_NULL'=843 +'MINUTE'=844 +'MINVALUE'=845 +'MIRRORCOLD'=846 +'MIRRORHOT'=847 +'MIRROR'=848 +'MLSLABEL'=849 +'MODEL_COMPILE_SUBQUERY'=850 +'MODEL_DONTVERIFY_UNIQUENESS'=851 +'MODEL_DYNAMIC_SUBQUERY'=852 +'MODEL_MIN_ANALYSIS'=853 +'MODEL'=854 +'MODEL_NB'=855 +'MODEL_NO_ANALYSIS'=856 +'MODEL_PBY'=857 +'MODEL_PUSH_REF'=858 +'MODEL_SV'=859 +'MODE'=860 +'MODIFICATION'=861 +'MODIFY_COLUMN_TYPE'=862 +'MODIFY'=863 +'MOD'=864 +'MODULE'=865 +'MONITORING'=866 +'MONITOR'=867 +'MONTH'=868 +'MONTHS_BETWEEN'=869 +'MONTHS'=870 +'MOUNT'=871 +'MOUNTPATH'=872 +'MOVEMENT'=873 +'MOVE'=874 +'MULTIDIMENSIONAL'=875 +'MULTISET'=876 +'MV_MERGE'=877 +'NAMED'=878 +'NAME'=879 +'NAMESPACE'=880 +'NAN'=881 +'NANVL'=882 +'NATIONAL'=883 +'NATIVE_FULL_OUTER_JOIN'=884 +'NATIVE'=885 +'NATURAL'=886 +'NATURALN'=887 +'NAV'=888 +'NCHAR_CS'=889 +'NCHAR'=890 +'NCHR'=891 +'NCLOB'=892 +'NEEDED'=893 +'NEG'=894 +'NESTED'=895 +'NESTED_TABLE_FAST_INSERT'=896 +'NESTED_TABLE_GET_REFS'=897 +'NESTED_TABLE_ID'=898 +'NESTED_TABLE_SET_REFS'=899 +'NESTED_TABLE_SET_SETID'=900 +'NETWORK'=901 +'NEVER'=902 +'NEW'=903 +'NEW_TIME'=904 +'NEXT_DAY'=905 +'NEXT'=906 +'NL_AJ'=907 +'NLJ_BATCHING'=908 +'NLJ_INDEX_FILTER'=909 +'NLJ_INDEX_SCAN'=910 +'NLJ_PREFETCH'=911 +'NLS_CALENDAR'=912 +'NLS_CHARACTERSET'=913 +'NLS_CHARSET_DECL_LEN'=914 +'NLS_CHARSET_ID'=915 +'NLS_CHARSET_NAME'=916 +'NLS_COMP'=917 +'NLS_CURRENCY'=918 +'NLS_DATE_FORMAT'=919 +'NLS_DATE_LANGUAGE'=920 +'NLS_INITCAP'=921 +'NLS_ISO_CURRENCY'=922 +'NL_SJ'=923 +'NLS_LANG'=924 +'NLS_LANGUAGE'=925 +'NLS_LENGTH_SEMANTICS'=926 +'NLS_LOWER'=927 +'NLS_NCHAR_CONV_EXCP'=928 +'NLS_NUMERIC_CHARACTERS'=929 +'NLS_SORT'=930 +'NLSSORT'=931 +'NLS_SPECIAL_CHARS'=932 +'NLS_TERRITORY'=933 +'NLS_UPPER'=934 +'NO_ACCESS'=935 +'NO_ADAPTIVE_PLAN'=936 +'NO_ANSI_REARCH'=937 +'NOAPPEND'=938 +'NOARCHIVELOG'=939 +'NOAUDIT'=940 +'NO_AUTO_REOPTIMIZE'=941 +'NO_BASETABLE_MULTIMV_REWRITE'=942 +'NO_BATCH_TABLE_ACCESS_BY_ROWID'=943 +'NO_BIND_AWARE'=944 +'NO_BUFFER'=945 +'NOCACHE'=946 +'NO_CARTESIAN'=947 +'NO_CHECK_ACL_REWRITE'=948 +'NO_CLUSTER_BY_ROWID'=949 +'NO_CLUSTERING'=950 +'NO_COALESCE_SQ'=951 +'NO_COMMON_DATA'=952 +'NOCOMPRESS'=953 +'NO_CONNECT_BY_CB_WHR_ONLY'=954 +'NO_CONNECT_BY_COMBINE_SW'=955 +'NO_CONNECT_BY_COST_BASED'=956 +'NO_CONNECT_BY_ELIM_DUPS'=957 +'NO_CONNECT_BY_FILTERING'=958 +'NOCOPY'=959 +'NO_COST_XML_QUERY_REWRITE'=960 +'NO_CPU_COSTING'=961 +'NOCPU_COSTING'=962 +'NOCYCLE'=963 +'NO_DATA_SECURITY_REWRITE'=964 +'NO_DECORRELATE'=965 +'NODELAY'=966 +'NO_DOMAIN_INDEX_FILTER'=967 +'NO_DST_UPGRADE_INSERT_CONV'=968 +'NO_ELIM_GROUPBY'=969 +'NO_ELIMINATE_JOIN'=970 +'NO_ELIMINATE_OBY'=971 +'NO_ELIMINATE_OUTER_JOIN'=972 +'NOENTITYESCAPING'=973 +'NO_EXPAND_GSET_TO_UNION'=974 +'NO_EXPAND'=975 +'NO_EXPAND_TABLE'=976 +'NO_FACT'=977 +'NO_FACTORIZE_JOIN'=978 +'NO_FILTERING'=979 +'NOFORCE'=980 +'NO_FULL_OUTER_JOIN_TO_OUTER'=981 +'NO_GATHER_OPTIMIZER_STATISTICS'=982 +'NO_GBY_PUSHDOWN'=983 +'NOGUARANTEE'=984 +'NO_INDEX_FFS'=985 +'NO_INDEX'=986 +'NO_INDEX_SS'=987 +'NO_INMEMORY'=988 +'NO_INMEMORY_PRUNING'=989 +'NOKEEP'=990 +'NO_LOAD'=991 +'NOLOCAL'=992 +'NOLOGGING'=993 +'NOMAPPING'=994 +'NOMAXVALUE'=995 +'NO_MERGE'=996 +'NOMINIMIZE'=997 +'NOMINVALUE'=998 +'NO_MODEL_PUSH_REF'=999 +'NO_MONITORING'=1000 +'NOMONITORING'=1001 +'NO_MONITOR'=1002 +'NO_MULTIMV_REWRITE'=1003 +'NO_NATIVE_FULL_OUTER_JOIN'=1004 +'NONBLOCKING'=1005 +'NONEDITIONABLE'=1006 +'NONE'=1007 +'NO_NLJ_BATCHING'=1008 +'NO_NLJ_PREFETCH'=1009 +'NO'=1010 +'NONSCHEMA'=1011 +'NO_OBJECT_LINK'=1012 +'NOORDER'=1013 +'NO_ORDER_ROLLUPS'=1014 +'NO_OUTER_JOIN_TO_ANTI'=1015 +'NO_OUTER_JOIN_TO_INNER'=1016 +'NOOVERRIDE'=1017 +'NO_PARALLEL_INDEX'=1018 +'NOPARALLEL_INDEX'=1019 +'NO_PARALLEL'=1020 +'NOPARALLEL'=1021 +'NO_PARTIAL_COMMIT'=1022 +'NO_PARTIAL_JOIN'=1023 +'NO_PARTIAL_ROLLUP_PUSHDOWN'=1024 +'NOPARTITION'=1025 +'NO_PLACE_DISTINCT'=1026 +'NO_PLACE_GROUP_BY'=1027 +'NO_PQ_CONCURRENT_UNION'=1028 +'NO_PQ_MAP'=1029 +'NO_PQ_REPLICATE'=1030 +'NO_PQ_SKEW'=1031 +'NO_PRUNE_GSETS'=1032 +'NO_PULL_PRED'=1033 +'NO_PUSH_PRED'=1034 +'NO_PUSH_SUBQ'=1035 +'NO_PX_FAULT_TOLERANCE'=1036 +'NO_PX_JOIN_FILTER'=1037 +'NO_QKN_BUFF'=1038 +'NO_QUERY_TRANSFORMATION'=1039 +'NO_REF_CASCADE'=1040 +'NORELOCATE'=1041 +'NORELY'=1042 +'NOREPAIR'=1043 +'NOREPLAY'=1044 +'NORESETLOGS'=1045 +'NO_RESULT_CACHE'=1046 +'NOREVERSE'=1047 +'NO_REWRITE'=1048 +'NOREWRITE'=1049 +'NORMAL'=1050 +'NO_ROOT_SW_FOR_LOCAL'=1051 +'NOROWDEPENDENCIES'=1052 +'NOSCHEMACHECK'=1053 +'NOSEGMENT'=1054 +'NO_SEMIJOIN'=1055 +'NO_SEMI_TO_INNER'=1056 +'NO_SET_TO_JOIN'=1057 +'NOSORT'=1058 +'NO_SQL_TRANSLATION'=1059 +'NO_SQL_TUNE'=1060 +'NO_STAR_TRANSFORMATION'=1061 +'NO_STATEMENT_QUEUING'=1062 +'NO_STATS_GSETS'=1063 +'NOSTRICT'=1064 +'NO_SUBQUERY_PRUNING'=1065 +'NO_SUBSTRB_PAD'=1066 +'NO_SWAP_JOIN_INPUTS'=1067 +'NOSWITCH'=1068 +'NO_TABLE_LOOKUP_BY_NL'=1069 +'NO_TEMP_TABLE'=1070 +'NOTHING'=1071 +'NOTIFICATION'=1072 +'NOT'=1073 +'NO_TRANSFORM_DISTINCT_AGG'=1074 +'NO_UNNEST'=1075 +'NO_USE_CUBE'=1076 +'NO_USE_HASH_AGGREGATION'=1077 +'NO_USE_HASH_GBY_FOR_PUSHDOWN'=1078 +'NO_USE_HASH'=1079 +'NO_USE_INVISIBLE_INDEXES'=1080 +'NO_USE_MERGE'=1081 +'NO_USE_NL'=1082 +'NO_USE_VECTOR_AGGREGATION'=1083 +'NOVALIDATE'=1084 +'NO_VECTOR_TRANSFORM_DIMS'=1085 +'NO_VECTOR_TRANSFORM_FACT'=1086 +'NO_VECTOR_TRANSFORM'=1087 +'NOWAIT'=1088 +'NO_XDB_FASTPATH_INSERT'=1089 +'NO_XML_DML_REWRITE'=1090 +'NO_XMLINDEX_REWRITE_IN_SELECT'=1091 +'NO_XMLINDEX_REWRITE'=1092 +'NO_XML_QUERY_REWRITE'=1093 +'NO_ZONEMAP'=1094 +'NTH_VALUE'=1095 +'NULLIF'=1096 +'NULL'=1097 +'NULLS'=1098 +'NUMBER'=1099 +'NUMERIC'=1100 +'NUM_INDEX_KEYS'=1101 +'NUMTODSINTERVAL'=1102 +'NUMTOYMINTERVAL'=1103 +'NVARCHAR2'=1104 +'NVL2'=1105 +'OBJECT2XML'=1106 +'OBJECT'=1107 +'OBJ_ID'=1108 +'OBJNO'=1109 +'OBJNO_REUSE'=1110 +'OCCURENCES'=1111 +'OFFLINE'=1112 +'OFF'=1113 +'OFFSET'=1114 +'OF'=1115 +'OIDINDEX'=1116 +'OID'=1117 +'OLAP'=1118 +'OLD'=1119 +'OLD_PUSH_PRED'=1120 +'OLS'=1121 +'OLTP'=1122 +'OMIT'=1123 +'ONE'=1124 +'ONLINE'=1125 +'ONLINELOG'=1126 +'ONLY'=1127 +'ON'=1128 +'OPAQUE'=1129 +'OPAQUE_TRANSFORM'=1130 +'OPAQUE_XCANONICAL'=1131 +'OPCODE'=1132 +'OPEN'=1133 +'OPERATIONS'=1134 +'OPERATOR'=1135 +'OPT_ESTIMATE'=1136 +'OPTIMAL'=1137 +'OPTIMIZE'=1138 +'OPTIMIZER_FEATURES_ENABLE'=1139 +'OPTIMIZER_GOAL'=1140 +'OPTION'=1141 +'OPT_PARAM'=1142 +'ORA_BRANCH'=1143 +'ORA_CHECK_ACL'=1144 +'ORA_CHECK_PRIVILEGE'=1145 +'ORA_CLUSTERING'=1146 +'ORADATA'=1147 +'ORADEBUG'=1148 +'ORA_DST_AFFECTED'=1149 +'ORA_DST_CONVERT'=1150 +'ORA_DST_ERROR'=1151 +'ORA_GET_ACLIDS'=1152 +'ORA_GET_PRIVILEGES'=1153 +'ORA_HASH'=1154 +'ORA_INVOKING_USERID'=1155 +'ORA_INVOKING_USER'=1156 +'ORA_INVOKING_XS_USER_GUID'=1157 +'ORA_INVOKING_XS_USER'=1158 +'ORA_RAWCOMPARE'=1159 +'ORA_RAWCONCAT'=1160 +'ORA_ROWSCN'=1161 +'ORA_ROWSCN_RAW'=1162 +'ORA_ROWVERSION'=1163 +'ORA_TABVERSION'=1164 +'ORA_WRITE_TIME'=1165 +'ORDERED'=1166 +'ORDERED_PREDICATES'=1167 +'ORDER'=1168 +'ORDINALITY'=1169 +'OR_EXPAND'=1170 +'ORGANIZATION'=1171 +'OR'=1172 +'OR_PREDICATES'=1173 +'OSERROR'=1174 +'OTHER'=1175 +'OUTER_JOIN_TO_ANTI'=1176 +'OUTER_JOIN_TO_INNER'=1177 +'OUTER'=1178 +'OUTLINE_LEAF'=1179 +'OUTLINE'=1180 +'OUT_OF_LINE'=1181 +'OUT'=1182 +'OVERFLOW_NOMOVE'=1183 +'OVERFLOW'=1184 +'OVERLAPS'=1185 +'OVER'=1186 +'OVERRIDING'=1187 +'OWNER'=1188 +'OWNERSHIP'=1189 +'OWN'=1190 +'PACKAGE'=1191 +'PACKAGES'=1192 +'PARALLEL_ENABLE'=1193 +'PARALLEL_INDEX'=1194 +'PARALLEL'=1195 +'PARAMETERFILE'=1196 +'PARAMETERS'=1197 +'PARAM'=1198 +'PARENT'=1199 +'PARITY'=1200 +'PARTIAL_JOIN'=1201 +'PARTIALLY'=1202 +'PARTIAL'=1203 +'PARTIAL_ROLLUP_PUSHDOWN'=1204 +'PARTITION_HASH'=1205 +'PARTITION_LIST'=1206 +'PARTITION'=1207 +'PARTITION_RANGE'=1208 +'PARTITIONS'=1209 +'PART$NUM$INST'=1210 +'PASSING'=1211 +'PASSWORD_GRACE_TIME'=1212 +'PASSWORD_LIFE_TIME'=1213 +'PASSWORD_LOCK_TIME'=1214 +'PASSWORD'=1215 +'PASSWORD_REUSE_MAX'=1216 +'PASSWORD_REUSE_TIME'=1217 +'PASSWORD_VERIFY_FUNCTION'=1218 +'PAST'=1219 +'PATCH'=1220 +'PATH'=1221 +'PATH_PREFIX'=1222 +'PATHS'=1223 +'PATTERN'=1224 +'PBL_HS_BEGIN'=1225 +'PBL_HS_END'=1226 +'PCTFREE'=1227 +'PCTINCREASE'=1228 +'PCTTHRESHOLD'=1229 +'PCTUSED'=1230 +'PCTVERSION'=1231 +'PENDING'=1232 +'PERCENT'=1236 +'PERCENT_RANKM'=1237 +'PERFORMANCE'=1241 +'PERIOD'=1242 +'PERMANENT'=1243 +'PERMISSION'=1244 +'PERMUTE'=1245 +'PER'=1246 +'PFILE'=1247 +'PHYSICAL'=1248 +'PIKEY'=1249 +'PIPELINED'=1250 +'PIPE'=1251 +'PIV_GB'=1252 +'PIVOT'=1253 +'PIV_SSF'=1254 +'PLACE_DISTINCT'=1255 +'PLACE_GROUP_BY'=1256 +'PLAN'=1257 +'PLSCOPE_SETTINGS'=1258 +'PLS_INTEGER'=1259 +'PLSQL_CCFLAGS'=1260 +'PLSQL_CODE_TYPE'=1261 +'PLSQL_DEBUG'=1262 +'PLSQL_OPTIMIZE_LEVEL'=1263 +'PLSQL_WARNINGS'=1264 +'PLUGGABLE'=1265 +'POINT'=1266 +'POLICY'=1267 +'POOL_16K'=1268 +'POOL_2K'=1269 +'POOL_32K'=1270 +'POOL_4K'=1271 +'POOL_8K'=1272 +'POSITIVEN'=1273 +'POSITIVE'=1274 +'POST_TRANSACTION'=1275 +'POWERMULTISET_BY_CARDINALITY'=1276 +'POWERMULTISET'=1277 +'POWER'=1278 +'PQ_CONCURRENT_UNION'=1279 +'PQ_DISTRIBUTE'=1280 +'PQ_DISTRIBUTE_WINDOW'=1281 +'PQ_FILTER'=1282 +'PQ_MAP'=1283 +'PQ_NOMAP'=1284 +'PQ_REPLICATE'=1285 +'PQ_SKEW'=1286 +'PRAGMA'=1287 +'PREBUILT'=1288 +'PRECEDES'=1289 +'PRECEDING'=1290 +'PRECISION'=1291 +'PRECOMPUTE_SUBQUERY'=1292 +'PREDICATE_REORDERS'=1293 +'PRELOAD'=1294 +'PREPARE'=1295 +'PRESENTNNV'=1296 +'PRESENT'=1297 +'PRESENTV'=1298 +'PRESERVE_OID'=1299 +'PRESERVE'=1300 +'PRETTY'=1301 +'PREVIOUS'=1302 +'PREV'=1303 +'PRIMARY'=1304 +'PRINTBLOBTOCLOB'=1305 +'PRIORITY'=1306 +'PRIOR'=1307 +'PRIVATE'=1308 +'PRIVATE_SGA'=1309 +'PRIVILEGED'=1310 +'PRIVILEGE'=1311 +'PRIVILEGES'=1312 +'PROCEDURAL'=1313 +'PROCEDURE'=1314 +'PROCESS'=1315 +'PROFILE'=1316 +'PROGRAM'=1317 +'PROJECT'=1318 +'PROPAGATE'=1319 +'PROTECTED'=1320 +'PROTECTION'=1321 +'PROXY'=1322 +'PRUNING'=1323 +'PUBLIC'=1324 +'PULL_PRED'=1325 +'PURGE'=1326 +'PUSH_PRED'=1327 +'PUSH_SUBQ'=1328 +'PX_FAULT_TOLERANCE'=1329 +'PX_GRANULE'=1330 +'PX_JOIN_FILTER'=1331 +'QB_NAME'=1332 +'QUERY_BLOCK'=1333 +'QUERY'=1334 +'QUEUE_CURR'=1335 +'QUEUE'=1336 +'QUEUE_ROWP'=1337 +'QUIESCE'=1338 +'QUORUM'=1339 +'QUOTA'=1340 +'RAISE'=1341 +'RANDOM_LOCAL'=1342 +'RANDOM'=1343 +'RANGE'=1344 +'RANKM'=1345 +'RAPIDLY'=1346 +'RAW'=1347 +'RAWTOHEX'=1348 +'RAWTONHEX'=1349 +'RBA'=1350 +'RBO_OUTLINE'=1351 +'RDBA'=1352 +'READ'=1353 +'READS'=1354 +'REALM'=1355 +'REAL'=1356 +'REBALANCE'=1357 +'REBUILD'=1358 +'RECORD'=1359 +'RECORDS_PER_BLOCK'=1360 +'RECOVERABLE'=1361 +'RECOVER'=1362 +'RECOVERY'=1363 +'RECYCLEBIN'=1364 +'RECYCLE'=1365 +'REDACTION'=1366 +'REDEFINE'=1367 +'REDO'=1368 +'REDUCED'=1369 +'REDUNDANCY'=1370 +'REF_CASCADE_CURSOR'=1371 +'REFERENCED'=1372 +'REFERENCE'=1373 +'REFERENCES'=1374 +'REFERENCING'=1375 +'REF'=1376 +'REFRESH'=1377 +'REFTOHEX'=1378 +'REGEXP_COUNT'=1379 +'REGEXP_INSTR'=1380 +'REGEXP_LIKE'=1381 +'REGEXP_REPLACE'=1382 +'REGEXP_SUBSTR'=1383 +'REGISTER'=1384 +'REGR_AVGX'=1385 +'REGR_AVGY'=1386 +'REGR_COUNT'=1387 +'REGR_INTERCEPT'=1388 +'REGR_R2'=1389 +'REGR_SLOPE'=1390 +'REGR_SXX'=1391 +'REGR_SXY'=1392 +'REGR_SYY'=1393 +'REGULAR'=1394 +'REJECT'=1395 +'REKEY'=1396 +'RELATIONAL'=1397 +'RELIES_ON'=1398 +'RELOCATE'=1399 +'RELY'=1400 +'REMAINDER'=1401 +'REMOTE_MAPPED'=1402 +'REMOVE'=1403 +'RENAME'=1404 +'REPAIR'=1405 +'REPEAT'=1406 +'REPLACE'=1407 +'REPLICATION'=1408 +'REQUIRED'=1409 +'RESETLOGS'=1410 +'RESET'=1411 +'RESIZE'=1412 +'RESOLVE'=1413 +'RESOLVER'=1414 +'RESOURCE'=1415 +'RESPECT'=1416 +'RESTART'=1417 +'RESTORE_AS_INTERVALS'=1418 +'RESTORE'=1419 +'RESTRICT_ALL_REF_CONS'=1420 +'RESTRICTED'=1421 +'RESTRICT_REFERENCES'=1422 +'RESTRICT'=1423 +'RESULT_CACHE'=1424 +'RESULT'=1425 +'RESUMABLE'=1426 +'RESUME'=1427 +'RETENTION'=1428 +'RETRY_ON_ROW_CHANGE'=1429 +'RETURNING'=1430 +'RETURN'=1431 +'REUSE'=1432 +'REVERSE'=1433 +'REVOKE'=1434 +'REWRITE_OR_ERROR'=1435 +'REWRITE'=1436 +'RIGHT'=1437 +'ROLE'=1438 +'ROLESET'=1439 +'ROLES'=1440 +'ROLLBACK'=1441 +'ROLLING'=1442 +'ROLLUP'=1443 +'ROWDEPENDENCIES'=1444 +'ROWID_MAPPING_TABLE'=1445 +'ROWID'=1446 +'ROWIDTOCHAR'=1447 +'ROWIDTONCHAR'=1448 +'ROW_LENGTH'=1449 +'ROWNUM'=1450 +'ROW'=1451 +'ROWS'=1452 +'RPAD'=1453 +'RTRIM'=1454 +'RULE'=1455 +'RULES'=1456 +'RUNNING'=1457 +'SALT'=1458 +'SAMPLE'=1459 +'SAVE_AS_INTERVALS'=1460 +'SAVEPOINT'=1461 +'SAVE'=1462 +'SB4'=1463 +'SCALE_ROWS'=1464 +'SCALE'=1465 +'SCAN_INSTANCES'=1466 +'SCAN'=1467 +'SCHEDULER'=1468 +'SCHEMACHECK'=1469 +'SCHEMA'=1470 +'SCN_ASCENDING'=1471 +'SCN'=1472 +'SCOPE'=1473 +'SCRUB'=1474 +'SD_ALL'=1475 +'SD_INHIBIT'=1476 +'SDO_GEOM_MBR'=1477 +'SD_SHOW'=1478 +'SEARCH'=1479 +'SECOND'=1480 +'SECRET'=1481 +'SECUREFILE_DBA'=1482 +'SECUREFILE'=1483 +'SECURITY'=1484 +'SEED'=1485 +'SEG_BLOCK'=1486 +'SEG_FILE'=1487 +'SEGMENT'=1488 +'SELECTIVITY'=1489 +'SELECT'=1490 +'SELF'=1491 +'SEMIJOIN_DRIVER'=1492 +'SEMIJOIN'=1493 +'SEMI_TO_INNER'=1494 +'SEQUENCED'=1495 +'SEQUENCE'=1496 +'SEQUENTIAL'=1497 +'SEQ'=1498 +'SERIALIZABLE'=1499 +'SERIALLY_REUSABLE'=1500 +'SERIAL'=1501 +'SERVERERROR'=1502 +'SERVICE_NAME_CONVERT'=1503 +'SERVICES'=1504 +'SESSION_CACHED_CURSORS'=1505 +'SESSION'=1506 +'SESSIONS_PER_USER'=1507 +'SESSIONTIMEZONE'=1508 +'SESSIONTZNAME'=1509 +'SET'=1510 +'SETS'=1511 +'SETTINGS'=1512 +'SET_TO_JOIN'=1513 +'SEVERE'=1514 +'SHARED_POOL'=1515 +'SHARED'=1516 +'SHARE'=1517 +'SHARING'=1518 +'SHELFLIFE'=1519 +'SHOW'=1520 +'SHRINK'=1521 +'SHUTDOWN'=1522 +'SIBLINGS'=1523 +'SID'=1524 +'SIGNAL_COMPONENT'=1525 +'SIGNAL_FUNCTION'=1526 +'SIGN'=1527 +'SIGNTYPE'=1528 +'SIMPLE_INTEGER'=1529 +'SIMPLE'=1530 +'SINGLE'=1531 +'SINGLETASK'=1532 +'SINH'=1533 +'SIN'=1534 +'SIZE'=1535 +'SKIP_EXT_OPTIMIZER'=1536 +'SKIP'=1537 +'SKIP_UNQ_UNUSABLE_IDX'=1538 +'SKIP_UNUSABLE_INDEXES'=1539 +'SMALLFILE'=1540 +'SMALLINT'=1541 +'SNAPSHOT'=1542 +'SOME'=1543 +'SORT'=1544 +'SOUNDEX'=1545 +'SOURCE_FILE_DIRECTORY'=1546 +'SOURCE_FILE_NAME_CONVERT'=1547 +'SOURCE'=1548 +'SPACE'=1549 +'SPECIFICATION'=1550 +'SPFILE'=1551 +'SPLIT'=1552 +'SPREADSHEET'=1553 +'SQLDATA'=1554 +'SQLERROR'=1555 +'SQLLDR'=1556 +'SQL'=1557 +'SQL_TRACE'=1558 +'SQL_TRANSLATION_PROFILE'=1559 +'SQRT'=1560 +'STALE'=1561 +'STANDALONE'=1562 +'STANDARD_HASH'=1563 +'STANDBY_MAX_DATA_DELAY'=1564 +'STANDBYS'=1565 +'STANDBY'=1566 +'STAR'=1567 +'STAR_TRANSFORMATION'=1568 +'START'=1569 +'STARTUP'=1570 +'STATEMENT_ID'=1571 +'STATEMENT_QUEUING'=1572 +'STATEMENTS'=1573 +'STATEMENT'=1574 +'STATE'=1575 +'STATIC'=1576 +'STATISTICS'=1577 +'STATS_BINOMIAL_TEST'=1578 +'STATS_CROSSTAB'=1579 +'STATS_F_TEST'=1580 +'STATS_KS_TEST'=1581 +'STATS_MODE'=1582 +'STATS_MW_TEST'=1583 +'STATS_ONE_WAY_ANOVA'=1584 +'STATS_T_TEST_INDEP'=1585 +'STATS_T_TEST_INDEPU'=1586 +'STATS_T_TEST_ONE'=1587 +'STATS_T_TEST_PAIRED'=1588 +'STATS_WSR_TEST'=1589 +'STDDEV_POP'=1590 +'STDDEV_SAMP'=1591 +'STOP'=1592 +'STORAGE'=1593 +'STORE'=1594 +'STREAMS'=1595 +'STREAM'=1596 +'STRICT'=1597 +'STRING'=1598 +'STRIPE_COLUMNS'=1599 +'STRIPE_WIDTH'=1600 +'STRIP'=1601 +'STRUCTURE'=1602 +'SUBMULTISET'=1603 +'SUBPARTITION_REL'=1604 +'SUBPARTITIONS'=1605 +'SUBPARTITION'=1606 +'SUBQUERIES'=1607 +'SUBQUERY_PRUNING'=1608 +'SUBSCRIBE'=1609 +'SUBSET'=1610 +'SUBSTITUTABLE'=1611 +'SUBSTR2'=1612 +'SUBSTR4'=1613 +'SUBSTRB'=1614 +'SUBSTRC'=1615 +'SUBTYPE'=1616 +'SUCCESSFUL'=1617 +'SUCCESS'=1618 +'SUMMARY'=1619 +'SUPPLEMENTAL'=1620 +'SUSPEND'=1621 +'SWAP_JOIN_INPUTS'=1622 +'SWITCHOVER'=1623 +'SWITCH'=1624 +'SYNCHRONOUS'=1625 +'SYNC'=1626 +'SYNONYM'=1627 +'SYSASM'=1628 +'SYS_AUDIT'=1629 +'SYSAUX'=1630 +'SYSBACKUP'=1631 +'SYS_CHECKACL'=1632 +'SYS_CHECK_PRIVILEGE'=1633 +'SYS_CONNECT_BY_PATH'=1634 +'SYS_CONTEXT'=1635 +'SYSDATE'=1636 +'SYSDBA'=1637 +'SYS_DBURIGEN'=1638 +'SYSDG'=1639 +'SYS_DL_CURSOR'=1640 +'SYS_DM_RXFORM_CHR'=1641 +'SYS_DM_RXFORM_NUM'=1642 +'SYS_DOM_COMPARE'=1643 +'SYS_DST_PRIM2SEC'=1644 +'SYS_DST_SEC2PRIM'=1645 +'SYS_ET_BFILE_TO_RAW'=1646 +'SYS_ET_BLOB_TO_IMAGE'=1647 +'SYS_ET_IMAGE_TO_BLOB'=1648 +'SYS_ET_RAW_TO_BFILE'=1649 +'SYS_EXTPDTXT'=1650 +'SYS_EXTRACT_UTC'=1651 +'SYS_FBT_INSDEL'=1652 +'SYS_FILTER_ACLS'=1653 +'SYS_FNMATCHES'=1654 +'SYS_FNREPLACE'=1655 +'SYS_GET_ACLIDS'=1656 +'SYS_GET_COL_ACLIDS'=1657 +'SYS_GET_PRIVILEGES'=1658 +'SYS_GETTOKENID'=1659 +'SYS_GETXTIVAL'=1660 +'SYS_GUID'=1661 +'SYSGUID'=1662 +'SYSKM'=1663 +'SYS_MAKE_XMLNODEID'=1664 +'SYS_MAKEXML'=1665 +'SYS_MKXMLATTR'=1666 +'SYS_MKXTI'=1667 +'SYSOBJ'=1668 +'SYS_OP_ADT2BIN'=1669 +'SYS_OP_ADTCONS'=1670 +'SYS_OP_ALSCRVAL'=1671 +'SYS_OP_ATG'=1672 +'SYS_OP_BIN2ADT'=1673 +'SYS_OP_BITVEC'=1674 +'SYS_OP_BL2R'=1675 +'SYS_OP_BLOOM_FILTER_LIST'=1676 +'SYS_OP_BLOOM_FILTER'=1677 +'SYS_OP_C2C'=1678 +'SYS_OP_CAST'=1679 +'SYS_OP_CEG'=1680 +'SYS_OP_CL2C'=1681 +'SYS_OP_COMBINED_HASH'=1682 +'SYS_OP_COMP'=1683 +'SYS_OP_CONVERT'=1684 +'SYS_OP_COUNTCHG'=1685 +'SYS_OP_CSCONV'=1686 +'SYS_OP_CSCONVTEST'=1687 +'SYS_OP_CSR'=1688 +'SYS_OP_CSX_PATCH'=1689 +'SYS_OP_CYCLED_SEQ'=1690 +'SYS_OP_DECOMP'=1691 +'SYS_OP_DESCEND'=1692 +'SYS_OP_DISTINCT'=1693 +'SYS_OP_DRA'=1694 +'SYS_OP_DUMP'=1695 +'SYS_OP_DV_CHECK'=1696 +'SYS_OP_ENFORCE_NOT_NULL$'=1697 +'SYSOPER'=1698 +'SYS_OP_EXTRACT'=1699 +'SYS_OP_GROUPING'=1700 +'SYS_OP_GUID'=1701 +'SYS_OP_HASH'=1702 +'SYS_OP_IIX'=1703 +'SYS_OP_ITR'=1704 +'SYS_OP_KEY_VECTOR_CREATE'=1705 +'SYS_OP_KEY_VECTOR_FILTER_LIST'=1706 +'SYS_OP_KEY_VECTOR_FILTER'=1707 +'SYS_OP_KEY_VECTOR_SUCCEEDED'=1708 +'SYS_OP_KEY_VECTOR_USE'=1709 +'SYS_OP_LBID'=1710 +'SYS_OP_LOBLOC2BLOB'=1711 +'SYS_OP_LOBLOC2CLOB'=1712 +'SYS_OP_LOBLOC2ID'=1713 +'SYS_OP_LOBLOC2NCLOB'=1714 +'SYS_OP_LOBLOC2TYP'=1715 +'SYS_OP_LSVI'=1716 +'SYS_OP_LVL'=1717 +'SYS_OP_MAKEOID'=1718 +'SYS_OP_MAP_NONNULL'=1719 +'SYS_OP_MSR'=1720 +'SYS_OP_NICOMBINE'=1721 +'SYS_OP_NIEXTRACT'=1722 +'SYS_OP_NII'=1723 +'SYS_OP_NIX'=1724 +'SYS_OP_NOEXPAND'=1725 +'SYS_OP_NTCIMG$'=1726 +'SYS_OP_NUMTORAW'=1727 +'SYS_OP_OIDVALUE'=1728 +'SYS_OP_OPNSIZE'=1729 +'SYS_OP_PAR_1'=1730 +'SYS_OP_PARGID_1'=1731 +'SYS_OP_PARGID'=1732 +'SYS_OP_PAR'=1733 +'SYS_OP_PART_ID'=1734 +'SYS_OP_PIVOT'=1735 +'SYS_OP_R2O'=1736 +'SYS_OP_RAWTONUM'=1737 +'SYS_OP_RDTM'=1738 +'SYS_OP_REF'=1739 +'SYS_OP_RMTD'=1740 +'SYS_OP_ROWIDTOOBJ'=1741 +'SYS_OP_RPB'=1742 +'SYS_OPTLOBPRBSC'=1743 +'SYS_OP_TOSETID'=1744 +'SYS_OP_TPR'=1745 +'SYS_OP_TRTB'=1746 +'SYS_OPTXICMP'=1747 +'SYS_OPTXQCASTASNQ'=1748 +'SYS_OP_UNDESCEND'=1749 +'SYS_OP_VECAND'=1750 +'SYS_OP_VECBIT'=1751 +'SYS_OP_VECOR'=1752 +'SYS_OP_VECXOR'=1753 +'SYS_OP_VERSION'=1754 +'SYS_OP_VREF'=1755 +'SYS_OP_VVD'=1756 +'SYS_OP_XMLCONS_FOR_CSX'=1757 +'SYS_OP_XPTHATG'=1758 +'SYS_OP_XPTHIDX'=1759 +'SYS_OP_XPTHOP'=1760 +'SYS_OP_XTXT2SQLT'=1761 +'SYS_OP_ZONE_ID'=1762 +'SYS_ORDERKEY_DEPTH'=1763 +'SYS_ORDERKEY_MAXCHILD'=1764 +'SYS_ORDERKEY_PARENT'=1765 +'SYS_PARALLEL_TXN'=1766 +'SYS_PATHID_IS_ATTR'=1767 +'SYS_PATHID_IS_NMSPC'=1768 +'SYS_PATHID_LASTNAME'=1769 +'SYS_PATHID_LASTNMSPC'=1770 +'SYS_PATH_REVERSE'=1771 +'SYS_PXQEXTRACT'=1772 +'SYS_RAW_TO_XSID'=1773 +'SYS_RID_ORDER'=1774 +'SYS_ROW_DELTA'=1775 +'SYS_SC_2_XMLT'=1776 +'SYS_SYNRCIREDO'=1777 +'SYSTEM_DEFINED'=1778 +'SYSTEM'=1779 +'SYSTIMESTAMP'=1780 +'SYS_TYPEID'=1781 +'SYS_UMAKEXML'=1782 +'SYS_XMLANALYZE'=1783 +'SYS_XMLCONTAINS'=1784 +'SYS_XMLCONV'=1785 +'SYS_XMLEXNSURI'=1786 +'SYS_XMLGEN'=1787 +'SYS_XMLI_LOC_ISNODE'=1788 +'SYS_XMLI_LOC_ISTEXT'=1789 +'SYS_XMLINSTR'=1790 +'SYS_XMLLOCATOR_GETSVAL'=1791 +'SYS_XMLNODEID_GETCID'=1792 +'SYS_XMLNODEID_GETLOCATOR'=1793 +'SYS_XMLNODEID_GETOKEY'=1794 +'SYS_XMLNODEID_GETPATHID'=1795 +'SYS_XMLNODEID_GETPTRID'=1796 +'SYS_XMLNODEID_GETRID'=1797 +'SYS_XMLNODEID_GETSVAL'=1798 +'SYS_XMLNODEID_GETTID'=1799 +'SYS_XMLNODEID'=1800 +'SYS_XMLT_2_SC'=1801 +'SYS_XMLTRANSLATE'=1802 +'SYS_XMLTYPE2SQL'=1803 +'SYS_XQ_ASQLCNV'=1804 +'SYS_XQ_ATOMCNVCHK'=1805 +'SYS_XQBASEURI'=1806 +'SYS_XQCASTABLEERRH'=1807 +'SYS_XQCODEP2STR'=1808 +'SYS_XQCODEPEQ'=1809 +'SYS_XQCON2SEQ'=1810 +'SYS_XQCONCAT'=1811 +'SYS_XQDELETE'=1812 +'SYS_XQDFLTCOLATION'=1813 +'SYS_XQDOC'=1814 +'SYS_XQDOCURI'=1815 +'SYS_XQDURDIV'=1816 +'SYS_XQED4URI'=1817 +'SYS_XQENDSWITH'=1818 +'SYS_XQERRH'=1819 +'SYS_XQERR'=1820 +'SYS_XQESHTMLURI'=1821 +'SYS_XQEXLOBVAL'=1822 +'SYS_XQEXSTWRP'=1823 +'SYS_XQEXTRACT'=1824 +'SYS_XQEXTRREF'=1825 +'SYS_XQEXVAL'=1826 +'SYS_XQFB2STR'=1827 +'SYS_XQFNBOOL'=1828 +'SYS_XQFNCMP'=1829 +'SYS_XQFNDATIM'=1830 +'SYS_XQFNLNAME'=1831 +'SYS_XQFNNM'=1832 +'SYS_XQFNNSURI'=1833 +'SYS_XQFNPREDTRUTH'=1834 +'SYS_XQFNQNM'=1835 +'SYS_XQFNROOT'=1836 +'SYS_XQFORMATNUM'=1837 +'SYS_XQFTCONTAIN'=1838 +'SYS_XQFUNCR'=1839 +'SYS_XQGETCONTENT'=1840 +'SYS_XQINDXOF'=1841 +'SYS_XQINSERT'=1842 +'SYS_XQINSPFX'=1843 +'SYS_XQIRI2URI'=1844 +'SYS_XQLANG'=1845 +'SYS_XQLLNMFRMQNM'=1846 +'SYS_XQMKNODEREF'=1847 +'SYS_XQNILLED'=1848 +'SYS_XQNODENAME'=1849 +'SYS_XQNORMSPACE'=1850 +'SYS_XQNORMUCODE'=1851 +'SYS_XQ_NRNG'=1852 +'SYS_XQNSP4PFX'=1853 +'SYS_XQNSPFRMQNM'=1854 +'SYS_XQPFXFRMQNM'=1855 +'SYS_XQ_PKSQL2XML'=1856 +'SYS_XQPOLYABS'=1857 +'SYS_XQPOLYADD'=1858 +'SYS_XQPOLYCEL'=1859 +'SYS_XQPOLYCSTBL'=1860 +'SYS_XQPOLYCST'=1861 +'SYS_XQPOLYDIV'=1862 +'SYS_XQPOLYFLR'=1863 +'SYS_XQPOLYMOD'=1864 +'SYS_XQPOLYMUL'=1865 +'SYS_XQPOLYRND'=1866 +'SYS_XQPOLYSQRT'=1867 +'SYS_XQPOLYSUB'=1868 +'SYS_XQPOLYUMUS'=1869 +'SYS_XQPOLYUPLS'=1870 +'SYS_XQPOLYVEQ'=1871 +'SYS_XQPOLYVGE'=1872 +'SYS_XQPOLYVGT'=1873 +'SYS_XQPOLYVLE'=1874 +'SYS_XQPOLYVLT'=1875 +'SYS_XQPOLYVNE'=1876 +'SYS_XQREF2VAL'=1877 +'SYS_XQRENAME'=1878 +'SYS_XQREPLACE'=1879 +'SYS_XQRESVURI'=1880 +'SYS_XQRNDHALF2EVN'=1881 +'SYS_XQRSLVQNM'=1882 +'SYS_XQRYENVPGET'=1883 +'SYS_XQRYVARGET'=1884 +'SYS_XQRYWRP'=1885 +'SYS_XQSEQ2CON4XC'=1886 +'SYS_XQSEQ2CON'=1887 +'SYS_XQSEQDEEPEQ'=1888 +'SYS_XQSEQINSB'=1889 +'SYS_XQSEQRM'=1890 +'SYS_XQSEQRVS'=1891 +'SYS_XQSEQSUB'=1892 +'SYS_XQSEQTYPMATCH'=1893 +'SYS_XQSTARTSWITH'=1894 +'SYS_XQSTATBURI'=1895 +'SYS_XQSTR2CODEP'=1896 +'SYS_XQSTRJOIN'=1897 +'SYS_XQSUBSTRAFT'=1898 +'SYS_XQSUBSTRBEF'=1899 +'SYS_XQTOKENIZE'=1900 +'SYS_XQTREATAS'=1901 +'SYS_XQ_UPKXML2SQL'=1902 +'SYS_XQXFORM'=1903 +'SYS_XSID_TO_RAW'=1904 +'SYS_ZMAP_FILTER'=1905 +'SYS_ZMAP_REFRESH'=1906 +'TABLE_LOOKUP_BY_NL'=1907 +'TABLESPACE_NO'=1908 +'TABLESPACE'=1909 +'TABLES'=1910 +'TABLE_STATS'=1911 +'TABLE'=1912 +'TABNO'=1913 +'TAG'=1914 +'TANH'=1915 +'TAN'=1916 +'TBL$OR$IDX$PART$NUM'=1917 +'TEMPFILE'=1918 +'TEMPLATE'=1919 +'TEMPORARY'=1920 +'TEMP_TABLE'=1921 +'TEST'=1922 +'TEXT'=1923 +'THAN'=1924 +'THEN'=1925 +'THE'=1926 +'THREAD'=1927 +'THROUGH'=1928 +'TIER'=1929 +'TIES'=1930 +'TIMEOUT'=1931 +'TIMESTAMP_LTZ_UNCONSTRAINED'=1932 +'TIMESTAMP'=1933 +'TIMESTAMP_TZ_UNCONSTRAINED'=1934 +'TIMESTAMP_UNCONSTRAINED'=1935 +'TIMES'=1936 +'TIME'=1937 +'TIMEZONE'=1938 +'TIMEZONE_ABBR'=1939 +'TIMEZONE_HOUR'=1940 +'TIMEZONE_MINUTE'=1941 +'TIMEZONE_OFFSET'=1942 +'TIMEZONE_REGION'=1943 +'TIME_ZONE'=1944 +'TIV_GB'=1945 +'TIV_SSF'=1946 +'TO_ACLID'=1947 +'TO_BINARY_DOUBLE'=1948 +'TO_BINARY_FLOAT'=1949 +'TO_BLOB'=1950 +'TO_CLOB'=1951 +'TO_DSINTERVAL'=1952 +'TO_LOB'=1953 +'TO_MULTI_BYTE'=1954 +'TO_NCHAR'=1955 +'TO_NCLOB'=1956 +'TO_NUMBER'=1957 +'TOPLEVEL'=1958 +'TO_SINGLE_BYTE'=1959 +'TO_TIMESTAMP'=1960 +'TO_TIMESTAMP_TZ'=1961 +'TO_TIME'=1962 +'TO_TIME_TZ'=1963 +'TO'=1964 +'TO_YMINTERVAL'=1965 +'TRACE'=1966 +'TRACING'=1967 +'TRACKING'=1968 +'TRAILING'=1969 +'TRANSACTION'=1970 +'TRANSFORM_DISTINCT_AGG'=1971 +'TRANSITIONAL'=1972 +'TRANSITION'=1973 +'TRANSLATE'=1974 +'TRANSLATION'=1975 +'TREAT'=1976 +'TRIGGERS'=1977 +'TRIGGER'=1978 +'TRUE'=1979 +'TRUNCATE'=1980 +'TRUNC'=1981 +'TRUSTED'=1982 +'TRUST'=1983 +'TUNING'=1984 +'TX'=1985 +'TYPES'=1986 +'TYPE'=1987 +'TZ_OFFSET'=1988 +'UB2'=1989 +'UBA'=1990 +'UCS2'=1991 +'UID'=1992 +'UNARCHIVED'=1993 +'UNBOUNDED'=1994 +'UNBOUND'=1995 +'UNCONDITIONAL'=1996 +'UNDER'=1997 +'UNDO'=1998 +'UNDROP'=1999 +'UNIFORM'=2000 +'UNION'=2001 +'UNIQUE'=2002 +'UNISTR'=2003 +'UNLIMITED'=2004 +'UNLOAD'=2005 +'UNLOCK'=2006 +'UNMATCHED'=2007 +'UNNEST_INNERJ_DISTINCT_VIEW'=2008 +'UNNEST_NOSEMIJ_NODISTINCTVIEW'=2009 +'UNNEST_SEMIJ_VIEW'=2010 +'UNNEST'=2011 +'UNPACKED'=2012 +'UNPIVOT'=2013 +'UNPLUG'=2014 +'UNPROTECTED'=2015 +'UNQUIESCE'=2016 +'UNRECOVERABLE'=2017 +'UNRESTRICTED'=2018 +'UNSUBSCRIBE'=2019 +'UNTIL'=2020 +'UNUSABLE'=2021 +'UNUSED'=2022 +'UPDATABLE'=2023 +'UPDATED'=2024 +'UPDATE'=2025 +'UPDATEXML'=2026 +'UPD_INDEXES'=2027 +'UPD_JOININDEX'=2028 +'UPGRADE'=2029 +'UPPER'=2030 +'UPSERT'=2031 +'UROWID'=2032 +'USABLE'=2033 +'USAGE'=2034 +'USE_ANTI'=2035 +'USE_CONCAT'=2036 +'USE_CUBE'=2037 +'USE_HASH_AGGREGATION'=2038 +'USE_HASH_GBY_FOR_PUSHDOWN'=2039 +'USE_HASH'=2040 +'USE_HIDDEN_PARTITIONS'=2041 +'USE_INVISIBLE_INDEXES'=2042 +'USE_MERGE_CARTESIAN'=2043 +'USE_MERGE'=2044 +'USE_NL'=2045 +'USE_NL_WITH_INDEX'=2046 +'USE_PRIVATE_OUTLINES'=2047 +'USER_DATA'=2048 +'USER_DEFINED'=2049 +'USERENV'=2050 +'USERGROUP'=2051 +'USER_RECYCLEBIN'=2052 +'USERS'=2053 +'USER_TABLESPACES'=2054 +'USER'=2055 +'USE_SEMI'=2056 +'USE_STORED_OUTLINES'=2057 +'USE_TTT_FOR_GSETS'=2058 +'USE'=2059 +'USE_VECTOR_AGGREGATION'=2060 +'USE_WEAK_NAME_RESL'=2061 +'USING_NO_EXPAND'=2062 +'USING'=2063 +'UTF16BE'=2064 +'UTF16LE'=2065 +'UTF32'=2066 +'UTF8'=2067 +'V1'=2068 +'V2'=2069 +'VALIDATE'=2070 +'VALIDATION'=2071 +'VALID_TIME_END'=2072 +'VALUES'=2073 +'VALUE'=2074 +'VARCHAR2'=2075 +'VARCHAR'=2076 +'VARIABLE'=2077 +'VAR_POP'=2078 +'VARRAYS'=2079 +'VARRAY'=2080 +'VAR_SAMP'=2081 +'VARYING'=2082 +'VECTOR_READ_TRACE'=2083 +'VECTOR_READ'=2084 +'VECTOR_TRANSFORM_DIMS'=2085 +'VECTOR_TRANSFORM_FACT'=2086 +'VECTOR_TRANSFORM'=2087 +'VERIFIER'=2088 +'VERIFY'=2089 +'VERSIONING'=2090 +'VERSIONS_ENDSCN'=2091 +'VERSIONS_ENDTIME'=2092 +'VERSIONS_OPERATION'=2093 +'VERSIONS_STARTSCN'=2094 +'VERSIONS_STARTTIME'=2095 +'VERSIONS'=2096 +'VERSIONS_XID'=2097 +'VERSION'=2098 +'VIEW'=2099 +'VIOLATION'=2100 +'VIRTUAL'=2101 +'VISIBILITY'=2102 +'VISIBLE'=2103 +'VOLUME'=2104 +'VSIZE'=2105 +'WAIT'=2106 +'WALLET'=2107 +'WARNING'=2108 +'WEEKS'=2109 +'WEEK'=2110 +'WELLFORMED'=2111 +'WHENEVER'=2112 +'WHEN'=2113 +'WHERE'=2114 +'WHILE'=2115 +'WHITESPACE'=2116 +'WIDTH_BUCKET'=2117 +'WITHIN'=2118 +'WITHOUT'=2119 +'WITH_PLSQL'=2120 +'WITH'=2121 +'WORK'=2122 +'WRAPPED'=2123 +'WRAPPER'=2124 +'WRITE'=2125 +'XDB_FASTPATH_INSERT'=2126 +'XDB'=2127 +'X_DYN_PRUNE'=2128 +'XID'=2129 +'XML2OBJECT'=2130 +'XMLAGG'=2131 +'XMLATTRIBUTES'=2132 +'XMLCAST'=2133 +'XMLCDATA'=2134 +'XMLCOLATTVAL'=2135 +'XMLCOMMENT'=2136 +'XMLCONCAT'=2137 +'XMLDIFF'=2138 +'XML_DML_RWT_STMT'=2139 +'XMLELEMENT'=2140 +'XMLEXISTS2'=2141 +'XMLEXISTS'=2142 +'XMLFOREST'=2143 +'XMLINDEX'=2144 +'XMLINDEX_REWRITE_IN_SELECT'=2145 +'XMLINDEX_REWRITE'=2146 +'XMLINDEX_SEL_IDX_TBL'=2147 +'XMLISNODE'=2148 +'XMLISVALID'=2149 +'XMLNAMESPACES'=2150 +'XMLPARSE'=2151 +'XMLPATCH'=2152 +'XMLPI'=2153 +'XMLQUERYVAL'=2154 +'XMLQUERY'=2155 +'XMLROOT'=2156 +'XMLSCHEMA'=2157 +'XMLSERIALIZE'=2158 +'XMLTABLE'=2159 +'XMLTRANSFORMBLOB'=2160 +'XMLTRANSFORM'=2161 +'XMLTYPE'=2162 +'XML'=2163 +'XPATHTABLE'=2164 +'XS_SYS_CONTEXT'=2165 +'XS'=2166 +'XTRANSPORT'=2167 +'YEARS'=2168 +'YEAR'=2169 +'YES'=2170 +'YMINTERVAL_UNCONSTRAINED'=2171 +'ZONEMAP'=2172 +'ZONE'=2173 +'PREDICTION'=2174 +'PREDICTION_BOUNDS'=2175 +'PREDICTION_COST'=2176 +'PREDICTION_DETAILS'=2177 +'PREDICTION_PROBABILITY'=2178 +'PREDICTION_SET'=2179 +'CUME_DIST'=2180 +'DENSE_RANK'=2181 +'LISTAGG'=2182 +'PERCENT_RANK'=2183 +'PERCENTILE_CONT'=2184 +'PERCENTILE_DISC'=2185 +'RANK'=2186 +'AVG'=2187 +'CORR'=2188 +'COVAR_'=2189 +'DECODE'=2190 +'LAG'=2191 +'LEAD'=2192 +'MAX'=2193 +'MEDIAN'=2194 +'MIN'=2195 +'NTILE'=2196 +'NVL'=2197 +'RATIO_TO_REPORT'=2198 +'REGR_'=2199 +'ROUND'=2200 +'ROW_NUMBER'=2201 +'SUBSTR'=2202 +'TO_CHAR'=2203 +'TRIM'=2204 +'SUM'=2205 +'STDDEV'=2206 +'VAR_'=2207 +'VARIANCE'=2208 +'LEAST'=2209 +'GREATEST'=2210 +'TO_DATE'=2211 +'..'=2215 +'.'=2216 +'%'=2221 +'&'=2222 +'('=2223 +')'=2224 +'**'=2225 +'*'=2226 +'+'=2227 +'-'=2228 +','=2229 +'/'=2230 +'@'=2231 +':='=2232 +'^'=2235 +'~'=2236 +'!'=2237 +'>'=2238 +'<'=2239 +':'=2240 +';'=2241 +'|'=2242 +'='=2243 +'['=2244 +']'=2245 +'_'=2246 diff --git a/src/lib/plsql/PlSqlParser.interp b/src/lib/plsql/PlSqlParser.interp new file mode 100644 index 0000000..7871f0d --- /dev/null +++ b/src/lib/plsql/PlSqlParser.interp @@ -0,0 +1,5268 @@ +token literal names: +null +'ABORT' +'ABS' +'ACCESS' +'ACCESSED' +'ACCOUNT' +'ACL' +'ACOS' +'ACTION' +'ACTIONS' +'ACTIVATE' +'ACTIVE' +'ACTIVE_COMPONENT' +'ACTIVE_DATA' +'ACTIVE_FUNCTION' +'ACTIVE_TAG' +'ACTIVITY' +'ADAPTIVE_PLAN' +'ADD' +'ADD_COLUMN' +'ADD_GROUP' +'ADD_MONTHS' +'ADJ_DATE' +'ADMIN' +'ADMINISTER' +'ADMINISTRATOR' +'ADVANCED' +'ADVISE' +'ADVISOR' +'AFD_DISKSTRING' +'AFTER' +'AGENT' +'AGGREGATE' +'A' +'ALIAS' +'ALL' +'ALLOCATE' +'ALLOW' +'ALL_ROWS' +'ALTER' +'ALWAYS' +'ANALYZE' +'ANCILLARY' +'AND' +'AND_EQUAL' +'ANOMALY' +'ANSI_REARCH' +'ANTIJOIN' +'ANY' +'ANYSCHEMA' +'APPEND' +'APPENDCHILDXML' +'APPEND_VALUES' +'APPLICATION' +'APPLY' +'APPROX_COUNT_DISTINCT' +'ARCHIVAL' +'ARCHIVE' +'ARCHIVED' +'ARCHIVELOG' +'ARRAY' +'AS' +'ASC' +'ASCII' +'ASCIISTR' +'ASIN' +'ASIS' +'ASSEMBLY' +'ASSIGN' +'ASSOCIATE' +'ASYNC' +'ASYNCHRONOUS' +'ATAN2' +'ATAN' +'AT' +'ATTRIBUTE' +'ATTRIBUTES' +'AUDIT' +'AUTHENTICATED' +'AUTHENTICATION' +'AUTHID' +'AUTHORIZATION' +'AUTOALLOCATE' +'AUTO' +'AUTOBACKUP' +'AUTOEXTEND' +'AUTO_LOGIN' +'AUTOMATIC' +'AUTONOMOUS_TRANSACTION' +'AUTO_REOPTIMIZE' +'AVAILABILITY' +'AVRO' +'BACKGROUND' +'BACKUP' +'BACKUPSET' +'BASIC' +'BASICFILE' +'BATCH' +'BATCHSIZE' +'BATCH_TABLE_ACCESS_BY_ROWID' +'BECOME' +'BEFORE' +'BEGIN' +'BEGINNING' +'BEGIN_OUTLINE_DATA' +'BEHALF' +'BEQUEATH' +'BETWEEN' +'BFILE' +'BFILENAME' +'BIGFILE' +'BINARY' +'BINARY_DOUBLE' +'BINARY_DOUBLE_INFINITY' +'BINARY_DOUBLE_NAN' +'BINARY_FLOAT' +'BINARY_FLOAT_INFINITY' +'BINARY_FLOAT_NAN' +'BINARY_INTEGER' +'BIND_AWARE' +'BINDING' +'BIN_TO_NUM' +'BITAND' +'BITMAP_AND' +'BITMAP' +'BITMAPS' +'BITMAP_TREE' +'BITS' +'BLOB' +'BLOCK' +'BLOCK_RANGE' +'BLOCKS' +'BLOCKSIZE' +'BODY' +'BOOLEAN' +'BOTH' +'BOUND' +'BRANCH' +'BREADTH' +'BROADCAST' +'BSON' +'BUFFER' +'BUFFER_CACHE' +'BUFFER_POOL' +'BUILD' +'BULK' +'BY' +'BYPASS_RECURSIVE_CHECK' +'BYPASS_UJVC' +'BYTE' +'CACHE' +'CACHE_CB' +'CACHE_INSTANCES' +'CACHE_TEMP_TABLE' +'CACHING' +'CALCULATED' +'CALLBACK' +'CALL' +'CANCEL' +'CANONICAL' +'CAPACITY' +'CARDINALITY' +'CASCADE' +'CASE' +'CAST' +'CATEGORY' +'CDB$DEFAULT' +'CEIL' +'CELL_FLASH_CACHE' +'CERTIFICATE' +'CFILE' +'CHAINED' +'CHANGE' +'CHANGETRACKING' +'CHANGE_DUPKEY_ERROR_INDEX' +'CHARACTER' +'CHAR' +'CHAR_CS' +'CHARTOROWID' +'CHECK_ACL_REWRITE' +'CHECK' +'CHECKPOINT' +'CHILD' +'CHOOSE' +'CHR' +'CHUNK' +'CLASS' +'CLASSIFIER' +'CLEANUP' +'CLEAR' +'C' +'CLIENT' +'CLOB' +'CLONE' +'CLOSE_CACHED_OPEN_CURSORS' +'CLOSE' +'CLUSTER_BY_ROWID' +'CLUSTER' +'CLUSTER_DETAILS' +'CLUSTER_DISTANCE' +'CLUSTER_ID' +'CLUSTERING' +'CLUSTERING_FACTOR' +'CLUSTER_PROBABILITY' +'CLUSTER_SET' +'COALESCE' +'COALESCE_SQ' +'COARSE' +'CO_AUTH_IND' +'COLD' +'COLLECT' +'COLUMNAR' +'COLUMN_AUTH_INDICATOR' +'COLUMN' +'COLUMNS' +'COLUMN_STATS' +'COLUMN_VALUE' +'COMMENT' +'COMMIT' +'COMMITTED' +'COMMON_DATA' +'COMPACT' +'COMPATIBILITY' +'COMPILE' +'COMPLETE' +'COMPLIANCE' +'COMPONENT' +'COMPONENTS' +'COMPOSE' +'COMPOSITE' +'COMPOSITE_LIMIT' +'COMPOUND' +'COMPRESS' +'COMPUTE' +'CONCAT' +'CON_DBID_TO_ID' +'CONDITIONAL' +'CONDITION' +'CONFIRM' +'CONFORMING' +'CON_GUID_TO_ID' +'CON_ID' +'CON_NAME_TO_ID' +'CONNECT_BY_CB_WHR_ONLY' +'CONNECT_BY_COMBINE_SW' +'CONNECT_BY_COST_BASED' +'CONNECT_BY_ELIM_DUPS' +'CONNECT_BY_FILTERING' +'CONNECT_BY_ISCYCLE' +'CONNECT_BY_ISLEAF' +'CONNECT_BY_ROOT' +'CONNECT' +'CONNECT_TIME' +'CONSIDER' +'CONSISTENT' +'CONSTANT' +'CONST' +'CONSTRAINT' +'CONSTRAINTS' +'CONSTRUCTOR' +'CONTAINER' +'CONTAINER_DATA' +'CONTAINERS' +'CONTENT' +'CONTENTS' +'CONTEXT' +'CONTINUE' +'CONTROLFILE' +'CON_UID_TO_ID' +'CONVERT' +'COOKIE' +'COPY' +'CORR_K' +'CORR_S' +'CORRUPTION' +'CORRUPT_XID_ALL' +'CORRUPT_XID' +'COS' +'COSH' +'COST' +'COST_XML_QUERY_REWRITE' +'COUNT' +'COVAR_POP' +'COVAR_SAMP' +'CPU_COSTING' +'CPU_PER_CALL' +'CPU_PER_SESSION' +'CRASH' +'CREATE' +'CREATE_FILE_DEST' +'CREATE_STORED_OUTLINES' +'CREATION' +'CREDENTIAL' +'CRITICAL' +'CROSS' +'CROSSEDITION' +'CSCONVERT' +'CUBE_AJ' +'CUBE' +'CUBE_GB' +'CUBE_SJ' +'CUME_DISTM' +'CURRENT' +'CURRENT_DATE' +'CURRENT_SCHEMA' +'CURRENT_TIME' +'CURRENT_TIMESTAMP' +'CURRENT_USER' +'CURRENTV' +'CURSOR' +'CURSOR_SHARING_EXACT' +'CURSOR_SPECIFIC_SEGMENT' +'CUSTOMDATUM' +'CV' +'CYCLE' +'DANGLING' +'DATABASE' +'DATA' +'DATAFILE' +'DATAFILES' +'DATAGUARDCONFIG' +'DATAMOVEMENT' +'DATAOBJNO' +'DATAOBJ_TO_MAT_PARTITION' +'DATAOBJ_TO_PARTITION' +'DATAPUMP' +'DATA_SECURITY_REWRITE_LIMIT' +'DATE' +'DATE_MODE' +'DAY' +'DAYS' +'DBA' +'DBA_RECYCLEBIN' +'DBMS_STATS' +'DB_ROLE_CHANGE' +'DBTIMEZONE' +'DB_UNIQUE_NAME' +'DB_VERSION' +'DDL' +'DEALLOCATE' +'DEBUG' +'DEBUGGER' +'DEC' +'DECIMAL' +'DECLARE' +'DECOMPOSE' +'DECORRELATE' +'DECR' +'DECREMENT' +'DECRYPT' +'DEDUPLICATE' +'DEFAULT' +'DEFAULTS' +'DEFERRABLE' +'DEFERRED' +'DEFINED' +'DEFINE' +'DEFINER' +'DEGREE' +'DELAY' +'DELEGATE' +'DELETE_ALL' +'DELETE' +'DELETEXML' +'DEMAND' +'DENSE_RANKM' +'DEPENDENT' +'DEPTH' +'DEQUEUE' +'DEREF' +'DEREF_NO_REWRITE' +'DESC' +'DESTROY' +'DETACHED' +'DETERMINES' +'DETERMINISTIC' +'DICTIONARY' +'DIMENSION' +'DIMENSIONS' +'DIRECT_LOAD' +'DIRECTORY' +'DIRECT_PATH' +'DISABLE_ALL' +'DISABLE' +'DISABLE_PARALLEL_DML' +'DISABLE_PRESET' +'DISABLE_RPKE' +'DISALLOW' +'DISASSOCIATE' +'DISCARD' +'DISCONNECT' +'DISK' +'DISKGROUP' +'\'+ DISKGROUP' +'DISKS' +'DISMOUNT' +'DISTINCT' +'DISTINGUISHED' +'DISTRIBUTED' +'DISTRIBUTE' +'DML' +'DML_UPDATE' +'DOCFIDELITY' +'DOCUMENT' +'DOMAIN_INDEX_FILTER' +'DOMAIN_INDEX_NO_SORT' +'DOMAIN_INDEX_SORT' +'DOUBLE' +'DOWNGRADE' +'DRIVING_SITE' +'DROP_COLUMN' +'DROP' +'DROP_GROUP' +'DSINTERVAL_UNCONSTRAINED' +'DST_UPGRADE_INSERT_CONV' +'DUMP' +'DUMPSET' +'DUPLICATE' +'DV' +'DYNAMIC' +'DYNAMIC_SAMPLING' +'DYNAMIC_SAMPLING_EST_CDN' +'EACH' +'EDITIONABLE' +'EDITION' +'EDITIONING' +'EDITIONS' +'ELEMENT' +'ELIM_GROUPBY' +'ELIMINATE_JOIN' +'ELIMINATE_OBY' +'ELIMINATE_OUTER_JOIN' +'ELSE' +'ELSIF' +'EM' +'EMPTY_BLOB' +'EMPTY_CLOB' +'EMPTY' +'ENABLE_ALL' +'ENABLE' +'ENABLE_PARALLEL_DML' +'ENABLE_PRESET' +'ENCODING' +'ENCRYPT' +'ENCRYPTION' +'END' +'END_OUTLINE_DATA' +'ENFORCED' +'ENFORCE' +'ENQUEUE' +'ENTERPRISE' +'ENTITYESCAPING' +'ENTRY' +'EQUIPART' +'ERR' +'ERROR_ARGUMENT' +'ERROR' +'ERROR_ON_OVERLAP_TIME' +'ERRORS' +'ESCAPE' +'ESTIMATE' +'EVAL' +'EVALNAME' +'EVALUATE' +'EVALUATION' +'EVENTS' +'EVERY' +'EXCEPT' +'EXCEPTION' +'EXCEPTION_INIT' +'EXCEPTIONS' +'EXCHANGE' +'EXCLUDE' +'EXCLUDING' +'EXCLUSIVE' +'EXECUTE' +'EXEMPT' +'EXISTING' +'EXISTS' +'EXISTSNODE' +'EXIT' +'EXPAND_GSET_TO_UNION' +'EXPAND_TABLE' +'EXP' +'EXPIRE' +'EXPLAIN' +'EXPLOSION' +'EXPORT' +'EXPR_CORR_CHECK' +'EXPRESS' +'EXTENDS' +'EXTENT' +'EXTENTS' +'EXTERNAL' +'EXTERNALLY' +'EXTRACTCLOBXML' +'EXTRACT' +'EXTRACTVALUE' +'EXTRA' +'FACILITY' +'FACT' +'FACTOR' +'FACTORIZE_JOIN' +'FAILED' +'FAILED_LOGIN_ATTEMPTS' +'FAILGROUP' +'FAILOVER' +'FAILURE' +'FALSE' +'FAMILY' +'FAR' +'FAST' +'FASTSTART' +'FBTSCAN' +'FEATURE_DETAILS' +'FEATURE_ID' +'FEATURE_SET' +'FEATURE_VALUE' +'FETCH' +'FILE' +'FILE_NAME_CONVERT' +'FILESYSTEM_LIKE_LOGGING' +'FILTER' +'FINAL' +'FINE' +'FINISH' +'FIRST' +'FIRSTM' +'FIRST_ROWS' +'FIRST_VALUE' +'FIXED_VIEW_DATA' +'FLAGGER' +'FLASHBACK' +'FLASH_CACHE' +'FLOAT' +'FLOB' +'FLOOR' +'FLUSH' +'FOLDER' +'FOLLOWING' +'FOLLOWS' +'FORALL' +'FORCE' +'FORCE_XML_QUERY_REWRITE' +'FOREIGN' +'FOREVER' +'FOR' +'FORMAT' +'FORWARD' +'FRAGMENT_NUMBER' +'FREELIST' +'FREELISTS' +'FREEPOOLS' +'FRESH' +'FROM' +'FROM_TZ' +'FULL' +'FULL_OUTER_JOIN_TO_OUTER' +'FUNCTION' +'FUNCTIONS' +'GATHER_OPTIMIZER_STATISTICS' +'GATHER_PLAN_STATISTICS' +'GBY_CONC_ROLLUP' +'GBY_PUSHDOWN' +'GENERATED' +'GET' +'GLOBAL' +'GLOBALLY' +'GLOBAL_NAME' +'GLOBAL_TOPIC_ENABLED' +'GOTO' +'GRANT' +'GROUP_BY' +'GROUP' +'GROUP_ID' +'GROUPING' +'GROUPING_ID' +'GROUPS' +'GUARANTEED' +'GUARANTEE' +'GUARD' +'HASH_AJ' +'HASH' +'HASHKEYS' +'HASH_SJ' +'HAVING' +'HEADER' +'HEAP' +'HELP' +'HEXTORAW' +'HEXTOREF' +'HIDDEN' +'HIDE' +'HIERARCHY' +'HIGH' +'HINTSET_BEGIN' +'HINTSET_END' +'HOT' +'HOUR' +'HWM_BROKERED' +'HYBRID' +'IDENTIFIED' +'IDENTIFIER' +'IDENTITY' +'IDGENERATORS' +'ID' +'IDLE_TIME' +'IF' +'IGNORE' +'IGNORE_OPTIM_EMBEDDED_HINTS' +'IGNORE_ROW_ON_DUPKEY_INDEX' +'IGNORE_WHERE_CLAUSE' +'ILM' +'IMMEDIATE' +'IMPACT' +'IMPORT' +'INACTIVE' +'INCLUDE' +'INCLUDE_VERSION' +'INCLUDING' +'INCREMENTAL' +'INCREMENT' +'INCR' +'INDENT' +'INDEX_ASC' +'INDEX_COMBINE' +'INDEX_DESC' +'INDEXED' +'INDEXES' +'INDEX_FFS' +'INDEX_FILTER' +'INDEX' +'INDEXING' +'INDEX_JOIN' +'INDEX_ROWS' +'INDEX_RRS' +'INDEX_RS_ASC' +'INDEX_RS_DESC' +'INDEX_RS' +'INDEX_SCAN' +'INDEX_SKIP_SCAN' +'INDEX_SS_ASC' +'INDEX_SS_DESC' +'INDEX_SS' +'INDEX_STATS' +'INDEXTYPE' +'INDEXTYPES' +'INDICATOR' +'INDICES' +'INFINITE' +'INFORMATIONAL' +'INHERIT' +'IN' +'INITCAP' +'INITIAL' +'INITIALIZED' +'INITIALLY' +'INITRANS' +'INLINE' +'INLINE_XMLTYPE_NT' +'INMEMORY' +'IN_MEMORY_METADATA' +'INMEMORY_PRUNING' +'INNER' +'INOUT' +'INPLACE' +'INSERTCHILDXMLAFTER' +'INSERTCHILDXMLBEFORE' +'INSERTCHILDXML' +'INSERT' +'INSERTXMLAFTER' +'INSERTXMLBEFORE' +'INSTANCE' +'INSTANCES' +'INSTANTIABLE' +'INSTANTLY' +'INSTEAD' +'INSTR2' +'INSTR4' +'INSTRB' +'INSTRC' +'INSTR' +'INTEGER' +'INTERLEAVED' +'INTERMEDIATE' +'INTERNAL_CONVERT' +'INTERNAL_USE' +'INTERPRETED' +'INTERSECT' +'INTERVAL' +'INT' +'INTO' +'INVALIDATE' +'INVISIBLE' +'IN_XQUERY' +'IS' +'ISOLATION' +'ISOLATION_LEVEL' +'ITERATE' +'ITERATION_NUMBER' +'JAVA' +'JOB' +'JOIN' +'JSON_ARRAYAGG' +'JSON_ARRAY' +'JSON_EQUAL' +'JSON_EXISTS2' +'JSON_EXISTS' +'JSONGET' +'JSON' +'JSON_OBJECTAGG' +'JSON_OBJECT' +'JSONPARSE' +'JSON_QUERY' +'JSON_SERIALIZE' +'JSON_TABLE' +'JSON_TEXTCONTAINS2' +'JSON_TEXTCONTAINS' +'JSON_VALUE' +'KEEP_DUPLICATES' +'KEEP' +'KERBEROS' +'KEY' +'KEY_LENGTH' +'KEYSIZE' +'KEYS' +'KEYSTORE' +'KILL' +'LABEL' +'LANGUAGE' +'LAST_DAY' +'LAST' +'LAST_VALUE' +'LATERAL' +'LAX' +'LAYER' +'LDAP_REGISTRATION_ENABLED' +'LDAP_REGISTRATION' +'LDAP_REG_SYNC_INTERVAL' +'LEADING' +'LEFT' +'LENGTH2' +'LENGTH4' +'LENGTHB' +'LENGTHC' +'LENGTH' +'LESS' +'LEVEL' +'LEVELS' +'LIBRARY' +'LIFECYCLE' +'LIFE' +'LIFETIME' +'LIKE2' +'LIKE4' +'LIKEC' +'LIKE_EXPAND' +'LIKE' +'LIMIT' +'LINEAR' +'LINK' +'LIST' +'LN' +'LNNVL' +'LOAD' +'LOB' +'LOBNVL' +'LOBS' +'LOCAL_INDEXES' +'LOCAL' +'LOCALTIME' +'LOCALTIMESTAMP' +'LOCATION' +'LOCATOR' +'LOCKED' +'LOCKING' +'LOCK' +'LOGFILE' +'LOGFILES' +'LOGGING' +'LOGICAL' +'LOGICAL_READS_PER_CALL' +'LOGICAL_READS_PER_SESSION' +'LOG' +'LOGMINING' +'LOGOFF' +'LOGON' +'LOG_READ_ONLY_VIOLATIONS' +'LONG' +'LOOP' +'LOWER' +'LOW' +'LPAD' +'LTRIM' +'MAIN' +'MAKE_REF' +'MANAGED' +'MANAGE' +'MANAGEMENT' +'MANAGER' +'MANUAL' +'MAP' +'MAPPING' +'MASTER' +'MATCHED' +'MATCHES' +'MATCH' +'MATCH_NUMBER' +'MATCH_RECOGNIZE' +'MATERIALIZED' +'MATERIALIZE' +'MAXARCHLOGS' +'MAXDATAFILES' +'MAXEXTENTS' +'MAXIMIZE' +'MAXINSTANCES' +'MAXLOGFILES' +'MAXLOGHISTORY' +'MAXLOGMEMBERS' +'MAX_SHARED_TEMP_SIZE' +'MAXSIZE' +'MAXTRANS' +'MAXVALUE' +'MEASURE' +'MEASURES' +'MEDIUM' +'MEMBER' +'MEMCOMPRESS' +'MEMORY' +'MERGE$ACTIONS' +'MERGE_AJ' +'MERGE_CONST_ON' +'MERGE' +'MERGE_SJ' +'METADATA' +'METHOD' +'MIGRATE' +'MIGRATION' +'MINEXTENTS' +'MINIMIZE' +'MINIMUM' +'MINING' +'MINUS' +'MINUS_NULL' +'MINUTE' +'MINVALUE' +'MIRRORCOLD' +'MIRRORHOT' +'MIRROR' +'MLSLABEL' +'MODEL_COMPILE_SUBQUERY' +'MODEL_DONTVERIFY_UNIQUENESS' +'MODEL_DYNAMIC_SUBQUERY' +'MODEL_MIN_ANALYSIS' +'MODEL' +'MODEL_NB' +'MODEL_NO_ANALYSIS' +'MODEL_PBY' +'MODEL_PUSH_REF' +'MODEL_SV' +'MODE' +'MODIFICATION' +'MODIFY_COLUMN_TYPE' +'MODIFY' +'MOD' +'MODULE' +'MONITORING' +'MONITOR' +'MONTH' +'MONTHS_BETWEEN' +'MONTHS' +'MOUNT' +'MOUNTPATH' +'MOVEMENT' +'MOVE' +'MULTIDIMENSIONAL' +'MULTISET' +'MV_MERGE' +'NAMED' +'NAME' +'NAMESPACE' +'NAN' +'NANVL' +'NATIONAL' +'NATIVE_FULL_OUTER_JOIN' +'NATIVE' +'NATURAL' +'NATURALN' +'NAV' +'NCHAR_CS' +'NCHAR' +'NCHR' +'NCLOB' +'NEEDED' +'NEG' +'NESTED' +'NESTED_TABLE_FAST_INSERT' +'NESTED_TABLE_GET_REFS' +'NESTED_TABLE_ID' +'NESTED_TABLE_SET_REFS' +'NESTED_TABLE_SET_SETID' +'NETWORK' +'NEVER' +'NEW' +'NEW_TIME' +'NEXT_DAY' +'NEXT' +'NL_AJ' +'NLJ_BATCHING' +'NLJ_INDEX_FILTER' +'NLJ_INDEX_SCAN' +'NLJ_PREFETCH' +'NLS_CALENDAR' +'NLS_CHARACTERSET' +'NLS_CHARSET_DECL_LEN' +'NLS_CHARSET_ID' +'NLS_CHARSET_NAME' +'NLS_COMP' +'NLS_CURRENCY' +'NLS_DATE_FORMAT' +'NLS_DATE_LANGUAGE' +'NLS_INITCAP' +'NLS_ISO_CURRENCY' +'NL_SJ' +'NLS_LANG' +'NLS_LANGUAGE' +'NLS_LENGTH_SEMANTICS' +'NLS_LOWER' +'NLS_NCHAR_CONV_EXCP' +'NLS_NUMERIC_CHARACTERS' +'NLS_SORT' +'NLSSORT' +'NLS_SPECIAL_CHARS' +'NLS_TERRITORY' +'NLS_UPPER' +'NO_ACCESS' +'NO_ADAPTIVE_PLAN' +'NO_ANSI_REARCH' +'NOAPPEND' +'NOARCHIVELOG' +'NOAUDIT' +'NO_AUTO_REOPTIMIZE' +'NO_BASETABLE_MULTIMV_REWRITE' +'NO_BATCH_TABLE_ACCESS_BY_ROWID' +'NO_BIND_AWARE' +'NO_BUFFER' +'NOCACHE' +'NO_CARTESIAN' +'NO_CHECK_ACL_REWRITE' +'NO_CLUSTER_BY_ROWID' +'NO_CLUSTERING' +'NO_COALESCE_SQ' +'NO_COMMON_DATA' +'NOCOMPRESS' +'NO_CONNECT_BY_CB_WHR_ONLY' +'NO_CONNECT_BY_COMBINE_SW' +'NO_CONNECT_BY_COST_BASED' +'NO_CONNECT_BY_ELIM_DUPS' +'NO_CONNECT_BY_FILTERING' +'NOCOPY' +'NO_COST_XML_QUERY_REWRITE' +'NO_CPU_COSTING' +'NOCPU_COSTING' +'NOCYCLE' +'NO_DATA_SECURITY_REWRITE' +'NO_DECORRELATE' +'NODELAY' +'NO_DOMAIN_INDEX_FILTER' +'NO_DST_UPGRADE_INSERT_CONV' +'NO_ELIM_GROUPBY' +'NO_ELIMINATE_JOIN' +'NO_ELIMINATE_OBY' +'NO_ELIMINATE_OUTER_JOIN' +'NOENTITYESCAPING' +'NO_EXPAND_GSET_TO_UNION' +'NO_EXPAND' +'NO_EXPAND_TABLE' +'NO_FACT' +'NO_FACTORIZE_JOIN' +'NO_FILTERING' +'NOFORCE' +'NO_FULL_OUTER_JOIN_TO_OUTER' +'NO_GATHER_OPTIMIZER_STATISTICS' +'NO_GBY_PUSHDOWN' +'NOGUARANTEE' +'NO_INDEX_FFS' +'NO_INDEX' +'NO_INDEX_SS' +'NO_INMEMORY' +'NO_INMEMORY_PRUNING' +'NOKEEP' +'NO_LOAD' +'NOLOCAL' +'NOLOGGING' +'NOMAPPING' +'NOMAXVALUE' +'NO_MERGE' +'NOMINIMIZE' +'NOMINVALUE' +'NO_MODEL_PUSH_REF' +'NO_MONITORING' +'NOMONITORING' +'NO_MONITOR' +'NO_MULTIMV_REWRITE' +'NO_NATIVE_FULL_OUTER_JOIN' +'NONBLOCKING' +'NONEDITIONABLE' +'NONE' +'NO_NLJ_BATCHING' +'NO_NLJ_PREFETCH' +'NO' +'NONSCHEMA' +'NO_OBJECT_LINK' +'NOORDER' +'NO_ORDER_ROLLUPS' +'NO_OUTER_JOIN_TO_ANTI' +'NO_OUTER_JOIN_TO_INNER' +'NOOVERRIDE' +'NO_PARALLEL_INDEX' +'NOPARALLEL_INDEX' +'NO_PARALLEL' +'NOPARALLEL' +'NO_PARTIAL_COMMIT' +'NO_PARTIAL_JOIN' +'NO_PARTIAL_ROLLUP_PUSHDOWN' +'NOPARTITION' +'NO_PLACE_DISTINCT' +'NO_PLACE_GROUP_BY' +'NO_PQ_CONCURRENT_UNION' +'NO_PQ_MAP' +'NO_PQ_REPLICATE' +'NO_PQ_SKEW' +'NO_PRUNE_GSETS' +'NO_PULL_PRED' +'NO_PUSH_PRED' +'NO_PUSH_SUBQ' +'NO_PX_FAULT_TOLERANCE' +'NO_PX_JOIN_FILTER' +'NO_QKN_BUFF' +'NO_QUERY_TRANSFORMATION' +'NO_REF_CASCADE' +'NORELOCATE' +'NORELY' +'NOREPAIR' +'NOREPLAY' +'NORESETLOGS' +'NO_RESULT_CACHE' +'NOREVERSE' +'NO_REWRITE' +'NOREWRITE' +'NORMAL' +'NO_ROOT_SW_FOR_LOCAL' +'NOROWDEPENDENCIES' +'NOSCHEMACHECK' +'NOSEGMENT' +'NO_SEMIJOIN' +'NO_SEMI_TO_INNER' +'NO_SET_TO_JOIN' +'NOSORT' +'NO_SQL_TRANSLATION' +'NO_SQL_TUNE' +'NO_STAR_TRANSFORMATION' +'NO_STATEMENT_QUEUING' +'NO_STATS_GSETS' +'NOSTRICT' +'NO_SUBQUERY_PRUNING' +'NO_SUBSTRB_PAD' +'NO_SWAP_JOIN_INPUTS' +'NOSWITCH' +'NO_TABLE_LOOKUP_BY_NL' +'NO_TEMP_TABLE' +'NOTHING' +'NOTIFICATION' +'NOT' +'NO_TRANSFORM_DISTINCT_AGG' +'NO_UNNEST' +'NO_USE_CUBE' +'NO_USE_HASH_AGGREGATION' +'NO_USE_HASH_GBY_FOR_PUSHDOWN' +'NO_USE_HASH' +'NO_USE_INVISIBLE_INDEXES' +'NO_USE_MERGE' +'NO_USE_NL' +'NO_USE_VECTOR_AGGREGATION' +'NOVALIDATE' +'NO_VECTOR_TRANSFORM_DIMS' +'NO_VECTOR_TRANSFORM_FACT' +'NO_VECTOR_TRANSFORM' +'NOWAIT' +'NO_XDB_FASTPATH_INSERT' +'NO_XML_DML_REWRITE' +'NO_XMLINDEX_REWRITE_IN_SELECT' +'NO_XMLINDEX_REWRITE' +'NO_XML_QUERY_REWRITE' +'NO_ZONEMAP' +'NTH_VALUE' +'NULLIF' +'NULL' +'NULLS' +'NUMBER' +'NUMERIC' +'NUM_INDEX_KEYS' +'NUMTODSINTERVAL' +'NUMTOYMINTERVAL' +'NVARCHAR2' +'NVL2' +'OBJECT2XML' +'OBJECT' +'OBJ_ID' +'OBJNO' +'OBJNO_REUSE' +'OCCURENCES' +'OFFLINE' +'OFF' +'OFFSET' +'OF' +'OIDINDEX' +'OID' +'OLAP' +'OLD' +'OLD_PUSH_PRED' +'OLS' +'OLTP' +'OMIT' +'ONE' +'ONLINE' +'ONLINELOG' +'ONLY' +'ON' +'OPAQUE' +'OPAQUE_TRANSFORM' +'OPAQUE_XCANONICAL' +'OPCODE' +'OPEN' +'OPERATIONS' +'OPERATOR' +'OPT_ESTIMATE' +'OPTIMAL' +'OPTIMIZE' +'OPTIMIZER_FEATURES_ENABLE' +'OPTIMIZER_GOAL' +'OPTION' +'OPT_PARAM' +'ORA_BRANCH' +'ORA_CHECK_ACL' +'ORA_CHECK_PRIVILEGE' +'ORA_CLUSTERING' +'ORADATA' +'ORADEBUG' +'ORA_DST_AFFECTED' +'ORA_DST_CONVERT' +'ORA_DST_ERROR' +'ORA_GET_ACLIDS' +'ORA_GET_PRIVILEGES' +'ORA_HASH' +'ORA_INVOKING_USERID' +'ORA_INVOKING_USER' +'ORA_INVOKING_XS_USER_GUID' +'ORA_INVOKING_XS_USER' +'ORA_RAWCOMPARE' +'ORA_RAWCONCAT' +'ORA_ROWSCN' +'ORA_ROWSCN_RAW' +'ORA_ROWVERSION' +'ORA_TABVERSION' +'ORA_WRITE_TIME' +'ORDERED' +'ORDERED_PREDICATES' +'ORDER' +'ORDINALITY' +'OR_EXPAND' +'ORGANIZATION' +'OR' +'OR_PREDICATES' +'OSERROR' +'OTHER' +'OUTER_JOIN_TO_ANTI' +'OUTER_JOIN_TO_INNER' +'OUTER' +'OUTLINE_LEAF' +'OUTLINE' +'OUT_OF_LINE' +'OUT' +'OVERFLOW_NOMOVE' +'OVERFLOW' +'OVERLAPS' +'OVER' +'OVERRIDING' +'OWNER' +'OWNERSHIP' +'OWN' +'PACKAGE' +'PACKAGES' +'PARALLEL_ENABLE' +'PARALLEL_INDEX' +'PARALLEL' +'PARAMETERFILE' +'PARAMETERS' +'PARAM' +'PARENT' +'PARITY' +'PARTIAL_JOIN' +'PARTIALLY' +'PARTIAL' +'PARTIAL_ROLLUP_PUSHDOWN' +'PARTITION_HASH' +'PARTITION_LIST' +'PARTITION' +'PARTITION_RANGE' +'PARTITIONS' +'PART$NUM$INST' +'PASSING' +'PASSWORD_GRACE_TIME' +'PASSWORD_LIFE_TIME' +'PASSWORD_LOCK_TIME' +'PASSWORD' +'PASSWORD_REUSE_MAX' +'PASSWORD_REUSE_TIME' +'PASSWORD_VERIFY_FUNCTION' +'PAST' +'PATCH' +'PATH' +'PATH_PREFIX' +'PATHS' +'PATTERN' +'PBL_HS_BEGIN' +'PBL_HS_END' +'PCTFREE' +'PCTINCREASE' +'PCTTHRESHOLD' +'PCTUSED' +'PCTVERSION' +'PENDING' +null +null +null +'PERCENT' +'PERCENT_RANKM' +null +null +null +'PERFORMANCE' +'PERIOD' +'PERMANENT' +'PERMISSION' +'PERMUTE' +'PER' +'PFILE' +'PHYSICAL' +'PIKEY' +'PIPELINED' +'PIPE' +'PIV_GB' +'PIVOT' +'PIV_SSF' +'PLACE_DISTINCT' +'PLACE_GROUP_BY' +'PLAN' +'PLSCOPE_SETTINGS' +'PLS_INTEGER' +'PLSQL_CCFLAGS' +'PLSQL_CODE_TYPE' +'PLSQL_DEBUG' +'PLSQL_OPTIMIZE_LEVEL' +'PLSQL_WARNINGS' +'PLUGGABLE' +'POINT' +'POLICY' +'POOL_16K' +'POOL_2K' +'POOL_32K' +'POOL_4K' +'POOL_8K' +'POSITIVEN' +'POSITIVE' +'POST_TRANSACTION' +'POWERMULTISET_BY_CARDINALITY' +'POWERMULTISET' +'POWER' +'PQ_CONCURRENT_UNION' +'PQ_DISTRIBUTE' +'PQ_DISTRIBUTE_WINDOW' +'PQ_FILTER' +'PQ_MAP' +'PQ_NOMAP' +'PQ_REPLICATE' +'PQ_SKEW' +'PRAGMA' +'PREBUILT' +'PRECEDES' +'PRECEDING' +'PRECISION' +'PRECOMPUTE_SUBQUERY' +'PREDICATE_REORDERS' +'PRELOAD' +'PREPARE' +'PRESENTNNV' +'PRESENT' +'PRESENTV' +'PRESERVE_OID' +'PRESERVE' +'PRETTY' +'PREVIOUS' +'PREV' +'PRIMARY' +'PRINTBLOBTOCLOB' +'PRIORITY' +'PRIOR' +'PRIVATE' +'PRIVATE_SGA' +'PRIVILEGED' +'PRIVILEGE' +'PRIVILEGES' +'PROCEDURAL' +'PROCEDURE' +'PROCESS' +'PROFILE' +'PROGRAM' +'PROJECT' +'PROPAGATE' +'PROTECTED' +'PROTECTION' +'PROXY' +'PRUNING' +'PUBLIC' +'PULL_PRED' +'PURGE' +'PUSH_PRED' +'PUSH_SUBQ' +'PX_FAULT_TOLERANCE' +'PX_GRANULE' +'PX_JOIN_FILTER' +'QB_NAME' +'QUERY_BLOCK' +'QUERY' +'QUEUE_CURR' +'QUEUE' +'QUEUE_ROWP' +'QUIESCE' +'QUORUM' +'QUOTA' +'RAISE' +'RANDOM_LOCAL' +'RANDOM' +'RANGE' +'RANKM' +'RAPIDLY' +'RAW' +'RAWTOHEX' +'RAWTONHEX' +'RBA' +'RBO_OUTLINE' +'RDBA' +'READ' +'READS' +'REALM' +'REAL' +'REBALANCE' +'REBUILD' +'RECORD' +'RECORDS_PER_BLOCK' +'RECOVERABLE' +'RECOVER' +'RECOVERY' +'RECYCLEBIN' +'RECYCLE' +'REDACTION' +'REDEFINE' +'REDO' +'REDUCED' +'REDUNDANCY' +'REF_CASCADE_CURSOR' +'REFERENCED' +'REFERENCE' +'REFERENCES' +'REFERENCING' +'REF' +'REFRESH' +'REFTOHEX' +'REGEXP_COUNT' +'REGEXP_INSTR' +'REGEXP_LIKE' +'REGEXP_REPLACE' +'REGEXP_SUBSTR' +'REGISTER' +'REGR_AVGX' +'REGR_AVGY' +'REGR_COUNT' +'REGR_INTERCEPT' +'REGR_R2' +'REGR_SLOPE' +'REGR_SXX' +'REGR_SXY' +'REGR_SYY' +'REGULAR' +'REJECT' +'REKEY' +'RELATIONAL' +'RELIES_ON' +'RELOCATE' +'RELY' +'REMAINDER' +'REMOTE_MAPPED' +'REMOVE' +'RENAME' +'REPAIR' +'REPEAT' +'REPLACE' +'REPLICATION' +'REQUIRED' +'RESETLOGS' +'RESET' +'RESIZE' +'RESOLVE' +'RESOLVER' +'RESOURCE' +'RESPECT' +'RESTART' +'RESTORE_AS_INTERVALS' +'RESTORE' +'RESTRICT_ALL_REF_CONS' +'RESTRICTED' +'RESTRICT_REFERENCES' +'RESTRICT' +'RESULT_CACHE' +'RESULT' +'RESUMABLE' +'RESUME' +'RETENTION' +'RETRY_ON_ROW_CHANGE' +'RETURNING' +'RETURN' +'REUSE' +'REVERSE' +'REVOKE' +'REWRITE_OR_ERROR' +'REWRITE' +'RIGHT' +'ROLE' +'ROLESET' +'ROLES' +'ROLLBACK' +'ROLLING' +'ROLLUP' +'ROWDEPENDENCIES' +'ROWID_MAPPING_TABLE' +'ROWID' +'ROWIDTOCHAR' +'ROWIDTONCHAR' +'ROW_LENGTH' +'ROWNUM' +'ROW' +'ROWS' +'RPAD' +'RTRIM' +'RULE' +'RULES' +'RUNNING' +'SALT' +'SAMPLE' +'SAVE_AS_INTERVALS' +'SAVEPOINT' +'SAVE' +'SB4' +'SCALE_ROWS' +'SCALE' +'SCAN_INSTANCES' +'SCAN' +'SCHEDULER' +'SCHEMACHECK' +'SCHEMA' +'SCN_ASCENDING' +'SCN' +'SCOPE' +'SCRUB' +'SD_ALL' +'SD_INHIBIT' +'SDO_GEOM_MBR' +'SD_SHOW' +'SEARCH' +'SECOND' +'SECRET' +'SECUREFILE_DBA' +'SECUREFILE' +'SECURITY' +'SEED' +'SEG_BLOCK' +'SEG_FILE' +'SEGMENT' +'SELECTIVITY' +'SELECT' +'SELF' +'SEMIJOIN_DRIVER' +'SEMIJOIN' +'SEMI_TO_INNER' +'SEQUENCED' +'SEQUENCE' +'SEQUENTIAL' +'SEQ' +'SERIALIZABLE' +'SERIALLY_REUSABLE' +'SERIAL' +'SERVERERROR' +'SERVICE_NAME_CONVERT' +'SERVICES' +'SESSION_CACHED_CURSORS' +'SESSION' +'SESSIONS_PER_USER' +'SESSIONTIMEZONE' +'SESSIONTZNAME' +'SET' +'SETS' +'SETTINGS' +'SET_TO_JOIN' +'SEVERE' +'SHARED_POOL' +'SHARED' +'SHARE' +'SHARING' +'SHELFLIFE' +'SHOW' +'SHRINK' +'SHUTDOWN' +'SIBLINGS' +'SID' +'SIGNAL_COMPONENT' +'SIGNAL_FUNCTION' +'SIGN' +'SIGNTYPE' +'SIMPLE_INTEGER' +'SIMPLE' +'SINGLE' +'SINGLETASK' +'SINH' +'SIN' +'SIZE' +'SKIP_EXT_OPTIMIZER' +'SKIP' +'SKIP_UNQ_UNUSABLE_IDX' +'SKIP_UNUSABLE_INDEXES' +'SMALLFILE' +'SMALLINT' +'SNAPSHOT' +'SOME' +'SORT' +'SOUNDEX' +'SOURCE_FILE_DIRECTORY' +'SOURCE_FILE_NAME_CONVERT' +'SOURCE' +'SPACE' +'SPECIFICATION' +'SPFILE' +'SPLIT' +'SPREADSHEET' +'SQLDATA' +'SQLERROR' +'SQLLDR' +'SQL' +'SQL_TRACE' +'SQL_TRANSLATION_PROFILE' +'SQRT' +'STALE' +'STANDALONE' +'STANDARD_HASH' +'STANDBY_MAX_DATA_DELAY' +'STANDBYS' +'STANDBY' +'STAR' +'STAR_TRANSFORMATION' +'START' +'STARTUP' +'STATEMENT_ID' +'STATEMENT_QUEUING' +'STATEMENTS' +'STATEMENT' +'STATE' +'STATIC' +'STATISTICS' +'STATS_BINOMIAL_TEST' +'STATS_CROSSTAB' +'STATS_F_TEST' +'STATS_KS_TEST' +'STATS_MODE' +'STATS_MW_TEST' +'STATS_ONE_WAY_ANOVA' +'STATS_T_TEST_INDEP' +'STATS_T_TEST_INDEPU' +'STATS_T_TEST_ONE' +'STATS_T_TEST_PAIRED' +'STATS_WSR_TEST' +'STDDEV_POP' +'STDDEV_SAMP' +'STOP' +'STORAGE' +'STORE' +'STREAMS' +'STREAM' +'STRICT' +'STRING' +'STRIPE_COLUMNS' +'STRIPE_WIDTH' +'STRIP' +'STRUCTURE' +'SUBMULTISET' +'SUBPARTITION_REL' +'SUBPARTITIONS' +'SUBPARTITION' +'SUBQUERIES' +'SUBQUERY_PRUNING' +'SUBSCRIBE' +'SUBSET' +'SUBSTITUTABLE' +'SUBSTR2' +'SUBSTR4' +'SUBSTRB' +'SUBSTRC' +'SUBTYPE' +'SUCCESSFUL' +'SUCCESS' +'SUMMARY' +'SUPPLEMENTAL' +'SUSPEND' +'SWAP_JOIN_INPUTS' +'SWITCHOVER' +'SWITCH' +'SYNCHRONOUS' +'SYNC' +'SYNONYM' +'SYSASM' +'SYS_AUDIT' +'SYSAUX' +'SYSBACKUP' +'SYS_CHECKACL' +'SYS_CHECK_PRIVILEGE' +'SYS_CONNECT_BY_PATH' +'SYS_CONTEXT' +'SYSDATE' +'SYSDBA' +'SYS_DBURIGEN' +'SYSDG' +'SYS_DL_CURSOR' +'SYS_DM_RXFORM_CHR' +'SYS_DM_RXFORM_NUM' +'SYS_DOM_COMPARE' +'SYS_DST_PRIM2SEC' +'SYS_DST_SEC2PRIM' +'SYS_ET_BFILE_TO_RAW' +'SYS_ET_BLOB_TO_IMAGE' +'SYS_ET_IMAGE_TO_BLOB' +'SYS_ET_RAW_TO_BFILE' +'SYS_EXTPDTXT' +'SYS_EXTRACT_UTC' +'SYS_FBT_INSDEL' +'SYS_FILTER_ACLS' +'SYS_FNMATCHES' +'SYS_FNREPLACE' +'SYS_GET_ACLIDS' +'SYS_GET_COL_ACLIDS' +'SYS_GET_PRIVILEGES' +'SYS_GETTOKENID' +'SYS_GETXTIVAL' +'SYS_GUID' +'SYSGUID' +'SYSKM' +'SYS_MAKE_XMLNODEID' +'SYS_MAKEXML' +'SYS_MKXMLATTR' +'SYS_MKXTI' +'SYSOBJ' +'SYS_OP_ADT2BIN' +'SYS_OP_ADTCONS' +'SYS_OP_ALSCRVAL' +'SYS_OP_ATG' +'SYS_OP_BIN2ADT' +'SYS_OP_BITVEC' +'SYS_OP_BL2R' +'SYS_OP_BLOOM_FILTER_LIST' +'SYS_OP_BLOOM_FILTER' +'SYS_OP_C2C' +'SYS_OP_CAST' +'SYS_OP_CEG' +'SYS_OP_CL2C' +'SYS_OP_COMBINED_HASH' +'SYS_OP_COMP' +'SYS_OP_CONVERT' +'SYS_OP_COUNTCHG' +'SYS_OP_CSCONV' +'SYS_OP_CSCONVTEST' +'SYS_OP_CSR' +'SYS_OP_CSX_PATCH' +'SYS_OP_CYCLED_SEQ' +'SYS_OP_DECOMP' +'SYS_OP_DESCEND' +'SYS_OP_DISTINCT' +'SYS_OP_DRA' +'SYS_OP_DUMP' +'SYS_OP_DV_CHECK' +'SYS_OP_ENFORCE_NOT_NULL$' +'SYSOPER' +'SYS_OP_EXTRACT' +'SYS_OP_GROUPING' +'SYS_OP_GUID' +'SYS_OP_HASH' +'SYS_OP_IIX' +'SYS_OP_ITR' +'SYS_OP_KEY_VECTOR_CREATE' +'SYS_OP_KEY_VECTOR_FILTER_LIST' +'SYS_OP_KEY_VECTOR_FILTER' +'SYS_OP_KEY_VECTOR_SUCCEEDED' +'SYS_OP_KEY_VECTOR_USE' +'SYS_OP_LBID' +'SYS_OP_LOBLOC2BLOB' +'SYS_OP_LOBLOC2CLOB' +'SYS_OP_LOBLOC2ID' +'SYS_OP_LOBLOC2NCLOB' +'SYS_OP_LOBLOC2TYP' +'SYS_OP_LSVI' +'SYS_OP_LVL' +'SYS_OP_MAKEOID' +'SYS_OP_MAP_NONNULL' +'SYS_OP_MSR' +'SYS_OP_NICOMBINE' +'SYS_OP_NIEXTRACT' +'SYS_OP_NII' +'SYS_OP_NIX' +'SYS_OP_NOEXPAND' +'SYS_OP_NTCIMG$' +'SYS_OP_NUMTORAW' +'SYS_OP_OIDVALUE' +'SYS_OP_OPNSIZE' +'SYS_OP_PAR_1' +'SYS_OP_PARGID_1' +'SYS_OP_PARGID' +'SYS_OP_PAR' +'SYS_OP_PART_ID' +'SYS_OP_PIVOT' +'SYS_OP_R2O' +'SYS_OP_RAWTONUM' +'SYS_OP_RDTM' +'SYS_OP_REF' +'SYS_OP_RMTD' +'SYS_OP_ROWIDTOOBJ' +'SYS_OP_RPB' +'SYS_OPTLOBPRBSC' +'SYS_OP_TOSETID' +'SYS_OP_TPR' +'SYS_OP_TRTB' +'SYS_OPTXICMP' +'SYS_OPTXQCASTASNQ' +'SYS_OP_UNDESCEND' +'SYS_OP_VECAND' +'SYS_OP_VECBIT' +'SYS_OP_VECOR' +'SYS_OP_VECXOR' +'SYS_OP_VERSION' +'SYS_OP_VREF' +'SYS_OP_VVD' +'SYS_OP_XMLCONS_FOR_CSX' +'SYS_OP_XPTHATG' +'SYS_OP_XPTHIDX' +'SYS_OP_XPTHOP' +'SYS_OP_XTXT2SQLT' +'SYS_OP_ZONE_ID' +'SYS_ORDERKEY_DEPTH' +'SYS_ORDERKEY_MAXCHILD' +'SYS_ORDERKEY_PARENT' +'SYS_PARALLEL_TXN' +'SYS_PATHID_IS_ATTR' +'SYS_PATHID_IS_NMSPC' +'SYS_PATHID_LASTNAME' +'SYS_PATHID_LASTNMSPC' +'SYS_PATH_REVERSE' +'SYS_PXQEXTRACT' +'SYS_RAW_TO_XSID' +'SYS_RID_ORDER' +'SYS_ROW_DELTA' +'SYS_SC_2_XMLT' +'SYS_SYNRCIREDO' +'SYSTEM_DEFINED' +'SYSTEM' +'SYSTIMESTAMP' +'SYS_TYPEID' +'SYS_UMAKEXML' +'SYS_XMLANALYZE' +'SYS_XMLCONTAINS' +'SYS_XMLCONV' +'SYS_XMLEXNSURI' +'SYS_XMLGEN' +'SYS_XMLI_LOC_ISNODE' +'SYS_XMLI_LOC_ISTEXT' +'SYS_XMLINSTR' +'SYS_XMLLOCATOR_GETSVAL' +'SYS_XMLNODEID_GETCID' +'SYS_XMLNODEID_GETLOCATOR' +'SYS_XMLNODEID_GETOKEY' +'SYS_XMLNODEID_GETPATHID' +'SYS_XMLNODEID_GETPTRID' +'SYS_XMLNODEID_GETRID' +'SYS_XMLNODEID_GETSVAL' +'SYS_XMLNODEID_GETTID' +'SYS_XMLNODEID' +'SYS_XMLT_2_SC' +'SYS_XMLTRANSLATE' +'SYS_XMLTYPE2SQL' +'SYS_XQ_ASQLCNV' +'SYS_XQ_ATOMCNVCHK' +'SYS_XQBASEURI' +'SYS_XQCASTABLEERRH' +'SYS_XQCODEP2STR' +'SYS_XQCODEPEQ' +'SYS_XQCON2SEQ' +'SYS_XQCONCAT' +'SYS_XQDELETE' +'SYS_XQDFLTCOLATION' +'SYS_XQDOC' +'SYS_XQDOCURI' +'SYS_XQDURDIV' +'SYS_XQED4URI' +'SYS_XQENDSWITH' +'SYS_XQERRH' +'SYS_XQERR' +'SYS_XQESHTMLURI' +'SYS_XQEXLOBVAL' +'SYS_XQEXSTWRP' +'SYS_XQEXTRACT' +'SYS_XQEXTRREF' +'SYS_XQEXVAL' +'SYS_XQFB2STR' +'SYS_XQFNBOOL' +'SYS_XQFNCMP' +'SYS_XQFNDATIM' +'SYS_XQFNLNAME' +'SYS_XQFNNM' +'SYS_XQFNNSURI' +'SYS_XQFNPREDTRUTH' +'SYS_XQFNQNM' +'SYS_XQFNROOT' +'SYS_XQFORMATNUM' +'SYS_XQFTCONTAIN' +'SYS_XQFUNCR' +'SYS_XQGETCONTENT' +'SYS_XQINDXOF' +'SYS_XQINSERT' +'SYS_XQINSPFX' +'SYS_XQIRI2URI' +'SYS_XQLANG' +'SYS_XQLLNMFRMQNM' +'SYS_XQMKNODEREF' +'SYS_XQNILLED' +'SYS_XQNODENAME' +'SYS_XQNORMSPACE' +'SYS_XQNORMUCODE' +'SYS_XQ_NRNG' +'SYS_XQNSP4PFX' +'SYS_XQNSPFRMQNM' +'SYS_XQPFXFRMQNM' +'SYS_XQ_PKSQL2XML' +'SYS_XQPOLYABS' +'SYS_XQPOLYADD' +'SYS_XQPOLYCEL' +'SYS_XQPOLYCSTBL' +'SYS_XQPOLYCST' +'SYS_XQPOLYDIV' +'SYS_XQPOLYFLR' +'SYS_XQPOLYMOD' +'SYS_XQPOLYMUL' +'SYS_XQPOLYRND' +'SYS_XQPOLYSQRT' +'SYS_XQPOLYSUB' +'SYS_XQPOLYUMUS' +'SYS_XQPOLYUPLS' +'SYS_XQPOLYVEQ' +'SYS_XQPOLYVGE' +'SYS_XQPOLYVGT' +'SYS_XQPOLYVLE' +'SYS_XQPOLYVLT' +'SYS_XQPOLYVNE' +'SYS_XQREF2VAL' +'SYS_XQRENAME' +'SYS_XQREPLACE' +'SYS_XQRESVURI' +'SYS_XQRNDHALF2EVN' +'SYS_XQRSLVQNM' +'SYS_XQRYENVPGET' +'SYS_XQRYVARGET' +'SYS_XQRYWRP' +'SYS_XQSEQ2CON4XC' +'SYS_XQSEQ2CON' +'SYS_XQSEQDEEPEQ' +'SYS_XQSEQINSB' +'SYS_XQSEQRM' +'SYS_XQSEQRVS' +'SYS_XQSEQSUB' +'SYS_XQSEQTYPMATCH' +'SYS_XQSTARTSWITH' +'SYS_XQSTATBURI' +'SYS_XQSTR2CODEP' +'SYS_XQSTRJOIN' +'SYS_XQSUBSTRAFT' +'SYS_XQSUBSTRBEF' +'SYS_XQTOKENIZE' +'SYS_XQTREATAS' +'SYS_XQ_UPKXML2SQL' +'SYS_XQXFORM' +'SYS_XSID_TO_RAW' +'SYS_ZMAP_FILTER' +'SYS_ZMAP_REFRESH' +'TABLE_LOOKUP_BY_NL' +'TABLESPACE_NO' +'TABLESPACE' +'TABLES' +'TABLE_STATS' +'TABLE' +'TABNO' +'TAG' +'TANH' +'TAN' +'TBL$OR$IDX$PART$NUM' +'TEMPFILE' +'TEMPLATE' +'TEMPORARY' +'TEMP_TABLE' +'TEST' +'TEXT' +'THAN' +'THEN' +'THE' +'THREAD' +'THROUGH' +'TIER' +'TIES' +'TIMEOUT' +'TIMESTAMP_LTZ_UNCONSTRAINED' +'TIMESTAMP' +'TIMESTAMP_TZ_UNCONSTRAINED' +'TIMESTAMP_UNCONSTRAINED' +'TIMES' +'TIME' +'TIMEZONE' +'TIMEZONE_ABBR' +'TIMEZONE_HOUR' +'TIMEZONE_MINUTE' +'TIMEZONE_OFFSET' +'TIMEZONE_REGION' +'TIME_ZONE' +'TIV_GB' +'TIV_SSF' +'TO_ACLID' +'TO_BINARY_DOUBLE' +'TO_BINARY_FLOAT' +'TO_BLOB' +'TO_CLOB' +'TO_DSINTERVAL' +'TO_LOB' +'TO_MULTI_BYTE' +'TO_NCHAR' +'TO_NCLOB' +'TO_NUMBER' +'TOPLEVEL' +'TO_SINGLE_BYTE' +'TO_TIMESTAMP' +'TO_TIMESTAMP_TZ' +'TO_TIME' +'TO_TIME_TZ' +'TO' +'TO_YMINTERVAL' +'TRACE' +'TRACING' +'TRACKING' +'TRAILING' +'TRANSACTION' +'TRANSFORM_DISTINCT_AGG' +'TRANSITIONAL' +'TRANSITION' +'TRANSLATE' +'TRANSLATION' +'TREAT' +'TRIGGERS' +'TRIGGER' +'TRUE' +'TRUNCATE' +'TRUNC' +'TRUSTED' +'TRUST' +'TUNING' +'TX' +'TYPES' +'TYPE' +'TZ_OFFSET' +'UB2' +'UBA' +'UCS2' +'UID' +'UNARCHIVED' +'UNBOUNDED' +'UNBOUND' +'UNCONDITIONAL' +'UNDER' +'UNDO' +'UNDROP' +'UNIFORM' +'UNION' +'UNIQUE' +'UNISTR' +'UNLIMITED' +'UNLOAD' +'UNLOCK' +'UNMATCHED' +'UNNEST_INNERJ_DISTINCT_VIEW' +'UNNEST_NOSEMIJ_NODISTINCTVIEW' +'UNNEST_SEMIJ_VIEW' +'UNNEST' +'UNPACKED' +'UNPIVOT' +'UNPLUG' +'UNPROTECTED' +'UNQUIESCE' +'UNRECOVERABLE' +'UNRESTRICTED' +'UNSUBSCRIBE' +'UNTIL' +'UNUSABLE' +'UNUSED' +'UPDATABLE' +'UPDATED' +'UPDATE' +'UPDATEXML' +'UPD_INDEXES' +'UPD_JOININDEX' +'UPGRADE' +'UPPER' +'UPSERT' +'UROWID' +'USABLE' +'USAGE' +'USE_ANTI' +'USE_CONCAT' +'USE_CUBE' +'USE_HASH_AGGREGATION' +'USE_HASH_GBY_FOR_PUSHDOWN' +'USE_HASH' +'USE_HIDDEN_PARTITIONS' +'USE_INVISIBLE_INDEXES' +'USE_MERGE_CARTESIAN' +'USE_MERGE' +'USE_NL' +'USE_NL_WITH_INDEX' +'USE_PRIVATE_OUTLINES' +'USER_DATA' +'USER_DEFINED' +'USERENV' +'USERGROUP' +'USER_RECYCLEBIN' +'USERS' +'USER_TABLESPACES' +'USER' +'USE_SEMI' +'USE_STORED_OUTLINES' +'USE_TTT_FOR_GSETS' +'USE' +'USE_VECTOR_AGGREGATION' +'USE_WEAK_NAME_RESL' +'USING_NO_EXPAND' +'USING' +'UTF16BE' +'UTF16LE' +'UTF32' +'UTF8' +'V1' +'V2' +'VALIDATE' +'VALIDATION' +'VALID_TIME_END' +'VALUES' +'VALUE' +'VARCHAR2' +'VARCHAR' +'VARIABLE' +'VAR_POP' +'VARRAYS' +'VARRAY' +'VAR_SAMP' +'VARYING' +'VECTOR_READ_TRACE' +'VECTOR_READ' +'VECTOR_TRANSFORM_DIMS' +'VECTOR_TRANSFORM_FACT' +'VECTOR_TRANSFORM' +'VERIFIER' +'VERIFY' +'VERSIONING' +'VERSIONS_ENDSCN' +'VERSIONS_ENDTIME' +'VERSIONS_OPERATION' +'VERSIONS_STARTSCN' +'VERSIONS_STARTTIME' +'VERSIONS' +'VERSIONS_XID' +'VERSION' +'VIEW' +'VIOLATION' +'VIRTUAL' +'VISIBILITY' +'VISIBLE' +'VOLUME' +'VSIZE' +'WAIT' +'WALLET' +'WARNING' +'WEEKS' +'WEEK' +'WELLFORMED' +'WHENEVER' +'WHEN' +'WHERE' +'WHILE' +'WHITESPACE' +'WIDTH_BUCKET' +'WITHIN' +'WITHOUT' +'WITH_PLSQL' +'WITH' +'WORK' +'WRAPPED' +'WRAPPER' +'WRITE' +'XDB_FASTPATH_INSERT' +'XDB' +'X_DYN_PRUNE' +'XID' +'XML2OBJECT' +'XMLAGG' +'XMLATTRIBUTES' +'XMLCAST' +'XMLCDATA' +'XMLCOLATTVAL' +'XMLCOMMENT' +'XMLCONCAT' +'XMLDIFF' +'XML_DML_RWT_STMT' +'XMLELEMENT' +'XMLEXISTS2' +'XMLEXISTS' +'XMLFOREST' +'XMLINDEX' +'XMLINDEX_REWRITE_IN_SELECT' +'XMLINDEX_REWRITE' +'XMLINDEX_SEL_IDX_TBL' +'XMLISNODE' +'XMLISVALID' +'XMLNAMESPACES' +'XMLPARSE' +'XMLPATCH' +'XMLPI' +'XMLQUERYVAL' +'XMLQUERY' +'XMLROOT' +'XMLSCHEMA' +'XMLSERIALIZE' +'XMLTABLE' +'XMLTRANSFORMBLOB' +'XMLTRANSFORM' +'XMLTYPE' +'XML' +'XPATHTABLE' +'XS_SYS_CONTEXT' +'XS' +'XTRANSPORT' +'YEARS' +'YEAR' +'YES' +'YMINTERVAL_UNCONSTRAINED' +'ZONEMAP' +'ZONE' +'PREDICTION' +'PREDICTION_BOUNDS' +'PREDICTION_COST' +'PREDICTION_DETAILS' +'PREDICTION_PROBABILITY' +'PREDICTION_SET' +'CUME_DIST' +'DENSE_RANK' +'LISTAGG' +'PERCENT_RANK' +'PERCENTILE_CONT' +'PERCENTILE_DISC' +'RANK' +'AVG' +'CORR' +'COVAR_' +'DECODE' +'LAG' +'LEAD' +'MAX' +'MEDIAN' +'MIN' +'NTILE' +'NVL' +'RATIO_TO_REPORT' +'REGR_' +'ROUND' +'ROW_NUMBER' +'SUBSTR' +'TO_CHAR' +'TRIM' +'SUM' +'STDDEV' +'VAR_' +'VARIANCE' +'LEAST' +'GREATEST' +'TO_DATE' +null +null +null +'..' +'.' +null +null +null +null +'%' +'&' +'(' +')' +'**' +'*' +'+' +'-' +',' +'/' +'@' +':=' +null +null +'^' +'~' +'!' +'>' +'<' +':' +';' +'|' +'=' +'[' +']' +'_' +null +null +null +null +null +null +null + +token symbolic names: +null +ABORT +ABS +ACCESS +ACCESSED +ACCOUNT +ACL +ACOS +ACTION +ACTIONS +ACTIVATE +ACTIVE +ACTIVE_COMPONENT +ACTIVE_DATA +ACTIVE_FUNCTION +ACTIVE_TAG +ACTIVITY +ADAPTIVE_PLAN +ADD +ADD_COLUMN +ADD_GROUP +ADD_MONTHS +ADJ_DATE +ADMIN +ADMINISTER +ADMINISTRATOR +ADVANCED +ADVISE +ADVISOR +AFD_DISKSTRING +AFTER +AGENT +AGGREGATE +A_LETTER +ALIAS +ALL +ALLOCATE +ALLOW +ALL_ROWS +ALTER +ALWAYS +ANALYZE +ANCILLARY +AND +AND_EQUAL +ANOMALY +ANSI_REARCH +ANTIJOIN +ANY +ANYSCHEMA +APPEND +APPENDCHILDXML +APPEND_VALUES +APPLICATION +APPLY +APPROX_COUNT_DISTINCT +ARCHIVAL +ARCHIVE +ARCHIVED +ARCHIVELOG +ARRAY +AS +ASC +ASCII +ASCIISTR +ASIN +ASIS +ASSEMBLY +ASSIGN +ASSOCIATE +ASYNC +ASYNCHRONOUS +ATAN2 +ATAN +AT +ATTRIBUTE +ATTRIBUTES +AUDIT +AUTHENTICATED +AUTHENTICATION +AUTHID +AUTHORIZATION +AUTOALLOCATE +AUTO +AUTOBACKUP +AUTOEXTEND +AUTO_LOGIN +AUTOMATIC +AUTONOMOUS_TRANSACTION +AUTO_REOPTIMIZE +AVAILABILITY +AVRO +BACKGROUND +BACKUP +BACKUPSET +BASIC +BASICFILE +BATCH +BATCHSIZE +BATCH_TABLE_ACCESS_BY_ROWID +BECOME +BEFORE +BEGIN +BEGINNING +BEGIN_OUTLINE_DATA +BEHALF +BEQUEATH +BETWEEN +BFILE +BFILENAME +BIGFILE +BINARY +BINARY_DOUBLE +BINARY_DOUBLE_INFINITY +BINARY_DOUBLE_NAN +BINARY_FLOAT +BINARY_FLOAT_INFINITY +BINARY_FLOAT_NAN +BINARY_INTEGER +BIND_AWARE +BINDING +BIN_TO_NUM +BITAND +BITMAP_AND +BITMAP +BITMAPS +BITMAP_TREE +BITS +BLOB +BLOCK +BLOCK_RANGE +BLOCKS +BLOCKSIZE +BODY +BOOLEAN +BOTH +BOUND +BRANCH +BREADTH +BROADCAST +BSON +BUFFER +BUFFER_CACHE +BUFFER_POOL +BUILD +BULK +BY +BYPASS_RECURSIVE_CHECK +BYPASS_UJVC +BYTE +CACHE +CACHE_CB +CACHE_INSTANCES +CACHE_TEMP_TABLE +CACHING +CALCULATED +CALLBACK +CALL +CANCEL +CANONICAL +CAPACITY +CARDINALITY +CASCADE +CASE +CAST +CATEGORY +CDBDEFAULT +CEIL +CELL_FLASH_CACHE +CERTIFICATE +CFILE +CHAINED +CHANGE +CHANGETRACKING +CHANGE_DUPKEY_ERROR_INDEX +CHARACTER +CHAR +CHAR_CS +CHARTOROWID +CHECK_ACL_REWRITE +CHECK +CHECKPOINT +CHILD +CHOOSE +CHR +CHUNK +CLASS +CLASSIFIER +CLEANUP +CLEAR +C_LETTER +CLIENT +CLOB +CLONE +CLOSE_CACHED_OPEN_CURSORS +CLOSE +CLUSTER_BY_ROWID +CLUSTER +CLUSTER_DETAILS +CLUSTER_DISTANCE +CLUSTER_ID +CLUSTERING +CLUSTERING_FACTOR +CLUSTER_PROBABILITY +CLUSTER_SET +COALESCE +COALESCE_SQ +COARSE +CO_AUTH_IND +COLD +COLLECT +COLUMNAR +COLUMN_AUTH_INDICATOR +COLUMN +COLUMNS +COLUMN_STATS +COLUMN_VALUE +COMMENT +COMMIT +COMMITTED +COMMON_DATA +COMPACT +COMPATIBILITY +COMPILE +COMPLETE +COMPLIANCE +COMPONENT +COMPONENTS +COMPOSE +COMPOSITE +COMPOSITE_LIMIT +COMPOUND +COMPRESS +COMPUTE +CONCAT +CON_DBID_TO_ID +CONDITIONAL +CONDITION +CONFIRM +CONFORMING +CON_GUID_TO_ID +CON_ID +CON_NAME_TO_ID +CONNECT_BY_CB_WHR_ONLY +CONNECT_BY_COMBINE_SW +CONNECT_BY_COST_BASED +CONNECT_BY_ELIM_DUPS +CONNECT_BY_FILTERING +CONNECT_BY_ISCYCLE +CONNECT_BY_ISLEAF +CONNECT_BY_ROOT +CONNECT +CONNECT_TIME +CONSIDER +CONSISTENT +CONSTANT +CONST +CONSTRAINT +CONSTRAINTS +CONSTRUCTOR +CONTAINER +CONTAINER_DATA +CONTAINERS +CONTENT +CONTENTS +CONTEXT +CONTINUE +CONTROLFILE +CON_UID_TO_ID +CONVERT +COOKIE +COPY +CORR_K +CORR_S +CORRUPTION +CORRUPT_XID_ALL +CORRUPT_XID +COS +COSH +COST +COST_XML_QUERY_REWRITE +COUNT +COVAR_POP +COVAR_SAMP +CPU_COSTING +CPU_PER_CALL +CPU_PER_SESSION +CRASH +CREATE +CREATE_FILE_DEST +CREATE_STORED_OUTLINES +CREATION +CREDENTIAL +CRITICAL +CROSS +CROSSEDITION +CSCONVERT +CUBE_AJ +CUBE +CUBE_GB +CUBE_SJ +CUME_DISTM +CURRENT +CURRENT_DATE +CURRENT_SCHEMA +CURRENT_TIME +CURRENT_TIMESTAMP +CURRENT_USER +CURRENTV +CURSOR +CURSOR_SHARING_EXACT +CURSOR_SPECIFIC_SEGMENT +CUSTOMDATUM +CV +CYCLE +DANGLING +DATABASE +DATA +DATAFILE +DATAFILES +DATAGUARDCONFIG +DATAMOVEMENT +DATAOBJNO +DATAOBJ_TO_MAT_PARTITION +DATAOBJ_TO_PARTITION +DATAPUMP +DATA_SECURITY_REWRITE_LIMIT +DATE +DATE_MODE +DAY +DAYS +DBA +DBA_RECYCLEBIN +DBMS_STATS +DB_ROLE_CHANGE +DBTIMEZONE +DB_UNIQUE_NAME +DB_VERSION +DDL +DEALLOCATE +DEBUG +DEBUGGER +DEC +DECIMAL +DECLARE +DECOMPOSE +DECORRELATE +DECR +DECREMENT +DECRYPT +DEDUPLICATE +DEFAULT +DEFAULTS +DEFERRABLE +DEFERRED +DEFINED +DEFINE +DEFINER +DEGREE +DELAY +DELEGATE +DELETE_ALL +DELETE +DELETEXML +DEMAND +DENSE_RANKM +DEPENDENT +DEPTH +DEQUEUE +DEREF +DEREF_NO_REWRITE +DESC +DESTROY +DETACHED +DETERMINES +DETERMINISTIC +DICTIONARY +DIMENSION +DIMENSIONS +DIRECT_LOAD +DIRECTORY +DIRECT_PATH +DISABLE_ALL +DISABLE +DISABLE_PARALLEL_DML +DISABLE_PRESET +DISABLE_RPKE +DISALLOW +DISASSOCIATE +DISCARD +DISCONNECT +DISK +DISKGROUP +DISKGROUP_PLUS +DISKS +DISMOUNT +DISTINCT +DISTINGUISHED +DISTRIBUTED +DISTRIBUTE +DML +DML_UPDATE +DOCFIDELITY +DOCUMENT +DOMAIN_INDEX_FILTER +DOMAIN_INDEX_NO_SORT +DOMAIN_INDEX_SORT +DOUBLE +DOWNGRADE +DRIVING_SITE +DROP_COLUMN +DROP +DROP_GROUP +DSINTERVAL_UNCONSTRAINED +DST_UPGRADE_INSERT_CONV +DUMP +DUMPSET +DUPLICATE +DV +DYNAMIC +DYNAMIC_SAMPLING +DYNAMIC_SAMPLING_EST_CDN +EACH +EDITIONABLE +EDITION +EDITIONING +EDITIONS +ELEMENT +ELIM_GROUPBY +ELIMINATE_JOIN +ELIMINATE_OBY +ELIMINATE_OUTER_JOIN +ELSE +ELSIF +EM +EMPTY_BLOB +EMPTY_CLOB +EMPTY +ENABLE_ALL +ENABLE +ENABLE_PARALLEL_DML +ENABLE_PRESET +ENCODING +ENCRYPT +ENCRYPTION +END +END_OUTLINE_DATA +ENFORCED +ENFORCE +ENQUEUE +ENTERPRISE +ENTITYESCAPING +ENTRY +EQUIPART +ERR +ERROR_ARGUMENT +ERROR +ERROR_ON_OVERLAP_TIME +ERRORS +ESCAPE +ESTIMATE +EVAL +EVALNAME +EVALUATE +EVALUATION +EVENTS +EVERY +EXCEPT +EXCEPTION +EXCEPTION_INIT +EXCEPTIONS +EXCHANGE +EXCLUDE +EXCLUDING +EXCLUSIVE +EXECUTE +EXEMPT +EXISTING +EXISTS +EXISTSNODE +EXIT +EXPAND_GSET_TO_UNION +EXPAND_TABLE +EXP +EXPIRE +EXPLAIN +EXPLOSION +EXPORT +EXPR_CORR_CHECK +EXPRESS +EXTENDS +EXTENT +EXTENTS +EXTERNAL +EXTERNALLY +EXTRACTCLOBXML +EXTRACT +EXTRACTVALUE +EXTRA +FACILITY +FACT +FACTOR +FACTORIZE_JOIN +FAILED +FAILED_LOGIN_ATTEMPTS +FAILGROUP +FAILOVER +FAILURE +FALSE +FAMILY +FAR +FAST +FASTSTART +FBTSCAN +FEATURE_DETAILS +FEATURE_ID +FEATURE_SET +FEATURE_VALUE +FETCH +FILE +FILE_NAME_CONVERT +FILESYSTEM_LIKE_LOGGING +FILTER +FINAL +FINE +FINISH +FIRST +FIRSTM +FIRST_ROWS +FIRST_VALUE +FIXED_VIEW_DATA +FLAGGER +FLASHBACK +FLASH_CACHE +FLOAT +FLOB +FLOOR +FLUSH +FOLDER +FOLLOWING +FOLLOWS +FORALL +FORCE +FORCE_XML_QUERY_REWRITE +FOREIGN +FOREVER +FOR +FORMAT +FORWARD +FRAGMENT_NUMBER +FREELIST +FREELISTS +FREEPOOLS +FRESH +FROM +FROM_TZ +FULL +FULL_OUTER_JOIN_TO_OUTER +FUNCTION +FUNCTIONS +GATHER_OPTIMIZER_STATISTICS +GATHER_PLAN_STATISTICS +GBY_CONC_ROLLUP +GBY_PUSHDOWN +GENERATED +GET +GLOBAL +GLOBALLY +GLOBAL_NAME +GLOBAL_TOPIC_ENABLED +GOTO +GRANT +GROUP_BY +GROUP +GROUP_ID +GROUPING +GROUPING_ID +GROUPS +GUARANTEED +GUARANTEE +GUARD +HASH_AJ +HASH +HASHKEYS +HASH_SJ +HAVING +HEADER +HEAP +HELP +HEXTORAW +HEXTOREF +HIDDEN_KEYWORD +HIDE +HIERARCHY +HIGH +HINTSET_BEGIN +HINTSET_END +HOT +HOUR +HWM_BROKERED +HYBRID +IDENTIFIED +IDENTIFIER +IDENTITY +IDGENERATORS +ID +IDLE_TIME +IF +IGNORE +IGNORE_OPTIM_EMBEDDED_HINTS +IGNORE_ROW_ON_DUPKEY_INDEX +IGNORE_WHERE_CLAUSE +ILM +IMMEDIATE +IMPACT +IMPORT +INACTIVE +INCLUDE +INCLUDE_VERSION +INCLUDING +INCREMENTAL +INCREMENT +INCR +INDENT +INDEX_ASC +INDEX_COMBINE +INDEX_DESC +INDEXED +INDEXES +INDEX_FFS +INDEX_FILTER +INDEX +INDEXING +INDEX_JOIN +INDEX_ROWS +INDEX_RRS +INDEX_RS_ASC +INDEX_RS_DESC +INDEX_RS +INDEX_SCAN +INDEX_SKIP_SCAN +INDEX_SS_ASC +INDEX_SS_DESC +INDEX_SS +INDEX_STATS +INDEXTYPE +INDEXTYPES +INDICATOR +INDICES +INFINITE +INFORMATIONAL +INHERIT +IN +INITCAP +INITIAL +INITIALIZED +INITIALLY +INITRANS +INLINE +INLINE_XMLTYPE_NT +INMEMORY +IN_MEMORY_METADATA +INMEMORY_PRUNING +INNER +INOUT +INPLACE +INSERTCHILDXMLAFTER +INSERTCHILDXMLBEFORE +INSERTCHILDXML +INSERT +INSERTXMLAFTER +INSERTXMLBEFORE +INSTANCE +INSTANCES +INSTANTIABLE +INSTANTLY +INSTEAD +INSTR2 +INSTR4 +INSTRB +INSTRC +INSTR +INTEGER +INTERLEAVED +INTERMEDIATE +INTERNAL_CONVERT +INTERNAL_USE +INTERPRETED +INTERSECT +INTERVAL +INT +INTO +INVALIDATE +INVISIBLE +IN_XQUERY +IS +ISOLATION +ISOLATION_LEVEL +ITERATE +ITERATION_NUMBER +JAVA +JOB +JOIN +JSON_ARRAYAGG +JSON_ARRAY +JSON_EQUAL +JSON_EXISTS2 +JSON_EXISTS +JSONGET +JSON +JSON_OBJECTAGG +JSON_OBJECT +JSONPARSE +JSON_QUERY +JSON_SERIALIZE +JSON_TABLE +JSON_TEXTCONTAINS2 +JSON_TEXTCONTAINS +JSON_VALUE +KEEP_DUPLICATES +KEEP +KERBEROS +KEY +KEY_LENGTH +KEYSIZE +KEYS +KEYSTORE +KILL +LABEL +LANGUAGE +LAST_DAY +LAST +LAST_VALUE +LATERAL +LAX +LAYER +LDAP_REGISTRATION_ENABLED +LDAP_REGISTRATION +LDAP_REG_SYNC_INTERVAL +LEADING +LEFT +LENGTH2 +LENGTH4 +LENGTHB +LENGTHC +LENGTH +LESS +LEVEL +LEVELS +LIBRARY +LIFECYCLE +LIFE +LIFETIME +LIKE2 +LIKE4 +LIKEC +LIKE_EXPAND +LIKE +LIMIT +LINEAR +LINK +LIST +LN +LNNVL +LOAD +LOB +LOBNVL +LOBS +LOCAL_INDEXES +LOCAL +LOCALTIME +LOCALTIMESTAMP +LOCATION +LOCATOR +LOCKED +LOCKING +LOCK +LOGFILE +LOGFILES +LOGGING +LOGICAL +LOGICAL_READS_PER_CALL +LOGICAL_READS_PER_SESSION +LOG +LOGMINING +LOGOFF +LOGON +LOG_READ_ONLY_VIOLATIONS +LONG +LOOP +LOWER +LOW +LPAD +LTRIM +MAIN +MAKE_REF +MANAGED +MANAGE +MANAGEMENT +MANAGER +MANUAL +MAP +MAPPING +MASTER +MATCHED +MATCHES +MATCH +MATCH_NUMBER +MATCH_RECOGNIZE +MATERIALIZED +MATERIALIZE +MAXARCHLOGS +MAXDATAFILES +MAXEXTENTS +MAXIMIZE +MAXINSTANCES +MAXLOGFILES +MAXLOGHISTORY +MAXLOGMEMBERS +MAX_SHARED_TEMP_SIZE +MAXSIZE +MAXTRANS +MAXVALUE +MEASURE +MEASURES +MEDIUM +MEMBER +MEMCOMPRESS +MEMORY +MERGEACTIONS +MERGE_AJ +MERGE_CONST_ON +MERGE +MERGE_SJ +METADATA +METHOD +MIGRATE +MIGRATION +MINEXTENTS +MINIMIZE +MINIMUM +MINING +MINUS +MINUS_NULL +MINUTE +MINVALUE +MIRRORCOLD +MIRRORHOT +MIRROR +MLSLABEL +MODEL_COMPILE_SUBQUERY +MODEL_DONTVERIFY_UNIQUENESS +MODEL_DYNAMIC_SUBQUERY +MODEL_MIN_ANALYSIS +MODEL +MODEL_NB +MODEL_NO_ANALYSIS +MODEL_PBY +MODEL_PUSH_REF +MODEL_SV +MODE +MODIFICATION +MODIFY_COLUMN_TYPE +MODIFY +MOD +MODULE +MONITORING +MONITOR +MONTH +MONTHS_BETWEEN +MONTHS +MOUNT +MOUNTPATH +MOVEMENT +MOVE +MULTIDIMENSIONAL +MULTISET +MV_MERGE +NAMED +NAME +NAMESPACE +NAN +NANVL +NATIONAL +NATIVE_FULL_OUTER_JOIN +NATIVE +NATURAL +NATURALN +NAV +NCHAR_CS +NCHAR +NCHR +NCLOB +NEEDED +NEG +NESTED +NESTED_TABLE_FAST_INSERT +NESTED_TABLE_GET_REFS +NESTED_TABLE_ID +NESTED_TABLE_SET_REFS +NESTED_TABLE_SET_SETID +NETWORK +NEVER +NEW +NEW_TIME +NEXT_DAY +NEXT +NL_AJ +NLJ_BATCHING +NLJ_INDEX_FILTER +NLJ_INDEX_SCAN +NLJ_PREFETCH +NLS_CALENDAR +NLS_CHARACTERSET +NLS_CHARSET_DECL_LEN +NLS_CHARSET_ID +NLS_CHARSET_NAME +NLS_COMP +NLS_CURRENCY +NLS_DATE_FORMAT +NLS_DATE_LANGUAGE +NLS_INITCAP +NLS_ISO_CURRENCY +NL_SJ +NLS_LANG +NLS_LANGUAGE +NLS_LENGTH_SEMANTICS +NLS_LOWER +NLS_NCHAR_CONV_EXCP +NLS_NUMERIC_CHARACTERS +NLS_SORT +NLSSORT +NLS_SPECIAL_CHARS +NLS_TERRITORY +NLS_UPPER +NO_ACCESS +NO_ADAPTIVE_PLAN +NO_ANSI_REARCH +NOAPPEND +NOARCHIVELOG +NOAUDIT +NO_AUTO_REOPTIMIZE +NO_BASETABLE_MULTIMV_REWRITE +NO_BATCH_TABLE_ACCESS_BY_ROWID +NO_BIND_AWARE +NO_BUFFER +NOCACHE +NO_CARTESIAN +NO_CHECK_ACL_REWRITE +NO_CLUSTER_BY_ROWID +NO_CLUSTERING +NO_COALESCE_SQ +NO_COMMON_DATA +NOCOMPRESS +NO_CONNECT_BY_CB_WHR_ONLY +NO_CONNECT_BY_COMBINE_SW +NO_CONNECT_BY_COST_BASED +NO_CONNECT_BY_ELIM_DUPS +NO_CONNECT_BY_FILTERING +NOCOPY +NO_COST_XML_QUERY_REWRITE +NO_CPU_COSTING +NOCPU_COSTING +NOCYCLE +NO_DATA_SECURITY_REWRITE +NO_DECORRELATE +NODELAY +NO_DOMAIN_INDEX_FILTER +NO_DST_UPGRADE_INSERT_CONV +NO_ELIM_GROUPBY +NO_ELIMINATE_JOIN +NO_ELIMINATE_OBY +NO_ELIMINATE_OUTER_JOIN +NOENTITYESCAPING +NO_EXPAND_GSET_TO_UNION +NO_EXPAND +NO_EXPAND_TABLE +NO_FACT +NO_FACTORIZE_JOIN +NO_FILTERING +NOFORCE +NO_FULL_OUTER_JOIN_TO_OUTER +NO_GATHER_OPTIMIZER_STATISTICS +NO_GBY_PUSHDOWN +NOGUARANTEE +NO_INDEX_FFS +NO_INDEX +NO_INDEX_SS +NO_INMEMORY +NO_INMEMORY_PRUNING +NOKEEP +NO_LOAD +NOLOCAL +NOLOGGING +NOMAPPING +NOMAXVALUE +NO_MERGE +NOMINIMIZE +NOMINVALUE +NO_MODEL_PUSH_REF +NO_MONITORING +NOMONITORING +NO_MONITOR +NO_MULTIMV_REWRITE +NO_NATIVE_FULL_OUTER_JOIN +NONBLOCKING +NONEDITIONABLE +NONE +NO_NLJ_BATCHING +NO_NLJ_PREFETCH +NO +NONSCHEMA +NO_OBJECT_LINK +NOORDER +NO_ORDER_ROLLUPS +NO_OUTER_JOIN_TO_ANTI +NO_OUTER_JOIN_TO_INNER +NOOVERRIDE +NO_PARALLEL_INDEX +NOPARALLEL_INDEX +NO_PARALLEL +NOPARALLEL +NO_PARTIAL_COMMIT +NO_PARTIAL_JOIN +NO_PARTIAL_ROLLUP_PUSHDOWN +NOPARTITION +NO_PLACE_DISTINCT +NO_PLACE_GROUP_BY +NO_PQ_CONCURRENT_UNION +NO_PQ_MAP +NO_PQ_REPLICATE +NO_PQ_SKEW +NO_PRUNE_GSETS +NO_PULL_PRED +NO_PUSH_PRED +NO_PUSH_SUBQ +NO_PX_FAULT_TOLERANCE +NO_PX_JOIN_FILTER +NO_QKN_BUFF +NO_QUERY_TRANSFORMATION +NO_REF_CASCADE +NORELOCATE +NORELY +NOREPAIR +NOREPLAY +NORESETLOGS +NO_RESULT_CACHE +NOREVERSE +NO_REWRITE +NOREWRITE +NORMAL +NO_ROOT_SW_FOR_LOCAL +NOROWDEPENDENCIES +NOSCHEMACHECK +NOSEGMENT +NO_SEMIJOIN +NO_SEMI_TO_INNER +NO_SET_TO_JOIN +NOSORT +NO_SQL_TRANSLATION +NO_SQL_TUNE +NO_STAR_TRANSFORMATION +NO_STATEMENT_QUEUING +NO_STATS_GSETS +NOSTRICT +NO_SUBQUERY_PRUNING +NO_SUBSTRB_PAD +NO_SWAP_JOIN_INPUTS +NOSWITCH +NO_TABLE_LOOKUP_BY_NL +NO_TEMP_TABLE +NOTHING +NOTIFICATION +NOT +NO_TRANSFORM_DISTINCT_AGG +NO_UNNEST +NO_USE_CUBE +NO_USE_HASH_AGGREGATION +NO_USE_HASH_GBY_FOR_PUSHDOWN +NO_USE_HASH +NO_USE_INVISIBLE_INDEXES +NO_USE_MERGE +NO_USE_NL +NO_USE_VECTOR_AGGREGATION +NOVALIDATE +NO_VECTOR_TRANSFORM_DIMS +NO_VECTOR_TRANSFORM_FACT +NO_VECTOR_TRANSFORM +NOWAIT +NO_XDB_FASTPATH_INSERT +NO_XML_DML_REWRITE +NO_XMLINDEX_REWRITE_IN_SELECT +NO_XMLINDEX_REWRITE +NO_XML_QUERY_REWRITE +NO_ZONEMAP +NTH_VALUE +NULLIF +NULL_ +NULLS +NUMBER +NUMERIC +NUM_INDEX_KEYS +NUMTODSINTERVAL +NUMTOYMINTERVAL +NVARCHAR2 +NVL2 +OBJECT2XML +OBJECT +OBJ_ID +OBJNO +OBJNO_REUSE +OCCURENCES +OFFLINE +OFF +OFFSET +OF +OIDINDEX +OID +OLAP +OLD +OLD_PUSH_PRED +OLS +OLTP +OMIT +ONE +ONLINE +ONLINELOG +ONLY +ON +OPAQUE +OPAQUE_TRANSFORM +OPAQUE_XCANONICAL +OPCODE +OPEN +OPERATIONS +OPERATOR +OPT_ESTIMATE +OPTIMAL +OPTIMIZE +OPTIMIZER_FEATURES_ENABLE +OPTIMIZER_GOAL +OPTION +OPT_PARAM +ORA_BRANCH +ORA_CHECK_ACL +ORA_CHECK_PRIVILEGE +ORA_CLUSTERING +ORADATA +ORADEBUG +ORA_DST_AFFECTED +ORA_DST_CONVERT +ORA_DST_ERROR +ORA_GET_ACLIDS +ORA_GET_PRIVILEGES +ORA_HASH +ORA_INVOKING_USERID +ORA_INVOKING_USER +ORA_INVOKING_XS_USER_GUID +ORA_INVOKING_XS_USER +ORA_RAWCOMPARE +ORA_RAWCONCAT +ORA_ROWSCN +ORA_ROWSCN_RAW +ORA_ROWVERSION +ORA_TABVERSION +ORA_WRITE_TIME +ORDERED +ORDERED_PREDICATES +ORDER +ORDINALITY +OR_EXPAND +ORGANIZATION +OR +OR_PREDICATES +OSERROR +OTHER +OUTER_JOIN_TO_ANTI +OUTER_JOIN_TO_INNER +OUTER +OUTLINE_LEAF +OUTLINE +OUT_OF_LINE +OUT +OVERFLOW_NOMOVE +OVERFLOW +OVERLAPS +OVER +OVERRIDING +OWNER +OWNERSHIP +OWN +PACKAGE +PACKAGES +PARALLEL_ENABLE +PARALLEL_INDEX +PARALLEL +PARAMETERFILE +PARAMETERS +PARAM +PARENT +PARITY +PARTIAL_JOIN +PARTIALLY +PARTIAL +PARTIAL_ROLLUP_PUSHDOWN +PARTITION_HASH +PARTITION_LIST +PARTITION +PARTITION_RANGE +PARTITIONS +PARTNUMINST +PASSING +PASSWORD_GRACE_TIME +PASSWORD_LIFE_TIME +PASSWORD_LOCK_TIME +PASSWORD +PASSWORD_REUSE_MAX +PASSWORD_REUSE_TIME +PASSWORD_VERIFY_FUNCTION +PAST +PATCH +PATH +PATH_PREFIX +PATHS +PATTERN +PBL_HS_BEGIN +PBL_HS_END +PCTFREE +PCTINCREASE +PCTTHRESHOLD +PCTUSED +PCTVERSION +PENDING +PERCENT_FOUND +PERCENT_ISOPEN +PERCENT_NOTFOUND +PERCENT_KEYWORD +PERCENT_RANKM +PERCENT_ROWCOUNT +PERCENT_ROWTYPE +PERCENT_TYPE +PERFORMANCE +PERIOD_KEYWORD +PERMANENT +PERMISSION +PERMUTE +PER +PFILE +PHYSICAL +PIKEY +PIPELINED +PIPE +PIV_GB +PIVOT +PIV_SSF +PLACE_DISTINCT +PLACE_GROUP_BY +PLAN +PLSCOPE_SETTINGS +PLS_INTEGER +PLSQL_CCFLAGS +PLSQL_CODE_TYPE +PLSQL_DEBUG +PLSQL_OPTIMIZE_LEVEL +PLSQL_WARNINGS +PLUGGABLE +POINT +POLICY +POOL_16K +POOL_2K +POOL_32K +POOL_4K +POOL_8K +POSITIVEN +POSITIVE +POST_TRANSACTION +POWERMULTISET_BY_CARDINALITY +POWERMULTISET +POWER +PQ_CONCURRENT_UNION +PQ_DISTRIBUTE +PQ_DISTRIBUTE_WINDOW +PQ_FILTER +PQ_MAP +PQ_NOMAP +PQ_REPLICATE +PQ_SKEW +PRAGMA +PREBUILT +PRECEDES +PRECEDING +PRECISION +PRECOMPUTE_SUBQUERY +PREDICATE_REORDERS +PRELOAD +PREPARE +PRESENTNNV +PRESENT +PRESENTV +PRESERVE_OID +PRESERVE +PRETTY +PREVIOUS +PREV +PRIMARY +PRINTBLOBTOCLOB +PRIORITY +PRIOR +PRIVATE +PRIVATE_SGA +PRIVILEGED +PRIVILEGE +PRIVILEGES +PROCEDURAL +PROCEDURE +PROCESS +PROFILE +PROGRAM +PROJECT +PROPAGATE +PROTECTED +PROTECTION +PROXY +PRUNING +PUBLIC +PULL_PRED +PURGE +PUSH_PRED +PUSH_SUBQ +PX_FAULT_TOLERANCE +PX_GRANULE +PX_JOIN_FILTER +QB_NAME +QUERY_BLOCK +QUERY +QUEUE_CURR +QUEUE +QUEUE_ROWP +QUIESCE +QUORUM +QUOTA +RAISE +RANDOM_LOCAL +RANDOM +RANGE +RANKM +RAPIDLY +RAW +RAWTOHEX +RAWTONHEX +RBA +RBO_OUTLINE +RDBA +READ +READS +REALM +REAL +REBALANCE +REBUILD +RECORD +RECORDS_PER_BLOCK +RECOVERABLE +RECOVER +RECOVERY +RECYCLEBIN +RECYCLE +REDACTION +REDEFINE +REDO +REDUCED +REDUNDANCY +REF_CASCADE_CURSOR +REFERENCED +REFERENCE +REFERENCES +REFERENCING +REF +REFRESH +REFTOHEX +REGEXP_COUNT +REGEXP_INSTR +REGEXP_LIKE +REGEXP_REPLACE +REGEXP_SUBSTR +REGISTER +REGR_AVGX +REGR_AVGY +REGR_COUNT +REGR_INTERCEPT +REGR_R2 +REGR_SLOPE +REGR_SXX +REGR_SXY +REGR_SYY +REGULAR +REJECT +REKEY +RELATIONAL +RELIES_ON +RELOCATE +RELY +REMAINDER +REMOTE_MAPPED +REMOVE +RENAME +REPAIR +REPEAT +REPLACE +REPLICATION +REQUIRED +RESETLOGS +RESET +RESIZE +RESOLVE +RESOLVER +RESOURCE +RESPECT +RESTART +RESTORE_AS_INTERVALS +RESTORE +RESTRICT_ALL_REF_CONS +RESTRICTED +RESTRICT_REFERENCES +RESTRICT +RESULT_CACHE +RESULT +RESUMABLE +RESUME +RETENTION +RETRY_ON_ROW_CHANGE +RETURNING +RETURN +REUSE +REVERSE +REVOKE +REWRITE_OR_ERROR +REWRITE +RIGHT +ROLE +ROLESET +ROLES +ROLLBACK +ROLLING +ROLLUP +ROWDEPENDENCIES +ROWID_MAPPING_TABLE +ROWID +ROWIDTOCHAR +ROWIDTONCHAR +ROW_LENGTH +ROWNUM +ROW +ROWS +RPAD +RTRIM +RULE +RULES +RUNNING +SALT +SAMPLE +SAVE_AS_INTERVALS +SAVEPOINT +SAVE +SB4 +SCALE_ROWS +SCALE +SCAN_INSTANCES +SCAN +SCHEDULER +SCHEMACHECK +SCHEMA +SCN_ASCENDING +SCN +SCOPE +SCRUB +SD_ALL +SD_INHIBIT +SDO_GEOM_MBR +SD_SHOW +SEARCH +SECOND +SECRET +SECUREFILE_DBA +SECUREFILE +SECURITY +SEED +SEG_BLOCK +SEG_FILE +SEGMENT +SELECTIVITY +SELECT +SELF +SEMIJOIN_DRIVER +SEMIJOIN +SEMI_TO_INNER +SEQUENCED +SEQUENCE +SEQUENTIAL +SEQ +SERIALIZABLE +SERIALLY_REUSABLE +SERIAL +SERVERERROR +SERVICE_NAME_CONVERT +SERVICES +SESSION_CACHED_CURSORS +SESSION +SESSIONS_PER_USER +SESSIONTIMEZONE +SESSIONTZNAME +SET +SETS +SETTINGS +SET_TO_JOIN +SEVERE +SHARED_POOL +SHARED +SHARE +SHARING +SHELFLIFE +SHOW +SHRINK +SHUTDOWN +SIBLINGS +SID +SIGNAL_COMPONENT +SIGNAL_FUNCTION +SIGN +SIGNTYPE +SIMPLE_INTEGER +SIMPLE +SINGLE +SINGLETASK +SINH +SIN +SIZE +SKIP_EXT_OPTIMIZER +SKIP_ +SKIP_UNQ_UNUSABLE_IDX +SKIP_UNUSABLE_INDEXES +SMALLFILE +SMALLINT +SNAPSHOT +SOME +SORT +SOUNDEX +SOURCE_FILE_DIRECTORY +SOURCE_FILE_NAME_CONVERT +SOURCE +SPACE_KEYWORD +SPECIFICATION +SPFILE +SPLIT +SPREADSHEET +SQLDATA +SQLERROR +SQLLDR +SQL +SQL_TRACE +SQL_TRANSLATION_PROFILE +SQRT +STALE +STANDALONE +STANDARD_HASH +STANDBY_MAX_DATA_DELAY +STANDBYS +STANDBY +STAR +STAR_TRANSFORMATION +START +STARTUP +STATEMENT_ID +STATEMENT_QUEUING +STATEMENTS +STATEMENT +STATE +STATIC +STATISTICS +STATS_BINOMIAL_TEST +STATS_CROSSTAB +STATS_F_TEST +STATS_KS_TEST +STATS_MODE +STATS_MW_TEST +STATS_ONE_WAY_ANOVA +STATS_T_TEST_INDEP +STATS_T_TEST_INDEPU +STATS_T_TEST_ONE +STATS_T_TEST_PAIRED +STATS_WSR_TEST +STDDEV_POP +STDDEV_SAMP +STOP +STORAGE +STORE +STREAMS +STREAM +STRICT +STRING +STRIPE_COLUMNS +STRIPE_WIDTH +STRIP +STRUCTURE +SUBMULTISET +SUBPARTITION_REL +SUBPARTITIONS +SUBPARTITION +SUBQUERIES +SUBQUERY_PRUNING +SUBSCRIBE +SUBSET +SUBSTITUTABLE +SUBSTR2 +SUBSTR4 +SUBSTRB +SUBSTRC +SUBTYPE +SUCCESSFUL +SUCCESS +SUMMARY +SUPPLEMENTAL +SUSPEND +SWAP_JOIN_INPUTS +SWITCHOVER +SWITCH +SYNCHRONOUS +SYNC +SYNONYM +SYSASM +SYS_AUDIT +SYSAUX +SYSBACKUP +SYS_CHECKACL +SYS_CHECK_PRIVILEGE +SYS_CONNECT_BY_PATH +SYS_CONTEXT +SYSDATE +SYSDBA +SYS_DBURIGEN +SYSDG +SYS_DL_CURSOR +SYS_DM_RXFORM_CHR +SYS_DM_RXFORM_NUM +SYS_DOM_COMPARE +SYS_DST_PRIM2SEC +SYS_DST_SEC2PRIM +SYS_ET_BFILE_TO_RAW +SYS_ET_BLOB_TO_IMAGE +SYS_ET_IMAGE_TO_BLOB +SYS_ET_RAW_TO_BFILE +SYS_EXTPDTXT +SYS_EXTRACT_UTC +SYS_FBT_INSDEL +SYS_FILTER_ACLS +SYS_FNMATCHES +SYS_FNREPLACE +SYS_GET_ACLIDS +SYS_GET_COL_ACLIDS +SYS_GET_PRIVILEGES +SYS_GETTOKENID +SYS_GETXTIVAL +SYS_GUID +SYSGUID +SYSKM +SYS_MAKE_XMLNODEID +SYS_MAKEXML +SYS_MKXMLATTR +SYS_MKXTI +SYSOBJ +SYS_OP_ADT2BIN +SYS_OP_ADTCONS +SYS_OP_ALSCRVAL +SYS_OP_ATG +SYS_OP_BIN2ADT +SYS_OP_BITVEC +SYS_OP_BL2R +SYS_OP_BLOOM_FILTER_LIST +SYS_OP_BLOOM_FILTER +SYS_OP_C2C +SYS_OP_CAST +SYS_OP_CEG +SYS_OP_CL2C +SYS_OP_COMBINED_HASH +SYS_OP_COMP +SYS_OP_CONVERT +SYS_OP_COUNTCHG +SYS_OP_CSCONV +SYS_OP_CSCONVTEST +SYS_OP_CSR +SYS_OP_CSX_PATCH +SYS_OP_CYCLED_SEQ +SYS_OP_DECOMP +SYS_OP_DESCEND +SYS_OP_DISTINCT +SYS_OP_DRA +SYS_OP_DUMP +SYS_OP_DV_CHECK +SYS_OP_ENFORCE_NOT_NULL +SYSOPER +SYS_OP_EXTRACT +SYS_OP_GROUPING +SYS_OP_GUID +SYS_OP_HASH +SYS_OP_IIX +SYS_OP_ITR +SYS_OP_KEY_VECTOR_CREATE +SYS_OP_KEY_VECTOR_FILTER_LIST +SYS_OP_KEY_VECTOR_FILTER +SYS_OP_KEY_VECTOR_SUCCEEDED +SYS_OP_KEY_VECTOR_USE +SYS_OP_LBID +SYS_OP_LOBLOC2BLOB +SYS_OP_LOBLOC2CLOB +SYS_OP_LOBLOC2ID +SYS_OP_LOBLOC2NCLOB +SYS_OP_LOBLOC2TYP +SYS_OP_LSVI +SYS_OP_LVL +SYS_OP_MAKEOID +SYS_OP_MAP_NONNULL +SYS_OP_MSR +SYS_OP_NICOMBINE +SYS_OP_NIEXTRACT +SYS_OP_NII +SYS_OP_NIX +SYS_OP_NOEXPAND +SYS_OP_NTCIMG +SYS_OP_NUMTORAW +SYS_OP_OIDVALUE +SYS_OP_OPNSIZE +SYS_OP_PAR_1 +SYS_OP_PARGID_1 +SYS_OP_PARGID +SYS_OP_PAR +SYS_OP_PART_ID +SYS_OP_PIVOT +SYS_OP_R2O +SYS_OP_RAWTONUM +SYS_OP_RDTM +SYS_OP_REF +SYS_OP_RMTD +SYS_OP_ROWIDTOOBJ +SYS_OP_RPB +SYS_OPTLOBPRBSC +SYS_OP_TOSETID +SYS_OP_TPR +SYS_OP_TRTB +SYS_OPTXICMP +SYS_OPTXQCASTASNQ +SYS_OP_UNDESCEND +SYS_OP_VECAND +SYS_OP_VECBIT +SYS_OP_VECOR +SYS_OP_VECXOR +SYS_OP_VERSION +SYS_OP_VREF +SYS_OP_VVD +SYS_OP_XMLCONS_FOR_CSX +SYS_OP_XPTHATG +SYS_OP_XPTHIDX +SYS_OP_XPTHOP +SYS_OP_XTXT2SQLT +SYS_OP_ZONE_ID +SYS_ORDERKEY_DEPTH +SYS_ORDERKEY_MAXCHILD +SYS_ORDERKEY_PARENT +SYS_PARALLEL_TXN +SYS_PATHID_IS_ATTR +SYS_PATHID_IS_NMSPC +SYS_PATHID_LASTNAME +SYS_PATHID_LASTNMSPC +SYS_PATH_REVERSE +SYS_PXQEXTRACT +SYS_RAW_TO_XSID +SYS_RID_ORDER +SYS_ROW_DELTA +SYS_SC_2_XMLT +SYS_SYNRCIREDO +SYSTEM_DEFINED +SYSTEM +SYSTIMESTAMP +SYS_TYPEID +SYS_UMAKEXML +SYS_XMLANALYZE +SYS_XMLCONTAINS +SYS_XMLCONV +SYS_XMLEXNSURI +SYS_XMLGEN +SYS_XMLI_LOC_ISNODE +SYS_XMLI_LOC_ISTEXT +SYS_XMLINSTR +SYS_XMLLOCATOR_GETSVAL +SYS_XMLNODEID_GETCID +SYS_XMLNODEID_GETLOCATOR +SYS_XMLNODEID_GETOKEY +SYS_XMLNODEID_GETPATHID +SYS_XMLNODEID_GETPTRID +SYS_XMLNODEID_GETRID +SYS_XMLNODEID_GETSVAL +SYS_XMLNODEID_GETTID +SYS_XMLNODEID +SYS_XMLT_2_SC +SYS_XMLTRANSLATE +SYS_XMLTYPE2SQL +SYS_XQ_ASQLCNV +SYS_XQ_ATOMCNVCHK +SYS_XQBASEURI +SYS_XQCASTABLEERRH +SYS_XQCODEP2STR +SYS_XQCODEPEQ +SYS_XQCON2SEQ +SYS_XQCONCAT +SYS_XQDELETE +SYS_XQDFLTCOLATION +SYS_XQDOC +SYS_XQDOCURI +SYS_XQDURDIV +SYS_XQED4URI +SYS_XQENDSWITH +SYS_XQERRH +SYS_XQERR +SYS_XQESHTMLURI +SYS_XQEXLOBVAL +SYS_XQEXSTWRP +SYS_XQEXTRACT +SYS_XQEXTRREF +SYS_XQEXVAL +SYS_XQFB2STR +SYS_XQFNBOOL +SYS_XQFNCMP +SYS_XQFNDATIM +SYS_XQFNLNAME +SYS_XQFNNM +SYS_XQFNNSURI +SYS_XQFNPREDTRUTH +SYS_XQFNQNM +SYS_XQFNROOT +SYS_XQFORMATNUM +SYS_XQFTCONTAIN +SYS_XQFUNCR +SYS_XQGETCONTENT +SYS_XQINDXOF +SYS_XQINSERT +SYS_XQINSPFX +SYS_XQIRI2URI +SYS_XQLANG +SYS_XQLLNMFRMQNM +SYS_XQMKNODEREF +SYS_XQNILLED +SYS_XQNODENAME +SYS_XQNORMSPACE +SYS_XQNORMUCODE +SYS_XQ_NRNG +SYS_XQNSP4PFX +SYS_XQNSPFRMQNM +SYS_XQPFXFRMQNM +SYS_XQ_PKSQL2XML +SYS_XQPOLYABS +SYS_XQPOLYADD +SYS_XQPOLYCEL +SYS_XQPOLYCSTBL +SYS_XQPOLYCST +SYS_XQPOLYDIV +SYS_XQPOLYFLR +SYS_XQPOLYMOD +SYS_XQPOLYMUL +SYS_XQPOLYRND +SYS_XQPOLYSQRT +SYS_XQPOLYSUB +SYS_XQPOLYUMUS +SYS_XQPOLYUPLS +SYS_XQPOLYVEQ +SYS_XQPOLYVGE +SYS_XQPOLYVGT +SYS_XQPOLYVLE +SYS_XQPOLYVLT +SYS_XQPOLYVNE +SYS_XQREF2VAL +SYS_XQRENAME +SYS_XQREPLACE +SYS_XQRESVURI +SYS_XQRNDHALF2EVN +SYS_XQRSLVQNM +SYS_XQRYENVPGET +SYS_XQRYVARGET +SYS_XQRYWRP +SYS_XQSEQ2CON4XC +SYS_XQSEQ2CON +SYS_XQSEQDEEPEQ +SYS_XQSEQINSB +SYS_XQSEQRM +SYS_XQSEQRVS +SYS_XQSEQSUB +SYS_XQSEQTYPMATCH +SYS_XQSTARTSWITH +SYS_XQSTATBURI +SYS_XQSTR2CODEP +SYS_XQSTRJOIN +SYS_XQSUBSTRAFT +SYS_XQSUBSTRBEF +SYS_XQTOKENIZE +SYS_XQTREATAS +SYS_XQ_UPKXML2SQL +SYS_XQXFORM +SYS_XSID_TO_RAW +SYS_ZMAP_FILTER +SYS_ZMAP_REFRESH +TABLE_LOOKUP_BY_NL +TABLESPACE_NO +TABLESPACE +TABLES +TABLE_STATS +TABLE +TABNO +TAG +TANH +TAN +TBLORIDXPARTNUM +TEMPFILE +TEMPLATE +TEMPORARY +TEMP_TABLE +TEST +TEXT +THAN +THEN +THE +THREAD +THROUGH +TIER +TIES +TIMEOUT +TIMESTAMP_LTZ_UNCONSTRAINED +TIMESTAMP +TIMESTAMP_TZ_UNCONSTRAINED +TIMESTAMP_UNCONSTRAINED +TIMES +TIME +TIMEZONE +TIMEZONE_ABBR +TIMEZONE_HOUR +TIMEZONE_MINUTE +TIMEZONE_OFFSET +TIMEZONE_REGION +TIME_ZONE +TIV_GB +TIV_SSF +TO_ACLID +TO_BINARY_DOUBLE +TO_BINARY_FLOAT +TO_BLOB +TO_CLOB +TO_DSINTERVAL +TO_LOB +TO_MULTI_BYTE +TO_NCHAR +TO_NCLOB +TO_NUMBER +TOPLEVEL +TO_SINGLE_BYTE +TO_TIMESTAMP +TO_TIMESTAMP_TZ +TO_TIME +TO_TIME_TZ +TO +TO_YMINTERVAL +TRACE +TRACING +TRACKING +TRAILING +TRANSACTION +TRANSFORM_DISTINCT_AGG +TRANSITIONAL +TRANSITION +TRANSLATE +TRANSLATION +TREAT +TRIGGERS +TRIGGER +TRUE +TRUNCATE +TRUNC +TRUSTED +TRUST +TUNING +TX +TYPES +TYPE +TZ_OFFSET +UB2 +UBA +UCS2 +UID +UNARCHIVED +UNBOUNDED +UNBOUND +UNCONDITIONAL +UNDER +UNDO +UNDROP +UNIFORM +UNION +UNIQUE +UNISTR +UNLIMITED +UNLOAD +UNLOCK +UNMATCHED +UNNEST_INNERJ_DISTINCT_VIEW +UNNEST_NOSEMIJ_NODISTINCTVIEW +UNNEST_SEMIJ_VIEW +UNNEST +UNPACKED +UNPIVOT +UNPLUG +UNPROTECTED +UNQUIESCE +UNRECOVERABLE +UNRESTRICTED +UNSUBSCRIBE +UNTIL +UNUSABLE +UNUSED +UPDATABLE +UPDATED +UPDATE +UPDATEXML +UPD_INDEXES +UPD_JOININDEX +UPGRADE +UPPER +UPSERT +UROWID +USABLE +USAGE +USE_ANTI +USE_CONCAT +USE_CUBE +USE_HASH_AGGREGATION +USE_HASH_GBY_FOR_PUSHDOWN +USE_HASH +USE_HIDDEN_PARTITIONS +USE_INVISIBLE_INDEXES +USE_MERGE_CARTESIAN +USE_MERGE +USE_NL +USE_NL_WITH_INDEX +USE_PRIVATE_OUTLINES +USER_DATA +USER_DEFINED +USERENV +USERGROUP +USER_RECYCLEBIN +USERS +USER_TABLESPACES +USER +USE_SEMI +USE_STORED_OUTLINES +USE_TTT_FOR_GSETS +USE +USE_VECTOR_AGGREGATION +USE_WEAK_NAME_RESL +USING_NO_EXPAND +USING +UTF16BE +UTF16LE +UTF32 +UTF8 +V1 +V2 +VALIDATE +VALIDATION +VALID_TIME_END +VALUES +VALUE +VARCHAR2 +VARCHAR +VARIABLE +VAR_POP +VARRAYS +VARRAY +VAR_SAMP +VARYING +VECTOR_READ_TRACE +VECTOR_READ +VECTOR_TRANSFORM_DIMS +VECTOR_TRANSFORM_FACT +VECTOR_TRANSFORM +VERIFIER +VERIFY +VERSIONING +VERSIONS_ENDSCN +VERSIONS_ENDTIME +VERSIONS_OPERATION +VERSIONS_STARTSCN +VERSIONS_STARTTIME +VERSIONS +VERSIONS_XID +VERSION +VIEW +VIOLATION +VIRTUAL +VISIBILITY +VISIBLE +VOLUME +VSIZE +WAIT +WALLET +WARNING +WEEKS +WEEK +WELLFORMED +WHENEVER +WHEN +WHERE +WHILE +WHITESPACE +WIDTH_BUCKET +WITHIN +WITHOUT +WITH_PLSQL +WITH +WORK +WRAPPED +WRAPPER +WRITE +XDB_FASTPATH_INSERT +XDB +X_DYN_PRUNE +XID +XML2OBJECT +XMLAGG +XMLATTRIBUTES +XMLCAST +XMLCDATA +XMLCOLATTVAL +XMLCOMMENT +XMLCONCAT +XMLDIFF +XML_DML_RWT_STMT +XMLELEMENT +XMLEXISTS2 +XMLEXISTS +XMLFOREST +XMLINDEX +XMLINDEX_REWRITE_IN_SELECT +XMLINDEX_REWRITE +XMLINDEX_SEL_IDX_TBL +XMLISNODE +XMLISVALID +XMLNAMESPACES +XMLPARSE +XMLPATCH +XMLPI +XMLQUERYVAL +XMLQUERY +XMLROOT +XMLSCHEMA +XMLSERIALIZE +XMLTABLE +XMLTRANSFORMBLOB +XMLTRANSFORM +XMLTYPE +XML +XPATHTABLE +XS_SYS_CONTEXT +XS +XTRANSPORT +YEARS +YEAR +YES +YMINTERVAL_UNCONSTRAINED +ZONEMAP +ZONE +PREDICTION +PREDICTION_BOUNDS +PREDICTION_COST +PREDICTION_DETAILS +PREDICTION_PROBABILITY +PREDICTION_SET +CUME_DIST +DENSE_RANK +LISTAGG +PERCENT_RANK +PERCENTILE_CONT +PERCENTILE_DISC +RANK +AVG +CORR +COVAR_ +DECODE +LAG +LEAD +MAX +MEDIAN +MIN +NTILE +NVL +RATIO_TO_REPORT +REGR_ +ROUND +ROW_NUMBER +SUBSTR +TO_CHAR +TRIM +SUM +STDDEV +VAR_ +VARIANCE +LEAST +GREATEST +TO_DATE +NATIONAL_CHAR_STRING_LIT +BIT_STRING_LIT +HEX_STRING_LIT +DOUBLE_PERIOD +PERIOD +UNSIGNED_INTEGER +APPROXIMATE_NUM_LIT +CHAR_STRING +DELIMITED_ID +PERCENT +AMPERSAND +LEFT_PAREN +RIGHT_PAREN +DOUBLE_ASTERISK +ASTERISK +PLUS_SIGN +MINUS_SIGN +COMMA +SOLIDUS +AT_SIGN +ASSIGN_OP +BINDVAR +NOT_EQUAL_OP +CARRET_OPERATOR_PART +TILDE_OPERATOR_PART +EXCLAMATION_OPERATOR_PART +GREATER_THAN_OP +LESS_THAN_OP +COLON +SEMICOLON +BAR +EQUALS_OP +LEFT_BRACKET +RIGHT_BRACKET +INTRODUCER +SINGLE_LINE_COMMENT +MULTI_LINE_COMMENT +REMARK_COMMENT +PROMPT_MESSAGE +START_CMD +REGULAR_ID +SPACES + +rule names: +program +sql_script +unit_statement +drop_function +alter_function +create_function_body +parallel_enable_clause +partition_by_clause +result_cache_clause +relies_on_part +streaming_clause +drop_package +alter_package +create_package +create_package_body +package_obj_spec +procedure_spec +function_spec +package_obj_body +drop_procedure +alter_procedure +function_body +procedure_body +create_procedure_body +drop_trigger +alter_trigger +create_trigger +trigger_follows_clause +trigger_when_clause +simple_dml_trigger +for_each_row +compound_dml_trigger +non_dml_trigger +trigger_body +routine_clause +compound_trigger_block +timing_point_section +non_dml_event +dml_event_clause +dml_event_element +dml_event_nested_clause +referencing_clause +referencing_element +drop_type +alter_type +compile_type_clause +replace_type_clause +alter_method_spec +alter_method_element +alter_attribute_definition +attribute_definition +alter_collection_clauses +dependent_handling_clause +dependent_exceptions_part +create_type +type_definition +object_type_def +object_as_part +object_under_part +nested_table_type_def +sqlj_object_type +type_body +type_body_elements +map_order_func_declaration +subprog_decl_in_type +proc_decl_in_type +func_decl_in_type +constructor_declaration +modifier_clause +object_member_spec +sqlj_object_type_attr +element_spec +element_spec_options +subprogram_spec +overriding_subprogram_spec +overriding_function_spec +type_procedure_spec +type_function_spec +constructor_spec +map_order_function_spec +pragma_clause +pragma_elements +type_elements_parameter +drop_sequence +alter_sequence +alter_session +alter_session_set_clause +create_sequence +sequence_spec +sequence_start_clause +create_index +cluster_index_clause +cluster_name +table_index_clause +bitmap_join_index_clause +index_expr +index_properties +domain_index_clause +local_domain_index_clause +xmlindex_clause +local_xmlindex_clause +global_partitioned_index +index_partitioning_clause +local_partitioned_index +on_range_partitioned_table +on_list_partitioned_table +partitioned_table +on_hash_partitioned_table +on_hash_partitioned_clause +on_comp_partitioned_table +on_comp_partitioned_clause +index_subpartition_clause +index_subpartition_subclause +odci_parameters +indextype +alter_index +alter_index_ops_set1 +alter_index_ops_set2 +visible_or_invisible +monitoring_nomonitoring +rebuild_clause +alter_index_partitioning +modify_index_default_attrs +add_hash_index_partition +coalesce_index_partition +modify_index_partition +modify_index_partitions_ops +rename_index_partition +drop_index_partition +split_index_partition +index_partition_description +modify_index_subpartition +partition_name_old +new_partition_name +new_index_name +create_user +alter_user +alter_identified_by +identified_by +identified_other_clause +user_tablespace_clause +quota_clause +profile_clause +role_clause +user_default_role_clause +password_expire_clause +user_lock_clause +user_editions_clause +alter_user_editions_clause +proxy_clause +container_names +set_container_data +add_rem_container_data +container_data_clause +analyze +partition_extention_clause +validation_clauses +online_or_offline +into_clause1 +partition_key_value +subpartition_key_value +associate_statistics +column_association +function_association +indextype_name +using_statistics_type +statistics_type_name +default_cost_clause +cpu_cost +io_cost +network_cost +default_selectivity_clause +default_selectivity +storage_table_clause +unified_auditing +policy_name +audit_traditional +audit_direct_path +audit_container_clause +audit_operation_clause +auditing_by_clause +audit_user +audit_schema_object_clause +sql_operation +auditing_on_clause +model_name +object_name +profile_name +sql_statement_shortcut +drop_index +rename_object +grant_statement +container_clause +create_directory +directory_name +directory_path +alter_library +library_editionable +library_debug +compiler_parameters_clause +parameter_value +library_name +alter_view +alter_view_editionable +create_view +view_options +view_alias_constraint +object_view_clause +inline_constraint +inline_ref_constraint +out_of_line_ref_constraint +out_of_line_constraint +constraint_state +alter_tablespace +datafile_tempfile_clauses +tablespace_logging_clauses +tablespace_group_clause +tablespace_group_name +tablespace_state_clauses +flashback_mode_clause +new_tablespace_name +create_tablespace +permanent_tablespace_clause +tablespace_encryption_spec +logging_clause +extent_management_clause +segment_management_clause +temporary_tablespace_clause +undo_tablespace_clause +tablespace_retention_clause +datafile_specification +tempfile_specification +datafile_tempfile_spec +redo_log_file_spec +autoextend_clause +maxsize_clause +build_clause +parallel_clause +alter_materialized_view +alter_mv_option1 +alter_mv_refresh +rollback_segment +modify_mv_column_clause +alter_materialized_view_log +add_mv_log_column_clause +move_mv_log_clause +mv_log_augmentation +datetime_expr +interval_expr +synchronous_or_asynchronous +including_or_excluding +create_materialized_view_log +new_values_clause +mv_log_purge_clause +create_materialized_view +create_mv_refresh +create_context +oracle_namespace +create_cluster +create_table +xmltype_table +xmltype_virtual_columns +xmltype_column_properties +xmltype_storage +xmlschema_spec +object_table +oid_index_clause +oid_clause +object_properties +object_table_substitution +relational_table +relational_property +table_partitioning_clauses +range_partitions +list_partitions +hash_partitions +individual_hash_partitions +hash_partitions_by_quantity +hash_partition_quantity +composite_range_partitions +composite_list_partitions +composite_hash_partitions +reference_partitioning +reference_partition_desc +system_partitioning +range_partition_desc +list_partition_desc +subpartition_template +hash_subpartition_quantity +subpartition_by_range +subpartition_by_list +subpartition_by_hash +subpartition_name +range_subpartition_desc +list_subpartition_desc +individual_hash_subparts +hash_subparts_by_quantity +range_values_clause +list_values_clause +table_partition_description +partitioning_storage_clause +lob_partitioning_storage +datatype_null_enable +size_clause +table_compression +physical_attributes_clause +storage_clause +deferred_segment_creation +segment_attributes_clause +physical_properties +row_movement_clause +flashback_archive_clause +log_grp +supplemental_table_logging +supplemental_log_grp_clause +supplemental_id_key_clause +allocate_extent_clause +deallocate_unused_clause +shrink_clause +records_per_block_clause +upgrade_table_clause +drop_table +drop_view +comment_on_column +enable_or_disable +allow_or_disallow +create_synonym +comment_on_table +alter_cluster +cache_or_nocache +database_name +alter_database +startup_clauses +resetlogs_or_noresetlogs +upgrade_or_downgrade +recovery_clauses +begin_or_end +general_recovery +full_database_recovery +partial_database_recovery +partial_database_recovery_10g +managed_standby_recovery +db_name +database_file_clauses +create_datafile_clause +alter_datafile_clause +alter_tempfile_clause +logfile_clauses +add_logfile_clauses +log_file_group +drop_logfile_clauses +switch_logfile_clause +supplemental_db_logging +add_or_drop +supplemental_plsql_clause +logfile_descriptor +controlfile_clauses +trace_file_clause +standby_database_clauses +activate_standby_db_clause +maximize_standby_db_clause +register_logfile_clause +commit_switchover_clause +start_standby_clause +stop_standby_clause +convert_database_clause +default_settings_clause +set_time_zone_clause +instance_clauses +security_clause +domain +database +edition_name +filenumber +filename +alter_table +alter_table_properties +alter_table_properties_1 +alter_iot_clauses +alter_mapping_table_clause +alter_overflow_clause +add_overflow_clause +enable_disable_clause +using_index_clause +index_attributes +sort_or_nosort +exceptions_clause +move_table_clause +index_org_table_clause +mapping_table_clause +key_compression +index_org_overflow_clause +column_clauses +modify_collection_retrieval +collection_item +rename_column_clause +old_column_name +new_column_name +add_modify_drop_column_clauses +drop_column_clause +modify_column_clauses +modify_col_properties +modify_col_substitutable +add_column_clause +alter_varray_col_properties +varray_col_properties +varray_storage_clause +lob_segname +lob_item +lob_storage_parameters +lob_storage_clause +modify_lob_storage_clause +modify_lob_parameters +lob_parameters +lob_deduplicate_clause +lob_compression_clause +lob_retention_clause +encryption_spec +tablespace +varray_item +column_properties +period_definition +start_time_column +end_time_column +column_definition +virtual_column_definition +autogenerated_sequence_definition +out_of_line_part_storage +nested_table_col_properties +nested_item +substitutable_column_clause +partition_name +supplemental_logging_props +column_or_attribute +object_type_col_properties +constraint_clauses +old_constraint_name +new_constraint_name +drop_constraint_clause +drop_primary_key_or_unique_or_generic_clause +add_constraint +add_constraint_clause +check_constraint +drop_constraint +enable_constraint +disable_constraint +foreign_key_clause +references_clause +on_delete_clause +unique_key_clause +primary_key_clause +anonymous_block +invoker_rights_clause +call_spec +java_spec +c_spec +c_agent_in_clause +c_parameters_clause +parameter +default_value_part +seq_of_declare_specs +declare_spec +variable_declaration +subtype_declaration +cursor_declaration +parameter_spec +exception_declaration +pragma_declaration +record_type_def +field_spec +ref_cursor_type_def +type_declaration +table_type_def +table_indexed_by_part +varray_type_def +seq_of_statements +label_declaration +statement +swallow_to_semi +assignment_statement +continue_statement +exit_statement +goto_statement +if_statement +elsif_part +else_part +loop_statement +cursor_loop_param +forall_statement +bounds_clause +between_bound +lower_bound +upper_bound +null_statement +raise_statement +return_statement +function_call +procedure_call +pipe_row_statement +body +exception_handler +trigger_block +block +sql_statement +execute_immediate +dynamic_returning_clause +data_manipulation_language_statements +cursor_manipulation_statements +close_statement +open_statement +fetch_statement +open_for_statement +transaction_control_statements +set_transaction_command +set_constraint_command +commit_statement +write_clause +rollback_statement +savepoint_statement +explain_statement +select_only_statement +select_statement +subquery_factoring_clause +factoring_element +search_clause +cycle_clause +subquery +subquery_basic_elements +subquery_operation_part +query_block +selected_list +from_clause +select_list_elements +table_ref_list +table_ref +table_ref_aux +table_ref_aux_internal +join_clause +join_on_part +join_using_part +outer_join_type +query_partition_clause +flashback_query_clause +pivot_clause +pivot_element +pivot_for_clause +pivot_in_clause +pivot_in_clause_element +pivot_in_clause_elements +unpivot_clause +unpivot_in_clause +unpivot_in_elements +hierarchical_query_clause +start_part +group_by_clause +group_by_elements +rollup_cube_clause +grouping_sets_clause +grouping_sets_elements +having_clause +model_clause +cell_reference_options +return_rows_clause +reference_model +main_model +model_column_clauses +model_column_partition_part +model_column_list +model_column +model_rules_clause +model_rules_part +model_rules_element +cell_assignment +model_iterate_clause +until_part +order_by_clause +order_by_elements +offset_clause +fetch_clause +for_update_clause +for_update_of_part +for_update_options +update_statement +update_set_clause +column_based_update_set_clause +delete_statement +insert_statement +single_table_insert +multi_table_insert +multi_table_element +conditional_insert_clause +conditional_insert_when_part +conditional_insert_else_part +insert_into_clause +values_clause +merge_statement +merge_update_clause +merge_element +merge_update_delete_part +merge_insert_clause +selected_tableview +lock_table_statement +wait_nowait_part +lock_table_element +lock_mode +general_table_ref +static_returning_clause +error_logging_clause +error_logging_into_part +error_logging_reject_part +dml_table_expression_clause +table_collection_expression +subquery_restriction_clause +sample_clause +seed_part +condition +expressions +expression +cursor_expression +logical_expression +unary_logical_expression +logical_operation +multiset_expression +relational_expression +compound_expression +relational_operator +in_elements +between_elements +concatenation +interval_expression +model_expression +model_expression_element +single_column_for_loop +multi_column_for_loop +unary_expression +case_statement +simple_case_statement +simple_case_when_part +searched_case_statement +searched_case_when_part +case_else_part +atom +quantified_expression +string_function +standard_function +literal +numeric_function_wrapper +numeric_function +other_function +over_clause_keyword +within_or_over_clause_keyword +standard_prediction_function_keyword +over_clause +windowing_clause +windowing_type +windowing_elements +using_clause +using_element +collect_order_by_part +within_or_over_part +cost_matrix_clause +xml_passing_clause +xml_attributes_clause +xml_namespaces_clause +xml_table_column +xml_general_default_part +xml_multiuse_expression_element +xmlroot_param_version_part +xmlroot_param_standalone_part +xmlserialize_param_enconding_part +xmlserialize_param_version_part +xmlserialize_param_ident_part +sql_plus_command +whenever_command +set_command +partition_extension_clause +column_alias +table_alias +where_clause +into_clause +xml_column_name +cost_class_name +attribute_name +savepoint_name +rollback_segment_name +table_var_name +schema_name +routine_name +package_name +implementation_type_name +parameter_name +reference_model_name +main_model_name +container_tableview_name +aggregate_function_name +query_name +grantee_name +role_name +constraint_name +label_name +type_name +sequence_name +exception_name +function_name +procedure_name +trigger_name +variable_name +index_name +cursor_name +record_name +collection_name +link_name +column_name +tableview_name +xmltable +char_set_name +synonym_name +schema_object_name +dir_object_name +user_object_name +grant_object_name +column_list +paren_column_list +keep_clause +function_argument +function_argument_analytic +function_argument_modeling +respect_or_ignore_nulls +argument +type_spec +datatype +precision_part +native_datatype_element +bind_variable +general_element +general_element_part +table_element +object_privilege +system_privilege +constant +numeric +numeric_negative +quoted_string +identifier +id_expression +outer_join_sign +regular_id +non_reserved_keywords_in_12c +non_reserved_keywords_pre12c +string_function_name +numeric_function_name + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 2255, 12097, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318, 9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322, 4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327, 9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331, 4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336, 9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340, 4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345, 9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 4, 348, 9, 348, 4, 349, 9, 349, 4, 350, 9, 350, 4, 351, 9, 351, 4, 352, 9, 352, 4, 353, 9, 353, 4, 354, 9, 354, 4, 355, 9, 355, 4, 356, 9, 356, 4, 357, 9, 357, 4, 358, 9, 358, 4, 359, 9, 359, 4, 360, 9, 360, 4, 361, 9, 361, 4, 362, 9, 362, 4, 363, 9, 363, 4, 364, 9, 364, 4, 365, 9, 365, 4, 366, 9, 366, 4, 367, 9, 367, 4, 368, 9, 368, 4, 369, 9, 369, 4, 370, 9, 370, 4, 371, 9, 371, 4, 372, 9, 372, 4, 373, 9, 373, 4, 374, 9, 374, 4, 375, 9, 375, 4, 376, 9, 376, 4, 377, 9, 377, 4, 378, 9, 378, 4, 379, 9, 379, 4, 380, 9, 380, 4, 381, 9, 381, 4, 382, 9, 382, 4, 383, 9, 383, 4, 384, 9, 384, 4, 385, 9, 385, 4, 386, 9, 386, 4, 387, 9, 387, 4, 388, 9, 388, 4, 389, 9, 389, 4, 390, 9, 390, 4, 391, 9, 391, 4, 392, 9, 392, 4, 393, 9, 393, 4, 394, 9, 394, 4, 395, 9, 395, 4, 396, 9, 396, 4, 397, 9, 397, 4, 398, 9, 398, 4, 399, 9, 399, 4, 400, 9, 400, 4, 401, 9, 401, 4, 402, 9, 402, 4, 403, 9, 403, 4, 404, 9, 404, 4, 405, 9, 405, 4, 406, 9, 406, 4, 407, 9, 407, 4, 408, 9, 408, 4, 409, 9, 409, 4, 410, 9, 410, 4, 411, 9, 411, 4, 412, 9, 412, 4, 413, 9, 413, 4, 414, 9, 414, 4, 415, 9, 415, 4, 416, 9, 416, 4, 417, 9, 417, 4, 418, 9, 418, 4, 419, 9, 419, 4, 420, 9, 420, 4, 421, 9, 421, 4, 422, 9, 422, 4, 423, 9, 423, 4, 424, 9, 424, 4, 425, 9, 425, 4, 426, 9, 426, 4, 427, 9, 427, 4, 428, 9, 428, 4, 429, 9, 429, 4, 430, 9, 430, 4, 431, 9, 431, 4, 432, 9, 432, 4, 433, 9, 433, 4, 434, 9, 434, 4, 435, 9, 435, 4, 436, 9, 436, 4, 437, 9, 437, 4, 438, 9, 438, 4, 439, 9, 439, 4, 440, 9, 440, 4, 441, 9, 441, 4, 442, 9, 442, 4, 443, 9, 443, 4, 444, 9, 444, 4, 445, 9, 445, 4, 446, 9, 446, 4, 447, 9, 447, 4, 448, 9, 448, 4, 449, 9, 449, 4, 450, 9, 450, 4, 451, 9, 451, 4, 452, 9, 452, 4, 453, 9, 453, 4, 454, 9, 454, 4, 455, 9, 455, 4, 456, 9, 456, 4, 457, 9, 457, 4, 458, 9, 458, 4, 459, 9, 459, 4, 460, 9, 460, 4, 461, 9, 461, 4, 462, 9, 462, 4, 463, 9, 463, 4, 464, 9, 464, 4, 465, 9, 465, 4, 466, 9, 466, 4, 467, 9, 467, 4, 468, 9, 468, 4, 469, 9, 469, 4, 470, 9, 470, 4, 471, 9, 471, 4, 472, 9, 472, 4, 473, 9, 473, 4, 474, 9, 474, 4, 475, 9, 475, 4, 476, 9, 476, 4, 477, 9, 477, 4, 478, 9, 478, 4, 479, 9, 479, 4, 480, 9, 480, 4, 481, 9, 481, 4, 482, 9, 482, 4, 483, 9, 483, 4, 484, 9, 484, 4, 485, 9, 485, 4, 486, 9, 486, 4, 487, 9, 487, 4, 488, 9, 488, 4, 489, 9, 489, 4, 490, 9, 490, 4, 491, 9, 491, 4, 492, 9, 492, 4, 493, 9, 493, 4, 494, 9, 494, 4, 495, 9, 495, 4, 496, 9, 496, 4, 497, 9, 497, 4, 498, 9, 498, 4, 499, 9, 499, 4, 500, 9, 500, 4, 501, 9, 501, 4, 502, 9, 502, 4, 503, 9, 503, 4, 504, 9, 504, 4, 505, 9, 505, 4, 506, 9, 506, 4, 507, 9, 507, 4, 508, 9, 508, 4, 509, 9, 509, 4, 510, 9, 510, 4, 511, 9, 511, 4, 512, 9, 512, 4, 513, 9, 513, 4, 514, 9, 514, 4, 515, 9, 515, 4, 516, 9, 516, 4, 517, 9, 517, 4, 518, 9, 518, 4, 519, 9, 519, 4, 520, 9, 520, 4, 521, 9, 521, 4, 522, 9, 522, 4, 523, 9, 523, 4, 524, 9, 524, 4, 525, 9, 525, 4, 526, 9, 526, 4, 527, 9, 527, 4, 528, 9, 528, 4, 529, 9, 529, 4, 530, 9, 530, 4, 531, 9, 531, 4, 532, 9, 532, 4, 533, 9, 533, 4, 534, 9, 534, 4, 535, 9, 535, 4, 536, 9, 536, 4, 537, 9, 537, 4, 538, 9, 538, 4, 539, 9, 539, 4, 540, 9, 540, 4, 541, 9, 541, 4, 542, 9, 542, 4, 543, 9, 543, 4, 544, 9, 544, 4, 545, 9, 545, 4, 546, 9, 546, 4, 547, 9, 547, 4, 548, 9, 548, 4, 549, 9, 549, 4, 550, 9, 550, 4, 551, 9, 551, 4, 552, 9, 552, 4, 553, 9, 553, 4, 554, 9, 554, 4, 555, 9, 555, 4, 556, 9, 556, 4, 557, 9, 557, 4, 558, 9, 558, 4, 559, 9, 559, 4, 560, 9, 560, 4, 561, 9, 561, 4, 562, 9, 562, 4, 563, 9, 563, 4, 564, 9, 564, 4, 565, 9, 565, 4, 566, 9, 566, 4, 567, 9, 567, 4, 568, 9, 568, 4, 569, 9, 569, 4, 570, 9, 570, 4, 571, 9, 571, 4, 572, 9, 572, 4, 573, 9, 573, 4, 574, 9, 574, 4, 575, 9, 575, 4, 576, 9, 576, 4, 577, 9, 577, 4, 578, 9, 578, 4, 579, 9, 579, 4, 580, 9, 580, 4, 581, 9, 581, 4, 582, 9, 582, 4, 583, 9, 583, 4, 584, 9, 584, 4, 585, 9, 585, 4, 586, 9, 586, 4, 587, 9, 587, 4, 588, 9, 588, 4, 589, 9, 589, 4, 590, 9, 590, 4, 591, 9, 591, 4, 592, 9, 592, 4, 593, 9, 593, 4, 594, 9, 594, 4, 595, 9, 595, 4, 596, 9, 596, 4, 597, 9, 597, 4, 598, 9, 598, 4, 599, 9, 599, 4, 600, 9, 600, 4, 601, 9, 601, 4, 602, 9, 602, 4, 603, 9, 603, 4, 604, 9, 604, 4, 605, 9, 605, 4, 606, 9, 606, 4, 607, 9, 607, 4, 608, 9, 608, 4, 609, 9, 609, 4, 610, 9, 610, 4, 611, 9, 611, 4, 612, 9, 612, 4, 613, 9, 613, 4, 614, 9, 614, 4, 615, 9, 615, 4, 616, 9, 616, 4, 617, 9, 617, 4, 618, 9, 618, 4, 619, 9, 619, 4, 620, 9, 620, 4, 621, 9, 621, 4, 622, 9, 622, 4, 623, 9, 623, 4, 624, 9, 624, 4, 625, 9, 625, 4, 626, 9, 626, 4, 627, 9, 627, 4, 628, 9, 628, 4, 629, 9, 629, 4, 630, 9, 630, 4, 631, 9, 631, 4, 632, 9, 632, 4, 633, 9, 633, 4, 634, 9, 634, 4, 635, 9, 635, 4, 636, 9, 636, 4, 637, 9, 637, 4, 638, 9, 638, 4, 639, 9, 639, 4, 640, 9, 640, 4, 641, 9, 641, 4, 642, 9, 642, 4, 643, 9, 643, 4, 644, 9, 644, 4, 645, 9, 645, 4, 646, 9, 646, 4, 647, 9, 647, 4, 648, 9, 648, 4, 649, 9, 649, 4, 650, 9, 650, 4, 651, 9, 651, 4, 652, 9, 652, 4, 653, 9, 653, 4, 654, 9, 654, 4, 655, 9, 655, 4, 656, 9, 656, 4, 657, 9, 657, 4, 658, 9, 658, 4, 659, 9, 659, 4, 660, 9, 660, 4, 661, 9, 661, 4, 662, 9, 662, 4, 663, 9, 663, 4, 664, 9, 664, 4, 665, 9, 665, 4, 666, 9, 666, 4, 667, 9, 667, 4, 668, 9, 668, 4, 669, 9, 669, 4, 670, 9, 670, 4, 671, 9, 671, 4, 672, 9, 672, 4, 673, 9, 673, 4, 674, 9, 674, 4, 675, 9, 675, 4, 676, 9, 676, 4, 677, 9, 677, 4, 678, 9, 678, 4, 679, 9, 679, 4, 680, 9, 680, 4, 681, 9, 681, 4, 682, 9, 682, 4, 683, 9, 683, 4, 684, 9, 684, 4, 685, 9, 685, 4, 686, 9, 686, 4, 687, 9, 687, 4, 688, 9, 688, 4, 689, 9, 689, 4, 690, 9, 690, 4, 691, 9, 691, 4, 692, 9, 692, 4, 693, 9, 693, 4, 694, 9, 694, 4, 695, 9, 695, 4, 696, 9, 696, 4, 697, 9, 697, 4, 698, 9, 698, 4, 699, 9, 699, 4, 700, 9, 700, 4, 701, 9, 701, 4, 702, 9, 702, 4, 703, 9, 703, 4, 704, 9, 704, 4, 705, 9, 705, 4, 706, 9, 706, 4, 707, 9, 707, 4, 708, 9, 708, 4, 709, 9, 709, 4, 710, 9, 710, 4, 711, 9, 711, 4, 712, 9, 712, 4, 713, 9, 713, 4, 714, 9, 714, 4, 715, 9, 715, 4, 716, 9, 716, 4, 717, 9, 717, 4, 718, 9, 718, 4, 719, 9, 719, 4, 720, 9, 720, 4, 721, 9, 721, 4, 722, 9, 722, 4, 723, 9, 723, 4, 724, 9, 724, 4, 725, 9, 725, 4, 726, 9, 726, 4, 727, 9, 727, 4, 728, 9, 728, 4, 729, 9, 729, 4, 730, 9, 730, 4, 731, 9, 731, 4, 732, 9, 732, 4, 733, 9, 733, 4, 734, 9, 734, 4, 735, 9, 735, 4, 736, 9, 736, 4, 737, 9, 737, 4, 738, 9, 738, 4, 739, 9, 739, 4, 740, 9, 740, 4, 741, 9, 741, 4, 742, 9, 742, 4, 743, 9, 743, 4, 744, 9, 744, 4, 745, 9, 745, 4, 746, 9, 746, 4, 747, 9, 747, 4, 748, 9, 748, 4, 749, 9, 749, 4, 750, 9, 750, 4, 751, 9, 751, 4, 752, 9, 752, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 1510, 10, 3, 3, 3, 5, 3, 1513, 10, 3, 7, 3, 1515, 10, 3, 12, 3, 14, 3, 1518, 11, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 1578, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 1590, 10, 6, 3, 6, 7, 6, 1593, 10, 6, 12, 6, 14, 6, 1596, 11, 6, 3, 6, 3, 6, 5, 6, 1600, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 5, 7, 1607, 10, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 7, 7, 1615, 10, 7, 12, 7, 14, 7, 1618, 11, 7, 3, 7, 3, 7, 5, 7, 1622, 10, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 7, 7, 1630, 10, 7, 12, 7, 14, 7, 1633, 11, 7, 3, 7, 5, 7, 1636, 10, 7, 3, 7, 3, 7, 5, 7, 1640, 10, 7, 3, 7, 5, 7, 1643, 10, 7, 3, 7, 3, 7, 5, 7, 1647, 10, 7, 3, 7, 3, 7, 3, 7, 5, 7, 1652, 10, 7, 3, 7, 3, 7, 3, 8, 3, 8, 5, 8, 1658, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 1667, 10, 9, 3, 9, 5, 9, 1670, 10, 9, 3, 9, 3, 9, 3, 10, 3, 10, 5, 10, 1676, 10, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 7, 11, 1683, 10, 11, 12, 11, 14, 11, 1686, 11, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 5, 13, 1698, 10, 13, 3, 13, 3, 13, 3, 13, 5, 13, 1703, 10, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 5, 14, 1713, 10, 14, 3, 14, 5, 14, 1716, 10, 14, 3, 14, 7, 14, 1719, 10, 14, 12, 14, 14, 14, 1722, 11, 14, 3, 14, 3, 14, 5, 14, 1726, 10, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 5, 15, 1733, 10, 15, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 1739, 10, 15, 3, 15, 3, 15, 5, 15, 1743, 10, 15, 3, 15, 3, 15, 7, 15, 1747, 10, 15, 12, 15, 14, 15, 1750, 11, 15, 3, 15, 3, 15, 5, 15, 1754, 10, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 5, 16, 1761, 10, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 1768, 10, 16, 3, 16, 3, 16, 3, 16, 7, 16, 1773, 10, 16, 12, 16, 14, 16, 1776, 11, 16, 3, 16, 3, 16, 5, 16, 1780, 10, 16, 3, 16, 3, 16, 5, 16, 1784, 10, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 5, 17, 1796, 10, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 7, 18, 1804, 10, 18, 12, 18, 14, 18, 1807, 11, 18, 3, 18, 3, 18, 5, 18, 1811, 10, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 7, 19, 1821, 10, 19, 12, 19, 14, 19, 1824, 11, 19, 3, 19, 3, 19, 5, 19, 1828, 10, 19, 3, 19, 3, 19, 3, 19, 5, 19, 1833, 10, 19, 3, 19, 5, 19, 1836, 10, 19, 3, 19, 5, 19, 1839, 10, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 5, 20, 1852, 10, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 5, 22, 1864, 10, 22, 3, 22, 7, 22, 1867, 10, 22, 12, 22, 14, 22, 1870, 11, 22, 3, 22, 3, 22, 5, 22, 1874, 10, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 7, 23, 1884, 10, 23, 12, 23, 14, 23, 1887, 11, 23, 3, 23, 3, 23, 5, 23, 1891, 10, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 7, 23, 1899, 10, 23, 12, 23, 14, 23, 1902, 11, 23, 3, 23, 5, 23, 1905, 10, 23, 3, 23, 5, 23, 1908, 10, 23, 3, 23, 3, 23, 5, 23, 1912, 10, 23, 3, 23, 5, 23, 1915, 10, 23, 3, 23, 3, 23, 5, 23, 1919, 10, 23, 3, 23, 3, 23, 3, 23, 5, 23, 1924, 10, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 7, 24, 1934, 10, 24, 12, 24, 14, 24, 1937, 11, 24, 3, 24, 3, 24, 5, 24, 1941, 10, 24, 3, 24, 3, 24, 5, 24, 1945, 10, 24, 3, 24, 5, 24, 1948, 10, 24, 3, 24, 3, 24, 3, 24, 5, 24, 1953, 10, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 5, 25, 1960, 10, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 7, 25, 1968, 10, 25, 12, 25, 14, 25, 1971, 11, 25, 3, 25, 3, 25, 5, 25, 1975, 10, 25, 3, 25, 5, 25, 1978, 10, 25, 3, 25, 3, 25, 5, 25, 1982, 10, 25, 3, 25, 5, 25, 1985, 10, 25, 3, 25, 3, 25, 3, 25, 5, 25, 1990, 10, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 2008, 10, 27, 3, 27, 7, 27, 2011, 10, 27, 12, 27, 14, 27, 2014, 11, 27, 3, 27, 3, 27, 5, 27, 2018, 10, 27, 5, 27, 2020, 10, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 5, 28, 2027, 10, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 5, 28, 2034, 10, 28, 3, 28, 5, 28, 2037, 10, 28, 3, 28, 5, 28, 2040, 10, 28, 3, 28, 5, 28, 2043, 10, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 7, 29, 2052, 10, 29, 12, 29, 14, 29, 2055, 11, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 5, 31, 2066, 10, 31, 3, 31, 3, 31, 5, 31, 2070, 10, 31, 3, 31, 5, 31, 2073, 10, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 5, 33, 2082, 10, 33, 3, 34, 3, 34, 3, 34, 3, 34, 7, 34, 2088, 10, 34, 12, 34, 14, 34, 2091, 11, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 5, 34, 2098, 10, 34, 3, 34, 5, 34, 2101, 10, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 5, 35, 2108, 10, 35, 3, 36, 3, 36, 5, 36, 2112, 10, 36, 3, 37, 3, 37, 3, 37, 5, 37, 2117, 10, 37, 3, 37, 6, 37, 2120, 10, 37, 13, 37, 14, 37, 2121, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 5, 38, 2163, 10, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 5, 39, 2191, 10, 39, 3, 40, 3, 40, 3, 40, 7, 40, 2196, 10, 40, 12, 40, 14, 40, 2199, 11, 40, 3, 40, 3, 40, 5, 40, 2203, 10, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 5, 41, 2210, 10, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 6, 43, 2219, 10, 43, 13, 43, 14, 43, 2220, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 5, 45, 2229, 10, 45, 3, 45, 3, 45, 5, 45, 2233, 10, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 5, 46, 2246, 10, 46, 3, 46, 5, 46, 2249, 10, 46, 3, 46, 3, 46, 3, 47, 3, 47, 5, 47, 2255, 10, 47, 3, 47, 5, 47, 2258, 10, 47, 3, 47, 7, 47, 2261, 10, 47, 12, 47, 14, 47, 2264, 11, 47, 3, 47, 3, 47, 5, 47, 2268, 10, 47, 3, 48, 3, 48, 5, 48, 2272, 10, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 7, 48, 2280, 10, 48, 12, 48, 14, 48, 2283, 11, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 7, 49, 2290, 10, 49, 12, 49, 14, 49, 2293, 11, 49, 3, 50, 3, 50, 3, 50, 5, 50, 2298, 10, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 7, 51, 2307, 10, 51, 12, 51, 14, 51, 2310, 11, 51, 3, 51, 3, 51, 5, 51, 2314, 10, 51, 3, 52, 3, 52, 5, 52, 2318, 10, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 5, 53, 2326, 10, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 5, 54, 2334, 10, 54, 3, 54, 3, 54, 3, 54, 5, 54, 2339, 10, 54, 3, 54, 5, 54, 2342, 10, 54, 5, 54, 2344, 10, 54, 3, 55, 5, 55, 2347, 10, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 5, 56, 2356, 10, 56, 3, 56, 3, 56, 3, 56, 5, 56, 2361, 10, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 5, 57, 2368, 10, 57, 3, 57, 5, 57, 2371, 10, 57, 3, 58, 5, 58, 2374, 10, 58, 3, 58, 3, 58, 5, 58, 2378, 10, 58, 3, 58, 5, 58, 2381, 10, 58, 3, 58, 3, 58, 3, 58, 3, 58, 7, 58, 2387, 10, 58, 12, 58, 14, 58, 2390, 11, 58, 3, 58, 3, 58, 5, 58, 2394, 10, 58, 3, 58, 7, 58, 2397, 10, 58, 12, 58, 14, 58, 2400, 11, 58, 3, 59, 3, 59, 3, 59, 3, 59, 5, 59, 2406, 10, 59, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 5, 61, 2416, 10, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 6, 63, 2430, 10, 63, 13, 63, 14, 63, 2431, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 5, 64, 2439, 10, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 5, 66, 2449, 10, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 7, 67, 2457, 10, 67, 12, 67, 14, 67, 2460, 11, 67, 3, 67, 3, 67, 3, 67, 3, 67, 5, 67, 2466, 10, 67, 3, 67, 5, 67, 2469, 10, 67, 3, 67, 3, 67, 3, 67, 5, 67, 2474, 10, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 7, 68, 2482, 10, 68, 12, 68, 14, 68, 2485, 11, 68, 3, 68, 3, 68, 5, 68, 2489, 10, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2496, 10, 68, 3, 68, 5, 68, 2499, 10, 68, 3, 68, 3, 68, 3, 68, 5, 68, 2504, 10, 68, 3, 69, 5, 69, 2507, 10, 69, 3, 69, 5, 69, 2510, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 7, 69, 2525, 10, 69, 12, 69, 14, 69, 2528, 11, 69, 3, 69, 3, 69, 5, 69, 2532, 10, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2541, 10, 69, 3, 69, 5, 69, 2544, 10, 69, 3, 69, 3, 69, 3, 69, 5, 69, 2549, 10, 69, 3, 70, 5, 70, 2552, 10, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 5, 71, 2559, 10, 71, 3, 71, 5, 71, 2562, 10, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 5, 73, 2569, 10, 73, 3, 73, 6, 73, 2572, 10, 73, 13, 73, 14, 73, 2573, 3, 73, 3, 73, 5, 73, 2578, 10, 73, 3, 74, 3, 74, 3, 74, 5, 74, 2583, 10, 74, 3, 75, 3, 75, 3, 75, 5, 75, 2588, 10, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 7, 77, 2600, 10, 77, 12, 77, 14, 77, 2603, 11, 77, 3, 77, 3, 77, 5, 77, 2607, 10, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 5, 77, 2614, 10, 77, 3, 77, 5, 77, 2617, 10, 77, 3, 77, 3, 77, 5, 77, 2621, 10, 77, 3, 77, 5, 77, 2624, 10, 77, 3, 77, 5, 77, 2627, 10, 77, 3, 77, 5, 77, 2630, 10, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 7, 78, 2638, 10, 78, 12, 78, 14, 78, 2641, 11, 78, 3, 78, 3, 78, 3, 78, 5, 78, 2646, 10, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 7, 79, 2654, 10, 79, 12, 79, 14, 79, 2657, 11, 79, 3, 79, 3, 79, 5, 79, 2661, 10, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 5, 79, 2668, 10, 79, 3, 79, 3, 79, 3, 79, 3, 79, 5, 79, 2674, 10, 79, 3, 79, 3, 79, 5, 79, 2678, 10, 79, 3, 80, 5, 80, 2681, 10, 80, 3, 80, 5, 80, 2684, 10, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 7, 80, 2699, 10, 80, 12, 80, 14, 80, 2702, 11, 80, 3, 80, 3, 80, 5, 80, 2706, 10, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 5, 80, 2714, 10, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 7, 82, 2726, 10, 82, 12, 82, 14, 82, 2729, 11, 82, 3, 82, 3, 82, 3, 83, 3, 83, 5, 83, 2735, 10, 83, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 6, 86, 2749, 10, 86, 13, 86, 14, 86, 2750, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 5, 87, 2773, 10, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 5, 87, 2780, 10, 87, 5, 87, 2782, 10, 87, 3, 87, 3, 87, 5, 87, 2786, 10, 87, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 7, 89, 2797, 10, 89, 12, 89, 14, 89, 2800, 11, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 5, 90, 2820, 10, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 5, 92, 2828, 10, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 5, 92, 2836, 10, 92, 3, 92, 5, 92, 2839, 10, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 5, 93, 2846, 10, 93, 3, 94, 3, 94, 3, 94, 5, 94, 2851, 10, 94, 3, 94, 3, 94, 3, 95, 3, 95, 5, 95, 2857, 10, 95, 3, 95, 3, 95, 3, 95, 5, 95, 2862, 10, 95, 3, 95, 3, 95, 3, 95, 5, 95, 2867, 10, 95, 7, 95, 2869, 10, 95, 12, 95, 14, 95, 2872, 11, 95, 3, 95, 3, 95, 5, 95, 2876, 10, 95, 3, 96, 3, 96, 3, 96, 3, 96, 5, 96, 2882, 10, 96, 3, 96, 3, 96, 5, 96, 2886, 10, 96, 3, 96, 3, 96, 3, 96, 5, 96, 2891, 10, 96, 3, 96, 3, 96, 5, 96, 2895, 10, 96, 7, 96, 2897, 10, 96, 12, 96, 14, 96, 2900, 11, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 7, 96, 2910, 10, 96, 12, 96, 14, 96, 2913, 11, 96, 3, 96, 3, 96, 5, 96, 2917, 10, 96, 3, 96, 5, 96, 2920, 10, 96, 3, 97, 3, 97, 5, 97, 2924, 10, 97, 3, 98, 3, 98, 3, 98, 6, 98, 2929, 10, 98, 13, 98, 14, 98, 2930, 3, 98, 3, 98, 3, 98, 3, 98, 5, 98, 2937, 10, 98, 5, 98, 2939, 10, 98, 3, 99, 3, 99, 5, 99, 2943, 10, 99, 3, 99, 5, 99, 2946, 10, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 5, 99, 2953, 10, 99, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 5, 100, 2964, 10, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 5, 100, 2974, 10, 100, 7, 100, 2976, 10, 100, 12, 100, 14, 100, 2979, 11, 100, 3, 100, 3, 100, 5, 100, 2983, 10, 100, 3, 101, 3, 101, 5, 101, 2987, 10, 101, 3, 101, 3, 101, 5, 101, 2991, 10, 101, 3, 101, 5, 101, 2994, 10, 101, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 7, 102, 3003, 10, 102, 12, 102, 14, 102, 3006, 11, 102, 3, 102, 3, 102, 5, 102, 3010, 10, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 7, 103, 3020, 10, 103, 12, 103, 14, 103, 3023, 11, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 7, 103, 3035, 10, 103, 12, 103, 14, 103, 3038, 11, 103, 3, 103, 3, 103, 3, 103, 5, 103, 3043, 10, 103, 5, 103, 3045, 10, 103, 3, 104, 3, 104, 5, 104, 3049, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 7, 104, 3058, 10, 104, 12, 104, 14, 104, 3061, 11, 104, 3, 104, 3, 104, 5, 104, 3065, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 5, 105, 3072, 10, 105, 3, 106, 3, 106, 3, 106, 3, 106, 7, 106, 3078, 10, 106, 12, 106, 14, 106, 3081, 11, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 3089, 10, 107, 12, 107, 14, 107, 3092, 11, 107, 3, 107, 3, 107, 3, 108, 3, 108, 5, 108, 3098, 10, 108, 3, 108, 3, 108, 7, 108, 3102, 10, 108, 12, 108, 14, 108, 3105, 11, 108, 3, 108, 5, 108, 3108, 10, 108, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 7, 109, 3116, 10, 109, 12, 109, 14, 109, 3119, 11, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 7, 109, 3127, 10, 109, 12, 109, 14, 109, 3130, 11, 109, 3, 109, 3, 109, 5, 109, 3134, 10, 109, 3, 110, 3, 110, 5, 110, 3138, 10, 110, 3, 110, 3, 110, 5, 110, 3142, 10, 110, 3, 110, 5, 110, 3145, 10, 110, 3, 110, 5, 110, 3148, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 7, 111, 3156, 10, 111, 12, 111, 14, 111, 3159, 11, 111, 3, 111, 3, 111, 5, 111, 3163, 10, 111, 3, 111, 3, 111, 3, 111, 3, 111, 7, 111, 3169, 10, 111, 12, 111, 14, 111, 3172, 11, 111, 3, 111, 3, 111, 3, 112, 3, 112, 5, 112, 3178, 10, 112, 3, 112, 3, 112, 7, 112, 3182, 10, 112, 12, 112, 14, 112, 3185, 11, 112, 3, 112, 3, 112, 5, 112, 3189, 10, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 3197, 10, 113, 12, 113, 14, 113, 3200, 11, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 3208, 10, 113, 12, 113, 14, 113, 3211, 11, 113, 3, 113, 3, 113, 5, 113, 3215, 10, 113, 3, 114, 3, 114, 5, 114, 3219, 10, 114, 3, 114, 3, 114, 5, 114, 3223, 10, 114, 3, 114, 5, 114, 3226, 10, 114, 3, 114, 5, 114, 3229, 10, 114, 3, 115, 3, 115, 3, 116, 3, 116, 3, 116, 5, 116, 3236, 10, 116, 3, 116, 3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 5, 117, 3245, 10, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 6, 118, 3255, 10, 118, 13, 118, 14, 118, 3256, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119, 5, 119, 3280, 10, 119, 3, 120, 3, 120, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 5, 122, 3293, 10, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122, 7, 122, 3307, 10, 122, 12, 122, 14, 122, 3310, 11, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 5, 123, 3320, 10, 123, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 5, 124, 3328, 10, 124, 3, 124, 3, 124, 3, 124, 3, 124, 5, 124, 3334, 10, 124, 3, 124, 5, 124, 3337, 10, 124, 3, 125, 3, 125, 3, 125, 5, 125, 3342, 10, 125, 3, 125, 3, 125, 5, 125, 3346, 10, 125, 3, 125, 5, 125, 3349, 10, 125, 3, 125, 5, 125, 3352, 10, 125, 3, 126, 3, 126, 3, 126, 5, 126, 3357, 10, 126, 3, 127, 3, 127, 3, 127, 3, 127, 6, 127, 3363, 10, 127, 13, 127, 14, 127, 3364, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 5, 127, 3377, 10, 127, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 5, 128, 3384, 10, 128, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 5, 129, 3391, 10, 129, 3, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 7, 131, 3408, 10, 131, 12, 131, 14, 131, 3411, 11, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 5, 131, 3421, 10, 131, 3, 131, 5, 131, 3424, 10, 131, 3, 132, 3, 132, 3, 132, 3, 132, 6, 132, 3430, 10, 132, 13, 132, 14, 132, 3431, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 5, 132, 3439, 10, 132, 3, 132, 5, 132, 3442, 10, 132, 5, 132, 3444, 10, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 5, 133, 3452, 10, 133, 3, 134, 3, 134, 3, 135, 3, 135, 3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 6, 137, 3472, 10, 137, 13, 137, 14, 137, 3473, 3, 137, 3, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 6, 138, 3492, 10, 138, 13, 138, 14, 138, 3493, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 7, 138, 3501, 10, 138, 12, 138, 14, 138, 3504, 11, 138, 3, 138, 3, 138, 3, 138, 5, 138, 3509, 10, 138, 3, 139, 3, 139, 3, 139, 5, 139, 3514, 10, 139, 3, 140, 3, 140, 3, 140, 3, 140, 3, 141, 3, 141, 3, 141, 3, 141, 5, 141, 3524, 10, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 5, 143, 3533, 10, 143, 3, 143, 3, 143, 3, 143, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145, 7, 145, 3544, 10, 145, 12, 145, 14, 145, 3547, 11, 145, 3, 145, 3, 145, 3, 145, 3, 145, 3, 145, 7, 145, 3554, 10, 145, 12, 145, 14, 145, 3557, 11, 145, 7, 145, 3559, 10, 145, 12, 145, 14, 145, 3562, 11, 145, 5, 145, 3564, 10, 145, 3, 146, 3, 146, 3, 146, 3, 146, 5, 146, 3570, 10, 146, 3, 147, 3, 147, 3, 147, 3, 148, 3, 148, 3, 148, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 7, 150, 3586, 10, 150, 12, 150, 14, 150, 3589, 11, 150, 5, 150, 3591, 10, 150, 3, 150, 5, 150, 3594, 10, 150, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 5, 151, 3602, 10, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 5, 151, 3615, 10, 151, 5, 151, 3617, 10, 151, 3, 151, 3, 151, 5, 151, 3621, 10, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 5, 151, 3629, 10, 151, 5, 151, 3631, 10, 151, 5, 151, 3633, 10, 151, 5, 151, 3635, 10, 151, 3, 152, 3, 152, 3, 152, 3, 152, 7, 152, 3641, 10, 152, 12, 152, 14, 152, 3644, 11, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 5, 153, 3654, 10, 153, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 5, 155, 3665, 10, 155, 5, 155, 3667, 10, 155, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 5, 156, 3674, 10, 156, 3, 156, 5, 156, 3677, 10, 156, 3, 156, 3, 156, 3, 156, 5, 156, 3682, 10, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 5, 156, 3689, 10, 156, 3, 156, 3, 156, 5, 156, 3693, 10, 156, 3, 156, 5, 156, 3696, 10, 156, 3, 156, 3, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 7, 157, 3710, 10, 157, 12, 157, 14, 157, 3713, 11, 157, 3, 157, 3, 157, 5, 157, 3717, 10, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 7, 157, 3729, 10, 157, 12, 157, 14, 157, 3732, 11, 157, 3, 157, 3, 157, 5, 157, 3736, 10, 157, 5, 157, 3738, 10, 157, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3747, 10, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 5, 158, 3755, 10, 158, 3, 158, 5, 158, 3758, 10, 158, 3, 158, 5, 158, 3761, 10, 158, 3, 158, 5, 158, 3764, 10, 158, 3, 158, 5, 158, 3767, 10, 158, 5, 158, 3769, 10, 158, 3, 159, 3, 159, 3, 160, 3, 160, 5, 160, 3775, 10, 160, 3, 161, 3, 161, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 5, 163, 3786, 10, 163, 3, 163, 5, 163, 3789, 10, 163, 3, 163, 3, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 7, 164, 3802, 10, 164, 12, 164, 14, 164, 3805, 11, 164, 3, 164, 3, 164, 3, 165, 3, 165, 3, 165, 3, 165, 7, 165, 3813, 10, 165, 12, 165, 14, 165, 3816, 11, 165, 3, 165, 3, 165, 3, 165, 3, 165, 7, 165, 3822, 10, 165, 12, 165, 14, 165, 3825, 11, 165, 3, 165, 3, 165, 3, 165, 3, 165, 7, 165, 3831, 10, 165, 12, 165, 14, 165, 3834, 11, 165, 3, 165, 3, 165, 3, 165, 3, 165, 7, 165, 3840, 10, 165, 12, 165, 14, 165, 3843, 11, 165, 3, 165, 3, 165, 3, 165, 3, 165, 7, 165, 3849, 10, 165, 12, 165, 14, 165, 3852, 11, 165, 5, 165, 3854, 10, 165, 3, 165, 3, 165, 3, 165, 3, 165, 5, 165, 3860, 10, 165, 3, 165, 3, 165, 3, 165, 5, 165, 3865, 10, 165, 5, 165, 3867, 10, 165, 3, 166, 3, 166, 3, 167, 3, 167, 3, 167, 5, 167, 3874, 10, 167, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170, 3, 171, 3, 171, 3, 172, 3, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 174, 3, 174, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 7, 176, 3914, 10, 176, 12, 176, 14, 176, 3917, 11, 176, 5, 176, 3919, 10, 176, 3, 176, 3, 176, 5, 176, 3923, 10, 176, 3, 176, 5, 176, 3926, 10, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 7, 176, 3935, 10, 176, 12, 176, 14, 176, 3938, 11, 176, 3, 176, 3, 176, 3, 176, 3, 176, 7, 176, 3944, 10, 176, 12, 176, 14, 176, 3947, 11, 176, 5, 176, 3949, 10, 176, 5, 176, 3951, 10, 176, 3, 176, 3, 176, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 5, 178, 3963, 10, 178, 3, 178, 3, 178, 3, 178, 5, 178, 3968, 10, 178, 3, 178, 3, 178, 5, 178, 3972, 10, 178, 3, 178, 3, 178, 5, 178, 3976, 10, 178, 3, 178, 5, 178, 3979, 10, 178, 3, 178, 5, 178, 3982, 10, 178, 3, 178, 3, 178, 3, 179, 3, 179, 3, 179, 3, 179, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 5, 181, 3998, 10, 181, 5, 181, 4000, 10, 181, 3, 181, 3, 181, 3, 181, 3, 181, 5, 181, 4006, 10, 181, 5, 181, 4008, 10, 181, 7, 181, 4010, 10, 181, 12, 181, 14, 181, 4013, 11, 181, 3, 181, 3, 181, 3, 181, 5, 181, 4018, 10, 181, 3, 181, 3, 181, 3, 181, 3, 181, 5, 181, 4024, 10, 181, 7, 181, 4026, 10, 181, 12, 181, 14, 181, 4029, 11, 181, 5, 181, 4031, 10, 181, 3, 182, 3, 182, 3, 182, 3, 182, 7, 182, 4037, 10, 182, 12, 182, 14, 182, 4040, 11, 182, 3, 183, 3, 183, 3, 184, 3, 184, 3, 184, 7, 184, 4047, 10, 184, 12, 184, 14, 184, 4050, 11, 184, 3, 184, 5, 184, 4053, 10, 184, 3, 184, 3, 184, 3, 185, 3, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 5, 186, 4072, 10, 186, 3, 187, 3, 187, 3, 187, 5, 187, 4077, 10, 187, 3, 187, 3, 187, 3, 188, 3, 188, 3, 188, 5, 188, 4084, 10, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189, 5, 189, 4091, 10, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 5, 190, 4165, 10, 190, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193, 5, 193, 4180, 10, 193, 3, 193, 3, 193, 3, 193, 3, 193, 5, 193, 4186, 10, 193, 5, 193, 4188, 10, 193, 6, 193, 4190, 10, 193, 13, 193, 14, 193, 4191, 3, 193, 3, 193, 5, 193, 4196, 10, 193, 3, 193, 3, 193, 3, 193, 5, 193, 4201, 10, 193, 3, 193, 3, 193, 3, 193, 5, 193, 4206, 10, 193, 7, 193, 4208, 10, 193, 12, 193, 14, 193, 4211, 11, 193, 3, 193, 3, 193, 3, 193, 5, 193, 4216, 10, 193, 3, 193, 3, 193, 3, 193, 5, 193, 4221, 10, 193, 3, 193, 3, 193, 3, 193, 5, 193, 4226, 10, 193, 3, 193, 5, 193, 4229, 10, 193, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 195, 3, 195, 3, 195, 5, 195, 4240, 10, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 197, 3, 197, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 5, 198, 4257, 10, 198, 3, 198, 7, 198, 4260, 10, 198, 12, 198, 14, 198, 4263, 11, 198, 3, 198, 3, 198, 5, 198, 4267, 10, 198, 3, 198, 5, 198, 4270, 10, 198, 3, 198, 3, 198, 3, 199, 3, 199, 3, 199, 3, 200, 3, 200, 3, 200, 3, 201, 3, 201, 3, 201, 3, 201, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 5, 203, 4289, 10, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 7, 204, 4313, 10, 204, 12, 204, 14, 204, 4316, 11, 204, 3, 204, 3, 204, 5, 204, 4320, 10, 204, 3, 204, 3, 204, 3, 204, 3, 204, 5, 204, 4326, 10, 204, 5, 204, 4328, 10, 204, 3, 204, 3, 204, 3, 205, 3, 205, 3, 205, 3, 206, 3, 206, 3, 206, 5, 206, 4338, 10, 206, 3, 206, 5, 206, 4341, 10, 206, 3, 206, 5, 206, 4344, 10, 206, 3, 206, 5, 206, 4347, 10, 206, 3, 206, 5, 206, 4350, 10, 206, 3, 206, 3, 206, 3, 206, 5, 206, 4355, 10, 206, 3, 206, 3, 206, 3, 206, 5, 206, 4360, 10, 206, 3, 207, 3, 207, 5, 207, 4364, 10, 207, 3, 208, 3, 208, 5, 208, 4368, 10, 208, 3, 208, 3, 208, 7, 208, 4372, 10, 208, 12, 208, 14, 208, 4375, 11, 208, 3, 208, 5, 208, 4378, 10, 208, 6, 208, 4380, 10, 208, 13, 208, 14, 208, 4381, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 7, 209, 4396, 10, 209, 12, 209, 14, 209, 4399, 11, 209, 3, 209, 5, 209, 4402, 10, 209, 3, 209, 3, 209, 5, 209, 4406, 10, 209, 3, 209, 3, 209, 5, 209, 4410, 10, 209, 3, 209, 3, 209, 3, 209, 5, 209, 4415, 10, 209, 6, 209, 4417, 10, 209, 13, 209, 14, 209, 4418, 3, 209, 3, 209, 7, 209, 4423, 10, 209, 12, 209, 14, 209, 4426, 11, 209, 3, 210, 3, 210, 5, 210, 4430, 10, 210, 3, 210, 5, 210, 4433, 10, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 5, 210, 4441, 10, 210, 3, 210, 5, 210, 4444, 10, 210, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 5, 211, 4453, 10, 211, 3, 211, 3, 211, 5, 211, 4457, 10, 211, 5, 211, 4459, 10, 211, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 5, 212, 4478, 10, 212, 3, 212, 3, 212, 3, 212, 3, 212, 5, 212, 4484, 10, 212, 3, 212, 6, 212, 4487, 10, 212, 13, 212, 14, 212, 4488, 3, 212, 3, 212, 3, 212, 5, 212, 4494, 10, 212, 5, 212, 4496, 10, 212, 3, 213, 3, 213, 5, 213, 4500, 10, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 7, 213, 4507, 10, 213, 12, 213, 14, 213, 4510, 11, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 7, 213, 4520, 10, 213, 12, 213, 14, 213, 4523, 11, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 5, 213, 4533, 10, 213, 3, 213, 5, 213, 4536, 10, 213, 3, 214, 5, 214, 4539, 10, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 6, 214, 4548, 10, 214, 13, 214, 14, 214, 4549, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 5, 215, 4557, 10, 215, 3, 215, 5, 215, 4560, 10, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 5, 215, 4572, 10, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 5, 215, 4587, 10, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216, 5, 216, 4594, 10, 216, 3, 216, 3, 216, 3, 216, 3, 216, 5, 216, 4600, 10, 216, 3, 216, 3, 216, 5, 216, 4604, 10, 216, 3, 216, 3, 216, 3, 216, 3, 216, 5, 216, 4610, 10, 216, 3, 216, 3, 216, 5, 216, 4614, 10, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 7, 216, 4621, 10, 216, 12, 216, 14, 216, 4624, 11, 216, 3, 216, 3, 216, 3, 216, 3, 216, 7, 216, 4630, 10, 216, 12, 216, 14, 216, 4633, 11, 216, 3, 216, 3, 216, 5, 216, 4637, 10, 216, 3, 217, 3, 217, 5, 217, 4641, 10, 217, 3, 217, 3, 217, 5, 217, 4645, 10, 217, 3, 218, 3, 218, 3, 218, 3, 218, 5, 218, 4651, 10, 218, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220, 5, 220, 4658, 10, 220, 3, 220, 3, 220, 3, 220, 3, 220, 5, 220, 4664, 10, 220, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 223, 3, 223, 5, 223, 4673, 10, 223, 3, 223, 3, 223, 3, 223, 5, 223, 4678, 10, 223, 3, 223, 3, 223, 3, 224, 3, 224, 3, 224, 5, 224, 4685, 10, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 7, 224, 4702, 10, 224, 12, 224, 14, 224, 4705, 11, 224, 3, 225, 3, 225, 3, 225, 3, 226, 3, 226, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 5, 227, 4719, 10, 227, 5, 227, 4721, 10, 227, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 229, 3, 229, 3, 229, 3, 229, 5, 229, 4732, 10, 229, 3, 229, 5, 229, 4735, 10, 229, 3, 229, 5, 229, 4738, 10, 229, 3, 230, 3, 230, 3, 230, 3, 230, 5, 230, 4744, 10, 230, 3, 230, 5, 230, 4747, 10, 230, 3, 230, 5, 230, 4750, 10, 230, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 5, 232, 4757, 10, 232, 3, 232, 3, 232, 3, 233, 3, 233, 5, 233, 4763, 10, 233, 3, 233, 3, 233, 3, 234, 5, 234, 4768, 10, 234, 3, 234, 3, 234, 5, 234, 4772, 10, 234, 3, 234, 5, 234, 4775, 10, 234, 3, 234, 5, 234, 4778, 10, 234, 3, 235, 3, 235, 3, 235, 3, 235, 5, 235, 4784, 10, 235, 3, 235, 6, 235, 4787, 10, 235, 13, 235, 14, 235, 4788, 3, 235, 5, 235, 4792, 10, 235, 3, 235, 3, 235, 5, 235, 4796, 10, 235, 3, 235, 3, 235, 5, 235, 4800, 10, 235, 3, 235, 5, 235, 4803, 10, 235, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 5, 236, 4810, 10, 236, 3, 236, 5, 236, 4813, 10, 236, 5, 236, 4815, 10, 236, 3, 237, 3, 237, 3, 237, 5, 237, 4820, 10, 237, 3, 238, 3, 238, 3, 238, 3, 239, 3, 239, 3, 239, 5, 239, 4828, 10, 239, 5, 239, 4830, 10, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 7, 240, 4842, 10, 240, 12, 240, 14, 240, 4845, 11, 240, 3, 240, 3, 240, 3, 240, 7, 240, 4850, 10, 240, 12, 240, 14, 240, 4853, 11, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 5, 240, 4861, 10, 240, 3, 240, 5, 240, 4864, 10, 240, 3, 240, 3, 240, 3, 240, 5, 240, 4869, 10, 240, 3, 240, 5, 240, 4872, 10, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 5, 240, 4881, 10, 240, 3, 240, 3, 240, 3, 241, 3, 241, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 5, 242, 4903, 10, 242, 3, 242, 3, 242, 3, 242, 3, 242, 5, 242, 4909, 10, 242, 3, 242, 3, 242, 3, 242, 6, 242, 4914, 10, 242, 13, 242, 14, 242, 4915, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 5, 244, 4926, 10, 244, 3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 5, 245, 4935, 10, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 5, 245, 4947, 10, 245, 3, 245, 5, 245, 4950, 10, 245, 3, 245, 5, 245, 4953, 10, 245, 3, 245, 3, 245, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 247, 3, 247, 3, 247, 5, 247, 4965, 10, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 5, 248, 4974, 10, 248, 3, 248, 3, 248, 3, 248, 3, 248, 7, 248, 4980, 10, 248, 12, 248, 14, 248, 4983, 11, 248, 3, 248, 3, 248, 5, 248, 4987, 10, 248, 3, 248, 3, 248, 3, 248, 3, 248, 7, 248, 4993, 10, 248, 12, 248, 14, 248, 4996, 11, 248, 3, 248, 3, 248, 5, 248, 5000, 10, 248, 3, 248, 5, 248, 5003, 10, 248, 3, 249, 3, 249, 3, 250, 3, 250, 3, 251, 3, 251, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 6, 253, 5024, 10, 253, 13, 253, 14, 253, 5025, 5, 253, 5028, 10, 253, 3, 253, 5, 253, 5031, 10, 253, 3, 253, 3, 253, 5, 253, 5035, 10, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 5, 253, 5045, 10, 253, 7, 253, 5047, 10, 253, 12, 253, 14, 253, 5050, 11, 253, 3, 253, 3, 253, 5, 253, 5054, 10, 253, 3, 253, 6, 253, 5057, 10, 253, 13, 253, 14, 253, 5058, 3, 253, 3, 253, 5, 253, 5063, 10, 253, 5, 253, 5065, 10, 253, 3, 253, 5, 253, 5068, 10, 253, 7, 253, 5070, 10, 253, 12, 253, 14, 253, 5073, 11, 253, 3, 254, 3, 254, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255, 5, 255, 5082, 10, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 5, 256, 5090, 10, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 5, 256, 5098, 10, 256, 3, 256, 5, 256, 5101, 10, 256, 3, 256, 5, 256, 5104, 10, 256, 3, 256, 5, 256, 5107, 10, 256, 3, 256, 5, 256, 5110, 10, 256, 5, 256, 5112, 10, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 6, 256, 5119, 10, 256, 13, 256, 14, 256, 5120, 7, 256, 5123, 10, 256, 12, 256, 14, 256, 5126, 11, 256, 3, 256, 3, 256, 3, 256, 5, 256, 5131, 10, 256, 3, 256, 5, 256, 5134, 10, 256, 3, 256, 3, 256, 5, 256, 5138, 10, 256, 3, 256, 3, 256, 3, 256, 5, 256, 5143, 10, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 5, 257, 5158, 10, 257, 3, 257, 3, 257, 3, 257, 3, 257, 5, 257, 5164, 10, 257, 3, 257, 3, 257, 3, 257, 5, 257, 5169, 10, 257, 3, 257, 3, 257, 3, 257, 5, 257, 5174, 10, 257, 3, 257, 3, 257, 3, 257, 5, 257, 5179, 10, 257, 3, 257, 3, 257, 3, 257, 6, 257, 5184, 10, 257, 13, 257, 14, 257, 5185, 5, 257, 5188, 10, 257, 3, 258, 3, 258, 3, 258, 5, 258, 5193, 10, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 5, 258, 5201, 10, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 5, 258, 5208, 10, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 5221, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 5227, 10, 260, 7, 260, 5229, 10, 260, 12, 260, 14, 260, 5232, 11, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 5243, 10, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 5, 260, 5250, 10, 260, 7, 260, 5252, 10, 260, 12, 260, 14, 260, 5255, 11, 260, 3, 260, 5, 260, 5258, 10, 260, 3, 260, 5, 260, 5261, 10, 260, 3, 260, 5, 260, 5264, 10, 260, 3, 260, 3, 260, 3, 261, 3, 261, 3, 261, 5, 261, 5271, 10, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 5, 261, 5278, 10, 261, 3, 261, 3, 261, 5, 261, 5282, 10, 261, 3, 261, 3, 261, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 5, 262, 5292, 10, 262, 3, 262, 3, 262, 5, 262, 5296, 10, 262, 3, 262, 5, 262, 5299, 10, 262, 3, 262, 5, 262, 5302, 10, 262, 3, 262, 3, 262, 3, 262, 3, 262, 5, 262, 5308, 10, 262, 3, 262, 5, 262, 5311, 10, 262, 3, 262, 5, 262, 5314, 10, 262, 3, 262, 5, 262, 5317, 10, 262, 3, 262, 5, 262, 5320, 10, 262, 3, 262, 5, 262, 5323, 10, 262, 3, 262, 5, 262, 5326, 10, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 5, 262, 5333, 10, 262, 3, 262, 5, 262, 5336, 10, 262, 3, 262, 5, 262, 5339, 10, 262, 3, 262, 6, 262, 5342, 10, 262, 13, 262, 14, 262, 5343, 5, 262, 5346, 10, 262, 3, 262, 5, 262, 5349, 10, 262, 3, 262, 5, 262, 5352, 10, 262, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 7, 263, 5369, 10, 263, 12, 263, 14, 263, 5372, 11, 263, 3, 263, 3, 263, 3, 264, 3, 264, 5, 264, 5378, 10, 264, 3, 264, 3, 264, 5, 264, 5382, 10, 264, 3, 264, 5, 264, 5385, 10, 264, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 5, 265, 5392, 10, 265, 3, 265, 3, 265, 3, 265, 5, 265, 5397, 10, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 5, 265, 5404, 10, 265, 3, 265, 3, 265, 3, 265, 3, 265, 5, 265, 5410, 10, 265, 5, 265, 5412, 10, 265, 3, 265, 3, 265, 3, 265, 3, 265, 5, 265, 5418, 10, 265, 3, 266, 3, 266, 5, 266, 5422, 10, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 5, 266, 5429, 10, 266, 3, 266, 3, 266, 3, 266, 5, 266, 5434, 10, 266, 3, 267, 3, 267, 3, 267, 5, 267, 5439, 10, 267, 3, 267, 3, 267, 3, 267, 3, 267, 7, 267, 5445, 10, 267, 12, 267, 14, 267, 5448, 11, 267, 3, 267, 3, 267, 5, 267, 5452, 10, 267, 3, 267, 3, 267, 3, 267, 3, 267, 5, 267, 5458, 10, 267, 3, 267, 5, 267, 5461, 10, 267, 3, 267, 5, 267, 5464, 10, 267, 3, 267, 5, 267, 5467, 10, 267, 3, 267, 5, 267, 5470, 10, 267, 3, 267, 5, 267, 5473, 10, 267, 3, 267, 5, 267, 5476, 10, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 5, 267, 5483, 10, 267, 3, 267, 5, 267, 5486, 10, 267, 3, 267, 5, 267, 5489, 10, 267, 3, 267, 6, 267, 5492, 10, 267, 13, 267, 14, 267, 5493, 5, 267, 5496, 10, 267, 3, 267, 5, 267, 5499, 10, 267, 3, 267, 5, 267, 5502, 10, 267, 3, 268, 3, 268, 5, 268, 5506, 10, 268, 3, 268, 3, 268, 3, 268, 3, 268, 6, 268, 5512, 10, 268, 13, 268, 14, 268, 5513, 3, 268, 3, 268, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 5, 269, 5525, 10, 269, 3, 270, 3, 270, 5, 270, 5529, 10, 270, 3, 270, 3, 270, 5, 270, 5533, 10, 270, 3, 270, 3, 270, 3, 270, 7, 270, 5538, 10, 270, 12, 270, 14, 270, 5541, 11, 270, 3, 270, 5, 270, 5544, 10, 270, 3, 270, 3, 270, 3, 270, 5, 270, 5549, 10, 270, 3, 271, 5, 271, 5552, 10, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 272, 3, 272, 7, 272, 5563, 10, 272, 12, 272, 14, 272, 5566, 11, 272, 3, 272, 3, 272, 5, 272, 5570, 10, 272, 3, 272, 3, 272, 3, 272, 3, 272, 5, 272, 5576, 10, 272, 3, 272, 5, 272, 5579, 10, 272, 3, 272, 5, 272, 5582, 10, 272, 3, 272, 5, 272, 5585, 10, 272, 3, 272, 5, 272, 5588, 10, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 5, 272, 5595, 10, 272, 3, 272, 5, 272, 5598, 10, 272, 3, 272, 5, 272, 5601, 10, 272, 3, 272, 6, 272, 5604, 10, 272, 13, 272, 14, 272, 5605, 5, 272, 5608, 10, 272, 3, 272, 5, 272, 5611, 10, 272, 3, 272, 5, 272, 5614, 10, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 5, 273, 5621, 10, 273, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 5, 274, 5631, 10, 274, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 7, 275, 5640, 10, 275, 12, 275, 14, 275, 5643, 11, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 7, 275, 5656, 10, 275, 12, 275, 14, 275, 5659, 11, 275, 3, 275, 3, 275, 5, 275, 5663, 10, 275, 5, 275, 5665, 10, 275, 3, 275, 3, 275, 3, 275, 5, 275, 5670, 10, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 5, 275, 5677, 10, 275, 3, 275, 3, 275, 3, 275, 7, 275, 5682, 10, 275, 12, 275, 14, 275, 5685, 11, 275, 3, 275, 3, 275, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 5, 276, 5698, 10, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 5, 276, 5705, 10, 276, 3, 276, 3, 276, 3, 276, 7, 276, 5710, 10, 276, 12, 276, 14, 276, 5713, 11, 276, 3, 276, 3, 276, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 7, 277, 5724, 10, 277, 12, 277, 14, 277, 5727, 11, 277, 3, 277, 3, 277, 3, 277, 5, 277, 5732, 10, 277, 3, 278, 3, 278, 3, 278, 5, 278, 5737, 10, 278, 3, 278, 5, 278, 5740, 10, 278, 3, 278, 3, 278, 3, 278, 5, 278, 5745, 10, 278, 3, 278, 5, 278, 5748, 10, 278, 7, 278, 5750, 10, 278, 12, 278, 14, 278, 5753, 11, 278, 3, 278, 3, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 7, 279, 5765, 10, 279, 12, 279, 14, 279, 5768, 11, 279, 3, 279, 3, 279, 5, 279, 5772, 10, 279, 3, 279, 3, 279, 5, 279, 5776, 10, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 7, 279, 5785, 10, 279, 12, 279, 14, 279, 5788, 11, 279, 3, 279, 3, 279, 5, 279, 5792, 10, 279, 3, 280, 3, 280, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 7, 281, 5803, 10, 281, 12, 281, 14, 281, 5806, 11, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 7, 281, 5819, 10, 281, 12, 281, 14, 281, 5822, 11, 281, 3, 281, 3, 281, 5, 281, 5826, 10, 281, 5, 281, 5828, 10, 281, 3, 281, 3, 281, 3, 281, 5, 281, 5833, 10, 281, 3, 281, 3, 281, 3, 281, 3, 281, 7, 281, 5839, 10, 281, 12, 281, 14, 281, 5842, 11, 281, 3, 281, 3, 281, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 5, 282, 5855, 10, 282, 3, 282, 3, 282, 3, 282, 3, 282, 7, 282, 5861, 10, 282, 12, 282, 14, 282, 5864, 11, 282, 3, 282, 3, 282, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 6, 283, 5874, 10, 283, 13, 283, 14, 283, 5875, 3, 283, 3, 283, 3, 283, 3, 283, 5, 283, 5882, 10, 283, 3, 283, 3, 283, 5, 283, 5886, 10, 283, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 7, 284, 5898, 10, 284, 12, 284, 14, 284, 5901, 11, 284, 3, 284, 3, 284, 5, 284, 5905, 10, 284, 3, 285, 3, 285, 5, 285, 5909, 10, 285, 3, 285, 3, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 7, 286, 5921, 10, 286, 12, 286, 14, 286, 5924, 11, 286, 5, 286, 5926, 10, 286, 3, 287, 3, 287, 5, 287, 5930, 10, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 7, 287, 5938, 10, 287, 12, 287, 14, 287, 5941, 11, 287, 3, 287, 3, 287, 3, 287, 7, 287, 5946, 10, 287, 12, 287, 14, 287, 5949, 11, 287, 3, 287, 3, 287, 3, 287, 7, 287, 5954, 10, 287, 12, 287, 14, 287, 5957, 11, 287, 5, 287, 5959, 10, 287, 3, 287, 3, 287, 3, 287, 5, 287, 5964, 10, 287, 5, 287, 5966, 10, 287, 3, 288, 3, 288, 5, 288, 5970, 10, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 7, 288, 5978, 10, 288, 12, 288, 14, 288, 5981, 11, 288, 3, 288, 3, 288, 3, 288, 7, 288, 5986, 10, 288, 12, 288, 14, 288, 5989, 11, 288, 3, 288, 3, 288, 3, 288, 7, 288, 5994, 10, 288, 12, 288, 14, 288, 5997, 11, 288, 5, 288, 5999, 10, 288, 3, 288, 3, 288, 3, 288, 5, 288, 6004, 10, 288, 5, 288, 6006, 10, 288, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 7, 289, 6014, 10, 289, 12, 289, 14, 289, 6017, 11, 289, 3, 289, 3, 289, 3, 289, 7, 289, 6022, 10, 289, 12, 289, 14, 289, 6025, 11, 289, 3, 289, 3, 289, 3, 289, 7, 289, 6030, 10, 289, 12, 289, 14, 289, 6033, 11, 289, 5, 289, 6035, 10, 289, 3, 289, 3, 289, 3, 289, 5, 289, 6040, 10, 289, 3, 290, 3, 290, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 7, 291, 6051, 10, 291, 12, 291, 14, 291, 6054, 11, 291, 3, 291, 3, 291, 5, 291, 6058, 10, 291, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 5, 292, 6067, 10, 292, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 7, 293, 6076, 10, 293, 12, 293, 14, 293, 6079, 11, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 7, 293, 6090, 10, 293, 12, 293, 14, 293, 6093, 11, 293, 3, 293, 3, 293, 5, 293, 6097, 10, 293, 3, 293, 5, 293, 6100, 10, 293, 3, 294, 3, 294, 3, 295, 3, 295, 5, 295, 6106, 10, 295, 3, 295, 3, 295, 5, 295, 6110, 10, 295, 3, 296, 3, 296, 5, 296, 6114, 10, 296, 3, 296, 3, 296, 5, 296, 6118, 10, 296, 3, 297, 3, 297, 5, 297, 6122, 10, 297, 3, 297, 5, 297, 6125, 10, 297, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 3, 298, 7, 298, 6135, 10, 298, 12, 298, 14, 298, 6138, 11, 298, 3, 298, 3, 298, 5, 298, 6142, 10, 298, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 3, 299, 7, 299, 6151, 10, 299, 12, 299, 14, 299, 6154, 11, 299, 3, 299, 3, 299, 3, 300, 3, 300, 3, 300, 3, 300, 3, 300, 7, 300, 6163, 10, 300, 12, 300, 14, 300, 6166, 11, 300, 3, 300, 5, 300, 6169, 10, 300, 3, 300, 3, 300, 3, 301, 5, 301, 6174, 10, 301, 3, 301, 5, 301, 6177, 10, 301, 3, 301, 3, 301, 5, 301, 6181, 10, 301, 3, 301, 3, 301, 5, 301, 6185, 10, 301, 5, 301, 6187, 10, 301, 3, 301, 3, 301, 3, 301, 5, 301, 6192, 10, 301, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 5, 302, 6199, 10, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 3, 302, 5, 302, 6209, 10, 302, 3, 302, 3, 302, 3, 302, 6, 302, 6214, 10, 302, 13, 302, 14, 302, 6215, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 6225, 10, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 6233, 10, 303, 3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 6240, 10, 303, 3, 304, 3, 304, 3, 304, 5, 304, 6245, 10, 304, 3, 304, 3, 304, 5, 304, 6249, 10, 304, 3, 304, 3, 304, 3, 304, 5, 304, 6254, 10, 304, 3, 304, 3, 304, 3, 304, 5, 304, 6259, 10, 304, 3, 304, 5, 304, 6262, 10, 304, 3, 304, 5, 304, 6265, 10, 304, 3, 304, 5, 304, 6268, 10, 304, 5, 304, 6270, 10, 304, 3, 304, 3, 304, 5, 304, 6274, 10, 304, 3, 304, 5, 304, 6277, 10, 304, 3, 305, 3, 305, 5, 305, 6281, 10, 305, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 3, 306, 5, 306, 6289, 10, 306, 5, 306, 6291, 10, 306, 5, 306, 6293, 10, 306, 3, 306, 5, 306, 6296, 10, 306, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 3, 307, 6, 307, 6305, 10, 307, 13, 307, 14, 307, 6306, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 5, 308, 6329, 10, 308, 3, 308, 3, 308, 3, 308, 3, 308, 3, 308, 6, 308, 6336, 10, 308, 13, 308, 14, 308, 6337, 3, 308, 3, 308, 3, 309, 3, 309, 3, 309, 3, 309, 3, 310, 3, 310, 3, 310, 3, 310, 6, 310, 6350, 10, 310, 13, 310, 14, 310, 6351, 3, 311, 5, 311, 6355, 10, 311, 3, 311, 3, 311, 5, 311, 6359, 10, 311, 3, 312, 5, 312, 6362, 10, 312, 3, 312, 3, 312, 3, 312, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 3, 313, 5, 313, 6373, 10, 313, 3, 314, 3, 314, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 5, 315, 6382, 10, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 5, 315, 6389, 10, 315, 7, 315, 6391, 10, 315, 12, 315, 14, 315, 6394, 11, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 5, 315, 6402, 10, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 3, 315, 5, 315, 6410, 10, 315, 7, 315, 6412, 10, 315, 12, 315, 14, 315, 6415, 11, 315, 5, 315, 6417, 10, 315, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 3, 316, 5, 316, 6425, 10, 316, 3, 316, 3, 316, 3, 316, 3, 316, 5, 316, 6431, 10, 316, 7, 316, 6433, 10, 316, 12, 316, 14, 316, 6436, 11, 316, 3, 316, 3, 316, 5, 316, 6440, 10, 316, 3, 317, 3, 317, 3, 317, 5, 317, 6445, 10, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 3, 317, 5, 317, 6453, 10, 317, 6, 317, 6455, 10, 317, 13, 317, 14, 317, 6456, 3, 317, 3, 317, 3, 317, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 3, 318, 6, 318, 6471, 10, 318, 13, 318, 14, 318, 6472, 3, 318, 5, 318, 6476, 10, 318, 3, 319, 3, 319, 3, 319, 3, 319, 5, 319, 6482, 10, 319, 3, 320, 3, 320, 3, 320, 5, 320, 6487, 10, 320, 3, 320, 5, 320, 6490, 10, 320, 3, 321, 5, 321, 6493, 10, 321, 3, 321, 3, 321, 3, 322, 3, 322, 5, 322, 6499, 10, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 322, 3, 323, 3, 323, 3, 323, 3, 323, 5, 323, 6510, 10, 323, 3, 323, 3, 323, 3, 324, 3, 324, 3, 324, 3, 324, 3, 324, 5, 324, 6519, 10, 324, 3, 324, 3, 324, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 325, 3, 326, 3, 326, 3, 327, 3, 327, 3, 328, 3, 328, 3, 328, 5, 328, 6537, 10, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 5, 328, 6546, 10, 328, 3, 328, 3, 328, 3, 328, 5, 328, 6551, 10, 328, 3, 328, 3, 328, 3, 328, 5, 328, 6556, 10, 328, 3, 328, 3, 328, 3, 328, 3, 328, 5, 328, 6562, 10, 328, 3, 328, 3, 328, 3, 328, 3, 328, 3, 328, 5, 328, 6569, 10, 328, 3, 328, 3, 328, 3, 328, 5, 328, 6574, 10, 328, 5, 328, 6576, 10, 328, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 329, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 3, 330, 6, 330, 6594, 10, 330, 13, 330, 14, 330, 6595, 3, 330, 5, 330, 6599, 10, 330, 3, 330, 3, 330, 3, 331, 3, 331, 3, 332, 3, 332, 3, 333, 3, 333, 3, 333, 5, 333, 6610, 10, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 3, 333, 5, 333, 6621, 10, 333, 3, 333, 3, 333, 3, 334, 3, 334, 3, 334, 5, 334, 6628, 10, 334, 3, 334, 3, 334, 3, 334, 5, 334, 6633, 10, 334, 3, 334, 5, 334, 6636, 10, 334, 3, 334, 5, 334, 6639, 10, 334, 3, 334, 3, 334, 3, 334, 5, 334, 6644, 10, 334, 3, 335, 3, 335, 3, 336, 3, 336, 3, 337, 3, 337, 3, 337, 3, 337, 3, 337, 5, 337, 6655, 10, 337, 3, 338, 3, 338, 3, 339, 3, 339, 5, 339, 6661, 10, 339, 3, 339, 3, 339, 5, 339, 6665, 10, 339, 3, 339, 3, 339, 3, 339, 3, 339, 5, 339, 6671, 10, 339, 3, 339, 3, 339, 3, 339, 3, 339, 3, 339, 6, 339, 6678, 10, 339, 13, 339, 14, 339, 6679, 5, 339, 6682, 10, 339, 3, 339, 3, 339, 5, 339, 6686, 10, 339, 3, 339, 5, 339, 6689, 10, 339, 3, 340, 5, 340, 6692, 10, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 5, 340, 6702, 10, 340, 3, 340, 3, 340, 3, 340, 6, 340, 6707, 10, 340, 13, 340, 14, 340, 6708, 5, 340, 6711, 10, 340, 3, 341, 3, 341, 3, 341, 3, 341, 7, 341, 6717, 10, 341, 12, 341, 14, 341, 6720, 11, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 7, 341, 6728, 10, 341, 12, 341, 14, 341, 6731, 11, 341, 3, 341, 5, 341, 6734, 10, 341, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 7, 342, 6742, 10, 342, 12, 342, 14, 342, 6745, 11, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 3, 342, 7, 342, 6753, 10, 342, 12, 342, 14, 342, 6756, 11, 342, 5, 342, 6758, 10, 342, 3, 342, 3, 342, 3, 342, 5, 342, 6763, 10, 342, 3, 342, 3, 342, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 5, 343, 6777, 10, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 6, 343, 6786, 10, 343, 13, 343, 14, 343, 6787, 3, 343, 3, 343, 5, 343, 6792, 10, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 3, 343, 5, 343, 6800, 10, 343, 5, 343, 6802, 10, 343, 3, 344, 3, 344, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 7, 345, 6811, 10, 345, 12, 345, 14, 345, 6814, 11, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 3, 345, 5, 345, 6822, 10, 345, 3, 346, 3, 346, 3, 346, 3, 346, 5, 346, 6828, 10, 346, 3, 346, 3, 346, 3, 346, 5, 346, 6833, 10, 346, 7, 346, 6835, 10, 346, 12, 346, 14, 346, 6838, 11, 346, 3, 346, 3, 346, 5, 346, 6842, 10, 346, 3, 347, 3, 347, 3, 347, 5, 347, 6847, 10, 347, 3, 347, 3, 347, 3, 347, 5, 347, 6852, 10, 347, 7, 347, 6854, 10, 347, 12, 347, 14, 347, 6857, 11, 347, 3, 347, 3, 347, 3, 347, 3, 347, 5, 347, 6863, 10, 347, 3, 347, 3, 347, 3, 347, 3, 347, 3, 347, 5, 347, 6870, 10, 347, 3, 348, 3, 348, 3, 348, 5, 348, 6875, 10, 348, 3, 348, 3, 348, 3, 348, 5, 348, 6880, 10, 348, 7, 348, 6882, 10, 348, 12, 348, 14, 348, 6885, 11, 348, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 3, 348, 5, 348, 6895, 10, 348, 3, 349, 3, 349, 5, 349, 6899, 10, 349, 3, 349, 5, 349, 6902, 10, 349, 3, 349, 5, 349, 6905, 10, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 7, 349, 6914, 10, 349, 12, 349, 14, 349, 6917, 11, 349, 3, 349, 3, 349, 3, 349, 3, 349, 3, 349, 5, 349, 6924, 10, 349, 3, 349, 3, 349, 3, 349, 3, 349, 7, 349, 6930, 10, 349, 12, 349, 14, 349, 6933, 11, 349, 3, 349, 3, 349, 5, 349, 6937, 10, 349, 3, 349, 3, 349, 3, 349, 3, 349, 5, 349, 6943, 10, 349, 3, 350, 3, 350, 5, 350, 6947, 10, 350, 3, 350, 3, 350, 3, 350, 3, 350, 6, 350, 6953, 10, 350, 13, 350, 14, 350, 6954, 3, 350, 3, 350, 3, 350, 5, 350, 6960, 10, 350, 3, 350, 3, 350, 3, 350, 5, 350, 6965, 10, 350, 7, 350, 6967, 10, 350, 12, 350, 14, 350, 6970, 11, 350, 3, 350, 3, 350, 3, 350, 3, 350, 7, 350, 6976, 10, 350, 12, 350, 14, 350, 6979, 11, 350, 5, 350, 6981, 10, 350, 3, 351, 5, 351, 6984, 10, 351, 3, 351, 3, 351, 5, 351, 6988, 10, 351, 3, 351, 3, 351, 3, 351, 3, 352, 3, 352, 5, 352, 6995, 10, 352, 3, 352, 3, 352, 3, 352, 3, 352, 7, 352, 7001, 10, 352, 12, 352, 14, 352, 7004, 11, 352, 3, 352, 3, 352, 3, 352, 3, 352, 7, 352, 7010, 10, 352, 12, 352, 14, 352, 7013, 11, 352, 5, 352, 7015, 10, 352, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 353, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 3, 354, 5, 354, 7030, 10, 354, 3, 355, 3, 355, 3, 356, 3, 356, 3, 356, 3, 356, 3, 356, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 3, 357, 7, 357, 7045, 10, 357, 12, 357, 14, 357, 7048, 11, 357, 3, 357, 3, 357, 3, 357, 5, 357, 7053, 10, 357, 3, 358, 3, 358, 5, 358, 7057, 10, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 5, 358, 7064, 10, 358, 3, 358, 3, 358, 3, 358, 3, 358, 3, 358, 5, 358, 7071, 10, 358, 3, 358, 5, 358, 7074, 10, 358, 5, 358, 7076, 10, 358, 3, 359, 3, 359, 3, 359, 3, 359, 5, 359, 7082, 10, 359, 5, 359, 7084, 10, 359, 3, 359, 5, 359, 7087, 10, 359, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 3, 360, 5, 360, 7096, 10, 360, 3, 360, 5, 360, 7099, 10, 360, 3, 361, 3, 361, 5, 361, 7103, 10, 361, 3, 361, 3, 361, 3, 361, 3, 361, 5, 361, 7109, 10, 361, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 362, 3, 363, 3, 363, 3, 363, 5, 363, 7121, 10, 363, 3, 363, 3, 363, 3, 363, 3, 364, 3, 364, 3, 364, 3, 364, 3, 364, 5, 364, 7131, 10, 364, 3, 364, 3, 364, 5, 364, 7135, 10, 364, 3, 364, 5, 364, 7138, 10, 364, 3, 364, 5, 364, 7141, 10, 364, 3, 364, 3, 364, 3, 364, 5, 364, 7146, 10, 364, 3, 364, 3, 364, 5, 364, 7150, 10, 364, 3, 364, 3, 364, 5, 364, 7154, 10, 364, 3, 364, 5, 364, 7157, 10, 364, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 5, 365, 7164, 10, 365, 3, 365, 5, 365, 7167, 10, 365, 3, 365, 3, 365, 3, 365, 3, 365, 3, 365, 5, 365, 7174, 10, 365, 3, 365, 3, 365, 3, 365, 3, 365, 5, 365, 7180, 10, 365, 3, 366, 3, 366, 3, 366, 3, 366, 3, 366, 3, 367, 3, 367, 3, 367, 3, 367, 3, 367, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 5, 368, 7208, 10, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 6, 368, 7216, 10, 368, 13, 368, 14, 368, 7217, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 5, 368, 7228, 10, 368, 5, 368, 7230, 10, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 3, 368, 5, 368, 7238, 10, 368, 3, 369, 3, 369, 3, 369, 3, 369, 3, 369, 3, 370, 3, 370, 3, 370, 3, 370, 3, 371, 3, 371, 3, 371, 3, 372, 3, 372, 3, 373, 3, 373, 3, 374, 3, 374, 3, 375, 3, 375, 3, 376, 3, 376, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 5, 377, 7270, 10, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 3, 377, 5, 377, 7278, 10, 377, 6, 377, 7280, 10, 377, 13, 377, 14, 377, 7281, 5, 377, 7284, 10, 377, 3, 377, 3, 377, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 3, 378, 5, 378, 7299, 10, 378, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 3, 379, 6, 379, 7318, 10, 379, 13, 379, 14, 379, 7319, 3, 379, 5, 379, 7323, 10, 379, 3, 380, 3, 380, 3, 380, 3, 380, 5, 380, 7329, 10, 380, 3, 381, 3, 381, 3, 381, 3, 381, 5, 381, 7335, 10, 381, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 3, 382, 6, 382, 7343, 10, 382, 13, 382, 14, 382, 7344, 5, 382, 7347, 10, 382, 3, 383, 3, 383, 3, 383, 5, 383, 7352, 10, 383, 3, 383, 3, 383, 3, 383, 5, 383, 7357, 10, 383, 3, 383, 3, 383, 3, 383, 5, 383, 7362, 10, 383, 7, 383, 7364, 10, 383, 12, 383, 14, 383, 7367, 11, 383, 3, 383, 5, 383, 7370, 10, 383, 3, 384, 3, 384, 5, 384, 7374, 10, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 7, 384, 7381, 10, 384, 12, 384, 14, 384, 7384, 11, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 3, 384, 5, 384, 7392, 10, 384, 3, 384, 5, 384, 7395, 10, 384, 3, 384, 5, 384, 7398, 10, 384, 3, 384, 5, 384, 7401, 10, 384, 3, 384, 3, 384, 5, 384, 7405, 10, 384, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 3, 385, 5, 385, 7415, 10, 385, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 5, 386, 7422, 10, 386, 3, 386, 3, 386, 3, 386, 3, 386, 3, 386, 6, 386, 7429, 10, 386, 13, 386, 14, 386, 7430, 3, 387, 3, 387, 3, 388, 3, 388, 3, 388, 3, 388, 3, 389, 3, 389, 5, 389, 7441, 10, 389, 3, 389, 5, 389, 7444, 10, 389, 3, 389, 5, 389, 7447, 10, 389, 3, 389, 5, 389, 7450, 10, 389, 3, 389, 3, 389, 6, 389, 7454, 10, 389, 13, 389, 14, 389, 7455, 5, 389, 7458, 10, 389, 3, 389, 5, 389, 7461, 10, 389, 3, 390, 3, 390, 3, 390, 3, 390, 5, 390, 7467, 10, 390, 3, 390, 5, 390, 7470, 10, 390, 3, 391, 3, 391, 3, 391, 5, 391, 7475, 10, 391, 3, 392, 3, 392, 3, 392, 5, 392, 7480, 10, 392, 3, 393, 3, 393, 5, 393, 7484, 10, 393, 3, 393, 3, 393, 5, 393, 7488, 10, 393, 3, 394, 3, 394, 3, 394, 3, 394, 5, 394, 7494, 10, 394, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 395, 3, 396, 3, 396, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 397, 3, 398, 3, 398, 3, 399, 3, 399, 3, 400, 3, 400, 3, 400, 6, 400, 7519, 10, 400, 13, 400, 14, 400, 7520, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 7, 401, 7531, 10, 401, 12, 401, 14, 401, 7534, 11, 401, 3, 401, 3, 401, 5, 401, 7538, 10, 401, 3, 401, 3, 401, 3, 401, 7, 401, 7543, 10, 401, 12, 401, 14, 401, 7546, 11, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 7, 401, 7555, 10, 401, 12, 401, 14, 401, 7558, 11, 401, 3, 401, 3, 401, 5, 401, 7562, 10, 401, 3, 401, 3, 401, 3, 401, 7, 401, 7567, 10, 401, 12, 401, 14, 401, 7570, 11, 401, 3, 401, 3, 401, 5, 401, 7574, 10, 401, 3, 401, 3, 401, 3, 401, 3, 401, 3, 401, 5, 401, 7581, 10, 401, 3, 401, 3, 401, 5, 401, 7585, 10, 401, 3, 402, 3, 402, 3, 402, 3, 402, 3, 402, 7, 402, 7592, 10, 402, 12, 402, 14, 402, 7595, 11, 402, 3, 402, 3, 402, 3, 402, 3, 402, 5, 402, 7601, 10, 402, 3, 403, 3, 403, 5, 403, 7605, 10, 403, 3, 403, 3, 403, 5, 403, 7609, 10, 403, 3, 403, 3, 403, 3, 403, 5, 403, 7614, 10, 403, 3, 403, 7, 403, 7617, 10, 403, 12, 403, 14, 403, 7620, 11, 403, 3, 403, 5, 403, 7623, 10, 403, 3, 404, 3, 404, 3, 404, 5, 404, 7628, 10, 404, 3, 404, 3, 404, 3, 404, 3, 404, 3, 404, 5, 404, 7635, 10, 404, 3, 405, 3, 405, 3, 405, 3, 405, 5, 405, 7641, 10, 405, 3, 405, 3, 405, 3, 405, 5, 405, 7646, 10, 405, 7, 405, 7648, 10, 405, 12, 405, 14, 405, 7651, 11, 405, 3, 405, 3, 405, 3, 405, 3, 405, 5, 405, 7657, 10, 405, 5, 405, 7659, 10, 405, 3, 405, 5, 405, 7662, 10, 405, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 406, 3, 407, 3, 407, 3, 407, 5, 407, 7674, 10, 407, 3, 407, 3, 407, 5, 407, 7678, 10, 407, 3, 408, 3, 408, 3, 408, 5, 408, 7683, 10, 408, 3, 408, 3, 408, 5, 408, 7687, 10, 408, 3, 408, 3, 408, 3, 408, 3, 408, 3, 408, 5, 408, 7694, 10, 408, 3, 409, 3, 409, 3, 410, 3, 410, 3, 411, 3, 411, 3, 411, 3, 411, 5, 411, 7704, 10, 411, 3, 411, 5, 411, 7707, 10, 411, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 7, 412, 7714, 10, 412, 12, 412, 14, 412, 7717, 11, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 6, 412, 7727, 10, 412, 13, 412, 14, 412, 7728, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 3, 412, 6, 412, 7742, 10, 412, 13, 412, 14, 412, 7743, 5, 412, 7746, 10, 412, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 413, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 3, 414, 5, 414, 7773, 10, 414, 3, 414, 5, 414, 7776, 10, 414, 3, 414, 3, 414, 3, 414, 6, 414, 7781, 10, 414, 13, 414, 14, 414, 7782, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 3, 415, 5, 415, 7805, 10, 415, 3, 415, 5, 415, 7808, 10, 415, 6, 415, 7810, 10, 415, 13, 415, 14, 415, 7811, 3, 416, 3, 416, 3, 417, 3, 417, 3, 417, 5, 417, 7819, 10, 417, 5, 417, 7821, 10, 417, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 3, 418, 5, 418, 7829, 10, 418, 3, 419, 3, 419, 5, 419, 7833, 10, 419, 3, 419, 3, 419, 3, 419, 5, 419, 7838, 10, 419, 3, 419, 5, 419, 7841, 10, 419, 3, 419, 5, 419, 7844, 10, 419, 3, 419, 5, 419, 7847, 10, 419, 3, 420, 3, 420, 3, 421, 3, 421, 3, 421, 5, 421, 7854, 10, 421, 3, 421, 3, 421, 3, 421, 5, 421, 7859, 10, 421, 3, 421, 3, 421, 3, 422, 3, 422, 3, 422, 3, 422, 5, 422, 7867, 10, 422, 3, 422, 5, 422, 7870, 10, 422, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 3, 423, 5, 423, 7882, 10, 423, 3, 424, 3, 424, 3, 425, 3, 425, 3, 426, 3, 426, 3, 426, 5, 426, 7891, 10, 426, 3, 426, 5, 426, 7894, 10, 426, 3, 426, 3, 426, 5, 426, 7898, 10, 426, 3, 426, 3, 426, 3, 426, 5, 426, 7903, 10, 426, 3, 426, 3, 426, 3, 426, 5, 426, 7908, 10, 426, 3, 426, 5, 426, 7911, 10, 426, 3, 426, 5, 426, 7914, 10, 426, 3, 426, 5, 426, 7917, 10, 426, 5, 426, 7919, 10, 426, 3, 426, 7, 426, 7922, 10, 426, 12, 426, 14, 426, 7925, 11, 426, 3, 426, 5, 426, 7928, 10, 426, 3, 427, 3, 427, 5, 427, 7932, 10, 427, 3, 427, 5, 427, 7935, 10, 427, 3, 427, 5, 427, 7938, 10, 427, 3, 427, 7, 427, 7941, 10, 427, 12, 427, 14, 427, 7944, 11, 427, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 3, 428, 5, 428, 7952, 10, 428, 5, 428, 7954, 10, 428, 3, 428, 3, 428, 3, 428, 3, 429, 3, 429, 3, 429, 3, 430, 3, 430, 3, 430, 3, 430, 5, 430, 7966, 10, 430, 3, 430, 5, 430, 7969, 10, 430, 3, 430, 5, 430, 7972, 10, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 3, 430, 6, 430, 7984, 10, 430, 13, 430, 14, 430, 7985, 3, 430, 3, 430, 5, 430, 7990, 10, 430, 3, 430, 3, 430, 5, 430, 7994, 10, 430, 3, 430, 5, 430, 7997, 10, 430, 3, 431, 3, 431, 3, 432, 5, 432, 8002, 10, 432, 3, 432, 3, 432, 3, 432, 5, 432, 8007, 10, 432, 3, 432, 3, 432, 3, 432, 3, 432, 3, 432, 5, 432, 8014, 10, 432, 3, 432, 3, 432, 3, 432, 3, 432, 5, 432, 8020, 10, 432, 3, 433, 3, 433, 3, 434, 3, 434, 3, 434, 3, 434, 5, 434, 8028, 10, 434, 3, 435, 3, 435, 3, 436, 3, 436, 3, 436, 3, 436, 3, 437, 3, 437, 3, 437, 7, 437, 8039, 10, 437, 12, 437, 14, 437, 8042, 11, 437, 3, 437, 5, 437, 8045, 10, 437, 3, 437, 3, 437, 3, 437, 7, 437, 8050, 10, 437, 12, 437, 14, 437, 8053, 11, 437, 3, 437, 5, 437, 8056, 10, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 7, 437, 8068, 10, 437, 12, 437, 14, 437, 8071, 11, 437, 3, 437, 3, 437, 5, 437, 8075, 10, 437, 3, 437, 3, 437, 5, 437, 8079, 10, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 3, 437, 6, 437, 8088, 10, 437, 13, 437, 14, 437, 8089, 5, 437, 8092, 10, 437, 3, 438, 3, 438, 3, 439, 3, 439, 3, 440, 3, 440, 3, 440, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 3, 441, 7, 441, 8108, 10, 441, 12, 441, 14, 441, 8111, 11, 441, 3, 441, 3, 441, 5, 441, 8115, 10, 441, 3, 441, 5, 441, 8118, 10, 441, 3, 441, 5, 441, 8121, 10, 441, 3, 441, 3, 441, 3, 441, 5, 441, 8126, 10, 441, 5, 441, 8128, 10, 441, 3, 442, 3, 442, 3, 442, 5, 442, 8133, 10, 442, 3, 442, 3, 442, 3, 442, 3, 442, 5, 442, 8139, 10, 442, 3, 442, 6, 442, 8142, 10, 442, 13, 442, 14, 442, 8143, 3, 443, 3, 443, 3, 443, 3, 443, 5, 443, 8150, 10, 443, 3, 444, 3, 444, 3, 444, 3, 444, 3, 444, 5, 444, 8157, 10, 444, 3, 445, 3, 445, 3, 445, 3, 445, 3, 446, 3, 446, 3, 446, 3, 446, 3, 447, 3, 447, 3, 447, 3, 447, 3, 448, 3, 448, 3, 448, 3, 448, 3, 448, 5, 448, 8176, 10, 448, 3, 449, 3, 449, 3, 449, 3, 449, 3, 450, 3, 450, 3, 450, 3, 450, 3, 450, 5, 450, 8187, 10, 450, 3, 451, 3, 451, 3, 451, 5, 451, 8192, 10, 451, 3, 452, 3, 452, 3, 452, 3, 452, 5, 452, 8198, 10, 452, 3, 453, 3, 453, 5, 453, 8202, 10, 453, 3, 453, 3, 453, 3, 453, 3, 453, 6, 453, 8208, 10, 453, 13, 453, 14, 453, 8209, 5, 453, 8212, 10, 453, 3, 453, 3, 453, 3, 453, 3, 454, 3, 454, 3, 454, 3, 455, 3, 455, 3, 455, 5, 455, 8223, 10, 455, 3, 456, 3, 456, 3, 456, 3, 456, 3, 457, 3, 457, 3, 457, 5, 457, 8232, 10, 457, 3, 457, 3, 457, 3, 457, 5, 457, 8237, 10, 457, 3, 457, 3, 457, 5, 457, 8241, 10, 457, 3, 457, 5, 457, 8244, 10, 457, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 458, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 3, 459, 5, 459, 8258, 10, 459, 3, 459, 3, 459, 3, 460, 3, 460, 7, 460, 8264, 10, 460, 12, 460, 14, 460, 8267, 11, 460, 3, 460, 5, 460, 8270, 10, 460, 3, 460, 5, 460, 8273, 10, 460, 3, 461, 3, 461, 3, 461, 3, 462, 6, 462, 8279, 10, 462, 13, 462, 14, 462, 8280, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 3, 463, 5, 463, 8293, 10, 463, 3, 464, 3, 464, 5, 464, 8297, 10, 464, 3, 464, 3, 464, 3, 464, 5, 464, 8302, 10, 464, 3, 464, 5, 464, 8305, 10, 464, 3, 464, 3, 464, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 3, 465, 5, 465, 8318, 10, 465, 3, 465, 3, 465, 5, 465, 8322, 10, 465, 3, 465, 3, 465, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 3, 466, 7, 466, 8332, 10, 466, 12, 466, 14, 466, 8335, 11, 466, 3, 466, 3, 466, 5, 466, 8339, 10, 466, 3, 466, 3, 466, 5, 466, 8343, 10, 466, 3, 466, 3, 466, 5, 466, 8347, 10, 466, 3, 466, 3, 466, 3, 467, 3, 467, 5, 467, 8353, 10, 467, 3, 467, 5, 467, 8356, 10, 467, 3, 467, 5, 467, 8359, 10, 467, 3, 468, 3, 468, 3, 468, 3, 468, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 3, 469, 5, 469, 8386, 10, 469, 3, 469, 3, 469, 6, 469, 8390, 10, 469, 13, 469, 14, 469, 8391, 3, 469, 3, 469, 5, 469, 8396, 10, 469, 3, 469, 3, 469, 3, 470, 3, 470, 3, 470, 3, 470, 3, 470, 7, 470, 8405, 10, 470, 12, 470, 14, 470, 8408, 11, 470, 3, 470, 3, 470, 3, 471, 3, 471, 5, 471, 8414, 10, 471, 3, 471, 3, 471, 5, 471, 8418, 10, 471, 3, 471, 5, 471, 8421, 10, 471, 3, 472, 3, 472, 3, 472, 3, 472, 5, 472, 8427, 10, 472, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 3, 473, 5, 473, 8436, 10, 473, 3, 473, 3, 473, 3, 474, 3, 474, 3, 474, 3, 474, 5, 474, 8444, 10, 474, 3, 474, 3, 474, 5, 474, 8448, 10, 474, 3, 475, 3, 475, 5, 475, 8452, 10, 475, 3, 475, 3, 475, 3, 475, 3, 476, 3, 476, 3, 476, 5, 476, 8460, 10, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 3, 476, 5, 476, 8469, 10, 476, 3, 477, 3, 477, 3, 477, 3, 477, 6, 477, 8475, 10, 477, 13, 477, 14, 477, 8476, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 478, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 3, 479, 5, 479, 8502, 10, 479, 3, 480, 6, 480, 8505, 10, 480, 13, 480, 14, 480, 8506, 3, 481, 3, 481, 5, 481, 8511, 10, 481, 3, 481, 3, 481, 3, 481, 3, 482, 3, 482, 5, 482, 8518, 10, 482, 3, 482, 3, 482, 5, 482, 8522, 10, 482, 3, 483, 3, 483, 5, 483, 8526, 10, 483, 3, 483, 3, 483, 5, 483, 8530, 10, 483, 3, 484, 3, 484, 3, 484, 3, 485, 3, 485, 3, 485, 3, 485, 3, 485, 7, 485, 8540, 10, 485, 12, 485, 14, 485, 8543, 11, 485, 3, 485, 5, 485, 8546, 10, 485, 3, 485, 3, 485, 3, 485, 3, 486, 3, 486, 3, 486, 3, 486, 3, 486, 3, 487, 3, 487, 3, 487, 3, 488, 5, 488, 8560, 10, 488, 3, 488, 3, 488, 3, 488, 3, 488, 5, 488, 8566, 10, 488, 3, 488, 3, 488, 3, 488, 3, 488, 3, 488, 5, 488, 8573, 10, 488, 3, 489, 3, 489, 3, 489, 5, 489, 8578, 10, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 3, 489, 5, 489, 8589, 10, 489, 3, 489, 5, 489, 8592, 10, 489, 3, 489, 3, 489, 3, 489, 3, 489, 5, 489, 8598, 10, 489, 5, 489, 8600, 10, 489, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 3, 490, 5, 490, 8609, 10, 490, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 3, 491, 5, 491, 8619, 10, 491, 3, 491, 3, 491, 3, 491, 5, 491, 8624, 10, 491, 3, 492, 3, 492, 3, 492, 3, 492, 3, 492, 3, 493, 3, 493, 3, 494, 3, 494, 3, 495, 3, 495, 3, 496, 3, 496, 5, 496, 8639, 10, 496, 3, 497, 3, 497, 5, 497, 8643, 10, 497, 3, 498, 5, 498, 8646, 10, 498, 3, 498, 3, 498, 5, 498, 8650, 10, 498, 3, 499, 3, 499, 5, 499, 8654, 10, 499, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 500, 3, 501, 3, 501, 3, 501, 3, 501, 6, 501, 8666, 10, 501, 13, 501, 14, 501, 8667, 5, 501, 8670, 10, 501, 3, 501, 3, 501, 5, 501, 8674, 10, 501, 3, 502, 3, 502, 3, 502, 3, 502, 7, 502, 8680, 10, 502, 12, 502, 14, 502, 8683, 11, 502, 3, 502, 3, 502, 3, 502, 3, 503, 5, 503, 8689, 10, 503, 3, 503, 6, 503, 8692, 10, 503, 13, 503, 14, 503, 8693, 5, 503, 8696, 10, 503, 3, 503, 3, 503, 3, 504, 5, 504, 8701, 10, 504, 3, 504, 6, 504, 8704, 10, 504, 13, 504, 14, 504, 8705, 3, 504, 3, 504, 3, 505, 3, 505, 3, 505, 3, 505, 5, 505, 8714, 10, 505, 3, 506, 3, 506, 3, 506, 3, 506, 3, 506, 5, 506, 8721, 10, 506, 3, 506, 3, 506, 5, 506, 8725, 10, 506, 3, 506, 5, 506, 8728, 10, 506, 3, 507, 3, 507, 3, 507, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 3, 508, 5, 508, 8740, 10, 508, 3, 509, 3, 509, 3, 509, 3, 509, 5, 509, 8746, 10, 509, 3, 510, 3, 510, 3, 510, 3, 511, 3, 511, 3, 511, 3, 511, 5, 511, 8755, 10, 511, 3, 511, 5, 511, 8758, 10, 511, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 7, 512, 8766, 10, 512, 12, 512, 14, 512, 8769, 11, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 3, 512, 7, 512, 8777, 10, 512, 12, 512, 14, 512, 8780, 11, 512, 5, 512, 8782, 10, 512, 3, 513, 3, 513, 3, 513, 3, 513, 3, 513, 5, 513, 8789, 10, 513, 3, 513, 5, 513, 8792, 10, 513, 3, 514, 3, 514, 3, 514, 3, 514, 3, 514, 5, 514, 8799, 10, 514, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 3, 515, 5, 515, 8810, 10, 515, 3, 515, 3, 515, 3, 515, 3, 515, 5, 515, 8816, 10, 515, 3, 515, 3, 515, 5, 515, 8820, 10, 515, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 3, 516, 7, 516, 8828, 10, 516, 12, 516, 14, 516, 8831, 11, 516, 5, 516, 8833, 10, 516, 3, 516, 3, 516, 3, 517, 3, 517, 5, 517, 8839, 10, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 3, 517, 5, 517, 8850, 10, 517, 5, 517, 8852, 10, 517, 5, 517, 8854, 10, 517, 3, 517, 5, 517, 8857, 10, 517, 3, 518, 3, 518, 5, 518, 8861, 10, 518, 3, 518, 5, 518, 8864, 10, 518, 3, 519, 3, 519, 5, 519, 8868, 10, 519, 3, 519, 3, 519, 5, 519, 8872, 10, 519, 3, 519, 3, 519, 3, 519, 5, 519, 8877, 10, 519, 3, 520, 3, 520, 3, 520, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 5, 521, 8888, 10, 521, 3, 521, 3, 521, 5, 521, 8892, 10, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 3, 521, 5, 521, 8900, 10, 521, 3, 522, 5, 522, 8903, 10, 522, 3, 522, 3, 522, 3, 523, 3, 523, 3, 523, 3, 523, 3, 523, 7, 523, 8912, 10, 523, 12, 523, 14, 523, 8915, 11, 523, 3, 524, 3, 524, 3, 524, 3, 524, 7, 524, 8921, 10, 524, 12, 524, 14, 524, 8924, 11, 524, 3, 525, 3, 525, 5, 525, 8928, 10, 525, 3, 525, 3, 525, 3, 525, 3, 525, 5, 525, 8934, 10, 525, 3, 525, 3, 525, 5, 525, 8938, 10, 525, 3, 525, 5, 525, 8941, 10, 525, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 3, 526, 5, 526, 8949, 10, 526, 3, 526, 5, 526, 8952, 10, 526, 3, 526, 3, 526, 5, 526, 8956, 10, 526, 3, 526, 3, 526, 5, 526, 8960, 10, 526, 3, 526, 3, 526, 3, 526, 5, 526, 8965, 10, 526, 3, 526, 5, 526, 8968, 10, 526, 3, 526, 3, 526, 5, 526, 8972, 10, 526, 3, 526, 3, 526, 5, 526, 8976, 10, 526, 7, 526, 8978, 10, 526, 12, 526, 14, 526, 8981, 11, 526, 3, 526, 3, 526, 3, 526, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 527, 3, 528, 3, 528, 7, 528, 8997, 10, 528, 12, 528, 14, 528, 9000, 11, 528, 3, 529, 3, 529, 3, 529, 3, 529, 3, 529, 5, 529, 9007, 10, 529, 3, 530, 3, 530, 5, 530, 9011, 10, 530, 3, 530, 3, 530, 5, 530, 9015, 10, 530, 3, 530, 3, 530, 3, 531, 3, 531, 5, 531, 9021, 10, 531, 3, 531, 3, 531, 5, 531, 9025, 10, 531, 3, 531, 3, 531, 5, 531, 9029, 10, 531, 3, 531, 5, 531, 9032, 10, 531, 3, 531, 5, 531, 9035, 10, 531, 3, 531, 5, 531, 9038, 10, 531, 3, 531, 5, 531, 9041, 10, 531, 3, 532, 3, 532, 3, 532, 3, 532, 7, 532, 9047, 10, 532, 12, 532, 14, 532, 9050, 11, 532, 5, 532, 9052, 10, 532, 3, 533, 3, 533, 3, 533, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 3, 534, 5, 534, 9063, 10, 534, 5, 534, 9065, 10, 534, 3, 535, 3, 535, 3, 535, 7, 535, 9070, 10, 535, 12, 535, 14, 535, 9073, 11, 535, 3, 536, 3, 536, 7, 536, 9077, 10, 536, 12, 536, 14, 536, 9080, 11, 536, 3, 536, 3, 536, 5, 536, 9084, 10, 536, 3, 537, 3, 537, 7, 537, 9088, 10, 537, 12, 537, 14, 537, 9091, 11, 537, 3, 537, 5, 537, 9094, 10, 537, 3, 538, 3, 538, 3, 538, 5, 538, 9099, 10, 538, 3, 538, 3, 538, 3, 538, 7, 538, 9104, 10, 538, 12, 538, 14, 538, 9107, 11, 538, 3, 538, 3, 538, 3, 538, 5, 538, 9112, 10, 538, 3, 538, 3, 538, 3, 538, 3, 538, 3, 538, 5, 538, 9119, 10, 538, 3, 539, 5, 539, 9122, 10, 539, 3, 539, 5, 539, 9125, 10, 539, 3, 539, 3, 539, 5, 539, 9129, 10, 539, 3, 539, 3, 539, 3, 539, 5, 539, 9134, 10, 539, 3, 539, 3, 539, 7, 539, 9138, 10, 539, 12, 539, 14, 539, 9141, 11, 539, 3, 540, 3, 540, 3, 540, 3, 541, 3, 541, 3, 541, 3, 542, 3, 542, 5, 542, 9151, 10, 542, 3, 543, 3, 543, 3, 543, 3, 543, 3, 543, 5, 543, 9158, 10, 543, 3, 543, 3, 543, 5, 543, 9162, 10, 543, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 3, 544, 5, 544, 9172, 10, 544, 3, 545, 3, 545, 5, 545, 9176, 10, 545, 3, 545, 3, 545, 3, 545, 3, 545, 7, 545, 9182, 10, 545, 12, 545, 14, 545, 9185, 11, 545, 3, 545, 3, 545, 3, 545, 3, 545, 3, 546, 3, 546, 3, 546, 3, 546, 3, 546, 5, 546, 9196, 10, 546, 3, 547, 3, 547, 3, 547, 5, 547, 9201, 10, 547, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 3, 548, 7, 548, 9209, 10, 548, 12, 548, 14, 548, 9212, 11, 548, 3, 548, 3, 548, 3, 548, 7, 548, 9217, 10, 548, 12, 548, 14, 548, 9220, 11, 548, 5, 548, 9222, 10, 548, 3, 548, 3, 548, 3, 549, 3, 549, 5, 549, 9228, 10, 549, 3, 550, 3, 550, 3, 550, 5, 550, 9233, 10, 550, 3, 550, 5, 550, 9236, 10, 550, 3, 551, 3, 551, 3, 551, 5, 551, 9241, 10, 551, 3, 551, 3, 551, 3, 551, 5, 551, 9246, 10, 551, 3, 551, 3, 551, 3, 551, 3, 551, 3, 552, 3, 552, 3, 552, 3, 552, 3, 552, 7, 552, 9257, 10, 552, 12, 552, 14, 552, 9260, 11, 552, 3, 552, 3, 552, 3, 553, 3, 553, 5, 553, 9266, 10, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 3, 553, 7, 553, 9274, 10, 553, 12, 553, 14, 553, 9277, 11, 553, 3, 553, 3, 553, 5, 553, 9281, 10, 553, 5, 553, 9283, 10, 553, 3, 554, 3, 554, 3, 554, 5, 554, 9288, 10, 554, 3, 554, 3, 554, 5, 554, 9292, 10, 554, 3, 554, 3, 554, 3, 554, 3, 554, 5, 554, 9298, 10, 554, 3, 554, 3, 554, 5, 554, 9302, 10, 554, 3, 555, 3, 555, 3, 555, 3, 555, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 7, 556, 9313, 10, 556, 12, 556, 14, 556, 9316, 11, 556, 3, 556, 5, 556, 9319, 10, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 3, 556, 7, 556, 9327, 10, 556, 12, 556, 14, 556, 9330, 11, 556, 5, 556, 9332, 10, 556, 5, 556, 9334, 10, 556, 3, 557, 3, 557, 3, 557, 5, 557, 9339, 10, 557, 3, 558, 3, 558, 3, 558, 3, 558, 3, 558, 7, 558, 9346, 10, 558, 12, 558, 14, 558, 9349, 11, 558, 3, 558, 3, 558, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 3, 559, 7, 559, 9359, 10, 559, 12, 559, 14, 559, 9362, 11, 559, 3, 559, 3, 559, 3, 560, 3, 560, 3, 560, 5, 560, 9369, 10, 560, 3, 560, 3, 560, 5, 560, 9373, 10, 560, 3, 561, 3, 561, 3, 561, 3, 562, 3, 562, 7, 562, 9380, 10, 562, 12, 562, 14, 562, 9383, 11, 562, 3, 562, 5, 562, 9386, 10, 562, 3, 562, 7, 562, 9389, 10, 562, 12, 562, 14, 562, 9392, 11, 562, 3, 562, 3, 562, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 3, 563, 5, 563, 9402, 10, 563, 5, 563, 9404, 10, 563, 3, 564, 3, 564, 3, 564, 3, 564, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 3, 565, 7, 565, 9418, 10, 565, 12, 565, 14, 565, 9421, 11, 565, 3, 566, 3, 566, 5, 566, 9425, 10, 566, 3, 566, 3, 566, 7, 566, 9429, 10, 566, 12, 566, 14, 566, 9432, 11, 566, 3, 566, 3, 566, 3, 567, 5, 567, 9437, 10, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 567, 3, 568, 3, 568, 3, 568, 3, 568, 3, 569, 3, 569, 3, 569, 3, 569, 7, 569, 9453, 10, 569, 12, 569, 14, 569, 9456, 11, 569, 3, 569, 3, 569, 3, 570, 3, 570, 5, 570, 9462, 10, 570, 3, 570, 5, 570, 9465, 10, 570, 3, 571, 5, 571, 9468, 10, 571, 3, 571, 3, 571, 3, 571, 3, 571, 7, 571, 9474, 10, 571, 12, 571, 14, 571, 9477, 11, 571, 5, 571, 9479, 10, 571, 3, 571, 3, 571, 3, 572, 3, 572, 3, 572, 3, 572, 5, 572, 9487, 10, 572, 5, 572, 9489, 10, 572, 3, 572, 3, 572, 5, 572, 9493, 10, 572, 3, 572, 5, 572, 9496, 10, 572, 3, 573, 3, 573, 3, 573, 5, 573, 9501, 10, 573, 5, 573, 9503, 10, 573, 3, 573, 3, 573, 5, 573, 9507, 10, 573, 3, 573, 3, 573, 3, 573, 3, 574, 3, 574, 3, 575, 3, 575, 3, 575, 3, 575, 3, 575, 5, 575, 9519, 10, 575, 3, 576, 3, 576, 3, 576, 3, 576, 3, 576, 3, 577, 3, 577, 5, 577, 9528, 10, 577, 3, 577, 3, 577, 3, 577, 3, 577, 7, 577, 9534, 10, 577, 12, 577, 14, 577, 9537, 11, 577, 3, 578, 3, 578, 5, 578, 9541, 10, 578, 3, 578, 3, 578, 5, 578, 9545, 10, 578, 3, 579, 3, 579, 3, 579, 3, 579, 3, 580, 3, 580, 3, 580, 3, 580, 5, 580, 9555, 10, 580, 5, 580, 9557, 10, 580, 3, 580, 3, 580, 3, 580, 3, 580, 5, 580, 9563, 10, 580, 3, 581, 3, 581, 3, 581, 5, 581, 9568, 10, 581, 3, 581, 5, 581, 9571, 10, 581, 3, 582, 3, 582, 3, 582, 3, 583, 3, 583, 3, 583, 3, 583, 3, 583, 5, 583, 9581, 10, 583, 3, 584, 3, 584, 3, 584, 3, 584, 5, 584, 9587, 10, 584, 3, 584, 5, 584, 9590, 10, 584, 3, 584, 5, 584, 9593, 10, 584, 3, 585, 3, 585, 3, 585, 3, 585, 7, 585, 9599, 10, 585, 12, 585, 14, 585, 9602, 11, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 3, 585, 5, 585, 9611, 10, 585, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 3, 586, 5, 586, 9621, 10, 586, 3, 587, 3, 587, 5, 587, 9625, 10, 587, 3, 587, 3, 587, 5, 587, 9629, 10, 587, 3, 587, 5, 587, 9632, 10, 587, 3, 587, 5, 587, 9635, 10, 587, 3, 588, 3, 588, 3, 588, 5, 588, 9640, 10, 588, 3, 589, 3, 589, 3, 589, 5, 589, 9645, 10, 589, 3, 589, 5, 589, 9648, 10, 589, 3, 589, 5, 589, 9651, 10, 589, 3, 590, 3, 590, 6, 590, 9655, 10, 590, 13, 590, 14, 590, 9656, 3, 590, 5, 590, 9660, 10, 590, 3, 590, 3, 590, 3, 591, 3, 591, 5, 591, 9666, 10, 591, 3, 591, 5, 591, 9669, 10, 591, 3, 592, 5, 592, 9672, 10, 592, 3, 592, 6, 592, 9675, 10, 592, 13, 592, 14, 592, 9676, 3, 592, 5, 592, 9680, 10, 592, 3, 593, 3, 593, 3, 593, 3, 593, 6, 593, 9686, 10, 593, 13, 593, 14, 593, 9687, 3, 594, 3, 594, 6, 594, 9692, 10, 594, 13, 594, 14, 594, 9693, 3, 595, 3, 595, 3, 595, 5, 595, 9699, 10, 595, 3, 596, 3, 596, 3, 596, 5, 596, 9704, 10, 596, 3, 596, 3, 596, 3, 597, 3, 597, 3, 597, 3, 597, 5, 597, 9712, 10, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 3, 597, 5, 597, 9722, 10, 597, 3, 597, 3, 597, 5, 597, 9726, 10, 597, 5, 597, 9728, 10, 597, 3, 597, 5, 597, 9731, 10, 597, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 3, 598, 7, 598, 9741, 10, 598, 12, 598, 14, 598, 9744, 11, 598, 3, 598, 5, 598, 9747, 10, 598, 3, 598, 5, 598, 9750, 10, 598, 3, 599, 3, 599, 3, 599, 3, 599, 3, 600, 3, 600, 3, 600, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 3, 601, 5, 601, 9765, 10, 601, 3, 601, 3, 601, 3, 601, 5, 601, 9770, 10, 601, 3, 601, 3, 601, 5, 601, 9774, 10, 601, 3, 602, 3, 602, 3, 602, 3, 602, 3, 602, 5, 602, 9781, 10, 602, 3, 602, 5, 602, 9784, 10, 602, 3, 603, 3, 603, 3, 603, 3, 603, 3, 603, 7, 603, 9791, 10, 603, 12, 603, 14, 603, 9794, 11, 603, 3, 603, 3, 603, 3, 603, 3, 603, 5, 603, 9800, 10, 603, 3, 604, 3, 604, 3, 604, 5, 604, 9805, 10, 604, 3, 605, 3, 605, 5, 605, 9809, 10, 605, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 3, 606, 5, 606, 9817, 10, 606, 3, 606, 3, 606, 3, 606, 3, 606, 5, 606, 9823, 10, 606, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 3, 607, 5, 607, 9831, 10, 607, 3, 607, 5, 607, 9834, 10, 607, 3, 608, 3, 608, 3, 608, 3, 608, 3, 609, 3, 609, 3, 609, 5, 609, 9843, 10, 609, 3, 609, 5, 609, 9846, 10, 609, 3, 609, 5, 609, 9849, 10, 609, 3, 610, 3, 610, 3, 610, 3, 611, 3, 611, 3, 611, 3, 611, 5, 611, 9858, 10, 611, 3, 612, 3, 612, 3, 612, 3, 612, 5, 612, 9864, 10, 612, 3, 612, 3, 612, 3, 612, 3, 612, 5, 612, 9870, 10, 612, 5, 612, 9872, 10, 612, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 3, 613, 5, 613, 9883, 10, 613, 5, 613, 9885, 10, 613, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 3, 614, 5, 614, 9894, 10, 614, 5, 614, 9896, 10, 614, 3, 615, 3, 615, 5, 615, 9900, 10, 615, 3, 615, 3, 615, 3, 615, 3, 615, 5, 615, 9906, 10, 615, 3, 615, 3, 615, 5, 615, 9910, 10, 615, 3, 616, 3, 616, 3, 616, 3, 616, 3, 616, 3, 617, 3, 617, 3, 618, 3, 618, 3, 618, 7, 618, 9922, 10, 618, 12, 618, 14, 618, 9925, 11, 618, 3, 619, 3, 619, 5, 619, 9929, 10, 619, 3, 620, 3, 620, 3, 620, 3, 620, 3, 620, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 3, 621, 7, 621, 9945, 10, 621, 12, 621, 14, 621, 9948, 11, 621, 3, 622, 5, 622, 9951, 10, 622, 3, 622, 3, 622, 3, 622, 5, 622, 9956, 10, 622, 3, 622, 7, 622, 9959, 10, 622, 12, 622, 14, 622, 9962, 11, 622, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 3, 623, 5, 623, 9973, 10, 623, 3, 623, 3, 623, 5, 623, 9977, 10, 623, 3, 623, 3, 623, 3, 623, 7, 623, 9982, 10, 623, 12, 623, 14, 623, 9985, 11, 623, 3, 623, 3, 623, 5, 623, 9989, 10, 623, 3, 624, 3, 624, 3, 624, 5, 624, 9994, 10, 624, 3, 624, 5, 624, 9997, 10, 624, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 3, 625, 7, 625, 10006, 10, 625, 12, 625, 14, 625, 10009, 11, 625, 3, 626, 3, 626, 5, 626, 10013, 10, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 3, 626, 5, 626, 10023, 10, 626, 5, 626, 10025, 10, 626, 5, 626, 10027, 10, 626, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 3, 627, 5, 627, 10037, 10, 627, 3, 627, 3, 627, 5, 627, 10041, 10, 627, 5, 627, 10043, 10, 627, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 7, 628, 10053, 10, 628, 12, 628, 14, 628, 10056, 11, 628, 3, 628, 3, 628, 3, 628, 3, 628, 3, 628, 5, 628, 10063, 10, 628, 3, 629, 3, 629, 3, 629, 3, 629, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 5, 630, 10076, 10, 630, 3, 630, 5, 630, 10079, 10, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 3, 630, 7, 630, 10091, 10, 630, 12, 630, 14, 630, 10094, 11, 630, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 5, 631, 10101, 10, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 5, 631, 10109, 10, 631, 3, 631, 3, 631, 3, 631, 3, 631, 3, 631, 5, 631, 10116, 10, 631, 3, 631, 3, 631, 5, 631, 10120, 10, 631, 3, 632, 3, 632, 3, 632, 3, 632, 3, 632, 5, 632, 10127, 10, 632, 3, 633, 3, 633, 5, 633, 10131, 10, 633, 3, 633, 3, 633, 3, 633, 5, 633, 10136, 10, 633, 7, 633, 10138, 10, 633, 12, 633, 14, 633, 10141, 11, 633, 3, 633, 3, 633, 3, 633, 7, 633, 10146, 10, 633, 12, 633, 14, 633, 10149, 11, 633, 3, 633, 5, 633, 10152, 10, 633, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 5, 634, 10159, 10, 634, 3, 634, 3, 634, 3, 634, 5, 634, 10164, 10, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 3, 634, 5, 634, 10173, 10, 634, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 3, 635, 5, 635, 10182, 10, 635, 3, 635, 5, 635, 10185, 10, 635, 3, 635, 3, 635, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 3, 636, 5, 636, 10205, 10, 636, 3, 637, 3, 637, 5, 637, 10209, 10, 637, 3, 638, 5, 638, 10212, 10, 638, 3, 638, 3, 638, 3, 638, 6, 638, 10217, 10, 638, 13, 638, 14, 638, 10218, 3, 638, 5, 638, 10222, 10, 638, 3, 638, 3, 638, 5, 638, 10226, 10, 638, 3, 638, 5, 638, 10229, 10, 638, 3, 639, 3, 639, 3, 639, 3, 639, 3, 639, 5, 639, 10236, 10, 639, 3, 640, 5, 640, 10239, 10, 640, 3, 640, 3, 640, 6, 640, 10243, 10, 640, 13, 640, 14, 640, 10244, 3, 640, 5, 640, 10248, 10, 640, 3, 640, 3, 640, 5, 640, 10252, 10, 640, 3, 640, 5, 640, 10255, 10, 640, 3, 641, 3, 641, 3, 641, 3, 641, 3, 641, 5, 641, 10262, 10, 641, 3, 642, 3, 642, 3, 642, 5, 642, 10267, 10, 642, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 3, 643, 7, 643, 10279, 10, 643, 12, 643, 14, 643, 10282, 11, 643, 3, 643, 3, 643, 3, 643, 3, 643, 5, 643, 10288, 10, 643, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 3, 644, 5, 644, 10299, 10, 644, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 5, 645, 10308, 10, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 5, 645, 10317, 10, 645, 3, 645, 3, 645, 5, 645, 10321, 10, 645, 3, 645, 3, 645, 5, 645, 10325, 10, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 5, 645, 10351, 10, 645, 3, 645, 5, 645, 10354, 10, 645, 3, 645, 5, 645, 10357, 10, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 3, 645, 5, 645, 10367, 10, 645, 3, 645, 3, 645, 5, 645, 10371, 10, 645, 3, 646, 3, 646, 3, 646, 5, 646, 10376, 10, 646, 3, 647, 3, 647, 3, 647, 3, 647, 5, 647, 10382, 10, 647, 3, 648, 3, 648, 3, 648, 5, 648, 10387, 10, 648, 3, 649, 3, 649, 3, 649, 5, 649, 10392, 10, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 5, 649, 10401, 10, 649, 3, 649, 5, 649, 10404, 10, 649, 5, 649, 10406, 10, 649, 3, 649, 3, 649, 5, 649, 10410, 10, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 5, 649, 10417, 10, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 5, 649, 10424, 10, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 5, 649, 10432, 10, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 3, 649, 5, 649, 10447, 10, 649, 3, 650, 3, 650, 3, 650, 5, 650, 10452, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10457, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10463, 10, 650, 3, 650, 5, 650, 10466, 10, 650, 3, 650, 3, 650, 5, 650, 10470, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10480, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10492, 10, 650, 5, 650, 10494, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10501, 10, 650, 3, 650, 3, 650, 5, 650, 10505, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 6, 650, 10512, 10, 650, 13, 650, 14, 650, 10513, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10523, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10537, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10545, 10, 650, 3, 650, 5, 650, 10548, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10557, 10, 650, 3, 650, 3, 650, 7, 650, 10561, 10, 650, 12, 650, 14, 650, 10564, 11, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10573, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10581, 10, 650, 3, 650, 5, 650, 10584, 10, 650, 3, 650, 5, 650, 10587, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10596, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10601, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 7, 650, 10608, 10, 650, 12, 650, 14, 650, 10611, 11, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10616, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10621, 10, 650, 3, 650, 5, 650, 10624, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10629, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10634, 10, 650, 7, 650, 10636, 10, 650, 12, 650, 14, 650, 10639, 11, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10644, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10650, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10659, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10664, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10672, 10, 650, 3, 650, 3, 650, 5, 650, 10676, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10681, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10687, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10694, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10699, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10706, 10, 650, 3, 650, 3, 650, 5, 650, 10710, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10715, 10, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10723, 10, 650, 3, 650, 5, 650, 10726, 10, 650, 3, 650, 5, 650, 10729, 10, 650, 3, 650, 5, 650, 10732, 10, 650, 3, 650, 3, 650, 5, 650, 10736, 10, 650, 3, 650, 3, 650, 3, 650, 5, 650, 10741, 10, 650, 3, 650, 5, 650, 10744, 10, 650, 3, 651, 3, 651, 3, 652, 3, 652, 3, 653, 3, 653, 3, 654, 3, 654, 3, 654, 5, 654, 10755, 10, 654, 3, 654, 3, 654, 5, 654, 10759, 10, 654, 5, 654, 10761, 10, 654, 3, 654, 3, 654, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 3, 655, 5, 655, 10772, 10, 655, 3, 656, 3, 656, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 3, 657, 5, 657, 10783, 10, 657, 3, 658, 3, 658, 3, 658, 3, 658, 3, 658, 7, 658, 10790, 10, 658, 12, 658, 14, 658, 10793, 11, 658, 5, 658, 10795, 10, 658, 3, 659, 3, 659, 5, 659, 10799, 10, 659, 3, 659, 5, 659, 10802, 10, 659, 3, 659, 3, 659, 3, 660, 3, 660, 3, 660, 3, 660, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 3, 661, 5, 661, 10817, 10, 661, 3, 662, 3, 662, 3, 662, 5, 662, 10822, 10, 662, 3, 662, 3, 662, 3, 662, 3, 662, 7, 662, 10828, 10, 662, 12, 662, 14, 662, 10831, 11, 662, 3, 662, 3, 662, 3, 662, 3, 662, 5, 662, 10837, 10, 662, 3, 662, 3, 662, 5, 662, 10841, 10, 662, 3, 663, 3, 663, 3, 663, 5, 663, 10846, 10, 663, 3, 663, 3, 663, 5, 663, 10850, 10, 663, 3, 663, 3, 663, 3, 663, 5, 663, 10855, 10, 663, 7, 663, 10857, 10, 663, 12, 663, 14, 663, 10860, 11, 663, 3, 664, 3, 664, 3, 664, 5, 664, 10865, 10, 664, 3, 664, 5, 664, 10868, 10, 664, 3, 664, 3, 664, 3, 664, 7, 664, 10873, 10, 664, 12, 664, 14, 664, 10876, 11, 664, 3, 664, 3, 664, 3, 665, 3, 665, 3, 665, 3, 665, 3, 665, 5, 665, 10885, 10, 665, 3, 665, 3, 665, 3, 665, 3, 665, 7, 665, 10891, 10, 665, 12, 665, 14, 665, 10894, 11, 665, 3, 665, 5, 665, 10897, 10, 665, 3, 665, 3, 665, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 3, 666, 5, 666, 10907, 10, 666, 3, 666, 5, 666, 10910, 10, 666, 5, 666, 10912, 10, 666, 3, 667, 3, 667, 3, 667, 3, 668, 3, 668, 3, 668, 3, 668, 3, 668, 5, 668, 10922, 10, 668, 5, 668, 10924, 10, 668, 3, 669, 3, 669, 3, 669, 3, 669, 5, 669, 10930, 10, 669, 3, 670, 3, 670, 3, 670, 3, 670, 5, 670, 10936, 10, 670, 5, 670, 10938, 10, 670, 3, 671, 3, 671, 3, 671, 3, 672, 3, 672, 3, 672, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 3, 673, 5, 673, 10952, 10, 673, 5, 673, 10954, 10, 673, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 3, 674, 5, 674, 10964, 10, 674, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 3, 675, 5, 675, 10973, 10, 675, 3, 675, 3, 675, 3, 675, 5, 675, 10978, 10, 675, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 3, 676, 5, 676, 10987, 10, 676, 3, 677, 3, 677, 5, 677, 10991, 10, 677, 3, 677, 3, 677, 5, 677, 10995, 10, 677, 3, 677, 3, 677, 3, 678, 5, 678, 11000, 10, 678, 3, 678, 3, 678, 5, 678, 11004, 10, 678, 3, 678, 5, 678, 11007, 10, 678, 3, 679, 3, 679, 5, 679, 11011, 10, 679, 3, 680, 3, 680, 3, 680, 3, 680, 3, 680, 5, 680, 11018, 10, 680, 3, 681, 3, 681, 5, 681, 11022, 10, 681, 3, 681, 3, 681, 3, 681, 3, 681, 7, 681, 11028, 10, 681, 12, 681, 14, 681, 11031, 11, 681, 3, 682, 3, 682, 5, 682, 11035, 10, 682, 3, 683, 3, 683, 3, 684, 3, 684, 3, 685, 3, 685, 3, 686, 3, 686, 3, 687, 3, 687, 3, 688, 3, 688, 3, 689, 3, 689, 3, 689, 7, 689, 11052, 10, 689, 12, 689, 14, 689, 11055, 11, 689, 3, 689, 3, 689, 5, 689, 11059, 10, 689, 3, 690, 3, 690, 3, 691, 3, 691, 3, 691, 5, 691, 11066, 10, 691, 3, 692, 3, 692, 3, 693, 3, 693, 3, 694, 3, 694, 3, 695, 3, 695, 3, 695, 5, 695, 11077, 10, 695, 3, 696, 3, 696, 3, 696, 7, 696, 11082, 10, 696, 12, 696, 14, 696, 11085, 11, 696, 3, 697, 3, 697, 3, 698, 3, 698, 5, 698, 11091, 10, 698, 3, 699, 3, 699, 5, 699, 11095, 10, 699, 3, 700, 3, 700, 3, 700, 7, 700, 11100, 10, 700, 12, 700, 14, 700, 11103, 11, 700, 3, 700, 3, 700, 5, 700, 11107, 10, 700, 3, 701, 3, 701, 3, 702, 3, 702, 3, 702, 7, 702, 11114, 10, 702, 12, 702, 14, 702, 11117, 11, 702, 3, 703, 3, 703, 3, 703, 7, 703, 11122, 10, 703, 12, 703, 14, 703, 11125, 11, 703, 3, 704, 3, 704, 3, 704, 7, 704, 11130, 10, 704, 12, 704, 14, 704, 11133, 11, 704, 3, 705, 3, 705, 3, 705, 5, 705, 11138, 10, 705, 3, 706, 3, 706, 3, 706, 5, 706, 11143, 10, 706, 3, 707, 3, 707, 3, 707, 5, 707, 11148, 10, 707, 3, 708, 3, 708, 5, 708, 11152, 10, 708, 3, 708, 3, 708, 3, 708, 5, 708, 11157, 10, 708, 3, 708, 5, 708, 11160, 10, 708, 3, 709, 3, 709, 3, 709, 5, 709, 11165, 10, 709, 3, 710, 3, 710, 5, 710, 11169, 10, 710, 3, 711, 3, 711, 5, 711, 11173, 10, 711, 3, 712, 3, 712, 3, 712, 5, 712, 11178, 10, 712, 3, 713, 3, 713, 3, 714, 3, 714, 3, 714, 7, 714, 11185, 10, 714, 12, 714, 14, 714, 11188, 11, 714, 3, 715, 3, 715, 3, 715, 5, 715, 11193, 10, 715, 3, 715, 3, 715, 3, 715, 5, 715, 11198, 10, 715, 3, 715, 3, 715, 5, 715, 11202, 10, 715, 5, 715, 11204, 10, 715, 3, 716, 3, 716, 3, 716, 3, 716, 3, 716, 5, 716, 11211, 10, 716, 3, 716, 3, 716, 5, 716, 11215, 10, 716, 3, 716, 3, 716, 3, 716, 3, 716, 7, 716, 11221, 10, 716, 12, 716, 14, 716, 11224, 11, 716, 5, 716, 11226, 10, 716, 3, 716, 3, 716, 3, 716, 5, 716, 11231, 10, 716, 3, 717, 3, 717, 3, 717, 7, 717, 11236, 10, 717, 12, 717, 14, 717, 11239, 11, 717, 3, 718, 3, 718, 3, 719, 3, 719, 3, 720, 3, 720, 3, 721, 3, 721, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 7, 722, 11254, 10, 722, 12, 722, 14, 722, 11257, 11, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 3, 722, 5, 722, 11273, 10, 722, 3, 723, 3, 723, 3, 723, 7, 723, 11278, 10, 723, 12, 723, 14, 723, 11281, 11, 723, 3, 724, 3, 724, 3, 724, 3, 724, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 3, 725, 5, 725, 11294, 10, 725, 3, 726, 3, 726, 3, 726, 3, 726, 7, 726, 11300, 10, 726, 12, 726, 14, 726, 11303, 11, 726, 5, 726, 11305, 10, 726, 3, 726, 3, 726, 5, 726, 11309, 10, 726, 3, 727, 3, 727, 3, 727, 5, 727, 11314, 10, 727, 3, 727, 3, 727, 3, 727, 5, 727, 11319, 10, 727, 7, 727, 11321, 10, 727, 12, 727, 14, 727, 11324, 11, 727, 5, 727, 11326, 10, 727, 3, 727, 3, 727, 5, 727, 11330, 10, 727, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 5, 728, 11337, 10, 728, 3, 728, 3, 728, 3, 728, 5, 728, 11342, 10, 728, 5, 728, 11344, 10, 728, 5, 728, 11346, 10, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 3, 728, 5, 728, 11356, 10, 728, 3, 728, 3, 728, 3, 728, 5, 728, 11361, 10, 728, 7, 728, 11363, 10, 728, 12, 728, 14, 728, 11366, 11, 728, 5, 728, 11368, 10, 728, 3, 728, 3, 728, 5, 728, 11372, 10, 728, 3, 729, 3, 729, 3, 729, 3, 730, 3, 730, 3, 730, 3, 730, 5, 730, 11381, 10, 730, 3, 730, 3, 730, 3, 731, 3, 731, 5, 731, 11387, 10, 731, 3, 731, 3, 731, 5, 731, 11391, 10, 731, 5, 731, 11393, 10, 731, 3, 732, 3, 732, 5, 732, 11397, 10, 732, 3, 732, 3, 732, 5, 732, 11401, 10, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 5, 732, 11408, 10, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 5, 732, 11416, 10, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 3, 732, 5, 732, 11424, 10, 732, 5, 732, 11426, 10, 732, 3, 733, 3, 733, 3, 733, 5, 733, 11431, 10, 733, 3, 733, 3, 733, 5, 733, 11435, 10, 733, 3, 733, 5, 733, 11438, 10, 733, 3, 733, 3, 733, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 5, 734, 11462, 10, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 5, 734, 11469, 10, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 3, 734, 5, 734, 11502, 10, 734, 3, 735, 3, 735, 3, 735, 5, 735, 11507, 10, 735, 3, 735, 5, 735, 11510, 10, 735, 3, 735, 3, 735, 3, 735, 5, 735, 11515, 10, 735, 5, 735, 11517, 10, 735, 3, 735, 3, 735, 7, 735, 11521, 10, 735, 12, 735, 14, 735, 11524, 11, 735, 3, 736, 3, 736, 3, 736, 7, 736, 11529, 10, 736, 12, 736, 14, 736, 11532, 11, 736, 3, 737, 3, 737, 5, 737, 11536, 10, 737, 3, 737, 3, 737, 3, 737, 7, 737, 11541, 10, 737, 12, 737, 14, 737, 11544, 11, 737, 3, 737, 3, 737, 5, 737, 11548, 10, 737, 3, 737, 5, 737, 11551, 10, 737, 3, 738, 3, 738, 5, 738, 11555, 10, 738, 3, 738, 3, 738, 3, 738, 7, 738, 11560, 10, 738, 12, 738, 14, 738, 11563, 11, 738, 3, 739, 3, 739, 5, 739, 11567, 10, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 3, 739, 5, 739, 11597, 10, 739, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11604, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11619, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11635, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11654, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11671, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11678, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11686, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11699, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11708, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11717, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11726, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11736, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11744, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11754, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11764, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11776, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11792, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11810, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11823, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11838, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11849, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11859, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11870, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11880, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11897, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11903, 10, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 3, 740, 5, 740, 11925, 10, 740, 3, 741, 3, 741, 3, 741, 5, 741, 11930, 10, 741, 3, 741, 3, 741, 3, 741, 3, 741, 5, 741, 11936, 10, 741, 3, 741, 3, 741, 3, 741, 3, 741, 5, 741, 11942, 10, 741, 3, 741, 3, 741, 3, 741, 3, 741, 5, 741, 11948, 10, 741, 3, 741, 3, 741, 3, 741, 5, 741, 11953, 10, 741, 5, 741, 11955, 10, 741, 3, 741, 5, 741, 11958, 10, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 5, 741, 11968, 10, 741, 3, 741, 5, 741, 11971, 10, 741, 5, 741, 11973, 10, 741, 5, 741, 11975, 10, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 3, 741, 5, 741, 11989, 10, 741, 3, 742, 3, 742, 3, 743, 3, 743, 3, 743, 3, 744, 3, 744, 3, 745, 3, 745, 5, 745, 12000, 10, 745, 3, 745, 3, 745, 3, 746, 3, 746, 5, 746, 12006, 10, 746, 3, 747, 3, 747, 3, 747, 3, 747, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 3, 748, 5, 748, 12087, 10, 748, 3, 749, 3, 749, 3, 750, 3, 750, 3, 751, 3, 751, 3, 752, 3, 752, 3, 752, 2, 5, 1240, 1248, 1258, 753, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 738, 740, 742, 744, 746, 748, 750, 752, 754, 756, 758, 760, 762, 764, 766, 768, 770, 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, 792, 794, 796, 798, 800, 802, 804, 806, 808, 810, 812, 814, 816, 818, 820, 822, 824, 826, 828, 830, 832, 834, 836, 838, 840, 842, 844, 846, 848, 850, 852, 854, 856, 858, 860, 862, 864, 866, 868, 870, 872, 874, 876, 878, 880, 882, 884, 886, 888, 890, 892, 894, 896, 898, 900, 902, 904, 906, 908, 910, 912, 914, 916, 918, 920, 922, 924, 926, 928, 930, 932, 934, 936, 938, 940, 942, 944, 946, 948, 950, 952, 954, 956, 958, 960, 962, 964, 966, 968, 970, 972, 974, 976, 978, 980, 982, 984, 986, 988, 990, 992, 994, 996, 998, 1000, 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194, 1196, 1198, 1200, 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1324, 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1342, 1344, 1346, 1348, 1350, 1352, 1354, 1356, 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1380, 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, 1398, 1400, 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1456, 1458, 1460, 1462, 1464, 1466, 1468, 1470, 1472, 1474, 1476, 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1492, 1494, 1496, 1498, 1500, 1502, 2, 177, 4, 2, 63, 63, 697, 697, 4, 2, 34, 34, 1252, 1252, 5, 2, 584, 584, 763, 763, 1346, 1346, 4, 2, 199, 199, 1170, 1170, 5, 2, 135, 135, 1193, 1193, 1552, 1552, 4, 2, 385, 385, 441, 441, 4, 2, 32, 32, 103, 103, 5, 2, 364, 364, 671, 671, 2027, 2027, 5, 2, 905, 905, 1121, 1121, 1201, 1201, 4, 2, 544, 544, 2072, 2072, 4, 2, 135, 135, 1552, 1552, 4, 2, 20, 20, 413, 413, 5, 2, 20, 20, 413, 413, 865, 865, 5, 2, 314, 314, 1149, 1149, 1556, 1556, 4, 2, 803, 803, 1170, 1170, 4, 2, 828, 828, 1578, 1578, 5, 2, 525, 525, 676, 676, 1189, 1189, 5, 2, 220, 220, 1073, 1073, 1443, 1443, 5, 2, 340, 340, 402, 402, 1336, 1336, 4, 2, 126, 126, 2004, 2004, 4, 2, 64, 64, 373, 373, 4, 2, 695, 695, 2105, 2105, 4, 2, 868, 868, 1003, 1003, 4, 2, 496, 496, 569, 569, 4, 2, 353, 353, 1922, 1922, 4, 2, 778, 778, 2008, 2008, 4, 2, 20, 20, 1405, 1405, 4, 2, 1114, 1114, 1127, 1127, 4, 2, 1781, 1781, 2057, 2057, 4, 2, 148, 148, 469, 469, 4, 2, 5, 5, 1508, 1508, 4, 2, 37, 37, 304, 304, 16, 2, 41, 41, 79, 79, 219, 219, 364, 364, 477, 477, 534, 534, 573, 573, 633, 633, 671, 671, 778, 778, 1355, 1355, 1406, 1406, 1492, 1492, 2027, 2027, 4, 2, 25, 25, 362, 362, 4, 2, 425, 425, 1008, 1008, 4, 2, 1044, 1044, 1402, 1402, 4, 2, 1129, 1129, 2127, 2127, 5, 2, 604, 604, 607, 607, 1119, 1119, 4, 2, 356, 356, 615, 615, 4, 2, 1086, 1086, 2072, 2072, 4, 2, 320, 320, 1920, 1920, 5, 2, 615, 615, 1052, 1052, 1922, 1922, 4, 2, 1115, 1115, 1130, 1130, 4, 2, 112, 112, 1542, 1542, 5, 2, 523, 523, 781, 781, 995, 995, 4, 2, 85, 85, 802, 802, 4, 2, 581, 581, 986, 986, 4, 2, 220, 220, 366, 366, 4, 2, 449, 449, 1984, 1984, 4, 2, 73, 73, 1627, 1627, 4, 2, 475, 475, 621, 621, 4, 2, 152, 152, 948, 948, 4, 2, 2121, 2121, 2123, 2123, 5, 2, 226, 226, 513, 513, 544, 544, 4, 2, 771, 771, 805, 805, 4, 2, 1054, 1054, 1446, 1446, 4, 2, 364, 364, 1302, 1302, 4, 2, 353, 353, 544, 544, 4, 2, 98, 98, 1485, 1485, 4, 2, 769, 769, 1912, 1912, 4, 2, 59, 59, 1336, 1336, 4, 2, 596, 596, 793, 793, 4, 2, 2006, 2006, 2219, 2219, 5, 2, 353, 353, 722, 722, 1367, 1367, 5, 2, 353, 353, 722, 722, 1009, 1009, 4, 2, 841, 841, 999, 999, 4, 2, 39, 39, 389, 389, 4, 2, 195, 195, 1568, 1568, 4, 2, 1047, 1047, 1412, 1412, 4, 2, 410, 410, 2031, 2031, 4, 2, 104, 104, 447, 447, 4, 2, 782, 782, 1250, 1250, 5, 2, 92, 92, 1243, 1243, 1323, 1323, 4, 2, 220, 220, 1297, 1297, 4, 2, 1090, 1090, 2108, 2108, 4, 2, 3, 3, 1594, 1594, 4, 2, 1250, 1250, 1544, 1544, 5, 2, 37, 37, 1009, 1009, 1568, 1568, 4, 2, 413, 413, 722, 722, 4, 2, 1060, 1060, 1546, 1546, 4, 2, 775, 775, 2076, 2076, 4, 2, 554, 554, 1233, 1233, 4, 2, 352, 352, 721, 721, 5, 2, 596, 596, 793, 793, 827, 827, 4, 2, 568, 568, 771, 771, 4, 2, 309, 309, 359, 359, 6, 2, 654, 654, 666, 666, 961, 961, 1184, 1184, 4, 2, 353, 353, 2234, 2234, 3, 3, 2243, 2243, 3, 2, 2243, 2243, 3, 2, 1432, 1433, 3, 2, 259, 260, 4, 2, 99, 99, 615, 615, 4, 2, 140, 140, 369, 369, 5, 2, 37, 37, 398, 398, 2004, 2004, 4, 2, 296, 296, 888, 888, 5, 2, 558, 558, 742, 742, 1439, 1439, 4, 2, 1474, 1474, 1935, 1935, 5, 2, 1474, 1474, 1544, 1544, 1935, 1935, 4, 2, 474, 474, 619, 619, 4, 2, 300, 300, 1445, 1445, 4, 2, 610, 610, 722, 722, 4, 2, 37, 37, 2026, 2026, 4, 2, 89, 89, 1499, 1499, 4, 2, 528, 528, 733, 733, 3, 2, 1453, 1454, 4, 2, 528, 528, 908, 908, 4, 2, 37, 37, 528, 528, 4, 2, 1914, 1914, 1928, 1928, 4, 2, 828, 828, 1605, 1605, 4, 2, 755, 757, 759, 759, 3, 2, 2240, 2241, 4, 2, 2228, 2228, 2232, 2232, 3, 2, 2229, 2230, 4, 2, 350, 350, 623, 623, 6, 2, 37, 37, 50, 50, 480, 480, 1545, 1545, 5, 2, 137, 137, 741, 741, 1971, 1971, 4, 2, 37, 37, 398, 398, 4, 2, 166, 166, 2135, 2135, 4, 2, 398, 398, 2004, 2004, 4, 2, 1235, 1237, 1240, 1240, 4, 2, 161, 161, 224, 224, 4, 2, 531, 531, 734, 734, 4, 2, 179, 179, 891, 891, 4, 2, 2137, 2137, 2145, 2145, 4, 2, 453, 453, 975, 975, 4, 2, 464, 464, 881, 881, 4, 2, 265, 265, 405, 405, 4, 2, 594, 594, 1522, 1522, 7, 2, 2189, 2191, 2193, 2198, 2200, 2201, 2203, 2203, 2207, 2210, 3, 2, 2182, 2188, 3, 2, 2176, 2181, 4, 2, 1346, 1346, 1454, 1454, 4, 2, 541, 541, 1292, 1292, 4, 2, 1055, 1055, 1471, 1471, 4, 2, 456, 456, 460, 460, 4, 2, 1176, 1176, 1557, 1557, 4, 2, 220, 220, 1443, 1443, 5, 2, 220, 220, 1009, 1009, 1443, 1443, 4, 2, 1209, 1209, 1608, 1608, 4, 2, 1417, 1417, 1550, 1550, 4, 2, 610, 610, 1418, 1418, 3, 2, 1241, 1242, 4, 2, 331, 331, 2171, 2171, 4, 2, 870, 870, 1482, 1482, 4, 2, 151, 151, 178, 178, 5, 2, 41, 41, 290, 290, 413, 413, 4, 2, 41, 41, 413, 413, 4, 2, 290, 290, 413, 413, 4, 2, 41, 41, 290, 290, 5, 2, 41, 41, 413, 413, 477, 477, 4, 2, 50, 50, 495, 495, 4, 2, 188, 188, 1319, 1319, 6, 2, 41, 41, 219, 219, 413, 413, 1492, 1492, 6, 2, 41, 41, 413, 413, 1492, 1492, 2027, 2027, 5, 2, 364, 364, 413, 413, 671, 671, 8, 2, 41, 41, 364, 364, 413, 413, 671, 671, 1492, 1492, 2027, 2027, 4, 2, 413, 413, 2027, 2027, 5, 2, 41, 41, 413, 413, 573, 573, 5, 2, 41, 41, 413, 413, 1492, 1492, 5, 2, 41, 41, 290, 290, 1423, 1423, 5, 2, 41, 41, 413, 413, 2061, 2061, 12, 2, 41, 41, 95, 95, 219, 219, 364, 364, 413, 413, 671, 671, 778, 778, 1355, 1355, 1492, 1492, 2027, 2027, 7, 2, 41, 41, 290, 290, 413, 413, 799, 799, 2006, 2006, 6, 2, 41, 41, 413, 413, 477, 477, 1999, 1999, 5, 2, 413, 413, 834, 834, 1999, 1999, 4, 2, 43, 43, 79, 79, 4, 2, 378, 378, 1972, 1972, 8, 2, 331, 331, 600, 600, 846, 846, 870, 870, 1482, 1482, 2171, 2171, 3, 2, 2219, 2220, 4, 2, 2214, 2214, 2221, 2221, 221, 2, 8, 8, 10, 11, 13, 13, 15, 15, 18, 19, 28, 28, 31, 31, 47, 48, 55, 55, 57, 58, 60, 60, 68, 68, 70, 70, 88, 88, 91, 91, 93, 94, 100, 101, 105, 105, 108, 108, 125, 125, 142, 142, 156, 158, 162, 162, 168, 168, 189, 190, 193, 193, 200, 201, 203, 203, 222, 222, 228, 229, 237, 239, 242, 244, 263, 264, 270, 270, 272, 273, 291, 291, 294, 295, 299, 299, 302, 302, 323, 323, 325, 325, 327, 328, 332, 332, 338, 338, 348, 348, 358, 358, 362, 363, 374, 374, 380, 380, 384, 384, 386, 386, 391, 391, 401, 401, 419, 420, 425, 425, 430, 430, 436, 436, 440, 440, 442, 442, 455, 455, 463, 463, 465, 465, 479, 479, 491, 491, 497, 497, 503, 503, 508, 509, 511, 512, 514, 514, 516, 516, 520, 520, 522, 522, 532, 532, 549, 549, 562, 562, 567, 567, 614, 614, 618, 618, 634, 634, 653, 653, 662, 662, 664, 664, 667, 667, 685, 685, 705, 720, 728, 728, 730, 730, 736, 736, 752, 752, 761, 761, 777, 777, 786, 786, 803, 803, 807, 810, 821, 821, 829, 829, 836, 836, 857, 857, 861, 861, 863, 863, 867, 867, 872, 872, 877, 877, 896, 896, 938, 939, 943, 943, 945, 945, 952, 952, 954, 954, 961, 961, 966, 967, 971, 971, 984, 984, 990, 992, 1008, 1008, 1014, 1014, 1025, 1027, 1030, 1030, 1032, 1033, 1038, 1038, 1043, 1043, 1046, 1046, 1053, 1053, 1061, 1061, 1078, 1078, 1085, 1085, 1087, 1089, 1096, 1096, 1110, 1110, 1116, 1116, 1123, 1123, 1125, 1126, 1146, 1148, 1157, 1162, 1167, 1167, 1203, 1203, 1205, 1206, 1221, 1222, 1224, 1224, 1226, 1226, 1244, 1244, 1247, 1248, 1267, 1267, 1270, 1274, 1281, 1281, 1283, 1284, 1287, 1288, 1296, 1296, 1303, 1303, 1305, 1305, 1307, 1308, 1312, 1312, 1324, 1325, 1331, 1331, 1357, 1357, 1369, 1369, 1401, 1401, 1419, 1419, 1441, 1441, 1447, 1447, 1459, 1459, 1464, 1464, 1476, 1476, 1479, 1479, 1483, 1483, 1503, 1503, 1505, 1506, 1520, 1521, 1548, 1549, 1561, 1561, 1565, 1565, 1567, 1567, 1576, 1577, 1598, 1598, 1611, 1612, 1620, 1620, 1633, 1633, 1635, 1635, 1641, 1641, 1659, 1659, 1664, 1665, 1669, 1670, 1692, 1692, 1704, 1704, 1707, 1711, 1736, 1736, 1764, 1764, 1775, 1775, 1906, 1908, 1916, 1916, 1925, 1925, 1931, 1932, 1949, 1949, 1977, 1977, 1985, 1985, 1993, 1993, 1998, 1998, 2009, 2009, 2016, 2016, 2021, 2021, 2035, 2035, 2039, 2039, 2043, 2043, 2050, 2050, 2056, 2056, 2062, 2062, 2064, 2064, 2066, 2071, 2074, 2074, 2087, 2090, 2102, 2102, 2104, 2104, 2111, 2112, 2122, 2122, 2126, 2126, 2168, 2168, 2170, 2170, 2174, 2174, 2218, 2218, 316, 2, 3, 7, 9, 9, 12, 12, 14, 14, 16, 17, 20, 27, 29, 30, 32, 32, 36, 36, 38, 40, 42, 44, 46, 46, 49, 49, 51, 54, 56, 56, 59, 59, 61, 62, 65, 67, 69, 69, 71, 78, 80, 85, 87, 87, 89, 89, 92, 92, 95, 95, 97, 99, 102, 104, 106, 107, 110, 119, 121, 124, 126, 135, 137, 141, 143, 147, 149, 155, 159, 160, 163, 167, 169, 174, 176, 177, 179, 181, 183, 188, 191, 191, 194, 198, 202, 202, 204, 221, 223, 227, 230, 233, 235, 236, 240, 241, 245, 252, 254, 260, 262, 262, 265, 269, 271, 271, 274, 289, 292, 293, 296, 298, 300, 301, 303, 313, 315, 321, 324, 324, 326, 326, 330, 331, 333, 337, 339, 344, 346, 347, 349, 352, 354, 357, 359, 361, 365, 372, 375, 376, 378, 379, 381, 383, 385, 385, 387, 390, 392, 394, 396, 397, 399, 400, 402, 412, 414, 414, 416, 417, 421, 424, 426, 429, 431, 433, 437, 439, 441, 441, 443, 446, 448, 454, 457, 462, 464, 464, 466, 469, 472, 475, 477, 478, 481, 481, 483, 490, 492, 496, 498, 502, 504, 507, 510, 510, 513, 513, 515, 515, 517, 519, 521, 521, 523, 531, 533, 535, 537, 542, 544, 547, 550, 555, 557, 561, 563, 566, 568, 571, 574, 574, 576, 586, 588, 602, 604, 613, 615, 617, 619, 632, 635, 649, 651, 652, 655, 661, 663, 663, 665, 665, 668, 670, 672, 683, 686, 689, 691, 692, 694, 696, 698, 704, 721, 727, 729, 729, 732, 735, 737, 751, 753, 758, 760, 760, 762, 776, 779, 785, 787, 789, 792, 802, 804, 806, 811, 820, 822, 828, 830, 835, 837, 843, 845, 856, 858, 860, 864, 866, 868, 871, 873, 876, 878, 888, 890, 895, 897, 937, 940, 942, 944, 944, 946, 951, 953, 953, 956, 960, 962, 965, 968, 970, 972, 983, 985, 989, 993, 1007, 1009, 1013, 1015, 1024, 1028, 1029, 1031, 1031, 1034, 1037, 1039, 1042, 1044, 1045, 1047, 1052, 1054, 1060, 1062, 1074, 1076, 1077, 1079, 1084, 1086, 1086, 1091, 1095, 1097, 1098, 1100, 1100, 1102, 1109, 1111, 1115, 1118, 1122, 1124, 1124, 1127, 1127, 1129, 1129, 1131, 1142, 1144, 1145, 1150, 1156, 1163, 1166, 1168, 1169, 1171, 1173, 1175, 1175, 1177, 1183, 1185, 1188, 1190, 1194, 1196, 1197, 1199, 1202, 1204, 1204, 1207, 1220, 1223, 1223, 1225, 1225, 1227, 1228, 1230, 1234, 1238, 1239, 1243, 1243, 1245, 1246, 1249, 1251, 1254, 1260, 1262, 1266, 1268, 1269, 1277, 1280, 1282, 1282, 1285, 1286, 1290, 1295, 1297, 1302, 1304, 1304, 1306, 1306, 1310, 1311, 1313, 1323, 1327, 1330, 1332, 1342, 1344, 1348, 1350, 1356, 1358, 1360, 1362, 1368, 1370, 1399, 1402, 1405, 1407, 1416, 1418, 1418, 1420, 1423, 1425, 1426, 1428, 1435, 1437, 1440, 1442, 1446, 1448, 1458, 1460, 1463, 1465, 1475, 1477, 1478, 1480, 1482, 1484, 1491, 1494, 1499, 1501, 1501, 1504, 1504, 1507, 1511, 1513, 1518, 1522, 1529, 1532, 1536, 1538, 1542, 1544, 1547, 1550, 1555, 1558, 1560, 1562, 1564, 1566, 1566, 1568, 1570, 1572, 1575, 1578, 1597, 1599, 1610, 1613, 1617, 1619, 1619, 1621, 1628, 1630, 1632, 1634, 1634, 1636, 1640, 1642, 1658, 1660, 1663, 1666, 1668, 1671, 1691, 1693, 1703, 1705, 1706, 1712, 1735, 1737, 1763, 1765, 1774, 1776, 1905, 1909, 1915, 1917, 1924, 1926, 1930, 1933, 1933, 1935, 1935, 1938, 1939, 1941, 1948, 1950, 1965, 1967, 1976, 1978, 1979, 1981, 1984, 1986, 1992, 1994, 1997, 1999, 2002, 2005, 2008, 2010, 2015, 2017, 2020, 2022, 2026, 2028, 2034, 2036, 2038, 2040, 2042, 2044, 2049, 2051, 2055, 2057, 2061, 2063, 2063, 2065, 2065, 2072, 2073, 2076, 2076, 2080, 2086, 2091, 2100, 2103, 2103, 2105, 2109, 2113, 2115, 2118, 2121, 2124, 2125, 2127, 2128, 2130, 2132, 2134, 2145, 2147, 2167, 2171, 2172, 2175, 2190, 2193, 2200, 2202, 2208, 2210, 2213, 5, 2, 186, 186, 2192, 2192, 2204, 2206, 7, 2, 283, 283, 2189, 2189, 2199, 2199, 2202, 2202, 2207, 2207, 2, 13899, 2, 1504, 3, 2, 2, 2, 4, 1516, 3, 2, 2, 2, 6, 1577, 3, 2, 2, 2, 8, 1579, 3, 2, 2, 2, 10, 1584, 3, 2, 2, 2, 12, 1603, 3, 2, 2, 2, 14, 1655, 3, 2, 2, 2, 16, 1659, 3, 2, 2, 2, 18, 1673, 3, 2, 2, 2, 20, 1677, 3, 2, 2, 2, 22, 1689, 3, 2, 2, 2, 24, 1694, 3, 2, 2, 2, 26, 1707, 3, 2, 2, 2, 28, 1729, 3, 2, 2, 2, 30, 1757, 3, 2, 2, 2, 32, 1795, 3, 2, 2, 2, 34, 1797, 3, 2, 2, 2, 36, 1814, 3, 2, 2, 2, 38, 1851, 3, 2, 2, 2, 40, 1853, 3, 2, 2, 2, 42, 1858, 3, 2, 2, 2, 44, 1877, 3, 2, 2, 2, 46, 1927, 3, 2, 2, 2, 48, 1956, 3, 2, 2, 2, 50, 1993, 3, 2, 2, 2, 52, 1998, 3, 2, 2, 2, 54, 2023, 3, 2, 2, 2, 56, 2047, 3, 2, 2, 2, 58, 2056, 3, 2, 2, 2, 60, 2065, 3, 2, 2, 2, 62, 2074, 3, 2, 2, 2, 64, 2078, 3, 2, 2, 2, 66, 2083, 3, 2, 2, 2, 68, 2107, 3, 2, 2, 2, 70, 2109, 3, 2, 2, 2, 72, 2113, 3, 2, 2, 2, 74, 2162, 3, 2, 2, 2, 76, 2190, 3, 2, 2, 2, 78, 2192, 3, 2, 2, 2, 80, 2206, 3, 2, 2, 2, 82, 2211, 3, 2, 2, 2, 84, 2216, 3, 2, 2, 2, 86, 2222, 3, 2, 2, 2, 88, 2225, 3, 2, 2, 2, 90, 2236, 3, 2, 2, 2, 92, 2252, 3, 2, 2, 2, 94, 2269, 3, 2, 2, 2, 96, 2286, 3, 2, 2, 2, 98, 2294, 3, 2, 2, 2, 100, 2299, 3, 2, 2, 2, 102, 2315, 3, 2, 2, 2, 104, 2319, 3, 2, 2, 2, 106, 2343, 3, 2, 2, 2, 108, 2346, 3, 2, 2, 2, 110, 2352, 3, 2, 2, 2, 112, 2364, 3, 2, 2, 2, 114, 2373, 3, 2, 2, 2, 116, 2401, 3, 2, 2, 2, 118, 2407, 3, 2, 2, 2, 120, 2410, 3, 2, 2, 2, 122, 2417, 3, 2, 2, 2, 124, 2425, 3, 2, 2, 2, 126, 2438, 3, 2, 2, 2, 128, 2440, 3, 2, 2, 2, 130, 2444, 3, 2, 2, 2, 132, 2450, 3, 2, 2, 2, 134, 2475, 3, 2, 2, 2, 136, 2506, 3, 2, 2, 2, 138, 2551, 3, 2, 2, 2, 140, 2561, 3, 2, 2, 2, 142, 2563, 3, 2, 2, 2, 144, 2568, 3, 2, 2, 2, 146, 2582, 3, 2, 2, 2, 148, 2584, 3, 2, 2, 2, 150, 2589, 3, 2, 2, 2, 152, 2593, 3, 2, 2, 2, 154, 2631, 3, 2, 2, 2, 156, 2647, 3, 2, 2, 2, 158, 2680, 3, 2, 2, 2, 160, 2715, 3, 2, 2, 2, 162, 2719, 3, 2, 2, 2, 164, 2734, 3, 2, 2, 2, 166, 2736, 3, 2, 2, 2, 168, 2739, 3, 2, 2, 2, 170, 2744, 3, 2, 2, 2, 172, 2754, 3, 2, 2, 2, 174, 2787, 3, 2, 2, 2, 176, 2791, 3, 2, 2, 2, 178, 2819, 3, 2, 2, 2, 180, 2821, 3, 2, 2, 2, 182, 2825, 3, 2, 2, 2, 184, 2842, 3, 2, 2, 2, 186, 2850, 3, 2, 2, 2, 188, 2854, 3, 2, 2, 2, 190, 2877, 3, 2, 2, 2, 192, 2923, 3, 2, 2, 2, 194, 2938, 3, 2, 2, 2, 196, 2940, 3, 2, 2, 2, 198, 2954, 3, 2, 2, 2, 200, 2986, 3, 2, 2, 2, 202, 2995, 3, 2, 2, 2, 204, 3011, 3, 2, 2, 2, 206, 3046, 3, 2, 2, 2, 208, 3066, 3, 2, 2, 2, 210, 3073, 3, 2, 2, 2, 212, 3084, 3, 2, 2, 2, 214, 3095, 3, 2, 2, 2, 216, 3133, 3, 2, 2, 2, 218, 3135, 3, 2, 2, 2, 220, 3162, 3, 2, 2, 2, 222, 3175, 3, 2, 2, 2, 224, 3214, 3, 2, 2, 2, 226, 3216, 3, 2, 2, 2, 228, 3230, 3, 2, 2, 2, 230, 3235, 3, 2, 2, 2, 232, 3239, 3, 2, 2, 2, 234, 3254, 3, 2, 2, 2, 236, 3279, 3, 2, 2, 2, 238, 3281, 3, 2, 2, 2, 240, 3283, 3, 2, 2, 2, 242, 3285, 3, 2, 2, 2, 244, 3319, 3, 2, 2, 2, 246, 3321, 3, 2, 2, 2, 248, 3338, 3, 2, 2, 2, 250, 3353, 3, 2, 2, 2, 252, 3358, 3, 2, 2, 2, 254, 3383, 3, 2, 2, 2, 256, 3385, 3, 2, 2, 2, 258, 3395, 3, 2, 2, 2, 260, 3399, 3, 2, 2, 2, 262, 3425, 3, 2, 2, 2, 264, 3445, 3, 2, 2, 2, 266, 3453, 3, 2, 2, 2, 268, 3455, 3, 2, 2, 2, 270, 3457, 3, 2, 2, 2, 272, 3459, 3, 2, 2, 2, 274, 3508, 3, 2, 2, 2, 276, 3510, 3, 2, 2, 2, 278, 3515, 3, 2, 2, 2, 280, 3519, 3, 2, 2, 2, 282, 3525, 3, 2, 2, 2, 284, 3529, 3, 2, 2, 2, 286, 3537, 3, 2, 2, 2, 288, 3563, 3, 2, 2, 2, 290, 3565, 3, 2, 2, 2, 292, 3571, 3, 2, 2, 2, 294, 3574, 3, 2, 2, 2, 296, 3577, 3, 2, 2, 2, 298, 3580, 3, 2, 2, 2, 300, 3634, 3, 2, 2, 2, 302, 3636, 3, 2, 2, 2, 304, 3647, 3, 2, 2, 2, 306, 3655, 3, 2, 2, 2, 308, 3666, 3, 2, 2, 2, 310, 3681, 3, 2, 2, 2, 312, 3737, 3, 2, 2, 2, 314, 3768, 3, 2, 2, 2, 316, 3770, 3, 2, 2, 2, 318, 3772, 3, 2, 2, 2, 320, 3776, 3, 2, 2, 2, 322, 3778, 3, 2, 2, 2, 324, 3780, 3, 2, 2, 2, 326, 3792, 3, 2, 2, 2, 328, 3853, 3, 2, 2, 2, 330, 3868, 3, 2, 2, 2, 332, 3870, 3, 2, 2, 2, 334, 3875, 3, 2, 2, 2, 336, 3877, 3, 2, 2, 2, 338, 3887, 3, 2, 2, 2, 340, 3889, 3, 2, 2, 2, 342, 3891, 3, 2, 2, 2, 344, 3893, 3, 2, 2, 2, 346, 3897, 3, 2, 2, 2, 348, 3899, 3, 2, 2, 2, 350, 3905, 3, 2, 2, 2, 352, 3954, 3, 2, 2, 2, 354, 3956, 3, 2, 2, 2, 356, 3985, 3, 2, 2, 2, 358, 3989, 3, 2, 2, 2, 360, 4030, 3, 2, 2, 2, 362, 4032, 3, 2, 2, 2, 364, 4041, 3, 2, 2, 2, 366, 4052, 3, 2, 2, 2, 368, 4056, 3, 2, 2, 2, 370, 4058, 3, 2, 2, 2, 372, 4076, 3, 2, 2, 2, 374, 4083, 3, 2, 2, 2, 376, 4090, 3, 2, 2, 2, 378, 4164, 3, 2, 2, 2, 380, 4166, 3, 2, 2, 2, 382, 4171, 3, 2, 2, 2, 384, 4177, 3, 2, 2, 2, 386, 4232, 3, 2, 2, 2, 388, 4236, 3, 2, 2, 2, 390, 4247, 3, 2, 2, 2, 392, 4249, 3, 2, 2, 2, 394, 4251, 3, 2, 2, 2, 396, 4273, 3, 2, 2, 2, 398, 4276, 3, 2, 2, 2, 400, 4279, 3, 2, 2, 2, 402, 4283, 3, 2, 2, 2, 404, 4288, 3, 2, 2, 2, 406, 4292, 3, 2, 2, 2, 408, 4331, 3, 2, 2, 2, 410, 4334, 3, 2, 2, 2, 412, 4363, 3, 2, 2, 2, 414, 4365, 3, 2, 2, 2, 416, 4385, 3, 2, 2, 2, 418, 4429, 3, 2, 2, 2, 420, 4458, 3, 2, 2, 2, 422, 4495, 3, 2, 2, 2, 424, 4499, 3, 2, 2, 2, 426, 4547, 3, 2, 2, 2, 428, 4551, 3, 2, 2, 2, 430, 4636, 3, 2, 2, 2, 432, 4644, 3, 2, 2, 2, 434, 4646, 3, 2, 2, 2, 436, 4652, 3, 2, 2, 2, 438, 4663, 3, 2, 2, 2, 440, 4665, 3, 2, 2, 2, 442, 4668, 3, 2, 2, 2, 444, 4670, 3, 2, 2, 2, 446, 4681, 3, 2, 2, 2, 448, 4706, 3, 2, 2, 2, 450, 4709, 3, 2, 2, 2, 452, 4711, 3, 2, 2, 2, 454, 4722, 3, 2, 2, 2, 456, 4727, 3, 2, 2, 2, 458, 4739, 3, 2, 2, 2, 460, 4751, 3, 2, 2, 2, 462, 4754, 3, 2, 2, 2, 464, 4760, 3, 2, 2, 2, 466, 4767, 3, 2, 2, 2, 468, 4791, 3, 2, 2, 2, 470, 4804, 3, 2, 2, 2, 472, 4816, 3, 2, 2, 2, 474, 4821, 3, 2, 2, 2, 476, 4829, 3, 2, 2, 2, 478, 4831, 3, 2, 2, 2, 480, 4884, 3, 2, 2, 2, 482, 4886, 3, 2, 2, 2, 484, 4917, 3, 2, 2, 2, 486, 4919, 3, 2, 2, 2, 488, 4929, 3, 2, 2, 2, 490, 4956, 3, 2, 2, 2, 492, 4961, 3, 2, 2, 2, 494, 4966, 3, 2, 2, 2, 496, 5004, 3, 2, 2, 2, 498, 5006, 3, 2, 2, 2, 500, 5008, 3, 2, 2, 2, 502, 5010, 3, 2, 2, 2, 504, 5012, 3, 2, 2, 2, 506, 5074, 3, 2, 2, 2, 508, 5078, 3, 2, 2, 2, 510, 5083, 3, 2, 2, 2, 512, 5187, 3, 2, 2, 2, 514, 5189, 3, 2, 2, 2, 516, 5211, 3, 2, 2, 2, 518, 5213, 3, 2, 2, 2, 520, 5267, 3, 2, 2, 2, 522, 5285, 3, 2, 2, 2, 524, 5353, 3, 2, 2, 2, 526, 5375, 3, 2, 2, 2, 528, 5417, 3, 2, 2, 2, 530, 5421, 3, 2, 2, 2, 532, 5435, 3, 2, 2, 2, 534, 5503, 3, 2, 2, 2, 536, 5517, 3, 2, 2, 2, 538, 5548, 3, 2, 2, 2, 540, 5551, 3, 2, 2, 2, 542, 5569, 3, 2, 2, 2, 544, 5620, 3, 2, 2, 2, 546, 5630, 3, 2, 2, 2, 548, 5632, 3, 2, 2, 2, 550, 5688, 3, 2, 2, 2, 552, 5716, 3, 2, 2, 2, 554, 5733, 3, 2, 2, 2, 556, 5756, 3, 2, 2, 2, 558, 5793, 3, 2, 2, 2, 560, 5795, 3, 2, 2, 2, 562, 5845, 3, 2, 2, 2, 564, 5867, 3, 2, 2, 2, 566, 5887, 3, 2, 2, 2, 568, 5906, 3, 2, 2, 2, 570, 5912, 3, 2, 2, 2, 572, 5927, 3, 2, 2, 2, 574, 5967, 3, 2, 2, 2, 576, 6007, 3, 2, 2, 2, 578, 6041, 3, 2, 2, 2, 580, 6043, 3, 2, 2, 2, 582, 6059, 3, 2, 2, 2, 584, 6068, 3, 2, 2, 2, 586, 6101, 3, 2, 2, 2, 588, 6103, 3, 2, 2, 2, 590, 6111, 3, 2, 2, 2, 592, 6119, 3, 2, 2, 2, 594, 6126, 3, 2, 2, 2, 596, 6143, 3, 2, 2, 2, 598, 6157, 3, 2, 2, 2, 600, 6173, 3, 2, 2, 2, 602, 6213, 3, 2, 2, 2, 604, 6217, 3, 2, 2, 2, 606, 6241, 3, 2, 2, 2, 608, 6278, 3, 2, 2, 2, 610, 6295, 3, 2, 2, 2, 612, 6304, 3, 2, 2, 2, 614, 6308, 3, 2, 2, 2, 616, 6341, 3, 2, 2, 2, 618, 6349, 3, 2, 2, 2, 620, 6354, 3, 2, 2, 2, 622, 6361, 3, 2, 2, 2, 624, 6372, 3, 2, 2, 2, 626, 6374, 3, 2, 2, 2, 628, 6416, 3, 2, 2, 2, 630, 6418, 3, 2, 2, 2, 632, 6441, 3, 2, 2, 2, 634, 6461, 3, 2, 2, 2, 636, 6477, 3, 2, 2, 2, 638, 6483, 3, 2, 2, 2, 640, 6492, 3, 2, 2, 2, 642, 6496, 3, 2, 2, 2, 644, 6505, 3, 2, 2, 2, 646, 6513, 3, 2, 2, 2, 648, 6522, 3, 2, 2, 2, 650, 6529, 3, 2, 2, 2, 652, 6531, 3, 2, 2, 2, 654, 6575, 3, 2, 2, 2, 656, 6577, 3, 2, 2, 2, 658, 6584, 3, 2, 2, 2, 660, 6602, 3, 2, 2, 2, 662, 6604, 3, 2, 2, 2, 664, 6606, 3, 2, 2, 2, 666, 6643, 3, 2, 2, 2, 668, 6645, 3, 2, 2, 2, 670, 6647, 3, 2, 2, 2, 672, 6654, 3, 2, 2, 2, 674, 6656, 3, 2, 2, 2, 676, 6658, 3, 2, 2, 2, 678, 6691, 3, 2, 2, 2, 680, 6733, 3, 2, 2, 2, 682, 6735, 3, 2, 2, 2, 684, 6766, 3, 2, 2, 2, 686, 6803, 3, 2, 2, 2, 688, 6821, 3, 2, 2, 2, 690, 6823, 3, 2, 2, 2, 692, 6843, 3, 2, 2, 2, 694, 6871, 3, 2, 2, 2, 696, 6942, 3, 2, 2, 2, 698, 6944, 3, 2, 2, 2, 700, 6983, 3, 2, 2, 2, 702, 6992, 3, 2, 2, 2, 704, 7016, 3, 2, 2, 2, 706, 7023, 3, 2, 2, 2, 708, 7031, 3, 2, 2, 2, 710, 7033, 3, 2, 2, 2, 712, 7052, 3, 2, 2, 2, 714, 7075, 3, 2, 2, 2, 716, 7077, 3, 2, 2, 2, 718, 7095, 3, 2, 2, 2, 720, 7100, 3, 2, 2, 2, 722, 7110, 3, 2, 2, 2, 724, 7117, 3, 2, 2, 2, 726, 7125, 3, 2, 2, 2, 728, 7158, 3, 2, 2, 2, 730, 7181, 3, 2, 2, 2, 732, 7186, 3, 2, 2, 2, 734, 7237, 3, 2, 2, 2, 736, 7239, 3, 2, 2, 2, 738, 7244, 3, 2, 2, 2, 740, 7248, 3, 2, 2, 2, 742, 7251, 3, 2, 2, 2, 744, 7253, 3, 2, 2, 2, 746, 7255, 3, 2, 2, 2, 748, 7257, 3, 2, 2, 2, 750, 7259, 3, 2, 2, 2, 752, 7261, 3, 2, 2, 2, 754, 7298, 3, 2, 2, 2, 756, 7317, 3, 2, 2, 2, 758, 7328, 3, 2, 2, 2, 760, 7330, 3, 2, 2, 2, 762, 7346, 3, 2, 2, 2, 764, 7348, 3, 2, 2, 2, 766, 7371, 3, 2, 2, 2, 768, 7406, 3, 2, 2, 2, 770, 7428, 3, 2, 2, 2, 772, 7432, 3, 2, 2, 2, 774, 7434, 3, 2, 2, 2, 776, 7438, 3, 2, 2, 2, 778, 7466, 3, 2, 2, 2, 780, 7474, 3, 2, 2, 2, 782, 7479, 3, 2, 2, 2, 784, 7483, 3, 2, 2, 2, 786, 7493, 3, 2, 2, 2, 788, 7495, 3, 2, 2, 2, 790, 7503, 3, 2, 2, 2, 792, 7505, 3, 2, 2, 2, 794, 7511, 3, 2, 2, 2, 796, 7513, 3, 2, 2, 2, 798, 7518, 3, 2, 2, 2, 800, 7584, 3, 2, 2, 2, 802, 7586, 3, 2, 2, 2, 804, 7602, 3, 2, 2, 2, 806, 7624, 3, 2, 2, 2, 808, 7636, 3, 2, 2, 2, 810, 7663, 3, 2, 2, 2, 812, 7670, 3, 2, 2, 2, 814, 7679, 3, 2, 2, 2, 816, 7695, 3, 2, 2, 2, 818, 7697, 3, 2, 2, 2, 820, 7706, 3, 2, 2, 2, 822, 7708, 3, 2, 2, 2, 824, 7747, 3, 2, 2, 2, 826, 7780, 3, 2, 2, 2, 828, 7809, 3, 2, 2, 2, 830, 7813, 3, 2, 2, 2, 832, 7820, 3, 2, 2, 2, 834, 7822, 3, 2, 2, 2, 836, 7832, 3, 2, 2, 2, 838, 7848, 3, 2, 2, 2, 840, 7853, 3, 2, 2, 2, 842, 7869, 3, 2, 2, 2, 844, 7871, 3, 2, 2, 2, 846, 7883, 3, 2, 2, 2, 848, 7885, 3, 2, 2, 2, 850, 7887, 3, 2, 2, 2, 852, 7929, 3, 2, 2, 2, 854, 7945, 3, 2, 2, 2, 856, 7958, 3, 2, 2, 2, 858, 7961, 3, 2, 2, 2, 860, 7998, 3, 2, 2, 2, 862, 8019, 3, 2, 2, 2, 864, 8021, 3, 2, 2, 2, 866, 8023, 3, 2, 2, 2, 868, 8029, 3, 2, 2, 2, 870, 8031, 3, 2, 2, 2, 872, 8091, 3, 2, 2, 2, 874, 8093, 3, 2, 2, 2, 876, 8095, 3, 2, 2, 2, 878, 8097, 3, 2, 2, 2, 880, 8127, 3, 2, 2, 2, 882, 8129, 3, 2, 2, 2, 884, 8149, 3, 2, 2, 2, 886, 8151, 3, 2, 2, 2, 888, 8158, 3, 2, 2, 2, 890, 8162, 3, 2, 2, 2, 892, 8166, 3, 2, 2, 2, 894, 8170, 3, 2, 2, 2, 896, 8177, 3, 2, 2, 2, 898, 8181, 3, 2, 2, 2, 900, 8188, 3, 2, 2, 2, 902, 8193, 3, 2, 2, 2, 904, 8201, 3, 2, 2, 2, 906, 8216, 3, 2, 2, 2, 908, 8219, 3, 2, 2, 2, 910, 8224, 3, 2, 2, 2, 912, 8228, 3, 2, 2, 2, 914, 8245, 3, 2, 2, 2, 916, 8251, 3, 2, 2, 2, 918, 8261, 3, 2, 2, 2, 920, 8274, 3, 2, 2, 2, 922, 8278, 3, 2, 2, 2, 924, 8292, 3, 2, 2, 2, 926, 8294, 3, 2, 2, 2, 928, 8308, 3, 2, 2, 2, 930, 8325, 3, 2, 2, 2, 932, 8350, 3, 2, 2, 2, 934, 8360, 3, 2, 2, 2, 936, 8364, 3, 2, 2, 2, 938, 8399, 3, 2, 2, 2, 940, 8411, 3, 2, 2, 2, 942, 8422, 3, 2, 2, 2, 944, 8428, 3, 2, 2, 2, 946, 8439, 3, 2, 2, 2, 948, 8451, 3, 2, 2, 2, 950, 8459, 3, 2, 2, 2, 952, 8474, 3, 2, 2, 2, 954, 8478, 3, 2, 2, 2, 956, 8501, 3, 2, 2, 2, 958, 8504, 3, 2, 2, 2, 960, 8510, 3, 2, 2, 2, 962, 8515, 3, 2, 2, 2, 964, 8523, 3, 2, 2, 2, 966, 8531, 3, 2, 2, 2, 968, 8534, 3, 2, 2, 2, 970, 8550, 3, 2, 2, 2, 972, 8555, 3, 2, 2, 2, 974, 8559, 3, 2, 2, 2, 976, 8599, 3, 2, 2, 2, 978, 8601, 3, 2, 2, 2, 980, 8623, 3, 2, 2, 2, 982, 8625, 3, 2, 2, 2, 984, 8630, 3, 2, 2, 2, 986, 8632, 3, 2, 2, 2, 988, 8634, 3, 2, 2, 2, 990, 8636, 3, 2, 2, 2, 992, 8640, 3, 2, 2, 2, 994, 8645, 3, 2, 2, 2, 996, 8651, 3, 2, 2, 2, 998, 8655, 3, 2, 2, 2, 1000, 8661, 3, 2, 2, 2, 1002, 8675, 3, 2, 2, 2, 1004, 8695, 3, 2, 2, 2, 1006, 8700, 3, 2, 2, 2, 1008, 8713, 3, 2, 2, 2, 1010, 8715, 3, 2, 2, 2, 1012, 8729, 3, 2, 2, 2, 1014, 8739, 3, 2, 2, 2, 1016, 8745, 3, 2, 2, 2, 1018, 8747, 3, 2, 2, 2, 1020, 8750, 3, 2, 2, 2, 1022, 8759, 3, 2, 2, 2, 1024, 8783, 3, 2, 2, 2, 1026, 8798, 3, 2, 2, 2, 1028, 8800, 3, 2, 2, 2, 1030, 8821, 3, 2, 2, 2, 1032, 8836, 3, 2, 2, 2, 1034, 8858, 3, 2, 2, 2, 1036, 8865, 3, 2, 2, 2, 1038, 8878, 3, 2, 2, 2, 1040, 8881, 3, 2, 2, 2, 1042, 8902, 3, 2, 2, 2, 1044, 8906, 3, 2, 2, 2, 1046, 8916, 3, 2, 2, 2, 1048, 8925, 3, 2, 2, 2, 1050, 8942, 3, 2, 2, 2, 1052, 8985, 3, 2, 2, 2, 1054, 8994, 3, 2, 2, 2, 1056, 9006, 3, 2, 2, 2, 1058, 9014, 3, 2, 2, 2, 1060, 9018, 3, 2, 2, 2, 1062, 9051, 3, 2, 2, 2, 1064, 9053, 3, 2, 2, 2, 1066, 9064, 3, 2, 2, 2, 1068, 9066, 3, 2, 2, 2, 1070, 9074, 3, 2, 2, 2, 1072, 9085, 3, 2, 2, 2, 1074, 9118, 3, 2, 2, 2, 1076, 9121, 3, 2, 2, 2, 1078, 9142, 3, 2, 2, 2, 1080, 9145, 3, 2, 2, 2, 1082, 9148, 3, 2, 2, 2, 1084, 9152, 3, 2, 2, 2, 1086, 9171, 3, 2, 2, 2, 1088, 9173, 3, 2, 2, 2, 1090, 9190, 3, 2, 2, 2, 1092, 9197, 3, 2, 2, 2, 1094, 9202, 3, 2, 2, 2, 1096, 9225, 3, 2, 2, 2, 1098, 9235, 3, 2, 2, 2, 1100, 9237, 3, 2, 2, 2, 1102, 9251, 3, 2, 2, 2, 1104, 9265, 3, 2, 2, 2, 1106, 9301, 3, 2, 2, 2, 1108, 9303, 3, 2, 2, 2, 1110, 9333, 3, 2, 2, 2, 1112, 9338, 3, 2, 2, 2, 1114, 9340, 3, 2, 2, 2, 1116, 9352, 3, 2, 2, 2, 1118, 9372, 3, 2, 2, 2, 1120, 9374, 3, 2, 2, 2, 1122, 9377, 3, 2, 2, 2, 1124, 9403, 3, 2, 2, 2, 1126, 9405, 3, 2, 2, 2, 1128, 9409, 3, 2, 2, 2, 1130, 9424, 3, 2, 2, 2, 1132, 9436, 3, 2, 2, 2, 1134, 9444, 3, 2, 2, 2, 1136, 9448, 3, 2, 2, 2, 1138, 9461, 3, 2, 2, 2, 1140, 9467, 3, 2, 2, 2, 1142, 9482, 3, 2, 2, 2, 1144, 9502, 3, 2, 2, 2, 1146, 9511, 3, 2, 2, 2, 1148, 9513, 3, 2, 2, 2, 1150, 9520, 3, 2, 2, 2, 1152, 9525, 3, 2, 2, 2, 1154, 9538, 3, 2, 2, 2, 1156, 9546, 3, 2, 2, 2, 1158, 9550, 3, 2, 2, 2, 1160, 9564, 3, 2, 2, 2, 1162, 9572, 3, 2, 2, 2, 1164, 9580, 3, 2, 2, 2, 1166, 9582, 3, 2, 2, 2, 1168, 9594, 3, 2, 2, 2, 1170, 9620, 3, 2, 2, 2, 1172, 9622, 3, 2, 2, 2, 1174, 9636, 3, 2, 2, 2, 1176, 9641, 3, 2, 2, 2, 1178, 9659, 3, 2, 2, 2, 1180, 9663, 3, 2, 2, 2, 1182, 9671, 3, 2, 2, 2, 1184, 9681, 3, 2, 2, 2, 1186, 9689, 3, 2, 2, 2, 1188, 9695, 3, 2, 2, 2, 1190, 9700, 3, 2, 2, 2, 1192, 9707, 3, 2, 2, 2, 1194, 9732, 3, 2, 2, 2, 1196, 9751, 3, 2, 2, 2, 1198, 9755, 3, 2, 2, 2, 1200, 9758, 3, 2, 2, 2, 1202, 9780, 3, 2, 2, 2, 1204, 9785, 3, 2, 2, 2, 1206, 9804, 3, 2, 2, 2, 1208, 9806, 3, 2, 2, 2, 1210, 9822, 3, 2, 2, 2, 1212, 9830, 3, 2, 2, 2, 1214, 9835, 3, 2, 2, 2, 1216, 9839, 3, 2, 2, 2, 1218, 9850, 3, 2, 2, 2, 1220, 9853, 3, 2, 2, 2, 1222, 9871, 3, 2, 2, 2, 1224, 9873, 3, 2, 2, 2, 1226, 9886, 3, 2, 2, 2, 1228, 9897, 3, 2, 2, 2, 1230, 9911, 3, 2, 2, 2, 1232, 9916, 3, 2, 2, 2, 1234, 9918, 3, 2, 2, 2, 1236, 9928, 3, 2, 2, 2, 1238, 9930, 3, 2, 2, 2, 1240, 9935, 3, 2, 2, 2, 1242, 9950, 3, 2, 2, 2, 1244, 9988, 3, 2, 2, 2, 1246, 9990, 3, 2, 2, 2, 1248, 9998, 3, 2, 2, 2, 1250, 10010, 3, 2, 2, 2, 1252, 10042, 3, 2, 2, 2, 1254, 10062, 3, 2, 2, 2, 1256, 10064, 3, 2, 2, 2, 1258, 10068, 3, 2, 2, 2, 1260, 10119, 3, 2, 2, 2, 1262, 10121, 3, 2, 2, 2, 1264, 10151, 3, 2, 2, 2, 1266, 10153, 3, 2, 2, 2, 1268, 10174, 3, 2, 2, 2, 1270, 10204, 3, 2, 2, 2, 1272, 10208, 3, 2, 2, 2, 1274, 10211, 3, 2, 2, 2, 1276, 10230, 3, 2, 2, 2, 1278, 10238, 3, 2, 2, 2, 1280, 10256, 3, 2, 2, 2, 1282, 10263, 3, 2, 2, 2, 1284, 10287, 3, 2, 2, 2, 1286, 10289, 3, 2, 2, 2, 1288, 10370, 3, 2, 2, 2, 1290, 10375, 3, 2, 2, 2, 1292, 10381, 3, 2, 2, 2, 1294, 10383, 3, 2, 2, 2, 1296, 10446, 3, 2, 2, 2, 1298, 10743, 3, 2, 2, 2, 1300, 10745, 3, 2, 2, 2, 1302, 10747, 3, 2, 2, 2, 1304, 10749, 3, 2, 2, 2, 1306, 10751, 3, 2, 2, 2, 1308, 10764, 3, 2, 2, 2, 1310, 10773, 3, 2, 2, 2, 1312, 10782, 3, 2, 2, 2, 1314, 10784, 3, 2, 2, 2, 1316, 10801, 3, 2, 2, 2, 1318, 10805, 3, 2, 2, 2, 1320, 10816, 3, 2, 2, 2, 1322, 10818, 3, 2, 2, 2, 1324, 10842, 3, 2, 2, 2, 1326, 10861, 3, 2, 2, 2, 1328, 10879, 3, 2, 2, 2, 1330, 10900, 3, 2, 2, 2, 1332, 10913, 3, 2, 2, 2, 1334, 10916, 3, 2, 2, 2, 1336, 10925, 3, 2, 2, 2, 1338, 10931, 3, 2, 2, 2, 1340, 10939, 3, 2, 2, 2, 1342, 10942, 3, 2, 2, 2, 1344, 10953, 3, 2, 2, 2, 1346, 10963, 3, 2, 2, 2, 1348, 10965, 3, 2, 2, 2, 1350, 10979, 3, 2, 2, 2, 1352, 10988, 3, 2, 2, 2, 1354, 11006, 3, 2, 2, 2, 1356, 11010, 3, 2, 2, 2, 1358, 11012, 3, 2, 2, 2, 1360, 11021, 3, 2, 2, 2, 1362, 11034, 3, 2, 2, 2, 1364, 11036, 3, 2, 2, 2, 1366, 11038, 3, 2, 2, 2, 1368, 11040, 3, 2, 2, 2, 1370, 11042, 3, 2, 2, 2, 1372, 11044, 3, 2, 2, 2, 1374, 11046, 3, 2, 2, 2, 1376, 11048, 3, 2, 2, 2, 1378, 11060, 3, 2, 2, 2, 1380, 11062, 3, 2, 2, 2, 1382, 11067, 3, 2, 2, 2, 1384, 11069, 3, 2, 2, 2, 1386, 11071, 3, 2, 2, 2, 1388, 11073, 3, 2, 2, 2, 1390, 11078, 3, 2, 2, 2, 1392, 11086, 3, 2, 2, 2, 1394, 11088, 3, 2, 2, 2, 1396, 11094, 3, 2, 2, 2, 1398, 11096, 3, 2, 2, 2, 1400, 11108, 3, 2, 2, 2, 1402, 11110, 3, 2, 2, 2, 1404, 11118, 3, 2, 2, 2, 1406, 11126, 3, 2, 2, 2, 1408, 11134, 3, 2, 2, 2, 1410, 11139, 3, 2, 2, 2, 1412, 11144, 3, 2, 2, 2, 1414, 11159, 3, 2, 2, 2, 1416, 11161, 3, 2, 2, 2, 1418, 11168, 3, 2, 2, 2, 1420, 11172, 3, 2, 2, 2, 1422, 11174, 3, 2, 2, 2, 1424, 11179, 3, 2, 2, 2, 1426, 11181, 3, 2, 2, 2, 1428, 11203, 3, 2, 2, 2, 1430, 11205, 3, 2, 2, 2, 1432, 11232, 3, 2, 2, 2, 1434, 11240, 3, 2, 2, 2, 1436, 11242, 3, 2, 2, 2, 1438, 11244, 3, 2, 2, 2, 1440, 11246, 3, 2, 2, 2, 1442, 11272, 3, 2, 2, 2, 1444, 11274, 3, 2, 2, 2, 1446, 11282, 3, 2, 2, 2, 1448, 11286, 3, 2, 2, 2, 1450, 11295, 3, 2, 2, 2, 1452, 11310, 3, 2, 2, 2, 1454, 11331, 3, 2, 2, 2, 1456, 11373, 3, 2, 2, 2, 1458, 11380, 3, 2, 2, 2, 1460, 11392, 3, 2, 2, 2, 1462, 11425, 3, 2, 2, 2, 1464, 11427, 3, 2, 2, 2, 1466, 11501, 3, 2, 2, 2, 1468, 11506, 3, 2, 2, 2, 1470, 11525, 3, 2, 2, 2, 1472, 11535, 3, 2, 2, 2, 1474, 11554, 3, 2, 2, 2, 1476, 11596, 3, 2, 2, 2, 1478, 11924, 3, 2, 2, 2, 1480, 11988, 3, 2, 2, 2, 1482, 11990, 3, 2, 2, 2, 1484, 11992, 3, 2, 2, 2, 1486, 11995, 3, 2, 2, 2, 1488, 11999, 3, 2, 2, 2, 1490, 12005, 3, 2, 2, 2, 1492, 12007, 3, 2, 2, 2, 1494, 12086, 3, 2, 2, 2, 1496, 12088, 3, 2, 2, 2, 1498, 12090, 3, 2, 2, 2, 1500, 12092, 3, 2, 2, 2, 1502, 12094, 3, 2, 2, 2, 1504, 1505, 5, 4, 3, 2, 1505, 1506, 7, 2, 2, 3, 1506, 3, 3, 2, 2, 2, 1507, 1510, 5, 6, 4, 2, 1508, 1510, 5, 1346, 674, 2, 1509, 1507, 3, 2, 2, 2, 1509, 1508, 3, 2, 2, 2, 1510, 1512, 3, 2, 2, 2, 1511, 1513, 7, 2243, 2, 2, 1512, 1511, 3, 2, 2, 2, 1512, 1513, 3, 2, 2, 2, 1513, 1515, 3, 2, 2, 2, 1514, 1509, 3, 2, 2, 2, 1515, 1518, 3, 2, 2, 2, 1516, 1514, 3, 2, 2, 2, 1516, 1517, 3, 2, 2, 2, 1517, 1519, 3, 2, 2, 2, 1518, 1516, 3, 2, 2, 2, 1519, 1520, 7, 2, 2, 3, 1520, 5, 3, 2, 2, 2, 1521, 1578, 5, 1026, 514, 2, 1522, 1578, 5, 658, 330, 2, 1523, 1578, 5, 664, 333, 2, 1524, 1578, 5, 10, 6, 2, 1525, 1578, 5, 26, 14, 2, 1526, 1578, 5, 42, 22, 2, 1527, 1578, 5, 170, 86, 2, 1528, 1578, 5, 172, 87, 2, 1529, 1578, 5, 52, 27, 2, 1530, 1578, 5, 90, 46, 2, 1531, 1578, 5, 752, 377, 2, 1532, 1578, 5, 428, 215, 2, 1533, 1578, 5, 232, 117, 2, 1534, 1578, 5, 394, 198, 2, 1535, 1578, 5, 478, 240, 2, 1536, 1578, 5, 488, 245, 2, 1537, 1578, 5, 274, 138, 2, 1538, 1578, 5, 406, 204, 2, 1539, 1578, 5, 310, 156, 2, 1540, 1578, 5, 324, 163, 2, 1541, 1578, 5, 354, 178, 2, 1542, 1578, 5, 350, 176, 2, 1543, 1578, 5, 12, 7, 2, 1544, 1578, 5, 48, 25, 2, 1545, 1578, 5, 28, 15, 2, 1546, 1578, 5, 30, 16, 2, 1547, 1578, 5, 182, 92, 2, 1548, 1578, 5, 520, 261, 2, 1549, 1578, 5, 444, 223, 2, 1550, 1578, 5, 518, 260, 2, 1551, 1578, 5, 514, 258, 2, 1552, 1578, 5, 410, 206, 2, 1553, 1578, 5, 388, 195, 2, 1554, 1578, 5, 510, 256, 2, 1555, 1578, 5, 504, 253, 2, 1556, 1578, 5, 272, 137, 2, 1557, 1578, 5, 176, 89, 2, 1558, 1578, 5, 54, 28, 2, 1559, 1578, 5, 110, 56, 2, 1560, 1578, 5, 654, 328, 2, 1561, 1578, 5, 8, 5, 2, 1562, 1578, 5, 24, 13, 2, 1563, 1578, 5, 40, 21, 2, 1564, 1578, 5, 168, 85, 2, 1565, 1578, 5, 50, 26, 2, 1566, 1578, 5, 88, 45, 2, 1567, 1578, 5, 1014, 508, 2, 1568, 1578, 5, 644, 323, 2, 1569, 1578, 5, 646, 324, 2, 1570, 1578, 5, 380, 191, 2, 1571, 1578, 5, 382, 192, 2, 1572, 1578, 5, 648, 325, 2, 1573, 1578, 5, 656, 329, 2, 1574, 1578, 5, 904, 453, 2, 1575, 1578, 5, 384, 193, 2, 1576, 1578, 5, 996, 499, 2, 1577, 1521, 3, 2, 2, 2, 1577, 1522, 3, 2, 2, 2, 1577, 1523, 3, 2, 2, 2, 1577, 1524, 3, 2, 2, 2, 1577, 1525, 3, 2, 2, 2, 1577, 1526, 3, 2, 2, 2, 1577, 1527, 3, 2, 2, 2, 1577, 1528, 3, 2, 2, 2, 1577, 1529, 3, 2, 2, 2, 1577, 1530, 3, 2, 2, 2, 1577, 1531, 3, 2, 2, 2, 1577, 1532, 3, 2, 2, 2, 1577, 1533, 3, 2, 2, 2, 1577, 1534, 3, 2, 2, 2, 1577, 1535, 3, 2, 2, 2, 1577, 1536, 3, 2, 2, 2, 1577, 1537, 3, 2, 2, 2, 1577, 1538, 3, 2, 2, 2, 1577, 1539, 3, 2, 2, 2, 1577, 1540, 3, 2, 2, 2, 1577, 1541, 3, 2, 2, 2, 1577, 1542, 3, 2, 2, 2, 1577, 1543, 3, 2, 2, 2, 1577, 1544, 3, 2, 2, 2, 1577, 1545, 3, 2, 2, 2, 1577, 1546, 3, 2, 2, 2, 1577, 1547, 3, 2, 2, 2, 1577, 1548, 3, 2, 2, 2, 1577, 1549, 3, 2, 2, 2, 1577, 1550, 3, 2, 2, 2, 1577, 1551, 3, 2, 2, 2, 1577, 1552, 3, 2, 2, 2, 1577, 1553, 3, 2, 2, 2, 1577, 1554, 3, 2, 2, 2, 1577, 1555, 3, 2, 2, 2, 1577, 1556, 3, 2, 2, 2, 1577, 1557, 3, 2, 2, 2, 1577, 1558, 3, 2, 2, 2, 1577, 1559, 3, 2, 2, 2, 1577, 1560, 3, 2, 2, 2, 1577, 1561, 3, 2, 2, 2, 1577, 1562, 3, 2, 2, 2, 1577, 1563, 3, 2, 2, 2, 1577, 1564, 3, 2, 2, 2, 1577, 1565, 3, 2, 2, 2, 1577, 1566, 3, 2, 2, 2, 1577, 1567, 3, 2, 2, 2, 1577, 1568, 3, 2, 2, 2, 1577, 1569, 3, 2, 2, 2, 1577, 1570, 3, 2, 2, 2, 1577, 1571, 3, 2, 2, 2, 1577, 1572, 3, 2, 2, 2, 1577, 1573, 3, 2, 2, 2, 1577, 1574, 3, 2, 2, 2, 1577, 1575, 3, 2, 2, 2, 1577, 1576, 3, 2, 2, 2, 1578, 7, 3, 2, 2, 2, 1579, 1580, 7, 413, 2, 2, 1580, 1581, 7, 560, 2, 2, 1581, 1582, 5, 1408, 705, 2, 1582, 1583, 7, 2243, 2, 2, 1583, 9, 3, 2, 2, 2, 1584, 1585, 7, 41, 2, 2, 1585, 1586, 7, 560, 2, 2, 1586, 1587, 5, 1408, 705, 2, 1587, 1589, 7, 225, 2, 2, 1588, 1590, 7, 342, 2, 2, 1589, 1588, 3, 2, 2, 2, 1589, 1590, 3, 2, 2, 2, 1590, 1594, 3, 2, 2, 2, 1591, 1593, 5, 400, 201, 2, 1592, 1591, 3, 2, 2, 2, 1593, 1596, 3, 2, 2, 2, 1594, 1592, 3, 2, 2, 2, 1594, 1595, 3, 2, 2, 2, 1595, 1599, 3, 2, 2, 2, 1596, 1594, 3, 2, 2, 2, 1597, 1598, 7, 1434, 2, 2, 1598, 1600, 7, 1514, 2, 2, 1599, 1597, 3, 2, 2, 2, 1599, 1600, 3, 2, 2, 2, 1600, 1601, 3, 2, 2, 2, 1601, 1602, 7, 2243, 2, 2, 1602, 11, 3, 2, 2, 2, 1603, 1606, 7, 290, 2, 2, 1604, 1605, 7, 1174, 2, 2, 1605, 1607, 7, 1409, 2, 2, 1606, 1604, 3, 2, 2, 2, 1606, 1607, 3, 2, 2, 2, 1607, 1608, 3, 2, 2, 2, 1608, 1609, 7, 560, 2, 2, 1609, 1621, 5, 1408, 705, 2, 1610, 1611, 7, 2225, 2, 2, 1611, 1616, 5, 918, 460, 2, 1612, 1613, 7, 2231, 2, 2, 1613, 1615, 5, 918, 460, 2, 1614, 1612, 3, 2, 2, 2, 1615, 1618, 3, 2, 2, 2, 1616, 1614, 3, 2, 2, 2, 1616, 1617, 3, 2, 2, 2, 1617, 1619, 3, 2, 2, 2, 1618, 1616, 3, 2, 2, 2, 1619, 1620, 7, 2226, 2, 2, 1620, 1622, 3, 2, 2, 2, 1621, 1610, 3, 2, 2, 2, 1621, 1622, 3, 2, 2, 2, 1622, 1623, 3, 2, 2, 2, 1623, 1624, 7, 1433, 2, 2, 1624, 1631, 5, 1460, 731, 2, 1625, 1630, 5, 906, 454, 2, 1626, 1630, 5, 14, 8, 2, 1627, 1630, 5, 18, 10, 2, 1628, 1630, 7, 377, 2, 2, 1629, 1625, 3, 2, 2, 2, 1629, 1626, 3, 2, 2, 2, 1629, 1627, 3, 2, 2, 2, 1629, 1628, 3, 2, 2, 2, 1630, 1633, 3, 2, 2, 2, 1631, 1629, 3, 2, 2, 2, 1631, 1632, 3, 2, 2, 2, 1632, 1651, 3, 2, 2, 2, 1633, 1631, 3, 2, 2, 2, 1634, 1636, 7, 1252, 2, 2, 1635, 1634, 3, 2, 2, 2, 1635, 1636, 3, 2, 2, 2, 1636, 1637, 3, 2, 2, 2, 1637, 1646, 9, 2, 2, 2, 1638, 1640, 7, 346, 2, 2, 1639, 1638, 3, 2, 2, 2, 1639, 1640, 3, 2, 2, 2, 1640, 1642, 3, 2, 2, 2, 1641, 1643, 5, 922, 462, 2, 1642, 1641, 3, 2, 2, 2, 1642, 1643, 3, 2, 2, 2, 1643, 1644, 3, 2, 2, 2, 1644, 1647, 5, 1000, 501, 2, 1645, 1647, 5, 908, 455, 2, 1646, 1639, 3, 2, 2, 2, 1646, 1645, 3, 2, 2, 2, 1647, 1652, 3, 2, 2, 2, 1648, 1649, 9, 3, 2, 2, 1649, 1650, 7, 2065, 2, 2, 1650, 1652, 5, 1380, 691, 2, 1651, 1635, 3, 2, 2, 2, 1651, 1648, 3, 2, 2, 2, 1652, 1653, 3, 2, 2, 2, 1653, 1654, 7, 2243, 2, 2, 1654, 13, 3, 2, 2, 2, 1655, 1657, 7, 1195, 2, 2, 1656, 1658, 5, 16, 9, 2, 1657, 1656, 3, 2, 2, 2, 1657, 1658, 3, 2, 2, 2, 1658, 15, 3, 2, 2, 2, 1659, 1660, 7, 2225, 2, 2, 1660, 1661, 7, 1209, 2, 2, 1661, 1662, 5, 1236, 619, 2, 1662, 1666, 7, 148, 2, 2, 1663, 1667, 7, 50, 2, 2, 1664, 1665, 9, 4, 2, 2, 1665, 1667, 5, 1446, 724, 2, 1666, 1663, 3, 2, 2, 2, 1666, 1664, 3, 2, 2, 2, 1667, 1669, 3, 2, 2, 2, 1668, 1670, 5, 22, 12, 2, 1669, 1668, 3, 2, 2, 2, 1669, 1670, 3, 2, 2, 2, 1670, 1671, 3, 2, 2, 2, 1671, 1672, 7, 2226, 2, 2, 1672, 17, 3, 2, 2, 2, 1673, 1675, 7, 1426, 2, 2, 1674, 1676, 5, 20, 11, 2, 1675, 1674, 3, 2, 2, 2, 1675, 1676, 3, 2, 2, 2, 1676, 19, 3, 2, 2, 2, 1677, 1678, 7, 1400, 2, 2, 1678, 1679, 7, 2225, 2, 2, 1679, 1684, 5, 1428, 715, 2, 1680, 1681, 7, 2231, 2, 2, 1681, 1683, 5, 1428, 715, 2, 1682, 1680, 3, 2, 2, 2, 1683, 1686, 3, 2, 2, 2, 1684, 1682, 3, 2, 2, 2, 1684, 1685, 3, 2, 2, 2, 1685, 1687, 3, 2, 2, 2, 1686, 1684, 3, 2, 2, 2, 1687, 1688, 7, 2226, 2, 2, 1688, 21, 3, 2, 2, 2, 1689, 1690, 9, 5, 2, 2, 1690, 1691, 5, 1236, 619, 2, 1691, 1692, 7, 148, 2, 2, 1692, 1693, 5, 1446, 724, 2, 1693, 23, 3, 2, 2, 2, 1694, 1695, 7, 413, 2, 2, 1695, 1697, 7, 1193, 2, 2, 1696, 1698, 7, 135, 2, 2, 1697, 1696, 3, 2, 2, 2, 1697, 1698, 3, 2, 2, 2, 1698, 1702, 3, 2, 2, 2, 1699, 1700, 5, 1436, 719, 2, 1700, 1701, 7, 2218, 2, 2, 1701, 1703, 3, 2, 2, 2, 1702, 1699, 3, 2, 2, 2, 1702, 1703, 3, 2, 2, 2, 1703, 1704, 3, 2, 2, 2, 1704, 1705, 5, 1378, 690, 2, 1705, 1706, 7, 2243, 2, 2, 1706, 25, 3, 2, 2, 2, 1707, 1708, 7, 41, 2, 2, 1708, 1709, 7, 1193, 2, 2, 1709, 1710, 5, 1378, 690, 2, 1710, 1712, 7, 225, 2, 2, 1711, 1713, 7, 342, 2, 2, 1712, 1711, 3, 2, 2, 2, 1712, 1713, 3, 2, 2, 2, 1713, 1715, 3, 2, 2, 2, 1714, 1716, 9, 6, 2, 2, 1715, 1714, 3, 2, 2, 2, 1715, 1716, 3, 2, 2, 2, 1716, 1720, 3, 2, 2, 2, 1717, 1719, 5, 400, 201, 2, 1718, 1717, 3, 2, 2, 2, 1719, 1722, 3, 2, 2, 2, 1720, 1718, 3, 2, 2, 2, 1720, 1721, 3, 2, 2, 2, 1721, 1725, 3, 2, 2, 2, 1722, 1720, 3, 2, 2, 2, 1723, 1724, 7, 1434, 2, 2, 1724, 1726, 7, 1514, 2, 2, 1725, 1723, 3, 2, 2, 2, 1725, 1726, 3, 2, 2, 2, 1726, 1727, 3, 2, 2, 2, 1727, 1728, 7, 2243, 2, 2, 1728, 27, 3, 2, 2, 2, 1729, 1732, 7, 290, 2, 2, 1730, 1731, 7, 1174, 2, 2, 1731, 1733, 7, 1409, 2, 2, 1732, 1730, 3, 2, 2, 2, 1732, 1733, 3, 2, 2, 2, 1733, 1734, 3, 2, 2, 2, 1734, 1738, 7, 1193, 2, 2, 1735, 1736, 5, 1436, 719, 2, 1736, 1737, 7, 2218, 2, 2, 1737, 1739, 3, 2, 2, 2, 1738, 1735, 3, 2, 2, 2, 1738, 1739, 3, 2, 2, 2, 1739, 1740, 3, 2, 2, 2, 1740, 1742, 5, 1378, 690, 2, 1741, 1743, 5, 906, 454, 2, 1742, 1741, 3, 2, 2, 2, 1742, 1743, 3, 2, 2, 2, 1743, 1744, 3, 2, 2, 2, 1744, 1748, 9, 2, 2, 2, 1745, 1747, 5, 32, 17, 2, 1746, 1745, 3, 2, 2, 2, 1747, 1750, 3, 2, 2, 2, 1748, 1746, 3, 2, 2, 2, 1748, 1749, 3, 2, 2, 2, 1749, 1751, 3, 2, 2, 2, 1750, 1748, 3, 2, 2, 2, 1751, 1753, 7, 447, 2, 2, 1752, 1754, 5, 1378, 690, 2, 1753, 1752, 3, 2, 2, 2, 1753, 1754, 3, 2, 2, 2, 1754, 1755, 3, 2, 2, 2, 1755, 1756, 7, 2243, 2, 2, 1756, 29, 3, 2, 2, 2, 1757, 1760, 7, 290, 2, 2, 1758, 1759, 7, 1174, 2, 2, 1759, 1761, 7, 1409, 2, 2, 1760, 1758, 3, 2, 2, 2, 1760, 1761, 3, 2, 2, 2, 1761, 1762, 3, 2, 2, 2, 1762, 1763, 7, 1193, 2, 2, 1763, 1767, 7, 135, 2, 2, 1764, 1765, 5, 1436, 719, 2, 1765, 1766, 7, 2218, 2, 2, 1766, 1768, 3, 2, 2, 2, 1767, 1764, 3, 2, 2, 2, 1767, 1768, 3, 2, 2, 2, 1768, 1769, 3, 2, 2, 2, 1769, 1770, 5, 1378, 690, 2, 1770, 1774, 9, 2, 2, 2, 1771, 1773, 5, 38, 20, 2, 1772, 1771, 3, 2, 2, 2, 1773, 1776, 3, 2, 2, 2, 1774, 1772, 3, 2, 2, 2, 1774, 1775, 3, 2, 2, 2, 1775, 1779, 3, 2, 2, 2, 1776, 1774, 3, 2, 2, 2, 1777, 1778, 7, 104, 2, 2, 1778, 1780, 5, 952, 477, 2, 1779, 1777, 3, 2, 2, 2, 1779, 1780, 3, 2, 2, 2, 1780, 1781, 3, 2, 2, 2, 1781, 1783, 7, 447, 2, 2, 1782, 1784, 5, 1378, 690, 2, 1783, 1782, 3, 2, 2, 2, 1783, 1784, 3, 2, 2, 2, 1784, 1785, 3, 2, 2, 2, 1785, 1786, 7, 2243, 2, 2, 1786, 31, 3, 2, 2, 2, 1787, 1796, 5, 936, 469, 2, 1788, 1796, 5, 926, 464, 2, 1789, 1796, 5, 928, 465, 2, 1790, 1796, 5, 930, 466, 2, 1791, 1796, 5, 934, 468, 2, 1792, 1796, 5, 944, 473, 2, 1793, 1796, 5, 34, 18, 2, 1794, 1796, 5, 36, 19, 2, 1795, 1787, 3, 2, 2, 2, 1795, 1788, 3, 2, 2, 2, 1795, 1789, 3, 2, 2, 2, 1795, 1790, 3, 2, 2, 2, 1795, 1791, 3, 2, 2, 2, 1795, 1792, 3, 2, 2, 2, 1795, 1793, 3, 2, 2, 2, 1795, 1794, 3, 2, 2, 2, 1796, 33, 3, 2, 2, 2, 1797, 1798, 7, 1316, 2, 2, 1798, 1810, 5, 1488, 745, 2, 1799, 1800, 7, 2225, 2, 2, 1800, 1805, 5, 918, 460, 2, 1801, 1802, 7, 2231, 2, 2, 1802, 1804, 5, 918, 460, 2, 1803, 1801, 3, 2, 2, 2, 1804, 1807, 3, 2, 2, 2, 1805, 1803, 3, 2, 2, 2, 1805, 1806, 3, 2, 2, 2, 1806, 1808, 3, 2, 2, 2, 1807, 1805, 3, 2, 2, 2, 1808, 1809, 7, 2226, 2, 2, 1809, 1811, 3, 2, 2, 2, 1810, 1799, 3, 2, 2, 2, 1810, 1811, 3, 2, 2, 2, 1811, 1812, 3, 2, 2, 2, 1812, 1813, 7, 2243, 2, 2, 1813, 35, 3, 2, 2, 2, 1814, 1815, 7, 560, 2, 2, 1815, 1827, 5, 1488, 745, 2, 1816, 1817, 7, 2225, 2, 2, 1817, 1822, 5, 918, 460, 2, 1818, 1819, 7, 2231, 2, 2, 1819, 1821, 5, 918, 460, 2, 1820, 1818, 3, 2, 2, 2, 1821, 1824, 3, 2, 2, 2, 1822, 1820, 3, 2, 2, 2, 1822, 1823, 3, 2, 2, 2, 1823, 1825, 3, 2, 2, 2, 1824, 1822, 3, 2, 2, 2, 1825, 1826, 7, 2226, 2, 2, 1826, 1828, 3, 2, 2, 2, 1827, 1816, 3, 2, 2, 2, 1827, 1828, 3, 2, 2, 2, 1828, 1829, 3, 2, 2, 2, 1829, 1830, 7, 1433, 2, 2, 1830, 1832, 5, 1460, 731, 2, 1831, 1833, 7, 1252, 2, 2, 1832, 1831, 3, 2, 2, 2, 1832, 1833, 3, 2, 2, 2, 1833, 1835, 3, 2, 2, 2, 1834, 1836, 7, 377, 2, 2, 1835, 1834, 3, 2, 2, 2, 1835, 1836, 3, 2, 2, 2, 1836, 1838, 3, 2, 2, 2, 1837, 1839, 7, 1426, 2, 2, 1838, 1837, 3, 2, 2, 2, 1838, 1839, 3, 2, 2, 2, 1839, 1840, 3, 2, 2, 2, 1840, 1841, 7, 2243, 2, 2, 1841, 37, 3, 2, 2, 2, 1842, 1852, 5, 926, 464, 2, 1843, 1852, 5, 928, 465, 2, 1844, 1852, 5, 930, 466, 2, 1845, 1852, 5, 934, 468, 2, 1846, 1852, 5, 944, 473, 2, 1847, 1852, 5, 46, 24, 2, 1848, 1852, 5, 44, 23, 2, 1849, 1852, 5, 34, 18, 2, 1850, 1852, 5, 36, 19, 2, 1851, 1842, 3, 2, 2, 2, 1851, 1843, 3, 2, 2, 2, 1851, 1844, 3, 2, 2, 2, 1851, 1845, 3, 2, 2, 2, 1851, 1846, 3, 2, 2, 2, 1851, 1847, 3, 2, 2, 2, 1851, 1848, 3, 2, 2, 2, 1851, 1849, 3, 2, 2, 2, 1851, 1850, 3, 2, 2, 2, 1852, 39, 3, 2, 2, 2, 1853, 1854, 7, 413, 2, 2, 1854, 1855, 7, 1316, 2, 2, 1855, 1856, 5, 1410, 706, 2, 1856, 1857, 7, 2243, 2, 2, 1857, 41, 3, 2, 2, 2, 1858, 1859, 7, 41, 2, 2, 1859, 1860, 7, 1316, 2, 2, 1860, 1861, 5, 1410, 706, 2, 1861, 1863, 7, 225, 2, 2, 1862, 1864, 7, 342, 2, 2, 1863, 1862, 3, 2, 2, 2, 1863, 1864, 3, 2, 2, 2, 1864, 1868, 3, 2, 2, 2, 1865, 1867, 5, 400, 201, 2, 1866, 1865, 3, 2, 2, 2, 1867, 1870, 3, 2, 2, 2, 1868, 1866, 3, 2, 2, 2, 1868, 1869, 3, 2, 2, 2, 1869, 1873, 3, 2, 2, 2, 1870, 1868, 3, 2, 2, 2, 1871, 1872, 7, 1434, 2, 2, 1872, 1874, 7, 1514, 2, 2, 1873, 1871, 3, 2, 2, 2, 1873, 1874, 3, 2, 2, 2, 1874, 1875, 3, 2, 2, 2, 1875, 1876, 7, 2243, 2, 2, 1876, 43, 3, 2, 2, 2, 1877, 1878, 7, 560, 2, 2, 1878, 1890, 5, 1488, 745, 2, 1879, 1880, 7, 2225, 2, 2, 1880, 1885, 5, 918, 460, 2, 1881, 1882, 7, 2231, 2, 2, 1882, 1884, 5, 918, 460, 2, 1883, 1881, 3, 2, 2, 2, 1884, 1887, 3, 2, 2, 2, 1885, 1883, 3, 2, 2, 2, 1885, 1886, 3, 2, 2, 2, 1886, 1888, 3, 2, 2, 2, 1887, 1885, 3, 2, 2, 2, 1888, 1889, 7, 2226, 2, 2, 1889, 1891, 3, 2, 2, 2, 1890, 1879, 3, 2, 2, 2, 1890, 1891, 3, 2, 2, 2, 1891, 1892, 3, 2, 2, 2, 1892, 1893, 7, 1433, 2, 2, 1893, 1900, 5, 1460, 731, 2, 1894, 1899, 5, 906, 454, 2, 1895, 1899, 5, 14, 8, 2, 1896, 1899, 5, 18, 10, 2, 1897, 1899, 7, 377, 2, 2, 1898, 1894, 3, 2, 2, 2, 1898, 1895, 3, 2, 2, 2, 1898, 1896, 3, 2, 2, 2, 1898, 1897, 3, 2, 2, 2, 1899, 1902, 3, 2, 2, 2, 1900, 1898, 3, 2, 2, 2, 1900, 1901, 3, 2, 2, 2, 1901, 1923, 3, 2, 2, 2, 1902, 1900, 3, 2, 2, 2, 1903, 1905, 7, 1252, 2, 2, 1904, 1903, 3, 2, 2, 2, 1904, 1905, 3, 2, 2, 2, 1905, 1907, 3, 2, 2, 2, 1906, 1908, 7, 377, 2, 2, 1907, 1906, 3, 2, 2, 2, 1907, 1908, 3, 2, 2, 2, 1908, 1909, 3, 2, 2, 2, 1909, 1918, 9, 2, 2, 2, 1910, 1912, 7, 346, 2, 2, 1911, 1910, 3, 2, 2, 2, 1911, 1912, 3, 2, 2, 2, 1912, 1914, 3, 2, 2, 2, 1913, 1915, 5, 922, 462, 2, 1914, 1913, 3, 2, 2, 2, 1914, 1915, 3, 2, 2, 2, 1915, 1916, 3, 2, 2, 2, 1916, 1919, 5, 1000, 501, 2, 1917, 1919, 5, 908, 455, 2, 1918, 1911, 3, 2, 2, 2, 1918, 1917, 3, 2, 2, 2, 1919, 1924, 3, 2, 2, 2, 1920, 1921, 9, 3, 2, 2, 1921, 1922, 7, 2065, 2, 2, 1922, 1924, 5, 1380, 691, 2, 1923, 1904, 3, 2, 2, 2, 1923, 1920, 3, 2, 2, 2, 1924, 1925, 3, 2, 2, 2, 1925, 1926, 7, 2243, 2, 2, 1926, 45, 3, 2, 2, 2, 1927, 1928, 7, 1316, 2, 2, 1928, 1940, 5, 1488, 745, 2, 1929, 1930, 7, 2225, 2, 2, 1930, 1935, 5, 918, 460, 2, 1931, 1932, 7, 2231, 2, 2, 1932, 1934, 5, 918, 460, 2, 1933, 1931, 3, 2, 2, 2, 1934, 1937, 3, 2, 2, 2, 1935, 1933, 3, 2, 2, 2, 1935, 1936, 3, 2, 2, 2, 1936, 1938, 3, 2, 2, 2, 1937, 1935, 3, 2, 2, 2, 1938, 1939, 7, 2226, 2, 2, 1939, 1941, 3, 2, 2, 2, 1940, 1929, 3, 2, 2, 2, 1940, 1941, 3, 2, 2, 2, 1941, 1942, 3, 2, 2, 2, 1942, 1952, 9, 2, 2, 2, 1943, 1945, 7, 346, 2, 2, 1944, 1943, 3, 2, 2, 2, 1944, 1945, 3, 2, 2, 2, 1945, 1947, 3, 2, 2, 2, 1946, 1948, 5, 922, 462, 2, 1947, 1946, 3, 2, 2, 2, 1947, 1948, 3, 2, 2, 2, 1948, 1949, 3, 2, 2, 2, 1949, 1953, 5, 1000, 501, 2, 1950, 1953, 5, 908, 455, 2, 1951, 1953, 7, 495, 2, 2, 1952, 1944, 3, 2, 2, 2, 1952, 1950, 3, 2, 2, 2, 1952, 1951, 3, 2, 2, 2, 1953, 1954, 3, 2, 2, 2, 1954, 1955, 7, 2243, 2, 2, 1955, 47, 3, 2, 2, 2, 1956, 1959, 7, 290, 2, 2, 1957, 1958, 7, 1174, 2, 2, 1958, 1960, 7, 1409, 2, 2, 1959, 1957, 3, 2, 2, 2, 1959, 1960, 3, 2, 2, 2, 1960, 1961, 3, 2, 2, 2, 1961, 1962, 7, 1316, 2, 2, 1962, 1974, 5, 1410, 706, 2, 1963, 1964, 7, 2225, 2, 2, 1964, 1969, 5, 918, 460, 2, 1965, 1966, 7, 2231, 2, 2, 1966, 1968, 5, 918, 460, 2, 1967, 1965, 3, 2, 2, 2, 1968, 1971, 3, 2, 2, 2, 1969, 1967, 3, 2, 2, 2, 1969, 1970, 3, 2, 2, 2, 1970, 1972, 3, 2, 2, 2, 1971, 1969, 3, 2, 2, 2, 1972, 1973, 7, 2226, 2, 2, 1973, 1975, 3, 2, 2, 2, 1974, 1963, 3, 2, 2, 2, 1974, 1975, 3, 2, 2, 2, 1975, 1977, 3, 2, 2, 2, 1976, 1978, 5, 906, 454, 2, 1977, 1976, 3, 2, 2, 2, 1977, 1978, 3, 2, 2, 2, 1978, 1979, 3, 2, 2, 2, 1979, 1989, 9, 2, 2, 2, 1980, 1982, 7, 346, 2, 2, 1981, 1980, 3, 2, 2, 2, 1981, 1982, 3, 2, 2, 2, 1982, 1984, 3, 2, 2, 2, 1983, 1985, 5, 922, 462, 2, 1984, 1983, 3, 2, 2, 2, 1984, 1985, 3, 2, 2, 2, 1985, 1986, 3, 2, 2, 2, 1986, 1990, 5, 1000, 501, 2, 1987, 1990, 5, 908, 455, 2, 1988, 1990, 7, 495, 2, 2, 1989, 1981, 3, 2, 2, 2, 1989, 1987, 3, 2, 2, 2, 1989, 1988, 3, 2, 2, 2, 1990, 1991, 3, 2, 2, 2, 1991, 1992, 7, 2243, 2, 2, 1992, 49, 3, 2, 2, 2, 1993, 1994, 7, 413, 2, 2, 1994, 1995, 7, 1980, 2, 2, 1995, 1996, 5, 1412, 707, 2, 1996, 1997, 7, 2243, 2, 2, 1997, 51, 3, 2, 2, 2, 1998, 1999, 7, 41, 2, 2, 1999, 2000, 7, 1980, 2, 2, 2000, 2019, 5, 1412, 707, 2, 2001, 2020, 9, 7, 2, 2, 2002, 2003, 7, 1406, 2, 2, 2003, 2004, 7, 1966, 2, 2, 2004, 2020, 5, 1412, 707, 2, 2005, 2007, 7, 225, 2, 2, 2006, 2008, 7, 342, 2, 2, 2007, 2006, 3, 2, 2, 2, 2007, 2008, 3, 2, 2, 2, 2008, 2012, 3, 2, 2, 2, 2009, 2011, 5, 400, 201, 2, 2010, 2009, 3, 2, 2, 2, 2011, 2014, 3, 2, 2, 2, 2012, 2010, 3, 2, 2, 2, 2012, 2013, 3, 2, 2, 2, 2013, 2017, 3, 2, 2, 2, 2014, 2012, 3, 2, 2, 2, 2015, 2016, 7, 1434, 2, 2, 2016, 2018, 7, 1514, 2, 2, 2017, 2015, 3, 2, 2, 2, 2017, 2018, 3, 2, 2, 2, 2018, 2020, 3, 2, 2, 2, 2019, 2001, 3, 2, 2, 2, 2019, 2002, 3, 2, 2, 2, 2019, 2005, 3, 2, 2, 2, 2020, 2021, 3, 2, 2, 2, 2021, 2022, 7, 2243, 2, 2, 2022, 53, 3, 2, 2, 2, 2023, 2026, 7, 290, 2, 2, 2024, 2025, 7, 1174, 2, 2, 2025, 2027, 7, 1409, 2, 2, 2026, 2024, 3, 2, 2, 2, 2026, 2027, 3, 2, 2, 2, 2027, 2028, 3, 2, 2, 2, 2028, 2029, 7, 1980, 2, 2, 2029, 2033, 5, 1412, 707, 2, 2030, 2034, 5, 60, 31, 2, 2031, 2034, 5, 64, 33, 2, 2032, 2034, 5, 66, 34, 2, 2033, 2030, 3, 2, 2, 2, 2033, 2031, 3, 2, 2, 2, 2033, 2032, 3, 2, 2, 2, 2034, 2036, 3, 2, 2, 2, 2035, 2037, 5, 56, 29, 2, 2036, 2035, 3, 2, 2, 2, 2036, 2037, 3, 2, 2, 2, 2037, 2039, 3, 2, 2, 2, 2038, 2040, 9, 7, 2, 2, 2039, 2038, 3, 2, 2, 2, 2039, 2040, 3, 2, 2, 2, 2040, 2042, 3, 2, 2, 2, 2041, 2043, 5, 58, 30, 2, 2042, 2041, 3, 2, 2, 2, 2042, 2043, 3, 2, 2, 2, 2043, 2044, 3, 2, 2, 2, 2044, 2045, 5, 68, 35, 2, 2045, 2046, 7, 2243, 2, 2, 2046, 55, 3, 2, 2, 2, 2047, 2048, 7, 542, 2, 2, 2048, 2053, 5, 1412, 707, 2, 2049, 2050, 7, 2231, 2, 2, 2050, 2052, 5, 1412, 707, 2, 2051, 2049, 3, 2, 2, 2, 2052, 2055, 3, 2, 2, 2, 2053, 2051, 3, 2, 2, 2, 2053, 2054, 3, 2, 2, 2, 2054, 57, 3, 2, 2, 2, 2055, 2053, 3, 2, 2, 2, 2056, 2057, 7, 2115, 2, 2, 2057, 2058, 7, 2225, 2, 2, 2058, 2059, 5, 1232, 617, 2, 2059, 2060, 7, 2226, 2, 2, 2060, 59, 3, 2, 2, 2, 2061, 2066, 7, 103, 2, 2, 2062, 2066, 7, 32, 2, 2, 2063, 2064, 7, 678, 2, 2, 2064, 2066, 7, 1117, 2, 2, 2065, 2061, 3, 2, 2, 2, 2065, 2062, 3, 2, 2, 2, 2065, 2063, 3, 2, 2, 2, 2066, 2067, 3, 2, 2, 2, 2067, 2069, 5, 78, 40, 2, 2068, 2070, 5, 84, 43, 2, 2069, 2068, 3, 2, 2, 2, 2069, 2070, 3, 2, 2, 2, 2070, 2072, 3, 2, 2, 2, 2071, 2073, 5, 62, 32, 2, 2072, 2071, 3, 2, 2, 2, 2072, 2073, 3, 2, 2, 2, 2073, 61, 3, 2, 2, 2, 2074, 2075, 7, 548, 2, 2, 2075, 2076, 7, 424, 2, 2, 2076, 2077, 7, 1453, 2, 2, 2077, 63, 3, 2, 2, 2, 2078, 2079, 7, 548, 2, 2, 2079, 2081, 5, 78, 40, 2, 2080, 2082, 5, 84, 43, 2, 2081, 2080, 3, 2, 2, 2, 2081, 2082, 3, 2, 2, 2, 2082, 65, 3, 2, 2, 2, 2083, 2084, 9, 8, 2, 2, 2084, 2089, 5, 76, 39, 2, 2085, 2086, 7, 1174, 2, 2, 2086, 2088, 5, 76, 39, 2, 2087, 2085, 3, 2, 2, 2, 2088, 2091, 3, 2, 2, 2, 2089, 2087, 3, 2, 2, 2, 2089, 2090, 3, 2, 2, 2, 2090, 2092, 3, 2, 2, 2, 2091, 2089, 3, 2, 2, 2, 2092, 2100, 7, 1130, 2, 2, 2093, 2101, 7, 318, 2, 2, 2094, 2095, 5, 1374, 688, 2, 2095, 2096, 7, 2218, 2, 2, 2096, 2098, 3, 2, 2, 2, 2097, 2094, 3, 2, 2, 2, 2097, 2098, 3, 2, 2, 2, 2098, 2099, 3, 2, 2, 2, 2099, 2101, 7, 1472, 2, 2, 2100, 2093, 3, 2, 2, 2, 2100, 2097, 3, 2, 2, 2, 2101, 67, 3, 2, 2, 2, 2102, 2103, 7, 233, 2, 2, 2103, 2108, 7, 1980, 2, 2, 2104, 2105, 7, 159, 2, 2, 2105, 2108, 5, 1488, 745, 2, 2106, 2108, 5, 1004, 503, 2, 2107, 2102, 3, 2, 2, 2, 2107, 2104, 3, 2, 2, 2, 2107, 2106, 3, 2, 2, 2, 2108, 69, 3, 2, 2, 2, 2109, 2111, 5, 1376, 689, 2, 2110, 2112, 5, 1450, 726, 2, 2111, 2110, 3, 2, 2, 2, 2111, 2112, 3, 2, 2, 2, 2112, 71, 3, 2, 2, 2, 2113, 2114, 7, 233, 2, 2, 2114, 2116, 7, 1980, 2, 2, 2115, 2117, 5, 922, 462, 2, 2116, 2115, 3, 2, 2, 2, 2116, 2117, 3, 2, 2, 2, 2117, 2119, 3, 2, 2, 2, 2118, 2120, 5, 74, 38, 2, 2119, 2118, 3, 2, 2, 2, 2120, 2121, 3, 2, 2, 2, 2121, 2119, 3, 2, 2, 2, 2121, 2122, 3, 2, 2, 2, 2122, 2123, 3, 2, 2, 2, 2123, 2124, 7, 447, 2, 2, 2124, 2125, 5, 1412, 707, 2, 2125, 73, 3, 2, 2, 2, 2126, 2127, 7, 103, 2, 2, 2127, 2128, 7, 1576, 2, 2, 2128, 2129, 7, 697, 2, 2, 2129, 2130, 5, 1004, 503, 2, 2130, 2131, 7, 103, 2, 2, 2131, 2132, 7, 1576, 2, 2, 2132, 2133, 7, 2243, 2, 2, 2133, 2163, 3, 2, 2, 2, 2134, 2135, 7, 103, 2, 2, 2135, 2136, 7, 424, 2, 2, 2136, 2137, 7, 1453, 2, 2, 2137, 2138, 7, 697, 2, 2, 2138, 2139, 5, 1004, 503, 2, 2139, 2140, 7, 103, 2, 2, 2140, 2141, 7, 424, 2, 2, 2141, 2142, 7, 1453, 2, 2, 2142, 2143, 7, 2243, 2, 2, 2143, 2163, 3, 2, 2, 2, 2144, 2145, 7, 32, 2, 2, 2145, 2146, 7, 1576, 2, 2, 2146, 2147, 7, 697, 2, 2, 2147, 2148, 5, 1004, 503, 2, 2148, 2149, 7, 32, 2, 2, 2149, 2150, 7, 1576, 2, 2, 2150, 2151, 7, 2243, 2, 2, 2151, 2163, 3, 2, 2, 2, 2152, 2153, 7, 32, 2, 2, 2153, 2154, 7, 424, 2, 2, 2154, 2155, 7, 1453, 2, 2, 2155, 2156, 7, 697, 2, 2, 2156, 2157, 5, 1004, 503, 2, 2157, 2158, 7, 32, 2, 2, 2158, 2159, 7, 424, 2, 2, 2159, 2160, 7, 1453, 2, 2, 2160, 2161, 7, 2243, 2, 2, 2161, 2163, 3, 2, 2, 2, 2162, 2126, 3, 2, 2, 2, 2162, 2134, 3, 2, 2, 2, 2162, 2144, 3, 2, 2, 2, 2162, 2152, 3, 2, 2, 2, 2163, 75, 3, 2, 2, 2, 2164, 2191, 7, 41, 2, 2, 2165, 2191, 7, 43, 2, 2, 2166, 2167, 7, 71, 2, 2, 2167, 2191, 7, 1579, 2, 2, 2168, 2191, 7, 79, 2, 2, 2169, 2191, 7, 219, 2, 2, 2170, 2191, 7, 290, 2, 2, 2171, 2172, 7, 390, 2, 2, 2172, 2191, 7, 1579, 2, 2, 2173, 2191, 7, 413, 2, 2, 2174, 2191, 7, 573, 2, 2, 2175, 2191, 7, 942, 2, 2, 2176, 2191, 7, 1406, 2, 2, 2177, 2191, 7, 1436, 2, 2, 2178, 2191, 7, 1982, 2, 2, 2179, 2191, 7, 340, 2, 2, 2180, 2191, 7, 1572, 2, 2, 2181, 2191, 7, 1524, 2, 2, 2182, 2191, 7, 336, 2, 2, 2183, 2191, 7, 788, 2, 2, 2184, 2191, 7, 787, 2, 2, 2185, 2191, 7, 1504, 2, 2, 2186, 2191, 7, 1623, 2, 2, 2187, 2191, 7, 318, 2, 2, 2188, 2191, 7, 1472, 2, 2, 2189, 2191, 7, 542, 2, 2, 2190, 2164, 3, 2, 2, 2, 2190, 2165, 3, 2, 2, 2, 2190, 2166, 3, 2, 2, 2, 2190, 2168, 3, 2, 2, 2, 2190, 2169, 3, 2, 2, 2, 2190, 2170, 3, 2, 2, 2, 2190, 2171, 3, 2, 2, 2, 2190, 2173, 3, 2, 2, 2, 2190, 2174, 3, 2, 2, 2, 2190, 2175, 3, 2, 2, 2, 2190, 2176, 3, 2, 2, 2, 2190, 2177, 3, 2, 2, 2, 2190, 2178, 3, 2, 2, 2, 2190, 2179, 3, 2, 2, 2, 2190, 2180, 3, 2, 2, 2, 2190, 2181, 3, 2, 2, 2, 2190, 2182, 3, 2, 2, 2, 2190, 2183, 3, 2, 2, 2, 2190, 2184, 3, 2, 2, 2, 2190, 2185, 3, 2, 2, 2, 2190, 2186, 3, 2, 2, 2, 2190, 2187, 3, 2, 2, 2, 2190, 2188, 3, 2, 2, 2, 2190, 2189, 3, 2, 2, 2, 2191, 77, 3, 2, 2, 2, 2192, 2197, 5, 80, 41, 2, 2193, 2194, 7, 1174, 2, 2, 2194, 2196, 5, 80, 41, 2, 2195, 2193, 3, 2, 2, 2, 2196, 2199, 3, 2, 2, 2, 2197, 2195, 3, 2, 2, 2, 2197, 2198, 3, 2, 2, 2, 2198, 2200, 3, 2, 2, 2, 2199, 2197, 3, 2, 2, 2, 2200, 2202, 7, 1130, 2, 2, 2201, 2203, 5, 82, 42, 2, 2202, 2201, 3, 2, 2, 2, 2202, 2203, 3, 2, 2, 2, 2203, 2204, 3, 2, 2, 2, 2204, 2205, 5, 1428, 715, 2, 2205, 79, 3, 2, 2, 2, 2206, 2209, 9, 9, 2, 2, 2207, 2208, 7, 1117, 2, 2, 2208, 2210, 5, 1444, 723, 2, 2209, 2207, 3, 2, 2, 2, 2209, 2210, 3, 2, 2, 2, 2210, 81, 3, 2, 2, 2, 2211, 2212, 7, 897, 2, 2, 2212, 2213, 7, 1914, 2, 2, 2213, 2214, 5, 1428, 715, 2, 2214, 2215, 7, 1117, 2, 2, 2215, 83, 3, 2, 2, 2, 2216, 2218, 7, 1377, 2, 2, 2217, 2219, 5, 86, 44, 2, 2218, 2217, 3, 2, 2, 2, 2219, 2220, 3, 2, 2, 2, 2220, 2218, 3, 2, 2, 2, 2220, 2221, 3, 2, 2, 2, 2221, 85, 3, 2, 2, 2, 2222, 2223, 9, 10, 2, 2, 2223, 2224, 5, 1354, 678, 2, 2224, 87, 3, 2, 2, 2, 2225, 2226, 7, 413, 2, 2, 2226, 2228, 7, 1989, 2, 2, 2227, 2229, 7, 135, 2, 2, 2228, 2227, 3, 2, 2, 2, 2228, 2229, 3, 2, 2, 2, 2229, 2230, 3, 2, 2, 2, 2230, 2232, 5, 1402, 702, 2, 2231, 2233, 9, 11, 2, 2, 2232, 2231, 3, 2, 2, 2, 2232, 2233, 3, 2, 2, 2, 2233, 2234, 3, 2, 2, 2, 2234, 2235, 7, 2243, 2, 2, 2235, 89, 3, 2, 2, 2, 2236, 2237, 7, 41, 2, 2, 2237, 2238, 7, 1989, 2, 2, 2238, 2245, 5, 1402, 702, 2, 2239, 2246, 5, 92, 47, 2, 2240, 2246, 5, 94, 48, 2, 2241, 2246, 5, 96, 49, 2, 2242, 2246, 5, 104, 53, 2, 2243, 2246, 5, 138, 70, 2, 2244, 2246, 5, 150, 76, 2, 2245, 2239, 3, 2, 2, 2, 2245, 2240, 3, 2, 2, 2, 2245, 2241, 3, 2, 2, 2, 2245, 2242, 3, 2, 2, 2, 2245, 2243, 3, 2, 2, 2, 2245, 2244, 3, 2, 2, 2, 2246, 2248, 3, 2, 2, 2, 2247, 2249, 5, 106, 54, 2, 2248, 2247, 3, 2, 2, 2, 2248, 2249, 3, 2, 2, 2, 2249, 2250, 3, 2, 2, 2, 2250, 2251, 7, 2243, 2, 2, 2251, 91, 3, 2, 2, 2, 2252, 2254, 7, 225, 2, 2, 2253, 2255, 7, 342, 2, 2, 2254, 2253, 3, 2, 2, 2, 2254, 2255, 3, 2, 2, 2, 2255, 2257, 3, 2, 2, 2, 2256, 2258, 9, 12, 2, 2, 2257, 2256, 3, 2, 2, 2, 2257, 2258, 3, 2, 2, 2, 2258, 2262, 3, 2, 2, 2, 2259, 2261, 5, 400, 201, 2, 2260, 2259, 3, 2, 2, 2, 2261, 2264, 3, 2, 2, 2, 2262, 2260, 3, 2, 2, 2, 2262, 2263, 3, 2, 2, 2, 2263, 2267, 3, 2, 2, 2, 2264, 2262, 3, 2, 2, 2, 2265, 2266, 7, 1434, 2, 2, 2266, 2268, 7, 1514, 2, 2, 2267, 2265, 3, 2, 2, 2, 2267, 2268, 3, 2, 2, 2, 2268, 93, 3, 2, 2, 2, 2269, 2271, 7, 1409, 2, 2, 2270, 2272, 5, 906, 454, 2, 2271, 2270, 3, 2, 2, 2, 2271, 2272, 3, 2, 2, 2, 2272, 2273, 3, 2, 2, 2, 2273, 2274, 7, 63, 2, 2, 2274, 2275, 7, 1109, 2, 2, 2275, 2276, 7, 2225, 2, 2, 2276, 2281, 5, 140, 71, 2, 2277, 2278, 7, 2231, 2, 2, 2278, 2280, 5, 140, 71, 2, 2279, 2277, 3, 2, 2, 2, 2280, 2283, 3, 2, 2, 2, 2281, 2279, 3, 2, 2, 2, 2281, 2282, 3, 2, 2, 2, 2282, 2284, 3, 2, 2, 2, 2283, 2281, 3, 2, 2, 2, 2284, 2285, 7, 2226, 2, 2, 2285, 95, 3, 2, 2, 2, 2286, 2291, 5, 98, 50, 2, 2287, 2288, 7, 2231, 2, 2, 2288, 2290, 5, 98, 50, 2, 2289, 2287, 3, 2, 2, 2, 2290, 2293, 3, 2, 2, 2, 2291, 2289, 3, 2, 2, 2, 2291, 2292, 3, 2, 2, 2, 2292, 97, 3, 2, 2, 2, 2293, 2291, 3, 2, 2, 2, 2294, 2297, 9, 13, 2, 2, 2295, 2298, 5, 160, 81, 2, 2296, 2298, 5, 148, 75, 2, 2297, 2295, 3, 2, 2, 2, 2297, 2296, 3, 2, 2, 2, 2298, 99, 3, 2, 2, 2, 2299, 2300, 9, 14, 2, 2, 2300, 2313, 7, 77, 2, 2, 2301, 2314, 5, 102, 52, 2, 2302, 2303, 7, 2225, 2, 2, 2303, 2308, 5, 102, 52, 2, 2304, 2305, 7, 2231, 2, 2, 2305, 2307, 5, 102, 52, 2, 2306, 2304, 3, 2, 2, 2, 2307, 2310, 3, 2, 2, 2, 2308, 2306, 3, 2, 2, 2, 2308, 2309, 3, 2, 2, 2, 2309, 2311, 3, 2, 2, 2, 2310, 2308, 3, 2, 2, 2, 2311, 2312, 7, 2226, 2, 2, 2312, 2314, 3, 2, 2, 2, 2313, 2301, 3, 2, 2, 2, 2313, 2302, 3, 2, 2, 2, 2314, 101, 3, 2, 2, 2, 2315, 2317, 5, 1366, 684, 2, 2316, 2318, 5, 1460, 731, 2, 2317, 2316, 3, 2, 2, 2, 2317, 2318, 3, 2, 2, 2, 2318, 103, 3, 2, 2, 2, 2319, 2325, 7, 865, 2, 2, 2320, 2321, 7, 760, 2, 2, 2321, 2326, 5, 1236, 619, 2, 2322, 2323, 7, 429, 2, 2, 2323, 2324, 7, 1989, 2, 2, 2324, 2326, 5, 1460, 731, 2, 2325, 2320, 3, 2, 2, 2, 2325, 2322, 3, 2, 2, 2, 2326, 105, 3, 2, 2, 2, 2327, 2344, 7, 694, 2, 2, 2328, 2338, 7, 164, 2, 2, 2329, 2330, 7, 271, 2, 2, 2330, 2331, 7, 1966, 2, 2, 2331, 2339, 7, 1613, 2, 2, 2332, 2334, 7, 1075, 2, 2, 2333, 2332, 3, 2, 2, 2, 2333, 2334, 3, 2, 2, 2, 2334, 2335, 3, 2, 2, 2, 2335, 2336, 7, 621, 2, 2, 2336, 2337, 7, 1914, 2, 2, 2337, 2339, 7, 319, 2, 2, 2338, 2329, 3, 2, 2, 2, 2338, 2333, 3, 2, 2, 2, 2338, 2339, 3, 2, 2, 2, 2339, 2341, 3, 2, 2, 2, 2340, 2342, 5, 108, 55, 2, 2341, 2340, 3, 2, 2, 2, 2341, 2342, 3, 2, 2, 2, 2342, 2344, 3, 2, 2, 2, 2343, 2327, 3, 2, 2, 2, 2343, 2328, 3, 2, 2, 2, 2344, 107, 3, 2, 2, 2, 2345, 2347, 7, 544, 2, 2, 2346, 2345, 3, 2, 2, 2, 2346, 2347, 3, 2, 2, 2, 2347, 2348, 3, 2, 2, 2, 2348, 2349, 7, 472, 2, 2, 2349, 2350, 7, 693, 2, 2, 2350, 2351, 5, 1428, 715, 2, 2351, 109, 3, 2, 2, 2, 2352, 2355, 7, 290, 2, 2, 2353, 2354, 7, 1174, 2, 2, 2354, 2356, 7, 1409, 2, 2, 2355, 2353, 3, 2, 2, 2, 2355, 2356, 3, 2, 2, 2, 2356, 2357, 3, 2, 2, 2, 2357, 2360, 7, 1989, 2, 2, 2358, 2361, 5, 112, 57, 2, 2359, 2361, 5, 124, 63, 2, 2360, 2358, 3, 2, 2, 2, 2360, 2359, 3, 2, 2, 2, 2361, 2362, 3, 2, 2, 2, 2362, 2363, 7, 2243, 2, 2, 2363, 111, 3, 2, 2, 2, 2364, 2367, 5, 1402, 702, 2, 2365, 2366, 7, 1119, 2, 2, 2366, 2368, 7, 2221, 2, 2, 2367, 2365, 3, 2, 2, 2, 2367, 2368, 3, 2, 2, 2, 2368, 2370, 3, 2, 2, 2, 2369, 2371, 5, 114, 58, 2, 2370, 2369, 3, 2, 2, 2, 2370, 2371, 3, 2, 2, 2, 2371, 113, 3, 2, 2, 2, 2372, 2374, 5, 906, 454, 2, 2373, 2372, 3, 2, 2, 2, 2373, 2374, 3, 2, 2, 2, 2374, 2377, 3, 2, 2, 2, 2375, 2378, 5, 116, 59, 2, 2376, 2378, 5, 118, 60, 2, 2377, 2375, 3, 2, 2, 2, 2377, 2376, 3, 2, 2, 2, 2378, 2380, 3, 2, 2, 2, 2379, 2381, 5, 122, 62, 2, 2380, 2379, 3, 2, 2, 2, 2380, 2381, 3, 2, 2, 2, 2381, 2393, 3, 2, 2, 2, 2382, 2383, 7, 2225, 2, 2, 2383, 2388, 5, 140, 71, 2, 2384, 2385, 7, 2231, 2, 2, 2385, 2387, 5, 140, 71, 2, 2386, 2384, 3, 2, 2, 2, 2387, 2390, 3, 2, 2, 2, 2388, 2386, 3, 2, 2, 2, 2388, 2389, 3, 2, 2, 2, 2389, 2391, 3, 2, 2, 2, 2390, 2388, 3, 2, 2, 2, 2391, 2392, 7, 2226, 2, 2, 2392, 2394, 3, 2, 2, 2, 2393, 2382, 3, 2, 2, 2, 2393, 2394, 3, 2, 2, 2, 2394, 2398, 3, 2, 2, 2, 2395, 2397, 5, 138, 70, 2, 2396, 2395, 3, 2, 2, 2, 2397, 2400, 3, 2, 2, 2, 2398, 2396, 3, 2, 2, 2, 2398, 2399, 3, 2, 2, 2, 2399, 115, 3, 2, 2, 2, 2400, 2398, 3, 2, 2, 2, 2401, 2405, 9, 2, 2, 2, 2402, 2406, 7, 1109, 2, 2, 2403, 2406, 5, 950, 476, 2, 2404, 2406, 5, 120, 61, 2, 2405, 2402, 3, 2, 2, 2, 2405, 2403, 3, 2, 2, 2, 2405, 2404, 3, 2, 2, 2, 2406, 117, 3, 2, 2, 2, 2407, 2408, 7, 1999, 2, 2, 2408, 2409, 5, 1460, 731, 2, 2409, 119, 3, 2, 2, 2, 2410, 2411, 7, 1914, 2, 2, 2411, 2412, 7, 1117, 2, 2, 2412, 2415, 5, 1460, 731, 2, 2413, 2414, 7, 1075, 2, 2, 2414, 2416, 7, 1099, 2, 2, 2415, 2413, 3, 2, 2, 2, 2415, 2416, 3, 2, 2, 2, 2416, 121, 3, 2, 2, 2, 2417, 2418, 7, 495, 2, 2, 2418, 2419, 7, 881, 2, 2, 2419, 2420, 5, 1236, 619, 2, 2420, 2421, 7, 731, 2, 2, 2421, 2422, 7, 702, 2, 2, 2422, 2423, 7, 2065, 2, 2, 2423, 2424, 9, 15, 2, 2, 2424, 123, 3, 2, 2, 2, 2425, 2426, 7, 135, 2, 2, 2426, 2427, 5, 1402, 702, 2, 2427, 2429, 9, 2, 2, 2, 2428, 2430, 5, 126, 64, 2, 2429, 2428, 3, 2, 2, 2, 2430, 2431, 3, 2, 2, 2, 2431, 2429, 3, 2, 2, 2, 2431, 2432, 3, 2, 2, 2, 2432, 2433, 3, 2, 2, 2, 2433, 2434, 7, 447, 2, 2, 2434, 125, 3, 2, 2, 2, 2435, 2439, 5, 128, 65, 2, 2436, 2439, 5, 130, 66, 2, 2437, 2439, 5, 150, 76, 2, 2438, 2435, 3, 2, 2, 2, 2438, 2436, 3, 2, 2, 2, 2438, 2437, 3, 2, 2, 2, 2439, 127, 3, 2, 2, 2, 2440, 2441, 9, 16, 2, 2, 2441, 2442, 7, 828, 2, 2, 2442, 2443, 5, 134, 68, 2, 2443, 129, 3, 2, 2, 2, 2444, 2448, 9, 17, 2, 2, 2445, 2449, 5, 132, 67, 2, 2446, 2449, 5, 134, 68, 2, 2447, 2449, 5, 136, 69, 2, 2448, 2445, 3, 2, 2, 2, 2448, 2446, 3, 2, 2, 2, 2448, 2447, 3, 2, 2, 2, 2449, 131, 3, 2, 2, 2, 2450, 2451, 7, 1316, 2, 2, 2451, 2452, 5, 1410, 706, 2, 2452, 2453, 7, 2225, 2, 2, 2453, 2458, 5, 166, 84, 2, 2454, 2455, 7, 2231, 2, 2, 2455, 2457, 5, 166, 84, 2, 2456, 2454, 3, 2, 2, 2, 2457, 2460, 3, 2, 2, 2, 2458, 2456, 3, 2, 2, 2, 2458, 2459, 3, 2, 2, 2, 2459, 2461, 3, 2, 2, 2, 2460, 2458, 3, 2, 2, 2, 2461, 2462, 7, 2226, 2, 2, 2462, 2473, 9, 2, 2, 2, 2463, 2474, 5, 908, 455, 2, 2464, 2466, 7, 346, 2, 2, 2465, 2464, 3, 2, 2, 2, 2465, 2466, 3, 2, 2, 2, 2466, 2468, 3, 2, 2, 2, 2467, 2469, 5, 922, 462, 2, 2468, 2467, 3, 2, 2, 2, 2468, 2469, 3, 2, 2, 2, 2469, 2470, 3, 2, 2, 2, 2470, 2471, 5, 1000, 501, 2, 2471, 2472, 7, 2243, 2, 2, 2472, 2474, 3, 2, 2, 2, 2473, 2463, 3, 2, 2, 2, 2473, 2465, 3, 2, 2, 2, 2474, 133, 3, 2, 2, 2, 2475, 2476, 7, 560, 2, 2, 2476, 2488, 5, 1408, 705, 2, 2477, 2478, 7, 2225, 2, 2, 2478, 2483, 5, 166, 84, 2, 2479, 2480, 7, 2231, 2, 2, 2480, 2482, 5, 166, 84, 2, 2481, 2479, 3, 2, 2, 2, 2482, 2485, 3, 2, 2, 2, 2483, 2481, 3, 2, 2, 2, 2483, 2484, 3, 2, 2, 2, 2484, 2486, 3, 2, 2, 2, 2485, 2483, 3, 2, 2, 2, 2486, 2487, 7, 2226, 2, 2, 2487, 2489, 3, 2, 2, 2, 2488, 2477, 3, 2, 2, 2, 2488, 2489, 3, 2, 2, 2, 2489, 2490, 3, 2, 2, 2, 2490, 2491, 7, 1433, 2, 2, 2491, 2492, 5, 1460, 731, 2, 2492, 2503, 9, 2, 2, 2, 2493, 2504, 5, 908, 455, 2, 2494, 2496, 7, 346, 2, 2, 2495, 2494, 3, 2, 2, 2, 2495, 2496, 3, 2, 2, 2, 2496, 2498, 3, 2, 2, 2, 2497, 2499, 5, 922, 462, 2, 2498, 2497, 3, 2, 2, 2, 2498, 2499, 3, 2, 2, 2, 2499, 2500, 3, 2, 2, 2, 2500, 2501, 5, 1000, 501, 2, 2501, 2502, 7, 2243, 2, 2, 2502, 2504, 3, 2, 2, 2, 2503, 2493, 3, 2, 2, 2, 2503, 2495, 3, 2, 2, 2, 2504, 135, 3, 2, 2, 2, 2505, 2507, 7, 525, 2, 2, 2506, 2505, 3, 2, 2, 2, 2506, 2507, 3, 2, 2, 2, 2507, 2509, 3, 2, 2, 2, 2508, 2510, 7, 676, 2, 2, 2509, 2508, 3, 2, 2, 2, 2509, 2510, 3, 2, 2, 2, 2510, 2511, 3, 2, 2, 2, 2511, 2512, 7, 261, 2, 2, 2512, 2513, 7, 560, 2, 2, 2513, 2531, 5, 1460, 731, 2, 2514, 2515, 7, 2225, 2, 2, 2515, 2516, 7, 1493, 2, 2, 2516, 2517, 7, 654, 2, 2, 2517, 2518, 7, 1184, 2, 2, 2518, 2519, 5, 1460, 731, 2, 2519, 2520, 7, 2231, 2, 2, 2520, 2521, 3, 2, 2, 2, 2521, 2526, 5, 166, 84, 2, 2522, 2523, 7, 2231, 2, 2, 2523, 2525, 5, 166, 84, 2, 2524, 2522, 3, 2, 2, 2, 2525, 2528, 3, 2, 2, 2, 2526, 2524, 3, 2, 2, 2, 2526, 2527, 3, 2, 2, 2, 2527, 2529, 3, 2, 2, 2, 2528, 2526, 3, 2, 2, 2, 2529, 2530, 7, 2226, 2, 2, 2530, 2532, 3, 2, 2, 2, 2531, 2514, 3, 2, 2, 2, 2531, 2532, 3, 2, 2, 2, 2532, 2533, 3, 2, 2, 2, 2533, 2534, 7, 1433, 2, 2, 2534, 2535, 7, 1493, 2, 2, 2535, 2536, 7, 63, 2, 2, 2536, 2537, 7, 1427, 2, 2, 2537, 2548, 9, 2, 2, 2, 2538, 2549, 5, 908, 455, 2, 2539, 2541, 7, 346, 2, 2, 2540, 2539, 3, 2, 2, 2, 2540, 2541, 3, 2, 2, 2, 2541, 2543, 3, 2, 2, 2, 2542, 2544, 5, 922, 462, 2, 2543, 2542, 3, 2, 2, 2, 2543, 2544, 3, 2, 2, 2, 2544, 2545, 3, 2, 2, 2, 2545, 2546, 5, 1000, 501, 2, 2546, 2547, 7, 2243, 2, 2, 2547, 2549, 3, 2, 2, 2, 2548, 2538, 3, 2, 2, 2, 2548, 2540, 3, 2, 2, 2, 2549, 137, 3, 2, 2, 2, 2550, 2552, 7, 1075, 2, 2, 2551, 2550, 3, 2, 2, 2, 2551, 2552, 3, 2, 2, 2, 2552, 2553, 3, 2, 2, 2, 2553, 2554, 9, 18, 2, 2, 2554, 139, 3, 2, 2, 2, 2555, 2556, 5, 1488, 745, 2, 2556, 2558, 5, 1460, 731, 2, 2557, 2559, 5, 142, 72, 2, 2558, 2557, 3, 2, 2, 2, 2558, 2559, 3, 2, 2, 2, 2559, 2562, 3, 2, 2, 2, 2560, 2562, 5, 144, 73, 2, 2561, 2555, 3, 2, 2, 2, 2561, 2560, 3, 2, 2, 2, 2562, 141, 3, 2, 2, 2, 2563, 2564, 7, 495, 2, 2, 2564, 2565, 7, 881, 2, 2, 2565, 2566, 5, 1236, 619, 2, 2566, 143, 3, 2, 2, 2, 2567, 2569, 5, 138, 70, 2, 2568, 2567, 3, 2, 2, 2, 2568, 2569, 3, 2, 2, 2, 2569, 2571, 3, 2, 2, 2, 2570, 2572, 5, 146, 74, 2, 2571, 2570, 3, 2, 2, 2, 2572, 2573, 3, 2, 2, 2, 2573, 2571, 3, 2, 2, 2, 2573, 2574, 3, 2, 2, 2, 2574, 2577, 3, 2, 2, 2, 2575, 2576, 7, 2231, 2, 2, 2576, 2578, 5, 162, 82, 2, 2577, 2575, 3, 2, 2, 2, 2577, 2578, 3, 2, 2, 2, 2578, 145, 3, 2, 2, 2, 2579, 2583, 5, 148, 75, 2, 2580, 2583, 5, 158, 80, 2, 2581, 2583, 5, 160, 81, 2, 2582, 2579, 3, 2, 2, 2, 2582, 2580, 3, 2, 2, 2, 2582, 2581, 3, 2, 2, 2, 2583, 147, 3, 2, 2, 2, 2584, 2587, 9, 17, 2, 2, 2585, 2588, 5, 154, 78, 2, 2586, 2588, 5, 156, 79, 2, 2587, 2585, 3, 2, 2, 2, 2587, 2586, 3, 2, 2, 2, 2588, 149, 3, 2, 2, 2, 2589, 2590, 7, 1189, 2, 2, 2590, 2591, 7, 828, 2, 2, 2591, 2592, 5, 152, 77, 2, 2592, 151, 3, 2, 2, 2, 2593, 2594, 7, 560, 2, 2, 2594, 2606, 5, 1408, 705, 2, 2595, 2596, 7, 2225, 2, 2, 2596, 2601, 5, 166, 84, 2, 2597, 2598, 7, 2231, 2, 2, 2598, 2600, 5, 166, 84, 2, 2599, 2597, 3, 2, 2, 2, 2600, 2603, 3, 2, 2, 2, 2601, 2599, 3, 2, 2, 2, 2601, 2602, 3, 2, 2, 2, 2602, 2604, 3, 2, 2, 2, 2603, 2601, 3, 2, 2, 2, 2604, 2605, 7, 2226, 2, 2, 2605, 2607, 3, 2, 2, 2, 2606, 2595, 3, 2, 2, 2, 2606, 2607, 3, 2, 2, 2, 2607, 2608, 3, 2, 2, 2, 2608, 2613, 7, 1433, 2, 2, 2609, 2614, 5, 1460, 731, 2, 2610, 2611, 7, 1493, 2, 2, 2611, 2612, 7, 63, 2, 2, 2612, 2614, 7, 1427, 2, 2, 2613, 2609, 3, 2, 2, 2, 2613, 2610, 3, 2, 2, 2, 2614, 2626, 3, 2, 2, 2, 2615, 2617, 7, 1252, 2, 2, 2616, 2615, 3, 2, 2, 2, 2616, 2617, 3, 2, 2, 2, 2617, 2618, 3, 2, 2, 2, 2618, 2620, 9, 2, 2, 2, 2619, 2621, 7, 346, 2, 2, 2620, 2619, 3, 2, 2, 2, 2620, 2621, 3, 2, 2, 2, 2621, 2623, 3, 2, 2, 2, 2622, 2624, 5, 922, 462, 2, 2623, 2622, 3, 2, 2, 2, 2623, 2624, 3, 2, 2, 2, 2624, 2625, 3, 2, 2, 2, 2625, 2627, 5, 1000, 501, 2, 2626, 2616, 3, 2, 2, 2, 2626, 2627, 3, 2, 2, 2, 2627, 2629, 3, 2, 2, 2, 2628, 2630, 7, 2243, 2, 2, 2629, 2628, 3, 2, 2, 2, 2629, 2630, 3, 2, 2, 2, 2630, 153, 3, 2, 2, 2, 2631, 2632, 7, 1316, 2, 2, 2632, 2633, 5, 1410, 706, 2, 2633, 2634, 7, 2225, 2, 2, 2634, 2639, 5, 166, 84, 2, 2635, 2636, 7, 2231, 2, 2, 2636, 2638, 5, 166, 84, 2, 2637, 2635, 3, 2, 2, 2, 2638, 2641, 3, 2, 2, 2, 2639, 2637, 3, 2, 2, 2, 2639, 2640, 3, 2, 2, 2, 2640, 2642, 3, 2, 2, 2, 2641, 2639, 3, 2, 2, 2, 2642, 2645, 7, 2226, 2, 2, 2643, 2644, 9, 2, 2, 2, 2644, 2646, 5, 908, 455, 2, 2645, 2643, 3, 2, 2, 2, 2645, 2646, 3, 2, 2, 2, 2646, 155, 3, 2, 2, 2, 2647, 2648, 7, 560, 2, 2, 2648, 2660, 5, 1408, 705, 2, 2649, 2650, 7, 2225, 2, 2, 2650, 2655, 5, 166, 84, 2, 2651, 2652, 7, 2231, 2, 2, 2652, 2654, 5, 166, 84, 2, 2653, 2651, 3, 2, 2, 2, 2654, 2657, 3, 2, 2, 2, 2655, 2653, 3, 2, 2, 2, 2655, 2656, 3, 2, 2, 2, 2656, 2658, 3, 2, 2, 2, 2657, 2655, 3, 2, 2, 2, 2658, 2659, 7, 2226, 2, 2, 2659, 2661, 3, 2, 2, 2, 2660, 2649, 3, 2, 2, 2, 2660, 2661, 3, 2, 2, 2, 2661, 2662, 3, 2, 2, 2, 2662, 2667, 7, 1433, 2, 2, 2663, 2668, 5, 1460, 731, 2, 2664, 2665, 7, 1493, 2, 2, 2665, 2666, 7, 63, 2, 2, 2666, 2668, 7, 1427, 2, 2, 2667, 2663, 3, 2, 2, 2, 2667, 2664, 3, 2, 2, 2, 2668, 2677, 3, 2, 2, 2, 2669, 2670, 9, 2, 2, 2, 2670, 2678, 5, 908, 455, 2, 2671, 2673, 7, 495, 2, 2, 2672, 2674, 7, 2079, 2, 2, 2673, 2672, 3, 2, 2, 2, 2673, 2674, 3, 2, 2, 2, 2674, 2675, 3, 2, 2, 2, 2675, 2676, 7, 881, 2, 2, 2676, 2678, 5, 1236, 619, 2, 2677, 2669, 3, 2, 2, 2, 2677, 2671, 3, 2, 2, 2, 2677, 2678, 3, 2, 2, 2, 2678, 157, 3, 2, 2, 2, 2679, 2681, 7, 525, 2, 2, 2680, 2679, 3, 2, 2, 2, 2680, 2681, 3, 2, 2, 2, 2681, 2683, 3, 2, 2, 2, 2682, 2684, 7, 676, 2, 2, 2683, 2682, 3, 2, 2, 2, 2683, 2684, 3, 2, 2, 2, 2684, 2685, 3, 2, 2, 2, 2685, 2686, 7, 261, 2, 2, 2686, 2687, 7, 560, 2, 2, 2687, 2705, 5, 1460, 731, 2, 2688, 2689, 7, 2225, 2, 2, 2689, 2690, 7, 1493, 2, 2, 2690, 2691, 7, 654, 2, 2, 2691, 2692, 7, 1184, 2, 2, 2692, 2693, 5, 1460, 731, 2, 2693, 2694, 7, 2231, 2, 2, 2694, 2695, 3, 2, 2, 2, 2695, 2700, 5, 166, 84, 2, 2696, 2697, 7, 2231, 2, 2, 2697, 2699, 5, 166, 84, 2, 2698, 2696, 3, 2, 2, 2, 2699, 2702, 3, 2, 2, 2, 2700, 2698, 3, 2, 2, 2, 2700, 2701, 3, 2, 2, 2, 2701, 2703, 3, 2, 2, 2, 2702, 2700, 3, 2, 2, 2, 2703, 2704, 7, 2226, 2, 2, 2704, 2706, 3, 2, 2, 2, 2705, 2688, 3, 2, 2, 2, 2705, 2706, 3, 2, 2, 2, 2706, 2707, 3, 2, 2, 2, 2707, 2708, 7, 1433, 2, 2, 2708, 2709, 7, 1493, 2, 2, 2709, 2710, 7, 63, 2, 2, 2710, 2713, 7, 1427, 2, 2, 2711, 2712, 9, 2, 2, 2, 2712, 2714, 5, 908, 455, 2, 2713, 2711, 3, 2, 2, 2, 2713, 2714, 3, 2, 2, 2, 2714, 159, 3, 2, 2, 2, 2715, 2716, 9, 16, 2, 2, 2716, 2717, 7, 828, 2, 2, 2717, 2718, 5, 156, 79, 2, 2718, 161, 3, 2, 2, 2, 2719, 2720, 7, 1289, 2, 2, 2720, 2721, 7, 1424, 2, 2, 2721, 2722, 7, 2225, 2, 2, 2722, 2727, 5, 164, 83, 2, 2723, 2724, 7, 2231, 2, 2, 2724, 2726, 5, 164, 83, 2, 2725, 2723, 3, 2, 2, 2, 2726, 2729, 3, 2, 2, 2, 2727, 2725, 3, 2, 2, 2, 2727, 2728, 3, 2, 2, 2, 2728, 2730, 3, 2, 2, 2, 2729, 2727, 3, 2, 2, 2, 2730, 2731, 7, 2226, 2, 2, 2731, 163, 3, 2, 2, 2, 2732, 2735, 5, 1488, 745, 2, 2733, 2735, 7, 353, 2, 2, 2734, 2732, 3, 2, 2, 2, 2734, 2733, 3, 2, 2, 2, 2735, 165, 3, 2, 2, 2, 2736, 2737, 5, 1382, 692, 2, 2737, 2738, 5, 1460, 731, 2, 2738, 167, 3, 2, 2, 2, 2739, 2740, 7, 413, 2, 2, 2740, 2741, 7, 1498, 2, 2, 2741, 2742, 5, 1404, 703, 2, 2742, 2743, 7, 2243, 2, 2, 2743, 169, 3, 2, 2, 2, 2744, 2745, 7, 41, 2, 2, 2745, 2746, 7, 1498, 2, 2, 2746, 2748, 5, 1404, 703, 2, 2747, 2749, 5, 178, 90, 2, 2748, 2747, 3, 2, 2, 2, 2749, 2750, 3, 2, 2, 2, 2750, 2748, 3, 2, 2, 2, 2750, 2751, 3, 2, 2, 2, 2751, 2752, 3, 2, 2, 2, 2752, 2753, 7, 2243, 2, 2, 2753, 171, 3, 2, 2, 2, 2754, 2755, 7, 41, 2, 2, 2755, 2785, 7, 1508, 2, 2, 2756, 2757, 7, 29, 2, 2, 2757, 2786, 9, 19, 2, 2, 2758, 2759, 7, 197, 2, 2, 2759, 2760, 7, 318, 2, 2, 2760, 2761, 7, 762, 2, 2, 2761, 2786, 5, 1382, 692, 2, 2762, 2763, 5, 650, 326, 2, 2763, 2764, 7, 220, 2, 2, 2764, 2765, 7, 654, 2, 2, 2765, 2766, 7, 1316, 2, 2, 2766, 2786, 3, 2, 2, 2, 2767, 2768, 5, 650, 326, 2, 2768, 2769, 7, 582, 2, 2, 2769, 2786, 3, 2, 2, 2, 2770, 2773, 5, 650, 326, 2, 2771, 2773, 7, 544, 2, 2, 2772, 2770, 3, 2, 2, 2, 2772, 2771, 3, 2, 2, 2, 2773, 2774, 3, 2, 2, 2, 2774, 2775, 7, 1197, 2, 2, 2775, 2781, 9, 20, 2, 2, 2776, 2779, 7, 1197, 2, 2, 2777, 2780, 5, 1292, 647, 2, 2778, 2780, 5, 1382, 692, 2, 2779, 2777, 3, 2, 2, 2, 2779, 2778, 3, 2, 2, 2, 2780, 2782, 3, 2, 2, 2, 2781, 2776, 3, 2, 2, 2, 2781, 2782, 3, 2, 2, 2, 2782, 2786, 3, 2, 2, 2, 2783, 2784, 7, 1512, 2, 2, 2784, 2786, 5, 174, 88, 2, 2785, 2756, 3, 2, 2, 2, 2785, 2758, 3, 2, 2, 2, 2785, 2762, 3, 2, 2, 2, 2785, 2767, 3, 2, 2, 2, 2785, 2772, 3, 2, 2, 2, 2785, 2783, 3, 2, 2, 2, 2786, 173, 3, 2, 2, 2, 2787, 2788, 5, 1382, 692, 2, 2788, 2789, 7, 2245, 2, 2, 2789, 2790, 5, 402, 202, 2, 2790, 175, 3, 2, 2, 2, 2791, 2792, 7, 290, 2, 2, 2792, 2793, 7, 1498, 2, 2, 2793, 2798, 5, 1404, 703, 2, 2794, 2797, 5, 180, 91, 2, 2795, 2797, 5, 178, 90, 2, 2796, 2794, 3, 2, 2, 2, 2796, 2795, 3, 2, 2, 2, 2797, 2800, 3, 2, 2, 2, 2798, 2796, 3, 2, 2, 2, 2798, 2799, 3, 2, 2, 2, 2799, 2801, 3, 2, 2, 2, 2800, 2798, 3, 2, 2, 2, 2801, 2802, 7, 2243, 2, 2, 2802, 177, 3, 2, 2, 2, 2803, 2804, 7, 623, 2, 2, 2804, 2805, 7, 148, 2, 2, 2805, 2820, 7, 2219, 2, 2, 2806, 2807, 7, 824, 2, 2, 2807, 2820, 7, 2219, 2, 2, 2808, 2820, 7, 997, 2, 2, 2809, 2810, 7, 847, 2, 2, 2810, 2820, 7, 2219, 2, 2, 2811, 2820, 7, 1000, 2, 2, 2812, 2820, 7, 316, 2, 2, 2813, 2820, 7, 965, 2, 2, 2814, 2815, 7, 152, 2, 2, 2815, 2820, 7, 2219, 2, 2, 2816, 2820, 7, 948, 2, 2, 2817, 2820, 7, 1170, 2, 2, 2818, 2820, 7, 1015, 2, 2, 2819, 2803, 3, 2, 2, 2, 2819, 2806, 3, 2, 2, 2, 2819, 2808, 3, 2, 2, 2, 2819, 2809, 3, 2, 2, 2, 2819, 2811, 3, 2, 2, 2, 2819, 2812, 3, 2, 2, 2, 2819, 2813, 3, 2, 2, 2, 2819, 2814, 3, 2, 2, 2, 2819, 2816, 3, 2, 2, 2, 2819, 2817, 3, 2, 2, 2, 2819, 2818, 3, 2, 2, 2, 2820, 179, 3, 2, 2, 2, 2821, 2822, 7, 1571, 2, 2, 2822, 2823, 7, 2123, 2, 2, 2823, 2824, 7, 2219, 2, 2, 2824, 181, 3, 2, 2, 2, 2825, 2827, 7, 290, 2, 2, 2826, 2828, 9, 21, 2, 2, 2827, 2826, 3, 2, 2, 2, 2827, 2828, 3, 2, 2, 2, 2828, 2829, 3, 2, 2, 2, 2829, 2830, 7, 633, 2, 2, 2830, 2831, 5, 1416, 709, 2, 2831, 2835, 7, 1130, 2, 2, 2832, 2836, 5, 184, 93, 2, 2833, 2836, 5, 188, 95, 2, 2834, 2836, 5, 190, 96, 2, 2835, 2832, 3, 2, 2, 2, 2835, 2833, 3, 2, 2, 2, 2835, 2834, 3, 2, 2, 2, 2836, 2838, 3, 2, 2, 2, 2837, 2839, 7, 2023, 2, 2, 2838, 2837, 3, 2, 2, 2, 2838, 2839, 3, 2, 2, 2, 2839, 2840, 3, 2, 2, 2, 2840, 2841, 7, 2243, 2, 2, 2841, 183, 3, 2, 2, 2, 2842, 2843, 7, 199, 2, 2, 2843, 2845, 5, 186, 94, 2, 2844, 2846, 5, 770, 386, 2, 2845, 2844, 3, 2, 2, 2, 2845, 2846, 3, 2, 2, 2, 2846, 185, 3, 2, 2, 2, 2847, 2848, 5, 1490, 746, 2, 2848, 2849, 7, 2218, 2, 2, 2849, 2851, 3, 2, 2, 2, 2850, 2847, 3, 2, 2, 2, 2850, 2851, 3, 2, 2, 2, 2851, 2852, 3, 2, 2, 2, 2852, 2853, 5, 1490, 746, 2, 2853, 187, 3, 2, 2, 2, 2854, 2856, 5, 1428, 715, 2, 2855, 2857, 5, 1356, 679, 2, 2856, 2855, 3, 2, 2, 2, 2856, 2857, 3, 2, 2, 2, 2857, 2858, 3, 2, 2, 2, 2858, 2859, 7, 2225, 2, 2, 2859, 2861, 5, 192, 97, 2, 2860, 2862, 9, 22, 2, 2, 2861, 2860, 3, 2, 2, 2, 2861, 2862, 3, 2, 2, 2, 2862, 2870, 3, 2, 2, 2, 2863, 2864, 7, 2231, 2, 2, 2864, 2866, 5, 192, 97, 2, 2865, 2867, 9, 22, 2, 2, 2866, 2865, 3, 2, 2, 2, 2866, 2867, 3, 2, 2, 2, 2867, 2869, 3, 2, 2, 2, 2868, 2863, 3, 2, 2, 2, 2869, 2872, 3, 2, 2, 2, 2870, 2868, 3, 2, 2, 2, 2870, 2871, 3, 2, 2, 2, 2871, 2873, 3, 2, 2, 2, 2872, 2870, 3, 2, 2, 2, 2873, 2875, 7, 2226, 2, 2, 2874, 2876, 5, 194, 98, 2, 2875, 2874, 3, 2, 2, 2, 2875, 2876, 3, 2, 2, 2, 2876, 189, 3, 2, 2, 2, 2877, 2878, 5, 1428, 715, 2, 2878, 2881, 7, 2225, 2, 2, 2879, 2882, 5, 1428, 715, 2, 2880, 2882, 5, 1356, 679, 2, 2881, 2879, 3, 2, 2, 2, 2881, 2880, 3, 2, 2, 2, 2881, 2882, 3, 2, 2, 2, 2882, 2883, 3, 2, 2, 2, 2883, 2885, 5, 1426, 714, 2, 2884, 2886, 9, 22, 2, 2, 2885, 2884, 3, 2, 2, 2, 2885, 2886, 3, 2, 2, 2, 2886, 2898, 3, 2, 2, 2, 2887, 2890, 7, 2231, 2, 2, 2888, 2891, 5, 1428, 715, 2, 2889, 2891, 5, 1356, 679, 2, 2890, 2888, 3, 2, 2, 2, 2890, 2889, 3, 2, 2, 2, 2890, 2891, 3, 2, 2, 2, 2891, 2892, 3, 2, 2, 2, 2892, 2894, 5, 1426, 714, 2, 2893, 2895, 9, 22, 2, 2, 2894, 2893, 3, 2, 2, 2, 2894, 2895, 3, 2, 2, 2, 2895, 2897, 3, 2, 2, 2, 2896, 2887, 3, 2, 2, 2, 2897, 2900, 3, 2, 2, 2, 2898, 2896, 3, 2, 2, 2, 2898, 2899, 3, 2, 2, 2, 2899, 2901, 3, 2, 2, 2, 2900, 2898, 3, 2, 2, 2, 2901, 2902, 7, 2226, 2, 2, 2902, 2903, 7, 556, 2, 2, 2903, 2904, 5, 1428, 715, 2, 2904, 2911, 5, 1356, 679, 2, 2905, 2906, 7, 2231, 2, 2, 2906, 2907, 5, 1428, 715, 2, 2907, 2908, 5, 1356, 679, 2, 2908, 2910, 3, 2, 2, 2, 2909, 2905, 3, 2, 2, 2, 2910, 2913, 3, 2, 2, 2, 2911, 2909, 3, 2, 2, 2, 2911, 2912, 3, 2, 2, 2, 2912, 2914, 3, 2, 2, 2, 2913, 2911, 3, 2, 2, 2, 2914, 2916, 5, 1358, 680, 2, 2915, 2917, 5, 208, 105, 2, 2916, 2915, 3, 2, 2, 2, 2916, 2917, 3, 2, 2, 2, 2917, 2919, 3, 2, 2, 2, 2918, 2920, 5, 770, 386, 2, 2919, 2918, 3, 2, 2, 2, 2919, 2920, 3, 2, 2, 2, 2920, 191, 3, 2, 2, 2, 2921, 2924, 5, 1426, 714, 2, 2922, 2924, 5, 1236, 619, 2, 2923, 2921, 3, 2, 2, 2, 2923, 2922, 3, 2, 2, 2, 2924, 193, 3, 2, 2, 2, 2925, 2929, 5, 204, 103, 2, 2926, 2929, 5, 208, 105, 2, 2927, 2929, 5, 770, 386, 2, 2928, 2925, 3, 2, 2, 2, 2928, 2926, 3, 2, 2, 2, 2928, 2927, 3, 2, 2, 2, 2929, 2930, 3, 2, 2, 2, 2930, 2928, 3, 2, 2, 2, 2930, 2931, 3, 2, 2, 2, 2931, 2939, 3, 2, 2, 2, 2932, 2933, 7, 647, 2, 2, 2933, 2936, 7, 697, 2, 2, 2934, 2937, 5, 196, 99, 2, 2935, 2937, 5, 200, 101, 2, 2936, 2934, 3, 2, 2, 2, 2936, 2935, 3, 2, 2, 2, 2937, 2939, 3, 2, 2, 2, 2938, 2928, 3, 2, 2, 2, 2938, 2932, 3, 2, 2, 2, 2939, 195, 3, 2, 2, 2, 2940, 2942, 5, 230, 116, 2, 2941, 2943, 5, 198, 100, 2, 2942, 2941, 3, 2, 2, 2, 2942, 2943, 3, 2, 2, 2, 2943, 2945, 3, 2, 2, 2, 2944, 2946, 5, 476, 239, 2, 2945, 2944, 3, 2, 2, 2, 2945, 2946, 3, 2, 2, 2, 2946, 2952, 3, 2, 2, 2, 2947, 2948, 7, 1199, 2, 2, 2948, 2949, 7, 2225, 2, 2, 2949, 2950, 5, 228, 115, 2, 2950, 2951, 7, 2226, 2, 2, 2951, 2953, 3, 2, 2, 2, 2952, 2947, 3, 2, 2, 2, 2952, 2953, 3, 2, 2, 2, 2953, 197, 3, 2, 2, 2, 2954, 2982, 7, 771, 2, 2, 2955, 2956, 7, 2225, 2, 2, 2956, 2957, 7, 1209, 2, 2, 2957, 2963, 5, 864, 433, 2, 2958, 2959, 7, 1199, 2, 2, 2959, 2960, 7, 2225, 2, 2, 2960, 2961, 5, 228, 115, 2, 2961, 2962, 7, 2226, 2, 2, 2962, 2964, 3, 2, 2, 2, 2963, 2958, 3, 2, 2, 2, 2963, 2964, 3, 2, 2, 2, 2964, 2977, 3, 2, 2, 2, 2965, 2966, 7, 2231, 2, 2, 2966, 2967, 7, 1209, 2, 2, 2967, 2973, 5, 864, 433, 2, 2968, 2969, 7, 1199, 2, 2, 2969, 2970, 7, 2225, 2, 2, 2970, 2971, 5, 228, 115, 2, 2971, 2972, 7, 2226, 2, 2, 2972, 2974, 3, 2, 2, 2, 2973, 2968, 3, 2, 2, 2, 2973, 2974, 3, 2, 2, 2, 2974, 2976, 3, 2, 2, 2, 2975, 2965, 3, 2, 2, 2, 2976, 2979, 3, 2, 2, 2, 2977, 2975, 3, 2, 2, 2, 2977, 2978, 3, 2, 2, 2, 2978, 2980, 3, 2, 2, 2, 2979, 2977, 3, 2, 2, 2, 2980, 2981, 7, 2226, 2, 2, 2981, 2983, 3, 2, 2, 2, 2982, 2955, 3, 2, 2, 2, 2982, 2983, 3, 2, 2, 2, 2983, 199, 3, 2, 2, 2, 2984, 2985, 7, 2129, 2, 2, 2985, 2987, 7, 2218, 2, 2, 2986, 2984, 3, 2, 2, 2, 2986, 2987, 3, 2, 2, 2, 2987, 2988, 3, 2, 2, 2, 2988, 2990, 7, 2146, 2, 2, 2989, 2991, 5, 202, 102, 2, 2990, 2989, 3, 2, 2, 2, 2990, 2991, 3, 2, 2, 2, 2991, 2993, 3, 2, 2, 2, 2992, 2994, 5, 476, 239, 2, 2993, 2992, 3, 2, 2, 2, 2993, 2994, 3, 2, 2, 2, 2994, 201, 3, 2, 2, 2, 2995, 3009, 7, 771, 2, 2, 2996, 2997, 7, 2225, 2, 2, 2997, 2998, 7, 1209, 2, 2, 2998, 3004, 5, 864, 433, 2, 2999, 3000, 7, 2231, 2, 2, 3000, 3001, 7, 1209, 2, 2, 3001, 3003, 5, 864, 433, 2, 3002, 2999, 3, 2, 2, 2, 3003, 3006, 3, 2, 2, 2, 3004, 3002, 3, 2, 2, 2, 3004, 3005, 3, 2, 2, 2, 3005, 3007, 3, 2, 2, 2, 3006, 3004, 3, 2, 2, 2, 3007, 3008, 7, 2226, 2, 2, 3008, 3010, 3, 2, 2, 2, 3009, 2996, 3, 2, 2, 2, 3009, 3010, 3, 2, 2, 2, 3010, 203, 3, 2, 2, 2, 3011, 3012, 7, 568, 2, 2, 3012, 3013, 7, 1209, 2, 2, 3013, 3044, 7, 148, 2, 2, 3014, 3015, 7, 1346, 2, 2, 3015, 3016, 7, 2225, 2, 2, 3016, 3021, 5, 1426, 714, 2, 3017, 3018, 7, 2231, 2, 2, 3018, 3020, 5, 1426, 714, 2, 3019, 3017, 3, 2, 2, 2, 3020, 3023, 3, 2, 2, 2, 3021, 3019, 3, 2, 2, 2, 3021, 3022, 3, 2, 2, 2, 3022, 3024, 3, 2, 2, 2, 3023, 3021, 3, 2, 2, 2, 3024, 3025, 7, 2226, 2, 2, 3025, 3026, 7, 2225, 2, 2, 3026, 3027, 5, 206, 104, 2, 3027, 3028, 7, 2226, 2, 2, 3028, 3045, 3, 2, 2, 2, 3029, 3030, 7, 584, 2, 2, 3030, 3031, 7, 2225, 2, 2, 3031, 3036, 5, 1426, 714, 2, 3032, 3033, 7, 2231, 2, 2, 3033, 3035, 5, 1426, 714, 2, 3034, 3032, 3, 2, 2, 2, 3035, 3038, 3, 2, 2, 2, 3036, 3034, 3, 2, 2, 2, 3036, 3037, 3, 2, 2, 2, 3037, 3039, 3, 2, 2, 2, 3038, 3036, 3, 2, 2, 2, 3039, 3042, 7, 2226, 2, 2, 3040, 3043, 5, 554, 278, 2, 3041, 3043, 5, 556, 279, 2, 3042, 3040, 3, 2, 2, 2, 3042, 3041, 3, 2, 2, 2, 3043, 3045, 3, 2, 2, 2, 3044, 3014, 3, 2, 2, 2, 3044, 3029, 3, 2, 2, 2, 3045, 205, 3, 2, 2, 2, 3046, 3048, 7, 1209, 2, 2, 3047, 3049, 5, 864, 433, 2, 3048, 3047, 3, 2, 2, 2, 3048, 3049, 3, 2, 2, 2, 3049, 3050, 3, 2, 2, 2, 3050, 3051, 7, 2075, 2, 2, 3051, 3052, 7, 748, 2, 2, 3052, 3053, 7, 1926, 2, 2, 3053, 3054, 7, 2225, 2, 2, 3054, 3059, 5, 1292, 647, 2, 3055, 3056, 7, 2231, 2, 2, 3056, 3058, 5, 1292, 647, 2, 3057, 3055, 3, 2, 2, 2, 3058, 3061, 3, 2, 2, 2, 3059, 3057, 3, 2, 2, 2, 3059, 3060, 3, 2, 2, 2, 3060, 3062, 3, 2, 2, 2, 3061, 3059, 3, 2, 2, 2, 3062, 3064, 7, 2226, 2, 2, 3063, 3065, 5, 618, 310, 2, 3064, 3063, 3, 2, 2, 2, 3064, 3065, 3, 2, 2, 2, 3065, 207, 3, 2, 2, 2, 3066, 3071, 7, 771, 2, 2, 3067, 3072, 5, 210, 106, 2, 3068, 3072, 5, 212, 107, 2, 3069, 3072, 5, 216, 109, 2, 3070, 3072, 5, 220, 111, 2, 3071, 3067, 3, 2, 2, 2, 3071, 3068, 3, 2, 2, 2, 3071, 3069, 3, 2, 2, 2, 3071, 3070, 3, 2, 2, 2, 3071, 3072, 3, 2, 2, 2, 3072, 209, 3, 2, 2, 2, 3073, 3074, 7, 2225, 2, 2, 3074, 3079, 5, 214, 108, 2, 3075, 3076, 7, 2231, 2, 2, 3076, 3078, 5, 214, 108, 2, 3077, 3075, 3, 2, 2, 2, 3078, 3081, 3, 2, 2, 2, 3079, 3077, 3, 2, 2, 2, 3079, 3080, 3, 2, 2, 2, 3080, 3082, 3, 2, 2, 2, 3081, 3079, 3, 2, 2, 2, 3082, 3083, 7, 2226, 2, 2, 3083, 211, 3, 2, 2, 2, 3084, 3085, 7, 2225, 2, 2, 3085, 3090, 5, 214, 108, 2, 3086, 3087, 7, 2231, 2, 2, 3087, 3089, 5, 214, 108, 2, 3088, 3086, 3, 2, 2, 2, 3089, 3092, 3, 2, 2, 2, 3090, 3088, 3, 2, 2, 2, 3090, 3091, 3, 2, 2, 2, 3091, 3093, 3, 2, 2, 2, 3092, 3090, 3, 2, 2, 2, 3093, 3094, 7, 2226, 2, 2, 3094, 213, 3, 2, 2, 2, 3095, 3097, 7, 1209, 2, 2, 3096, 3098, 5, 864, 433, 2, 3097, 3096, 3, 2, 2, 2, 3097, 3098, 3, 2, 2, 2, 3098, 3103, 3, 2, 2, 2, 3099, 3102, 5, 618, 310, 2, 3100, 3102, 5, 782, 392, 2, 3101, 3099, 3, 2, 2, 2, 3101, 3100, 3, 2, 2, 2, 3102, 3105, 3, 2, 2, 2, 3103, 3101, 3, 2, 2, 2, 3103, 3104, 3, 2, 2, 2, 3104, 3107, 3, 2, 2, 2, 3105, 3103, 3, 2, 2, 2, 3106, 3108, 7, 2023, 2, 2, 3107, 3106, 3, 2, 2, 2, 3107, 3108, 3, 2, 2, 2, 3108, 215, 3, 2, 2, 2, 3109, 3110, 7, 1596, 2, 2, 3110, 3111, 7, 654, 2, 2, 3111, 3112, 7, 2225, 2, 2, 3112, 3117, 5, 838, 420, 2, 3113, 3114, 7, 2231, 2, 2, 3114, 3116, 5, 838, 420, 2, 3115, 3113, 3, 2, 2, 2, 3116, 3119, 3, 2, 2, 2, 3117, 3115, 3, 2, 2, 2, 3117, 3118, 3, 2, 2, 2, 3118, 3120, 3, 2, 2, 2, 3119, 3117, 3, 2, 2, 2, 3120, 3121, 7, 2226, 2, 2, 3121, 3134, 3, 2, 2, 2, 3122, 3123, 7, 2225, 2, 2, 3123, 3128, 5, 218, 110, 2, 3124, 3125, 7, 2231, 2, 2, 3125, 3127, 5, 218, 110, 2, 3126, 3124, 3, 2, 2, 2, 3127, 3130, 3, 2, 2, 2, 3128, 3126, 3, 2, 2, 2, 3128, 3129, 3, 2, 2, 2, 3129, 3131, 3, 2, 2, 2, 3130, 3128, 3, 2, 2, 2, 3131, 3132, 7, 2226, 2, 2, 3132, 3134, 3, 2, 2, 2, 3133, 3109, 3, 2, 2, 2, 3133, 3122, 3, 2, 2, 2, 3134, 217, 3, 2, 2, 2, 3135, 3137, 7, 1209, 2, 2, 3136, 3138, 5, 864, 433, 2, 3137, 3136, 3, 2, 2, 2, 3137, 3138, 3, 2, 2, 2, 3138, 3141, 3, 2, 2, 2, 3139, 3140, 7, 1911, 2, 2, 3140, 3142, 5, 838, 420, 2, 3141, 3139, 3, 2, 2, 2, 3141, 3142, 3, 2, 2, 2, 3142, 3144, 3, 2, 2, 2, 3143, 3145, 5, 782, 392, 2, 3144, 3143, 3, 2, 2, 2, 3144, 3145, 3, 2, 2, 2, 3145, 3147, 3, 2, 2, 2, 3146, 3148, 7, 2023, 2, 2, 3147, 3146, 3, 2, 2, 2, 3147, 3148, 3, 2, 2, 2, 3148, 219, 3, 2, 2, 2, 3149, 3150, 7, 1596, 2, 2, 3150, 3151, 7, 654, 2, 2, 3151, 3152, 7, 2225, 2, 2, 3152, 3157, 5, 838, 420, 2, 3153, 3154, 7, 2231, 2, 2, 3154, 3156, 5, 838, 420, 2, 3155, 3153, 3, 2, 2, 2, 3156, 3159, 3, 2, 2, 2, 3157, 3155, 3, 2, 2, 2, 3157, 3158, 3, 2, 2, 2, 3158, 3160, 3, 2, 2, 2, 3159, 3157, 3, 2, 2, 2, 3160, 3161, 7, 2226, 2, 2, 3161, 3163, 3, 2, 2, 2, 3162, 3149, 3, 2, 2, 2, 3162, 3163, 3, 2, 2, 2, 3163, 3164, 3, 2, 2, 2, 3164, 3165, 7, 2225, 2, 2, 3165, 3170, 5, 222, 112, 2, 3166, 3167, 7, 2231, 2, 2, 3167, 3169, 5, 222, 112, 2, 3168, 3166, 3, 2, 2, 2, 3169, 3172, 3, 2, 2, 2, 3170, 3168, 3, 2, 2, 2, 3170, 3171, 3, 2, 2, 2, 3171, 3173, 3, 2, 2, 2, 3172, 3170, 3, 2, 2, 2, 3173, 3174, 7, 2226, 2, 2, 3174, 221, 3, 2, 2, 2, 3175, 3177, 7, 1209, 2, 2, 3176, 3178, 5, 864, 433, 2, 3177, 3176, 3, 2, 2, 2, 3177, 3178, 3, 2, 2, 2, 3178, 3183, 3, 2, 2, 2, 3179, 3182, 5, 618, 310, 2, 3180, 3182, 5, 782, 392, 2, 3181, 3179, 3, 2, 2, 2, 3181, 3180, 3, 2, 2, 2, 3182, 3185, 3, 2, 2, 2, 3183, 3181, 3, 2, 2, 2, 3183, 3184, 3, 2, 2, 2, 3184, 3186, 3, 2, 2, 2, 3185, 3183, 3, 2, 2, 2, 3186, 3188, 7, 2023, 2, 2, 3187, 3189, 5, 224, 113, 2, 3188, 3187, 3, 2, 2, 2, 3188, 3189, 3, 2, 2, 2, 3189, 223, 3, 2, 2, 2, 3190, 3191, 7, 1596, 2, 2, 3191, 3192, 7, 654, 2, 2, 3192, 3193, 7, 2225, 2, 2, 3193, 3198, 5, 838, 420, 2, 3194, 3195, 7, 2231, 2, 2, 3195, 3197, 5, 838, 420, 2, 3196, 3194, 3, 2, 2, 2, 3197, 3200, 3, 2, 2, 2, 3198, 3196, 3, 2, 2, 2, 3198, 3199, 3, 2, 2, 2, 3199, 3201, 3, 2, 2, 2, 3200, 3198, 3, 2, 2, 2, 3201, 3202, 7, 2226, 2, 2, 3202, 3215, 3, 2, 2, 2, 3203, 3204, 7, 2225, 2, 2, 3204, 3209, 5, 226, 114, 2, 3205, 3206, 7, 2231, 2, 2, 3206, 3208, 5, 226, 114, 2, 3207, 3205, 3, 2, 2, 2, 3208, 3211, 3, 2, 2, 2, 3209, 3207, 3, 2, 2, 2, 3209, 3210, 3, 2, 2, 2, 3210, 3212, 3, 2, 2, 2, 3211, 3209, 3, 2, 2, 2, 3212, 3213, 7, 2226, 2, 2, 3213, 3215, 3, 2, 2, 2, 3214, 3190, 3, 2, 2, 2, 3214, 3203, 3, 2, 2, 2, 3215, 225, 3, 2, 2, 2, 3216, 3218, 7, 1608, 2, 2, 3217, 3219, 5, 586, 294, 2, 3218, 3217, 3, 2, 2, 2, 3218, 3219, 3, 2, 2, 2, 3219, 3222, 3, 2, 2, 2, 3220, 3221, 7, 1911, 2, 2, 3221, 3223, 5, 838, 420, 2, 3222, 3220, 3, 2, 2, 2, 3222, 3223, 3, 2, 2, 2, 3223, 3225, 3, 2, 2, 2, 3224, 3226, 5, 782, 392, 2, 3225, 3224, 3, 2, 2, 2, 3225, 3226, 3, 2, 2, 2, 3226, 3228, 3, 2, 2, 2, 3227, 3229, 7, 2023, 2, 2, 3228, 3227, 3, 2, 2, 2, 3228, 3229, 3, 2, 2, 2, 3229, 227, 3, 2, 2, 2, 3230, 3231, 7, 2221, 2, 2, 3231, 229, 3, 2, 2, 2, 3232, 3233, 5, 1490, 746, 2, 3233, 3234, 7, 2218, 2, 2, 3234, 3236, 3, 2, 2, 2, 3235, 3232, 3, 2, 2, 2, 3235, 3236, 3, 2, 2, 2, 3236, 3237, 3, 2, 2, 2, 3237, 3238, 5, 1490, 746, 2, 3238, 231, 3, 2, 2, 2, 3239, 3240, 7, 41, 2, 2, 3240, 3241, 7, 633, 2, 2, 3241, 3244, 5, 1416, 709, 2, 3242, 3245, 5, 234, 118, 2, 3243, 3245, 5, 236, 119, 2, 3244, 3242, 3, 2, 2, 2, 3244, 3243, 3, 2, 2, 2, 3245, 3246, 3, 2, 2, 2, 3246, 3247, 7, 2243, 2, 2, 3247, 233, 3, 2, 2, 2, 3248, 3255, 5, 636, 319, 2, 3249, 3255, 5, 634, 318, 2, 3250, 3255, 5, 638, 320, 2, 3251, 3255, 5, 476, 239, 2, 3252, 3255, 5, 612, 307, 2, 3253, 3255, 5, 450, 226, 2, 3254, 3248, 3, 2, 2, 2, 3254, 3249, 3, 2, 2, 2, 3254, 3250, 3, 2, 2, 2, 3254, 3251, 3, 2, 2, 2, 3254, 3252, 3, 2, 2, 2, 3254, 3253, 3, 2, 2, 2, 3255, 3256, 3, 2, 2, 2, 3256, 3254, 3, 2, 2, 2, 3256, 3257, 3, 2, 2, 2, 3257, 235, 3, 2, 2, 2, 3258, 3280, 5, 242, 122, 2, 3259, 3260, 7, 1199, 2, 2, 3260, 3261, 7, 2225, 2, 2, 3261, 3262, 5, 228, 115, 2, 3262, 3263, 7, 2226, 2, 2, 3263, 3280, 3, 2, 2, 2, 3264, 3280, 7, 225, 2, 2, 3265, 3280, 5, 650, 326, 2, 3266, 3280, 7, 2023, 2, 2, 3267, 3280, 5, 238, 120, 2, 3268, 3269, 7, 1406, 2, 2, 3269, 3270, 7, 1966, 2, 2, 3270, 3280, 5, 270, 136, 2, 3271, 3280, 7, 207, 2, 2, 3272, 3273, 5, 240, 121, 2, 3273, 3274, 7, 2036, 2, 2, 3274, 3280, 3, 2, 2, 2, 3275, 3276, 7, 2027, 2, 2, 3276, 3277, 7, 131, 2, 2, 3277, 3280, 7, 1376, 2, 2, 3278, 3280, 5, 244, 123, 2, 3279, 3258, 3, 2, 2, 2, 3279, 3259, 3, 2, 2, 2, 3279, 3264, 3, 2, 2, 2, 3279, 3265, 3, 2, 2, 2, 3279, 3266, 3, 2, 2, 2, 3279, 3267, 3, 2, 2, 2, 3279, 3268, 3, 2, 2, 2, 3279, 3271, 3, 2, 2, 2, 3279, 3272, 3, 2, 2, 2, 3279, 3275, 3, 2, 2, 2, 3279, 3278, 3, 2, 2, 2, 3280, 237, 3, 2, 2, 2, 3281, 3282, 9, 23, 2, 2, 3282, 239, 3, 2, 2, 2, 3283, 3284, 9, 24, 2, 2, 3284, 241, 3, 2, 2, 2, 3285, 3292, 7, 1360, 2, 2, 3286, 3287, 7, 1209, 2, 2, 3287, 3293, 5, 864, 433, 2, 3288, 3289, 7, 1608, 2, 2, 3289, 3293, 5, 586, 294, 2, 3290, 3293, 7, 1435, 2, 2, 3291, 3293, 7, 1049, 2, 2, 3292, 3286, 3, 2, 2, 2, 3292, 3288, 3, 2, 2, 2, 3292, 3290, 3, 2, 2, 2, 3292, 3291, 3, 2, 2, 2, 3292, 3293, 3, 2, 2, 2, 3293, 3308, 3, 2, 2, 2, 3294, 3307, 5, 476, 239, 2, 3295, 3296, 7, 1911, 2, 2, 3296, 3307, 5, 838, 420, 2, 3297, 3298, 7, 1199, 2, 2, 3298, 3299, 7, 2225, 2, 2, 3299, 3300, 5, 228, 115, 2, 3300, 3301, 7, 2226, 2, 2, 3301, 3307, 3, 2, 2, 2, 3302, 3307, 7, 1127, 2, 2, 3303, 3307, 5, 612, 307, 2, 3304, 3307, 5, 782, 392, 2, 3305, 3307, 5, 450, 226, 2, 3306, 3294, 3, 2, 2, 2, 3306, 3295, 3, 2, 2, 2, 3306, 3297, 3, 2, 2, 2, 3306, 3302, 3, 2, 2, 2, 3306, 3303, 3, 2, 2, 2, 3306, 3304, 3, 2, 2, 2, 3306, 3305, 3, 2, 2, 2, 3307, 3310, 3, 2, 2, 2, 3308, 3306, 3, 2, 2, 2, 3308, 3309, 3, 2, 2, 2, 3309, 243, 3, 2, 2, 2, 3310, 3308, 3, 2, 2, 2, 3311, 3320, 5, 246, 124, 2, 3312, 3320, 5, 248, 125, 2, 3313, 3320, 5, 252, 127, 2, 3314, 3320, 5, 256, 129, 2, 3315, 3320, 5, 258, 130, 2, 3316, 3320, 5, 260, 131, 2, 3317, 3320, 5, 250, 126, 2, 3318, 3320, 5, 264, 133, 2, 3319, 3311, 3, 2, 2, 2, 3319, 3312, 3, 2, 2, 2, 3319, 3313, 3, 2, 2, 2, 3319, 3314, 3, 2, 2, 2, 3319, 3315, 3, 2, 2, 2, 3319, 3316, 3, 2, 2, 2, 3319, 3317, 3, 2, 2, 2, 3319, 3318, 3, 2, 2, 2, 3320, 245, 3, 2, 2, 2, 3321, 3322, 7, 865, 2, 2, 3322, 3323, 7, 353, 2, 2, 3323, 3327, 7, 78, 2, 2, 3324, 3325, 7, 548, 2, 2, 3325, 3326, 7, 1209, 2, 2, 3326, 3328, 5, 864, 433, 2, 3327, 3324, 3, 2, 2, 2, 3327, 3328, 3, 2, 2, 2, 3328, 3336, 3, 2, 2, 2, 3329, 3337, 5, 612, 307, 2, 3330, 3333, 7, 1911, 2, 2, 3331, 3334, 5, 838, 420, 2, 3332, 3334, 7, 353, 2, 2, 3333, 3331, 3, 2, 2, 2, 3333, 3332, 3, 2, 2, 2, 3334, 3337, 3, 2, 2, 2, 3335, 3337, 5, 450, 226, 2, 3336, 3329, 3, 2, 2, 2, 3336, 3330, 3, 2, 2, 2, 3336, 3335, 3, 2, 2, 2, 3337, 247, 3, 2, 2, 2, 3338, 3339, 7, 20, 2, 2, 3339, 3341, 7, 1209, 2, 2, 3340, 3342, 5, 864, 433, 2, 3341, 3340, 3, 2, 2, 2, 3341, 3342, 3, 2, 2, 2, 3342, 3345, 3, 2, 2, 2, 3343, 3344, 7, 1911, 2, 2, 3344, 3346, 5, 838, 420, 2, 3345, 3343, 3, 2, 2, 2, 3345, 3346, 3, 2, 2, 2, 3346, 3348, 3, 2, 2, 2, 3347, 3349, 5, 782, 392, 2, 3348, 3347, 3, 2, 2, 2, 3348, 3349, 3, 2, 2, 2, 3349, 3351, 3, 2, 2, 2, 3350, 3352, 5, 476, 239, 2, 3351, 3350, 3, 2, 2, 2, 3351, 3352, 3, 2, 2, 2, 3352, 249, 3, 2, 2, 2, 3353, 3354, 7, 207, 2, 2, 3354, 3356, 7, 1209, 2, 2, 3355, 3357, 5, 476, 239, 2, 3356, 3355, 3, 2, 2, 2, 3356, 3357, 3, 2, 2, 2, 3357, 251, 3, 2, 2, 2, 3358, 3359, 7, 865, 2, 2, 3359, 3360, 7, 1209, 2, 2, 3360, 3376, 5, 864, 433, 2, 3361, 3363, 5, 254, 128, 2, 3362, 3361, 3, 2, 2, 2, 3363, 3364, 3, 2, 2, 2, 3364, 3362, 3, 2, 2, 2, 3364, 3365, 3, 2, 2, 2, 3365, 3377, 3, 2, 2, 2, 3366, 3367, 7, 1199, 2, 2, 3367, 3368, 7, 2225, 2, 2, 3368, 3369, 5, 228, 115, 2, 3369, 3370, 7, 2226, 2, 2, 3370, 3377, 3, 2, 2, 2, 3371, 3377, 7, 207, 2, 2, 3372, 3373, 7, 2027, 2, 2, 3373, 3374, 7, 131, 2, 2, 3374, 3377, 7, 1376, 2, 2, 3375, 3377, 7, 2023, 2, 2, 3376, 3362, 3, 2, 2, 2, 3376, 3366, 3, 2, 2, 2, 3376, 3371, 3, 2, 2, 2, 3376, 3372, 3, 2, 2, 2, 3376, 3375, 3, 2, 2, 2, 3377, 253, 3, 2, 2, 2, 3378, 3384, 5, 636, 319, 2, 3379, 3384, 5, 634, 318, 2, 3380, 3384, 5, 612, 307, 2, 3381, 3384, 5, 450, 226, 2, 3382, 3384, 5, 782, 392, 2, 3383, 3378, 3, 2, 2, 2, 3383, 3379, 3, 2, 2, 2, 3383, 3380, 3, 2, 2, 2, 3383, 3381, 3, 2, 2, 2, 3383, 3382, 3, 2, 2, 2, 3384, 255, 3, 2, 2, 2, 3385, 3390, 7, 1406, 2, 2, 3386, 3387, 7, 1209, 2, 2, 3387, 3391, 5, 864, 433, 2, 3388, 3389, 7, 1608, 2, 2, 3389, 3391, 5, 586, 294, 2, 3390, 3386, 3, 2, 2, 2, 3390, 3388, 3, 2, 2, 2, 3391, 3392, 3, 2, 2, 2, 3392, 3393, 7, 1966, 2, 2, 3393, 3394, 5, 268, 135, 2, 3394, 257, 3, 2, 2, 2, 3395, 3396, 7, 413, 2, 2, 3396, 3397, 7, 1209, 2, 2, 3397, 3398, 5, 864, 433, 2, 3398, 259, 3, 2, 2, 2, 3399, 3400, 7, 1554, 2, 2, 3400, 3401, 7, 1209, 2, 2, 3401, 3402, 5, 266, 134, 2, 3402, 3403, 7, 76, 2, 2, 3403, 3404, 7, 2225, 2, 2, 3404, 3409, 5, 1292, 647, 2, 3405, 3406, 7, 2231, 2, 2, 3406, 3408, 5, 1292, 647, 2, 3407, 3405, 3, 2, 2, 2, 3408, 3411, 3, 2, 2, 2, 3409, 3407, 3, 2, 2, 2, 3409, 3410, 3, 2, 2, 2, 3410, 3412, 3, 2, 2, 2, 3411, 3409, 3, 2, 2, 2, 3412, 3420, 7, 2226, 2, 2, 3413, 3414, 7, 693, 2, 2, 3414, 3415, 7, 2225, 2, 2, 3415, 3416, 5, 262, 132, 2, 3416, 3417, 7, 2231, 2, 2, 3417, 3418, 5, 262, 132, 2, 3418, 3419, 7, 2226, 2, 2, 3419, 3421, 3, 2, 2, 2, 3420, 3413, 3, 2, 2, 2, 3420, 3421, 3, 2, 2, 2, 3421, 3423, 3, 2, 2, 2, 3422, 3424, 5, 476, 239, 2, 3423, 3422, 3, 2, 2, 2, 3423, 3424, 3, 2, 2, 2, 3424, 261, 3, 2, 2, 2, 3425, 3443, 7, 1209, 2, 2, 3426, 3438, 5, 864, 433, 2, 3427, 3430, 5, 618, 310, 2, 3428, 3430, 5, 782, 392, 2, 3429, 3427, 3, 2, 2, 2, 3429, 3428, 3, 2, 2, 2, 3430, 3431, 3, 2, 2, 2, 3431, 3429, 3, 2, 2, 2, 3431, 3432, 3, 2, 2, 2, 3432, 3439, 3, 2, 2, 2, 3433, 3434, 7, 1199, 2, 2, 3434, 3435, 7, 2225, 2, 2, 3435, 3436, 5, 228, 115, 2, 3436, 3437, 7, 2226, 2, 2, 3437, 3439, 3, 2, 2, 2, 3438, 3429, 3, 2, 2, 2, 3438, 3433, 3, 2, 2, 2, 3439, 3441, 3, 2, 2, 2, 3440, 3442, 7, 2023, 2, 2, 3441, 3440, 3, 2, 2, 2, 3441, 3442, 3, 2, 2, 2, 3442, 3444, 3, 2, 2, 2, 3443, 3426, 3, 2, 2, 2, 3443, 3444, 3, 2, 2, 2, 3444, 263, 3, 2, 2, 2, 3445, 3446, 7, 865, 2, 2, 3446, 3447, 7, 1608, 2, 2, 3447, 3451, 5, 586, 294, 2, 3448, 3452, 7, 2023, 2, 2, 3449, 3452, 5, 634, 318, 2, 3450, 3452, 5, 636, 319, 2, 3451, 3448, 3, 2, 2, 2, 3451, 3449, 3, 2, 2, 2, 3451, 3450, 3, 2, 2, 2, 3452, 265, 3, 2, 2, 2, 3453, 3454, 5, 864, 433, 2, 3454, 267, 3, 2, 2, 2, 3455, 3456, 5, 864, 433, 2, 3456, 269, 3, 2, 2, 2, 3457, 3458, 5, 1416, 709, 2, 3458, 271, 3, 2, 2, 2, 3459, 3460, 7, 290, 2, 2, 3460, 3461, 7, 2057, 2, 2, 3461, 3471, 5, 1440, 721, 2, 3462, 3472, 5, 278, 140, 2, 3463, 3472, 5, 280, 141, 2, 3464, 3472, 5, 282, 142, 2, 3465, 3472, 5, 284, 143, 2, 3466, 3472, 5, 286, 144, 2, 3467, 3472, 5, 292, 147, 2, 3468, 3472, 5, 294, 148, 2, 3469, 3472, 5, 296, 149, 2, 3470, 3472, 5, 386, 194, 2, 3471, 3462, 3, 2, 2, 2, 3471, 3463, 3, 2, 2, 2, 3471, 3464, 3, 2, 2, 2, 3471, 3465, 3, 2, 2, 2, 3471, 3466, 3, 2, 2, 2, 3471, 3467, 3, 2, 2, 2, 3471, 3468, 3, 2, 2, 2, 3471, 3469, 3, 2, 2, 2, 3471, 3470, 3, 2, 2, 2, 3472, 3473, 3, 2, 2, 2, 3473, 3471, 3, 2, 2, 2, 3473, 3474, 3, 2, 2, 2, 3474, 3475, 3, 2, 2, 2, 3475, 3476, 7, 2243, 2, 2, 3476, 273, 3, 2, 2, 2, 3477, 3478, 7, 41, 2, 2, 3478, 3479, 7, 2057, 2, 2, 3479, 3491, 5, 1440, 721, 2, 3480, 3492, 5, 276, 139, 2, 3481, 3492, 5, 280, 141, 2, 3482, 3492, 5, 282, 142, 2, 3483, 3492, 5, 284, 143, 2, 3484, 3492, 5, 286, 144, 2, 3485, 3492, 5, 290, 146, 2, 3486, 3492, 5, 292, 147, 2, 3487, 3492, 5, 294, 148, 2, 3488, 3492, 5, 298, 150, 2, 3489, 3492, 5, 386, 194, 2, 3490, 3492, 5, 308, 155, 2, 3491, 3480, 3, 2, 2, 2, 3491, 3481, 3, 2, 2, 2, 3491, 3482, 3, 2, 2, 2, 3491, 3483, 3, 2, 2, 2, 3491, 3484, 3, 2, 2, 2, 3491, 3485, 3, 2, 2, 2, 3491, 3486, 3, 2, 2, 2, 3491, 3487, 3, 2, 2, 2, 3491, 3488, 3, 2, 2, 2, 3491, 3489, 3, 2, 2, 2, 3491, 3490, 3, 2, 2, 2, 3492, 3493, 3, 2, 2, 2, 3493, 3491, 3, 2, 2, 2, 3493, 3494, 3, 2, 2, 2, 3494, 3495, 3, 2, 2, 2, 3495, 3496, 7, 2243, 2, 2, 3496, 3509, 3, 2, 2, 2, 3497, 3502, 5, 1440, 721, 2, 3498, 3499, 7, 2231, 2, 2, 3499, 3501, 5, 1440, 721, 2, 3500, 3498, 3, 2, 2, 2, 3501, 3504, 3, 2, 2, 2, 3502, 3500, 3, 2, 2, 2, 3502, 3503, 3, 2, 2, 2, 3503, 3505, 3, 2, 2, 2, 3504, 3502, 3, 2, 2, 2, 3505, 3506, 5, 300, 151, 2, 3506, 3507, 7, 2243, 2, 2, 3507, 3509, 3, 2, 2, 2, 3508, 3477, 3, 2, 2, 2, 3508, 3497, 3, 2, 2, 2, 3509, 275, 3, 2, 2, 2, 3510, 3513, 5, 278, 140, 2, 3511, 3512, 7, 1409, 2, 2, 3512, 3514, 5, 1490, 746, 2, 3513, 3511, 3, 2, 2, 2, 3513, 3514, 3, 2, 2, 2, 3514, 277, 3, 2, 2, 2, 3515, 3516, 7, 603, 2, 2, 3516, 3517, 7, 148, 2, 2, 3517, 3518, 5, 1490, 746, 2, 3518, 279, 3, 2, 2, 2, 3519, 3520, 7, 603, 2, 2, 3520, 3523, 9, 25, 2, 2, 3521, 3522, 7, 63, 2, 2, 3522, 3524, 5, 1486, 744, 2, 3523, 3521, 3, 2, 2, 2, 3523, 3524, 3, 2, 2, 2, 3524, 281, 3, 2, 2, 2, 3525, 3526, 9, 26, 2, 2, 3526, 3527, 7, 1911, 2, 2, 3527, 3528, 5, 1490, 746, 2, 3528, 283, 3, 2, 2, 2, 3529, 3532, 7, 1342, 2, 2, 3530, 3533, 5, 608, 305, 2, 3531, 3533, 7, 2006, 2, 2, 3532, 3530, 3, 2, 2, 2, 3532, 3531, 3, 2, 2, 2, 3533, 3534, 3, 2, 2, 2, 3534, 3535, 7, 1130, 2, 2, 3535, 3536, 5, 1490, 746, 2, 3536, 285, 3, 2, 2, 2, 3537, 3538, 7, 1318, 2, 2, 3538, 3539, 5, 1490, 746, 2, 3539, 287, 3, 2, 2, 2, 3540, 3545, 5, 1396, 699, 2, 3541, 3542, 7, 2231, 2, 2, 3542, 3544, 5, 1396, 699, 2, 3543, 3541, 3, 2, 2, 2, 3544, 3547, 3, 2, 2, 2, 3545, 3543, 3, 2, 2, 2, 3545, 3546, 3, 2, 2, 2, 3546, 3564, 3, 2, 2, 2, 3547, 3545, 3, 2, 2, 2, 3548, 3560, 7, 37, 2, 2, 3549, 3550, 7, 469, 2, 2, 3550, 3555, 5, 1396, 699, 2, 3551, 3552, 7, 2231, 2, 2, 3552, 3554, 5, 1396, 699, 2, 3553, 3551, 3, 2, 2, 2, 3554, 3557, 3, 2, 2, 2, 3555, 3553, 3, 2, 2, 2, 3555, 3556, 3, 2, 2, 2, 3556, 3559, 3, 2, 2, 2, 3557, 3555, 3, 2, 2, 2, 3558, 3549, 3, 2, 2, 2, 3559, 3562, 3, 2, 2, 2, 3560, 3558, 3, 2, 2, 2, 3560, 3561, 3, 2, 2, 2, 3561, 3564, 3, 2, 2, 2, 3562, 3560, 3, 2, 2, 2, 3563, 3540, 3, 2, 2, 2, 3563, 3548, 3, 2, 2, 2, 3564, 289, 3, 2, 2, 2, 3565, 3566, 7, 353, 2, 2, 3566, 3569, 7, 1440, 2, 2, 3567, 3570, 7, 1009, 2, 2, 3568, 3570, 5, 288, 145, 2, 3569, 3567, 3, 2, 2, 2, 3569, 3568, 3, 2, 2, 2, 3570, 291, 3, 2, 2, 2, 3571, 3572, 7, 1217, 2, 2, 3572, 3573, 7, 486, 2, 2, 3573, 293, 3, 2, 2, 2, 3574, 3575, 7, 7, 2, 2, 3575, 3576, 9, 27, 2, 2, 3576, 295, 3, 2, 2, 2, 3577, 3578, 7, 441, 2, 2, 3578, 3579, 7, 428, 2, 2, 3579, 297, 3, 2, 2, 2, 3580, 3590, 5, 296, 149, 2, 3581, 3582, 7, 548, 2, 2, 3582, 3587, 5, 1494, 748, 2, 3583, 3584, 7, 2231, 2, 2, 3584, 3586, 5, 1494, 748, 2, 3585, 3583, 3, 2, 2, 2, 3586, 3589, 3, 2, 2, 2, 3587, 3585, 3, 2, 2, 2, 3587, 3588, 3, 2, 2, 2, 3588, 3591, 3, 2, 2, 2, 3589, 3587, 3, 2, 2, 2, 3590, 3581, 3, 2, 2, 2, 3590, 3591, 3, 2, 2, 2, 3591, 3593, 3, 2, 2, 2, 3592, 3594, 7, 544, 2, 2, 3593, 3592, 3, 2, 2, 2, 3593, 3594, 3, 2, 2, 2, 3594, 299, 3, 2, 2, 2, 3595, 3596, 7, 1436, 2, 2, 3596, 3597, 7, 253, 2, 2, 3597, 3601, 7, 1930, 2, 2, 3598, 3599, 7, 452, 2, 2, 3599, 3602, 7, 2055, 2, 2, 3600, 3602, 5, 1440, 721, 2, 3601, 3598, 3, 2, 2, 2, 3601, 3600, 3, 2, 2, 2, 3602, 3635, 3, 2, 2, 2, 3603, 3604, 7, 573, 2, 2, 3604, 3605, 7, 253, 2, 2, 3605, 3632, 7, 1930, 2, 2, 3606, 3607, 7, 452, 2, 2, 3607, 3633, 7, 2055, 2, 2, 3608, 3616, 5, 1440, 721, 2, 3609, 3614, 7, 2123, 2, 2, 3610, 3611, 7, 1012, 2, 2, 3611, 3615, 7, 1442, 2, 2, 3612, 3613, 7, 1440, 2, 2, 3613, 3615, 5, 288, 145, 2, 3614, 3610, 3, 2, 2, 2, 3614, 3612, 3, 2, 2, 2, 3615, 3617, 3, 2, 2, 2, 3616, 3609, 3, 2, 2, 2, 3616, 3617, 3, 2, 2, 2, 3617, 3620, 3, 2, 2, 2, 3618, 3619, 7, 81, 2, 2, 3619, 3621, 7, 1411, 2, 2, 3620, 3618, 3, 2, 2, 2, 3620, 3621, 3, 2, 2, 2, 3621, 3630, 3, 2, 2, 2, 3622, 3623, 7, 80, 2, 2, 3623, 3628, 7, 2065, 2, 2, 3624, 3629, 7, 1217, 2, 2, 3625, 3629, 7, 171, 2, 2, 3626, 3627, 7, 399, 2, 2, 3627, 3629, 7, 881, 2, 2, 3628, 3624, 3, 2, 2, 2, 3628, 3625, 3, 2, 2, 2, 3628, 3626, 3, 2, 2, 2, 3629, 3631, 3, 2, 2, 2, 3630, 3622, 3, 2, 2, 2, 3630, 3631, 3, 2, 2, 2, 3631, 3633, 3, 2, 2, 2, 3632, 3606, 3, 2, 2, 2, 3632, 3608, 3, 2, 2, 2, 3633, 3635, 3, 2, 2, 2, 3634, 3595, 3, 2, 2, 2, 3634, 3603, 3, 2, 2, 2, 3635, 301, 3, 2, 2, 2, 3636, 3637, 7, 2225, 2, 2, 3637, 3642, 5, 1490, 746, 2, 3638, 3639, 7, 2231, 2, 2, 3639, 3641, 5, 1490, 746, 2, 3640, 3638, 3, 2, 2, 2, 3641, 3644, 3, 2, 2, 2, 3642, 3640, 3, 2, 2, 2, 3642, 3643, 3, 2, 2, 2, 3643, 3645, 3, 2, 2, 2, 3644, 3642, 3, 2, 2, 2, 3645, 3646, 7, 2226, 2, 2, 3646, 303, 3, 2, 2, 2, 3647, 3648, 7, 1512, 2, 2, 3648, 3649, 7, 263, 2, 2, 3649, 3653, 7, 2245, 2, 2, 3650, 3654, 7, 37, 2, 2, 3651, 3654, 7, 353, 2, 2, 3652, 3654, 5, 302, 152, 2, 3653, 3650, 3, 2, 2, 2, 3653, 3651, 3, 2, 2, 2, 3653, 3652, 3, 2, 2, 2, 3654, 305, 3, 2, 2, 2, 3655, 3656, 9, 28, 2, 2, 3656, 3657, 7, 263, 2, 2, 3657, 3658, 7, 2245, 2, 2, 3658, 3659, 5, 302, 152, 2, 3659, 307, 3, 2, 2, 2, 3660, 3667, 5, 304, 153, 2, 3661, 3664, 5, 306, 154, 2, 3662, 3663, 7, 548, 2, 2, 3663, 3665, 5, 1388, 695, 2, 3664, 3662, 3, 2, 2, 2, 3664, 3665, 3, 2, 2, 2, 3665, 3667, 3, 2, 2, 2, 3666, 3660, 3, 2, 2, 2, 3666, 3661, 3, 2, 2, 2, 3667, 309, 3, 2, 2, 2, 3668, 3673, 7, 43, 2, 2, 3669, 3670, 7, 1914, 2, 2, 3670, 3674, 5, 1428, 715, 2, 3671, 3672, 7, 633, 2, 2, 3672, 3674, 5, 1416, 709, 2, 3673, 3669, 3, 2, 2, 2, 3673, 3671, 3, 2, 2, 2, 3674, 3676, 3, 2, 2, 2, 3675, 3677, 5, 312, 157, 2, 3676, 3675, 3, 2, 2, 2, 3676, 3677, 3, 2, 2, 2, 3677, 3682, 3, 2, 2, 2, 3678, 3679, 7, 43, 2, 2, 3679, 3680, 7, 199, 2, 2, 3680, 3682, 5, 186, 94, 2, 3681, 3668, 3, 2, 2, 2, 3681, 3678, 3, 2, 2, 2, 3682, 3695, 3, 2, 2, 2, 3683, 3696, 5, 314, 158, 2, 3684, 3685, 7, 763, 2, 2, 3685, 3686, 7, 173, 2, 2, 3686, 3688, 7, 1454, 2, 2, 3687, 3689, 5, 318, 160, 2, 3688, 3687, 3, 2, 2, 2, 3688, 3689, 3, 2, 2, 2, 3689, 3696, 3, 2, 2, 2, 3690, 3692, 7, 364, 2, 2, 3691, 3693, 7, 1781, 2, 2, 3692, 3691, 3, 2, 2, 2, 3692, 3693, 3, 2, 2, 2, 3693, 3694, 3, 2, 2, 2, 3694, 3696, 7, 1579, 2, 2, 3695, 3683, 3, 2, 2, 2, 3695, 3684, 3, 2, 2, 2, 3695, 3690, 3, 2, 2, 2, 3696, 3697, 3, 2, 2, 2, 3697, 3698, 7, 2243, 2, 2, 3698, 311, 3, 2, 2, 2, 3699, 3716, 7, 1209, 2, 2, 3700, 3701, 7, 2225, 2, 2, 3701, 3702, 5, 864, 433, 2, 3702, 3703, 7, 2226, 2, 2, 3703, 3717, 3, 2, 2, 2, 3704, 3705, 7, 548, 2, 2, 3705, 3706, 7, 2225, 2, 2, 3706, 3711, 5, 320, 161, 2, 3707, 3708, 7, 2231, 2, 2, 3708, 3710, 5, 320, 161, 2, 3709, 3707, 3, 2, 2, 2, 3710, 3713, 3, 2, 2, 2, 3711, 3709, 3, 2, 2, 2, 3711, 3712, 3, 2, 2, 2, 3712, 3714, 3, 2, 2, 2, 3713, 3711, 3, 2, 2, 2, 3714, 3715, 7, 2226, 2, 2, 3715, 3717, 3, 2, 2, 2, 3716, 3700, 3, 2, 2, 2, 3716, 3704, 3, 2, 2, 2, 3717, 3738, 3, 2, 2, 2, 3718, 3735, 7, 1608, 2, 2, 3719, 3720, 7, 2225, 2, 2, 3720, 3721, 5, 586, 294, 2, 3721, 3722, 7, 2226, 2, 2, 3722, 3736, 3, 2, 2, 2, 3723, 3724, 7, 548, 2, 2, 3724, 3725, 7, 2225, 2, 2, 3725, 3730, 5, 322, 162, 2, 3726, 3727, 7, 2231, 2, 2, 3727, 3729, 5, 322, 162, 2, 3728, 3726, 3, 2, 2, 2, 3729, 3732, 3, 2, 2, 2, 3730, 3728, 3, 2, 2, 2, 3730, 3731, 3, 2, 2, 2, 3731, 3733, 3, 2, 2, 2, 3732, 3730, 3, 2, 2, 2, 3733, 3734, 7, 2226, 2, 2, 3734, 3736, 3, 2, 2, 2, 3735, 3719, 3, 2, 2, 2, 3735, 3723, 3, 2, 2, 2, 3736, 3738, 3, 2, 2, 2, 3737, 3699, 3, 2, 2, 2, 3737, 3718, 3, 2, 2, 2, 3738, 313, 3, 2, 2, 2, 3739, 3740, 7, 2072, 2, 2, 3740, 3741, 7, 1378, 2, 2, 3741, 3746, 7, 2027, 2, 2, 3742, 3743, 7, 1512, 2, 2, 3743, 3744, 7, 317, 2, 2, 3744, 3745, 7, 1966, 2, 2, 3745, 3747, 7, 1099, 2, 2, 3746, 3742, 3, 2, 2, 2, 3746, 3747, 3, 2, 2, 2, 3747, 3769, 3, 2, 2, 2, 3748, 3749, 7, 2072, 2, 2, 3749, 3760, 7, 1604, 2, 2, 3750, 3751, 7, 164, 2, 2, 3751, 3761, 7, 513, 2, 2, 3752, 3754, 7, 164, 2, 2, 3753, 3755, 5, 316, 159, 2, 3754, 3753, 3, 2, 2, 2, 3754, 3755, 3, 2, 2, 2, 3755, 3757, 3, 2, 2, 2, 3756, 3758, 5, 1360, 681, 2, 3757, 3756, 3, 2, 2, 2, 3757, 3758, 3, 2, 2, 2, 3758, 3761, 3, 2, 2, 2, 3759, 3761, 7, 164, 2, 2, 3760, 3750, 3, 2, 2, 2, 3760, 3752, 3, 2, 2, 2, 3760, 3759, 3, 2, 2, 2, 3760, 3761, 3, 2, 2, 2, 3761, 3763, 3, 2, 2, 2, 3762, 3764, 5, 316, 159, 2, 3763, 3762, 3, 2, 2, 2, 3763, 3764, 3, 2, 2, 2, 3764, 3766, 3, 2, 2, 2, 3765, 3767, 5, 1360, 681, 2, 3766, 3765, 3, 2, 2, 2, 3766, 3767, 3, 2, 2, 2, 3767, 3769, 3, 2, 2, 2, 3768, 3739, 3, 2, 2, 2, 3768, 3748, 3, 2, 2, 2, 3769, 315, 3, 2, 2, 2, 3770, 3771, 9, 29, 2, 2, 3771, 317, 3, 2, 2, 2, 3772, 3774, 7, 693, 2, 2, 3773, 3775, 5, 1428, 715, 2, 3774, 3773, 3, 2, 2, 2, 3774, 3775, 3, 2, 2, 2, 3775, 319, 3, 2, 2, 2, 3776, 3777, 5, 1292, 647, 2, 3777, 321, 3, 2, 2, 2, 3778, 3779, 5, 1292, 647, 2, 3779, 323, 3, 2, 2, 2, 3780, 3781, 7, 71, 2, 2, 3781, 3782, 7, 1579, 2, 2, 3782, 3785, 7, 2123, 2, 2, 3783, 3786, 5, 326, 164, 2, 3784, 3786, 5, 328, 165, 2, 3785, 3783, 3, 2, 2, 2, 3785, 3784, 3, 2, 2, 2, 3786, 3788, 3, 2, 2, 2, 3787, 3789, 5, 348, 175, 2, 3788, 3787, 3, 2, 2, 2, 3788, 3789, 3, 2, 2, 2, 3789, 3790, 3, 2, 2, 2, 3790, 3791, 7, 2243, 2, 2, 3791, 325, 3, 2, 2, 2, 3792, 3793, 7, 216, 2, 2, 3793, 3794, 5, 1428, 715, 2, 3794, 3795, 7, 2218, 2, 2, 3795, 3803, 5, 1426, 714, 2, 3796, 3797, 7, 2231, 2, 2, 3797, 3798, 5, 1428, 715, 2, 3798, 3799, 7, 2218, 2, 2, 3799, 3800, 5, 1426, 714, 2, 3800, 3802, 3, 2, 2, 2, 3801, 3796, 3, 2, 2, 2, 3802, 3805, 3, 2, 2, 2, 3803, 3801, 3, 2, 2, 2, 3803, 3804, 3, 2, 2, 2, 3804, 3806, 3, 2, 2, 2, 3805, 3803, 3, 2, 2, 2, 3806, 3807, 5, 332, 167, 2, 3807, 327, 3, 2, 2, 2, 3808, 3809, 7, 561, 2, 2, 3809, 3814, 5, 1408, 705, 2, 3810, 3811, 7, 2231, 2, 2, 3811, 3813, 5, 1408, 705, 2, 3812, 3810, 3, 2, 2, 2, 3813, 3816, 3, 2, 2, 2, 3814, 3812, 3, 2, 2, 2, 3814, 3815, 3, 2, 2, 2, 3815, 3854, 3, 2, 2, 2, 3816, 3814, 3, 2, 2, 2, 3817, 3818, 7, 1194, 2, 2, 3818, 3823, 5, 1378, 690, 2, 3819, 3820, 7, 2231, 2, 2, 3820, 3822, 5, 1378, 690, 2, 3821, 3819, 3, 2, 2, 2, 3822, 3825, 3, 2, 2, 2, 3823, 3821, 3, 2, 2, 2, 3823, 3824, 3, 2, 2, 2, 3824, 3854, 3, 2, 2, 2, 3825, 3823, 3, 2, 2, 2, 3826, 3827, 7, 1988, 2, 2, 3827, 3832, 5, 1402, 702, 2, 3828, 3829, 7, 2231, 2, 2, 3829, 3831, 5, 1402, 702, 2, 3830, 3828, 3, 2, 2, 2, 3831, 3834, 3, 2, 2, 2, 3832, 3830, 3, 2, 2, 2, 3832, 3833, 3, 2, 2, 2, 3833, 3854, 3, 2, 2, 2, 3834, 3832, 3, 2, 2, 2, 3835, 3836, 7, 630, 2, 2, 3836, 3841, 5, 1416, 709, 2, 3837, 3838, 7, 2231, 2, 2, 3838, 3840, 5, 1416, 709, 2, 3839, 3837, 3, 2, 2, 2, 3840, 3843, 3, 2, 2, 2, 3841, 3839, 3, 2, 2, 2, 3841, 3842, 3, 2, 2, 2, 3842, 3854, 3, 2, 2, 2, 3843, 3841, 3, 2, 2, 2, 3844, 3845, 7, 648, 2, 2, 3845, 3850, 5, 330, 166, 2, 3846, 3847, 7, 2231, 2, 2, 3847, 3849, 5, 330, 166, 2, 3848, 3846, 3, 2, 2, 2, 3849, 3852, 3, 2, 2, 2, 3850, 3848, 3, 2, 2, 2, 3850, 3851, 3, 2, 2, 2, 3851, 3854, 3, 2, 2, 2, 3852, 3850, 3, 2, 2, 2, 3853, 3808, 3, 2, 2, 2, 3853, 3817, 3, 2, 2, 2, 3853, 3826, 3, 2, 2, 2, 3853, 3835, 3, 2, 2, 2, 3853, 3844, 3, 2, 2, 2, 3854, 3866, 3, 2, 2, 2, 3855, 3867, 5, 332, 167, 2, 3856, 3859, 5, 336, 169, 2, 3857, 3858, 7, 2231, 2, 2, 3858, 3860, 5, 344, 173, 2, 3859, 3857, 3, 2, 2, 2, 3859, 3860, 3, 2, 2, 2, 3860, 3867, 3, 2, 2, 2, 3861, 3864, 5, 344, 173, 2, 3862, 3863, 7, 2231, 2, 2, 3863, 3865, 5, 336, 169, 2, 3864, 3862, 3, 2, 2, 2, 3864, 3865, 3, 2, 2, 2, 3865, 3867, 3, 2, 2, 2, 3866, 3855, 3, 2, 2, 2, 3866, 3856, 3, 2, 2, 2, 3866, 3861, 3, 2, 2, 2, 3867, 329, 3, 2, 2, 2, 3868, 3869, 5, 1490, 746, 2, 3869, 331, 3, 2, 2, 2, 3870, 3873, 7, 2065, 2, 2, 3871, 3874, 5, 334, 168, 2, 3872, 3874, 7, 1099, 2, 2, 3873, 3871, 3, 2, 2, 2, 3873, 3872, 3, 2, 2, 2, 3874, 333, 3, 2, 2, 2, 3875, 3876, 5, 1494, 748, 2, 3876, 335, 3, 2, 2, 2, 3877, 3878, 7, 353, 2, 2, 3878, 3879, 7, 281, 2, 2, 3879, 3880, 7, 2225, 2, 2, 3880, 3881, 5, 338, 170, 2, 3881, 3882, 7, 2231, 2, 2, 3882, 3883, 5, 340, 171, 2, 3883, 3884, 7, 2231, 2, 2, 3884, 3885, 5, 342, 172, 2, 3885, 3886, 7, 2226, 2, 2, 3886, 337, 3, 2, 2, 2, 3887, 3888, 7, 2219, 2, 2, 3888, 339, 3, 2, 2, 2, 3889, 3890, 7, 2219, 2, 2, 3890, 341, 3, 2, 2, 2, 3891, 3892, 7, 2219, 2, 2, 3892, 343, 3, 2, 2, 2, 3893, 3894, 7, 353, 2, 2, 3894, 3895, 7, 1491, 2, 2, 3895, 3896, 5, 346, 174, 2, 3896, 345, 3, 2, 2, 2, 3897, 3898, 7, 2219, 2, 2, 3898, 347, 3, 2, 2, 2, 3899, 3900, 7, 2123, 2, 2, 3900, 3901, 9, 30, 2, 2, 3901, 3902, 7, 798, 2, 2, 3902, 3903, 7, 1595, 2, 2, 3903, 3904, 7, 1912, 2, 2, 3904, 349, 3, 2, 2, 2, 3905, 3906, 6, 176, 2, 2, 3906, 3950, 7, 79, 2, 2, 3907, 3908, 7, 1269, 2, 2, 3908, 3918, 5, 352, 177, 2, 3909, 3910, 9, 31, 2, 2, 3910, 3915, 5, 364, 183, 2, 3911, 3912, 7, 2231, 2, 2, 3912, 3914, 5, 364, 183, 2, 3913, 3911, 3, 2, 2, 2, 3914, 3917, 3, 2, 2, 2, 3915, 3913, 3, 2, 2, 2, 3915, 3916, 3, 2, 2, 2, 3916, 3919, 3, 2, 2, 2, 3917, 3915, 3, 2, 2, 2, 3918, 3909, 3, 2, 2, 2, 3918, 3919, 3, 2, 2, 2, 3919, 3925, 3, 2, 2, 2, 3920, 3922, 7, 2114, 2, 2, 3921, 3923, 7, 1075, 2, 2, 3922, 3921, 3, 2, 2, 2, 3922, 3923, 3, 2, 2, 2, 3923, 3924, 3, 2, 2, 2, 3924, 3926, 7, 1619, 2, 2, 3925, 3920, 3, 2, 2, 2, 3925, 3926, 3, 2, 2, 2, 3926, 3951, 3, 2, 2, 2, 3927, 3928, 7, 267, 2, 2, 3928, 3929, 7, 882, 2, 2, 3929, 3930, 5, 516, 259, 2, 3930, 3931, 7, 78, 2, 2, 3931, 3936, 5, 1366, 684, 2, 3932, 3933, 7, 2231, 2, 2, 3933, 3935, 5, 1366, 684, 2, 3934, 3932, 3, 2, 2, 2, 3935, 3938, 3, 2, 2, 2, 3936, 3934, 3, 2, 2, 2, 3936, 3937, 3, 2, 2, 2, 3937, 3948, 3, 2, 2, 2, 3938, 3936, 3, 2, 2, 2, 3939, 3940, 7, 148, 2, 2, 3940, 3945, 5, 364, 183, 2, 3941, 3942, 7, 2231, 2, 2, 3942, 3944, 5, 364, 183, 2, 3943, 3941, 3, 2, 2, 2, 3944, 3947, 3, 2, 2, 2, 3945, 3943, 3, 2, 2, 2, 3945, 3946, 3, 2, 2, 2, 3946, 3949, 3, 2, 2, 2, 3947, 3945, 3, 2, 2, 2, 3948, 3939, 3, 2, 2, 2, 3948, 3949, 3, 2, 2, 2, 3949, 3951, 3, 2, 2, 2, 3950, 3907, 3, 2, 2, 2, 3950, 3927, 3, 2, 2, 2, 3951, 3952, 3, 2, 2, 2, 3952, 3953, 7, 2243, 2, 2, 3953, 351, 3, 2, 2, 2, 3954, 3955, 5, 1488, 745, 2, 3955, 353, 3, 2, 2, 2, 3956, 3967, 7, 79, 2, 2, 3957, 3962, 5, 360, 181, 2, 3958, 3963, 5, 362, 182, 2, 3959, 3960, 7, 654, 2, 2, 3960, 3961, 7, 1508, 2, 2, 3961, 3963, 7, 304, 2, 2, 3962, 3958, 3, 2, 2, 2, 3962, 3959, 3, 2, 2, 2, 3962, 3963, 3, 2, 2, 2, 3963, 3968, 3, 2, 2, 2, 3964, 3968, 5, 366, 184, 2, 3965, 3968, 7, 903, 2, 2, 3966, 3968, 5, 356, 179, 2, 3967, 3957, 3, 2, 2, 2, 3967, 3964, 3, 2, 2, 2, 3967, 3965, 3, 2, 2, 2, 3967, 3966, 3, 2, 2, 2, 3968, 3971, 3, 2, 2, 2, 3969, 3970, 7, 148, 2, 2, 3970, 3972, 9, 32, 2, 2, 3971, 3969, 3, 2, 2, 2, 3971, 3972, 3, 2, 2, 2, 3972, 3978, 3, 2, 2, 2, 3973, 3975, 7, 2114, 2, 2, 3974, 3976, 7, 1075, 2, 2, 3975, 3974, 3, 2, 2, 2, 3975, 3976, 3, 2, 2, 2, 3976, 3977, 3, 2, 2, 2, 3977, 3979, 7, 1619, 2, 2, 3978, 3973, 3, 2, 2, 2, 3978, 3979, 3, 2, 2, 2, 3979, 3981, 3, 2, 2, 2, 3980, 3982, 5, 358, 180, 2, 3981, 3980, 3, 2, 2, 2, 3981, 3982, 3, 2, 2, 2, 3982, 3983, 3, 2, 2, 2, 3983, 3984, 7, 2243, 2, 2, 3984, 355, 3, 2, 2, 2, 3985, 3986, 6, 179, 3, 2, 3986, 3987, 7, 383, 2, 2, 3987, 3988, 5, 362, 182, 2, 3988, 357, 3, 2, 2, 2, 3989, 3990, 6, 180, 4, 2, 3990, 3991, 7, 262, 2, 2, 3991, 3992, 7, 2245, 2, 2, 3992, 3993, 9, 33, 2, 2, 3993, 359, 3, 2, 2, 2, 3994, 4000, 5, 378, 190, 2, 3995, 3997, 7, 37, 2, 2, 3996, 3998, 7, 1575, 2, 2, 3997, 3996, 3, 2, 2, 2, 3997, 3998, 3, 2, 2, 2, 3998, 4000, 3, 2, 2, 2, 3999, 3994, 3, 2, 2, 2, 3999, 3995, 3, 2, 2, 2, 4000, 4011, 3, 2, 2, 2, 4001, 4007, 7, 2231, 2, 2, 4002, 4008, 5, 378, 190, 2, 4003, 4005, 7, 37, 2, 2, 4004, 4006, 7, 1575, 2, 2, 4005, 4004, 3, 2, 2, 2, 4005, 4006, 3, 2, 2, 2, 4006, 4008, 3, 2, 2, 2, 4007, 4002, 3, 2, 2, 2, 4007, 4003, 3, 2, 2, 2, 4008, 4010, 3, 2, 2, 2, 4009, 4001, 3, 2, 2, 2, 4010, 4013, 3, 2, 2, 2, 4011, 4009, 3, 2, 2, 2, 4011, 4012, 3, 2, 2, 2, 4012, 4031, 3, 2, 2, 2, 4013, 4011, 3, 2, 2, 2, 4014, 4018, 5, 1478, 740, 2, 4015, 4016, 7, 37, 2, 2, 4016, 4018, 7, 1314, 2, 2, 4017, 4014, 3, 2, 2, 2, 4017, 4015, 3, 2, 2, 2, 4018, 4027, 3, 2, 2, 2, 4019, 4023, 7, 2231, 2, 2, 4020, 4024, 5, 1478, 740, 2, 4021, 4022, 7, 37, 2, 2, 4022, 4024, 7, 1314, 2, 2, 4023, 4020, 3, 2, 2, 2, 4023, 4021, 3, 2, 2, 2, 4024, 4026, 3, 2, 2, 2, 4025, 4019, 3, 2, 2, 2, 4026, 4029, 3, 2, 2, 2, 4027, 4025, 3, 2, 2, 2, 4027, 4028, 3, 2, 2, 2, 4028, 4031, 3, 2, 2, 2, 4029, 4027, 3, 2, 2, 2, 4030, 3999, 3, 2, 2, 2, 4030, 4017, 3, 2, 2, 2, 4031, 361, 3, 2, 2, 2, 4032, 4033, 7, 148, 2, 2, 4033, 4038, 5, 364, 183, 2, 4034, 4035, 7, 2231, 2, 2, 4035, 4037, 5, 364, 183, 2, 4036, 4034, 3, 2, 2, 2, 4037, 4040, 3, 2, 2, 2, 4038, 4036, 3, 2, 2, 2, 4038, 4039, 3, 2, 2, 2, 4039, 363, 3, 2, 2, 2, 4040, 4038, 3, 2, 2, 2, 4041, 4042, 5, 1494, 748, 2, 4042, 365, 3, 2, 2, 2, 4043, 4048, 5, 368, 185, 2, 4044, 4045, 7, 2231, 2, 2, 4045, 4047, 5, 368, 185, 2, 4046, 4044, 3, 2, 2, 2, 4047, 4050, 3, 2, 2, 2, 4048, 4046, 3, 2, 2, 2, 4048, 4049, 3, 2, 2, 2, 4049, 4053, 3, 2, 2, 2, 4050, 4048, 3, 2, 2, 2, 4051, 4053, 7, 37, 2, 2, 4052, 4043, 3, 2, 2, 2, 4052, 4051, 3, 2, 2, 2, 4053, 4054, 3, 2, 2, 2, 4054, 4055, 5, 370, 186, 2, 4055, 367, 3, 2, 2, 2, 4056, 4057, 9, 34, 2, 2, 4057, 369, 3, 2, 2, 2, 4058, 4071, 7, 1130, 2, 2, 4059, 4072, 5, 374, 188, 2, 4060, 4061, 7, 382, 2, 2, 4061, 4072, 5, 1494, 748, 2, 4062, 4063, 7, 843, 2, 2, 4063, 4064, 7, 856, 2, 2, 4064, 4072, 5, 372, 187, 2, 4065, 4066, 6, 186, 5, 2, 4066, 4067, 7, 1559, 2, 2, 4067, 4068, 7, 1977, 2, 2, 4068, 4069, 7, 1318, 2, 2, 4069, 4072, 5, 376, 189, 2, 4070, 4072, 7, 353, 2, 2, 4071, 4059, 3, 2, 2, 2, 4071, 4060, 3, 2, 2, 2, 4071, 4062, 3, 2, 2, 2, 4071, 4065, 3, 2, 2, 2, 4071, 4070, 3, 2, 2, 2, 4072, 371, 3, 2, 2, 2, 4073, 4074, 5, 1490, 746, 2, 4074, 4075, 7, 2218, 2, 2, 4075, 4077, 3, 2, 2, 2, 4076, 4073, 3, 2, 2, 2, 4076, 4077, 3, 2, 2, 2, 4077, 4078, 3, 2, 2, 2, 4078, 4079, 5, 1490, 746, 2, 4079, 373, 3, 2, 2, 2, 4080, 4081, 5, 1490, 746, 2, 4081, 4082, 7, 2218, 2, 2, 4082, 4084, 3, 2, 2, 2, 4083, 4080, 3, 2, 2, 2, 4083, 4084, 3, 2, 2, 2, 4084, 4085, 3, 2, 2, 2, 4085, 4086, 5, 1490, 746, 2, 4086, 375, 3, 2, 2, 2, 4087, 4088, 5, 1490, 746, 2, 4088, 4089, 7, 2218, 2, 2, 4089, 4091, 3, 2, 2, 2, 4090, 4087, 3, 2, 2, 2, 4090, 4091, 3, 2, 2, 2, 4091, 4092, 3, 2, 2, 2, 4092, 4093, 5, 1490, 746, 2, 4093, 377, 3, 2, 2, 2, 4094, 4095, 7, 41, 2, 2, 4095, 4165, 7, 1781, 2, 2, 4096, 4165, 7, 199, 2, 2, 4097, 4165, 7, 267, 2, 2, 4098, 4099, 7, 318, 2, 2, 4099, 4165, 7, 762, 2, 2, 4100, 4165, 7, 379, 2, 2, 4101, 4165, 7, 382, 2, 2, 4102, 4165, 7, 633, 2, 2, 4103, 4104, 7, 811, 2, 2, 4104, 4165, 7, 2101, 2, 2, 4105, 4106, 7, 1075, 2, 2, 4106, 4165, 7, 480, 2, 2, 4107, 4165, 7, 1182, 2, 2, 4108, 4109, 6, 190, 6, 2, 4109, 4110, 7, 1267, 2, 2, 4110, 4165, 7, 318, 2, 2, 4111, 4165, 7, 1316, 2, 2, 4112, 4165, 7, 1318, 2, 2, 4113, 4114, 7, 1326, 2, 2, 4114, 4115, 7, 318, 2, 2, 4115, 4165, 7, 762, 2, 2, 4116, 4117, 7, 1326, 2, 2, 4117, 4165, 7, 1629, 2, 2, 4118, 4165, 7, 1440, 2, 2, 4119, 4120, 7, 1443, 2, 2, 4120, 4165, 7, 1490, 2, 2, 4121, 4165, 7, 1498, 2, 2, 4122, 4165, 7, 1508, 2, 2, 4123, 4165, 7, 1629, 2, 2, 4124, 4125, 7, 1781, 2, 2, 4125, 4165, 7, 79, 2, 2, 4126, 4127, 7, 1781, 2, 2, 4127, 4165, 7, 573, 2, 2, 4128, 4165, 7, 1914, 2, 2, 4129, 4165, 7, 1911, 2, 2, 4130, 4165, 7, 1980, 2, 2, 4131, 4165, 7, 1989, 2, 2, 4132, 4165, 7, 2057, 2, 2, 4133, 4165, 7, 2101, 2, 2, 4134, 4135, 7, 41, 2, 2, 4135, 4165, 7, 1498, 2, 2, 4136, 4137, 7, 41, 2, 2, 4137, 4165, 7, 1914, 2, 2, 4138, 4139, 7, 219, 2, 2, 4139, 4165, 7, 1914, 2, 2, 4140, 4141, 7, 364, 2, 2, 4141, 4165, 7, 1914, 2, 2, 4142, 4143, 7, 477, 2, 2, 4143, 4165, 7, 1316, 2, 2, 4144, 4145, 7, 573, 2, 2, 4145, 4165, 7, 382, 2, 2, 4146, 4147, 7, 573, 2, 2, 4147, 4165, 7, 1316, 2, 2, 4148, 4149, 7, 573, 2, 2, 4149, 4165, 7, 1498, 2, 2, 4150, 4151, 7, 573, 2, 2, 4151, 4165, 7, 1914, 2, 2, 4152, 4153, 7, 573, 2, 2, 4153, 4165, 7, 1989, 2, 2, 4154, 4155, 7, 671, 2, 2, 4155, 4165, 7, 1914, 2, 2, 4156, 4157, 7, 778, 2, 2, 4157, 4165, 7, 1914, 2, 2, 4158, 4159, 7, 1492, 2, 2, 4159, 4165, 7, 1498, 2, 2, 4160, 4161, 7, 1492, 2, 2, 4161, 4165, 7, 1914, 2, 2, 4162, 4163, 7, 2027, 2, 2, 4163, 4165, 7, 1914, 2, 2, 4164, 4094, 3, 2, 2, 2, 4164, 4096, 3, 2, 2, 2, 4164, 4097, 3, 2, 2, 2, 4164, 4098, 3, 2, 2, 2, 4164, 4100, 3, 2, 2, 2, 4164, 4101, 3, 2, 2, 2, 4164, 4102, 3, 2, 2, 2, 4164, 4103, 3, 2, 2, 2, 4164, 4105, 3, 2, 2, 2, 4164, 4107, 3, 2, 2, 2, 4164, 4108, 3, 2, 2, 2, 4164, 4111, 3, 2, 2, 2, 4164, 4112, 3, 2, 2, 2, 4164, 4113, 3, 2, 2, 2, 4164, 4116, 3, 2, 2, 2, 4164, 4118, 3, 2, 2, 2, 4164, 4119, 3, 2, 2, 2, 4164, 4121, 3, 2, 2, 2, 4164, 4122, 3, 2, 2, 2, 4164, 4123, 3, 2, 2, 2, 4164, 4124, 3, 2, 2, 2, 4164, 4126, 3, 2, 2, 2, 4164, 4128, 3, 2, 2, 2, 4164, 4129, 3, 2, 2, 2, 4164, 4130, 3, 2, 2, 2, 4164, 4131, 3, 2, 2, 2, 4164, 4132, 3, 2, 2, 2, 4164, 4133, 3, 2, 2, 2, 4164, 4134, 3, 2, 2, 2, 4164, 4136, 3, 2, 2, 2, 4164, 4138, 3, 2, 2, 2, 4164, 4140, 3, 2, 2, 2, 4164, 4142, 3, 2, 2, 2, 4164, 4144, 3, 2, 2, 2, 4164, 4146, 3, 2, 2, 2, 4164, 4148, 3, 2, 2, 2, 4164, 4150, 3, 2, 2, 2, 4164, 4152, 3, 2, 2, 2, 4164, 4154, 3, 2, 2, 2, 4164, 4156, 3, 2, 2, 2, 4164, 4158, 3, 2, 2, 2, 4164, 4160, 3, 2, 2, 2, 4164, 4162, 3, 2, 2, 2, 4165, 379, 3, 2, 2, 2, 4166, 4167, 7, 413, 2, 2, 4167, 4168, 7, 633, 2, 2, 4168, 4169, 5, 1416, 709, 2, 4169, 4170, 7, 2243, 2, 2, 4170, 381, 3, 2, 2, 2, 4171, 4172, 7, 1406, 2, 2, 4172, 4173, 5, 374, 188, 2, 4173, 4174, 7, 1966, 2, 2, 4174, 4175, 5, 374, 188, 2, 4175, 4176, 7, 2243, 2, 2, 4176, 383, 3, 2, 2, 2, 4177, 4189, 7, 573, 2, 2, 4178, 4180, 7, 2231, 2, 2, 4179, 4178, 3, 2, 2, 2, 4179, 4180, 3, 2, 2, 2, 4180, 4187, 3, 2, 2, 2, 4181, 4188, 5, 1396, 699, 2, 4182, 4188, 5, 1478, 740, 2, 4183, 4185, 5, 1476, 739, 2, 4184, 4186, 5, 1446, 724, 2, 4185, 4184, 3, 2, 2, 2, 4185, 4186, 3, 2, 2, 2, 4186, 4188, 3, 2, 2, 2, 4187, 4181, 3, 2, 2, 2, 4187, 4182, 3, 2, 2, 2, 4187, 4183, 3, 2, 2, 2, 4188, 4190, 3, 2, 2, 2, 4189, 4179, 3, 2, 2, 2, 4190, 4191, 3, 2, 2, 2, 4191, 4189, 3, 2, 2, 2, 4191, 4192, 3, 2, 2, 2, 4192, 4195, 3, 2, 2, 2, 4193, 4194, 7, 1130, 2, 2, 4194, 4196, 5, 1442, 722, 2, 4195, 4193, 3, 2, 2, 2, 4195, 4196, 3, 2, 2, 2, 4196, 4197, 3, 2, 2, 2, 4197, 4200, 7, 1966, 2, 2, 4198, 4201, 5, 1394, 698, 2, 4199, 4201, 7, 1326, 2, 2, 4200, 4198, 3, 2, 2, 2, 4200, 4199, 3, 2, 2, 2, 4201, 4209, 3, 2, 2, 2, 4202, 4205, 7, 2231, 2, 2, 4203, 4206, 5, 1394, 698, 2, 4204, 4206, 7, 1326, 2, 2, 4205, 4203, 3, 2, 2, 2, 4205, 4204, 3, 2, 2, 2, 4206, 4208, 3, 2, 2, 2, 4207, 4202, 3, 2, 2, 2, 4208, 4211, 3, 2, 2, 2, 4209, 4207, 3, 2, 2, 2, 4209, 4210, 3, 2, 2, 2, 4210, 4215, 3, 2, 2, 2, 4211, 4209, 3, 2, 2, 2, 4212, 4213, 7, 2123, 2, 2, 4213, 4214, 9, 35, 2, 2, 4214, 4216, 7, 1143, 2, 2, 4215, 4212, 3, 2, 2, 2, 4215, 4216, 3, 2, 2, 2, 4216, 4220, 3, 2, 2, 2, 4217, 4218, 7, 2123, 2, 2, 4218, 4219, 7, 595, 2, 2, 4219, 4221, 7, 1143, 2, 2, 4220, 4217, 3, 2, 2, 2, 4220, 4221, 3, 2, 2, 2, 4221, 4225, 3, 2, 2, 2, 4222, 4223, 7, 2123, 2, 2, 4223, 4224, 7, 573, 2, 2, 4224, 4226, 7, 1143, 2, 2, 4225, 4222, 3, 2, 2, 2, 4225, 4226, 3, 2, 2, 2, 4226, 4228, 3, 2, 2, 2, 4227, 4229, 5, 386, 194, 2, 4228, 4227, 3, 2, 2, 2, 4228, 4229, 3, 2, 2, 2, 4229, 4230, 3, 2, 2, 2, 4230, 4231, 7, 2243, 2, 2, 4231, 385, 3, 2, 2, 2, 4232, 4233, 7, 262, 2, 2, 4233, 4234, 7, 2245, 2, 2, 4234, 4235, 9, 33, 2, 2, 4235, 387, 3, 2, 2, 2, 4236, 4239, 7, 290, 2, 2, 4237, 4238, 7, 1174, 2, 2, 4238, 4240, 7, 1409, 2, 2, 4239, 4237, 3, 2, 2, 2, 4239, 4240, 3, 2, 2, 2, 4240, 4241, 3, 2, 2, 2, 4241, 4242, 7, 382, 2, 2, 4242, 4243, 5, 390, 196, 2, 4243, 4244, 7, 63, 2, 2, 4244, 4245, 5, 392, 197, 2, 4245, 4246, 7, 2243, 2, 2, 4246, 389, 3, 2, 2, 2, 4247, 4248, 5, 1494, 748, 2, 4248, 391, 3, 2, 2, 2, 4249, 4250, 7, 2221, 2, 2, 4250, 393, 3, 2, 2, 2, 4251, 4252, 7, 41, 2, 2, 4252, 4253, 7, 751, 2, 2, 4253, 4269, 5, 404, 203, 2, 4254, 4256, 7, 225, 2, 2, 4255, 4257, 5, 398, 200, 2, 4256, 4255, 3, 2, 2, 2, 4256, 4257, 3, 2, 2, 2, 4257, 4261, 3, 2, 2, 2, 4258, 4260, 5, 400, 201, 2, 4259, 4258, 3, 2, 2, 2, 4260, 4263, 3, 2, 2, 2, 4261, 4259, 3, 2, 2, 2, 4261, 4262, 3, 2, 2, 2, 4262, 4266, 3, 2, 2, 2, 4263, 4261, 3, 2, 2, 2, 4264, 4265, 7, 1434, 2, 2, 4265, 4267, 7, 1514, 2, 2, 4266, 4264, 3, 2, 2, 2, 4266, 4267, 3, 2, 2, 2, 4267, 4270, 3, 2, 2, 2, 4268, 4270, 5, 396, 199, 2, 4269, 4254, 3, 2, 2, 2, 4269, 4268, 3, 2, 2, 2, 4270, 4271, 3, 2, 2, 2, 4271, 4272, 7, 2243, 2, 2, 4272, 395, 3, 2, 2, 2, 4273, 4274, 6, 199, 7, 2, 4274, 4275, 9, 36, 2, 2, 4275, 397, 3, 2, 2, 2, 4276, 4277, 6, 200, 8, 2, 4277, 4278, 7, 342, 2, 2, 4278, 399, 3, 2, 2, 2, 4279, 4280, 5, 1382, 692, 2, 4280, 4281, 7, 2245, 2, 2, 4281, 4282, 5, 402, 202, 2, 4282, 401, 3, 2, 2, 2, 4283, 4284, 5, 1494, 748, 2, 4284, 403, 3, 2, 2, 2, 4285, 4286, 5, 1494, 748, 2, 4286, 4287, 7, 2218, 2, 2, 4287, 4289, 3, 2, 2, 2, 4288, 4285, 3, 2, 2, 2, 4288, 4289, 3, 2, 2, 2, 4289, 4290, 3, 2, 2, 2, 4290, 4291, 5, 1494, 748, 2, 4291, 405, 3, 2, 2, 2, 4292, 4293, 7, 41, 2, 2, 4293, 4294, 7, 2101, 2, 2, 4294, 4327, 5, 1428, 715, 2, 4295, 4296, 7, 20, 2, 2, 4296, 4328, 5, 424, 213, 2, 4297, 4298, 7, 865, 2, 2, 4298, 4299, 7, 259, 2, 2, 4299, 4300, 5, 1398, 700, 2, 4300, 4301, 9, 37, 2, 2, 4301, 4328, 3, 2, 2, 2, 4302, 4319, 7, 413, 2, 2, 4303, 4304, 7, 259, 2, 2, 4304, 4320, 5, 1398, 700, 2, 4305, 4306, 7, 1306, 2, 2, 4306, 4320, 7, 724, 2, 2, 4307, 4308, 7, 2004, 2, 2, 4308, 4309, 7, 2225, 2, 2, 4309, 4314, 5, 1426, 714, 2, 4310, 4311, 7, 2231, 2, 2, 4311, 4313, 5, 1426, 714, 2, 4312, 4310, 3, 2, 2, 2, 4313, 4316, 3, 2, 2, 2, 4314, 4312, 3, 2, 2, 2, 4314, 4315, 3, 2, 2, 2, 4315, 4317, 3, 2, 2, 2, 4316, 4314, 3, 2, 2, 2, 4317, 4318, 7, 2226, 2, 2, 4318, 4320, 3, 2, 2, 2, 4319, 4303, 3, 2, 2, 2, 4319, 4305, 3, 2, 2, 2, 4319, 4307, 3, 2, 2, 2, 4320, 4328, 3, 2, 2, 2, 4321, 4328, 7, 225, 2, 2, 4322, 4323, 7, 1355, 2, 2, 4323, 4328, 9, 38, 2, 2, 4324, 4326, 5, 408, 205, 2, 4325, 4324, 3, 2, 2, 2, 4325, 4326, 3, 2, 2, 2, 4326, 4328, 3, 2, 2, 2, 4327, 4295, 3, 2, 2, 2, 4327, 4297, 3, 2, 2, 2, 4327, 4302, 3, 2, 2, 2, 4327, 4321, 3, 2, 2, 2, 4327, 4322, 3, 2, 2, 2, 4327, 4325, 3, 2, 2, 2, 4328, 4329, 3, 2, 2, 2, 4329, 4330, 7, 2243, 2, 2, 4330, 407, 3, 2, 2, 2, 4331, 4332, 6, 205, 9, 2, 4332, 4333, 9, 36, 2, 2, 4333, 409, 3, 2, 2, 2, 4334, 4337, 7, 290, 2, 2, 4335, 4336, 7, 1174, 2, 2, 4336, 4338, 7, 1409, 2, 2, 4337, 4335, 3, 2, 2, 2, 4337, 4338, 3, 2, 2, 2, 4338, 4343, 3, 2, 2, 2, 4339, 4341, 7, 1174, 2, 2, 4340, 4339, 3, 2, 2, 2, 4340, 4341, 3, 2, 2, 2, 4341, 4342, 3, 2, 2, 2, 4342, 4344, 7, 544, 2, 2, 4343, 4340, 3, 2, 2, 2, 4343, 4344, 3, 2, 2, 2, 4344, 4346, 3, 2, 2, 2, 4345, 4347, 7, 425, 2, 2, 4346, 4345, 3, 2, 2, 2, 4346, 4347, 3, 2, 2, 2, 4347, 4349, 3, 2, 2, 2, 4348, 4350, 7, 427, 2, 2, 4349, 4348, 3, 2, 2, 2, 4349, 4350, 3, 2, 2, 2, 4350, 4351, 3, 2, 2, 2, 4351, 4352, 7, 2101, 2, 2, 4352, 4354, 5, 1428, 715, 2, 4353, 4355, 5, 412, 207, 2, 4354, 4353, 3, 2, 2, 2, 4354, 4355, 3, 2, 2, 2, 4355, 4356, 3, 2, 2, 2, 4356, 4357, 7, 63, 2, 2, 4357, 4359, 5, 1042, 522, 2, 4358, 4360, 5, 1226, 614, 2, 4359, 4358, 3, 2, 2, 2, 4359, 4360, 3, 2, 2, 2, 4360, 411, 3, 2, 2, 2, 4361, 4364, 5, 414, 208, 2, 4362, 4364, 5, 416, 209, 2, 4363, 4361, 3, 2, 2, 2, 4363, 4362, 3, 2, 2, 2, 4364, 413, 3, 2, 2, 2, 4365, 4379, 7, 2225, 2, 2, 4366, 4368, 7, 2231, 2, 2, 4367, 4366, 3, 2, 2, 2, 4367, 4368, 3, 2, 2, 2, 4368, 4377, 3, 2, 2, 2, 4369, 4373, 5, 1356, 679, 2, 4370, 4372, 5, 418, 210, 2, 4371, 4370, 3, 2, 2, 2, 4372, 4375, 3, 2, 2, 2, 4373, 4371, 3, 2, 2, 2, 4373, 4374, 3, 2, 2, 2, 4374, 4378, 3, 2, 2, 2, 4375, 4373, 3, 2, 2, 2, 4376, 4378, 5, 424, 213, 2, 4377, 4369, 3, 2, 2, 2, 4377, 4376, 3, 2, 2, 2, 4378, 4380, 3, 2, 2, 2, 4379, 4367, 3, 2, 2, 2, 4380, 4381, 3, 2, 2, 2, 4381, 4379, 3, 2, 2, 2, 4381, 4382, 3, 2, 2, 2, 4382, 4383, 3, 2, 2, 2, 4383, 4384, 7, 2226, 2, 2, 4384, 415, 3, 2, 2, 2, 4385, 4386, 7, 1117, 2, 2, 4386, 4405, 5, 1402, 702, 2, 4387, 4388, 7, 2123, 2, 2, 4388, 4389, 7, 1109, 2, 2, 4389, 4401, 9, 39, 2, 2, 4390, 4402, 7, 353, 2, 2, 4391, 4392, 7, 2225, 2, 2, 4392, 4397, 7, 2254, 2, 2, 4393, 4394, 7, 2231, 2, 2, 4394, 4396, 7, 2254, 2, 2, 4395, 4393, 3, 2, 2, 2, 4396, 4399, 3, 2, 2, 2, 4397, 4395, 3, 2, 2, 2, 4397, 4398, 3, 2, 2, 2, 4398, 4400, 3, 2, 2, 2, 4399, 4397, 3, 2, 2, 2, 4400, 4402, 7, 2226, 2, 2, 4401, 4390, 3, 2, 2, 2, 4401, 4391, 3, 2, 2, 2, 4402, 4406, 3, 2, 2, 2, 4403, 4404, 7, 1999, 2, 2, 4404, 4406, 5, 1428, 715, 2, 4405, 4387, 3, 2, 2, 2, 4405, 4403, 3, 2, 2, 2, 4406, 4424, 3, 2, 2, 2, 4407, 4416, 7, 2225, 2, 2, 4408, 4410, 7, 2231, 2, 2, 4409, 4408, 3, 2, 2, 2, 4409, 4410, 3, 2, 2, 2, 4410, 4414, 3, 2, 2, 2, 4411, 4415, 5, 424, 213, 2, 4412, 4413, 7, 2254, 2, 2, 4413, 4415, 5, 418, 210, 2, 4414, 4411, 3, 2, 2, 2, 4414, 4412, 3, 2, 2, 2, 4415, 4417, 3, 2, 2, 2, 4416, 4409, 3, 2, 2, 2, 4417, 4418, 3, 2, 2, 2, 4418, 4416, 3, 2, 2, 2, 4418, 4419, 3, 2, 2, 2, 4419, 4420, 3, 2, 2, 2, 4420, 4421, 7, 2226, 2, 2, 4421, 4423, 3, 2, 2, 2, 4422, 4407, 3, 2, 2, 2, 4423, 4426, 3, 2, 2, 2, 4424, 4422, 3, 2, 2, 2, 4424, 4425, 3, 2, 2, 2, 4425, 417, 3, 2, 2, 2, 4426, 4424, 3, 2, 2, 2, 4427, 4428, 7, 259, 2, 2, 4428, 4430, 5, 1398, 700, 2, 4429, 4427, 3, 2, 2, 2, 4429, 4430, 3, 2, 2, 2, 4430, 4440, 3, 2, 2, 2, 4431, 4433, 7, 1075, 2, 2, 4432, 4431, 3, 2, 2, 2, 4432, 4433, 3, 2, 2, 2, 4433, 4434, 3, 2, 2, 2, 4434, 4441, 7, 1099, 2, 2, 4435, 4441, 7, 2004, 2, 2, 4436, 4437, 7, 1306, 2, 2, 4437, 4441, 7, 724, 2, 2, 4438, 4441, 5, 896, 449, 2, 4439, 4441, 5, 886, 444, 2, 4440, 4432, 3, 2, 2, 2, 4440, 4435, 3, 2, 2, 2, 4440, 4436, 3, 2, 2, 2, 4440, 4438, 3, 2, 2, 2, 4440, 4439, 3, 2, 2, 2, 4441, 4443, 3, 2, 2, 2, 4442, 4444, 5, 426, 214, 2, 4443, 4442, 3, 2, 2, 2, 4443, 4444, 3, 2, 2, 2, 4444, 419, 3, 2, 2, 2, 4445, 4446, 7, 1475, 2, 2, 4446, 4447, 7, 697, 2, 2, 4447, 4459, 5, 1428, 715, 2, 4448, 4449, 7, 2123, 2, 2, 4449, 4459, 7, 1448, 2, 2, 4450, 4451, 7, 259, 2, 2, 4451, 4453, 5, 1398, 700, 2, 4452, 4450, 3, 2, 2, 2, 4452, 4453, 3, 2, 2, 2, 4453, 4454, 3, 2, 2, 2, 4454, 4456, 5, 896, 449, 2, 4455, 4457, 5, 426, 214, 2, 4456, 4455, 3, 2, 2, 2, 4456, 4457, 3, 2, 2, 2, 4457, 4459, 3, 2, 2, 2, 4458, 4445, 3, 2, 2, 2, 4458, 4448, 3, 2, 2, 2, 4458, 4452, 3, 2, 2, 2, 4459, 421, 3, 2, 2, 2, 4460, 4461, 7, 1475, 2, 2, 4461, 4462, 7, 548, 2, 2, 4462, 4463, 7, 2225, 2, 2, 4463, 4464, 5, 1494, 748, 2, 4464, 4465, 7, 2226, 2, 2, 4465, 4466, 7, 697, 2, 2, 4466, 4467, 5, 1428, 715, 2, 4467, 4496, 3, 2, 2, 2, 4468, 4469, 7, 1378, 2, 2, 4469, 4470, 7, 2225, 2, 2, 4470, 4471, 5, 1494, 748, 2, 4471, 4472, 7, 2226, 2, 2, 4472, 4473, 7, 2123, 2, 2, 4473, 4474, 7, 1448, 2, 2, 4474, 4496, 3, 2, 2, 2, 4475, 4476, 7, 259, 2, 2, 4476, 4478, 5, 1398, 700, 2, 4477, 4475, 3, 2, 2, 2, 4477, 4478, 3, 2, 2, 2, 4478, 4479, 3, 2, 2, 2, 4479, 4480, 7, 546, 2, 2, 4480, 4481, 7, 724, 2, 2, 4481, 4486, 7, 2225, 2, 2, 4482, 4484, 7, 2231, 2, 2, 4483, 4482, 3, 2, 2, 2, 4483, 4484, 3, 2, 2, 2, 4484, 4485, 3, 2, 2, 2, 4485, 4487, 5, 1494, 748, 2, 4486, 4483, 3, 2, 2, 2, 4487, 4488, 3, 2, 2, 2, 4488, 4486, 3, 2, 2, 2, 4488, 4489, 3, 2, 2, 2, 4489, 4490, 3, 2, 2, 2, 4490, 4491, 7, 2226, 2, 2, 4491, 4493, 5, 896, 449, 2, 4492, 4494, 5, 426, 214, 2, 4493, 4492, 3, 2, 2, 2, 4493, 4494, 3, 2, 2, 2, 4494, 4496, 3, 2, 2, 2, 4495, 4460, 3, 2, 2, 2, 4495, 4468, 3, 2, 2, 2, 4495, 4477, 3, 2, 2, 2, 4496, 423, 3, 2, 2, 2, 4497, 4498, 7, 259, 2, 2, 4498, 4500, 5, 1398, 700, 2, 4499, 4497, 3, 2, 2, 2, 4499, 4500, 3, 2, 2, 2, 4500, 4532, 3, 2, 2, 2, 4501, 4502, 7, 2004, 2, 2, 4502, 4503, 7, 2225, 2, 2, 4503, 4508, 5, 1426, 714, 2, 4504, 4505, 7, 2231, 2, 2, 4505, 4507, 5, 1426, 714, 2, 4506, 4504, 3, 2, 2, 2, 4507, 4510, 3, 2, 2, 2, 4508, 4506, 3, 2, 2, 2, 4508, 4509, 3, 2, 2, 2, 4509, 4511, 3, 2, 2, 2, 4510, 4508, 3, 2, 2, 2, 4511, 4512, 7, 2226, 2, 2, 4512, 4533, 3, 2, 2, 2, 4513, 4514, 7, 1306, 2, 2, 4514, 4515, 7, 724, 2, 2, 4515, 4516, 7, 2225, 2, 2, 4516, 4521, 5, 1426, 714, 2, 4517, 4518, 7, 2231, 2, 2, 4518, 4520, 5, 1426, 714, 2, 4519, 4517, 3, 2, 2, 2, 4520, 4523, 3, 2, 2, 2, 4521, 4519, 3, 2, 2, 2, 4521, 4522, 3, 2, 2, 2, 4522, 4524, 3, 2, 2, 2, 4523, 4521, 3, 2, 2, 2, 4524, 4525, 7, 2226, 2, 2, 4525, 4533, 3, 2, 2, 2, 4526, 4533, 5, 894, 448, 2, 4527, 4528, 7, 182, 2, 2, 4528, 4529, 7, 2225, 2, 2, 4529, 4530, 5, 1236, 619, 2, 4530, 4531, 7, 2226, 2, 2, 4531, 4533, 3, 2, 2, 2, 4532, 4501, 3, 2, 2, 2, 4532, 4513, 3, 2, 2, 2, 4532, 4526, 3, 2, 2, 2, 4532, 4527, 3, 2, 2, 2, 4533, 4535, 3, 2, 2, 2, 4534, 4536, 5, 426, 214, 2, 4535, 4534, 3, 2, 2, 2, 4535, 4536, 3, 2, 2, 2, 4536, 425, 3, 2, 2, 2, 4537, 4539, 7, 1075, 2, 2, 4538, 4537, 3, 2, 2, 2, 4538, 4539, 3, 2, 2, 2, 4539, 4540, 3, 2, 2, 2, 4540, 4548, 7, 355, 2, 2, 4541, 4542, 7, 658, 2, 2, 4542, 4548, 9, 40, 2, 2, 4543, 4548, 9, 37, 2, 2, 4544, 4548, 9, 7, 2, 2, 4545, 4548, 9, 41, 2, 2, 4546, 4548, 5, 768, 385, 2, 4547, 4538, 3, 2, 2, 2, 4547, 4541, 3, 2, 2, 2, 4547, 4543, 3, 2, 2, 2, 4547, 4544, 3, 2, 2, 2, 4547, 4545, 3, 2, 2, 2, 4547, 4546, 3, 2, 2, 2, 4548, 4549, 3, 2, 2, 2, 4549, 4547, 3, 2, 2, 2, 4549, 4550, 3, 2, 2, 2, 4550, 427, 3, 2, 2, 2, 4551, 4552, 7, 41, 2, 2, 4552, 4553, 7, 1911, 2, 2, 4553, 4586, 5, 838, 420, 2, 4554, 4556, 7, 353, 2, 2, 4555, 4557, 5, 610, 306, 2, 4556, 4555, 3, 2, 2, 2, 4556, 4557, 3, 2, 2, 2, 4557, 4559, 3, 2, 2, 2, 4558, 4560, 5, 614, 308, 2, 4559, 4558, 3, 2, 2, 2, 4559, 4560, 3, 2, 2, 2, 4560, 4587, 3, 2, 2, 2, 4561, 4562, 7, 842, 2, 2, 4562, 4563, 7, 493, 2, 2, 4563, 4587, 5, 608, 305, 2, 4564, 4565, 7, 1414, 2, 2, 4565, 4587, 5, 608, 305, 2, 4566, 4587, 7, 207, 2, 2, 4567, 4568, 7, 1523, 2, 2, 4568, 4571, 7, 1551, 2, 2, 4569, 4570, 7, 722, 2, 2, 4570, 4572, 5, 608, 305, 2, 4571, 4569, 3, 2, 2, 2, 4571, 4572, 3, 2, 2, 2, 4572, 4587, 3, 2, 2, 2, 4573, 4574, 7, 1406, 2, 2, 4574, 4575, 7, 1966, 2, 2, 4575, 4587, 5, 442, 222, 2, 4576, 4577, 5, 674, 338, 2, 4577, 4578, 7, 95, 2, 2, 4578, 4587, 3, 2, 2, 2, 4579, 4587, 5, 430, 216, 2, 4580, 4587, 5, 432, 217, 2, 4581, 4587, 5, 434, 218, 2, 4582, 4587, 5, 438, 220, 2, 4583, 4587, 5, 470, 236, 2, 4584, 4587, 5, 440, 221, 2, 4585, 4587, 5, 460, 231, 2, 4586, 4554, 3, 2, 2, 2, 4586, 4561, 3, 2, 2, 2, 4586, 4564, 3, 2, 2, 2, 4586, 4566, 3, 2, 2, 2, 4586, 4567, 3, 2, 2, 2, 4586, 4573, 3, 2, 2, 2, 4586, 4576, 3, 2, 2, 2, 4586, 4579, 3, 2, 2, 2, 4586, 4580, 3, 2, 2, 2, 4586, 4581, 3, 2, 2, 2, 4586, 4582, 3, 2, 2, 2, 4586, 4583, 3, 2, 2, 2, 4586, 4584, 3, 2, 2, 2, 4586, 4585, 3, 2, 2, 2, 4587, 4588, 3, 2, 2, 2, 4588, 4589, 7, 2243, 2, 2, 4589, 429, 3, 2, 2, 2, 4590, 4593, 7, 20, 2, 2, 4591, 4594, 5, 462, 232, 2, 4592, 4594, 5, 464, 233, 2, 4593, 4591, 3, 2, 2, 2, 4593, 4592, 3, 2, 2, 2, 4594, 4637, 3, 2, 2, 2, 4595, 4596, 7, 413, 2, 2, 4596, 4599, 9, 42, 2, 2, 4597, 4600, 5, 750, 376, 2, 4598, 4600, 7, 2219, 2, 2, 4599, 4597, 3, 2, 2, 2, 4599, 4598, 3, 2, 2, 2, 4600, 4603, 3, 2, 2, 2, 4601, 4602, 7, 722, 2, 2, 4602, 4604, 5, 608, 305, 2, 4603, 4601, 3, 2, 2, 2, 4603, 4604, 3, 2, 2, 2, 4604, 4637, 3, 2, 2, 2, 4605, 4606, 7, 1523, 2, 2, 4606, 4609, 7, 1920, 2, 2, 4607, 4610, 5, 750, 376, 2, 4608, 4610, 7, 2219, 2, 2, 4609, 4607, 3, 2, 2, 2, 4609, 4608, 3, 2, 2, 2, 4610, 4613, 3, 2, 2, 2, 4611, 4612, 7, 722, 2, 2, 4612, 4614, 5, 608, 305, 2, 4613, 4611, 3, 2, 2, 2, 4613, 4614, 3, 2, 2, 2, 4614, 4637, 3, 2, 2, 2, 4615, 4616, 7, 1406, 2, 2, 4616, 4617, 7, 320, 2, 2, 4617, 4622, 5, 750, 376, 2, 4618, 4619, 7, 2231, 2, 2, 4619, 4621, 5, 750, 376, 2, 4620, 4618, 3, 2, 2, 2, 4621, 4624, 3, 2, 2, 2, 4622, 4620, 3, 2, 2, 2, 4622, 4623, 3, 2, 2, 2, 4623, 4625, 3, 2, 2, 2, 4624, 4622, 3, 2, 2, 2, 4625, 4626, 7, 1966, 2, 2, 4626, 4631, 5, 750, 376, 2, 4627, 4628, 7, 2231, 2, 2, 4628, 4630, 5, 750, 376, 2, 4629, 4627, 3, 2, 2, 2, 4630, 4633, 3, 2, 2, 2, 4631, 4629, 3, 2, 2, 2, 4631, 4632, 3, 2, 2, 2, 4632, 4637, 3, 2, 2, 2, 4633, 4631, 3, 2, 2, 2, 4634, 4635, 9, 42, 2, 2, 4635, 4637, 5, 316, 159, 2, 4636, 4590, 3, 2, 2, 2, 4636, 4595, 3, 2, 2, 2, 4636, 4605, 3, 2, 2, 2, 4636, 4615, 3, 2, 2, 2, 4636, 4634, 3, 2, 2, 2, 4637, 431, 3, 2, 2, 2, 4638, 4645, 5, 450, 226, 2, 4639, 4641, 7, 1012, 2, 2, 4640, 4639, 3, 2, 2, 2, 4640, 4641, 3, 2, 2, 2, 4641, 4642, 3, 2, 2, 2, 4642, 4643, 7, 544, 2, 2, 4643, 4645, 7, 781, 2, 2, 4644, 4638, 3, 2, 2, 2, 4644, 4640, 3, 2, 2, 2, 4645, 433, 3, 2, 2, 2, 4646, 4647, 7, 1911, 2, 2, 4647, 4650, 7, 575, 2, 2, 4648, 4651, 5, 436, 219, 2, 4649, 4651, 7, 2221, 2, 2, 4650, 4648, 3, 2, 2, 2, 4650, 4649, 3, 2, 2, 2, 4651, 435, 3, 2, 2, 2, 4652, 4653, 5, 1494, 748, 2, 4653, 437, 3, 2, 2, 2, 4654, 4664, 7, 1127, 2, 2, 4655, 4657, 7, 1114, 2, 2, 4656, 4658, 9, 43, 2, 2, 4657, 4656, 3, 2, 2, 2, 4657, 4658, 3, 2, 2, 2, 4658, 4664, 3, 2, 2, 2, 4659, 4660, 7, 1355, 2, 2, 4660, 4664, 9, 38, 2, 2, 4661, 4664, 7, 1245, 2, 2, 4662, 4664, 7, 1922, 2, 2, 4663, 4654, 3, 2, 2, 2, 4663, 4655, 3, 2, 2, 2, 4663, 4659, 3, 2, 2, 2, 4663, 4661, 3, 2, 2, 2, 4663, 4662, 3, 2, 2, 2, 4664, 439, 3, 2, 2, 2, 4665, 4666, 7, 534, 2, 2, 4666, 4667, 9, 44, 2, 2, 4667, 441, 3, 2, 2, 2, 4668, 4669, 5, 838, 420, 2, 4669, 443, 3, 2, 2, 2, 4670, 4672, 7, 290, 2, 2, 4671, 4673, 9, 45, 2, 2, 4672, 4671, 3, 2, 2, 2, 4672, 4673, 3, 2, 2, 2, 4673, 4677, 3, 2, 2, 2, 4674, 4678, 5, 446, 224, 2, 4675, 4678, 5, 456, 229, 2, 4676, 4678, 5, 458, 230, 2, 4677, 4674, 3, 2, 2, 2, 4677, 4675, 3, 2, 2, 2, 4677, 4676, 3, 2, 2, 2, 4678, 4679, 3, 2, 2, 2, 4679, 4680, 7, 2243, 2, 2, 4680, 445, 3, 2, 2, 2, 4681, 4682, 7, 1911, 2, 2, 4682, 4684, 5, 1490, 746, 2, 4683, 4685, 5, 462, 232, 2, 4684, 4683, 3, 2, 2, 2, 4684, 4685, 3, 2, 2, 2, 4685, 4703, 3, 2, 2, 2, 4686, 4687, 7, 842, 2, 2, 4687, 4688, 7, 493, 2, 2, 4688, 4702, 5, 608, 305, 2, 4689, 4690, 7, 134, 2, 2, 4690, 4702, 5, 608, 305, 2, 4691, 4702, 5, 450, 226, 2, 4692, 4693, 7, 544, 2, 2, 4693, 4702, 7, 781, 2, 2, 4694, 4702, 9, 29, 2, 2, 4695, 4696, 7, 446, 2, 2, 4696, 4702, 5, 448, 225, 2, 4697, 4702, 7, 353, 2, 2, 4698, 4702, 5, 452, 227, 2, 4699, 4702, 5, 454, 228, 2, 4700, 4702, 5, 440, 221, 2, 4701, 4686, 3, 2, 2, 2, 4701, 4689, 3, 2, 2, 2, 4701, 4691, 3, 2, 2, 2, 4701, 4692, 3, 2, 2, 2, 4701, 4694, 3, 2, 2, 2, 4701, 4695, 3, 2, 2, 2, 4701, 4697, 3, 2, 2, 2, 4701, 4698, 3, 2, 2, 2, 4701, 4699, 3, 2, 2, 2, 4701, 4700, 3, 2, 2, 2, 4702, 4705, 3, 2, 2, 2, 4703, 4701, 3, 2, 2, 2, 4703, 4704, 3, 2, 2, 2, 4704, 447, 3, 2, 2, 2, 4705, 4703, 3, 2, 2, 2, 4706, 4707, 7, 2065, 2, 2, 4707, 4708, 7, 2221, 2, 2, 4708, 449, 3, 2, 2, 2, 4709, 4710, 9, 46, 2, 2, 4710, 451, 3, 2, 2, 2, 4711, 4712, 7, 493, 2, 2, 4712, 4713, 7, 800, 2, 2, 4713, 4720, 7, 771, 2, 2, 4714, 4721, 7, 84, 2, 2, 4715, 4718, 7, 2002, 2, 2, 4716, 4717, 7, 1537, 2, 2, 4717, 4719, 5, 608, 305, 2, 4718, 4716, 3, 2, 2, 2, 4718, 4719, 3, 2, 2, 2, 4719, 4721, 3, 2, 2, 2, 4720, 4714, 3, 2, 2, 2, 4720, 4715, 3, 2, 2, 2, 4720, 4721, 3, 2, 2, 2, 4721, 453, 3, 2, 2, 2, 4722, 4723, 7, 1490, 2, 2, 4723, 4724, 7, 1551, 2, 2, 4724, 4725, 7, 800, 2, 2, 4725, 4726, 9, 47, 2, 2, 4726, 455, 3, 2, 2, 2, 4727, 4728, 7, 1922, 2, 2, 4728, 4729, 7, 1911, 2, 2, 4729, 4731, 5, 1490, 746, 2, 4730, 4732, 5, 464, 233, 2, 4731, 4730, 3, 2, 2, 2, 4731, 4732, 3, 2, 2, 2, 4732, 4734, 3, 2, 2, 2, 4733, 4735, 5, 434, 218, 2, 4734, 4733, 3, 2, 2, 2, 4734, 4735, 3, 2, 2, 2, 4735, 4737, 3, 2, 2, 2, 4736, 4738, 5, 452, 227, 2, 4737, 4736, 3, 2, 2, 2, 4737, 4738, 3, 2, 2, 2, 4738, 457, 3, 2, 2, 2, 4739, 4740, 7, 2000, 2, 2, 4740, 4741, 7, 1911, 2, 2, 4741, 4743, 5, 1490, 746, 2, 4742, 4744, 5, 462, 232, 2, 4743, 4742, 3, 2, 2, 2, 4743, 4744, 3, 2, 2, 2, 4744, 4746, 3, 2, 2, 2, 4745, 4747, 5, 452, 227, 2, 4746, 4745, 3, 2, 2, 2, 4746, 4747, 3, 2, 2, 2, 4747, 4749, 3, 2, 2, 2, 4748, 4750, 5, 460, 231, 2, 4749, 4748, 3, 2, 2, 2, 4749, 4750, 3, 2, 2, 2, 4750, 459, 3, 2, 2, 2, 4751, 4752, 7, 1430, 2, 2, 4752, 4753, 9, 48, 2, 2, 4753, 461, 3, 2, 2, 2, 4754, 4756, 7, 320, 2, 2, 4755, 4757, 7, 2231, 2, 2, 4756, 4755, 3, 2, 2, 2, 4756, 4757, 3, 2, 2, 2, 4757, 4758, 3, 2, 2, 2, 4758, 4759, 5, 466, 234, 2, 4759, 463, 3, 2, 2, 2, 4760, 4762, 7, 1920, 2, 2, 4761, 4763, 7, 2231, 2, 2, 4762, 4761, 3, 2, 2, 2, 4762, 4763, 3, 2, 2, 2, 4763, 4764, 3, 2, 2, 2, 4764, 4765, 5, 466, 234, 2, 4765, 465, 3, 2, 2, 2, 4766, 4768, 7, 2221, 2, 2, 4767, 4766, 3, 2, 2, 2, 4767, 4768, 3, 2, 2, 2, 4768, 4771, 3, 2, 2, 2, 4769, 4770, 7, 1537, 2, 2, 4770, 4772, 5, 608, 305, 2, 4771, 4769, 3, 2, 2, 2, 4771, 4772, 3, 2, 2, 2, 4772, 4774, 3, 2, 2, 2, 4773, 4775, 7, 1434, 2, 2, 4774, 4773, 3, 2, 2, 2, 4774, 4775, 3, 2, 2, 2, 4775, 4777, 3, 2, 2, 2, 4776, 4778, 5, 470, 236, 2, 4777, 4776, 3, 2, 2, 2, 4777, 4778, 3, 2, 2, 2, 4778, 467, 3, 2, 2, 2, 4779, 4780, 7, 320, 2, 2, 4780, 4792, 7, 2221, 2, 2, 4781, 4786, 7, 2225, 2, 2, 4782, 4784, 7, 2231, 2, 2, 4783, 4782, 3, 2, 2, 2, 4783, 4784, 3, 2, 2, 2, 4784, 4785, 3, 2, 2, 2, 4785, 4787, 7, 2221, 2, 2, 4786, 4783, 3, 2, 2, 2, 4787, 4788, 3, 2, 2, 2, 4788, 4786, 3, 2, 2, 2, 4788, 4789, 3, 2, 2, 2, 4789, 4790, 3, 2, 2, 2, 4790, 4792, 7, 2226, 2, 2, 4791, 4779, 3, 2, 2, 2, 4791, 4781, 3, 2, 2, 2, 4791, 4792, 3, 2, 2, 2, 4792, 4795, 3, 2, 2, 2, 4793, 4794, 7, 1537, 2, 2, 4794, 4796, 5, 608, 305, 2, 4795, 4793, 3, 2, 2, 2, 4795, 4796, 3, 2, 2, 2, 4796, 4799, 3, 2, 2, 2, 4797, 4798, 7, 134, 2, 2, 4798, 4800, 5, 608, 305, 2, 4799, 4797, 3, 2, 2, 2, 4799, 4800, 3, 2, 2, 2, 4800, 4802, 3, 2, 2, 2, 4801, 4803, 7, 1434, 2, 2, 4802, 4801, 3, 2, 2, 2, 4802, 4803, 3, 2, 2, 2, 4803, 469, 3, 2, 2, 2, 4804, 4814, 7, 87, 2, 2, 4805, 4815, 7, 1115, 2, 2, 4806, 4809, 7, 1130, 2, 2, 4807, 4808, 7, 908, 2, 2, 4808, 4810, 5, 608, 305, 2, 4809, 4807, 3, 2, 2, 2, 4809, 4810, 3, 2, 2, 2, 4810, 4812, 3, 2, 2, 2, 4811, 4813, 5, 472, 237, 2, 4812, 4811, 3, 2, 2, 2, 4812, 4813, 3, 2, 2, 2, 4813, 4815, 3, 2, 2, 2, 4814, 4805, 3, 2, 2, 2, 4814, 4806, 3, 2, 2, 2, 4815, 471, 3, 2, 2, 2, 4816, 4819, 7, 822, 2, 2, 4817, 4820, 7, 2006, 2, 2, 4818, 4820, 5, 608, 305, 2, 4819, 4817, 3, 2, 2, 2, 4819, 4818, 3, 2, 2, 2, 4820, 473, 3, 2, 2, 2, 4821, 4822, 7, 146, 2, 2, 4822, 4823, 9, 40, 2, 2, 4823, 475, 3, 2, 2, 2, 4824, 4830, 7, 1023, 2, 2, 4825, 4827, 7, 1197, 2, 2, 4826, 4828, 7, 2219, 2, 2, 4827, 4826, 3, 2, 2, 2, 4827, 4828, 3, 2, 2, 2, 4828, 4830, 3, 2, 2, 2, 4829, 4824, 3, 2, 2, 2, 4829, 4825, 3, 2, 2, 2, 4830, 477, 3, 2, 2, 2, 4831, 4832, 7, 41, 2, 2, 4832, 4833, 7, 811, 2, 2, 4833, 4834, 7, 2101, 2, 2, 4834, 4860, 5, 1428, 715, 2, 4835, 4861, 5, 612, 307, 2, 4836, 4861, 5, 486, 244, 2, 4837, 4861, 5, 610, 306, 2, 4838, 4843, 5, 822, 412, 2, 4839, 4840, 7, 2231, 2, 2, 4840, 4842, 5, 822, 412, 2, 4841, 4839, 3, 2, 2, 2, 4842, 4845, 3, 2, 2, 2, 4843, 4841, 3, 2, 2, 2, 4843, 4844, 3, 2, 2, 2, 4844, 4861, 3, 2, 2, 2, 4845, 4843, 3, 2, 2, 2, 4846, 4851, 5, 824, 413, 2, 4847, 4848, 7, 2231, 2, 2, 4848, 4850, 5, 824, 413, 2, 4849, 4847, 3, 2, 2, 2, 4850, 4853, 3, 2, 2, 2, 4851, 4849, 3, 2, 2, 2, 4851, 4852, 3, 2, 2, 2, 4852, 4861, 3, 2, 2, 2, 4853, 4851, 3, 2, 2, 2, 4854, 4861, 5, 476, 239, 2, 4855, 4861, 5, 450, 226, 2, 4856, 4861, 5, 634, 318, 2, 4857, 4861, 5, 636, 319, 2, 4858, 4861, 5, 638, 320, 2, 4859, 4861, 5, 660, 331, 2, 4860, 4835, 3, 2, 2, 2, 4860, 4836, 3, 2, 2, 2, 4860, 4837, 3, 2, 2, 2, 4860, 4838, 3, 2, 2, 2, 4860, 4846, 3, 2, 2, 2, 4860, 4854, 3, 2, 2, 2, 4860, 4855, 3, 2, 2, 2, 4860, 4856, 3, 2, 2, 2, 4860, 4857, 3, 2, 2, 2, 4860, 4858, 3, 2, 2, 2, 4860, 4859, 3, 2, 2, 2, 4860, 4861, 3, 2, 2, 2, 4861, 4863, 3, 2, 2, 2, 4862, 4864, 5, 758, 380, 2, 4863, 4862, 3, 2, 2, 2, 4863, 4864, 3, 2, 2, 2, 4864, 4868, 3, 2, 2, 2, 4865, 4866, 7, 2065, 2, 2, 4866, 4867, 7, 633, 2, 2, 4867, 4869, 5, 612, 307, 2, 4868, 4865, 3, 2, 2, 2, 4868, 4869, 3, 2, 2, 2, 4869, 4871, 3, 2, 2, 2, 4870, 4872, 5, 480, 241, 2, 4871, 4870, 3, 2, 2, 2, 4871, 4872, 3, 2, 2, 2, 4872, 4880, 3, 2, 2, 2, 4873, 4874, 5, 650, 326, 2, 4874, 4875, 7, 1336, 2, 2, 4875, 4876, 7, 1438, 2, 2, 4876, 4881, 3, 2, 2, 2, 4877, 4881, 7, 225, 2, 2, 4878, 4879, 7, 255, 2, 2, 4879, 4881, 7, 555, 2, 2, 4880, 4873, 3, 2, 2, 2, 4880, 4877, 3, 2, 2, 2, 4880, 4878, 3, 2, 2, 2, 4880, 4881, 3, 2, 2, 2, 4881, 4882, 3, 2, 2, 2, 4882, 4883, 7, 2243, 2, 2, 4883, 479, 3, 2, 2, 2, 4884, 4885, 5, 482, 242, 2, 4885, 481, 3, 2, 2, 2, 4886, 4913, 7, 1379, 2, 2, 4887, 4914, 7, 513, 2, 2, 4888, 4914, 7, 226, 2, 2, 4889, 4914, 7, 544, 2, 2, 4890, 4891, 7, 1130, 2, 2, 4891, 4914, 9, 49, 2, 2, 4892, 4893, 7, 1571, 2, 2, 4893, 4894, 7, 2123, 2, 2, 4894, 4914, 5, 1236, 619, 2, 4895, 4896, 7, 908, 2, 2, 4896, 4914, 5, 1236, 619, 2, 4897, 4898, 7, 2123, 2, 2, 4898, 4899, 7, 1306, 2, 2, 4899, 4914, 7, 724, 2, 2, 4900, 4902, 7, 2065, 2, 2, 4901, 4903, 7, 353, 2, 2, 4902, 4901, 3, 2, 2, 2, 4902, 4903, 3, 2, 2, 2, 4903, 4904, 3, 2, 2, 2, 4904, 4905, 7, 805, 2, 2, 4905, 4906, 7, 1443, 2, 2, 4906, 4908, 7, 1490, 2, 2, 4907, 4909, 5, 484, 243, 2, 4908, 4907, 3, 2, 2, 2, 4908, 4909, 3, 2, 2, 2, 4909, 4914, 3, 2, 2, 2, 4910, 4911, 7, 2065, 2, 2, 4911, 4912, 9, 50, 2, 2, 4912, 4914, 7, 260, 2, 2, 4913, 4887, 3, 2, 2, 2, 4913, 4888, 3, 2, 2, 2, 4913, 4889, 3, 2, 2, 2, 4913, 4890, 3, 2, 2, 2, 4913, 4892, 3, 2, 2, 2, 4913, 4895, 3, 2, 2, 2, 4913, 4897, 3, 2, 2, 2, 4913, 4900, 3, 2, 2, 2, 4913, 4910, 3, 2, 2, 2, 4914, 4915, 3, 2, 2, 2, 4915, 4913, 3, 2, 2, 2, 4915, 4916, 3, 2, 2, 2, 4916, 483, 3, 2, 2, 2, 4917, 4918, 5, 1494, 748, 2, 4918, 485, 3, 2, 2, 2, 4919, 4920, 7, 865, 2, 2, 4920, 4921, 7, 2225, 2, 2, 4921, 4925, 5, 1426, 714, 2, 4922, 4923, 7, 445, 2, 2, 4923, 4926, 5, 836, 419, 2, 4924, 4926, 7, 351, 2, 2, 4925, 4922, 3, 2, 2, 2, 4925, 4924, 3, 2, 2, 2, 4925, 4926, 3, 2, 2, 2, 4926, 4927, 3, 2, 2, 2, 4927, 4928, 7, 2226, 2, 2, 4928, 487, 3, 2, 2, 2, 4929, 4930, 7, 41, 2, 2, 4930, 4931, 7, 811, 2, 2, 4931, 4932, 7, 2101, 2, 2, 4932, 4934, 7, 785, 2, 2, 4933, 4935, 7, 544, 2, 2, 4934, 4933, 3, 2, 2, 2, 4934, 4935, 3, 2, 2, 2, 4935, 4936, 3, 2, 2, 2, 4936, 4937, 7, 1130, 2, 2, 4937, 4946, 5, 1428, 715, 2, 4938, 4947, 5, 612, 307, 2, 4939, 4947, 5, 490, 246, 2, 4940, 4947, 5, 476, 239, 2, 4941, 4947, 5, 450, 226, 2, 4942, 4947, 5, 634, 318, 2, 4943, 4947, 5, 638, 320, 2, 4944, 4947, 5, 492, 247, 2, 4945, 4947, 5, 660, 331, 2, 4946, 4938, 3, 2, 2, 2, 4946, 4939, 3, 2, 2, 2, 4946, 4940, 3, 2, 2, 2, 4946, 4941, 3, 2, 2, 2, 4946, 4942, 3, 2, 2, 2, 4946, 4943, 3, 2, 2, 2, 4946, 4944, 3, 2, 2, 2, 4946, 4945, 3, 2, 2, 2, 4946, 4947, 3, 2, 2, 2, 4947, 4949, 3, 2, 2, 2, 4948, 4950, 5, 494, 248, 2, 4949, 4948, 3, 2, 2, 2, 4949, 4950, 3, 2, 2, 2, 4950, 4952, 3, 2, 2, 2, 4951, 4953, 5, 508, 255, 2, 4952, 4951, 3, 2, 2, 2, 4952, 4953, 3, 2, 2, 2, 4953, 4954, 3, 2, 2, 2, 4954, 4955, 7, 2243, 2, 2, 4955, 489, 3, 2, 2, 2, 4956, 4957, 7, 20, 2, 2, 4957, 4958, 7, 2225, 2, 2, 4958, 4959, 5, 1426, 714, 2, 4959, 4960, 7, 2226, 2, 2, 4960, 491, 3, 2, 2, 2, 4961, 4962, 7, 876, 2, 2, 4962, 4964, 5, 618, 310, 2, 4963, 4965, 5, 476, 239, 2, 4964, 4963, 3, 2, 2, 2, 4964, 4965, 3, 2, 2, 2, 4965, 493, 3, 2, 2, 2, 4966, 4999, 7, 20, 2, 2, 4967, 4968, 7, 1109, 2, 2, 4968, 4974, 7, 607, 2, 2, 4969, 4970, 7, 1306, 2, 2, 4970, 4974, 7, 724, 2, 2, 4971, 4974, 7, 1448, 2, 2, 4972, 4974, 7, 1498, 2, 2, 4973, 4967, 3, 2, 2, 2, 4973, 4969, 3, 2, 2, 2, 4973, 4971, 3, 2, 2, 2, 4973, 4972, 3, 2, 2, 2, 4974, 4986, 3, 2, 2, 2, 4975, 4976, 7, 2225, 2, 2, 4976, 4981, 5, 1426, 714, 2, 4977, 4978, 7, 2231, 2, 2, 4978, 4980, 5, 1426, 714, 2, 4979, 4977, 3, 2, 2, 2, 4980, 4983, 3, 2, 2, 2, 4981, 4979, 3, 2, 2, 2, 4981, 4982, 3, 2, 2, 2, 4982, 4984, 3, 2, 2, 2, 4983, 4981, 3, 2, 2, 2, 4984, 4985, 7, 2226, 2, 2, 4985, 4987, 3, 2, 2, 2, 4986, 4975, 3, 2, 2, 2, 4986, 4987, 3, 2, 2, 2, 4987, 5000, 3, 2, 2, 2, 4988, 4989, 7, 2225, 2, 2, 4989, 4994, 5, 1426, 714, 2, 4990, 4991, 7, 2231, 2, 2, 4991, 4993, 5, 1426, 714, 2, 4992, 4990, 3, 2, 2, 2, 4993, 4996, 3, 2, 2, 2, 4994, 4992, 3, 2, 2, 2, 4994, 4995, 3, 2, 2, 2, 4995, 4997, 3, 2, 2, 2, 4996, 4994, 3, 2, 2, 2, 4997, 4998, 7, 2226, 2, 2, 4998, 5000, 3, 2, 2, 2, 4999, 4973, 3, 2, 2, 2, 4999, 4988, 3, 2, 2, 2, 5000, 5002, 3, 2, 2, 2, 5001, 5003, 5, 506, 254, 2, 5002, 5001, 3, 2, 2, 2, 5002, 5003, 3, 2, 2, 2, 5003, 495, 3, 2, 2, 2, 5004, 5005, 5, 1236, 619, 2, 5005, 497, 3, 2, 2, 2, 5006, 5007, 5, 1236, 619, 2, 5007, 499, 3, 2, 2, 2, 5008, 5009, 9, 51, 2, 2, 5009, 501, 3, 2, 2, 2, 5010, 5011, 9, 52, 2, 2, 5011, 503, 3, 2, 2, 2, 5012, 5013, 7, 290, 2, 2, 5013, 5014, 7, 811, 2, 2, 5014, 5015, 7, 2101, 2, 2, 5015, 5016, 7, 785, 2, 2, 5016, 5017, 7, 1130, 2, 2, 5017, 5027, 5, 1428, 715, 2, 5018, 5024, 5, 612, 307, 2, 5019, 5020, 7, 1911, 2, 2, 5020, 5024, 5, 1490, 746, 2, 5021, 5024, 5, 450, 226, 2, 5022, 5024, 9, 53, 2, 2, 5023, 5018, 3, 2, 2, 2, 5023, 5019, 3, 2, 2, 2, 5023, 5021, 3, 2, 2, 2, 5023, 5022, 3, 2, 2, 2, 5024, 5025, 3, 2, 2, 2, 5025, 5023, 3, 2, 2, 2, 5025, 5026, 3, 2, 2, 2, 5026, 5028, 3, 2, 2, 2, 5027, 5023, 3, 2, 2, 2, 5027, 5028, 3, 2, 2, 2, 5028, 5030, 3, 2, 2, 2, 5029, 5031, 5, 476, 239, 2, 5030, 5029, 3, 2, 2, 2, 5030, 5031, 3, 2, 2, 2, 5031, 5071, 3, 2, 2, 2, 5032, 5048, 7, 2123, 2, 2, 5033, 5035, 7, 2231, 2, 2, 5034, 5033, 3, 2, 2, 2, 5034, 5035, 3, 2, 2, 2, 5035, 5044, 3, 2, 2, 2, 5036, 5037, 7, 1109, 2, 2, 5037, 5045, 7, 607, 2, 2, 5038, 5039, 7, 1306, 2, 2, 5039, 5045, 7, 724, 2, 2, 5040, 5045, 7, 1448, 2, 2, 5041, 5045, 7, 1498, 2, 2, 5042, 5043, 7, 220, 2, 2, 5043, 5045, 7, 1474, 2, 2, 5044, 5036, 3, 2, 2, 2, 5044, 5038, 3, 2, 2, 2, 5044, 5040, 3, 2, 2, 2, 5044, 5041, 3, 2, 2, 2, 5044, 5042, 3, 2, 2, 2, 5045, 5047, 3, 2, 2, 2, 5046, 5034, 3, 2, 2, 2, 5047, 5050, 3, 2, 2, 2, 5048, 5046, 3, 2, 2, 2, 5048, 5049, 3, 2, 2, 2, 5049, 5064, 3, 2, 2, 2, 5050, 5048, 3, 2, 2, 2, 5051, 5056, 7, 2225, 2, 2, 5052, 5054, 7, 2231, 2, 2, 5053, 5052, 3, 2, 2, 2, 5053, 5054, 3, 2, 2, 2, 5054, 5055, 3, 2, 2, 2, 5055, 5057, 5, 1494, 748, 2, 5056, 5053, 3, 2, 2, 2, 5057, 5058, 3, 2, 2, 2, 5058, 5056, 3, 2, 2, 2, 5058, 5059, 3, 2, 2, 2, 5059, 5060, 3, 2, 2, 2, 5060, 5062, 7, 2226, 2, 2, 5061, 5063, 5, 506, 254, 2, 5062, 5061, 3, 2, 2, 2, 5062, 5063, 3, 2, 2, 2, 5063, 5065, 3, 2, 2, 2, 5064, 5051, 3, 2, 2, 2, 5064, 5065, 3, 2, 2, 2, 5065, 5067, 3, 2, 2, 2, 5066, 5068, 5, 508, 255, 2, 5067, 5066, 3, 2, 2, 2, 5067, 5068, 3, 2, 2, 2, 5068, 5070, 3, 2, 2, 2, 5069, 5032, 3, 2, 2, 2, 5070, 5073, 3, 2, 2, 2, 5071, 5069, 3, 2, 2, 2, 5071, 5072, 3, 2, 2, 2, 5072, 505, 3, 2, 2, 2, 5073, 5071, 3, 2, 2, 2, 5074, 5075, 9, 52, 2, 2, 5075, 5076, 7, 905, 2, 2, 5076, 5077, 7, 2075, 2, 2, 5077, 507, 3, 2, 2, 2, 5078, 5079, 7, 1328, 2, 2, 5079, 5081, 7, 615, 2, 2, 5080, 5082, 9, 51, 2, 2, 5081, 5080, 3, 2, 2, 2, 5081, 5082, 3, 2, 2, 2, 5082, 509, 3, 2, 2, 2, 5083, 5084, 7, 290, 2, 2, 5084, 5085, 7, 811, 2, 2, 5085, 5086, 7, 2101, 2, 2, 5086, 5089, 5, 1428, 715, 2, 5087, 5088, 7, 1117, 2, 2, 5088, 5090, 5, 1402, 702, 2, 5089, 5087, 3, 2, 2, 2, 5089, 5090, 3, 2, 2, 2, 5090, 5111, 3, 2, 2, 2, 5091, 5092, 7, 1130, 2, 2, 5092, 5093, 7, 1290, 2, 2, 5093, 5097, 7, 1914, 2, 2, 5094, 5095, 9, 54, 2, 2, 5095, 5096, 7, 1371, 2, 2, 5096, 5098, 7, 1293, 2, 2, 5097, 5094, 3, 2, 2, 2, 5097, 5098, 3, 2, 2, 2, 5098, 5112, 3, 2, 2, 2, 5099, 5101, 5, 620, 311, 2, 5100, 5099, 3, 2, 2, 2, 5100, 5101, 3, 2, 2, 2, 5101, 5103, 3, 2, 2, 2, 5102, 5104, 9, 53, 2, 2, 5103, 5102, 3, 2, 2, 2, 5103, 5104, 3, 2, 2, 2, 5104, 5106, 3, 2, 2, 2, 5105, 5107, 5, 476, 239, 2, 5106, 5105, 3, 2, 2, 2, 5106, 5107, 3, 2, 2, 2, 5107, 5109, 3, 2, 2, 2, 5108, 5110, 5, 474, 238, 2, 5109, 5108, 3, 2, 2, 2, 5109, 5110, 3, 2, 2, 2, 5110, 5112, 3, 2, 2, 2, 5111, 5091, 3, 2, 2, 2, 5111, 5100, 3, 2, 2, 2, 5112, 5130, 3, 2, 2, 2, 5113, 5114, 7, 2065, 2, 2, 5114, 5124, 7, 633, 2, 2, 5115, 5119, 5, 612, 307, 2, 5116, 5117, 7, 1911, 2, 2, 5117, 5119, 5, 1490, 746, 2, 5118, 5115, 3, 2, 2, 2, 5118, 5116, 3, 2, 2, 2, 5119, 5120, 3, 2, 2, 2, 5120, 5118, 3, 2, 2, 2, 5120, 5121, 3, 2, 2, 2, 5121, 5123, 3, 2, 2, 2, 5122, 5118, 3, 2, 2, 2, 5123, 5126, 3, 2, 2, 2, 5124, 5122, 3, 2, 2, 2, 5124, 5125, 3, 2, 2, 2, 5125, 5131, 3, 2, 2, 2, 5126, 5124, 3, 2, 2, 2, 5127, 5128, 7, 2065, 2, 2, 5128, 5129, 7, 1012, 2, 2, 5129, 5131, 7, 633, 2, 2, 5130, 5113, 3, 2, 2, 2, 5130, 5127, 3, 2, 2, 2, 5130, 5131, 3, 2, 2, 2, 5131, 5133, 3, 2, 2, 2, 5132, 5134, 5, 512, 257, 2, 5133, 5132, 3, 2, 2, 2, 5133, 5134, 3, 2, 2, 2, 5134, 5137, 3, 2, 2, 2, 5135, 5136, 7, 548, 2, 2, 5136, 5138, 7, 2027, 2, 2, 5137, 5135, 3, 2, 2, 2, 5137, 5138, 3, 2, 2, 2, 5138, 5142, 3, 2, 2, 2, 5139, 5140, 9, 7, 2, 2, 5140, 5141, 7, 1336, 2, 2, 5141, 5143, 7, 1438, 2, 2, 5142, 5139, 3, 2, 2, 2, 5142, 5143, 3, 2, 2, 2, 5143, 5144, 3, 2, 2, 2, 5144, 5145, 7, 63, 2, 2, 5145, 5146, 5, 1042, 522, 2, 5146, 5147, 7, 2243, 2, 2, 5147, 511, 3, 2, 2, 2, 5148, 5149, 7, 904, 2, 2, 5149, 5188, 7, 1379, 2, 2, 5150, 5183, 7, 1379, 2, 2, 5151, 5184, 9, 55, 2, 2, 5152, 5153, 7, 1130, 2, 2, 5153, 5184, 9, 49, 2, 2, 5154, 5155, 7, 1571, 2, 2, 5155, 5158, 7, 2123, 2, 2, 5156, 5158, 7, 908, 2, 2, 5157, 5154, 3, 2, 2, 2, 5157, 5156, 3, 2, 2, 2, 5158, 5184, 3, 2, 2, 2, 5159, 5163, 7, 2123, 2, 2, 5160, 5161, 7, 1306, 2, 2, 5161, 5164, 7, 724, 2, 2, 5162, 5164, 7, 1448, 2, 2, 5163, 5160, 3, 2, 2, 2, 5163, 5162, 3, 2, 2, 2, 5164, 5184, 3, 2, 2, 2, 5165, 5178, 7, 2065, 2, 2, 5166, 5168, 7, 353, 2, 2, 5167, 5169, 9, 56, 2, 2, 5168, 5167, 3, 2, 2, 2, 5168, 5169, 3, 2, 2, 2, 5169, 5170, 3, 2, 2, 2, 5170, 5171, 7, 1443, 2, 2, 5171, 5179, 7, 1490, 2, 2, 5172, 5174, 9, 56, 2, 2, 5173, 5172, 3, 2, 2, 2, 5173, 5174, 3, 2, 2, 2, 5174, 5175, 3, 2, 2, 2, 5175, 5176, 7, 1443, 2, 2, 5176, 5177, 7, 1490, 2, 2, 5177, 5179, 7, 2254, 2, 2, 5178, 5166, 3, 2, 2, 2, 5178, 5173, 3, 2, 2, 2, 5179, 5184, 3, 2, 2, 2, 5180, 5181, 7, 2065, 2, 2, 5181, 5182, 9, 50, 2, 2, 5182, 5184, 7, 260, 2, 2, 5183, 5151, 3, 2, 2, 2, 5183, 5152, 3, 2, 2, 2, 5183, 5157, 3, 2, 2, 2, 5183, 5159, 3, 2, 2, 2, 5183, 5165, 3, 2, 2, 2, 5183, 5180, 3, 2, 2, 2, 5184, 5185, 3, 2, 2, 2, 5185, 5183, 3, 2, 2, 2, 5185, 5186, 3, 2, 2, 2, 5186, 5188, 3, 2, 2, 2, 5187, 5148, 3, 2, 2, 2, 5187, 5150, 3, 2, 2, 2, 5188, 513, 3, 2, 2, 2, 5189, 5192, 7, 290, 2, 2, 5190, 5191, 7, 1174, 2, 2, 5191, 5193, 7, 1409, 2, 2, 5192, 5190, 3, 2, 2, 2, 5192, 5193, 3, 2, 2, 2, 5193, 5194, 3, 2, 2, 2, 5194, 5195, 7, 267, 2, 2, 5195, 5196, 5, 516, 259, 2, 5196, 5200, 7, 2065, 2, 2, 5197, 5198, 5, 1436, 719, 2, 5198, 5199, 7, 2218, 2, 2, 5199, 5201, 3, 2, 2, 2, 5200, 5197, 3, 2, 2, 2, 5200, 5201, 3, 2, 2, 2, 5201, 5202, 3, 2, 2, 2, 5202, 5207, 5, 1378, 690, 2, 5203, 5204, 7, 657, 2, 2, 5204, 5208, 9, 25, 2, 2, 5205, 5206, 7, 6, 2, 2, 5206, 5208, 7, 569, 2, 2, 5207, 5203, 3, 2, 2, 2, 5207, 5205, 3, 2, 2, 2, 5207, 5208, 3, 2, 2, 2, 5208, 5209, 3, 2, 2, 2, 5209, 5210, 7, 2243, 2, 2, 5210, 515, 3, 2, 2, 2, 5211, 5212, 5, 1490, 746, 2, 5212, 517, 3, 2, 2, 2, 5213, 5214, 7, 290, 2, 2, 5214, 5215, 7, 199, 2, 2, 5215, 5216, 5, 186, 94, 2, 5216, 5217, 7, 2225, 2, 2, 5217, 5218, 5, 1426, 714, 2, 5218, 5220, 5, 1462, 732, 2, 5219, 5221, 7, 1546, 2, 2, 5220, 5219, 3, 2, 2, 2, 5220, 5221, 3, 2, 2, 2, 5221, 5230, 3, 2, 2, 2, 5222, 5223, 7, 2231, 2, 2, 5223, 5224, 5, 1426, 714, 2, 5224, 5226, 5, 1462, 732, 2, 5225, 5227, 7, 1546, 2, 2, 5226, 5225, 3, 2, 2, 2, 5226, 5227, 3, 2, 2, 2, 5227, 5229, 3, 2, 2, 2, 5228, 5222, 3, 2, 2, 2, 5229, 5232, 3, 2, 2, 2, 5230, 5228, 3, 2, 2, 2, 5230, 5231, 3, 2, 2, 2, 5231, 5233, 3, 2, 2, 2, 5232, 5230, 3, 2, 2, 2, 5233, 5253, 7, 2226, 2, 2, 5234, 5252, 5, 612, 307, 2, 5235, 5236, 7, 1537, 2, 2, 5236, 5252, 5, 608, 305, 2, 5237, 5238, 7, 1911, 2, 2, 5238, 5252, 5, 838, 420, 2, 5239, 5252, 7, 633, 2, 2, 5240, 5241, 7, 1533, 2, 2, 5241, 5243, 7, 1914, 2, 2, 5242, 5240, 3, 2, 2, 2, 5242, 5243, 3, 2, 2, 2, 5243, 5244, 3, 2, 2, 2, 5244, 5245, 7, 585, 2, 2, 5245, 5249, 7, 2219, 2, 2, 5246, 5247, 7, 584, 2, 2, 5247, 5248, 7, 697, 2, 2, 5248, 5250, 5, 1236, 619, 2, 5249, 5246, 3, 2, 2, 2, 5249, 5250, 3, 2, 2, 2, 5250, 5252, 3, 2, 2, 2, 5251, 5234, 3, 2, 2, 2, 5251, 5235, 3, 2, 2, 2, 5251, 5237, 3, 2, 2, 2, 5251, 5239, 3, 2, 2, 2, 5251, 5242, 3, 2, 2, 2, 5252, 5255, 3, 2, 2, 2, 5253, 5251, 3, 2, 2, 2, 5253, 5254, 3, 2, 2, 2, 5254, 5257, 3, 2, 2, 2, 5255, 5253, 3, 2, 2, 2, 5256, 5258, 5, 476, 239, 2, 5257, 5256, 3, 2, 2, 2, 5257, 5258, 3, 2, 2, 2, 5258, 5260, 3, 2, 2, 2, 5259, 5261, 9, 57, 2, 2, 5260, 5259, 3, 2, 2, 2, 5260, 5261, 3, 2, 2, 2, 5261, 5263, 3, 2, 2, 2, 5262, 5264, 9, 53, 2, 2, 5263, 5262, 3, 2, 2, 2, 5263, 5264, 3, 2, 2, 2, 5264, 5265, 3, 2, 2, 2, 5265, 5266, 7, 2243, 2, 2, 5266, 519, 3, 2, 2, 2, 5267, 5270, 7, 290, 2, 2, 5268, 5269, 7, 568, 2, 2, 5269, 5271, 7, 1922, 2, 2, 5270, 5268, 3, 2, 2, 2, 5270, 5271, 3, 2, 2, 2, 5271, 5272, 3, 2, 2, 2, 5272, 5273, 7, 1914, 2, 2, 5273, 5277, 5, 1428, 715, 2, 5274, 5278, 5, 542, 272, 2, 5275, 5278, 5, 532, 267, 2, 5276, 5278, 5, 522, 262, 2, 5277, 5274, 3, 2, 2, 2, 5277, 5275, 3, 2, 2, 2, 5277, 5276, 3, 2, 2, 2, 5278, 5281, 3, 2, 2, 2, 5279, 5280, 7, 63, 2, 2, 5280, 5282, 5, 1042, 522, 2, 5281, 5279, 3, 2, 2, 2, 5281, 5282, 3, 2, 2, 2, 5282, 5283, 3, 2, 2, 2, 5283, 5284, 7, 2243, 2, 2, 5284, 521, 3, 2, 2, 2, 5285, 5286, 7, 1117, 2, 2, 5286, 5291, 7, 2164, 2, 2, 5287, 5288, 7, 2225, 2, 2, 5288, 5289, 5, 538, 270, 2, 5289, 5290, 7, 2226, 2, 2, 5290, 5292, 3, 2, 2, 2, 5291, 5287, 3, 2, 2, 2, 5291, 5292, 3, 2, 2, 2, 5292, 5295, 3, 2, 2, 2, 5293, 5294, 7, 2164, 2, 2, 5294, 5296, 5, 528, 265, 2, 5295, 5293, 3, 2, 2, 2, 5295, 5296, 3, 2, 2, 2, 5296, 5298, 3, 2, 2, 2, 5297, 5299, 5, 530, 266, 2, 5298, 5297, 3, 2, 2, 2, 5298, 5299, 3, 2, 2, 2, 5299, 5301, 3, 2, 2, 2, 5300, 5302, 5, 524, 263, 2, 5301, 5300, 3, 2, 2, 2, 5301, 5302, 3, 2, 2, 2, 5302, 5307, 3, 2, 2, 2, 5303, 5304, 7, 1130, 2, 2, 5304, 5305, 7, 220, 2, 2, 5305, 5306, 9, 58, 2, 2, 5306, 5308, 7, 1454, 2, 2, 5307, 5303, 3, 2, 2, 2, 5307, 5308, 3, 2, 2, 2, 5308, 5310, 3, 2, 2, 2, 5309, 5311, 5, 536, 269, 2, 5310, 5309, 3, 2, 2, 2, 5310, 5311, 3, 2, 2, 2, 5311, 5313, 3, 2, 2, 2, 5312, 5314, 5, 534, 268, 2, 5313, 5312, 3, 2, 2, 2, 5313, 5314, 3, 2, 2, 2, 5314, 5316, 3, 2, 2, 2, 5315, 5317, 5, 620, 311, 2, 5316, 5315, 3, 2, 2, 2, 5316, 5317, 3, 2, 2, 2, 5317, 5319, 3, 2, 2, 2, 5318, 5320, 5, 842, 422, 2, 5319, 5318, 3, 2, 2, 2, 5319, 5320, 3, 2, 2, 2, 5320, 5322, 3, 2, 2, 2, 5321, 5323, 5, 546, 274, 2, 5322, 5321, 3, 2, 2, 2, 5322, 5323, 3, 2, 2, 2, 5323, 5325, 3, 2, 2, 2, 5324, 5326, 9, 53, 2, 2, 5325, 5324, 3, 2, 2, 2, 5325, 5326, 3, 2, 2, 2, 5326, 5332, 3, 2, 2, 2, 5327, 5328, 7, 1426, 2, 2, 5328, 5329, 7, 2225, 2, 2, 5329, 5330, 7, 862, 2, 2, 5330, 5331, 9, 59, 2, 2, 5331, 5333, 7, 2226, 2, 2, 5332, 5327, 3, 2, 2, 2, 5332, 5333, 3, 2, 2, 2, 5333, 5335, 3, 2, 2, 2, 5334, 5336, 5, 476, 239, 2, 5335, 5334, 3, 2, 2, 2, 5335, 5336, 3, 2, 2, 2, 5336, 5338, 3, 2, 2, 2, 5337, 5339, 9, 57, 2, 2, 5338, 5337, 3, 2, 2, 2, 5338, 5339, 3, 2, 2, 2, 5339, 5345, 3, 2, 2, 2, 5340, 5342, 5, 766, 384, 2, 5341, 5340, 3, 2, 2, 2, 5342, 5343, 3, 2, 2, 2, 5343, 5341, 3, 2, 2, 2, 5343, 5344, 3, 2, 2, 2, 5344, 5346, 3, 2, 2, 2, 5345, 5341, 3, 2, 2, 2, 5345, 5346, 3, 2, 2, 2, 5346, 5348, 3, 2, 2, 2, 5347, 5349, 5, 622, 312, 2, 5348, 5347, 3, 2, 2, 2, 5348, 5349, 3, 2, 2, 2, 5349, 5351, 3, 2, 2, 2, 5350, 5352, 5, 624, 313, 2, 5351, 5350, 3, 2, 2, 2, 5351, 5352, 3, 2, 2, 2, 5352, 523, 3, 2, 2, 2, 5353, 5354, 7, 2103, 2, 2, 5354, 5355, 7, 216, 2, 2, 5355, 5356, 7, 2225, 2, 2, 5356, 5357, 5, 1426, 714, 2, 5357, 5358, 7, 63, 2, 2, 5358, 5359, 7, 2225, 2, 2, 5359, 5360, 5, 1236, 619, 2, 5360, 5370, 7, 2226, 2, 2, 5361, 5362, 7, 2231, 2, 2, 5362, 5363, 5, 1426, 714, 2, 5363, 5364, 7, 63, 2, 2, 5364, 5365, 7, 2225, 2, 2, 5365, 5366, 5, 1236, 619, 2, 5366, 5367, 7, 2226, 2, 2, 5367, 5369, 3, 2, 2, 2, 5368, 5361, 3, 2, 2, 2, 5369, 5372, 3, 2, 2, 2, 5370, 5368, 3, 2, 2, 2, 5370, 5371, 3, 2, 2, 2, 5371, 5373, 3, 2, 2, 2, 5372, 5370, 3, 2, 2, 2, 5373, 5374, 7, 2226, 2, 2, 5374, 525, 3, 2, 2, 2, 5375, 5377, 7, 2164, 2, 2, 5376, 5378, 7, 215, 2, 2, 5377, 5376, 3, 2, 2, 2, 5377, 5378, 3, 2, 2, 2, 5378, 5379, 3, 2, 2, 2, 5379, 5381, 5, 1426, 714, 2, 5380, 5382, 5, 528, 265, 2, 5381, 5380, 3, 2, 2, 2, 5381, 5382, 3, 2, 2, 2, 5382, 5384, 3, 2, 2, 2, 5383, 5385, 5, 530, 266, 2, 5384, 5383, 3, 2, 2, 2, 5384, 5385, 3, 2, 2, 2, 5385, 527, 3, 2, 2, 2, 5386, 5387, 7, 1596, 2, 2, 5387, 5411, 7, 63, 2, 2, 5388, 5389, 7, 1109, 2, 2, 5389, 5412, 7, 1399, 2, 2, 5390, 5392, 9, 60, 2, 2, 5391, 5390, 3, 2, 2, 2, 5391, 5392, 3, 2, 2, 2, 5392, 5396, 3, 2, 2, 2, 5393, 5397, 7, 194, 2, 2, 5394, 5395, 7, 113, 2, 2, 5395, 5397, 7, 2165, 2, 2, 5396, 5393, 3, 2, 2, 2, 5396, 5394, 3, 2, 2, 2, 5397, 5409, 3, 2, 2, 2, 5398, 5403, 5, 816, 409, 2, 5399, 5400, 7, 2225, 2, 2, 5400, 5401, 5, 828, 415, 2, 5401, 5402, 7, 2226, 2, 2, 5402, 5404, 3, 2, 2, 2, 5403, 5399, 3, 2, 2, 2, 5403, 5404, 3, 2, 2, 2, 5404, 5410, 3, 2, 2, 2, 5405, 5406, 7, 2225, 2, 2, 5406, 5407, 5, 828, 415, 2, 5407, 5408, 7, 2226, 2, 2, 5408, 5410, 3, 2, 2, 2, 5409, 5398, 3, 2, 2, 2, 5409, 5405, 3, 2, 2, 2, 5409, 5410, 3, 2, 2, 2, 5410, 5412, 3, 2, 2, 2, 5411, 5388, 3, 2, 2, 2, 5411, 5391, 3, 2, 2, 2, 5412, 5418, 3, 2, 2, 2, 5413, 5414, 7, 1596, 2, 2, 5414, 5415, 7, 2081, 2, 2, 5415, 5416, 7, 63, 2, 2, 5416, 5418, 9, 61, 2, 2, 5417, 5386, 3, 2, 2, 2, 5417, 5413, 3, 2, 2, 2, 5418, 529, 3, 2, 2, 2, 5419, 5420, 7, 2159, 2, 2, 5420, 5422, 7, 2222, 2, 2, 5421, 5419, 3, 2, 2, 2, 5421, 5422, 3, 2, 2, 2, 5422, 5423, 3, 2, 2, 2, 5423, 5424, 7, 429, 2, 2, 5424, 5428, 7, 2222, 2, 2, 5425, 5426, 5, 652, 327, 2, 5426, 5427, 7, 1013, 2, 2, 5427, 5429, 3, 2, 2, 2, 5428, 5425, 3, 2, 2, 2, 5428, 5429, 3, 2, 2, 2, 5429, 5433, 3, 2, 2, 2, 5430, 5431, 5, 652, 327, 2, 5431, 5432, 7, 51, 2, 2, 5432, 5434, 3, 2, 2, 2, 5433, 5430, 3, 2, 2, 2, 5433, 5434, 3, 2, 2, 2, 5434, 531, 3, 2, 2, 2, 5435, 5436, 7, 1117, 2, 2, 5436, 5438, 5, 1402, 702, 2, 5437, 5439, 5, 540, 271, 2, 5438, 5437, 3, 2, 2, 2, 5438, 5439, 3, 2, 2, 2, 5439, 5451, 3, 2, 2, 2, 5440, 5441, 7, 2225, 2, 2, 5441, 5446, 5, 538, 270, 2, 5442, 5443, 7, 2231, 2, 2, 5443, 5445, 5, 538, 270, 2, 5444, 5442, 3, 2, 2, 2, 5445, 5448, 3, 2, 2, 2, 5446, 5444, 3, 2, 2, 2, 5446, 5447, 3, 2, 2, 2, 5447, 5449, 3, 2, 2, 2, 5448, 5446, 3, 2, 2, 2, 5449, 5450, 7, 2226, 2, 2, 5450, 5452, 3, 2, 2, 2, 5451, 5440, 3, 2, 2, 2, 5451, 5452, 3, 2, 2, 2, 5452, 5457, 3, 2, 2, 2, 5453, 5454, 7, 1130, 2, 2, 5454, 5455, 7, 220, 2, 2, 5455, 5456, 9, 58, 2, 2, 5456, 5458, 7, 1454, 2, 2, 5457, 5453, 3, 2, 2, 2, 5457, 5458, 3, 2, 2, 2, 5458, 5460, 3, 2, 2, 2, 5459, 5461, 5, 536, 269, 2, 5460, 5459, 3, 2, 2, 2, 5460, 5461, 3, 2, 2, 2, 5461, 5463, 3, 2, 2, 2, 5462, 5464, 5, 534, 268, 2, 5463, 5462, 3, 2, 2, 2, 5463, 5464, 3, 2, 2, 2, 5464, 5466, 3, 2, 2, 2, 5465, 5467, 5, 620, 311, 2, 5466, 5465, 3, 2, 2, 2, 5466, 5467, 3, 2, 2, 2, 5467, 5469, 3, 2, 2, 2, 5468, 5470, 5, 842, 422, 2, 5469, 5468, 3, 2, 2, 2, 5469, 5470, 3, 2, 2, 2, 5470, 5472, 3, 2, 2, 2, 5471, 5473, 5, 546, 274, 2, 5472, 5471, 3, 2, 2, 2, 5472, 5473, 3, 2, 2, 2, 5473, 5475, 3, 2, 2, 2, 5474, 5476, 9, 53, 2, 2, 5475, 5474, 3, 2, 2, 2, 5475, 5476, 3, 2, 2, 2, 5476, 5482, 3, 2, 2, 2, 5477, 5478, 7, 1426, 2, 2, 5478, 5479, 7, 2225, 2, 2, 5479, 5480, 7, 862, 2, 2, 5480, 5481, 9, 59, 2, 2, 5481, 5483, 7, 2226, 2, 2, 5482, 5477, 3, 2, 2, 2, 5482, 5483, 3, 2, 2, 2, 5483, 5485, 3, 2, 2, 2, 5484, 5486, 5, 476, 239, 2, 5485, 5484, 3, 2, 2, 2, 5485, 5486, 3, 2, 2, 2, 5486, 5488, 3, 2, 2, 2, 5487, 5489, 9, 57, 2, 2, 5488, 5487, 3, 2, 2, 2, 5488, 5489, 3, 2, 2, 2, 5489, 5495, 3, 2, 2, 2, 5490, 5492, 5, 766, 384, 2, 5491, 5490, 3, 2, 2, 2, 5492, 5493, 3, 2, 2, 2, 5493, 5491, 3, 2, 2, 2, 5493, 5494, 3, 2, 2, 2, 5494, 5496, 3, 2, 2, 2, 5495, 5491, 3, 2, 2, 2, 5495, 5496, 3, 2, 2, 2, 5496, 5498, 3, 2, 2, 2, 5497, 5499, 5, 622, 312, 2, 5498, 5497, 3, 2, 2, 2, 5498, 5499, 3, 2, 2, 2, 5499, 5501, 3, 2, 2, 2, 5500, 5502, 5, 624, 313, 2, 5501, 5500, 3, 2, 2, 2, 5501, 5502, 3, 2, 2, 2, 5502, 533, 3, 2, 2, 2, 5503, 5505, 7, 1118, 2, 2, 5504, 5506, 5, 1416, 709, 2, 5505, 5504, 3, 2, 2, 2, 5505, 5506, 3, 2, 2, 2, 5506, 5507, 3, 2, 2, 2, 5507, 5511, 7, 2225, 2, 2, 5508, 5512, 5, 612, 307, 2, 5509, 5510, 7, 1911, 2, 2, 5510, 5512, 5, 838, 420, 2, 5511, 5508, 3, 2, 2, 2, 5511, 5509, 3, 2, 2, 2, 5512, 5513, 3, 2, 2, 2, 5513, 5511, 3, 2, 2, 2, 5513, 5514, 3, 2, 2, 2, 5514, 5515, 3, 2, 2, 2, 5515, 5516, 7, 2226, 2, 2, 5516, 535, 3, 2, 2, 2, 5517, 5518, 7, 1109, 2, 2, 5518, 5519, 7, 604, 2, 2, 5519, 5524, 7, 697, 2, 2, 5520, 5521, 7, 1781, 2, 2, 5521, 5525, 7, 566, 2, 2, 5522, 5523, 7, 1306, 2, 2, 5523, 5525, 7, 724, 2, 2, 5524, 5520, 3, 2, 2, 2, 5524, 5522, 3, 2, 2, 2, 5525, 537, 3, 2, 2, 2, 5526, 5529, 5, 1426, 714, 2, 5527, 5529, 5, 1366, 684, 2, 5528, 5526, 3, 2, 2, 2, 5528, 5527, 3, 2, 2, 2, 5529, 5532, 3, 2, 2, 2, 5530, 5531, 7, 353, 2, 2, 5531, 5533, 5, 1236, 619, 2, 5532, 5530, 3, 2, 2, 2, 5532, 5533, 3, 2, 2, 2, 5533, 5543, 3, 2, 2, 2, 5534, 5539, 5, 418, 210, 2, 5535, 5536, 7, 2231, 2, 2, 5536, 5538, 5, 418, 210, 2, 5537, 5535, 3, 2, 2, 2, 5538, 5541, 3, 2, 2, 2, 5539, 5537, 3, 2, 2, 2, 5539, 5540, 3, 2, 2, 2, 5540, 5544, 3, 2, 2, 2, 5541, 5539, 3, 2, 2, 2, 5542, 5544, 5, 420, 211, 2, 5543, 5534, 3, 2, 2, 2, 5543, 5542, 3, 2, 2, 2, 5543, 5544, 3, 2, 2, 2, 5544, 5549, 3, 2, 2, 2, 5545, 5549, 5, 424, 213, 2, 5546, 5549, 5, 422, 212, 2, 5547, 5549, 5, 866, 434, 2, 5548, 5528, 3, 2, 2, 2, 5548, 5545, 3, 2, 2, 2, 5548, 5546, 3, 2, 2, 2, 5548, 5547, 3, 2, 2, 2, 5549, 539, 3, 2, 2, 2, 5550, 5552, 7, 1075, 2, 2, 5551, 5550, 3, 2, 2, 2, 5551, 5552, 3, 2, 2, 2, 5552, 5553, 3, 2, 2, 2, 5553, 5554, 7, 1613, 2, 2, 5554, 5555, 7, 76, 2, 2, 5555, 5556, 7, 37, 2, 2, 5556, 5557, 7, 750, 2, 2, 5557, 541, 3, 2, 2, 2, 5558, 5559, 7, 2225, 2, 2, 5559, 5564, 5, 544, 273, 2, 5560, 5561, 7, 2231, 2, 2, 5561, 5563, 5, 544, 273, 2, 5562, 5560, 3, 2, 2, 2, 5563, 5566, 3, 2, 2, 2, 5564, 5562, 3, 2, 2, 2, 5564, 5565, 3, 2, 2, 2, 5565, 5567, 3, 2, 2, 2, 5566, 5564, 3, 2, 2, 2, 5567, 5568, 7, 2226, 2, 2, 5568, 5570, 3, 2, 2, 2, 5569, 5558, 3, 2, 2, 2, 5569, 5570, 3, 2, 2, 2, 5570, 5575, 3, 2, 2, 2, 5571, 5572, 7, 1130, 2, 2, 5572, 5573, 7, 220, 2, 2, 5573, 5574, 9, 58, 2, 2, 5574, 5576, 7, 1454, 2, 2, 5575, 5571, 3, 2, 2, 2, 5575, 5576, 3, 2, 2, 2, 5576, 5578, 3, 2, 2, 2, 5577, 5579, 5, 620, 311, 2, 5578, 5577, 3, 2, 2, 2, 5578, 5579, 3, 2, 2, 2, 5579, 5581, 3, 2, 2, 2, 5580, 5582, 5, 842, 422, 2, 5581, 5580, 3, 2, 2, 2, 5581, 5582, 3, 2, 2, 2, 5582, 5584, 3, 2, 2, 2, 5583, 5585, 5, 546, 274, 2, 5584, 5583, 3, 2, 2, 2, 5584, 5585, 3, 2, 2, 2, 5585, 5587, 3, 2, 2, 2, 5586, 5588, 9, 53, 2, 2, 5587, 5586, 3, 2, 2, 2, 5587, 5588, 3, 2, 2, 2, 5588, 5594, 3, 2, 2, 2, 5589, 5590, 7, 1426, 2, 2, 5590, 5591, 7, 2225, 2, 2, 5591, 5592, 7, 862, 2, 2, 5592, 5593, 9, 59, 2, 2, 5593, 5595, 7, 2226, 2, 2, 5594, 5589, 3, 2, 2, 2, 5594, 5595, 3, 2, 2, 2, 5595, 5597, 3, 2, 2, 2, 5596, 5598, 5, 476, 239, 2, 5597, 5596, 3, 2, 2, 2, 5597, 5598, 3, 2, 2, 2, 5598, 5600, 3, 2, 2, 2, 5599, 5601, 9, 57, 2, 2, 5600, 5599, 3, 2, 2, 2, 5600, 5601, 3, 2, 2, 2, 5601, 5607, 3, 2, 2, 2, 5602, 5604, 5, 766, 384, 2, 5603, 5602, 3, 2, 2, 2, 5604, 5605, 3, 2, 2, 2, 5605, 5603, 3, 2, 2, 2, 5605, 5606, 3, 2, 2, 2, 5606, 5608, 3, 2, 2, 2, 5607, 5603, 3, 2, 2, 2, 5607, 5608, 3, 2, 2, 2, 5608, 5610, 3, 2, 2, 2, 5609, 5611, 5, 622, 312, 2, 5610, 5609, 3, 2, 2, 2, 5610, 5611, 3, 2, 2, 2, 5611, 5613, 3, 2, 2, 2, 5612, 5614, 5, 624, 313, 2, 5613, 5612, 3, 2, 2, 2, 5613, 5614, 3, 2, 2, 2, 5614, 543, 3, 2, 2, 2, 5615, 5621, 5, 850, 426, 2, 5616, 5621, 5, 852, 427, 2, 5617, 5621, 5, 424, 213, 2, 5618, 5621, 5, 422, 212, 2, 5619, 5621, 5, 866, 434, 2, 5620, 5615, 3, 2, 2, 2, 5620, 5616, 3, 2, 2, 2, 5620, 5617, 3, 2, 2, 2, 5620, 5618, 3, 2, 2, 2, 5620, 5619, 3, 2, 2, 2, 5621, 545, 3, 2, 2, 2, 5622, 5631, 5, 548, 275, 2, 5623, 5631, 5, 550, 276, 2, 5624, 5631, 5, 552, 277, 2, 5625, 5631, 5, 560, 281, 2, 5626, 5631, 5, 562, 282, 2, 5627, 5631, 5, 564, 283, 2, 5628, 5631, 5, 566, 284, 2, 5629, 5631, 5, 570, 286, 2, 5630, 5622, 3, 2, 2, 2, 5630, 5623, 3, 2, 2, 2, 5630, 5624, 3, 2, 2, 2, 5630, 5625, 3, 2, 2, 2, 5630, 5626, 3, 2, 2, 2, 5630, 5627, 3, 2, 2, 2, 5630, 5628, 3, 2, 2, 2, 5630, 5629, 3, 2, 2, 2, 5631, 547, 3, 2, 2, 2, 5632, 5633, 7, 1209, 2, 2, 5633, 5634, 7, 148, 2, 2, 5634, 5635, 7, 1346, 2, 2, 5635, 5636, 7, 2225, 2, 2, 5636, 5641, 5, 1426, 714, 2, 5637, 5638, 7, 2231, 2, 2, 5638, 5640, 5, 1426, 714, 2, 5639, 5637, 3, 2, 2, 2, 5640, 5643, 3, 2, 2, 2, 5641, 5639, 3, 2, 2, 2, 5641, 5642, 3, 2, 2, 2, 5642, 5644, 3, 2, 2, 2, 5643, 5641, 3, 2, 2, 2, 5644, 5664, 7, 2226, 2, 2, 5645, 5646, 7, 691, 2, 2, 5646, 5647, 7, 2225, 2, 2, 5647, 5648, 5, 1236, 619, 2, 5648, 5662, 7, 2226, 2, 2, 5649, 5650, 7, 1596, 2, 2, 5650, 5651, 7, 654, 2, 2, 5651, 5652, 7, 2225, 2, 2, 5652, 5657, 5, 838, 420, 2, 5653, 5654, 7, 2231, 2, 2, 5654, 5656, 5, 838, 420, 2, 5655, 5653, 3, 2, 2, 2, 5656, 5659, 3, 2, 2, 2, 5657, 5655, 3, 2, 2, 2, 5657, 5658, 3, 2, 2, 2, 5658, 5660, 3, 2, 2, 2, 5659, 5657, 3, 2, 2, 2, 5660, 5661, 7, 2226, 2, 2, 5661, 5663, 3, 2, 2, 2, 5662, 5649, 3, 2, 2, 2, 5662, 5663, 3, 2, 2, 2, 5663, 5665, 3, 2, 2, 2, 5664, 5645, 3, 2, 2, 2, 5664, 5665, 3, 2, 2, 2, 5665, 5666, 3, 2, 2, 2, 5666, 5667, 7, 2225, 2, 2, 5667, 5669, 7, 1209, 2, 2, 5668, 5670, 5, 864, 433, 2, 5669, 5668, 3, 2, 2, 2, 5669, 5670, 3, 2, 2, 2, 5670, 5671, 3, 2, 2, 2, 5671, 5672, 5, 596, 299, 2, 5672, 5683, 5, 600, 301, 2, 5673, 5674, 7, 2231, 2, 2, 5674, 5676, 7, 1209, 2, 2, 5675, 5677, 5, 864, 433, 2, 5676, 5675, 3, 2, 2, 2, 5676, 5677, 3, 2, 2, 2, 5677, 5678, 3, 2, 2, 2, 5678, 5679, 5, 596, 299, 2, 5679, 5680, 5, 600, 301, 2, 5680, 5682, 3, 2, 2, 2, 5681, 5673, 3, 2, 2, 2, 5682, 5685, 3, 2, 2, 2, 5683, 5681, 3, 2, 2, 2, 5683, 5684, 3, 2, 2, 2, 5684, 5686, 3, 2, 2, 2, 5685, 5683, 3, 2, 2, 2, 5686, 5687, 7, 2226, 2, 2, 5687, 549, 3, 2, 2, 2, 5688, 5689, 7, 1209, 2, 2, 5689, 5690, 7, 148, 2, 2, 5690, 5691, 7, 763, 2, 2, 5691, 5692, 7, 2225, 2, 2, 5692, 5693, 5, 1426, 714, 2, 5693, 5694, 7, 2226, 2, 2, 5694, 5695, 7, 2225, 2, 2, 5695, 5697, 7, 1209, 2, 2, 5696, 5698, 5, 864, 433, 2, 5697, 5696, 3, 2, 2, 2, 5697, 5698, 3, 2, 2, 2, 5698, 5699, 3, 2, 2, 2, 5699, 5700, 5, 598, 300, 2, 5700, 5711, 5, 600, 301, 2, 5701, 5702, 7, 2231, 2, 2, 5702, 5704, 7, 1209, 2, 2, 5703, 5705, 5, 864, 433, 2, 5704, 5703, 3, 2, 2, 2, 5704, 5705, 3, 2, 2, 2, 5705, 5706, 3, 2, 2, 2, 5706, 5707, 5, 598, 300, 2, 5707, 5708, 5, 600, 301, 2, 5708, 5710, 3, 2, 2, 2, 5709, 5701, 3, 2, 2, 2, 5710, 5713, 3, 2, 2, 2, 5711, 5709, 3, 2, 2, 2, 5711, 5712, 3, 2, 2, 2, 5712, 5714, 3, 2, 2, 2, 5713, 5711, 3, 2, 2, 2, 5714, 5715, 7, 2226, 2, 2, 5715, 551, 3, 2, 2, 2, 5716, 5717, 7, 1209, 2, 2, 5717, 5718, 7, 148, 2, 2, 5718, 5719, 7, 584, 2, 2, 5719, 5720, 7, 2225, 2, 2, 5720, 5725, 5, 1426, 714, 2, 5721, 5722, 7, 2231, 2, 2, 5722, 5724, 5, 1426, 714, 2, 5723, 5721, 3, 2, 2, 2, 5724, 5727, 3, 2, 2, 2, 5725, 5723, 3, 2, 2, 2, 5725, 5726, 3, 2, 2, 2, 5726, 5728, 3, 2, 2, 2, 5727, 5725, 3, 2, 2, 2, 5728, 5731, 7, 2226, 2, 2, 5729, 5732, 5, 554, 278, 2, 5730, 5732, 5, 556, 279, 2, 5731, 5729, 3, 2, 2, 2, 5731, 5730, 3, 2, 2, 2, 5732, 553, 3, 2, 2, 2, 5733, 5734, 7, 2225, 2, 2, 5734, 5736, 7, 1209, 2, 2, 5735, 5737, 5, 864, 433, 2, 5736, 5735, 3, 2, 2, 2, 5736, 5737, 3, 2, 2, 2, 5737, 5739, 3, 2, 2, 2, 5738, 5740, 5, 602, 302, 2, 5739, 5738, 3, 2, 2, 2, 5739, 5740, 3, 2, 2, 2, 5740, 5751, 3, 2, 2, 2, 5741, 5742, 7, 2231, 2, 2, 5742, 5744, 7, 1209, 2, 2, 5743, 5745, 5, 864, 433, 2, 5744, 5743, 3, 2, 2, 2, 5744, 5745, 3, 2, 2, 2, 5745, 5747, 3, 2, 2, 2, 5746, 5748, 5, 602, 302, 2, 5747, 5746, 3, 2, 2, 2, 5747, 5748, 3, 2, 2, 2, 5748, 5750, 3, 2, 2, 2, 5749, 5741, 3, 2, 2, 2, 5750, 5753, 3, 2, 2, 2, 5751, 5749, 3, 2, 2, 2, 5751, 5752, 3, 2, 2, 2, 5752, 5754, 3, 2, 2, 2, 5753, 5751, 3, 2, 2, 2, 5754, 5755, 7, 2226, 2, 2, 5755, 555, 3, 2, 2, 2, 5756, 5757, 7, 1211, 2, 2, 5757, 5771, 5, 558, 280, 2, 5758, 5759, 7, 1596, 2, 2, 5759, 5760, 7, 654, 2, 2, 5760, 5761, 7, 2225, 2, 2, 5761, 5766, 5, 838, 420, 2, 5762, 5763, 7, 2231, 2, 2, 5763, 5765, 5, 838, 420, 2, 5764, 5762, 3, 2, 2, 2, 5765, 5768, 3, 2, 2, 2, 5766, 5764, 3, 2, 2, 2, 5766, 5767, 3, 2, 2, 2, 5767, 5769, 3, 2, 2, 2, 5768, 5766, 3, 2, 2, 2, 5769, 5770, 7, 2226, 2, 2, 5770, 5772, 3, 2, 2, 2, 5771, 5758, 3, 2, 2, 2, 5771, 5772, 3, 2, 2, 2, 5772, 5775, 3, 2, 2, 2, 5773, 5776, 5, 610, 306, 2, 5774, 5776, 5, 782, 392, 2, 5775, 5773, 3, 2, 2, 2, 5775, 5774, 3, 2, 2, 2, 5775, 5776, 3, 2, 2, 2, 5776, 5791, 3, 2, 2, 2, 5777, 5778, 7, 1186, 2, 2, 5778, 5779, 7, 1596, 2, 2, 5779, 5780, 7, 654, 2, 2, 5780, 5781, 7, 2225, 2, 2, 5781, 5786, 5, 838, 420, 2, 5782, 5783, 7, 2231, 2, 2, 5783, 5785, 5, 838, 420, 2, 5784, 5782, 3, 2, 2, 2, 5785, 5788, 3, 2, 2, 2, 5786, 5784, 3, 2, 2, 2, 5786, 5787, 3, 2, 2, 2, 5787, 5789, 3, 2, 2, 2, 5788, 5786, 3, 2, 2, 2, 5789, 5790, 7, 2226, 2, 2, 5790, 5792, 3, 2, 2, 2, 5791, 5777, 3, 2, 2, 2, 5791, 5792, 3, 2, 2, 2, 5792, 557, 3, 2, 2, 2, 5793, 5794, 7, 2219, 2, 2, 5794, 559, 3, 2, 2, 2, 5795, 5796, 7, 1209, 2, 2, 5796, 5797, 7, 148, 2, 2, 5797, 5798, 7, 1346, 2, 2, 5798, 5799, 7, 2225, 2, 2, 5799, 5804, 5, 1426, 714, 2, 5800, 5801, 7, 2231, 2, 2, 5801, 5803, 5, 1426, 714, 2, 5802, 5800, 3, 2, 2, 2, 5803, 5806, 3, 2, 2, 2, 5804, 5802, 3, 2, 2, 2, 5804, 5805, 3, 2, 2, 2, 5805, 5807, 3, 2, 2, 2, 5806, 5804, 3, 2, 2, 2, 5807, 5827, 7, 2226, 2, 2, 5808, 5809, 7, 691, 2, 2, 5809, 5810, 7, 2225, 2, 2, 5810, 5811, 5, 1236, 619, 2, 5811, 5825, 7, 2226, 2, 2, 5812, 5813, 7, 1596, 2, 2, 5813, 5814, 7, 654, 2, 2, 5814, 5815, 7, 2225, 2, 2, 5815, 5820, 5, 838, 420, 2, 5816, 5817, 7, 2231, 2, 2, 5817, 5819, 5, 838, 420, 2, 5818, 5816, 3, 2, 2, 2, 5819, 5822, 3, 2, 2, 2, 5820, 5818, 3, 2, 2, 2, 5820, 5821, 3, 2, 2, 2, 5821, 5823, 3, 2, 2, 2, 5822, 5820, 3, 2, 2, 2, 5823, 5824, 7, 2226, 2, 2, 5824, 5826, 3, 2, 2, 2, 5825, 5812, 3, 2, 2, 2, 5825, 5826, 3, 2, 2, 2, 5826, 5828, 3, 2, 2, 2, 5827, 5808, 3, 2, 2, 2, 5827, 5828, 3, 2, 2, 2, 5828, 5832, 3, 2, 2, 2, 5829, 5833, 5, 580, 291, 2, 5830, 5833, 5, 582, 292, 2, 5831, 5833, 5, 584, 293, 2, 5832, 5829, 3, 2, 2, 2, 5832, 5830, 3, 2, 2, 2, 5832, 5831, 3, 2, 2, 2, 5833, 5834, 3, 2, 2, 2, 5834, 5835, 7, 2225, 2, 2, 5835, 5840, 5, 572, 287, 2, 5836, 5837, 7, 2231, 2, 2, 5837, 5839, 5, 572, 287, 2, 5838, 5836, 3, 2, 2, 2, 5839, 5842, 3, 2, 2, 2, 5840, 5838, 3, 2, 2, 2, 5840, 5841, 3, 2, 2, 2, 5841, 5843, 3, 2, 2, 2, 5842, 5840, 3, 2, 2, 2, 5843, 5844, 7, 2226, 2, 2, 5844, 561, 3, 2, 2, 2, 5845, 5846, 7, 1209, 2, 2, 5846, 5847, 7, 148, 2, 2, 5847, 5848, 7, 763, 2, 2, 5848, 5849, 7, 2225, 2, 2, 5849, 5850, 5, 1426, 714, 2, 5850, 5854, 7, 2226, 2, 2, 5851, 5855, 5, 580, 291, 2, 5852, 5855, 5, 582, 292, 2, 5853, 5855, 5, 584, 293, 2, 5854, 5851, 3, 2, 2, 2, 5854, 5852, 3, 2, 2, 2, 5854, 5853, 3, 2, 2, 2, 5855, 5856, 3, 2, 2, 2, 5856, 5857, 7, 2225, 2, 2, 5857, 5862, 5, 574, 288, 2, 5858, 5859, 7, 2231, 2, 2, 5859, 5861, 5, 574, 288, 2, 5860, 5858, 3, 2, 2, 2, 5861, 5864, 3, 2, 2, 2, 5862, 5860, 3, 2, 2, 2, 5862, 5863, 3, 2, 2, 2, 5863, 5865, 3, 2, 2, 2, 5864, 5862, 3, 2, 2, 2, 5865, 5866, 7, 2226, 2, 2, 5866, 563, 3, 2, 2, 2, 5867, 5868, 7, 1209, 2, 2, 5868, 5869, 7, 148, 2, 2, 5869, 5870, 7, 584, 2, 2, 5870, 5873, 7, 2225, 2, 2, 5871, 5872, 7, 2231, 2, 2, 5872, 5874, 5, 1426, 714, 2, 5873, 5871, 3, 2, 2, 2, 5874, 5875, 3, 2, 2, 2, 5875, 5873, 3, 2, 2, 2, 5875, 5876, 3, 2, 2, 2, 5876, 5877, 3, 2, 2, 2, 5877, 5881, 7, 2226, 2, 2, 5878, 5882, 5, 580, 291, 2, 5879, 5882, 5, 582, 292, 2, 5880, 5882, 5, 584, 293, 2, 5881, 5878, 3, 2, 2, 2, 5881, 5879, 3, 2, 2, 2, 5881, 5880, 3, 2, 2, 2, 5882, 5885, 3, 2, 2, 2, 5883, 5886, 5, 554, 278, 2, 5884, 5886, 5, 556, 279, 2, 5885, 5883, 3, 2, 2, 2, 5885, 5884, 3, 2, 2, 2, 5886, 565, 3, 2, 2, 2, 5887, 5888, 7, 1209, 2, 2, 5888, 5889, 7, 148, 2, 2, 5889, 5890, 7, 1375, 2, 2, 5890, 5891, 7, 2225, 2, 2, 5891, 5892, 5, 1494, 748, 2, 5892, 5904, 7, 2226, 2, 2, 5893, 5894, 7, 2225, 2, 2, 5894, 5899, 5, 568, 285, 2, 5895, 5896, 7, 2231, 2, 2, 5896, 5898, 5, 568, 285, 2, 5897, 5895, 3, 2, 2, 2, 5898, 5901, 3, 2, 2, 2, 5899, 5897, 3, 2, 2, 2, 5899, 5900, 3, 2, 2, 2, 5900, 5902, 3, 2, 2, 2, 5901, 5899, 3, 2, 2, 2, 5902, 5903, 7, 2226, 2, 2, 5903, 5905, 3, 2, 2, 2, 5904, 5893, 3, 2, 2, 2, 5904, 5905, 3, 2, 2, 2, 5905, 567, 3, 2, 2, 2, 5906, 5908, 7, 1209, 2, 2, 5907, 5909, 5, 864, 433, 2, 5908, 5907, 3, 2, 2, 2, 5908, 5909, 3, 2, 2, 2, 5909, 5910, 3, 2, 2, 2, 5910, 5911, 5, 600, 301, 2, 5911, 569, 3, 2, 2, 2, 5912, 5913, 7, 1209, 2, 2, 5913, 5914, 7, 148, 2, 2, 5914, 5925, 7, 1781, 2, 2, 5915, 5916, 7, 1211, 2, 2, 5916, 5926, 7, 2219, 2, 2, 5917, 5922, 5, 568, 285, 2, 5918, 5919, 7, 2231, 2, 2, 5919, 5921, 5, 568, 285, 2, 5920, 5918, 3, 2, 2, 2, 5921, 5924, 3, 2, 2, 2, 5922, 5920, 3, 2, 2, 2, 5922, 5923, 3, 2, 2, 2, 5923, 5926, 3, 2, 2, 2, 5924, 5922, 3, 2, 2, 2, 5925, 5915, 3, 2, 2, 2, 5925, 5917, 3, 2, 2, 2, 5925, 5926, 3, 2, 2, 2, 5926, 571, 3, 2, 2, 2, 5927, 5929, 7, 1209, 2, 2, 5928, 5930, 5, 864, 433, 2, 5929, 5928, 3, 2, 2, 2, 5929, 5930, 3, 2, 2, 2, 5930, 5931, 3, 2, 2, 2, 5931, 5932, 5, 596, 299, 2, 5932, 5965, 5, 600, 301, 2, 5933, 5958, 7, 2225, 2, 2, 5934, 5939, 5, 588, 295, 2, 5935, 5936, 7, 2231, 2, 2, 5936, 5938, 5, 588, 295, 2, 5937, 5935, 3, 2, 2, 2, 5938, 5941, 3, 2, 2, 2, 5939, 5937, 3, 2, 2, 2, 5939, 5940, 3, 2, 2, 2, 5940, 5959, 3, 2, 2, 2, 5941, 5939, 3, 2, 2, 2, 5942, 5947, 5, 590, 296, 2, 5943, 5944, 7, 2231, 2, 2, 5944, 5946, 5, 590, 296, 2, 5945, 5943, 3, 2, 2, 2, 5946, 5949, 3, 2, 2, 2, 5947, 5945, 3, 2, 2, 2, 5947, 5948, 3, 2, 2, 2, 5948, 5959, 3, 2, 2, 2, 5949, 5947, 3, 2, 2, 2, 5950, 5955, 5, 592, 297, 2, 5951, 5952, 7, 2231, 2, 2, 5952, 5954, 5, 592, 297, 2, 5953, 5951, 3, 2, 2, 2, 5954, 5957, 3, 2, 2, 2, 5955, 5953, 3, 2, 2, 2, 5955, 5956, 3, 2, 2, 2, 5956, 5959, 3, 2, 2, 2, 5957, 5955, 3, 2, 2, 2, 5958, 5934, 3, 2, 2, 2, 5958, 5942, 3, 2, 2, 2, 5958, 5950, 3, 2, 2, 2, 5959, 5960, 3, 2, 2, 2, 5960, 5961, 7, 2226, 2, 2, 5961, 5964, 3, 2, 2, 2, 5962, 5964, 5, 594, 298, 2, 5963, 5933, 3, 2, 2, 2, 5963, 5962, 3, 2, 2, 2, 5964, 5966, 3, 2, 2, 2, 5965, 5963, 3, 2, 2, 2, 5965, 5966, 3, 2, 2, 2, 5966, 573, 3, 2, 2, 2, 5967, 5969, 7, 1209, 2, 2, 5968, 5970, 5, 864, 433, 2, 5969, 5968, 3, 2, 2, 2, 5969, 5970, 3, 2, 2, 2, 5970, 5971, 3, 2, 2, 2, 5971, 5972, 5, 598, 300, 2, 5972, 6005, 5, 600, 301, 2, 5973, 5998, 7, 2225, 2, 2, 5974, 5979, 5, 588, 295, 2, 5975, 5976, 7, 2231, 2, 2, 5976, 5978, 5, 588, 295, 2, 5977, 5975, 3, 2, 2, 2, 5978, 5981, 3, 2, 2, 2, 5979, 5977, 3, 2, 2, 2, 5979, 5980, 3, 2, 2, 2, 5980, 5999, 3, 2, 2, 2, 5981, 5979, 3, 2, 2, 2, 5982, 5987, 5, 590, 296, 2, 5983, 5984, 7, 2231, 2, 2, 5984, 5986, 5, 590, 296, 2, 5985, 5983, 3, 2, 2, 2, 5986, 5989, 3, 2, 2, 2, 5987, 5985, 3, 2, 2, 2, 5987, 5988, 3, 2, 2, 2, 5988, 5999, 3, 2, 2, 2, 5989, 5987, 3, 2, 2, 2, 5990, 5995, 5, 592, 297, 2, 5991, 5992, 7, 2231, 2, 2, 5992, 5994, 5, 592, 297, 2, 5993, 5991, 3, 2, 2, 2, 5994, 5997, 3, 2, 2, 2, 5995, 5993, 3, 2, 2, 2, 5995, 5996, 3, 2, 2, 2, 5996, 5999, 3, 2, 2, 2, 5997, 5995, 3, 2, 2, 2, 5998, 5974, 3, 2, 2, 2, 5998, 5982, 3, 2, 2, 2, 5998, 5990, 3, 2, 2, 2, 5999, 6000, 3, 2, 2, 2, 6000, 6001, 7, 2226, 2, 2, 6001, 6004, 3, 2, 2, 2, 6002, 6004, 5, 594, 298, 2, 6003, 5973, 3, 2, 2, 2, 6003, 6002, 3, 2, 2, 2, 6004, 6006, 3, 2, 2, 2, 6005, 6003, 3, 2, 2, 2, 6005, 6006, 3, 2, 2, 2, 6006, 575, 3, 2, 2, 2, 6007, 6008, 7, 1608, 2, 2, 6008, 6039, 7, 1921, 2, 2, 6009, 6034, 7, 2225, 2, 2, 6010, 6015, 5, 588, 295, 2, 6011, 6012, 7, 2231, 2, 2, 6012, 6014, 5, 588, 295, 2, 6013, 6011, 3, 2, 2, 2, 6014, 6017, 3, 2, 2, 2, 6015, 6013, 3, 2, 2, 2, 6015, 6016, 3, 2, 2, 2, 6016, 6035, 3, 2, 2, 2, 6017, 6015, 3, 2, 2, 2, 6018, 6023, 5, 590, 296, 2, 6019, 6020, 7, 2231, 2, 2, 6020, 6022, 5, 590, 296, 2, 6021, 6019, 3, 2, 2, 2, 6022, 6025, 3, 2, 2, 2, 6023, 6021, 3, 2, 2, 2, 6023, 6024, 3, 2, 2, 2, 6024, 6035, 3, 2, 2, 2, 6025, 6023, 3, 2, 2, 2, 6026, 6031, 5, 592, 297, 2, 6027, 6028, 7, 2231, 2, 2, 6028, 6030, 5, 592, 297, 2, 6029, 6027, 3, 2, 2, 2, 6030, 6033, 3, 2, 2, 2, 6031, 6029, 3, 2, 2, 2, 6031, 6032, 3, 2, 2, 2, 6032, 6035, 3, 2, 2, 2, 6033, 6031, 3, 2, 2, 2, 6034, 6010, 3, 2, 2, 2, 6034, 6018, 3, 2, 2, 2, 6034, 6026, 3, 2, 2, 2, 6035, 6036, 3, 2, 2, 2, 6036, 6037, 7, 2226, 2, 2, 6037, 6040, 3, 2, 2, 2, 6038, 6040, 5, 578, 290, 2, 6039, 6009, 3, 2, 2, 2, 6039, 6038, 3, 2, 2, 2, 6040, 577, 3, 2, 2, 2, 6041, 6042, 7, 2219, 2, 2, 6042, 579, 3, 2, 2, 2, 6043, 6044, 7, 1608, 2, 2, 6044, 6045, 7, 148, 2, 2, 6045, 6046, 7, 1346, 2, 2, 6046, 6047, 7, 2225, 2, 2, 6047, 6052, 5, 1426, 714, 2, 6048, 6049, 7, 2231, 2, 2, 6049, 6051, 5, 1426, 714, 2, 6050, 6048, 3, 2, 2, 2, 6051, 6054, 3, 2, 2, 2, 6052, 6050, 3, 2, 2, 2, 6052, 6053, 3, 2, 2, 2, 6053, 6055, 3, 2, 2, 2, 6054, 6052, 3, 2, 2, 2, 6055, 6057, 7, 2226, 2, 2, 6056, 6058, 5, 576, 289, 2, 6057, 6056, 3, 2, 2, 2, 6057, 6058, 3, 2, 2, 2, 6058, 581, 3, 2, 2, 2, 6059, 6060, 7, 1608, 2, 2, 6060, 6061, 7, 148, 2, 2, 6061, 6062, 7, 763, 2, 2, 6062, 6063, 7, 2225, 2, 2, 6063, 6064, 5, 1426, 714, 2, 6064, 6066, 7, 2226, 2, 2, 6065, 6067, 5, 576, 289, 2, 6066, 6065, 3, 2, 2, 2, 6066, 6067, 3, 2, 2, 2, 6067, 583, 3, 2, 2, 2, 6068, 6069, 7, 1608, 2, 2, 6069, 6070, 7, 148, 2, 2, 6070, 6071, 7, 584, 2, 2, 6071, 6072, 7, 2225, 2, 2, 6072, 6077, 5, 1426, 714, 2, 6073, 6074, 7, 2231, 2, 2, 6074, 6076, 5, 1426, 714, 2, 6075, 6073, 3, 2, 2, 2, 6076, 6079, 3, 2, 2, 2, 6077, 6075, 3, 2, 2, 2, 6077, 6078, 3, 2, 2, 2, 6078, 6080, 3, 2, 2, 2, 6079, 6077, 3, 2, 2, 2, 6080, 6099, 7, 2226, 2, 2, 6081, 6082, 7, 1607, 2, 2, 6082, 6096, 7, 2219, 2, 2, 6083, 6084, 7, 1596, 2, 2, 6084, 6085, 7, 654, 2, 2, 6085, 6086, 7, 2225, 2, 2, 6086, 6091, 5, 838, 420, 2, 6087, 6088, 7, 2231, 2, 2, 6088, 6090, 5, 838, 420, 2, 6089, 6087, 3, 2, 2, 2, 6090, 6093, 3, 2, 2, 2, 6091, 6089, 3, 2, 2, 2, 6091, 6092, 3, 2, 2, 2, 6092, 6094, 3, 2, 2, 2, 6093, 6091, 3, 2, 2, 2, 6094, 6095, 7, 2226, 2, 2, 6095, 6097, 3, 2, 2, 2, 6096, 6083, 3, 2, 2, 2, 6096, 6097, 3, 2, 2, 2, 6097, 6100, 3, 2, 2, 2, 6098, 6100, 5, 576, 289, 2, 6099, 6081, 3, 2, 2, 2, 6099, 6098, 3, 2, 2, 2, 6099, 6100, 3, 2, 2, 2, 6100, 585, 3, 2, 2, 2, 6101, 6102, 5, 864, 433, 2, 6102, 587, 3, 2, 2, 2, 6103, 6105, 7, 1608, 2, 2, 6104, 6106, 5, 586, 294, 2, 6105, 6104, 3, 2, 2, 2, 6105, 6106, 3, 2, 2, 2, 6106, 6107, 3, 2, 2, 2, 6107, 6109, 5, 596, 299, 2, 6108, 6110, 5, 602, 302, 2, 6109, 6108, 3, 2, 2, 2, 6109, 6110, 3, 2, 2, 2, 6110, 589, 3, 2, 2, 2, 6111, 6113, 7, 1608, 2, 2, 6112, 6114, 5, 586, 294, 2, 6113, 6112, 3, 2, 2, 2, 6113, 6114, 3, 2, 2, 2, 6114, 6115, 3, 2, 2, 2, 6115, 6117, 5, 598, 300, 2, 6116, 6118, 5, 602, 302, 2, 6117, 6116, 3, 2, 2, 2, 6117, 6118, 3, 2, 2, 2, 6118, 591, 3, 2, 2, 2, 6119, 6121, 7, 1608, 2, 2, 6120, 6122, 5, 586, 294, 2, 6121, 6120, 3, 2, 2, 2, 6121, 6122, 3, 2, 2, 2, 6122, 6124, 3, 2, 2, 2, 6123, 6125, 5, 602, 302, 2, 6124, 6123, 3, 2, 2, 2, 6124, 6125, 3, 2, 2, 2, 6125, 593, 3, 2, 2, 2, 6126, 6127, 7, 1607, 2, 2, 6127, 6141, 7, 2219, 2, 2, 6128, 6129, 7, 1596, 2, 2, 6129, 6130, 7, 654, 2, 2, 6130, 6131, 7, 2225, 2, 2, 6131, 6136, 5, 838, 420, 2, 6132, 6133, 7, 2231, 2, 2, 6133, 6135, 5, 838, 420, 2, 6134, 6132, 3, 2, 2, 2, 6135, 6138, 3, 2, 2, 2, 6136, 6134, 3, 2, 2, 2, 6136, 6137, 3, 2, 2, 2, 6137, 6139, 3, 2, 2, 2, 6138, 6136, 3, 2, 2, 2, 6139, 6140, 7, 2226, 2, 2, 6140, 6142, 3, 2, 2, 2, 6141, 6128, 3, 2, 2, 2, 6141, 6142, 3, 2, 2, 2, 6142, 595, 3, 2, 2, 2, 6143, 6144, 7, 2075, 2, 2, 6144, 6145, 7, 748, 2, 2, 6145, 6146, 7, 1926, 2, 2, 6146, 6147, 7, 2225, 2, 2, 6147, 6152, 5, 1292, 647, 2, 6148, 6149, 7, 2231, 2, 2, 6149, 6151, 5, 1292, 647, 2, 6150, 6148, 3, 2, 2, 2, 6151, 6154, 3, 2, 2, 2, 6152, 6150, 3, 2, 2, 2, 6152, 6153, 3, 2, 2, 2, 6153, 6155, 3, 2, 2, 2, 6154, 6152, 3, 2, 2, 2, 6155, 6156, 7, 2226, 2, 2, 6156, 597, 3, 2, 2, 2, 6157, 6158, 7, 2075, 2, 2, 6158, 6168, 7, 2225, 2, 2, 6159, 6164, 5, 1292, 647, 2, 6160, 6161, 7, 2231, 2, 2, 6161, 6163, 5, 1292, 647, 2, 6162, 6160, 3, 2, 2, 2, 6163, 6166, 3, 2, 2, 2, 6164, 6162, 3, 2, 2, 2, 6164, 6165, 3, 2, 2, 2, 6165, 6169, 3, 2, 2, 2, 6166, 6164, 3, 2, 2, 2, 6167, 6169, 7, 353, 2, 2, 6168, 6159, 3, 2, 2, 2, 6168, 6167, 3, 2, 2, 2, 6169, 6170, 3, 2, 2, 2, 6170, 6171, 7, 2226, 2, 2, 6171, 599, 3, 2, 2, 2, 6172, 6174, 5, 616, 309, 2, 6173, 6172, 3, 2, 2, 2, 6173, 6174, 3, 2, 2, 2, 6174, 6176, 3, 2, 2, 2, 6175, 6177, 5, 618, 310, 2, 6176, 6175, 3, 2, 2, 2, 6176, 6177, 3, 2, 2, 2, 6177, 6180, 3, 2, 2, 2, 6178, 6181, 5, 610, 306, 2, 6179, 6181, 5, 782, 392, 2, 6180, 6178, 3, 2, 2, 2, 6180, 6179, 3, 2, 2, 2, 6180, 6181, 3, 2, 2, 2, 6181, 6186, 3, 2, 2, 2, 6182, 6184, 7, 1186, 2, 2, 6183, 6185, 5, 618, 310, 2, 6184, 6183, 3, 2, 2, 2, 6184, 6185, 3, 2, 2, 2, 6185, 6187, 3, 2, 2, 2, 6186, 6182, 3, 2, 2, 2, 6186, 6187, 3, 2, 2, 2, 6187, 6191, 3, 2, 2, 2, 6188, 6192, 5, 822, 412, 2, 6189, 6192, 5, 812, 407, 2, 6190, 6192, 5, 858, 430, 2, 6191, 6188, 3, 2, 2, 2, 6191, 6189, 3, 2, 2, 2, 6191, 6190, 3, 2, 2, 2, 6191, 6192, 3, 2, 2, 2, 6192, 601, 3, 2, 2, 2, 6193, 6194, 7, 1911, 2, 2, 6194, 6214, 5, 838, 420, 2, 6195, 6198, 7, 1186, 2, 2, 6196, 6197, 7, 1911, 2, 2, 6197, 6199, 5, 838, 420, 2, 6198, 6196, 3, 2, 2, 2, 6198, 6199, 3, 2, 2, 2, 6199, 6214, 3, 2, 2, 2, 6200, 6214, 5, 610, 306, 2, 6201, 6214, 5, 782, 392, 2, 6202, 6214, 5, 604, 303, 2, 6203, 6204, 7, 2082, 2, 2, 6204, 6205, 5, 840, 421, 2, 6205, 6206, 7, 1596, 2, 2, 6206, 6208, 7, 63, 2, 2, 6207, 6209, 9, 60, 2, 2, 6208, 6207, 3, 2, 2, 2, 6208, 6209, 3, 2, 2, 2, 6209, 6210, 3, 2, 2, 2, 6210, 6211, 7, 767, 2, 2, 6211, 6212, 5, 816, 409, 2, 6212, 6214, 3, 2, 2, 2, 6213, 6193, 3, 2, 2, 2, 6213, 6195, 3, 2, 2, 2, 6213, 6200, 3, 2, 2, 2, 6213, 6201, 3, 2, 2, 2, 6213, 6202, 3, 2, 2, 2, 6213, 6203, 3, 2, 2, 2, 6214, 6215, 3, 2, 2, 2, 6215, 6213, 3, 2, 2, 2, 6215, 6216, 3, 2, 2, 2, 6216, 603, 3, 2, 2, 2, 6217, 6218, 7, 767, 2, 2, 6218, 6219, 7, 2225, 2, 2, 6219, 6220, 5, 818, 410, 2, 6220, 6221, 7, 2226, 2, 2, 6221, 6222, 7, 1596, 2, 2, 6222, 6224, 7, 63, 2, 2, 6223, 6225, 9, 60, 2, 2, 6224, 6223, 3, 2, 2, 2, 6224, 6225, 3, 2, 2, 2, 6225, 6239, 3, 2, 2, 2, 6226, 6232, 5, 816, 409, 2, 6227, 6228, 7, 2225, 2, 2, 6228, 6229, 7, 1911, 2, 2, 6229, 6230, 5, 838, 420, 2, 6230, 6231, 7, 2226, 2, 2, 6231, 6233, 3, 2, 2, 2, 6232, 6227, 3, 2, 2, 2, 6232, 6233, 3, 2, 2, 2, 6233, 6240, 3, 2, 2, 2, 6234, 6235, 7, 2225, 2, 2, 6235, 6236, 7, 1911, 2, 2, 6236, 6237, 5, 838, 420, 2, 6237, 6238, 7, 2226, 2, 2, 6238, 6240, 3, 2, 2, 2, 6239, 6226, 3, 2, 2, 2, 6239, 6234, 3, 2, 2, 2, 6240, 605, 3, 2, 2, 2, 6241, 6242, 5, 1426, 714, 2, 6242, 6244, 5, 1462, 732, 2, 6243, 6245, 7, 1546, 2, 2, 6244, 6243, 3, 2, 2, 2, 6244, 6245, 3, 2, 2, 2, 6245, 6248, 3, 2, 2, 2, 6246, 6247, 7, 353, 2, 2, 6247, 6249, 5, 1236, 619, 2, 6248, 6246, 3, 2, 2, 2, 6248, 6249, 3, 2, 2, 2, 6249, 6269, 3, 2, 2, 2, 6250, 6253, 7, 445, 2, 2, 6251, 6252, 7, 2065, 2, 2, 6252, 6254, 7, 2221, 2, 2, 6253, 6251, 3, 2, 2, 2, 6253, 6254, 3, 2, 2, 2, 6254, 6258, 3, 2, 2, 2, 6255, 6256, 7, 603, 2, 2, 6256, 6257, 7, 148, 2, 2, 6257, 6259, 7, 2254, 2, 2, 6258, 6255, 3, 2, 2, 2, 6258, 6259, 3, 2, 2, 2, 6259, 6261, 3, 2, 2, 2, 6260, 6262, 7, 2221, 2, 2, 6261, 6260, 3, 2, 2, 2, 6261, 6262, 3, 2, 2, 2, 6262, 6267, 3, 2, 2, 2, 6263, 6265, 7, 1012, 2, 2, 6264, 6263, 3, 2, 2, 2, 6264, 6265, 3, 2, 2, 2, 6265, 6266, 3, 2, 2, 2, 6266, 6268, 7, 1460, 2, 2, 6267, 6264, 3, 2, 2, 2, 6267, 6268, 3, 2, 2, 2, 6268, 6270, 3, 2, 2, 2, 6269, 6250, 3, 2, 2, 2, 6269, 6270, 3, 2, 2, 2, 6270, 6273, 3, 2, 2, 2, 6271, 6272, 7, 1075, 2, 2, 6272, 6274, 7, 1099, 2, 2, 6273, 6271, 3, 2, 2, 2, 6273, 6274, 3, 2, 2, 2, 6274, 6276, 3, 2, 2, 2, 6275, 6277, 9, 7, 2, 2, 6276, 6275, 3, 2, 2, 2, 6276, 6277, 3, 2, 2, 2, 6277, 607, 3, 2, 2, 2, 6278, 6280, 7, 2219, 2, 2, 6279, 6281, 7, 2254, 2, 2, 6280, 6279, 3, 2, 2, 2, 6280, 6281, 3, 2, 2, 2, 6281, 609, 3, 2, 2, 2, 6282, 6292, 7, 234, 2, 2, 6283, 6293, 7, 97, 2, 2, 6284, 6290, 7, 548, 2, 2, 6285, 6291, 7, 1124, 2, 2, 6286, 6288, 9, 62, 2, 2, 6287, 6289, 9, 63, 2, 2, 6288, 6287, 3, 2, 2, 2, 6288, 6289, 3, 2, 2, 2, 6289, 6291, 3, 2, 2, 2, 6290, 6285, 3, 2, 2, 2, 6290, 6286, 3, 2, 2, 2, 6291, 6293, 3, 2, 2, 2, 6292, 6283, 3, 2, 2, 2, 6292, 6284, 3, 2, 2, 2, 6292, 6293, 3, 2, 2, 2, 6293, 6296, 3, 2, 2, 2, 6294, 6296, 7, 955, 2, 2, 6295, 6282, 3, 2, 2, 2, 6295, 6294, 3, 2, 2, 2, 6296, 611, 3, 2, 2, 2, 6297, 6298, 7, 1229, 2, 2, 6298, 6305, 7, 2219, 2, 2, 6299, 6300, 7, 1232, 2, 2, 6300, 6305, 7, 2219, 2, 2, 6301, 6302, 7, 659, 2, 2, 6302, 6305, 7, 2219, 2, 2, 6303, 6305, 5, 614, 308, 2, 6304, 6297, 3, 2, 2, 2, 6304, 6299, 3, 2, 2, 2, 6304, 6301, 3, 2, 2, 2, 6304, 6303, 3, 2, 2, 2, 6305, 6306, 3, 2, 2, 2, 6306, 6304, 3, 2, 2, 2, 6306, 6307, 3, 2, 2, 2, 6307, 613, 3, 2, 2, 2, 6308, 6309, 7, 1595, 2, 2, 6309, 6335, 7, 2225, 2, 2, 6310, 6311, 7, 656, 2, 2, 6311, 6336, 5, 608, 305, 2, 6312, 6313, 7, 908, 2, 2, 6313, 6336, 5, 608, 305, 2, 6314, 6315, 7, 840, 2, 2, 6315, 6336, 9, 64, 2, 2, 6316, 6317, 7, 815, 2, 2, 6317, 6336, 9, 64, 2, 2, 6318, 6319, 7, 1230, 2, 2, 6319, 6336, 7, 2219, 2, 2, 6320, 6321, 7, 553, 2, 2, 6321, 6336, 7, 2219, 2, 2, 6322, 6323, 7, 552, 2, 2, 6323, 6324, 7, 579, 2, 2, 6324, 6336, 7, 2219, 2, 2, 6325, 6328, 7, 1139, 2, 2, 6326, 6329, 5, 608, 305, 2, 6327, 6329, 7, 1099, 2, 2, 6328, 6326, 3, 2, 2, 2, 6328, 6327, 3, 2, 2, 2, 6329, 6336, 3, 2, 2, 2, 6330, 6331, 7, 145, 2, 2, 6331, 6336, 9, 65, 2, 2, 6332, 6333, 7, 535, 2, 2, 6333, 6336, 9, 66, 2, 2, 6334, 6336, 7, 445, 2, 2, 6335, 6310, 3, 2, 2, 2, 6335, 6312, 3, 2, 2, 2, 6335, 6314, 3, 2, 2, 2, 6335, 6316, 3, 2, 2, 2, 6335, 6318, 3, 2, 2, 2, 6335, 6320, 3, 2, 2, 2, 6335, 6322, 3, 2, 2, 2, 6335, 6325, 3, 2, 2, 2, 6335, 6330, 3, 2, 2, 2, 6335, 6332, 3, 2, 2, 2, 6335, 6334, 3, 2, 2, 2, 6336, 6337, 3, 2, 2, 2, 6337, 6335, 3, 2, 2, 2, 6337, 6338, 3, 2, 2, 2, 6338, 6339, 3, 2, 2, 2, 6339, 6340, 7, 2226, 2, 2, 6340, 615, 3, 2, 2, 2, 6341, 6342, 7, 1490, 2, 2, 6342, 6343, 7, 293, 2, 2, 6343, 6344, 9, 40, 2, 2, 6344, 617, 3, 2, 2, 2, 6345, 6350, 5, 612, 307, 2, 6346, 6347, 7, 1911, 2, 2, 6347, 6350, 5, 1490, 746, 2, 6348, 6350, 5, 450, 226, 2, 6349, 6345, 3, 2, 2, 2, 6349, 6346, 3, 2, 2, 2, 6349, 6348, 3, 2, 2, 2, 6350, 6351, 3, 2, 2, 2, 6351, 6349, 3, 2, 2, 2, 6351, 6352, 3, 2, 2, 2, 6352, 619, 3, 2, 2, 2, 6353, 6355, 5, 616, 309, 2, 6354, 6353, 3, 2, 2, 2, 6354, 6355, 3, 2, 2, 2, 6355, 6356, 3, 2, 2, 2, 6356, 6358, 5, 618, 310, 2, 6357, 6359, 5, 610, 306, 2, 6358, 6357, 3, 2, 2, 2, 6358, 6359, 3, 2, 2, 2, 6359, 621, 3, 2, 2, 2, 6360, 6362, 9, 7, 2, 2, 6361, 6360, 3, 2, 2, 2, 6361, 6362, 3, 2, 2, 2, 6362, 6363, 3, 2, 2, 2, 6363, 6364, 7, 1453, 2, 2, 6364, 6365, 7, 875, 2, 2, 6365, 623, 3, 2, 2, 2, 6366, 6367, 7, 534, 2, 2, 6367, 6368, 7, 59, 2, 2, 6368, 6373, 7, 2254, 2, 2, 6369, 6370, 7, 1012, 2, 2, 6370, 6371, 7, 534, 2, 2, 6371, 6373, 7, 59, 2, 2, 6372, 6366, 3, 2, 2, 2, 6372, 6369, 3, 2, 2, 2, 6373, 625, 3, 2, 2, 2, 6374, 6375, 7, 2219, 2, 2, 6375, 627, 3, 2, 2, 2, 6376, 6377, 7, 20, 2, 2, 6377, 6378, 7, 1622, 2, 2, 6378, 6381, 7, 785, 2, 2, 6379, 6382, 5, 630, 316, 2, 6380, 6382, 5, 632, 317, 2, 6381, 6379, 3, 2, 2, 2, 6381, 6380, 3, 2, 2, 2, 6382, 6392, 3, 2, 2, 2, 6383, 6384, 7, 2231, 2, 2, 6384, 6385, 7, 1622, 2, 2, 6385, 6388, 7, 785, 2, 2, 6386, 6389, 5, 630, 316, 2, 6387, 6389, 5, 632, 317, 2, 6388, 6386, 3, 2, 2, 2, 6388, 6387, 3, 2, 2, 2, 6389, 6391, 3, 2, 2, 2, 6390, 6383, 3, 2, 2, 2, 6391, 6394, 3, 2, 2, 2, 6392, 6390, 3, 2, 2, 2, 6392, 6393, 3, 2, 2, 2, 6393, 6417, 3, 2, 2, 2, 6394, 6392, 3, 2, 2, 2, 6395, 6396, 7, 413, 2, 2, 6396, 6397, 7, 1622, 2, 2, 6397, 6401, 7, 785, 2, 2, 6398, 6402, 5, 632, 317, 2, 6399, 6400, 7, 575, 2, 2, 6400, 6402, 5, 626, 314, 2, 6401, 6398, 3, 2, 2, 2, 6401, 6399, 3, 2, 2, 2, 6402, 6413, 3, 2, 2, 2, 6403, 6404, 7, 2231, 2, 2, 6404, 6405, 7, 1622, 2, 2, 6405, 6409, 7, 785, 2, 2, 6406, 6410, 5, 632, 317, 2, 6407, 6408, 7, 575, 2, 2, 6408, 6410, 5, 626, 314, 2, 6409, 6406, 3, 2, 2, 2, 6409, 6407, 3, 2, 2, 2, 6410, 6412, 3, 2, 2, 2, 6411, 6403, 3, 2, 2, 2, 6412, 6415, 3, 2, 2, 2, 6413, 6411, 3, 2, 2, 2, 6413, 6414, 3, 2, 2, 2, 6414, 6417, 3, 2, 2, 2, 6415, 6413, 3, 2, 2, 2, 6416, 6376, 3, 2, 2, 2, 6416, 6395, 3, 2, 2, 2, 6417, 629, 3, 2, 2, 2, 6418, 6419, 7, 575, 2, 2, 6419, 6420, 5, 626, 314, 2, 6420, 6421, 7, 2225, 2, 2, 6421, 6424, 5, 1494, 748, 2, 6422, 6423, 7, 1012, 2, 2, 6423, 6425, 7, 785, 2, 2, 6424, 6422, 3, 2, 2, 2, 6424, 6425, 3, 2, 2, 2, 6425, 6434, 3, 2, 2, 2, 6426, 6427, 7, 2231, 2, 2, 6427, 6430, 5, 1494, 748, 2, 6428, 6429, 7, 1012, 2, 2, 6429, 6431, 7, 785, 2, 2, 6430, 6428, 3, 2, 2, 2, 6430, 6431, 3, 2, 2, 2, 6431, 6433, 3, 2, 2, 2, 6432, 6426, 3, 2, 2, 2, 6433, 6436, 3, 2, 2, 2, 6434, 6432, 3, 2, 2, 2, 6434, 6435, 3, 2, 2, 2, 6435, 6437, 3, 2, 2, 2, 6436, 6434, 3, 2, 2, 2, 6437, 6439, 7, 2226, 2, 2, 6438, 6440, 7, 42, 2, 2, 6439, 6438, 3, 2, 2, 2, 6439, 6440, 3, 2, 2, 2, 6440, 631, 3, 2, 2, 2, 6441, 6442, 7, 319, 2, 2, 6442, 6454, 7, 2225, 2, 2, 6443, 6445, 7, 2231, 2, 2, 6444, 6443, 3, 2, 2, 2, 6444, 6445, 3, 2, 2, 2, 6445, 6452, 3, 2, 2, 2, 6446, 6453, 7, 37, 2, 2, 6447, 6448, 7, 1306, 2, 2, 6448, 6453, 7, 724, 2, 2, 6449, 6453, 7, 2004, 2, 2, 6450, 6451, 7, 546, 2, 2, 6451, 6453, 7, 724, 2, 2, 6452, 6446, 3, 2, 2, 2, 6452, 6447, 3, 2, 2, 2, 6452, 6449, 3, 2, 2, 2, 6452, 6450, 3, 2, 2, 2, 6453, 6455, 3, 2, 2, 2, 6454, 6444, 3, 2, 2, 2, 6455, 6456, 3, 2, 2, 2, 6456, 6454, 3, 2, 2, 2, 6456, 6457, 3, 2, 2, 2, 6457, 6458, 3, 2, 2, 2, 6458, 6459, 7, 2226, 2, 2, 6459, 6460, 7, 216, 2, 2, 6460, 633, 3, 2, 2, 2, 6461, 6462, 7, 38, 2, 2, 6462, 6475, 7, 493, 2, 2, 6463, 6470, 7, 2225, 2, 2, 6464, 6465, 7, 1537, 2, 2, 6465, 6471, 5, 608, 305, 2, 6466, 6467, 7, 320, 2, 2, 6467, 6471, 7, 2221, 2, 2, 6468, 6469, 7, 674, 2, 2, 6469, 6471, 7, 2219, 2, 2, 6470, 6464, 3, 2, 2, 2, 6470, 6466, 3, 2, 2, 2, 6470, 6468, 3, 2, 2, 2, 6471, 6472, 3, 2, 2, 2, 6472, 6470, 3, 2, 2, 2, 6472, 6473, 3, 2, 2, 2, 6473, 6474, 3, 2, 2, 2, 6474, 6476, 7, 2226, 2, 2, 6475, 6463, 3, 2, 2, 2, 6475, 6476, 3, 2, 2, 2, 6476, 635, 3, 2, 2, 2, 6477, 6478, 7, 341, 2, 2, 6478, 6481, 7, 2024, 2, 2, 6479, 6480, 7, 722, 2, 2, 6480, 6482, 5, 608, 305, 2, 6481, 6479, 3, 2, 2, 2, 6481, 6482, 3, 2, 2, 2, 6482, 637, 3, 2, 2, 2, 6483, 6484, 7, 1523, 2, 2, 6484, 6486, 7, 1551, 2, 2, 6485, 6487, 7, 223, 2, 2, 6486, 6485, 3, 2, 2, 2, 6486, 6487, 3, 2, 2, 2, 6487, 6489, 3, 2, 2, 2, 6488, 6490, 7, 164, 2, 2, 6489, 6488, 3, 2, 2, 2, 6489, 6490, 3, 2, 2, 2, 6490, 639, 3, 2, 2, 2, 6491, 6493, 9, 67, 2, 2, 6492, 6491, 3, 2, 2, 2, 6492, 6493, 3, 2, 2, 2, 6493, 6494, 3, 2, 2, 2, 6494, 6495, 7, 1362, 2, 2, 6495, 641, 3, 2, 2, 2, 6496, 6498, 7, 2031, 2, 2, 6497, 6499, 7, 1075, 2, 2, 6498, 6497, 3, 2, 2, 2, 6498, 6499, 3, 2, 2, 2, 6499, 6500, 3, 2, 2, 2, 6500, 6501, 7, 621, 2, 2, 6501, 6502, 7, 319, 2, 2, 6502, 6503, 3, 2, 2, 2, 6503, 6504, 5, 842, 422, 2, 6504, 643, 3, 2, 2, 2, 6505, 6506, 7, 413, 2, 2, 6506, 6507, 7, 1914, 2, 2, 6507, 6509, 5, 1428, 715, 2, 6508, 6510, 7, 1328, 2, 2, 6509, 6508, 3, 2, 2, 2, 6509, 6510, 3, 2, 2, 2, 6510, 6511, 3, 2, 2, 2, 6511, 6512, 7, 2243, 2, 2, 6512, 645, 3, 2, 2, 2, 6513, 6514, 7, 413, 2, 2, 6514, 6515, 7, 2101, 2, 2, 6515, 6518, 5, 1428, 715, 2, 6516, 6517, 7, 164, 2, 2, 6517, 6519, 7, 259, 2, 2, 6518, 6516, 3, 2, 2, 2, 6518, 6519, 3, 2, 2, 2, 6519, 6520, 3, 2, 2, 2, 6520, 6521, 7, 2243, 2, 2, 6521, 647, 3, 2, 2, 2, 6522, 6523, 7, 219, 2, 2, 6523, 6524, 7, 1130, 2, 2, 6524, 6525, 7, 215, 2, 2, 6525, 6526, 5, 1426, 714, 2, 6526, 6527, 7, 697, 2, 2, 6527, 6528, 5, 1486, 744, 2, 6528, 649, 3, 2, 2, 2, 6529, 6530, 9, 7, 2, 2, 6530, 651, 3, 2, 2, 2, 6531, 6532, 9, 68, 2, 2, 6532, 653, 3, 2, 2, 2, 6533, 6536, 7, 290, 2, 2, 6534, 6535, 7, 1174, 2, 2, 6535, 6537, 7, 1409, 2, 2, 6536, 6534, 3, 2, 2, 2, 6536, 6537, 3, 2, 2, 2, 6537, 6538, 3, 2, 2, 2, 6538, 6539, 7, 1326, 2, 2, 6539, 6540, 7, 1629, 2, 2, 6540, 6541, 5, 1434, 718, 2, 6541, 6545, 7, 548, 2, 2, 6542, 6543, 5, 1374, 688, 2, 6543, 6544, 7, 2218, 2, 2, 6544, 6546, 3, 2, 2, 2, 6545, 6542, 3, 2, 2, 2, 6545, 6546, 3, 2, 2, 2, 6546, 6547, 3, 2, 2, 2, 6547, 6550, 5, 1436, 719, 2, 6548, 6549, 7, 2233, 2, 2, 6549, 6551, 5, 1424, 713, 2, 6550, 6548, 3, 2, 2, 2, 6550, 6551, 3, 2, 2, 2, 6551, 6576, 3, 2, 2, 2, 6552, 6555, 7, 290, 2, 2, 6553, 6554, 7, 1174, 2, 2, 6554, 6556, 7, 1409, 2, 2, 6555, 6553, 3, 2, 2, 2, 6555, 6556, 3, 2, 2, 2, 6556, 6557, 3, 2, 2, 2, 6557, 6561, 7, 1629, 2, 2, 6558, 6559, 5, 1374, 688, 2, 6559, 6560, 7, 2218, 2, 2, 6560, 6562, 3, 2, 2, 2, 6561, 6558, 3, 2, 2, 2, 6561, 6562, 3, 2, 2, 2, 6562, 6563, 3, 2, 2, 2, 6563, 6564, 5, 1434, 718, 2, 6564, 6568, 7, 548, 2, 2, 6565, 6566, 5, 1374, 688, 2, 6566, 6567, 7, 2218, 2, 2, 6567, 6569, 3, 2, 2, 2, 6568, 6565, 3, 2, 2, 2, 6568, 6569, 3, 2, 2, 2, 6569, 6570, 3, 2, 2, 2, 6570, 6573, 5, 1436, 719, 2, 6571, 6572, 7, 2233, 2, 2, 6572, 6574, 5, 1424, 713, 2, 6573, 6571, 3, 2, 2, 2, 6573, 6574, 3, 2, 2, 2, 6574, 6576, 3, 2, 2, 2, 6575, 6533, 3, 2, 2, 2, 6575, 6552, 3, 2, 2, 2, 6576, 655, 3, 2, 2, 2, 6577, 6578, 7, 219, 2, 2, 6578, 6579, 7, 1130, 2, 2, 6579, 6580, 7, 1914, 2, 2, 6580, 6581, 5, 1428, 715, 2, 6581, 6582, 7, 697, 2, 2, 6582, 6583, 5, 1486, 744, 2, 6583, 657, 3, 2, 2, 2, 6584, 6585, 7, 41, 2, 2, 6585, 6586, 7, 199, 2, 2, 6586, 6593, 5, 186, 94, 2, 6587, 6594, 5, 612, 307, 2, 6588, 6589, 7, 1537, 2, 2, 6589, 6594, 5, 608, 305, 2, 6590, 6594, 5, 634, 318, 2, 6591, 6594, 5, 636, 319, 2, 6592, 6594, 5, 660, 331, 2, 6593, 6587, 3, 2, 2, 2, 6593, 6588, 3, 2, 2, 2, 6593, 6590, 3, 2, 2, 2, 6593, 6591, 3, 2, 2, 2, 6593, 6592, 3, 2, 2, 2, 6594, 6595, 3, 2, 2, 2, 6595, 6593, 3, 2, 2, 2, 6595, 6596, 3, 2, 2, 2, 6596, 6598, 3, 2, 2, 2, 6597, 6599, 5, 476, 239, 2, 6598, 6597, 3, 2, 2, 2, 6598, 6599, 3, 2, 2, 2, 6599, 6600, 3, 2, 2, 2, 6600, 6601, 7, 2243, 2, 2, 6601, 659, 3, 2, 2, 2, 6602, 6603, 9, 53, 2, 2, 6603, 661, 3, 2, 2, 2, 6604, 6605, 5, 1494, 748, 2, 6605, 663, 3, 2, 2, 2, 6606, 6607, 7, 41, 2, 2, 6607, 6609, 7, 318, 2, 2, 6608, 6610, 5, 662, 332, 2, 6609, 6608, 3, 2, 2, 2, 6609, 6610, 3, 2, 2, 2, 6610, 6620, 3, 2, 2, 2, 6611, 6621, 5, 666, 334, 2, 6612, 6621, 5, 672, 337, 2, 6613, 6621, 5, 688, 345, 2, 6614, 6621, 5, 696, 349, 2, 6615, 6621, 5, 714, 358, 2, 6616, 6621, 5, 718, 360, 2, 6617, 6621, 5, 734, 368, 2, 6618, 6621, 5, 738, 370, 2, 6619, 6621, 5, 740, 371, 2, 6620, 6611, 3, 2, 2, 2, 6620, 6612, 3, 2, 2, 2, 6620, 6613, 3, 2, 2, 2, 6620, 6614, 3, 2, 2, 2, 6620, 6615, 3, 2, 2, 2, 6620, 6616, 3, 2, 2, 2, 6620, 6617, 3, 2, 2, 2, 6620, 6618, 3, 2, 2, 2, 6620, 6619, 3, 2, 2, 2, 6621, 6622, 3, 2, 2, 2, 6622, 6623, 7, 2243, 2, 2, 6623, 665, 3, 2, 2, 2, 6624, 6627, 7, 873, 2, 2, 6625, 6626, 9, 69, 2, 2, 6626, 6628, 7, 318, 2, 2, 6627, 6625, 3, 2, 2, 2, 6627, 6628, 3, 2, 2, 2, 6628, 6644, 3, 2, 2, 2, 6629, 6632, 7, 1135, 2, 2, 6630, 6631, 7, 1355, 2, 2, 6631, 6633, 7, 2127, 2, 2, 6632, 6630, 3, 2, 2, 2, 6632, 6633, 3, 2, 2, 2, 6633, 6635, 3, 2, 2, 2, 6634, 6636, 5, 668, 335, 2, 6635, 6634, 3, 2, 2, 2, 6635, 6636, 3, 2, 2, 2, 6636, 6638, 3, 2, 2, 2, 6637, 6639, 5, 670, 336, 2, 6638, 6637, 3, 2, 2, 2, 6638, 6639, 3, 2, 2, 2, 6639, 6644, 3, 2, 2, 2, 6640, 6641, 7, 1135, 2, 2, 6641, 6642, 7, 1355, 2, 2, 6642, 6644, 7, 1129, 2, 2, 6643, 6624, 3, 2, 2, 2, 6643, 6629, 3, 2, 2, 2, 6643, 6640, 3, 2, 2, 2, 6644, 667, 3, 2, 2, 2, 6645, 6646, 9, 70, 2, 2, 6646, 669, 3, 2, 2, 2, 6647, 6648, 9, 71, 2, 2, 6648, 671, 3, 2, 2, 2, 6649, 6655, 5, 676, 339, 2, 6650, 6655, 5, 684, 343, 2, 6651, 6652, 5, 674, 338, 2, 6652, 6653, 7, 95, 2, 2, 6653, 6655, 3, 2, 2, 2, 6654, 6649, 3, 2, 2, 2, 6654, 6650, 3, 2, 2, 2, 6654, 6651, 3, 2, 2, 2, 6655, 673, 3, 2, 2, 2, 6656, 6657, 9, 72, 2, 2, 6657, 675, 3, 2, 2, 2, 6658, 6660, 7, 1364, 2, 2, 6659, 6661, 7, 89, 2, 2, 6660, 6659, 3, 2, 2, 2, 6660, 6661, 3, 2, 2, 2, 6661, 6664, 3, 2, 2, 2, 6662, 6663, 7, 556, 2, 2, 6663, 6665, 7, 2221, 2, 2, 6664, 6662, 3, 2, 2, 2, 6664, 6665, 3, 2, 2, 2, 6665, 6688, 3, 2, 2, 2, 6666, 6671, 5, 678, 340, 2, 6667, 6671, 5, 680, 341, 2, 6668, 6669, 7, 779, 2, 2, 6669, 6671, 7, 2221, 2, 2, 6670, 6666, 3, 2, 2, 2, 6670, 6667, 3, 2, 2, 2, 6670, 6668, 3, 2, 2, 2, 6670, 6671, 3, 2, 2, 2, 6671, 6681, 3, 2, 2, 2, 6672, 6678, 7, 1924, 2, 2, 6673, 6674, 7, 39, 2, 2, 6674, 6675, 7, 2219, 2, 2, 6675, 6678, 7, 276, 2, 2, 6676, 6678, 5, 476, 239, 2, 6677, 6672, 3, 2, 2, 2, 6677, 6673, 3, 2, 2, 2, 6677, 6676, 3, 2, 2, 2, 6678, 6679, 3, 2, 2, 2, 6679, 6677, 3, 2, 2, 2, 6679, 6680, 3, 2, 2, 2, 6680, 6682, 3, 2, 2, 2, 6681, 6677, 3, 2, 2, 2, 6681, 6682, 3, 2, 2, 2, 6682, 6689, 3, 2, 2, 2, 6683, 6685, 7, 268, 2, 2, 6684, 6686, 7, 353, 2, 2, 6685, 6684, 3, 2, 2, 2, 6685, 6686, 3, 2, 2, 2, 6686, 6689, 3, 2, 2, 2, 6687, 6689, 7, 160, 2, 2, 6688, 6670, 3, 2, 2, 2, 6688, 6683, 3, 2, 2, 2, 6688, 6687, 3, 2, 2, 2, 6689, 677, 3, 2, 2, 2, 6690, 6692, 7, 1568, 2, 2, 6691, 6690, 3, 2, 2, 2, 6691, 6692, 3, 2, 2, 2, 6692, 6693, 3, 2, 2, 2, 6693, 6710, 7, 318, 2, 2, 6694, 6701, 7, 2022, 2, 2, 6695, 6702, 7, 160, 2, 2, 6696, 6697, 7, 1939, 2, 2, 6697, 6702, 7, 2221, 2, 2, 6698, 6699, 7, 174, 2, 2, 6699, 6702, 7, 2219, 2, 2, 6700, 6702, 7, 256, 2, 2, 6701, 6695, 3, 2, 2, 2, 6701, 6696, 3, 2, 2, 2, 6701, 6698, 3, 2, 2, 2, 6701, 6700, 3, 2, 2, 2, 6702, 6707, 3, 2, 2, 2, 6703, 6704, 7, 2065, 2, 2, 6704, 6705, 7, 95, 2, 2, 6705, 6707, 7, 269, 2, 2, 6706, 6694, 3, 2, 2, 2, 6706, 6703, 3, 2, 2, 2, 6707, 6708, 3, 2, 2, 2, 6708, 6706, 3, 2, 2, 2, 6708, 6709, 3, 2, 2, 2, 6709, 6711, 3, 2, 2, 2, 6710, 6706, 3, 2, 2, 2, 6710, 6711, 3, 2, 2, 2, 6711, 679, 3, 2, 2, 2, 6712, 6713, 7, 1911, 2, 2, 6713, 6718, 5, 838, 420, 2, 6714, 6715, 7, 2231, 2, 2, 6715, 6717, 5, 838, 420, 2, 6716, 6714, 3, 2, 2, 2, 6717, 6720, 3, 2, 2, 2, 6718, 6716, 3, 2, 2, 2, 6718, 6719, 3, 2, 2, 2, 6719, 6734, 3, 2, 2, 2, 6720, 6718, 3, 2, 2, 2, 6721, 6722, 7, 320, 2, 2, 6722, 6734, 7, 2221, 2, 2, 6723, 6729, 5, 748, 375, 2, 6724, 6725, 7, 2231, 2, 2, 6725, 6728, 7, 2221, 2, 2, 6726, 6728, 5, 748, 375, 2, 6727, 6724, 3, 2, 2, 2, 6727, 6726, 3, 2, 2, 2, 6728, 6731, 3, 2, 2, 2, 6729, 6727, 3, 2, 2, 2, 6729, 6730, 3, 2, 2, 2, 6730, 6734, 3, 2, 2, 2, 6731, 6729, 3, 2, 2, 2, 6732, 6734, 5, 682, 342, 2, 6733, 6712, 3, 2, 2, 2, 6733, 6721, 3, 2, 2, 2, 6733, 6723, 3, 2, 2, 2, 6733, 6732, 3, 2, 2, 2, 6734, 681, 3, 2, 2, 2, 6735, 6736, 6, 342, 10, 2, 6736, 6757, 7, 1568, 2, 2, 6737, 6738, 7, 1911, 2, 2, 6738, 6743, 5, 838, 420, 2, 6739, 6740, 7, 2231, 2, 2, 6740, 6742, 5, 838, 420, 2, 6741, 6739, 3, 2, 2, 2, 6742, 6745, 3, 2, 2, 2, 6743, 6741, 3, 2, 2, 2, 6743, 6744, 3, 2, 2, 2, 6744, 6758, 3, 2, 2, 2, 6745, 6743, 3, 2, 2, 2, 6746, 6747, 7, 320, 2, 2, 6747, 6758, 7, 2221, 2, 2, 6748, 6754, 5, 748, 375, 2, 6749, 6750, 7, 2231, 2, 2, 6750, 6753, 7, 2221, 2, 2, 6751, 6753, 5, 748, 375, 2, 6752, 6749, 3, 2, 2, 2, 6752, 6751, 3, 2, 2, 2, 6753, 6756, 3, 2, 2, 2, 6754, 6752, 3, 2, 2, 2, 6754, 6755, 3, 2, 2, 2, 6755, 6758, 3, 2, 2, 2, 6756, 6754, 3, 2, 2, 2, 6757, 6737, 3, 2, 2, 2, 6757, 6746, 3, 2, 2, 2, 6757, 6748, 3, 2, 2, 2, 6758, 6759, 3, 2, 2, 2, 6759, 6762, 7, 2022, 2, 2, 6760, 6761, 7, 256, 2, 2, 6761, 6763, 7, 2123, 2, 2, 6762, 6760, 3, 2, 2, 2, 6762, 6763, 3, 2, 2, 2, 6763, 6764, 3, 2, 2, 2, 6764, 6765, 7, 269, 2, 2, 6765, 683, 3, 2, 2, 2, 6766, 6801, 7, 1364, 2, 2, 6767, 6768, 7, 798, 2, 2, 6768, 6769, 7, 1568, 2, 2, 6769, 6791, 7, 318, 2, 2, 6770, 6771, 7, 2065, 2, 2, 6771, 6772, 7, 304, 2, 2, 6772, 6786, 7, 779, 2, 2, 6773, 6776, 7, 392, 2, 2, 6774, 6775, 7, 556, 2, 2, 6775, 6777, 7, 1508, 2, 2, 6776, 6774, 3, 2, 2, 2, 6776, 6777, 3, 2, 2, 2, 6777, 6786, 3, 2, 2, 2, 6778, 6786, 7, 968, 2, 2, 6779, 6780, 7, 2022, 2, 2, 6780, 6781, 7, 174, 2, 2, 6781, 6786, 7, 2219, 2, 2, 6782, 6783, 7, 2022, 2, 2, 6783, 6786, 7, 256, 2, 2, 6784, 6786, 5, 476, 239, 2, 6785, 6770, 3, 2, 2, 2, 6785, 6773, 3, 2, 2, 2, 6785, 6778, 3, 2, 2, 2, 6785, 6779, 3, 2, 2, 2, 6785, 6782, 3, 2, 2, 2, 6785, 6784, 3, 2, 2, 2, 6786, 6787, 3, 2, 2, 2, 6787, 6785, 3, 2, 2, 2, 6787, 6788, 3, 2, 2, 2, 6788, 6792, 3, 2, 2, 2, 6789, 6792, 7, 527, 2, 2, 6790, 6792, 7, 160, 2, 2, 6791, 6785, 3, 2, 2, 2, 6791, 6789, 3, 2, 2, 2, 6791, 6790, 3, 2, 2, 2, 6791, 6792, 3, 2, 2, 2, 6792, 6802, 3, 2, 2, 2, 6793, 6794, 7, 1966, 2, 2, 6794, 6795, 7, 782, 2, 2, 6795, 6799, 7, 1568, 2, 2, 6796, 6800, 5, 686, 344, 2, 6797, 6798, 7, 722, 2, 2, 6798, 6800, 7, 605, 2, 2, 6799, 6796, 3, 2, 2, 2, 6799, 6797, 3, 2, 2, 2, 6800, 6802, 3, 2, 2, 2, 6801, 6767, 3, 2, 2, 2, 6801, 6793, 3, 2, 2, 2, 6802, 685, 3, 2, 2, 2, 6803, 6804, 5, 1494, 748, 2, 6804, 687, 3, 2, 2, 2, 6805, 6806, 7, 1406, 2, 2, 6806, 6807, 7, 521, 2, 2, 6807, 6812, 5, 750, 376, 2, 6808, 6809, 7, 2231, 2, 2, 6809, 6811, 5, 750, 376, 2, 6810, 6808, 3, 2, 2, 2, 6811, 6814, 3, 2, 2, 2, 6812, 6810, 3, 2, 2, 2, 6812, 6813, 3, 2, 2, 2, 6813, 6815, 3, 2, 2, 2, 6814, 6812, 3, 2, 2, 2, 6815, 6816, 7, 1966, 2, 2, 6816, 6817, 5, 750, 376, 2, 6817, 6822, 3, 2, 2, 2, 6818, 6822, 5, 690, 346, 2, 6819, 6822, 5, 692, 347, 2, 6820, 6822, 5, 694, 348, 2, 6821, 6805, 3, 2, 2, 2, 6821, 6818, 3, 2, 2, 2, 6821, 6819, 3, 2, 2, 2, 6821, 6820, 3, 2, 2, 2, 6822, 689, 3, 2, 2, 2, 6823, 6824, 7, 290, 2, 2, 6824, 6827, 7, 320, 2, 2, 6825, 6828, 5, 750, 376, 2, 6826, 6828, 5, 748, 375, 2, 6827, 6825, 3, 2, 2, 2, 6827, 6826, 3, 2, 2, 2, 6828, 6836, 3, 2, 2, 2, 6829, 6832, 7, 2231, 2, 2, 6830, 6833, 5, 750, 376, 2, 6831, 6833, 5, 748, 375, 2, 6832, 6830, 3, 2, 2, 2, 6832, 6831, 3, 2, 2, 2, 6833, 6835, 3, 2, 2, 2, 6834, 6829, 3, 2, 2, 2, 6835, 6838, 3, 2, 2, 2, 6836, 6834, 3, 2, 2, 2, 6836, 6837, 3, 2, 2, 2, 6837, 6841, 3, 2, 2, 2, 6838, 6836, 3, 2, 2, 2, 6839, 6840, 7, 63, 2, 2, 6840, 6842, 7, 905, 2, 2, 6841, 6839, 3, 2, 2, 2, 6841, 6842, 3, 2, 2, 2, 6842, 691, 3, 2, 2, 2, 6843, 6846, 7, 320, 2, 2, 6844, 6847, 5, 750, 376, 2, 6845, 6847, 5, 748, 375, 2, 6846, 6844, 3, 2, 2, 2, 6846, 6845, 3, 2, 2, 2, 6847, 6855, 3, 2, 2, 2, 6848, 6851, 7, 2231, 2, 2, 6849, 6852, 5, 750, 376, 2, 6850, 6852, 5, 748, 375, 2, 6851, 6849, 3, 2, 2, 2, 6851, 6850, 3, 2, 2, 2, 6852, 6854, 3, 2, 2, 2, 6853, 6848, 3, 2, 2, 2, 6854, 6857, 3, 2, 2, 2, 6855, 6853, 3, 2, 2, 2, 6855, 6856, 3, 2, 2, 2, 6856, 6869, 3, 2, 2, 2, 6857, 6855, 3, 2, 2, 2, 6858, 6870, 7, 1127, 2, 2, 6859, 6862, 7, 1114, 2, 2, 6860, 6861, 7, 548, 2, 2, 6861, 6863, 7, 413, 2, 2, 6862, 6860, 3, 2, 2, 2, 6862, 6863, 3, 2, 2, 2, 6863, 6870, 3, 2, 2, 2, 6864, 6865, 7, 1414, 2, 2, 6865, 6870, 5, 608, 305, 2, 6866, 6870, 5, 470, 236, 2, 6867, 6868, 7, 447, 2, 2, 6868, 6870, 7, 95, 2, 2, 6869, 6858, 3, 2, 2, 2, 6869, 6859, 3, 2, 2, 2, 6869, 6864, 3, 2, 2, 2, 6869, 6866, 3, 2, 2, 2, 6869, 6867, 3, 2, 2, 2, 6870, 693, 3, 2, 2, 2, 6871, 6874, 7, 1920, 2, 2, 6872, 6875, 5, 750, 376, 2, 6873, 6875, 5, 748, 375, 2, 6874, 6872, 3, 2, 2, 2, 6874, 6873, 3, 2, 2, 2, 6875, 6883, 3, 2, 2, 2, 6876, 6879, 7, 2231, 2, 2, 6877, 6880, 5, 750, 376, 2, 6878, 6880, 5, 748, 375, 2, 6879, 6877, 3, 2, 2, 2, 6879, 6878, 3, 2, 2, 2, 6880, 6882, 3, 2, 2, 2, 6881, 6876, 3, 2, 2, 2, 6882, 6885, 3, 2, 2, 2, 6883, 6881, 3, 2, 2, 2, 6883, 6884, 3, 2, 2, 2, 6884, 6894, 3, 2, 2, 2, 6885, 6883, 3, 2, 2, 2, 6886, 6887, 7, 1414, 2, 2, 6887, 6895, 5, 608, 305, 2, 6888, 6895, 5, 470, 236, 2, 6889, 6890, 7, 413, 2, 2, 6890, 6891, 7, 621, 2, 2, 6891, 6895, 7, 321, 2, 2, 6892, 6895, 7, 1127, 2, 2, 6893, 6895, 7, 1114, 2, 2, 6894, 6886, 3, 2, 2, 2, 6894, 6888, 3, 2, 2, 2, 6894, 6889, 3, 2, 2, 2, 6894, 6892, 3, 2, 2, 2, 6894, 6893, 3, 2, 2, 2, 6895, 695, 3, 2, 2, 2, 6896, 6898, 7, 61, 2, 2, 6897, 6899, 7, 802, 2, 2, 6898, 6897, 3, 2, 2, 2, 6898, 6899, 3, 2, 2, 2, 6899, 6902, 3, 2, 2, 2, 6900, 6902, 7, 941, 2, 2, 6901, 6896, 3, 2, 2, 2, 6901, 6900, 3, 2, 2, 2, 6902, 6943, 3, 2, 2, 2, 6903, 6905, 7, 1012, 2, 2, 6904, 6903, 3, 2, 2, 2, 6904, 6905, 3, 2, 2, 2, 6905, 6906, 3, 2, 2, 2, 6906, 6907, 7, 544, 2, 2, 6907, 6943, 7, 781, 2, 2, 6908, 6909, 7, 1406, 2, 2, 6909, 6910, 7, 521, 2, 2, 6910, 6915, 5, 750, 376, 2, 6911, 6912, 7, 2231, 2, 2, 6912, 6914, 5, 750, 376, 2, 6913, 6911, 3, 2, 2, 2, 6914, 6917, 3, 2, 2, 2, 6915, 6913, 3, 2, 2, 2, 6915, 6916, 3, 2, 2, 2, 6916, 6918, 3, 2, 2, 2, 6917, 6915, 3, 2, 2, 2, 6918, 6919, 7, 1966, 2, 2, 6919, 6920, 5, 750, 376, 2, 6920, 6943, 3, 2, 2, 2, 6921, 6923, 7, 191, 2, 2, 6922, 6924, 7, 1995, 2, 2, 6923, 6922, 3, 2, 2, 2, 6923, 6924, 3, 2, 2, 2, 6924, 6925, 3, 2, 2, 2, 6925, 6926, 7, 779, 2, 2, 6926, 6931, 5, 712, 357, 2, 6927, 6928, 7, 2231, 2, 2, 6928, 6930, 5, 712, 357, 2, 6929, 6927, 3, 2, 2, 2, 6930, 6933, 3, 2, 2, 2, 6931, 6929, 3, 2, 2, 2, 6931, 6932, 3, 2, 2, 2, 6932, 6936, 3, 2, 2, 2, 6933, 6931, 3, 2, 2, 2, 6934, 6935, 7, 2019, 2, 2, 6935, 6937, 7, 320, 2, 2, 6936, 6934, 3, 2, 2, 2, 6936, 6937, 3, 2, 2, 2, 6937, 6943, 3, 2, 2, 2, 6938, 6943, 5, 698, 350, 2, 6939, 6943, 5, 702, 352, 2, 6940, 6943, 5, 704, 353, 2, 6941, 6943, 5, 706, 354, 2, 6942, 6901, 3, 2, 2, 2, 6942, 6904, 3, 2, 2, 2, 6942, 6908, 3, 2, 2, 2, 6942, 6921, 3, 2, 2, 2, 6942, 6938, 3, 2, 2, 2, 6942, 6939, 3, 2, 2, 2, 6942, 6940, 3, 2, 2, 2, 6942, 6941, 3, 2, 2, 2, 6943, 697, 3, 2, 2, 2, 6944, 6946, 7, 20, 2, 2, 6945, 6947, 7, 1568, 2, 2, 6946, 6945, 3, 2, 2, 2, 6946, 6947, 3, 2, 2, 2, 6947, 6948, 3, 2, 2, 2, 6948, 6980, 7, 779, 2, 2, 6949, 6950, 5, 700, 351, 2, 6950, 6951, 5, 468, 235, 2, 6951, 6953, 3, 2, 2, 2, 6952, 6949, 3, 2, 2, 2, 6953, 6954, 3, 2, 2, 2, 6954, 6952, 3, 2, 2, 2, 6954, 6955, 3, 2, 2, 2, 6955, 6981, 3, 2, 2, 2, 6956, 6957, 7, 828, 2, 2, 6957, 6959, 5, 750, 376, 2, 6958, 6960, 7, 1434, 2, 2, 6959, 6958, 3, 2, 2, 2, 6959, 6960, 3, 2, 2, 2, 6960, 6968, 3, 2, 2, 2, 6961, 6962, 7, 2231, 2, 2, 6962, 6964, 5, 750, 376, 2, 6963, 6965, 7, 1434, 2, 2, 6964, 6963, 3, 2, 2, 2, 6964, 6965, 3, 2, 2, 2, 6965, 6967, 3, 2, 2, 2, 6966, 6961, 3, 2, 2, 2, 6967, 6970, 3, 2, 2, 2, 6968, 6966, 3, 2, 2, 2, 6968, 6969, 3, 2, 2, 2, 6969, 6971, 3, 2, 2, 2, 6970, 6968, 3, 2, 2, 2, 6971, 6972, 7, 1966, 2, 2, 6972, 6977, 5, 712, 357, 2, 6973, 6974, 7, 2231, 2, 2, 6974, 6976, 5, 712, 357, 2, 6975, 6973, 3, 2, 2, 2, 6976, 6979, 3, 2, 2, 2, 6977, 6975, 3, 2, 2, 2, 6977, 6978, 3, 2, 2, 2, 6978, 6981, 3, 2, 2, 2, 6979, 6977, 3, 2, 2, 2, 6980, 6952, 3, 2, 2, 2, 6980, 6956, 3, 2, 2, 2, 6981, 699, 3, 2, 2, 2, 6982, 6984, 7, 2231, 2, 2, 6983, 6982, 3, 2, 2, 2, 6983, 6984, 3, 2, 2, 2, 6984, 6987, 3, 2, 2, 2, 6985, 6986, 7, 1929, 2, 2, 6986, 6988, 7, 2219, 2, 2, 6987, 6985, 3, 2, 2, 2, 6987, 6988, 3, 2, 2, 2, 6988, 6989, 3, 2, 2, 2, 6989, 6990, 7, 575, 2, 2, 6990, 6991, 7, 2219, 2, 2, 6991, 701, 3, 2, 2, 2, 6992, 6994, 7, 413, 2, 2, 6993, 6995, 7, 1568, 2, 2, 6994, 6993, 3, 2, 2, 2, 6994, 6995, 3, 2, 2, 2, 6995, 6996, 3, 2, 2, 2, 6996, 7014, 7, 779, 2, 2, 6997, 7002, 5, 712, 357, 2, 6998, 6999, 7, 2231, 2, 2, 6999, 7001, 5, 712, 357, 2, 7000, 6998, 3, 2, 2, 2, 7001, 7004, 3, 2, 2, 2, 7002, 7000, 3, 2, 2, 2, 7002, 7003, 3, 2, 2, 2, 7003, 7015, 3, 2, 2, 2, 7004, 7002, 3, 2, 2, 2, 7005, 7006, 7, 828, 2, 2, 7006, 7011, 5, 750, 376, 2, 7007, 7008, 7, 2231, 2, 2, 7008, 7010, 5, 750, 376, 2, 7009, 7007, 3, 2, 2, 2, 7010, 7013, 3, 2, 2, 2, 7011, 7009, 3, 2, 2, 2, 7011, 7012, 3, 2, 2, 2, 7012, 7015, 3, 2, 2, 2, 7013, 7011, 3, 2, 2, 2, 7014, 6997, 3, 2, 2, 2, 7014, 7005, 3, 2, 2, 2, 7015, 703, 3, 2, 2, 2, 7016, 7017, 7, 1626, 2, 2, 7017, 7018, 7, 37, 2, 2, 7018, 7019, 7, 780, 2, 2, 7019, 7020, 7, 1966, 2, 2, 7020, 7021, 7, 134, 2, 2, 7021, 7022, 7, 2219, 2, 2, 7022, 705, 3, 2, 2, 2, 7023, 7024, 5, 708, 355, 2, 7024, 7025, 7, 1622, 2, 2, 7025, 7029, 7, 785, 2, 2, 7026, 7030, 7, 319, 2, 2, 7027, 7030, 5, 632, 317, 2, 7028, 7030, 5, 710, 356, 2, 7029, 7026, 3, 2, 2, 2, 7029, 7027, 3, 2, 2, 2, 7029, 7028, 3, 2, 2, 2, 7030, 707, 3, 2, 2, 2, 7031, 7032, 9, 13, 2, 2, 7032, 709, 3, 2, 2, 2, 7033, 7034, 7, 319, 2, 2, 7034, 7035, 7, 548, 2, 2, 7035, 7036, 7, 1315, 2, 2, 7036, 7037, 7, 1410, 2, 2, 7037, 711, 3, 2, 2, 2, 7038, 7039, 7, 575, 2, 2, 7039, 7053, 7, 2219, 2, 2, 7040, 7041, 7, 2225, 2, 2, 7041, 7046, 5, 750, 376, 2, 7042, 7043, 7, 2231, 2, 2, 7043, 7045, 5, 750, 376, 2, 7044, 7042, 3, 2, 2, 2, 7045, 7048, 3, 2, 2, 2, 7046, 7044, 3, 2, 2, 2, 7046, 7047, 3, 2, 2, 2, 7047, 7049, 3, 2, 2, 2, 7048, 7046, 3, 2, 2, 2, 7049, 7050, 7, 2226, 2, 2, 7050, 7053, 3, 2, 2, 2, 7051, 7053, 5, 750, 376, 2, 7052, 7038, 3, 2, 2, 2, 7052, 7040, 3, 2, 2, 2, 7052, 7051, 3, 2, 2, 2, 7053, 713, 3, 2, 2, 2, 7054, 7056, 7, 290, 2, 2, 7055, 7057, 9, 73, 2, 2, 7056, 7055, 3, 2, 2, 2, 7056, 7057, 3, 2, 2, 2, 7057, 7058, 3, 2, 2, 2, 7058, 7059, 7, 1568, 2, 2, 7059, 7060, 7, 269, 2, 2, 7060, 7061, 7, 63, 2, 2, 7061, 7063, 5, 750, 376, 2, 7062, 7064, 7, 1434, 2, 2, 7063, 7062, 3, 2, 2, 2, 7063, 7064, 3, 2, 2, 2, 7064, 7076, 3, 2, 2, 2, 7065, 7066, 7, 95, 2, 2, 7066, 7067, 7, 269, 2, 2, 7067, 7073, 7, 1966, 2, 2, 7068, 7070, 5, 750, 376, 2, 7069, 7071, 7, 1434, 2, 2, 7070, 7069, 3, 2, 2, 2, 7070, 7071, 3, 2, 2, 2, 7071, 7074, 3, 2, 2, 2, 7072, 7074, 5, 716, 359, 2, 7073, 7068, 3, 2, 2, 2, 7073, 7072, 3, 2, 2, 2, 7074, 7076, 3, 2, 2, 2, 7075, 7054, 3, 2, 2, 2, 7075, 7065, 3, 2, 2, 2, 7076, 715, 3, 2, 2, 2, 7077, 7083, 7, 1968, 2, 2, 7078, 7079, 7, 63, 2, 2, 7079, 7081, 5, 750, 376, 2, 7080, 7082, 7, 1434, 2, 2, 7081, 7080, 3, 2, 2, 2, 7081, 7082, 3, 2, 2, 2, 7082, 7084, 3, 2, 2, 2, 7083, 7078, 3, 2, 2, 2, 7083, 7084, 3, 2, 2, 2, 7084, 7086, 3, 2, 2, 2, 7085, 7087, 9, 70, 2, 2, 7086, 7085, 3, 2, 2, 2, 7086, 7087, 3, 2, 2, 2, 7087, 717, 3, 2, 2, 2, 7088, 7096, 5, 720, 361, 2, 7089, 7096, 5, 722, 362, 2, 7090, 7096, 5, 724, 363, 2, 7091, 7096, 5, 726, 364, 2, 7092, 7096, 5, 728, 365, 2, 7093, 7096, 5, 730, 366, 2, 7094, 7096, 5, 732, 367, 2, 7095, 7088, 3, 2, 2, 2, 7095, 7089, 3, 2, 2, 2, 7095, 7090, 3, 2, 2, 2, 7095, 7091, 3, 2, 2, 2, 7095, 7092, 3, 2, 2, 2, 7095, 7093, 3, 2, 2, 2, 7095, 7094, 3, 2, 2, 2, 7096, 7098, 3, 2, 2, 2, 7097, 7099, 5, 476, 239, 2, 7098, 7097, 3, 2, 2, 2, 7098, 7099, 3, 2, 2, 2, 7099, 719, 3, 2, 2, 2, 7100, 7102, 7, 12, 2, 2, 7101, 7103, 9, 73, 2, 2, 7102, 7101, 3, 2, 2, 2, 7102, 7103, 3, 2, 2, 2, 7103, 7104, 3, 2, 2, 2, 7104, 7105, 7, 1568, 2, 2, 7105, 7108, 7, 318, 2, 2, 7106, 7107, 7, 527, 2, 2, 7107, 7109, 7, 56, 2, 2, 7108, 7106, 3, 2, 2, 2, 7108, 7109, 3, 2, 2, 2, 7109, 721, 3, 2, 2, 2, 7110, 7111, 7, 1512, 2, 2, 7111, 7112, 7, 1568, 2, 2, 7112, 7113, 7, 318, 2, 2, 7113, 7114, 7, 1966, 2, 2, 7114, 7115, 7, 816, 2, 2, 7115, 7116, 9, 74, 2, 2, 7116, 723, 3, 2, 2, 2, 7117, 7120, 7, 1386, 2, 2, 7118, 7119, 7, 1174, 2, 2, 7119, 7121, 7, 1409, 2, 2, 7120, 7118, 3, 2, 2, 2, 7120, 7121, 3, 2, 2, 2, 7121, 7122, 3, 2, 2, 2, 7122, 7123, 9, 73, 2, 2, 7123, 7124, 7, 779, 2, 2, 7124, 725, 3, 2, 2, 2, 7125, 7126, 9, 75, 2, 2, 7126, 7127, 7, 1966, 2, 2, 7127, 7156, 7, 1625, 2, 2, 7128, 7149, 7, 1966, 2, 2, 7129, 7131, 9, 73, 2, 2, 7130, 7129, 3, 2, 2, 2, 7130, 7131, 3, 2, 2, 2, 7131, 7132, 3, 2, 2, 2, 7132, 7138, 7, 1306, 2, 2, 7133, 7135, 7, 1250, 2, 2, 7134, 7133, 3, 2, 2, 2, 7134, 7135, 3, 2, 2, 2, 7135, 7136, 3, 2, 2, 2, 7136, 7138, 7, 1568, 2, 2, 7137, 7130, 3, 2, 2, 2, 7137, 7134, 3, 2, 2, 2, 7138, 7145, 3, 2, 2, 2, 7139, 7141, 9, 54, 2, 2, 7140, 7139, 3, 2, 2, 2, 7140, 7141, 3, 2, 2, 2, 7141, 7142, 3, 2, 2, 2, 7142, 7143, 7, 1508, 2, 2, 7143, 7144, 7, 1524, 2, 2, 7144, 7146, 9, 76, 2, 2, 7145, 7140, 3, 2, 2, 2, 7145, 7146, 3, 2, 2, 2, 7146, 7150, 3, 2, 2, 2, 7147, 7148, 7, 782, 2, 2, 7148, 7150, 7, 1568, 2, 2, 7149, 7137, 3, 2, 2, 2, 7149, 7147, 3, 2, 2, 2, 7150, 7154, 3, 2, 2, 2, 7151, 7152, 7, 782, 2, 2, 7152, 7154, 7, 1568, 2, 2, 7153, 7128, 3, 2, 2, 2, 7153, 7151, 3, 2, 2, 2, 7154, 7157, 3, 2, 2, 2, 7155, 7157, 7, 160, 2, 2, 7156, 7153, 3, 2, 2, 2, 7156, 7155, 3, 2, 2, 2, 7156, 7157, 3, 2, 2, 2, 7157, 727, 3, 2, 2, 2, 7158, 7159, 7, 1571, 2, 2, 7159, 7160, 7, 782, 2, 2, 7160, 7161, 7, 1568, 2, 2, 7161, 7163, 7, 56, 2, 2, 7162, 7164, 7, 615, 2, 2, 7163, 7162, 3, 2, 2, 2, 7163, 7164, 3, 2, 2, 2, 7164, 7166, 3, 2, 2, 2, 7165, 7167, 7, 968, 2, 2, 7166, 7165, 3, 2, 2, 2, 7166, 7167, 3, 2, 2, 2, 7167, 7179, 3, 2, 2, 2, 7168, 7169, 7, 905, 2, 2, 7169, 7170, 7, 1306, 2, 2, 7170, 7180, 5, 1494, 748, 2, 7171, 7173, 7, 656, 2, 2, 7172, 7174, 7, 2219, 2, 2, 7173, 7172, 3, 2, 2, 2, 7173, 7174, 3, 2, 2, 2, 7174, 7180, 3, 2, 2, 2, 7175, 7176, 7, 1539, 2, 2, 7176, 7177, 7, 505, 2, 2, 7177, 7180, 7, 1972, 2, 2, 7178, 7180, 7, 527, 2, 2, 7179, 7168, 3, 2, 2, 2, 7179, 7171, 3, 2, 2, 2, 7179, 7175, 3, 2, 2, 2, 7179, 7178, 3, 2, 2, 2, 7179, 7180, 3, 2, 2, 2, 7180, 729, 3, 2, 2, 2, 7181, 7182, 9, 77, 2, 2, 7182, 7183, 7, 782, 2, 2, 7183, 7184, 7, 1568, 2, 2, 7184, 7185, 7, 56, 2, 2, 7185, 731, 3, 2, 2, 2, 7186, 7187, 7, 271, 2, 2, 7187, 7188, 7, 1966, 2, 2, 7188, 7189, 9, 78, 2, 2, 7189, 7190, 7, 1568, 2, 2, 7190, 733, 3, 2, 2, 2, 7191, 7192, 7, 353, 2, 2, 7192, 7193, 7, 426, 2, 2, 7193, 7194, 7, 2245, 2, 2, 7194, 7238, 5, 746, 374, 2, 7195, 7196, 7, 1512, 2, 2, 7196, 7197, 7, 353, 2, 2, 7197, 7198, 9, 45, 2, 2, 7198, 7238, 7, 1911, 2, 2, 7199, 7200, 7, 353, 2, 2, 7200, 7201, 7, 1911, 2, 2, 7201, 7238, 5, 838, 420, 2, 7202, 7203, 7, 353, 2, 2, 7203, 7204, 7, 1922, 2, 2, 7204, 7207, 7, 1911, 2, 2, 7205, 7208, 5, 838, 420, 2, 7206, 7208, 5, 436, 219, 2, 7207, 7205, 3, 2, 2, 2, 7207, 7206, 3, 2, 2, 2, 7208, 7238, 3, 2, 2, 2, 7209, 7210, 7, 1406, 2, 2, 7210, 7211, 7, 570, 2, 2, 7211, 7212, 7, 1966, 2, 2, 7212, 7215, 5, 744, 373, 2, 7213, 7214, 7, 2218, 2, 2, 7214, 7216, 5, 742, 372, 2, 7215, 7213, 3, 2, 2, 2, 7216, 7217, 3, 2, 2, 2, 7217, 7215, 3, 2, 2, 2, 7217, 7218, 3, 2, 2, 2, 7218, 7238, 3, 2, 2, 2, 7219, 7220, 7, 441, 2, 2, 7220, 7221, 7, 131, 2, 2, 7221, 7222, 7, 174, 2, 2, 7222, 7229, 7, 1970, 2, 2, 7223, 7224, 7, 2065, 2, 2, 7224, 7225, 7, 521, 2, 2, 7225, 7227, 5, 750, 376, 2, 7226, 7228, 7, 1434, 2, 2, 7227, 7226, 3, 2, 2, 2, 7227, 7228, 3, 2, 2, 2, 7228, 7230, 3, 2, 2, 2, 7229, 7223, 3, 2, 2, 2, 7229, 7230, 3, 2, 2, 2, 7230, 7238, 3, 2, 2, 2, 7231, 7232, 7, 385, 2, 2, 7232, 7233, 7, 131, 2, 2, 7233, 7234, 7, 174, 2, 2, 7234, 7238, 7, 1970, 2, 2, 7235, 7238, 5, 440, 221, 2, 7236, 7238, 5, 736, 369, 2, 7237, 7191, 3, 2, 2, 2, 7237, 7195, 3, 2, 2, 2, 7237, 7199, 3, 2, 2, 2, 7237, 7202, 3, 2, 2, 2, 7237, 7209, 3, 2, 2, 2, 7237, 7219, 3, 2, 2, 2, 7237, 7231, 3, 2, 2, 2, 7237, 7235, 3, 2, 2, 2, 7237, 7236, 3, 2, 2, 2, 7238, 735, 3, 2, 2, 2, 7239, 7240, 7, 1512, 2, 2, 7240, 7241, 7, 1940, 2, 2, 7241, 7242, 7, 2245, 2, 2, 7242, 7243, 7, 2221, 2, 2, 7243, 737, 3, 2, 2, 2, 7244, 7245, 5, 650, 326, 2, 7245, 7246, 7, 674, 2, 2, 7246, 7247, 7, 2221, 2, 2, 7247, 739, 3, 2, 2, 2, 7248, 7249, 7, 582, 2, 2, 7249, 7250, 9, 79, 2, 2, 7250, 741, 3, 2, 2, 2, 7251, 7252, 5, 1494, 748, 2, 7252, 743, 3, 2, 2, 2, 7253, 7254, 5, 1494, 748, 2, 7254, 745, 3, 2, 2, 2, 7255, 7256, 5, 1494, 748, 2, 7256, 747, 3, 2, 2, 2, 7257, 7258, 7, 2219, 2, 2, 7258, 749, 3, 2, 2, 2, 7259, 7260, 7, 2221, 2, 2, 7260, 751, 3, 2, 2, 2, 7261, 7262, 7, 41, 2, 2, 7262, 7263, 7, 1914, 2, 2, 7263, 7269, 5, 1428, 715, 2, 7264, 7270, 3, 2, 2, 2, 7265, 7270, 5, 754, 378, 2, 7266, 7270, 5, 872, 437, 2, 7267, 7270, 5, 786, 394, 2, 7268, 7270, 5, 776, 389, 2, 7269, 7264, 3, 2, 2, 2, 7269, 7265, 3, 2, 2, 2, 7269, 7266, 3, 2, 2, 2, 7269, 7267, 3, 2, 2, 2, 7269, 7268, 3, 2, 2, 2, 7270, 7283, 3, 2, 2, 2, 7271, 7280, 5, 766, 384, 2, 7272, 7277, 5, 650, 326, 2, 7273, 7274, 7, 1914, 2, 2, 7274, 7278, 7, 778, 2, 2, 7275, 7276, 7, 37, 2, 2, 7276, 7278, 7, 1979, 2, 2, 7277, 7273, 3, 2, 2, 2, 7277, 7275, 3, 2, 2, 2, 7278, 7280, 3, 2, 2, 2, 7279, 7271, 3, 2, 2, 2, 7279, 7272, 3, 2, 2, 2, 7280, 7281, 3, 2, 2, 2, 7281, 7279, 3, 2, 2, 2, 7281, 7282, 3, 2, 2, 2, 7282, 7284, 3, 2, 2, 2, 7283, 7279, 3, 2, 2, 2, 7283, 7284, 3, 2, 2, 2, 7284, 7285, 3, 2, 2, 2, 7285, 7286, 7, 2243, 2, 2, 7286, 753, 3, 2, 2, 2, 7287, 7299, 5, 756, 379, 2, 7288, 7289, 7, 1406, 2, 2, 7289, 7290, 7, 1966, 2, 2, 7290, 7299, 5, 1428, 715, 2, 7291, 7299, 5, 638, 320, 2, 7292, 7293, 7, 1355, 2, 2, 7293, 7299, 7, 1129, 2, 2, 7294, 7295, 7, 1355, 2, 2, 7295, 7299, 7, 2127, 2, 2, 7296, 7297, 7, 1398, 2, 2, 7297, 7299, 7, 2221, 2, 2, 7298, 7287, 3, 2, 2, 2, 7298, 7288, 3, 2, 2, 2, 7298, 7291, 3, 2, 2, 2, 7298, 7292, 3, 2, 2, 2, 7298, 7294, 3, 2, 2, 2, 7298, 7296, 3, 2, 2, 2, 7299, 755, 3, 2, 2, 2, 7300, 7318, 5, 612, 307, 2, 7301, 7318, 5, 450, 226, 2, 7302, 7318, 5, 610, 306, 2, 7303, 7318, 5, 628, 315, 2, 7304, 7318, 5, 634, 318, 2, 7305, 7318, 5, 636, 319, 2, 7306, 7318, 9, 53, 2, 2, 7307, 7308, 7, 1426, 2, 2, 7308, 7309, 7, 2225, 2, 2, 7309, 7310, 7, 862, 2, 2, 7310, 7311, 9, 59, 2, 2, 7311, 7318, 7, 2226, 2, 2, 7312, 7318, 5, 642, 322, 2, 7313, 7318, 5, 640, 321, 2, 7314, 7318, 5, 476, 239, 2, 7315, 7318, 5, 622, 312, 2, 7316, 7318, 5, 624, 313, 2, 7317, 7300, 3, 2, 2, 2, 7317, 7301, 3, 2, 2, 2, 7317, 7302, 3, 2, 2, 2, 7317, 7303, 3, 2, 2, 2, 7317, 7304, 3, 2, 2, 2, 7317, 7305, 3, 2, 2, 2, 7317, 7306, 3, 2, 2, 2, 7317, 7307, 3, 2, 2, 2, 7317, 7312, 3, 2, 2, 2, 7317, 7313, 3, 2, 2, 2, 7317, 7314, 3, 2, 2, 2, 7317, 7315, 3, 2, 2, 2, 7317, 7316, 3, 2, 2, 2, 7318, 7319, 3, 2, 2, 2, 7319, 7317, 3, 2, 2, 2, 7319, 7320, 3, 2, 2, 2, 7320, 7322, 3, 2, 2, 2, 7321, 7323, 5, 758, 380, 2, 7322, 7321, 3, 2, 2, 2, 7322, 7323, 3, 2, 2, 2, 7323, 757, 3, 2, 2, 2, 7324, 7329, 5, 778, 390, 2, 7325, 7329, 5, 762, 382, 2, 7326, 7329, 5, 760, 381, 2, 7327, 7329, 7, 207, 2, 2, 7328, 7324, 3, 2, 2, 2, 7328, 7325, 3, 2, 2, 2, 7328, 7326, 3, 2, 2, 2, 7328, 7327, 3, 2, 2, 2, 7329, 759, 3, 2, 2, 2, 7330, 7331, 7, 804, 2, 2, 7331, 7334, 7, 1914, 2, 2, 7332, 7335, 5, 634, 318, 2, 7333, 7335, 5, 636, 319, 2, 7334, 7332, 3, 2, 2, 2, 7334, 7333, 3, 2, 2, 2, 7335, 761, 3, 2, 2, 2, 7336, 7347, 5, 764, 383, 2, 7337, 7342, 7, 1186, 2, 2, 7338, 7343, 5, 618, 310, 2, 7339, 7343, 5, 634, 318, 2, 7340, 7343, 5, 638, 320, 2, 7341, 7343, 5, 636, 319, 2, 7342, 7338, 3, 2, 2, 2, 7342, 7339, 3, 2, 2, 2, 7342, 7340, 3, 2, 2, 2, 7342, 7341, 3, 2, 2, 2, 7343, 7344, 3, 2, 2, 2, 7344, 7342, 3, 2, 2, 2, 7344, 7345, 3, 2, 2, 2, 7345, 7347, 3, 2, 2, 2, 7346, 7336, 3, 2, 2, 2, 7346, 7337, 3, 2, 2, 2, 7347, 763, 3, 2, 2, 2, 7348, 7349, 7, 20, 2, 2, 7349, 7351, 7, 1186, 2, 2, 7350, 7352, 5, 618, 310, 2, 7351, 7350, 3, 2, 2, 2, 7351, 7352, 3, 2, 2, 2, 7352, 7369, 3, 2, 2, 2, 7353, 7354, 7, 2225, 2, 2, 7354, 7356, 7, 1209, 2, 2, 7355, 7357, 5, 618, 310, 2, 7356, 7355, 3, 2, 2, 2, 7356, 7357, 3, 2, 2, 2, 7357, 7365, 3, 2, 2, 2, 7358, 7359, 7, 2231, 2, 2, 7359, 7361, 7, 1209, 2, 2, 7360, 7362, 5, 618, 310, 2, 7361, 7360, 3, 2, 2, 2, 7361, 7362, 3, 2, 2, 2, 7362, 7364, 3, 2, 2, 2, 7363, 7358, 3, 2, 2, 2, 7364, 7367, 3, 2, 2, 2, 7365, 7363, 3, 2, 2, 2, 7365, 7366, 3, 2, 2, 2, 7366, 7368, 3, 2, 2, 2, 7367, 7365, 3, 2, 2, 2, 7368, 7370, 7, 2226, 2, 2, 7369, 7353, 3, 2, 2, 2, 7369, 7370, 3, 2, 2, 2, 7370, 765, 3, 2, 2, 2, 7371, 7373, 9, 7, 2, 2, 7372, 7374, 9, 41, 2, 2, 7373, 7372, 3, 2, 2, 2, 7373, 7374, 3, 2, 2, 2, 7374, 7391, 3, 2, 2, 2, 7375, 7376, 7, 2004, 2, 2, 7376, 7377, 7, 2225, 2, 2, 7377, 7382, 5, 1426, 714, 2, 7378, 7379, 7, 2231, 2, 2, 7379, 7381, 5, 1426, 714, 2, 7380, 7378, 3, 2, 2, 2, 7381, 7384, 3, 2, 2, 2, 7382, 7380, 3, 2, 2, 2, 7382, 7383, 3, 2, 2, 2, 7383, 7385, 3, 2, 2, 2, 7384, 7382, 3, 2, 2, 2, 7385, 7386, 7, 2226, 2, 2, 7386, 7392, 3, 2, 2, 2, 7387, 7388, 7, 1306, 2, 2, 7388, 7392, 7, 724, 2, 2, 7389, 7390, 7, 259, 2, 2, 7390, 7392, 5, 1398, 700, 2, 7391, 7375, 3, 2, 2, 2, 7391, 7387, 3, 2, 2, 2, 7391, 7389, 3, 2, 2, 2, 7392, 7394, 3, 2, 2, 2, 7393, 7395, 5, 768, 385, 2, 7394, 7393, 3, 2, 2, 2, 7394, 7395, 3, 2, 2, 2, 7395, 7397, 3, 2, 2, 2, 7396, 7398, 5, 774, 388, 2, 7397, 7396, 3, 2, 2, 2, 7397, 7398, 3, 2, 2, 2, 7398, 7400, 3, 2, 2, 2, 7399, 7401, 7, 164, 2, 2, 7400, 7399, 3, 2, 2, 2, 7400, 7401, 3, 2, 2, 2, 7401, 7404, 3, 2, 2, 2, 7402, 7403, 9, 80, 2, 2, 7403, 7405, 7, 633, 2, 2, 7404, 7402, 3, 2, 2, 2, 7404, 7405, 3, 2, 2, 2, 7405, 767, 3, 2, 2, 2, 7406, 7407, 7, 2065, 2, 2, 7407, 7414, 7, 633, 2, 2, 7408, 7415, 5, 1416, 709, 2, 7409, 7410, 7, 2225, 2, 2, 7410, 7411, 5, 182, 92, 2, 7411, 7412, 7, 2226, 2, 2, 7412, 7415, 3, 2, 2, 2, 7413, 7415, 5, 770, 386, 2, 7414, 7408, 3, 2, 2, 2, 7414, 7409, 3, 2, 2, 2, 7414, 7413, 3, 2, 2, 2, 7414, 7415, 3, 2, 2, 2, 7415, 769, 3, 2, 2, 2, 7416, 7429, 5, 612, 307, 2, 7417, 7429, 5, 450, 226, 2, 7418, 7421, 7, 1911, 2, 2, 7419, 7422, 5, 838, 420, 2, 7420, 7422, 7, 353, 2, 2, 7421, 7419, 3, 2, 2, 2, 7421, 7420, 3, 2, 2, 2, 7422, 7429, 3, 2, 2, 2, 7423, 7429, 5, 782, 392, 2, 7424, 7429, 5, 772, 387, 2, 7425, 7429, 7, 1435, 2, 2, 7426, 7429, 5, 238, 120, 2, 7427, 7429, 5, 476, 239, 2, 7428, 7416, 3, 2, 2, 2, 7428, 7417, 3, 2, 2, 2, 7428, 7418, 3, 2, 2, 2, 7428, 7423, 3, 2, 2, 2, 7428, 7424, 3, 2, 2, 2, 7428, 7425, 3, 2, 2, 2, 7428, 7426, 3, 2, 2, 2, 7428, 7427, 3, 2, 2, 2, 7429, 7430, 3, 2, 2, 2, 7430, 7428, 3, 2, 2, 2, 7430, 7431, 3, 2, 2, 2, 7431, 771, 3, 2, 2, 2, 7432, 7433, 9, 81, 2, 2, 7433, 773, 3, 2, 2, 2, 7434, 7435, 7, 472, 2, 2, 7435, 7436, 7, 693, 2, 2, 7436, 7437, 5, 1428, 715, 2, 7437, 775, 3, 2, 2, 2, 7438, 7440, 7, 876, 2, 2, 7439, 7441, 7, 1127, 2, 2, 7440, 7439, 3, 2, 2, 2, 7440, 7441, 3, 2, 2, 2, 7441, 7443, 3, 2, 2, 2, 7442, 7444, 5, 618, 310, 2, 7443, 7442, 3, 2, 2, 2, 7443, 7444, 3, 2, 2, 2, 7444, 7446, 3, 2, 2, 2, 7445, 7447, 5, 610, 306, 2, 7446, 7445, 3, 2, 2, 2, 7446, 7447, 3, 2, 2, 2, 7447, 7449, 3, 2, 2, 2, 7448, 7450, 5, 778, 390, 2, 7449, 7448, 3, 2, 2, 2, 7449, 7450, 3, 2, 2, 2, 7450, 7457, 3, 2, 2, 2, 7451, 7454, 5, 822, 412, 2, 7452, 7454, 5, 812, 407, 2, 7453, 7451, 3, 2, 2, 2, 7453, 7452, 3, 2, 2, 2, 7454, 7455, 3, 2, 2, 2, 7455, 7453, 3, 2, 2, 2, 7455, 7456, 3, 2, 2, 2, 7456, 7458, 3, 2, 2, 2, 7457, 7453, 3, 2, 2, 2, 7457, 7458, 3, 2, 2, 2, 7458, 7460, 3, 2, 2, 2, 7459, 7461, 5, 476, 239, 2, 7460, 7459, 3, 2, 2, 2, 7460, 7461, 3, 2, 2, 2, 7461, 777, 3, 2, 2, 2, 7462, 7467, 5, 780, 391, 2, 7463, 7464, 7, 1231, 2, 2, 7464, 7467, 7, 2219, 2, 2, 7465, 7467, 5, 782, 392, 2, 7466, 7462, 3, 2, 2, 2, 7466, 7463, 3, 2, 2, 2, 7466, 7465, 3, 2, 2, 2, 7467, 7469, 3, 2, 2, 2, 7468, 7470, 5, 784, 393, 2, 7469, 7468, 3, 2, 2, 2, 7469, 7470, 3, 2, 2, 2, 7470, 779, 3, 2, 2, 2, 7471, 7472, 7, 804, 2, 2, 7472, 7475, 7, 1914, 2, 2, 7473, 7475, 7, 996, 2, 2, 7474, 7471, 3, 2, 2, 2, 7474, 7473, 3, 2, 2, 2, 7475, 781, 3, 2, 2, 2, 7476, 7480, 7, 955, 2, 2, 7477, 7478, 7, 234, 2, 2, 7478, 7480, 7, 2219, 2, 2, 7479, 7476, 3, 2, 2, 2, 7479, 7477, 3, 2, 2, 2, 7480, 783, 3, 2, 2, 2, 7481, 7482, 7, 621, 2, 2, 7482, 7484, 5, 1426, 714, 2, 7483, 7481, 3, 2, 2, 2, 7483, 7484, 3, 2, 2, 2, 7484, 7485, 3, 2, 2, 2, 7485, 7487, 7, 1186, 2, 2, 7486, 7488, 5, 618, 310, 2, 7487, 7486, 3, 2, 2, 2, 7487, 7488, 3, 2, 2, 2, 7488, 785, 3, 2, 2, 2, 7489, 7494, 5, 798, 400, 2, 7490, 7494, 5, 792, 397, 2, 7491, 7494, 5, 788, 395, 2, 7492, 7494, 5, 824, 413, 2, 7493, 7489, 3, 2, 2, 2, 7493, 7490, 3, 2, 2, 2, 7493, 7491, 3, 2, 2, 2, 7493, 7492, 3, 2, 2, 2, 7494, 787, 3, 2, 2, 2, 7495, 7496, 7, 865, 2, 2, 7496, 7497, 7, 897, 2, 2, 7497, 7498, 7, 1914, 2, 2, 7498, 7499, 5, 790, 396, 2, 7499, 7500, 7, 1433, 2, 2, 7500, 7501, 7, 63, 2, 2, 7501, 7502, 9, 82, 2, 2, 7502, 789, 3, 2, 2, 2, 7503, 7504, 5, 1428, 715, 2, 7504, 791, 3, 2, 2, 2, 7505, 7506, 7, 1406, 2, 2, 7506, 7507, 7, 215, 2, 2, 7507, 7508, 5, 794, 398, 2, 7508, 7509, 7, 1966, 2, 2, 7509, 7510, 5, 796, 399, 2, 7510, 793, 3, 2, 2, 2, 7511, 7512, 5, 1426, 714, 2, 7512, 795, 3, 2, 2, 2, 7513, 7514, 5, 1426, 714, 2, 7514, 797, 3, 2, 2, 2, 7515, 7519, 5, 808, 405, 2, 7516, 7519, 5, 802, 402, 2, 7517, 7519, 5, 800, 401, 2, 7518, 7515, 3, 2, 2, 2, 7518, 7516, 3, 2, 2, 2, 7518, 7517, 3, 2, 2, 2, 7519, 7520, 3, 2, 2, 2, 7520, 7518, 3, 2, 2, 2, 7520, 7521, 3, 2, 2, 2, 7521, 799, 3, 2, 2, 2, 7522, 7523, 7, 1512, 2, 2, 7523, 7537, 7, 2024, 2, 2, 7524, 7525, 7, 215, 2, 2, 7525, 7538, 5, 1426, 714, 2, 7526, 7527, 7, 2225, 2, 2, 7527, 7532, 5, 1426, 714, 2, 7528, 7529, 7, 2231, 2, 2, 7529, 7531, 5, 1426, 714, 2, 7530, 7528, 3, 2, 2, 2, 7531, 7534, 3, 2, 2, 2, 7532, 7530, 3, 2, 2, 2, 7532, 7533, 3, 2, 2, 2, 7533, 7535, 3, 2, 2, 2, 7534, 7532, 3, 2, 2, 2, 7535, 7536, 7, 2226, 2, 2, 7536, 7538, 3, 2, 2, 2, 7537, 7524, 3, 2, 2, 2, 7537, 7526, 3, 2, 2, 2, 7538, 7544, 3, 2, 2, 2, 7539, 7540, 7, 164, 2, 2, 7540, 7543, 7, 260, 2, 2, 7541, 7543, 7, 694, 2, 2, 7542, 7539, 3, 2, 2, 2, 7542, 7541, 3, 2, 2, 2, 7543, 7546, 3, 2, 2, 2, 7544, 7542, 3, 2, 2, 2, 7544, 7545, 3, 2, 2, 2, 7545, 7585, 3, 2, 2, 2, 7546, 7544, 3, 2, 2, 2, 7547, 7561, 7, 413, 2, 2, 7548, 7549, 7, 215, 2, 2, 7549, 7562, 5, 1426, 714, 2, 7550, 7551, 7, 2225, 2, 2, 7551, 7556, 5, 1426, 714, 2, 7552, 7553, 7, 2231, 2, 2, 7553, 7555, 5, 1426, 714, 2, 7554, 7552, 3, 2, 2, 2, 7555, 7558, 3, 2, 2, 2, 7556, 7554, 3, 2, 2, 2, 7556, 7557, 3, 2, 2, 2, 7557, 7559, 3, 2, 2, 2, 7558, 7556, 3, 2, 2, 2, 7559, 7560, 7, 2226, 2, 2, 7560, 7562, 3, 2, 2, 2, 7561, 7548, 3, 2, 2, 2, 7561, 7550, 3, 2, 2, 2, 7562, 7568, 3, 2, 2, 2, 7563, 7564, 7, 164, 2, 2, 7564, 7567, 7, 260, 2, 2, 7565, 7567, 7, 694, 2, 2, 7566, 7563, 3, 2, 2, 2, 7566, 7565, 3, 2, 2, 2, 7567, 7570, 3, 2, 2, 2, 7568, 7566, 3, 2, 2, 2, 7568, 7569, 3, 2, 2, 2, 7569, 7573, 3, 2, 2, 2, 7570, 7568, 3, 2, 2, 2, 7571, 7572, 7, 183, 2, 2, 7572, 7574, 7, 2219, 2, 2, 7573, 7571, 3, 2, 2, 2, 7573, 7574, 3, 2, 2, 2, 7574, 7585, 3, 2, 2, 2, 7575, 7580, 7, 413, 2, 2, 7576, 7577, 7, 2024, 2, 2, 7577, 7581, 7, 216, 2, 2, 7578, 7579, 7, 216, 2, 2, 7579, 7581, 7, 268, 2, 2, 7580, 7576, 3, 2, 2, 2, 7580, 7578, 3, 2, 2, 2, 7581, 7582, 3, 2, 2, 2, 7582, 7583, 7, 183, 2, 2, 7583, 7585, 7, 2219, 2, 2, 7584, 7522, 3, 2, 2, 2, 7584, 7547, 3, 2, 2, 2, 7584, 7575, 3, 2, 2, 2, 7585, 801, 3, 2, 2, 2, 7586, 7600, 7, 865, 2, 2, 7587, 7588, 7, 2225, 2, 2, 7588, 7593, 5, 804, 403, 2, 7589, 7590, 7, 2231, 2, 2, 7590, 7592, 5, 804, 403, 2, 7591, 7589, 3, 2, 2, 2, 7592, 7595, 3, 2, 2, 2, 7593, 7591, 3, 2, 2, 2, 7593, 7594, 3, 2, 2, 2, 7594, 7596, 3, 2, 2, 2, 7595, 7593, 3, 2, 2, 2, 7596, 7597, 7, 2226, 2, 2, 7597, 7601, 3, 2, 2, 2, 7598, 7601, 5, 804, 403, 2, 7599, 7601, 5, 806, 404, 2, 7600, 7587, 3, 2, 2, 2, 7600, 7598, 3, 2, 2, 2, 7600, 7599, 3, 2, 2, 2, 7601, 803, 3, 2, 2, 2, 7602, 7604, 5, 1426, 714, 2, 7603, 7605, 5, 1462, 732, 2, 7604, 7603, 3, 2, 2, 2, 7604, 7605, 3, 2, 2, 2, 7605, 7608, 3, 2, 2, 2, 7606, 7607, 7, 353, 2, 2, 7607, 7609, 5, 1236, 619, 2, 7608, 7606, 3, 2, 2, 2, 7608, 7609, 3, 2, 2, 2, 7609, 7613, 3, 2, 2, 2, 7610, 7611, 7, 445, 2, 2, 7611, 7614, 5, 836, 419, 2, 7612, 7614, 7, 351, 2, 2, 7613, 7610, 3, 2, 2, 2, 7613, 7612, 3, 2, 2, 2, 7613, 7614, 3, 2, 2, 2, 7614, 7618, 3, 2, 2, 2, 7615, 7617, 5, 418, 210, 2, 7616, 7615, 3, 2, 2, 2, 7617, 7620, 3, 2, 2, 2, 7618, 7616, 3, 2, 2, 2, 7618, 7619, 3, 2, 2, 2, 7619, 7622, 3, 2, 2, 2, 7620, 7618, 3, 2, 2, 2, 7621, 7623, 5, 822, 412, 2, 7622, 7621, 3, 2, 2, 2, 7622, 7623, 3, 2, 2, 2, 7623, 805, 3, 2, 2, 2, 7624, 7625, 7, 215, 2, 2, 7625, 7627, 5, 1426, 714, 2, 7626, 7628, 7, 1075, 2, 2, 7627, 7626, 3, 2, 2, 2, 7627, 7628, 3, 2, 2, 2, 7628, 7629, 3, 2, 2, 2, 7629, 7630, 7, 1613, 2, 2, 7630, 7631, 7, 76, 2, 2, 7631, 7632, 7, 37, 2, 2, 7632, 7634, 7, 750, 2, 2, 7633, 7635, 7, 544, 2, 2, 7634, 7633, 3, 2, 2, 2, 7634, 7635, 3, 2, 2, 2, 7635, 807, 3, 2, 2, 2, 7636, 7658, 7, 20, 2, 2, 7637, 7640, 7, 2225, 2, 2, 7638, 7641, 5, 850, 426, 2, 7639, 7641, 5, 852, 427, 2, 7640, 7638, 3, 2, 2, 2, 7640, 7639, 3, 2, 2, 2, 7641, 7649, 3, 2, 2, 2, 7642, 7645, 7, 2231, 2, 2, 7643, 7646, 5, 850, 426, 2, 7644, 7646, 5, 852, 427, 2, 7645, 7643, 3, 2, 2, 2, 7645, 7644, 3, 2, 2, 2, 7646, 7648, 3, 2, 2, 2, 7647, 7642, 3, 2, 2, 2, 7648, 7651, 3, 2, 2, 2, 7649, 7647, 3, 2, 2, 2, 7649, 7650, 3, 2, 2, 2, 7650, 7652, 3, 2, 2, 2, 7651, 7649, 3, 2, 2, 2, 7652, 7653, 7, 2226, 2, 2, 7653, 7659, 3, 2, 2, 2, 7654, 7657, 5, 850, 426, 2, 7655, 7657, 5, 852, 427, 2, 7656, 7654, 3, 2, 2, 2, 7656, 7655, 3, 2, 2, 2, 7657, 7659, 3, 2, 2, 2, 7658, 7637, 3, 2, 2, 2, 7658, 7656, 3, 2, 2, 2, 7659, 7661, 3, 2, 2, 2, 7660, 7662, 5, 842, 422, 2, 7661, 7660, 3, 2, 2, 2, 7661, 7662, 3, 2, 2, 2, 7662, 809, 3, 2, 2, 2, 7663, 7664, 7, 865, 2, 2, 7664, 7665, 7, 2082, 2, 2, 7665, 7666, 5, 840, 421, 2, 7666, 7667, 7, 2225, 2, 2, 7667, 7668, 5, 826, 414, 2, 7668, 7669, 7, 2226, 2, 2, 7669, 811, 3, 2, 2, 2, 7670, 7671, 7, 2082, 2, 2, 7671, 7677, 5, 840, 421, 2, 7672, 7674, 5, 862, 432, 2, 7673, 7672, 3, 2, 2, 2, 7673, 7674, 3, 2, 2, 2, 7674, 7675, 3, 2, 2, 2, 7675, 7678, 5, 814, 408, 2, 7676, 7678, 5, 862, 432, 2, 7677, 7673, 3, 2, 2, 2, 7677, 7676, 3, 2, 2, 2, 7678, 813, 3, 2, 2, 2, 7679, 7680, 7, 1596, 2, 2, 7680, 7682, 7, 63, 2, 2, 7681, 7683, 9, 60, 2, 2, 7682, 7681, 3, 2, 2, 2, 7682, 7683, 3, 2, 2, 2, 7683, 7684, 3, 2, 2, 2, 7684, 7693, 7, 767, 2, 2, 7685, 7687, 5, 816, 409, 2, 7686, 7685, 3, 2, 2, 2, 7686, 7687, 3, 2, 2, 2, 7687, 7688, 3, 2, 2, 2, 7688, 7689, 7, 2225, 2, 2, 7689, 7690, 5, 820, 411, 2, 7690, 7691, 7, 2226, 2, 2, 7691, 7694, 3, 2, 2, 2, 7692, 7694, 5, 816, 409, 2, 7693, 7686, 3, 2, 2, 2, 7693, 7692, 3, 2, 2, 2, 7694, 815, 3, 2, 2, 2, 7695, 7696, 5, 1494, 748, 2, 7696, 817, 3, 2, 2, 2, 7697, 7698, 5, 1494, 748, 2, 7698, 819, 3, 2, 2, 2, 7699, 7700, 7, 1911, 2, 2, 7700, 7707, 5, 838, 420, 2, 7701, 7703, 5, 828, 415, 2, 7702, 7704, 5, 614, 308, 2, 7703, 7702, 3, 2, 2, 2, 7703, 7704, 3, 2, 2, 2, 7704, 7707, 3, 2, 2, 2, 7705, 7707, 5, 614, 308, 2, 7706, 7699, 3, 2, 2, 2, 7706, 7701, 3, 2, 2, 2, 7706, 7705, 3, 2, 2, 2, 7707, 821, 3, 2, 2, 2, 7708, 7745, 7, 767, 2, 2, 7709, 7710, 7, 2225, 2, 2, 7710, 7715, 5, 818, 410, 2, 7711, 7712, 7, 2231, 2, 2, 7712, 7714, 5, 818, 410, 2, 7713, 7711, 3, 2, 2, 2, 7714, 7717, 3, 2, 2, 2, 7715, 7713, 3, 2, 2, 2, 7715, 7716, 3, 2, 2, 2, 7716, 7718, 3, 2, 2, 2, 7717, 7715, 3, 2, 2, 2, 7718, 7719, 7, 2226, 2, 2, 7719, 7720, 7, 1596, 2, 2, 7720, 7726, 7, 63, 2, 2, 7721, 7727, 9, 60, 2, 2, 7722, 7723, 7, 2225, 2, 2, 7723, 7724, 5, 820, 411, 2, 7724, 7725, 7, 2226, 2, 2, 7725, 7727, 3, 2, 2, 2, 7726, 7721, 3, 2, 2, 2, 7726, 7722, 3, 2, 2, 2, 7727, 7728, 3, 2, 2, 2, 7728, 7726, 3, 2, 2, 2, 7728, 7729, 3, 2, 2, 2, 7729, 7746, 3, 2, 2, 2, 7730, 7731, 7, 2225, 2, 2, 7731, 7732, 5, 818, 410, 2, 7732, 7733, 7, 2226, 2, 2, 7733, 7734, 7, 1596, 2, 2, 7734, 7741, 7, 63, 2, 2, 7735, 7742, 9, 60, 2, 2, 7736, 7742, 5, 816, 409, 2, 7737, 7738, 7, 2225, 2, 2, 7738, 7739, 5, 820, 411, 2, 7739, 7740, 7, 2226, 2, 2, 7740, 7742, 3, 2, 2, 2, 7741, 7735, 3, 2, 2, 2, 7741, 7736, 3, 2, 2, 2, 7741, 7737, 3, 2, 2, 2, 7742, 7743, 3, 2, 2, 2, 7743, 7741, 3, 2, 2, 2, 7743, 7744, 3, 2, 2, 2, 7744, 7746, 3, 2, 2, 2, 7745, 7709, 3, 2, 2, 2, 7745, 7730, 3, 2, 2, 2, 7746, 823, 3, 2, 2, 2, 7747, 7748, 7, 865, 2, 2, 7748, 7749, 7, 767, 2, 2, 7749, 7750, 7, 2225, 2, 2, 7750, 7751, 5, 818, 410, 2, 7751, 7752, 7, 2226, 2, 2, 7752, 7753, 7, 2225, 2, 2, 7753, 7754, 5, 826, 414, 2, 7754, 7755, 7, 2226, 2, 2, 7755, 825, 3, 2, 2, 2, 7756, 7781, 5, 614, 308, 2, 7757, 7758, 9, 83, 2, 2, 7758, 7781, 7, 2219, 2, 2, 7759, 7760, 7, 1360, 2, 2, 7760, 7781, 7, 554, 2, 2, 7761, 7781, 5, 834, 418, 2, 7762, 7781, 5, 830, 416, 2, 7763, 7781, 5, 832, 417, 2, 7764, 7765, 7, 445, 2, 2, 7765, 7781, 5, 836, 419, 2, 7766, 7781, 7, 351, 2, 2, 7767, 7781, 7, 152, 2, 2, 7768, 7773, 7, 152, 2, 2, 7769, 7773, 7, 948, 2, 2, 7770, 7771, 7, 152, 2, 2, 7771, 7773, 7, 1356, 2, 2, 7772, 7768, 3, 2, 2, 2, 7772, 7769, 3, 2, 2, 2, 7772, 7770, 3, 2, 2, 2, 7773, 7775, 3, 2, 2, 2, 7774, 7776, 5, 450, 226, 2, 7775, 7774, 3, 2, 2, 2, 7775, 7776, 3, 2, 2, 2, 7776, 7781, 3, 2, 2, 2, 7777, 7781, 5, 634, 318, 2, 7778, 7781, 5, 638, 320, 2, 7779, 7781, 5, 636, 319, 2, 7780, 7756, 3, 2, 2, 2, 7780, 7757, 3, 2, 2, 2, 7780, 7759, 3, 2, 2, 2, 7780, 7761, 3, 2, 2, 2, 7780, 7762, 3, 2, 2, 2, 7780, 7763, 3, 2, 2, 2, 7780, 7764, 3, 2, 2, 2, 7780, 7766, 3, 2, 2, 2, 7780, 7767, 3, 2, 2, 2, 7780, 7772, 3, 2, 2, 2, 7780, 7777, 3, 2, 2, 2, 7780, 7778, 3, 2, 2, 2, 7780, 7779, 3, 2, 2, 2, 7781, 7782, 3, 2, 2, 2, 7782, 7780, 3, 2, 2, 2, 7782, 7783, 3, 2, 2, 2, 7783, 827, 3, 2, 2, 2, 7784, 7785, 9, 7, 2, 2, 7785, 7786, 7, 1595, 2, 2, 7786, 7787, 7, 654, 2, 2, 7787, 7810, 7, 1453, 2, 2, 7788, 7789, 7, 187, 2, 2, 7789, 7810, 7, 2219, 2, 2, 7790, 7791, 7, 1233, 2, 2, 7791, 7810, 7, 2219, 2, 2, 7792, 7793, 7, 554, 2, 2, 7793, 7810, 7, 2219, 2, 2, 7794, 7810, 5, 834, 418, 2, 7795, 7810, 5, 830, 416, 2, 7796, 7810, 5, 832, 417, 2, 7797, 7798, 7, 445, 2, 2, 7798, 7810, 5, 836, 419, 2, 7799, 7810, 7, 351, 2, 2, 7800, 7805, 7, 152, 2, 2, 7801, 7805, 7, 948, 2, 2, 7802, 7803, 7, 152, 2, 2, 7803, 7805, 7, 1356, 2, 2, 7804, 7800, 3, 2, 2, 2, 7804, 7801, 3, 2, 2, 2, 7804, 7802, 3, 2, 2, 2, 7805, 7807, 3, 2, 2, 2, 7806, 7808, 5, 450, 226, 2, 7807, 7806, 3, 2, 2, 2, 7807, 7808, 3, 2, 2, 2, 7808, 7810, 3, 2, 2, 2, 7809, 7784, 3, 2, 2, 2, 7809, 7788, 3, 2, 2, 2, 7809, 7790, 3, 2, 2, 2, 7809, 7792, 3, 2, 2, 2, 7809, 7794, 3, 2, 2, 2, 7809, 7795, 3, 2, 2, 2, 7809, 7796, 3, 2, 2, 2, 7809, 7797, 3, 2, 2, 2, 7809, 7799, 3, 2, 2, 2, 7809, 7804, 3, 2, 2, 2, 7810, 7811, 3, 2, 2, 2, 7811, 7809, 3, 2, 2, 2, 7811, 7812, 3, 2, 2, 2, 7812, 829, 3, 2, 2, 2, 7813, 7814, 9, 84, 2, 2, 7814, 831, 3, 2, 2, 2, 7815, 7821, 7, 955, 2, 2, 7816, 7818, 7, 234, 2, 2, 7817, 7819, 9, 85, 2, 2, 7818, 7817, 3, 2, 2, 2, 7818, 7819, 3, 2, 2, 2, 7819, 7821, 3, 2, 2, 2, 7820, 7815, 3, 2, 2, 2, 7820, 7816, 3, 2, 2, 2, 7821, 833, 3, 2, 2, 2, 7822, 7828, 7, 1430, 2, 2, 7823, 7829, 7, 2195, 2, 2, 7824, 7825, 7, 2197, 2, 2, 7825, 7829, 7, 2219, 2, 2, 7826, 7829, 7, 85, 2, 2, 7827, 7829, 7, 1009, 2, 2, 7828, 7823, 3, 2, 2, 2, 7828, 7824, 3, 2, 2, 2, 7828, 7826, 3, 2, 2, 2, 7828, 7827, 3, 2, 2, 2, 7828, 7829, 3, 2, 2, 2, 7829, 835, 3, 2, 2, 2, 7830, 7831, 7, 2065, 2, 2, 7831, 7833, 7, 2221, 2, 2, 7832, 7830, 3, 2, 2, 2, 7832, 7833, 3, 2, 2, 2, 7833, 7837, 3, 2, 2, 2, 7834, 7835, 7, 603, 2, 2, 7835, 7836, 7, 148, 2, 2, 7836, 7838, 7, 2254, 2, 2, 7837, 7834, 3, 2, 2, 2, 7837, 7838, 3, 2, 2, 2, 7838, 7840, 3, 2, 2, 2, 7839, 7841, 7, 2221, 2, 2, 7840, 7839, 3, 2, 2, 2, 7840, 7841, 3, 2, 2, 2, 7841, 7846, 3, 2, 2, 2, 7842, 7844, 7, 1012, 2, 2, 7843, 7842, 3, 2, 2, 2, 7843, 7844, 3, 2, 2, 2, 7844, 7845, 3, 2, 2, 2, 7845, 7847, 7, 1460, 2, 2, 7846, 7843, 3, 2, 2, 2, 7846, 7847, 3, 2, 2, 2, 7847, 837, 3, 2, 2, 2, 7848, 7849, 5, 1494, 748, 2, 7849, 839, 3, 2, 2, 2, 7850, 7851, 5, 1490, 746, 2, 7851, 7852, 7, 2218, 2, 2, 7852, 7854, 3, 2, 2, 2, 7853, 7850, 3, 2, 2, 2, 7853, 7854, 3, 2, 2, 2, 7854, 7858, 3, 2, 2, 2, 7855, 7856, 5, 1490, 746, 2, 7856, 7857, 7, 2218, 2, 2, 7857, 7859, 3, 2, 2, 2, 7858, 7855, 3, 2, 2, 2, 7858, 7859, 3, 2, 2, 2, 7859, 7860, 3, 2, 2, 2, 7860, 7861, 5, 1490, 746, 2, 7861, 841, 3, 2, 2, 2, 7862, 7870, 5, 870, 436, 2, 7863, 7870, 5, 858, 430, 2, 7864, 7867, 5, 812, 407, 2, 7865, 7867, 5, 822, 412, 2, 7866, 7864, 3, 2, 2, 2, 7866, 7865, 3, 2, 2, 2, 7867, 7870, 3, 2, 2, 2, 7868, 7870, 5, 526, 264, 2, 7869, 7862, 3, 2, 2, 2, 7869, 7863, 3, 2, 2, 2, 7869, 7866, 3, 2, 2, 2, 7869, 7868, 3, 2, 2, 2, 7870, 843, 3, 2, 2, 2, 7871, 7872, 6, 423, 11, 2, 7872, 7873, 7, 2218, 2, 2, 7873, 7874, 7, 548, 2, 2, 7874, 7881, 5, 1426, 714, 2, 7875, 7876, 7, 2225, 2, 2, 7876, 7877, 5, 846, 424, 2, 7877, 7878, 7, 2231, 2, 2, 7878, 7879, 5, 848, 425, 2, 7879, 7880, 7, 2226, 2, 2, 7880, 7882, 3, 2, 2, 2, 7881, 7875, 3, 2, 2, 2, 7881, 7882, 3, 2, 2, 2, 7882, 845, 3, 2, 2, 2, 7883, 7884, 5, 1426, 714, 2, 7884, 847, 3, 2, 2, 2, 7885, 7886, 5, 1426, 714, 2, 7886, 849, 3, 2, 2, 2, 7887, 7890, 5, 1426, 714, 2, 7888, 7891, 5, 1462, 732, 2, 7889, 7891, 5, 1402, 702, 2, 7890, 7888, 3, 2, 2, 2, 7890, 7889, 3, 2, 2, 2, 7891, 7893, 3, 2, 2, 2, 7892, 7894, 7, 1546, 2, 2, 7893, 7892, 3, 2, 2, 2, 7893, 7894, 3, 2, 2, 2, 7894, 7897, 3, 2, 2, 2, 7895, 7896, 7, 353, 2, 2, 7896, 7898, 5, 1236, 619, 2, 7897, 7895, 3, 2, 2, 2, 7897, 7898, 3, 2, 2, 2, 7898, 7918, 3, 2, 2, 2, 7899, 7902, 7, 445, 2, 2, 7900, 7901, 7, 2065, 2, 2, 7901, 7903, 7, 2221, 2, 2, 7902, 7900, 3, 2, 2, 2, 7902, 7903, 3, 2, 2, 2, 7903, 7907, 3, 2, 2, 2, 7904, 7905, 7, 603, 2, 2, 7905, 7906, 7, 148, 2, 2, 7906, 7908, 5, 1494, 748, 2, 7907, 7904, 3, 2, 2, 2, 7907, 7908, 3, 2, 2, 2, 7908, 7910, 3, 2, 2, 2, 7909, 7911, 7, 2221, 2, 2, 7910, 7909, 3, 2, 2, 2, 7910, 7911, 3, 2, 2, 2, 7911, 7916, 3, 2, 2, 2, 7912, 7914, 7, 1012, 2, 2, 7913, 7912, 3, 2, 2, 2, 7913, 7914, 3, 2, 2, 2, 7914, 7915, 3, 2, 2, 2, 7915, 7917, 7, 1460, 2, 2, 7916, 7913, 3, 2, 2, 2, 7916, 7917, 3, 2, 2, 2, 7917, 7919, 3, 2, 2, 2, 7918, 7899, 3, 2, 2, 2, 7918, 7919, 3, 2, 2, 2, 7919, 7927, 3, 2, 2, 2, 7920, 7922, 5, 418, 210, 2, 7921, 7920, 3, 2, 2, 2, 7922, 7925, 3, 2, 2, 2, 7923, 7921, 3, 2, 2, 2, 7923, 7924, 3, 2, 2, 2, 7924, 7928, 3, 2, 2, 2, 7925, 7923, 3, 2, 2, 2, 7926, 7928, 5, 420, 211, 2, 7927, 7923, 3, 2, 2, 2, 7927, 7926, 3, 2, 2, 2, 7928, 851, 3, 2, 2, 2, 7929, 7931, 5, 1426, 714, 2, 7930, 7932, 5, 1462, 732, 2, 7931, 7930, 3, 2, 2, 2, 7931, 7932, 3, 2, 2, 2, 7932, 7934, 3, 2, 2, 2, 7933, 7935, 5, 854, 428, 2, 7934, 7933, 3, 2, 2, 2, 7934, 7935, 3, 2, 2, 2, 7935, 7937, 3, 2, 2, 2, 7936, 7938, 7, 2103, 2, 2, 7937, 7936, 3, 2, 2, 2, 7937, 7938, 3, 2, 2, 2, 7938, 7942, 3, 2, 2, 2, 7939, 7941, 5, 418, 210, 2, 7940, 7939, 3, 2, 2, 2, 7941, 7944, 3, 2, 2, 2, 7942, 7940, 3, 2, 2, 2, 7942, 7943, 3, 2, 2, 2, 7943, 853, 3, 2, 2, 2, 7944, 7942, 3, 2, 2, 2, 7945, 7953, 7, 566, 2, 2, 7946, 7954, 7, 42, 2, 2, 7947, 7948, 7, 148, 2, 2, 7948, 7951, 7, 353, 2, 2, 7949, 7950, 7, 1130, 2, 2, 7950, 7952, 7, 1099, 2, 2, 7951, 7949, 3, 2, 2, 2, 7951, 7952, 3, 2, 2, 2, 7952, 7954, 3, 2, 2, 2, 7953, 7946, 3, 2, 2, 2, 7953, 7947, 3, 2, 2, 2, 7953, 7954, 3, 2, 2, 2, 7954, 7955, 3, 2, 2, 2, 7955, 7956, 7, 63, 2, 2, 7956, 7957, 7, 605, 2, 2, 7957, 855, 3, 2, 2, 2, 7958, 7959, 7, 1209, 2, 2, 7959, 7960, 5, 864, 433, 2, 7960, 857, 3, 2, 2, 2, 7961, 7962, 7, 897, 2, 2, 7962, 7965, 7, 1914, 2, 2, 7963, 7966, 5, 860, 431, 2, 7964, 7966, 7, 218, 2, 2, 7965, 7963, 3, 2, 2, 2, 7965, 7964, 3, 2, 2, 2, 7966, 7968, 3, 2, 2, 2, 7967, 7969, 5, 862, 432, 2, 7968, 7967, 3, 2, 2, 2, 7968, 7969, 3, 2, 2, 2, 7969, 7971, 3, 2, 2, 2, 7970, 7972, 9, 86, 2, 2, 7971, 7970, 3, 2, 2, 2, 7971, 7972, 3, 2, 2, 2, 7972, 7973, 3, 2, 2, 2, 7973, 7974, 7, 1596, 2, 2, 7974, 7975, 7, 63, 2, 2, 7975, 7989, 5, 1428, 715, 2, 7976, 7983, 7, 2225, 2, 2, 7977, 7978, 7, 2225, 2, 2, 7978, 7979, 5, 538, 270, 2, 7979, 7980, 7, 2226, 2, 2, 7980, 7984, 3, 2, 2, 2, 7981, 7984, 5, 620, 311, 2, 7982, 7984, 5, 842, 422, 2, 7983, 7977, 3, 2, 2, 2, 7983, 7981, 3, 2, 2, 2, 7983, 7982, 3, 2, 2, 2, 7984, 7985, 3, 2, 2, 2, 7985, 7983, 3, 2, 2, 2, 7985, 7986, 3, 2, 2, 2, 7986, 7987, 3, 2, 2, 2, 7987, 7988, 7, 2226, 2, 2, 7988, 7990, 3, 2, 2, 2, 7989, 7976, 3, 2, 2, 2, 7989, 7990, 3, 2, 2, 2, 7990, 7996, 3, 2, 2, 2, 7991, 7993, 7, 1433, 2, 2, 7992, 7994, 7, 63, 2, 2, 7993, 7992, 3, 2, 2, 2, 7993, 7994, 3, 2, 2, 2, 7994, 7995, 3, 2, 2, 2, 7995, 7997, 9, 82, 2, 2, 7996, 7991, 3, 2, 2, 2, 7996, 7997, 3, 2, 2, 2, 7997, 859, 3, 2, 2, 2, 7998, 7999, 5, 1494, 748, 2, 7999, 861, 3, 2, 2, 2, 8000, 8002, 7, 429, 2, 2, 8001, 8000, 3, 2, 2, 2, 8001, 8002, 3, 2, 2, 2, 8002, 8003, 3, 2, 2, 2, 8003, 8004, 7, 697, 2, 2, 8004, 8006, 7, 1117, 2, 2, 8005, 8007, 7, 1989, 2, 2, 8006, 8005, 3, 2, 2, 2, 8006, 8007, 3, 2, 2, 2, 8007, 8008, 3, 2, 2, 2, 8008, 8009, 7, 2225, 2, 2, 8009, 8010, 5, 1402, 702, 2, 8010, 8011, 7, 2226, 2, 2, 8011, 8020, 3, 2, 2, 2, 8012, 8014, 7, 1075, 2, 2, 8013, 8012, 3, 2, 2, 2, 8013, 8014, 3, 2, 2, 2, 8014, 8015, 3, 2, 2, 2, 8015, 8016, 7, 1613, 2, 2, 8016, 8017, 7, 76, 2, 2, 8017, 8018, 7, 37, 2, 2, 8018, 8020, 7, 750, 2, 2, 8019, 8001, 3, 2, 2, 2, 8019, 8013, 3, 2, 2, 2, 8020, 863, 3, 2, 2, 2, 8021, 8022, 5, 1494, 748, 2, 8022, 865, 3, 2, 2, 2, 8023, 8024, 7, 1622, 2, 2, 8024, 8027, 7, 785, 2, 2, 8025, 8028, 5, 630, 316, 2, 8026, 8028, 5, 632, 317, 2, 8027, 8025, 3, 2, 2, 2, 8027, 8026, 3, 2, 2, 2, 8028, 867, 3, 2, 2, 2, 8029, 8030, 5, 1494, 748, 2, 8030, 869, 3, 2, 2, 2, 8031, 8032, 7, 215, 2, 2, 8032, 8033, 5, 1494, 748, 2, 8033, 8034, 5, 862, 432, 2, 8034, 871, 3, 2, 2, 2, 8035, 8036, 7, 20, 2, 2, 8036, 8044, 7, 2225, 2, 2, 8037, 8039, 5, 424, 213, 2, 8038, 8037, 3, 2, 2, 2, 8039, 8042, 3, 2, 2, 2, 8040, 8038, 3, 2, 2, 2, 8040, 8041, 3, 2, 2, 2, 8041, 8045, 3, 2, 2, 2, 8042, 8040, 3, 2, 2, 2, 8043, 8045, 5, 422, 212, 2, 8044, 8040, 3, 2, 2, 2, 8044, 8043, 3, 2, 2, 2, 8045, 8046, 3, 2, 2, 2, 8046, 8092, 7, 2226, 2, 2, 8047, 8055, 7, 20, 2, 2, 8048, 8050, 5, 424, 213, 2, 8049, 8048, 3, 2, 2, 2, 8050, 8053, 3, 2, 2, 2, 8051, 8049, 3, 2, 2, 2, 8051, 8052, 3, 2, 2, 2, 8052, 8056, 3, 2, 2, 2, 8053, 8051, 3, 2, 2, 2, 8054, 8056, 5, 422, 212, 2, 8055, 8051, 3, 2, 2, 2, 8055, 8054, 3, 2, 2, 2, 8056, 8092, 3, 2, 2, 2, 8057, 8074, 7, 865, 2, 2, 8058, 8059, 7, 259, 2, 2, 8059, 8075, 5, 1398, 700, 2, 8060, 8061, 7, 1306, 2, 2, 8061, 8075, 7, 724, 2, 2, 8062, 8063, 7, 2004, 2, 2, 8063, 8064, 7, 2225, 2, 2, 8064, 8069, 5, 1426, 714, 2, 8065, 8066, 7, 2231, 2, 2, 8066, 8068, 5, 1426, 714, 2, 8067, 8065, 3, 2, 2, 2, 8068, 8071, 3, 2, 2, 2, 8069, 8067, 3, 2, 2, 2, 8069, 8070, 3, 2, 2, 2, 8070, 8072, 3, 2, 2, 2, 8071, 8069, 3, 2, 2, 2, 8072, 8073, 7, 2226, 2, 2, 8073, 8075, 3, 2, 2, 2, 8074, 8058, 3, 2, 2, 2, 8074, 8060, 3, 2, 2, 2, 8074, 8062, 3, 2, 2, 2, 8075, 8076, 3, 2, 2, 2, 8076, 8078, 5, 426, 214, 2, 8077, 8079, 7, 164, 2, 2, 8078, 8077, 3, 2, 2, 2, 8078, 8079, 3, 2, 2, 2, 8079, 8092, 3, 2, 2, 2, 8080, 8081, 7, 1406, 2, 2, 8081, 8082, 7, 259, 2, 2, 8082, 8083, 5, 874, 438, 2, 8083, 8084, 7, 1966, 2, 2, 8084, 8085, 5, 876, 439, 2, 8085, 8092, 3, 2, 2, 2, 8086, 8088, 5, 878, 440, 2, 8087, 8086, 3, 2, 2, 2, 8088, 8089, 3, 2, 2, 2, 8089, 8087, 3, 2, 2, 2, 8089, 8090, 3, 2, 2, 2, 8090, 8092, 3, 2, 2, 2, 8091, 8035, 3, 2, 2, 2, 8091, 8047, 3, 2, 2, 2, 8091, 8057, 3, 2, 2, 2, 8091, 8080, 3, 2, 2, 2, 8091, 8087, 3, 2, 2, 2, 8092, 873, 3, 2, 2, 2, 8093, 8094, 5, 1398, 700, 2, 8094, 875, 3, 2, 2, 2, 8095, 8096, 5, 1398, 700, 2, 8096, 877, 3, 2, 2, 2, 8097, 8098, 7, 413, 2, 2, 8098, 8099, 5, 880, 441, 2, 8099, 879, 3, 2, 2, 2, 8100, 8101, 7, 1306, 2, 2, 8101, 8115, 7, 724, 2, 2, 8102, 8103, 7, 2004, 2, 2, 8103, 8104, 7, 2225, 2, 2, 8104, 8109, 5, 1426, 714, 2, 8105, 8106, 7, 2231, 2, 2, 8106, 8108, 5, 1426, 714, 2, 8107, 8105, 3, 2, 2, 2, 8108, 8111, 3, 2, 2, 2, 8109, 8107, 3, 2, 2, 2, 8109, 8110, 3, 2, 2, 2, 8110, 8112, 3, 2, 2, 2, 8111, 8109, 3, 2, 2, 2, 8112, 8113, 7, 2226, 2, 2, 8113, 8115, 3, 2, 2, 2, 8114, 8100, 3, 2, 2, 2, 8114, 8102, 3, 2, 2, 2, 8115, 8117, 3, 2, 2, 2, 8116, 8118, 7, 164, 2, 2, 8117, 8116, 3, 2, 2, 2, 8117, 8118, 3, 2, 2, 2, 8118, 8120, 3, 2, 2, 2, 8119, 8121, 9, 80, 2, 2, 8120, 8119, 3, 2, 2, 2, 8120, 8121, 3, 2, 2, 2, 8121, 8128, 3, 2, 2, 2, 8122, 8123, 7, 259, 2, 2, 8123, 8125, 5, 1398, 700, 2, 8124, 8126, 7, 164, 2, 2, 8125, 8124, 3, 2, 2, 2, 8125, 8126, 3, 2, 2, 2, 8126, 8128, 3, 2, 2, 2, 8127, 8114, 3, 2, 2, 2, 8127, 8122, 3, 2, 2, 2, 8128, 881, 3, 2, 2, 2, 8129, 8132, 7, 20, 2, 2, 8130, 8131, 7, 259, 2, 2, 8131, 8133, 5, 1398, 700, 2, 8132, 8130, 3, 2, 2, 2, 8132, 8133, 3, 2, 2, 2, 8133, 8134, 3, 2, 2, 2, 8134, 8141, 5, 884, 443, 2, 8135, 8138, 7, 2231, 2, 2, 8136, 8137, 7, 259, 2, 2, 8137, 8139, 5, 1398, 700, 2, 8138, 8136, 3, 2, 2, 2, 8138, 8139, 3, 2, 2, 2, 8139, 8140, 3, 2, 2, 2, 8140, 8142, 5, 884, 443, 2, 8141, 8135, 3, 2, 2, 2, 8142, 8143, 3, 2, 2, 2, 8143, 8141, 3, 2, 2, 2, 8143, 8144, 3, 2, 2, 2, 8144, 883, 3, 2, 2, 2, 8145, 8150, 5, 902, 452, 2, 8146, 8150, 5, 894, 448, 2, 8147, 8150, 5, 900, 451, 2, 8148, 8150, 5, 886, 444, 2, 8149, 8145, 3, 2, 2, 2, 8149, 8146, 3, 2, 2, 2, 8149, 8147, 3, 2, 2, 2, 8149, 8148, 3, 2, 2, 2, 8150, 885, 3, 2, 2, 2, 8151, 8152, 7, 182, 2, 2, 8152, 8153, 7, 2225, 2, 2, 8153, 8154, 5, 1232, 617, 2, 8154, 8156, 7, 2226, 2, 2, 8155, 8157, 7, 385, 2, 2, 8156, 8155, 3, 2, 2, 2, 8156, 8157, 3, 2, 2, 2, 8157, 887, 3, 2, 2, 2, 8158, 8159, 7, 413, 2, 2, 8159, 8160, 7, 259, 2, 2, 8160, 8161, 5, 1398, 700, 2, 8161, 889, 3, 2, 2, 2, 8162, 8163, 7, 441, 2, 2, 8163, 8164, 7, 259, 2, 2, 8164, 8165, 5, 1398, 700, 2, 8165, 891, 3, 2, 2, 2, 8166, 8167, 7, 385, 2, 2, 8167, 8168, 7, 259, 2, 2, 8168, 8169, 5, 1398, 700, 2, 8169, 893, 3, 2, 2, 2, 8170, 8171, 7, 546, 2, 2, 8171, 8172, 7, 724, 2, 2, 8172, 8173, 5, 1446, 724, 2, 8173, 8175, 5, 896, 449, 2, 8174, 8176, 5, 898, 450, 2, 8175, 8174, 3, 2, 2, 2, 8175, 8176, 3, 2, 2, 2, 8176, 895, 3, 2, 2, 2, 8177, 8178, 7, 1376, 2, 2, 8178, 8179, 5, 1428, 715, 2, 8179, 8180, 5, 1446, 724, 2, 8180, 897, 3, 2, 2, 2, 8181, 8182, 7, 1130, 2, 2, 8182, 8186, 7, 364, 2, 2, 8183, 8187, 7, 164, 2, 2, 8184, 8185, 7, 1512, 2, 2, 8185, 8187, 7, 1099, 2, 2, 8186, 8183, 3, 2, 2, 2, 8186, 8184, 3, 2, 2, 2, 8187, 899, 3, 2, 2, 2, 8188, 8189, 7, 2004, 2, 2, 8189, 8191, 5, 1446, 724, 2, 8190, 8192, 5, 768, 385, 2, 8191, 8190, 3, 2, 2, 2, 8191, 8192, 3, 2, 2, 2, 8192, 901, 3, 2, 2, 2, 8193, 8194, 7, 1306, 2, 2, 8194, 8195, 7, 724, 2, 2, 8195, 8197, 5, 1446, 724, 2, 8196, 8198, 5, 768, 385, 2, 8197, 8196, 3, 2, 2, 2, 8197, 8198, 3, 2, 2, 2, 8198, 903, 3, 2, 2, 2, 8199, 8200, 7, 346, 2, 2, 8200, 8202, 5, 922, 462, 2, 8201, 8199, 3, 2, 2, 2, 8201, 8202, 3, 2, 2, 2, 8202, 8203, 3, 2, 2, 2, 8203, 8204, 7, 104, 2, 2, 8204, 8211, 5, 952, 477, 2, 8205, 8207, 7, 470, 2, 2, 8206, 8208, 5, 1002, 502, 2, 8207, 8206, 3, 2, 2, 2, 8208, 8209, 3, 2, 2, 2, 8209, 8207, 3, 2, 2, 2, 8209, 8210, 3, 2, 2, 2, 8210, 8212, 3, 2, 2, 2, 8211, 8205, 3, 2, 2, 2, 8211, 8212, 3, 2, 2, 2, 8212, 8213, 3, 2, 2, 2, 8213, 8214, 7, 447, 2, 2, 8214, 8215, 7, 2243, 2, 2, 8215, 905, 3, 2, 2, 2, 8216, 8217, 7, 82, 2, 2, 8217, 8218, 9, 87, 2, 2, 8218, 907, 3, 2, 2, 2, 8219, 8222, 7, 731, 2, 2, 8220, 8223, 5, 910, 456, 2, 8221, 8223, 5, 912, 457, 2, 8222, 8220, 3, 2, 2, 2, 8222, 8221, 3, 2, 2, 2, 8223, 909, 3, 2, 2, 2, 8224, 8225, 7, 702, 2, 2, 8225, 8226, 7, 881, 2, 2, 8226, 8227, 7, 2221, 2, 2, 8227, 911, 3, 2, 2, 2, 8228, 8231, 7, 192, 2, 2, 8229, 8230, 7, 881, 2, 2, 8230, 8232, 7, 2221, 2, 2, 8231, 8229, 3, 2, 2, 2, 8231, 8232, 3, 2, 2, 2, 8232, 8233, 3, 2, 2, 2, 8233, 8234, 7, 751, 2, 2, 8234, 8236, 5, 1488, 745, 2, 8235, 8237, 5, 914, 458, 2, 8236, 8235, 3, 2, 2, 2, 8236, 8237, 3, 2, 2, 2, 8237, 8240, 3, 2, 2, 2, 8238, 8239, 7, 2123, 2, 2, 8239, 8241, 7, 267, 2, 2, 8240, 8238, 3, 2, 2, 2, 8240, 8241, 3, 2, 2, 2, 8241, 8243, 3, 2, 2, 2, 8242, 8244, 5, 916, 459, 2, 8243, 8242, 3, 2, 2, 2, 8243, 8244, 3, 2, 2, 2, 8244, 913, 3, 2, 2, 2, 8245, 8246, 7, 33, 2, 2, 8246, 8247, 7, 654, 2, 2, 8247, 8248, 7, 2225, 2, 2, 8248, 8249, 5, 1234, 618, 2, 8249, 8250, 7, 2226, 2, 2, 8250, 915, 3, 2, 2, 2, 8251, 8252, 7, 1199, 2, 2, 8252, 8257, 7, 2225, 2, 2, 8253, 8258, 5, 1234, 618, 2, 8254, 8255, 7, 2218, 2, 2, 8255, 8256, 7, 2218, 2, 2, 8256, 8258, 7, 2218, 2, 2, 8257, 8253, 3, 2, 2, 2, 8257, 8254, 3, 2, 2, 2, 8258, 8259, 3, 2, 2, 2, 8259, 8260, 7, 2226, 2, 2, 8260, 917, 3, 2, 2, 2, 8261, 8265, 5, 1382, 692, 2, 8262, 8264, 9, 88, 2, 2, 8263, 8262, 3, 2, 2, 2, 8264, 8267, 3, 2, 2, 2, 8265, 8263, 3, 2, 2, 2, 8265, 8266, 3, 2, 2, 2, 8266, 8269, 3, 2, 2, 2, 8267, 8265, 3, 2, 2, 2, 8268, 8270, 5, 1460, 731, 2, 8269, 8268, 3, 2, 2, 2, 8269, 8270, 3, 2, 2, 2, 8270, 8272, 3, 2, 2, 2, 8271, 8273, 5, 920, 461, 2, 8272, 8271, 3, 2, 2, 2, 8272, 8273, 3, 2, 2, 2, 8273, 919, 3, 2, 2, 2, 8274, 8275, 9, 89, 2, 2, 8275, 8276, 5, 1236, 619, 2, 8276, 921, 3, 2, 2, 2, 8277, 8279, 5, 924, 463, 2, 8278, 8277, 3, 2, 2, 2, 8279, 8280, 3, 2, 2, 2, 8280, 8278, 3, 2, 2, 2, 8280, 8281, 3, 2, 2, 2, 8281, 923, 3, 2, 2, 2, 8282, 8293, 5, 936, 469, 2, 8283, 8293, 5, 926, 464, 2, 8284, 8293, 5, 928, 465, 2, 8285, 8293, 5, 930, 466, 2, 8286, 8293, 5, 934, 468, 2, 8287, 8293, 5, 944, 473, 2, 8288, 8293, 5, 34, 18, 2, 8289, 8293, 5, 36, 19, 2, 8290, 8293, 5, 46, 24, 2, 8291, 8293, 5, 44, 23, 2, 8292, 8282, 3, 2, 2, 2, 8292, 8283, 3, 2, 2, 2, 8292, 8284, 3, 2, 2, 2, 8292, 8285, 3, 2, 2, 2, 8292, 8286, 3, 2, 2, 2, 8292, 8287, 3, 2, 2, 2, 8292, 8288, 3, 2, 2, 2, 8292, 8289, 3, 2, 2, 2, 8292, 8290, 3, 2, 2, 2, 8292, 8291, 3, 2, 2, 2, 8293, 925, 3, 2, 2, 2, 8294, 8296, 5, 1488, 745, 2, 8295, 8297, 7, 257, 2, 2, 8296, 8295, 3, 2, 2, 2, 8296, 8297, 3, 2, 2, 2, 8297, 8298, 3, 2, 2, 2, 8298, 8301, 5, 1460, 731, 2, 8299, 8300, 7, 1075, 2, 2, 8300, 8302, 7, 1099, 2, 2, 8301, 8299, 3, 2, 2, 2, 8301, 8302, 3, 2, 2, 2, 8302, 8304, 3, 2, 2, 2, 8303, 8305, 5, 920, 461, 2, 8304, 8303, 3, 2, 2, 2, 8304, 8305, 3, 2, 2, 2, 8305, 8306, 3, 2, 2, 2, 8306, 8307, 7, 2243, 2, 2, 8307, 927, 3, 2, 2, 2, 8308, 8309, 7, 1618, 2, 2, 8309, 8310, 5, 1488, 745, 2, 8310, 8311, 7, 697, 2, 2, 8311, 8317, 5, 1460, 731, 2, 8312, 8313, 7, 1346, 2, 2, 8313, 8314, 5, 1236, 619, 2, 8314, 8315, 7, 2217, 2, 2, 8315, 8316, 5, 1236, 619, 2, 8316, 8318, 3, 2, 2, 2, 8317, 8312, 3, 2, 2, 2, 8317, 8318, 3, 2, 2, 2, 8318, 8321, 3, 2, 2, 2, 8319, 8320, 7, 1075, 2, 2, 8320, 8322, 7, 1099, 2, 2, 8321, 8319, 3, 2, 2, 2, 8321, 8322, 3, 2, 2, 2, 8322, 8323, 3, 2, 2, 2, 8323, 8324, 7, 2243, 2, 2, 8324, 929, 3, 2, 2, 2, 8325, 8326, 7, 311, 2, 2, 8326, 8338, 5, 1488, 745, 2, 8327, 8328, 7, 2225, 2, 2, 8328, 8333, 5, 932, 467, 2, 8329, 8330, 7, 2231, 2, 2, 8330, 8332, 5, 932, 467, 2, 8331, 8329, 3, 2, 2, 2, 8332, 8335, 3, 2, 2, 2, 8333, 8331, 3, 2, 2, 2, 8333, 8334, 3, 2, 2, 2, 8334, 8336, 3, 2, 2, 2, 8335, 8333, 3, 2, 2, 2, 8336, 8337, 7, 2226, 2, 2, 8337, 8339, 3, 2, 2, 2, 8338, 8327, 3, 2, 2, 2, 8338, 8339, 3, 2, 2, 2, 8339, 8342, 3, 2, 2, 2, 8340, 8341, 7, 1433, 2, 2, 8341, 8343, 5, 1460, 731, 2, 8342, 8340, 3, 2, 2, 2, 8342, 8343, 3, 2, 2, 2, 8343, 8346, 3, 2, 2, 2, 8344, 8345, 7, 697, 2, 2, 8345, 8347, 5, 1044, 523, 2, 8346, 8344, 3, 2, 2, 2, 8346, 8347, 3, 2, 2, 2, 8347, 8348, 3, 2, 2, 2, 8348, 8349, 7, 2243, 2, 2, 8349, 931, 3, 2, 2, 2, 8350, 8355, 5, 1382, 692, 2, 8351, 8353, 7, 654, 2, 2, 8352, 8351, 3, 2, 2, 2, 8352, 8353, 3, 2, 2, 2, 8353, 8354, 3, 2, 2, 2, 8354, 8356, 5, 1460, 731, 2, 8355, 8352, 3, 2, 2, 2, 8355, 8356, 3, 2, 2, 2, 8356, 8358, 3, 2, 2, 2, 8357, 8359, 5, 920, 461, 2, 8358, 8357, 3, 2, 2, 2, 8358, 8359, 3, 2, 2, 2, 8359, 933, 3, 2, 2, 2, 8360, 8361, 5, 1488, 745, 2, 8361, 8362, 7, 470, 2, 2, 8362, 8363, 7, 2243, 2, 2, 8363, 935, 3, 2, 2, 2, 8364, 8395, 7, 1289, 2, 2, 8365, 8396, 7, 1502, 2, 2, 8366, 8396, 7, 90, 2, 2, 8367, 8368, 7, 471, 2, 2, 8368, 8369, 7, 2225, 2, 2, 8369, 8370, 5, 1406, 704, 2, 8370, 8371, 7, 2231, 2, 2, 8371, 8372, 5, 1484, 743, 2, 8372, 8373, 7, 2226, 2, 2, 8373, 8396, 3, 2, 2, 2, 8374, 8375, 7, 660, 2, 2, 8375, 8376, 7, 2225, 2, 2, 8376, 8377, 5, 1488, 745, 2, 8377, 8378, 7, 2231, 2, 2, 8378, 8379, 5, 1236, 619, 2, 8379, 8380, 7, 2226, 2, 2, 8380, 8396, 3, 2, 2, 2, 8381, 8382, 7, 1424, 2, 2, 8382, 8385, 7, 2225, 2, 2, 8383, 8386, 5, 1488, 745, 2, 8384, 8386, 7, 353, 2, 2, 8385, 8383, 3, 2, 2, 2, 8385, 8384, 3, 2, 2, 2, 8386, 8389, 3, 2, 2, 2, 8387, 8388, 7, 2231, 2, 2, 8388, 8390, 5, 1488, 745, 2, 8389, 8387, 3, 2, 2, 2, 8390, 8391, 3, 2, 2, 2, 8391, 8389, 3, 2, 2, 2, 8391, 8392, 3, 2, 2, 2, 8392, 8393, 3, 2, 2, 2, 8393, 8394, 7, 2226, 2, 2, 8394, 8396, 3, 2, 2, 2, 8395, 8365, 3, 2, 2, 2, 8395, 8366, 3, 2, 2, 2, 8395, 8367, 3, 2, 2, 2, 8395, 8374, 3, 2, 2, 2, 8395, 8381, 3, 2, 2, 2, 8396, 8397, 3, 2, 2, 2, 8397, 8398, 7, 2243, 2, 2, 8398, 937, 3, 2, 2, 2, 8399, 8400, 7, 1361, 2, 2, 8400, 8401, 7, 2225, 2, 2, 8401, 8406, 5, 940, 471, 2, 8402, 8403, 7, 2231, 2, 2, 8403, 8405, 5, 940, 471, 2, 8404, 8402, 3, 2, 2, 2, 8405, 8408, 3, 2, 2, 2, 8406, 8404, 3, 2, 2, 2, 8406, 8407, 3, 2, 2, 2, 8407, 8409, 3, 2, 2, 2, 8408, 8406, 3, 2, 2, 2, 8409, 8410, 7, 2226, 2, 2, 8410, 939, 3, 2, 2, 2, 8411, 8413, 5, 1426, 714, 2, 8412, 8414, 5, 1460, 731, 2, 8413, 8412, 3, 2, 2, 2, 8413, 8414, 3, 2, 2, 2, 8414, 8417, 3, 2, 2, 2, 8415, 8416, 7, 1075, 2, 2, 8416, 8418, 7, 1099, 2, 2, 8417, 8415, 3, 2, 2, 2, 8417, 8418, 3, 2, 2, 2, 8418, 8420, 3, 2, 2, 2, 8419, 8421, 5, 920, 461, 2, 8420, 8419, 3, 2, 2, 2, 8420, 8421, 3, 2, 2, 2, 8421, 941, 3, 2, 2, 2, 8422, 8423, 7, 1378, 2, 2, 8423, 8426, 7, 311, 2, 2, 8424, 8425, 7, 1433, 2, 2, 8425, 8427, 5, 1460, 731, 2, 8426, 8424, 3, 2, 2, 2, 8426, 8427, 3, 2, 2, 2, 8427, 943, 3, 2, 2, 2, 8428, 8429, 7, 1989, 2, 2, 8429, 8430, 5, 1488, 745, 2, 8430, 8435, 7, 697, 2, 2, 8431, 8436, 5, 946, 474, 2, 8432, 8436, 5, 950, 476, 2, 8433, 8436, 5, 938, 470, 2, 8434, 8436, 5, 942, 472, 2, 8435, 8431, 3, 2, 2, 2, 8435, 8432, 3, 2, 2, 2, 8435, 8433, 3, 2, 2, 2, 8435, 8434, 3, 2, 2, 2, 8436, 8437, 3, 2, 2, 2, 8437, 8438, 7, 2243, 2, 2, 8438, 945, 3, 2, 2, 2, 8439, 8440, 7, 1914, 2, 2, 8440, 8441, 7, 1117, 2, 2, 8441, 8443, 5, 1460, 731, 2, 8442, 8444, 5, 948, 475, 2, 8443, 8442, 3, 2, 2, 2, 8443, 8444, 3, 2, 2, 2, 8444, 8447, 3, 2, 2, 2, 8445, 8446, 7, 1075, 2, 2, 8446, 8448, 7, 1099, 2, 2, 8447, 8445, 3, 2, 2, 2, 8447, 8448, 3, 2, 2, 2, 8448, 947, 3, 2, 2, 2, 8449, 8452, 7, 629, 2, 2, 8450, 8452, 7, 633, 2, 2, 8451, 8449, 3, 2, 2, 2, 8451, 8450, 3, 2, 2, 2, 8452, 8453, 3, 2, 2, 2, 8453, 8454, 7, 148, 2, 2, 8454, 8455, 5, 1460, 731, 2, 8455, 949, 3, 2, 2, 2, 8456, 8460, 7, 2082, 2, 2, 8457, 8458, 7, 2084, 2, 2, 8458, 8460, 7, 62, 2, 2, 8459, 8456, 3, 2, 2, 2, 8459, 8457, 3, 2, 2, 2, 8460, 8461, 3, 2, 2, 2, 8461, 8462, 7, 2225, 2, 2, 8462, 8463, 5, 1236, 619, 2, 8463, 8464, 7, 2226, 2, 2, 8464, 8465, 7, 1117, 2, 2, 8465, 8468, 5, 1460, 731, 2, 8466, 8467, 7, 1075, 2, 2, 8467, 8469, 7, 1099, 2, 2, 8468, 8466, 3, 2, 2, 2, 8468, 8469, 3, 2, 2, 2, 8469, 951, 3, 2, 2, 2, 8470, 8471, 5, 956, 479, 2, 8471, 8472, 9, 90, 2, 2, 8472, 8475, 3, 2, 2, 2, 8473, 8475, 5, 954, 478, 2, 8474, 8470, 3, 2, 2, 2, 8474, 8473, 3, 2, 2, 2, 8475, 8476, 3, 2, 2, 2, 8476, 8474, 3, 2, 2, 2, 8476, 8477, 3, 2, 2, 2, 8477, 953, 3, 2, 2, 2, 8478, 8479, 7, 2241, 2, 2, 8479, 8480, 7, 2241, 2, 2, 8480, 8481, 5, 1400, 701, 2, 8481, 8482, 7, 2240, 2, 2, 8482, 8483, 7, 2240, 2, 2, 8483, 955, 3, 2, 2, 2, 8484, 8502, 5, 1000, 501, 2, 8485, 8502, 5, 1006, 504, 2, 8486, 8502, 5, 960, 481, 2, 8487, 8502, 5, 962, 482, 2, 8488, 8502, 5, 964, 483, 2, 8489, 8502, 5, 966, 484, 2, 8490, 8502, 5, 968, 485, 2, 8491, 8502, 5, 974, 488, 2, 8492, 8502, 5, 978, 490, 2, 8493, 8502, 5, 988, 495, 2, 8494, 8502, 5, 990, 496, 2, 8495, 8502, 5, 992, 497, 2, 8496, 8502, 5, 1272, 637, 2, 8497, 8502, 5, 1008, 505, 2, 8498, 8502, 5, 994, 498, 2, 8499, 8502, 5, 998, 500, 2, 8500, 8502, 5, 996, 499, 2, 8501, 8484, 3, 2, 2, 2, 8501, 8485, 3, 2, 2, 2, 8501, 8486, 3, 2, 2, 2, 8501, 8487, 3, 2, 2, 2, 8501, 8488, 3, 2, 2, 2, 8501, 8489, 3, 2, 2, 2, 8501, 8490, 3, 2, 2, 2, 8501, 8491, 3, 2, 2, 2, 8501, 8492, 3, 2, 2, 2, 8501, 8493, 3, 2, 2, 2, 8501, 8494, 3, 2, 2, 2, 8501, 8495, 3, 2, 2, 2, 8501, 8496, 3, 2, 2, 2, 8501, 8497, 3, 2, 2, 2, 8501, 8498, 3, 2, 2, 2, 8501, 8499, 3, 2, 2, 2, 8501, 8500, 3, 2, 2, 2, 8502, 957, 3, 2, 2, 2, 8503, 8505, 10, 91, 2, 2, 8504, 8503, 3, 2, 2, 2, 8505, 8506, 3, 2, 2, 2, 8506, 8504, 3, 2, 2, 2, 8506, 8507, 3, 2, 2, 2, 8507, 959, 3, 2, 2, 2, 8508, 8511, 5, 1470, 736, 2, 8509, 8511, 5, 1468, 735, 2, 8510, 8508, 3, 2, 2, 2, 8510, 8509, 3, 2, 2, 2, 8511, 8512, 3, 2, 2, 2, 8512, 8513, 7, 2234, 2, 2, 8513, 8514, 5, 1236, 619, 2, 8514, 961, 3, 2, 2, 2, 8515, 8517, 7, 268, 2, 2, 8516, 8518, 5, 1400, 701, 2, 8517, 8516, 3, 2, 2, 2, 8517, 8518, 3, 2, 2, 2, 8518, 8521, 3, 2, 2, 2, 8519, 8520, 7, 2115, 2, 2, 8520, 8522, 5, 1232, 617, 2, 8521, 8519, 3, 2, 2, 2, 8521, 8522, 3, 2, 2, 2, 8522, 963, 3, 2, 2, 2, 8523, 8525, 7, 482, 2, 2, 8524, 8526, 5, 1400, 701, 2, 8525, 8524, 3, 2, 2, 2, 8525, 8526, 3, 2, 2, 2, 8526, 8529, 3, 2, 2, 2, 8527, 8528, 7, 2115, 2, 2, 8528, 8530, 5, 1232, 617, 2, 8529, 8527, 3, 2, 2, 2, 8529, 8530, 3, 2, 2, 2, 8530, 965, 3, 2, 2, 2, 8531, 8532, 7, 572, 2, 2, 8532, 8533, 5, 1400, 701, 2, 8533, 967, 3, 2, 2, 2, 8534, 8535, 7, 609, 2, 2, 8535, 8536, 5, 1232, 617, 2, 8536, 8537, 7, 1927, 2, 2, 8537, 8541, 5, 952, 477, 2, 8538, 8540, 5, 970, 486, 2, 8539, 8538, 3, 2, 2, 2, 8540, 8543, 3, 2, 2, 2, 8541, 8539, 3, 2, 2, 2, 8541, 8542, 3, 2, 2, 2, 8542, 8545, 3, 2, 2, 2, 8543, 8541, 3, 2, 2, 2, 8544, 8546, 5, 972, 487, 2, 8545, 8544, 3, 2, 2, 2, 8545, 8546, 3, 2, 2, 2, 8546, 8547, 3, 2, 2, 2, 8547, 8548, 7, 447, 2, 2, 8548, 8549, 7, 609, 2, 2, 8549, 969, 3, 2, 2, 2, 8550, 8551, 7, 435, 2, 2, 8551, 8552, 5, 1232, 617, 2, 8552, 8553, 7, 1927, 2, 2, 8553, 8554, 5, 952, 477, 2, 8554, 971, 3, 2, 2, 2, 8555, 8556, 7, 434, 2, 2, 8556, 8557, 5, 952, 477, 2, 8557, 973, 3, 2, 2, 2, 8558, 8560, 5, 954, 478, 2, 8559, 8558, 3, 2, 2, 2, 8559, 8560, 3, 2, 2, 2, 8560, 8565, 3, 2, 2, 2, 8561, 8562, 7, 2117, 2, 2, 8562, 8566, 5, 1232, 617, 2, 8563, 8564, 7, 548, 2, 2, 8564, 8566, 5, 976, 489, 2, 8565, 8561, 3, 2, 2, 2, 8565, 8563, 3, 2, 2, 2, 8565, 8566, 3, 2, 2, 2, 8566, 8567, 3, 2, 2, 2, 8567, 8568, 7, 791, 2, 2, 8568, 8569, 5, 952, 477, 2, 8569, 8570, 7, 447, 2, 2, 8570, 8572, 7, 791, 2, 2, 8571, 8573, 5, 1400, 701, 2, 8572, 8571, 3, 2, 2, 2, 8572, 8573, 3, 2, 2, 2, 8573, 975, 3, 2, 2, 2, 8574, 8575, 5, 1416, 709, 2, 8575, 8577, 7, 654, 2, 2, 8576, 8578, 7, 1435, 2, 2, 8577, 8576, 3, 2, 2, 2, 8577, 8578, 3, 2, 2, 2, 8578, 8579, 3, 2, 2, 2, 8579, 8580, 5, 984, 493, 2, 8580, 8581, 7, 2217, 2, 2, 8581, 8582, 5, 986, 494, 2, 8582, 8600, 3, 2, 2, 2, 8583, 8584, 5, 1420, 711, 2, 8584, 8597, 7, 654, 2, 2, 8585, 8591, 5, 1418, 710, 2, 8586, 8588, 7, 2225, 2, 2, 8587, 8589, 5, 1234, 618, 2, 8588, 8587, 3, 2, 2, 2, 8588, 8589, 3, 2, 2, 2, 8589, 8590, 3, 2, 2, 2, 8590, 8592, 7, 2226, 2, 2, 8591, 8586, 3, 2, 2, 2, 8591, 8592, 3, 2, 2, 2, 8592, 8598, 3, 2, 2, 2, 8593, 8594, 7, 2225, 2, 2, 8594, 8595, 5, 1044, 523, 2, 8595, 8596, 7, 2226, 2, 2, 8596, 8598, 3, 2, 2, 2, 8597, 8585, 3, 2, 2, 2, 8597, 8593, 3, 2, 2, 2, 8598, 8600, 3, 2, 2, 2, 8599, 8574, 3, 2, 2, 2, 8599, 8583, 3, 2, 2, 2, 8600, 977, 3, 2, 2, 2, 8601, 8602, 7, 543, 2, 2, 8602, 8603, 5, 1416, 709, 2, 8603, 8604, 7, 654, 2, 2, 8604, 8605, 5, 980, 491, 2, 8605, 8608, 5, 1008, 505, 2, 8606, 8607, 7, 1464, 2, 2, 8607, 8609, 7, 472, 2, 2, 8608, 8606, 3, 2, 2, 2, 8608, 8609, 3, 2, 2, 2, 8609, 979, 3, 2, 2, 2, 8610, 8611, 5, 984, 493, 2, 8611, 8612, 7, 2217, 2, 2, 8612, 8613, 5, 986, 494, 2, 8613, 8624, 3, 2, 2, 2, 8614, 8615, 7, 650, 2, 2, 8615, 8616, 7, 1117, 2, 2, 8616, 8618, 5, 1422, 712, 2, 8617, 8619, 5, 982, 492, 2, 8618, 8617, 3, 2, 2, 2, 8618, 8619, 3, 2, 2, 2, 8619, 8624, 3, 2, 2, 2, 8620, 8621, 7, 2075, 2, 2, 8621, 8622, 7, 1117, 2, 2, 8622, 8624, 5, 1416, 709, 2, 8623, 8610, 3, 2, 2, 2, 8623, 8614, 3, 2, 2, 2, 8623, 8620, 3, 2, 2, 2, 8624, 981, 3, 2, 2, 2, 8625, 8626, 7, 109, 2, 2, 8626, 8627, 5, 984, 493, 2, 8627, 8628, 7, 45, 2, 2, 8628, 8629, 5, 986, 494, 2, 8629, 983, 3, 2, 2, 2, 8630, 8631, 5, 1258, 630, 2, 8631, 985, 3, 2, 2, 2, 8632, 8633, 5, 1258, 630, 2, 8633, 987, 3, 2, 2, 2, 8634, 8635, 7, 1099, 2, 2, 8635, 989, 3, 2, 2, 2, 8636, 8638, 7, 1343, 2, 2, 8637, 8639, 5, 1406, 704, 2, 8638, 8637, 3, 2, 2, 2, 8638, 8639, 3, 2, 2, 2, 8639, 991, 3, 2, 2, 2, 8640, 8642, 7, 1433, 2, 2, 8641, 8643, 5, 1236, 619, 2, 8642, 8641, 3, 2, 2, 2, 8642, 8643, 3, 2, 2, 2, 8643, 993, 3, 2, 2, 2, 8644, 8646, 7, 159, 2, 2, 8645, 8644, 3, 2, 2, 2, 8645, 8646, 3, 2, 2, 2, 8646, 8647, 3, 2, 2, 2, 8647, 8649, 5, 1376, 689, 2, 8648, 8650, 5, 1450, 726, 2, 8649, 8648, 3, 2, 2, 2, 8649, 8650, 3, 2, 2, 2, 8650, 995, 3, 2, 2, 2, 8651, 8653, 5, 1376, 689, 2, 8652, 8654, 5, 1450, 726, 2, 8653, 8652, 3, 2, 2, 2, 8653, 8654, 3, 2, 2, 2, 8654, 997, 3, 2, 2, 2, 8655, 8656, 7, 1253, 2, 2, 8656, 8657, 7, 1453, 2, 2, 8657, 8658, 7, 2225, 2, 2, 8658, 8659, 5, 1236, 619, 2, 8659, 8660, 7, 2226, 2, 2, 8660, 999, 3, 2, 2, 2, 8661, 8662, 7, 104, 2, 2, 8662, 8669, 5, 952, 477, 2, 8663, 8665, 7, 470, 2, 2, 8664, 8666, 5, 1002, 502, 2, 8665, 8664, 3, 2, 2, 2, 8666, 8667, 3, 2, 2, 2, 8667, 8665, 3, 2, 2, 2, 8667, 8668, 3, 2, 2, 2, 8668, 8670, 3, 2, 2, 2, 8669, 8663, 3, 2, 2, 2, 8669, 8670, 3, 2, 2, 2, 8670, 8671, 3, 2, 2, 2, 8671, 8673, 7, 447, 2, 2, 8672, 8674, 5, 1400, 701, 2, 8673, 8672, 3, 2, 2, 2, 8673, 8674, 3, 2, 2, 2, 8674, 1001, 3, 2, 2, 2, 8675, 8676, 7, 2115, 2, 2, 8676, 8681, 5, 1406, 704, 2, 8677, 8678, 7, 1174, 2, 2, 8678, 8680, 5, 1406, 704, 2, 8679, 8677, 3, 2, 2, 2, 8680, 8683, 3, 2, 2, 2, 8681, 8679, 3, 2, 2, 2, 8681, 8682, 3, 2, 2, 2, 8682, 8684, 3, 2, 2, 2, 8683, 8681, 3, 2, 2, 2, 8684, 8685, 7, 1927, 2, 2, 8685, 8686, 5, 952, 477, 2, 8686, 1003, 3, 2, 2, 2, 8687, 8689, 7, 346, 2, 2, 8688, 8687, 3, 2, 2, 2, 8688, 8689, 3, 2, 2, 2, 8689, 8691, 3, 2, 2, 2, 8690, 8692, 5, 924, 463, 2, 8691, 8690, 3, 2, 2, 2, 8692, 8693, 3, 2, 2, 2, 8693, 8691, 3, 2, 2, 2, 8693, 8694, 3, 2, 2, 2, 8694, 8696, 3, 2, 2, 2, 8695, 8688, 3, 2, 2, 2, 8695, 8696, 3, 2, 2, 2, 8696, 8697, 3, 2, 2, 2, 8697, 8698, 5, 1000, 501, 2, 8698, 1005, 3, 2, 2, 2, 8699, 8701, 7, 346, 2, 2, 8700, 8699, 3, 2, 2, 2, 8700, 8701, 3, 2, 2, 2, 8701, 8703, 3, 2, 2, 2, 8702, 8704, 5, 924, 463, 2, 8703, 8702, 3, 2, 2, 2, 8704, 8705, 3, 2, 2, 2, 8705, 8703, 3, 2, 2, 2, 8705, 8706, 3, 2, 2, 2, 8706, 8707, 3, 2, 2, 2, 8707, 8708, 5, 1000, 501, 2, 8708, 1007, 3, 2, 2, 2, 8709, 8714, 5, 1010, 506, 2, 8710, 8714, 5, 1014, 508, 2, 8711, 8714, 5, 1016, 509, 2, 8712, 8714, 5, 1026, 514, 2, 8713, 8709, 3, 2, 2, 2, 8713, 8710, 3, 2, 2, 2, 8713, 8711, 3, 2, 2, 2, 8713, 8712, 3, 2, 2, 2, 8714, 1009, 3, 2, 2, 2, 8715, 8716, 7, 477, 2, 2, 8716, 8717, 7, 615, 2, 2, 8717, 8727, 5, 1236, 619, 2, 8718, 8720, 5, 1360, 681, 2, 8719, 8721, 5, 1314, 658, 2, 8720, 8719, 3, 2, 2, 2, 8720, 8721, 3, 2, 2, 2, 8721, 8728, 3, 2, 2, 2, 8722, 8724, 5, 1314, 658, 2, 8723, 8725, 5, 1012, 507, 2, 8724, 8723, 3, 2, 2, 2, 8724, 8725, 3, 2, 2, 2, 8725, 8728, 3, 2, 2, 2, 8726, 8728, 5, 1012, 507, 2, 8727, 8718, 3, 2, 2, 2, 8727, 8722, 3, 2, 2, 2, 8727, 8726, 3, 2, 2, 2, 8727, 8728, 3, 2, 2, 2, 8728, 1011, 3, 2, 2, 2, 8729, 8730, 9, 92, 2, 2, 8730, 8731, 5, 1360, 681, 2, 8731, 1013, 3, 2, 2, 2, 8732, 8740, 5, 1192, 597, 2, 8733, 8740, 5, 1204, 603, 2, 8734, 8740, 5, 1044, 523, 2, 8735, 8740, 5, 1166, 584, 2, 8736, 8740, 5, 1172, 587, 2, 8737, 8740, 5, 1174, 588, 2, 8738, 8740, 5, 1040, 521, 2, 8739, 8732, 3, 2, 2, 2, 8739, 8733, 3, 2, 2, 2, 8739, 8734, 3, 2, 2, 2, 8739, 8735, 3, 2, 2, 2, 8739, 8736, 3, 2, 2, 2, 8739, 8737, 3, 2, 2, 2, 8739, 8738, 3, 2, 2, 2, 8740, 1015, 3, 2, 2, 2, 8741, 8746, 5, 1018, 510, 2, 8742, 8746, 5, 1020, 511, 2, 8743, 8746, 5, 1022, 512, 2, 8744, 8746, 5, 1024, 513, 2, 8745, 8741, 3, 2, 2, 2, 8745, 8742, 3, 2, 2, 2, 8745, 8743, 3, 2, 2, 2, 8745, 8744, 3, 2, 2, 2, 8746, 1017, 3, 2, 2, 2, 8747, 8748, 7, 197, 2, 2, 8748, 8749, 5, 1418, 710, 2, 8749, 1019, 3, 2, 2, 2, 8750, 8751, 7, 1135, 2, 2, 8751, 8757, 5, 1418, 710, 2, 8752, 8754, 7, 2225, 2, 2, 8753, 8755, 5, 1234, 618, 2, 8754, 8753, 3, 2, 2, 2, 8754, 8755, 3, 2, 2, 2, 8755, 8756, 3, 2, 2, 2, 8756, 8758, 7, 2226, 2, 2, 8757, 8752, 3, 2, 2, 2, 8757, 8758, 3, 2, 2, 2, 8758, 1021, 3, 2, 2, 2, 8759, 8760, 7, 520, 2, 2, 8760, 8781, 5, 1418, 710, 2, 8761, 8762, 7, 693, 2, 2, 8762, 8767, 5, 1414, 708, 2, 8763, 8764, 7, 2231, 2, 2, 8764, 8766, 5, 1414, 708, 2, 8765, 8763, 3, 2, 2, 2, 8766, 8769, 3, 2, 2, 2, 8767, 8765, 3, 2, 2, 2, 8767, 8768, 3, 2, 2, 2, 8768, 8782, 3, 2, 2, 2, 8769, 8767, 3, 2, 2, 2, 8770, 8771, 7, 147, 2, 2, 8771, 8772, 7, 212, 2, 2, 8772, 8773, 7, 693, 2, 2, 8773, 8778, 5, 1414, 708, 2, 8774, 8775, 7, 2231, 2, 2, 8775, 8777, 5, 1414, 708, 2, 8776, 8774, 3, 2, 2, 2, 8777, 8780, 3, 2, 2, 2, 8778, 8776, 3, 2, 2, 2, 8778, 8779, 3, 2, 2, 2, 8779, 8782, 3, 2, 2, 2, 8780, 8778, 3, 2, 2, 2, 8781, 8761, 3, 2, 2, 2, 8781, 8770, 3, 2, 2, 2, 8782, 1023, 3, 2, 2, 2, 8783, 8784, 7, 1135, 2, 2, 8784, 8785, 5, 1414, 708, 2, 8785, 8788, 7, 548, 2, 2, 8786, 8789, 5, 1044, 523, 2, 8787, 8789, 5, 1236, 619, 2, 8788, 8786, 3, 2, 2, 2, 8788, 8787, 3, 2, 2, 2, 8789, 8791, 3, 2, 2, 2, 8790, 8792, 5, 1314, 658, 2, 8791, 8790, 3, 2, 2, 2, 8791, 8792, 3, 2, 2, 2, 8792, 1025, 3, 2, 2, 2, 8793, 8799, 5, 1028, 515, 2, 8794, 8799, 5, 1030, 516, 2, 8795, 8799, 5, 1032, 517, 2, 8796, 8799, 5, 1036, 519, 2, 8797, 8799, 5, 1038, 520, 2, 8798, 8793, 3, 2, 2, 2, 8798, 8794, 3, 2, 2, 2, 8798, 8795, 3, 2, 2, 2, 8798, 8796, 3, 2, 2, 2, 8798, 8797, 3, 2, 2, 2, 8799, 1027, 3, 2, 2, 2, 8800, 8801, 7, 1512, 2, 2, 8801, 8815, 7, 1972, 2, 2, 8802, 8803, 7, 1355, 2, 2, 8803, 8816, 9, 38, 2, 2, 8804, 8805, 7, 698, 2, 2, 8805, 8809, 7, 749, 2, 2, 8806, 8810, 7, 1501, 2, 2, 8807, 8808, 7, 1355, 2, 2, 8808, 8810, 7, 221, 2, 2, 8809, 8806, 3, 2, 2, 2, 8809, 8807, 3, 2, 2, 2, 8810, 8816, 3, 2, 2, 2, 8811, 8812, 7, 2061, 2, 2, 8812, 8813, 7, 1443, 2, 2, 8813, 8814, 7, 1490, 2, 2, 8814, 8816, 5, 1370, 686, 2, 8815, 8802, 3, 2, 2, 2, 8815, 8804, 3, 2, 2, 2, 8815, 8811, 3, 2, 2, 2, 8815, 8816, 3, 2, 2, 2, 8816, 8819, 3, 2, 2, 2, 8817, 8818, 7, 881, 2, 2, 8818, 8820, 5, 1486, 744, 2, 8819, 8817, 3, 2, 2, 2, 8819, 8820, 3, 2, 2, 2, 8820, 1029, 3, 2, 2, 2, 8821, 8822, 7, 1512, 2, 2, 8822, 8832, 9, 93, 2, 2, 8823, 8833, 7, 37, 2, 2, 8824, 8829, 5, 1398, 700, 2, 8825, 8826, 7, 2231, 2, 2, 8826, 8828, 5, 1398, 700, 2, 8827, 8825, 3, 2, 2, 2, 8828, 8831, 3, 2, 2, 2, 8829, 8827, 3, 2, 2, 2, 8829, 8830, 3, 2, 2, 2, 8830, 8833, 3, 2, 2, 2, 8831, 8829, 3, 2, 2, 2, 8832, 8823, 3, 2, 2, 2, 8832, 8824, 3, 2, 2, 2, 8833, 8834, 3, 2, 2, 2, 8834, 8835, 9, 40, 2, 2, 8835, 1031, 3, 2, 2, 2, 8836, 8838, 7, 220, 2, 2, 8837, 8839, 7, 2124, 2, 2, 8838, 8837, 3, 2, 2, 2, 8838, 8839, 3, 2, 2, 2, 8839, 8853, 3, 2, 2, 2, 8840, 8841, 7, 219, 2, 2, 8841, 8854, 5, 1236, 619, 2, 8842, 8851, 7, 544, 2, 2, 8843, 8844, 7, 278, 2, 2, 8844, 8852, 5, 1236, 619, 2, 8845, 8852, 7, 277, 2, 2, 8846, 8849, 5, 1236, 619, 2, 8847, 8848, 7, 2231, 2, 2, 8848, 8850, 5, 1236, 619, 2, 8849, 8847, 3, 2, 2, 2, 8849, 8850, 3, 2, 2, 2, 8850, 8852, 3, 2, 2, 2, 8851, 8843, 3, 2, 2, 2, 8851, 8845, 3, 2, 2, 2, 8851, 8846, 3, 2, 2, 2, 8852, 8854, 3, 2, 2, 2, 8853, 8840, 3, 2, 2, 2, 8853, 8842, 3, 2, 2, 2, 8853, 8854, 3, 2, 2, 2, 8854, 8856, 3, 2, 2, 2, 8855, 8857, 5, 1034, 518, 2, 8856, 8855, 3, 2, 2, 2, 8856, 8857, 3, 2, 2, 2, 8857, 1033, 3, 2, 2, 2, 8858, 8860, 7, 2127, 2, 2, 8859, 8861, 9, 76, 2, 2, 8860, 8859, 3, 2, 2, 2, 8860, 8861, 3, 2, 2, 2, 8861, 8863, 3, 2, 2, 2, 8862, 8864, 9, 94, 2, 2, 8863, 8862, 3, 2, 2, 2, 8863, 8864, 3, 2, 2, 2, 8864, 1035, 3, 2, 2, 2, 8865, 8867, 7, 1443, 2, 2, 8866, 8868, 7, 2124, 2, 2, 8867, 8866, 3, 2, 2, 2, 8867, 8868, 3, 2, 2, 2, 8868, 8876, 3, 2, 2, 2, 8869, 8871, 7, 1966, 2, 2, 8870, 8872, 7, 1463, 2, 2, 8871, 8870, 3, 2, 2, 2, 8871, 8872, 3, 2, 2, 2, 8872, 8873, 3, 2, 2, 2, 8873, 8877, 5, 1368, 685, 2, 8874, 8875, 7, 544, 2, 2, 8875, 8877, 5, 1486, 744, 2, 8876, 8869, 3, 2, 2, 2, 8876, 8874, 3, 2, 2, 2, 8876, 8877, 3, 2, 2, 2, 8877, 1037, 3, 2, 2, 2, 8878, 8879, 7, 1463, 2, 2, 8879, 8880, 5, 1368, 685, 2, 8880, 1039, 3, 2, 2, 2, 8881, 8882, 7, 487, 2, 2, 8882, 8887, 7, 1259, 2, 2, 8883, 8884, 7, 1512, 2, 2, 8884, 8885, 7, 1573, 2, 2, 8885, 8886, 7, 2245, 2, 2, 8886, 8888, 5, 1486, 744, 2, 8887, 8883, 3, 2, 2, 2, 8887, 8888, 3, 2, 2, 2, 8888, 8891, 3, 2, 2, 2, 8889, 8890, 7, 693, 2, 2, 8890, 8892, 5, 1428, 715, 2, 8891, 8889, 3, 2, 2, 2, 8891, 8892, 3, 2, 2, 2, 8892, 8893, 3, 2, 2, 2, 8893, 8899, 7, 548, 2, 2, 8894, 8900, 5, 1044, 523, 2, 8895, 8900, 5, 1166, 584, 2, 8896, 8900, 5, 1172, 587, 2, 8897, 8900, 5, 1174, 588, 2, 8898, 8900, 5, 1192, 597, 2, 8899, 8894, 3, 2, 2, 2, 8899, 8895, 3, 2, 2, 2, 8899, 8896, 3, 2, 2, 2, 8899, 8897, 3, 2, 2, 2, 8899, 8898, 3, 2, 2, 2, 8900, 1041, 3, 2, 2, 2, 8901, 8903, 5, 1046, 524, 2, 8902, 8901, 3, 2, 2, 2, 8902, 8903, 3, 2, 2, 2, 8903, 8904, 3, 2, 2, 2, 8904, 8905, 5, 1054, 528, 2, 8905, 1043, 3, 2, 2, 2, 8906, 8913, 5, 1042, 522, 2, 8907, 8912, 5, 1160, 581, 2, 8908, 8912, 5, 1152, 577, 2, 8909, 8912, 5, 1156, 579, 2, 8910, 8912, 5, 1158, 580, 2, 8911, 8907, 3, 2, 2, 2, 8911, 8908, 3, 2, 2, 2, 8911, 8909, 3, 2, 2, 2, 8911, 8910, 3, 2, 2, 2, 8912, 8915, 3, 2, 2, 2, 8913, 8911, 3, 2, 2, 2, 8913, 8914, 3, 2, 2, 2, 8914, 1045, 3, 2, 2, 2, 8915, 8913, 3, 2, 2, 2, 8916, 8917, 7, 2123, 2, 2, 8917, 8922, 5, 1048, 525, 2, 8918, 8919, 7, 2231, 2, 2, 8919, 8921, 5, 1048, 525, 2, 8920, 8918, 3, 2, 2, 2, 8921, 8924, 3, 2, 2, 2, 8922, 8920, 3, 2, 2, 2, 8922, 8923, 3, 2, 2, 2, 8923, 1047, 3, 2, 2, 2, 8924, 8922, 3, 2, 2, 2, 8925, 8927, 5, 1392, 697, 2, 8926, 8928, 5, 1446, 724, 2, 8927, 8926, 3, 2, 2, 2, 8927, 8928, 3, 2, 2, 2, 8928, 8929, 3, 2, 2, 2, 8929, 8930, 7, 63, 2, 2, 8930, 8931, 7, 2225, 2, 2, 8931, 8933, 5, 1054, 528, 2, 8932, 8934, 5, 1152, 577, 2, 8933, 8932, 3, 2, 2, 2, 8933, 8934, 3, 2, 2, 2, 8934, 8935, 3, 2, 2, 2, 8935, 8937, 7, 2226, 2, 2, 8936, 8938, 5, 1050, 526, 2, 8937, 8936, 3, 2, 2, 2, 8937, 8938, 3, 2, 2, 2, 8938, 8940, 3, 2, 2, 2, 8939, 8941, 5, 1052, 527, 2, 8940, 8939, 3, 2, 2, 2, 8940, 8941, 3, 2, 2, 2, 8941, 1049, 3, 2, 2, 2, 8942, 8943, 7, 1481, 2, 2, 8943, 8944, 9, 95, 2, 2, 8944, 8945, 7, 528, 2, 2, 8945, 8946, 7, 148, 2, 2, 8946, 8948, 5, 1426, 714, 2, 8947, 8949, 7, 64, 2, 2, 8948, 8947, 3, 2, 2, 2, 8948, 8949, 3, 2, 2, 2, 8949, 8951, 3, 2, 2, 2, 8950, 8952, 7, 373, 2, 2, 8951, 8950, 3, 2, 2, 2, 8951, 8952, 3, 2, 2, 2, 8952, 8955, 3, 2, 2, 2, 8953, 8954, 7, 1100, 2, 2, 8954, 8956, 7, 528, 2, 2, 8955, 8953, 3, 2, 2, 2, 8955, 8956, 3, 2, 2, 2, 8956, 8959, 3, 2, 2, 2, 8957, 8958, 7, 1100, 2, 2, 8958, 8960, 7, 733, 2, 2, 8959, 8957, 3, 2, 2, 2, 8959, 8960, 3, 2, 2, 2, 8960, 8979, 3, 2, 2, 2, 8961, 8962, 7, 2231, 2, 2, 8962, 8964, 5, 1426, 714, 2, 8963, 8965, 7, 64, 2, 2, 8964, 8963, 3, 2, 2, 2, 8964, 8965, 3, 2, 2, 2, 8965, 8967, 3, 2, 2, 2, 8966, 8968, 7, 373, 2, 2, 8967, 8966, 3, 2, 2, 2, 8967, 8968, 3, 2, 2, 2, 8968, 8971, 3, 2, 2, 2, 8969, 8970, 7, 1100, 2, 2, 8970, 8972, 7, 528, 2, 2, 8971, 8969, 3, 2, 2, 2, 8971, 8972, 3, 2, 2, 2, 8972, 8975, 3, 2, 2, 2, 8973, 8974, 7, 1100, 2, 2, 8974, 8976, 7, 733, 2, 2, 8975, 8973, 3, 2, 2, 2, 8975, 8976, 3, 2, 2, 2, 8976, 8978, 3, 2, 2, 2, 8977, 8961, 3, 2, 2, 2, 8978, 8981, 3, 2, 2, 2, 8979, 8977, 3, 2, 2, 2, 8979, 8980, 3, 2, 2, 2, 8980, 8982, 3, 2, 2, 2, 8981, 8979, 3, 2, 2, 2, 8982, 8983, 7, 1512, 2, 2, 8983, 8984, 5, 1426, 714, 2, 8984, 1051, 3, 2, 2, 2, 8985, 8986, 7, 316, 2, 2, 8986, 8987, 5, 1444, 723, 2, 8987, 8988, 7, 1512, 2, 2, 8988, 8989, 5, 1426, 714, 2, 8989, 8990, 7, 1966, 2, 2, 8990, 8991, 5, 1236, 619, 2, 8991, 8992, 7, 353, 2, 2, 8992, 8993, 5, 1236, 619, 2, 8993, 1053, 3, 2, 2, 2, 8994, 8998, 5, 1056, 529, 2, 8995, 8997, 5, 1058, 530, 2, 8996, 8995, 3, 2, 2, 2, 8997, 9000, 3, 2, 2, 2, 8998, 8996, 3, 2, 2, 2, 8998, 8999, 3, 2, 2, 2, 8999, 1055, 3, 2, 2, 2, 9000, 8998, 3, 2, 2, 2, 9001, 9007, 5, 1060, 531, 2, 9002, 9003, 7, 2225, 2, 2, 9003, 9004, 5, 1054, 528, 2, 9004, 9005, 7, 2226, 2, 2, 9005, 9007, 3, 2, 2, 2, 9006, 9001, 3, 2, 2, 2, 9006, 9002, 3, 2, 2, 2, 9007, 1057, 3, 2, 2, 2, 9008, 9010, 7, 2003, 2, 2, 9009, 9011, 7, 37, 2, 2, 9010, 9009, 3, 2, 2, 2, 9010, 9011, 3, 2, 2, 2, 9011, 9015, 3, 2, 2, 2, 9012, 9015, 7, 690, 2, 2, 9013, 9015, 7, 844, 2, 2, 9014, 9008, 3, 2, 2, 2, 9014, 9012, 3, 2, 2, 2, 9014, 9013, 3, 2, 2, 2, 9015, 9016, 3, 2, 2, 2, 9016, 9017, 5, 1056, 529, 2, 9017, 1059, 3, 2, 2, 2, 9018, 9020, 7, 1492, 2, 2, 9019, 9021, 9, 96, 2, 2, 9020, 9019, 3, 2, 2, 2, 9020, 9021, 3, 2, 2, 2, 9021, 9022, 3, 2, 2, 2, 9022, 9024, 5, 1062, 532, 2, 9023, 9025, 5, 1360, 681, 2, 9024, 9023, 3, 2, 2, 2, 9024, 9025, 3, 2, 2, 2, 9025, 9026, 3, 2, 2, 2, 9026, 9028, 5, 1064, 533, 2, 9027, 9029, 5, 1358, 680, 2, 9028, 9027, 3, 2, 2, 2, 9028, 9029, 3, 2, 2, 2, 9029, 9031, 3, 2, 2, 2, 9030, 9032, 5, 1106, 554, 2, 9031, 9030, 3, 2, 2, 2, 9031, 9032, 3, 2, 2, 2, 9032, 9034, 3, 2, 2, 2, 9033, 9035, 5, 1110, 556, 2, 9034, 9033, 3, 2, 2, 2, 9034, 9035, 3, 2, 2, 2, 9035, 9037, 3, 2, 2, 2, 9036, 9038, 5, 1122, 562, 2, 9037, 9036, 3, 2, 2, 2, 9037, 9038, 3, 2, 2, 2, 9038, 9040, 3, 2, 2, 2, 9039, 9041, 5, 1152, 577, 2, 9040, 9039, 3, 2, 2, 2, 9040, 9041, 3, 2, 2, 2, 9041, 1061, 3, 2, 2, 2, 9042, 9052, 7, 2228, 2, 2, 9043, 9048, 5, 1066, 534, 2, 9044, 9045, 7, 2231, 2, 2, 9045, 9047, 5, 1066, 534, 2, 9046, 9044, 3, 2, 2, 2, 9047, 9050, 3, 2, 2, 2, 9048, 9046, 3, 2, 2, 2, 9048, 9049, 3, 2, 2, 2, 9049, 9052, 3, 2, 2, 2, 9050, 9048, 3, 2, 2, 2, 9051, 9042, 3, 2, 2, 2, 9051, 9043, 3, 2, 2, 2, 9052, 1063, 3, 2, 2, 2, 9053, 9054, 7, 556, 2, 2, 9054, 9055, 5, 1068, 535, 2, 9055, 1065, 3, 2, 2, 2, 9056, 9057, 5, 1428, 715, 2, 9057, 9058, 7, 2218, 2, 2, 9058, 9059, 7, 2228, 2, 2, 9059, 9065, 3, 2, 2, 2, 9060, 9062, 5, 1236, 619, 2, 9061, 9063, 5, 1354, 678, 2, 9062, 9061, 3, 2, 2, 2, 9062, 9063, 3, 2, 2, 2, 9063, 9065, 3, 2, 2, 2, 9064, 9056, 3, 2, 2, 2, 9064, 9060, 3, 2, 2, 2, 9065, 1067, 3, 2, 2, 2, 9066, 9071, 5, 1070, 536, 2, 9067, 9068, 7, 2231, 2, 2, 9068, 9070, 5, 1070, 536, 2, 9069, 9067, 3, 2, 2, 2, 9070, 9073, 3, 2, 2, 2, 9071, 9069, 3, 2, 2, 2, 9071, 9072, 3, 2, 2, 2, 9072, 1069, 3, 2, 2, 2, 9073, 9071, 3, 2, 2, 2, 9074, 9078, 5, 1072, 537, 2, 9075, 9077, 5, 1076, 539, 2, 9076, 9075, 3, 2, 2, 2, 9077, 9080, 3, 2, 2, 2, 9078, 9076, 3, 2, 2, 2, 9078, 9079, 3, 2, 2, 2, 9079, 9083, 3, 2, 2, 2, 9080, 9078, 3, 2, 2, 2, 9081, 9084, 5, 1088, 545, 2, 9082, 9084, 5, 1100, 551, 2, 9083, 9081, 3, 2, 2, 2, 9083, 9082, 3, 2, 2, 2, 9083, 9084, 3, 2, 2, 2, 9084, 1071, 3, 2, 2, 2, 9085, 9089, 5, 1074, 538, 2, 9086, 9088, 5, 1086, 544, 2, 9087, 9086, 3, 2, 2, 2, 9088, 9091, 3, 2, 2, 2, 9089, 9087, 3, 2, 2, 2, 9089, 9090, 3, 2, 2, 2, 9090, 9093, 3, 2, 2, 2, 9091, 9089, 3, 2, 2, 2, 9092, 9094, 5, 1356, 679, 2, 9093, 9092, 3, 2, 2, 2, 9093, 9094, 3, 2, 2, 2, 9094, 1073, 3, 2, 2, 2, 9095, 9098, 5, 1222, 612, 2, 9096, 9099, 5, 1088, 545, 2, 9097, 9099, 5, 1100, 551, 2, 9098, 9096, 3, 2, 2, 2, 9098, 9097, 3, 2, 2, 2, 9098, 9099, 3, 2, 2, 2, 9099, 9119, 3, 2, 2, 2, 9100, 9101, 7, 2225, 2, 2, 9101, 9105, 5, 1070, 536, 2, 9102, 9104, 5, 1058, 530, 2, 9103, 9102, 3, 2, 2, 2, 9104, 9107, 3, 2, 2, 2, 9105, 9103, 3, 2, 2, 2, 9105, 9106, 3, 2, 2, 2, 9106, 9108, 3, 2, 2, 2, 9107, 9105, 3, 2, 2, 2, 9108, 9111, 7, 2226, 2, 2, 9109, 9112, 5, 1088, 545, 2, 9110, 9112, 5, 1100, 551, 2, 9111, 9109, 3, 2, 2, 2, 9111, 9110, 3, 2, 2, 2, 9111, 9112, 3, 2, 2, 2, 9112, 9119, 3, 2, 2, 2, 9113, 9114, 7, 1129, 2, 2, 9114, 9115, 7, 2225, 2, 2, 9115, 9116, 5, 1222, 612, 2, 9116, 9117, 7, 2226, 2, 2, 9117, 9119, 3, 2, 2, 2, 9118, 9095, 3, 2, 2, 2, 9118, 9100, 3, 2, 2, 2, 9118, 9113, 3, 2, 2, 2, 9119, 1075, 3, 2, 2, 2, 9120, 9122, 5, 1084, 543, 2, 9121, 9120, 3, 2, 2, 2, 9121, 9122, 3, 2, 2, 2, 9122, 9124, 3, 2, 2, 2, 9123, 9125, 9, 97, 2, 2, 9124, 9123, 3, 2, 2, 2, 9124, 9125, 3, 2, 2, 2, 9125, 9128, 3, 2, 2, 2, 9126, 9129, 7, 665, 2, 2, 9127, 9129, 5, 1082, 542, 2, 9128, 9126, 3, 2, 2, 2, 9128, 9127, 3, 2, 2, 2, 9128, 9129, 3, 2, 2, 2, 9129, 9130, 3, 2, 2, 2, 9130, 9131, 7, 704, 2, 2, 9131, 9133, 5, 1072, 537, 2, 9132, 9134, 5, 1084, 543, 2, 9133, 9132, 3, 2, 2, 2, 9133, 9134, 3, 2, 2, 2, 9134, 9139, 3, 2, 2, 2, 9135, 9138, 5, 1078, 540, 2, 9136, 9138, 5, 1080, 541, 2, 9137, 9135, 3, 2, 2, 2, 9137, 9136, 3, 2, 2, 2, 9138, 9141, 3, 2, 2, 2, 9139, 9137, 3, 2, 2, 2, 9139, 9140, 3, 2, 2, 2, 9140, 1077, 3, 2, 2, 2, 9141, 9139, 3, 2, 2, 2, 9142, 9143, 7, 1130, 2, 2, 9143, 9144, 5, 1232, 617, 2, 9144, 1079, 3, 2, 2, 2, 9145, 9146, 7, 2065, 2, 2, 9146, 9147, 5, 1446, 724, 2, 9147, 1081, 3, 2, 2, 2, 9148, 9150, 9, 98, 2, 2, 9149, 9151, 7, 1180, 2, 2, 9150, 9149, 3, 2, 2, 2, 9150, 9151, 3, 2, 2, 2, 9151, 1083, 3, 2, 2, 2, 9152, 9153, 7, 1209, 2, 2, 9153, 9161, 7, 148, 2, 2, 9154, 9157, 7, 2225, 2, 2, 9155, 9158, 5, 1054, 528, 2, 9156, 9158, 5, 1234, 618, 2, 9157, 9155, 3, 2, 2, 2, 9157, 9156, 3, 2, 2, 2, 9157, 9158, 3, 2, 2, 2, 9158, 9159, 3, 2, 2, 2, 9159, 9162, 7, 2226, 2, 2, 9160, 9162, 5, 1234, 618, 2, 9161, 9154, 3, 2, 2, 2, 9161, 9160, 3, 2, 2, 2, 9162, 1085, 3, 2, 2, 2, 9163, 9164, 7, 2098, 2, 2, 9164, 9165, 7, 109, 2, 2, 9165, 9166, 9, 99, 2, 2, 9166, 9172, 5, 1236, 619, 2, 9167, 9168, 7, 63, 2, 2, 9168, 9169, 7, 1117, 2, 2, 9169, 9170, 9, 100, 2, 2, 9170, 9172, 5, 1236, 619, 2, 9171, 9163, 3, 2, 2, 2, 9171, 9167, 3, 2, 2, 2, 9172, 1087, 3, 2, 2, 2, 9173, 9175, 7, 1255, 2, 2, 9174, 9176, 7, 2165, 2, 2, 9175, 9174, 3, 2, 2, 2, 9175, 9176, 3, 2, 2, 2, 9176, 9177, 3, 2, 2, 2, 9177, 9178, 7, 2225, 2, 2, 9178, 9183, 5, 1090, 546, 2, 9179, 9180, 7, 2231, 2, 2, 9180, 9182, 5, 1090, 546, 2, 9181, 9179, 3, 2, 2, 2, 9182, 9185, 3, 2, 2, 2, 9183, 9181, 3, 2, 2, 2, 9183, 9184, 3, 2, 2, 2, 9184, 9186, 3, 2, 2, 2, 9185, 9183, 3, 2, 2, 2, 9186, 9187, 5, 1092, 547, 2, 9187, 9188, 5, 1094, 548, 2, 9188, 9189, 7, 2226, 2, 2, 9189, 1089, 3, 2, 2, 2, 9190, 9191, 5, 1390, 696, 2, 9191, 9192, 7, 2225, 2, 2, 9192, 9193, 5, 1236, 619, 2, 9193, 9195, 7, 2226, 2, 2, 9194, 9196, 5, 1354, 678, 2, 9195, 9194, 3, 2, 2, 2, 9195, 9196, 3, 2, 2, 2, 9196, 1091, 3, 2, 2, 2, 9197, 9200, 7, 548, 2, 2, 9198, 9201, 5, 1426, 714, 2, 9199, 9201, 5, 1446, 724, 2, 9200, 9198, 3, 2, 2, 2, 9200, 9199, 3, 2, 2, 2, 9201, 1093, 3, 2, 2, 2, 9202, 9203, 7, 654, 2, 2, 9203, 9221, 7, 2225, 2, 2, 9204, 9222, 5, 1054, 528, 2, 9205, 9210, 7, 50, 2, 2, 9206, 9207, 7, 2231, 2, 2, 9207, 9209, 7, 50, 2, 2, 9208, 9206, 3, 2, 2, 2, 9209, 9212, 3, 2, 2, 2, 9210, 9208, 3, 2, 2, 2, 9210, 9211, 3, 2, 2, 2, 9211, 9222, 3, 2, 2, 2, 9212, 9210, 3, 2, 2, 2, 9213, 9218, 5, 1096, 549, 2, 9214, 9215, 7, 2231, 2, 2, 9215, 9217, 5, 1096, 549, 2, 9216, 9214, 3, 2, 2, 2, 9217, 9220, 3, 2, 2, 2, 9218, 9216, 3, 2, 2, 2, 9218, 9219, 3, 2, 2, 2, 9219, 9222, 3, 2, 2, 2, 9220, 9218, 3, 2, 2, 2, 9221, 9204, 3, 2, 2, 2, 9221, 9205, 3, 2, 2, 2, 9221, 9213, 3, 2, 2, 2, 9222, 9223, 3, 2, 2, 2, 9223, 9224, 7, 2226, 2, 2, 9224, 1095, 3, 2, 2, 2, 9225, 9227, 5, 1098, 550, 2, 9226, 9228, 5, 1354, 678, 2, 9227, 9226, 3, 2, 2, 2, 9227, 9228, 3, 2, 2, 2, 9228, 1097, 3, 2, 2, 2, 9229, 9236, 5, 1236, 619, 2, 9230, 9232, 7, 2225, 2, 2, 9231, 9233, 5, 1234, 618, 2, 9232, 9231, 3, 2, 2, 2, 9232, 9233, 3, 2, 2, 2, 9233, 9234, 3, 2, 2, 2, 9234, 9236, 7, 2226, 2, 2, 9235, 9229, 3, 2, 2, 2, 9235, 9230, 3, 2, 2, 2, 9236, 1099, 3, 2, 2, 2, 9237, 9240, 7, 2015, 2, 2, 9238, 9239, 9, 101, 2, 2, 9239, 9241, 7, 1100, 2, 2, 9240, 9238, 3, 2, 2, 2, 9240, 9241, 3, 2, 2, 2, 9241, 9242, 3, 2, 2, 2, 9242, 9245, 7, 2225, 2, 2, 9243, 9246, 5, 1426, 714, 2, 9244, 9246, 5, 1446, 724, 2, 9245, 9243, 3, 2, 2, 2, 9245, 9244, 3, 2, 2, 2, 9246, 9247, 3, 2, 2, 2, 9247, 9248, 5, 1092, 547, 2, 9248, 9249, 5, 1102, 552, 2, 9249, 9250, 7, 2226, 2, 2, 9250, 1101, 3, 2, 2, 2, 9251, 9252, 7, 654, 2, 2, 9252, 9253, 7, 2225, 2, 2, 9253, 9258, 5, 1104, 553, 2, 9254, 9255, 7, 2231, 2, 2, 9255, 9257, 5, 1104, 553, 2, 9256, 9254, 3, 2, 2, 2, 9257, 9260, 3, 2, 2, 2, 9258, 9256, 3, 2, 2, 2, 9258, 9259, 3, 2, 2, 2, 9259, 9261, 3, 2, 2, 2, 9260, 9258, 3, 2, 2, 2, 9261, 9262, 7, 2226, 2, 2, 9262, 1103, 3, 2, 2, 2, 9263, 9266, 5, 1426, 714, 2, 9264, 9266, 5, 1446, 724, 2, 9265, 9263, 3, 2, 2, 2, 9265, 9264, 3, 2, 2, 2, 9266, 9282, 3, 2, 2, 2, 9267, 9280, 7, 63, 2, 2, 9268, 9281, 5, 1480, 741, 2, 9269, 9270, 7, 2225, 2, 2, 9270, 9275, 5, 1480, 741, 2, 9271, 9272, 7, 2231, 2, 2, 9272, 9274, 5, 1480, 741, 2, 9273, 9271, 3, 2, 2, 2, 9274, 9277, 3, 2, 2, 2, 9275, 9273, 3, 2, 2, 2, 9275, 9276, 3, 2, 2, 2, 9276, 9278, 3, 2, 2, 2, 9277, 9275, 3, 2, 2, 2, 9278, 9279, 7, 2226, 2, 2, 9279, 9281, 3, 2, 2, 2, 9280, 9268, 3, 2, 2, 2, 9280, 9269, 3, 2, 2, 2, 9281, 9283, 3, 2, 2, 2, 9282, 9267, 3, 2, 2, 2, 9282, 9283, 3, 2, 2, 2, 9283, 1105, 3, 2, 2, 2, 9284, 9285, 7, 253, 2, 2, 9285, 9287, 7, 148, 2, 2, 9286, 9288, 7, 965, 2, 2, 9287, 9286, 3, 2, 2, 2, 9287, 9288, 3, 2, 2, 2, 9288, 9289, 3, 2, 2, 2, 9289, 9291, 5, 1232, 617, 2, 9290, 9292, 5, 1108, 555, 2, 9291, 9290, 3, 2, 2, 2, 9291, 9292, 3, 2, 2, 2, 9292, 9302, 3, 2, 2, 2, 9293, 9294, 5, 1108, 555, 2, 9294, 9295, 7, 253, 2, 2, 9295, 9297, 7, 148, 2, 2, 9296, 9298, 7, 965, 2, 2, 9297, 9296, 3, 2, 2, 2, 9297, 9298, 3, 2, 2, 2, 9298, 9299, 3, 2, 2, 2, 9299, 9300, 5, 1232, 617, 2, 9300, 9302, 3, 2, 2, 2, 9301, 9284, 3, 2, 2, 2, 9301, 9293, 3, 2, 2, 2, 9302, 1107, 3, 2, 2, 2, 9303, 9304, 7, 1571, 2, 2, 9304, 9305, 7, 2123, 2, 2, 9305, 9306, 5, 1232, 617, 2, 9306, 1109, 3, 2, 2, 2, 9307, 9308, 7, 575, 2, 2, 9308, 9309, 7, 148, 2, 2, 9309, 9314, 5, 1112, 557, 2, 9310, 9311, 7, 2231, 2, 2, 9311, 9313, 5, 1112, 557, 2, 9312, 9310, 3, 2, 2, 2, 9313, 9316, 3, 2, 2, 2, 9314, 9312, 3, 2, 2, 2, 9314, 9315, 3, 2, 2, 2, 9315, 9318, 3, 2, 2, 2, 9316, 9314, 3, 2, 2, 2, 9317, 9319, 5, 1120, 561, 2, 9318, 9317, 3, 2, 2, 2, 9318, 9319, 3, 2, 2, 2, 9319, 9334, 3, 2, 2, 2, 9320, 9331, 5, 1120, 561, 2, 9321, 9322, 7, 575, 2, 2, 9322, 9323, 7, 148, 2, 2, 9323, 9328, 5, 1112, 557, 2, 9324, 9325, 7, 2231, 2, 2, 9325, 9327, 5, 1112, 557, 2, 9326, 9324, 3, 2, 2, 2, 9327, 9330, 3, 2, 2, 2, 9328, 9326, 3, 2, 2, 2, 9328, 9329, 3, 2, 2, 2, 9329, 9332, 3, 2, 2, 2, 9330, 9328, 3, 2, 2, 2, 9331, 9321, 3, 2, 2, 2, 9331, 9332, 3, 2, 2, 2, 9332, 9334, 3, 2, 2, 2, 9333, 9307, 3, 2, 2, 2, 9333, 9320, 3, 2, 2, 2, 9334, 1111, 3, 2, 2, 2, 9335, 9339, 5, 1116, 559, 2, 9336, 9339, 5, 1114, 558, 2, 9337, 9339, 5, 1236, 619, 2, 9338, 9335, 3, 2, 2, 2, 9338, 9336, 3, 2, 2, 2, 9338, 9337, 3, 2, 2, 2, 9339, 1113, 3, 2, 2, 2, 9340, 9341, 9, 102, 2, 2, 9341, 9342, 7, 2225, 2, 2, 9342, 9347, 5, 1118, 560, 2, 9343, 9344, 7, 2231, 2, 2, 9344, 9346, 5, 1118, 560, 2, 9345, 9343, 3, 2, 2, 2, 9346, 9349, 3, 2, 2, 2, 9347, 9345, 3, 2, 2, 2, 9347, 9348, 3, 2, 2, 2, 9348, 9350, 3, 2, 2, 2, 9349, 9347, 3, 2, 2, 2, 9350, 9351, 7, 2226, 2, 2, 9351, 1115, 3, 2, 2, 2, 9352, 9353, 7, 577, 2, 2, 9353, 9354, 7, 1513, 2, 2, 9354, 9355, 7, 2225, 2, 2, 9355, 9360, 5, 1118, 560, 2, 9356, 9357, 7, 2231, 2, 2, 9357, 9359, 5, 1118, 560, 2, 9358, 9356, 3, 2, 2, 2, 9359, 9362, 3, 2, 2, 2, 9360, 9358, 3, 2, 2, 2, 9360, 9361, 3, 2, 2, 2, 9361, 9363, 3, 2, 2, 2, 9362, 9360, 3, 2, 2, 2, 9363, 9364, 7, 2226, 2, 2, 9364, 1117, 3, 2, 2, 2, 9365, 9373, 5, 1114, 558, 2, 9366, 9368, 7, 2225, 2, 2, 9367, 9369, 5, 1234, 618, 2, 9368, 9367, 3, 2, 2, 2, 9368, 9369, 3, 2, 2, 2, 9369, 9370, 3, 2, 2, 2, 9370, 9373, 7, 2226, 2, 2, 9371, 9373, 5, 1236, 619, 2, 9372, 9365, 3, 2, 2, 2, 9372, 9366, 3, 2, 2, 2, 9372, 9371, 3, 2, 2, 2, 9373, 1119, 3, 2, 2, 2, 9374, 9375, 7, 587, 2, 2, 9375, 9376, 5, 1232, 617, 2, 9376, 1121, 3, 2, 2, 2, 9377, 9381, 7, 856, 2, 2, 9378, 9380, 5, 1124, 563, 2, 9379, 9378, 3, 2, 2, 2, 9380, 9383, 3, 2, 2, 2, 9381, 9379, 3, 2, 2, 2, 9381, 9382, 3, 2, 2, 2, 9382, 9385, 3, 2, 2, 2, 9383, 9381, 3, 2, 2, 2, 9384, 9386, 5, 1126, 564, 2, 9385, 9384, 3, 2, 2, 2, 9385, 9386, 3, 2, 2, 2, 9386, 9390, 3, 2, 2, 2, 9387, 9389, 5, 1128, 565, 2, 9388, 9387, 3, 2, 2, 2, 9389, 9392, 3, 2, 2, 2, 9390, 9388, 3, 2, 2, 2, 9390, 9391, 3, 2, 2, 2, 9391, 9393, 3, 2, 2, 2, 9392, 9390, 3, 2, 2, 2, 9393, 9394, 5, 1130, 566, 2, 9394, 1123, 3, 2, 2, 2, 9395, 9396, 9, 103, 2, 2, 9396, 9404, 7, 890, 2, 2, 9397, 9401, 7, 2004, 2, 2, 9398, 9402, 7, 379, 2, 2, 9399, 9400, 7, 1533, 2, 2, 9400, 9402, 7, 1375, 2, 2, 9401, 9398, 3, 2, 2, 2, 9401, 9399, 3, 2, 2, 2, 9402, 9404, 3, 2, 2, 2, 9403, 9395, 3, 2, 2, 2, 9403, 9397, 3, 2, 2, 2, 9404, 1125, 3, 2, 2, 2, 9405, 9406, 7, 1433, 2, 2, 9406, 9407, 9, 104, 2, 2, 9407, 9408, 7, 1454, 2, 2, 9408, 1127, 3, 2, 2, 2, 9409, 9410, 7, 1375, 2, 2, 9410, 9411, 5, 1384, 693, 2, 9411, 9412, 7, 1130, 2, 2, 9412, 9413, 7, 2225, 2, 2, 9413, 9414, 5, 1054, 528, 2, 9414, 9415, 7, 2226, 2, 2, 9415, 9419, 5, 1132, 567, 2, 9416, 9418, 5, 1124, 563, 2, 9417, 9416, 3, 2, 2, 2, 9418, 9421, 3, 2, 2, 2, 9419, 9417, 3, 2, 2, 2, 9419, 9420, 3, 2, 2, 2, 9420, 1129, 3, 2, 2, 2, 9421, 9419, 3, 2, 2, 2, 9422, 9423, 7, 796, 2, 2, 9423, 9425, 5, 1386, 694, 2, 9424, 9422, 3, 2, 2, 2, 9424, 9425, 3, 2, 2, 2, 9425, 9426, 3, 2, 2, 2, 9426, 9430, 5, 1132, 567, 2, 9427, 9429, 5, 1124, 563, 2, 9428, 9427, 3, 2, 2, 2, 9429, 9432, 3, 2, 2, 2, 9430, 9428, 3, 2, 2, 2, 9430, 9431, 3, 2, 2, 2, 9431, 9433, 3, 2, 2, 2, 9432, 9430, 3, 2, 2, 2, 9433, 9434, 5, 1140, 571, 2, 9434, 1131, 3, 2, 2, 2, 9435, 9437, 5, 1134, 568, 2, 9436, 9435, 3, 2, 2, 2, 9436, 9437, 3, 2, 2, 2, 9437, 9438, 3, 2, 2, 2, 9438, 9439, 7, 379, 2, 2, 9439, 9440, 7, 148, 2, 2, 9440, 9441, 5, 1136, 569, 2, 9441, 9442, 7, 826, 2, 2, 9442, 9443, 5, 1136, 569, 2, 9443, 1133, 3, 2, 2, 2, 9444, 9445, 7, 1209, 2, 2, 9445, 9446, 7, 148, 2, 2, 9446, 9447, 5, 1136, 569, 2, 9447, 1135, 3, 2, 2, 2, 9448, 9449, 7, 2225, 2, 2, 9449, 9454, 5, 1138, 570, 2, 9450, 9451, 7, 2231, 2, 2, 9451, 9453, 5, 1138, 570, 2, 9452, 9450, 3, 2, 2, 2, 9453, 9456, 3, 2, 2, 2, 9454, 9452, 3, 2, 2, 2, 9454, 9455, 3, 2, 2, 2, 9455, 9457, 3, 2, 2, 2, 9456, 9454, 3, 2, 2, 2, 9457, 9458, 7, 2226, 2, 2, 9458, 1137, 3, 2, 2, 2, 9459, 9462, 5, 1236, 619, 2, 9460, 9462, 5, 1060, 531, 2, 9461, 9459, 3, 2, 2, 2, 9461, 9460, 3, 2, 2, 2, 9462, 9464, 3, 2, 2, 2, 9463, 9465, 5, 1354, 678, 2, 9464, 9463, 3, 2, 2, 2, 9464, 9465, 3, 2, 2, 2, 9465, 1139, 3, 2, 2, 2, 9466, 9468, 5, 1142, 572, 2, 9467, 9466, 3, 2, 2, 2, 9467, 9468, 3, 2, 2, 2, 9468, 9469, 3, 2, 2, 2, 9469, 9478, 7, 2225, 2, 2, 9470, 9475, 5, 1144, 573, 2, 9471, 9472, 7, 2231, 2, 2, 9472, 9474, 5, 1144, 573, 2, 9473, 9471, 3, 2, 2, 2, 9474, 9477, 3, 2, 2, 2, 9475, 9473, 3, 2, 2, 2, 9475, 9476, 3, 2, 2, 2, 9476, 9479, 3, 2, 2, 2, 9477, 9475, 3, 2, 2, 2, 9478, 9470, 3, 2, 2, 2, 9478, 9479, 3, 2, 2, 2, 9479, 9480, 3, 2, 2, 2, 9480, 9481, 7, 2226, 2, 2, 9481, 1141, 3, 2, 2, 2, 9482, 9488, 7, 1458, 2, 2, 9483, 9489, 7, 2027, 2, 2, 9484, 9486, 7, 2033, 2, 2, 9485, 9487, 7, 37, 2, 2, 9486, 9485, 3, 2, 2, 2, 9486, 9487, 3, 2, 2, 2, 9487, 9489, 3, 2, 2, 2, 9488, 9483, 3, 2, 2, 2, 9488, 9484, 3, 2, 2, 2, 9488, 9489, 3, 2, 2, 2, 9489, 9492, 3, 2, 2, 2, 9490, 9491, 9, 105, 2, 2, 9491, 9493, 7, 1170, 2, 2, 9492, 9490, 3, 2, 2, 2, 9492, 9493, 3, 2, 2, 2, 9493, 9495, 3, 2, 2, 2, 9494, 9496, 5, 1148, 575, 2, 9495, 9494, 3, 2, 2, 2, 9495, 9496, 3, 2, 2, 2, 9496, 1143, 3, 2, 2, 2, 9497, 9503, 7, 2027, 2, 2, 9498, 9500, 7, 2033, 2, 2, 9499, 9501, 7, 37, 2, 2, 9500, 9499, 3, 2, 2, 2, 9500, 9501, 3, 2, 2, 2, 9501, 9503, 3, 2, 2, 2, 9502, 9497, 3, 2, 2, 2, 9502, 9498, 3, 2, 2, 2, 9502, 9503, 3, 2, 2, 2, 9503, 9504, 3, 2, 2, 2, 9504, 9506, 5, 1146, 574, 2, 9505, 9507, 5, 1152, 577, 2, 9506, 9505, 3, 2, 2, 2, 9506, 9507, 3, 2, 2, 2, 9507, 9508, 3, 2, 2, 2, 9508, 9509, 7, 2245, 2, 2, 9509, 9510, 5, 1236, 619, 2, 9510, 1145, 3, 2, 2, 2, 9511, 9512, 5, 1262, 632, 2, 9512, 1147, 3, 2, 2, 2, 9513, 9514, 7, 700, 2, 2, 9514, 9515, 7, 2225, 2, 2, 9515, 9516, 5, 1236, 619, 2, 9516, 9518, 7, 2226, 2, 2, 9517, 9519, 5, 1150, 576, 2, 9518, 9517, 3, 2, 2, 2, 9518, 9519, 3, 2, 2, 2, 9519, 1149, 3, 2, 2, 2, 9520, 9521, 7, 2022, 2, 2, 9521, 9522, 7, 2225, 2, 2, 9522, 9523, 5, 1232, 617, 2, 9523, 9524, 7, 2226, 2, 2, 9524, 1151, 3, 2, 2, 2, 9525, 9527, 7, 1170, 2, 2, 9526, 9528, 7, 1525, 2, 2, 9527, 9526, 3, 2, 2, 2, 9527, 9528, 3, 2, 2, 2, 9528, 9529, 3, 2, 2, 2, 9529, 9530, 7, 148, 2, 2, 9530, 9535, 5, 1154, 578, 2, 9531, 9532, 7, 2231, 2, 2, 9532, 9534, 5, 1154, 578, 2, 9533, 9531, 3, 2, 2, 2, 9534, 9537, 3, 2, 2, 2, 9535, 9533, 3, 2, 2, 2, 9535, 9536, 3, 2, 2, 2, 9536, 1153, 3, 2, 2, 2, 9537, 9535, 3, 2, 2, 2, 9538, 9540, 5, 1236, 619, 2, 9539, 9541, 9, 22, 2, 2, 9540, 9539, 3, 2, 2, 2, 9540, 9541, 3, 2, 2, 2, 9541, 9544, 3, 2, 2, 2, 9542, 9543, 7, 1100, 2, 2, 9543, 9545, 9, 106, 2, 2, 9544, 9542, 3, 2, 2, 2, 9544, 9545, 3, 2, 2, 2, 9545, 1155, 3, 2, 2, 2, 9546, 9547, 7, 1116, 2, 2, 9547, 9548, 5, 1236, 619, 2, 9548, 9549, 9, 107, 2, 2, 9549, 1157, 3, 2, 2, 2, 9550, 9551, 7, 520, 2, 2, 9551, 9556, 9, 108, 2, 2, 9552, 9554, 5, 1236, 619, 2, 9553, 9555, 7, 1238, 2, 2, 9554, 9553, 3, 2, 2, 2, 9554, 9555, 3, 2, 2, 2, 9555, 9557, 3, 2, 2, 2, 9556, 9552, 3, 2, 2, 2, 9556, 9557, 3, 2, 2, 2, 9557, 9558, 3, 2, 2, 2, 9558, 9562, 9, 107, 2, 2, 9559, 9563, 7, 1129, 2, 2, 9560, 9561, 7, 2123, 2, 2, 9561, 9563, 7, 1932, 2, 2, 9562, 9559, 3, 2, 2, 2, 9562, 9560, 3, 2, 2, 2, 9563, 1159, 3, 2, 2, 2, 9564, 9565, 7, 548, 2, 2, 9565, 9567, 7, 2027, 2, 2, 9566, 9568, 5, 1162, 582, 2, 9567, 9566, 3, 2, 2, 2, 9567, 9568, 3, 2, 2, 2, 9568, 9570, 3, 2, 2, 2, 9569, 9571, 5, 1164, 583, 2, 9570, 9569, 3, 2, 2, 2, 9570, 9571, 3, 2, 2, 2, 9571, 1161, 3, 2, 2, 2, 9572, 9573, 7, 1117, 2, 2, 9573, 9574, 5, 1444, 723, 2, 9574, 1163, 3, 2, 2, 2, 9575, 9576, 7, 1539, 2, 2, 9576, 9581, 7, 776, 2, 2, 9577, 9581, 7, 1090, 2, 2, 9578, 9579, 7, 2108, 2, 2, 9579, 9581, 5, 1236, 619, 2, 9580, 9575, 3, 2, 2, 2, 9580, 9577, 3, 2, 2, 2, 9580, 9578, 3, 2, 2, 2, 9581, 1165, 3, 2, 2, 2, 9582, 9583, 7, 2027, 2, 2, 9583, 9584, 5, 1212, 607, 2, 9584, 9586, 5, 1168, 585, 2, 9585, 9587, 5, 1358, 680, 2, 9586, 9585, 3, 2, 2, 2, 9586, 9587, 3, 2, 2, 2, 9587, 9589, 3, 2, 2, 2, 9588, 9590, 5, 1214, 608, 2, 9589, 9588, 3, 2, 2, 2, 9589, 9590, 3, 2, 2, 2, 9590, 9592, 3, 2, 2, 2, 9591, 9593, 5, 1216, 609, 2, 9592, 9591, 3, 2, 2, 2, 9592, 9593, 3, 2, 2, 2, 9593, 1167, 3, 2, 2, 2, 9594, 9610, 7, 1512, 2, 2, 9595, 9600, 5, 1170, 586, 2, 9596, 9597, 7, 2231, 2, 2, 9597, 9599, 5, 1170, 586, 2, 9598, 9596, 3, 2, 2, 2, 9599, 9602, 3, 2, 2, 2, 9600, 9598, 3, 2, 2, 2, 9600, 9601, 3, 2, 2, 2, 9601, 9611, 3, 2, 2, 2, 9602, 9600, 3, 2, 2, 2, 9603, 9604, 7, 2076, 2, 2, 9604, 9605, 7, 2225, 2, 2, 9605, 9606, 5, 1488, 745, 2, 9606, 9607, 7, 2226, 2, 2, 9607, 9608, 7, 2245, 2, 2, 9608, 9609, 5, 1236, 619, 2, 9609, 9611, 3, 2, 2, 2, 9610, 9595, 3, 2, 2, 2, 9610, 9603, 3, 2, 2, 2, 9611, 1169, 3, 2, 2, 2, 9612, 9613, 5, 1426, 714, 2, 9613, 9614, 7, 2245, 2, 2, 9614, 9615, 5, 1236, 619, 2, 9615, 9621, 3, 2, 2, 2, 9616, 9617, 5, 1446, 724, 2, 9617, 9618, 7, 2245, 2, 2, 9618, 9619, 5, 1054, 528, 2, 9619, 9621, 3, 2, 2, 2, 9620, 9612, 3, 2, 2, 2, 9620, 9616, 3, 2, 2, 2, 9621, 1171, 3, 2, 2, 2, 9622, 9624, 7, 364, 2, 2, 9623, 9625, 7, 556, 2, 2, 9624, 9623, 3, 2, 2, 2, 9624, 9625, 3, 2, 2, 2, 9625, 9626, 3, 2, 2, 2, 9626, 9628, 5, 1212, 607, 2, 9627, 9629, 5, 1358, 680, 2, 9628, 9627, 3, 2, 2, 2, 9628, 9629, 3, 2, 2, 2, 9629, 9631, 3, 2, 2, 2, 9630, 9632, 5, 1214, 608, 2, 9631, 9630, 3, 2, 2, 2, 9631, 9632, 3, 2, 2, 2, 9632, 9634, 3, 2, 2, 2, 9633, 9635, 5, 1216, 609, 2, 9634, 9633, 3, 2, 2, 2, 9634, 9635, 3, 2, 2, 2, 9635, 1173, 3, 2, 2, 2, 9636, 9639, 7, 671, 2, 2, 9637, 9640, 5, 1176, 589, 2, 9638, 9640, 5, 1178, 590, 2, 9639, 9637, 3, 2, 2, 2, 9639, 9638, 3, 2, 2, 2, 9640, 1175, 3, 2, 2, 2, 9641, 9647, 5, 1188, 595, 2, 9642, 9644, 5, 1190, 596, 2, 9643, 9645, 5, 1214, 608, 2, 9644, 9643, 3, 2, 2, 2, 9644, 9645, 3, 2, 2, 2, 9645, 9648, 3, 2, 2, 2, 9646, 9648, 5, 1044, 523, 2, 9647, 9642, 3, 2, 2, 2, 9647, 9646, 3, 2, 2, 2, 9648, 9650, 3, 2, 2, 2, 9649, 9651, 5, 1216, 609, 2, 9650, 9649, 3, 2, 2, 2, 9650, 9651, 3, 2, 2, 2, 9651, 1177, 3, 2, 2, 2, 9652, 9654, 7, 37, 2, 2, 9653, 9655, 5, 1180, 591, 2, 9654, 9653, 3, 2, 2, 2, 9655, 9656, 3, 2, 2, 2, 9656, 9654, 3, 2, 2, 2, 9656, 9657, 3, 2, 2, 2, 9657, 9660, 3, 2, 2, 2, 9658, 9660, 5, 1182, 592, 2, 9659, 9652, 3, 2, 2, 2, 9659, 9658, 3, 2, 2, 2, 9660, 9661, 3, 2, 2, 2, 9661, 9662, 5, 1044, 523, 2, 9662, 1179, 3, 2, 2, 2, 9663, 9665, 5, 1188, 595, 2, 9664, 9666, 5, 1190, 596, 2, 9665, 9664, 3, 2, 2, 2, 9665, 9666, 3, 2, 2, 2, 9666, 9668, 3, 2, 2, 2, 9667, 9669, 5, 1216, 609, 2, 9668, 9667, 3, 2, 2, 2, 9668, 9669, 3, 2, 2, 2, 9669, 1181, 3, 2, 2, 2, 9670, 9672, 9, 109, 2, 2, 9671, 9670, 3, 2, 2, 2, 9671, 9672, 3, 2, 2, 2, 9672, 9674, 3, 2, 2, 2, 9673, 9675, 5, 1184, 593, 2, 9674, 9673, 3, 2, 2, 2, 9675, 9676, 3, 2, 2, 2, 9676, 9674, 3, 2, 2, 2, 9676, 9677, 3, 2, 2, 2, 9677, 9679, 3, 2, 2, 2, 9678, 9680, 5, 1186, 594, 2, 9679, 9678, 3, 2, 2, 2, 9679, 9680, 3, 2, 2, 2, 9680, 1183, 3, 2, 2, 2, 9681, 9682, 7, 2115, 2, 2, 9682, 9683, 5, 1232, 617, 2, 9683, 9685, 7, 1927, 2, 2, 9684, 9686, 5, 1180, 591, 2, 9685, 9684, 3, 2, 2, 2, 9686, 9687, 3, 2, 2, 2, 9687, 9685, 3, 2, 2, 2, 9687, 9688, 3, 2, 2, 2, 9688, 1185, 3, 2, 2, 2, 9689, 9691, 7, 434, 2, 2, 9690, 9692, 5, 1180, 591, 2, 9691, 9690, 3, 2, 2, 2, 9692, 9693, 3, 2, 2, 2, 9693, 9691, 3, 2, 2, 2, 9693, 9694, 3, 2, 2, 2, 9694, 1187, 3, 2, 2, 2, 9695, 9696, 7, 693, 2, 2, 9696, 9698, 5, 1212, 607, 2, 9697, 9699, 5, 1446, 724, 2, 9698, 9697, 3, 2, 2, 2, 9698, 9699, 3, 2, 2, 2, 9699, 1189, 3, 2, 2, 2, 9700, 9701, 7, 2075, 2, 2, 9701, 9703, 7, 2225, 2, 2, 9702, 9704, 5, 1234, 618, 2, 9703, 9702, 3, 2, 2, 2, 9703, 9704, 3, 2, 2, 2, 9704, 9705, 3, 2, 2, 2, 9705, 9706, 7, 2226, 2, 2, 9706, 1191, 3, 2, 2, 2, 9707, 9708, 7, 834, 2, 2, 9708, 9709, 7, 693, 2, 2, 9709, 9711, 5, 1428, 715, 2, 9710, 9712, 5, 1356, 679, 2, 9711, 9710, 3, 2, 2, 2, 9711, 9712, 3, 2, 2, 2, 9712, 9713, 3, 2, 2, 2, 9713, 9714, 7, 2065, 2, 2, 9714, 9715, 5, 1202, 602, 2, 9715, 9716, 7, 1130, 2, 2, 9716, 9717, 7, 2225, 2, 2, 9717, 9718, 5, 1232, 617, 2, 9718, 9727, 7, 2226, 2, 2, 9719, 9721, 5, 1194, 598, 2, 9720, 9722, 5, 1200, 601, 2, 9721, 9720, 3, 2, 2, 2, 9721, 9722, 3, 2, 2, 2, 9722, 9728, 3, 2, 2, 2, 9723, 9725, 5, 1200, 601, 2, 9724, 9726, 5, 1194, 598, 2, 9725, 9724, 3, 2, 2, 2, 9725, 9726, 3, 2, 2, 2, 9726, 9728, 3, 2, 2, 2, 9727, 9719, 3, 2, 2, 2, 9727, 9723, 3, 2, 2, 2, 9727, 9728, 3, 2, 2, 2, 9728, 9730, 3, 2, 2, 2, 9729, 9731, 5, 1216, 609, 2, 9730, 9729, 3, 2, 2, 2, 9730, 9731, 3, 2, 2, 2, 9731, 1193, 3, 2, 2, 2, 9732, 9733, 7, 2115, 2, 2, 9733, 9734, 7, 806, 2, 2, 9734, 9735, 7, 1927, 2, 2, 9735, 9736, 7, 2027, 2, 2, 9736, 9737, 7, 1512, 2, 2, 9737, 9742, 5, 1196, 599, 2, 9738, 9739, 7, 2231, 2, 2, 9739, 9741, 5, 1196, 599, 2, 9740, 9738, 3, 2, 2, 2, 9741, 9744, 3, 2, 2, 2, 9742, 9740, 3, 2, 2, 2, 9742, 9743, 3, 2, 2, 2, 9743, 9746, 3, 2, 2, 2, 9744, 9742, 3, 2, 2, 2, 9745, 9747, 5, 1358, 680, 2, 9746, 9745, 3, 2, 2, 2, 9746, 9747, 3, 2, 2, 2, 9747, 9749, 3, 2, 2, 2, 9748, 9750, 5, 1198, 600, 2, 9749, 9748, 3, 2, 2, 2, 9749, 9750, 3, 2, 2, 2, 9750, 1195, 3, 2, 2, 2, 9751, 9752, 5, 1426, 714, 2, 9752, 9753, 7, 2245, 2, 2, 9753, 9754, 5, 1236, 619, 2, 9754, 1197, 3, 2, 2, 2, 9755, 9756, 7, 364, 2, 2, 9756, 9757, 5, 1358, 680, 2, 9757, 1199, 3, 2, 2, 2, 9758, 9759, 7, 2115, 2, 2, 9759, 9760, 7, 1075, 2, 2, 9760, 9761, 7, 806, 2, 2, 9761, 9762, 7, 1927, 2, 2, 9762, 9764, 7, 671, 2, 2, 9763, 9765, 5, 1446, 724, 2, 9764, 9763, 3, 2, 2, 2, 9764, 9765, 3, 2, 2, 2, 9765, 9766, 3, 2, 2, 2, 9766, 9767, 7, 2075, 2, 2, 9767, 9769, 7, 2225, 2, 2, 9768, 9770, 5, 1234, 618, 2, 9769, 9768, 3, 2, 2, 2, 9769, 9770, 3, 2, 2, 2, 9770, 9771, 3, 2, 2, 2, 9771, 9773, 7, 2226, 2, 2, 9772, 9774, 5, 1358, 680, 2, 9773, 9772, 3, 2, 2, 2, 9773, 9774, 3, 2, 2, 2, 9774, 1201, 3, 2, 2, 2, 9775, 9781, 5, 1428, 715, 2, 9776, 9777, 7, 2225, 2, 2, 9777, 9778, 5, 1044, 523, 2, 9778, 9779, 7, 2226, 2, 2, 9779, 9781, 3, 2, 2, 2, 9780, 9775, 3, 2, 2, 2, 9780, 9776, 3, 2, 2, 2, 9781, 9783, 3, 2, 2, 2, 9782, 9784, 5, 1356, 679, 2, 9783, 9782, 3, 2, 2, 2, 9783, 9784, 3, 2, 2, 2, 9784, 1203, 3, 2, 2, 2, 9785, 9786, 7, 778, 2, 2, 9786, 9787, 7, 1914, 2, 2, 9787, 9792, 5, 1208, 605, 2, 9788, 9789, 7, 2231, 2, 2, 9789, 9791, 5, 1208, 605, 2, 9790, 9788, 3, 2, 2, 2, 9791, 9794, 3, 2, 2, 2, 9792, 9790, 3, 2, 2, 2, 9792, 9793, 3, 2, 2, 2, 9793, 9795, 3, 2, 2, 2, 9794, 9792, 3, 2, 2, 2, 9795, 9796, 7, 654, 2, 2, 9796, 9797, 5, 1210, 606, 2, 9797, 9799, 7, 862, 2, 2, 9798, 9800, 5, 1206, 604, 2, 9799, 9798, 3, 2, 2, 2, 9799, 9800, 3, 2, 2, 2, 9800, 1205, 3, 2, 2, 2, 9801, 9802, 7, 2108, 2, 2, 9802, 9805, 5, 1236, 619, 2, 9803, 9805, 7, 1090, 2, 2, 9804, 9801, 3, 2, 2, 2, 9804, 9803, 3, 2, 2, 2, 9805, 1207, 3, 2, 2, 2, 9806, 9808, 5, 1428, 715, 2, 9807, 9809, 5, 1352, 677, 2, 9808, 9807, 3, 2, 2, 2, 9808, 9809, 3, 2, 2, 2, 9809, 1209, 3, 2, 2, 2, 9810, 9811, 7, 1453, 2, 2, 9811, 9823, 7, 1519, 2, 2, 9812, 9813, 7, 1453, 2, 2, 9813, 9823, 7, 476, 2, 2, 9814, 9816, 7, 1519, 2, 2, 9815, 9817, 7, 2027, 2, 2, 9816, 9815, 3, 2, 2, 2, 9816, 9817, 3, 2, 2, 2, 9817, 9823, 3, 2, 2, 2, 9818, 9819, 7, 1519, 2, 2, 9819, 9820, 7, 1453, 2, 2, 9820, 9823, 7, 476, 2, 2, 9821, 9823, 7, 476, 2, 2, 9822, 9810, 3, 2, 2, 2, 9822, 9812, 3, 2, 2, 2, 9822, 9814, 3, 2, 2, 2, 9822, 9818, 3, 2, 2, 2, 9822, 9821, 3, 2, 2, 2, 9823, 1211, 3, 2, 2, 2, 9824, 9831, 5, 1222, 612, 2, 9825, 9826, 7, 1129, 2, 2, 9826, 9827, 7, 2225, 2, 2, 9827, 9828, 5, 1222, 612, 2, 9828, 9829, 7, 2226, 2, 2, 9829, 9831, 3, 2, 2, 2, 9830, 9824, 3, 2, 2, 2, 9830, 9825, 3, 2, 2, 2, 9831, 9833, 3, 2, 2, 2, 9832, 9834, 5, 1356, 679, 2, 9833, 9832, 3, 2, 2, 2, 9833, 9834, 3, 2, 2, 2, 9834, 1213, 3, 2, 2, 2, 9835, 9836, 9, 92, 2, 2, 9836, 9837, 5, 1234, 618, 2, 9837, 9838, 5, 1360, 681, 2, 9838, 1215, 3, 2, 2, 2, 9839, 9840, 7, 785, 2, 2, 9840, 9842, 7, 460, 2, 2, 9841, 9843, 5, 1218, 610, 2, 9842, 9841, 3, 2, 2, 2, 9842, 9843, 3, 2, 2, 2, 9843, 9845, 3, 2, 2, 2, 9844, 9846, 5, 1236, 619, 2, 9845, 9844, 3, 2, 2, 2, 9845, 9846, 3, 2, 2, 2, 9846, 9848, 3, 2, 2, 2, 9847, 9849, 5, 1220, 611, 2, 9848, 9847, 3, 2, 2, 2, 9848, 9849, 3, 2, 2, 2, 9849, 1217, 3, 2, 2, 2, 9850, 9851, 7, 693, 2, 2, 9851, 9852, 5, 1428, 715, 2, 9852, 1219, 3, 2, 2, 2, 9853, 9854, 7, 1397, 2, 2, 9854, 9857, 7, 760, 2, 2, 9855, 9858, 7, 2006, 2, 2, 9856, 9858, 5, 1236, 619, 2, 9857, 9855, 3, 2, 2, 2, 9857, 9856, 3, 2, 2, 2, 9858, 1221, 3, 2, 2, 2, 9859, 9872, 5, 1224, 613, 2, 9860, 9861, 7, 2225, 2, 2, 9861, 9863, 5, 1044, 523, 2, 9862, 9864, 5, 1226, 614, 2, 9863, 9862, 3, 2, 2, 2, 9863, 9864, 3, 2, 2, 2, 9864, 9865, 3, 2, 2, 2, 9865, 9866, 7, 2226, 2, 2, 9866, 9872, 3, 2, 2, 2, 9867, 9869, 5, 1428, 715, 2, 9868, 9870, 5, 1228, 615, 2, 9869, 9868, 3, 2, 2, 2, 9869, 9870, 3, 2, 2, 2, 9870, 9872, 3, 2, 2, 2, 9871, 9859, 3, 2, 2, 2, 9871, 9860, 3, 2, 2, 2, 9871, 9867, 3, 2, 2, 2, 9872, 1223, 3, 2, 2, 2, 9873, 9884, 9, 110, 2, 2, 9874, 9875, 7, 2225, 2, 2, 9875, 9876, 5, 1054, 528, 2, 9876, 9877, 7, 2226, 2, 2, 9877, 9885, 3, 2, 2, 2, 9878, 9879, 7, 2225, 2, 2, 9879, 9880, 5, 1236, 619, 2, 9880, 9882, 7, 2226, 2, 2, 9881, 9883, 5, 1492, 747, 2, 9882, 9881, 3, 2, 2, 2, 9882, 9883, 3, 2, 2, 2, 9883, 9885, 3, 2, 2, 2, 9884, 9874, 3, 2, 2, 2, 9884, 9878, 3, 2, 2, 2, 9885, 1225, 3, 2, 2, 2, 9886, 9895, 7, 2123, 2, 2, 9887, 9888, 7, 1355, 2, 2, 9888, 9896, 7, 1129, 2, 2, 9889, 9890, 7, 182, 2, 2, 9890, 9893, 7, 1143, 2, 2, 9891, 9892, 7, 259, 2, 2, 9892, 9894, 5, 1398, 700, 2, 9893, 9891, 3, 2, 2, 2, 9893, 9894, 3, 2, 2, 2, 9894, 9896, 3, 2, 2, 2, 9895, 9887, 3, 2, 2, 2, 9895, 9889, 3, 2, 2, 2, 9896, 1227, 3, 2, 2, 2, 9897, 9899, 7, 1461, 2, 2, 9898, 9900, 7, 131, 2, 2, 9899, 9898, 3, 2, 2, 2, 9899, 9900, 3, 2, 2, 2, 9900, 9901, 3, 2, 2, 2, 9901, 9902, 7, 2225, 2, 2, 9902, 9905, 5, 1236, 619, 2, 9903, 9904, 7, 2231, 2, 2, 9904, 9906, 5, 1236, 619, 2, 9905, 9903, 3, 2, 2, 2, 9905, 9906, 3, 2, 2, 2, 9906, 9907, 3, 2, 2, 2, 9907, 9909, 7, 2226, 2, 2, 9908, 9910, 5, 1230, 616, 2, 9909, 9908, 3, 2, 2, 2, 9909, 9910, 3, 2, 2, 2, 9910, 1229, 3, 2, 2, 2, 9911, 9912, 7, 1487, 2, 2, 9912, 9913, 7, 2225, 2, 2, 9913, 9914, 5, 1236, 619, 2, 9914, 9915, 7, 2226, 2, 2, 9915, 1231, 3, 2, 2, 2, 9916, 9917, 5, 1236, 619, 2, 9917, 1233, 3, 2, 2, 2, 9918, 9923, 5, 1236, 619, 2, 9919, 9920, 7, 2231, 2, 2, 9920, 9922, 5, 1236, 619, 2, 9921, 9919, 3, 2, 2, 2, 9922, 9925, 3, 2, 2, 2, 9923, 9921, 3, 2, 2, 2, 9923, 9924, 3, 2, 2, 2, 9924, 1235, 3, 2, 2, 2, 9925, 9923, 3, 2, 2, 2, 9926, 9929, 5, 1238, 620, 2, 9927, 9929, 5, 1240, 621, 2, 9928, 9926, 3, 2, 2, 2, 9928, 9927, 3, 2, 2, 2, 9929, 1237, 3, 2, 2, 2, 9930, 9931, 7, 311, 2, 2, 9931, 9932, 7, 2225, 2, 2, 9932, 9933, 5, 1054, 528, 2, 9933, 9934, 7, 2226, 2, 2, 9934, 1239, 3, 2, 2, 2, 9935, 9936, 8, 621, 1, 2, 9936, 9937, 5, 1242, 622, 2, 9937, 9946, 3, 2, 2, 2, 9938, 9939, 12, 4, 2, 2, 9939, 9940, 7, 45, 2, 2, 9940, 9945, 5, 1240, 621, 5, 9941, 9942, 12, 3, 2, 2, 9942, 9943, 7, 1174, 2, 2, 9943, 9945, 5, 1240, 621, 4, 9944, 9938, 3, 2, 2, 2, 9944, 9941, 3, 2, 2, 2, 9945, 9948, 3, 2, 2, 2, 9946, 9944, 3, 2, 2, 2, 9946, 9947, 3, 2, 2, 2, 9947, 1241, 3, 2, 2, 2, 9948, 9946, 3, 2, 2, 2, 9949, 9951, 7, 1075, 2, 2, 9950, 9949, 3, 2, 2, 2, 9950, 9951, 3, 2, 2, 2, 9951, 9952, 3, 2, 2, 2, 9952, 9960, 5, 1246, 624, 2, 9953, 9955, 7, 697, 2, 2, 9954, 9956, 7, 1075, 2, 2, 9955, 9954, 3, 2, 2, 2, 9955, 9956, 3, 2, 2, 2, 9956, 9957, 3, 2, 2, 2, 9957, 9959, 5, 1244, 623, 2, 9958, 9953, 3, 2, 2, 2, 9959, 9962, 3, 2, 2, 2, 9960, 9958, 3, 2, 2, 2, 9960, 9961, 3, 2, 2, 2, 9961, 1243, 3, 2, 2, 2, 9962, 9960, 3, 2, 2, 2, 9963, 9989, 7, 1099, 2, 2, 9964, 9989, 7, 883, 2, 2, 9965, 9989, 7, 1299, 2, 2, 9966, 9989, 7, 651, 2, 2, 9967, 9968, 7, 35, 2, 2, 9968, 9989, 7, 1512, 2, 2, 9969, 9989, 7, 439, 2, 2, 9970, 9972, 7, 1117, 2, 2, 9971, 9973, 7, 1989, 2, 2, 9972, 9971, 3, 2, 2, 2, 9972, 9973, 3, 2, 2, 2, 9973, 9974, 3, 2, 2, 2, 9974, 9976, 7, 2225, 2, 2, 9975, 9977, 7, 1129, 2, 2, 9976, 9975, 3, 2, 2, 2, 9976, 9977, 3, 2, 2, 2, 9977, 9978, 3, 2, 2, 2, 9978, 9983, 5, 1460, 731, 2, 9979, 9980, 7, 2231, 2, 2, 9980, 9982, 5, 1460, 731, 2, 9981, 9979, 3, 2, 2, 2, 9982, 9985, 3, 2, 2, 2, 9983, 9981, 3, 2, 2, 2, 9983, 9984, 3, 2, 2, 2, 9984, 9986, 3, 2, 2, 2, 9985, 9983, 3, 2, 2, 2, 9986, 9987, 7, 2226, 2, 2, 9987, 9989, 3, 2, 2, 2, 9988, 9963, 3, 2, 2, 2, 9988, 9964, 3, 2, 2, 2, 9988, 9965, 3, 2, 2, 2, 9988, 9966, 3, 2, 2, 2, 9988, 9967, 3, 2, 2, 2, 9988, 9969, 3, 2, 2, 2, 9988, 9970, 3, 2, 2, 2, 9989, 1245, 3, 2, 2, 2, 9990, 9996, 5, 1248, 625, 2, 9991, 9993, 9, 111, 2, 2, 9992, 9994, 7, 1117, 2, 2, 9993, 9992, 3, 2, 2, 2, 9993, 9994, 3, 2, 2, 2, 9994, 9995, 3, 2, 2, 2, 9995, 9997, 5, 1258, 630, 2, 9996, 9991, 3, 2, 2, 2, 9996, 9997, 3, 2, 2, 2, 9997, 1247, 3, 2, 2, 2, 9998, 9999, 8, 625, 1, 2, 9999, 10000, 5, 1250, 626, 2, 10000, 10007, 3, 2, 2, 2, 10001, 10002, 12, 4, 2, 2, 10002, 10003, 5, 1252, 627, 2, 10003, 10004, 5, 1248, 625, 5, 10004, 10006, 3, 2, 2, 2, 10005, 10001, 3, 2, 2, 2, 10006, 10009, 3, 2, 2, 2, 10007, 10005, 3, 2, 2, 2, 10007, 10008, 3, 2, 2, 2, 10008, 1249, 3, 2, 2, 2, 10009, 10007, 3, 2, 2, 2, 10010, 10026, 5, 1258, 630, 2, 10011, 10013, 7, 1075, 2, 2, 10012, 10011, 3, 2, 2, 2, 10012, 10013, 3, 2, 2, 2, 10013, 10024, 3, 2, 2, 2, 10014, 10015, 7, 654, 2, 2, 10015, 10025, 5, 1254, 628, 2, 10016, 10017, 7, 109, 2, 2, 10017, 10025, 5, 1256, 629, 2, 10018, 10019, 9, 112, 2, 2, 10019, 10022, 5, 1258, 630, 2, 10020, 10021, 7, 461, 2, 2, 10021, 10023, 5, 1258, 630, 2, 10022, 10020, 3, 2, 2, 2, 10022, 10023, 3, 2, 2, 2, 10023, 10025, 3, 2, 2, 2, 10024, 10014, 3, 2, 2, 2, 10024, 10016, 3, 2, 2, 2, 10024, 10018, 3, 2, 2, 2, 10025, 10027, 3, 2, 2, 2, 10026, 10012, 3, 2, 2, 2, 10026, 10027, 3, 2, 2, 2, 10027, 1251, 3, 2, 2, 2, 10028, 10043, 7, 2245, 2, 2, 10029, 10037, 7, 2236, 2, 2, 10030, 10031, 7, 2241, 2, 2, 10031, 10037, 7, 2240, 2, 2, 10032, 10033, 7, 2239, 2, 2, 10033, 10037, 7, 2245, 2, 2, 10034, 10035, 7, 2237, 2, 2, 10035, 10037, 7, 2245, 2, 2, 10036, 10029, 3, 2, 2, 2, 10036, 10030, 3, 2, 2, 2, 10036, 10032, 3, 2, 2, 2, 10036, 10034, 3, 2, 2, 2, 10037, 10043, 3, 2, 2, 2, 10038, 10040, 9, 113, 2, 2, 10039, 10041, 7, 2245, 2, 2, 10040, 10039, 3, 2, 2, 2, 10040, 10041, 3, 2, 2, 2, 10041, 10043, 3, 2, 2, 2, 10042, 10028, 3, 2, 2, 2, 10042, 10036, 3, 2, 2, 2, 10042, 10038, 3, 2, 2, 2, 10043, 1253, 3, 2, 2, 2, 10044, 10045, 7, 2225, 2, 2, 10045, 10046, 5, 1054, 528, 2, 10046, 10047, 7, 2226, 2, 2, 10047, 10063, 3, 2, 2, 2, 10048, 10049, 7, 2225, 2, 2, 10049, 10054, 5, 1258, 630, 2, 10050, 10051, 7, 2231, 2, 2, 10051, 10053, 5, 1258, 630, 2, 10052, 10050, 3, 2, 2, 2, 10053, 10056, 3, 2, 2, 2, 10054, 10052, 3, 2, 2, 2, 10054, 10055, 3, 2, 2, 2, 10055, 10057, 3, 2, 2, 2, 10056, 10054, 3, 2, 2, 2, 10057, 10058, 7, 2226, 2, 2, 10058, 10063, 3, 2, 2, 2, 10059, 10063, 5, 1480, 741, 2, 10060, 10063, 5, 1468, 735, 2, 10061, 10063, 5, 1470, 736, 2, 10062, 10044, 3, 2, 2, 2, 10062, 10048, 3, 2, 2, 2, 10062, 10059, 3, 2, 2, 2, 10062, 10060, 3, 2, 2, 2, 10062, 10061, 3, 2, 2, 2, 10063, 1255, 3, 2, 2, 2, 10064, 10065, 5, 1258, 630, 2, 10065, 10066, 7, 45, 2, 2, 10066, 10067, 5, 1258, 630, 2, 10067, 1257, 3, 2, 2, 2, 10068, 10069, 8, 630, 1, 2, 10069, 10078, 5, 1262, 632, 2, 10070, 10075, 7, 76, 2, 2, 10071, 10076, 7, 771, 2, 2, 10072, 10073, 7, 1939, 2, 2, 10073, 10074, 7, 2175, 2, 2, 10074, 10076, 5, 1258, 630, 2, 10075, 10071, 3, 2, 2, 2, 10075, 10072, 3, 2, 2, 2, 10076, 10079, 3, 2, 2, 2, 10077, 10079, 5, 1260, 631, 2, 10078, 10070, 3, 2, 2, 2, 10078, 10077, 3, 2, 2, 2, 10078, 10079, 3, 2, 2, 2, 10079, 10092, 3, 2, 2, 2, 10080, 10081, 12, 5, 2, 2, 10081, 10082, 9, 114, 2, 2, 10082, 10091, 5, 1258, 630, 6, 10083, 10084, 12, 4, 2, 2, 10084, 10085, 9, 115, 2, 2, 10085, 10091, 5, 1258, 630, 5, 10086, 10087, 12, 3, 2, 2, 10087, 10088, 7, 2244, 2, 2, 10088, 10089, 7, 2244, 2, 2, 10089, 10091, 5, 1258, 630, 4, 10090, 10080, 3, 2, 2, 2, 10090, 10083, 3, 2, 2, 2, 10090, 10086, 3, 2, 2, 2, 10091, 10094, 3, 2, 2, 2, 10092, 10090, 3, 2, 2, 2, 10092, 10093, 3, 2, 2, 2, 10093, 1259, 3, 2, 2, 2, 10094, 10092, 3, 2, 2, 2, 10095, 10100, 7, 331, 2, 2, 10096, 10097, 7, 2225, 2, 2, 10097, 10098, 5, 1258, 630, 2, 10098, 10099, 7, 2226, 2, 2, 10099, 10101, 3, 2, 2, 2, 10100, 10096, 3, 2, 2, 2, 10100, 10101, 3, 2, 2, 2, 10101, 10102, 3, 2, 2, 2, 10102, 10103, 7, 1966, 2, 2, 10103, 10108, 7, 1482, 2, 2, 10104, 10105, 7, 2225, 2, 2, 10105, 10106, 5, 1258, 630, 2, 10106, 10107, 7, 2226, 2, 2, 10107, 10109, 3, 2, 2, 2, 10108, 10104, 3, 2, 2, 2, 10108, 10109, 3, 2, 2, 2, 10109, 10120, 3, 2, 2, 2, 10110, 10115, 7, 2171, 2, 2, 10111, 10112, 7, 2225, 2, 2, 10112, 10113, 5, 1258, 630, 2, 10113, 10114, 7, 2226, 2, 2, 10114, 10116, 3, 2, 2, 2, 10115, 10111, 3, 2, 2, 2, 10115, 10116, 3, 2, 2, 2, 10116, 10117, 3, 2, 2, 2, 10117, 10118, 7, 1966, 2, 2, 10118, 10120, 7, 870, 2, 2, 10119, 10095, 3, 2, 2, 2, 10119, 10110, 3, 2, 2, 2, 10120, 1261, 3, 2, 2, 2, 10121, 10126, 5, 1270, 636, 2, 10122, 10123, 7, 2246, 2, 2, 10123, 10124, 5, 1264, 633, 2, 10124, 10125, 7, 2247, 2, 2, 10125, 10127, 3, 2, 2, 2, 10126, 10122, 3, 2, 2, 2, 10126, 10127, 3, 2, 2, 2, 10127, 1263, 3, 2, 2, 2, 10128, 10131, 7, 50, 2, 2, 10129, 10131, 5, 1236, 619, 2, 10130, 10128, 3, 2, 2, 2, 10130, 10129, 3, 2, 2, 2, 10131, 10139, 3, 2, 2, 2, 10132, 10135, 7, 2231, 2, 2, 10133, 10136, 7, 50, 2, 2, 10134, 10136, 5, 1236, 619, 2, 10135, 10133, 3, 2, 2, 2, 10135, 10134, 3, 2, 2, 2, 10136, 10138, 3, 2, 2, 2, 10137, 10132, 3, 2, 2, 2, 10138, 10141, 3, 2, 2, 2, 10139, 10137, 3, 2, 2, 2, 10139, 10140, 3, 2, 2, 2, 10140, 10152, 3, 2, 2, 2, 10141, 10139, 3, 2, 2, 2, 10142, 10147, 5, 1266, 634, 2, 10143, 10144, 7, 2231, 2, 2, 10144, 10146, 5, 1266, 634, 2, 10145, 10143, 3, 2, 2, 2, 10146, 10149, 3, 2, 2, 2, 10147, 10145, 3, 2, 2, 2, 10147, 10148, 3, 2, 2, 2, 10148, 10152, 3, 2, 2, 2, 10149, 10147, 3, 2, 2, 2, 10150, 10152, 5, 1268, 635, 2, 10151, 10130, 3, 2, 2, 2, 10151, 10142, 3, 2, 2, 2, 10151, 10150, 3, 2, 2, 2, 10152, 1265, 3, 2, 2, 2, 10153, 10154, 7, 548, 2, 2, 10154, 10172, 5, 1426, 714, 2, 10155, 10156, 7, 654, 2, 2, 10156, 10158, 7, 2225, 2, 2, 10157, 10159, 5, 1234, 618, 2, 10158, 10157, 3, 2, 2, 2, 10158, 10159, 3, 2, 2, 2, 10159, 10160, 3, 2, 2, 2, 10160, 10173, 7, 2226, 2, 2, 10161, 10162, 7, 759, 2, 2, 10162, 10164, 5, 1236, 619, 2, 10163, 10161, 3, 2, 2, 2, 10163, 10164, 3, 2, 2, 2, 10164, 10165, 3, 2, 2, 2, 10165, 10166, 7, 556, 2, 2, 10166, 10167, 5, 1236, 619, 2, 10167, 10168, 7, 1966, 2, 2, 10168, 10169, 5, 1236, 619, 2, 10169, 10170, 9, 116, 2, 2, 10170, 10171, 5, 1236, 619, 2, 10171, 10173, 3, 2, 2, 2, 10172, 10155, 3, 2, 2, 2, 10172, 10163, 3, 2, 2, 2, 10173, 1267, 3, 2, 2, 2, 10174, 10175, 7, 548, 2, 2, 10175, 10176, 5, 1446, 724, 2, 10176, 10177, 7, 654, 2, 2, 10177, 10184, 7, 2225, 2, 2, 10178, 10185, 5, 1054, 528, 2, 10179, 10181, 7, 2225, 2, 2, 10180, 10182, 5, 1234, 618, 2, 10181, 10180, 3, 2, 2, 2, 10181, 10182, 3, 2, 2, 2, 10182, 10183, 3, 2, 2, 2, 10183, 10185, 7, 2226, 2, 2, 10184, 10178, 3, 2, 2, 2, 10184, 10179, 3, 2, 2, 2, 10185, 10186, 3, 2, 2, 2, 10186, 10187, 7, 2226, 2, 2, 10187, 1269, 3, 2, 2, 2, 10188, 10189, 9, 115, 2, 2, 10189, 10205, 5, 1270, 636, 2, 10190, 10191, 7, 1309, 2, 2, 10191, 10205, 5, 1270, 636, 2, 10192, 10193, 7, 252, 2, 2, 10193, 10205, 5, 1270, 636, 2, 10194, 10195, 7, 905, 2, 2, 10195, 10205, 5, 1270, 636, 2, 10196, 10197, 7, 398, 2, 2, 10197, 10205, 5, 1270, 636, 2, 10198, 10199, 7, 37, 2, 2, 10199, 10205, 5, 1270, 636, 2, 10200, 10205, 5, 1272, 637, 2, 10201, 10205, 5, 1286, 644, 2, 10202, 10205, 5, 1290, 646, 2, 10203, 10205, 5, 1284, 643, 2, 10204, 10188, 3, 2, 2, 2, 10204, 10190, 3, 2, 2, 2, 10204, 10192, 3, 2, 2, 2, 10204, 10194, 3, 2, 2, 2, 10204, 10196, 3, 2, 2, 2, 10204, 10198, 3, 2, 2, 2, 10204, 10200, 3, 2, 2, 2, 10204, 10201, 3, 2, 2, 2, 10204, 10202, 3, 2, 2, 2, 10204, 10203, 3, 2, 2, 2, 10205, 1271, 3, 2, 2, 2, 10206, 10209, 5, 1278, 640, 2, 10207, 10209, 5, 1274, 638, 2, 10208, 10206, 3, 2, 2, 2, 10208, 10207, 3, 2, 2, 2, 10209, 1273, 3, 2, 2, 2, 10210, 10212, 5, 1400, 701, 2, 10211, 10210, 3, 2, 2, 2, 10211, 10212, 3, 2, 2, 2, 10212, 10213, 3, 2, 2, 2, 10213, 10214, 7, 165, 2, 2, 10214, 10216, 5, 1236, 619, 2, 10215, 10217, 5, 1276, 639, 2, 10216, 10215, 3, 2, 2, 2, 10217, 10218, 3, 2, 2, 2, 10218, 10216, 3, 2, 2, 2, 10218, 10219, 3, 2, 2, 2, 10219, 10221, 3, 2, 2, 2, 10220, 10222, 5, 1282, 642, 2, 10221, 10220, 3, 2, 2, 2, 10221, 10222, 3, 2, 2, 2, 10222, 10223, 3, 2, 2, 2, 10223, 10225, 7, 447, 2, 2, 10224, 10226, 7, 165, 2, 2, 10225, 10224, 3, 2, 2, 2, 10225, 10226, 3, 2, 2, 2, 10226, 10228, 3, 2, 2, 2, 10227, 10229, 5, 1400, 701, 2, 10228, 10227, 3, 2, 2, 2, 10228, 10229, 3, 2, 2, 2, 10229, 1275, 3, 2, 2, 2, 10230, 10231, 7, 2115, 2, 2, 10231, 10232, 5, 1236, 619, 2, 10232, 10235, 7, 1927, 2, 2, 10233, 10236, 5, 952, 477, 2, 10234, 10236, 5, 1236, 619, 2, 10235, 10233, 3, 2, 2, 2, 10235, 10234, 3, 2, 2, 2, 10236, 1277, 3, 2, 2, 2, 10237, 10239, 5, 1400, 701, 2, 10238, 10237, 3, 2, 2, 2, 10238, 10239, 3, 2, 2, 2, 10239, 10240, 3, 2, 2, 2, 10240, 10242, 7, 165, 2, 2, 10241, 10243, 5, 1280, 641, 2, 10242, 10241, 3, 2, 2, 2, 10243, 10244, 3, 2, 2, 2, 10244, 10242, 3, 2, 2, 2, 10244, 10245, 3, 2, 2, 2, 10245, 10247, 3, 2, 2, 2, 10246, 10248, 5, 1282, 642, 2, 10247, 10246, 3, 2, 2, 2, 10247, 10248, 3, 2, 2, 2, 10248, 10249, 3, 2, 2, 2, 10249, 10251, 7, 447, 2, 2, 10250, 10252, 7, 165, 2, 2, 10251, 10250, 3, 2, 2, 2, 10251, 10252, 3, 2, 2, 2, 10252, 10254, 3, 2, 2, 2, 10253, 10255, 5, 1400, 701, 2, 10254, 10253, 3, 2, 2, 2, 10254, 10255, 3, 2, 2, 2, 10255, 1279, 3, 2, 2, 2, 10256, 10257, 7, 2115, 2, 2, 10257, 10258, 5, 1236, 619, 2, 10258, 10261, 7, 1927, 2, 2, 10259, 10262, 5, 952, 477, 2, 10260, 10262, 5, 1236, 619, 2, 10261, 10259, 3, 2, 2, 2, 10261, 10260, 3, 2, 2, 2, 10262, 1281, 3, 2, 2, 2, 10263, 10266, 7, 434, 2, 2, 10264, 10267, 5, 952, 477, 2, 10265, 10267, 5, 1236, 619, 2, 10266, 10264, 3, 2, 2, 2, 10266, 10265, 3, 2, 2, 2, 10267, 1283, 3, 2, 2, 2, 10268, 10269, 5, 1474, 738, 2, 10269, 10270, 5, 1492, 747, 2, 10270, 10288, 3, 2, 2, 2, 10271, 10288, 5, 1468, 735, 2, 10272, 10288, 5, 1480, 741, 2, 10273, 10288, 5, 1470, 736, 2, 10274, 10275, 7, 2225, 2, 2, 10275, 10276, 5, 1054, 528, 2, 10276, 10280, 7, 2226, 2, 2, 10277, 10279, 5, 1058, 530, 2, 10278, 10277, 3, 2, 2, 2, 10279, 10282, 3, 2, 2, 2, 10280, 10278, 3, 2, 2, 2, 10280, 10281, 3, 2, 2, 2, 10281, 10288, 3, 2, 2, 2, 10282, 10280, 3, 2, 2, 2, 10283, 10284, 7, 2225, 2, 2, 10284, 10285, 5, 1234, 618, 2, 10285, 10286, 7, 2226, 2, 2, 10286, 10288, 3, 2, 2, 2, 10287, 10268, 3, 2, 2, 2, 10287, 10271, 3, 2, 2, 2, 10287, 10272, 3, 2, 2, 2, 10287, 10273, 3, 2, 2, 2, 10287, 10274, 3, 2, 2, 2, 10287, 10283, 3, 2, 2, 2, 10288, 1285, 3, 2, 2, 2, 10289, 10298, 9, 117, 2, 2, 10290, 10291, 7, 2225, 2, 2, 10291, 10292, 5, 1054, 528, 2, 10292, 10293, 7, 2226, 2, 2, 10293, 10299, 3, 2, 2, 2, 10294, 10295, 7, 2225, 2, 2, 10295, 10296, 5, 1236, 619, 2, 10296, 10297, 7, 2226, 2, 2, 10297, 10299, 3, 2, 2, 2, 10298, 10290, 3, 2, 2, 2, 10298, 10294, 3, 2, 2, 2, 10299, 1287, 3, 2, 2, 2, 10300, 10301, 7, 2204, 2, 2, 10301, 10302, 7, 2225, 2, 2, 10302, 10303, 5, 1236, 619, 2, 10303, 10304, 7, 2231, 2, 2, 10304, 10307, 5, 1236, 619, 2, 10305, 10306, 7, 2231, 2, 2, 10306, 10308, 5, 1236, 619, 2, 10307, 10305, 3, 2, 2, 2, 10307, 10308, 3, 2, 2, 2, 10308, 10309, 3, 2, 2, 2, 10309, 10310, 7, 2226, 2, 2, 10310, 10371, 3, 2, 2, 2, 10311, 10312, 7, 2205, 2, 2, 10312, 10316, 7, 2225, 2, 2, 10313, 10317, 5, 1474, 738, 2, 10314, 10317, 5, 1290, 646, 2, 10315, 10317, 5, 1236, 619, 2, 10316, 10313, 3, 2, 2, 2, 10316, 10314, 3, 2, 2, 2, 10316, 10315, 3, 2, 2, 2, 10317, 10320, 3, 2, 2, 2, 10318, 10319, 7, 2231, 2, 2, 10319, 10321, 5, 1486, 744, 2, 10320, 10318, 3, 2, 2, 2, 10320, 10321, 3, 2, 2, 2, 10321, 10324, 3, 2, 2, 2, 10322, 10323, 7, 2231, 2, 2, 10323, 10325, 5, 1486, 744, 2, 10324, 10322, 3, 2, 2, 2, 10324, 10325, 3, 2, 2, 2, 10325, 10326, 3, 2, 2, 2, 10326, 10327, 7, 2226, 2, 2, 10327, 10371, 3, 2, 2, 2, 10328, 10329, 7, 2192, 2, 2, 10329, 10330, 7, 2225, 2, 2, 10330, 10331, 5, 1234, 618, 2, 10331, 10332, 7, 2226, 2, 2, 10332, 10371, 3, 2, 2, 2, 10333, 10334, 7, 186, 2, 2, 10334, 10335, 7, 2225, 2, 2, 10335, 10336, 5, 1258, 630, 2, 10336, 10337, 7, 2065, 2, 2, 10337, 10338, 7, 891, 2, 2, 10338, 10339, 7, 2226, 2, 2, 10339, 10371, 3, 2, 2, 2, 10340, 10341, 7, 2199, 2, 2, 10341, 10342, 7, 2225, 2, 2, 10342, 10343, 5, 1236, 619, 2, 10343, 10344, 7, 2231, 2, 2, 10344, 10345, 5, 1236, 619, 2, 10345, 10346, 7, 2226, 2, 2, 10346, 10371, 3, 2, 2, 2, 10347, 10348, 7, 2206, 2, 2, 10348, 10356, 7, 2225, 2, 2, 10349, 10351, 9, 118, 2, 2, 10350, 10349, 3, 2, 2, 2, 10350, 10351, 3, 2, 2, 2, 10351, 10353, 3, 2, 2, 2, 10352, 10354, 5, 1486, 744, 2, 10353, 10352, 3, 2, 2, 2, 10353, 10354, 3, 2, 2, 2, 10354, 10355, 3, 2, 2, 2, 10355, 10357, 7, 556, 2, 2, 10356, 10350, 3, 2, 2, 2, 10356, 10357, 3, 2, 2, 2, 10357, 10358, 3, 2, 2, 2, 10358, 10359, 5, 1258, 630, 2, 10359, 10360, 7, 2226, 2, 2, 10360, 10371, 3, 2, 2, 2, 10361, 10362, 7, 2213, 2, 2, 10362, 10363, 7, 2225, 2, 2, 10363, 10366, 5, 1236, 619, 2, 10364, 10365, 7, 2231, 2, 2, 10365, 10367, 5, 1486, 744, 2, 10366, 10364, 3, 2, 2, 2, 10366, 10367, 3, 2, 2, 2, 10367, 10368, 3, 2, 2, 2, 10368, 10369, 7, 2226, 2, 2, 10369, 10371, 3, 2, 2, 2, 10370, 10300, 3, 2, 2, 2, 10370, 10311, 3, 2, 2, 2, 10370, 10328, 3, 2, 2, 2, 10370, 10333, 3, 2, 2, 2, 10370, 10340, 3, 2, 2, 2, 10370, 10347, 3, 2, 2, 2, 10370, 10361, 3, 2, 2, 2, 10371, 1289, 3, 2, 2, 2, 10372, 10376, 5, 1288, 645, 2, 10373, 10376, 5, 1294, 648, 2, 10374, 10376, 5, 1298, 650, 2, 10375, 10372, 3, 2, 2, 2, 10375, 10373, 3, 2, 2, 2, 10375, 10374, 3, 2, 2, 2, 10376, 1291, 3, 2, 2, 2, 10377, 10382, 7, 2221, 2, 2, 10378, 10382, 5, 1288, 645, 2, 10379, 10382, 5, 1482, 742, 2, 10380, 10382, 7, 824, 2, 2, 10381, 10377, 3, 2, 2, 2, 10381, 10378, 3, 2, 2, 2, 10381, 10379, 3, 2, 2, 2, 10381, 10380, 3, 2, 2, 2, 10382, 1293, 3, 2, 2, 2, 10383, 10386, 5, 1296, 649, 2, 10384, 10387, 5, 1266, 634, 2, 10385, 10387, 5, 1268, 635, 2, 10386, 10384, 3, 2, 2, 2, 10386, 10385, 3, 2, 2, 2, 10386, 10387, 3, 2, 2, 2, 10387, 1295, 3, 2, 2, 2, 10388, 10389, 7, 2207, 2, 2, 10389, 10391, 7, 2225, 2, 2, 10390, 10392, 9, 119, 2, 2, 10391, 10390, 3, 2, 2, 2, 10391, 10392, 3, 2, 2, 2, 10392, 10393, 3, 2, 2, 2, 10393, 10394, 5, 1236, 619, 2, 10394, 10395, 7, 2226, 2, 2, 10395, 10447, 3, 2, 2, 2, 10396, 10397, 7, 283, 2, 2, 10397, 10405, 7, 2225, 2, 2, 10398, 10406, 7, 2228, 2, 2, 10399, 10401, 9, 96, 2, 2, 10400, 10399, 3, 2, 2, 2, 10400, 10401, 3, 2, 2, 2, 10401, 10402, 3, 2, 2, 2, 10402, 10404, 5, 1258, 630, 2, 10403, 10400, 3, 2, 2, 2, 10403, 10404, 3, 2, 2, 2, 10404, 10406, 3, 2, 2, 2, 10405, 10398, 3, 2, 2, 2, 10405, 10403, 3, 2, 2, 2, 10406, 10407, 3, 2, 2, 2, 10407, 10409, 7, 2226, 2, 2, 10408, 10410, 5, 1306, 654, 2, 10409, 10408, 3, 2, 2, 2, 10409, 10410, 3, 2, 2, 2, 10410, 10447, 3, 2, 2, 2, 10411, 10412, 7, 2202, 2, 2, 10412, 10413, 7, 2225, 2, 2, 10413, 10416, 5, 1236, 619, 2, 10414, 10415, 7, 2231, 2, 2, 10415, 10417, 7, 2219, 2, 2, 10416, 10414, 3, 2, 2, 2, 10416, 10417, 3, 2, 2, 2, 10417, 10418, 3, 2, 2, 2, 10418, 10419, 7, 2226, 2, 2, 10419, 10447, 3, 2, 2, 2, 10420, 10421, 7, 2189, 2, 2, 10421, 10423, 7, 2225, 2, 2, 10422, 10424, 9, 119, 2, 2, 10423, 10422, 3, 2, 2, 2, 10423, 10424, 3, 2, 2, 2, 10424, 10425, 3, 2, 2, 2, 10425, 10426, 5, 1236, 619, 2, 10426, 10427, 7, 2226, 2, 2, 10427, 10447, 3, 2, 2, 2, 10428, 10429, 7, 2195, 2, 2, 10429, 10431, 7, 2225, 2, 2, 10430, 10432, 9, 119, 2, 2, 10431, 10430, 3, 2, 2, 2, 10431, 10432, 3, 2, 2, 2, 10432, 10433, 3, 2, 2, 2, 10433, 10434, 5, 1236, 619, 2, 10434, 10435, 7, 2226, 2, 2, 10435, 10447, 3, 2, 2, 2, 10436, 10437, 7, 2211, 2, 2, 10437, 10438, 7, 2225, 2, 2, 10438, 10439, 5, 1234, 618, 2, 10439, 10440, 7, 2226, 2, 2, 10440, 10447, 3, 2, 2, 2, 10441, 10442, 7, 2212, 2, 2, 10442, 10443, 7, 2225, 2, 2, 10443, 10444, 5, 1234, 618, 2, 10444, 10445, 7, 2226, 2, 2, 10445, 10447, 3, 2, 2, 2, 10446, 10388, 3, 2, 2, 2, 10446, 10396, 3, 2, 2, 2, 10446, 10411, 3, 2, 2, 2, 10446, 10420, 3, 2, 2, 2, 10446, 10428, 3, 2, 2, 2, 10446, 10436, 3, 2, 2, 2, 10446, 10441, 3, 2, 2, 2, 10447, 1297, 3, 2, 2, 2, 10448, 10449, 5, 1300, 651, 2, 10449, 10451, 5, 1452, 727, 2, 10450, 10452, 5, 1306, 654, 2, 10451, 10450, 3, 2, 2, 2, 10451, 10452, 3, 2, 2, 2, 10452, 10744, 3, 2, 2, 2, 10453, 10454, 5, 1494, 748, 2, 10454, 10456, 5, 1454, 728, 2, 10455, 10457, 5, 1314, 658, 2, 10456, 10455, 3, 2, 2, 2, 10456, 10457, 3, 2, 2, 2, 10457, 10744, 3, 2, 2, 2, 10458, 10459, 7, 283, 2, 2, 10459, 10465, 7, 2225, 2, 2, 10460, 10466, 7, 2228, 2, 2, 10461, 10463, 9, 96, 2, 2, 10462, 10461, 3, 2, 2, 2, 10462, 10463, 3, 2, 2, 2, 10463, 10464, 3, 2, 2, 2, 10464, 10466, 5, 1258, 630, 2, 10465, 10460, 3, 2, 2, 2, 10465, 10462, 3, 2, 2, 2, 10466, 10467, 3, 2, 2, 2, 10467, 10469, 7, 2226, 2, 2, 10468, 10470, 5, 1306, 654, 2, 10469, 10468, 3, 2, 2, 2, 10469, 10470, 3, 2, 2, 2, 10470, 10744, 3, 2, 2, 2, 10471, 10472, 9, 120, 2, 2, 10472, 10479, 7, 2225, 2, 2, 10473, 10474, 7, 878, 2, 2, 10474, 10475, 7, 2225, 2, 2, 10475, 10476, 5, 1054, 528, 2, 10476, 10477, 7, 2226, 2, 2, 10477, 10480, 3, 2, 2, 2, 10478, 10480, 5, 1258, 630, 2, 10479, 10473, 3, 2, 2, 2, 10479, 10478, 3, 2, 2, 2, 10480, 10481, 3, 2, 2, 2, 10481, 10482, 7, 63, 2, 2, 10482, 10483, 5, 1460, 731, 2, 10483, 10484, 7, 2226, 2, 2, 10484, 10744, 3, 2, 2, 2, 10485, 10486, 7, 207, 2, 2, 10486, 10487, 7, 2225, 2, 2, 10487, 10493, 5, 1474, 738, 2, 10488, 10491, 7, 2231, 2, 2, 10489, 10492, 5, 1482, 742, 2, 10490, 10492, 5, 1486, 744, 2, 10491, 10489, 3, 2, 2, 2, 10491, 10490, 3, 2, 2, 2, 10492, 10494, 3, 2, 2, 2, 10493, 10488, 3, 2, 2, 2, 10493, 10494, 3, 2, 2, 2, 10494, 10495, 3, 2, 2, 2, 10495, 10496, 7, 2226, 2, 2, 10496, 10744, 3, 2, 2, 2, 10497, 10498, 7, 212, 2, 2, 10498, 10500, 7, 2225, 2, 2, 10499, 10501, 9, 121, 2, 2, 10500, 10499, 3, 2, 2, 2, 10500, 10501, 3, 2, 2, 2, 10501, 10502, 3, 2, 2, 2, 10502, 10504, 5, 1258, 630, 2, 10503, 10505, 5, 1318, 660, 2, 10504, 10503, 3, 2, 2, 2, 10504, 10505, 3, 2, 2, 2, 10505, 10506, 3, 2, 2, 2, 10506, 10507, 7, 2226, 2, 2, 10507, 10744, 3, 2, 2, 2, 10508, 10509, 5, 1302, 652, 2, 10509, 10511, 5, 1450, 726, 2, 10510, 10512, 5, 1320, 661, 2, 10511, 10510, 3, 2, 2, 2, 10512, 10513, 3, 2, 2, 2, 10513, 10511, 3, 2, 2, 2, 10513, 10514, 3, 2, 2, 2, 10514, 10744, 3, 2, 2, 2, 10515, 10516, 5, 1418, 710, 2, 10516, 10517, 9, 122, 2, 2, 10517, 10744, 3, 2, 2, 2, 10518, 10519, 7, 347, 2, 2, 10519, 10520, 7, 2225, 2, 2, 10520, 10522, 5, 1258, 630, 2, 10521, 10523, 9, 123, 2, 2, 10522, 10521, 3, 2, 2, 2, 10522, 10523, 3, 2, 2, 2, 10523, 10524, 3, 2, 2, 2, 10524, 10525, 7, 2226, 2, 2, 10525, 10744, 3, 2, 2, 2, 10526, 10527, 7, 498, 2, 2, 10527, 10528, 7, 2225, 2, 2, 10528, 10529, 5, 1494, 748, 2, 10529, 10530, 7, 556, 2, 2, 10530, 10531, 5, 1258, 630, 2, 10531, 10532, 7, 2226, 2, 2, 10532, 10744, 3, 2, 2, 2, 10533, 10534, 9, 124, 2, 2, 10534, 10536, 5, 1452, 727, 2, 10535, 10537, 5, 1456, 729, 2, 10536, 10535, 3, 2, 2, 2, 10536, 10537, 3, 2, 2, 2, 10537, 10538, 3, 2, 2, 2, 10538, 10539, 5, 1306, 654, 2, 10539, 10744, 3, 2, 2, 2, 10540, 10541, 5, 1304, 653, 2, 10541, 10542, 7, 2225, 2, 2, 10542, 10544, 5, 1234, 618, 2, 10543, 10545, 5, 1322, 662, 2, 10544, 10543, 3, 2, 2, 2, 10544, 10545, 3, 2, 2, 2, 10545, 10547, 3, 2, 2, 2, 10546, 10548, 5, 1314, 658, 2, 10547, 10546, 3, 2, 2, 2, 10547, 10548, 3, 2, 2, 2, 10548, 10549, 3, 2, 2, 2, 10549, 10550, 7, 2226, 2, 2, 10550, 10744, 3, 2, 2, 2, 10551, 10552, 7, 1976, 2, 2, 10552, 10553, 7, 2225, 2, 2, 10553, 10556, 5, 1236, 619, 2, 10554, 10555, 7, 2065, 2, 2, 10555, 10557, 9, 125, 2, 2, 10556, 10554, 3, 2, 2, 2, 10556, 10557, 3, 2, 2, 2, 10557, 10562, 3, 2, 2, 2, 10558, 10559, 7, 2231, 2, 2, 10559, 10561, 5, 1236, 619, 2, 10560, 10558, 3, 2, 2, 2, 10561, 10564, 3, 2, 2, 2, 10562, 10560, 3, 2, 2, 2, 10562, 10563, 3, 2, 2, 2, 10563, 10565, 3, 2, 2, 2, 10564, 10562, 3, 2, 2, 2, 10565, 10566, 7, 2226, 2, 2, 10566, 10744, 3, 2, 2, 2, 10567, 10568, 7, 1978, 2, 2, 10568, 10569, 7, 2225, 2, 2, 10569, 10570, 5, 1236, 619, 2, 10570, 10572, 7, 63, 2, 2, 10571, 10573, 7, 1378, 2, 2, 10572, 10571, 3, 2, 2, 2, 10572, 10573, 3, 2, 2, 2, 10573, 10574, 3, 2, 2, 2, 10574, 10575, 5, 1460, 731, 2, 10575, 10576, 7, 2226, 2, 2, 10576, 10744, 3, 2, 2, 2, 10577, 10578, 7, 2206, 2, 2, 10578, 10586, 7, 2225, 2, 2, 10579, 10581, 9, 118, 2, 2, 10580, 10579, 3, 2, 2, 2, 10580, 10581, 3, 2, 2, 2, 10581, 10583, 3, 2, 2, 2, 10582, 10584, 5, 1486, 744, 2, 10583, 10582, 3, 2, 2, 2, 10583, 10584, 3, 2, 2, 2, 10584, 10585, 3, 2, 2, 2, 10585, 10587, 7, 556, 2, 2, 10586, 10580, 3, 2, 2, 2, 10586, 10587, 3, 2, 2, 2, 10587, 10588, 3, 2, 2, 2, 10588, 10589, 5, 1258, 630, 2, 10589, 10590, 7, 2226, 2, 2, 10590, 10744, 3, 2, 2, 2, 10591, 10592, 7, 2133, 2, 2, 10592, 10593, 7, 2225, 2, 2, 10593, 10595, 5, 1236, 619, 2, 10594, 10596, 5, 1152, 577, 2, 10595, 10594, 3, 2, 2, 2, 10595, 10596, 3, 2, 2, 2, 10596, 10597, 3, 2, 2, 2, 10597, 10600, 7, 2226, 2, 2, 10598, 10599, 7, 2218, 2, 2, 10599, 10601, 5, 1472, 737, 2, 10600, 10598, 3, 2, 2, 2, 10600, 10601, 3, 2, 2, 2, 10601, 10744, 3, 2, 2, 2, 10602, 10603, 9, 126, 2, 2, 10603, 10604, 7, 2225, 2, 2, 10604, 10609, 5, 1334, 668, 2, 10605, 10606, 7, 2231, 2, 2, 10606, 10608, 5, 1334, 668, 2, 10607, 10605, 3, 2, 2, 2, 10608, 10611, 3, 2, 2, 2, 10609, 10607, 3, 2, 2, 2, 10609, 10610, 3, 2, 2, 2, 10610, 10612, 3, 2, 2, 2, 10611, 10609, 3, 2, 2, 2, 10612, 10615, 7, 2226, 2, 2, 10613, 10614, 7, 2218, 2, 2, 10614, 10616, 5, 1472, 737, 2, 10615, 10613, 3, 2, 2, 2, 10615, 10616, 3, 2, 2, 2, 10616, 10744, 3, 2, 2, 2, 10617, 10618, 7, 2142, 2, 2, 10618, 10620, 7, 2225, 2, 2, 10619, 10621, 9, 127, 2, 2, 10620, 10619, 3, 2, 2, 2, 10620, 10621, 3, 2, 2, 2, 10621, 10623, 3, 2, 2, 2, 10622, 10624, 9, 128, 2, 2, 10623, 10622, 3, 2, 2, 2, 10623, 10624, 3, 2, 2, 2, 10624, 10625, 3, 2, 2, 2, 10625, 10628, 5, 1236, 619, 2, 10626, 10627, 7, 2231, 2, 2, 10627, 10629, 5, 1326, 664, 2, 10628, 10626, 3, 2, 2, 2, 10628, 10629, 3, 2, 2, 2, 10629, 10637, 3, 2, 2, 2, 10630, 10631, 7, 2231, 2, 2, 10631, 10633, 5, 1236, 619, 2, 10632, 10634, 5, 1354, 678, 2, 10633, 10632, 3, 2, 2, 2, 10633, 10634, 3, 2, 2, 2, 10634, 10636, 3, 2, 2, 2, 10635, 10630, 3, 2, 2, 2, 10636, 10639, 3, 2, 2, 2, 10637, 10635, 3, 2, 2, 2, 10637, 10638, 3, 2, 2, 2, 10638, 10640, 3, 2, 2, 2, 10639, 10637, 3, 2, 2, 2, 10640, 10643, 7, 2226, 2, 2, 10641, 10642, 7, 2218, 2, 2, 10642, 10644, 5, 1472, 737, 2, 10643, 10641, 3, 2, 2, 2, 10643, 10644, 3, 2, 2, 2, 10644, 10744, 3, 2, 2, 2, 10645, 10646, 7, 2144, 2, 2, 10646, 10647, 7, 2225, 2, 2, 10647, 10649, 5, 1236, 619, 2, 10648, 10650, 5, 1324, 663, 2, 10649, 10648, 3, 2, 2, 2, 10649, 10650, 3, 2, 2, 2, 10650, 10651, 3, 2, 2, 2, 10651, 10652, 7, 2226, 2, 2, 10652, 10744, 3, 2, 2, 2, 10653, 10654, 7, 2153, 2, 2, 10654, 10655, 7, 2225, 2, 2, 10655, 10656, 9, 129, 2, 2, 10656, 10658, 5, 1258, 630, 2, 10657, 10659, 7, 2113, 2, 2, 10658, 10657, 3, 2, 2, 2, 10658, 10659, 3, 2, 2, 2, 10659, 10660, 3, 2, 2, 2, 10660, 10663, 7, 2226, 2, 2, 10661, 10662, 7, 2218, 2, 2, 10662, 10664, 5, 1472, 737, 2, 10663, 10661, 3, 2, 2, 2, 10663, 10664, 3, 2, 2, 2, 10664, 10744, 3, 2, 2, 2, 10665, 10666, 7, 2155, 2, 2, 10666, 10671, 7, 2225, 2, 2, 10667, 10668, 7, 881, 2, 2, 10668, 10672, 5, 1488, 745, 2, 10669, 10670, 7, 464, 2, 2, 10670, 10672, 5, 1258, 630, 2, 10671, 10667, 3, 2, 2, 2, 10671, 10669, 3, 2, 2, 2, 10672, 10675, 3, 2, 2, 2, 10673, 10674, 7, 2231, 2, 2, 10674, 10676, 5, 1258, 630, 2, 10675, 10673, 3, 2, 2, 2, 10675, 10676, 3, 2, 2, 2, 10676, 10677, 3, 2, 2, 2, 10677, 10680, 7, 2226, 2, 2, 10678, 10679, 7, 2218, 2, 2, 10679, 10681, 5, 1472, 737, 2, 10680, 10678, 3, 2, 2, 2, 10680, 10681, 3, 2, 2, 2, 10681, 10744, 3, 2, 2, 2, 10682, 10683, 7, 2157, 2, 2, 10683, 10684, 7, 2225, 2, 2, 10684, 10686, 5, 1258, 630, 2, 10685, 10687, 5, 1324, 663, 2, 10686, 10685, 3, 2, 2, 2, 10686, 10687, 3, 2, 2, 2, 10687, 10688, 3, 2, 2, 2, 10688, 10689, 7, 1432, 2, 2, 10689, 10693, 7, 265, 2, 2, 10690, 10691, 7, 1099, 2, 2, 10691, 10692, 7, 1130, 2, 2, 10692, 10694, 7, 439, 2, 2, 10693, 10690, 3, 2, 2, 2, 10693, 10694, 3, 2, 2, 2, 10694, 10695, 3, 2, 2, 2, 10695, 10698, 7, 2226, 2, 2, 10696, 10697, 7, 2218, 2, 2, 10697, 10699, 5, 1472, 737, 2, 10698, 10696, 3, 2, 2, 2, 10698, 10699, 3, 2, 2, 2, 10699, 10744, 3, 2, 2, 2, 10700, 10701, 7, 2158, 2, 2, 10701, 10702, 7, 2225, 2, 2, 10702, 10705, 5, 1258, 630, 2, 10703, 10704, 7, 2231, 2, 2, 10704, 10706, 5, 1336, 669, 2, 10705, 10703, 3, 2, 2, 2, 10705, 10706, 3, 2, 2, 2, 10706, 10709, 3, 2, 2, 2, 10707, 10708, 7, 2231, 2, 2, 10708, 10710, 5, 1338, 670, 2, 10709, 10707, 3, 2, 2, 2, 10709, 10710, 3, 2, 2, 2, 10710, 10711, 3, 2, 2, 2, 10711, 10714, 7, 2226, 2, 2, 10712, 10713, 7, 2218, 2, 2, 10713, 10715, 5, 1472, 737, 2, 10714, 10712, 3, 2, 2, 2, 10714, 10715, 3, 2, 2, 2, 10715, 10744, 3, 2, 2, 2, 10716, 10717, 7, 2160, 2, 2, 10717, 10718, 7, 2225, 2, 2, 10718, 10719, 9, 129, 2, 2, 10719, 10722, 5, 1258, 630, 2, 10720, 10721, 7, 63, 2, 2, 10721, 10723, 5, 1460, 731, 2, 10722, 10720, 3, 2, 2, 2, 10722, 10723, 3, 2, 2, 2, 10723, 10725, 3, 2, 2, 2, 10724, 10726, 5, 1340, 671, 2, 10725, 10724, 3, 2, 2, 2, 10725, 10726, 3, 2, 2, 2, 10726, 10728, 3, 2, 2, 2, 10727, 10729, 5, 1342, 672, 2, 10728, 10727, 3, 2, 2, 2, 10728, 10729, 3, 2, 2, 2, 10729, 10731, 3, 2, 2, 2, 10730, 10732, 5, 1344, 673, 2, 10731, 10730, 3, 2, 2, 2, 10731, 10732, 3, 2, 2, 2, 10732, 10735, 3, 2, 2, 2, 10733, 10734, 9, 130, 2, 2, 10734, 10736, 7, 354, 2, 2, 10735, 10733, 3, 2, 2, 2, 10735, 10736, 3, 2, 2, 2, 10736, 10737, 3, 2, 2, 2, 10737, 10740, 7, 2226, 2, 2, 10738, 10739, 7, 2218, 2, 2, 10739, 10741, 5, 1472, 737, 2, 10740, 10738, 3, 2, 2, 2, 10740, 10741, 3, 2, 2, 2, 10741, 10744, 3, 2, 2, 2, 10742, 10744, 5, 1430, 716, 2, 10743, 10448, 3, 2, 2, 2, 10743, 10453, 3, 2, 2, 2, 10743, 10458, 3, 2, 2, 2, 10743, 10471, 3, 2, 2, 2, 10743, 10485, 3, 2, 2, 2, 10743, 10497, 3, 2, 2, 2, 10743, 10508, 3, 2, 2, 2, 10743, 10515, 3, 2, 2, 2, 10743, 10518, 3, 2, 2, 2, 10743, 10526, 3, 2, 2, 2, 10743, 10533, 3, 2, 2, 2, 10743, 10540, 3, 2, 2, 2, 10743, 10551, 3, 2, 2, 2, 10743, 10567, 3, 2, 2, 2, 10743, 10577, 3, 2, 2, 2, 10743, 10591, 3, 2, 2, 2, 10743, 10602, 3, 2, 2, 2, 10743, 10617, 3, 2, 2, 2, 10743, 10645, 3, 2, 2, 2, 10743, 10653, 3, 2, 2, 2, 10743, 10665, 3, 2, 2, 2, 10743, 10682, 3, 2, 2, 2, 10743, 10700, 3, 2, 2, 2, 10743, 10716, 3, 2, 2, 2, 10743, 10742, 3, 2, 2, 2, 10744, 1299, 3, 2, 2, 2, 10745, 10746, 9, 131, 2, 2, 10746, 1301, 3, 2, 2, 2, 10747, 10748, 9, 132, 2, 2, 10748, 1303, 3, 2, 2, 2, 10749, 10750, 9, 133, 2, 2, 10750, 1305, 3, 2, 2, 2, 10751, 10752, 7, 1188, 2, 2, 10752, 10754, 7, 2225, 2, 2, 10753, 10755, 5, 1084, 543, 2, 10754, 10753, 3, 2, 2, 2, 10754, 10755, 3, 2, 2, 2, 10755, 10760, 3, 2, 2, 2, 10756, 10758, 5, 1152, 577, 2, 10757, 10759, 5, 1308, 655, 2, 10758, 10757, 3, 2, 2, 2, 10758, 10759, 3, 2, 2, 2, 10759, 10761, 3, 2, 2, 2, 10760, 10756, 3, 2, 2, 2, 10760, 10761, 3, 2, 2, 2, 10761, 10762, 3, 2, 2, 2, 10762, 10763, 7, 2226, 2, 2, 10763, 1307, 3, 2, 2, 2, 10764, 10771, 5, 1310, 656, 2, 10765, 10766, 7, 109, 2, 2, 10766, 10767, 5, 1312, 657, 2, 10767, 10768, 7, 45, 2, 2, 10768, 10769, 5, 1312, 657, 2, 10769, 10772, 3, 2, 2, 2, 10770, 10772, 5, 1312, 657, 2, 10771, 10765, 3, 2, 2, 2, 10771, 10770, 3, 2, 2, 2, 10772, 1309, 3, 2, 2, 2, 10773, 10774, 9, 134, 2, 2, 10774, 1311, 3, 2, 2, 2, 10775, 10776, 7, 1996, 2, 2, 10776, 10783, 7, 1292, 2, 2, 10777, 10778, 7, 304, 2, 2, 10778, 10783, 7, 1453, 2, 2, 10779, 10780, 5, 1258, 630, 2, 10780, 10781, 9, 135, 2, 2, 10781, 10783, 3, 2, 2, 2, 10782, 10775, 3, 2, 2, 2, 10782, 10777, 3, 2, 2, 2, 10782, 10779, 3, 2, 2, 2, 10783, 1313, 3, 2, 2, 2, 10784, 10794, 7, 2065, 2, 2, 10785, 10795, 7, 2228, 2, 2, 10786, 10791, 5, 1316, 659, 2, 10787, 10788, 7, 2231, 2, 2, 10788, 10790, 5, 1316, 659, 2, 10789, 10787, 3, 2, 2, 2, 10790, 10793, 3, 2, 2, 2, 10791, 10789, 3, 2, 2, 2, 10791, 10792, 3, 2, 2, 2, 10792, 10795, 3, 2, 2, 2, 10793, 10791, 3, 2, 2, 2, 10794, 10785, 3, 2, 2, 2, 10794, 10786, 3, 2, 2, 2, 10795, 1315, 3, 2, 2, 2, 10796, 10798, 7, 654, 2, 2, 10797, 10799, 7, 1184, 2, 2, 10798, 10797, 3, 2, 2, 2, 10798, 10799, 3, 2, 2, 2, 10799, 10802, 3, 2, 2, 2, 10800, 10802, 7, 1184, 2, 2, 10801, 10796, 3, 2, 2, 2, 10801, 10800, 3, 2, 2, 2, 10801, 10802, 3, 2, 2, 2, 10802, 10803, 3, 2, 2, 2, 10803, 10804, 5, 1066, 534, 2, 10804, 1317, 3, 2, 2, 2, 10805, 10806, 7, 1170, 2, 2, 10806, 10807, 7, 148, 2, 2, 10807, 10808, 5, 1258, 630, 2, 10808, 1319, 3, 2, 2, 2, 10809, 10810, 7, 2120, 2, 2, 10810, 10811, 7, 575, 2, 2, 10811, 10812, 7, 2225, 2, 2, 10812, 10813, 5, 1152, 577, 2, 10813, 10814, 7, 2226, 2, 2, 10814, 10817, 3, 2, 2, 2, 10815, 10817, 5, 1306, 654, 2, 10816, 10809, 3, 2, 2, 2, 10816, 10815, 3, 2, 2, 2, 10817, 1321, 3, 2, 2, 2, 10818, 10840, 7, 281, 2, 2, 10819, 10821, 7, 856, 2, 2, 10820, 10822, 7, 85, 2, 2, 10821, 10820, 3, 2, 2, 2, 10821, 10822, 3, 2, 2, 2, 10822, 10841, 3, 2, 2, 2, 10823, 10824, 7, 2225, 2, 2, 10824, 10829, 5, 1364, 683, 2, 10825, 10826, 7, 2231, 2, 2, 10826, 10828, 5, 1364, 683, 2, 10827, 10825, 3, 2, 2, 2, 10828, 10831, 3, 2, 2, 2, 10829, 10827, 3, 2, 2, 2, 10829, 10830, 3, 2, 2, 2, 10830, 10832, 3, 2, 2, 2, 10831, 10829, 3, 2, 2, 2, 10832, 10833, 7, 2226, 2, 2, 10833, 10834, 7, 2075, 2, 2, 10834, 10836, 7, 2225, 2, 2, 10835, 10837, 5, 1234, 618, 2, 10836, 10835, 3, 2, 2, 2, 10836, 10837, 3, 2, 2, 2, 10837, 10838, 3, 2, 2, 2, 10838, 10839, 7, 2226, 2, 2, 10839, 10841, 3, 2, 2, 2, 10840, 10819, 3, 2, 2, 2, 10840, 10823, 3, 2, 2, 2, 10841, 1323, 3, 2, 2, 2, 10842, 10845, 7, 1213, 2, 2, 10843, 10844, 7, 148, 2, 2, 10844, 10846, 7, 2076, 2, 2, 10845, 10843, 3, 2, 2, 2, 10845, 10846, 3, 2, 2, 2, 10846, 10847, 3, 2, 2, 2, 10847, 10849, 5, 1236, 619, 2, 10848, 10850, 5, 1354, 678, 2, 10849, 10848, 3, 2, 2, 2, 10849, 10850, 3, 2, 2, 2, 10850, 10858, 3, 2, 2, 2, 10851, 10852, 7, 2231, 2, 2, 10852, 10854, 5, 1236, 619, 2, 10853, 10855, 5, 1354, 678, 2, 10854, 10853, 3, 2, 2, 2, 10854, 10855, 3, 2, 2, 2, 10855, 10857, 3, 2, 2, 2, 10856, 10851, 3, 2, 2, 2, 10857, 10860, 3, 2, 2, 2, 10858, 10856, 3, 2, 2, 2, 10858, 10859, 3, 2, 2, 2, 10859, 1325, 3, 2, 2, 2, 10860, 10858, 3, 2, 2, 2, 10861, 10862, 7, 2134, 2, 2, 10862, 10864, 7, 2225, 2, 2, 10863, 10865, 9, 127, 2, 2, 10864, 10863, 3, 2, 2, 2, 10864, 10865, 3, 2, 2, 2, 10865, 10867, 3, 2, 2, 2, 10866, 10868, 9, 136, 2, 2, 10867, 10866, 3, 2, 2, 2, 10867, 10868, 3, 2, 2, 2, 10868, 10869, 3, 2, 2, 2, 10869, 10874, 5, 1334, 668, 2, 10870, 10871, 7, 2231, 2, 2, 10871, 10873, 5, 1334, 668, 2, 10872, 10870, 3, 2, 2, 2, 10873, 10876, 3, 2, 2, 2, 10874, 10872, 3, 2, 2, 2, 10874, 10875, 3, 2, 2, 2, 10875, 10877, 3, 2, 2, 2, 10876, 10874, 3, 2, 2, 2, 10877, 10878, 7, 2226, 2, 2, 10878, 1327, 3, 2, 2, 2, 10879, 10880, 7, 2152, 2, 2, 10880, 10884, 7, 2225, 2, 2, 10881, 10882, 5, 1258, 630, 2, 10882, 10883, 5, 1354, 678, 2, 10883, 10885, 3, 2, 2, 2, 10884, 10881, 3, 2, 2, 2, 10884, 10885, 3, 2, 2, 2, 10885, 10892, 3, 2, 2, 2, 10886, 10887, 7, 2231, 2, 2, 10887, 10888, 5, 1258, 630, 2, 10888, 10889, 5, 1354, 678, 2, 10889, 10891, 3, 2, 2, 2, 10890, 10886, 3, 2, 2, 2, 10891, 10894, 3, 2, 2, 2, 10892, 10890, 3, 2, 2, 2, 10892, 10893, 3, 2, 2, 2, 10893, 10896, 3, 2, 2, 2, 10894, 10892, 3, 2, 2, 2, 10895, 10897, 5, 1332, 667, 2, 10896, 10895, 3, 2, 2, 2, 10896, 10897, 3, 2, 2, 2, 10897, 10898, 3, 2, 2, 2, 10898, 10899, 7, 2226, 2, 2, 10899, 1329, 3, 2, 2, 2, 10900, 10911, 5, 1362, 682, 2, 10901, 10902, 7, 548, 2, 2, 10902, 10912, 7, 1171, 2, 2, 10903, 10906, 5, 1460, 731, 2, 10904, 10905, 7, 1223, 2, 2, 10905, 10907, 5, 1258, 630, 2, 10906, 10904, 3, 2, 2, 2, 10906, 10907, 3, 2, 2, 2, 10907, 10909, 3, 2, 2, 2, 10908, 10910, 5, 1332, 667, 2, 10909, 10908, 3, 2, 2, 2, 10909, 10910, 3, 2, 2, 2, 10910, 10912, 3, 2, 2, 2, 10911, 10901, 3, 2, 2, 2, 10911, 10903, 3, 2, 2, 2, 10912, 1331, 3, 2, 2, 2, 10913, 10914, 7, 353, 2, 2, 10914, 10915, 5, 1258, 630, 2, 10915, 1333, 3, 2, 2, 2, 10916, 10923, 5, 1236, 619, 2, 10917, 10921, 7, 63, 2, 2, 10918, 10922, 5, 1490, 746, 2, 10919, 10920, 7, 464, 2, 2, 10920, 10922, 5, 1258, 630, 2, 10921, 10918, 3, 2, 2, 2, 10921, 10919, 3, 2, 2, 2, 10922, 10924, 3, 2, 2, 2, 10923, 10917, 3, 2, 2, 2, 10923, 10924, 3, 2, 2, 2, 10924, 1335, 3, 2, 2, 2, 10925, 10929, 7, 2100, 2, 2, 10926, 10927, 7, 1012, 2, 2, 10927, 10930, 7, 2076, 2, 2, 10928, 10930, 5, 1236, 619, 2, 10929, 10926, 3, 2, 2, 2, 10929, 10928, 3, 2, 2, 2, 10930, 1337, 3, 2, 2, 2, 10931, 10937, 7, 1564, 2, 2, 10932, 10938, 7, 2172, 2, 2, 10933, 10935, 7, 1012, 2, 2, 10934, 10936, 7, 2076, 2, 2, 10935, 10934, 3, 2, 2, 2, 10935, 10936, 3, 2, 2, 2, 10936, 10938, 3, 2, 2, 2, 10937, 10932, 3, 2, 2, 2, 10937, 10933, 3, 2, 2, 2, 10938, 1339, 3, 2, 2, 2, 10939, 10940, 7, 444, 2, 2, 10940, 10941, 5, 1258, 630, 2, 10941, 1341, 3, 2, 2, 2, 10942, 10943, 7, 2100, 2, 2, 10943, 10944, 5, 1258, 630, 2, 10944, 1343, 3, 2, 2, 2, 10945, 10946, 7, 1012, 2, 2, 10946, 10954, 7, 625, 2, 2, 10947, 10951, 7, 625, 2, 2, 10948, 10949, 7, 1537, 2, 2, 10949, 10950, 7, 2245, 2, 2, 10950, 10952, 5, 1258, 630, 2, 10951, 10948, 3, 2, 2, 2, 10951, 10952, 3, 2, 2, 2, 10952, 10954, 3, 2, 2, 2, 10953, 10945, 3, 2, 2, 2, 10953, 10947, 3, 2, 2, 2, 10954, 1345, 3, 2, 2, 2, 10955, 10964, 7, 2232, 2, 2, 10956, 10964, 7, 482, 2, 2, 10957, 10964, 7, 2252, 2, 2, 10958, 10959, 7, 1522, 2, 2, 10959, 10964, 9, 137, 2, 2, 10960, 10964, 7, 2253, 2, 2, 10961, 10964, 5, 1348, 675, 2, 10962, 10964, 5, 1350, 676, 2, 10963, 10955, 3, 2, 2, 2, 10963, 10956, 3, 2, 2, 2, 10963, 10957, 3, 2, 2, 2, 10963, 10958, 3, 2, 2, 2, 10963, 10960, 3, 2, 2, 2, 10963, 10961, 3, 2, 2, 2, 10963, 10962, 3, 2, 2, 2, 10964, 1347, 3, 2, 2, 2, 10965, 10966, 7, 2114, 2, 2, 10966, 10977, 9, 138, 2, 2, 10967, 10972, 7, 482, 2, 2, 10968, 10973, 7, 1620, 2, 2, 10969, 10973, 7, 509, 2, 2, 10970, 10973, 7, 2110, 2, 2, 10971, 10973, 5, 1414, 708, 2, 10972, 10968, 3, 2, 2, 2, 10972, 10969, 3, 2, 2, 2, 10972, 10970, 3, 2, 2, 2, 10972, 10971, 3, 2, 2, 2, 10973, 10974, 3, 2, 2, 2, 10974, 10978, 9, 139, 2, 2, 10975, 10976, 7, 268, 2, 2, 10976, 10978, 9, 140, 2, 2, 10977, 10967, 3, 2, 2, 2, 10977, 10975, 3, 2, 2, 2, 10978, 1349, 3, 2, 2, 2, 10979, 10980, 7, 1512, 2, 2, 10980, 10986, 5, 1494, 748, 2, 10981, 10987, 7, 2221, 2, 2, 10982, 10987, 7, 1130, 2, 2, 10983, 10987, 7, 1115, 2, 2, 10984, 10987, 5, 1482, 742, 2, 10985, 10987, 5, 1494, 748, 2, 10986, 10981, 3, 2, 2, 2, 10986, 10982, 3, 2, 2, 2, 10986, 10983, 3, 2, 2, 2, 10986, 10984, 3, 2, 2, 2, 10986, 10985, 3, 2, 2, 2, 10987, 1351, 3, 2, 2, 2, 10988, 10990, 9, 141, 2, 2, 10989, 10991, 7, 548, 2, 2, 10990, 10989, 3, 2, 2, 2, 10990, 10991, 3, 2, 2, 2, 10991, 10992, 3, 2, 2, 2, 10992, 10994, 7, 2225, 2, 2, 10993, 10995, 5, 1234, 618, 2, 10994, 10993, 3, 2, 2, 2, 10994, 10995, 3, 2, 2, 2, 10995, 10996, 3, 2, 2, 2, 10996, 10997, 7, 2226, 2, 2, 10997, 1353, 3, 2, 2, 2, 10998, 11000, 7, 63, 2, 2, 10999, 10998, 3, 2, 2, 2, 10999, 11000, 3, 2, 2, 2, 11000, 11003, 3, 2, 2, 2, 11001, 11004, 5, 1488, 745, 2, 11002, 11004, 5, 1486, 744, 2, 11003, 11001, 3, 2, 2, 2, 11003, 11002, 3, 2, 2, 2, 11004, 11007, 3, 2, 2, 2, 11005, 11007, 7, 63, 2, 2, 11006, 10999, 3, 2, 2, 2, 11006, 11005, 3, 2, 2, 2, 11007, 1355, 3, 2, 2, 2, 11008, 11011, 5, 1488, 745, 2, 11009, 11011, 5, 1486, 744, 2, 11010, 11008, 3, 2, 2, 2, 11010, 11009, 3, 2, 2, 2, 11011, 1357, 3, 2, 2, 2, 11012, 11017, 7, 2116, 2, 2, 11013, 11014, 7, 304, 2, 2, 11014, 11015, 7, 1117, 2, 2, 11015, 11018, 5, 1418, 710, 2, 11016, 11018, 5, 1236, 619, 2, 11017, 11013, 3, 2, 2, 2, 11017, 11016, 3, 2, 2, 2, 11018, 1359, 3, 2, 2, 2, 11019, 11020, 7, 147, 2, 2, 11020, 11022, 7, 212, 2, 2, 11021, 11019, 3, 2, 2, 2, 11021, 11022, 3, 2, 2, 2, 11022, 11023, 3, 2, 2, 2, 11023, 11024, 7, 693, 2, 2, 11024, 11029, 5, 1414, 708, 2, 11025, 11026, 7, 2231, 2, 2, 11026, 11028, 5, 1414, 708, 2, 11027, 11025, 3, 2, 2, 2, 11028, 11031, 3, 2, 2, 2, 11029, 11027, 3, 2, 2, 2, 11029, 11030, 3, 2, 2, 2, 11030, 1361, 3, 2, 2, 2, 11031, 11029, 3, 2, 2, 2, 11032, 11035, 5, 1488, 745, 2, 11033, 11035, 5, 1486, 744, 2, 11034, 11032, 3, 2, 2, 2, 11034, 11033, 3, 2, 2, 2, 11035, 1363, 3, 2, 2, 2, 11036, 11037, 5, 1488, 745, 2, 11037, 1365, 3, 2, 2, 2, 11038, 11039, 5, 1488, 745, 2, 11039, 1367, 3, 2, 2, 2, 11040, 11041, 5, 1488, 745, 2, 11041, 1369, 3, 2, 2, 2, 11042, 11043, 5, 1488, 745, 2, 11043, 1371, 3, 2, 2, 2, 11044, 11045, 5, 1488, 745, 2, 11045, 1373, 3, 2, 2, 2, 11046, 11047, 5, 1488, 745, 2, 11047, 1375, 3, 2, 2, 2, 11048, 11053, 5, 1488, 745, 2, 11049, 11050, 7, 2218, 2, 2, 11050, 11052, 5, 1490, 746, 2, 11051, 11049, 3, 2, 2, 2, 11052, 11055, 3, 2, 2, 2, 11053, 11051, 3, 2, 2, 2, 11053, 11054, 3, 2, 2, 2, 11054, 11058, 3, 2, 2, 2, 11055, 11053, 3, 2, 2, 2, 11056, 11057, 7, 2233, 2, 2, 11057, 11059, 5, 1424, 713, 2, 11058, 11056, 3, 2, 2, 2, 11058, 11059, 3, 2, 2, 2, 11059, 1377, 3, 2, 2, 2, 11060, 11061, 5, 1488, 745, 2, 11061, 1379, 3, 2, 2, 2, 11062, 11065, 5, 1488, 745, 2, 11063, 11064, 7, 2218, 2, 2, 11064, 11066, 5, 1490, 746, 2, 11065, 11063, 3, 2, 2, 2, 11065, 11066, 3, 2, 2, 2, 11066, 1381, 3, 2, 2, 2, 11067, 11068, 5, 1488, 745, 2, 11068, 1383, 3, 2, 2, 2, 11069, 11070, 5, 1488, 745, 2, 11070, 1385, 3, 2, 2, 2, 11071, 11072, 5, 1488, 745, 2, 11072, 1387, 3, 2, 2, 2, 11073, 11076, 5, 1488, 745, 2, 11074, 11075, 7, 2218, 2, 2, 11075, 11077, 5, 1490, 746, 2, 11076, 11074, 3, 2, 2, 2, 11076, 11077, 3, 2, 2, 2, 11077, 1389, 3, 2, 2, 2, 11078, 11083, 5, 1488, 745, 2, 11079, 11080, 7, 2218, 2, 2, 11080, 11082, 5, 1490, 746, 2, 11081, 11079, 3, 2, 2, 2, 11082, 11085, 3, 2, 2, 2, 11083, 11081, 3, 2, 2, 2, 11083, 11084, 3, 2, 2, 2, 11084, 1391, 3, 2, 2, 2, 11085, 11083, 3, 2, 2, 2, 11086, 11087, 5, 1488, 745, 2, 11087, 1393, 3, 2, 2, 2, 11088, 11090, 5, 1490, 746, 2, 11089, 11091, 5, 278, 140, 2, 11090, 11089, 3, 2, 2, 2, 11090, 11091, 3, 2, 2, 2, 11091, 1395, 3, 2, 2, 2, 11092, 11095, 5, 1490, 746, 2, 11093, 11095, 7, 253, 2, 2, 11094, 11092, 3, 2, 2, 2, 11094, 11093, 3, 2, 2, 2, 11095, 1397, 3, 2, 2, 2, 11096, 11101, 5, 1488, 745, 2, 11097, 11098, 7, 2218, 2, 2, 11098, 11100, 5, 1490, 746, 2, 11099, 11097, 3, 2, 2, 2, 11100, 11103, 3, 2, 2, 2, 11101, 11099, 3, 2, 2, 2, 11101, 11102, 3, 2, 2, 2, 11102, 11106, 3, 2, 2, 2, 11103, 11101, 3, 2, 2, 2, 11104, 11105, 7, 2233, 2, 2, 11105, 11107, 5, 1424, 713, 2, 11106, 11104, 3, 2, 2, 2, 11106, 11107, 3, 2, 2, 2, 11107, 1399, 3, 2, 2, 2, 11108, 11109, 5, 1490, 746, 2, 11109, 1401, 3, 2, 2, 2, 11110, 11115, 5, 1490, 746, 2, 11111, 11112, 7, 2218, 2, 2, 11112, 11114, 5, 1490, 746, 2, 11113, 11111, 3, 2, 2, 2, 11114, 11117, 3, 2, 2, 2, 11115, 11113, 3, 2, 2, 2, 11115, 11116, 3, 2, 2, 2, 11116, 1403, 3, 2, 2, 2, 11117, 11115, 3, 2, 2, 2, 11118, 11123, 5, 1490, 746, 2, 11119, 11120, 7, 2218, 2, 2, 11120, 11122, 5, 1490, 746, 2, 11121, 11119, 3, 2, 2, 2, 11122, 11125, 3, 2, 2, 2, 11123, 11121, 3, 2, 2, 2, 11123, 11124, 3, 2, 2, 2, 11124, 1405, 3, 2, 2, 2, 11125, 11123, 3, 2, 2, 2, 11126, 11131, 5, 1488, 745, 2, 11127, 11128, 7, 2218, 2, 2, 11128, 11130, 5, 1490, 746, 2, 11129, 11127, 3, 2, 2, 2, 11130, 11133, 3, 2, 2, 2, 11131, 11129, 3, 2, 2, 2, 11131, 11132, 3, 2, 2, 2, 11132, 1407, 3, 2, 2, 2, 11133, 11131, 3, 2, 2, 2, 11134, 11137, 5, 1488, 745, 2, 11135, 11136, 7, 2218, 2, 2, 11136, 11138, 5, 1490, 746, 2, 11137, 11135, 3, 2, 2, 2, 11137, 11138, 3, 2, 2, 2, 11138, 1409, 3, 2, 2, 2, 11139, 11142, 5, 1488, 745, 2, 11140, 11141, 7, 2218, 2, 2, 11141, 11143, 5, 1490, 746, 2, 11142, 11140, 3, 2, 2, 2, 11142, 11143, 3, 2, 2, 2, 11143, 1411, 3, 2, 2, 2, 11144, 11147, 5, 1488, 745, 2, 11145, 11146, 7, 2218, 2, 2, 11146, 11148, 5, 1490, 746, 2, 11147, 11145, 3, 2, 2, 2, 11147, 11148, 3, 2, 2, 2, 11148, 1413, 3, 2, 2, 2, 11149, 11150, 7, 2248, 2, 2, 11150, 11152, 5, 1432, 717, 2, 11151, 11149, 3, 2, 2, 2, 11151, 11152, 3, 2, 2, 2, 11152, 11153, 3, 2, 2, 2, 11153, 11156, 5, 1490, 746, 2, 11154, 11155, 7, 2218, 2, 2, 11155, 11157, 5, 1490, 746, 2, 11156, 11154, 3, 2, 2, 2, 11156, 11157, 3, 2, 2, 2, 11157, 11160, 3, 2, 2, 2, 11158, 11160, 5, 1468, 735, 2, 11159, 11151, 3, 2, 2, 2, 11159, 11158, 3, 2, 2, 2, 11160, 1415, 3, 2, 2, 2, 11161, 11164, 5, 1488, 745, 2, 11162, 11163, 7, 2218, 2, 2, 11163, 11165, 5, 1490, 746, 2, 11164, 11162, 3, 2, 2, 2, 11164, 11165, 3, 2, 2, 2, 11165, 1417, 3, 2, 2, 2, 11166, 11169, 5, 1470, 736, 2, 11167, 11169, 5, 1468, 735, 2, 11168, 11166, 3, 2, 2, 2, 11168, 11167, 3, 2, 2, 2, 11169, 1419, 3, 2, 2, 2, 11170, 11173, 5, 1488, 745, 2, 11171, 11173, 5, 1468, 735, 2, 11172, 11170, 3, 2, 2, 2, 11172, 11171, 3, 2, 2, 2, 11173, 1421, 3, 2, 2, 2, 11174, 11177, 5, 1488, 745, 2, 11175, 11176, 7, 2218, 2, 2, 11176, 11178, 5, 1490, 746, 2, 11177, 11175, 3, 2, 2, 2, 11177, 11178, 3, 2, 2, 2, 11178, 1423, 3, 2, 2, 2, 11179, 11180, 5, 1488, 745, 2, 11180, 1425, 3, 2, 2, 2, 11181, 11186, 5, 1488, 745, 2, 11182, 11183, 7, 2218, 2, 2, 11183, 11185, 5, 1490, 746, 2, 11184, 11182, 3, 2, 2, 2, 11185, 11188, 3, 2, 2, 2, 11186, 11184, 3, 2, 2, 2, 11186, 11187, 3, 2, 2, 2, 11187, 1427, 3, 2, 2, 2, 11188, 11186, 3, 2, 2, 2, 11189, 11192, 5, 1488, 745, 2, 11190, 11191, 7, 2218, 2, 2, 11191, 11193, 5, 1490, 746, 2, 11192, 11190, 3, 2, 2, 2, 11192, 11193, 3, 2, 2, 2, 11193, 11197, 3, 2, 2, 2, 11194, 11195, 7, 2233, 2, 2, 11195, 11198, 5, 1424, 713, 2, 11196, 11198, 5, 1352, 677, 2, 11197, 11194, 3, 2, 2, 2, 11197, 11196, 3, 2, 2, 2, 11197, 11198, 3, 2, 2, 2, 11198, 11204, 3, 2, 2, 2, 11199, 11201, 5, 1430, 716, 2, 11200, 11202, 5, 1492, 747, 2, 11201, 11200, 3, 2, 2, 2, 11201, 11202, 3, 2, 2, 2, 11202, 11204, 3, 2, 2, 2, 11203, 11189, 3, 2, 2, 2, 11203, 11199, 3, 2, 2, 2, 11204, 1429, 3, 2, 2, 2, 11205, 11206, 7, 2161, 2, 2, 11206, 11210, 7, 2225, 2, 2, 11207, 11208, 5, 1328, 665, 2, 11208, 11209, 7, 2231, 2, 2, 11209, 11211, 3, 2, 2, 2, 11210, 11207, 3, 2, 2, 2, 11210, 11211, 3, 2, 2, 2, 11211, 11212, 3, 2, 2, 2, 11212, 11214, 5, 1258, 630, 2, 11213, 11215, 5, 1324, 663, 2, 11214, 11213, 3, 2, 2, 2, 11214, 11215, 3, 2, 2, 2, 11215, 11225, 3, 2, 2, 2, 11216, 11217, 7, 216, 2, 2, 11217, 11222, 5, 1330, 666, 2, 11218, 11219, 7, 2231, 2, 2, 11219, 11221, 5, 1330, 666, 2, 11220, 11218, 3, 2, 2, 2, 11221, 11224, 3, 2, 2, 2, 11222, 11220, 3, 2, 2, 2, 11222, 11223, 3, 2, 2, 2, 11223, 11226, 3, 2, 2, 2, 11224, 11222, 3, 2, 2, 2, 11225, 11216, 3, 2, 2, 2, 11225, 11226, 3, 2, 2, 2, 11226, 11227, 3, 2, 2, 2, 11227, 11230, 7, 2226, 2, 2, 11228, 11229, 7, 2218, 2, 2, 11229, 11231, 5, 1472, 737, 2, 11230, 11228, 3, 2, 2, 2, 11230, 11231, 3, 2, 2, 2, 11231, 1431, 3, 2, 2, 2, 11232, 11237, 5, 1490, 746, 2, 11233, 11234, 7, 2218, 2, 2, 11234, 11236, 5, 1490, 746, 2, 11235, 11233, 3, 2, 2, 2, 11236, 11239, 3, 2, 2, 2, 11237, 11235, 3, 2, 2, 2, 11237, 11238, 3, 2, 2, 2, 11238, 1433, 3, 2, 2, 2, 11239, 11237, 3, 2, 2, 2, 11240, 11241, 5, 1488, 745, 2, 11241, 1435, 3, 2, 2, 2, 11242, 11243, 5, 1490, 746, 2, 11243, 1437, 3, 2, 2, 2, 11244, 11245, 5, 1490, 746, 2, 11245, 1439, 3, 2, 2, 2, 11246, 11247, 5, 1490, 746, 2, 11247, 1441, 3, 2, 2, 2, 11248, 11273, 5, 1428, 715, 2, 11249, 11250, 7, 2057, 2, 2, 11250, 11255, 5, 1440, 721, 2, 11251, 11252, 7, 2231, 2, 2, 11252, 11254, 5, 1440, 721, 2, 11253, 11251, 3, 2, 2, 2, 11254, 11257, 3, 2, 2, 2, 11255, 11253, 3, 2, 2, 2, 11255, 11256, 3, 2, 2, 2, 11256, 11273, 3, 2, 2, 2, 11257, 11255, 3, 2, 2, 2, 11258, 11259, 7, 382, 2, 2, 11259, 11273, 5, 1438, 720, 2, 11260, 11261, 7, 426, 2, 2, 11261, 11273, 5, 1436, 719, 2, 11262, 11263, 7, 843, 2, 2, 11263, 11264, 7, 856, 2, 2, 11264, 11273, 5, 1436, 719, 2, 11265, 11266, 7, 702, 2, 2, 11266, 11267, 9, 142, 2, 2, 11267, 11273, 5, 1436, 719, 2, 11268, 11269, 7, 1559, 2, 2, 11269, 11270, 7, 1977, 2, 2, 11270, 11271, 7, 1318, 2, 2, 11271, 11273, 5, 1436, 719, 2, 11272, 11248, 3, 2, 2, 2, 11272, 11249, 3, 2, 2, 2, 11272, 11258, 3, 2, 2, 2, 11272, 11260, 3, 2, 2, 2, 11272, 11262, 3, 2, 2, 2, 11272, 11265, 3, 2, 2, 2, 11272, 11268, 3, 2, 2, 2, 11273, 1443, 3, 2, 2, 2, 11274, 11279, 5, 1426, 714, 2, 11275, 11276, 7, 2231, 2, 2, 11276, 11278, 5, 1426, 714, 2, 11277, 11275, 3, 2, 2, 2, 11278, 11281, 3, 2, 2, 2, 11279, 11277, 3, 2, 2, 2, 11279, 11280, 3, 2, 2, 2, 11280, 1445, 3, 2, 2, 2, 11281, 11279, 3, 2, 2, 2, 11282, 11283, 7, 2225, 2, 2, 11283, 11284, 5, 1444, 723, 2, 11284, 11285, 7, 2226, 2, 2, 11285, 1447, 3, 2, 2, 2, 11286, 11287, 7, 722, 2, 2, 11287, 11288, 7, 2225, 2, 2, 11288, 11289, 7, 2183, 2, 2, 11289, 11290, 9, 106, 2, 2, 11290, 11291, 5, 1152, 577, 2, 11291, 11293, 7, 2226, 2, 2, 11292, 11294, 5, 1306, 654, 2, 11293, 11292, 3, 2, 2, 2, 11293, 11294, 3, 2, 2, 2, 11294, 1449, 3, 2, 2, 2, 11295, 11304, 7, 2225, 2, 2, 11296, 11301, 5, 1458, 730, 2, 11297, 11298, 7, 2231, 2, 2, 11298, 11300, 5, 1458, 730, 2, 11299, 11297, 3, 2, 2, 2, 11300, 11303, 3, 2, 2, 2, 11301, 11299, 3, 2, 2, 2, 11301, 11302, 3, 2, 2, 2, 11302, 11305, 3, 2, 2, 2, 11303, 11301, 3, 2, 2, 2, 11304, 11296, 3, 2, 2, 2, 11304, 11305, 3, 2, 2, 2, 11305, 11306, 3, 2, 2, 2, 11306, 11308, 7, 2226, 2, 2, 11307, 11309, 5, 1448, 725, 2, 11308, 11307, 3, 2, 2, 2, 11308, 11309, 3, 2, 2, 2, 11309, 1451, 3, 2, 2, 2, 11310, 11325, 7, 2225, 2, 2, 11311, 11313, 5, 1458, 730, 2, 11312, 11314, 5, 1456, 729, 2, 11313, 11312, 3, 2, 2, 2, 11313, 11314, 3, 2, 2, 2, 11314, 11322, 3, 2, 2, 2, 11315, 11316, 7, 2231, 2, 2, 11316, 11318, 5, 1458, 730, 2, 11317, 11319, 5, 1456, 729, 2, 11318, 11317, 3, 2, 2, 2, 11318, 11319, 3, 2, 2, 2, 11319, 11321, 3, 2, 2, 2, 11320, 11315, 3, 2, 2, 2, 11321, 11324, 3, 2, 2, 2, 11322, 11320, 3, 2, 2, 2, 11322, 11323, 3, 2, 2, 2, 11323, 11326, 3, 2, 2, 2, 11324, 11322, 3, 2, 2, 2, 11325, 11311, 3, 2, 2, 2, 11325, 11326, 3, 2, 2, 2, 11326, 11327, 3, 2, 2, 2, 11327, 11329, 7, 2226, 2, 2, 11328, 11330, 5, 1448, 725, 2, 11329, 11328, 3, 2, 2, 2, 11329, 11330, 3, 2, 2, 2, 11330, 1453, 3, 2, 2, 2, 11331, 11332, 7, 2225, 2, 2, 11332, 11345, 5, 1426, 714, 2, 11333, 11336, 7, 2231, 2, 2, 11334, 11337, 5, 1482, 742, 2, 11335, 11337, 7, 1099, 2, 2, 11336, 11334, 3, 2, 2, 2, 11336, 11335, 3, 2, 2, 2, 11337, 11343, 3, 2, 2, 2, 11338, 11341, 7, 2231, 2, 2, 11339, 11342, 5, 1482, 742, 2, 11340, 11342, 7, 1099, 2, 2, 11341, 11339, 3, 2, 2, 2, 11341, 11340, 3, 2, 2, 2, 11342, 11344, 3, 2, 2, 2, 11343, 11338, 3, 2, 2, 2, 11343, 11344, 3, 2, 2, 2, 11344, 11346, 3, 2, 2, 2, 11345, 11333, 3, 2, 2, 2, 11345, 11346, 3, 2, 2, 2, 11346, 11347, 3, 2, 2, 2, 11347, 11367, 7, 2065, 2, 2, 11348, 11349, 5, 1428, 715, 2, 11349, 11350, 7, 2218, 2, 2, 11350, 11351, 7, 2228, 2, 2, 11351, 11368, 3, 2, 2, 2, 11352, 11368, 7, 2228, 2, 2, 11353, 11355, 5, 1236, 619, 2, 11354, 11356, 5, 1354, 678, 2, 11355, 11354, 3, 2, 2, 2, 11355, 11356, 3, 2, 2, 2, 11356, 11364, 3, 2, 2, 2, 11357, 11358, 7, 2231, 2, 2, 11358, 11360, 5, 1236, 619, 2, 11359, 11361, 5, 1354, 678, 2, 11360, 11359, 3, 2, 2, 2, 11360, 11361, 3, 2, 2, 2, 11361, 11363, 3, 2, 2, 2, 11362, 11357, 3, 2, 2, 2, 11363, 11366, 3, 2, 2, 2, 11364, 11362, 3, 2, 2, 2, 11364, 11365, 3, 2, 2, 2, 11365, 11368, 3, 2, 2, 2, 11366, 11364, 3, 2, 2, 2, 11367, 11348, 3, 2, 2, 2, 11367, 11352, 3, 2, 2, 2, 11367, 11353, 3, 2, 2, 2, 11368, 11369, 3, 2, 2, 2, 11369, 11371, 7, 2226, 2, 2, 11370, 11372, 5, 1448, 725, 2, 11371, 11370, 3, 2, 2, 2, 11371, 11372, 3, 2, 2, 2, 11372, 1455, 3, 2, 2, 2, 11373, 11374, 9, 143, 2, 2, 11374, 11375, 7, 1100, 2, 2, 11375, 1457, 3, 2, 2, 2, 11376, 11377, 5, 1488, 745, 2, 11377, 11378, 7, 2245, 2, 2, 11378, 11379, 7, 2240, 2, 2, 11379, 11381, 3, 2, 2, 2, 11380, 11376, 3, 2, 2, 2, 11380, 11381, 3, 2, 2, 2, 11381, 11382, 3, 2, 2, 2, 11382, 11383, 5, 1236, 619, 2, 11383, 1459, 3, 2, 2, 2, 11384, 11393, 5, 1462, 732, 2, 11385, 11387, 7, 1378, 2, 2, 11386, 11385, 3, 2, 2, 2, 11386, 11387, 3, 2, 2, 2, 11387, 11388, 3, 2, 2, 2, 11388, 11390, 5, 1402, 702, 2, 11389, 11391, 9, 144, 2, 2, 11390, 11389, 3, 2, 2, 2, 11390, 11391, 3, 2, 2, 2, 11391, 11393, 3, 2, 2, 2, 11392, 11384, 3, 2, 2, 2, 11392, 11386, 3, 2, 2, 2, 11393, 1461, 3, 2, 2, 2, 11394, 11396, 5, 1466, 734, 2, 11395, 11397, 5, 1464, 733, 2, 11396, 11395, 3, 2, 2, 2, 11396, 11397, 3, 2, 2, 2, 11397, 11407, 3, 2, 2, 2, 11398, 11400, 7, 2123, 2, 2, 11399, 11401, 7, 771, 2, 2, 11400, 11399, 3, 2, 2, 2, 11400, 11401, 3, 2, 2, 2, 11401, 11402, 3, 2, 2, 2, 11402, 11403, 7, 1939, 2, 2, 11403, 11408, 7, 2175, 2, 2, 11404, 11405, 7, 177, 2, 2, 11405, 11406, 7, 1512, 2, 2, 11406, 11408, 5, 1432, 717, 2, 11407, 11398, 3, 2, 2, 2, 11407, 11404, 3, 2, 2, 2, 11407, 11408, 3, 2, 2, 2, 11408, 11426, 3, 2, 2, 2, 11409, 11410, 7, 691, 2, 2, 11410, 11415, 9, 145, 2, 2, 11411, 11412, 7, 2225, 2, 2, 11412, 11413, 5, 1236, 619, 2, 11413, 11414, 7, 2226, 2, 2, 11414, 11416, 3, 2, 2, 2, 11415, 11411, 3, 2, 2, 2, 11415, 11416, 3, 2, 2, 2, 11416, 11417, 3, 2, 2, 2, 11417, 11418, 7, 1966, 2, 2, 11418, 11423, 9, 146, 2, 2, 11419, 11420, 7, 2225, 2, 2, 11420, 11421, 5, 1236, 619, 2, 11421, 11422, 7, 2226, 2, 2, 11422, 11424, 3, 2, 2, 2, 11423, 11419, 3, 2, 2, 2, 11423, 11424, 3, 2, 2, 2, 11424, 11426, 3, 2, 2, 2, 11425, 11394, 3, 2, 2, 2, 11425, 11409, 3, 2, 2, 2, 11426, 1463, 3, 2, 2, 2, 11427, 11430, 7, 2225, 2, 2, 11428, 11431, 5, 1482, 742, 2, 11429, 11431, 7, 2228, 2, 2, 11430, 11428, 3, 2, 2, 2, 11430, 11429, 3, 2, 2, 2, 11431, 11434, 3, 2, 2, 2, 11432, 11433, 7, 2231, 2, 2, 11433, 11435, 5, 1482, 742, 2, 11434, 11432, 3, 2, 2, 2, 11434, 11435, 3, 2, 2, 2, 11435, 11437, 3, 2, 2, 2, 11436, 11438, 9, 147, 2, 2, 11437, 11436, 3, 2, 2, 2, 11437, 11438, 3, 2, 2, 2, 11438, 11439, 3, 2, 2, 2, 11439, 11440, 7, 2226, 2, 2, 11440, 1465, 3, 2, 2, 2, 11441, 11502, 7, 120, 2, 2, 11442, 11502, 7, 1261, 2, 2, 11443, 11502, 7, 888, 2, 2, 11444, 11502, 7, 117, 2, 2, 11445, 11502, 7, 114, 2, 2, 11446, 11502, 7, 889, 2, 2, 11447, 11502, 7, 1276, 2, 2, 11448, 11502, 7, 1275, 2, 2, 11449, 11502, 7, 1530, 2, 2, 11450, 11502, 7, 1531, 2, 2, 11451, 11502, 7, 1106, 2, 2, 11452, 11502, 7, 344, 2, 2, 11453, 11502, 7, 684, 2, 2, 11454, 11502, 7, 692, 2, 2, 11455, 11502, 7, 1102, 2, 2, 11456, 11502, 7, 1543, 2, 2, 11457, 11502, 7, 1101, 2, 2, 11458, 11502, 7, 345, 2, 2, 11459, 11461, 7, 409, 2, 2, 11460, 11462, 7, 1293, 2, 2, 11461, 11460, 3, 2, 2, 2, 11461, 11462, 3, 2, 2, 2, 11462, 11502, 3, 2, 2, 2, 11463, 11502, 7, 536, 2, 2, 11464, 11502, 7, 1358, 2, 2, 11465, 11502, 7, 892, 2, 2, 11466, 11468, 7, 790, 2, 2, 11467, 11469, 7, 1349, 2, 2, 11468, 11467, 3, 2, 2, 2, 11468, 11469, 3, 2, 2, 2, 11469, 11502, 3, 2, 2, 2, 11470, 11502, 7, 178, 2, 2, 11471, 11502, 7, 177, 2, 2, 11472, 11502, 7, 2077, 2, 2, 11473, 11502, 7, 2078, 2, 2, 11474, 11502, 7, 1600, 2, 2, 11475, 11502, 7, 1349, 2, 2, 11476, 11502, 7, 136, 2, 2, 11477, 11502, 7, 329, 2, 2, 11478, 11502, 7, 1448, 2, 2, 11479, 11502, 7, 2034, 2, 2, 11480, 11502, 7, 2171, 2, 2, 11481, 11502, 7, 870, 2, 2, 11482, 11502, 7, 331, 2, 2, 11483, 11502, 7, 600, 2, 2, 11484, 11502, 7, 846, 2, 2, 11485, 11502, 7, 1482, 2, 2, 11486, 11502, 7, 1942, 2, 2, 11487, 11502, 7, 1943, 2, 2, 11488, 11502, 7, 1945, 2, 2, 11489, 11502, 7, 1941, 2, 2, 11490, 11502, 7, 1935, 2, 2, 11491, 11502, 7, 1937, 2, 2, 11492, 11502, 7, 1936, 2, 2, 11493, 11502, 7, 1934, 2, 2, 11494, 11502, 7, 2173, 2, 2, 11495, 11502, 7, 415, 2, 2, 11496, 11502, 7, 110, 2, 2, 11497, 11502, 7, 130, 2, 2, 11498, 11502, 7, 194, 2, 2, 11499, 11502, 7, 894, 2, 2, 11500, 11502, 7, 851, 2, 2, 11501, 11441, 3, 2, 2, 2, 11501, 11442, 3, 2, 2, 2, 11501, 11443, 3, 2, 2, 2, 11501, 11444, 3, 2, 2, 2, 11501, 11445, 3, 2, 2, 2, 11501, 11446, 3, 2, 2, 2, 11501, 11447, 3, 2, 2, 2, 11501, 11448, 3, 2, 2, 2, 11501, 11449, 3, 2, 2, 2, 11501, 11450, 3, 2, 2, 2, 11501, 11451, 3, 2, 2, 2, 11501, 11452, 3, 2, 2, 2, 11501, 11453, 3, 2, 2, 2, 11501, 11454, 3, 2, 2, 2, 11501, 11455, 3, 2, 2, 2, 11501, 11456, 3, 2, 2, 2, 11501, 11457, 3, 2, 2, 2, 11501, 11458, 3, 2, 2, 2, 11501, 11459, 3, 2, 2, 2, 11501, 11463, 3, 2, 2, 2, 11501, 11464, 3, 2, 2, 2, 11501, 11465, 3, 2, 2, 2, 11501, 11466, 3, 2, 2, 2, 11501, 11470, 3, 2, 2, 2, 11501, 11471, 3, 2, 2, 2, 11501, 11472, 3, 2, 2, 2, 11501, 11473, 3, 2, 2, 2, 11501, 11474, 3, 2, 2, 2, 11501, 11475, 3, 2, 2, 2, 11501, 11476, 3, 2, 2, 2, 11501, 11477, 3, 2, 2, 2, 11501, 11478, 3, 2, 2, 2, 11501, 11479, 3, 2, 2, 2, 11501, 11480, 3, 2, 2, 2, 11501, 11481, 3, 2, 2, 2, 11501, 11482, 3, 2, 2, 2, 11501, 11483, 3, 2, 2, 2, 11501, 11484, 3, 2, 2, 2, 11501, 11485, 3, 2, 2, 2, 11501, 11486, 3, 2, 2, 2, 11501, 11487, 3, 2, 2, 2, 11501, 11488, 3, 2, 2, 2, 11501, 11489, 3, 2, 2, 2, 11501, 11490, 3, 2, 2, 2, 11501, 11491, 3, 2, 2, 2, 11501, 11492, 3, 2, 2, 2, 11501, 11493, 3, 2, 2, 2, 11501, 11494, 3, 2, 2, 2, 11501, 11495, 3, 2, 2, 2, 11501, 11496, 3, 2, 2, 2, 11501, 11497, 3, 2, 2, 2, 11501, 11498, 3, 2, 2, 2, 11501, 11499, 3, 2, 2, 2, 11501, 11500, 3, 2, 2, 2, 11502, 1467, 3, 2, 2, 2, 11503, 11507, 7, 2235, 2, 2, 11504, 11505, 7, 2242, 2, 2, 11505, 11507, 7, 2219, 2, 2, 11506, 11503, 3, 2, 2, 2, 11506, 11504, 3, 2, 2, 2, 11507, 11516, 3, 2, 2, 2, 11508, 11510, 7, 649, 2, 2, 11509, 11508, 3, 2, 2, 2, 11509, 11510, 3, 2, 2, 2, 11510, 11514, 3, 2, 2, 2, 11511, 11515, 7, 2235, 2, 2, 11512, 11513, 7, 2242, 2, 2, 11513, 11515, 7, 2219, 2, 2, 11514, 11511, 3, 2, 2, 2, 11514, 11512, 3, 2, 2, 2, 11515, 11517, 3, 2, 2, 2, 11516, 11509, 3, 2, 2, 2, 11516, 11517, 3, 2, 2, 2, 11517, 11522, 3, 2, 2, 2, 11518, 11519, 7, 2218, 2, 2, 11519, 11521, 5, 1472, 737, 2, 11520, 11518, 3, 2, 2, 2, 11521, 11524, 3, 2, 2, 2, 11522, 11520, 3, 2, 2, 2, 11522, 11523, 3, 2, 2, 2, 11523, 1469, 3, 2, 2, 2, 11524, 11522, 3, 2, 2, 2, 11525, 11530, 5, 1472, 737, 2, 11526, 11527, 7, 2218, 2, 2, 11527, 11529, 5, 1472, 737, 2, 11528, 11526, 3, 2, 2, 2, 11529, 11532, 3, 2, 2, 2, 11530, 11528, 3, 2, 2, 2, 11530, 11531, 3, 2, 2, 2, 11531, 1471, 3, 2, 2, 2, 11532, 11530, 3, 2, 2, 2, 11533, 11534, 7, 2248, 2, 2, 11534, 11536, 5, 1432, 717, 2, 11535, 11533, 3, 2, 2, 2, 11535, 11536, 3, 2, 2, 2, 11536, 11537, 3, 2, 2, 2, 11537, 11542, 5, 1490, 746, 2, 11538, 11539, 7, 2218, 2, 2, 11539, 11541, 5, 1490, 746, 2, 11540, 11538, 3, 2, 2, 2, 11541, 11544, 3, 2, 2, 2, 11542, 11540, 3, 2, 2, 2, 11542, 11543, 3, 2, 2, 2, 11543, 11547, 3, 2, 2, 2, 11544, 11542, 3, 2, 2, 2, 11545, 11546, 7, 2233, 2, 2, 11546, 11548, 5, 1424, 713, 2, 11547, 11545, 3, 2, 2, 2, 11547, 11548, 3, 2, 2, 2, 11548, 11550, 3, 2, 2, 2, 11549, 11551, 5, 1450, 726, 2, 11550, 11549, 3, 2, 2, 2, 11550, 11551, 3, 2, 2, 2, 11551, 1473, 3, 2, 2, 2, 11552, 11553, 7, 2248, 2, 2, 11553, 11555, 5, 1432, 717, 2, 11554, 11552, 3, 2, 2, 2, 11554, 11555, 3, 2, 2, 2, 11555, 11556, 3, 2, 2, 2, 11556, 11561, 5, 1490, 746, 2, 11557, 11558, 7, 2218, 2, 2, 11558, 11560, 5, 1490, 746, 2, 11559, 11557, 3, 2, 2, 2, 11560, 11563, 3, 2, 2, 2, 11561, 11559, 3, 2, 2, 2, 11561, 11562, 3, 2, 2, 2, 11562, 1475, 3, 2, 2, 2, 11563, 11561, 3, 2, 2, 2, 11564, 11566, 7, 37, 2, 2, 11565, 11567, 7, 1314, 2, 2, 11566, 11565, 3, 2, 2, 2, 11566, 11567, 3, 2, 2, 2, 11567, 11597, 3, 2, 2, 2, 11568, 11597, 7, 41, 2, 2, 11569, 11597, 7, 342, 2, 2, 11570, 11597, 7, 364, 2, 2, 11571, 11597, 7, 477, 2, 2, 11572, 11573, 7, 534, 2, 2, 11573, 11597, 7, 59, 2, 2, 11574, 11597, 7, 633, 2, 2, 11575, 11576, 7, 653, 2, 2, 11576, 11597, 7, 1314, 2, 2, 11577, 11597, 7, 671, 2, 2, 11578, 11579, 7, 722, 2, 2, 11579, 11597, 7, 1498, 2, 2, 11580, 11581, 7, 834, 2, 2, 11581, 11597, 7, 2101, 2, 2, 11582, 11583, 7, 1130, 2, 2, 11583, 11584, 7, 220, 2, 2, 11584, 11597, 7, 1379, 2, 2, 11585, 11586, 7, 1336, 2, 2, 11586, 11597, 7, 1438, 2, 2, 11587, 11597, 7, 1355, 2, 2, 11588, 11597, 7, 1376, 2, 2, 11589, 11597, 7, 1492, 2, 2, 11590, 11591, 7, 1976, 2, 2, 11591, 11597, 7, 1559, 2, 2, 11592, 11597, 7, 1999, 2, 2, 11593, 11597, 7, 2027, 2, 2, 11594, 11597, 7, 2061, 2, 2, 11595, 11597, 7, 2127, 2, 2, 11596, 11564, 3, 2, 2, 2, 11596, 11568, 3, 2, 2, 2, 11596, 11569, 3, 2, 2, 2, 11596, 11570, 3, 2, 2, 2, 11596, 11571, 3, 2, 2, 2, 11596, 11572, 3, 2, 2, 2, 11596, 11574, 3, 2, 2, 2, 11596, 11575, 3, 2, 2, 2, 11596, 11577, 3, 2, 2, 2, 11596, 11578, 3, 2, 2, 2, 11596, 11580, 3, 2, 2, 2, 11596, 11582, 3, 2, 2, 2, 11596, 11585, 3, 2, 2, 2, 11596, 11587, 3, 2, 2, 2, 11596, 11588, 3, 2, 2, 2, 11596, 11589, 3, 2, 2, 2, 11596, 11590, 3, 2, 2, 2, 11596, 11592, 3, 2, 2, 2, 11596, 11593, 3, 2, 2, 2, 11596, 11594, 3, 2, 2, 2, 11596, 11595, 3, 2, 2, 2, 11597, 1477, 3, 2, 2, 2, 11598, 11599, 7, 37, 2, 2, 11599, 11925, 7, 1314, 2, 2, 11600, 11925, 7, 30, 2, 2, 11601, 11603, 7, 26, 2, 2, 11602, 11604, 7, 50, 2, 2, 11603, 11602, 3, 2, 2, 2, 11603, 11604, 3, 2, 2, 2, 11604, 11605, 3, 2, 2, 2, 11605, 11606, 7, 1559, 2, 2, 11606, 11607, 7, 1986, 2, 2, 11607, 11925, 7, 1512, 2, 2, 11608, 11609, 9, 148, 2, 2, 11609, 11610, 7, 50, 2, 2, 11610, 11611, 7, 1559, 2, 2, 11611, 11925, 7, 1318, 2, 2, 11612, 11613, 7, 26, 2, 2, 11613, 11614, 7, 1559, 2, 2, 11614, 11615, 7, 800, 2, 2, 11615, 11925, 7, 1109, 2, 2, 11616, 11618, 7, 290, 2, 2, 11617, 11619, 7, 50, 2, 2, 11618, 11617, 3, 2, 2, 2, 11618, 11619, 3, 2, 2, 2, 11619, 11620, 3, 2, 2, 2, 11620, 11925, 7, 199, 2, 2, 11621, 11622, 9, 149, 2, 2, 11622, 11623, 7, 50, 2, 2, 11623, 11925, 7, 199, 2, 2, 11624, 11625, 9, 150, 2, 2, 11625, 11626, 7, 50, 2, 2, 11626, 11925, 7, 267, 2, 2, 11627, 11628, 7, 478, 2, 2, 11628, 11629, 7, 1368, 2, 2, 11629, 11925, 7, 1269, 2, 2, 11630, 11631, 7, 41, 2, 2, 11631, 11925, 7, 318, 2, 2, 11632, 11634, 9, 151, 2, 2, 11633, 11635, 7, 1326, 2, 2, 11634, 11633, 3, 2, 2, 2, 11634, 11635, 3, 2, 2, 2, 11635, 11636, 3, 2, 2, 2, 11636, 11637, 7, 318, 2, 2, 11637, 11925, 7, 762, 2, 2, 11638, 11639, 7, 413, 2, 2, 11639, 11640, 7, 1326, 2, 2, 11640, 11641, 7, 318, 2, 2, 11641, 11925, 7, 762, 2, 2, 11642, 11643, 7, 342, 2, 2, 11643, 11644, 7, 253, 2, 2, 11644, 11925, 7, 1508, 2, 2, 11645, 11646, 7, 342, 2, 2, 11646, 11647, 7, 50, 2, 2, 11647, 11925, 7, 1316, 2, 2, 11648, 11649, 7, 43, 2, 2, 11649, 11650, 7, 50, 2, 2, 11650, 11925, 7, 378, 2, 2, 11651, 11653, 7, 290, 2, 2, 11652, 11654, 7, 50, 2, 2, 11653, 11652, 3, 2, 2, 2, 11653, 11654, 3, 2, 2, 2, 11654, 11655, 3, 2, 2, 2, 11655, 11925, 7, 379, 2, 2, 11656, 11657, 9, 149, 2, 2, 11657, 11658, 7, 50, 2, 2, 11658, 11925, 7, 379, 2, 2, 11659, 11660, 9, 150, 2, 2, 11660, 11661, 7, 50, 2, 2, 11661, 11925, 7, 382, 2, 2, 11662, 11663, 9, 150, 2, 2, 11663, 11664, 7, 50, 2, 2, 11664, 11925, 7, 426, 2, 2, 11665, 11670, 7, 534, 2, 2, 11666, 11667, 7, 59, 2, 2, 11667, 11671, 7, 26, 2, 2, 11668, 11669, 7, 50, 2, 2, 11669, 11671, 7, 1914, 2, 2, 11670, 11666, 3, 2, 2, 2, 11670, 11668, 3, 2, 2, 2, 11671, 11925, 3, 2, 2, 2, 11672, 11673, 9, 148, 2, 2, 11673, 11674, 7, 50, 2, 2, 11674, 11925, 7, 633, 2, 2, 11675, 11677, 7, 290, 2, 2, 11676, 11678, 7, 50, 2, 2, 11677, 11676, 3, 2, 2, 2, 11677, 11678, 3, 2, 2, 2, 11678, 11679, 3, 2, 2, 2, 11679, 11925, 7, 647, 2, 2, 11680, 11681, 9, 152, 2, 2, 11681, 11682, 7, 50, 2, 2, 11682, 11925, 7, 647, 2, 2, 11683, 11685, 7, 290, 2, 2, 11684, 11686, 9, 153, 2, 2, 11685, 11684, 3, 2, 2, 2, 11685, 11686, 3, 2, 2, 2, 11686, 11687, 3, 2, 2, 2, 11687, 11925, 7, 703, 2, 2, 11688, 11689, 7, 477, 2, 2, 11689, 11690, 7, 50, 2, 2, 11690, 11925, 9, 154, 2, 2, 11691, 11692, 7, 799, 2, 2, 11692, 11925, 7, 1470, 2, 2, 11693, 11694, 7, 26, 2, 2, 11694, 11695, 7, 724, 2, 2, 11695, 11925, 7, 800, 2, 2, 11696, 11698, 7, 290, 2, 2, 11697, 11699, 7, 50, 2, 2, 11698, 11697, 3, 2, 2, 2, 11698, 11699, 3, 2, 2, 2, 11699, 11700, 3, 2, 2, 2, 11700, 11925, 7, 751, 2, 2, 11701, 11702, 9, 152, 2, 2, 11702, 11703, 7, 50, 2, 2, 11703, 11925, 7, 751, 2, 2, 11704, 11925, 7, 786, 2, 2, 11705, 11707, 7, 290, 2, 2, 11706, 11708, 7, 50, 2, 2, 11707, 11706, 3, 2, 2, 2, 11707, 11708, 3, 2, 2, 2, 11708, 11709, 3, 2, 2, 2, 11709, 11710, 7, 811, 2, 2, 11710, 11925, 7, 2101, 2, 2, 11711, 11712, 9, 149, 2, 2, 11712, 11713, 7, 50, 2, 2, 11713, 11714, 7, 811, 2, 2, 11714, 11925, 7, 2101, 2, 2, 11715, 11717, 7, 568, 2, 2, 11716, 11715, 3, 2, 2, 2, 11716, 11717, 3, 2, 2, 2, 11717, 11718, 3, 2, 2, 2, 11718, 11719, 7, 1336, 2, 2, 11719, 11925, 7, 1438, 2, 2, 11720, 11721, 7, 1130, 2, 2, 11721, 11722, 7, 220, 2, 2, 11722, 11925, 7, 1379, 2, 2, 11723, 11725, 7, 290, 2, 2, 11724, 11726, 7, 50, 2, 2, 11725, 11724, 3, 2, 2, 2, 11725, 11726, 3, 2, 2, 2, 11726, 11727, 3, 2, 2, 2, 11727, 11728, 7, 843, 2, 2, 11728, 11925, 7, 856, 2, 2, 11729, 11730, 9, 155, 2, 2, 11730, 11731, 7, 50, 2, 2, 11731, 11732, 7, 843, 2, 2, 11732, 11925, 7, 856, 2, 2, 11733, 11735, 7, 290, 2, 2, 11734, 11736, 7, 50, 2, 2, 11735, 11734, 3, 2, 2, 2, 11735, 11736, 3, 2, 2, 2, 11736, 11737, 3, 2, 2, 2, 11737, 11925, 7, 300, 2, 2, 11738, 11739, 9, 156, 2, 2, 11739, 11740, 7, 50, 2, 2, 11740, 11925, 7, 300, 2, 2, 11741, 11743, 7, 290, 2, 2, 11742, 11744, 7, 50, 2, 2, 11743, 11742, 3, 2, 2, 2, 11743, 11744, 3, 2, 2, 2, 11744, 11745, 3, 2, 2, 2, 11745, 11746, 7, 825, 2, 2, 11746, 11925, 7, 540, 2, 2, 11747, 11748, 9, 157, 2, 2, 11748, 11749, 7, 50, 2, 2, 11749, 11750, 7, 825, 2, 2, 11750, 11925, 7, 540, 2, 2, 11751, 11753, 7, 290, 2, 2, 11752, 11754, 7, 50, 2, 2, 11753, 11752, 3, 2, 2, 2, 11753, 11754, 3, 2, 2, 2, 11754, 11755, 3, 2, 2, 2, 11755, 11756, 7, 300, 2, 2, 11756, 11925, 7, 379, 2, 2, 11757, 11758, 9, 158, 2, 2, 11758, 11759, 7, 50, 2, 2, 11759, 11760, 7, 300, 2, 2, 11760, 11925, 7, 379, 2, 2, 11761, 11763, 7, 290, 2, 2, 11762, 11764, 7, 50, 2, 2, 11763, 11762, 3, 2, 2, 2, 11763, 11764, 3, 2, 2, 2, 11764, 11765, 3, 2, 2, 2, 11765, 11766, 7, 300, 2, 2, 11766, 11767, 7, 146, 2, 2, 11767, 11925, 7, 1317, 2, 2, 11768, 11769, 9, 159, 2, 2, 11769, 11770, 7, 50, 2, 2, 11770, 11771, 7, 300, 2, 2, 11771, 11772, 7, 146, 2, 2, 11772, 11925, 7, 1317, 2, 2, 11773, 11775, 7, 290, 2, 2, 11774, 11776, 7, 50, 2, 2, 11775, 11774, 3, 2, 2, 2, 11775, 11776, 3, 2, 2, 2, 11776, 11777, 3, 2, 2, 2, 11777, 11925, 7, 1137, 2, 2, 11778, 11779, 9, 152, 2, 2, 11779, 11780, 7, 50, 2, 2, 11780, 11925, 7, 1137, 2, 2, 11781, 11782, 9, 148, 2, 2, 11782, 11783, 7, 50, 2, 2, 11783, 11925, 7, 1182, 2, 2, 11784, 11785, 7, 290, 2, 2, 11785, 11786, 7, 1267, 2, 2, 11786, 11925, 7, 318, 2, 2, 11787, 11788, 7, 1512, 2, 2, 11788, 11925, 7, 262, 2, 2, 11789, 11791, 7, 290, 2, 2, 11790, 11792, 7, 50, 2, 2, 11791, 11790, 3, 2, 2, 2, 11791, 11792, 3, 2, 2, 2, 11792, 11793, 3, 2, 2, 2, 11793, 11925, 7, 1316, 2, 2, 11794, 11795, 9, 152, 2, 2, 11795, 11796, 7, 50, 2, 2, 11796, 11925, 7, 1316, 2, 2, 11797, 11798, 9, 148, 2, 2, 11798, 11925, 7, 1318, 2, 2, 11799, 11800, 7, 290, 2, 2, 11800, 11925, 7, 1440, 2, 2, 11801, 11802, 9, 160, 2, 2, 11802, 11803, 7, 50, 2, 2, 11803, 11925, 7, 1440, 2, 2, 11804, 11805, 9, 148, 2, 2, 11805, 11806, 7, 1443, 2, 2, 11806, 11925, 7, 1490, 2, 2, 11807, 11809, 7, 290, 2, 2, 11808, 11810, 7, 50, 2, 2, 11809, 11808, 3, 2, 2, 2, 11809, 11810, 3, 2, 2, 2, 11810, 11811, 3, 2, 2, 2, 11811, 11925, 7, 1498, 2, 2, 11812, 11813, 9, 161, 2, 2, 11813, 11814, 7, 50, 2, 2, 11814, 11925, 7, 1498, 2, 2, 11815, 11816, 9, 162, 2, 2, 11816, 11925, 7, 1508, 2, 2, 11817, 11818, 7, 41, 2, 2, 11818, 11819, 7, 1417, 2, 2, 11819, 11925, 7, 281, 2, 2, 11820, 11822, 7, 290, 2, 2, 11821, 11823, 7, 50, 2, 2, 11822, 11821, 3, 2, 2, 2, 11822, 11823, 3, 2, 2, 2, 11823, 11824, 3, 2, 2, 2, 11824, 11825, 7, 1559, 2, 2, 11825, 11826, 7, 1977, 2, 2, 11826, 11925, 7, 1318, 2, 2, 11827, 11828, 9, 163, 2, 2, 11828, 11829, 7, 50, 2, 2, 11829, 11830, 7, 1559, 2, 2, 11830, 11831, 7, 1977, 2, 2, 11831, 11925, 7, 1318, 2, 2, 11832, 11833, 7, 1976, 2, 2, 11833, 11834, 7, 50, 2, 2, 11834, 11925, 7, 1559, 2, 2, 11835, 11837, 7, 290, 2, 2, 11836, 11838, 7, 50, 2, 2, 11837, 11836, 3, 2, 2, 2, 11837, 11838, 3, 2, 2, 2, 11838, 11839, 3, 2, 2, 2, 11839, 11925, 7, 1629, 2, 2, 11840, 11841, 7, 413, 2, 2, 11841, 11842, 7, 50, 2, 2, 11842, 11925, 7, 1629, 2, 2, 11843, 11844, 9, 150, 2, 2, 11844, 11845, 7, 1326, 2, 2, 11845, 11925, 7, 1629, 2, 2, 11846, 11848, 7, 290, 2, 2, 11847, 11849, 7, 50, 2, 2, 11848, 11847, 3, 2, 2, 2, 11848, 11849, 3, 2, 2, 2, 11849, 11850, 3, 2, 2, 2, 11850, 11925, 7, 1914, 2, 2, 11851, 11852, 9, 164, 2, 2, 11852, 11853, 7, 50, 2, 2, 11853, 11925, 7, 1914, 2, 2, 11854, 11855, 9, 165, 2, 2, 11855, 11925, 7, 1911, 2, 2, 11856, 11858, 7, 290, 2, 2, 11857, 11859, 7, 50, 2, 2, 11858, 11857, 3, 2, 2, 2, 11858, 11859, 3, 2, 2, 2, 11859, 11860, 3, 2, 2, 2, 11860, 11925, 7, 1980, 2, 2, 11861, 11862, 9, 149, 2, 2, 11862, 11863, 7, 50, 2, 2, 11863, 11925, 7, 1980, 2, 2, 11864, 11865, 7, 26, 2, 2, 11865, 11866, 7, 318, 2, 2, 11866, 11925, 7, 1980, 2, 2, 11867, 11869, 7, 290, 2, 2, 11868, 11870, 7, 50, 2, 2, 11869, 11868, 3, 2, 2, 2, 11869, 11870, 3, 2, 2, 2, 11870, 11871, 3, 2, 2, 2, 11871, 11925, 7, 1989, 2, 2, 11872, 11873, 9, 166, 2, 2, 11873, 11874, 7, 50, 2, 2, 11874, 11925, 7, 1989, 2, 2, 11875, 11876, 9, 148, 2, 2, 11876, 11925, 7, 2057, 2, 2, 11877, 11879, 7, 290, 2, 2, 11878, 11880, 7, 50, 2, 2, 11879, 11878, 3, 2, 2, 2, 11879, 11880, 3, 2, 2, 2, 11880, 11881, 3, 2, 2, 2, 11881, 11925, 7, 2101, 2, 2, 11882, 11883, 9, 167, 2, 2, 11883, 11884, 7, 50, 2, 2, 11884, 11925, 7, 2101, 2, 2, 11885, 11886, 9, 168, 2, 2, 11886, 11925, 7, 50, 2, 2, 11887, 11888, 7, 102, 2, 2, 11888, 11925, 7, 2057, 2, 2, 11889, 11890, 7, 174, 2, 2, 11890, 11925, 7, 1074, 2, 2, 11891, 11892, 7, 478, 2, 2, 11892, 11893, 7, 5, 2, 2, 11893, 11925, 7, 1269, 2, 2, 11894, 11896, 7, 544, 2, 2, 11895, 11897, 7, 50, 2, 2, 11896, 11895, 3, 2, 2, 2, 11896, 11897, 3, 2, 2, 2, 11897, 11898, 3, 2, 2, 2, 11898, 11925, 7, 1972, 2, 2, 11899, 11900, 7, 573, 2, 2, 11900, 11902, 7, 50, 2, 2, 11901, 11903, 7, 1109, 2, 2, 11902, 11901, 3, 2, 2, 2, 11902, 11903, 3, 2, 2, 2, 11903, 11904, 3, 2, 2, 2, 11904, 11925, 7, 1313, 2, 2, 11905, 11906, 7, 653, 2, 2, 11906, 11907, 7, 50, 2, 2, 11907, 11925, 7, 1314, 2, 2, 11908, 11909, 7, 722, 2, 2, 11909, 11910, 7, 329, 2, 2, 11910, 11925, 7, 1939, 2, 2, 11911, 11912, 7, 722, 2, 2, 11912, 11925, 7, 1664, 2, 2, 11913, 11914, 7, 1328, 2, 2, 11914, 11925, 7, 334, 2, 2, 11915, 11925, 7, 1428, 2, 2, 11916, 11917, 7, 1492, 2, 2, 11917, 11918, 7, 50, 2, 2, 11918, 11925, 9, 169, 2, 2, 11919, 11925, 7, 1633, 2, 2, 11920, 11925, 7, 1639, 2, 2, 11921, 11925, 7, 1641, 2, 2, 11922, 11925, 7, 1665, 2, 2, 11923, 11925, 7, 1700, 2, 2, 11924, 11598, 3, 2, 2, 2, 11924, 11600, 3, 2, 2, 2, 11924, 11601, 3, 2, 2, 2, 11924, 11608, 3, 2, 2, 2, 11924, 11612, 3, 2, 2, 2, 11924, 11616, 3, 2, 2, 2, 11924, 11621, 3, 2, 2, 2, 11924, 11624, 3, 2, 2, 2, 11924, 11627, 3, 2, 2, 2, 11924, 11630, 3, 2, 2, 2, 11924, 11632, 3, 2, 2, 2, 11924, 11638, 3, 2, 2, 2, 11924, 11642, 3, 2, 2, 2, 11924, 11645, 3, 2, 2, 2, 11924, 11648, 3, 2, 2, 2, 11924, 11651, 3, 2, 2, 2, 11924, 11656, 3, 2, 2, 2, 11924, 11659, 3, 2, 2, 2, 11924, 11662, 3, 2, 2, 2, 11924, 11665, 3, 2, 2, 2, 11924, 11672, 3, 2, 2, 2, 11924, 11675, 3, 2, 2, 2, 11924, 11680, 3, 2, 2, 2, 11924, 11683, 3, 2, 2, 2, 11924, 11688, 3, 2, 2, 2, 11924, 11691, 3, 2, 2, 2, 11924, 11693, 3, 2, 2, 2, 11924, 11696, 3, 2, 2, 2, 11924, 11701, 3, 2, 2, 2, 11924, 11704, 3, 2, 2, 2, 11924, 11705, 3, 2, 2, 2, 11924, 11711, 3, 2, 2, 2, 11924, 11716, 3, 2, 2, 2, 11924, 11720, 3, 2, 2, 2, 11924, 11723, 3, 2, 2, 2, 11924, 11729, 3, 2, 2, 2, 11924, 11733, 3, 2, 2, 2, 11924, 11738, 3, 2, 2, 2, 11924, 11741, 3, 2, 2, 2, 11924, 11747, 3, 2, 2, 2, 11924, 11751, 3, 2, 2, 2, 11924, 11757, 3, 2, 2, 2, 11924, 11761, 3, 2, 2, 2, 11924, 11768, 3, 2, 2, 2, 11924, 11773, 3, 2, 2, 2, 11924, 11778, 3, 2, 2, 2, 11924, 11781, 3, 2, 2, 2, 11924, 11784, 3, 2, 2, 2, 11924, 11787, 3, 2, 2, 2, 11924, 11789, 3, 2, 2, 2, 11924, 11794, 3, 2, 2, 2, 11924, 11797, 3, 2, 2, 2, 11924, 11799, 3, 2, 2, 2, 11924, 11801, 3, 2, 2, 2, 11924, 11804, 3, 2, 2, 2, 11924, 11807, 3, 2, 2, 2, 11924, 11812, 3, 2, 2, 2, 11924, 11815, 3, 2, 2, 2, 11924, 11817, 3, 2, 2, 2, 11924, 11820, 3, 2, 2, 2, 11924, 11827, 3, 2, 2, 2, 11924, 11832, 3, 2, 2, 2, 11924, 11835, 3, 2, 2, 2, 11924, 11840, 3, 2, 2, 2, 11924, 11843, 3, 2, 2, 2, 11924, 11846, 3, 2, 2, 2, 11924, 11851, 3, 2, 2, 2, 11924, 11854, 3, 2, 2, 2, 11924, 11856, 3, 2, 2, 2, 11924, 11861, 3, 2, 2, 2, 11924, 11864, 3, 2, 2, 2, 11924, 11867, 3, 2, 2, 2, 11924, 11872, 3, 2, 2, 2, 11924, 11875, 3, 2, 2, 2, 11924, 11877, 3, 2, 2, 2, 11924, 11882, 3, 2, 2, 2, 11924, 11885, 3, 2, 2, 2, 11924, 11887, 3, 2, 2, 2, 11924, 11889, 3, 2, 2, 2, 11924, 11891, 3, 2, 2, 2, 11924, 11894, 3, 2, 2, 2, 11924, 11899, 3, 2, 2, 2, 11924, 11905, 3, 2, 2, 2, 11924, 11908, 3, 2, 2, 2, 11924, 11911, 3, 2, 2, 2, 11924, 11913, 3, 2, 2, 2, 11924, 11915, 3, 2, 2, 2, 11924, 11916, 3, 2, 2, 2, 11924, 11919, 3, 2, 2, 2, 11924, 11920, 3, 2, 2, 2, 11924, 11921, 3, 2, 2, 2, 11924, 11922, 3, 2, 2, 2, 11924, 11923, 3, 2, 2, 2, 11925, 1479, 3, 2, 2, 2, 11926, 11929, 7, 1935, 2, 2, 11927, 11930, 5, 1486, 744, 2, 11928, 11930, 5, 1468, 735, 2, 11929, 11927, 3, 2, 2, 2, 11929, 11928, 3, 2, 2, 2, 11930, 11935, 3, 2, 2, 2, 11931, 11932, 7, 76, 2, 2, 11932, 11933, 7, 1939, 2, 2, 11933, 11934, 7, 2175, 2, 2, 11934, 11936, 5, 1486, 744, 2, 11935, 11931, 3, 2, 2, 2, 11935, 11936, 3, 2, 2, 2, 11936, 11989, 3, 2, 2, 2, 11937, 11941, 7, 691, 2, 2, 11938, 11942, 5, 1486, 744, 2, 11939, 11942, 5, 1468, 735, 2, 11940, 11942, 5, 1472, 737, 2, 11941, 11938, 3, 2, 2, 2, 11941, 11939, 3, 2, 2, 2, 11941, 11940, 3, 2, 2, 2, 11942, 11943, 3, 2, 2, 2, 11943, 11957, 9, 170, 2, 2, 11944, 11947, 7, 2225, 2, 2, 11945, 11948, 7, 2219, 2, 2, 11946, 11948, 5, 1468, 735, 2, 11947, 11945, 3, 2, 2, 2, 11947, 11946, 3, 2, 2, 2, 11948, 11954, 3, 2, 2, 2, 11949, 11952, 7, 2231, 2, 2, 11950, 11953, 7, 2219, 2, 2, 11951, 11953, 5, 1468, 735, 2, 11952, 11950, 3, 2, 2, 2, 11952, 11951, 3, 2, 2, 2, 11953, 11955, 3, 2, 2, 2, 11954, 11949, 3, 2, 2, 2, 11954, 11955, 3, 2, 2, 2, 11955, 11956, 3, 2, 2, 2, 11956, 11958, 7, 2226, 2, 2, 11957, 11944, 3, 2, 2, 2, 11957, 11958, 3, 2, 2, 2, 11958, 11974, 3, 2, 2, 2, 11959, 11972, 7, 1966, 2, 2, 11960, 11973, 7, 331, 2, 2, 11961, 11973, 7, 600, 2, 2, 11962, 11973, 7, 846, 2, 2, 11963, 11970, 7, 1482, 2, 2, 11964, 11967, 7, 2225, 2, 2, 11965, 11968, 7, 2219, 2, 2, 11966, 11968, 5, 1468, 735, 2, 11967, 11965, 3, 2, 2, 2, 11967, 11966, 3, 2, 2, 2, 11968, 11969, 3, 2, 2, 2, 11969, 11971, 7, 2226, 2, 2, 11970, 11964, 3, 2, 2, 2, 11970, 11971, 3, 2, 2, 2, 11971, 11973, 3, 2, 2, 2, 11972, 11960, 3, 2, 2, 2, 11972, 11961, 3, 2, 2, 2, 11972, 11962, 3, 2, 2, 2, 11972, 11963, 3, 2, 2, 2, 11973, 11975, 3, 2, 2, 2, 11974, 11959, 3, 2, 2, 2, 11974, 11975, 3, 2, 2, 2, 11975, 11989, 3, 2, 2, 2, 11976, 11989, 5, 1482, 742, 2, 11977, 11978, 7, 329, 2, 2, 11978, 11989, 5, 1486, 744, 2, 11979, 11989, 5, 1486, 744, 2, 11980, 11989, 7, 1099, 2, 2, 11981, 11989, 7, 1981, 2, 2, 11982, 11989, 7, 510, 2, 2, 11983, 11989, 7, 337, 2, 2, 11984, 11989, 7, 1510, 2, 2, 11985, 11989, 7, 847, 2, 2, 11986, 11989, 7, 824, 2, 2, 11987, 11989, 7, 353, 2, 2, 11988, 11926, 3, 2, 2, 2, 11988, 11937, 3, 2, 2, 2, 11988, 11976, 3, 2, 2, 2, 11988, 11977, 3, 2, 2, 2, 11988, 11979, 3, 2, 2, 2, 11988, 11980, 3, 2, 2, 2, 11988, 11981, 3, 2, 2, 2, 11988, 11982, 3, 2, 2, 2, 11988, 11983, 3, 2, 2, 2, 11988, 11984, 3, 2, 2, 2, 11988, 11985, 3, 2, 2, 2, 11988, 11986, 3, 2, 2, 2, 11988, 11987, 3, 2, 2, 2, 11989, 1481, 3, 2, 2, 2, 11990, 11991, 9, 171, 2, 2, 11991, 1483, 3, 2, 2, 2, 11992, 11993, 7, 2230, 2, 2, 11993, 11994, 5, 1482, 742, 2, 11994, 1485, 3, 2, 2, 2, 11995, 11996, 9, 172, 2, 2, 11996, 1487, 3, 2, 2, 2, 11997, 11998, 7, 2248, 2, 2, 11998, 12000, 5, 1432, 717, 2, 11999, 11997, 3, 2, 2, 2, 11999, 12000, 3, 2, 2, 2, 12000, 12001, 3, 2, 2, 2, 12001, 12002, 5, 1490, 746, 2, 12002, 1489, 3, 2, 2, 2, 12003, 12006, 5, 1494, 748, 2, 12004, 12006, 7, 2222, 2, 2, 12005, 12003, 3, 2, 2, 2, 12005, 12004, 3, 2, 2, 2, 12006, 1491, 3, 2, 2, 2, 12007, 12008, 7, 2225, 2, 2, 12008, 12009, 7, 2229, 2, 2, 12009, 12010, 7, 2226, 2, 2, 12010, 1493, 3, 2, 2, 2, 12011, 12087, 5, 1498, 750, 2, 12012, 12087, 5, 1496, 749, 2, 12013, 12087, 7, 2254, 2, 2, 12014, 12087, 7, 35, 2, 2, 12015, 12087, 7, 33, 2, 2, 12016, 12087, 7, 34, 2, 2, 12017, 12087, 7, 43, 2, 2, 12018, 12087, 7, 90, 2, 2, 12019, 12087, 7, 99, 2, 2, 12020, 12087, 7, 120, 2, 2, 12021, 12087, 7, 136, 2, 2, 12022, 12087, 7, 192, 2, 2, 12023, 12087, 7, 178, 2, 2, 12024, 12087, 7, 199, 2, 2, 12025, 12087, 7, 261, 2, 2, 12026, 12087, 7, 314, 2, 2, 12027, 12087, 7, 345, 2, 2, 12028, 12087, 7, 364, 2, 2, 12029, 12087, 7, 377, 2, 2, 12030, 12087, 7, 415, 2, 2, 12031, 12087, 7, 456, 2, 2, 12032, 12087, 7, 470, 2, 2, 12033, 12087, 7, 471, 2, 2, 12034, 12087, 7, 472, 2, 2, 12035, 12087, 7, 480, 2, 2, 12036, 12087, 7, 482, 2, 2, 12037, 12087, 7, 536, 2, 2, 12038, 12087, 7, 543, 2, 2, 12039, 12087, 7, 650, 2, 2, 12040, 12087, 7, 666, 2, 2, 12041, 12087, 7, 684, 2, 2, 12042, 12087, 7, 731, 2, 2, 12043, 12087, 7, 790, 2, 2, 12044, 12087, 7, 791, 2, 2, 12045, 12087, 7, 1101, 2, 2, 12046, 12087, 7, 1149, 2, 2, 12047, 12087, 7, 1176, 2, 2, 12048, 12087, 7, 1184, 2, 2, 12049, 12087, 7, 1189, 2, 2, 12050, 12087, 7, 1195, 2, 2, 12051, 12087, 7, 1252, 2, 2, 12052, 12087, 7, 1261, 2, 2, 12053, 12087, 7, 1276, 2, 2, 12054, 12087, 7, 1275, 2, 2, 12055, 12087, 7, 1289, 2, 2, 12056, 12087, 7, 1343, 2, 2, 12057, 12087, 7, 1349, 2, 2, 12058, 12087, 7, 1361, 2, 2, 12059, 12087, 7, 1378, 2, 2, 12060, 12087, 7, 1406, 2, 2, 12061, 12087, 7, 1424, 2, 2, 12062, 12087, 7, 1427, 2, 2, 12063, 12087, 7, 1493, 2, 2, 12064, 12087, 7, 1502, 2, 2, 12065, 12087, 7, 1512, 2, 2, 12066, 12087, 7, 1530, 2, 2, 12067, 12087, 7, 1531, 2, 2, 12068, 12087, 7, 1543, 2, 2, 12069, 12087, 7, 1556, 2, 2, 12070, 12087, 7, 1557, 2, 2, 12071, 12087, 7, 1618, 2, 2, 12072, 12087, 7, 1934, 2, 2, 12073, 12087, 7, 1936, 2, 2, 12074, 12087, 7, 1937, 2, 2, 12075, 12087, 7, 1980, 2, 2, 12076, 12087, 7, 2078, 2, 2, 12077, 12087, 7, 2077, 2, 2, 12078, 12087, 7, 2079, 2, 2, 12079, 12087, 7, 2110, 2, 2, 12080, 12087, 7, 2117, 2, 2, 12081, 12087, 7, 2133, 2, 2, 12082, 12087, 7, 2173, 2, 2, 12083, 12087, 7, 2201, 2, 2, 12084, 12087, 7, 2209, 2, 2, 12085, 12087, 7, 2191, 2, 2, 12086, 12011, 3, 2, 2, 2, 12086, 12012, 3, 2, 2, 2, 12086, 12013, 3, 2, 2, 2, 12086, 12014, 3, 2, 2, 2, 12086, 12015, 3, 2, 2, 2, 12086, 12016, 3, 2, 2, 2, 12086, 12017, 3, 2, 2, 2, 12086, 12018, 3, 2, 2, 2, 12086, 12019, 3, 2, 2, 2, 12086, 12020, 3, 2, 2, 2, 12086, 12021, 3, 2, 2, 2, 12086, 12022, 3, 2, 2, 2, 12086, 12023, 3, 2, 2, 2, 12086, 12024, 3, 2, 2, 2, 12086, 12025, 3, 2, 2, 2, 12086, 12026, 3, 2, 2, 2, 12086, 12027, 3, 2, 2, 2, 12086, 12028, 3, 2, 2, 2, 12086, 12029, 3, 2, 2, 2, 12086, 12030, 3, 2, 2, 2, 12086, 12031, 3, 2, 2, 2, 12086, 12032, 3, 2, 2, 2, 12086, 12033, 3, 2, 2, 2, 12086, 12034, 3, 2, 2, 2, 12086, 12035, 3, 2, 2, 2, 12086, 12036, 3, 2, 2, 2, 12086, 12037, 3, 2, 2, 2, 12086, 12038, 3, 2, 2, 2, 12086, 12039, 3, 2, 2, 2, 12086, 12040, 3, 2, 2, 2, 12086, 12041, 3, 2, 2, 2, 12086, 12042, 3, 2, 2, 2, 12086, 12043, 3, 2, 2, 2, 12086, 12044, 3, 2, 2, 2, 12086, 12045, 3, 2, 2, 2, 12086, 12046, 3, 2, 2, 2, 12086, 12047, 3, 2, 2, 2, 12086, 12048, 3, 2, 2, 2, 12086, 12049, 3, 2, 2, 2, 12086, 12050, 3, 2, 2, 2, 12086, 12051, 3, 2, 2, 2, 12086, 12052, 3, 2, 2, 2, 12086, 12053, 3, 2, 2, 2, 12086, 12054, 3, 2, 2, 2, 12086, 12055, 3, 2, 2, 2, 12086, 12056, 3, 2, 2, 2, 12086, 12057, 3, 2, 2, 2, 12086, 12058, 3, 2, 2, 2, 12086, 12059, 3, 2, 2, 2, 12086, 12060, 3, 2, 2, 2, 12086, 12061, 3, 2, 2, 2, 12086, 12062, 3, 2, 2, 2, 12086, 12063, 3, 2, 2, 2, 12086, 12064, 3, 2, 2, 2, 12086, 12065, 3, 2, 2, 2, 12086, 12066, 3, 2, 2, 2, 12086, 12067, 3, 2, 2, 2, 12086, 12068, 3, 2, 2, 2, 12086, 12069, 3, 2, 2, 2, 12086, 12070, 3, 2, 2, 2, 12086, 12071, 3, 2, 2, 2, 12086, 12072, 3, 2, 2, 2, 12086, 12073, 3, 2, 2, 2, 12086, 12074, 3, 2, 2, 2, 12086, 12075, 3, 2, 2, 2, 12086, 12076, 3, 2, 2, 2, 12086, 12077, 3, 2, 2, 2, 12086, 12078, 3, 2, 2, 2, 12086, 12079, 3, 2, 2, 2, 12086, 12080, 3, 2, 2, 2, 12086, 12081, 3, 2, 2, 2, 12086, 12082, 3, 2, 2, 2, 12086, 12083, 3, 2, 2, 2, 12086, 12084, 3, 2, 2, 2, 12086, 12085, 3, 2, 2, 2, 12087, 1495, 3, 2, 2, 2, 12088, 12089, 9, 173, 2, 2, 12089, 1497, 3, 2, 2, 2, 12090, 12091, 9, 174, 2, 2, 12091, 1499, 3, 2, 2, 2, 12092, 12093, 9, 175, 2, 2, 12093, 1501, 3, 2, 2, 2, 12094, 12095, 9, 176, 2, 2, 12095, 1503, 3, 2, 2, 2, 1644, 1509, 1512, 1516, 1577, 1589, 1594, 1599, 1606, 1616, 1621, 1629, 1631, 1635, 1639, 1642, 1646, 1651, 1657, 1666, 1669, 1675, 1684, 1697, 1702, 1712, 1715, 1720, 1725, 1732, 1738, 1742, 1748, 1753, 1760, 1767, 1774, 1779, 1783, 1795, 1805, 1810, 1822, 1827, 1832, 1835, 1838, 1851, 1863, 1868, 1873, 1885, 1890, 1898, 1900, 1904, 1907, 1911, 1914, 1918, 1923, 1935, 1940, 1944, 1947, 1952, 1959, 1969, 1974, 1977, 1981, 1984, 1989, 2007, 2012, 2017, 2019, 2026, 2033, 2036, 2039, 2042, 2053, 2065, 2069, 2072, 2081, 2089, 2097, 2100, 2107, 2111, 2116, 2121, 2162, 2190, 2197, 2202, 2209, 2220, 2228, 2232, 2245, 2248, 2254, 2257, 2262, 2267, 2271, 2281, 2291, 2297, 2308, 2313, 2317, 2325, 2333, 2338, 2341, 2343, 2346, 2355, 2360, 2367, 2370, 2373, 2377, 2380, 2388, 2393, 2398, 2405, 2415, 2431, 2438, 2448, 2458, 2465, 2468, 2473, 2483, 2488, 2495, 2498, 2503, 2506, 2509, 2526, 2531, 2540, 2543, 2548, 2551, 2558, 2561, 2568, 2573, 2577, 2582, 2587, 2601, 2606, 2613, 2616, 2620, 2623, 2626, 2629, 2639, 2645, 2655, 2660, 2667, 2673, 2677, 2680, 2683, 2700, 2705, 2713, 2727, 2734, 2750, 2772, 2779, 2781, 2785, 2796, 2798, 2819, 2827, 2835, 2838, 2845, 2850, 2856, 2861, 2866, 2870, 2875, 2881, 2885, 2890, 2894, 2898, 2911, 2916, 2919, 2923, 2928, 2930, 2936, 2938, 2942, 2945, 2952, 2963, 2973, 2977, 2982, 2986, 2990, 2993, 3004, 3009, 3021, 3036, 3042, 3044, 3048, 3059, 3064, 3071, 3079, 3090, 3097, 3101, 3103, 3107, 3117, 3128, 3133, 3137, 3141, 3144, 3147, 3157, 3162, 3170, 3177, 3181, 3183, 3188, 3198, 3209, 3214, 3218, 3222, 3225, 3228, 3235, 3244, 3254, 3256, 3279, 3292, 3306, 3308, 3319, 3327, 3333, 3336, 3341, 3345, 3348, 3351, 3356, 3364, 3376, 3383, 3390, 3409, 3420, 3423, 3429, 3431, 3438, 3441, 3443, 3451, 3471, 3473, 3491, 3493, 3502, 3508, 3513, 3523, 3532, 3545, 3555, 3560, 3563, 3569, 3587, 3590, 3593, 3601, 3614, 3616, 3620, 3628, 3630, 3632, 3634, 3642, 3653, 3664, 3666, 3673, 3676, 3681, 3688, 3692, 3695, 3711, 3716, 3730, 3735, 3737, 3746, 3754, 3757, 3760, 3763, 3766, 3768, 3774, 3785, 3788, 3803, 3814, 3823, 3832, 3841, 3850, 3853, 3859, 3864, 3866, 3873, 3915, 3918, 3922, 3925, 3936, 3945, 3948, 3950, 3962, 3967, 3971, 3975, 3978, 3981, 3997, 3999, 4005, 4007, 4011, 4017, 4023, 4027, 4030, 4038, 4048, 4052, 4071, 4076, 4083, 4090, 4164, 4179, 4185, 4187, 4191, 4195, 4200, 4205, 4209, 4215, 4220, 4225, 4228, 4239, 4256, 4261, 4266, 4269, 4288, 4314, 4319, 4325, 4327, 4337, 4340, 4343, 4346, 4349, 4354, 4359, 4363, 4367, 4373, 4377, 4381, 4397, 4401, 4405, 4409, 4414, 4418, 4424, 4429, 4432, 4440, 4443, 4452, 4456, 4458, 4477, 4483, 4488, 4493, 4495, 4499, 4508, 4521, 4532, 4535, 4538, 4547, 4549, 4556, 4559, 4571, 4586, 4593, 4599, 4603, 4609, 4613, 4622, 4631, 4636, 4640, 4644, 4650, 4657, 4663, 4672, 4677, 4684, 4701, 4703, 4718, 4720, 4731, 4734, 4737, 4743, 4746, 4749, 4756, 4762, 4767, 4771, 4774, 4777, 4783, 4788, 4791, 4795, 4799, 4802, 4809, 4812, 4814, 4819, 4827, 4829, 4843, 4851, 4860, 4863, 4868, 4871, 4880, 4902, 4908, 4913, 4915, 4925, 4934, 4946, 4949, 4952, 4964, 4973, 4981, 4986, 4994, 4999, 5002, 5023, 5025, 5027, 5030, 5034, 5044, 5048, 5053, 5058, 5062, 5064, 5067, 5071, 5081, 5089, 5097, 5100, 5103, 5106, 5109, 5111, 5118, 5120, 5124, 5130, 5133, 5137, 5142, 5157, 5163, 5168, 5173, 5178, 5183, 5185, 5187, 5192, 5200, 5207, 5220, 5226, 5230, 5242, 5249, 5251, 5253, 5257, 5260, 5263, 5270, 5277, 5281, 5291, 5295, 5298, 5301, 5307, 5310, 5313, 5316, 5319, 5322, 5325, 5332, 5335, 5338, 5343, 5345, 5348, 5351, 5370, 5377, 5381, 5384, 5391, 5396, 5403, 5409, 5411, 5417, 5421, 5428, 5433, 5438, 5446, 5451, 5457, 5460, 5463, 5466, 5469, 5472, 5475, 5482, 5485, 5488, 5493, 5495, 5498, 5501, 5505, 5511, 5513, 5524, 5528, 5532, 5539, 5543, 5548, 5551, 5564, 5569, 5575, 5578, 5581, 5584, 5587, 5594, 5597, 5600, 5605, 5607, 5610, 5613, 5620, 5630, 5641, 5657, 5662, 5664, 5669, 5676, 5683, 5697, 5704, 5711, 5725, 5731, 5736, 5739, 5744, 5747, 5751, 5766, 5771, 5775, 5786, 5791, 5804, 5820, 5825, 5827, 5832, 5840, 5854, 5862, 5875, 5881, 5885, 5899, 5904, 5908, 5922, 5925, 5929, 5939, 5947, 5955, 5958, 5963, 5965, 5969, 5979, 5987, 5995, 5998, 6003, 6005, 6015, 6023, 6031, 6034, 6039, 6052, 6057, 6066, 6077, 6091, 6096, 6099, 6105, 6109, 6113, 6117, 6121, 6124, 6136, 6141, 6152, 6164, 6168, 6173, 6176, 6180, 6184, 6186, 6191, 6198, 6208, 6213, 6215, 6224, 6232, 6239, 6244, 6248, 6253, 6258, 6261, 6264, 6267, 6269, 6273, 6276, 6280, 6288, 6290, 6292, 6295, 6304, 6306, 6328, 6335, 6337, 6349, 6351, 6354, 6358, 6361, 6372, 6381, 6388, 6392, 6401, 6409, 6413, 6416, 6424, 6430, 6434, 6439, 6444, 6452, 6456, 6470, 6472, 6475, 6481, 6486, 6489, 6492, 6498, 6509, 6518, 6536, 6545, 6550, 6555, 6561, 6568, 6573, 6575, 6593, 6595, 6598, 6609, 6620, 6627, 6632, 6635, 6638, 6643, 6654, 6660, 6664, 6670, 6677, 6679, 6681, 6685, 6688, 6691, 6701, 6706, 6708, 6710, 6718, 6727, 6729, 6733, 6743, 6752, 6754, 6757, 6762, 6776, 6785, 6787, 6791, 6799, 6801, 6812, 6821, 6827, 6832, 6836, 6841, 6846, 6851, 6855, 6862, 6869, 6874, 6879, 6883, 6894, 6898, 6901, 6904, 6915, 6923, 6931, 6936, 6942, 6946, 6954, 6959, 6964, 6968, 6977, 6980, 6983, 6987, 6994, 7002, 7011, 7014, 7029, 7046, 7052, 7056, 7063, 7070, 7073, 7075, 7081, 7083, 7086, 7095, 7098, 7102, 7108, 7120, 7130, 7134, 7137, 7140, 7145, 7149, 7153, 7156, 7163, 7166, 7173, 7179, 7207, 7217, 7227, 7229, 7237, 7269, 7277, 7279, 7281, 7283, 7298, 7317, 7319, 7322, 7328, 7334, 7342, 7344, 7346, 7351, 7356, 7361, 7365, 7369, 7373, 7382, 7391, 7394, 7397, 7400, 7404, 7414, 7421, 7428, 7430, 7440, 7443, 7446, 7449, 7453, 7455, 7457, 7460, 7466, 7469, 7474, 7479, 7483, 7487, 7493, 7518, 7520, 7532, 7537, 7542, 7544, 7556, 7561, 7566, 7568, 7573, 7580, 7584, 7593, 7600, 7604, 7608, 7613, 7618, 7622, 7627, 7634, 7640, 7645, 7649, 7656, 7658, 7661, 7673, 7677, 7682, 7686, 7693, 7703, 7706, 7715, 7726, 7728, 7741, 7743, 7745, 7772, 7775, 7780, 7782, 7804, 7807, 7809, 7811, 7818, 7820, 7828, 7832, 7837, 7840, 7843, 7846, 7853, 7858, 7866, 7869, 7881, 7890, 7893, 7897, 7902, 7907, 7910, 7913, 7916, 7918, 7923, 7927, 7931, 7934, 7937, 7942, 7951, 7953, 7965, 7968, 7971, 7983, 7985, 7989, 7993, 7996, 8001, 8006, 8013, 8019, 8027, 8040, 8044, 8051, 8055, 8069, 8074, 8078, 8089, 8091, 8109, 8114, 8117, 8120, 8125, 8127, 8132, 8138, 8143, 8149, 8156, 8175, 8186, 8191, 8197, 8201, 8209, 8211, 8222, 8231, 8236, 8240, 8243, 8257, 8265, 8269, 8272, 8280, 8292, 8296, 8301, 8304, 8317, 8321, 8333, 8338, 8342, 8346, 8352, 8355, 8358, 8385, 8391, 8395, 8406, 8413, 8417, 8420, 8426, 8435, 8443, 8447, 8451, 8459, 8468, 8474, 8476, 8501, 8506, 8510, 8517, 8521, 8525, 8529, 8541, 8545, 8559, 8565, 8572, 8577, 8588, 8591, 8597, 8599, 8608, 8618, 8623, 8638, 8642, 8645, 8649, 8653, 8667, 8669, 8673, 8681, 8688, 8693, 8695, 8700, 8705, 8713, 8720, 8724, 8727, 8739, 8745, 8754, 8757, 8767, 8778, 8781, 8788, 8791, 8798, 8809, 8815, 8819, 8829, 8832, 8838, 8849, 8851, 8853, 8856, 8860, 8863, 8867, 8871, 8876, 8887, 8891, 8899, 8902, 8911, 8913, 8922, 8927, 8933, 8937, 8940, 8948, 8951, 8955, 8959, 8964, 8967, 8971, 8975, 8979, 8998, 9006, 9010, 9014, 9020, 9024, 9028, 9031, 9034, 9037, 9040, 9048, 9051, 9062, 9064, 9071, 9078, 9083, 9089, 9093, 9098, 9105, 9111, 9118, 9121, 9124, 9128, 9133, 9137, 9139, 9150, 9157, 9161, 9171, 9175, 9183, 9195, 9200, 9210, 9218, 9221, 9227, 9232, 9235, 9240, 9245, 9258, 9265, 9275, 9280, 9282, 9287, 9291, 9297, 9301, 9314, 9318, 9328, 9331, 9333, 9338, 9347, 9360, 9368, 9372, 9381, 9385, 9390, 9401, 9403, 9419, 9424, 9430, 9436, 9454, 9461, 9464, 9467, 9475, 9478, 9486, 9488, 9492, 9495, 9500, 9502, 9506, 9518, 9527, 9535, 9540, 9544, 9554, 9556, 9562, 9567, 9570, 9580, 9586, 9589, 9592, 9600, 9610, 9620, 9624, 9628, 9631, 9634, 9639, 9644, 9647, 9650, 9656, 9659, 9665, 9668, 9671, 9676, 9679, 9687, 9693, 9698, 9703, 9711, 9721, 9725, 9727, 9730, 9742, 9746, 9749, 9764, 9769, 9773, 9780, 9783, 9792, 9799, 9804, 9808, 9816, 9822, 9830, 9833, 9842, 9845, 9848, 9857, 9863, 9869, 9871, 9882, 9884, 9893, 9895, 9899, 9905, 9909, 9923, 9928, 9944, 9946, 9950, 9955, 9960, 9972, 9976, 9983, 9988, 9993, 9996, 10007, 10012, 10022, 10024, 10026, 10036, 10040, 10042, 10054, 10062, 10075, 10078, 10090, 10092, 10100, 10108, 10115, 10119, 10126, 10130, 10135, 10139, 10147, 10151, 10158, 10163, 10172, 10181, 10184, 10204, 10208, 10211, 10218, 10221, 10225, 10228, 10235, 10238, 10244, 10247, 10251, 10254, 10261, 10266, 10280, 10287, 10298, 10307, 10316, 10320, 10324, 10350, 10353, 10356, 10366, 10370, 10375, 10381, 10386, 10391, 10400, 10403, 10405, 10409, 10416, 10423, 10431, 10446, 10451, 10456, 10462, 10465, 10469, 10479, 10491, 10493, 10500, 10504, 10513, 10522, 10536, 10544, 10547, 10556, 10562, 10572, 10580, 10583, 10586, 10595, 10600, 10609, 10615, 10620, 10623, 10628, 10633, 10637, 10643, 10649, 10658, 10663, 10671, 10675, 10680, 10686, 10693, 10698, 10705, 10709, 10714, 10722, 10725, 10728, 10731, 10735, 10740, 10743, 10754, 10758, 10760, 10771, 10782, 10791, 10794, 10798, 10801, 10816, 10821, 10829, 10836, 10840, 10845, 10849, 10854, 10858, 10864, 10867, 10874, 10884, 10892, 10896, 10906, 10909, 10911, 10921, 10923, 10929, 10935, 10937, 10951, 10953, 10963, 10972, 10977, 10986, 10990, 10994, 10999, 11003, 11006, 11010, 11017, 11021, 11029, 11034, 11053, 11058, 11065, 11076, 11083, 11090, 11094, 11101, 11106, 11115, 11123, 11131, 11137, 11142, 11147, 11151, 11156, 11159, 11164, 11168, 11172, 11177, 11186, 11192, 11197, 11201, 11203, 11210, 11214, 11222, 11225, 11230, 11237, 11255, 11272, 11279, 11293, 11301, 11304, 11308, 11313, 11318, 11322, 11325, 11329, 11336, 11341, 11343, 11345, 11355, 11360, 11364, 11367, 11371, 11380, 11386, 11390, 11392, 11396, 11400, 11407, 11415, 11423, 11425, 11430, 11434, 11437, 11461, 11468, 11501, 11506, 11509, 11514, 11516, 11522, 11530, 11535, 11542, 11547, 11550, 11554, 11561, 11566, 11596, 11603, 11618, 11634, 11653, 11670, 11677, 11685, 11698, 11707, 11716, 11725, 11735, 11743, 11753, 11763, 11775, 11791, 11809, 11822, 11837, 11848, 11858, 11869, 11879, 11896, 11902, 11924, 11929, 11935, 11941, 11947, 11952, 11954, 11957, 11967, 11970, 11972, 11974, 11988, 11999, 12005, 12086] \ No newline at end of file diff --git a/src/lib/plsql/PlSqlParser.js b/src/lib/plsql/PlSqlParser.js new file mode 100644 index 0000000..b287fdf --- /dev/null +++ b/src/lib/plsql/PlSqlParser.js @@ -0,0 +1,100054 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/plsql/PlSqlParser.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); +var PlSqlParserListener = require('./PlSqlParserListener').PlSqlParserListener; +var PlSqlParserVisitor = require('./PlSqlParserVisitor').PlSqlParserVisitor; + +var PlSqlBaseParser = require('./PlSqlBaseParser').PlSqlBaseParser; + +var grammarFileName = "PlSqlParser.g4"; + + +var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", + "\u0003\u08cf\u2f41\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004", + "\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007", + "\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f", + "\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010", + "\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014", + "\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017\t\u0017", + "\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a\u0004\u001b", + "\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e\t\u001e", + "\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#\t#\u0004", + "$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004*\t*\u0004", + "+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u0004", + "2\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u00048\t8\u0004", + "9\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004?\t?\u0004", + "@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004F\tF\u0004", + "G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004M\tM\u0004", + "N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004T\tT\u0004", + "U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004[\t[\u0004", + "\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004b\tb\u0004", + "c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004i\ti\u0004", + "j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004p\tp\u0004", + "q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0004u\tu\u0004v\tv\u0004w\tw\u0004", + "x\tx\u0004y\ty\u0004z\tz\u0004{\t{\u0004|\t|\u0004}\t}\u0004~\t~\u0004", + "\u007f\t\u007f\u0004\u0080\t\u0080\u0004\u0081\t\u0081\u0004\u0082\t", + "\u0082\u0004\u0083\t\u0083\u0004\u0084\t\u0084\u0004\u0085\t\u0085\u0004", + "\u0086\t\u0086\u0004\u0087\t\u0087\u0004\u0088\t\u0088\u0004\u0089\t", + "\u0089\u0004\u008a\t\u008a\u0004\u008b\t\u008b\u0004\u008c\t\u008c\u0004", + "\u008d\t\u008d\u0004\u008e\t\u008e\u0004\u008f\t\u008f\u0004\u0090\t", + "\u0090\u0004\u0091\t\u0091\u0004\u0092\t\u0092\u0004\u0093\t\u0093\u0004", + "\u0094\t\u0094\u0004\u0095\t\u0095\u0004\u0096\t\u0096\u0004\u0097\t", + "\u0097\u0004\u0098\t\u0098\u0004\u0099\t\u0099\u0004\u009a\t\u009a\u0004", + "\u009b\t\u009b\u0004\u009c\t\u009c\u0004\u009d\t\u009d\u0004\u009e\t", + "\u009e\u0004\u009f\t\u009f\u0004\u00a0\t\u00a0\u0004\u00a1\t\u00a1\u0004", + "\u00a2\t\u00a2\u0004\u00a3\t\u00a3\u0004\u00a4\t\u00a4\u0004\u00a5\t", + "\u00a5\u0004\u00a6\t\u00a6\u0004\u00a7\t\u00a7\u0004\u00a8\t\u00a8\u0004", + "\u00a9\t\u00a9\u0004\u00aa\t\u00aa\u0004\u00ab\t\u00ab\u0004\u00ac\t", + "\u00ac\u0004\u00ad\t\u00ad\u0004\u00ae\t\u00ae\u0004\u00af\t\u00af\u0004", + "\u00b0\t\u00b0\u0004\u00b1\t\u00b1\u0004\u00b2\t\u00b2\u0004\u00b3\t", + "\u00b3\u0004\u00b4\t\u00b4\u0004\u00b5\t\u00b5\u0004\u00b6\t\u00b6\u0004", + "\u00b7\t\u00b7\u0004\u00b8\t\u00b8\u0004\u00b9\t\u00b9\u0004\u00ba\t", + "\u00ba\u0004\u00bb\t\u00bb\u0004\u00bc\t\u00bc\u0004\u00bd\t\u00bd\u0004", + "\u00be\t\u00be\u0004\u00bf\t\u00bf\u0004\u00c0\t\u00c0\u0004\u00c1\t", + "\u00c1\u0004\u00c2\t\u00c2\u0004\u00c3\t\u00c3\u0004\u00c4\t\u00c4\u0004", + "\u00c5\t\u00c5\u0004\u00c6\t\u00c6\u0004\u00c7\t\u00c7\u0004\u00c8\t", + "\u00c8\u0004\u00c9\t\u00c9\u0004\u00ca\t\u00ca\u0004\u00cb\t\u00cb\u0004", + "\u00cc\t\u00cc\u0004\u00cd\t\u00cd\u0004\u00ce\t\u00ce\u0004\u00cf\t", + "\u00cf\u0004\u00d0\t\u00d0\u0004\u00d1\t\u00d1\u0004\u00d2\t\u00d2\u0004", + "\u00d3\t\u00d3\u0004\u00d4\t\u00d4\u0004\u00d5\t\u00d5\u0004\u00d6\t", + "\u00d6\u0004\u00d7\t\u00d7\u0004\u00d8\t\u00d8\u0004\u00d9\t\u00d9\u0004", + "\u00da\t\u00da\u0004\u00db\t\u00db\u0004\u00dc\t\u00dc\u0004\u00dd\t", + "\u00dd\u0004\u00de\t\u00de\u0004\u00df\t\u00df\u0004\u00e0\t\u00e0\u0004", + "\u00e1\t\u00e1\u0004\u00e2\t\u00e2\u0004\u00e3\t\u00e3\u0004\u00e4\t", + "\u00e4\u0004\u00e5\t\u00e5\u0004\u00e6\t\u00e6\u0004\u00e7\t\u00e7\u0004", + "\u00e8\t\u00e8\u0004\u00e9\t\u00e9\u0004\u00ea\t\u00ea\u0004\u00eb\t", + "\u00eb\u0004\u00ec\t\u00ec\u0004\u00ed\t\u00ed\u0004\u00ee\t\u00ee\u0004", + "\u00ef\t\u00ef\u0004\u00f0\t\u00f0\u0004\u00f1\t\u00f1\u0004\u00f2\t", + "\u00f2\u0004\u00f3\t\u00f3\u0004\u00f4\t\u00f4\u0004\u00f5\t\u00f5\u0004", + "\u00f6\t\u00f6\u0004\u00f7\t\u00f7\u0004\u00f8\t\u00f8\u0004\u00f9\t", + "\u00f9\u0004\u00fa\t\u00fa\u0004\u00fb\t\u00fb\u0004\u00fc\t\u00fc\u0004", + "\u00fd\t\u00fd\u0004\u00fe\t\u00fe\u0004\u00ff\t\u00ff\u0004\u0100\t", + "\u0100\u0004\u0101\t\u0101\u0004\u0102\t\u0102\u0004\u0103\t\u0103\u0004", + "\u0104\t\u0104\u0004\u0105\t\u0105\u0004\u0106\t\u0106\u0004\u0107\t", + "\u0107\u0004\u0108\t\u0108\u0004\u0109\t\u0109\u0004\u010a\t\u010a\u0004", + "\u010b\t\u010b\u0004\u010c\t\u010c\u0004\u010d\t\u010d\u0004\u010e\t", + "\u010e\u0004\u010f\t\u010f\u0004\u0110\t\u0110\u0004\u0111\t\u0111\u0004", + "\u0112\t\u0112\u0004\u0113\t\u0113\u0004\u0114\t\u0114\u0004\u0115\t", + "\u0115\u0004\u0116\t\u0116\u0004\u0117\t\u0117\u0004\u0118\t\u0118\u0004", + "\u0119\t\u0119\u0004\u011a\t\u011a\u0004\u011b\t\u011b\u0004\u011c\t", + "\u011c\u0004\u011d\t\u011d\u0004\u011e\t\u011e\u0004\u011f\t\u011f\u0004", + "\u0120\t\u0120\u0004\u0121\t\u0121\u0004\u0122\t\u0122\u0004\u0123\t", + "\u0123\u0004\u0124\t\u0124\u0004\u0125\t\u0125\u0004\u0126\t\u0126\u0004", + "\u0127\t\u0127\u0004\u0128\t\u0128\u0004\u0129\t\u0129\u0004\u012a\t", + "\u012a\u0004\u012b\t\u012b\u0004\u012c\t\u012c\u0004\u012d\t\u012d\u0004", + "\u012e\t\u012e\u0004\u012f\t\u012f\u0004\u0130\t\u0130\u0004\u0131\t", + "\u0131\u0004\u0132\t\u0132\u0004\u0133\t\u0133\u0004\u0134\t\u0134\u0004", + "\u0135\t\u0135\u0004\u0136\t\u0136\u0004\u0137\t\u0137\u0004\u0138\t", + "\u0138\u0004\u0139\t\u0139\u0004\u013a\t\u013a\u0004\u013b\t\u013b\u0004", + "\u013c\t\u013c\u0004\u013d\t\u013d\u0004\u013e\t\u013e\u0004\u013f\t", + "\u013f\u0004\u0140\t\u0140\u0004\u0141\t\u0141\u0004\u0142\t\u0142\u0004", + "\u0143\t\u0143\u0004\u0144\t\u0144\u0004\u0145\t\u0145\u0004\u0146\t", + "\u0146\u0004\u0147\t\u0147\u0004\u0148\t\u0148\u0004\u0149\t\u0149\u0004", + "\u014a\t\u014a\u0004\u014b\t\u014b\u0004\u014c\t\u014c\u0004\u014d\t", + "\u014d\u0004\u014e\t\u014e\u0004\u014f\t\u014f\u0004\u0150\t\u0150\u0004", + "\u0151\t\u0151\u0004\u0152\t\u0152\u0004\u0153\t\u0153\u0004\u0154\t", + "\u0154\u0004\u0155\t\u0155\u0004\u0156\t\u0156\u0004\u0157\t\u0157\u0004", + "\u0158\t\u0158\u0004\u0159\t\u0159\u0004\u015a\t\u015a\u0004\u015b\t", + "\u015b\u0004\u015c\t\u015c\u0004\u015d\t\u015d\u0004\u015e\t\u015e\u0004", + "\u015f\t\u015f\u0004\u0160\t\u0160\u0004\u0161\t\u0161\u0004\u0162\t", + "\u0162\u0004\u0163\t\u0163\u0004\u0164\t\u0164\u0004\u0165\t\u0165\u0004", + "\u0166\t\u0166\u0004\u0167\t\u0167\u0004\u0168\t\u0168\u0004\u0169\t", + "\u0169\u0004\u016a\t\u016a\u0004\u016b\t\u016b\u0004\u016c\t\u016c\u0004", + "\u016d\t\u016d\u0004\u016e\t\u016e\u0004\u016f\t\u016f\u0004\u0170\t", + "\u0170\u0004\u0171\t\u0171\u0004\u0172\t\u0172\u0004\u0173\t\u0173\u0004", + "\u0174\t\u0174\u0004\u0175\t\u0175\u0004\u0176\t\u0176\u0004\u0177\t", + "\u0177\u0004\u0178\t\u0178\u0004\u0179\t\u0179\u0004\u017a\t\u017a\u0004", + "\u017b\t\u017b\u0004\u017c\t\u017c\u0004\u017d\t\u017d\u0004\u017e\t", + "\u017e\u0004\u017f\t\u017f\u0004\u0180\t\u0180\u0004\u0181\t\u0181\u0004", + "\u0182\t\u0182\u0004\u0183\t\u0183\u0004\u0184\t\u0184\u0004\u0185\t", + "\u0185\u0004\u0186\t\u0186\u0004\u0187\t\u0187\u0004\u0188\t\u0188\u0004", + "\u0189\t\u0189\u0004\u018a\t\u018a\u0004\u018b\t\u018b\u0004\u018c\t", + "\u018c\u0004\u018d\t\u018d\u0004\u018e\t\u018e\u0004\u018f\t\u018f\u0004", + "\u0190\t\u0190\u0004\u0191\t\u0191\u0004\u0192\t\u0192\u0004\u0193\t", + "\u0193\u0004\u0194\t\u0194\u0004\u0195\t\u0195\u0004\u0196\t\u0196\u0004", + "\u0197\t\u0197\u0004\u0198\t\u0198\u0004\u0199\t\u0199\u0004\u019a\t", + "\u019a\u0004\u019b\t\u019b\u0004\u019c\t\u019c\u0004\u019d\t\u019d\u0004", + "\u019e\t\u019e\u0004\u019f\t\u019f\u0004\u01a0\t\u01a0\u0004\u01a1\t", + "\u01a1\u0004\u01a2\t\u01a2\u0004\u01a3\t\u01a3\u0004\u01a4\t\u01a4\u0004", + "\u01a5\t\u01a5\u0004\u01a6\t\u01a6\u0004\u01a7\t\u01a7\u0004\u01a8\t", + "\u01a8\u0004\u01a9\t\u01a9\u0004\u01aa\t\u01aa\u0004\u01ab\t\u01ab\u0004", + "\u01ac\t\u01ac\u0004\u01ad\t\u01ad\u0004\u01ae\t\u01ae\u0004\u01af\t", + "\u01af\u0004\u01b0\t\u01b0\u0004\u01b1\t\u01b1\u0004\u01b2\t\u01b2\u0004", + "\u01b3\t\u01b3\u0004\u01b4\t\u01b4\u0004\u01b5\t\u01b5\u0004\u01b6\t", + "\u01b6\u0004\u01b7\t\u01b7\u0004\u01b8\t\u01b8\u0004\u01b9\t\u01b9\u0004", + "\u01ba\t\u01ba\u0004\u01bb\t\u01bb\u0004\u01bc\t\u01bc\u0004\u01bd\t", + "\u01bd\u0004\u01be\t\u01be\u0004\u01bf\t\u01bf\u0004\u01c0\t\u01c0\u0004", + "\u01c1\t\u01c1\u0004\u01c2\t\u01c2\u0004\u01c3\t\u01c3\u0004\u01c4\t", + "\u01c4\u0004\u01c5\t\u01c5\u0004\u01c6\t\u01c6\u0004\u01c7\t\u01c7\u0004", + "\u01c8\t\u01c8\u0004\u01c9\t\u01c9\u0004\u01ca\t\u01ca\u0004\u01cb\t", + "\u01cb\u0004\u01cc\t\u01cc\u0004\u01cd\t\u01cd\u0004\u01ce\t\u01ce\u0004", + "\u01cf\t\u01cf\u0004\u01d0\t\u01d0\u0004\u01d1\t\u01d1\u0004\u01d2\t", + "\u01d2\u0004\u01d3\t\u01d3\u0004\u01d4\t\u01d4\u0004\u01d5\t\u01d5\u0004", + "\u01d6\t\u01d6\u0004\u01d7\t\u01d7\u0004\u01d8\t\u01d8\u0004\u01d9\t", + "\u01d9\u0004\u01da\t\u01da\u0004\u01db\t\u01db\u0004\u01dc\t\u01dc\u0004", + "\u01dd\t\u01dd\u0004\u01de\t\u01de\u0004\u01df\t\u01df\u0004\u01e0\t", + "\u01e0\u0004\u01e1\t\u01e1\u0004\u01e2\t\u01e2\u0004\u01e3\t\u01e3\u0004", + "\u01e4\t\u01e4\u0004\u01e5\t\u01e5\u0004\u01e6\t\u01e6\u0004\u01e7\t", + "\u01e7\u0004\u01e8\t\u01e8\u0004\u01e9\t\u01e9\u0004\u01ea\t\u01ea\u0004", + "\u01eb\t\u01eb\u0004\u01ec\t\u01ec\u0004\u01ed\t\u01ed\u0004\u01ee\t", + "\u01ee\u0004\u01ef\t\u01ef\u0004\u01f0\t\u01f0\u0004\u01f1\t\u01f1\u0004", + "\u01f2\t\u01f2\u0004\u01f3\t\u01f3\u0004\u01f4\t\u01f4\u0004\u01f5\t", + "\u01f5\u0004\u01f6\t\u01f6\u0004\u01f7\t\u01f7\u0004\u01f8\t\u01f8\u0004", + "\u01f9\t\u01f9\u0004\u01fa\t\u01fa\u0004\u01fb\t\u01fb\u0004\u01fc\t", + "\u01fc\u0004\u01fd\t\u01fd\u0004\u01fe\t\u01fe\u0004\u01ff\t\u01ff\u0004", + "\u0200\t\u0200\u0004\u0201\t\u0201\u0004\u0202\t\u0202\u0004\u0203\t", + "\u0203\u0004\u0204\t\u0204\u0004\u0205\t\u0205\u0004\u0206\t\u0206\u0004", + "\u0207\t\u0207\u0004\u0208\t\u0208\u0004\u0209\t\u0209\u0004\u020a\t", + "\u020a\u0004\u020b\t\u020b\u0004\u020c\t\u020c\u0004\u020d\t\u020d\u0004", + "\u020e\t\u020e\u0004\u020f\t\u020f\u0004\u0210\t\u0210\u0004\u0211\t", + "\u0211\u0004\u0212\t\u0212\u0004\u0213\t\u0213\u0004\u0214\t\u0214\u0004", + "\u0215\t\u0215\u0004\u0216\t\u0216\u0004\u0217\t\u0217\u0004\u0218\t", + "\u0218\u0004\u0219\t\u0219\u0004\u021a\t\u021a\u0004\u021b\t\u021b\u0004", + "\u021c\t\u021c\u0004\u021d\t\u021d\u0004\u021e\t\u021e\u0004\u021f\t", + "\u021f\u0004\u0220\t\u0220\u0004\u0221\t\u0221\u0004\u0222\t\u0222\u0004", + "\u0223\t\u0223\u0004\u0224\t\u0224\u0004\u0225\t\u0225\u0004\u0226\t", + "\u0226\u0004\u0227\t\u0227\u0004\u0228\t\u0228\u0004\u0229\t\u0229\u0004", + "\u022a\t\u022a\u0004\u022b\t\u022b\u0004\u022c\t\u022c\u0004\u022d\t", + "\u022d\u0004\u022e\t\u022e\u0004\u022f\t\u022f\u0004\u0230\t\u0230\u0004", + "\u0231\t\u0231\u0004\u0232\t\u0232\u0004\u0233\t\u0233\u0004\u0234\t", + "\u0234\u0004\u0235\t\u0235\u0004\u0236\t\u0236\u0004\u0237\t\u0237\u0004", + "\u0238\t\u0238\u0004\u0239\t\u0239\u0004\u023a\t\u023a\u0004\u023b\t", + "\u023b\u0004\u023c\t\u023c\u0004\u023d\t\u023d\u0004\u023e\t\u023e\u0004", + "\u023f\t\u023f\u0004\u0240\t\u0240\u0004\u0241\t\u0241\u0004\u0242\t", + "\u0242\u0004\u0243\t\u0243\u0004\u0244\t\u0244\u0004\u0245\t\u0245\u0004", + "\u0246\t\u0246\u0004\u0247\t\u0247\u0004\u0248\t\u0248\u0004\u0249\t", + "\u0249\u0004\u024a\t\u024a\u0004\u024b\t\u024b\u0004\u024c\t\u024c\u0004", + "\u024d\t\u024d\u0004\u024e\t\u024e\u0004\u024f\t\u024f\u0004\u0250\t", + "\u0250\u0004\u0251\t\u0251\u0004\u0252\t\u0252\u0004\u0253\t\u0253\u0004", + "\u0254\t\u0254\u0004\u0255\t\u0255\u0004\u0256\t\u0256\u0004\u0257\t", + "\u0257\u0004\u0258\t\u0258\u0004\u0259\t\u0259\u0004\u025a\t\u025a\u0004", + "\u025b\t\u025b\u0004\u025c\t\u025c\u0004\u025d\t\u025d\u0004\u025e\t", + "\u025e\u0004\u025f\t\u025f\u0004\u0260\t\u0260\u0004\u0261\t\u0261\u0004", + "\u0262\t\u0262\u0004\u0263\t\u0263\u0004\u0264\t\u0264\u0004\u0265\t", + "\u0265\u0004\u0266\t\u0266\u0004\u0267\t\u0267\u0004\u0268\t\u0268\u0004", + "\u0269\t\u0269\u0004\u026a\t\u026a\u0004\u026b\t\u026b\u0004\u026c\t", + "\u026c\u0004\u026d\t\u026d\u0004\u026e\t\u026e\u0004\u026f\t\u026f\u0004", + "\u0270\t\u0270\u0004\u0271\t\u0271\u0004\u0272\t\u0272\u0004\u0273\t", + "\u0273\u0004\u0274\t\u0274\u0004\u0275\t\u0275\u0004\u0276\t\u0276\u0004", + "\u0277\t\u0277\u0004\u0278\t\u0278\u0004\u0279\t\u0279\u0004\u027a\t", + "\u027a\u0004\u027b\t\u027b\u0004\u027c\t\u027c\u0004\u027d\t\u027d\u0004", + "\u027e\t\u027e\u0004\u027f\t\u027f\u0004\u0280\t\u0280\u0004\u0281\t", + "\u0281\u0004\u0282\t\u0282\u0004\u0283\t\u0283\u0004\u0284\t\u0284\u0004", + "\u0285\t\u0285\u0004\u0286\t\u0286\u0004\u0287\t\u0287\u0004\u0288\t", + "\u0288\u0004\u0289\t\u0289\u0004\u028a\t\u028a\u0004\u028b\t\u028b\u0004", + "\u028c\t\u028c\u0004\u028d\t\u028d\u0004\u028e\t\u028e\u0004\u028f\t", + "\u028f\u0004\u0290\t\u0290\u0004\u0291\t\u0291\u0004\u0292\t\u0292\u0004", + "\u0293\t\u0293\u0004\u0294\t\u0294\u0004\u0295\t\u0295\u0004\u0296\t", + "\u0296\u0004\u0297\t\u0297\u0004\u0298\t\u0298\u0004\u0299\t\u0299\u0004", + "\u029a\t\u029a\u0004\u029b\t\u029b\u0004\u029c\t\u029c\u0004\u029d\t", + "\u029d\u0004\u029e\t\u029e\u0004\u029f\t\u029f\u0004\u02a0\t\u02a0\u0004", + "\u02a1\t\u02a1\u0004\u02a2\t\u02a2\u0004\u02a3\t\u02a3\u0004\u02a4\t", + "\u02a4\u0004\u02a5\t\u02a5\u0004\u02a6\t\u02a6\u0004\u02a7\t\u02a7\u0004", + "\u02a8\t\u02a8\u0004\u02a9\t\u02a9\u0004\u02aa\t\u02aa\u0004\u02ab\t", + "\u02ab\u0004\u02ac\t\u02ac\u0004\u02ad\t\u02ad\u0004\u02ae\t\u02ae\u0004", + "\u02af\t\u02af\u0004\u02b0\t\u02b0\u0004\u02b1\t\u02b1\u0004\u02b2\t", + "\u02b2\u0004\u02b3\t\u02b3\u0004\u02b4\t\u02b4\u0004\u02b5\t\u02b5\u0004", + "\u02b6\t\u02b6\u0004\u02b7\t\u02b7\u0004\u02b8\t\u02b8\u0004\u02b9\t", + "\u02b9\u0004\u02ba\t\u02ba\u0004\u02bb\t\u02bb\u0004\u02bc\t\u02bc\u0004", + "\u02bd\t\u02bd\u0004\u02be\t\u02be\u0004\u02bf\t\u02bf\u0004\u02c0\t", + "\u02c0\u0004\u02c1\t\u02c1\u0004\u02c2\t\u02c2\u0004\u02c3\t\u02c3\u0004", + "\u02c4\t\u02c4\u0004\u02c5\t\u02c5\u0004\u02c6\t\u02c6\u0004\u02c7\t", + "\u02c7\u0004\u02c8\t\u02c8\u0004\u02c9\t\u02c9\u0004\u02ca\t\u02ca\u0004", + "\u02cb\t\u02cb\u0004\u02cc\t\u02cc\u0004\u02cd\t\u02cd\u0004\u02ce\t", + "\u02ce\u0004\u02cf\t\u02cf\u0004\u02d0\t\u02d0\u0004\u02d1\t\u02d1\u0004", + "\u02d2\t\u02d2\u0004\u02d3\t\u02d3\u0004\u02d4\t\u02d4\u0004\u02d5\t", + "\u02d5\u0004\u02d6\t\u02d6\u0004\u02d7\t\u02d7\u0004\u02d8\t\u02d8\u0004", + "\u02d9\t\u02d9\u0004\u02da\t\u02da\u0004\u02db\t\u02db\u0004\u02dc\t", + "\u02dc\u0004\u02dd\t\u02dd\u0004\u02de\t\u02de\u0004\u02df\t\u02df\u0004", + "\u02e0\t\u02e0\u0004\u02e1\t\u02e1\u0004\u02e2\t\u02e2\u0004\u02e3\t", + "\u02e3\u0004\u02e4\t\u02e4\u0004\u02e5\t\u02e5\u0004\u02e6\t\u02e6\u0004", + "\u02e7\t\u02e7\u0004\u02e8\t\u02e8\u0004\u02e9\t\u02e9\u0004\u02ea\t", + "\u02ea\u0004\u02eb\t\u02eb\u0004\u02ec\t\u02ec\u0004\u02ed\t\u02ed\u0004", + "\u02ee\t\u02ee\u0004\u02ef\t\u02ef\u0004\u02f0\t\u02f0\u0003\u0002\u0003", + "\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0005\u0003\u05e6\n\u0003", + "\u0003\u0003\u0005\u0003\u05e9\n\u0003\u0007\u0003\u05eb\n\u0003\f\u0003", + "\u000e\u0003\u05ee\u000b\u0003\u0003\u0003\u0003\u0003\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003", + "\u0004\u0005\u0004\u062a\n\u0004\u0003\u0005\u0003\u0005\u0003\u0005", + "\u0003\u0005\u0003\u0005\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006", + "\u0003\u0006\u0005\u0006\u0636\n\u0006\u0003\u0006\u0007\u0006\u0639", + "\n\u0006\f\u0006\u000e\u0006\u063c\u000b\u0006\u0003\u0006\u0003\u0006", + "\u0005\u0006\u0640\n\u0006\u0003\u0006\u0003\u0006\u0003\u0007\u0003", + "\u0007\u0003\u0007\u0005\u0007\u0647\n\u0007\u0003\u0007\u0003\u0007", + "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0007\u0007\u064f\n", + "\u0007\f\u0007\u000e\u0007\u0652\u000b\u0007\u0003\u0007\u0003\u0007", + "\u0005\u0007\u0656\n\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003", + "\u0007\u0003\u0007\u0003\u0007\u0007\u0007\u065e\n\u0007\f\u0007\u000e", + "\u0007\u0661\u000b\u0007\u0003\u0007\u0005\u0007\u0664\n\u0007\u0003", + "\u0007\u0003\u0007\u0005\u0007\u0668\n\u0007\u0003\u0007\u0005\u0007", + "\u066b\n\u0007\u0003\u0007\u0003\u0007\u0005\u0007\u066f\n\u0007\u0003", + "\u0007\u0003\u0007\u0003\u0007\u0005\u0007\u0674\n\u0007\u0003\u0007", + "\u0003\u0007\u0003\b\u0003\b\u0005\b\u067a\n\b\u0003\t\u0003\t\u0003", + "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0005\t\u0683\n\t\u0003\t\u0005\t", + "\u0686\n\t\u0003\t\u0003\t\u0003\n\u0003\n\u0005\n\u068c\n\n\u0003\u000b", + "\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0007\u000b\u0693\n", + "\u000b\f\u000b\u000e\u000b\u0696\u000b\u000b\u0003\u000b\u0003\u000b", + "\u0003\f\u0003\f\u0003\f\u0003\f\u0003\f\u0003\r\u0003\r\u0003\r\u0005", + "\r\u06a2\n\r\u0003\r\u0003\r\u0003\r\u0005\r\u06a7\n\r\u0003\r\u0003", + "\r\u0003\r\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e", + "\u0005\u000e\u06b1\n\u000e\u0003\u000e\u0005\u000e\u06b4\n\u000e\u0003", + "\u000e\u0007\u000e\u06b7\n\u000e\f\u000e\u000e\u000e\u06ba\u000b\u000e", + "\u0003\u000e\u0003\u000e\u0005\u000e\u06be\n\u000e\u0003\u000e\u0003", + "\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u06c5\n\u000f", + "\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u06cb\n", + "\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u06cf\n\u000f\u0003\u000f", + "\u0003\u000f\u0007\u000f\u06d3\n\u000f\f\u000f\u000e\u000f\u06d6\u000b", + "\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u06da\n\u000f\u0003\u000f", + "\u0003\u000f\u0003\u0010\u0003\u0010\u0003\u0010\u0005\u0010\u06e1\n", + "\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0005", + "\u0010\u06e8\n\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0007\u0010", + "\u06ed\n\u0010\f\u0010\u000e\u0010\u06f0\u000b\u0010\u0003\u0010\u0003", + "\u0010\u0005\u0010\u06f4\n\u0010\u0003\u0010\u0003\u0010\u0005\u0010", + "\u06f8\n\u0010\u0003\u0010\u0003\u0010\u0003\u0011\u0003\u0011\u0003", + "\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0005", + "\u0011\u0704\n\u0011\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012", + "\u0003\u0012\u0003\u0012\u0007\u0012\u070c\n\u0012\f\u0012\u000e\u0012", + "\u070f\u000b\u0012\u0003\u0012\u0003\u0012\u0005\u0012\u0713\n\u0012", + "\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013", + "\u0003\u0013\u0003\u0013\u0007\u0013\u071d\n\u0013\f\u0013\u000e\u0013", + "\u0720\u000b\u0013\u0003\u0013\u0003\u0013\u0005\u0013\u0724\n\u0013", + "\u0003\u0013\u0003\u0013\u0003\u0013\u0005\u0013\u0729\n\u0013\u0003", + "\u0013\u0005\u0013\u072c\n\u0013\u0003\u0013\u0005\u0013\u072f\n\u0013", + "\u0003\u0013\u0003\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014", + "\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0005\u0014", + "\u073c\n\u0014\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003", + "\u0015\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0005", + "\u0016\u0748\n\u0016\u0003\u0016\u0007\u0016\u074b\n\u0016\f\u0016\u000e", + "\u0016\u074e\u000b\u0016\u0003\u0016\u0003\u0016\u0005\u0016\u0752\n", + "\u0016\u0003\u0016\u0003\u0016\u0003\u0017\u0003\u0017\u0003\u0017\u0003", + "\u0017\u0003\u0017\u0003\u0017\u0007\u0017\u075c\n\u0017\f\u0017\u000e", + "\u0017\u075f\u000b\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u0763\n", + "\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003", + "\u0017\u0007\u0017\u076b\n\u0017\f\u0017\u000e\u0017\u076e\u000b\u0017", + "\u0003\u0017\u0005\u0017\u0771\n\u0017\u0003\u0017\u0005\u0017\u0774", + "\n\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u0778\n\u0017\u0003\u0017", + "\u0005\u0017\u077b\n\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u077f", + "\n\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u0784\n\u0017", + "\u0003\u0017\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018", + "\u0003\u0018\u0003\u0018\u0007\u0018\u078e\n\u0018\f\u0018\u000e\u0018", + "\u0791\u000b\u0018\u0003\u0018\u0003\u0018\u0005\u0018\u0795\n\u0018", + "\u0003\u0018\u0003\u0018\u0005\u0018\u0799\n\u0018\u0003\u0018\u0005", + "\u0018\u079c\n\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0005\u0018", + "\u07a1\n\u0018\u0003\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0003", + "\u0019\u0005\u0019\u07a8\n\u0019\u0003\u0019\u0003\u0019\u0003\u0019", + "\u0003\u0019\u0003\u0019\u0003\u0019\u0007\u0019\u07b0\n\u0019\f\u0019", + "\u000e\u0019\u07b3\u000b\u0019\u0003\u0019\u0003\u0019\u0005\u0019\u07b7", + "\n\u0019\u0003\u0019\u0005\u0019\u07ba\n\u0019\u0003\u0019\u0003\u0019", + "\u0005\u0019\u07be\n\u0019\u0003\u0019\u0005\u0019\u07c1\n\u0019\u0003", + "\u0019\u0003\u0019\u0003\u0019\u0005\u0019\u07c6\n\u0019\u0003\u0019", + "\u0003\u0019\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a", + "\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b", + "\u0003\u001b\u0003\u001b\u0003\u001b\u0005\u001b\u07d8\n\u001b\u0003", + "\u001b\u0007\u001b\u07db\n\u001b\f\u001b\u000e\u001b\u07de\u000b\u001b", + "\u0003\u001b\u0003\u001b\u0005\u001b\u07e2\n\u001b\u0005\u001b\u07e4", + "\n\u001b\u0003\u001b\u0003\u001b\u0003\u001c\u0003\u001c\u0003\u001c", + "\u0005\u001c\u07eb\n\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003", + "\u001c\u0003\u001c\u0005\u001c\u07f2\n\u001c\u0003\u001c\u0005\u001c", + "\u07f5\n\u001c\u0003\u001c\u0005\u001c\u07f8\n\u001c\u0003\u001c\u0005", + "\u001c\u07fb\n\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001d", + "\u0003\u001d\u0003\u001d\u0003\u001d\u0007\u001d\u0804\n\u001d\f\u001d", + "\u000e\u001d\u0807\u000b\u001d\u0003\u001e\u0003\u001e\u0003\u001e\u0003", + "\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0005", + "\u001f\u0812\n\u001f\u0003\u001f\u0003\u001f\u0005\u001f\u0816\n\u001f", + "\u0003\u001f\u0005\u001f\u0819\n\u001f\u0003 \u0003 \u0003 \u0003 \u0003", + "!\u0003!\u0003!\u0005!\u0822\n!\u0003\"\u0003\"\u0003\"\u0003\"\u0007", + "\"\u0828\n\"\f\"\u000e\"\u082b\u000b\"\u0003\"\u0003\"\u0003\"\u0003", + "\"\u0003\"\u0005\"\u0832\n\"\u0003\"\u0005\"\u0835\n\"\u0003#\u0003", + "#\u0003#\u0003#\u0003#\u0005#\u083c\n#\u0003$\u0003$\u0005$\u0840\n", + "$\u0003%\u0003%\u0003%\u0005%\u0845\n%\u0003%\u0006%\u0848\n%\r%\u000e", + "%\u0849\u0003%\u0003%\u0003%\u0003&\u0003&\u0003&\u0003&\u0003&\u0003", + "&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003", + "&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003", + "&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003", + "&\u0005&\u0873\n&\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003", + "\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003", + "\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003\'\u0003", + "\'\u0003\'\u0005\'\u088f\n\'\u0003(\u0003(\u0003(\u0007(\u0894\n(\f", + "(\u000e(\u0897\u000b(\u0003(\u0003(\u0005(\u089b\n(\u0003(\u0003(\u0003", + ")\u0003)\u0003)\u0005)\u08a2\n)\u0003*\u0003*\u0003*\u0003*\u0003*\u0003", + "+\u0003+\u0006+\u08ab\n+\r+\u000e+\u08ac\u0003,\u0003,\u0003,\u0003", + "-\u0003-\u0003-\u0005-\u08b5\n-\u0003-\u0003-\u0005-\u08b9\n-\u0003", + "-\u0003-\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003", + ".\u0005.\u08c6\n.\u0003.\u0005.\u08c9\n.\u0003.\u0003.\u0003/\u0003", + "/\u0005/\u08cf\n/\u0003/\u0005/\u08d2\n/\u0003/\u0007/\u08d5\n/\f/\u000e", + "/\u08d8\u000b/\u0003/\u0003/\u0005/\u08dc\n/\u00030\u00030\u00050\u08e0", + "\n0\u00030\u00030\u00030\u00030\u00030\u00030\u00070\u08e8\n0\f0\u000e", + "0\u08eb\u000b0\u00030\u00030\u00031\u00031\u00031\u00071\u08f2\n1\f", + "1\u000e1\u08f5\u000b1\u00032\u00032\u00032\u00052\u08fa\n2\u00033\u0003", + "3\u00033\u00033\u00033\u00033\u00033\u00073\u0903\n3\f3\u000e3\u0906", + "\u000b3\u00033\u00033\u00053\u090a\n3\u00034\u00034\u00054\u090e\n4", + "\u00035\u00035\u00035\u00035\u00035\u00035\u00055\u0916\n5\u00036\u0003", + "6\u00036\u00036\u00036\u00036\u00056\u091e\n6\u00036\u00036\u00036\u0005", + "6\u0923\n6\u00036\u00056\u0926\n6\u00056\u0928\n6\u00037\u00057\u092b", + "\n7\u00037\u00037\u00037\u00037\u00038\u00038\u00038\u00058\u0934\n", + "8\u00038\u00038\u00038\u00058\u0939\n8\u00038\u00038\u00039\u00039\u0003", + "9\u00059\u0940\n9\u00039\u00059\u0943\n9\u0003:\u0005:\u0946\n:\u0003", + ":\u0003:\u0005:\u094a\n:\u0003:\u0005:\u094d\n:\u0003:\u0003:\u0003", + ":\u0003:\u0007:\u0953\n:\f:\u000e:\u0956\u000b:\u0003:\u0003:\u0005", + ":\u095a\n:\u0003:\u0007:\u095d\n:\f:\u000e:\u0960\u000b:\u0003;\u0003", + ";\u0003;\u0003;\u0005;\u0966\n;\u0003<\u0003<\u0003<\u0003=\u0003=\u0003", + "=\u0003=\u0003=\u0005=\u0970\n=\u0003>\u0003>\u0003>\u0003>\u0003>\u0003", + ">\u0003>\u0003>\u0003?\u0003?\u0003?\u0003?\u0006?\u097e\n?\r?\u000e", + "?\u097f\u0003?\u0003?\u0003@\u0003@\u0003@\u0005@\u0987\n@\u0003A\u0003", + "A\u0003A\u0003A\u0003B\u0003B\u0003B\u0003B\u0005B\u0991\nB\u0003C\u0003", + "C\u0003C\u0003C\u0003C\u0003C\u0007C\u0999\nC\fC\u000eC\u099c\u000b", + "C\u0003C\u0003C\u0003C\u0003C\u0005C\u09a2\nC\u0003C\u0005C\u09a5\n", + "C\u0003C\u0003C\u0003C\u0005C\u09aa\nC\u0003D\u0003D\u0003D\u0003D\u0003", + "D\u0003D\u0007D\u09b2\nD\fD\u000eD\u09b5\u000bD\u0003D\u0003D\u0005", + "D\u09b9\nD\u0003D\u0003D\u0003D\u0003D\u0003D\u0005D\u09c0\nD\u0003", + "D\u0005D\u09c3\nD\u0003D\u0003D\u0003D\u0005D\u09c8\nD\u0003E\u0005", + "E\u09cb\nE\u0003E\u0005E\u09ce\nE\u0003E\u0003E\u0003E\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0003E\u0007E\u09dd", + "\nE\fE\u000eE\u09e0\u000bE\u0003E\u0003E\u0005E\u09e4\nE\u0003E\u0003", + "E\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u09ed\nE\u0003E\u0005E\u09f0", + "\nE\u0003E\u0003E\u0003E\u0005E\u09f5\nE\u0003F\u0005F\u09f8\nF\u0003", + "F\u0003F\u0003G\u0003G\u0003G\u0005G\u09ff\nG\u0003G\u0005G\u0a02\n", + "G\u0003H\u0003H\u0003H\u0003H\u0003I\u0005I\u0a09\nI\u0003I\u0006I\u0a0c", + "\nI\rI\u000eI\u0a0d\u0003I\u0003I\u0005I\u0a12\nI\u0003J\u0003J\u0003", + "J\u0005J\u0a17\nJ\u0003K\u0003K\u0003K\u0005K\u0a1c\nK\u0003L\u0003", + "L\u0003L\u0003L\u0003M\u0003M\u0003M\u0003M\u0003M\u0003M\u0007M\u0a28", + "\nM\fM\u000eM\u0a2b\u000bM\u0003M\u0003M\u0005M\u0a2f\nM\u0003M\u0003", + "M\u0003M\u0003M\u0003M\u0005M\u0a36\nM\u0003M\u0005M\u0a39\nM\u0003", + "M\u0003M\u0005M\u0a3d\nM\u0003M\u0005M\u0a40\nM\u0003M\u0005M\u0a43", + "\nM\u0003M\u0005M\u0a46\nM\u0003N\u0003N\u0003N\u0003N\u0003N\u0003", + "N\u0007N\u0a4e\nN\fN\u000eN\u0a51\u000bN\u0003N\u0003N\u0003N\u0005", + "N\u0a56\nN\u0003O\u0003O\u0003O\u0003O\u0003O\u0003O\u0007O\u0a5e\n", + "O\fO\u000eO\u0a61\u000bO\u0003O\u0003O\u0005O\u0a65\nO\u0003O\u0003", + "O\u0003O\u0003O\u0003O\u0005O\u0a6c\nO\u0003O\u0003O\u0003O\u0003O\u0005", + "O\u0a72\nO\u0003O\u0003O\u0005O\u0a76\nO\u0003P\u0005P\u0a79\nP\u0003", + "P\u0005P\u0a7c\nP\u0003P\u0003P\u0003P\u0003P\u0003P\u0003P\u0003P\u0003", + "P\u0003P\u0003P\u0003P\u0003P\u0003P\u0007P\u0a8b\nP\fP\u000eP\u0a8e", + "\u000bP\u0003P\u0003P\u0005P\u0a92\nP\u0003P\u0003P\u0003P\u0003P\u0003", + "P\u0003P\u0005P\u0a9a\nP\u0003Q\u0003Q\u0003Q\u0003Q\u0003R\u0003R\u0003", + "R\u0003R\u0003R\u0003R\u0007R\u0aa6\nR\fR\u000eR\u0aa9\u000bR\u0003", + "R\u0003R\u0003S\u0003S\u0005S\u0aaf\nS\u0003T\u0003T\u0003T\u0003U\u0003", + "U\u0003U\u0003U\u0003U\u0003V\u0003V\u0003V\u0003V\u0006V\u0abd\nV\r", + "V\u000eV\u0abe\u0003V\u0003V\u0003W\u0003W\u0003W\u0003W\u0003W\u0003", + "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003", + "W\u0003W\u0003W\u0005W\u0ad5\nW\u0003W\u0003W\u0003W\u0003W\u0003W\u0005", + "W\u0adc\nW\u0005W\u0ade\nW\u0003W\u0003W\u0005W\u0ae2\nW\u0003X\u0003", + "X\u0003X\u0003X\u0003Y\u0003Y\u0003Y\u0003Y\u0003Y\u0007Y\u0aed\nY\f", + "Y\u000eY\u0af0\u000bY\u0003Y\u0003Y\u0003Z\u0003Z\u0003Z\u0003Z\u0003", + "Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003Z\u0003", + "Z\u0003Z\u0005Z\u0b04\nZ\u0003[\u0003[\u0003[\u0003[\u0003\\\u0003\\", + "\u0005\\\u0b0c\n\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0003\\\u0005", + "\\\u0b14\n\\\u0003\\\u0005\\\u0b17\n\\\u0003\\\u0003\\\u0003]\u0003", + "]\u0003]\u0005]\u0b1e\n]\u0003^\u0003^\u0003^\u0005^\u0b23\n^\u0003", + "^\u0003^\u0003_\u0003_\u0005_\u0b29\n_\u0003_\u0003_\u0003_\u0005_\u0b2e", + "\n_\u0003_\u0003_\u0003_\u0005_\u0b33\n_\u0007_\u0b35\n_\f_\u000e_\u0b38", + "\u000b_\u0003_\u0003_\u0005_\u0b3c\n_\u0003`\u0003`\u0003`\u0003`\u0005", + "`\u0b42\n`\u0003`\u0003`\u0005`\u0b46\n`\u0003`\u0003`\u0003`\u0005", + "`\u0b4b\n`\u0003`\u0003`\u0005`\u0b4f\n`\u0007`\u0b51\n`\f`\u000e`\u0b54", + "\u000b`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0003`\u0007", + "`\u0b5e\n`\f`\u000e`\u0b61\u000b`\u0003`\u0003`\u0005`\u0b65\n`\u0003", + "`\u0005`\u0b68\n`\u0003a\u0003a\u0005a\u0b6c\na\u0003b\u0003b\u0003", + "b\u0006b\u0b71\nb\rb\u000eb\u0b72\u0003b\u0003b\u0003b\u0003b\u0005", + "b\u0b79\nb\u0005b\u0b7b\nb\u0003c\u0003c\u0005c\u0b7f\nc\u0003c\u0005", + "c\u0b82\nc\u0003c\u0003c\u0003c\u0003c\u0003c\u0005c\u0b89\nc\u0003", + "d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0005d\u0b94", + "\nd\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0003d\u0005d\u0b9e", + "\nd\u0007d\u0ba0\nd\fd\u000ed\u0ba3\u000bd\u0003d\u0003d\u0005d\u0ba7", + "\nd\u0003e\u0003e\u0005e\u0bab\ne\u0003e\u0003e\u0005e\u0baf\ne\u0003", + "e\u0005e\u0bb2\ne\u0003f\u0003f\u0003f\u0003f\u0003f\u0003f\u0003f\u0007", + "f\u0bbb\nf\ff\u000ef\u0bbe\u000bf\u0003f\u0003f\u0005f\u0bc2\nf\u0003", + "g\u0003g\u0003g\u0003g\u0003g\u0003g\u0003g\u0003g\u0007g\u0bcc\ng\f", + "g\u000eg\u0bcf\u000bg\u0003g\u0003g\u0003g\u0003g\u0003g\u0003g\u0003", + "g\u0003g\u0003g\u0003g\u0007g\u0bdb\ng\fg\u000eg\u0bde\u000bg\u0003", + "g\u0003g\u0003g\u0005g\u0be3\ng\u0005g\u0be5\ng\u0003h\u0003h\u0005", + "h\u0be9\nh\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0003h\u0007h\u0bf2", + "\nh\fh\u000eh\u0bf5\u000bh\u0003h\u0003h\u0005h\u0bf9\nh\u0003i\u0003", + "i\u0003i\u0003i\u0003i\u0005i\u0c00\ni\u0003j\u0003j\u0003j\u0003j\u0007", + "j\u0c06\nj\fj\u000ej\u0c09\u000bj\u0003j\u0003j\u0003k\u0003k\u0003", + "k\u0003k\u0007k\u0c11\nk\fk\u000ek\u0c14\u000bk\u0003k\u0003k\u0003", + "l\u0003l\u0005l\u0c1a\nl\u0003l\u0003l\u0007l\u0c1e\nl\fl\u000el\u0c21", + "\u000bl\u0003l\u0005l\u0c24\nl\u0003m\u0003m\u0003m\u0003m\u0003m\u0003", + "m\u0007m\u0c2c\nm\fm\u000em\u0c2f\u000bm\u0003m\u0003m\u0003m\u0003", + "m\u0003m\u0003m\u0007m\u0c37\nm\fm\u000em\u0c3a\u000bm\u0003m\u0003", + "m\u0005m\u0c3e\nm\u0003n\u0003n\u0005n\u0c42\nn\u0003n\u0003n\u0005", + "n\u0c46\nn\u0003n\u0005n\u0c49\nn\u0003n\u0005n\u0c4c\nn\u0003o\u0003", + "o\u0003o\u0003o\u0003o\u0003o\u0007o\u0c54\no\fo\u000eo\u0c57\u000b", + "o\u0003o\u0003o\u0005o\u0c5b\no\u0003o\u0003o\u0003o\u0003o\u0007o\u0c61", + "\no\fo\u000eo\u0c64\u000bo\u0003o\u0003o\u0003p\u0003p\u0005p\u0c6a", + "\np\u0003p\u0003p\u0007p\u0c6e\np\fp\u000ep\u0c71\u000bp\u0003p\u0003", + "p\u0005p\u0c75\np\u0003q\u0003q\u0003q\u0003q\u0003q\u0003q\u0007q\u0c7d", + "\nq\fq\u000eq\u0c80\u000bq\u0003q\u0003q\u0003q\u0003q\u0003q\u0003", + "q\u0007q\u0c88\nq\fq\u000eq\u0c8b\u000bq\u0003q\u0003q\u0005q\u0c8f", + "\nq\u0003r\u0003r\u0005r\u0c93\nr\u0003r\u0003r\u0005r\u0c97\nr\u0003", + "r\u0005r\u0c9a\nr\u0003r\u0005r\u0c9d\nr\u0003s\u0003s\u0003t\u0003", + "t\u0003t\u0005t\u0ca4\nt\u0003t\u0003t\u0003u\u0003u\u0003u\u0003u\u0003", + "u\u0005u\u0cad\nu\u0003u\u0003u\u0003v\u0003v\u0003v\u0003v\u0003v\u0003", + "v\u0006v\u0cb7\nv\rv\u000ev\u0cb8\u0003w\u0003w\u0003w\u0003w\u0003", + "w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003", + "w\u0003w\u0003w\u0003w\u0003w\u0003w\u0003w\u0005w\u0cd0\nw\u0003x\u0003", + "x\u0003y\u0003y\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0005", + "z\u0cdd\nz\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003z\u0003", + "z\u0003z\u0003z\u0003z\u0007z\u0ceb\nz\fz\u000ez\u0cee\u000bz\u0003", + "{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0003{\u0005{\u0cf8\n{\u0003", + "|\u0003|\u0003|\u0003|\u0003|\u0003|\u0005|\u0d00\n|\u0003|\u0003|\u0003", + "|\u0003|\u0005|\u0d06\n|\u0003|\u0005|\u0d09\n|\u0003}\u0003}\u0003", + "}\u0005}\u0d0e\n}\u0003}\u0003}\u0005}\u0d12\n}\u0003}\u0005}\u0d15", + "\n}\u0003}\u0005}\u0d18\n}\u0003~\u0003~\u0003~\u0005~\u0d1d\n~\u0003", + "\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0006\u007f\u0d23\n\u007f", + "\r\u007f\u000e\u007f\u0d24\u0003\u007f\u0003\u007f\u0003\u007f\u0003", + "\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003\u007f\u0003", + "\u007f\u0005\u007f\u0d31\n\u007f\u0003\u0080\u0003\u0080\u0003\u0080", + "\u0003\u0080\u0003\u0080\u0005\u0080\u0d38\n\u0080\u0003\u0081\u0003", + "\u0081\u0003\u0081\u0003\u0081\u0003\u0081\u0005\u0081\u0d3f\n\u0081", + "\u0003\u0081\u0003\u0081\u0003\u0081\u0003\u0082\u0003\u0082\u0003\u0082", + "\u0003\u0082\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083", + "\u0003\u0083\u0003\u0083\u0003\u0083\u0007\u0083\u0d50\n\u0083\f\u0083", + "\u000e\u0083\u0d53\u000b\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003", + "\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0003\u0083\u0005\u0083\u0d5d", + "\n\u0083\u0003\u0083\u0005\u0083\u0d60\n\u0083\u0003\u0084\u0003\u0084", + "\u0003\u0084\u0003\u0084\u0006\u0084\u0d66\n\u0084\r\u0084\u000e\u0084", + "\u0d67\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0003\u0084\u0005", + "\u0084\u0d6f\n\u0084\u0003\u0084\u0005\u0084\u0d72\n\u0084\u0005\u0084", + "\u0d74\n\u0084\u0003\u0085\u0003\u0085\u0003\u0085\u0003\u0085\u0003", + "\u0085\u0003\u0085\u0005\u0085\u0d7c\n\u0085\u0003\u0086\u0003\u0086", + "\u0003\u0087\u0003\u0087\u0003\u0088\u0003\u0088\u0003\u0089\u0003\u0089", + "\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089", + "\u0003\u0089\u0003\u0089\u0003\u0089\u0003\u0089\u0006\u0089\u0d90\n", + "\u0089\r\u0089\u000e\u0089\u0d91\u0003\u0089\u0003\u0089\u0003\u008a", + "\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a", + "\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a", + "\u0003\u008a\u0006\u008a\u0da4\n\u008a\r\u008a\u000e\u008a\u0da5\u0003", + "\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0003\u008a\u0007\u008a\u0dad", + "\n\u008a\f\u008a\u000e\u008a\u0db0\u000b\u008a\u0003\u008a\u0003\u008a", + "\u0003\u008a\u0005\u008a\u0db5\n\u008a\u0003\u008b\u0003\u008b\u0003", + "\u008b\u0005\u008b\u0dba\n\u008b\u0003\u008c\u0003\u008c\u0003\u008c", + "\u0003\u008c\u0003\u008d\u0003\u008d\u0003\u008d\u0003\u008d\u0005\u008d", + "\u0dc4\n\u008d\u0003\u008e\u0003\u008e\u0003\u008e\u0003\u008e\u0003", + "\u008f\u0003\u008f\u0003\u008f\u0005\u008f\u0dcd\n\u008f\u0003\u008f", + "\u0003\u008f\u0003\u008f\u0003\u0090\u0003\u0090\u0003\u0090\u0003\u0091", + "\u0003\u0091\u0003\u0091\u0007\u0091\u0dd8\n\u0091\f\u0091\u000e\u0091", + "\u0ddb\u000b\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003\u0091\u0003", + "\u0091\u0007\u0091\u0de2\n\u0091\f\u0091\u000e\u0091\u0de5\u000b\u0091", + "\u0007\u0091\u0de7\n\u0091\f\u0091\u000e\u0091\u0dea\u000b\u0091\u0005", + "\u0091\u0dec\n\u0091\u0003\u0092\u0003\u0092\u0003\u0092\u0003\u0092", + "\u0005\u0092\u0df2\n\u0092\u0003\u0093\u0003\u0093\u0003\u0093\u0003", + "\u0094\u0003\u0094\u0003\u0094\u0003\u0095\u0003\u0095\u0003\u0095\u0003", + "\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0003\u0096\u0007\u0096\u0e02", + "\n\u0096\f\u0096\u000e\u0096\u0e05\u000b\u0096\u0005\u0096\u0e07\n\u0096", + "\u0003\u0096\u0005\u0096\u0e0a\n\u0096\u0003\u0097\u0003\u0097\u0003", + "\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0005\u0097\u0e12\n\u0097", + "\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097", + "\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0005\u0097", + "\u0e1f\n\u0097\u0005\u0097\u0e21\n\u0097\u0003\u0097\u0003\u0097\u0005", + "\u0097\u0e25\n\u0097\u0003\u0097\u0003\u0097\u0003\u0097\u0003\u0097", + "\u0003\u0097\u0003\u0097\u0005\u0097\u0e2d\n\u0097\u0005\u0097\u0e2f", + "\n\u0097\u0005\u0097\u0e31\n\u0097\u0005\u0097\u0e33\n\u0097\u0003\u0098", + "\u0003\u0098\u0003\u0098\u0003\u0098\u0007\u0098\u0e39\n\u0098\f\u0098", + "\u000e\u0098\u0e3c\u000b\u0098\u0003\u0098\u0003\u0098\u0003\u0099\u0003", + "\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0003\u0099\u0005\u0099\u0e46", + "\n\u0099\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a\u0003\u009a", + "\u0003\u009b\u0003\u009b\u0003\u009b\u0003\u009b\u0005\u009b\u0e51\n", + "\u009b\u0005\u009b\u0e53\n\u009b\u0003\u009c\u0003\u009c\u0003\u009c", + "\u0003\u009c\u0003\u009c\u0005\u009c\u0e5a\n\u009c\u0003\u009c\u0005", + "\u009c\u0e5d\n\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0005\u009c", + "\u0e62\n\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003\u009c\u0003", + "\u009c\u0005\u009c\u0e69\n\u009c\u0003\u009c\u0003\u009c\u0005\u009c", + "\u0e6d\n\u009c\u0003\u009c\u0005\u009c\u0e70\n\u009c\u0003\u009c\u0003", + "\u009c\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003", + "\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0007\u009d\u0e7e", + "\n\u009d\f\u009d\u000e\u009d\u0e81\u000b\u009d\u0003\u009d\u0003\u009d", + "\u0005\u009d\u0e85\n\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003", + "\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003\u009d\u0003", + "\u009d\u0007\u009d\u0e91\n\u009d\f\u009d\u000e\u009d\u0e94\u000b\u009d", + "\u0003\u009d\u0003\u009d\u0005\u009d\u0e98\n\u009d\u0005\u009d\u0e9a", + "\n\u009d\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e", + "\u0003\u009e\u0003\u009e\u0005\u009e\u0ea3\n\u009e\u0003\u009e\u0003", + "\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0003\u009e\u0005\u009e\u0eab", + "\n\u009e\u0003\u009e\u0005\u009e\u0eae\n\u009e\u0003\u009e\u0005\u009e", + "\u0eb1\n\u009e\u0003\u009e\u0005\u009e\u0eb4\n\u009e\u0003\u009e\u0005", + "\u009e\u0eb7\n\u009e\u0005\u009e\u0eb9\n\u009e\u0003\u009f\u0003\u009f", + "\u0003\u00a0\u0003\u00a0\u0005\u00a0\u0ebf\n\u00a0\u0003\u00a1\u0003", + "\u00a1\u0003\u00a2\u0003\u00a2\u0003\u00a3\u0003\u00a3\u0003\u00a3\u0003", + "\u00a3\u0003\u00a3\u0005\u00a3\u0eca\n\u00a3\u0003\u00a3\u0005\u00a3", + "\u0ecd\n\u00a3\u0003\u00a3\u0003\u00a3\u0003\u00a4\u0003\u00a4\u0003", + "\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003\u00a4\u0003", + "\u00a4\u0007\u00a4\u0eda\n\u00a4\f\u00a4\u000e\u00a4\u0edd\u000b\u00a4", + "\u0003\u00a4\u0003\u00a4\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5", + "\u0007\u00a5\u0ee5\n\u00a5\f\u00a5\u000e\u00a5\u0ee8\u000b\u00a5\u0003", + "\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0007\u00a5\u0eee\n\u00a5", + "\f\u00a5\u000e\u00a5\u0ef1\u000b\u00a5\u0003\u00a5\u0003\u00a5\u0003", + "\u00a5\u0003\u00a5\u0007\u00a5\u0ef7\n\u00a5\f\u00a5\u000e\u00a5\u0efa", + "\u000b\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0003\u00a5\u0007\u00a5", + "\u0f00\n\u00a5\f\u00a5\u000e\u00a5\u0f03\u000b\u00a5\u0003\u00a5\u0003", + "\u00a5\u0003\u00a5\u0003\u00a5\u0007\u00a5\u0f09\n\u00a5\f\u00a5\u000e", + "\u00a5\u0f0c\u000b\u00a5\u0005\u00a5\u0f0e\n\u00a5\u0003\u00a5\u0003", + "\u00a5\u0003\u00a5\u0003\u00a5\u0005\u00a5\u0f14\n\u00a5\u0003\u00a5", + "\u0003\u00a5\u0003\u00a5\u0005\u00a5\u0f19\n\u00a5\u0005\u00a5\u0f1b", + "\n\u00a5\u0003\u00a6\u0003\u00a6\u0003\u00a7\u0003\u00a7\u0003\u00a7", + "\u0005\u00a7\u0f22\n\u00a7\u0003\u00a8\u0003\u00a8\u0003\u00a9\u0003", + "\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00a9\u0003", + "\u00a9\u0003\u00a9\u0003\u00a9\u0003\u00aa\u0003\u00aa\u0003\u00ab\u0003", + "\u00ab\u0003\u00ac\u0003\u00ac\u0003\u00ad\u0003\u00ad\u0003\u00ad\u0003", + "\u00ad\u0003\u00ae\u0003\u00ae\u0003\u00af\u0003\u00af\u0003\u00af\u0003", + "\u00af\u0003\u00af\u0003\u00af\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003", + "\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0007\u00b0\u0f4a", + "\n\u00b0\f\u00b0\u000e\u00b0\u0f4d\u000b\u00b0\u0005\u00b0\u0f4f\n\u00b0", + "\u0003\u00b0\u0003\u00b0\u0005\u00b0\u0f53\n\u00b0\u0003\u00b0\u0005", + "\u00b0\u0f56\n\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0", + "\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0007\u00b0\u0f5f\n\u00b0\f\u00b0", + "\u000e\u00b0\u0f62\u000b\u00b0\u0003\u00b0\u0003\u00b0\u0003\u00b0\u0003", + "\u00b0\u0007\u00b0\u0f68\n\u00b0\f\u00b0\u000e\u00b0\u0f6b\u000b\u00b0", + "\u0005\u00b0\u0f6d\n\u00b0\u0005\u00b0\u0f6f\n\u00b0\u0003\u00b0\u0003", + "\u00b0\u0003\u00b1\u0003\u00b1\u0003\u00b2\u0003\u00b2\u0003\u00b2\u0003", + "\u00b2\u0003\u00b2\u0003\u00b2\u0005\u00b2\u0f7b\n\u00b2\u0003\u00b2", + "\u0003\u00b2\u0003\u00b2\u0005\u00b2\u0f80\n\u00b2\u0003\u00b2\u0003", + "\u00b2\u0005\u00b2\u0f84\n\u00b2\u0003\u00b2\u0003\u00b2\u0005\u00b2", + "\u0f88\n\u00b2\u0003\u00b2\u0005\u00b2\u0f8b\n\u00b2\u0003\u00b2\u0005", + "\u00b2\u0f8e\n\u00b2\u0003\u00b2\u0003\u00b2\u0003\u00b3\u0003\u00b3", + "\u0003\u00b3\u0003\u00b3\u0003\u00b4\u0003\u00b4\u0003\u00b4\u0003\u00b4", + "\u0003\u00b4\u0003\u00b5\u0003\u00b5\u0003\u00b5\u0005\u00b5\u0f9e\n", + "\u00b5\u0005\u00b5\u0fa0\n\u00b5\u0003\u00b5\u0003\u00b5\u0003\u00b5", + "\u0003\u00b5\u0005\u00b5\u0fa6\n\u00b5\u0005\u00b5\u0fa8\n\u00b5\u0007", + "\u00b5\u0faa\n\u00b5\f\u00b5\u000e\u00b5\u0fad\u000b\u00b5\u0003\u00b5", + "\u0003\u00b5\u0003\u00b5\u0005\u00b5\u0fb2\n\u00b5\u0003\u00b5\u0003", + "\u00b5\u0003\u00b5\u0003\u00b5\u0005\u00b5\u0fb8\n\u00b5\u0007\u00b5", + "\u0fba\n\u00b5\f\u00b5\u000e\u00b5\u0fbd\u000b\u00b5\u0005\u00b5\u0fbf", + "\n\u00b5\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0003\u00b6\u0007\u00b6", + "\u0fc5\n\u00b6\f\u00b6\u000e\u00b6\u0fc8\u000b\u00b6\u0003\u00b7\u0003", + "\u00b7\u0003\u00b8\u0003\u00b8\u0003\u00b8\u0007\u00b8\u0fcf\n\u00b8", + "\f\u00b8\u000e\u00b8\u0fd2\u000b\u00b8\u0003\u00b8\u0005\u00b8\u0fd5", + "\n\u00b8\u0003\u00b8\u0003\u00b8\u0003\u00b9\u0003\u00b9\u0003\u00ba", + "\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba", + "\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba\u0003\u00ba", + "\u0005\u00ba\u0fe8\n\u00ba\u0003\u00bb\u0003\u00bb\u0003\u00bb\u0005", + "\u00bb\u0fed\n\u00bb\u0003\u00bb\u0003\u00bb\u0003\u00bc\u0003\u00bc", + "\u0003\u00bc\u0005\u00bc\u0ff4\n\u00bc\u0003\u00bc\u0003\u00bc\u0003", + "\u00bd\u0003\u00bd\u0003\u00bd\u0005\u00bd\u0ffb\n\u00bd\u0003\u00bd", + "\u0003\u00bd\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be", + "\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0003\u00be\u0005\u00be", + "\u1045\n\u00be\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003\u00bf\u0003", + "\u00bf\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003\u00c0\u0003", + "\u00c0\u0003\u00c1\u0003\u00c1\u0005\u00c1\u1054\n\u00c1\u0003\u00c1", + "\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0005\u00c1\u105a\n\u00c1\u0005", + "\u00c1\u105c\n\u00c1\u0006\u00c1\u105e\n\u00c1\r\u00c1\u000e\u00c1\u105f", + "\u0003\u00c1\u0003\u00c1\u0005\u00c1\u1064\n\u00c1\u0003\u00c1\u0003", + "\u00c1\u0003\u00c1\u0005\u00c1\u1069\n\u00c1\u0003\u00c1\u0003\u00c1", + "\u0003\u00c1\u0005\u00c1\u106e\n\u00c1\u0007\u00c1\u1070\n\u00c1\f\u00c1", + "\u000e\u00c1\u1073\u000b\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0005", + "\u00c1\u1078\n\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0005\u00c1", + "\u107d\n\u00c1\u0003\u00c1\u0003\u00c1\u0003\u00c1\u0005\u00c1\u1082", + "\n\u00c1\u0003\u00c1\u0005\u00c1\u1085\n\u00c1\u0003\u00c1\u0003\u00c1", + "\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c2\u0003\u00c3\u0003\u00c3", + "\u0003\u00c3\u0005\u00c3\u1090\n\u00c3\u0003\u00c3\u0003\u00c3\u0003", + "\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c3\u0003\u00c4\u0003\u00c4\u0003", + "\u00c5\u0003\u00c5\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003\u00c6\u0003", + "\u00c6\u0005\u00c6\u10a1\n\u00c6\u0003\u00c6\u0007\u00c6\u10a4\n\u00c6", + "\f\u00c6\u000e\u00c6\u10a7\u000b\u00c6\u0003\u00c6\u0003\u00c6\u0005", + "\u00c6\u10ab\n\u00c6\u0003\u00c6\u0005\u00c6\u10ae\n\u00c6\u0003\u00c6", + "\u0003\u00c6\u0003\u00c7\u0003\u00c7\u0003\u00c7\u0003\u00c8\u0003\u00c8", + "\u0003\u00c8\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00c9\u0003\u00ca", + "\u0003\u00ca\u0003\u00cb\u0003\u00cb\u0003\u00cb\u0005\u00cb\u10c1\n", + "\u00cb\u0003\u00cb\u0003\u00cb\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0007\u00cc\u10d9", + "\n\u00cc\f\u00cc\u000e\u00cc\u10dc\u000b\u00cc\u0003\u00cc\u0003\u00cc", + "\u0005\u00cc\u10e0\n\u00cc\u0003\u00cc\u0003\u00cc\u0003\u00cc\u0003", + "\u00cc\u0005\u00cc\u10e6\n\u00cc\u0005\u00cc\u10e8\n\u00cc\u0003\u00cc", + "\u0003\u00cc\u0003\u00cd\u0003\u00cd\u0003\u00cd\u0003\u00ce\u0003\u00ce", + "\u0003\u00ce\u0005\u00ce\u10f2\n\u00ce\u0003\u00ce\u0005\u00ce\u10f5", + "\n\u00ce\u0003\u00ce\u0005\u00ce\u10f8\n\u00ce\u0003\u00ce\u0005\u00ce", + "\u10fb\n\u00ce\u0003\u00ce\u0005\u00ce\u10fe\n\u00ce\u0003\u00ce\u0003", + "\u00ce\u0003\u00ce\u0005\u00ce\u1103\n\u00ce\u0003\u00ce\u0003\u00ce", + "\u0003\u00ce\u0005\u00ce\u1108\n\u00ce\u0003\u00cf\u0003\u00cf\u0005", + "\u00cf\u110c\n\u00cf\u0003\u00d0\u0003\u00d0\u0005\u00d0\u1110\n\u00d0", + "\u0003\u00d0\u0003\u00d0\u0007\u00d0\u1114\n\u00d0\f\u00d0\u000e\u00d0", + "\u1117\u000b\u00d0\u0003\u00d0\u0005\u00d0\u111a\n\u00d0\u0006\u00d0", + "\u111c\n\u00d0\r\u00d0\u000e\u00d0\u111d\u0003\u00d0\u0003\u00d0\u0003", + "\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0003", + "\u00d1\u0003\u00d1\u0003\u00d1\u0003\u00d1\u0007\u00d1\u112c\n\u00d1", + "\f\u00d1\u000e\u00d1\u112f\u000b\u00d1\u0003\u00d1\u0005\u00d1\u1132", + "\n\u00d1\u0003\u00d1\u0003\u00d1\u0005\u00d1\u1136\n\u00d1\u0003\u00d1", + "\u0003\u00d1\u0005\u00d1\u113a\n\u00d1\u0003\u00d1\u0003\u00d1\u0003", + "\u00d1\u0005\u00d1\u113f\n\u00d1\u0006\u00d1\u1141\n\u00d1\r\u00d1\u000e", + "\u00d1\u1142\u0003\u00d1\u0003\u00d1\u0007\u00d1\u1147\n\u00d1\f\u00d1", + "\u000e\u00d1\u114a\u000b\u00d1\u0003\u00d2\u0003\u00d2\u0005\u00d2\u114e", + "\n\u00d2\u0003\u00d2\u0005\u00d2\u1151\n\u00d2\u0003\u00d2\u0003\u00d2", + "\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0003\u00d2\u0005\u00d2\u1159\n", + "\u00d2\u0003\u00d2\u0005\u00d2\u115c\n\u00d2\u0003\u00d3\u0003\u00d3", + "\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0003\u00d3\u0005\u00d3", + "\u1165\n\u00d3\u0003\u00d3\u0003\u00d3\u0005\u00d3\u1169\n\u00d3\u0005", + "\u00d3\u116b\n\u00d3\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4", + "\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4", + "\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4\u0003\u00d4", + "\u0003\u00d4\u0005\u00d4\u117e\n\u00d4\u0003\u00d4\u0003\u00d4\u0003", + "\u00d4\u0003\u00d4\u0005\u00d4\u1184\n\u00d4\u0003\u00d4\u0006\u00d4", + "\u1187\n\u00d4\r\u00d4\u000e\u00d4\u1188\u0003\u00d4\u0003\u00d4\u0003", + "\u00d4\u0005\u00d4\u118e\n\u00d4\u0005\u00d4\u1190\n\u00d4\u0003\u00d5", + "\u0003\u00d5\u0005\u00d5\u1194\n\u00d5\u0003\u00d5\u0003\u00d5\u0003", + "\u00d5\u0003\u00d5\u0003\u00d5\u0007\u00d5\u119b\n\u00d5\f\u00d5\u000e", + "\u00d5\u119e\u000b\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5", + "\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0007\u00d5\u11a8\n", + "\u00d5\f\u00d5\u000e\u00d5\u11ab\u000b\u00d5\u0003\u00d5\u0003\u00d5", + "\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5\u0003\u00d5", + "\u0005\u00d5\u11b5\n\u00d5\u0003\u00d5\u0005\u00d5\u11b8\n\u00d5\u0003", + "\u00d6\u0005\u00d6\u11bb\n\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6", + "\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0003\u00d6\u0006\u00d6\u11c4\n", + "\u00d6\r\u00d6\u000e\u00d6\u11c5\u0003\u00d7\u0003\u00d7\u0003\u00d7", + "\u0003\u00d7\u0003\u00d7\u0005\u00d7\u11cd\n\u00d7\u0003\u00d7\u0005", + "\u00d7\u11d0\n\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7", + "\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7", + "\u0005\u00d7\u11dc\n\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003", + "\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0003", + "\u00d7\u0003\u00d7\u0003\u00d7\u0003\u00d7\u0005\u00d7\u11eb\n\u00d7", + "\u0003\u00d7\u0003\u00d7\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8", + "\u11f2\n\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0005", + "\u00d8\u11f8\n\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8\u11fc\n\u00d8", + "\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8\u1202\n", + "\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8\u1206\n\u00d8\u0003\u00d8", + "\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0003\u00d8\u0007\u00d8\u120d\n", + "\u00d8\f\u00d8\u000e\u00d8\u1210\u000b\u00d8\u0003\u00d8\u0003\u00d8", + "\u0003\u00d8\u0003\u00d8\u0007\u00d8\u1216\n\u00d8\f\u00d8\u000e\u00d8", + "\u1219\u000b\u00d8\u0003\u00d8\u0003\u00d8\u0005\u00d8\u121d\n\u00d8", + "\u0003\u00d9\u0003\u00d9\u0005\u00d9\u1221\n\u00d9\u0003\u00d9\u0003", + "\u00d9\u0005\u00d9\u1225\n\u00d9\u0003\u00da\u0003\u00da\u0003\u00da", + "\u0003\u00da\u0005\u00da\u122b\n\u00da\u0003\u00db\u0003\u00db\u0003", + "\u00dc\u0003\u00dc\u0003\u00dc\u0005\u00dc\u1232\n\u00dc\u0003\u00dc", + "\u0003\u00dc\u0003\u00dc\u0003\u00dc\u0005\u00dc\u1238\n\u00dc\u0003", + "\u00dd\u0003\u00dd\u0003\u00dd\u0003\u00de\u0003\u00de\u0003\u00df\u0003", + "\u00df\u0005\u00df\u1241\n\u00df\u0003\u00df\u0003\u00df\u0003\u00df", + "\u0005\u00df\u1246\n\u00df\u0003\u00df\u0003\u00df\u0003\u00e0\u0003", + "\u00e0\u0003\u00e0\u0005\u00e0\u124d\n\u00e0\u0003\u00e0\u0003\u00e0", + "\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0", + "\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0\u0003\u00e0", + "\u0003\u00e0\u0007\u00e0\u125e\n\u00e0\f\u00e0\u000e\u00e0\u1261\u000b", + "\u00e0\u0003\u00e1\u0003\u00e1\u0003\u00e1\u0003\u00e2\u0003\u00e2\u0003", + "\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003\u00e3\u0003", + "\u00e3\u0005\u00e3\u126f\n\u00e3\u0005\u00e3\u1271\n\u00e3\u0003\u00e4", + "\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e4\u0003\u00e5\u0003\u00e5", + "\u0003\u00e5\u0003\u00e5\u0005\u00e5\u127c\n\u00e5\u0003\u00e5\u0005", + "\u00e5\u127f\n\u00e5\u0003\u00e5\u0005\u00e5\u1282\n\u00e5\u0003\u00e6", + "\u0003\u00e6\u0003\u00e6\u0003\u00e6\u0005\u00e6\u1288\n\u00e6\u0003", + "\u00e6\u0005\u00e6\u128b\n\u00e6\u0003\u00e6\u0005\u00e6\u128e\n\u00e6", + "\u0003\u00e7\u0003\u00e7\u0003\u00e7\u0003\u00e8\u0003\u00e8\u0005\u00e8", + "\u1295\n\u00e8\u0003\u00e8\u0003\u00e8\u0003\u00e9\u0003\u00e9\u0005", + "\u00e9\u129b\n\u00e9\u0003\u00e9\u0003\u00e9\u0003\u00ea\u0005\u00ea", + "\u12a0\n\u00ea\u0003\u00ea\u0003\u00ea\u0005\u00ea\u12a4\n\u00ea\u0003", + "\u00ea\u0005\u00ea\u12a7\n\u00ea\u0003\u00ea\u0005\u00ea\u12aa\n\u00ea", + "\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0003\u00eb\u0005\u00eb\u12b0\n", + "\u00eb\u0003\u00eb\u0006\u00eb\u12b3\n\u00eb\r\u00eb\u000e\u00eb\u12b4", + "\u0003\u00eb\u0005\u00eb\u12b8\n\u00eb\u0003\u00eb\u0003\u00eb\u0005", + "\u00eb\u12bc\n\u00eb\u0003\u00eb\u0003\u00eb\u0005\u00eb\u12c0\n\u00eb", + "\u0003\u00eb\u0005\u00eb\u12c3\n\u00eb\u0003\u00ec\u0003\u00ec\u0003", + "\u00ec\u0003\u00ec\u0003\u00ec\u0005\u00ec\u12ca\n\u00ec\u0003\u00ec", + "\u0005\u00ec\u12cd\n\u00ec\u0005\u00ec\u12cf\n\u00ec\u0003\u00ed\u0003", + "\u00ed\u0003\u00ed\u0005\u00ed\u12d4\n\u00ed\u0003\u00ee\u0003\u00ee", + "\u0003\u00ee\u0003\u00ef\u0003\u00ef\u0003\u00ef\u0005\u00ef\u12dc\n", + "\u00ef\u0005\u00ef\u12de\n\u00ef\u0003\u00f0\u0003\u00f0\u0003\u00f0", + "\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0", + "\u0003\u00f0\u0007\u00f0\u12ea\n\u00f0\f\u00f0\u000e\u00f0\u12ed\u000b", + "\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0007\u00f0\u12f2\n\u00f0", + "\f\u00f0\u000e\u00f0\u12f5\u000b\u00f0\u0003\u00f0\u0003\u00f0\u0003", + "\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0005\u00f0\u12fd\n\u00f0", + "\u0003\u00f0\u0005\u00f0\u1300\n\u00f0\u0003\u00f0\u0003\u00f0\u0003", + "\u00f0\u0005\u00f0\u1305\n\u00f0\u0003\u00f0\u0005\u00f0\u1308\n\u00f0", + "\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0\u0003\u00f0", + "\u0003\u00f0\u0005\u00f0\u1311\n\u00f0\u0003\u00f0\u0003\u00f0\u0003", + "\u00f1\u0003\u00f1\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003", + "\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003", + "\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0005", + "\u00f2\u1327\n\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2", + "\u0005\u00f2\u132d\n\u00f2\u0003\u00f2\u0003\u00f2\u0003\u00f2\u0006", + "\u00f2\u1332\n\u00f2\r\u00f2\u000e\u00f2\u1333\u0003\u00f3\u0003\u00f3", + "\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f4", + "\u0005\u00f4\u133e\n\u00f4\u0003\u00f4\u0003\u00f4\u0003\u00f5\u0003", + "\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0005\u00f5\u1347\n\u00f5", + "\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5", + "\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f5\u0005\u00f5\u1353\n", + "\u00f5\u0003\u00f5\u0005\u00f5\u1356\n\u00f5\u0003\u00f5\u0005\u00f5", + "\u1359\n\u00f5\u0003\u00f5\u0003\u00f5\u0003\u00f6\u0003\u00f6\u0003", + "\u00f6\u0003\u00f6\u0003\u00f6\u0003\u00f7\u0003\u00f7\u0003\u00f7\u0005", + "\u00f7\u1365\n\u00f7\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8", + "\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0005\u00f8\u136e\n\u00f8\u0003", + "\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0007\u00f8\u1374\n\u00f8", + "\f\u00f8\u000e\u00f8\u1377\u000b\u00f8\u0003\u00f8\u0003\u00f8\u0005", + "\u00f8\u137b\n\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8\u0003\u00f8", + "\u0007\u00f8\u1381\n\u00f8\f\u00f8\u000e\u00f8\u1384\u000b\u00f8\u0003", + "\u00f8\u0003\u00f8\u0005\u00f8\u1388\n\u00f8\u0003\u00f8\u0005\u00f8", + "\u138b\n\u00f8\u0003\u00f9\u0003\u00f9\u0003\u00fa\u0003\u00fa\u0003", + "\u00fb\u0003\u00fb\u0003\u00fc\u0003\u00fc\u0003\u00fd\u0003\u00fd\u0003", + "\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003", + "\u00fd\u0003\u00fd\u0003\u00fd\u0006\u00fd\u13a0\n\u00fd\r\u00fd\u000e", + "\u00fd\u13a1\u0005\u00fd\u13a4\n\u00fd\u0003\u00fd\u0005\u00fd\u13a7", + "\n\u00fd\u0003\u00fd\u0003\u00fd\u0005\u00fd\u13ab\n\u00fd\u0003\u00fd", + "\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd\u0003\u00fd", + "\u0003\u00fd\u0005\u00fd\u13b5\n\u00fd\u0007\u00fd\u13b7\n\u00fd\f\u00fd", + "\u000e\u00fd\u13ba\u000b\u00fd\u0003\u00fd\u0003\u00fd\u0005\u00fd\u13be", + "\n\u00fd\u0003\u00fd\u0006\u00fd\u13c1\n\u00fd\r\u00fd\u000e\u00fd\u13c2", + "\u0003\u00fd\u0003\u00fd\u0005\u00fd\u13c7\n\u00fd\u0005\u00fd\u13c9", + "\n\u00fd\u0003\u00fd\u0005\u00fd\u13cc\n\u00fd\u0007\u00fd\u13ce\n\u00fd", + "\f\u00fd\u000e\u00fd\u13d1\u000b\u00fd\u0003\u00fe\u0003\u00fe\u0003", + "\u00fe\u0003\u00fe\u0003\u00ff\u0003\u00ff\u0003\u00ff\u0005\u00ff\u13da", + "\n\u00ff\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100", + "\u0003\u0100\u0005\u0100\u13e2\n\u0100\u0003\u0100\u0003\u0100\u0003", + "\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0005\u0100\u13ea\n\u0100", + "\u0003\u0100\u0005\u0100\u13ed\n\u0100\u0003\u0100\u0005\u0100\u13f0", + "\n\u0100\u0003\u0100\u0005\u0100\u13f3\n\u0100\u0003\u0100\u0005\u0100", + "\u13f6\n\u0100\u0005\u0100\u13f8\n\u0100\u0003\u0100\u0003\u0100\u0003", + "\u0100\u0003\u0100\u0003\u0100\u0006\u0100\u13ff\n\u0100\r\u0100\u000e", + "\u0100\u1400\u0007\u0100\u1403\n\u0100\f\u0100\u000e\u0100\u1406\u000b", + "\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0005\u0100\u140b\n\u0100", + "\u0003\u0100\u0005\u0100\u140e\n\u0100\u0003\u0100\u0003\u0100\u0005", + "\u0100\u1412\n\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0005\u0100", + "\u1417\n\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003\u0100\u0003", + "\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003\u0101\u0003", + "\u0101\u0003\u0101\u0003\u0101\u0005\u0101\u1426\n\u0101\u0003\u0101", + "\u0003\u0101\u0003\u0101\u0003\u0101\u0005\u0101\u142c\n\u0101\u0003", + "\u0101\u0003\u0101\u0003\u0101\u0005\u0101\u1431\n\u0101\u0003\u0101", + "\u0003\u0101\u0003\u0101\u0005\u0101\u1436\n\u0101\u0003\u0101\u0003", + "\u0101\u0003\u0101\u0005\u0101\u143b\n\u0101\u0003\u0101\u0003\u0101", + "\u0003\u0101\u0006\u0101\u1440\n\u0101\r\u0101\u000e\u0101\u1441\u0005", + "\u0101\u1444\n\u0101\u0003\u0102\u0003\u0102\u0003\u0102\u0005\u0102", + "\u1449\n\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003\u0102\u0003", + "\u0102\u0003\u0102\u0005\u0102\u1451\n\u0102\u0003\u0102\u0003\u0102", + "\u0003\u0102\u0003\u0102\u0003\u0102\u0005\u0102\u1458\n\u0102\u0003", + "\u0102\u0003\u0102\u0003\u0103\u0003\u0103\u0003\u0104\u0003\u0104\u0003", + "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104\u1465", + "\n\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104", + "\u146b\n\u0104\u0007\u0104\u146d\n\u0104\f\u0104\u000e\u0104\u1470\u000b", + "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003", + "\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104\u147b\n\u0104", + "\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0003\u0104\u0005\u0104", + "\u1482\n\u0104\u0007\u0104\u1484\n\u0104\f\u0104\u000e\u0104\u1487\u000b", + "\u0104\u0003\u0104\u0005\u0104\u148a\n\u0104\u0003\u0104\u0005\u0104", + "\u148d\n\u0104\u0003\u0104\u0005\u0104\u1490\n\u0104\u0003\u0104\u0003", + "\u0104\u0003\u0105\u0003\u0105\u0003\u0105\u0005\u0105\u1497\n\u0105", + "\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0003\u0105\u0005\u0105", + "\u149e\n\u0105\u0003\u0105\u0003\u0105\u0005\u0105\u14a2\n\u0105\u0003", + "\u0105\u0003\u0105\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0003", + "\u0106\u0003\u0106\u0005\u0106\u14ac\n\u0106\u0003\u0106\u0003\u0106", + "\u0005\u0106\u14b0\n\u0106\u0003\u0106\u0005\u0106\u14b3\n\u0106\u0003", + "\u0106\u0005\u0106\u14b6\n\u0106\u0003\u0106\u0003\u0106\u0003\u0106", + "\u0003\u0106\u0005\u0106\u14bc\n\u0106\u0003\u0106\u0005\u0106\u14bf", + "\n\u0106\u0003\u0106\u0005\u0106\u14c2\n\u0106\u0003\u0106\u0005\u0106", + "\u14c5\n\u0106\u0003\u0106\u0005\u0106\u14c8\n\u0106\u0003\u0106\u0005", + "\u0106\u14cb\n\u0106\u0003\u0106\u0005\u0106\u14ce\n\u0106\u0003\u0106", + "\u0003\u0106\u0003\u0106\u0003\u0106\u0003\u0106\u0005\u0106\u14d5\n", + "\u0106\u0003\u0106\u0005\u0106\u14d8\n\u0106\u0003\u0106\u0005\u0106", + "\u14db\n\u0106\u0003\u0106\u0006\u0106\u14de\n\u0106\r\u0106\u000e\u0106", + "\u14df\u0005\u0106\u14e2\n\u0106\u0003\u0106\u0005\u0106\u14e5\n\u0106", + "\u0003\u0106\u0005\u0106\u14e8\n\u0106\u0003\u0107\u0003\u0107\u0003", + "\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003", + "\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003\u0107\u0003", + "\u0107\u0007\u0107\u14f9\n\u0107\f\u0107\u000e\u0107\u14fc\u000b\u0107", + "\u0003\u0107\u0003\u0107\u0003\u0108\u0003\u0108\u0005\u0108\u1502\n", + "\u0108\u0003\u0108\u0003\u0108\u0005\u0108\u1506\n\u0108\u0003\u0108", + "\u0005\u0108\u1509\n\u0108\u0003\u0109\u0003\u0109\u0003\u0109\u0003", + "\u0109\u0003\u0109\u0005\u0109\u1510\n\u0109\u0003\u0109\u0003\u0109", + "\u0003\u0109\u0005\u0109\u1515\n\u0109\u0003\u0109\u0003\u0109\u0003", + "\u0109\u0003\u0109\u0003\u0109\u0005\u0109\u151c\n\u0109\u0003\u0109", + "\u0003\u0109\u0003\u0109\u0003\u0109\u0005\u0109\u1522\n\u0109\u0005", + "\u0109\u1524\n\u0109\u0003\u0109\u0003\u0109\u0003\u0109\u0003\u0109", + "\u0005\u0109\u152a\n\u0109\u0003\u010a\u0003\u010a\u0005\u010a\u152e", + "\n\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0003\u010a", + "\u0005\u010a\u1535\n\u010a\u0003\u010a\u0003\u010a\u0003\u010a\u0005", + "\u010a\u153a\n\u010a\u0003\u010b\u0003\u010b\u0003\u010b\u0005\u010b", + "\u153f\n\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0007", + "\u010b\u1545\n\u010b\f\u010b\u000e\u010b\u1548\u000b\u010b\u0003\u010b", + "\u0003\u010b\u0005\u010b\u154c\n\u010b\u0003\u010b\u0003\u010b\u0003", + "\u010b\u0003\u010b\u0005\u010b\u1552\n\u010b\u0003\u010b\u0005\u010b", + "\u1555\n\u010b\u0003\u010b\u0005\u010b\u1558\n\u010b\u0003\u010b\u0005", + "\u010b\u155b\n\u010b\u0003\u010b\u0005\u010b\u155e\n\u010b\u0003\u010b", + "\u0005\u010b\u1561\n\u010b\u0003\u010b\u0005\u010b\u1564\n\u010b\u0003", + "\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0003\u010b\u0005\u010b\u156b", + "\n\u010b\u0003\u010b\u0005\u010b\u156e\n\u010b\u0003\u010b\u0005\u010b", + "\u1571\n\u010b\u0003\u010b\u0006\u010b\u1574\n\u010b\r\u010b\u000e\u010b", + "\u1575\u0005\u010b\u1578\n\u010b\u0003\u010b\u0005\u010b\u157b\n\u010b", + "\u0003\u010b\u0005\u010b\u157e\n\u010b\u0003\u010c\u0003\u010c\u0005", + "\u010c\u1582\n\u010c\u0003\u010c\u0003\u010c\u0003\u010c\u0003\u010c", + "\u0006\u010c\u1588\n\u010c\r\u010c\u000e\u010c\u1589\u0003\u010c\u0003", + "\u010c\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003\u010d\u0003", + "\u010d\u0003\u010d\u0005\u010d\u1595\n\u010d\u0003\u010e\u0003\u010e", + "\u0005\u010e\u1599\n\u010e\u0003\u010e\u0003\u010e\u0005\u010e\u159d", + "\n\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0007\u010e\u15a2\n\u010e", + "\f\u010e\u000e\u010e\u15a5\u000b\u010e\u0003\u010e\u0005\u010e\u15a8", + "\n\u010e\u0003\u010e\u0003\u010e\u0003\u010e\u0005\u010e\u15ad\n\u010e", + "\u0003\u010f\u0005\u010f\u15b0\n\u010f\u0003\u010f\u0003\u010f\u0003", + "\u010f\u0003\u010f\u0003\u010f\u0003\u0110\u0003\u0110\u0003\u0110\u0003", + "\u0110\u0007\u0110\u15bb\n\u0110\f\u0110\u000e\u0110\u15be\u000b\u0110", + "\u0003\u0110\u0003\u0110\u0005\u0110\u15c2\n\u0110\u0003\u0110\u0003", + "\u0110\u0003\u0110\u0003\u0110\u0005\u0110\u15c8\n\u0110\u0003\u0110", + "\u0005\u0110\u15cb\n\u0110\u0003\u0110\u0005\u0110\u15ce\n\u0110\u0003", + "\u0110\u0005\u0110\u15d1\n\u0110\u0003\u0110\u0005\u0110\u15d4\n\u0110", + "\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0003\u0110\u0005\u0110", + "\u15db\n\u0110\u0003\u0110\u0005\u0110\u15de\n\u0110\u0003\u0110\u0005", + "\u0110\u15e1\n\u0110\u0003\u0110\u0006\u0110\u15e4\n\u0110\r\u0110\u000e", + "\u0110\u15e5\u0005\u0110\u15e8\n\u0110\u0003\u0110\u0005\u0110\u15eb", + "\n\u0110\u0003\u0110\u0005\u0110\u15ee\n\u0110\u0003\u0111\u0003\u0111", + "\u0003\u0111\u0003\u0111\u0003\u0111\u0005\u0111\u15f5\n\u0111\u0003", + "\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003\u0112\u0003", + "\u0112\u0003\u0112\u0005\u0112\u15ff\n\u0112\u0003\u0113\u0003\u0113", + "\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0007\u0113", + "\u1608\n\u0113\f\u0113\u000e\u0113\u160b\u000b\u0113\u0003\u0113\u0003", + "\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0003", + "\u0113\u0003\u0113\u0003\u0113\u0003\u0113\u0007\u0113\u1618\n\u0113", + "\f\u0113\u000e\u0113\u161b\u000b\u0113\u0003\u0113\u0003\u0113\u0005", + "\u0113\u161f\n\u0113\u0005\u0113\u1621\n\u0113\u0003\u0113\u0003\u0113", + "\u0003\u0113\u0005\u0113\u1626\n\u0113\u0003\u0113\u0003\u0113\u0003", + "\u0113\u0003\u0113\u0003\u0113\u0005\u0113\u162d\n\u0113\u0003\u0113", + "\u0003\u0113\u0003\u0113\u0007\u0113\u1632\n\u0113\f\u0113\u000e\u0113", + "\u1635\u000b\u0113\u0003\u0113\u0003\u0113\u0003\u0114\u0003\u0114\u0003", + "\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003\u0114\u0003", + "\u0114\u0005\u0114\u1642\n\u0114\u0003\u0114\u0003\u0114\u0003\u0114", + "\u0003\u0114\u0003\u0114\u0005\u0114\u1649\n\u0114\u0003\u0114\u0003", + "\u0114\u0003\u0114\u0007\u0114\u164e\n\u0114\f\u0114\u000e\u0114\u1651", + "\u000b\u0114\u0003\u0114\u0003\u0114\u0003\u0115\u0003\u0115\u0003\u0115", + "\u0003\u0115\u0003\u0115\u0003\u0115\u0003\u0115\u0007\u0115\u165c\n", + "\u0115\f\u0115\u000e\u0115\u165f\u000b\u0115\u0003\u0115\u0003\u0115", + "\u0003\u0115\u0005\u0115\u1664\n\u0115\u0003\u0116\u0003\u0116\u0003", + "\u0116\u0005\u0116\u1669\n\u0116\u0003\u0116\u0005\u0116\u166c\n\u0116", + "\u0003\u0116\u0003\u0116\u0003\u0116\u0005\u0116\u1671\n\u0116\u0003", + "\u0116\u0005\u0116\u1674\n\u0116\u0007\u0116\u1676\n\u0116\f\u0116\u000e", + "\u0116\u1679\u000b\u0116\u0003\u0116\u0003\u0116\u0003\u0117\u0003\u0117", + "\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003\u0117", + "\u0007\u0117\u1685\n\u0117\f\u0117\u000e\u0117\u1688\u000b\u0117\u0003", + "\u0117\u0003\u0117\u0005\u0117\u168c\n\u0117\u0003\u0117\u0003\u0117", + "\u0005\u0117\u1690\n\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0003", + "\u0117\u0003\u0117\u0003\u0117\u0003\u0117\u0007\u0117\u1699\n\u0117", + "\f\u0117\u000e\u0117\u169c\u000b\u0117\u0003\u0117\u0003\u0117\u0005", + "\u0117\u16a0\n\u0117\u0003\u0118\u0003\u0118\u0003\u0119\u0003\u0119", + "\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0007\u0119", + "\u16ab\n\u0119\f\u0119\u000e\u0119\u16ae\u000b\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0003\u0119\u0003\u0119\u0007\u0119\u16bb\n\u0119", + "\f\u0119\u000e\u0119\u16be\u000b\u0119\u0003\u0119\u0003\u0119\u0005", + "\u0119\u16c2\n\u0119\u0005\u0119\u16c4\n\u0119\u0003\u0119\u0003\u0119", + "\u0003\u0119\u0005\u0119\u16c9\n\u0119\u0003\u0119\u0003\u0119\u0003", + "\u0119\u0003\u0119\u0007\u0119\u16cf\n\u0119\f\u0119\u000e\u0119\u16d2", + "\u000b\u0119\u0003\u0119\u0003\u0119\u0003\u011a\u0003\u011a\u0003\u011a", + "\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003\u011a", + "\u0005\u011a\u16df\n\u011a\u0003\u011a\u0003\u011a\u0003\u011a\u0003", + "\u011a\u0007\u011a\u16e5\n\u011a\f\u011a\u000e\u011a\u16e8\u000b\u011a", + "\u0003\u011a\u0003\u011a\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b", + "\u0003\u011b\u0003\u011b\u0006\u011b\u16f2\n\u011b\r\u011b\u000e\u011b", + "\u16f3\u0003\u011b\u0003\u011b\u0003\u011b\u0003\u011b\u0005\u011b\u16fa", + "\n\u011b\u0003\u011b\u0003\u011b\u0005\u011b\u16fe\n\u011b\u0003\u011c", + "\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c\u0003\u011c", + "\u0003\u011c\u0003\u011c\u0003\u011c\u0007\u011c\u170a\n\u011c\f\u011c", + "\u000e\u011c\u170d\u000b\u011c\u0003\u011c\u0003\u011c\u0005\u011c\u1711", + "\n\u011c\u0003\u011d\u0003\u011d\u0005\u011d\u1715\n\u011d\u0003\u011d", + "\u0003\u011d\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e\u0003\u011e", + "\u0003\u011e\u0003\u011e\u0003\u011e\u0007\u011e\u1721\n\u011e\f\u011e", + "\u000e\u011e\u1724\u000b\u011e\u0005\u011e\u1726\n\u011e\u0003\u011f", + "\u0003\u011f\u0005\u011f\u172a\n\u011f\u0003\u011f\u0003\u011f\u0003", + "\u011f\u0003\u011f\u0003\u011f\u0003\u011f\u0007\u011f\u1732\n\u011f", + "\f\u011f\u000e\u011f\u1735\u000b\u011f\u0003\u011f\u0003\u011f\u0003", + "\u011f\u0007\u011f\u173a\n\u011f\f\u011f\u000e\u011f\u173d\u000b\u011f", + "\u0003\u011f\u0003\u011f\u0003\u011f\u0007\u011f\u1742\n\u011f\f\u011f", + "\u000e\u011f\u1745\u000b\u011f\u0005\u011f\u1747\n\u011f\u0003\u011f", + "\u0003\u011f\u0003\u011f\u0005\u011f\u174c\n\u011f\u0005\u011f\u174e", + "\n\u011f\u0003\u0120\u0003\u0120\u0005\u0120\u1752\n\u0120\u0003\u0120", + "\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0007\u0120", + "\u175a\n\u0120\f\u0120\u000e\u0120\u175d\u000b\u0120\u0003\u0120\u0003", + "\u0120\u0003\u0120\u0007\u0120\u1762\n\u0120\f\u0120\u000e\u0120\u1765", + "\u000b\u0120\u0003\u0120\u0003\u0120\u0003\u0120\u0007\u0120\u176a\n", + "\u0120\f\u0120\u000e\u0120\u176d\u000b\u0120\u0005\u0120\u176f\n\u0120", + "\u0003\u0120\u0003\u0120\u0003\u0120\u0005\u0120\u1774\n\u0120\u0005", + "\u0120\u1776\n\u0120\u0003\u0121\u0003\u0121\u0003\u0121\u0003\u0121", + "\u0003\u0121\u0003\u0121\u0007\u0121\u177e\n\u0121\f\u0121\u000e\u0121", + "\u1781\u000b\u0121\u0003\u0121\u0003\u0121\u0003\u0121\u0007\u0121\u1786", + "\n\u0121\f\u0121\u000e\u0121\u1789\u000b\u0121\u0003\u0121\u0003\u0121", + "\u0003\u0121\u0007\u0121\u178e\n\u0121\f\u0121\u000e\u0121\u1791\u000b", + "\u0121\u0005\u0121\u1793\n\u0121\u0003\u0121\u0003\u0121\u0003\u0121", + "\u0005\u0121\u1798\n\u0121\u0003\u0122\u0003\u0122\u0003\u0123\u0003", + "\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0003\u0123\u0007", + "\u0123\u17a3\n\u0123\f\u0123\u000e\u0123\u17a6\u000b\u0123\u0003\u0123", + "\u0003\u0123\u0005\u0123\u17aa\n\u0123\u0003\u0124\u0003\u0124\u0003", + "\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0003\u0124\u0005\u0124\u17b3", + "\n\u0124\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125", + "\u0003\u0125\u0003\u0125\u0007\u0125\u17bc\n\u0125\f\u0125\u000e\u0125", + "\u17bf\u000b\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003", + "\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0003\u0125\u0007\u0125\u17ca", + "\n\u0125\f\u0125\u000e\u0125\u17cd\u000b\u0125\u0003\u0125\u0003\u0125", + "\u0005\u0125\u17d1\n\u0125\u0003\u0125\u0005\u0125\u17d4\n\u0125\u0003", + "\u0126\u0003\u0126\u0003\u0127\u0003\u0127\u0005\u0127\u17da\n\u0127", + "\u0003\u0127\u0003\u0127\u0005\u0127\u17de\n\u0127\u0003\u0128\u0003", + "\u0128\u0005\u0128\u17e2\n\u0128\u0003\u0128\u0003\u0128\u0005\u0128", + "\u17e6\n\u0128\u0003\u0129\u0003\u0129\u0005\u0129\u17ea\n\u0129\u0003", + "\u0129\u0005\u0129\u17ed\n\u0129\u0003\u012a\u0003\u012a\u0003\u012a", + "\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0003\u012a\u0007\u012a", + "\u17f7\n\u012a\f\u012a\u000e\u012a\u17fa\u000b\u012a\u0003\u012a\u0003", + "\u012a\u0005\u012a\u17fe\n\u012a\u0003\u012b\u0003\u012b\u0003\u012b", + "\u0003\u012b\u0003\u012b\u0003\u012b\u0003\u012b\u0007\u012b\u1807\n", + "\u012b\f\u012b\u000e\u012b\u180a\u000b\u012b\u0003\u012b\u0003\u012b", + "\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0003\u012c\u0007\u012c", + "\u1813\n\u012c\f\u012c\u000e\u012c\u1816\u000b\u012c\u0003\u012c\u0005", + "\u012c\u1819\n\u012c\u0003\u012c\u0003\u012c\u0003\u012d\u0005\u012d", + "\u181e\n\u012d\u0003\u012d\u0005\u012d\u1821\n\u012d\u0003\u012d\u0003", + "\u012d\u0005\u012d\u1825\n\u012d\u0003\u012d\u0003\u012d\u0005\u012d", + "\u1829\n\u012d\u0005\u012d\u182b\n\u012d\u0003\u012d\u0003\u012d\u0003", + "\u012d\u0005\u012d\u1830\n\u012d\u0003\u012e\u0003\u012e\u0003\u012e", + "\u0003\u012e\u0003\u012e\u0005\u012e\u1837\n\u012e\u0003\u012e\u0003", + "\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003\u012e\u0003", + "\u012e\u0005\u012e\u1841\n\u012e\u0003\u012e\u0003\u012e\u0003\u012e", + "\u0006\u012e\u1846\n\u012e\r\u012e\u000e\u012e\u1847\u0003\u012f\u0003", + "\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0005", + "\u012f\u1851\n\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0003\u012f", + "\u0003\u012f\u0003\u012f\u0005\u012f\u1859\n\u012f\u0003\u012f\u0003", + "\u012f\u0003\u012f\u0003\u012f\u0003\u012f\u0005\u012f\u1860\n\u012f", + "\u0003\u0130\u0003\u0130\u0003\u0130\u0005\u0130\u1865\n\u0130\u0003", + "\u0130\u0003\u0130\u0005\u0130\u1869\n\u0130\u0003\u0130\u0003\u0130", + "\u0003\u0130\u0005\u0130\u186e\n\u0130\u0003\u0130\u0003\u0130\u0003", + "\u0130\u0005\u0130\u1873\n\u0130\u0003\u0130\u0005\u0130\u1876\n\u0130", + "\u0003\u0130\u0005\u0130\u1879\n\u0130\u0003\u0130\u0005\u0130\u187c", + "\n\u0130\u0005\u0130\u187e\n\u0130\u0003\u0130\u0003\u0130\u0005\u0130", + "\u1882\n\u0130\u0003\u0130\u0005\u0130\u1885\n\u0130\u0003\u0131\u0003", + "\u0131\u0005\u0131\u1889\n\u0131\u0003\u0132\u0003\u0132\u0003\u0132", + "\u0003\u0132\u0003\u0132\u0003\u0132\u0005\u0132\u1891\n\u0132\u0005", + "\u0132\u1893\n\u0132\u0005\u0132\u1895\n\u0132\u0003\u0132\u0005\u0132", + "\u1898\n\u0132\u0003\u0133\u0003\u0133\u0003\u0133\u0003\u0133\u0003", + "\u0133\u0003\u0133\u0003\u0133\u0006\u0133\u18a1\n\u0133\r\u0133\u000e", + "\u0133\u18a2\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134", + "\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134", + "\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134", + "\u0003\u0134\u0003\u0134\u0003\u0134\u0005\u0134\u18b9\n\u0134\u0003", + "\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0003\u0134\u0006\u0134\u18c0", + "\n\u0134\r\u0134\u000e\u0134\u18c1\u0003\u0134\u0003\u0134\u0003\u0135", + "\u0003\u0135\u0003\u0135\u0003\u0135\u0003\u0136\u0003\u0136\u0003\u0136", + "\u0003\u0136\u0006\u0136\u18ce\n\u0136\r\u0136\u000e\u0136\u18cf\u0003", + "\u0137\u0005\u0137\u18d3\n\u0137\u0003\u0137\u0003\u0137\u0005\u0137", + "\u18d7\n\u0137\u0003\u0138\u0005\u0138\u18da\n\u0138\u0003\u0138\u0003", + "\u0138\u0003\u0138\u0003\u0139\u0003\u0139\u0003\u0139\u0003\u0139\u0003", + "\u0139\u0003\u0139\u0005\u0139\u18e5\n\u0139\u0003\u013a\u0003\u013a", + "\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0005\u013b", + "\u18ee\n\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003", + "\u013b\u0005\u013b\u18f5\n\u013b\u0007\u013b\u18f7\n\u013b\f\u013b\u000e", + "\u013b\u18fa\u000b\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b", + "\u0003\u013b\u0003\u013b\u0005\u013b\u1902\n\u013b\u0003\u013b\u0003", + "\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0003\u013b\u0005\u013b\u190a", + "\n\u013b\u0007\u013b\u190c\n\u013b\f\u013b\u000e\u013b\u190f\u000b\u013b", + "\u0005\u013b\u1911\n\u013b\u0003\u013c\u0003\u013c\u0003\u013c\u0003", + "\u013c\u0003\u013c\u0003\u013c\u0005\u013c\u1919\n\u013c\u0003\u013c", + "\u0003\u013c\u0003\u013c\u0003\u013c\u0005\u013c\u191f\n\u013c\u0007", + "\u013c\u1921\n\u013c\f\u013c\u000e\u013c\u1924\u000b\u013c\u0003\u013c", + "\u0003\u013c\u0005\u013c\u1928\n\u013c\u0003\u013d\u0003\u013d\u0003", + "\u013d\u0005\u013d\u192d\n\u013d\u0003\u013d\u0003\u013d\u0003\u013d", + "\u0003\u013d\u0003\u013d\u0003\u013d\u0005\u013d\u1935\n\u013d\u0006", + "\u013d\u1937\n\u013d\r\u013d\u000e\u013d\u1938\u0003\u013d\u0003\u013d", + "\u0003\u013d\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e", + "\u0003\u013e\u0003\u013e\u0003\u013e\u0003\u013e\u0006\u013e\u1947\n", + "\u013e\r\u013e\u000e\u013e\u1948\u0003\u013e\u0005\u013e\u194c\n\u013e", + "\u0003\u013f\u0003\u013f\u0003\u013f\u0003\u013f\u0005\u013f\u1952\n", + "\u013f\u0003\u0140\u0003\u0140\u0003\u0140\u0005\u0140\u1957\n\u0140", + "\u0003\u0140\u0005\u0140\u195a\n\u0140\u0003\u0141\u0005\u0141\u195d", + "\n\u0141\u0003\u0141\u0003\u0141\u0003\u0142\u0003\u0142\u0005\u0142", + "\u1963\n\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003\u0142\u0003", + "\u0142\u0003\u0143\u0003\u0143\u0003\u0143\u0003\u0143\u0005\u0143\u196e", + "\n\u0143\u0003\u0143\u0003\u0143\u0003\u0144\u0003\u0144\u0003\u0144", + "\u0003\u0144\u0003\u0144\u0005\u0144\u1977\n\u0144\u0003\u0144\u0003", + "\u0144\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003\u0145\u0003", + "\u0145\u0003\u0145\u0003\u0146\u0003\u0146\u0003\u0147\u0003\u0147\u0003", + "\u0148\u0003\u0148\u0003\u0148\u0005\u0148\u1989\n\u0148\u0003\u0148", + "\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148", + "\u0005\u0148\u1992\n\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0005", + "\u0148\u1997\n\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0005\u0148", + "\u199c\n\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0005", + "\u0148\u19a2\n\u0148\u0003\u0148\u0003\u0148\u0003\u0148\u0003\u0148", + "\u0003\u0148\u0005\u0148\u19a9\n\u0148\u0003\u0148\u0003\u0148\u0003", + "\u0148\u0005\u0148\u19ae\n\u0148\u0005\u0148\u19b0\n\u0148\u0003\u0149", + "\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149\u0003\u0149", + "\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a\u0003\u014a", + "\u0003\u014a\u0003\u014a\u0003\u014a\u0006\u014a\u19c2\n\u014a\r\u014a", + "\u000e\u014a\u19c3\u0003\u014a\u0005\u014a\u19c7\n\u014a\u0003\u014a", + "\u0003\u014a\u0003\u014b\u0003\u014b\u0003\u014c\u0003\u014c\u0003\u014d", + "\u0003\u014d\u0003\u014d\u0005\u014d\u19d2\n\u014d\u0003\u014d\u0003", + "\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003\u014d\u0003", + "\u014d\u0003\u014d\u0005\u014d\u19dd\n\u014d\u0003\u014d\u0003\u014d", + "\u0003\u014e\u0003\u014e\u0003\u014e\u0005\u014e\u19e4\n\u014e\u0003", + "\u014e\u0003\u014e\u0003\u014e\u0005\u014e\u19e9\n\u014e\u0003\u014e", + "\u0005\u014e\u19ec\n\u014e\u0003\u014e\u0005\u014e\u19ef\n\u014e\u0003", + "\u014e\u0003\u014e\u0003\u014e\u0005\u014e\u19f4\n\u014e\u0003\u014f", + "\u0003\u014f\u0003\u0150\u0003\u0150\u0003\u0151\u0003\u0151\u0003\u0151", + "\u0003\u0151\u0003\u0151\u0005\u0151\u19ff\n\u0151\u0003\u0152\u0003", + "\u0152\u0003\u0153\u0003\u0153\u0005\u0153\u1a05\n\u0153\u0003\u0153", + "\u0003\u0153\u0005\u0153\u1a09\n\u0153\u0003\u0153\u0003\u0153\u0003", + "\u0153\u0003\u0153\u0005\u0153\u1a0f\n\u0153\u0003\u0153\u0003\u0153", + "\u0003\u0153\u0003\u0153\u0003\u0153\u0006\u0153\u1a16\n\u0153\r\u0153", + "\u000e\u0153\u1a17\u0005\u0153\u1a1a\n\u0153\u0003\u0153\u0003\u0153", + "\u0005\u0153\u1a1e\n\u0153\u0003\u0153\u0005\u0153\u1a21\n\u0153\u0003", + "\u0154\u0005\u0154\u1a24\n\u0154\u0003\u0154\u0003\u0154\u0003\u0154", + "\u0003\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0005\u0154", + "\u1a2e\n\u0154\u0003\u0154\u0003\u0154\u0003\u0154\u0006\u0154\u1a33", + "\n\u0154\r\u0154\u000e\u0154\u1a34\u0005\u0154\u1a37\n\u0154\u0003\u0155", + "\u0003\u0155\u0003\u0155\u0003\u0155\u0007\u0155\u1a3d\n\u0155\f\u0155", + "\u000e\u0155\u1a40\u000b\u0155\u0003\u0155\u0003\u0155\u0003\u0155\u0003", + "\u0155\u0003\u0155\u0003\u0155\u0007\u0155\u1a48\n\u0155\f\u0155\u000e", + "\u0155\u1a4b\u000b\u0155\u0003\u0155\u0005\u0155\u1a4e\n\u0155\u0003", + "\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0007", + "\u0156\u1a56\n\u0156\f\u0156\u000e\u0156\u1a59\u000b\u0156\u0003\u0156", + "\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0007\u0156", + "\u1a61\n\u0156\f\u0156\u000e\u0156\u1a64\u000b\u0156\u0005\u0156\u1a66", + "\n\u0156\u0003\u0156\u0003\u0156\u0003\u0156\u0005\u0156\u1a6b\n\u0156", + "\u0003\u0156\u0003\u0156\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157", + "\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157", + "\u0005\u0157\u1a79\n\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003", + "\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0006\u0157\u1a82\n\u0157", + "\r\u0157\u000e\u0157\u1a83\u0003\u0157\u0003\u0157\u0005\u0157\u1a88", + "\n\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157\u0003\u0157", + "\u0003\u0157\u0005\u0157\u1a90\n\u0157\u0005\u0157\u1a92\n\u0157\u0003", + "\u0158\u0003\u0158\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003", + "\u0159\u0007\u0159\u1a9b\n\u0159\f\u0159\u000e\u0159\u1a9e\u000b\u0159", + "\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159\u0003\u0159", + "\u0005\u0159\u1aa6\n\u0159\u0003\u015a\u0003\u015a\u0003\u015a\u0003", + "\u015a\u0005\u015a\u1aac\n\u015a\u0003\u015a\u0003\u015a\u0003\u015a", + "\u0005\u015a\u1ab1\n\u015a\u0007\u015a\u1ab3\n\u015a\f\u015a\u000e\u015a", + "\u1ab6\u000b\u015a\u0003\u015a\u0003\u015a\u0005\u015a\u1aba\n\u015a", + "\u0003\u015b\u0003\u015b\u0003\u015b\u0005\u015b\u1abf\n\u015b\u0003", + "\u015b\u0003\u015b\u0003\u015b\u0005\u015b\u1ac4\n\u015b\u0007\u015b", + "\u1ac6\n\u015b\f\u015b\u000e\u015b\u1ac9\u000b\u015b\u0003\u015b\u0003", + "\u015b\u0003\u015b\u0003\u015b\u0005\u015b\u1acf\n\u015b\u0003\u015b", + "\u0003\u015b\u0003\u015b\u0003\u015b\u0003\u015b\u0005\u015b\u1ad6\n", + "\u015b\u0003\u015c\u0003\u015c\u0003\u015c\u0005\u015c\u1adb\n\u015c", + "\u0003\u015c\u0003\u015c\u0003\u015c\u0005\u015c\u1ae0\n\u015c\u0007", + "\u015c\u1ae2\n\u015c\f\u015c\u000e\u015c\u1ae5\u000b\u015c\u0003\u015c", + "\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015c\u0003\u015c", + "\u0003\u015c\u0005\u015c\u1aef\n\u015c\u0003\u015d\u0003\u015d\u0005", + "\u015d\u1af3\n\u015d\u0003\u015d\u0005\u015d\u1af6\n\u015d\u0003\u015d", + "\u0005\u015d\u1af9\n\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003", + "\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0007\u015d\u1b02\n\u015d", + "\f\u015d\u000e\u015d\u1b05\u000b\u015d\u0003\u015d\u0003\u015d\u0003", + "\u015d\u0003\u015d\u0003\u015d\u0005\u015d\u1b0c\n\u015d\u0003\u015d", + "\u0003\u015d\u0003\u015d\u0003\u015d\u0007\u015d\u1b12\n\u015d\f\u015d", + "\u000e\u015d\u1b15\u000b\u015d\u0003\u015d\u0003\u015d\u0005\u015d\u1b19", + "\n\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0003\u015d\u0005\u015d", + "\u1b1f\n\u015d\u0003\u015e\u0003\u015e\u0005\u015e\u1b23\n\u015e\u0003", + "\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0006\u015e\u1b29\n\u015e", + "\r\u015e\u000e\u015e\u1b2a\u0003\u015e\u0003\u015e\u0003\u015e\u0005", + "\u015e\u1b30\n\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0005\u015e", + "\u1b35\n\u015e\u0007\u015e\u1b37\n\u015e\f\u015e\u000e\u015e\u1b3a\u000b", + "\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0003\u015e\u0007\u015e\u1b40", + "\n\u015e\f\u015e\u000e\u015e\u1b43\u000b\u015e\u0005\u015e\u1b45\n\u015e", + "\u0003\u015f\u0005\u015f\u1b48\n\u015f\u0003\u015f\u0003\u015f\u0005", + "\u015f\u1b4c\n\u015f\u0003\u015f\u0003\u015f\u0003\u015f\u0003\u0160", + "\u0003\u0160\u0005\u0160\u1b53\n\u0160\u0003\u0160\u0003\u0160\u0003", + "\u0160\u0003\u0160\u0007\u0160\u1b59\n\u0160\f\u0160\u000e\u0160\u1b5c", + "\u000b\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0003\u0160\u0007\u0160", + "\u1b62\n\u0160\f\u0160\u000e\u0160\u1b65\u000b\u0160\u0005\u0160\u1b67", + "\n\u0160\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161\u0003\u0161", + "\u0003\u0161\u0003\u0161\u0003\u0162\u0003\u0162\u0003\u0162\u0003\u0162", + "\u0003\u0162\u0003\u0162\u0005\u0162\u1b76\n\u0162\u0003\u0163\u0003", + "\u0163\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003\u0164\u0003", + "\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0003\u0165\u0007", + "\u0165\u1b85\n\u0165\f\u0165\u000e\u0165\u1b88\u000b\u0165\u0003\u0165", + "\u0003\u0165\u0003\u0165\u0005\u0165\u1b8d\n\u0165\u0003\u0166\u0003", + "\u0166\u0005\u0166\u1b91\n\u0166\u0003\u0166\u0003\u0166\u0003\u0166", + "\u0003\u0166\u0003\u0166\u0005\u0166\u1b98\n\u0166\u0003\u0166\u0003", + "\u0166\u0003\u0166\u0003\u0166\u0003\u0166\u0005\u0166\u1b9f\n\u0166", + "\u0003\u0166\u0005\u0166\u1ba2\n\u0166\u0005\u0166\u1ba4\n\u0166\u0003", + "\u0167\u0003\u0167\u0003\u0167\u0003\u0167\u0005\u0167\u1baa\n\u0167", + "\u0005\u0167\u1bac\n\u0167\u0003\u0167\u0005\u0167\u1baf\n\u0167\u0003", + "\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003\u0168\u0003", + "\u0168\u0005\u0168\u1bb8\n\u0168\u0003\u0168\u0005\u0168\u1bbb\n\u0168", + "\u0003\u0169\u0003\u0169\u0005\u0169\u1bbf\n\u0169\u0003\u0169\u0003", + "\u0169\u0003\u0169\u0003\u0169\u0005\u0169\u1bc5\n\u0169\u0003\u016a", + "\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a\u0003\u016a", + "\u0003\u016b\u0003\u016b\u0003\u016b\u0005\u016b\u1bd1\n\u016b\u0003", + "\u016b\u0003\u016b\u0003\u016b\u0003\u016c\u0003\u016c\u0003\u016c\u0003", + "\u016c\u0003\u016c\u0005\u016c\u1bdb\n\u016c\u0003\u016c\u0003\u016c", + "\u0005\u016c\u1bdf\n\u016c\u0003\u016c\u0005\u016c\u1be2\n\u016c\u0003", + "\u016c\u0005\u016c\u1be5\n\u016c\u0003\u016c\u0003\u016c\u0003\u016c", + "\u0005\u016c\u1bea\n\u016c\u0003\u016c\u0003\u016c\u0005\u016c\u1bee", + "\n\u016c\u0003\u016c\u0003\u016c\u0005\u016c\u1bf2\n\u016c\u0003\u016c", + "\u0005\u016c\u1bf5\n\u016c\u0003\u016d\u0003\u016d\u0003\u016d\u0003", + "\u016d\u0003\u016d\u0005\u016d\u1bfc\n\u016d\u0003\u016d\u0005\u016d", + "\u1bff\n\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003\u016d\u0003", + "\u016d\u0005\u016d\u1c06\n\u016d\u0003\u016d\u0003\u016d\u0003\u016d", + "\u0003\u016d\u0005\u016d\u1c0c\n\u016d\u0003\u016e\u0003\u016e\u0003", + "\u016e\u0003\u016e\u0003\u016e\u0003\u016f\u0003\u016f\u0003\u016f\u0003", + "\u016f\u0003\u016f\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003", + "\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003", + "\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0005", + "\u0170\u1c28\n\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170", + "\u0003\u0170\u0003\u0170\u0006\u0170\u1c30\n\u0170\r\u0170\u000e\u0170", + "\u1c31\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003", + "\u0170\u0003\u0170\u0003\u0170\u0005\u0170\u1c3c\n\u0170\u0005\u0170", + "\u1c3e\n\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003\u0170\u0003", + "\u0170\u0003\u0170\u0005\u0170\u1c46\n\u0170\u0003\u0171\u0003\u0171", + "\u0003\u0171\u0003\u0171\u0003\u0171\u0003\u0172\u0003\u0172\u0003\u0172", + "\u0003\u0172\u0003\u0173\u0003\u0173\u0003\u0173\u0003\u0174\u0003\u0174", + "\u0003\u0175\u0003\u0175\u0003\u0176\u0003\u0176\u0003\u0177\u0003\u0177", + "\u0003\u0178\u0003\u0178\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u0179", + "\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0005\u0179\u1c66\n", + "\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003\u0179\u0003", + "\u0179\u0005\u0179\u1c6e\n\u0179\u0006\u0179\u1c70\n\u0179\r\u0179\u000e", + "\u0179\u1c71\u0005\u0179\u1c74\n\u0179\u0003\u0179\u0003\u0179\u0003", + "\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003", + "\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0003\u017a\u0005\u017a\u1c83", + "\n\u017a\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b", + "\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b", + "\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b\u0003\u017b", + "\u0006\u017b\u1c96\n\u017b\r\u017b\u000e\u017b\u1c97\u0003\u017b\u0005", + "\u017b\u1c9b\n\u017b\u0003\u017c\u0003\u017c\u0003\u017c\u0003\u017c", + "\u0005\u017c\u1ca1\n\u017c\u0003\u017d\u0003\u017d\u0003\u017d\u0003", + "\u017d\u0005\u017d\u1ca7\n\u017d\u0003\u017e\u0003\u017e\u0003\u017e", + "\u0003\u017e\u0003\u017e\u0003\u017e\u0006\u017e\u1caf\n\u017e\r\u017e", + "\u000e\u017e\u1cb0\u0005\u017e\u1cb3\n\u017e\u0003\u017f\u0003\u017f", + "\u0003\u017f\u0005\u017f\u1cb8\n\u017f\u0003\u017f\u0003\u017f\u0003", + "\u017f\u0005\u017f\u1cbd\n\u017f\u0003\u017f\u0003\u017f\u0003\u017f", + "\u0005\u017f\u1cc2\n\u017f\u0007\u017f\u1cc4\n\u017f\f\u017f\u000e\u017f", + "\u1cc7\u000b\u017f\u0003\u017f\u0005\u017f\u1cca\n\u017f\u0003\u0180", + "\u0003\u0180\u0005\u0180\u1cce\n\u0180\u0003\u0180\u0003\u0180\u0003", + "\u0180\u0003\u0180\u0003\u0180\u0007\u0180\u1cd5\n\u0180\f\u0180\u000e", + "\u0180\u1cd8\u000b\u0180\u0003\u0180\u0003\u0180\u0003\u0180\u0003\u0180", + "\u0003\u0180\u0003\u0180\u0005\u0180\u1ce0\n\u0180\u0003\u0180\u0005", + "\u0180\u1ce3\n\u0180\u0003\u0180\u0005\u0180\u1ce6\n\u0180\u0003\u0180", + "\u0005\u0180\u1ce9\n\u0180\u0003\u0180\u0003\u0180\u0005\u0180\u1ced", + "\n\u0180\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181\u0003\u0181", + "\u0003\u0181\u0003\u0181\u0003\u0181\u0005\u0181\u1cf7\n\u0181\u0003", + "\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0005\u0182\u1cfe", + "\n\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182\u0003\u0182", + "\u0006\u0182\u1d05\n\u0182\r\u0182\u000e\u0182\u1d06\u0003\u0183\u0003", + "\u0183\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0184\u0003\u0185\u0003", + "\u0185\u0005\u0185\u1d11\n\u0185\u0003\u0185\u0005\u0185\u1d14\n\u0185", + "\u0003\u0185\u0005\u0185\u1d17\n\u0185\u0003\u0185\u0005\u0185\u1d1a", + "\n\u0185\u0003\u0185\u0003\u0185\u0006\u0185\u1d1e\n\u0185\r\u0185\u000e", + "\u0185\u1d1f\u0005\u0185\u1d22\n\u0185\u0003\u0185\u0005\u0185\u1d25", + "\n\u0185\u0003\u0186\u0003\u0186\u0003\u0186\u0003\u0186\u0005\u0186", + "\u1d2b\n\u0186\u0003\u0186\u0005\u0186\u1d2e\n\u0186\u0003\u0187\u0003", + "\u0187\u0003\u0187\u0005\u0187\u1d33\n\u0187\u0003\u0188\u0003\u0188", + "\u0003\u0188\u0005\u0188\u1d38\n\u0188\u0003\u0189\u0003\u0189\u0005", + "\u0189\u1d3c\n\u0189\u0003\u0189\u0003\u0189\u0005\u0189\u1d40\n\u0189", + "\u0003\u018a\u0003\u018a\u0003\u018a\u0003\u018a\u0005\u018a\u1d46\n", + "\u018a\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003\u018b\u0003", + "\u018b\u0003\u018b\u0003\u018b\u0003\u018c\u0003\u018c\u0003\u018d\u0003", + "\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018d\u0003\u018e\u0003", + "\u018e\u0003\u018f\u0003\u018f\u0003\u0190\u0003\u0190\u0003\u0190\u0006", + "\u0190\u1d5f\n\u0190\r\u0190\u000e\u0190\u1d60\u0003\u0191\u0003\u0191", + "\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191", + "\u0007\u0191\u1d6b\n\u0191\f\u0191\u000e\u0191\u1d6e\u000b\u0191\u0003", + "\u0191\u0003\u0191\u0005\u0191\u1d72\n\u0191\u0003\u0191\u0003\u0191", + "\u0003\u0191\u0007\u0191\u1d77\n\u0191\f\u0191\u000e\u0191\u1d7a\u000b", + "\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003", + "\u0191\u0003\u0191\u0007\u0191\u1d83\n\u0191\f\u0191\u000e\u0191\u1d86", + "\u000b\u0191\u0003\u0191\u0003\u0191\u0005\u0191\u1d8a\n\u0191\u0003", + "\u0191\u0003\u0191\u0003\u0191\u0007\u0191\u1d8f\n\u0191\f\u0191\u000e", + "\u0191\u1d92\u000b\u0191\u0003\u0191\u0003\u0191\u0005\u0191\u1d96\n", + "\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0003\u0191\u0005", + "\u0191\u1d9d\n\u0191\u0003\u0191\u0003\u0191\u0005\u0191\u1da1\n\u0191", + "\u0003\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0003\u0192\u0007\u0192", + "\u1da8\n\u0192\f\u0192\u000e\u0192\u1dab\u000b\u0192\u0003\u0192\u0003", + "\u0192\u0003\u0192\u0003\u0192\u0005\u0192\u1db1\n\u0192\u0003\u0193", + "\u0003\u0193\u0005\u0193\u1db5\n\u0193\u0003\u0193\u0003\u0193\u0005", + "\u0193\u1db9\n\u0193\u0003\u0193\u0003\u0193\u0003\u0193\u0005\u0193", + "\u1dbe\n\u0193\u0003\u0193\u0007\u0193\u1dc1\n\u0193\f\u0193\u000e\u0193", + "\u1dc4\u000b\u0193\u0003\u0193\u0005\u0193\u1dc7\n\u0193\u0003\u0194", + "\u0003\u0194\u0003\u0194\u0005\u0194\u1dcc\n\u0194\u0003\u0194\u0003", + "\u0194\u0003\u0194\u0003\u0194\u0003\u0194\u0005\u0194\u1dd3\n\u0194", + "\u0003\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0005\u0195\u1dd9\n", + "\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0005\u0195\u1dde\n\u0195", + "\u0007\u0195\u1de0\n\u0195\f\u0195\u000e\u0195\u1de3\u000b\u0195\u0003", + "\u0195\u0003\u0195\u0003\u0195\u0003\u0195\u0005\u0195\u1de9\n\u0195", + "\u0005\u0195\u1deb\n\u0195\u0003\u0195\u0005\u0195\u1dee\n\u0195\u0003", + "\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003\u0196\u0003", + "\u0196\u0003\u0197\u0003\u0197\u0003\u0197\u0005\u0197\u1dfa\n\u0197", + "\u0003\u0197\u0003\u0197\u0005\u0197\u1dfe\n\u0197\u0003\u0198\u0003", + "\u0198\u0003\u0198\u0005\u0198\u1e03\n\u0198\u0003\u0198\u0003\u0198", + "\u0005\u0198\u1e07\n\u0198\u0003\u0198\u0003\u0198\u0003\u0198\u0003", + "\u0198\u0003\u0198\u0005\u0198\u1e0e\n\u0198\u0003\u0199\u0003\u0199", + "\u0003\u019a\u0003\u019a\u0003\u019b\u0003\u019b\u0003\u019b\u0003\u019b", + "\u0005\u019b\u1e18\n\u019b\u0003\u019b\u0005\u019b\u1e1b\n\u019b\u0003", + "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0007\u019c\u1e22", + "\n\u019c\f\u019c\u000e\u019c\u1e25\u000b\u019c\u0003\u019c\u0003\u019c", + "\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c", + "\u0006\u019c\u1e2f\n\u019c\r\u019c\u000e\u019c\u1e30\u0003\u019c\u0003", + "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0003", + "\u019c\u0003\u019c\u0003\u019c\u0003\u019c\u0006\u019c\u1e3e\n\u019c", + "\r\u019c\u000e\u019c\u1e3f\u0005\u019c\u1e42\n\u019c\u0003\u019d\u0003", + "\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003\u019d\u0003", + "\u019d\u0003\u019d\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", + "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003", + "\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0003\u019e\u0005", + "\u019e\u1e5d\n\u019e\u0003\u019e\u0005\u019e\u1e60\n\u019e\u0003\u019e", + "\u0003\u019e\u0003\u019e\u0006\u019e\u1e65\n\u019e\r\u019e\u000e\u019e", + "\u1e66\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003\u019f\u0003", + "\u019f\u0003\u019f\u0003\u019f\u0005\u019f\u1e7d\n\u019f\u0003\u019f", + "\u0005\u019f\u1e80\n\u019f\u0006\u019f\u1e82\n\u019f\r\u019f\u000e\u019f", + "\u1e83\u0003\u01a0\u0003\u01a0\u0003\u01a1\u0003\u01a1\u0003\u01a1\u0005", + "\u01a1\u1e8b\n\u01a1\u0005\u01a1\u1e8d\n\u01a1\u0003\u01a2\u0003\u01a2", + "\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0003\u01a2\u0005\u01a2\u1e95\n", + "\u01a2\u0003\u01a3\u0003\u01a3\u0005\u01a3\u1e99\n\u01a3\u0003\u01a3", + "\u0003\u01a3\u0003\u01a3\u0005\u01a3\u1e9e\n\u01a3\u0003\u01a3\u0005", + "\u01a3\u1ea1\n\u01a3\u0003\u01a3\u0005\u01a3\u1ea4\n\u01a3\u0003\u01a3", + "\u0005\u01a3\u1ea7\n\u01a3\u0003\u01a4\u0003\u01a4\u0003\u01a5\u0003", + "\u01a5\u0003\u01a5\u0005\u01a5\u1eae\n\u01a5\u0003\u01a5\u0003\u01a5", + "\u0003\u01a5\u0005\u01a5\u1eb3\n\u01a5\u0003\u01a5\u0003\u01a5\u0003", + "\u01a6\u0003\u01a6\u0003\u01a6\u0003\u01a6\u0005\u01a6\u1ebb\n\u01a6", + "\u0003\u01a6\u0005\u01a6\u1ebe\n\u01a6\u0003\u01a7\u0003\u01a7\u0003", + "\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003\u01a7\u0003", + "\u01a7\u0003\u01a7\u0005\u01a7\u1eca\n\u01a7\u0003\u01a8\u0003\u01a8", + "\u0003\u01a9\u0003\u01a9\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0005\u01aa", + "\u1ed3\n\u01aa\u0003\u01aa\u0005\u01aa\u1ed6\n\u01aa\u0003\u01aa\u0003", + "\u01aa\u0005\u01aa\u1eda\n\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa", + "\u0005\u01aa\u1edf\n\u01aa\u0003\u01aa\u0003\u01aa\u0003\u01aa\u0005", + "\u01aa\u1ee4\n\u01aa\u0003\u01aa\u0005\u01aa\u1ee7\n\u01aa\u0003\u01aa", + "\u0005\u01aa\u1eea\n\u01aa\u0003\u01aa\u0005\u01aa\u1eed\n\u01aa\u0005", + "\u01aa\u1eef\n\u01aa\u0003\u01aa\u0007\u01aa\u1ef2\n\u01aa\f\u01aa\u000e", + "\u01aa\u1ef5\u000b\u01aa\u0003\u01aa\u0005\u01aa\u1ef8\n\u01aa\u0003", + "\u01ab\u0003\u01ab\u0005\u01ab\u1efc\n\u01ab\u0003\u01ab\u0005\u01ab", + "\u1eff\n\u01ab\u0003\u01ab\u0005\u01ab\u1f02\n\u01ab\u0003\u01ab\u0007", + "\u01ab\u1f05\n\u01ab\f\u01ab\u000e\u01ab\u1f08\u000b\u01ab\u0003\u01ac", + "\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0003\u01ac\u0005\u01ac", + "\u1f10\n\u01ac\u0005\u01ac\u1f12\n\u01ac\u0003\u01ac\u0003\u01ac\u0003", + "\u01ac\u0003\u01ad\u0003\u01ad\u0003\u01ad\u0003\u01ae\u0003\u01ae\u0003", + "\u01ae\u0003\u01ae\u0005\u01ae\u1f1e\n\u01ae\u0003\u01ae\u0005\u01ae", + "\u1f21\n\u01ae\u0003\u01ae\u0005\u01ae\u1f24\n\u01ae\u0003\u01ae\u0003", + "\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003\u01ae\u0003", + "\u01ae\u0003\u01ae\u0003\u01ae\u0006\u01ae\u1f30\n\u01ae\r\u01ae\u000e", + "\u01ae\u1f31\u0003\u01ae\u0003\u01ae\u0005\u01ae\u1f36\n\u01ae\u0003", + "\u01ae\u0003\u01ae\u0005\u01ae\u1f3a\n\u01ae\u0003\u01ae\u0005\u01ae", + "\u1f3d\n\u01ae\u0003\u01af\u0003\u01af\u0003\u01b0\u0005\u01b0\u1f42", + "\n\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0005\u01b0\u1f47\n\u01b0", + "\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0005\u01b0", + "\u1f4e\n\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0003\u01b0\u0005", + "\u01b0\u1f54\n\u01b0\u0003\u01b1\u0003\u01b1\u0003\u01b2\u0003\u01b2", + "\u0003\u01b2\u0003\u01b2\u0005\u01b2\u1f5c\n\u01b2\u0003\u01b3\u0003", + "\u01b3\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b4\u0003\u01b5\u0003", + "\u01b5\u0003\u01b5\u0007\u01b5\u1f67\n\u01b5\f\u01b5\u000e\u01b5\u1f6a", + "\u000b\u01b5\u0003\u01b5\u0005\u01b5\u1f6d\n\u01b5\u0003\u01b5\u0003", + "\u01b5\u0003\u01b5\u0007\u01b5\u1f72\n\u01b5\f\u01b5\u000e\u01b5\u1f75", + "\u000b\u01b5\u0003\u01b5\u0005\u01b5\u1f78\n\u01b5\u0003\u01b5\u0003", + "\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003", + "\u01b5\u0003\u01b5\u0003\u01b5\u0007\u01b5\u1f84\n\u01b5\f\u01b5\u000e", + "\u01b5\u1f87\u000b\u01b5\u0003\u01b5\u0003\u01b5\u0005\u01b5\u1f8b\n", + "\u01b5\u0003\u01b5\u0003\u01b5\u0005\u01b5\u1f8f\n\u01b5\u0003\u01b5", + "\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5\u0003\u01b5", + "\u0006\u01b5\u1f98\n\u01b5\r\u01b5\u000e\u01b5\u1f99\u0005\u01b5\u1f9c", + "\n\u01b5\u0003\u01b6\u0003\u01b6\u0003\u01b7\u0003\u01b7\u0003\u01b8", + "\u0003\u01b8\u0003\u01b8\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9", + "\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0007\u01b9\u1fac\n\u01b9\f\u01b9", + "\u000e\u01b9\u1faf\u000b\u01b9\u0003\u01b9\u0003\u01b9\u0005\u01b9\u1fb3", + "\n\u01b9\u0003\u01b9\u0005\u01b9\u1fb6\n\u01b9\u0003\u01b9\u0005\u01b9", + "\u1fb9\n\u01b9\u0003\u01b9\u0003\u01b9\u0003\u01b9\u0005\u01b9\u1fbe", + "\n\u01b9\u0005\u01b9\u1fc0\n\u01b9\u0003\u01ba\u0003\u01ba\u0003\u01ba", + "\u0005\u01ba\u1fc5\n\u01ba\u0003\u01ba\u0003\u01ba\u0003\u01ba\u0003", + "\u01ba\u0005\u01ba\u1fcb\n\u01ba\u0003\u01ba\u0006\u01ba\u1fce\n\u01ba", + "\r\u01ba\u000e\u01ba\u1fcf\u0003\u01bb\u0003\u01bb\u0003\u01bb\u0003", + "\u01bb\u0005\u01bb\u1fd6\n\u01bb\u0003\u01bc\u0003\u01bc\u0003\u01bc", + "\u0003\u01bc\u0003\u01bc\u0005\u01bc\u1fdd\n\u01bc\u0003\u01bd\u0003", + "\u01bd\u0003\u01bd\u0003\u01bd\u0003\u01be\u0003\u01be\u0003\u01be\u0003", + "\u01be\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01bf\u0003\u01c0\u0003", + "\u01c0\u0003\u01c0\u0003\u01c0\u0003\u01c0\u0005\u01c0\u1ff0\n\u01c0", + "\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c1\u0003\u01c2\u0003\u01c2", + "\u0003\u01c2\u0003\u01c2\u0003\u01c2\u0005\u01c2\u1ffb\n\u01c2\u0003", + "\u01c3\u0003\u01c3\u0003\u01c3\u0005\u01c3\u2000\n\u01c3\u0003\u01c4", + "\u0003\u01c4\u0003\u01c4\u0003\u01c4\u0005\u01c4\u2006\n\u01c4\u0003", + "\u01c5\u0003\u01c5\u0005\u01c5\u200a\n\u01c5\u0003\u01c5\u0003\u01c5", + "\u0003\u01c5\u0003\u01c5\u0006\u01c5\u2010\n\u01c5\r\u01c5\u000e\u01c5", + "\u2011\u0005\u01c5\u2014\n\u01c5\u0003\u01c5\u0003\u01c5\u0003\u01c5", + "\u0003\u01c6\u0003\u01c6\u0003\u01c6\u0003\u01c7\u0003\u01c7\u0003\u01c7", + "\u0005\u01c7\u201f\n\u01c7\u0003\u01c8\u0003\u01c8\u0003\u01c8\u0003", + "\u01c8\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0005\u01c9\u2028\n\u01c9", + "\u0003\u01c9\u0003\u01c9\u0003\u01c9\u0005\u01c9\u202d\n\u01c9\u0003", + "\u01c9\u0003\u01c9\u0005\u01c9\u2031\n\u01c9\u0003\u01c9\u0005\u01c9", + "\u2034\n\u01c9\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003\u01ca\u0003", + "\u01ca\u0003\u01ca\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003\u01cb\u0003", + "\u01cb\u0003\u01cb\u0005\u01cb\u2042\n\u01cb\u0003\u01cb\u0003\u01cb", + "\u0003\u01cc\u0003\u01cc\u0007\u01cc\u2048\n\u01cc\f\u01cc\u000e\u01cc", + "\u204b\u000b\u01cc\u0003\u01cc\u0005\u01cc\u204e\n\u01cc\u0003\u01cc", + "\u0005\u01cc\u2051\n\u01cc\u0003\u01cd\u0003\u01cd\u0003\u01cd\u0003", + "\u01ce\u0006\u01ce\u2057\n\u01ce\r\u01ce\u000e\u01ce\u2058\u0003\u01cf", + "\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0003\u01cf", + "\u0003\u01cf\u0003\u01cf\u0003\u01cf\u0005\u01cf\u2065\n\u01cf\u0003", + "\u01d0\u0003\u01d0\u0005\u01d0\u2069\n\u01d0\u0003\u01d0\u0003\u01d0", + "\u0003\u01d0\u0005\u01d0\u206e\n\u01d0\u0003\u01d0\u0005\u01d0\u2071", + "\n\u01d0\u0003\u01d0\u0003\u01d0\u0003\u01d1\u0003\u01d1\u0003\u01d1", + "\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d1", + "\u0005\u01d1\u207e\n\u01d1\u0003\u01d1\u0003\u01d1\u0005\u01d1\u2082", + "\n\u01d1\u0003\u01d1\u0003\u01d1\u0003\u01d2\u0003\u01d2\u0003\u01d2", + "\u0003\u01d2\u0003\u01d2\u0003\u01d2\u0007\u01d2\u208c\n\u01d2\f\u01d2", + "\u000e\u01d2\u208f\u000b\u01d2\u0003\u01d2\u0003\u01d2\u0005\u01d2\u2093", + "\n\u01d2\u0003\u01d2\u0003\u01d2\u0005\u01d2\u2097\n\u01d2\u0003\u01d2", + "\u0003\u01d2\u0005\u01d2\u209b\n\u01d2\u0003\u01d2\u0003\u01d2\u0003", + "\u01d3\u0003\u01d3\u0005\u01d3\u20a1\n\u01d3\u0003\u01d3\u0005\u01d3", + "\u20a4\n\u01d3\u0003\u01d3\u0005\u01d3\u20a7\n\u01d3\u0003\u01d4\u0003", + "\u01d4\u0003\u01d4\u0003\u01d4\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003", + "\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003", + "\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003", + "\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d5\u0005", + "\u01d5\u20c2\n\u01d5\u0003\u01d5\u0003\u01d5\u0006\u01d5\u20c6\n\u01d5", + "\r\u01d5\u000e\u01d5\u20c7\u0003\u01d5\u0003\u01d5\u0005\u01d5\u20cc", + "\n\u01d5\u0003\u01d5\u0003\u01d5\u0003\u01d6\u0003\u01d6\u0003\u01d6", + "\u0003\u01d6\u0003\u01d6\u0007\u01d6\u20d5\n\u01d6\f\u01d6\u000e\u01d6", + "\u20d8\u000b\u01d6\u0003\u01d6\u0003\u01d6\u0003\u01d7\u0003\u01d7\u0005", + "\u01d7\u20de\n\u01d7\u0003\u01d7\u0003\u01d7\u0005\u01d7\u20e2\n\u01d7", + "\u0003\u01d7\u0005\u01d7\u20e5\n\u01d7\u0003\u01d8\u0003\u01d8\u0003", + "\u01d8\u0003\u01d8\u0005\u01d8\u20eb\n\u01d8\u0003\u01d9\u0003\u01d9", + "\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01d9\u0005\u01d9", + "\u20f4\n\u01d9\u0003\u01d9\u0003\u01d9\u0003\u01da\u0003\u01da\u0003", + "\u01da\u0003\u01da\u0005\u01da\u20fc\n\u01da\u0003\u01da\u0003\u01da", + "\u0005\u01da\u2100\n\u01da\u0003\u01db\u0003\u01db\u0005\u01db\u2104", + "\n\u01db\u0003\u01db\u0003\u01db\u0003\u01db\u0003\u01dc\u0003\u01dc", + "\u0003\u01dc\u0005\u01dc\u210c\n\u01dc\u0003\u01dc\u0003\u01dc\u0003", + "\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0003\u01dc\u0005\u01dc\u2115", + "\n\u01dc\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0003\u01dd\u0006\u01dd", + "\u211b\n\u01dd\r\u01dd\u000e\u01dd\u211c\u0003\u01de\u0003\u01de\u0003", + "\u01de\u0003\u01de\u0003\u01de\u0003\u01de\u0003\u01df\u0003\u01df\u0003", + "\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003", + "\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003\u01df\u0003", + "\u01df\u0003\u01df\u0003\u01df\u0005\u01df\u2136\n\u01df\u0003\u01e0", + "\u0006\u01e0\u2139\n\u01e0\r\u01e0\u000e\u01e0\u213a\u0003\u01e1\u0003", + "\u01e1\u0005\u01e1\u213f\n\u01e1\u0003\u01e1\u0003\u01e1\u0003\u01e1", + "\u0003\u01e2\u0003\u01e2\u0005\u01e2\u2146\n\u01e2\u0003\u01e2\u0003", + "\u01e2\u0005\u01e2\u214a\n\u01e2\u0003\u01e3\u0003\u01e3\u0005\u01e3", + "\u214e\n\u01e3\u0003\u01e3\u0003\u01e3\u0005\u01e3\u2152\n\u01e3\u0003", + "\u01e4\u0003\u01e4\u0003\u01e4\u0003\u01e5\u0003\u01e5\u0003\u01e5\u0003", + "\u01e5\u0003\u01e5\u0007\u01e5\u215c\n\u01e5\f\u01e5\u000e\u01e5\u215f", + "\u000b\u01e5\u0003\u01e5\u0005\u01e5\u2162\n\u01e5\u0003\u01e5\u0003", + "\u01e5\u0003\u01e5\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003\u01e6\u0003", + "\u01e6\u0003\u01e7\u0003\u01e7\u0003\u01e7\u0003\u01e8\u0005\u01e8\u2170", + "\n\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0005\u01e8", + "\u2176\n\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003\u01e8\u0003", + "\u01e8\u0005\u01e8\u217d\n\u01e8\u0003\u01e9\u0003\u01e9\u0003\u01e9", + "\u0005\u01e9\u2182\n\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003", + "\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0005", + "\u01e9\u218d\n\u01e9\u0003\u01e9\u0005\u01e9\u2190\n\u01e9\u0003\u01e9", + "\u0003\u01e9\u0003\u01e9\u0003\u01e9\u0005\u01e9\u2196\n\u01e9\u0005", + "\u01e9\u2198\n\u01e9\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0003\u01ea", + "\u0003\u01ea\u0003\u01ea\u0003\u01ea\u0005\u01ea\u21a1\n\u01ea\u0003", + "\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003\u01eb\u0003", + "\u01eb\u0003\u01eb\u0005\u01eb\u21ab\n\u01eb\u0003\u01eb\u0003\u01eb", + "\u0003\u01eb\u0005\u01eb\u21b0\n\u01eb\u0003\u01ec\u0003\u01ec\u0003", + "\u01ec\u0003\u01ec\u0003\u01ec\u0003\u01ed\u0003\u01ed\u0003\u01ee\u0003", + "\u01ee\u0003\u01ef\u0003\u01ef\u0003\u01f0\u0003\u01f0\u0005\u01f0\u21bf", + "\n\u01f0\u0003\u01f1\u0003\u01f1\u0005\u01f1\u21c3\n\u01f1\u0003\u01f2", + "\u0005\u01f2\u21c6\n\u01f2\u0003\u01f2\u0003\u01f2\u0005\u01f2\u21ca", + "\n\u01f2\u0003\u01f3\u0003\u01f3\u0005\u01f3\u21ce\n\u01f3\u0003\u01f4", + "\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f4\u0003\u01f5", + "\u0003\u01f5\u0003\u01f5\u0003\u01f5\u0006\u01f5\u21da\n\u01f5\r\u01f5", + "\u000e\u01f5\u21db\u0005\u01f5\u21de\n\u01f5\u0003\u01f5\u0003\u01f5", + "\u0005\u01f5\u21e2\n\u01f5\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003", + "\u01f6\u0007\u01f6\u21e8\n\u01f6\f\u01f6\u000e\u01f6\u21eb\u000b\u01f6", + "\u0003\u01f6\u0003\u01f6\u0003\u01f6\u0003\u01f7\u0005\u01f7\u21f1\n", + "\u01f7\u0003\u01f7\u0006\u01f7\u21f4\n\u01f7\r\u01f7\u000e\u01f7\u21f5", + "\u0005\u01f7\u21f8\n\u01f7\u0003\u01f7\u0003\u01f7\u0003\u01f8\u0005", + "\u01f8\u21fd\n\u01f8\u0003\u01f8\u0006\u01f8\u2200\n\u01f8\r\u01f8\u000e", + "\u01f8\u2201\u0003\u01f8\u0003\u01f8\u0003\u01f9\u0003\u01f9\u0003\u01f9", + "\u0003\u01f9\u0005\u01f9\u220a\n\u01f9\u0003\u01fa\u0003\u01fa\u0003", + "\u01fa\u0003\u01fa\u0003\u01fa\u0005\u01fa\u2211\n\u01fa\u0003\u01fa", + "\u0003\u01fa\u0005\u01fa\u2215\n\u01fa\u0003\u01fa\u0005\u01fa\u2218", + "\n\u01fa\u0003\u01fb\u0003\u01fb\u0003\u01fb\u0003\u01fc\u0003\u01fc", + "\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0003\u01fc\u0005\u01fc", + "\u2224\n\u01fc\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0003\u01fd\u0005", + "\u01fd\u222a\n\u01fd\u0003\u01fe\u0003\u01fe\u0003\u01fe\u0003\u01ff", + "\u0003\u01ff\u0003\u01ff\u0003\u01ff\u0005\u01ff\u2233\n\u01ff\u0003", + "\u01ff\u0005\u01ff\u2236\n\u01ff\u0003\u0200\u0003\u0200\u0003\u0200", + "\u0003\u0200\u0003\u0200\u0003\u0200\u0007\u0200\u223e\n\u0200\f\u0200", + "\u000e\u0200\u2241\u000b\u0200\u0003\u0200\u0003\u0200\u0003\u0200\u0003", + "\u0200\u0003\u0200\u0003\u0200\u0007\u0200\u2249\n\u0200\f\u0200\u000e", + "\u0200\u224c\u000b\u0200\u0005\u0200\u224e\n\u0200\u0003\u0201\u0003", + "\u0201\u0003\u0201\u0003\u0201\u0003\u0201\u0005\u0201\u2255\n\u0201", + "\u0003\u0201\u0005\u0201\u2258\n\u0201\u0003\u0202\u0003\u0202\u0003", + "\u0202\u0003\u0202\u0003\u0202\u0005\u0202\u225f\n\u0202\u0003\u0203", + "\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203\u0003\u0203", + "\u0003\u0203\u0003\u0203\u0005\u0203\u226a\n\u0203\u0003\u0203\u0003", + "\u0203\u0003\u0203\u0003\u0203\u0005\u0203\u2270\n\u0203\u0003\u0203", + "\u0003\u0203\u0005\u0203\u2274\n\u0203\u0003\u0204\u0003\u0204\u0003", + "\u0204\u0003\u0204\u0003\u0204\u0003\u0204\u0007\u0204\u227c\n\u0204", + "\f\u0204\u000e\u0204\u227f\u000b\u0204\u0005\u0204\u2281\n\u0204\u0003", + "\u0204\u0003\u0204\u0003\u0205\u0003\u0205\u0005\u0205\u2287\n\u0205", + "\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205\u0003\u0205", + "\u0003\u0205\u0003\u0205\u0003\u0205\u0005\u0205\u2292\n\u0205\u0005", + "\u0205\u2294\n\u0205\u0005\u0205\u2296\n\u0205\u0003\u0205\u0005\u0205", + "\u2299\n\u0205\u0003\u0206\u0003\u0206\u0005\u0206\u229d\n\u0206\u0003", + "\u0206\u0005\u0206\u22a0\n\u0206\u0003\u0207\u0003\u0207\u0005\u0207", + "\u22a4\n\u0207\u0003\u0207\u0003\u0207\u0005\u0207\u22a8\n\u0207\u0003", + "\u0207\u0003\u0207\u0003\u0207\u0005\u0207\u22ad\n\u0207\u0003\u0208", + "\u0003\u0208\u0003\u0208\u0003\u0209\u0003\u0209\u0003\u0209\u0003\u0209", + "\u0003\u0209\u0003\u0209\u0005\u0209\u22b8\n\u0209\u0003\u0209\u0003", + "\u0209\u0005\u0209\u22bc\n\u0209\u0003\u0209\u0003\u0209\u0003\u0209", + "\u0003\u0209\u0003\u0209\u0003\u0209\u0005\u0209\u22c4\n\u0209\u0003", + "\u020a\u0005\u020a\u22c7\n\u020a\u0003\u020a\u0003\u020a\u0003\u020b", + "\u0003\u020b\u0003\u020b\u0003\u020b\u0003\u020b\u0007\u020b\u22d0\n", + "\u020b\f\u020b\u000e\u020b\u22d3\u000b\u020b\u0003\u020c\u0003\u020c", + "\u0003\u020c\u0003\u020c\u0007\u020c\u22d9\n\u020c\f\u020c\u000e\u020c", + "\u22dc\u000b\u020c\u0003\u020d\u0003\u020d\u0005\u020d\u22e0\n\u020d", + "\u0003\u020d\u0003\u020d\u0003\u020d\u0003\u020d\u0005\u020d\u22e6\n", + "\u020d\u0003\u020d\u0003\u020d\u0005\u020d\u22ea\n\u020d\u0003\u020d", + "\u0005\u020d\u22ed\n\u020d\u0003\u020e\u0003\u020e\u0003\u020e\u0003", + "\u020e\u0003\u020e\u0003\u020e\u0005\u020e\u22f5\n\u020e\u0003\u020e", + "\u0005\u020e\u22f8\n\u020e\u0003\u020e\u0003\u020e\u0005\u020e\u22fc", + "\n\u020e\u0003\u020e\u0003\u020e\u0005\u020e\u2300\n\u020e\u0003\u020e", + "\u0003\u020e\u0003\u020e\u0005\u020e\u2305\n\u020e\u0003\u020e\u0005", + "\u020e\u2308\n\u020e\u0003\u020e\u0003\u020e\u0005\u020e\u230c\n\u020e", + "\u0003\u020e\u0003\u020e\u0005\u020e\u2310\n\u020e\u0007\u020e\u2312", + "\n\u020e\f\u020e\u000e\u020e\u2315\u000b\u020e\u0003\u020e\u0003\u020e", + "\u0003\u020e\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f", + "\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u020f\u0003\u0210\u0003\u0210", + "\u0007\u0210\u2325\n\u0210\f\u0210\u000e\u0210\u2328\u000b\u0210\u0003", + "\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0003\u0211\u0005\u0211\u232f", + "\n\u0211\u0003\u0212\u0003\u0212\u0005\u0212\u2333\n\u0212\u0003\u0212", + "\u0003\u0212\u0005\u0212\u2337\n\u0212\u0003\u0212\u0003\u0212\u0003", + "\u0213\u0003\u0213\u0005\u0213\u233d\n\u0213\u0003\u0213\u0003\u0213", + "\u0005\u0213\u2341\n\u0213\u0003\u0213\u0003\u0213\u0005\u0213\u2345", + "\n\u0213\u0003\u0213\u0005\u0213\u2348\n\u0213\u0003\u0213\u0005\u0213", + "\u234b\n\u0213\u0003\u0213\u0005\u0213\u234e\n\u0213\u0003\u0213\u0005", + "\u0213\u2351\n\u0213\u0003\u0214\u0003\u0214\u0003\u0214\u0003\u0214", + "\u0007\u0214\u2357\n\u0214\f\u0214\u000e\u0214\u235a\u000b\u0214\u0005", + "\u0214\u235c\n\u0214\u0003\u0215\u0003\u0215\u0003\u0215\u0003\u0216", + "\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0003\u0216\u0005\u0216", + "\u2367\n\u0216\u0005\u0216\u2369\n\u0216\u0003\u0217\u0003\u0217\u0003", + "\u0217\u0007\u0217\u236e\n\u0217\f\u0217\u000e\u0217\u2371\u000b\u0217", + "\u0003\u0218\u0003\u0218\u0007\u0218\u2375\n\u0218\f\u0218\u000e\u0218", + "\u2378\u000b\u0218\u0003\u0218\u0003\u0218\u0005\u0218\u237c\n\u0218", + "\u0003\u0219\u0003\u0219\u0007\u0219\u2380\n\u0219\f\u0219\u000e\u0219", + "\u2383\u000b\u0219\u0003\u0219\u0005\u0219\u2386\n\u0219\u0003\u021a", + "\u0003\u021a\u0003\u021a\u0005\u021a\u238b\n\u021a\u0003\u021a\u0003", + "\u021a\u0003\u021a\u0007\u021a\u2390\n\u021a\f\u021a\u000e\u021a\u2393", + "\u000b\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0005\u021a\u2398\n", + "\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0003\u021a\u0005", + "\u021a\u239f\n\u021a\u0003\u021b\u0005\u021b\u23a2\n\u021b\u0003\u021b", + "\u0005\u021b\u23a5\n\u021b\u0003\u021b\u0003\u021b\u0005\u021b\u23a9", + "\n\u021b\u0003\u021b\u0003\u021b\u0003\u021b\u0005\u021b\u23ae\n\u021b", + "\u0003\u021b\u0003\u021b\u0007\u021b\u23b2\n\u021b\f\u021b\u000e\u021b", + "\u23b5\u000b\u021b\u0003\u021c\u0003\u021c\u0003\u021c\u0003\u021d\u0003", + "\u021d\u0003\u021d\u0003\u021e\u0003\u021e\u0005\u021e\u23bf\n\u021e", + "\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0003\u021f\u0005\u021f", + "\u23c6\n\u021f\u0003\u021f\u0003\u021f\u0005\u021f\u23ca\n\u021f\u0003", + "\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003\u0220\u0003", + "\u0220\u0003\u0220\u0005\u0220\u23d4\n\u0220\u0003\u0221\u0003\u0221", + "\u0005\u0221\u23d8\n\u0221\u0003\u0221\u0003\u0221\u0003\u0221\u0003", + "\u0221\u0007\u0221\u23de\n\u0221\f\u0221\u000e\u0221\u23e1\u000b\u0221", + "\u0003\u0221\u0003\u0221\u0003\u0221\u0003\u0221\u0003\u0222\u0003\u0222", + "\u0003\u0222\u0003\u0222\u0003\u0222\u0005\u0222\u23ec\n\u0222\u0003", + "\u0223\u0003\u0223\u0003\u0223\u0005\u0223\u23f1\n\u0223\u0003\u0224", + "\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0003\u0224\u0007\u0224", + "\u23f9\n\u0224\f\u0224\u000e\u0224\u23fc\u000b\u0224\u0003\u0224\u0003", + "\u0224\u0003\u0224\u0007\u0224\u2401\n\u0224\f\u0224\u000e\u0224\u2404", + "\u000b\u0224\u0005\u0224\u2406\n\u0224\u0003\u0224\u0003\u0224\u0003", + "\u0225\u0003\u0225\u0005\u0225\u240c\n\u0225\u0003\u0226\u0003\u0226", + "\u0003\u0226\u0005\u0226\u2411\n\u0226\u0003\u0226\u0005\u0226\u2414", + "\n\u0226\u0003\u0227\u0003\u0227\u0003\u0227\u0005\u0227\u2419\n\u0227", + "\u0003\u0227\u0003\u0227\u0003\u0227\u0005\u0227\u241e\n\u0227\u0003", + "\u0227\u0003\u0227\u0003\u0227\u0003\u0227\u0003\u0228\u0003\u0228\u0003", + "\u0228\u0003\u0228\u0003\u0228\u0007\u0228\u2429\n\u0228\f\u0228\u000e", + "\u0228\u242c\u000b\u0228\u0003\u0228\u0003\u0228\u0003\u0229\u0003\u0229", + "\u0005\u0229\u2432\n\u0229\u0003\u0229\u0003\u0229\u0003\u0229\u0003", + "\u0229\u0003\u0229\u0003\u0229\u0007\u0229\u243a\n\u0229\f\u0229\u000e", + "\u0229\u243d\u000b\u0229\u0003\u0229\u0003\u0229\u0005\u0229\u2441\n", + "\u0229\u0005\u0229\u2443\n\u0229\u0003\u022a\u0003\u022a\u0003\u022a", + "\u0005\u022a\u2448\n\u022a\u0003\u022a\u0003\u022a\u0005\u022a\u244c", + "\n\u022a\u0003\u022a\u0003\u022a\u0003\u022a\u0003\u022a\u0005\u022a", + "\u2452\n\u022a\u0003\u022a\u0003\u022a\u0005\u022a\u2456\n\u022a\u0003", + "\u022b\u0003\u022b\u0003\u022b\u0003\u022b\u0003\u022c\u0003\u022c\u0003", + "\u022c\u0003\u022c\u0003\u022c\u0007\u022c\u2461\n\u022c\f\u022c\u000e", + "\u022c\u2464\u000b\u022c\u0003\u022c\u0005\u022c\u2467\n\u022c\u0003", + "\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0003\u022c\u0007", + "\u022c\u246f\n\u022c\f\u022c\u000e\u022c\u2472\u000b\u022c\u0005\u022c", + "\u2474\n\u022c\u0005\u022c\u2476\n\u022c\u0003\u022d\u0003\u022d\u0003", + "\u022d\u0005\u022d\u247b\n\u022d\u0003\u022e\u0003\u022e\u0003\u022e", + "\u0003\u022e\u0003\u022e\u0007\u022e\u2482\n\u022e\f\u022e\u000e\u022e", + "\u2485\u000b\u022e\u0003\u022e\u0003\u022e\u0003\u022f\u0003\u022f\u0003", + "\u022f\u0003\u022f\u0003\u022f\u0003\u022f\u0007\u022f\u248f\n\u022f", + "\f\u022f\u000e\u022f\u2492\u000b\u022f\u0003\u022f\u0003\u022f\u0003", + "\u0230\u0003\u0230\u0003\u0230\u0005\u0230\u2499\n\u0230\u0003\u0230", + "\u0003\u0230\u0005\u0230\u249d\n\u0230\u0003\u0231\u0003\u0231\u0003", + "\u0231\u0003\u0232\u0003\u0232\u0007\u0232\u24a4\n\u0232\f\u0232\u000e", + "\u0232\u24a7\u000b\u0232\u0003\u0232\u0005\u0232\u24aa\n\u0232\u0003", + "\u0232\u0007\u0232\u24ad\n\u0232\f\u0232\u000e\u0232\u24b0\u000b\u0232", + "\u0003\u0232\u0003\u0232\u0003\u0233\u0003\u0233\u0003\u0233\u0003\u0233", + "\u0003\u0233\u0003\u0233\u0005\u0233\u24ba\n\u0233\u0005\u0233\u24bc", + "\n\u0233\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0234\u0003\u0235", + "\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235\u0003\u0235", + "\u0003\u0235\u0007\u0235\u24ca\n\u0235\f\u0235\u000e\u0235\u24cd\u000b", + "\u0235\u0003\u0236\u0003\u0236\u0005\u0236\u24d1\n\u0236\u0003\u0236", + "\u0003\u0236\u0007\u0236\u24d5\n\u0236\f\u0236\u000e\u0236\u24d8\u000b", + "\u0236\u0003\u0236\u0003\u0236\u0003\u0237\u0005\u0237\u24dd\n\u0237", + "\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237\u0003\u0237", + "\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0238\u0003\u0239\u0003\u0239", + "\u0003\u0239\u0003\u0239\u0007\u0239\u24ed\n\u0239\f\u0239\u000e\u0239", + "\u24f0\u000b\u0239\u0003\u0239\u0003\u0239\u0003\u023a\u0003\u023a\u0005", + "\u023a\u24f6\n\u023a\u0003\u023a\u0005\u023a\u24f9\n\u023a\u0003\u023b", + "\u0005\u023b\u24fc\n\u023b\u0003\u023b\u0003\u023b\u0003\u023b\u0003", + "\u023b\u0007\u023b\u2502\n\u023b\f\u023b\u000e\u023b\u2505\u000b\u023b", + "\u0005\u023b\u2507\n\u023b\u0003\u023b\u0003\u023b\u0003\u023c\u0003", + "\u023c\u0003\u023c\u0003\u023c\u0005\u023c\u250f\n\u023c\u0005\u023c", + "\u2511\n\u023c\u0003\u023c\u0003\u023c\u0005\u023c\u2515\n\u023c\u0003", + "\u023c\u0005\u023c\u2518\n\u023c\u0003\u023d\u0003\u023d\u0003\u023d", + "\u0005\u023d\u251d\n\u023d\u0005\u023d\u251f\n\u023d\u0003\u023d\u0003", + "\u023d\u0005\u023d\u2523\n\u023d\u0003\u023d\u0003\u023d\u0003\u023d", + "\u0003\u023e\u0003\u023e\u0003\u023f\u0003\u023f\u0003\u023f\u0003\u023f", + "\u0003\u023f\u0005\u023f\u252f\n\u023f\u0003\u0240\u0003\u0240\u0003", + "\u0240\u0003\u0240\u0003\u0240\u0003\u0241\u0003\u0241\u0005\u0241\u2538", + "\n\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0003\u0241\u0007\u0241", + "\u253e\n\u0241\f\u0241\u000e\u0241\u2541\u000b\u0241\u0003\u0242\u0003", + "\u0242\u0005\u0242\u2545\n\u0242\u0003\u0242\u0003\u0242\u0005\u0242", + "\u2549\n\u0242\u0003\u0243\u0003\u0243\u0003\u0243\u0003\u0243\u0003", + "\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0005\u0244\u2553\n\u0244", + "\u0005\u0244\u2555\n\u0244\u0003\u0244\u0003\u0244\u0003\u0244\u0003", + "\u0244\u0005\u0244\u255b\n\u0244\u0003\u0245\u0003\u0245\u0003\u0245", + "\u0005\u0245\u2560\n\u0245\u0003\u0245\u0005\u0245\u2563\n\u0245\u0003", + "\u0246\u0003\u0246\u0003\u0246\u0003\u0247\u0003\u0247\u0003\u0247\u0003", + "\u0247\u0003\u0247\u0005\u0247\u256d\n\u0247\u0003\u0248\u0003\u0248", + "\u0003\u0248\u0003\u0248\u0005\u0248\u2573\n\u0248\u0003\u0248\u0005", + "\u0248\u2576\n\u0248\u0003\u0248\u0005\u0248\u2579\n\u0248\u0003\u0249", + "\u0003\u0249\u0003\u0249\u0003\u0249\u0007\u0249\u257f\n\u0249\f\u0249", + "\u000e\u0249\u2582\u000b\u0249\u0003\u0249\u0003\u0249\u0003\u0249\u0003", + "\u0249\u0003\u0249\u0003\u0249\u0003\u0249\u0005\u0249\u258b\n\u0249", + "\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a\u0003\u024a", + "\u0003\u024a\u0003\u024a\u0005\u024a\u2595\n\u024a\u0003\u024b\u0003", + "\u024b\u0005\u024b\u2599\n\u024b\u0003\u024b\u0003\u024b\u0005\u024b", + "\u259d\n\u024b\u0003\u024b\u0005\u024b\u25a0\n\u024b\u0003\u024b\u0005", + "\u024b\u25a3\n\u024b\u0003\u024c\u0003\u024c\u0003\u024c\u0005\u024c", + "\u25a8\n\u024c\u0003\u024d\u0003\u024d\u0003\u024d\u0005\u024d\u25ad", + "\n\u024d\u0003\u024d\u0005\u024d\u25b0\n\u024d\u0003\u024d\u0005\u024d", + "\u25b3\n\u024d\u0003\u024e\u0003\u024e\u0006\u024e\u25b7\n\u024e\r\u024e", + "\u000e\u024e\u25b8\u0003\u024e\u0005\u024e\u25bc\n\u024e\u0003\u024e", + "\u0003\u024e\u0003\u024f\u0003\u024f\u0005\u024f\u25c2\n\u024f\u0003", + "\u024f\u0005\u024f\u25c5\n\u024f\u0003\u0250\u0005\u0250\u25c8\n\u0250", + "\u0003\u0250\u0006\u0250\u25cb\n\u0250\r\u0250\u000e\u0250\u25cc\u0003", + "\u0250\u0005\u0250\u25d0\n\u0250\u0003\u0251\u0003\u0251\u0003\u0251", + "\u0003\u0251\u0006\u0251\u25d6\n\u0251\r\u0251\u000e\u0251\u25d7\u0003", + "\u0252\u0003\u0252\u0006\u0252\u25dc\n\u0252\r\u0252\u000e\u0252\u25dd", + "\u0003\u0253\u0003\u0253\u0003\u0253\u0005\u0253\u25e3\n\u0253\u0003", + "\u0254\u0003\u0254\u0003\u0254\u0005\u0254\u25e8\n\u0254\u0003\u0254", + "\u0003\u0254\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0005\u0255", + "\u25f0\n\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0003", + "\u0255\u0003\u0255\u0003\u0255\u0003\u0255\u0005\u0255\u25fa\n\u0255", + "\u0003\u0255\u0003\u0255\u0005\u0255\u25fe\n\u0255\u0005\u0255\u2600", + "\n\u0255\u0003\u0255\u0005\u0255\u2603\n\u0255\u0003\u0256\u0003\u0256", + "\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256\u0003\u0256", + "\u0007\u0256\u260d\n\u0256\f\u0256\u000e\u0256\u2610\u000b\u0256\u0003", + "\u0256\u0005\u0256\u2613\n\u0256\u0003\u0256\u0005\u0256\u2616\n\u0256", + "\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0257\u0003\u0258\u0003\u0258", + "\u0003\u0258\u0003\u0259\u0003\u0259\u0003\u0259\u0003\u0259\u0003\u0259", + "\u0003\u0259\u0005\u0259\u2625\n\u0259\u0003\u0259\u0003\u0259\u0003", + "\u0259\u0005\u0259\u262a\n\u0259\u0003\u0259\u0003\u0259\u0005\u0259", + "\u262e\n\u0259\u0003\u025a\u0003\u025a\u0003\u025a\u0003\u025a\u0003", + "\u025a\u0005\u025a\u2635\n\u025a\u0003\u025a\u0005\u025a\u2638\n\u025a", + "\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0003\u025b\u0007\u025b", + "\u263f\n\u025b\f\u025b\u000e\u025b\u2642\u000b\u025b\u0003\u025b\u0003", + "\u025b\u0003\u025b\u0003\u025b\u0005\u025b\u2648\n\u025b\u0003\u025c", + "\u0003\u025c\u0003\u025c\u0005\u025c\u264d\n\u025c\u0003\u025d\u0003", + "\u025d\u0005\u025d\u2651\n\u025d\u0003\u025e\u0003\u025e\u0003\u025e", + "\u0003\u025e\u0003\u025e\u0003\u025e\u0005\u025e\u2659\n\u025e\u0003", + "\u025e\u0003\u025e\u0003\u025e\u0003\u025e\u0005\u025e\u265f\n\u025e", + "\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f\u0003\u025f", + "\u0005\u025f\u2667\n\u025f\u0003\u025f\u0005\u025f\u266a\n\u025f\u0003", + "\u0260\u0003\u0260\u0003\u0260\u0003\u0260\u0003\u0261\u0003\u0261\u0003", + "\u0261\u0005\u0261\u2673\n\u0261\u0003\u0261\u0005\u0261\u2676\n\u0261", + "\u0003\u0261\u0005\u0261\u2679\n\u0261\u0003\u0262\u0003\u0262\u0003", + "\u0262\u0003\u0263\u0003\u0263\u0003\u0263\u0003\u0263\u0005\u0263\u2682", + "\n\u0263\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0005\u0264", + "\u2688\n\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0003\u0264\u0005", + "\u0264\u268e\n\u0264\u0005\u0264\u2690\n\u0264\u0003\u0265\u0003\u0265", + "\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0265\u0003\u0265", + "\u0003\u0265\u0005\u0265\u269b\n\u0265\u0005\u0265\u269d\n\u0265\u0003", + "\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003\u0266\u0003", + "\u0266\u0005\u0266\u26a6\n\u0266\u0005\u0266\u26a8\n\u0266\u0003\u0267", + "\u0003\u0267\u0005\u0267\u26ac\n\u0267\u0003\u0267\u0003\u0267\u0003", + "\u0267\u0003\u0267\u0005\u0267\u26b2\n\u0267\u0003\u0267\u0003\u0267", + "\u0005\u0267\u26b6\n\u0267\u0003\u0268\u0003\u0268\u0003\u0268\u0003", + "\u0268\u0003\u0268\u0003\u0269\u0003\u0269\u0003\u026a\u0003\u026a\u0003", + "\u026a\u0007\u026a\u26c2\n\u026a\f\u026a\u000e\u026a\u26c5\u000b\u026a", + "\u0003\u026b\u0003\u026b\u0005\u026b\u26c9\n\u026b\u0003\u026c\u0003", + "\u026c\u0003\u026c\u0003\u026c\u0003\u026c\u0003\u026d\u0003\u026d\u0003", + "\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003\u026d\u0003", + "\u026d\u0007\u026d\u26d9\n\u026d\f\u026d\u000e\u026d\u26dc\u000b\u026d", + "\u0003\u026e\u0005\u026e\u26df\n\u026e\u0003\u026e\u0003\u026e\u0003", + "\u026e\u0005\u026e\u26e4\n\u026e\u0003\u026e\u0007\u026e\u26e7\n\u026e", + "\f\u026e\u000e\u026e\u26ea\u000b\u026e\u0003\u026f\u0003\u026f\u0003", + "\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0003", + "\u026f\u0005\u026f\u26f5\n\u026f\u0003\u026f\u0003\u026f\u0005\u026f", + "\u26f9\n\u026f\u0003\u026f\u0003\u026f\u0003\u026f\u0007\u026f\u26fe", + "\n\u026f\f\u026f\u000e\u026f\u2701\u000b\u026f\u0003\u026f\u0003\u026f", + "\u0005\u026f\u2705\n\u026f\u0003\u0270\u0003\u0270\u0003\u0270\u0005", + "\u0270\u270a\n\u0270\u0003\u0270\u0005\u0270\u270d\n\u0270\u0003\u0271", + "\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271\u0003\u0271", + "\u0007\u0271\u2716\n\u0271\f\u0271\u000e\u0271\u2719\u000b\u0271\u0003", + "\u0272\u0003\u0272\u0005\u0272\u271d\n\u0272\u0003\u0272\u0003\u0272", + "\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272\u0003\u0272", + "\u0005\u0272\u2727\n\u0272\u0005\u0272\u2729\n\u0272\u0005\u0272\u272b", + "\n\u0272\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273\u0003\u0273", + "\u0003\u0273\u0003\u0273\u0003\u0273\u0005\u0273\u2735\n\u0273\u0003", + "\u0273\u0003\u0273\u0005\u0273\u2739\n\u0273\u0005\u0273\u273b\n\u0273", + "\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274", + "\u0003\u0274\u0003\u0274\u0007\u0274\u2745\n\u0274\f\u0274\u000e\u0274", + "\u2748\u000b\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003\u0274\u0003", + "\u0274\u0005\u0274\u274f\n\u0274\u0003\u0275\u0003\u0275\u0003\u0275", + "\u0003\u0275\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276", + "\u0003\u0276\u0003\u0276\u0005\u0276\u275c\n\u0276\u0003\u0276\u0005", + "\u0276\u275f\n\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276", + "\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276\u0003\u0276", + "\u0007\u0276\u276b\n\u0276\f\u0276\u000e\u0276\u276e\u000b\u0276\u0003", + "\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0005\u0277\u2775", + "\n\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277\u0003\u0277", + "\u0003\u0277\u0005\u0277\u277d\n\u0277\u0003\u0277\u0003\u0277\u0003", + "\u0277\u0003\u0277\u0003\u0277\u0005\u0277\u2784\n\u0277\u0003\u0277", + "\u0003\u0277\u0005\u0277\u2788\n\u0277\u0003\u0278\u0003\u0278\u0003", + "\u0278\u0003\u0278\u0003\u0278\u0005\u0278\u278f\n\u0278\u0003\u0279", + "\u0003\u0279\u0005\u0279\u2793\n\u0279\u0003\u0279\u0003\u0279\u0003", + "\u0279\u0005\u0279\u2798\n\u0279\u0007\u0279\u279a\n\u0279\f\u0279\u000e", + "\u0279\u279d\u000b\u0279\u0003\u0279\u0003\u0279\u0003\u0279\u0007\u0279", + "\u27a2\n\u0279\f\u0279\u000e\u0279\u27a5\u000b\u0279\u0003\u0279\u0005", + "\u0279\u27a8\n\u0279\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a", + "\u0003\u027a\u0005\u027a\u27af\n\u027a\u0003\u027a\u0003\u027a\u0003", + "\u027a\u0005\u027a\u27b4\n\u027a\u0003\u027a\u0003\u027a\u0003\u027a", + "\u0003\u027a\u0003\u027a\u0003\u027a\u0003\u027a\u0005\u027a\u27bd\n", + "\u027a\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003\u027b\u0003", + "\u027b\u0003\u027b\u0005\u027b\u27c6\n\u027b\u0003\u027b\u0005\u027b", + "\u27c9\n\u027b\u0003\u027b\u0003\u027b\u0003\u027c\u0003\u027c\u0003", + "\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003", + "\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003\u027c\u0003", + "\u027c\u0003\u027c\u0005\u027c\u27dd\n\u027c\u0003\u027d\u0003\u027d", + "\u0005\u027d\u27e1\n\u027d\u0003\u027e\u0005\u027e\u27e4\n\u027e\u0003", + "\u027e\u0003\u027e\u0003\u027e\u0006\u027e\u27e9\n\u027e\r\u027e\u000e", + "\u027e\u27ea\u0003\u027e\u0005\u027e\u27ee\n\u027e\u0003\u027e\u0003", + "\u027e\u0005\u027e\u27f2\n\u027e\u0003\u027e\u0005\u027e\u27f5\n\u027e", + "\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u027f\u0003\u027f\u0005\u027f", + "\u27fc\n\u027f\u0003\u0280\u0005\u0280\u27ff\n\u0280\u0003\u0280\u0003", + "\u0280\u0006\u0280\u2803\n\u0280\r\u0280\u000e\u0280\u2804\u0003\u0280", + "\u0005\u0280\u2808\n\u0280\u0003\u0280\u0003\u0280\u0005\u0280\u280c", + "\n\u0280\u0003\u0280\u0005\u0280\u280f\n\u0280\u0003\u0281\u0003\u0281", + "\u0003\u0281\u0003\u0281\u0003\u0281\u0005\u0281\u2816\n\u0281\u0003", + "\u0282\u0003\u0282\u0003\u0282\u0005\u0282\u281b\n\u0282\u0003\u0283", + "\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003\u0283", + "\u0003\u0283\u0003\u0283\u0003\u0283\u0007\u0283\u2827\n\u0283\f\u0283", + "\u000e\u0283\u282a\u000b\u0283\u0003\u0283\u0003\u0283\u0003\u0283\u0003", + "\u0283\u0005\u0283\u2830\n\u0283\u0003\u0284\u0003\u0284\u0003\u0284", + "\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284\u0003\u0284", + "\u0005\u0284\u283b\n\u0284\u0003\u0285\u0003\u0285\u0003\u0285\u0003", + "\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0005\u0285\u2844\n\u0285", + "\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285", + "\u0003\u0285\u0005\u0285\u284d\n\u0285\u0003\u0285\u0003\u0285\u0005", + "\u0285\u2851\n\u0285\u0003\u0285\u0003\u0285\u0005\u0285\u2855\n\u0285", + "\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285", + "\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285", + "\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285", + "\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285", + "\u0005\u0285\u286f\n\u0285\u0003\u0285\u0005\u0285\u2872\n\u0285\u0003", + "\u0285\u0005\u0285\u2875\n\u0285\u0003\u0285\u0003\u0285\u0003\u0285", + "\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0003\u0285\u0005\u0285", + "\u287f\n\u0285\u0003\u0285\u0003\u0285\u0005\u0285\u2883\n\u0285\u0003", + "\u0286\u0003\u0286\u0003\u0286\u0005\u0286\u2888\n\u0286\u0003\u0287", + "\u0003\u0287\u0003\u0287\u0003\u0287\u0005\u0287\u288e\n\u0287\u0003", + "\u0288\u0003\u0288\u0003\u0288\u0005\u0288\u2893\n\u0288\u0003\u0289", + "\u0003\u0289\u0003\u0289\u0005\u0289\u2898\n\u0289\u0003\u0289\u0003", + "\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0005", + "\u0289\u28a1\n\u0289\u0003\u0289\u0005\u0289\u28a4\n\u0289\u0005\u0289", + "\u28a6\n\u0289\u0003\u0289\u0003\u0289\u0005\u0289\u28aa\n\u0289\u0003", + "\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0005\u0289\u28b1", + "\n\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289", + "\u0005\u0289\u28b8\n\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003", + "\u0289\u0003\u0289\u0003\u0289\u0005\u0289\u28c0\n\u0289\u0003\u0289", + "\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289", + "\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289\u0003\u0289", + "\u0005\u0289\u28cf\n\u0289\u0003\u028a\u0003\u028a\u0003\u028a\u0005", + "\u028a\u28d4\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a", + "\u28d9\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005", + "\u028a\u28df\n\u028a\u0003\u028a\u0005\u028a\u28e2\n\u028a\u0003\u028a", + "\u0003\u028a\u0005\u028a\u28e6\n\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005", + "\u028a\u28f0\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a", + "\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a", + "\u0005\u028a\u28fc\n\u028a\u0005\u028a\u28fe\n\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u2905\n\u028a", + "\u0003\u028a\u0003\u028a\u0005\u028a\u2909\n\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0006\u028a\u2910\n\u028a", + "\r\u028a\u000e\u028a\u2911\u0003\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u291b\n\u028a", + "\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a", + "\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a", + "\u0005\u028a\u2929\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u2931\n\u028a\u0003\u028a", + "\u0005\u028a\u2934\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u293d\n\u028a", + "\u0003\u028a\u0003\u028a\u0007\u028a\u2941\n\u028a\f\u028a\u000e\u028a", + "\u2944\u000b\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u294d\n\u028a\u0003\u028a", + "\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a", + "\u2955\n\u028a\u0003\u028a\u0005\u028a\u2958\n\u028a\u0003\u028a\u0005", + "\u028a\u295b\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a", + "\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u2964\n\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u2969\n\u028a\u0003\u028a", + "\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0007\u028a\u2970\n", + "\u028a\f\u028a\u000e\u028a\u2973\u000b\u028a\u0003\u028a\u0003\u028a", + "\u0003\u028a\u0005\u028a\u2978\n\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0005\u028a\u297d\n\u028a\u0003\u028a\u0005\u028a\u2980\n\u028a", + "\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u2985\n\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u298a\n\u028a\u0007\u028a", + "\u298c\n\u028a\f\u028a\u000e\u028a\u298f\u000b\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0005\u028a\u2994\n\u028a\u0003\u028a\u0003\u028a", + "\u0003\u028a\u0003\u028a\u0005\u028a\u299a\n\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005", + "\u028a\u29a3\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a", + "\u29a8\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0005\u028a\u29b0\n\u028a\u0003\u028a\u0003\u028a", + "\u0005\u028a\u29b4\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005", + "\u028a\u29b9\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003\u028a", + "\u0005\u028a\u29bf\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0005\u028a\u29c6\n\u028a\u0003\u028a\u0003\u028a", + "\u0003\u028a\u0005\u028a\u29cb\n\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u29d2\n\u028a\u0003\u028a", + "\u0003\u028a\u0005\u028a\u29d6\n\u028a\u0003\u028a\u0003\u028a\u0003", + "\u028a\u0005\u028a\u29db\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a", + "\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a\u29e3\n\u028a\u0003", + "\u028a\u0005\u028a\u29e6\n\u028a\u0003\u028a\u0005\u028a\u29e9\n\u028a", + "\u0003\u028a\u0005\u028a\u29ec\n\u028a\u0003\u028a\u0003\u028a\u0005", + "\u028a\u29f0\n\u028a\u0003\u028a\u0003\u028a\u0003\u028a\u0005\u028a", + "\u29f5\n\u028a\u0003\u028a\u0005\u028a\u29f8\n\u028a\u0003\u028b\u0003", + "\u028b\u0003\u028c\u0003\u028c\u0003\u028d\u0003\u028d\u0003\u028e\u0003", + "\u028e\u0003\u028e\u0005\u028e\u2a03\n\u028e\u0003\u028e\u0003\u028e", + "\u0005\u028e\u2a07\n\u028e\u0005\u028e\u2a09\n\u028e\u0003\u028e\u0003", + "\u028e\u0003\u028f\u0003\u028f\u0003\u028f\u0003\u028f\u0003\u028f\u0003", + "\u028f\u0003\u028f\u0005\u028f\u2a14\n\u028f\u0003\u0290\u0003\u0290", + "\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291\u0003\u0291", + "\u0003\u0291\u0005\u0291\u2a1f\n\u0291\u0003\u0292\u0003\u0292\u0003", + "\u0292\u0003\u0292\u0003\u0292\u0007\u0292\u2a26\n\u0292\f\u0292\u000e", + "\u0292\u2a29\u000b\u0292\u0005\u0292\u2a2b\n\u0292\u0003\u0293\u0003", + "\u0293\u0005\u0293\u2a2f\n\u0293\u0003\u0293\u0005\u0293\u2a32\n\u0293", + "\u0003\u0293\u0003\u0293\u0003\u0294\u0003\u0294\u0003\u0294\u0003\u0294", + "\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295\u0003\u0295", + "\u0003\u0295\u0005\u0295\u2a41\n\u0295\u0003\u0296\u0003\u0296\u0003", + "\u0296\u0005\u0296\u2a46\n\u0296\u0003\u0296\u0003\u0296\u0003\u0296", + "\u0003\u0296\u0007\u0296\u2a4c\n\u0296\f\u0296\u000e\u0296\u2a4f\u000b", + "\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0003\u0296\u0005\u0296\u2a55", + "\n\u0296\u0003\u0296\u0003\u0296\u0005\u0296\u2a59\n\u0296\u0003\u0297", + "\u0003\u0297\u0003\u0297\u0005\u0297\u2a5e\n\u0297\u0003\u0297\u0003", + "\u0297\u0005\u0297\u2a62\n\u0297\u0003\u0297\u0003\u0297\u0003\u0297", + "\u0005\u0297\u2a67\n\u0297\u0007\u0297\u2a69\n\u0297\f\u0297\u000e\u0297", + "\u2a6c\u000b\u0297\u0003\u0298\u0003\u0298\u0003\u0298\u0005\u0298\u2a71", + "\n\u0298\u0003\u0298\u0005\u0298\u2a74\n\u0298\u0003\u0298\u0003\u0298", + "\u0003\u0298\u0007\u0298\u2a79\n\u0298\f\u0298\u000e\u0298\u2a7c\u000b", + "\u0298\u0003\u0298\u0003\u0298\u0003\u0299\u0003\u0299\u0003\u0299\u0003", + "\u0299\u0003\u0299\u0005\u0299\u2a85\n\u0299\u0003\u0299\u0003\u0299", + "\u0003\u0299\u0003\u0299\u0007\u0299\u2a8b\n\u0299\f\u0299\u000e\u0299", + "\u2a8e\u000b\u0299\u0003\u0299\u0005\u0299\u2a91\n\u0299\u0003\u0299", + "\u0003\u0299\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029a\u0003\u029a", + "\u0003\u029a\u0005\u029a\u2a9b\n\u029a\u0003\u029a\u0005\u029a\u2a9e", + "\n\u029a\u0005\u029a\u2aa0\n\u029a\u0003\u029b\u0003\u029b\u0003\u029b", + "\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0003\u029c\u0005\u029c", + "\u2aaa\n\u029c\u0005\u029c\u2aac\n\u029c\u0003\u029d\u0003\u029d\u0003", + "\u029d\u0003\u029d\u0005\u029d\u2ab2\n\u029d\u0003\u029e\u0003\u029e", + "\u0003\u029e\u0003\u029e\u0005\u029e\u2ab8\n\u029e\u0005\u029e\u2aba", + "\n\u029e\u0003\u029f\u0003\u029f\u0003\u029f\u0003\u02a0\u0003\u02a0", + "\u0003\u02a0\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1\u0003\u02a1", + "\u0003\u02a1\u0005\u02a1\u2ac8\n\u02a1\u0005\u02a1\u2aca\n\u02a1\u0003", + "\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003\u02a2\u0003", + "\u02a2\u0003\u02a2\u0005\u02a2\u2ad4\n\u02a2\u0003\u02a3\u0003\u02a3", + "\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0005\u02a3", + "\u2add\n\u02a3\u0003\u02a3\u0003\u02a3\u0003\u02a3\u0005\u02a3\u2ae2", + "\n\u02a3\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4\u0003\u02a4", + "\u0003\u02a4\u0003\u02a4\u0005\u02a4\u2aeb\n\u02a4\u0003\u02a5\u0003", + "\u02a5\u0005\u02a5\u2aef\n\u02a5\u0003\u02a5\u0003\u02a5\u0005\u02a5", + "\u2af3\n\u02a5\u0003\u02a5\u0003\u02a5\u0003\u02a6\u0005\u02a6\u2af8", + "\n\u02a6\u0003\u02a6\u0003\u02a6\u0005\u02a6\u2afc\n\u02a6\u0003\u02a6", + "\u0005\u02a6\u2aff\n\u02a6\u0003\u02a7\u0003\u02a7\u0005\u02a7\u2b03", + "\n\u02a7\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003\u02a8\u0003\u02a8", + "\u0005\u02a8\u2b0a\n\u02a8\u0003\u02a9\u0003\u02a9\u0005\u02a9\u2b0e", + "\n\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0003\u02a9\u0007\u02a9", + "\u2b14\n\u02a9\f\u02a9\u000e\u02a9\u2b17\u000b\u02a9\u0003\u02aa\u0003", + "\u02aa\u0005\u02aa\u2b1b\n\u02aa\u0003\u02ab\u0003\u02ab\u0003\u02ac", + "\u0003\u02ac\u0003\u02ad\u0003\u02ad\u0003\u02ae\u0003\u02ae\u0003\u02af", + "\u0003\u02af\u0003\u02b0\u0003\u02b0\u0003\u02b1\u0003\u02b1\u0003\u02b1", + "\u0007\u02b1\u2b2c\n\u02b1\f\u02b1\u000e\u02b1\u2b2f\u000b\u02b1\u0003", + "\u02b1\u0003\u02b1\u0005\u02b1\u2b33\n\u02b1\u0003\u02b2\u0003\u02b2", + "\u0003\u02b3\u0003\u02b3\u0003\u02b3\u0005\u02b3\u2b3a\n\u02b3\u0003", + "\u02b4\u0003\u02b4\u0003\u02b5\u0003\u02b5\u0003\u02b6\u0003\u02b6\u0003", + "\u02b7\u0003\u02b7\u0003\u02b7\u0005\u02b7\u2b45\n\u02b7\u0003\u02b8", + "\u0003\u02b8\u0003\u02b8\u0007\u02b8\u2b4a\n\u02b8\f\u02b8\u000e\u02b8", + "\u2b4d\u000b\u02b8\u0003\u02b9\u0003\u02b9\u0003\u02ba\u0003\u02ba\u0005", + "\u02ba\u2b53\n\u02ba\u0003\u02bb\u0003\u02bb\u0005\u02bb\u2b57\n\u02bb", + "\u0003\u02bc\u0003\u02bc\u0003\u02bc\u0007\u02bc\u2b5c\n\u02bc\f\u02bc", + "\u000e\u02bc\u2b5f\u000b\u02bc\u0003\u02bc\u0003\u02bc\u0005\u02bc\u2b63", + "\n\u02bc\u0003\u02bd\u0003\u02bd\u0003\u02be\u0003\u02be\u0003\u02be", + "\u0007\u02be\u2b6a\n\u02be\f\u02be\u000e\u02be\u2b6d\u000b\u02be\u0003", + "\u02bf\u0003\u02bf\u0003\u02bf\u0007\u02bf\u2b72\n\u02bf\f\u02bf\u000e", + "\u02bf\u2b75\u000b\u02bf\u0003\u02c0\u0003\u02c0\u0003\u02c0\u0007\u02c0", + "\u2b7a\n\u02c0\f\u02c0\u000e\u02c0\u2b7d\u000b\u02c0\u0003\u02c1\u0003", + "\u02c1\u0003\u02c1\u0005\u02c1\u2b82\n\u02c1\u0003\u02c2\u0003\u02c2", + "\u0003\u02c2\u0005\u02c2\u2b87\n\u02c2\u0003\u02c3\u0003\u02c3\u0003", + "\u02c3\u0005\u02c3\u2b8c\n\u02c3\u0003\u02c4\u0003\u02c4\u0005\u02c4", + "\u2b90\n\u02c4\u0003\u02c4\u0003\u02c4\u0003\u02c4\u0005\u02c4\u2b95", + "\n\u02c4\u0003\u02c4\u0005\u02c4\u2b98\n\u02c4\u0003\u02c5\u0003\u02c5", + "\u0003\u02c5\u0005\u02c5\u2b9d\n\u02c5\u0003\u02c6\u0003\u02c6\u0005", + "\u02c6\u2ba1\n\u02c6\u0003\u02c7\u0003\u02c7\u0005\u02c7\u2ba5\n\u02c7", + "\u0003\u02c8\u0003\u02c8\u0003\u02c8\u0005\u02c8\u2baa\n\u02c8\u0003", + "\u02c9\u0003\u02c9\u0003\u02ca\u0003\u02ca\u0003\u02ca\u0007\u02ca\u2bb1", + "\n\u02ca\f\u02ca\u000e\u02ca\u2bb4\u000b\u02ca\u0003\u02cb\u0003\u02cb", + "\u0003\u02cb\u0005\u02cb\u2bb9\n\u02cb\u0003\u02cb\u0003\u02cb\u0003", + "\u02cb\u0005\u02cb\u2bbe\n\u02cb\u0003\u02cb\u0003\u02cb\u0005\u02cb", + "\u2bc2\n\u02cb\u0005\u02cb\u2bc4\n\u02cb\u0003\u02cc\u0003\u02cc\u0003", + "\u02cc\u0003\u02cc\u0003\u02cc\u0005\u02cc\u2bcb\n\u02cc\u0003\u02cc", + "\u0003\u02cc\u0005\u02cc\u2bcf\n\u02cc\u0003\u02cc\u0003\u02cc\u0003", + "\u02cc\u0003\u02cc\u0007\u02cc\u2bd5\n\u02cc\f\u02cc\u000e\u02cc\u2bd8", + "\u000b\u02cc\u0005\u02cc\u2bda\n\u02cc\u0003\u02cc\u0003\u02cc\u0003", + "\u02cc\u0005\u02cc\u2bdf\n\u02cc\u0003\u02cd\u0003\u02cd\u0003\u02cd", + "\u0007\u02cd\u2be4\n\u02cd\f\u02cd\u000e\u02cd\u2be7\u000b\u02cd\u0003", + "\u02ce\u0003\u02ce\u0003\u02cf\u0003\u02cf\u0003\u02d0\u0003\u02d0\u0003", + "\u02d1\u0003\u02d1\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003", + "\u02d2\u0007\u02d2\u2bf6\n\u02d2\f\u02d2\u000e\u02d2\u2bf9\u000b\u02d2", + "\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2", + "\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2\u0003\u02d2", + "\u0003\u02d2\u0003\u02d2\u0005\u02d2\u2c09\n\u02d2\u0003\u02d3\u0003", + "\u02d3\u0003\u02d3\u0007\u02d3\u2c0e\n\u02d3\f\u02d3\u000e\u02d3\u2c11", + "\u000b\u02d3\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d4\u0003\u02d5", + "\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5\u0003\u02d5", + "\u0005\u02d5\u2c1e\n\u02d5\u0003\u02d6\u0003\u02d6\u0003\u02d6\u0003", + "\u02d6\u0007\u02d6\u2c24\n\u02d6\f\u02d6\u000e\u02d6\u2c27\u000b\u02d6", + "\u0005\u02d6\u2c29\n\u02d6\u0003\u02d6\u0003\u02d6\u0005\u02d6\u2c2d", + "\n\u02d6\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0005\u02d7\u2c32\n\u02d7", + "\u0003\u02d7\u0003\u02d7\u0003\u02d7\u0005\u02d7\u2c37\n\u02d7\u0007", + "\u02d7\u2c39\n\u02d7\f\u02d7\u000e\u02d7\u2c3c\u000b\u02d7\u0005\u02d7", + "\u2c3e\n\u02d7\u0003\u02d7\u0003\u02d7\u0005\u02d7\u2c42\n\u02d7\u0003", + "\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0005\u02d8\u2c49", + "\n\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0005\u02d8\u2c4e\n\u02d8", + "\u0005\u02d8\u2c50\n\u02d8\u0005\u02d8\u2c52\n\u02d8\u0003\u02d8\u0003", + "\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8\u0003", + "\u02d8\u0005\u02d8\u2c5c\n\u02d8\u0003\u02d8\u0003\u02d8\u0003\u02d8", + "\u0005\u02d8\u2c61\n\u02d8\u0007\u02d8\u2c63\n\u02d8\f\u02d8\u000e\u02d8", + "\u2c66\u000b\u02d8\u0005\u02d8\u2c68\n\u02d8\u0003\u02d8\u0003\u02d8", + "\u0005\u02d8\u2c6c\n\u02d8\u0003\u02d9\u0003\u02d9\u0003\u02d9\u0003", + "\u02da\u0003\u02da\u0003\u02da\u0003\u02da\u0005\u02da\u2c75\n\u02da", + "\u0003\u02da\u0003\u02da\u0003\u02db\u0003\u02db\u0005\u02db\u2c7b\n", + "\u02db\u0003\u02db\u0003\u02db\u0005\u02db\u2c7f\n\u02db\u0005\u02db", + "\u2c81\n\u02db\u0003\u02dc\u0003\u02dc\u0005\u02dc\u2c85\n\u02dc\u0003", + "\u02dc\u0003\u02dc\u0005\u02dc\u2c89\n\u02dc\u0003\u02dc\u0003\u02dc", + "\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0005\u02dc\u2c90\n\u02dc\u0003", + "\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0005", + "\u02dc\u2c98\n\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc\u0003\u02dc", + "\u0003\u02dc\u0003\u02dc\u0005\u02dc\u2ca0\n\u02dc\u0005\u02dc\u2ca2", + "\n\u02dc\u0003\u02dd\u0003\u02dd\u0003\u02dd\u0005\u02dd\u2ca7\n\u02dd", + "\u0003\u02dd\u0003\u02dd\u0005\u02dd\u2cab\n\u02dd\u0003\u02dd\u0005", + "\u02dd\u2cae\n\u02dd\u0003\u02dd\u0003\u02dd\u0003\u02de\u0003\u02de", + "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", + "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", + "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", + "\u0005\u02de\u2cc6\n\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003", + "\u02de\u0003\u02de\u0005\u02de\u2ccd\n\u02de\u0003\u02de\u0003\u02de", + "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", + "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", + "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", + "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de", + "\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0003\u02de\u0005\u02de", + "\u2cee\n\u02de\u0003\u02df\u0003\u02df\u0003\u02df\u0005\u02df\u2cf3", + "\n\u02df\u0003\u02df\u0005\u02df\u2cf6\n\u02df\u0003\u02df\u0003\u02df", + "\u0003\u02df\u0005\u02df\u2cfb\n\u02df\u0005\u02df\u2cfd\n\u02df\u0003", + "\u02df\u0003\u02df\u0007\u02df\u2d01\n\u02df\f\u02df\u000e\u02df\u2d04", + "\u000b\u02df\u0003\u02e0\u0003\u02e0\u0003\u02e0\u0007\u02e0\u2d09\n", + "\u02e0\f\u02e0\u000e\u02e0\u2d0c\u000b\u02e0\u0003\u02e1\u0003\u02e1", + "\u0005\u02e1\u2d10\n\u02e1\u0003\u02e1\u0003\u02e1\u0003\u02e1\u0007", + "\u02e1\u2d15\n\u02e1\f\u02e1\u000e\u02e1\u2d18\u000b\u02e1\u0003\u02e1", + "\u0003\u02e1\u0005\u02e1\u2d1c\n\u02e1\u0003\u02e1\u0005\u02e1\u2d1f", + "\n\u02e1\u0003\u02e2\u0003\u02e2\u0005\u02e2\u2d23\n\u02e2\u0003\u02e2", + "\u0003\u02e2\u0003\u02e2\u0007\u02e2\u2d28\n\u02e2\f\u02e2\u000e\u02e2", + "\u2d2b\u000b\u02e2\u0003\u02e3\u0003\u02e3\u0005\u02e3\u2d2f\n\u02e3", + "\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3", + "\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3", + "\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3", + "\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3", + "\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0003\u02e3\u0005\u02e3\u2d4d\n", + "\u02e3\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005", + "\u02e4\u2d54\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2d63\n\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0005\u02e4\u2d73\n\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2d86\n\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2d97\n\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2d9e\n", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0005\u02e4\u2da6\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2db3\n\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005", + "\u02e4\u2dbc\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2dc5\n\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0005\u02e4\u2dce\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4", + "\u2dd8\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0005\u02e4\u2de0\n\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0005\u02e4\u2dea\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2df4", + "\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4", + "\u2e00\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2e10\n\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2e22\n", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005", + "\u02e4\u2e2f\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2e3e\n\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2e49\n\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0005\u02e4\u2e53\n\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0005\u02e4\u2e5e\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4", + "\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4", + "\u2e68\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2e79", + "\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4", + "\u2e7f\n\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0003", + "\u02e4\u0003\u02e4\u0003\u02e4\u0003\u02e4\u0005\u02e4\u2e95\n\u02e4", + "\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0005\u02e5\u2e9a\n\u02e5\u0003", + "\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0005\u02e5\u2ea0\n\u02e5", + "\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0005\u02e5\u2ea6\n", + "\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0005\u02e5\u2eac", + "\n\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0005\u02e5\u2eb1\n\u02e5", + "\u0005\u02e5\u2eb3\n\u02e5\u0003\u02e5\u0005\u02e5\u2eb6\n\u02e5\u0003", + "\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003", + "\u02e5\u0003\u02e5\u0005\u02e5\u2ec0\n\u02e5\u0003\u02e5\u0005\u02e5", + "\u2ec3\n\u02e5\u0005\u02e5\u2ec5\n\u02e5\u0005\u02e5\u2ec7\n\u02e5\u0003", + "\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003", + "\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0003\u02e5\u0005", + "\u02e5\u2ed5\n\u02e5\u0003\u02e6\u0003\u02e6\u0003\u02e7\u0003\u02e7", + "\u0003\u02e7\u0003\u02e8\u0003\u02e8\u0003\u02e9\u0003\u02e9\u0005\u02e9", + "\u2ee0\n\u02e9\u0003\u02e9\u0003\u02e9\u0003\u02ea\u0003\u02ea\u0005", + "\u02ea\u2ee6\n\u02ea\u0003\u02eb\u0003\u02eb\u0003\u02eb\u0003\u02eb", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0003\u02ec", + "\u0003\u02ec\u0003\u02ec\u0003\u02ec\u0005\u02ec\u2f37\n\u02ec\u0003", + "\u02ed\u0003\u02ed\u0003\u02ee\u0003\u02ee\u0003\u02ef\u0003\u02ef\u0003", + "\u02f0\u0003\u02f0\u0003\u02f0\u0002\u0005\u04d8\u04e0\u04ea\u02f1\u0002", + "\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e", + " \"$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084", + "\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c", + "\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4", + "\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc", + "\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4", + "\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc", + "\u00fe\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114", + "\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c", + "\u012e\u0130\u0132\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144", + "\u0146\u0148\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c", + "\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174", + "\u0176\u0178\u017a\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c", + "\u018e\u0190\u0192\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4", + "\u01a6\u01a8\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc", + "\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4", + "\u01d6\u01d8\u01da\u01dc\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec", + "\u01ee\u01f0\u01f2\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204", + "\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c", + "\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u0234", + "\u0236\u0238\u023a\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c", + "\u024e\u0250\u0252\u0254\u0256\u0258\u025a\u025c\u025e\u0260\u0262\u0264", + "\u0266\u0268\u026a\u026c\u026e\u0270\u0272\u0274\u0276\u0278\u027a\u027c", + "\u027e\u0280\u0282\u0284\u0286\u0288\u028a\u028c\u028e\u0290\u0292\u0294", + "\u0296\u0298\u029a\u029c\u029e\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac", + "\u02ae\u02b0\u02b2\u02b4\u02b6\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4", + "\u02c6\u02c8\u02ca\u02cc\u02ce\u02d0\u02d2\u02d4\u02d6\u02d8\u02da\u02dc", + "\u02de\u02e0\u02e2\u02e4\u02e6\u02e8\u02ea\u02ec\u02ee\u02f0\u02f2\u02f4", + "\u02f6\u02f8\u02fa\u02fc\u02fe\u0300\u0302\u0304\u0306\u0308\u030a\u030c", + "\u030e\u0310\u0312\u0314\u0316\u0318\u031a\u031c\u031e\u0320\u0322\u0324", + "\u0326\u0328\u032a\u032c\u032e\u0330\u0332\u0334\u0336\u0338\u033a\u033c", + "\u033e\u0340\u0342\u0344\u0346\u0348\u034a\u034c\u034e\u0350\u0352\u0354", + "\u0356\u0358\u035a\u035c\u035e\u0360\u0362\u0364\u0366\u0368\u036a\u036c", + "\u036e\u0370\u0372\u0374\u0376\u0378\u037a\u037c\u037e\u0380\u0382\u0384", + "\u0386\u0388\u038a\u038c\u038e\u0390\u0392\u0394\u0396\u0398\u039a\u039c", + "\u039e\u03a0\u03a2\u03a4\u03a6\u03a8\u03aa\u03ac\u03ae\u03b0\u03b2\u03b4", + "\u03b6\u03b8\u03ba\u03bc\u03be\u03c0\u03c2\u03c4\u03c6\u03c8\u03ca\u03cc", + "\u03ce\u03d0\u03d2\u03d4\u03d6\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4", + "\u03e6\u03e8\u03ea\u03ec\u03ee\u03f0\u03f2\u03f4\u03f6\u03f8\u03fa\u03fc", + "\u03fe\u0400\u0402\u0404\u0406\u0408\u040a\u040c\u040e\u0410\u0412\u0414", + "\u0416\u0418\u041a\u041c\u041e\u0420\u0422\u0424\u0426\u0428\u042a\u042c", + "\u042e\u0430\u0432\u0434\u0436\u0438\u043a\u043c\u043e\u0440\u0442\u0444", + "\u0446\u0448\u044a\u044c\u044e\u0450\u0452\u0454\u0456\u0458\u045a\u045c", + "\u045e\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474", + "\u0476\u0478\u047a\u047c\u047e\u0480\u0482\u0484\u0486\u0488\u048a\u048c", + "\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4", + "\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc", + "\u04be\u04c0\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce\u04d0\u04d2\u04d4", + "\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec", + "\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504", + "\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c", + "\u051e\u0520\u0522\u0524\u0526\u0528\u052a\u052c\u052e\u0530\u0532\u0534", + "\u0536\u0538\u053a\u053c\u053e\u0540\u0542\u0544\u0546\u0548\u054a\u054c", + "\u054e\u0550\u0552\u0554\u0556\u0558\u055a\u055c\u055e\u0560\u0562\u0564", + "\u0566\u0568\u056a\u056c\u056e\u0570\u0572\u0574\u0576\u0578\u057a\u057c", + "\u057e\u0580\u0582\u0584\u0586\u0588\u058a\u058c\u058e\u0590\u0592\u0594", + "\u0596\u0598\u059a\u059c\u059e\u05a0\u05a2\u05a4\u05a6\u05a8\u05aa\u05ac", + "\u05ae\u05b0\u05b2\u05b4\u05b6\u05b8\u05ba\u05bc\u05be\u05c0\u05c2\u05c4", + "\u05c6\u05c8\u05ca\u05cc\u05ce\u05d0\u05d2\u05d4\u05d6\u05d8\u05da\u05dc", + "\u05de\u0002\u00b1\u0004\u0002??\u02b9\u02b9\u0004\u0002\"\"\u04e4\u04e4", + "\u0005\u0002\u0248\u0248\u02fb\u02fb\u0542\u0542\u0004\u0002\u00c7\u00c7", + "\u0492\u0492\u0005\u0002\u0087\u0087\u04a9\u04a9\u0610\u0610\u0004\u0002", + "\u0181\u0181\u01b9\u01b9\u0004\u0002 gg\u0005\u0002\u016c\u016c\u029f", + "\u029f\u07eb\u07eb\u0005\u0002\u0389\u0389\u0461\u0461\u04b1\u04b1\u0004", + "\u0002\u0220\u0220\u0818\u0818\u0004\u0002\u0087\u0087\u0610\u0610\u0004", + "\u0002\u0014\u0014\u019d\u019d\u0005\u0002\u0014\u0014\u019d\u019d\u0361", + "\u0361\u0005\u0002\u013a\u013a\u047d\u047d\u0614\u0614\u0004\u0002\u0323", + "\u0323\u0492\u0492\u0004\u0002\u033c\u033c\u062a\u062a\u0005\u0002\u020d", + "\u020d\u02a4\u02a4\u04a5\u04a5\u0005\u0002\u00dc\u00dc\u0431\u0431\u05a3", + "\u05a3\u0005\u0002\u0154\u0154\u0192\u0192\u0538\u0538\u0004\u0002~", + "~\u07d4\u07d4\u0004\u0002@@\u0175\u0175\u0004\u0002\u02b7\u02b7\u0839", + "\u0839\u0004\u0002\u0364\u0364\u03eb\u03eb\u0004\u0002\u01f0\u01f0\u0239", + "\u0239\u0004\u0002\u0161\u0161\u0782\u0782\u0004\u0002\u030a\u030a\u07d8", + "\u07d8\u0004\u0002\u0014\u0014\u057d\u057d\u0004\u0002\u045a\u045a\u0467", + "\u0467\u0004\u0002\u06f5\u06f5\u0809\u0809\u0004\u0002\u0094\u0094\u01d5", + "\u01d5\u0004\u0002\u0005\u0005\u05e4\u05e4\u0004\u0002%%\u0130\u0130", + "\u0010\u0002))OO\u00db\u00db\u016c\u016c\u01dd\u01dd\u0216\u0216\u023d", + "\u023d\u0279\u0279\u029f\u029f\u030a\u030a\u054b\u054b\u057e\u057e\u05d4", + "\u05d4\u07eb\u07eb\u0004\u0002\u0019\u0019\u016a\u016a\u0004\u0002\u01a9", + "\u01a9\u03f0\u03f0\u0004\u0002\u0414\u0414\u057a\u057a\u0004\u0002\u0469", + "\u0469\u084f\u084f\u0005\u0002\u025c\u025c\u025f\u025f\u045f\u045f\u0004", + "\u0002\u0164\u0164\u0267\u0267\u0004\u0002\u043e\u043e\u0818\u0818\u0004", + "\u0002\u0140\u0140\u0780\u0780\u0005\u0002\u0267\u0267\u041c\u041c\u0782", + "\u0782\u0004\u0002\u045b\u045b\u046a\u046a\u0004\u0002pp\u0606\u0606", + "\u0005\u0002\u020b\u020b\u030d\u030d\u03e3\u03e3\u0004\u0002UU\u0322", + "\u0322\u0004\u0002\u0245\u0245\u03da\u03da\u0004\u0002\u00dc\u00dc\u016e", + "\u016e\u0004\u0002\u01c1\u01c1\u07c0\u07c0\u0004\u0002II\u065b\u065b", + "\u0004\u0002\u01db\u01db\u026d\u026d\u0004\u0002\u0098\u0098\u03b4\u03b4", + "\u0004\u0002\u0849\u0849\u084b\u084b\u0005\u0002\u00e2\u00e2\u0201\u0201", + "\u0220\u0220\u0004\u0002\u0303\u0303\u0325\u0325\u0004\u0002\u041e\u041e", + "\u05a6\u05a6\u0004\u0002\u016c\u016c\u0516\u0516\u0004\u0002\u0161\u0161", + "\u0220\u0220\u0004\u0002bb\u05cd\u05cd\u0004\u0002\u0301\u0301\u0778", + "\u0778\u0004\u0002;;\u0538\u0538\u0004\u0002\u0254\u0254\u0319\u0319", + "\u0004\u0002\u07d6\u07d6\u08ab\u08ab\u0005\u0002\u0161\u0161\u02d2\u02d2", + "\u0557\u0557\u0005\u0002\u0161\u0161\u02d2\u02d2\u03f1\u03f1\u0004\u0002", + "\u0349\u0349\u03e7\u03e7\u0004\u0002\'\'\u0185\u0185\u0004\u0002\u00c3", + "\u00c3\u0620\u0620\u0004\u0002\u0417\u0417\u0584\u0584\u0004\u0002\u019a", + "\u019a\u07ef\u07ef\u0004\u0002hh\u01bf\u01bf\u0004\u0002\u030e\u030e", + "\u04e2\u04e2\u0005\u0002\\\\\u04db\u04db\u052b\u052b\u0004\u0002\u00dc", + "\u00dc\u0511\u0511\u0004\u0002\u0442\u0442\u083c\u083c\u0004\u0002\u0003", + "\u0003\u063a\u063a\u0004\u0002\u04e2\u04e2\u0608\u0608\u0005\u0002%", + "%\u03f1\u03f1\u0620\u0620\u0004\u0002\u019d\u019d\u02d2\u02d2\u0004", + "\u0002\u0424\u0424\u060a\u060a\u0004\u0002\u0307\u0307\u081c\u081c\u0004", + "\u0002\u022a\u022a\u04d1\u04d1\u0004\u0002\u0160\u0160\u02d1\u02d1\u0005", + "\u0002\u0254\u0254\u0319\u0319\u033b\u033b\u0004\u0002\u0238\u0238\u0303", + "\u0303\u0004\u0002\u0135\u0135\u0167\u0167\u0006\u0002\u028e\u028e\u029a", + "\u029a\u03c1\u03c1\u04a0\u04a0\u0004\u0002\u0161\u0161\u08ba\u08ba\u0003", + "\u0003\u08c3\u08c3\u0003\u0002\u08c3\u08c3\u0003\u0002\u0598\u0599\u0003", + "\u0002\u0103\u0104\u0004\u0002cc\u0267\u0267\u0004\u0002\u008c\u008c", + "\u0171\u0171\u0005\u0002%%\u018e\u018e\u07d4\u07d4\u0004\u0002\u0128", + "\u0128\u0378\u0378\u0005\u0002\u022e\u022e\u02e6\u02e6\u059f\u059f\u0004", + "\u0002\u05c2\u05c2\u078f\u078f\u0005\u0002\u05c2\u05c2\u0608\u0608\u078f", + "\u078f\u0004\u0002\u01da\u01da\u026b\u026b\u0004\u0002\u012c\u012c\u05a5", + "\u05a5\u0004\u0002\u0262\u0262\u02d2\u02d2\u0004\u0002%%\u07ea\u07ea", + "\u0004\u0002YY\u05db\u05db\u0004\u0002\u0210\u0210\u02dd\u02dd\u0003", + "\u0002\u05ad\u05ae\u0004\u0002\u0210\u0210\u038c\u038c\u0004\u0002%", + "%\u0210\u0210\u0004\u0002\u077a\u077a\u0788\u0788\u0004\u0002\u033c", + "\u033c\u0645\u0645\u0004\u0002\u02f3\u02f5\u02f7\u02f7\u0003\u0002\u08c0", + "\u08c1\u0004\u0002\u08b4\u08b4\u08b8\u08b8\u0003\u0002\u08b5\u08b6\u0004", + "\u0002\u015e\u015e\u026f\u026f\u0006\u0002%%22\u01e0\u01e0\u0609\u0609", + "\u0005\u0002\u0089\u0089\u02e5\u02e5\u07b3\u07b3\u0004\u0002%%\u018e", + "\u018e\u0004\u0002\u00a6\u00a6\u0857\u0857\u0004\u0002\u018e\u018e\u07d4", + "\u07d4\u0004\u0002\u04d3\u04d5\u04d8\u04d8\u0004\u0002\u00a1\u00a1\u00e0", + "\u00e0\u0004\u0002\u0213\u0213\u02de\u02de\u0004\u0002\u00b3\u00b3\u037b", + "\u037b\u0004\u0002\u0859\u0859\u0861\u0861\u0004\u0002\u01c5\u01c5\u03cf", + "\u03cf\u0004\u0002\u01d0\u01d0\u0371\u0371\u0004\u0002\u0109\u0109\u0195", + "\u0195\u0004\u0002\u0252\u0252\u05f2\u05f2\u0007\u0002\u088d\u088f\u0891", + "\u0896\u0898\u0899\u089b\u089b\u089f\u08a2\u0003\u0002\u0886\u088c\u0003", + "\u0002\u0880\u0885\u0004\u0002\u0542\u0542\u05ae\u05ae\u0004\u0002\u021d", + "\u021d\u050c\u050c\u0004\u0002\u041f\u041f\u05bf\u05bf\u0004\u0002\u01c8", + "\u01c8\u01cc\u01cc\u0004\u0002\u0498\u0498\u0615\u0615\u0004\u0002\u00dc", + "\u00dc\u05a3\u05a3\u0005\u0002\u00dc\u00dc\u03f1\u03f1\u05a3\u05a3\u0004", + "\u0002\u04b9\u04b9\u0648\u0648\u0004\u0002\u0589\u0589\u060e\u060e\u0004", + "\u0002\u0262\u0262\u058a\u058a\u0003\u0002\u04d9\u04da\u0004\u0002\u014b", + "\u014b\u087b\u087b\u0004\u0002\u0366\u0366\u05ca\u05ca\u0004\u0002\u0097", + "\u0097\u00b2\u00b2\u0005\u0002))\u0122\u0122\u019d\u019d\u0004\u0002", + "))\u019d\u019d\u0004\u0002\u0122\u0122\u019d\u019d\u0004\u0002))\u0122", + "\u0122\u0005\u0002))\u019d\u019d\u01dd\u01dd\u0004\u000222\u01ef\u01ef", + "\u0004\u0002\u00bc\u00bc\u0527\u0527\u0006\u0002))\u00db\u00db\u019d", + "\u019d\u05d4\u05d4\u0006\u0002))\u019d\u019d\u05d4\u05d4\u07eb\u07eb", + "\u0005\u0002\u016c\u016c\u019d\u019d\u029f\u029f\b\u0002))\u016c\u016c", + "\u019d\u019d\u029f\u029f\u05d4\u05d4\u07eb\u07eb\u0004\u0002\u019d\u019d", + "\u07eb\u07eb\u0005\u0002))\u019d\u019d\u023d\u023d\u0005\u0002))\u019d", + "\u019d\u05d4\u05d4\u0005\u0002))\u0122\u0122\u058f\u058f\u0005\u0002", + "))\u019d\u019d\u080d\u080d\f\u0002))__\u00db\u00db\u016c\u016c\u019d", + "\u019d\u029f\u029f\u030a\u030a\u054b\u054b\u05d4\u05d4\u07eb\u07eb\u0007", + "\u0002))\u0122\u0122\u019d\u019d\u031f\u031f\u07d6\u07d6\u0006\u0002", + "))\u019d\u019d\u01dd\u01dd\u07cf\u07cf\u0005\u0002\u019d\u019d\u0342", + "\u0342\u07cf\u07cf\u0004\u0002++OO\u0004\u0002\u017a\u017a\u07b4\u07b4", + "\b\u0002\u014b\u014b\u0258\u0258\u034e\u034e\u0366\u0366\u05ca\u05ca", + "\u087b\u087b\u0003\u0002\u08ab\u08ac\u0004\u0002\u08a6\u08a6\u08ad\u08ad", + "\u00dd\u0002\b\b\n\u000b\r\r\u000f\u000f\u0012\u0013\u001c\u001c\u001f", + "\u001f/0779:<ACEEGNPUWWYY\\\\__acfhjknwy|~\u0087\u0089\u008d\u008f\u0093", + "\u0095\u009b\u009f\u00a0\u00a3\u00a7\u00a9\u00ae\u00b0\u00b1\u00b3\u00b5", + "\u00b7\u00bc\u00bf\u00bf\u00c2\u00c6\u00ca\u00ca\u00cc\u00dd\u00df\u00e3", + "\u00e6\u00e9\u00eb\u00ec\u00f0\u00f1\u00f5\u00fc\u00fe\u0104\u0106\u0106", + "\u0109\u010d\u010f\u010f\u0112\u0121\u0124\u0125\u0128\u012a\u012c\u012d", + "\u012f\u0139\u013b\u0141\u0144\u0144\u0146\u0146\u014a\u014b\u014d\u0151", + "\u0153\u0158\u015a\u015b\u015d\u0160\u0162\u0165\u0167\u0169\u016d\u0174", + "\u0177\u0178\u017a\u017b\u017d\u017f\u0181\u0181\u0183\u0186\u0188\u018a", + "\u018c\u018d\u018f\u0190\u0192\u019c\u019e\u019e\u01a0\u01a1\u01a5\u01a8", + "\u01aa\u01ad\u01af\u01b1\u01b5\u01b7\u01b9\u01b9\u01bb\u01be\u01c0\u01c6", + "\u01c9\u01ce\u01d0\u01d0\u01d2\u01d5\u01d8\u01db\u01dd\u01de\u01e1\u01e1", + "\u01e3\u01ea\u01ec\u01f0\u01f2\u01f6\u01f8\u01fb\u01fe\u01fe\u0201\u0201", + "\u0203\u0203\u0205\u0207\u0209\u0209\u020b\u0213\u0215\u0217\u0219\u021e", + "\u0220\u0223\u0226\u022b\u022d\u0231\u0233\u0236\u0238\u023b\u023e\u023e", + "\u0240\u024a\u024c\u025a\u025c\u0265\u0267\u0269\u026b\u0278\u027b\u0289", + "\u028b\u028c\u028f\u0295\u0297\u0297\u0299\u0299\u029c\u029e\u02a0\u02ab", + "\u02ae\u02b1\u02b3\u02b4\u02b6\u02b8\u02ba\u02c0\u02d1\u02d7\u02d9\u02d9", + "\u02dc\u02df\u02e1\u02ef\u02f1\u02f6\u02f8\u02f8\u02fa\u0308\u030b\u0311", + "\u0313\u0315\u0318\u0322\u0324\u0326\u032b\u0334\u0336\u033c\u033e\u0343", + "\u0345\u034b\u034d\u0358\u035a\u035c\u0360\u0362\u0364\u0367\u0369\u036c", + "\u036e\u0378\u037a\u037f\u0381\u03a9\u03ac\u03ae\u03b0\u03b0\u03b2\u03b7", + "\u03b9\u03b9\u03bc\u03c0\u03c2\u03c5\u03c8\u03ca\u03cc\u03d7\u03d9\u03dd", + "\u03e1\u03ef\u03f1\u03f5\u03f7\u0400\u0404\u0405\u0407\u0407\u040a\u040d", + "\u040f\u0412\u0414\u0415\u0417\u041c\u041e\u0424\u0426\u0432\u0434\u0435", + "\u0437\u043c\u043e\u043e\u0443\u0447\u0449\u044a\u044c\u044c\u044e\u0455", + "\u0457\u045b\u045e\u0462\u0464\u0464\u0467\u0467\u0469\u0469\u046b\u0476", + "\u0478\u0479\u047e\u0484\u048b\u048e\u0490\u0491\u0493\u0495\u0497\u0497", + "\u0499\u049f\u04a1\u04a4\u04a6\u04aa\u04ac\u04ad\u04af\u04b2\u04b4\u04b4", + "\u04b7\u04c4\u04c7\u04c7\u04c9\u04c9\u04cb\u04cc\u04ce\u04d2\u04d6\u04d7", + "\u04db\u04db\u04dd\u04de\u04e1\u04e3\u04e6\u04ec\u04ee\u04f2\u04f4\u04f5", + "\u04fd\u0500\u0502\u0502\u0505\u0506\u050a\u050f\u0511\u0516\u0518\u0518", + "\u051a\u051a\u051e\u051f\u0521\u052b\u052f\u0532\u0534\u053e\u0540\u0544", + "\u0546\u054c\u054e\u0550\u0552\u0558\u055a\u0577\u057a\u057d\u057f\u0588", + "\u058a\u058a\u058c\u058f\u0591\u0592\u0594\u059b\u059d\u05a0\u05a2\u05a6", + "\u05a8\u05b2\u05b4\u05b7\u05b9\u05c3\u05c5\u05c6\u05c8\u05ca\u05cc\u05d3", + "\u05d6\u05db\u05dd\u05dd\u05e0\u05e0\u05e3\u05e7\u05e9\u05ee\u05f2\u05f9", + "\u05fc\u0600\u0602\u0606\u0608\u060b\u060e\u0613\u0616\u0618\u061a\u061c", + "\u061e\u061e\u0620\u0622\u0624\u0627\u062a\u063d\u063f\u064a\u064d\u0651", + "\u0653\u0653\u0655\u065c\u065e\u0660\u0662\u0662\u0664\u0668\u066a\u067a", + "\u067c\u067f\u0682\u0684\u0687\u069b\u069d\u06a7\u06a9\u06aa\u06b0\u06c7", + "\u06c9\u06e3\u06e5\u06ee\u06f0\u0771\u0775\u077b\u077d\u0784\u0786\u078a", + "\u078d\u078d\u078f\u078f\u0792\u0793\u0795\u079c\u079e\u07ad\u07af\u07b8", + "\u07ba\u07bb\u07bd\u07c0\u07c2\u07c8\u07ca\u07cd\u07cf\u07d2\u07d5\u07d8", + "\u07da\u07df\u07e1\u07e4\u07e6\u07ea\u07ec\u07f2\u07f4\u07f6\u07f8\u07fa", + "\u07fc\u0801\u0803\u0807\u0809\u080d\u080f\u080f\u0811\u0811\u0818\u0819", + "\u081c\u081c\u0820\u0826\u082b\u0834\u0837\u0837\u0839\u083d\u0841\u0843", + "\u0846\u0849\u084c\u084d\u084f\u0850\u0852\u0854\u0856\u0861\u0863\u0877", + "\u087b\u087c\u087f\u088e\u0891\u0898\u089a\u08a0\u08a2\u08a5\u0005\u0002", + "\u00ba\u00ba\u0890\u0890\u089c\u089e\u0007\u0002\u011b\u011b\u088d\u088d", + "\u0897\u0897\u089a\u089a\u089f\u089f\u0002\u364b\u0002\u05e0\u0003\u0002", + "\u0002\u0002\u0004\u05ec\u0003\u0002\u0002\u0002\u0006\u0629\u0003\u0002", + "\u0002\u0002\b\u062b\u0003\u0002\u0002\u0002\n\u0630\u0003\u0002\u0002", + "\u0002\f\u0643\u0003\u0002\u0002\u0002\u000e\u0677\u0003\u0002\u0002", + "\u0002\u0010\u067b\u0003\u0002\u0002\u0002\u0012\u0689\u0003\u0002\u0002", + "\u0002\u0014\u068d\u0003\u0002\u0002\u0002\u0016\u0699\u0003\u0002\u0002", + "\u0002\u0018\u069e\u0003\u0002\u0002\u0002\u001a\u06ab\u0003\u0002\u0002", + "\u0002\u001c\u06c1\u0003\u0002\u0002\u0002\u001e\u06dd\u0003\u0002\u0002", + "\u0002 \u0703\u0003\u0002\u0002\u0002\"\u0705\u0003\u0002\u0002\u0002", + "$\u0716\u0003\u0002\u0002\u0002&\u073b\u0003\u0002\u0002\u0002(\u073d", + "\u0003\u0002\u0002\u0002*\u0742\u0003\u0002\u0002\u0002,\u0755\u0003", + "\u0002\u0002\u0002.\u0787\u0003\u0002\u0002\u00020\u07a4\u0003\u0002", + "\u0002\u00022\u07c9\u0003\u0002\u0002\u00024\u07ce\u0003\u0002\u0002", + "\u00026\u07e7\u0003\u0002\u0002\u00028\u07ff\u0003\u0002\u0002\u0002", + ":\u0808\u0003\u0002\u0002\u0002<\u0811\u0003\u0002\u0002\u0002>\u081a", + "\u0003\u0002\u0002\u0002@\u081e\u0003\u0002\u0002\u0002B\u0823\u0003", + "\u0002\u0002\u0002D\u083b\u0003\u0002\u0002\u0002F\u083d\u0003\u0002", + "\u0002\u0002H\u0841\u0003\u0002\u0002\u0002J\u0872\u0003\u0002\u0002", + "\u0002L\u088e\u0003\u0002\u0002\u0002N\u0890\u0003\u0002\u0002\u0002", + "P\u089e\u0003\u0002\u0002\u0002R\u08a3\u0003\u0002\u0002\u0002T\u08a8", + "\u0003\u0002\u0002\u0002V\u08ae\u0003\u0002\u0002\u0002X\u08b1\u0003", + "\u0002\u0002\u0002Z\u08bc\u0003\u0002\u0002\u0002\\\u08cc\u0003\u0002", + "\u0002\u0002^\u08dd\u0003\u0002\u0002\u0002`\u08ee\u0003\u0002\u0002", + "\u0002b\u08f6\u0003\u0002\u0002\u0002d\u08fb\u0003\u0002\u0002\u0002", + "f\u090b\u0003\u0002\u0002\u0002h\u090f\u0003\u0002\u0002\u0002j\u0927", + "\u0003\u0002\u0002\u0002l\u092a\u0003\u0002\u0002\u0002n\u0930\u0003", + "\u0002\u0002\u0002p\u093c\u0003\u0002\u0002\u0002r\u0945\u0003\u0002", + "\u0002\u0002t\u0961\u0003\u0002\u0002\u0002v\u0967\u0003\u0002\u0002", + "\u0002x\u096a\u0003\u0002\u0002\u0002z\u0971\u0003\u0002\u0002\u0002", + "|\u0979\u0003\u0002\u0002\u0002~\u0986\u0003\u0002\u0002\u0002\u0080", + "\u0988\u0003\u0002\u0002\u0002\u0082\u098c\u0003\u0002\u0002\u0002\u0084", + "\u0992\u0003\u0002\u0002\u0002\u0086\u09ab\u0003\u0002\u0002\u0002\u0088", + "\u09ca\u0003\u0002\u0002\u0002\u008a\u09f7\u0003\u0002\u0002\u0002\u008c", + "\u0a01\u0003\u0002\u0002\u0002\u008e\u0a03\u0003\u0002\u0002\u0002\u0090", + "\u0a08\u0003\u0002\u0002\u0002\u0092\u0a16\u0003\u0002\u0002\u0002\u0094", + "\u0a18\u0003\u0002\u0002\u0002\u0096\u0a1d\u0003\u0002\u0002\u0002\u0098", + "\u0a21\u0003\u0002\u0002\u0002\u009a\u0a47\u0003\u0002\u0002\u0002\u009c", + "\u0a57\u0003\u0002\u0002\u0002\u009e\u0a78\u0003\u0002\u0002\u0002\u00a0", + "\u0a9b\u0003\u0002\u0002\u0002\u00a2\u0a9f\u0003\u0002\u0002\u0002\u00a4", + "\u0aae\u0003\u0002\u0002\u0002\u00a6\u0ab0\u0003\u0002\u0002\u0002\u00a8", + "\u0ab3\u0003\u0002\u0002\u0002\u00aa\u0ab8\u0003\u0002\u0002\u0002\u00ac", + "\u0ac2\u0003\u0002\u0002\u0002\u00ae\u0ae3\u0003\u0002\u0002\u0002\u00b0", + "\u0ae7\u0003\u0002\u0002\u0002\u00b2\u0b03\u0003\u0002\u0002\u0002\u00b4", + "\u0b05\u0003\u0002\u0002\u0002\u00b6\u0b09\u0003\u0002\u0002\u0002\u00b8", + "\u0b1a\u0003\u0002\u0002\u0002\u00ba\u0b22\u0003\u0002\u0002\u0002\u00bc", + "\u0b26\u0003\u0002\u0002\u0002\u00be\u0b3d\u0003\u0002\u0002\u0002\u00c0", + "\u0b6b\u0003\u0002\u0002\u0002\u00c2\u0b7a\u0003\u0002\u0002\u0002\u00c4", + "\u0b7c\u0003\u0002\u0002\u0002\u00c6\u0b8a\u0003\u0002\u0002\u0002\u00c8", + "\u0baa\u0003\u0002\u0002\u0002\u00ca\u0bb3\u0003\u0002\u0002\u0002\u00cc", + "\u0bc3\u0003\u0002\u0002\u0002\u00ce\u0be6\u0003\u0002\u0002\u0002\u00d0", + "\u0bfa\u0003\u0002\u0002\u0002\u00d2\u0c01\u0003\u0002\u0002\u0002\u00d4", + "\u0c0c\u0003\u0002\u0002\u0002\u00d6\u0c17\u0003\u0002\u0002\u0002\u00d8", + "\u0c3d\u0003\u0002\u0002\u0002\u00da\u0c3f\u0003\u0002\u0002\u0002\u00dc", + "\u0c5a\u0003\u0002\u0002\u0002\u00de\u0c67\u0003\u0002\u0002\u0002\u00e0", + "\u0c8e\u0003\u0002\u0002\u0002\u00e2\u0c90\u0003\u0002\u0002\u0002\u00e4", + "\u0c9e\u0003\u0002\u0002\u0002\u00e6\u0ca3\u0003\u0002\u0002\u0002\u00e8", + "\u0ca7\u0003\u0002\u0002\u0002\u00ea\u0cb6\u0003\u0002\u0002\u0002\u00ec", + "\u0ccf\u0003\u0002\u0002\u0002\u00ee\u0cd1\u0003\u0002\u0002\u0002\u00f0", + "\u0cd3\u0003\u0002\u0002\u0002\u00f2\u0cd5\u0003\u0002\u0002\u0002\u00f4", + "\u0cf7\u0003\u0002\u0002\u0002\u00f6\u0cf9\u0003\u0002\u0002\u0002\u00f8", + "\u0d0a\u0003\u0002\u0002\u0002\u00fa\u0d19\u0003\u0002\u0002\u0002\u00fc", + "\u0d1e\u0003\u0002\u0002\u0002\u00fe\u0d37\u0003\u0002\u0002\u0002\u0100", + "\u0d39\u0003\u0002\u0002\u0002\u0102\u0d43\u0003\u0002\u0002\u0002\u0104", + "\u0d47\u0003\u0002\u0002\u0002\u0106\u0d61\u0003\u0002\u0002\u0002\u0108", + "\u0d75\u0003\u0002\u0002\u0002\u010a\u0d7d\u0003\u0002\u0002\u0002\u010c", + "\u0d7f\u0003\u0002\u0002\u0002\u010e\u0d81\u0003\u0002\u0002\u0002\u0110", + "\u0d83\u0003\u0002\u0002\u0002\u0112\u0db4\u0003\u0002\u0002\u0002\u0114", + "\u0db6\u0003\u0002\u0002\u0002\u0116\u0dbb\u0003\u0002\u0002\u0002\u0118", + "\u0dbf\u0003\u0002\u0002\u0002\u011a\u0dc5\u0003\u0002\u0002\u0002\u011c", + "\u0dc9\u0003\u0002\u0002\u0002\u011e\u0dd1\u0003\u0002\u0002\u0002\u0120", + "\u0deb\u0003\u0002\u0002\u0002\u0122\u0ded\u0003\u0002\u0002\u0002\u0124", + "\u0df3\u0003\u0002\u0002\u0002\u0126\u0df6\u0003\u0002\u0002\u0002\u0128", + "\u0df9\u0003\u0002\u0002\u0002\u012a\u0dfc\u0003\u0002\u0002\u0002\u012c", + "\u0e32\u0003\u0002\u0002\u0002\u012e\u0e34\u0003\u0002\u0002\u0002\u0130", + "\u0e3f\u0003\u0002\u0002\u0002\u0132\u0e47\u0003\u0002\u0002\u0002\u0134", + "\u0e52\u0003\u0002\u0002\u0002\u0136\u0e61\u0003\u0002\u0002\u0002\u0138", + "\u0e99\u0003\u0002\u0002\u0002\u013a\u0eb8\u0003\u0002\u0002\u0002\u013c", + "\u0eba\u0003\u0002\u0002\u0002\u013e\u0ebc\u0003\u0002\u0002\u0002\u0140", + "\u0ec0\u0003\u0002\u0002\u0002\u0142\u0ec2\u0003\u0002\u0002\u0002\u0144", + "\u0ec4\u0003\u0002\u0002\u0002\u0146\u0ed0\u0003\u0002\u0002\u0002\u0148", + "\u0f0d\u0003\u0002\u0002\u0002\u014a\u0f1c\u0003\u0002\u0002\u0002\u014c", + "\u0f1e\u0003\u0002\u0002\u0002\u014e\u0f23\u0003\u0002\u0002\u0002\u0150", + "\u0f25\u0003\u0002\u0002\u0002\u0152\u0f2f\u0003\u0002\u0002\u0002\u0154", + "\u0f31\u0003\u0002\u0002\u0002\u0156\u0f33\u0003\u0002\u0002\u0002\u0158", + "\u0f35\u0003\u0002\u0002\u0002\u015a\u0f39\u0003\u0002\u0002\u0002\u015c", + "\u0f3b\u0003\u0002\u0002\u0002\u015e\u0f41\u0003\u0002\u0002\u0002\u0160", + "\u0f72\u0003\u0002\u0002\u0002\u0162\u0f74\u0003\u0002\u0002\u0002\u0164", + "\u0f91\u0003\u0002\u0002\u0002\u0166\u0f95\u0003\u0002\u0002\u0002\u0168", + "\u0fbe\u0003\u0002\u0002\u0002\u016a\u0fc0\u0003\u0002\u0002\u0002\u016c", + "\u0fc9\u0003\u0002\u0002\u0002\u016e\u0fd4\u0003\u0002\u0002\u0002\u0170", + "\u0fd8\u0003\u0002\u0002\u0002\u0172\u0fda\u0003\u0002\u0002\u0002\u0174", + "\u0fec\u0003\u0002\u0002\u0002\u0176\u0ff3\u0003\u0002\u0002\u0002\u0178", + "\u0ffa\u0003\u0002\u0002\u0002\u017a\u1044\u0003\u0002\u0002\u0002\u017c", + "\u1046\u0003\u0002\u0002\u0002\u017e\u104b\u0003\u0002\u0002\u0002\u0180", + "\u1051\u0003\u0002\u0002\u0002\u0182\u1088\u0003\u0002\u0002\u0002\u0184", + "\u108c\u0003\u0002\u0002\u0002\u0186\u1097\u0003\u0002\u0002\u0002\u0188", + "\u1099\u0003\u0002\u0002\u0002\u018a\u109b\u0003\u0002\u0002\u0002\u018c", + "\u10b1\u0003\u0002\u0002\u0002\u018e\u10b4\u0003\u0002\u0002\u0002\u0190", + "\u10b7\u0003\u0002\u0002\u0002\u0192\u10bb\u0003\u0002\u0002\u0002\u0194", + "\u10c0\u0003\u0002\u0002\u0002\u0196\u10c4\u0003\u0002\u0002\u0002\u0198", + "\u10eb\u0003\u0002\u0002\u0002\u019a\u10ee\u0003\u0002\u0002\u0002\u019c", + "\u110b\u0003\u0002\u0002\u0002\u019e\u110d\u0003\u0002\u0002\u0002\u01a0", + "\u1121\u0003\u0002\u0002\u0002\u01a2\u114d\u0003\u0002\u0002\u0002\u01a4", + "\u116a\u0003\u0002\u0002\u0002\u01a6\u118f\u0003\u0002\u0002\u0002\u01a8", + "\u1193\u0003\u0002\u0002\u0002\u01aa\u11c3\u0003\u0002\u0002\u0002\u01ac", + "\u11c7\u0003\u0002\u0002\u0002\u01ae\u121c\u0003\u0002\u0002\u0002\u01b0", + "\u1224\u0003\u0002\u0002\u0002\u01b2\u1226\u0003\u0002\u0002\u0002\u01b4", + "\u122c\u0003\u0002\u0002\u0002\u01b6\u1237\u0003\u0002\u0002\u0002\u01b8", + "\u1239\u0003\u0002\u0002\u0002\u01ba\u123c\u0003\u0002\u0002\u0002\u01bc", + "\u123e\u0003\u0002\u0002\u0002\u01be\u1249\u0003\u0002\u0002\u0002\u01c0", + "\u1262\u0003\u0002\u0002\u0002\u01c2\u1265\u0003\u0002\u0002\u0002\u01c4", + "\u1267\u0003\u0002\u0002\u0002\u01c6\u1272\u0003\u0002\u0002\u0002\u01c8", + "\u1277\u0003\u0002\u0002\u0002\u01ca\u1283\u0003\u0002\u0002\u0002\u01cc", + "\u128f\u0003\u0002\u0002\u0002\u01ce\u1292\u0003\u0002\u0002\u0002\u01d0", + "\u1298\u0003\u0002\u0002\u0002\u01d2\u129f\u0003\u0002\u0002\u0002\u01d4", + "\u12b7\u0003\u0002\u0002\u0002\u01d6\u12c4\u0003\u0002\u0002\u0002\u01d8", + "\u12d0\u0003\u0002\u0002\u0002\u01da\u12d5\u0003\u0002\u0002\u0002\u01dc", + "\u12dd\u0003\u0002\u0002\u0002\u01de\u12df\u0003\u0002\u0002\u0002\u01e0", + "\u1314\u0003\u0002\u0002\u0002\u01e2\u1316\u0003\u0002\u0002\u0002\u01e4", + "\u1335\u0003\u0002\u0002\u0002\u01e6\u1337\u0003\u0002\u0002\u0002\u01e8", + "\u1341\u0003\u0002\u0002\u0002\u01ea\u135c\u0003\u0002\u0002\u0002\u01ec", + "\u1361\u0003\u0002\u0002\u0002\u01ee\u1366\u0003\u0002\u0002\u0002\u01f0", + "\u138c\u0003\u0002\u0002\u0002\u01f2\u138e\u0003\u0002\u0002\u0002\u01f4", + "\u1390\u0003\u0002\u0002\u0002\u01f6\u1392\u0003\u0002\u0002\u0002\u01f8", + "\u1394\u0003\u0002\u0002\u0002\u01fa\u13d2\u0003\u0002\u0002\u0002\u01fc", + "\u13d6\u0003\u0002\u0002\u0002\u01fe\u13db\u0003\u0002\u0002\u0002\u0200", + "\u1443\u0003\u0002\u0002\u0002\u0202\u1445\u0003\u0002\u0002\u0002\u0204", + "\u145b\u0003\u0002\u0002\u0002\u0206\u145d\u0003\u0002\u0002\u0002\u0208", + "\u1493\u0003\u0002\u0002\u0002\u020a\u14a5\u0003\u0002\u0002\u0002\u020c", + "\u14e9\u0003\u0002\u0002\u0002\u020e\u14ff\u0003\u0002\u0002\u0002\u0210", + "\u1529\u0003\u0002\u0002\u0002\u0212\u152d\u0003\u0002\u0002\u0002\u0214", + "\u153b\u0003\u0002\u0002\u0002\u0216\u157f\u0003\u0002\u0002\u0002\u0218", + "\u158d\u0003\u0002\u0002\u0002\u021a\u15ac\u0003\u0002\u0002\u0002\u021c", + "\u15af\u0003\u0002\u0002\u0002\u021e\u15c1\u0003\u0002\u0002\u0002\u0220", + "\u15f4\u0003\u0002\u0002\u0002\u0222\u15fe\u0003\u0002\u0002\u0002\u0224", + "\u1600\u0003\u0002\u0002\u0002\u0226\u1638\u0003\u0002\u0002\u0002\u0228", + "\u1654\u0003\u0002\u0002\u0002\u022a\u1665\u0003\u0002\u0002\u0002\u022c", + "\u167c\u0003\u0002\u0002\u0002\u022e\u16a1\u0003\u0002\u0002\u0002\u0230", + "\u16a3\u0003\u0002\u0002\u0002\u0232\u16d5\u0003\u0002\u0002\u0002\u0234", + "\u16eb\u0003\u0002\u0002\u0002\u0236\u16ff\u0003\u0002\u0002\u0002\u0238", + "\u1712\u0003\u0002\u0002\u0002\u023a\u1718\u0003\u0002\u0002\u0002\u023c", + "\u1727\u0003\u0002\u0002\u0002\u023e\u174f\u0003\u0002\u0002\u0002\u0240", + "\u1777\u0003\u0002\u0002\u0002\u0242\u1799\u0003\u0002\u0002\u0002\u0244", + "\u179b\u0003\u0002\u0002\u0002\u0246\u17ab\u0003\u0002\u0002\u0002\u0248", + "\u17b4\u0003\u0002\u0002\u0002\u024a\u17d5\u0003\u0002\u0002\u0002\u024c", + "\u17d7\u0003\u0002\u0002\u0002\u024e\u17df\u0003\u0002\u0002\u0002\u0250", + "\u17e7\u0003\u0002\u0002\u0002\u0252\u17ee\u0003\u0002\u0002\u0002\u0254", + "\u17ff\u0003\u0002\u0002\u0002\u0256\u180d\u0003\u0002\u0002\u0002\u0258", + "\u181d\u0003\u0002\u0002\u0002\u025a\u1845\u0003\u0002\u0002\u0002\u025c", + "\u1849\u0003\u0002\u0002\u0002\u025e\u1861\u0003\u0002\u0002\u0002\u0260", + "\u1886\u0003\u0002\u0002\u0002\u0262\u1897\u0003\u0002\u0002\u0002\u0264", + "\u18a0\u0003\u0002\u0002\u0002\u0266\u18a4\u0003\u0002\u0002\u0002\u0268", + "\u18c5\u0003\u0002\u0002\u0002\u026a\u18cd\u0003\u0002\u0002\u0002\u026c", + "\u18d2\u0003\u0002\u0002\u0002\u026e\u18d9\u0003\u0002\u0002\u0002\u0270", + "\u18e4\u0003\u0002\u0002\u0002\u0272\u18e6\u0003\u0002\u0002\u0002\u0274", + "\u1910\u0003\u0002\u0002\u0002\u0276\u1912\u0003\u0002\u0002\u0002\u0278", + "\u1929\u0003\u0002\u0002\u0002\u027a\u193d\u0003\u0002\u0002\u0002\u027c", + "\u194d\u0003\u0002\u0002\u0002\u027e\u1953\u0003\u0002\u0002\u0002\u0280", + "\u195c\u0003\u0002\u0002\u0002\u0282\u1960\u0003\u0002\u0002\u0002\u0284", + "\u1969\u0003\u0002\u0002\u0002\u0286\u1971\u0003\u0002\u0002\u0002\u0288", + "\u197a\u0003\u0002\u0002\u0002\u028a\u1981\u0003\u0002\u0002\u0002\u028c", + "\u1983\u0003\u0002\u0002\u0002\u028e\u19af\u0003\u0002\u0002\u0002\u0290", + "\u19b1\u0003\u0002\u0002\u0002\u0292\u19b8\u0003\u0002\u0002\u0002\u0294", + "\u19ca\u0003\u0002\u0002\u0002\u0296\u19cc\u0003\u0002\u0002\u0002\u0298", + "\u19ce\u0003\u0002\u0002\u0002\u029a\u19f3\u0003\u0002\u0002\u0002\u029c", + "\u19f5\u0003\u0002\u0002\u0002\u029e\u19f7\u0003\u0002\u0002\u0002\u02a0", + "\u19fe\u0003\u0002\u0002\u0002\u02a2\u1a00\u0003\u0002\u0002\u0002\u02a4", + "\u1a02\u0003\u0002\u0002\u0002\u02a6\u1a23\u0003\u0002\u0002\u0002\u02a8", + "\u1a4d\u0003\u0002\u0002\u0002\u02aa\u1a4f\u0003\u0002\u0002\u0002\u02ac", + "\u1a6e\u0003\u0002\u0002\u0002\u02ae\u1a93\u0003\u0002\u0002\u0002\u02b0", + "\u1aa5\u0003\u0002\u0002\u0002\u02b2\u1aa7\u0003\u0002\u0002\u0002\u02b4", + "\u1abb\u0003\u0002\u0002\u0002\u02b6\u1ad7\u0003\u0002\u0002\u0002\u02b8", + "\u1b1e\u0003\u0002\u0002\u0002\u02ba\u1b20\u0003\u0002\u0002\u0002\u02bc", + "\u1b47\u0003\u0002\u0002\u0002\u02be\u1b50\u0003\u0002\u0002\u0002\u02c0", + "\u1b68\u0003\u0002\u0002\u0002\u02c2\u1b6f\u0003\u0002\u0002\u0002\u02c4", + "\u1b77\u0003\u0002\u0002\u0002\u02c6\u1b79\u0003\u0002\u0002\u0002\u02c8", + "\u1b8c\u0003\u0002\u0002\u0002\u02ca\u1ba3\u0003\u0002\u0002\u0002\u02cc", + "\u1ba5\u0003\u0002\u0002\u0002\u02ce\u1bb7\u0003\u0002\u0002\u0002\u02d0", + "\u1bbc\u0003\u0002\u0002\u0002\u02d2\u1bc6\u0003\u0002\u0002\u0002\u02d4", + "\u1bcd\u0003\u0002\u0002\u0002\u02d6\u1bd5\u0003\u0002\u0002\u0002\u02d8", + "\u1bf6\u0003\u0002\u0002\u0002\u02da\u1c0d\u0003\u0002\u0002\u0002\u02dc", + "\u1c12\u0003\u0002\u0002\u0002\u02de\u1c45\u0003\u0002\u0002\u0002\u02e0", + "\u1c47\u0003\u0002\u0002\u0002\u02e2\u1c4c\u0003\u0002\u0002\u0002\u02e4", + "\u1c50\u0003\u0002\u0002\u0002\u02e6\u1c53\u0003\u0002\u0002\u0002\u02e8", + "\u1c55\u0003\u0002\u0002\u0002\u02ea\u1c57\u0003\u0002\u0002\u0002\u02ec", + "\u1c59\u0003\u0002\u0002\u0002\u02ee\u1c5b\u0003\u0002\u0002\u0002\u02f0", + "\u1c5d\u0003\u0002\u0002\u0002\u02f2\u1c82\u0003\u0002\u0002\u0002\u02f4", + "\u1c95\u0003\u0002\u0002\u0002\u02f6\u1ca0\u0003\u0002\u0002\u0002\u02f8", + "\u1ca2\u0003\u0002\u0002\u0002\u02fa\u1cb2\u0003\u0002\u0002\u0002\u02fc", + "\u1cb4\u0003\u0002\u0002\u0002\u02fe\u1ccb\u0003\u0002\u0002\u0002\u0300", + "\u1cee\u0003\u0002\u0002\u0002\u0302\u1d04\u0003\u0002\u0002\u0002\u0304", + "\u1d08\u0003\u0002\u0002\u0002\u0306\u1d0a\u0003\u0002\u0002\u0002\u0308", + "\u1d0e\u0003\u0002\u0002\u0002\u030a\u1d2a\u0003\u0002\u0002\u0002\u030c", + "\u1d32\u0003\u0002\u0002\u0002\u030e\u1d37\u0003\u0002\u0002\u0002\u0310", + "\u1d3b\u0003\u0002\u0002\u0002\u0312\u1d45\u0003\u0002\u0002\u0002\u0314", + "\u1d47\u0003\u0002\u0002\u0002\u0316\u1d4f\u0003\u0002\u0002\u0002\u0318", + "\u1d51\u0003\u0002\u0002\u0002\u031a\u1d57\u0003\u0002\u0002\u0002\u031c", + "\u1d59\u0003\u0002\u0002\u0002\u031e\u1d5e\u0003\u0002\u0002\u0002\u0320", + "\u1da0\u0003\u0002\u0002\u0002\u0322\u1da2\u0003\u0002\u0002\u0002\u0324", + "\u1db2\u0003\u0002\u0002\u0002\u0326\u1dc8\u0003\u0002\u0002\u0002\u0328", + "\u1dd4\u0003\u0002\u0002\u0002\u032a\u1def\u0003\u0002\u0002\u0002\u032c", + "\u1df6\u0003\u0002\u0002\u0002\u032e\u1dff\u0003\u0002\u0002\u0002\u0330", + "\u1e0f\u0003\u0002\u0002\u0002\u0332\u1e11\u0003\u0002\u0002\u0002\u0334", + "\u1e1a\u0003\u0002\u0002\u0002\u0336\u1e1c\u0003\u0002\u0002\u0002\u0338", + "\u1e43\u0003\u0002\u0002\u0002\u033a\u1e64\u0003\u0002\u0002\u0002\u033c", + "\u1e81\u0003\u0002\u0002\u0002\u033e\u1e85\u0003\u0002\u0002\u0002\u0340", + "\u1e8c\u0003\u0002\u0002\u0002\u0342\u1e8e\u0003\u0002\u0002\u0002\u0344", + "\u1e98\u0003\u0002\u0002\u0002\u0346\u1ea8\u0003\u0002\u0002\u0002\u0348", + "\u1ead\u0003\u0002\u0002\u0002\u034a\u1ebd\u0003\u0002\u0002\u0002\u034c", + "\u1ebf\u0003\u0002\u0002\u0002\u034e\u1ecb\u0003\u0002\u0002\u0002\u0350", + "\u1ecd\u0003\u0002\u0002\u0002\u0352\u1ecf\u0003\u0002\u0002\u0002\u0354", + "\u1ef9\u0003\u0002\u0002\u0002\u0356\u1f09\u0003\u0002\u0002\u0002\u0358", + "\u1f16\u0003\u0002\u0002\u0002\u035a\u1f19\u0003\u0002\u0002\u0002\u035c", + "\u1f3e\u0003\u0002\u0002\u0002\u035e\u1f53\u0003\u0002\u0002\u0002\u0360", + "\u1f55\u0003\u0002\u0002\u0002\u0362\u1f57\u0003\u0002\u0002\u0002\u0364", + "\u1f5d\u0003\u0002\u0002\u0002\u0366\u1f5f\u0003\u0002\u0002\u0002\u0368", + "\u1f9b\u0003\u0002\u0002\u0002\u036a\u1f9d\u0003\u0002\u0002\u0002\u036c", + "\u1f9f\u0003\u0002\u0002\u0002\u036e\u1fa1\u0003\u0002\u0002\u0002\u0370", + "\u1fbf\u0003\u0002\u0002\u0002\u0372\u1fc1\u0003\u0002\u0002\u0002\u0374", + "\u1fd5\u0003\u0002\u0002\u0002\u0376\u1fd7\u0003\u0002\u0002\u0002\u0378", + "\u1fde\u0003\u0002\u0002\u0002\u037a\u1fe2\u0003\u0002\u0002\u0002\u037c", + "\u1fe6\u0003\u0002\u0002\u0002\u037e\u1fea\u0003\u0002\u0002\u0002\u0380", + "\u1ff1\u0003\u0002\u0002\u0002\u0382\u1ff5\u0003\u0002\u0002\u0002\u0384", + "\u1ffc\u0003\u0002\u0002\u0002\u0386\u2001\u0003\u0002\u0002\u0002\u0388", + "\u2009\u0003\u0002\u0002\u0002\u038a\u2018\u0003\u0002\u0002\u0002\u038c", + "\u201b\u0003\u0002\u0002\u0002\u038e\u2020\u0003\u0002\u0002\u0002\u0390", + "\u2024\u0003\u0002\u0002\u0002\u0392\u2035\u0003\u0002\u0002\u0002\u0394", + "\u203b\u0003\u0002\u0002\u0002\u0396\u2045\u0003\u0002\u0002\u0002\u0398", + "\u2052\u0003\u0002\u0002\u0002\u039a\u2056\u0003\u0002\u0002\u0002\u039c", + "\u2064\u0003\u0002\u0002\u0002\u039e\u2066\u0003\u0002\u0002\u0002\u03a0", + "\u2074\u0003\u0002\u0002\u0002\u03a2\u2085\u0003\u0002\u0002\u0002\u03a4", + "\u209e\u0003\u0002\u0002\u0002\u03a6\u20a8\u0003\u0002\u0002\u0002\u03a8", + "\u20ac\u0003\u0002\u0002\u0002\u03aa\u20cf\u0003\u0002\u0002\u0002\u03ac", + "\u20db\u0003\u0002\u0002\u0002\u03ae\u20e6\u0003\u0002\u0002\u0002\u03b0", + "\u20ec\u0003\u0002\u0002\u0002\u03b2\u20f7\u0003\u0002\u0002\u0002\u03b4", + "\u2103\u0003\u0002\u0002\u0002\u03b6\u210b\u0003\u0002\u0002\u0002\u03b8", + "\u211a\u0003\u0002\u0002\u0002\u03ba\u211e\u0003\u0002\u0002\u0002\u03bc", + "\u2135\u0003\u0002\u0002\u0002\u03be\u2138\u0003\u0002\u0002\u0002\u03c0", + "\u213e\u0003\u0002\u0002\u0002\u03c2\u2143\u0003\u0002\u0002\u0002\u03c4", + "\u214b\u0003\u0002\u0002\u0002\u03c6\u2153\u0003\u0002\u0002\u0002\u03c8", + "\u2156\u0003\u0002\u0002\u0002\u03ca\u2166\u0003\u0002\u0002\u0002\u03cc", + "\u216b\u0003\u0002\u0002\u0002\u03ce\u216f\u0003\u0002\u0002\u0002\u03d0", + "\u2197\u0003\u0002\u0002\u0002\u03d2\u2199\u0003\u0002\u0002\u0002\u03d4", + "\u21af\u0003\u0002\u0002\u0002\u03d6\u21b1\u0003\u0002\u0002\u0002\u03d8", + "\u21b6\u0003\u0002\u0002\u0002\u03da\u21b8\u0003\u0002\u0002\u0002\u03dc", + "\u21ba\u0003\u0002\u0002\u0002\u03de\u21bc\u0003\u0002\u0002\u0002\u03e0", + "\u21c0\u0003\u0002\u0002\u0002\u03e2\u21c5\u0003\u0002\u0002\u0002\u03e4", + "\u21cb\u0003\u0002\u0002\u0002\u03e6\u21cf\u0003\u0002\u0002\u0002\u03e8", + "\u21d5\u0003\u0002\u0002\u0002\u03ea\u21e3\u0003\u0002\u0002\u0002\u03ec", + "\u21f7\u0003\u0002\u0002\u0002\u03ee\u21fc\u0003\u0002\u0002\u0002\u03f0", + "\u2209\u0003\u0002\u0002\u0002\u03f2\u220b\u0003\u0002\u0002\u0002\u03f4", + "\u2219\u0003\u0002\u0002\u0002\u03f6\u2223\u0003\u0002\u0002\u0002\u03f8", + "\u2229\u0003\u0002\u0002\u0002\u03fa\u222b\u0003\u0002\u0002\u0002\u03fc", + "\u222e\u0003\u0002\u0002\u0002\u03fe\u2237\u0003\u0002\u0002\u0002\u0400", + "\u224f\u0003\u0002\u0002\u0002\u0402\u225e\u0003\u0002\u0002\u0002\u0404", + "\u2260\u0003\u0002\u0002\u0002\u0406\u2275\u0003\u0002\u0002\u0002\u0408", + "\u2284\u0003\u0002\u0002\u0002\u040a\u229a\u0003\u0002\u0002\u0002\u040c", + "\u22a1\u0003\u0002\u0002\u0002\u040e\u22ae\u0003\u0002\u0002\u0002\u0410", + "\u22b1\u0003\u0002\u0002\u0002\u0412\u22c6\u0003\u0002\u0002\u0002\u0414", + "\u22ca\u0003\u0002\u0002\u0002\u0416\u22d4\u0003\u0002\u0002\u0002\u0418", + "\u22dd\u0003\u0002\u0002\u0002\u041a\u22ee\u0003\u0002\u0002\u0002\u041c", + "\u2319\u0003\u0002\u0002\u0002\u041e\u2322\u0003\u0002\u0002\u0002\u0420", + "\u232e\u0003\u0002\u0002\u0002\u0422\u2336\u0003\u0002\u0002\u0002\u0424", + "\u233a\u0003\u0002\u0002\u0002\u0426\u235b\u0003\u0002\u0002\u0002\u0428", + "\u235d\u0003\u0002\u0002\u0002\u042a\u2368\u0003\u0002\u0002\u0002\u042c", + "\u236a\u0003\u0002\u0002\u0002\u042e\u2372\u0003\u0002\u0002\u0002\u0430", + "\u237d\u0003\u0002\u0002\u0002\u0432\u239e\u0003\u0002\u0002\u0002\u0434", + "\u23a1\u0003\u0002\u0002\u0002\u0436\u23b6\u0003\u0002\u0002\u0002\u0438", + "\u23b9\u0003\u0002\u0002\u0002\u043a\u23bc\u0003\u0002\u0002\u0002\u043c", + "\u23c0\u0003\u0002\u0002\u0002\u043e\u23d3\u0003\u0002\u0002\u0002\u0440", + "\u23d5\u0003\u0002\u0002\u0002\u0442\u23e6\u0003\u0002\u0002\u0002\u0444", + "\u23ed\u0003\u0002\u0002\u0002\u0446\u23f2\u0003\u0002\u0002\u0002\u0448", + "\u2409\u0003\u0002\u0002\u0002\u044a\u2413\u0003\u0002\u0002\u0002\u044c", + "\u2415\u0003\u0002\u0002\u0002\u044e\u2423\u0003\u0002\u0002\u0002\u0450", + "\u2431\u0003\u0002\u0002\u0002\u0452\u2455\u0003\u0002\u0002\u0002\u0454", + "\u2457\u0003\u0002\u0002\u0002\u0456\u2475\u0003\u0002\u0002\u0002\u0458", + "\u247a\u0003\u0002\u0002\u0002\u045a\u247c\u0003\u0002\u0002\u0002\u045c", + "\u2488\u0003\u0002\u0002\u0002\u045e\u249c\u0003\u0002\u0002\u0002\u0460", + "\u249e\u0003\u0002\u0002\u0002\u0462\u24a1\u0003\u0002\u0002\u0002\u0464", + "\u24bb\u0003\u0002\u0002\u0002\u0466\u24bd\u0003\u0002\u0002\u0002\u0468", + "\u24c1\u0003\u0002\u0002\u0002\u046a\u24d0\u0003\u0002\u0002\u0002\u046c", + "\u24dc\u0003\u0002\u0002\u0002\u046e\u24e4\u0003\u0002\u0002\u0002\u0470", + "\u24e8\u0003\u0002\u0002\u0002\u0472\u24f5\u0003\u0002\u0002\u0002\u0474", + "\u24fb\u0003\u0002\u0002\u0002\u0476\u250a\u0003\u0002\u0002\u0002\u0478", + "\u251e\u0003\u0002\u0002\u0002\u047a\u2527\u0003\u0002\u0002\u0002\u047c", + "\u2529\u0003\u0002\u0002\u0002\u047e\u2530\u0003\u0002\u0002\u0002\u0480", + "\u2535\u0003\u0002\u0002\u0002\u0482\u2542\u0003\u0002\u0002\u0002\u0484", + "\u254a\u0003\u0002\u0002\u0002\u0486\u254e\u0003\u0002\u0002\u0002\u0488", + "\u255c\u0003\u0002\u0002\u0002\u048a\u2564\u0003\u0002\u0002\u0002\u048c", + "\u256c\u0003\u0002\u0002\u0002\u048e\u256e\u0003\u0002\u0002\u0002\u0490", + "\u257a\u0003\u0002\u0002\u0002\u0492\u2594\u0003\u0002\u0002\u0002\u0494", + "\u2596\u0003\u0002\u0002\u0002\u0496\u25a4\u0003\u0002\u0002\u0002\u0498", + "\u25a9\u0003\u0002\u0002\u0002\u049a\u25bb\u0003\u0002\u0002\u0002\u049c", + "\u25bf\u0003\u0002\u0002\u0002\u049e\u25c7\u0003\u0002\u0002\u0002\u04a0", + "\u25d1\u0003\u0002\u0002\u0002\u04a2\u25d9\u0003\u0002\u0002\u0002\u04a4", + "\u25df\u0003\u0002\u0002\u0002\u04a6\u25e4\u0003\u0002\u0002\u0002\u04a8", + "\u25eb\u0003\u0002\u0002\u0002\u04aa\u2604\u0003\u0002\u0002\u0002\u04ac", + "\u2617\u0003\u0002\u0002\u0002\u04ae\u261b\u0003\u0002\u0002\u0002\u04b0", + "\u261e\u0003\u0002\u0002\u0002\u04b2\u2634\u0003\u0002\u0002\u0002\u04b4", + "\u2639\u0003\u0002\u0002\u0002\u04b6\u264c\u0003\u0002\u0002\u0002\u04b8", + "\u264e\u0003\u0002\u0002\u0002\u04ba\u265e\u0003\u0002\u0002\u0002\u04bc", + "\u2666\u0003\u0002\u0002\u0002\u04be\u266b\u0003\u0002\u0002\u0002\u04c0", + "\u266f\u0003\u0002\u0002\u0002\u04c2\u267a\u0003\u0002\u0002\u0002\u04c4", + "\u267d\u0003\u0002\u0002\u0002\u04c6\u268f\u0003\u0002\u0002\u0002\u04c8", + "\u2691\u0003\u0002\u0002\u0002\u04ca\u269e\u0003\u0002\u0002\u0002\u04cc", + "\u26a9\u0003\u0002\u0002\u0002\u04ce\u26b7\u0003\u0002\u0002\u0002\u04d0", + "\u26bc\u0003\u0002\u0002\u0002\u04d2\u26be\u0003\u0002\u0002\u0002\u04d4", + "\u26c8\u0003\u0002\u0002\u0002\u04d6\u26ca\u0003\u0002\u0002\u0002\u04d8", + "\u26cf\u0003\u0002\u0002\u0002\u04da\u26de\u0003\u0002\u0002\u0002\u04dc", + "\u2704\u0003\u0002\u0002\u0002\u04de\u2706\u0003\u0002\u0002\u0002\u04e0", + "\u270e\u0003\u0002\u0002\u0002\u04e2\u271a\u0003\u0002\u0002\u0002\u04e4", + "\u273a\u0003\u0002\u0002\u0002\u04e6\u274e\u0003\u0002\u0002\u0002\u04e8", + "\u2750\u0003\u0002\u0002\u0002\u04ea\u2754\u0003\u0002\u0002\u0002\u04ec", + "\u2787\u0003\u0002\u0002\u0002\u04ee\u2789\u0003\u0002\u0002\u0002\u04f0", + "\u27a7\u0003\u0002\u0002\u0002\u04f2\u27a9\u0003\u0002\u0002\u0002\u04f4", + "\u27be\u0003\u0002\u0002\u0002\u04f6\u27dc\u0003\u0002\u0002\u0002\u04f8", + "\u27e0\u0003\u0002\u0002\u0002\u04fa\u27e3\u0003\u0002\u0002\u0002\u04fc", + "\u27f6\u0003\u0002\u0002\u0002\u04fe\u27fe\u0003\u0002\u0002\u0002\u0500", + "\u2810\u0003\u0002\u0002\u0002\u0502\u2817\u0003\u0002\u0002\u0002\u0504", + "\u282f\u0003\u0002\u0002\u0002\u0506\u2831\u0003\u0002\u0002\u0002\u0508", + "\u2882\u0003\u0002\u0002\u0002\u050a\u2887\u0003\u0002\u0002\u0002\u050c", + "\u288d\u0003\u0002\u0002\u0002\u050e\u288f\u0003\u0002\u0002\u0002\u0510", + "\u28ce\u0003\u0002\u0002\u0002\u0512\u29f7\u0003\u0002\u0002\u0002\u0514", + "\u29f9\u0003\u0002\u0002\u0002\u0516\u29fb\u0003\u0002\u0002\u0002\u0518", + "\u29fd\u0003\u0002\u0002\u0002\u051a\u29ff\u0003\u0002\u0002\u0002\u051c", + "\u2a0c\u0003\u0002\u0002\u0002\u051e\u2a15\u0003\u0002\u0002\u0002\u0520", + "\u2a1e\u0003\u0002\u0002\u0002\u0522\u2a20\u0003\u0002\u0002\u0002\u0524", + "\u2a31\u0003\u0002\u0002\u0002\u0526\u2a35\u0003\u0002\u0002\u0002\u0528", + "\u2a40\u0003\u0002\u0002\u0002\u052a\u2a42\u0003\u0002\u0002\u0002\u052c", + "\u2a5a\u0003\u0002\u0002\u0002\u052e\u2a6d\u0003\u0002\u0002\u0002\u0530", + "\u2a7f\u0003\u0002\u0002\u0002\u0532\u2a94\u0003\u0002\u0002\u0002\u0534", + "\u2aa1\u0003\u0002\u0002\u0002\u0536\u2aa4\u0003\u0002\u0002\u0002\u0538", + "\u2aad\u0003\u0002\u0002\u0002\u053a\u2ab3\u0003\u0002\u0002\u0002\u053c", + "\u2abb\u0003\u0002\u0002\u0002\u053e\u2abe\u0003\u0002\u0002\u0002\u0540", + "\u2ac9\u0003\u0002\u0002\u0002\u0542\u2ad3\u0003\u0002\u0002\u0002\u0544", + "\u2ad5\u0003\u0002\u0002\u0002\u0546\u2ae3\u0003\u0002\u0002\u0002\u0548", + "\u2aec\u0003\u0002\u0002\u0002\u054a\u2afe\u0003\u0002\u0002\u0002\u054c", + "\u2b02\u0003\u0002\u0002\u0002\u054e\u2b04\u0003\u0002\u0002\u0002\u0550", + "\u2b0d\u0003\u0002\u0002\u0002\u0552\u2b1a\u0003\u0002\u0002\u0002\u0554", + "\u2b1c\u0003\u0002\u0002\u0002\u0556\u2b1e\u0003\u0002\u0002\u0002\u0558", + "\u2b20\u0003\u0002\u0002\u0002\u055a\u2b22\u0003\u0002\u0002\u0002\u055c", + "\u2b24\u0003\u0002\u0002\u0002\u055e\u2b26\u0003\u0002\u0002\u0002\u0560", + "\u2b28\u0003\u0002\u0002\u0002\u0562\u2b34\u0003\u0002\u0002\u0002\u0564", + "\u2b36\u0003\u0002\u0002\u0002\u0566\u2b3b\u0003\u0002\u0002\u0002\u0568", + "\u2b3d\u0003\u0002\u0002\u0002\u056a\u2b3f\u0003\u0002\u0002\u0002\u056c", + "\u2b41\u0003\u0002\u0002\u0002\u056e\u2b46\u0003\u0002\u0002\u0002\u0570", + "\u2b4e\u0003\u0002\u0002\u0002\u0572\u2b50\u0003\u0002\u0002\u0002\u0574", + "\u2b56\u0003\u0002\u0002\u0002\u0576\u2b58\u0003\u0002\u0002\u0002\u0578", + "\u2b64\u0003\u0002\u0002\u0002\u057a\u2b66\u0003\u0002\u0002\u0002\u057c", + "\u2b6e\u0003\u0002\u0002\u0002\u057e\u2b76\u0003\u0002\u0002\u0002\u0580", + "\u2b7e\u0003\u0002\u0002\u0002\u0582\u2b83\u0003\u0002\u0002\u0002\u0584", + "\u2b88\u0003\u0002\u0002\u0002\u0586\u2b97\u0003\u0002\u0002\u0002\u0588", + "\u2b99\u0003\u0002\u0002\u0002\u058a\u2ba0\u0003\u0002\u0002\u0002\u058c", + "\u2ba4\u0003\u0002\u0002\u0002\u058e\u2ba6\u0003\u0002\u0002\u0002\u0590", + "\u2bab\u0003\u0002\u0002\u0002\u0592\u2bad\u0003\u0002\u0002\u0002\u0594", + "\u2bc3\u0003\u0002\u0002\u0002\u0596\u2bc5\u0003\u0002\u0002\u0002\u0598", + "\u2be0\u0003\u0002\u0002\u0002\u059a\u2be8\u0003\u0002\u0002\u0002\u059c", + "\u2bea\u0003\u0002\u0002\u0002\u059e\u2bec\u0003\u0002\u0002\u0002\u05a0", + "\u2bee\u0003\u0002\u0002\u0002\u05a2\u2c08\u0003\u0002\u0002\u0002\u05a4", + "\u2c0a\u0003\u0002\u0002\u0002\u05a6\u2c12\u0003\u0002\u0002\u0002\u05a8", + "\u2c16\u0003\u0002\u0002\u0002\u05aa\u2c1f\u0003\u0002\u0002\u0002\u05ac", + "\u2c2e\u0003\u0002\u0002\u0002\u05ae\u2c43\u0003\u0002\u0002\u0002\u05b0", + "\u2c6d\u0003\u0002\u0002\u0002\u05b2\u2c74\u0003\u0002\u0002\u0002\u05b4", + "\u2c80\u0003\u0002\u0002\u0002\u05b6\u2ca1\u0003\u0002\u0002\u0002\u05b8", + "\u2ca3\u0003\u0002\u0002\u0002\u05ba\u2ced\u0003\u0002\u0002\u0002\u05bc", + "\u2cf2\u0003\u0002\u0002\u0002\u05be\u2d05\u0003\u0002\u0002\u0002\u05c0", + "\u2d0f\u0003\u0002\u0002\u0002\u05c2\u2d22\u0003\u0002\u0002\u0002\u05c4", + "\u2d4c\u0003\u0002\u0002\u0002\u05c6\u2e94\u0003\u0002\u0002\u0002\u05c8", + "\u2ed4\u0003\u0002\u0002\u0002\u05ca\u2ed6\u0003\u0002\u0002\u0002\u05cc", + "\u2ed8\u0003\u0002\u0002\u0002\u05ce\u2edb\u0003\u0002\u0002\u0002\u05d0", + "\u2edf\u0003\u0002\u0002\u0002\u05d2\u2ee5\u0003\u0002\u0002\u0002\u05d4", + "\u2ee7\u0003\u0002\u0002\u0002\u05d6\u2f36\u0003\u0002\u0002\u0002\u05d8", + "\u2f38\u0003\u0002\u0002\u0002\u05da\u2f3a\u0003\u0002\u0002\u0002\u05dc", + "\u2f3c\u0003\u0002\u0002\u0002\u05de\u2f3e\u0003\u0002\u0002\u0002\u05e0", + "\u05e1\u0005\u0004\u0003\u0002\u05e1\u05e2\u0007\u0002\u0002\u0003\u05e2", + "\u0003\u0003\u0002\u0002\u0002\u05e3\u05e6\u0005\u0006\u0004\u0002\u05e4", + "\u05e6\u0005\u0542\u02a2\u0002\u05e5\u05e3\u0003\u0002\u0002\u0002\u05e5", + "\u05e4\u0003\u0002\u0002\u0002\u05e6\u05e8\u0003\u0002\u0002\u0002\u05e7", + "\u05e9\u0007\u08c3\u0002\u0002\u05e8\u05e7\u0003\u0002\u0002\u0002\u05e8", + "\u05e9\u0003\u0002\u0002\u0002\u05e9\u05eb\u0003\u0002\u0002\u0002\u05ea", + "\u05e5\u0003\u0002\u0002\u0002\u05eb\u05ee\u0003\u0002\u0002\u0002\u05ec", + "\u05ea\u0003\u0002\u0002\u0002\u05ec\u05ed\u0003\u0002\u0002\u0002\u05ed", + "\u05ef\u0003\u0002\u0002\u0002\u05ee\u05ec\u0003\u0002\u0002\u0002\u05ef", + "\u05f0\u0007\u0002\u0002\u0003\u05f0\u0005\u0003\u0002\u0002\u0002\u05f1", + "\u062a\u0005\u0402\u0202\u0002\u05f2\u062a\u0005\u0292\u014a\u0002\u05f3", + "\u062a\u0005\u0298\u014d\u0002\u05f4\u062a\u0005\n\u0006\u0002\u05f5", + "\u062a\u0005\u001a\u000e\u0002\u05f6\u062a\u0005*\u0016\u0002\u05f7", + "\u062a\u0005\u00aaV\u0002\u05f8\u062a\u0005\u00acW\u0002\u05f9\u062a", + "\u00054\u001b\u0002\u05fa\u062a\u0005Z.\u0002\u05fb\u062a\u0005\u02f0", + "\u0179\u0002\u05fc\u062a\u0005\u01ac\u00d7\u0002\u05fd\u062a\u0005\u00e8", + "u\u0002\u05fe\u062a\u0005\u018a\u00c6\u0002\u05ff\u062a\u0005\u01de", + "\u00f0\u0002\u0600\u062a\u0005\u01e8\u00f5\u0002\u0601\u062a\u0005\u0112", + "\u008a\u0002\u0602\u062a\u0005\u0196\u00cc\u0002\u0603\u062a\u0005\u0136", + "\u009c\u0002\u0604\u062a\u0005\u0144\u00a3\u0002\u0605\u062a\u0005\u0162", + "\u00b2\u0002\u0606\u062a\u0005\u015e\u00b0\u0002\u0607\u062a\u0005\f", + "\u0007\u0002\u0608\u062a\u00050\u0019\u0002\u0609\u062a\u0005\u001c", + "\u000f\u0002\u060a\u062a\u0005\u001e\u0010\u0002\u060b\u062a\u0005\u00b6", + "\\\u0002\u060c\u062a\u0005\u0208\u0105\u0002\u060d\u062a\u0005\u01bc", + "\u00df\u0002\u060e\u062a\u0005\u0206\u0104\u0002\u060f\u062a\u0005\u0202", + "\u0102\u0002\u0610\u062a\u0005\u019a\u00ce\u0002\u0611\u062a\u0005\u0184", + "\u00c3\u0002\u0612\u062a\u0005\u01fe\u0100\u0002\u0613\u062a\u0005\u01f8", + "\u00fd\u0002\u0614\u062a\u0005\u0110\u0089\u0002\u0615\u062a\u0005\u00b0", + "Y\u0002\u0616\u062a\u00056\u001c\u0002\u0617\u062a\u0005n8\u0002\u0618", + "\u062a\u0005\u028e\u0148\u0002\u0619\u062a\u0005\b\u0005\u0002\u061a", + "\u062a\u0005\u0018\r\u0002\u061b\u062a\u0005(\u0015\u0002\u061c\u062a", + "\u0005\u00a8U\u0002\u061d\u062a\u00052\u001a\u0002\u061e\u062a\u0005", + "X-\u0002\u061f\u062a\u0005\u03f6\u01fc\u0002\u0620\u062a\u0005\u0284", + "\u0143\u0002\u0621\u062a\u0005\u0286\u0144\u0002\u0622\u062a\u0005\u017c", + "\u00bf\u0002\u0623\u062a\u0005\u017e\u00c0\u0002\u0624\u062a\u0005\u0288", + "\u0145\u0002\u0625\u062a\u0005\u0290\u0149\u0002\u0626\u062a\u0005\u0388", + "\u01c5\u0002\u0627\u062a\u0005\u0180\u00c1\u0002\u0628\u062a\u0005\u03e4", + "\u01f3\u0002\u0629\u05f1\u0003\u0002\u0002\u0002\u0629\u05f2\u0003\u0002", + "\u0002\u0002\u0629\u05f3\u0003\u0002\u0002\u0002\u0629\u05f4\u0003\u0002", + "\u0002\u0002\u0629\u05f5\u0003\u0002\u0002\u0002\u0629\u05f6\u0003\u0002", + "\u0002\u0002\u0629\u05f7\u0003\u0002\u0002\u0002\u0629\u05f8\u0003\u0002", + "\u0002\u0002\u0629\u05f9\u0003\u0002\u0002\u0002\u0629\u05fa\u0003\u0002", + "\u0002\u0002\u0629\u05fb\u0003\u0002\u0002\u0002\u0629\u05fc\u0003\u0002", + "\u0002\u0002\u0629\u05fd\u0003\u0002\u0002\u0002\u0629\u05fe\u0003\u0002", + "\u0002\u0002\u0629\u05ff\u0003\u0002\u0002\u0002\u0629\u0600\u0003\u0002", + "\u0002\u0002\u0629\u0601\u0003\u0002\u0002\u0002\u0629\u0602\u0003\u0002", + "\u0002\u0002\u0629\u0603\u0003\u0002\u0002\u0002\u0629\u0604\u0003\u0002", + "\u0002\u0002\u0629\u0605\u0003\u0002\u0002\u0002\u0629\u0606\u0003\u0002", + "\u0002\u0002\u0629\u0607\u0003\u0002\u0002\u0002\u0629\u0608\u0003\u0002", + "\u0002\u0002\u0629\u0609\u0003\u0002\u0002\u0002\u0629\u060a\u0003\u0002", + "\u0002\u0002\u0629\u060b\u0003\u0002\u0002\u0002\u0629\u060c\u0003\u0002", + "\u0002\u0002\u0629\u060d\u0003\u0002\u0002\u0002\u0629\u060e\u0003\u0002", + "\u0002\u0002\u0629\u060f\u0003\u0002\u0002\u0002\u0629\u0610\u0003\u0002", + "\u0002\u0002\u0629\u0611\u0003\u0002\u0002\u0002\u0629\u0612\u0003\u0002", + "\u0002\u0002\u0629\u0613\u0003\u0002\u0002\u0002\u0629\u0614\u0003\u0002", + "\u0002\u0002\u0629\u0615\u0003\u0002\u0002\u0002\u0629\u0616\u0003\u0002", + "\u0002\u0002\u0629\u0617\u0003\u0002\u0002\u0002\u0629\u0618\u0003\u0002", + "\u0002\u0002\u0629\u0619\u0003\u0002\u0002\u0002\u0629\u061a\u0003\u0002", + "\u0002\u0002\u0629\u061b\u0003\u0002\u0002\u0002\u0629\u061c\u0003\u0002", + "\u0002\u0002\u0629\u061d\u0003\u0002\u0002\u0002\u0629\u061e\u0003\u0002", + "\u0002\u0002\u0629\u061f\u0003\u0002\u0002\u0002\u0629\u0620\u0003\u0002", + "\u0002\u0002\u0629\u0621\u0003\u0002\u0002\u0002\u0629\u0622\u0003\u0002", + "\u0002\u0002\u0629\u0623\u0003\u0002\u0002\u0002\u0629\u0624\u0003\u0002", + "\u0002\u0002\u0629\u0625\u0003\u0002\u0002\u0002\u0629\u0626\u0003\u0002", + "\u0002\u0002\u0629\u0627\u0003\u0002\u0002\u0002\u0629\u0628\u0003\u0002", + "\u0002\u0002\u062a\u0007\u0003\u0002\u0002\u0002\u062b\u062c\u0007\u019d", + "\u0002\u0002\u062c\u062d\u0007\u0230\u0002\u0002\u062d\u062e\u0005\u0580", + "\u02c1\u0002\u062e\u062f\u0007\u08c3\u0002\u0002\u062f\t\u0003\u0002", + "\u0002\u0002\u0630\u0631\u0007)\u0002\u0002\u0631\u0632\u0007\u0230", + "\u0002\u0002\u0632\u0633\u0005\u0580\u02c1\u0002\u0633\u0635\u0007\u00e1", + "\u0002\u0002\u0634\u0636\u0007\u0156\u0002\u0002\u0635\u0634\u0003\u0002", + "\u0002\u0002\u0635\u0636\u0003\u0002\u0002\u0002\u0636\u063a\u0003\u0002", + "\u0002\u0002\u0637\u0639\u0005\u0190\u00c9\u0002\u0638\u0637\u0003\u0002", + "\u0002\u0002\u0639\u063c\u0003\u0002\u0002\u0002\u063a\u0638\u0003\u0002", + "\u0002\u0002\u063a\u063b\u0003\u0002\u0002\u0002\u063b\u063f\u0003\u0002", + "\u0002\u0002\u063c\u063a\u0003\u0002\u0002\u0002\u063d\u063e\u0007\u059a", + "\u0002\u0002\u063e\u0640\u0007\u05ea\u0002\u0002\u063f\u063d\u0003\u0002", + "\u0002\u0002\u063f\u0640\u0003\u0002\u0002\u0002\u0640\u0641\u0003\u0002", + "\u0002\u0002\u0641\u0642\u0007\u08c3\u0002\u0002\u0642\u000b\u0003\u0002", + "\u0002\u0002\u0643\u0646\u0007\u0122\u0002\u0002\u0644\u0645\u0007\u0496", + "\u0002\u0002\u0645\u0647\u0007\u0581\u0002\u0002\u0646\u0644\u0003\u0002", + "\u0002\u0002\u0646\u0647\u0003\u0002\u0002\u0002\u0647\u0648\u0003\u0002", + "\u0002\u0002\u0648\u0649\u0007\u0230\u0002\u0002\u0649\u0655\u0005\u0580", + "\u02c1\u0002\u064a\u064b\u0007\u08b1\u0002\u0002\u064b\u0650\u0005\u0396", + "\u01cc\u0002\u064c\u064d\u0007\u08b7\u0002\u0002\u064d\u064f\u0005\u0396", + "\u01cc\u0002\u064e\u064c\u0003\u0002\u0002\u0002\u064f\u0652\u0003\u0002", + "\u0002\u0002\u0650\u064e\u0003\u0002\u0002\u0002\u0650\u0651\u0003\u0002", + "\u0002\u0002\u0651\u0653\u0003\u0002\u0002\u0002\u0652\u0650\u0003\u0002", + "\u0002\u0002\u0653\u0654\u0007\u08b2\u0002\u0002\u0654\u0656\u0003\u0002", + "\u0002\u0002\u0655\u064a\u0003\u0002\u0002\u0002\u0655\u0656\u0003\u0002", + "\u0002\u0002\u0656\u0657\u0003\u0002\u0002\u0002\u0657\u0658\u0007\u0599", + "\u0002\u0002\u0658\u065f\u0005\u05b4\u02db\u0002\u0659\u065e\u0005\u038a", + "\u01c6\u0002\u065a\u065e\u0005\u000e\b\u0002\u065b\u065e\u0005\u0012", + "\n\u0002\u065c\u065e\u0007\u0179\u0002\u0002\u065d\u0659\u0003\u0002", + "\u0002\u0002\u065d\u065a\u0003\u0002\u0002\u0002\u065d\u065b\u0003\u0002", + "\u0002\u0002\u065d\u065c\u0003\u0002\u0002\u0002\u065e\u0661\u0003\u0002", + "\u0002\u0002\u065f\u065d\u0003\u0002\u0002\u0002\u065f\u0660\u0003\u0002", + "\u0002\u0002\u0660\u0673\u0003\u0002\u0002\u0002\u0661\u065f\u0003\u0002", + "\u0002\u0002\u0662\u0664\u0007\u04e4\u0002\u0002\u0663\u0662\u0003\u0002", + "\u0002\u0002\u0663\u0664\u0003\u0002\u0002\u0002\u0664\u0665\u0003\u0002", + "\u0002\u0002\u0665\u066e\t\u0002\u0002\u0002\u0666\u0668\u0007\u015a", + "\u0002\u0002\u0667\u0666\u0003\u0002\u0002\u0002\u0667\u0668\u0003\u0002", + "\u0002\u0002\u0668\u066a\u0003\u0002\u0002\u0002\u0669\u066b\u0005\u039a", + "\u01ce\u0002\u066a\u0669\u0003\u0002\u0002\u0002\u066a\u066b\u0003\u0002", + "\u0002\u0002\u066b\u066c\u0003\u0002\u0002\u0002\u066c\u066f\u0005\u03e8", + "\u01f5\u0002\u066d\u066f\u0005\u038c\u01c7\u0002\u066e\u0667\u0003\u0002", + "\u0002\u0002\u066e\u066d\u0003\u0002\u0002\u0002\u066f\u0674\u0003\u0002", + "\u0002\u0002\u0670\u0671\t\u0003\u0002\u0002\u0671\u0672\u0007\u0811", + "\u0002\u0002\u0672\u0674\u0005\u0564\u02b3\u0002\u0673\u0663\u0003\u0002", + "\u0002\u0002\u0673\u0670\u0003\u0002\u0002\u0002\u0674\u0675\u0003\u0002", + "\u0002\u0002\u0675\u0676\u0007\u08c3\u0002\u0002\u0676\r\u0003\u0002", + "\u0002\u0002\u0677\u0679\u0007\u04ab\u0002\u0002\u0678\u067a\u0005\u0010", + "\t\u0002\u0679\u0678\u0003\u0002\u0002\u0002\u0679\u067a\u0003\u0002", + "\u0002\u0002\u067a\u000f\u0003\u0002\u0002\u0002\u067b\u067c\u0007\u08b1", + "\u0002\u0002\u067c\u067d\u0007\u04b9\u0002\u0002\u067d\u067e\u0005\u04d4", + "\u026b\u0002\u067e\u0682\u0007\u0094\u0002\u0002\u067f\u0683\u00072", + "\u0002\u0002\u0680\u0681\t\u0004\u0002\u0002\u0681\u0683\u0005\u05a6", + "\u02d4\u0002\u0682\u067f\u0003\u0002\u0002\u0002\u0682\u0680\u0003\u0002", + "\u0002\u0002\u0683\u0685\u0003\u0002\u0002\u0002\u0684\u0686\u0005\u0016", + "\f\u0002\u0685\u0684\u0003\u0002\u0002\u0002\u0685\u0686\u0003\u0002", + "\u0002\u0002\u0686\u0687\u0003\u0002\u0002\u0002\u0687\u0688\u0007\u08b2", + "\u0002\u0002\u0688\u0011\u0003\u0002\u0002\u0002\u0689\u068b\u0007\u0592", + "\u0002\u0002\u068a\u068c\u0005\u0014\u000b\u0002\u068b\u068a\u0003\u0002", + "\u0002\u0002\u068b\u068c\u0003\u0002\u0002\u0002\u068c\u0013\u0003\u0002", + "\u0002\u0002\u068d\u068e\u0007\u0578\u0002\u0002\u068e\u068f\u0007\u08b1", + "\u0002\u0002\u068f\u0694\u0005\u0594\u02cb\u0002\u0690\u0691\u0007\u08b7", + "\u0002\u0002\u0691\u0693\u0005\u0594\u02cb\u0002\u0692\u0690\u0003\u0002", + "\u0002\u0002\u0693\u0696\u0003\u0002\u0002\u0002\u0694\u0692\u0003\u0002", + "\u0002\u0002\u0694\u0695\u0003\u0002\u0002\u0002\u0695\u0697\u0003\u0002", + "\u0002\u0002\u0696\u0694\u0003\u0002\u0002\u0002\u0697\u0698\u0007\u08b2", + "\u0002\u0002\u0698\u0015\u0003\u0002\u0002\u0002\u0699\u069a\t\u0005", + "\u0002\u0002\u069a\u069b\u0005\u04d4\u026b\u0002\u069b\u069c\u0007\u0094", + "\u0002\u0002\u069c\u069d\u0005\u05a6\u02d4\u0002\u069d\u0017\u0003\u0002", + "\u0002\u0002\u069e\u069f\u0007\u019d\u0002\u0002\u069f\u06a1\u0007\u04a9", + "\u0002\u0002\u06a0\u06a2\u0007\u0087\u0002\u0002\u06a1\u06a0\u0003\u0002", + "\u0002\u0002\u06a1\u06a2\u0003\u0002\u0002\u0002\u06a2\u06a6\u0003\u0002", + "\u0002\u0002\u06a3\u06a4\u0005\u059c\u02cf\u0002\u06a4\u06a5\u0007\u08aa", + "\u0002\u0002\u06a5\u06a7\u0003\u0002\u0002\u0002\u06a6\u06a3\u0003\u0002", + "\u0002\u0002\u06a6\u06a7\u0003\u0002\u0002\u0002\u06a7\u06a8\u0003\u0002", + "\u0002\u0002\u06a8\u06a9\u0005\u0562\u02b2\u0002\u06a9\u06aa\u0007\u08c3", + "\u0002\u0002\u06aa\u0019\u0003\u0002\u0002\u0002\u06ab\u06ac\u0007)", + "\u0002\u0002\u06ac\u06ad\u0007\u04a9\u0002\u0002\u06ad\u06ae\u0005\u0562", + "\u02b2\u0002\u06ae\u06b0\u0007\u00e1\u0002\u0002\u06af\u06b1\u0007\u0156", + "\u0002\u0002\u06b0\u06af\u0003\u0002\u0002\u0002\u06b0\u06b1\u0003\u0002", + "\u0002\u0002\u06b1\u06b3\u0003\u0002\u0002\u0002\u06b2\u06b4\t\u0006", + "\u0002\u0002\u06b3\u06b2\u0003\u0002\u0002\u0002\u06b3\u06b4\u0003\u0002", + "\u0002\u0002\u06b4\u06b8\u0003\u0002\u0002\u0002\u06b5\u06b7\u0005\u0190", + "\u00c9\u0002\u06b6\u06b5\u0003\u0002\u0002\u0002\u06b7\u06ba\u0003\u0002", + "\u0002\u0002\u06b8\u06b6\u0003\u0002\u0002\u0002\u06b8\u06b9\u0003\u0002", + "\u0002\u0002\u06b9\u06bd\u0003\u0002\u0002\u0002\u06ba\u06b8\u0003\u0002", + "\u0002\u0002\u06bb\u06bc\u0007\u059a\u0002\u0002\u06bc\u06be\u0007\u05ea", + "\u0002\u0002\u06bd\u06bb\u0003\u0002\u0002\u0002\u06bd\u06be\u0003\u0002", + "\u0002\u0002\u06be\u06bf\u0003\u0002\u0002\u0002\u06bf\u06c0\u0007\u08c3", + "\u0002\u0002\u06c0\u001b\u0003\u0002\u0002\u0002\u06c1\u06c4\u0007\u0122", + "\u0002\u0002\u06c2\u06c3\u0007\u0496\u0002\u0002\u06c3\u06c5\u0007\u0581", + "\u0002\u0002\u06c4\u06c2\u0003\u0002\u0002\u0002\u06c4\u06c5\u0003\u0002", + "\u0002\u0002\u06c5\u06c6\u0003\u0002\u0002\u0002\u06c6\u06ca\u0007\u04a9", + "\u0002\u0002\u06c7\u06c8\u0005\u059c\u02cf\u0002\u06c8\u06c9\u0007\u08aa", + "\u0002\u0002\u06c9\u06cb\u0003\u0002\u0002\u0002\u06ca\u06c7\u0003\u0002", + "\u0002\u0002\u06ca\u06cb\u0003\u0002\u0002\u0002\u06cb\u06cc\u0003\u0002", + "\u0002\u0002\u06cc\u06ce\u0005\u0562\u02b2\u0002\u06cd\u06cf\u0005\u038a", + "\u01c6\u0002\u06ce\u06cd\u0003\u0002\u0002\u0002\u06ce\u06cf\u0003\u0002", + "\u0002\u0002\u06cf\u06d0\u0003\u0002\u0002\u0002\u06d0\u06d4\t\u0002", + "\u0002\u0002\u06d1\u06d3\u0005 \u0011\u0002\u06d2\u06d1\u0003\u0002", + "\u0002\u0002\u06d3\u06d6\u0003\u0002\u0002\u0002\u06d4\u06d2\u0003\u0002", + "\u0002\u0002\u06d4\u06d5\u0003\u0002\u0002\u0002\u06d5\u06d7\u0003\u0002", + "\u0002\u0002\u06d6\u06d4\u0003\u0002\u0002\u0002\u06d7\u06d9\u0007\u01bf", + "\u0002\u0002\u06d8\u06da\u0005\u0562\u02b2\u0002\u06d9\u06d8\u0003\u0002", + "\u0002\u0002\u06d9\u06da\u0003\u0002\u0002\u0002\u06da\u06db\u0003\u0002", + "\u0002\u0002\u06db\u06dc\u0007\u08c3\u0002\u0002\u06dc\u001d\u0003\u0002", + "\u0002\u0002\u06dd\u06e0\u0007\u0122\u0002\u0002\u06de\u06df\u0007\u0496", + "\u0002\u0002\u06df\u06e1\u0007\u0581\u0002\u0002\u06e0\u06de\u0003\u0002", + "\u0002\u0002\u06e0\u06e1\u0003\u0002\u0002\u0002\u06e1\u06e2\u0003\u0002", + "\u0002\u0002\u06e2\u06e3\u0007\u04a9\u0002\u0002\u06e3\u06e7\u0007\u0087", + "\u0002\u0002\u06e4\u06e5\u0005\u059c\u02cf\u0002\u06e5\u06e6\u0007\u08aa", + "\u0002\u0002\u06e6\u06e8\u0003\u0002\u0002\u0002\u06e7\u06e4\u0003\u0002", + "\u0002\u0002\u06e7\u06e8\u0003\u0002\u0002\u0002\u06e8\u06e9\u0003\u0002", + "\u0002\u0002\u06e9\u06ea\u0005\u0562\u02b2\u0002\u06ea\u06ee\t\u0002", + "\u0002\u0002\u06eb\u06ed\u0005&\u0014\u0002\u06ec\u06eb\u0003\u0002", + "\u0002\u0002\u06ed\u06f0\u0003\u0002\u0002\u0002\u06ee\u06ec\u0003\u0002", + "\u0002\u0002\u06ee\u06ef\u0003\u0002\u0002\u0002\u06ef\u06f3\u0003\u0002", + "\u0002\u0002\u06f0\u06ee\u0003\u0002\u0002\u0002\u06f1\u06f2\u0007h", + "\u0002\u0002\u06f2\u06f4\u0005\u03b8\u01dd\u0002\u06f3\u06f1\u0003\u0002", + "\u0002\u0002\u06f3\u06f4\u0003\u0002\u0002\u0002\u06f4\u06f5\u0003\u0002", + "\u0002\u0002\u06f5\u06f7\u0007\u01bf\u0002\u0002\u06f6\u06f8\u0005\u0562", + "\u02b2\u0002\u06f7\u06f6\u0003\u0002\u0002\u0002\u06f7\u06f8\u0003\u0002", + "\u0002\u0002\u06f8\u06f9\u0003\u0002\u0002\u0002\u06f9\u06fa\u0007\u08c3", + "\u0002\u0002\u06fa\u001f\u0003\u0002\u0002\u0002\u06fb\u0704\u0005\u03a8", + "\u01d5\u0002\u06fc\u0704\u0005\u039e\u01d0\u0002\u06fd\u0704\u0005\u03a0", + "\u01d1\u0002\u06fe\u0704\u0005\u03a2\u01d2\u0002\u06ff\u0704\u0005\u03a6", + "\u01d4\u0002\u0700\u0704\u0005\u03b0\u01d9\u0002\u0701\u0704\u0005\"", + "\u0012\u0002\u0702\u0704\u0005$\u0013\u0002\u0703\u06fb\u0003\u0002", + "\u0002\u0002\u0703\u06fc\u0003\u0002\u0002\u0002\u0703\u06fd\u0003\u0002", + "\u0002\u0002\u0703\u06fe\u0003\u0002\u0002\u0002\u0703\u06ff\u0003\u0002", + "\u0002\u0002\u0703\u0700\u0003\u0002\u0002\u0002\u0703\u0701\u0003\u0002", + "\u0002\u0002\u0703\u0702\u0003\u0002\u0002\u0002\u0704!\u0003\u0002", + "\u0002\u0002\u0705\u0706\u0007\u0524\u0002\u0002\u0706\u0712\u0005\u05d0", + "\u02e9\u0002\u0707\u0708\u0007\u08b1\u0002\u0002\u0708\u070d\u0005\u0396", + "\u01cc\u0002\u0709\u070a\u0007\u08b7\u0002\u0002\u070a\u070c\u0005\u0396", + "\u01cc\u0002\u070b\u0709\u0003\u0002\u0002\u0002\u070c\u070f\u0003\u0002", + "\u0002\u0002\u070d\u070b\u0003\u0002\u0002\u0002\u070d\u070e\u0003\u0002", + "\u0002\u0002\u070e\u0710\u0003\u0002\u0002\u0002\u070f\u070d\u0003\u0002", + "\u0002\u0002\u0710\u0711\u0007\u08b2\u0002\u0002\u0711\u0713\u0003\u0002", + "\u0002\u0002\u0712\u0707\u0003\u0002\u0002\u0002\u0712\u0713\u0003\u0002", + "\u0002\u0002\u0713\u0714\u0003\u0002\u0002\u0002\u0714\u0715\u0007\u08c3", + "\u0002\u0002\u0715#\u0003\u0002\u0002\u0002\u0716\u0717\u0007\u0230", + "\u0002\u0002\u0717\u0723\u0005\u05d0\u02e9\u0002\u0718\u0719\u0007\u08b1", + "\u0002\u0002\u0719\u071e\u0005\u0396\u01cc\u0002\u071a\u071b\u0007\u08b7", + "\u0002\u0002\u071b\u071d\u0005\u0396\u01cc\u0002\u071c\u071a\u0003\u0002", + "\u0002\u0002\u071d\u0720\u0003\u0002\u0002\u0002\u071e\u071c\u0003\u0002", + "\u0002\u0002\u071e\u071f\u0003\u0002\u0002\u0002\u071f\u0721\u0003\u0002", + "\u0002\u0002\u0720\u071e\u0003\u0002\u0002\u0002\u0721\u0722\u0007\u08b2", + "\u0002\u0002\u0722\u0724\u0003\u0002\u0002\u0002\u0723\u0718\u0003\u0002", + "\u0002\u0002\u0723\u0724\u0003\u0002\u0002\u0002\u0724\u0725\u0003\u0002", + "\u0002\u0002\u0725\u0726\u0007\u0599\u0002\u0002\u0726\u0728\u0005\u05b4", + "\u02db\u0002\u0727\u0729\u0007\u04e4\u0002\u0002\u0728\u0727\u0003\u0002", + "\u0002\u0002\u0728\u0729\u0003\u0002\u0002\u0002\u0729\u072b\u0003\u0002", + "\u0002\u0002\u072a\u072c\u0007\u0179\u0002\u0002\u072b\u072a\u0003\u0002", + "\u0002\u0002\u072b\u072c\u0003\u0002\u0002\u0002\u072c\u072e\u0003\u0002", + "\u0002\u0002\u072d\u072f\u0007\u0592\u0002\u0002\u072e\u072d\u0003\u0002", + "\u0002\u0002\u072e\u072f\u0003\u0002\u0002\u0002\u072f\u0730\u0003\u0002", + "\u0002\u0002\u0730\u0731\u0007\u08c3\u0002\u0002\u0731%\u0003\u0002", + "\u0002\u0002\u0732\u073c\u0005\u039e\u01d0\u0002\u0733\u073c\u0005\u03a0", + "\u01d1\u0002\u0734\u073c\u0005\u03a2\u01d2\u0002\u0735\u073c\u0005\u03a6", + "\u01d4\u0002\u0736\u073c\u0005\u03b0\u01d9\u0002\u0737\u073c\u0005.", + "\u0018\u0002\u0738\u073c\u0005,\u0017\u0002\u0739\u073c\u0005\"\u0012", + "\u0002\u073a\u073c\u0005$\u0013\u0002\u073b\u0732\u0003\u0002\u0002", + "\u0002\u073b\u0733\u0003\u0002\u0002\u0002\u073b\u0734\u0003\u0002\u0002", + "\u0002\u073b\u0735\u0003\u0002\u0002\u0002\u073b\u0736\u0003\u0002\u0002", + "\u0002\u073b\u0737\u0003\u0002\u0002\u0002\u073b\u0738\u0003\u0002\u0002", + "\u0002\u073b\u0739\u0003\u0002\u0002\u0002\u073b\u073a\u0003\u0002\u0002", + "\u0002\u073c\'\u0003\u0002\u0002\u0002\u073d\u073e\u0007\u019d\u0002", + "\u0002\u073e\u073f\u0007\u0524\u0002\u0002\u073f\u0740\u0005\u0582\u02c2", + "\u0002\u0740\u0741\u0007\u08c3\u0002\u0002\u0741)\u0003\u0002\u0002", + "\u0002\u0742\u0743\u0007)\u0002\u0002\u0743\u0744\u0007\u0524\u0002", + "\u0002\u0744\u0745\u0005\u0582\u02c2\u0002\u0745\u0747\u0007\u00e1\u0002", + "\u0002\u0746\u0748\u0007\u0156\u0002\u0002\u0747\u0746\u0003\u0002\u0002", + "\u0002\u0747\u0748\u0003\u0002\u0002\u0002\u0748\u074c\u0003\u0002\u0002", + "\u0002\u0749\u074b\u0005\u0190\u00c9\u0002\u074a\u0749\u0003\u0002\u0002", + "\u0002\u074b\u074e\u0003\u0002\u0002\u0002\u074c\u074a\u0003\u0002\u0002", + "\u0002\u074c\u074d\u0003\u0002\u0002\u0002\u074d\u0751\u0003\u0002\u0002", + "\u0002\u074e\u074c\u0003\u0002\u0002\u0002\u074f\u0750\u0007\u059a\u0002", + "\u0002\u0750\u0752\u0007\u05ea\u0002\u0002\u0751\u074f\u0003\u0002\u0002", + "\u0002\u0751\u0752\u0003\u0002\u0002\u0002\u0752\u0753\u0003\u0002\u0002", + "\u0002\u0753\u0754\u0007\u08c3\u0002\u0002\u0754+\u0003\u0002\u0002", + "\u0002\u0755\u0756\u0007\u0230\u0002\u0002\u0756\u0762\u0005\u05d0\u02e9", + "\u0002\u0757\u0758\u0007\u08b1\u0002\u0002\u0758\u075d\u0005\u0396\u01cc", + "\u0002\u0759\u075a\u0007\u08b7\u0002\u0002\u075a\u075c\u0005\u0396\u01cc", + "\u0002\u075b\u0759\u0003\u0002\u0002\u0002\u075c\u075f\u0003\u0002\u0002", + "\u0002\u075d\u075b\u0003\u0002\u0002\u0002\u075d\u075e\u0003\u0002\u0002", + "\u0002\u075e\u0760\u0003\u0002\u0002\u0002\u075f\u075d\u0003\u0002\u0002", + "\u0002\u0760\u0761\u0007\u08b2\u0002\u0002\u0761\u0763\u0003\u0002\u0002", + "\u0002\u0762\u0757\u0003\u0002\u0002\u0002\u0762\u0763\u0003\u0002\u0002", + "\u0002\u0763\u0764\u0003\u0002\u0002\u0002\u0764\u0765\u0007\u0599\u0002", + "\u0002\u0765\u076c\u0005\u05b4\u02db\u0002\u0766\u076b\u0005\u038a\u01c6", + "\u0002\u0767\u076b\u0005\u000e\b\u0002\u0768\u076b\u0005\u0012\n\u0002", + "\u0769\u076b\u0007\u0179\u0002\u0002\u076a\u0766\u0003\u0002\u0002\u0002", + "\u076a\u0767\u0003\u0002\u0002\u0002\u076a\u0768\u0003\u0002\u0002\u0002", + "\u076a\u0769\u0003\u0002\u0002\u0002\u076b\u076e\u0003\u0002\u0002\u0002", + "\u076c\u076a\u0003\u0002\u0002\u0002\u076c\u076d\u0003\u0002\u0002\u0002", + "\u076d\u0783\u0003\u0002\u0002\u0002\u076e\u076c\u0003\u0002\u0002\u0002", + "\u076f\u0771\u0007\u04e4\u0002\u0002\u0770\u076f\u0003\u0002\u0002\u0002", + "\u0770\u0771\u0003\u0002\u0002\u0002\u0771\u0773\u0003\u0002\u0002\u0002", + "\u0772\u0774\u0007\u0179\u0002\u0002\u0773\u0772\u0003\u0002\u0002\u0002", + "\u0773\u0774\u0003\u0002\u0002\u0002\u0774\u0775\u0003\u0002\u0002\u0002", + "\u0775\u077e\t\u0002\u0002\u0002\u0776\u0778\u0007\u015a\u0002\u0002", + "\u0777\u0776\u0003\u0002\u0002\u0002\u0777\u0778\u0003\u0002\u0002\u0002", + "\u0778\u077a\u0003\u0002\u0002\u0002\u0779\u077b\u0005\u039a\u01ce\u0002", + "\u077a\u0779\u0003\u0002\u0002\u0002\u077a\u077b\u0003\u0002\u0002\u0002", + "\u077b\u077c\u0003\u0002\u0002\u0002\u077c\u077f\u0005\u03e8\u01f5\u0002", + "\u077d\u077f\u0005\u038c\u01c7\u0002\u077e\u0777\u0003\u0002\u0002\u0002", + "\u077e\u077d\u0003\u0002\u0002\u0002\u077f\u0784\u0003\u0002\u0002\u0002", + "\u0780\u0781\t\u0003\u0002\u0002\u0781\u0782\u0007\u0811\u0002\u0002", + "\u0782\u0784\u0005\u0564\u02b3\u0002\u0783\u0770\u0003\u0002\u0002\u0002", + "\u0783\u0780\u0003\u0002\u0002\u0002\u0784\u0785\u0003\u0002\u0002\u0002", + "\u0785\u0786\u0007\u08c3\u0002\u0002\u0786-\u0003\u0002\u0002\u0002", + "\u0787\u0788\u0007\u0524\u0002\u0002\u0788\u0794\u0005\u05d0\u02e9\u0002", + "\u0789\u078a\u0007\u08b1\u0002\u0002\u078a\u078f\u0005\u0396\u01cc\u0002", + "\u078b\u078c\u0007\u08b7\u0002\u0002\u078c\u078e\u0005\u0396\u01cc\u0002", + "\u078d\u078b\u0003\u0002\u0002\u0002\u078e\u0791\u0003\u0002\u0002\u0002", + "\u078f\u078d\u0003\u0002\u0002\u0002\u078f\u0790\u0003\u0002\u0002\u0002", + "\u0790\u0792\u0003\u0002\u0002\u0002\u0791\u078f\u0003\u0002\u0002\u0002", + "\u0792\u0793\u0007\u08b2\u0002\u0002\u0793\u0795\u0003\u0002\u0002\u0002", + "\u0794\u0789\u0003\u0002\u0002\u0002\u0794\u0795\u0003\u0002\u0002\u0002", + "\u0795\u0796\u0003\u0002\u0002\u0002\u0796\u07a0\t\u0002\u0002\u0002", + "\u0797\u0799\u0007\u015a\u0002\u0002\u0798\u0797\u0003\u0002\u0002\u0002", + "\u0798\u0799\u0003\u0002\u0002\u0002\u0799\u079b\u0003\u0002\u0002\u0002", + "\u079a\u079c\u0005\u039a\u01ce\u0002\u079b\u079a\u0003\u0002\u0002\u0002", + "\u079b\u079c\u0003\u0002\u0002\u0002\u079c\u079d\u0003\u0002\u0002\u0002", + "\u079d\u07a1\u0005\u03e8\u01f5\u0002\u079e\u07a1\u0005\u038c\u01c7\u0002", + "\u079f\u07a1\u0007\u01ef\u0002\u0002\u07a0\u0798\u0003\u0002\u0002\u0002", + "\u07a0\u079e\u0003\u0002\u0002\u0002\u07a0\u079f\u0003\u0002\u0002\u0002", + "\u07a1\u07a2\u0003\u0002\u0002\u0002\u07a2\u07a3\u0007\u08c3\u0002\u0002", + "\u07a3/\u0003\u0002\u0002\u0002\u07a4\u07a7\u0007\u0122\u0002\u0002", + "\u07a5\u07a6\u0007\u0496\u0002\u0002\u07a6\u07a8\u0007\u0581\u0002\u0002", + "\u07a7\u07a5\u0003\u0002\u0002\u0002\u07a7\u07a8\u0003\u0002\u0002\u0002", + "\u07a8\u07a9\u0003\u0002\u0002\u0002\u07a9\u07aa\u0007\u0524\u0002\u0002", + "\u07aa\u07b6\u0005\u0582\u02c2\u0002\u07ab\u07ac\u0007\u08b1\u0002\u0002", + "\u07ac\u07b1\u0005\u0396\u01cc\u0002\u07ad\u07ae\u0007\u08b7\u0002\u0002", + "\u07ae\u07b0\u0005\u0396\u01cc\u0002\u07af\u07ad\u0003\u0002\u0002\u0002", + "\u07b0\u07b3\u0003\u0002\u0002\u0002\u07b1\u07af\u0003\u0002\u0002\u0002", + "\u07b1\u07b2\u0003\u0002\u0002\u0002\u07b2\u07b4\u0003\u0002\u0002\u0002", + "\u07b3\u07b1\u0003\u0002\u0002\u0002\u07b4\u07b5\u0007\u08b2\u0002\u0002", + "\u07b5\u07b7\u0003\u0002\u0002\u0002\u07b6\u07ab\u0003\u0002\u0002\u0002", + "\u07b6\u07b7\u0003\u0002\u0002\u0002\u07b7\u07b9\u0003\u0002\u0002\u0002", + "\u07b8\u07ba\u0005\u038a\u01c6\u0002\u07b9\u07b8\u0003\u0002\u0002\u0002", + "\u07b9\u07ba\u0003\u0002\u0002\u0002\u07ba\u07bb\u0003\u0002\u0002\u0002", + "\u07bb\u07c5\t\u0002\u0002\u0002\u07bc\u07be\u0007\u015a\u0002\u0002", + "\u07bd\u07bc\u0003\u0002\u0002\u0002\u07bd\u07be\u0003\u0002\u0002\u0002", + "\u07be\u07c0\u0003\u0002\u0002\u0002\u07bf\u07c1\u0005\u039a\u01ce\u0002", + "\u07c0\u07bf\u0003\u0002\u0002\u0002\u07c0\u07c1\u0003\u0002\u0002\u0002", + "\u07c1\u07c2\u0003\u0002\u0002\u0002\u07c2\u07c6\u0005\u03e8\u01f5\u0002", + "\u07c3\u07c6\u0005\u038c\u01c7\u0002\u07c4\u07c6\u0007\u01ef\u0002\u0002", + "\u07c5\u07bd\u0003\u0002\u0002\u0002\u07c5\u07c3\u0003\u0002\u0002\u0002", + "\u07c5\u07c4\u0003\u0002\u0002\u0002\u07c6\u07c7\u0003\u0002\u0002\u0002", + "\u07c7\u07c8\u0007\u08c3\u0002\u0002\u07c81\u0003\u0002\u0002\u0002", + "\u07c9\u07ca\u0007\u019d\u0002\u0002\u07ca\u07cb\u0007\u07bc\u0002\u0002", + "\u07cb\u07cc\u0005\u0584\u02c3\u0002\u07cc\u07cd\u0007\u08c3\u0002\u0002", + "\u07cd3\u0003\u0002\u0002\u0002\u07ce\u07cf\u0007)\u0002\u0002\u07cf", + "\u07d0\u0007\u07bc\u0002\u0002\u07d0\u07e3\u0005\u0584\u02c3\u0002\u07d1", + "\u07e4\t\u0007\u0002\u0002\u07d2\u07d3\u0007\u057e\u0002\u0002\u07d3", + "\u07d4\u0007\u07ae\u0002\u0002\u07d4\u07e4\u0005\u0584\u02c3\u0002\u07d5", + "\u07d7\u0007\u00e1\u0002\u0002\u07d6\u07d8\u0007\u0156\u0002\u0002\u07d7", + "\u07d6\u0003\u0002\u0002\u0002\u07d7\u07d8\u0003\u0002\u0002\u0002\u07d8", + "\u07dc\u0003\u0002\u0002\u0002\u07d9\u07db\u0005\u0190\u00c9\u0002\u07da", + "\u07d9\u0003\u0002\u0002\u0002\u07db\u07de\u0003\u0002\u0002\u0002\u07dc", + "\u07da\u0003\u0002\u0002\u0002\u07dc\u07dd\u0003\u0002\u0002\u0002\u07dd", + "\u07e1\u0003\u0002\u0002\u0002\u07de\u07dc\u0003\u0002\u0002\u0002\u07df", + "\u07e0\u0007\u059a\u0002\u0002\u07e0\u07e2\u0007\u05ea\u0002\u0002\u07e1", + "\u07df\u0003\u0002\u0002\u0002\u07e1\u07e2\u0003\u0002\u0002\u0002\u07e2", + "\u07e4\u0003\u0002\u0002\u0002\u07e3\u07d1\u0003\u0002\u0002\u0002\u07e3", + "\u07d2\u0003\u0002\u0002\u0002\u07e3\u07d5\u0003\u0002\u0002\u0002\u07e4", + "\u07e5\u0003\u0002\u0002\u0002\u07e5\u07e6\u0007\u08c3\u0002\u0002\u07e6", + "5\u0003\u0002\u0002\u0002\u07e7\u07ea\u0007\u0122\u0002\u0002\u07e8", + "\u07e9\u0007\u0496\u0002\u0002\u07e9\u07eb\u0007\u0581\u0002\u0002\u07ea", + "\u07e8\u0003\u0002\u0002\u0002\u07ea\u07eb\u0003\u0002\u0002\u0002\u07eb", + "\u07ec\u0003\u0002\u0002\u0002\u07ec\u07ed\u0007\u07bc\u0002\u0002\u07ed", + "\u07f1\u0005\u0584\u02c3\u0002\u07ee\u07f2\u0005<\u001f\u0002\u07ef", + "\u07f2\u0005@!\u0002\u07f0\u07f2\u0005B\"\u0002\u07f1\u07ee\u0003\u0002", + "\u0002\u0002\u07f1\u07ef\u0003\u0002\u0002\u0002\u07f1\u07f0\u0003\u0002", + "\u0002\u0002\u07f2\u07f4\u0003\u0002\u0002\u0002\u07f3\u07f5\u00058", + "\u001d\u0002\u07f4\u07f3\u0003\u0002\u0002\u0002\u07f4\u07f5\u0003\u0002", + "\u0002\u0002\u07f5\u07f7\u0003\u0002\u0002\u0002\u07f6\u07f8\t\u0007", + "\u0002\u0002\u07f7\u07f6\u0003\u0002\u0002\u0002\u07f7\u07f8\u0003\u0002", + "\u0002\u0002\u07f8\u07fa\u0003\u0002\u0002\u0002\u07f9\u07fb\u0005:", + "\u001e\u0002\u07fa\u07f9\u0003\u0002\u0002\u0002\u07fa\u07fb\u0003\u0002", + "\u0002\u0002\u07fb\u07fc\u0003\u0002\u0002\u0002\u07fc\u07fd\u0005D", + "#\u0002\u07fd\u07fe\u0007\u08c3\u0002\u0002\u07fe7\u0003\u0002\u0002", + "\u0002\u07ff\u0800\u0007\u021e\u0002\u0002\u0800\u0805\u0005\u0584\u02c3", + "\u0002\u0801\u0802\u0007\u08b7\u0002\u0002\u0802\u0804\u0005\u0584\u02c3", + "\u0002\u0803\u0801\u0003\u0002\u0002\u0002\u0804\u0807\u0003\u0002\u0002", + "\u0002\u0805\u0803\u0003\u0002\u0002\u0002\u0805\u0806\u0003\u0002\u0002", + "\u0002\u08069\u0003\u0002\u0002\u0002\u0807\u0805\u0003\u0002\u0002", + "\u0002\u0808\u0809\u0007\u0843\u0002\u0002\u0809\u080a\u0007\u08b1\u0002", + "\u0002\u080a\u080b\u0005\u04d0\u0269\u0002\u080b\u080c\u0007\u08b2\u0002", + "\u0002\u080c;\u0003\u0002\u0002\u0002\u080d\u0812\u0007g\u0002\u0002", + "\u080e\u0812\u0007 \u0002\u0002\u080f\u0810\u0007\u02a6\u0002\u0002", + "\u0810\u0812\u0007\u045d\u0002\u0002\u0811\u080d\u0003\u0002\u0002\u0002", + "\u0811\u080e\u0003\u0002\u0002\u0002\u0811\u080f\u0003\u0002\u0002\u0002", + "\u0812\u0813\u0003\u0002\u0002\u0002\u0813\u0815\u0005N(\u0002\u0814", + "\u0816\u0005T+\u0002\u0815\u0814\u0003\u0002\u0002\u0002\u0815\u0816", + "\u0003\u0002\u0002\u0002\u0816\u0818\u0003\u0002\u0002\u0002\u0817\u0819", + "\u0005> \u0002\u0818\u0817\u0003\u0002\u0002\u0002\u0818\u0819\u0003", + "\u0002\u0002\u0002\u0819=\u0003\u0002\u0002\u0002\u081a\u081b\u0007", + "\u0224\u0002\u0002\u081b\u081c\u0007\u01a8\u0002\u0002\u081c\u081d\u0007", + "\u05ad\u0002\u0002\u081d?\u0003\u0002\u0002\u0002\u081e\u081f\u0007", + "\u0224\u0002\u0002\u081f\u0821\u0005N(\u0002\u0820\u0822\u0005T+\u0002", + "\u0821\u0820\u0003\u0002\u0002\u0002\u0821\u0822\u0003\u0002\u0002\u0002", + "\u0822A\u0003\u0002\u0002\u0002\u0823\u0824\t\b\u0002\u0002\u0824\u0829", + "\u0005L\'\u0002\u0825\u0826\u0007\u0496\u0002\u0002\u0826\u0828\u0005", + "L\'\u0002\u0827\u0825\u0003\u0002\u0002\u0002\u0828\u082b\u0003\u0002", + "\u0002\u0002\u0829\u0827\u0003\u0002\u0002\u0002\u0829\u082a\u0003\u0002", + "\u0002\u0002\u082a\u082c\u0003\u0002\u0002\u0002\u082b\u0829\u0003\u0002", + "\u0002\u0002\u082c\u0834\u0007\u046a\u0002\u0002\u082d\u0835\u0007\u013e", + "\u0002\u0002\u082e\u082f\u0005\u055e\u02b0\u0002\u082f\u0830\u0007\u08aa", + "\u0002\u0002\u0830\u0832\u0003\u0002\u0002\u0002\u0831\u082e\u0003\u0002", + "\u0002\u0002\u0831\u0832\u0003\u0002\u0002\u0002\u0832\u0833\u0003\u0002", + "\u0002\u0002\u0833\u0835\u0007\u05c0\u0002\u0002\u0834\u082d\u0003\u0002", + "\u0002\u0002\u0834\u0831\u0003\u0002\u0002\u0002\u0835C\u0003\u0002", + "\u0002\u0002\u0836\u0837\u0007\u00e9\u0002\u0002\u0837\u083c\u0007\u07bc", + "\u0002\u0002\u0838\u0839\u0007\u009f\u0002\u0002\u0839\u083c\u0005\u05d0", + "\u02e9\u0002\u083a\u083c\u0005\u03ec\u01f7\u0002\u083b\u0836\u0003\u0002", + "\u0002\u0002\u083b\u0838\u0003\u0002\u0002\u0002\u083b\u083a\u0003\u0002", + "\u0002\u0002\u083cE\u0003\u0002\u0002\u0002\u083d\u083f\u0005\u0560", + "\u02b1\u0002\u083e\u0840\u0005\u05aa\u02d6\u0002\u083f\u083e\u0003\u0002", + "\u0002\u0002\u083f\u0840\u0003\u0002\u0002\u0002\u0840G\u0003\u0002", + "\u0002\u0002\u0841\u0842\u0007\u00e9\u0002\u0002\u0842\u0844\u0007\u07bc", + "\u0002\u0002\u0843\u0845\u0005\u039a\u01ce\u0002\u0844\u0843\u0003\u0002", + "\u0002\u0002\u0844\u0845\u0003\u0002\u0002\u0002\u0845\u0847\u0003\u0002", + "\u0002\u0002\u0846\u0848\u0005J&\u0002\u0847\u0846\u0003\u0002\u0002", + "\u0002\u0848\u0849\u0003\u0002\u0002\u0002\u0849\u0847\u0003\u0002\u0002", + "\u0002\u0849\u084a\u0003\u0002\u0002\u0002\u084a\u084b\u0003\u0002\u0002", + "\u0002\u084b\u084c\u0007\u01bf\u0002\u0002\u084c\u084d\u0005\u0584\u02c3", + "\u0002\u084dI\u0003\u0002\u0002\u0002\u084e\u084f\u0007g\u0002\u0002", + "\u084f\u0850\u0007\u0628\u0002\u0002\u0850\u0851\u0007\u02b9\u0002\u0002", + "\u0851\u0852\u0005\u03ec\u01f7\u0002\u0852\u0853\u0007g\u0002\u0002", + "\u0853\u0854\u0007\u0628\u0002\u0002\u0854\u0855\u0007\u08c3\u0002\u0002", + "\u0855\u0873\u0003\u0002\u0002\u0002\u0856\u0857\u0007g\u0002\u0002", + "\u0857\u0858\u0007\u01a8\u0002\u0002\u0858\u0859\u0007\u05ad\u0002\u0002", + "\u0859\u085a\u0007\u02b9\u0002\u0002\u085a\u085b\u0005\u03ec\u01f7\u0002", + "\u085b\u085c\u0007g\u0002\u0002\u085c\u085d\u0007\u01a8\u0002\u0002", + "\u085d\u085e\u0007\u05ad\u0002\u0002\u085e\u085f\u0007\u08c3\u0002\u0002", + "\u085f\u0873\u0003\u0002\u0002\u0002\u0860\u0861\u0007 \u0002\u0002", + "\u0861\u0862\u0007\u0628\u0002\u0002\u0862\u0863\u0007\u02b9\u0002\u0002", + "\u0863\u0864\u0005\u03ec\u01f7\u0002\u0864\u0865\u0007 \u0002\u0002", + "\u0865\u0866\u0007\u0628\u0002\u0002\u0866\u0867\u0007\u08c3\u0002\u0002", + "\u0867\u0873\u0003\u0002\u0002\u0002\u0868\u0869\u0007 \u0002\u0002", + "\u0869\u086a\u0007\u01a8\u0002\u0002\u086a\u086b\u0007\u05ad\u0002\u0002", + "\u086b\u086c\u0007\u02b9\u0002\u0002\u086c\u086d\u0005\u03ec\u01f7\u0002", + "\u086d\u086e\u0007 \u0002\u0002\u086e\u086f\u0007\u01a8\u0002\u0002", + "\u086f\u0870\u0007\u05ad\u0002\u0002\u0870\u0871\u0007\u08c3\u0002\u0002", + "\u0871\u0873\u0003\u0002\u0002\u0002\u0872\u084e\u0003\u0002\u0002\u0002", + "\u0872\u0856\u0003\u0002\u0002\u0002\u0872\u0860\u0003\u0002\u0002\u0002", + "\u0872\u0868\u0003\u0002\u0002\u0002\u0873K\u0003\u0002\u0002\u0002", + "\u0874\u088f\u0007)\u0002\u0002\u0875\u088f\u0007+\u0002\u0002\u0876", + "\u0877\u0007G\u0002\u0002\u0877\u088f\u0007\u062b\u0002\u0002\u0878", + "\u088f\u0007O\u0002\u0002\u0879\u088f\u0007\u00db\u0002\u0002\u087a", + "\u088f\u0007\u0122\u0002\u0002\u087b\u087c\u0007\u0186\u0002\u0002\u087c", + "\u088f\u0007\u062b\u0002\u0002\u087d\u088f\u0007\u019d\u0002\u0002\u087e", + "\u088f\u0007\u023d\u0002\u0002\u087f\u088f\u0007\u03ae\u0002\u0002\u0880", + "\u088f\u0007\u057e\u0002\u0002\u0881\u088f\u0007\u059c\u0002\u0002\u0882", + "\u088f\u0007\u07be\u0002\u0002\u0883\u088f\u0007\u0154\u0002\u0002\u0884", + "\u088f\u0007\u0624\u0002\u0002\u0885\u088f\u0007\u05f4\u0002\u0002\u0886", + "\u088f\u0007\u0150\u0002\u0002\u0887\u088f\u0007\u0314\u0002\u0002\u0888", + "\u088f\u0007\u0313\u0002\u0002\u0889\u088f\u0007\u05e0\u0002\u0002\u088a", + "\u088f\u0007\u0657\u0002\u0002\u088b\u088f\u0007\u013e\u0002\u0002\u088c", + "\u088f\u0007\u05c0\u0002\u0002\u088d\u088f\u0007\u021e\u0002\u0002\u088e", + "\u0874\u0003\u0002\u0002\u0002\u088e\u0875\u0003\u0002\u0002\u0002\u088e", + "\u0876\u0003\u0002\u0002\u0002\u088e\u0878\u0003\u0002\u0002\u0002\u088e", + "\u0879\u0003\u0002\u0002\u0002\u088e\u087a\u0003\u0002\u0002\u0002\u088e", + "\u087b\u0003\u0002\u0002\u0002\u088e\u087d\u0003\u0002\u0002\u0002\u088e", + "\u087e\u0003\u0002\u0002\u0002\u088e\u087f\u0003\u0002\u0002\u0002\u088e", + "\u0880\u0003\u0002\u0002\u0002\u088e\u0881\u0003\u0002\u0002\u0002\u088e", + "\u0882\u0003\u0002\u0002\u0002\u088e\u0883\u0003\u0002\u0002\u0002\u088e", + "\u0884\u0003\u0002\u0002\u0002\u088e\u0885\u0003\u0002\u0002\u0002\u088e", + "\u0886\u0003\u0002\u0002\u0002\u088e\u0887\u0003\u0002\u0002\u0002\u088e", + "\u0888\u0003\u0002\u0002\u0002\u088e\u0889\u0003\u0002\u0002\u0002\u088e", + "\u088a\u0003\u0002\u0002\u0002\u088e\u088b\u0003\u0002\u0002\u0002\u088e", + "\u088c\u0003\u0002\u0002\u0002\u088e\u088d\u0003\u0002\u0002\u0002\u088f", + "M\u0003\u0002\u0002\u0002\u0890\u0895\u0005P)\u0002\u0891\u0892\u0007", + "\u0496\u0002\u0002\u0892\u0894\u0005P)\u0002\u0893\u0891\u0003\u0002", + "\u0002\u0002\u0894\u0897\u0003\u0002\u0002\u0002\u0895\u0893\u0003\u0002", + "\u0002\u0002\u0895\u0896\u0003\u0002\u0002\u0002\u0896\u0898\u0003\u0002", + "\u0002\u0002\u0897\u0895\u0003\u0002\u0002\u0002\u0898\u089a\u0007\u046a", + "\u0002\u0002\u0899\u089b\u0005R*\u0002\u089a\u0899\u0003\u0002\u0002", + "\u0002\u089a\u089b\u0003\u0002\u0002\u0002\u089b\u089c\u0003\u0002\u0002", + "\u0002\u089c\u089d\u0005\u0594\u02cb\u0002\u089dO\u0003\u0002\u0002", + "\u0002\u089e\u08a1\t\t\u0002\u0002\u089f\u08a0\u0007\u045d\u0002\u0002", + "\u08a0\u08a2\u0005\u05a4\u02d3\u0002\u08a1\u089f\u0003\u0002\u0002\u0002", + "\u08a1\u08a2\u0003\u0002\u0002\u0002\u08a2Q\u0003\u0002\u0002\u0002", + "\u08a3\u08a4\u0007\u0381\u0002\u0002\u08a4\u08a5\u0007\u077a\u0002\u0002", + "\u08a5\u08a6\u0005\u0594\u02cb\u0002\u08a6\u08a7\u0007\u045d\u0002\u0002", + "\u08a7S\u0003\u0002\u0002\u0002\u08a8\u08aa\u0007\u0561\u0002\u0002", + "\u08a9\u08ab\u0005V,\u0002\u08aa\u08a9\u0003\u0002\u0002\u0002\u08ab", + "\u08ac\u0003\u0002\u0002\u0002\u08ac\u08aa\u0003\u0002\u0002\u0002\u08ac", + "\u08ad\u0003\u0002\u0002\u0002\u08adU\u0003\u0002\u0002\u0002\u08ae", + "\u08af\t\n\u0002\u0002\u08af\u08b0\u0005\u054a\u02a6\u0002\u08b0W\u0003", + "\u0002\u0002\u0002\u08b1\u08b2\u0007\u019d\u0002\u0002\u08b2\u08b4\u0007", + "\u07c5\u0002\u0002\u08b3\u08b5\u0007\u0087\u0002\u0002\u08b4\u08b3\u0003", + "\u0002\u0002\u0002\u08b4\u08b5\u0003\u0002\u0002\u0002\u08b5\u08b6\u0003", + "\u0002\u0002\u0002\u08b6\u08b8\u0005\u057a\u02be\u0002\u08b7\u08b9\t", + "\u000b\u0002\u0002\u08b8\u08b7\u0003\u0002\u0002\u0002\u08b8\u08b9\u0003", + "\u0002\u0002\u0002\u08b9\u08ba\u0003\u0002\u0002\u0002\u08ba\u08bb\u0007", + "\u08c3\u0002\u0002\u08bbY\u0003\u0002\u0002\u0002\u08bc\u08bd\u0007", + ")\u0002\u0002\u08bd\u08be\u0007\u07c5\u0002\u0002\u08be\u08c5\u0005", + "\u057a\u02be\u0002\u08bf\u08c6\u0005\\/\u0002\u08c0\u08c6\u0005^0\u0002", + "\u08c1\u08c6\u0005`1\u0002\u08c2\u08c6\u0005h5\u0002\u08c3\u08c6\u0005", + "\u008aF\u0002\u08c4\u08c6\u0005\u0096L\u0002\u08c5\u08bf\u0003\u0002", + "\u0002\u0002\u08c5\u08c0\u0003\u0002\u0002\u0002\u08c5\u08c1\u0003\u0002", + "\u0002\u0002\u08c5\u08c2\u0003\u0002\u0002\u0002\u08c5\u08c3\u0003\u0002", + "\u0002\u0002\u08c5\u08c4\u0003\u0002\u0002\u0002\u08c6\u08c8\u0003\u0002", + "\u0002\u0002\u08c7\u08c9\u0005j6\u0002\u08c8\u08c7\u0003\u0002\u0002", + "\u0002\u08c8\u08c9\u0003\u0002\u0002\u0002\u08c9\u08ca\u0003\u0002\u0002", + "\u0002\u08ca\u08cb\u0007\u08c3\u0002\u0002\u08cb[\u0003\u0002\u0002", + "\u0002\u08cc\u08ce\u0007\u00e1\u0002\u0002\u08cd\u08cf\u0007\u0156\u0002", + "\u0002\u08ce\u08cd\u0003\u0002\u0002\u0002\u08ce\u08cf\u0003\u0002\u0002", + "\u0002\u08cf\u08d1\u0003\u0002\u0002\u0002\u08d0\u08d2\t\f\u0002\u0002", + "\u08d1\u08d0\u0003\u0002\u0002\u0002\u08d1\u08d2\u0003\u0002\u0002\u0002", + "\u08d2\u08d6\u0003\u0002\u0002\u0002\u08d3\u08d5\u0005\u0190\u00c9\u0002", + "\u08d4\u08d3\u0003\u0002\u0002\u0002\u08d5\u08d8\u0003\u0002\u0002\u0002", + "\u08d6\u08d4\u0003\u0002\u0002\u0002\u08d6\u08d7\u0003\u0002\u0002\u0002", + "\u08d7\u08db\u0003\u0002\u0002\u0002\u08d8\u08d6\u0003\u0002\u0002\u0002", + "\u08d9\u08da\u0007\u059a\u0002\u0002\u08da\u08dc\u0007\u05ea\u0002\u0002", + "\u08db\u08d9\u0003\u0002\u0002\u0002\u08db\u08dc\u0003\u0002\u0002\u0002", + "\u08dc]\u0003\u0002\u0002\u0002\u08dd\u08df\u0007\u0581\u0002\u0002", + "\u08de\u08e0\u0005\u038a\u01c6\u0002\u08df\u08de\u0003\u0002\u0002\u0002", + "\u08df\u08e0\u0003\u0002\u0002\u0002\u08e0\u08e1\u0003\u0002\u0002\u0002", + "\u08e1\u08e2\u0007?\u0002\u0002\u08e2\u08e3\u0007\u0455\u0002\u0002", + "\u08e3\u08e4\u0007\u08b1\u0002\u0002\u08e4\u08e9\u0005\u008cG\u0002", + "\u08e5\u08e6\u0007\u08b7\u0002\u0002\u08e6\u08e8\u0005\u008cG\u0002", + "\u08e7\u08e5\u0003\u0002\u0002\u0002\u08e8\u08eb\u0003\u0002\u0002\u0002", + "\u08e9\u08e7\u0003\u0002\u0002\u0002\u08e9\u08ea\u0003\u0002\u0002\u0002", + "\u08ea\u08ec\u0003\u0002\u0002\u0002\u08eb\u08e9\u0003\u0002\u0002\u0002", + "\u08ec\u08ed\u0007\u08b2\u0002\u0002\u08ed_\u0003\u0002\u0002\u0002", + "\u08ee\u08f3\u0005b2\u0002\u08ef\u08f0\u0007\u08b7\u0002\u0002\u08f0", + "\u08f2\u0005b2\u0002\u08f1\u08ef\u0003\u0002\u0002\u0002\u08f2\u08f5", + "\u0003\u0002\u0002\u0002\u08f3\u08f1\u0003\u0002\u0002\u0002\u08f3\u08f4", + "\u0003\u0002\u0002\u0002\u08f4a\u0003\u0002\u0002\u0002\u08f5\u08f3", + "\u0003\u0002\u0002\u0002\u08f6\u08f9\t\r\u0002\u0002\u08f7\u08fa\u0005", + "\u00a0Q\u0002\u08f8\u08fa\u0005\u0094K\u0002\u08f9\u08f7\u0003\u0002", + "\u0002\u0002\u08f9\u08f8\u0003\u0002\u0002\u0002\u08fac\u0003\u0002", + "\u0002\u0002\u08fb\u08fc\t\u000e\u0002\u0002\u08fc\u0909\u0007M\u0002", + "\u0002\u08fd\u090a\u0005f4\u0002\u08fe\u08ff\u0007\u08b1\u0002\u0002", + "\u08ff\u0904\u0005f4\u0002\u0900\u0901\u0007\u08b7\u0002\u0002\u0901", + "\u0903\u0005f4\u0002\u0902\u0900\u0003\u0002\u0002\u0002\u0903\u0906", + "\u0003\u0002\u0002\u0002\u0904\u0902\u0003\u0002\u0002\u0002\u0904\u0905", + "\u0003\u0002\u0002\u0002\u0905\u0907\u0003\u0002\u0002\u0002\u0906\u0904", + "\u0003\u0002\u0002\u0002\u0907\u0908\u0007\u08b2\u0002\u0002\u0908\u090a", + "\u0003\u0002\u0002\u0002\u0909\u08fd\u0003\u0002\u0002\u0002\u0909\u08fe", + "\u0003\u0002\u0002\u0002\u090ae\u0003\u0002\u0002\u0002\u090b\u090d", + "\u0005\u0556\u02ac\u0002\u090c\u090e\u0005\u05b4\u02db\u0002\u090d\u090c", + "\u0003\u0002\u0002\u0002\u090d\u090e\u0003\u0002\u0002\u0002\u090eg", + "\u0003\u0002\u0002\u0002\u090f\u0915\u0007\u0361\u0002\u0002\u0910\u0911", + "\u0007\u02f8\u0002\u0002\u0911\u0916\u0005\u04d4\u026b\u0002\u0912\u0913", + "\u0007\u01ad\u0002\u0002\u0913\u0914\u0007\u07c5\u0002\u0002\u0914\u0916", + "\u0005\u05b4\u02db\u0002\u0915\u0910\u0003\u0002\u0002\u0002\u0915\u0912", + "\u0003\u0002\u0002\u0002\u0916i\u0003\u0002\u0002\u0002\u0917\u0928", + "\u0007\u02b6\u0002\u0002\u0918\u0922\u0007\u00a4\u0002\u0002\u0919\u091a", + "\u0007\u010f\u0002\u0002\u091a\u091b\u0007\u07ae\u0002\u0002\u091b\u0923", + "\u0007\u064d\u0002\u0002\u091c\u091e\u0007\u0433\u0002\u0002\u091d\u091c", + "\u0003\u0002\u0002\u0002\u091d\u091e\u0003\u0002\u0002\u0002\u091e\u091f", + "\u0003\u0002\u0002\u0002\u091f\u0920\u0007\u026d\u0002\u0002\u0920\u0921", + "\u0007\u077a\u0002\u0002\u0921\u0923\u0007\u013f\u0002\u0002\u0922\u0919", + "\u0003\u0002\u0002\u0002\u0922\u091d\u0003\u0002\u0002\u0002\u0922\u0923", + "\u0003\u0002\u0002\u0002\u0923\u0925\u0003\u0002\u0002\u0002\u0924\u0926", + "\u0005l7\u0002\u0925\u0924\u0003\u0002\u0002\u0002\u0925\u0926\u0003", + "\u0002\u0002\u0002\u0926\u0928\u0003\u0002\u0002\u0002\u0927\u0917\u0003", + "\u0002\u0002\u0002\u0927\u0918\u0003\u0002\u0002\u0002\u0928k\u0003", + "\u0002\u0002\u0002\u0929\u092b\u0007\u0220\u0002\u0002\u092a\u0929\u0003", + "\u0002\u0002\u0002\u092a\u092b\u0003\u0002\u0002\u0002\u092b\u092c\u0003", + "\u0002\u0002\u0002\u092c\u092d\u0007\u01d8\u0002\u0002\u092d\u092e\u0007", + "\u02b5\u0002\u0002\u092e\u092f\u0005\u0594\u02cb\u0002\u092fm\u0003", + "\u0002\u0002\u0002\u0930\u0933\u0007\u0122\u0002\u0002\u0931\u0932\u0007", + "\u0496\u0002\u0002\u0932\u0934\u0007\u0581\u0002\u0002\u0933\u0931\u0003", + "\u0002\u0002\u0002\u0933\u0934\u0003\u0002\u0002\u0002\u0934\u0935\u0003", + "\u0002\u0002\u0002\u0935\u0938\u0007\u07c5\u0002\u0002\u0936\u0939\u0005", + "p9\u0002\u0937\u0939\u0005|?\u0002\u0938\u0936\u0003\u0002\u0002\u0002", + "\u0938\u0937\u0003\u0002\u0002\u0002\u0939\u093a\u0003\u0002\u0002\u0002", + "\u093a\u093b\u0007\u08c3\u0002\u0002\u093bo\u0003\u0002\u0002\u0002", + "\u093c\u093f\u0005\u057a\u02be\u0002\u093d\u093e\u0007\u045f\u0002\u0002", + "\u093e\u0940\u0007\u08ad\u0002\u0002\u093f\u093d\u0003\u0002\u0002\u0002", + "\u093f\u0940\u0003\u0002\u0002\u0002\u0940\u0942\u0003\u0002\u0002\u0002", + "\u0941\u0943\u0005r:\u0002\u0942\u0941\u0003\u0002\u0002\u0002\u0942", + "\u0943\u0003\u0002\u0002\u0002\u0943q\u0003\u0002\u0002\u0002\u0944", + "\u0946\u0005\u038a\u01c6\u0002\u0945\u0944\u0003\u0002\u0002\u0002\u0945", + "\u0946\u0003\u0002\u0002\u0002\u0946\u0949\u0003\u0002\u0002\u0002\u0947", + "\u094a\u0005t;\u0002\u0948\u094a\u0005v<\u0002\u0949\u0947\u0003\u0002", + "\u0002\u0002\u0949\u0948\u0003\u0002\u0002\u0002\u094a\u094c\u0003\u0002", + "\u0002\u0002\u094b\u094d\u0005z>\u0002\u094c\u094b\u0003\u0002\u0002", + "\u0002\u094c\u094d\u0003\u0002\u0002\u0002\u094d\u0959\u0003\u0002\u0002", + "\u0002\u094e\u094f\u0007\u08b1\u0002\u0002\u094f\u0954\u0005\u008cG", + "\u0002\u0950\u0951\u0007\u08b7\u0002\u0002\u0951\u0953\u0005\u008cG", + "\u0002\u0952\u0950\u0003\u0002\u0002\u0002\u0953\u0956\u0003\u0002\u0002", + "\u0002\u0954\u0952\u0003\u0002\u0002\u0002\u0954\u0955\u0003\u0002\u0002", + "\u0002\u0955\u0957\u0003\u0002\u0002\u0002\u0956\u0954\u0003\u0002\u0002", + "\u0002\u0957\u0958\u0007\u08b2\u0002\u0002\u0958\u095a\u0003\u0002\u0002", + "\u0002\u0959\u094e\u0003\u0002\u0002\u0002\u0959\u095a\u0003\u0002\u0002", + "\u0002\u095a\u095e\u0003\u0002\u0002\u0002\u095b\u095d\u0005\u008aF", + "\u0002\u095c\u095b\u0003\u0002\u0002\u0002\u095d\u0960\u0003\u0002\u0002", + "\u0002\u095e\u095c\u0003\u0002\u0002\u0002\u095e\u095f\u0003\u0002\u0002", + "\u0002\u095fs\u0003\u0002\u0002\u0002\u0960\u095e\u0003\u0002\u0002", + "\u0002\u0961\u0965\t\u0002\u0002\u0002\u0962\u0966\u0007\u0455\u0002", + "\u0002\u0963\u0966\u0005\u03b6\u01dc\u0002\u0964\u0966\u0005x=\u0002", + "\u0965\u0962\u0003\u0002\u0002\u0002\u0965\u0963\u0003\u0002\u0002\u0002", + "\u0965\u0964\u0003\u0002\u0002\u0002\u0966u\u0003\u0002\u0002\u0002", + "\u0967\u0968\u0007\u07cf\u0002\u0002\u0968\u0969\u0005\u05b4\u02db\u0002", + "\u0969w\u0003\u0002\u0002\u0002\u096a\u096b\u0007\u077a\u0002\u0002", + "\u096b\u096c\u0007\u045d\u0002\u0002\u096c\u096f\u0005\u05b4\u02db\u0002", + "\u096d\u096e\u0007\u0433\u0002\u0002\u096e\u0970\u0007\u044b\u0002\u0002", + "\u096f\u096d\u0003\u0002\u0002\u0002\u096f\u0970\u0003\u0002\u0002\u0002", + "\u0970y\u0003\u0002\u0002\u0002\u0971\u0972\u0007\u01ef\u0002\u0002", + "\u0972\u0973\u0007\u0371\u0002\u0002\u0973\u0974\u0005\u04d4\u026b\u0002", + "\u0974\u0975\u0007\u02db\u0002\u0002\u0975\u0976\u0007\u02be\u0002\u0002", + "\u0976\u0977\u0007\u0811\u0002\u0002\u0977\u0978\t\u000f\u0002\u0002", + "\u0978{\u0003\u0002\u0002\u0002\u0979\u097a\u0007\u0087\u0002\u0002", + "\u097a\u097b\u0005\u057a\u02be\u0002\u097b\u097d\t\u0002\u0002\u0002", + "\u097c\u097e\u0005~@\u0002\u097d\u097c\u0003\u0002\u0002\u0002\u097e", + "\u097f\u0003\u0002\u0002\u0002\u097f\u097d\u0003\u0002\u0002\u0002\u097f", + "\u0980\u0003\u0002\u0002\u0002\u0980\u0981\u0003\u0002\u0002\u0002\u0981", + "\u0982\u0007\u01bf\u0002\u0002\u0982}\u0003\u0002\u0002\u0002\u0983", + "\u0987\u0005\u0080A\u0002\u0984\u0987\u0005\u0082B\u0002\u0985\u0987", + "\u0005\u0096L\u0002\u0986\u0983\u0003\u0002\u0002\u0002\u0986\u0984", + "\u0003\u0002\u0002\u0002\u0986\u0985\u0003\u0002\u0002\u0002\u0987\u007f", + "\u0003\u0002\u0002\u0002\u0988\u0989\t\u0010\u0002\u0002\u0989\u098a", + "\u0007\u033c\u0002\u0002\u098a\u098b\u0005\u0086D\u0002\u098b\u0081", + "\u0003\u0002\u0002\u0002\u098c\u0990\t\u0011\u0002\u0002\u098d\u0991", + "\u0005\u0084C\u0002\u098e\u0991\u0005\u0086D\u0002\u098f\u0991\u0005", + "\u0088E\u0002\u0990\u098d\u0003\u0002\u0002\u0002\u0990\u098e\u0003", + "\u0002\u0002\u0002\u0990\u098f\u0003\u0002\u0002\u0002\u0991\u0083\u0003", + "\u0002\u0002\u0002\u0992\u0993\u0007\u0524\u0002\u0002\u0993\u0994\u0005", + "\u0582\u02c2\u0002\u0994\u0995\u0007\u08b1\u0002\u0002\u0995\u099a\u0005", + "\u00a6T\u0002\u0996\u0997\u0007\u08b7\u0002\u0002\u0997\u0999\u0005", + "\u00a6T\u0002\u0998\u0996\u0003\u0002\u0002\u0002\u0999\u099c\u0003", + "\u0002\u0002\u0002\u099a\u0998\u0003\u0002\u0002\u0002\u099a\u099b\u0003", + "\u0002\u0002\u0002\u099b\u099d\u0003\u0002\u0002\u0002\u099c\u099a\u0003", + "\u0002\u0002\u0002\u099d\u099e\u0007\u08b2\u0002\u0002\u099e\u09a9\t", + "\u0002\u0002\u0002\u099f\u09aa\u0005\u038c\u01c7\u0002\u09a0\u09a2\u0007", + "\u015a\u0002\u0002\u09a1\u09a0\u0003\u0002\u0002\u0002\u09a1\u09a2\u0003", + "\u0002\u0002\u0002\u09a2\u09a4\u0003\u0002\u0002\u0002\u09a3\u09a5\u0005", + "\u039a\u01ce\u0002\u09a4\u09a3\u0003\u0002\u0002\u0002\u09a4\u09a5\u0003", + "\u0002\u0002\u0002\u09a5\u09a6\u0003\u0002\u0002\u0002\u09a6\u09a7\u0005", + "\u03e8\u01f5\u0002\u09a7\u09a8\u0007\u08c3\u0002\u0002\u09a8\u09aa\u0003", + "\u0002\u0002\u0002\u09a9\u099f\u0003\u0002\u0002\u0002\u09a9\u09a1\u0003", + "\u0002\u0002\u0002\u09aa\u0085\u0003\u0002\u0002\u0002\u09ab\u09ac\u0007", + "\u0230\u0002\u0002\u09ac\u09b8\u0005\u0580\u02c1\u0002\u09ad\u09ae\u0007", + "\u08b1\u0002\u0002\u09ae\u09b3\u0005\u00a6T\u0002\u09af\u09b0\u0007", + "\u08b7\u0002\u0002\u09b0\u09b2\u0005\u00a6T\u0002\u09b1\u09af\u0003", + "\u0002\u0002\u0002\u09b2\u09b5\u0003\u0002\u0002\u0002\u09b3\u09b1\u0003", + "\u0002\u0002\u0002\u09b3\u09b4\u0003\u0002\u0002\u0002\u09b4\u09b6\u0003", + "\u0002\u0002\u0002\u09b5\u09b3\u0003\u0002\u0002\u0002\u09b6\u09b7\u0007", + "\u08b2\u0002\u0002\u09b7\u09b9\u0003\u0002\u0002\u0002\u09b8\u09ad\u0003", + "\u0002\u0002\u0002\u09b8\u09b9\u0003\u0002\u0002\u0002\u09b9\u09ba\u0003", + "\u0002\u0002\u0002\u09ba\u09bb\u0007\u0599\u0002\u0002\u09bb\u09bc\u0005", + "\u05b4\u02db\u0002\u09bc\u09c7\t\u0002\u0002\u0002\u09bd\u09c8\u0005", + "\u038c\u01c7\u0002\u09be\u09c0\u0007\u015a\u0002\u0002\u09bf\u09be\u0003", + "\u0002\u0002\u0002\u09bf\u09c0\u0003\u0002\u0002\u0002\u09c0\u09c2\u0003", + "\u0002\u0002\u0002\u09c1\u09c3\u0005\u039a\u01ce\u0002\u09c2\u09c1\u0003", + "\u0002\u0002\u0002\u09c2\u09c3\u0003\u0002\u0002\u0002\u09c3\u09c4\u0003", + "\u0002\u0002\u0002\u09c4\u09c5\u0005\u03e8\u01f5\u0002\u09c5\u09c6\u0007", + "\u08c3\u0002\u0002\u09c6\u09c8\u0003\u0002\u0002\u0002\u09c7\u09bd\u0003", + "\u0002\u0002\u0002\u09c7\u09bf\u0003\u0002\u0002\u0002\u09c8\u0087\u0003", + "\u0002\u0002\u0002\u09c9\u09cb\u0007\u020d\u0002\u0002\u09ca\u09c9\u0003", + "\u0002\u0002\u0002\u09ca\u09cb\u0003\u0002\u0002\u0002\u09cb\u09cd\u0003", + "\u0002\u0002\u0002\u09cc\u09ce\u0007\u02a4\u0002\u0002\u09cd\u09cc\u0003", + "\u0002\u0002\u0002\u09cd\u09ce\u0003\u0002\u0002\u0002\u09ce\u09cf\u0003", + "\u0002\u0002\u0002\u09cf\u09d0\u0007\u0105\u0002\u0002\u09d0\u09d1\u0007", + "\u0230\u0002\u0002\u09d1\u09e3\u0005\u05b4\u02db\u0002\u09d2\u09d3\u0007", + "\u08b1\u0002\u0002\u09d3\u09d4\u0007\u05d5\u0002\u0002\u09d4\u09d5\u0007", + "\u028e\u0002\u0002\u09d5\u09d6\u0007\u04a0\u0002\u0002\u09d6\u09d7\u0005", + "\u05b4\u02db\u0002\u09d7\u09d8\u0007\u08b7\u0002\u0002\u09d8\u09d9\u0003", + "\u0002\u0002\u0002\u09d9\u09de\u0005\u00a6T\u0002\u09da\u09db\u0007", + "\u08b7\u0002\u0002\u09db\u09dd\u0005\u00a6T\u0002\u09dc\u09da\u0003", + "\u0002\u0002\u0002\u09dd\u09e0\u0003\u0002\u0002\u0002\u09de\u09dc\u0003", + "\u0002\u0002\u0002\u09de\u09df\u0003\u0002\u0002\u0002\u09df\u09e1\u0003", + "\u0002\u0002\u0002\u09e0\u09de\u0003\u0002\u0002\u0002\u09e1\u09e2\u0007", + "\u08b2\u0002\u0002\u09e2\u09e4\u0003\u0002\u0002\u0002\u09e3\u09d2\u0003", + "\u0002\u0002\u0002\u09e3\u09e4\u0003\u0002\u0002\u0002\u09e4\u09e5\u0003", + "\u0002\u0002\u0002\u09e5\u09e6\u0007\u0599\u0002\u0002\u09e6\u09e7\u0007", + "\u05d5\u0002\u0002\u09e7\u09e8\u0007?\u0002\u0002\u09e8\u09e9\u0007", + "\u0593\u0002\u0002\u09e9\u09f4\t\u0002\u0002\u0002\u09ea\u09f5\u0005", + "\u038c\u01c7\u0002\u09eb\u09ed\u0007\u015a\u0002\u0002\u09ec\u09eb\u0003", + "\u0002\u0002\u0002\u09ec\u09ed\u0003\u0002\u0002\u0002\u09ed\u09ef\u0003", + "\u0002\u0002\u0002\u09ee\u09f0\u0005\u039a\u01ce\u0002\u09ef\u09ee\u0003", + "\u0002\u0002\u0002\u09ef\u09f0\u0003\u0002\u0002\u0002\u09f0\u09f1\u0003", + "\u0002\u0002\u0002\u09f1\u09f2\u0005\u03e8\u01f5\u0002\u09f2\u09f3\u0007", + "\u08c3\u0002\u0002\u09f3\u09f5\u0003\u0002\u0002\u0002\u09f4\u09ea\u0003", + "\u0002\u0002\u0002\u09f4\u09ec\u0003\u0002\u0002\u0002\u09f5\u0089\u0003", + "\u0002\u0002\u0002\u09f6\u09f8\u0007\u0433\u0002\u0002\u09f7\u09f6\u0003", + "\u0002\u0002\u0002\u09f7\u09f8\u0003\u0002\u0002\u0002\u09f8\u09f9\u0003", + "\u0002\u0002\u0002\u09f9\u09fa\t\u0012\u0002\u0002\u09fa\u008b\u0003", + "\u0002\u0002\u0002\u09fb\u09fc\u0005\u05d0\u02e9\u0002\u09fc\u09fe\u0005", + "\u05b4\u02db\u0002\u09fd\u09ff\u0005\u008eH\u0002\u09fe\u09fd\u0003", + "\u0002\u0002\u0002\u09fe\u09ff\u0003\u0002\u0002\u0002\u09ff\u0a02\u0003", + "\u0002\u0002\u0002\u0a00\u0a02\u0005\u0090I\u0002\u0a01\u09fb\u0003", + "\u0002\u0002\u0002\u0a01\u0a00\u0003\u0002\u0002\u0002\u0a02\u008d\u0003", + "\u0002\u0002\u0002\u0a03\u0a04\u0007\u01ef\u0002\u0002\u0a04\u0a05\u0007", + "\u0371\u0002\u0002\u0a05\u0a06\u0005\u04d4\u026b\u0002\u0a06\u008f\u0003", + "\u0002\u0002\u0002\u0a07\u0a09\u0005\u008aF\u0002\u0a08\u0a07\u0003", + "\u0002\u0002\u0002\u0a08\u0a09\u0003\u0002\u0002\u0002\u0a09\u0a0b\u0003", + "\u0002\u0002\u0002\u0a0a\u0a0c\u0005\u0092J\u0002\u0a0b\u0a0a\u0003", + "\u0002\u0002\u0002\u0a0c\u0a0d\u0003\u0002\u0002\u0002\u0a0d\u0a0b\u0003", + "\u0002\u0002\u0002\u0a0d\u0a0e\u0003\u0002\u0002\u0002\u0a0e\u0a11\u0003", + "\u0002\u0002\u0002\u0a0f\u0a10\u0007\u08b7\u0002\u0002\u0a10\u0a12\u0005", + "\u00a2R\u0002\u0a11\u0a0f\u0003\u0002\u0002\u0002\u0a11\u0a12\u0003", + "\u0002\u0002\u0002\u0a12\u0091\u0003\u0002\u0002\u0002\u0a13\u0a17\u0005", + "\u0094K\u0002\u0a14\u0a17\u0005\u009eP\u0002\u0a15\u0a17\u0005\u00a0", + "Q\u0002\u0a16\u0a13\u0003\u0002\u0002\u0002\u0a16\u0a14\u0003\u0002", + "\u0002\u0002\u0a16\u0a15\u0003\u0002\u0002\u0002\u0a17\u0093\u0003\u0002", + "\u0002\u0002\u0a18\u0a1b\t\u0011\u0002\u0002\u0a19\u0a1c\u0005\u009a", + "N\u0002\u0a1a\u0a1c\u0005\u009cO\u0002\u0a1b\u0a19\u0003\u0002\u0002", + "\u0002\u0a1b\u0a1a\u0003\u0002\u0002\u0002\u0a1c\u0095\u0003\u0002\u0002", + "\u0002\u0a1d\u0a1e\u0007\u04a5\u0002\u0002\u0a1e\u0a1f\u0007\u033c\u0002", + "\u0002\u0a1f\u0a20\u0005\u0098M\u0002\u0a20\u0097\u0003\u0002\u0002", + "\u0002\u0a21\u0a22\u0007\u0230\u0002\u0002\u0a22\u0a2e\u0005\u0580\u02c1", + "\u0002\u0a23\u0a24\u0007\u08b1\u0002\u0002\u0a24\u0a29\u0005\u00a6T", + "\u0002\u0a25\u0a26\u0007\u08b7\u0002\u0002\u0a26\u0a28\u0005\u00a6T", + "\u0002\u0a27\u0a25\u0003\u0002\u0002\u0002\u0a28\u0a2b\u0003\u0002\u0002", + "\u0002\u0a29\u0a27\u0003\u0002\u0002\u0002\u0a29\u0a2a\u0003\u0002\u0002", + "\u0002\u0a2a\u0a2c\u0003\u0002\u0002\u0002\u0a2b\u0a29\u0003\u0002\u0002", + "\u0002\u0a2c\u0a2d\u0007\u08b2\u0002\u0002\u0a2d\u0a2f\u0003\u0002\u0002", + "\u0002\u0a2e\u0a23\u0003\u0002\u0002\u0002\u0a2e\u0a2f\u0003\u0002\u0002", + "\u0002\u0a2f\u0a30\u0003\u0002\u0002\u0002\u0a30\u0a35\u0007\u0599\u0002", + "\u0002\u0a31\u0a36\u0005\u05b4\u02db\u0002\u0a32\u0a33\u0007\u05d5\u0002", + "\u0002\u0a33\u0a34\u0007?\u0002\u0002\u0a34\u0a36\u0007\u0593\u0002", + "\u0002\u0a35\u0a31\u0003\u0002\u0002\u0002\u0a35\u0a32\u0003\u0002\u0002", + "\u0002\u0a36\u0a42\u0003\u0002\u0002\u0002\u0a37\u0a39\u0007\u04e4\u0002", + "\u0002\u0a38\u0a37\u0003\u0002\u0002\u0002\u0a38\u0a39\u0003\u0002\u0002", + "\u0002\u0a39\u0a3a\u0003\u0002\u0002\u0002\u0a3a\u0a3c\t\u0002\u0002", + "\u0002\u0a3b\u0a3d\u0007\u015a\u0002\u0002\u0a3c\u0a3b\u0003\u0002\u0002", + "\u0002\u0a3c\u0a3d\u0003\u0002\u0002\u0002\u0a3d\u0a3f\u0003\u0002\u0002", + "\u0002\u0a3e\u0a40\u0005\u039a\u01ce\u0002\u0a3f\u0a3e\u0003\u0002\u0002", + "\u0002\u0a3f\u0a40\u0003\u0002\u0002\u0002\u0a40\u0a41\u0003\u0002\u0002", + "\u0002\u0a41\u0a43\u0005\u03e8\u01f5\u0002\u0a42\u0a38\u0003\u0002\u0002", + "\u0002\u0a42\u0a43\u0003\u0002\u0002\u0002\u0a43\u0a45\u0003\u0002\u0002", + "\u0002\u0a44\u0a46\u0007\u08c3\u0002\u0002\u0a45\u0a44\u0003\u0002\u0002", + "\u0002\u0a45\u0a46\u0003\u0002\u0002\u0002\u0a46\u0099\u0003\u0002\u0002", + "\u0002\u0a47\u0a48\u0007\u0524\u0002\u0002\u0a48\u0a49\u0005\u0582\u02c2", + "\u0002\u0a49\u0a4a\u0007\u08b1\u0002\u0002\u0a4a\u0a4f\u0005\u00a6T", + "\u0002\u0a4b\u0a4c\u0007\u08b7\u0002\u0002\u0a4c\u0a4e\u0005\u00a6T", + "\u0002\u0a4d\u0a4b\u0003\u0002\u0002\u0002\u0a4e\u0a51\u0003\u0002\u0002", + "\u0002\u0a4f\u0a4d\u0003\u0002\u0002\u0002\u0a4f\u0a50\u0003\u0002\u0002", + "\u0002\u0a50\u0a52\u0003\u0002\u0002\u0002\u0a51\u0a4f\u0003\u0002\u0002", + "\u0002\u0a52\u0a55\u0007\u08b2\u0002\u0002\u0a53\u0a54\t\u0002\u0002", + "\u0002\u0a54\u0a56\u0005\u038c\u01c7\u0002\u0a55\u0a53\u0003\u0002\u0002", + "\u0002\u0a55\u0a56\u0003\u0002\u0002\u0002\u0a56\u009b\u0003\u0002\u0002", + "\u0002\u0a57\u0a58\u0007\u0230\u0002\u0002\u0a58\u0a64\u0005\u0580\u02c1", + "\u0002\u0a59\u0a5a\u0007\u08b1\u0002\u0002\u0a5a\u0a5f\u0005\u00a6T", + "\u0002\u0a5b\u0a5c\u0007\u08b7\u0002\u0002\u0a5c\u0a5e\u0005\u00a6T", + "\u0002\u0a5d\u0a5b\u0003\u0002\u0002\u0002\u0a5e\u0a61\u0003\u0002\u0002", + "\u0002\u0a5f\u0a5d\u0003\u0002\u0002\u0002\u0a5f\u0a60\u0003\u0002\u0002", + "\u0002\u0a60\u0a62\u0003\u0002\u0002\u0002\u0a61\u0a5f\u0003\u0002\u0002", + "\u0002\u0a62\u0a63\u0007\u08b2\u0002\u0002\u0a63\u0a65\u0003\u0002\u0002", + "\u0002\u0a64\u0a59\u0003\u0002\u0002\u0002\u0a64\u0a65\u0003\u0002\u0002", + "\u0002\u0a65\u0a66\u0003\u0002\u0002\u0002\u0a66\u0a6b\u0007\u0599\u0002", + "\u0002\u0a67\u0a6c\u0005\u05b4\u02db\u0002\u0a68\u0a69\u0007\u05d5\u0002", + "\u0002\u0a69\u0a6a\u0007?\u0002\u0002\u0a6a\u0a6c\u0007\u0593\u0002", + "\u0002\u0a6b\u0a67\u0003\u0002\u0002\u0002\u0a6b\u0a68\u0003\u0002\u0002", + "\u0002\u0a6c\u0a75\u0003\u0002\u0002\u0002\u0a6d\u0a6e\t\u0002\u0002", + "\u0002\u0a6e\u0a76\u0005\u038c\u01c7\u0002\u0a6f\u0a71\u0007\u01ef\u0002", + "\u0002\u0a70\u0a72\u0007\u081f\u0002\u0002\u0a71\u0a70\u0003\u0002\u0002", + "\u0002\u0a71\u0a72\u0003\u0002\u0002\u0002\u0a72\u0a73\u0003\u0002\u0002", + "\u0002\u0a73\u0a74\u0007\u0371\u0002\u0002\u0a74\u0a76\u0005\u04d4\u026b", + "\u0002\u0a75\u0a6d\u0003\u0002\u0002\u0002\u0a75\u0a6f\u0003\u0002\u0002", + "\u0002\u0a75\u0a76\u0003\u0002\u0002\u0002\u0a76\u009d\u0003\u0002\u0002", + "\u0002\u0a77\u0a79\u0007\u020d\u0002\u0002\u0a78\u0a77\u0003\u0002\u0002", + "\u0002\u0a78\u0a79\u0003\u0002\u0002\u0002\u0a79\u0a7b\u0003\u0002\u0002", + "\u0002\u0a7a\u0a7c\u0007\u02a4\u0002\u0002\u0a7b\u0a7a\u0003\u0002\u0002", + "\u0002\u0a7b\u0a7c\u0003\u0002\u0002\u0002\u0a7c\u0a7d\u0003\u0002\u0002", + "\u0002\u0a7d\u0a7e\u0007\u0105\u0002\u0002\u0a7e\u0a7f\u0007\u0230\u0002", + "\u0002\u0a7f\u0a91\u0005\u05b4\u02db\u0002\u0a80\u0a81\u0007\u08b1\u0002", + "\u0002\u0a81\u0a82\u0007\u05d5\u0002\u0002\u0a82\u0a83\u0007\u028e\u0002", + "\u0002\u0a83\u0a84\u0007\u04a0\u0002\u0002\u0a84\u0a85\u0005\u05b4\u02db", + "\u0002\u0a85\u0a86\u0007\u08b7\u0002\u0002\u0a86\u0a87\u0003\u0002\u0002", + "\u0002\u0a87\u0a8c\u0005\u00a6T\u0002\u0a88\u0a89\u0007\u08b7\u0002", + "\u0002\u0a89\u0a8b\u0005\u00a6T\u0002\u0a8a\u0a88\u0003\u0002\u0002", + "\u0002\u0a8b\u0a8e\u0003\u0002\u0002\u0002\u0a8c\u0a8a\u0003\u0002\u0002", + "\u0002\u0a8c\u0a8d\u0003\u0002\u0002\u0002\u0a8d\u0a8f\u0003\u0002\u0002", + "\u0002\u0a8e\u0a8c\u0003\u0002\u0002\u0002\u0a8f\u0a90\u0007\u08b2\u0002", + "\u0002\u0a90\u0a92\u0003\u0002\u0002\u0002\u0a91\u0a80\u0003\u0002\u0002", + "\u0002\u0a91\u0a92\u0003\u0002\u0002\u0002\u0a92\u0a93\u0003\u0002\u0002", + "\u0002\u0a93\u0a94\u0007\u0599\u0002\u0002\u0a94\u0a95\u0007\u05d5\u0002", + "\u0002\u0a95\u0a96\u0007?\u0002\u0002\u0a96\u0a99\u0007\u0593\u0002", + "\u0002\u0a97\u0a98\t\u0002\u0002\u0002\u0a98\u0a9a\u0005\u038c\u01c7", + "\u0002\u0a99\u0a97\u0003\u0002\u0002\u0002\u0a99\u0a9a\u0003\u0002\u0002", + "\u0002\u0a9a\u009f\u0003\u0002\u0002\u0002\u0a9b\u0a9c\t\u0010\u0002", + "\u0002\u0a9c\u0a9d\u0007\u033c\u0002\u0002\u0a9d\u0a9e\u0005\u009cO", + "\u0002\u0a9e\u00a1\u0003\u0002\u0002\u0002\u0a9f\u0aa0\u0007\u0509\u0002", + "\u0002\u0aa0\u0aa1\u0007\u0590\u0002\u0002\u0aa1\u0aa2\u0007\u08b1\u0002", + "\u0002\u0aa2\u0aa7\u0005\u00a4S\u0002\u0aa3\u0aa4\u0007\u08b7\u0002", + "\u0002\u0aa4\u0aa6\u0005\u00a4S\u0002\u0aa5\u0aa3\u0003\u0002\u0002", + "\u0002\u0aa6\u0aa9\u0003\u0002\u0002\u0002\u0aa7\u0aa5\u0003\u0002\u0002", + "\u0002\u0aa7\u0aa8\u0003\u0002\u0002\u0002\u0aa8\u0aaa\u0003\u0002\u0002", + "\u0002\u0aa9\u0aa7\u0003\u0002\u0002\u0002\u0aaa\u0aab\u0007\u08b2\u0002", + "\u0002\u0aab\u00a3\u0003\u0002\u0002\u0002\u0aac\u0aaf\u0005\u05d0\u02e9", + "\u0002\u0aad\u0aaf\u0007\u0161\u0002\u0002\u0aae\u0aac\u0003\u0002\u0002", + "\u0002\u0aae\u0aad\u0003\u0002\u0002\u0002\u0aaf\u00a5\u0003\u0002\u0002", + "\u0002\u0ab0\u0ab1\u0005\u0566\u02b4\u0002\u0ab1\u0ab2\u0005\u05b4\u02db", + "\u0002\u0ab2\u00a7\u0003\u0002\u0002\u0002\u0ab3\u0ab4\u0007\u019d\u0002", + "\u0002\u0ab4\u0ab5\u0007\u05da\u0002\u0002\u0ab5\u0ab6\u0005\u057c\u02bf", + "\u0002\u0ab6\u0ab7\u0007\u08c3\u0002\u0002\u0ab7\u00a9\u0003\u0002\u0002", + "\u0002\u0ab8\u0ab9\u0007)\u0002\u0002\u0ab9\u0aba\u0007\u05da\u0002", + "\u0002\u0aba\u0abc\u0005\u057c\u02bf\u0002\u0abb\u0abd\u0005\u00b2Z", + "\u0002\u0abc\u0abb\u0003\u0002\u0002\u0002\u0abd\u0abe\u0003\u0002\u0002", + "\u0002\u0abe\u0abc\u0003\u0002\u0002\u0002\u0abe\u0abf\u0003\u0002\u0002", + "\u0002\u0abf\u0ac0\u0003\u0002\u0002\u0002\u0ac0\u0ac1\u0007\u08c3\u0002", + "\u0002\u0ac1\u00ab\u0003\u0002\u0002\u0002\u0ac2\u0ac3\u0007)\u0002", + "\u0002\u0ac3\u0ae1\u0007\u05e4\u0002\u0002\u0ac4\u0ac5\u0007\u001d\u0002", + "\u0002\u0ac5\u0ae2\t\u0013\u0002\u0002\u0ac6\u0ac7\u0007\u00c5\u0002", + "\u0002\u0ac7\u0ac8\u0007\u013e\u0002\u0002\u0ac8\u0ac9\u0007\u02fa\u0002", + "\u0002\u0ac9\u0ae2\u0005\u0566\u02b4\u0002\u0aca\u0acb\u0005\u028a\u0146", + "\u0002\u0acb\u0acc\u0007\u00dc\u0002\u0002\u0acc\u0acd\u0007\u028e\u0002", + "\u0002\u0acd\u0ace\u0007\u0524\u0002\u0002\u0ace\u0ae2\u0003\u0002\u0002", + "\u0002\u0acf\u0ad0\u0005\u028a\u0146\u0002\u0ad0\u0ad1\u0007\u0246\u0002", + "\u0002\u0ad1\u0ae2\u0003\u0002\u0002\u0002\u0ad2\u0ad5\u0005\u028a\u0146", + "\u0002\u0ad3\u0ad5\u0007\u0220\u0002\u0002\u0ad4\u0ad2\u0003\u0002\u0002", + "\u0002\u0ad4\u0ad3\u0003\u0002\u0002\u0002\u0ad5\u0ad6\u0003\u0002\u0002", + "\u0002\u0ad6\u0ad7\u0007\u04ad\u0002\u0002\u0ad7\u0add\t\u0014\u0002", + "\u0002\u0ad8\u0adb\u0007\u04ad\u0002\u0002\u0ad9\u0adc\u0005\u050c\u0287", + "\u0002\u0ada\u0adc\u0005\u0566\u02b4\u0002\u0adb\u0ad9\u0003\u0002\u0002", + "\u0002\u0adb\u0ada\u0003\u0002\u0002\u0002\u0adc\u0ade\u0003\u0002\u0002", + "\u0002\u0add\u0ad8\u0003\u0002\u0002\u0002\u0add\u0ade\u0003\u0002\u0002", + "\u0002\u0ade\u0ae2\u0003\u0002\u0002\u0002\u0adf\u0ae0\u0007\u05e8\u0002", + "\u0002\u0ae0\u0ae2\u0005\u00aeX\u0002\u0ae1\u0ac4\u0003\u0002\u0002", + "\u0002\u0ae1\u0ac6\u0003\u0002\u0002\u0002\u0ae1\u0aca\u0003\u0002\u0002", + "\u0002\u0ae1\u0acf\u0003\u0002\u0002\u0002\u0ae1\u0ad4\u0003\u0002\u0002", + "\u0002\u0ae1\u0adf\u0003\u0002\u0002\u0002\u0ae2\u00ad\u0003\u0002\u0002", + "\u0002\u0ae3\u0ae4\u0005\u0566\u02b4\u0002\u0ae4\u0ae5\u0007\u08c5\u0002", + "\u0002\u0ae5\u0ae6\u0005\u0192\u00ca\u0002\u0ae6\u00af\u0003\u0002\u0002", + "\u0002\u0ae7\u0ae8\u0007\u0122\u0002\u0002\u0ae8\u0ae9\u0007\u05da\u0002", + "\u0002\u0ae9\u0aee\u0005\u057c\u02bf\u0002\u0aea\u0aed\u0005\u00b4[", + "\u0002\u0aeb\u0aed\u0005\u00b2Z\u0002\u0aec\u0aea\u0003\u0002\u0002", + "\u0002\u0aec\u0aeb\u0003\u0002\u0002\u0002\u0aed\u0af0\u0003\u0002\u0002", + "\u0002\u0aee\u0aec\u0003\u0002\u0002\u0002\u0aee\u0aef\u0003\u0002\u0002", + "\u0002\u0aef\u0af1\u0003\u0002\u0002\u0002\u0af0\u0aee\u0003\u0002\u0002", + "\u0002\u0af1\u0af2\u0007\u08c3\u0002\u0002\u0af2\u00b1\u0003\u0002\u0002", + "\u0002\u0af3\u0af4\u0007\u026f\u0002\u0002\u0af4\u0af5\u0007\u0094\u0002", + "\u0002\u0af5\u0b04\u0007\u08ab\u0002\u0002\u0af6\u0af7\u0007\u0338\u0002", + "\u0002\u0af7\u0b04\u0007\u08ab\u0002\u0002\u0af8\u0b04\u0007\u03e5\u0002", + "\u0002\u0af9\u0afa\u0007\u034f\u0002\u0002\u0afa\u0b04\u0007\u08ab\u0002", + "\u0002\u0afb\u0b04\u0007\u03e8\u0002\u0002\u0afc\u0b04\u0007\u013c\u0002", + "\u0002\u0afd\u0b04\u0007\u03c5\u0002\u0002\u0afe\u0aff\u0007\u0098\u0002", + "\u0002\u0aff\u0b04\u0007\u08ab\u0002\u0002\u0b00\u0b04\u0007\u03b4\u0002", + "\u0002\u0b01\u0b04\u0007\u0492\u0002\u0002\u0b02\u0b04\u0007\u03f7\u0002", + "\u0002\u0b03\u0af3\u0003\u0002\u0002\u0002\u0b03\u0af6\u0003\u0002\u0002", + "\u0002\u0b03\u0af8\u0003\u0002\u0002\u0002\u0b03\u0af9\u0003\u0002\u0002", + "\u0002\u0b03\u0afb\u0003\u0002\u0002\u0002\u0b03\u0afc\u0003\u0002\u0002", + "\u0002\u0b03\u0afd\u0003\u0002\u0002\u0002\u0b03\u0afe\u0003\u0002\u0002", + "\u0002\u0b03\u0b00\u0003\u0002\u0002\u0002\u0b03\u0b01\u0003\u0002\u0002", + "\u0002\u0b03\u0b02\u0003\u0002\u0002\u0002\u0b04\u00b3\u0003\u0002\u0002", + "\u0002\u0b05\u0b06\u0007\u0623\u0002\u0002\u0b06\u0b07\u0007\u084b\u0002", + "\u0002\u0b07\u0b08\u0007\u08ab\u0002\u0002\u0b08\u00b5\u0003\u0002\u0002", + "\u0002\u0b09\u0b0b\u0007\u0122\u0002\u0002\u0b0a\u0b0c\t\u0015\u0002", + "\u0002\u0b0b\u0b0a\u0003\u0002\u0002\u0002\u0b0b\u0b0c\u0003\u0002\u0002", + "\u0002\u0b0c\u0b0d\u0003\u0002\u0002\u0002\u0b0d\u0b0e\u0007\u0279\u0002", + "\u0002\u0b0e\u0b0f\u0005\u0588\u02c5\u0002\u0b0f\u0b13\u0007\u046a\u0002", + "\u0002\u0b10\u0b14\u0005\u00b8]\u0002\u0b11\u0b14\u0005\u00bc_\u0002", + "\u0b12\u0b14\u0005\u00be`\u0002\u0b13\u0b10\u0003\u0002\u0002\u0002", + "\u0b13\u0b11\u0003\u0002\u0002\u0002\u0b13\u0b12\u0003\u0002\u0002\u0002", + "\u0b14\u0b16\u0003\u0002\u0002\u0002\u0b15\u0b17\u0007\u07e7\u0002\u0002", + "\u0b16\u0b15\u0003\u0002\u0002\u0002\u0b16\u0b17\u0003\u0002\u0002\u0002", + "\u0b17\u0b18\u0003\u0002\u0002\u0002\u0b18\u0b19\u0007\u08c3\u0002\u0002", + "\u0b19\u00b7\u0003\u0002\u0002\u0002\u0b1a\u0b1b\u0007\u00c7\u0002\u0002", + "\u0b1b\u0b1d\u0005\u00ba^\u0002\u0b1c\u0b1e\u0005\u0302\u0182\u0002", + "\u0b1d\u0b1c\u0003\u0002\u0002\u0002\u0b1d\u0b1e\u0003\u0002\u0002\u0002", + "\u0b1e\u00b9\u0003\u0002\u0002\u0002\u0b1f\u0b20\u0005\u05d2\u02ea\u0002", + "\u0b20\u0b21\u0007\u08aa\u0002\u0002\u0b21\u0b23\u0003\u0002\u0002\u0002", + "\u0b22\u0b1f\u0003\u0002\u0002\u0002\u0b22\u0b23\u0003\u0002\u0002\u0002", + "\u0b23\u0b24\u0003\u0002\u0002\u0002\u0b24\u0b25\u0005\u05d2\u02ea\u0002", + "\u0b25\u00bb\u0003\u0002\u0002\u0002\u0b26\u0b28\u0005\u0594\u02cb\u0002", + "\u0b27\u0b29\u0005\u054c\u02a7\u0002\u0b28\u0b27\u0003\u0002\u0002\u0002", + "\u0b28\u0b29\u0003\u0002\u0002\u0002\u0b29\u0b2a\u0003\u0002\u0002\u0002", + "\u0b2a\u0b2b\u0007\u08b1\u0002\u0002\u0b2b\u0b2d\u0005\u00c0a\u0002", + "\u0b2c\u0b2e\t\u0016\u0002\u0002\u0b2d\u0b2c\u0003\u0002\u0002\u0002", + "\u0b2d\u0b2e\u0003\u0002\u0002\u0002\u0b2e\u0b36\u0003\u0002\u0002\u0002", + "\u0b2f\u0b30\u0007\u08b7\u0002\u0002\u0b30\u0b32\u0005\u00c0a\u0002", + "\u0b31\u0b33\t\u0016\u0002\u0002\u0b32\u0b31\u0003\u0002\u0002\u0002", + "\u0b32\u0b33\u0003\u0002\u0002\u0002\u0b33\u0b35\u0003\u0002\u0002\u0002", + "\u0b34\u0b2f\u0003\u0002\u0002\u0002\u0b35\u0b38\u0003\u0002\u0002\u0002", + "\u0b36\u0b34\u0003\u0002\u0002\u0002\u0b36\u0b37\u0003\u0002\u0002\u0002", + "\u0b37\u0b39\u0003\u0002\u0002\u0002\u0b38\u0b36\u0003\u0002\u0002\u0002", + "\u0b39\u0b3b\u0007\u08b2\u0002\u0002\u0b3a\u0b3c\u0005\u00c2b\u0002", + "\u0b3b\u0b3a\u0003\u0002\u0002\u0002\u0b3b\u0b3c\u0003\u0002\u0002\u0002", + "\u0b3c\u00bd\u0003\u0002\u0002\u0002\u0b3d\u0b3e\u0005\u0594\u02cb\u0002", + "\u0b3e\u0b41\u0007\u08b1\u0002\u0002\u0b3f\u0b42\u0005\u0594\u02cb\u0002", + "\u0b40\u0b42\u0005\u054c\u02a7\u0002\u0b41\u0b3f\u0003\u0002\u0002\u0002", + "\u0b41\u0b40\u0003\u0002\u0002\u0002\u0b41\u0b42\u0003\u0002\u0002\u0002", + "\u0b42\u0b43\u0003\u0002\u0002\u0002\u0b43\u0b45\u0005\u0592\u02ca\u0002", + "\u0b44\u0b46\t\u0016\u0002\u0002\u0b45\u0b44\u0003\u0002\u0002\u0002", + "\u0b45\u0b46\u0003\u0002\u0002\u0002\u0b46\u0b52\u0003\u0002\u0002\u0002", + "\u0b47\u0b4a\u0007\u08b7\u0002\u0002\u0b48\u0b4b\u0005\u0594\u02cb\u0002", + "\u0b49\u0b4b\u0005\u054c\u02a7\u0002\u0b4a\u0b48\u0003\u0002\u0002\u0002", + "\u0b4a\u0b49\u0003\u0002\u0002\u0002\u0b4a\u0b4b\u0003\u0002\u0002\u0002", + "\u0b4b\u0b4c\u0003\u0002\u0002\u0002\u0b4c\u0b4e\u0005\u0592\u02ca\u0002", + "\u0b4d\u0b4f\t\u0016\u0002\u0002\u0b4e\u0b4d\u0003\u0002\u0002\u0002", + "\u0b4e\u0b4f\u0003\u0002\u0002\u0002\u0b4f\u0b51\u0003\u0002\u0002\u0002", + "\u0b50\u0b47\u0003\u0002\u0002\u0002\u0b51\u0b54\u0003\u0002\u0002\u0002", + "\u0b52\u0b50\u0003\u0002\u0002\u0002\u0b52\u0b53\u0003\u0002\u0002\u0002", + "\u0b53\u0b55\u0003\u0002\u0002\u0002\u0b54\u0b52\u0003\u0002\u0002\u0002", + "\u0b55\u0b56\u0007\u08b2\u0002\u0002\u0b56\u0b57\u0007\u022c\u0002\u0002", + "\u0b57\u0b58\u0005\u0594\u02cb\u0002\u0b58\u0b5f\u0005\u054c\u02a7\u0002", + "\u0b59\u0b5a\u0007\u08b7\u0002\u0002\u0b5a\u0b5b\u0005\u0594\u02cb\u0002", + "\u0b5b\u0b5c\u0005\u054c\u02a7\u0002\u0b5c\u0b5e\u0003\u0002\u0002\u0002", + "\u0b5d\u0b59\u0003\u0002\u0002\u0002\u0b5e\u0b61\u0003\u0002\u0002\u0002", + "\u0b5f\u0b5d\u0003\u0002\u0002\u0002\u0b5f\u0b60\u0003\u0002\u0002\u0002", + "\u0b60\u0b62\u0003\u0002\u0002\u0002\u0b61\u0b5f\u0003\u0002\u0002\u0002", + "\u0b62\u0b64\u0005\u054e\u02a8\u0002\u0b63\u0b65\u0005\u00d0i\u0002", + "\u0b64\u0b63\u0003\u0002\u0002\u0002\u0b64\u0b65\u0003\u0002\u0002\u0002", + "\u0b65\u0b67\u0003\u0002\u0002\u0002\u0b66\u0b68\u0005\u0302\u0182\u0002", + "\u0b67\u0b66\u0003\u0002\u0002\u0002\u0b67\u0b68\u0003\u0002\u0002\u0002", + "\u0b68\u00bf\u0003\u0002\u0002\u0002\u0b69\u0b6c\u0005\u0592\u02ca\u0002", + "\u0b6a\u0b6c\u0005\u04d4\u026b\u0002\u0b6b\u0b69\u0003\u0002\u0002\u0002", + "\u0b6b\u0b6a\u0003\u0002\u0002\u0002\u0b6c\u00c1\u0003\u0002\u0002\u0002", + "\u0b6d\u0b71\u0005\u00ccg\u0002\u0b6e\u0b71\u0005\u00d0i\u0002\u0b6f", + "\u0b71\u0005\u0302\u0182\u0002\u0b70\u0b6d\u0003\u0002\u0002\u0002\u0b70", + "\u0b6e\u0003\u0002\u0002\u0002\u0b70\u0b6f\u0003\u0002\u0002\u0002\u0b71", + "\u0b72\u0003\u0002\u0002\u0002\u0b72\u0b70\u0003\u0002\u0002\u0002\u0b72", + "\u0b73\u0003\u0002\u0002\u0002\u0b73\u0b7b\u0003\u0002\u0002\u0002\u0b74", + "\u0b75\u0007\u0287\u0002\u0002\u0b75\u0b78\u0007\u02b9\u0002\u0002\u0b76", + "\u0b79\u0005\u00c4c\u0002\u0b77\u0b79\u0005\u00c8e\u0002\u0b78\u0b76", + "\u0003\u0002\u0002\u0002\u0b78\u0b77\u0003\u0002\u0002\u0002\u0b79\u0b7b", + "\u0003\u0002\u0002\u0002\u0b7a\u0b70\u0003\u0002\u0002\u0002\u0b7a\u0b74", + "\u0003\u0002\u0002\u0002\u0b7b\u00c3\u0003\u0002\u0002\u0002\u0b7c\u0b7e", + "\u0005\u00e6t\u0002\u0b7d\u0b7f\u0005\u00c6d\u0002\u0b7e\u0b7d\u0003", + "\u0002\u0002\u0002\u0b7e\u0b7f\u0003\u0002\u0002\u0002\u0b7f\u0b81\u0003", + "\u0002\u0002\u0002\u0b80\u0b82\u0005\u01dc\u00ef\u0002\u0b81\u0b80\u0003", + "\u0002\u0002\u0002\u0b81\u0b82\u0003\u0002\u0002\u0002\u0b82\u0b88\u0003", + "\u0002\u0002\u0002\u0b83\u0b84\u0007\u04af\u0002\u0002\u0b84\u0b85\u0007", + "\u08b1\u0002\u0002\u0b85\u0b86\u0005\u00e4s\u0002\u0b86\u0b87\u0007", + "\u08b2\u0002\u0002\u0b87\u0b89\u0003\u0002\u0002\u0002\u0b88\u0b83\u0003", + "\u0002\u0002\u0002\u0b88\u0b89\u0003\u0002\u0002\u0002\u0b89\u00c5\u0003", + "\u0002\u0002\u0002\u0b8a\u0ba6\u0007\u0303\u0002\u0002\u0b8b\u0b8c\u0007", + "\u08b1\u0002\u0002\u0b8c\u0b8d\u0007\u04b9\u0002\u0002\u0b8d\u0b93\u0005", + "\u0360\u01b1\u0002\u0b8e\u0b8f\u0007\u04af\u0002\u0002\u0b8f\u0b90\u0007", + "\u08b1\u0002\u0002\u0b90\u0b91\u0005\u00e4s\u0002\u0b91\u0b92\u0007", + "\u08b2\u0002\u0002\u0b92\u0b94\u0003\u0002\u0002\u0002\u0b93\u0b8e\u0003", + "\u0002\u0002\u0002\u0b93\u0b94\u0003\u0002\u0002\u0002\u0b94\u0ba1\u0003", + "\u0002\u0002\u0002\u0b95\u0b96\u0007\u08b7\u0002\u0002\u0b96\u0b97\u0007", + "\u04b9\u0002\u0002\u0b97\u0b9d\u0005\u0360\u01b1\u0002\u0b98\u0b99\u0007", + "\u04af\u0002\u0002\u0b99\u0b9a\u0007\u08b1\u0002\u0002\u0b9a\u0b9b\u0005", + "\u00e4s\u0002\u0b9b\u0b9c\u0007\u08b2\u0002\u0002\u0b9c\u0b9e\u0003", + "\u0002\u0002\u0002\u0b9d\u0b98\u0003\u0002\u0002\u0002\u0b9d\u0b9e\u0003", + "\u0002\u0002\u0002\u0b9e\u0ba0\u0003\u0002\u0002\u0002\u0b9f\u0b95\u0003", + "\u0002\u0002\u0002\u0ba0\u0ba3\u0003\u0002\u0002\u0002\u0ba1\u0b9f\u0003", + "\u0002\u0002\u0002\u0ba1\u0ba2\u0003\u0002\u0002\u0002\u0ba2\u0ba4\u0003", + "\u0002\u0002\u0002\u0ba3\u0ba1\u0003\u0002\u0002\u0002\u0ba4\u0ba5\u0007", + "\u08b2\u0002\u0002\u0ba5\u0ba7\u0003\u0002\u0002\u0002\u0ba6\u0b8b\u0003", + "\u0002\u0002\u0002\u0ba6\u0ba7\u0003\u0002\u0002\u0002\u0ba7\u00c7\u0003", + "\u0002\u0002\u0002\u0ba8\u0ba9\u0007\u0851\u0002\u0002\u0ba9\u0bab\u0007", + "\u08aa\u0002\u0002\u0baa\u0ba8\u0003\u0002\u0002\u0002\u0baa\u0bab\u0003", + "\u0002\u0002\u0002\u0bab\u0bac\u0003\u0002\u0002\u0002\u0bac\u0bae\u0007", + "\u0862\u0002\u0002\u0bad\u0baf\u0005\u00caf\u0002\u0bae\u0bad\u0003", + "\u0002\u0002\u0002\u0bae\u0baf\u0003\u0002\u0002\u0002\u0baf\u0bb1\u0003", + "\u0002\u0002\u0002\u0bb0\u0bb2\u0005\u01dc\u00ef\u0002\u0bb1\u0bb0\u0003", + "\u0002\u0002\u0002\u0bb1\u0bb2\u0003\u0002\u0002\u0002\u0bb2\u00c9\u0003", + "\u0002\u0002\u0002\u0bb3\u0bc1\u0007\u0303\u0002\u0002\u0bb4\u0bb5\u0007", + "\u08b1\u0002\u0002\u0bb5\u0bb6\u0007\u04b9\u0002\u0002\u0bb6\u0bbc\u0005", + "\u0360\u01b1\u0002\u0bb7\u0bb8\u0007\u08b7\u0002\u0002\u0bb8\u0bb9\u0007", + "\u04b9\u0002\u0002\u0bb9\u0bbb\u0005\u0360\u01b1\u0002\u0bba\u0bb7\u0003", + "\u0002\u0002\u0002\u0bbb\u0bbe\u0003\u0002\u0002\u0002\u0bbc\u0bba\u0003", + "\u0002\u0002\u0002\u0bbc\u0bbd\u0003\u0002\u0002\u0002\u0bbd\u0bbf\u0003", + "\u0002\u0002\u0002\u0bbe\u0bbc\u0003\u0002\u0002\u0002\u0bbf\u0bc0\u0007", + "\u08b2\u0002\u0002\u0bc0\u0bc2\u0003\u0002\u0002\u0002\u0bc1\u0bb4\u0003", + "\u0002\u0002\u0002\u0bc1\u0bc2\u0003\u0002\u0002\u0002\u0bc2\u00cb\u0003", + "\u0002\u0002\u0002\u0bc3\u0bc4\u0007\u0238\u0002\u0002\u0bc4\u0bc5\u0007", + "\u04b9\u0002\u0002\u0bc5\u0be4\u0007\u0094\u0002\u0002\u0bc6\u0bc7\u0007", + "\u0542\u0002\u0002\u0bc7\u0bc8\u0007\u08b1\u0002\u0002\u0bc8\u0bcd\u0005", + "\u0592\u02ca\u0002\u0bc9\u0bca\u0007\u08b7\u0002\u0002\u0bca\u0bcc\u0005", + "\u0592\u02ca\u0002\u0bcb\u0bc9\u0003\u0002\u0002\u0002\u0bcc\u0bcf\u0003", + "\u0002\u0002\u0002\u0bcd\u0bcb\u0003\u0002\u0002\u0002\u0bcd\u0bce\u0003", + "\u0002\u0002\u0002\u0bce\u0bd0\u0003\u0002\u0002\u0002\u0bcf\u0bcd\u0003", + "\u0002\u0002\u0002\u0bd0\u0bd1\u0007\u08b2\u0002\u0002\u0bd1\u0bd2\u0007", + "\u08b1\u0002\u0002\u0bd2\u0bd3\u0005\u00ceh\u0002\u0bd3\u0bd4\u0007", + "\u08b2\u0002\u0002\u0bd4\u0be5\u0003\u0002\u0002\u0002\u0bd5\u0bd6\u0007", + "\u0248\u0002\u0002\u0bd6\u0bd7\u0007\u08b1\u0002\u0002\u0bd7\u0bdc\u0005", + "\u0592\u02ca\u0002\u0bd8\u0bd9\u0007\u08b7\u0002\u0002\u0bd9\u0bdb\u0005", + "\u0592\u02ca\u0002\u0bda\u0bd8\u0003\u0002\u0002\u0002\u0bdb\u0bde\u0003", + "\u0002\u0002\u0002\u0bdc\u0bda\u0003\u0002\u0002\u0002\u0bdc\u0bdd\u0003", + "\u0002\u0002\u0002\u0bdd\u0bdf\u0003\u0002\u0002\u0002\u0bde\u0bdc\u0003", + "\u0002\u0002\u0002\u0bdf\u0be2\u0007\u08b2\u0002\u0002\u0be0\u0be3\u0005", + "\u022a\u0116\u0002\u0be1\u0be3\u0005\u022c\u0117\u0002\u0be2\u0be0\u0003", + "\u0002\u0002\u0002\u0be2\u0be1\u0003\u0002\u0002\u0002\u0be3\u0be5\u0003", + "\u0002\u0002\u0002\u0be4\u0bc6\u0003\u0002\u0002\u0002\u0be4\u0bd5\u0003", + "\u0002\u0002\u0002\u0be5\u00cd\u0003\u0002\u0002\u0002\u0be6\u0be8\u0007", + "\u04b9\u0002\u0002\u0be7\u0be9\u0005\u0360\u01b1\u0002\u0be8\u0be7\u0003", + "\u0002\u0002\u0002\u0be8\u0be9\u0003\u0002\u0002\u0002\u0be9\u0bea\u0003", + "\u0002\u0002\u0002\u0bea\u0beb\u0007\u081b\u0002\u0002\u0beb\u0bec\u0007", + "\u02ec\u0002\u0002\u0bec\u0bed\u0007\u0786\u0002\u0002\u0bed\u0bee\u0007", + "\u08b1\u0002\u0002\u0bee\u0bf3\u0005\u050c\u0287\u0002\u0bef\u0bf0\u0007", + "\u08b7\u0002\u0002\u0bf0\u0bf2\u0005\u050c\u0287\u0002\u0bf1\u0bef\u0003", + "\u0002\u0002\u0002\u0bf2\u0bf5\u0003\u0002\u0002\u0002\u0bf3\u0bf1\u0003", + "\u0002\u0002\u0002\u0bf3\u0bf4\u0003\u0002\u0002\u0002\u0bf4\u0bf6\u0003", + "\u0002\u0002\u0002\u0bf5\u0bf3\u0003\u0002\u0002\u0002\u0bf6\u0bf8\u0007", + "\u08b2\u0002\u0002\u0bf7\u0bf9\u0005\u026a\u0136\u0002\u0bf8\u0bf7\u0003", + "\u0002\u0002\u0002\u0bf8\u0bf9\u0003\u0002\u0002\u0002\u0bf9\u00cf\u0003", + "\u0002\u0002\u0002\u0bfa\u0bff\u0007\u0303\u0002\u0002\u0bfb\u0c00\u0005", + "\u00d2j\u0002\u0bfc\u0c00\u0005\u00d4k\u0002\u0bfd\u0c00\u0005\u00d8", + "m\u0002\u0bfe\u0c00\u0005\u00dco\u0002\u0bff\u0bfb\u0003\u0002\u0002", + "\u0002\u0bff\u0bfc\u0003\u0002\u0002\u0002\u0bff\u0bfd\u0003\u0002\u0002", + "\u0002\u0bff\u0bfe\u0003\u0002\u0002\u0002\u0bff\u0c00\u0003\u0002\u0002", + "\u0002\u0c00\u00d1\u0003\u0002\u0002\u0002\u0c01\u0c02\u0007\u08b1\u0002", + "\u0002\u0c02\u0c07\u0005\u00d6l\u0002\u0c03\u0c04\u0007\u08b7\u0002", + "\u0002\u0c04\u0c06\u0005\u00d6l\u0002\u0c05\u0c03\u0003\u0002\u0002", + "\u0002\u0c06\u0c09\u0003\u0002\u0002\u0002\u0c07\u0c05\u0003\u0002\u0002", + "\u0002\u0c07\u0c08\u0003\u0002\u0002\u0002\u0c08\u0c0a\u0003\u0002\u0002", + "\u0002\u0c09\u0c07\u0003\u0002\u0002\u0002\u0c0a\u0c0b\u0007\u08b2\u0002", + "\u0002\u0c0b\u00d3\u0003\u0002\u0002\u0002\u0c0c\u0c0d\u0007\u08b1\u0002", + "\u0002\u0c0d\u0c12\u0005\u00d6l\u0002\u0c0e\u0c0f\u0007\u08b7\u0002", + "\u0002\u0c0f\u0c11\u0005\u00d6l\u0002\u0c10\u0c0e\u0003\u0002\u0002", + "\u0002\u0c11\u0c14\u0003\u0002\u0002\u0002\u0c12\u0c10\u0003\u0002\u0002", + "\u0002\u0c12\u0c13\u0003\u0002\u0002\u0002\u0c13\u0c15\u0003\u0002\u0002", + "\u0002\u0c14\u0c12\u0003\u0002\u0002\u0002\u0c15\u0c16\u0007\u08b2\u0002", + "\u0002\u0c16\u00d5\u0003\u0002\u0002\u0002\u0c17\u0c19\u0007\u04b9\u0002", + "\u0002\u0c18\u0c1a\u0005\u0360\u01b1\u0002\u0c19\u0c18\u0003\u0002\u0002", + "\u0002\u0c19\u0c1a\u0003\u0002\u0002\u0002\u0c1a\u0c1f\u0003\u0002\u0002", + "\u0002\u0c1b\u0c1e\u0005\u026a\u0136\u0002\u0c1c\u0c1e\u0005\u030e\u0188", + "\u0002\u0c1d\u0c1b\u0003\u0002\u0002\u0002\u0c1d\u0c1c\u0003\u0002\u0002", + "\u0002\u0c1e\u0c21\u0003\u0002\u0002\u0002\u0c1f\u0c1d\u0003\u0002\u0002", + "\u0002\u0c1f\u0c20\u0003\u0002\u0002\u0002\u0c20\u0c23\u0003\u0002\u0002", + "\u0002\u0c21\u0c1f\u0003\u0002\u0002\u0002\u0c22\u0c24\u0007\u07e7\u0002", + "\u0002\u0c23\u0c22\u0003\u0002\u0002\u0002\u0c23\u0c24\u0003\u0002\u0002", + "\u0002\u0c24\u00d7\u0003\u0002\u0002\u0002\u0c25\u0c26\u0007\u063c\u0002", + "\u0002\u0c26\u0c27\u0007\u028e\u0002\u0002\u0c27\u0c28\u0007\u08b1\u0002", + "\u0002\u0c28\u0c2d\u0005\u0346\u01a4\u0002\u0c29\u0c2a\u0007\u08b7\u0002", + "\u0002\u0c2a\u0c2c\u0005\u0346\u01a4\u0002\u0c2b\u0c29\u0003\u0002\u0002", + "\u0002\u0c2c\u0c2f\u0003\u0002\u0002\u0002\u0c2d\u0c2b\u0003\u0002\u0002", + "\u0002\u0c2d\u0c2e\u0003\u0002\u0002\u0002\u0c2e\u0c30\u0003\u0002\u0002", + "\u0002\u0c2f\u0c2d\u0003\u0002\u0002\u0002\u0c30\u0c31\u0007\u08b2\u0002", + "\u0002\u0c31\u0c3e\u0003\u0002\u0002\u0002\u0c32\u0c33\u0007\u08b1\u0002", + "\u0002\u0c33\u0c38\u0005\u00dan\u0002\u0c34\u0c35\u0007\u08b7\u0002", + "\u0002\u0c35\u0c37\u0005\u00dan\u0002\u0c36\u0c34\u0003\u0002\u0002", + "\u0002\u0c37\u0c3a\u0003\u0002\u0002\u0002\u0c38\u0c36\u0003\u0002\u0002", + "\u0002\u0c38\u0c39\u0003\u0002\u0002\u0002\u0c39\u0c3b\u0003\u0002\u0002", + "\u0002\u0c3a\u0c38\u0003\u0002\u0002\u0002\u0c3b\u0c3c\u0007\u08b2\u0002", + "\u0002\u0c3c\u0c3e\u0003\u0002\u0002\u0002\u0c3d\u0c25\u0003\u0002\u0002", + "\u0002\u0c3d\u0c32\u0003\u0002\u0002\u0002\u0c3e\u00d9\u0003\u0002\u0002", + "\u0002\u0c3f\u0c41\u0007\u04b9\u0002\u0002\u0c40\u0c42\u0005\u0360\u01b1", + "\u0002\u0c41\u0c40\u0003\u0002\u0002\u0002\u0c41\u0c42\u0003\u0002\u0002", + "\u0002\u0c42\u0c45\u0003\u0002\u0002\u0002\u0c43\u0c44\u0007\u0777\u0002", + "\u0002\u0c44\u0c46\u0005\u0346\u01a4\u0002\u0c45\u0c43\u0003\u0002\u0002", + "\u0002\u0c45\u0c46\u0003\u0002\u0002\u0002\u0c46\u0c48\u0003\u0002\u0002", + "\u0002\u0c47\u0c49\u0005\u030e\u0188\u0002\u0c48\u0c47\u0003\u0002\u0002", + "\u0002\u0c48\u0c49\u0003\u0002\u0002\u0002\u0c49\u0c4b\u0003\u0002\u0002", + "\u0002\u0c4a\u0c4c\u0007\u07e7\u0002\u0002\u0c4b\u0c4a\u0003\u0002\u0002", + "\u0002\u0c4b\u0c4c\u0003\u0002\u0002\u0002\u0c4c\u00db\u0003\u0002\u0002", + "\u0002\u0c4d\u0c4e\u0007\u063c\u0002\u0002\u0c4e\u0c4f\u0007\u028e\u0002", + "\u0002\u0c4f\u0c50\u0007\u08b1\u0002\u0002\u0c50\u0c55\u0005\u0346\u01a4", + "\u0002\u0c51\u0c52\u0007\u08b7\u0002\u0002\u0c52\u0c54\u0005\u0346\u01a4", + "\u0002\u0c53\u0c51\u0003\u0002\u0002\u0002\u0c54\u0c57\u0003\u0002\u0002", + "\u0002\u0c55\u0c53\u0003\u0002\u0002\u0002\u0c55\u0c56\u0003\u0002\u0002", + "\u0002\u0c56\u0c58\u0003\u0002\u0002\u0002\u0c57\u0c55\u0003\u0002\u0002", + "\u0002\u0c58\u0c59\u0007\u08b2\u0002\u0002\u0c59\u0c5b\u0003\u0002\u0002", + "\u0002\u0c5a\u0c4d\u0003\u0002\u0002\u0002\u0c5a\u0c5b\u0003\u0002\u0002", + "\u0002\u0c5b\u0c5c\u0003\u0002\u0002\u0002\u0c5c\u0c5d\u0007\u08b1\u0002", + "\u0002\u0c5d\u0c62\u0005\u00dep\u0002\u0c5e\u0c5f\u0007\u08b7\u0002", + "\u0002\u0c5f\u0c61\u0005\u00dep\u0002\u0c60\u0c5e\u0003\u0002\u0002", + "\u0002\u0c61\u0c64\u0003\u0002\u0002\u0002\u0c62\u0c60\u0003\u0002\u0002", + "\u0002\u0c62\u0c63\u0003\u0002\u0002\u0002\u0c63\u0c65\u0003\u0002\u0002", + "\u0002\u0c64\u0c62\u0003\u0002\u0002\u0002\u0c65\u0c66\u0007\u08b2\u0002", + "\u0002\u0c66\u00dd\u0003\u0002\u0002\u0002\u0c67\u0c69\u0007\u04b9\u0002", + "\u0002\u0c68\u0c6a\u0005\u0360\u01b1\u0002\u0c69\u0c68\u0003\u0002\u0002", + "\u0002\u0c69\u0c6a\u0003\u0002\u0002\u0002\u0c6a\u0c6f\u0003\u0002\u0002", + "\u0002\u0c6b\u0c6e\u0005\u026a\u0136\u0002\u0c6c\u0c6e\u0005\u030e\u0188", + "\u0002\u0c6d\u0c6b\u0003\u0002\u0002\u0002\u0c6d\u0c6c\u0003\u0002\u0002", + "\u0002\u0c6e\u0c71\u0003\u0002\u0002\u0002\u0c6f\u0c6d\u0003\u0002\u0002", + "\u0002\u0c6f\u0c70\u0003\u0002\u0002\u0002\u0c70\u0c72\u0003\u0002\u0002", + "\u0002\u0c71\u0c6f\u0003\u0002\u0002\u0002\u0c72\u0c74\u0007\u07e7\u0002", + "\u0002\u0c73\u0c75\u0005\u00e0q\u0002\u0c74\u0c73\u0003\u0002\u0002", + "\u0002\u0c74\u0c75\u0003\u0002\u0002\u0002\u0c75\u00df\u0003\u0002\u0002", + "\u0002\u0c76\u0c77\u0007\u063c\u0002\u0002\u0c77\u0c78\u0007\u028e\u0002", + "\u0002\u0c78\u0c79\u0007\u08b1\u0002\u0002\u0c79\u0c7e\u0005\u0346\u01a4", + "\u0002\u0c7a\u0c7b\u0007\u08b7\u0002\u0002\u0c7b\u0c7d\u0005\u0346\u01a4", + "\u0002\u0c7c\u0c7a\u0003\u0002\u0002\u0002\u0c7d\u0c80\u0003\u0002\u0002", + "\u0002\u0c7e\u0c7c\u0003\u0002\u0002\u0002\u0c7e\u0c7f\u0003\u0002\u0002", + "\u0002\u0c7f\u0c81\u0003\u0002\u0002\u0002\u0c80\u0c7e\u0003\u0002\u0002", + "\u0002\u0c81\u0c82\u0007\u08b2\u0002\u0002\u0c82\u0c8f\u0003\u0002\u0002", + "\u0002\u0c83\u0c84\u0007\u08b1\u0002\u0002\u0c84\u0c89\u0005\u00e2r", + "\u0002\u0c85\u0c86\u0007\u08b7\u0002\u0002\u0c86\u0c88\u0005\u00e2r", + "\u0002\u0c87\u0c85\u0003\u0002\u0002\u0002\u0c88\u0c8b\u0003\u0002\u0002", + "\u0002\u0c89\u0c87\u0003\u0002\u0002\u0002\u0c89\u0c8a\u0003\u0002\u0002", + "\u0002\u0c8a\u0c8c\u0003\u0002\u0002\u0002\u0c8b\u0c89\u0003\u0002\u0002", + "\u0002\u0c8c\u0c8d\u0007\u08b2\u0002\u0002\u0c8d\u0c8f\u0003\u0002\u0002", + "\u0002\u0c8e\u0c76\u0003\u0002\u0002\u0002\u0c8e\u0c83\u0003\u0002\u0002", + "\u0002\u0c8f\u00e1\u0003\u0002\u0002\u0002\u0c90\u0c92\u0007\u0648\u0002", + "\u0002\u0c91\u0c93\u0005\u024a\u0126\u0002\u0c92\u0c91\u0003\u0002\u0002", + "\u0002\u0c92\u0c93\u0003\u0002\u0002\u0002\u0c93\u0c96\u0003\u0002\u0002", + "\u0002\u0c94\u0c95\u0007\u0777\u0002\u0002\u0c95\u0c97\u0005\u0346\u01a4", + "\u0002\u0c96\u0c94\u0003\u0002\u0002\u0002\u0c96\u0c97\u0003\u0002\u0002", + "\u0002\u0c97\u0c99\u0003\u0002\u0002\u0002\u0c98\u0c9a\u0005\u030e\u0188", + "\u0002\u0c99\u0c98\u0003\u0002\u0002\u0002\u0c99\u0c9a\u0003\u0002\u0002", + "\u0002\u0c9a\u0c9c\u0003\u0002\u0002\u0002\u0c9b\u0c9d\u0007\u07e7\u0002", + "\u0002\u0c9c\u0c9b\u0003\u0002\u0002\u0002\u0c9c\u0c9d\u0003\u0002\u0002", + "\u0002\u0c9d\u00e3\u0003\u0002\u0002\u0002\u0c9e\u0c9f\u0007\u08ad\u0002", + "\u0002\u0c9f\u00e5\u0003\u0002\u0002\u0002\u0ca0\u0ca1\u0005\u05d2\u02ea", + "\u0002\u0ca1\u0ca2\u0007\u08aa\u0002\u0002\u0ca2\u0ca4\u0003\u0002\u0002", + "\u0002\u0ca3\u0ca0\u0003\u0002\u0002\u0002\u0ca3\u0ca4\u0003\u0002\u0002", + "\u0002\u0ca4\u0ca5\u0003\u0002\u0002\u0002\u0ca5\u0ca6\u0005\u05d2\u02ea", + "\u0002\u0ca6\u00e7\u0003\u0002\u0002\u0002\u0ca7\u0ca8\u0007)\u0002", + "\u0002\u0ca8\u0ca9\u0007\u0279\u0002\u0002\u0ca9\u0cac\u0005\u0588\u02c5", + "\u0002\u0caa\u0cad\u0005\u00eav\u0002\u0cab\u0cad\u0005\u00ecw\u0002", + "\u0cac\u0caa\u0003\u0002\u0002\u0002\u0cac\u0cab\u0003\u0002\u0002\u0002", + "\u0cad\u0cae\u0003\u0002\u0002\u0002\u0cae\u0caf\u0007\u08c3\u0002\u0002", + "\u0caf\u00e9\u0003\u0002\u0002\u0002\u0cb0\u0cb7\u0005\u027c\u013f\u0002", + "\u0cb1\u0cb7\u0005\u027a\u013e\u0002\u0cb2\u0cb7\u0005\u027e\u0140\u0002", + "\u0cb3\u0cb7\u0005\u01dc\u00ef\u0002\u0cb4\u0cb7\u0005\u0264\u0133\u0002", + "\u0cb5\u0cb7\u0005\u01c2\u00e2\u0002\u0cb6\u0cb0\u0003\u0002\u0002\u0002", + "\u0cb6\u0cb1\u0003\u0002\u0002\u0002\u0cb6\u0cb2\u0003\u0002\u0002\u0002", + "\u0cb6\u0cb3\u0003\u0002\u0002\u0002\u0cb6\u0cb4\u0003\u0002\u0002\u0002", + "\u0cb6\u0cb5\u0003\u0002\u0002\u0002\u0cb7\u0cb8\u0003\u0002\u0002\u0002", + "\u0cb8\u0cb6\u0003\u0002\u0002\u0002\u0cb8\u0cb9\u0003\u0002\u0002\u0002", + "\u0cb9\u00eb\u0003\u0002\u0002\u0002\u0cba\u0cd0\u0005\u00f2z\u0002", + "\u0cbb\u0cbc\u0007\u04af\u0002\u0002\u0cbc\u0cbd\u0007\u08b1\u0002\u0002", + "\u0cbd\u0cbe\u0005\u00e4s\u0002\u0cbe\u0cbf\u0007\u08b2\u0002\u0002", + "\u0cbf\u0cd0\u0003\u0002\u0002\u0002\u0cc0\u0cd0\u0007\u00e1\u0002\u0002", + "\u0cc1\u0cd0\u0005\u028a\u0146\u0002\u0cc2\u0cd0\u0007\u07e7\u0002\u0002", + "\u0cc3\u0cd0\u0005\u00eex\u0002\u0cc4\u0cc5\u0007\u057e\u0002\u0002", + "\u0cc5\u0cc6\u0007\u07ae\u0002\u0002\u0cc6\u0cd0\u0005\u010e\u0088\u0002", + "\u0cc7\u0cd0\u0007\u00cf\u0002\u0002\u0cc8\u0cc9\u0005\u00f0y\u0002", + "\u0cc9\u0cca\u0007\u07f4\u0002\u0002\u0cca\u0cd0\u0003\u0002\u0002\u0002", + "\u0ccb\u0ccc\u0007\u07eb\u0002\u0002\u0ccc\u0ccd\u0007\u0083\u0002\u0002", + "\u0ccd\u0cd0\u0007\u0560\u0002\u0002\u0cce\u0cd0\u0005\u00f4{\u0002", + "\u0ccf\u0cba\u0003\u0002\u0002\u0002\u0ccf\u0cbb\u0003\u0002\u0002\u0002", + "\u0ccf\u0cc0\u0003\u0002\u0002\u0002\u0ccf\u0cc1\u0003\u0002\u0002\u0002", + "\u0ccf\u0cc2\u0003\u0002\u0002\u0002\u0ccf\u0cc3\u0003\u0002\u0002\u0002", + "\u0ccf\u0cc4\u0003\u0002\u0002\u0002\u0ccf\u0cc7\u0003\u0002\u0002\u0002", + "\u0ccf\u0cc8\u0003\u0002\u0002\u0002\u0ccf\u0ccb\u0003\u0002\u0002\u0002", + "\u0ccf\u0cce\u0003\u0002\u0002\u0002\u0cd0\u00ed\u0003\u0002\u0002\u0002", + "\u0cd1\u0cd2\t\u0017\u0002\u0002\u0cd2\u00ef\u0003\u0002\u0002\u0002", + "\u0cd3\u0cd4\t\u0018\u0002\u0002\u0cd4\u00f1\u0003\u0002\u0002\u0002", + "\u0cd5\u0cdc\u0007\u0550\u0002\u0002\u0cd6\u0cd7\u0007\u04b9\u0002\u0002", + "\u0cd7\u0cdd\u0005\u0360\u01b1\u0002\u0cd8\u0cd9\u0007\u0648\u0002\u0002", + "\u0cd9\u0cdd\u0005\u024a\u0126\u0002\u0cda\u0cdd\u0007\u059b\u0002\u0002", + "\u0cdb\u0cdd\u0007\u0419\u0002\u0002\u0cdc\u0cd6\u0003\u0002\u0002\u0002", + "\u0cdc\u0cd8\u0003\u0002\u0002\u0002\u0cdc\u0cda\u0003\u0002\u0002\u0002", + "\u0cdc\u0cdb\u0003\u0002\u0002\u0002\u0cdc\u0cdd\u0003\u0002\u0002\u0002", + "\u0cdd\u0cec\u0003\u0002\u0002\u0002\u0cde\u0ceb\u0005\u01dc\u00ef\u0002", + "\u0cdf\u0ce0\u0007\u0777\u0002\u0002\u0ce0\u0ceb\u0005\u0346\u01a4\u0002", + "\u0ce1\u0ce2\u0007\u04af\u0002\u0002\u0ce2\u0ce3\u0007\u08b1\u0002\u0002", + "\u0ce3\u0ce4\u0005\u00e4s\u0002\u0ce4\u0ce5\u0007\u08b2\u0002\u0002", + "\u0ce5\u0ceb\u0003\u0002\u0002\u0002\u0ce6\u0ceb\u0007\u0467\u0002\u0002", + "\u0ce7\u0ceb\u0005\u0264\u0133\u0002\u0ce8\u0ceb\u0005\u030e\u0188\u0002", + "\u0ce9\u0ceb\u0005\u01c2\u00e2\u0002\u0cea\u0cde\u0003\u0002\u0002\u0002", + "\u0cea\u0cdf\u0003\u0002\u0002\u0002\u0cea\u0ce1\u0003\u0002\u0002\u0002", + "\u0cea\u0ce6\u0003\u0002\u0002\u0002\u0cea\u0ce7\u0003\u0002\u0002\u0002", + "\u0cea\u0ce8\u0003\u0002\u0002\u0002\u0cea\u0ce9\u0003\u0002\u0002\u0002", + "\u0ceb\u0cee\u0003\u0002\u0002\u0002\u0cec\u0cea\u0003\u0002\u0002\u0002", + "\u0cec\u0ced\u0003\u0002\u0002\u0002\u0ced\u00f3\u0003\u0002\u0002\u0002", + "\u0cee\u0cec\u0003\u0002\u0002\u0002\u0cef\u0cf8\u0005\u00f6|\u0002", + "\u0cf0\u0cf8\u0005\u00f8}\u0002\u0cf1\u0cf8\u0005\u00fc\u007f\u0002", + "\u0cf2\u0cf8\u0005\u0100\u0081\u0002\u0cf3\u0cf8\u0005\u0102\u0082\u0002", + "\u0cf4\u0cf8\u0005\u0104\u0083\u0002\u0cf5\u0cf8\u0005\u00fa~\u0002", + "\u0cf6\u0cf8\u0005\u0108\u0085\u0002\u0cf7\u0cef\u0003\u0002\u0002\u0002", + "\u0cf7\u0cf0\u0003\u0002\u0002\u0002\u0cf7\u0cf1\u0003\u0002\u0002\u0002", + "\u0cf7\u0cf2\u0003\u0002\u0002\u0002\u0cf7\u0cf3\u0003\u0002\u0002\u0002", + "\u0cf7\u0cf4\u0003\u0002\u0002\u0002\u0cf7\u0cf5\u0003\u0002\u0002\u0002", + "\u0cf7\u0cf6\u0003\u0002\u0002\u0002\u0cf8\u00f5\u0003\u0002\u0002\u0002", + "\u0cf9\u0cfa\u0007\u0361\u0002\u0002\u0cfa\u0cfb\u0007\u0161\u0002\u0002", + "\u0cfb\u0cff\u0007N\u0002\u0002\u0cfc\u0cfd\u0007\u0224\u0002\u0002", + "\u0cfd\u0cfe\u0007\u04b9\u0002\u0002\u0cfe\u0d00\u0005\u0360\u01b1\u0002", + "\u0cff\u0cfc\u0003\u0002\u0002\u0002\u0cff\u0d00\u0003\u0002\u0002\u0002", + "\u0d00\u0d08\u0003\u0002\u0002\u0002\u0d01\u0d09\u0005\u0264\u0133\u0002", + "\u0d02\u0d05\u0007\u0777\u0002\u0002\u0d03\u0d06\u0005\u0346\u01a4\u0002", + "\u0d04\u0d06\u0007\u0161\u0002\u0002\u0d05\u0d03\u0003\u0002\u0002\u0002", + "\u0d05\u0d04\u0003\u0002\u0002\u0002\u0d06\u0d09\u0003\u0002\u0002\u0002", + "\u0d07\u0d09\u0005\u01c2\u00e2\u0002\u0d08\u0d01\u0003\u0002\u0002\u0002", + "\u0d08\u0d02\u0003\u0002\u0002\u0002\u0d08\u0d07\u0003\u0002\u0002\u0002", + "\u0d09\u00f7\u0003\u0002\u0002\u0002\u0d0a\u0d0b\u0007\u0014\u0002\u0002", + "\u0d0b\u0d0d\u0007\u04b9\u0002\u0002\u0d0c\u0d0e\u0005\u0360\u01b1\u0002", + "\u0d0d\u0d0c\u0003\u0002\u0002\u0002\u0d0d\u0d0e\u0003\u0002\u0002\u0002", + "\u0d0e\u0d11\u0003\u0002\u0002\u0002\u0d0f\u0d10\u0007\u0777\u0002\u0002", + "\u0d10\u0d12\u0005\u0346\u01a4\u0002\u0d11\u0d0f\u0003\u0002\u0002\u0002", + "\u0d11\u0d12\u0003\u0002\u0002\u0002\u0d12\u0d14\u0003\u0002\u0002\u0002", + "\u0d13\u0d15\u0005\u030e\u0188\u0002\u0d14\u0d13\u0003\u0002\u0002\u0002", + "\u0d14\u0d15\u0003\u0002\u0002\u0002\u0d15\u0d17\u0003\u0002\u0002\u0002", + "\u0d16\u0d18\u0005\u01dc\u00ef\u0002\u0d17\u0d16\u0003\u0002\u0002\u0002", + "\u0d17\u0d18\u0003\u0002\u0002\u0002\u0d18\u00f9\u0003\u0002\u0002\u0002", + "\u0d19\u0d1a\u0007\u00cf\u0002\u0002\u0d1a\u0d1c\u0007\u04b9\u0002\u0002", + "\u0d1b\u0d1d\u0005\u01dc\u00ef\u0002\u0d1c\u0d1b\u0003\u0002\u0002\u0002", + "\u0d1c\u0d1d\u0003\u0002\u0002\u0002\u0d1d\u00fb\u0003\u0002\u0002\u0002", + "\u0d1e\u0d1f\u0007\u0361\u0002\u0002\u0d1f\u0d20\u0007\u04b9\u0002\u0002", + "\u0d20\u0d30\u0005\u0360\u01b1\u0002\u0d21\u0d23\u0005\u00fe\u0080\u0002", + "\u0d22\u0d21\u0003\u0002\u0002\u0002\u0d23\u0d24\u0003\u0002\u0002\u0002", + "\u0d24\u0d22\u0003\u0002\u0002\u0002\u0d24\u0d25\u0003\u0002\u0002\u0002", + "\u0d25\u0d31\u0003\u0002\u0002\u0002\u0d26\u0d27\u0007\u04af\u0002\u0002", + "\u0d27\u0d28\u0007\u08b1\u0002\u0002\u0d28\u0d29\u0005\u00e4s\u0002", + "\u0d29\u0d2a\u0007\u08b2\u0002\u0002\u0d2a\u0d31\u0003\u0002\u0002\u0002", + "\u0d2b\u0d31\u0007\u00cf\u0002\u0002\u0d2c\u0d2d\u0007\u07eb\u0002\u0002", + "\u0d2d\u0d2e\u0007\u0083\u0002\u0002\u0d2e\u0d31\u0007\u0560\u0002\u0002", + "\u0d2f\u0d31\u0007\u07e7\u0002\u0002\u0d30\u0d22\u0003\u0002\u0002\u0002", + "\u0d30\u0d26\u0003\u0002\u0002\u0002\u0d30\u0d2b\u0003\u0002\u0002\u0002", + "\u0d30\u0d2c\u0003\u0002\u0002\u0002\u0d30\u0d2f\u0003\u0002\u0002\u0002", + "\u0d31\u00fd\u0003\u0002\u0002\u0002\u0d32\u0d38\u0005\u027c\u013f\u0002", + "\u0d33\u0d38\u0005\u027a\u013e\u0002\u0d34\u0d38\u0005\u0264\u0133\u0002", + "\u0d35\u0d38\u0005\u01c2\u00e2\u0002\u0d36\u0d38\u0005\u030e\u0188\u0002", + "\u0d37\u0d32\u0003\u0002\u0002\u0002\u0d37\u0d33\u0003\u0002\u0002\u0002", + "\u0d37\u0d34\u0003\u0002\u0002\u0002\u0d37\u0d35\u0003\u0002\u0002\u0002", + "\u0d37\u0d36\u0003\u0002\u0002\u0002\u0d38\u00ff\u0003\u0002\u0002\u0002", + "\u0d39\u0d3e\u0007\u057e\u0002\u0002\u0d3a\u0d3b\u0007\u04b9\u0002\u0002", + "\u0d3b\u0d3f\u0005\u0360\u01b1\u0002\u0d3c\u0d3d\u0007\u0648\u0002\u0002", + "\u0d3d\u0d3f\u0005\u024a\u0126\u0002\u0d3e\u0d3a\u0003\u0002\u0002\u0002", + "\u0d3e\u0d3c\u0003\u0002\u0002\u0002\u0d3f\u0d40\u0003\u0002\u0002\u0002", + "\u0d40\u0d41\u0007\u07ae\u0002\u0002\u0d41\u0d42\u0005\u010c\u0087\u0002", + "\u0d42\u0101\u0003\u0002\u0002\u0002\u0d43\u0d44\u0007\u019d\u0002\u0002", + "\u0d44\u0d45\u0007\u04b9\u0002\u0002\u0d45\u0d46\u0005\u0360\u01b1\u0002", + "\u0d46\u0103\u0003\u0002\u0002\u0002\u0d47\u0d48\u0007\u0612\u0002\u0002", + "\u0d48\u0d49\u0007\u04b9\u0002\u0002\u0d49\u0d4a\u0005\u010a\u0086\u0002", + "\u0d4a\u0d4b\u0007L\u0002\u0002\u0d4b\u0d4c\u0007\u08b1\u0002\u0002", + "\u0d4c\u0d51\u0005\u050c\u0287\u0002\u0d4d\u0d4e\u0007\u08b7\u0002\u0002", + "\u0d4e\u0d50\u0005\u050c\u0287\u0002\u0d4f\u0d4d\u0003\u0002\u0002\u0002", + "\u0d50\u0d53\u0003\u0002\u0002\u0002\u0d51\u0d4f\u0003\u0002\u0002\u0002", + "\u0d51\u0d52\u0003\u0002\u0002\u0002\u0d52\u0d54\u0003\u0002\u0002\u0002", + "\u0d53\u0d51\u0003\u0002\u0002\u0002\u0d54\u0d5c\u0007\u08b2\u0002\u0002", + "\u0d55\u0d56\u0007\u02b5\u0002\u0002\u0d56\u0d57\u0007\u08b1\u0002\u0002", + "\u0d57\u0d58\u0005\u0106\u0084\u0002\u0d58\u0d59\u0007\u08b7\u0002\u0002", + "\u0d59\u0d5a\u0005\u0106\u0084\u0002\u0d5a\u0d5b\u0007\u08b2\u0002\u0002", + "\u0d5b\u0d5d\u0003\u0002\u0002\u0002\u0d5c\u0d55\u0003\u0002\u0002\u0002", + "\u0d5c\u0d5d\u0003\u0002\u0002\u0002\u0d5d\u0d5f\u0003\u0002\u0002\u0002", + "\u0d5e\u0d60\u0005\u01dc\u00ef\u0002\u0d5f\u0d5e\u0003\u0002\u0002\u0002", + "\u0d5f\u0d60\u0003\u0002\u0002\u0002\u0d60\u0105\u0003\u0002\u0002\u0002", + "\u0d61\u0d73\u0007\u04b9\u0002\u0002\u0d62\u0d6e\u0005\u0360\u01b1\u0002", + "\u0d63\u0d66\u0005\u026a\u0136\u0002\u0d64\u0d66\u0005\u030e\u0188\u0002", + "\u0d65\u0d63\u0003\u0002\u0002\u0002\u0d65\u0d64\u0003\u0002\u0002\u0002", + "\u0d66\u0d67\u0003\u0002\u0002\u0002\u0d67\u0d65\u0003\u0002\u0002\u0002", + "\u0d67\u0d68\u0003\u0002\u0002\u0002\u0d68\u0d6f\u0003\u0002\u0002\u0002", + "\u0d69\u0d6a\u0007\u04af\u0002\u0002\u0d6a\u0d6b\u0007\u08b1\u0002\u0002", + "\u0d6b\u0d6c\u0005\u00e4s\u0002\u0d6c\u0d6d\u0007\u08b2\u0002\u0002", + "\u0d6d\u0d6f\u0003\u0002\u0002\u0002\u0d6e\u0d65\u0003\u0002\u0002\u0002", + "\u0d6e\u0d69\u0003\u0002\u0002\u0002\u0d6f\u0d71\u0003\u0002\u0002\u0002", + "\u0d70\u0d72\u0007\u07e7\u0002\u0002\u0d71\u0d70\u0003\u0002\u0002\u0002", + "\u0d71\u0d72\u0003\u0002\u0002\u0002\u0d72\u0d74\u0003\u0002\u0002\u0002", + "\u0d73\u0d62\u0003\u0002\u0002\u0002\u0d73\u0d74\u0003\u0002\u0002\u0002", + "\u0d74\u0107\u0003\u0002\u0002\u0002\u0d75\u0d76\u0007\u0361\u0002\u0002", + "\u0d76\u0d77\u0007\u0648\u0002\u0002\u0d77\u0d7b\u0005\u024a\u0126\u0002", + "\u0d78\u0d7c\u0007\u07e7\u0002\u0002\u0d79\u0d7c\u0005\u027a\u013e\u0002", + "\u0d7a\u0d7c\u0005\u027c\u013f\u0002\u0d7b\u0d78\u0003\u0002\u0002\u0002", + "\u0d7b\u0d79\u0003\u0002\u0002\u0002\u0d7b\u0d7a\u0003\u0002\u0002\u0002", + "\u0d7c\u0109\u0003\u0002\u0002\u0002\u0d7d\u0d7e\u0005\u0360\u01b1\u0002", + "\u0d7e\u010b\u0003\u0002\u0002\u0002\u0d7f\u0d80\u0005\u0360\u01b1\u0002", + "\u0d80\u010d\u0003\u0002\u0002\u0002\u0d81\u0d82\u0005\u0588\u02c5\u0002", + "\u0d82\u010f\u0003\u0002\u0002\u0002\u0d83\u0d84\u0007\u0122\u0002\u0002", + "\u0d84\u0d85\u0007\u0809\u0002\u0002\u0d85\u0d8f\u0005\u05a0\u02d1\u0002", + "\u0d86\u0d90\u0005\u0116\u008c\u0002\u0d87\u0d90\u0005\u0118\u008d\u0002", + "\u0d88\u0d90\u0005\u011a\u008e\u0002\u0d89\u0d90\u0005\u011c\u008f\u0002", + "\u0d8a\u0d90\u0005\u011e\u0090\u0002\u0d8b\u0d90\u0005\u0124\u0093\u0002", + "\u0d8c\u0d90\u0005\u0126\u0094\u0002\u0d8d\u0d90\u0005\u0128\u0095\u0002", + "\u0d8e\u0d90\u0005\u0182\u00c2\u0002\u0d8f\u0d86\u0003\u0002\u0002\u0002", + "\u0d8f\u0d87\u0003\u0002\u0002\u0002\u0d8f\u0d88\u0003\u0002\u0002\u0002", + "\u0d8f\u0d89\u0003\u0002\u0002\u0002\u0d8f\u0d8a\u0003\u0002\u0002\u0002", + "\u0d8f\u0d8b\u0003\u0002\u0002\u0002\u0d8f\u0d8c\u0003\u0002\u0002\u0002", + "\u0d8f\u0d8d\u0003\u0002\u0002\u0002\u0d8f\u0d8e\u0003\u0002\u0002\u0002", + "\u0d90\u0d91\u0003\u0002\u0002\u0002\u0d91\u0d8f\u0003\u0002\u0002\u0002", + "\u0d91\u0d92\u0003\u0002\u0002\u0002\u0d92\u0d93\u0003\u0002\u0002\u0002", + "\u0d93\u0d94\u0007\u08c3\u0002\u0002\u0d94\u0111\u0003\u0002\u0002\u0002", + "\u0d95\u0d96\u0007)\u0002\u0002\u0d96\u0d97\u0007\u0809\u0002\u0002", + "\u0d97\u0da3\u0005\u05a0\u02d1\u0002\u0d98\u0da4\u0005\u0114\u008b\u0002", + "\u0d99\u0da4\u0005\u0118\u008d\u0002\u0d9a\u0da4\u0005\u011a\u008e\u0002", + "\u0d9b\u0da4\u0005\u011c\u008f\u0002\u0d9c\u0da4\u0005\u011e\u0090\u0002", + "\u0d9d\u0da4\u0005\u0122\u0092\u0002\u0d9e\u0da4\u0005\u0124\u0093\u0002", + "\u0d9f\u0da4\u0005\u0126\u0094\u0002\u0da0\u0da4\u0005\u012a\u0096\u0002", + "\u0da1\u0da4\u0005\u0182\u00c2\u0002\u0da2\u0da4\u0005\u0134\u009b\u0002", + "\u0da3\u0d98\u0003\u0002\u0002\u0002\u0da3\u0d99\u0003\u0002\u0002\u0002", + "\u0da3\u0d9a\u0003\u0002\u0002\u0002\u0da3\u0d9b\u0003\u0002\u0002\u0002", + "\u0da3\u0d9c\u0003\u0002\u0002\u0002\u0da3\u0d9d\u0003\u0002\u0002\u0002", + "\u0da3\u0d9e\u0003\u0002\u0002\u0002\u0da3\u0d9f\u0003\u0002\u0002\u0002", + "\u0da3\u0da0\u0003\u0002\u0002\u0002\u0da3\u0da1\u0003\u0002\u0002\u0002", + "\u0da3\u0da2\u0003\u0002\u0002\u0002\u0da4\u0da5\u0003\u0002\u0002\u0002", + "\u0da5\u0da3\u0003\u0002\u0002\u0002\u0da5\u0da6\u0003\u0002\u0002\u0002", + "\u0da6\u0da7\u0003\u0002\u0002\u0002\u0da7\u0da8\u0007\u08c3\u0002\u0002", + "\u0da8\u0db5\u0003\u0002\u0002\u0002\u0da9\u0dae\u0005\u05a0\u02d1\u0002", + "\u0daa\u0dab\u0007\u08b7\u0002\u0002\u0dab\u0dad\u0005\u05a0\u02d1\u0002", + "\u0dac\u0daa\u0003\u0002\u0002\u0002\u0dad\u0db0\u0003\u0002\u0002\u0002", + "\u0dae\u0dac\u0003\u0002\u0002\u0002\u0dae\u0daf\u0003\u0002\u0002\u0002", + "\u0daf\u0db1\u0003\u0002\u0002\u0002\u0db0\u0dae\u0003\u0002\u0002\u0002", + "\u0db1\u0db2\u0005\u012c\u0097\u0002\u0db2\u0db3\u0007\u08c3\u0002\u0002", + "\u0db3\u0db5\u0003\u0002\u0002\u0002\u0db4\u0d95\u0003\u0002\u0002\u0002", + "\u0db4\u0da9\u0003\u0002\u0002\u0002\u0db5\u0113\u0003\u0002\u0002\u0002", + "\u0db6\u0db9\u0005\u0116\u008c\u0002\u0db7\u0db8\u0007\u0581\u0002\u0002", + "\u0db8\u0dba\u0005\u05d2\u02ea\u0002\u0db9\u0db7\u0003\u0002\u0002\u0002", + "\u0db9\u0dba\u0003\u0002\u0002\u0002\u0dba\u0115\u0003\u0002\u0002\u0002", + "\u0dbb\u0dbc\u0007\u025b\u0002\u0002\u0dbc\u0dbd\u0007\u0094\u0002\u0002", + "\u0dbd\u0dbe\u0005\u05d2\u02ea\u0002\u0dbe\u0117\u0003\u0002\u0002\u0002", + "\u0dbf\u0dc0\u0007\u025b\u0002\u0002\u0dc0\u0dc3\t\u0019\u0002\u0002", + "\u0dc1\u0dc2\u0007?\u0002\u0002\u0dc2\u0dc4\u0005\u05ce\u02e8\u0002", + "\u0dc3\u0dc1\u0003\u0002\u0002\u0002\u0dc3\u0dc4\u0003\u0002\u0002\u0002", + "\u0dc4\u0119\u0003\u0002\u0002\u0002\u0dc5\u0dc6\t\u001a\u0002\u0002", + "\u0dc6\u0dc7\u0007\u0777\u0002\u0002\u0dc7\u0dc8\u0005\u05d2\u02ea\u0002", + "\u0dc8\u011b\u0003\u0002\u0002\u0002\u0dc9\u0dcc\u0007\u053e\u0002\u0002", + "\u0dca\u0dcd\u0005\u0260\u0131\u0002\u0dcb\u0dcd\u0007\u07d6\u0002\u0002", + "\u0dcc\u0dca\u0003\u0002\u0002\u0002\u0dcc\u0dcb\u0003\u0002\u0002\u0002", + "\u0dcd\u0dce\u0003\u0002\u0002\u0002\u0dce\u0dcf\u0007\u046a\u0002\u0002", + "\u0dcf\u0dd0\u0005\u05d2\u02ea\u0002\u0dd0\u011d\u0003\u0002\u0002\u0002", + "\u0dd1\u0dd2\u0007\u0526\u0002\u0002\u0dd2\u0dd3\u0005\u05d2\u02ea\u0002", + "\u0dd3\u011f\u0003\u0002\u0002\u0002\u0dd4\u0dd9\u0005\u0574\u02bb\u0002", + "\u0dd5\u0dd6\u0007\u08b7\u0002\u0002\u0dd6\u0dd8\u0005\u0574\u02bb\u0002", + "\u0dd7\u0dd5\u0003\u0002\u0002\u0002\u0dd8\u0ddb\u0003\u0002\u0002\u0002", + "\u0dd9\u0dd7\u0003\u0002\u0002\u0002\u0dd9\u0dda\u0003\u0002\u0002\u0002", + "\u0dda\u0dec\u0003\u0002\u0002\u0002\u0ddb\u0dd9\u0003\u0002\u0002\u0002", + "\u0ddc\u0de8\u0007%\u0002\u0002\u0ddd\u0dde\u0007\u01d5\u0002\u0002", + "\u0dde\u0de3\u0005\u0574\u02bb\u0002\u0ddf\u0de0\u0007\u08b7\u0002\u0002", + "\u0de0\u0de2\u0005\u0574\u02bb\u0002\u0de1\u0ddf\u0003\u0002\u0002\u0002", + "\u0de2\u0de5\u0003\u0002\u0002\u0002\u0de3\u0de1\u0003\u0002\u0002\u0002", + "\u0de3\u0de4\u0003\u0002\u0002\u0002\u0de4\u0de7\u0003\u0002\u0002\u0002", + "\u0de5\u0de3\u0003\u0002\u0002\u0002\u0de6\u0ddd\u0003\u0002\u0002\u0002", + "\u0de7\u0dea\u0003\u0002\u0002\u0002\u0de8\u0de6\u0003\u0002\u0002\u0002", + "\u0de8\u0de9\u0003\u0002\u0002\u0002\u0de9\u0dec\u0003\u0002\u0002\u0002", + "\u0dea\u0de8\u0003\u0002\u0002\u0002\u0deb\u0dd4\u0003\u0002\u0002\u0002", + "\u0deb\u0ddc\u0003\u0002\u0002\u0002\u0dec\u0121\u0003\u0002\u0002\u0002", + "\u0ded\u0dee\u0007\u0161\u0002\u0002\u0dee\u0df1\u0007\u05a0\u0002\u0002", + "\u0def\u0df2\u0007\u03f1\u0002\u0002\u0df0\u0df2\u0005\u0120\u0091\u0002", + "\u0df1\u0def\u0003\u0002\u0002\u0002\u0df1\u0df0\u0003\u0002\u0002\u0002", + "\u0df2\u0123\u0003\u0002\u0002\u0002\u0df3\u0df4\u0007\u04c1\u0002\u0002", + "\u0df4\u0df5\u0007\u01e6\u0002\u0002\u0df5\u0125\u0003\u0002\u0002\u0002", + "\u0df6\u0df7\u0007\u0007\u0002\u0002\u0df7\u0df8\t\u001b\u0002\u0002", + "\u0df8\u0127\u0003\u0002\u0002\u0002\u0df9\u0dfa\u0007\u01b9\u0002\u0002", + "\u0dfa\u0dfb\u0007\u01ac\u0002\u0002\u0dfb\u0129\u0003\u0002\u0002\u0002", + "\u0dfc\u0e06\u0005\u0128\u0095\u0002\u0dfd\u0dfe\u0007\u0224\u0002\u0002", + "\u0dfe\u0e03\u0005\u05d6\u02ec\u0002\u0dff\u0e00\u0007\u08b7\u0002\u0002", + "\u0e00\u0e02\u0005\u05d6\u02ec\u0002\u0e01\u0dff\u0003\u0002\u0002\u0002", + "\u0e02\u0e05\u0003\u0002\u0002\u0002\u0e03\u0e01\u0003\u0002\u0002\u0002", + "\u0e03\u0e04\u0003\u0002\u0002\u0002\u0e04\u0e07\u0003\u0002\u0002\u0002", + "\u0e05\u0e03\u0003\u0002\u0002\u0002\u0e06\u0dfd\u0003\u0002\u0002\u0002", + "\u0e06\u0e07\u0003\u0002\u0002\u0002\u0e07\u0e09\u0003\u0002\u0002\u0002", + "\u0e08\u0e0a\u0007\u0220\u0002\u0002\u0e09\u0e08\u0003\u0002\u0002\u0002", + "\u0e09\u0e0a\u0003\u0002\u0002\u0002\u0e0a\u012b\u0003\u0002\u0002\u0002", + "\u0e0b\u0e0c\u0007\u059c\u0002\u0002\u0e0c\u0e0d\u0007\u00fd\u0002\u0002", + "\u0e0d\u0e11\u0007\u078a\u0002\u0002\u0e0e\u0e0f\u0007\u01c4\u0002\u0002", + "\u0e0f\u0e12\u0007\u0807\u0002\u0002\u0e10\u0e12\u0005\u05a0\u02d1\u0002", + "\u0e11\u0e0e\u0003\u0002\u0002\u0002\u0e11\u0e10\u0003\u0002\u0002\u0002", + "\u0e12\u0e33\u0003\u0002\u0002\u0002\u0e13\u0e14\u0007\u023d\u0002\u0002", + "\u0e14\u0e15\u0007\u00fd\u0002\u0002\u0e15\u0e30\u0007\u078a\u0002\u0002", + "\u0e16\u0e17\u0007\u01c4\u0002\u0002\u0e17\u0e31\u0007\u0807\u0002\u0002", + "\u0e18\u0e20\u0005\u05a0\u02d1\u0002\u0e19\u0e1e\u0007\u084b\u0002\u0002", + "\u0e1a\u0e1b\u0007\u03f4\u0002\u0002\u0e1b\u0e1f\u0007\u05a2\u0002\u0002", + "\u0e1c\u0e1d\u0007\u05a0\u0002\u0002\u0e1d\u0e1f\u0005\u0120\u0091\u0002", + "\u0e1e\u0e1a\u0003\u0002\u0002\u0002\u0e1e\u0e1c\u0003\u0002\u0002\u0002", + "\u0e1f\u0e21\u0003\u0002\u0002\u0002\u0e20\u0e19\u0003\u0002\u0002\u0002", + "\u0e20\u0e21\u0003\u0002\u0002\u0002\u0e21\u0e24\u0003\u0002\u0002\u0002", + "\u0e22\u0e23\u0007Q\u0002\u0002\u0e23\u0e25\u0007\u0583\u0002\u0002", + "\u0e24\u0e22\u0003\u0002\u0002\u0002\u0e24\u0e25\u0003\u0002\u0002\u0002", + "\u0e25\u0e2e\u0003\u0002\u0002\u0002\u0e26\u0e27\u0007P\u0002\u0002", + "\u0e27\u0e2c\u0007\u0811\u0002\u0002\u0e28\u0e2d\u0007\u04c1\u0002\u0002", + "\u0e29\u0e2d\u0007\u00ab\u0002\u0002\u0e2a\u0e2b\u0007\u018f\u0002\u0002", + "\u0e2b\u0e2d\u0007\u0371\u0002\u0002\u0e2c\u0e28\u0003\u0002\u0002\u0002", + "\u0e2c\u0e29\u0003\u0002\u0002\u0002\u0e2c\u0e2a\u0003\u0002\u0002\u0002", + "\u0e2d\u0e2f\u0003\u0002\u0002\u0002\u0e2e\u0e26\u0003\u0002\u0002\u0002", + "\u0e2e\u0e2f\u0003\u0002\u0002\u0002\u0e2f\u0e31\u0003\u0002\u0002\u0002", + "\u0e30\u0e16\u0003\u0002\u0002\u0002\u0e30\u0e18\u0003\u0002\u0002\u0002", + "\u0e31\u0e33\u0003\u0002\u0002\u0002\u0e32\u0e0b\u0003\u0002\u0002\u0002", + "\u0e32\u0e13\u0003\u0002\u0002\u0002\u0e33\u012d\u0003\u0002\u0002\u0002", + "\u0e34\u0e35\u0007\u08b1\u0002\u0002\u0e35\u0e3a\u0005\u05d2\u02ea\u0002", + "\u0e36\u0e37\u0007\u08b7\u0002\u0002\u0e37\u0e39\u0005\u05d2\u02ea\u0002", + "\u0e38\u0e36\u0003\u0002\u0002\u0002\u0e39\u0e3c\u0003\u0002\u0002\u0002", + "\u0e3a\u0e38\u0003\u0002\u0002\u0002\u0e3a\u0e3b\u0003\u0002\u0002\u0002", + "\u0e3b\u0e3d\u0003\u0002\u0002\u0002\u0e3c\u0e3a\u0003\u0002\u0002\u0002", + "\u0e3d\u0e3e\u0007\u08b2\u0002\u0002\u0e3e\u012f\u0003\u0002\u0002\u0002", + "\u0e3f\u0e40\u0007\u05e8\u0002\u0002\u0e40\u0e41\u0007\u0107\u0002\u0002", + "\u0e41\u0e45\u0007\u08c5\u0002\u0002\u0e42\u0e46\u0007%\u0002\u0002", + "\u0e43\u0e46\u0007\u0161\u0002\u0002\u0e44\u0e46\u0005\u012e\u0098\u0002", + "\u0e45\u0e42\u0003\u0002\u0002\u0002\u0e45\u0e43\u0003\u0002\u0002\u0002", + "\u0e45\u0e44\u0003\u0002\u0002\u0002\u0e46\u0131\u0003\u0002\u0002\u0002", + "\u0e47\u0e48\t\u001c\u0002\u0002\u0e48\u0e49\u0007\u0107\u0002\u0002", + "\u0e49\u0e4a\u0007\u08c5\u0002\u0002\u0e4a\u0e4b\u0005\u012e\u0098\u0002", + "\u0e4b\u0133\u0003\u0002\u0002\u0002\u0e4c\u0e53\u0005\u0130\u0099\u0002", + "\u0e4d\u0e50\u0005\u0132\u009a\u0002\u0e4e\u0e4f\u0007\u0224\u0002\u0002", + "\u0e4f\u0e51\u0005\u056c\u02b7\u0002\u0e50\u0e4e\u0003\u0002\u0002\u0002", + "\u0e50\u0e51\u0003\u0002\u0002\u0002\u0e51\u0e53\u0003\u0002\u0002\u0002", + "\u0e52\u0e4c\u0003\u0002\u0002\u0002\u0e52\u0e4d\u0003\u0002\u0002\u0002", + "\u0e53\u0135\u0003\u0002\u0002\u0002\u0e54\u0e59\u0007+\u0002\u0002", + "\u0e55\u0e56\u0007\u077a\u0002\u0002\u0e56\u0e5a\u0005\u0594\u02cb\u0002", + "\u0e57\u0e58\u0007\u0279\u0002\u0002\u0e58\u0e5a\u0005\u0588\u02c5\u0002", + "\u0e59\u0e55\u0003\u0002\u0002\u0002\u0e59\u0e57\u0003\u0002\u0002\u0002", + "\u0e5a\u0e5c\u0003\u0002\u0002\u0002\u0e5b\u0e5d\u0005\u0138\u009d\u0002", + "\u0e5c\u0e5b\u0003\u0002\u0002\u0002\u0e5c\u0e5d\u0003\u0002\u0002\u0002", + "\u0e5d\u0e62\u0003\u0002\u0002\u0002\u0e5e\u0e5f\u0007+\u0002\u0002", + "\u0e5f\u0e60\u0007\u00c7\u0002\u0002\u0e60\u0e62\u0005\u00ba^\u0002", + "\u0e61\u0e54\u0003\u0002\u0002\u0002\u0e61\u0e5e\u0003\u0002\u0002\u0002", + "\u0e62\u0e6f\u0003\u0002\u0002\u0002\u0e63\u0e70\u0005\u013a\u009e\u0002", + "\u0e64\u0e65\u0007\u02fb\u0002\u0002\u0e65\u0e66\u0007\u00ad\u0002\u0002", + "\u0e66\u0e68\u0007\u05ae\u0002\u0002\u0e67\u0e69\u0005\u013e\u00a0\u0002", + "\u0e68\u0e67\u0003\u0002\u0002\u0002\u0e68\u0e69\u0003\u0002\u0002\u0002", + "\u0e69\u0e70\u0003\u0002\u0002\u0002\u0e6a\u0e6c\u0007\u016c\u0002\u0002", + "\u0e6b\u0e6d\u0007\u06f5\u0002\u0002\u0e6c\u0e6b\u0003\u0002\u0002\u0002", + "\u0e6c\u0e6d\u0003\u0002\u0002\u0002\u0e6d\u0e6e\u0003\u0002\u0002\u0002", + "\u0e6e\u0e70\u0007\u062b\u0002\u0002\u0e6f\u0e63\u0003\u0002\u0002\u0002", + "\u0e6f\u0e64\u0003\u0002\u0002\u0002\u0e6f\u0e6a\u0003\u0002\u0002\u0002", + "\u0e70\u0e71\u0003\u0002\u0002\u0002\u0e71\u0e72\u0007\u08c3\u0002\u0002", + "\u0e72\u0137\u0003\u0002\u0002\u0002\u0e73\u0e84\u0007\u04b9\u0002\u0002", + "\u0e74\u0e75\u0007\u08b1\u0002\u0002\u0e75\u0e76\u0005\u0360\u01b1\u0002", + "\u0e76\u0e77\u0007\u08b2\u0002\u0002\u0e77\u0e85\u0003\u0002\u0002\u0002", + "\u0e78\u0e79\u0007\u0224\u0002\u0002\u0e79\u0e7a\u0007\u08b1\u0002\u0002", + "\u0e7a\u0e7f\u0005\u0140\u00a1\u0002\u0e7b\u0e7c\u0007\u08b7\u0002\u0002", + "\u0e7c\u0e7e\u0005\u0140\u00a1\u0002\u0e7d\u0e7b\u0003\u0002\u0002\u0002", + "\u0e7e\u0e81\u0003\u0002\u0002\u0002\u0e7f\u0e7d\u0003\u0002\u0002\u0002", + "\u0e7f\u0e80\u0003\u0002\u0002\u0002\u0e80\u0e82\u0003\u0002\u0002\u0002", + "\u0e81\u0e7f\u0003\u0002\u0002\u0002\u0e82\u0e83\u0007\u08b2\u0002\u0002", + "\u0e83\u0e85\u0003\u0002\u0002\u0002\u0e84\u0e74\u0003\u0002\u0002\u0002", + "\u0e84\u0e78\u0003\u0002\u0002\u0002\u0e85\u0e9a\u0003\u0002\u0002\u0002", + "\u0e86\u0e97\u0007\u0648\u0002\u0002\u0e87\u0e88\u0007\u08b1\u0002\u0002", + "\u0e88\u0e89\u0005\u024a\u0126\u0002\u0e89\u0e8a\u0007\u08b2\u0002\u0002", + "\u0e8a\u0e98\u0003\u0002\u0002\u0002\u0e8b\u0e8c\u0007\u0224\u0002\u0002", + "\u0e8c\u0e8d\u0007\u08b1\u0002\u0002\u0e8d\u0e92\u0005\u0142\u00a2\u0002", + "\u0e8e\u0e8f\u0007\u08b7\u0002\u0002\u0e8f\u0e91\u0005\u0142\u00a2\u0002", + "\u0e90\u0e8e\u0003\u0002\u0002\u0002\u0e91\u0e94\u0003\u0002\u0002\u0002", + "\u0e92\u0e90\u0003\u0002\u0002\u0002\u0e92\u0e93\u0003\u0002\u0002\u0002", + "\u0e93\u0e95\u0003\u0002\u0002\u0002\u0e94\u0e92\u0003\u0002\u0002\u0002", + "\u0e95\u0e96\u0007\u08b2\u0002\u0002\u0e96\u0e98\u0003\u0002\u0002\u0002", + "\u0e97\u0e87\u0003\u0002\u0002\u0002\u0e97\u0e8b\u0003\u0002\u0002\u0002", + "\u0e98\u0e9a\u0003\u0002\u0002\u0002\u0e99\u0e73\u0003\u0002\u0002\u0002", + "\u0e99\u0e86\u0003\u0002\u0002\u0002\u0e9a\u0139\u0003\u0002\u0002\u0002", + "\u0e9b\u0e9c\u0007\u0818\u0002\u0002\u0e9c\u0e9d\u0007\u0562\u0002\u0002", + "\u0e9d\u0ea2\u0007\u07eb\u0002\u0002\u0e9e\u0e9f\u0007\u05e8\u0002\u0002", + "\u0e9f\u0ea0\u0007\u013d\u0002\u0002\u0ea0\u0ea1\u0007\u07ae\u0002\u0002", + "\u0ea1\u0ea3\u0007\u044b\u0002\u0002\u0ea2\u0e9e\u0003\u0002\u0002\u0002", + "\u0ea2\u0ea3\u0003\u0002\u0002\u0002\u0ea3\u0eb9\u0003\u0002\u0002\u0002", + "\u0ea4\u0ea5\u0007\u0818\u0002\u0002\u0ea5\u0eb0\u0007\u0644\u0002\u0002", + "\u0ea6\u0ea7\u0007\u00a4\u0002\u0002\u0ea7\u0eb1\u0007\u0201\u0002\u0002", + "\u0ea8\u0eaa\u0007\u00a4\u0002\u0002\u0ea9\u0eab\u0005\u013c\u009f\u0002", + "\u0eaa\u0ea9\u0003\u0002\u0002\u0002\u0eaa\u0eab\u0003\u0002\u0002\u0002", + "\u0eab\u0ead\u0003\u0002\u0002\u0002\u0eac\u0eae\u0005\u0550\u02a9\u0002", + "\u0ead\u0eac\u0003\u0002\u0002\u0002\u0ead\u0eae\u0003\u0002\u0002\u0002", + "\u0eae\u0eb1\u0003\u0002\u0002\u0002\u0eaf\u0eb1\u0007\u00a4\u0002\u0002", + "\u0eb0\u0ea6\u0003\u0002\u0002\u0002\u0eb0\u0ea8\u0003\u0002\u0002\u0002", + "\u0eb0\u0eaf\u0003\u0002\u0002\u0002\u0eb0\u0eb1\u0003\u0002\u0002\u0002", + "\u0eb1\u0eb3\u0003\u0002\u0002\u0002\u0eb2\u0eb4\u0005\u013c\u009f\u0002", + "\u0eb3\u0eb2\u0003\u0002\u0002\u0002\u0eb3\u0eb4\u0003\u0002\u0002\u0002", + "\u0eb4\u0eb6\u0003\u0002\u0002\u0002\u0eb5\u0eb7\u0005\u0550\u02a9\u0002", + "\u0eb6\u0eb5\u0003\u0002\u0002\u0002\u0eb6\u0eb7\u0003\u0002\u0002\u0002", + "\u0eb7\u0eb9\u0003\u0002\u0002\u0002\u0eb8\u0e9b\u0003\u0002\u0002\u0002", + "\u0eb8\u0ea4\u0003\u0002\u0002\u0002\u0eb9\u013b\u0003\u0002\u0002\u0002", + "\u0eba\u0ebb\t\u001d\u0002\u0002\u0ebb\u013d\u0003\u0002\u0002\u0002", + "\u0ebc\u0ebe\u0007\u02b5\u0002\u0002\u0ebd\u0ebf\u0005\u0594\u02cb\u0002", + "\u0ebe\u0ebd\u0003\u0002\u0002\u0002\u0ebe\u0ebf\u0003\u0002\u0002\u0002", + "\u0ebf\u013f\u0003\u0002\u0002\u0002\u0ec0\u0ec1\u0005\u050c\u0287\u0002", + "\u0ec1\u0141\u0003\u0002\u0002\u0002\u0ec2\u0ec3\u0005\u050c\u0287\u0002", + "\u0ec3\u0143\u0003\u0002\u0002\u0002\u0ec4\u0ec5\u0007G\u0002\u0002", + "\u0ec5\u0ec6\u0007\u062b\u0002\u0002\u0ec6\u0ec9\u0007\u084b\u0002\u0002", + "\u0ec7\u0eca\u0005\u0146\u00a4\u0002\u0ec8\u0eca\u0005\u0148\u00a5\u0002", + "\u0ec9\u0ec7\u0003\u0002\u0002\u0002\u0ec9\u0ec8\u0003\u0002\u0002\u0002", + "\u0eca\u0ecc\u0003\u0002\u0002\u0002\u0ecb\u0ecd\u0005\u015c\u00af\u0002", + "\u0ecc\u0ecb\u0003\u0002\u0002\u0002\u0ecc\u0ecd\u0003\u0002\u0002\u0002", + "\u0ecd\u0ece\u0003\u0002\u0002\u0002\u0ece\u0ecf\u0007\u08c3\u0002\u0002", + "\u0ecf\u0145\u0003\u0002\u0002\u0002\u0ed0\u0ed1\u0007\u00d8\u0002\u0002", + "\u0ed1\u0ed2\u0005\u0594\u02cb\u0002\u0ed2\u0ed3\u0007\u08aa\u0002\u0002", + "\u0ed3\u0edb\u0005\u0592\u02ca\u0002\u0ed4\u0ed5\u0007\u08b7\u0002\u0002", + "\u0ed5\u0ed6\u0005\u0594\u02cb\u0002\u0ed6\u0ed7\u0007\u08aa\u0002\u0002", + "\u0ed7\u0ed8\u0005\u0592\u02ca\u0002\u0ed8\u0eda\u0003\u0002\u0002\u0002", + "\u0ed9\u0ed4\u0003\u0002\u0002\u0002\u0eda\u0edd\u0003\u0002\u0002\u0002", + "\u0edb\u0ed9\u0003\u0002\u0002\u0002\u0edb\u0edc\u0003\u0002\u0002\u0002", + "\u0edc\u0ede\u0003\u0002\u0002\u0002\u0edd\u0edb\u0003\u0002\u0002\u0002", + "\u0ede\u0edf\u0005\u014c\u00a7\u0002\u0edf\u0147\u0003\u0002\u0002\u0002", + "\u0ee0\u0ee1\u0007\u0231\u0002\u0002\u0ee1\u0ee6\u0005\u0580\u02c1\u0002", + "\u0ee2\u0ee3\u0007\u08b7\u0002\u0002\u0ee3\u0ee5\u0005\u0580\u02c1\u0002", + "\u0ee4\u0ee2\u0003\u0002\u0002\u0002\u0ee5\u0ee8\u0003\u0002\u0002\u0002", + "\u0ee6\u0ee4\u0003\u0002\u0002\u0002\u0ee6\u0ee7\u0003\u0002\u0002\u0002", + "\u0ee7\u0f0e\u0003\u0002\u0002\u0002\u0ee8\u0ee6\u0003\u0002\u0002\u0002", + "\u0ee9\u0eea\u0007\u04aa\u0002\u0002\u0eea\u0eef\u0005\u0562\u02b2\u0002", + "\u0eeb\u0eec\u0007\u08b7\u0002\u0002\u0eec\u0eee\u0005\u0562\u02b2\u0002", + "\u0eed\u0eeb\u0003\u0002\u0002\u0002\u0eee\u0ef1\u0003\u0002\u0002\u0002", + "\u0eef\u0eed\u0003\u0002\u0002\u0002\u0eef\u0ef0\u0003\u0002\u0002\u0002", + "\u0ef0\u0f0e\u0003\u0002\u0002\u0002\u0ef1\u0eef\u0003\u0002\u0002\u0002", + "\u0ef2\u0ef3\u0007\u07c4\u0002\u0002\u0ef3\u0ef8\u0005\u057a\u02be\u0002", + "\u0ef4\u0ef5\u0007\u08b7\u0002\u0002\u0ef5\u0ef7\u0005\u057a\u02be\u0002", + "\u0ef6\u0ef4\u0003\u0002\u0002\u0002\u0ef7\u0efa\u0003\u0002\u0002\u0002", + "\u0ef8\u0ef6\u0003\u0002\u0002\u0002\u0ef8\u0ef9\u0003\u0002\u0002\u0002", + "\u0ef9\u0f0e\u0003\u0002\u0002\u0002\u0efa\u0ef8\u0003\u0002\u0002\u0002", + "\u0efb\u0efc\u0007\u0276\u0002\u0002\u0efc\u0f01\u0005\u0588\u02c5\u0002", + "\u0efd\u0efe\u0007\u08b7\u0002\u0002\u0efe\u0f00\u0005\u0588\u02c5\u0002", + "\u0eff\u0efd\u0003\u0002\u0002\u0002\u0f00\u0f03\u0003\u0002\u0002\u0002", + "\u0f01\u0eff\u0003\u0002\u0002\u0002\u0f01\u0f02\u0003\u0002\u0002\u0002", + "\u0f02\u0f0e\u0003\u0002\u0002\u0002\u0f03\u0f01\u0003\u0002\u0002\u0002", + "\u0f04\u0f05\u0007\u0288\u0002\u0002\u0f05\u0f0a\u0005\u014a\u00a6\u0002", + "\u0f06\u0f07\u0007\u08b7\u0002\u0002\u0f07\u0f09\u0005\u014a\u00a6\u0002", + "\u0f08\u0f06\u0003\u0002\u0002\u0002\u0f09\u0f0c\u0003\u0002\u0002\u0002", + "\u0f0a\u0f08\u0003\u0002\u0002\u0002\u0f0a\u0f0b\u0003\u0002\u0002\u0002", + "\u0f0b\u0f0e\u0003\u0002\u0002\u0002\u0f0c\u0f0a\u0003\u0002\u0002\u0002", + "\u0f0d\u0ee0\u0003\u0002\u0002\u0002\u0f0d\u0ee9\u0003\u0002\u0002\u0002", + "\u0f0d\u0ef2\u0003\u0002\u0002\u0002\u0f0d\u0efb\u0003\u0002\u0002\u0002", + "\u0f0d\u0f04\u0003\u0002\u0002\u0002\u0f0e\u0f1a\u0003\u0002\u0002\u0002", + "\u0f0f\u0f1b\u0005\u014c\u00a7\u0002\u0f10\u0f13\u0005\u0150\u00a9\u0002", + "\u0f11\u0f12\u0007\u08b7\u0002\u0002\u0f12\u0f14\u0005\u0158\u00ad\u0002", + "\u0f13\u0f11\u0003\u0002\u0002\u0002\u0f13\u0f14\u0003\u0002\u0002\u0002", + "\u0f14\u0f1b\u0003\u0002\u0002\u0002\u0f15\u0f18\u0005\u0158\u00ad\u0002", + "\u0f16\u0f17\u0007\u08b7\u0002\u0002\u0f17\u0f19\u0005\u0150\u00a9\u0002", + "\u0f18\u0f16\u0003\u0002\u0002\u0002\u0f18\u0f19\u0003\u0002\u0002\u0002", + "\u0f19\u0f1b\u0003\u0002\u0002\u0002\u0f1a\u0f0f\u0003\u0002\u0002\u0002", + "\u0f1a\u0f10\u0003\u0002\u0002\u0002\u0f1a\u0f15\u0003\u0002\u0002\u0002", + "\u0f1b\u0149\u0003\u0002\u0002\u0002\u0f1c\u0f1d\u0005\u05d2\u02ea\u0002", + "\u0f1d\u014b\u0003\u0002\u0002\u0002\u0f1e\u0f21\u0007\u0811\u0002\u0002", + "\u0f1f\u0f22\u0005\u014e\u00a8\u0002\u0f20\u0f22\u0007\u044b\u0002\u0002", + "\u0f21\u0f1f\u0003\u0002\u0002\u0002\u0f21\u0f20\u0003\u0002\u0002\u0002", + "\u0f22\u014d\u0003\u0002\u0002\u0002\u0f23\u0f24\u0005\u05d6\u02ec\u0002", + "\u0f24\u014f\u0003\u0002\u0002\u0002\u0f25\u0f26\u0007\u0161\u0002\u0002", + "\u0f26\u0f27\u0007\u0119\u0002\u0002\u0f27\u0f28\u0007\u08b1\u0002\u0002", + "\u0f28\u0f29\u0005\u0152\u00aa\u0002\u0f29\u0f2a\u0007\u08b7\u0002\u0002", + "\u0f2a\u0f2b\u0005\u0154\u00ab\u0002\u0f2b\u0f2c\u0007\u08b7\u0002\u0002", + "\u0f2c\u0f2d\u0005\u0156\u00ac\u0002\u0f2d\u0f2e\u0007\u08b2\u0002\u0002", + "\u0f2e\u0151\u0003\u0002\u0002\u0002\u0f2f\u0f30\u0007\u08ab\u0002\u0002", + "\u0f30\u0153\u0003\u0002\u0002\u0002\u0f31\u0f32\u0007\u08ab\u0002\u0002", + "\u0f32\u0155\u0003\u0002\u0002\u0002\u0f33\u0f34\u0007\u08ab\u0002\u0002", + "\u0f34\u0157\u0003\u0002\u0002\u0002\u0f35\u0f36\u0007\u0161\u0002\u0002", + "\u0f36\u0f37\u0007\u05d3\u0002\u0002\u0f37\u0f38\u0005\u015a\u00ae\u0002", + "\u0f38\u0159\u0003\u0002\u0002\u0002\u0f39\u0f3a\u0007\u08ab\u0002\u0002", + "\u0f3a\u015b\u0003\u0002\u0002\u0002\u0f3b\u0f3c\u0007\u084b\u0002\u0002", + "\u0f3c\u0f3d\t\u001e\u0002\u0002\u0f3d\u0f3e\u0007\u031e\u0002\u0002", + "\u0f3e\u0f3f\u0007\u063b\u0002\u0002\u0f3f\u0f40\u0007\u0778\u0002\u0002", + "\u0f40\u015d\u0003\u0002\u0002\u0002\u0f41\u0f42\u0006\u00b0\u0002\u0002", + "\u0f42\u0f6e\u0007O\u0002\u0002\u0f43\u0f44\u0007\u04f5\u0002\u0002", + "\u0f44\u0f4e\u0005\u0160\u00b1\u0002\u0f45\u0f46\t\u001f\u0002\u0002", + "\u0f46\u0f4b\u0005\u016c\u00b7\u0002\u0f47\u0f48\u0007\u08b7\u0002\u0002", + "\u0f48\u0f4a\u0005\u016c\u00b7\u0002\u0f49\u0f47\u0003\u0002\u0002\u0002", + "\u0f4a\u0f4d\u0003\u0002\u0002\u0002\u0f4b\u0f49\u0003\u0002\u0002\u0002", + "\u0f4b\u0f4c\u0003\u0002\u0002\u0002\u0f4c\u0f4f\u0003\u0002\u0002\u0002", + "\u0f4d\u0f4b\u0003\u0002\u0002\u0002\u0f4e\u0f45\u0003\u0002\u0002\u0002", + "\u0f4e\u0f4f\u0003\u0002\u0002\u0002\u0f4f\u0f55\u0003\u0002\u0002\u0002", + "\u0f50\u0f52\u0007\u0842\u0002\u0002\u0f51\u0f53\u0007\u0433\u0002\u0002", + "\u0f52\u0f51\u0003\u0002\u0002\u0002\u0f52\u0f53\u0003\u0002\u0002\u0002", + "\u0f53\u0f54\u0003\u0002\u0002\u0002\u0f54\u0f56\u0007\u0653\u0002\u0002", + "\u0f55\u0f50\u0003\u0002\u0002\u0002\u0f55\u0f56\u0003\u0002\u0002\u0002", + "\u0f56\u0f6f\u0003\u0002\u0002\u0002\u0f57\u0f58\u0007\u010b\u0002\u0002", + "\u0f58\u0f59\u0007\u0372\u0002\u0002\u0f59\u0f5a\u0005\u0204\u0103\u0002", + "\u0f5a\u0f5b\u0007N\u0002\u0002\u0f5b\u0f60\u0005\u0556\u02ac\u0002", + "\u0f5c\u0f5d\u0007\u08b7\u0002\u0002\u0f5d\u0f5f\u0005\u0556\u02ac\u0002", + "\u0f5e\u0f5c\u0003\u0002\u0002\u0002\u0f5f\u0f62\u0003\u0002\u0002\u0002", + "\u0f60\u0f5e\u0003\u0002\u0002\u0002\u0f60\u0f61\u0003\u0002\u0002\u0002", + "\u0f61\u0f6c\u0003\u0002\u0002\u0002\u0f62\u0f60\u0003\u0002\u0002\u0002", + "\u0f63\u0f64\u0007\u0094\u0002\u0002\u0f64\u0f69\u0005\u016c\u00b7\u0002", + "\u0f65\u0f66\u0007\u08b7\u0002\u0002\u0f66\u0f68\u0005\u016c\u00b7\u0002", + "\u0f67\u0f65\u0003\u0002\u0002\u0002\u0f68\u0f6b\u0003\u0002\u0002\u0002", + "\u0f69\u0f67\u0003\u0002\u0002\u0002\u0f69\u0f6a\u0003\u0002\u0002\u0002", + "\u0f6a\u0f6d\u0003\u0002\u0002\u0002\u0f6b\u0f69\u0003\u0002\u0002\u0002", + "\u0f6c\u0f63\u0003\u0002\u0002\u0002\u0f6c\u0f6d\u0003\u0002\u0002\u0002", + "\u0f6d\u0f6f\u0003\u0002\u0002\u0002\u0f6e\u0f43\u0003\u0002\u0002\u0002", + "\u0f6e\u0f57\u0003\u0002\u0002\u0002\u0f6f\u0f70\u0003\u0002\u0002\u0002", + "\u0f70\u0f71\u0007\u08c3\u0002\u0002\u0f71\u015f\u0003\u0002\u0002\u0002", + "\u0f72\u0f73\u0005\u05d0\u02e9\u0002\u0f73\u0161\u0003\u0002\u0002\u0002", + "\u0f74\u0f7f\u0007O\u0002\u0002\u0f75\u0f7a\u0005\u0168\u00b5\u0002", + "\u0f76\u0f7b\u0005\u016a\u00b6\u0002\u0f77\u0f78\u0007\u028e\u0002\u0002", + "\u0f78\u0f79\u0007\u05e4\u0002\u0002\u0f79\u0f7b\u0007\u0130\u0002\u0002", + "\u0f7a\u0f76\u0003\u0002\u0002\u0002\u0f7a\u0f77\u0003\u0002\u0002\u0002", + "\u0f7a\u0f7b\u0003\u0002\u0002\u0002\u0f7b\u0f80\u0003\u0002\u0002\u0002", + "\u0f7c\u0f80\u0005\u016e\u00b8\u0002\u0f7d\u0f80\u0007\u0387\u0002\u0002", + "\u0f7e\u0f80\u0005\u0164\u00b3\u0002\u0f7f\u0f75\u0003\u0002\u0002\u0002", + "\u0f7f\u0f7c\u0003\u0002\u0002\u0002\u0f7f\u0f7d\u0003\u0002\u0002\u0002", + "\u0f7f\u0f7e\u0003\u0002\u0002\u0002\u0f80\u0f83\u0003\u0002\u0002\u0002", + "\u0f81\u0f82\u0007\u0094\u0002\u0002\u0f82\u0f84\t \u0002\u0002\u0f83", + "\u0f81\u0003\u0002\u0002\u0002\u0f83\u0f84\u0003\u0002\u0002\u0002\u0f84", + "\u0f8a\u0003\u0002\u0002\u0002\u0f85\u0f87\u0007\u0842\u0002\u0002\u0f86", + "\u0f88\u0007\u0433\u0002\u0002\u0f87\u0f86\u0003\u0002\u0002\u0002\u0f87", + "\u0f88\u0003\u0002\u0002\u0002\u0f88\u0f89\u0003\u0002\u0002\u0002\u0f89", + "\u0f8b\u0007\u0653\u0002\u0002\u0f8a\u0f85\u0003\u0002\u0002\u0002\u0f8a", + "\u0f8b\u0003\u0002\u0002\u0002\u0f8b\u0f8d\u0003\u0002\u0002\u0002\u0f8c", + "\u0f8e\u0005\u0166\u00b4\u0002\u0f8d\u0f8c\u0003\u0002\u0002\u0002\u0f8d", + "\u0f8e\u0003\u0002\u0002\u0002\u0f8e\u0f8f\u0003\u0002\u0002\u0002\u0f8f", + "\u0f90\u0007\u08c3\u0002\u0002\u0f90\u0163\u0003\u0002\u0002\u0002\u0f91", + "\u0f92\u0006\u00b3\u0003\u0002\u0f92\u0f93\u0007\u017f\u0002\u0002\u0f93", + "\u0f94\u0005\u016a\u00b6\u0002\u0f94\u0165\u0003\u0002\u0002\u0002\u0f95", + "\u0f96\u0006\u00b4\u0004\u0002\u0f96\u0f97\u0007\u0106\u0002\u0002\u0f97", + "\u0f98\u0007\u08c5\u0002\u0002\u0f98\u0f99\t!\u0002\u0002\u0f99\u0167", + "\u0003\u0002\u0002\u0002\u0f9a\u0fa0\u0005\u017a\u00be\u0002\u0f9b\u0f9d", + "\u0007%\u0002\u0002\u0f9c\u0f9e\u0007\u0627\u0002\u0002\u0f9d\u0f9c", + "\u0003\u0002\u0002\u0002\u0f9d\u0f9e\u0003\u0002\u0002\u0002\u0f9e\u0fa0", + "\u0003\u0002\u0002\u0002\u0f9f\u0f9a\u0003\u0002\u0002\u0002\u0f9f\u0f9b", + "\u0003\u0002\u0002\u0002\u0fa0\u0fab\u0003\u0002\u0002\u0002\u0fa1\u0fa7", + "\u0007\u08b7\u0002\u0002\u0fa2\u0fa8\u0005\u017a\u00be\u0002\u0fa3\u0fa5", + "\u0007%\u0002\u0002\u0fa4\u0fa6\u0007\u0627\u0002\u0002\u0fa5\u0fa4", + "\u0003\u0002\u0002\u0002\u0fa5\u0fa6\u0003\u0002\u0002\u0002\u0fa6\u0fa8", + "\u0003\u0002\u0002\u0002\u0fa7\u0fa2\u0003\u0002\u0002\u0002\u0fa7\u0fa3", + "\u0003\u0002\u0002\u0002\u0fa8\u0faa\u0003\u0002\u0002\u0002\u0fa9\u0fa1", + "\u0003\u0002\u0002\u0002\u0faa\u0fad\u0003\u0002\u0002\u0002\u0fab\u0fa9", + "\u0003\u0002\u0002\u0002\u0fab\u0fac\u0003\u0002\u0002\u0002\u0fac\u0fbf", + "\u0003\u0002\u0002\u0002\u0fad\u0fab\u0003\u0002\u0002\u0002\u0fae\u0fb2", + "\u0005\u05c6\u02e4\u0002\u0faf\u0fb0\u0007%\u0002\u0002\u0fb0\u0fb2", + "\u0007\u0522\u0002\u0002\u0fb1\u0fae\u0003\u0002\u0002\u0002\u0fb1\u0faf", + "\u0003\u0002\u0002\u0002\u0fb2\u0fbb\u0003\u0002\u0002\u0002\u0fb3\u0fb7", + "\u0007\u08b7\u0002\u0002\u0fb4\u0fb8\u0005\u05c6\u02e4\u0002\u0fb5\u0fb6", + "\u0007%\u0002\u0002\u0fb6\u0fb8\u0007\u0522\u0002\u0002\u0fb7\u0fb4", + "\u0003\u0002\u0002\u0002\u0fb7\u0fb5\u0003\u0002\u0002\u0002\u0fb8\u0fba", + "\u0003\u0002\u0002\u0002\u0fb9\u0fb3\u0003\u0002\u0002\u0002\u0fba\u0fbd", + "\u0003\u0002\u0002\u0002\u0fbb\u0fb9\u0003\u0002\u0002\u0002\u0fbb\u0fbc", + "\u0003\u0002\u0002\u0002\u0fbc\u0fbf\u0003\u0002\u0002\u0002\u0fbd\u0fbb", + "\u0003\u0002\u0002\u0002\u0fbe\u0f9f\u0003\u0002\u0002\u0002\u0fbe\u0fb1", + "\u0003\u0002\u0002\u0002\u0fbf\u0169\u0003\u0002\u0002\u0002\u0fc0\u0fc1", + "\u0007\u0094\u0002\u0002\u0fc1\u0fc6\u0005\u016c\u00b7\u0002\u0fc2\u0fc3", + "\u0007\u08b7\u0002\u0002\u0fc3\u0fc5\u0005\u016c\u00b7\u0002\u0fc4\u0fc2", + "\u0003\u0002\u0002\u0002\u0fc5\u0fc8\u0003\u0002\u0002\u0002\u0fc6\u0fc4", + "\u0003\u0002\u0002\u0002\u0fc6\u0fc7\u0003\u0002\u0002\u0002\u0fc7\u016b", + "\u0003\u0002\u0002\u0002\u0fc8\u0fc6\u0003\u0002\u0002\u0002\u0fc9\u0fca", + "\u0005\u05d6\u02ec\u0002\u0fca\u016d\u0003\u0002\u0002\u0002\u0fcb\u0fd0", + "\u0005\u0170\u00b9\u0002\u0fcc\u0fcd\u0007\u08b7\u0002\u0002\u0fcd\u0fcf", + "\u0005\u0170\u00b9\u0002\u0fce\u0fcc\u0003\u0002\u0002\u0002\u0fcf\u0fd2", + "\u0003\u0002\u0002\u0002\u0fd0\u0fce\u0003\u0002\u0002\u0002\u0fd0\u0fd1", + "\u0003\u0002\u0002\u0002\u0fd1\u0fd5\u0003\u0002\u0002\u0002\u0fd2\u0fd0", + "\u0003\u0002\u0002\u0002\u0fd3\u0fd5\u0007%\u0002\u0002\u0fd4\u0fcb", + "\u0003\u0002\u0002\u0002\u0fd4\u0fd3\u0003\u0002\u0002\u0002\u0fd5\u0fd6", + "\u0003\u0002\u0002\u0002\u0fd6\u0fd7\u0005\u0172\u00ba\u0002\u0fd7\u016f", + "\u0003\u0002\u0002\u0002\u0fd8\u0fd9\t\"\u0002\u0002\u0fd9\u0171\u0003", + "\u0002\u0002\u0002\u0fda\u0fe7\u0007\u046a\u0002\u0002\u0fdb\u0fe8\u0005", + "\u0176\u00bc\u0002\u0fdc\u0fdd\u0007\u017e\u0002\u0002\u0fdd\u0fe8\u0005", + "\u05d6\u02ec\u0002\u0fde\u0fdf\u0007\u034b\u0002\u0002\u0fdf\u0fe0\u0007", + "\u0358\u0002\u0002\u0fe0\u0fe8\u0005\u0174\u00bb\u0002\u0fe1\u0fe2\u0006", + "\u00ba\u0005\u0002\u0fe2\u0fe3\u0007\u0617\u0002\u0002\u0fe3\u0fe4\u0007", + "\u07b9\u0002\u0002\u0fe4\u0fe5\u0007\u0526\u0002\u0002\u0fe5\u0fe8\u0005", + "\u0178\u00bd\u0002\u0fe6\u0fe8\u0007\u0161\u0002\u0002\u0fe7\u0fdb\u0003", + "\u0002\u0002\u0002\u0fe7\u0fdc\u0003\u0002\u0002\u0002\u0fe7\u0fde\u0003", + "\u0002\u0002\u0002\u0fe7\u0fe1\u0003\u0002\u0002\u0002\u0fe7\u0fe6\u0003", + "\u0002\u0002\u0002\u0fe8\u0173\u0003\u0002\u0002\u0002\u0fe9\u0fea\u0005", + "\u05d2\u02ea\u0002\u0fea\u0feb\u0007\u08aa\u0002\u0002\u0feb\u0fed\u0003", + "\u0002\u0002\u0002\u0fec\u0fe9\u0003\u0002\u0002\u0002\u0fec\u0fed\u0003", + "\u0002\u0002\u0002\u0fed\u0fee\u0003\u0002\u0002\u0002\u0fee\u0fef\u0005", + "\u05d2\u02ea\u0002\u0fef\u0175\u0003\u0002\u0002\u0002\u0ff0\u0ff1\u0005", + "\u05d2\u02ea\u0002\u0ff1\u0ff2\u0007\u08aa\u0002\u0002\u0ff2\u0ff4\u0003", + "\u0002\u0002\u0002\u0ff3\u0ff0\u0003\u0002\u0002\u0002\u0ff3\u0ff4\u0003", + "\u0002\u0002\u0002\u0ff4\u0ff5\u0003\u0002\u0002\u0002\u0ff5\u0ff6\u0005", + "\u05d2\u02ea\u0002\u0ff6\u0177\u0003\u0002\u0002\u0002\u0ff7\u0ff8\u0005", + "\u05d2\u02ea\u0002\u0ff8\u0ff9\u0007\u08aa\u0002\u0002\u0ff9\u0ffb\u0003", + "\u0002\u0002\u0002\u0ffa\u0ff7\u0003\u0002\u0002\u0002\u0ffa\u0ffb\u0003", + "\u0002\u0002\u0002\u0ffb\u0ffc\u0003\u0002\u0002\u0002\u0ffc\u0ffd\u0005", + "\u05d2\u02ea\u0002\u0ffd\u0179\u0003\u0002\u0002\u0002\u0ffe\u0fff\u0007", + ")\u0002\u0002\u0fff\u1045\u0007\u06f5\u0002\u0002\u1000\u1045\u0007", + "\u00c7\u0002\u0002\u1001\u1045\u0007\u010b\u0002\u0002\u1002\u1003\u0007", + "\u013e\u0002\u0002\u1003\u1045\u0007\u02fa\u0002\u0002\u1004\u1045\u0007", + "\u017b\u0002\u0002\u1005\u1045\u0007\u017e\u0002\u0002\u1006\u1045\u0007", + "\u0279\u0002\u0002\u1007\u1008\u0007\u032b\u0002\u0002\u1008\u1045\u0007", + "\u0835\u0002\u0002\u1009\u100a\u0007\u0433\u0002\u0002\u100a\u1045\u0007", + "\u01e0\u0002\u0002\u100b\u1045\u0007\u049e\u0002\u0002\u100c\u100d\u0006", + "\u00be\u0006\u0002\u100d\u100e\u0007\u04f3\u0002\u0002\u100e\u1045\u0007", + "\u013e\u0002\u0002\u100f\u1045\u0007\u0524\u0002\u0002\u1010\u1045\u0007", + "\u0526\u0002\u0002\u1011\u1012\u0007\u052e\u0002\u0002\u1012\u1013\u0007", + "\u013e\u0002\u0002\u1013\u1045\u0007\u02fa\u0002\u0002\u1014\u1015\u0007", + "\u052e\u0002\u0002\u1015\u1045\u0007\u065d\u0002\u0002\u1016\u1045\u0007", + "\u05a0\u0002\u0002\u1017\u1018\u0007\u05a3\u0002\u0002\u1018\u1045\u0007", + "\u05d2\u0002\u0002\u1019\u1045\u0007\u05da\u0002\u0002\u101a\u1045\u0007", + "\u05e4\u0002\u0002\u101b\u1045\u0007\u065d\u0002\u0002\u101c\u101d\u0007", + "\u06f5\u0002\u0002\u101d\u1045\u0007O\u0002\u0002\u101e\u101f\u0007", + "\u06f5\u0002\u0002\u101f\u1045\u0007\u023d\u0002\u0002\u1020\u1045\u0007", + "\u077a\u0002\u0002\u1021\u1045\u0007\u0777\u0002\u0002\u1022\u1045\u0007", + "\u07bc\u0002\u0002\u1023\u1045\u0007\u07c5\u0002\u0002\u1024\u1045\u0007", + "\u0809\u0002\u0002\u1025\u1045\u0007\u0835\u0002\u0002\u1026\u1027\u0007", + ")\u0002\u0002\u1027\u1045\u0007\u05da\u0002\u0002\u1028\u1029\u0007", + ")\u0002\u0002\u1029\u1045\u0007\u077a\u0002\u0002\u102a\u102b\u0007", + "\u00db\u0002\u0002\u102b\u1045\u0007\u077a\u0002\u0002\u102c\u102d\u0007", + "\u016c\u0002\u0002\u102d\u1045\u0007\u077a\u0002\u0002\u102e\u102f\u0007", + "\u01dd\u0002\u0002\u102f\u1045\u0007\u0524\u0002\u0002\u1030\u1031\u0007", + "\u023d\u0002\u0002\u1031\u1045\u0007\u017e\u0002\u0002\u1032\u1033\u0007", + "\u023d\u0002\u0002\u1033\u1045\u0007\u0524\u0002\u0002\u1034\u1035\u0007", + "\u023d\u0002\u0002\u1035\u1045\u0007\u05da\u0002\u0002\u1036\u1037\u0007", + "\u023d\u0002\u0002\u1037\u1045\u0007\u077a\u0002\u0002\u1038\u1039\u0007", + "\u023d\u0002\u0002\u1039\u1045\u0007\u07c5\u0002\u0002\u103a\u103b\u0007", + "\u029f\u0002\u0002\u103b\u1045\u0007\u077a\u0002\u0002\u103c\u103d\u0007", + "\u030a\u0002\u0002\u103d\u1045\u0007\u077a\u0002\u0002\u103e\u103f\u0007", + "\u05d4\u0002\u0002\u103f\u1045\u0007\u05da\u0002\u0002\u1040\u1041\u0007", + "\u05d4\u0002\u0002\u1041\u1045\u0007\u077a\u0002\u0002\u1042\u1043\u0007", + "\u07eb\u0002\u0002\u1043\u1045\u0007\u077a\u0002\u0002\u1044\u0ffe\u0003", + "\u0002\u0002\u0002\u1044\u1000\u0003\u0002\u0002\u0002\u1044\u1001\u0003", + "\u0002\u0002\u0002\u1044\u1002\u0003\u0002\u0002\u0002\u1044\u1004\u0003", + "\u0002\u0002\u0002\u1044\u1005\u0003\u0002\u0002\u0002\u1044\u1006\u0003", + "\u0002\u0002\u0002\u1044\u1007\u0003\u0002\u0002\u0002\u1044\u1009\u0003", + "\u0002\u0002\u0002\u1044\u100b\u0003\u0002\u0002\u0002\u1044\u100c\u0003", + "\u0002\u0002\u0002\u1044\u100f\u0003\u0002\u0002\u0002\u1044\u1010\u0003", + "\u0002\u0002\u0002\u1044\u1011\u0003\u0002\u0002\u0002\u1044\u1014\u0003", + "\u0002\u0002\u0002\u1044\u1016\u0003\u0002\u0002\u0002\u1044\u1017\u0003", + "\u0002\u0002\u0002\u1044\u1019\u0003\u0002\u0002\u0002\u1044\u101a\u0003", + "\u0002\u0002\u0002\u1044\u101b\u0003\u0002\u0002\u0002\u1044\u101c\u0003", + "\u0002\u0002\u0002\u1044\u101e\u0003\u0002\u0002\u0002\u1044\u1020\u0003", + "\u0002\u0002\u0002\u1044\u1021\u0003\u0002\u0002\u0002\u1044\u1022\u0003", + "\u0002\u0002\u0002\u1044\u1023\u0003\u0002\u0002\u0002\u1044\u1024\u0003", + "\u0002\u0002\u0002\u1044\u1025\u0003\u0002\u0002\u0002\u1044\u1026\u0003", + "\u0002\u0002\u0002\u1044\u1028\u0003\u0002\u0002\u0002\u1044\u102a\u0003", + "\u0002\u0002\u0002\u1044\u102c\u0003\u0002\u0002\u0002\u1044\u102e\u0003", + "\u0002\u0002\u0002\u1044\u1030\u0003\u0002\u0002\u0002\u1044\u1032\u0003", + "\u0002\u0002\u0002\u1044\u1034\u0003\u0002\u0002\u0002\u1044\u1036\u0003", + "\u0002\u0002\u0002\u1044\u1038\u0003\u0002\u0002\u0002\u1044\u103a\u0003", + "\u0002\u0002\u0002\u1044\u103c\u0003\u0002\u0002\u0002\u1044\u103e\u0003", + "\u0002\u0002\u0002\u1044\u1040\u0003\u0002\u0002\u0002\u1044\u1042\u0003", + "\u0002\u0002\u0002\u1045\u017b\u0003\u0002\u0002\u0002\u1046\u1047\u0007", + "\u019d\u0002\u0002\u1047\u1048\u0007\u0279\u0002\u0002\u1048\u1049\u0005", + "\u0588\u02c5\u0002\u1049\u104a\u0007\u08c3\u0002\u0002\u104a\u017d\u0003", + "\u0002\u0002\u0002\u104b\u104c\u0007\u057e\u0002\u0002\u104c\u104d\u0005", + "\u0176\u00bc\u0002\u104d\u104e\u0007\u07ae\u0002\u0002\u104e\u104f\u0005", + "\u0176\u00bc\u0002\u104f\u1050\u0007\u08c3\u0002\u0002\u1050\u017f\u0003", + "\u0002\u0002\u0002\u1051\u105d\u0007\u023d\u0002\u0002\u1052\u1054\u0007", + "\u08b7\u0002\u0002\u1053\u1052\u0003\u0002\u0002\u0002\u1053\u1054\u0003", + "\u0002\u0002\u0002\u1054\u105b\u0003\u0002\u0002\u0002\u1055\u105c\u0005", + "\u0574\u02bb\u0002\u1056\u105c\u0005\u05c6\u02e4\u0002\u1057\u1059\u0005", + "\u05c4\u02e3\u0002\u1058\u105a\u0005\u05a6\u02d4\u0002\u1059\u1058\u0003", + "\u0002\u0002\u0002\u1059\u105a\u0003\u0002\u0002\u0002\u105a\u105c\u0003", + "\u0002\u0002\u0002\u105b\u1055\u0003\u0002\u0002\u0002\u105b\u1056\u0003", + "\u0002\u0002\u0002\u105b\u1057\u0003\u0002\u0002\u0002\u105c\u105e\u0003", + "\u0002\u0002\u0002\u105d\u1053\u0003\u0002\u0002\u0002\u105e\u105f\u0003", + "\u0002\u0002\u0002\u105f\u105d\u0003\u0002\u0002\u0002\u105f\u1060\u0003", + "\u0002\u0002\u0002\u1060\u1063\u0003\u0002\u0002\u0002\u1061\u1062\u0007", + "\u046a\u0002\u0002\u1062\u1064\u0005\u05a2\u02d2\u0002\u1063\u1061\u0003", + "\u0002\u0002\u0002\u1063\u1064\u0003\u0002\u0002\u0002\u1064\u1065\u0003", + "\u0002\u0002\u0002\u1065\u1068\u0007\u07ae\u0002\u0002\u1066\u1069\u0005", + "\u0572\u02ba\u0002\u1067\u1069\u0007\u052e\u0002\u0002\u1068\u1066\u0003", + "\u0002\u0002\u0002\u1068\u1067\u0003\u0002\u0002\u0002\u1069\u1071\u0003", + "\u0002\u0002\u0002\u106a\u106d\u0007\u08b7\u0002\u0002\u106b\u106e\u0005", + "\u0572\u02ba\u0002\u106c\u106e\u0007\u052e\u0002\u0002\u106d\u106b\u0003", + "\u0002\u0002\u0002\u106d\u106c\u0003\u0002\u0002\u0002\u106e\u1070\u0003", + "\u0002\u0002\u0002\u106f\u106a\u0003\u0002\u0002\u0002\u1070\u1073\u0003", + "\u0002\u0002\u0002\u1071\u106f\u0003\u0002\u0002\u0002\u1071\u1072\u0003", + "\u0002\u0002\u0002\u1072\u1077\u0003\u0002\u0002\u0002\u1073\u1071\u0003", + "\u0002\u0002\u0002\u1074\u1075\u0007\u084b\u0002\u0002\u1075\u1076\t", + "#\u0002\u0002\u1076\u1078\u0007\u0477\u0002\u0002\u1077\u1074\u0003", + "\u0002\u0002\u0002\u1077\u1078\u0003\u0002\u0002\u0002\u1078\u107c\u0003", + "\u0002\u0002\u0002\u1079\u107a\u0007\u084b\u0002\u0002\u107a\u107b\u0007", + "\u0253\u0002\u0002\u107b\u107d\u0007\u0477\u0002\u0002\u107c\u1079\u0003", + "\u0002\u0002\u0002\u107c\u107d\u0003\u0002\u0002\u0002\u107d\u1081\u0003", + "\u0002\u0002\u0002\u107e\u107f\u0007\u084b\u0002\u0002\u107f\u1080\u0007", + "\u023d\u0002\u0002\u1080\u1082\u0007\u0477\u0002\u0002\u1081\u107e\u0003", + "\u0002\u0002\u0002\u1081\u1082\u0003\u0002\u0002\u0002\u1082\u1084\u0003", + "\u0002\u0002\u0002\u1083\u1085\u0005\u0182\u00c2\u0002\u1084\u1083\u0003", + "\u0002\u0002\u0002\u1084\u1085\u0003\u0002\u0002\u0002\u1085\u1086\u0003", + "\u0002\u0002\u0002\u1086\u1087\u0007\u08c3\u0002\u0002\u1087\u0181\u0003", + "\u0002\u0002\u0002\u1088\u1089\u0007\u0106\u0002\u0002\u1089\u108a\u0007", + "\u08c5\u0002\u0002\u108a\u108b\t!\u0002\u0002\u108b\u0183\u0003\u0002", + "\u0002\u0002\u108c\u108f\u0007\u0122\u0002\u0002\u108d\u108e\u0007\u0496", + "\u0002\u0002\u108e\u1090\u0007\u0581\u0002\u0002\u108f\u108d\u0003\u0002", + "\u0002\u0002\u108f\u1090\u0003\u0002\u0002\u0002\u1090\u1091\u0003\u0002", + "\u0002\u0002\u1091\u1092\u0007\u017e\u0002\u0002\u1092\u1093\u0005\u0186", + "\u00c4\u0002\u1093\u1094\u0007?\u0002\u0002\u1094\u1095\u0005\u0188", + "\u00c5\u0002\u1095\u1096\u0007\u08c3\u0002\u0002\u1096\u0185\u0003\u0002", + "\u0002\u0002\u1097\u1098\u0005\u05d6\u02ec\u0002\u1098\u0187\u0003\u0002", + "\u0002\u0002\u1099\u109a\u0007\u08ad\u0002\u0002\u109a\u0189\u0003\u0002", + "\u0002\u0002\u109b\u109c\u0007)\u0002\u0002\u109c\u109d\u0007\u02ef", + "\u0002\u0002\u109d\u10ad\u0005\u0194\u00cb\u0002\u109e\u10a0\u0007\u00e1", + "\u0002\u0002\u109f\u10a1\u0005\u018e\u00c8\u0002\u10a0\u109f\u0003\u0002", + "\u0002\u0002\u10a0\u10a1\u0003\u0002\u0002\u0002\u10a1\u10a5\u0003\u0002", + "\u0002\u0002\u10a2\u10a4\u0005\u0190\u00c9\u0002\u10a3\u10a2\u0003\u0002", + "\u0002\u0002\u10a4\u10a7\u0003\u0002\u0002\u0002\u10a5\u10a3\u0003\u0002", + "\u0002\u0002\u10a5\u10a6\u0003\u0002\u0002\u0002\u10a6\u10aa\u0003\u0002", + "\u0002\u0002\u10a7\u10a5\u0003\u0002\u0002\u0002\u10a8\u10a9\u0007\u059a", + "\u0002\u0002\u10a9\u10ab\u0007\u05ea\u0002\u0002\u10aa\u10a8\u0003\u0002", + "\u0002\u0002\u10aa\u10ab\u0003\u0002\u0002\u0002\u10ab\u10ae\u0003\u0002", + "\u0002\u0002\u10ac\u10ae\u0005\u018c\u00c7\u0002\u10ad\u109e\u0003\u0002", + "\u0002\u0002\u10ad\u10ac\u0003\u0002\u0002\u0002\u10ae\u10af\u0003\u0002", + "\u0002\u0002\u10af\u10b0\u0007\u08c3\u0002\u0002\u10b0\u018b\u0003\u0002", + "\u0002\u0002\u10b1\u10b2\u0006\u00c7\u0007\u0002\u10b2\u10b3\t$\u0002", + "\u0002\u10b3\u018d\u0003\u0002\u0002\u0002\u10b4\u10b5\u0006\u00c8\b", + "\u0002\u10b5\u10b6\u0007\u0156\u0002\u0002\u10b6\u018f\u0003\u0002\u0002", + "\u0002\u10b7\u10b8\u0005\u0566\u02b4\u0002\u10b8\u10b9\u0007\u08c5\u0002", + "\u0002\u10b9\u10ba\u0005\u0192\u00ca\u0002\u10ba\u0191\u0003\u0002\u0002", + "\u0002\u10bb\u10bc\u0005\u05d6\u02ec\u0002\u10bc\u0193\u0003\u0002\u0002", + "\u0002\u10bd\u10be\u0005\u05d6\u02ec\u0002\u10be\u10bf\u0007\u08aa\u0002", + "\u0002\u10bf\u10c1\u0003\u0002\u0002\u0002\u10c0\u10bd\u0003\u0002\u0002", + "\u0002\u10c0\u10c1\u0003\u0002\u0002\u0002\u10c1\u10c2\u0003\u0002\u0002", + "\u0002\u10c2\u10c3\u0005\u05d6\u02ec\u0002\u10c3\u0195\u0003\u0002\u0002", + "\u0002\u10c4\u10c5\u0007)\u0002\u0002\u10c5\u10c6\u0007\u0835\u0002", + "\u0002\u10c6\u10e7\u0005\u0594\u02cb\u0002\u10c7\u10c8\u0007\u0014\u0002", + "\u0002\u10c8\u10e8\u0005\u01a8\u00d5\u0002\u10c9\u10ca\u0007\u0361\u0002", + "\u0002\u10ca\u10cb\u0007\u0103\u0002\u0002\u10cb\u10cc\u0005\u0576\u02bc", + "\u0002\u10cc\u10cd\t%\u0002\u0002\u10cd\u10e8\u0003\u0002\u0002\u0002", + "\u10ce\u10df\u0007\u019d\u0002\u0002\u10cf\u10d0\u0007\u0103\u0002\u0002", + "\u10d0\u10e0\u0005\u0576\u02bc\u0002\u10d1\u10d2\u0007\u051a\u0002\u0002", + "\u10d2\u10e0\u0007\u02d4\u0002\u0002\u10d3\u10d4\u0007\u07d4\u0002\u0002", + "\u10d4\u10d5\u0007\u08b1\u0002\u0002\u10d5\u10da\u0005\u0592\u02ca\u0002", + "\u10d6\u10d7\u0007\u08b7\u0002\u0002\u10d7\u10d9\u0005\u0592\u02ca\u0002", + "\u10d8\u10d6\u0003\u0002\u0002\u0002\u10d9\u10dc\u0003\u0002\u0002\u0002", + "\u10da\u10d8\u0003\u0002\u0002\u0002\u10da\u10db\u0003\u0002\u0002\u0002", + "\u10db\u10dd\u0003\u0002\u0002\u0002\u10dc\u10da\u0003\u0002\u0002\u0002", + "\u10dd\u10de\u0007\u08b2\u0002\u0002\u10de\u10e0\u0003\u0002\u0002\u0002", + "\u10df\u10cf\u0003\u0002\u0002\u0002\u10df\u10d1\u0003\u0002\u0002\u0002", + "\u10df\u10d3\u0003\u0002\u0002\u0002\u10e0\u10e8\u0003\u0002\u0002\u0002", + "\u10e1\u10e8\u0007\u00e1\u0002\u0002\u10e2\u10e3\u0007\u054b\u0002\u0002", + "\u10e3\u10e8\t&\u0002\u0002\u10e4\u10e6\u0005\u0198\u00cd\u0002\u10e5", + "\u10e4\u0003\u0002\u0002\u0002\u10e5\u10e6\u0003\u0002\u0002\u0002\u10e6", + "\u10e8\u0003\u0002\u0002\u0002\u10e7\u10c7\u0003\u0002\u0002\u0002\u10e7", + "\u10c9\u0003\u0002\u0002\u0002\u10e7\u10ce\u0003\u0002\u0002\u0002\u10e7", + "\u10e1\u0003\u0002\u0002\u0002\u10e7\u10e2\u0003\u0002\u0002\u0002\u10e7", + "\u10e5\u0003\u0002\u0002\u0002\u10e8\u10e9\u0003\u0002\u0002\u0002\u10e9", + "\u10ea\u0007\u08c3\u0002\u0002\u10ea\u0197\u0003\u0002\u0002\u0002\u10eb", + "\u10ec\u0006\u00cd\t\u0002\u10ec\u10ed\t$\u0002\u0002\u10ed\u0199\u0003", + "\u0002\u0002\u0002\u10ee\u10f1\u0007\u0122\u0002\u0002\u10ef\u10f0\u0007", + "\u0496\u0002\u0002\u10f0\u10f2\u0007\u0581\u0002\u0002\u10f1\u10ef\u0003", + "\u0002\u0002\u0002\u10f1\u10f2\u0003\u0002\u0002\u0002\u10f2\u10f7\u0003", + "\u0002\u0002\u0002\u10f3\u10f5\u0007\u0496\u0002\u0002\u10f4\u10f3\u0003", + "\u0002\u0002\u0002\u10f4\u10f5\u0003\u0002\u0002\u0002\u10f5\u10f6\u0003", + "\u0002\u0002\u0002\u10f6\u10f8\u0007\u0220\u0002\u0002\u10f7\u10f4\u0003", + "\u0002\u0002\u0002\u10f7\u10f8\u0003\u0002\u0002\u0002\u10f8\u10fa\u0003", + "\u0002\u0002\u0002\u10f9\u10fb\u0007\u01a9\u0002\u0002\u10fa\u10f9\u0003", + "\u0002\u0002\u0002\u10fa\u10fb\u0003\u0002\u0002\u0002\u10fb\u10fd\u0003", + "\u0002\u0002\u0002\u10fc\u10fe\u0007\u01ab\u0002\u0002\u10fd\u10fc\u0003", + "\u0002\u0002\u0002\u10fd\u10fe\u0003\u0002\u0002\u0002\u10fe\u10ff\u0003", + "\u0002\u0002\u0002\u10ff\u1100\u0007\u0835\u0002\u0002\u1100\u1102\u0005", + "\u0594\u02cb\u0002\u1101\u1103\u0005\u019c\u00cf\u0002\u1102\u1101\u0003", + "\u0002\u0002\u0002\u1102\u1103\u0003\u0002\u0002\u0002\u1103\u1104\u0003", + "\u0002\u0002\u0002\u1104\u1105\u0007?\u0002\u0002\u1105\u1107\u0005", + "\u0412\u020a\u0002\u1106\u1108\u0005\u04ca\u0266\u0002\u1107\u1106\u0003", + "\u0002\u0002\u0002\u1107\u1108\u0003\u0002\u0002\u0002\u1108\u019b\u0003", + "\u0002\u0002\u0002\u1109\u110c\u0005\u019e\u00d0\u0002\u110a\u110c\u0005", + "\u01a0\u00d1\u0002\u110b\u1109\u0003\u0002\u0002\u0002\u110b\u110a\u0003", + "\u0002\u0002\u0002\u110c\u019d\u0003\u0002\u0002\u0002\u110d\u111b\u0007", + "\u08b1\u0002\u0002\u110e\u1110\u0007\u08b7\u0002\u0002\u110f\u110e\u0003", + "\u0002\u0002\u0002\u110f\u1110\u0003\u0002\u0002\u0002\u1110\u1119\u0003", + "\u0002\u0002\u0002\u1111\u1115\u0005\u054c\u02a7\u0002\u1112\u1114\u0005", + "\u01a2\u00d2\u0002\u1113\u1112\u0003\u0002\u0002\u0002\u1114\u1117\u0003", + "\u0002\u0002\u0002\u1115\u1113\u0003\u0002\u0002\u0002\u1115\u1116\u0003", + "\u0002\u0002\u0002\u1116\u111a\u0003\u0002\u0002\u0002\u1117\u1115\u0003", + "\u0002\u0002\u0002\u1118\u111a\u0005\u01a8\u00d5\u0002\u1119\u1111\u0003", + "\u0002\u0002\u0002\u1119\u1118\u0003\u0002\u0002\u0002\u111a\u111c\u0003", + "\u0002\u0002\u0002\u111b\u110f\u0003\u0002\u0002\u0002\u111c\u111d\u0003", + "\u0002\u0002\u0002\u111d\u111b\u0003\u0002\u0002\u0002\u111d\u111e\u0003", + "\u0002\u0002\u0002\u111e\u111f\u0003\u0002\u0002\u0002\u111f\u1120\u0007", + "\u08b2\u0002\u0002\u1120\u019f\u0003\u0002\u0002\u0002\u1121\u1122\u0007", + "\u045d\u0002\u0002\u1122\u1135\u0005\u057a\u02be\u0002\u1123\u1124\u0007", + "\u084b\u0002\u0002\u1124\u1125\u0007\u0455\u0002\u0002\u1125\u1131\t", + "\'\u0002\u0002\u1126\u1132\u0007\u0161\u0002\u0002\u1127\u1128\u0007", + "\u08b1\u0002\u0002\u1128\u112d\u0007\u08ce\u0002\u0002\u1129\u112a\u0007", + "\u08b7\u0002\u0002\u112a\u112c\u0007\u08ce\u0002\u0002\u112b\u1129\u0003", + "\u0002\u0002\u0002\u112c\u112f\u0003\u0002\u0002\u0002\u112d\u112b\u0003", + "\u0002\u0002\u0002\u112d\u112e\u0003\u0002\u0002\u0002\u112e\u1130\u0003", + "\u0002\u0002\u0002\u112f\u112d\u0003\u0002\u0002\u0002\u1130\u1132\u0007", + "\u08b2\u0002\u0002\u1131\u1126\u0003\u0002\u0002\u0002\u1131\u1127\u0003", + "\u0002\u0002\u0002\u1132\u1136\u0003\u0002\u0002\u0002\u1133\u1134\u0007", + "\u07cf\u0002\u0002\u1134\u1136\u0005\u0594\u02cb\u0002\u1135\u1123\u0003", + "\u0002\u0002\u0002\u1135\u1133\u0003\u0002\u0002\u0002\u1136\u1148\u0003", + "\u0002\u0002\u0002\u1137\u1140\u0007\u08b1\u0002\u0002\u1138\u113a\u0007", + "\u08b7\u0002\u0002\u1139\u1138\u0003\u0002\u0002\u0002\u1139\u113a\u0003", + "\u0002\u0002\u0002\u113a\u113e\u0003\u0002\u0002\u0002\u113b\u113f\u0005", + "\u01a8\u00d5\u0002\u113c\u113d\u0007\u08ce\u0002\u0002\u113d\u113f\u0005", + "\u01a2\u00d2\u0002\u113e\u113b\u0003\u0002\u0002\u0002\u113e\u113c\u0003", + "\u0002\u0002\u0002\u113f\u1141\u0003\u0002\u0002\u0002\u1140\u1139\u0003", + "\u0002\u0002\u0002\u1141\u1142\u0003\u0002\u0002\u0002\u1142\u1140\u0003", + "\u0002\u0002\u0002\u1142\u1143\u0003\u0002\u0002\u0002\u1143\u1144\u0003", + "\u0002\u0002\u0002\u1144\u1145\u0007\u08b2\u0002\u0002\u1145\u1147\u0003", + "\u0002\u0002\u0002\u1146\u1137\u0003\u0002\u0002\u0002\u1147\u114a\u0003", + "\u0002\u0002\u0002\u1148\u1146\u0003\u0002\u0002\u0002\u1148\u1149\u0003", + "\u0002\u0002\u0002\u1149\u01a1\u0003\u0002\u0002\u0002\u114a\u1148\u0003", + "\u0002\u0002\u0002\u114b\u114c\u0007\u0103\u0002\u0002\u114c\u114e\u0005", + "\u0576\u02bc\u0002\u114d\u114b\u0003\u0002\u0002\u0002\u114d\u114e\u0003", + "\u0002\u0002\u0002\u114e\u1158\u0003\u0002\u0002\u0002\u114f\u1151\u0007", + "\u0433\u0002\u0002\u1150\u114f\u0003\u0002\u0002\u0002\u1150\u1151\u0003", + "\u0002\u0002\u0002\u1151\u1152\u0003\u0002\u0002\u0002\u1152\u1159\u0007", + "\u044b\u0002\u0002\u1153\u1159\u0007\u07d4\u0002\u0002\u1154\u1155\u0007", + "\u051a\u0002\u0002\u1155\u1159\u0007\u02d4\u0002\u0002\u1156\u1159\u0005", + "\u0380\u01c1\u0002\u1157\u1159\u0005\u0376\u01bc\u0002\u1158\u1150\u0003", + "\u0002\u0002\u0002\u1158\u1153\u0003\u0002\u0002\u0002\u1158\u1154\u0003", + "\u0002\u0002\u0002\u1158\u1156\u0003\u0002\u0002\u0002\u1158\u1157\u0003", + "\u0002\u0002\u0002\u1159\u115b\u0003\u0002\u0002\u0002\u115a\u115c\u0005", + "\u01aa\u00d6\u0002\u115b\u115a\u0003\u0002\u0002\u0002\u115b\u115c\u0003", + "\u0002\u0002\u0002\u115c\u01a3\u0003\u0002\u0002\u0002\u115d\u115e\u0007", + "\u05c3\u0002\u0002\u115e\u115f\u0007\u02b9\u0002\u0002\u115f\u116b\u0005", + "\u0594\u02cb\u0002\u1160\u1161\u0007\u084b\u0002\u0002\u1161\u116b\u0007", + "\u05a8\u0002\u0002\u1162\u1163\u0007\u0103\u0002\u0002\u1163\u1165\u0005", + "\u0576\u02bc\u0002\u1164\u1162\u0003\u0002\u0002\u0002\u1164\u1165\u0003", + "\u0002\u0002\u0002\u1165\u1166\u0003\u0002\u0002\u0002\u1166\u1168\u0005", + "\u0380\u01c1\u0002\u1167\u1169\u0005\u01aa\u00d6\u0002\u1168\u1167\u0003", + "\u0002\u0002\u0002\u1168\u1169\u0003\u0002\u0002\u0002\u1169\u116b\u0003", + "\u0002\u0002\u0002\u116a\u115d\u0003\u0002\u0002\u0002\u116a\u1160\u0003", + "\u0002\u0002\u0002\u116a\u1164\u0003\u0002\u0002\u0002\u116b\u01a5\u0003", + "\u0002\u0002\u0002\u116c\u116d\u0007\u05c3\u0002\u0002\u116d\u116e\u0007", + "\u0224\u0002\u0002\u116e\u116f\u0007\u08b1\u0002\u0002\u116f\u1170\u0005", + "\u05d6\u02ec\u0002\u1170\u1171\u0007\u08b2\u0002\u0002\u1171\u1172\u0007", + "\u02b9\u0002\u0002\u1172\u1173\u0005\u0594\u02cb\u0002\u1173\u1190\u0003", + "\u0002\u0002\u0002\u1174\u1175\u0007\u0562\u0002\u0002\u1175\u1176\u0007", + "\u08b1\u0002\u0002\u1176\u1177\u0005\u05d6\u02ec\u0002\u1177\u1178\u0007", + "\u08b2\u0002\u0002\u1178\u1179\u0007\u084b\u0002\u0002\u1179\u117a\u0007", + "\u05a8\u0002\u0002\u117a\u1190\u0003\u0002\u0002\u0002\u117b\u117c\u0007", + "\u0103\u0002\u0002\u117c\u117e\u0005\u0576\u02bc\u0002\u117d\u117b\u0003", + "\u0002\u0002\u0002\u117d\u117e\u0003\u0002\u0002\u0002\u117e\u117f\u0003", + "\u0002\u0002\u0002\u117f\u1180\u0007\u0222\u0002\u0002\u1180\u1181\u0007", + "\u02d4\u0002\u0002\u1181\u1186\u0007\u08b1\u0002\u0002\u1182\u1184\u0007", + "\u08b7\u0002\u0002\u1183\u1182\u0003\u0002\u0002\u0002\u1183\u1184\u0003", + "\u0002\u0002\u0002\u1184\u1185\u0003\u0002\u0002\u0002\u1185\u1187\u0005", + "\u05d6\u02ec\u0002\u1186\u1183\u0003\u0002\u0002\u0002\u1187\u1188\u0003", + "\u0002\u0002\u0002\u1188\u1186\u0003\u0002\u0002\u0002\u1188\u1189\u0003", + "\u0002\u0002\u0002\u1189\u118a\u0003\u0002\u0002\u0002\u118a\u118b\u0007", + "\u08b2\u0002\u0002\u118b\u118d\u0005\u0380\u01c1\u0002\u118c\u118e\u0005", + "\u01aa\u00d6\u0002\u118d\u118c\u0003\u0002\u0002\u0002\u118d\u118e\u0003", + "\u0002\u0002\u0002\u118e\u1190\u0003\u0002\u0002\u0002\u118f\u116c\u0003", + "\u0002\u0002\u0002\u118f\u1174\u0003\u0002\u0002\u0002\u118f\u117d\u0003", + "\u0002\u0002\u0002\u1190\u01a7\u0003\u0002\u0002\u0002\u1191\u1192\u0007", + "\u0103\u0002\u0002\u1192\u1194\u0005\u0576\u02bc\u0002\u1193\u1191\u0003", + "\u0002\u0002\u0002\u1193\u1194\u0003\u0002\u0002\u0002\u1194\u11b4\u0003", + "\u0002\u0002\u0002\u1195\u1196\u0007\u07d4\u0002\u0002\u1196\u1197\u0007", + "\u08b1\u0002\u0002\u1197\u119c\u0005\u0592\u02ca\u0002\u1198\u1199\u0007", + "\u08b7\u0002\u0002\u1199\u119b\u0005\u0592\u02ca\u0002\u119a\u1198\u0003", + "\u0002\u0002\u0002\u119b\u119e\u0003\u0002\u0002\u0002\u119c\u119a\u0003", + "\u0002\u0002\u0002\u119c\u119d\u0003\u0002\u0002\u0002\u119d\u119f\u0003", + "\u0002\u0002\u0002\u119e\u119c\u0003\u0002\u0002\u0002\u119f\u11a0\u0007", + "\u08b2\u0002\u0002\u11a0\u11b5\u0003\u0002\u0002\u0002\u11a1\u11a2\u0007", + "\u051a\u0002\u0002\u11a2\u11a3\u0007\u02d4\u0002\u0002\u11a3\u11a4\u0007", + "\u08b1\u0002\u0002\u11a4\u11a9\u0005\u0592\u02ca\u0002\u11a5\u11a6\u0007", + "\u08b7\u0002\u0002\u11a6\u11a8\u0005\u0592\u02ca\u0002\u11a7\u11a5\u0003", + "\u0002\u0002\u0002\u11a8\u11ab\u0003\u0002\u0002\u0002\u11a9\u11a7\u0003", + "\u0002\u0002\u0002\u11a9\u11aa\u0003\u0002\u0002\u0002\u11aa\u11ac\u0003", + "\u0002\u0002\u0002\u11ab\u11a9\u0003\u0002\u0002\u0002\u11ac\u11ad\u0007", + "\u08b2\u0002\u0002\u11ad\u11b5\u0003\u0002\u0002\u0002\u11ae\u11b5\u0005", + "\u037e\u01c0\u0002\u11af\u11b0\u0007\u00b6\u0002\u0002\u11b0\u11b1\u0007", + "\u08b1\u0002\u0002\u11b1\u11b2\u0005\u04d4\u026b\u0002\u11b2\u11b3\u0007", + "\u08b2\u0002\u0002\u11b3\u11b5\u0003\u0002\u0002\u0002\u11b4\u1195\u0003", + "\u0002\u0002\u0002\u11b4\u11a1\u0003\u0002\u0002\u0002\u11b4\u11ae\u0003", + "\u0002\u0002\u0002\u11b4\u11af\u0003\u0002\u0002\u0002\u11b5\u11b7\u0003", + "\u0002\u0002\u0002\u11b6\u11b8\u0005\u01aa\u00d6\u0002\u11b7\u11b6\u0003", + "\u0002\u0002\u0002\u11b7\u11b8\u0003\u0002\u0002\u0002\u11b8\u01a9\u0003", + "\u0002\u0002\u0002\u11b9\u11bb\u0007\u0433\u0002\u0002\u11ba\u11b9\u0003", + "\u0002\u0002\u0002\u11ba\u11bb\u0003\u0002\u0002\u0002\u11bb\u11bc\u0003", + "\u0002\u0002\u0002\u11bc\u11c4\u0007\u0163\u0002\u0002\u11bd\u11be\u0007", + "\u0292\u0002\u0002\u11be\u11c4\t(\u0002\u0002\u11bf\u11c4\t%\u0002\u0002", + "\u11c0\u11c4\t\u0007\u0002\u0002\u11c1\u11c4\t)\u0002\u0002\u11c2\u11c4", + "\u0005\u0300\u0181\u0002\u11c3\u11ba\u0003\u0002\u0002\u0002\u11c3\u11bd", + "\u0003\u0002\u0002\u0002\u11c3\u11bf\u0003\u0002\u0002\u0002\u11c3\u11c0", + "\u0003\u0002\u0002\u0002\u11c3\u11c1\u0003\u0002\u0002\u0002\u11c3\u11c2", + "\u0003\u0002\u0002\u0002\u11c4\u11c5\u0003\u0002\u0002\u0002\u11c5\u11c3", + "\u0003\u0002\u0002\u0002\u11c5\u11c6\u0003\u0002\u0002\u0002\u11c6\u01ab", + "\u0003\u0002\u0002\u0002\u11c7\u11c8\u0007)\u0002\u0002\u11c8\u11c9", + "\u0007\u0777\u0002\u0002\u11c9\u11ea\u0005\u0346\u01a4\u0002\u11ca\u11cc", + "\u0007\u0161\u0002\u0002\u11cb\u11cd\u0005\u0262\u0132\u0002\u11cc\u11cb", + "\u0003\u0002\u0002\u0002\u11cc\u11cd\u0003\u0002\u0002\u0002\u11cd\u11cf", + "\u0003\u0002\u0002\u0002\u11ce\u11d0\u0005\u0266\u0134\u0002\u11cf\u11ce", + "\u0003\u0002\u0002\u0002\u11cf\u11d0\u0003\u0002\u0002\u0002\u11d0\u11eb", + "\u0003\u0002\u0002\u0002\u11d1\u11d2\u0007\u034a\u0002\u0002\u11d2\u11d3", + "\u0007\u01ed\u0002\u0002\u11d3\u11eb\u0005\u0260\u0131\u0002\u11d4\u11d5", + "\u0007\u0586\u0002\u0002\u11d5\u11eb\u0005\u0260\u0131\u0002\u11d6\u11eb", + "\u0007\u00cf\u0002\u0002\u11d7\u11d8\u0007\u05f3\u0002\u0002\u11d8\u11db", + "\u0007\u060f\u0002\u0002\u11d9\u11da\u0007\u02d2\u0002\u0002\u11da\u11dc", + "\u0005\u0260\u0131\u0002\u11db\u11d9\u0003\u0002\u0002\u0002\u11db\u11dc", + "\u0003\u0002\u0002\u0002\u11dc\u11eb\u0003\u0002\u0002\u0002\u11dd\u11de", + "\u0007\u057e\u0002\u0002\u11de\u11df\u0007\u07ae\u0002\u0002\u11df\u11eb", + "\u0005\u01ba\u00de\u0002\u11e0\u11e1\u0005\u02a2\u0152\u0002\u11e1\u11e2", + "\u0007_\u0002\u0002\u11e2\u11eb\u0003\u0002\u0002\u0002\u11e3\u11eb", + "\u0005\u01ae\u00d8\u0002\u11e4\u11eb\u0005\u01b0\u00d9\u0002\u11e5\u11eb", + "\u0005\u01b2\u00da\u0002\u11e6\u11eb\u0005\u01b6\u00dc\u0002\u11e7\u11eb", + "\u0005\u01d6\u00ec\u0002\u11e8\u11eb\u0005\u01b8\u00dd\u0002\u11e9\u11eb", + "\u0005\u01cc\u00e7\u0002\u11ea\u11ca\u0003\u0002\u0002\u0002\u11ea\u11d1", + "\u0003\u0002\u0002\u0002\u11ea\u11d4\u0003\u0002\u0002\u0002\u11ea\u11d6", + "\u0003\u0002\u0002\u0002\u11ea\u11d7\u0003\u0002\u0002\u0002\u11ea\u11dd", + "\u0003\u0002\u0002\u0002\u11ea\u11e0\u0003\u0002\u0002\u0002\u11ea\u11e3", + "\u0003\u0002\u0002\u0002\u11ea\u11e4\u0003\u0002\u0002\u0002\u11ea\u11e5", + "\u0003\u0002\u0002\u0002\u11ea\u11e6\u0003\u0002\u0002\u0002\u11ea\u11e7", + "\u0003\u0002\u0002\u0002\u11ea\u11e8\u0003\u0002\u0002\u0002\u11ea\u11e9", + "\u0003\u0002\u0002\u0002\u11eb\u11ec\u0003\u0002\u0002\u0002\u11ec\u11ed", + "\u0007\u08c3\u0002\u0002\u11ed\u01ad\u0003\u0002\u0002\u0002\u11ee\u11f1", + "\u0007\u0014\u0002\u0002\u11ef\u11f2\u0005\u01ce\u00e8\u0002\u11f0\u11f2", + "\u0005\u01d0\u00e9\u0002\u11f1\u11ef\u0003\u0002\u0002\u0002\u11f1\u11f0", + "\u0003\u0002\u0002\u0002\u11f2\u121d\u0003\u0002\u0002\u0002\u11f3\u11f4", + "\u0007\u019d\u0002\u0002\u11f4\u11f7\t*\u0002\u0002\u11f5\u11f8\u0005", + "\u02ee\u0178\u0002\u11f6\u11f8\u0007\u08ab\u0002\u0002\u11f7\u11f5\u0003", + "\u0002\u0002\u0002\u11f7\u11f6\u0003\u0002\u0002\u0002\u11f8\u11fb\u0003", + "\u0002\u0002\u0002\u11f9\u11fa\u0007\u02d2\u0002\u0002\u11fa\u11fc\u0005", + "\u0260\u0131\u0002\u11fb\u11f9\u0003\u0002\u0002\u0002\u11fb\u11fc\u0003", + "\u0002\u0002\u0002\u11fc\u121d\u0003\u0002\u0002\u0002\u11fd\u11fe\u0007", + "\u05f3\u0002\u0002\u11fe\u1201\u0007\u0780\u0002\u0002\u11ff\u1202\u0005", + "\u02ee\u0178\u0002\u1200\u1202\u0007\u08ab\u0002\u0002\u1201\u11ff\u0003", + "\u0002\u0002\u0002\u1201\u1200\u0003\u0002\u0002\u0002\u1202\u1205\u0003", + "\u0002\u0002\u0002\u1203\u1204\u0007\u02d2\u0002\u0002\u1204\u1206\u0005", + "\u0260\u0131\u0002\u1205\u1203\u0003\u0002\u0002\u0002\u1205\u1206\u0003", + "\u0002\u0002\u0002\u1206\u121d\u0003\u0002\u0002\u0002\u1207\u1208\u0007", + "\u057e\u0002\u0002\u1208\u1209\u0007\u0140\u0002\u0002\u1209\u120e\u0005", + "\u02ee\u0178\u0002\u120a\u120b\u0007\u08b7\u0002\u0002\u120b\u120d\u0005", + "\u02ee\u0178\u0002\u120c\u120a\u0003\u0002\u0002\u0002\u120d\u1210\u0003", + "\u0002\u0002\u0002\u120e\u120c\u0003\u0002\u0002\u0002\u120e\u120f\u0003", + "\u0002\u0002\u0002\u120f\u1211\u0003\u0002\u0002\u0002\u1210\u120e\u0003", + "\u0002\u0002\u0002\u1211\u1212\u0007\u07ae\u0002\u0002\u1212\u1217\u0005", + "\u02ee\u0178\u0002\u1213\u1214\u0007\u08b7\u0002\u0002\u1214\u1216\u0005", + "\u02ee\u0178\u0002\u1215\u1213\u0003\u0002\u0002\u0002\u1216\u1219\u0003", + "\u0002\u0002\u0002\u1217\u1215\u0003\u0002\u0002\u0002\u1217\u1218\u0003", + "\u0002\u0002\u0002\u1218\u121d\u0003\u0002\u0002\u0002\u1219\u1217\u0003", + "\u0002\u0002\u0002\u121a\u121b\t*\u0002\u0002\u121b\u121d\u0005\u013c", + "\u009f\u0002\u121c\u11ee\u0003\u0002\u0002\u0002\u121c\u11f3\u0003\u0002", + "\u0002\u0002\u121c\u11fd\u0003\u0002\u0002\u0002\u121c\u1207\u0003\u0002", + "\u0002\u0002\u121c\u121a\u0003\u0002\u0002\u0002\u121d\u01af\u0003\u0002", + "\u0002\u0002\u121e\u1225\u0005\u01c2\u00e2\u0002\u121f\u1221\u0007\u03f4", + "\u0002\u0002\u1220\u121f\u0003\u0002\u0002\u0002\u1220\u1221\u0003\u0002", + "\u0002\u0002\u1221\u1222\u0003\u0002\u0002\u0002\u1222\u1223\u0007\u0220", + "\u0002\u0002\u1223\u1225\u0007\u030d\u0002\u0002\u1224\u121e\u0003\u0002", + "\u0002\u0002\u1224\u1220\u0003\u0002\u0002\u0002\u1225\u01b1\u0003\u0002", + "\u0002\u0002\u1226\u1227\u0007\u0777\u0002\u0002\u1227\u122a\u0007\u023f", + "\u0002\u0002\u1228\u122b\u0005\u01b4\u00db\u0002\u1229\u122b\u0007\u08ad", + "\u0002\u0002\u122a\u1228\u0003\u0002\u0002\u0002\u122a\u1229\u0003\u0002", + "\u0002\u0002\u122b\u01b3\u0003\u0002\u0002\u0002\u122c\u122d\u0005\u05d6", + "\u02ec\u0002\u122d\u01b5\u0003\u0002\u0002\u0002\u122e\u1238\u0007\u0467", + "\u0002\u0002\u122f\u1231\u0007\u045a\u0002\u0002\u1230\u1232\t+\u0002", + "\u0002\u1231\u1230\u0003\u0002\u0002\u0002\u1231\u1232\u0003\u0002\u0002", + "\u0002\u1232\u1238\u0003\u0002\u0002\u0002\u1233\u1234\u0007\u054b\u0002", + "\u0002\u1234\u1238\t&\u0002\u0002\u1235\u1238\u0007\u04dd\u0002\u0002", + "\u1236\u1238\u0007\u0782\u0002\u0002\u1237\u122e\u0003\u0002\u0002\u0002", + "\u1237\u122f\u0003\u0002\u0002\u0002\u1237\u1233\u0003\u0002\u0002\u0002", + "\u1237\u1235\u0003\u0002\u0002\u0002\u1237\u1236\u0003\u0002\u0002\u0002", + "\u1238\u01b7\u0003\u0002\u0002\u0002\u1239\u123a\u0007\u0216\u0002\u0002", + "\u123a\u123b\t,\u0002\u0002\u123b\u01b9\u0003\u0002\u0002\u0002\u123c", + "\u123d\u0005\u0346\u01a4\u0002\u123d\u01bb\u0003\u0002\u0002\u0002\u123e", + "\u1240\u0007\u0122\u0002\u0002\u123f\u1241\t-\u0002\u0002\u1240\u123f", + "\u0003\u0002\u0002\u0002\u1240\u1241\u0003\u0002\u0002\u0002\u1241\u1245", + "\u0003\u0002\u0002\u0002\u1242\u1246\u0005\u01be\u00e0\u0002\u1243\u1246", + "\u0005\u01c8\u00e5\u0002\u1244\u1246\u0005\u01ca\u00e6\u0002\u1245\u1242", + "\u0003\u0002\u0002\u0002\u1245\u1243\u0003\u0002\u0002\u0002\u1245\u1244", + "\u0003\u0002\u0002\u0002\u1246\u1247\u0003\u0002\u0002\u0002\u1247\u1248", + "\u0007\u08c3\u0002\u0002\u1248\u01bd\u0003\u0002\u0002\u0002\u1249\u124a", + "\u0007\u0777\u0002\u0002\u124a\u124c\u0005\u05d2\u02ea\u0002\u124b\u124d", + "\u0005\u01ce\u00e8\u0002\u124c\u124b\u0003\u0002\u0002\u0002\u124c\u124d", + "\u0003\u0002\u0002\u0002\u124d\u125f\u0003\u0002\u0002\u0002\u124e\u124f", + "\u0007\u034a\u0002\u0002\u124f\u1250\u0007\u01ed\u0002\u0002\u1250\u125e", + "\u0005\u0260\u0131\u0002\u1251\u1252\u0007\u0086\u0002\u0002\u1252\u125e", + "\u0005\u0260\u0131\u0002\u1253\u125e\u0005\u01c2\u00e2\u0002\u1254\u1255", + "\u0007\u0220\u0002\u0002\u1255\u125e\u0007\u030d\u0002\u0002\u1256\u125e", + "\t\u001d\u0002\u0002\u1257\u1258\u0007\u01be\u0002\u0002\u1258\u125e", + "\u0005\u01c0\u00e1\u0002\u1259\u125e\u0007\u0161\u0002\u0002\u125a\u125e", + "\u0005\u01c4\u00e3\u0002\u125b\u125e\u0005\u01c6\u00e4\u0002\u125c\u125e", + "\u0005\u01b8\u00dd\u0002\u125d\u124e\u0003\u0002\u0002\u0002\u125d\u1251", + "\u0003\u0002\u0002\u0002\u125d\u1253\u0003\u0002\u0002\u0002\u125d\u1254", + "\u0003\u0002\u0002\u0002\u125d\u1256\u0003\u0002\u0002\u0002\u125d\u1257", + "\u0003\u0002\u0002\u0002\u125d\u1259\u0003\u0002\u0002\u0002\u125d\u125a", + "\u0003\u0002\u0002\u0002\u125d\u125b\u0003\u0002\u0002\u0002\u125d\u125c", + "\u0003\u0002\u0002\u0002\u125e\u1261\u0003\u0002\u0002\u0002\u125f\u125d", + "\u0003\u0002\u0002\u0002\u125f\u1260\u0003\u0002\u0002\u0002\u1260\u01bf", + "\u0003\u0002\u0002\u0002\u1261\u125f\u0003\u0002\u0002\u0002\u1262\u1263", + "\u0007\u0811\u0002\u0002\u1263\u1264\u0007\u08ad\u0002\u0002\u1264\u01c1", + "\u0003\u0002\u0002\u0002\u1265\u1266\t.\u0002\u0002\u1266\u01c3\u0003", + "\u0002\u0002\u0002\u1267\u1268\u0007\u01ed\u0002\u0002\u1268\u1269\u0007", + "\u0320\u0002\u0002\u1269\u1270\u0007\u0303\u0002\u0002\u126a\u1271\u0007", + "T\u0002\u0002\u126b\u126e\u0007\u07d2\u0002\u0002\u126c\u126d\u0007", + "\u0601\u0002\u0002\u126d\u126f\u0005\u0260\u0131\u0002\u126e\u126c\u0003", + "\u0002\u0002\u0002\u126e\u126f\u0003\u0002\u0002\u0002\u126f\u1271\u0003", + "\u0002\u0002\u0002\u1270\u126a\u0003\u0002\u0002\u0002\u1270\u126b\u0003", + "\u0002\u0002\u0002\u1270\u1271\u0003\u0002\u0002\u0002\u1271\u01c5\u0003", + "\u0002\u0002\u0002\u1272\u1273\u0007\u05d2\u0002\u0002\u1273\u1274\u0007", + "\u060f\u0002\u0002\u1274\u1275\u0007\u0320\u0002\u0002\u1275\u1276\t", + "/\u0002\u0002\u1276\u01c7\u0003\u0002\u0002\u0002\u1277\u1278\u0007", + "\u0782\u0002\u0002\u1278\u1279\u0007\u0777\u0002\u0002\u1279\u127b\u0005", + "\u05d2\u02ea\u0002\u127a\u127c\u0005\u01d0\u00e9\u0002\u127b\u127a\u0003", + "\u0002\u0002\u0002\u127b\u127c\u0003\u0002\u0002\u0002\u127c\u127e\u0003", + "\u0002\u0002\u0002\u127d\u127f\u0005\u01b2\u00da\u0002\u127e\u127d\u0003", + "\u0002\u0002\u0002\u127e\u127f\u0003\u0002\u0002\u0002\u127f\u1281\u0003", + "\u0002\u0002\u0002\u1280\u1282\u0005\u01c4\u00e3\u0002\u1281\u1280\u0003", + "\u0002\u0002\u0002\u1281\u1282\u0003\u0002\u0002\u0002\u1282\u01c9\u0003", + "\u0002\u0002\u0002\u1283\u1284\u0007\u07d0\u0002\u0002\u1284\u1285\u0007", + "\u0777\u0002\u0002\u1285\u1287\u0005\u05d2\u02ea\u0002\u1286\u1288\u0005", + "\u01ce\u00e8\u0002\u1287\u1286\u0003\u0002\u0002\u0002\u1287\u1288\u0003", + "\u0002\u0002\u0002\u1288\u128a\u0003\u0002\u0002\u0002\u1289\u128b\u0005", + "\u01c4\u00e3\u0002\u128a\u1289\u0003\u0002\u0002\u0002\u128a\u128b\u0003", + "\u0002\u0002\u0002\u128b\u128d\u0003\u0002\u0002\u0002\u128c\u128e\u0005", + "\u01cc\u00e7\u0002\u128d\u128c\u0003\u0002\u0002\u0002\u128d\u128e\u0003", + "\u0002\u0002\u0002\u128e\u01cb\u0003\u0002\u0002\u0002\u128f\u1290\u0007", + "\u0596\u0002\u0002\u1290\u1291\t0\u0002\u0002\u1291\u01cd\u0003\u0002", + "\u0002\u0002\u1292\u1294\u0007\u0140\u0002\u0002\u1293\u1295\u0007\u08b7", + "\u0002\u0002\u1294\u1293\u0003\u0002\u0002\u0002\u1294\u1295\u0003\u0002", + "\u0002\u0002\u1295\u1296\u0003\u0002\u0002\u0002\u1296\u1297\u0005\u01d2", + "\u00ea\u0002\u1297\u01cf\u0003\u0002\u0002\u0002\u1298\u129a\u0007\u0780", + "\u0002\u0002\u1299\u129b\u0007\u08b7\u0002\u0002\u129a\u1299\u0003\u0002", + "\u0002\u0002\u129a\u129b\u0003\u0002\u0002\u0002\u129b\u129c\u0003\u0002", + "\u0002\u0002\u129c\u129d\u0005\u01d2\u00ea\u0002\u129d\u01d1\u0003\u0002", + "\u0002\u0002\u129e\u12a0\u0007\u08ad\u0002\u0002\u129f\u129e\u0003\u0002", + "\u0002\u0002\u129f\u12a0\u0003\u0002\u0002\u0002\u12a0\u12a3\u0003\u0002", + "\u0002\u0002\u12a1\u12a2\u0007\u0601\u0002\u0002\u12a2\u12a4\u0005\u0260", + "\u0131\u0002\u12a3\u12a1\u0003\u0002\u0002\u0002\u12a3\u12a4\u0003\u0002", + "\u0002\u0002\u12a4\u12a6\u0003\u0002\u0002\u0002\u12a5\u12a7\u0007\u059a", + "\u0002\u0002\u12a6\u12a5\u0003\u0002\u0002\u0002\u12a6\u12a7\u0003\u0002", + "\u0002\u0002\u12a7\u12a9\u0003\u0002\u0002\u0002\u12a8\u12aa\u0005\u01d6", + "\u00ec\u0002\u12a9\u12a8\u0003\u0002\u0002\u0002\u12a9\u12aa\u0003\u0002", + "\u0002\u0002\u12aa\u01d3\u0003\u0002\u0002\u0002\u12ab\u12ac\u0007\u0140", + "\u0002\u0002\u12ac\u12b8\u0007\u08ad\u0002\u0002\u12ad\u12b2\u0007\u08b1", + "\u0002\u0002\u12ae\u12b0\u0007\u08b7\u0002\u0002\u12af\u12ae\u0003\u0002", + "\u0002\u0002\u12af\u12b0\u0003\u0002\u0002\u0002\u12b0\u12b1\u0003\u0002", + "\u0002\u0002\u12b1\u12b3\u0007\u08ad\u0002\u0002\u12b2\u12af\u0003\u0002", + "\u0002\u0002\u12b3\u12b4\u0003\u0002\u0002\u0002\u12b4\u12b2\u0003\u0002", + "\u0002\u0002\u12b4\u12b5\u0003\u0002\u0002\u0002\u12b5\u12b6\u0003\u0002", + "\u0002\u0002\u12b6\u12b8\u0007\u08b2\u0002\u0002\u12b7\u12ab\u0003\u0002", + "\u0002\u0002\u12b7\u12ad\u0003\u0002\u0002\u0002\u12b7\u12b8\u0003\u0002", + "\u0002\u0002\u12b8\u12bb\u0003\u0002\u0002\u0002\u12b9\u12ba\u0007\u0601", + "\u0002\u0002\u12ba\u12bc\u0005\u0260\u0131\u0002\u12bb\u12b9\u0003\u0002", + "\u0002\u0002\u12bb\u12bc\u0003\u0002\u0002\u0002\u12bc\u12bf\u0003\u0002", + "\u0002\u0002\u12bd\u12be\u0007\u0086\u0002\u0002\u12be\u12c0\u0005\u0260", + "\u0131\u0002\u12bf\u12bd\u0003\u0002\u0002\u0002\u12bf\u12c0\u0003\u0002", + "\u0002\u0002\u12c0\u12c2\u0003\u0002\u0002\u0002\u12c1\u12c3\u0007\u059a", + "\u0002\u0002\u12c2\u12c1\u0003\u0002\u0002\u0002\u12c2\u12c3\u0003\u0002", + "\u0002\u0002\u12c3\u01d5\u0003\u0002\u0002\u0002\u12c4\u12ce\u0007W", + "\u0002\u0002\u12c5\u12cf\u0007\u045b\u0002\u0002\u12c6\u12c9\u0007\u046a", + "\u0002\u0002\u12c7\u12c8\u0007\u038c\u0002\u0002\u12c8\u12ca\u0005\u0260", + "\u0131\u0002\u12c9\u12c7\u0003\u0002\u0002\u0002\u12c9\u12ca\u0003\u0002", + "\u0002\u0002\u12ca\u12cc\u0003\u0002\u0002\u0002\u12cb\u12cd\u0005\u01d8", + "\u00ed\u0002\u12cc\u12cb\u0003\u0002\u0002\u0002\u12cc\u12cd\u0003\u0002", + "\u0002\u0002\u12cd\u12cf\u0003\u0002\u0002\u0002\u12ce\u12c5\u0003\u0002", + "\u0002\u0002\u12ce\u12c6\u0003\u0002\u0002\u0002\u12cf\u01d7\u0003\u0002", + "\u0002\u0002\u12d0\u12d3\u0007\u0336\u0002\u0002\u12d1\u12d4\u0007\u07d6", + "\u0002\u0002\u12d2\u12d4\u0005\u0260\u0131\u0002\u12d3\u12d1\u0003\u0002", + "\u0002\u0002\u12d3\u12d2\u0003\u0002\u0002\u0002\u12d4\u01d9\u0003\u0002", + "\u0002\u0002\u12d5\u12d6\u0007\u0092\u0002\u0002\u12d6\u12d7\t(\u0002", + "\u0002\u12d7\u01db\u0003\u0002\u0002\u0002\u12d8\u12de\u0007\u03ff\u0002", + "\u0002\u12d9\u12db\u0007\u04ad\u0002\u0002\u12da\u12dc\u0007\u08ab\u0002", + "\u0002\u12db\u12da\u0003\u0002\u0002\u0002\u12db\u12dc\u0003\u0002\u0002", + "\u0002\u12dc\u12de\u0003\u0002\u0002\u0002\u12dd\u12d8\u0003\u0002\u0002", + "\u0002\u12dd\u12d9\u0003\u0002\u0002\u0002\u12de\u01dd\u0003\u0002\u0002", + "\u0002\u12df\u12e0\u0007)\u0002\u0002\u12e0\u12e1\u0007\u032b\u0002", + "\u0002\u12e1\u12e2\u0007\u0835\u0002\u0002\u12e2\u12fc\u0005\u0594\u02cb", + "\u0002\u12e3\u12fd\u0005\u0264\u0133\u0002\u12e4\u12fd\u0005\u01e6\u00f4", + "\u0002\u12e5\u12fd\u0005\u0262\u0132\u0002\u12e6\u12eb\u0005\u0336\u019c", + "\u0002\u12e7\u12e8\u0007\u08b7\u0002\u0002\u12e8\u12ea\u0005\u0336\u019c", + "\u0002\u12e9\u12e7\u0003\u0002\u0002\u0002\u12ea\u12ed\u0003\u0002\u0002", + "\u0002\u12eb\u12e9\u0003\u0002\u0002\u0002\u12eb\u12ec\u0003\u0002\u0002", + "\u0002\u12ec\u12fd\u0003\u0002\u0002\u0002\u12ed\u12eb\u0003\u0002\u0002", + "\u0002\u12ee\u12f3\u0005\u0338\u019d\u0002\u12ef\u12f0\u0007\u08b7\u0002", + "\u0002\u12f0\u12f2\u0005\u0338\u019d\u0002\u12f1\u12ef\u0003\u0002\u0002", + "\u0002\u12f2\u12f5\u0003\u0002\u0002\u0002\u12f3\u12f1\u0003\u0002\u0002", + "\u0002\u12f3\u12f4\u0003\u0002\u0002\u0002\u12f4\u12fd\u0003\u0002\u0002", + "\u0002\u12f5\u12f3\u0003\u0002\u0002\u0002\u12f6\u12fd\u0005\u01dc\u00ef", + "\u0002\u12f7\u12fd\u0005\u01c2\u00e2\u0002\u12f8\u12fd\u0005\u027a\u013e", + "\u0002\u12f9\u12fd\u0005\u027c\u013f\u0002\u12fa\u12fd\u0005\u027e\u0140", + "\u0002\u12fb\u12fd\u0005\u0294\u014b\u0002\u12fc\u12e3\u0003\u0002\u0002", + "\u0002\u12fc\u12e4\u0003\u0002\u0002\u0002\u12fc\u12e5\u0003\u0002\u0002", + "\u0002\u12fc\u12e6\u0003\u0002\u0002\u0002\u12fc\u12ee\u0003\u0002\u0002", + "\u0002\u12fc\u12f6\u0003\u0002\u0002\u0002\u12fc\u12f7\u0003\u0002\u0002", + "\u0002\u12fc\u12f8\u0003\u0002\u0002\u0002\u12fc\u12f9\u0003\u0002\u0002", + "\u0002\u12fc\u12fa\u0003\u0002\u0002\u0002\u12fc\u12fb\u0003\u0002\u0002", + "\u0002\u12fc\u12fd\u0003\u0002\u0002\u0002\u12fd\u12ff\u0003\u0002\u0002", + "\u0002\u12fe\u1300\u0005\u02f6\u017c\u0002\u12ff\u12fe\u0003\u0002\u0002", + "\u0002\u12ff\u1300\u0003\u0002\u0002\u0002\u1300\u1304\u0003\u0002\u0002", + "\u0002\u1301\u1302\u0007\u0811\u0002\u0002\u1302\u1303\u0007\u0279\u0002", + "\u0002\u1303\u1305\u0005\u0264\u0133\u0002\u1304\u1301\u0003\u0002\u0002", + "\u0002\u1304\u1305\u0003\u0002\u0002\u0002\u1305\u1307\u0003\u0002\u0002", + "\u0002\u1306\u1308\u0005\u01e0\u00f1\u0002\u1307\u1306\u0003\u0002\u0002", + "\u0002\u1307\u1308\u0003\u0002\u0002\u0002\u1308\u1310\u0003\u0002\u0002", + "\u0002\u1309\u130a\u0005\u028a\u0146\u0002\u130a\u130b\u0007\u0538\u0002", + "\u0002\u130b\u130c\u0007\u059e\u0002\u0002\u130c\u1311\u0003\u0002\u0002", + "\u0002\u130d\u1311\u0007\u00e1\u0002\u0002\u130e\u130f\u0007\u00ff\u0002", + "\u0002\u130f\u1311\u0007\u022b\u0002\u0002\u1310\u1309\u0003\u0002\u0002", + "\u0002\u1310\u130d\u0003\u0002\u0002\u0002\u1310\u130e\u0003\u0002\u0002", + "\u0002\u1310\u1311\u0003\u0002\u0002\u0002\u1311\u1312\u0003\u0002\u0002", + "\u0002\u1312\u1313\u0007\u08c3\u0002\u0002\u1313\u01df\u0003\u0002\u0002", + "\u0002\u1314\u1315\u0005\u01e2\u00f2\u0002\u1315\u01e1\u0003\u0002\u0002", + "\u0002\u1316\u1331\u0007\u0563\u0002\u0002\u1317\u1332\u0007\u0201\u0002", + "\u0002\u1318\u1332\u0007\u00e2\u0002\u0002\u1319\u1332\u0007\u0220\u0002", + "\u0002\u131a\u131b\u0007\u046a\u0002\u0002\u131b\u1332\t1\u0002\u0002", + "\u131c\u131d\u0007\u0623\u0002\u0002\u131d\u131e\u0007\u084b\u0002\u0002", + "\u131e\u1332\u0005\u04d4\u026b\u0002\u131f\u1320\u0007\u038c\u0002\u0002", + "\u1320\u1332\u0005\u04d4\u026b\u0002\u1321\u1322\u0007\u084b\u0002\u0002", + "\u1322\u1323\u0007\u051a\u0002\u0002\u1323\u1332\u0007\u02d4\u0002\u0002", + "\u1324\u1326\u0007\u0811\u0002\u0002\u1325\u1327\u0007\u0161\u0002\u0002", + "\u1326\u1325\u0003\u0002\u0002\u0002\u1326\u1327\u0003\u0002\u0002\u0002", + "\u1327\u1328\u0003\u0002\u0002\u0002\u1328\u1329\u0007\u0325\u0002\u0002", + "\u1329\u132a\u0007\u05a3\u0002\u0002\u132a\u132c\u0007\u05d2\u0002\u0002", + "\u132b\u132d\u0005\u01e4\u00f3\u0002\u132c\u132b\u0003\u0002\u0002\u0002", + "\u132c\u132d\u0003\u0002\u0002\u0002\u132d\u1332\u0003\u0002\u0002\u0002", + "\u132e\u132f\u0007\u0811\u0002\u0002\u132f\u1330\t2\u0002\u0002\u1330", + "\u1332\u0007\u0104\u0002\u0002\u1331\u1317\u0003\u0002\u0002\u0002\u1331", + "\u1318\u0003\u0002\u0002\u0002\u1331\u1319\u0003\u0002\u0002\u0002\u1331", + "\u131a\u0003\u0002\u0002\u0002\u1331\u131c\u0003\u0002\u0002\u0002\u1331", + "\u131f\u0003\u0002\u0002\u0002\u1331\u1321\u0003\u0002\u0002\u0002\u1331", + "\u1324\u0003\u0002\u0002\u0002\u1331\u132e\u0003\u0002\u0002\u0002\u1332", + "\u1333\u0003\u0002\u0002\u0002\u1333\u1331\u0003\u0002\u0002\u0002\u1333", + "\u1334\u0003\u0002\u0002\u0002\u1334\u01e3\u0003\u0002\u0002\u0002\u1335", + "\u1336\u0005\u05d6\u02ec\u0002\u1336\u01e5\u0003\u0002\u0002\u0002\u1337", + "\u1338\u0007\u0361\u0002\u0002\u1338\u1339\u0007\u08b1\u0002\u0002\u1339", + "\u133d\u0005\u0592\u02ca\u0002\u133a\u133b\u0007\u01bd\u0002\u0002\u133b", + "\u133e\u0005\u0344\u01a3\u0002\u133c\u133e\u0007\u015f\u0002\u0002\u133d", + "\u133a\u0003\u0002\u0002\u0002\u133d\u133c\u0003\u0002\u0002\u0002\u133d", + "\u133e\u0003\u0002\u0002\u0002\u133e\u133f\u0003\u0002\u0002\u0002\u133f", + "\u1340\u0007\u08b2\u0002\u0002\u1340\u01e7\u0003\u0002\u0002\u0002\u1341", + "\u1342\u0007)\u0002\u0002\u1342\u1343\u0007\u032b\u0002\u0002\u1343", + "\u1344\u0007\u0835\u0002\u0002\u1344\u1346\u0007\u0311\u0002\u0002\u1345", + "\u1347\u0007\u0220\u0002\u0002\u1346\u1345\u0003\u0002\u0002\u0002\u1346", + "\u1347\u0003\u0002\u0002\u0002\u1347\u1348\u0003\u0002\u0002\u0002\u1348", + "\u1349\u0007\u046a\u0002\u0002\u1349\u1352\u0005\u0594\u02cb\u0002\u134a", + "\u1353\u0005\u0264\u0133\u0002\u134b\u1353\u0005\u01ea\u00f6\u0002\u134c", + "\u1353\u0005\u01dc\u00ef\u0002\u134d\u1353\u0005\u01c2\u00e2\u0002\u134e", + "\u1353\u0005\u027a\u013e\u0002\u134f\u1353\u0005\u027e\u0140\u0002\u1350", + "\u1353\u0005\u01ec\u00f7\u0002\u1351\u1353\u0005\u0294\u014b\u0002\u1352", + "\u134a\u0003\u0002\u0002\u0002\u1352\u134b\u0003\u0002\u0002\u0002\u1352", + "\u134c\u0003\u0002\u0002\u0002\u1352\u134d\u0003\u0002\u0002\u0002\u1352", + "\u134e\u0003\u0002\u0002\u0002\u1352\u134f\u0003\u0002\u0002\u0002\u1352", + "\u1350\u0003\u0002\u0002\u0002\u1352\u1351\u0003\u0002\u0002\u0002\u1352", + "\u1353\u0003\u0002\u0002\u0002\u1353\u1355\u0003\u0002\u0002\u0002\u1354", + "\u1356\u0005\u01ee\u00f8\u0002\u1355\u1354\u0003\u0002\u0002\u0002\u1355", + "\u1356\u0003\u0002\u0002\u0002\u1356\u1358\u0003\u0002\u0002\u0002\u1357", + "\u1359\u0005\u01fc\u00ff\u0002\u1358\u1357\u0003\u0002\u0002\u0002\u1358", + "\u1359\u0003\u0002\u0002\u0002\u1359\u135a\u0003\u0002\u0002\u0002\u135a", + "\u135b\u0007\u08c3\u0002\u0002\u135b\u01e9\u0003\u0002\u0002\u0002\u135c", + "\u135d\u0007\u0014\u0002\u0002\u135d\u135e\u0007\u08b1\u0002\u0002\u135e", + "\u135f\u0005\u0592\u02ca\u0002\u135f\u1360\u0007\u08b2\u0002\u0002\u1360", + "\u01eb\u0003\u0002\u0002\u0002\u1361\u1362\u0007\u036c\u0002\u0002\u1362", + "\u1364\u0005\u026a\u0136\u0002\u1363\u1365\u0005\u01dc\u00ef\u0002\u1364", + "\u1363\u0003\u0002\u0002\u0002\u1364\u1365\u0003\u0002\u0002\u0002\u1365", + "\u01ed\u0003\u0002\u0002\u0002\u1366\u1387\u0007\u0014\u0002\u0002\u1367", + "\u1368\u0007\u0455\u0002\u0002\u1368\u136e\u0007\u025f\u0002\u0002\u1369", + "\u136a\u0007\u051a\u0002\u0002\u136a\u136e\u0007\u02d4\u0002\u0002\u136b", + "\u136e\u0007\u05a8\u0002\u0002\u136c\u136e\u0007\u05da\u0002\u0002\u136d", + "\u1367\u0003\u0002\u0002\u0002\u136d\u1369\u0003\u0002\u0002\u0002\u136d", + "\u136b\u0003\u0002\u0002\u0002\u136d\u136c\u0003\u0002\u0002\u0002\u136e", + "\u137a\u0003\u0002\u0002\u0002\u136f\u1370\u0007\u08b1\u0002\u0002\u1370", + "\u1375\u0005\u0592\u02ca\u0002\u1371\u1372\u0007\u08b7\u0002\u0002\u1372", + "\u1374\u0005\u0592\u02ca\u0002\u1373\u1371\u0003\u0002\u0002\u0002\u1374", + "\u1377\u0003\u0002\u0002\u0002\u1375\u1373\u0003\u0002\u0002\u0002\u1375", + "\u1376\u0003\u0002\u0002\u0002\u1376\u1378\u0003\u0002\u0002\u0002\u1377", + "\u1375\u0003\u0002\u0002\u0002\u1378\u1379\u0007\u08b2\u0002\u0002\u1379", + "\u137b\u0003\u0002\u0002\u0002\u137a\u136f\u0003\u0002\u0002\u0002\u137a", + "\u137b\u0003\u0002\u0002\u0002\u137b\u1388\u0003\u0002\u0002\u0002\u137c", + "\u137d\u0007\u08b1\u0002\u0002\u137d\u1382\u0005\u0592\u02ca\u0002\u137e", + "\u137f\u0007\u08b7\u0002\u0002\u137f\u1381\u0005\u0592\u02ca\u0002\u1380", + "\u137e\u0003\u0002\u0002\u0002\u1381\u1384\u0003\u0002\u0002\u0002\u1382", + "\u1380\u0003\u0002\u0002\u0002\u1382\u1383\u0003\u0002\u0002\u0002\u1383", + "\u1385\u0003\u0002\u0002\u0002\u1384\u1382\u0003\u0002\u0002\u0002\u1385", + "\u1386\u0007\u08b2\u0002\u0002\u1386\u1388\u0003\u0002\u0002\u0002\u1387", + "\u136d\u0003\u0002\u0002\u0002\u1387\u137c\u0003\u0002\u0002\u0002\u1388", + "\u138a\u0003\u0002\u0002\u0002\u1389\u138b\u0005\u01fa\u00fe\u0002\u138a", + "\u1389\u0003\u0002\u0002\u0002\u138a\u138b\u0003\u0002\u0002\u0002\u138b", + "\u01ef\u0003\u0002\u0002\u0002\u138c\u138d\u0005\u04d4\u026b\u0002\u138d", + "\u01f1\u0003\u0002\u0002\u0002\u138e\u138f\u0005\u04d4\u026b\u0002\u138f", + "\u01f3\u0003\u0002\u0002\u0002\u1390\u1391\t3\u0002\u0002\u1391\u01f5", + "\u0003\u0002\u0002\u0002\u1392\u1393\t4\u0002\u0002\u1393\u01f7\u0003", + "\u0002\u0002\u0002\u1394\u1395\u0007\u0122\u0002\u0002\u1395\u1396\u0007", + "\u032b\u0002\u0002\u1396\u1397\u0007\u0835\u0002\u0002\u1397\u1398\u0007", + "\u0311\u0002\u0002\u1398\u1399\u0007\u046a\u0002\u0002\u1399\u13a3\u0005", + "\u0594\u02cb\u0002\u139a\u13a0\u0005\u0264\u0133\u0002\u139b\u139c\u0007", + "\u0777\u0002\u0002\u139c\u13a0\u0005\u05d2\u02ea\u0002\u139d\u13a0\u0005", + "\u01c2\u00e2\u0002\u139e\u13a0\t5\u0002\u0002\u139f\u139a\u0003\u0002", + "\u0002\u0002\u139f\u139b\u0003\u0002\u0002\u0002\u139f\u139d\u0003\u0002", + "\u0002\u0002\u139f\u139e\u0003\u0002\u0002\u0002\u13a0\u13a1\u0003\u0002", + "\u0002\u0002\u13a1\u139f\u0003\u0002\u0002\u0002\u13a1\u13a2\u0003\u0002", + "\u0002\u0002\u13a2\u13a4\u0003\u0002\u0002\u0002\u13a3\u139f\u0003\u0002", + "\u0002\u0002\u13a3\u13a4\u0003\u0002\u0002\u0002\u13a4\u13a6\u0003\u0002", + "\u0002\u0002\u13a5\u13a7\u0005\u01dc\u00ef\u0002\u13a6\u13a5\u0003\u0002", + "\u0002\u0002\u13a6\u13a7\u0003\u0002\u0002\u0002\u13a7\u13cf\u0003\u0002", + "\u0002\u0002\u13a8\u13b8\u0007\u084b\u0002\u0002\u13a9\u13ab\u0007\u08b7", + "\u0002\u0002\u13aa\u13a9\u0003\u0002\u0002\u0002\u13aa\u13ab\u0003\u0002", + "\u0002\u0002\u13ab\u13b4\u0003\u0002\u0002\u0002\u13ac\u13ad\u0007\u0455", + "\u0002\u0002\u13ad\u13b5\u0007\u025f\u0002\u0002\u13ae\u13af\u0007\u051a", + "\u0002\u0002\u13af\u13b5\u0007\u02d4\u0002\u0002\u13b0\u13b5\u0007\u05a8", + "\u0002\u0002\u13b1\u13b5\u0007\u05da\u0002\u0002\u13b2\u13b3\u0007\u00dc", + "\u0002\u0002\u13b3\u13b5\u0007\u05c2\u0002\u0002\u13b4\u13ac\u0003\u0002", + "\u0002\u0002\u13b4\u13ae\u0003\u0002\u0002\u0002\u13b4\u13b0\u0003\u0002", + "\u0002\u0002\u13b4\u13b1\u0003\u0002\u0002\u0002\u13b4\u13b2\u0003\u0002", + "\u0002\u0002\u13b5\u13b7\u0003\u0002\u0002\u0002\u13b6\u13aa\u0003\u0002", + "\u0002\u0002\u13b7\u13ba\u0003\u0002\u0002\u0002\u13b8\u13b6\u0003\u0002", + "\u0002\u0002\u13b8\u13b9\u0003\u0002\u0002\u0002\u13b9\u13c8\u0003\u0002", + "\u0002\u0002\u13ba\u13b8\u0003\u0002\u0002\u0002\u13bb\u13c0\u0007\u08b1", + "\u0002\u0002\u13bc\u13be\u0007\u08b7\u0002\u0002\u13bd\u13bc\u0003\u0002", + "\u0002\u0002\u13bd\u13be\u0003\u0002\u0002\u0002\u13be\u13bf\u0003\u0002", + "\u0002\u0002\u13bf\u13c1\u0005\u05d6\u02ec\u0002\u13c0\u13bd\u0003\u0002", + "\u0002\u0002\u13c1\u13c2\u0003\u0002\u0002\u0002\u13c2\u13c0\u0003\u0002", + "\u0002\u0002\u13c2\u13c3\u0003\u0002\u0002\u0002\u13c3\u13c4\u0003\u0002", + "\u0002\u0002\u13c4\u13c6\u0007\u08b2\u0002\u0002\u13c5\u13c7\u0005\u01fa", + "\u00fe\u0002\u13c6\u13c5\u0003\u0002\u0002\u0002\u13c6\u13c7\u0003\u0002", + "\u0002\u0002\u13c7\u13c9\u0003\u0002\u0002\u0002\u13c8\u13bb\u0003\u0002", + "\u0002\u0002\u13c8\u13c9\u0003\u0002\u0002\u0002\u13c9\u13cb\u0003\u0002", + "\u0002\u0002\u13ca\u13cc\u0005\u01fc\u00ff\u0002\u13cb\u13ca\u0003\u0002", + "\u0002\u0002\u13cb\u13cc\u0003\u0002\u0002\u0002\u13cc\u13ce\u0003\u0002", + "\u0002\u0002\u13cd\u13a8\u0003\u0002\u0002\u0002\u13ce\u13d1\u0003\u0002", + "\u0002\u0002\u13cf\u13cd\u0003\u0002\u0002\u0002\u13cf\u13d0\u0003\u0002", + "\u0002\u0002\u13d0\u01f9\u0003\u0002\u0002\u0002\u13d1\u13cf\u0003\u0002", + "\u0002\u0002\u13d2\u13d3\t4\u0002\u0002\u13d3\u13d4\u0007\u0389\u0002", + "\u0002\u13d4\u13d5\u0007\u081b\u0002\u0002\u13d5\u01fb\u0003\u0002\u0002", + "\u0002\u13d6\u13d7\u0007\u0530\u0002\u0002\u13d7\u13d9\u0007\u0267\u0002", + "\u0002\u13d8\u13da\t3\u0002\u0002\u13d9\u13d8\u0003\u0002\u0002\u0002", + "\u13d9\u13da\u0003\u0002\u0002\u0002\u13da\u01fd\u0003\u0002\u0002\u0002", + "\u13db\u13dc\u0007\u0122\u0002\u0002\u13dc\u13dd\u0007\u032b\u0002\u0002", + "\u13dd\u13de\u0007\u0835\u0002\u0002\u13de\u13e1\u0005\u0594\u02cb\u0002", + "\u13df\u13e0\u0007\u045d\u0002\u0002\u13e0\u13e2\u0005\u057a\u02be\u0002", + "\u13e1\u13df\u0003\u0002\u0002\u0002\u13e1\u13e2\u0003\u0002\u0002\u0002", + "\u13e2\u13f7\u0003\u0002\u0002\u0002\u13e3\u13e4\u0007\u046a\u0002\u0002", + "\u13e4\u13e5\u0007\u050a\u0002\u0002\u13e5\u13e9\u0007\u077a\u0002\u0002", + "\u13e6\u13e7\t6\u0002\u0002\u13e7\u13e8\u0007\u055b\u0002\u0002\u13e8", + "\u13ea\u0007\u050d\u0002\u0002\u13e9\u13e6\u0003\u0002\u0002\u0002\u13e9", + "\u13ea\u0003\u0002\u0002\u0002\u13ea\u13f8\u0003\u0002\u0002\u0002\u13eb", + "\u13ed\u0005\u026c\u0137\u0002\u13ec\u13eb\u0003\u0002\u0002\u0002\u13ec", + "\u13ed\u0003\u0002\u0002\u0002\u13ed\u13ef\u0003\u0002\u0002\u0002\u13ee", + "\u13f0\t5\u0002\u0002\u13ef\u13ee\u0003\u0002\u0002\u0002\u13ef\u13f0", + "\u0003\u0002\u0002\u0002\u13f0\u13f2\u0003\u0002\u0002\u0002\u13f1\u13f3", + "\u0005\u01dc\u00ef\u0002\u13f2\u13f1\u0003\u0002\u0002\u0002\u13f2\u13f3", + "\u0003\u0002\u0002\u0002\u13f3\u13f5\u0003\u0002\u0002\u0002\u13f4\u13f6", + "\u0005\u01da\u00ee\u0002\u13f5\u13f4\u0003\u0002\u0002\u0002\u13f5\u13f6", + "\u0003\u0002\u0002\u0002\u13f6\u13f8\u0003\u0002\u0002\u0002\u13f7\u13e3", + "\u0003\u0002\u0002\u0002\u13f7\u13ec\u0003\u0002\u0002\u0002\u13f8\u140a", + "\u0003\u0002\u0002\u0002\u13f9\u13fa\u0007\u0811\u0002\u0002\u13fa\u1404", + "\u0007\u0279\u0002\u0002\u13fb\u13ff\u0005\u0264\u0133\u0002\u13fc\u13fd", + "\u0007\u0777\u0002\u0002\u13fd\u13ff\u0005\u05d2\u02ea\u0002\u13fe\u13fb", + "\u0003\u0002\u0002\u0002\u13fe\u13fc\u0003\u0002\u0002\u0002\u13ff\u1400", + "\u0003\u0002\u0002\u0002\u1400\u13fe\u0003\u0002\u0002\u0002\u1400\u1401", + "\u0003\u0002\u0002\u0002\u1401\u1403\u0003\u0002\u0002\u0002\u1402\u13fe", + "\u0003\u0002\u0002\u0002\u1403\u1406\u0003\u0002\u0002\u0002\u1404\u1402", + "\u0003\u0002\u0002\u0002\u1404\u1405\u0003\u0002\u0002\u0002\u1405\u140b", + "\u0003\u0002\u0002\u0002\u1406\u1404\u0003\u0002\u0002\u0002\u1407\u1408", + "\u0007\u0811\u0002\u0002\u1408\u1409\u0007\u03f4\u0002\u0002\u1409\u140b", + "\u0007\u0279\u0002\u0002\u140a\u13f9\u0003\u0002\u0002\u0002\u140a\u1407", + "\u0003\u0002\u0002\u0002\u140a\u140b\u0003\u0002\u0002\u0002\u140b\u140d", + "\u0003\u0002\u0002\u0002\u140c\u140e\u0005\u0200\u0101\u0002\u140d\u140c", + "\u0003\u0002\u0002\u0002\u140d\u140e\u0003\u0002\u0002\u0002\u140e\u1411", + "\u0003\u0002\u0002\u0002\u140f\u1410\u0007\u0224\u0002\u0002\u1410\u1412", + "\u0007\u07eb\u0002\u0002\u1411\u140f\u0003\u0002\u0002\u0002\u1411\u1412", + "\u0003\u0002\u0002\u0002\u1412\u1416\u0003\u0002\u0002\u0002\u1413\u1414", + "\t\u0007\u0002\u0002\u1414\u1415\u0007\u0538\u0002\u0002\u1415\u1417", + "\u0007\u059e\u0002\u0002\u1416\u1413\u0003\u0002\u0002\u0002\u1416\u1417", + "\u0003\u0002\u0002\u0002\u1417\u1418\u0003\u0002\u0002\u0002\u1418\u1419", + "\u0007?\u0002\u0002\u1419\u141a\u0005\u0412\u020a\u0002\u141a\u141b", + "\u0007\u08c3\u0002\u0002\u141b\u01ff\u0003\u0002\u0002\u0002\u141c\u141d", + "\u0007\u0388\u0002\u0002\u141d\u1444\u0007\u0563\u0002\u0002\u141e\u143f", + "\u0007\u0563\u0002\u0002\u141f\u1440\t7\u0002\u0002\u1420\u1421\u0007", + "\u046a\u0002\u0002\u1421\u1440\t1\u0002\u0002\u1422\u1423\u0007\u0623", + "\u0002\u0002\u1423\u1426\u0007\u084b\u0002\u0002\u1424\u1426\u0007\u038c", + "\u0002\u0002\u1425\u1422\u0003\u0002\u0002\u0002\u1425\u1424\u0003\u0002", + "\u0002\u0002\u1426\u1440\u0003\u0002\u0002\u0002\u1427\u142b\u0007\u084b", + "\u0002\u0002\u1428\u1429\u0007\u051a\u0002\u0002\u1429\u142c\u0007\u02d4", + "\u0002\u0002\u142a\u142c\u0007\u05a8\u0002\u0002\u142b\u1428\u0003\u0002", + "\u0002\u0002\u142b\u142a\u0003\u0002\u0002\u0002\u142c\u1440\u0003\u0002", + "\u0002\u0002\u142d\u143a\u0007\u0811\u0002\u0002\u142e\u1430\u0007\u0161", + "\u0002\u0002\u142f\u1431\t8\u0002\u0002\u1430\u142f\u0003\u0002\u0002", + "\u0002\u1430\u1431\u0003\u0002\u0002\u0002\u1431\u1432\u0003\u0002\u0002", + "\u0002\u1432\u1433\u0007\u05a3\u0002\u0002\u1433\u143b\u0007\u05d2\u0002", + "\u0002\u1434\u1436\t8\u0002\u0002\u1435\u1434\u0003\u0002\u0002\u0002", + "\u1435\u1436\u0003\u0002\u0002\u0002\u1436\u1437\u0003\u0002\u0002\u0002", + "\u1437\u1438\u0007\u05a3\u0002\u0002\u1438\u1439\u0007\u05d2\u0002\u0002", + "\u1439\u143b\u0007\u08ce\u0002\u0002\u143a\u142e\u0003\u0002\u0002\u0002", + "\u143a\u1435\u0003\u0002\u0002\u0002\u143b\u1440\u0003\u0002\u0002\u0002", + "\u143c\u143d\u0007\u0811\u0002\u0002\u143d\u143e\t2\u0002\u0002\u143e", + "\u1440\u0007\u0104\u0002\u0002\u143f\u141f\u0003\u0002\u0002\u0002\u143f", + "\u1420\u0003\u0002\u0002\u0002\u143f\u1425\u0003\u0002\u0002\u0002\u143f", + "\u1427\u0003\u0002\u0002\u0002\u143f\u142d\u0003\u0002\u0002\u0002\u143f", + "\u143c\u0003\u0002\u0002\u0002\u1440\u1441\u0003\u0002\u0002\u0002\u1441", + "\u143f\u0003\u0002\u0002\u0002\u1441\u1442\u0003\u0002\u0002\u0002\u1442", + "\u1444\u0003\u0002\u0002\u0002\u1443\u141c\u0003\u0002\u0002\u0002\u1443", + "\u141e\u0003\u0002\u0002\u0002\u1444\u0201\u0003\u0002\u0002\u0002\u1445", + "\u1448\u0007\u0122\u0002\u0002\u1446\u1447\u0007\u0496\u0002\u0002\u1447", + "\u1449\u0007\u0581\u0002\u0002\u1448\u1446\u0003\u0002\u0002\u0002\u1448", + "\u1449\u0003\u0002\u0002\u0002\u1449\u144a\u0003\u0002\u0002\u0002\u144a", + "\u144b\u0007\u010b\u0002\u0002\u144b\u144c\u0005\u0204\u0103\u0002\u144c", + "\u1450\u0007\u0811\u0002\u0002\u144d\u144e\u0005\u059c\u02cf\u0002\u144e", + "\u144f\u0007\u08aa\u0002\u0002\u144f\u1451\u0003\u0002\u0002\u0002\u1450", + "\u144d\u0003\u0002\u0002\u0002\u1450\u1451\u0003\u0002\u0002\u0002\u1451", + "\u1452\u0003\u0002\u0002\u0002\u1452\u1457\u0005\u0562\u02b2\u0002\u1453", + "\u1454\u0007\u0291\u0002\u0002\u1454\u1458\t\u0019\u0002\u0002\u1455", + "\u1456\u0007\u0006\u0002\u0002\u1456\u1458\u0007\u0239\u0002\u0002\u1457", + "\u1453\u0003\u0002\u0002\u0002\u1457\u1455\u0003\u0002\u0002\u0002\u1457", + "\u1458\u0003\u0002\u0002\u0002\u1458\u1459\u0003\u0002\u0002\u0002\u1459", + "\u145a\u0007\u08c3\u0002\u0002\u145a\u0203\u0003\u0002\u0002\u0002\u145b", + "\u145c\u0005\u05d2\u02ea\u0002\u145c\u0205\u0003\u0002\u0002\u0002\u145d", + "\u145e\u0007\u0122\u0002\u0002\u145e\u145f\u0007\u00c7\u0002\u0002\u145f", + "\u1460\u0005\u00ba^\u0002\u1460\u1461\u0007\u08b1\u0002\u0002\u1461", + "\u1462\u0005\u0592\u02ca\u0002\u1462\u1464\u0005\u05b6\u02dc\u0002\u1463", + "\u1465\u0007\u060a\u0002\u0002\u1464\u1463\u0003\u0002\u0002\u0002\u1464", + "\u1465\u0003\u0002\u0002\u0002\u1465\u146e\u0003\u0002\u0002\u0002\u1466", + "\u1467\u0007\u08b7\u0002\u0002\u1467\u1468\u0005\u0592\u02ca\u0002\u1468", + "\u146a\u0005\u05b6\u02dc\u0002\u1469\u146b\u0007\u060a\u0002\u0002\u146a", + "\u1469\u0003\u0002\u0002\u0002\u146a\u146b\u0003\u0002\u0002\u0002\u146b", + "\u146d\u0003\u0002\u0002\u0002\u146c\u1466\u0003\u0002\u0002\u0002\u146d", + "\u1470\u0003\u0002\u0002\u0002\u146e\u146c\u0003\u0002\u0002\u0002\u146e", + "\u146f\u0003\u0002\u0002\u0002\u146f\u1471\u0003\u0002\u0002\u0002\u1470", + "\u146e\u0003\u0002\u0002\u0002\u1471\u1485\u0007\u08b2\u0002\u0002\u1472", + "\u1484\u0005\u0264\u0133\u0002\u1473\u1474\u0007\u0601\u0002\u0002\u1474", + "\u1484\u0005\u0260\u0131\u0002\u1475\u1476\u0007\u0777\u0002\u0002\u1476", + "\u1484\u0005\u0346\u01a4\u0002\u1477\u1484\u0007\u0279\u0002\u0002\u1478", + "\u1479\u0007\u05fd\u0002\u0002\u1479\u147b\u0007\u077a\u0002\u0002\u147a", + "\u1478\u0003\u0002\u0002\u0002\u147a\u147b\u0003\u0002\u0002\u0002\u147b", + "\u147c\u0003\u0002\u0002\u0002\u147c\u147d\u0007\u0249\u0002\u0002\u147d", + "\u1481\u0007\u08ab\u0002\u0002\u147e\u147f\u0007\u0248\u0002\u0002\u147f", + "\u1480\u0007\u02b9\u0002\u0002\u1480\u1482\u0005\u04d4\u026b\u0002\u1481", + "\u147e\u0003\u0002\u0002\u0002\u1481\u1482\u0003\u0002\u0002\u0002\u1482", + "\u1484\u0003\u0002\u0002\u0002\u1483\u1472\u0003\u0002\u0002\u0002\u1483", + "\u1473\u0003\u0002\u0002\u0002\u1483\u1475\u0003\u0002\u0002\u0002\u1483", + "\u1477\u0003\u0002\u0002\u0002\u1483\u147a\u0003\u0002\u0002\u0002\u1484", + "\u1487\u0003\u0002\u0002\u0002\u1485\u1483\u0003\u0002\u0002\u0002\u1485", + "\u1486\u0003\u0002\u0002\u0002\u1486\u1489\u0003\u0002\u0002\u0002\u1487", + "\u1485\u0003\u0002\u0002\u0002\u1488\u148a\u0005\u01dc\u00ef\u0002\u1489", + "\u1488\u0003\u0002\u0002\u0002\u1489\u148a\u0003\u0002\u0002\u0002\u148a", + "\u148c\u0003\u0002\u0002\u0002\u148b\u148d\t9\u0002\u0002\u148c\u148b", + "\u0003\u0002\u0002\u0002\u148c\u148d\u0003\u0002\u0002\u0002\u148d\u148f", + "\u0003\u0002\u0002\u0002\u148e\u1490\t5\u0002\u0002\u148f\u148e\u0003", + "\u0002\u0002\u0002\u148f\u1490\u0003\u0002\u0002\u0002\u1490\u1491\u0003", + "\u0002\u0002\u0002\u1491\u1492\u0007\u08c3\u0002\u0002\u1492\u0207\u0003", + "\u0002\u0002\u0002\u1493\u1496\u0007\u0122\u0002\u0002\u1494\u1495\u0007", + "\u0238\u0002\u0002\u1495\u1497\u0007\u0782\u0002\u0002\u1496\u1494\u0003", + "\u0002\u0002\u0002\u1496\u1497\u0003\u0002\u0002\u0002\u1497\u1498\u0003", + "\u0002\u0002\u0002\u1498\u1499\u0007\u077a\u0002\u0002\u1499\u149d\u0005", + "\u0594\u02cb\u0002\u149a\u149e\u0005\u021e\u0110\u0002\u149b\u149e\u0005", + "\u0214\u010b\u0002\u149c\u149e\u0005\u020a\u0106\u0002\u149d\u149a\u0003", + "\u0002\u0002\u0002\u149d\u149b\u0003\u0002\u0002\u0002\u149d\u149c\u0003", + "\u0002\u0002\u0002\u149e\u14a1\u0003\u0002\u0002\u0002\u149f\u14a0\u0007", + "?\u0002\u0002\u14a0\u14a2\u0005\u0412\u020a\u0002\u14a1\u149f\u0003", + "\u0002\u0002\u0002\u14a1\u14a2\u0003\u0002\u0002\u0002\u14a2\u14a3\u0003", + "\u0002\u0002\u0002\u14a3\u14a4\u0007\u08c3\u0002\u0002\u14a4\u0209\u0003", + "\u0002\u0002\u0002\u14a5\u14a6\u0007\u045d\u0002\u0002\u14a6\u14ab\u0007", + "\u0874\u0002\u0002\u14a7\u14a8\u0007\u08b1\u0002\u0002\u14a8\u14a9\u0005", + "\u021a\u010e\u0002\u14a9\u14aa\u0007\u08b2\u0002\u0002\u14aa\u14ac\u0003", + "\u0002\u0002\u0002\u14ab\u14a7\u0003\u0002\u0002\u0002\u14ab\u14ac\u0003", + "\u0002\u0002\u0002\u14ac\u14af\u0003\u0002\u0002\u0002\u14ad\u14ae\u0007", + "\u0874\u0002\u0002\u14ae\u14b0\u0005\u0210\u0109\u0002\u14af\u14ad\u0003", + "\u0002\u0002\u0002\u14af\u14b0\u0003\u0002\u0002\u0002\u14b0\u14b2\u0003", + "\u0002\u0002\u0002\u14b1\u14b3\u0005\u0212\u010a\u0002\u14b2\u14b1\u0003", + "\u0002\u0002\u0002\u14b2\u14b3\u0003\u0002\u0002\u0002\u14b3\u14b5\u0003", + "\u0002\u0002\u0002\u14b4\u14b6\u0005\u020c\u0107\u0002\u14b5\u14b4\u0003", + "\u0002\u0002\u0002\u14b5\u14b6\u0003\u0002\u0002\u0002\u14b6\u14bb\u0003", + "\u0002\u0002\u0002\u14b7\u14b8\u0007\u046a\u0002\u0002\u14b8\u14b9\u0007", + "\u00dc\u0002\u0002\u14b9\u14ba\t:\u0002\u0002\u14ba\u14bc\u0007\u05ae", + "\u0002\u0002\u14bb\u14b7\u0003\u0002\u0002\u0002\u14bb\u14bc\u0003\u0002", + "\u0002\u0002\u14bc\u14be\u0003\u0002\u0002\u0002\u14bd\u14bf\u0005\u0218", + "\u010d\u0002\u14be\u14bd\u0003\u0002\u0002\u0002\u14be\u14bf\u0003\u0002", + "\u0002\u0002\u14bf\u14c1\u0003\u0002\u0002\u0002\u14c0\u14c2\u0005\u0216", + "\u010c\u0002\u14c1\u14c0\u0003\u0002\u0002\u0002\u14c1\u14c2\u0003\u0002", + "\u0002\u0002\u14c2\u14c4\u0003\u0002\u0002\u0002\u14c3\u14c5\u0005\u026c", + "\u0137\u0002\u14c4\u14c3\u0003\u0002\u0002\u0002\u14c4\u14c5\u0003\u0002", + "\u0002\u0002\u14c5\u14c7\u0003\u0002\u0002\u0002\u14c6\u14c8\u0005\u034a", + "\u01a6\u0002\u14c7\u14c6\u0003\u0002\u0002\u0002\u14c7\u14c8\u0003\u0002", + "\u0002\u0002\u14c8\u14ca\u0003\u0002\u0002\u0002\u14c9\u14cb\u0005\u0222", + "\u0112\u0002\u14ca\u14c9\u0003\u0002\u0002\u0002\u14ca\u14cb\u0003\u0002", + "\u0002\u0002\u14cb\u14cd\u0003\u0002\u0002\u0002\u14cc\u14ce\t5\u0002", + "\u0002\u14cd\u14cc\u0003\u0002\u0002\u0002\u14cd\u14ce\u0003\u0002\u0002", + "\u0002\u14ce\u14d4\u0003\u0002\u0002\u0002\u14cf\u14d0\u0007\u0592\u0002", + "\u0002\u14d0\u14d1\u0007\u08b1\u0002\u0002\u14d1\u14d2\u0007\u035e\u0002", + "\u0002\u14d2\u14d3\t;\u0002\u0002\u14d3\u14d5\u0007\u08b2\u0002\u0002", + "\u14d4\u14cf\u0003\u0002\u0002\u0002\u14d4\u14d5\u0003\u0002\u0002\u0002", + "\u14d5\u14d7\u0003\u0002\u0002\u0002\u14d6\u14d8\u0005\u01dc\u00ef\u0002", + "\u14d7\u14d6\u0003\u0002\u0002\u0002\u14d7\u14d8\u0003\u0002\u0002\u0002", + "\u14d8\u14da\u0003\u0002\u0002\u0002\u14d9\u14db\t9\u0002\u0002\u14da", + "\u14d9\u0003\u0002\u0002\u0002\u14da\u14db\u0003\u0002\u0002\u0002\u14db", + "\u14e1\u0003\u0002\u0002\u0002\u14dc\u14de\u0005\u02fe\u0180\u0002\u14dd", + "\u14dc\u0003\u0002\u0002\u0002\u14de\u14df\u0003\u0002\u0002\u0002\u14df", + "\u14dd\u0003\u0002\u0002\u0002\u14df\u14e0\u0003\u0002\u0002\u0002\u14e0", + "\u14e2\u0003\u0002\u0002\u0002\u14e1\u14dd\u0003\u0002\u0002\u0002\u14e1", + "\u14e2\u0003\u0002\u0002\u0002\u14e2\u14e4\u0003\u0002\u0002\u0002\u14e3", + "\u14e5\u0005\u026e\u0138\u0002\u14e4\u14e3\u0003\u0002\u0002\u0002\u14e4", + "\u14e5\u0003\u0002\u0002\u0002\u14e5\u14e7\u0003\u0002\u0002\u0002\u14e6", + "\u14e8\u0005\u0270\u0139\u0002\u14e7\u14e6\u0003\u0002\u0002\u0002\u14e7", + "\u14e8\u0003\u0002\u0002\u0002\u14e8\u020b\u0003\u0002\u0002\u0002\u14e9", + "\u14ea\u0007\u0837\u0002\u0002\u14ea\u14eb\u0007\u00d8\u0002\u0002\u14eb", + "\u14ec\u0007\u08b1\u0002\u0002\u14ec\u14ed\u0005\u0592\u02ca\u0002\u14ed", + "\u14ee\u0007?\u0002\u0002\u14ee\u14ef\u0007\u08b1\u0002\u0002\u14ef", + "\u14f0\u0005\u04d4\u026b\u0002\u14f0\u14fa\u0007\u08b2\u0002\u0002\u14f1", + "\u14f2\u0007\u08b7\u0002\u0002\u14f2\u14f3\u0005\u0592\u02ca\u0002\u14f3", + "\u14f4\u0007?\u0002\u0002\u14f4\u14f5\u0007\u08b1\u0002\u0002\u14f5", + "\u14f6\u0005\u04d4\u026b\u0002\u14f6\u14f7\u0007\u08b2\u0002\u0002\u14f7", + "\u14f9\u0003\u0002\u0002\u0002\u14f8\u14f1\u0003\u0002\u0002\u0002\u14f9", + "\u14fc\u0003\u0002\u0002\u0002\u14fa\u14f8\u0003\u0002\u0002\u0002\u14fa", + "\u14fb\u0003\u0002\u0002\u0002\u14fb\u14fd\u0003\u0002\u0002\u0002\u14fc", + "\u14fa\u0003\u0002\u0002\u0002\u14fd\u14fe\u0007\u08b2\u0002\u0002\u14fe", + "\u020d\u0003\u0002\u0002\u0002\u14ff\u1501\u0007\u0874\u0002\u0002\u1500", + "\u1502\u0007\u00d7\u0002\u0002\u1501\u1500\u0003\u0002\u0002\u0002\u1501", + "\u1502\u0003\u0002\u0002\u0002\u1502\u1503\u0003\u0002\u0002\u0002\u1503", + "\u1505\u0005\u0592\u02ca\u0002\u1504\u1506\u0005\u0210\u0109\u0002\u1505", + "\u1504\u0003\u0002\u0002\u0002\u1505\u1506\u0003\u0002\u0002\u0002\u1506", + "\u1508\u0003\u0002\u0002\u0002\u1507\u1509\u0005\u0212\u010a\u0002\u1508", + "\u1507\u0003\u0002\u0002\u0002\u1508\u1509\u0003\u0002\u0002\u0002\u1509", + "\u020f\u0003\u0002\u0002\u0002\u150a\u150b\u0007\u063c\u0002\u0002\u150b", + "\u1523\u0007?\u0002\u0002\u150c\u150d\u0007\u0455\u0002\u0002\u150d", + "\u1524\u0007\u0577\u0002\u0002\u150e\u1510\t<\u0002\u0002\u150f\u150e", + "\u0003\u0002\u0002\u0002\u150f\u1510\u0003\u0002\u0002\u0002\u1510\u1514", + "\u0003\u0002\u0002\u0002\u1511\u1515\u0007\u00c2\u0002\u0002\u1512\u1513", + "\u0007q\u0002\u0002\u1513\u1515\u0007\u0875\u0002\u0002\u1514\u1511", + "\u0003\u0002\u0002\u0002\u1514\u1512\u0003\u0002\u0002\u0002\u1515\u1521", + "\u0003\u0002\u0002\u0002\u1516\u151b\u0005\u0330\u0199\u0002\u1517\u1518", + "\u0007\u08b1\u0002\u0002\u1518\u1519\u0005\u033c\u019f\u0002\u1519\u151a", + "\u0007\u08b2\u0002\u0002\u151a\u151c\u0003\u0002\u0002\u0002\u151b\u1517", + "\u0003\u0002\u0002\u0002\u151b\u151c\u0003\u0002\u0002\u0002\u151c\u1522", + "\u0003\u0002\u0002\u0002\u151d\u151e\u0007\u08b1\u0002\u0002\u151e\u151f", + "\u0005\u033c\u019f\u0002\u151f\u1520\u0007\u08b2\u0002\u0002\u1520\u1522", + "\u0003\u0002\u0002\u0002\u1521\u1516\u0003\u0002\u0002\u0002\u1521\u151d", + "\u0003\u0002\u0002\u0002\u1521\u1522\u0003\u0002\u0002\u0002\u1522\u1524", + "\u0003\u0002\u0002\u0002\u1523\u150c\u0003\u0002\u0002\u0002\u1523\u150f", + "\u0003\u0002\u0002\u0002\u1524\u152a\u0003\u0002\u0002\u0002\u1525\u1526", + "\u0007\u063c\u0002\u0002\u1526\u1527\u0007\u0821\u0002\u0002\u1527\u1528", + "\u0007?\u0002\u0002\u1528\u152a\t=\u0002\u0002\u1529\u150a\u0003\u0002", + "\u0002\u0002\u1529\u1525\u0003\u0002\u0002\u0002\u152a\u0211\u0003\u0002", + "\u0002\u0002\u152b\u152c\u0007\u086f\u0002\u0002\u152c\u152e\u0007\u08ae", + "\u0002\u0002\u152d\u152b\u0003\u0002\u0002\u0002\u152d\u152e\u0003\u0002", + "\u0002\u0002\u152e\u152f\u0003\u0002\u0002\u0002\u152f\u1530\u0007\u01ad", + "\u0002\u0002\u1530\u1534\u0007\u08ae\u0002\u0002\u1531\u1532\u0005\u028c", + "\u0147\u0002\u1532\u1533\u0007\u03f5\u0002\u0002\u1533\u1535\u0003\u0002", + "\u0002\u0002\u1534\u1531\u0003\u0002\u0002\u0002\u1534\u1535\u0003\u0002", + "\u0002\u0002\u1535\u1539\u0003\u0002\u0002\u0002\u1536\u1537\u0005\u028c", + "\u0147\u0002\u1537\u1538\u00073\u0002\u0002\u1538\u153a\u0003\u0002", + "\u0002\u0002\u1539\u1536\u0003\u0002\u0002\u0002\u1539\u153a\u0003\u0002", + "\u0002\u0002\u153a\u0213\u0003\u0002\u0002\u0002\u153b\u153c\u0007\u045d", + "\u0002\u0002\u153c\u153e\u0005\u057a\u02be\u0002\u153d\u153f\u0005\u021c", + "\u010f\u0002\u153e\u153d\u0003\u0002\u0002\u0002\u153e\u153f\u0003\u0002", + "\u0002\u0002\u153f\u154b\u0003\u0002\u0002\u0002\u1540\u1541\u0007\u08b1", + "\u0002\u0002\u1541\u1546\u0005\u021a\u010e\u0002\u1542\u1543\u0007\u08b7", + "\u0002\u0002\u1543\u1545\u0005\u021a\u010e\u0002\u1544\u1542\u0003\u0002", + "\u0002\u0002\u1545\u1548\u0003\u0002\u0002\u0002\u1546\u1544\u0003\u0002", + "\u0002\u0002\u1546\u1547\u0003\u0002\u0002\u0002\u1547\u1549\u0003\u0002", + "\u0002\u0002\u1548\u1546\u0003\u0002\u0002\u0002\u1549\u154a\u0007\u08b2", + "\u0002\u0002\u154a\u154c\u0003\u0002\u0002\u0002\u154b\u1540\u0003\u0002", + "\u0002\u0002\u154b\u154c\u0003\u0002\u0002\u0002\u154c\u1551\u0003\u0002", + "\u0002\u0002\u154d\u154e\u0007\u046a\u0002\u0002\u154e\u154f\u0007\u00dc", + "\u0002\u0002\u154f\u1550\t:\u0002\u0002\u1550\u1552\u0007\u05ae\u0002", + "\u0002\u1551\u154d\u0003\u0002\u0002\u0002\u1551\u1552\u0003\u0002\u0002", + "\u0002\u1552\u1554\u0003\u0002\u0002\u0002\u1553\u1555\u0005\u0218\u010d", + "\u0002\u1554\u1553\u0003\u0002\u0002\u0002\u1554\u1555\u0003\u0002\u0002", + "\u0002\u1555\u1557\u0003\u0002\u0002\u0002\u1556\u1558\u0005\u0216\u010c", + "\u0002\u1557\u1556\u0003\u0002\u0002\u0002\u1557\u1558\u0003\u0002\u0002", + "\u0002\u1558\u155a\u0003\u0002\u0002\u0002\u1559\u155b\u0005\u026c\u0137", + "\u0002\u155a\u1559\u0003\u0002\u0002\u0002\u155a\u155b\u0003\u0002\u0002", + "\u0002\u155b\u155d\u0003\u0002\u0002\u0002\u155c\u155e\u0005\u034a\u01a6", + "\u0002\u155d\u155c\u0003\u0002\u0002\u0002\u155d\u155e\u0003\u0002\u0002", + "\u0002\u155e\u1560\u0003\u0002\u0002\u0002\u155f\u1561\u0005\u0222\u0112", + "\u0002\u1560\u155f\u0003\u0002\u0002\u0002\u1560\u1561\u0003\u0002\u0002", + "\u0002\u1561\u1563\u0003\u0002\u0002\u0002\u1562\u1564\t5\u0002\u0002", + "\u1563\u1562\u0003\u0002\u0002\u0002\u1563\u1564\u0003\u0002\u0002\u0002", + "\u1564\u156a\u0003\u0002\u0002\u0002\u1565\u1566\u0007\u0592\u0002\u0002", + "\u1566\u1567\u0007\u08b1\u0002\u0002\u1567\u1568\u0007\u035e\u0002\u0002", + "\u1568\u1569\t;\u0002\u0002\u1569\u156b\u0007\u08b2\u0002\u0002\u156a", + "\u1565\u0003\u0002\u0002\u0002\u156a\u156b\u0003\u0002\u0002\u0002\u156b", + "\u156d\u0003\u0002\u0002\u0002\u156c\u156e\u0005\u01dc\u00ef\u0002\u156d", + "\u156c\u0003\u0002\u0002\u0002\u156d\u156e\u0003\u0002\u0002\u0002\u156e", + "\u1570\u0003\u0002\u0002\u0002\u156f\u1571\t9\u0002\u0002\u1570\u156f", + "\u0003\u0002\u0002\u0002\u1570\u1571\u0003\u0002\u0002\u0002\u1571\u1577", + "\u0003\u0002\u0002\u0002\u1572\u1574\u0005\u02fe\u0180\u0002\u1573\u1572", + "\u0003\u0002\u0002\u0002\u1574\u1575\u0003\u0002\u0002\u0002\u1575\u1573", + "\u0003\u0002\u0002\u0002\u1575\u1576\u0003\u0002\u0002\u0002\u1576\u1578", + "\u0003\u0002\u0002\u0002\u1577\u1573\u0003\u0002\u0002\u0002\u1577\u1578", + "\u0003\u0002\u0002\u0002\u1578\u157a\u0003\u0002\u0002\u0002\u1579\u157b", + "\u0005\u026e\u0138\u0002\u157a\u1579\u0003\u0002\u0002\u0002\u157a\u157b", + "\u0003\u0002\u0002\u0002\u157b\u157d\u0003\u0002\u0002\u0002\u157c\u157e", + "\u0005\u0270\u0139\u0002\u157d\u157c\u0003\u0002\u0002\u0002\u157d\u157e", + "\u0003\u0002\u0002\u0002\u157e\u0215\u0003\u0002\u0002\u0002\u157f\u1581", + "\u0007\u045e\u0002\u0002\u1580\u1582\u0005\u0588\u02c5\u0002\u1581\u1580", + "\u0003\u0002\u0002\u0002\u1581\u1582\u0003\u0002\u0002\u0002\u1582\u1583", + "\u0003\u0002\u0002\u0002\u1583\u1587\u0007\u08b1\u0002\u0002\u1584\u1588", + "\u0005\u0264\u0133\u0002\u1585\u1586\u0007\u0777\u0002\u0002\u1586\u1588", + "\u0005\u0346\u01a4\u0002\u1587\u1584\u0003\u0002\u0002\u0002\u1587\u1585", + "\u0003\u0002\u0002\u0002\u1588\u1589\u0003\u0002\u0002\u0002\u1589\u1587", + "\u0003\u0002\u0002\u0002\u1589\u158a\u0003\u0002\u0002\u0002\u158a\u158b", + "\u0003\u0002\u0002\u0002\u158b\u158c\u0007\u08b2\u0002\u0002\u158c\u0217", + "\u0003\u0002\u0002\u0002\u158d\u158e\u0007\u0455\u0002\u0002\u158e\u158f", + "\u0007\u025c\u0002\u0002\u158f\u1594\u0007\u02b9\u0002\u0002\u1590\u1591", + "\u0007\u06f5\u0002\u0002\u1591\u1595\u0007\u0236\u0002\u0002\u1592\u1593", + "\u0007\u051a\u0002\u0002\u1593\u1595\u0007\u02d4\u0002\u0002\u1594\u1590", + "\u0003\u0002\u0002\u0002\u1594\u1592\u0003\u0002\u0002\u0002\u1595\u0219", + "\u0003\u0002\u0002\u0002\u1596\u1599\u0005\u0592\u02ca\u0002\u1597\u1599", + "\u0005\u0556\u02ac\u0002\u1598\u1596\u0003\u0002\u0002\u0002\u1598\u1597", + "\u0003\u0002\u0002\u0002\u1599\u159c\u0003\u0002\u0002\u0002\u159a\u159b", + "\u0007\u0161\u0002\u0002\u159b\u159d\u0005\u04d4\u026b\u0002\u159c\u159a", + "\u0003\u0002\u0002\u0002\u159c\u159d\u0003\u0002\u0002\u0002\u159d\u15a7", + "\u0003\u0002\u0002\u0002\u159e\u15a3\u0005\u01a2\u00d2\u0002\u159f\u15a0", + "\u0007\u08b7\u0002\u0002\u15a0\u15a2\u0005\u01a2\u00d2\u0002\u15a1\u159f", + "\u0003\u0002\u0002\u0002\u15a2\u15a5\u0003\u0002\u0002\u0002\u15a3\u15a1", + "\u0003\u0002\u0002\u0002\u15a3\u15a4\u0003\u0002\u0002\u0002\u15a4\u15a8", + "\u0003\u0002\u0002\u0002\u15a5\u15a3\u0003\u0002\u0002\u0002\u15a6\u15a8", + "\u0005\u01a4\u00d3\u0002\u15a7\u159e\u0003\u0002\u0002\u0002\u15a7\u15a6", + "\u0003\u0002\u0002\u0002\u15a7\u15a8\u0003\u0002\u0002\u0002\u15a8\u15ad", + "\u0003\u0002\u0002\u0002\u15a9\u15ad\u0005\u01a8\u00d5\u0002\u15aa\u15ad", + "\u0005\u01a6\u00d4\u0002\u15ab\u15ad\u0005\u0362\u01b2\u0002\u15ac\u1598", + "\u0003\u0002\u0002\u0002\u15ac\u15a9\u0003\u0002\u0002\u0002\u15ac\u15aa", + "\u0003\u0002\u0002\u0002\u15ac\u15ab\u0003\u0002\u0002\u0002\u15ad\u021b", + "\u0003\u0002\u0002\u0002\u15ae\u15b0\u0007\u0433\u0002\u0002\u15af\u15ae", + "\u0003\u0002\u0002\u0002\u15af\u15b0\u0003\u0002\u0002\u0002\u15b0\u15b1", + "\u0003\u0002\u0002\u0002\u15b1\u15b2\u0007\u064d\u0002\u0002\u15b2\u15b3", + "\u0007L\u0002\u0002\u15b3\u15b4\u0007%\u0002\u0002\u15b4\u15b5\u0007", + "\u02ee\u0002\u0002\u15b5\u021d\u0003\u0002\u0002\u0002\u15b6\u15b7\u0007", + "\u08b1\u0002\u0002\u15b7\u15bc\u0005\u0220\u0111\u0002\u15b8\u15b9\u0007", + "\u08b7\u0002\u0002\u15b9\u15bb\u0005\u0220\u0111\u0002\u15ba\u15b8\u0003", + "\u0002\u0002\u0002\u15bb\u15be\u0003\u0002\u0002\u0002\u15bc\u15ba\u0003", + "\u0002\u0002\u0002\u15bc\u15bd\u0003\u0002\u0002\u0002\u15bd\u15bf\u0003", + "\u0002\u0002\u0002\u15be\u15bc\u0003\u0002\u0002\u0002\u15bf\u15c0\u0007", + "\u08b2\u0002\u0002\u15c0\u15c2\u0003\u0002\u0002\u0002\u15c1\u15b6\u0003", + "\u0002\u0002\u0002\u15c1\u15c2\u0003\u0002\u0002\u0002\u15c2\u15c7\u0003", + "\u0002\u0002\u0002\u15c3\u15c4\u0007\u046a\u0002\u0002\u15c4\u15c5\u0007", + "\u00dc\u0002\u0002\u15c5\u15c6\t:\u0002\u0002\u15c6\u15c8\u0007\u05ae", + "\u0002\u0002\u15c7\u15c3\u0003\u0002\u0002\u0002\u15c7\u15c8\u0003\u0002", + "\u0002\u0002\u15c8\u15ca\u0003\u0002\u0002\u0002\u15c9\u15cb\u0005\u026c", + "\u0137\u0002\u15ca\u15c9\u0003\u0002\u0002\u0002\u15ca\u15cb\u0003\u0002", + "\u0002\u0002\u15cb\u15cd\u0003\u0002\u0002\u0002\u15cc\u15ce\u0005\u034a", + "\u01a6\u0002\u15cd\u15cc\u0003\u0002\u0002\u0002\u15cd\u15ce\u0003\u0002", + "\u0002\u0002\u15ce\u15d0\u0003\u0002\u0002\u0002\u15cf\u15d1\u0005\u0222", + "\u0112\u0002\u15d0\u15cf\u0003\u0002\u0002\u0002\u15d0\u15d1\u0003\u0002", + "\u0002\u0002\u15d1\u15d3\u0003\u0002\u0002\u0002\u15d2\u15d4\t5\u0002", + "\u0002\u15d3\u15d2\u0003\u0002\u0002\u0002\u15d3\u15d4\u0003\u0002\u0002", + "\u0002\u15d4\u15da\u0003\u0002\u0002\u0002\u15d5\u15d6\u0007\u0592\u0002", + "\u0002\u15d6\u15d7\u0007\u08b1\u0002\u0002\u15d7\u15d8\u0007\u035e\u0002", + "\u0002\u15d8\u15d9\t;\u0002\u0002\u15d9\u15db\u0007\u08b2\u0002\u0002", + "\u15da\u15d5\u0003\u0002\u0002\u0002\u15da\u15db\u0003\u0002\u0002\u0002", + "\u15db\u15dd\u0003\u0002\u0002\u0002\u15dc\u15de\u0005\u01dc\u00ef\u0002", + "\u15dd\u15dc\u0003\u0002\u0002\u0002\u15dd\u15de\u0003\u0002\u0002\u0002", + "\u15de\u15e0\u0003\u0002\u0002\u0002\u15df\u15e1\t9\u0002\u0002\u15e0", + "\u15df\u0003\u0002\u0002\u0002\u15e0\u15e1\u0003\u0002\u0002\u0002\u15e1", + "\u15e7\u0003\u0002\u0002\u0002\u15e2\u15e4\u0005\u02fe\u0180\u0002\u15e3", + "\u15e2\u0003\u0002\u0002\u0002\u15e4\u15e5\u0003\u0002\u0002\u0002\u15e5", + "\u15e3\u0003\u0002\u0002\u0002\u15e5\u15e6\u0003\u0002\u0002\u0002\u15e6", + "\u15e8\u0003\u0002\u0002\u0002\u15e7\u15e3\u0003\u0002\u0002\u0002\u15e7", + "\u15e8\u0003\u0002\u0002\u0002\u15e8\u15ea\u0003\u0002\u0002\u0002\u15e9", + "\u15eb\u0005\u026e\u0138\u0002\u15ea\u15e9\u0003\u0002\u0002\u0002\u15ea", + "\u15eb\u0003\u0002\u0002\u0002\u15eb\u15ed\u0003\u0002\u0002\u0002\u15ec", + "\u15ee\u0005\u0270\u0139\u0002\u15ed\u15ec\u0003\u0002\u0002\u0002\u15ed", + "\u15ee\u0003\u0002\u0002\u0002\u15ee\u021f\u0003\u0002\u0002\u0002\u15ef", + "\u15f5\u0005\u0352\u01aa\u0002\u15f0\u15f5\u0005\u0354\u01ab\u0002\u15f1", + "\u15f5\u0005\u01a8\u00d5\u0002\u15f2\u15f5\u0005\u01a6\u00d4\u0002\u15f3", + "\u15f5\u0005\u0362\u01b2\u0002\u15f4\u15ef\u0003\u0002\u0002\u0002\u15f4", + "\u15f0\u0003\u0002\u0002\u0002\u15f4\u15f1\u0003\u0002\u0002\u0002\u15f4", + "\u15f2\u0003\u0002\u0002\u0002\u15f4\u15f3\u0003\u0002\u0002\u0002\u15f5", + "\u0221\u0003\u0002\u0002\u0002\u15f6\u15ff\u0005\u0224\u0113\u0002\u15f7", + "\u15ff\u0005\u0226\u0114\u0002\u15f8\u15ff\u0005\u0228\u0115\u0002\u15f9", + "\u15ff\u0005\u0230\u0119\u0002\u15fa\u15ff\u0005\u0232\u011a\u0002\u15fb", + "\u15ff\u0005\u0234\u011b\u0002\u15fc\u15ff\u0005\u0236\u011c\u0002\u15fd", + "\u15ff\u0005\u023a\u011e\u0002\u15fe\u15f6\u0003\u0002\u0002\u0002\u15fe", + "\u15f7\u0003\u0002\u0002\u0002\u15fe\u15f8\u0003\u0002\u0002\u0002\u15fe", + "\u15f9\u0003\u0002\u0002\u0002\u15fe\u15fa\u0003\u0002\u0002\u0002\u15fe", + "\u15fb\u0003\u0002\u0002\u0002\u15fe\u15fc\u0003\u0002\u0002\u0002\u15fe", + "\u15fd\u0003\u0002\u0002\u0002\u15ff\u0223\u0003\u0002\u0002\u0002\u1600", + "\u1601\u0007\u04b9\u0002\u0002\u1601\u1602\u0007\u0094\u0002\u0002\u1602", + "\u1603\u0007\u0542\u0002\u0002\u1603\u1604\u0007\u08b1\u0002\u0002\u1604", + "\u1609\u0005\u0592\u02ca\u0002\u1605\u1606\u0007\u08b7\u0002\u0002\u1606", + "\u1608\u0005\u0592\u02ca\u0002\u1607\u1605\u0003\u0002\u0002\u0002\u1608", + "\u160b\u0003\u0002\u0002\u0002\u1609\u1607\u0003\u0002\u0002\u0002\u1609", + "\u160a\u0003\u0002\u0002\u0002\u160a\u160c\u0003\u0002\u0002\u0002\u160b", + "\u1609\u0003\u0002\u0002\u0002\u160c\u1620\u0007\u08b2\u0002\u0002\u160d", + "\u160e\u0007\u02b3\u0002\u0002\u160e\u160f\u0007\u08b1\u0002\u0002\u160f", + "\u1610\u0005\u04d4\u026b\u0002\u1610\u161e\u0007\u08b2\u0002\u0002\u1611", + "\u1612\u0007\u063c\u0002\u0002\u1612\u1613\u0007\u028e\u0002\u0002\u1613", + "\u1614\u0007\u08b1\u0002\u0002\u1614\u1619\u0005\u0346\u01a4\u0002\u1615", + "\u1616\u0007\u08b7\u0002\u0002\u1616\u1618\u0005\u0346\u01a4\u0002\u1617", + "\u1615\u0003\u0002\u0002\u0002\u1618\u161b\u0003\u0002\u0002\u0002\u1619", + "\u1617\u0003\u0002\u0002\u0002\u1619\u161a\u0003\u0002\u0002\u0002\u161a", + "\u161c\u0003\u0002\u0002\u0002\u161b\u1619\u0003\u0002\u0002\u0002\u161c", + "\u161d\u0007\u08b2\u0002\u0002\u161d\u161f\u0003\u0002\u0002\u0002\u161e", + "\u1611\u0003\u0002\u0002\u0002\u161e\u161f\u0003\u0002\u0002\u0002\u161f", + "\u1621\u0003\u0002\u0002\u0002\u1620\u160d\u0003\u0002\u0002\u0002\u1620", + "\u1621\u0003\u0002\u0002\u0002\u1621\u1622\u0003\u0002\u0002\u0002\u1622", + "\u1623\u0007\u08b1\u0002\u0002\u1623\u1625\u0007\u04b9\u0002\u0002\u1624", + "\u1626\u0005\u0360\u01b1\u0002\u1625\u1624\u0003\u0002\u0002\u0002\u1625", + "\u1626\u0003\u0002\u0002\u0002\u1626\u1627\u0003\u0002\u0002\u0002\u1627", + "\u1628\u0005\u0254\u012b\u0002\u1628\u1633\u0005\u0258\u012d\u0002\u1629", + "\u162a\u0007\u08b7\u0002\u0002\u162a\u162c\u0007\u04b9\u0002\u0002\u162b", + "\u162d\u0005\u0360\u01b1\u0002\u162c\u162b\u0003\u0002\u0002\u0002\u162c", + "\u162d\u0003\u0002\u0002\u0002\u162d\u162e\u0003\u0002\u0002\u0002\u162e", + "\u162f\u0005\u0254\u012b\u0002\u162f\u1630\u0005\u0258\u012d\u0002\u1630", + "\u1632\u0003\u0002\u0002\u0002\u1631\u1629\u0003\u0002\u0002\u0002\u1632", + "\u1635\u0003\u0002\u0002\u0002\u1633\u1631\u0003\u0002\u0002\u0002\u1633", + "\u1634\u0003\u0002\u0002\u0002\u1634\u1636\u0003\u0002\u0002\u0002\u1635", + "\u1633\u0003\u0002\u0002\u0002\u1636\u1637\u0007\u08b2\u0002\u0002\u1637", + "\u0225\u0003\u0002\u0002\u0002\u1638\u1639\u0007\u04b9\u0002\u0002\u1639", + "\u163a\u0007\u0094\u0002\u0002\u163a\u163b\u0007\u02fb\u0002\u0002\u163b", + "\u163c\u0007\u08b1\u0002\u0002\u163c\u163d\u0005\u0592\u02ca\u0002\u163d", + "\u163e\u0007\u08b2\u0002\u0002\u163e\u163f\u0007\u08b1\u0002\u0002\u163f", + "\u1641\u0007\u04b9\u0002\u0002\u1640\u1642\u0005\u0360\u01b1\u0002\u1641", + "\u1640\u0003\u0002\u0002\u0002\u1641\u1642\u0003\u0002\u0002\u0002\u1642", + "\u1643\u0003\u0002\u0002\u0002\u1643\u1644\u0005\u0256\u012c\u0002\u1644", + "\u164f\u0005\u0258\u012d\u0002\u1645\u1646\u0007\u08b7\u0002\u0002\u1646", + "\u1648\u0007\u04b9\u0002\u0002\u1647\u1649\u0005\u0360\u01b1\u0002\u1648", + "\u1647\u0003\u0002\u0002\u0002\u1648\u1649\u0003\u0002\u0002\u0002\u1649", + "\u164a\u0003\u0002\u0002\u0002\u164a\u164b\u0005\u0256\u012c\u0002\u164b", + "\u164c\u0005\u0258\u012d\u0002\u164c\u164e\u0003\u0002\u0002\u0002\u164d", + "\u1645\u0003\u0002\u0002\u0002\u164e\u1651\u0003\u0002\u0002\u0002\u164f", + "\u164d\u0003\u0002\u0002\u0002\u164f\u1650\u0003\u0002\u0002\u0002\u1650", + "\u1652\u0003\u0002\u0002\u0002\u1651\u164f\u0003\u0002\u0002\u0002\u1652", + "\u1653\u0007\u08b2\u0002\u0002\u1653\u0227\u0003\u0002\u0002\u0002\u1654", + "\u1655\u0007\u04b9\u0002\u0002\u1655\u1656\u0007\u0094\u0002\u0002\u1656", + "\u1657\u0007\u0248\u0002\u0002\u1657\u1658\u0007\u08b1\u0002\u0002\u1658", + "\u165d\u0005\u0592\u02ca\u0002\u1659\u165a\u0007\u08b7\u0002\u0002\u165a", + "\u165c\u0005\u0592\u02ca\u0002\u165b\u1659\u0003\u0002\u0002\u0002\u165c", + "\u165f\u0003\u0002\u0002\u0002\u165d\u165b\u0003\u0002\u0002\u0002\u165d", + "\u165e\u0003\u0002\u0002\u0002\u165e\u1660\u0003\u0002\u0002\u0002\u165f", + "\u165d\u0003\u0002\u0002\u0002\u1660\u1663\u0007\u08b2\u0002\u0002\u1661", + "\u1664\u0005\u022a\u0116\u0002\u1662\u1664\u0005\u022c\u0117\u0002\u1663", + "\u1661\u0003\u0002\u0002\u0002\u1663\u1662\u0003\u0002\u0002\u0002\u1664", + "\u0229\u0003\u0002\u0002\u0002\u1665\u1666\u0007\u08b1\u0002\u0002\u1666", + "\u1668\u0007\u04b9\u0002\u0002\u1667\u1669\u0005\u0360\u01b1\u0002\u1668", + "\u1667\u0003\u0002\u0002\u0002\u1668\u1669\u0003\u0002\u0002\u0002\u1669", + "\u166b\u0003\u0002\u0002\u0002\u166a\u166c\u0005\u025a\u012e\u0002\u166b", + "\u166a\u0003\u0002\u0002\u0002\u166b\u166c\u0003\u0002\u0002\u0002\u166c", + "\u1677\u0003\u0002\u0002\u0002\u166d\u166e\u0007\u08b7\u0002\u0002\u166e", + "\u1670\u0007\u04b9\u0002\u0002\u166f\u1671\u0005\u0360\u01b1\u0002\u1670", + "\u166f\u0003\u0002\u0002\u0002\u1670\u1671\u0003\u0002\u0002\u0002\u1671", + "\u1673\u0003\u0002\u0002\u0002\u1672\u1674\u0005\u025a\u012e\u0002\u1673", + "\u1672\u0003\u0002\u0002\u0002\u1673\u1674\u0003\u0002\u0002\u0002\u1674", + "\u1676\u0003\u0002\u0002\u0002\u1675\u166d\u0003\u0002\u0002\u0002\u1676", + "\u1679\u0003\u0002\u0002\u0002\u1677\u1675\u0003\u0002\u0002\u0002\u1677", + "\u1678\u0003\u0002\u0002\u0002\u1678\u167a\u0003\u0002\u0002\u0002\u1679", + "\u1677\u0003\u0002\u0002\u0002\u167a\u167b\u0007\u08b2\u0002\u0002\u167b", + "\u022b\u0003\u0002\u0002\u0002\u167c\u167d\u0007\u04bb\u0002\u0002\u167d", + "\u168b\u0005\u022e\u0118\u0002\u167e\u167f\u0007\u063c\u0002\u0002\u167f", + "\u1680\u0007\u028e\u0002\u0002\u1680\u1681\u0007\u08b1\u0002\u0002\u1681", + "\u1686\u0005\u0346\u01a4\u0002\u1682\u1683\u0007\u08b7\u0002\u0002\u1683", + "\u1685\u0005\u0346\u01a4\u0002\u1684\u1682\u0003\u0002\u0002\u0002\u1685", + "\u1688\u0003\u0002\u0002\u0002\u1686\u1684\u0003\u0002\u0002\u0002\u1686", + "\u1687\u0003\u0002\u0002\u0002\u1687\u1689\u0003\u0002\u0002\u0002\u1688", + "\u1686\u0003\u0002\u0002\u0002\u1689\u168a\u0007\u08b2\u0002\u0002\u168a", + "\u168c\u0003\u0002\u0002\u0002\u168b\u167e\u0003\u0002\u0002\u0002\u168b", + "\u168c\u0003\u0002\u0002\u0002\u168c\u168f\u0003\u0002\u0002\u0002\u168d", + "\u1690\u0005\u0262\u0132\u0002\u168e\u1690\u0005\u030e\u0188\u0002\u168f", + "\u168d\u0003\u0002\u0002\u0002\u168f\u168e\u0003\u0002\u0002\u0002\u168f", + "\u1690\u0003\u0002\u0002\u0002\u1690\u169f\u0003\u0002\u0002\u0002\u1691", + "\u1692\u0007\u04a2\u0002\u0002\u1692\u1693\u0007\u063c\u0002\u0002\u1693", + "\u1694\u0007\u028e\u0002\u0002\u1694\u1695\u0007\u08b1\u0002\u0002\u1695", + "\u169a\u0005\u0346\u01a4\u0002\u1696\u1697\u0007\u08b7\u0002\u0002\u1697", + "\u1699\u0005\u0346\u01a4\u0002\u1698\u1696\u0003\u0002\u0002\u0002\u1699", + "\u169c\u0003\u0002\u0002\u0002\u169a\u1698\u0003\u0002\u0002\u0002\u169a", + "\u169b\u0003\u0002\u0002\u0002\u169b\u169d\u0003\u0002\u0002\u0002\u169c", + "\u169a\u0003\u0002\u0002\u0002\u169d\u169e\u0007\u08b2\u0002\u0002\u169e", + "\u16a0\u0003\u0002\u0002\u0002\u169f\u1691\u0003\u0002\u0002\u0002\u169f", + "\u16a0\u0003\u0002\u0002\u0002\u16a0\u022d\u0003\u0002\u0002\u0002\u16a1", + "\u16a2\u0007\u08ab\u0002\u0002\u16a2\u022f\u0003\u0002\u0002\u0002\u16a3", + "\u16a4\u0007\u04b9\u0002\u0002\u16a4\u16a5\u0007\u0094\u0002\u0002\u16a5", + "\u16a6\u0007\u0542\u0002\u0002\u16a6\u16a7\u0007\u08b1\u0002\u0002\u16a7", + "\u16ac\u0005\u0592\u02ca\u0002\u16a8\u16a9\u0007\u08b7\u0002\u0002\u16a9", + "\u16ab\u0005\u0592\u02ca\u0002\u16aa\u16a8\u0003\u0002\u0002\u0002\u16ab", + "\u16ae\u0003\u0002\u0002\u0002\u16ac\u16aa\u0003\u0002\u0002\u0002\u16ac", + "\u16ad\u0003\u0002\u0002\u0002\u16ad\u16af\u0003\u0002\u0002\u0002\u16ae", + "\u16ac\u0003\u0002\u0002\u0002\u16af\u16c3\u0007\u08b2\u0002\u0002\u16b0", + "\u16b1\u0007\u02b3\u0002\u0002\u16b1\u16b2\u0007\u08b1\u0002\u0002\u16b2", + "\u16b3\u0005\u04d4\u026b\u0002\u16b3\u16c1\u0007\u08b2\u0002\u0002\u16b4", + "\u16b5\u0007\u063c\u0002\u0002\u16b5\u16b6\u0007\u028e\u0002\u0002\u16b6", + "\u16b7\u0007\u08b1\u0002\u0002\u16b7\u16bc\u0005\u0346\u01a4\u0002\u16b8", + "\u16b9\u0007\u08b7\u0002\u0002\u16b9\u16bb\u0005\u0346\u01a4\u0002\u16ba", + "\u16b8\u0003\u0002\u0002\u0002\u16bb\u16be\u0003\u0002\u0002\u0002\u16bc", + "\u16ba\u0003\u0002\u0002\u0002\u16bc\u16bd\u0003\u0002\u0002\u0002\u16bd", + "\u16bf\u0003\u0002\u0002\u0002\u16be\u16bc\u0003\u0002\u0002\u0002\u16bf", + "\u16c0\u0007\u08b2\u0002\u0002\u16c0\u16c2\u0003\u0002\u0002\u0002\u16c1", + "\u16b4\u0003\u0002\u0002\u0002\u16c1\u16c2\u0003\u0002\u0002\u0002\u16c2", + "\u16c4\u0003\u0002\u0002\u0002\u16c3\u16b0\u0003\u0002\u0002\u0002\u16c3", + "\u16c4\u0003\u0002\u0002\u0002\u16c4\u16c8\u0003\u0002\u0002\u0002\u16c5", + "\u16c9\u0005\u0244\u0123\u0002\u16c6\u16c9\u0005\u0246\u0124\u0002\u16c7", + "\u16c9\u0005\u0248\u0125\u0002\u16c8\u16c5\u0003\u0002\u0002\u0002\u16c8", + "\u16c6\u0003\u0002\u0002\u0002\u16c8\u16c7\u0003\u0002\u0002\u0002\u16c9", + "\u16ca\u0003\u0002\u0002\u0002\u16ca\u16cb\u0007\u08b1\u0002\u0002\u16cb", + "\u16d0\u0005\u023c\u011f\u0002\u16cc\u16cd\u0007\u08b7\u0002\u0002\u16cd", + "\u16cf\u0005\u023c\u011f\u0002\u16ce\u16cc\u0003\u0002\u0002\u0002\u16cf", + "\u16d2\u0003\u0002\u0002\u0002\u16d0\u16ce\u0003\u0002\u0002\u0002\u16d0", + "\u16d1\u0003\u0002\u0002\u0002\u16d1\u16d3\u0003\u0002\u0002\u0002\u16d2", + "\u16d0\u0003\u0002\u0002\u0002\u16d3\u16d4\u0007\u08b2\u0002\u0002\u16d4", + "\u0231\u0003\u0002\u0002\u0002\u16d5\u16d6\u0007\u04b9\u0002\u0002\u16d6", + "\u16d7\u0007\u0094\u0002\u0002\u16d7\u16d8\u0007\u02fb\u0002\u0002\u16d8", + "\u16d9\u0007\u08b1\u0002\u0002\u16d9\u16da\u0005\u0592\u02ca\u0002\u16da", + "\u16de\u0007\u08b2\u0002\u0002\u16db\u16df\u0005\u0244\u0123\u0002\u16dc", + "\u16df\u0005\u0246\u0124\u0002\u16dd\u16df\u0005\u0248\u0125\u0002\u16de", + "\u16db\u0003\u0002\u0002\u0002\u16de\u16dc\u0003\u0002\u0002\u0002\u16de", + "\u16dd\u0003\u0002\u0002\u0002\u16df\u16e0\u0003\u0002\u0002\u0002\u16e0", + "\u16e1\u0007\u08b1\u0002\u0002\u16e1\u16e6\u0005\u023e\u0120\u0002\u16e2", + "\u16e3\u0007\u08b7\u0002\u0002\u16e3\u16e5\u0005\u023e\u0120\u0002\u16e4", + "\u16e2\u0003\u0002\u0002\u0002\u16e5\u16e8\u0003\u0002\u0002\u0002\u16e6", + "\u16e4\u0003\u0002\u0002\u0002\u16e6\u16e7\u0003\u0002\u0002\u0002\u16e7", + "\u16e9\u0003\u0002\u0002\u0002\u16e8\u16e6\u0003\u0002\u0002\u0002\u16e9", + "\u16ea\u0007\u08b2\u0002\u0002\u16ea\u0233\u0003\u0002\u0002\u0002\u16eb", + "\u16ec\u0007\u04b9\u0002\u0002\u16ec\u16ed\u0007\u0094\u0002\u0002\u16ed", + "\u16ee\u0007\u0248\u0002\u0002\u16ee\u16f1\u0007\u08b1\u0002\u0002\u16ef", + "\u16f0\u0007\u08b7\u0002\u0002\u16f0\u16f2\u0005\u0592\u02ca\u0002\u16f1", + "\u16ef\u0003\u0002\u0002\u0002\u16f2\u16f3\u0003\u0002\u0002\u0002\u16f3", + "\u16f1\u0003\u0002\u0002\u0002\u16f3\u16f4\u0003\u0002\u0002\u0002\u16f4", + "\u16f5\u0003\u0002\u0002\u0002\u16f5\u16f9\u0007\u08b2\u0002\u0002\u16f6", + "\u16fa\u0005\u0244\u0123\u0002\u16f7\u16fa\u0005\u0246\u0124\u0002\u16f8", + "\u16fa\u0005\u0248\u0125\u0002\u16f9\u16f6\u0003\u0002\u0002\u0002\u16f9", + "\u16f7\u0003\u0002\u0002\u0002\u16f9\u16f8\u0003\u0002\u0002\u0002\u16fa", + "\u16fd\u0003\u0002\u0002\u0002\u16fb\u16fe\u0005\u022a\u0116\u0002\u16fc", + "\u16fe\u0005\u022c\u0117\u0002\u16fd\u16fb\u0003\u0002\u0002\u0002\u16fd", + "\u16fc\u0003\u0002\u0002\u0002\u16fe\u0235\u0003\u0002\u0002\u0002\u16ff", + "\u1700\u0007\u04b9\u0002\u0002\u1700\u1701\u0007\u0094\u0002\u0002\u1701", + "\u1702\u0007\u055f\u0002\u0002\u1702\u1703\u0007\u08b1\u0002\u0002\u1703", + "\u1704\u0005\u05d6\u02ec\u0002\u1704\u1710\u0007\u08b2\u0002\u0002\u1705", + "\u1706\u0007\u08b1\u0002\u0002\u1706\u170b\u0005\u0238\u011d\u0002\u1707", + "\u1708\u0007\u08b7\u0002\u0002\u1708\u170a\u0005\u0238\u011d\u0002\u1709", + "\u1707\u0003\u0002\u0002\u0002\u170a\u170d\u0003\u0002\u0002\u0002\u170b", + "\u1709\u0003\u0002\u0002\u0002\u170b\u170c\u0003\u0002\u0002\u0002\u170c", + "\u170e\u0003\u0002\u0002\u0002\u170d\u170b\u0003\u0002\u0002\u0002\u170e", + "\u170f\u0007\u08b2\u0002\u0002\u170f\u1711\u0003\u0002\u0002\u0002\u1710", + "\u1705\u0003\u0002\u0002\u0002\u1710\u1711\u0003\u0002\u0002\u0002\u1711", + "\u0237\u0003\u0002\u0002\u0002\u1712\u1714\u0007\u04b9\u0002\u0002\u1713", + "\u1715\u0005\u0360\u01b1\u0002\u1714\u1713\u0003\u0002\u0002\u0002\u1714", + "\u1715\u0003\u0002\u0002\u0002\u1715\u1716\u0003\u0002\u0002\u0002\u1716", + "\u1717\u0005\u0258\u012d\u0002\u1717\u0239\u0003\u0002\u0002\u0002\u1718", + "\u1719\u0007\u04b9\u0002\u0002\u1719\u171a\u0007\u0094\u0002\u0002\u171a", + "\u1725\u0007\u06f5\u0002\u0002\u171b\u171c\u0007\u04bb\u0002\u0002\u171c", + "\u1726\u0007\u08ab\u0002\u0002\u171d\u1722\u0005\u0238\u011d\u0002\u171e", + "\u171f\u0007\u08b7\u0002\u0002\u171f\u1721\u0005\u0238\u011d\u0002\u1720", + "\u171e\u0003\u0002\u0002\u0002\u1721\u1724\u0003\u0002\u0002\u0002\u1722", + "\u1720\u0003\u0002\u0002\u0002\u1722\u1723\u0003\u0002\u0002\u0002\u1723", + "\u1726\u0003\u0002\u0002\u0002\u1724\u1722\u0003\u0002\u0002\u0002\u1725", + "\u171b\u0003\u0002\u0002\u0002\u1725\u171d\u0003\u0002\u0002\u0002\u1725", + "\u1726\u0003\u0002\u0002\u0002\u1726\u023b\u0003\u0002\u0002\u0002\u1727", + "\u1729\u0007\u04b9\u0002\u0002\u1728\u172a\u0005\u0360\u01b1\u0002\u1729", + "\u1728\u0003\u0002\u0002\u0002\u1729\u172a\u0003\u0002\u0002\u0002\u172a", + "\u172b\u0003\u0002\u0002\u0002\u172b\u172c\u0005\u0254\u012b\u0002\u172c", + "\u174d\u0005\u0258\u012d\u0002\u172d\u1746\u0007\u08b1\u0002\u0002\u172e", + "\u1733\u0005\u024c\u0127\u0002\u172f\u1730\u0007\u08b7\u0002\u0002\u1730", + "\u1732\u0005\u024c\u0127\u0002\u1731\u172f\u0003\u0002\u0002\u0002\u1732", + "\u1735\u0003\u0002\u0002\u0002\u1733\u1731\u0003\u0002\u0002\u0002\u1733", + "\u1734\u0003\u0002\u0002\u0002\u1734\u1747\u0003\u0002\u0002\u0002\u1735", + "\u1733\u0003\u0002\u0002\u0002\u1736\u173b\u0005\u024e\u0128\u0002\u1737", + "\u1738\u0007\u08b7\u0002\u0002\u1738\u173a\u0005\u024e\u0128\u0002\u1739", + "\u1737\u0003\u0002\u0002\u0002\u173a\u173d\u0003\u0002\u0002\u0002\u173b", + "\u1739\u0003\u0002\u0002\u0002\u173b\u173c\u0003\u0002\u0002\u0002\u173c", + "\u1747\u0003\u0002\u0002\u0002\u173d\u173b\u0003\u0002\u0002\u0002\u173e", + "\u1743\u0005\u0250\u0129\u0002\u173f\u1740\u0007\u08b7\u0002\u0002\u1740", + "\u1742\u0005\u0250\u0129\u0002\u1741\u173f\u0003\u0002\u0002\u0002\u1742", + "\u1745\u0003\u0002\u0002\u0002\u1743\u1741\u0003\u0002\u0002\u0002\u1743", + "\u1744\u0003\u0002\u0002\u0002\u1744\u1747\u0003\u0002\u0002\u0002\u1745", + "\u1743\u0003\u0002\u0002\u0002\u1746\u172e\u0003\u0002\u0002\u0002\u1746", + "\u1736\u0003\u0002\u0002\u0002\u1746\u173e\u0003\u0002\u0002\u0002\u1747", + "\u1748\u0003\u0002\u0002\u0002\u1748\u1749\u0007\u08b2\u0002\u0002\u1749", + "\u174c\u0003\u0002\u0002\u0002\u174a\u174c\u0005\u0252\u012a\u0002\u174b", + "\u172d\u0003\u0002\u0002\u0002\u174b\u174a\u0003\u0002\u0002\u0002\u174c", + "\u174e\u0003\u0002\u0002\u0002\u174d\u174b\u0003\u0002\u0002\u0002\u174d", + "\u174e\u0003\u0002\u0002\u0002\u174e\u023d\u0003\u0002\u0002\u0002\u174f", + "\u1751\u0007\u04b9\u0002\u0002\u1750\u1752\u0005\u0360\u01b1\u0002\u1751", + "\u1750\u0003\u0002\u0002\u0002\u1751\u1752\u0003\u0002\u0002\u0002\u1752", + "\u1753\u0003\u0002\u0002\u0002\u1753\u1754\u0005\u0256\u012c\u0002\u1754", + "\u1775\u0005\u0258\u012d\u0002\u1755\u176e\u0007\u08b1\u0002\u0002\u1756", + "\u175b\u0005\u024c\u0127\u0002\u1757\u1758\u0007\u08b7\u0002\u0002\u1758", + "\u175a\u0005\u024c\u0127\u0002\u1759\u1757\u0003\u0002\u0002\u0002\u175a", + "\u175d\u0003\u0002\u0002\u0002\u175b\u1759\u0003\u0002\u0002\u0002\u175b", + "\u175c\u0003\u0002\u0002\u0002\u175c\u176f\u0003\u0002\u0002\u0002\u175d", + "\u175b\u0003\u0002\u0002\u0002\u175e\u1763\u0005\u024e\u0128\u0002\u175f", + "\u1760\u0007\u08b7\u0002\u0002\u1760\u1762\u0005\u024e\u0128\u0002\u1761", + "\u175f\u0003\u0002\u0002\u0002\u1762\u1765\u0003\u0002\u0002\u0002\u1763", + "\u1761\u0003\u0002\u0002\u0002\u1763\u1764\u0003\u0002\u0002\u0002\u1764", + "\u176f\u0003\u0002\u0002\u0002\u1765\u1763\u0003\u0002\u0002\u0002\u1766", + "\u176b\u0005\u0250\u0129\u0002\u1767\u1768\u0007\u08b7\u0002\u0002\u1768", + "\u176a\u0005\u0250\u0129\u0002\u1769\u1767\u0003\u0002\u0002\u0002\u176a", + "\u176d\u0003\u0002\u0002\u0002\u176b\u1769\u0003\u0002\u0002\u0002\u176b", + "\u176c\u0003\u0002\u0002\u0002\u176c\u176f\u0003\u0002\u0002\u0002\u176d", + "\u176b\u0003\u0002\u0002\u0002\u176e\u1756\u0003\u0002\u0002\u0002\u176e", + "\u175e\u0003\u0002\u0002\u0002\u176e\u1766\u0003\u0002\u0002\u0002\u176f", + "\u1770\u0003\u0002\u0002\u0002\u1770\u1771\u0007\u08b2\u0002\u0002\u1771", + "\u1774\u0003\u0002\u0002\u0002\u1772\u1774\u0005\u0252\u012a\u0002\u1773", + "\u1755\u0003\u0002\u0002\u0002\u1773\u1772\u0003\u0002\u0002\u0002\u1774", + "\u1776\u0003\u0002\u0002\u0002\u1775\u1773\u0003\u0002\u0002\u0002\u1775", + "\u1776\u0003\u0002\u0002\u0002\u1776\u023f\u0003\u0002\u0002\u0002\u1777", + "\u1778\u0007\u0648\u0002\u0002\u1778\u1797\u0007\u0781\u0002\u0002\u1779", + "\u1792\u0007\u08b1\u0002\u0002\u177a\u177f\u0005\u024c\u0127\u0002\u177b", + "\u177c\u0007\u08b7\u0002\u0002\u177c\u177e\u0005\u024c\u0127\u0002\u177d", + "\u177b\u0003\u0002\u0002\u0002\u177e\u1781\u0003\u0002\u0002\u0002\u177f", + "\u177d\u0003\u0002\u0002\u0002\u177f\u1780\u0003\u0002\u0002\u0002\u1780", + "\u1793\u0003\u0002\u0002\u0002\u1781\u177f\u0003\u0002\u0002\u0002\u1782", + "\u1787\u0005\u024e\u0128\u0002\u1783\u1784\u0007\u08b7\u0002\u0002\u1784", + "\u1786\u0005\u024e\u0128\u0002\u1785\u1783\u0003\u0002\u0002\u0002\u1786", + "\u1789\u0003\u0002\u0002\u0002\u1787\u1785\u0003\u0002\u0002\u0002\u1787", + "\u1788\u0003\u0002\u0002\u0002\u1788\u1793\u0003\u0002\u0002\u0002\u1789", + "\u1787\u0003\u0002\u0002\u0002\u178a\u178f\u0005\u0250\u0129\u0002\u178b", + "\u178c\u0007\u08b7\u0002\u0002\u178c\u178e\u0005\u0250\u0129\u0002\u178d", + "\u178b\u0003\u0002\u0002\u0002\u178e\u1791\u0003\u0002\u0002\u0002\u178f", + "\u178d\u0003\u0002\u0002\u0002\u178f\u1790\u0003\u0002\u0002\u0002\u1790", + "\u1793\u0003\u0002\u0002\u0002\u1791\u178f\u0003\u0002\u0002\u0002\u1792", + "\u177a\u0003\u0002\u0002\u0002\u1792\u1782\u0003\u0002\u0002\u0002\u1792", + "\u178a\u0003\u0002\u0002\u0002\u1793\u1794\u0003\u0002\u0002\u0002\u1794", + "\u1795\u0007\u08b2\u0002\u0002\u1795\u1798\u0003\u0002\u0002\u0002\u1796", + "\u1798\u0005\u0242\u0122\u0002\u1797\u1779\u0003\u0002\u0002\u0002\u1797", + "\u1796\u0003\u0002\u0002\u0002\u1798\u0241\u0003\u0002\u0002\u0002\u1799", + "\u179a\u0007\u08ab\u0002\u0002\u179a\u0243\u0003\u0002\u0002\u0002\u179b", + "\u179c\u0007\u0648\u0002\u0002\u179c\u179d\u0007\u0094\u0002\u0002\u179d", + "\u179e\u0007\u0542\u0002\u0002\u179e\u179f\u0007\u08b1\u0002\u0002\u179f", + "\u17a4\u0005\u0592\u02ca\u0002\u17a0\u17a1\u0007\u08b7\u0002\u0002\u17a1", + "\u17a3\u0005\u0592\u02ca\u0002\u17a2\u17a0\u0003\u0002\u0002\u0002\u17a3", + "\u17a6\u0003\u0002\u0002\u0002\u17a4\u17a2\u0003\u0002\u0002\u0002\u17a4", + "\u17a5\u0003\u0002\u0002\u0002\u17a5\u17a7\u0003\u0002\u0002\u0002\u17a6", + "\u17a4\u0003\u0002\u0002\u0002\u17a7\u17a9\u0007\u08b2\u0002\u0002\u17a8", + "\u17aa\u0005\u0240\u0121\u0002\u17a9\u17a8\u0003\u0002\u0002\u0002\u17a9", + "\u17aa\u0003\u0002\u0002\u0002\u17aa\u0245\u0003\u0002\u0002\u0002\u17ab", + "\u17ac\u0007\u0648\u0002\u0002\u17ac\u17ad\u0007\u0094\u0002\u0002\u17ad", + "\u17ae\u0007\u02fb\u0002\u0002\u17ae\u17af\u0007\u08b1\u0002\u0002\u17af", + "\u17b0\u0005\u0592\u02ca\u0002\u17b0\u17b2\u0007\u08b2\u0002\u0002\u17b1", + "\u17b3\u0005\u0240\u0121\u0002\u17b2\u17b1\u0003\u0002\u0002\u0002\u17b2", + "\u17b3\u0003\u0002\u0002\u0002\u17b3\u0247\u0003\u0002\u0002\u0002\u17b4", + "\u17b5\u0007\u0648\u0002\u0002\u17b5\u17b6\u0007\u0094\u0002\u0002\u17b6", + "\u17b7\u0007\u0248\u0002\u0002\u17b7\u17b8\u0007\u08b1\u0002\u0002\u17b8", + "\u17bd\u0005\u0592\u02ca\u0002\u17b9\u17ba\u0007\u08b7\u0002\u0002\u17ba", + "\u17bc\u0005\u0592\u02ca\u0002\u17bb\u17b9\u0003\u0002\u0002\u0002\u17bc", + "\u17bf\u0003\u0002\u0002\u0002\u17bd\u17bb\u0003\u0002\u0002\u0002\u17bd", + "\u17be\u0003\u0002\u0002\u0002\u17be\u17c0\u0003\u0002\u0002\u0002\u17bf", + "\u17bd\u0003\u0002\u0002\u0002\u17c0\u17d3\u0007\u08b2\u0002\u0002\u17c1", + "\u17c2\u0007\u0647\u0002\u0002\u17c2\u17d0\u0007\u08ab\u0002\u0002\u17c3", + "\u17c4\u0007\u063c\u0002\u0002\u17c4\u17c5\u0007\u028e\u0002\u0002\u17c5", + "\u17c6\u0007\u08b1\u0002\u0002\u17c6\u17cb\u0005\u0346\u01a4\u0002\u17c7", + "\u17c8\u0007\u08b7\u0002\u0002\u17c8\u17ca\u0005\u0346\u01a4\u0002\u17c9", + "\u17c7\u0003\u0002\u0002\u0002\u17ca\u17cd\u0003\u0002\u0002\u0002\u17cb", + "\u17c9\u0003\u0002\u0002\u0002\u17cb\u17cc\u0003\u0002\u0002\u0002\u17cc", + "\u17ce\u0003\u0002\u0002\u0002\u17cd\u17cb\u0003\u0002\u0002\u0002\u17ce", + "\u17cf\u0007\u08b2\u0002\u0002\u17cf\u17d1\u0003\u0002\u0002\u0002\u17d0", + "\u17c3\u0003\u0002\u0002\u0002\u17d0\u17d1\u0003\u0002\u0002\u0002\u17d1", + "\u17d4\u0003\u0002\u0002\u0002\u17d2\u17d4\u0005\u0240\u0121\u0002\u17d3", + "\u17c1\u0003\u0002\u0002\u0002\u17d3\u17d2\u0003\u0002\u0002\u0002\u17d3", + "\u17d4\u0003\u0002\u0002\u0002\u17d4\u0249\u0003\u0002\u0002\u0002\u17d5", + "\u17d6\u0005\u0360\u01b1\u0002\u17d6\u024b\u0003\u0002\u0002\u0002\u17d7", + "\u17d9\u0007\u0648\u0002\u0002\u17d8\u17da\u0005\u024a\u0126\u0002\u17d9", + "\u17d8\u0003\u0002\u0002\u0002\u17d9\u17da\u0003\u0002\u0002\u0002\u17da", + "\u17db\u0003\u0002\u0002\u0002\u17db\u17dd\u0005\u0254\u012b\u0002\u17dc", + "\u17de\u0005\u025a\u012e\u0002\u17dd\u17dc\u0003\u0002\u0002\u0002\u17dd", + "\u17de\u0003\u0002\u0002\u0002\u17de\u024d\u0003\u0002\u0002\u0002\u17df", + "\u17e1\u0007\u0648\u0002\u0002\u17e0\u17e2\u0005\u024a\u0126\u0002\u17e1", + "\u17e0\u0003\u0002\u0002\u0002\u17e1\u17e2\u0003\u0002\u0002\u0002\u17e2", + "\u17e3\u0003\u0002\u0002\u0002\u17e3\u17e5\u0005\u0256\u012c\u0002\u17e4", + "\u17e6\u0005\u025a\u012e\u0002\u17e5\u17e4\u0003\u0002\u0002\u0002\u17e5", + "\u17e6\u0003\u0002\u0002\u0002\u17e6\u024f\u0003\u0002\u0002\u0002\u17e7", + "\u17e9\u0007\u0648\u0002\u0002\u17e8\u17ea\u0005\u024a\u0126\u0002\u17e9", + "\u17e8\u0003\u0002\u0002\u0002\u17e9\u17ea\u0003\u0002\u0002\u0002\u17ea", + "\u17ec\u0003\u0002\u0002\u0002\u17eb\u17ed\u0005\u025a\u012e\u0002\u17ec", + "\u17eb\u0003\u0002\u0002\u0002\u17ec\u17ed\u0003\u0002\u0002\u0002\u17ed", + "\u0251\u0003\u0002\u0002\u0002\u17ee\u17ef\u0007\u0647\u0002\u0002\u17ef", + "\u17fd\u0007\u08ab\u0002\u0002\u17f0\u17f1\u0007\u063c\u0002\u0002\u17f1", + "\u17f2\u0007\u028e\u0002\u0002\u17f2\u17f3\u0007\u08b1\u0002\u0002\u17f3", + "\u17f8\u0005\u0346\u01a4\u0002\u17f4\u17f5\u0007\u08b7\u0002\u0002\u17f5", + "\u17f7\u0005\u0346\u01a4\u0002\u17f6\u17f4\u0003\u0002\u0002\u0002\u17f7", + "\u17fa\u0003\u0002\u0002\u0002\u17f8\u17f6\u0003\u0002\u0002\u0002\u17f8", + "\u17f9\u0003\u0002\u0002\u0002\u17f9\u17fb\u0003\u0002\u0002\u0002\u17fa", + "\u17f8\u0003\u0002\u0002\u0002\u17fb\u17fc\u0007\u08b2\u0002\u0002\u17fc", + "\u17fe\u0003\u0002\u0002\u0002\u17fd\u17f0\u0003\u0002\u0002\u0002\u17fd", + "\u17fe\u0003\u0002\u0002\u0002\u17fe\u0253\u0003\u0002\u0002\u0002\u17ff", + "\u1800\u0007\u081b\u0002\u0002\u1800\u1801\u0007\u02ec\u0002\u0002\u1801", + "\u1802\u0007\u0786\u0002\u0002\u1802\u1803\u0007\u08b1\u0002\u0002\u1803", + "\u1808\u0005\u050c\u0287\u0002\u1804\u1805\u0007\u08b7\u0002\u0002\u1805", + "\u1807\u0005\u050c\u0287\u0002\u1806\u1804\u0003\u0002\u0002\u0002\u1807", + "\u180a\u0003\u0002\u0002\u0002\u1808\u1806\u0003\u0002\u0002\u0002\u1808", + "\u1809\u0003\u0002\u0002\u0002\u1809\u180b\u0003\u0002\u0002\u0002\u180a", + "\u1808\u0003\u0002\u0002\u0002\u180b\u180c\u0007\u08b2\u0002\u0002\u180c", + "\u0255\u0003\u0002\u0002\u0002\u180d\u180e\u0007\u081b\u0002\u0002\u180e", + "\u1818\u0007\u08b1\u0002\u0002\u180f\u1814\u0005\u050c\u0287\u0002\u1810", + "\u1811\u0007\u08b7\u0002\u0002\u1811\u1813\u0005\u050c\u0287\u0002\u1812", + "\u1810\u0003\u0002\u0002\u0002\u1813\u1816\u0003\u0002\u0002\u0002\u1814", + "\u1812\u0003\u0002\u0002\u0002\u1814\u1815\u0003\u0002\u0002\u0002\u1815", + "\u1819\u0003\u0002\u0002\u0002\u1816\u1814\u0003\u0002\u0002\u0002\u1817", + "\u1819\u0007\u0161\u0002\u0002\u1818\u180f\u0003\u0002\u0002\u0002\u1818", + "\u1817\u0003\u0002\u0002\u0002\u1819\u181a\u0003\u0002\u0002\u0002\u181a", + "\u181b\u0007\u08b2\u0002\u0002\u181b\u0257\u0003\u0002\u0002\u0002\u181c", + "\u181e\u0005\u0268\u0135\u0002\u181d\u181c\u0003\u0002\u0002\u0002\u181d", + "\u181e\u0003\u0002\u0002\u0002\u181e\u1820\u0003\u0002\u0002\u0002\u181f", + "\u1821\u0005\u026a\u0136\u0002\u1820\u181f\u0003\u0002\u0002\u0002\u1820", + "\u1821\u0003\u0002\u0002\u0002\u1821\u1824\u0003\u0002\u0002\u0002\u1822", + "\u1825\u0005\u0262\u0132\u0002\u1823\u1825\u0005\u030e\u0188\u0002\u1824", + "\u1822\u0003\u0002\u0002\u0002\u1824\u1823\u0003\u0002\u0002\u0002\u1824", + "\u1825\u0003\u0002\u0002\u0002\u1825\u182a\u0003\u0002\u0002\u0002\u1826", + "\u1828\u0007\u04a2\u0002\u0002\u1827\u1829\u0005\u026a\u0136\u0002\u1828", + "\u1827\u0003\u0002\u0002\u0002\u1828\u1829\u0003\u0002\u0002\u0002\u1829", + "\u182b\u0003\u0002\u0002\u0002\u182a\u1826\u0003\u0002\u0002\u0002\u182a", + "\u182b\u0003\u0002\u0002\u0002\u182b\u182f\u0003\u0002\u0002\u0002\u182c", + "\u1830\u0005\u0336\u019c\u0002\u182d\u1830\u0005\u032c\u0197\u0002\u182e", + "\u1830\u0005\u035a\u01ae\u0002\u182f\u182c\u0003\u0002\u0002\u0002\u182f", + "\u182d\u0003\u0002\u0002\u0002\u182f\u182e\u0003\u0002\u0002\u0002\u182f", + "\u1830\u0003\u0002\u0002\u0002\u1830\u0259\u0003\u0002\u0002\u0002\u1831", + "\u1832\u0007\u0777\u0002\u0002\u1832\u1846\u0005\u0346\u01a4\u0002\u1833", + "\u1836\u0007\u04a2\u0002\u0002\u1834\u1835\u0007\u0777\u0002\u0002\u1835", + "\u1837\u0005\u0346\u01a4\u0002\u1836\u1834\u0003\u0002\u0002\u0002\u1836", + "\u1837\u0003\u0002\u0002\u0002\u1837\u1846\u0003\u0002\u0002\u0002\u1838", + "\u1846\u0005\u0262\u0132\u0002\u1839\u1846\u0005\u030e\u0188\u0002\u183a", + "\u1846\u0005\u025c\u012f\u0002\u183b\u183c\u0007\u0822\u0002\u0002\u183c", + "\u183d\u0005\u0348\u01a5\u0002\u183d\u183e\u0007\u063c\u0002\u0002\u183e", + "\u1840\u0007?\u0002\u0002\u183f\u1841\t<\u0002\u0002\u1840\u183f\u0003", + "\u0002\u0002\u0002\u1840\u1841\u0003\u0002\u0002\u0002\u1841\u1842\u0003", + "\u0002\u0002\u0002\u1842\u1843\u0007\u02ff\u0002\u0002\u1843\u1844\u0005", + "\u0330\u0199\u0002\u1844\u1846\u0003\u0002\u0002\u0002\u1845\u1831\u0003", + "\u0002\u0002\u0002\u1845\u1833\u0003\u0002\u0002\u0002\u1845\u1838\u0003", + "\u0002\u0002\u0002\u1845\u1839\u0003\u0002\u0002\u0002\u1845\u183a\u0003", + "\u0002\u0002\u0002\u1845\u183b\u0003\u0002\u0002\u0002\u1846\u1847\u0003", + "\u0002\u0002\u0002\u1847\u1845\u0003\u0002\u0002\u0002\u1847\u1848\u0003", + "\u0002\u0002\u0002\u1848\u025b\u0003\u0002\u0002\u0002\u1849\u184a\u0007", + "\u02ff\u0002\u0002\u184a\u184b\u0007\u08b1\u0002\u0002\u184b\u184c\u0005", + "\u0332\u019a\u0002\u184c\u184d\u0007\u08b2\u0002\u0002\u184d\u184e\u0007", + "\u063c\u0002\u0002\u184e\u1850\u0007?\u0002\u0002\u184f\u1851\t<\u0002", + "\u0002\u1850\u184f\u0003\u0002\u0002\u0002\u1850\u1851\u0003\u0002\u0002", + "\u0002\u1851\u185f\u0003\u0002\u0002\u0002\u1852\u1858\u0005\u0330\u0199", + "\u0002\u1853\u1854\u0007\u08b1\u0002\u0002\u1854\u1855\u0007\u0777\u0002", + "\u0002\u1855\u1856\u0005\u0346\u01a4\u0002\u1856\u1857\u0007\u08b2\u0002", + "\u0002\u1857\u1859\u0003\u0002\u0002\u0002\u1858\u1853\u0003\u0002\u0002", + "\u0002\u1858\u1859\u0003\u0002\u0002\u0002\u1859\u1860\u0003\u0002\u0002", + "\u0002\u185a\u185b\u0007\u08b1\u0002\u0002\u185b\u185c\u0007\u0777\u0002", + "\u0002\u185c\u185d\u0005\u0346\u01a4\u0002\u185d\u185e\u0007\u08b2\u0002", + "\u0002\u185e\u1860\u0003\u0002\u0002\u0002\u185f\u1852\u0003\u0002\u0002", + "\u0002\u185f\u185a\u0003\u0002\u0002\u0002\u1860\u025d\u0003\u0002\u0002", + "\u0002\u1861\u1862\u0005\u0592\u02ca\u0002\u1862\u1864\u0005\u05b6\u02dc", + "\u0002\u1863\u1865\u0007\u060a\u0002\u0002\u1864\u1863\u0003\u0002\u0002", + "\u0002\u1864\u1865\u0003\u0002\u0002\u0002\u1865\u1868\u0003\u0002\u0002", + "\u0002\u1866\u1867\u0007\u0161\u0002\u0002\u1867\u1869\u0005\u04d4\u026b", + "\u0002\u1868\u1866\u0003\u0002\u0002\u0002\u1868\u1869\u0003\u0002\u0002", + "\u0002\u1869\u187d\u0003\u0002\u0002\u0002\u186a\u186d\u0007\u01bd\u0002", + "\u0002\u186b\u186c\u0007\u0811\u0002\u0002\u186c\u186e\u0007\u08ad\u0002", + "\u0002\u186d\u186b\u0003\u0002\u0002\u0002\u186d\u186e\u0003\u0002\u0002", + "\u0002\u186e\u1872\u0003\u0002\u0002\u0002\u186f\u1870\u0007\u025b\u0002", + "\u0002\u1870\u1871\u0007\u0094\u0002\u0002\u1871\u1873\u0007\u08ce\u0002", + "\u0002\u1872\u186f\u0003\u0002\u0002\u0002\u1872\u1873\u0003\u0002\u0002", + "\u0002\u1873\u1875\u0003\u0002\u0002\u0002\u1874\u1876\u0007\u08ad\u0002", + "\u0002\u1875\u1874\u0003\u0002\u0002\u0002\u1875\u1876\u0003\u0002\u0002", + "\u0002\u1876\u187b\u0003\u0002\u0002\u0002\u1877\u1879\u0007\u03f4\u0002", + "\u0002\u1878\u1877\u0003\u0002\u0002\u0002\u1878\u1879\u0003\u0002\u0002", + "\u0002\u1879\u187a\u0003\u0002\u0002\u0002\u187a\u187c\u0007\u05b4\u0002", + "\u0002\u187b\u1878\u0003\u0002\u0002\u0002\u187b\u187c\u0003\u0002\u0002", + "\u0002\u187c\u187e\u0003\u0002\u0002\u0002\u187d\u186a\u0003\u0002\u0002", + "\u0002\u187d\u187e\u0003\u0002\u0002\u0002\u187e\u1881\u0003\u0002\u0002", + "\u0002\u187f\u1880\u0007\u0433\u0002\u0002\u1880\u1882\u0007\u044b\u0002", + "\u0002\u1881\u187f\u0003\u0002\u0002\u0002\u1881\u1882\u0003\u0002\u0002", + "\u0002\u1882\u1884\u0003\u0002\u0002\u0002\u1883\u1885\t\u0007\u0002", + "\u0002\u1884\u1883\u0003\u0002\u0002\u0002\u1884\u1885\u0003\u0002\u0002", + "\u0002\u1885\u025f\u0003\u0002\u0002\u0002\u1886\u1888\u0007\u08ab\u0002", + "\u0002\u1887\u1889\u0007\u08ce\u0002\u0002\u1888\u1887\u0003\u0002\u0002", + "\u0002\u1888\u1889\u0003\u0002\u0002\u0002\u1889\u0261\u0003\u0002\u0002", + "\u0002\u188a\u1894\u0007\u00ea\u0002\u0002\u188b\u1895\u0007a\u0002", + "\u0002\u188c\u1892\u0007\u0224\u0002\u0002\u188d\u1893\u0007\u0464\u0002", + "\u0002\u188e\u1890\t>\u0002\u0002\u188f\u1891\t?\u0002\u0002\u1890\u188f", + "\u0003\u0002\u0002\u0002\u1890\u1891\u0003\u0002\u0002\u0002\u1891\u1893", + "\u0003\u0002\u0002\u0002\u1892\u188d\u0003\u0002\u0002\u0002\u1892\u188e", + "\u0003\u0002\u0002\u0002\u1893\u1895\u0003\u0002\u0002\u0002\u1894\u188b", + "\u0003\u0002\u0002\u0002\u1894\u188c\u0003\u0002\u0002\u0002\u1894\u1895", + "\u0003\u0002\u0002\u0002\u1895\u1898\u0003\u0002\u0002\u0002\u1896\u1898", + "\u0007\u03bb\u0002\u0002\u1897\u188a\u0003\u0002\u0002\u0002\u1897\u1896", + "\u0003\u0002\u0002\u0002\u1898\u0263\u0003\u0002\u0002\u0002\u1899\u189a", + "\u0007\u04cd\u0002\u0002\u189a\u18a1\u0007\u08ab\u0002\u0002\u189b\u189c", + "\u0007\u04d0\u0002\u0002\u189c\u18a1\u0007\u08ab\u0002\u0002\u189d\u189e", + "\u0007\u0293\u0002\u0002\u189e\u18a1\u0007\u08ab\u0002\u0002\u189f\u18a1", + "\u0005\u0266\u0134\u0002\u18a0\u1899\u0003\u0002\u0002\u0002\u18a0\u189b", + "\u0003\u0002\u0002\u0002\u18a0\u189d\u0003\u0002\u0002\u0002\u18a0\u189f", + "\u0003\u0002\u0002\u0002\u18a1\u18a2\u0003\u0002\u0002\u0002\u18a2\u18a0", + "\u0003\u0002\u0002\u0002\u18a2\u18a3\u0003\u0002\u0002\u0002\u18a3\u0265", + "\u0003\u0002\u0002\u0002\u18a4\u18a5\u0007\u063b\u0002\u0002\u18a5\u18bf", + "\u0007\u08b1\u0002\u0002\u18a6\u18a7\u0007\u0290\u0002\u0002\u18a7\u18c0", + "\u0005\u0260\u0131\u0002\u18a8\u18a9\u0007\u038c\u0002\u0002\u18a9\u18c0", + "\u0005\u0260\u0131\u0002\u18aa\u18ab\u0007\u0348\u0002\u0002\u18ab\u18c0", + "\t@\u0002\u0002\u18ac\u18ad\u0007\u032f\u0002\u0002\u18ad\u18c0\t@\u0002", + "\u0002\u18ae\u18af\u0007\u04ce\u0002\u0002\u18af\u18c0\u0007\u08ab\u0002", + "\u0002\u18b0\u18b1\u0007\u0229\u0002\u0002\u18b1\u18c0\u0007\u08ab\u0002", + "\u0002\u18b2\u18b3\u0007\u0228\u0002\u0002\u18b3\u18b4\u0007\u0243\u0002", + "\u0002\u18b4\u18c0\u0007\u08ab\u0002\u0002\u18b5\u18b8\u0007\u0473\u0002", + "\u0002\u18b6\u18b9\u0005\u0260\u0131\u0002\u18b7\u18b9\u0007\u044b\u0002", + "\u0002\u18b8\u18b6\u0003\u0002\u0002\u0002\u18b8\u18b7\u0003\u0002\u0002", + "\u0002\u18b9\u18c0\u0003\u0002\u0002\u0002\u18ba\u18bb\u0007\u0091\u0002", + "\u0002\u18bb\u18c0\tA\u0002\u0002\u18bc\u18bd\u0007\u0217\u0002\u0002", + "\u18bd\u18c0\tB\u0002\u0002\u18be\u18c0\u0007\u01bd\u0002\u0002\u18bf", + "\u18a6\u0003\u0002\u0002\u0002\u18bf\u18a8\u0003\u0002\u0002\u0002\u18bf", + "\u18aa\u0003\u0002\u0002\u0002\u18bf\u18ac\u0003\u0002\u0002\u0002\u18bf", + "\u18ae\u0003\u0002\u0002\u0002\u18bf\u18b0\u0003\u0002\u0002\u0002\u18bf", + "\u18b2\u0003\u0002\u0002\u0002\u18bf\u18b5\u0003\u0002\u0002\u0002\u18bf", + "\u18ba\u0003\u0002\u0002\u0002\u18bf\u18bc\u0003\u0002\u0002\u0002\u18bf", + "\u18be\u0003\u0002\u0002\u0002\u18c0\u18c1\u0003\u0002\u0002\u0002\u18c1", + "\u18bf\u0003\u0002\u0002\u0002\u18c1\u18c2\u0003\u0002\u0002\u0002\u18c2", + "\u18c3\u0003\u0002\u0002\u0002\u18c3\u18c4\u0007\u08b2\u0002\u0002\u18c4", + "\u0267\u0003\u0002\u0002\u0002\u18c5\u18c6\u0007\u05d2\u0002\u0002\u18c6", + "\u18c7\u0007\u0125\u0002\u0002\u18c7\u18c8\t(\u0002\u0002\u18c8\u0269", + "\u0003\u0002\u0002\u0002\u18c9\u18ce\u0005\u0264\u0133\u0002\u18ca\u18cb", + "\u0007\u0777\u0002\u0002\u18cb\u18ce\u0005\u05d2\u02ea\u0002\u18cc\u18ce", + "\u0005\u01c2\u00e2\u0002\u18cd\u18c9\u0003\u0002\u0002\u0002\u18cd\u18ca", + "\u0003\u0002\u0002\u0002\u18cd\u18cc\u0003\u0002\u0002\u0002\u18ce\u18cf", + "\u0003\u0002\u0002\u0002\u18cf\u18cd\u0003\u0002\u0002\u0002\u18cf\u18d0", + "\u0003\u0002\u0002\u0002\u18d0\u026b\u0003\u0002\u0002\u0002\u18d1\u18d3", + "\u0005\u0268\u0135\u0002\u18d2\u18d1\u0003\u0002\u0002\u0002\u18d2\u18d3", + "\u0003\u0002\u0002\u0002\u18d3\u18d4\u0003\u0002\u0002\u0002\u18d4\u18d6", + "\u0005\u026a\u0136\u0002\u18d5\u18d7\u0005\u0262\u0132\u0002\u18d6\u18d5", + "\u0003\u0002\u0002\u0002\u18d6\u18d7\u0003\u0002\u0002\u0002\u18d7\u026d", + "\u0003\u0002\u0002\u0002\u18d8\u18da\t\u0007\u0002\u0002\u18d9\u18d8", + "\u0003\u0002\u0002\u0002\u18d9\u18da\u0003\u0002\u0002\u0002\u18da\u18db", + "\u0003\u0002\u0002\u0002\u18db\u18dc\u0007\u05ad\u0002\u0002\u18dc\u18dd", + "\u0007\u036b\u0002\u0002\u18dd\u026f\u0003\u0002\u0002\u0002\u18de\u18df", + "\u0007\u0216\u0002\u0002\u18df\u18e0\u0007;\u0002\u0002\u18e0\u18e5", + "\u0007\u08ce\u0002\u0002\u18e1\u18e2\u0007\u03f4\u0002\u0002\u18e2\u18e3", + "\u0007\u0216\u0002\u0002\u18e3\u18e5\u0007;\u0002\u0002\u18e4\u18de", + "\u0003\u0002\u0002\u0002\u18e4\u18e1\u0003\u0002\u0002\u0002\u18e5\u0271", + "\u0003\u0002\u0002\u0002\u18e6\u18e7\u0007\u08ab\u0002\u0002\u18e7\u0273", + "\u0003\u0002\u0002\u0002\u18e8\u18e9\u0007\u0014\u0002\u0002\u18e9\u18ea", + "\u0007\u0656\u0002\u0002\u18ea\u18ed\u0007\u0311\u0002\u0002\u18eb\u18ee", + "\u0005\u0276\u013c\u0002\u18ec\u18ee\u0005\u0278\u013d\u0002\u18ed\u18eb", + "\u0003\u0002\u0002\u0002\u18ed\u18ec\u0003\u0002\u0002\u0002\u18ee\u18f8", + "\u0003\u0002\u0002\u0002\u18ef\u18f0\u0007\u08b7\u0002\u0002\u18f0\u18f1", + "\u0007\u0656\u0002\u0002\u18f1\u18f4\u0007\u0311\u0002\u0002\u18f2\u18f5", + "\u0005\u0276\u013c\u0002\u18f3\u18f5\u0005\u0278\u013d\u0002\u18f4\u18f2", + "\u0003\u0002\u0002\u0002\u18f4\u18f3\u0003\u0002\u0002\u0002\u18f5\u18f7", + "\u0003\u0002\u0002\u0002\u18f6\u18ef\u0003\u0002\u0002\u0002\u18f7\u18fa", + "\u0003\u0002\u0002\u0002\u18f8\u18f6\u0003\u0002\u0002\u0002\u18f8\u18f9", + "\u0003\u0002\u0002\u0002\u18f9\u1911\u0003\u0002\u0002\u0002\u18fa\u18f8", + "\u0003\u0002\u0002\u0002\u18fb\u18fc\u0007\u019d\u0002\u0002\u18fc\u18fd", + "\u0007\u0656\u0002\u0002\u18fd\u1901\u0007\u0311\u0002\u0002\u18fe\u1902", + "\u0005\u0278\u013d\u0002\u18ff\u1900\u0007\u023f\u0002\u0002\u1900\u1902", + "\u0005\u0272\u013a\u0002\u1901\u18fe\u0003\u0002\u0002\u0002\u1901\u18ff", + "\u0003\u0002\u0002\u0002\u1902\u190d\u0003\u0002\u0002\u0002\u1903\u1904", + "\u0007\u08b7\u0002\u0002\u1904\u1905\u0007\u0656\u0002\u0002\u1905\u1909", + "\u0007\u0311\u0002\u0002\u1906\u190a\u0005\u0278\u013d\u0002\u1907\u1908", + "\u0007\u023f\u0002\u0002\u1908\u190a\u0005\u0272\u013a\u0002\u1909\u1906", + "\u0003\u0002\u0002\u0002\u1909\u1907\u0003\u0002\u0002\u0002\u190a\u190c", + "\u0003\u0002\u0002\u0002\u190b\u1903\u0003\u0002\u0002\u0002\u190c\u190f", + "\u0003\u0002\u0002\u0002\u190d\u190b\u0003\u0002\u0002\u0002\u190d\u190e", + "\u0003\u0002\u0002\u0002\u190e\u1911\u0003\u0002\u0002\u0002\u190f\u190d", + "\u0003\u0002\u0002\u0002\u1910\u18e8\u0003\u0002\u0002\u0002\u1910\u18fb", + "\u0003\u0002\u0002\u0002\u1911\u0275\u0003\u0002\u0002\u0002\u1912\u1913", + "\u0007\u023f\u0002\u0002\u1913\u1914\u0005\u0272\u013a\u0002\u1914\u1915", + "\u0007\u08b1\u0002\u0002\u1915\u1918\u0005\u05d6\u02ec\u0002\u1916\u1917", + "\u0007\u03f4\u0002\u0002\u1917\u1919\u0007\u0311\u0002\u0002\u1918\u1916", + "\u0003\u0002\u0002\u0002\u1918\u1919\u0003\u0002\u0002\u0002\u1919\u1922", + "\u0003\u0002\u0002\u0002\u191a\u191b\u0007\u08b7\u0002\u0002\u191b\u191e", + "\u0005\u05d6\u02ec\u0002\u191c\u191d\u0007\u03f4\u0002\u0002\u191d\u191f", + "\u0007\u0311\u0002\u0002\u191e\u191c\u0003\u0002\u0002\u0002\u191e\u191f", + "\u0003\u0002\u0002\u0002\u191f\u1921\u0003\u0002\u0002\u0002\u1920\u191a", + "\u0003\u0002\u0002\u0002\u1921\u1924\u0003\u0002\u0002\u0002\u1922\u1920", + "\u0003\u0002\u0002\u0002\u1922\u1923\u0003\u0002\u0002\u0002\u1923\u1925", + "\u0003\u0002\u0002\u0002\u1924\u1922\u0003\u0002\u0002\u0002\u1925\u1927", + "\u0007\u08b2\u0002\u0002\u1926\u1928\u0007*\u0002\u0002\u1927\u1926", + "\u0003\u0002\u0002\u0002\u1927\u1928\u0003\u0002\u0002\u0002\u1928\u0277", + "\u0003\u0002\u0002\u0002\u1929\u192a\u0007\u013f\u0002\u0002\u192a\u1936", + "\u0007\u08b1\u0002\u0002\u192b\u192d\u0007\u08b7\u0002\u0002\u192c\u192b", + "\u0003\u0002\u0002\u0002\u192c\u192d\u0003\u0002\u0002\u0002\u192d\u1934", + "\u0003\u0002\u0002\u0002\u192e\u1935\u0007%\u0002\u0002\u192f\u1930", + "\u0007\u051a\u0002\u0002\u1930\u1935\u0007\u02d4\u0002\u0002\u1931\u1935", + "\u0007\u07d4\u0002\u0002\u1932\u1933\u0007\u0222\u0002\u0002\u1933\u1935", + "\u0007\u02d4\u0002\u0002\u1934\u192e\u0003\u0002\u0002\u0002\u1934\u192f", + "\u0003\u0002\u0002\u0002\u1934\u1931\u0003\u0002\u0002\u0002\u1934\u1932", + "\u0003\u0002\u0002\u0002\u1935\u1937\u0003\u0002\u0002\u0002\u1936\u192c", + "\u0003\u0002\u0002\u0002\u1937\u1938\u0003\u0002\u0002\u0002\u1938\u1936", + "\u0003\u0002\u0002\u0002\u1938\u1939\u0003\u0002\u0002\u0002\u1939\u193a", + "\u0003\u0002\u0002\u0002\u193a\u193b\u0007\u08b2\u0002\u0002\u193b\u193c", + "\u0007\u00d8\u0002\u0002\u193c\u0279\u0003\u0002\u0002\u0002\u193d\u193e", + "\u0007&\u0002\u0002\u193e\u194b\u0007\u01ed\u0002\u0002\u193f\u1946", + "\u0007\u08b1\u0002\u0002\u1940\u1941\u0007\u0601\u0002\u0002\u1941\u1947", + "\u0005\u0260\u0131\u0002\u1942\u1943\u0007\u0140\u0002\u0002\u1943\u1947", + "\u0007\u08ad\u0002\u0002\u1944\u1945\u0007\u02a2\u0002\u0002\u1945\u1947", + "\u0007\u08ab\u0002\u0002\u1946\u1940\u0003\u0002\u0002\u0002\u1946\u1942", + "\u0003\u0002\u0002\u0002\u1946\u1944\u0003\u0002\u0002\u0002\u1947\u1948", + "\u0003\u0002\u0002\u0002\u1948\u1946\u0003\u0002\u0002\u0002\u1948\u1949", + "\u0003\u0002\u0002\u0002\u1949\u194a\u0003\u0002\u0002\u0002\u194a\u194c", + "\u0007\u08b2\u0002\u0002\u194b\u193f\u0003\u0002\u0002\u0002\u194b\u194c", + "\u0003\u0002\u0002\u0002\u194c\u027b\u0003\u0002\u0002\u0002\u194d\u194e", + "\u0007\u0155\u0002\u0002\u194e\u1951\u0007\u07e8\u0002\u0002\u194f\u1950", + "\u0007\u02d2\u0002\u0002\u1950\u1952\u0005\u0260\u0131\u0002\u1951\u194f", + "\u0003\u0002\u0002\u0002\u1951\u1952\u0003\u0002\u0002\u0002\u1952\u027d", + "\u0003\u0002\u0002\u0002\u1953\u1954\u0007\u05f3\u0002\u0002\u1954\u1956", + "\u0007\u060f\u0002\u0002\u1955\u1957\u0007\u00df\u0002\u0002\u1956\u1955", + "\u0003\u0002\u0002\u0002\u1956\u1957\u0003\u0002\u0002\u0002\u1957\u1959", + "\u0003\u0002\u0002\u0002\u1958\u195a\u0007\u00a4\u0002\u0002\u1959\u1958", + "\u0003\u0002\u0002\u0002\u1959\u195a\u0003\u0002\u0002\u0002\u195a\u027f", + "\u0003\u0002\u0002\u0002\u195b\u195d\tC\u0002\u0002\u195c\u195b\u0003", + "\u0002\u0002\u0002\u195c\u195d\u0003\u0002\u0002\u0002\u195d\u195e\u0003", + "\u0002\u0002\u0002\u195e\u195f\u0007\u0552\u0002\u0002\u195f\u0281\u0003", + "\u0002\u0002\u0002\u1960\u1962\u0007\u07ef\u0002\u0002\u1961\u1963\u0007", + "\u0433\u0002\u0002\u1962\u1961\u0003\u0002\u0002\u0002\u1962\u1963\u0003", + "\u0002\u0002\u0002\u1963\u1964\u0003\u0002\u0002\u0002\u1964\u1965\u0007", + "\u026d\u0002\u0002\u1965\u1966\u0007\u013f\u0002\u0002\u1966\u1967\u0003", + "\u0002\u0002\u0002\u1967\u1968\u0005\u034a\u01a6\u0002\u1968\u0283\u0003", + "\u0002\u0002\u0002\u1969\u196a\u0007\u019d\u0002\u0002\u196a\u196b\u0007", + "\u077a\u0002\u0002\u196b\u196d\u0005\u0594\u02cb\u0002\u196c\u196e\u0007", + "\u0530\u0002\u0002\u196d\u196c\u0003\u0002\u0002\u0002\u196d\u196e\u0003", + "\u0002\u0002\u0002\u196e\u196f\u0003\u0002\u0002\u0002\u196f\u1970\u0007", + "\u08c3\u0002\u0002\u1970\u0285\u0003\u0002\u0002\u0002\u1971\u1972\u0007", + "\u019d\u0002\u0002\u1972\u1973\u0007\u0835\u0002\u0002\u1973\u1976\u0005", + "\u0594\u02cb\u0002\u1974\u1975\u0007\u00a4\u0002\u0002\u1975\u1977\u0007", + "\u0103\u0002\u0002\u1976\u1974\u0003\u0002\u0002\u0002\u1976\u1977\u0003", + "\u0002\u0002\u0002\u1977\u1978\u0003\u0002\u0002\u0002\u1978\u1979\u0007", + "\u08c3\u0002\u0002\u1979\u0287\u0003\u0002\u0002\u0002\u197a\u197b\u0007", + "\u00db\u0002\u0002\u197b\u197c\u0007\u046a\u0002\u0002\u197c\u197d\u0007", + "\u00d7\u0002\u0002\u197d\u197e\u0005\u0592\u02ca\u0002\u197e\u197f\u0007", + "\u02b9\u0002\u0002\u197f\u1980\u0005\u05ce\u02e8\u0002\u1980\u0289\u0003", + "\u0002\u0002\u0002\u1981\u1982\t\u0007\u0002\u0002\u1982\u028b\u0003", + "\u0002\u0002\u0002\u1983\u1984\tD\u0002\u0002\u1984\u028d\u0003\u0002", + "\u0002\u0002\u1985\u1988\u0007\u0122\u0002\u0002\u1986\u1987\u0007\u0496", + "\u0002\u0002\u1987\u1989\u0007\u0581\u0002\u0002\u1988\u1986\u0003\u0002", + "\u0002\u0002\u1988\u1989\u0003\u0002\u0002\u0002\u1989\u198a\u0003\u0002", + "\u0002\u0002\u198a\u198b\u0007\u052e\u0002\u0002\u198b\u198c\u0007\u065d", + "\u0002\u0002\u198c\u198d\u0005\u059a\u02ce\u0002\u198d\u1991\u0007\u0224", + "\u0002\u0002\u198e\u198f\u0005\u055e\u02b0\u0002\u198f\u1990\u0007\u08aa", + "\u0002\u0002\u1990\u1992\u0003\u0002\u0002\u0002\u1991\u198e\u0003\u0002", + "\u0002\u0002\u1991\u1992\u0003\u0002\u0002\u0002\u1992\u1993\u0003\u0002", + "\u0002\u0002\u1993\u1996\u0005\u059c\u02cf\u0002\u1994\u1995\u0007\u08b9", + "\u0002\u0002\u1995\u1997\u0005\u0590\u02c9\u0002\u1996\u1994\u0003\u0002", + "\u0002\u0002\u1996\u1997\u0003\u0002\u0002\u0002\u1997\u19b0\u0003\u0002", + "\u0002\u0002\u1998\u199b\u0007\u0122\u0002\u0002\u1999\u199a\u0007\u0496", + "\u0002\u0002\u199a\u199c\u0007\u0581\u0002\u0002\u199b\u1999\u0003\u0002", + "\u0002\u0002\u199b\u199c\u0003\u0002\u0002\u0002\u199c\u199d\u0003\u0002", + "\u0002\u0002\u199d\u19a1\u0007\u065d\u0002\u0002\u199e\u199f\u0005\u055e", + "\u02b0\u0002\u199f\u19a0\u0007\u08aa\u0002\u0002\u19a0\u19a2\u0003\u0002", + "\u0002\u0002\u19a1\u199e\u0003\u0002\u0002\u0002\u19a1\u19a2\u0003\u0002", + "\u0002\u0002\u19a2\u19a3\u0003\u0002\u0002\u0002\u19a3\u19a4\u0005\u059a", + "\u02ce\u0002\u19a4\u19a8\u0007\u0224\u0002\u0002\u19a5\u19a6\u0005\u055e", + "\u02b0\u0002\u19a6\u19a7\u0007\u08aa\u0002\u0002\u19a7\u19a9\u0003\u0002", + "\u0002\u0002\u19a8\u19a5\u0003\u0002\u0002\u0002\u19a8\u19a9\u0003\u0002", + "\u0002\u0002\u19a9\u19aa\u0003\u0002\u0002\u0002\u19aa\u19ad\u0005\u059c", + "\u02cf\u0002\u19ab\u19ac\u0007\u08b9\u0002\u0002\u19ac\u19ae\u0005\u0590", + "\u02c9\u0002\u19ad\u19ab\u0003\u0002\u0002\u0002\u19ad\u19ae\u0003\u0002", + "\u0002\u0002\u19ae\u19b0\u0003\u0002\u0002\u0002\u19af\u1985\u0003\u0002", + "\u0002\u0002\u19af\u1998\u0003\u0002\u0002\u0002\u19b0\u028f\u0003\u0002", + "\u0002\u0002\u19b1\u19b2\u0007\u00db\u0002\u0002\u19b2\u19b3\u0007\u046a", + "\u0002\u0002\u19b3\u19b4\u0007\u077a\u0002\u0002\u19b4\u19b5\u0005\u0594", + "\u02cb\u0002\u19b5\u19b6\u0007\u02b9\u0002\u0002\u19b6\u19b7\u0005\u05ce", + "\u02e8\u0002\u19b7\u0291\u0003\u0002\u0002\u0002\u19b8\u19b9\u0007)", + "\u0002\u0002\u19b9\u19ba\u0007\u00c7\u0002\u0002\u19ba\u19c1\u0005\u00ba", + "^\u0002\u19bb\u19c2\u0005\u0264\u0133\u0002\u19bc\u19bd\u0007\u0601", + "\u0002\u0002\u19bd\u19c2\u0005\u0260\u0131\u0002\u19be\u19c2\u0005\u027a", + "\u013e\u0002\u19bf\u19c2\u0005\u027c\u013f\u0002\u19c0\u19c2\u0005\u0294", + "\u014b\u0002\u19c1\u19bb\u0003\u0002\u0002\u0002\u19c1\u19bc\u0003\u0002", + "\u0002\u0002\u19c1\u19be\u0003\u0002\u0002\u0002\u19c1\u19bf\u0003\u0002", + "\u0002\u0002\u19c1\u19c0\u0003\u0002\u0002\u0002\u19c2\u19c3\u0003\u0002", + "\u0002\u0002\u19c3\u19c1\u0003\u0002\u0002\u0002\u19c3\u19c4\u0003\u0002", + "\u0002\u0002\u19c4\u19c6\u0003\u0002\u0002\u0002\u19c5\u19c7\u0005\u01dc", + "\u00ef\u0002\u19c6\u19c5\u0003\u0002\u0002\u0002\u19c6\u19c7\u0003\u0002", + "\u0002\u0002\u19c7\u19c8\u0003\u0002\u0002\u0002\u19c8\u19c9\u0007\u08c3", + "\u0002\u0002\u19c9\u0293\u0003\u0002\u0002\u0002\u19ca\u19cb\t5\u0002", + "\u0002\u19cb\u0295\u0003\u0002\u0002\u0002\u19cc\u19cd\u0005\u05d6\u02ec", + "\u0002\u19cd\u0297\u0003\u0002\u0002\u0002\u19ce\u19cf\u0007)\u0002", + "\u0002\u19cf\u19d1\u0007\u013e\u0002\u0002\u19d0\u19d2\u0005\u0296\u014c", + "\u0002\u19d1\u19d0\u0003\u0002\u0002\u0002\u19d1\u19d2\u0003\u0002\u0002", + "\u0002\u19d2\u19dc\u0003\u0002\u0002\u0002\u19d3\u19dd\u0005\u029a\u014e", + "\u0002\u19d4\u19dd\u0005\u02a0\u0151\u0002\u19d5\u19dd\u0005\u02b0\u0159", + "\u0002\u19d6\u19dd\u0005\u02b8\u015d\u0002\u19d7\u19dd\u0005\u02ca\u0166", + "\u0002\u19d8\u19dd\u0005\u02ce\u0168\u0002\u19d9\u19dd\u0005\u02de\u0170", + "\u0002\u19da\u19dd\u0005\u02e2\u0172\u0002\u19db\u19dd\u0005\u02e4\u0173", + "\u0002\u19dc\u19d3\u0003\u0002\u0002\u0002\u19dc\u19d4\u0003\u0002\u0002", + "\u0002\u19dc\u19d5\u0003\u0002\u0002\u0002\u19dc\u19d6\u0003\u0002\u0002", + "\u0002\u19dc\u19d7\u0003\u0002\u0002\u0002\u19dc\u19d8\u0003\u0002\u0002", + "\u0002\u19dc\u19d9\u0003\u0002\u0002\u0002\u19dc\u19da\u0003\u0002\u0002", + "\u0002\u19dc\u19db\u0003\u0002\u0002\u0002\u19dd\u19de\u0003\u0002\u0002", + "\u0002\u19de\u19df\u0007\u08c3\u0002\u0002\u19df\u0299\u0003\u0002\u0002", + "\u0002\u19e0\u19e3\u0007\u0369\u0002\u0002\u19e1\u19e2\tE\u0002\u0002", + "\u19e2\u19e4\u0007\u013e\u0002\u0002\u19e3\u19e1\u0003\u0002\u0002\u0002", + "\u19e3\u19e4\u0003\u0002\u0002\u0002\u19e4\u19f4\u0003\u0002\u0002\u0002", + "\u19e5\u19e8\u0007\u046f\u0002\u0002\u19e6\u19e7\u0007\u054b\u0002\u0002", + "\u19e7\u19e9\u0007\u084f\u0002\u0002\u19e8\u19e6\u0003\u0002\u0002\u0002", + "\u19e8\u19e9\u0003\u0002\u0002\u0002\u19e9\u19eb\u0003\u0002\u0002\u0002", + "\u19ea\u19ec\u0005\u029c\u014f\u0002\u19eb\u19ea\u0003\u0002\u0002\u0002", + "\u19eb\u19ec\u0003\u0002\u0002\u0002\u19ec\u19ee\u0003\u0002\u0002\u0002", + "\u19ed\u19ef\u0005\u029e\u0150\u0002\u19ee\u19ed\u0003\u0002\u0002\u0002", + "\u19ee\u19ef\u0003\u0002\u0002\u0002\u19ef\u19f4\u0003\u0002\u0002\u0002", + "\u19f0\u19f1\u0007\u046f\u0002\u0002\u19f1\u19f2\u0007\u054b\u0002\u0002", + "\u19f2\u19f4\u0007\u0469\u0002\u0002\u19f3\u19e0\u0003\u0002\u0002\u0002", + "\u19f3\u19e5\u0003\u0002\u0002\u0002\u19f3\u19f0\u0003\u0002\u0002\u0002", + "\u19f4\u029b\u0003\u0002\u0002\u0002\u19f5\u19f6\tF\u0002\u0002\u19f6", + "\u029d\u0003\u0002\u0002\u0002\u19f7\u19f8\tG\u0002\u0002\u19f8\u029f", + "\u0003\u0002\u0002\u0002\u19f9\u19ff\u0005\u02a4\u0153\u0002\u19fa\u19ff", + "\u0005\u02ac\u0157\u0002\u19fb\u19fc\u0005\u02a2\u0152\u0002\u19fc\u19fd", + "\u0007_\u0002\u0002\u19fd\u19ff\u0003\u0002\u0002\u0002\u19fe\u19f9", + "\u0003\u0002\u0002\u0002\u19fe\u19fa\u0003\u0002\u0002\u0002\u19fe\u19fb", + "\u0003\u0002\u0002\u0002\u19ff\u02a1\u0003\u0002\u0002\u0002\u1a00\u1a01", + "\tH\u0002\u0002\u1a01\u02a3\u0003\u0002\u0002\u0002\u1a02\u1a04\u0007", + "\u0554\u0002\u0002\u1a03\u1a05\u0007Y\u0002\u0002\u1a04\u1a03\u0003", + "\u0002\u0002\u0002\u1a04\u1a05\u0003\u0002\u0002\u0002\u1a05\u1a08\u0003", + "\u0002\u0002\u0002\u1a06\u1a07\u0007\u022c\u0002\u0002\u1a07\u1a09\u0007", + "\u08ad\u0002\u0002\u1a08\u1a06\u0003\u0002\u0002\u0002\u1a08\u1a09\u0003", + "\u0002\u0002\u0002\u1a09\u1a20\u0003\u0002\u0002\u0002\u1a0a\u1a0f\u0005", + "\u02a6\u0154\u0002\u1a0b\u1a0f\u0005\u02a8\u0155\u0002\u1a0c\u1a0d\u0007", + "\u030b\u0002\u0002\u1a0d\u1a0f\u0007\u08ad\u0002\u0002\u1a0e\u1a0a\u0003", + "\u0002\u0002\u0002\u1a0e\u1a0b\u0003\u0002\u0002\u0002\u1a0e\u1a0c\u0003", + "\u0002\u0002\u0002\u1a0e\u1a0f\u0003\u0002\u0002\u0002\u1a0f\u1a19\u0003", + "\u0002\u0002\u0002\u1a10\u1a16\u0007\u0784\u0002\u0002\u1a11\u1a12\u0007", + "\'\u0002\u0002\u1a12\u1a13\u0007\u08ab\u0002\u0002\u1a13\u1a16\u0007", + "\u0114\u0002\u0002\u1a14\u1a16\u0005\u01dc\u00ef\u0002\u1a15\u1a10\u0003", + "\u0002\u0002\u0002\u1a15\u1a11\u0003\u0002\u0002\u0002\u1a15\u1a14\u0003", + "\u0002\u0002\u0002\u1a16\u1a17\u0003\u0002\u0002\u0002\u1a17\u1a15\u0003", + "\u0002\u0002\u0002\u1a17\u1a18\u0003\u0002\u0002\u0002\u1a18\u1a1a\u0003", + "\u0002\u0002\u0002\u1a19\u1a15\u0003\u0002\u0002\u0002\u1a19\u1a1a\u0003", + "\u0002\u0002\u0002\u1a1a\u1a21\u0003\u0002\u0002\u0002\u1a1b\u1a1d\u0007", + "\u010c\u0002\u0002\u1a1c\u1a1e\u0007\u0161\u0002\u0002\u1a1d\u1a1c\u0003", + "\u0002\u0002\u0002\u1a1d\u1a1e\u0003\u0002\u0002\u0002\u1a1e\u1a21\u0003", + "\u0002\u0002\u0002\u1a1f\u1a21\u0007\u00a0\u0002\u0002\u1a20\u1a0e\u0003", + "\u0002\u0002\u0002\u1a20\u1a1b\u0003\u0002\u0002\u0002\u1a20\u1a1f\u0003", + "\u0002\u0002\u0002\u1a21\u02a5\u0003\u0002\u0002\u0002\u1a22\u1a24\u0007", + "\u0620\u0002\u0002\u1a23\u1a22\u0003\u0002\u0002\u0002\u1a23\u1a24\u0003", + "\u0002\u0002\u0002\u1a24\u1a25\u0003\u0002\u0002\u0002\u1a25\u1a36\u0007", + "\u013e\u0002\u0002\u1a26\u1a2d\u0007\u07e6\u0002\u0002\u1a27\u1a2e\u0007", + "\u00a0\u0002\u0002\u1a28\u1a29\u0007\u0793\u0002\u0002\u1a29\u1a2e\u0007", + "\u08ad\u0002\u0002\u1a2a\u1a2b\u0007\u00ae\u0002\u0002\u1a2b\u1a2e\u0007", + "\u08ab\u0002\u0002\u1a2c\u1a2e\u0007\u0100\u0002\u0002\u1a2d\u1a27\u0003", + "\u0002\u0002\u0002\u1a2d\u1a28\u0003\u0002\u0002\u0002\u1a2d\u1a2a\u0003", + "\u0002\u0002\u0002\u1a2d\u1a2c\u0003\u0002\u0002\u0002\u1a2e\u1a33\u0003", + "\u0002\u0002\u0002\u1a2f\u1a30\u0007\u0811\u0002\u0002\u1a30\u1a31\u0007", + "_\u0002\u0002\u1a31\u1a33\u0007\u010d\u0002\u0002\u1a32\u1a26\u0003", + "\u0002\u0002\u0002\u1a32\u1a2f\u0003\u0002\u0002\u0002\u1a33\u1a34\u0003", + "\u0002\u0002\u0002\u1a34\u1a32\u0003\u0002\u0002\u0002\u1a34\u1a35\u0003", + "\u0002\u0002\u0002\u1a35\u1a37\u0003\u0002\u0002\u0002\u1a36\u1a32\u0003", + "\u0002\u0002\u0002\u1a36\u1a37\u0003\u0002\u0002\u0002\u1a37\u02a7\u0003", + "\u0002\u0002\u0002\u1a38\u1a39\u0007\u0777\u0002\u0002\u1a39\u1a3e\u0005", + "\u0346\u01a4\u0002\u1a3a\u1a3b\u0007\u08b7\u0002\u0002\u1a3b\u1a3d\u0005", + "\u0346\u01a4\u0002\u1a3c\u1a3a\u0003\u0002\u0002\u0002\u1a3d\u1a40\u0003", + "\u0002\u0002\u0002\u1a3e\u1a3c\u0003\u0002\u0002\u0002\u1a3e\u1a3f\u0003", + "\u0002\u0002\u0002\u1a3f\u1a4e\u0003\u0002\u0002\u0002\u1a40\u1a3e\u0003", + "\u0002\u0002\u0002\u1a41\u1a42\u0007\u0140\u0002\u0002\u1a42\u1a4e\u0007", + "\u08ad\u0002\u0002\u1a43\u1a49\u0005\u02ec\u0177\u0002\u1a44\u1a45\u0007", + "\u08b7\u0002\u0002\u1a45\u1a48\u0007\u08ad\u0002\u0002\u1a46\u1a48\u0005", + "\u02ec\u0177\u0002\u1a47\u1a44\u0003\u0002\u0002\u0002\u1a47\u1a46\u0003", + "\u0002\u0002\u0002\u1a48\u1a4b\u0003\u0002\u0002\u0002\u1a49\u1a47\u0003", + "\u0002\u0002\u0002\u1a49\u1a4a\u0003\u0002\u0002\u0002\u1a4a\u1a4e\u0003", + "\u0002\u0002\u0002\u1a4b\u1a49\u0003\u0002\u0002\u0002\u1a4c\u1a4e\u0005", + "\u02aa\u0156\u0002\u1a4d\u1a38\u0003\u0002\u0002\u0002\u1a4d\u1a41\u0003", + "\u0002\u0002\u0002\u1a4d\u1a43\u0003\u0002\u0002\u0002\u1a4d\u1a4c\u0003", + "\u0002\u0002\u0002\u1a4e\u02a9\u0003\u0002\u0002\u0002\u1a4f\u1a50\u0006", + "\u0156\n\u0002\u1a50\u1a65\u0007\u0620\u0002\u0002\u1a51\u1a52\u0007", + "\u0777\u0002\u0002\u1a52\u1a57\u0005\u0346\u01a4\u0002\u1a53\u1a54\u0007", + "\u08b7\u0002\u0002\u1a54\u1a56\u0005\u0346\u01a4\u0002\u1a55\u1a53\u0003", + "\u0002\u0002\u0002\u1a56\u1a59\u0003\u0002\u0002\u0002\u1a57\u1a55\u0003", + "\u0002\u0002\u0002\u1a57\u1a58\u0003\u0002\u0002\u0002\u1a58\u1a66\u0003", + "\u0002\u0002\u0002\u1a59\u1a57\u0003\u0002\u0002\u0002\u1a5a\u1a5b\u0007", + "\u0140\u0002\u0002\u1a5b\u1a66\u0007\u08ad\u0002\u0002\u1a5c\u1a62\u0005", + "\u02ec\u0177\u0002\u1a5d\u1a5e\u0007\u08b7\u0002\u0002\u1a5e\u1a61\u0007", + "\u08ad\u0002\u0002\u1a5f\u1a61\u0005\u02ec\u0177\u0002\u1a60\u1a5d\u0003", + "\u0002\u0002\u0002\u1a60\u1a5f\u0003\u0002\u0002\u0002\u1a61\u1a64\u0003", + "\u0002\u0002\u0002\u1a62\u1a60\u0003\u0002\u0002\u0002\u1a62\u1a63\u0003", + "\u0002\u0002\u0002\u1a63\u1a66\u0003\u0002\u0002\u0002\u1a64\u1a62\u0003", + "\u0002\u0002\u0002\u1a65\u1a51\u0003\u0002\u0002\u0002\u1a65\u1a5a\u0003", + "\u0002\u0002\u0002\u1a65\u1a5c\u0003\u0002\u0002\u0002\u1a66\u1a67\u0003", + "\u0002\u0002\u0002\u1a67\u1a6a\u0007\u07e6\u0002\u0002\u1a68\u1a69\u0007", + "\u0100\u0002\u0002\u1a69\u1a6b\u0007\u084b\u0002\u0002\u1a6a\u1a68\u0003", + "\u0002\u0002\u0002\u1a6a\u1a6b\u0003\u0002\u0002\u0002\u1a6b\u1a6c\u0003", + "\u0002\u0002\u0002\u1a6c\u1a6d\u0007\u010d\u0002\u0002\u1a6d\u02ab\u0003", + "\u0002\u0002\u0002\u1a6e\u1a91\u0007\u0554\u0002\u0002\u1a6f\u1a70\u0007", + "\u031e\u0002\u0002\u1a70\u1a71\u0007\u0620\u0002\u0002\u1a71\u1a87\u0007", + "\u013e\u0002\u0002\u1a72\u1a73\u0007\u0811\u0002\u0002\u1a73\u1a74\u0007", + "\u0130\u0002\u0002\u1a74\u1a82\u0007\u030b\u0002\u0002\u1a75\u1a78\u0007", + "\u0188\u0002\u0002\u1a76\u1a77\u0007\u022c\u0002\u0002\u1a77\u1a79\u0007", + "\u05e4\u0002\u0002\u1a78\u1a76\u0003\u0002\u0002\u0002\u1a78\u1a79\u0003", + "\u0002\u0002\u0002\u1a79\u1a82\u0003\u0002\u0002\u0002\u1a7a\u1a82\u0007", + "\u03c8\u0002\u0002\u1a7b\u1a7c\u0007\u07e6\u0002\u0002\u1a7c\u1a7d\u0007", + "\u00ae\u0002\u0002\u1a7d\u1a82\u0007\u08ab\u0002\u0002\u1a7e\u1a7f\u0007", + "\u07e6\u0002\u0002\u1a7f\u1a82\u0007\u0100\u0002\u0002\u1a80\u1a82\u0005", + "\u01dc\u00ef\u0002\u1a81\u1a72\u0003\u0002\u0002\u0002\u1a81\u1a75\u0003", + "\u0002\u0002\u0002\u1a81\u1a7a\u0003\u0002\u0002\u0002\u1a81\u1a7b\u0003", + "\u0002\u0002\u0002\u1a81\u1a7e\u0003\u0002\u0002\u0002\u1a81\u1a80\u0003", + "\u0002\u0002\u0002\u1a82\u1a83\u0003\u0002\u0002\u0002\u1a83\u1a81\u0003", + "\u0002\u0002\u0002\u1a83\u1a84\u0003\u0002\u0002\u0002\u1a84\u1a88\u0003", + "\u0002\u0002\u0002\u1a85\u1a88\u0007\u020f\u0002\u0002\u1a86\u1a88\u0007", + "\u00a0\u0002\u0002\u1a87\u1a81\u0003\u0002\u0002\u0002\u1a87\u1a85\u0003", + "\u0002\u0002\u0002\u1a87\u1a86\u0003\u0002\u0002\u0002\u1a87\u1a88\u0003", + "\u0002\u0002\u0002\u1a88\u1a92\u0003\u0002\u0002\u0002\u1a89\u1a8a\u0007", + "\u07ae\u0002\u0002\u1a8a\u1a8b\u0007\u030e\u0002\u0002\u1a8b\u1a8f\u0007", + "\u0620\u0002\u0002\u1a8c\u1a90\u0005\u02ae\u0158\u0002\u1a8d\u1a8e\u0007", + "\u02d2\u0002\u0002\u1a8e\u1a90\u0007\u025d\u0002\u0002\u1a8f\u1a8c\u0003", + "\u0002\u0002\u0002\u1a8f\u1a8d\u0003\u0002\u0002\u0002\u1a90\u1a92\u0003", + "\u0002\u0002\u0002\u1a91\u1a6f\u0003\u0002\u0002\u0002\u1a91\u1a89\u0003", + "\u0002\u0002\u0002\u1a92\u02ad\u0003\u0002\u0002\u0002\u1a93\u1a94\u0005", + "\u05d6\u02ec\u0002\u1a94\u02af\u0003\u0002\u0002\u0002\u1a95\u1a96\u0007", + "\u057e\u0002\u0002\u1a96\u1a97\u0007\u0209\u0002\u0002\u1a97\u1a9c\u0005", + "\u02ee\u0178\u0002\u1a98\u1a99\u0007\u08b7\u0002\u0002\u1a99\u1a9b\u0005", + "\u02ee\u0178\u0002\u1a9a\u1a98\u0003\u0002\u0002\u0002\u1a9b\u1a9e\u0003", + "\u0002\u0002\u0002\u1a9c\u1a9a\u0003\u0002\u0002\u0002\u1a9c\u1a9d\u0003", + "\u0002\u0002\u0002\u1a9d\u1a9f\u0003\u0002\u0002\u0002\u1a9e\u1a9c\u0003", + "\u0002\u0002\u0002\u1a9f\u1aa0\u0007\u07ae\u0002\u0002\u1aa0\u1aa1\u0005", + "\u02ee\u0178\u0002\u1aa1\u1aa6\u0003\u0002\u0002\u0002\u1aa2\u1aa6\u0005", + "\u02b2\u015a\u0002\u1aa3\u1aa6\u0005\u02b4\u015b\u0002\u1aa4\u1aa6\u0005", + "\u02b6\u015c\u0002\u1aa5\u1a95\u0003\u0002\u0002\u0002\u1aa5\u1aa2\u0003", + "\u0002\u0002\u0002\u1aa5\u1aa3\u0003\u0002\u0002\u0002\u1aa5\u1aa4\u0003", + "\u0002\u0002\u0002\u1aa6\u02b1\u0003\u0002\u0002\u0002\u1aa7\u1aa8\u0007", + "\u0122\u0002\u0002\u1aa8\u1aab\u0007\u0140\u0002\u0002\u1aa9\u1aac\u0005", + "\u02ee\u0178\u0002\u1aaa\u1aac\u0005\u02ec\u0177\u0002\u1aab\u1aa9\u0003", + "\u0002\u0002\u0002\u1aab\u1aaa\u0003\u0002\u0002\u0002\u1aac\u1ab4\u0003", + "\u0002\u0002\u0002\u1aad\u1ab0\u0007\u08b7\u0002\u0002\u1aae\u1ab1\u0005", + "\u02ee\u0178\u0002\u1aaf\u1ab1\u0005\u02ec\u0177\u0002\u1ab0\u1aae\u0003", + "\u0002\u0002\u0002\u1ab0\u1aaf\u0003\u0002\u0002\u0002\u1ab1\u1ab3\u0003", + "\u0002\u0002\u0002\u1ab2\u1aad\u0003\u0002\u0002\u0002\u1ab3\u1ab6\u0003", + "\u0002\u0002\u0002\u1ab4\u1ab2\u0003\u0002\u0002\u0002\u1ab4\u1ab5\u0003", + "\u0002\u0002\u0002\u1ab5\u1ab9\u0003\u0002\u0002\u0002\u1ab6\u1ab4\u0003", + "\u0002\u0002\u0002\u1ab7\u1ab8\u0007?\u0002\u0002\u1ab8\u1aba\u0007", + "\u0389\u0002\u0002\u1ab9\u1ab7\u0003\u0002\u0002\u0002\u1ab9\u1aba\u0003", + "\u0002\u0002\u0002\u1aba\u02b3\u0003\u0002\u0002\u0002\u1abb\u1abe\u0007", + "\u0140\u0002\u0002\u1abc\u1abf\u0005\u02ee\u0178\u0002\u1abd\u1abf\u0005", + "\u02ec\u0177\u0002\u1abe\u1abc\u0003\u0002\u0002\u0002\u1abe\u1abd\u0003", + "\u0002\u0002\u0002\u1abf\u1ac7\u0003\u0002\u0002\u0002\u1ac0\u1ac3\u0007", + "\u08b7\u0002\u0002\u1ac1\u1ac4\u0005\u02ee\u0178\u0002\u1ac2\u1ac4\u0005", + "\u02ec\u0177\u0002\u1ac3\u1ac1\u0003\u0002\u0002\u0002\u1ac3\u1ac2\u0003", + "\u0002\u0002\u0002\u1ac4\u1ac6\u0003\u0002\u0002\u0002\u1ac5\u1ac0\u0003", + "\u0002\u0002\u0002\u1ac6\u1ac9\u0003\u0002\u0002\u0002\u1ac7\u1ac5\u0003", + "\u0002\u0002\u0002\u1ac7\u1ac8\u0003\u0002\u0002\u0002\u1ac8\u1ad5\u0003", + "\u0002\u0002\u0002\u1ac9\u1ac7\u0003\u0002\u0002\u0002\u1aca\u1ad6\u0007", + "\u0467\u0002\u0002\u1acb\u1ace\u0007\u045a\u0002\u0002\u1acc\u1acd\u0007", + "\u0224\u0002\u0002\u1acd\u1acf\u0007\u019d\u0002\u0002\u1ace\u1acc\u0003", + "\u0002\u0002\u0002\u1ace\u1acf\u0003\u0002\u0002\u0002\u1acf\u1ad6\u0003", + "\u0002\u0002\u0002\u1ad0\u1ad1\u0007\u0586\u0002\u0002\u1ad1\u1ad6\u0005", + "\u0260\u0131\u0002\u1ad2\u1ad6\u0005\u01d6\u00ec\u0002\u1ad3\u1ad4\u0007", + "\u01bf\u0002\u0002\u1ad4\u1ad6\u0007_\u0002\u0002\u1ad5\u1aca\u0003", + "\u0002\u0002\u0002\u1ad5\u1acb\u0003\u0002\u0002\u0002\u1ad5\u1ad0\u0003", + "\u0002\u0002\u0002\u1ad5\u1ad2\u0003\u0002\u0002\u0002\u1ad5\u1ad3\u0003", + "\u0002\u0002\u0002\u1ad6\u02b5\u0003\u0002\u0002\u0002\u1ad7\u1ada\u0007", + "\u0780\u0002\u0002\u1ad8\u1adb\u0005\u02ee\u0178\u0002\u1ad9\u1adb\u0005", + "\u02ec\u0177\u0002\u1ada\u1ad8\u0003\u0002\u0002\u0002\u1ada\u1ad9\u0003", + "\u0002\u0002\u0002\u1adb\u1ae3\u0003\u0002\u0002\u0002\u1adc\u1adf\u0007", + "\u08b7\u0002\u0002\u1add\u1ae0\u0005\u02ee\u0178\u0002\u1ade\u1ae0\u0005", + "\u02ec\u0177\u0002\u1adf\u1add\u0003\u0002\u0002\u0002\u1adf\u1ade\u0003", + "\u0002\u0002\u0002\u1ae0\u1ae2\u0003\u0002\u0002\u0002\u1ae1\u1adc\u0003", + "\u0002\u0002\u0002\u1ae2\u1ae5\u0003\u0002\u0002\u0002\u1ae3\u1ae1\u0003", + "\u0002\u0002\u0002\u1ae3\u1ae4\u0003\u0002\u0002\u0002\u1ae4\u1aee\u0003", + "\u0002\u0002\u0002\u1ae5\u1ae3\u0003\u0002\u0002\u0002\u1ae6\u1ae7\u0007", + "\u0586\u0002\u0002\u1ae7\u1aef\u0005\u0260\u0131\u0002\u1ae8\u1aef\u0005", + "\u01d6\u00ec\u0002\u1ae9\u1aea\u0007\u019d\u0002\u0002\u1aea\u1aeb\u0007", + "\u026d\u0002\u0002\u1aeb\u1aef\u0007\u0141\u0002\u0002\u1aec\u1aef\u0007", + "\u0467\u0002\u0002\u1aed\u1aef\u0007\u045a\u0002\u0002\u1aee\u1ae6\u0003", + "\u0002\u0002\u0002\u1aee\u1ae8\u0003\u0002\u0002\u0002\u1aee\u1ae9\u0003", + "\u0002\u0002\u0002\u1aee\u1aec\u0003\u0002\u0002\u0002\u1aee\u1aed\u0003", + "\u0002\u0002\u0002\u1aef\u02b7\u0003\u0002\u0002\u0002\u1af0\u1af2\u0007", + "=\u0002\u0002\u1af1\u1af3\u0007\u0322\u0002\u0002\u1af2\u1af1\u0003", + "\u0002\u0002\u0002\u1af2\u1af3\u0003\u0002\u0002\u0002\u1af3\u1af6\u0003", + "\u0002\u0002\u0002\u1af4\u1af6\u0007\u03ad\u0002\u0002\u1af5\u1af0\u0003", + "\u0002\u0002\u0002\u1af5\u1af4\u0003\u0002\u0002\u0002\u1af6\u1b1f\u0003", + "\u0002\u0002\u0002\u1af7\u1af9\u0007\u03f4\u0002\u0002\u1af8\u1af7\u0003", + "\u0002\u0002\u0002\u1af8\u1af9\u0003\u0002\u0002\u0002\u1af9\u1afa\u0003", + "\u0002\u0002\u0002\u1afa\u1afb\u0007\u0220\u0002\u0002\u1afb\u1b1f\u0007", + "\u030d\u0002\u0002\u1afc\u1afd\u0007\u057e\u0002\u0002\u1afd\u1afe\u0007", + "\u0209\u0002\u0002\u1afe\u1b03\u0005\u02ee\u0178\u0002\u1aff\u1b00\u0007", + "\u08b7\u0002\u0002\u1b00\u1b02\u0005\u02ee\u0178\u0002\u1b01\u1aff\u0003", + "\u0002\u0002\u0002\u1b02\u1b05\u0003\u0002\u0002\u0002\u1b03\u1b01\u0003", + "\u0002\u0002\u0002\u1b03\u1b04\u0003\u0002\u0002\u0002\u1b04\u1b06\u0003", + "\u0002\u0002\u0002\u1b05\u1b03\u0003\u0002\u0002\u0002\u1b06\u1b07\u0007", + "\u07ae\u0002\u0002\u1b07\u1b08\u0005\u02ee\u0178\u0002\u1b08\u1b1f\u0003", + "\u0002\u0002\u0002\u1b09\u1b0b\u0007\u00bf\u0002\u0002\u1b0a\u1b0c\u0007", + "\u07cb\u0002\u0002\u1b0b\u1b0a\u0003\u0002\u0002\u0002\u1b0b\u1b0c\u0003", + "\u0002\u0002\u0002\u1b0c\u1b0d\u0003\u0002\u0002\u0002\u1b0d\u1b0e\u0007", + "\u030b\u0002\u0002\u1b0e\u1b13\u0005\u02c8\u0165\u0002\u1b0f\u1b10\u0007", + "\u08b7\u0002\u0002\u1b10\u1b12\u0005\u02c8\u0165\u0002\u1b11\u1b0f\u0003", + "\u0002\u0002\u0002\u1b12\u1b15\u0003\u0002\u0002\u0002\u1b13\u1b11\u0003", + "\u0002\u0002\u0002\u1b13\u1b14\u0003\u0002\u0002\u0002\u1b14\u1b18\u0003", + "\u0002\u0002\u0002\u1b15\u1b13\u0003\u0002\u0002\u0002\u1b16\u1b17\u0007", + "\u07e3\u0002\u0002\u1b17\u1b19\u0007\u0140\u0002\u0002\u1b18\u1b16\u0003", + "\u0002\u0002\u0002\u1b18\u1b19\u0003\u0002\u0002\u0002\u1b19\u1b1f\u0003", + "\u0002\u0002\u0002\u1b1a\u1b1f\u0005\u02ba\u015e\u0002\u1b1b\u1b1f\u0005", + "\u02be\u0160\u0002\u1b1c\u1b1f\u0005\u02c0\u0161\u0002\u1b1d\u1b1f\u0005", + "\u02c2\u0162\u0002\u1b1e\u1af5\u0003\u0002\u0002\u0002\u1b1e\u1af8\u0003", + "\u0002\u0002\u0002\u1b1e\u1afc\u0003\u0002\u0002\u0002\u1b1e\u1b09\u0003", + "\u0002\u0002\u0002\u1b1e\u1b1a\u0003\u0002\u0002\u0002\u1b1e\u1b1b\u0003", + "\u0002\u0002\u0002\u1b1e\u1b1c\u0003\u0002\u0002\u0002\u1b1e\u1b1d\u0003", + "\u0002\u0002\u0002\u1b1f\u02b9\u0003\u0002\u0002\u0002\u1b20\u1b22\u0007", + "\u0014\u0002\u0002\u1b21\u1b23\u0007\u0620\u0002\u0002\u1b22\u1b21\u0003", + "\u0002\u0002\u0002\u1b22\u1b23\u0003\u0002\u0002\u0002\u1b23\u1b24\u0003", + "\u0002\u0002\u0002\u1b24\u1b44\u0007\u030b\u0002\u0002\u1b25\u1b26\u0005", + "\u02bc\u015f\u0002\u1b26\u1b27\u0005\u01d4\u00eb\u0002\u1b27\u1b29\u0003", + "\u0002\u0002\u0002\u1b28\u1b25\u0003\u0002\u0002\u0002\u1b29\u1b2a\u0003", + "\u0002\u0002\u0002\u1b2a\u1b28\u0003\u0002\u0002\u0002\u1b2a\u1b2b\u0003", + "\u0002\u0002\u0002\u1b2b\u1b45\u0003\u0002\u0002\u0002\u1b2c\u1b2d\u0007", + "\u033c\u0002\u0002\u1b2d\u1b2f\u0005\u02ee\u0178\u0002\u1b2e\u1b30\u0007", + "\u059a\u0002\u0002\u1b2f\u1b2e\u0003\u0002\u0002\u0002\u1b2f\u1b30\u0003", + "\u0002\u0002\u0002\u1b30\u1b38\u0003\u0002\u0002\u0002\u1b31\u1b32\u0007", + "\u08b7\u0002\u0002\u1b32\u1b34\u0005\u02ee\u0178\u0002\u1b33\u1b35\u0007", + "\u059a\u0002\u0002\u1b34\u1b33\u0003\u0002\u0002\u0002\u1b34\u1b35\u0003", + "\u0002\u0002\u0002\u1b35\u1b37\u0003\u0002\u0002\u0002\u1b36\u1b31\u0003", + "\u0002\u0002\u0002\u1b37\u1b3a\u0003\u0002\u0002\u0002\u1b38\u1b36\u0003", + "\u0002\u0002\u0002\u1b38\u1b39\u0003\u0002\u0002\u0002\u1b39\u1b3b\u0003", + "\u0002\u0002\u0002\u1b3a\u1b38\u0003\u0002\u0002\u0002\u1b3b\u1b3c\u0007", + "\u07ae\u0002\u0002\u1b3c\u1b41\u0005\u02c8\u0165\u0002\u1b3d\u1b3e\u0007", + "\u08b7\u0002\u0002\u1b3e\u1b40\u0005\u02c8\u0165\u0002\u1b3f\u1b3d\u0003", + "\u0002\u0002\u0002\u1b40\u1b43\u0003\u0002\u0002\u0002\u1b41\u1b3f\u0003", + "\u0002\u0002\u0002\u1b41\u1b42\u0003\u0002\u0002\u0002\u1b42\u1b45\u0003", + "\u0002\u0002\u0002\u1b43\u1b41\u0003\u0002\u0002\u0002\u1b44\u1b28\u0003", + "\u0002\u0002\u0002\u1b44\u1b2c\u0003\u0002\u0002\u0002\u1b45\u02bb\u0003", + "\u0002\u0002\u0002\u1b46\u1b48\u0007\u08b7\u0002\u0002\u1b47\u1b46\u0003", + "\u0002\u0002\u0002\u1b47\u1b48\u0003\u0002\u0002\u0002\u1b48\u1b4b\u0003", + "\u0002\u0002\u0002\u1b49\u1b4a\u0007\u0789\u0002\u0002\u1b4a\u1b4c\u0007", + "\u08ab\u0002\u0002\u1b4b\u1b49\u0003\u0002\u0002\u0002\u1b4b\u1b4c\u0003", + "\u0002\u0002\u0002\u1b4c\u1b4d\u0003\u0002\u0002\u0002\u1b4d\u1b4e\u0007", + "\u023f\u0002\u0002\u1b4e\u1b4f\u0007\u08ab\u0002\u0002\u1b4f\u02bd\u0003", + "\u0002\u0002\u0002\u1b50\u1b52\u0007\u019d\u0002\u0002\u1b51\u1b53\u0007", + "\u0620\u0002\u0002\u1b52\u1b51\u0003\u0002\u0002\u0002\u1b52\u1b53\u0003", + "\u0002\u0002\u0002\u1b53\u1b54\u0003\u0002\u0002\u0002\u1b54\u1b66\u0007", + "\u030b\u0002\u0002\u1b55\u1b5a\u0005\u02c8\u0165\u0002\u1b56\u1b57\u0007", + "\u08b7\u0002\u0002\u1b57\u1b59\u0005\u02c8\u0165\u0002\u1b58\u1b56\u0003", + "\u0002\u0002\u0002\u1b59\u1b5c\u0003\u0002\u0002\u0002\u1b5a\u1b58\u0003", + "\u0002\u0002\u0002\u1b5a\u1b5b\u0003\u0002\u0002\u0002\u1b5b\u1b67\u0003", + "\u0002\u0002\u0002\u1b5c\u1b5a\u0003\u0002\u0002\u0002\u1b5d\u1b5e\u0007", + "\u033c\u0002\u0002\u1b5e\u1b63\u0005\u02ee\u0178\u0002\u1b5f\u1b60\u0007", + "\u08b7\u0002\u0002\u1b60\u1b62\u0005\u02ee\u0178\u0002\u1b61\u1b5f\u0003", + "\u0002\u0002\u0002\u1b62\u1b65\u0003\u0002\u0002\u0002\u1b63\u1b61\u0003", + "\u0002\u0002\u0002\u1b63\u1b64\u0003\u0002\u0002\u0002\u1b64\u1b67\u0003", + "\u0002\u0002\u0002\u1b65\u1b63\u0003\u0002\u0002\u0002\u1b66\u1b55\u0003", + "\u0002\u0002\u0002\u1b66\u1b5d\u0003\u0002\u0002\u0002\u1b67\u02bf\u0003", + "\u0002\u0002\u0002\u1b68\u1b69\u0007\u065a\u0002\u0002\u1b69\u1b6a\u0007", + "%\u0002\u0002\u1b6a\u1b6b\u0007\u030c\u0002\u0002\u1b6b\u1b6c\u0007", + "\u07ae\u0002\u0002\u1b6c\u1b6d\u0007\u0086\u0002\u0002\u1b6d\u1b6e\u0007", + "\u08ab\u0002\u0002\u1b6e\u02c1\u0003\u0002\u0002\u0002\u1b6f\u1b70\u0005", + "\u02c4\u0163\u0002\u1b70\u1b71\u0007\u0656\u0002\u0002\u1b71\u1b75\u0007", + "\u0311\u0002\u0002\u1b72\u1b76\u0007\u013f\u0002\u0002\u1b73\u1b76\u0005", + "\u0278\u013d\u0002\u1b74\u1b76\u0005\u02c6\u0164\u0002\u1b75\u1b72\u0003", + "\u0002\u0002\u0002\u1b75\u1b73\u0003\u0002\u0002\u0002\u1b75\u1b74\u0003", + "\u0002\u0002\u0002\u1b76\u02c3\u0003\u0002\u0002\u0002\u1b77\u1b78\t", + "\r\u0002\u0002\u1b78\u02c5\u0003\u0002\u0002\u0002\u1b79\u1b7a\u0007", + "\u013f\u0002\u0002\u1b7a\u1b7b\u0007\u0224\u0002\u0002\u1b7b\u1b7c\u0007", + "\u0523\u0002\u0002\u1b7c\u1b7d\u0007\u0582\u0002\u0002\u1b7d\u02c7\u0003", + "\u0002\u0002\u0002\u1b7e\u1b7f\u0007\u023f\u0002\u0002\u1b7f\u1b8d\u0007", + "\u08ab\u0002\u0002\u1b80\u1b81\u0007\u08b1\u0002\u0002\u1b81\u1b86\u0005", + "\u02ee\u0178\u0002\u1b82\u1b83\u0007\u08b7\u0002\u0002\u1b83\u1b85\u0005", + "\u02ee\u0178\u0002\u1b84\u1b82\u0003\u0002\u0002\u0002\u1b85\u1b88\u0003", + "\u0002\u0002\u0002\u1b86\u1b84\u0003\u0002\u0002\u0002\u1b86\u1b87\u0003", + "\u0002\u0002\u0002\u1b87\u1b89\u0003\u0002\u0002\u0002\u1b88\u1b86\u0003", + "\u0002\u0002\u0002\u1b89\u1b8a\u0007\u08b2\u0002\u0002\u1b8a\u1b8d\u0003", + "\u0002\u0002\u0002\u1b8b\u1b8d\u0005\u02ee\u0178\u0002\u1b8c\u1b7e\u0003", + "\u0002\u0002\u0002\u1b8c\u1b80\u0003\u0002\u0002\u0002\u1b8c\u1b8b\u0003", + "\u0002\u0002\u0002\u1b8d\u02c9\u0003\u0002\u0002\u0002\u1b8e\u1b90\u0007", + "\u0122\u0002\u0002\u1b8f\u1b91\tI\u0002\u0002\u1b90\u1b8f\u0003\u0002", + "\u0002\u0002\u1b90\u1b91\u0003\u0002\u0002\u0002\u1b91\u1b92\u0003\u0002", + "\u0002\u0002\u1b92\u1b93\u0007\u0620\u0002\u0002\u1b93\u1b94\u0007\u010d", + "\u0002\u0002\u1b94\u1b95\u0007?\u0002\u0002\u1b95\u1b97\u0005\u02ee", + "\u0178\u0002\u1b96\u1b98\u0007\u059a\u0002\u0002\u1b97\u1b96\u0003\u0002", + "\u0002\u0002\u1b97\u1b98\u0003\u0002\u0002\u0002\u1b98\u1ba4\u0003\u0002", + "\u0002\u0002\u1b99\u1b9a\u0007_\u0002\u0002\u1b9a\u1b9b\u0007\u010d", + "\u0002\u0002\u1b9b\u1ba1\u0007\u07ae\u0002\u0002\u1b9c\u1b9e\u0005\u02ee", + "\u0178\u0002\u1b9d\u1b9f\u0007\u059a\u0002\u0002\u1b9e\u1b9d\u0003\u0002", + "\u0002\u0002\u1b9e\u1b9f\u0003\u0002\u0002\u0002\u1b9f\u1ba2\u0003\u0002", + "\u0002\u0002\u1ba0\u1ba2\u0005\u02cc\u0167\u0002\u1ba1\u1b9c\u0003\u0002", + "\u0002\u0002\u1ba1\u1ba0\u0003\u0002\u0002\u0002\u1ba2\u1ba4\u0003\u0002", + "\u0002\u0002\u1ba3\u1b8e\u0003\u0002\u0002\u0002\u1ba3\u1b99\u0003\u0002", + "\u0002\u0002\u1ba4\u02cb\u0003\u0002\u0002\u0002\u1ba5\u1bab\u0007\u07b0", + "\u0002\u0002\u1ba6\u1ba7\u0007?\u0002\u0002\u1ba7\u1ba9\u0005\u02ee", + "\u0178\u0002\u1ba8\u1baa\u0007\u059a\u0002\u0002\u1ba9\u1ba8\u0003\u0002", + "\u0002\u0002\u1ba9\u1baa\u0003\u0002\u0002\u0002\u1baa\u1bac\u0003\u0002", + "\u0002\u0002\u1bab\u1ba6\u0003\u0002\u0002\u0002\u1bab\u1bac\u0003\u0002", + "\u0002\u0002\u1bac\u1bae\u0003\u0002\u0002\u0002\u1bad\u1baf\tF\u0002", + "\u0002\u1bae\u1bad\u0003\u0002\u0002\u0002\u1bae\u1baf\u0003\u0002\u0002", + "\u0002\u1baf\u02cd\u0003\u0002\u0002\u0002\u1bb0\u1bb8\u0005\u02d0\u0169", + "\u0002\u1bb1\u1bb8\u0005\u02d2\u016a\u0002\u1bb2\u1bb8\u0005\u02d4\u016b", + "\u0002\u1bb3\u1bb8\u0005\u02d6\u016c\u0002\u1bb4\u1bb8\u0005\u02d8\u016d", + "\u0002\u1bb5\u1bb8\u0005\u02da\u016e\u0002\u1bb6\u1bb8\u0005\u02dc\u016f", + "\u0002\u1bb7\u1bb0\u0003\u0002\u0002\u0002\u1bb7\u1bb1\u0003\u0002\u0002", + "\u0002\u1bb7\u1bb2\u0003\u0002\u0002\u0002\u1bb7\u1bb3\u0003\u0002\u0002", + "\u0002\u1bb7\u1bb4\u0003\u0002\u0002\u0002\u1bb7\u1bb5\u0003\u0002\u0002", + "\u0002\u1bb7\u1bb6\u0003\u0002\u0002\u0002\u1bb8\u1bba\u0003\u0002\u0002", + "\u0002\u1bb9\u1bbb\u0005\u01dc\u00ef\u0002\u1bba\u1bb9\u0003\u0002\u0002", + "\u0002\u1bba\u1bbb\u0003\u0002\u0002\u0002\u1bbb\u02cf\u0003\u0002\u0002", + "\u0002\u1bbc\u1bbe\u0007\f\u0002\u0002\u1bbd\u1bbf\tI\u0002\u0002\u1bbe", + "\u1bbd\u0003\u0002\u0002\u0002\u1bbe\u1bbf\u0003\u0002\u0002\u0002\u1bbf", + "\u1bc0\u0003\u0002\u0002\u0002\u1bc0\u1bc1\u0007\u0620\u0002\u0002\u1bc1", + "\u1bc4\u0007\u013e\u0002\u0002\u1bc2\u1bc3\u0007\u020f\u0002\u0002\u1bc3", + "\u1bc5\u00078\u0002\u0002\u1bc4\u1bc2\u0003\u0002\u0002\u0002\u1bc4", + "\u1bc5\u0003\u0002\u0002\u0002\u1bc5\u02d1\u0003\u0002\u0002\u0002\u1bc6", + "\u1bc7\u0007\u05e8\u0002\u0002\u1bc7\u1bc8\u0007\u0620\u0002\u0002\u1bc8", + "\u1bc9\u0007\u013e\u0002\u0002\u1bc9\u1bca\u0007\u07ae\u0002\u0002\u1bca", + "\u1bcb\u0007\u0330\u0002\u0002\u1bcb\u1bcc\tJ\u0002\u0002\u1bcc\u02d3", + "\u0003\u0002\u0002\u0002\u1bcd\u1bd0\u0007\u056a\u0002\u0002\u1bce\u1bcf", + "\u0007\u0496\u0002\u0002\u1bcf\u1bd1\u0007\u0581\u0002\u0002\u1bd0\u1bce", + "\u0003\u0002\u0002\u0002\u1bd0\u1bd1\u0003\u0002\u0002\u0002\u1bd1\u1bd2", + "\u0003\u0002\u0002\u0002\u1bd2\u1bd3\tI\u0002\u0002\u1bd3\u1bd4\u0007", + "\u030b\u0002\u0002\u1bd4\u02d5\u0003\u0002\u0002\u0002\u1bd5\u1bd6\t", + "K\u0002\u0002\u1bd6\u1bd7\u0007\u07ae\u0002\u0002\u1bd7\u1bf4\u0007", + "\u0659\u0002\u0002\u1bd8\u1bed\u0007\u07ae\u0002\u0002\u1bd9\u1bdb\t", + "I\u0002\u0002\u1bda\u1bd9\u0003\u0002\u0002\u0002\u1bda\u1bdb\u0003", + "\u0002\u0002\u0002\u1bdb\u1bdc\u0003\u0002\u0002\u0002\u1bdc\u1be2\u0007", + "\u051a\u0002\u0002\u1bdd\u1bdf\u0007\u04e2\u0002\u0002\u1bde\u1bdd\u0003", + "\u0002\u0002\u0002\u1bde\u1bdf\u0003\u0002\u0002\u0002\u1bdf\u1be0\u0003", + "\u0002\u0002\u0002\u1be0\u1be2\u0007\u0620\u0002\u0002\u1be1\u1bda\u0003", + "\u0002\u0002\u0002\u1be1\u1bde\u0003\u0002\u0002\u0002\u1be2\u1be9\u0003", + "\u0002\u0002\u0002\u1be3\u1be5\t6\u0002\u0002\u1be4\u1be3\u0003\u0002", + "\u0002\u0002\u1be4\u1be5\u0003\u0002\u0002\u0002\u1be5\u1be6\u0003\u0002", + "\u0002\u0002\u1be6\u1be7\u0007\u05e4\u0002\u0002\u1be7\u1be8\u0007\u05f4", + "\u0002\u0002\u1be8\u1bea\tL\u0002\u0002\u1be9\u1be4\u0003\u0002\u0002", + "\u0002\u1be9\u1bea\u0003\u0002\u0002\u0002\u1bea\u1bee\u0003\u0002\u0002", + "\u0002\u1beb\u1bec\u0007\u030e\u0002\u0002\u1bec\u1bee\u0007\u0620\u0002", + "\u0002\u1bed\u1be1\u0003\u0002\u0002\u0002\u1bed\u1beb\u0003\u0002\u0002", + "\u0002\u1bee\u1bf2\u0003\u0002\u0002\u0002\u1bef\u1bf0\u0007\u030e\u0002", + "\u0002\u1bf0\u1bf2\u0007\u0620\u0002\u0002\u1bf1\u1bd8\u0003\u0002\u0002", + "\u0002\u1bf1\u1bef\u0003\u0002\u0002\u0002\u1bf2\u1bf5\u0003\u0002\u0002", + "\u0002\u1bf3\u1bf5\u0007\u00a0\u0002\u0002\u1bf4\u1bf1\u0003\u0002\u0002", + "\u0002\u1bf4\u1bf3\u0003\u0002\u0002\u0002\u1bf4\u1bf5\u0003\u0002\u0002", + "\u0002\u1bf5\u02d7\u0003\u0002\u0002\u0002\u1bf6\u1bf7\u0007\u0623\u0002", + "\u0002\u1bf7\u1bf8\u0007\u030e\u0002\u0002\u1bf8\u1bf9\u0007\u0620\u0002", + "\u0002\u1bf9\u1bfb\u00078\u0002\u0002\u1bfa\u1bfc\u0007\u0267\u0002", + "\u0002\u1bfb\u1bfa\u0003\u0002\u0002\u0002\u1bfb\u1bfc\u0003\u0002\u0002", + "\u0002\u1bfc\u1bfe\u0003\u0002\u0002\u0002\u1bfd\u1bff\u0007\u03c8\u0002", + "\u0002\u1bfe\u1bfd\u0003\u0002\u0002\u0002\u1bfe\u1bff\u0003\u0002\u0002", + "\u0002\u1bff\u1c0b\u0003\u0002\u0002\u0002\u1c00\u1c01\u0007\u0389\u0002", + "\u0002\u1c01\u1c02\u0007\u051a\u0002\u0002\u1c02\u1c0c\u0005\u05d6\u02ec", + "\u0002\u1c03\u1c05\u0007\u0290\u0002\u0002\u1c04\u1c06\u0007\u08ab\u0002", + "\u0002\u1c05\u1c04\u0003\u0002\u0002\u0002\u1c05\u1c06\u0003\u0002\u0002", + "\u0002\u1c06\u1c0c\u0003\u0002\u0002\u0002\u1c07\u1c08\u0007\u0603\u0002", + "\u0002\u1c08\u1c09\u0007\u01f9\u0002\u0002\u1c09\u1c0c\u0007\u07b4\u0002", + "\u0002\u1c0a\u1c0c\u0007\u020f\u0002\u0002\u1c0b\u1c00\u0003\u0002\u0002", + "\u0002\u1c0b\u1c03\u0003\u0002\u0002\u0002\u1c0b\u1c07\u0003\u0002\u0002", + "\u0002\u1c0b\u1c0a\u0003\u0002\u0002\u0002\u1c0b\u1c0c\u0003\u0002\u0002", + "\u0002\u1c0c\u02d9\u0003\u0002\u0002\u0002\u1c0d\u1c0e\tM\u0002\u0002", + "\u1c0e\u1c0f\u0007\u030e\u0002\u0002\u1c0f\u1c10\u0007\u0620\u0002\u0002", + "\u1c10\u1c11\u00078\u0002\u0002\u1c11\u02db\u0003\u0002\u0002\u0002", + "\u1c12\u1c13\u0007\u010f\u0002\u0002\u1c13\u1c14\u0007\u07ae\u0002\u0002", + "\u1c14\u1c15\tN\u0002\u0002\u1c15\u1c16\u0007\u0620\u0002\u0002\u1c16", + "\u02dd\u0003\u0002\u0002\u0002\u1c17\u1c18\u0007\u0161\u0002\u0002\u1c18", + "\u1c19\u0007\u01aa\u0002\u0002\u1c19\u1c1a\u0007\u08c5\u0002\u0002\u1c1a", + "\u1c46\u0005\u02ea\u0176\u0002\u1c1b\u1c1c\u0007\u05e8\u0002\u0002\u1c1c", + "\u1c1d\u0007\u0161\u0002\u0002\u1c1d\u1c1e\t-\u0002\u0002\u1c1e\u1c46", + "\u0007\u0777\u0002\u0002\u1c1f\u1c20\u0007\u0161\u0002\u0002\u1c20\u1c21", + "\u0007\u0777\u0002\u0002\u1c21\u1c46\u0005\u0346\u01a4\u0002\u1c22\u1c23", + "\u0007\u0161\u0002\u0002\u1c23\u1c24\u0007\u0782\u0002\u0002\u1c24\u1c27", + "\u0007\u0777\u0002\u0002\u1c25\u1c28\u0005\u0346\u01a4\u0002\u1c26\u1c28", + "\u0005\u01b4\u00db\u0002\u1c27\u1c25\u0003\u0002\u0002\u0002\u1c27\u1c26", + "\u0003\u0002\u0002\u0002\u1c28\u1c46\u0003\u0002\u0002\u0002\u1c29\u1c2a", + "\u0007\u057e\u0002\u0002\u1c2a\u1c2b\u0007\u023a\u0002\u0002\u1c2b\u1c2c", + "\u0007\u07ae\u0002\u0002\u1c2c\u1c2f\u0005\u02e8\u0175\u0002\u1c2d\u1c2e", + "\u0007\u08aa\u0002\u0002\u1c2e\u1c30\u0005\u02e6\u0174\u0002\u1c2f\u1c2d", + "\u0003\u0002\u0002\u0002\u1c30\u1c31\u0003\u0002\u0002\u0002\u1c31\u1c2f", + "\u0003\u0002\u0002\u0002\u1c31\u1c32\u0003\u0002\u0002\u0002\u1c32\u1c46", + "\u0003\u0002\u0002\u0002\u1c33\u1c34\u0007\u01b9\u0002\u0002\u1c34\u1c35", + "\u0007\u0083\u0002\u0002\u1c35\u1c36\u0007\u00ae\u0002\u0002\u1c36\u1c3d", + "\u0007\u07b2\u0002\u0002\u1c37\u1c38\u0007\u0811\u0002\u0002\u1c38\u1c39", + "\u0007\u0209\u0002\u0002\u1c39\u1c3b\u0005\u02ee\u0178\u0002\u1c3a\u1c3c", + "\u0007\u059a\u0002\u0002\u1c3b\u1c3a\u0003\u0002\u0002\u0002\u1c3b\u1c3c", + "\u0003\u0002\u0002\u0002\u1c3c\u1c3e\u0003\u0002\u0002\u0002\u1c3d\u1c37", + "\u0003\u0002\u0002\u0002\u1c3d\u1c3e\u0003\u0002\u0002\u0002\u1c3e\u1c46", + "\u0003\u0002\u0002\u0002\u1c3f\u1c40\u0007\u0181\u0002\u0002\u1c40\u1c41", + "\u0007\u0083\u0002\u0002\u1c41\u1c42\u0007\u00ae\u0002\u0002\u1c42\u1c46", + "\u0007\u07b2\u0002\u0002\u1c43\u1c46\u0005\u01b8\u00dd\u0002\u1c44\u1c46", + "\u0005\u02e0\u0171\u0002\u1c45\u1c17\u0003\u0002\u0002\u0002\u1c45\u1c1b", + "\u0003\u0002\u0002\u0002\u1c45\u1c1f\u0003\u0002\u0002\u0002\u1c45\u1c22", + "\u0003\u0002\u0002\u0002\u1c45\u1c29\u0003\u0002\u0002\u0002\u1c45\u1c33", + "\u0003\u0002\u0002\u0002\u1c45\u1c3f\u0003\u0002\u0002\u0002\u1c45\u1c43", + "\u0003\u0002\u0002\u0002\u1c45\u1c44\u0003\u0002\u0002\u0002\u1c46\u02df", + "\u0003\u0002\u0002\u0002\u1c47\u1c48\u0007\u05e8\u0002\u0002\u1c48\u1c49", + "\u0007\u0794\u0002\u0002\u1c49\u1c4a\u0007\u08c5\u0002\u0002\u1c4a\u1c4b", + "\u0007\u08ad\u0002\u0002\u1c4b\u02e1\u0003\u0002\u0002\u0002\u1c4c\u1c4d", + "\u0005\u028a\u0146\u0002\u1c4d\u1c4e\u0007\u02a2\u0002\u0002\u1c4e\u1c4f", + "\u0007\u08ad\u0002\u0002\u1c4f\u02e3\u0003\u0002\u0002\u0002\u1c50\u1c51", + "\u0007\u0246\u0002\u0002\u1c51\u1c52\tO\u0002\u0002\u1c52\u02e5\u0003", + "\u0002\u0002\u0002\u1c53\u1c54\u0005\u05d6\u02ec\u0002\u1c54\u02e7\u0003", + "\u0002\u0002\u0002\u1c55\u1c56\u0005\u05d6\u02ec\u0002\u1c56\u02e9\u0003", + "\u0002\u0002\u0002\u1c57\u1c58\u0005\u05d6\u02ec\u0002\u1c58\u02eb\u0003", + "\u0002\u0002\u0002\u1c59\u1c5a\u0007\u08ab\u0002\u0002\u1c5a\u02ed\u0003", + "\u0002\u0002\u0002\u1c5b\u1c5c\u0007\u08ad\u0002\u0002\u1c5c\u02ef\u0003", + "\u0002\u0002\u0002\u1c5d\u1c5e\u0007)\u0002\u0002\u1c5e\u1c5f\u0007", + "\u077a\u0002\u0002\u1c5f\u1c65\u0005\u0594\u02cb\u0002\u1c60\u1c66\u0003", + "\u0002\u0002\u0002\u1c61\u1c66\u0005\u02f2\u017a\u0002\u1c62\u1c66\u0005", + "\u0368\u01b5\u0002\u1c63\u1c66\u0005\u0312\u018a\u0002\u1c64\u1c66\u0005", + "\u0308\u0185\u0002\u1c65\u1c60\u0003\u0002\u0002\u0002\u1c65\u1c61\u0003", + "\u0002\u0002\u0002\u1c65\u1c62\u0003\u0002\u0002\u0002\u1c65\u1c63\u0003", + "\u0002\u0002\u0002\u1c65\u1c64\u0003\u0002\u0002\u0002\u1c66\u1c73\u0003", + "\u0002\u0002\u0002\u1c67\u1c70\u0005\u02fe\u0180\u0002\u1c68\u1c6d\u0005", + "\u028a\u0146\u0002\u1c69\u1c6a\u0007\u077a\u0002\u0002\u1c6a\u1c6e\u0007", + "\u030a\u0002\u0002\u1c6b\u1c6c\u0007%\u0002\u0002\u1c6c\u1c6e\u0007", + "\u07bb\u0002\u0002\u1c6d\u1c69\u0003\u0002\u0002\u0002\u1c6d\u1c6b\u0003", + "\u0002\u0002\u0002\u1c6e\u1c70\u0003\u0002\u0002\u0002\u1c6f\u1c67\u0003", + "\u0002\u0002\u0002\u1c6f\u1c68\u0003\u0002\u0002\u0002\u1c70\u1c71\u0003", + "\u0002\u0002\u0002\u1c71\u1c6f\u0003\u0002\u0002\u0002\u1c71\u1c72\u0003", + "\u0002\u0002\u0002\u1c72\u1c74\u0003\u0002\u0002\u0002\u1c73\u1c6f\u0003", + "\u0002\u0002\u0002\u1c73\u1c74\u0003\u0002\u0002\u0002\u1c74\u1c75\u0003", + "\u0002\u0002\u0002\u1c75\u1c76\u0007\u08c3\u0002\u0002\u1c76\u02f1\u0003", + "\u0002\u0002\u0002\u1c77\u1c83\u0005\u02f4\u017b\u0002\u1c78\u1c79\u0007", + "\u057e\u0002\u0002\u1c79\u1c7a\u0007\u07ae\u0002\u0002\u1c7a\u1c83\u0005", + "\u0594\u02cb\u0002\u1c7b\u1c83\u0005\u027e\u0140\u0002\u1c7c\u1c7d\u0007", + "\u054b\u0002\u0002\u1c7d\u1c83\u0007\u0469\u0002\u0002\u1c7e\u1c7f\u0007", + "\u054b\u0002\u0002\u1c7f\u1c83\u0007\u084f\u0002\u0002\u1c80\u1c81\u0007", + "\u0576\u0002\u0002\u1c81\u1c83\u0007\u08ad\u0002\u0002\u1c82\u1c77\u0003", + "\u0002\u0002\u0002\u1c82\u1c78\u0003\u0002\u0002\u0002\u1c82\u1c7b\u0003", + "\u0002\u0002\u0002\u1c82\u1c7c\u0003\u0002\u0002\u0002\u1c82\u1c7e\u0003", + "\u0002\u0002\u0002\u1c82\u1c80\u0003\u0002\u0002\u0002\u1c83\u02f3\u0003", + "\u0002\u0002\u0002\u1c84\u1c96\u0005\u0264\u0133\u0002\u1c85\u1c96\u0005", + "\u01c2\u00e2\u0002\u1c86\u1c96\u0005\u0262\u0132\u0002\u1c87\u1c96\u0005", + "\u0274\u013b\u0002\u1c88\u1c96\u0005\u027a\u013e\u0002\u1c89\u1c96\u0005", + "\u027c\u013f\u0002\u1c8a\u1c96\t5\u0002\u0002\u1c8b\u1c8c\u0007\u0592", + "\u0002\u0002\u1c8c\u1c8d\u0007\u08b1\u0002\u0002\u1c8d\u1c8e\u0007\u035e", + "\u0002\u0002\u1c8e\u1c8f\t;\u0002\u0002\u1c8f\u1c96\u0007\u08b2\u0002", + "\u0002\u1c90\u1c96\u0005\u0282\u0142\u0002\u1c91\u1c96\u0005\u0280\u0141", + "\u0002\u1c92\u1c96\u0005\u01dc\u00ef\u0002\u1c93\u1c96\u0005\u026e\u0138", + "\u0002\u1c94\u1c96\u0005\u0270\u0139\u0002\u1c95\u1c84\u0003\u0002\u0002", + "\u0002\u1c95\u1c85\u0003\u0002\u0002\u0002\u1c95\u1c86\u0003\u0002\u0002", + "\u0002\u1c95\u1c87\u0003\u0002\u0002\u0002\u1c95\u1c88\u0003\u0002\u0002", + "\u0002\u1c95\u1c89\u0003\u0002\u0002\u0002\u1c95\u1c8a\u0003\u0002\u0002", + "\u0002\u1c95\u1c8b\u0003\u0002\u0002\u0002\u1c95\u1c90\u0003\u0002\u0002", + "\u0002\u1c95\u1c91\u0003\u0002\u0002\u0002\u1c95\u1c92\u0003\u0002\u0002", + "\u0002\u1c95\u1c93\u0003\u0002\u0002\u0002\u1c95\u1c94\u0003\u0002\u0002", + "\u0002\u1c96\u1c97\u0003\u0002\u0002\u0002\u1c97\u1c95\u0003\u0002\u0002", + "\u0002\u1c97\u1c98\u0003\u0002\u0002\u0002\u1c98\u1c9a\u0003\u0002\u0002", + "\u0002\u1c99\u1c9b\u0005\u02f6\u017c\u0002\u1c9a\u1c99\u0003\u0002\u0002", + "\u0002\u1c9a\u1c9b\u0003\u0002\u0002\u0002\u1c9b\u02f5\u0003\u0002\u0002", + "\u0002\u1c9c\u1ca1\u0005\u030a\u0186\u0002\u1c9d\u1ca1\u0005\u02fa\u017e", + "\u0002\u1c9e\u1ca1\u0005\u02f8\u017d\u0002\u1c9f\u1ca1\u0007\u00cf\u0002", + "\u0002\u1ca0\u1c9c\u0003\u0002\u0002\u0002\u1ca0\u1c9d\u0003\u0002\u0002", + "\u0002\u1ca0\u1c9e\u0003\u0002\u0002\u0002\u1ca0\u1c9f\u0003\u0002\u0002", + "\u0002\u1ca1\u02f7\u0003\u0002\u0002\u0002\u1ca2\u1ca3\u0007\u0324\u0002", + "\u0002\u1ca3\u1ca6\u0007\u077a\u0002\u0002\u1ca4\u1ca7\u0005\u027a\u013e", + "\u0002\u1ca5\u1ca7\u0005\u027c\u013f\u0002\u1ca6\u1ca4\u0003\u0002\u0002", + "\u0002\u1ca6\u1ca5\u0003\u0002\u0002\u0002\u1ca7\u02f9\u0003\u0002\u0002", + "\u0002\u1ca8\u1cb3\u0005\u02fc\u017f\u0002\u1ca9\u1cae\u0007\u04a2\u0002", + "\u0002\u1caa\u1caf\u0005\u026a\u0136\u0002\u1cab\u1caf\u0005\u027a\u013e", + "\u0002\u1cac\u1caf\u0005\u027e\u0140\u0002\u1cad\u1caf\u0005\u027c\u013f", + "\u0002\u1cae\u1caa\u0003\u0002\u0002\u0002\u1cae\u1cab\u0003\u0002\u0002", + "\u0002\u1cae\u1cac\u0003\u0002\u0002\u0002\u1cae\u1cad\u0003\u0002\u0002", + "\u0002\u1caf\u1cb0\u0003\u0002\u0002\u0002\u1cb0\u1cae\u0003\u0002\u0002", + "\u0002\u1cb0\u1cb1\u0003\u0002\u0002\u0002\u1cb1\u1cb3\u0003\u0002\u0002", + "\u0002\u1cb2\u1ca8\u0003\u0002\u0002\u0002\u1cb2\u1ca9\u0003\u0002\u0002", + "\u0002\u1cb3\u02fb\u0003\u0002\u0002\u0002\u1cb4\u1cb5\u0007\u0014\u0002", + "\u0002\u1cb5\u1cb7\u0007\u04a2\u0002\u0002\u1cb6\u1cb8\u0005\u026a\u0136", + "\u0002\u1cb7\u1cb6\u0003\u0002\u0002\u0002\u1cb7\u1cb8\u0003\u0002\u0002", + "\u0002\u1cb8\u1cc9\u0003\u0002\u0002\u0002\u1cb9\u1cba\u0007\u08b1\u0002", + "\u0002\u1cba\u1cbc\u0007\u04b9\u0002\u0002\u1cbb\u1cbd\u0005\u026a\u0136", + "\u0002\u1cbc\u1cbb\u0003\u0002\u0002\u0002\u1cbc\u1cbd\u0003\u0002\u0002", + "\u0002\u1cbd\u1cc5\u0003\u0002\u0002\u0002\u1cbe\u1cbf\u0007\u08b7\u0002", + "\u0002\u1cbf\u1cc1\u0007\u04b9\u0002\u0002\u1cc0\u1cc2\u0005\u026a\u0136", + "\u0002\u1cc1\u1cc0\u0003\u0002\u0002\u0002\u1cc1\u1cc2\u0003\u0002\u0002", + "\u0002\u1cc2\u1cc4\u0003\u0002\u0002\u0002\u1cc3\u1cbe\u0003\u0002\u0002", + "\u0002\u1cc4\u1cc7\u0003\u0002\u0002\u0002\u1cc5\u1cc3\u0003\u0002\u0002", + "\u0002\u1cc5\u1cc6\u0003\u0002\u0002\u0002\u1cc6\u1cc8\u0003\u0002\u0002", + "\u0002\u1cc7\u1cc5\u0003\u0002\u0002\u0002\u1cc8\u1cca\u0007\u08b2\u0002", + "\u0002\u1cc9\u1cb9\u0003\u0002\u0002\u0002\u1cc9\u1cca\u0003\u0002\u0002", + "\u0002\u1cca\u02fd\u0003\u0002\u0002\u0002\u1ccb\u1ccd\t\u0007\u0002", + "\u0002\u1ccc\u1cce\t)\u0002\u0002\u1ccd\u1ccc\u0003\u0002\u0002\u0002", + "\u1ccd\u1cce\u0003\u0002\u0002\u0002\u1cce\u1cdf\u0003\u0002\u0002\u0002", + "\u1ccf\u1cd0\u0007\u07d4\u0002\u0002\u1cd0\u1cd1\u0007\u08b1\u0002\u0002", + "\u1cd1\u1cd6\u0005\u0592\u02ca\u0002\u1cd2\u1cd3\u0007\u08b7\u0002\u0002", + "\u1cd3\u1cd5\u0005\u0592\u02ca\u0002\u1cd4\u1cd2\u0003\u0002\u0002\u0002", + "\u1cd5\u1cd8\u0003\u0002\u0002\u0002\u1cd6\u1cd4\u0003\u0002\u0002\u0002", + "\u1cd6\u1cd7\u0003\u0002\u0002\u0002\u1cd7\u1cd9\u0003\u0002\u0002\u0002", + "\u1cd8\u1cd6\u0003\u0002\u0002\u0002\u1cd9\u1cda\u0007\u08b2\u0002\u0002", + "\u1cda\u1ce0\u0003\u0002\u0002\u0002\u1cdb\u1cdc\u0007\u051a\u0002\u0002", + "\u1cdc\u1ce0\u0007\u02d4\u0002\u0002\u1cdd\u1cde\u0007\u0103\u0002\u0002", + "\u1cde\u1ce0\u0005\u0576\u02bc\u0002\u1cdf\u1ccf\u0003\u0002\u0002\u0002", + "\u1cdf\u1cdb\u0003\u0002\u0002\u0002\u1cdf\u1cdd\u0003\u0002\u0002\u0002", + "\u1ce0\u1ce2\u0003\u0002\u0002\u0002\u1ce1\u1ce3\u0005\u0300\u0181\u0002", + "\u1ce2\u1ce1\u0003\u0002\u0002\u0002\u1ce2\u1ce3\u0003\u0002\u0002\u0002", + "\u1ce3\u1ce5\u0003\u0002\u0002\u0002\u1ce4\u1ce6\u0005\u0306\u0184\u0002", + "\u1ce5\u1ce4\u0003\u0002\u0002\u0002\u1ce5\u1ce6\u0003\u0002\u0002\u0002", + "\u1ce6\u1ce8\u0003\u0002\u0002\u0002\u1ce7\u1ce9\u0007\u00a4\u0002\u0002", + "\u1ce8\u1ce7\u0003\u0002\u0002\u0002\u1ce8\u1ce9\u0003\u0002\u0002\u0002", + "\u1ce9\u1cec\u0003\u0002\u0002\u0002\u1cea\u1ceb\tP\u0002\u0002\u1ceb", + "\u1ced\u0007\u0279\u0002\u0002\u1cec\u1cea\u0003\u0002\u0002\u0002\u1cec", + "\u1ced\u0003\u0002\u0002\u0002\u1ced\u02ff\u0003\u0002\u0002\u0002\u1cee", + "\u1cef\u0007\u0811\u0002\u0002\u1cef\u1cf6\u0007\u0279\u0002\u0002\u1cf0", + "\u1cf7\u0005\u0588\u02c5\u0002\u1cf1\u1cf2\u0007\u08b1\u0002\u0002\u1cf2", + "\u1cf3\u0005\u00b6\\\u0002\u1cf3\u1cf4\u0007\u08b2\u0002\u0002\u1cf4", + "\u1cf7\u0003\u0002\u0002\u0002\u1cf5\u1cf7\u0005\u0302\u0182\u0002\u1cf6", + "\u1cf0\u0003\u0002\u0002\u0002\u1cf6\u1cf1\u0003\u0002\u0002\u0002\u1cf6", + "\u1cf5\u0003\u0002\u0002\u0002\u1cf6\u1cf7\u0003\u0002\u0002\u0002\u1cf7", + "\u0301\u0003\u0002\u0002\u0002\u1cf8\u1d05\u0005\u0264\u0133\u0002\u1cf9", + "\u1d05\u0005\u01c2\u00e2\u0002\u1cfa\u1cfd\u0007\u0777\u0002\u0002\u1cfb", + "\u1cfe\u0005\u0346\u01a4\u0002\u1cfc\u1cfe\u0007\u0161\u0002\u0002\u1cfd", + "\u1cfb\u0003\u0002\u0002\u0002\u1cfd\u1cfc\u0003\u0002\u0002\u0002\u1cfe", + "\u1d05\u0003\u0002\u0002\u0002\u1cff\u1d05\u0005\u030e\u0188\u0002\u1d00", + "\u1d05\u0005\u0304\u0183\u0002\u1d01\u1d05\u0007\u059b\u0002\u0002\u1d02", + "\u1d05\u0005\u00eex\u0002\u1d03\u1d05\u0005\u01dc\u00ef\u0002\u1d04", + "\u1cf8\u0003\u0002\u0002\u0002\u1d04\u1cf9\u0003\u0002\u0002\u0002\u1d04", + "\u1cfa\u0003\u0002\u0002\u0002\u1d04\u1cff\u0003\u0002\u0002\u0002\u1d04", + "\u1d00\u0003\u0002\u0002\u0002\u1d04\u1d01\u0003\u0002\u0002\u0002\u1d04", + "\u1d02\u0003\u0002\u0002\u0002\u1d04\u1d03\u0003\u0002\u0002\u0002\u1d05", + "\u1d06\u0003\u0002\u0002\u0002\u1d06\u1d04\u0003\u0002\u0002\u0002\u1d06", + "\u1d07\u0003\u0002\u0002\u0002\u1d07\u0303\u0003\u0002\u0002\u0002\u1d08", + "\u1d09\tQ\u0002\u0002\u1d09\u0305\u0003\u0002\u0002\u0002\u1d0a\u1d0b", + "\u0007\u01d8\u0002\u0002\u1d0b\u1d0c\u0007\u02b5\u0002\u0002\u1d0c\u1d0d", + "\u0005\u0594\u02cb\u0002\u1d0d\u0307\u0003\u0002\u0002\u0002\u1d0e\u1d10", + "\u0007\u036c\u0002\u0002\u1d0f\u1d11\u0007\u0467\u0002\u0002\u1d10\u1d0f", + "\u0003\u0002\u0002\u0002\u1d10\u1d11\u0003\u0002\u0002\u0002\u1d11\u1d13", + "\u0003\u0002\u0002\u0002\u1d12\u1d14\u0005\u026a\u0136\u0002\u1d13\u1d12", + "\u0003\u0002\u0002\u0002\u1d13\u1d14\u0003\u0002\u0002\u0002\u1d14\u1d16", + "\u0003\u0002\u0002\u0002\u1d15\u1d17\u0005\u0262\u0132\u0002\u1d16\u1d15", + "\u0003\u0002\u0002\u0002\u1d16\u1d17\u0003\u0002\u0002\u0002\u1d17\u1d19", + "\u0003\u0002\u0002\u0002\u1d18\u1d1a\u0005\u030a\u0186\u0002\u1d19\u1d18", + "\u0003\u0002\u0002\u0002\u1d19\u1d1a\u0003\u0002\u0002\u0002\u1d1a\u1d21", + "\u0003\u0002\u0002\u0002\u1d1b\u1d1e\u0005\u0336\u019c\u0002\u1d1c\u1d1e", + "\u0005\u032c\u0197\u0002\u1d1d\u1d1b\u0003\u0002\u0002\u0002\u1d1d\u1d1c", + "\u0003\u0002\u0002\u0002\u1d1e\u1d1f\u0003\u0002\u0002\u0002\u1d1f\u1d1d", + "\u0003\u0002\u0002\u0002\u1d1f\u1d20\u0003\u0002\u0002\u0002\u1d20\u1d22", + "\u0003\u0002\u0002\u0002\u1d21\u1d1d\u0003\u0002\u0002\u0002\u1d21\u1d22", + "\u0003\u0002\u0002\u0002\u1d22\u1d24\u0003\u0002\u0002\u0002\u1d23\u1d25", + "\u0005\u01dc\u00ef\u0002\u1d24\u1d23\u0003\u0002\u0002\u0002\u1d24\u1d25", + "\u0003\u0002\u0002\u0002\u1d25\u0309\u0003\u0002\u0002\u0002\u1d26\u1d2b", + "\u0005\u030c\u0187\u0002\u1d27\u1d28\u0007\u04cf\u0002\u0002\u1d28\u1d2b", + "\u0007\u08ab\u0002\u0002\u1d29\u1d2b\u0005\u030e\u0188\u0002\u1d2a\u1d26", + "\u0003\u0002\u0002\u0002\u1d2a\u1d27\u0003\u0002\u0002\u0002\u1d2a\u1d29", + "\u0003\u0002\u0002\u0002\u1d2b\u1d2d\u0003\u0002\u0002\u0002\u1d2c\u1d2e", + "\u0005\u0310\u0189\u0002\u1d2d\u1d2c\u0003\u0002\u0002\u0002\u1d2d\u1d2e", + "\u0003\u0002\u0002\u0002\u1d2e\u030b\u0003\u0002\u0002\u0002\u1d2f\u1d30", + "\u0007\u0324\u0002\u0002\u1d30\u1d33\u0007\u077a\u0002\u0002\u1d31\u1d33", + "\u0007\u03e4\u0002\u0002\u1d32\u1d2f\u0003\u0002\u0002\u0002\u1d32\u1d31", + "\u0003\u0002\u0002\u0002\u1d33\u030d\u0003\u0002\u0002\u0002\u1d34\u1d38", + "\u0007\u03bb\u0002\u0002\u1d35\u1d36\u0007\u00ea\u0002\u0002\u1d36\u1d38", + "\u0007\u08ab\u0002\u0002\u1d37\u1d34\u0003\u0002\u0002\u0002\u1d37\u1d35", + "\u0003\u0002\u0002\u0002\u1d38\u030f\u0003\u0002\u0002\u0002\u1d39\u1d3a", + "\u0007\u026d\u0002\u0002\u1d3a\u1d3c\u0005\u0592\u02ca\u0002\u1d3b\u1d39", + "\u0003\u0002\u0002\u0002\u1d3b\u1d3c\u0003\u0002\u0002\u0002\u1d3c\u1d3d", + "\u0003\u0002\u0002\u0002\u1d3d\u1d3f\u0007\u04a2\u0002\u0002\u1d3e\u1d40", + "\u0005\u026a\u0136\u0002\u1d3f\u1d3e\u0003\u0002\u0002\u0002\u1d3f\u1d40", + "\u0003\u0002\u0002\u0002\u1d40\u0311\u0003\u0002\u0002\u0002\u1d41\u1d46", + "\u0005\u031e\u0190\u0002\u1d42\u1d46\u0005\u0318\u018d\u0002\u1d43\u1d46", + "\u0005\u0314\u018b\u0002\u1d44\u1d46\u0005\u0338\u019d\u0002\u1d45\u1d41", + "\u0003\u0002\u0002\u0002\u1d45\u1d42\u0003\u0002\u0002\u0002\u1d45\u1d43", + "\u0003\u0002\u0002\u0002\u1d45\u1d44\u0003\u0002\u0002\u0002\u1d46\u0313", + "\u0003\u0002\u0002\u0002\u1d47\u1d48\u0007\u0361\u0002\u0002\u1d48\u1d49", + "\u0007\u0381\u0002\u0002\u1d49\u1d4a\u0007\u077a\u0002\u0002\u1d4a\u1d4b", + "\u0005\u0316\u018c\u0002\u1d4b\u1d4c\u0007\u0599\u0002\u0002\u1d4c\u1d4d", + "\u0007?\u0002\u0002\u1d4d\u1d4e\tR\u0002\u0002\u1d4e\u0315\u0003\u0002", + "\u0002\u0002\u1d4f\u1d50\u0005\u0594\u02cb\u0002\u1d50\u0317\u0003\u0002", + "\u0002\u0002\u1d51\u1d52\u0007\u057e\u0002\u0002\u1d52\u1d53\u0007\u00d7", + "\u0002\u0002\u1d53\u1d54\u0005\u031a\u018e\u0002\u1d54\u1d55\u0007\u07ae", + "\u0002\u0002\u1d55\u1d56\u0005\u031c\u018f\u0002\u1d56\u0319\u0003\u0002", + "\u0002\u0002\u1d57\u1d58\u0005\u0592\u02ca\u0002\u1d58\u031b\u0003\u0002", + "\u0002\u0002\u1d59\u1d5a\u0005\u0592\u02ca\u0002\u1d5a\u031d\u0003\u0002", + "\u0002\u0002\u1d5b\u1d5f\u0005\u0328\u0195\u0002\u1d5c\u1d5f\u0005\u0322", + "\u0192\u0002\u1d5d\u1d5f\u0005\u0320\u0191\u0002\u1d5e\u1d5b\u0003\u0002", + "\u0002\u0002\u1d5e\u1d5c\u0003\u0002\u0002\u0002\u1d5e\u1d5d\u0003\u0002", + "\u0002\u0002\u1d5f\u1d60\u0003\u0002\u0002\u0002\u1d60\u1d5e\u0003\u0002", + "\u0002\u0002\u1d60\u1d61\u0003\u0002\u0002\u0002\u1d61\u031f\u0003\u0002", + "\u0002\u0002\u1d62\u1d63\u0007\u05e8\u0002\u0002\u1d63\u1d71\u0007\u07e8", + "\u0002\u0002\u1d64\u1d65\u0007\u00d7\u0002\u0002\u1d65\u1d72\u0005\u0592", + "\u02ca\u0002\u1d66\u1d67\u0007\u08b1\u0002\u0002\u1d67\u1d6c\u0005\u0592", + "\u02ca\u0002\u1d68\u1d69\u0007\u08b7\u0002\u0002\u1d69\u1d6b\u0005\u0592", + "\u02ca\u0002\u1d6a\u1d68\u0003\u0002\u0002\u0002\u1d6b\u1d6e\u0003\u0002", + "\u0002\u0002\u1d6c\u1d6a\u0003\u0002\u0002\u0002\u1d6c\u1d6d\u0003\u0002", + "\u0002\u0002\u1d6d\u1d6f\u0003\u0002\u0002\u0002\u1d6e\u1d6c\u0003\u0002", + "\u0002\u0002\u1d6f\u1d70\u0007\u08b2\u0002\u0002\u1d70\u1d72\u0003\u0002", + "\u0002\u0002\u1d71\u1d64\u0003\u0002\u0002\u0002\u1d71\u1d66\u0003\u0002", + "\u0002\u0002\u1d72\u1d78\u0003\u0002\u0002\u0002\u1d73\u1d74\u0007\u00a4", + "\u0002\u0002\u1d74\u1d77\u0007\u0104\u0002\u0002\u1d75\u1d77\u0007\u02b6", + "\u0002\u0002\u1d76\u1d73\u0003\u0002\u0002\u0002\u1d76\u1d75\u0003\u0002", + "\u0002\u0002\u1d77\u1d7a\u0003\u0002\u0002\u0002\u1d78\u1d76\u0003\u0002", + "\u0002\u0002\u1d78\u1d79\u0003\u0002\u0002\u0002\u1d79\u1da1\u0003\u0002", + "\u0002\u0002\u1d7a\u1d78\u0003\u0002\u0002\u0002\u1d7b\u1d89\u0007\u019d", + "\u0002\u0002\u1d7c\u1d7d\u0007\u00d7\u0002\u0002\u1d7d\u1d8a\u0005\u0592", + "\u02ca\u0002\u1d7e\u1d7f\u0007\u08b1\u0002\u0002\u1d7f\u1d84\u0005\u0592", + "\u02ca\u0002\u1d80\u1d81\u0007\u08b7\u0002\u0002\u1d81\u1d83\u0005\u0592", + "\u02ca\u0002\u1d82\u1d80\u0003\u0002\u0002\u0002\u1d83\u1d86\u0003\u0002", + "\u0002\u0002\u1d84\u1d82\u0003\u0002\u0002\u0002\u1d84\u1d85\u0003\u0002", + "\u0002\u0002\u1d85\u1d87\u0003\u0002\u0002\u0002\u1d86\u1d84\u0003\u0002", + "\u0002\u0002\u1d87\u1d88\u0007\u08b2\u0002\u0002\u1d88\u1d8a\u0003\u0002", + "\u0002\u0002\u1d89\u1d7c\u0003\u0002\u0002\u0002\u1d89\u1d7e\u0003\u0002", + "\u0002\u0002\u1d8a\u1d90\u0003\u0002\u0002\u0002\u1d8b\u1d8c\u0007\u00a4", + "\u0002\u0002\u1d8c\u1d8f\u0007\u0104\u0002\u0002\u1d8d\u1d8f\u0007\u02b6", + "\u0002\u0002\u1d8e\u1d8b\u0003\u0002\u0002\u0002\u1d8e\u1d8d\u0003\u0002", + "\u0002\u0002\u1d8f\u1d92\u0003\u0002\u0002\u0002\u1d90\u1d8e\u0003\u0002", + "\u0002\u0002\u1d90\u1d91\u0003\u0002\u0002\u0002\u1d91\u1d95\u0003\u0002", + "\u0002\u0002\u1d92\u1d90\u0003\u0002\u0002\u0002\u1d93\u1d94\u0007\u00b7", + "\u0002\u0002\u1d94\u1d96\u0007\u08ab\u0002\u0002\u1d95\u1d93\u0003\u0002", + "\u0002\u0002\u1d95\u1d96\u0003\u0002\u0002\u0002\u1d96\u1da1\u0003\u0002", + "\u0002\u0002\u1d97\u1d9c\u0007\u019d\u0002\u0002\u1d98\u1d99\u0007\u07e8", + "\u0002\u0002\u1d99\u1d9d\u0007\u00d8\u0002\u0002\u1d9a\u1d9b\u0007\u00d8", + "\u0002\u0002\u1d9b\u1d9d\u0007\u010c\u0002\u0002\u1d9c\u1d98\u0003\u0002", + "\u0002\u0002\u1d9c\u1d9a\u0003\u0002\u0002\u0002\u1d9d\u1d9e\u0003\u0002", + "\u0002\u0002\u1d9e\u1d9f\u0007\u00b7\u0002\u0002\u1d9f\u1da1\u0007\u08ab", + "\u0002\u0002\u1da0\u1d62\u0003\u0002\u0002\u0002\u1da0\u1d7b\u0003\u0002", + "\u0002\u0002\u1da0\u1d97\u0003\u0002\u0002\u0002\u1da1\u0321\u0003\u0002", + "\u0002\u0002\u1da2\u1db0\u0007\u0361\u0002\u0002\u1da3\u1da4\u0007\u08b1", + "\u0002\u0002\u1da4\u1da9\u0005\u0324\u0193\u0002\u1da5\u1da6\u0007\u08b7", + "\u0002\u0002\u1da6\u1da8\u0005\u0324\u0193\u0002\u1da7\u1da5\u0003\u0002", + "\u0002\u0002\u1da8\u1dab\u0003\u0002\u0002\u0002\u1da9\u1da7\u0003\u0002", + "\u0002\u0002\u1da9\u1daa\u0003\u0002\u0002\u0002\u1daa\u1dac\u0003\u0002", + "\u0002\u0002\u1dab\u1da9\u0003\u0002\u0002\u0002\u1dac\u1dad\u0007\u08b2", + "\u0002\u0002\u1dad\u1db1\u0003\u0002\u0002\u0002\u1dae\u1db1\u0005\u0324", + "\u0193\u0002\u1daf\u1db1\u0005\u0326\u0194\u0002\u1db0\u1da3\u0003\u0002", + "\u0002\u0002\u1db0\u1dae\u0003\u0002\u0002\u0002\u1db0\u1daf\u0003\u0002", + "\u0002\u0002\u1db1\u0323\u0003\u0002\u0002\u0002\u1db2\u1db4\u0005\u0592", + "\u02ca\u0002\u1db3\u1db5\u0005\u05b6\u02dc\u0002\u1db4\u1db3\u0003\u0002", + "\u0002\u0002\u1db4\u1db5\u0003\u0002\u0002\u0002\u1db5\u1db8\u0003\u0002", + "\u0002\u0002\u1db6\u1db7\u0007\u0161\u0002\u0002\u1db7\u1db9\u0005\u04d4", + "\u026b\u0002\u1db8\u1db6\u0003\u0002\u0002\u0002\u1db8\u1db9\u0003\u0002", + "\u0002\u0002\u1db9\u1dbd\u0003\u0002\u0002\u0002\u1dba\u1dbb\u0007\u01bd", + "\u0002\u0002\u1dbb\u1dbe\u0005\u0344\u01a3\u0002\u1dbc\u1dbe\u0007\u015f", + "\u0002\u0002\u1dbd\u1dba\u0003\u0002\u0002\u0002\u1dbd\u1dbc\u0003\u0002", + "\u0002\u0002\u1dbd\u1dbe\u0003\u0002\u0002\u0002\u1dbe\u1dc2\u0003\u0002", + "\u0002\u0002\u1dbf\u1dc1\u0005\u01a2\u00d2\u0002\u1dc0\u1dbf\u0003\u0002", + "\u0002\u0002\u1dc1\u1dc4\u0003\u0002\u0002\u0002\u1dc2\u1dc0\u0003\u0002", + "\u0002\u0002\u1dc2\u1dc3\u0003\u0002\u0002\u0002\u1dc3\u1dc6\u0003\u0002", + "\u0002\u0002\u1dc4\u1dc2\u0003\u0002\u0002\u0002\u1dc5\u1dc7\u0005\u0336", + "\u019c\u0002\u1dc6\u1dc5\u0003\u0002\u0002\u0002\u1dc6\u1dc7\u0003\u0002", + "\u0002\u0002\u1dc7\u0325\u0003\u0002\u0002\u0002\u1dc8\u1dc9\u0007\u00d7", + "\u0002\u0002\u1dc9\u1dcb\u0005\u0592\u02ca\u0002\u1dca\u1dcc\u0007\u0433", + "\u0002\u0002\u1dcb\u1dca\u0003\u0002\u0002\u0002\u1dcb\u1dcc\u0003\u0002", + "\u0002\u0002\u1dcc\u1dcd\u0003\u0002\u0002\u0002\u1dcd\u1dce\u0007\u064d", + "\u0002\u0002\u1dce\u1dcf\u0007L\u0002\u0002\u1dcf\u1dd0\u0007%\u0002", + "\u0002\u1dd0\u1dd2\u0007\u02ee\u0002\u0002\u1dd1\u1dd3\u0007\u0220\u0002", + "\u0002\u1dd2\u1dd1\u0003\u0002\u0002\u0002\u1dd2\u1dd3\u0003\u0002\u0002", + "\u0002\u1dd3\u0327\u0003\u0002\u0002\u0002\u1dd4\u1dea\u0007\u0014\u0002", + "\u0002\u1dd5\u1dd8\u0007\u08b1\u0002\u0002\u1dd6\u1dd9\u0005\u0352\u01aa", + "\u0002\u1dd7\u1dd9\u0005\u0354\u01ab\u0002\u1dd8\u1dd6\u0003\u0002\u0002", + "\u0002\u1dd8\u1dd7\u0003\u0002\u0002\u0002\u1dd9\u1de1\u0003\u0002\u0002", + "\u0002\u1dda\u1ddd\u0007\u08b7\u0002\u0002\u1ddb\u1dde\u0005\u0352\u01aa", + "\u0002\u1ddc\u1dde\u0005\u0354\u01ab\u0002\u1ddd\u1ddb\u0003\u0002\u0002", + "\u0002\u1ddd\u1ddc\u0003\u0002\u0002\u0002\u1dde\u1de0\u0003\u0002\u0002", + "\u0002\u1ddf\u1dda\u0003\u0002\u0002\u0002\u1de0\u1de3\u0003\u0002\u0002", + "\u0002\u1de1\u1ddf\u0003\u0002\u0002\u0002\u1de1\u1de2\u0003\u0002\u0002", + "\u0002\u1de2\u1de4\u0003\u0002\u0002\u0002\u1de3\u1de1\u0003\u0002\u0002", + "\u0002\u1de4\u1de5\u0007\u08b2\u0002\u0002\u1de5\u1deb\u0003\u0002\u0002", + "\u0002\u1de6\u1de9\u0005\u0352\u01aa\u0002\u1de7\u1de9\u0005\u0354\u01ab", + "\u0002\u1de8\u1de6\u0003\u0002\u0002\u0002\u1de8\u1de7\u0003\u0002\u0002", + "\u0002\u1de9\u1deb\u0003\u0002\u0002\u0002\u1dea\u1dd5\u0003\u0002\u0002", + "\u0002\u1dea\u1de8\u0003\u0002\u0002\u0002\u1deb\u1ded\u0003\u0002\u0002", + "\u0002\u1dec\u1dee\u0005\u034a\u01a6\u0002\u1ded\u1dec\u0003\u0002\u0002", + "\u0002\u1ded\u1dee\u0003\u0002\u0002\u0002\u1dee\u0329\u0003\u0002\u0002", + "\u0002\u1def\u1df0\u0007\u0361\u0002\u0002\u1df0\u1df1\u0007\u0822\u0002", + "\u0002\u1df1\u1df2\u0005\u0348\u01a5\u0002\u1df2\u1df3\u0007\u08b1\u0002", + "\u0002\u1df3\u1df4\u0005\u033a\u019e\u0002\u1df4\u1df5\u0007\u08b2\u0002", + "\u0002\u1df5\u032b\u0003\u0002\u0002\u0002\u1df6\u1df7\u0007\u0822\u0002", + "\u0002\u1df7\u1dfd\u0005\u0348\u01a5\u0002\u1df8\u1dfa\u0005\u035e\u01b0", + "\u0002\u1df9\u1df8\u0003\u0002\u0002\u0002\u1df9\u1dfa\u0003\u0002\u0002", + "\u0002\u1dfa\u1dfb\u0003\u0002\u0002\u0002\u1dfb\u1dfe\u0005\u032e\u0198", + "\u0002\u1dfc\u1dfe\u0005\u035e\u01b0\u0002\u1dfd\u1df9\u0003\u0002\u0002", + "\u0002\u1dfd\u1dfc\u0003\u0002\u0002\u0002\u1dfe\u032d\u0003\u0002\u0002", + "\u0002\u1dff\u1e00\u0007\u063c\u0002\u0002\u1e00\u1e02\u0007?\u0002", + "\u0002\u1e01\u1e03\t<\u0002\u0002\u1e02\u1e01\u0003\u0002\u0002\u0002", + "\u1e02\u1e03\u0003\u0002\u0002\u0002\u1e03\u1e04\u0003\u0002\u0002\u0002", + "\u1e04\u1e0d\u0007\u02ff\u0002\u0002\u1e05\u1e07\u0005\u0330\u0199\u0002", + "\u1e06\u1e05\u0003\u0002\u0002\u0002\u1e06\u1e07\u0003\u0002\u0002\u0002", + "\u1e07\u1e08\u0003\u0002\u0002\u0002\u1e08\u1e09\u0007\u08b1\u0002\u0002", + "\u1e09\u1e0a\u0005\u0334\u019b\u0002\u1e0a\u1e0b\u0007\u08b2\u0002\u0002", + "\u1e0b\u1e0e\u0003\u0002\u0002\u0002\u1e0c\u1e0e\u0005\u0330\u0199\u0002", + "\u1e0d\u1e06\u0003\u0002\u0002\u0002\u1e0d\u1e0c\u0003\u0002\u0002\u0002", + "\u1e0e\u032f\u0003\u0002\u0002\u0002\u1e0f\u1e10\u0005\u05d6\u02ec\u0002", + "\u1e10\u0331\u0003\u0002\u0002\u0002\u1e11\u1e12\u0005\u05d6\u02ec\u0002", + "\u1e12\u0333\u0003\u0002\u0002\u0002\u1e13\u1e14\u0007\u0777\u0002\u0002", + "\u1e14\u1e1b\u0005\u0346\u01a4\u0002\u1e15\u1e17\u0005\u033c\u019f\u0002", + "\u1e16\u1e18\u0005\u0266\u0134\u0002\u1e17\u1e16\u0003\u0002\u0002\u0002", + "\u1e17\u1e18\u0003\u0002\u0002\u0002\u1e18\u1e1b\u0003\u0002\u0002\u0002", + "\u1e19\u1e1b\u0005\u0266\u0134\u0002\u1e1a\u1e13\u0003\u0002\u0002\u0002", + "\u1e1a\u1e15\u0003\u0002\u0002\u0002\u1e1a\u1e19\u0003\u0002\u0002\u0002", + "\u1e1b\u0335\u0003\u0002\u0002\u0002\u1e1c\u1e41\u0007\u02ff\u0002\u0002", + "\u1e1d\u1e1e\u0007\u08b1\u0002\u0002\u1e1e\u1e23\u0005\u0332\u019a\u0002", + "\u1e1f\u1e20\u0007\u08b7\u0002\u0002\u1e20\u1e22\u0005\u0332\u019a\u0002", + "\u1e21\u1e1f\u0003\u0002\u0002\u0002\u1e22\u1e25\u0003\u0002\u0002\u0002", + "\u1e23\u1e21\u0003\u0002\u0002\u0002\u1e23\u1e24\u0003\u0002\u0002\u0002", + "\u1e24\u1e26\u0003\u0002\u0002\u0002\u1e25\u1e23\u0003\u0002\u0002\u0002", + "\u1e26\u1e27\u0007\u08b2\u0002\u0002\u1e27\u1e28\u0007\u063c\u0002\u0002", + "\u1e28\u1e2e\u0007?\u0002\u0002\u1e29\u1e2f\t<\u0002\u0002\u1e2a\u1e2b", + "\u0007\u08b1\u0002\u0002\u1e2b\u1e2c\u0005\u0334\u019b\u0002\u1e2c\u1e2d", + "\u0007\u08b2\u0002\u0002\u1e2d\u1e2f\u0003\u0002\u0002\u0002\u1e2e\u1e29", + "\u0003\u0002\u0002\u0002\u1e2e\u1e2a\u0003\u0002\u0002\u0002\u1e2f\u1e30", + "\u0003\u0002\u0002\u0002\u1e30\u1e2e\u0003\u0002\u0002\u0002\u1e30\u1e31", + "\u0003\u0002\u0002\u0002\u1e31\u1e42\u0003\u0002\u0002\u0002\u1e32\u1e33", + "\u0007\u08b1\u0002\u0002\u1e33\u1e34\u0005\u0332\u019a\u0002\u1e34\u1e35", + "\u0007\u08b2\u0002\u0002\u1e35\u1e36\u0007\u063c\u0002\u0002\u1e36\u1e3d", + "\u0007?\u0002\u0002\u1e37\u1e3e\t<\u0002\u0002\u1e38\u1e3e\u0005\u0330", + "\u0199\u0002\u1e39\u1e3a\u0007\u08b1\u0002\u0002\u1e3a\u1e3b\u0005\u0334", + "\u019b\u0002\u1e3b\u1e3c\u0007\u08b2\u0002\u0002\u1e3c\u1e3e\u0003\u0002", + "\u0002\u0002\u1e3d\u1e37\u0003\u0002\u0002\u0002\u1e3d\u1e38\u0003\u0002", + "\u0002\u0002\u1e3d\u1e39\u0003\u0002\u0002\u0002\u1e3e\u1e3f\u0003\u0002", + "\u0002\u0002\u1e3f\u1e3d\u0003\u0002\u0002\u0002\u1e3f\u1e40\u0003\u0002", + "\u0002\u0002\u1e40\u1e42\u0003\u0002\u0002\u0002\u1e41\u1e1d\u0003\u0002", + "\u0002\u0002\u1e41\u1e32\u0003\u0002\u0002\u0002\u1e42\u0337\u0003\u0002", + "\u0002\u0002\u1e43\u1e44\u0007\u0361\u0002\u0002\u1e44\u1e45\u0007\u02ff", + "\u0002\u0002\u1e45\u1e46\u0007\u08b1\u0002\u0002\u1e46\u1e47\u0005\u0332", + "\u019a\u0002\u1e47\u1e48\u0007\u08b2\u0002\u0002\u1e48\u1e49\u0007\u08b1", + "\u0002\u0002\u1e49\u1e4a\u0005\u033a\u019e\u0002\u1e4a\u1e4b\u0007\u08b2", + "\u0002\u0002\u1e4b\u0339\u0003\u0002\u0002\u0002\u1e4c\u1e65\u0005\u0266", + "\u0134\u0002\u1e4d\u1e4e\tS\u0002\u0002\u1e4e\u1e65\u0007\u08ab\u0002", + "\u0002\u1e4f\u1e50\u0007\u0550\u0002\u0002\u1e50\u1e65\u0007\u022a\u0002", + "\u0002\u1e51\u1e65\u0005\u0342\u01a2\u0002\u1e52\u1e65\u0005\u033e\u01a0", + "\u0002\u1e53\u1e65\u0005\u0340\u01a1\u0002\u1e54\u1e55\u0007\u01bd\u0002", + "\u0002\u1e55\u1e65\u0005\u0344\u01a3\u0002\u1e56\u1e65\u0007\u015f\u0002", + "\u0002\u1e57\u1e65\u0007\u0098\u0002\u0002\u1e58\u1e5d\u0007\u0098\u0002", + "\u0002\u1e59\u1e5d\u0007\u03b4\u0002\u0002\u1e5a\u1e5b\u0007\u0098\u0002", + "\u0002\u1e5b\u1e5d\u0007\u054c\u0002\u0002\u1e5c\u1e58\u0003\u0002\u0002", + "\u0002\u1e5c\u1e59\u0003\u0002\u0002\u0002\u1e5c\u1e5a\u0003\u0002\u0002", + "\u0002\u1e5d\u1e5f\u0003\u0002\u0002\u0002\u1e5e\u1e60\u0005\u01c2\u00e2", + "\u0002\u1e5f\u1e5e\u0003\u0002\u0002\u0002\u1e5f\u1e60\u0003\u0002\u0002", + "\u0002\u1e60\u1e65\u0003\u0002\u0002\u0002\u1e61\u1e65\u0005\u027a\u013e", + "\u0002\u1e62\u1e65\u0005\u027e\u0140\u0002\u1e63\u1e65\u0005\u027c\u013f", + "\u0002\u1e64\u1e4c\u0003\u0002\u0002\u0002\u1e64\u1e4d\u0003\u0002\u0002", + "\u0002\u1e64\u1e4f\u0003\u0002\u0002\u0002\u1e64\u1e51\u0003\u0002\u0002", + "\u0002\u1e64\u1e52\u0003\u0002\u0002\u0002\u1e64\u1e53\u0003\u0002\u0002", + "\u0002\u1e64\u1e54\u0003\u0002\u0002\u0002\u1e64\u1e56\u0003\u0002\u0002", + "\u0002\u1e64\u1e57\u0003\u0002\u0002\u0002\u1e64\u1e5c\u0003\u0002\u0002", + "\u0002\u1e64\u1e61\u0003\u0002\u0002\u0002\u1e64\u1e62\u0003\u0002\u0002", + "\u0002\u1e64\u1e63\u0003\u0002\u0002\u0002\u1e65\u1e66\u0003\u0002\u0002", + "\u0002\u1e66\u1e64\u0003\u0002\u0002\u0002\u1e66\u1e67\u0003\u0002\u0002", + "\u0002\u1e67\u033b\u0003\u0002\u0002\u0002\u1e68\u1e69\t\u0007\u0002", + "\u0002\u1e69\u1e6a\u0007\u063b\u0002\u0002\u1e6a\u1e6b\u0007\u028e\u0002", + "\u0002\u1e6b\u1e82\u0007\u05ad\u0002\u0002\u1e6c\u1e6d\u0007\u00bb\u0002", + "\u0002\u1e6d\u1e82\u0007\u08ab\u0002\u0002\u1e6e\u1e6f\u0007\u04d1\u0002", + "\u0002\u1e6f\u1e82\u0007\u08ab\u0002\u0002\u1e70\u1e71\u0007\u022a\u0002", + "\u0002\u1e71\u1e82\u0007\u08ab\u0002\u0002\u1e72\u1e82\u0005\u0342\u01a2", + "\u0002\u1e73\u1e82\u0005\u033e\u01a0\u0002\u1e74\u1e82\u0005\u0340\u01a1", + "\u0002\u1e75\u1e76\u0007\u01bd\u0002\u0002\u1e76\u1e82\u0005\u0344\u01a3", + "\u0002\u1e77\u1e82\u0007\u015f\u0002\u0002\u1e78\u1e7d\u0007\u0098\u0002", + "\u0002\u1e79\u1e7d\u0007\u03b4\u0002\u0002\u1e7a\u1e7b\u0007\u0098\u0002", + "\u0002\u1e7b\u1e7d\u0007\u054c\u0002\u0002\u1e7c\u1e78\u0003\u0002\u0002", + "\u0002\u1e7c\u1e79\u0003\u0002\u0002\u0002\u1e7c\u1e7a\u0003\u0002\u0002", + "\u0002\u1e7d\u1e7f\u0003\u0002\u0002\u0002\u1e7e\u1e80\u0005\u01c2\u00e2", + "\u0002\u1e7f\u1e7e\u0003\u0002\u0002\u0002\u1e7f\u1e80\u0003\u0002\u0002", + "\u0002\u1e80\u1e82\u0003\u0002\u0002\u0002\u1e81\u1e68\u0003\u0002\u0002", + "\u0002\u1e81\u1e6c\u0003\u0002\u0002\u0002\u1e81\u1e6e\u0003\u0002\u0002", + "\u0002\u1e81\u1e70\u0003\u0002\u0002\u0002\u1e81\u1e72\u0003\u0002\u0002", + "\u0002\u1e81\u1e73\u0003\u0002\u0002\u0002\u1e81\u1e74\u0003\u0002\u0002", + "\u0002\u1e81\u1e75\u0003\u0002\u0002\u0002\u1e81\u1e77\u0003\u0002\u0002", + "\u0002\u1e81\u1e7c\u0003\u0002\u0002\u0002\u1e82\u1e83\u0003\u0002\u0002", + "\u0002\u1e83\u1e81\u0003\u0002\u0002\u0002\u1e83\u1e84\u0003\u0002\u0002", + "\u0002\u1e84\u033d\u0003\u0002\u0002\u0002\u1e85\u1e86\tT\u0002\u0002", + "\u1e86\u033f\u0003\u0002\u0002\u0002\u1e87\u1e8d\u0007\u03bb\u0002\u0002", + "\u1e88\u1e8a\u0007\u00ea\u0002\u0002\u1e89\u1e8b\tU\u0002\u0002\u1e8a", + "\u1e89\u0003\u0002\u0002\u0002\u1e8a\u1e8b\u0003\u0002\u0002\u0002\u1e8b", + "\u1e8d\u0003\u0002\u0002\u0002\u1e8c\u1e87\u0003\u0002\u0002\u0002\u1e8c", + "\u1e88\u0003\u0002\u0002\u0002\u1e8d\u0341\u0003\u0002\u0002\u0002\u1e8e", + "\u1e94\u0007\u0596\u0002\u0002\u1e8f\u1e95\u0007\u0893\u0002\u0002\u1e90", + "\u1e91\u0007\u0895\u0002\u0002\u1e91\u1e95\u0007\u08ab\u0002\u0002\u1e92", + "\u1e95\u0007U\u0002\u0002\u1e93\u1e95\u0007\u03f1\u0002\u0002\u1e94", + "\u1e8f\u0003\u0002\u0002\u0002\u1e94\u1e90\u0003\u0002\u0002\u0002\u1e94", + "\u1e92\u0003\u0002\u0002\u0002\u1e94\u1e93\u0003\u0002\u0002\u0002\u1e94", + "\u1e95\u0003\u0002\u0002\u0002\u1e95\u0343\u0003\u0002\u0002\u0002\u1e96", + "\u1e97\u0007\u0811\u0002\u0002\u1e97\u1e99\u0007\u08ad\u0002\u0002\u1e98", + "\u1e96\u0003\u0002\u0002\u0002\u1e98\u1e99\u0003\u0002\u0002\u0002\u1e99", + "\u1e9d\u0003\u0002\u0002\u0002\u1e9a\u1e9b\u0007\u025b\u0002\u0002\u1e9b", + "\u1e9c\u0007\u0094\u0002\u0002\u1e9c\u1e9e\u0007\u08ce\u0002\u0002\u1e9d", + "\u1e9a\u0003\u0002\u0002\u0002\u1e9d\u1e9e\u0003\u0002\u0002\u0002\u1e9e", + "\u1ea0\u0003\u0002\u0002\u0002\u1e9f\u1ea1\u0007\u08ad\u0002\u0002\u1ea0", + "\u1e9f\u0003\u0002\u0002\u0002\u1ea0\u1ea1\u0003\u0002\u0002\u0002\u1ea1", + "\u1ea6\u0003\u0002\u0002\u0002\u1ea2\u1ea4\u0007\u03f4\u0002\u0002\u1ea3", + "\u1ea2\u0003\u0002\u0002\u0002\u1ea3\u1ea4\u0003\u0002\u0002\u0002\u1ea4", + "\u1ea5\u0003\u0002\u0002\u0002\u1ea5\u1ea7\u0007\u05b4\u0002\u0002\u1ea6", + "\u1ea3\u0003\u0002\u0002\u0002\u1ea6\u1ea7\u0003\u0002\u0002\u0002\u1ea7", + "\u0345\u0003\u0002\u0002\u0002\u1ea8\u1ea9\u0005\u05d6\u02ec\u0002\u1ea9", + "\u0347\u0003\u0002\u0002\u0002\u1eaa\u1eab\u0005\u05d2\u02ea\u0002\u1eab", + "\u1eac\u0007\u08aa\u0002\u0002\u1eac\u1eae\u0003\u0002\u0002\u0002\u1ead", + "\u1eaa\u0003\u0002\u0002\u0002\u1ead\u1eae\u0003\u0002\u0002\u0002\u1eae", + "\u1eb2\u0003\u0002\u0002\u0002\u1eaf\u1eb0\u0005\u05d2\u02ea\u0002\u1eb0", + "\u1eb1\u0007\u08aa\u0002\u0002\u1eb1\u1eb3\u0003\u0002\u0002\u0002\u1eb2", + "\u1eaf\u0003\u0002\u0002\u0002\u1eb2\u1eb3\u0003\u0002\u0002\u0002\u1eb3", + "\u1eb4\u0003\u0002\u0002\u0002\u1eb4\u1eb5\u0005\u05d2\u02ea\u0002\u1eb5", + "\u0349\u0003\u0002\u0002\u0002\u1eb6\u1ebe\u0005\u0366\u01b4\u0002\u1eb7", + "\u1ebe\u0005\u035a\u01ae\u0002\u1eb8\u1ebb\u0005\u032c\u0197\u0002\u1eb9", + "\u1ebb\u0005\u0336\u019c\u0002\u1eba\u1eb8\u0003\u0002\u0002\u0002\u1eba", + "\u1eb9\u0003\u0002\u0002\u0002\u1ebb\u1ebe\u0003\u0002\u0002\u0002\u1ebc", + "\u1ebe\u0005\u020e\u0108\u0002\u1ebd\u1eb6\u0003\u0002\u0002\u0002\u1ebd", + "\u1eb7\u0003\u0002\u0002\u0002\u1ebd\u1eba\u0003\u0002\u0002\u0002\u1ebd", + "\u1ebc\u0003\u0002\u0002\u0002\u1ebe\u034b\u0003\u0002\u0002\u0002\u1ebf", + "\u1ec0\u0006\u01a7\u000b\u0002\u1ec0\u1ec1\u0007\u08aa\u0002\u0002\u1ec1", + "\u1ec2\u0007\u0224\u0002\u0002\u1ec2\u1ec9\u0005\u0592\u02ca\u0002\u1ec3", + "\u1ec4\u0007\u08b1\u0002\u0002\u1ec4\u1ec5\u0005\u034e\u01a8\u0002\u1ec5", + "\u1ec6\u0007\u08b7\u0002\u0002\u1ec6\u1ec7\u0005\u0350\u01a9\u0002\u1ec7", + "\u1ec8\u0007\u08b2\u0002\u0002\u1ec8\u1eca\u0003\u0002\u0002\u0002\u1ec9", + "\u1ec3\u0003\u0002\u0002\u0002\u1ec9\u1eca\u0003\u0002\u0002\u0002\u1eca", + "\u034d\u0003\u0002\u0002\u0002\u1ecb\u1ecc\u0005\u0592\u02ca\u0002\u1ecc", + "\u034f\u0003\u0002\u0002\u0002\u1ecd\u1ece\u0005\u0592\u02ca\u0002\u1ece", + "\u0351\u0003\u0002\u0002\u0002\u1ecf\u1ed2\u0005\u0592\u02ca\u0002\u1ed0", + "\u1ed3\u0005\u05b6\u02dc\u0002\u1ed1\u1ed3\u0005\u057a\u02be\u0002\u1ed2", + "\u1ed0\u0003\u0002\u0002\u0002\u1ed2\u1ed1\u0003\u0002\u0002\u0002\u1ed3", + "\u1ed5\u0003\u0002\u0002\u0002\u1ed4\u1ed6\u0007\u060a\u0002\u0002\u1ed5", + "\u1ed4\u0003\u0002\u0002\u0002\u1ed5\u1ed6\u0003\u0002\u0002\u0002\u1ed6", + "\u1ed9\u0003\u0002\u0002\u0002\u1ed7\u1ed8\u0007\u0161\u0002\u0002\u1ed8", + "\u1eda\u0005\u04d4\u026b\u0002\u1ed9\u1ed7\u0003\u0002\u0002\u0002\u1ed9", + "\u1eda\u0003\u0002\u0002\u0002\u1eda\u1eee\u0003\u0002\u0002\u0002\u1edb", + "\u1ede\u0007\u01bd\u0002\u0002\u1edc\u1edd\u0007\u0811\u0002\u0002\u1edd", + "\u1edf\u0007\u08ad\u0002\u0002\u1ede\u1edc\u0003\u0002\u0002\u0002\u1ede", + "\u1edf\u0003\u0002\u0002\u0002\u1edf\u1ee3\u0003\u0002\u0002\u0002\u1ee0", + "\u1ee1\u0007\u025b\u0002\u0002\u1ee1\u1ee2\u0007\u0094\u0002\u0002\u1ee2", + "\u1ee4\u0005\u05d6\u02ec\u0002\u1ee3\u1ee0\u0003\u0002\u0002\u0002\u1ee3", + "\u1ee4\u0003\u0002\u0002\u0002\u1ee4\u1ee6\u0003\u0002\u0002\u0002\u1ee5", + "\u1ee7\u0007\u08ad\u0002\u0002\u1ee6\u1ee5\u0003\u0002\u0002\u0002\u1ee6", + "\u1ee7\u0003\u0002\u0002\u0002\u1ee7\u1eec\u0003\u0002\u0002\u0002\u1ee8", + "\u1eea\u0007\u03f4\u0002\u0002\u1ee9\u1ee8\u0003\u0002\u0002\u0002\u1ee9", + "\u1eea\u0003\u0002\u0002\u0002\u1eea\u1eeb\u0003\u0002\u0002\u0002\u1eeb", + "\u1eed\u0007\u05b4\u0002\u0002\u1eec\u1ee9\u0003\u0002\u0002\u0002\u1eec", + "\u1eed\u0003\u0002\u0002\u0002\u1eed\u1eef\u0003\u0002\u0002\u0002\u1eee", + "\u1edb\u0003\u0002\u0002\u0002\u1eee\u1eef\u0003\u0002\u0002\u0002\u1eef", + "\u1ef7\u0003\u0002\u0002\u0002\u1ef0\u1ef2\u0005\u01a2\u00d2\u0002\u1ef1", + "\u1ef0\u0003\u0002\u0002\u0002\u1ef2\u1ef5\u0003\u0002\u0002\u0002\u1ef3", + "\u1ef1\u0003\u0002\u0002\u0002\u1ef3\u1ef4\u0003\u0002\u0002\u0002\u1ef4", + "\u1ef8\u0003\u0002\u0002\u0002\u1ef5\u1ef3\u0003\u0002\u0002\u0002\u1ef6", + "\u1ef8\u0005\u01a4\u00d3\u0002\u1ef7\u1ef3\u0003\u0002\u0002\u0002\u1ef7", + "\u1ef6\u0003\u0002\u0002\u0002\u1ef8\u0353\u0003\u0002\u0002\u0002\u1ef9", + "\u1efb\u0005\u0592\u02ca\u0002\u1efa\u1efc\u0005\u05b6\u02dc\u0002\u1efb", + "\u1efa\u0003\u0002\u0002\u0002\u1efb\u1efc\u0003\u0002\u0002\u0002\u1efc", + "\u1efe\u0003\u0002\u0002\u0002\u1efd\u1eff\u0005\u0356\u01ac\u0002\u1efe", + "\u1efd\u0003\u0002\u0002\u0002\u1efe\u1eff\u0003\u0002\u0002\u0002\u1eff", + "\u1f01\u0003\u0002\u0002\u0002\u1f00\u1f02\u0007\u0837\u0002\u0002\u1f01", + "\u1f00\u0003\u0002\u0002\u0002\u1f01\u1f02\u0003\u0002\u0002\u0002\u1f02", + "\u1f06\u0003\u0002\u0002\u0002\u1f03\u1f05\u0005\u01a2\u00d2\u0002\u1f04", + "\u1f03\u0003\u0002\u0002\u0002\u1f05\u1f08\u0003\u0002\u0002\u0002\u1f06", + "\u1f04\u0003\u0002\u0002\u0002\u1f06\u1f07\u0003\u0002\u0002\u0002\u1f07", + "\u0355\u0003\u0002\u0002\u0002\u1f08\u1f06\u0003\u0002\u0002\u0002\u1f09", + "\u1f11\u0007\u0236\u0002\u0002\u1f0a\u1f12\u0007*\u0002\u0002\u1f0b", + "\u1f0c\u0007\u0094\u0002\u0002\u1f0c\u1f0f\u0007\u0161\u0002\u0002\u1f0d", + "\u1f0e\u0007\u046a\u0002\u0002\u1f0e\u1f10\u0007\u044b\u0002\u0002\u1f0f", + "\u1f0d\u0003\u0002\u0002\u0002\u1f0f\u1f10\u0003\u0002\u0002\u0002\u1f10", + "\u1f12\u0003\u0002\u0002\u0002\u1f11\u1f0a\u0003\u0002\u0002\u0002\u1f11", + "\u1f0b\u0003\u0002\u0002\u0002\u1f11\u1f12\u0003\u0002\u0002\u0002\u1f12", + "\u1f13\u0003\u0002\u0002\u0002\u1f13\u1f14\u0007?\u0002\u0002\u1f14", + "\u1f15\u0007\u025d\u0002\u0002\u1f15\u0357\u0003\u0002\u0002\u0002\u1f16", + "\u1f17\u0007\u04b9\u0002\u0002\u1f17\u1f18\u0005\u0360\u01b1\u0002\u1f18", + "\u0359\u0003\u0002\u0002\u0002\u1f19\u1f1a\u0007\u0381\u0002\u0002\u1f1a", + "\u1f1d\u0007\u077a\u0002\u0002\u1f1b\u1f1e\u0005\u035c\u01af\u0002\u1f1c", + "\u1f1e\u0007\u00da\u0002\u0002\u1f1d\u1f1b\u0003\u0002\u0002\u0002\u1f1d", + "\u1f1c\u0003\u0002\u0002\u0002\u1f1e\u1f20\u0003\u0002\u0002\u0002\u1f1f", + "\u1f21\u0005\u035e\u01b0\u0002\u1f20\u1f1f\u0003\u0002\u0002\u0002\u1f20", + "\u1f21\u0003\u0002\u0002\u0002\u1f21\u1f23\u0003\u0002\u0002\u0002\u1f22", + "\u1f24\tV\u0002\u0002\u1f23\u1f22\u0003\u0002\u0002\u0002\u1f23\u1f24", + "\u0003\u0002\u0002\u0002\u1f24\u1f25\u0003\u0002\u0002\u0002\u1f25\u1f26", + "\u0007\u063c\u0002\u0002\u1f26\u1f27\u0007?\u0002\u0002\u1f27\u1f35", + "\u0005\u0594\u02cb\u0002\u1f28\u1f2f\u0007\u08b1\u0002\u0002\u1f29\u1f2a", + "\u0007\u08b1\u0002\u0002\u1f2a\u1f2b\u0005\u021a\u010e\u0002\u1f2b\u1f2c", + "\u0007\u08b2\u0002\u0002\u1f2c\u1f30\u0003\u0002\u0002\u0002\u1f2d\u1f30", + "\u0005\u026c\u0137\u0002\u1f2e\u1f30\u0005\u034a\u01a6\u0002\u1f2f\u1f29", + "\u0003\u0002\u0002\u0002\u1f2f\u1f2d\u0003\u0002\u0002\u0002\u1f2f\u1f2e", + "\u0003\u0002\u0002\u0002\u1f30\u1f31\u0003\u0002\u0002\u0002\u1f31\u1f2f", + "\u0003\u0002\u0002\u0002\u1f31\u1f32\u0003\u0002\u0002\u0002\u1f32\u1f33", + "\u0003\u0002\u0002\u0002\u1f33\u1f34\u0007\u08b2\u0002\u0002\u1f34\u1f36", + "\u0003\u0002\u0002\u0002\u1f35\u1f28\u0003\u0002\u0002\u0002\u1f35\u1f36", + "\u0003\u0002\u0002\u0002\u1f36\u1f3c\u0003\u0002\u0002\u0002\u1f37\u1f39", + "\u0007\u0599\u0002\u0002\u1f38\u1f3a\u0007?\u0002\u0002\u1f39\u1f38", + "\u0003\u0002\u0002\u0002\u1f39\u1f3a\u0003\u0002\u0002\u0002\u1f3a\u1f3b", + "\u0003\u0002\u0002\u0002\u1f3b\u1f3d\tR\u0002\u0002\u1f3c\u1f37\u0003", + "\u0002\u0002\u0002\u1f3c\u1f3d\u0003\u0002\u0002\u0002\u1f3d\u035b\u0003", + "\u0002\u0002\u0002\u1f3e\u1f3f\u0005\u05d6\u02ec\u0002\u1f3f\u035d\u0003", + "\u0002\u0002\u0002\u1f40\u1f42\u0007\u01ad\u0002\u0002\u1f41\u1f40\u0003", + "\u0002\u0002\u0002\u1f41\u1f42\u0003\u0002\u0002\u0002\u1f42\u1f43\u0003", + "\u0002\u0002\u0002\u1f43\u1f44\u0007\u02b9\u0002\u0002\u1f44\u1f46\u0007", + "\u045d\u0002\u0002\u1f45\u1f47\u0007\u07c5\u0002\u0002\u1f46\u1f45\u0003", + "\u0002\u0002\u0002\u1f46\u1f47\u0003\u0002\u0002\u0002\u1f47\u1f48\u0003", + "\u0002\u0002\u0002\u1f48\u1f49\u0007\u08b1\u0002\u0002\u1f49\u1f4a\u0005", + "\u057a\u02be\u0002\u1f4a\u1f4b\u0007\u08b2\u0002\u0002\u1f4b\u1f54\u0003", + "\u0002\u0002\u0002\u1f4c\u1f4e\u0007\u0433\u0002\u0002\u1f4d\u1f4c\u0003", + "\u0002\u0002\u0002\u1f4d\u1f4e\u0003\u0002\u0002\u0002\u1f4e\u1f4f\u0003", + "\u0002\u0002\u0002\u1f4f\u1f50\u0007\u064d\u0002\u0002\u1f50\u1f51\u0007", + "L\u0002\u0002\u1f51\u1f52\u0007%\u0002\u0002\u1f52\u1f54\u0007\u02ee", + "\u0002\u0002\u1f53\u1f41\u0003\u0002\u0002\u0002\u1f53\u1f4d\u0003\u0002", + "\u0002\u0002\u1f54\u035f\u0003\u0002\u0002\u0002\u1f55\u1f56\u0005\u05d6", + "\u02ec\u0002\u1f56\u0361\u0003\u0002\u0002\u0002\u1f57\u1f58\u0007\u0656", + "\u0002\u0002\u1f58\u1f5b\u0007\u0311\u0002\u0002\u1f59\u1f5c\u0005\u0276", + "\u013c\u0002\u1f5a\u1f5c\u0005\u0278\u013d\u0002\u1f5b\u1f59\u0003\u0002", + "\u0002\u0002\u1f5b\u1f5a\u0003\u0002\u0002\u0002\u1f5c\u0363\u0003\u0002", + "\u0002\u0002\u1f5d\u1f5e\u0005\u05d6\u02ec\u0002\u1f5e\u0365\u0003\u0002", + "\u0002\u0002\u1f5f\u1f60\u0007\u00d7\u0002\u0002\u1f60\u1f61\u0005\u05d6", + "\u02ec\u0002\u1f61\u1f62\u0005\u035e\u01b0\u0002\u1f62\u0367\u0003\u0002", + "\u0002\u0002\u1f63\u1f64\u0007\u0014\u0002\u0002\u1f64\u1f6c\u0007\u08b1", + "\u0002\u0002\u1f65\u1f67\u0005\u01a8\u00d5\u0002\u1f66\u1f65\u0003\u0002", + "\u0002\u0002\u1f67\u1f6a\u0003\u0002\u0002\u0002\u1f68\u1f66\u0003\u0002", + "\u0002\u0002\u1f68\u1f69\u0003\u0002\u0002\u0002\u1f69\u1f6d\u0003\u0002", + "\u0002\u0002\u1f6a\u1f68\u0003\u0002\u0002\u0002\u1f6b\u1f6d\u0005\u01a6", + "\u00d4\u0002\u1f6c\u1f68\u0003\u0002\u0002\u0002\u1f6c\u1f6b\u0003\u0002", + "\u0002\u0002\u1f6d\u1f6e\u0003\u0002\u0002\u0002\u1f6e\u1f9c\u0007\u08b2", + "\u0002\u0002\u1f6f\u1f77\u0007\u0014\u0002\u0002\u1f70\u1f72\u0005\u01a8", + "\u00d5\u0002\u1f71\u1f70\u0003\u0002\u0002\u0002\u1f72\u1f75\u0003\u0002", + "\u0002\u0002\u1f73\u1f71\u0003\u0002\u0002\u0002\u1f73\u1f74\u0003\u0002", + "\u0002\u0002\u1f74\u1f78\u0003\u0002\u0002\u0002\u1f75\u1f73\u0003\u0002", + "\u0002\u0002\u1f76\u1f78\u0005\u01a6\u00d4\u0002\u1f77\u1f73\u0003\u0002", + "\u0002\u0002\u1f77\u1f76\u0003\u0002\u0002\u0002\u1f78\u1f9c\u0003\u0002", + "\u0002\u0002\u1f79\u1f8a\u0007\u0361\u0002\u0002\u1f7a\u1f7b\u0007\u0103", + "\u0002\u0002\u1f7b\u1f8b\u0005\u0576\u02bc\u0002\u1f7c\u1f7d\u0007\u051a", + "\u0002\u0002\u1f7d\u1f8b\u0007\u02d4\u0002\u0002\u1f7e\u1f7f\u0007\u07d4", + "\u0002\u0002\u1f7f\u1f80\u0007\u08b1\u0002\u0002\u1f80\u1f85\u0005\u0592", + "\u02ca\u0002\u1f81\u1f82\u0007\u08b7\u0002\u0002\u1f82\u1f84\u0005\u0592", + "\u02ca\u0002\u1f83\u1f81\u0003\u0002\u0002\u0002\u1f84\u1f87\u0003\u0002", + "\u0002\u0002\u1f85\u1f83\u0003\u0002\u0002\u0002\u1f85\u1f86\u0003\u0002", + "\u0002\u0002\u1f86\u1f88\u0003\u0002\u0002\u0002\u1f87\u1f85\u0003\u0002", + "\u0002\u0002\u1f88\u1f89\u0007\u08b2\u0002\u0002\u1f89\u1f8b\u0003\u0002", + "\u0002\u0002\u1f8a\u1f7a\u0003\u0002\u0002\u0002\u1f8a\u1f7c\u0003\u0002", + "\u0002\u0002\u1f8a\u1f7e\u0003\u0002\u0002\u0002\u1f8b\u1f8c\u0003\u0002", + "\u0002\u0002\u1f8c\u1f8e\u0005\u01aa\u00d6\u0002\u1f8d\u1f8f\u0007\u00a4", + "\u0002\u0002\u1f8e\u1f8d\u0003\u0002\u0002\u0002\u1f8e\u1f8f\u0003\u0002", + "\u0002\u0002\u1f8f\u1f9c\u0003\u0002\u0002\u0002\u1f90\u1f91\u0007\u057e", + "\u0002\u0002\u1f91\u1f92\u0007\u0103\u0002\u0002\u1f92\u1f93\u0005\u036a", + "\u01b6\u0002\u1f93\u1f94\u0007\u07ae\u0002\u0002\u1f94\u1f95\u0005\u036c", + "\u01b7\u0002\u1f95\u1f9c\u0003\u0002\u0002\u0002\u1f96\u1f98\u0005\u036e", + "\u01b8\u0002\u1f97\u1f96\u0003\u0002\u0002\u0002\u1f98\u1f99\u0003\u0002", + "\u0002\u0002\u1f99\u1f97\u0003\u0002\u0002\u0002\u1f99\u1f9a\u0003\u0002", + "\u0002\u0002\u1f9a\u1f9c\u0003\u0002\u0002\u0002\u1f9b\u1f63\u0003\u0002", + "\u0002\u0002\u1f9b\u1f6f\u0003\u0002\u0002\u0002\u1f9b\u1f79\u0003\u0002", + "\u0002\u0002\u1f9b\u1f90\u0003\u0002\u0002\u0002\u1f9b\u1f97\u0003\u0002", + "\u0002\u0002\u1f9c\u0369\u0003\u0002\u0002\u0002\u1f9d\u1f9e\u0005\u0576", + "\u02bc\u0002\u1f9e\u036b\u0003\u0002\u0002\u0002\u1f9f\u1fa0\u0005\u0576", + "\u02bc\u0002\u1fa0\u036d\u0003\u0002\u0002\u0002\u1fa1\u1fa2\u0007\u019d", + "\u0002\u0002\u1fa2\u1fa3\u0005\u0370\u01b9\u0002\u1fa3\u036f\u0003\u0002", + "\u0002\u0002\u1fa4\u1fa5\u0007\u051a\u0002\u0002\u1fa5\u1fb3\u0007\u02d4", + "\u0002\u0002\u1fa6\u1fa7\u0007\u07d4\u0002\u0002\u1fa7\u1fa8\u0007\u08b1", + "\u0002\u0002\u1fa8\u1fad\u0005\u0592\u02ca\u0002\u1fa9\u1faa\u0007\u08b7", + "\u0002\u0002\u1faa\u1fac\u0005\u0592\u02ca\u0002\u1fab\u1fa9\u0003\u0002", + "\u0002\u0002\u1fac\u1faf\u0003\u0002\u0002\u0002\u1fad\u1fab\u0003\u0002", + "\u0002\u0002\u1fad\u1fae\u0003\u0002\u0002\u0002\u1fae\u1fb0\u0003\u0002", + "\u0002\u0002\u1faf\u1fad\u0003\u0002\u0002\u0002\u1fb0\u1fb1\u0007\u08b2", + "\u0002\u0002\u1fb1\u1fb3\u0003\u0002\u0002\u0002\u1fb2\u1fa4\u0003\u0002", + "\u0002\u0002\u1fb2\u1fa6\u0003\u0002\u0002\u0002\u1fb3\u1fb5\u0003\u0002", + "\u0002\u0002\u1fb4\u1fb6\u0007\u00a4\u0002\u0002\u1fb5\u1fb4\u0003\u0002", + "\u0002\u0002\u1fb5\u1fb6\u0003\u0002\u0002\u0002\u1fb6\u1fb8\u0003\u0002", + "\u0002\u0002\u1fb7\u1fb9\tP\u0002\u0002\u1fb8\u1fb7\u0003\u0002\u0002", + "\u0002\u1fb8\u1fb9\u0003\u0002\u0002\u0002\u1fb9\u1fc0\u0003\u0002\u0002", + "\u0002\u1fba\u1fbb\u0007\u0103\u0002\u0002\u1fbb\u1fbd\u0005\u0576\u02bc", + "\u0002\u1fbc\u1fbe\u0007\u00a4\u0002\u0002\u1fbd\u1fbc\u0003\u0002\u0002", + "\u0002\u1fbd\u1fbe\u0003\u0002\u0002\u0002\u1fbe\u1fc0\u0003\u0002\u0002", + "\u0002\u1fbf\u1fb2\u0003\u0002\u0002\u0002\u1fbf\u1fba\u0003\u0002\u0002", + "\u0002\u1fc0\u0371\u0003\u0002\u0002\u0002\u1fc1\u1fc4\u0007\u0014\u0002", + "\u0002\u1fc2\u1fc3\u0007\u0103\u0002\u0002\u1fc3\u1fc5\u0005\u0576\u02bc", + "\u0002\u1fc4\u1fc2\u0003\u0002\u0002\u0002\u1fc4\u1fc5\u0003\u0002\u0002", + "\u0002\u1fc5\u1fc6\u0003\u0002\u0002\u0002\u1fc6\u1fcd\u0005\u0374\u01bb", + "\u0002\u1fc7\u1fca\u0007\u08b7\u0002\u0002\u1fc8\u1fc9\u0007\u0103\u0002", + "\u0002\u1fc9\u1fcb\u0005\u0576\u02bc\u0002\u1fca\u1fc8\u0003\u0002\u0002", + "\u0002\u1fca\u1fcb\u0003\u0002\u0002\u0002\u1fcb\u1fcc\u0003\u0002\u0002", + "\u0002\u1fcc\u1fce\u0005\u0374\u01bb\u0002\u1fcd\u1fc7\u0003\u0002\u0002", + "\u0002\u1fce\u1fcf\u0003\u0002\u0002\u0002\u1fcf\u1fcd\u0003\u0002\u0002", + "\u0002\u1fcf\u1fd0\u0003\u0002\u0002\u0002\u1fd0\u0373\u0003\u0002\u0002", + "\u0002\u1fd1\u1fd6\u0005\u0386\u01c4\u0002\u1fd2\u1fd6\u0005\u037e\u01c0", + "\u0002\u1fd3\u1fd6\u0005\u0384\u01c3\u0002\u1fd4\u1fd6\u0005\u0376\u01bc", + "\u0002\u1fd5\u1fd1\u0003\u0002\u0002\u0002\u1fd5\u1fd2\u0003\u0002\u0002", + "\u0002\u1fd5\u1fd3\u0003\u0002\u0002\u0002\u1fd5\u1fd4\u0003\u0002\u0002", + "\u0002\u1fd6\u0375\u0003\u0002\u0002\u0002\u1fd7\u1fd8\u0007\u00b6\u0002", + "\u0002\u1fd8\u1fd9\u0007\u08b1\u0002\u0002\u1fd9\u1fda\u0005\u04d0\u0269", + "\u0002\u1fda\u1fdc\u0007\u08b2\u0002\u0002\u1fdb\u1fdd\u0007\u0181\u0002", + "\u0002\u1fdc\u1fdb\u0003\u0002\u0002\u0002\u1fdc\u1fdd\u0003\u0002\u0002", + "\u0002\u1fdd\u0377\u0003\u0002\u0002\u0002\u1fde\u1fdf\u0007\u019d\u0002", + "\u0002\u1fdf\u1fe0\u0007\u0103\u0002\u0002\u1fe0\u1fe1\u0005\u0576\u02bc", + "\u0002\u1fe1\u0379\u0003\u0002\u0002\u0002\u1fe2\u1fe3\u0007\u01b9\u0002", + "\u0002\u1fe3\u1fe4\u0007\u0103\u0002\u0002\u1fe4\u1fe5\u0005\u0576\u02bc", + "\u0002\u1fe5\u037b\u0003\u0002\u0002\u0002\u1fe6\u1fe7\u0007\u0181\u0002", + "\u0002\u1fe7\u1fe8\u0007\u0103\u0002\u0002\u1fe8\u1fe9\u0005\u0576\u02bc", + "\u0002\u1fe9\u037d\u0003\u0002\u0002\u0002\u1fea\u1feb\u0007\u0222\u0002", + "\u0002\u1feb\u1fec\u0007\u02d4\u0002\u0002\u1fec\u1fed\u0005\u05a6\u02d4", + "\u0002\u1fed\u1fef\u0005\u0380\u01c1\u0002\u1fee\u1ff0\u0005\u0382\u01c2", + "\u0002\u1fef\u1fee\u0003\u0002\u0002\u0002\u1fef\u1ff0\u0003\u0002\u0002", + "\u0002\u1ff0\u037f\u0003\u0002\u0002\u0002\u1ff1\u1ff2\u0007\u0560\u0002", + "\u0002\u1ff2\u1ff3\u0005\u0594\u02cb\u0002\u1ff3\u1ff4\u0005\u05a6\u02d4", + "\u0002\u1ff4\u0381\u0003\u0002\u0002\u0002\u1ff5\u1ff6\u0007\u046a\u0002", + "\u0002\u1ff6\u1ffa\u0007\u016c\u0002\u0002\u1ff7\u1ffb\u0007\u00a4\u0002", + "\u0002\u1ff8\u1ff9\u0007\u05e8\u0002\u0002\u1ff9\u1ffb\u0007\u044b\u0002", + "\u0002\u1ffa\u1ff7\u0003\u0002\u0002\u0002\u1ffa\u1ff8\u0003\u0002\u0002", + "\u0002\u1ffb\u0383\u0003\u0002\u0002\u0002\u1ffc\u1ffd\u0007\u07d4\u0002", + "\u0002\u1ffd\u1fff\u0005\u05a6\u02d4\u0002\u1ffe\u2000\u0005\u0300\u0181", + "\u0002\u1fff\u1ffe\u0003\u0002\u0002\u0002\u1fff\u2000\u0003\u0002\u0002", + "\u0002\u2000\u0385\u0003\u0002\u0002\u0002\u2001\u2002\u0007\u051a\u0002", + "\u0002\u2002\u2003\u0007\u02d4\u0002\u0002\u2003\u2005\u0005\u05a6\u02d4", + "\u0002\u2004\u2006\u0005\u0300\u0181\u0002\u2005\u2004\u0003\u0002\u0002", + "\u0002\u2005\u2006\u0003\u0002\u0002\u0002\u2006\u0387\u0003\u0002\u0002", + "\u0002\u2007\u2008\u0007\u015a\u0002\u0002\u2008\u200a\u0005\u039a\u01ce", + "\u0002\u2009\u2007\u0003\u0002\u0002\u0002\u2009\u200a\u0003\u0002\u0002", + "\u0002\u200a\u200b\u0003\u0002\u0002\u0002\u200b\u200c\u0007h\u0002", + "\u0002\u200c\u2013\u0005\u03b8\u01dd\u0002\u200d\u200f\u0007\u01d6\u0002", + "\u0002\u200e\u2010\u0005\u03ea\u01f6\u0002\u200f\u200e\u0003\u0002\u0002", + "\u0002\u2010\u2011\u0003\u0002\u0002\u0002\u2011\u200f\u0003\u0002\u0002", + "\u0002\u2011\u2012\u0003\u0002\u0002\u0002\u2012\u2014\u0003\u0002\u0002", + "\u0002\u2013\u200d\u0003\u0002\u0002\u0002\u2013\u2014\u0003\u0002\u0002", + "\u0002\u2014\u2015\u0003\u0002\u0002\u0002\u2015\u2016\u0007\u01bf\u0002", + "\u0002\u2016\u2017\u0007\u08c3\u0002\u0002\u2017\u0389\u0003\u0002\u0002", + "\u0002\u2018\u2019\u0007R\u0002\u0002\u2019\u201a\tW\u0002\u0002\u201a", + "\u038b\u0003\u0002\u0002\u0002\u201b\u201e\u0007\u02db\u0002\u0002\u201c", + "\u201f\u0005\u038e\u01c8\u0002\u201d\u201f\u0005\u0390\u01c9\u0002\u201e", + "\u201c\u0003\u0002\u0002\u0002\u201e\u201d\u0003\u0002\u0002\u0002\u201f", + "\u038d\u0003\u0002\u0002\u0002\u2020\u2021\u0007\u02be\u0002\u0002\u2021", + "\u2022\u0007\u0371\u0002\u0002\u2022\u2023\u0007\u08ad\u0002\u0002\u2023", + "\u038f\u0003\u0002\u0002\u0002\u2024\u2027\u0007\u00c0\u0002\u0002\u2025", + "\u2026\u0007\u0371\u0002\u0002\u2026\u2028\u0007\u08ad\u0002\u0002\u2027", + "\u2025\u0003\u0002\u0002\u0002\u2027\u2028\u0003\u0002\u0002\u0002\u2028", + "\u2029\u0003\u0002\u0002\u0002\u2029\u202a\u0007\u02ef\u0002\u0002\u202a", + "\u202c\u0005\u05d0\u02e9\u0002\u202b\u202d\u0005\u0392\u01ca\u0002\u202c", + "\u202b\u0003\u0002\u0002\u0002\u202c\u202d\u0003\u0002\u0002\u0002\u202d", + "\u2030\u0003\u0002\u0002\u0002\u202e\u202f\u0007\u084b\u0002\u0002\u202f", + "\u2031\u0007\u010b\u0002\u0002\u2030\u202e\u0003\u0002\u0002\u0002\u2030", + "\u2031\u0003\u0002\u0002\u0002\u2031\u2033\u0003\u0002\u0002\u0002\u2032", + "\u2034\u0005\u0394\u01cb\u0002\u2033\u2032\u0003\u0002\u0002\u0002\u2033", + "\u2034\u0003\u0002\u0002\u0002\u2034\u0391\u0003\u0002\u0002\u0002\u2035", + "\u2036\u0007!\u0002\u0002\u2036\u2037\u0007\u028e\u0002\u0002\u2037", + "\u2038\u0007\u08b1\u0002\u0002\u2038\u2039\u0005\u04d2\u026a\u0002\u2039", + "\u203a\u0007\u08b2\u0002\u0002\u203a\u0393\u0003\u0002\u0002\u0002\u203b", + "\u203c\u0007\u04af\u0002\u0002\u203c\u2041\u0007\u08b1\u0002\u0002\u203d", + "\u2042\u0005\u04d2\u026a\u0002\u203e\u203f\u0007\u08aa\u0002\u0002\u203f", + "\u2040\u0007\u08aa\u0002\u0002\u2040\u2042\u0007\u08aa\u0002\u0002\u2041", + "\u203d\u0003\u0002\u0002\u0002\u2041\u203e\u0003\u0002\u0002\u0002\u2042", + "\u2043\u0003\u0002\u0002\u0002\u2043\u2044\u0007\u08b2\u0002\u0002\u2044", + "\u0395\u0003\u0002\u0002\u0002\u2045\u2049\u0005\u0566\u02b4\u0002\u2046", + "\u2048\tX\u0002\u0002\u2047\u2046\u0003\u0002\u0002\u0002\u2048\u204b", + "\u0003\u0002\u0002\u0002\u2049\u2047\u0003\u0002\u0002\u0002\u2049\u204a", + "\u0003\u0002\u0002\u0002\u204a\u204d\u0003\u0002\u0002\u0002\u204b\u2049", + "\u0003\u0002\u0002\u0002\u204c\u204e\u0005\u05b4\u02db\u0002\u204d\u204c", + "\u0003\u0002\u0002\u0002\u204d\u204e\u0003\u0002\u0002\u0002\u204e\u2050", + "\u0003\u0002\u0002\u0002\u204f\u2051\u0005\u0398\u01cd\u0002\u2050\u204f", + "\u0003\u0002\u0002\u0002\u2050\u2051\u0003\u0002\u0002\u0002\u2051\u0397", + "\u0003\u0002\u0002\u0002\u2052\u2053\tY\u0002\u0002\u2053\u2054\u0005", + "\u04d4\u026b\u0002\u2054\u0399\u0003\u0002\u0002\u0002\u2055\u2057\u0005", + "\u039c\u01cf\u0002\u2056\u2055\u0003\u0002\u0002\u0002\u2057\u2058\u0003", + "\u0002\u0002\u0002\u2058\u2056\u0003\u0002\u0002\u0002\u2058\u2059\u0003", + "\u0002\u0002\u0002\u2059\u039b\u0003\u0002\u0002\u0002\u205a\u2065\u0005", + "\u03a8\u01d5\u0002\u205b\u2065\u0005\u039e\u01d0\u0002\u205c\u2065\u0005", + "\u03a0\u01d1\u0002\u205d\u2065\u0005\u03a2\u01d2\u0002\u205e\u2065\u0005", + "\u03a6\u01d4\u0002\u205f\u2065\u0005\u03b0\u01d9\u0002\u2060\u2065\u0005", + "\"\u0012\u0002\u2061\u2065\u0005$\u0013\u0002\u2062\u2065\u0005.\u0018", + "\u0002\u2063\u2065\u0005,\u0017\u0002\u2064\u205a\u0003\u0002\u0002", + "\u0002\u2064\u205b\u0003\u0002\u0002\u0002\u2064\u205c\u0003\u0002\u0002", + "\u0002\u2064\u205d\u0003\u0002\u0002\u0002\u2064\u205e\u0003\u0002\u0002", + "\u0002\u2064\u205f\u0003\u0002\u0002\u0002\u2064\u2060\u0003\u0002\u0002", + "\u0002\u2064\u2061\u0003\u0002\u0002\u0002\u2064\u2062\u0003\u0002\u0002", + "\u0002\u2064\u2063\u0003\u0002\u0002\u0002\u2065\u039d\u0003\u0002\u0002", + "\u0002\u2066\u2068\u0005\u05d0\u02e9\u0002\u2067\u2069\u0007\u0101\u0002", + "\u0002\u2068\u2067\u0003\u0002\u0002\u0002\u2068\u2069\u0003\u0002\u0002", + "\u0002\u2069\u206a\u0003\u0002\u0002\u0002\u206a\u206d\u0005\u05b4\u02db", + "\u0002\u206b\u206c\u0007\u0433\u0002\u0002\u206c\u206e\u0007\u044b\u0002", + "\u0002\u206d\u206b\u0003\u0002\u0002\u0002\u206d\u206e\u0003\u0002\u0002", + "\u0002\u206e\u2070\u0003\u0002\u0002\u0002\u206f\u2071\u0005\u0398\u01cd", + "\u0002\u2070\u206f\u0003\u0002\u0002\u0002\u2070\u2071\u0003\u0002\u0002", + "\u0002\u2071\u2072\u0003\u0002\u0002\u0002\u2072\u2073\u0007\u08c3\u0002", + "\u0002\u2073\u039f\u0003\u0002\u0002\u0002\u2074\u2075\u0007\u0652\u0002", + "\u0002\u2075\u2076\u0005\u05d0\u02e9\u0002\u2076\u2077\u0007\u02b9\u0002", + "\u0002\u2077\u207d\u0005\u05b4\u02db\u0002\u2078\u2079\u0007\u0542\u0002", + "\u0002\u2079\u207a\u0005\u04d4\u026b\u0002\u207a\u207b\u0007\u08a9\u0002", + "\u0002\u207b\u207c\u0005\u04d4\u026b\u0002\u207c\u207e\u0003\u0002\u0002", + "\u0002\u207d\u2078\u0003\u0002\u0002\u0002\u207d\u207e\u0003\u0002\u0002", + "\u0002\u207e\u2081\u0003\u0002\u0002\u0002\u207f\u2080\u0007\u0433\u0002", + "\u0002\u2080\u2082\u0007\u044b\u0002\u0002\u2081\u207f\u0003\u0002\u0002", + "\u0002\u2081\u2082\u0003\u0002\u0002\u0002\u2082\u2083\u0003\u0002\u0002", + "\u0002\u2083\u2084\u0007\u08c3\u0002\u0002\u2084\u03a1\u0003\u0002\u0002", + "\u0002\u2085\u2086\u0007\u0137\u0002\u0002\u2086\u2092\u0005\u05d0\u02e9", + "\u0002\u2087\u2088\u0007\u08b1\u0002\u0002\u2088\u208d\u0005\u03a4\u01d3", + "\u0002\u2089\u208a\u0007\u08b7\u0002\u0002\u208a\u208c\u0005\u03a4\u01d3", + "\u0002\u208b\u2089\u0003\u0002\u0002\u0002\u208c\u208f\u0003\u0002\u0002", + "\u0002\u208d\u208b\u0003\u0002\u0002\u0002\u208d\u208e\u0003\u0002\u0002", + "\u0002\u208e\u2090\u0003\u0002\u0002\u0002\u208f\u208d\u0003\u0002\u0002", + "\u0002\u2090\u2091\u0007\u08b2\u0002\u0002\u2091\u2093\u0003\u0002\u0002", + "\u0002\u2092\u2087\u0003\u0002\u0002\u0002\u2092\u2093\u0003\u0002\u0002", + "\u0002\u2093\u2096\u0003\u0002\u0002\u0002\u2094\u2095\u0007\u0599\u0002", + "\u0002\u2095\u2097\u0005\u05b4\u02db\u0002\u2096\u2094\u0003\u0002\u0002", + "\u0002\u2096\u2097\u0003\u0002\u0002\u0002\u2097\u209a\u0003\u0002\u0002", + "\u0002\u2098\u2099\u0007\u02b9\u0002\u0002\u2099\u209b\u0005\u0414\u020b", + "\u0002\u209a\u2098\u0003\u0002\u0002\u0002\u209a\u209b\u0003\u0002\u0002", + "\u0002\u209b\u209c\u0003\u0002\u0002\u0002\u209c\u209d\u0007\u08c3\u0002", + "\u0002\u209d\u03a3\u0003\u0002\u0002\u0002\u209e\u20a3\u0005\u0566\u02b4", + "\u0002\u209f\u20a1\u0007\u028e\u0002\u0002\u20a0\u209f\u0003\u0002\u0002", + "\u0002\u20a0\u20a1\u0003\u0002\u0002\u0002\u20a1\u20a2\u0003\u0002\u0002", + "\u0002\u20a2\u20a4\u0005\u05b4\u02db\u0002\u20a3\u20a0\u0003\u0002\u0002", + "\u0002\u20a3\u20a4\u0003\u0002\u0002\u0002\u20a4\u20a6\u0003\u0002\u0002", + "\u0002\u20a5\u20a7\u0005\u0398\u01cd\u0002\u20a6\u20a5\u0003\u0002\u0002", + "\u0002\u20a6\u20a7\u0003\u0002\u0002\u0002\u20a7\u03a5\u0003\u0002\u0002", + "\u0002\u20a8\u20a9\u0005\u05d0\u02e9\u0002\u20a9\u20aa\u0007\u01d6\u0002", + "\u0002\u20aa\u20ab\u0007\u08c3\u0002\u0002\u20ab\u03a7\u0003\u0002\u0002", + "\u0002\u20ac\u20cb\u0007\u0509\u0002\u0002\u20ad\u20cc\u0007\u05de\u0002", + "\u0002\u20ae\u20cc\u0007Z\u0002\u0002\u20af\u20b0\u0007\u01d7\u0002", + "\u0002\u20b0\u20b1\u0007\u08b1\u0002\u0002\u20b1\u20b2\u0005\u057e\u02c0", + "\u0002\u20b2\u20b3\u0007\u08b7\u0002\u0002\u20b3\u20b4\u0005\u05cc\u02e7", + "\u0002\u20b4\u20b5\u0007\u08b2\u0002\u0002\u20b5\u20cc\u0003\u0002\u0002", + "\u0002\u20b6\u20b7\u0007\u0294\u0002\u0002\u20b7\u20b8\u0007\u08b1\u0002", + "\u0002\u20b8\u20b9\u0005\u05d0\u02e9\u0002\u20b9\u20ba\u0007\u08b7\u0002", + "\u0002\u20ba\u20bb\u0005\u04d4\u026b\u0002\u20bb\u20bc\u0007\u08b2\u0002", + "\u0002\u20bc\u20cc\u0003\u0002\u0002\u0002\u20bd\u20be\u0007\u0590\u0002", + "\u0002\u20be\u20c1\u0007\u08b1\u0002\u0002\u20bf\u20c2\u0005\u05d0\u02e9", + "\u0002\u20c0\u20c2\u0007\u0161\u0002\u0002\u20c1\u20bf\u0003\u0002\u0002", + "\u0002\u20c1\u20c0\u0003\u0002\u0002\u0002\u20c2\u20c5\u0003\u0002\u0002", + "\u0002\u20c3\u20c4\u0007\u08b7\u0002\u0002\u20c4\u20c6\u0005\u05d0\u02e9", + "\u0002\u20c5\u20c3\u0003\u0002\u0002\u0002\u20c6\u20c7\u0003\u0002\u0002", + "\u0002\u20c7\u20c5\u0003\u0002\u0002\u0002\u20c7\u20c8\u0003\u0002\u0002", + "\u0002\u20c8\u20c9\u0003\u0002\u0002\u0002\u20c9\u20ca\u0007\u08b2\u0002", + "\u0002\u20ca\u20cc\u0003\u0002\u0002\u0002\u20cb\u20ad\u0003\u0002\u0002", + "\u0002\u20cb\u20ae\u0003\u0002\u0002\u0002\u20cb\u20af\u0003\u0002\u0002", + "\u0002\u20cb\u20b6\u0003\u0002\u0002\u0002\u20cb\u20bd\u0003\u0002\u0002", + "\u0002\u20cc\u20cd\u0003\u0002\u0002\u0002\u20cd\u20ce\u0007\u08c3\u0002", + "\u0002\u20ce\u03a9\u0003\u0002\u0002\u0002\u20cf\u20d0\u0007\u0551\u0002", + "\u0002\u20d0\u20d1\u0007\u08b1\u0002\u0002\u20d1\u20d6\u0005\u03ac\u01d7", + "\u0002\u20d2\u20d3\u0007\u08b7\u0002\u0002\u20d3\u20d5\u0005\u03ac\u01d7", + "\u0002\u20d4\u20d2\u0003\u0002\u0002\u0002\u20d5\u20d8\u0003\u0002\u0002", + "\u0002\u20d6\u20d4\u0003\u0002\u0002\u0002\u20d6\u20d7\u0003\u0002\u0002", + "\u0002\u20d7\u20d9\u0003\u0002\u0002\u0002\u20d8\u20d6\u0003\u0002\u0002", + "\u0002\u20d9\u20da\u0007\u08b2\u0002\u0002\u20da\u03ab\u0003\u0002\u0002", + "\u0002\u20db\u20dd\u0005\u0592\u02ca\u0002\u20dc\u20de\u0005\u05b4\u02db", + "\u0002\u20dd\u20dc\u0003\u0002\u0002\u0002\u20dd\u20de\u0003\u0002\u0002", + "\u0002\u20de\u20e1\u0003\u0002\u0002\u0002\u20df\u20e0\u0007\u0433\u0002", + "\u0002\u20e0\u20e2\u0007\u044b\u0002\u0002\u20e1\u20df\u0003\u0002\u0002", + "\u0002\u20e1\u20e2\u0003\u0002\u0002\u0002\u20e2\u20e4\u0003\u0002\u0002", + "\u0002\u20e3\u20e5\u0005\u0398\u01cd\u0002\u20e4\u20e3\u0003\u0002\u0002", + "\u0002\u20e4\u20e5\u0003\u0002\u0002\u0002\u20e5\u03ad\u0003\u0002\u0002", + "\u0002\u20e6\u20e7\u0007\u0562\u0002\u0002\u20e7\u20ea\u0007\u0137\u0002", + "\u0002\u20e8\u20e9\u0007\u0599\u0002\u0002\u20e9\u20eb\u0005\u05b4\u02db", + "\u0002\u20ea\u20e8\u0003\u0002\u0002\u0002\u20ea\u20eb\u0003\u0002\u0002", + "\u0002\u20eb\u03af\u0003\u0002\u0002\u0002\u20ec\u20ed\u0007\u07c5\u0002", + "\u0002\u20ed\u20ee\u0005\u05d0\u02e9\u0002\u20ee\u20f3\u0007\u02b9\u0002", + "\u0002\u20ef\u20f4\u0005\u03b2\u01da\u0002\u20f0\u20f4\u0005\u03b6\u01dc", + "\u0002\u20f1\u20f4\u0005\u03aa\u01d6\u0002\u20f2\u20f4\u0005\u03ae\u01d8", + "\u0002\u20f3\u20ef\u0003\u0002\u0002\u0002\u20f3\u20f0\u0003\u0002\u0002", + "\u0002\u20f3\u20f1\u0003\u0002\u0002\u0002\u20f3\u20f2\u0003\u0002\u0002", + "\u0002\u20f4\u20f5\u0003\u0002\u0002\u0002\u20f5\u20f6\u0007\u08c3\u0002", + "\u0002\u20f6\u03b1\u0003\u0002\u0002\u0002\u20f7\u20f8\u0007\u077a\u0002", + "\u0002\u20f8\u20f9\u0007\u045d\u0002\u0002\u20f9\u20fb\u0005\u05b4\u02db", + "\u0002\u20fa\u20fc\u0005\u03b4\u01db\u0002\u20fb\u20fa\u0003\u0002\u0002", + "\u0002\u20fb\u20fc\u0003\u0002\u0002\u0002\u20fc\u20ff\u0003\u0002\u0002", + "\u0002\u20fd\u20fe\u0007\u0433\u0002\u0002\u20fe\u2100\u0007\u044b\u0002", + "\u0002\u20ff\u20fd\u0003\u0002\u0002\u0002\u20ff\u2100\u0003\u0002\u0002", + "\u0002\u2100\u03b3\u0003\u0002\u0002\u0002\u2101\u2104\u0007\u0275\u0002", + "\u0002\u2102\u2104\u0007\u0279\u0002\u0002\u2103\u2101\u0003\u0002\u0002", + "\u0002\u2103\u2102\u0003\u0002\u0002\u0002\u2104\u2105\u0003\u0002\u0002", + "\u0002\u2105\u2106\u0007\u0094\u0002\u0002\u2106\u2107\u0005\u05b4\u02db", + "\u0002\u2107\u03b5\u0003\u0002\u0002\u0002\u2108\u210c\u0007\u0822\u0002", + "\u0002\u2109\u210a\u0007\u0824\u0002\u0002\u210a\u210c\u0007>\u0002", + "\u0002\u210b\u2108\u0003\u0002\u0002\u0002\u210b\u2109\u0003\u0002\u0002", + "\u0002\u210c\u210d\u0003\u0002\u0002\u0002\u210d\u210e\u0007\u08b1\u0002", + "\u0002\u210e\u210f\u0005\u04d4\u026b\u0002\u210f\u2110\u0007\u08b2\u0002", + "\u0002\u2110\u2111\u0007\u045d\u0002\u0002\u2111\u2114\u0005\u05b4\u02db", + "\u0002\u2112\u2113\u0007\u0433\u0002\u0002\u2113\u2115\u0007\u044b\u0002", + "\u0002\u2114\u2112\u0003\u0002\u0002\u0002\u2114\u2115\u0003\u0002\u0002", + "\u0002\u2115\u03b7\u0003\u0002\u0002\u0002\u2116\u2117\u0005\u03bc\u01df", + "\u0002\u2117\u2118\tZ\u0002\u0002\u2118\u211b\u0003\u0002\u0002\u0002", + "\u2119\u211b\u0005\u03ba\u01de\u0002\u211a\u2116\u0003\u0002\u0002\u0002", + "\u211a\u2119\u0003\u0002\u0002\u0002\u211b\u211c\u0003\u0002\u0002\u0002", + "\u211c\u211a\u0003\u0002\u0002\u0002\u211c\u211d\u0003\u0002\u0002\u0002", + "\u211d\u03b9\u0003\u0002\u0002\u0002\u211e\u211f\u0007\u08c1\u0002\u0002", + "\u211f\u2120\u0007\u08c1\u0002\u0002\u2120\u2121\u0005\u0578\u02bd\u0002", + "\u2121\u2122\u0007\u08c0\u0002\u0002\u2122\u2123\u0007\u08c0\u0002\u0002", + "\u2123\u03bb\u0003\u0002\u0002\u0002\u2124\u2136\u0005\u03e8\u01f5\u0002", + "\u2125\u2136\u0005\u03ee\u01f8\u0002\u2126\u2136\u0005\u03c0\u01e1\u0002", + "\u2127\u2136\u0005\u03c2\u01e2\u0002\u2128\u2136\u0005\u03c4\u01e3\u0002", + "\u2129\u2136\u0005\u03c6\u01e4\u0002\u212a\u2136\u0005\u03c8\u01e5\u0002", + "\u212b\u2136\u0005\u03ce\u01e8\u0002\u212c\u2136\u0005\u03d2\u01ea\u0002", + "\u212d\u2136\u0005\u03dc\u01ef\u0002\u212e\u2136\u0005\u03de\u01f0\u0002", + "\u212f\u2136\u0005\u03e0\u01f1\u0002\u2130\u2136\u0005\u04f8\u027d\u0002", + "\u2131\u2136\u0005\u03f0\u01f9\u0002\u2132\u2136\u0005\u03e2\u01f2\u0002", + "\u2133\u2136\u0005\u03e6\u01f4\u0002\u2134\u2136\u0005\u03e4\u01f3\u0002", + "\u2135\u2124\u0003\u0002\u0002\u0002\u2135\u2125\u0003\u0002\u0002\u0002", + "\u2135\u2126\u0003\u0002\u0002\u0002\u2135\u2127\u0003\u0002\u0002\u0002", + "\u2135\u2128\u0003\u0002\u0002\u0002\u2135\u2129\u0003\u0002\u0002\u0002", + "\u2135\u212a\u0003\u0002\u0002\u0002\u2135\u212b\u0003\u0002\u0002\u0002", + "\u2135\u212c\u0003\u0002\u0002\u0002\u2135\u212d\u0003\u0002\u0002\u0002", + "\u2135\u212e\u0003\u0002\u0002\u0002\u2135\u212f\u0003\u0002\u0002\u0002", + "\u2135\u2130\u0003\u0002\u0002\u0002\u2135\u2131\u0003\u0002\u0002\u0002", + "\u2135\u2132\u0003\u0002\u0002\u0002\u2135\u2133\u0003\u0002\u0002\u0002", + "\u2135\u2134\u0003\u0002\u0002\u0002\u2136\u03bd\u0003\u0002\u0002\u0002", + "\u2137\u2139\n[\u0002\u0002\u2138\u2137\u0003\u0002\u0002\u0002\u2139", + "\u213a\u0003\u0002\u0002\u0002\u213a\u2138\u0003\u0002\u0002\u0002\u213a", + "\u213b\u0003\u0002\u0002\u0002\u213b\u03bf\u0003\u0002\u0002\u0002\u213c", + "\u213f\u0005\u05be\u02e0\u0002\u213d\u213f\u0005\u05bc\u02df\u0002\u213e", + "\u213c\u0003\u0002\u0002\u0002\u213e\u213d\u0003\u0002\u0002\u0002\u213f", + "\u2140\u0003\u0002\u0002\u0002\u2140\u2141\u0007\u08ba\u0002\u0002\u2141", + "\u2142\u0005\u04d4\u026b\u0002\u2142\u03c1\u0003\u0002\u0002\u0002\u2143", + "\u2145\u0007\u010c\u0002\u0002\u2144\u2146\u0005\u0578\u02bd\u0002\u2145", + "\u2144\u0003\u0002\u0002\u0002\u2145\u2146\u0003\u0002\u0002\u0002\u2146", + "\u2149\u0003\u0002\u0002\u0002\u2147\u2148\u0007\u0843\u0002\u0002\u2148", + "\u214a\u0005\u04d0\u0269\u0002\u2149\u2147\u0003\u0002\u0002\u0002\u2149", + "\u214a\u0003\u0002\u0002\u0002\u214a\u03c3\u0003\u0002\u0002\u0002\u214b", + "\u214d\u0007\u01e2\u0002\u0002\u214c\u214e\u0005\u0578\u02bd\u0002\u214d", + "\u214c\u0003\u0002\u0002\u0002\u214d\u214e\u0003\u0002\u0002\u0002\u214e", + "\u2151\u0003\u0002\u0002\u0002\u214f\u2150\u0007\u0843\u0002\u0002\u2150", + "\u2152\u0005\u04d0\u0269\u0002\u2151\u214f\u0003\u0002\u0002\u0002\u2151", + "\u2152\u0003\u0002\u0002\u0002\u2152\u03c5\u0003\u0002\u0002\u0002\u2153", + "\u2154\u0007\u023c\u0002\u0002\u2154\u2155\u0005\u0578\u02bd\u0002\u2155", + "\u03c7\u0003\u0002\u0002\u0002\u2156\u2157\u0007\u0261\u0002\u0002\u2157", + "\u2158\u0005\u04d0\u0269\u0002\u2158\u2159\u0007\u0787\u0002\u0002\u2159", + "\u215d\u0005\u03b8\u01dd\u0002\u215a\u215c\u0005\u03ca\u01e6\u0002\u215b", + "\u215a\u0003\u0002\u0002\u0002\u215c\u215f\u0003\u0002\u0002\u0002\u215d", + "\u215b\u0003\u0002\u0002\u0002\u215d\u215e\u0003\u0002\u0002\u0002\u215e", + "\u2161\u0003\u0002\u0002\u0002\u215f\u215d\u0003\u0002\u0002\u0002\u2160", + "\u2162\u0005\u03cc\u01e7\u0002\u2161\u2160\u0003\u0002\u0002\u0002\u2161", + "\u2162\u0003\u0002\u0002\u0002\u2162\u2163\u0003\u0002\u0002\u0002\u2163", + "\u2164\u0007\u01bf\u0002\u0002\u2164\u2165\u0007\u0261\u0002\u0002\u2165", + "\u03c9\u0003\u0002\u0002\u0002\u2166\u2167\u0007\u01b3\u0002\u0002\u2167", + "\u2168\u0005\u04d0\u0269\u0002\u2168\u2169\u0007\u0787\u0002\u0002\u2169", + "\u216a\u0005\u03b8\u01dd\u0002\u216a\u03cb\u0003\u0002\u0002\u0002\u216b", + "\u216c\u0007\u01b2\u0002\u0002\u216c\u216d\u0005\u03b8\u01dd\u0002\u216d", + "\u03cd\u0003\u0002\u0002\u0002\u216e\u2170\u0005\u03ba\u01de\u0002\u216f", + "\u216e\u0003\u0002\u0002\u0002\u216f\u2170\u0003\u0002\u0002\u0002\u2170", + "\u2175\u0003\u0002\u0002\u0002\u2171\u2172\u0007\u0845\u0002\u0002\u2172", + "\u2176\u0005\u04d0\u0269\u0002\u2173\u2174\u0007\u0224\u0002\u0002\u2174", + "\u2176\u0005\u03d0\u01e9\u0002\u2175\u2171\u0003\u0002\u0002\u0002\u2175", + "\u2173\u0003\u0002\u0002\u0002\u2175\u2176\u0003\u0002\u0002\u0002\u2176", + "\u2177\u0003\u0002\u0002\u0002\u2177\u2178\u0007\u0317\u0002\u0002\u2178", + "\u2179\u0005\u03b8\u01dd\u0002\u2179\u217a\u0007\u01bf\u0002\u0002\u217a", + "\u217c\u0007\u0317\u0002\u0002\u217b\u217d\u0005\u0578\u02bd\u0002\u217c", + "\u217b\u0003\u0002\u0002\u0002\u217c\u217d\u0003\u0002\u0002\u0002\u217d", + "\u03cf\u0003\u0002\u0002\u0002\u217e\u217f\u0005\u0588\u02c5\u0002\u217f", + "\u2181\u0007\u028e\u0002\u0002\u2180\u2182\u0007\u059b\u0002\u0002\u2181", + "\u2180\u0003\u0002\u0002\u0002\u2181\u2182\u0003\u0002\u0002\u0002\u2182", + "\u2183\u0003\u0002\u0002\u0002\u2183\u2184\u0005\u03d8\u01ed\u0002\u2184", + "\u2185\u0007\u08a9\u0002\u0002\u2185\u2186\u0005\u03da\u01ee\u0002\u2186", + "\u2198\u0003\u0002\u0002\u0002\u2187\u2188\u0005\u058c\u02c7\u0002\u2188", + "\u2195\u0007\u028e\u0002\u0002\u2189\u218f\u0005\u058a\u02c6\u0002\u218a", + "\u218c\u0007\u08b1\u0002\u0002\u218b\u218d\u0005\u04d2\u026a\u0002\u218c", + "\u218b\u0003\u0002\u0002\u0002\u218c\u218d\u0003\u0002\u0002\u0002\u218d", + "\u218e\u0003\u0002\u0002\u0002\u218e\u2190\u0007\u08b2\u0002\u0002\u218f", + "\u218a\u0003\u0002\u0002\u0002\u218f\u2190\u0003\u0002\u0002\u0002\u2190", + "\u2196\u0003\u0002\u0002\u0002\u2191\u2192\u0007\u08b1\u0002\u0002\u2192", + "\u2193\u0005\u0414\u020b\u0002\u2193\u2194\u0007\u08b2\u0002\u0002\u2194", + "\u2196\u0003\u0002\u0002\u0002\u2195\u2189\u0003\u0002\u0002\u0002\u2195", + "\u2191\u0003\u0002\u0002\u0002\u2196\u2198\u0003\u0002\u0002\u0002\u2197", + "\u217e\u0003\u0002\u0002\u0002\u2197\u2187\u0003\u0002\u0002\u0002\u2198", + "\u03d1\u0003\u0002\u0002\u0002\u2199\u219a\u0007\u021f\u0002\u0002\u219a", + "\u219b\u0005\u0588\u02c5\u0002\u219b\u219c\u0007\u028e\u0002\u0002\u219c", + "\u219d\u0005\u03d4\u01eb\u0002\u219d\u21a0\u0005\u03f0\u01f9\u0002\u219e", + "\u219f\u0007\u05b8\u0002\u0002\u219f\u21a1\u0007\u01d8\u0002\u0002\u21a0", + "\u219e\u0003\u0002\u0002\u0002\u21a0\u21a1\u0003\u0002\u0002\u0002\u21a1", + "\u03d3\u0003\u0002\u0002\u0002\u21a2\u21a3\u0005\u03d8\u01ed\u0002\u21a3", + "\u21a4\u0007\u08a9\u0002\u0002\u21a4\u21a5\u0005\u03da\u01ee\u0002\u21a5", + "\u21b0\u0003\u0002\u0002\u0002\u21a6\u21a7\u0007\u028a\u0002\u0002\u21a7", + "\u21a8\u0007\u045d\u0002\u0002\u21a8\u21aa\u0005\u058e\u02c8\u0002\u21a9", + "\u21ab\u0005\u03d6\u01ec\u0002\u21aa\u21a9\u0003\u0002\u0002\u0002\u21aa", + "\u21ab\u0003\u0002\u0002\u0002\u21ab\u21b0\u0003\u0002\u0002\u0002\u21ac", + "\u21ad\u0007\u081b\u0002\u0002\u21ad\u21ae\u0007\u045d\u0002\u0002\u21ae", + "\u21b0\u0005\u0588\u02c5\u0002\u21af\u21a2\u0003\u0002\u0002\u0002\u21af", + "\u21a6\u0003\u0002\u0002\u0002\u21af\u21ac\u0003\u0002\u0002\u0002\u21b0", + "\u03d5\u0003\u0002\u0002\u0002\u21b1\u21b2\u0007m\u0002\u0002\u21b2", + "\u21b3\u0005\u03d8\u01ed\u0002\u21b3\u21b4\u0007-\u0002\u0002\u21b4", + "\u21b5\u0005\u03da\u01ee\u0002\u21b5\u03d7\u0003\u0002\u0002\u0002\u21b6", + "\u21b7\u0005\u04ea\u0276\u0002\u21b7\u03d9\u0003\u0002\u0002\u0002\u21b8", + "\u21b9\u0005\u04ea\u0276\u0002\u21b9\u03db\u0003\u0002\u0002\u0002\u21ba", + "\u21bb\u0007\u044b\u0002\u0002\u21bb\u03dd\u0003\u0002\u0002\u0002\u21bc", + "\u21be\u0007\u053f\u0002\u0002\u21bd\u21bf\u0005\u057e\u02c0\u0002\u21be", + "\u21bd\u0003\u0002\u0002\u0002\u21be\u21bf\u0003\u0002\u0002\u0002\u21bf", + "\u03df\u0003\u0002\u0002\u0002\u21c0\u21c2\u0007\u0599\u0002\u0002\u21c1", + "\u21c3\u0005\u04d4\u026b\u0002\u21c2\u21c1\u0003\u0002\u0002\u0002\u21c2", + "\u21c3\u0003\u0002\u0002\u0002\u21c3\u03e1\u0003\u0002\u0002\u0002\u21c4", + "\u21c6\u0007\u009f\u0002\u0002\u21c5\u21c4\u0003\u0002\u0002\u0002\u21c5", + "\u21c6\u0003\u0002\u0002\u0002\u21c6\u21c7\u0003\u0002\u0002\u0002\u21c7", + "\u21c9\u0005\u0560\u02b1\u0002\u21c8\u21ca\u0005\u05aa\u02d6\u0002\u21c9", + "\u21c8\u0003\u0002\u0002\u0002\u21c9\u21ca\u0003\u0002\u0002\u0002\u21ca", + "\u03e3\u0003\u0002\u0002\u0002\u21cb\u21cd\u0005\u0560\u02b1\u0002\u21cc", + "\u21ce\u0005\u05aa\u02d6\u0002\u21cd\u21cc\u0003\u0002\u0002\u0002\u21cd", + "\u21ce\u0003\u0002\u0002\u0002\u21ce\u03e5\u0003\u0002\u0002\u0002\u21cf", + "\u21d0\u0007\u04e5\u0002\u0002\u21d0\u21d1\u0007\u05ad\u0002\u0002\u21d1", + "\u21d2\u0007\u08b1\u0002\u0002\u21d2\u21d3\u0005\u04d4\u026b\u0002\u21d3", + "\u21d4\u0007\u08b2\u0002\u0002\u21d4\u03e7\u0003\u0002\u0002\u0002\u21d5", + "\u21d6\u0007h\u0002\u0002\u21d6\u21dd\u0005\u03b8\u01dd\u0002\u21d7", + "\u21d9\u0007\u01d6\u0002\u0002\u21d8\u21da\u0005\u03ea\u01f6\u0002\u21d9", + "\u21d8\u0003\u0002\u0002\u0002\u21da\u21db\u0003\u0002\u0002\u0002\u21db", + "\u21d9\u0003\u0002\u0002\u0002\u21db\u21dc\u0003\u0002\u0002\u0002\u21dc", + "\u21de\u0003\u0002\u0002\u0002\u21dd\u21d7\u0003\u0002\u0002\u0002\u21dd", + "\u21de\u0003\u0002\u0002\u0002\u21de\u21df\u0003\u0002\u0002\u0002\u21df", + "\u21e1\u0007\u01bf\u0002\u0002\u21e0\u21e2\u0005\u0578\u02bd\u0002\u21e1", + "\u21e0\u0003\u0002\u0002\u0002\u21e1\u21e2\u0003\u0002\u0002\u0002\u21e2", + "\u03e9\u0003\u0002\u0002\u0002\u21e3\u21e4\u0007\u0843\u0002\u0002\u21e4", + "\u21e9\u0005\u057e\u02c0\u0002\u21e5\u21e6\u0007\u0496\u0002\u0002\u21e6", + "\u21e8\u0005\u057e\u02c0\u0002\u21e7\u21e5\u0003\u0002\u0002\u0002\u21e8", + "\u21eb\u0003\u0002\u0002\u0002\u21e9\u21e7\u0003\u0002\u0002\u0002\u21e9", + "\u21ea\u0003\u0002\u0002\u0002\u21ea\u21ec\u0003\u0002\u0002\u0002\u21eb", + "\u21e9\u0003\u0002\u0002\u0002\u21ec\u21ed\u0007\u0787\u0002\u0002\u21ed", + "\u21ee\u0005\u03b8\u01dd\u0002\u21ee\u03eb\u0003\u0002\u0002\u0002\u21ef", + "\u21f1\u0007\u015a\u0002\u0002\u21f0\u21ef\u0003\u0002\u0002\u0002\u21f0", + "\u21f1\u0003\u0002\u0002\u0002\u21f1\u21f3\u0003\u0002\u0002\u0002\u21f2", + "\u21f4\u0005\u039c\u01cf\u0002\u21f3\u21f2\u0003\u0002\u0002\u0002\u21f4", + "\u21f5\u0003\u0002\u0002\u0002\u21f5\u21f3\u0003\u0002\u0002\u0002\u21f5", + "\u21f6\u0003\u0002\u0002\u0002\u21f6\u21f8\u0003\u0002\u0002\u0002\u21f7", + "\u21f0\u0003\u0002\u0002\u0002\u21f7\u21f8\u0003\u0002\u0002\u0002\u21f8", + "\u21f9\u0003\u0002\u0002\u0002\u21f9\u21fa\u0005\u03e8\u01f5\u0002\u21fa", + "\u03ed\u0003\u0002\u0002\u0002\u21fb\u21fd\u0007\u015a\u0002\u0002\u21fc", + "\u21fb\u0003\u0002\u0002\u0002\u21fc\u21fd\u0003\u0002\u0002\u0002\u21fd", + "\u21ff\u0003\u0002\u0002\u0002\u21fe\u2200\u0005\u039c\u01cf\u0002\u21ff", + "\u21fe\u0003\u0002\u0002\u0002\u2200\u2201\u0003\u0002\u0002\u0002\u2201", + "\u21ff\u0003\u0002\u0002\u0002\u2201\u2202\u0003\u0002\u0002\u0002\u2202", + "\u2203\u0003\u0002\u0002\u0002\u2203\u2204\u0005\u03e8\u01f5\u0002\u2204", + "\u03ef\u0003\u0002\u0002\u0002\u2205\u220a\u0005\u03f2\u01fa\u0002\u2206", + "\u220a\u0005\u03f6\u01fc\u0002\u2207\u220a\u0005\u03f8\u01fd\u0002\u2208", + "\u220a\u0005\u0402\u0202\u0002\u2209\u2205\u0003\u0002\u0002\u0002\u2209", + "\u2206\u0003\u0002\u0002\u0002\u2209\u2207\u0003\u0002\u0002\u0002\u2209", + "\u2208\u0003\u0002\u0002\u0002\u220a\u03f1\u0003\u0002\u0002\u0002\u220b", + "\u220c\u0007\u01dd\u0002\u0002\u220c\u220d\u0007\u0267\u0002\u0002\u220d", + "\u2217\u0005\u04d4\u026b\u0002\u220e\u2210\u0005\u0550\u02a9\u0002\u220f", + "\u2211\u0005\u0522\u0292\u0002\u2210\u220f\u0003\u0002\u0002\u0002\u2210", + "\u2211\u0003\u0002\u0002\u0002\u2211\u2218\u0003\u0002\u0002\u0002\u2212", + "\u2214\u0005\u0522\u0292\u0002\u2213\u2215\u0005\u03f4\u01fb\u0002\u2214", + "\u2213\u0003\u0002\u0002\u0002\u2214\u2215\u0003\u0002\u0002\u0002\u2215", + "\u2218\u0003\u0002\u0002\u0002\u2216\u2218\u0005\u03f4\u01fb\u0002\u2217", + "\u220e\u0003\u0002\u0002\u0002\u2217\u2212\u0003\u0002\u0002\u0002\u2217", + "\u2216\u0003\u0002\u0002\u0002\u2217\u2218\u0003\u0002\u0002\u0002\u2218", + "\u03f3\u0003\u0002\u0002\u0002\u2219\u221a\t\\\u0002\u0002\u221a\u221b", + "\u0005\u0550\u02a9\u0002\u221b\u03f5\u0003\u0002\u0002\u0002\u221c\u2224", + "\u0005\u04a8\u0255\u0002\u221d\u2224\u0005\u04b4\u025b\u0002\u221e\u2224", + "\u0005\u0414\u020b\u0002\u221f\u2224\u0005\u048e\u0248\u0002\u2220\u2224", + "\u0005\u0494\u024b\u0002\u2221\u2224\u0005\u0496\u024c\u0002\u2222\u2224", + "\u0005\u0410\u0209\u0002\u2223\u221c\u0003\u0002\u0002\u0002\u2223\u221d", + "\u0003\u0002\u0002\u0002\u2223\u221e\u0003\u0002\u0002\u0002\u2223\u221f", + "\u0003\u0002\u0002\u0002\u2223\u2220\u0003\u0002\u0002\u0002\u2223\u2221", + "\u0003\u0002\u0002\u0002\u2223\u2222\u0003\u0002\u0002\u0002\u2224\u03f7", + "\u0003\u0002\u0002\u0002\u2225\u222a\u0005\u03fa\u01fe\u0002\u2226\u222a", + "\u0005\u03fc\u01ff\u0002\u2227\u222a\u0005\u03fe\u0200\u0002\u2228\u222a", + "\u0005\u0400\u0201\u0002\u2229\u2225\u0003\u0002\u0002\u0002\u2229\u2226", + "\u0003\u0002\u0002\u0002\u2229\u2227\u0003\u0002\u0002\u0002\u2229\u2228", + "\u0003\u0002\u0002\u0002\u222a\u03f9\u0003\u0002\u0002\u0002\u222b\u222c", + "\u0007\u00c5\u0002\u0002\u222c\u222d\u0005\u058a\u02c6\u0002\u222d\u03fb", + "\u0003\u0002\u0002\u0002\u222e\u222f\u0007\u046f\u0002\u0002\u222f\u2235", + "\u0005\u058a\u02c6\u0002\u2230\u2232\u0007\u08b1\u0002\u0002\u2231\u2233", + "\u0005\u04d2\u026a\u0002\u2232\u2231\u0003\u0002\u0002\u0002\u2232\u2233", + "\u0003\u0002\u0002\u0002\u2233\u2234\u0003\u0002\u0002\u0002\u2234\u2236", + "\u0007\u08b2\u0002\u0002\u2235\u2230\u0003\u0002\u0002\u0002\u2235\u2236", + "\u0003\u0002\u0002\u0002\u2236\u03fd\u0003\u0002\u0002\u0002\u2237\u2238", + "\u0007\u0208\u0002\u0002\u2238\u224d\u0005\u058a\u02c6\u0002\u2239\u223a", + "\u0007\u02b5\u0002\u0002\u223a\u223f\u0005\u0586\u02c4\u0002\u223b\u223c", + "\u0007\u08b7\u0002\u0002\u223c\u223e\u0005\u0586\u02c4\u0002\u223d\u223b", + "\u0003\u0002\u0002\u0002\u223e\u2241\u0003\u0002\u0002\u0002\u223f\u223d", + "\u0003\u0002\u0002\u0002\u223f\u2240\u0003\u0002\u0002\u0002\u2240\u224e", + "\u0003\u0002\u0002\u0002\u2241\u223f\u0003\u0002\u0002\u0002\u2242\u2243", + "\u0007\u0093\u0002\u0002\u2243\u2244\u0007\u00d4\u0002\u0002\u2244\u2245", + "\u0007\u02b5\u0002\u0002\u2245\u224a\u0005\u0586\u02c4\u0002\u2246\u2247", + "\u0007\u08b7\u0002\u0002\u2247\u2249\u0005\u0586\u02c4\u0002\u2248\u2246", + "\u0003\u0002\u0002\u0002\u2249\u224c\u0003\u0002\u0002\u0002\u224a\u2248", + "\u0003\u0002\u0002\u0002\u224a\u224b\u0003\u0002\u0002\u0002\u224b\u224e", + "\u0003\u0002\u0002\u0002\u224c\u224a\u0003\u0002\u0002\u0002\u224d\u2239", + "\u0003\u0002\u0002\u0002\u224d\u2242\u0003\u0002\u0002\u0002\u224e\u03ff", + "\u0003\u0002\u0002\u0002\u224f\u2250\u0007\u046f\u0002\u0002\u2250\u2251", + "\u0005\u0586\u02c4\u0002\u2251\u2254\u0007\u0224\u0002\u0002\u2252\u2255", + "\u0005\u0414\u020b\u0002\u2253\u2255\u0005\u04d4\u026b\u0002\u2254\u2252", + "\u0003\u0002\u0002\u0002\u2254\u2253\u0003\u0002\u0002\u0002\u2255\u2257", + "\u0003\u0002\u0002\u0002\u2256\u2258\u0005\u0522\u0292\u0002\u2257\u2256", + "\u0003\u0002\u0002\u0002\u2257\u2258\u0003\u0002\u0002\u0002\u2258\u0401", + "\u0003\u0002\u0002\u0002\u2259\u225f\u0005\u0404\u0203\u0002\u225a\u225f", + "\u0005\u0406\u0204\u0002\u225b\u225f\u0005\u0408\u0205\u0002\u225c\u225f", + "\u0005\u040c\u0207\u0002\u225d\u225f\u0005\u040e\u0208\u0002\u225e\u2259", + "\u0003\u0002\u0002\u0002\u225e\u225a\u0003\u0002\u0002\u0002\u225e\u225b", + "\u0003\u0002\u0002\u0002\u225e\u225c\u0003\u0002\u0002\u0002\u225e\u225d", + "\u0003\u0002\u0002\u0002\u225f\u0403\u0003\u0002\u0002\u0002\u2260\u2261", + "\u0007\u05e8\u0002\u0002\u2261\u226f\u0007\u07b4\u0002\u0002\u2262\u2263", + "\u0007\u054b\u0002\u0002\u2263\u2270\t&\u0002\u0002\u2264\u2265\u0007", + "\u02ba\u0002\u0002\u2265\u2269\u0007\u02ed\u0002\u0002\u2266\u226a\u0007", + "\u05dd\u0002\u0002\u2267\u2268\u0007\u054b\u0002\u0002\u2268\u226a\u0007", + "\u00dd\u0002\u0002\u2269\u2266\u0003\u0002\u0002\u0002\u2269\u2267\u0003", + "\u0002\u0002\u0002\u226a\u2270\u0003\u0002\u0002\u0002\u226b\u226c\u0007", + "\u080d\u0002\u0002\u226c\u226d\u0007\u05a3\u0002\u0002\u226d\u226e\u0007", + "\u05d2\u0002\u0002\u226e\u2270\u0005\u055a\u02ae\u0002\u226f\u2262\u0003", + "\u0002\u0002\u0002\u226f\u2264\u0003\u0002\u0002\u0002\u226f\u226b\u0003", + "\u0002\u0002\u0002\u226f\u2270\u0003\u0002\u0002\u0002\u2270\u2273\u0003", + "\u0002\u0002\u0002\u2271\u2272\u0007\u0371\u0002\u0002\u2272\u2274\u0005", + "\u05ce\u02e8\u0002\u2273\u2271\u0003\u0002\u0002\u0002\u2273\u2274\u0003", + "\u0002\u0002\u0002\u2274\u0405\u0003\u0002\u0002\u0002\u2275\u2276\u0007", + "\u05e8\u0002\u0002\u2276\u2280\t]\u0002\u0002\u2277\u2281\u0007%\u0002", + "\u0002\u2278\u227d\u0005\u0576\u02bc\u0002\u2279\u227a\u0007\u08b7\u0002", + "\u0002\u227a\u227c\u0005\u0576\u02bc\u0002\u227b\u2279\u0003\u0002\u0002", + "\u0002\u227c\u227f\u0003\u0002\u0002\u0002\u227d\u227b\u0003\u0002\u0002", + "\u0002\u227d\u227e\u0003\u0002\u0002\u0002\u227e\u2281\u0003\u0002\u0002", + "\u0002\u227f\u227d\u0003\u0002\u0002\u0002\u2280\u2277\u0003\u0002\u0002", + "\u0002\u2280\u2278\u0003\u0002\u0002\u0002\u2281\u2282\u0003\u0002\u0002", + "\u0002\u2282\u2283\t(\u0002\u0002\u2283\u0407\u0003\u0002\u0002\u0002", + "\u2284\u2286\u0007\u00dc\u0002\u0002\u2285\u2287\u0007\u084c\u0002\u0002", + "\u2286\u2285\u0003\u0002\u0002\u0002\u2286\u2287\u0003\u0002\u0002\u0002", + "\u2287\u2295\u0003\u0002\u0002\u0002\u2288\u2289\u0007\u00db\u0002\u0002", + "\u2289\u2296\u0005\u04d4\u026b\u0002\u228a\u2293\u0007\u0220\u0002\u0002", + "\u228b\u228c\u0007\u0116\u0002\u0002\u228c\u2294\u0005\u04d4\u026b\u0002", + "\u228d\u2294\u0007\u0115\u0002\u0002\u228e\u2291\u0005\u04d4\u026b\u0002", + "\u228f\u2290\u0007\u08b7\u0002\u0002\u2290\u2292\u0005\u04d4\u026b\u0002", + "\u2291\u228f\u0003\u0002\u0002\u0002\u2291\u2292\u0003\u0002\u0002\u0002", + "\u2292\u2294\u0003\u0002\u0002\u0002\u2293\u228b\u0003\u0002\u0002\u0002", + "\u2293\u228d\u0003\u0002\u0002\u0002\u2293\u228e\u0003\u0002\u0002\u0002", + "\u2294\u2296\u0003\u0002\u0002\u0002\u2295\u2288\u0003\u0002\u0002\u0002", + "\u2295\u228a\u0003\u0002\u0002\u0002\u2295\u2296\u0003\u0002\u0002\u0002", + "\u2296\u2298\u0003\u0002\u0002\u0002\u2297\u2299\u0005\u040a\u0206\u0002", + "\u2298\u2297\u0003\u0002\u0002\u0002\u2298\u2299\u0003\u0002\u0002\u0002", + "\u2299\u0409\u0003\u0002\u0002\u0002\u229a\u229c\u0007\u084f\u0002\u0002", + "\u229b\u229d\tL\u0002\u0002\u229c\u229b\u0003\u0002\u0002\u0002\u229c", + "\u229d\u0003\u0002\u0002\u0002\u229d\u229f\u0003\u0002\u0002\u0002\u229e", + "\u22a0\t^\u0002\u0002\u229f\u229e\u0003\u0002\u0002\u0002\u229f\u22a0", + "\u0003\u0002\u0002\u0002\u22a0\u040b\u0003\u0002\u0002\u0002\u22a1\u22a3", + "\u0007\u05a3\u0002\u0002\u22a2\u22a4\u0007\u084c\u0002\u0002\u22a3\u22a2", + "\u0003\u0002\u0002\u0002\u22a3\u22a4\u0003\u0002\u0002\u0002\u22a4\u22ac", + "\u0003\u0002\u0002\u0002\u22a5\u22a7\u0007\u07ae\u0002\u0002\u22a6\u22a8", + "\u0007\u05b7\u0002\u0002\u22a7\u22a6\u0003\u0002\u0002\u0002\u22a7\u22a8", + "\u0003\u0002\u0002\u0002\u22a8\u22a9\u0003\u0002\u0002\u0002\u22a9\u22ad", + "\u0005\u0558\u02ad\u0002\u22aa\u22ab\u0007\u0220\u0002\u0002\u22ab\u22ad", + "\u0005\u05ce\u02e8\u0002\u22ac\u22a5\u0003\u0002\u0002\u0002\u22ac\u22aa", + "\u0003\u0002\u0002\u0002\u22ac\u22ad\u0003\u0002\u0002\u0002\u22ad\u040d", + "\u0003\u0002\u0002\u0002\u22ae\u22af\u0007\u05b7\u0002\u0002\u22af\u22b0", + "\u0005\u0558\u02ad\u0002\u22b0\u040f\u0003\u0002\u0002\u0002\u22b1\u22b2", + "\u0007\u01e7\u0002\u0002\u22b2\u22b7\u0007\u04eb\u0002\u0002\u22b3\u22b4", + "\u0007\u05e8\u0002\u0002\u22b4\u22b5\u0007\u0625\u0002\u0002\u22b5\u22b6", + "\u0007\u08c5\u0002\u0002\u22b6\u22b8\u0005\u05ce\u02e8\u0002\u22b7\u22b3", + "\u0003\u0002\u0002\u0002\u22b7\u22b8\u0003\u0002\u0002\u0002\u22b8\u22bb", + "\u0003\u0002\u0002\u0002\u22b9\u22ba\u0007\u02b5\u0002\u0002\u22ba\u22bc", + "\u0005\u0594\u02cb\u0002\u22bb\u22b9\u0003\u0002\u0002\u0002\u22bb\u22bc", + "\u0003\u0002\u0002\u0002\u22bc\u22bd\u0003\u0002\u0002\u0002\u22bd\u22c3", + "\u0007\u0224\u0002\u0002\u22be\u22c4\u0005\u0414\u020b\u0002\u22bf\u22c4", + "\u0005\u048e\u0248\u0002\u22c0\u22c4\u0005\u0494\u024b\u0002\u22c1\u22c4", + "\u0005\u0496\u024c\u0002\u22c2\u22c4\u0005\u04a8\u0255\u0002\u22c3\u22be", + "\u0003\u0002\u0002\u0002\u22c3\u22bf\u0003\u0002\u0002\u0002\u22c3\u22c0", + "\u0003\u0002\u0002\u0002\u22c3\u22c1\u0003\u0002\u0002\u0002\u22c3\u22c2", + "\u0003\u0002\u0002\u0002\u22c4\u0411\u0003\u0002\u0002\u0002\u22c5\u22c7", + "\u0005\u0416\u020c\u0002\u22c6\u22c5\u0003\u0002\u0002\u0002\u22c6\u22c7", + "\u0003\u0002\u0002\u0002\u22c7\u22c8\u0003\u0002\u0002\u0002\u22c8\u22c9", + "\u0005\u041e\u0210\u0002\u22c9\u0413\u0003\u0002\u0002\u0002\u22ca\u22d1", + "\u0005\u0412\u020a\u0002\u22cb\u22d0\u0005\u0488\u0245\u0002\u22cc\u22d0", + "\u0005\u0480\u0241\u0002\u22cd\u22d0\u0005\u0484\u0243\u0002\u22ce\u22d0", + "\u0005\u0486\u0244\u0002\u22cf\u22cb\u0003\u0002\u0002\u0002\u22cf\u22cc", + "\u0003\u0002\u0002\u0002\u22cf\u22cd\u0003\u0002\u0002\u0002\u22cf\u22ce", + "\u0003\u0002\u0002\u0002\u22d0\u22d3\u0003\u0002\u0002\u0002\u22d1\u22cf", + "\u0003\u0002\u0002\u0002\u22d1\u22d2\u0003\u0002\u0002\u0002\u22d2\u0415", + "\u0003\u0002\u0002\u0002\u22d3\u22d1\u0003\u0002\u0002\u0002\u22d4\u22d5", + "\u0007\u084b\u0002\u0002\u22d5\u22da\u0005\u0418\u020d\u0002\u22d6\u22d7", + "\u0007\u08b7\u0002\u0002\u22d7\u22d9\u0005\u0418\u020d\u0002\u22d8\u22d6", + "\u0003\u0002\u0002\u0002\u22d9\u22dc\u0003\u0002\u0002\u0002\u22da\u22d8", + "\u0003\u0002\u0002\u0002\u22da\u22db\u0003\u0002\u0002\u0002\u22db\u0417", + "\u0003\u0002\u0002\u0002\u22dc\u22da\u0003\u0002\u0002\u0002\u22dd\u22df", + "\u0005\u0570\u02b9\u0002\u22de\u22e0\u0005\u05a6\u02d4\u0002\u22df\u22de", + "\u0003\u0002\u0002\u0002\u22df\u22e0\u0003\u0002\u0002\u0002\u22e0\u22e1", + "\u0003\u0002\u0002\u0002\u22e1\u22e2\u0007?\u0002\u0002\u22e2\u22e3", + "\u0007\u08b1\u0002\u0002\u22e3\u22e5\u0005\u041e\u0210\u0002\u22e4\u22e6", + "\u0005\u0480\u0241\u0002\u22e5\u22e4\u0003\u0002\u0002\u0002\u22e5\u22e6", + "\u0003\u0002\u0002\u0002\u22e6\u22e7\u0003\u0002\u0002\u0002\u22e7\u22e9", + "\u0007\u08b2\u0002\u0002\u22e8\u22ea\u0005\u041a\u020e\u0002\u22e9\u22e8", + "\u0003\u0002\u0002\u0002\u22e9\u22ea\u0003\u0002\u0002\u0002\u22ea\u22ec", + "\u0003\u0002\u0002\u0002\u22eb\u22ed\u0005\u041c\u020f\u0002\u22ec\u22eb", + "\u0003\u0002\u0002\u0002\u22ec\u22ed\u0003\u0002\u0002\u0002\u22ed\u0419", + "\u0003\u0002\u0002\u0002\u22ee\u22ef\u0007\u05c9\u0002\u0002\u22ef\u22f0", + "\t_\u0002\u0002\u22f0\u22f1\u0007\u0210\u0002\u0002\u22f1\u22f2\u0007", + "\u0094\u0002\u0002\u22f2\u22f4\u0005\u0592\u02ca\u0002\u22f3\u22f5\u0007", + "@\u0002\u0002\u22f4\u22f3\u0003\u0002\u0002\u0002\u22f4\u22f5\u0003", + "\u0002\u0002\u0002\u22f5\u22f7\u0003\u0002\u0002\u0002\u22f6\u22f8\u0007", + "\u0175\u0002\u0002\u22f7\u22f6\u0003\u0002\u0002\u0002\u22f7\u22f8\u0003", + "\u0002\u0002\u0002\u22f8\u22fb\u0003\u0002\u0002\u0002\u22f9\u22fa\u0007", + "\u044c\u0002\u0002\u22fa\u22fc\u0007\u0210\u0002\u0002\u22fb\u22f9\u0003", + "\u0002\u0002\u0002\u22fb\u22fc\u0003\u0002\u0002\u0002\u22fc\u22ff\u0003", + "\u0002\u0002\u0002\u22fd\u22fe\u0007\u044c\u0002\u0002\u22fe\u2300\u0007", + "\u02dd\u0002\u0002\u22ff\u22fd\u0003\u0002\u0002\u0002\u22ff\u2300\u0003", + "\u0002\u0002\u0002\u2300\u2313\u0003\u0002\u0002\u0002\u2301\u2302\u0007", + "\u08b7\u0002\u0002\u2302\u2304\u0005\u0592\u02ca\u0002\u2303\u2305\u0007", + "@\u0002\u0002\u2304\u2303\u0003\u0002\u0002\u0002\u2304\u2305\u0003", + "\u0002\u0002\u0002\u2305\u2307\u0003\u0002\u0002\u0002\u2306\u2308\u0007", + "\u0175\u0002\u0002\u2307\u2306\u0003\u0002\u0002\u0002\u2307\u2308\u0003", + "\u0002\u0002\u0002\u2308\u230b\u0003\u0002\u0002\u0002\u2309\u230a\u0007", + "\u044c\u0002\u0002\u230a\u230c\u0007\u0210\u0002\u0002\u230b\u2309\u0003", + "\u0002\u0002\u0002\u230b\u230c\u0003\u0002\u0002\u0002\u230c\u230f\u0003", + "\u0002\u0002\u0002\u230d\u230e\u0007\u044c\u0002\u0002\u230e\u2310\u0007", + "\u02dd\u0002\u0002\u230f\u230d\u0003\u0002\u0002\u0002\u230f\u2310\u0003", + "\u0002\u0002\u0002\u2310\u2312\u0003\u0002\u0002\u0002\u2311\u2301\u0003", + "\u0002\u0002\u0002\u2312\u2315\u0003\u0002\u0002\u0002\u2313\u2311\u0003", + "\u0002\u0002\u0002\u2313\u2314\u0003\u0002\u0002\u0002\u2314\u2316\u0003", + "\u0002\u0002\u0002\u2315\u2313\u0003\u0002\u0002\u0002\u2316\u2317\u0007", + "\u05e8\u0002\u0002\u2317\u2318\u0005\u0592\u02ca\u0002\u2318\u041b\u0003", + "\u0002\u0002\u0002\u2319\u231a\u0007\u013c\u0002\u0002\u231a\u231b\u0005", + "\u05a4\u02d3\u0002\u231b\u231c\u0007\u05e8\u0002\u0002\u231c\u231d\u0005", + "\u0592\u02ca\u0002\u231d\u231e\u0007\u07ae\u0002\u0002\u231e\u231f\u0005", + "\u04d4\u026b\u0002\u231f\u2320\u0007\u0161\u0002\u0002\u2320\u2321\u0005", + "\u04d4\u026b\u0002\u2321\u041d\u0003\u0002\u0002\u0002\u2322\u2326\u0005", + "\u0420\u0211\u0002\u2323\u2325\u0005\u0422\u0212\u0002\u2324\u2323\u0003", + "\u0002\u0002\u0002\u2325\u2328\u0003\u0002\u0002\u0002\u2326\u2324\u0003", + "\u0002\u0002\u0002\u2326\u2327\u0003\u0002\u0002\u0002\u2327\u041f\u0003", + "\u0002\u0002\u0002\u2328\u2326\u0003\u0002\u0002\u0002\u2329\u232f\u0005", + "\u0424\u0213\u0002\u232a\u232b\u0007\u08b1\u0002\u0002\u232b\u232c\u0005", + "\u041e\u0210\u0002\u232c\u232d\u0007\u08b2\u0002\u0002\u232d\u232f\u0003", + "\u0002\u0002\u0002\u232e\u2329\u0003\u0002\u0002\u0002\u232e\u232a\u0003", + "\u0002\u0002\u0002\u232f\u0421\u0003\u0002\u0002\u0002\u2330\u2332\u0007", + "\u07d3\u0002\u0002\u2331\u2333\u0007%\u0002\u0002\u2332\u2331\u0003", + "\u0002\u0002\u0002\u2332\u2333\u0003\u0002\u0002\u0002\u2333\u2337\u0003", + "\u0002\u0002\u0002\u2334\u2337\u0007\u02b2\u0002\u0002\u2335\u2337\u0007", + "\u034c\u0002\u0002\u2336\u2330\u0003\u0002\u0002\u0002\u2336\u2334\u0003", + "\u0002\u0002\u0002\u2336\u2335\u0003\u0002\u0002\u0002\u2337\u2338\u0003", + "\u0002\u0002\u0002\u2338\u2339\u0005\u0420\u0211\u0002\u2339\u0423\u0003", + "\u0002\u0002\u0002\u233a\u233c\u0007\u05d4\u0002\u0002\u233b\u233d\t", + "`\u0002\u0002\u233c\u233b\u0003\u0002\u0002\u0002\u233c\u233d\u0003", + "\u0002\u0002\u0002\u233d\u233e\u0003\u0002\u0002\u0002\u233e\u2340\u0005", + "\u0426\u0214\u0002\u233f\u2341\u0005\u0550\u02a9\u0002\u2340\u233f\u0003", + "\u0002\u0002\u0002\u2340\u2341\u0003\u0002\u0002\u0002\u2341\u2342\u0003", + "\u0002\u0002\u0002\u2342\u2344\u0005\u0428\u0215\u0002\u2343\u2345\u0005", + "\u054e\u02a8\u0002\u2344\u2343\u0003\u0002\u0002\u0002\u2344\u2345\u0003", + "\u0002\u0002\u0002\u2345\u2347\u0003\u0002\u0002\u0002\u2346\u2348\u0005", + "\u0452\u022a\u0002\u2347\u2346\u0003\u0002\u0002\u0002\u2347\u2348\u0003", + "\u0002\u0002\u0002\u2348\u234a\u0003\u0002\u0002\u0002\u2349\u234b\u0005", + "\u0456\u022c\u0002\u234a\u2349\u0003\u0002\u0002\u0002\u234a\u234b\u0003", + "\u0002\u0002\u0002\u234b\u234d\u0003\u0002\u0002\u0002\u234c\u234e\u0005", + "\u0462\u0232\u0002\u234d\u234c\u0003\u0002\u0002\u0002\u234d\u234e\u0003", + "\u0002\u0002\u0002\u234e\u2350\u0003\u0002\u0002\u0002\u234f\u2351\u0005", + "\u0480\u0241\u0002\u2350\u234f\u0003\u0002\u0002\u0002\u2350\u2351\u0003", + "\u0002\u0002\u0002\u2351\u0425\u0003\u0002\u0002\u0002\u2352\u235c\u0007", + "\u08b4\u0002\u0002\u2353\u2358\u0005\u042a\u0216\u0002\u2354\u2355\u0007", + "\u08b7\u0002\u0002\u2355\u2357\u0005\u042a\u0216\u0002\u2356\u2354\u0003", + "\u0002\u0002\u0002\u2357\u235a\u0003\u0002\u0002\u0002\u2358\u2356\u0003", + "\u0002\u0002\u0002\u2358\u2359\u0003\u0002\u0002\u0002\u2359\u235c\u0003", + "\u0002\u0002\u0002\u235a\u2358\u0003\u0002\u0002\u0002\u235b\u2352\u0003", + "\u0002\u0002\u0002\u235b\u2353\u0003\u0002\u0002\u0002\u235c\u0427\u0003", + "\u0002\u0002\u0002\u235d\u235e\u0007\u022c\u0002\u0002\u235e\u235f\u0005", + "\u042c\u0217\u0002\u235f\u0429\u0003\u0002\u0002\u0002\u2360\u2361\u0005", + "\u0594\u02cb\u0002\u2361\u2362\u0007\u08aa\u0002\u0002\u2362\u2363\u0007", + "\u08b4\u0002\u0002\u2363\u2369\u0003\u0002\u0002\u0002\u2364\u2366\u0005", + "\u04d4\u026b\u0002\u2365\u2367\u0005\u054a\u02a6\u0002\u2366\u2365\u0003", + "\u0002\u0002\u0002\u2366\u2367\u0003\u0002\u0002\u0002\u2367\u2369\u0003", + "\u0002\u0002\u0002\u2368\u2360\u0003\u0002\u0002\u0002\u2368\u2364\u0003", + "\u0002\u0002\u0002\u2369\u042b\u0003\u0002\u0002\u0002\u236a\u236f\u0005", + "\u042e\u0218\u0002\u236b\u236c\u0007\u08b7\u0002\u0002\u236c\u236e\u0005", + "\u042e\u0218\u0002\u236d\u236b\u0003\u0002\u0002\u0002\u236e\u2371\u0003", + "\u0002\u0002\u0002\u236f\u236d\u0003\u0002\u0002\u0002\u236f\u2370\u0003", + "\u0002\u0002\u0002\u2370\u042d\u0003\u0002\u0002\u0002\u2371\u236f\u0003", + "\u0002\u0002\u0002\u2372\u2376\u0005\u0430\u0219\u0002\u2373\u2375\u0005", + "\u0434\u021b\u0002\u2374\u2373\u0003\u0002\u0002\u0002\u2375\u2378\u0003", + "\u0002\u0002\u0002\u2376\u2374\u0003\u0002\u0002\u0002\u2376\u2377\u0003", + "\u0002\u0002\u0002\u2377\u237b\u0003\u0002\u0002\u0002\u2378\u2376\u0003", + "\u0002\u0002\u0002\u2379\u237c\u0005\u0440\u0221\u0002\u237a\u237c\u0005", + "\u044c\u0227\u0002\u237b\u2379\u0003\u0002\u0002\u0002\u237b\u237a\u0003", + "\u0002\u0002\u0002\u237b\u237c\u0003\u0002\u0002\u0002\u237c\u042f\u0003", + "\u0002\u0002\u0002\u237d\u2381\u0005\u0432\u021a\u0002\u237e\u2380\u0005", + "\u043e\u0220\u0002\u237f\u237e\u0003\u0002\u0002\u0002\u2380\u2383\u0003", + "\u0002\u0002\u0002\u2381\u237f\u0003\u0002\u0002\u0002\u2381\u2382\u0003", + "\u0002\u0002\u0002\u2382\u2385\u0003\u0002\u0002\u0002\u2383\u2381\u0003", + "\u0002\u0002\u0002\u2384\u2386\u0005\u054c\u02a7\u0002\u2385\u2384\u0003", + "\u0002\u0002\u0002\u2385\u2386\u0003\u0002\u0002\u0002\u2386\u0431\u0003", + "\u0002\u0002\u0002\u2387\u238a\u0005\u04c6\u0264\u0002\u2388\u238b\u0005", + "\u0440\u0221\u0002\u2389\u238b\u0005\u044c\u0227\u0002\u238a\u2388\u0003", + "\u0002\u0002\u0002\u238a\u2389\u0003\u0002\u0002\u0002\u238a\u238b\u0003", + "\u0002\u0002\u0002\u238b\u239f\u0003\u0002\u0002\u0002\u238c\u238d\u0007", + "\u08b1\u0002\u0002\u238d\u2391\u0005\u042e\u0218\u0002\u238e\u2390\u0005", + "\u0422\u0212\u0002\u238f\u238e\u0003\u0002\u0002\u0002\u2390\u2393\u0003", + "\u0002\u0002\u0002\u2391\u238f\u0003\u0002\u0002\u0002\u2391\u2392\u0003", + "\u0002\u0002\u0002\u2392\u2394\u0003\u0002\u0002\u0002\u2393\u2391\u0003", + "\u0002\u0002\u0002\u2394\u2397\u0007\u08b2\u0002\u0002\u2395\u2398\u0005", + "\u0440\u0221\u0002\u2396\u2398\u0005\u044c\u0227\u0002\u2397\u2395\u0003", + "\u0002\u0002\u0002\u2397\u2396\u0003\u0002\u0002\u0002\u2397\u2398\u0003", + "\u0002\u0002\u0002\u2398\u239f\u0003\u0002\u0002\u0002\u2399\u239a\u0007", + "\u0469\u0002\u0002\u239a\u239b\u0007\u08b1\u0002\u0002\u239b\u239c\u0005", + "\u04c6\u0264\u0002\u239c\u239d\u0007\u08b2\u0002\u0002\u239d\u239f\u0003", + "\u0002\u0002\u0002\u239e\u2387\u0003\u0002\u0002\u0002\u239e\u238c\u0003", + "\u0002\u0002\u0002\u239e\u2399\u0003\u0002\u0002\u0002\u239f\u0433\u0003", + "\u0002\u0002\u0002\u23a0\u23a2\u0005\u043c\u021f\u0002\u23a1\u23a0\u0003", + "\u0002\u0002\u0002\u23a1\u23a2\u0003\u0002\u0002\u0002\u23a2\u23a4\u0003", + "\u0002\u0002\u0002\u23a3\u23a5\ta\u0002\u0002\u23a4\u23a3\u0003\u0002", + "\u0002\u0002\u23a4\u23a5\u0003\u0002\u0002\u0002\u23a5\u23a8\u0003\u0002", + "\u0002\u0002\u23a6\u23a9\u0007\u0299\u0002\u0002\u23a7\u23a9\u0005\u043a", + "\u021e\u0002\u23a8\u23a6\u0003\u0002\u0002\u0002\u23a8\u23a7\u0003\u0002", + "\u0002\u0002\u23a8\u23a9\u0003\u0002\u0002\u0002\u23a9\u23aa\u0003\u0002", + "\u0002\u0002\u23aa\u23ab\u0007\u02c0\u0002\u0002\u23ab\u23ad\u0005\u0430", + "\u0219\u0002\u23ac\u23ae\u0005\u043c\u021f\u0002\u23ad\u23ac\u0003\u0002", + "\u0002\u0002\u23ad\u23ae\u0003\u0002\u0002\u0002\u23ae\u23b3\u0003\u0002", + "\u0002\u0002\u23af\u23b2\u0005\u0436\u021c\u0002\u23b0\u23b2\u0005\u0438", + "\u021d\u0002\u23b1\u23af\u0003\u0002\u0002\u0002\u23b1\u23b0\u0003\u0002", + "\u0002\u0002\u23b2\u23b5\u0003\u0002\u0002\u0002\u23b3\u23b1\u0003\u0002", + "\u0002\u0002\u23b3\u23b4\u0003\u0002\u0002\u0002\u23b4\u0435\u0003\u0002", + "\u0002\u0002\u23b5\u23b3\u0003\u0002\u0002\u0002\u23b6\u23b7\u0007\u046a", + "\u0002\u0002\u23b7\u23b8\u0005\u04d0\u0269\u0002\u23b8\u0437\u0003\u0002", + "\u0002\u0002\u23b9\u23ba\u0007\u0811\u0002\u0002\u23ba\u23bb\u0005\u05a6", + "\u02d4\u0002\u23bb\u0439\u0003\u0002\u0002\u0002\u23bc\u23be\tb\u0002", + "\u0002\u23bd\u23bf\u0007\u049c\u0002\u0002\u23be\u23bd\u0003\u0002\u0002", + "\u0002\u23be\u23bf\u0003\u0002\u0002\u0002\u23bf\u043b\u0003\u0002\u0002", + "\u0002\u23c0\u23c1\u0007\u04b9\u0002\u0002\u23c1\u23c9\u0007\u0094\u0002", + "\u0002\u23c2\u23c5\u0007\u08b1\u0002\u0002\u23c3\u23c6\u0005\u041e\u0210", + "\u0002\u23c4\u23c6\u0005\u04d2\u026a\u0002\u23c5\u23c3\u0003\u0002\u0002", + "\u0002\u23c5\u23c4\u0003\u0002\u0002\u0002\u23c5\u23c6\u0003\u0002\u0002", + "\u0002\u23c6\u23c7\u0003\u0002\u0002\u0002\u23c7\u23ca\u0007\u08b2\u0002", + "\u0002\u23c8\u23ca\u0005\u04d2\u026a\u0002\u23c9\u23c2\u0003\u0002\u0002", + "\u0002\u23c9\u23c8\u0003\u0002\u0002\u0002\u23ca\u043d\u0003\u0002\u0002", + "\u0002\u23cb\u23cc\u0007\u0832\u0002\u0002\u23cc\u23cd\u0007m\u0002", + "\u0002\u23cd\u23ce\tc\u0002\u0002\u23ce\u23d4\u0005\u04d4\u026b\u0002", + "\u23cf\u23d0\u0007?\u0002\u0002\u23d0\u23d1\u0007\u045d\u0002\u0002", + "\u23d1\u23d2\td\u0002\u0002\u23d2\u23d4\u0005\u04d4\u026b\u0002\u23d3", + "\u23cb\u0003\u0002\u0002\u0002\u23d3\u23cf\u0003\u0002\u0002\u0002\u23d4", + "\u043f\u0003\u0002\u0002\u0002\u23d5\u23d7\u0007\u04e7\u0002\u0002\u23d6", + "\u23d8\u0007\u0875\u0002\u0002\u23d7\u23d6\u0003\u0002\u0002\u0002\u23d7", + "\u23d8\u0003\u0002\u0002\u0002\u23d8\u23d9\u0003\u0002\u0002\u0002\u23d9", + "\u23da\u0007\u08b1\u0002\u0002\u23da\u23df\u0005\u0442\u0222\u0002\u23db", + "\u23dc\u0007\u08b7\u0002\u0002\u23dc\u23de\u0005\u0442\u0222\u0002\u23dd", + "\u23db\u0003\u0002\u0002\u0002\u23de\u23e1\u0003\u0002\u0002\u0002\u23df", + "\u23dd\u0003\u0002\u0002\u0002\u23df\u23e0\u0003\u0002\u0002\u0002\u23e0", + "\u23e2\u0003\u0002\u0002\u0002\u23e1\u23df\u0003\u0002\u0002\u0002\u23e2", + "\u23e3\u0005\u0444\u0223\u0002\u23e3\u23e4\u0005\u0446\u0224\u0002\u23e4", + "\u23e5\u0007\u08b2\u0002\u0002\u23e5\u0441\u0003\u0002\u0002\u0002\u23e6", + "\u23e7\u0005\u056e\u02b8\u0002\u23e7\u23e8\u0007\u08b1\u0002\u0002\u23e8", + "\u23e9\u0005\u04d4\u026b\u0002\u23e9\u23eb\u0007\u08b2\u0002\u0002\u23ea", + "\u23ec\u0005\u054a\u02a6\u0002\u23eb\u23ea\u0003\u0002\u0002\u0002\u23eb", + "\u23ec\u0003\u0002\u0002\u0002\u23ec\u0443\u0003\u0002\u0002\u0002\u23ed", + "\u23f0\u0007\u0224\u0002\u0002\u23ee\u23f1\u0005\u0592\u02ca\u0002\u23ef", + "\u23f1\u0005\u05a6\u02d4\u0002\u23f0\u23ee\u0003\u0002\u0002\u0002\u23f0", + "\u23ef\u0003\u0002\u0002\u0002\u23f1\u0445\u0003\u0002\u0002\u0002\u23f2", + "\u23f3\u0007\u028e\u0002\u0002\u23f3\u2405\u0007\u08b1\u0002\u0002\u23f4", + "\u2406\u0005\u041e\u0210\u0002\u23f5\u23fa\u00072\u0002\u0002\u23f6", + "\u23f7\u0007\u08b7\u0002\u0002\u23f7\u23f9\u00072\u0002\u0002\u23f8", + "\u23f6\u0003\u0002\u0002\u0002\u23f9\u23fc\u0003\u0002\u0002\u0002\u23fa", + "\u23f8\u0003\u0002\u0002\u0002\u23fa\u23fb\u0003\u0002\u0002\u0002\u23fb", + "\u2406\u0003\u0002\u0002\u0002\u23fc\u23fa\u0003\u0002\u0002\u0002\u23fd", + "\u2402\u0005\u0448\u0225\u0002\u23fe\u23ff\u0007\u08b7\u0002\u0002\u23ff", + "\u2401\u0005\u0448\u0225\u0002\u2400\u23fe\u0003\u0002\u0002\u0002\u2401", + "\u2404\u0003\u0002\u0002\u0002\u2402\u2400\u0003\u0002\u0002\u0002\u2402", + "\u2403\u0003\u0002\u0002\u0002\u2403\u2406\u0003\u0002\u0002\u0002\u2404", + "\u2402\u0003\u0002\u0002\u0002\u2405\u23f4\u0003\u0002\u0002\u0002\u2405", + "\u23f5\u0003\u0002\u0002\u0002\u2405\u23fd\u0003\u0002\u0002\u0002\u2406", + "\u2407\u0003\u0002\u0002\u0002\u2407\u2408\u0007\u08b2\u0002\u0002\u2408", + "\u0447\u0003\u0002\u0002\u0002\u2409\u240b\u0005\u044a\u0226\u0002\u240a", + "\u240c\u0005\u054a\u02a6\u0002\u240b\u240a\u0003\u0002\u0002\u0002\u240b", + "\u240c\u0003\u0002\u0002\u0002\u240c\u0449\u0003\u0002\u0002\u0002\u240d", + "\u2414\u0005\u04d4\u026b\u0002\u240e\u2410\u0007\u08b1\u0002\u0002\u240f", + "\u2411\u0005\u04d2\u026a\u0002\u2410\u240f\u0003\u0002\u0002\u0002\u2410", + "\u2411\u0003\u0002\u0002\u0002\u2411\u2412\u0003\u0002\u0002\u0002\u2412", + "\u2414\u0007\u08b2\u0002\u0002\u2413\u240d\u0003\u0002\u0002\u0002\u2413", + "\u240e\u0003\u0002\u0002\u0002\u2414\u044b\u0003\u0002\u0002\u0002\u2415", + "\u2418\u0007\u07df\u0002\u0002\u2416\u2417\te\u0002\u0002\u2417\u2419", + "\u0007\u044c\u0002\u0002\u2418\u2416\u0003\u0002\u0002\u0002\u2418\u2419", + "\u0003\u0002\u0002\u0002\u2419\u241a\u0003\u0002\u0002\u0002\u241a\u241d", + "\u0007\u08b1\u0002\u0002\u241b\u241e\u0005\u0592\u02ca\u0002\u241c\u241e", + "\u0005\u05a6\u02d4\u0002\u241d\u241b\u0003\u0002\u0002\u0002\u241d\u241c", + "\u0003\u0002\u0002\u0002\u241e\u241f\u0003\u0002\u0002\u0002\u241f\u2420", + "\u0005\u0444\u0223\u0002\u2420\u2421\u0005\u044e\u0228\u0002\u2421\u2422", + "\u0007\u08b2\u0002\u0002\u2422\u044d\u0003\u0002\u0002\u0002\u2423\u2424", + "\u0007\u028e\u0002\u0002\u2424\u2425\u0007\u08b1\u0002\u0002\u2425\u242a", + "\u0005\u0450\u0229\u0002\u2426\u2427\u0007\u08b7\u0002\u0002\u2427\u2429", + "\u0005\u0450\u0229\u0002\u2428\u2426\u0003\u0002\u0002\u0002\u2429\u242c", + "\u0003\u0002\u0002\u0002\u242a\u2428\u0003\u0002\u0002\u0002\u242a\u242b", + "\u0003\u0002\u0002\u0002\u242b\u242d\u0003\u0002\u0002\u0002\u242c\u242a", + "\u0003\u0002\u0002\u0002\u242d\u242e\u0007\u08b2\u0002\u0002\u242e\u044f", + "\u0003\u0002\u0002\u0002\u242f\u2432\u0005\u0592\u02ca\u0002\u2430\u2432", + "\u0005\u05a6\u02d4\u0002\u2431\u242f\u0003\u0002\u0002\u0002\u2431\u2430", + "\u0003\u0002\u0002\u0002\u2432\u2442\u0003\u0002\u0002\u0002\u2433\u2440", + "\u0007?\u0002\u0002\u2434\u2441\u0005\u05c8\u02e5\u0002\u2435\u2436", + "\u0007\u08b1\u0002\u0002\u2436\u243b\u0005\u05c8\u02e5\u0002\u2437\u2438", + "\u0007\u08b7\u0002\u0002\u2438\u243a\u0005\u05c8\u02e5\u0002\u2439\u2437", + "\u0003\u0002\u0002\u0002\u243a\u243d\u0003\u0002\u0002\u0002\u243b\u2439", + "\u0003\u0002\u0002\u0002\u243b\u243c\u0003\u0002\u0002\u0002\u243c\u243e", + "\u0003\u0002\u0002\u0002\u243d\u243b\u0003\u0002\u0002\u0002\u243e\u243f", + "\u0007\u08b2\u0002\u0002\u243f\u2441\u0003\u0002\u0002\u0002\u2440\u2434", + "\u0003\u0002\u0002\u0002\u2440\u2435\u0003\u0002\u0002\u0002\u2441\u2443", + "\u0003\u0002\u0002\u0002\u2442\u2433\u0003\u0002\u0002\u0002\u2442\u2443", + "\u0003\u0002\u0002\u0002\u2443\u0451\u0003\u0002\u0002\u0002\u2444\u2445", + "\u0007\u00fd\u0002\u0002\u2445\u2447\u0007\u0094\u0002\u0002\u2446\u2448", + "\u0007\u03c5\u0002\u0002\u2447\u2446\u0003\u0002\u0002\u0002\u2447\u2448", + "\u0003\u0002\u0002\u0002\u2448\u2449\u0003\u0002\u0002\u0002\u2449\u244b", + "\u0005\u04d0\u0269\u0002\u244a\u244c\u0005\u0454\u022b\u0002\u244b\u244a", + "\u0003\u0002\u0002\u0002\u244b\u244c\u0003\u0002\u0002\u0002\u244c\u2456", + "\u0003\u0002\u0002\u0002\u244d\u244e\u0005\u0454\u022b\u0002\u244e\u244f", + "\u0007\u00fd\u0002\u0002\u244f\u2451\u0007\u0094\u0002\u0002\u2450\u2452", + "\u0007\u03c5\u0002\u0002\u2451\u2450\u0003\u0002\u0002\u0002\u2451\u2452", + "\u0003\u0002\u0002\u0002\u2452\u2453\u0003\u0002\u0002\u0002\u2453\u2454", + "\u0005\u04d0\u0269\u0002\u2454\u2456\u0003\u0002\u0002\u0002\u2455\u2444", + "\u0003\u0002\u0002\u0002\u2455\u244d\u0003\u0002\u0002\u0002\u2456\u0453", + "\u0003\u0002\u0002\u0002\u2457\u2458\u0007\u0623\u0002\u0002\u2458\u2459", + "\u0007\u084b\u0002\u0002\u2459\u245a\u0005\u04d0\u0269\u0002\u245a\u0455", + "\u0003\u0002\u0002\u0002\u245b\u245c\u0007\u023f\u0002\u0002\u245c\u245d", + "\u0007\u0094\u0002\u0002\u245d\u2462\u0005\u0458\u022d\u0002\u245e\u245f", + "\u0007\u08b7\u0002\u0002\u245f\u2461\u0005\u0458\u022d\u0002\u2460\u245e", + "\u0003\u0002\u0002\u0002\u2461\u2464\u0003\u0002\u0002\u0002\u2462\u2460", + "\u0003\u0002\u0002\u0002\u2462\u2463\u0003\u0002\u0002\u0002\u2463\u2466", + "\u0003\u0002\u0002\u0002\u2464\u2462\u0003\u0002\u0002\u0002\u2465\u2467", + "\u0005\u0460\u0231\u0002\u2466\u2465\u0003\u0002\u0002\u0002\u2466\u2467", + "\u0003\u0002\u0002\u0002\u2467\u2476\u0003\u0002\u0002\u0002\u2468\u2473", + "\u0005\u0460\u0231\u0002\u2469\u246a\u0007\u023f\u0002\u0002\u246a\u246b", + "\u0007\u0094\u0002\u0002\u246b\u2470\u0005\u0458\u022d\u0002\u246c\u246d", + "\u0007\u08b7\u0002\u0002\u246d\u246f\u0005\u0458\u022d\u0002\u246e\u246c", + "\u0003\u0002\u0002\u0002\u246f\u2472\u0003\u0002\u0002\u0002\u2470\u246e", + "\u0003\u0002\u0002\u0002\u2470\u2471\u0003\u0002\u0002\u0002\u2471\u2474", + "\u0003\u0002\u0002\u0002\u2472\u2470\u0003\u0002\u0002\u0002\u2473\u2469", + "\u0003\u0002\u0002\u0002\u2473\u2474\u0003\u0002\u0002\u0002\u2474\u2476", + "\u0003\u0002\u0002\u0002\u2475\u245b\u0003\u0002\u0002\u0002\u2475\u2468", + "\u0003\u0002\u0002\u0002\u2476\u0457\u0003\u0002\u0002\u0002\u2477\u247b", + "\u0005\u045c\u022f\u0002\u2478\u247b\u0005\u045a\u022e\u0002\u2479\u247b", + "\u0005\u04d4\u026b\u0002\u247a\u2477\u0003\u0002\u0002\u0002\u247a\u2478", + "\u0003\u0002\u0002\u0002\u247a\u2479\u0003\u0002\u0002\u0002\u247b\u0459", + "\u0003\u0002\u0002\u0002\u247c\u247d\tf\u0002\u0002\u247d\u247e\u0007", + "\u08b1\u0002\u0002\u247e\u2483\u0005\u045e\u0230\u0002\u247f\u2480\u0007", + "\u08b7\u0002\u0002\u2480\u2482\u0005\u045e\u0230\u0002\u2481\u247f\u0003", + "\u0002\u0002\u0002\u2482\u2485\u0003\u0002\u0002\u0002\u2483\u2481\u0003", + "\u0002\u0002\u0002\u2483\u2484\u0003\u0002\u0002\u0002\u2484\u2486\u0003", + "\u0002\u0002\u0002\u2485\u2483\u0003\u0002\u0002\u0002\u2486\u2487\u0007", + "\u08b2\u0002\u0002\u2487\u045b\u0003\u0002\u0002\u0002\u2488\u2489\u0007", + "\u0241\u0002\u0002\u2489\u248a\u0007\u05e9\u0002\u0002\u248a\u248b\u0007", + "\u08b1\u0002\u0002\u248b\u2490\u0005\u045e\u0230\u0002\u248c\u248d\u0007", + "\u08b7\u0002\u0002\u248d\u248f\u0005\u045e\u0230\u0002\u248e\u248c\u0003", + "\u0002\u0002\u0002\u248f\u2492\u0003\u0002\u0002\u0002\u2490\u248e\u0003", + "\u0002\u0002\u0002\u2490\u2491\u0003\u0002\u0002\u0002\u2491\u2493\u0003", + "\u0002\u0002\u0002\u2492\u2490\u0003\u0002\u0002\u0002\u2493\u2494\u0007", + "\u08b2\u0002\u0002\u2494\u045d\u0003\u0002\u0002\u0002\u2495\u249d\u0005", + "\u045a\u022e\u0002\u2496\u2498\u0007\u08b1\u0002\u0002\u2497\u2499\u0005", + "\u04d2\u026a\u0002\u2498\u2497\u0003\u0002\u0002\u0002\u2498\u2499\u0003", + "\u0002\u0002\u0002\u2499\u249a\u0003\u0002\u0002\u0002\u249a\u249d\u0007", + "\u08b2\u0002\u0002\u249b\u249d\u0005\u04d4\u026b\u0002\u249c\u2495\u0003", + "\u0002\u0002\u0002\u249c\u2496\u0003\u0002\u0002\u0002\u249c\u249b\u0003", + "\u0002\u0002\u0002\u249d\u045f\u0003\u0002\u0002\u0002\u249e\u249f\u0007", + "\u024b\u0002\u0002\u249f\u24a0\u0005\u04d0\u0269\u0002\u24a0\u0461\u0003", + "\u0002\u0002\u0002\u24a1\u24a5\u0007\u0358\u0002\u0002\u24a2\u24a4\u0005", + "\u0464\u0233\u0002\u24a3\u24a2\u0003\u0002\u0002\u0002\u24a4\u24a7\u0003", + "\u0002\u0002\u0002\u24a5\u24a3\u0003\u0002\u0002\u0002\u24a5\u24a6\u0003", + "\u0002\u0002\u0002\u24a6\u24a9\u0003\u0002\u0002\u0002\u24a7\u24a5\u0003", + "\u0002\u0002\u0002\u24a8\u24aa\u0005\u0466\u0234\u0002\u24a9\u24a8\u0003", + "\u0002\u0002\u0002\u24a9\u24aa\u0003\u0002\u0002\u0002\u24aa\u24ae\u0003", + "\u0002\u0002\u0002\u24ab\u24ad\u0005\u0468\u0235\u0002\u24ac\u24ab\u0003", + "\u0002\u0002\u0002\u24ad\u24b0\u0003\u0002\u0002\u0002\u24ae\u24ac\u0003", + "\u0002\u0002\u0002\u24ae\u24af\u0003\u0002\u0002\u0002\u24af\u24b1\u0003", + "\u0002\u0002\u0002\u24b0\u24ae\u0003\u0002\u0002\u0002\u24b1\u24b2\u0005", + "\u046a\u0236\u0002\u24b2\u0463\u0003\u0002\u0002\u0002\u24b3\u24b4\t", + "g\u0002\u0002\u24b4\u24bc\u0007\u037a\u0002\u0002\u24b5\u24b9\u0007", + "\u07d4\u0002\u0002\u24b6\u24ba\u0007\u017b\u0002\u0002\u24b7\u24b8\u0007", + "\u05fd\u0002\u0002\u24b8\u24ba\u0007\u055f\u0002\u0002\u24b9\u24b6\u0003", + "\u0002\u0002\u0002\u24b9\u24b7\u0003\u0002\u0002\u0002\u24ba\u24bc\u0003", + "\u0002\u0002\u0002\u24bb\u24b3\u0003\u0002\u0002\u0002\u24bb\u24b5\u0003", + "\u0002\u0002\u0002\u24bc\u0465\u0003\u0002\u0002\u0002\u24bd\u24be\u0007", + "\u0599\u0002\u0002\u24be\u24bf\th\u0002\u0002\u24bf\u24c0\u0007\u05ae", + "\u0002\u0002\u24c0\u0467\u0003\u0002\u0002\u0002\u24c1\u24c2\u0007\u055f", + "\u0002\u0002\u24c2\u24c3\u0005\u0568\u02b5\u0002\u24c3\u24c4\u0007\u046a", + "\u0002\u0002\u24c4\u24c5\u0007\u08b1\u0002\u0002\u24c5\u24c6\u0005\u041e", + "\u0210\u0002\u24c6\u24c7\u0007\u08b2\u0002\u0002\u24c7\u24cb\u0005\u046c", + "\u0237\u0002\u24c8\u24ca\u0005\u0464\u0233\u0002\u24c9\u24c8\u0003\u0002", + "\u0002\u0002\u24ca\u24cd\u0003\u0002\u0002\u0002\u24cb\u24c9\u0003\u0002", + "\u0002\u0002\u24cb\u24cc\u0003\u0002\u0002\u0002\u24cc\u0469\u0003\u0002", + "\u0002\u0002\u24cd\u24cb\u0003\u0002\u0002\u0002\u24ce\u24cf\u0007\u031c", + "\u0002\u0002\u24cf\u24d1\u0005\u056a\u02b6\u0002\u24d0\u24ce\u0003\u0002", + "\u0002\u0002\u24d0\u24d1\u0003\u0002\u0002\u0002\u24d1\u24d2\u0003\u0002", + "\u0002\u0002\u24d2\u24d6\u0005\u046c\u0237\u0002\u24d3\u24d5\u0005\u0464", + "\u0233\u0002\u24d4\u24d3\u0003\u0002\u0002\u0002\u24d5\u24d8\u0003\u0002", + "\u0002\u0002\u24d6\u24d4\u0003\u0002\u0002\u0002\u24d6\u24d7\u0003\u0002", + "\u0002\u0002\u24d7\u24d9\u0003\u0002\u0002\u0002\u24d8\u24d6\u0003\u0002", + "\u0002\u0002\u24d9\u24da\u0005\u0474\u023b\u0002\u24da\u046b\u0003\u0002", + "\u0002\u0002\u24db\u24dd\u0005\u046e\u0238\u0002\u24dc\u24db\u0003\u0002", + "\u0002\u0002\u24dc\u24dd\u0003\u0002\u0002\u0002\u24dd\u24de\u0003\u0002", + "\u0002\u0002\u24de\u24df\u0007\u017b\u0002\u0002\u24df\u24e0\u0007\u0094", + "\u0002\u0002\u24e0\u24e1\u0005\u0470\u0239\u0002\u24e1\u24e2\u0007\u033a", + "\u0002\u0002\u24e2\u24e3\u0005\u0470\u0239\u0002\u24e3\u046d\u0003\u0002", + "\u0002\u0002\u24e4\u24e5\u0007\u04b9\u0002\u0002\u24e5\u24e6\u0007\u0094", + "\u0002\u0002\u24e6\u24e7\u0005\u0470\u0239\u0002\u24e7\u046f\u0003\u0002", + "\u0002\u0002\u24e8\u24e9\u0007\u08b1\u0002\u0002\u24e9\u24ee\u0005\u0472", + "\u023a\u0002\u24ea\u24eb\u0007\u08b7\u0002\u0002\u24eb\u24ed\u0005\u0472", + "\u023a\u0002\u24ec\u24ea\u0003\u0002\u0002\u0002\u24ed\u24f0\u0003\u0002", + "\u0002\u0002\u24ee\u24ec\u0003\u0002\u0002\u0002\u24ee\u24ef\u0003\u0002", + "\u0002\u0002\u24ef\u24f1\u0003\u0002\u0002\u0002\u24f0\u24ee\u0003\u0002", + "\u0002\u0002\u24f1\u24f2\u0007\u08b2\u0002\u0002\u24f2\u0471\u0003\u0002", + "\u0002\u0002\u24f3\u24f6\u0005\u04d4\u026b\u0002\u24f4\u24f6\u0005\u0424", + "\u0213\u0002\u24f5\u24f3\u0003\u0002\u0002\u0002\u24f5\u24f4\u0003\u0002", + "\u0002\u0002\u24f6\u24f8\u0003\u0002\u0002\u0002\u24f7\u24f9\u0005\u054a", + "\u02a6\u0002\u24f8\u24f7\u0003\u0002\u0002\u0002\u24f8\u24f9\u0003\u0002", + "\u0002\u0002\u24f9\u0473\u0003\u0002\u0002\u0002\u24fa\u24fc\u0005\u0476", + "\u023c\u0002\u24fb\u24fa\u0003\u0002\u0002\u0002\u24fb\u24fc\u0003\u0002", + "\u0002\u0002\u24fc\u24fd\u0003\u0002\u0002\u0002\u24fd\u2506\u0007\u08b1", + "\u0002\u0002\u24fe\u2503\u0005\u0478\u023d\u0002\u24ff\u2500\u0007\u08b7", + "\u0002\u0002\u2500\u2502\u0005\u0478\u023d\u0002\u2501\u24ff\u0003\u0002", + "\u0002\u0002\u2502\u2505\u0003\u0002\u0002\u0002\u2503\u2501\u0003\u0002", + "\u0002\u0002\u2503\u2504\u0003\u0002\u0002\u0002\u2504\u2507\u0003\u0002", + "\u0002\u0002\u2505\u2503\u0003\u0002\u0002\u0002\u2506\u24fe\u0003\u0002", + "\u0002\u0002\u2506\u2507\u0003\u0002\u0002\u0002\u2507\u2508\u0003\u0002", + "\u0002\u0002\u2508\u2509\u0007\u08b2\u0002\u0002\u2509\u0475\u0003\u0002", + "\u0002\u0002\u250a\u2510\u0007\u05b2\u0002\u0002\u250b\u2511\u0007\u07eb", + "\u0002\u0002\u250c\u250e\u0007\u07f1\u0002\u0002\u250d\u250f\u0007%", + "\u0002\u0002\u250e\u250d\u0003\u0002\u0002\u0002\u250e\u250f\u0003\u0002", + "\u0002\u0002\u250f\u2511\u0003\u0002\u0002\u0002\u2510\u250b\u0003\u0002", + "\u0002\u0002\u2510\u250c\u0003\u0002\u0002\u0002\u2510\u2511\u0003\u0002", + "\u0002\u0002\u2511\u2514\u0003\u0002\u0002\u0002\u2512\u2513\ti\u0002", + "\u0002\u2513\u2515\u0007\u0492\u0002\u0002\u2514\u2512\u0003\u0002\u0002", + "\u0002\u2514\u2515\u0003\u0002\u0002\u0002\u2515\u2517\u0003\u0002\u0002", + "\u0002\u2516\u2518\u0005\u047c\u023f\u0002\u2517\u2516\u0003\u0002\u0002", + "\u0002\u2517\u2518\u0003\u0002\u0002\u0002\u2518\u0477\u0003\u0002\u0002", + "\u0002\u2519\u251f\u0007\u07eb\u0002\u0002\u251a\u251c\u0007\u07f1\u0002", + "\u0002\u251b\u251d\u0007%\u0002\u0002\u251c\u251b\u0003\u0002\u0002", + "\u0002\u251c\u251d\u0003\u0002\u0002\u0002\u251d\u251f\u0003\u0002\u0002", + "\u0002\u251e\u2519\u0003\u0002\u0002\u0002\u251e\u251a\u0003\u0002\u0002", + "\u0002\u251e\u251f\u0003\u0002\u0002\u0002\u251f\u2520\u0003\u0002\u0002", + "\u0002\u2520\u2522\u0005\u047a\u023e\u0002\u2521\u2523\u0005\u0480\u0241", + "\u0002\u2522\u2521\u0003\u0002\u0002\u0002\u2522\u2523\u0003\u0002\u0002", + "\u0002\u2523\u2524\u0003\u0002\u0002\u0002\u2524\u2525\u0007\u08c5\u0002", + "\u0002\u2525\u2526\u0005\u04d4\u026b\u0002\u2526\u0479\u0003\u0002\u0002", + "\u0002\u2527\u2528\u0005\u04ee\u0278\u0002\u2528\u047b\u0003\u0002\u0002", + "\u0002\u2529\u252a\u0007\u02bc\u0002\u0002\u252a\u252b\u0007\u08b1\u0002", + "\u0002\u252b\u252c\u0005\u04d4\u026b\u0002\u252c\u252e\u0007\u08b2\u0002", + "\u0002\u252d\u252f\u0005\u047e\u0240\u0002\u252e\u252d\u0003\u0002\u0002", + "\u0002\u252e\u252f\u0003\u0002\u0002\u0002\u252f\u047d\u0003\u0002\u0002", + "\u0002\u2530\u2531\u0007\u07e6\u0002\u0002\u2531\u2532\u0007\u08b1\u0002", + "\u0002\u2532\u2533\u0005\u04d0\u0269\u0002\u2533\u2534\u0007\u08b2\u0002", + "\u0002\u2534\u047f\u0003\u0002\u0002\u0002\u2535\u2537\u0007\u0492\u0002", + "\u0002\u2536\u2538\u0007\u05f5\u0002\u0002\u2537\u2536\u0003\u0002\u0002", + "\u0002\u2537\u2538\u0003\u0002\u0002\u0002\u2538\u2539\u0003\u0002\u0002", + "\u0002\u2539\u253a\u0007\u0094\u0002\u0002\u253a\u253f\u0005\u0482\u0242", + "\u0002\u253b\u253c\u0007\u08b7\u0002\u0002\u253c\u253e\u0005\u0482\u0242", + "\u0002\u253d\u253b\u0003\u0002\u0002\u0002\u253e\u2541\u0003\u0002\u0002", + "\u0002\u253f\u253d\u0003\u0002\u0002\u0002\u253f\u2540\u0003\u0002\u0002", + "\u0002\u2540\u0481\u0003\u0002\u0002\u0002\u2541\u253f\u0003\u0002\u0002", + "\u0002\u2542\u2544\u0005\u04d4\u026b\u0002\u2543\u2545\t\u0016\u0002", + "\u0002\u2544\u2543\u0003\u0002\u0002\u0002\u2544\u2545\u0003\u0002\u0002", + "\u0002\u2545\u2548\u0003\u0002\u0002\u0002\u2546\u2547\u0007\u044c\u0002", + "\u0002\u2547\u2549\tj\u0002\u0002\u2548\u2546\u0003\u0002\u0002\u0002", + "\u2548\u2549\u0003\u0002\u0002\u0002\u2549\u0483\u0003\u0002\u0002\u0002", + "\u254a\u254b\u0007\u045c\u0002\u0002\u254b\u254c\u0005\u04d4\u026b\u0002", + "\u254c\u254d\tk\u0002\u0002\u254d\u0485\u0003\u0002\u0002\u0002\u254e", + "\u254f\u0007\u0208\u0002\u0002\u254f\u2554\tl\u0002\u0002\u2550\u2552", + "\u0005\u04d4\u026b\u0002\u2551\u2553\u0007\u04d6\u0002\u0002\u2552\u2551", + "\u0003\u0002\u0002\u0002\u2552\u2553\u0003\u0002\u0002\u0002\u2553\u2555", + "\u0003\u0002\u0002\u0002\u2554\u2550\u0003\u0002\u0002\u0002\u2554\u2555", + "\u0003\u0002\u0002\u0002\u2555\u2556\u0003\u0002\u0002\u0002\u2556\u255a", + "\tk\u0002\u0002\u2557\u255b\u0007\u0469\u0002\u0002\u2558\u2559\u0007", + "\u084b\u0002\u0002\u2559\u255b\u0007\u078c\u0002\u0002\u255a\u2557\u0003", + "\u0002\u0002\u0002\u255a\u2558\u0003\u0002\u0002\u0002\u255b\u0487\u0003", + "\u0002\u0002\u0002\u255c\u255d\u0007\u0224\u0002\u0002\u255d\u255f\u0007", + "\u07eb\u0002\u0002\u255e\u2560\u0005\u048a\u0246\u0002\u255f\u255e\u0003", + "\u0002\u0002\u0002\u255f\u2560\u0003\u0002\u0002\u0002\u2560\u2562\u0003", + "\u0002\u0002\u0002\u2561\u2563\u0005\u048c\u0247\u0002\u2562\u2561\u0003", + "\u0002\u0002\u0002\u2562\u2563\u0003\u0002\u0002\u0002\u2563\u0489\u0003", + "\u0002\u0002\u0002\u2564\u2565\u0007\u045d\u0002\u0002\u2565\u2566\u0005", + "\u05a4\u02d3\u0002\u2566\u048b\u0003\u0002\u0002\u0002\u2567\u2568\u0007", + "\u0603\u0002\u0002\u2568\u256d\u0007\u0308\u0002\u0002\u2569\u256d\u0007", + "\u0442\u0002\u0002\u256a\u256b\u0007\u083c\u0002\u0002\u256b\u256d\u0005", + "\u04d4\u026b\u0002\u256c\u2567\u0003\u0002\u0002\u0002\u256c\u2569\u0003", + "\u0002\u0002\u0002\u256c\u256a\u0003\u0002\u0002\u0002\u256d\u048d\u0003", + "\u0002\u0002\u0002\u256e\u256f\u0007\u07eb\u0002\u0002\u256f\u2570\u0005", + "\u04bc\u025f\u0002\u2570\u2572\u0005\u0490\u0249\u0002\u2571\u2573\u0005", + "\u054e\u02a8\u0002\u2572\u2571\u0003\u0002\u0002\u0002\u2572\u2573\u0003", + "\u0002\u0002\u0002\u2573\u2575\u0003\u0002\u0002\u0002\u2574\u2576\u0005", + "\u04be\u0260\u0002\u2575\u2574\u0003\u0002\u0002\u0002\u2575\u2576\u0003", + "\u0002\u0002\u0002\u2576\u2578\u0003\u0002\u0002\u0002\u2577\u2579\u0005", + "\u04c0\u0261\u0002\u2578\u2577\u0003\u0002\u0002\u0002\u2578\u2579\u0003", + "\u0002\u0002\u0002\u2579\u048f\u0003\u0002\u0002\u0002\u257a\u258a\u0007", + "\u05e8\u0002\u0002\u257b\u2580\u0005\u0492\u024a\u0002\u257c\u257d\u0007", + "\u08b7\u0002\u0002\u257d\u257f\u0005\u0492\u024a\u0002\u257e\u257c\u0003", + "\u0002\u0002\u0002\u257f\u2582\u0003\u0002\u0002\u0002\u2580\u257e\u0003", + "\u0002\u0002\u0002\u2580\u2581\u0003\u0002\u0002\u0002\u2581\u258b\u0003", + "\u0002\u0002\u0002\u2582\u2580\u0003\u0002\u0002\u0002\u2583\u2584\u0007", + "\u081c\u0002\u0002\u2584\u2585\u0007\u08b1\u0002\u0002\u2585\u2586\u0005", + "\u05d0\u02e9\u0002\u2586\u2587\u0007\u08b2\u0002\u0002\u2587\u2588\u0007", + "\u08c5\u0002\u0002\u2588\u2589\u0005\u04d4\u026b\u0002\u2589\u258b\u0003", + "\u0002\u0002\u0002\u258a\u257b\u0003\u0002\u0002\u0002\u258a\u2583\u0003", + "\u0002\u0002\u0002\u258b\u0491\u0003\u0002\u0002\u0002\u258c\u258d\u0005", + "\u0592\u02ca\u0002\u258d\u258e\u0007\u08c5\u0002\u0002\u258e\u258f\u0005", + "\u04d4\u026b\u0002\u258f\u2595\u0003\u0002\u0002\u0002\u2590\u2591\u0005", + "\u05a6\u02d4\u0002\u2591\u2592\u0007\u08c5\u0002\u0002\u2592\u2593\u0005", + "\u041e\u0210\u0002\u2593\u2595\u0003\u0002\u0002\u0002\u2594\u258c\u0003", + "\u0002\u0002\u0002\u2594\u2590\u0003\u0002\u0002\u0002\u2595\u0493\u0003", + "\u0002\u0002\u0002\u2596\u2598\u0007\u016c\u0002\u0002\u2597\u2599\u0007", + "\u022c\u0002\u0002\u2598\u2597\u0003\u0002\u0002\u0002\u2598\u2599\u0003", + "\u0002\u0002\u0002\u2599\u259a\u0003\u0002\u0002\u0002\u259a\u259c\u0005", + "\u04bc\u025f\u0002\u259b\u259d\u0005\u054e\u02a8\u0002\u259c\u259b\u0003", + "\u0002\u0002\u0002\u259c\u259d\u0003\u0002\u0002\u0002\u259d\u259f\u0003", + "\u0002\u0002\u0002\u259e\u25a0\u0005\u04be\u0260\u0002\u259f\u259e\u0003", + "\u0002\u0002\u0002\u259f\u25a0\u0003\u0002\u0002\u0002\u25a0\u25a2\u0003", + "\u0002\u0002\u0002\u25a1\u25a3\u0005\u04c0\u0261\u0002\u25a2\u25a1\u0003", + "\u0002\u0002\u0002\u25a2\u25a3\u0003\u0002\u0002\u0002\u25a3\u0495\u0003", + "\u0002\u0002\u0002\u25a4\u25a7\u0007\u029f\u0002\u0002\u25a5\u25a8\u0005", + "\u0498\u024d\u0002\u25a6\u25a8\u0005\u049a\u024e\u0002\u25a7\u25a5\u0003", + "\u0002\u0002\u0002\u25a7\u25a6\u0003\u0002\u0002\u0002\u25a8\u0497\u0003", + "\u0002\u0002\u0002\u25a9\u25af\u0005\u04a4\u0253\u0002\u25aa\u25ac\u0005", + "\u04a6\u0254\u0002\u25ab\u25ad\u0005\u04be\u0260\u0002\u25ac\u25ab\u0003", + "\u0002\u0002\u0002\u25ac\u25ad\u0003\u0002\u0002\u0002\u25ad\u25b0\u0003", + "\u0002\u0002\u0002\u25ae\u25b0\u0005\u0414\u020b\u0002\u25af\u25aa\u0003", + "\u0002\u0002\u0002\u25af\u25ae\u0003\u0002\u0002\u0002\u25b0\u25b2\u0003", + "\u0002\u0002\u0002\u25b1\u25b3\u0005\u04c0\u0261\u0002\u25b2\u25b1\u0003", + "\u0002\u0002\u0002\u25b2\u25b3\u0003\u0002\u0002\u0002\u25b3\u0499\u0003", + "\u0002\u0002\u0002\u25b4\u25b6\u0007%\u0002\u0002\u25b5\u25b7\u0005", + "\u049c\u024f\u0002\u25b6\u25b5\u0003\u0002\u0002\u0002\u25b7\u25b8\u0003", + "\u0002\u0002\u0002\u25b8\u25b6\u0003\u0002\u0002\u0002\u25b8\u25b9\u0003", + "\u0002\u0002\u0002\u25b9\u25bc\u0003\u0002\u0002\u0002\u25ba\u25bc\u0005", + "\u049e\u0250\u0002\u25bb\u25b4\u0003\u0002\u0002\u0002\u25bb\u25ba\u0003", + "\u0002\u0002\u0002\u25bc\u25bd\u0003\u0002\u0002\u0002\u25bd\u25be\u0005", + "\u0414\u020b\u0002\u25be\u049b\u0003\u0002\u0002\u0002\u25bf\u25c1\u0005", + "\u04a4\u0253\u0002\u25c0\u25c2\u0005\u04a6\u0254\u0002\u25c1\u25c0\u0003", + "\u0002\u0002\u0002\u25c1\u25c2\u0003\u0002\u0002\u0002\u25c2\u25c4\u0003", + "\u0002\u0002\u0002\u25c3\u25c5\u0005\u04c0\u0261\u0002\u25c4\u25c3\u0003", + "\u0002\u0002\u0002\u25c4\u25c5\u0003\u0002\u0002\u0002\u25c5\u049d\u0003", + "\u0002\u0002\u0002\u25c6\u25c8\tm\u0002\u0002\u25c7\u25c6\u0003\u0002", + "\u0002\u0002\u25c7\u25c8\u0003\u0002\u0002\u0002\u25c8\u25ca\u0003\u0002", + "\u0002\u0002\u25c9\u25cb\u0005\u04a0\u0251\u0002\u25ca\u25c9\u0003\u0002", + "\u0002\u0002\u25cb\u25cc\u0003\u0002\u0002\u0002\u25cc\u25ca\u0003\u0002", + "\u0002\u0002\u25cc\u25cd\u0003\u0002\u0002\u0002\u25cd\u25cf\u0003\u0002", + "\u0002\u0002\u25ce\u25d0\u0005\u04a2\u0252\u0002\u25cf\u25ce\u0003\u0002", + "\u0002\u0002\u25cf\u25d0\u0003\u0002\u0002\u0002\u25d0\u049f\u0003\u0002", + "\u0002\u0002\u25d1\u25d2\u0007\u0843\u0002\u0002\u25d2\u25d3\u0005\u04d0", + "\u0269\u0002\u25d3\u25d5\u0007\u0787\u0002\u0002\u25d4\u25d6\u0005\u049c", + "\u024f\u0002\u25d5\u25d4\u0003\u0002\u0002\u0002\u25d6\u25d7\u0003\u0002", + "\u0002\u0002\u25d7\u25d5\u0003\u0002\u0002\u0002\u25d7\u25d8\u0003\u0002", + "\u0002\u0002\u25d8\u04a1\u0003\u0002\u0002\u0002\u25d9\u25db\u0007\u01b2", + "\u0002\u0002\u25da\u25dc\u0005\u049c\u024f\u0002\u25db\u25da\u0003\u0002", + "\u0002\u0002\u25dc\u25dd\u0003\u0002\u0002\u0002\u25dd\u25db\u0003\u0002", + "\u0002\u0002\u25dd\u25de\u0003\u0002\u0002\u0002\u25de\u04a3\u0003\u0002", + "\u0002\u0002\u25df\u25e0\u0007\u02b5\u0002\u0002\u25e0\u25e2\u0005\u04bc", + "\u025f\u0002\u25e1\u25e3\u0005\u05a6\u02d4\u0002\u25e2\u25e1\u0003\u0002", + "\u0002\u0002\u25e2\u25e3\u0003\u0002\u0002\u0002\u25e3\u04a5\u0003\u0002", + "\u0002\u0002\u25e4\u25e5\u0007\u081b\u0002\u0002\u25e5\u25e7\u0007\u08b1", + "\u0002\u0002\u25e6\u25e8\u0005\u04d2\u026a\u0002\u25e7\u25e6\u0003\u0002", + "\u0002\u0002\u25e7\u25e8\u0003\u0002\u0002\u0002\u25e8\u25e9\u0003\u0002", + "\u0002\u0002\u25e9\u25ea\u0007\u08b2\u0002\u0002\u25ea\u04a7\u0003\u0002", + "\u0002\u0002\u25eb\u25ec\u0007\u0342\u0002\u0002\u25ec\u25ed\u0007\u02b5", + "\u0002\u0002\u25ed\u25ef\u0005\u0594\u02cb\u0002\u25ee\u25f0\u0005\u054c", + "\u02a7\u0002\u25ef\u25ee\u0003\u0002\u0002\u0002\u25ef\u25f0\u0003\u0002", + "\u0002\u0002\u25f0\u25f1\u0003\u0002\u0002\u0002\u25f1\u25f2\u0007\u0811", + "\u0002\u0002\u25f2\u25f3\u0005\u04b2\u025a\u0002\u25f3\u25f4\u0007\u046a", + "\u0002\u0002\u25f4\u25f5\u0007\u08b1\u0002\u0002\u25f5\u25f6\u0005\u04d0", + "\u0269\u0002\u25f6\u25ff\u0007\u08b2\u0002\u0002\u25f7\u25f9\u0005\u04aa", + "\u0256\u0002\u25f8\u25fa\u0005\u04b0\u0259\u0002\u25f9\u25f8\u0003\u0002", + "\u0002\u0002\u25f9\u25fa\u0003\u0002\u0002\u0002\u25fa\u2600\u0003\u0002", + "\u0002\u0002\u25fb\u25fd\u0005\u04b0\u0259\u0002\u25fc\u25fe\u0005\u04aa", + "\u0256\u0002\u25fd\u25fc\u0003\u0002\u0002\u0002\u25fd\u25fe\u0003\u0002", + "\u0002\u0002\u25fe\u2600\u0003\u0002\u0002\u0002\u25ff\u25f7\u0003\u0002", + "\u0002\u0002\u25ff\u25fb\u0003\u0002\u0002\u0002\u25ff\u2600\u0003\u0002", + "\u0002\u0002\u2600\u2602\u0003\u0002\u0002\u0002\u2601\u2603\u0005\u04c0", + "\u0261\u0002\u2602\u2601\u0003\u0002\u0002\u0002\u2602\u2603\u0003\u0002", + "\u0002\u0002\u2603\u04a9\u0003\u0002\u0002\u0002\u2604\u2605\u0007\u0843", + "\u0002\u0002\u2605\u2606\u0007\u0326\u0002\u0002\u2606\u2607\u0007\u0787", + "\u0002\u0002\u2607\u2608\u0007\u07eb\u0002\u0002\u2608\u2609\u0007\u05e8", + "\u0002\u0002\u2609\u260e\u0005\u04ac\u0257\u0002\u260a\u260b\u0007\u08b7", + "\u0002\u0002\u260b\u260d\u0005\u04ac\u0257\u0002\u260c\u260a\u0003\u0002", + "\u0002\u0002\u260d\u2610\u0003\u0002\u0002\u0002\u260e\u260c\u0003\u0002", + "\u0002\u0002\u260e\u260f\u0003\u0002\u0002\u0002\u260f\u2612\u0003\u0002", + "\u0002\u0002\u2610\u260e\u0003\u0002\u0002\u0002\u2611\u2613\u0005\u054e", + "\u02a8\u0002\u2612\u2611\u0003\u0002\u0002\u0002\u2612\u2613\u0003\u0002", + "\u0002\u0002\u2613\u2615\u0003\u0002\u0002\u0002\u2614\u2616\u0005\u04ae", + "\u0258\u0002\u2615\u2614\u0003\u0002\u0002\u0002\u2615\u2616\u0003\u0002", + "\u0002\u0002\u2616\u04ab\u0003\u0002\u0002\u0002\u2617\u2618\u0005\u0592", + "\u02ca\u0002\u2618\u2619\u0007\u08c5\u0002\u0002\u2619\u261a\u0005\u04d4", + "\u026b\u0002\u261a\u04ad\u0003\u0002\u0002\u0002\u261b\u261c\u0007\u016c", + "\u0002\u0002\u261c\u261d\u0005\u054e\u02a8\u0002\u261d\u04af\u0003\u0002", + "\u0002\u0002\u261e\u261f\u0007\u0843\u0002\u0002\u261f\u2620\u0007\u0433", + "\u0002\u0002\u2620\u2621\u0007\u0326\u0002\u0002\u2621\u2622\u0007\u0787", + "\u0002\u0002\u2622\u2624\u0007\u029f\u0002\u0002\u2623\u2625\u0005\u05a6", + "\u02d4\u0002\u2624\u2623\u0003\u0002\u0002\u0002\u2624\u2625\u0003\u0002", + "\u0002\u0002\u2625\u2626\u0003\u0002\u0002\u0002\u2626\u2627\u0007\u081b", + "\u0002\u0002\u2627\u2629\u0007\u08b1\u0002\u0002\u2628\u262a\u0005\u04d2", + "\u026a\u0002\u2629\u2628\u0003\u0002\u0002\u0002\u2629\u262a\u0003\u0002", + "\u0002\u0002\u262a\u262b\u0003\u0002\u0002\u0002\u262b\u262d\u0007\u08b2", + "\u0002\u0002\u262c\u262e\u0005\u054e\u02a8\u0002\u262d\u262c\u0003\u0002", + "\u0002\u0002\u262d\u262e\u0003\u0002\u0002\u0002\u262e\u04b1\u0003\u0002", + "\u0002\u0002\u262f\u2635\u0005\u0594\u02cb\u0002\u2630\u2631\u0007\u08b1", + "\u0002\u0002\u2631\u2632\u0005\u0414\u020b\u0002\u2632\u2633\u0007\u08b2", + "\u0002\u0002\u2633\u2635\u0003\u0002\u0002\u0002\u2634\u262f\u0003\u0002", + "\u0002\u0002\u2634\u2630\u0003\u0002\u0002\u0002\u2635\u2637\u0003\u0002", + "\u0002\u0002\u2636\u2638\u0005\u054c\u02a7\u0002\u2637\u2636\u0003\u0002", + "\u0002\u0002\u2637\u2638\u0003\u0002\u0002\u0002\u2638\u04b3\u0003\u0002", + "\u0002\u0002\u2639\u263a\u0007\u030a\u0002\u0002\u263a\u263b\u0007\u077a", + "\u0002\u0002\u263b\u2640\u0005\u04b8\u025d\u0002\u263c\u263d\u0007\u08b7", + "\u0002\u0002\u263d\u263f\u0005\u04b8\u025d\u0002\u263e\u263c\u0003\u0002", + "\u0002\u0002\u263f\u2642\u0003\u0002\u0002\u0002\u2640\u263e\u0003\u0002", + "\u0002\u0002\u2640\u2641\u0003\u0002\u0002\u0002\u2641\u2643\u0003\u0002", + "\u0002\u0002\u2642\u2640\u0003\u0002\u0002\u0002\u2643\u2644\u0007\u028e", + "\u0002\u0002\u2644\u2645\u0005\u04ba\u025e\u0002\u2645\u2647\u0007\u035e", + "\u0002\u0002\u2646\u2648\u0005\u04b6\u025c\u0002\u2647\u2646\u0003\u0002", + "\u0002\u0002\u2647\u2648\u0003\u0002\u0002\u0002\u2648\u04b5\u0003\u0002", + "\u0002\u0002\u2649\u264a\u0007\u083c\u0002\u0002\u264a\u264d\u0005\u04d4", + "\u026b\u0002\u264b\u264d\u0007\u0442\u0002\u0002\u264c\u2649\u0003\u0002", + "\u0002\u0002\u264c\u264b\u0003\u0002\u0002\u0002\u264d\u04b7\u0003\u0002", + "\u0002\u0002\u264e\u2650\u0005\u0594\u02cb\u0002\u264f\u2651\u0005\u0548", + "\u02a5\u0002\u2650\u264f\u0003\u0002\u0002\u0002\u2650\u2651\u0003\u0002", + "\u0002\u0002\u2651\u04b9\u0003\u0002\u0002\u0002\u2652\u2653\u0007\u05ad", + "\u0002\u0002\u2653\u265f\u0007\u05ef\u0002\u0002\u2654\u2655\u0007\u05ad", + "\u0002\u0002\u2655\u265f\u0007\u01dc\u0002\u0002\u2656\u2658\u0007\u05ef", + "\u0002\u0002\u2657\u2659\u0007\u07eb\u0002\u0002\u2658\u2657\u0003\u0002", + "\u0002\u0002\u2658\u2659\u0003\u0002\u0002\u0002\u2659\u265f\u0003\u0002", + "\u0002\u0002\u265a\u265b\u0007\u05ef\u0002\u0002\u265b\u265c\u0007\u05ad", + "\u0002\u0002\u265c\u265f\u0007\u01dc\u0002\u0002\u265d\u265f\u0007\u01dc", + "\u0002\u0002\u265e\u2652\u0003\u0002\u0002\u0002\u265e\u2654\u0003\u0002", + "\u0002\u0002\u265e\u2656\u0003\u0002\u0002\u0002\u265e\u265a\u0003\u0002", + "\u0002\u0002\u265e\u265d\u0003\u0002\u0002\u0002\u265f\u04bb\u0003\u0002", + "\u0002\u0002\u2660\u2667\u0005\u04c6\u0264\u0002\u2661\u2662\u0007\u0469", + "\u0002\u0002\u2662\u2663\u0007\u08b1\u0002\u0002\u2663\u2664\u0005\u04c6", + "\u0264\u0002\u2664\u2665\u0007\u08b2\u0002\u0002\u2665\u2667\u0003\u0002", + "\u0002\u0002\u2666\u2660\u0003\u0002\u0002\u0002\u2666\u2661\u0003\u0002", + "\u0002\u0002\u2667\u2669\u0003\u0002\u0002\u0002\u2668\u266a\u0005\u054c", + "\u02a7\u0002\u2669\u2668\u0003\u0002\u0002\u0002\u2669\u266a\u0003\u0002", + "\u0002\u0002\u266a\u04bd\u0003\u0002\u0002\u0002\u266b\u266c\t\\\u0002", + "\u0002\u266c\u266d\u0005\u04d2\u026a\u0002\u266d\u266e\u0005\u0550\u02a9", + "\u0002\u266e\u04bf\u0003\u0002\u0002\u0002\u266f\u2670\u0007\u0311\u0002", + "\u0002\u2670\u2672\u0007\u01cc\u0002\u0002\u2671\u2673\u0005\u04c2\u0262", + "\u0002\u2672\u2671\u0003\u0002\u0002\u0002\u2672\u2673\u0003\u0002\u0002", + "\u0002\u2673\u2675\u0003\u0002\u0002\u0002\u2674\u2676\u0005\u04d4\u026b", + "\u0002\u2675\u2674\u0003\u0002\u0002\u0002\u2675\u2676\u0003\u0002\u0002", + "\u0002\u2676\u2678\u0003\u0002\u0002\u0002\u2677\u2679\u0005\u04c4\u0263", + "\u0002\u2678\u2677\u0003\u0002\u0002\u0002\u2678\u2679\u0003\u0002\u0002", + "\u0002\u2679\u04c1\u0003\u0002\u0002\u0002\u267a\u267b\u0007\u02b5\u0002", + "\u0002\u267b\u267c\u0005\u0594\u02cb\u0002\u267c\u04c3\u0003\u0002\u0002", + "\u0002\u267d\u267e\u0007\u0575\u0002\u0002\u267e\u2681\u0007\u02f8\u0002", + "\u0002\u267f\u2682\u0007\u07d6\u0002\u0002\u2680\u2682\u0005\u04d4\u026b", + "\u0002\u2681\u267f\u0003\u0002\u0002\u0002\u2681\u2680\u0003\u0002\u0002", + "\u0002\u2682\u04c5\u0003\u0002\u0002\u0002\u2683\u2690\u0005\u04c8\u0265", + "\u0002\u2684\u2685\u0007\u08b1\u0002\u0002\u2685\u2687\u0005\u0414\u020b", + "\u0002\u2686\u2688\u0005\u04ca\u0266\u0002\u2687\u2686\u0003\u0002\u0002", + "\u0002\u2687\u2688\u0003\u0002\u0002\u0002\u2688\u2689\u0003\u0002\u0002", + "\u0002\u2689\u268a\u0007\u08b2\u0002\u0002\u268a\u2690\u0003\u0002\u0002", + "\u0002\u268b\u268d\u0005\u0594\u02cb\u0002\u268c\u268e\u0005\u04cc\u0267", + "\u0002\u268d\u268c\u0003\u0002\u0002\u0002\u268d\u268e\u0003\u0002\u0002", + "\u0002\u268e\u2690\u0003\u0002\u0002\u0002\u268f\u2683\u0003\u0002\u0002", + "\u0002\u268f\u2684\u0003\u0002\u0002\u0002\u268f\u268b\u0003\u0002\u0002", + "\u0002\u2690\u04c7\u0003\u0002\u0002\u0002\u2691\u269c\tn\u0002\u0002", + "\u2692\u2693\u0007\u08b1\u0002\u0002\u2693\u2694\u0005\u041e\u0210\u0002", + "\u2694\u2695\u0007\u08b2\u0002\u0002\u2695\u269d\u0003\u0002\u0002\u0002", + "\u2696\u2697\u0007\u08b1\u0002\u0002\u2697\u2698\u0005\u04d4\u026b\u0002", + "\u2698\u269a\u0007\u08b2\u0002\u0002\u2699\u269b\u0005\u05d4\u02eb\u0002", + "\u269a\u2699\u0003\u0002\u0002\u0002\u269a\u269b\u0003\u0002\u0002\u0002", + "\u269b\u269d\u0003\u0002\u0002\u0002\u269c\u2692\u0003\u0002\u0002\u0002", + "\u269c\u2696\u0003\u0002\u0002\u0002\u269d\u04c9\u0003\u0002\u0002\u0002", + "\u269e\u26a7\u0007\u084b\u0002\u0002\u269f\u26a0\u0007\u054b\u0002\u0002", + "\u26a0\u26a8\u0007\u0469\u0002\u0002\u26a1\u26a2\u0007\u00b6\u0002\u0002", + "\u26a2\u26a5\u0007\u0477\u0002\u0002\u26a3\u26a4\u0007\u0103\u0002\u0002", + "\u26a4\u26a6\u0005\u0576\u02bc\u0002\u26a5\u26a3\u0003\u0002\u0002\u0002", + "\u26a5\u26a6\u0003\u0002\u0002\u0002\u26a6\u26a8\u0003\u0002\u0002\u0002", + "\u26a7\u269f\u0003\u0002\u0002\u0002\u26a7\u26a1\u0003\u0002\u0002\u0002", + "\u26a8\u04cb\u0003\u0002\u0002\u0002\u26a9\u26ab\u0007\u05b5\u0002\u0002", + "\u26aa\u26ac\u0007\u0083\u0002\u0002\u26ab\u26aa\u0003\u0002\u0002\u0002", + "\u26ab\u26ac\u0003\u0002\u0002\u0002\u26ac\u26ad\u0003\u0002\u0002\u0002", + "\u26ad\u26ae\u0007\u08b1\u0002\u0002\u26ae\u26b1\u0005\u04d4\u026b\u0002", + "\u26af\u26b0\u0007\u08b7\u0002\u0002\u26b0\u26b2\u0005\u04d4\u026b\u0002", + "\u26b1\u26af\u0003\u0002\u0002\u0002\u26b1\u26b2\u0003\u0002\u0002\u0002", + "\u26b2\u26b3\u0003\u0002\u0002\u0002\u26b3\u26b5\u0007\u08b2\u0002\u0002", + "\u26b4\u26b6\u0005\u04ce\u0268\u0002\u26b5\u26b4\u0003\u0002\u0002\u0002", + "\u26b5\u26b6\u0003\u0002\u0002\u0002\u26b6\u04cd\u0003\u0002\u0002\u0002", + "\u26b7\u26b8\u0007\u05cf\u0002\u0002\u26b8\u26b9\u0007\u08b1\u0002\u0002", + "\u26b9\u26ba\u0005\u04d4\u026b\u0002\u26ba\u26bb\u0007\u08b2\u0002\u0002", + "\u26bb\u04cf\u0003\u0002\u0002\u0002\u26bc\u26bd\u0005\u04d4\u026b\u0002", + "\u26bd\u04d1\u0003\u0002\u0002\u0002\u26be\u26c3\u0005\u04d4\u026b\u0002", + "\u26bf\u26c0\u0007\u08b7\u0002\u0002\u26c0\u26c2\u0005\u04d4\u026b\u0002", + "\u26c1\u26bf\u0003\u0002\u0002\u0002\u26c2\u26c5\u0003\u0002\u0002\u0002", + "\u26c3\u26c1\u0003\u0002\u0002\u0002\u26c3\u26c4\u0003\u0002\u0002\u0002", + "\u26c4\u04d3\u0003\u0002\u0002\u0002\u26c5\u26c3\u0003\u0002\u0002\u0002", + "\u26c6\u26c9\u0005\u04d6\u026c\u0002\u26c7\u26c9\u0005\u04d8\u026d\u0002", + "\u26c8\u26c6\u0003\u0002\u0002\u0002\u26c8\u26c7\u0003\u0002\u0002\u0002", + "\u26c9\u04d5\u0003\u0002\u0002\u0002\u26ca\u26cb\u0007\u0137\u0002\u0002", + "\u26cb\u26cc\u0007\u08b1\u0002\u0002\u26cc\u26cd\u0005\u041e\u0210\u0002", + "\u26cd\u26ce\u0007\u08b2\u0002\u0002\u26ce\u04d7\u0003\u0002\u0002\u0002", + "\u26cf\u26d0\b\u026d\u0001\u0002\u26d0\u26d1\u0005\u04da\u026e\u0002", + "\u26d1\u26da\u0003\u0002\u0002\u0002\u26d2\u26d3\f\u0004\u0002\u0002", + "\u26d3\u26d4\u0007-\u0002\u0002\u26d4\u26d9\u0005\u04d8\u026d\u0005", + "\u26d5\u26d6\f\u0003\u0002\u0002\u26d6\u26d7\u0007\u0496\u0002\u0002", + "\u26d7\u26d9\u0005\u04d8\u026d\u0004\u26d8\u26d2\u0003\u0002\u0002\u0002", + "\u26d8\u26d5\u0003\u0002\u0002\u0002\u26d9\u26dc\u0003\u0002\u0002\u0002", + "\u26da\u26d8\u0003\u0002\u0002\u0002\u26da\u26db\u0003\u0002\u0002\u0002", + "\u26db\u04d9\u0003\u0002\u0002\u0002\u26dc\u26da\u0003\u0002\u0002\u0002", + "\u26dd\u26df\u0007\u0433\u0002\u0002\u26de\u26dd\u0003\u0002\u0002\u0002", + "\u26de\u26df\u0003\u0002\u0002\u0002\u26df\u26e0\u0003\u0002\u0002\u0002", + "\u26e0\u26e8\u0005\u04de\u0270\u0002\u26e1\u26e3\u0007\u02b9\u0002\u0002", + "\u26e2\u26e4\u0007\u0433\u0002\u0002\u26e3\u26e2\u0003\u0002\u0002\u0002", + "\u26e3\u26e4\u0003\u0002\u0002\u0002\u26e4\u26e5\u0003\u0002\u0002\u0002", + "\u26e5\u26e7\u0005\u04dc\u026f\u0002\u26e6\u26e1\u0003\u0002\u0002\u0002", + "\u26e7\u26ea\u0003\u0002\u0002\u0002\u26e8\u26e6\u0003\u0002\u0002\u0002", + "\u26e8\u26e9\u0003\u0002\u0002\u0002\u26e9\u04db\u0003\u0002\u0002\u0002", + "\u26ea\u26e8\u0003\u0002\u0002\u0002\u26eb\u2705\u0007\u044b\u0002\u0002", + "\u26ec\u2705\u0007\u0373\u0002\u0002\u26ed\u2705\u0007\u0513\u0002\u0002", + "\u26ee\u2705\u0007\u028b\u0002\u0002\u26ef\u26f0\u0007#\u0002\u0002", + "\u26f0\u2705\u0007\u05e8\u0002\u0002\u26f1\u2705\u0007\u01b7\u0002\u0002", + "\u26f2\u26f4\u0007\u045d\u0002\u0002\u26f3\u26f5\u0007\u07c5\u0002\u0002", + "\u26f4\u26f3\u0003\u0002\u0002\u0002\u26f4\u26f5\u0003\u0002\u0002\u0002", + "\u26f5\u26f6\u0003\u0002\u0002\u0002\u26f6\u26f8\u0007\u08b1\u0002\u0002", + "\u26f7\u26f9\u0007\u0469\u0002\u0002\u26f8\u26f7\u0003\u0002\u0002\u0002", + "\u26f8\u26f9\u0003\u0002\u0002\u0002\u26f9\u26fa\u0003\u0002\u0002\u0002", + "\u26fa\u26ff\u0005\u05b4\u02db\u0002\u26fb\u26fc\u0007\u08b7\u0002\u0002", + "\u26fc\u26fe\u0005\u05b4\u02db\u0002\u26fd\u26fb\u0003\u0002\u0002\u0002", + "\u26fe\u2701\u0003\u0002\u0002\u0002\u26ff\u26fd\u0003\u0002\u0002\u0002", + "\u26ff\u2700\u0003\u0002\u0002\u0002\u2700\u2702\u0003\u0002\u0002\u0002", + "\u2701\u26ff\u0003\u0002\u0002\u0002\u2702\u2703\u0007\u08b2\u0002\u0002", + "\u2703\u2705\u0003\u0002\u0002\u0002\u2704\u26eb\u0003\u0002\u0002\u0002", + "\u2704\u26ec\u0003\u0002\u0002\u0002\u2704\u26ed\u0003\u0002\u0002\u0002", + "\u2704\u26ee\u0003\u0002\u0002\u0002\u2704\u26ef\u0003\u0002\u0002\u0002", + "\u2704\u26f1\u0003\u0002\u0002\u0002\u2704\u26f2\u0003\u0002\u0002\u0002", + "\u2705\u04dd\u0003\u0002\u0002\u0002\u2706\u270c\u0005\u04e0\u0271\u0002", + "\u2707\u2709\to\u0002\u0002\u2708\u270a\u0007\u045d\u0002\u0002\u2709", + "\u2708\u0003\u0002\u0002\u0002\u2709\u270a\u0003\u0002\u0002\u0002\u270a", + "\u270b\u0003\u0002\u0002\u0002\u270b\u270d\u0005\u04ea\u0276\u0002\u270c", + "\u2707\u0003\u0002\u0002\u0002\u270c\u270d\u0003\u0002\u0002\u0002\u270d", + "\u04df\u0003\u0002\u0002\u0002\u270e\u270f\b\u0271\u0001\u0002\u270f", + "\u2710\u0005\u04e2\u0272\u0002\u2710\u2717\u0003\u0002\u0002\u0002\u2711", + "\u2712\f\u0004\u0002\u0002\u2712\u2713\u0005\u04e4\u0273\u0002\u2713", + "\u2714\u0005\u04e0\u0271\u0005\u2714\u2716\u0003\u0002\u0002\u0002\u2715", + "\u2711\u0003\u0002\u0002\u0002\u2716\u2719\u0003\u0002\u0002\u0002\u2717", + "\u2715\u0003\u0002\u0002\u0002\u2717\u2718\u0003\u0002\u0002\u0002\u2718", + "\u04e1\u0003\u0002\u0002\u0002\u2719\u2717\u0003\u0002\u0002\u0002\u271a", + "\u272a\u0005\u04ea\u0276\u0002\u271b\u271d\u0007\u0433\u0002\u0002\u271c", + "\u271b\u0003\u0002\u0002\u0002\u271c\u271d\u0003\u0002\u0002\u0002\u271d", + "\u2728\u0003\u0002\u0002\u0002\u271e\u271f\u0007\u028e\u0002\u0002\u271f", + "\u2729\u0005\u04e6\u0274\u0002\u2720\u2721\u0007m\u0002\u0002\u2721", + "\u2729\u0005\u04e8\u0275\u0002\u2722\u2723\tp\u0002\u0002\u2723\u2726", + "\u0005\u04ea\u0276\u0002\u2724\u2725\u0007\u01cd\u0002\u0002\u2725\u2727", + "\u0005\u04ea\u0276\u0002\u2726\u2724\u0003\u0002\u0002\u0002\u2726\u2727", + "\u0003\u0002\u0002\u0002\u2727\u2729\u0003\u0002\u0002\u0002\u2728\u271e", + "\u0003\u0002\u0002\u0002\u2728\u2720\u0003\u0002\u0002\u0002\u2728\u2722", + "\u0003\u0002\u0002\u0002\u2729\u272b\u0003\u0002\u0002\u0002\u272a\u271c", + "\u0003\u0002\u0002\u0002\u272a\u272b\u0003\u0002\u0002\u0002\u272b\u04e3", + "\u0003\u0002\u0002\u0002\u272c\u273b\u0007\u08c5\u0002\u0002\u272d\u2735", + "\u0007\u08bc\u0002\u0002\u272e\u272f\u0007\u08c1\u0002\u0002\u272f\u2735", + "\u0007\u08c0\u0002\u0002\u2730\u2731\u0007\u08bf\u0002\u0002\u2731\u2735", + "\u0007\u08c5\u0002\u0002\u2732\u2733\u0007\u08bd\u0002\u0002\u2733\u2735", + "\u0007\u08c5\u0002\u0002\u2734\u272d\u0003\u0002\u0002\u0002\u2734\u272e", + "\u0003\u0002\u0002\u0002\u2734\u2730\u0003\u0002\u0002\u0002\u2734\u2732", + "\u0003\u0002\u0002\u0002\u2735\u273b\u0003\u0002\u0002\u0002\u2736\u2738", + "\tq\u0002\u0002\u2737\u2739\u0007\u08c5\u0002\u0002\u2738\u2737\u0003", + "\u0002\u0002\u0002\u2738\u2739\u0003\u0002\u0002\u0002\u2739\u273b\u0003", + "\u0002\u0002\u0002\u273a\u272c\u0003\u0002\u0002\u0002\u273a\u2734\u0003", + "\u0002\u0002\u0002\u273a\u2736\u0003\u0002\u0002\u0002\u273b\u04e5\u0003", + "\u0002\u0002\u0002\u273c\u273d\u0007\u08b1\u0002\u0002\u273d\u273e\u0005", + "\u041e\u0210\u0002\u273e\u273f\u0007\u08b2\u0002\u0002\u273f\u274f\u0003", + "\u0002\u0002\u0002\u2740\u2741\u0007\u08b1\u0002\u0002\u2741\u2746\u0005", + "\u04ea\u0276\u0002\u2742\u2743\u0007\u08b7\u0002\u0002\u2743\u2745\u0005", + "\u04ea\u0276\u0002\u2744\u2742\u0003\u0002\u0002\u0002\u2745\u2748\u0003", + "\u0002\u0002\u0002\u2746\u2744\u0003\u0002\u0002\u0002\u2746\u2747\u0003", + "\u0002\u0002\u0002\u2747\u2749\u0003\u0002\u0002\u0002\u2748\u2746\u0003", + "\u0002\u0002\u0002\u2749\u274a\u0007\u08b2\u0002\u0002\u274a\u274f\u0003", + "\u0002\u0002\u0002\u274b\u274f\u0005\u05c8\u02e5\u0002\u274c\u274f\u0005", + "\u05bc\u02df\u0002\u274d\u274f\u0005\u05be\u02e0\u0002\u274e\u273c\u0003", + "\u0002\u0002\u0002\u274e\u2740\u0003\u0002\u0002\u0002\u274e\u274b\u0003", + "\u0002\u0002\u0002\u274e\u274c\u0003\u0002\u0002\u0002\u274e\u274d\u0003", + "\u0002\u0002\u0002\u274f\u04e7\u0003\u0002\u0002\u0002\u2750\u2751\u0005", + "\u04ea\u0276\u0002\u2751\u2752\u0007-\u0002\u0002\u2752\u2753\u0005", + "\u04ea\u0276\u0002\u2753\u04e9\u0003\u0002\u0002\u0002\u2754\u2755\b", + "\u0276\u0001\u0002\u2755\u275e\u0005\u04ee\u0278\u0002\u2756\u275b\u0007", + "L\u0002\u0002\u2757\u275c\u0007\u0303\u0002\u0002\u2758\u2759\u0007", + "\u0793\u0002\u0002\u2759\u275a\u0007\u087f\u0002\u0002\u275a\u275c\u0005", + "\u04ea\u0276\u0002\u275b\u2757\u0003\u0002\u0002\u0002\u275b\u2758\u0003", + "\u0002\u0002\u0002\u275c\u275f\u0003\u0002\u0002\u0002\u275d\u275f\u0005", + "\u04ec\u0277\u0002\u275e\u2756\u0003\u0002\u0002\u0002\u275e\u275d\u0003", + "\u0002\u0002\u0002\u275e\u275f\u0003\u0002\u0002\u0002\u275f\u276c\u0003", + "\u0002\u0002\u0002\u2760\u2761\f\u0005\u0002\u0002\u2761\u2762\tr\u0002", + "\u0002\u2762\u276b\u0005\u04ea\u0276\u0006\u2763\u2764\f\u0004\u0002", + "\u0002\u2764\u2765\ts\u0002\u0002\u2765\u276b\u0005\u04ea\u0276\u0005", + "\u2766\u2767\f\u0003\u0002\u0002\u2767\u2768\u0007\u08c4\u0002\u0002", + "\u2768\u2769\u0007\u08c4\u0002\u0002\u2769\u276b\u0005\u04ea\u0276\u0004", + "\u276a\u2760\u0003\u0002\u0002\u0002\u276a\u2763\u0003\u0002\u0002\u0002", + "\u276a\u2766\u0003\u0002\u0002\u0002\u276b\u276e\u0003\u0002\u0002\u0002", + "\u276c\u276a\u0003\u0002\u0002\u0002\u276c\u276d\u0003\u0002\u0002\u0002", + "\u276d\u04eb\u0003\u0002\u0002\u0002\u276e\u276c\u0003\u0002\u0002\u0002", + "\u276f\u2774\u0007\u014b\u0002\u0002\u2770\u2771\u0007\u08b1\u0002\u0002", + "\u2771\u2772\u0005\u04ea\u0276\u0002\u2772\u2773\u0007\u08b2\u0002\u0002", + "\u2773\u2775\u0003\u0002\u0002\u0002\u2774\u2770\u0003\u0002\u0002\u0002", + "\u2774\u2775\u0003\u0002\u0002\u0002\u2775\u2776\u0003\u0002\u0002\u0002", + "\u2776\u2777\u0007\u07ae\u0002\u0002\u2777\u277c\u0007\u05ca\u0002\u0002", + "\u2778\u2779\u0007\u08b1\u0002\u0002\u2779\u277a\u0005\u04ea\u0276\u0002", + "\u277a\u277b\u0007\u08b2\u0002\u0002\u277b\u277d\u0003\u0002\u0002\u0002", + "\u277c\u2778\u0003\u0002\u0002\u0002\u277c\u277d\u0003\u0002\u0002\u0002", + "\u277d\u2788\u0003\u0002\u0002\u0002\u277e\u2783\u0007\u087b\u0002\u0002", + "\u277f\u2780\u0007\u08b1\u0002\u0002\u2780\u2781\u0005\u04ea\u0276\u0002", + "\u2781\u2782\u0007\u08b2\u0002\u0002\u2782\u2784\u0003\u0002\u0002\u0002", + "\u2783\u277f\u0003\u0002\u0002\u0002\u2783\u2784\u0003\u0002\u0002\u0002", + "\u2784\u2785\u0003\u0002\u0002\u0002\u2785\u2786\u0007\u07ae\u0002\u0002", + "\u2786\u2788\u0007\u0366\u0002\u0002\u2787\u276f\u0003\u0002\u0002\u0002", + "\u2787\u277e\u0003\u0002\u0002\u0002\u2788\u04ed\u0003\u0002\u0002\u0002", + "\u2789\u278e\u0005\u04f6\u027c\u0002\u278a\u278b\u0007\u08c6\u0002\u0002", + "\u278b\u278c\u0005\u04f0\u0279\u0002\u278c\u278d\u0007\u08c7\u0002\u0002", + "\u278d\u278f\u0003\u0002\u0002\u0002\u278e\u278a\u0003\u0002\u0002\u0002", + "\u278e\u278f\u0003\u0002\u0002\u0002\u278f\u04ef\u0003\u0002\u0002\u0002", + "\u2790\u2793\u00072\u0002\u0002\u2791\u2793\u0005\u04d4\u026b\u0002", + "\u2792\u2790\u0003\u0002\u0002\u0002\u2792\u2791\u0003\u0002\u0002\u0002", + "\u2793\u279b\u0003\u0002\u0002\u0002\u2794\u2797\u0007\u08b7\u0002\u0002", + "\u2795\u2798\u00072\u0002\u0002\u2796\u2798\u0005\u04d4\u026b\u0002", + "\u2797\u2795\u0003\u0002\u0002\u0002\u2797\u2796\u0003\u0002\u0002\u0002", + "\u2798\u279a\u0003\u0002\u0002\u0002\u2799\u2794\u0003\u0002\u0002\u0002", + "\u279a\u279d\u0003\u0002\u0002\u0002\u279b\u2799\u0003\u0002\u0002\u0002", + "\u279b\u279c\u0003\u0002\u0002\u0002\u279c\u27a8\u0003\u0002\u0002\u0002", + "\u279d\u279b\u0003\u0002\u0002\u0002\u279e\u27a3\u0005\u04f2\u027a\u0002", + "\u279f\u27a0\u0007\u08b7\u0002\u0002\u27a0\u27a2\u0005\u04f2\u027a\u0002", + "\u27a1\u279f\u0003\u0002\u0002\u0002\u27a2\u27a5\u0003\u0002\u0002\u0002", + "\u27a3\u27a1\u0003\u0002\u0002\u0002\u27a3\u27a4\u0003\u0002\u0002\u0002", + "\u27a4\u27a8\u0003\u0002\u0002\u0002\u27a5\u27a3\u0003\u0002\u0002\u0002", + "\u27a6\u27a8\u0005\u04f4\u027b\u0002\u27a7\u2792\u0003\u0002\u0002\u0002", + "\u27a7\u279e\u0003\u0002\u0002\u0002\u27a7\u27a6\u0003\u0002\u0002\u0002", + "\u27a8\u04f1\u0003\u0002\u0002\u0002\u27a9\u27aa\u0007\u0224\u0002\u0002", + "\u27aa\u27bc\u0005\u0592\u02ca\u0002\u27ab\u27ac\u0007\u028e\u0002\u0002", + "\u27ac\u27ae\u0007\u08b1\u0002\u0002\u27ad\u27af\u0005\u04d2\u026a\u0002", + "\u27ae\u27ad\u0003\u0002\u0002\u0002\u27ae\u27af\u0003\u0002\u0002\u0002", + "\u27af\u27b0\u0003\u0002\u0002\u0002\u27b0\u27bd\u0007\u08b2\u0002\u0002", + "\u27b1\u27b2\u0007\u02f7\u0002\u0002\u27b2\u27b4\u0005\u04d4\u026b\u0002", + "\u27b3\u27b1\u0003\u0002\u0002\u0002\u27b3\u27b4\u0003\u0002\u0002\u0002", + "\u27b4\u27b5\u0003\u0002\u0002\u0002\u27b5\u27b6\u0007\u022c\u0002\u0002", + "\u27b6\u27b7\u0005\u04d4\u026b\u0002\u27b7\u27b8\u0007\u07ae\u0002\u0002", + "\u27b8\u27b9\u0005\u04d4\u026b\u0002\u27b9\u27ba\tt\u0002\u0002\u27ba", + "\u27bb\u0005\u04d4\u026b\u0002\u27bb\u27bd\u0003\u0002\u0002\u0002\u27bc", + "\u27ab\u0003\u0002\u0002\u0002\u27bc\u27b3\u0003\u0002\u0002\u0002\u27bd", + "\u04f3\u0003\u0002\u0002\u0002\u27be\u27bf\u0007\u0224\u0002\u0002\u27bf", + "\u27c0\u0005\u05a6\u02d4\u0002\u27c0\u27c1\u0007\u028e\u0002\u0002\u27c1", + "\u27c8\u0007\u08b1\u0002\u0002\u27c2\u27c9\u0005\u041e\u0210\u0002\u27c3", + "\u27c5\u0007\u08b1\u0002\u0002\u27c4\u27c6\u0005\u04d2\u026a\u0002\u27c5", + "\u27c4\u0003\u0002\u0002\u0002\u27c5\u27c6\u0003\u0002\u0002\u0002\u27c6", + "\u27c7\u0003\u0002\u0002\u0002\u27c7\u27c9\u0007\u08b2\u0002\u0002\u27c8", + "\u27c2\u0003\u0002\u0002\u0002\u27c8\u27c3\u0003\u0002\u0002\u0002\u27c9", + "\u27ca\u0003\u0002\u0002\u0002\u27ca\u27cb\u0007\u08b2\u0002\u0002\u27cb", + "\u04f5\u0003\u0002\u0002\u0002\u27cc\u27cd\ts\u0002\u0002\u27cd\u27dd", + "\u0005\u04f6\u027c\u0002\u27ce\u27cf\u0007\u051d\u0002\u0002\u27cf\u27dd", + "\u0005\u04f6\u027c\u0002\u27d0\u27d1\u0007\u00fc\u0002\u0002\u27d1\u27dd", + "\u0005\u04f6\u027c\u0002\u27d2\u27d3\u0007\u0389\u0002\u0002\u27d3\u27dd", + "\u0005\u04f6\u027c\u0002\u27d4\u27d5\u0007\u018e\u0002\u0002\u27d5\u27dd", + "\u0005\u04f6\u027c\u0002\u27d6\u27d7\u0007%\u0002\u0002\u27d7\u27dd", + "\u0005\u04f6\u027c\u0002\u27d8\u27dd\u0005\u04f8\u027d\u0002\u27d9\u27dd", + "\u0005\u0506\u0284\u0002\u27da\u27dd\u0005\u050a\u0286\u0002\u27db\u27dd", + "\u0005\u0504\u0283\u0002\u27dc\u27cc\u0003\u0002\u0002\u0002\u27dc\u27ce", + "\u0003\u0002\u0002\u0002\u27dc\u27d0\u0003\u0002\u0002\u0002\u27dc\u27d2", + "\u0003\u0002\u0002\u0002\u27dc\u27d4\u0003\u0002\u0002\u0002\u27dc\u27d6", + "\u0003\u0002\u0002\u0002\u27dc\u27d8\u0003\u0002\u0002\u0002\u27dc\u27d9", + "\u0003\u0002\u0002\u0002\u27dc\u27da\u0003\u0002\u0002\u0002\u27dc\u27db", + "\u0003\u0002\u0002\u0002\u27dd\u04f7\u0003\u0002\u0002\u0002\u27de\u27e1", + "\u0005\u04fe\u0280\u0002\u27df\u27e1\u0005\u04fa\u027e\u0002\u27e0\u27de", + "\u0003\u0002\u0002\u0002\u27e0\u27df\u0003\u0002\u0002\u0002\u27e1\u04f9", + "\u0003\u0002\u0002\u0002\u27e2\u27e4\u0005\u0578\u02bd\u0002\u27e3\u27e2", + "\u0003\u0002\u0002\u0002\u27e3\u27e4\u0003\u0002\u0002\u0002\u27e4\u27e5", + "\u0003\u0002\u0002\u0002\u27e5\u27e6\u0007\u00a5\u0002\u0002\u27e6\u27e8", + "\u0005\u04d4\u026b\u0002\u27e7\u27e9\u0005\u04fc\u027f\u0002\u27e8\u27e7", + "\u0003\u0002\u0002\u0002\u27e9\u27ea\u0003\u0002\u0002\u0002\u27ea\u27e8", + "\u0003\u0002\u0002\u0002\u27ea\u27eb\u0003\u0002\u0002\u0002\u27eb\u27ed", + "\u0003\u0002\u0002\u0002\u27ec\u27ee\u0005\u0502\u0282\u0002\u27ed\u27ec", + "\u0003\u0002\u0002\u0002\u27ed\u27ee\u0003\u0002\u0002\u0002\u27ee\u27ef", + "\u0003\u0002\u0002\u0002\u27ef\u27f1\u0007\u01bf\u0002\u0002\u27f0\u27f2", + "\u0007\u00a5\u0002\u0002\u27f1\u27f0\u0003\u0002\u0002\u0002\u27f1\u27f2", + "\u0003\u0002\u0002\u0002\u27f2\u27f4\u0003\u0002\u0002\u0002\u27f3\u27f5", + "\u0005\u0578\u02bd\u0002\u27f4\u27f3\u0003\u0002\u0002\u0002\u27f4\u27f5", + "\u0003\u0002\u0002\u0002\u27f5\u04fb\u0003\u0002\u0002\u0002\u27f6\u27f7", + "\u0007\u0843\u0002\u0002\u27f7\u27f8\u0005\u04d4\u026b\u0002\u27f8\u27fb", + "\u0007\u0787\u0002\u0002\u27f9\u27fc\u0005\u03b8\u01dd\u0002\u27fa\u27fc", + "\u0005\u04d4\u026b\u0002\u27fb\u27f9\u0003\u0002\u0002\u0002\u27fb\u27fa", + "\u0003\u0002\u0002\u0002\u27fc\u04fd\u0003\u0002\u0002\u0002\u27fd\u27ff", + "\u0005\u0578\u02bd\u0002\u27fe\u27fd\u0003\u0002\u0002\u0002\u27fe\u27ff", + "\u0003\u0002\u0002\u0002\u27ff\u2800\u0003\u0002\u0002\u0002\u2800\u2802", + "\u0007\u00a5\u0002\u0002\u2801\u2803\u0005\u0500\u0281\u0002\u2802\u2801", + "\u0003\u0002\u0002\u0002\u2803\u2804\u0003\u0002\u0002\u0002\u2804\u2802", + "\u0003\u0002\u0002\u0002\u2804\u2805\u0003\u0002\u0002\u0002\u2805\u2807", + "\u0003\u0002\u0002\u0002\u2806\u2808\u0005\u0502\u0282\u0002\u2807\u2806", + "\u0003\u0002\u0002\u0002\u2807\u2808\u0003\u0002\u0002\u0002\u2808\u2809", + "\u0003\u0002\u0002\u0002\u2809\u280b\u0007\u01bf\u0002\u0002\u280a\u280c", + "\u0007\u00a5\u0002\u0002\u280b\u280a\u0003\u0002\u0002\u0002\u280b\u280c", + "\u0003\u0002\u0002\u0002\u280c\u280e\u0003\u0002\u0002\u0002\u280d\u280f", + "\u0005\u0578\u02bd\u0002\u280e\u280d\u0003\u0002\u0002\u0002\u280e\u280f", + "\u0003\u0002\u0002\u0002\u280f\u04ff\u0003\u0002\u0002\u0002\u2810\u2811", + "\u0007\u0843\u0002\u0002\u2811\u2812\u0005\u04d4\u026b\u0002\u2812\u2815", + "\u0007\u0787\u0002\u0002\u2813\u2816\u0005\u03b8\u01dd\u0002\u2814\u2816", + "\u0005\u04d4\u026b\u0002\u2815\u2813\u0003\u0002\u0002\u0002\u2815\u2814", + "\u0003\u0002\u0002\u0002\u2816\u0501\u0003\u0002\u0002\u0002\u2817\u281a", + "\u0007\u01b2\u0002\u0002\u2818\u281b\u0005\u03b8\u01dd\u0002\u2819\u281b", + "\u0005\u04d4\u026b\u0002\u281a\u2818\u0003\u0002\u0002\u0002\u281a\u2819", + "\u0003\u0002\u0002\u0002\u281b\u0503\u0003\u0002\u0002\u0002\u281c\u281d", + "\u0005\u05c2\u02e2\u0002\u281d\u281e\u0005\u05d4\u02eb\u0002\u281e\u2830", + "\u0003\u0002\u0002\u0002\u281f\u2830\u0005\u05bc\u02df\u0002\u2820\u2830", + "\u0005\u05c8\u02e5\u0002\u2821\u2830\u0005\u05be\u02e0\u0002\u2822\u2823", + "\u0007\u08b1\u0002\u0002\u2823\u2824\u0005\u041e\u0210\u0002\u2824\u2828", + "\u0007\u08b2\u0002\u0002\u2825\u2827\u0005\u0422\u0212\u0002\u2826\u2825", + "\u0003\u0002\u0002\u0002\u2827\u282a\u0003\u0002\u0002\u0002\u2828\u2826", + "\u0003\u0002\u0002\u0002\u2828\u2829\u0003\u0002\u0002\u0002\u2829\u2830", + "\u0003\u0002\u0002\u0002\u282a\u2828\u0003\u0002\u0002\u0002\u282b\u282c", + "\u0007\u08b1\u0002\u0002\u282c\u282d\u0005\u04d2\u026a\u0002\u282d\u282e", + "\u0007\u08b2\u0002\u0002\u282e\u2830\u0003\u0002\u0002\u0002\u282f\u281c", + "\u0003\u0002\u0002\u0002\u282f\u281f\u0003\u0002\u0002\u0002\u282f\u2820", + "\u0003\u0002\u0002\u0002\u282f\u2821\u0003\u0002\u0002\u0002\u282f\u2822", + "\u0003\u0002\u0002\u0002\u282f\u282b\u0003\u0002\u0002\u0002\u2830\u0505", + "\u0003\u0002\u0002\u0002\u2831\u283a\tu\u0002\u0002\u2832\u2833\u0007", + "\u08b1\u0002\u0002\u2833\u2834\u0005\u041e\u0210\u0002\u2834\u2835\u0007", + "\u08b2\u0002\u0002\u2835\u283b\u0003\u0002\u0002\u0002\u2836\u2837\u0007", + "\u08b1\u0002\u0002\u2837\u2838\u0005\u04d4\u026b\u0002\u2838\u2839\u0007", + "\u08b2\u0002\u0002\u2839\u283b\u0003\u0002\u0002\u0002\u283a\u2832\u0003", + "\u0002\u0002\u0002\u283a\u2836\u0003\u0002\u0002\u0002\u283b\u0507\u0003", + "\u0002\u0002\u0002\u283c\u283d\u0007\u089c\u0002\u0002\u283d\u283e\u0007", + "\u08b1\u0002\u0002\u283e\u283f\u0005\u04d4\u026b\u0002\u283f\u2840\u0007", + "\u08b7\u0002\u0002\u2840\u2843\u0005\u04d4\u026b\u0002\u2841\u2842\u0007", + "\u08b7\u0002\u0002\u2842\u2844\u0005\u04d4\u026b\u0002\u2843\u2841\u0003", + "\u0002\u0002\u0002\u2843\u2844\u0003\u0002\u0002\u0002\u2844\u2845\u0003", + "\u0002\u0002\u0002\u2845\u2846\u0007\u08b2\u0002\u0002\u2846\u2883\u0003", + "\u0002\u0002\u0002\u2847\u2848\u0007\u089d\u0002\u0002\u2848\u284c\u0007", + "\u08b1\u0002\u0002\u2849\u284d\u0005\u05c2\u02e2\u0002\u284a\u284d\u0005", + "\u050a\u0286\u0002\u284b\u284d\u0005\u04d4\u026b\u0002\u284c\u2849\u0003", + "\u0002\u0002\u0002\u284c\u284a\u0003\u0002\u0002\u0002\u284c\u284b\u0003", + "\u0002\u0002\u0002\u284d\u2850\u0003\u0002\u0002\u0002\u284e\u284f\u0007", + "\u08b7\u0002\u0002\u284f\u2851\u0005\u05ce\u02e8\u0002\u2850\u284e\u0003", + "\u0002\u0002\u0002\u2850\u2851\u0003\u0002\u0002\u0002\u2851\u2854\u0003", + "\u0002\u0002\u0002\u2852\u2853\u0007\u08b7\u0002\u0002\u2853\u2855\u0005", + "\u05ce\u02e8\u0002\u2854\u2852\u0003\u0002\u0002\u0002\u2854\u2855\u0003", + "\u0002\u0002\u0002\u2855\u2856\u0003\u0002\u0002\u0002\u2856\u2857\u0007", + "\u08b2\u0002\u0002\u2857\u2883\u0003\u0002\u0002\u0002\u2858\u2859\u0007", + "\u0890\u0002\u0002\u2859\u285a\u0007\u08b1\u0002\u0002\u285a\u285b\u0005", + "\u04d2\u026a\u0002\u285b\u285c\u0007\u08b2\u0002\u0002\u285c\u2883\u0003", + "\u0002\u0002\u0002\u285d\u285e\u0007\u00ba\u0002\u0002\u285e\u285f\u0007", + "\u08b1\u0002\u0002\u285f\u2860\u0005\u04ea\u0276\u0002\u2860\u2861\u0007", + "\u0811\u0002\u0002\u2861\u2862\u0007\u037b\u0002\u0002\u2862\u2863\u0007", + "\u08b2\u0002\u0002\u2863\u2883\u0003\u0002\u0002\u0002\u2864\u2865\u0007", + "\u0897\u0002\u0002\u2865\u2866\u0007\u08b1\u0002\u0002\u2866\u2867\u0005", + "\u04d4\u026b\u0002\u2867\u2868\u0007\u08b7\u0002\u0002\u2868\u2869\u0005", + "\u04d4\u026b\u0002\u2869\u286a\u0007\u08b2\u0002\u0002\u286a\u2883\u0003", + "\u0002\u0002\u0002\u286b\u286c\u0007\u089e\u0002\u0002\u286c\u2874\u0007", + "\u08b1\u0002\u0002\u286d\u286f\tv\u0002\u0002\u286e\u286d\u0003\u0002", + "\u0002\u0002\u286e\u286f\u0003\u0002\u0002\u0002\u286f\u2871\u0003\u0002", + "\u0002\u0002\u2870\u2872\u0005\u05ce\u02e8\u0002\u2871\u2870\u0003\u0002", + "\u0002\u0002\u2871\u2872\u0003\u0002\u0002\u0002\u2872\u2873\u0003\u0002", + "\u0002\u0002\u2873\u2875\u0007\u022c\u0002\u0002\u2874\u286e\u0003\u0002", + "\u0002\u0002\u2874\u2875\u0003\u0002\u0002\u0002\u2875\u2876\u0003\u0002", + "\u0002\u0002\u2876\u2877\u0005\u04ea\u0276\u0002\u2877\u2878\u0007\u08b2", + "\u0002\u0002\u2878\u2883\u0003\u0002\u0002\u0002\u2879\u287a\u0007\u08a5", + "\u0002\u0002\u287a\u287b\u0007\u08b1\u0002\u0002\u287b\u287e\u0005\u04d4", + "\u026b\u0002\u287c\u287d\u0007\u08b7\u0002\u0002\u287d\u287f\u0005\u05ce", + "\u02e8\u0002\u287e\u287c\u0003\u0002\u0002\u0002\u287e\u287f\u0003\u0002", + "\u0002\u0002\u287f\u2880\u0003\u0002\u0002\u0002\u2880\u2881\u0007\u08b2", + "\u0002\u0002\u2881\u2883\u0003\u0002\u0002\u0002\u2882\u283c\u0003\u0002", + "\u0002\u0002\u2882\u2847\u0003\u0002\u0002\u0002\u2882\u2858\u0003\u0002", + "\u0002\u0002\u2882\u285d\u0003\u0002\u0002\u0002\u2882\u2864\u0003\u0002", + "\u0002\u0002\u2882\u286b\u0003\u0002\u0002\u0002\u2882\u2879\u0003\u0002", + "\u0002\u0002\u2883\u0509\u0003\u0002\u0002\u0002\u2884\u2888\u0005\u0508", + "\u0285\u0002\u2885\u2888\u0005\u050e\u0288\u0002\u2886\u2888\u0005\u0512", + "\u028a\u0002\u2887\u2884\u0003\u0002\u0002\u0002\u2887\u2885\u0003\u0002", + "\u0002\u0002\u2887\u2886\u0003\u0002\u0002\u0002\u2888\u050b\u0003\u0002", + "\u0002\u0002\u2889\u288e\u0007\u08ad\u0002\u0002\u288a\u288e\u0005\u0508", + "\u0285\u0002\u288b\u288e\u0005\u05ca\u02e6\u0002\u288c\u288e\u0007\u0338", + "\u0002\u0002\u288d\u2889\u0003\u0002\u0002\u0002\u288d\u288a\u0003\u0002", + "\u0002\u0002\u288d\u288b\u0003\u0002\u0002\u0002\u288d\u288c\u0003\u0002", + "\u0002\u0002\u288e\u050d\u0003\u0002\u0002\u0002\u288f\u2892\u0005\u0510", + "\u0289\u0002\u2890\u2893\u0005\u04f2\u027a\u0002\u2891\u2893\u0005\u04f4", + "\u027b\u0002\u2892\u2890\u0003\u0002\u0002\u0002\u2892\u2891\u0003\u0002", + "\u0002\u0002\u2892\u2893\u0003\u0002\u0002\u0002\u2893\u050f\u0003\u0002", + "\u0002\u0002\u2894\u2895\u0007\u089f\u0002\u0002\u2895\u2897\u0007\u08b1", + "\u0002\u0002\u2896\u2898\tw\u0002\u0002\u2897\u2896\u0003\u0002\u0002", + "\u0002\u2897\u2898\u0003\u0002\u0002\u0002\u2898\u2899\u0003\u0002\u0002", + "\u0002\u2899\u289a\u0005\u04d4\u026b\u0002\u289a\u289b\u0007\u08b2\u0002", + "\u0002\u289b\u28cf\u0003\u0002\u0002\u0002\u289c\u289d\u0007\u011b\u0002", + "\u0002\u289d\u28a5\u0007\u08b1\u0002\u0002\u289e\u28a6\u0007\u08b4\u0002", + "\u0002\u289f\u28a1\t`\u0002\u0002\u28a0\u289f\u0003\u0002\u0002\u0002", + "\u28a0\u28a1\u0003\u0002\u0002\u0002\u28a1\u28a2\u0003\u0002\u0002\u0002", + "\u28a2\u28a4\u0005\u04ea\u0276\u0002\u28a3\u28a0\u0003\u0002\u0002\u0002", + "\u28a3\u28a4\u0003\u0002\u0002\u0002\u28a4\u28a6\u0003\u0002\u0002\u0002", + "\u28a5\u289e\u0003\u0002\u0002\u0002\u28a5\u28a3\u0003\u0002\u0002\u0002", + "\u28a6\u28a7\u0003\u0002\u0002\u0002\u28a7\u28a9\u0007\u08b2\u0002\u0002", + "\u28a8\u28aa\u0005\u051a\u028e\u0002\u28a9\u28a8\u0003\u0002\u0002\u0002", + "\u28a9\u28aa\u0003\u0002\u0002\u0002\u28aa\u28cf\u0003\u0002\u0002\u0002", + "\u28ab\u28ac\u0007\u089a\u0002\u0002\u28ac\u28ad\u0007\u08b1\u0002\u0002", + "\u28ad\u28b0\u0005\u04d4\u026b\u0002\u28ae\u28af\u0007\u08b7\u0002\u0002", + "\u28af\u28b1\u0007\u08ab\u0002\u0002\u28b0\u28ae\u0003\u0002\u0002\u0002", + "\u28b0\u28b1\u0003\u0002\u0002\u0002\u28b1\u28b2\u0003\u0002\u0002\u0002", + "\u28b2\u28b3\u0007\u08b2\u0002\u0002\u28b3\u28cf\u0003\u0002\u0002\u0002", + "\u28b4\u28b5\u0007\u088d\u0002\u0002\u28b5\u28b7\u0007\u08b1\u0002\u0002", + "\u28b6\u28b8\tw\u0002\u0002\u28b7\u28b6\u0003\u0002\u0002\u0002\u28b7", + "\u28b8\u0003\u0002\u0002\u0002\u28b8\u28b9\u0003\u0002\u0002\u0002\u28b9", + "\u28ba\u0005\u04d4\u026b\u0002\u28ba\u28bb\u0007\u08b2\u0002\u0002\u28bb", + "\u28cf\u0003\u0002\u0002\u0002\u28bc\u28bd\u0007\u0893\u0002\u0002\u28bd", + "\u28bf\u0007\u08b1\u0002\u0002\u28be\u28c0\tw\u0002\u0002\u28bf\u28be", + "\u0003\u0002\u0002\u0002\u28bf\u28c0\u0003\u0002\u0002\u0002\u28c0\u28c1", + "\u0003\u0002\u0002\u0002\u28c1\u28c2\u0005\u04d4\u026b\u0002\u28c2\u28c3", + "\u0007\u08b2\u0002\u0002\u28c3\u28cf\u0003\u0002\u0002\u0002\u28c4\u28c5", + "\u0007\u08a3\u0002\u0002\u28c5\u28c6\u0007\u08b1\u0002\u0002\u28c6\u28c7", + "\u0005\u04d2\u026a\u0002\u28c7\u28c8\u0007\u08b2\u0002\u0002\u28c8\u28cf", + "\u0003\u0002\u0002\u0002\u28c9\u28ca\u0007\u08a4\u0002\u0002\u28ca\u28cb", + "\u0007\u08b1\u0002\u0002\u28cb\u28cc\u0005\u04d2\u026a\u0002\u28cc\u28cd", + "\u0007\u08b2\u0002\u0002\u28cd\u28cf\u0003\u0002\u0002\u0002\u28ce\u2894", + "\u0003\u0002\u0002\u0002\u28ce\u289c\u0003\u0002\u0002\u0002\u28ce\u28ab", + "\u0003\u0002\u0002\u0002\u28ce\u28b4\u0003\u0002\u0002\u0002\u28ce\u28bc", + "\u0003\u0002\u0002\u0002\u28ce\u28c4\u0003\u0002\u0002\u0002\u28ce\u28c9", + "\u0003\u0002\u0002\u0002\u28cf\u0511\u0003\u0002\u0002\u0002\u28d0\u28d1", + "\u0005\u0514\u028b\u0002\u28d1\u28d3\u0005\u05ac\u02d7\u0002\u28d2\u28d4", + "\u0005\u051a\u028e\u0002\u28d3\u28d2\u0003\u0002\u0002\u0002\u28d3\u28d4", + "\u0003\u0002\u0002\u0002\u28d4\u29f8\u0003\u0002\u0002\u0002\u28d5\u28d6", + "\u0005\u05d6\u02ec\u0002\u28d6\u28d8\u0005\u05ae\u02d8\u0002\u28d7\u28d9", + "\u0005\u0522\u0292\u0002\u28d8\u28d7\u0003\u0002\u0002\u0002\u28d8\u28d9", + "\u0003\u0002\u0002\u0002\u28d9\u29f8\u0003\u0002\u0002\u0002\u28da\u28db", + "\u0007\u011b\u0002\u0002\u28db\u28e1\u0007\u08b1\u0002\u0002\u28dc\u28e2", + "\u0007\u08b4\u0002\u0002\u28dd\u28df\t`\u0002\u0002\u28de\u28dd\u0003", + "\u0002\u0002\u0002\u28de\u28df\u0003\u0002\u0002\u0002\u28df\u28e0\u0003", + "\u0002\u0002\u0002\u28e0\u28e2\u0005\u04ea\u0276\u0002\u28e1\u28dc\u0003", + "\u0002\u0002\u0002\u28e1\u28de\u0003\u0002\u0002\u0002\u28e2\u28e3\u0003", + "\u0002\u0002\u0002\u28e3\u28e5\u0007\u08b2\u0002\u0002\u28e4\u28e6\u0005", + "\u051a\u028e\u0002\u28e5\u28e4\u0003\u0002\u0002\u0002\u28e5\u28e6\u0003", + "\u0002\u0002\u0002\u28e6\u29f8\u0003\u0002\u0002\u0002\u28e7\u28e8\t", + "x\u0002\u0002\u28e8\u28ef\u0007\u08b1\u0002\u0002\u28e9\u28ea\u0007", + "\u036e\u0002\u0002\u28ea\u28eb\u0007\u08b1\u0002\u0002\u28eb\u28ec\u0005", + "\u041e\u0210\u0002\u28ec\u28ed\u0007\u08b2\u0002\u0002\u28ed\u28f0\u0003", + "\u0002\u0002\u0002\u28ee\u28f0\u0005\u04ea\u0276\u0002\u28ef\u28e9\u0003", + "\u0002\u0002\u0002\u28ef\u28ee\u0003\u0002\u0002\u0002\u28f0\u28f1\u0003", + "\u0002\u0002\u0002\u28f1\u28f2\u0007?\u0002\u0002\u28f2\u28f3\u0005", + "\u05b4\u02db\u0002\u28f3\u28f4\u0007\u08b2\u0002\u0002\u28f4\u29f8\u0003", + "\u0002\u0002\u0002\u28f5\u28f6\u0007\u00cf\u0002\u0002\u28f6\u28f7\u0007", + "\u08b1\u0002\u0002\u28f7\u28fd\u0005\u05c2\u02e2\u0002\u28f8\u28fb\u0007", + "\u08b7\u0002\u0002\u28f9\u28fc\u0005\u05ca\u02e6\u0002\u28fa\u28fc\u0005", + "\u05ce\u02e8\u0002\u28fb\u28f9\u0003\u0002\u0002\u0002\u28fb\u28fa\u0003", + "\u0002\u0002\u0002\u28fc\u28fe\u0003\u0002\u0002\u0002\u28fd\u28f8\u0003", + "\u0002\u0002\u0002\u28fd\u28fe\u0003\u0002\u0002\u0002\u28fe\u28ff\u0003", + "\u0002\u0002\u0002\u28ff\u2900\u0007\u08b2\u0002\u0002\u2900\u29f8\u0003", + "\u0002\u0002\u0002\u2901\u2902\u0007\u00d4\u0002\u0002\u2902\u2904\u0007", + "\u08b1\u0002\u0002\u2903\u2905\ty\u0002\u0002\u2904\u2903\u0003\u0002", + "\u0002\u0002\u2904\u2905\u0003\u0002\u0002\u0002\u2905\u2906\u0003\u0002", + "\u0002\u0002\u2906\u2908\u0005\u04ea\u0276\u0002\u2907\u2909\u0005\u0526", + "\u0294\u0002\u2908\u2907\u0003\u0002\u0002\u0002\u2908\u2909\u0003\u0002", + "\u0002\u0002\u2909\u290a\u0003\u0002\u0002\u0002\u290a\u290b\u0007\u08b2", + "\u0002\u0002\u290b\u29f8\u0003\u0002\u0002\u0002\u290c\u290d\u0005\u0516", + "\u028c\u0002\u290d\u290f\u0005\u05aa\u02d6\u0002\u290e\u2910\u0005\u0528", + "\u0295\u0002\u290f\u290e\u0003\u0002\u0002\u0002\u2910\u2911\u0003\u0002", + "\u0002\u0002\u2911\u290f\u0003\u0002\u0002\u0002\u2911\u2912\u0003\u0002", + "\u0002\u0002\u2912\u29f8\u0003\u0002\u0002\u0002\u2913\u2914\u0005\u058a", + "\u02c6\u0002\u2914\u2915\tz\u0002\u0002\u2915\u29f8\u0003\u0002\u0002", + "\u0002\u2916\u2917\u0007\u015b\u0002\u0002\u2917\u2918\u0007\u08b1\u0002", + "\u0002\u2918\u291a\u0005\u04ea\u0276\u0002\u2919\u291b\t{\u0002\u0002", + "\u291a\u2919\u0003\u0002\u0002\u0002\u291a\u291b\u0003\u0002\u0002\u0002", + "\u291b\u291c\u0003\u0002\u0002\u0002\u291c\u291d\u0007\u08b2\u0002\u0002", + "\u291d\u29f8\u0003\u0002\u0002\u0002\u291e\u291f\u0007\u01f2\u0002\u0002", + "\u291f\u2920\u0007\u08b1\u0002\u0002\u2920\u2921\u0005\u05d6\u02ec\u0002", + "\u2921\u2922\u0007\u022c\u0002\u0002\u2922\u2923\u0005\u04ea\u0276\u0002", + "\u2923\u2924\u0007\u08b2\u0002\u0002\u2924\u29f8\u0003\u0002\u0002\u0002", + "\u2925\u2926\t|\u0002\u0002\u2926\u2928\u0005\u05ac\u02d7\u0002\u2927", + "\u2929\u0005\u05b0\u02d9\u0002\u2928\u2927\u0003\u0002\u0002\u0002\u2928", + "\u2929\u0003\u0002\u0002\u0002\u2929\u292a\u0003\u0002\u0002\u0002\u292a", + "\u292b\u0005\u051a\u028e\u0002\u292b\u29f8\u0003\u0002\u0002\u0002\u292c", + "\u292d\u0005\u0518\u028d\u0002\u292d\u292e\u0007\u08b1\u0002\u0002\u292e", + "\u2930\u0005\u04d2\u026a\u0002\u292f\u2931\u0005\u052a\u0296\u0002\u2930", + "\u292f\u0003\u0002\u0002\u0002\u2930\u2931\u0003\u0002\u0002\u0002\u2931", + "\u2933\u0003\u0002\u0002\u0002\u2932\u2934\u0005\u0522\u0292\u0002\u2933", + "\u2932\u0003\u0002\u0002\u0002\u2933\u2934\u0003\u0002\u0002\u0002\u2934", + "\u2935\u0003\u0002\u0002\u0002\u2935\u2936\u0007\u08b2\u0002\u0002\u2936", + "\u29f8\u0003\u0002\u0002\u0002\u2937\u2938\u0007\u07b8\u0002\u0002\u2938", + "\u2939\u0007\u08b1\u0002\u0002\u2939\u293c\u0005\u04d4\u026b\u0002\u293a", + "\u293b\u0007\u0811\u0002\u0002\u293b\u293d\t}\u0002\u0002\u293c\u293a", + "\u0003\u0002\u0002\u0002\u293c\u293d\u0003\u0002\u0002\u0002\u293d\u2942", + "\u0003\u0002\u0002\u0002\u293e\u293f\u0007\u08b7\u0002\u0002\u293f\u2941", + "\u0005\u04d4\u026b\u0002\u2940\u293e\u0003\u0002\u0002\u0002\u2941\u2944", + "\u0003\u0002\u0002\u0002\u2942\u2940\u0003\u0002\u0002\u0002\u2942\u2943", + "\u0003\u0002\u0002\u0002\u2943\u2945\u0003\u0002\u0002\u0002\u2944\u2942", + "\u0003\u0002\u0002\u0002\u2945\u2946\u0007\u08b2\u0002\u0002\u2946\u29f8", + "\u0003\u0002\u0002\u0002\u2947\u2948\u0007\u07ba\u0002\u0002\u2948\u2949", + "\u0007\u08b1\u0002\u0002\u2949\u294a\u0005\u04d4\u026b\u0002\u294a\u294c", + "\u0007?\u0002\u0002\u294b\u294d\u0007\u0562\u0002\u0002\u294c\u294b", + "\u0003\u0002\u0002\u0002\u294c\u294d\u0003\u0002\u0002\u0002\u294d\u294e", + "\u0003\u0002\u0002\u0002\u294e\u294f\u0005\u05b4\u02db\u0002\u294f\u2950", + "\u0007\u08b2\u0002\u0002\u2950\u29f8\u0003\u0002\u0002\u0002\u2951\u2952", + "\u0007\u089e\u0002\u0002\u2952\u295a\u0007\u08b1\u0002\u0002\u2953\u2955", + "\tv\u0002\u0002\u2954\u2953\u0003\u0002\u0002\u0002\u2954\u2955\u0003", + "\u0002\u0002\u0002\u2955\u2957\u0003\u0002\u0002\u0002\u2956\u2958\u0005", + "\u05ce\u02e8\u0002\u2957\u2956\u0003\u0002\u0002\u0002\u2957\u2958\u0003", + "\u0002\u0002\u0002\u2958\u2959\u0003\u0002\u0002\u0002\u2959\u295b\u0007", + "\u022c\u0002\u0002\u295a\u2954\u0003\u0002\u0002\u0002\u295a\u295b\u0003", + "\u0002\u0002\u0002\u295b\u295c\u0003\u0002\u0002\u0002\u295c\u295d\u0005", + "\u04ea\u0276\u0002\u295d\u295e\u0007\u08b2\u0002\u0002\u295e\u29f8\u0003", + "\u0002\u0002\u0002\u295f\u2960\u0007\u0855\u0002\u0002\u2960\u2961\u0007", + "\u08b1\u0002\u0002\u2961\u2963\u0005\u04d4\u026b\u0002\u2962\u2964\u0005", + "\u0480\u0241\u0002\u2963\u2962\u0003\u0002\u0002\u0002\u2963\u2964\u0003", + "\u0002\u0002\u0002\u2964\u2965\u0003\u0002\u0002\u0002\u2965\u2968\u0007", + "\u08b2\u0002\u0002\u2966\u2967\u0007\u08aa\u0002\u0002\u2967\u2969\u0005", + "\u05c0\u02e1\u0002\u2968\u2966\u0003\u0002\u0002\u0002\u2968\u2969\u0003", + "\u0002\u0002\u0002\u2969\u29f8\u0003\u0002\u0002\u0002\u296a\u296b\t", + "~\u0002\u0002\u296b\u296c\u0007\u08b1\u0002\u0002\u296c\u2971\u0005", + "\u0536\u029c\u0002\u296d\u296e\u0007\u08b7\u0002\u0002\u296e\u2970\u0005", + "\u0536\u029c\u0002\u296f\u296d\u0003\u0002\u0002\u0002\u2970\u2973\u0003", + "\u0002\u0002\u0002\u2971\u296f\u0003\u0002\u0002\u0002\u2971\u2972\u0003", + "\u0002\u0002\u0002\u2972\u2974\u0003\u0002\u0002\u0002\u2973\u2971\u0003", + "\u0002\u0002\u0002\u2974\u2977\u0007\u08b2\u0002\u0002\u2975\u2976\u0007", + "\u08aa\u0002\u0002\u2976\u2978\u0005\u05c0\u02e1\u0002\u2977\u2975\u0003", + "\u0002\u0002\u0002\u2977\u2978\u0003\u0002\u0002\u0002\u2978\u29f8\u0003", + "\u0002\u0002\u0002\u2979\u297a\u0007\u085e\u0002\u0002\u297a\u297c\u0007", + "\u08b1\u0002\u0002\u297b\u297d\t\u007f\u0002\u0002\u297c\u297b\u0003", + "\u0002\u0002\u0002\u297c\u297d\u0003\u0002\u0002\u0002\u297d\u297f\u0003", + "\u0002\u0002\u0002\u297e\u2980\t\u0080\u0002\u0002\u297f\u297e\u0003", + "\u0002\u0002\u0002\u297f\u2980\u0003\u0002\u0002\u0002\u2980\u2981\u0003", + "\u0002\u0002\u0002\u2981\u2984\u0005\u04d4\u026b\u0002\u2982\u2983\u0007", + "\u08b7\u0002\u0002\u2983\u2985\u0005\u052e\u0298\u0002\u2984\u2982\u0003", + "\u0002\u0002\u0002\u2984\u2985\u0003\u0002\u0002\u0002\u2985\u298d\u0003", + "\u0002\u0002\u0002\u2986\u2987\u0007\u08b7\u0002\u0002\u2987\u2989\u0005", + "\u04d4\u026b\u0002\u2988\u298a\u0005\u054a\u02a6\u0002\u2989\u2988\u0003", + "\u0002\u0002\u0002\u2989\u298a\u0003\u0002\u0002\u0002\u298a\u298c\u0003", + "\u0002\u0002\u0002\u298b\u2986\u0003\u0002\u0002\u0002\u298c\u298f\u0003", + "\u0002\u0002\u0002\u298d\u298b\u0003\u0002\u0002\u0002\u298d\u298e\u0003", + "\u0002\u0002\u0002\u298e\u2990\u0003\u0002\u0002\u0002\u298f\u298d\u0003", + "\u0002\u0002\u0002\u2990\u2993\u0007\u08b2\u0002\u0002\u2991\u2992\u0007", + "\u08aa\u0002\u0002\u2992\u2994\u0005\u05c0\u02e1\u0002\u2993\u2991\u0003", + "\u0002\u0002\u0002\u2993\u2994\u0003\u0002\u0002\u0002\u2994\u29f8\u0003", + "\u0002\u0002\u0002\u2995\u2996\u0007\u0860\u0002\u0002\u2996\u2997\u0007", + "\u08b1\u0002\u0002\u2997\u2999\u0005\u04d4\u026b\u0002\u2998\u299a\u0005", + "\u052c\u0297\u0002\u2999\u2998\u0003\u0002\u0002\u0002\u2999\u299a\u0003", + "\u0002\u0002\u0002\u299a\u299b\u0003\u0002\u0002\u0002\u299b\u299c\u0007", + "\u08b2\u0002\u0002\u299c\u29f8\u0003\u0002\u0002\u0002\u299d\u299e\u0007", + "\u0869\u0002\u0002\u299e\u299f\u0007\u08b1\u0002\u0002\u299f\u29a0\t", + "\u0081\u0002\u0002\u29a0\u29a2\u0005\u04ea\u0276\u0002\u29a1\u29a3\u0007", + "\u0841\u0002\u0002\u29a2\u29a1\u0003\u0002\u0002\u0002\u29a2\u29a3\u0003", + "\u0002\u0002\u0002\u29a3\u29a4\u0003\u0002\u0002\u0002\u29a4\u29a7\u0007", + "\u08b2\u0002\u0002\u29a5\u29a6\u0007\u08aa\u0002\u0002\u29a6\u29a8\u0005", + "\u05c0\u02e1\u0002\u29a7\u29a5\u0003\u0002\u0002\u0002\u29a7\u29a8\u0003", + "\u0002\u0002\u0002\u29a8\u29f8\u0003\u0002\u0002\u0002\u29a9\u29aa\u0007", + "\u086b\u0002\u0002\u29aa\u29af\u0007\u08b1\u0002\u0002\u29ab\u29ac\u0007", + "\u0371\u0002\u0002\u29ac\u29b0\u0005\u05d0\u02e9\u0002\u29ad\u29ae\u0007", + "\u01d0\u0002\u0002\u29ae\u29b0\u0005\u04ea\u0276\u0002\u29af\u29ab\u0003", + "\u0002\u0002\u0002\u29af\u29ad\u0003\u0002\u0002\u0002\u29b0\u29b3\u0003", + "\u0002\u0002\u0002\u29b1\u29b2\u0007\u08b7\u0002\u0002\u29b2\u29b4\u0005", + "\u04ea\u0276\u0002\u29b3\u29b1\u0003\u0002\u0002\u0002\u29b3\u29b4\u0003", + "\u0002\u0002\u0002\u29b4\u29b5\u0003\u0002\u0002\u0002\u29b5\u29b8\u0007", + "\u08b2\u0002\u0002\u29b6\u29b7\u0007\u08aa\u0002\u0002\u29b7\u29b9\u0005", + "\u05c0\u02e1\u0002\u29b8\u29b6\u0003\u0002\u0002\u0002\u29b8\u29b9\u0003", + "\u0002\u0002\u0002\u29b9\u29f8\u0003\u0002\u0002\u0002\u29ba\u29bb\u0007", + "\u086d\u0002\u0002\u29bb\u29bc\u0007\u08b1\u0002\u0002\u29bc\u29be\u0005", + "\u04ea\u0276\u0002\u29bd\u29bf\u0005\u052c\u0297\u0002\u29be\u29bd\u0003", + "\u0002\u0002\u0002\u29be\u29bf\u0003\u0002\u0002\u0002\u29bf\u29c0\u0003", + "\u0002\u0002\u0002\u29c0\u29c1\u0007\u0598\u0002\u0002\u29c1\u29c5\u0007", + "\u0109\u0002\u0002\u29c2\u29c3\u0007\u044b\u0002\u0002\u29c3\u29c4\u0007", + "\u046a\u0002\u0002\u29c4\u29c6\u0007\u01b7\u0002\u0002\u29c5\u29c2\u0003", + "\u0002\u0002\u0002\u29c5\u29c6\u0003\u0002\u0002\u0002\u29c6\u29c7\u0003", + "\u0002\u0002\u0002\u29c7\u29ca\u0007\u08b2\u0002\u0002\u29c8\u29c9\u0007", + "\u08aa\u0002\u0002\u29c9\u29cb\u0005\u05c0\u02e1\u0002\u29ca\u29c8\u0003", + "\u0002\u0002\u0002\u29ca\u29cb\u0003\u0002\u0002\u0002\u29cb\u29f8\u0003", + "\u0002\u0002\u0002\u29cc\u29cd\u0007\u086e\u0002\u0002\u29cd\u29ce\u0007", + "\u08b1\u0002\u0002\u29ce\u29d1\u0005\u04ea\u0276\u0002\u29cf\u29d0\u0007", + "\u08b7\u0002\u0002\u29d0\u29d2\u0005\u0538\u029d\u0002\u29d1\u29cf\u0003", + "\u0002\u0002\u0002\u29d1\u29d2\u0003\u0002\u0002\u0002\u29d2\u29d5\u0003", + "\u0002\u0002\u0002\u29d3\u29d4\u0007\u08b7\u0002\u0002\u29d4\u29d6\u0005", + "\u053a\u029e\u0002\u29d5\u29d3\u0003\u0002\u0002\u0002\u29d5\u29d6\u0003", + "\u0002\u0002\u0002\u29d6\u29d7\u0003\u0002\u0002\u0002\u29d7\u29da\u0007", + "\u08b2\u0002\u0002\u29d8\u29d9\u0007\u08aa\u0002\u0002\u29d9\u29db\u0005", + "\u05c0\u02e1\u0002\u29da\u29d8\u0003\u0002\u0002\u0002\u29da\u29db\u0003", + "\u0002\u0002\u0002\u29db\u29f8\u0003\u0002\u0002\u0002\u29dc\u29dd\u0007", + "\u0870\u0002\u0002\u29dd\u29de\u0007\u08b1\u0002\u0002\u29de\u29df\t", + "\u0081\u0002\u0002\u29df\u29e2\u0005\u04ea\u0276\u0002\u29e0\u29e1\u0007", + "?\u0002\u0002\u29e1\u29e3\u0005\u05b4\u02db\u0002\u29e2\u29e0\u0003", + "\u0002\u0002\u0002\u29e2\u29e3\u0003\u0002\u0002\u0002\u29e3\u29e5\u0003", + "\u0002\u0002\u0002\u29e4\u29e6\u0005\u053c\u029f\u0002\u29e5\u29e4\u0003", + "\u0002\u0002\u0002\u29e5\u29e6\u0003\u0002\u0002\u0002\u29e6\u29e8\u0003", + "\u0002\u0002\u0002\u29e7\u29e9\u0005\u053e\u02a0\u0002\u29e8\u29e7\u0003", + "\u0002\u0002\u0002\u29e8\u29e9\u0003\u0002\u0002\u0002\u29e9\u29eb\u0003", + "\u0002\u0002\u0002\u29ea\u29ec\u0005\u0540\u02a1\u0002\u29eb\u29ea\u0003", + "\u0002\u0002\u0002\u29eb\u29ec\u0003\u0002\u0002\u0002\u29ec\u29ef\u0003", + "\u0002\u0002\u0002\u29ed\u29ee\t\u0082\u0002\u0002\u29ee\u29f0\u0007", + "\u0162\u0002\u0002\u29ef\u29ed\u0003\u0002\u0002\u0002\u29ef\u29f0\u0003", + "\u0002\u0002\u0002\u29f0\u29f1\u0003\u0002\u0002\u0002\u29f1\u29f4\u0007", + "\u08b2\u0002\u0002\u29f2\u29f3\u0007\u08aa\u0002\u0002\u29f3\u29f5\u0005", + "\u05c0\u02e1\u0002\u29f4\u29f2\u0003\u0002\u0002\u0002\u29f4\u29f5\u0003", + "\u0002\u0002\u0002\u29f5\u29f8\u0003\u0002\u0002\u0002\u29f6\u29f8\u0005", + "\u0596\u02cc\u0002\u29f7\u28d0\u0003\u0002\u0002\u0002\u29f7\u28d5\u0003", + "\u0002\u0002\u0002\u29f7\u28da\u0003\u0002\u0002\u0002\u29f7\u28e7\u0003", + "\u0002\u0002\u0002\u29f7\u28f5\u0003\u0002\u0002\u0002\u29f7\u2901\u0003", + "\u0002\u0002\u0002\u29f7\u290c\u0003\u0002\u0002\u0002\u29f7\u2913\u0003", + "\u0002\u0002\u0002\u29f7\u2916\u0003\u0002\u0002\u0002\u29f7\u291e\u0003", + "\u0002\u0002\u0002\u29f7\u2925\u0003\u0002\u0002\u0002\u29f7\u292c\u0003", + "\u0002\u0002\u0002\u29f7\u2937\u0003\u0002\u0002\u0002\u29f7\u2947\u0003", + "\u0002\u0002\u0002\u29f7\u2951\u0003\u0002\u0002\u0002\u29f7\u295f\u0003", + "\u0002\u0002\u0002\u29f7\u296a\u0003\u0002\u0002\u0002\u29f7\u2979\u0003", + "\u0002\u0002\u0002\u29f7\u2995\u0003\u0002\u0002\u0002\u29f7\u299d\u0003", + "\u0002\u0002\u0002\u29f7\u29a9\u0003\u0002\u0002\u0002\u29f7\u29ba\u0003", + "\u0002\u0002\u0002\u29f7\u29cc\u0003\u0002\u0002\u0002\u29f7\u29dc\u0003", + "\u0002\u0002\u0002\u29f7\u29f6\u0003\u0002\u0002\u0002\u29f8\u0513\u0003", + "\u0002\u0002\u0002\u29f9\u29fa\t\u0083\u0002\u0002\u29fa\u0515\u0003", + "\u0002\u0002\u0002\u29fb\u29fc\t\u0084\u0002\u0002\u29fc\u0517\u0003", + "\u0002\u0002\u0002\u29fd\u29fe\t\u0085\u0002\u0002\u29fe\u0519\u0003", + "\u0002\u0002\u0002\u29ff\u2a00\u0007\u04a4\u0002\u0002\u2a00\u2a02\u0007", + "\u08b1\u0002\u0002\u2a01\u2a03\u0005\u043c\u021f\u0002\u2a02\u2a01\u0003", + "\u0002\u0002\u0002\u2a02\u2a03\u0003\u0002\u0002\u0002\u2a03\u2a08\u0003", + "\u0002\u0002\u0002\u2a04\u2a06\u0005\u0480\u0241\u0002\u2a05\u2a07\u0005", + "\u051c\u028f\u0002\u2a06\u2a05\u0003\u0002\u0002\u0002\u2a06\u2a07\u0003", + "\u0002\u0002\u0002\u2a07\u2a09\u0003\u0002\u0002\u0002\u2a08\u2a04\u0003", + "\u0002\u0002\u0002\u2a08\u2a09\u0003\u0002\u0002\u0002\u2a09\u2a0a\u0003", + "\u0002\u0002\u0002\u2a0a\u2a0b\u0007\u08b2\u0002\u0002\u2a0b\u051b\u0003", + "\u0002\u0002\u0002\u2a0c\u2a13\u0005\u051e\u0290\u0002\u2a0d\u2a0e\u0007", + "m\u0002\u0002\u2a0e\u2a0f\u0005\u0520\u0291\u0002\u2a0f\u2a10\u0007", + "-\u0002\u0002\u2a10\u2a11\u0005\u0520\u0291\u0002\u2a11\u2a14\u0003", + "\u0002\u0002\u0002\u2a12\u2a14\u0005\u0520\u0291\u0002\u2a13\u2a0d\u0003", + "\u0002\u0002\u0002\u2a13\u2a12\u0003\u0002\u0002\u0002\u2a14\u051d\u0003", + "\u0002\u0002\u0002\u2a15\u2a16\t\u0086\u0002\u0002\u2a16\u051f\u0003", + "\u0002\u0002\u0002\u2a17\u2a18\u0007\u07cc\u0002\u0002\u2a18\u2a1f\u0007", + "\u050c\u0002\u0002\u2a19\u2a1a\u0007\u0130\u0002\u0002\u2a1a\u2a1f\u0007", + "\u05ad\u0002\u0002\u2a1b\u2a1c\u0005\u04ea\u0276\u0002\u2a1c\u2a1d\t", + "\u0087\u0002\u0002\u2a1d\u2a1f\u0003\u0002\u0002\u0002\u2a1e\u2a17\u0003", + "\u0002\u0002\u0002\u2a1e\u2a19\u0003\u0002\u0002\u0002\u2a1e\u2a1b\u0003", + "\u0002\u0002\u0002\u2a1f\u0521\u0003\u0002\u0002\u0002\u2a20\u2a2a\u0007", + "\u0811\u0002\u0002\u2a21\u2a2b\u0007\u08b4\u0002\u0002\u2a22\u2a27\u0005", + "\u0524\u0293\u0002\u2a23\u2a24\u0007\u08b7\u0002\u0002\u2a24\u2a26\u0005", + "\u0524\u0293\u0002\u2a25\u2a23\u0003\u0002\u0002\u0002\u2a26\u2a29\u0003", + "\u0002\u0002\u0002\u2a27\u2a25\u0003\u0002\u0002\u0002\u2a27\u2a28\u0003", + "\u0002\u0002\u0002\u2a28\u2a2b\u0003\u0002\u0002\u0002\u2a29\u2a27\u0003", + "\u0002\u0002\u0002\u2a2a\u2a21\u0003\u0002\u0002\u0002\u2a2a\u2a22\u0003", + "\u0002\u0002\u0002\u2a2b\u0523\u0003\u0002\u0002\u0002\u2a2c\u2a2e\u0007", + "\u028e\u0002\u0002\u2a2d\u2a2f\u0007\u04a0\u0002\u0002\u2a2e\u2a2d\u0003", + "\u0002\u0002\u0002\u2a2e\u2a2f\u0003\u0002\u0002\u0002\u2a2f\u2a32\u0003", + "\u0002\u0002\u0002\u2a30\u2a32\u0007\u04a0\u0002\u0002\u2a31\u2a2c\u0003", + "\u0002\u0002\u0002\u2a31\u2a30\u0003\u0002\u0002\u0002\u2a31\u2a32\u0003", + "\u0002\u0002\u0002\u2a32\u2a33\u0003\u0002\u0002\u0002\u2a33\u2a34\u0005", + "\u042a\u0216\u0002\u2a34\u0525\u0003\u0002\u0002\u0002\u2a35\u2a36\u0007", + "\u0492\u0002\u0002\u2a36\u2a37\u0007\u0094\u0002\u0002\u2a37\u2a38\u0005", + "\u04ea\u0276\u0002\u2a38\u0527\u0003\u0002\u0002\u0002\u2a39\u2a3a\u0007", + "\u0848\u0002\u0002\u2a3a\u2a3b\u0007\u023f\u0002\u0002\u2a3b\u2a3c\u0007", + "\u08b1\u0002\u0002\u2a3c\u2a3d\u0005\u0480\u0241\u0002\u2a3d\u2a3e\u0007", + "\u08b2\u0002\u0002\u2a3e\u2a41\u0003\u0002\u0002\u0002\u2a3f\u2a41\u0005", + "\u051a\u028e\u0002\u2a40\u2a39\u0003\u0002\u0002\u0002\u2a40\u2a3f\u0003", + "\u0002\u0002\u0002\u2a41\u0529\u0003\u0002\u0002\u0002\u2a42\u2a58\u0007", + "\u0119\u0002\u0002\u2a43\u2a45\u0007\u0358\u0002\u0002\u2a44\u2a46\u0007", + "U\u0002\u0002\u2a45\u2a44\u0003\u0002\u0002\u0002\u2a45\u2a46\u0003", + "\u0002\u0002\u0002\u2a46\u2a59\u0003\u0002\u0002\u0002\u2a47\u2a48\u0007", + "\u08b1\u0002\u0002\u2a48\u2a4d\u0005\u0554\u02ab\u0002\u2a49\u2a4a\u0007", + "\u08b7\u0002\u0002\u2a4a\u2a4c\u0005\u0554\u02ab\u0002\u2a4b\u2a49\u0003", + "\u0002\u0002\u0002\u2a4c\u2a4f\u0003\u0002\u0002\u0002\u2a4d\u2a4b\u0003", + "\u0002\u0002\u0002\u2a4d\u2a4e\u0003\u0002\u0002\u0002\u2a4e\u2a50\u0003", + "\u0002\u0002\u0002\u2a4f\u2a4d\u0003\u0002\u0002\u0002\u2a50\u2a51\u0007", + "\u08b2\u0002\u0002\u2a51\u2a52\u0007\u081b\u0002\u0002\u2a52\u2a54\u0007", + "\u08b1\u0002\u0002\u2a53\u2a55\u0005\u04d2\u026a\u0002\u2a54\u2a53\u0003", + "\u0002\u0002\u0002\u2a54\u2a55\u0003\u0002\u0002\u0002\u2a55\u2a56\u0003", + "\u0002\u0002\u0002\u2a56\u2a57\u0007\u08b2\u0002\u0002\u2a57\u2a59\u0003", + "\u0002\u0002\u0002\u2a58\u2a43\u0003\u0002\u0002\u0002\u2a58\u2a47\u0003", + "\u0002\u0002\u0002\u2a59\u052b\u0003\u0002\u0002\u0002\u2a5a\u2a5d\u0007", + "\u04bd\u0002\u0002\u2a5b\u2a5c\u0007\u0094\u0002\u0002\u2a5c\u2a5e\u0007", + "\u081c\u0002\u0002\u2a5d\u2a5b\u0003\u0002\u0002\u0002\u2a5d\u2a5e\u0003", + "\u0002\u0002\u0002\u2a5e\u2a5f\u0003\u0002\u0002\u0002\u2a5f\u2a61\u0005", + "\u04d4\u026b\u0002\u2a60\u2a62\u0005\u054a\u02a6\u0002\u2a61\u2a60\u0003", + "\u0002\u0002\u0002\u2a61\u2a62\u0003\u0002\u0002\u0002\u2a62\u2a6a\u0003", + "\u0002\u0002\u0002\u2a63\u2a64\u0007\u08b7\u0002\u0002\u2a64\u2a66\u0005", + "\u04d4\u026b\u0002\u2a65\u2a67\u0005\u054a\u02a6\u0002\u2a66\u2a65\u0003", + "\u0002\u0002\u0002\u2a66\u2a67\u0003\u0002\u0002\u0002\u2a67\u2a69\u0003", + "\u0002\u0002\u0002\u2a68\u2a63\u0003\u0002\u0002\u0002\u2a69\u2a6c\u0003", + "\u0002\u0002\u0002\u2a6a\u2a68\u0003\u0002\u0002\u0002\u2a6a\u2a6b\u0003", + "\u0002\u0002\u0002\u2a6b\u052d\u0003\u0002\u0002\u0002\u2a6c\u2a6a\u0003", + "\u0002\u0002\u0002\u2a6d\u2a6e\u0007\u0856\u0002\u0002\u2a6e\u2a70\u0007", + "\u08b1\u0002\u0002\u2a6f\u2a71\t\u007f\u0002\u0002\u2a70\u2a6f\u0003", + "\u0002\u0002\u0002\u2a70\u2a71\u0003\u0002\u0002\u0002\u2a71\u2a73\u0003", + "\u0002\u0002\u0002\u2a72\u2a74\t\u0088\u0002\u0002\u2a73\u2a72\u0003", + "\u0002\u0002\u0002\u2a73\u2a74\u0003\u0002\u0002\u0002\u2a74\u2a75\u0003", + "\u0002\u0002\u0002\u2a75\u2a7a\u0005\u0536\u029c\u0002\u2a76\u2a77\u0007", + "\u08b7\u0002\u0002\u2a77\u2a79\u0005\u0536\u029c\u0002\u2a78\u2a76\u0003", + "\u0002\u0002\u0002\u2a79\u2a7c\u0003\u0002\u0002\u0002\u2a7a\u2a78\u0003", + "\u0002\u0002\u0002\u2a7a\u2a7b\u0003\u0002\u0002\u0002\u2a7b\u2a7d\u0003", + "\u0002\u0002\u0002\u2a7c\u2a7a\u0003\u0002\u0002\u0002\u2a7d\u2a7e\u0007", + "\u08b2\u0002\u0002\u2a7e\u052f\u0003\u0002\u0002\u0002\u2a7f\u2a80\u0007", + "\u0868\u0002\u0002\u2a80\u2a84\u0007\u08b1\u0002\u0002\u2a81\u2a82\u0005", + "\u04ea\u0276\u0002\u2a82\u2a83\u0005\u054a\u02a6\u0002\u2a83\u2a85\u0003", + "\u0002\u0002\u0002\u2a84\u2a81\u0003\u0002\u0002\u0002\u2a84\u2a85\u0003", + "\u0002\u0002\u0002\u2a85\u2a8c\u0003\u0002\u0002\u0002\u2a86\u2a87\u0007", + "\u08b7\u0002\u0002\u2a87\u2a88\u0005\u04ea\u0276\u0002\u2a88\u2a89\u0005", + "\u054a\u02a6\u0002\u2a89\u2a8b\u0003\u0002\u0002\u0002\u2a8a\u2a86\u0003", + "\u0002\u0002\u0002\u2a8b\u2a8e\u0003\u0002\u0002\u0002\u2a8c\u2a8a\u0003", + "\u0002\u0002\u0002\u2a8c\u2a8d\u0003\u0002\u0002\u0002\u2a8d\u2a90\u0003", + "\u0002\u0002\u0002\u2a8e\u2a8c\u0003\u0002\u0002\u0002\u2a8f\u2a91\u0005", + "\u0534\u029b\u0002\u2a90\u2a8f\u0003\u0002\u0002\u0002\u2a90\u2a91\u0003", + "\u0002\u0002\u0002\u2a91\u2a92\u0003\u0002\u0002\u0002\u2a92\u2a93\u0007", + "\u08b2\u0002\u0002\u2a93\u0531\u0003\u0002\u0002\u0002\u2a94\u2a9f\u0005", + "\u0552\u02aa\u0002\u2a95\u2a96\u0007\u0224\u0002\u0002\u2a96\u2aa0\u0007", + "\u0493\u0002\u0002\u2a97\u2a9a\u0005\u05b4\u02db\u0002\u2a98\u2a99\u0007", + "\u04c7\u0002\u0002\u2a99\u2a9b\u0005\u04ea\u0276\u0002\u2a9a\u2a98\u0003", + "\u0002\u0002\u0002\u2a9a\u2a9b\u0003\u0002\u0002\u0002\u2a9b\u2a9d\u0003", + "\u0002\u0002\u0002\u2a9c\u2a9e\u0005\u0534\u029b\u0002\u2a9d\u2a9c\u0003", + "\u0002\u0002\u0002\u2a9d\u2a9e\u0003\u0002\u0002\u0002\u2a9e\u2aa0\u0003", + "\u0002\u0002\u0002\u2a9f\u2a95\u0003\u0002\u0002\u0002\u2a9f\u2a97\u0003", + "\u0002\u0002\u0002\u2aa0\u0533\u0003\u0002\u0002\u0002\u2aa1\u2aa2\u0007", + "\u0161\u0002\u0002\u2aa2\u2aa3\u0005\u04ea\u0276\u0002\u2aa3\u0535\u0003", + "\u0002\u0002\u0002\u2aa4\u2aab\u0005\u04d4\u026b\u0002\u2aa5\u2aa9\u0007", + "?\u0002\u0002\u2aa6\u2aaa\u0005\u05d2\u02ea\u0002\u2aa7\u2aa8\u0007", + "\u01d0\u0002\u0002\u2aa8\u2aaa\u0005\u04ea\u0276\u0002\u2aa9\u2aa6\u0003", + "\u0002\u0002\u0002\u2aa9\u2aa7\u0003\u0002\u0002\u0002\u2aaa\u2aac\u0003", + "\u0002\u0002\u0002\u2aab\u2aa5\u0003\u0002\u0002\u0002\u2aab\u2aac\u0003", + "\u0002\u0002\u0002\u2aac\u0537\u0003\u0002\u0002\u0002\u2aad\u2ab1\u0007", + "\u0834\u0002\u0002\u2aae\u2aaf\u0007\u03f4\u0002\u0002\u2aaf\u2ab2\u0007", + "\u081c\u0002\u0002\u2ab0\u2ab2\u0005\u04d4\u026b\u0002\u2ab1\u2aae\u0003", + "\u0002\u0002\u0002\u2ab1\u2ab0\u0003\u0002\u0002\u0002\u2ab2\u0539\u0003", + "\u0002\u0002\u0002\u2ab3\u2ab9\u0007\u061c\u0002\u0002\u2ab4\u2aba\u0007", + "\u087c\u0002\u0002\u2ab5\u2ab7\u0007\u03f4\u0002\u0002\u2ab6\u2ab8\u0007", + "\u081c\u0002\u0002\u2ab7\u2ab6\u0003\u0002\u0002\u0002\u2ab7\u2ab8\u0003", + "\u0002\u0002\u0002\u2ab8\u2aba\u0003\u0002\u0002\u0002\u2ab9\u2ab4\u0003", + "\u0002\u0002\u0002\u2ab9\u2ab5\u0003\u0002\u0002\u0002\u2aba\u053b\u0003", + "\u0002\u0002\u0002\u2abb\u2abc\u0007\u01bc\u0002\u0002\u2abc\u2abd\u0005", + "\u04ea\u0276\u0002\u2abd\u053d\u0003\u0002\u0002\u0002\u2abe\u2abf\u0007", + "\u0834\u0002\u0002\u2abf\u2ac0\u0005\u04ea\u0276\u0002\u2ac0\u053f\u0003", + "\u0002\u0002\u0002\u2ac1\u2ac2\u0007\u03f4\u0002\u0002\u2ac2\u2aca\u0007", + "\u0271\u0002\u0002\u2ac3\u2ac7\u0007\u0271\u0002\u0002\u2ac4\u2ac5\u0007", + "\u0601\u0002\u0002\u2ac5\u2ac6\u0007\u08c5\u0002\u0002\u2ac6\u2ac8\u0005", + "\u04ea\u0276\u0002\u2ac7\u2ac4\u0003\u0002\u0002\u0002\u2ac7\u2ac8\u0003", + "\u0002\u0002\u0002\u2ac8\u2aca\u0003\u0002\u0002\u0002\u2ac9\u2ac1\u0003", + "\u0002\u0002\u0002\u2ac9\u2ac3\u0003\u0002\u0002\u0002\u2aca\u0541\u0003", + "\u0002\u0002\u0002\u2acb\u2ad4\u0007\u08b8\u0002\u0002\u2acc\u2ad4\u0007", + "\u01e2\u0002\u0002\u2acd\u2ad4\u0007\u08cc\u0002\u0002\u2ace\u2acf\u0007", + "\u05f2\u0002\u0002\u2acf\u2ad4\t\u0089\u0002\u0002\u2ad0\u2ad4\u0007", + "\u08cd\u0002\u0002\u2ad1\u2ad4\u0005\u0544\u02a3\u0002\u2ad2\u2ad4\u0005", + "\u0546\u02a4\u0002\u2ad3\u2acb\u0003\u0002\u0002\u0002\u2ad3\u2acc\u0003", + "\u0002\u0002\u0002\u2ad3\u2acd\u0003\u0002\u0002\u0002\u2ad3\u2ace\u0003", + "\u0002\u0002\u0002\u2ad3\u2ad0\u0003\u0002\u0002\u0002\u2ad3\u2ad1\u0003", + "\u0002\u0002\u0002\u2ad3\u2ad2\u0003\u0002\u0002\u0002\u2ad4\u0543\u0003", + "\u0002\u0002\u0002\u2ad5\u2ad6\u0007\u0842\u0002\u0002\u2ad6\u2ae1\t", + "\u008a\u0002\u0002\u2ad7\u2adc\u0007\u01e2\u0002\u0002\u2ad8\u2add\u0007", + "\u0654\u0002\u0002\u2ad9\u2add\u0007\u01fd\u0002\u0002\u2ada\u2add\u0007", + "\u083e\u0002\u0002\u2adb\u2add\u0005\u0586\u02c4\u0002\u2adc\u2ad8\u0003", + "\u0002\u0002\u0002\u2adc\u2ad9\u0003\u0002\u0002\u0002\u2adc\u2ada\u0003", + "\u0002\u0002\u0002\u2adc\u2adb\u0003\u0002\u0002\u0002\u2add\u2ade\u0003", + "\u0002\u0002\u0002\u2ade\u2ae2\t\u008b\u0002\u0002\u2adf\u2ae0\u0007", + "\u010c\u0002\u0002\u2ae0\u2ae2\t\u008c\u0002\u0002\u2ae1\u2ad7\u0003", + "\u0002\u0002\u0002\u2ae1\u2adf\u0003\u0002\u0002\u0002\u2ae2\u0545\u0003", + "\u0002\u0002\u0002\u2ae3\u2ae4\u0007\u05e8\u0002\u0002\u2ae4\u2aea\u0005", + "\u05d6\u02ec\u0002\u2ae5\u2aeb\u0007\u08ad\u0002\u0002\u2ae6\u2aeb\u0007", + "\u046a\u0002\u0002\u2ae7\u2aeb\u0007\u045b\u0002\u0002\u2ae8\u2aeb\u0005", + "\u05ca\u02e6\u0002\u2ae9\u2aeb\u0005\u05d6\u02ec\u0002\u2aea\u2ae5\u0003", + "\u0002\u0002\u0002\u2aea\u2ae6\u0003\u0002\u0002\u0002\u2aea\u2ae7\u0003", + "\u0002\u0002\u0002\u2aea\u2ae8\u0003\u0002\u0002\u0002\u2aea\u2ae9\u0003", + "\u0002\u0002\u0002\u2aeb\u0547\u0003\u0002\u0002\u0002\u2aec\u2aee\t", + "\u008d\u0002\u0002\u2aed\u2aef\u0007\u0224\u0002\u0002\u2aee\u2aed\u0003", + "\u0002\u0002\u0002\u2aee\u2aef\u0003\u0002\u0002\u0002\u2aef\u2af0\u0003", + "\u0002\u0002\u0002\u2af0\u2af2\u0007\u08b1\u0002\u0002\u2af1\u2af3\u0005", + "\u04d2\u026a\u0002\u2af2\u2af1\u0003\u0002\u0002\u0002\u2af2\u2af3\u0003", + "\u0002\u0002\u0002\u2af3\u2af4\u0003\u0002\u0002\u0002\u2af4\u2af5\u0007", + "\u08b2\u0002\u0002\u2af5\u0549\u0003\u0002\u0002\u0002\u2af6\u2af8\u0007", + "?\u0002\u0002\u2af7\u2af6\u0003\u0002\u0002\u0002\u2af7\u2af8\u0003", + "\u0002\u0002\u0002\u2af8\u2afb\u0003\u0002\u0002\u0002\u2af9\u2afc\u0005", + "\u05d0\u02e9\u0002\u2afa\u2afc\u0005\u05ce\u02e8\u0002\u2afb\u2af9\u0003", + "\u0002\u0002\u0002\u2afb\u2afa\u0003\u0002\u0002\u0002\u2afc\u2aff\u0003", + "\u0002\u0002\u0002\u2afd\u2aff\u0007?\u0002\u0002\u2afe\u2af7\u0003", + "\u0002\u0002\u0002\u2afe\u2afd\u0003\u0002\u0002\u0002\u2aff\u054b\u0003", + "\u0002\u0002\u0002\u2b00\u2b03\u0005\u05d0\u02e9\u0002\u2b01\u2b03\u0005", + "\u05ce\u02e8\u0002\u2b02\u2b00\u0003\u0002\u0002\u0002\u2b02\u2b01\u0003", + "\u0002\u0002\u0002\u2b03\u054d\u0003\u0002\u0002\u0002\u2b04\u2b09\u0007", + "\u0844\u0002\u0002\u2b05\u2b06\u0007\u0130\u0002\u0002\u2b06\u2b07\u0007", + "\u045d\u0002\u0002\u2b07\u2b0a\u0005\u058a\u02c6\u0002\u2b08\u2b0a\u0005", + "\u04d4\u026b\u0002\u2b09\u2b05\u0003\u0002\u0002\u0002\u2b09\u2b08\u0003", + "\u0002\u0002\u0002\u2b0a\u054f\u0003\u0002\u0002\u0002\u2b0b\u2b0c\u0007", + "\u0093\u0002\u0002\u2b0c\u2b0e\u0007\u00d4\u0002\u0002\u2b0d\u2b0b\u0003", + "\u0002\u0002\u0002\u2b0d\u2b0e\u0003\u0002\u0002\u0002\u2b0e\u2b0f\u0003", + "\u0002\u0002\u0002\u2b0f\u2b10\u0007\u02b5\u0002\u0002\u2b10\u2b15\u0005", + "\u0586\u02c4\u0002\u2b11\u2b12\u0007\u08b7\u0002\u0002\u2b12\u2b14\u0005", + "\u0586\u02c4\u0002\u2b13\u2b11\u0003\u0002\u0002\u0002\u2b14\u2b17\u0003", + "\u0002\u0002\u0002\u2b15\u2b13\u0003\u0002\u0002\u0002\u2b15\u2b16\u0003", + "\u0002\u0002\u0002\u2b16\u0551\u0003\u0002\u0002\u0002\u2b17\u2b15\u0003", + "\u0002\u0002\u0002\u2b18\u2b1b\u0005\u05d0\u02e9\u0002\u2b19\u2b1b\u0005", + "\u05ce\u02e8\u0002\u2b1a\u2b18\u0003\u0002\u0002\u0002\u2b1a\u2b19\u0003", + "\u0002\u0002\u0002\u2b1b\u0553\u0003\u0002\u0002\u0002\u2b1c\u2b1d\u0005", + "\u05d0\u02e9\u0002\u2b1d\u0555\u0003\u0002\u0002\u0002\u2b1e\u2b1f\u0005", + "\u05d0\u02e9\u0002\u2b1f\u0557\u0003\u0002\u0002\u0002\u2b20\u2b21\u0005", + "\u05d0\u02e9\u0002\u2b21\u0559\u0003\u0002\u0002\u0002\u2b22\u2b23\u0005", + "\u05d0\u02e9\u0002\u2b23\u055b\u0003\u0002\u0002\u0002\u2b24\u2b25\u0005", + "\u05d0\u02e9\u0002\u2b25\u055d\u0003\u0002\u0002\u0002\u2b26\u2b27\u0005", + "\u05d0\u02e9\u0002\u2b27\u055f\u0003\u0002\u0002\u0002\u2b28\u2b2d\u0005", + "\u05d0\u02e9\u0002\u2b29\u2b2a\u0007\u08aa\u0002\u0002\u2b2a\u2b2c\u0005", + "\u05d2\u02ea\u0002\u2b2b\u2b29\u0003\u0002\u0002\u0002\u2b2c\u2b2f\u0003", + "\u0002\u0002\u0002\u2b2d\u2b2b\u0003\u0002\u0002\u0002\u2b2d\u2b2e\u0003", + "\u0002\u0002\u0002\u2b2e\u2b32\u0003\u0002\u0002\u0002\u2b2f\u2b2d\u0003", + "\u0002\u0002\u0002\u2b30\u2b31\u0007\u08b9\u0002\u0002\u2b31\u2b33\u0005", + "\u0590\u02c9\u0002\u2b32\u2b30\u0003\u0002\u0002\u0002\u2b32\u2b33\u0003", + "\u0002\u0002\u0002\u2b33\u0561\u0003\u0002\u0002\u0002\u2b34\u2b35\u0005", + "\u05d0\u02e9\u0002\u2b35\u0563\u0003\u0002\u0002\u0002\u2b36\u2b39\u0005", + "\u05d0\u02e9\u0002\u2b37\u2b38\u0007\u08aa\u0002\u0002\u2b38\u2b3a\u0005", + "\u05d2\u02ea\u0002\u2b39\u2b37\u0003\u0002\u0002\u0002\u2b39\u2b3a\u0003", + "\u0002\u0002\u0002\u2b3a\u0565\u0003\u0002\u0002\u0002\u2b3b\u2b3c\u0005", + "\u05d0\u02e9\u0002\u2b3c\u0567\u0003\u0002\u0002\u0002\u2b3d\u2b3e\u0005", + "\u05d0\u02e9\u0002\u2b3e\u0569\u0003\u0002\u0002\u0002\u2b3f\u2b40\u0005", + "\u05d0\u02e9\u0002\u2b40\u056b\u0003\u0002\u0002\u0002\u2b41\u2b44\u0005", + "\u05d0\u02e9\u0002\u2b42\u2b43\u0007\u08aa\u0002\u0002\u2b43\u2b45\u0005", + "\u05d2\u02ea\u0002\u2b44\u2b42\u0003\u0002\u0002\u0002\u2b44\u2b45\u0003", + "\u0002\u0002\u0002\u2b45\u056d\u0003\u0002\u0002\u0002\u2b46\u2b4b\u0005", + "\u05d0\u02e9\u0002\u2b47\u2b48\u0007\u08aa\u0002\u0002\u2b48\u2b4a\u0005", + "\u05d2\u02ea\u0002\u2b49\u2b47\u0003\u0002\u0002\u0002\u2b4a\u2b4d\u0003", + "\u0002\u0002\u0002\u2b4b\u2b49\u0003\u0002\u0002\u0002\u2b4b\u2b4c\u0003", + "\u0002\u0002\u0002\u2b4c\u056f\u0003\u0002\u0002\u0002\u2b4d\u2b4b\u0003", + "\u0002\u0002\u0002\u2b4e\u2b4f\u0005\u05d0\u02e9\u0002\u2b4f\u0571\u0003", + "\u0002\u0002\u0002\u2b50\u2b52\u0005\u05d2\u02ea\u0002\u2b51\u2b53\u0005", + "\u0116\u008c\u0002\u2b52\u2b51\u0003\u0002\u0002\u0002\u2b52\u2b53\u0003", + "\u0002\u0002\u0002\u2b53\u0573\u0003\u0002\u0002\u0002\u2b54\u2b57\u0005", + "\u05d2\u02ea\u0002\u2b55\u2b57\u0007\u00fd\u0002\u0002\u2b56\u2b54\u0003", + "\u0002\u0002\u0002\u2b56\u2b55\u0003\u0002\u0002\u0002\u2b57\u0575\u0003", + "\u0002\u0002\u0002\u2b58\u2b5d\u0005\u05d0\u02e9\u0002\u2b59\u2b5a\u0007", + "\u08aa\u0002\u0002\u2b5a\u2b5c\u0005\u05d2\u02ea\u0002\u2b5b\u2b59\u0003", + "\u0002\u0002\u0002\u2b5c\u2b5f\u0003\u0002\u0002\u0002\u2b5d\u2b5b\u0003", + "\u0002\u0002\u0002\u2b5d\u2b5e\u0003\u0002\u0002\u0002\u2b5e\u2b62\u0003", + "\u0002\u0002\u0002\u2b5f\u2b5d\u0003\u0002\u0002\u0002\u2b60\u2b61\u0007", + "\u08b9\u0002\u0002\u2b61\u2b63\u0005\u0590\u02c9\u0002\u2b62\u2b60\u0003", + "\u0002\u0002\u0002\u2b62\u2b63\u0003\u0002\u0002\u0002\u2b63\u0577\u0003", + "\u0002\u0002\u0002\u2b64\u2b65\u0005\u05d2\u02ea\u0002\u2b65\u0579\u0003", + "\u0002\u0002\u0002\u2b66\u2b6b\u0005\u05d2\u02ea\u0002\u2b67\u2b68\u0007", + "\u08aa\u0002\u0002\u2b68\u2b6a\u0005\u05d2\u02ea\u0002\u2b69\u2b67\u0003", + "\u0002\u0002\u0002\u2b6a\u2b6d\u0003\u0002\u0002\u0002\u2b6b\u2b69\u0003", + "\u0002\u0002\u0002\u2b6b\u2b6c\u0003\u0002\u0002\u0002\u2b6c\u057b\u0003", + "\u0002\u0002\u0002\u2b6d\u2b6b\u0003\u0002\u0002\u0002\u2b6e\u2b73\u0005", + "\u05d2\u02ea\u0002\u2b6f\u2b70\u0007\u08aa\u0002\u0002\u2b70\u2b72\u0005", + "\u05d2\u02ea\u0002\u2b71\u2b6f\u0003\u0002\u0002\u0002\u2b72\u2b75\u0003", + "\u0002\u0002\u0002\u2b73\u2b71\u0003\u0002\u0002\u0002\u2b73\u2b74\u0003", + "\u0002\u0002\u0002\u2b74\u057d\u0003\u0002\u0002\u0002\u2b75\u2b73\u0003", + "\u0002\u0002\u0002\u2b76\u2b7b\u0005\u05d0\u02e9\u0002\u2b77\u2b78\u0007", + "\u08aa\u0002\u0002\u2b78\u2b7a\u0005\u05d2\u02ea\u0002\u2b79\u2b77\u0003", + "\u0002\u0002\u0002\u2b7a\u2b7d\u0003\u0002\u0002\u0002\u2b7b\u2b79\u0003", + "\u0002\u0002\u0002\u2b7b\u2b7c\u0003\u0002\u0002\u0002\u2b7c\u057f\u0003", + "\u0002\u0002\u0002\u2b7d\u2b7b\u0003\u0002\u0002\u0002\u2b7e\u2b81\u0005", + "\u05d0\u02e9\u0002\u2b7f\u2b80\u0007\u08aa\u0002\u0002\u2b80\u2b82\u0005", + "\u05d2\u02ea\u0002\u2b81\u2b7f\u0003\u0002\u0002\u0002\u2b81\u2b82\u0003", + "\u0002\u0002\u0002\u2b82\u0581\u0003\u0002\u0002\u0002\u2b83\u2b86\u0005", + "\u05d0\u02e9\u0002\u2b84\u2b85\u0007\u08aa\u0002\u0002\u2b85\u2b87\u0005", + "\u05d2\u02ea\u0002\u2b86\u2b84\u0003\u0002\u0002\u0002\u2b86\u2b87\u0003", + "\u0002\u0002\u0002\u2b87\u0583\u0003\u0002\u0002\u0002\u2b88\u2b8b\u0005", + "\u05d0\u02e9\u0002\u2b89\u2b8a\u0007\u08aa\u0002\u0002\u2b8a\u2b8c\u0005", + "\u05d2\u02ea\u0002\u2b8b\u2b89\u0003\u0002\u0002\u0002\u2b8b\u2b8c\u0003", + "\u0002\u0002\u0002\u2b8c\u0585\u0003\u0002\u0002\u0002\u2b8d\u2b8e\u0007", + "\u08c8\u0002\u0002\u2b8e\u2b90\u0005\u0598\u02cd\u0002\u2b8f\u2b8d\u0003", + "\u0002\u0002\u0002\u2b8f\u2b90\u0003\u0002\u0002\u0002\u2b90\u2b91\u0003", + "\u0002\u0002\u0002\u2b91\u2b94\u0005\u05d2\u02ea\u0002\u2b92\u2b93\u0007", + "\u08aa\u0002\u0002\u2b93\u2b95\u0005\u05d2\u02ea\u0002\u2b94\u2b92\u0003", + "\u0002\u0002\u0002\u2b94\u2b95\u0003\u0002\u0002\u0002\u2b95\u2b98\u0003", + "\u0002\u0002\u0002\u2b96\u2b98\u0005\u05bc\u02df\u0002\u2b97\u2b8f\u0003", + "\u0002\u0002\u0002\u2b97\u2b96\u0003\u0002\u0002\u0002\u2b98\u0587\u0003", + "\u0002\u0002\u0002\u2b99\u2b9c\u0005\u05d0\u02e9\u0002\u2b9a\u2b9b\u0007", + "\u08aa\u0002\u0002\u2b9b\u2b9d\u0005\u05d2\u02ea\u0002\u2b9c\u2b9a\u0003", + "\u0002\u0002\u0002\u2b9c\u2b9d\u0003\u0002\u0002\u0002\u2b9d\u0589\u0003", + "\u0002\u0002\u0002\u2b9e\u2ba1\u0005\u05be\u02e0\u0002\u2b9f\u2ba1\u0005", + "\u05bc\u02df\u0002\u2ba0\u2b9e\u0003\u0002\u0002\u0002\u2ba0\u2b9f\u0003", + "\u0002\u0002\u0002\u2ba1\u058b\u0003\u0002\u0002\u0002\u2ba2\u2ba5\u0005", + "\u05d0\u02e9\u0002\u2ba3\u2ba5\u0005\u05bc\u02df\u0002\u2ba4\u2ba2\u0003", + "\u0002\u0002\u0002\u2ba4\u2ba3\u0003\u0002\u0002\u0002\u2ba5\u058d\u0003", + "\u0002\u0002\u0002\u2ba6\u2ba9\u0005\u05d0\u02e9\u0002\u2ba7\u2ba8\u0007", + "\u08aa\u0002\u0002\u2ba8\u2baa\u0005\u05d2\u02ea\u0002\u2ba9\u2ba7\u0003", + "\u0002\u0002\u0002\u2ba9\u2baa\u0003\u0002\u0002\u0002\u2baa\u058f\u0003", + "\u0002\u0002\u0002\u2bab\u2bac\u0005\u05d0\u02e9\u0002\u2bac\u0591\u0003", + "\u0002\u0002\u0002\u2bad\u2bb2\u0005\u05d0\u02e9\u0002\u2bae\u2baf\u0007", + "\u08aa\u0002\u0002\u2baf\u2bb1\u0005\u05d2\u02ea\u0002\u2bb0\u2bae\u0003", + "\u0002\u0002\u0002\u2bb1\u2bb4\u0003\u0002\u0002\u0002\u2bb2\u2bb0\u0003", + "\u0002\u0002\u0002\u2bb2\u2bb3\u0003\u0002\u0002\u0002\u2bb3\u0593\u0003", + "\u0002\u0002\u0002\u2bb4\u2bb2\u0003\u0002\u0002\u0002\u2bb5\u2bb8\u0005", + "\u05d0\u02e9\u0002\u2bb6\u2bb7\u0007\u08aa\u0002\u0002\u2bb7\u2bb9\u0005", + "\u05d2\u02ea\u0002\u2bb8\u2bb6\u0003\u0002\u0002\u0002\u2bb8\u2bb9\u0003", + "\u0002\u0002\u0002\u2bb9\u2bbd\u0003\u0002\u0002\u0002\u2bba\u2bbb\u0007", + "\u08b9\u0002\u0002\u2bbb\u2bbe\u0005\u0590\u02c9\u0002\u2bbc\u2bbe\u0005", + "\u0548\u02a5\u0002\u2bbd\u2bba\u0003\u0002\u0002\u0002\u2bbd\u2bbc\u0003", + "\u0002\u0002\u0002\u2bbd\u2bbe\u0003\u0002\u0002\u0002\u2bbe\u2bc4\u0003", + "\u0002\u0002\u0002\u2bbf\u2bc1\u0005\u0596\u02cc\u0002\u2bc0\u2bc2\u0005", + "\u05d4\u02eb\u0002\u2bc1\u2bc0\u0003\u0002\u0002\u0002\u2bc1\u2bc2\u0003", + "\u0002\u0002\u0002\u2bc2\u2bc4\u0003\u0002\u0002\u0002\u2bc3\u2bb5\u0003", + "\u0002\u0002\u0002\u2bc3\u2bbf\u0003\u0002\u0002\u0002\u2bc4\u0595\u0003", + "\u0002\u0002\u0002\u2bc5\u2bc6\u0007\u0871\u0002\u0002\u2bc6\u2bca\u0007", + "\u08b1\u0002\u0002\u2bc7\u2bc8\u0005\u0530\u0299\u0002\u2bc8\u2bc9\u0007", + "\u08b7\u0002\u0002\u2bc9\u2bcb\u0003\u0002\u0002\u0002\u2bca\u2bc7\u0003", + "\u0002\u0002\u0002\u2bca\u2bcb\u0003\u0002\u0002\u0002\u2bcb\u2bcc\u0003", + "\u0002\u0002\u0002\u2bcc\u2bce\u0005\u04ea\u0276\u0002\u2bcd\u2bcf\u0005", + "\u052c\u0297\u0002\u2bce\u2bcd\u0003\u0002\u0002\u0002\u2bce\u2bcf\u0003", + "\u0002\u0002\u0002\u2bcf\u2bd9\u0003\u0002\u0002\u0002\u2bd0\u2bd1\u0007", + "\u00d8\u0002\u0002\u2bd1\u2bd6\u0005\u0532\u029a\u0002\u2bd2\u2bd3\u0007", + "\u08b7\u0002\u0002\u2bd3\u2bd5\u0005\u0532\u029a\u0002\u2bd4\u2bd2\u0003", + "\u0002\u0002\u0002\u2bd5\u2bd8\u0003\u0002\u0002\u0002\u2bd6\u2bd4\u0003", + "\u0002\u0002\u0002\u2bd6\u2bd7\u0003\u0002\u0002\u0002\u2bd7\u2bda\u0003", + "\u0002\u0002\u0002\u2bd8\u2bd6\u0003\u0002\u0002\u0002\u2bd9\u2bd0\u0003", + "\u0002\u0002\u0002\u2bd9\u2bda\u0003\u0002\u0002\u0002\u2bda\u2bdb\u0003", + "\u0002\u0002\u0002\u2bdb\u2bde\u0007\u08b2\u0002\u0002\u2bdc\u2bdd\u0007", + "\u08aa\u0002\u0002\u2bdd\u2bdf\u0005\u05c0\u02e1\u0002\u2bde\u2bdc\u0003", + "\u0002\u0002\u0002\u2bde\u2bdf\u0003\u0002\u0002\u0002\u2bdf\u0597\u0003", + "\u0002\u0002\u0002\u2be0\u2be5\u0005\u05d2\u02ea\u0002\u2be1\u2be2\u0007", + "\u08aa\u0002\u0002\u2be2\u2be4\u0005\u05d2\u02ea\u0002\u2be3\u2be1\u0003", + "\u0002\u0002\u0002\u2be4\u2be7\u0003\u0002\u0002\u0002\u2be5\u2be3\u0003", + "\u0002\u0002\u0002\u2be5\u2be6\u0003\u0002\u0002\u0002\u2be6\u0599\u0003", + "\u0002\u0002\u0002\u2be7\u2be5\u0003\u0002\u0002\u0002\u2be8\u2be9\u0005", + "\u05d0\u02e9\u0002\u2be9\u059b\u0003\u0002\u0002\u0002\u2bea\u2beb\u0005", + "\u05d2\u02ea\u0002\u2beb\u059d\u0003\u0002\u0002\u0002\u2bec\u2bed\u0005", + "\u05d2\u02ea\u0002\u2bed\u059f\u0003\u0002\u0002\u0002\u2bee\u2bef\u0005", + "\u05d2\u02ea\u0002\u2bef\u05a1\u0003\u0002\u0002\u0002\u2bf0\u2c09\u0005", + "\u0594\u02cb\u0002\u2bf1\u2bf2\u0007\u0809\u0002\u0002\u2bf2\u2bf7\u0005", + "\u05a0\u02d1\u0002\u2bf3\u2bf4\u0007\u08b7\u0002\u0002\u2bf4\u2bf6\u0005", + "\u05a0\u02d1\u0002\u2bf5\u2bf3\u0003\u0002\u0002\u0002\u2bf6\u2bf9\u0003", + "\u0002\u0002\u0002\u2bf7\u2bf5\u0003\u0002\u0002\u0002\u2bf7\u2bf8\u0003", + "\u0002\u0002\u0002\u2bf8\u2c09\u0003\u0002\u0002\u0002\u2bf9\u2bf7\u0003", + "\u0002\u0002\u0002\u2bfa\u2bfb\u0007\u017e\u0002\u0002\u2bfb\u2c09\u0005", + "\u059e\u02d0\u0002\u2bfc\u2bfd\u0007\u01aa\u0002\u0002\u2bfd\u2c09\u0005", + "\u059c\u02cf\u0002\u2bfe\u2bff\u0007\u034b\u0002\u0002\u2bff\u2c00\u0007", + "\u0358\u0002\u0002\u2c00\u2c09\u0005\u059c\u02cf\u0002\u2c01\u2c02\u0007", + "\u02be\u0002\u0002\u2c02\u2c03\t\u008e\u0002\u0002\u2c03\u2c09\u0005", + "\u059c\u02cf\u0002\u2c04\u2c05\u0007\u0617\u0002\u0002\u2c05\u2c06\u0007", + "\u07b9\u0002\u0002\u2c06\u2c07\u0007\u0526\u0002\u0002\u2c07\u2c09\u0005", + "\u059c\u02cf\u0002\u2c08\u2bf0\u0003\u0002\u0002\u0002\u2c08\u2bf1\u0003", + "\u0002\u0002\u0002\u2c08\u2bfa\u0003\u0002\u0002\u0002\u2c08\u2bfc\u0003", + "\u0002\u0002\u0002\u2c08\u2bfe\u0003\u0002\u0002\u0002\u2c08\u2c01\u0003", + "\u0002\u0002\u0002\u2c08\u2c04\u0003\u0002\u0002\u0002\u2c09\u05a3\u0003", + "\u0002\u0002\u0002\u2c0a\u2c0f\u0005\u0592\u02ca\u0002\u2c0b\u2c0c\u0007", + "\u08b7\u0002\u0002\u2c0c\u2c0e\u0005\u0592\u02ca\u0002\u2c0d\u2c0b\u0003", + "\u0002\u0002\u0002\u2c0e\u2c11\u0003\u0002\u0002\u0002\u2c0f\u2c0d\u0003", + "\u0002\u0002\u0002\u2c0f\u2c10\u0003\u0002\u0002\u0002\u2c10\u05a5\u0003", + "\u0002\u0002\u0002\u2c11\u2c0f\u0003\u0002\u0002\u0002\u2c12\u2c13\u0007", + "\u08b1\u0002\u0002\u2c13\u2c14\u0005\u05a4\u02d3\u0002\u2c14\u2c15\u0007", + "\u08b2\u0002\u0002\u2c15\u05a7\u0003\u0002\u0002\u0002\u2c16\u2c17\u0007", + "\u02d2\u0002\u0002\u2c17\u2c18\u0007\u08b1\u0002\u0002\u2c18\u2c19\u0007", + "\u0887\u0002\u0002\u2c19\u2c1a\tj\u0002\u0002\u2c1a\u2c1b\u0005\u0480", + "\u0241\u0002\u2c1b\u2c1d\u0007\u08b2\u0002\u0002\u2c1c\u2c1e\u0005\u051a", + "\u028e\u0002\u2c1d\u2c1c\u0003\u0002\u0002\u0002\u2c1d\u2c1e\u0003\u0002", + "\u0002\u0002\u2c1e\u05a9\u0003\u0002\u0002\u0002\u2c1f\u2c28\u0007\u08b1", + "\u0002\u0002\u2c20\u2c25\u0005\u05b2\u02da\u0002\u2c21\u2c22\u0007\u08b7", + "\u0002\u0002\u2c22\u2c24\u0005\u05b2\u02da\u0002\u2c23\u2c21\u0003\u0002", + "\u0002\u0002\u2c24\u2c27\u0003\u0002\u0002\u0002\u2c25\u2c23\u0003\u0002", + "\u0002\u0002\u2c25\u2c26\u0003\u0002\u0002\u0002\u2c26\u2c29\u0003\u0002", + "\u0002\u0002\u2c27\u2c25\u0003\u0002\u0002\u0002\u2c28\u2c20\u0003\u0002", + "\u0002\u0002\u2c28\u2c29\u0003\u0002\u0002\u0002\u2c29\u2c2a\u0003\u0002", + "\u0002\u0002\u2c2a\u2c2c\u0007\u08b2\u0002\u0002\u2c2b\u2c2d\u0005\u05a8", + "\u02d5\u0002\u2c2c\u2c2b\u0003\u0002\u0002\u0002\u2c2c\u2c2d\u0003\u0002", + "\u0002\u0002\u2c2d\u05ab\u0003\u0002\u0002\u0002\u2c2e\u2c3d\u0007\u08b1", + "\u0002\u0002\u2c2f\u2c31\u0005\u05b2\u02da\u0002\u2c30\u2c32\u0005\u05b0", + "\u02d9\u0002\u2c31\u2c30\u0003\u0002\u0002\u0002\u2c31\u2c32\u0003\u0002", + "\u0002\u0002\u2c32\u2c3a\u0003\u0002\u0002\u0002\u2c33\u2c34\u0007\u08b7", + "\u0002\u0002\u2c34\u2c36\u0005\u05b2\u02da\u0002\u2c35\u2c37\u0005\u05b0", + "\u02d9\u0002\u2c36\u2c35\u0003\u0002\u0002\u0002\u2c36\u2c37\u0003\u0002", + "\u0002\u0002\u2c37\u2c39\u0003\u0002\u0002\u0002\u2c38\u2c33\u0003\u0002", + "\u0002\u0002\u2c39\u2c3c\u0003\u0002\u0002\u0002\u2c3a\u2c38\u0003\u0002", + "\u0002\u0002\u2c3a\u2c3b\u0003\u0002\u0002\u0002\u2c3b\u2c3e\u0003\u0002", + "\u0002\u0002\u2c3c\u2c3a\u0003\u0002\u0002\u0002\u2c3d\u2c2f\u0003\u0002", + "\u0002\u0002\u2c3d\u2c3e\u0003\u0002\u0002\u0002\u2c3e\u2c3f\u0003\u0002", + "\u0002\u0002\u2c3f\u2c41\u0007\u08b2\u0002\u0002\u2c40\u2c42\u0005\u05a8", + "\u02d5\u0002\u2c41\u2c40\u0003\u0002\u0002\u0002\u2c41\u2c42\u0003\u0002", + "\u0002\u0002\u2c42\u05ad\u0003\u0002\u0002\u0002\u2c43\u2c44\u0007\u08b1", + "\u0002\u0002\u2c44\u2c51\u0005\u0592\u02ca\u0002\u2c45\u2c48\u0007\u08b7", + "\u0002\u0002\u2c46\u2c49\u0005\u05ca\u02e6\u0002\u2c47\u2c49\u0007\u044b", + "\u0002\u0002\u2c48\u2c46\u0003\u0002\u0002\u0002\u2c48\u2c47\u0003\u0002", + "\u0002\u0002\u2c49\u2c4f\u0003\u0002\u0002\u0002\u2c4a\u2c4d\u0007\u08b7", + "\u0002\u0002\u2c4b\u2c4e\u0005\u05ca\u02e6\u0002\u2c4c\u2c4e\u0007\u044b", + "\u0002\u0002\u2c4d\u2c4b\u0003\u0002\u0002\u0002\u2c4d\u2c4c\u0003\u0002", + "\u0002\u0002\u2c4e\u2c50\u0003\u0002\u0002\u0002\u2c4f\u2c4a\u0003\u0002", + "\u0002\u0002\u2c4f\u2c50\u0003\u0002\u0002\u0002\u2c50\u2c52\u0003\u0002", + "\u0002\u0002\u2c51\u2c45\u0003\u0002\u0002\u0002\u2c51\u2c52\u0003\u0002", + "\u0002\u0002\u2c52\u2c53\u0003\u0002\u0002\u0002\u2c53\u2c67\u0007\u0811", + "\u0002\u0002\u2c54\u2c55\u0005\u0594\u02cb\u0002\u2c55\u2c56\u0007\u08aa", + "\u0002\u0002\u2c56\u2c57\u0007\u08b4\u0002\u0002\u2c57\u2c68\u0003\u0002", + "\u0002\u0002\u2c58\u2c68\u0007\u08b4\u0002\u0002\u2c59\u2c5b\u0005\u04d4", + "\u026b\u0002\u2c5a\u2c5c\u0005\u054a\u02a6\u0002\u2c5b\u2c5a\u0003\u0002", + "\u0002\u0002\u2c5b\u2c5c\u0003\u0002\u0002\u0002\u2c5c\u2c64\u0003\u0002", + "\u0002\u0002\u2c5d\u2c5e\u0007\u08b7\u0002\u0002\u2c5e\u2c60\u0005\u04d4", + "\u026b\u0002\u2c5f\u2c61\u0005\u054a\u02a6\u0002\u2c60\u2c5f\u0003\u0002", + "\u0002\u0002\u2c60\u2c61\u0003\u0002\u0002\u0002\u2c61\u2c63\u0003\u0002", + "\u0002\u0002\u2c62\u2c5d\u0003\u0002\u0002\u0002\u2c63\u2c66\u0003\u0002", + "\u0002\u0002\u2c64\u2c62\u0003\u0002\u0002\u0002\u2c64\u2c65\u0003\u0002", + "\u0002\u0002\u2c65\u2c68\u0003\u0002\u0002\u0002\u2c66\u2c64\u0003\u0002", + "\u0002\u0002\u2c67\u2c54\u0003\u0002\u0002\u0002\u2c67\u2c58\u0003\u0002", + "\u0002\u0002\u2c67\u2c59\u0003\u0002\u0002\u0002\u2c68\u2c69\u0003\u0002", + "\u0002\u0002\u2c69\u2c6b\u0007\u08b2\u0002\u0002\u2c6a\u2c6c\u0005\u05a8", + "\u02d5\u0002\u2c6b\u2c6a\u0003\u0002\u0002\u0002\u2c6b\u2c6c\u0003\u0002", + "\u0002\u0002\u2c6c\u05af\u0003\u0002\u0002\u0002\u2c6d\u2c6e\t\u008f", + "\u0002\u0002\u2c6e\u2c6f\u0007\u044c\u0002\u0002\u2c6f\u05b1\u0003\u0002", + "\u0002\u0002\u2c70\u2c71\u0005\u05d0\u02e9\u0002\u2c71\u2c72\u0007\u08c5", + "\u0002\u0002\u2c72\u2c73\u0007\u08c0\u0002\u0002\u2c73\u2c75\u0003\u0002", + "\u0002\u0002\u2c74\u2c70\u0003\u0002\u0002\u0002\u2c74\u2c75\u0003\u0002", + "\u0002\u0002\u2c75\u2c76\u0003\u0002\u0002\u0002\u2c76\u2c77\u0005\u04d4", + "\u026b\u0002\u2c77\u05b3\u0003\u0002\u0002\u0002\u2c78\u2c81\u0005\u05b6", + "\u02dc\u0002\u2c79\u2c7b\u0007\u0562\u0002\u0002\u2c7a\u2c79\u0003\u0002", + "\u0002\u0002\u2c7a\u2c7b\u0003\u0002\u0002\u0002\u2c7b\u2c7c\u0003\u0002", + "\u0002\u0002\u2c7c\u2c7e\u0005\u057a\u02be\u0002\u2c7d\u2c7f\t\u0090", + "\u0002\u0002\u2c7e\u2c7d\u0003\u0002\u0002\u0002\u2c7e\u2c7f\u0003\u0002", + "\u0002\u0002\u2c7f\u2c81\u0003\u0002\u0002\u0002\u2c80\u2c78\u0003\u0002", + "\u0002\u0002\u2c80\u2c7a\u0003\u0002\u0002\u0002\u2c81\u05b5\u0003\u0002", + "\u0002\u0002\u2c82\u2c84\u0005\u05ba\u02de\u0002\u2c83\u2c85\u0005\u05b8", + "\u02dd\u0002\u2c84\u2c83\u0003\u0002\u0002\u0002\u2c84\u2c85\u0003\u0002", + "\u0002\u0002\u2c85\u2c8f\u0003\u0002\u0002\u0002\u2c86\u2c88\u0007\u084b", + "\u0002\u0002\u2c87\u2c89\u0007\u0303\u0002\u0002\u2c88\u2c87\u0003\u0002", + "\u0002\u0002\u2c88\u2c89\u0003\u0002\u0002\u0002\u2c89\u2c8a\u0003\u0002", + "\u0002\u0002\u2c8a\u2c8b\u0007\u0793\u0002\u0002\u2c8b\u2c90\u0007\u087f", + "\u0002\u0002\u2c8c\u2c8d\u0007\u00b1\u0002\u0002\u2c8d\u2c8e\u0007\u05e8", + "\u0002\u0002\u2c8e\u2c90\u0005\u0598\u02cd\u0002\u2c8f\u2c86\u0003\u0002", + "\u0002\u0002\u2c8f\u2c8c\u0003\u0002\u0002\u0002\u2c8f\u2c90\u0003\u0002", + "\u0002\u0002\u2c90\u2ca2\u0003\u0002\u0002\u0002\u2c91\u2c92\u0007\u02b3", + "\u0002\u0002\u2c92\u2c97\t\u0091\u0002\u0002\u2c93\u2c94\u0007\u08b1", + "\u0002\u0002\u2c94\u2c95\u0005\u04d4\u026b\u0002\u2c95\u2c96\u0007\u08b2", + "\u0002\u0002\u2c96\u2c98\u0003\u0002\u0002\u0002\u2c97\u2c93\u0003\u0002", + "\u0002\u0002\u2c97\u2c98\u0003\u0002\u0002\u0002\u2c98\u2c99\u0003\u0002", + "\u0002\u0002\u2c99\u2c9a\u0007\u07ae\u0002\u0002\u2c9a\u2c9f\t\u0092", + "\u0002\u0002\u2c9b\u2c9c\u0007\u08b1\u0002\u0002\u2c9c\u2c9d\u0005\u04d4", + "\u026b\u0002\u2c9d\u2c9e\u0007\u08b2\u0002\u0002\u2c9e\u2ca0\u0003\u0002", + "\u0002\u0002\u2c9f\u2c9b\u0003\u0002\u0002\u0002\u2c9f\u2ca0\u0003\u0002", + "\u0002\u0002\u2ca0\u2ca2\u0003\u0002\u0002\u0002\u2ca1\u2c82\u0003\u0002", + "\u0002\u0002\u2ca1\u2c91\u0003\u0002\u0002\u0002\u2ca2\u05b7\u0003\u0002", + "\u0002\u0002\u2ca3\u2ca6\u0007\u08b1\u0002\u0002\u2ca4\u2ca7\u0005\u05ca", + "\u02e6\u0002\u2ca5\u2ca7\u0007\u08b4\u0002\u0002\u2ca6\u2ca4\u0003\u0002", + "\u0002\u0002\u2ca6\u2ca5\u0003\u0002\u0002\u0002\u2ca7\u2caa\u0003\u0002", + "\u0002\u0002\u2ca8\u2ca9\u0007\u08b7\u0002\u0002\u2ca9\u2cab\u0005\u05ca", + "\u02e6\u0002\u2caa\u2ca8\u0003\u0002\u0002\u0002\u2caa\u2cab\u0003\u0002", + "\u0002\u0002\u2cab\u2cad\u0003\u0002\u0002\u0002\u2cac\u2cae\t\u0093", + "\u0002\u0002\u2cad\u2cac\u0003\u0002\u0002\u0002\u2cad\u2cae\u0003\u0002", + "\u0002\u0002\u2cae\u2caf\u0003\u0002\u0002\u0002\u2caf\u2cb0\u0007\u08b2", + "\u0002\u0002\u2cb0\u05b9\u0003\u0002\u0002\u0002\u2cb1\u2cee\u0007x", + "\u0002\u0002\u2cb2\u2cee\u0007\u04ed\u0002\u0002\u2cb3\u2cee\u0007\u0378", + "\u0002\u0002\u2cb4\u2cee\u0007u\u0002\u0002\u2cb5\u2cee\u0007r\u0002", + "\u0002\u2cb6\u2cee\u0007\u0379\u0002\u0002\u2cb7\u2cee\u0007\u04fc\u0002", + "\u0002\u2cb8\u2cee\u0007\u04fb\u0002\u0002\u2cb9\u2cee\u0007\u05fa\u0002", + "\u0002\u2cba\u2cee\u0007\u05fb\u0002\u0002\u2cbb\u2cee\u0007\u0452\u0002", + "\u0002\u2cbc\u2cee\u0007\u0158\u0002\u0002\u2cbd\u2cee\u0007\u02ac\u0002", + "\u0002\u2cbe\u2cee\u0007\u02b4\u0002\u0002\u2cbf\u2cee\u0007\u044e\u0002", + "\u0002\u2cc0\u2cee\u0007\u0607\u0002\u0002\u2cc1\u2cee\u0007\u044d\u0002", + "\u0002\u2cc2\u2cee\u0007\u0159\u0002\u0002\u2cc3\u2cc5\u0007\u0199\u0002", + "\u0002\u2cc4\u2cc6\u0007\u050d\u0002\u0002\u2cc5\u2cc4\u0003\u0002\u0002", + "\u0002\u2cc5\u2cc6\u0003\u0002\u0002\u0002\u2cc6\u2cee\u0003\u0002\u0002", + "\u0002\u2cc7\u2cee\u0007\u0218\u0002\u0002\u2cc8\u2cee\u0007\u054e\u0002", + "\u0002\u2cc9\u2cee\u0007\u037c\u0002\u0002\u2cca\u2ccc\u0007\u0316\u0002", + "\u0002\u2ccb\u2ccd\u0007\u0545\u0002\u0002\u2ccc\u2ccb\u0003\u0002\u0002", + "\u0002\u2ccc\u2ccd\u0003\u0002\u0002\u0002\u2ccd\u2cee\u0003\u0002\u0002", + "\u0002\u2cce\u2cee\u0007\u00b2\u0002\u0002\u2ccf\u2cee\u0007\u00b1\u0002", + "\u0002\u2cd0\u2cee\u0007\u081d\u0002\u0002\u2cd1\u2cee\u0007\u081e\u0002", + "\u0002\u2cd2\u2cee\u0007\u0640\u0002\u0002\u2cd3\u2cee\u0007\u0545\u0002", + "\u0002\u2cd4\u2cee\u0007\u0088\u0002\u0002\u2cd5\u2cee\u0007\u0149\u0002", + "\u0002\u2cd6\u2cee\u0007\u05a8\u0002\u0002\u2cd7\u2cee\u0007\u07f2\u0002", + "\u0002\u2cd8\u2cee\u0007\u087b\u0002\u0002\u2cd9\u2cee\u0007\u0366\u0002", + "\u0002\u2cda\u2cee\u0007\u014b\u0002\u0002\u2cdb\u2cee\u0007\u0258\u0002", + "\u0002\u2cdc\u2cee\u0007\u034e\u0002\u0002\u2cdd\u2cee\u0007\u05ca\u0002", + "\u0002\u2cde\u2cee\u0007\u0796\u0002\u0002\u2cdf\u2cee\u0007\u0797\u0002", + "\u0002\u2ce0\u2cee\u0007\u0799\u0002\u0002\u2ce1\u2cee\u0007\u0795\u0002", + "\u0002\u2ce2\u2cee\u0007\u078f\u0002\u0002\u2ce3\u2cee\u0007\u0791\u0002", + "\u0002\u2ce4\u2cee\u0007\u0790\u0002\u0002\u2ce5\u2cee\u0007\u078e\u0002", + "\u0002\u2ce6\u2cee\u0007\u087d\u0002\u0002\u2ce7\u2cee\u0007\u019f\u0002", + "\u0002\u2ce8\u2cee\u0007n\u0002\u0002\u2ce9\u2cee\u0007\u0082\u0002", + "\u0002\u2cea\u2cee\u0007\u00c2\u0002\u0002\u2ceb\u2cee\u0007\u037e\u0002", + "\u0002\u2cec\u2cee\u0007\u0353\u0002\u0002\u2ced\u2cb1\u0003\u0002\u0002", + "\u0002\u2ced\u2cb2\u0003\u0002\u0002\u0002\u2ced\u2cb3\u0003\u0002\u0002", + "\u0002\u2ced\u2cb4\u0003\u0002\u0002\u0002\u2ced\u2cb5\u0003\u0002\u0002", + "\u0002\u2ced\u2cb6\u0003\u0002\u0002\u0002\u2ced\u2cb7\u0003\u0002\u0002", + "\u0002\u2ced\u2cb8\u0003\u0002\u0002\u0002\u2ced\u2cb9\u0003\u0002\u0002", + "\u0002\u2ced\u2cba\u0003\u0002\u0002\u0002\u2ced\u2cbb\u0003\u0002\u0002", + "\u0002\u2ced\u2cbc\u0003\u0002\u0002\u0002\u2ced\u2cbd\u0003\u0002\u0002", + "\u0002\u2ced\u2cbe\u0003\u0002\u0002\u0002\u2ced\u2cbf\u0003\u0002\u0002", + "\u0002\u2ced\u2cc0\u0003\u0002\u0002\u0002\u2ced\u2cc1\u0003\u0002\u0002", + "\u0002\u2ced\u2cc2\u0003\u0002\u0002\u0002\u2ced\u2cc3\u0003\u0002\u0002", + "\u0002\u2ced\u2cc7\u0003\u0002\u0002\u0002\u2ced\u2cc8\u0003\u0002\u0002", + "\u0002\u2ced\u2cc9\u0003\u0002\u0002\u0002\u2ced\u2cca\u0003\u0002\u0002", + "\u0002\u2ced\u2cce\u0003\u0002\u0002\u0002\u2ced\u2ccf\u0003\u0002\u0002", + "\u0002\u2ced\u2cd0\u0003\u0002\u0002\u0002\u2ced\u2cd1\u0003\u0002\u0002", + "\u0002\u2ced\u2cd2\u0003\u0002\u0002\u0002\u2ced\u2cd3\u0003\u0002\u0002", + "\u0002\u2ced\u2cd4\u0003\u0002\u0002\u0002\u2ced\u2cd5\u0003\u0002\u0002", + "\u0002\u2ced\u2cd6\u0003\u0002\u0002\u0002\u2ced\u2cd7\u0003\u0002\u0002", + "\u0002\u2ced\u2cd8\u0003\u0002\u0002\u0002\u2ced\u2cd9\u0003\u0002\u0002", + "\u0002\u2ced\u2cda\u0003\u0002\u0002\u0002\u2ced\u2cdb\u0003\u0002\u0002", + "\u0002\u2ced\u2cdc\u0003\u0002\u0002\u0002\u2ced\u2cdd\u0003\u0002\u0002", + "\u0002\u2ced\u2cde\u0003\u0002\u0002\u0002\u2ced\u2cdf\u0003\u0002\u0002", + "\u0002\u2ced\u2ce0\u0003\u0002\u0002\u0002\u2ced\u2ce1\u0003\u0002\u0002", + "\u0002\u2ced\u2ce2\u0003\u0002\u0002\u0002\u2ced\u2ce3\u0003\u0002\u0002", + "\u0002\u2ced\u2ce4\u0003\u0002\u0002\u0002\u2ced\u2ce5\u0003\u0002\u0002", + "\u0002\u2ced\u2ce6\u0003\u0002\u0002\u0002\u2ced\u2ce7\u0003\u0002\u0002", + "\u0002\u2ced\u2ce8\u0003\u0002\u0002\u0002\u2ced\u2ce9\u0003\u0002\u0002", + "\u0002\u2ced\u2cea\u0003\u0002\u0002\u0002\u2ced\u2ceb\u0003\u0002\u0002", + "\u0002\u2ced\u2cec\u0003\u0002\u0002\u0002\u2cee\u05bb\u0003\u0002\u0002", + "\u0002\u2cef\u2cf3\u0007\u08bb\u0002\u0002\u2cf0\u2cf1\u0007\u08c2\u0002", + "\u0002\u2cf1\u2cf3\u0007\u08ab\u0002\u0002\u2cf2\u2cef\u0003\u0002\u0002", + "\u0002\u2cf2\u2cf0\u0003\u0002\u0002\u0002\u2cf3\u2cfc\u0003\u0002\u0002", + "\u0002\u2cf4\u2cf6\u0007\u0289\u0002\u0002\u2cf5\u2cf4\u0003\u0002\u0002", + "\u0002\u2cf5\u2cf6\u0003\u0002\u0002\u0002\u2cf6\u2cfa\u0003\u0002\u0002", + "\u0002\u2cf7\u2cfb\u0007\u08bb\u0002\u0002\u2cf8\u2cf9\u0007\u08c2\u0002", + "\u0002\u2cf9\u2cfb\u0007\u08ab\u0002\u0002\u2cfa\u2cf7\u0003\u0002\u0002", + "\u0002\u2cfa\u2cf8\u0003\u0002\u0002\u0002\u2cfb\u2cfd\u0003\u0002\u0002", + "\u0002\u2cfc\u2cf5\u0003\u0002\u0002\u0002\u2cfc\u2cfd\u0003\u0002\u0002", + "\u0002\u2cfd\u2d02\u0003\u0002\u0002\u0002\u2cfe\u2cff\u0007\u08aa\u0002", + "\u0002\u2cff\u2d01\u0005\u05c0\u02e1\u0002\u2d00\u2cfe\u0003\u0002\u0002", + "\u0002\u2d01\u2d04\u0003\u0002\u0002\u0002\u2d02\u2d00\u0003\u0002\u0002", + "\u0002\u2d02\u2d03\u0003\u0002\u0002\u0002\u2d03\u05bd\u0003\u0002\u0002", + "\u0002\u2d04\u2d02\u0003\u0002\u0002\u0002\u2d05\u2d0a\u0005\u05c0\u02e1", + "\u0002\u2d06\u2d07\u0007\u08aa\u0002\u0002\u2d07\u2d09\u0005\u05c0\u02e1", + "\u0002\u2d08\u2d06\u0003\u0002\u0002\u0002\u2d09\u2d0c\u0003\u0002\u0002", + "\u0002\u2d0a\u2d08\u0003\u0002\u0002\u0002\u2d0a\u2d0b\u0003\u0002\u0002", + "\u0002\u2d0b\u05bf\u0003\u0002\u0002\u0002\u2d0c\u2d0a\u0003\u0002\u0002", + "\u0002\u2d0d\u2d0e\u0007\u08c8\u0002\u0002\u2d0e\u2d10\u0005\u0598\u02cd", + "\u0002\u2d0f\u2d0d\u0003\u0002\u0002\u0002\u2d0f\u2d10\u0003\u0002\u0002", + "\u0002\u2d10\u2d11\u0003\u0002\u0002\u0002\u2d11\u2d16\u0005\u05d2\u02ea", + "\u0002\u2d12\u2d13\u0007\u08aa\u0002\u0002\u2d13\u2d15\u0005\u05d2\u02ea", + "\u0002\u2d14\u2d12\u0003\u0002\u0002\u0002\u2d15\u2d18\u0003\u0002\u0002", + "\u0002\u2d16\u2d14\u0003\u0002\u0002\u0002\u2d16\u2d17\u0003\u0002\u0002", + "\u0002\u2d17\u2d1b\u0003\u0002\u0002\u0002\u2d18\u2d16\u0003\u0002\u0002", + "\u0002\u2d19\u2d1a\u0007\u08b9\u0002\u0002\u2d1a\u2d1c\u0005\u0590\u02c9", + "\u0002\u2d1b\u2d19\u0003\u0002\u0002\u0002\u2d1b\u2d1c\u0003\u0002\u0002", + "\u0002\u2d1c\u2d1e\u0003\u0002\u0002\u0002\u2d1d\u2d1f\u0005\u05aa\u02d6", + "\u0002\u2d1e\u2d1d\u0003\u0002\u0002\u0002\u2d1e\u2d1f\u0003\u0002\u0002", + "\u0002\u2d1f\u05c1\u0003\u0002\u0002\u0002\u2d20\u2d21\u0007\u08c8\u0002", + "\u0002\u2d21\u2d23\u0005\u0598\u02cd\u0002\u2d22\u2d20\u0003\u0002\u0002", + "\u0002\u2d22\u2d23\u0003\u0002\u0002\u0002\u2d23\u2d24\u0003\u0002\u0002", + "\u0002\u2d24\u2d29\u0005\u05d2\u02ea\u0002\u2d25\u2d26\u0007\u08aa\u0002", + "\u0002\u2d26\u2d28\u0005\u05d2\u02ea\u0002\u2d27\u2d25\u0003\u0002\u0002", + "\u0002\u2d28\u2d2b\u0003\u0002\u0002\u0002\u2d29\u2d27\u0003\u0002\u0002", + "\u0002\u2d29\u2d2a\u0003\u0002\u0002\u0002\u2d2a\u05c3\u0003\u0002\u0002", + "\u0002\u2d2b\u2d29\u0003\u0002\u0002\u0002\u2d2c\u2d2e\u0007%\u0002", + "\u0002\u2d2d\u2d2f\u0007\u0522\u0002\u0002\u2d2e\u2d2d\u0003\u0002\u0002", + "\u0002\u2d2e\u2d2f\u0003\u0002\u0002\u0002\u2d2f\u2d4d\u0003\u0002\u0002", + "\u0002\u2d30\u2d4d\u0007)\u0002\u0002\u2d31\u2d4d\u0007\u0156\u0002", + "\u0002\u2d32\u2d4d\u0007\u016c\u0002\u0002\u2d33\u2d4d\u0007\u01dd\u0002", + "\u0002\u2d34\u2d35\u0007\u0216\u0002\u0002\u2d35\u2d4d\u0007;\u0002", + "\u0002\u2d36\u2d4d\u0007\u0279\u0002\u0002\u2d37\u2d38\u0007\u028d\u0002", + "\u0002\u2d38\u2d4d\u0007\u0522\u0002\u0002\u2d39\u2d4d\u0007\u029f\u0002", + "\u0002\u2d3a\u2d3b\u0007\u02d2\u0002\u0002\u2d3b\u2d4d\u0007\u05da\u0002", + "\u0002\u2d3c\u2d3d\u0007\u0342\u0002\u0002\u2d3d\u2d4d\u0007\u0835\u0002", + "\u0002\u2d3e\u2d3f\u0007\u046a\u0002\u0002\u2d3f\u2d40\u0007\u00dc\u0002", + "\u0002\u2d40\u2d4d\u0007\u0563\u0002\u0002\u2d41\u2d42\u0007\u0538\u0002", + "\u0002\u2d42\u2d4d\u0007\u059e\u0002\u0002\u2d43\u2d4d\u0007\u054b\u0002", + "\u0002\u2d44\u2d4d\u0007\u0560\u0002\u0002\u2d45\u2d4d\u0007\u05d4\u0002", + "\u0002\u2d46\u2d47\u0007\u07b8\u0002\u0002\u2d47\u2d4d\u0007\u0617\u0002", + "\u0002\u2d48\u2d4d\u0007\u07cf\u0002\u0002\u2d49\u2d4d\u0007\u07eb\u0002", + "\u0002\u2d4a\u2d4d\u0007\u080d\u0002\u0002\u2d4b\u2d4d\u0007\u084f\u0002", + "\u0002\u2d4c\u2d2c\u0003\u0002\u0002\u0002\u2d4c\u2d30\u0003\u0002\u0002", + "\u0002\u2d4c\u2d31\u0003\u0002\u0002\u0002\u2d4c\u2d32\u0003\u0002\u0002", + "\u0002\u2d4c\u2d33\u0003\u0002\u0002\u0002\u2d4c\u2d34\u0003\u0002\u0002", + "\u0002\u2d4c\u2d36\u0003\u0002\u0002\u0002\u2d4c\u2d37\u0003\u0002\u0002", + "\u0002\u2d4c\u2d39\u0003\u0002\u0002\u0002\u2d4c\u2d3a\u0003\u0002\u0002", + "\u0002\u2d4c\u2d3c\u0003\u0002\u0002\u0002\u2d4c\u2d3e\u0003\u0002\u0002", + "\u0002\u2d4c\u2d41\u0003\u0002\u0002\u0002\u2d4c\u2d43\u0003\u0002\u0002", + "\u0002\u2d4c\u2d44\u0003\u0002\u0002\u0002\u2d4c\u2d45\u0003\u0002\u0002", + "\u0002\u2d4c\u2d46\u0003\u0002\u0002\u0002\u2d4c\u2d48\u0003\u0002\u0002", + "\u0002\u2d4c\u2d49\u0003\u0002\u0002\u0002\u2d4c\u2d4a\u0003\u0002\u0002", + "\u0002\u2d4c\u2d4b\u0003\u0002\u0002\u0002\u2d4d\u05c5\u0003\u0002\u0002", + "\u0002\u2d4e\u2d4f\u0007%\u0002\u0002\u2d4f\u2e95\u0007\u0522\u0002", + "\u0002\u2d50\u2e95\u0007\u001e\u0002\u0002\u2d51\u2d53\u0007\u001a\u0002", + "\u0002\u2d52\u2d54\u00072\u0002\u0002\u2d53\u2d52\u0003\u0002\u0002", + "\u0002\u2d53\u2d54\u0003\u0002\u0002\u0002\u2d54\u2d55\u0003\u0002\u0002", + "\u0002\u2d55\u2d56\u0007\u0617\u0002\u0002\u2d56\u2d57\u0007\u07c2\u0002", + "\u0002\u2d57\u2e95\u0007\u05e8\u0002\u0002\u2d58\u2d59\t\u0094\u0002", + "\u0002\u2d59\u2d5a\u00072\u0002\u0002\u2d5a\u2d5b\u0007\u0617\u0002", + "\u0002\u2d5b\u2e95\u0007\u0526\u0002\u0002\u2d5c\u2d5d\u0007\u001a\u0002", + "\u0002\u2d5d\u2d5e\u0007\u0617\u0002\u0002\u2d5e\u2d5f\u0007\u0320\u0002", + "\u0002\u2d5f\u2e95\u0007\u0455\u0002\u0002\u2d60\u2d62\u0007\u0122\u0002", + "\u0002\u2d61\u2d63\u00072\u0002\u0002\u2d62\u2d61\u0003\u0002\u0002", + "\u0002\u2d62\u2d63\u0003\u0002\u0002\u0002\u2d63\u2d64\u0003\u0002\u0002", + "\u0002\u2d64\u2e95\u0007\u00c7\u0002\u0002\u2d65\u2d66\t\u0095\u0002", + "\u0002\u2d66\u2d67\u00072\u0002\u0002\u2d67\u2e95\u0007\u00c7\u0002", + "\u0002\u2d68\u2d69\t\u0096\u0002\u0002\u2d69\u2d6a\u00072\u0002\u0002", + "\u2d6a\u2e95\u0007\u010b\u0002\u0002\u2d6b\u2d6c\u0007\u01de\u0002\u0002", + "\u2d6c\u2d6d\u0007\u0558\u0002\u0002\u2d6d\u2e95\u0007\u04f5\u0002\u0002", + "\u2d6e\u2d6f\u0007)\u0002\u0002\u2d6f\u2e95\u0007\u013e\u0002\u0002", + "\u2d70\u2d72\t\u0097\u0002\u0002\u2d71\u2d73\u0007\u052e\u0002\u0002", + "\u2d72\u2d71\u0003\u0002\u0002\u0002\u2d72\u2d73\u0003\u0002\u0002\u0002", + "\u2d73\u2d74\u0003\u0002\u0002\u0002\u2d74\u2d75\u0007\u013e\u0002\u0002", + "\u2d75\u2e95\u0007\u02fa\u0002\u0002\u2d76\u2d77\u0007\u019d\u0002\u0002", + "\u2d77\u2d78\u0007\u052e\u0002\u0002\u2d78\u2d79\u0007\u013e\u0002\u0002", + "\u2d79\u2e95\u0007\u02fa\u0002\u0002\u2d7a\u2d7b\u0007\u0156\u0002\u0002", + "\u2d7b\u2d7c\u0007\u00fd\u0002\u0002\u2d7c\u2e95\u0007\u05e4\u0002\u0002", + "\u2d7d\u2d7e\u0007\u0156\u0002\u0002\u2d7e\u2d7f\u00072\u0002\u0002", + "\u2d7f\u2e95\u0007\u0524\u0002\u0002\u2d80\u2d81\u0007+\u0002\u0002", + "\u2d81\u2d82\u00072\u0002\u0002\u2d82\u2e95\u0007\u017a\u0002\u0002", + "\u2d83\u2d85\u0007\u0122\u0002\u0002\u2d84\u2d86\u00072\u0002\u0002", + "\u2d85\u2d84\u0003\u0002\u0002\u0002\u2d85\u2d86\u0003\u0002\u0002\u0002", + "\u2d86\u2d87\u0003\u0002\u0002\u0002\u2d87\u2e95\u0007\u017b\u0002\u0002", + "\u2d88\u2d89\t\u0095\u0002\u0002\u2d89\u2d8a\u00072\u0002\u0002\u2d8a", + "\u2e95\u0007\u017b\u0002\u0002\u2d8b\u2d8c\t\u0096\u0002\u0002\u2d8c", + "\u2d8d\u00072\u0002\u0002\u2d8d\u2e95\u0007\u017e\u0002\u0002\u2d8e", + "\u2d8f\t\u0096\u0002\u0002\u2d8f\u2d90\u00072\u0002\u0002\u2d90\u2e95", + "\u0007\u01aa\u0002\u0002\u2d91\u2d96\u0007\u0216\u0002\u0002\u2d92\u2d93", + "\u0007;\u0002\u0002\u2d93\u2d97\u0007\u001a\u0002\u0002\u2d94\u2d95", + "\u00072\u0002\u0002\u2d95\u2d97\u0007\u077a\u0002\u0002\u2d96\u2d92", + "\u0003\u0002\u0002\u0002\u2d96\u2d94\u0003\u0002\u0002\u0002\u2d97\u2e95", + "\u0003\u0002\u0002\u0002\u2d98\u2d99\t\u0094\u0002\u0002\u2d99\u2d9a", + "\u00072\u0002\u0002\u2d9a\u2e95\u0007\u0279\u0002\u0002\u2d9b\u2d9d", + "\u0007\u0122\u0002\u0002\u2d9c\u2d9e\u00072\u0002\u0002\u2d9d\u2d9c", + "\u0003\u0002\u0002\u0002\u2d9d\u2d9e\u0003\u0002\u0002\u0002\u2d9e\u2d9f", + "\u0003\u0002\u0002\u0002\u2d9f\u2e95\u0007\u0287\u0002\u0002\u2da0\u2da1", + "\t\u0098\u0002\u0002\u2da1\u2da2\u00072\u0002\u0002\u2da2\u2e95\u0007", + "\u0287\u0002\u0002\u2da3\u2da5\u0007\u0122\u0002\u0002\u2da4\u2da6\t", + "\u0099\u0002\u0002\u2da5\u2da4\u0003\u0002\u0002\u0002\u2da5\u2da6\u0003", + "\u0002\u0002\u0002\u2da6\u2da7\u0003\u0002\u0002\u0002\u2da7\u2e95\u0007", + "\u02bf\u0002\u0002\u2da8\u2da9\u0007\u01dd\u0002\u0002\u2da9\u2daa\u0007", + "2\u0002\u0002\u2daa\u2e95\t\u009a\u0002\u0002\u2dab\u2dac\u0007\u031f", + "\u0002\u0002\u2dac\u2e95\u0007\u05be\u0002\u0002\u2dad\u2dae\u0007\u001a", + "\u0002\u0002\u2dae\u2daf\u0007\u02d4\u0002\u0002\u2daf\u2e95\u0007\u0320", + "\u0002\u0002\u2db0\u2db2\u0007\u0122\u0002\u0002\u2db1\u2db3\u00072", + "\u0002\u0002\u2db2\u2db1\u0003\u0002\u0002\u0002\u2db2\u2db3\u0003\u0002", + "\u0002\u0002\u2db3\u2db4\u0003\u0002\u0002\u0002\u2db4\u2e95\u0007\u02ef", + "\u0002\u0002\u2db5\u2db6\t\u0098\u0002\u0002\u2db6\u2db7\u00072\u0002", + "\u0002\u2db7\u2e95\u0007\u02ef\u0002\u0002\u2db8\u2e95\u0007\u0312\u0002", + "\u0002\u2db9\u2dbb\u0007\u0122\u0002\u0002\u2dba\u2dbc\u00072\u0002", + "\u0002\u2dbb\u2dba\u0003\u0002\u0002\u0002\u2dbb\u2dbc\u0003\u0002\u0002", + "\u0002\u2dbc\u2dbd\u0003\u0002\u0002\u0002\u2dbd\u2dbe\u0007\u032b\u0002", + "\u0002\u2dbe\u2e95\u0007\u0835\u0002\u0002\u2dbf\u2dc0\t\u0095\u0002", + "\u0002\u2dc0\u2dc1\u00072\u0002\u0002\u2dc1\u2dc2\u0007\u032b\u0002", + "\u0002\u2dc2\u2e95\u0007\u0835\u0002\u0002\u2dc3\u2dc5\u0007\u0238\u0002", + "\u0002\u2dc4\u2dc3\u0003\u0002\u0002\u0002\u2dc4\u2dc5\u0003\u0002\u0002", + "\u0002\u2dc5\u2dc6\u0003\u0002\u0002\u0002\u2dc6\u2dc7\u0007\u0538\u0002", + "\u0002\u2dc7\u2e95\u0007\u059e\u0002\u0002\u2dc8\u2dc9\u0007\u046a\u0002", + "\u0002\u2dc9\u2dca\u0007\u00dc\u0002\u0002\u2dca\u2e95\u0007\u0563\u0002", + "\u0002\u2dcb\u2dcd\u0007\u0122\u0002\u0002\u2dcc\u2dce\u00072\u0002", + "\u0002\u2dcd\u2dcc\u0003\u0002\u0002\u0002\u2dcd\u2dce\u0003\u0002\u0002", + "\u0002\u2dce\u2dcf\u0003\u0002\u0002\u0002\u2dcf\u2dd0\u0007\u034b\u0002", + "\u0002\u2dd0\u2e95\u0007\u0358\u0002\u0002\u2dd1\u2dd2\t\u009b\u0002", + "\u0002\u2dd2\u2dd3\u00072\u0002\u0002\u2dd3\u2dd4\u0007\u034b\u0002", + "\u0002\u2dd4\u2e95\u0007\u0358\u0002\u0002\u2dd5\u2dd7\u0007\u0122\u0002", + "\u0002\u2dd6\u2dd8\u00072\u0002\u0002\u2dd7\u2dd6\u0003\u0002\u0002", + "\u0002\u2dd7\u2dd8\u0003\u0002\u0002\u0002\u2dd8\u2dd9\u0003\u0002\u0002", + "\u0002\u2dd9\u2e95\u0007\u012c\u0002\u0002\u2dda\u2ddb\t\u009c\u0002", + "\u0002\u2ddb\u2ddc\u00072\u0002\u0002\u2ddc\u2e95\u0007\u012c\u0002", + "\u0002\u2ddd\u2ddf\u0007\u0122\u0002\u0002\u2dde\u2de0\u00072\u0002", + "\u0002\u2ddf\u2dde\u0003\u0002\u0002\u0002\u2ddf\u2de0\u0003\u0002\u0002", + "\u0002\u2de0\u2de1\u0003\u0002\u0002\u0002\u2de1\u2de2\u0007\u0339\u0002", + "\u0002\u2de2\u2e95\u0007\u021c\u0002\u0002\u2de3\u2de4\t\u009d\u0002", + "\u0002\u2de4\u2de5\u00072\u0002\u0002\u2de5\u2de6\u0007\u0339\u0002", + "\u0002\u2de6\u2e95\u0007\u021c\u0002\u0002\u2de7\u2de9\u0007\u0122\u0002", + "\u0002\u2de8\u2dea\u00072\u0002\u0002\u2de9\u2de8\u0003\u0002\u0002", + "\u0002\u2de9\u2dea\u0003\u0002\u0002\u0002\u2dea\u2deb\u0003\u0002\u0002", + "\u0002\u2deb\u2dec\u0007\u012c\u0002\u0002\u2dec\u2e95\u0007\u017b\u0002", + "\u0002\u2ded\u2dee\t\u009e\u0002\u0002\u2dee\u2def\u00072\u0002\u0002", + "\u2def\u2df0\u0007\u012c\u0002\u0002\u2df0\u2e95\u0007\u017b\u0002\u0002", + "\u2df1\u2df3\u0007\u0122\u0002\u0002\u2df2\u2df4\u00072\u0002\u0002", + "\u2df3\u2df2\u0003\u0002\u0002\u0002\u2df3\u2df4\u0003\u0002\u0002\u0002", + "\u2df4\u2df5\u0003\u0002\u0002\u0002\u2df5\u2df6\u0007\u012c\u0002\u0002", + "\u2df6\u2df7\u0007\u0092\u0002\u0002\u2df7\u2e95\u0007\u0525\u0002\u0002", + "\u2df8\u2df9\t\u009f\u0002\u0002\u2df9\u2dfa\u00072\u0002\u0002\u2dfa", + "\u2dfb\u0007\u012c\u0002\u0002\u2dfb\u2dfc\u0007\u0092\u0002\u0002\u2dfc", + "\u2e95\u0007\u0525\u0002\u0002\u2dfd\u2dff\u0007\u0122\u0002\u0002\u2dfe", + "\u2e00\u00072\u0002\u0002\u2dff\u2dfe\u0003\u0002\u0002\u0002\u2dff", + "\u2e00\u0003\u0002\u0002\u0002\u2e00\u2e01\u0003\u0002\u0002\u0002\u2e01", + "\u2e95\u0007\u0471\u0002\u0002\u2e02\u2e03\t\u0098\u0002\u0002\u2e03", + "\u2e04\u00072\u0002\u0002\u2e04\u2e95\u0007\u0471\u0002\u0002\u2e05", + "\u2e06\t\u0094\u0002\u0002\u2e06\u2e07\u00072\u0002\u0002\u2e07\u2e95", + "\u0007\u049e\u0002\u0002\u2e08\u2e09\u0007\u0122\u0002\u0002\u2e09\u2e0a", + "\u0007\u04f3\u0002\u0002\u2e0a\u2e95\u0007\u013e\u0002\u0002\u2e0b\u2e0c", + "\u0007\u05e8\u0002\u0002\u2e0c\u2e95\u0007\u0106\u0002\u0002\u2e0d\u2e0f", + "\u0007\u0122\u0002\u0002\u2e0e\u2e10\u00072\u0002\u0002\u2e0f\u2e0e", + "\u0003\u0002\u0002\u0002\u2e0f\u2e10\u0003\u0002\u0002\u0002\u2e10\u2e11", + "\u0003\u0002\u0002\u0002\u2e11\u2e95\u0007\u0524\u0002\u0002\u2e12\u2e13", + "\t\u0098\u0002\u0002\u2e13\u2e14\u00072\u0002\u0002\u2e14\u2e95\u0007", + "\u0524\u0002\u0002\u2e15\u2e16\t\u0094\u0002\u0002\u2e16\u2e95\u0007", + "\u0526\u0002\u0002\u2e17\u2e18\u0007\u0122\u0002\u0002\u2e18\u2e95\u0007", + "\u05a0\u0002\u0002\u2e19\u2e1a\t\u00a0\u0002\u0002\u2e1a\u2e1b\u0007", + "2\u0002\u0002\u2e1b\u2e95\u0007\u05a0\u0002\u0002\u2e1c\u2e1d\t\u0094", + "\u0002\u0002\u2e1d\u2e1e\u0007\u05a3\u0002\u0002\u2e1e\u2e95\u0007\u05d2", + "\u0002\u0002\u2e1f\u2e21\u0007\u0122\u0002\u0002\u2e20\u2e22\u00072", + "\u0002\u0002\u2e21\u2e20\u0003\u0002\u0002\u0002\u2e21\u2e22\u0003\u0002", + "\u0002\u0002\u2e22\u2e23\u0003\u0002\u0002\u0002\u2e23\u2e95\u0007\u05da", + "\u0002\u0002\u2e24\u2e25\t\u00a1\u0002\u0002\u2e25\u2e26\u00072\u0002", + "\u0002\u2e26\u2e95\u0007\u05da\u0002\u0002\u2e27\u2e28\t\u00a2\u0002", + "\u0002\u2e28\u2e95\u0007\u05e4\u0002\u0002\u2e29\u2e2a\u0007)\u0002", + "\u0002\u2e2a\u2e2b\u0007\u0589\u0002\u0002\u2e2b\u2e95\u0007\u0119\u0002", + "\u0002\u2e2c\u2e2e\u0007\u0122\u0002\u0002\u2e2d\u2e2f\u00072\u0002", + "\u0002\u2e2e\u2e2d\u0003\u0002\u0002\u0002\u2e2e\u2e2f\u0003\u0002\u0002", + "\u0002\u2e2f\u2e30\u0003\u0002\u0002\u0002\u2e30\u2e31\u0007\u0617\u0002", + "\u0002\u2e31\u2e32\u0007\u07b9\u0002\u0002\u2e32\u2e95\u0007\u0526\u0002", + "\u0002\u2e33\u2e34\t\u00a3\u0002\u0002\u2e34\u2e35\u00072\u0002\u0002", + "\u2e35\u2e36\u0007\u0617\u0002\u0002\u2e36\u2e37\u0007\u07b9\u0002\u0002", + "\u2e37\u2e95\u0007\u0526\u0002\u0002\u2e38\u2e39\u0007\u07b8\u0002\u0002", + "\u2e39\u2e3a\u00072\u0002\u0002\u2e3a\u2e95\u0007\u0617\u0002\u0002", + "\u2e3b\u2e3d\u0007\u0122\u0002\u0002\u2e3c\u2e3e\u00072\u0002\u0002", + "\u2e3d\u2e3c\u0003\u0002\u0002\u0002\u2e3d\u2e3e\u0003\u0002\u0002\u0002", + "\u2e3e\u2e3f\u0003\u0002\u0002\u0002\u2e3f\u2e95\u0007\u065d\u0002\u0002", + "\u2e40\u2e41\u0007\u019d\u0002\u0002\u2e41\u2e42\u00072\u0002\u0002", + "\u2e42\u2e95\u0007\u065d\u0002\u0002\u2e43\u2e44\t\u0096\u0002\u0002", + "\u2e44\u2e45\u0007\u052e\u0002\u0002\u2e45\u2e95\u0007\u065d\u0002\u0002", + "\u2e46\u2e48\u0007\u0122\u0002\u0002\u2e47\u2e49\u00072\u0002\u0002", + "\u2e48\u2e47\u0003\u0002\u0002\u0002\u2e48\u2e49\u0003\u0002\u0002\u0002", + "\u2e49\u2e4a\u0003\u0002\u0002\u0002\u2e4a\u2e95\u0007\u077a\u0002\u0002", + "\u2e4b\u2e4c\t\u00a4\u0002\u0002\u2e4c\u2e4d\u00072\u0002\u0002\u2e4d", + "\u2e95\u0007\u077a\u0002\u0002\u2e4e\u2e4f\t\u00a5\u0002\u0002\u2e4f", + "\u2e95\u0007\u0777\u0002\u0002\u2e50\u2e52\u0007\u0122\u0002\u0002\u2e51", + "\u2e53\u00072\u0002\u0002\u2e52\u2e51\u0003\u0002\u0002\u0002\u2e52", + "\u2e53\u0003\u0002\u0002\u0002\u2e53\u2e54\u0003\u0002\u0002\u0002\u2e54", + "\u2e95\u0007\u07bc\u0002\u0002\u2e55\u2e56\t\u0095\u0002\u0002\u2e56", + "\u2e57\u00072\u0002\u0002\u2e57\u2e95\u0007\u07bc\u0002\u0002\u2e58", + "\u2e59\u0007\u001a\u0002\u0002\u2e59\u2e5a\u0007\u013e\u0002\u0002\u2e5a", + "\u2e95\u0007\u07bc\u0002\u0002\u2e5b\u2e5d\u0007\u0122\u0002\u0002\u2e5c", + "\u2e5e\u00072\u0002\u0002\u2e5d\u2e5c\u0003\u0002\u0002\u0002\u2e5d", + "\u2e5e\u0003\u0002\u0002\u0002\u2e5e\u2e5f\u0003\u0002\u0002\u0002\u2e5f", + "\u2e95\u0007\u07c5\u0002\u0002\u2e60\u2e61\t\u00a6\u0002\u0002\u2e61", + "\u2e62\u00072\u0002\u0002\u2e62\u2e95\u0007\u07c5\u0002\u0002\u2e63", + "\u2e64\t\u0094\u0002\u0002\u2e64\u2e95\u0007\u0809\u0002\u0002\u2e65", + "\u2e67\u0007\u0122\u0002\u0002\u2e66\u2e68\u00072\u0002\u0002\u2e67", + "\u2e66\u0003\u0002\u0002\u0002\u2e67\u2e68\u0003\u0002\u0002\u0002\u2e68", + "\u2e69\u0003\u0002\u0002\u0002\u2e69\u2e95\u0007\u0835\u0002\u0002\u2e6a", + "\u2e6b\t\u00a7\u0002\u0002\u2e6b\u2e6c\u00072\u0002\u0002\u2e6c\u2e95", + "\u0007\u0835\u0002\u0002\u2e6d\u2e6e\t\u00a8\u0002\u0002\u2e6e\u2e95", + "\u00072\u0002\u0002\u2e6f\u2e70\u0007f\u0002\u0002\u2e70\u2e95\u0007", + "\u0809\u0002\u0002\u2e71\u2e72\u0007\u00ae\u0002\u0002\u2e72\u2e95\u0007", + "\u0432\u0002\u0002\u2e73\u2e74\u0007\u01de\u0002\u0002\u2e74\u2e75\u0007", + "\u0005\u0002\u0002\u2e75\u2e95\u0007\u04f5\u0002\u0002\u2e76\u2e78\u0007", + "\u0220\u0002\u0002\u2e77\u2e79\u00072\u0002\u0002\u2e78\u2e77\u0003", + "\u0002\u0002\u0002\u2e78\u2e79\u0003\u0002\u0002\u0002\u2e79\u2e7a\u0003", + "\u0002\u0002\u0002\u2e7a\u2e95\u0007\u07b4\u0002\u0002\u2e7b\u2e7c\u0007", + "\u023d\u0002\u0002\u2e7c\u2e7e\u00072\u0002\u0002\u2e7d\u2e7f\u0007", + "\u0455\u0002\u0002\u2e7e\u2e7d\u0003\u0002\u0002\u0002\u2e7e\u2e7f\u0003", + "\u0002\u0002\u0002\u2e7f\u2e80\u0003\u0002\u0002\u0002\u2e80\u2e95\u0007", + "\u0521\u0002\u0002\u2e81\u2e82\u0007\u028d\u0002\u0002\u2e82\u2e83\u0007", + "2\u0002\u0002\u2e83\u2e95\u0007\u0522\u0002\u0002\u2e84\u2e85\u0007", + "\u02d2\u0002\u0002\u2e85\u2e86\u0007\u0149\u0002\u0002\u2e86\u2e95\u0007", + "\u0793\u0002\u0002\u2e87\u2e88\u0007\u02d2\u0002\u0002\u2e88\u2e95\u0007", + "\u0680\u0002\u0002\u2e89\u2e8a\u0007\u0530\u0002\u0002\u2e8a\u2e95\u0007", + "\u014e\u0002\u0002\u2e8b\u2e95\u0007\u0594\u0002\u0002\u2e8c\u2e8d\u0007", + "\u05d4\u0002\u0002\u2e8d\u2e8e\u00072\u0002\u0002\u2e8e\u2e95\t\u00a9", + "\u0002\u0002\u2e8f\u2e95\u0007\u0661\u0002\u0002\u2e90\u2e95\u0007\u0667", + "\u0002\u0002\u2e91\u2e95\u0007\u0669\u0002\u0002\u2e92\u2e95\u0007\u0681", + "\u0002\u0002\u2e93\u2e95\u0007\u06a4\u0002\u0002\u2e94\u2d4e\u0003\u0002", + "\u0002\u0002\u2e94\u2d50\u0003\u0002\u0002\u0002\u2e94\u2d51\u0003\u0002", + "\u0002\u0002\u2e94\u2d58\u0003\u0002\u0002\u0002\u2e94\u2d5c\u0003\u0002", + "\u0002\u0002\u2e94\u2d60\u0003\u0002\u0002\u0002\u2e94\u2d65\u0003\u0002", + "\u0002\u0002\u2e94\u2d68\u0003\u0002\u0002\u0002\u2e94\u2d6b\u0003\u0002", + "\u0002\u0002\u2e94\u2d6e\u0003\u0002\u0002\u0002\u2e94\u2d70\u0003\u0002", + "\u0002\u0002\u2e94\u2d76\u0003\u0002\u0002\u0002\u2e94\u2d7a\u0003\u0002", + "\u0002\u0002\u2e94\u2d7d\u0003\u0002\u0002\u0002\u2e94\u2d80\u0003\u0002", + "\u0002\u0002\u2e94\u2d83\u0003\u0002\u0002\u0002\u2e94\u2d88\u0003\u0002", + "\u0002\u0002\u2e94\u2d8b\u0003\u0002\u0002\u0002\u2e94\u2d8e\u0003\u0002", + "\u0002\u0002\u2e94\u2d91\u0003\u0002\u0002\u0002\u2e94\u2d98\u0003\u0002", + "\u0002\u0002\u2e94\u2d9b\u0003\u0002\u0002\u0002\u2e94\u2da0\u0003\u0002", + "\u0002\u0002\u2e94\u2da3\u0003\u0002\u0002\u0002\u2e94\u2da8\u0003\u0002", + "\u0002\u0002\u2e94\u2dab\u0003\u0002\u0002\u0002\u2e94\u2dad\u0003\u0002", + "\u0002\u0002\u2e94\u2db0\u0003\u0002\u0002\u0002\u2e94\u2db5\u0003\u0002", + "\u0002\u0002\u2e94\u2db8\u0003\u0002\u0002\u0002\u2e94\u2db9\u0003\u0002", + "\u0002\u0002\u2e94\u2dbf\u0003\u0002\u0002\u0002\u2e94\u2dc4\u0003\u0002", + "\u0002\u0002\u2e94\u2dc8\u0003\u0002\u0002\u0002\u2e94\u2dcb\u0003\u0002", + "\u0002\u0002\u2e94\u2dd1\u0003\u0002\u0002\u0002\u2e94\u2dd5\u0003\u0002", + "\u0002\u0002\u2e94\u2dda\u0003\u0002\u0002\u0002\u2e94\u2ddd\u0003\u0002", + "\u0002\u0002\u2e94\u2de3\u0003\u0002\u0002\u0002\u2e94\u2de7\u0003\u0002", + "\u0002\u0002\u2e94\u2ded\u0003\u0002\u0002\u0002\u2e94\u2df1\u0003\u0002", + "\u0002\u0002\u2e94\u2df8\u0003\u0002\u0002\u0002\u2e94\u2dfd\u0003\u0002", + "\u0002\u0002\u2e94\u2e02\u0003\u0002\u0002\u0002\u2e94\u2e05\u0003\u0002", + "\u0002\u0002\u2e94\u2e08\u0003\u0002\u0002\u0002\u2e94\u2e0b\u0003\u0002", + "\u0002\u0002\u2e94\u2e0d\u0003\u0002\u0002\u0002\u2e94\u2e12\u0003\u0002", + "\u0002\u0002\u2e94\u2e15\u0003\u0002\u0002\u0002\u2e94\u2e17\u0003\u0002", + "\u0002\u0002\u2e94\u2e19\u0003\u0002\u0002\u0002\u2e94\u2e1c\u0003\u0002", + "\u0002\u0002\u2e94\u2e1f\u0003\u0002\u0002\u0002\u2e94\u2e24\u0003\u0002", + "\u0002\u0002\u2e94\u2e27\u0003\u0002\u0002\u0002\u2e94\u2e29\u0003\u0002", + "\u0002\u0002\u2e94\u2e2c\u0003\u0002\u0002\u0002\u2e94\u2e33\u0003\u0002", + "\u0002\u0002\u2e94\u2e38\u0003\u0002\u0002\u0002\u2e94\u2e3b\u0003\u0002", + "\u0002\u0002\u2e94\u2e40\u0003\u0002\u0002\u0002\u2e94\u2e43\u0003\u0002", + "\u0002\u0002\u2e94\u2e46\u0003\u0002\u0002\u0002\u2e94\u2e4b\u0003\u0002", + "\u0002\u0002\u2e94\u2e4e\u0003\u0002\u0002\u0002\u2e94\u2e50\u0003\u0002", + "\u0002\u0002\u2e94\u2e55\u0003\u0002\u0002\u0002\u2e94\u2e58\u0003\u0002", + "\u0002\u0002\u2e94\u2e5b\u0003\u0002\u0002\u0002\u2e94\u2e60\u0003\u0002", + "\u0002\u0002\u2e94\u2e63\u0003\u0002\u0002\u0002\u2e94\u2e65\u0003\u0002", + "\u0002\u0002\u2e94\u2e6a\u0003\u0002\u0002\u0002\u2e94\u2e6d\u0003\u0002", + "\u0002\u0002\u2e94\u2e6f\u0003\u0002\u0002\u0002\u2e94\u2e71\u0003\u0002", + "\u0002\u0002\u2e94\u2e73\u0003\u0002\u0002\u0002\u2e94\u2e76\u0003\u0002", + "\u0002\u0002\u2e94\u2e7b\u0003\u0002\u0002\u0002\u2e94\u2e81\u0003\u0002", + "\u0002\u0002\u2e94\u2e84\u0003\u0002\u0002\u0002\u2e94\u2e87\u0003\u0002", + "\u0002\u0002\u2e94\u2e89\u0003\u0002\u0002\u0002\u2e94\u2e8b\u0003\u0002", + "\u0002\u0002\u2e94\u2e8c\u0003\u0002\u0002\u0002\u2e94\u2e8f\u0003\u0002", + "\u0002\u0002\u2e94\u2e90\u0003\u0002\u0002\u0002\u2e94\u2e91\u0003\u0002", + "\u0002\u0002\u2e94\u2e92\u0003\u0002\u0002\u0002\u2e94\u2e93\u0003\u0002", + "\u0002\u0002\u2e95\u05c7\u0003\u0002\u0002\u0002\u2e96\u2e99\u0007\u078f", + "\u0002\u0002\u2e97\u2e9a\u0005\u05ce\u02e8\u0002\u2e98\u2e9a\u0005\u05bc", + "\u02df\u0002\u2e99\u2e97\u0003\u0002\u0002\u0002\u2e99\u2e98\u0003\u0002", + "\u0002\u0002\u2e9a\u2e9f\u0003\u0002\u0002\u0002\u2e9b\u2e9c\u0007L", + "\u0002\u0002\u2e9c\u2e9d\u0007\u0793\u0002\u0002\u2e9d\u2e9e\u0007\u087f", + "\u0002\u0002\u2e9e\u2ea0\u0005\u05ce\u02e8\u0002\u2e9f\u2e9b\u0003\u0002", + "\u0002\u0002\u2e9f\u2ea0\u0003\u0002\u0002\u0002\u2ea0\u2ed5\u0003\u0002", + "\u0002\u0002\u2ea1\u2ea5\u0007\u02b3\u0002\u0002\u2ea2\u2ea6\u0005\u05ce", + "\u02e8\u0002\u2ea3\u2ea6\u0005\u05bc\u02df\u0002\u2ea4\u2ea6\u0005\u05c0", + "\u02e1\u0002\u2ea5\u2ea2\u0003\u0002\u0002\u0002\u2ea5\u2ea3\u0003\u0002", + "\u0002\u0002\u2ea5\u2ea4\u0003\u0002\u0002\u0002\u2ea6\u2ea7\u0003\u0002", + "\u0002\u0002\u2ea7\u2eb5\t\u00aa\u0002\u0002\u2ea8\u2eab\u0007\u08b1", + "\u0002\u0002\u2ea9\u2eac\u0007\u08ab\u0002\u0002\u2eaa\u2eac\u0005\u05bc", + "\u02df\u0002\u2eab\u2ea9\u0003\u0002\u0002\u0002\u2eab\u2eaa\u0003\u0002", + "\u0002\u0002\u2eac\u2eb2\u0003\u0002\u0002\u0002\u2ead\u2eb0\u0007\u08b7", + "\u0002\u0002\u2eae\u2eb1\u0007\u08ab\u0002\u0002\u2eaf\u2eb1\u0005\u05bc", + "\u02df\u0002\u2eb0\u2eae\u0003\u0002\u0002\u0002\u2eb0\u2eaf\u0003\u0002", + "\u0002\u0002\u2eb1\u2eb3\u0003\u0002\u0002\u0002\u2eb2\u2ead\u0003\u0002", + "\u0002\u0002\u2eb2\u2eb3\u0003\u0002\u0002\u0002\u2eb3\u2eb4\u0003\u0002", + "\u0002\u0002\u2eb4\u2eb6\u0007\u08b2\u0002\u0002\u2eb5\u2ea8\u0003\u0002", + "\u0002\u0002\u2eb5\u2eb6\u0003\u0002\u0002\u0002\u2eb6\u2ec6\u0003\u0002", + "\u0002\u0002\u2eb7\u2ec4\u0007\u07ae\u0002\u0002\u2eb8\u2ec5\u0007\u014b", + "\u0002\u0002\u2eb9\u2ec5\u0007\u0258\u0002\u0002\u2eba\u2ec5\u0007\u034e", + "\u0002\u0002\u2ebb\u2ec2\u0007\u05ca\u0002\u0002\u2ebc\u2ebf\u0007\u08b1", + "\u0002\u0002\u2ebd\u2ec0\u0007\u08ab\u0002\u0002\u2ebe\u2ec0\u0005\u05bc", + "\u02df\u0002\u2ebf\u2ebd\u0003\u0002\u0002\u0002\u2ebf\u2ebe\u0003\u0002", + "\u0002\u0002\u2ec0\u2ec1\u0003\u0002\u0002\u0002\u2ec1\u2ec3\u0007\u08b2", + "\u0002\u0002\u2ec2\u2ebc\u0003\u0002\u0002\u0002\u2ec2\u2ec3\u0003\u0002", + "\u0002\u0002\u2ec3\u2ec5\u0003\u0002\u0002\u0002\u2ec4\u2eb8\u0003\u0002", + "\u0002\u0002\u2ec4\u2eb9\u0003\u0002\u0002\u0002\u2ec4\u2eba\u0003\u0002", + "\u0002\u0002\u2ec4\u2ebb\u0003\u0002\u0002\u0002\u2ec5\u2ec7\u0003\u0002", + "\u0002\u0002\u2ec6\u2eb7\u0003\u0002\u0002\u0002\u2ec6\u2ec7\u0003\u0002", + "\u0002\u0002\u2ec7\u2ed5\u0003\u0002\u0002\u0002\u2ec8\u2ed5\u0005\u05ca", + "\u02e6\u0002\u2ec9\u2eca\u0007\u0149\u0002\u0002\u2eca\u2ed5\u0005\u05ce", + "\u02e8\u0002\u2ecb\u2ed5\u0005\u05ce\u02e8\u0002\u2ecc\u2ed5\u0007\u044b", + "\u0002\u0002\u2ecd\u2ed5\u0007\u07bd\u0002\u0002\u2ece\u2ed5\u0007\u01fe", + "\u0002\u0002\u2ecf\u2ed5\u0007\u0151\u0002\u0002\u2ed0\u2ed5\u0007\u05e6", + "\u0002\u0002\u2ed1\u2ed5\u0007\u034f\u0002\u0002\u2ed2\u2ed5\u0007\u0338", + "\u0002\u0002\u2ed3\u2ed5\u0007\u0161\u0002\u0002\u2ed4\u2e96\u0003\u0002", + "\u0002\u0002\u2ed4\u2ea1\u0003\u0002\u0002\u0002\u2ed4\u2ec8\u0003\u0002", + "\u0002\u0002\u2ed4\u2ec9\u0003\u0002\u0002\u0002\u2ed4\u2ecb\u0003\u0002", + "\u0002\u0002\u2ed4\u2ecc\u0003\u0002\u0002\u0002\u2ed4\u2ecd\u0003\u0002", + "\u0002\u0002\u2ed4\u2ece\u0003\u0002\u0002\u0002\u2ed4\u2ecf\u0003\u0002", + "\u0002\u0002\u2ed4\u2ed0\u0003\u0002\u0002\u0002\u2ed4\u2ed1\u0003\u0002", + "\u0002\u0002\u2ed4\u2ed2\u0003\u0002\u0002\u0002\u2ed4\u2ed3\u0003\u0002", + "\u0002\u0002\u2ed5\u05c9\u0003\u0002\u0002\u0002\u2ed6\u2ed7\t\u00ab", + "\u0002\u0002\u2ed7\u05cb\u0003\u0002\u0002\u0002\u2ed8\u2ed9\u0007\u08b6", + "\u0002\u0002\u2ed9\u2eda\u0005\u05ca\u02e6\u0002\u2eda\u05cd\u0003\u0002", + "\u0002\u0002\u2edb\u2edc\t\u00ac\u0002\u0002\u2edc\u05cf\u0003\u0002", + "\u0002\u0002\u2edd\u2ede\u0007\u08c8\u0002\u0002\u2ede\u2ee0\u0005\u0598", + "\u02cd\u0002\u2edf\u2edd\u0003\u0002\u0002\u0002\u2edf\u2ee0\u0003\u0002", + "\u0002\u0002\u2ee0\u2ee1\u0003\u0002\u0002\u0002\u2ee1\u2ee2\u0005\u05d2", + "\u02ea\u0002\u2ee2\u05d1\u0003\u0002\u0002\u0002\u2ee3\u2ee6\u0005\u05d6", + "\u02ec\u0002\u2ee4\u2ee6\u0007\u08ae\u0002\u0002\u2ee5\u2ee3\u0003\u0002", + "\u0002\u0002\u2ee5\u2ee4\u0003\u0002\u0002\u0002\u2ee6\u05d3\u0003\u0002", + "\u0002\u0002\u2ee7\u2ee8\u0007\u08b1\u0002\u0002\u2ee8\u2ee9\u0007\u08b5", + "\u0002\u0002\u2ee9\u2eea\u0007\u08b2\u0002\u0002\u2eea\u05d5\u0003\u0002", + "\u0002\u0002\u2eeb\u2f37\u0005\u05da\u02ee\u0002\u2eec\u2f37\u0005\u05d8", + "\u02ed\u0002\u2eed\u2f37\u0007\u08ce\u0002\u0002\u2eee\u2f37\u0007#", + "\u0002\u0002\u2eef\u2f37\u0007!\u0002\u0002\u2ef0\u2f37\u0007\"\u0002", + "\u0002\u2ef1\u2f37\u0007+\u0002\u0002\u2ef2\u2f37\u0007Z\u0002\u0002", + "\u2ef3\u2f37\u0007c\u0002\u0002\u2ef4\u2f37\u0007x\u0002\u0002\u2ef5", + "\u2f37\u0007\u0088\u0002\u0002\u2ef6\u2f37\u0007\u00c0\u0002\u0002\u2ef7", + "\u2f37\u0007\u00b2\u0002\u0002\u2ef8\u2f37\u0007\u00c7\u0002\u0002\u2ef9", + "\u2f37\u0007\u0105\u0002\u0002\u2efa\u2f37\u0007\u013a\u0002\u0002\u2efb", + "\u2f37\u0007\u0159\u0002\u0002\u2efc\u2f37\u0007\u016c\u0002\u0002\u2efd", + "\u2f37\u0007\u0179\u0002\u0002\u2efe\u2f37\u0007\u019f\u0002\u0002\u2eff", + "\u2f37\u0007\u01c8\u0002\u0002\u2f00\u2f37\u0007\u01d6\u0002\u0002\u2f01", + "\u2f37\u0007\u01d7\u0002\u0002\u2f02\u2f37\u0007\u01d8\u0002\u0002\u2f03", + "\u2f37\u0007\u01e0\u0002\u0002\u2f04\u2f37\u0007\u01e2\u0002\u0002\u2f05", + "\u2f37\u0007\u0218\u0002\u0002\u2f06\u2f37\u0007\u021f\u0002\u0002\u2f07", + "\u2f37\u0007\u028a\u0002\u0002\u2f08\u2f37\u0007\u029a\u0002\u0002\u2f09", + "\u2f37\u0007\u02ac\u0002\u0002\u2f0a\u2f37\u0007\u02db\u0002\u0002\u2f0b", + "\u2f37\u0007\u0316\u0002\u0002\u2f0c\u2f37\u0007\u0317\u0002\u0002\u2f0d", + "\u2f37\u0007\u044d\u0002\u0002\u2f0e\u2f37\u0007\u047d\u0002\u0002\u2f0f", + "\u2f37\u0007\u0498\u0002\u0002\u2f10\u2f37\u0007\u04a0\u0002\u0002\u2f11", + "\u2f37\u0007\u04a5\u0002\u0002\u2f12\u2f37\u0007\u04ab\u0002\u0002\u2f13", + "\u2f37\u0007\u04e4\u0002\u0002\u2f14\u2f37\u0007\u04ed\u0002\u0002\u2f15", + "\u2f37\u0007\u04fc\u0002\u0002\u2f16\u2f37\u0007\u04fb\u0002\u0002\u2f17", + "\u2f37\u0007\u0509\u0002\u0002\u2f18\u2f37\u0007\u053f\u0002\u0002\u2f19", + "\u2f37\u0007\u0545\u0002\u0002\u2f1a\u2f37\u0007\u0551\u0002\u0002\u2f1b", + "\u2f37\u0007\u0562\u0002\u0002\u2f1c\u2f37\u0007\u057e\u0002\u0002\u2f1d", + "\u2f37\u0007\u0590\u0002\u0002\u2f1e\u2f37\u0007\u0593\u0002\u0002\u2f1f", + "\u2f37\u0007\u05d5\u0002\u0002\u2f20\u2f37\u0007\u05de\u0002\u0002\u2f21", + "\u2f37\u0007\u05e8\u0002\u0002\u2f22\u2f37\u0007\u05fa\u0002\u0002\u2f23", + "\u2f37\u0007\u05fb\u0002\u0002\u2f24\u2f37\u0007\u0607\u0002\u0002\u2f25", + "\u2f37\u0007\u0614\u0002\u0002\u2f26\u2f37\u0007\u0615\u0002\u0002\u2f27", + "\u2f37\u0007\u0652\u0002\u0002\u2f28\u2f37\u0007\u078e\u0002\u0002\u2f29", + "\u2f37\u0007\u0790\u0002\u0002\u2f2a\u2f37\u0007\u0791\u0002\u0002\u2f2b", + "\u2f37\u0007\u07bc\u0002\u0002\u2f2c\u2f37\u0007\u081e\u0002\u0002\u2f2d", + "\u2f37\u0007\u081d\u0002\u0002\u2f2e\u2f37\u0007\u081f\u0002\u0002\u2f2f", + "\u2f37\u0007\u083e\u0002\u0002\u2f30\u2f37\u0007\u0845\u0002\u0002\u2f31", + "\u2f37\u0007\u0855\u0002\u0002\u2f32\u2f37\u0007\u087d\u0002\u0002\u2f33", + "\u2f37\u0007\u0899\u0002\u0002\u2f34\u2f37\u0007\u08a1\u0002\u0002\u2f35", + "\u2f37\u0007\u088f\u0002\u0002\u2f36\u2eeb\u0003\u0002\u0002\u0002\u2f36", + "\u2eec\u0003\u0002\u0002\u0002\u2f36\u2eed\u0003\u0002\u0002\u0002\u2f36", + "\u2eee\u0003\u0002\u0002\u0002\u2f36\u2eef\u0003\u0002\u0002\u0002\u2f36", + "\u2ef0\u0003\u0002\u0002\u0002\u2f36\u2ef1\u0003\u0002\u0002\u0002\u2f36", + "\u2ef2\u0003\u0002\u0002\u0002\u2f36\u2ef3\u0003\u0002\u0002\u0002\u2f36", + "\u2ef4\u0003\u0002\u0002\u0002\u2f36\u2ef5\u0003\u0002\u0002\u0002\u2f36", + "\u2ef6\u0003\u0002\u0002\u0002\u2f36\u2ef7\u0003\u0002\u0002\u0002\u2f36", + "\u2ef8\u0003\u0002\u0002\u0002\u2f36\u2ef9\u0003\u0002\u0002\u0002\u2f36", + "\u2efa\u0003\u0002\u0002\u0002\u2f36\u2efb\u0003\u0002\u0002\u0002\u2f36", + "\u2efc\u0003\u0002\u0002\u0002\u2f36\u2efd\u0003\u0002\u0002\u0002\u2f36", + "\u2efe\u0003\u0002\u0002\u0002\u2f36\u2eff\u0003\u0002\u0002\u0002\u2f36", + "\u2f00\u0003\u0002\u0002\u0002\u2f36\u2f01\u0003\u0002\u0002\u0002\u2f36", + "\u2f02\u0003\u0002\u0002\u0002\u2f36\u2f03\u0003\u0002\u0002\u0002\u2f36", + "\u2f04\u0003\u0002\u0002\u0002\u2f36\u2f05\u0003\u0002\u0002\u0002\u2f36", + "\u2f06\u0003\u0002\u0002\u0002\u2f36\u2f07\u0003\u0002\u0002\u0002\u2f36", + "\u2f08\u0003\u0002\u0002\u0002\u2f36\u2f09\u0003\u0002\u0002\u0002\u2f36", + "\u2f0a\u0003\u0002\u0002\u0002\u2f36\u2f0b\u0003\u0002\u0002\u0002\u2f36", + "\u2f0c\u0003\u0002\u0002\u0002\u2f36\u2f0d\u0003\u0002\u0002\u0002\u2f36", + "\u2f0e\u0003\u0002\u0002\u0002\u2f36\u2f0f\u0003\u0002\u0002\u0002\u2f36", + "\u2f10\u0003\u0002\u0002\u0002\u2f36\u2f11\u0003\u0002\u0002\u0002\u2f36", + "\u2f12\u0003\u0002\u0002\u0002\u2f36\u2f13\u0003\u0002\u0002\u0002\u2f36", + "\u2f14\u0003\u0002\u0002\u0002\u2f36\u2f15\u0003\u0002\u0002\u0002\u2f36", + "\u2f16\u0003\u0002\u0002\u0002\u2f36\u2f17\u0003\u0002\u0002\u0002\u2f36", + "\u2f18\u0003\u0002\u0002\u0002\u2f36\u2f19\u0003\u0002\u0002\u0002\u2f36", + "\u2f1a\u0003\u0002\u0002\u0002\u2f36\u2f1b\u0003\u0002\u0002\u0002\u2f36", + "\u2f1c\u0003\u0002\u0002\u0002\u2f36\u2f1d\u0003\u0002\u0002\u0002\u2f36", + "\u2f1e\u0003\u0002\u0002\u0002\u2f36\u2f1f\u0003\u0002\u0002\u0002\u2f36", + "\u2f20\u0003\u0002\u0002\u0002\u2f36\u2f21\u0003\u0002\u0002\u0002\u2f36", + "\u2f22\u0003\u0002\u0002\u0002\u2f36\u2f23\u0003\u0002\u0002\u0002\u2f36", + "\u2f24\u0003\u0002\u0002\u0002\u2f36\u2f25\u0003\u0002\u0002\u0002\u2f36", + "\u2f26\u0003\u0002\u0002\u0002\u2f36\u2f27\u0003\u0002\u0002\u0002\u2f36", + "\u2f28\u0003\u0002\u0002\u0002\u2f36\u2f29\u0003\u0002\u0002\u0002\u2f36", + "\u2f2a\u0003\u0002\u0002\u0002\u2f36\u2f2b\u0003\u0002\u0002\u0002\u2f36", + "\u2f2c\u0003\u0002\u0002\u0002\u2f36\u2f2d\u0003\u0002\u0002\u0002\u2f36", + "\u2f2e\u0003\u0002\u0002\u0002\u2f36\u2f2f\u0003\u0002\u0002\u0002\u2f36", + "\u2f30\u0003\u0002\u0002\u0002\u2f36\u2f31\u0003\u0002\u0002\u0002\u2f36", + "\u2f32\u0003\u0002\u0002\u0002\u2f36\u2f33\u0003\u0002\u0002\u0002\u2f36", + "\u2f34\u0003\u0002\u0002\u0002\u2f36\u2f35\u0003\u0002\u0002\u0002\u2f37", + "\u05d7\u0003\u0002\u0002\u0002\u2f38\u2f39\t\u00ad\u0002\u0002\u2f39", + "\u05d9\u0003\u0002\u0002\u0002\u2f3a\u2f3b\t\u00ae\u0002\u0002\u2f3b", + "\u05db\u0003\u0002\u0002\u0002\u2f3c\u2f3d\t\u00af\u0002\u0002\u2f3d", + "\u05dd\u0003\u0002\u0002\u0002\u2f3e\u2f3f\t\u00b0\u0002\u0002\u2f3f", + "\u05df\u0003\u0002\u0002\u0002\u066c\u05e5\u05e8\u05ec\u0629\u0635\u063a", + "\u063f\u0646\u0650\u0655\u065d\u065f\u0663\u0667\u066a\u066e\u0673\u0679", + "\u0682\u0685\u068b\u0694\u06a1\u06a6\u06b0\u06b3\u06b8\u06bd\u06c4\u06ca", + "\u06ce\u06d4\u06d9\u06e0\u06e7\u06ee\u06f3\u06f7\u0703\u070d\u0712\u071e", + "\u0723\u0728\u072b\u072e\u073b\u0747\u074c\u0751\u075d\u0762\u076a\u076c", + "\u0770\u0773\u0777\u077a\u077e\u0783\u078f\u0794\u0798\u079b\u07a0\u07a7", + "\u07b1\u07b6\u07b9\u07bd\u07c0\u07c5\u07d7\u07dc\u07e1\u07e3\u07ea\u07f1", + "\u07f4\u07f7\u07fa\u0805\u0811\u0815\u0818\u0821\u0829\u0831\u0834\u083b", + "\u083f\u0844\u0849\u0872\u088e\u0895\u089a\u08a1\u08ac\u08b4\u08b8\u08c5", + "\u08c8\u08ce\u08d1\u08d6\u08db\u08df\u08e9\u08f3\u08f9\u0904\u0909\u090d", + "\u0915\u091d\u0922\u0925\u0927\u092a\u0933\u0938\u093f\u0942\u0945\u0949", + "\u094c\u0954\u0959\u095e\u0965\u096f\u097f\u0986\u0990\u099a\u09a1\u09a4", + "\u09a9\u09b3\u09b8\u09bf\u09c2\u09c7\u09ca\u09cd\u09de\u09e3\u09ec\u09ef", + "\u09f4\u09f7\u09fe\u0a01\u0a08\u0a0d\u0a11\u0a16\u0a1b\u0a29\u0a2e\u0a35", + "\u0a38\u0a3c\u0a3f\u0a42\u0a45\u0a4f\u0a55\u0a5f\u0a64\u0a6b\u0a71\u0a75", + "\u0a78\u0a7b\u0a8c\u0a91\u0a99\u0aa7\u0aae\u0abe\u0ad4\u0adb\u0add\u0ae1", + "\u0aec\u0aee\u0b03\u0b0b\u0b13\u0b16\u0b1d\u0b22\u0b28\u0b2d\u0b32\u0b36", + "\u0b3b\u0b41\u0b45\u0b4a\u0b4e\u0b52\u0b5f\u0b64\u0b67\u0b6b\u0b70\u0b72", + "\u0b78\u0b7a\u0b7e\u0b81\u0b88\u0b93\u0b9d\u0ba1\u0ba6\u0baa\u0bae\u0bb1", + "\u0bbc\u0bc1\u0bcd\u0bdc\u0be2\u0be4\u0be8\u0bf3\u0bf8\u0bff\u0c07\u0c12", + "\u0c19\u0c1d\u0c1f\u0c23\u0c2d\u0c38\u0c3d\u0c41\u0c45\u0c48\u0c4b\u0c55", + "\u0c5a\u0c62\u0c69\u0c6d\u0c6f\u0c74\u0c7e\u0c89\u0c8e\u0c92\u0c96\u0c99", + "\u0c9c\u0ca3\u0cac\u0cb6\u0cb8\u0ccf\u0cdc\u0cea\u0cec\u0cf7\u0cff\u0d05", + "\u0d08\u0d0d\u0d11\u0d14\u0d17\u0d1c\u0d24\u0d30\u0d37\u0d3e\u0d51\u0d5c", + "\u0d5f\u0d65\u0d67\u0d6e\u0d71\u0d73\u0d7b\u0d8f\u0d91\u0da3\u0da5\u0dae", + "\u0db4\u0db9\u0dc3\u0dcc\u0dd9\u0de3\u0de8\u0deb\u0df1\u0e03\u0e06\u0e09", + "\u0e11\u0e1e\u0e20\u0e24\u0e2c\u0e2e\u0e30\u0e32\u0e3a\u0e45\u0e50\u0e52", + "\u0e59\u0e5c\u0e61\u0e68\u0e6c\u0e6f\u0e7f\u0e84\u0e92\u0e97\u0e99\u0ea2", + "\u0eaa\u0ead\u0eb0\u0eb3\u0eb6\u0eb8\u0ebe\u0ec9\u0ecc\u0edb\u0ee6\u0eef", + "\u0ef8\u0f01\u0f0a\u0f0d\u0f13\u0f18\u0f1a\u0f21\u0f4b\u0f4e\u0f52\u0f55", + "\u0f60\u0f69\u0f6c\u0f6e\u0f7a\u0f7f\u0f83\u0f87\u0f8a\u0f8d\u0f9d\u0f9f", + "\u0fa5\u0fa7\u0fab\u0fb1\u0fb7\u0fbb\u0fbe\u0fc6\u0fd0\u0fd4\u0fe7\u0fec", + "\u0ff3\u0ffa\u1044\u1053\u1059\u105b\u105f\u1063\u1068\u106d\u1071\u1077", + "\u107c\u1081\u1084\u108f\u10a0\u10a5\u10aa\u10ad\u10c0\u10da\u10df\u10e5", + "\u10e7\u10f1\u10f4\u10f7\u10fa\u10fd\u1102\u1107\u110b\u110f\u1115\u1119", + "\u111d\u112d\u1131\u1135\u1139\u113e\u1142\u1148\u114d\u1150\u1158\u115b", + "\u1164\u1168\u116a\u117d\u1183\u1188\u118d\u118f\u1193\u119c\u11a9\u11b4", + "\u11b7\u11ba\u11c3\u11c5\u11cc\u11cf\u11db\u11ea\u11f1\u11f7\u11fb\u1201", + "\u1205\u120e\u1217\u121c\u1220\u1224\u122a\u1231\u1237\u1240\u1245\u124c", + "\u125d\u125f\u126e\u1270\u127b\u127e\u1281\u1287\u128a\u128d\u1294\u129a", + "\u129f\u12a3\u12a6\u12a9\u12af\u12b4\u12b7\u12bb\u12bf\u12c2\u12c9\u12cc", + "\u12ce\u12d3\u12db\u12dd\u12eb\u12f3\u12fc\u12ff\u1304\u1307\u1310\u1326", + "\u132c\u1331\u1333\u133d\u1346\u1352\u1355\u1358\u1364\u136d\u1375\u137a", + "\u1382\u1387\u138a\u139f\u13a1\u13a3\u13a6\u13aa\u13b4\u13b8\u13bd\u13c2", + "\u13c6\u13c8\u13cb\u13cf\u13d9\u13e1\u13e9\u13ec\u13ef\u13f2\u13f5\u13f7", + "\u13fe\u1400\u1404\u140a\u140d\u1411\u1416\u1425\u142b\u1430\u1435\u143a", + "\u143f\u1441\u1443\u1448\u1450\u1457\u1464\u146a\u146e\u147a\u1481\u1483", + "\u1485\u1489\u148c\u148f\u1496\u149d\u14a1\u14ab\u14af\u14b2\u14b5\u14bb", + "\u14be\u14c1\u14c4\u14c7\u14ca\u14cd\u14d4\u14d7\u14da\u14df\u14e1\u14e4", + "\u14e7\u14fa\u1501\u1505\u1508\u150f\u1514\u151b\u1521\u1523\u1529\u152d", + "\u1534\u1539\u153e\u1546\u154b\u1551\u1554\u1557\u155a\u155d\u1560\u1563", + "\u156a\u156d\u1570\u1575\u1577\u157a\u157d\u1581\u1587\u1589\u1594\u1598", + "\u159c\u15a3\u15a7\u15ac\u15af\u15bc\u15c1\u15c7\u15ca\u15cd\u15d0\u15d3", + "\u15da\u15dd\u15e0\u15e5\u15e7\u15ea\u15ed\u15f4\u15fe\u1609\u1619\u161e", + "\u1620\u1625\u162c\u1633\u1641\u1648\u164f\u165d\u1663\u1668\u166b\u1670", + "\u1673\u1677\u1686\u168b\u168f\u169a\u169f\u16ac\u16bc\u16c1\u16c3\u16c8", + "\u16d0\u16de\u16e6\u16f3\u16f9\u16fd\u170b\u1710\u1714\u1722\u1725\u1729", + "\u1733\u173b\u1743\u1746\u174b\u174d\u1751\u175b\u1763\u176b\u176e\u1773", + "\u1775\u177f\u1787\u178f\u1792\u1797\u17a4\u17a9\u17b2\u17bd\u17cb\u17d0", + "\u17d3\u17d9\u17dd\u17e1\u17e5\u17e9\u17ec\u17f8\u17fd\u1808\u1814\u1818", + "\u181d\u1820\u1824\u1828\u182a\u182f\u1836\u1840\u1845\u1847\u1850\u1858", + "\u185f\u1864\u1868\u186d\u1872\u1875\u1878\u187b\u187d\u1881\u1884\u1888", + "\u1890\u1892\u1894\u1897\u18a0\u18a2\u18b8\u18bf\u18c1\u18cd\u18cf\u18d2", + "\u18d6\u18d9\u18e4\u18ed\u18f4\u18f8\u1901\u1909\u190d\u1910\u1918\u191e", + "\u1922\u1927\u192c\u1934\u1938\u1946\u1948\u194b\u1951\u1956\u1959\u195c", + "\u1962\u196d\u1976\u1988\u1991\u1996\u199b\u19a1\u19a8\u19ad\u19af\u19c1", + "\u19c3\u19c6\u19d1\u19dc\u19e3\u19e8\u19eb\u19ee\u19f3\u19fe\u1a04\u1a08", + "\u1a0e\u1a15\u1a17\u1a19\u1a1d\u1a20\u1a23\u1a2d\u1a32\u1a34\u1a36\u1a3e", + "\u1a47\u1a49\u1a4d\u1a57\u1a60\u1a62\u1a65\u1a6a\u1a78\u1a81\u1a83\u1a87", + "\u1a8f\u1a91\u1a9c\u1aa5\u1aab\u1ab0\u1ab4\u1ab9\u1abe\u1ac3\u1ac7\u1ace", + "\u1ad5\u1ada\u1adf\u1ae3\u1aee\u1af2\u1af5\u1af8\u1b03\u1b0b\u1b13\u1b18", + "\u1b1e\u1b22\u1b2a\u1b2f\u1b34\u1b38\u1b41\u1b44\u1b47\u1b4b\u1b52\u1b5a", + "\u1b63\u1b66\u1b75\u1b86\u1b8c\u1b90\u1b97\u1b9e\u1ba1\u1ba3\u1ba9\u1bab", + "\u1bae\u1bb7\u1bba\u1bbe\u1bc4\u1bd0\u1bda\u1bde\u1be1\u1be4\u1be9\u1bed", + "\u1bf1\u1bf4\u1bfb\u1bfe\u1c05\u1c0b\u1c27\u1c31\u1c3b\u1c3d\u1c45\u1c65", + "\u1c6d\u1c6f\u1c71\u1c73\u1c82\u1c95\u1c97\u1c9a\u1ca0\u1ca6\u1cae\u1cb0", + "\u1cb2\u1cb7\u1cbc\u1cc1\u1cc5\u1cc9\u1ccd\u1cd6\u1cdf\u1ce2\u1ce5\u1ce8", + "\u1cec\u1cf6\u1cfd\u1d04\u1d06\u1d10\u1d13\u1d16\u1d19\u1d1d\u1d1f\u1d21", + "\u1d24\u1d2a\u1d2d\u1d32\u1d37\u1d3b\u1d3f\u1d45\u1d5e\u1d60\u1d6c\u1d71", + "\u1d76\u1d78\u1d84\u1d89\u1d8e\u1d90\u1d95\u1d9c\u1da0\u1da9\u1db0\u1db4", + "\u1db8\u1dbd\u1dc2\u1dc6\u1dcb\u1dd2\u1dd8\u1ddd\u1de1\u1de8\u1dea\u1ded", + "\u1df9\u1dfd\u1e02\u1e06\u1e0d\u1e17\u1e1a\u1e23\u1e2e\u1e30\u1e3d\u1e3f", + "\u1e41\u1e5c\u1e5f\u1e64\u1e66\u1e7c\u1e7f\u1e81\u1e83\u1e8a\u1e8c\u1e94", + "\u1e98\u1e9d\u1ea0\u1ea3\u1ea6\u1ead\u1eb2\u1eba\u1ebd\u1ec9\u1ed2\u1ed5", + "\u1ed9\u1ede\u1ee3\u1ee6\u1ee9\u1eec\u1eee\u1ef3\u1ef7\u1efb\u1efe\u1f01", + "\u1f06\u1f0f\u1f11\u1f1d\u1f20\u1f23\u1f2f\u1f31\u1f35\u1f39\u1f3c\u1f41", + "\u1f46\u1f4d\u1f53\u1f5b\u1f68\u1f6c\u1f73\u1f77\u1f85\u1f8a\u1f8e\u1f99", + "\u1f9b\u1fad\u1fb2\u1fb5\u1fb8\u1fbd\u1fbf\u1fc4\u1fca\u1fcf\u1fd5\u1fdc", + "\u1fef\u1ffa\u1fff\u2005\u2009\u2011\u2013\u201e\u2027\u202c\u2030\u2033", + "\u2041\u2049\u204d\u2050\u2058\u2064\u2068\u206d\u2070\u207d\u2081\u208d", + "\u2092\u2096\u209a\u20a0\u20a3\u20a6\u20c1\u20c7\u20cb\u20d6\u20dd\u20e1", + "\u20e4\u20ea\u20f3\u20fb\u20ff\u2103\u210b\u2114\u211a\u211c\u2135\u213a", + "\u213e\u2145\u2149\u214d\u2151\u215d\u2161\u216f\u2175\u217c\u2181\u218c", + "\u218f\u2195\u2197\u21a0\u21aa\u21af\u21be\u21c2\u21c5\u21c9\u21cd\u21db", + "\u21dd\u21e1\u21e9\u21f0\u21f5\u21f7\u21fc\u2201\u2209\u2210\u2214\u2217", + "\u2223\u2229\u2232\u2235\u223f\u224a\u224d\u2254\u2257\u225e\u2269\u226f", + "\u2273\u227d\u2280\u2286\u2291\u2293\u2295\u2298\u229c\u229f\u22a3\u22a7", + "\u22ac\u22b7\u22bb\u22c3\u22c6\u22cf\u22d1\u22da\u22df\u22e5\u22e9\u22ec", + "\u22f4\u22f7\u22fb\u22ff\u2304\u2307\u230b\u230f\u2313\u2326\u232e\u2332", + "\u2336\u233c\u2340\u2344\u2347\u234a\u234d\u2350\u2358\u235b\u2366\u2368", + "\u236f\u2376\u237b\u2381\u2385\u238a\u2391\u2397\u239e\u23a1\u23a4\u23a8", + "\u23ad\u23b1\u23b3\u23be\u23c5\u23c9\u23d3\u23d7\u23df\u23eb\u23f0\u23fa", + "\u2402\u2405\u240b\u2410\u2413\u2418\u241d\u242a\u2431\u243b\u2440\u2442", + "\u2447\u244b\u2451\u2455\u2462\u2466\u2470\u2473\u2475\u247a\u2483\u2490", + "\u2498\u249c\u24a5\u24a9\u24ae\u24b9\u24bb\u24cb\u24d0\u24d6\u24dc\u24ee", + "\u24f5\u24f8\u24fb\u2503\u2506\u250e\u2510\u2514\u2517\u251c\u251e\u2522", + "\u252e\u2537\u253f\u2544\u2548\u2552\u2554\u255a\u255f\u2562\u256c\u2572", + "\u2575\u2578\u2580\u258a\u2594\u2598\u259c\u259f\u25a2\u25a7\u25ac\u25af", + "\u25b2\u25b8\u25bb\u25c1\u25c4\u25c7\u25cc\u25cf\u25d7\u25dd\u25e2\u25e7", + "\u25ef\u25f9\u25fd\u25ff\u2602\u260e\u2612\u2615\u2624\u2629\u262d\u2634", + "\u2637\u2640\u2647\u264c\u2650\u2658\u265e\u2666\u2669\u2672\u2675\u2678", + "\u2681\u2687\u268d\u268f\u269a\u269c\u26a5\u26a7\u26ab\u26b1\u26b5\u26c3", + "\u26c8\u26d8\u26da\u26de\u26e3\u26e8\u26f4\u26f8\u26ff\u2704\u2709\u270c", + "\u2717\u271c\u2726\u2728\u272a\u2734\u2738\u273a\u2746\u274e\u275b\u275e", + "\u276a\u276c\u2774\u277c\u2783\u2787\u278e\u2792\u2797\u279b\u27a3\u27a7", + "\u27ae\u27b3\u27bc\u27c5\u27c8\u27dc\u27e0\u27e3\u27ea\u27ed\u27f1\u27f4", + "\u27fb\u27fe\u2804\u2807\u280b\u280e\u2815\u281a\u2828\u282f\u283a\u2843", + "\u284c\u2850\u2854\u286e\u2871\u2874\u287e\u2882\u2887\u288d\u2892\u2897", + "\u28a0\u28a3\u28a5\u28a9\u28b0\u28b7\u28bf\u28ce\u28d3\u28d8\u28de\u28e1", + "\u28e5\u28ef\u28fb\u28fd\u2904\u2908\u2911\u291a\u2928\u2930\u2933\u293c", + "\u2942\u294c\u2954\u2957\u295a\u2963\u2968\u2971\u2977\u297c\u297f\u2984", + "\u2989\u298d\u2993\u2999\u29a2\u29a7\u29af\u29b3\u29b8\u29be\u29c5\u29ca", + "\u29d1\u29d5\u29da\u29e2\u29e5\u29e8\u29eb\u29ef\u29f4\u29f7\u2a02\u2a06", + "\u2a08\u2a13\u2a1e\u2a27\u2a2a\u2a2e\u2a31\u2a40\u2a45\u2a4d\u2a54\u2a58", + "\u2a5d\u2a61\u2a66\u2a6a\u2a70\u2a73\u2a7a\u2a84\u2a8c\u2a90\u2a9a\u2a9d", + "\u2a9f\u2aa9\u2aab\u2ab1\u2ab7\u2ab9\u2ac7\u2ac9\u2ad3\u2adc\u2ae1\u2aea", + "\u2aee\u2af2\u2af7\u2afb\u2afe\u2b02\u2b09\u2b0d\u2b15\u2b1a\u2b2d\u2b32", + "\u2b39\u2b44\u2b4b\u2b52\u2b56\u2b5d\u2b62\u2b6b\u2b73\u2b7b\u2b81\u2b86", + "\u2b8b\u2b8f\u2b94\u2b97\u2b9c\u2ba0\u2ba4\u2ba9\u2bb2\u2bb8\u2bbd\u2bc1", + "\u2bc3\u2bca\u2bce\u2bd6\u2bd9\u2bde\u2be5\u2bf7\u2c08\u2c0f\u2c1d\u2c25", + "\u2c28\u2c2c\u2c31\u2c36\u2c3a\u2c3d\u2c41\u2c48\u2c4d\u2c4f\u2c51\u2c5b", + "\u2c60\u2c64\u2c67\u2c6b\u2c74\u2c7a\u2c7e\u2c80\u2c84\u2c88\u2c8f\u2c97", + "\u2c9f\u2ca1\u2ca6\u2caa\u2cad\u2cc5\u2ccc\u2ced\u2cf2\u2cf5\u2cfa\u2cfc", + "\u2d02\u2d0a\u2d0f\u2d16\u2d1b\u2d1e\u2d22\u2d29\u2d2e\u2d4c\u2d53\u2d62", + "\u2d72\u2d85\u2d96\u2d9d\u2da5\u2db2\u2dbb\u2dc4\u2dcd\u2dd7\u2ddf\u2de9", + "\u2df3\u2dff\u2e0f\u2e21\u2e2e\u2e3d\u2e48\u2e52\u2e5d\u2e67\u2e78\u2e7e", + "\u2e94\u2e99\u2e9f\u2ea5\u2eab\u2eb0\u2eb2\u2eb5\u2ebf\u2ec2\u2ec4\u2ec6", + "\u2ed4\u2edf\u2ee5\u2f36"].join(""); + + +var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); + +var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); }); + +var sharedContextCache = new antlr4.PredictionContextCache(); + +var literalNames = [ null, "'ABORT'", "'ABS'", "'ACCESS'", "'ACCESSED'", + "'ACCOUNT'", "'ACL'", "'ACOS'", "'ACTION'", "'ACTIONS'", + "'ACTIVATE'", "'ACTIVE'", "'ACTIVE_COMPONENT'", "'ACTIVE_DATA'", + "'ACTIVE_FUNCTION'", "'ACTIVE_TAG'", "'ACTIVITY'", + "'ADAPTIVE_PLAN'", "'ADD'", "'ADD_COLUMN'", "'ADD_GROUP'", + "'ADD_MONTHS'", "'ADJ_DATE'", "'ADMIN'", "'ADMINISTER'", + "'ADMINISTRATOR'", "'ADVANCED'", "'ADVISE'", "'ADVISOR'", + "'AFD_DISKSTRING'", "'AFTER'", "'AGENT'", "'AGGREGATE'", + "'A'", "'ALIAS'", "'ALL'", "'ALLOCATE'", "'ALLOW'", + "'ALL_ROWS'", "'ALTER'", "'ALWAYS'", "'ANALYZE'", "'ANCILLARY'", + "'AND'", "'AND_EQUAL'", "'ANOMALY'", "'ANSI_REARCH'", + "'ANTIJOIN'", "'ANY'", "'ANYSCHEMA'", "'APPEND'", "'APPENDCHILDXML'", + "'APPEND_VALUES'", "'APPLICATION'", "'APPLY'", "'APPROX_COUNT_DISTINCT'", + "'ARCHIVAL'", "'ARCHIVE'", "'ARCHIVED'", "'ARCHIVELOG'", + "'ARRAY'", "'AS'", "'ASC'", "'ASCII'", "'ASCIISTR'", + "'ASIN'", "'ASIS'", "'ASSEMBLY'", "'ASSIGN'", "'ASSOCIATE'", + "'ASYNC'", "'ASYNCHRONOUS'", "'ATAN2'", "'ATAN'", "'AT'", + "'ATTRIBUTE'", "'ATTRIBUTES'", "'AUDIT'", "'AUTHENTICATED'", + "'AUTHENTICATION'", "'AUTHID'", "'AUTHORIZATION'", + "'AUTOALLOCATE'", "'AUTO'", "'AUTOBACKUP'", "'AUTOEXTEND'", + "'AUTO_LOGIN'", "'AUTOMATIC'", "'AUTONOMOUS_TRANSACTION'", + "'AUTO_REOPTIMIZE'", "'AVAILABILITY'", "'AVRO'", "'BACKGROUND'", + "'BACKUP'", "'BACKUPSET'", "'BASIC'", "'BASICFILE'", + "'BATCH'", "'BATCHSIZE'", "'BATCH_TABLE_ACCESS_BY_ROWID'", + "'BECOME'", "'BEFORE'", "'BEGIN'", "'BEGINNING'", "'BEGIN_OUTLINE_DATA'", + "'BEHALF'", "'BEQUEATH'", "'BETWEEN'", "'BFILE'", "'BFILENAME'", + "'BIGFILE'", "'BINARY'", "'BINARY_DOUBLE'", "'BINARY_DOUBLE_INFINITY'", + "'BINARY_DOUBLE_NAN'", "'BINARY_FLOAT'", "'BINARY_FLOAT_INFINITY'", + "'BINARY_FLOAT_NAN'", "'BINARY_INTEGER'", "'BIND_AWARE'", + "'BINDING'", "'BIN_TO_NUM'", "'BITAND'", "'BITMAP_AND'", + "'BITMAP'", "'BITMAPS'", "'BITMAP_TREE'", "'BITS'", + "'BLOB'", "'BLOCK'", "'BLOCK_RANGE'", "'BLOCKS'", "'BLOCKSIZE'", + "'BODY'", "'BOOLEAN'", "'BOTH'", "'BOUND'", "'BRANCH'", + "'BREADTH'", "'BROADCAST'", "'BSON'", "'BUFFER'", "'BUFFER_CACHE'", + "'BUFFER_POOL'", "'BUILD'", "'BULK'", "'BY'", "'BYPASS_RECURSIVE_CHECK'", + "'BYPASS_UJVC'", "'BYTE'", "'CACHE'", "'CACHE_CB'", + "'CACHE_INSTANCES'", "'CACHE_TEMP_TABLE'", "'CACHING'", + "'CALCULATED'", "'CALLBACK'", "'CALL'", "'CANCEL'", + "'CANONICAL'", "'CAPACITY'", "'CARDINALITY'", "'CASCADE'", + "'CASE'", "'CAST'", "'CATEGORY'", "'CDB$DEFAULT'", + "'CEIL'", "'CELL_FLASH_CACHE'", "'CERTIFICATE'", "'CFILE'", + "'CHAINED'", "'CHANGE'", "'CHANGETRACKING'", "'CHANGE_DUPKEY_ERROR_INDEX'", + "'CHARACTER'", "'CHAR'", "'CHAR_CS'", "'CHARTOROWID'", + "'CHECK_ACL_REWRITE'", "'CHECK'", "'CHECKPOINT'", "'CHILD'", + "'CHOOSE'", "'CHR'", "'CHUNK'", "'CLASS'", "'CLASSIFIER'", + "'CLEANUP'", "'CLEAR'", "'C'", "'CLIENT'", "'CLOB'", + "'CLONE'", "'CLOSE_CACHED_OPEN_CURSORS'", "'CLOSE'", + "'CLUSTER_BY_ROWID'", "'CLUSTER'", "'CLUSTER_DETAILS'", + "'CLUSTER_DISTANCE'", "'CLUSTER_ID'", "'CLUSTERING'", + "'CLUSTERING_FACTOR'", "'CLUSTER_PROBABILITY'", "'CLUSTER_SET'", + "'COALESCE'", "'COALESCE_SQ'", "'COARSE'", "'CO_AUTH_IND'", + "'COLD'", "'COLLECT'", "'COLUMNAR'", "'COLUMN_AUTH_INDICATOR'", + "'COLUMN'", "'COLUMNS'", "'COLUMN_STATS'", "'COLUMN_VALUE'", + "'COMMENT'", "'COMMIT'", "'COMMITTED'", "'COMMON_DATA'", + "'COMPACT'", "'COMPATIBILITY'", "'COMPILE'", "'COMPLETE'", + "'COMPLIANCE'", "'COMPONENT'", "'COMPONENTS'", "'COMPOSE'", + "'COMPOSITE'", "'COMPOSITE_LIMIT'", "'COMPOUND'", "'COMPRESS'", + "'COMPUTE'", "'CONCAT'", "'CON_DBID_TO_ID'", "'CONDITIONAL'", + "'CONDITION'", "'CONFIRM'", "'CONFORMING'", "'CON_GUID_TO_ID'", + "'CON_ID'", "'CON_NAME_TO_ID'", "'CONNECT_BY_CB_WHR_ONLY'", + "'CONNECT_BY_COMBINE_SW'", "'CONNECT_BY_COST_BASED'", + "'CONNECT_BY_ELIM_DUPS'", "'CONNECT_BY_FILTERING'", + "'CONNECT_BY_ISCYCLE'", "'CONNECT_BY_ISLEAF'", "'CONNECT_BY_ROOT'", + "'CONNECT'", "'CONNECT_TIME'", "'CONSIDER'", "'CONSISTENT'", + "'CONSTANT'", "'CONST'", "'CONSTRAINT'", "'CONSTRAINTS'", + "'CONSTRUCTOR'", "'CONTAINER'", "'CONTAINER_DATA'", + "'CONTAINERS'", "'CONTENT'", "'CONTENTS'", "'CONTEXT'", + "'CONTINUE'", "'CONTROLFILE'", "'CON_UID_TO_ID'", "'CONVERT'", + "'COOKIE'", "'COPY'", "'CORR_K'", "'CORR_S'", "'CORRUPTION'", + "'CORRUPT_XID_ALL'", "'CORRUPT_XID'", "'COS'", "'COSH'", + "'COST'", "'COST_XML_QUERY_REWRITE'", "'COUNT'", "'COVAR_POP'", + "'COVAR_SAMP'", "'CPU_COSTING'", "'CPU_PER_CALL'", + "'CPU_PER_SESSION'", "'CRASH'", "'CREATE'", "'CREATE_FILE_DEST'", + "'CREATE_STORED_OUTLINES'", "'CREATION'", "'CREDENTIAL'", + "'CRITICAL'", "'CROSS'", "'CROSSEDITION'", "'CSCONVERT'", + "'CUBE_AJ'", "'CUBE'", "'CUBE_GB'", "'CUBE_SJ'", "'CUME_DISTM'", + "'CURRENT'", "'CURRENT_DATE'", "'CURRENT_SCHEMA'", + "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", "'CURRENT_USER'", + "'CURRENTV'", "'CURSOR'", "'CURSOR_SHARING_EXACT'", + "'CURSOR_SPECIFIC_SEGMENT'", "'CUSTOMDATUM'", "'CV'", + "'CYCLE'", "'DANGLING'", "'DATABASE'", "'DATA'", "'DATAFILE'", + "'DATAFILES'", "'DATAGUARDCONFIG'", "'DATAMOVEMENT'", + "'DATAOBJNO'", "'DATAOBJ_TO_MAT_PARTITION'", "'DATAOBJ_TO_PARTITION'", + "'DATAPUMP'", "'DATA_SECURITY_REWRITE_LIMIT'", "'DATE'", + "'DATE_MODE'", "'DAY'", "'DAYS'", "'DBA'", "'DBA_RECYCLEBIN'", + "'DBMS_STATS'", "'DB_ROLE_CHANGE'", "'DBTIMEZONE'", + "'DB_UNIQUE_NAME'", "'DB_VERSION'", "'DDL'", "'DEALLOCATE'", + "'DEBUG'", "'DEBUGGER'", "'DEC'", "'DECIMAL'", "'DECLARE'", + "'DECOMPOSE'", "'DECORRELATE'", "'DECR'", "'DECREMENT'", + "'DECRYPT'", "'DEDUPLICATE'", "'DEFAULT'", "'DEFAULTS'", + "'DEFERRABLE'", "'DEFERRED'", "'DEFINED'", "'DEFINE'", + "'DEFINER'", "'DEGREE'", "'DELAY'", "'DELEGATE'", "'DELETE_ALL'", + "'DELETE'", "'DELETEXML'", "'DEMAND'", "'DENSE_RANKM'", + "'DEPENDENT'", "'DEPTH'", "'DEQUEUE'", "'DEREF'", "'DEREF_NO_REWRITE'", + "'DESC'", "'DESTROY'", "'DETACHED'", "'DETERMINES'", + "'DETERMINISTIC'", "'DICTIONARY'", "'DIMENSION'", "'DIMENSIONS'", + "'DIRECT_LOAD'", "'DIRECTORY'", "'DIRECT_PATH'", "'DISABLE_ALL'", + "'DISABLE'", "'DISABLE_PARALLEL_DML'", "'DISABLE_PRESET'", + "'DISABLE_RPKE'", "'DISALLOW'", "'DISASSOCIATE'", "'DISCARD'", + "'DISCONNECT'", "'DISK'", "'DISKGROUP'", "''+ DISKGROUP'", + "'DISKS'", "'DISMOUNT'", "'DISTINCT'", "'DISTINGUISHED'", + "'DISTRIBUTED'", "'DISTRIBUTE'", "'DML'", "'DML_UPDATE'", + "'DOCFIDELITY'", "'DOCUMENT'", "'DOMAIN_INDEX_FILTER'", + "'DOMAIN_INDEX_NO_SORT'", "'DOMAIN_INDEX_SORT'", "'DOUBLE'", + "'DOWNGRADE'", "'DRIVING_SITE'", "'DROP_COLUMN'", "'DROP'", + "'DROP_GROUP'", "'DSINTERVAL_UNCONSTRAINED'", "'DST_UPGRADE_INSERT_CONV'", + "'DUMP'", "'DUMPSET'", "'DUPLICATE'", "'DV'", "'DYNAMIC'", + "'DYNAMIC_SAMPLING'", "'DYNAMIC_SAMPLING_EST_CDN'", + "'EACH'", "'EDITIONABLE'", "'EDITION'", "'EDITIONING'", + "'EDITIONS'", "'ELEMENT'", "'ELIM_GROUPBY'", "'ELIMINATE_JOIN'", + "'ELIMINATE_OBY'", "'ELIMINATE_OUTER_JOIN'", "'ELSE'", + "'ELSIF'", "'EM'", "'EMPTY_BLOB'", "'EMPTY_CLOB'", + "'EMPTY'", "'ENABLE_ALL'", "'ENABLE'", "'ENABLE_PARALLEL_DML'", + "'ENABLE_PRESET'", "'ENCODING'", "'ENCRYPT'", "'ENCRYPTION'", + "'END'", "'END_OUTLINE_DATA'", "'ENFORCED'", "'ENFORCE'", + "'ENQUEUE'", "'ENTERPRISE'", "'ENTITYESCAPING'", "'ENTRY'", + "'EQUIPART'", "'ERR'", "'ERROR_ARGUMENT'", "'ERROR'", + "'ERROR_ON_OVERLAP_TIME'", "'ERRORS'", "'ESCAPE'", + "'ESTIMATE'", "'EVAL'", "'EVALNAME'", "'EVALUATE'", + "'EVALUATION'", "'EVENTS'", "'EVERY'", "'EXCEPT'", + "'EXCEPTION'", "'EXCEPTION_INIT'", "'EXCEPTIONS'", + "'EXCHANGE'", "'EXCLUDE'", "'EXCLUDING'", "'EXCLUSIVE'", + "'EXECUTE'", "'EXEMPT'", "'EXISTING'", "'EXISTS'", + "'EXISTSNODE'", "'EXIT'", "'EXPAND_GSET_TO_UNION'", + "'EXPAND_TABLE'", "'EXP'", "'EXPIRE'", "'EXPLAIN'", + "'EXPLOSION'", "'EXPORT'", "'EXPR_CORR_CHECK'", "'EXPRESS'", + "'EXTENDS'", "'EXTENT'", "'EXTENTS'", "'EXTERNAL'", + "'EXTERNALLY'", "'EXTRACTCLOBXML'", "'EXTRACT'", "'EXTRACTVALUE'", + "'EXTRA'", "'FACILITY'", "'FACT'", "'FACTOR'", "'FACTORIZE_JOIN'", + "'FAILED'", "'FAILED_LOGIN_ATTEMPTS'", "'FAILGROUP'", + "'FAILOVER'", "'FAILURE'", "'FALSE'", "'FAMILY'", "'FAR'", + "'FAST'", "'FASTSTART'", "'FBTSCAN'", "'FEATURE_DETAILS'", + "'FEATURE_ID'", "'FEATURE_SET'", "'FEATURE_VALUE'", + "'FETCH'", "'FILE'", "'FILE_NAME_CONVERT'", "'FILESYSTEM_LIKE_LOGGING'", + "'FILTER'", "'FINAL'", "'FINE'", "'FINISH'", "'FIRST'", + "'FIRSTM'", "'FIRST_ROWS'", "'FIRST_VALUE'", "'FIXED_VIEW_DATA'", + "'FLAGGER'", "'FLASHBACK'", "'FLASH_CACHE'", "'FLOAT'", + "'FLOB'", "'FLOOR'", "'FLUSH'", "'FOLDER'", "'FOLLOWING'", + "'FOLLOWS'", "'FORALL'", "'FORCE'", "'FORCE_XML_QUERY_REWRITE'", + "'FOREIGN'", "'FOREVER'", "'FOR'", "'FORMAT'", "'FORWARD'", + "'FRAGMENT_NUMBER'", "'FREELIST'", "'FREELISTS'", "'FREEPOOLS'", + "'FRESH'", "'FROM'", "'FROM_TZ'", "'FULL'", "'FULL_OUTER_JOIN_TO_OUTER'", + "'FUNCTION'", "'FUNCTIONS'", "'GATHER_OPTIMIZER_STATISTICS'", + "'GATHER_PLAN_STATISTICS'", "'GBY_CONC_ROLLUP'", "'GBY_PUSHDOWN'", + "'GENERATED'", "'GET'", "'GLOBAL'", "'GLOBALLY'", "'GLOBAL_NAME'", + "'GLOBAL_TOPIC_ENABLED'", "'GOTO'", "'GRANT'", "'GROUP_BY'", + "'GROUP'", "'GROUP_ID'", "'GROUPING'", "'GROUPING_ID'", + "'GROUPS'", "'GUARANTEED'", "'GUARANTEE'", "'GUARD'", + "'HASH_AJ'", "'HASH'", "'HASHKEYS'", "'HASH_SJ'", "'HAVING'", + "'HEADER'", "'HEAP'", "'HELP'", "'HEXTORAW'", "'HEXTOREF'", + "'HIDDEN'", "'HIDE'", "'HIERARCHY'", "'HIGH'", "'HINTSET_BEGIN'", + "'HINTSET_END'", "'HOT'", "'HOUR'", "'HWM_BROKERED'", + "'HYBRID'", "'IDENTIFIED'", "'IDENTIFIER'", "'IDENTITY'", + "'IDGENERATORS'", "'ID'", "'IDLE_TIME'", "'IF'", "'IGNORE'", + "'IGNORE_OPTIM_EMBEDDED_HINTS'", "'IGNORE_ROW_ON_DUPKEY_INDEX'", + "'IGNORE_WHERE_CLAUSE'", "'ILM'", "'IMMEDIATE'", "'IMPACT'", + "'IMPORT'", "'INACTIVE'", "'INCLUDE'", "'INCLUDE_VERSION'", + "'INCLUDING'", "'INCREMENTAL'", "'INCREMENT'", "'INCR'", + "'INDENT'", "'INDEX_ASC'", "'INDEX_COMBINE'", "'INDEX_DESC'", + "'INDEXED'", "'INDEXES'", "'INDEX_FFS'", "'INDEX_FILTER'", + "'INDEX'", "'INDEXING'", "'INDEX_JOIN'", "'INDEX_ROWS'", + "'INDEX_RRS'", "'INDEX_RS_ASC'", "'INDEX_RS_DESC'", + "'INDEX_RS'", "'INDEX_SCAN'", "'INDEX_SKIP_SCAN'", + "'INDEX_SS_ASC'", "'INDEX_SS_DESC'", "'INDEX_SS'", + "'INDEX_STATS'", "'INDEXTYPE'", "'INDEXTYPES'", "'INDICATOR'", + "'INDICES'", "'INFINITE'", "'INFORMATIONAL'", "'INHERIT'", + "'IN'", "'INITCAP'", "'INITIAL'", "'INITIALIZED'", + "'INITIALLY'", "'INITRANS'", "'INLINE'", "'INLINE_XMLTYPE_NT'", + "'INMEMORY'", "'IN_MEMORY_METADATA'", "'INMEMORY_PRUNING'", + "'INNER'", "'INOUT'", "'INPLACE'", "'INSERTCHILDXMLAFTER'", + "'INSERTCHILDXMLBEFORE'", "'INSERTCHILDXML'", "'INSERT'", + "'INSERTXMLAFTER'", "'INSERTXMLBEFORE'", "'INSTANCE'", + "'INSTANCES'", "'INSTANTIABLE'", "'INSTANTLY'", "'INSTEAD'", + "'INSTR2'", "'INSTR4'", "'INSTRB'", "'INSTRC'", "'INSTR'", + "'INTEGER'", "'INTERLEAVED'", "'INTERMEDIATE'", "'INTERNAL_CONVERT'", + "'INTERNAL_USE'", "'INTERPRETED'", "'INTERSECT'", "'INTERVAL'", + "'INT'", "'INTO'", "'INVALIDATE'", "'INVISIBLE'", "'IN_XQUERY'", + "'IS'", "'ISOLATION'", "'ISOLATION_LEVEL'", "'ITERATE'", + "'ITERATION_NUMBER'", "'JAVA'", "'JOB'", "'JOIN'", + "'JSON_ARRAYAGG'", "'JSON_ARRAY'", "'JSON_EQUAL'", + "'JSON_EXISTS2'", "'JSON_EXISTS'", "'JSONGET'", "'JSON'", + "'JSON_OBJECTAGG'", "'JSON_OBJECT'", "'JSONPARSE'", + "'JSON_QUERY'", "'JSON_SERIALIZE'", "'JSON_TABLE'", + "'JSON_TEXTCONTAINS2'", "'JSON_TEXTCONTAINS'", "'JSON_VALUE'", + "'KEEP_DUPLICATES'", "'KEEP'", "'KERBEROS'", "'KEY'", + "'KEY_LENGTH'", "'KEYSIZE'", "'KEYS'", "'KEYSTORE'", + "'KILL'", "'LABEL'", "'LANGUAGE'", "'LAST_DAY'", "'LAST'", + "'LAST_VALUE'", "'LATERAL'", "'LAX'", "'LAYER'", "'LDAP_REGISTRATION_ENABLED'", + "'LDAP_REGISTRATION'", "'LDAP_REG_SYNC_INTERVAL'", + "'LEADING'", "'LEFT'", "'LENGTH2'", "'LENGTH4'", "'LENGTHB'", + "'LENGTHC'", "'LENGTH'", "'LESS'", "'LEVEL'", "'LEVELS'", + "'LIBRARY'", "'LIFECYCLE'", "'LIFE'", "'LIFETIME'", + "'LIKE2'", "'LIKE4'", "'LIKEC'", "'LIKE_EXPAND'", "'LIKE'", + "'LIMIT'", "'LINEAR'", "'LINK'", "'LIST'", "'LN'", + "'LNNVL'", "'LOAD'", "'LOB'", "'LOBNVL'", "'LOBS'", + "'LOCAL_INDEXES'", "'LOCAL'", "'LOCALTIME'", "'LOCALTIMESTAMP'", + "'LOCATION'", "'LOCATOR'", "'LOCKED'", "'LOCKING'", + "'LOCK'", "'LOGFILE'", "'LOGFILES'", "'LOGGING'", "'LOGICAL'", + "'LOGICAL_READS_PER_CALL'", "'LOGICAL_READS_PER_SESSION'", + "'LOG'", "'LOGMINING'", "'LOGOFF'", "'LOGON'", "'LOG_READ_ONLY_VIOLATIONS'", + "'LONG'", "'LOOP'", "'LOWER'", "'LOW'", "'LPAD'", "'LTRIM'", + "'MAIN'", "'MAKE_REF'", "'MANAGED'", "'MANAGE'", "'MANAGEMENT'", + "'MANAGER'", "'MANUAL'", "'MAP'", "'MAPPING'", "'MASTER'", + "'MATCHED'", "'MATCHES'", "'MATCH'", "'MATCH_NUMBER'", + "'MATCH_RECOGNIZE'", "'MATERIALIZED'", "'MATERIALIZE'", + "'MAXARCHLOGS'", "'MAXDATAFILES'", "'MAXEXTENTS'", + "'MAXIMIZE'", "'MAXINSTANCES'", "'MAXLOGFILES'", "'MAXLOGHISTORY'", + "'MAXLOGMEMBERS'", "'MAX_SHARED_TEMP_SIZE'", "'MAXSIZE'", + "'MAXTRANS'", "'MAXVALUE'", "'MEASURE'", "'MEASURES'", + "'MEDIUM'", "'MEMBER'", "'MEMCOMPRESS'", "'MEMORY'", + "'MERGE$ACTIONS'", "'MERGE_AJ'", "'MERGE_CONST_ON'", + "'MERGE'", "'MERGE_SJ'", "'METADATA'", "'METHOD'", + "'MIGRATE'", "'MIGRATION'", "'MINEXTENTS'", "'MINIMIZE'", + "'MINIMUM'", "'MINING'", "'MINUS'", "'MINUS_NULL'", + "'MINUTE'", "'MINVALUE'", "'MIRRORCOLD'", "'MIRRORHOT'", + "'MIRROR'", "'MLSLABEL'", "'MODEL_COMPILE_SUBQUERY'", + "'MODEL_DONTVERIFY_UNIQUENESS'", "'MODEL_DYNAMIC_SUBQUERY'", + "'MODEL_MIN_ANALYSIS'", "'MODEL'", "'MODEL_NB'", "'MODEL_NO_ANALYSIS'", + "'MODEL_PBY'", "'MODEL_PUSH_REF'", "'MODEL_SV'", "'MODE'", + "'MODIFICATION'", "'MODIFY_COLUMN_TYPE'", "'MODIFY'", + "'MOD'", "'MODULE'", "'MONITORING'", "'MONITOR'", "'MONTH'", + "'MONTHS_BETWEEN'", "'MONTHS'", "'MOUNT'", "'MOUNTPATH'", + "'MOVEMENT'", "'MOVE'", "'MULTIDIMENSIONAL'", "'MULTISET'", + "'MV_MERGE'", "'NAMED'", "'NAME'", "'NAMESPACE'", "'NAN'", + "'NANVL'", "'NATIONAL'", "'NATIVE_FULL_OUTER_JOIN'", + "'NATIVE'", "'NATURAL'", "'NATURALN'", "'NAV'", "'NCHAR_CS'", + "'NCHAR'", "'NCHR'", "'NCLOB'", "'NEEDED'", "'NEG'", + "'NESTED'", "'NESTED_TABLE_FAST_INSERT'", "'NESTED_TABLE_GET_REFS'", + "'NESTED_TABLE_ID'", "'NESTED_TABLE_SET_REFS'", "'NESTED_TABLE_SET_SETID'", + "'NETWORK'", "'NEVER'", "'NEW'", "'NEW_TIME'", "'NEXT_DAY'", + "'NEXT'", "'NL_AJ'", "'NLJ_BATCHING'", "'NLJ_INDEX_FILTER'", + "'NLJ_INDEX_SCAN'", "'NLJ_PREFETCH'", "'NLS_CALENDAR'", + "'NLS_CHARACTERSET'", "'NLS_CHARSET_DECL_LEN'", "'NLS_CHARSET_ID'", + "'NLS_CHARSET_NAME'", "'NLS_COMP'", "'NLS_CURRENCY'", + "'NLS_DATE_FORMAT'", "'NLS_DATE_LANGUAGE'", "'NLS_INITCAP'", + "'NLS_ISO_CURRENCY'", "'NL_SJ'", "'NLS_LANG'", "'NLS_LANGUAGE'", + "'NLS_LENGTH_SEMANTICS'", "'NLS_LOWER'", "'NLS_NCHAR_CONV_EXCP'", + "'NLS_NUMERIC_CHARACTERS'", "'NLS_SORT'", "'NLSSORT'", + "'NLS_SPECIAL_CHARS'", "'NLS_TERRITORY'", "'NLS_UPPER'", + "'NO_ACCESS'", "'NO_ADAPTIVE_PLAN'", "'NO_ANSI_REARCH'", + "'NOAPPEND'", "'NOARCHIVELOG'", "'NOAUDIT'", "'NO_AUTO_REOPTIMIZE'", + "'NO_BASETABLE_MULTIMV_REWRITE'", "'NO_BATCH_TABLE_ACCESS_BY_ROWID'", + "'NO_BIND_AWARE'", "'NO_BUFFER'", "'NOCACHE'", "'NO_CARTESIAN'", + "'NO_CHECK_ACL_REWRITE'", "'NO_CLUSTER_BY_ROWID'", + "'NO_CLUSTERING'", "'NO_COALESCE_SQ'", "'NO_COMMON_DATA'", + "'NOCOMPRESS'", "'NO_CONNECT_BY_CB_WHR_ONLY'", "'NO_CONNECT_BY_COMBINE_SW'", + "'NO_CONNECT_BY_COST_BASED'", "'NO_CONNECT_BY_ELIM_DUPS'", + "'NO_CONNECT_BY_FILTERING'", "'NOCOPY'", "'NO_COST_XML_QUERY_REWRITE'", + "'NO_CPU_COSTING'", "'NOCPU_COSTING'", "'NOCYCLE'", + "'NO_DATA_SECURITY_REWRITE'", "'NO_DECORRELATE'", "'NODELAY'", + "'NO_DOMAIN_INDEX_FILTER'", "'NO_DST_UPGRADE_INSERT_CONV'", + "'NO_ELIM_GROUPBY'", "'NO_ELIMINATE_JOIN'", "'NO_ELIMINATE_OBY'", + "'NO_ELIMINATE_OUTER_JOIN'", "'NOENTITYESCAPING'", + "'NO_EXPAND_GSET_TO_UNION'", "'NO_EXPAND'", "'NO_EXPAND_TABLE'", + "'NO_FACT'", "'NO_FACTORIZE_JOIN'", "'NO_FILTERING'", + "'NOFORCE'", "'NO_FULL_OUTER_JOIN_TO_OUTER'", "'NO_GATHER_OPTIMIZER_STATISTICS'", + "'NO_GBY_PUSHDOWN'", "'NOGUARANTEE'", "'NO_INDEX_FFS'", + "'NO_INDEX'", "'NO_INDEX_SS'", "'NO_INMEMORY'", "'NO_INMEMORY_PRUNING'", + "'NOKEEP'", "'NO_LOAD'", "'NOLOCAL'", "'NOLOGGING'", + "'NOMAPPING'", "'NOMAXVALUE'", "'NO_MERGE'", "'NOMINIMIZE'", + "'NOMINVALUE'", "'NO_MODEL_PUSH_REF'", "'NO_MONITORING'", + "'NOMONITORING'", "'NO_MONITOR'", "'NO_MULTIMV_REWRITE'", + "'NO_NATIVE_FULL_OUTER_JOIN'", "'NONBLOCKING'", "'NONEDITIONABLE'", + "'NONE'", "'NO_NLJ_BATCHING'", "'NO_NLJ_PREFETCH'", + "'NO'", "'NONSCHEMA'", "'NO_OBJECT_LINK'", "'NOORDER'", + "'NO_ORDER_ROLLUPS'", "'NO_OUTER_JOIN_TO_ANTI'", "'NO_OUTER_JOIN_TO_INNER'", + "'NOOVERRIDE'", "'NO_PARALLEL_INDEX'", "'NOPARALLEL_INDEX'", + "'NO_PARALLEL'", "'NOPARALLEL'", "'NO_PARTIAL_COMMIT'", + "'NO_PARTIAL_JOIN'", "'NO_PARTIAL_ROLLUP_PUSHDOWN'", + "'NOPARTITION'", "'NO_PLACE_DISTINCT'", "'NO_PLACE_GROUP_BY'", + "'NO_PQ_CONCURRENT_UNION'", "'NO_PQ_MAP'", "'NO_PQ_REPLICATE'", + "'NO_PQ_SKEW'", "'NO_PRUNE_GSETS'", "'NO_PULL_PRED'", + "'NO_PUSH_PRED'", "'NO_PUSH_SUBQ'", "'NO_PX_FAULT_TOLERANCE'", + "'NO_PX_JOIN_FILTER'", "'NO_QKN_BUFF'", "'NO_QUERY_TRANSFORMATION'", + "'NO_REF_CASCADE'", "'NORELOCATE'", "'NORELY'", "'NOREPAIR'", + "'NOREPLAY'", "'NORESETLOGS'", "'NO_RESULT_CACHE'", + "'NOREVERSE'", "'NO_REWRITE'", "'NOREWRITE'", "'NORMAL'", + "'NO_ROOT_SW_FOR_LOCAL'", "'NOROWDEPENDENCIES'", "'NOSCHEMACHECK'", + "'NOSEGMENT'", "'NO_SEMIJOIN'", "'NO_SEMI_TO_INNER'", + "'NO_SET_TO_JOIN'", "'NOSORT'", "'NO_SQL_TRANSLATION'", + "'NO_SQL_TUNE'", "'NO_STAR_TRANSFORMATION'", "'NO_STATEMENT_QUEUING'", + "'NO_STATS_GSETS'", "'NOSTRICT'", "'NO_SUBQUERY_PRUNING'", + "'NO_SUBSTRB_PAD'", "'NO_SWAP_JOIN_INPUTS'", "'NOSWITCH'", + "'NO_TABLE_LOOKUP_BY_NL'", "'NO_TEMP_TABLE'", "'NOTHING'", + "'NOTIFICATION'", "'NOT'", "'NO_TRANSFORM_DISTINCT_AGG'", + "'NO_UNNEST'", "'NO_USE_CUBE'", "'NO_USE_HASH_AGGREGATION'", + "'NO_USE_HASH_GBY_FOR_PUSHDOWN'", "'NO_USE_HASH'", + "'NO_USE_INVISIBLE_INDEXES'", "'NO_USE_MERGE'", "'NO_USE_NL'", + "'NO_USE_VECTOR_AGGREGATION'", "'NOVALIDATE'", "'NO_VECTOR_TRANSFORM_DIMS'", + "'NO_VECTOR_TRANSFORM_FACT'", "'NO_VECTOR_TRANSFORM'", + "'NOWAIT'", "'NO_XDB_FASTPATH_INSERT'", "'NO_XML_DML_REWRITE'", + "'NO_XMLINDEX_REWRITE_IN_SELECT'", "'NO_XMLINDEX_REWRITE'", + "'NO_XML_QUERY_REWRITE'", "'NO_ZONEMAP'", "'NTH_VALUE'", + "'NULLIF'", "'NULL'", "'NULLS'", "'NUMBER'", "'NUMERIC'", + "'NUM_INDEX_KEYS'", "'NUMTODSINTERVAL'", "'NUMTOYMINTERVAL'", + "'NVARCHAR2'", "'NVL2'", "'OBJECT2XML'", "'OBJECT'", + "'OBJ_ID'", "'OBJNO'", "'OBJNO_REUSE'", "'OCCURENCES'", + "'OFFLINE'", "'OFF'", "'OFFSET'", "'OF'", "'OIDINDEX'", + "'OID'", "'OLAP'", "'OLD'", "'OLD_PUSH_PRED'", "'OLS'", + "'OLTP'", "'OMIT'", "'ONE'", "'ONLINE'", "'ONLINELOG'", + "'ONLY'", "'ON'", "'OPAQUE'", "'OPAQUE_TRANSFORM'", + "'OPAQUE_XCANONICAL'", "'OPCODE'", "'OPEN'", "'OPERATIONS'", + "'OPERATOR'", "'OPT_ESTIMATE'", "'OPTIMAL'", "'OPTIMIZE'", + "'OPTIMIZER_FEATURES_ENABLE'", "'OPTIMIZER_GOAL'", + "'OPTION'", "'OPT_PARAM'", "'ORA_BRANCH'", "'ORA_CHECK_ACL'", + "'ORA_CHECK_PRIVILEGE'", "'ORA_CLUSTERING'", "'ORADATA'", + "'ORADEBUG'", "'ORA_DST_AFFECTED'", "'ORA_DST_CONVERT'", + "'ORA_DST_ERROR'", "'ORA_GET_ACLIDS'", "'ORA_GET_PRIVILEGES'", + "'ORA_HASH'", "'ORA_INVOKING_USERID'", "'ORA_INVOKING_USER'", + "'ORA_INVOKING_XS_USER_GUID'", "'ORA_INVOKING_XS_USER'", + "'ORA_RAWCOMPARE'", "'ORA_RAWCONCAT'", "'ORA_ROWSCN'", + "'ORA_ROWSCN_RAW'", "'ORA_ROWVERSION'", "'ORA_TABVERSION'", + "'ORA_WRITE_TIME'", "'ORDERED'", "'ORDERED_PREDICATES'", + "'ORDER'", "'ORDINALITY'", "'OR_EXPAND'", "'ORGANIZATION'", + "'OR'", "'OR_PREDICATES'", "'OSERROR'", "'OTHER'", + "'OUTER_JOIN_TO_ANTI'", "'OUTER_JOIN_TO_INNER'", "'OUTER'", + "'OUTLINE_LEAF'", "'OUTLINE'", "'OUT_OF_LINE'", "'OUT'", + "'OVERFLOW_NOMOVE'", "'OVERFLOW'", "'OVERLAPS'", "'OVER'", + "'OVERRIDING'", "'OWNER'", "'OWNERSHIP'", "'OWN'", + "'PACKAGE'", "'PACKAGES'", "'PARALLEL_ENABLE'", "'PARALLEL_INDEX'", + "'PARALLEL'", "'PARAMETERFILE'", "'PARAMETERS'", "'PARAM'", + "'PARENT'", "'PARITY'", "'PARTIAL_JOIN'", "'PARTIALLY'", + "'PARTIAL'", "'PARTIAL_ROLLUP_PUSHDOWN'", "'PARTITION_HASH'", + "'PARTITION_LIST'", "'PARTITION'", "'PARTITION_RANGE'", + "'PARTITIONS'", "'PART$NUM$INST'", "'PASSING'", "'PASSWORD_GRACE_TIME'", + "'PASSWORD_LIFE_TIME'", "'PASSWORD_LOCK_TIME'", "'PASSWORD'", + "'PASSWORD_REUSE_MAX'", "'PASSWORD_REUSE_TIME'", "'PASSWORD_VERIFY_FUNCTION'", + "'PAST'", "'PATCH'", "'PATH'", "'PATH_PREFIX'", "'PATHS'", + "'PATTERN'", "'PBL_HS_BEGIN'", "'PBL_HS_END'", "'PCTFREE'", + "'PCTINCREASE'", "'PCTTHRESHOLD'", "'PCTUSED'", "'PCTVERSION'", + "'PENDING'", null, null, null, "'PERCENT'", "'PERCENT_RANKM'", + null, null, null, "'PERFORMANCE'", "'PERIOD'", "'PERMANENT'", + "'PERMISSION'", "'PERMUTE'", "'PER'", "'PFILE'", "'PHYSICAL'", + "'PIKEY'", "'PIPELINED'", "'PIPE'", "'PIV_GB'", "'PIVOT'", + "'PIV_SSF'", "'PLACE_DISTINCT'", "'PLACE_GROUP_BY'", + "'PLAN'", "'PLSCOPE_SETTINGS'", "'PLS_INTEGER'", "'PLSQL_CCFLAGS'", + "'PLSQL_CODE_TYPE'", "'PLSQL_DEBUG'", "'PLSQL_OPTIMIZE_LEVEL'", + "'PLSQL_WARNINGS'", "'PLUGGABLE'", "'POINT'", "'POLICY'", + "'POOL_16K'", "'POOL_2K'", "'POOL_32K'", "'POOL_4K'", + "'POOL_8K'", "'POSITIVEN'", "'POSITIVE'", "'POST_TRANSACTION'", + "'POWERMULTISET_BY_CARDINALITY'", "'POWERMULTISET'", + "'POWER'", "'PQ_CONCURRENT_UNION'", "'PQ_DISTRIBUTE'", + "'PQ_DISTRIBUTE_WINDOW'", "'PQ_FILTER'", "'PQ_MAP'", + "'PQ_NOMAP'", "'PQ_REPLICATE'", "'PQ_SKEW'", "'PRAGMA'", + "'PREBUILT'", "'PRECEDES'", "'PRECEDING'", "'PRECISION'", + "'PRECOMPUTE_SUBQUERY'", "'PREDICATE_REORDERS'", "'PRELOAD'", + "'PREPARE'", "'PRESENTNNV'", "'PRESENT'", "'PRESENTV'", + "'PRESERVE_OID'", "'PRESERVE'", "'PRETTY'", "'PREVIOUS'", + "'PREV'", "'PRIMARY'", "'PRINTBLOBTOCLOB'", "'PRIORITY'", + "'PRIOR'", "'PRIVATE'", "'PRIVATE_SGA'", "'PRIVILEGED'", + "'PRIVILEGE'", "'PRIVILEGES'", "'PROCEDURAL'", "'PROCEDURE'", + "'PROCESS'", "'PROFILE'", "'PROGRAM'", "'PROJECT'", + "'PROPAGATE'", "'PROTECTED'", "'PROTECTION'", "'PROXY'", + "'PRUNING'", "'PUBLIC'", "'PULL_PRED'", "'PURGE'", + "'PUSH_PRED'", "'PUSH_SUBQ'", "'PX_FAULT_TOLERANCE'", + "'PX_GRANULE'", "'PX_JOIN_FILTER'", "'QB_NAME'", "'QUERY_BLOCK'", + "'QUERY'", "'QUEUE_CURR'", "'QUEUE'", "'QUEUE_ROWP'", + "'QUIESCE'", "'QUORUM'", "'QUOTA'", "'RAISE'", "'RANDOM_LOCAL'", + "'RANDOM'", "'RANGE'", "'RANKM'", "'RAPIDLY'", "'RAW'", + "'RAWTOHEX'", "'RAWTONHEX'", "'RBA'", "'RBO_OUTLINE'", + "'RDBA'", "'READ'", "'READS'", "'REALM'", "'REAL'", + "'REBALANCE'", "'REBUILD'", "'RECORD'", "'RECORDS_PER_BLOCK'", + "'RECOVERABLE'", "'RECOVER'", "'RECOVERY'", "'RECYCLEBIN'", + "'RECYCLE'", "'REDACTION'", "'REDEFINE'", "'REDO'", + "'REDUCED'", "'REDUNDANCY'", "'REF_CASCADE_CURSOR'", + "'REFERENCED'", "'REFERENCE'", "'REFERENCES'", "'REFERENCING'", + "'REF'", "'REFRESH'", "'REFTOHEX'", "'REGEXP_COUNT'", + "'REGEXP_INSTR'", "'REGEXP_LIKE'", "'REGEXP_REPLACE'", + "'REGEXP_SUBSTR'", "'REGISTER'", "'REGR_AVGX'", "'REGR_AVGY'", + "'REGR_COUNT'", "'REGR_INTERCEPT'", "'REGR_R2'", "'REGR_SLOPE'", + "'REGR_SXX'", "'REGR_SXY'", "'REGR_SYY'", "'REGULAR'", + "'REJECT'", "'REKEY'", "'RELATIONAL'", "'RELIES_ON'", + "'RELOCATE'", "'RELY'", "'REMAINDER'", "'REMOTE_MAPPED'", + "'REMOVE'", "'RENAME'", "'REPAIR'", "'REPEAT'", "'REPLACE'", + "'REPLICATION'", "'REQUIRED'", "'RESETLOGS'", "'RESET'", + "'RESIZE'", "'RESOLVE'", "'RESOLVER'", "'RESOURCE'", + "'RESPECT'", "'RESTART'", "'RESTORE_AS_INTERVALS'", + "'RESTORE'", "'RESTRICT_ALL_REF_CONS'", "'RESTRICTED'", + "'RESTRICT_REFERENCES'", "'RESTRICT'", "'RESULT_CACHE'", + "'RESULT'", "'RESUMABLE'", "'RESUME'", "'RETENTION'", + "'RETRY_ON_ROW_CHANGE'", "'RETURNING'", "'RETURN'", + "'REUSE'", "'REVERSE'", "'REVOKE'", "'REWRITE_OR_ERROR'", + "'REWRITE'", "'RIGHT'", "'ROLE'", "'ROLESET'", "'ROLES'", + "'ROLLBACK'", "'ROLLING'", "'ROLLUP'", "'ROWDEPENDENCIES'", + "'ROWID_MAPPING_TABLE'", "'ROWID'", "'ROWIDTOCHAR'", + "'ROWIDTONCHAR'", "'ROW_LENGTH'", "'ROWNUM'", "'ROW'", + "'ROWS'", "'RPAD'", "'RTRIM'", "'RULE'", "'RULES'", + "'RUNNING'", "'SALT'", "'SAMPLE'", "'SAVE_AS_INTERVALS'", + "'SAVEPOINT'", "'SAVE'", "'SB4'", "'SCALE_ROWS'", "'SCALE'", + "'SCAN_INSTANCES'", "'SCAN'", "'SCHEDULER'", "'SCHEMACHECK'", + "'SCHEMA'", "'SCN_ASCENDING'", "'SCN'", "'SCOPE'", + "'SCRUB'", "'SD_ALL'", "'SD_INHIBIT'", "'SDO_GEOM_MBR'", + "'SD_SHOW'", "'SEARCH'", "'SECOND'", "'SECRET'", "'SECUREFILE_DBA'", + "'SECUREFILE'", "'SECURITY'", "'SEED'", "'SEG_BLOCK'", + "'SEG_FILE'", "'SEGMENT'", "'SELECTIVITY'", "'SELECT'", + "'SELF'", "'SEMIJOIN_DRIVER'", "'SEMIJOIN'", "'SEMI_TO_INNER'", + "'SEQUENCED'", "'SEQUENCE'", "'SEQUENTIAL'", "'SEQ'", + "'SERIALIZABLE'", "'SERIALLY_REUSABLE'", "'SERIAL'", + "'SERVERERROR'", "'SERVICE_NAME_CONVERT'", "'SERVICES'", + "'SESSION_CACHED_CURSORS'", "'SESSION'", "'SESSIONS_PER_USER'", + "'SESSIONTIMEZONE'", "'SESSIONTZNAME'", "'SET'", "'SETS'", + "'SETTINGS'", "'SET_TO_JOIN'", "'SEVERE'", "'SHARED_POOL'", + "'SHARED'", "'SHARE'", "'SHARING'", "'SHELFLIFE'", + "'SHOW'", "'SHRINK'", "'SHUTDOWN'", "'SIBLINGS'", "'SID'", + "'SIGNAL_COMPONENT'", "'SIGNAL_FUNCTION'", "'SIGN'", + "'SIGNTYPE'", "'SIMPLE_INTEGER'", "'SIMPLE'", "'SINGLE'", + "'SINGLETASK'", "'SINH'", "'SIN'", "'SIZE'", "'SKIP_EXT_OPTIMIZER'", + "'SKIP'", "'SKIP_UNQ_UNUSABLE_IDX'", "'SKIP_UNUSABLE_INDEXES'", + "'SMALLFILE'", "'SMALLINT'", "'SNAPSHOT'", "'SOME'", + "'SORT'", "'SOUNDEX'", "'SOURCE_FILE_DIRECTORY'", "'SOURCE_FILE_NAME_CONVERT'", + "'SOURCE'", "'SPACE'", "'SPECIFICATION'", "'SPFILE'", + "'SPLIT'", "'SPREADSHEET'", "'SQLDATA'", "'SQLERROR'", + "'SQLLDR'", "'SQL'", "'SQL_TRACE'", "'SQL_TRANSLATION_PROFILE'", + "'SQRT'", "'STALE'", "'STANDALONE'", "'STANDARD_HASH'", + "'STANDBY_MAX_DATA_DELAY'", "'STANDBYS'", "'STANDBY'", + "'STAR'", "'STAR_TRANSFORMATION'", "'START'", "'STARTUP'", + "'STATEMENT_ID'", "'STATEMENT_QUEUING'", "'STATEMENTS'", + "'STATEMENT'", "'STATE'", "'STATIC'", "'STATISTICS'", + "'STATS_BINOMIAL_TEST'", "'STATS_CROSSTAB'", "'STATS_F_TEST'", + "'STATS_KS_TEST'", "'STATS_MODE'", "'STATS_MW_TEST'", + "'STATS_ONE_WAY_ANOVA'", "'STATS_T_TEST_INDEP'", "'STATS_T_TEST_INDEPU'", + "'STATS_T_TEST_ONE'", "'STATS_T_TEST_PAIRED'", "'STATS_WSR_TEST'", + "'STDDEV_POP'", "'STDDEV_SAMP'", "'STOP'", "'STORAGE'", + "'STORE'", "'STREAMS'", "'STREAM'", "'STRICT'", "'STRING'", + "'STRIPE_COLUMNS'", "'STRIPE_WIDTH'", "'STRIP'", "'STRUCTURE'", + "'SUBMULTISET'", "'SUBPARTITION_REL'", "'SUBPARTITIONS'", + "'SUBPARTITION'", "'SUBQUERIES'", "'SUBQUERY_PRUNING'", + "'SUBSCRIBE'", "'SUBSET'", "'SUBSTITUTABLE'", "'SUBSTR2'", + "'SUBSTR4'", "'SUBSTRB'", "'SUBSTRC'", "'SUBTYPE'", + "'SUCCESSFUL'", "'SUCCESS'", "'SUMMARY'", "'SUPPLEMENTAL'", + "'SUSPEND'", "'SWAP_JOIN_INPUTS'", "'SWITCHOVER'", + "'SWITCH'", "'SYNCHRONOUS'", "'SYNC'", "'SYNONYM'", + "'SYSASM'", "'SYS_AUDIT'", "'SYSAUX'", "'SYSBACKUP'", + "'SYS_CHECKACL'", "'SYS_CHECK_PRIVILEGE'", "'SYS_CONNECT_BY_PATH'", + "'SYS_CONTEXT'", "'SYSDATE'", "'SYSDBA'", "'SYS_DBURIGEN'", + "'SYSDG'", "'SYS_DL_CURSOR'", "'SYS_DM_RXFORM_CHR'", + "'SYS_DM_RXFORM_NUM'", "'SYS_DOM_COMPARE'", "'SYS_DST_PRIM2SEC'", + "'SYS_DST_SEC2PRIM'", "'SYS_ET_BFILE_TO_RAW'", "'SYS_ET_BLOB_TO_IMAGE'", + "'SYS_ET_IMAGE_TO_BLOB'", "'SYS_ET_RAW_TO_BFILE'", + "'SYS_EXTPDTXT'", "'SYS_EXTRACT_UTC'", "'SYS_FBT_INSDEL'", + "'SYS_FILTER_ACLS'", "'SYS_FNMATCHES'", "'SYS_FNREPLACE'", + "'SYS_GET_ACLIDS'", "'SYS_GET_COL_ACLIDS'", "'SYS_GET_PRIVILEGES'", + "'SYS_GETTOKENID'", "'SYS_GETXTIVAL'", "'SYS_GUID'", + "'SYSGUID'", "'SYSKM'", "'SYS_MAKE_XMLNODEID'", "'SYS_MAKEXML'", + "'SYS_MKXMLATTR'", "'SYS_MKXTI'", "'SYSOBJ'", "'SYS_OP_ADT2BIN'", + "'SYS_OP_ADTCONS'", "'SYS_OP_ALSCRVAL'", "'SYS_OP_ATG'", + "'SYS_OP_BIN2ADT'", "'SYS_OP_BITVEC'", "'SYS_OP_BL2R'", + "'SYS_OP_BLOOM_FILTER_LIST'", "'SYS_OP_BLOOM_FILTER'", + "'SYS_OP_C2C'", "'SYS_OP_CAST'", "'SYS_OP_CEG'", "'SYS_OP_CL2C'", + "'SYS_OP_COMBINED_HASH'", "'SYS_OP_COMP'", "'SYS_OP_CONVERT'", + "'SYS_OP_COUNTCHG'", "'SYS_OP_CSCONV'", "'SYS_OP_CSCONVTEST'", + "'SYS_OP_CSR'", "'SYS_OP_CSX_PATCH'", "'SYS_OP_CYCLED_SEQ'", + "'SYS_OP_DECOMP'", "'SYS_OP_DESCEND'", "'SYS_OP_DISTINCT'", + "'SYS_OP_DRA'", "'SYS_OP_DUMP'", "'SYS_OP_DV_CHECK'", + "'SYS_OP_ENFORCE_NOT_NULL$'", "'SYSOPER'", "'SYS_OP_EXTRACT'", + "'SYS_OP_GROUPING'", "'SYS_OP_GUID'", "'SYS_OP_HASH'", + "'SYS_OP_IIX'", "'SYS_OP_ITR'", "'SYS_OP_KEY_VECTOR_CREATE'", + "'SYS_OP_KEY_VECTOR_FILTER_LIST'", "'SYS_OP_KEY_VECTOR_FILTER'", + "'SYS_OP_KEY_VECTOR_SUCCEEDED'", "'SYS_OP_KEY_VECTOR_USE'", + "'SYS_OP_LBID'", "'SYS_OP_LOBLOC2BLOB'", "'SYS_OP_LOBLOC2CLOB'", + "'SYS_OP_LOBLOC2ID'", "'SYS_OP_LOBLOC2NCLOB'", "'SYS_OP_LOBLOC2TYP'", + "'SYS_OP_LSVI'", "'SYS_OP_LVL'", "'SYS_OP_MAKEOID'", + "'SYS_OP_MAP_NONNULL'", "'SYS_OP_MSR'", "'SYS_OP_NICOMBINE'", + "'SYS_OP_NIEXTRACT'", "'SYS_OP_NII'", "'SYS_OP_NIX'", + "'SYS_OP_NOEXPAND'", "'SYS_OP_NTCIMG$'", "'SYS_OP_NUMTORAW'", + "'SYS_OP_OIDVALUE'", "'SYS_OP_OPNSIZE'", "'SYS_OP_PAR_1'", + "'SYS_OP_PARGID_1'", "'SYS_OP_PARGID'", "'SYS_OP_PAR'", + "'SYS_OP_PART_ID'", "'SYS_OP_PIVOT'", "'SYS_OP_R2O'", + "'SYS_OP_RAWTONUM'", "'SYS_OP_RDTM'", "'SYS_OP_REF'", + "'SYS_OP_RMTD'", "'SYS_OP_ROWIDTOOBJ'", "'SYS_OP_RPB'", + "'SYS_OPTLOBPRBSC'", "'SYS_OP_TOSETID'", "'SYS_OP_TPR'", + "'SYS_OP_TRTB'", "'SYS_OPTXICMP'", "'SYS_OPTXQCASTASNQ'", + "'SYS_OP_UNDESCEND'", "'SYS_OP_VECAND'", "'SYS_OP_VECBIT'", + "'SYS_OP_VECOR'", "'SYS_OP_VECXOR'", "'SYS_OP_VERSION'", + "'SYS_OP_VREF'", "'SYS_OP_VVD'", "'SYS_OP_XMLCONS_FOR_CSX'", + "'SYS_OP_XPTHATG'", "'SYS_OP_XPTHIDX'", "'SYS_OP_XPTHOP'", + "'SYS_OP_XTXT2SQLT'", "'SYS_OP_ZONE_ID'", "'SYS_ORDERKEY_DEPTH'", + "'SYS_ORDERKEY_MAXCHILD'", "'SYS_ORDERKEY_PARENT'", + "'SYS_PARALLEL_TXN'", "'SYS_PATHID_IS_ATTR'", "'SYS_PATHID_IS_NMSPC'", + "'SYS_PATHID_LASTNAME'", "'SYS_PATHID_LASTNMSPC'", + "'SYS_PATH_REVERSE'", "'SYS_PXQEXTRACT'", "'SYS_RAW_TO_XSID'", + "'SYS_RID_ORDER'", "'SYS_ROW_DELTA'", "'SYS_SC_2_XMLT'", + "'SYS_SYNRCIREDO'", "'SYSTEM_DEFINED'", "'SYSTEM'", + "'SYSTIMESTAMP'", "'SYS_TYPEID'", "'SYS_UMAKEXML'", + "'SYS_XMLANALYZE'", "'SYS_XMLCONTAINS'", "'SYS_XMLCONV'", + "'SYS_XMLEXNSURI'", "'SYS_XMLGEN'", "'SYS_XMLI_LOC_ISNODE'", + "'SYS_XMLI_LOC_ISTEXT'", "'SYS_XMLINSTR'", "'SYS_XMLLOCATOR_GETSVAL'", + "'SYS_XMLNODEID_GETCID'", "'SYS_XMLNODEID_GETLOCATOR'", + "'SYS_XMLNODEID_GETOKEY'", "'SYS_XMLNODEID_GETPATHID'", + "'SYS_XMLNODEID_GETPTRID'", "'SYS_XMLNODEID_GETRID'", + "'SYS_XMLNODEID_GETSVAL'", "'SYS_XMLNODEID_GETTID'", + "'SYS_XMLNODEID'", "'SYS_XMLT_2_SC'", "'SYS_XMLTRANSLATE'", + "'SYS_XMLTYPE2SQL'", "'SYS_XQ_ASQLCNV'", "'SYS_XQ_ATOMCNVCHK'", + "'SYS_XQBASEURI'", "'SYS_XQCASTABLEERRH'", "'SYS_XQCODEP2STR'", + "'SYS_XQCODEPEQ'", "'SYS_XQCON2SEQ'", "'SYS_XQCONCAT'", + "'SYS_XQDELETE'", "'SYS_XQDFLTCOLATION'", "'SYS_XQDOC'", + "'SYS_XQDOCURI'", "'SYS_XQDURDIV'", "'SYS_XQED4URI'", + "'SYS_XQENDSWITH'", "'SYS_XQERRH'", "'SYS_XQERR'", + "'SYS_XQESHTMLURI'", "'SYS_XQEXLOBVAL'", "'SYS_XQEXSTWRP'", + "'SYS_XQEXTRACT'", "'SYS_XQEXTRREF'", "'SYS_XQEXVAL'", + "'SYS_XQFB2STR'", "'SYS_XQFNBOOL'", "'SYS_XQFNCMP'", + "'SYS_XQFNDATIM'", "'SYS_XQFNLNAME'", "'SYS_XQFNNM'", + "'SYS_XQFNNSURI'", "'SYS_XQFNPREDTRUTH'", "'SYS_XQFNQNM'", + "'SYS_XQFNROOT'", "'SYS_XQFORMATNUM'", "'SYS_XQFTCONTAIN'", + "'SYS_XQFUNCR'", "'SYS_XQGETCONTENT'", "'SYS_XQINDXOF'", + "'SYS_XQINSERT'", "'SYS_XQINSPFX'", "'SYS_XQIRI2URI'", + "'SYS_XQLANG'", "'SYS_XQLLNMFRMQNM'", "'SYS_XQMKNODEREF'", + "'SYS_XQNILLED'", "'SYS_XQNODENAME'", "'SYS_XQNORMSPACE'", + "'SYS_XQNORMUCODE'", "'SYS_XQ_NRNG'", "'SYS_XQNSP4PFX'", + "'SYS_XQNSPFRMQNM'", "'SYS_XQPFXFRMQNM'", "'SYS_XQ_PKSQL2XML'", + "'SYS_XQPOLYABS'", "'SYS_XQPOLYADD'", "'SYS_XQPOLYCEL'", + "'SYS_XQPOLYCSTBL'", "'SYS_XQPOLYCST'", "'SYS_XQPOLYDIV'", + "'SYS_XQPOLYFLR'", "'SYS_XQPOLYMOD'", "'SYS_XQPOLYMUL'", + "'SYS_XQPOLYRND'", "'SYS_XQPOLYSQRT'", "'SYS_XQPOLYSUB'", + "'SYS_XQPOLYUMUS'", "'SYS_XQPOLYUPLS'", "'SYS_XQPOLYVEQ'", + "'SYS_XQPOLYVGE'", "'SYS_XQPOLYVGT'", "'SYS_XQPOLYVLE'", + "'SYS_XQPOLYVLT'", "'SYS_XQPOLYVNE'", "'SYS_XQREF2VAL'", + "'SYS_XQRENAME'", "'SYS_XQREPLACE'", "'SYS_XQRESVURI'", + "'SYS_XQRNDHALF2EVN'", "'SYS_XQRSLVQNM'", "'SYS_XQRYENVPGET'", + "'SYS_XQRYVARGET'", "'SYS_XQRYWRP'", "'SYS_XQSEQ2CON4XC'", + "'SYS_XQSEQ2CON'", "'SYS_XQSEQDEEPEQ'", "'SYS_XQSEQINSB'", + "'SYS_XQSEQRM'", "'SYS_XQSEQRVS'", "'SYS_XQSEQSUB'", + "'SYS_XQSEQTYPMATCH'", "'SYS_XQSTARTSWITH'", "'SYS_XQSTATBURI'", + "'SYS_XQSTR2CODEP'", "'SYS_XQSTRJOIN'", "'SYS_XQSUBSTRAFT'", + "'SYS_XQSUBSTRBEF'", "'SYS_XQTOKENIZE'", "'SYS_XQTREATAS'", + "'SYS_XQ_UPKXML2SQL'", "'SYS_XQXFORM'", "'SYS_XSID_TO_RAW'", + "'SYS_ZMAP_FILTER'", "'SYS_ZMAP_REFRESH'", "'TABLE_LOOKUP_BY_NL'", + "'TABLESPACE_NO'", "'TABLESPACE'", "'TABLES'", "'TABLE_STATS'", + "'TABLE'", "'TABNO'", "'TAG'", "'TANH'", "'TAN'", "'TBL$OR$IDX$PART$NUM'", + "'TEMPFILE'", "'TEMPLATE'", "'TEMPORARY'", "'TEMP_TABLE'", + "'TEST'", "'TEXT'", "'THAN'", "'THEN'", "'THE'", "'THREAD'", + "'THROUGH'", "'TIER'", "'TIES'", "'TIMEOUT'", "'TIMESTAMP_LTZ_UNCONSTRAINED'", + "'TIMESTAMP'", "'TIMESTAMP_TZ_UNCONSTRAINED'", "'TIMESTAMP_UNCONSTRAINED'", + "'TIMES'", "'TIME'", "'TIMEZONE'", "'TIMEZONE_ABBR'", + "'TIMEZONE_HOUR'", "'TIMEZONE_MINUTE'", "'TIMEZONE_OFFSET'", + "'TIMEZONE_REGION'", "'TIME_ZONE'", "'TIV_GB'", "'TIV_SSF'", + "'TO_ACLID'", "'TO_BINARY_DOUBLE'", "'TO_BINARY_FLOAT'", + "'TO_BLOB'", "'TO_CLOB'", "'TO_DSINTERVAL'", "'TO_LOB'", + "'TO_MULTI_BYTE'", "'TO_NCHAR'", "'TO_NCLOB'", "'TO_NUMBER'", + "'TOPLEVEL'", "'TO_SINGLE_BYTE'", "'TO_TIMESTAMP'", + "'TO_TIMESTAMP_TZ'", "'TO_TIME'", "'TO_TIME_TZ'", "'TO'", + "'TO_YMINTERVAL'", "'TRACE'", "'TRACING'", "'TRACKING'", + "'TRAILING'", "'TRANSACTION'", "'TRANSFORM_DISTINCT_AGG'", + "'TRANSITIONAL'", "'TRANSITION'", "'TRANSLATE'", "'TRANSLATION'", + "'TREAT'", "'TRIGGERS'", "'TRIGGER'", "'TRUE'", "'TRUNCATE'", + "'TRUNC'", "'TRUSTED'", "'TRUST'", "'TUNING'", "'TX'", + "'TYPES'", "'TYPE'", "'TZ_OFFSET'", "'UB2'", "'UBA'", + "'UCS2'", "'UID'", "'UNARCHIVED'", "'UNBOUNDED'", "'UNBOUND'", + "'UNCONDITIONAL'", "'UNDER'", "'UNDO'", "'UNDROP'", + "'UNIFORM'", "'UNION'", "'UNIQUE'", "'UNISTR'", "'UNLIMITED'", + "'UNLOAD'", "'UNLOCK'", "'UNMATCHED'", "'UNNEST_INNERJ_DISTINCT_VIEW'", + "'UNNEST_NOSEMIJ_NODISTINCTVIEW'", "'UNNEST_SEMIJ_VIEW'", + "'UNNEST'", "'UNPACKED'", "'UNPIVOT'", "'UNPLUG'", + "'UNPROTECTED'", "'UNQUIESCE'", "'UNRECOVERABLE'", + "'UNRESTRICTED'", "'UNSUBSCRIBE'", "'UNTIL'", "'UNUSABLE'", + "'UNUSED'", "'UPDATABLE'", "'UPDATED'", "'UPDATE'", + "'UPDATEXML'", "'UPD_INDEXES'", "'UPD_JOININDEX'", + "'UPGRADE'", "'UPPER'", "'UPSERT'", "'UROWID'", "'USABLE'", + "'USAGE'", "'USE_ANTI'", "'USE_CONCAT'", "'USE_CUBE'", + "'USE_HASH_AGGREGATION'", "'USE_HASH_GBY_FOR_PUSHDOWN'", + "'USE_HASH'", "'USE_HIDDEN_PARTITIONS'", "'USE_INVISIBLE_INDEXES'", + "'USE_MERGE_CARTESIAN'", "'USE_MERGE'", "'USE_NL'", + "'USE_NL_WITH_INDEX'", "'USE_PRIVATE_OUTLINES'", "'USER_DATA'", + "'USER_DEFINED'", "'USERENV'", "'USERGROUP'", "'USER_RECYCLEBIN'", + "'USERS'", "'USER_TABLESPACES'", "'USER'", "'USE_SEMI'", + "'USE_STORED_OUTLINES'", "'USE_TTT_FOR_GSETS'", "'USE'", + "'USE_VECTOR_AGGREGATION'", "'USE_WEAK_NAME_RESL'", + "'USING_NO_EXPAND'", "'USING'", "'UTF16BE'", "'UTF16LE'", + "'UTF32'", "'UTF8'", "'V1'", "'V2'", "'VALIDATE'", + "'VALIDATION'", "'VALID_TIME_END'", "'VALUES'", "'VALUE'", + "'VARCHAR2'", "'VARCHAR'", "'VARIABLE'", "'VAR_POP'", + "'VARRAYS'", "'VARRAY'", "'VAR_SAMP'", "'VARYING'", + "'VECTOR_READ_TRACE'", "'VECTOR_READ'", "'VECTOR_TRANSFORM_DIMS'", + "'VECTOR_TRANSFORM_FACT'", "'VECTOR_TRANSFORM'", "'VERIFIER'", + "'VERIFY'", "'VERSIONING'", "'VERSIONS_ENDSCN'", "'VERSIONS_ENDTIME'", + "'VERSIONS_OPERATION'", "'VERSIONS_STARTSCN'", "'VERSIONS_STARTTIME'", + "'VERSIONS'", "'VERSIONS_XID'", "'VERSION'", "'VIEW'", + "'VIOLATION'", "'VIRTUAL'", "'VISIBILITY'", "'VISIBLE'", + "'VOLUME'", "'VSIZE'", "'WAIT'", "'WALLET'", "'WARNING'", + "'WEEKS'", "'WEEK'", "'WELLFORMED'", "'WHENEVER'", + "'WHEN'", "'WHERE'", "'WHILE'", "'WHITESPACE'", "'WIDTH_BUCKET'", + "'WITHIN'", "'WITHOUT'", "'WITH_PLSQL'", "'WITH'", + "'WORK'", "'WRAPPED'", "'WRAPPER'", "'WRITE'", "'XDB_FASTPATH_INSERT'", + "'XDB'", "'X_DYN_PRUNE'", "'XID'", "'XML2OBJECT'", + "'XMLAGG'", "'XMLATTRIBUTES'", "'XMLCAST'", "'XMLCDATA'", + "'XMLCOLATTVAL'", "'XMLCOMMENT'", "'XMLCONCAT'", "'XMLDIFF'", + "'XML_DML_RWT_STMT'", "'XMLELEMENT'", "'XMLEXISTS2'", + "'XMLEXISTS'", "'XMLFOREST'", "'XMLINDEX'", "'XMLINDEX_REWRITE_IN_SELECT'", + "'XMLINDEX_REWRITE'", "'XMLINDEX_SEL_IDX_TBL'", "'XMLISNODE'", + "'XMLISVALID'", "'XMLNAMESPACES'", "'XMLPARSE'", "'XMLPATCH'", + "'XMLPI'", "'XMLQUERYVAL'", "'XMLQUERY'", "'XMLROOT'", + "'XMLSCHEMA'", "'XMLSERIALIZE'", "'XMLTABLE'", "'XMLTRANSFORMBLOB'", + "'XMLTRANSFORM'", "'XMLTYPE'", "'XML'", "'XPATHTABLE'", + "'XS_SYS_CONTEXT'", "'XS'", "'XTRANSPORT'", "'YEARS'", + "'YEAR'", "'YES'", "'YMINTERVAL_UNCONSTRAINED'", "'ZONEMAP'", + "'ZONE'", "'PREDICTION'", "'PREDICTION_BOUNDS'", "'PREDICTION_COST'", + "'PREDICTION_DETAILS'", "'PREDICTION_PROBABILITY'", + "'PREDICTION_SET'", "'CUME_DIST'", "'DENSE_RANK'", + "'LISTAGG'", "'PERCENT_RANK'", "'PERCENTILE_CONT'", + "'PERCENTILE_DISC'", "'RANK'", "'AVG'", "'CORR'", "'COVAR_'", + "'DECODE'", "'LAG'", "'LEAD'", "'MAX'", "'MEDIAN'", + "'MIN'", "'NTILE'", "'NVL'", "'RATIO_TO_REPORT'", "'REGR_'", + "'ROUND'", "'ROW_NUMBER'", "'SUBSTR'", "'TO_CHAR'", + "'TRIM'", "'SUM'", "'STDDEV'", "'VAR_'", "'VARIANCE'", + "'LEAST'", "'GREATEST'", "'TO_DATE'", null, null, null, + "'..'", "'.'", null, null, null, null, "'%'", "'&'", + "'('", "')'", "'**'", "'*'", "'+'", "'-'", "','", "'/'", + "'@'", "':='", null, null, "'^'", "'~'", "'!'", "'>'", + "'<'", "':'", "';'", "'|'", "'='", "'['", "']'", "'_'" ]; + +var symbolicNames = [ null, "ABORT", "ABS", "ACCESS", "ACCESSED", "ACCOUNT", + "ACL", "ACOS", "ACTION", "ACTIONS", "ACTIVATE", "ACTIVE", + "ACTIVE_COMPONENT", "ACTIVE_DATA", "ACTIVE_FUNCTION", + "ACTIVE_TAG", "ACTIVITY", "ADAPTIVE_PLAN", "ADD", + "ADD_COLUMN", "ADD_GROUP", "ADD_MONTHS", "ADJ_DATE", + "ADMIN", "ADMINISTER", "ADMINISTRATOR", "ADVANCED", + "ADVISE", "ADVISOR", "AFD_DISKSTRING", "AFTER", "AGENT", + "AGGREGATE", "A_LETTER", "ALIAS", "ALL", "ALLOCATE", + "ALLOW", "ALL_ROWS", "ALTER", "ALWAYS", "ANALYZE", + "ANCILLARY", "AND", "AND_EQUAL", "ANOMALY", "ANSI_REARCH", + "ANTIJOIN", "ANY", "ANYSCHEMA", "APPEND", "APPENDCHILDXML", + "APPEND_VALUES", "APPLICATION", "APPLY", "APPROX_COUNT_DISTINCT", + "ARCHIVAL", "ARCHIVE", "ARCHIVED", "ARCHIVELOG", "ARRAY", + "AS", "ASC", "ASCII", "ASCIISTR", "ASIN", "ASIS", + "ASSEMBLY", "ASSIGN", "ASSOCIATE", "ASYNC", "ASYNCHRONOUS", + "ATAN2", "ATAN", "AT", "ATTRIBUTE", "ATTRIBUTES", + "AUDIT", "AUTHENTICATED", "AUTHENTICATION", "AUTHID", + "AUTHORIZATION", "AUTOALLOCATE", "AUTO", "AUTOBACKUP", + "AUTOEXTEND", "AUTO_LOGIN", "AUTOMATIC", "AUTONOMOUS_TRANSACTION", + "AUTO_REOPTIMIZE", "AVAILABILITY", "AVRO", "BACKGROUND", + "BACKUP", "BACKUPSET", "BASIC", "BASICFILE", "BATCH", + "BATCHSIZE", "BATCH_TABLE_ACCESS_BY_ROWID", "BECOME", + "BEFORE", "BEGIN", "BEGINNING", "BEGIN_OUTLINE_DATA", + "BEHALF", "BEQUEATH", "BETWEEN", "BFILE", "BFILENAME", + "BIGFILE", "BINARY", "BINARY_DOUBLE", "BINARY_DOUBLE_INFINITY", + "BINARY_DOUBLE_NAN", "BINARY_FLOAT", "BINARY_FLOAT_INFINITY", + "BINARY_FLOAT_NAN", "BINARY_INTEGER", "BIND_AWARE", + "BINDING", "BIN_TO_NUM", "BITAND", "BITMAP_AND", "BITMAP", + "BITMAPS", "BITMAP_TREE", "BITS", "BLOB", "BLOCK", + "BLOCK_RANGE", "BLOCKS", "BLOCKSIZE", "BODY", "BOOLEAN", + "BOTH", "BOUND", "BRANCH", "BREADTH", "BROADCAST", + "BSON", "BUFFER", "BUFFER_CACHE", "BUFFER_POOL", "BUILD", + "BULK", "BY", "BYPASS_RECURSIVE_CHECK", "BYPASS_UJVC", + "BYTE", "CACHE", "CACHE_CB", "CACHE_INSTANCES", "CACHE_TEMP_TABLE", + "CACHING", "CALCULATED", "CALLBACK", "CALL", "CANCEL", + "CANONICAL", "CAPACITY", "CARDINALITY", "CASCADE", + "CASE", "CAST", "CATEGORY", "CDBDEFAULT", "CEIL", + "CELL_FLASH_CACHE", "CERTIFICATE", "CFILE", "CHAINED", + "CHANGE", "CHANGETRACKING", "CHANGE_DUPKEY_ERROR_INDEX", + "CHARACTER", "CHAR", "CHAR_CS", "CHARTOROWID", "CHECK_ACL_REWRITE", + "CHECK", "CHECKPOINT", "CHILD", "CHOOSE", "CHR", "CHUNK", + "CLASS", "CLASSIFIER", "CLEANUP", "CLEAR", "C_LETTER", + "CLIENT", "CLOB", "CLONE", "CLOSE_CACHED_OPEN_CURSORS", + "CLOSE", "CLUSTER_BY_ROWID", "CLUSTER", "CLUSTER_DETAILS", + "CLUSTER_DISTANCE", "CLUSTER_ID", "CLUSTERING", "CLUSTERING_FACTOR", + "CLUSTER_PROBABILITY", "CLUSTER_SET", "COALESCE", + "COALESCE_SQ", "COARSE", "CO_AUTH_IND", "COLD", "COLLECT", + "COLUMNAR", "COLUMN_AUTH_INDICATOR", "COLUMN", "COLUMNS", + "COLUMN_STATS", "COLUMN_VALUE", "COMMENT", "COMMIT", + "COMMITTED", "COMMON_DATA", "COMPACT", "COMPATIBILITY", + "COMPILE", "COMPLETE", "COMPLIANCE", "COMPONENT", + "COMPONENTS", "COMPOSE", "COMPOSITE", "COMPOSITE_LIMIT", + "COMPOUND", "COMPRESS", "COMPUTE", "CONCAT", "CON_DBID_TO_ID", + "CONDITIONAL", "CONDITION", "CONFIRM", "CONFORMING", + "CON_GUID_TO_ID", "CON_ID", "CON_NAME_TO_ID", "CONNECT_BY_CB_WHR_ONLY", + "CONNECT_BY_COMBINE_SW", "CONNECT_BY_COST_BASED", + "CONNECT_BY_ELIM_DUPS", "CONNECT_BY_FILTERING", "CONNECT_BY_ISCYCLE", + "CONNECT_BY_ISLEAF", "CONNECT_BY_ROOT", "CONNECT", + "CONNECT_TIME", "CONSIDER", "CONSISTENT", "CONSTANT", + "CONST", "CONSTRAINT", "CONSTRAINTS", "CONSTRUCTOR", + "CONTAINER", "CONTAINER_DATA", "CONTAINERS", "CONTENT", + "CONTENTS", "CONTEXT", "CONTINUE", "CONTROLFILE", + "CON_UID_TO_ID", "CONVERT", "COOKIE", "COPY", "CORR_K", + "CORR_S", "CORRUPTION", "CORRUPT_XID_ALL", "CORRUPT_XID", + "COS", "COSH", "COST", "COST_XML_QUERY_REWRITE", "COUNT", + "COVAR_POP", "COVAR_SAMP", "CPU_COSTING", "CPU_PER_CALL", + "CPU_PER_SESSION", "CRASH", "CREATE", "CREATE_FILE_DEST", + "CREATE_STORED_OUTLINES", "CREATION", "CREDENTIAL", + "CRITICAL", "CROSS", "CROSSEDITION", "CSCONVERT", + "CUBE_AJ", "CUBE", "CUBE_GB", "CUBE_SJ", "CUME_DISTM", + "CURRENT", "CURRENT_DATE", "CURRENT_SCHEMA", "CURRENT_TIME", + "CURRENT_TIMESTAMP", "CURRENT_USER", "CURRENTV", "CURSOR", + "CURSOR_SHARING_EXACT", "CURSOR_SPECIFIC_SEGMENT", + "CUSTOMDATUM", "CV", "CYCLE", "DANGLING", "DATABASE", + "DATA", "DATAFILE", "DATAFILES", "DATAGUARDCONFIG", + "DATAMOVEMENT", "DATAOBJNO", "DATAOBJ_TO_MAT_PARTITION", + "DATAOBJ_TO_PARTITION", "DATAPUMP", "DATA_SECURITY_REWRITE_LIMIT", + "DATE", "DATE_MODE", "DAY", "DAYS", "DBA", "DBA_RECYCLEBIN", + "DBMS_STATS", "DB_ROLE_CHANGE", "DBTIMEZONE", "DB_UNIQUE_NAME", + "DB_VERSION", "DDL", "DEALLOCATE", "DEBUG", "DEBUGGER", + "DEC", "DECIMAL", "DECLARE", "DECOMPOSE", "DECORRELATE", + "DECR", "DECREMENT", "DECRYPT", "DEDUPLICATE", "DEFAULT", + "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINED", "DEFINE", + "DEFINER", "DEGREE", "DELAY", "DELEGATE", "DELETE_ALL", + "DELETE", "DELETEXML", "DEMAND", "DENSE_RANKM", "DEPENDENT", + "DEPTH", "DEQUEUE", "DEREF", "DEREF_NO_REWRITE", "DESC", + "DESTROY", "DETACHED", "DETERMINES", "DETERMINISTIC", + "DICTIONARY", "DIMENSION", "DIMENSIONS", "DIRECT_LOAD", + "DIRECTORY", "DIRECT_PATH", "DISABLE_ALL", "DISABLE", + "DISABLE_PARALLEL_DML", "DISABLE_PRESET", "DISABLE_RPKE", + "DISALLOW", "DISASSOCIATE", "DISCARD", "DISCONNECT", + "DISK", "DISKGROUP", "DISKGROUP_PLUS", "DISKS", "DISMOUNT", + "DISTINCT", "DISTINGUISHED", "DISTRIBUTED", "DISTRIBUTE", + "DML", "DML_UPDATE", "DOCFIDELITY", "DOCUMENT", "DOMAIN_INDEX_FILTER", + "DOMAIN_INDEX_NO_SORT", "DOMAIN_INDEX_SORT", "DOUBLE", + "DOWNGRADE", "DRIVING_SITE", "DROP_COLUMN", "DROP", + "DROP_GROUP", "DSINTERVAL_UNCONSTRAINED", "DST_UPGRADE_INSERT_CONV", + "DUMP", "DUMPSET", "DUPLICATE", "DV", "DYNAMIC", "DYNAMIC_SAMPLING", + "DYNAMIC_SAMPLING_EST_CDN", "EACH", "EDITIONABLE", + "EDITION", "EDITIONING", "EDITIONS", "ELEMENT", "ELIM_GROUPBY", + "ELIMINATE_JOIN", "ELIMINATE_OBY", "ELIMINATE_OUTER_JOIN", + "ELSE", "ELSIF", "EM", "EMPTY_BLOB", "EMPTY_CLOB", + "EMPTY", "ENABLE_ALL", "ENABLE", "ENABLE_PARALLEL_DML", + "ENABLE_PRESET", "ENCODING", "ENCRYPT", "ENCRYPTION", + "END", "END_OUTLINE_DATA", "ENFORCED", "ENFORCE", + "ENQUEUE", "ENTERPRISE", "ENTITYESCAPING", "ENTRY", + "EQUIPART", "ERR", "ERROR_ARGUMENT", "ERROR", "ERROR_ON_OVERLAP_TIME", + "ERRORS", "ESCAPE", "ESTIMATE", "EVAL", "EVALNAME", + "EVALUATE", "EVALUATION", "EVENTS", "EVERY", "EXCEPT", + "EXCEPTION", "EXCEPTION_INIT", "EXCEPTIONS", "EXCHANGE", + "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXEMPT", + "EXISTING", "EXISTS", "EXISTSNODE", "EXIT", "EXPAND_GSET_TO_UNION", + "EXPAND_TABLE", "EXP", "EXPIRE", "EXPLAIN", "EXPLOSION", + "EXPORT", "EXPR_CORR_CHECK", "EXPRESS", "EXTENDS", + "EXTENT", "EXTENTS", "EXTERNAL", "EXTERNALLY", "EXTRACTCLOBXML", + "EXTRACT", "EXTRACTVALUE", "EXTRA", "FACILITY", "FACT", + "FACTOR", "FACTORIZE_JOIN", "FAILED", "FAILED_LOGIN_ATTEMPTS", + "FAILGROUP", "FAILOVER", "FAILURE", "FALSE", "FAMILY", + "FAR", "FAST", "FASTSTART", "FBTSCAN", "FEATURE_DETAILS", + "FEATURE_ID", "FEATURE_SET", "FEATURE_VALUE", "FETCH", + "FILE", "FILE_NAME_CONVERT", "FILESYSTEM_LIKE_LOGGING", + "FILTER", "FINAL", "FINE", "FINISH", "FIRST", "FIRSTM", + "FIRST_ROWS", "FIRST_VALUE", "FIXED_VIEW_DATA", "FLAGGER", + "FLASHBACK", "FLASH_CACHE", "FLOAT", "FLOB", "FLOOR", + "FLUSH", "FOLDER", "FOLLOWING", "FOLLOWS", "FORALL", + "FORCE", "FORCE_XML_QUERY_REWRITE", "FOREIGN", "FOREVER", + "FOR", "FORMAT", "FORWARD", "FRAGMENT_NUMBER", "FREELIST", + "FREELISTS", "FREEPOOLS", "FRESH", "FROM", "FROM_TZ", + "FULL", "FULL_OUTER_JOIN_TO_OUTER", "FUNCTION", "FUNCTIONS", + "GATHER_OPTIMIZER_STATISTICS", "GATHER_PLAN_STATISTICS", + "GBY_CONC_ROLLUP", "GBY_PUSHDOWN", "GENERATED", "GET", + "GLOBAL", "GLOBALLY", "GLOBAL_NAME", "GLOBAL_TOPIC_ENABLED", + "GOTO", "GRANT", "GROUP_BY", "GROUP", "GROUP_ID", + "GROUPING", "GROUPING_ID", "GROUPS", "GUARANTEED", + "GUARANTEE", "GUARD", "HASH_AJ", "HASH", "HASHKEYS", + "HASH_SJ", "HAVING", "HEADER", "HEAP", "HELP", "HEXTORAW", + "HEXTOREF", "HIDDEN_KEYWORD", "HIDE", "HIERARCHY", + "HIGH", "HINTSET_BEGIN", "HINTSET_END", "HOT", "HOUR", + "HWM_BROKERED", "HYBRID", "IDENTIFIED", "IDENTIFIER", + "IDENTITY", "IDGENERATORS", "ID", "IDLE_TIME", "IF", + "IGNORE", "IGNORE_OPTIM_EMBEDDED_HINTS", "IGNORE_ROW_ON_DUPKEY_INDEX", + "IGNORE_WHERE_CLAUSE", "ILM", "IMMEDIATE", "IMPACT", + "IMPORT", "INACTIVE", "INCLUDE", "INCLUDE_VERSION", + "INCLUDING", "INCREMENTAL", "INCREMENT", "INCR", "INDENT", + "INDEX_ASC", "INDEX_COMBINE", "INDEX_DESC", "INDEXED", + "INDEXES", "INDEX_FFS", "INDEX_FILTER", "INDEX", "INDEXING", + "INDEX_JOIN", "INDEX_ROWS", "INDEX_RRS", "INDEX_RS_ASC", + "INDEX_RS_DESC", "INDEX_RS", "INDEX_SCAN", "INDEX_SKIP_SCAN", + "INDEX_SS_ASC", "INDEX_SS_DESC", "INDEX_SS", "INDEX_STATS", + "INDEXTYPE", "INDEXTYPES", "INDICATOR", "INDICES", + "INFINITE", "INFORMATIONAL", "INHERIT", "IN", "INITCAP", + "INITIAL", "INITIALIZED", "INITIALLY", "INITRANS", + "INLINE", "INLINE_XMLTYPE_NT", "INMEMORY", "IN_MEMORY_METADATA", + "INMEMORY_PRUNING", "INNER", "INOUT", "INPLACE", "INSERTCHILDXMLAFTER", + "INSERTCHILDXMLBEFORE", "INSERTCHILDXML", "INSERT", + "INSERTXMLAFTER", "INSERTXMLBEFORE", "INSTANCE", "INSTANCES", + "INSTANTIABLE", "INSTANTLY", "INSTEAD", "INSTR2", + "INSTR4", "INSTRB", "INSTRC", "INSTR", "INTEGER", + "INTERLEAVED", "INTERMEDIATE", "INTERNAL_CONVERT", + "INTERNAL_USE", "INTERPRETED", "INTERSECT", "INTERVAL", + "INT", "INTO", "INVALIDATE", "INVISIBLE", "IN_XQUERY", + "IS", "ISOLATION", "ISOLATION_LEVEL", "ITERATE", "ITERATION_NUMBER", + "JAVA", "JOB", "JOIN", "JSON_ARRAYAGG", "JSON_ARRAY", + "JSON_EQUAL", "JSON_EXISTS2", "JSON_EXISTS", "JSONGET", + "JSON", "JSON_OBJECTAGG", "JSON_OBJECT", "JSONPARSE", + "JSON_QUERY", "JSON_SERIALIZE", "JSON_TABLE", "JSON_TEXTCONTAINS2", + "JSON_TEXTCONTAINS", "JSON_VALUE", "KEEP_DUPLICATES", + "KEEP", "KERBEROS", "KEY", "KEY_LENGTH", "KEYSIZE", + "KEYS", "KEYSTORE", "KILL", "LABEL", "LANGUAGE", "LAST_DAY", + "LAST", "LAST_VALUE", "LATERAL", "LAX", "LAYER", "LDAP_REGISTRATION_ENABLED", + "LDAP_REGISTRATION", "LDAP_REG_SYNC_INTERVAL", "LEADING", + "LEFT", "LENGTH2", "LENGTH4", "LENGTHB", "LENGTHC", + "LENGTH", "LESS", "LEVEL", "LEVELS", "LIBRARY", "LIFECYCLE", + "LIFE", "LIFETIME", "LIKE2", "LIKE4", "LIKEC", "LIKE_EXPAND", + "LIKE", "LIMIT", "LINEAR", "LINK", "LIST", "LN", "LNNVL", + "LOAD", "LOB", "LOBNVL", "LOBS", "LOCAL_INDEXES", + "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", + "LOCATOR", "LOCKED", "LOCKING", "LOCK", "LOGFILE", + "LOGFILES", "LOGGING", "LOGICAL", "LOGICAL_READS_PER_CALL", + "LOGICAL_READS_PER_SESSION", "LOG", "LOGMINING", "LOGOFF", + "LOGON", "LOG_READ_ONLY_VIOLATIONS", "LONG", "LOOP", + "LOWER", "LOW", "LPAD", "LTRIM", "MAIN", "MAKE_REF", + "MANAGED", "MANAGE", "MANAGEMENT", "MANAGER", "MANUAL", + "MAP", "MAPPING", "MASTER", "MATCHED", "MATCHES", + "MATCH", "MATCH_NUMBER", "MATCH_RECOGNIZE", "MATERIALIZED", + "MATERIALIZE", "MAXARCHLOGS", "MAXDATAFILES", "MAXEXTENTS", + "MAXIMIZE", "MAXINSTANCES", "MAXLOGFILES", "MAXLOGHISTORY", + "MAXLOGMEMBERS", "MAX_SHARED_TEMP_SIZE", "MAXSIZE", + "MAXTRANS", "MAXVALUE", "MEASURE", "MEASURES", "MEDIUM", + "MEMBER", "MEMCOMPRESS", "MEMORY", "MERGEACTIONS", + "MERGE_AJ", "MERGE_CONST_ON", "MERGE", "MERGE_SJ", + "METADATA", "METHOD", "MIGRATE", "MIGRATION", "MINEXTENTS", + "MINIMIZE", "MINIMUM", "MINING", "MINUS", "MINUS_NULL", + "MINUTE", "MINVALUE", "MIRRORCOLD", "MIRRORHOT", "MIRROR", + "MLSLABEL", "MODEL_COMPILE_SUBQUERY", "MODEL_DONTVERIFY_UNIQUENESS", + "MODEL_DYNAMIC_SUBQUERY", "MODEL_MIN_ANALYSIS", "MODEL", + "MODEL_NB", "MODEL_NO_ANALYSIS", "MODEL_PBY", "MODEL_PUSH_REF", + "MODEL_SV", "MODE", "MODIFICATION", "MODIFY_COLUMN_TYPE", + "MODIFY", "MOD", "MODULE", "MONITORING", "MONITOR", + "MONTH", "MONTHS_BETWEEN", "MONTHS", "MOUNT", "MOUNTPATH", + "MOVEMENT", "MOVE", "MULTIDIMENSIONAL", "MULTISET", + "MV_MERGE", "NAMED", "NAME", "NAMESPACE", "NAN", "NANVL", + "NATIONAL", "NATIVE_FULL_OUTER_JOIN", "NATIVE", "NATURAL", + "NATURALN", "NAV", "NCHAR_CS", "NCHAR", "NCHR", "NCLOB", + "NEEDED", "NEG", "NESTED", "NESTED_TABLE_FAST_INSERT", + "NESTED_TABLE_GET_REFS", "NESTED_TABLE_ID", "NESTED_TABLE_SET_REFS", + "NESTED_TABLE_SET_SETID", "NETWORK", "NEVER", "NEW", + "NEW_TIME", "NEXT_DAY", "NEXT", "NL_AJ", "NLJ_BATCHING", + "NLJ_INDEX_FILTER", "NLJ_INDEX_SCAN", "NLJ_PREFETCH", + "NLS_CALENDAR", "NLS_CHARACTERSET", "NLS_CHARSET_DECL_LEN", + "NLS_CHARSET_ID", "NLS_CHARSET_NAME", "NLS_COMP", + "NLS_CURRENCY", "NLS_DATE_FORMAT", "NLS_DATE_LANGUAGE", + "NLS_INITCAP", "NLS_ISO_CURRENCY", "NL_SJ", "NLS_LANG", + "NLS_LANGUAGE", "NLS_LENGTH_SEMANTICS", "NLS_LOWER", + "NLS_NCHAR_CONV_EXCP", "NLS_NUMERIC_CHARACTERS", "NLS_SORT", + "NLSSORT", "NLS_SPECIAL_CHARS", "NLS_TERRITORY", "NLS_UPPER", + "NO_ACCESS", "NO_ADAPTIVE_PLAN", "NO_ANSI_REARCH", + "NOAPPEND", "NOARCHIVELOG", "NOAUDIT", "NO_AUTO_REOPTIMIZE", + "NO_BASETABLE_MULTIMV_REWRITE", "NO_BATCH_TABLE_ACCESS_BY_ROWID", + "NO_BIND_AWARE", "NO_BUFFER", "NOCACHE", "NO_CARTESIAN", + "NO_CHECK_ACL_REWRITE", "NO_CLUSTER_BY_ROWID", "NO_CLUSTERING", + "NO_COALESCE_SQ", "NO_COMMON_DATA", "NOCOMPRESS", + "NO_CONNECT_BY_CB_WHR_ONLY", "NO_CONNECT_BY_COMBINE_SW", + "NO_CONNECT_BY_COST_BASED", "NO_CONNECT_BY_ELIM_DUPS", + "NO_CONNECT_BY_FILTERING", "NOCOPY", "NO_COST_XML_QUERY_REWRITE", + "NO_CPU_COSTING", "NOCPU_COSTING", "NOCYCLE", "NO_DATA_SECURITY_REWRITE", + "NO_DECORRELATE", "NODELAY", "NO_DOMAIN_INDEX_FILTER", + "NO_DST_UPGRADE_INSERT_CONV", "NO_ELIM_GROUPBY", "NO_ELIMINATE_JOIN", + "NO_ELIMINATE_OBY", "NO_ELIMINATE_OUTER_JOIN", "NOENTITYESCAPING", + "NO_EXPAND_GSET_TO_UNION", "NO_EXPAND", "NO_EXPAND_TABLE", + "NO_FACT", "NO_FACTORIZE_JOIN", "NO_FILTERING", "NOFORCE", + "NO_FULL_OUTER_JOIN_TO_OUTER", "NO_GATHER_OPTIMIZER_STATISTICS", + "NO_GBY_PUSHDOWN", "NOGUARANTEE", "NO_INDEX_FFS", + "NO_INDEX", "NO_INDEX_SS", "NO_INMEMORY", "NO_INMEMORY_PRUNING", + "NOKEEP", "NO_LOAD", "NOLOCAL", "NOLOGGING", "NOMAPPING", + "NOMAXVALUE", "NO_MERGE", "NOMINIMIZE", "NOMINVALUE", + "NO_MODEL_PUSH_REF", "NO_MONITORING", "NOMONITORING", + "NO_MONITOR", "NO_MULTIMV_REWRITE", "NO_NATIVE_FULL_OUTER_JOIN", + "NONBLOCKING", "NONEDITIONABLE", "NONE", "NO_NLJ_BATCHING", + "NO_NLJ_PREFETCH", "NO", "NONSCHEMA", "NO_OBJECT_LINK", + "NOORDER", "NO_ORDER_ROLLUPS", "NO_OUTER_JOIN_TO_ANTI", + "NO_OUTER_JOIN_TO_INNER", "NOOVERRIDE", "NO_PARALLEL_INDEX", + "NOPARALLEL_INDEX", "NO_PARALLEL", "NOPARALLEL", "NO_PARTIAL_COMMIT", + "NO_PARTIAL_JOIN", "NO_PARTIAL_ROLLUP_PUSHDOWN", "NOPARTITION", + "NO_PLACE_DISTINCT", "NO_PLACE_GROUP_BY", "NO_PQ_CONCURRENT_UNION", + "NO_PQ_MAP", "NO_PQ_REPLICATE", "NO_PQ_SKEW", "NO_PRUNE_GSETS", + "NO_PULL_PRED", "NO_PUSH_PRED", "NO_PUSH_SUBQ", "NO_PX_FAULT_TOLERANCE", + "NO_PX_JOIN_FILTER", "NO_QKN_BUFF", "NO_QUERY_TRANSFORMATION", + "NO_REF_CASCADE", "NORELOCATE", "NORELY", "NOREPAIR", + "NOREPLAY", "NORESETLOGS", "NO_RESULT_CACHE", "NOREVERSE", + "NO_REWRITE", "NOREWRITE", "NORMAL", "NO_ROOT_SW_FOR_LOCAL", + "NOROWDEPENDENCIES", "NOSCHEMACHECK", "NOSEGMENT", + "NO_SEMIJOIN", "NO_SEMI_TO_INNER", "NO_SET_TO_JOIN", + "NOSORT", "NO_SQL_TRANSLATION", "NO_SQL_TUNE", "NO_STAR_TRANSFORMATION", + "NO_STATEMENT_QUEUING", "NO_STATS_GSETS", "NOSTRICT", + "NO_SUBQUERY_PRUNING", "NO_SUBSTRB_PAD", "NO_SWAP_JOIN_INPUTS", + "NOSWITCH", "NO_TABLE_LOOKUP_BY_NL", "NO_TEMP_TABLE", + "NOTHING", "NOTIFICATION", "NOT", "NO_TRANSFORM_DISTINCT_AGG", + "NO_UNNEST", "NO_USE_CUBE", "NO_USE_HASH_AGGREGATION", + "NO_USE_HASH_GBY_FOR_PUSHDOWN", "NO_USE_HASH", "NO_USE_INVISIBLE_INDEXES", + "NO_USE_MERGE", "NO_USE_NL", "NO_USE_VECTOR_AGGREGATION", + "NOVALIDATE", "NO_VECTOR_TRANSFORM_DIMS", "NO_VECTOR_TRANSFORM_FACT", + "NO_VECTOR_TRANSFORM", "NOWAIT", "NO_XDB_FASTPATH_INSERT", + "NO_XML_DML_REWRITE", "NO_XMLINDEX_REWRITE_IN_SELECT", + "NO_XMLINDEX_REWRITE", "NO_XML_QUERY_REWRITE", "NO_ZONEMAP", + "NTH_VALUE", "NULLIF", "NULL_", "NULLS", "NUMBER", + "NUMERIC", "NUM_INDEX_KEYS", "NUMTODSINTERVAL", "NUMTOYMINTERVAL", + "NVARCHAR2", "NVL2", "OBJECT2XML", "OBJECT", "OBJ_ID", + "OBJNO", "OBJNO_REUSE", "OCCURENCES", "OFFLINE", "OFF", + "OFFSET", "OF", "OIDINDEX", "OID", "OLAP", "OLD", + "OLD_PUSH_PRED", "OLS", "OLTP", "OMIT", "ONE", "ONLINE", + "ONLINELOG", "ONLY", "ON", "OPAQUE", "OPAQUE_TRANSFORM", + "OPAQUE_XCANONICAL", "OPCODE", "OPEN", "OPERATIONS", + "OPERATOR", "OPT_ESTIMATE", "OPTIMAL", "OPTIMIZE", + "OPTIMIZER_FEATURES_ENABLE", "OPTIMIZER_GOAL", "OPTION", + "OPT_PARAM", "ORA_BRANCH", "ORA_CHECK_ACL", "ORA_CHECK_PRIVILEGE", + "ORA_CLUSTERING", "ORADATA", "ORADEBUG", "ORA_DST_AFFECTED", + "ORA_DST_CONVERT", "ORA_DST_ERROR", "ORA_GET_ACLIDS", + "ORA_GET_PRIVILEGES", "ORA_HASH", "ORA_INVOKING_USERID", + "ORA_INVOKING_USER", "ORA_INVOKING_XS_USER_GUID", + "ORA_INVOKING_XS_USER", "ORA_RAWCOMPARE", "ORA_RAWCONCAT", + "ORA_ROWSCN", "ORA_ROWSCN_RAW", "ORA_ROWVERSION", + "ORA_TABVERSION", "ORA_WRITE_TIME", "ORDERED", "ORDERED_PREDICATES", + "ORDER", "ORDINALITY", "OR_EXPAND", "ORGANIZATION", + "OR", "OR_PREDICATES", "OSERROR", "OTHER", "OUTER_JOIN_TO_ANTI", + "OUTER_JOIN_TO_INNER", "OUTER", "OUTLINE_LEAF", "OUTLINE", + "OUT_OF_LINE", "OUT", "OVERFLOW_NOMOVE", "OVERFLOW", + "OVERLAPS", "OVER", "OVERRIDING", "OWNER", "OWNERSHIP", + "OWN", "PACKAGE", "PACKAGES", "PARALLEL_ENABLE", "PARALLEL_INDEX", + "PARALLEL", "PARAMETERFILE", "PARAMETERS", "PARAM", + "PARENT", "PARITY", "PARTIAL_JOIN", "PARTIALLY", "PARTIAL", + "PARTIAL_ROLLUP_PUSHDOWN", "PARTITION_HASH", "PARTITION_LIST", + "PARTITION", "PARTITION_RANGE", "PARTITIONS", "PARTNUMINST", + "PASSING", "PASSWORD_GRACE_TIME", "PASSWORD_LIFE_TIME", + "PASSWORD_LOCK_TIME", "PASSWORD", "PASSWORD_REUSE_MAX", + "PASSWORD_REUSE_TIME", "PASSWORD_VERIFY_FUNCTION", + "PAST", "PATCH", "PATH", "PATH_PREFIX", "PATHS", "PATTERN", + "PBL_HS_BEGIN", "PBL_HS_END", "PCTFREE", "PCTINCREASE", + "PCTTHRESHOLD", "PCTUSED", "PCTVERSION", "PENDING", + "PERCENT_FOUND", "PERCENT_ISOPEN", "PERCENT_NOTFOUND", + "PERCENT_KEYWORD", "PERCENT_RANKM", "PERCENT_ROWCOUNT", + "PERCENT_ROWTYPE", "PERCENT_TYPE", "PERFORMANCE", + "PERIOD_KEYWORD", "PERMANENT", "PERMISSION", "PERMUTE", + "PER", "PFILE", "PHYSICAL", "PIKEY", "PIPELINED", + "PIPE", "PIV_GB", "PIVOT", "PIV_SSF", "PLACE_DISTINCT", + "PLACE_GROUP_BY", "PLAN", "PLSCOPE_SETTINGS", "PLS_INTEGER", + "PLSQL_CCFLAGS", "PLSQL_CODE_TYPE", "PLSQL_DEBUG", + "PLSQL_OPTIMIZE_LEVEL", "PLSQL_WARNINGS", "PLUGGABLE", + "POINT", "POLICY", "POOL_16K", "POOL_2K", "POOL_32K", + "POOL_4K", "POOL_8K", "POSITIVEN", "POSITIVE", "POST_TRANSACTION", + "POWERMULTISET_BY_CARDINALITY", "POWERMULTISET", "POWER", + "PQ_CONCURRENT_UNION", "PQ_DISTRIBUTE", "PQ_DISTRIBUTE_WINDOW", + "PQ_FILTER", "PQ_MAP", "PQ_NOMAP", "PQ_REPLICATE", + "PQ_SKEW", "PRAGMA", "PREBUILT", "PRECEDES", "PRECEDING", + "PRECISION", "PRECOMPUTE_SUBQUERY", "PREDICATE_REORDERS", + "PRELOAD", "PREPARE", "PRESENTNNV", "PRESENT", "PRESENTV", + "PRESERVE_OID", "PRESERVE", "PRETTY", "PREVIOUS", + "PREV", "PRIMARY", "PRINTBLOBTOCLOB", "PRIORITY", + "PRIOR", "PRIVATE", "PRIVATE_SGA", "PRIVILEGED", "PRIVILEGE", + "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCESS", + "PROFILE", "PROGRAM", "PROJECT", "PROPAGATE", "PROTECTED", + "PROTECTION", "PROXY", "PRUNING", "PUBLIC", "PULL_PRED", + "PURGE", "PUSH_PRED", "PUSH_SUBQ", "PX_FAULT_TOLERANCE", + "PX_GRANULE", "PX_JOIN_FILTER", "QB_NAME", "QUERY_BLOCK", + "QUERY", "QUEUE_CURR", "QUEUE", "QUEUE_ROWP", "QUIESCE", + "QUORUM", "QUOTA", "RAISE", "RANDOM_LOCAL", "RANDOM", + "RANGE", "RANKM", "RAPIDLY", "RAW", "RAWTOHEX", "RAWTONHEX", + "RBA", "RBO_OUTLINE", "RDBA", "READ", "READS", "REALM", + "REAL", "REBALANCE", "REBUILD", "RECORD", "RECORDS_PER_BLOCK", + "RECOVERABLE", "RECOVER", "RECOVERY", "RECYCLEBIN", + "RECYCLE", "REDACTION", "REDEFINE", "REDO", "REDUCED", + "REDUNDANCY", "REF_CASCADE_CURSOR", "REFERENCED", + "REFERENCE", "REFERENCES", "REFERENCING", "REF", "REFRESH", + "REFTOHEX", "REGEXP_COUNT", "REGEXP_INSTR", "REGEXP_LIKE", + "REGEXP_REPLACE", "REGEXP_SUBSTR", "REGISTER", "REGR_AVGX", + "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT", "REGR_R2", + "REGR_SLOPE", "REGR_SXX", "REGR_SXY", "REGR_SYY", + "REGULAR", "REJECT", "REKEY", "RELATIONAL", "RELIES_ON", + "RELOCATE", "RELY", "REMAINDER", "REMOTE_MAPPED", + "REMOVE", "RENAME", "REPAIR", "REPEAT", "REPLACE", + "REPLICATION", "REQUIRED", "RESETLOGS", "RESET", "RESIZE", + "RESOLVE", "RESOLVER", "RESOURCE", "RESPECT", "RESTART", + "RESTORE_AS_INTERVALS", "RESTORE", "RESTRICT_ALL_REF_CONS", + "RESTRICTED", "RESTRICT_REFERENCES", "RESTRICT", "RESULT_CACHE", + "RESULT", "RESUMABLE", "RESUME", "RETENTION", "RETRY_ON_ROW_CHANGE", + "RETURNING", "RETURN", "REUSE", "REVERSE", "REVOKE", + "REWRITE_OR_ERROR", "REWRITE", "RIGHT", "ROLE", "ROLESET", + "ROLES", "ROLLBACK", "ROLLING", "ROLLUP", "ROWDEPENDENCIES", + "ROWID_MAPPING_TABLE", "ROWID", "ROWIDTOCHAR", "ROWIDTONCHAR", + "ROW_LENGTH", "ROWNUM", "ROW", "ROWS", "RPAD", "RTRIM", + "RULE", "RULES", "RUNNING", "SALT", "SAMPLE", "SAVE_AS_INTERVALS", + "SAVEPOINT", "SAVE", "SB4", "SCALE_ROWS", "SCALE", + "SCAN_INSTANCES", "SCAN", "SCHEDULER", "SCHEMACHECK", + "SCHEMA", "SCN_ASCENDING", "SCN", "SCOPE", "SCRUB", + "SD_ALL", "SD_INHIBIT", "SDO_GEOM_MBR", "SD_SHOW", + "SEARCH", "SECOND", "SECRET", "SECUREFILE_DBA", "SECUREFILE", + "SECURITY", "SEED", "SEG_BLOCK", "SEG_FILE", "SEGMENT", + "SELECTIVITY", "SELECT", "SELF", "SEMIJOIN_DRIVER", + "SEMIJOIN", "SEMI_TO_INNER", "SEQUENCED", "SEQUENCE", + "SEQUENTIAL", "SEQ", "SERIALIZABLE", "SERIALLY_REUSABLE", + "SERIAL", "SERVERERROR", "SERVICE_NAME_CONVERT", "SERVICES", + "SESSION_CACHED_CURSORS", "SESSION", "SESSIONS_PER_USER", + "SESSIONTIMEZONE", "SESSIONTZNAME", "SET", "SETS", + "SETTINGS", "SET_TO_JOIN", "SEVERE", "SHARED_POOL", + "SHARED", "SHARE", "SHARING", "SHELFLIFE", "SHOW", + "SHRINK", "SHUTDOWN", "SIBLINGS", "SID", "SIGNAL_COMPONENT", + "SIGNAL_FUNCTION", "SIGN", "SIGNTYPE", "SIMPLE_INTEGER", + "SIMPLE", "SINGLE", "SINGLETASK", "SINH", "SIN", "SIZE", + "SKIP_EXT_OPTIMIZER", "SKIP_", "SKIP_UNQ_UNUSABLE_IDX", + "SKIP_UNUSABLE_INDEXES", "SMALLFILE", "SMALLINT", + "SNAPSHOT", "SOME", "SORT", "SOUNDEX", "SOURCE_FILE_DIRECTORY", + "SOURCE_FILE_NAME_CONVERT", "SOURCE", "SPACE_KEYWORD", + "SPECIFICATION", "SPFILE", "SPLIT", "SPREADSHEET", + "SQLDATA", "SQLERROR", "SQLLDR", "SQL", "SQL_TRACE", + "SQL_TRANSLATION_PROFILE", "SQRT", "STALE", "STANDALONE", + "STANDARD_HASH", "STANDBY_MAX_DATA_DELAY", "STANDBYS", + "STANDBY", "STAR", "STAR_TRANSFORMATION", "START", + "STARTUP", "STATEMENT_ID", "STATEMENT_QUEUING", "STATEMENTS", + "STATEMENT", "STATE", "STATIC", "STATISTICS", "STATS_BINOMIAL_TEST", + "STATS_CROSSTAB", "STATS_F_TEST", "STATS_KS_TEST", + "STATS_MODE", "STATS_MW_TEST", "STATS_ONE_WAY_ANOVA", + "STATS_T_TEST_INDEP", "STATS_T_TEST_INDEPU", "STATS_T_TEST_ONE", + "STATS_T_TEST_PAIRED", "STATS_WSR_TEST", "STDDEV_POP", + "STDDEV_SAMP", "STOP", "STORAGE", "STORE", "STREAMS", + "STREAM", "STRICT", "STRING", "STRIPE_COLUMNS", "STRIPE_WIDTH", + "STRIP", "STRUCTURE", "SUBMULTISET", "SUBPARTITION_REL", + "SUBPARTITIONS", "SUBPARTITION", "SUBQUERIES", "SUBQUERY_PRUNING", + "SUBSCRIBE", "SUBSET", "SUBSTITUTABLE", "SUBSTR2", + "SUBSTR4", "SUBSTRB", "SUBSTRC", "SUBTYPE", "SUCCESSFUL", + "SUCCESS", "SUMMARY", "SUPPLEMENTAL", "SUSPEND", "SWAP_JOIN_INPUTS", + "SWITCHOVER", "SWITCH", "SYNCHRONOUS", "SYNC", "SYNONYM", + "SYSASM", "SYS_AUDIT", "SYSAUX", "SYSBACKUP", "SYS_CHECKACL", + "SYS_CHECK_PRIVILEGE", "SYS_CONNECT_BY_PATH", "SYS_CONTEXT", + "SYSDATE", "SYSDBA", "SYS_DBURIGEN", "SYSDG", "SYS_DL_CURSOR", + "SYS_DM_RXFORM_CHR", "SYS_DM_RXFORM_NUM", "SYS_DOM_COMPARE", + "SYS_DST_PRIM2SEC", "SYS_DST_SEC2PRIM", "SYS_ET_BFILE_TO_RAW", + "SYS_ET_BLOB_TO_IMAGE", "SYS_ET_IMAGE_TO_BLOB", "SYS_ET_RAW_TO_BFILE", + "SYS_EXTPDTXT", "SYS_EXTRACT_UTC", "SYS_FBT_INSDEL", + "SYS_FILTER_ACLS", "SYS_FNMATCHES", "SYS_FNREPLACE", + "SYS_GET_ACLIDS", "SYS_GET_COL_ACLIDS", "SYS_GET_PRIVILEGES", + "SYS_GETTOKENID", "SYS_GETXTIVAL", "SYS_GUID", "SYSGUID", + "SYSKM", "SYS_MAKE_XMLNODEID", "SYS_MAKEXML", "SYS_MKXMLATTR", + "SYS_MKXTI", "SYSOBJ", "SYS_OP_ADT2BIN", "SYS_OP_ADTCONS", + "SYS_OP_ALSCRVAL", "SYS_OP_ATG", "SYS_OP_BIN2ADT", + "SYS_OP_BITVEC", "SYS_OP_BL2R", "SYS_OP_BLOOM_FILTER_LIST", + "SYS_OP_BLOOM_FILTER", "SYS_OP_C2C", "SYS_OP_CAST", + "SYS_OP_CEG", "SYS_OP_CL2C", "SYS_OP_COMBINED_HASH", + "SYS_OP_COMP", "SYS_OP_CONVERT", "SYS_OP_COUNTCHG", + "SYS_OP_CSCONV", "SYS_OP_CSCONVTEST", "SYS_OP_CSR", + "SYS_OP_CSX_PATCH", "SYS_OP_CYCLED_SEQ", "SYS_OP_DECOMP", + "SYS_OP_DESCEND", "SYS_OP_DISTINCT", "SYS_OP_DRA", + "SYS_OP_DUMP", "SYS_OP_DV_CHECK", "SYS_OP_ENFORCE_NOT_NULL", + "SYSOPER", "SYS_OP_EXTRACT", "SYS_OP_GROUPING", "SYS_OP_GUID", + "SYS_OP_HASH", "SYS_OP_IIX", "SYS_OP_ITR", "SYS_OP_KEY_VECTOR_CREATE", + "SYS_OP_KEY_VECTOR_FILTER_LIST", "SYS_OP_KEY_VECTOR_FILTER", + "SYS_OP_KEY_VECTOR_SUCCEEDED", "SYS_OP_KEY_VECTOR_USE", + "SYS_OP_LBID", "SYS_OP_LOBLOC2BLOB", "SYS_OP_LOBLOC2CLOB", + "SYS_OP_LOBLOC2ID", "SYS_OP_LOBLOC2NCLOB", "SYS_OP_LOBLOC2TYP", + "SYS_OP_LSVI", "SYS_OP_LVL", "SYS_OP_MAKEOID", "SYS_OP_MAP_NONNULL", + "SYS_OP_MSR", "SYS_OP_NICOMBINE", "SYS_OP_NIEXTRACT", + "SYS_OP_NII", "SYS_OP_NIX", "SYS_OP_NOEXPAND", "SYS_OP_NTCIMG", + "SYS_OP_NUMTORAW", "SYS_OP_OIDVALUE", "SYS_OP_OPNSIZE", + "SYS_OP_PAR_1", "SYS_OP_PARGID_1", "SYS_OP_PARGID", + "SYS_OP_PAR", "SYS_OP_PART_ID", "SYS_OP_PIVOT", "SYS_OP_R2O", + "SYS_OP_RAWTONUM", "SYS_OP_RDTM", "SYS_OP_REF", "SYS_OP_RMTD", + "SYS_OP_ROWIDTOOBJ", "SYS_OP_RPB", "SYS_OPTLOBPRBSC", + "SYS_OP_TOSETID", "SYS_OP_TPR", "SYS_OP_TRTB", "SYS_OPTXICMP", + "SYS_OPTXQCASTASNQ", "SYS_OP_UNDESCEND", "SYS_OP_VECAND", + "SYS_OP_VECBIT", "SYS_OP_VECOR", "SYS_OP_VECXOR", + "SYS_OP_VERSION", "SYS_OP_VREF", "SYS_OP_VVD", "SYS_OP_XMLCONS_FOR_CSX", + "SYS_OP_XPTHATG", "SYS_OP_XPTHIDX", "SYS_OP_XPTHOP", + "SYS_OP_XTXT2SQLT", "SYS_OP_ZONE_ID", "SYS_ORDERKEY_DEPTH", + "SYS_ORDERKEY_MAXCHILD", "SYS_ORDERKEY_PARENT", "SYS_PARALLEL_TXN", + "SYS_PATHID_IS_ATTR", "SYS_PATHID_IS_NMSPC", "SYS_PATHID_LASTNAME", + "SYS_PATHID_LASTNMSPC", "SYS_PATH_REVERSE", "SYS_PXQEXTRACT", + "SYS_RAW_TO_XSID", "SYS_RID_ORDER", "SYS_ROW_DELTA", + "SYS_SC_2_XMLT", "SYS_SYNRCIREDO", "SYSTEM_DEFINED", + "SYSTEM", "SYSTIMESTAMP", "SYS_TYPEID", "SYS_UMAKEXML", + "SYS_XMLANALYZE", "SYS_XMLCONTAINS", "SYS_XMLCONV", + "SYS_XMLEXNSURI", "SYS_XMLGEN", "SYS_XMLI_LOC_ISNODE", + "SYS_XMLI_LOC_ISTEXT", "SYS_XMLINSTR", "SYS_XMLLOCATOR_GETSVAL", + "SYS_XMLNODEID_GETCID", "SYS_XMLNODEID_GETLOCATOR", + "SYS_XMLNODEID_GETOKEY", "SYS_XMLNODEID_GETPATHID", + "SYS_XMLNODEID_GETPTRID", "SYS_XMLNODEID_GETRID", + "SYS_XMLNODEID_GETSVAL", "SYS_XMLNODEID_GETTID", "SYS_XMLNODEID", + "SYS_XMLT_2_SC", "SYS_XMLTRANSLATE", "SYS_XMLTYPE2SQL", + "SYS_XQ_ASQLCNV", "SYS_XQ_ATOMCNVCHK", "SYS_XQBASEURI", + "SYS_XQCASTABLEERRH", "SYS_XQCODEP2STR", "SYS_XQCODEPEQ", + "SYS_XQCON2SEQ", "SYS_XQCONCAT", "SYS_XQDELETE", "SYS_XQDFLTCOLATION", + "SYS_XQDOC", "SYS_XQDOCURI", "SYS_XQDURDIV", "SYS_XQED4URI", + "SYS_XQENDSWITH", "SYS_XQERRH", "SYS_XQERR", "SYS_XQESHTMLURI", + "SYS_XQEXLOBVAL", "SYS_XQEXSTWRP", "SYS_XQEXTRACT", + "SYS_XQEXTRREF", "SYS_XQEXVAL", "SYS_XQFB2STR", "SYS_XQFNBOOL", + "SYS_XQFNCMP", "SYS_XQFNDATIM", "SYS_XQFNLNAME", "SYS_XQFNNM", + "SYS_XQFNNSURI", "SYS_XQFNPREDTRUTH", "SYS_XQFNQNM", + "SYS_XQFNROOT", "SYS_XQFORMATNUM", "SYS_XQFTCONTAIN", + "SYS_XQFUNCR", "SYS_XQGETCONTENT", "SYS_XQINDXOF", + "SYS_XQINSERT", "SYS_XQINSPFX", "SYS_XQIRI2URI", "SYS_XQLANG", + "SYS_XQLLNMFRMQNM", "SYS_XQMKNODEREF", "SYS_XQNILLED", + "SYS_XQNODENAME", "SYS_XQNORMSPACE", "SYS_XQNORMUCODE", + "SYS_XQ_NRNG", "SYS_XQNSP4PFX", "SYS_XQNSPFRMQNM", + "SYS_XQPFXFRMQNM", "SYS_XQ_PKSQL2XML", "SYS_XQPOLYABS", + "SYS_XQPOLYADD", "SYS_XQPOLYCEL", "SYS_XQPOLYCSTBL", + "SYS_XQPOLYCST", "SYS_XQPOLYDIV", "SYS_XQPOLYFLR", + "SYS_XQPOLYMOD", "SYS_XQPOLYMUL", "SYS_XQPOLYRND", + "SYS_XQPOLYSQRT", "SYS_XQPOLYSUB", "SYS_XQPOLYUMUS", + "SYS_XQPOLYUPLS", "SYS_XQPOLYVEQ", "SYS_XQPOLYVGE", + "SYS_XQPOLYVGT", "SYS_XQPOLYVLE", "SYS_XQPOLYVLT", + "SYS_XQPOLYVNE", "SYS_XQREF2VAL", "SYS_XQRENAME", + "SYS_XQREPLACE", "SYS_XQRESVURI", "SYS_XQRNDHALF2EVN", + "SYS_XQRSLVQNM", "SYS_XQRYENVPGET", "SYS_XQRYVARGET", + "SYS_XQRYWRP", "SYS_XQSEQ2CON4XC", "SYS_XQSEQ2CON", + "SYS_XQSEQDEEPEQ", "SYS_XQSEQINSB", "SYS_XQSEQRM", + "SYS_XQSEQRVS", "SYS_XQSEQSUB", "SYS_XQSEQTYPMATCH", + "SYS_XQSTARTSWITH", "SYS_XQSTATBURI", "SYS_XQSTR2CODEP", + "SYS_XQSTRJOIN", "SYS_XQSUBSTRAFT", "SYS_XQSUBSTRBEF", + "SYS_XQTOKENIZE", "SYS_XQTREATAS", "SYS_XQ_UPKXML2SQL", + "SYS_XQXFORM", "SYS_XSID_TO_RAW", "SYS_ZMAP_FILTER", + "SYS_ZMAP_REFRESH", "TABLE_LOOKUP_BY_NL", "TABLESPACE_NO", + "TABLESPACE", "TABLES", "TABLE_STATS", "TABLE", "TABNO", + "TAG", "TANH", "TAN", "TBLORIDXPARTNUM", "TEMPFILE", + "TEMPLATE", "TEMPORARY", "TEMP_TABLE", "TEST", "TEXT", + "THAN", "THEN", "THE", "THREAD", "THROUGH", "TIER", + "TIES", "TIMEOUT", "TIMESTAMP_LTZ_UNCONSTRAINED", + "TIMESTAMP", "TIMESTAMP_TZ_UNCONSTRAINED", "TIMESTAMP_UNCONSTRAINED", + "TIMES", "TIME", "TIMEZONE", "TIMEZONE_ABBR", "TIMEZONE_HOUR", + "TIMEZONE_MINUTE", "TIMEZONE_OFFSET", "TIMEZONE_REGION", + "TIME_ZONE", "TIV_GB", "TIV_SSF", "TO_ACLID", "TO_BINARY_DOUBLE", + "TO_BINARY_FLOAT", "TO_BLOB", "TO_CLOB", "TO_DSINTERVAL", + "TO_LOB", "TO_MULTI_BYTE", "TO_NCHAR", "TO_NCLOB", + "TO_NUMBER", "TOPLEVEL", "TO_SINGLE_BYTE", "TO_TIMESTAMP", + "TO_TIMESTAMP_TZ", "TO_TIME", "TO_TIME_TZ", "TO", + "TO_YMINTERVAL", "TRACE", "TRACING", "TRACKING", "TRAILING", + "TRANSACTION", "TRANSFORM_DISTINCT_AGG", "TRANSITIONAL", + "TRANSITION", "TRANSLATE", "TRANSLATION", "TREAT", + "TRIGGERS", "TRIGGER", "TRUE", "TRUNCATE", "TRUNC", + "TRUSTED", "TRUST", "TUNING", "TX", "TYPES", "TYPE", + "TZ_OFFSET", "UB2", "UBA", "UCS2", "UID", "UNARCHIVED", + "UNBOUNDED", "UNBOUND", "UNCONDITIONAL", "UNDER", + "UNDO", "UNDROP", "UNIFORM", "UNION", "UNIQUE", "UNISTR", + "UNLIMITED", "UNLOAD", "UNLOCK", "UNMATCHED", "UNNEST_INNERJ_DISTINCT_VIEW", + "UNNEST_NOSEMIJ_NODISTINCTVIEW", "UNNEST_SEMIJ_VIEW", + "UNNEST", "UNPACKED", "UNPIVOT", "UNPLUG", "UNPROTECTED", + "UNQUIESCE", "UNRECOVERABLE", "UNRESTRICTED", "UNSUBSCRIBE", + "UNTIL", "UNUSABLE", "UNUSED", "UPDATABLE", "UPDATED", + "UPDATE", "UPDATEXML", "UPD_INDEXES", "UPD_JOININDEX", + "UPGRADE", "UPPER", "UPSERT", "UROWID", "USABLE", + "USAGE", "USE_ANTI", "USE_CONCAT", "USE_CUBE", "USE_HASH_AGGREGATION", + "USE_HASH_GBY_FOR_PUSHDOWN", "USE_HASH", "USE_HIDDEN_PARTITIONS", + "USE_INVISIBLE_INDEXES", "USE_MERGE_CARTESIAN", "USE_MERGE", + "USE_NL", "USE_NL_WITH_INDEX", "USE_PRIVATE_OUTLINES", + "USER_DATA", "USER_DEFINED", "USERENV", "USERGROUP", + "USER_RECYCLEBIN", "USERS", "USER_TABLESPACES", "USER", + "USE_SEMI", "USE_STORED_OUTLINES", "USE_TTT_FOR_GSETS", + "USE", "USE_VECTOR_AGGREGATION", "USE_WEAK_NAME_RESL", + "USING_NO_EXPAND", "USING", "UTF16BE", "UTF16LE", + "UTF32", "UTF8", "V1", "V2", "VALIDATE", "VALIDATION", + "VALID_TIME_END", "VALUES", "VALUE", "VARCHAR2", "VARCHAR", + "VARIABLE", "VAR_POP", "VARRAYS", "VARRAY", "VAR_SAMP", + "VARYING", "VECTOR_READ_TRACE", "VECTOR_READ", "VECTOR_TRANSFORM_DIMS", + "VECTOR_TRANSFORM_FACT", "VECTOR_TRANSFORM", "VERIFIER", + "VERIFY", "VERSIONING", "VERSIONS_ENDSCN", "VERSIONS_ENDTIME", + "VERSIONS_OPERATION", "VERSIONS_STARTSCN", "VERSIONS_STARTTIME", + "VERSIONS", "VERSIONS_XID", "VERSION", "VIEW", "VIOLATION", + "VIRTUAL", "VISIBILITY", "VISIBLE", "VOLUME", "VSIZE", + "WAIT", "WALLET", "WARNING", "WEEKS", "WEEK", "WELLFORMED", + "WHENEVER", "WHEN", "WHERE", "WHILE", "WHITESPACE", + "WIDTH_BUCKET", "WITHIN", "WITHOUT", "WITH_PLSQL", + "WITH", "WORK", "WRAPPED", "WRAPPER", "WRITE", "XDB_FASTPATH_INSERT", + "XDB", "X_DYN_PRUNE", "XID", "XML2OBJECT", "XMLAGG", + "XMLATTRIBUTES", "XMLCAST", "XMLCDATA", "XMLCOLATTVAL", + "XMLCOMMENT", "XMLCONCAT", "XMLDIFF", "XML_DML_RWT_STMT", + "XMLELEMENT", "XMLEXISTS2", "XMLEXISTS", "XMLFOREST", + "XMLINDEX", "XMLINDEX_REWRITE_IN_SELECT", "XMLINDEX_REWRITE", + "XMLINDEX_SEL_IDX_TBL", "XMLISNODE", "XMLISVALID", + "XMLNAMESPACES", "XMLPARSE", "XMLPATCH", "XMLPI", + "XMLQUERYVAL", "XMLQUERY", "XMLROOT", "XMLSCHEMA", + "XMLSERIALIZE", "XMLTABLE", "XMLTRANSFORMBLOB", "XMLTRANSFORM", + "XMLTYPE", "XML", "XPATHTABLE", "XS_SYS_CONTEXT", + "XS", "XTRANSPORT", "YEARS", "YEAR", "YES", "YMINTERVAL_UNCONSTRAINED", + "ZONEMAP", "ZONE", "PREDICTION", "PREDICTION_BOUNDS", + "PREDICTION_COST", "PREDICTION_DETAILS", "PREDICTION_PROBABILITY", + "PREDICTION_SET", "CUME_DIST", "DENSE_RANK", "LISTAGG", + "PERCENT_RANK", "PERCENTILE_CONT", "PERCENTILE_DISC", + "RANK", "AVG", "CORR", "COVAR_", "DECODE", "LAG", + "LEAD", "MAX", "MEDIAN", "MIN", "NTILE", "NVL", "RATIO_TO_REPORT", + "REGR_", "ROUND", "ROW_NUMBER", "SUBSTR", "TO_CHAR", + "TRIM", "SUM", "STDDEV", "VAR_", "VARIANCE", "LEAST", + "GREATEST", "TO_DATE", "NATIONAL_CHAR_STRING_LIT", + "BIT_STRING_LIT", "HEX_STRING_LIT", "DOUBLE_PERIOD", + "PERIOD", "UNSIGNED_INTEGER", "APPROXIMATE_NUM_LIT", + "CHAR_STRING", "DELIMITED_ID", "PERCENT", "AMPERSAND", + "LEFT_PAREN", "RIGHT_PAREN", "DOUBLE_ASTERISK", "ASTERISK", + "PLUS_SIGN", "MINUS_SIGN", "COMMA", "SOLIDUS", "AT_SIGN", + "ASSIGN_OP", "BINDVAR", "NOT_EQUAL_OP", "CARRET_OPERATOR_PART", + "TILDE_OPERATOR_PART", "EXCLAMATION_OPERATOR_PART", + "GREATER_THAN_OP", "LESS_THAN_OP", "COLON", "SEMICOLON", + "BAR", "EQUALS_OP", "LEFT_BRACKET", "RIGHT_BRACKET", + "INTRODUCER", "SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", + "REMARK_COMMENT", "PROMPT_MESSAGE", "START_CMD", "REGULAR_ID", + "SPACES" ]; + +var ruleNames = [ "program", "sql_script", "unit_statement", "drop_function", + "alter_function", "create_function_body", "parallel_enable_clause", + "partition_by_clause", "result_cache_clause", "relies_on_part", + "streaming_clause", "drop_package", "alter_package", + "create_package", "create_package_body", "package_obj_spec", + "procedure_spec", "function_spec", "package_obj_body", + "drop_procedure", "alter_procedure", "function_body", + "procedure_body", "create_procedure_body", "drop_trigger", + "alter_trigger", "create_trigger", "trigger_follows_clause", + "trigger_when_clause", "simple_dml_trigger", "for_each_row", + "compound_dml_trigger", "non_dml_trigger", "trigger_body", + "routine_clause", "compound_trigger_block", "timing_point_section", + "non_dml_event", "dml_event_clause", "dml_event_element", + "dml_event_nested_clause", "referencing_clause", "referencing_element", + "drop_type", "alter_type", "compile_type_clause", "replace_type_clause", + "alter_method_spec", "alter_method_element", "alter_attribute_definition", + "attribute_definition", "alter_collection_clauses", "dependent_handling_clause", + "dependent_exceptions_part", "create_type", "type_definition", + "object_type_def", "object_as_part", "object_under_part", + "nested_table_type_def", "sqlj_object_type", "type_body", + "type_body_elements", "map_order_func_declaration", "subprog_decl_in_type", + "proc_decl_in_type", "func_decl_in_type", "constructor_declaration", + "modifier_clause", "object_member_spec", "sqlj_object_type_attr", + "element_spec", "element_spec_options", "subprogram_spec", + "overriding_subprogram_spec", "overriding_function_spec", + "type_procedure_spec", "type_function_spec", "constructor_spec", + "map_order_function_spec", "pragma_clause", "pragma_elements", + "type_elements_parameter", "drop_sequence", "alter_sequence", + "alter_session", "alter_session_set_clause", "create_sequence", + "sequence_spec", "sequence_start_clause", "create_index", + "cluster_index_clause", "cluster_name", "table_index_clause", + "bitmap_join_index_clause", "index_expr", "index_properties", + "domain_index_clause", "local_domain_index_clause", "xmlindex_clause", + "local_xmlindex_clause", "global_partitioned_index", + "index_partitioning_clause", "local_partitioned_index", + "on_range_partitioned_table", "on_list_partitioned_table", + "partitioned_table", "on_hash_partitioned_table", "on_hash_partitioned_clause", + "on_comp_partitioned_table", "on_comp_partitioned_clause", + "index_subpartition_clause", "index_subpartition_subclause", + "odci_parameters", "indextype", "alter_index", "alter_index_ops_set1", + "alter_index_ops_set2", "visible_or_invisible", "monitoring_nomonitoring", + "rebuild_clause", "alter_index_partitioning", "modify_index_default_attrs", + "add_hash_index_partition", "coalesce_index_partition", + "modify_index_partition", "modify_index_partitions_ops", + "rename_index_partition", "drop_index_partition", "split_index_partition", + "index_partition_description", "modify_index_subpartition", + "partition_name_old", "new_partition_name", "new_index_name", + "create_user", "alter_user", "alter_identified_by", "identified_by", + "identified_other_clause", "user_tablespace_clause", + "quota_clause", "profile_clause", "role_clause", "user_default_role_clause", + "password_expire_clause", "user_lock_clause", "user_editions_clause", + "alter_user_editions_clause", "proxy_clause", "container_names", + "set_container_data", "add_rem_container_data", "container_data_clause", + "analyze", "partition_extention_clause", "validation_clauses", + "online_or_offline", "into_clause1", "partition_key_value", + "subpartition_key_value", "associate_statistics", "column_association", + "function_association", "indextype_name", "using_statistics_type", + "statistics_type_name", "default_cost_clause", "cpu_cost", + "io_cost", "network_cost", "default_selectivity_clause", + "default_selectivity", "storage_table_clause", "unified_auditing", + "policy_name", "audit_traditional", "audit_direct_path", + "audit_container_clause", "audit_operation_clause", "auditing_by_clause", + "audit_user", "audit_schema_object_clause", "sql_operation", + "auditing_on_clause", "model_name", "object_name", "profile_name", + "sql_statement_shortcut", "drop_index", "rename_object", + "grant_statement", "container_clause", "create_directory", + "directory_name", "directory_path", "alter_library", + "library_editionable", "library_debug", "compiler_parameters_clause", + "parameter_value", "library_name", "alter_view", "alter_view_editionable", + "create_view", "view_options", "view_alias_constraint", + "object_view_clause", "inline_constraint", "inline_ref_constraint", + "out_of_line_ref_constraint", "out_of_line_constraint", + "constraint_state", "alter_tablespace", "datafile_tempfile_clauses", + "tablespace_logging_clauses", "tablespace_group_clause", + "tablespace_group_name", "tablespace_state_clauses", + "flashback_mode_clause", "new_tablespace_name", "create_tablespace", + "permanent_tablespace_clause", "tablespace_encryption_spec", + "logging_clause", "extent_management_clause", "segment_management_clause", + "temporary_tablespace_clause", "undo_tablespace_clause", + "tablespace_retention_clause", "datafile_specification", + "tempfile_specification", "datafile_tempfile_spec", "redo_log_file_spec", + "autoextend_clause", "maxsize_clause", "build_clause", + "parallel_clause", "alter_materialized_view", "alter_mv_option1", + "alter_mv_refresh", "rollback_segment", "modify_mv_column_clause", + "alter_materialized_view_log", "add_mv_log_column_clause", + "move_mv_log_clause", "mv_log_augmentation", "datetime_expr", + "interval_expr", "synchronous_or_asynchronous", "including_or_excluding", + "create_materialized_view_log", "new_values_clause", + "mv_log_purge_clause", "create_materialized_view", "create_mv_refresh", + "create_context", "oracle_namespace", "create_cluster", + "create_table", "xmltype_table", "xmltype_virtual_columns", + "xmltype_column_properties", "xmltype_storage", "xmlschema_spec", + "object_table", "oid_index_clause", "oid_clause", "object_properties", + "object_table_substitution", "relational_table", "relational_property", + "table_partitioning_clauses", "range_partitions", "list_partitions", + "hash_partitions", "individual_hash_partitions", "hash_partitions_by_quantity", + "hash_partition_quantity", "composite_range_partitions", + "composite_list_partitions", "composite_hash_partitions", + "reference_partitioning", "reference_partition_desc", + "system_partitioning", "range_partition_desc", "list_partition_desc", + "subpartition_template", "hash_subpartition_quantity", + "subpartition_by_range", "subpartition_by_list", "subpartition_by_hash", + "subpartition_name", "range_subpartition_desc", "list_subpartition_desc", + "individual_hash_subparts", "hash_subparts_by_quantity", + "range_values_clause", "list_values_clause", "table_partition_description", + "partitioning_storage_clause", "lob_partitioning_storage", + "datatype_null_enable", "size_clause", "table_compression", + "physical_attributes_clause", "storage_clause", "deferred_segment_creation", + "segment_attributes_clause", "physical_properties", "row_movement_clause", + "flashback_archive_clause", "log_grp", "supplemental_table_logging", + "supplemental_log_grp_clause", "supplemental_id_key_clause", + "allocate_extent_clause", "deallocate_unused_clause", + "shrink_clause", "records_per_block_clause", "upgrade_table_clause", + "drop_table", "drop_view", "comment_on_column", "enable_or_disable", + "allow_or_disallow", "create_synonym", "comment_on_table", + "alter_cluster", "cache_or_nocache", "database_name", + "alter_database", "startup_clauses", "resetlogs_or_noresetlogs", + "upgrade_or_downgrade", "recovery_clauses", "begin_or_end", + "general_recovery", "full_database_recovery", "partial_database_recovery", + "partial_database_recovery_10g", "managed_standby_recovery", + "db_name", "database_file_clauses", "create_datafile_clause", + "alter_datafile_clause", "alter_tempfile_clause", "logfile_clauses", + "add_logfile_clauses", "log_file_group", "drop_logfile_clauses", + "switch_logfile_clause", "supplemental_db_logging", "add_or_drop", + "supplemental_plsql_clause", "logfile_descriptor", "controlfile_clauses", + "trace_file_clause", "standby_database_clauses", "activate_standby_db_clause", + "maximize_standby_db_clause", "register_logfile_clause", + "commit_switchover_clause", "start_standby_clause", "stop_standby_clause", + "convert_database_clause", "default_settings_clause", + "set_time_zone_clause", "instance_clauses", "security_clause", + "domain", "database", "edition_name", "filenumber", "filename", + "alter_table", "alter_table_properties", "alter_table_properties_1", + "alter_iot_clauses", "alter_mapping_table_clause", "alter_overflow_clause", + "add_overflow_clause", "enable_disable_clause", "using_index_clause", + "index_attributes", "sort_or_nosort", "exceptions_clause", + "move_table_clause", "index_org_table_clause", "mapping_table_clause", + "key_compression", "index_org_overflow_clause", "column_clauses", + "modify_collection_retrieval", "collection_item", "rename_column_clause", + "old_column_name", "new_column_name", "add_modify_drop_column_clauses", + "drop_column_clause", "modify_column_clauses", "modify_col_properties", + "modify_col_substitutable", "add_column_clause", "alter_varray_col_properties", + "varray_col_properties", "varray_storage_clause", "lob_segname", + "lob_item", "lob_storage_parameters", "lob_storage_clause", + "modify_lob_storage_clause", "modify_lob_parameters", + "lob_parameters", "lob_deduplicate_clause", "lob_compression_clause", + "lob_retention_clause", "encryption_spec", "tablespace", + "varray_item", "column_properties", "period_definition", + "start_time_column", "end_time_column", "column_definition", + "virtual_column_definition", "autogenerated_sequence_definition", + "out_of_line_part_storage", "nested_table_col_properties", + "nested_item", "substitutable_column_clause", "partition_name", + "supplemental_logging_props", "column_or_attribute", + "object_type_col_properties", "constraint_clauses", "old_constraint_name", + "new_constraint_name", "drop_constraint_clause", "drop_primary_key_or_unique_or_generic_clause", + "add_constraint", "add_constraint_clause", "check_constraint", + "drop_constraint", "enable_constraint", "disable_constraint", + "foreign_key_clause", "references_clause", "on_delete_clause", + "unique_key_clause", "primary_key_clause", "anonymous_block", + "invoker_rights_clause", "call_spec", "java_spec", "c_spec", + "c_agent_in_clause", "c_parameters_clause", "parameter", + "default_value_part", "seq_of_declare_specs", "declare_spec", + "variable_declaration", "subtype_declaration", "cursor_declaration", + "parameter_spec", "exception_declaration", "pragma_declaration", + "record_type_def", "field_spec", "ref_cursor_type_def", + "type_declaration", "table_type_def", "table_indexed_by_part", + "varray_type_def", "seq_of_statements", "label_declaration", + "statement", "swallow_to_semi", "assignment_statement", + "continue_statement", "exit_statement", "goto_statement", + "if_statement", "elsif_part", "else_part", "loop_statement", + "cursor_loop_param", "forall_statement", "bounds_clause", + "between_bound", "lower_bound", "upper_bound", "null_statement", + "raise_statement", "return_statement", "function_call", + "procedure_call", "pipe_row_statement", "body", "exception_handler", + "trigger_block", "block", "sql_statement", "execute_immediate", + "dynamic_returning_clause", "data_manipulation_language_statements", + "cursor_manipulation_statements", "close_statement", + "open_statement", "fetch_statement", "open_for_statement", + "transaction_control_statements", "set_transaction_command", + "set_constraint_command", "commit_statement", "write_clause", + "rollback_statement", "savepoint_statement", "explain_statement", + "select_only_statement", "select_statement", "subquery_factoring_clause", + "factoring_element", "search_clause", "cycle_clause", + "subquery", "subquery_basic_elements", "subquery_operation_part", + "query_block", "selected_list", "from_clause", "select_list_elements", + "table_ref_list", "table_ref", "table_ref_aux", "table_ref_aux_internal", + "join_clause", "join_on_part", "join_using_part", "outer_join_type", + "query_partition_clause", "flashback_query_clause", "pivot_clause", + "pivot_element", "pivot_for_clause", "pivot_in_clause", + "pivot_in_clause_element", "pivot_in_clause_elements", + "unpivot_clause", "unpivot_in_clause", "unpivot_in_elements", + "hierarchical_query_clause", "start_part", "group_by_clause", + "group_by_elements", "rollup_cube_clause", "grouping_sets_clause", + "grouping_sets_elements", "having_clause", "model_clause", + "cell_reference_options", "return_rows_clause", "reference_model", + "main_model", "model_column_clauses", "model_column_partition_part", + "model_column_list", "model_column", "model_rules_clause", + "model_rules_part", "model_rules_element", "cell_assignment", + "model_iterate_clause", "until_part", "order_by_clause", + "order_by_elements", "offset_clause", "fetch_clause", + "for_update_clause", "for_update_of_part", "for_update_options", + "update_statement", "update_set_clause", "column_based_update_set_clause", + "delete_statement", "insert_statement", "single_table_insert", + "multi_table_insert", "multi_table_element", "conditional_insert_clause", + "conditional_insert_when_part", "conditional_insert_else_part", + "insert_into_clause", "values_clause", "merge_statement", + "merge_update_clause", "merge_element", "merge_update_delete_part", + "merge_insert_clause", "selected_tableview", "lock_table_statement", + "wait_nowait_part", "lock_table_element", "lock_mode", + "general_table_ref", "static_returning_clause", "error_logging_clause", + "error_logging_into_part", "error_logging_reject_part", + "dml_table_expression_clause", "table_collection_expression", + "subquery_restriction_clause", "sample_clause", "seed_part", + "condition", "expressions", "expression", "cursor_expression", + "logical_expression", "unary_logical_expression", "logical_operation", + "multiset_expression", "relational_expression", "compound_expression", + "relational_operator", "in_elements", "between_elements", + "concatenation", "interval_expression", "model_expression", + "model_expression_element", "single_column_for_loop", + "multi_column_for_loop", "unary_expression", "case_statement", + "simple_case_statement", "simple_case_when_part", "searched_case_statement", + "searched_case_when_part", "case_else_part", "atom", + "quantified_expression", "string_function", "standard_function", + "literal", "numeric_function_wrapper", "numeric_function", + "other_function", "over_clause_keyword", "within_or_over_clause_keyword", + "standard_prediction_function_keyword", "over_clause", + "windowing_clause", "windowing_type", "windowing_elements", + "using_clause", "using_element", "collect_order_by_part", + "within_or_over_part", "cost_matrix_clause", "xml_passing_clause", + "xml_attributes_clause", "xml_namespaces_clause", "xml_table_column", + "xml_general_default_part", "xml_multiuse_expression_element", + "xmlroot_param_version_part", "xmlroot_param_standalone_part", + "xmlserialize_param_enconding_part", "xmlserialize_param_version_part", + "xmlserialize_param_ident_part", "sql_plus_command", + "whenever_command", "set_command", "partition_extension_clause", + "column_alias", "table_alias", "where_clause", "into_clause", + "xml_column_name", "cost_class_name", "attribute_name", + "savepoint_name", "rollback_segment_name", "table_var_name", + "schema_name", "routine_name", "package_name", "implementation_type_name", + "parameter_name", "reference_model_name", "main_model_name", + "container_tableview_name", "aggregate_function_name", + "query_name", "grantee_name", "role_name", "constraint_name", + "label_name", "type_name", "sequence_name", "exception_name", + "function_name", "procedure_name", "trigger_name", "variable_name", + "index_name", "cursor_name", "record_name", "collection_name", + "link_name", "column_name", "tableview_name", "xmltable", + "char_set_name", "synonym_name", "schema_object_name", + "dir_object_name", "user_object_name", "grant_object_name", + "column_list", "paren_column_list", "keep_clause", "function_argument", + "function_argument_analytic", "function_argument_modeling", + "respect_or_ignore_nulls", "argument", "type_spec", "datatype", + "precision_part", "native_datatype_element", "bind_variable", + "general_element", "general_element_part", "table_element", + "object_privilege", "system_privilege", "constant", "numeric", + "numeric_negative", "quoted_string", "identifier", "id_expression", + "outer_join_sign", "regular_id", "non_reserved_keywords_in_12c", + "non_reserved_keywords_pre12c", "string_function_name", + "numeric_function_name" ]; + +function PlSqlParser (input) { + PlSqlBaseParser.call(this, input); + this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache); + this.ruleNames = ruleNames; + this.literalNames = literalNames; + this.symbolicNames = symbolicNames; + return this; +} + +PlSqlParser.prototype = Object.create(PlSqlBaseParser.prototype); +PlSqlParser.prototype.constructor = PlSqlParser; + +Object.defineProperty(PlSqlParser.prototype, "atn", { + get : function() { + return atn; + } +}); + +PlSqlParser.EOF = antlr4.Token.EOF; +PlSqlParser.ABORT = 1; +PlSqlParser.ABS = 2; +PlSqlParser.ACCESS = 3; +PlSqlParser.ACCESSED = 4; +PlSqlParser.ACCOUNT = 5; +PlSqlParser.ACL = 6; +PlSqlParser.ACOS = 7; +PlSqlParser.ACTION = 8; +PlSqlParser.ACTIONS = 9; +PlSqlParser.ACTIVATE = 10; +PlSqlParser.ACTIVE = 11; +PlSqlParser.ACTIVE_COMPONENT = 12; +PlSqlParser.ACTIVE_DATA = 13; +PlSqlParser.ACTIVE_FUNCTION = 14; +PlSqlParser.ACTIVE_TAG = 15; +PlSqlParser.ACTIVITY = 16; +PlSqlParser.ADAPTIVE_PLAN = 17; +PlSqlParser.ADD = 18; +PlSqlParser.ADD_COLUMN = 19; +PlSqlParser.ADD_GROUP = 20; +PlSqlParser.ADD_MONTHS = 21; +PlSqlParser.ADJ_DATE = 22; +PlSqlParser.ADMIN = 23; +PlSqlParser.ADMINISTER = 24; +PlSqlParser.ADMINISTRATOR = 25; +PlSqlParser.ADVANCED = 26; +PlSqlParser.ADVISE = 27; +PlSqlParser.ADVISOR = 28; +PlSqlParser.AFD_DISKSTRING = 29; +PlSqlParser.AFTER = 30; +PlSqlParser.AGENT = 31; +PlSqlParser.AGGREGATE = 32; +PlSqlParser.A_LETTER = 33; +PlSqlParser.ALIAS = 34; +PlSqlParser.ALL = 35; +PlSqlParser.ALLOCATE = 36; +PlSqlParser.ALLOW = 37; +PlSqlParser.ALL_ROWS = 38; +PlSqlParser.ALTER = 39; +PlSqlParser.ALWAYS = 40; +PlSqlParser.ANALYZE = 41; +PlSqlParser.ANCILLARY = 42; +PlSqlParser.AND = 43; +PlSqlParser.AND_EQUAL = 44; +PlSqlParser.ANOMALY = 45; +PlSqlParser.ANSI_REARCH = 46; +PlSqlParser.ANTIJOIN = 47; +PlSqlParser.ANY = 48; +PlSqlParser.ANYSCHEMA = 49; +PlSqlParser.APPEND = 50; +PlSqlParser.APPENDCHILDXML = 51; +PlSqlParser.APPEND_VALUES = 52; +PlSqlParser.APPLICATION = 53; +PlSqlParser.APPLY = 54; +PlSqlParser.APPROX_COUNT_DISTINCT = 55; +PlSqlParser.ARCHIVAL = 56; +PlSqlParser.ARCHIVE = 57; +PlSqlParser.ARCHIVED = 58; +PlSqlParser.ARCHIVELOG = 59; +PlSqlParser.ARRAY = 60; +PlSqlParser.AS = 61; +PlSqlParser.ASC = 62; +PlSqlParser.ASCII = 63; +PlSqlParser.ASCIISTR = 64; +PlSqlParser.ASIN = 65; +PlSqlParser.ASIS = 66; +PlSqlParser.ASSEMBLY = 67; +PlSqlParser.ASSIGN = 68; +PlSqlParser.ASSOCIATE = 69; +PlSqlParser.ASYNC = 70; +PlSqlParser.ASYNCHRONOUS = 71; +PlSqlParser.ATAN2 = 72; +PlSqlParser.ATAN = 73; +PlSqlParser.AT = 74; +PlSqlParser.ATTRIBUTE = 75; +PlSqlParser.ATTRIBUTES = 76; +PlSqlParser.AUDIT = 77; +PlSqlParser.AUTHENTICATED = 78; +PlSqlParser.AUTHENTICATION = 79; +PlSqlParser.AUTHID = 80; +PlSqlParser.AUTHORIZATION = 81; +PlSqlParser.AUTOALLOCATE = 82; +PlSqlParser.AUTO = 83; +PlSqlParser.AUTOBACKUP = 84; +PlSqlParser.AUTOEXTEND = 85; +PlSqlParser.AUTO_LOGIN = 86; +PlSqlParser.AUTOMATIC = 87; +PlSqlParser.AUTONOMOUS_TRANSACTION = 88; +PlSqlParser.AUTO_REOPTIMIZE = 89; +PlSqlParser.AVAILABILITY = 90; +PlSqlParser.AVRO = 91; +PlSqlParser.BACKGROUND = 92; +PlSqlParser.BACKUP = 93; +PlSqlParser.BACKUPSET = 94; +PlSqlParser.BASIC = 95; +PlSqlParser.BASICFILE = 96; +PlSqlParser.BATCH = 97; +PlSqlParser.BATCHSIZE = 98; +PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID = 99; +PlSqlParser.BECOME = 100; +PlSqlParser.BEFORE = 101; +PlSqlParser.BEGIN = 102; +PlSqlParser.BEGINNING = 103; +PlSqlParser.BEGIN_OUTLINE_DATA = 104; +PlSqlParser.BEHALF = 105; +PlSqlParser.BEQUEATH = 106; +PlSqlParser.BETWEEN = 107; +PlSqlParser.BFILE = 108; +PlSqlParser.BFILENAME = 109; +PlSqlParser.BIGFILE = 110; +PlSqlParser.BINARY = 111; +PlSqlParser.BINARY_DOUBLE = 112; +PlSqlParser.BINARY_DOUBLE_INFINITY = 113; +PlSqlParser.BINARY_DOUBLE_NAN = 114; +PlSqlParser.BINARY_FLOAT = 115; +PlSqlParser.BINARY_FLOAT_INFINITY = 116; +PlSqlParser.BINARY_FLOAT_NAN = 117; +PlSqlParser.BINARY_INTEGER = 118; +PlSqlParser.BIND_AWARE = 119; +PlSqlParser.BINDING = 120; +PlSqlParser.BIN_TO_NUM = 121; +PlSqlParser.BITAND = 122; +PlSqlParser.BITMAP_AND = 123; +PlSqlParser.BITMAP = 124; +PlSqlParser.BITMAPS = 125; +PlSqlParser.BITMAP_TREE = 126; +PlSqlParser.BITS = 127; +PlSqlParser.BLOB = 128; +PlSqlParser.BLOCK = 129; +PlSqlParser.BLOCK_RANGE = 130; +PlSqlParser.BLOCKS = 131; +PlSqlParser.BLOCKSIZE = 132; +PlSqlParser.BODY = 133; +PlSqlParser.BOOLEAN = 134; +PlSqlParser.BOTH = 135; +PlSqlParser.BOUND = 136; +PlSqlParser.BRANCH = 137; +PlSqlParser.BREADTH = 138; +PlSqlParser.BROADCAST = 139; +PlSqlParser.BSON = 140; +PlSqlParser.BUFFER = 141; +PlSqlParser.BUFFER_CACHE = 142; +PlSqlParser.BUFFER_POOL = 143; +PlSqlParser.BUILD = 144; +PlSqlParser.BULK = 145; +PlSqlParser.BY = 146; +PlSqlParser.BYPASS_RECURSIVE_CHECK = 147; +PlSqlParser.BYPASS_UJVC = 148; +PlSqlParser.BYTE = 149; +PlSqlParser.CACHE = 150; +PlSqlParser.CACHE_CB = 151; +PlSqlParser.CACHE_INSTANCES = 152; +PlSqlParser.CACHE_TEMP_TABLE = 153; +PlSqlParser.CACHING = 154; +PlSqlParser.CALCULATED = 155; +PlSqlParser.CALLBACK = 156; +PlSqlParser.CALL = 157; +PlSqlParser.CANCEL = 158; +PlSqlParser.CANONICAL = 159; +PlSqlParser.CAPACITY = 160; +PlSqlParser.CARDINALITY = 161; +PlSqlParser.CASCADE = 162; +PlSqlParser.CASE = 163; +PlSqlParser.CAST = 164; +PlSqlParser.CATEGORY = 165; +PlSqlParser.CDBDEFAULT = 166; +PlSqlParser.CEIL = 167; +PlSqlParser.CELL_FLASH_CACHE = 168; +PlSqlParser.CERTIFICATE = 169; +PlSqlParser.CFILE = 170; +PlSqlParser.CHAINED = 171; +PlSqlParser.CHANGE = 172; +PlSqlParser.CHANGETRACKING = 173; +PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX = 174; +PlSqlParser.CHARACTER = 175; +PlSqlParser.CHAR = 176; +PlSqlParser.CHAR_CS = 177; +PlSqlParser.CHARTOROWID = 178; +PlSqlParser.CHECK_ACL_REWRITE = 179; +PlSqlParser.CHECK = 180; +PlSqlParser.CHECKPOINT = 181; +PlSqlParser.CHILD = 182; +PlSqlParser.CHOOSE = 183; +PlSqlParser.CHR = 184; +PlSqlParser.CHUNK = 185; +PlSqlParser.CLASS = 186; +PlSqlParser.CLASSIFIER = 187; +PlSqlParser.CLEANUP = 188; +PlSqlParser.CLEAR = 189; +PlSqlParser.C_LETTER = 190; +PlSqlParser.CLIENT = 191; +PlSqlParser.CLOB = 192; +PlSqlParser.CLONE = 193; +PlSqlParser.CLOSE_CACHED_OPEN_CURSORS = 194; +PlSqlParser.CLOSE = 195; +PlSqlParser.CLUSTER_BY_ROWID = 196; +PlSqlParser.CLUSTER = 197; +PlSqlParser.CLUSTER_DETAILS = 198; +PlSqlParser.CLUSTER_DISTANCE = 199; +PlSqlParser.CLUSTER_ID = 200; +PlSqlParser.CLUSTERING = 201; +PlSqlParser.CLUSTERING_FACTOR = 202; +PlSqlParser.CLUSTER_PROBABILITY = 203; +PlSqlParser.CLUSTER_SET = 204; +PlSqlParser.COALESCE = 205; +PlSqlParser.COALESCE_SQ = 206; +PlSqlParser.COARSE = 207; +PlSqlParser.CO_AUTH_IND = 208; +PlSqlParser.COLD = 209; +PlSqlParser.COLLECT = 210; +PlSqlParser.COLUMNAR = 211; +PlSqlParser.COLUMN_AUTH_INDICATOR = 212; +PlSqlParser.COLUMN = 213; +PlSqlParser.COLUMNS = 214; +PlSqlParser.COLUMN_STATS = 215; +PlSqlParser.COLUMN_VALUE = 216; +PlSqlParser.COMMENT = 217; +PlSqlParser.COMMIT = 218; +PlSqlParser.COMMITTED = 219; +PlSqlParser.COMMON_DATA = 220; +PlSqlParser.COMPACT = 221; +PlSqlParser.COMPATIBILITY = 222; +PlSqlParser.COMPILE = 223; +PlSqlParser.COMPLETE = 224; +PlSqlParser.COMPLIANCE = 225; +PlSqlParser.COMPONENT = 226; +PlSqlParser.COMPONENTS = 227; +PlSqlParser.COMPOSE = 228; +PlSqlParser.COMPOSITE = 229; +PlSqlParser.COMPOSITE_LIMIT = 230; +PlSqlParser.COMPOUND = 231; +PlSqlParser.COMPRESS = 232; +PlSqlParser.COMPUTE = 233; +PlSqlParser.CONCAT = 234; +PlSqlParser.CON_DBID_TO_ID = 235; +PlSqlParser.CONDITIONAL = 236; +PlSqlParser.CONDITION = 237; +PlSqlParser.CONFIRM = 238; +PlSqlParser.CONFORMING = 239; +PlSqlParser.CON_GUID_TO_ID = 240; +PlSqlParser.CON_ID = 241; +PlSqlParser.CON_NAME_TO_ID = 242; +PlSqlParser.CONNECT_BY_CB_WHR_ONLY = 243; +PlSqlParser.CONNECT_BY_COMBINE_SW = 244; +PlSqlParser.CONNECT_BY_COST_BASED = 245; +PlSqlParser.CONNECT_BY_ELIM_DUPS = 246; +PlSqlParser.CONNECT_BY_FILTERING = 247; +PlSqlParser.CONNECT_BY_ISCYCLE = 248; +PlSqlParser.CONNECT_BY_ISLEAF = 249; +PlSqlParser.CONNECT_BY_ROOT = 250; +PlSqlParser.CONNECT = 251; +PlSqlParser.CONNECT_TIME = 252; +PlSqlParser.CONSIDER = 253; +PlSqlParser.CONSISTENT = 254; +PlSqlParser.CONSTANT = 255; +PlSqlParser.CONST = 256; +PlSqlParser.CONSTRAINT = 257; +PlSqlParser.CONSTRAINTS = 258; +PlSqlParser.CONSTRUCTOR = 259; +PlSqlParser.CONTAINER = 260; +PlSqlParser.CONTAINER_DATA = 261; +PlSqlParser.CONTAINERS = 262; +PlSqlParser.CONTENT = 263; +PlSqlParser.CONTENTS = 264; +PlSqlParser.CONTEXT = 265; +PlSqlParser.CONTINUE = 266; +PlSqlParser.CONTROLFILE = 267; +PlSqlParser.CON_UID_TO_ID = 268; +PlSqlParser.CONVERT = 269; +PlSqlParser.COOKIE = 270; +PlSqlParser.COPY = 271; +PlSqlParser.CORR_K = 272; +PlSqlParser.CORR_S = 273; +PlSqlParser.CORRUPTION = 274; +PlSqlParser.CORRUPT_XID_ALL = 275; +PlSqlParser.CORRUPT_XID = 276; +PlSqlParser.COS = 277; +PlSqlParser.COSH = 278; +PlSqlParser.COST = 279; +PlSqlParser.COST_XML_QUERY_REWRITE = 280; +PlSqlParser.COUNT = 281; +PlSqlParser.COVAR_POP = 282; +PlSqlParser.COVAR_SAMP = 283; +PlSqlParser.CPU_COSTING = 284; +PlSqlParser.CPU_PER_CALL = 285; +PlSqlParser.CPU_PER_SESSION = 286; +PlSqlParser.CRASH = 287; +PlSqlParser.CREATE = 288; +PlSqlParser.CREATE_FILE_DEST = 289; +PlSqlParser.CREATE_STORED_OUTLINES = 290; +PlSqlParser.CREATION = 291; +PlSqlParser.CREDENTIAL = 292; +PlSqlParser.CRITICAL = 293; +PlSqlParser.CROSS = 294; +PlSqlParser.CROSSEDITION = 295; +PlSqlParser.CSCONVERT = 296; +PlSqlParser.CUBE_AJ = 297; +PlSqlParser.CUBE = 298; +PlSqlParser.CUBE_GB = 299; +PlSqlParser.CUBE_SJ = 300; +PlSqlParser.CUME_DISTM = 301; +PlSqlParser.CURRENT = 302; +PlSqlParser.CURRENT_DATE = 303; +PlSqlParser.CURRENT_SCHEMA = 304; +PlSqlParser.CURRENT_TIME = 305; +PlSqlParser.CURRENT_TIMESTAMP = 306; +PlSqlParser.CURRENT_USER = 307; +PlSqlParser.CURRENTV = 308; +PlSqlParser.CURSOR = 309; +PlSqlParser.CURSOR_SHARING_EXACT = 310; +PlSqlParser.CURSOR_SPECIFIC_SEGMENT = 311; +PlSqlParser.CUSTOMDATUM = 312; +PlSqlParser.CV = 313; +PlSqlParser.CYCLE = 314; +PlSqlParser.DANGLING = 315; +PlSqlParser.DATABASE = 316; +PlSqlParser.DATA = 317; +PlSqlParser.DATAFILE = 318; +PlSqlParser.DATAFILES = 319; +PlSqlParser.DATAGUARDCONFIG = 320; +PlSqlParser.DATAMOVEMENT = 321; +PlSqlParser.DATAOBJNO = 322; +PlSqlParser.DATAOBJ_TO_MAT_PARTITION = 323; +PlSqlParser.DATAOBJ_TO_PARTITION = 324; +PlSqlParser.DATAPUMP = 325; +PlSqlParser.DATA_SECURITY_REWRITE_LIMIT = 326; +PlSqlParser.DATE = 327; +PlSqlParser.DATE_MODE = 328; +PlSqlParser.DAY = 329; +PlSqlParser.DAYS = 330; +PlSqlParser.DBA = 331; +PlSqlParser.DBA_RECYCLEBIN = 332; +PlSqlParser.DBMS_STATS = 333; +PlSqlParser.DB_ROLE_CHANGE = 334; +PlSqlParser.DBTIMEZONE = 335; +PlSqlParser.DB_UNIQUE_NAME = 336; +PlSqlParser.DB_VERSION = 337; +PlSqlParser.DDL = 338; +PlSqlParser.DEALLOCATE = 339; +PlSqlParser.DEBUG = 340; +PlSqlParser.DEBUGGER = 341; +PlSqlParser.DEC = 342; +PlSqlParser.DECIMAL = 343; +PlSqlParser.DECLARE = 344; +PlSqlParser.DECOMPOSE = 345; +PlSqlParser.DECORRELATE = 346; +PlSqlParser.DECR = 347; +PlSqlParser.DECREMENT = 348; +PlSqlParser.DECRYPT = 349; +PlSqlParser.DEDUPLICATE = 350; +PlSqlParser.DEFAULT = 351; +PlSqlParser.DEFAULTS = 352; +PlSqlParser.DEFERRABLE = 353; +PlSqlParser.DEFERRED = 354; +PlSqlParser.DEFINED = 355; +PlSqlParser.DEFINE = 356; +PlSqlParser.DEFINER = 357; +PlSqlParser.DEGREE = 358; +PlSqlParser.DELAY = 359; +PlSqlParser.DELEGATE = 360; +PlSqlParser.DELETE_ALL = 361; +PlSqlParser.DELETE = 362; +PlSqlParser.DELETEXML = 363; +PlSqlParser.DEMAND = 364; +PlSqlParser.DENSE_RANKM = 365; +PlSqlParser.DEPENDENT = 366; +PlSqlParser.DEPTH = 367; +PlSqlParser.DEQUEUE = 368; +PlSqlParser.DEREF = 369; +PlSqlParser.DEREF_NO_REWRITE = 370; +PlSqlParser.DESC = 371; +PlSqlParser.DESTROY = 372; +PlSqlParser.DETACHED = 373; +PlSqlParser.DETERMINES = 374; +PlSqlParser.DETERMINISTIC = 375; +PlSqlParser.DICTIONARY = 376; +PlSqlParser.DIMENSION = 377; +PlSqlParser.DIMENSIONS = 378; +PlSqlParser.DIRECT_LOAD = 379; +PlSqlParser.DIRECTORY = 380; +PlSqlParser.DIRECT_PATH = 381; +PlSqlParser.DISABLE_ALL = 382; +PlSqlParser.DISABLE = 383; +PlSqlParser.DISABLE_PARALLEL_DML = 384; +PlSqlParser.DISABLE_PRESET = 385; +PlSqlParser.DISABLE_RPKE = 386; +PlSqlParser.DISALLOW = 387; +PlSqlParser.DISASSOCIATE = 388; +PlSqlParser.DISCARD = 389; +PlSqlParser.DISCONNECT = 390; +PlSqlParser.DISK = 391; +PlSqlParser.DISKGROUP = 392; +PlSqlParser.DISKGROUP_PLUS = 393; +PlSqlParser.DISKS = 394; +PlSqlParser.DISMOUNT = 395; +PlSqlParser.DISTINCT = 396; +PlSqlParser.DISTINGUISHED = 397; +PlSqlParser.DISTRIBUTED = 398; +PlSqlParser.DISTRIBUTE = 399; +PlSqlParser.DML = 400; +PlSqlParser.DML_UPDATE = 401; +PlSqlParser.DOCFIDELITY = 402; +PlSqlParser.DOCUMENT = 403; +PlSqlParser.DOMAIN_INDEX_FILTER = 404; +PlSqlParser.DOMAIN_INDEX_NO_SORT = 405; +PlSqlParser.DOMAIN_INDEX_SORT = 406; +PlSqlParser.DOUBLE = 407; +PlSqlParser.DOWNGRADE = 408; +PlSqlParser.DRIVING_SITE = 409; +PlSqlParser.DROP_COLUMN = 410; +PlSqlParser.DROP = 411; +PlSqlParser.DROP_GROUP = 412; +PlSqlParser.DSINTERVAL_UNCONSTRAINED = 413; +PlSqlParser.DST_UPGRADE_INSERT_CONV = 414; +PlSqlParser.DUMP = 415; +PlSqlParser.DUMPSET = 416; +PlSqlParser.DUPLICATE = 417; +PlSqlParser.DV = 418; +PlSqlParser.DYNAMIC = 419; +PlSqlParser.DYNAMIC_SAMPLING = 420; +PlSqlParser.DYNAMIC_SAMPLING_EST_CDN = 421; +PlSqlParser.EACH = 422; +PlSqlParser.EDITIONABLE = 423; +PlSqlParser.EDITION = 424; +PlSqlParser.EDITIONING = 425; +PlSqlParser.EDITIONS = 426; +PlSqlParser.ELEMENT = 427; +PlSqlParser.ELIM_GROUPBY = 428; +PlSqlParser.ELIMINATE_JOIN = 429; +PlSqlParser.ELIMINATE_OBY = 430; +PlSqlParser.ELIMINATE_OUTER_JOIN = 431; +PlSqlParser.ELSE = 432; +PlSqlParser.ELSIF = 433; +PlSqlParser.EM = 434; +PlSqlParser.EMPTY_BLOB = 435; +PlSqlParser.EMPTY_CLOB = 436; +PlSqlParser.EMPTY = 437; +PlSqlParser.ENABLE_ALL = 438; +PlSqlParser.ENABLE = 439; +PlSqlParser.ENABLE_PARALLEL_DML = 440; +PlSqlParser.ENABLE_PRESET = 441; +PlSqlParser.ENCODING = 442; +PlSqlParser.ENCRYPT = 443; +PlSqlParser.ENCRYPTION = 444; +PlSqlParser.END = 445; +PlSqlParser.END_OUTLINE_DATA = 446; +PlSqlParser.ENFORCED = 447; +PlSqlParser.ENFORCE = 448; +PlSqlParser.ENQUEUE = 449; +PlSqlParser.ENTERPRISE = 450; +PlSqlParser.ENTITYESCAPING = 451; +PlSqlParser.ENTRY = 452; +PlSqlParser.EQUIPART = 453; +PlSqlParser.ERR = 454; +PlSqlParser.ERROR_ARGUMENT = 455; +PlSqlParser.ERROR = 456; +PlSqlParser.ERROR_ON_OVERLAP_TIME = 457; +PlSqlParser.ERRORS = 458; +PlSqlParser.ESCAPE = 459; +PlSqlParser.ESTIMATE = 460; +PlSqlParser.EVAL = 461; +PlSqlParser.EVALNAME = 462; +PlSqlParser.EVALUATE = 463; +PlSqlParser.EVALUATION = 464; +PlSqlParser.EVENTS = 465; +PlSqlParser.EVERY = 466; +PlSqlParser.EXCEPT = 467; +PlSqlParser.EXCEPTION = 468; +PlSqlParser.EXCEPTION_INIT = 469; +PlSqlParser.EXCEPTIONS = 470; +PlSqlParser.EXCHANGE = 471; +PlSqlParser.EXCLUDE = 472; +PlSqlParser.EXCLUDING = 473; +PlSqlParser.EXCLUSIVE = 474; +PlSqlParser.EXECUTE = 475; +PlSqlParser.EXEMPT = 476; +PlSqlParser.EXISTING = 477; +PlSqlParser.EXISTS = 478; +PlSqlParser.EXISTSNODE = 479; +PlSqlParser.EXIT = 480; +PlSqlParser.EXPAND_GSET_TO_UNION = 481; +PlSqlParser.EXPAND_TABLE = 482; +PlSqlParser.EXP = 483; +PlSqlParser.EXPIRE = 484; +PlSqlParser.EXPLAIN = 485; +PlSqlParser.EXPLOSION = 486; +PlSqlParser.EXPORT = 487; +PlSqlParser.EXPR_CORR_CHECK = 488; +PlSqlParser.EXPRESS = 489; +PlSqlParser.EXTENDS = 490; +PlSqlParser.EXTENT = 491; +PlSqlParser.EXTENTS = 492; +PlSqlParser.EXTERNAL = 493; +PlSqlParser.EXTERNALLY = 494; +PlSqlParser.EXTRACTCLOBXML = 495; +PlSqlParser.EXTRACT = 496; +PlSqlParser.EXTRACTVALUE = 497; +PlSqlParser.EXTRA = 498; +PlSqlParser.FACILITY = 499; +PlSqlParser.FACT = 500; +PlSqlParser.FACTOR = 501; +PlSqlParser.FACTORIZE_JOIN = 502; +PlSqlParser.FAILED = 503; +PlSqlParser.FAILED_LOGIN_ATTEMPTS = 504; +PlSqlParser.FAILGROUP = 505; +PlSqlParser.FAILOVER = 506; +PlSqlParser.FAILURE = 507; +PlSqlParser.FALSE = 508; +PlSqlParser.FAMILY = 509; +PlSqlParser.FAR = 510; +PlSqlParser.FAST = 511; +PlSqlParser.FASTSTART = 512; +PlSqlParser.FBTSCAN = 513; +PlSqlParser.FEATURE_DETAILS = 514; +PlSqlParser.FEATURE_ID = 515; +PlSqlParser.FEATURE_SET = 516; +PlSqlParser.FEATURE_VALUE = 517; +PlSqlParser.FETCH = 518; +PlSqlParser.FILE = 519; +PlSqlParser.FILE_NAME_CONVERT = 520; +PlSqlParser.FILESYSTEM_LIKE_LOGGING = 521; +PlSqlParser.FILTER = 522; +PlSqlParser.FINAL = 523; +PlSqlParser.FINE = 524; +PlSqlParser.FINISH = 525; +PlSqlParser.FIRST = 526; +PlSqlParser.FIRSTM = 527; +PlSqlParser.FIRST_ROWS = 528; +PlSqlParser.FIRST_VALUE = 529; +PlSqlParser.FIXED_VIEW_DATA = 530; +PlSqlParser.FLAGGER = 531; +PlSqlParser.FLASHBACK = 532; +PlSqlParser.FLASH_CACHE = 533; +PlSqlParser.FLOAT = 534; +PlSqlParser.FLOB = 535; +PlSqlParser.FLOOR = 536; +PlSqlParser.FLUSH = 537; +PlSqlParser.FOLDER = 538; +PlSqlParser.FOLLOWING = 539; +PlSqlParser.FOLLOWS = 540; +PlSqlParser.FORALL = 541; +PlSqlParser.FORCE = 542; +PlSqlParser.FORCE_XML_QUERY_REWRITE = 543; +PlSqlParser.FOREIGN = 544; +PlSqlParser.FOREVER = 545; +PlSqlParser.FOR = 546; +PlSqlParser.FORMAT = 547; +PlSqlParser.FORWARD = 548; +PlSqlParser.FRAGMENT_NUMBER = 549; +PlSqlParser.FREELIST = 550; +PlSqlParser.FREELISTS = 551; +PlSqlParser.FREEPOOLS = 552; +PlSqlParser.FRESH = 553; +PlSqlParser.FROM = 554; +PlSqlParser.FROM_TZ = 555; +PlSqlParser.FULL = 556; +PlSqlParser.FULL_OUTER_JOIN_TO_OUTER = 557; +PlSqlParser.FUNCTION = 558; +PlSqlParser.FUNCTIONS = 559; +PlSqlParser.GATHER_OPTIMIZER_STATISTICS = 560; +PlSqlParser.GATHER_PLAN_STATISTICS = 561; +PlSqlParser.GBY_CONC_ROLLUP = 562; +PlSqlParser.GBY_PUSHDOWN = 563; +PlSqlParser.GENERATED = 564; +PlSqlParser.GET = 565; +PlSqlParser.GLOBAL = 566; +PlSqlParser.GLOBALLY = 567; +PlSqlParser.GLOBAL_NAME = 568; +PlSqlParser.GLOBAL_TOPIC_ENABLED = 569; +PlSqlParser.GOTO = 570; +PlSqlParser.GRANT = 571; +PlSqlParser.GROUP_BY = 572; +PlSqlParser.GROUP = 573; +PlSqlParser.GROUP_ID = 574; +PlSqlParser.GROUPING = 575; +PlSqlParser.GROUPING_ID = 576; +PlSqlParser.GROUPS = 577; +PlSqlParser.GUARANTEED = 578; +PlSqlParser.GUARANTEE = 579; +PlSqlParser.GUARD = 580; +PlSqlParser.HASH_AJ = 581; +PlSqlParser.HASH = 582; +PlSqlParser.HASHKEYS = 583; +PlSqlParser.HASH_SJ = 584; +PlSqlParser.HAVING = 585; +PlSqlParser.HEADER = 586; +PlSqlParser.HEAP = 587; +PlSqlParser.HELP = 588; +PlSqlParser.HEXTORAW = 589; +PlSqlParser.HEXTOREF = 590; +PlSqlParser.HIDDEN_KEYWORD = 591; +PlSqlParser.HIDE = 592; +PlSqlParser.HIERARCHY = 593; +PlSqlParser.HIGH = 594; +PlSqlParser.HINTSET_BEGIN = 595; +PlSqlParser.HINTSET_END = 596; +PlSqlParser.HOT = 597; +PlSqlParser.HOUR = 598; +PlSqlParser.HWM_BROKERED = 599; +PlSqlParser.HYBRID = 600; +PlSqlParser.IDENTIFIED = 601; +PlSqlParser.IDENTIFIER = 602; +PlSqlParser.IDENTITY = 603; +PlSqlParser.IDGENERATORS = 604; +PlSqlParser.ID = 605; +PlSqlParser.IDLE_TIME = 606; +PlSqlParser.IF = 607; +PlSqlParser.IGNORE = 608; +PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS = 609; +PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX = 610; +PlSqlParser.IGNORE_WHERE_CLAUSE = 611; +PlSqlParser.ILM = 612; +PlSqlParser.IMMEDIATE = 613; +PlSqlParser.IMPACT = 614; +PlSqlParser.IMPORT = 615; +PlSqlParser.INACTIVE = 616; +PlSqlParser.INCLUDE = 617; +PlSqlParser.INCLUDE_VERSION = 618; +PlSqlParser.INCLUDING = 619; +PlSqlParser.INCREMENTAL = 620; +PlSqlParser.INCREMENT = 621; +PlSqlParser.INCR = 622; +PlSqlParser.INDENT = 623; +PlSqlParser.INDEX_ASC = 624; +PlSqlParser.INDEX_COMBINE = 625; +PlSqlParser.INDEX_DESC = 626; +PlSqlParser.INDEXED = 627; +PlSqlParser.INDEXES = 628; +PlSqlParser.INDEX_FFS = 629; +PlSqlParser.INDEX_FILTER = 630; +PlSqlParser.INDEX = 631; +PlSqlParser.INDEXING = 632; +PlSqlParser.INDEX_JOIN = 633; +PlSqlParser.INDEX_ROWS = 634; +PlSqlParser.INDEX_RRS = 635; +PlSqlParser.INDEX_RS_ASC = 636; +PlSqlParser.INDEX_RS_DESC = 637; +PlSqlParser.INDEX_RS = 638; +PlSqlParser.INDEX_SCAN = 639; +PlSqlParser.INDEX_SKIP_SCAN = 640; +PlSqlParser.INDEX_SS_ASC = 641; +PlSqlParser.INDEX_SS_DESC = 642; +PlSqlParser.INDEX_SS = 643; +PlSqlParser.INDEX_STATS = 644; +PlSqlParser.INDEXTYPE = 645; +PlSqlParser.INDEXTYPES = 646; +PlSqlParser.INDICATOR = 647; +PlSqlParser.INDICES = 648; +PlSqlParser.INFINITE = 649; +PlSqlParser.INFORMATIONAL = 650; +PlSqlParser.INHERIT = 651; +PlSqlParser.IN = 652; +PlSqlParser.INITCAP = 653; +PlSqlParser.INITIAL = 654; +PlSqlParser.INITIALIZED = 655; +PlSqlParser.INITIALLY = 656; +PlSqlParser.INITRANS = 657; +PlSqlParser.INLINE = 658; +PlSqlParser.INLINE_XMLTYPE_NT = 659; +PlSqlParser.INMEMORY = 660; +PlSqlParser.IN_MEMORY_METADATA = 661; +PlSqlParser.INMEMORY_PRUNING = 662; +PlSqlParser.INNER = 663; +PlSqlParser.INOUT = 664; +PlSqlParser.INPLACE = 665; +PlSqlParser.INSERTCHILDXMLAFTER = 666; +PlSqlParser.INSERTCHILDXMLBEFORE = 667; +PlSqlParser.INSERTCHILDXML = 668; +PlSqlParser.INSERT = 669; +PlSqlParser.INSERTXMLAFTER = 670; +PlSqlParser.INSERTXMLBEFORE = 671; +PlSqlParser.INSTANCE = 672; +PlSqlParser.INSTANCES = 673; +PlSqlParser.INSTANTIABLE = 674; +PlSqlParser.INSTANTLY = 675; +PlSqlParser.INSTEAD = 676; +PlSqlParser.INSTR2 = 677; +PlSqlParser.INSTR4 = 678; +PlSqlParser.INSTRB = 679; +PlSqlParser.INSTRC = 680; +PlSqlParser.INSTR = 681; +PlSqlParser.INTEGER = 682; +PlSqlParser.INTERLEAVED = 683; +PlSqlParser.INTERMEDIATE = 684; +PlSqlParser.INTERNAL_CONVERT = 685; +PlSqlParser.INTERNAL_USE = 686; +PlSqlParser.INTERPRETED = 687; +PlSqlParser.INTERSECT = 688; +PlSqlParser.INTERVAL = 689; +PlSqlParser.INT = 690; +PlSqlParser.INTO = 691; +PlSqlParser.INVALIDATE = 692; +PlSqlParser.INVISIBLE = 693; +PlSqlParser.IN_XQUERY = 694; +PlSqlParser.IS = 695; +PlSqlParser.ISOLATION = 696; +PlSqlParser.ISOLATION_LEVEL = 697; +PlSqlParser.ITERATE = 698; +PlSqlParser.ITERATION_NUMBER = 699; +PlSqlParser.JAVA = 700; +PlSqlParser.JOB = 701; +PlSqlParser.JOIN = 702; +PlSqlParser.JSON_ARRAYAGG = 703; +PlSqlParser.JSON_ARRAY = 704; +PlSqlParser.JSON_EQUAL = 705; +PlSqlParser.JSON_EXISTS2 = 706; +PlSqlParser.JSON_EXISTS = 707; +PlSqlParser.JSONGET = 708; +PlSqlParser.JSON = 709; +PlSqlParser.JSON_OBJECTAGG = 710; +PlSqlParser.JSON_OBJECT = 711; +PlSqlParser.JSONPARSE = 712; +PlSqlParser.JSON_QUERY = 713; +PlSqlParser.JSON_SERIALIZE = 714; +PlSqlParser.JSON_TABLE = 715; +PlSqlParser.JSON_TEXTCONTAINS2 = 716; +PlSqlParser.JSON_TEXTCONTAINS = 717; +PlSqlParser.JSON_VALUE = 718; +PlSqlParser.KEEP_DUPLICATES = 719; +PlSqlParser.KEEP = 720; +PlSqlParser.KERBEROS = 721; +PlSqlParser.KEY = 722; +PlSqlParser.KEY_LENGTH = 723; +PlSqlParser.KEYSIZE = 724; +PlSqlParser.KEYS = 725; +PlSqlParser.KEYSTORE = 726; +PlSqlParser.KILL = 727; +PlSqlParser.LABEL = 728; +PlSqlParser.LANGUAGE = 729; +PlSqlParser.LAST_DAY = 730; +PlSqlParser.LAST = 731; +PlSqlParser.LAST_VALUE = 732; +PlSqlParser.LATERAL = 733; +PlSqlParser.LAX = 734; +PlSqlParser.LAYER = 735; +PlSqlParser.LDAP_REGISTRATION_ENABLED = 736; +PlSqlParser.LDAP_REGISTRATION = 737; +PlSqlParser.LDAP_REG_SYNC_INTERVAL = 738; +PlSqlParser.LEADING = 739; +PlSqlParser.LEFT = 740; +PlSqlParser.LENGTH2 = 741; +PlSqlParser.LENGTH4 = 742; +PlSqlParser.LENGTHB = 743; +PlSqlParser.LENGTHC = 744; +PlSqlParser.LENGTH = 745; +PlSqlParser.LESS = 746; +PlSqlParser.LEVEL = 747; +PlSqlParser.LEVELS = 748; +PlSqlParser.LIBRARY = 749; +PlSqlParser.LIFECYCLE = 750; +PlSqlParser.LIFE = 751; +PlSqlParser.LIFETIME = 752; +PlSqlParser.LIKE2 = 753; +PlSqlParser.LIKE4 = 754; +PlSqlParser.LIKEC = 755; +PlSqlParser.LIKE_EXPAND = 756; +PlSqlParser.LIKE = 757; +PlSqlParser.LIMIT = 758; +PlSqlParser.LINEAR = 759; +PlSqlParser.LINK = 760; +PlSqlParser.LIST = 761; +PlSqlParser.LN = 762; +PlSqlParser.LNNVL = 763; +PlSqlParser.LOAD = 764; +PlSqlParser.LOB = 765; +PlSqlParser.LOBNVL = 766; +PlSqlParser.LOBS = 767; +PlSqlParser.LOCAL_INDEXES = 768; +PlSqlParser.LOCAL = 769; +PlSqlParser.LOCALTIME = 770; +PlSqlParser.LOCALTIMESTAMP = 771; +PlSqlParser.LOCATION = 772; +PlSqlParser.LOCATOR = 773; +PlSqlParser.LOCKED = 774; +PlSqlParser.LOCKING = 775; +PlSqlParser.LOCK = 776; +PlSqlParser.LOGFILE = 777; +PlSqlParser.LOGFILES = 778; +PlSqlParser.LOGGING = 779; +PlSqlParser.LOGICAL = 780; +PlSqlParser.LOGICAL_READS_PER_CALL = 781; +PlSqlParser.LOGICAL_READS_PER_SESSION = 782; +PlSqlParser.LOG = 783; +PlSqlParser.LOGMINING = 784; +PlSqlParser.LOGOFF = 785; +PlSqlParser.LOGON = 786; +PlSqlParser.LOG_READ_ONLY_VIOLATIONS = 787; +PlSqlParser.LONG = 788; +PlSqlParser.LOOP = 789; +PlSqlParser.LOWER = 790; +PlSqlParser.LOW = 791; +PlSqlParser.LPAD = 792; +PlSqlParser.LTRIM = 793; +PlSqlParser.MAIN = 794; +PlSqlParser.MAKE_REF = 795; +PlSqlParser.MANAGED = 796; +PlSqlParser.MANAGE = 797; +PlSqlParser.MANAGEMENT = 798; +PlSqlParser.MANAGER = 799; +PlSqlParser.MANUAL = 800; +PlSqlParser.MAP = 801; +PlSqlParser.MAPPING = 802; +PlSqlParser.MASTER = 803; +PlSqlParser.MATCHED = 804; +PlSqlParser.MATCHES = 805; +PlSqlParser.MATCH = 806; +PlSqlParser.MATCH_NUMBER = 807; +PlSqlParser.MATCH_RECOGNIZE = 808; +PlSqlParser.MATERIALIZED = 809; +PlSqlParser.MATERIALIZE = 810; +PlSqlParser.MAXARCHLOGS = 811; +PlSqlParser.MAXDATAFILES = 812; +PlSqlParser.MAXEXTENTS = 813; +PlSqlParser.MAXIMIZE = 814; +PlSqlParser.MAXINSTANCES = 815; +PlSqlParser.MAXLOGFILES = 816; +PlSqlParser.MAXLOGHISTORY = 817; +PlSqlParser.MAXLOGMEMBERS = 818; +PlSqlParser.MAX_SHARED_TEMP_SIZE = 819; +PlSqlParser.MAXSIZE = 820; +PlSqlParser.MAXTRANS = 821; +PlSqlParser.MAXVALUE = 822; +PlSqlParser.MEASURE = 823; +PlSqlParser.MEASURES = 824; +PlSqlParser.MEDIUM = 825; +PlSqlParser.MEMBER = 826; +PlSqlParser.MEMCOMPRESS = 827; +PlSqlParser.MEMORY = 828; +PlSqlParser.MERGEACTIONS = 829; +PlSqlParser.MERGE_AJ = 830; +PlSqlParser.MERGE_CONST_ON = 831; +PlSqlParser.MERGE = 832; +PlSqlParser.MERGE_SJ = 833; +PlSqlParser.METADATA = 834; +PlSqlParser.METHOD = 835; +PlSqlParser.MIGRATE = 836; +PlSqlParser.MIGRATION = 837; +PlSqlParser.MINEXTENTS = 838; +PlSqlParser.MINIMIZE = 839; +PlSqlParser.MINIMUM = 840; +PlSqlParser.MINING = 841; +PlSqlParser.MINUS = 842; +PlSqlParser.MINUS_NULL = 843; +PlSqlParser.MINUTE = 844; +PlSqlParser.MINVALUE = 845; +PlSqlParser.MIRRORCOLD = 846; +PlSqlParser.MIRRORHOT = 847; +PlSqlParser.MIRROR = 848; +PlSqlParser.MLSLABEL = 849; +PlSqlParser.MODEL_COMPILE_SUBQUERY = 850; +PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS = 851; +PlSqlParser.MODEL_DYNAMIC_SUBQUERY = 852; +PlSqlParser.MODEL_MIN_ANALYSIS = 853; +PlSqlParser.MODEL = 854; +PlSqlParser.MODEL_NB = 855; +PlSqlParser.MODEL_NO_ANALYSIS = 856; +PlSqlParser.MODEL_PBY = 857; +PlSqlParser.MODEL_PUSH_REF = 858; +PlSqlParser.MODEL_SV = 859; +PlSqlParser.MODE = 860; +PlSqlParser.MODIFICATION = 861; +PlSqlParser.MODIFY_COLUMN_TYPE = 862; +PlSqlParser.MODIFY = 863; +PlSqlParser.MOD = 864; +PlSqlParser.MODULE = 865; +PlSqlParser.MONITORING = 866; +PlSqlParser.MONITOR = 867; +PlSqlParser.MONTH = 868; +PlSqlParser.MONTHS_BETWEEN = 869; +PlSqlParser.MONTHS = 870; +PlSqlParser.MOUNT = 871; +PlSqlParser.MOUNTPATH = 872; +PlSqlParser.MOVEMENT = 873; +PlSqlParser.MOVE = 874; +PlSqlParser.MULTIDIMENSIONAL = 875; +PlSqlParser.MULTISET = 876; +PlSqlParser.MV_MERGE = 877; +PlSqlParser.NAMED = 878; +PlSqlParser.NAME = 879; +PlSqlParser.NAMESPACE = 880; +PlSqlParser.NAN = 881; +PlSqlParser.NANVL = 882; +PlSqlParser.NATIONAL = 883; +PlSqlParser.NATIVE_FULL_OUTER_JOIN = 884; +PlSqlParser.NATIVE = 885; +PlSqlParser.NATURAL = 886; +PlSqlParser.NATURALN = 887; +PlSqlParser.NAV = 888; +PlSqlParser.NCHAR_CS = 889; +PlSqlParser.NCHAR = 890; +PlSqlParser.NCHR = 891; +PlSqlParser.NCLOB = 892; +PlSqlParser.NEEDED = 893; +PlSqlParser.NEG = 894; +PlSqlParser.NESTED = 895; +PlSqlParser.NESTED_TABLE_FAST_INSERT = 896; +PlSqlParser.NESTED_TABLE_GET_REFS = 897; +PlSqlParser.NESTED_TABLE_ID = 898; +PlSqlParser.NESTED_TABLE_SET_REFS = 899; +PlSqlParser.NESTED_TABLE_SET_SETID = 900; +PlSqlParser.NETWORK = 901; +PlSqlParser.NEVER = 902; +PlSqlParser.NEW = 903; +PlSqlParser.NEW_TIME = 904; +PlSqlParser.NEXT_DAY = 905; +PlSqlParser.NEXT = 906; +PlSqlParser.NL_AJ = 907; +PlSqlParser.NLJ_BATCHING = 908; +PlSqlParser.NLJ_INDEX_FILTER = 909; +PlSqlParser.NLJ_INDEX_SCAN = 910; +PlSqlParser.NLJ_PREFETCH = 911; +PlSqlParser.NLS_CALENDAR = 912; +PlSqlParser.NLS_CHARACTERSET = 913; +PlSqlParser.NLS_CHARSET_DECL_LEN = 914; +PlSqlParser.NLS_CHARSET_ID = 915; +PlSqlParser.NLS_CHARSET_NAME = 916; +PlSqlParser.NLS_COMP = 917; +PlSqlParser.NLS_CURRENCY = 918; +PlSqlParser.NLS_DATE_FORMAT = 919; +PlSqlParser.NLS_DATE_LANGUAGE = 920; +PlSqlParser.NLS_INITCAP = 921; +PlSqlParser.NLS_ISO_CURRENCY = 922; +PlSqlParser.NL_SJ = 923; +PlSqlParser.NLS_LANG = 924; +PlSqlParser.NLS_LANGUAGE = 925; +PlSqlParser.NLS_LENGTH_SEMANTICS = 926; +PlSqlParser.NLS_LOWER = 927; +PlSqlParser.NLS_NCHAR_CONV_EXCP = 928; +PlSqlParser.NLS_NUMERIC_CHARACTERS = 929; +PlSqlParser.NLS_SORT = 930; +PlSqlParser.NLSSORT = 931; +PlSqlParser.NLS_SPECIAL_CHARS = 932; +PlSqlParser.NLS_TERRITORY = 933; +PlSqlParser.NLS_UPPER = 934; +PlSqlParser.NO_ACCESS = 935; +PlSqlParser.NO_ADAPTIVE_PLAN = 936; +PlSqlParser.NO_ANSI_REARCH = 937; +PlSqlParser.NOAPPEND = 938; +PlSqlParser.NOARCHIVELOG = 939; +PlSqlParser.NOAUDIT = 940; +PlSqlParser.NO_AUTO_REOPTIMIZE = 941; +PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE = 942; +PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID = 943; +PlSqlParser.NO_BIND_AWARE = 944; +PlSqlParser.NO_BUFFER = 945; +PlSqlParser.NOCACHE = 946; +PlSqlParser.NO_CARTESIAN = 947; +PlSqlParser.NO_CHECK_ACL_REWRITE = 948; +PlSqlParser.NO_CLUSTER_BY_ROWID = 949; +PlSqlParser.NO_CLUSTERING = 950; +PlSqlParser.NO_COALESCE_SQ = 951; +PlSqlParser.NO_COMMON_DATA = 952; +PlSqlParser.NOCOMPRESS = 953; +PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY = 954; +PlSqlParser.NO_CONNECT_BY_COMBINE_SW = 955; +PlSqlParser.NO_CONNECT_BY_COST_BASED = 956; +PlSqlParser.NO_CONNECT_BY_ELIM_DUPS = 957; +PlSqlParser.NO_CONNECT_BY_FILTERING = 958; +PlSqlParser.NOCOPY = 959; +PlSqlParser.NO_COST_XML_QUERY_REWRITE = 960; +PlSqlParser.NO_CPU_COSTING = 961; +PlSqlParser.NOCPU_COSTING = 962; +PlSqlParser.NOCYCLE = 963; +PlSqlParser.NO_DATA_SECURITY_REWRITE = 964; +PlSqlParser.NO_DECORRELATE = 965; +PlSqlParser.NODELAY = 966; +PlSqlParser.NO_DOMAIN_INDEX_FILTER = 967; +PlSqlParser.NO_DST_UPGRADE_INSERT_CONV = 968; +PlSqlParser.NO_ELIM_GROUPBY = 969; +PlSqlParser.NO_ELIMINATE_JOIN = 970; +PlSqlParser.NO_ELIMINATE_OBY = 971; +PlSqlParser.NO_ELIMINATE_OUTER_JOIN = 972; +PlSqlParser.NOENTITYESCAPING = 973; +PlSqlParser.NO_EXPAND_GSET_TO_UNION = 974; +PlSqlParser.NO_EXPAND = 975; +PlSqlParser.NO_EXPAND_TABLE = 976; +PlSqlParser.NO_FACT = 977; +PlSqlParser.NO_FACTORIZE_JOIN = 978; +PlSqlParser.NO_FILTERING = 979; +PlSqlParser.NOFORCE = 980; +PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER = 981; +PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS = 982; +PlSqlParser.NO_GBY_PUSHDOWN = 983; +PlSqlParser.NOGUARANTEE = 984; +PlSqlParser.NO_INDEX_FFS = 985; +PlSqlParser.NO_INDEX = 986; +PlSqlParser.NO_INDEX_SS = 987; +PlSqlParser.NO_INMEMORY = 988; +PlSqlParser.NO_INMEMORY_PRUNING = 989; +PlSqlParser.NOKEEP = 990; +PlSqlParser.NO_LOAD = 991; +PlSqlParser.NOLOCAL = 992; +PlSqlParser.NOLOGGING = 993; +PlSqlParser.NOMAPPING = 994; +PlSqlParser.NOMAXVALUE = 995; +PlSqlParser.NO_MERGE = 996; +PlSqlParser.NOMINIMIZE = 997; +PlSqlParser.NOMINVALUE = 998; +PlSqlParser.NO_MODEL_PUSH_REF = 999; +PlSqlParser.NO_MONITORING = 1000; +PlSqlParser.NOMONITORING = 1001; +PlSqlParser.NO_MONITOR = 1002; +PlSqlParser.NO_MULTIMV_REWRITE = 1003; +PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN = 1004; +PlSqlParser.NONBLOCKING = 1005; +PlSqlParser.NONEDITIONABLE = 1006; +PlSqlParser.NONE = 1007; +PlSqlParser.NO_NLJ_BATCHING = 1008; +PlSqlParser.NO_NLJ_PREFETCH = 1009; +PlSqlParser.NO = 1010; +PlSqlParser.NONSCHEMA = 1011; +PlSqlParser.NO_OBJECT_LINK = 1012; +PlSqlParser.NOORDER = 1013; +PlSqlParser.NO_ORDER_ROLLUPS = 1014; +PlSqlParser.NO_OUTER_JOIN_TO_ANTI = 1015; +PlSqlParser.NO_OUTER_JOIN_TO_INNER = 1016; +PlSqlParser.NOOVERRIDE = 1017; +PlSqlParser.NO_PARALLEL_INDEX = 1018; +PlSqlParser.NOPARALLEL_INDEX = 1019; +PlSqlParser.NO_PARALLEL = 1020; +PlSqlParser.NOPARALLEL = 1021; +PlSqlParser.NO_PARTIAL_COMMIT = 1022; +PlSqlParser.NO_PARTIAL_JOIN = 1023; +PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN = 1024; +PlSqlParser.NOPARTITION = 1025; +PlSqlParser.NO_PLACE_DISTINCT = 1026; +PlSqlParser.NO_PLACE_GROUP_BY = 1027; +PlSqlParser.NO_PQ_CONCURRENT_UNION = 1028; +PlSqlParser.NO_PQ_MAP = 1029; +PlSqlParser.NO_PQ_REPLICATE = 1030; +PlSqlParser.NO_PQ_SKEW = 1031; +PlSqlParser.NO_PRUNE_GSETS = 1032; +PlSqlParser.NO_PULL_PRED = 1033; +PlSqlParser.NO_PUSH_PRED = 1034; +PlSqlParser.NO_PUSH_SUBQ = 1035; +PlSqlParser.NO_PX_FAULT_TOLERANCE = 1036; +PlSqlParser.NO_PX_JOIN_FILTER = 1037; +PlSqlParser.NO_QKN_BUFF = 1038; +PlSqlParser.NO_QUERY_TRANSFORMATION = 1039; +PlSqlParser.NO_REF_CASCADE = 1040; +PlSqlParser.NORELOCATE = 1041; +PlSqlParser.NORELY = 1042; +PlSqlParser.NOREPAIR = 1043; +PlSqlParser.NOREPLAY = 1044; +PlSqlParser.NORESETLOGS = 1045; +PlSqlParser.NO_RESULT_CACHE = 1046; +PlSqlParser.NOREVERSE = 1047; +PlSqlParser.NO_REWRITE = 1048; +PlSqlParser.NOREWRITE = 1049; +PlSqlParser.NORMAL = 1050; +PlSqlParser.NO_ROOT_SW_FOR_LOCAL = 1051; +PlSqlParser.NOROWDEPENDENCIES = 1052; +PlSqlParser.NOSCHEMACHECK = 1053; +PlSqlParser.NOSEGMENT = 1054; +PlSqlParser.NO_SEMIJOIN = 1055; +PlSqlParser.NO_SEMI_TO_INNER = 1056; +PlSqlParser.NO_SET_TO_JOIN = 1057; +PlSqlParser.NOSORT = 1058; +PlSqlParser.NO_SQL_TRANSLATION = 1059; +PlSqlParser.NO_SQL_TUNE = 1060; +PlSqlParser.NO_STAR_TRANSFORMATION = 1061; +PlSqlParser.NO_STATEMENT_QUEUING = 1062; +PlSqlParser.NO_STATS_GSETS = 1063; +PlSqlParser.NOSTRICT = 1064; +PlSqlParser.NO_SUBQUERY_PRUNING = 1065; +PlSqlParser.NO_SUBSTRB_PAD = 1066; +PlSqlParser.NO_SWAP_JOIN_INPUTS = 1067; +PlSqlParser.NOSWITCH = 1068; +PlSqlParser.NO_TABLE_LOOKUP_BY_NL = 1069; +PlSqlParser.NO_TEMP_TABLE = 1070; +PlSqlParser.NOTHING = 1071; +PlSqlParser.NOTIFICATION = 1072; +PlSqlParser.NOT = 1073; +PlSqlParser.NO_TRANSFORM_DISTINCT_AGG = 1074; +PlSqlParser.NO_UNNEST = 1075; +PlSqlParser.NO_USE_CUBE = 1076; +PlSqlParser.NO_USE_HASH_AGGREGATION = 1077; +PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN = 1078; +PlSqlParser.NO_USE_HASH = 1079; +PlSqlParser.NO_USE_INVISIBLE_INDEXES = 1080; +PlSqlParser.NO_USE_MERGE = 1081; +PlSqlParser.NO_USE_NL = 1082; +PlSqlParser.NO_USE_VECTOR_AGGREGATION = 1083; +PlSqlParser.NOVALIDATE = 1084; +PlSqlParser.NO_VECTOR_TRANSFORM_DIMS = 1085; +PlSqlParser.NO_VECTOR_TRANSFORM_FACT = 1086; +PlSqlParser.NO_VECTOR_TRANSFORM = 1087; +PlSqlParser.NOWAIT = 1088; +PlSqlParser.NO_XDB_FASTPATH_INSERT = 1089; +PlSqlParser.NO_XML_DML_REWRITE = 1090; +PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT = 1091; +PlSqlParser.NO_XMLINDEX_REWRITE = 1092; +PlSqlParser.NO_XML_QUERY_REWRITE = 1093; +PlSqlParser.NO_ZONEMAP = 1094; +PlSqlParser.NTH_VALUE = 1095; +PlSqlParser.NULLIF = 1096; +PlSqlParser.NULL_ = 1097; +PlSqlParser.NULLS = 1098; +PlSqlParser.NUMBER = 1099; +PlSqlParser.NUMERIC = 1100; +PlSqlParser.NUM_INDEX_KEYS = 1101; +PlSqlParser.NUMTODSINTERVAL = 1102; +PlSqlParser.NUMTOYMINTERVAL = 1103; +PlSqlParser.NVARCHAR2 = 1104; +PlSqlParser.NVL2 = 1105; +PlSqlParser.OBJECT2XML = 1106; +PlSqlParser.OBJECT = 1107; +PlSqlParser.OBJ_ID = 1108; +PlSqlParser.OBJNO = 1109; +PlSqlParser.OBJNO_REUSE = 1110; +PlSqlParser.OCCURENCES = 1111; +PlSqlParser.OFFLINE = 1112; +PlSqlParser.OFF = 1113; +PlSqlParser.OFFSET = 1114; +PlSqlParser.OF = 1115; +PlSqlParser.OIDINDEX = 1116; +PlSqlParser.OID = 1117; +PlSqlParser.OLAP = 1118; +PlSqlParser.OLD = 1119; +PlSqlParser.OLD_PUSH_PRED = 1120; +PlSqlParser.OLS = 1121; +PlSqlParser.OLTP = 1122; +PlSqlParser.OMIT = 1123; +PlSqlParser.ONE = 1124; +PlSqlParser.ONLINE = 1125; +PlSqlParser.ONLINELOG = 1126; +PlSqlParser.ONLY = 1127; +PlSqlParser.ON = 1128; +PlSqlParser.OPAQUE = 1129; +PlSqlParser.OPAQUE_TRANSFORM = 1130; +PlSqlParser.OPAQUE_XCANONICAL = 1131; +PlSqlParser.OPCODE = 1132; +PlSqlParser.OPEN = 1133; +PlSqlParser.OPERATIONS = 1134; +PlSqlParser.OPERATOR = 1135; +PlSqlParser.OPT_ESTIMATE = 1136; +PlSqlParser.OPTIMAL = 1137; +PlSqlParser.OPTIMIZE = 1138; +PlSqlParser.OPTIMIZER_FEATURES_ENABLE = 1139; +PlSqlParser.OPTIMIZER_GOAL = 1140; +PlSqlParser.OPTION = 1141; +PlSqlParser.OPT_PARAM = 1142; +PlSqlParser.ORA_BRANCH = 1143; +PlSqlParser.ORA_CHECK_ACL = 1144; +PlSqlParser.ORA_CHECK_PRIVILEGE = 1145; +PlSqlParser.ORA_CLUSTERING = 1146; +PlSqlParser.ORADATA = 1147; +PlSqlParser.ORADEBUG = 1148; +PlSqlParser.ORA_DST_AFFECTED = 1149; +PlSqlParser.ORA_DST_CONVERT = 1150; +PlSqlParser.ORA_DST_ERROR = 1151; +PlSqlParser.ORA_GET_ACLIDS = 1152; +PlSqlParser.ORA_GET_PRIVILEGES = 1153; +PlSqlParser.ORA_HASH = 1154; +PlSqlParser.ORA_INVOKING_USERID = 1155; +PlSqlParser.ORA_INVOKING_USER = 1156; +PlSqlParser.ORA_INVOKING_XS_USER_GUID = 1157; +PlSqlParser.ORA_INVOKING_XS_USER = 1158; +PlSqlParser.ORA_RAWCOMPARE = 1159; +PlSqlParser.ORA_RAWCONCAT = 1160; +PlSqlParser.ORA_ROWSCN = 1161; +PlSqlParser.ORA_ROWSCN_RAW = 1162; +PlSqlParser.ORA_ROWVERSION = 1163; +PlSqlParser.ORA_TABVERSION = 1164; +PlSqlParser.ORA_WRITE_TIME = 1165; +PlSqlParser.ORDERED = 1166; +PlSqlParser.ORDERED_PREDICATES = 1167; +PlSqlParser.ORDER = 1168; +PlSqlParser.ORDINALITY = 1169; +PlSqlParser.OR_EXPAND = 1170; +PlSqlParser.ORGANIZATION = 1171; +PlSqlParser.OR = 1172; +PlSqlParser.OR_PREDICATES = 1173; +PlSqlParser.OSERROR = 1174; +PlSqlParser.OTHER = 1175; +PlSqlParser.OUTER_JOIN_TO_ANTI = 1176; +PlSqlParser.OUTER_JOIN_TO_INNER = 1177; +PlSqlParser.OUTER = 1178; +PlSqlParser.OUTLINE_LEAF = 1179; +PlSqlParser.OUTLINE = 1180; +PlSqlParser.OUT_OF_LINE = 1181; +PlSqlParser.OUT = 1182; +PlSqlParser.OVERFLOW_NOMOVE = 1183; +PlSqlParser.OVERFLOW = 1184; +PlSqlParser.OVERLAPS = 1185; +PlSqlParser.OVER = 1186; +PlSqlParser.OVERRIDING = 1187; +PlSqlParser.OWNER = 1188; +PlSqlParser.OWNERSHIP = 1189; +PlSqlParser.OWN = 1190; +PlSqlParser.PACKAGE = 1191; +PlSqlParser.PACKAGES = 1192; +PlSqlParser.PARALLEL_ENABLE = 1193; +PlSqlParser.PARALLEL_INDEX = 1194; +PlSqlParser.PARALLEL = 1195; +PlSqlParser.PARAMETERFILE = 1196; +PlSqlParser.PARAMETERS = 1197; +PlSqlParser.PARAM = 1198; +PlSqlParser.PARENT = 1199; +PlSqlParser.PARITY = 1200; +PlSqlParser.PARTIAL_JOIN = 1201; +PlSqlParser.PARTIALLY = 1202; +PlSqlParser.PARTIAL = 1203; +PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN = 1204; +PlSqlParser.PARTITION_HASH = 1205; +PlSqlParser.PARTITION_LIST = 1206; +PlSqlParser.PARTITION = 1207; +PlSqlParser.PARTITION_RANGE = 1208; +PlSqlParser.PARTITIONS = 1209; +PlSqlParser.PARTNUMINST = 1210; +PlSqlParser.PASSING = 1211; +PlSqlParser.PASSWORD_GRACE_TIME = 1212; +PlSqlParser.PASSWORD_LIFE_TIME = 1213; +PlSqlParser.PASSWORD_LOCK_TIME = 1214; +PlSqlParser.PASSWORD = 1215; +PlSqlParser.PASSWORD_REUSE_MAX = 1216; +PlSqlParser.PASSWORD_REUSE_TIME = 1217; +PlSqlParser.PASSWORD_VERIFY_FUNCTION = 1218; +PlSqlParser.PAST = 1219; +PlSqlParser.PATCH = 1220; +PlSqlParser.PATH = 1221; +PlSqlParser.PATH_PREFIX = 1222; +PlSqlParser.PATHS = 1223; +PlSqlParser.PATTERN = 1224; +PlSqlParser.PBL_HS_BEGIN = 1225; +PlSqlParser.PBL_HS_END = 1226; +PlSqlParser.PCTFREE = 1227; +PlSqlParser.PCTINCREASE = 1228; +PlSqlParser.PCTTHRESHOLD = 1229; +PlSqlParser.PCTUSED = 1230; +PlSqlParser.PCTVERSION = 1231; +PlSqlParser.PENDING = 1232; +PlSqlParser.PERCENT_FOUND = 1233; +PlSqlParser.PERCENT_ISOPEN = 1234; +PlSqlParser.PERCENT_NOTFOUND = 1235; +PlSqlParser.PERCENT_KEYWORD = 1236; +PlSqlParser.PERCENT_RANKM = 1237; +PlSqlParser.PERCENT_ROWCOUNT = 1238; +PlSqlParser.PERCENT_ROWTYPE = 1239; +PlSqlParser.PERCENT_TYPE = 1240; +PlSqlParser.PERFORMANCE = 1241; +PlSqlParser.PERIOD_KEYWORD = 1242; +PlSqlParser.PERMANENT = 1243; +PlSqlParser.PERMISSION = 1244; +PlSqlParser.PERMUTE = 1245; +PlSqlParser.PER = 1246; +PlSqlParser.PFILE = 1247; +PlSqlParser.PHYSICAL = 1248; +PlSqlParser.PIKEY = 1249; +PlSqlParser.PIPELINED = 1250; +PlSqlParser.PIPE = 1251; +PlSqlParser.PIV_GB = 1252; +PlSqlParser.PIVOT = 1253; +PlSqlParser.PIV_SSF = 1254; +PlSqlParser.PLACE_DISTINCT = 1255; +PlSqlParser.PLACE_GROUP_BY = 1256; +PlSqlParser.PLAN = 1257; +PlSqlParser.PLSCOPE_SETTINGS = 1258; +PlSqlParser.PLS_INTEGER = 1259; +PlSqlParser.PLSQL_CCFLAGS = 1260; +PlSqlParser.PLSQL_CODE_TYPE = 1261; +PlSqlParser.PLSQL_DEBUG = 1262; +PlSqlParser.PLSQL_OPTIMIZE_LEVEL = 1263; +PlSqlParser.PLSQL_WARNINGS = 1264; +PlSqlParser.PLUGGABLE = 1265; +PlSqlParser.POINT = 1266; +PlSqlParser.POLICY = 1267; +PlSqlParser.POOL_16K = 1268; +PlSqlParser.POOL_2K = 1269; +PlSqlParser.POOL_32K = 1270; +PlSqlParser.POOL_4K = 1271; +PlSqlParser.POOL_8K = 1272; +PlSqlParser.POSITIVEN = 1273; +PlSqlParser.POSITIVE = 1274; +PlSqlParser.POST_TRANSACTION = 1275; +PlSqlParser.POWERMULTISET_BY_CARDINALITY = 1276; +PlSqlParser.POWERMULTISET = 1277; +PlSqlParser.POWER = 1278; +PlSqlParser.PQ_CONCURRENT_UNION = 1279; +PlSqlParser.PQ_DISTRIBUTE = 1280; +PlSqlParser.PQ_DISTRIBUTE_WINDOW = 1281; +PlSqlParser.PQ_FILTER = 1282; +PlSqlParser.PQ_MAP = 1283; +PlSqlParser.PQ_NOMAP = 1284; +PlSqlParser.PQ_REPLICATE = 1285; +PlSqlParser.PQ_SKEW = 1286; +PlSqlParser.PRAGMA = 1287; +PlSqlParser.PREBUILT = 1288; +PlSqlParser.PRECEDES = 1289; +PlSqlParser.PRECEDING = 1290; +PlSqlParser.PRECISION = 1291; +PlSqlParser.PRECOMPUTE_SUBQUERY = 1292; +PlSqlParser.PREDICATE_REORDERS = 1293; +PlSqlParser.PRELOAD = 1294; +PlSqlParser.PREPARE = 1295; +PlSqlParser.PRESENTNNV = 1296; +PlSqlParser.PRESENT = 1297; +PlSqlParser.PRESENTV = 1298; +PlSqlParser.PRESERVE_OID = 1299; +PlSqlParser.PRESERVE = 1300; +PlSqlParser.PRETTY = 1301; +PlSqlParser.PREVIOUS = 1302; +PlSqlParser.PREV = 1303; +PlSqlParser.PRIMARY = 1304; +PlSqlParser.PRINTBLOBTOCLOB = 1305; +PlSqlParser.PRIORITY = 1306; +PlSqlParser.PRIOR = 1307; +PlSqlParser.PRIVATE = 1308; +PlSqlParser.PRIVATE_SGA = 1309; +PlSqlParser.PRIVILEGED = 1310; +PlSqlParser.PRIVILEGE = 1311; +PlSqlParser.PRIVILEGES = 1312; +PlSqlParser.PROCEDURAL = 1313; +PlSqlParser.PROCEDURE = 1314; +PlSqlParser.PROCESS = 1315; +PlSqlParser.PROFILE = 1316; +PlSqlParser.PROGRAM = 1317; +PlSqlParser.PROJECT = 1318; +PlSqlParser.PROPAGATE = 1319; +PlSqlParser.PROTECTED = 1320; +PlSqlParser.PROTECTION = 1321; +PlSqlParser.PROXY = 1322; +PlSqlParser.PRUNING = 1323; +PlSqlParser.PUBLIC = 1324; +PlSqlParser.PULL_PRED = 1325; +PlSqlParser.PURGE = 1326; +PlSqlParser.PUSH_PRED = 1327; +PlSqlParser.PUSH_SUBQ = 1328; +PlSqlParser.PX_FAULT_TOLERANCE = 1329; +PlSqlParser.PX_GRANULE = 1330; +PlSqlParser.PX_JOIN_FILTER = 1331; +PlSqlParser.QB_NAME = 1332; +PlSqlParser.QUERY_BLOCK = 1333; +PlSqlParser.QUERY = 1334; +PlSqlParser.QUEUE_CURR = 1335; +PlSqlParser.QUEUE = 1336; +PlSqlParser.QUEUE_ROWP = 1337; +PlSqlParser.QUIESCE = 1338; +PlSqlParser.QUORUM = 1339; +PlSqlParser.QUOTA = 1340; +PlSqlParser.RAISE = 1341; +PlSqlParser.RANDOM_LOCAL = 1342; +PlSqlParser.RANDOM = 1343; +PlSqlParser.RANGE = 1344; +PlSqlParser.RANKM = 1345; +PlSqlParser.RAPIDLY = 1346; +PlSqlParser.RAW = 1347; +PlSqlParser.RAWTOHEX = 1348; +PlSqlParser.RAWTONHEX = 1349; +PlSqlParser.RBA = 1350; +PlSqlParser.RBO_OUTLINE = 1351; +PlSqlParser.RDBA = 1352; +PlSqlParser.READ = 1353; +PlSqlParser.READS = 1354; +PlSqlParser.REALM = 1355; +PlSqlParser.REAL = 1356; +PlSqlParser.REBALANCE = 1357; +PlSqlParser.REBUILD = 1358; +PlSqlParser.RECORD = 1359; +PlSqlParser.RECORDS_PER_BLOCK = 1360; +PlSqlParser.RECOVERABLE = 1361; +PlSqlParser.RECOVER = 1362; +PlSqlParser.RECOVERY = 1363; +PlSqlParser.RECYCLEBIN = 1364; +PlSqlParser.RECYCLE = 1365; +PlSqlParser.REDACTION = 1366; +PlSqlParser.REDEFINE = 1367; +PlSqlParser.REDO = 1368; +PlSqlParser.REDUCED = 1369; +PlSqlParser.REDUNDANCY = 1370; +PlSqlParser.REF_CASCADE_CURSOR = 1371; +PlSqlParser.REFERENCED = 1372; +PlSqlParser.REFERENCE = 1373; +PlSqlParser.REFERENCES = 1374; +PlSqlParser.REFERENCING = 1375; +PlSqlParser.REF = 1376; +PlSqlParser.REFRESH = 1377; +PlSqlParser.REFTOHEX = 1378; +PlSqlParser.REGEXP_COUNT = 1379; +PlSqlParser.REGEXP_INSTR = 1380; +PlSqlParser.REGEXP_LIKE = 1381; +PlSqlParser.REGEXP_REPLACE = 1382; +PlSqlParser.REGEXP_SUBSTR = 1383; +PlSqlParser.REGISTER = 1384; +PlSqlParser.REGR_AVGX = 1385; +PlSqlParser.REGR_AVGY = 1386; +PlSqlParser.REGR_COUNT = 1387; +PlSqlParser.REGR_INTERCEPT = 1388; +PlSqlParser.REGR_R2 = 1389; +PlSqlParser.REGR_SLOPE = 1390; +PlSqlParser.REGR_SXX = 1391; +PlSqlParser.REGR_SXY = 1392; +PlSqlParser.REGR_SYY = 1393; +PlSqlParser.REGULAR = 1394; +PlSqlParser.REJECT = 1395; +PlSqlParser.REKEY = 1396; +PlSqlParser.RELATIONAL = 1397; +PlSqlParser.RELIES_ON = 1398; +PlSqlParser.RELOCATE = 1399; +PlSqlParser.RELY = 1400; +PlSqlParser.REMAINDER = 1401; +PlSqlParser.REMOTE_MAPPED = 1402; +PlSqlParser.REMOVE = 1403; +PlSqlParser.RENAME = 1404; +PlSqlParser.REPAIR = 1405; +PlSqlParser.REPEAT = 1406; +PlSqlParser.REPLACE = 1407; +PlSqlParser.REPLICATION = 1408; +PlSqlParser.REQUIRED = 1409; +PlSqlParser.RESETLOGS = 1410; +PlSqlParser.RESET = 1411; +PlSqlParser.RESIZE = 1412; +PlSqlParser.RESOLVE = 1413; +PlSqlParser.RESOLVER = 1414; +PlSqlParser.RESOURCE = 1415; +PlSqlParser.RESPECT = 1416; +PlSqlParser.RESTART = 1417; +PlSqlParser.RESTORE_AS_INTERVALS = 1418; +PlSqlParser.RESTORE = 1419; +PlSqlParser.RESTRICT_ALL_REF_CONS = 1420; +PlSqlParser.RESTRICTED = 1421; +PlSqlParser.RESTRICT_REFERENCES = 1422; +PlSqlParser.RESTRICT = 1423; +PlSqlParser.RESULT_CACHE = 1424; +PlSqlParser.RESULT = 1425; +PlSqlParser.RESUMABLE = 1426; +PlSqlParser.RESUME = 1427; +PlSqlParser.RETENTION = 1428; +PlSqlParser.RETRY_ON_ROW_CHANGE = 1429; +PlSqlParser.RETURNING = 1430; +PlSqlParser.RETURN = 1431; +PlSqlParser.REUSE = 1432; +PlSqlParser.REVERSE = 1433; +PlSqlParser.REVOKE = 1434; +PlSqlParser.REWRITE_OR_ERROR = 1435; +PlSqlParser.REWRITE = 1436; +PlSqlParser.RIGHT = 1437; +PlSqlParser.ROLE = 1438; +PlSqlParser.ROLESET = 1439; +PlSqlParser.ROLES = 1440; +PlSqlParser.ROLLBACK = 1441; +PlSqlParser.ROLLING = 1442; +PlSqlParser.ROLLUP = 1443; +PlSqlParser.ROWDEPENDENCIES = 1444; +PlSqlParser.ROWID_MAPPING_TABLE = 1445; +PlSqlParser.ROWID = 1446; +PlSqlParser.ROWIDTOCHAR = 1447; +PlSqlParser.ROWIDTONCHAR = 1448; +PlSqlParser.ROW_LENGTH = 1449; +PlSqlParser.ROWNUM = 1450; +PlSqlParser.ROW = 1451; +PlSqlParser.ROWS = 1452; +PlSqlParser.RPAD = 1453; +PlSqlParser.RTRIM = 1454; +PlSqlParser.RULE = 1455; +PlSqlParser.RULES = 1456; +PlSqlParser.RUNNING = 1457; +PlSqlParser.SALT = 1458; +PlSqlParser.SAMPLE = 1459; +PlSqlParser.SAVE_AS_INTERVALS = 1460; +PlSqlParser.SAVEPOINT = 1461; +PlSqlParser.SAVE = 1462; +PlSqlParser.SB4 = 1463; +PlSqlParser.SCALE_ROWS = 1464; +PlSqlParser.SCALE = 1465; +PlSqlParser.SCAN_INSTANCES = 1466; +PlSqlParser.SCAN = 1467; +PlSqlParser.SCHEDULER = 1468; +PlSqlParser.SCHEMACHECK = 1469; +PlSqlParser.SCHEMA = 1470; +PlSqlParser.SCN_ASCENDING = 1471; +PlSqlParser.SCN = 1472; +PlSqlParser.SCOPE = 1473; +PlSqlParser.SCRUB = 1474; +PlSqlParser.SD_ALL = 1475; +PlSqlParser.SD_INHIBIT = 1476; +PlSqlParser.SDO_GEOM_MBR = 1477; +PlSqlParser.SD_SHOW = 1478; +PlSqlParser.SEARCH = 1479; +PlSqlParser.SECOND = 1480; +PlSqlParser.SECRET = 1481; +PlSqlParser.SECUREFILE_DBA = 1482; +PlSqlParser.SECUREFILE = 1483; +PlSqlParser.SECURITY = 1484; +PlSqlParser.SEED = 1485; +PlSqlParser.SEG_BLOCK = 1486; +PlSqlParser.SEG_FILE = 1487; +PlSqlParser.SEGMENT = 1488; +PlSqlParser.SELECTIVITY = 1489; +PlSqlParser.SELECT = 1490; +PlSqlParser.SELF = 1491; +PlSqlParser.SEMIJOIN_DRIVER = 1492; +PlSqlParser.SEMIJOIN = 1493; +PlSqlParser.SEMI_TO_INNER = 1494; +PlSqlParser.SEQUENCED = 1495; +PlSqlParser.SEQUENCE = 1496; +PlSqlParser.SEQUENTIAL = 1497; +PlSqlParser.SEQ = 1498; +PlSqlParser.SERIALIZABLE = 1499; +PlSqlParser.SERIALLY_REUSABLE = 1500; +PlSqlParser.SERIAL = 1501; +PlSqlParser.SERVERERROR = 1502; +PlSqlParser.SERVICE_NAME_CONVERT = 1503; +PlSqlParser.SERVICES = 1504; +PlSqlParser.SESSION_CACHED_CURSORS = 1505; +PlSqlParser.SESSION = 1506; +PlSqlParser.SESSIONS_PER_USER = 1507; +PlSqlParser.SESSIONTIMEZONE = 1508; +PlSqlParser.SESSIONTZNAME = 1509; +PlSqlParser.SET = 1510; +PlSqlParser.SETS = 1511; +PlSqlParser.SETTINGS = 1512; +PlSqlParser.SET_TO_JOIN = 1513; +PlSqlParser.SEVERE = 1514; +PlSqlParser.SHARED_POOL = 1515; +PlSqlParser.SHARED = 1516; +PlSqlParser.SHARE = 1517; +PlSqlParser.SHARING = 1518; +PlSqlParser.SHELFLIFE = 1519; +PlSqlParser.SHOW = 1520; +PlSqlParser.SHRINK = 1521; +PlSqlParser.SHUTDOWN = 1522; +PlSqlParser.SIBLINGS = 1523; +PlSqlParser.SID = 1524; +PlSqlParser.SIGNAL_COMPONENT = 1525; +PlSqlParser.SIGNAL_FUNCTION = 1526; +PlSqlParser.SIGN = 1527; +PlSqlParser.SIGNTYPE = 1528; +PlSqlParser.SIMPLE_INTEGER = 1529; +PlSqlParser.SIMPLE = 1530; +PlSqlParser.SINGLE = 1531; +PlSqlParser.SINGLETASK = 1532; +PlSqlParser.SINH = 1533; +PlSqlParser.SIN = 1534; +PlSqlParser.SIZE = 1535; +PlSqlParser.SKIP_EXT_OPTIMIZER = 1536; +PlSqlParser.SKIP_ = 1537; +PlSqlParser.SKIP_UNQ_UNUSABLE_IDX = 1538; +PlSqlParser.SKIP_UNUSABLE_INDEXES = 1539; +PlSqlParser.SMALLFILE = 1540; +PlSqlParser.SMALLINT = 1541; +PlSqlParser.SNAPSHOT = 1542; +PlSqlParser.SOME = 1543; +PlSqlParser.SORT = 1544; +PlSqlParser.SOUNDEX = 1545; +PlSqlParser.SOURCE_FILE_DIRECTORY = 1546; +PlSqlParser.SOURCE_FILE_NAME_CONVERT = 1547; +PlSqlParser.SOURCE = 1548; +PlSqlParser.SPACE_KEYWORD = 1549; +PlSqlParser.SPECIFICATION = 1550; +PlSqlParser.SPFILE = 1551; +PlSqlParser.SPLIT = 1552; +PlSqlParser.SPREADSHEET = 1553; +PlSqlParser.SQLDATA = 1554; +PlSqlParser.SQLERROR = 1555; +PlSqlParser.SQLLDR = 1556; +PlSqlParser.SQL = 1557; +PlSqlParser.SQL_TRACE = 1558; +PlSqlParser.SQL_TRANSLATION_PROFILE = 1559; +PlSqlParser.SQRT = 1560; +PlSqlParser.STALE = 1561; +PlSqlParser.STANDALONE = 1562; +PlSqlParser.STANDARD_HASH = 1563; +PlSqlParser.STANDBY_MAX_DATA_DELAY = 1564; +PlSqlParser.STANDBYS = 1565; +PlSqlParser.STANDBY = 1566; +PlSqlParser.STAR = 1567; +PlSqlParser.STAR_TRANSFORMATION = 1568; +PlSqlParser.START = 1569; +PlSqlParser.STARTUP = 1570; +PlSqlParser.STATEMENT_ID = 1571; +PlSqlParser.STATEMENT_QUEUING = 1572; +PlSqlParser.STATEMENTS = 1573; +PlSqlParser.STATEMENT = 1574; +PlSqlParser.STATE = 1575; +PlSqlParser.STATIC = 1576; +PlSqlParser.STATISTICS = 1577; +PlSqlParser.STATS_BINOMIAL_TEST = 1578; +PlSqlParser.STATS_CROSSTAB = 1579; +PlSqlParser.STATS_F_TEST = 1580; +PlSqlParser.STATS_KS_TEST = 1581; +PlSqlParser.STATS_MODE = 1582; +PlSqlParser.STATS_MW_TEST = 1583; +PlSqlParser.STATS_ONE_WAY_ANOVA = 1584; +PlSqlParser.STATS_T_TEST_INDEP = 1585; +PlSqlParser.STATS_T_TEST_INDEPU = 1586; +PlSqlParser.STATS_T_TEST_ONE = 1587; +PlSqlParser.STATS_T_TEST_PAIRED = 1588; +PlSqlParser.STATS_WSR_TEST = 1589; +PlSqlParser.STDDEV_POP = 1590; +PlSqlParser.STDDEV_SAMP = 1591; +PlSqlParser.STOP = 1592; +PlSqlParser.STORAGE = 1593; +PlSqlParser.STORE = 1594; +PlSqlParser.STREAMS = 1595; +PlSqlParser.STREAM = 1596; +PlSqlParser.STRICT = 1597; +PlSqlParser.STRING = 1598; +PlSqlParser.STRIPE_COLUMNS = 1599; +PlSqlParser.STRIPE_WIDTH = 1600; +PlSqlParser.STRIP = 1601; +PlSqlParser.STRUCTURE = 1602; +PlSqlParser.SUBMULTISET = 1603; +PlSqlParser.SUBPARTITION_REL = 1604; +PlSqlParser.SUBPARTITIONS = 1605; +PlSqlParser.SUBPARTITION = 1606; +PlSqlParser.SUBQUERIES = 1607; +PlSqlParser.SUBQUERY_PRUNING = 1608; +PlSqlParser.SUBSCRIBE = 1609; +PlSqlParser.SUBSET = 1610; +PlSqlParser.SUBSTITUTABLE = 1611; +PlSqlParser.SUBSTR2 = 1612; +PlSqlParser.SUBSTR4 = 1613; +PlSqlParser.SUBSTRB = 1614; +PlSqlParser.SUBSTRC = 1615; +PlSqlParser.SUBTYPE = 1616; +PlSqlParser.SUCCESSFUL = 1617; +PlSqlParser.SUCCESS = 1618; +PlSqlParser.SUMMARY = 1619; +PlSqlParser.SUPPLEMENTAL = 1620; +PlSqlParser.SUSPEND = 1621; +PlSqlParser.SWAP_JOIN_INPUTS = 1622; +PlSqlParser.SWITCHOVER = 1623; +PlSqlParser.SWITCH = 1624; +PlSqlParser.SYNCHRONOUS = 1625; +PlSqlParser.SYNC = 1626; +PlSqlParser.SYNONYM = 1627; +PlSqlParser.SYSASM = 1628; +PlSqlParser.SYS_AUDIT = 1629; +PlSqlParser.SYSAUX = 1630; +PlSqlParser.SYSBACKUP = 1631; +PlSqlParser.SYS_CHECKACL = 1632; +PlSqlParser.SYS_CHECK_PRIVILEGE = 1633; +PlSqlParser.SYS_CONNECT_BY_PATH = 1634; +PlSqlParser.SYS_CONTEXT = 1635; +PlSqlParser.SYSDATE = 1636; +PlSqlParser.SYSDBA = 1637; +PlSqlParser.SYS_DBURIGEN = 1638; +PlSqlParser.SYSDG = 1639; +PlSqlParser.SYS_DL_CURSOR = 1640; +PlSqlParser.SYS_DM_RXFORM_CHR = 1641; +PlSqlParser.SYS_DM_RXFORM_NUM = 1642; +PlSqlParser.SYS_DOM_COMPARE = 1643; +PlSqlParser.SYS_DST_PRIM2SEC = 1644; +PlSqlParser.SYS_DST_SEC2PRIM = 1645; +PlSqlParser.SYS_ET_BFILE_TO_RAW = 1646; +PlSqlParser.SYS_ET_BLOB_TO_IMAGE = 1647; +PlSqlParser.SYS_ET_IMAGE_TO_BLOB = 1648; +PlSqlParser.SYS_ET_RAW_TO_BFILE = 1649; +PlSqlParser.SYS_EXTPDTXT = 1650; +PlSqlParser.SYS_EXTRACT_UTC = 1651; +PlSqlParser.SYS_FBT_INSDEL = 1652; +PlSqlParser.SYS_FILTER_ACLS = 1653; +PlSqlParser.SYS_FNMATCHES = 1654; +PlSqlParser.SYS_FNREPLACE = 1655; +PlSqlParser.SYS_GET_ACLIDS = 1656; +PlSqlParser.SYS_GET_COL_ACLIDS = 1657; +PlSqlParser.SYS_GET_PRIVILEGES = 1658; +PlSqlParser.SYS_GETTOKENID = 1659; +PlSqlParser.SYS_GETXTIVAL = 1660; +PlSqlParser.SYS_GUID = 1661; +PlSqlParser.SYSGUID = 1662; +PlSqlParser.SYSKM = 1663; +PlSqlParser.SYS_MAKE_XMLNODEID = 1664; +PlSqlParser.SYS_MAKEXML = 1665; +PlSqlParser.SYS_MKXMLATTR = 1666; +PlSqlParser.SYS_MKXTI = 1667; +PlSqlParser.SYSOBJ = 1668; +PlSqlParser.SYS_OP_ADT2BIN = 1669; +PlSqlParser.SYS_OP_ADTCONS = 1670; +PlSqlParser.SYS_OP_ALSCRVAL = 1671; +PlSqlParser.SYS_OP_ATG = 1672; +PlSqlParser.SYS_OP_BIN2ADT = 1673; +PlSqlParser.SYS_OP_BITVEC = 1674; +PlSqlParser.SYS_OP_BL2R = 1675; +PlSqlParser.SYS_OP_BLOOM_FILTER_LIST = 1676; +PlSqlParser.SYS_OP_BLOOM_FILTER = 1677; +PlSqlParser.SYS_OP_C2C = 1678; +PlSqlParser.SYS_OP_CAST = 1679; +PlSqlParser.SYS_OP_CEG = 1680; +PlSqlParser.SYS_OP_CL2C = 1681; +PlSqlParser.SYS_OP_COMBINED_HASH = 1682; +PlSqlParser.SYS_OP_COMP = 1683; +PlSqlParser.SYS_OP_CONVERT = 1684; +PlSqlParser.SYS_OP_COUNTCHG = 1685; +PlSqlParser.SYS_OP_CSCONV = 1686; +PlSqlParser.SYS_OP_CSCONVTEST = 1687; +PlSqlParser.SYS_OP_CSR = 1688; +PlSqlParser.SYS_OP_CSX_PATCH = 1689; +PlSqlParser.SYS_OP_CYCLED_SEQ = 1690; +PlSqlParser.SYS_OP_DECOMP = 1691; +PlSqlParser.SYS_OP_DESCEND = 1692; +PlSqlParser.SYS_OP_DISTINCT = 1693; +PlSqlParser.SYS_OP_DRA = 1694; +PlSqlParser.SYS_OP_DUMP = 1695; +PlSqlParser.SYS_OP_DV_CHECK = 1696; +PlSqlParser.SYS_OP_ENFORCE_NOT_NULL = 1697; +PlSqlParser.SYSOPER = 1698; +PlSqlParser.SYS_OP_EXTRACT = 1699; +PlSqlParser.SYS_OP_GROUPING = 1700; +PlSqlParser.SYS_OP_GUID = 1701; +PlSqlParser.SYS_OP_HASH = 1702; +PlSqlParser.SYS_OP_IIX = 1703; +PlSqlParser.SYS_OP_ITR = 1704; +PlSqlParser.SYS_OP_KEY_VECTOR_CREATE = 1705; +PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST = 1706; +PlSqlParser.SYS_OP_KEY_VECTOR_FILTER = 1707; +PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED = 1708; +PlSqlParser.SYS_OP_KEY_VECTOR_USE = 1709; +PlSqlParser.SYS_OP_LBID = 1710; +PlSqlParser.SYS_OP_LOBLOC2BLOB = 1711; +PlSqlParser.SYS_OP_LOBLOC2CLOB = 1712; +PlSqlParser.SYS_OP_LOBLOC2ID = 1713; +PlSqlParser.SYS_OP_LOBLOC2NCLOB = 1714; +PlSqlParser.SYS_OP_LOBLOC2TYP = 1715; +PlSqlParser.SYS_OP_LSVI = 1716; +PlSqlParser.SYS_OP_LVL = 1717; +PlSqlParser.SYS_OP_MAKEOID = 1718; +PlSqlParser.SYS_OP_MAP_NONNULL = 1719; +PlSqlParser.SYS_OP_MSR = 1720; +PlSqlParser.SYS_OP_NICOMBINE = 1721; +PlSqlParser.SYS_OP_NIEXTRACT = 1722; +PlSqlParser.SYS_OP_NII = 1723; +PlSqlParser.SYS_OP_NIX = 1724; +PlSqlParser.SYS_OP_NOEXPAND = 1725; +PlSqlParser.SYS_OP_NTCIMG = 1726; +PlSqlParser.SYS_OP_NUMTORAW = 1727; +PlSqlParser.SYS_OP_OIDVALUE = 1728; +PlSqlParser.SYS_OP_OPNSIZE = 1729; +PlSqlParser.SYS_OP_PAR_1 = 1730; +PlSqlParser.SYS_OP_PARGID_1 = 1731; +PlSqlParser.SYS_OP_PARGID = 1732; +PlSqlParser.SYS_OP_PAR = 1733; +PlSqlParser.SYS_OP_PART_ID = 1734; +PlSqlParser.SYS_OP_PIVOT = 1735; +PlSqlParser.SYS_OP_R2O = 1736; +PlSqlParser.SYS_OP_RAWTONUM = 1737; +PlSqlParser.SYS_OP_RDTM = 1738; +PlSqlParser.SYS_OP_REF = 1739; +PlSqlParser.SYS_OP_RMTD = 1740; +PlSqlParser.SYS_OP_ROWIDTOOBJ = 1741; +PlSqlParser.SYS_OP_RPB = 1742; +PlSqlParser.SYS_OPTLOBPRBSC = 1743; +PlSqlParser.SYS_OP_TOSETID = 1744; +PlSqlParser.SYS_OP_TPR = 1745; +PlSqlParser.SYS_OP_TRTB = 1746; +PlSqlParser.SYS_OPTXICMP = 1747; +PlSqlParser.SYS_OPTXQCASTASNQ = 1748; +PlSqlParser.SYS_OP_UNDESCEND = 1749; +PlSqlParser.SYS_OP_VECAND = 1750; +PlSqlParser.SYS_OP_VECBIT = 1751; +PlSqlParser.SYS_OP_VECOR = 1752; +PlSqlParser.SYS_OP_VECXOR = 1753; +PlSqlParser.SYS_OP_VERSION = 1754; +PlSqlParser.SYS_OP_VREF = 1755; +PlSqlParser.SYS_OP_VVD = 1756; +PlSqlParser.SYS_OP_XMLCONS_FOR_CSX = 1757; +PlSqlParser.SYS_OP_XPTHATG = 1758; +PlSqlParser.SYS_OP_XPTHIDX = 1759; +PlSqlParser.SYS_OP_XPTHOP = 1760; +PlSqlParser.SYS_OP_XTXT2SQLT = 1761; +PlSqlParser.SYS_OP_ZONE_ID = 1762; +PlSqlParser.SYS_ORDERKEY_DEPTH = 1763; +PlSqlParser.SYS_ORDERKEY_MAXCHILD = 1764; +PlSqlParser.SYS_ORDERKEY_PARENT = 1765; +PlSqlParser.SYS_PARALLEL_TXN = 1766; +PlSqlParser.SYS_PATHID_IS_ATTR = 1767; +PlSqlParser.SYS_PATHID_IS_NMSPC = 1768; +PlSqlParser.SYS_PATHID_LASTNAME = 1769; +PlSqlParser.SYS_PATHID_LASTNMSPC = 1770; +PlSqlParser.SYS_PATH_REVERSE = 1771; +PlSqlParser.SYS_PXQEXTRACT = 1772; +PlSqlParser.SYS_RAW_TO_XSID = 1773; +PlSqlParser.SYS_RID_ORDER = 1774; +PlSqlParser.SYS_ROW_DELTA = 1775; +PlSqlParser.SYS_SC_2_XMLT = 1776; +PlSqlParser.SYS_SYNRCIREDO = 1777; +PlSqlParser.SYSTEM_DEFINED = 1778; +PlSqlParser.SYSTEM = 1779; +PlSqlParser.SYSTIMESTAMP = 1780; +PlSqlParser.SYS_TYPEID = 1781; +PlSqlParser.SYS_UMAKEXML = 1782; +PlSqlParser.SYS_XMLANALYZE = 1783; +PlSqlParser.SYS_XMLCONTAINS = 1784; +PlSqlParser.SYS_XMLCONV = 1785; +PlSqlParser.SYS_XMLEXNSURI = 1786; +PlSqlParser.SYS_XMLGEN = 1787; +PlSqlParser.SYS_XMLI_LOC_ISNODE = 1788; +PlSqlParser.SYS_XMLI_LOC_ISTEXT = 1789; +PlSqlParser.SYS_XMLINSTR = 1790; +PlSqlParser.SYS_XMLLOCATOR_GETSVAL = 1791; +PlSqlParser.SYS_XMLNODEID_GETCID = 1792; +PlSqlParser.SYS_XMLNODEID_GETLOCATOR = 1793; +PlSqlParser.SYS_XMLNODEID_GETOKEY = 1794; +PlSqlParser.SYS_XMLNODEID_GETPATHID = 1795; +PlSqlParser.SYS_XMLNODEID_GETPTRID = 1796; +PlSqlParser.SYS_XMLNODEID_GETRID = 1797; +PlSqlParser.SYS_XMLNODEID_GETSVAL = 1798; +PlSqlParser.SYS_XMLNODEID_GETTID = 1799; +PlSqlParser.SYS_XMLNODEID = 1800; +PlSqlParser.SYS_XMLT_2_SC = 1801; +PlSqlParser.SYS_XMLTRANSLATE = 1802; +PlSqlParser.SYS_XMLTYPE2SQL = 1803; +PlSqlParser.SYS_XQ_ASQLCNV = 1804; +PlSqlParser.SYS_XQ_ATOMCNVCHK = 1805; +PlSqlParser.SYS_XQBASEURI = 1806; +PlSqlParser.SYS_XQCASTABLEERRH = 1807; +PlSqlParser.SYS_XQCODEP2STR = 1808; +PlSqlParser.SYS_XQCODEPEQ = 1809; +PlSqlParser.SYS_XQCON2SEQ = 1810; +PlSqlParser.SYS_XQCONCAT = 1811; +PlSqlParser.SYS_XQDELETE = 1812; +PlSqlParser.SYS_XQDFLTCOLATION = 1813; +PlSqlParser.SYS_XQDOC = 1814; +PlSqlParser.SYS_XQDOCURI = 1815; +PlSqlParser.SYS_XQDURDIV = 1816; +PlSqlParser.SYS_XQED4URI = 1817; +PlSqlParser.SYS_XQENDSWITH = 1818; +PlSqlParser.SYS_XQERRH = 1819; +PlSqlParser.SYS_XQERR = 1820; +PlSqlParser.SYS_XQESHTMLURI = 1821; +PlSqlParser.SYS_XQEXLOBVAL = 1822; +PlSqlParser.SYS_XQEXSTWRP = 1823; +PlSqlParser.SYS_XQEXTRACT = 1824; +PlSqlParser.SYS_XQEXTRREF = 1825; +PlSqlParser.SYS_XQEXVAL = 1826; +PlSqlParser.SYS_XQFB2STR = 1827; +PlSqlParser.SYS_XQFNBOOL = 1828; +PlSqlParser.SYS_XQFNCMP = 1829; +PlSqlParser.SYS_XQFNDATIM = 1830; +PlSqlParser.SYS_XQFNLNAME = 1831; +PlSqlParser.SYS_XQFNNM = 1832; +PlSqlParser.SYS_XQFNNSURI = 1833; +PlSqlParser.SYS_XQFNPREDTRUTH = 1834; +PlSqlParser.SYS_XQFNQNM = 1835; +PlSqlParser.SYS_XQFNROOT = 1836; +PlSqlParser.SYS_XQFORMATNUM = 1837; +PlSqlParser.SYS_XQFTCONTAIN = 1838; +PlSqlParser.SYS_XQFUNCR = 1839; +PlSqlParser.SYS_XQGETCONTENT = 1840; +PlSqlParser.SYS_XQINDXOF = 1841; +PlSqlParser.SYS_XQINSERT = 1842; +PlSqlParser.SYS_XQINSPFX = 1843; +PlSqlParser.SYS_XQIRI2URI = 1844; +PlSqlParser.SYS_XQLANG = 1845; +PlSqlParser.SYS_XQLLNMFRMQNM = 1846; +PlSqlParser.SYS_XQMKNODEREF = 1847; +PlSqlParser.SYS_XQNILLED = 1848; +PlSqlParser.SYS_XQNODENAME = 1849; +PlSqlParser.SYS_XQNORMSPACE = 1850; +PlSqlParser.SYS_XQNORMUCODE = 1851; +PlSqlParser.SYS_XQ_NRNG = 1852; +PlSqlParser.SYS_XQNSP4PFX = 1853; +PlSqlParser.SYS_XQNSPFRMQNM = 1854; +PlSqlParser.SYS_XQPFXFRMQNM = 1855; +PlSqlParser.SYS_XQ_PKSQL2XML = 1856; +PlSqlParser.SYS_XQPOLYABS = 1857; +PlSqlParser.SYS_XQPOLYADD = 1858; +PlSqlParser.SYS_XQPOLYCEL = 1859; +PlSqlParser.SYS_XQPOLYCSTBL = 1860; +PlSqlParser.SYS_XQPOLYCST = 1861; +PlSqlParser.SYS_XQPOLYDIV = 1862; +PlSqlParser.SYS_XQPOLYFLR = 1863; +PlSqlParser.SYS_XQPOLYMOD = 1864; +PlSqlParser.SYS_XQPOLYMUL = 1865; +PlSqlParser.SYS_XQPOLYRND = 1866; +PlSqlParser.SYS_XQPOLYSQRT = 1867; +PlSqlParser.SYS_XQPOLYSUB = 1868; +PlSqlParser.SYS_XQPOLYUMUS = 1869; +PlSqlParser.SYS_XQPOLYUPLS = 1870; +PlSqlParser.SYS_XQPOLYVEQ = 1871; +PlSqlParser.SYS_XQPOLYVGE = 1872; +PlSqlParser.SYS_XQPOLYVGT = 1873; +PlSqlParser.SYS_XQPOLYVLE = 1874; +PlSqlParser.SYS_XQPOLYVLT = 1875; +PlSqlParser.SYS_XQPOLYVNE = 1876; +PlSqlParser.SYS_XQREF2VAL = 1877; +PlSqlParser.SYS_XQRENAME = 1878; +PlSqlParser.SYS_XQREPLACE = 1879; +PlSqlParser.SYS_XQRESVURI = 1880; +PlSqlParser.SYS_XQRNDHALF2EVN = 1881; +PlSqlParser.SYS_XQRSLVQNM = 1882; +PlSqlParser.SYS_XQRYENVPGET = 1883; +PlSqlParser.SYS_XQRYVARGET = 1884; +PlSqlParser.SYS_XQRYWRP = 1885; +PlSqlParser.SYS_XQSEQ2CON4XC = 1886; +PlSqlParser.SYS_XQSEQ2CON = 1887; +PlSqlParser.SYS_XQSEQDEEPEQ = 1888; +PlSqlParser.SYS_XQSEQINSB = 1889; +PlSqlParser.SYS_XQSEQRM = 1890; +PlSqlParser.SYS_XQSEQRVS = 1891; +PlSqlParser.SYS_XQSEQSUB = 1892; +PlSqlParser.SYS_XQSEQTYPMATCH = 1893; +PlSqlParser.SYS_XQSTARTSWITH = 1894; +PlSqlParser.SYS_XQSTATBURI = 1895; +PlSqlParser.SYS_XQSTR2CODEP = 1896; +PlSqlParser.SYS_XQSTRJOIN = 1897; +PlSqlParser.SYS_XQSUBSTRAFT = 1898; +PlSqlParser.SYS_XQSUBSTRBEF = 1899; +PlSqlParser.SYS_XQTOKENIZE = 1900; +PlSqlParser.SYS_XQTREATAS = 1901; +PlSqlParser.SYS_XQ_UPKXML2SQL = 1902; +PlSqlParser.SYS_XQXFORM = 1903; +PlSqlParser.SYS_XSID_TO_RAW = 1904; +PlSqlParser.SYS_ZMAP_FILTER = 1905; +PlSqlParser.SYS_ZMAP_REFRESH = 1906; +PlSqlParser.TABLE_LOOKUP_BY_NL = 1907; +PlSqlParser.TABLESPACE_NO = 1908; +PlSqlParser.TABLESPACE = 1909; +PlSqlParser.TABLES = 1910; +PlSqlParser.TABLE_STATS = 1911; +PlSqlParser.TABLE = 1912; +PlSqlParser.TABNO = 1913; +PlSqlParser.TAG = 1914; +PlSqlParser.TANH = 1915; +PlSqlParser.TAN = 1916; +PlSqlParser.TBLORIDXPARTNUM = 1917; +PlSqlParser.TEMPFILE = 1918; +PlSqlParser.TEMPLATE = 1919; +PlSqlParser.TEMPORARY = 1920; +PlSqlParser.TEMP_TABLE = 1921; +PlSqlParser.TEST = 1922; +PlSqlParser.TEXT = 1923; +PlSqlParser.THAN = 1924; +PlSqlParser.THEN = 1925; +PlSqlParser.THE = 1926; +PlSqlParser.THREAD = 1927; +PlSqlParser.THROUGH = 1928; +PlSqlParser.TIER = 1929; +PlSqlParser.TIES = 1930; +PlSqlParser.TIMEOUT = 1931; +PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED = 1932; +PlSqlParser.TIMESTAMP = 1933; +PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED = 1934; +PlSqlParser.TIMESTAMP_UNCONSTRAINED = 1935; +PlSqlParser.TIMES = 1936; +PlSqlParser.TIME = 1937; +PlSqlParser.TIMEZONE = 1938; +PlSqlParser.TIMEZONE_ABBR = 1939; +PlSqlParser.TIMEZONE_HOUR = 1940; +PlSqlParser.TIMEZONE_MINUTE = 1941; +PlSqlParser.TIMEZONE_OFFSET = 1942; +PlSqlParser.TIMEZONE_REGION = 1943; +PlSqlParser.TIME_ZONE = 1944; +PlSqlParser.TIV_GB = 1945; +PlSqlParser.TIV_SSF = 1946; +PlSqlParser.TO_ACLID = 1947; +PlSqlParser.TO_BINARY_DOUBLE = 1948; +PlSqlParser.TO_BINARY_FLOAT = 1949; +PlSqlParser.TO_BLOB = 1950; +PlSqlParser.TO_CLOB = 1951; +PlSqlParser.TO_DSINTERVAL = 1952; +PlSqlParser.TO_LOB = 1953; +PlSqlParser.TO_MULTI_BYTE = 1954; +PlSqlParser.TO_NCHAR = 1955; +PlSqlParser.TO_NCLOB = 1956; +PlSqlParser.TO_NUMBER = 1957; +PlSqlParser.TOPLEVEL = 1958; +PlSqlParser.TO_SINGLE_BYTE = 1959; +PlSqlParser.TO_TIMESTAMP = 1960; +PlSqlParser.TO_TIMESTAMP_TZ = 1961; +PlSqlParser.TO_TIME = 1962; +PlSqlParser.TO_TIME_TZ = 1963; +PlSqlParser.TO = 1964; +PlSqlParser.TO_YMINTERVAL = 1965; +PlSqlParser.TRACE = 1966; +PlSqlParser.TRACING = 1967; +PlSqlParser.TRACKING = 1968; +PlSqlParser.TRAILING = 1969; +PlSqlParser.TRANSACTION = 1970; +PlSqlParser.TRANSFORM_DISTINCT_AGG = 1971; +PlSqlParser.TRANSITIONAL = 1972; +PlSqlParser.TRANSITION = 1973; +PlSqlParser.TRANSLATE = 1974; +PlSqlParser.TRANSLATION = 1975; +PlSqlParser.TREAT = 1976; +PlSqlParser.TRIGGERS = 1977; +PlSqlParser.TRIGGER = 1978; +PlSqlParser.TRUE = 1979; +PlSqlParser.TRUNCATE = 1980; +PlSqlParser.TRUNC = 1981; +PlSqlParser.TRUSTED = 1982; +PlSqlParser.TRUST = 1983; +PlSqlParser.TUNING = 1984; +PlSqlParser.TX = 1985; +PlSqlParser.TYPES = 1986; +PlSqlParser.TYPE = 1987; +PlSqlParser.TZ_OFFSET = 1988; +PlSqlParser.UB2 = 1989; +PlSqlParser.UBA = 1990; +PlSqlParser.UCS2 = 1991; +PlSqlParser.UID = 1992; +PlSqlParser.UNARCHIVED = 1993; +PlSqlParser.UNBOUNDED = 1994; +PlSqlParser.UNBOUND = 1995; +PlSqlParser.UNCONDITIONAL = 1996; +PlSqlParser.UNDER = 1997; +PlSqlParser.UNDO = 1998; +PlSqlParser.UNDROP = 1999; +PlSqlParser.UNIFORM = 2000; +PlSqlParser.UNION = 2001; +PlSqlParser.UNIQUE = 2002; +PlSqlParser.UNISTR = 2003; +PlSqlParser.UNLIMITED = 2004; +PlSqlParser.UNLOAD = 2005; +PlSqlParser.UNLOCK = 2006; +PlSqlParser.UNMATCHED = 2007; +PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW = 2008; +PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW = 2009; +PlSqlParser.UNNEST_SEMIJ_VIEW = 2010; +PlSqlParser.UNNEST = 2011; +PlSqlParser.UNPACKED = 2012; +PlSqlParser.UNPIVOT = 2013; +PlSqlParser.UNPLUG = 2014; +PlSqlParser.UNPROTECTED = 2015; +PlSqlParser.UNQUIESCE = 2016; +PlSqlParser.UNRECOVERABLE = 2017; +PlSqlParser.UNRESTRICTED = 2018; +PlSqlParser.UNSUBSCRIBE = 2019; +PlSqlParser.UNTIL = 2020; +PlSqlParser.UNUSABLE = 2021; +PlSqlParser.UNUSED = 2022; +PlSqlParser.UPDATABLE = 2023; +PlSqlParser.UPDATED = 2024; +PlSqlParser.UPDATE = 2025; +PlSqlParser.UPDATEXML = 2026; +PlSqlParser.UPD_INDEXES = 2027; +PlSqlParser.UPD_JOININDEX = 2028; +PlSqlParser.UPGRADE = 2029; +PlSqlParser.UPPER = 2030; +PlSqlParser.UPSERT = 2031; +PlSqlParser.UROWID = 2032; +PlSqlParser.USABLE = 2033; +PlSqlParser.USAGE = 2034; +PlSqlParser.USE_ANTI = 2035; +PlSqlParser.USE_CONCAT = 2036; +PlSqlParser.USE_CUBE = 2037; +PlSqlParser.USE_HASH_AGGREGATION = 2038; +PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN = 2039; +PlSqlParser.USE_HASH = 2040; +PlSqlParser.USE_HIDDEN_PARTITIONS = 2041; +PlSqlParser.USE_INVISIBLE_INDEXES = 2042; +PlSqlParser.USE_MERGE_CARTESIAN = 2043; +PlSqlParser.USE_MERGE = 2044; +PlSqlParser.USE_NL = 2045; +PlSqlParser.USE_NL_WITH_INDEX = 2046; +PlSqlParser.USE_PRIVATE_OUTLINES = 2047; +PlSqlParser.USER_DATA = 2048; +PlSqlParser.USER_DEFINED = 2049; +PlSqlParser.USERENV = 2050; +PlSqlParser.USERGROUP = 2051; +PlSqlParser.USER_RECYCLEBIN = 2052; +PlSqlParser.USERS = 2053; +PlSqlParser.USER_TABLESPACES = 2054; +PlSqlParser.USER = 2055; +PlSqlParser.USE_SEMI = 2056; +PlSqlParser.USE_STORED_OUTLINES = 2057; +PlSqlParser.USE_TTT_FOR_GSETS = 2058; +PlSqlParser.USE = 2059; +PlSqlParser.USE_VECTOR_AGGREGATION = 2060; +PlSqlParser.USE_WEAK_NAME_RESL = 2061; +PlSqlParser.USING_NO_EXPAND = 2062; +PlSqlParser.USING = 2063; +PlSqlParser.UTF16BE = 2064; +PlSqlParser.UTF16LE = 2065; +PlSqlParser.UTF32 = 2066; +PlSqlParser.UTF8 = 2067; +PlSqlParser.V1 = 2068; +PlSqlParser.V2 = 2069; +PlSqlParser.VALIDATE = 2070; +PlSqlParser.VALIDATION = 2071; +PlSqlParser.VALID_TIME_END = 2072; +PlSqlParser.VALUES = 2073; +PlSqlParser.VALUE = 2074; +PlSqlParser.VARCHAR2 = 2075; +PlSqlParser.VARCHAR = 2076; +PlSqlParser.VARIABLE = 2077; +PlSqlParser.VAR_POP = 2078; +PlSqlParser.VARRAYS = 2079; +PlSqlParser.VARRAY = 2080; +PlSqlParser.VAR_SAMP = 2081; +PlSqlParser.VARYING = 2082; +PlSqlParser.VECTOR_READ_TRACE = 2083; +PlSqlParser.VECTOR_READ = 2084; +PlSqlParser.VECTOR_TRANSFORM_DIMS = 2085; +PlSqlParser.VECTOR_TRANSFORM_FACT = 2086; +PlSqlParser.VECTOR_TRANSFORM = 2087; +PlSqlParser.VERIFIER = 2088; +PlSqlParser.VERIFY = 2089; +PlSqlParser.VERSIONING = 2090; +PlSqlParser.VERSIONS_ENDSCN = 2091; +PlSqlParser.VERSIONS_ENDTIME = 2092; +PlSqlParser.VERSIONS_OPERATION = 2093; +PlSqlParser.VERSIONS_STARTSCN = 2094; +PlSqlParser.VERSIONS_STARTTIME = 2095; +PlSqlParser.VERSIONS = 2096; +PlSqlParser.VERSIONS_XID = 2097; +PlSqlParser.VERSION = 2098; +PlSqlParser.VIEW = 2099; +PlSqlParser.VIOLATION = 2100; +PlSqlParser.VIRTUAL = 2101; +PlSqlParser.VISIBILITY = 2102; +PlSqlParser.VISIBLE = 2103; +PlSqlParser.VOLUME = 2104; +PlSqlParser.VSIZE = 2105; +PlSqlParser.WAIT = 2106; +PlSqlParser.WALLET = 2107; +PlSqlParser.WARNING = 2108; +PlSqlParser.WEEKS = 2109; +PlSqlParser.WEEK = 2110; +PlSqlParser.WELLFORMED = 2111; +PlSqlParser.WHENEVER = 2112; +PlSqlParser.WHEN = 2113; +PlSqlParser.WHERE = 2114; +PlSqlParser.WHILE = 2115; +PlSqlParser.WHITESPACE = 2116; +PlSqlParser.WIDTH_BUCKET = 2117; +PlSqlParser.WITHIN = 2118; +PlSqlParser.WITHOUT = 2119; +PlSqlParser.WITH_PLSQL = 2120; +PlSqlParser.WITH = 2121; +PlSqlParser.WORK = 2122; +PlSqlParser.WRAPPED = 2123; +PlSqlParser.WRAPPER = 2124; +PlSqlParser.WRITE = 2125; +PlSqlParser.XDB_FASTPATH_INSERT = 2126; +PlSqlParser.XDB = 2127; +PlSqlParser.X_DYN_PRUNE = 2128; +PlSqlParser.XID = 2129; +PlSqlParser.XML2OBJECT = 2130; +PlSqlParser.XMLAGG = 2131; +PlSqlParser.XMLATTRIBUTES = 2132; +PlSqlParser.XMLCAST = 2133; +PlSqlParser.XMLCDATA = 2134; +PlSqlParser.XMLCOLATTVAL = 2135; +PlSqlParser.XMLCOMMENT = 2136; +PlSqlParser.XMLCONCAT = 2137; +PlSqlParser.XMLDIFF = 2138; +PlSqlParser.XML_DML_RWT_STMT = 2139; +PlSqlParser.XMLELEMENT = 2140; +PlSqlParser.XMLEXISTS2 = 2141; +PlSqlParser.XMLEXISTS = 2142; +PlSqlParser.XMLFOREST = 2143; +PlSqlParser.XMLINDEX = 2144; +PlSqlParser.XMLINDEX_REWRITE_IN_SELECT = 2145; +PlSqlParser.XMLINDEX_REWRITE = 2146; +PlSqlParser.XMLINDEX_SEL_IDX_TBL = 2147; +PlSqlParser.XMLISNODE = 2148; +PlSqlParser.XMLISVALID = 2149; +PlSqlParser.XMLNAMESPACES = 2150; +PlSqlParser.XMLPARSE = 2151; +PlSqlParser.XMLPATCH = 2152; +PlSqlParser.XMLPI = 2153; +PlSqlParser.XMLQUERYVAL = 2154; +PlSqlParser.XMLQUERY = 2155; +PlSqlParser.XMLROOT = 2156; +PlSqlParser.XMLSCHEMA = 2157; +PlSqlParser.XMLSERIALIZE = 2158; +PlSqlParser.XMLTABLE = 2159; +PlSqlParser.XMLTRANSFORMBLOB = 2160; +PlSqlParser.XMLTRANSFORM = 2161; +PlSqlParser.XMLTYPE = 2162; +PlSqlParser.XML = 2163; +PlSqlParser.XPATHTABLE = 2164; +PlSqlParser.XS_SYS_CONTEXT = 2165; +PlSqlParser.XS = 2166; +PlSqlParser.XTRANSPORT = 2167; +PlSqlParser.YEARS = 2168; +PlSqlParser.YEAR = 2169; +PlSqlParser.YES = 2170; +PlSqlParser.YMINTERVAL_UNCONSTRAINED = 2171; +PlSqlParser.ZONEMAP = 2172; +PlSqlParser.ZONE = 2173; +PlSqlParser.PREDICTION = 2174; +PlSqlParser.PREDICTION_BOUNDS = 2175; +PlSqlParser.PREDICTION_COST = 2176; +PlSqlParser.PREDICTION_DETAILS = 2177; +PlSqlParser.PREDICTION_PROBABILITY = 2178; +PlSqlParser.PREDICTION_SET = 2179; +PlSqlParser.CUME_DIST = 2180; +PlSqlParser.DENSE_RANK = 2181; +PlSqlParser.LISTAGG = 2182; +PlSqlParser.PERCENT_RANK = 2183; +PlSqlParser.PERCENTILE_CONT = 2184; +PlSqlParser.PERCENTILE_DISC = 2185; +PlSqlParser.RANK = 2186; +PlSqlParser.AVG = 2187; +PlSqlParser.CORR = 2188; +PlSqlParser.COVAR_ = 2189; +PlSqlParser.DECODE = 2190; +PlSqlParser.LAG = 2191; +PlSqlParser.LEAD = 2192; +PlSqlParser.MAX = 2193; +PlSqlParser.MEDIAN = 2194; +PlSqlParser.MIN = 2195; +PlSqlParser.NTILE = 2196; +PlSqlParser.NVL = 2197; +PlSqlParser.RATIO_TO_REPORT = 2198; +PlSqlParser.REGR_ = 2199; +PlSqlParser.ROUND = 2200; +PlSqlParser.ROW_NUMBER = 2201; +PlSqlParser.SUBSTR = 2202; +PlSqlParser.TO_CHAR = 2203; +PlSqlParser.TRIM = 2204; +PlSqlParser.SUM = 2205; +PlSqlParser.STDDEV = 2206; +PlSqlParser.VAR_ = 2207; +PlSqlParser.VARIANCE = 2208; +PlSqlParser.LEAST = 2209; +PlSqlParser.GREATEST = 2210; +PlSqlParser.TO_DATE = 2211; +PlSqlParser.NATIONAL_CHAR_STRING_LIT = 2212; +PlSqlParser.BIT_STRING_LIT = 2213; +PlSqlParser.HEX_STRING_LIT = 2214; +PlSqlParser.DOUBLE_PERIOD = 2215; +PlSqlParser.PERIOD = 2216; +PlSqlParser.UNSIGNED_INTEGER = 2217; +PlSqlParser.APPROXIMATE_NUM_LIT = 2218; +PlSqlParser.CHAR_STRING = 2219; +PlSqlParser.DELIMITED_ID = 2220; +PlSqlParser.PERCENT = 2221; +PlSqlParser.AMPERSAND = 2222; +PlSqlParser.LEFT_PAREN = 2223; +PlSqlParser.RIGHT_PAREN = 2224; +PlSqlParser.DOUBLE_ASTERISK = 2225; +PlSqlParser.ASTERISK = 2226; +PlSqlParser.PLUS_SIGN = 2227; +PlSqlParser.MINUS_SIGN = 2228; +PlSqlParser.COMMA = 2229; +PlSqlParser.SOLIDUS = 2230; +PlSqlParser.AT_SIGN = 2231; +PlSqlParser.ASSIGN_OP = 2232; +PlSqlParser.BINDVAR = 2233; +PlSqlParser.NOT_EQUAL_OP = 2234; +PlSqlParser.CARRET_OPERATOR_PART = 2235; +PlSqlParser.TILDE_OPERATOR_PART = 2236; +PlSqlParser.EXCLAMATION_OPERATOR_PART = 2237; +PlSqlParser.GREATER_THAN_OP = 2238; +PlSqlParser.LESS_THAN_OP = 2239; +PlSqlParser.COLON = 2240; +PlSqlParser.SEMICOLON = 2241; +PlSqlParser.BAR = 2242; +PlSqlParser.EQUALS_OP = 2243; +PlSqlParser.LEFT_BRACKET = 2244; +PlSqlParser.RIGHT_BRACKET = 2245; +PlSqlParser.INTRODUCER = 2246; +PlSqlParser.SINGLE_LINE_COMMENT = 2247; +PlSqlParser.MULTI_LINE_COMMENT = 2248; +PlSqlParser.REMARK_COMMENT = 2249; +PlSqlParser.PROMPT_MESSAGE = 2250; +PlSqlParser.START_CMD = 2251; +PlSqlParser.REGULAR_ID = 2252; +PlSqlParser.SPACES = 2253; + +PlSqlParser.RULE_program = 0; +PlSqlParser.RULE_sql_script = 1; +PlSqlParser.RULE_unit_statement = 2; +PlSqlParser.RULE_drop_function = 3; +PlSqlParser.RULE_alter_function = 4; +PlSqlParser.RULE_create_function_body = 5; +PlSqlParser.RULE_parallel_enable_clause = 6; +PlSqlParser.RULE_partition_by_clause = 7; +PlSqlParser.RULE_result_cache_clause = 8; +PlSqlParser.RULE_relies_on_part = 9; +PlSqlParser.RULE_streaming_clause = 10; +PlSqlParser.RULE_drop_package = 11; +PlSqlParser.RULE_alter_package = 12; +PlSqlParser.RULE_create_package = 13; +PlSqlParser.RULE_create_package_body = 14; +PlSqlParser.RULE_package_obj_spec = 15; +PlSqlParser.RULE_procedure_spec = 16; +PlSqlParser.RULE_function_spec = 17; +PlSqlParser.RULE_package_obj_body = 18; +PlSqlParser.RULE_drop_procedure = 19; +PlSqlParser.RULE_alter_procedure = 20; +PlSqlParser.RULE_function_body = 21; +PlSqlParser.RULE_procedure_body = 22; +PlSqlParser.RULE_create_procedure_body = 23; +PlSqlParser.RULE_drop_trigger = 24; +PlSqlParser.RULE_alter_trigger = 25; +PlSqlParser.RULE_create_trigger = 26; +PlSqlParser.RULE_trigger_follows_clause = 27; +PlSqlParser.RULE_trigger_when_clause = 28; +PlSqlParser.RULE_simple_dml_trigger = 29; +PlSqlParser.RULE_for_each_row = 30; +PlSqlParser.RULE_compound_dml_trigger = 31; +PlSqlParser.RULE_non_dml_trigger = 32; +PlSqlParser.RULE_trigger_body = 33; +PlSqlParser.RULE_routine_clause = 34; +PlSqlParser.RULE_compound_trigger_block = 35; +PlSqlParser.RULE_timing_point_section = 36; +PlSqlParser.RULE_non_dml_event = 37; +PlSqlParser.RULE_dml_event_clause = 38; +PlSqlParser.RULE_dml_event_element = 39; +PlSqlParser.RULE_dml_event_nested_clause = 40; +PlSqlParser.RULE_referencing_clause = 41; +PlSqlParser.RULE_referencing_element = 42; +PlSqlParser.RULE_drop_type = 43; +PlSqlParser.RULE_alter_type = 44; +PlSqlParser.RULE_compile_type_clause = 45; +PlSqlParser.RULE_replace_type_clause = 46; +PlSqlParser.RULE_alter_method_spec = 47; +PlSqlParser.RULE_alter_method_element = 48; +PlSqlParser.RULE_alter_attribute_definition = 49; +PlSqlParser.RULE_attribute_definition = 50; +PlSqlParser.RULE_alter_collection_clauses = 51; +PlSqlParser.RULE_dependent_handling_clause = 52; +PlSqlParser.RULE_dependent_exceptions_part = 53; +PlSqlParser.RULE_create_type = 54; +PlSqlParser.RULE_type_definition = 55; +PlSqlParser.RULE_object_type_def = 56; +PlSqlParser.RULE_object_as_part = 57; +PlSqlParser.RULE_object_under_part = 58; +PlSqlParser.RULE_nested_table_type_def = 59; +PlSqlParser.RULE_sqlj_object_type = 60; +PlSqlParser.RULE_type_body = 61; +PlSqlParser.RULE_type_body_elements = 62; +PlSqlParser.RULE_map_order_func_declaration = 63; +PlSqlParser.RULE_subprog_decl_in_type = 64; +PlSqlParser.RULE_proc_decl_in_type = 65; +PlSqlParser.RULE_func_decl_in_type = 66; +PlSqlParser.RULE_constructor_declaration = 67; +PlSqlParser.RULE_modifier_clause = 68; +PlSqlParser.RULE_object_member_spec = 69; +PlSqlParser.RULE_sqlj_object_type_attr = 70; +PlSqlParser.RULE_element_spec = 71; +PlSqlParser.RULE_element_spec_options = 72; +PlSqlParser.RULE_subprogram_spec = 73; +PlSqlParser.RULE_overriding_subprogram_spec = 74; +PlSqlParser.RULE_overriding_function_spec = 75; +PlSqlParser.RULE_type_procedure_spec = 76; +PlSqlParser.RULE_type_function_spec = 77; +PlSqlParser.RULE_constructor_spec = 78; +PlSqlParser.RULE_map_order_function_spec = 79; +PlSqlParser.RULE_pragma_clause = 80; +PlSqlParser.RULE_pragma_elements = 81; +PlSqlParser.RULE_type_elements_parameter = 82; +PlSqlParser.RULE_drop_sequence = 83; +PlSqlParser.RULE_alter_sequence = 84; +PlSqlParser.RULE_alter_session = 85; +PlSqlParser.RULE_alter_session_set_clause = 86; +PlSqlParser.RULE_create_sequence = 87; +PlSqlParser.RULE_sequence_spec = 88; +PlSqlParser.RULE_sequence_start_clause = 89; +PlSqlParser.RULE_create_index = 90; +PlSqlParser.RULE_cluster_index_clause = 91; +PlSqlParser.RULE_cluster_name = 92; +PlSqlParser.RULE_table_index_clause = 93; +PlSqlParser.RULE_bitmap_join_index_clause = 94; +PlSqlParser.RULE_index_expr = 95; +PlSqlParser.RULE_index_properties = 96; +PlSqlParser.RULE_domain_index_clause = 97; +PlSqlParser.RULE_local_domain_index_clause = 98; +PlSqlParser.RULE_xmlindex_clause = 99; +PlSqlParser.RULE_local_xmlindex_clause = 100; +PlSqlParser.RULE_global_partitioned_index = 101; +PlSqlParser.RULE_index_partitioning_clause = 102; +PlSqlParser.RULE_local_partitioned_index = 103; +PlSqlParser.RULE_on_range_partitioned_table = 104; +PlSqlParser.RULE_on_list_partitioned_table = 105; +PlSqlParser.RULE_partitioned_table = 106; +PlSqlParser.RULE_on_hash_partitioned_table = 107; +PlSqlParser.RULE_on_hash_partitioned_clause = 108; +PlSqlParser.RULE_on_comp_partitioned_table = 109; +PlSqlParser.RULE_on_comp_partitioned_clause = 110; +PlSqlParser.RULE_index_subpartition_clause = 111; +PlSqlParser.RULE_index_subpartition_subclause = 112; +PlSqlParser.RULE_odci_parameters = 113; +PlSqlParser.RULE_indextype = 114; +PlSqlParser.RULE_alter_index = 115; +PlSqlParser.RULE_alter_index_ops_set1 = 116; +PlSqlParser.RULE_alter_index_ops_set2 = 117; +PlSqlParser.RULE_visible_or_invisible = 118; +PlSqlParser.RULE_monitoring_nomonitoring = 119; +PlSqlParser.RULE_rebuild_clause = 120; +PlSqlParser.RULE_alter_index_partitioning = 121; +PlSqlParser.RULE_modify_index_default_attrs = 122; +PlSqlParser.RULE_add_hash_index_partition = 123; +PlSqlParser.RULE_coalesce_index_partition = 124; +PlSqlParser.RULE_modify_index_partition = 125; +PlSqlParser.RULE_modify_index_partitions_ops = 126; +PlSqlParser.RULE_rename_index_partition = 127; +PlSqlParser.RULE_drop_index_partition = 128; +PlSqlParser.RULE_split_index_partition = 129; +PlSqlParser.RULE_index_partition_description = 130; +PlSqlParser.RULE_modify_index_subpartition = 131; +PlSqlParser.RULE_partition_name_old = 132; +PlSqlParser.RULE_new_partition_name = 133; +PlSqlParser.RULE_new_index_name = 134; +PlSqlParser.RULE_create_user = 135; +PlSqlParser.RULE_alter_user = 136; +PlSqlParser.RULE_alter_identified_by = 137; +PlSqlParser.RULE_identified_by = 138; +PlSqlParser.RULE_identified_other_clause = 139; +PlSqlParser.RULE_user_tablespace_clause = 140; +PlSqlParser.RULE_quota_clause = 141; +PlSqlParser.RULE_profile_clause = 142; +PlSqlParser.RULE_role_clause = 143; +PlSqlParser.RULE_user_default_role_clause = 144; +PlSqlParser.RULE_password_expire_clause = 145; +PlSqlParser.RULE_user_lock_clause = 146; +PlSqlParser.RULE_user_editions_clause = 147; +PlSqlParser.RULE_alter_user_editions_clause = 148; +PlSqlParser.RULE_proxy_clause = 149; +PlSqlParser.RULE_container_names = 150; +PlSqlParser.RULE_set_container_data = 151; +PlSqlParser.RULE_add_rem_container_data = 152; +PlSqlParser.RULE_container_data_clause = 153; +PlSqlParser.RULE_analyze = 154; +PlSqlParser.RULE_partition_extention_clause = 155; +PlSqlParser.RULE_validation_clauses = 156; +PlSqlParser.RULE_online_or_offline = 157; +PlSqlParser.RULE_into_clause1 = 158; +PlSqlParser.RULE_partition_key_value = 159; +PlSqlParser.RULE_subpartition_key_value = 160; +PlSqlParser.RULE_associate_statistics = 161; +PlSqlParser.RULE_column_association = 162; +PlSqlParser.RULE_function_association = 163; +PlSqlParser.RULE_indextype_name = 164; +PlSqlParser.RULE_using_statistics_type = 165; +PlSqlParser.RULE_statistics_type_name = 166; +PlSqlParser.RULE_default_cost_clause = 167; +PlSqlParser.RULE_cpu_cost = 168; +PlSqlParser.RULE_io_cost = 169; +PlSqlParser.RULE_network_cost = 170; +PlSqlParser.RULE_default_selectivity_clause = 171; +PlSqlParser.RULE_default_selectivity = 172; +PlSqlParser.RULE_storage_table_clause = 173; +PlSqlParser.RULE_unified_auditing = 174; +PlSqlParser.RULE_policy_name = 175; +PlSqlParser.RULE_audit_traditional = 176; +PlSqlParser.RULE_audit_direct_path = 177; +PlSqlParser.RULE_audit_container_clause = 178; +PlSqlParser.RULE_audit_operation_clause = 179; +PlSqlParser.RULE_auditing_by_clause = 180; +PlSqlParser.RULE_audit_user = 181; +PlSqlParser.RULE_audit_schema_object_clause = 182; +PlSqlParser.RULE_sql_operation = 183; +PlSqlParser.RULE_auditing_on_clause = 184; +PlSqlParser.RULE_model_name = 185; +PlSqlParser.RULE_object_name = 186; +PlSqlParser.RULE_profile_name = 187; +PlSqlParser.RULE_sql_statement_shortcut = 188; +PlSqlParser.RULE_drop_index = 189; +PlSqlParser.RULE_rename_object = 190; +PlSqlParser.RULE_grant_statement = 191; +PlSqlParser.RULE_container_clause = 192; +PlSqlParser.RULE_create_directory = 193; +PlSqlParser.RULE_directory_name = 194; +PlSqlParser.RULE_directory_path = 195; +PlSqlParser.RULE_alter_library = 196; +PlSqlParser.RULE_library_editionable = 197; +PlSqlParser.RULE_library_debug = 198; +PlSqlParser.RULE_compiler_parameters_clause = 199; +PlSqlParser.RULE_parameter_value = 200; +PlSqlParser.RULE_library_name = 201; +PlSqlParser.RULE_alter_view = 202; +PlSqlParser.RULE_alter_view_editionable = 203; +PlSqlParser.RULE_create_view = 204; +PlSqlParser.RULE_view_options = 205; +PlSqlParser.RULE_view_alias_constraint = 206; +PlSqlParser.RULE_object_view_clause = 207; +PlSqlParser.RULE_inline_constraint = 208; +PlSqlParser.RULE_inline_ref_constraint = 209; +PlSqlParser.RULE_out_of_line_ref_constraint = 210; +PlSqlParser.RULE_out_of_line_constraint = 211; +PlSqlParser.RULE_constraint_state = 212; +PlSqlParser.RULE_alter_tablespace = 213; +PlSqlParser.RULE_datafile_tempfile_clauses = 214; +PlSqlParser.RULE_tablespace_logging_clauses = 215; +PlSqlParser.RULE_tablespace_group_clause = 216; +PlSqlParser.RULE_tablespace_group_name = 217; +PlSqlParser.RULE_tablespace_state_clauses = 218; +PlSqlParser.RULE_flashback_mode_clause = 219; +PlSqlParser.RULE_new_tablespace_name = 220; +PlSqlParser.RULE_create_tablespace = 221; +PlSqlParser.RULE_permanent_tablespace_clause = 222; +PlSqlParser.RULE_tablespace_encryption_spec = 223; +PlSqlParser.RULE_logging_clause = 224; +PlSqlParser.RULE_extent_management_clause = 225; +PlSqlParser.RULE_segment_management_clause = 226; +PlSqlParser.RULE_temporary_tablespace_clause = 227; +PlSqlParser.RULE_undo_tablespace_clause = 228; +PlSqlParser.RULE_tablespace_retention_clause = 229; +PlSqlParser.RULE_datafile_specification = 230; +PlSqlParser.RULE_tempfile_specification = 231; +PlSqlParser.RULE_datafile_tempfile_spec = 232; +PlSqlParser.RULE_redo_log_file_spec = 233; +PlSqlParser.RULE_autoextend_clause = 234; +PlSqlParser.RULE_maxsize_clause = 235; +PlSqlParser.RULE_build_clause = 236; +PlSqlParser.RULE_parallel_clause = 237; +PlSqlParser.RULE_alter_materialized_view = 238; +PlSqlParser.RULE_alter_mv_option1 = 239; +PlSqlParser.RULE_alter_mv_refresh = 240; +PlSqlParser.RULE_rollback_segment = 241; +PlSqlParser.RULE_modify_mv_column_clause = 242; +PlSqlParser.RULE_alter_materialized_view_log = 243; +PlSqlParser.RULE_add_mv_log_column_clause = 244; +PlSqlParser.RULE_move_mv_log_clause = 245; +PlSqlParser.RULE_mv_log_augmentation = 246; +PlSqlParser.RULE_datetime_expr = 247; +PlSqlParser.RULE_interval_expr = 248; +PlSqlParser.RULE_synchronous_or_asynchronous = 249; +PlSqlParser.RULE_including_or_excluding = 250; +PlSqlParser.RULE_create_materialized_view_log = 251; +PlSqlParser.RULE_new_values_clause = 252; +PlSqlParser.RULE_mv_log_purge_clause = 253; +PlSqlParser.RULE_create_materialized_view = 254; +PlSqlParser.RULE_create_mv_refresh = 255; +PlSqlParser.RULE_create_context = 256; +PlSqlParser.RULE_oracle_namespace = 257; +PlSqlParser.RULE_create_cluster = 258; +PlSqlParser.RULE_create_table = 259; +PlSqlParser.RULE_xmltype_table = 260; +PlSqlParser.RULE_xmltype_virtual_columns = 261; +PlSqlParser.RULE_xmltype_column_properties = 262; +PlSqlParser.RULE_xmltype_storage = 263; +PlSqlParser.RULE_xmlschema_spec = 264; +PlSqlParser.RULE_object_table = 265; +PlSqlParser.RULE_oid_index_clause = 266; +PlSqlParser.RULE_oid_clause = 267; +PlSqlParser.RULE_object_properties = 268; +PlSqlParser.RULE_object_table_substitution = 269; +PlSqlParser.RULE_relational_table = 270; +PlSqlParser.RULE_relational_property = 271; +PlSqlParser.RULE_table_partitioning_clauses = 272; +PlSqlParser.RULE_range_partitions = 273; +PlSqlParser.RULE_list_partitions = 274; +PlSqlParser.RULE_hash_partitions = 275; +PlSqlParser.RULE_individual_hash_partitions = 276; +PlSqlParser.RULE_hash_partitions_by_quantity = 277; +PlSqlParser.RULE_hash_partition_quantity = 278; +PlSqlParser.RULE_composite_range_partitions = 279; +PlSqlParser.RULE_composite_list_partitions = 280; +PlSqlParser.RULE_composite_hash_partitions = 281; +PlSqlParser.RULE_reference_partitioning = 282; +PlSqlParser.RULE_reference_partition_desc = 283; +PlSqlParser.RULE_system_partitioning = 284; +PlSqlParser.RULE_range_partition_desc = 285; +PlSqlParser.RULE_list_partition_desc = 286; +PlSqlParser.RULE_subpartition_template = 287; +PlSqlParser.RULE_hash_subpartition_quantity = 288; +PlSqlParser.RULE_subpartition_by_range = 289; +PlSqlParser.RULE_subpartition_by_list = 290; +PlSqlParser.RULE_subpartition_by_hash = 291; +PlSqlParser.RULE_subpartition_name = 292; +PlSqlParser.RULE_range_subpartition_desc = 293; +PlSqlParser.RULE_list_subpartition_desc = 294; +PlSqlParser.RULE_individual_hash_subparts = 295; +PlSqlParser.RULE_hash_subparts_by_quantity = 296; +PlSqlParser.RULE_range_values_clause = 297; +PlSqlParser.RULE_list_values_clause = 298; +PlSqlParser.RULE_table_partition_description = 299; +PlSqlParser.RULE_partitioning_storage_clause = 300; +PlSqlParser.RULE_lob_partitioning_storage = 301; +PlSqlParser.RULE_datatype_null_enable = 302; +PlSqlParser.RULE_size_clause = 303; +PlSqlParser.RULE_table_compression = 304; +PlSqlParser.RULE_physical_attributes_clause = 305; +PlSqlParser.RULE_storage_clause = 306; +PlSqlParser.RULE_deferred_segment_creation = 307; +PlSqlParser.RULE_segment_attributes_clause = 308; +PlSqlParser.RULE_physical_properties = 309; +PlSqlParser.RULE_row_movement_clause = 310; +PlSqlParser.RULE_flashback_archive_clause = 311; +PlSqlParser.RULE_log_grp = 312; +PlSqlParser.RULE_supplemental_table_logging = 313; +PlSqlParser.RULE_supplemental_log_grp_clause = 314; +PlSqlParser.RULE_supplemental_id_key_clause = 315; +PlSqlParser.RULE_allocate_extent_clause = 316; +PlSqlParser.RULE_deallocate_unused_clause = 317; +PlSqlParser.RULE_shrink_clause = 318; +PlSqlParser.RULE_records_per_block_clause = 319; +PlSqlParser.RULE_upgrade_table_clause = 320; +PlSqlParser.RULE_drop_table = 321; +PlSqlParser.RULE_drop_view = 322; +PlSqlParser.RULE_comment_on_column = 323; +PlSqlParser.RULE_enable_or_disable = 324; +PlSqlParser.RULE_allow_or_disallow = 325; +PlSqlParser.RULE_create_synonym = 326; +PlSqlParser.RULE_comment_on_table = 327; +PlSqlParser.RULE_alter_cluster = 328; +PlSqlParser.RULE_cache_or_nocache = 329; +PlSqlParser.RULE_database_name = 330; +PlSqlParser.RULE_alter_database = 331; +PlSqlParser.RULE_startup_clauses = 332; +PlSqlParser.RULE_resetlogs_or_noresetlogs = 333; +PlSqlParser.RULE_upgrade_or_downgrade = 334; +PlSqlParser.RULE_recovery_clauses = 335; +PlSqlParser.RULE_begin_or_end = 336; +PlSqlParser.RULE_general_recovery = 337; +PlSqlParser.RULE_full_database_recovery = 338; +PlSqlParser.RULE_partial_database_recovery = 339; +PlSqlParser.RULE_partial_database_recovery_10g = 340; +PlSqlParser.RULE_managed_standby_recovery = 341; +PlSqlParser.RULE_db_name = 342; +PlSqlParser.RULE_database_file_clauses = 343; +PlSqlParser.RULE_create_datafile_clause = 344; +PlSqlParser.RULE_alter_datafile_clause = 345; +PlSqlParser.RULE_alter_tempfile_clause = 346; +PlSqlParser.RULE_logfile_clauses = 347; +PlSqlParser.RULE_add_logfile_clauses = 348; +PlSqlParser.RULE_log_file_group = 349; +PlSqlParser.RULE_drop_logfile_clauses = 350; +PlSqlParser.RULE_switch_logfile_clause = 351; +PlSqlParser.RULE_supplemental_db_logging = 352; +PlSqlParser.RULE_add_or_drop = 353; +PlSqlParser.RULE_supplemental_plsql_clause = 354; +PlSqlParser.RULE_logfile_descriptor = 355; +PlSqlParser.RULE_controlfile_clauses = 356; +PlSqlParser.RULE_trace_file_clause = 357; +PlSqlParser.RULE_standby_database_clauses = 358; +PlSqlParser.RULE_activate_standby_db_clause = 359; +PlSqlParser.RULE_maximize_standby_db_clause = 360; +PlSqlParser.RULE_register_logfile_clause = 361; +PlSqlParser.RULE_commit_switchover_clause = 362; +PlSqlParser.RULE_start_standby_clause = 363; +PlSqlParser.RULE_stop_standby_clause = 364; +PlSqlParser.RULE_convert_database_clause = 365; +PlSqlParser.RULE_default_settings_clause = 366; +PlSqlParser.RULE_set_time_zone_clause = 367; +PlSqlParser.RULE_instance_clauses = 368; +PlSqlParser.RULE_security_clause = 369; +PlSqlParser.RULE_domain = 370; +PlSqlParser.RULE_database = 371; +PlSqlParser.RULE_edition_name = 372; +PlSqlParser.RULE_filenumber = 373; +PlSqlParser.RULE_filename = 374; +PlSqlParser.RULE_alter_table = 375; +PlSqlParser.RULE_alter_table_properties = 376; +PlSqlParser.RULE_alter_table_properties_1 = 377; +PlSqlParser.RULE_alter_iot_clauses = 378; +PlSqlParser.RULE_alter_mapping_table_clause = 379; +PlSqlParser.RULE_alter_overflow_clause = 380; +PlSqlParser.RULE_add_overflow_clause = 381; +PlSqlParser.RULE_enable_disable_clause = 382; +PlSqlParser.RULE_using_index_clause = 383; +PlSqlParser.RULE_index_attributes = 384; +PlSqlParser.RULE_sort_or_nosort = 385; +PlSqlParser.RULE_exceptions_clause = 386; +PlSqlParser.RULE_move_table_clause = 387; +PlSqlParser.RULE_index_org_table_clause = 388; +PlSqlParser.RULE_mapping_table_clause = 389; +PlSqlParser.RULE_key_compression = 390; +PlSqlParser.RULE_index_org_overflow_clause = 391; +PlSqlParser.RULE_column_clauses = 392; +PlSqlParser.RULE_modify_collection_retrieval = 393; +PlSqlParser.RULE_collection_item = 394; +PlSqlParser.RULE_rename_column_clause = 395; +PlSqlParser.RULE_old_column_name = 396; +PlSqlParser.RULE_new_column_name = 397; +PlSqlParser.RULE_add_modify_drop_column_clauses = 398; +PlSqlParser.RULE_drop_column_clause = 399; +PlSqlParser.RULE_modify_column_clauses = 400; +PlSqlParser.RULE_modify_col_properties = 401; +PlSqlParser.RULE_modify_col_substitutable = 402; +PlSqlParser.RULE_add_column_clause = 403; +PlSqlParser.RULE_alter_varray_col_properties = 404; +PlSqlParser.RULE_varray_col_properties = 405; +PlSqlParser.RULE_varray_storage_clause = 406; +PlSqlParser.RULE_lob_segname = 407; +PlSqlParser.RULE_lob_item = 408; +PlSqlParser.RULE_lob_storage_parameters = 409; +PlSqlParser.RULE_lob_storage_clause = 410; +PlSqlParser.RULE_modify_lob_storage_clause = 411; +PlSqlParser.RULE_modify_lob_parameters = 412; +PlSqlParser.RULE_lob_parameters = 413; +PlSqlParser.RULE_lob_deduplicate_clause = 414; +PlSqlParser.RULE_lob_compression_clause = 415; +PlSqlParser.RULE_lob_retention_clause = 416; +PlSqlParser.RULE_encryption_spec = 417; +PlSqlParser.RULE_tablespace = 418; +PlSqlParser.RULE_varray_item = 419; +PlSqlParser.RULE_column_properties = 420; +PlSqlParser.RULE_period_definition = 421; +PlSqlParser.RULE_start_time_column = 422; +PlSqlParser.RULE_end_time_column = 423; +PlSqlParser.RULE_column_definition = 424; +PlSqlParser.RULE_virtual_column_definition = 425; +PlSqlParser.RULE_autogenerated_sequence_definition = 426; +PlSqlParser.RULE_out_of_line_part_storage = 427; +PlSqlParser.RULE_nested_table_col_properties = 428; +PlSqlParser.RULE_nested_item = 429; +PlSqlParser.RULE_substitutable_column_clause = 430; +PlSqlParser.RULE_partition_name = 431; +PlSqlParser.RULE_supplemental_logging_props = 432; +PlSqlParser.RULE_column_or_attribute = 433; +PlSqlParser.RULE_object_type_col_properties = 434; +PlSqlParser.RULE_constraint_clauses = 435; +PlSqlParser.RULE_old_constraint_name = 436; +PlSqlParser.RULE_new_constraint_name = 437; +PlSqlParser.RULE_drop_constraint_clause = 438; +PlSqlParser.RULE_drop_primary_key_or_unique_or_generic_clause = 439; +PlSqlParser.RULE_add_constraint = 440; +PlSqlParser.RULE_add_constraint_clause = 441; +PlSqlParser.RULE_check_constraint = 442; +PlSqlParser.RULE_drop_constraint = 443; +PlSqlParser.RULE_enable_constraint = 444; +PlSqlParser.RULE_disable_constraint = 445; +PlSqlParser.RULE_foreign_key_clause = 446; +PlSqlParser.RULE_references_clause = 447; +PlSqlParser.RULE_on_delete_clause = 448; +PlSqlParser.RULE_unique_key_clause = 449; +PlSqlParser.RULE_primary_key_clause = 450; +PlSqlParser.RULE_anonymous_block = 451; +PlSqlParser.RULE_invoker_rights_clause = 452; +PlSqlParser.RULE_call_spec = 453; +PlSqlParser.RULE_java_spec = 454; +PlSqlParser.RULE_c_spec = 455; +PlSqlParser.RULE_c_agent_in_clause = 456; +PlSqlParser.RULE_c_parameters_clause = 457; +PlSqlParser.RULE_parameter = 458; +PlSqlParser.RULE_default_value_part = 459; +PlSqlParser.RULE_seq_of_declare_specs = 460; +PlSqlParser.RULE_declare_spec = 461; +PlSqlParser.RULE_variable_declaration = 462; +PlSqlParser.RULE_subtype_declaration = 463; +PlSqlParser.RULE_cursor_declaration = 464; +PlSqlParser.RULE_parameter_spec = 465; +PlSqlParser.RULE_exception_declaration = 466; +PlSqlParser.RULE_pragma_declaration = 467; +PlSqlParser.RULE_record_type_def = 468; +PlSqlParser.RULE_field_spec = 469; +PlSqlParser.RULE_ref_cursor_type_def = 470; +PlSqlParser.RULE_type_declaration = 471; +PlSqlParser.RULE_table_type_def = 472; +PlSqlParser.RULE_table_indexed_by_part = 473; +PlSqlParser.RULE_varray_type_def = 474; +PlSqlParser.RULE_seq_of_statements = 475; +PlSqlParser.RULE_label_declaration = 476; +PlSqlParser.RULE_statement = 477; +PlSqlParser.RULE_swallow_to_semi = 478; +PlSqlParser.RULE_assignment_statement = 479; +PlSqlParser.RULE_continue_statement = 480; +PlSqlParser.RULE_exit_statement = 481; +PlSqlParser.RULE_goto_statement = 482; +PlSqlParser.RULE_if_statement = 483; +PlSqlParser.RULE_elsif_part = 484; +PlSqlParser.RULE_else_part = 485; +PlSqlParser.RULE_loop_statement = 486; +PlSqlParser.RULE_cursor_loop_param = 487; +PlSqlParser.RULE_forall_statement = 488; +PlSqlParser.RULE_bounds_clause = 489; +PlSqlParser.RULE_between_bound = 490; +PlSqlParser.RULE_lower_bound = 491; +PlSqlParser.RULE_upper_bound = 492; +PlSqlParser.RULE_null_statement = 493; +PlSqlParser.RULE_raise_statement = 494; +PlSqlParser.RULE_return_statement = 495; +PlSqlParser.RULE_function_call = 496; +PlSqlParser.RULE_procedure_call = 497; +PlSqlParser.RULE_pipe_row_statement = 498; +PlSqlParser.RULE_body = 499; +PlSqlParser.RULE_exception_handler = 500; +PlSqlParser.RULE_trigger_block = 501; +PlSqlParser.RULE_block = 502; +PlSqlParser.RULE_sql_statement = 503; +PlSqlParser.RULE_execute_immediate = 504; +PlSqlParser.RULE_dynamic_returning_clause = 505; +PlSqlParser.RULE_data_manipulation_language_statements = 506; +PlSqlParser.RULE_cursor_manipulation_statements = 507; +PlSqlParser.RULE_close_statement = 508; +PlSqlParser.RULE_open_statement = 509; +PlSqlParser.RULE_fetch_statement = 510; +PlSqlParser.RULE_open_for_statement = 511; +PlSqlParser.RULE_transaction_control_statements = 512; +PlSqlParser.RULE_set_transaction_command = 513; +PlSqlParser.RULE_set_constraint_command = 514; +PlSqlParser.RULE_commit_statement = 515; +PlSqlParser.RULE_write_clause = 516; +PlSqlParser.RULE_rollback_statement = 517; +PlSqlParser.RULE_savepoint_statement = 518; +PlSqlParser.RULE_explain_statement = 519; +PlSqlParser.RULE_select_only_statement = 520; +PlSqlParser.RULE_select_statement = 521; +PlSqlParser.RULE_subquery_factoring_clause = 522; +PlSqlParser.RULE_factoring_element = 523; +PlSqlParser.RULE_search_clause = 524; +PlSqlParser.RULE_cycle_clause = 525; +PlSqlParser.RULE_subquery = 526; +PlSqlParser.RULE_subquery_basic_elements = 527; +PlSqlParser.RULE_subquery_operation_part = 528; +PlSqlParser.RULE_query_block = 529; +PlSqlParser.RULE_selected_list = 530; +PlSqlParser.RULE_from_clause = 531; +PlSqlParser.RULE_select_list_elements = 532; +PlSqlParser.RULE_table_ref_list = 533; +PlSqlParser.RULE_table_ref = 534; +PlSqlParser.RULE_table_ref_aux = 535; +PlSqlParser.RULE_table_ref_aux_internal = 536; +PlSqlParser.RULE_join_clause = 537; +PlSqlParser.RULE_join_on_part = 538; +PlSqlParser.RULE_join_using_part = 539; +PlSqlParser.RULE_outer_join_type = 540; +PlSqlParser.RULE_query_partition_clause = 541; +PlSqlParser.RULE_flashback_query_clause = 542; +PlSqlParser.RULE_pivot_clause = 543; +PlSqlParser.RULE_pivot_element = 544; +PlSqlParser.RULE_pivot_for_clause = 545; +PlSqlParser.RULE_pivot_in_clause = 546; +PlSqlParser.RULE_pivot_in_clause_element = 547; +PlSqlParser.RULE_pivot_in_clause_elements = 548; +PlSqlParser.RULE_unpivot_clause = 549; +PlSqlParser.RULE_unpivot_in_clause = 550; +PlSqlParser.RULE_unpivot_in_elements = 551; +PlSqlParser.RULE_hierarchical_query_clause = 552; +PlSqlParser.RULE_start_part = 553; +PlSqlParser.RULE_group_by_clause = 554; +PlSqlParser.RULE_group_by_elements = 555; +PlSqlParser.RULE_rollup_cube_clause = 556; +PlSqlParser.RULE_grouping_sets_clause = 557; +PlSqlParser.RULE_grouping_sets_elements = 558; +PlSqlParser.RULE_having_clause = 559; +PlSqlParser.RULE_model_clause = 560; +PlSqlParser.RULE_cell_reference_options = 561; +PlSqlParser.RULE_return_rows_clause = 562; +PlSqlParser.RULE_reference_model = 563; +PlSqlParser.RULE_main_model = 564; +PlSqlParser.RULE_model_column_clauses = 565; +PlSqlParser.RULE_model_column_partition_part = 566; +PlSqlParser.RULE_model_column_list = 567; +PlSqlParser.RULE_model_column = 568; +PlSqlParser.RULE_model_rules_clause = 569; +PlSqlParser.RULE_model_rules_part = 570; +PlSqlParser.RULE_model_rules_element = 571; +PlSqlParser.RULE_cell_assignment = 572; +PlSqlParser.RULE_model_iterate_clause = 573; +PlSqlParser.RULE_until_part = 574; +PlSqlParser.RULE_order_by_clause = 575; +PlSqlParser.RULE_order_by_elements = 576; +PlSqlParser.RULE_offset_clause = 577; +PlSqlParser.RULE_fetch_clause = 578; +PlSqlParser.RULE_for_update_clause = 579; +PlSqlParser.RULE_for_update_of_part = 580; +PlSqlParser.RULE_for_update_options = 581; +PlSqlParser.RULE_update_statement = 582; +PlSqlParser.RULE_update_set_clause = 583; +PlSqlParser.RULE_column_based_update_set_clause = 584; +PlSqlParser.RULE_delete_statement = 585; +PlSqlParser.RULE_insert_statement = 586; +PlSqlParser.RULE_single_table_insert = 587; +PlSqlParser.RULE_multi_table_insert = 588; +PlSqlParser.RULE_multi_table_element = 589; +PlSqlParser.RULE_conditional_insert_clause = 590; +PlSqlParser.RULE_conditional_insert_when_part = 591; +PlSqlParser.RULE_conditional_insert_else_part = 592; +PlSqlParser.RULE_insert_into_clause = 593; +PlSqlParser.RULE_values_clause = 594; +PlSqlParser.RULE_merge_statement = 595; +PlSqlParser.RULE_merge_update_clause = 596; +PlSqlParser.RULE_merge_element = 597; +PlSqlParser.RULE_merge_update_delete_part = 598; +PlSqlParser.RULE_merge_insert_clause = 599; +PlSqlParser.RULE_selected_tableview = 600; +PlSqlParser.RULE_lock_table_statement = 601; +PlSqlParser.RULE_wait_nowait_part = 602; +PlSqlParser.RULE_lock_table_element = 603; +PlSqlParser.RULE_lock_mode = 604; +PlSqlParser.RULE_general_table_ref = 605; +PlSqlParser.RULE_static_returning_clause = 606; +PlSqlParser.RULE_error_logging_clause = 607; +PlSqlParser.RULE_error_logging_into_part = 608; +PlSqlParser.RULE_error_logging_reject_part = 609; +PlSqlParser.RULE_dml_table_expression_clause = 610; +PlSqlParser.RULE_table_collection_expression = 611; +PlSqlParser.RULE_subquery_restriction_clause = 612; +PlSqlParser.RULE_sample_clause = 613; +PlSqlParser.RULE_seed_part = 614; +PlSqlParser.RULE_condition = 615; +PlSqlParser.RULE_expressions = 616; +PlSqlParser.RULE_expression = 617; +PlSqlParser.RULE_cursor_expression = 618; +PlSqlParser.RULE_logical_expression = 619; +PlSqlParser.RULE_unary_logical_expression = 620; +PlSqlParser.RULE_logical_operation = 621; +PlSqlParser.RULE_multiset_expression = 622; +PlSqlParser.RULE_relational_expression = 623; +PlSqlParser.RULE_compound_expression = 624; +PlSqlParser.RULE_relational_operator = 625; +PlSqlParser.RULE_in_elements = 626; +PlSqlParser.RULE_between_elements = 627; +PlSqlParser.RULE_concatenation = 628; +PlSqlParser.RULE_interval_expression = 629; +PlSqlParser.RULE_model_expression = 630; +PlSqlParser.RULE_model_expression_element = 631; +PlSqlParser.RULE_single_column_for_loop = 632; +PlSqlParser.RULE_multi_column_for_loop = 633; +PlSqlParser.RULE_unary_expression = 634; +PlSqlParser.RULE_case_statement = 635; +PlSqlParser.RULE_simple_case_statement = 636; +PlSqlParser.RULE_simple_case_when_part = 637; +PlSqlParser.RULE_searched_case_statement = 638; +PlSqlParser.RULE_searched_case_when_part = 639; +PlSqlParser.RULE_case_else_part = 640; +PlSqlParser.RULE_atom = 641; +PlSqlParser.RULE_quantified_expression = 642; +PlSqlParser.RULE_string_function = 643; +PlSqlParser.RULE_standard_function = 644; +PlSqlParser.RULE_literal = 645; +PlSqlParser.RULE_numeric_function_wrapper = 646; +PlSqlParser.RULE_numeric_function = 647; +PlSqlParser.RULE_other_function = 648; +PlSqlParser.RULE_over_clause_keyword = 649; +PlSqlParser.RULE_within_or_over_clause_keyword = 650; +PlSqlParser.RULE_standard_prediction_function_keyword = 651; +PlSqlParser.RULE_over_clause = 652; +PlSqlParser.RULE_windowing_clause = 653; +PlSqlParser.RULE_windowing_type = 654; +PlSqlParser.RULE_windowing_elements = 655; +PlSqlParser.RULE_using_clause = 656; +PlSqlParser.RULE_using_element = 657; +PlSqlParser.RULE_collect_order_by_part = 658; +PlSqlParser.RULE_within_or_over_part = 659; +PlSqlParser.RULE_cost_matrix_clause = 660; +PlSqlParser.RULE_xml_passing_clause = 661; +PlSqlParser.RULE_xml_attributes_clause = 662; +PlSqlParser.RULE_xml_namespaces_clause = 663; +PlSqlParser.RULE_xml_table_column = 664; +PlSqlParser.RULE_xml_general_default_part = 665; +PlSqlParser.RULE_xml_multiuse_expression_element = 666; +PlSqlParser.RULE_xmlroot_param_version_part = 667; +PlSqlParser.RULE_xmlroot_param_standalone_part = 668; +PlSqlParser.RULE_xmlserialize_param_enconding_part = 669; +PlSqlParser.RULE_xmlserialize_param_version_part = 670; +PlSqlParser.RULE_xmlserialize_param_ident_part = 671; +PlSqlParser.RULE_sql_plus_command = 672; +PlSqlParser.RULE_whenever_command = 673; +PlSqlParser.RULE_set_command = 674; +PlSqlParser.RULE_partition_extension_clause = 675; +PlSqlParser.RULE_column_alias = 676; +PlSqlParser.RULE_table_alias = 677; +PlSqlParser.RULE_where_clause = 678; +PlSqlParser.RULE_into_clause = 679; +PlSqlParser.RULE_xml_column_name = 680; +PlSqlParser.RULE_cost_class_name = 681; +PlSqlParser.RULE_attribute_name = 682; +PlSqlParser.RULE_savepoint_name = 683; +PlSqlParser.RULE_rollback_segment_name = 684; +PlSqlParser.RULE_table_var_name = 685; +PlSqlParser.RULE_schema_name = 686; +PlSqlParser.RULE_routine_name = 687; +PlSqlParser.RULE_package_name = 688; +PlSqlParser.RULE_implementation_type_name = 689; +PlSqlParser.RULE_parameter_name = 690; +PlSqlParser.RULE_reference_model_name = 691; +PlSqlParser.RULE_main_model_name = 692; +PlSqlParser.RULE_container_tableview_name = 693; +PlSqlParser.RULE_aggregate_function_name = 694; +PlSqlParser.RULE_query_name = 695; +PlSqlParser.RULE_grantee_name = 696; +PlSqlParser.RULE_role_name = 697; +PlSqlParser.RULE_constraint_name = 698; +PlSqlParser.RULE_label_name = 699; +PlSqlParser.RULE_type_name = 700; +PlSqlParser.RULE_sequence_name = 701; +PlSqlParser.RULE_exception_name = 702; +PlSqlParser.RULE_function_name = 703; +PlSqlParser.RULE_procedure_name = 704; +PlSqlParser.RULE_trigger_name = 705; +PlSqlParser.RULE_variable_name = 706; +PlSqlParser.RULE_index_name = 707; +PlSqlParser.RULE_cursor_name = 708; +PlSqlParser.RULE_record_name = 709; +PlSqlParser.RULE_collection_name = 710; +PlSqlParser.RULE_link_name = 711; +PlSqlParser.RULE_column_name = 712; +PlSqlParser.RULE_tableview_name = 713; +PlSqlParser.RULE_xmltable = 714; +PlSqlParser.RULE_char_set_name = 715; +PlSqlParser.RULE_synonym_name = 716; +PlSqlParser.RULE_schema_object_name = 717; +PlSqlParser.RULE_dir_object_name = 718; +PlSqlParser.RULE_user_object_name = 719; +PlSqlParser.RULE_grant_object_name = 720; +PlSqlParser.RULE_column_list = 721; +PlSqlParser.RULE_paren_column_list = 722; +PlSqlParser.RULE_keep_clause = 723; +PlSqlParser.RULE_function_argument = 724; +PlSqlParser.RULE_function_argument_analytic = 725; +PlSqlParser.RULE_function_argument_modeling = 726; +PlSqlParser.RULE_respect_or_ignore_nulls = 727; +PlSqlParser.RULE_argument = 728; +PlSqlParser.RULE_type_spec = 729; +PlSqlParser.RULE_datatype = 730; +PlSqlParser.RULE_precision_part = 731; +PlSqlParser.RULE_native_datatype_element = 732; +PlSqlParser.RULE_bind_variable = 733; +PlSqlParser.RULE_general_element = 734; +PlSqlParser.RULE_general_element_part = 735; +PlSqlParser.RULE_table_element = 736; +PlSqlParser.RULE_object_privilege = 737; +PlSqlParser.RULE_system_privilege = 738; +PlSqlParser.RULE_constant = 739; +PlSqlParser.RULE_numeric = 740; +PlSqlParser.RULE_numeric_negative = 741; +PlSqlParser.RULE_quoted_string = 742; +PlSqlParser.RULE_identifier = 743; +PlSqlParser.RULE_id_expression = 744; +PlSqlParser.RULE_outer_join_sign = 745; +PlSqlParser.RULE_regular_id = 746; +PlSqlParser.RULE_non_reserved_keywords_in_12c = 747; +PlSqlParser.RULE_non_reserved_keywords_pre12c = 748; +PlSqlParser.RULE_string_function_name = 749; +PlSqlParser.RULE_numeric_function_name = 750; + + +function ProgramContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_program; + return this; +} + +ProgramContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +ProgramContext.prototype.constructor = ProgramContext; + +ProgramContext.prototype.sql_script = function() { + return this.getTypedRuleContext(Sql_scriptContext,0); +}; + +ProgramContext.prototype.EOF = function() { + return this.getToken(PlSqlParser.EOF, 0); +}; + +ProgramContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterProgram(this); + } +}; + +ProgramContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitProgram(this); + } +}; + +ProgramContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitProgram(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.ProgramContext = ProgramContext; + +PlSqlParser.prototype.program = function() { + + var localctx = new ProgramContext(this, this._ctx, this.state); + this.enterRule(localctx, 0, PlSqlParser.RULE_program); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1502; + this.sql_script(); + this.state = 1503; + this.match(PlSqlParser.EOF); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Sql_scriptContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_sql_script; + return this; +} + +Sql_scriptContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Sql_scriptContext.prototype.constructor = Sql_scriptContext; + +Sql_scriptContext.prototype.EOF = function() { + return this.getToken(PlSqlParser.EOF, 0); +}; + +Sql_scriptContext.prototype.unit_statement = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Unit_statementContext); + } else { + return this.getTypedRuleContext(Unit_statementContext,i); + } +}; + +Sql_scriptContext.prototype.sql_plus_command = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Sql_plus_commandContext); + } else { + return this.getTypedRuleContext(Sql_plus_commandContext,i); + } +}; + +Sql_scriptContext.prototype.SEMICOLON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SEMICOLON); + } else { + return this.getToken(PlSqlParser.SEMICOLON, i); + } +}; + + +Sql_scriptContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSql_script(this); + } +}; + +Sql_scriptContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSql_script(this); + } +}; + +Sql_scriptContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSql_script(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Sql_scriptContext = Sql_scriptContext; + +PlSqlParser.prototype.sql_script = function() { + + var localctx = new Sql_scriptContext(this, this._ctx, this.state); + this.enterRule(localctx, 2, PlSqlParser.RULE_sql_script); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1514; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,2,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1507; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,0,this._ctx); + switch(la_) { + case 1: + this.state = 1505; + this.unit_statement(); + break; + + case 2: + this.state = 1506; + this.sql_plus_command(); + break; + + } + this.state = 1510; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,1,this._ctx); + if(la_===1) { + this.state = 1509; + this.match(PlSqlParser.SEMICOLON); + + } + } + this.state = 1516; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,2,this._ctx); + } + + this.state = 1517; + this.match(PlSqlParser.EOF); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Unit_statementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_unit_statement; + return this; +} + +Unit_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Unit_statementContext.prototype.constructor = Unit_statementContext; + +Unit_statementContext.prototype.transaction_control_statements = function() { + return this.getTypedRuleContext(Transaction_control_statementsContext,0); +}; + +Unit_statementContext.prototype.alter_cluster = function() { + return this.getTypedRuleContext(Alter_clusterContext,0); +}; + +Unit_statementContext.prototype.alter_database = function() { + return this.getTypedRuleContext(Alter_databaseContext,0); +}; + +Unit_statementContext.prototype.alter_function = function() { + return this.getTypedRuleContext(Alter_functionContext,0); +}; + +Unit_statementContext.prototype.alter_package = function() { + return this.getTypedRuleContext(Alter_packageContext,0); +}; + +Unit_statementContext.prototype.alter_procedure = function() { + return this.getTypedRuleContext(Alter_procedureContext,0); +}; + +Unit_statementContext.prototype.alter_sequence = function() { + return this.getTypedRuleContext(Alter_sequenceContext,0); +}; + +Unit_statementContext.prototype.alter_session = function() { + return this.getTypedRuleContext(Alter_sessionContext,0); +}; + +Unit_statementContext.prototype.alter_trigger = function() { + return this.getTypedRuleContext(Alter_triggerContext,0); +}; + +Unit_statementContext.prototype.alter_type = function() { + return this.getTypedRuleContext(Alter_typeContext,0); +}; + +Unit_statementContext.prototype.alter_table = function() { + return this.getTypedRuleContext(Alter_tableContext,0); +}; + +Unit_statementContext.prototype.alter_tablespace = function() { + return this.getTypedRuleContext(Alter_tablespaceContext,0); +}; + +Unit_statementContext.prototype.alter_index = function() { + return this.getTypedRuleContext(Alter_indexContext,0); +}; + +Unit_statementContext.prototype.alter_library = function() { + return this.getTypedRuleContext(Alter_libraryContext,0); +}; + +Unit_statementContext.prototype.alter_materialized_view = function() { + return this.getTypedRuleContext(Alter_materialized_viewContext,0); +}; + +Unit_statementContext.prototype.alter_materialized_view_log = function() { + return this.getTypedRuleContext(Alter_materialized_view_logContext,0); +}; + +Unit_statementContext.prototype.alter_user = function() { + return this.getTypedRuleContext(Alter_userContext,0); +}; + +Unit_statementContext.prototype.alter_view = function() { + return this.getTypedRuleContext(Alter_viewContext,0); +}; + +Unit_statementContext.prototype.analyze = function() { + return this.getTypedRuleContext(AnalyzeContext,0); +}; + +Unit_statementContext.prototype.associate_statistics = function() { + return this.getTypedRuleContext(Associate_statisticsContext,0); +}; + +Unit_statementContext.prototype.audit_traditional = function() { + return this.getTypedRuleContext(Audit_traditionalContext,0); +}; + +Unit_statementContext.prototype.unified_auditing = function() { + return this.getTypedRuleContext(Unified_auditingContext,0); +}; + +Unit_statementContext.prototype.create_function_body = function() { + return this.getTypedRuleContext(Create_function_bodyContext,0); +}; + +Unit_statementContext.prototype.create_procedure_body = function() { + return this.getTypedRuleContext(Create_procedure_bodyContext,0); +}; + +Unit_statementContext.prototype.create_package = function() { + return this.getTypedRuleContext(Create_packageContext,0); +}; + +Unit_statementContext.prototype.create_package_body = function() { + return this.getTypedRuleContext(Create_package_bodyContext,0); +}; + +Unit_statementContext.prototype.create_index = function() { + return this.getTypedRuleContext(Create_indexContext,0); +}; + +Unit_statementContext.prototype.create_table = function() { + return this.getTypedRuleContext(Create_tableContext,0); +}; + +Unit_statementContext.prototype.create_tablespace = function() { + return this.getTypedRuleContext(Create_tablespaceContext,0); +}; + +Unit_statementContext.prototype.create_cluster = function() { + return this.getTypedRuleContext(Create_clusterContext,0); +}; + +Unit_statementContext.prototype.create_context = function() { + return this.getTypedRuleContext(Create_contextContext,0); +}; + +Unit_statementContext.prototype.create_view = function() { + return this.getTypedRuleContext(Create_viewContext,0); +}; + +Unit_statementContext.prototype.create_directory = function() { + return this.getTypedRuleContext(Create_directoryContext,0); +}; + +Unit_statementContext.prototype.create_materialized_view = function() { + return this.getTypedRuleContext(Create_materialized_viewContext,0); +}; + +Unit_statementContext.prototype.create_materialized_view_log = function() { + return this.getTypedRuleContext(Create_materialized_view_logContext,0); +}; + +Unit_statementContext.prototype.create_user = function() { + return this.getTypedRuleContext(Create_userContext,0); +}; + +Unit_statementContext.prototype.create_sequence = function() { + return this.getTypedRuleContext(Create_sequenceContext,0); +}; + +Unit_statementContext.prototype.create_trigger = function() { + return this.getTypedRuleContext(Create_triggerContext,0); +}; + +Unit_statementContext.prototype.create_type = function() { + return this.getTypedRuleContext(Create_typeContext,0); +}; + +Unit_statementContext.prototype.create_synonym = function() { + return this.getTypedRuleContext(Create_synonymContext,0); +}; + +Unit_statementContext.prototype.drop_function = function() { + return this.getTypedRuleContext(Drop_functionContext,0); +}; + +Unit_statementContext.prototype.drop_package = function() { + return this.getTypedRuleContext(Drop_packageContext,0); +}; + +Unit_statementContext.prototype.drop_procedure = function() { + return this.getTypedRuleContext(Drop_procedureContext,0); +}; + +Unit_statementContext.prototype.drop_sequence = function() { + return this.getTypedRuleContext(Drop_sequenceContext,0); +}; + +Unit_statementContext.prototype.drop_trigger = function() { + return this.getTypedRuleContext(Drop_triggerContext,0); +}; + +Unit_statementContext.prototype.drop_type = function() { + return this.getTypedRuleContext(Drop_typeContext,0); +}; + +Unit_statementContext.prototype.data_manipulation_language_statements = function() { + return this.getTypedRuleContext(Data_manipulation_language_statementsContext,0); +}; + +Unit_statementContext.prototype.drop_table = function() { + return this.getTypedRuleContext(Drop_tableContext,0); +}; + +Unit_statementContext.prototype.drop_view = function() { + return this.getTypedRuleContext(Drop_viewContext,0); +}; + +Unit_statementContext.prototype.drop_index = function() { + return this.getTypedRuleContext(Drop_indexContext,0); +}; + +Unit_statementContext.prototype.rename_object = function() { + return this.getTypedRuleContext(Rename_objectContext,0); +}; + +Unit_statementContext.prototype.comment_on_column = function() { + return this.getTypedRuleContext(Comment_on_columnContext,0); +}; + +Unit_statementContext.prototype.comment_on_table = function() { + return this.getTypedRuleContext(Comment_on_tableContext,0); +}; + +Unit_statementContext.prototype.anonymous_block = function() { + return this.getTypedRuleContext(Anonymous_blockContext,0); +}; + +Unit_statementContext.prototype.grant_statement = function() { + return this.getTypedRuleContext(Grant_statementContext,0); +}; + +Unit_statementContext.prototype.procedure_call = function() { + return this.getTypedRuleContext(Procedure_callContext,0); +}; + +Unit_statementContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUnit_statement(this); + } +}; + +Unit_statementContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUnit_statement(this); + } +}; + +Unit_statementContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUnit_statement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Unit_statementContext = Unit_statementContext; + +PlSqlParser.prototype.unit_statement = function() { + + var localctx = new Unit_statementContext(this, this._ctx, this.state); + this.enterRule(localctx, 4, PlSqlParser.RULE_unit_statement); + try { + this.state = 1575; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,3,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1519; + this.transaction_control_statements(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1520; + this.alter_cluster(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1521; + this.alter_database(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 1522; + this.alter_function(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 1523; + this.alter_package(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 1524; + this.alter_procedure(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 1525; + this.alter_sequence(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 1526; + this.alter_session(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 1527; + this.alter_trigger(); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 1528; + this.alter_type(); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 1529; + this.alter_table(); + break; + + case 12: + this.enterOuterAlt(localctx, 12); + this.state = 1530; + this.alter_tablespace(); + break; + + case 13: + this.enterOuterAlt(localctx, 13); + this.state = 1531; + this.alter_index(); + break; + + case 14: + this.enterOuterAlt(localctx, 14); + this.state = 1532; + this.alter_library(); + break; + + case 15: + this.enterOuterAlt(localctx, 15); + this.state = 1533; + this.alter_materialized_view(); + break; + + case 16: + this.enterOuterAlt(localctx, 16); + this.state = 1534; + this.alter_materialized_view_log(); + break; + + case 17: + this.enterOuterAlt(localctx, 17); + this.state = 1535; + this.alter_user(); + break; + + case 18: + this.enterOuterAlt(localctx, 18); + this.state = 1536; + this.alter_view(); + break; + + case 19: + this.enterOuterAlt(localctx, 19); + this.state = 1537; + this.analyze(); + break; + + case 20: + this.enterOuterAlt(localctx, 20); + this.state = 1538; + this.associate_statistics(); + break; + + case 21: + this.enterOuterAlt(localctx, 21); + this.state = 1539; + this.audit_traditional(); + break; + + case 22: + this.enterOuterAlt(localctx, 22); + this.state = 1540; + this.unified_auditing(); + break; + + case 23: + this.enterOuterAlt(localctx, 23); + this.state = 1541; + this.create_function_body(); + break; + + case 24: + this.enterOuterAlt(localctx, 24); + this.state = 1542; + this.create_procedure_body(); + break; + + case 25: + this.enterOuterAlt(localctx, 25); + this.state = 1543; + this.create_package(); + break; + + case 26: + this.enterOuterAlt(localctx, 26); + this.state = 1544; + this.create_package_body(); + break; + + case 27: + this.enterOuterAlt(localctx, 27); + this.state = 1545; + this.create_index(); + break; + + case 28: + this.enterOuterAlt(localctx, 28); + this.state = 1546; + this.create_table(); + break; + + case 29: + this.enterOuterAlt(localctx, 29); + this.state = 1547; + this.create_tablespace(); + break; + + case 30: + this.enterOuterAlt(localctx, 30); + this.state = 1548; + this.create_cluster(); + break; + + case 31: + this.enterOuterAlt(localctx, 31); + this.state = 1549; + this.create_context(); + break; + + case 32: + this.enterOuterAlt(localctx, 32); + this.state = 1550; + this.create_view(); + break; + + case 33: + this.enterOuterAlt(localctx, 33); + this.state = 1551; + this.create_directory(); + break; + + case 34: + this.enterOuterAlt(localctx, 34); + this.state = 1552; + this.create_materialized_view(); + break; + + case 35: + this.enterOuterAlt(localctx, 35); + this.state = 1553; + this.create_materialized_view_log(); + break; + + case 36: + this.enterOuterAlt(localctx, 36); + this.state = 1554; + this.create_user(); + break; + + case 37: + this.enterOuterAlt(localctx, 37); + this.state = 1555; + this.create_sequence(); + break; + + case 38: + this.enterOuterAlt(localctx, 38); + this.state = 1556; + this.create_trigger(); + break; + + case 39: + this.enterOuterAlt(localctx, 39); + this.state = 1557; + this.create_type(); + break; + + case 40: + this.enterOuterAlt(localctx, 40); + this.state = 1558; + this.create_synonym(); + break; + + case 41: + this.enterOuterAlt(localctx, 41); + this.state = 1559; + this.drop_function(); + break; + + case 42: + this.enterOuterAlt(localctx, 42); + this.state = 1560; + this.drop_package(); + break; + + case 43: + this.enterOuterAlt(localctx, 43); + this.state = 1561; + this.drop_procedure(); + break; + + case 44: + this.enterOuterAlt(localctx, 44); + this.state = 1562; + this.drop_sequence(); + break; + + case 45: + this.enterOuterAlt(localctx, 45); + this.state = 1563; + this.drop_trigger(); + break; + + case 46: + this.enterOuterAlt(localctx, 46); + this.state = 1564; + this.drop_type(); + break; + + case 47: + this.enterOuterAlt(localctx, 47); + this.state = 1565; + this.data_manipulation_language_statements(); + break; + + case 48: + this.enterOuterAlt(localctx, 48); + this.state = 1566; + this.drop_table(); + break; + + case 49: + this.enterOuterAlt(localctx, 49); + this.state = 1567; + this.drop_view(); + break; + + case 50: + this.enterOuterAlt(localctx, 50); + this.state = 1568; + this.drop_index(); + break; + + case 51: + this.enterOuterAlt(localctx, 51); + this.state = 1569; + this.rename_object(); + break; + + case 52: + this.enterOuterAlt(localctx, 52); + this.state = 1570; + this.comment_on_column(); + break; + + case 53: + this.enterOuterAlt(localctx, 53); + this.state = 1571; + this.comment_on_table(); + break; + + case 54: + this.enterOuterAlt(localctx, 54); + this.state = 1572; + this.anonymous_block(); + break; + + case 55: + this.enterOuterAlt(localctx, 55); + this.state = 1573; + this.grant_statement(); + break; + + case 56: + this.enterOuterAlt(localctx, 56); + this.state = 1574; + this.procedure_call(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_functionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_function; + return this; +} + +Drop_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_functionContext.prototype.constructor = Drop_functionContext; + +Drop_functionContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_functionContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Drop_functionContext.prototype.function_name = function() { + return this.getTypedRuleContext(Function_nameContext,0); +}; + +Drop_functionContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_functionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_function(this); + } +}; + +Drop_functionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_function(this); + } +}; + +Drop_functionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_function(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_functionContext = Drop_functionContext; + +PlSqlParser.prototype.drop_function = function() { + + var localctx = new Drop_functionContext(this, this._ctx, this.state); + this.enterRule(localctx, 6, PlSqlParser.RULE_drop_function); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1577; + this.match(PlSqlParser.DROP); + this.state = 1578; + this.match(PlSqlParser.FUNCTION); + this.state = 1579; + this.function_name(); + this.state = 1580; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_functionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_function; + return this; +} + +Alter_functionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_functionContext.prototype.constructor = Alter_functionContext; + +Alter_functionContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_functionContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Alter_functionContext.prototype.function_name = function() { + return this.getTypedRuleContext(Function_nameContext,0); +}; + +Alter_functionContext.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Alter_functionContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_functionContext.prototype.DEBUG = function() { + return this.getToken(PlSqlParser.DEBUG, 0); +}; + +Alter_functionContext.prototype.compiler_parameters_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Compiler_parameters_clauseContext); + } else { + return this.getTypedRuleContext(Compiler_parameters_clauseContext,i); + } +}; + +Alter_functionContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Alter_functionContext.prototype.SETTINGS = function() { + return this.getToken(PlSqlParser.SETTINGS, 0); +}; + +Alter_functionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_function(this); + } +}; + +Alter_functionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_function(this); + } +}; + +Alter_functionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_function(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_functionContext = Alter_functionContext; + +PlSqlParser.prototype.alter_function = function() { + + var localctx = new Alter_functionContext(this, this._ctx, this.state); + this.enterRule(localctx, 8, PlSqlParser.RULE_alter_function); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1582; + this.match(PlSqlParser.ALTER); + this.state = 1583; + this.match(PlSqlParser.FUNCTION); + this.state = 1584; + this.function_name(); + this.state = 1585; + this.match(PlSqlParser.COMPILE); + this.state = 1587; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,4,this._ctx); + if(la_===1) { + this.state = 1586; + this.match(PlSqlParser.DEBUG); + + } + this.state = 1592; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,5,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1589; + this.compiler_parameters_clause(); + } + this.state = 1594; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,5,this._ctx); + } + + this.state = 1597; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 1595; + this.match(PlSqlParser.REUSE); + this.state = 1596; + this.match(PlSqlParser.SETTINGS); + } + + this.state = 1599; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_function_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_function_body; + return this; +} + +Create_function_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_function_bodyContext.prototype.constructor = Create_function_bodyContext; + +Create_function_bodyContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_function_bodyContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Create_function_bodyContext.prototype.function_name = function() { + return this.getTypedRuleContext(Function_nameContext,0); +}; + +Create_function_bodyContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Create_function_bodyContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Create_function_bodyContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_function_bodyContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Create_function_bodyContext.prototype.implementation_type_name = function() { + return this.getTypedRuleContext(Implementation_type_nameContext,0); +}; + +Create_function_bodyContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_function_bodyContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_function_bodyContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Create_function_bodyContext.prototype.parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ParameterContext); + } else { + return this.getTypedRuleContext(ParameterContext,i); + } +}; + +Create_function_bodyContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Create_function_bodyContext.prototype.invoker_rights_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Invoker_rights_clauseContext); + } else { + return this.getTypedRuleContext(Invoker_rights_clauseContext,i); + } +}; + +Create_function_bodyContext.prototype.parallel_enable_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Parallel_enable_clauseContext); + } else { + return this.getTypedRuleContext(Parallel_enable_clauseContext,i); + } +}; + +Create_function_bodyContext.prototype.result_cache_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Result_cache_clauseContext); + } else { + return this.getTypedRuleContext(Result_cache_clauseContext,i); + } +}; + +Create_function_bodyContext.prototype.DETERMINISTIC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DETERMINISTIC); + } else { + return this.getToken(PlSqlParser.DETERMINISTIC, i); + } +}; + + +Create_function_bodyContext.prototype.PIPELINED = function() { + return this.getToken(PlSqlParser.PIPELINED, 0); +}; + +Create_function_bodyContext.prototype.AGGREGATE = function() { + return this.getToken(PlSqlParser.AGGREGATE, 0); +}; + +Create_function_bodyContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Create_function_bodyContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_function_bodyContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Create_function_bodyContext.prototype.body = function() { + return this.getTypedRuleContext(BodyContext,0); +}; + +Create_function_bodyContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Create_function_bodyContext.prototype.DECLARE = function() { + return this.getToken(PlSqlParser.DECLARE, 0); +}; + +Create_function_bodyContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Create_function_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_function_body(this); + } +}; + +Create_function_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_function_body(this); + } +}; + +Create_function_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_function_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_function_bodyContext = Create_function_bodyContext; + +PlSqlParser.prototype.create_function_body = function() { + + var localctx = new Create_function_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 10, PlSqlParser.RULE_create_function_body); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1601; + this.match(PlSqlParser.CREATE); + this.state = 1604; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 1602; + this.match(PlSqlParser.OR); + this.state = 1603; + this.match(PlSqlParser.REPLACE); + } + + this.state = 1606; + this.match(PlSqlParser.FUNCTION); + this.state = 1607; + this.function_name(); + this.state = 1619; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 1608; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 1609; + this.parameter(); + this.state = 1614; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 1610; + this.match(PlSqlParser.COMMA); + this.state = 1611; + this.parameter(); + this.state = 1616; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1617; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 1621; + this.match(PlSqlParser.RETURN); + this.state = 1622; + this.type_spec(); + this.state = 1629; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.AUTHID || _la===PlSqlParser.DETERMINISTIC || _la===PlSqlParser.PARALLEL_ENABLE || _la===PlSqlParser.RESULT_CACHE) { + this.state = 1627; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.AUTHID: + this.state = 1623; + this.invoker_rights_clause(); + break; + case PlSqlParser.PARALLEL_ENABLE: + this.state = 1624; + this.parallel_enable_clause(); + break; + case PlSqlParser.RESULT_CACHE: + this.state = 1625; + this.result_cache_clause(); + break; + case PlSqlParser.DETERMINISTIC: + this.state = 1626; + this.match(PlSqlParser.DETERMINISTIC); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1631; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1649; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,16,this._ctx); + switch(la_) { + case 1: + this.state = 1633; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PIPELINED) { + this.state = 1632; + this.match(PlSqlParser.PIPELINED); + } + + this.state = 1635; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1644; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,15,this._ctx); + switch(la_) { + case 1: + this.state = 1637; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,13,this._ctx); + if(la_===1) { + this.state = 1636; + this.match(PlSqlParser.DECLARE); + + } + this.state = 1640; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,14,this._ctx); + if(la_===1) { + this.state = 1639; + this.seq_of_declare_specs(); + + } + this.state = 1642; + this.body(); + break; + + case 2: + this.state = 1643; + this.call_spec(); + break; + + } + break; + + case 2: + this.state = 1646; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AGGREGATE || _la===PlSqlParser.PIPELINED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1647; + this.match(PlSqlParser.USING); + this.state = 1648; + this.implementation_type_name(); + break; + + } + this.state = 1651; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Parallel_enable_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_parallel_enable_clause; + return this; +} + +Parallel_enable_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Parallel_enable_clauseContext.prototype.constructor = Parallel_enable_clauseContext; + +Parallel_enable_clauseContext.prototype.PARALLEL_ENABLE = function() { + return this.getToken(PlSqlParser.PARALLEL_ENABLE, 0); +}; + +Parallel_enable_clauseContext.prototype.partition_by_clause = function() { + return this.getTypedRuleContext(Partition_by_clauseContext,0); +}; + +Parallel_enable_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterParallel_enable_clause(this); + } +}; + +Parallel_enable_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitParallel_enable_clause(this); + } +}; + +Parallel_enable_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitParallel_enable_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Parallel_enable_clauseContext = Parallel_enable_clauseContext; + +PlSqlParser.prototype.parallel_enable_clause = function() { + + var localctx = new Parallel_enable_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 12, PlSqlParser.RULE_parallel_enable_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1653; + this.match(PlSqlParser.PARALLEL_ENABLE); + this.state = 1655; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 1654; + this.partition_by_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Partition_by_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_partition_by_clause; + return this; +} + +Partition_by_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Partition_by_clauseContext.prototype.constructor = Partition_by_clauseContext; + +Partition_by_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Partition_by_clauseContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Partition_by_clauseContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Partition_by_clauseContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Partition_by_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Partition_by_clauseContext.prototype.ANY = function() { + return this.getToken(PlSqlParser.ANY, 0); +}; + +Partition_by_clauseContext.prototype.paren_column_list = function() { + return this.getTypedRuleContext(Paren_column_listContext,0); +}; + +Partition_by_clauseContext.prototype.HASH = function() { + return this.getToken(PlSqlParser.HASH, 0); +}; + +Partition_by_clauseContext.prototype.RANGE = function() { + return this.getToken(PlSqlParser.RANGE, 0); +}; + +Partition_by_clauseContext.prototype.LIST = function() { + return this.getToken(PlSqlParser.LIST, 0); +}; + +Partition_by_clauseContext.prototype.streaming_clause = function() { + return this.getTypedRuleContext(Streaming_clauseContext,0); +}; + +Partition_by_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPartition_by_clause(this); + } +}; + +Partition_by_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPartition_by_clause(this); + } +}; + +Partition_by_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPartition_by_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Partition_by_clauseContext = Partition_by_clauseContext; + +PlSqlParser.prototype.partition_by_clause = function() { + + var localctx = new Partition_by_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 14, PlSqlParser.RULE_partition_by_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1657; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 1658; + this.match(PlSqlParser.PARTITION); + this.state = 1659; + this.expression(); + this.state = 1660; + this.match(PlSqlParser.BY); + this.state = 1664; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ANY: + this.state = 1661; + this.match(PlSqlParser.ANY); + break; + case PlSqlParser.HASH: + case PlSqlParser.LIST: + case PlSqlParser.RANGE: + this.state = 1662; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.HASH || _la===PlSqlParser.LIST || _la===PlSqlParser.RANGE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1663; + this.paren_column_list(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 1667; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CLUSTER || _la===PlSqlParser.ORDER) { + this.state = 1666; + this.streaming_clause(); + } + + this.state = 1669; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Result_cache_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_result_cache_clause; + return this; +} + +Result_cache_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Result_cache_clauseContext.prototype.constructor = Result_cache_clauseContext; + +Result_cache_clauseContext.prototype.RESULT_CACHE = function() { + return this.getToken(PlSqlParser.RESULT_CACHE, 0); +}; + +Result_cache_clauseContext.prototype.relies_on_part = function() { + return this.getTypedRuleContext(Relies_on_partContext,0); +}; + +Result_cache_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterResult_cache_clause(this); + } +}; + +Result_cache_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitResult_cache_clause(this); + } +}; + +Result_cache_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitResult_cache_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Result_cache_clauseContext = Result_cache_clauseContext; + +PlSqlParser.prototype.result_cache_clause = function() { + + var localctx = new Result_cache_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 16, PlSqlParser.RULE_result_cache_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1671; + this.match(PlSqlParser.RESULT_CACHE); + this.state = 1673; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.RELIES_ON) { + this.state = 1672; + this.relies_on_part(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Relies_on_partContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_relies_on_part; + return this; +} + +Relies_on_partContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Relies_on_partContext.prototype.constructor = Relies_on_partContext; + +Relies_on_partContext.prototype.RELIES_ON = function() { + return this.getToken(PlSqlParser.RELIES_ON, 0); +}; + +Relies_on_partContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Relies_on_partContext.prototype.tableview_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Tableview_nameContext); + } else { + return this.getTypedRuleContext(Tableview_nameContext,i); + } +}; + +Relies_on_partContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Relies_on_partContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Relies_on_partContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRelies_on_part(this); + } +}; + +Relies_on_partContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRelies_on_part(this); + } +}; + +Relies_on_partContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRelies_on_part(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Relies_on_partContext = Relies_on_partContext; + +PlSqlParser.prototype.relies_on_part = function() { + + var localctx = new Relies_on_partContext(this, this._ctx, this.state); + this.enterRule(localctx, 18, PlSqlParser.RULE_relies_on_part); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1675; + this.match(PlSqlParser.RELIES_ON); + this.state = 1676; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 1677; + this.tableview_name(); + this.state = 1682; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 1678; + this.match(PlSqlParser.COMMA); + this.state = 1679; + this.tableview_name(); + this.state = 1684; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1685; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Streaming_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_streaming_clause; + return this; +} + +Streaming_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Streaming_clauseContext.prototype.constructor = Streaming_clauseContext; + +Streaming_clauseContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Streaming_clauseContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Streaming_clauseContext.prototype.paren_column_list = function() { + return this.getTypedRuleContext(Paren_column_listContext,0); +}; + +Streaming_clauseContext.prototype.ORDER = function() { + return this.getToken(PlSqlParser.ORDER, 0); +}; + +Streaming_clauseContext.prototype.CLUSTER = function() { + return this.getToken(PlSqlParser.CLUSTER, 0); +}; + +Streaming_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterStreaming_clause(this); + } +}; + +Streaming_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitStreaming_clause(this); + } +}; + +Streaming_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitStreaming_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Streaming_clauseContext = Streaming_clauseContext; + +PlSqlParser.prototype.streaming_clause = function() { + + var localctx = new Streaming_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 20, PlSqlParser.RULE_streaming_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1687; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CLUSTER || _la===PlSqlParser.ORDER)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1688; + this.expression(); + this.state = 1689; + this.match(PlSqlParser.BY); + this.state = 1690; + this.paren_column_list(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_packageContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_package; + return this; +} + +Drop_packageContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_packageContext.prototype.constructor = Drop_packageContext; + +Drop_packageContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_packageContext.prototype.PACKAGE = function() { + return this.getToken(PlSqlParser.PACKAGE, 0); +}; + +Drop_packageContext.prototype.package_name = function() { + return this.getTypedRuleContext(Package_nameContext,0); +}; + +Drop_packageContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_packageContext.prototype.BODY = function() { + return this.getToken(PlSqlParser.BODY, 0); +}; + +Drop_packageContext.prototype.schema_object_name = function() { + return this.getTypedRuleContext(Schema_object_nameContext,0); +}; + +Drop_packageContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Drop_packageContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_package(this); + } +}; + +Drop_packageContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_package(this); + } +}; + +Drop_packageContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_package(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_packageContext = Drop_packageContext; + +PlSqlParser.prototype.drop_package = function() { + + var localctx = new Drop_packageContext(this, this._ctx, this.state); + this.enterRule(localctx, 22, PlSqlParser.RULE_drop_package); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1692; + this.match(PlSqlParser.DROP); + this.state = 1693; + this.match(PlSqlParser.PACKAGE); + this.state = 1695; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,22,this._ctx); + if(la_===1) { + this.state = 1694; + this.match(PlSqlParser.BODY); + + } + this.state = 1700; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,23,this._ctx); + if(la_===1) { + this.state = 1697; + this.schema_object_name(); + this.state = 1698; + this.match(PlSqlParser.PERIOD); + + } + this.state = 1702; + this.package_name(); + this.state = 1703; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_packageContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_package; + return this; +} + +Alter_packageContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_packageContext.prototype.constructor = Alter_packageContext; + +Alter_packageContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_packageContext.prototype.PACKAGE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PACKAGE); + } else { + return this.getToken(PlSqlParser.PACKAGE, i); + } +}; + + +Alter_packageContext.prototype.package_name = function() { + return this.getTypedRuleContext(Package_nameContext,0); +}; + +Alter_packageContext.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Alter_packageContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_packageContext.prototype.DEBUG = function() { + return this.getToken(PlSqlParser.DEBUG, 0); +}; + +Alter_packageContext.prototype.compiler_parameters_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Compiler_parameters_clauseContext); + } else { + return this.getTypedRuleContext(Compiler_parameters_clauseContext,i); + } +}; + +Alter_packageContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Alter_packageContext.prototype.SETTINGS = function() { + return this.getToken(PlSqlParser.SETTINGS, 0); +}; + +Alter_packageContext.prototype.BODY = function() { + return this.getToken(PlSqlParser.BODY, 0); +}; + +Alter_packageContext.prototype.SPECIFICATION = function() { + return this.getToken(PlSqlParser.SPECIFICATION, 0); +}; + +Alter_packageContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_package(this); + } +}; + +Alter_packageContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_package(this); + } +}; + +Alter_packageContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_package(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_packageContext = Alter_packageContext; + +PlSqlParser.prototype.alter_package = function() { + + var localctx = new Alter_packageContext(this, this._ctx, this.state); + this.enterRule(localctx, 24, PlSqlParser.RULE_alter_package); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1705; + this.match(PlSqlParser.ALTER); + this.state = 1706; + this.match(PlSqlParser.PACKAGE); + this.state = 1707; + this.package_name(); + this.state = 1708; + this.match(PlSqlParser.COMPILE); + this.state = 1710; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,24,this._ctx); + if(la_===1) { + this.state = 1709; + this.match(PlSqlParser.DEBUG); + + } + this.state = 1713; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,25,this._ctx); + if(la_===1) { + this.state = 1712; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BODY || _la===PlSqlParser.PACKAGE || _la===PlSqlParser.SPECIFICATION)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 1718; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,26,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1715; + this.compiler_parameters_clause(); + } + this.state = 1720; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,26,this._ctx); + } + + this.state = 1723; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 1721; + this.match(PlSqlParser.REUSE); + this.state = 1722; + this.match(PlSqlParser.SETTINGS); + } + + this.state = 1725; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_packageContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_package; + return this; +} + +Create_packageContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_packageContext.prototype.constructor = Create_packageContext; + +Create_packageContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_packageContext.prototype.PACKAGE = function() { + return this.getToken(PlSqlParser.PACKAGE, 0); +}; + +Create_packageContext.prototype.package_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Package_nameContext); + } else { + return this.getTypedRuleContext(Package_nameContext,i); + } +}; + +Create_packageContext.prototype.END = function() { + return this.getToken(PlSqlParser.END, 0); +}; + +Create_packageContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_packageContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Create_packageContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_packageContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_packageContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_packageContext.prototype.schema_object_name = function() { + return this.getTypedRuleContext(Schema_object_nameContext,0); +}; + +Create_packageContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Create_packageContext.prototype.invoker_rights_clause = function() { + return this.getTypedRuleContext(Invoker_rights_clauseContext,0); +}; + +Create_packageContext.prototype.package_obj_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Package_obj_specContext); + } else { + return this.getTypedRuleContext(Package_obj_specContext,i); + } +}; + +Create_packageContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_package(this); + } +}; + +Create_packageContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_package(this); + } +}; + +Create_packageContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_package(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_packageContext = Create_packageContext; + +PlSqlParser.prototype.create_package = function() { + + var localctx = new Create_packageContext(this, this._ctx, this.state); + this.enterRule(localctx, 26, PlSqlParser.RULE_create_package); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1727; + this.match(PlSqlParser.CREATE); + this.state = 1730; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 1728; + this.match(PlSqlParser.OR); + this.state = 1729; + this.match(PlSqlParser.REPLACE); + } + + this.state = 1732; + this.match(PlSqlParser.PACKAGE); + this.state = 1736; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,29,this._ctx); + if(la_===1) { + this.state = 1733; + this.schema_object_name(); + this.state = 1734; + this.match(PlSqlParser.PERIOD); + + } + this.state = 1738; + this.package_name(); + this.state = 1740; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AUTHID) { + this.state = 1739; + this.invoker_rights_clause(); + } + + this.state = 1742; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1746; + this._errHandler.sync(this); + _la = this._input.LA(1); + while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.DELIMITED_ID - 2211)))) !== 0) || _la===PlSqlParser.INTRODUCER || _la===PlSqlParser.REGULAR_ID) { + this.state = 1743; + this.package_obj_spec(); + this.state = 1748; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1749; + this.match(PlSqlParser.END); + this.state = 1751; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.DELIMITED_ID - 2211)))) !== 0) || _la===PlSqlParser.INTRODUCER || _la===PlSqlParser.REGULAR_ID) { + this.state = 1750; + this.package_name(); + } + + this.state = 1753; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_package_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_package_body; + return this; +} + +Create_package_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_package_bodyContext.prototype.constructor = Create_package_bodyContext; + +Create_package_bodyContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_package_bodyContext.prototype.PACKAGE = function() { + return this.getToken(PlSqlParser.PACKAGE, 0); +}; + +Create_package_bodyContext.prototype.BODY = function() { + return this.getToken(PlSqlParser.BODY, 0); +}; + +Create_package_bodyContext.prototype.package_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Package_nameContext); + } else { + return this.getTypedRuleContext(Package_nameContext,i); + } +}; + +Create_package_bodyContext.prototype.END = function() { + return this.getToken(PlSqlParser.END, 0); +}; + +Create_package_bodyContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_package_bodyContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Create_package_bodyContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_package_bodyContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_package_bodyContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_package_bodyContext.prototype.schema_object_name = function() { + return this.getTypedRuleContext(Schema_object_nameContext,0); +}; + +Create_package_bodyContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Create_package_bodyContext.prototype.package_obj_body = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Package_obj_bodyContext); + } else { + return this.getTypedRuleContext(Package_obj_bodyContext,i); + } +}; + +Create_package_bodyContext.prototype.BEGIN = function() { + return this.getToken(PlSqlParser.BEGIN, 0); +}; + +Create_package_bodyContext.prototype.seq_of_statements = function() { + return this.getTypedRuleContext(Seq_of_statementsContext,0); +}; + +Create_package_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_package_body(this); + } +}; + +Create_package_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_package_body(this); + } +}; + +Create_package_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_package_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_package_bodyContext = Create_package_bodyContext; + +PlSqlParser.prototype.create_package_body = function() { + + var localctx = new Create_package_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 28, PlSqlParser.RULE_create_package_body); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1755; + this.match(PlSqlParser.CREATE); + this.state = 1758; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 1756; + this.match(PlSqlParser.OR); + this.state = 1757; + this.match(PlSqlParser.REPLACE); + } + + this.state = 1760; + this.match(PlSqlParser.PACKAGE); + this.state = 1761; + this.match(PlSqlParser.BODY); + this.state = 1765; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,34,this._ctx); + if(la_===1) { + this.state = 1762; + this.schema_object_name(); + this.state = 1763; + this.match(PlSqlParser.PERIOD); + + } + this.state = 1767; + this.package_name(); + this.state = 1768; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1772; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,35,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1769; + this.package_obj_body(); + } + this.state = 1774; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,35,this._ctx); + } + + this.state = 1777; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BEGIN) { + this.state = 1775; + this.match(PlSqlParser.BEGIN); + this.state = 1776; + this.seq_of_statements(); + } + + this.state = 1779; + this.match(PlSqlParser.END); + this.state = 1781; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.DELIMITED_ID - 2211)))) !== 0) || _la===PlSqlParser.INTRODUCER || _la===PlSqlParser.REGULAR_ID) { + this.state = 1780; + this.package_name(); + } + + this.state = 1783; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Package_obj_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_package_obj_spec; + return this; +} + +Package_obj_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Package_obj_specContext.prototype.constructor = Package_obj_specContext; + +Package_obj_specContext.prototype.pragma_declaration = function() { + return this.getTypedRuleContext(Pragma_declarationContext,0); +}; + +Package_obj_specContext.prototype.variable_declaration = function() { + return this.getTypedRuleContext(Variable_declarationContext,0); +}; + +Package_obj_specContext.prototype.subtype_declaration = function() { + return this.getTypedRuleContext(Subtype_declarationContext,0); +}; + +Package_obj_specContext.prototype.cursor_declaration = function() { + return this.getTypedRuleContext(Cursor_declarationContext,0); +}; + +Package_obj_specContext.prototype.exception_declaration = function() { + return this.getTypedRuleContext(Exception_declarationContext,0); +}; + +Package_obj_specContext.prototype.type_declaration = function() { + return this.getTypedRuleContext(Type_declarationContext,0); +}; + +Package_obj_specContext.prototype.procedure_spec = function() { + return this.getTypedRuleContext(Procedure_specContext,0); +}; + +Package_obj_specContext.prototype.function_spec = function() { + return this.getTypedRuleContext(Function_specContext,0); +}; + +Package_obj_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPackage_obj_spec(this); + } +}; + +Package_obj_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPackage_obj_spec(this); + } +}; + +Package_obj_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPackage_obj_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Package_obj_specContext = Package_obj_specContext; + +PlSqlParser.prototype.package_obj_spec = function() { + + var localctx = new Package_obj_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 30, PlSqlParser.RULE_package_obj_spec); + try { + this.state = 1793; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,38,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1785; + this.pragma_declaration(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1786; + this.variable_declaration(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1787; + this.subtype_declaration(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 1788; + this.cursor_declaration(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 1789; + this.exception_declaration(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 1790; + this.type_declaration(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 1791; + this.procedure_spec(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 1792; + this.function_spec(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Procedure_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_procedure_spec; + return this; +} + +Procedure_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Procedure_specContext.prototype.constructor = Procedure_specContext; + +Procedure_specContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Procedure_specContext.prototype.identifier = function() { + return this.getTypedRuleContext(IdentifierContext,0); +}; + +Procedure_specContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Procedure_specContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Procedure_specContext.prototype.parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ParameterContext); + } else { + return this.getTypedRuleContext(ParameterContext,i); + } +}; + +Procedure_specContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Procedure_specContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Procedure_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterProcedure_spec(this); + } +}; + +Procedure_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitProcedure_spec(this); + } +}; + +Procedure_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitProcedure_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Procedure_specContext = Procedure_specContext; + +PlSqlParser.prototype.procedure_spec = function() { + + var localctx = new Procedure_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 32, PlSqlParser.RULE_procedure_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1795; + this.match(PlSqlParser.PROCEDURE); + this.state = 1796; + this.identifier(); + this.state = 1808; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 1797; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 1798; + this.parameter(); + this.state = 1803; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 1799; + this.match(PlSqlParser.COMMA); + this.state = 1800; + this.parameter(); + this.state = 1805; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1806; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 1810; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Function_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_function_spec; + return this; +} + +Function_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Function_specContext.prototype.constructor = Function_specContext; + +Function_specContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Function_specContext.prototype.identifier = function() { + return this.getTypedRuleContext(IdentifierContext,0); +}; + +Function_specContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Function_specContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Function_specContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Function_specContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Function_specContext.prototype.parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ParameterContext); + } else { + return this.getTypedRuleContext(ParameterContext,i); + } +}; + +Function_specContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Function_specContext.prototype.PIPELINED = function() { + return this.getToken(PlSqlParser.PIPELINED, 0); +}; + +Function_specContext.prototype.DETERMINISTIC = function() { + return this.getToken(PlSqlParser.DETERMINISTIC, 0); +}; + +Function_specContext.prototype.RESULT_CACHE = function() { + return this.getToken(PlSqlParser.RESULT_CACHE, 0); +}; + +Function_specContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Function_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFunction_spec(this); + } +}; + +Function_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFunction_spec(this); + } +}; + +Function_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFunction_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Function_specContext = Function_specContext; + +PlSqlParser.prototype.function_spec = function() { + + var localctx = new Function_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 34, PlSqlParser.RULE_function_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1812; + this.match(PlSqlParser.FUNCTION); + this.state = 1813; + this.identifier(); + this.state = 1825; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 1814; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 1815; + this.parameter(); + this.state = 1820; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 1816; + this.match(PlSqlParser.COMMA); + this.state = 1817; + this.parameter(); + this.state = 1822; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1823; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 1827; + this.match(PlSqlParser.RETURN); + this.state = 1828; + this.type_spec(); + this.state = 1830; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PIPELINED) { + this.state = 1829; + this.match(PlSqlParser.PIPELINED); + } + + this.state = 1833; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DETERMINISTIC) { + this.state = 1832; + this.match(PlSqlParser.DETERMINISTIC); + } + + this.state = 1836; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.RESULT_CACHE) { + this.state = 1835; + this.match(PlSqlParser.RESULT_CACHE); + } + + this.state = 1838; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Package_obj_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_package_obj_body; + return this; +} + +Package_obj_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Package_obj_bodyContext.prototype.constructor = Package_obj_bodyContext; + +Package_obj_bodyContext.prototype.variable_declaration = function() { + return this.getTypedRuleContext(Variable_declarationContext,0); +}; + +Package_obj_bodyContext.prototype.subtype_declaration = function() { + return this.getTypedRuleContext(Subtype_declarationContext,0); +}; + +Package_obj_bodyContext.prototype.cursor_declaration = function() { + return this.getTypedRuleContext(Cursor_declarationContext,0); +}; + +Package_obj_bodyContext.prototype.exception_declaration = function() { + return this.getTypedRuleContext(Exception_declarationContext,0); +}; + +Package_obj_bodyContext.prototype.type_declaration = function() { + return this.getTypedRuleContext(Type_declarationContext,0); +}; + +Package_obj_bodyContext.prototype.procedure_body = function() { + return this.getTypedRuleContext(Procedure_bodyContext,0); +}; + +Package_obj_bodyContext.prototype.function_body = function() { + return this.getTypedRuleContext(Function_bodyContext,0); +}; + +Package_obj_bodyContext.prototype.procedure_spec = function() { + return this.getTypedRuleContext(Procedure_specContext,0); +}; + +Package_obj_bodyContext.prototype.function_spec = function() { + return this.getTypedRuleContext(Function_specContext,0); +}; + +Package_obj_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPackage_obj_body(this); + } +}; + +Package_obj_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPackage_obj_body(this); + } +}; + +Package_obj_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPackage_obj_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Package_obj_bodyContext = Package_obj_bodyContext; + +PlSqlParser.prototype.package_obj_body = function() { + + var localctx = new Package_obj_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 36, PlSqlParser.RULE_package_obj_body); + try { + this.state = 1849; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,46,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 1840; + this.variable_declaration(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 1841; + this.subtype_declaration(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 1842; + this.cursor_declaration(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 1843; + this.exception_declaration(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 1844; + this.type_declaration(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 1845; + this.procedure_body(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 1846; + this.function_body(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 1847; + this.procedure_spec(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 1848; + this.function_spec(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_procedureContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_procedure; + return this; +} + +Drop_procedureContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_procedureContext.prototype.constructor = Drop_procedureContext; + +Drop_procedureContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_procedureContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Drop_procedureContext.prototype.procedure_name = function() { + return this.getTypedRuleContext(Procedure_nameContext,0); +}; + +Drop_procedureContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_procedureContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_procedure(this); + } +}; + +Drop_procedureContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_procedure(this); + } +}; + +Drop_procedureContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_procedure(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_procedureContext = Drop_procedureContext; + +PlSqlParser.prototype.drop_procedure = function() { + + var localctx = new Drop_procedureContext(this, this._ctx, this.state); + this.enterRule(localctx, 38, PlSqlParser.RULE_drop_procedure); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1851; + this.match(PlSqlParser.DROP); + this.state = 1852; + this.match(PlSqlParser.PROCEDURE); + this.state = 1853; + this.procedure_name(); + this.state = 1854; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_procedureContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_procedure; + return this; +} + +Alter_procedureContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_procedureContext.prototype.constructor = Alter_procedureContext; + +Alter_procedureContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_procedureContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Alter_procedureContext.prototype.procedure_name = function() { + return this.getTypedRuleContext(Procedure_nameContext,0); +}; + +Alter_procedureContext.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Alter_procedureContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_procedureContext.prototype.DEBUG = function() { + return this.getToken(PlSqlParser.DEBUG, 0); +}; + +Alter_procedureContext.prototype.compiler_parameters_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Compiler_parameters_clauseContext); + } else { + return this.getTypedRuleContext(Compiler_parameters_clauseContext,i); + } +}; + +Alter_procedureContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Alter_procedureContext.prototype.SETTINGS = function() { + return this.getToken(PlSqlParser.SETTINGS, 0); +}; + +Alter_procedureContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_procedure(this); + } +}; + +Alter_procedureContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_procedure(this); + } +}; + +Alter_procedureContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_procedure(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_procedureContext = Alter_procedureContext; + +PlSqlParser.prototype.alter_procedure = function() { + + var localctx = new Alter_procedureContext(this, this._ctx, this.state); + this.enterRule(localctx, 40, PlSqlParser.RULE_alter_procedure); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1856; + this.match(PlSqlParser.ALTER); + this.state = 1857; + this.match(PlSqlParser.PROCEDURE); + this.state = 1858; + this.procedure_name(); + this.state = 1859; + this.match(PlSqlParser.COMPILE); + this.state = 1861; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,47,this._ctx); + if(la_===1) { + this.state = 1860; + this.match(PlSqlParser.DEBUG); + + } + this.state = 1866; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,48,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1863; + this.compiler_parameters_clause(); + } + this.state = 1868; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,48,this._ctx); + } + + this.state = 1871; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 1869; + this.match(PlSqlParser.REUSE); + this.state = 1870; + this.match(PlSqlParser.SETTINGS); + } + + this.state = 1873; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Function_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_function_body; + return this; +} + +Function_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Function_bodyContext.prototype.constructor = Function_bodyContext; + +Function_bodyContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Function_bodyContext.prototype.identifier = function() { + return this.getTypedRuleContext(IdentifierContext,0); +}; + +Function_bodyContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Function_bodyContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Function_bodyContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Function_bodyContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Function_bodyContext.prototype.implementation_type_name = function() { + return this.getTypedRuleContext(Implementation_type_nameContext,0); +}; + +Function_bodyContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Function_bodyContext.prototype.parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ParameterContext); + } else { + return this.getTypedRuleContext(ParameterContext,i); + } +}; + +Function_bodyContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Function_bodyContext.prototype.invoker_rights_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Invoker_rights_clauseContext); + } else { + return this.getTypedRuleContext(Invoker_rights_clauseContext,i); + } +}; + +Function_bodyContext.prototype.parallel_enable_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Parallel_enable_clauseContext); + } else { + return this.getTypedRuleContext(Parallel_enable_clauseContext,i); + } +}; + +Function_bodyContext.prototype.result_cache_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Result_cache_clauseContext); + } else { + return this.getTypedRuleContext(Result_cache_clauseContext,i); + } +}; + +Function_bodyContext.prototype.DETERMINISTIC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DETERMINISTIC); + } else { + return this.getToken(PlSqlParser.DETERMINISTIC, i); + } +}; + + +Function_bodyContext.prototype.PIPELINED = function() { + return this.getToken(PlSqlParser.PIPELINED, 0); +}; + +Function_bodyContext.prototype.AGGREGATE = function() { + return this.getToken(PlSqlParser.AGGREGATE, 0); +}; + +Function_bodyContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Function_bodyContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Function_bodyContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Function_bodyContext.prototype.body = function() { + return this.getTypedRuleContext(BodyContext,0); +}; + +Function_bodyContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Function_bodyContext.prototype.DECLARE = function() { + return this.getToken(PlSqlParser.DECLARE, 0); +}; + +Function_bodyContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Function_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFunction_body(this); + } +}; + +Function_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFunction_body(this); + } +}; + +Function_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFunction_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Function_bodyContext = Function_bodyContext; + +PlSqlParser.prototype.function_body = function() { + + var localctx = new Function_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 42, PlSqlParser.RULE_function_body); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1875; + this.match(PlSqlParser.FUNCTION); + this.state = 1876; + this.identifier(); + this.state = 1888; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 1877; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 1878; + this.parameter(); + this.state = 1883; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 1879; + this.match(PlSqlParser.COMMA); + this.state = 1880; + this.parameter(); + this.state = 1885; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1886; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 1890; + this.match(PlSqlParser.RETURN); + this.state = 1891; + this.type_spec(); + this.state = 1898; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,53,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 1896; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.AUTHID: + this.state = 1892; + this.invoker_rights_clause(); + break; + case PlSqlParser.PARALLEL_ENABLE: + this.state = 1893; + this.parallel_enable_clause(); + break; + case PlSqlParser.RESULT_CACHE: + this.state = 1894; + this.result_cache_clause(); + break; + case PlSqlParser.DETERMINISTIC: + this.state = 1895; + this.match(PlSqlParser.DETERMINISTIC); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + this.state = 1900; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,53,this._ctx); + } + + this.state = 1921; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,59,this._ctx); + switch(la_) { + case 1: + this.state = 1902; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PIPELINED) { + this.state = 1901; + this.match(PlSqlParser.PIPELINED); + } + + this.state = 1905; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DETERMINISTIC) { + this.state = 1904; + this.match(PlSqlParser.DETERMINISTIC); + } + + this.state = 1907; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1916; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,58,this._ctx); + switch(la_) { + case 1: + this.state = 1909; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,56,this._ctx); + if(la_===1) { + this.state = 1908; + this.match(PlSqlParser.DECLARE); + + } + this.state = 1912; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,57,this._ctx); + if(la_===1) { + this.state = 1911; + this.seq_of_declare_specs(); + + } + this.state = 1914; + this.body(); + break; + + case 2: + this.state = 1915; + this.call_spec(); + break; + + } + break; + + case 2: + this.state = 1918; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AGGREGATE || _la===PlSqlParser.PIPELINED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1919; + this.match(PlSqlParser.USING); + this.state = 1920; + this.implementation_type_name(); + break; + + } + this.state = 1923; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Procedure_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_procedure_body; + return this; +} + +Procedure_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Procedure_bodyContext.prototype.constructor = Procedure_bodyContext; + +Procedure_bodyContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Procedure_bodyContext.prototype.identifier = function() { + return this.getTypedRuleContext(IdentifierContext,0); +}; + +Procedure_bodyContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Procedure_bodyContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Procedure_bodyContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Procedure_bodyContext.prototype.body = function() { + return this.getTypedRuleContext(BodyContext,0); +}; + +Procedure_bodyContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Procedure_bodyContext.prototype.EXTERNAL = function() { + return this.getToken(PlSqlParser.EXTERNAL, 0); +}; + +Procedure_bodyContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Procedure_bodyContext.prototype.parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ParameterContext); + } else { + return this.getTypedRuleContext(ParameterContext,i); + } +}; + +Procedure_bodyContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Procedure_bodyContext.prototype.DECLARE = function() { + return this.getToken(PlSqlParser.DECLARE, 0); +}; + +Procedure_bodyContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Procedure_bodyContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Procedure_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterProcedure_body(this); + } +}; + +Procedure_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitProcedure_body(this); + } +}; + +Procedure_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitProcedure_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Procedure_bodyContext = Procedure_bodyContext; + +PlSqlParser.prototype.procedure_body = function() { + + var localctx = new Procedure_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 44, PlSqlParser.RULE_procedure_body); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1925; + this.match(PlSqlParser.PROCEDURE); + this.state = 1926; + this.identifier(); + this.state = 1938; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 1927; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 1928; + this.parameter(); + this.state = 1933; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 1929; + this.match(PlSqlParser.COMMA); + this.state = 1930; + this.parameter(); + this.state = 1935; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1936; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 1940; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1950; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,64,this._ctx); + switch(la_) { + case 1: + this.state = 1942; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,62,this._ctx); + if(la_===1) { + this.state = 1941; + this.match(PlSqlParser.DECLARE); + + } + this.state = 1945; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,63,this._ctx); + if(la_===1) { + this.state = 1944; + this.seq_of_declare_specs(); + + } + this.state = 1947; + this.body(); + break; + + case 2: + this.state = 1948; + this.call_spec(); + break; + + case 3: + this.state = 1949; + this.match(PlSqlParser.EXTERNAL); + break; + + } + this.state = 1952; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_procedure_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_procedure_body; + return this; +} + +Create_procedure_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_procedure_bodyContext.prototype.constructor = Create_procedure_bodyContext; + +Create_procedure_bodyContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_procedure_bodyContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Create_procedure_bodyContext.prototype.procedure_name = function() { + return this.getTypedRuleContext(Procedure_nameContext,0); +}; + +Create_procedure_bodyContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_procedure_bodyContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Create_procedure_bodyContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_procedure_bodyContext.prototype.body = function() { + return this.getTypedRuleContext(BodyContext,0); +}; + +Create_procedure_bodyContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Create_procedure_bodyContext.prototype.EXTERNAL = function() { + return this.getToken(PlSqlParser.EXTERNAL, 0); +}; + +Create_procedure_bodyContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_procedure_bodyContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_procedure_bodyContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Create_procedure_bodyContext.prototype.parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ParameterContext); + } else { + return this.getTypedRuleContext(ParameterContext,i); + } +}; + +Create_procedure_bodyContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Create_procedure_bodyContext.prototype.invoker_rights_clause = function() { + return this.getTypedRuleContext(Invoker_rights_clauseContext,0); +}; + +Create_procedure_bodyContext.prototype.DECLARE = function() { + return this.getToken(PlSqlParser.DECLARE, 0); +}; + +Create_procedure_bodyContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Create_procedure_bodyContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Create_procedure_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_procedure_body(this); + } +}; + +Create_procedure_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_procedure_body(this); + } +}; + +Create_procedure_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_procedure_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_procedure_bodyContext = Create_procedure_bodyContext; + +PlSqlParser.prototype.create_procedure_body = function() { + + var localctx = new Create_procedure_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 46, PlSqlParser.RULE_create_procedure_body); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1954; + this.match(PlSqlParser.CREATE); + this.state = 1957; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 1955; + this.match(PlSqlParser.OR); + this.state = 1956; + this.match(PlSqlParser.REPLACE); + } + + this.state = 1959; + this.match(PlSqlParser.PROCEDURE); + this.state = 1960; + this.procedure_name(); + this.state = 1972; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 1961; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 1962; + this.parameter(); + this.state = 1967; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 1963; + this.match(PlSqlParser.COMMA); + this.state = 1964; + this.parameter(); + this.state = 1969; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 1970; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 1975; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AUTHID) { + this.state = 1974; + this.invoker_rights_clause(); + } + + this.state = 1977; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 1987; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,71,this._ctx); + switch(la_) { + case 1: + this.state = 1979; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,69,this._ctx); + if(la_===1) { + this.state = 1978; + this.match(PlSqlParser.DECLARE); + + } + this.state = 1982; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,70,this._ctx); + if(la_===1) { + this.state = 1981; + this.seq_of_declare_specs(); + + } + this.state = 1984; + this.body(); + break; + + case 2: + this.state = 1985; + this.call_spec(); + break; + + case 3: + this.state = 1986; + this.match(PlSqlParser.EXTERNAL); + break; + + } + this.state = 1989; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_triggerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_trigger; + return this; +} + +Drop_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_triggerContext.prototype.constructor = Drop_triggerContext; + +Drop_triggerContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_triggerContext.prototype.TRIGGER = function() { + return this.getToken(PlSqlParser.TRIGGER, 0); +}; + +Drop_triggerContext.prototype.trigger_name = function() { + return this.getTypedRuleContext(Trigger_nameContext,0); +}; + +Drop_triggerContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_triggerContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_trigger(this); + } +}; + +Drop_triggerContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_trigger(this); + } +}; + +Drop_triggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_trigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_triggerContext = Drop_triggerContext; + +PlSqlParser.prototype.drop_trigger = function() { + + var localctx = new Drop_triggerContext(this, this._ctx, this.state); + this.enterRule(localctx, 48, PlSqlParser.RULE_drop_trigger); + try { + this.enterOuterAlt(localctx, 1); + this.state = 1991; + this.match(PlSqlParser.DROP); + this.state = 1992; + this.match(PlSqlParser.TRIGGER); + this.state = 1993; + this.trigger_name(); + this.state = 1994; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_triggerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_trigger; + this.alter_trigger_name = null; // Trigger_nameContext + this.rename_trigger_name = null; // Trigger_nameContext + return this; +} + +Alter_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_triggerContext.prototype.constructor = Alter_triggerContext; + +Alter_triggerContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_triggerContext.prototype.TRIGGER = function() { + return this.getToken(PlSqlParser.TRIGGER, 0); +}; + +Alter_triggerContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_triggerContext.prototype.trigger_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Trigger_nameContext); + } else { + return this.getTypedRuleContext(Trigger_nameContext,i); + } +}; + +Alter_triggerContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Alter_triggerContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Alter_triggerContext.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Alter_triggerContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +Alter_triggerContext.prototype.DISABLE = function() { + return this.getToken(PlSqlParser.DISABLE, 0); +}; + +Alter_triggerContext.prototype.DEBUG = function() { + return this.getToken(PlSqlParser.DEBUG, 0); +}; + +Alter_triggerContext.prototype.compiler_parameters_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Compiler_parameters_clauseContext); + } else { + return this.getTypedRuleContext(Compiler_parameters_clauseContext,i); + } +}; + +Alter_triggerContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Alter_triggerContext.prototype.SETTINGS = function() { + return this.getToken(PlSqlParser.SETTINGS, 0); +}; + +Alter_triggerContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_trigger(this); + } +}; + +Alter_triggerContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_trigger(this); + } +}; + +Alter_triggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_trigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_triggerContext = Alter_triggerContext; + +PlSqlParser.prototype.alter_trigger = function() { + + var localctx = new Alter_triggerContext(this, this._ctx, this.state); + this.enterRule(localctx, 50, PlSqlParser.RULE_alter_trigger); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 1996; + this.match(PlSqlParser.ALTER); + this.state = 1997; + this.match(PlSqlParser.TRIGGER); + this.state = 1998; + localctx.alter_trigger_name = this.trigger_name(); + this.state = 2017; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DISABLE: + case PlSqlParser.ENABLE: + this.state = 1999; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.RENAME: + this.state = 2000; + this.match(PlSqlParser.RENAME); + this.state = 2001; + this.match(PlSqlParser.TO); + this.state = 2002; + localctx.rename_trigger_name = this.trigger_name(); + break; + case PlSqlParser.COMPILE: + this.state = 2003; + this.match(PlSqlParser.COMPILE); + this.state = 2005; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,72,this._ctx); + if(la_===1) { + this.state = 2004; + this.match(PlSqlParser.DEBUG); + + } + this.state = 2010; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,73,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2007; + this.compiler_parameters_clause(); + } + this.state = 2012; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,73,this._ctx); + } + + this.state = 2015; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 2013; + this.match(PlSqlParser.REUSE); + this.state = 2014; + this.match(PlSqlParser.SETTINGS); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2019; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_triggerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_trigger; + return this; +} + +Create_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_triggerContext.prototype.constructor = Create_triggerContext; + +Create_triggerContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_triggerContext.prototype.TRIGGER = function() { + return this.getToken(PlSqlParser.TRIGGER, 0); +}; + +Create_triggerContext.prototype.trigger_name = function() { + return this.getTypedRuleContext(Trigger_nameContext,0); +}; + +Create_triggerContext.prototype.trigger_body = function() { + return this.getTypedRuleContext(Trigger_bodyContext,0); +}; + +Create_triggerContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_triggerContext.prototype.simple_dml_trigger = function() { + return this.getTypedRuleContext(Simple_dml_triggerContext,0); +}; + +Create_triggerContext.prototype.compound_dml_trigger = function() { + return this.getTypedRuleContext(Compound_dml_triggerContext,0); +}; + +Create_triggerContext.prototype.non_dml_trigger = function() { + return this.getTypedRuleContext(Non_dml_triggerContext,0); +}; + +Create_triggerContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_triggerContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_triggerContext.prototype.trigger_follows_clause = function() { + return this.getTypedRuleContext(Trigger_follows_clauseContext,0); +}; + +Create_triggerContext.prototype.trigger_when_clause = function() { + return this.getTypedRuleContext(Trigger_when_clauseContext,0); +}; + +Create_triggerContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +Create_triggerContext.prototype.DISABLE = function() { + return this.getToken(PlSqlParser.DISABLE, 0); +}; + +Create_triggerContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_trigger(this); + } +}; + +Create_triggerContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_trigger(this); + } +}; + +Create_triggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_trigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_triggerContext = Create_triggerContext; + +PlSqlParser.prototype.create_trigger = function() { + + var localctx = new Create_triggerContext(this, this._ctx, this.state); + this.enterRule(localctx, 52, PlSqlParser.RULE_create_trigger); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2021; + this.match(PlSqlParser.CREATE); + this.state = 2024; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 2022; + this.match(PlSqlParser.OR); + this.state = 2023; + this.match(PlSqlParser.REPLACE); + } + + this.state = 2026; + this.match(PlSqlParser.TRIGGER); + this.state = 2027; + this.trigger_name(); + this.state = 2031; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,77,this._ctx); + switch(la_) { + case 1: + this.state = 2028; + this.simple_dml_trigger(); + break; + + case 2: + this.state = 2029; + this.compound_dml_trigger(); + break; + + case 3: + this.state = 2030; + this.non_dml_trigger(); + break; + + } + this.state = 2034; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,78,this._ctx); + if(la_===1) { + this.state = 2033; + this.trigger_follows_clause(); + + } + this.state = 2037; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,79,this._ctx); + if(la_===1) { + this.state = 2036; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 2040; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,80,this._ctx); + if(la_===1) { + this.state = 2039; + this.trigger_when_clause(); + + } + this.state = 2042; + this.trigger_body(); + this.state = 2043; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Trigger_follows_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_trigger_follows_clause; + return this; +} + +Trigger_follows_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Trigger_follows_clauseContext.prototype.constructor = Trigger_follows_clauseContext; + +Trigger_follows_clauseContext.prototype.FOLLOWS = function() { + return this.getToken(PlSqlParser.FOLLOWS, 0); +}; + +Trigger_follows_clauseContext.prototype.trigger_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Trigger_nameContext); + } else { + return this.getTypedRuleContext(Trigger_nameContext,i); + } +}; + +Trigger_follows_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Trigger_follows_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTrigger_follows_clause(this); + } +}; + +Trigger_follows_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTrigger_follows_clause(this); + } +}; + +Trigger_follows_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTrigger_follows_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Trigger_follows_clauseContext = Trigger_follows_clauseContext; + +PlSqlParser.prototype.trigger_follows_clause = function() { + + var localctx = new Trigger_follows_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 54, PlSqlParser.RULE_trigger_follows_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2045; + this.match(PlSqlParser.FOLLOWS); + this.state = 2046; + this.trigger_name(); + this.state = 2051; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2047; + this.match(PlSqlParser.COMMA); + this.state = 2048; + this.trigger_name(); + this.state = 2053; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Trigger_when_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_trigger_when_clause; + return this; +} + +Trigger_when_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Trigger_when_clauseContext.prototype.constructor = Trigger_when_clauseContext; + +Trigger_when_clauseContext.prototype.WHEN = function() { + return this.getToken(PlSqlParser.WHEN, 0); +}; + +Trigger_when_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Trigger_when_clauseContext.prototype.condition = function() { + return this.getTypedRuleContext(ConditionContext,0); +}; + +Trigger_when_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Trigger_when_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTrigger_when_clause(this); + } +}; + +Trigger_when_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTrigger_when_clause(this); + } +}; + +Trigger_when_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTrigger_when_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Trigger_when_clauseContext = Trigger_when_clauseContext; + +PlSqlParser.prototype.trigger_when_clause = function() { + + var localctx = new Trigger_when_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 56, PlSqlParser.RULE_trigger_when_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2054; + this.match(PlSqlParser.WHEN); + this.state = 2055; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2056; + this.condition(); + this.state = 2057; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Simple_dml_triggerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_simple_dml_trigger; + return this; +} + +Simple_dml_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Simple_dml_triggerContext.prototype.constructor = Simple_dml_triggerContext; + +Simple_dml_triggerContext.prototype.dml_event_clause = function() { + return this.getTypedRuleContext(Dml_event_clauseContext,0); +}; + +Simple_dml_triggerContext.prototype.BEFORE = function() { + return this.getToken(PlSqlParser.BEFORE, 0); +}; + +Simple_dml_triggerContext.prototype.AFTER = function() { + return this.getToken(PlSqlParser.AFTER, 0); +}; + +Simple_dml_triggerContext.prototype.INSTEAD = function() { + return this.getToken(PlSqlParser.INSTEAD, 0); +}; + +Simple_dml_triggerContext.prototype.OF = function() { + return this.getToken(PlSqlParser.OF, 0); +}; + +Simple_dml_triggerContext.prototype.referencing_clause = function() { + return this.getTypedRuleContext(Referencing_clauseContext,0); +}; + +Simple_dml_triggerContext.prototype.for_each_row = function() { + return this.getTypedRuleContext(For_each_rowContext,0); +}; + +Simple_dml_triggerContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSimple_dml_trigger(this); + } +}; + +Simple_dml_triggerContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSimple_dml_trigger(this); + } +}; + +Simple_dml_triggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSimple_dml_trigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Simple_dml_triggerContext = Simple_dml_triggerContext; + +PlSqlParser.prototype.simple_dml_trigger = function() { + + var localctx = new Simple_dml_triggerContext(this, this._ctx, this.state); + this.enterRule(localctx, 58, PlSqlParser.RULE_simple_dml_trigger); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2063; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.BEFORE: + this.state = 2059; + this.match(PlSqlParser.BEFORE); + break; + case PlSqlParser.AFTER: + this.state = 2060; + this.match(PlSqlParser.AFTER); + break; + case PlSqlParser.INSTEAD: + this.state = 2061; + this.match(PlSqlParser.INSTEAD); + this.state = 2062; + this.match(PlSqlParser.OF); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2065; + this.dml_event_clause(); + this.state = 2067; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,83,this._ctx); + if(la_===1) { + this.state = 2066; + this.referencing_clause(); + + } + this.state = 2070; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FOR) { + this.state = 2069; + this.for_each_row(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function For_each_rowContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_for_each_row; + return this; +} + +For_each_rowContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +For_each_rowContext.prototype.constructor = For_each_rowContext; + +For_each_rowContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +For_each_rowContext.prototype.EACH = function() { + return this.getToken(PlSqlParser.EACH, 0); +}; + +For_each_rowContext.prototype.ROW = function() { + return this.getToken(PlSqlParser.ROW, 0); +}; + +For_each_rowContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFor_each_row(this); + } +}; + +For_each_rowContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFor_each_row(this); + } +}; + +For_each_rowContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFor_each_row(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.For_each_rowContext = For_each_rowContext; + +PlSqlParser.prototype.for_each_row = function() { + + var localctx = new For_each_rowContext(this, this._ctx, this.state); + this.enterRule(localctx, 60, PlSqlParser.RULE_for_each_row); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2072; + this.match(PlSqlParser.FOR); + this.state = 2073; + this.match(PlSqlParser.EACH); + this.state = 2074; + this.match(PlSqlParser.ROW); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Compound_dml_triggerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_compound_dml_trigger; + return this; +} + +Compound_dml_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Compound_dml_triggerContext.prototype.constructor = Compound_dml_triggerContext; + +Compound_dml_triggerContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Compound_dml_triggerContext.prototype.dml_event_clause = function() { + return this.getTypedRuleContext(Dml_event_clauseContext,0); +}; + +Compound_dml_triggerContext.prototype.referencing_clause = function() { + return this.getTypedRuleContext(Referencing_clauseContext,0); +}; + +Compound_dml_triggerContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCompound_dml_trigger(this); + } +}; + +Compound_dml_triggerContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCompound_dml_trigger(this); + } +}; + +Compound_dml_triggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCompound_dml_trigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Compound_dml_triggerContext = Compound_dml_triggerContext; + +PlSqlParser.prototype.compound_dml_trigger = function() { + + var localctx = new Compound_dml_triggerContext(this, this._ctx, this.state); + this.enterRule(localctx, 62, PlSqlParser.RULE_compound_dml_trigger); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2076; + this.match(PlSqlParser.FOR); + this.state = 2077; + this.dml_event_clause(); + this.state = 2079; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,85,this._ctx); + if(la_===1) { + this.state = 2078; + this.referencing_clause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Non_dml_triggerContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_non_dml_trigger; + return this; +} + +Non_dml_triggerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Non_dml_triggerContext.prototype.constructor = Non_dml_triggerContext; + +Non_dml_triggerContext.prototype.non_dml_event = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Non_dml_eventContext); + } else { + return this.getTypedRuleContext(Non_dml_eventContext,i); + } +}; + +Non_dml_triggerContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Non_dml_triggerContext.prototype.BEFORE = function() { + return this.getToken(PlSqlParser.BEFORE, 0); +}; + +Non_dml_triggerContext.prototype.AFTER = function() { + return this.getToken(PlSqlParser.AFTER, 0); +}; + +Non_dml_triggerContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Non_dml_triggerContext.prototype.SCHEMA = function() { + return this.getToken(PlSqlParser.SCHEMA, 0); +}; + +Non_dml_triggerContext.prototype.OR = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.OR); + } else { + return this.getToken(PlSqlParser.OR, i); + } +}; + + +Non_dml_triggerContext.prototype.schema_name = function() { + return this.getTypedRuleContext(Schema_nameContext,0); +}; + +Non_dml_triggerContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Non_dml_triggerContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNon_dml_trigger(this); + } +}; + +Non_dml_triggerContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNon_dml_trigger(this); + } +}; + +Non_dml_triggerContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNon_dml_trigger(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Non_dml_triggerContext = Non_dml_triggerContext; + +PlSqlParser.prototype.non_dml_trigger = function() { + + var localctx = new Non_dml_triggerContext(this, this._ctx, this.state); + this.enterRule(localctx, 64, PlSqlParser.RULE_non_dml_trigger); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2081; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AFTER || _la===PlSqlParser.BEFORE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2082; + this.non_dml_event(); + this.state = 2087; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.OR) { + this.state = 2083; + this.match(PlSqlParser.OR); + this.state = 2084; + this.non_dml_event(); + this.state = 2089; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2090; + this.match(PlSqlParser.ON); + this.state = 2098; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,88,this._ctx); + switch(la_) { + case 1: + this.state = 2091; + this.match(PlSqlParser.DATABASE); + break; + + case 2: + this.state = 2095; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,87,this._ctx); + if(la_===1) { + this.state = 2092; + this.schema_name(); + this.state = 2093; + this.match(PlSqlParser.PERIOD); + + } + this.state = 2097; + this.match(PlSqlParser.SCHEMA); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Trigger_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_trigger_body; + return this; +} + +Trigger_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Trigger_bodyContext.prototype.constructor = Trigger_bodyContext; + +Trigger_bodyContext.prototype.COMPOUND = function() { + return this.getToken(PlSqlParser.COMPOUND, 0); +}; + +Trigger_bodyContext.prototype.TRIGGER = function() { + return this.getToken(PlSqlParser.TRIGGER, 0); +}; + +Trigger_bodyContext.prototype.CALL = function() { + return this.getToken(PlSqlParser.CALL, 0); +}; + +Trigger_bodyContext.prototype.identifier = function() { + return this.getTypedRuleContext(IdentifierContext,0); +}; + +Trigger_bodyContext.prototype.trigger_block = function() { + return this.getTypedRuleContext(Trigger_blockContext,0); +}; + +Trigger_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTrigger_body(this); + } +}; + +Trigger_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTrigger_body(this); + } +}; + +Trigger_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTrigger_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Trigger_bodyContext = Trigger_bodyContext; + +PlSqlParser.prototype.trigger_body = function() { + + var localctx = new Trigger_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 66, PlSqlParser.RULE_trigger_body); + try { + this.state = 2105; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,89,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2100; + this.match(PlSqlParser.COMPOUND); + this.state = 2101; + this.match(PlSqlParser.TRIGGER); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2102; + this.match(PlSqlParser.CALL); + this.state = 2103; + this.identifier(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2104; + this.trigger_block(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Routine_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_routine_clause; + return this; +} + +Routine_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Routine_clauseContext.prototype.constructor = Routine_clauseContext; + +Routine_clauseContext.prototype.routine_name = function() { + return this.getTypedRuleContext(Routine_nameContext,0); +}; + +Routine_clauseContext.prototype.function_argument = function() { + return this.getTypedRuleContext(Function_argumentContext,0); +}; + +Routine_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRoutine_clause(this); + } +}; + +Routine_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRoutine_clause(this); + } +}; + +Routine_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRoutine_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Routine_clauseContext = Routine_clauseContext; + +PlSqlParser.prototype.routine_clause = function() { + + var localctx = new Routine_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 68, PlSqlParser.RULE_routine_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2107; + this.routine_name(); + this.state = 2109; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2108; + this.function_argument(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Compound_trigger_blockContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_compound_trigger_block; + return this; +} + +Compound_trigger_blockContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Compound_trigger_blockContext.prototype.constructor = Compound_trigger_blockContext; + +Compound_trigger_blockContext.prototype.COMPOUND = function() { + return this.getToken(PlSqlParser.COMPOUND, 0); +}; + +Compound_trigger_blockContext.prototype.TRIGGER = function() { + return this.getToken(PlSqlParser.TRIGGER, 0); +}; + +Compound_trigger_blockContext.prototype.END = function() { + return this.getToken(PlSqlParser.END, 0); +}; + +Compound_trigger_blockContext.prototype.trigger_name = function() { + return this.getTypedRuleContext(Trigger_nameContext,0); +}; + +Compound_trigger_blockContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Compound_trigger_blockContext.prototype.timing_point_section = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Timing_point_sectionContext); + } else { + return this.getTypedRuleContext(Timing_point_sectionContext,i); + } +}; + +Compound_trigger_blockContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCompound_trigger_block(this); + } +}; + +Compound_trigger_blockContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCompound_trigger_block(this); + } +}; + +Compound_trigger_blockContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCompound_trigger_block(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Compound_trigger_blockContext = Compound_trigger_blockContext; + +PlSqlParser.prototype.compound_trigger_block = function() { + + var localctx = new Compound_trigger_blockContext(this, this._ctx, this.state); + this.enterRule(localctx, 70, PlSqlParser.RULE_compound_trigger_block); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2111; + this.match(PlSqlParser.COMPOUND); + this.state = 2112; + this.match(PlSqlParser.TRIGGER); + this.state = 2114; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,91,this._ctx); + if(la_===1) { + this.state = 2113; + this.seq_of_declare_specs(); + + } + this.state = 2117; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2116; + this.timing_point_section(); + this.state = 2119; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.AFTER || _la===PlSqlParser.BEFORE); + this.state = 2121; + this.match(PlSqlParser.END); + this.state = 2122; + this.trigger_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Timing_point_sectionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_timing_point_section; + this.bk = null; // Token + this.ak = null; // Token + return this; +} + +Timing_point_sectionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Timing_point_sectionContext.prototype.constructor = Timing_point_sectionContext; + +Timing_point_sectionContext.prototype.STATEMENT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.STATEMENT); + } else { + return this.getToken(PlSqlParser.STATEMENT, i); + } +}; + + +Timing_point_sectionContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Timing_point_sectionContext.prototype.trigger_block = function() { + return this.getTypedRuleContext(Trigger_blockContext,0); +}; + +Timing_point_sectionContext.prototype.BEFORE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.BEFORE); + } else { + return this.getToken(PlSqlParser.BEFORE, i); + } +}; + + +Timing_point_sectionContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Timing_point_sectionContext.prototype.EACH = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.EACH); + } else { + return this.getToken(PlSqlParser.EACH, i); + } +}; + + +Timing_point_sectionContext.prototype.ROW = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ROW); + } else { + return this.getToken(PlSqlParser.ROW, i); + } +}; + + +Timing_point_sectionContext.prototype.AFTER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.AFTER); + } else { + return this.getToken(PlSqlParser.AFTER, i); + } +}; + + +Timing_point_sectionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTiming_point_section(this); + } +}; + +Timing_point_sectionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTiming_point_section(this); + } +}; + +Timing_point_sectionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTiming_point_section(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Timing_point_sectionContext = Timing_point_sectionContext; + +PlSqlParser.prototype.timing_point_section = function() { + + var localctx = new Timing_point_sectionContext(this, this._ctx, this.state); + this.enterRule(localctx, 72, PlSqlParser.RULE_timing_point_section); + try { + this.state = 2160; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,93,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2124; + localctx.bk = this.match(PlSqlParser.BEFORE); + this.state = 2125; + this.match(PlSqlParser.STATEMENT); + this.state = 2126; + this.match(PlSqlParser.IS); + this.state = 2127; + this.trigger_block(); + this.state = 2128; + this.match(PlSqlParser.BEFORE); + this.state = 2129; + this.match(PlSqlParser.STATEMENT); + this.state = 2130; + this.match(PlSqlParser.SEMICOLON); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2132; + localctx.bk = this.match(PlSqlParser.BEFORE); + this.state = 2133; + this.match(PlSqlParser.EACH); + this.state = 2134; + this.match(PlSqlParser.ROW); + this.state = 2135; + this.match(PlSqlParser.IS); + this.state = 2136; + this.trigger_block(); + this.state = 2137; + this.match(PlSqlParser.BEFORE); + this.state = 2138; + this.match(PlSqlParser.EACH); + this.state = 2139; + this.match(PlSqlParser.ROW); + this.state = 2140; + this.match(PlSqlParser.SEMICOLON); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 2142; + localctx.ak = this.match(PlSqlParser.AFTER); + this.state = 2143; + this.match(PlSqlParser.STATEMENT); + this.state = 2144; + this.match(PlSqlParser.IS); + this.state = 2145; + this.trigger_block(); + this.state = 2146; + this.match(PlSqlParser.AFTER); + this.state = 2147; + this.match(PlSqlParser.STATEMENT); + this.state = 2148; + this.match(PlSqlParser.SEMICOLON); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 2150; + localctx.ak = this.match(PlSqlParser.AFTER); + this.state = 2151; + this.match(PlSqlParser.EACH); + this.state = 2152; + this.match(PlSqlParser.ROW); + this.state = 2153; + this.match(PlSqlParser.IS); + this.state = 2154; + this.trigger_block(); + this.state = 2155; + this.match(PlSqlParser.AFTER); + this.state = 2156; + this.match(PlSqlParser.EACH); + this.state = 2157; + this.match(PlSqlParser.ROW); + this.state = 2158; + this.match(PlSqlParser.SEMICOLON); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Non_dml_eventContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_non_dml_event; + return this; +} + +Non_dml_eventContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Non_dml_eventContext.prototype.constructor = Non_dml_eventContext; + +Non_dml_eventContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Non_dml_eventContext.prototype.ANALYZE = function() { + return this.getToken(PlSqlParser.ANALYZE, 0); +}; + +Non_dml_eventContext.prototype.ASSOCIATE = function() { + return this.getToken(PlSqlParser.ASSOCIATE, 0); +}; + +Non_dml_eventContext.prototype.STATISTICS = function() { + return this.getToken(PlSqlParser.STATISTICS, 0); +}; + +Non_dml_eventContext.prototype.AUDIT = function() { + return this.getToken(PlSqlParser.AUDIT, 0); +}; + +Non_dml_eventContext.prototype.COMMENT = function() { + return this.getToken(PlSqlParser.COMMENT, 0); +}; + +Non_dml_eventContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Non_dml_eventContext.prototype.DISASSOCIATE = function() { + return this.getToken(PlSqlParser.DISASSOCIATE, 0); +}; + +Non_dml_eventContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Non_dml_eventContext.prototype.GRANT = function() { + return this.getToken(PlSqlParser.GRANT, 0); +}; + +Non_dml_eventContext.prototype.NOAUDIT = function() { + return this.getToken(PlSqlParser.NOAUDIT, 0); +}; + +Non_dml_eventContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Non_dml_eventContext.prototype.REVOKE = function() { + return this.getToken(PlSqlParser.REVOKE, 0); +}; + +Non_dml_eventContext.prototype.TRUNCATE = function() { + return this.getToken(PlSqlParser.TRUNCATE, 0); +}; + +Non_dml_eventContext.prototype.DDL = function() { + return this.getToken(PlSqlParser.DDL, 0); +}; + +Non_dml_eventContext.prototype.STARTUP = function() { + return this.getToken(PlSqlParser.STARTUP, 0); +}; + +Non_dml_eventContext.prototype.SHUTDOWN = function() { + return this.getToken(PlSqlParser.SHUTDOWN, 0); +}; + +Non_dml_eventContext.prototype.DB_ROLE_CHANGE = function() { + return this.getToken(PlSqlParser.DB_ROLE_CHANGE, 0); +}; + +Non_dml_eventContext.prototype.LOGON = function() { + return this.getToken(PlSqlParser.LOGON, 0); +}; + +Non_dml_eventContext.prototype.LOGOFF = function() { + return this.getToken(PlSqlParser.LOGOFF, 0); +}; + +Non_dml_eventContext.prototype.SERVERERROR = function() { + return this.getToken(PlSqlParser.SERVERERROR, 0); +}; + +Non_dml_eventContext.prototype.SUSPEND = function() { + return this.getToken(PlSqlParser.SUSPEND, 0); +}; + +Non_dml_eventContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Non_dml_eventContext.prototype.SCHEMA = function() { + return this.getToken(PlSqlParser.SCHEMA, 0); +}; + +Non_dml_eventContext.prototype.FOLLOWS = function() { + return this.getToken(PlSqlParser.FOLLOWS, 0); +}; + +Non_dml_eventContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNon_dml_event(this); + } +}; + +Non_dml_eventContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNon_dml_event(this); + } +}; + +Non_dml_eventContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNon_dml_event(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Non_dml_eventContext = Non_dml_eventContext; + +PlSqlParser.prototype.non_dml_event = function() { + + var localctx = new Non_dml_eventContext(this, this._ctx, this.state); + this.enterRule(localctx, 74, PlSqlParser.RULE_non_dml_event); + try { + this.state = 2188; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ALTER: + this.enterOuterAlt(localctx, 1); + this.state = 2162; + this.match(PlSqlParser.ALTER); + break; + case PlSqlParser.ANALYZE: + this.enterOuterAlt(localctx, 2); + this.state = 2163; + this.match(PlSqlParser.ANALYZE); + break; + case PlSqlParser.ASSOCIATE: + this.enterOuterAlt(localctx, 3); + this.state = 2164; + this.match(PlSqlParser.ASSOCIATE); + this.state = 2165; + this.match(PlSqlParser.STATISTICS); + break; + case PlSqlParser.AUDIT: + this.enterOuterAlt(localctx, 4); + this.state = 2166; + this.match(PlSqlParser.AUDIT); + break; + case PlSqlParser.COMMENT: + this.enterOuterAlt(localctx, 5); + this.state = 2167; + this.match(PlSqlParser.COMMENT); + break; + case PlSqlParser.CREATE: + this.enterOuterAlt(localctx, 6); + this.state = 2168; + this.match(PlSqlParser.CREATE); + break; + case PlSqlParser.DISASSOCIATE: + this.enterOuterAlt(localctx, 7); + this.state = 2169; + this.match(PlSqlParser.DISASSOCIATE); + this.state = 2170; + this.match(PlSqlParser.STATISTICS); + break; + case PlSqlParser.DROP: + this.enterOuterAlt(localctx, 8); + this.state = 2171; + this.match(PlSqlParser.DROP); + break; + case PlSqlParser.GRANT: + this.enterOuterAlt(localctx, 9); + this.state = 2172; + this.match(PlSqlParser.GRANT); + break; + case PlSqlParser.NOAUDIT: + this.enterOuterAlt(localctx, 10); + this.state = 2173; + this.match(PlSqlParser.NOAUDIT); + break; + case PlSqlParser.RENAME: + this.enterOuterAlt(localctx, 11); + this.state = 2174; + this.match(PlSqlParser.RENAME); + break; + case PlSqlParser.REVOKE: + this.enterOuterAlt(localctx, 12); + this.state = 2175; + this.match(PlSqlParser.REVOKE); + break; + case PlSqlParser.TRUNCATE: + this.enterOuterAlt(localctx, 13); + this.state = 2176; + this.match(PlSqlParser.TRUNCATE); + break; + case PlSqlParser.DDL: + this.enterOuterAlt(localctx, 14); + this.state = 2177; + this.match(PlSqlParser.DDL); + break; + case PlSqlParser.STARTUP: + this.enterOuterAlt(localctx, 15); + this.state = 2178; + this.match(PlSqlParser.STARTUP); + break; + case PlSqlParser.SHUTDOWN: + this.enterOuterAlt(localctx, 16); + this.state = 2179; + this.match(PlSqlParser.SHUTDOWN); + break; + case PlSqlParser.DB_ROLE_CHANGE: + this.enterOuterAlt(localctx, 17); + this.state = 2180; + this.match(PlSqlParser.DB_ROLE_CHANGE); + break; + case PlSqlParser.LOGON: + this.enterOuterAlt(localctx, 18); + this.state = 2181; + this.match(PlSqlParser.LOGON); + break; + case PlSqlParser.LOGOFF: + this.enterOuterAlt(localctx, 19); + this.state = 2182; + this.match(PlSqlParser.LOGOFF); + break; + case PlSqlParser.SERVERERROR: + this.enterOuterAlt(localctx, 20); + this.state = 2183; + this.match(PlSqlParser.SERVERERROR); + break; + case PlSqlParser.SUSPEND: + this.enterOuterAlt(localctx, 21); + this.state = 2184; + this.match(PlSqlParser.SUSPEND); + break; + case PlSqlParser.DATABASE: + this.enterOuterAlt(localctx, 22); + this.state = 2185; + this.match(PlSqlParser.DATABASE); + break; + case PlSqlParser.SCHEMA: + this.enterOuterAlt(localctx, 23); + this.state = 2186; + this.match(PlSqlParser.SCHEMA); + break; + case PlSqlParser.FOLLOWS: + this.enterOuterAlt(localctx, 24); + this.state = 2187; + this.match(PlSqlParser.FOLLOWS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dml_event_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_dml_event_clause; + return this; +} + +Dml_event_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dml_event_clauseContext.prototype.constructor = Dml_event_clauseContext; + +Dml_event_clauseContext.prototype.dml_event_element = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Dml_event_elementContext); + } else { + return this.getTypedRuleContext(Dml_event_elementContext,i); + } +}; + +Dml_event_clauseContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Dml_event_clauseContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Dml_event_clauseContext.prototype.OR = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.OR); + } else { + return this.getToken(PlSqlParser.OR, i); + } +}; + + +Dml_event_clauseContext.prototype.dml_event_nested_clause = function() { + return this.getTypedRuleContext(Dml_event_nested_clauseContext,0); +}; + +Dml_event_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDml_event_clause(this); + } +}; + +Dml_event_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDml_event_clause(this); + } +}; + +Dml_event_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDml_event_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Dml_event_clauseContext = Dml_event_clauseContext; + +PlSqlParser.prototype.dml_event_clause = function() { + + var localctx = new Dml_event_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 76, PlSqlParser.RULE_dml_event_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2190; + this.dml_event_element(); + this.state = 2195; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.OR) { + this.state = 2191; + this.match(PlSqlParser.OR); + this.state = 2192; + this.dml_event_element(); + this.state = 2197; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2198; + this.match(PlSqlParser.ON); + this.state = 2200; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,96,this._ctx); + if(la_===1) { + this.state = 2199; + this.dml_event_nested_clause(); + + } + this.state = 2202; + this.tableview_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dml_event_elementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_dml_event_element; + return this; +} + +Dml_event_elementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dml_event_elementContext.prototype.constructor = Dml_event_elementContext; + +Dml_event_elementContext.prototype.DELETE = function() { + return this.getToken(PlSqlParser.DELETE, 0); +}; + +Dml_event_elementContext.prototype.INSERT = function() { + return this.getToken(PlSqlParser.INSERT, 0); +}; + +Dml_event_elementContext.prototype.UPDATE = function() { + return this.getToken(PlSqlParser.UPDATE, 0); +}; + +Dml_event_elementContext.prototype.OF = function() { + return this.getToken(PlSqlParser.OF, 0); +}; + +Dml_event_elementContext.prototype.column_list = function() { + return this.getTypedRuleContext(Column_listContext,0); +}; + +Dml_event_elementContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDml_event_element(this); + } +}; + +Dml_event_elementContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDml_event_element(this); + } +}; + +Dml_event_elementContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDml_event_element(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Dml_event_elementContext = Dml_event_elementContext; + +PlSqlParser.prototype.dml_event_element = function() { + + var localctx = new Dml_event_elementContext(this, this._ctx, this.state); + this.enterRule(localctx, 78, PlSqlParser.RULE_dml_event_element); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2204; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DELETE || _la===PlSqlParser.INSERT || _la===PlSqlParser.UPDATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2207; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OF) { + this.state = 2205; + this.match(PlSqlParser.OF); + this.state = 2206; + this.column_list(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dml_event_nested_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_dml_event_nested_clause; + return this; +} + +Dml_event_nested_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dml_event_nested_clauseContext.prototype.constructor = Dml_event_nested_clauseContext; + +Dml_event_nested_clauseContext.prototype.NESTED = function() { + return this.getToken(PlSqlParser.NESTED, 0); +}; + +Dml_event_nested_clauseContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Dml_event_nested_clauseContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Dml_event_nested_clauseContext.prototype.OF = function() { + return this.getToken(PlSqlParser.OF, 0); +}; + +Dml_event_nested_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDml_event_nested_clause(this); + } +}; + +Dml_event_nested_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDml_event_nested_clause(this); + } +}; + +Dml_event_nested_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDml_event_nested_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Dml_event_nested_clauseContext = Dml_event_nested_clauseContext; + +PlSqlParser.prototype.dml_event_nested_clause = function() { + + var localctx = new Dml_event_nested_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 80, PlSqlParser.RULE_dml_event_nested_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2209; + this.match(PlSqlParser.NESTED); + this.state = 2210; + this.match(PlSqlParser.TABLE); + this.state = 2211; + this.tableview_name(); + this.state = 2212; + this.match(PlSqlParser.OF); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Referencing_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_referencing_clause; + return this; +} + +Referencing_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Referencing_clauseContext.prototype.constructor = Referencing_clauseContext; + +Referencing_clauseContext.prototype.REFERENCING = function() { + return this.getToken(PlSqlParser.REFERENCING, 0); +}; + +Referencing_clauseContext.prototype.referencing_element = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Referencing_elementContext); + } else { + return this.getTypedRuleContext(Referencing_elementContext,i); + } +}; + +Referencing_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterReferencing_clause(this); + } +}; + +Referencing_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitReferencing_clause(this); + } +}; + +Referencing_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitReferencing_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Referencing_clauseContext = Referencing_clauseContext; + +PlSqlParser.prototype.referencing_clause = function() { + + var localctx = new Referencing_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 82, PlSqlParser.RULE_referencing_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2214; + this.match(PlSqlParser.REFERENCING); + this.state = 2216; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 2215; + this.referencing_element(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2218; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,98, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Referencing_elementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_referencing_element; + return this; +} + +Referencing_elementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Referencing_elementContext.prototype.constructor = Referencing_elementContext; + +Referencing_elementContext.prototype.column_alias = function() { + return this.getTypedRuleContext(Column_aliasContext,0); +}; + +Referencing_elementContext.prototype.NEW = function() { + return this.getToken(PlSqlParser.NEW, 0); +}; + +Referencing_elementContext.prototype.OLD = function() { + return this.getToken(PlSqlParser.OLD, 0); +}; + +Referencing_elementContext.prototype.PARENT = function() { + return this.getToken(PlSqlParser.PARENT, 0); +}; + +Referencing_elementContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterReferencing_element(this); + } +}; + +Referencing_elementContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitReferencing_element(this); + } +}; + +Referencing_elementContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitReferencing_element(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Referencing_elementContext = Referencing_elementContext; + +PlSqlParser.prototype.referencing_element = function() { + + var localctx = new Referencing_elementContext(this, this._ctx, this.state); + this.enterRule(localctx, 84, PlSqlParser.RULE_referencing_element); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2220; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NEW || _la===PlSqlParser.OLD || _la===PlSqlParser.PARENT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2221; + this.column_alias(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_typeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_type; + return this; +} + +Drop_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_typeContext.prototype.constructor = Drop_typeContext; + +Drop_typeContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_typeContext.prototype.TYPE = function() { + return this.getToken(PlSqlParser.TYPE, 0); +}; + +Drop_typeContext.prototype.type_name = function() { + return this.getTypedRuleContext(Type_nameContext,0); +}; + +Drop_typeContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_typeContext.prototype.BODY = function() { + return this.getToken(PlSqlParser.BODY, 0); +}; + +Drop_typeContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Drop_typeContext.prototype.VALIDATE = function() { + return this.getToken(PlSqlParser.VALIDATE, 0); +}; + +Drop_typeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_type(this); + } +}; + +Drop_typeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_type(this); + } +}; + +Drop_typeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_type(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_typeContext = Drop_typeContext; + +PlSqlParser.prototype.drop_type = function() { + + var localctx = new Drop_typeContext(this, this._ctx, this.state); + this.enterRule(localctx, 86, PlSqlParser.RULE_drop_type); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2223; + this.match(PlSqlParser.DROP); + this.state = 2224; + this.match(PlSqlParser.TYPE); + this.state = 2226; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,99,this._ctx); + if(la_===1) { + this.state = 2225; + this.match(PlSqlParser.BODY); + + } + this.state = 2228; + this.type_name(); + this.state = 2230; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FORCE || _la===PlSqlParser.VALIDATE) { + this.state = 2229; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.FORCE || _la===PlSqlParser.VALIDATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2232; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_typeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_type; + return this; +} + +Alter_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_typeContext.prototype.constructor = Alter_typeContext; + +Alter_typeContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_typeContext.prototype.TYPE = function() { + return this.getToken(PlSqlParser.TYPE, 0); +}; + +Alter_typeContext.prototype.type_name = function() { + return this.getTypedRuleContext(Type_nameContext,0); +}; + +Alter_typeContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_typeContext.prototype.compile_type_clause = function() { + return this.getTypedRuleContext(Compile_type_clauseContext,0); +}; + +Alter_typeContext.prototype.replace_type_clause = function() { + return this.getTypedRuleContext(Replace_type_clauseContext,0); +}; + +Alter_typeContext.prototype.alter_method_spec = function() { + return this.getTypedRuleContext(Alter_method_specContext,0); +}; + +Alter_typeContext.prototype.alter_collection_clauses = function() { + return this.getTypedRuleContext(Alter_collection_clausesContext,0); +}; + +Alter_typeContext.prototype.modifier_clause = function() { + return this.getTypedRuleContext(Modifier_clauseContext,0); +}; + +Alter_typeContext.prototype.overriding_subprogram_spec = function() { + return this.getTypedRuleContext(Overriding_subprogram_specContext,0); +}; + +Alter_typeContext.prototype.dependent_handling_clause = function() { + return this.getTypedRuleContext(Dependent_handling_clauseContext,0); +}; + +Alter_typeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_type(this); + } +}; + +Alter_typeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_type(this); + } +}; + +Alter_typeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_type(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_typeContext = Alter_typeContext; + +PlSqlParser.prototype.alter_type = function() { + + var localctx = new Alter_typeContext(this, this._ctx, this.state); + this.enterRule(localctx, 88, PlSqlParser.RULE_alter_type); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2234; + this.match(PlSqlParser.ALTER); + this.state = 2235; + this.match(PlSqlParser.TYPE); + this.state = 2236; + this.type_name(); + this.state = 2243; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,101,this._ctx); + switch(la_) { + case 1: + this.state = 2237; + this.compile_type_clause(); + break; + + case 2: + this.state = 2238; + this.replace_type_clause(); + break; + + case 3: + this.state = 2239; + this.alter_method_spec(); + break; + + case 4: + this.state = 2240; + this.alter_collection_clauses(); + break; + + case 5: + this.state = 2241; + this.modifier_clause(); + break; + + case 6: + this.state = 2242; + this.overriding_subprogram_spec(); + break; + + } + this.state = 2246; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CASCADE || _la===PlSqlParser.INVALIDATE) { + this.state = 2245; + this.dependent_handling_clause(); + } + + this.state = 2248; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Compile_type_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_compile_type_clause; + return this; +} + +Compile_type_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Compile_type_clauseContext.prototype.constructor = Compile_type_clauseContext; + +Compile_type_clauseContext.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Compile_type_clauseContext.prototype.DEBUG = function() { + return this.getToken(PlSqlParser.DEBUG, 0); +}; + +Compile_type_clauseContext.prototype.compiler_parameters_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Compiler_parameters_clauseContext); + } else { + return this.getTypedRuleContext(Compiler_parameters_clauseContext,i); + } +}; + +Compile_type_clauseContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Compile_type_clauseContext.prototype.SETTINGS = function() { + return this.getToken(PlSqlParser.SETTINGS, 0); +}; + +Compile_type_clauseContext.prototype.SPECIFICATION = function() { + return this.getToken(PlSqlParser.SPECIFICATION, 0); +}; + +Compile_type_clauseContext.prototype.BODY = function() { + return this.getToken(PlSqlParser.BODY, 0); +}; + +Compile_type_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCompile_type_clause(this); + } +}; + +Compile_type_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCompile_type_clause(this); + } +}; + +Compile_type_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCompile_type_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Compile_type_clauseContext = Compile_type_clauseContext; + +PlSqlParser.prototype.compile_type_clause = function() { + + var localctx = new Compile_type_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 90, PlSqlParser.RULE_compile_type_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2250; + this.match(PlSqlParser.COMPILE); + this.state = 2252; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,103,this._ctx); + if(la_===1) { + this.state = 2251; + this.match(PlSqlParser.DEBUG); + + } + this.state = 2255; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,104,this._ctx); + if(la_===1) { + this.state = 2254; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BODY || _la===PlSqlParser.SPECIFICATION)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 2260; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,105,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 2257; + this.compiler_parameters_clause(); + } + this.state = 2262; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,105,this._ctx); + } + + this.state = 2265; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 2263; + this.match(PlSqlParser.REUSE); + this.state = 2264; + this.match(PlSqlParser.SETTINGS); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Replace_type_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_replace_type_clause; + return this; +} + +Replace_type_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Replace_type_clauseContext.prototype.constructor = Replace_type_clauseContext; + +Replace_type_clauseContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Replace_type_clauseContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Replace_type_clauseContext.prototype.OBJECT = function() { + return this.getToken(PlSqlParser.OBJECT, 0); +}; + +Replace_type_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Replace_type_clauseContext.prototype.object_member_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Object_member_specContext); + } else { + return this.getTypedRuleContext(Object_member_specContext,i); + } +}; + +Replace_type_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Replace_type_clauseContext.prototype.invoker_rights_clause = function() { + return this.getTypedRuleContext(Invoker_rights_clauseContext,0); +}; + +Replace_type_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Replace_type_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterReplace_type_clause(this); + } +}; + +Replace_type_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitReplace_type_clause(this); + } +}; + +Replace_type_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitReplace_type_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Replace_type_clauseContext = Replace_type_clauseContext; + +PlSqlParser.prototype.replace_type_clause = function() { + + var localctx = new Replace_type_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 92, PlSqlParser.RULE_replace_type_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2267; + this.match(PlSqlParser.REPLACE); + this.state = 2269; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AUTHID) { + this.state = 2268; + this.invoker_rights_clause(); + } + + this.state = 2271; + this.match(PlSqlParser.AS); + this.state = 2272; + this.match(PlSqlParser.OBJECT); + this.state = 2273; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2274; + this.object_member_spec(); + this.state = 2279; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2275; + this.match(PlSqlParser.COMMA); + this.state = 2276; + this.object_member_spec(); + this.state = 2281; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2282; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_method_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_method_spec; + return this; +} + +Alter_method_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_method_specContext.prototype.constructor = Alter_method_specContext; + +Alter_method_specContext.prototype.alter_method_element = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Alter_method_elementContext); + } else { + return this.getTypedRuleContext(Alter_method_elementContext,i); + } +}; + +Alter_method_specContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Alter_method_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_method_spec(this); + } +}; + +Alter_method_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_method_spec(this); + } +}; + +Alter_method_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_method_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_method_specContext = Alter_method_specContext; + +PlSqlParser.prototype.alter_method_spec = function() { + + var localctx = new Alter_method_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 94, PlSqlParser.RULE_alter_method_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2284; + this.alter_method_element(); + this.state = 2289; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2285; + this.match(PlSqlParser.COMMA); + this.state = 2286; + this.alter_method_element(); + this.state = 2291; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_method_elementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_method_element; + return this; +} + +Alter_method_elementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_method_elementContext.prototype.constructor = Alter_method_elementContext; + +Alter_method_elementContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Alter_method_elementContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Alter_method_elementContext.prototype.map_order_function_spec = function() { + return this.getTypedRuleContext(Map_order_function_specContext,0); +}; + +Alter_method_elementContext.prototype.subprogram_spec = function() { + return this.getTypedRuleContext(Subprogram_specContext,0); +}; + +Alter_method_elementContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_method_element(this); + } +}; + +Alter_method_elementContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_method_element(this); + } +}; + +Alter_method_elementContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_method_element(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_method_elementContext = Alter_method_elementContext; + +PlSqlParser.prototype.alter_method_element = function() { + + var localctx = new Alter_method_elementContext(this, this._ctx, this.state); + this.enterRule(localctx, 96, PlSqlParser.RULE_alter_method_element); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2292; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ADD || _la===PlSqlParser.DROP)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2295; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.MAP: + case PlSqlParser.ORDER: + this.state = 2293; + this.map_order_function_spec(); + break; + case PlSqlParser.MEMBER: + case PlSqlParser.STATIC: + this.state = 2294; + this.subprogram_spec(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_attribute_definitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_attribute_definition; + return this; +} + +Alter_attribute_definitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_attribute_definitionContext.prototype.constructor = Alter_attribute_definitionContext; + +Alter_attribute_definitionContext.prototype.ATTRIBUTE = function() { + return this.getToken(PlSqlParser.ATTRIBUTE, 0); +}; + +Alter_attribute_definitionContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Alter_attribute_definitionContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Alter_attribute_definitionContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Alter_attribute_definitionContext.prototype.attribute_definition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Attribute_definitionContext); + } else { + return this.getTypedRuleContext(Attribute_definitionContext,i); + } +}; + +Alter_attribute_definitionContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Alter_attribute_definitionContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Alter_attribute_definitionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Alter_attribute_definitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_attribute_definition(this); + } +}; + +Alter_attribute_definitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_attribute_definition(this); + } +}; + +Alter_attribute_definitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_attribute_definition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_attribute_definitionContext = Alter_attribute_definitionContext; + +PlSqlParser.prototype.alter_attribute_definition = function() { + + var localctx = new Alter_attribute_definitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 98, PlSqlParser.RULE_alter_attribute_definition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2297; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ADD || _la===PlSqlParser.DROP || _la===PlSqlParser.MODIFY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2298; + this.match(PlSqlParser.ATTRIBUTE); + this.state = 2311; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.DELIMITED_ID: + case PlSqlParser.INTRODUCER: + case PlSqlParser.REGULAR_ID: + this.state = 2299; + this.attribute_definition(); + break; + case PlSqlParser.LEFT_PAREN: + this.state = 2300; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2301; + this.attribute_definition(); + this.state = 2306; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2302; + this.match(PlSqlParser.COMMA); + this.state = 2303; + this.attribute_definition(); + this.state = 2308; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2309; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Attribute_definitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_attribute_definition; + return this; +} + +Attribute_definitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Attribute_definitionContext.prototype.constructor = Attribute_definitionContext; + +Attribute_definitionContext.prototype.attribute_name = function() { + return this.getTypedRuleContext(Attribute_nameContext,0); +}; + +Attribute_definitionContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Attribute_definitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAttribute_definition(this); + } +}; + +Attribute_definitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAttribute_definition(this); + } +}; + +Attribute_definitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAttribute_definition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Attribute_definitionContext = Attribute_definitionContext; + +PlSqlParser.prototype.attribute_definition = function() { + + var localctx = new Attribute_definitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 100, PlSqlParser.RULE_attribute_definition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2313; + this.attribute_name(); + this.state = 2315; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NATURALN - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.DELIMITED_ID - 2211)))) !== 0) || _la===PlSqlParser.REGULAR_ID) { + this.state = 2314; + this.type_spec(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_collection_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_collection_clauses; + return this; +} + +Alter_collection_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_collection_clausesContext.prototype.constructor = Alter_collection_clausesContext; + +Alter_collection_clausesContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Alter_collection_clausesContext.prototype.LIMIT = function() { + return this.getToken(PlSqlParser.LIMIT, 0); +}; + +Alter_collection_clausesContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Alter_collection_clausesContext.prototype.ELEMENT = function() { + return this.getToken(PlSqlParser.ELEMENT, 0); +}; + +Alter_collection_clausesContext.prototype.TYPE = function() { + return this.getToken(PlSqlParser.TYPE, 0); +}; + +Alter_collection_clausesContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Alter_collection_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_collection_clauses(this); + } +}; + +Alter_collection_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_collection_clauses(this); + } +}; + +Alter_collection_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_collection_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_collection_clausesContext = Alter_collection_clausesContext; + +PlSqlParser.prototype.alter_collection_clauses = function() { + + var localctx = new Alter_collection_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 102, PlSqlParser.RULE_alter_collection_clauses); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2317; + this.match(PlSqlParser.MODIFY); + this.state = 2323; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LIMIT: + this.state = 2318; + this.match(PlSqlParser.LIMIT); + this.state = 2319; + this.expression(); + break; + case PlSqlParser.ELEMENT: + this.state = 2320; + this.match(PlSqlParser.ELEMENT); + this.state = 2321; + this.match(PlSqlParser.TYPE); + this.state = 2322; + this.type_spec(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dependent_handling_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_dependent_handling_clause; + return this; +} + +Dependent_handling_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dependent_handling_clauseContext.prototype.constructor = Dependent_handling_clauseContext; + +Dependent_handling_clauseContext.prototype.INVALIDATE = function() { + return this.getToken(PlSqlParser.INVALIDATE, 0); +}; + +Dependent_handling_clauseContext.prototype.CASCADE = function() { + return this.getToken(PlSqlParser.CASCADE, 0); +}; + +Dependent_handling_clauseContext.prototype.CONVERT = function() { + return this.getToken(PlSqlParser.CONVERT, 0); +}; + +Dependent_handling_clauseContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Dependent_handling_clauseContext.prototype.SUBSTITUTABLE = function() { + return this.getToken(PlSqlParser.SUBSTITUTABLE, 0); +}; + +Dependent_handling_clauseContext.prototype.INCLUDING = function() { + return this.getToken(PlSqlParser.INCLUDING, 0); +}; + +Dependent_handling_clauseContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Dependent_handling_clauseContext.prototype.DATA = function() { + return this.getToken(PlSqlParser.DATA, 0); +}; + +Dependent_handling_clauseContext.prototype.dependent_exceptions_part = function() { + return this.getTypedRuleContext(Dependent_exceptions_partContext,0); +}; + +Dependent_handling_clauseContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Dependent_handling_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDependent_handling_clause(this); + } +}; + +Dependent_handling_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDependent_handling_clause(this); + } +}; + +Dependent_handling_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDependent_handling_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Dependent_handling_clauseContext = Dependent_handling_clauseContext; + +PlSqlParser.prototype.dependent_handling_clause = function() { + + var localctx = new Dependent_handling_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 104, PlSqlParser.RULE_dependent_handling_clause); + var _la = 0; // Token type + try { + this.state = 2341; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INVALIDATE: + this.enterOuterAlt(localctx, 1); + this.state = 2325; + this.match(PlSqlParser.INVALIDATE); + break; + case PlSqlParser.CASCADE: + this.enterOuterAlt(localctx, 2); + this.state = 2326; + this.match(PlSqlParser.CASCADE); + this.state = 2336; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.CONVERT: + this.state = 2327; + this.match(PlSqlParser.CONVERT); + this.state = 2328; + this.match(PlSqlParser.TO); + this.state = 2329; + this.match(PlSqlParser.SUBSTITUTABLE); + break; + case PlSqlParser.INCLUDING: + case PlSqlParser.NOT: + this.state = 2331; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 2330; + this.match(PlSqlParser.NOT); + } + + this.state = 2333; + this.match(PlSqlParser.INCLUDING); + this.state = 2334; + this.match(PlSqlParser.TABLE); + this.state = 2335; + this.match(PlSqlParser.DATA); + break; + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.FORCE: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + this.state = 2339; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EXCEPTIONS || _la===PlSqlParser.FORCE) { + this.state = 2338; + this.dependent_exceptions_part(); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Dependent_exceptions_partContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_dependent_exceptions_part; + return this; +} + +Dependent_exceptions_partContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Dependent_exceptions_partContext.prototype.constructor = Dependent_exceptions_partContext; + +Dependent_exceptions_partContext.prototype.EXCEPTIONS = function() { + return this.getToken(PlSqlParser.EXCEPTIONS, 0); +}; + +Dependent_exceptions_partContext.prototype.INTO = function() { + return this.getToken(PlSqlParser.INTO, 0); +}; + +Dependent_exceptions_partContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Dependent_exceptions_partContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Dependent_exceptions_partContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDependent_exceptions_part(this); + } +}; + +Dependent_exceptions_partContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDependent_exceptions_part(this); + } +}; + +Dependent_exceptions_partContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDependent_exceptions_part(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Dependent_exceptions_partContext = Dependent_exceptions_partContext; + +PlSqlParser.prototype.dependent_exceptions_part = function() { + + var localctx = new Dependent_exceptions_partContext(this, this._ctx, this.state); + this.enterRule(localctx, 106, PlSqlParser.RULE_dependent_exceptions_part); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2344; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FORCE) { + this.state = 2343; + this.match(PlSqlParser.FORCE); + } + + this.state = 2346; + this.match(PlSqlParser.EXCEPTIONS); + this.state = 2347; + this.match(PlSqlParser.INTO); + this.state = 2348; + this.tableview_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_typeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_type; + return this; +} + +Create_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_typeContext.prototype.constructor = Create_typeContext; + +Create_typeContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_typeContext.prototype.TYPE = function() { + return this.getToken(PlSqlParser.TYPE, 0); +}; + +Create_typeContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_typeContext.prototype.type_definition = function() { + return this.getTypedRuleContext(Type_definitionContext,0); +}; + +Create_typeContext.prototype.type_body = function() { + return this.getTypedRuleContext(Type_bodyContext,0); +}; + +Create_typeContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_typeContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_typeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_type(this); + } +}; + +Create_typeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_type(this); + } +}; + +Create_typeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_type(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_typeContext = Create_typeContext; + +PlSqlParser.prototype.create_type = function() { + + var localctx = new Create_typeContext(this, this._ctx, this.state); + this.enterRule(localctx, 108, PlSqlParser.RULE_create_type); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2350; + this.match(PlSqlParser.CREATE); + this.state = 2353; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 2351; + this.match(PlSqlParser.OR); + this.state = 2352; + this.match(PlSqlParser.REPLACE); + } + + this.state = 2355; + this.match(PlSqlParser.TYPE); + this.state = 2358; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,121,this._ctx); + switch(la_) { + case 1: + this.state = 2356; + this.type_definition(); + break; + + case 2: + this.state = 2357; + this.type_body(); + break; + + } + this.state = 2360; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Type_definitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_type_definition; + return this; +} + +Type_definitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Type_definitionContext.prototype.constructor = Type_definitionContext; + +Type_definitionContext.prototype.type_name = function() { + return this.getTypedRuleContext(Type_nameContext,0); +}; + +Type_definitionContext.prototype.OID = function() { + return this.getToken(PlSqlParser.OID, 0); +}; + +Type_definitionContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Type_definitionContext.prototype.object_type_def = function() { + return this.getTypedRuleContext(Object_type_defContext,0); +}; + +Type_definitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterType_definition(this); + } +}; + +Type_definitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitType_definition(this); + } +}; + +Type_definitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitType_definition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Type_definitionContext = Type_definitionContext; + +PlSqlParser.prototype.type_definition = function() { + + var localctx = new Type_definitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 110, PlSqlParser.RULE_type_definition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2362; + this.type_name(); + this.state = 2365; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OID) { + this.state = 2363; + this.match(PlSqlParser.OID); + this.state = 2364; + this.match(PlSqlParser.CHAR_STRING); + } + + this.state = 2368; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AS || _la===PlSqlParser.AUTHID || _la===PlSqlParser.IS || _la===PlSqlParser.UNDER) { + this.state = 2367; + this.object_type_def(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_type_defContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_type_def; + return this; +} + +Object_type_defContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_type_defContext.prototype.constructor = Object_type_defContext; + +Object_type_defContext.prototype.object_as_part = function() { + return this.getTypedRuleContext(Object_as_partContext,0); +}; + +Object_type_defContext.prototype.object_under_part = function() { + return this.getTypedRuleContext(Object_under_partContext,0); +}; + +Object_type_defContext.prototype.invoker_rights_clause = function() { + return this.getTypedRuleContext(Invoker_rights_clauseContext,0); +}; + +Object_type_defContext.prototype.sqlj_object_type = function() { + return this.getTypedRuleContext(Sqlj_object_typeContext,0); +}; + +Object_type_defContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Object_type_defContext.prototype.object_member_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Object_member_specContext); + } else { + return this.getTypedRuleContext(Object_member_specContext,i); + } +}; + +Object_type_defContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Object_type_defContext.prototype.modifier_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Modifier_clauseContext); + } else { + return this.getTypedRuleContext(Modifier_clauseContext,i); + } +}; + +Object_type_defContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Object_type_defContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_type_def(this); + } +}; + +Object_type_defContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_type_def(this); + } +}; + +Object_type_defContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_type_def(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_type_defContext = Object_type_defContext; + +PlSqlParser.prototype.object_type_def = function() { + + var localctx = new Object_type_defContext(this, this._ctx, this.state); + this.enterRule(localctx, 112, PlSqlParser.RULE_object_type_def); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2371; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AUTHID) { + this.state = 2370; + this.invoker_rights_clause(); + } + + this.state = 2375; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.AS: + case PlSqlParser.IS: + this.state = 2373; + this.object_as_part(); + break; + case PlSqlParser.UNDER: + this.state = 2374; + this.object_under_part(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2378; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EXTERNAL) { + this.state = 2377; + this.sqlj_object_type(); + } + + this.state = 2391; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2380; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2381; + this.object_member_spec(); + this.state = 2386; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2382; + this.match(PlSqlParser.COMMA); + this.state = 2383; + this.object_member_spec(); + this.state = 2388; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2389; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 2396; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.FINAL || _la===PlSqlParser.INSTANTIABLE || _la===PlSqlParser.NOT || _la===PlSqlParser.OVERRIDING) { + this.state = 2393; + this.modifier_clause(); + this.state = 2398; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_as_partContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_as_part; + return this; +} + +Object_as_partContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_as_partContext.prototype.constructor = Object_as_partContext; + +Object_as_partContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Object_as_partContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Object_as_partContext.prototype.OBJECT = function() { + return this.getToken(PlSqlParser.OBJECT, 0); +}; + +Object_as_partContext.prototype.varray_type_def = function() { + return this.getTypedRuleContext(Varray_type_defContext,0); +}; + +Object_as_partContext.prototype.nested_table_type_def = function() { + return this.getTypedRuleContext(Nested_table_type_defContext,0); +}; + +Object_as_partContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_as_part(this); + } +}; + +Object_as_partContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_as_part(this); + } +}; + +Object_as_partContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_as_part(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_as_partContext = Object_as_partContext; + +PlSqlParser.prototype.object_as_part = function() { + + var localctx = new Object_as_partContext(this, this._ctx, this.state); + this.enterRule(localctx, 114, PlSqlParser.RULE_object_as_part); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2399; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2403; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.OBJECT: + this.state = 2400; + this.match(PlSqlParser.OBJECT); + break; + case PlSqlParser.VARRAY: + case PlSqlParser.VARYING: + this.state = 2401; + this.varray_type_def(); + break; + case PlSqlParser.TABLE: + this.state = 2402; + this.nested_table_type_def(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_under_partContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_under_part; + return this; +} + +Object_under_partContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_under_partContext.prototype.constructor = Object_under_partContext; + +Object_under_partContext.prototype.UNDER = function() { + return this.getToken(PlSqlParser.UNDER, 0); +}; + +Object_under_partContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Object_under_partContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_under_part(this); + } +}; + +Object_under_partContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_under_part(this); + } +}; + +Object_under_partContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_under_part(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_under_partContext = Object_under_partContext; + +PlSqlParser.prototype.object_under_part = function() { + + var localctx = new Object_under_partContext(this, this._ctx, this.state); + this.enterRule(localctx, 116, PlSqlParser.RULE_object_under_part); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2405; + this.match(PlSqlParser.UNDER); + this.state = 2406; + this.type_spec(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Nested_table_type_defContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_nested_table_type_def; + return this; +} + +Nested_table_type_defContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Nested_table_type_defContext.prototype.constructor = Nested_table_type_defContext; + +Nested_table_type_defContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Nested_table_type_defContext.prototype.OF = function() { + return this.getToken(PlSqlParser.OF, 0); +}; + +Nested_table_type_defContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Nested_table_type_defContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Nested_table_type_defContext.prototype.NULL_ = function() { + return this.getToken(PlSqlParser.NULL_, 0); +}; + +Nested_table_type_defContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNested_table_type_def(this); + } +}; + +Nested_table_type_defContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNested_table_type_def(this); + } +}; + +Nested_table_type_defContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNested_table_type_def(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Nested_table_type_defContext = Nested_table_type_defContext; + +PlSqlParser.prototype.nested_table_type_def = function() { + + var localctx = new Nested_table_type_defContext(this, this._ctx, this.state); + this.enterRule(localctx, 118, PlSqlParser.RULE_nested_table_type_def); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2408; + this.match(PlSqlParser.TABLE); + this.state = 2409; + this.match(PlSqlParser.OF); + this.state = 2410; + this.type_spec(); + this.state = 2413; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,131,this._ctx); + if(la_===1) { + this.state = 2411; + this.match(PlSqlParser.NOT); + this.state = 2412; + this.match(PlSqlParser.NULL_); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Sqlj_object_typeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_sqlj_object_type; + return this; +} + +Sqlj_object_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Sqlj_object_typeContext.prototype.constructor = Sqlj_object_typeContext; + +Sqlj_object_typeContext.prototype.EXTERNAL = function() { + return this.getToken(PlSqlParser.EXTERNAL, 0); +}; + +Sqlj_object_typeContext.prototype.NAME = function() { + return this.getToken(PlSqlParser.NAME, 0); +}; + +Sqlj_object_typeContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Sqlj_object_typeContext.prototype.LANGUAGE = function() { + return this.getToken(PlSqlParser.LANGUAGE, 0); +}; + +Sqlj_object_typeContext.prototype.JAVA = function() { + return this.getToken(PlSqlParser.JAVA, 0); +}; + +Sqlj_object_typeContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Sqlj_object_typeContext.prototype.SQLDATA = function() { + return this.getToken(PlSqlParser.SQLDATA, 0); +}; + +Sqlj_object_typeContext.prototype.CUSTOMDATUM = function() { + return this.getToken(PlSqlParser.CUSTOMDATUM, 0); +}; + +Sqlj_object_typeContext.prototype.ORADATA = function() { + return this.getToken(PlSqlParser.ORADATA, 0); +}; + +Sqlj_object_typeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSqlj_object_type(this); + } +}; + +Sqlj_object_typeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSqlj_object_type(this); + } +}; + +Sqlj_object_typeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSqlj_object_type(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Sqlj_object_typeContext = Sqlj_object_typeContext; + +PlSqlParser.prototype.sqlj_object_type = function() { + + var localctx = new Sqlj_object_typeContext(this, this._ctx, this.state); + this.enterRule(localctx, 120, PlSqlParser.RULE_sqlj_object_type); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2415; + this.match(PlSqlParser.EXTERNAL); + this.state = 2416; + this.match(PlSqlParser.NAME); + this.state = 2417; + this.expression(); + this.state = 2418; + this.match(PlSqlParser.LANGUAGE); + this.state = 2419; + this.match(PlSqlParser.JAVA); + this.state = 2420; + this.match(PlSqlParser.USING); + this.state = 2421; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CUSTOMDATUM || _la===PlSqlParser.ORADATA || _la===PlSqlParser.SQLDATA)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Type_bodyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_type_body; + return this; +} + +Type_bodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Type_bodyContext.prototype.constructor = Type_bodyContext; + +Type_bodyContext.prototype.BODY = function() { + return this.getToken(PlSqlParser.BODY, 0); +}; + +Type_bodyContext.prototype.type_name = function() { + return this.getTypedRuleContext(Type_nameContext,0); +}; + +Type_bodyContext.prototype.END = function() { + return this.getToken(PlSqlParser.END, 0); +}; + +Type_bodyContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Type_bodyContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Type_bodyContext.prototype.type_body_elements = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_body_elementsContext); + } else { + return this.getTypedRuleContext(Type_body_elementsContext,i); + } +}; + +Type_bodyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterType_body(this); + } +}; + +Type_bodyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitType_body(this); + } +}; + +Type_bodyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitType_body(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Type_bodyContext = Type_bodyContext; + +PlSqlParser.prototype.type_body = function() { + + var localctx = new Type_bodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 122, PlSqlParser.RULE_type_body); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2423; + this.match(PlSqlParser.BODY); + this.state = 2424; + this.type_name(); + this.state = 2425; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2427; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2426; + this.type_body_elements(); + this.state = 2429; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.MAP || _la===PlSqlParser.MEMBER || _la===PlSqlParser.ORDER || _la===PlSqlParser.OVERRIDING || _la===PlSqlParser.STATIC); + this.state = 2431; + this.match(PlSqlParser.END); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Type_body_elementsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_type_body_elements; + return this; +} + +Type_body_elementsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Type_body_elementsContext.prototype.constructor = Type_body_elementsContext; + +Type_body_elementsContext.prototype.map_order_func_declaration = function() { + return this.getTypedRuleContext(Map_order_func_declarationContext,0); +}; + +Type_body_elementsContext.prototype.subprog_decl_in_type = function() { + return this.getTypedRuleContext(Subprog_decl_in_typeContext,0); +}; + +Type_body_elementsContext.prototype.overriding_subprogram_spec = function() { + return this.getTypedRuleContext(Overriding_subprogram_specContext,0); +}; + +Type_body_elementsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterType_body_elements(this); + } +}; + +Type_body_elementsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitType_body_elements(this); + } +}; + +Type_body_elementsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitType_body_elements(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Type_body_elementsContext = Type_body_elementsContext; + +PlSqlParser.prototype.type_body_elements = function() { + + var localctx = new Type_body_elementsContext(this, this._ctx, this.state); + this.enterRule(localctx, 124, PlSqlParser.RULE_type_body_elements); + try { + this.state = 2436; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.MAP: + case PlSqlParser.ORDER: + this.enterOuterAlt(localctx, 1); + this.state = 2433; + this.map_order_func_declaration(); + break; + case PlSqlParser.MEMBER: + case PlSqlParser.STATIC: + this.enterOuterAlt(localctx, 2); + this.state = 2434; + this.subprog_decl_in_type(); + break; + case PlSqlParser.OVERRIDING: + this.enterOuterAlt(localctx, 3); + this.state = 2435; + this.overriding_subprogram_spec(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Map_order_func_declarationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_map_order_func_declaration; + return this; +} + +Map_order_func_declarationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Map_order_func_declarationContext.prototype.constructor = Map_order_func_declarationContext; + +Map_order_func_declarationContext.prototype.MEMBER = function() { + return this.getToken(PlSqlParser.MEMBER, 0); +}; + +Map_order_func_declarationContext.prototype.func_decl_in_type = function() { + return this.getTypedRuleContext(Func_decl_in_typeContext,0); +}; + +Map_order_func_declarationContext.prototype.MAP = function() { + return this.getToken(PlSqlParser.MAP, 0); +}; + +Map_order_func_declarationContext.prototype.ORDER = function() { + return this.getToken(PlSqlParser.ORDER, 0); +}; + +Map_order_func_declarationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMap_order_func_declaration(this); + } +}; + +Map_order_func_declarationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMap_order_func_declaration(this); + } +}; + +Map_order_func_declarationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMap_order_func_declaration(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Map_order_func_declarationContext = Map_order_func_declarationContext; + +PlSqlParser.prototype.map_order_func_declaration = function() { + + var localctx = new Map_order_func_declarationContext(this, this._ctx, this.state); + this.enterRule(localctx, 126, PlSqlParser.RULE_map_order_func_declaration); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2438; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.MAP || _la===PlSqlParser.ORDER)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2439; + this.match(PlSqlParser.MEMBER); + this.state = 2440; + this.func_decl_in_type(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subprog_decl_in_typeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_subprog_decl_in_type; + return this; +} + +Subprog_decl_in_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subprog_decl_in_typeContext.prototype.constructor = Subprog_decl_in_typeContext; + +Subprog_decl_in_typeContext.prototype.MEMBER = function() { + return this.getToken(PlSqlParser.MEMBER, 0); +}; + +Subprog_decl_in_typeContext.prototype.STATIC = function() { + return this.getToken(PlSqlParser.STATIC, 0); +}; + +Subprog_decl_in_typeContext.prototype.proc_decl_in_type = function() { + return this.getTypedRuleContext(Proc_decl_in_typeContext,0); +}; + +Subprog_decl_in_typeContext.prototype.func_decl_in_type = function() { + return this.getTypedRuleContext(Func_decl_in_typeContext,0); +}; + +Subprog_decl_in_typeContext.prototype.constructor_declaration = function() { + return this.getTypedRuleContext(Constructor_declarationContext,0); +}; + +Subprog_decl_in_typeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSubprog_decl_in_type(this); + } +}; + +Subprog_decl_in_typeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSubprog_decl_in_type(this); + } +}; + +Subprog_decl_in_typeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSubprog_decl_in_type(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Subprog_decl_in_typeContext = Subprog_decl_in_typeContext; + +PlSqlParser.prototype.subprog_decl_in_type = function() { + + var localctx = new Subprog_decl_in_typeContext(this, this._ctx, this.state); + this.enterRule(localctx, 128, PlSqlParser.RULE_subprog_decl_in_type); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2442; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.MEMBER || _la===PlSqlParser.STATIC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2446; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.PROCEDURE: + this.state = 2443; + this.proc_decl_in_type(); + break; + case PlSqlParser.FUNCTION: + this.state = 2444; + this.func_decl_in_type(); + break; + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.FINAL: + case PlSqlParser.INSTANTIABLE: + this.state = 2445; + this.constructor_declaration(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Proc_decl_in_typeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_proc_decl_in_type; + return this; +} + +Proc_decl_in_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Proc_decl_in_typeContext.prototype.constructor = Proc_decl_in_typeContext; + +Proc_decl_in_typeContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Proc_decl_in_typeContext.prototype.procedure_name = function() { + return this.getTypedRuleContext(Procedure_nameContext,0); +}; + +Proc_decl_in_typeContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Proc_decl_in_typeContext.prototype.type_elements_parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_elements_parameterContext); + } else { + return this.getTypedRuleContext(Type_elements_parameterContext,i); + } +}; + +Proc_decl_in_typeContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Proc_decl_in_typeContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Proc_decl_in_typeContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Proc_decl_in_typeContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Proc_decl_in_typeContext.prototype.body = function() { + return this.getTypedRuleContext(BodyContext,0); +}; + +Proc_decl_in_typeContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Proc_decl_in_typeContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Proc_decl_in_typeContext.prototype.DECLARE = function() { + return this.getToken(PlSqlParser.DECLARE, 0); +}; + +Proc_decl_in_typeContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Proc_decl_in_typeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterProc_decl_in_type(this); + } +}; + +Proc_decl_in_typeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitProc_decl_in_type(this); + } +}; + +Proc_decl_in_typeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitProc_decl_in_type(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Proc_decl_in_typeContext = Proc_decl_in_typeContext; + +PlSqlParser.prototype.proc_decl_in_type = function() { + + var localctx = new Proc_decl_in_typeContext(this, this._ctx, this.state); + this.enterRule(localctx, 130, PlSqlParser.RULE_proc_decl_in_type); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2448; + this.match(PlSqlParser.PROCEDURE); + this.state = 2449; + this.procedure_name(); + this.state = 2450; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2451; + this.type_elements_parameter(); + this.state = 2456; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2452; + this.match(PlSqlParser.COMMA); + this.state = 2453; + this.type_elements_parameter(); + this.state = 2458; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2459; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 2460; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2471; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,138,this._ctx); + switch(la_) { + case 1: + this.state = 2461; + this.call_spec(); + break; + + case 2: + this.state = 2463; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,136,this._ctx); + if(la_===1) { + this.state = 2462; + this.match(PlSqlParser.DECLARE); + + } + this.state = 2466; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,137,this._ctx); + if(la_===1) { + this.state = 2465; + this.seq_of_declare_specs(); + + } + this.state = 2468; + this.body(); + this.state = 2469; + this.match(PlSqlParser.SEMICOLON); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Func_decl_in_typeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_func_decl_in_type; + return this; +} + +Func_decl_in_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Func_decl_in_typeContext.prototype.constructor = Func_decl_in_typeContext; + +Func_decl_in_typeContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Func_decl_in_typeContext.prototype.function_name = function() { + return this.getTypedRuleContext(Function_nameContext,0); +}; + +Func_decl_in_typeContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Func_decl_in_typeContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Func_decl_in_typeContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Func_decl_in_typeContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Func_decl_in_typeContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Func_decl_in_typeContext.prototype.body = function() { + return this.getTypedRuleContext(BodyContext,0); +}; + +Func_decl_in_typeContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Func_decl_in_typeContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Func_decl_in_typeContext.prototype.type_elements_parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_elements_parameterContext); + } else { + return this.getTypedRuleContext(Type_elements_parameterContext,i); + } +}; + +Func_decl_in_typeContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Func_decl_in_typeContext.prototype.DECLARE = function() { + return this.getToken(PlSqlParser.DECLARE, 0); +}; + +Func_decl_in_typeContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Func_decl_in_typeContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Func_decl_in_typeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFunc_decl_in_type(this); + } +}; + +Func_decl_in_typeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFunc_decl_in_type(this); + } +}; + +Func_decl_in_typeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFunc_decl_in_type(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Func_decl_in_typeContext = Func_decl_in_typeContext; + +PlSqlParser.prototype.func_decl_in_type = function() { + + var localctx = new Func_decl_in_typeContext(this, this._ctx, this.state); + this.enterRule(localctx, 132, PlSqlParser.RULE_func_decl_in_type); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2473; + this.match(PlSqlParser.FUNCTION); + this.state = 2474; + this.function_name(); + this.state = 2486; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2475; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2476; + this.type_elements_parameter(); + this.state = 2481; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2477; + this.match(PlSqlParser.COMMA); + this.state = 2478; + this.type_elements_parameter(); + this.state = 2483; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2484; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 2488; + this.match(PlSqlParser.RETURN); + this.state = 2489; + this.type_spec(); + this.state = 2490; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2501; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,143,this._ctx); + switch(la_) { + case 1: + this.state = 2491; + this.call_spec(); + break; + + case 2: + this.state = 2493; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,141,this._ctx); + if(la_===1) { + this.state = 2492; + this.match(PlSqlParser.DECLARE); + + } + this.state = 2496; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,142,this._ctx); + if(la_===1) { + this.state = 2495; + this.seq_of_declare_specs(); + + } + this.state = 2498; + this.body(); + this.state = 2499; + this.match(PlSqlParser.SEMICOLON); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Constructor_declarationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_constructor_declaration; + return this; +} + +Constructor_declarationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Constructor_declarationContext.prototype.constructor = Constructor_declarationContext; + +Constructor_declarationContext.prototype.CONSTRUCTOR = function() { + return this.getToken(PlSqlParser.CONSTRUCTOR, 0); +}; + +Constructor_declarationContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Constructor_declarationContext.prototype.type_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_specContext); + } else { + return this.getTypedRuleContext(Type_specContext,i); + } +}; + +Constructor_declarationContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Constructor_declarationContext.prototype.SELF = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SELF); + } else { + return this.getToken(PlSqlParser.SELF, i); + } +}; + + +Constructor_declarationContext.prototype.AS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.AS); + } else { + return this.getToken(PlSqlParser.AS, i); + } +}; + + +Constructor_declarationContext.prototype.RESULT = function() { + return this.getToken(PlSqlParser.RESULT, 0); +}; + +Constructor_declarationContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Constructor_declarationContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Constructor_declarationContext.prototype.body = function() { + return this.getTypedRuleContext(BodyContext,0); +}; + +Constructor_declarationContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Constructor_declarationContext.prototype.FINAL = function() { + return this.getToken(PlSqlParser.FINAL, 0); +}; + +Constructor_declarationContext.prototype.INSTANTIABLE = function() { + return this.getToken(PlSqlParser.INSTANTIABLE, 0); +}; + +Constructor_declarationContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Constructor_declarationContext.prototype.type_elements_parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_elements_parameterContext); + } else { + return this.getTypedRuleContext(Type_elements_parameterContext,i); + } +}; + +Constructor_declarationContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Constructor_declarationContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Constructor_declarationContext.prototype.OUT = function() { + return this.getToken(PlSqlParser.OUT, 0); +}; + +Constructor_declarationContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Constructor_declarationContext.prototype.DECLARE = function() { + return this.getToken(PlSqlParser.DECLARE, 0); +}; + +Constructor_declarationContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Constructor_declarationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterConstructor_declaration(this); + } +}; + +Constructor_declarationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitConstructor_declaration(this); + } +}; + +Constructor_declarationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitConstructor_declaration(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Constructor_declarationContext = Constructor_declarationContext; + +PlSqlParser.prototype.constructor_declaration = function() { + + var localctx = new Constructor_declarationContext(this, this._ctx, this.state); + this.enterRule(localctx, 134, PlSqlParser.RULE_constructor_declaration); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2504; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FINAL) { + this.state = 2503; + this.match(PlSqlParser.FINAL); + } + + this.state = 2507; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.INSTANTIABLE) { + this.state = 2506; + this.match(PlSqlParser.INSTANTIABLE); + } + + this.state = 2509; + this.match(PlSqlParser.CONSTRUCTOR); + this.state = 2510; + this.match(PlSqlParser.FUNCTION); + this.state = 2511; + this.type_spec(); + this.state = 2529; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2512; + this.match(PlSqlParser.LEFT_PAREN); + + this.state = 2513; + this.match(PlSqlParser.SELF); + this.state = 2514; + this.match(PlSqlParser.IN); + this.state = 2515; + this.match(PlSqlParser.OUT); + this.state = 2516; + this.type_spec(); + this.state = 2517; + this.match(PlSqlParser.COMMA); + this.state = 2519; + this.type_elements_parameter(); + this.state = 2524; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2520; + this.match(PlSqlParser.COMMA); + this.state = 2521; + this.type_elements_parameter(); + this.state = 2526; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2527; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 2531; + this.match(PlSqlParser.RETURN); + this.state = 2532; + this.match(PlSqlParser.SELF); + this.state = 2533; + this.match(PlSqlParser.AS); + this.state = 2534; + this.match(PlSqlParser.RESULT); + this.state = 2535; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2546; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,150,this._ctx); + switch(la_) { + case 1: + this.state = 2536; + this.call_spec(); + break; + + case 2: + this.state = 2538; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,148,this._ctx); + if(la_===1) { + this.state = 2537; + this.match(PlSqlParser.DECLARE); + + } + this.state = 2541; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,149,this._ctx); + if(la_===1) { + this.state = 2540; + this.seq_of_declare_specs(); + + } + this.state = 2543; + this.body(); + this.state = 2544; + this.match(PlSqlParser.SEMICOLON); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modifier_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modifier_clause; + return this; +} + +Modifier_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modifier_clauseContext.prototype.constructor = Modifier_clauseContext; + +Modifier_clauseContext.prototype.INSTANTIABLE = function() { + return this.getToken(PlSqlParser.INSTANTIABLE, 0); +}; + +Modifier_clauseContext.prototype.FINAL = function() { + return this.getToken(PlSqlParser.FINAL, 0); +}; + +Modifier_clauseContext.prototype.OVERRIDING = function() { + return this.getToken(PlSqlParser.OVERRIDING, 0); +}; + +Modifier_clauseContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Modifier_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModifier_clause(this); + } +}; + +Modifier_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModifier_clause(this); + } +}; + +Modifier_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModifier_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modifier_clauseContext = Modifier_clauseContext; + +PlSqlParser.prototype.modifier_clause = function() { + + var localctx = new Modifier_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 136, PlSqlParser.RULE_modifier_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2549; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 2548; + this.match(PlSqlParser.NOT); + } + + this.state = 2551; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.FINAL || _la===PlSqlParser.INSTANTIABLE || _la===PlSqlParser.OVERRIDING)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_member_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_member_spec; + return this; +} + +Object_member_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_member_specContext.prototype.constructor = Object_member_specContext; + +Object_member_specContext.prototype.identifier = function() { + return this.getTypedRuleContext(IdentifierContext,0); +}; + +Object_member_specContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Object_member_specContext.prototype.sqlj_object_type_attr = function() { + return this.getTypedRuleContext(Sqlj_object_type_attrContext,0); +}; + +Object_member_specContext.prototype.element_spec = function() { + return this.getTypedRuleContext(Element_specContext,0); +}; + +Object_member_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_member_spec(this); + } +}; + +Object_member_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_member_spec(this); + } +}; + +Object_member_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_member_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_member_specContext = Object_member_specContext; + +PlSqlParser.prototype.object_member_spec = function() { + + var localctx = new Object_member_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 138, PlSqlParser.RULE_object_member_spec); + var _la = 0; // Token type + try { + this.state = 2559; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,153,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2553; + this.identifier(); + this.state = 2554; + this.type_spec(); + this.state = 2556; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EXTERNAL) { + this.state = 2555; + this.sqlj_object_type_attr(); + } + + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2558; + this.element_spec(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Sqlj_object_type_attrContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_sqlj_object_type_attr; + return this; +} + +Sqlj_object_type_attrContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Sqlj_object_type_attrContext.prototype.constructor = Sqlj_object_type_attrContext; + +Sqlj_object_type_attrContext.prototype.EXTERNAL = function() { + return this.getToken(PlSqlParser.EXTERNAL, 0); +}; + +Sqlj_object_type_attrContext.prototype.NAME = function() { + return this.getToken(PlSqlParser.NAME, 0); +}; + +Sqlj_object_type_attrContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Sqlj_object_type_attrContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSqlj_object_type_attr(this); + } +}; + +Sqlj_object_type_attrContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSqlj_object_type_attr(this); + } +}; + +Sqlj_object_type_attrContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSqlj_object_type_attr(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Sqlj_object_type_attrContext = Sqlj_object_type_attrContext; + +PlSqlParser.prototype.sqlj_object_type_attr = function() { + + var localctx = new Sqlj_object_type_attrContext(this, this._ctx, this.state); + this.enterRule(localctx, 140, PlSqlParser.RULE_sqlj_object_type_attr); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2561; + this.match(PlSqlParser.EXTERNAL); + this.state = 2562; + this.match(PlSqlParser.NAME); + this.state = 2563; + this.expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Element_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_element_spec; + return this; +} + +Element_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Element_specContext.prototype.constructor = Element_specContext; + +Element_specContext.prototype.modifier_clause = function() { + return this.getTypedRuleContext(Modifier_clauseContext,0); +}; + +Element_specContext.prototype.element_spec_options = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Element_spec_optionsContext); + } else { + return this.getTypedRuleContext(Element_spec_optionsContext,i); + } +}; + +Element_specContext.prototype.COMMA = function() { + return this.getToken(PlSqlParser.COMMA, 0); +}; + +Element_specContext.prototype.pragma_clause = function() { + return this.getTypedRuleContext(Pragma_clauseContext,0); +}; + +Element_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterElement_spec(this); + } +}; + +Element_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitElement_spec(this); + } +}; + +Element_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitElement_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Element_specContext = Element_specContext; + +PlSqlParser.prototype.element_spec = function() { + + var localctx = new Element_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 142, PlSqlParser.RULE_element_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2566; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,154,this._ctx); + if(la_===1) { + this.state = 2565; + this.modifier_clause(); + + } + this.state = 2569; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2568; + this.element_spec_options(); + this.state = 2571; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.CONSTRUCTOR || _la===PlSqlParser.FINAL || _la===PlSqlParser.INSTANTIABLE || _la===PlSqlParser.MAP || _la===PlSqlParser.MEMBER || _la===PlSqlParser.ORDER || _la===PlSqlParser.STATIC); + this.state = 2575; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,156,this._ctx); + if(la_===1) { + this.state = 2573; + this.match(PlSqlParser.COMMA); + this.state = 2574; + this.pragma_clause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Element_spec_optionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_element_spec_options; + return this; +} + +Element_spec_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Element_spec_optionsContext.prototype.constructor = Element_spec_optionsContext; + +Element_spec_optionsContext.prototype.subprogram_spec = function() { + return this.getTypedRuleContext(Subprogram_specContext,0); +}; + +Element_spec_optionsContext.prototype.constructor_spec = function() { + return this.getTypedRuleContext(Constructor_specContext,0); +}; + +Element_spec_optionsContext.prototype.map_order_function_spec = function() { + return this.getTypedRuleContext(Map_order_function_specContext,0); +}; + +Element_spec_optionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterElement_spec_options(this); + } +}; + +Element_spec_optionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitElement_spec_options(this); + } +}; + +Element_spec_optionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitElement_spec_options(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Element_spec_optionsContext = Element_spec_optionsContext; + +PlSqlParser.prototype.element_spec_options = function() { + + var localctx = new Element_spec_optionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 144, PlSqlParser.RULE_element_spec_options); + try { + this.state = 2580; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.MEMBER: + case PlSqlParser.STATIC: + this.enterOuterAlt(localctx, 1); + this.state = 2577; + this.subprogram_spec(); + break; + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.FINAL: + case PlSqlParser.INSTANTIABLE: + this.enterOuterAlt(localctx, 2); + this.state = 2578; + this.constructor_spec(); + break; + case PlSqlParser.MAP: + case PlSqlParser.ORDER: + this.enterOuterAlt(localctx, 3); + this.state = 2579; + this.map_order_function_spec(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subprogram_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_subprogram_spec; + return this; +} + +Subprogram_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subprogram_specContext.prototype.constructor = Subprogram_specContext; + +Subprogram_specContext.prototype.MEMBER = function() { + return this.getToken(PlSqlParser.MEMBER, 0); +}; + +Subprogram_specContext.prototype.STATIC = function() { + return this.getToken(PlSqlParser.STATIC, 0); +}; + +Subprogram_specContext.prototype.type_procedure_spec = function() { + return this.getTypedRuleContext(Type_procedure_specContext,0); +}; + +Subprogram_specContext.prototype.type_function_spec = function() { + return this.getTypedRuleContext(Type_function_specContext,0); +}; + +Subprogram_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSubprogram_spec(this); + } +}; + +Subprogram_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSubprogram_spec(this); + } +}; + +Subprogram_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSubprogram_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Subprogram_specContext = Subprogram_specContext; + +PlSqlParser.prototype.subprogram_spec = function() { + + var localctx = new Subprogram_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 146, PlSqlParser.RULE_subprogram_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2582; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.MEMBER || _la===PlSqlParser.STATIC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2585; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.PROCEDURE: + this.state = 2583; + this.type_procedure_spec(); + break; + case PlSqlParser.FUNCTION: + this.state = 2584; + this.type_function_spec(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Overriding_subprogram_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_overriding_subprogram_spec; + return this; +} + +Overriding_subprogram_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Overriding_subprogram_specContext.prototype.constructor = Overriding_subprogram_specContext; + +Overriding_subprogram_specContext.prototype.OVERRIDING = function() { + return this.getToken(PlSqlParser.OVERRIDING, 0); +}; + +Overriding_subprogram_specContext.prototype.MEMBER = function() { + return this.getToken(PlSqlParser.MEMBER, 0); +}; + +Overriding_subprogram_specContext.prototype.overriding_function_spec = function() { + return this.getTypedRuleContext(Overriding_function_specContext,0); +}; + +Overriding_subprogram_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOverriding_subprogram_spec(this); + } +}; + +Overriding_subprogram_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOverriding_subprogram_spec(this); + } +}; + +Overriding_subprogram_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOverriding_subprogram_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Overriding_subprogram_specContext = Overriding_subprogram_specContext; + +PlSqlParser.prototype.overriding_subprogram_spec = function() { + + var localctx = new Overriding_subprogram_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 148, PlSqlParser.RULE_overriding_subprogram_spec); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2587; + this.match(PlSqlParser.OVERRIDING); + this.state = 2588; + this.match(PlSqlParser.MEMBER); + this.state = 2589; + this.overriding_function_spec(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Overriding_function_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_overriding_function_spec; + return this; +} + +Overriding_function_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Overriding_function_specContext.prototype.constructor = Overriding_function_specContext; + +Overriding_function_specContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Overriding_function_specContext.prototype.function_name = function() { + return this.getTypedRuleContext(Function_nameContext,0); +}; + +Overriding_function_specContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Overriding_function_specContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Overriding_function_specContext.prototype.SELF = function() { + return this.getToken(PlSqlParser.SELF, 0); +}; + +Overriding_function_specContext.prototype.AS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.AS); + } else { + return this.getToken(PlSqlParser.AS, i); + } +}; + + +Overriding_function_specContext.prototype.RESULT = function() { + return this.getToken(PlSqlParser.RESULT, 0); +}; + +Overriding_function_specContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Overriding_function_specContext.prototype.type_elements_parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_elements_parameterContext); + } else { + return this.getTypedRuleContext(Type_elements_parameterContext,i); + } +}; + +Overriding_function_specContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Overriding_function_specContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Overriding_function_specContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Overriding_function_specContext.prototype.body = function() { + return this.getTypedRuleContext(BodyContext,0); +}; + +Overriding_function_specContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Overriding_function_specContext.prototype.PIPELINED = function() { + return this.getToken(PlSqlParser.PIPELINED, 0); +}; + +Overriding_function_specContext.prototype.DECLARE = function() { + return this.getToken(PlSqlParser.DECLARE, 0); +}; + +Overriding_function_specContext.prototype.seq_of_declare_specs = function() { + return this.getTypedRuleContext(Seq_of_declare_specsContext,0); +}; + +Overriding_function_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOverriding_function_spec(this); + } +}; + +Overriding_function_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOverriding_function_spec(this); + } +}; + +Overriding_function_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOverriding_function_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Overriding_function_specContext = Overriding_function_specContext; + +PlSqlParser.prototype.overriding_function_spec = function() { + + var localctx = new Overriding_function_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 150, PlSqlParser.RULE_overriding_function_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2591; + this.match(PlSqlParser.FUNCTION); + this.state = 2592; + this.function_name(); + this.state = 2604; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2593; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2594; + this.type_elements_parameter(); + this.state = 2599; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2595; + this.match(PlSqlParser.COMMA); + this.state = 2596; + this.type_elements_parameter(); + this.state = 2601; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2602; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 2606; + this.match(PlSqlParser.RETURN); + this.state = 2611; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,161,this._ctx); + switch(la_) { + case 1: + this.state = 2607; + this.type_spec(); + break; + + case 2: + this.state = 2608; + this.match(PlSqlParser.SELF); + this.state = 2609; + this.match(PlSqlParser.AS); + this.state = 2610; + this.match(PlSqlParser.RESULT); + break; + + } + this.state = 2624; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AS || _la===PlSqlParser.IS || _la===PlSqlParser.PIPELINED) { + this.state = 2614; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PIPELINED) { + this.state = 2613; + this.match(PlSqlParser.PIPELINED); + } + + this.state = 2616; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + this.state = 2618; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,163,this._ctx); + if(la_===1) { + this.state = 2617; + this.match(PlSqlParser.DECLARE); + + } + this.state = 2621; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,164,this._ctx); + if(la_===1) { + this.state = 2620; + this.seq_of_declare_specs(); + + } + this.state = 2623; + this.body(); + } + + this.state = 2627; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,166,this._ctx); + if(la_===1) { + this.state = 2626; + this.match(PlSqlParser.SEMICOLON); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Type_procedure_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_type_procedure_spec; + return this; +} + +Type_procedure_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Type_procedure_specContext.prototype.constructor = Type_procedure_specContext; + +Type_procedure_specContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Type_procedure_specContext.prototype.procedure_name = function() { + return this.getTypedRuleContext(Procedure_nameContext,0); +}; + +Type_procedure_specContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Type_procedure_specContext.prototype.type_elements_parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_elements_parameterContext); + } else { + return this.getTypedRuleContext(Type_elements_parameterContext,i); + } +}; + +Type_procedure_specContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Type_procedure_specContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Type_procedure_specContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Type_procedure_specContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Type_procedure_specContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Type_procedure_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterType_procedure_spec(this); + } +}; + +Type_procedure_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitType_procedure_spec(this); + } +}; + +Type_procedure_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitType_procedure_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Type_procedure_specContext = Type_procedure_specContext; + +PlSqlParser.prototype.type_procedure_spec = function() { + + var localctx = new Type_procedure_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 152, PlSqlParser.RULE_type_procedure_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2629; + this.match(PlSqlParser.PROCEDURE); + this.state = 2630; + this.procedure_name(); + this.state = 2631; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2632; + this.type_elements_parameter(); + this.state = 2637; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2633; + this.match(PlSqlParser.COMMA); + this.state = 2634; + this.type_elements_parameter(); + this.state = 2639; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2640; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 2643; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AS || _la===PlSqlParser.IS) { + this.state = 2641; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2642; + this.call_spec(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Type_function_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_type_function_spec; + return this; +} + +Type_function_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Type_function_specContext.prototype.constructor = Type_function_specContext; + +Type_function_specContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Type_function_specContext.prototype.function_name = function() { + return this.getTypedRuleContext(Function_nameContext,0); +}; + +Type_function_specContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Type_function_specContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Type_function_specContext.prototype.SELF = function() { + return this.getToken(PlSqlParser.SELF, 0); +}; + +Type_function_specContext.prototype.AS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.AS); + } else { + return this.getToken(PlSqlParser.AS, i); + } +}; + + +Type_function_specContext.prototype.RESULT = function() { + return this.getToken(PlSqlParser.RESULT, 0); +}; + +Type_function_specContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Type_function_specContext.prototype.type_elements_parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_elements_parameterContext); + } else { + return this.getTypedRuleContext(Type_elements_parameterContext,i); + } +}; + +Type_function_specContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Type_function_specContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Type_function_specContext.prototype.EXTERNAL = function() { + return this.getToken(PlSqlParser.EXTERNAL, 0); +}; + +Type_function_specContext.prototype.NAME = function() { + return this.getToken(PlSqlParser.NAME, 0); +}; + +Type_function_specContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Type_function_specContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Type_function_specContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Type_function_specContext.prototype.VARIABLE = function() { + return this.getToken(PlSqlParser.VARIABLE, 0); +}; + +Type_function_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterType_function_spec(this); + } +}; + +Type_function_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitType_function_spec(this); + } +}; + +Type_function_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitType_function_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Type_function_specContext = Type_function_specContext; + +PlSqlParser.prototype.type_function_spec = function() { + + var localctx = new Type_function_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 154, PlSqlParser.RULE_type_function_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2645; + this.match(PlSqlParser.FUNCTION); + this.state = 2646; + this.function_name(); + this.state = 2658; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2647; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2648; + this.type_elements_parameter(); + this.state = 2653; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2649; + this.match(PlSqlParser.COMMA); + this.state = 2650; + this.type_elements_parameter(); + this.state = 2655; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2656; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 2660; + this.match(PlSqlParser.RETURN); + this.state = 2665; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,171,this._ctx); + switch(la_) { + case 1: + this.state = 2661; + this.type_spec(); + break; + + case 2: + this.state = 2662; + this.match(PlSqlParser.SELF); + this.state = 2663; + this.match(PlSqlParser.AS); + this.state = 2664; + this.match(PlSqlParser.RESULT); + break; + + } + this.state = 2675; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.AS: + case PlSqlParser.IS: + this.state = 2667; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2668; + this.call_spec(); + break; + case PlSqlParser.EXTERNAL: + this.state = 2669; + this.match(PlSqlParser.EXTERNAL); + this.state = 2671; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.VARIABLE) { + this.state = 2670; + this.match(PlSqlParser.VARIABLE); + } + + this.state = 2673; + this.match(PlSqlParser.NAME); + this.state = 2674; + this.expression(); + break; + case PlSqlParser.CASCADE: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.FINAL: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INVALIDATE: + case PlSqlParser.MAP: + case PlSqlParser.MEMBER: + case PlSqlParser.ORDER: + case PlSqlParser.STATIC: + case PlSqlParser.RIGHT_PAREN: + case PlSqlParser.COMMA: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Constructor_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_constructor_spec; + return this; +} + +Constructor_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Constructor_specContext.prototype.constructor = Constructor_specContext; + +Constructor_specContext.prototype.CONSTRUCTOR = function() { + return this.getToken(PlSqlParser.CONSTRUCTOR, 0); +}; + +Constructor_specContext.prototype.FUNCTION = function() { + return this.getToken(PlSqlParser.FUNCTION, 0); +}; + +Constructor_specContext.prototype.type_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_specContext); + } else { + return this.getTypedRuleContext(Type_specContext,i); + } +}; + +Constructor_specContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Constructor_specContext.prototype.SELF = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SELF); + } else { + return this.getToken(PlSqlParser.SELF, i); + } +}; + + +Constructor_specContext.prototype.AS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.AS); + } else { + return this.getToken(PlSqlParser.AS, i); + } +}; + + +Constructor_specContext.prototype.RESULT = function() { + return this.getToken(PlSqlParser.RESULT, 0); +}; + +Constructor_specContext.prototype.FINAL = function() { + return this.getToken(PlSqlParser.FINAL, 0); +}; + +Constructor_specContext.prototype.INSTANTIABLE = function() { + return this.getToken(PlSqlParser.INSTANTIABLE, 0); +}; + +Constructor_specContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Constructor_specContext.prototype.type_elements_parameter = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_elements_parameterContext); + } else { + return this.getTypedRuleContext(Type_elements_parameterContext,i); + } +}; + +Constructor_specContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Constructor_specContext.prototype.call_spec = function() { + return this.getTypedRuleContext(Call_specContext,0); +}; + +Constructor_specContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Constructor_specContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Constructor_specContext.prototype.OUT = function() { + return this.getToken(PlSqlParser.OUT, 0); +}; + +Constructor_specContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Constructor_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterConstructor_spec(this); + } +}; + +Constructor_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitConstructor_spec(this); + } +}; + +Constructor_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitConstructor_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Constructor_specContext = Constructor_specContext; + +PlSqlParser.prototype.constructor_spec = function() { + + var localctx = new Constructor_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 156, PlSqlParser.RULE_constructor_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2678; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FINAL) { + this.state = 2677; + this.match(PlSqlParser.FINAL); + } + + this.state = 2681; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.INSTANTIABLE) { + this.state = 2680; + this.match(PlSqlParser.INSTANTIABLE); + } + + this.state = 2683; + this.match(PlSqlParser.CONSTRUCTOR); + this.state = 2684; + this.match(PlSqlParser.FUNCTION); + this.state = 2685; + this.type_spec(); + this.state = 2703; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2686; + this.match(PlSqlParser.LEFT_PAREN); + + this.state = 2687; + this.match(PlSqlParser.SELF); + this.state = 2688; + this.match(PlSqlParser.IN); + this.state = 2689; + this.match(PlSqlParser.OUT); + this.state = 2690; + this.type_spec(); + this.state = 2691; + this.match(PlSqlParser.COMMA); + this.state = 2693; + this.type_elements_parameter(); + this.state = 2698; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2694; + this.match(PlSqlParser.COMMA); + this.state = 2695; + this.type_elements_parameter(); + this.state = 2700; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2701; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 2705; + this.match(PlSqlParser.RETURN); + this.state = 2706; + this.match(PlSqlParser.SELF); + this.state = 2707; + this.match(PlSqlParser.AS); + this.state = 2708; + this.match(PlSqlParser.RESULT); + this.state = 2711; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AS || _la===PlSqlParser.IS) { + this.state = 2709; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AS || _la===PlSqlParser.IS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2710; + this.call_spec(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Map_order_function_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_map_order_function_spec; + return this; +} + +Map_order_function_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Map_order_function_specContext.prototype.constructor = Map_order_function_specContext; + +Map_order_function_specContext.prototype.MEMBER = function() { + return this.getToken(PlSqlParser.MEMBER, 0); +}; + +Map_order_function_specContext.prototype.type_function_spec = function() { + return this.getTypedRuleContext(Type_function_specContext,0); +}; + +Map_order_function_specContext.prototype.MAP = function() { + return this.getToken(PlSqlParser.MAP, 0); +}; + +Map_order_function_specContext.prototype.ORDER = function() { + return this.getToken(PlSqlParser.ORDER, 0); +}; + +Map_order_function_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMap_order_function_spec(this); + } +}; + +Map_order_function_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMap_order_function_spec(this); + } +}; + +Map_order_function_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMap_order_function_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Map_order_function_specContext = Map_order_function_specContext; + +PlSqlParser.prototype.map_order_function_spec = function() { + + var localctx = new Map_order_function_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 158, PlSqlParser.RULE_map_order_function_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2713; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.MAP || _la===PlSqlParser.ORDER)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2714; + this.match(PlSqlParser.MEMBER); + this.state = 2715; + this.type_function_spec(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Pragma_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_pragma_clause; + return this; +} + +Pragma_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Pragma_clauseContext.prototype.constructor = Pragma_clauseContext; + +Pragma_clauseContext.prototype.PRAGMA = function() { + return this.getToken(PlSqlParser.PRAGMA, 0); +}; + +Pragma_clauseContext.prototype.RESTRICT_REFERENCES = function() { + return this.getToken(PlSqlParser.RESTRICT_REFERENCES, 0); +}; + +Pragma_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Pragma_clauseContext.prototype.pragma_elements = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Pragma_elementsContext); + } else { + return this.getTypedRuleContext(Pragma_elementsContext,i); + } +}; + +Pragma_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Pragma_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Pragma_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPragma_clause(this); + } +}; + +Pragma_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPragma_clause(this); + } +}; + +Pragma_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPragma_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Pragma_clauseContext = Pragma_clauseContext; + +PlSqlParser.prototype.pragma_clause = function() { + + var localctx = new Pragma_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 160, PlSqlParser.RULE_pragma_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2717; + this.match(PlSqlParser.PRAGMA); + this.state = 2718; + this.match(PlSqlParser.RESTRICT_REFERENCES); + this.state = 2719; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2720; + this.pragma_elements(); + this.state = 2725; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2721; + this.match(PlSqlParser.COMMA); + this.state = 2722; + this.pragma_elements(); + this.state = 2727; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2728; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Pragma_elementsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_pragma_elements; + return this; +} + +Pragma_elementsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Pragma_elementsContext.prototype.constructor = Pragma_elementsContext; + +Pragma_elementsContext.prototype.identifier = function() { + return this.getTypedRuleContext(IdentifierContext,0); +}; + +Pragma_elementsContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Pragma_elementsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPragma_elements(this); + } +}; + +Pragma_elementsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPragma_elements(this); + } +}; + +Pragma_elementsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPragma_elements(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Pragma_elementsContext = Pragma_elementsContext; + +PlSqlParser.prototype.pragma_elements = function() { + + var localctx = new Pragma_elementsContext(this, this._ctx, this.state); + this.enterRule(localctx, 162, PlSqlParser.RULE_pragma_elements); + try { + this.state = 2732; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.DELIMITED_ID: + case PlSqlParser.INTRODUCER: + case PlSqlParser.REGULAR_ID: + this.enterOuterAlt(localctx, 1); + this.state = 2730; + this.identifier(); + break; + case PlSqlParser.DEFAULT: + this.enterOuterAlt(localctx, 2); + this.state = 2731; + this.match(PlSqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Type_elements_parameterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_type_elements_parameter; + return this; +} + +Type_elements_parameterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Type_elements_parameterContext.prototype.constructor = Type_elements_parameterContext; + +Type_elements_parameterContext.prototype.parameter_name = function() { + return this.getTypedRuleContext(Parameter_nameContext,0); +}; + +Type_elements_parameterContext.prototype.type_spec = function() { + return this.getTypedRuleContext(Type_specContext,0); +}; + +Type_elements_parameterContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterType_elements_parameter(this); + } +}; + +Type_elements_parameterContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitType_elements_parameter(this); + } +}; + +Type_elements_parameterContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitType_elements_parameter(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Type_elements_parameterContext = Type_elements_parameterContext; + +PlSqlParser.prototype.type_elements_parameter = function() { + + var localctx = new Type_elements_parameterContext(this, this._ctx, this.state); + this.enterRule(localctx, 164, PlSqlParser.RULE_type_elements_parameter); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2734; + this.parameter_name(); + this.state = 2735; + this.type_spec(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_sequenceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_sequence; + return this; +} + +Drop_sequenceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_sequenceContext.prototype.constructor = Drop_sequenceContext; + +Drop_sequenceContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_sequenceContext.prototype.SEQUENCE = function() { + return this.getToken(PlSqlParser.SEQUENCE, 0); +}; + +Drop_sequenceContext.prototype.sequence_name = function() { + return this.getTypedRuleContext(Sequence_nameContext,0); +}; + +Drop_sequenceContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_sequenceContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_sequence(this); + } +}; + +Drop_sequenceContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_sequence(this); + } +}; + +Drop_sequenceContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_sequence(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_sequenceContext = Drop_sequenceContext; + +PlSqlParser.prototype.drop_sequence = function() { + + var localctx = new Drop_sequenceContext(this, this._ctx, this.state); + this.enterRule(localctx, 166, PlSqlParser.RULE_drop_sequence); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2737; + this.match(PlSqlParser.DROP); + this.state = 2738; + this.match(PlSqlParser.SEQUENCE); + this.state = 2739; + this.sequence_name(); + this.state = 2740; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_sequenceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_sequence; + return this; +} + +Alter_sequenceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_sequenceContext.prototype.constructor = Alter_sequenceContext; + +Alter_sequenceContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_sequenceContext.prototype.SEQUENCE = function() { + return this.getToken(PlSqlParser.SEQUENCE, 0); +}; + +Alter_sequenceContext.prototype.sequence_name = function() { + return this.getTypedRuleContext(Sequence_nameContext,0); +}; + +Alter_sequenceContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_sequenceContext.prototype.sequence_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Sequence_specContext); + } else { + return this.getTypedRuleContext(Sequence_specContext,i); + } +}; + +Alter_sequenceContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_sequence(this); + } +}; + +Alter_sequenceContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_sequence(this); + } +}; + +Alter_sequenceContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_sequence(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_sequenceContext = Alter_sequenceContext; + +PlSqlParser.prototype.alter_sequence = function() { + + var localctx = new Alter_sequenceContext(this, this._ctx, this.state); + this.enterRule(localctx, 168, PlSqlParser.RULE_alter_sequence); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2742; + this.match(PlSqlParser.ALTER); + this.state = 2743; + this.match(PlSqlParser.SEQUENCE); + this.state = 2744; + this.sequence_name(); + this.state = 2746; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2745; + this.sequence_spec(); + this.state = 2748; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.CACHE || _la===PlSqlParser.CYCLE || _la===PlSqlParser.INCREMENT || _la===PlSqlParser.MAXVALUE || _la===PlSqlParser.MINVALUE || _la===PlSqlParser.NOCACHE || _la===PlSqlParser.NOCYCLE || ((((_la - 995)) & ~0x1f) == 0 && ((1 << (_la - 995)) & ((1 << (PlSqlParser.NOMAXVALUE - 995)) | (1 << (PlSqlParser.NOMINVALUE - 995)) | (1 << (PlSqlParser.NOORDER - 995)))) !== 0) || _la===PlSqlParser.ORDER); + this.state = 2750; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_sessionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_session; + return this; +} + +Alter_sessionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_sessionContext.prototype.constructor = Alter_sessionContext; + +Alter_sessionContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_sessionContext.prototype.SESSION = function() { + return this.getToken(PlSqlParser.SESSION, 0); +}; + +Alter_sessionContext.prototype.ADVISE = function() { + return this.getToken(PlSqlParser.ADVISE, 0); +}; + +Alter_sessionContext.prototype.CLOSE = function() { + return this.getToken(PlSqlParser.CLOSE, 0); +}; + +Alter_sessionContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Alter_sessionContext.prototype.LINK = function() { + return this.getToken(PlSqlParser.LINK, 0); +}; + +Alter_sessionContext.prototype.parameter_name = function() { + return this.getTypedRuleContext(Parameter_nameContext,0); +}; + +Alter_sessionContext.prototype.enable_or_disable = function() { + return this.getTypedRuleContext(Enable_or_disableContext,0); +}; + +Alter_sessionContext.prototype.COMMIT = function() { + return this.getToken(PlSqlParser.COMMIT, 0); +}; + +Alter_sessionContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Alter_sessionContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Alter_sessionContext.prototype.GUARD = function() { + return this.getToken(PlSqlParser.GUARD, 0); +}; + +Alter_sessionContext.prototype.PARALLEL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARALLEL); + } else { + return this.getToken(PlSqlParser.PARALLEL, i); + } +}; + + +Alter_sessionContext.prototype.SET = function() { + return this.getToken(PlSqlParser.SET, 0); +}; + +Alter_sessionContext.prototype.alter_session_set_clause = function() { + return this.getTypedRuleContext(Alter_session_set_clauseContext,0); +}; + +Alter_sessionContext.prototype.ROLLBACK = function() { + return this.getToken(PlSqlParser.ROLLBACK, 0); +}; + +Alter_sessionContext.prototype.NOTHING = function() { + return this.getToken(PlSqlParser.NOTHING, 0); +}; + +Alter_sessionContext.prototype.DML = function() { + return this.getToken(PlSqlParser.DML, 0); +}; + +Alter_sessionContext.prototype.DDL = function() { + return this.getToken(PlSqlParser.DDL, 0); +}; + +Alter_sessionContext.prototype.QUERY = function() { + return this.getToken(PlSqlParser.QUERY, 0); +}; + +Alter_sessionContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Alter_sessionContext.prototype.literal = function() { + return this.getTypedRuleContext(LiteralContext,0); +}; + +Alter_sessionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_session(this); + } +}; + +Alter_sessionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_session(this); + } +}; + +Alter_sessionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_session(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_sessionContext = Alter_sessionContext; + +PlSqlParser.prototype.alter_session = function() { + + var localctx = new Alter_sessionContext(this, this._ctx, this.state); + this.enterRule(localctx, 170, PlSqlParser.RULE_alter_session); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2752; + this.match(PlSqlParser.ALTER); + this.state = 2753; + this.match(PlSqlParser.SESSION); + this.state = 2783; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,185,this._ctx); + switch(la_) { + case 1: + this.state = 2754; + this.match(PlSqlParser.ADVISE); + this.state = 2755; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.COMMIT || _la===PlSqlParser.NOTHING || _la===PlSqlParser.ROLLBACK)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 2: + this.state = 2756; + this.match(PlSqlParser.CLOSE); + this.state = 2757; + this.match(PlSqlParser.DATABASE); + this.state = 2758; + this.match(PlSqlParser.LINK); + this.state = 2759; + this.parameter_name(); + break; + + case 3: + this.state = 2760; + this.enable_or_disable(); + this.state = 2761; + this.match(PlSqlParser.COMMIT); + this.state = 2762; + this.match(PlSqlParser.IN); + this.state = 2763; + this.match(PlSqlParser.PROCEDURE); + break; + + case 4: + this.state = 2765; + this.enable_or_disable(); + this.state = 2766; + this.match(PlSqlParser.GUARD); + break; + + case 5: + this.state = 2770; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DISABLE: + case PlSqlParser.ENABLE: + this.state = 2768; + this.enable_or_disable(); + break; + case PlSqlParser.FORCE: + this.state = 2769; + this.match(PlSqlParser.FORCE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2772; + this.match(PlSqlParser.PARALLEL); + this.state = 2773; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DDL || _la===PlSqlParser.DML || _la===PlSqlParser.QUERY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 2779; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,184,this._ctx); + if(la_===1) { + this.state = 2774; + this.match(PlSqlParser.PARALLEL); + this.state = 2777; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,183,this._ctx); + switch(la_) { + case 1: + this.state = 2775; + this.literal(); + break; + + case 2: + this.state = 2776; + this.parameter_name(); + break; + + } + + } + break; + + case 6: + this.state = 2781; + this.match(PlSqlParser.SET); + this.state = 2782; + this.alter_session_set_clause(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_session_set_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_session_set_clause; + return this; +} + +Alter_session_set_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_session_set_clauseContext.prototype.constructor = Alter_session_set_clauseContext; + +Alter_session_set_clauseContext.prototype.parameter_name = function() { + return this.getTypedRuleContext(Parameter_nameContext,0); +}; + +Alter_session_set_clauseContext.prototype.EQUALS_OP = function() { + return this.getToken(PlSqlParser.EQUALS_OP, 0); +}; + +Alter_session_set_clauseContext.prototype.parameter_value = function() { + return this.getTypedRuleContext(Parameter_valueContext,0); +}; + +Alter_session_set_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_session_set_clause(this); + } +}; + +Alter_session_set_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_session_set_clause(this); + } +}; + +Alter_session_set_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_session_set_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_session_set_clauseContext = Alter_session_set_clauseContext; + +PlSqlParser.prototype.alter_session_set_clause = function() { + + var localctx = new Alter_session_set_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 172, PlSqlParser.RULE_alter_session_set_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2785; + this.parameter_name(); + this.state = 2786; + this.match(PlSqlParser.EQUALS_OP); + this.state = 2787; + this.parameter_value(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_sequenceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_sequence; + return this; +} + +Create_sequenceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_sequenceContext.prototype.constructor = Create_sequenceContext; + +Create_sequenceContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_sequenceContext.prototype.SEQUENCE = function() { + return this.getToken(PlSqlParser.SEQUENCE, 0); +}; + +Create_sequenceContext.prototype.sequence_name = function() { + return this.getTypedRuleContext(Sequence_nameContext,0); +}; + +Create_sequenceContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_sequenceContext.prototype.sequence_start_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Sequence_start_clauseContext); + } else { + return this.getTypedRuleContext(Sequence_start_clauseContext,i); + } +}; + +Create_sequenceContext.prototype.sequence_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Sequence_specContext); + } else { + return this.getTypedRuleContext(Sequence_specContext,i); + } +}; + +Create_sequenceContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_sequence(this); + } +}; + +Create_sequenceContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_sequence(this); + } +}; + +Create_sequenceContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_sequence(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_sequenceContext = Create_sequenceContext; + +PlSqlParser.prototype.create_sequence = function() { + + var localctx = new Create_sequenceContext(this, this._ctx, this.state); + this.enterRule(localctx, 174, PlSqlParser.RULE_create_sequence); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2789; + this.match(PlSqlParser.CREATE); + this.state = 2790; + this.match(PlSqlParser.SEQUENCE); + this.state = 2791; + this.sequence_name(); + this.state = 2796; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.CACHE || _la===PlSqlParser.CYCLE || _la===PlSqlParser.INCREMENT || _la===PlSqlParser.MAXVALUE || _la===PlSqlParser.MINVALUE || _la===PlSqlParser.NOCACHE || _la===PlSqlParser.NOCYCLE || ((((_la - 995)) & ~0x1f) == 0 && ((1 << (_la - 995)) & ((1 << (PlSqlParser.NOMAXVALUE - 995)) | (1 << (PlSqlParser.NOMINVALUE - 995)) | (1 << (PlSqlParser.NOORDER - 995)))) !== 0) || _la===PlSqlParser.ORDER || _la===PlSqlParser.START) { + this.state = 2794; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.START: + this.state = 2792; + this.sequence_start_clause(); + break; + case PlSqlParser.CACHE: + case PlSqlParser.CYCLE: + case PlSqlParser.INCREMENT: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MINVALUE: + case PlSqlParser.NOCACHE: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NOORDER: + case PlSqlParser.ORDER: + this.state = 2793; + this.sequence_spec(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2798; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2799; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Sequence_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_sequence_spec; + return this; +} + +Sequence_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Sequence_specContext.prototype.constructor = Sequence_specContext; + +Sequence_specContext.prototype.INCREMENT = function() { + return this.getToken(PlSqlParser.INCREMENT, 0); +}; + +Sequence_specContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Sequence_specContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Sequence_specContext.prototype.MAXVALUE = function() { + return this.getToken(PlSqlParser.MAXVALUE, 0); +}; + +Sequence_specContext.prototype.NOMAXVALUE = function() { + return this.getToken(PlSqlParser.NOMAXVALUE, 0); +}; + +Sequence_specContext.prototype.MINVALUE = function() { + return this.getToken(PlSqlParser.MINVALUE, 0); +}; + +Sequence_specContext.prototype.NOMINVALUE = function() { + return this.getToken(PlSqlParser.NOMINVALUE, 0); +}; + +Sequence_specContext.prototype.CYCLE = function() { + return this.getToken(PlSqlParser.CYCLE, 0); +}; + +Sequence_specContext.prototype.NOCYCLE = function() { + return this.getToken(PlSqlParser.NOCYCLE, 0); +}; + +Sequence_specContext.prototype.CACHE = function() { + return this.getToken(PlSqlParser.CACHE, 0); +}; + +Sequence_specContext.prototype.NOCACHE = function() { + return this.getToken(PlSqlParser.NOCACHE, 0); +}; + +Sequence_specContext.prototype.ORDER = function() { + return this.getToken(PlSqlParser.ORDER, 0); +}; + +Sequence_specContext.prototype.NOORDER = function() { + return this.getToken(PlSqlParser.NOORDER, 0); +}; + +Sequence_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSequence_spec(this); + } +}; + +Sequence_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSequence_spec(this); + } +}; + +Sequence_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSequence_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Sequence_specContext = Sequence_specContext; + +PlSqlParser.prototype.sequence_spec = function() { + + var localctx = new Sequence_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 176, PlSqlParser.RULE_sequence_spec); + try { + this.state = 2817; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INCREMENT: + this.enterOuterAlt(localctx, 1); + this.state = 2801; + this.match(PlSqlParser.INCREMENT); + this.state = 2802; + this.match(PlSqlParser.BY); + this.state = 2803; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.MAXVALUE: + this.enterOuterAlt(localctx, 2); + this.state = 2804; + this.match(PlSqlParser.MAXVALUE); + this.state = 2805; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.NOMAXVALUE: + this.enterOuterAlt(localctx, 3); + this.state = 2806; + this.match(PlSqlParser.NOMAXVALUE); + break; + case PlSqlParser.MINVALUE: + this.enterOuterAlt(localctx, 4); + this.state = 2807; + this.match(PlSqlParser.MINVALUE); + this.state = 2808; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.NOMINVALUE: + this.enterOuterAlt(localctx, 5); + this.state = 2809; + this.match(PlSqlParser.NOMINVALUE); + break; + case PlSqlParser.CYCLE: + this.enterOuterAlt(localctx, 6); + this.state = 2810; + this.match(PlSqlParser.CYCLE); + break; + case PlSqlParser.NOCYCLE: + this.enterOuterAlt(localctx, 7); + this.state = 2811; + this.match(PlSqlParser.NOCYCLE); + break; + case PlSqlParser.CACHE: + this.enterOuterAlt(localctx, 8); + this.state = 2812; + this.match(PlSqlParser.CACHE); + this.state = 2813; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.NOCACHE: + this.enterOuterAlt(localctx, 9); + this.state = 2814; + this.match(PlSqlParser.NOCACHE); + break; + case PlSqlParser.ORDER: + this.enterOuterAlt(localctx, 10); + this.state = 2815; + this.match(PlSqlParser.ORDER); + break; + case PlSqlParser.NOORDER: + this.enterOuterAlt(localctx, 11); + this.state = 2816; + this.match(PlSqlParser.NOORDER); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Sequence_start_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_sequence_start_clause; + return this; +} + +Sequence_start_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Sequence_start_clauseContext.prototype.constructor = Sequence_start_clauseContext; + +Sequence_start_clauseContext.prototype.START = function() { + return this.getToken(PlSqlParser.START, 0); +}; + +Sequence_start_clauseContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Sequence_start_clauseContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Sequence_start_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSequence_start_clause(this); + } +}; + +Sequence_start_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSequence_start_clause(this); + } +}; + +Sequence_start_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSequence_start_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Sequence_start_clauseContext = Sequence_start_clauseContext; + +PlSqlParser.prototype.sequence_start_clause = function() { + + var localctx = new Sequence_start_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 178, PlSqlParser.RULE_sequence_start_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2819; + this.match(PlSqlParser.START); + this.state = 2820; + this.match(PlSqlParser.WITH); + this.state = 2821; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_indexContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_index; + return this; +} + +Create_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_indexContext.prototype.constructor = Create_indexContext; + +Create_indexContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_indexContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Create_indexContext.prototype.index_name = function() { + return this.getTypedRuleContext(Index_nameContext,0); +}; + +Create_indexContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Create_indexContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_indexContext.prototype.cluster_index_clause = function() { + return this.getTypedRuleContext(Cluster_index_clauseContext,0); +}; + +Create_indexContext.prototype.table_index_clause = function() { + return this.getTypedRuleContext(Table_index_clauseContext,0); +}; + +Create_indexContext.prototype.bitmap_join_index_clause = function() { + return this.getTypedRuleContext(Bitmap_join_index_clauseContext,0); +}; + +Create_indexContext.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +Create_indexContext.prototype.UNIQUE = function() { + return this.getToken(PlSqlParser.UNIQUE, 0); +}; + +Create_indexContext.prototype.BITMAP = function() { + return this.getToken(PlSqlParser.BITMAP, 0); +}; + +Create_indexContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_index(this); + } +}; + +Create_indexContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_index(this); + } +}; + +Create_indexContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_index(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_indexContext = Create_indexContext; + +PlSqlParser.prototype.create_index = function() { + + var localctx = new Create_indexContext(this, this._ctx, this.state); + this.enterRule(localctx, 180, PlSqlParser.RULE_create_index); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2823; + this.match(PlSqlParser.CREATE); + this.state = 2825; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BITMAP || _la===PlSqlParser.UNIQUE) { + this.state = 2824; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BITMAP || _la===PlSqlParser.UNIQUE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2827; + this.match(PlSqlParser.INDEX); + this.state = 2828; + this.index_name(); + this.state = 2829; + this.match(PlSqlParser.ON); + this.state = 2833; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,190,this._ctx); + switch(la_) { + case 1: + this.state = 2830; + this.cluster_index_clause(); + break; + + case 2: + this.state = 2831; + this.table_index_clause(); + break; + + case 3: + this.state = 2832; + this.bitmap_join_index_clause(); + break; + + } + this.state = 2836; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNUSABLE) { + this.state = 2835; + this.match(PlSqlParser.UNUSABLE); + } + + this.state = 2838; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cluster_index_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_cluster_index_clause; + return this; +} + +Cluster_index_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cluster_index_clauseContext.prototype.constructor = Cluster_index_clauseContext; + +Cluster_index_clauseContext.prototype.CLUSTER = function() { + return this.getToken(PlSqlParser.CLUSTER, 0); +}; + +Cluster_index_clauseContext.prototype.cluster_name = function() { + return this.getTypedRuleContext(Cluster_nameContext,0); +}; + +Cluster_index_clauseContext.prototype.index_attributes = function() { + return this.getTypedRuleContext(Index_attributesContext,0); +}; + +Cluster_index_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCluster_index_clause(this); + } +}; + +Cluster_index_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCluster_index_clause(this); + } +}; + +Cluster_index_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCluster_index_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Cluster_index_clauseContext = Cluster_index_clauseContext; + +PlSqlParser.prototype.cluster_index_clause = function() { + + var localctx = new Cluster_index_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 182, PlSqlParser.RULE_cluster_index_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2840; + this.match(PlSqlParser.CLUSTER); + this.state = 2841; + this.cluster_name(); + this.state = 2843; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.INVISIBLE || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.NOSORT || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.REVERSE || _la===PlSqlParser.SORT || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VISIBLE) { + this.state = 2842; + this.index_attributes(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cluster_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_cluster_name; + return this; +} + +Cluster_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cluster_nameContext.prototype.constructor = Cluster_nameContext; + +Cluster_nameContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +Cluster_nameContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Cluster_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCluster_name(this); + } +}; + +Cluster_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCluster_name(this); + } +}; + +Cluster_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCluster_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Cluster_nameContext = Cluster_nameContext; + +PlSqlParser.prototype.cluster_name = function() { + + var localctx = new Cluster_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 184, PlSqlParser.RULE_cluster_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 2848; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,193,this._ctx); + if(la_===1) { + this.state = 2845; + this.id_expression(); + this.state = 2846; + this.match(PlSqlParser.PERIOD); + + } + this.state = 2850; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Table_index_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_table_index_clause; + return this; +} + +Table_index_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Table_index_clauseContext.prototype.constructor = Table_index_clauseContext; + +Table_index_clauseContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Table_index_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Table_index_clauseContext.prototype.index_expr = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Index_exprContext); + } else { + return this.getTypedRuleContext(Index_exprContext,i); + } +}; + +Table_index_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Table_index_clauseContext.prototype.table_alias = function() { + return this.getTypedRuleContext(Table_aliasContext,0); +}; + +Table_index_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Table_index_clauseContext.prototype.index_properties = function() { + return this.getTypedRuleContext(Index_propertiesContext,0); +}; + +Table_index_clauseContext.prototype.ASC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ASC); + } else { + return this.getToken(PlSqlParser.ASC, i); + } +}; + + +Table_index_clauseContext.prototype.DESC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DESC); + } else { + return this.getToken(PlSqlParser.DESC, i); + } +}; + + +Table_index_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTable_index_clause(this); + } +}; + +Table_index_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTable_index_clause(this); + } +}; + +Table_index_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTable_index_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Table_index_clauseContext = Table_index_clauseContext; + +PlSqlParser.prototype.table_index_clause = function() { + + var localctx = new Table_index_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 186, PlSqlParser.RULE_table_index_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2852; + this.tableview_name(); + this.state = 2854; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.NATIONAL_CHAR_STRING_LIT - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.CHAR_STRING - 2211)) | (1 << (PlSqlParser.DELIMITED_ID - 2211)))) !== 0) || _la===PlSqlParser.INTRODUCER || _la===PlSqlParser.REGULAR_ID) { + this.state = 2853; + this.table_alias(); + } + + this.state = 2856; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2857; + this.index_expr(); + this.state = 2859; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ASC || _la===PlSqlParser.DESC) { + this.state = 2858; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ASC || _la===PlSqlParser.DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2868; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2861; + this.match(PlSqlParser.COMMA); + this.state = 2862; + this.index_expr(); + this.state = 2864; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ASC || _la===PlSqlParser.DESC) { + this.state = 2863; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ASC || _la===PlSqlParser.DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2870; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2871; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 2873; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.GLOBAL || _la===PlSqlParser.INDEXTYPE || _la===PlSqlParser.INITRANS || _la===PlSqlParser.INVISIBLE || _la===PlSqlParser.LOCAL || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.NOSORT || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.REVERSE || _la===PlSqlParser.SORT || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VISIBLE) { + this.state = 2872; + this.index_properties(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Bitmap_join_index_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_bitmap_join_index_clause; + return this; +} + +Bitmap_join_index_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Bitmap_join_index_clauseContext.prototype.constructor = Bitmap_join_index_clauseContext; + +Bitmap_join_index_clauseContext.prototype.tableview_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Tableview_nameContext); + } else { + return this.getTypedRuleContext(Tableview_nameContext,i); + } +}; + +Bitmap_join_index_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Bitmap_join_index_clauseContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Bitmap_join_index_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Bitmap_join_index_clauseContext.prototype.FROM = function() { + return this.getToken(PlSqlParser.FROM, 0); +}; + +Bitmap_join_index_clauseContext.prototype.table_alias = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Table_aliasContext); + } else { + return this.getTypedRuleContext(Table_aliasContext,i); + } +}; + +Bitmap_join_index_clauseContext.prototype.where_clause = function() { + return this.getTypedRuleContext(Where_clauseContext,0); +}; + +Bitmap_join_index_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Bitmap_join_index_clauseContext.prototype.local_partitioned_index = function() { + return this.getTypedRuleContext(Local_partitioned_indexContext,0); +}; + +Bitmap_join_index_clauseContext.prototype.index_attributes = function() { + return this.getTypedRuleContext(Index_attributesContext,0); +}; + +Bitmap_join_index_clauseContext.prototype.ASC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ASC); + } else { + return this.getToken(PlSqlParser.ASC, i); + } +}; + + +Bitmap_join_index_clauseContext.prototype.DESC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DESC); + } else { + return this.getToken(PlSqlParser.DESC, i); + } +}; + + +Bitmap_join_index_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterBitmap_join_index_clause(this); + } +}; + +Bitmap_join_index_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitBitmap_join_index_clause(this); + } +}; + +Bitmap_join_index_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitBitmap_join_index_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Bitmap_join_index_clauseContext = Bitmap_join_index_clauseContext; + +PlSqlParser.prototype.bitmap_join_index_clause = function() { + + var localctx = new Bitmap_join_index_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 188, PlSqlParser.RULE_bitmap_join_index_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2875; + this.tableview_name(); + this.state = 2876; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2879; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,199,this._ctx); + if(la_===1) { + this.state = 2877; + this.tableview_name(); + + } else if(la_===2) { + this.state = 2878; + this.table_alias(); + + } + this.state = 2881; + this.column_name(); + this.state = 2883; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ASC || _la===PlSqlParser.DESC) { + this.state = 2882; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ASC || _la===PlSqlParser.DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2896; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2885; + this.match(PlSqlParser.COMMA); + this.state = 2888; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,201,this._ctx); + if(la_===1) { + this.state = 2886; + this.tableview_name(); + + } else if(la_===2) { + this.state = 2887; + this.table_alias(); + + } + this.state = 2890; + this.column_name(); + this.state = 2892; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ASC || _la===PlSqlParser.DESC) { + this.state = 2891; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ASC || _la===PlSqlParser.DESC)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 2898; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2899; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 2900; + this.match(PlSqlParser.FROM); + this.state = 2901; + this.tableview_name(); + this.state = 2902; + this.table_alias(); + this.state = 2909; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2903; + this.match(PlSqlParser.COMMA); + this.state = 2904; + this.tableview_name(); + this.state = 2905; + this.table_alias(); + this.state = 2911; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2912; + this.where_clause(); + this.state = 2914; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOCAL) { + this.state = 2913; + this.local_partitioned_index(); + } + + this.state = 2917; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.INVISIBLE || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.NOSORT || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.REVERSE || _la===PlSqlParser.SORT || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VISIBLE) { + this.state = 2916; + this.index_attributes(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_exprContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_expr; + return this; +} + +Index_exprContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_exprContext.prototype.constructor = Index_exprContext; + +Index_exprContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Index_exprContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Index_exprContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_expr(this); + } +}; + +Index_exprContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_expr(this); + } +}; + +Index_exprContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_expr(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_exprContext = Index_exprContext; + +PlSqlParser.prototype.index_expr = function() { + + var localctx = new Index_exprContext(this, this._ctx, this.state); + this.enterRule(localctx, 190, PlSqlParser.RULE_index_expr); + try { + this.state = 2921; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,207,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 2919; + this.column_name(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 2920; + this.expression(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_propertiesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_properties; + return this; +} + +Index_propertiesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_propertiesContext.prototype.constructor = Index_propertiesContext; + +Index_propertiesContext.prototype.global_partitioned_index = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Global_partitioned_indexContext); + } else { + return this.getTypedRuleContext(Global_partitioned_indexContext,i); + } +}; + +Index_propertiesContext.prototype.local_partitioned_index = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Local_partitioned_indexContext); + } else { + return this.getTypedRuleContext(Local_partitioned_indexContext,i); + } +}; + +Index_propertiesContext.prototype.index_attributes = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Index_attributesContext); + } else { + return this.getTypedRuleContext(Index_attributesContext,i); + } +}; + +Index_propertiesContext.prototype.INDEXTYPE = function() { + return this.getToken(PlSqlParser.INDEXTYPE, 0); +}; + +Index_propertiesContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Index_propertiesContext.prototype.domain_index_clause = function() { + return this.getTypedRuleContext(Domain_index_clauseContext,0); +}; + +Index_propertiesContext.prototype.xmlindex_clause = function() { + return this.getTypedRuleContext(Xmlindex_clauseContext,0); +}; + +Index_propertiesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_properties(this); + } +}; + +Index_propertiesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_properties(this); + } +}; + +Index_propertiesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_properties(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_propertiesContext = Index_propertiesContext; + +PlSqlParser.prototype.index_properties = function() { + + var localctx = new Index_propertiesContext(this, this._ctx, this.state); + this.enterRule(localctx, 192, PlSqlParser.RULE_index_properties); + var _la = 0; // Token type + try { + this.state = 2936; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.COMPRESS: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.GLOBAL: + case PlSqlParser.INITRANS: + case PlSqlParser.INVISIBLE: + case PlSqlParser.LOCAL: + case PlSqlParser.LOGGING: + case PlSqlParser.NOCOMPRESS: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NOSORT: + case PlSqlParser.PARALLEL: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.REVERSE: + case PlSqlParser.SORT: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + case PlSqlParser.VISIBLE: + this.enterOuterAlt(localctx, 1); + this.state = 2926; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 2926; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.GLOBAL: + this.state = 2923; + this.global_partitioned_index(); + break; + case PlSqlParser.LOCAL: + this.state = 2924; + this.local_partitioned_index(); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.INVISIBLE: + case PlSqlParser.LOGGING: + case PlSqlParser.NOCOMPRESS: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NOSORT: + case PlSqlParser.PARALLEL: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.REVERSE: + case PlSqlParser.SORT: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + case PlSqlParser.VISIBLE: + this.state = 2925; + this.index_attributes(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 2928; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.GLOBAL || _la===PlSqlParser.INITRANS || _la===PlSqlParser.INVISIBLE || _la===PlSqlParser.LOCAL || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.NOSORT || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.REVERSE || _la===PlSqlParser.SORT || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VISIBLE); + break; + case PlSqlParser.INDEXTYPE: + this.enterOuterAlt(localctx, 2); + this.state = 2930; + this.match(PlSqlParser.INDEXTYPE); + this.state = 2931; + this.match(PlSqlParser.IS); + this.state = 2934; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.DELIMITED_ID: + case PlSqlParser.REGULAR_ID: + this.state = 2932; + this.domain_index_clause(); + break; + case PlSqlParser.XDB: + case PlSqlParser.XMLINDEX: + this.state = 2933; + this.xmlindex_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Domain_index_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_domain_index_clause; + return this; +} + +Domain_index_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Domain_index_clauseContext.prototype.constructor = Domain_index_clauseContext; + +Domain_index_clauseContext.prototype.indextype = function() { + return this.getTypedRuleContext(IndextypeContext,0); +}; + +Domain_index_clauseContext.prototype.local_domain_index_clause = function() { + return this.getTypedRuleContext(Local_domain_index_clauseContext,0); +}; + +Domain_index_clauseContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Domain_index_clauseContext.prototype.PARAMETERS = function() { + return this.getToken(PlSqlParser.PARAMETERS, 0); +}; + +Domain_index_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Domain_index_clauseContext.prototype.odci_parameters = function() { + return this.getTypedRuleContext(Odci_parametersContext,0); +}; + +Domain_index_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Domain_index_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDomain_index_clause(this); + } +}; + +Domain_index_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDomain_index_clause(this); + } +}; + +Domain_index_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDomain_index_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Domain_index_clauseContext = Domain_index_clauseContext; + +PlSqlParser.prototype.domain_index_clause = function() { + + var localctx = new Domain_index_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 194, PlSqlParser.RULE_domain_index_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2938; + this.indextype(); + this.state = 2940; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOCAL) { + this.state = 2939; + this.local_domain_index_clause(); + } + + this.state = 2943; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 2942; + this.parallel_clause(); + } + + this.state = 2950; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PARAMETERS) { + this.state = 2945; + this.match(PlSqlParser.PARAMETERS); + this.state = 2946; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2947; + this.odci_parameters(); + this.state = 2948; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Local_domain_index_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_local_domain_index_clause; + return this; +} + +Local_domain_index_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Local_domain_index_clauseContext.prototype.constructor = Local_domain_index_clauseContext; + +Local_domain_index_clauseContext.prototype.LOCAL = function() { + return this.getToken(PlSqlParser.LOCAL, 0); +}; + +Local_domain_index_clauseContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Local_domain_index_clauseContext.prototype.PARTITION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARTITION); + } else { + return this.getToken(PlSqlParser.PARTITION, i); + } +}; + + +Local_domain_index_clauseContext.prototype.partition_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partition_nameContext); + } else { + return this.getTypedRuleContext(Partition_nameContext,i); + } +}; + +Local_domain_index_clauseContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Local_domain_index_clauseContext.prototype.PARAMETERS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARAMETERS); + } else { + return this.getToken(PlSqlParser.PARAMETERS, i); + } +}; + + +Local_domain_index_clauseContext.prototype.odci_parameters = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Odci_parametersContext); + } else { + return this.getTypedRuleContext(Odci_parametersContext,i); + } +}; + +Local_domain_index_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Local_domain_index_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLocal_domain_index_clause(this); + } +}; + +Local_domain_index_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLocal_domain_index_clause(this); + } +}; + +Local_domain_index_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLocal_domain_index_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Local_domain_index_clauseContext = Local_domain_index_clauseContext; + +PlSqlParser.prototype.local_domain_index_clause = function() { + + var localctx = new Local_domain_index_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 196, PlSqlParser.RULE_local_domain_index_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2952; + this.match(PlSqlParser.LOCAL); + this.state = 2980; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2953; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2954; + this.match(PlSqlParser.PARTITION); + this.state = 2955; + this.partition_name(); + this.state = 2961; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PARAMETERS) { + this.state = 2956; + this.match(PlSqlParser.PARAMETERS); + this.state = 2957; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2958; + this.odci_parameters(); + this.state = 2959; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 2975; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2963; + this.match(PlSqlParser.COMMA); + this.state = 2964; + this.match(PlSqlParser.PARTITION); + this.state = 2965; + this.partition_name(); + this.state = 2971; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PARAMETERS) { + this.state = 2966; + this.match(PlSqlParser.PARAMETERS); + this.state = 2967; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2968; + this.odci_parameters(); + this.state = 2969; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 2977; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 2978; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Xmlindex_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_xmlindex_clause; + return this; +} + +Xmlindex_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Xmlindex_clauseContext.prototype.constructor = Xmlindex_clauseContext; + +Xmlindex_clauseContext.prototype.XMLINDEX = function() { + return this.getToken(PlSqlParser.XMLINDEX, 0); +}; + +Xmlindex_clauseContext.prototype.XDB = function() { + return this.getToken(PlSqlParser.XDB, 0); +}; + +Xmlindex_clauseContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Xmlindex_clauseContext.prototype.local_xmlindex_clause = function() { + return this.getTypedRuleContext(Local_xmlindex_clauseContext,0); +}; + +Xmlindex_clauseContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Xmlindex_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterXmlindex_clause(this); + } +}; + +Xmlindex_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitXmlindex_clause(this); + } +}; + +Xmlindex_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitXmlindex_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Xmlindex_clauseContext = Xmlindex_clauseContext; + +PlSqlParser.prototype.xmlindex_clause = function() { + + var localctx = new Xmlindex_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 198, PlSqlParser.RULE_xmlindex_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2984; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.XDB) { + this.state = 2982; + this.match(PlSqlParser.XDB); + this.state = 2983; + this.match(PlSqlParser.PERIOD); + } + + this.state = 2986; + this.match(PlSqlParser.XMLINDEX); + this.state = 2988; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOCAL) { + this.state = 2987; + this.local_xmlindex_clause(); + } + + this.state = 2991; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 2990; + this.parallel_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Local_xmlindex_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_local_xmlindex_clause; + return this; +} + +Local_xmlindex_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Local_xmlindex_clauseContext.prototype.constructor = Local_xmlindex_clauseContext; + +Local_xmlindex_clauseContext.prototype.LOCAL = function() { + return this.getToken(PlSqlParser.LOCAL, 0); +}; + +Local_xmlindex_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Local_xmlindex_clauseContext.prototype.PARTITION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARTITION); + } else { + return this.getToken(PlSqlParser.PARTITION, i); + } +}; + + +Local_xmlindex_clauseContext.prototype.partition_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partition_nameContext); + } else { + return this.getTypedRuleContext(Partition_nameContext,i); + } +}; + +Local_xmlindex_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Local_xmlindex_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Local_xmlindex_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLocal_xmlindex_clause(this); + } +}; + +Local_xmlindex_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLocal_xmlindex_clause(this); + } +}; + +Local_xmlindex_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLocal_xmlindex_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Local_xmlindex_clauseContext = Local_xmlindex_clauseContext; + +PlSqlParser.prototype.local_xmlindex_clause = function() { + + var localctx = new Local_xmlindex_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 200, PlSqlParser.RULE_local_xmlindex_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 2993; + this.match(PlSqlParser.LOCAL); + this.state = 3007; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 2994; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 2995; + this.match(PlSqlParser.PARTITION); + this.state = 2996; + this.partition_name(); + this.state = 3002; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 2997; + this.match(PlSqlParser.COMMA); + this.state = 2998; + this.match(PlSqlParser.PARTITION); + this.state = 2999; + this.partition_name(); + this.state = 3004; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3005; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Global_partitioned_indexContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_global_partitioned_index; + return this; +} + +Global_partitioned_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Global_partitioned_indexContext.prototype.constructor = Global_partitioned_indexContext; + +Global_partitioned_indexContext.prototype.GLOBAL = function() { + return this.getToken(PlSqlParser.GLOBAL, 0); +}; + +Global_partitioned_indexContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Global_partitioned_indexContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Global_partitioned_indexContext.prototype.RANGE = function() { + return this.getToken(PlSqlParser.RANGE, 0); +}; + +Global_partitioned_indexContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Global_partitioned_indexContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Global_partitioned_indexContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Global_partitioned_indexContext.prototype.index_partitioning_clause = function() { + return this.getTypedRuleContext(Index_partitioning_clauseContext,0); +}; + +Global_partitioned_indexContext.prototype.HASH = function() { + return this.getToken(PlSqlParser.HASH, 0); +}; + +Global_partitioned_indexContext.prototype.individual_hash_partitions = function() { + return this.getTypedRuleContext(Individual_hash_partitionsContext,0); +}; + +Global_partitioned_indexContext.prototype.hash_partitions_by_quantity = function() { + return this.getTypedRuleContext(Hash_partitions_by_quantityContext,0); +}; + +Global_partitioned_indexContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Global_partitioned_indexContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterGlobal_partitioned_index(this); + } +}; + +Global_partitioned_indexContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitGlobal_partitioned_index(this); + } +}; + +Global_partitioned_indexContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitGlobal_partitioned_index(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Global_partitioned_indexContext = Global_partitioned_indexContext; + +PlSqlParser.prototype.global_partitioned_index = function() { + + var localctx = new Global_partitioned_indexContext(this, this._ctx, this.state); + this.enterRule(localctx, 202, PlSqlParser.RULE_global_partitioned_index); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3009; + this.match(PlSqlParser.GLOBAL); + this.state = 3010; + this.match(PlSqlParser.PARTITION); + this.state = 3011; + this.match(PlSqlParser.BY); + this.state = 3042; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.RANGE: + this.state = 3012; + this.match(PlSqlParser.RANGE); + this.state = 3013; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3014; + this.column_name(); + this.state = 3019; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3015; + this.match(PlSqlParser.COMMA); + this.state = 3016; + this.column_name(); + this.state = 3021; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3022; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 3023; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3024; + this.index_partitioning_clause(); + this.state = 3025; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.HASH: + this.state = 3027; + this.match(PlSqlParser.HASH); + this.state = 3028; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3029; + this.column_name(); + this.state = 3034; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3030; + this.match(PlSqlParser.COMMA); + this.state = 3031; + this.column_name(); + this.state = 3036; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3037; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 3040; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 3038; + this.individual_hash_partitions(); + break; + case PlSqlParser.PARTITIONS: + this.state = 3039; + this.hash_partitions_by_quantity(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_partitioning_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_partitioning_clause; + return this; +} + +Index_partitioning_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_partitioning_clauseContext.prototype.constructor = Index_partitioning_clauseContext; + +Index_partitioning_clauseContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Index_partitioning_clauseContext.prototype.VALUES = function() { + return this.getToken(PlSqlParser.VALUES, 0); +}; + +Index_partitioning_clauseContext.prototype.LESS = function() { + return this.getToken(PlSqlParser.LESS, 0); +}; + +Index_partitioning_clauseContext.prototype.THAN = function() { + return this.getToken(PlSqlParser.THAN, 0); +}; + +Index_partitioning_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Index_partitioning_clauseContext.prototype.literal = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(LiteralContext); + } else { + return this.getTypedRuleContext(LiteralContext,i); + } +}; + +Index_partitioning_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Index_partitioning_clauseContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Index_partitioning_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Index_partitioning_clauseContext.prototype.segment_attributes_clause = function() { + return this.getTypedRuleContext(Segment_attributes_clauseContext,0); +}; + +Index_partitioning_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_partitioning_clause(this); + } +}; + +Index_partitioning_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_partitioning_clause(this); + } +}; + +Index_partitioning_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_partitioning_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_partitioning_clauseContext = Index_partitioning_clauseContext; + +PlSqlParser.prototype.index_partitioning_clause = function() { + + var localctx = new Index_partitioning_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 204, PlSqlParser.RULE_index_partitioning_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3044; + this.match(PlSqlParser.PARTITION); + this.state = 3046; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 3045; + this.partition_name(); + } + + this.state = 3048; + this.match(PlSqlParser.VALUES); + this.state = 3049; + this.match(PlSqlParser.LESS); + this.state = 3050; + this.match(PlSqlParser.THAN); + this.state = 3051; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3052; + this.literal(); + this.state = 3057; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3053; + this.match(PlSqlParser.COMMA); + this.state = 3054; + this.literal(); + this.state = 3059; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3060; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 3062; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 3061; + this.segment_attributes_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Local_partitioned_indexContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_local_partitioned_index; + return this; +} + +Local_partitioned_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Local_partitioned_indexContext.prototype.constructor = Local_partitioned_indexContext; + +Local_partitioned_indexContext.prototype.LOCAL = function() { + return this.getToken(PlSqlParser.LOCAL, 0); +}; + +Local_partitioned_indexContext.prototype.on_range_partitioned_table = function() { + return this.getTypedRuleContext(On_range_partitioned_tableContext,0); +}; + +Local_partitioned_indexContext.prototype.on_list_partitioned_table = function() { + return this.getTypedRuleContext(On_list_partitioned_tableContext,0); +}; + +Local_partitioned_indexContext.prototype.on_hash_partitioned_table = function() { + return this.getTypedRuleContext(On_hash_partitioned_tableContext,0); +}; + +Local_partitioned_indexContext.prototype.on_comp_partitioned_table = function() { + return this.getTypedRuleContext(On_comp_partitioned_tableContext,0); +}; + +Local_partitioned_indexContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLocal_partitioned_index(this); + } +}; + +Local_partitioned_indexContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLocal_partitioned_index(this); + } +}; + +Local_partitioned_indexContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLocal_partitioned_index(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Local_partitioned_indexContext = Local_partitioned_indexContext; + +PlSqlParser.prototype.local_partitioned_index = function() { + + var localctx = new Local_partitioned_indexContext(this, this._ctx, this.state); + this.enterRule(localctx, 206, PlSqlParser.RULE_local_partitioned_index); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3064; + this.match(PlSqlParser.LOCAL); + this.state = 3069; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,231,this._ctx); + if(la_===1) { + this.state = 3065; + this.on_range_partitioned_table(); + + } else if(la_===2) { + this.state = 3066; + this.on_list_partitioned_table(); + + } else if(la_===3) { + this.state = 3067; + this.on_hash_partitioned_table(); + + } else if(la_===4) { + this.state = 3068; + this.on_comp_partitioned_table(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function On_range_partitioned_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_on_range_partitioned_table; + return this; +} + +On_range_partitioned_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +On_range_partitioned_tableContext.prototype.constructor = On_range_partitioned_tableContext; + +On_range_partitioned_tableContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +On_range_partitioned_tableContext.prototype.partitioned_table = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partitioned_tableContext); + } else { + return this.getTypedRuleContext(Partitioned_tableContext,i); + } +}; + +On_range_partitioned_tableContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +On_range_partitioned_tableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +On_range_partitioned_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOn_range_partitioned_table(this); + } +}; + +On_range_partitioned_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOn_range_partitioned_table(this); + } +}; + +On_range_partitioned_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOn_range_partitioned_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.On_range_partitioned_tableContext = On_range_partitioned_tableContext; + +PlSqlParser.prototype.on_range_partitioned_table = function() { + + var localctx = new On_range_partitioned_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 208, PlSqlParser.RULE_on_range_partitioned_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3071; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3072; + this.partitioned_table(); + this.state = 3077; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3073; + this.match(PlSqlParser.COMMA); + this.state = 3074; + this.partitioned_table(); + this.state = 3079; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3080; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function On_list_partitioned_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_on_list_partitioned_table; + return this; +} + +On_list_partitioned_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +On_list_partitioned_tableContext.prototype.constructor = On_list_partitioned_tableContext; + +On_list_partitioned_tableContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +On_list_partitioned_tableContext.prototype.partitioned_table = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partitioned_tableContext); + } else { + return this.getTypedRuleContext(Partitioned_tableContext,i); + } +}; + +On_list_partitioned_tableContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +On_list_partitioned_tableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +On_list_partitioned_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOn_list_partitioned_table(this); + } +}; + +On_list_partitioned_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOn_list_partitioned_table(this); + } +}; + +On_list_partitioned_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOn_list_partitioned_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.On_list_partitioned_tableContext = On_list_partitioned_tableContext; + +PlSqlParser.prototype.on_list_partitioned_table = function() { + + var localctx = new On_list_partitioned_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 210, PlSqlParser.RULE_on_list_partitioned_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3082; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3083; + this.partitioned_table(); + this.state = 3088; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3084; + this.match(PlSqlParser.COMMA); + this.state = 3085; + this.partitioned_table(); + this.state = 3090; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3091; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Partitioned_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_partitioned_table; + return this; +} + +Partitioned_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Partitioned_tableContext.prototype.constructor = Partitioned_tableContext; + +Partitioned_tableContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Partitioned_tableContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Partitioned_tableContext.prototype.segment_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Segment_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Segment_attributes_clauseContext,i); + } +}; + +Partitioned_tableContext.prototype.key_compression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Key_compressionContext); + } else { + return this.getTypedRuleContext(Key_compressionContext,i); + } +}; + +Partitioned_tableContext.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +Partitioned_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPartitioned_table(this); + } +}; + +Partitioned_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPartitioned_table(this); + } +}; + +Partitioned_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPartitioned_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Partitioned_tableContext = Partitioned_tableContext; + +PlSqlParser.prototype.partitioned_table = function() { + + var localctx = new Partitioned_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 212, PlSqlParser.RULE_partitioned_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3093; + this.match(PlSqlParser.PARTITION); + this.state = 3095; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,234,this._ctx); + if(la_===1) { + this.state = 3094; + this.partition_name(); + + } + this.state = 3101; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 3099; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + this.state = 3097; + this.segment_attributes_clause(); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.NOCOMPRESS: + this.state = 3098; + this.key_compression(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3103; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3105; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNUSABLE) { + this.state = 3104; + this.match(PlSqlParser.UNUSABLE); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function On_hash_partitioned_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_on_hash_partitioned_table; + return this; +} + +On_hash_partitioned_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +On_hash_partitioned_tableContext.prototype.constructor = On_hash_partitioned_tableContext; + +On_hash_partitioned_tableContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +On_hash_partitioned_tableContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +On_hash_partitioned_tableContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +On_hash_partitioned_tableContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +On_hash_partitioned_tableContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +On_hash_partitioned_tableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +On_hash_partitioned_tableContext.prototype.on_hash_partitioned_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(On_hash_partitioned_clauseContext); + } else { + return this.getTypedRuleContext(On_hash_partitioned_clauseContext,i); + } +}; + +On_hash_partitioned_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOn_hash_partitioned_table(this); + } +}; + +On_hash_partitioned_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOn_hash_partitioned_table(this); + } +}; + +On_hash_partitioned_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOn_hash_partitioned_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.On_hash_partitioned_tableContext = On_hash_partitioned_tableContext; + +PlSqlParser.prototype.on_hash_partitioned_table = function() { + + var localctx = new On_hash_partitioned_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 214, PlSqlParser.RULE_on_hash_partitioned_table); + var _la = 0; // Token type + try { + this.state = 3131; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.STORE: + this.enterOuterAlt(localctx, 1); + this.state = 3107; + this.match(PlSqlParser.STORE); + this.state = 3108; + this.match(PlSqlParser.IN); + this.state = 3109; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3110; + this.tablespace(); + this.state = 3115; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3111; + this.match(PlSqlParser.COMMA); + this.state = 3112; + this.tablespace(); + this.state = 3117; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3118; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.LEFT_PAREN: + this.enterOuterAlt(localctx, 2); + this.state = 3120; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3121; + this.on_hash_partitioned_clause(); + this.state = 3126; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3122; + this.match(PlSqlParser.COMMA); + this.state = 3123; + this.on_hash_partitioned_clause(); + this.state = 3128; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3129; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function On_hash_partitioned_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_on_hash_partitioned_clause; + return this; +} + +On_hash_partitioned_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +On_hash_partitioned_clauseContext.prototype.constructor = On_hash_partitioned_clauseContext; + +On_hash_partitioned_clauseContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +On_hash_partitioned_clauseContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +On_hash_partitioned_clauseContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +On_hash_partitioned_clauseContext.prototype.tablespace = function() { + return this.getTypedRuleContext(TablespaceContext,0); +}; + +On_hash_partitioned_clauseContext.prototype.key_compression = function() { + return this.getTypedRuleContext(Key_compressionContext,0); +}; + +On_hash_partitioned_clauseContext.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +On_hash_partitioned_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOn_hash_partitioned_clause(this); + } +}; + +On_hash_partitioned_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOn_hash_partitioned_clause(this); + } +}; + +On_hash_partitioned_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOn_hash_partitioned_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.On_hash_partitioned_clauseContext = On_hash_partitioned_clauseContext; + +PlSqlParser.prototype.on_hash_partitioned_clause = function() { + + var localctx = new On_hash_partitioned_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 216, PlSqlParser.RULE_on_hash_partitioned_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3133; + this.match(PlSqlParser.PARTITION); + this.state = 3135; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,241,this._ctx); + if(la_===1) { + this.state = 3134; + this.partition_name(); + + } + this.state = 3139; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.TABLESPACE) { + this.state = 3137; + this.match(PlSqlParser.TABLESPACE); + this.state = 3138; + this.tablespace(); + } + + this.state = 3142; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.NOCOMPRESS) { + this.state = 3141; + this.key_compression(); + } + + this.state = 3145; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNUSABLE) { + this.state = 3144; + this.match(PlSqlParser.UNUSABLE); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function On_comp_partitioned_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_on_comp_partitioned_table; + return this; +} + +On_comp_partitioned_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +On_comp_partitioned_tableContext.prototype.constructor = On_comp_partitioned_tableContext; + +On_comp_partitioned_tableContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +On_comp_partitioned_tableContext.prototype.on_comp_partitioned_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(On_comp_partitioned_clauseContext); + } else { + return this.getTypedRuleContext(On_comp_partitioned_clauseContext,i); + } +}; + +On_comp_partitioned_tableContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +On_comp_partitioned_tableContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +On_comp_partitioned_tableContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +On_comp_partitioned_tableContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +On_comp_partitioned_tableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +On_comp_partitioned_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOn_comp_partitioned_table(this); + } +}; + +On_comp_partitioned_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOn_comp_partitioned_table(this); + } +}; + +On_comp_partitioned_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOn_comp_partitioned_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.On_comp_partitioned_tableContext = On_comp_partitioned_tableContext; + +PlSqlParser.prototype.on_comp_partitioned_table = function() { + + var localctx = new On_comp_partitioned_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 218, PlSqlParser.RULE_on_comp_partitioned_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3160; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORE) { + this.state = 3147; + this.match(PlSqlParser.STORE); + this.state = 3148; + this.match(PlSqlParser.IN); + this.state = 3149; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3150; + this.tablespace(); + this.state = 3155; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3151; + this.match(PlSqlParser.COMMA); + this.state = 3152; + this.tablespace(); + this.state = 3157; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3158; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 3162; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3163; + this.on_comp_partitioned_clause(); + this.state = 3168; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3164; + this.match(PlSqlParser.COMMA); + this.state = 3165; + this.on_comp_partitioned_clause(); + this.state = 3170; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3171; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function On_comp_partitioned_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_on_comp_partitioned_clause; + return this; +} + +On_comp_partitioned_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +On_comp_partitioned_clauseContext.prototype.constructor = On_comp_partitioned_clauseContext; + +On_comp_partitioned_clauseContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +On_comp_partitioned_clauseContext.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +On_comp_partitioned_clauseContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +On_comp_partitioned_clauseContext.prototype.segment_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Segment_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Segment_attributes_clauseContext,i); + } +}; + +On_comp_partitioned_clauseContext.prototype.key_compression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Key_compressionContext); + } else { + return this.getTypedRuleContext(Key_compressionContext,i); + } +}; + +On_comp_partitioned_clauseContext.prototype.index_subpartition_clause = function() { + return this.getTypedRuleContext(Index_subpartition_clauseContext,0); +}; + +On_comp_partitioned_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOn_comp_partitioned_clause(this); + } +}; + +On_comp_partitioned_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOn_comp_partitioned_clause(this); + } +}; + +On_comp_partitioned_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOn_comp_partitioned_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.On_comp_partitioned_clauseContext = On_comp_partitioned_clauseContext; + +PlSqlParser.prototype.on_comp_partitioned_clause = function() { + + var localctx = new On_comp_partitioned_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 220, PlSqlParser.RULE_on_comp_partitioned_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3173; + this.match(PlSqlParser.PARTITION); + this.state = 3175; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,248,this._ctx); + if(la_===1) { + this.state = 3174; + this.partition_name(); + + } + this.state = 3181; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 3179; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + this.state = 3177; + this.segment_attributes_clause(); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.NOCOMPRESS: + this.state = 3178; + this.key_compression(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3183; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3184; + this.match(PlSqlParser.UNUSABLE); + this.state = 3186; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORE || _la===PlSqlParser.LEFT_PAREN) { + this.state = 3185; + this.index_subpartition_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_subpartition_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_subpartition_clause; + return this; +} + +Index_subpartition_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_subpartition_clauseContext.prototype.constructor = Index_subpartition_clauseContext; + +Index_subpartition_clauseContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +Index_subpartition_clauseContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Index_subpartition_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Index_subpartition_clauseContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Index_subpartition_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Index_subpartition_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Index_subpartition_clauseContext.prototype.index_subpartition_subclause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Index_subpartition_subclauseContext); + } else { + return this.getTypedRuleContext(Index_subpartition_subclauseContext,i); + } +}; + +Index_subpartition_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_subpartition_clause(this); + } +}; + +Index_subpartition_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_subpartition_clause(this); + } +}; + +Index_subpartition_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_subpartition_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_subpartition_clauseContext = Index_subpartition_clauseContext; + +PlSqlParser.prototype.index_subpartition_clause = function() { + + var localctx = new Index_subpartition_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 222, PlSqlParser.RULE_index_subpartition_clause); + var _la = 0; // Token type + try { + this.state = 3212; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.STORE: + this.enterOuterAlt(localctx, 1); + this.state = 3188; + this.match(PlSqlParser.STORE); + this.state = 3189; + this.match(PlSqlParser.IN); + this.state = 3190; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3191; + this.tablespace(); + this.state = 3196; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3192; + this.match(PlSqlParser.COMMA); + this.state = 3193; + this.tablespace(); + this.state = 3198; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3199; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.LEFT_PAREN: + this.enterOuterAlt(localctx, 2); + this.state = 3201; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3202; + this.index_subpartition_subclause(); + this.state = 3207; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3203; + this.match(PlSqlParser.COMMA); + this.state = 3204; + this.index_subpartition_subclause(); + this.state = 3209; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3210; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_subpartition_subclauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_subpartition_subclause; + return this; +} + +Index_subpartition_subclauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_subpartition_subclauseContext.prototype.constructor = Index_subpartition_subclauseContext; + +Index_subpartition_subclauseContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Index_subpartition_subclauseContext.prototype.subpartition_name = function() { + return this.getTypedRuleContext(Subpartition_nameContext,0); +}; + +Index_subpartition_subclauseContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Index_subpartition_subclauseContext.prototype.tablespace = function() { + return this.getTypedRuleContext(TablespaceContext,0); +}; + +Index_subpartition_subclauseContext.prototype.key_compression = function() { + return this.getTypedRuleContext(Key_compressionContext,0); +}; + +Index_subpartition_subclauseContext.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +Index_subpartition_subclauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_subpartition_subclause(this); + } +}; + +Index_subpartition_subclauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_subpartition_subclause(this); + } +}; + +Index_subpartition_subclauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_subpartition_subclause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_subpartition_subclauseContext = Index_subpartition_subclauseContext; + +PlSqlParser.prototype.index_subpartition_subclause = function() { + + var localctx = new Index_subpartition_subclauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 224, PlSqlParser.RULE_index_subpartition_subclause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3214; + this.match(PlSqlParser.SUBPARTITION); + this.state = 3216; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,255,this._ctx); + if(la_===1) { + this.state = 3215; + this.subpartition_name(); + + } + this.state = 3220; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.TABLESPACE) { + this.state = 3218; + this.match(PlSqlParser.TABLESPACE); + this.state = 3219; + this.tablespace(); + } + + this.state = 3223; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.NOCOMPRESS) { + this.state = 3222; + this.key_compression(); + } + + this.state = 3226; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNUSABLE) { + this.state = 3225; + this.match(PlSqlParser.UNUSABLE); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Odci_parametersContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_odci_parameters; + return this; +} + +Odci_parametersContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Odci_parametersContext.prototype.constructor = Odci_parametersContext; + +Odci_parametersContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Odci_parametersContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOdci_parameters(this); + } +}; + +Odci_parametersContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOdci_parameters(this); + } +}; + +Odci_parametersContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOdci_parameters(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Odci_parametersContext = Odci_parametersContext; + +PlSqlParser.prototype.odci_parameters = function() { + + var localctx = new Odci_parametersContext(this, this._ctx, this.state); + this.enterRule(localctx, 226, PlSqlParser.RULE_odci_parameters); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3228; + this.match(PlSqlParser.CHAR_STRING); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function IndextypeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_indextype; + return this; +} + +IndextypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +IndextypeContext.prototype.constructor = IndextypeContext; + +IndextypeContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +IndextypeContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +IndextypeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndextype(this); + } +}; + +IndextypeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndextype(this); + } +}; + +IndextypeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndextype(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.IndextypeContext = IndextypeContext; + +PlSqlParser.prototype.indextype = function() { + + var localctx = new IndextypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 228, PlSqlParser.RULE_indextype); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3233; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,259,this._ctx); + if(la_===1) { + this.state = 3230; + this.id_expression(); + this.state = 3231; + this.match(PlSqlParser.PERIOD); + + } + this.state = 3235; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_indexContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_index; + return this; +} + +Alter_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_indexContext.prototype.constructor = Alter_indexContext; + +Alter_indexContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_indexContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Alter_indexContext.prototype.index_name = function() { + return this.getTypedRuleContext(Index_nameContext,0); +}; + +Alter_indexContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_indexContext.prototype.alter_index_ops_set1 = function() { + return this.getTypedRuleContext(Alter_index_ops_set1Context,0); +}; + +Alter_indexContext.prototype.alter_index_ops_set2 = function() { + return this.getTypedRuleContext(Alter_index_ops_set2Context,0); +}; + +Alter_indexContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_index(this); + } +}; + +Alter_indexContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_index(this); + } +}; + +Alter_indexContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_index(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_indexContext = Alter_indexContext; + +PlSqlParser.prototype.alter_index = function() { + + var localctx = new Alter_indexContext(this, this._ctx, this.state); + this.enterRule(localctx, 230, PlSqlParser.RULE_alter_index); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3237; + this.match(PlSqlParser.ALTER); + this.state = 3238; + this.match(PlSqlParser.INDEX); + this.state = 3239; + this.index_name(); + this.state = 3242; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ALLOCATE: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.SHRINK: + case PlSqlParser.STORAGE: + this.state = 3240; + this.alter_index_ops_set1(); + break; + case PlSqlParser.ADD: + case PlSqlParser.COALESCE: + case PlSqlParser.COMPILE: + case PlSqlParser.DISABLE: + case PlSqlParser.DROP: + case PlSqlParser.ENABLE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.MODIFY: + case PlSqlParser.MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.PARAMETERS: + case PlSqlParser.REBUILD: + case PlSqlParser.RENAME: + case PlSqlParser.SPLIT: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UPDATE: + case PlSqlParser.VISIBLE: + this.state = 3241; + this.alter_index_ops_set2(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3244; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_index_ops_set1Context(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_index_ops_set1; + return this; +} + +Alter_index_ops_set1Context.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_index_ops_set1Context.prototype.constructor = Alter_index_ops_set1Context; + +Alter_index_ops_set1Context.prototype.deallocate_unused_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Deallocate_unused_clauseContext); + } else { + return this.getTypedRuleContext(Deallocate_unused_clauseContext,i); + } +}; + +Alter_index_ops_set1Context.prototype.allocate_extent_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Allocate_extent_clauseContext); + } else { + return this.getTypedRuleContext(Allocate_extent_clauseContext,i); + } +}; + +Alter_index_ops_set1Context.prototype.shrink_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Shrink_clauseContext); + } else { + return this.getTypedRuleContext(Shrink_clauseContext,i); + } +}; + +Alter_index_ops_set1Context.prototype.parallel_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Parallel_clauseContext); + } else { + return this.getTypedRuleContext(Parallel_clauseContext,i); + } +}; + +Alter_index_ops_set1Context.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Alter_index_ops_set1Context.prototype.logging_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logging_clauseContext); + } else { + return this.getTypedRuleContext(Logging_clauseContext,i); + } +}; + +Alter_index_ops_set1Context.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_index_ops_set1(this); + } +}; + +Alter_index_ops_set1Context.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_index_ops_set1(this); + } +}; + +Alter_index_ops_set1Context.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_index_ops_set1(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_index_ops_set1Context = Alter_index_ops_set1Context; + +PlSqlParser.prototype.alter_index_ops_set1 = function() { + + var localctx = new Alter_index_ops_set1Context(this, this._ctx, this.state); + this.enterRule(localctx, 232, PlSqlParser.RULE_alter_index_ops_set1); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3252; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 3252; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DEALLOCATE: + this.state = 3246; + this.deallocate_unused_clause(); + break; + case PlSqlParser.ALLOCATE: + this.state = 3247; + this.allocate_extent_clause(); + break; + case PlSqlParser.SHRINK: + this.state = 3248; + this.shrink_clause(); + break; + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + this.state = 3249; + this.parallel_clause(); + break; + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 3250; + this.physical_attributes_clause(); + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.state = 3251; + this.logging_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3254; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ALLOCATE || _la===PlSqlParser.DEALLOCATE || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.SHRINK || _la===PlSqlParser.STORAGE); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_index_ops_set2Context(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_index_ops_set2; + return this; +} + +Alter_index_ops_set2Context.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_index_ops_set2Context.prototype.constructor = Alter_index_ops_set2Context; + +Alter_index_ops_set2Context.prototype.rebuild_clause = function() { + return this.getTypedRuleContext(Rebuild_clauseContext,0); +}; + +Alter_index_ops_set2Context.prototype.PARAMETERS = function() { + return this.getToken(PlSqlParser.PARAMETERS, 0); +}; + +Alter_index_ops_set2Context.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Alter_index_ops_set2Context.prototype.odci_parameters = function() { + return this.getTypedRuleContext(Odci_parametersContext,0); +}; + +Alter_index_ops_set2Context.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Alter_index_ops_set2Context.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Alter_index_ops_set2Context.prototype.enable_or_disable = function() { + return this.getTypedRuleContext(Enable_or_disableContext,0); +}; + +Alter_index_ops_set2Context.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +Alter_index_ops_set2Context.prototype.visible_or_invisible = function() { + return this.getTypedRuleContext(Visible_or_invisibleContext,0); +}; + +Alter_index_ops_set2Context.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Alter_index_ops_set2Context.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Alter_index_ops_set2Context.prototype.new_index_name = function() { + return this.getTypedRuleContext(New_index_nameContext,0); +}; + +Alter_index_ops_set2Context.prototype.COALESCE = function() { + return this.getToken(PlSqlParser.COALESCE, 0); +}; + +Alter_index_ops_set2Context.prototype.monitoring_nomonitoring = function() { + return this.getTypedRuleContext(Monitoring_nomonitoringContext,0); +}; + +Alter_index_ops_set2Context.prototype.USAGE = function() { + return this.getToken(PlSqlParser.USAGE, 0); +}; + +Alter_index_ops_set2Context.prototype.UPDATE = function() { + return this.getToken(PlSqlParser.UPDATE, 0); +}; + +Alter_index_ops_set2Context.prototype.BLOCK = function() { + return this.getToken(PlSqlParser.BLOCK, 0); +}; + +Alter_index_ops_set2Context.prototype.REFERENCES = function() { + return this.getToken(PlSqlParser.REFERENCES, 0); +}; + +Alter_index_ops_set2Context.prototype.alter_index_partitioning = function() { + return this.getTypedRuleContext(Alter_index_partitioningContext,0); +}; + +Alter_index_ops_set2Context.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_index_ops_set2(this); + } +}; + +Alter_index_ops_set2Context.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_index_ops_set2(this); + } +}; + +Alter_index_ops_set2Context.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_index_ops_set2(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_index_ops_set2Context = Alter_index_ops_set2Context; + +PlSqlParser.prototype.alter_index_ops_set2 = function() { + + var localctx = new Alter_index_ops_set2Context(this, this._ctx, this.state); + this.enterRule(localctx, 234, PlSqlParser.RULE_alter_index_ops_set2); + try { + this.state = 3277; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,263,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3256; + this.rebuild_clause(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3257; + this.match(PlSqlParser.PARAMETERS); + this.state = 3258; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3259; + this.odci_parameters(); + this.state = 3260; + this.match(PlSqlParser.RIGHT_PAREN); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 3262; + this.match(PlSqlParser.COMPILE); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 3263; + this.enable_or_disable(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 3264; + this.match(PlSqlParser.UNUSABLE); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 3265; + this.visible_or_invisible(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 3266; + this.match(PlSqlParser.RENAME); + this.state = 3267; + this.match(PlSqlParser.TO); + this.state = 3268; + this.new_index_name(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 3269; + this.match(PlSqlParser.COALESCE); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 3270; + this.monitoring_nomonitoring(); + this.state = 3271; + this.match(PlSqlParser.USAGE); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 3273; + this.match(PlSqlParser.UPDATE); + this.state = 3274; + this.match(PlSqlParser.BLOCK); + this.state = 3275; + this.match(PlSqlParser.REFERENCES); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 3276; + this.alter_index_partitioning(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Visible_or_invisibleContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_visible_or_invisible; + return this; +} + +Visible_or_invisibleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Visible_or_invisibleContext.prototype.constructor = Visible_or_invisibleContext; + +Visible_or_invisibleContext.prototype.VISIBLE = function() { + return this.getToken(PlSqlParser.VISIBLE, 0); +}; + +Visible_or_invisibleContext.prototype.INVISIBLE = function() { + return this.getToken(PlSqlParser.INVISIBLE, 0); +}; + +Visible_or_invisibleContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterVisible_or_invisible(this); + } +}; + +Visible_or_invisibleContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitVisible_or_invisible(this); + } +}; + +Visible_or_invisibleContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitVisible_or_invisible(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Visible_or_invisibleContext = Visible_or_invisibleContext; + +PlSqlParser.prototype.visible_or_invisible = function() { + + var localctx = new Visible_or_invisibleContext(this, this._ctx, this.state); + this.enterRule(localctx, 236, PlSqlParser.RULE_visible_or_invisible); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3279; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.INVISIBLE || _la===PlSqlParser.VISIBLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Monitoring_nomonitoringContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_monitoring_nomonitoring; + return this; +} + +Monitoring_nomonitoringContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Monitoring_nomonitoringContext.prototype.constructor = Monitoring_nomonitoringContext; + +Monitoring_nomonitoringContext.prototype.MONITORING = function() { + return this.getToken(PlSqlParser.MONITORING, 0); +}; + +Monitoring_nomonitoringContext.prototype.NOMONITORING = function() { + return this.getToken(PlSqlParser.NOMONITORING, 0); +}; + +Monitoring_nomonitoringContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMonitoring_nomonitoring(this); + } +}; + +Monitoring_nomonitoringContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMonitoring_nomonitoring(this); + } +}; + +Monitoring_nomonitoringContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMonitoring_nomonitoring(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Monitoring_nomonitoringContext = Monitoring_nomonitoringContext; + +PlSqlParser.prototype.monitoring_nomonitoring = function() { + + var localctx = new Monitoring_nomonitoringContext(this, this._ctx, this.state); + this.enterRule(localctx, 238, PlSqlParser.RULE_monitoring_nomonitoring); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3281; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.MONITORING || _la===PlSqlParser.NOMONITORING)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Rebuild_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_rebuild_clause; + return this; +} + +Rebuild_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Rebuild_clauseContext.prototype.constructor = Rebuild_clauseContext; + +Rebuild_clauseContext.prototype.REBUILD = function() { + return this.getToken(PlSqlParser.REBUILD, 0); +}; + +Rebuild_clauseContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Rebuild_clauseContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Rebuild_clauseContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Rebuild_clauseContext.prototype.subpartition_name = function() { + return this.getTypedRuleContext(Subpartition_nameContext,0); +}; + +Rebuild_clauseContext.prototype.REVERSE = function() { + return this.getToken(PlSqlParser.REVERSE, 0); +}; + +Rebuild_clauseContext.prototype.NOREVERSE = function() { + return this.getToken(PlSqlParser.NOREVERSE, 0); +}; + +Rebuild_clauseContext.prototype.parallel_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Parallel_clauseContext); + } else { + return this.getTypedRuleContext(Parallel_clauseContext,i); + } +}; + +Rebuild_clauseContext.prototype.TABLESPACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLESPACE); + } else { + return this.getToken(PlSqlParser.TABLESPACE, i); + } +}; + + +Rebuild_clauseContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Rebuild_clauseContext.prototype.PARAMETERS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARAMETERS); + } else { + return this.getToken(PlSqlParser.PARAMETERS, i); + } +}; + + +Rebuild_clauseContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Rebuild_clauseContext.prototype.odci_parameters = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Odci_parametersContext); + } else { + return this.getTypedRuleContext(Odci_parametersContext,i); + } +}; + +Rebuild_clauseContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Rebuild_clauseContext.prototype.ONLINE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ONLINE); + } else { + return this.getToken(PlSqlParser.ONLINE, i); + } +}; + + +Rebuild_clauseContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Rebuild_clauseContext.prototype.key_compression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Key_compressionContext); + } else { + return this.getTypedRuleContext(Key_compressionContext,i); + } +}; + +Rebuild_clauseContext.prototype.logging_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logging_clauseContext); + } else { + return this.getTypedRuleContext(Logging_clauseContext,i); + } +}; + +Rebuild_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRebuild_clause(this); + } +}; + +Rebuild_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRebuild_clause(this); + } +}; + +Rebuild_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRebuild_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Rebuild_clauseContext = Rebuild_clauseContext; + +PlSqlParser.prototype.rebuild_clause = function() { + + var localctx = new Rebuild_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 240, PlSqlParser.RULE_rebuild_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3283; + this.match(PlSqlParser.REBUILD); + this.state = 3290; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.PARTITION: + this.state = 3284; + this.match(PlSqlParser.PARTITION); + this.state = 3285; + this.partition_name(); + break; + case PlSqlParser.SUBPARTITION: + this.state = 3286; + this.match(PlSqlParser.SUBPARTITION); + this.state = 3287; + this.subpartition_name(); + break; + case PlSqlParser.REVERSE: + this.state = 3288; + this.match(PlSqlParser.REVERSE); + break; + case PlSqlParser.NOREVERSE: + this.state = 3289; + this.match(PlSqlParser.NOREVERSE); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NOCOMPRESS: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.ONLINE: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + this.state = 3306; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.ONLINE || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.PARAMETERS || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 3304; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + this.state = 3292; + this.parallel_clause(); + break; + case PlSqlParser.TABLESPACE: + this.state = 3293; + this.match(PlSqlParser.TABLESPACE); + this.state = 3294; + this.tablespace(); + break; + case PlSqlParser.PARAMETERS: + this.state = 3295; + this.match(PlSqlParser.PARAMETERS); + this.state = 3296; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3297; + this.odci_parameters(); + this.state = 3298; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.ONLINE: + this.state = 3300; + this.match(PlSqlParser.ONLINE); + break; + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 3301; + this.physical_attributes_clause(); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.NOCOMPRESS: + this.state = 3302; + this.key_compression(); + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.state = 3303; + this.logging_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3308; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_index_partitioningContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_index_partitioning; + return this; +} + +Alter_index_partitioningContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_index_partitioningContext.prototype.constructor = Alter_index_partitioningContext; + +Alter_index_partitioningContext.prototype.modify_index_default_attrs = function() { + return this.getTypedRuleContext(Modify_index_default_attrsContext,0); +}; + +Alter_index_partitioningContext.prototype.add_hash_index_partition = function() { + return this.getTypedRuleContext(Add_hash_index_partitionContext,0); +}; + +Alter_index_partitioningContext.prototype.modify_index_partition = function() { + return this.getTypedRuleContext(Modify_index_partitionContext,0); +}; + +Alter_index_partitioningContext.prototype.rename_index_partition = function() { + return this.getTypedRuleContext(Rename_index_partitionContext,0); +}; + +Alter_index_partitioningContext.prototype.drop_index_partition = function() { + return this.getTypedRuleContext(Drop_index_partitionContext,0); +}; + +Alter_index_partitioningContext.prototype.split_index_partition = function() { + return this.getTypedRuleContext(Split_index_partitionContext,0); +}; + +Alter_index_partitioningContext.prototype.coalesce_index_partition = function() { + return this.getTypedRuleContext(Coalesce_index_partitionContext,0); +}; + +Alter_index_partitioningContext.prototype.modify_index_subpartition = function() { + return this.getTypedRuleContext(Modify_index_subpartitionContext,0); +}; + +Alter_index_partitioningContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_index_partitioning(this); + } +}; + +Alter_index_partitioningContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_index_partitioning(this); + } +}; + +Alter_index_partitioningContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_index_partitioning(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_index_partitioningContext = Alter_index_partitioningContext; + +PlSqlParser.prototype.alter_index_partitioning = function() { + + var localctx = new Alter_index_partitioningContext(this, this._ctx, this.state); + this.enterRule(localctx, 242, PlSqlParser.RULE_alter_index_partitioning); + try { + this.state = 3317; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,267,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3309; + this.modify_index_default_attrs(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3310; + this.add_hash_index_partition(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 3311; + this.modify_index_partition(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 3312; + this.rename_index_partition(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 3313; + this.drop_index_partition(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 3314; + this.split_index_partition(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 3315; + this.coalesce_index_partition(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 3316; + this.modify_index_subpartition(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_index_default_attrsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_index_default_attrs; + return this; +} + +Modify_index_default_attrsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_index_default_attrsContext.prototype.constructor = Modify_index_default_attrsContext; + +Modify_index_default_attrsContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Modify_index_default_attrsContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFAULT); + } else { + return this.getToken(PlSqlParser.DEFAULT, i); + } +}; + + +Modify_index_default_attrsContext.prototype.ATTRIBUTES = function() { + return this.getToken(PlSqlParser.ATTRIBUTES, 0); +}; + +Modify_index_default_attrsContext.prototype.physical_attributes_clause = function() { + return this.getTypedRuleContext(Physical_attributes_clauseContext,0); +}; + +Modify_index_default_attrsContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Modify_index_default_attrsContext.prototype.logging_clause = function() { + return this.getTypedRuleContext(Logging_clauseContext,0); +}; + +Modify_index_default_attrsContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Modify_index_default_attrsContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Modify_index_default_attrsContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Modify_index_default_attrsContext.prototype.tablespace = function() { + return this.getTypedRuleContext(TablespaceContext,0); +}; + +Modify_index_default_attrsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_index_default_attrs(this); + } +}; + +Modify_index_default_attrsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_index_default_attrs(this); + } +}; + +Modify_index_default_attrsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_index_default_attrs(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_index_default_attrsContext = Modify_index_default_attrsContext; + +PlSqlParser.prototype.modify_index_default_attrs = function() { + + var localctx = new Modify_index_default_attrsContext(this, this._ctx, this.state); + this.enterRule(localctx, 244, PlSqlParser.RULE_modify_index_default_attrs); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3319; + this.match(PlSqlParser.MODIFY); + this.state = 3320; + this.match(PlSqlParser.DEFAULT); + this.state = 3321; + this.match(PlSqlParser.ATTRIBUTES); + this.state = 3325; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FOR) { + this.state = 3322; + this.match(PlSqlParser.FOR); + this.state = 3323; + this.match(PlSqlParser.PARTITION); + this.state = 3324; + this.partition_name(); + } + + this.state = 3334; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 3327; + this.physical_attributes_clause(); + break; + case PlSqlParser.TABLESPACE: + this.state = 3328; + this.match(PlSqlParser.TABLESPACE); + this.state = 3331; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.REGULAR_ID: + this.state = 3329; + this.tablespace(); + break; + case PlSqlParser.DEFAULT: + this.state = 3330; + this.match(PlSqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.state = 3333; + this.logging_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Add_hash_index_partitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_add_hash_index_partition; + return this; +} + +Add_hash_index_partitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Add_hash_index_partitionContext.prototype.constructor = Add_hash_index_partitionContext; + +Add_hash_index_partitionContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Add_hash_index_partitionContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Add_hash_index_partitionContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Add_hash_index_partitionContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Add_hash_index_partitionContext.prototype.tablespace = function() { + return this.getTypedRuleContext(TablespaceContext,0); +}; + +Add_hash_index_partitionContext.prototype.key_compression = function() { + return this.getTypedRuleContext(Key_compressionContext,0); +}; + +Add_hash_index_partitionContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Add_hash_index_partitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAdd_hash_index_partition(this); + } +}; + +Add_hash_index_partitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAdd_hash_index_partition(this); + } +}; + +Add_hash_index_partitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAdd_hash_index_partition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Add_hash_index_partitionContext = Add_hash_index_partitionContext; + +PlSqlParser.prototype.add_hash_index_partition = function() { + + var localctx = new Add_hash_index_partitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 246, PlSqlParser.RULE_add_hash_index_partition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3336; + this.match(PlSqlParser.ADD); + this.state = 3337; + this.match(PlSqlParser.PARTITION); + this.state = 3339; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,271,this._ctx); + if(la_===1) { + this.state = 3338; + this.partition_name(); + + } + this.state = 3343; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.TABLESPACE) { + this.state = 3341; + this.match(PlSqlParser.TABLESPACE); + this.state = 3342; + this.tablespace(); + } + + this.state = 3346; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.NOCOMPRESS) { + this.state = 3345; + this.key_compression(); + } + + this.state = 3349; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 3348; + this.parallel_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Coalesce_index_partitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_coalesce_index_partition; + return this; +} + +Coalesce_index_partitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Coalesce_index_partitionContext.prototype.constructor = Coalesce_index_partitionContext; + +Coalesce_index_partitionContext.prototype.COALESCE = function() { + return this.getToken(PlSqlParser.COALESCE, 0); +}; + +Coalesce_index_partitionContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Coalesce_index_partitionContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Coalesce_index_partitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCoalesce_index_partition(this); + } +}; + +Coalesce_index_partitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCoalesce_index_partition(this); + } +}; + +Coalesce_index_partitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCoalesce_index_partition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Coalesce_index_partitionContext = Coalesce_index_partitionContext; + +PlSqlParser.prototype.coalesce_index_partition = function() { + + var localctx = new Coalesce_index_partitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 248, PlSqlParser.RULE_coalesce_index_partition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3351; + this.match(PlSqlParser.COALESCE); + this.state = 3352; + this.match(PlSqlParser.PARTITION); + this.state = 3354; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 3353; + this.parallel_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_index_partitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_index_partition; + return this; +} + +Modify_index_partitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_index_partitionContext.prototype.constructor = Modify_index_partitionContext; + +Modify_index_partitionContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Modify_index_partitionContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Modify_index_partitionContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Modify_index_partitionContext.prototype.PARAMETERS = function() { + return this.getToken(PlSqlParser.PARAMETERS, 0); +}; + +Modify_index_partitionContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Modify_index_partitionContext.prototype.odci_parameters = function() { + return this.getTypedRuleContext(Odci_parametersContext,0); +}; + +Modify_index_partitionContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Modify_index_partitionContext.prototype.COALESCE = function() { + return this.getToken(PlSqlParser.COALESCE, 0); +}; + +Modify_index_partitionContext.prototype.UPDATE = function() { + return this.getToken(PlSqlParser.UPDATE, 0); +}; + +Modify_index_partitionContext.prototype.BLOCK = function() { + return this.getToken(PlSqlParser.BLOCK, 0); +}; + +Modify_index_partitionContext.prototype.REFERENCES = function() { + return this.getToken(PlSqlParser.REFERENCES, 0); +}; + +Modify_index_partitionContext.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +Modify_index_partitionContext.prototype.modify_index_partitions_ops = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Modify_index_partitions_opsContext); + } else { + return this.getTypedRuleContext(Modify_index_partitions_opsContext,i); + } +}; + +Modify_index_partitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_index_partition(this); + } +}; + +Modify_index_partitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_index_partition(this); + } +}; + +Modify_index_partitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_index_partition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_index_partitionContext = Modify_index_partitionContext; + +PlSqlParser.prototype.modify_index_partition = function() { + + var localctx = new Modify_index_partitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 250, PlSqlParser.RULE_modify_index_partition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3356; + this.match(PlSqlParser.MODIFY); + this.state = 3357; + this.match(PlSqlParser.PARTITION); + this.state = 3358; + this.partition_name(); + this.state = 3374; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ALLOCATE: + case PlSqlParser.COMPRESS: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NOCOMPRESS: + case PlSqlParser.NOLOGGING: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 3360; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 3359; + this.modify_index_partitions_ops(); + this.state = 3362; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ALLOCATE || _la===PlSqlParser.COMPRESS || _la===PlSqlParser.DEALLOCATE || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE); + break; + case PlSqlParser.PARAMETERS: + this.state = 3364; + this.match(PlSqlParser.PARAMETERS); + this.state = 3365; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3366; + this.odci_parameters(); + this.state = 3367; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.COALESCE: + this.state = 3369; + this.match(PlSqlParser.COALESCE); + break; + case PlSqlParser.UPDATE: + this.state = 3370; + this.match(PlSqlParser.UPDATE); + this.state = 3371; + this.match(PlSqlParser.BLOCK); + this.state = 3372; + this.match(PlSqlParser.REFERENCES); + break; + case PlSqlParser.UNUSABLE: + this.state = 3373; + this.match(PlSqlParser.UNUSABLE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_index_partitions_opsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_index_partitions_ops; + return this; +} + +Modify_index_partitions_opsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_index_partitions_opsContext.prototype.constructor = Modify_index_partitions_opsContext; + +Modify_index_partitions_opsContext.prototype.deallocate_unused_clause = function() { + return this.getTypedRuleContext(Deallocate_unused_clauseContext,0); +}; + +Modify_index_partitions_opsContext.prototype.allocate_extent_clause = function() { + return this.getTypedRuleContext(Allocate_extent_clauseContext,0); +}; + +Modify_index_partitions_opsContext.prototype.physical_attributes_clause = function() { + return this.getTypedRuleContext(Physical_attributes_clauseContext,0); +}; + +Modify_index_partitions_opsContext.prototype.logging_clause = function() { + return this.getTypedRuleContext(Logging_clauseContext,0); +}; + +Modify_index_partitions_opsContext.prototype.key_compression = function() { + return this.getTypedRuleContext(Key_compressionContext,0); +}; + +Modify_index_partitions_opsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_index_partitions_ops(this); + } +}; + +Modify_index_partitions_opsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_index_partitions_ops(this); + } +}; + +Modify_index_partitions_opsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_index_partitions_ops(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_index_partitions_opsContext = Modify_index_partitions_opsContext; + +PlSqlParser.prototype.modify_index_partitions_ops = function() { + + var localctx = new Modify_index_partitions_opsContext(this, this._ctx, this.state); + this.enterRule(localctx, 252, PlSqlParser.RULE_modify_index_partitions_ops); + try { + this.state = 3381; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DEALLOCATE: + this.enterOuterAlt(localctx, 1); + this.state = 3376; + this.deallocate_unused_clause(); + break; + case PlSqlParser.ALLOCATE: + this.enterOuterAlt(localctx, 2); + this.state = 3377; + this.allocate_extent_clause(); + break; + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.enterOuterAlt(localctx, 3); + this.state = 3378; + this.physical_attributes_clause(); + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.enterOuterAlt(localctx, 4); + this.state = 3379; + this.logging_clause(); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.NOCOMPRESS: + this.enterOuterAlt(localctx, 5); + this.state = 3380; + this.key_compression(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Rename_index_partitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_rename_index_partition; + return this; +} + +Rename_index_partitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Rename_index_partitionContext.prototype.constructor = Rename_index_partitionContext; + +Rename_index_partitionContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Rename_index_partitionContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Rename_index_partitionContext.prototype.new_partition_name = function() { + return this.getTypedRuleContext(New_partition_nameContext,0); +}; + +Rename_index_partitionContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Rename_index_partitionContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Rename_index_partitionContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Rename_index_partitionContext.prototype.subpartition_name = function() { + return this.getTypedRuleContext(Subpartition_nameContext,0); +}; + +Rename_index_partitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRename_index_partition(this); + } +}; + +Rename_index_partitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRename_index_partition(this); + } +}; + +Rename_index_partitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRename_index_partition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Rename_index_partitionContext = Rename_index_partitionContext; + +PlSqlParser.prototype.rename_index_partition = function() { + + var localctx = new Rename_index_partitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 254, PlSqlParser.RULE_rename_index_partition); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3383; + this.match(PlSqlParser.RENAME); + this.state = 3388; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.PARTITION: + this.state = 3384; + this.match(PlSqlParser.PARTITION); + this.state = 3385; + this.partition_name(); + break; + case PlSqlParser.SUBPARTITION: + this.state = 3386; + this.match(PlSqlParser.SUBPARTITION); + this.state = 3387; + this.subpartition_name(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3390; + this.match(PlSqlParser.TO); + this.state = 3391; + this.new_partition_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_index_partitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_index_partition; + return this; +} + +Drop_index_partitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_index_partitionContext.prototype.constructor = Drop_index_partitionContext; + +Drop_index_partitionContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_index_partitionContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Drop_index_partitionContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Drop_index_partitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_index_partition(this); + } +}; + +Drop_index_partitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_index_partition(this); + } +}; + +Drop_index_partitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_index_partition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_index_partitionContext = Drop_index_partitionContext; + +PlSqlParser.prototype.drop_index_partition = function() { + + var localctx = new Drop_index_partitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 256, PlSqlParser.RULE_drop_index_partition); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3393; + this.match(PlSqlParser.DROP); + this.state = 3394; + this.match(PlSqlParser.PARTITION); + this.state = 3395; + this.partition_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Split_index_partitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_split_index_partition; + return this; +} + +Split_index_partitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Split_index_partitionContext.prototype.constructor = Split_index_partitionContext; + +Split_index_partitionContext.prototype.SPLIT = function() { + return this.getToken(PlSqlParser.SPLIT, 0); +}; + +Split_index_partitionContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Split_index_partitionContext.prototype.partition_name_old = function() { + return this.getTypedRuleContext(Partition_name_oldContext,0); +}; + +Split_index_partitionContext.prototype.AT = function() { + return this.getToken(PlSqlParser.AT, 0); +}; + +Split_index_partitionContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Split_index_partitionContext.prototype.literal = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(LiteralContext); + } else { + return this.getTypedRuleContext(LiteralContext,i); + } +}; + +Split_index_partitionContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Split_index_partitionContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Split_index_partitionContext.prototype.INTO = function() { + return this.getToken(PlSqlParser.INTO, 0); +}; + +Split_index_partitionContext.prototype.index_partition_description = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Index_partition_descriptionContext); + } else { + return this.getTypedRuleContext(Index_partition_descriptionContext,i); + } +}; + +Split_index_partitionContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Split_index_partitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSplit_index_partition(this); + } +}; + +Split_index_partitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSplit_index_partition(this); + } +}; + +Split_index_partitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSplit_index_partition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Split_index_partitionContext = Split_index_partitionContext; + +PlSqlParser.prototype.split_index_partition = function() { + + var localctx = new Split_index_partitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 258, PlSqlParser.RULE_split_index_partition); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3397; + this.match(PlSqlParser.SPLIT); + this.state = 3398; + this.match(PlSqlParser.PARTITION); + this.state = 3399; + this.partition_name_old(); + this.state = 3400; + this.match(PlSqlParser.AT); + this.state = 3401; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3402; + this.literal(); + this.state = 3407; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3403; + this.match(PlSqlParser.COMMA); + this.state = 3404; + this.literal(); + this.state = 3409; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3410; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 3418; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.INTO) { + this.state = 3411; + this.match(PlSqlParser.INTO); + this.state = 3412; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3413; + this.index_partition_description(); + this.state = 3414; + this.match(PlSqlParser.COMMA); + this.state = 3415; + this.index_partition_description(); + this.state = 3416; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 3421; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 3420; + this.parallel_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_partition_descriptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_partition_description; + return this; +} + +Index_partition_descriptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_partition_descriptionContext.prototype.constructor = Index_partition_descriptionContext; + +Index_partition_descriptionContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Index_partition_descriptionContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Index_partition_descriptionContext.prototype.PARAMETERS = function() { + return this.getToken(PlSqlParser.PARAMETERS, 0); +}; + +Index_partition_descriptionContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Index_partition_descriptionContext.prototype.odci_parameters = function() { + return this.getTypedRuleContext(Odci_parametersContext,0); +}; + +Index_partition_descriptionContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Index_partition_descriptionContext.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +Index_partition_descriptionContext.prototype.segment_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Segment_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Segment_attributes_clauseContext,i); + } +}; + +Index_partition_descriptionContext.prototype.key_compression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Key_compressionContext); + } else { + return this.getTypedRuleContext(Key_compressionContext,i); + } +}; + +Index_partition_descriptionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_partition_description(this); + } +}; + +Index_partition_descriptionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_partition_description(this); + } +}; + +Index_partition_descriptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_partition_description(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_partition_descriptionContext = Index_partition_descriptionContext; + +PlSqlParser.prototype.index_partition_description = function() { + + var localctx = new Index_partition_descriptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 260, PlSqlParser.RULE_index_partition_description); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3423; + this.match(PlSqlParser.PARTITION); + this.state = 3441; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 3424; + this.partition_name(); + this.state = 3436; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.COMPRESS: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NOCOMPRESS: + case PlSqlParser.NOLOGGING: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + this.state = 3427; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 3427; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + this.state = 3425; + this.segment_attributes_clause(); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.NOCOMPRESS: + this.state = 3426; + this.key_compression(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3429; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE); + break; + case PlSqlParser.PARAMETERS: + this.state = 3431; + this.match(PlSqlParser.PARAMETERS); + this.state = 3432; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3433; + this.odci_parameters(); + this.state = 3434; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3439; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNUSABLE) { + this.state = 3438; + this.match(PlSqlParser.UNUSABLE); + } + + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_index_subpartitionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_index_subpartition; + return this; +} + +Modify_index_subpartitionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_index_subpartitionContext.prototype.constructor = Modify_index_subpartitionContext; + +Modify_index_subpartitionContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Modify_index_subpartitionContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Modify_index_subpartitionContext.prototype.subpartition_name = function() { + return this.getTypedRuleContext(Subpartition_nameContext,0); +}; + +Modify_index_subpartitionContext.prototype.UNUSABLE = function() { + return this.getToken(PlSqlParser.UNUSABLE, 0); +}; + +Modify_index_subpartitionContext.prototype.allocate_extent_clause = function() { + return this.getTypedRuleContext(Allocate_extent_clauseContext,0); +}; + +Modify_index_subpartitionContext.prototype.deallocate_unused_clause = function() { + return this.getTypedRuleContext(Deallocate_unused_clauseContext,0); +}; + +Modify_index_subpartitionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_index_subpartition(this); + } +}; + +Modify_index_subpartitionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_index_subpartition(this); + } +}; + +Modify_index_subpartitionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_index_subpartition(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_index_subpartitionContext = Modify_index_subpartitionContext; + +PlSqlParser.prototype.modify_index_subpartition = function() { + + var localctx = new Modify_index_subpartitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 262, PlSqlParser.RULE_modify_index_subpartition); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3443; + this.match(PlSqlParser.MODIFY); + this.state = 3444; + this.match(PlSqlParser.SUBPARTITION); + this.state = 3445; + this.subpartition_name(); + this.state = 3449; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.UNUSABLE: + this.state = 3446; + this.match(PlSqlParser.UNUSABLE); + break; + case PlSqlParser.ALLOCATE: + this.state = 3447; + this.allocate_extent_clause(); + break; + case PlSqlParser.DEALLOCATE: + this.state = 3448; + this.deallocate_unused_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Partition_name_oldContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_partition_name_old; + return this; +} + +Partition_name_oldContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Partition_name_oldContext.prototype.constructor = Partition_name_oldContext; + +Partition_name_oldContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Partition_name_oldContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPartition_name_old(this); + } +}; + +Partition_name_oldContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPartition_name_old(this); + } +}; + +Partition_name_oldContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPartition_name_old(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Partition_name_oldContext = Partition_name_oldContext; + +PlSqlParser.prototype.partition_name_old = function() { + + var localctx = new Partition_name_oldContext(this, this._ctx, this.state); + this.enterRule(localctx, 264, PlSqlParser.RULE_partition_name_old); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3451; + this.partition_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function New_partition_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_new_partition_name; + return this; +} + +New_partition_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +New_partition_nameContext.prototype.constructor = New_partition_nameContext; + +New_partition_nameContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +New_partition_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNew_partition_name(this); + } +}; + +New_partition_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNew_partition_name(this); + } +}; + +New_partition_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNew_partition_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.New_partition_nameContext = New_partition_nameContext; + +PlSqlParser.prototype.new_partition_name = function() { + + var localctx = new New_partition_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 266, PlSqlParser.RULE_new_partition_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3453; + this.partition_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function New_index_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_new_index_name; + return this; +} + +New_index_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +New_index_nameContext.prototype.constructor = New_index_nameContext; + +New_index_nameContext.prototype.index_name = function() { + return this.getTypedRuleContext(Index_nameContext,0); +}; + +New_index_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNew_index_name(this); + } +}; + +New_index_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNew_index_name(this); + } +}; + +New_index_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNew_index_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.New_index_nameContext = New_index_nameContext; + +PlSqlParser.prototype.new_index_name = function() { + + var localctx = new New_index_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 268, PlSqlParser.RULE_new_index_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3455; + this.index_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_userContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_user; + return this; +} + +Create_userContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_userContext.prototype.constructor = Create_userContext; + +Create_userContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_userContext.prototype.USER = function() { + return this.getToken(PlSqlParser.USER, 0); +}; + +Create_userContext.prototype.user_object_name = function() { + return this.getTypedRuleContext(User_object_nameContext,0); +}; + +Create_userContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_userContext.prototype.identified_by = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Identified_byContext); + } else { + return this.getTypedRuleContext(Identified_byContext,i); + } +}; + +Create_userContext.prototype.identified_other_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Identified_other_clauseContext); + } else { + return this.getTypedRuleContext(Identified_other_clauseContext,i); + } +}; + +Create_userContext.prototype.user_tablespace_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(User_tablespace_clauseContext); + } else { + return this.getTypedRuleContext(User_tablespace_clauseContext,i); + } +}; + +Create_userContext.prototype.quota_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Quota_clauseContext); + } else { + return this.getTypedRuleContext(Quota_clauseContext,i); + } +}; + +Create_userContext.prototype.profile_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Profile_clauseContext); + } else { + return this.getTypedRuleContext(Profile_clauseContext,i); + } +}; + +Create_userContext.prototype.password_expire_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Password_expire_clauseContext); + } else { + return this.getTypedRuleContext(Password_expire_clauseContext,i); + } +}; + +Create_userContext.prototype.user_lock_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(User_lock_clauseContext); + } else { + return this.getTypedRuleContext(User_lock_clauseContext,i); + } +}; + +Create_userContext.prototype.user_editions_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(User_editions_clauseContext); + } else { + return this.getTypedRuleContext(User_editions_clauseContext,i); + } +}; + +Create_userContext.prototype.container_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Container_clauseContext); + } else { + return this.getTypedRuleContext(Container_clauseContext,i); + } +}; + +Create_userContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_user(this); + } +}; + +Create_userContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_user(this); + } +}; + +Create_userContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_user(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_userContext = Create_userContext; + +PlSqlParser.prototype.create_user = function() { + + var localctx = new Create_userContext(this, this._ctx, this.state); + this.enterRule(localctx, 270, PlSqlParser.RULE_create_user); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3457; + this.match(PlSqlParser.CREATE); + this.state = 3458; + this.match(PlSqlParser.USER); + this.state = 3459; + this.user_object_name(); + this.state = 3469; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 3469; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,289,this._ctx); + switch(la_) { + case 1: + this.state = 3460; + this.identified_by(); + break; + + case 2: + this.state = 3461; + this.identified_other_clause(); + break; + + case 3: + this.state = 3462; + this.user_tablespace_clause(); + break; + + case 4: + this.state = 3463; + this.quota_clause(); + break; + + case 5: + this.state = 3464; + this.profile_clause(); + break; + + case 6: + this.state = 3465; + this.password_expire_clause(); + break; + + case 7: + this.state = 3466; + this.user_lock_clause(); + break; + + case 8: + this.state = 3467; + this.user_editions_clause(); + break; + + case 9: + this.state = 3468; + this.container_clause(); + break; + + } + this.state = 3471; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ACCOUNT || _la===PlSqlParser.CONTAINER || _la===PlSqlParser.DEFAULT || _la===PlSqlParser.ENABLE || _la===PlSqlParser.IDENTIFIED || _la===PlSqlParser.PASSWORD || _la===PlSqlParser.PROFILE || _la===PlSqlParser.QUOTA || _la===PlSqlParser.TEMPORARY); + this.state = 3473; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_userContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_user; + return this; +} + +Alter_userContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_userContext.prototype.constructor = Alter_userContext; + +Alter_userContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_userContext.prototype.USER = function() { + return this.getToken(PlSqlParser.USER, 0); +}; + +Alter_userContext.prototype.user_object_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(User_object_nameContext); + } else { + return this.getTypedRuleContext(User_object_nameContext,i); + } +}; + +Alter_userContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_userContext.prototype.alter_identified_by = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Alter_identified_byContext); + } else { + return this.getTypedRuleContext(Alter_identified_byContext,i); + } +}; + +Alter_userContext.prototype.identified_other_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Identified_other_clauseContext); + } else { + return this.getTypedRuleContext(Identified_other_clauseContext,i); + } +}; + +Alter_userContext.prototype.user_tablespace_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(User_tablespace_clauseContext); + } else { + return this.getTypedRuleContext(User_tablespace_clauseContext,i); + } +}; + +Alter_userContext.prototype.quota_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Quota_clauseContext); + } else { + return this.getTypedRuleContext(Quota_clauseContext,i); + } +}; + +Alter_userContext.prototype.profile_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Profile_clauseContext); + } else { + return this.getTypedRuleContext(Profile_clauseContext,i); + } +}; + +Alter_userContext.prototype.user_default_role_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(User_default_role_clauseContext); + } else { + return this.getTypedRuleContext(User_default_role_clauseContext,i); + } +}; + +Alter_userContext.prototype.password_expire_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Password_expire_clauseContext); + } else { + return this.getTypedRuleContext(Password_expire_clauseContext,i); + } +}; + +Alter_userContext.prototype.user_lock_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(User_lock_clauseContext); + } else { + return this.getTypedRuleContext(User_lock_clauseContext,i); + } +}; + +Alter_userContext.prototype.alter_user_editions_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Alter_user_editions_clauseContext); + } else { + return this.getTypedRuleContext(Alter_user_editions_clauseContext,i); + } +}; + +Alter_userContext.prototype.container_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Container_clauseContext); + } else { + return this.getTypedRuleContext(Container_clauseContext,i); + } +}; + +Alter_userContext.prototype.container_data_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Container_data_clauseContext); + } else { + return this.getTypedRuleContext(Container_data_clauseContext,i); + } +}; + +Alter_userContext.prototype.proxy_clause = function() { + return this.getTypedRuleContext(Proxy_clauseContext,0); +}; + +Alter_userContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Alter_userContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_user(this); + } +}; + +Alter_userContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_user(this); + } +}; + +Alter_userContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_user(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_userContext = Alter_userContext; + +PlSqlParser.prototype.alter_user = function() { + + var localctx = new Alter_userContext(this, this._ctx, this.state); + this.enterRule(localctx, 272, PlSqlParser.RULE_alter_user); + var _la = 0; // Token type + try { + this.state = 3506; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ALTER: + this.enterOuterAlt(localctx, 1); + this.state = 3475; + this.match(PlSqlParser.ALTER); + this.state = 3476; + this.match(PlSqlParser.USER); + this.state = 3477; + this.user_object_name(); + this.state = 3489; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 3489; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,291,this._ctx); + switch(la_) { + case 1: + this.state = 3478; + this.alter_identified_by(); + break; + + case 2: + this.state = 3479; + this.identified_other_clause(); + break; + + case 3: + this.state = 3480; + this.user_tablespace_clause(); + break; + + case 4: + this.state = 3481; + this.quota_clause(); + break; + + case 5: + this.state = 3482; + this.profile_clause(); + break; + + case 6: + this.state = 3483; + this.user_default_role_clause(); + break; + + case 7: + this.state = 3484; + this.password_expire_clause(); + break; + + case 8: + this.state = 3485; + this.user_lock_clause(); + break; + + case 9: + this.state = 3486; + this.alter_user_editions_clause(); + break; + + case 10: + this.state = 3487; + this.container_clause(); + break; + + case 11: + this.state = 3488; + this.container_data_clause(); + break; + + } + this.state = 3491; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ACCOUNT || _la===PlSqlParser.ADD || _la===PlSqlParser.CONTAINER || _la===PlSqlParser.DEFAULT || _la===PlSqlParser.ENABLE || _la===PlSqlParser.IDENTIFIED || _la===PlSqlParser.PASSWORD || _la===PlSqlParser.PROFILE || _la===PlSqlParser.QUOTA || _la===PlSqlParser.REMOVE || _la===PlSqlParser.SET || _la===PlSqlParser.TEMPORARY); + this.state = 3493; + this.match(PlSqlParser.SEMICOLON); + break; + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.DELIMITED_ID: + case PlSqlParser.REGULAR_ID: + this.enterOuterAlt(localctx, 2); + this.state = 3495; + this.user_object_name(); + this.state = 3500; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3496; + this.match(PlSqlParser.COMMA); + this.state = 3497; + this.user_object_name(); + this.state = 3502; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3503; + this.proxy_clause(); + this.state = 3504; + this.match(PlSqlParser.SEMICOLON); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_identified_byContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_identified_by; + return this; +} + +Alter_identified_byContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_identified_byContext.prototype.constructor = Alter_identified_byContext; + +Alter_identified_byContext.prototype.identified_by = function() { + return this.getTypedRuleContext(Identified_byContext,0); +}; + +Alter_identified_byContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Alter_identified_byContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Alter_identified_byContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_identified_by(this); + } +}; + +Alter_identified_byContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_identified_by(this); + } +}; + +Alter_identified_byContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_identified_by(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_identified_byContext = Alter_identified_byContext; + +PlSqlParser.prototype.alter_identified_by = function() { + + var localctx = new Alter_identified_byContext(this, this._ctx, this.state); + this.enterRule(localctx, 274, PlSqlParser.RULE_alter_identified_by); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3508; + this.identified_by(); + this.state = 3511; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REPLACE) { + this.state = 3509; + this.match(PlSqlParser.REPLACE); + this.state = 3510; + this.id_expression(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Identified_byContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_identified_by; + return this; +} + +Identified_byContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Identified_byContext.prototype.constructor = Identified_byContext; + +Identified_byContext.prototype.IDENTIFIED = function() { + return this.getToken(PlSqlParser.IDENTIFIED, 0); +}; + +Identified_byContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Identified_byContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Identified_byContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIdentified_by(this); + } +}; + +Identified_byContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIdentified_by(this); + } +}; + +Identified_byContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIdentified_by(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Identified_byContext = Identified_byContext; + +PlSqlParser.prototype.identified_by = function() { + + var localctx = new Identified_byContext(this, this._ctx, this.state); + this.enterRule(localctx, 276, PlSqlParser.RULE_identified_by); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3513; + this.match(PlSqlParser.IDENTIFIED); + this.state = 3514; + this.match(PlSqlParser.BY); + this.state = 3515; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Identified_other_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_identified_other_clause; + return this; +} + +Identified_other_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Identified_other_clauseContext.prototype.constructor = Identified_other_clauseContext; + +Identified_other_clauseContext.prototype.IDENTIFIED = function() { + return this.getToken(PlSqlParser.IDENTIFIED, 0); +}; + +Identified_other_clauseContext.prototype.EXTERNALLY = function() { + return this.getToken(PlSqlParser.EXTERNALLY, 0); +}; + +Identified_other_clauseContext.prototype.GLOBALLY = function() { + return this.getToken(PlSqlParser.GLOBALLY, 0); +}; + +Identified_other_clauseContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Identified_other_clauseContext.prototype.quoted_string = function() { + return this.getTypedRuleContext(Quoted_stringContext,0); +}; + +Identified_other_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIdentified_other_clause(this); + } +}; + +Identified_other_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIdentified_other_clause(this); + } +}; + +Identified_other_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIdentified_other_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Identified_other_clauseContext = Identified_other_clauseContext; + +PlSqlParser.prototype.identified_other_clause = function() { + + var localctx = new Identified_other_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 278, PlSqlParser.RULE_identified_other_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3517; + this.match(PlSqlParser.IDENTIFIED); + this.state = 3518; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.EXTERNALLY || _la===PlSqlParser.GLOBALLY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3521; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AS) { + this.state = 3519; + this.match(PlSqlParser.AS); + this.state = 3520; + this.quoted_string(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function User_tablespace_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_user_tablespace_clause; + return this; +} + +User_tablespace_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +User_tablespace_clauseContext.prototype.constructor = User_tablespace_clauseContext; + +User_tablespace_clauseContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +User_tablespace_clauseContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +User_tablespace_clauseContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +User_tablespace_clauseContext.prototype.TEMPORARY = function() { + return this.getToken(PlSqlParser.TEMPORARY, 0); +}; + +User_tablespace_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUser_tablespace_clause(this); + } +}; + +User_tablespace_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUser_tablespace_clause(this); + } +}; + +User_tablespace_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUser_tablespace_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.User_tablespace_clauseContext = User_tablespace_clauseContext; + +PlSqlParser.prototype.user_tablespace_clause = function() { + + var localctx = new User_tablespace_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 280, PlSqlParser.RULE_user_tablespace_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3523; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFAULT || _la===PlSqlParser.TEMPORARY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3524; + this.match(PlSqlParser.TABLESPACE); + this.state = 3525; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Quota_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_quota_clause; + return this; +} + +Quota_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Quota_clauseContext.prototype.constructor = Quota_clauseContext; + +Quota_clauseContext.prototype.QUOTA = function() { + return this.getToken(PlSqlParser.QUOTA, 0); +}; + +Quota_clauseContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Quota_clauseContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Quota_clauseContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Quota_clauseContext.prototype.UNLIMITED = function() { + return this.getToken(PlSqlParser.UNLIMITED, 0); +}; + +Quota_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterQuota_clause(this); + } +}; + +Quota_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitQuota_clause(this); + } +}; + +Quota_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitQuota_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Quota_clauseContext = Quota_clauseContext; + +PlSqlParser.prototype.quota_clause = function() { + + var localctx = new Quota_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 282, PlSqlParser.RULE_quota_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3527; + this.match(PlSqlParser.QUOTA); + this.state = 3530; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 3528; + this.size_clause(); + break; + case PlSqlParser.UNLIMITED: + this.state = 3529; + this.match(PlSqlParser.UNLIMITED); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3532; + this.match(PlSqlParser.ON); + this.state = 3533; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Profile_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_profile_clause; + return this; +} + +Profile_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Profile_clauseContext.prototype.constructor = Profile_clauseContext; + +Profile_clauseContext.prototype.PROFILE = function() { + return this.getToken(PlSqlParser.PROFILE, 0); +}; + +Profile_clauseContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Profile_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterProfile_clause(this); + } +}; + +Profile_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitProfile_clause(this); + } +}; + +Profile_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitProfile_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Profile_clauseContext = Profile_clauseContext; + +PlSqlParser.prototype.profile_clause = function() { + + var localctx = new Profile_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 284, PlSqlParser.RULE_profile_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3535; + this.match(PlSqlParser.PROFILE); + this.state = 3536; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Role_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_role_clause; + return this; +} + +Role_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Role_clauseContext.prototype.constructor = Role_clauseContext; + +Role_clauseContext.prototype.role_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Role_nameContext); + } else { + return this.getTypedRuleContext(Role_nameContext,i); + } +}; + +Role_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Role_clauseContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Role_clauseContext.prototype.EXCEPT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.EXCEPT); + } else { + return this.getToken(PlSqlParser.EXCEPT, i); + } +}; + + +Role_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRole_clause(this); + } +}; + +Role_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRole_clause(this); + } +}; + +Role_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRole_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Role_clauseContext = Role_clauseContext; + +PlSqlParser.prototype.role_clause = function() { + + var localctx = new Role_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 286, PlSqlParser.RULE_role_clause); + var _la = 0; // Token type + try { + this.state = 3561; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.DELIMITED_ID: + case PlSqlParser.REGULAR_ID: + this.enterOuterAlt(localctx, 1); + this.state = 3538; + this.role_name(); + this.state = 3543; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3539; + this.match(PlSqlParser.COMMA); + this.state = 3540; + this.role_name(); + this.state = 3545; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.ALL: + this.enterOuterAlt(localctx, 2); + this.state = 3546; + this.match(PlSqlParser.ALL); + this.state = 3558; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.EXCEPT) { + this.state = 3547; + this.match(PlSqlParser.EXCEPT); + this.state = 3548; + this.role_name(); + this.state = 3553; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3549; + this.match(PlSqlParser.COMMA); + this.state = 3550; + this.role_name(); + this.state = 3555; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3560; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function User_default_role_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_user_default_role_clause; + return this; +} + +User_default_role_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +User_default_role_clauseContext.prototype.constructor = User_default_role_clauseContext; + +User_default_role_clauseContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +User_default_role_clauseContext.prototype.ROLE = function() { + return this.getToken(PlSqlParser.ROLE, 0); +}; + +User_default_role_clauseContext.prototype.NONE = function() { + return this.getToken(PlSqlParser.NONE, 0); +}; + +User_default_role_clauseContext.prototype.role_clause = function() { + return this.getTypedRuleContext(Role_clauseContext,0); +}; + +User_default_role_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUser_default_role_clause(this); + } +}; + +User_default_role_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUser_default_role_clause(this); + } +}; + +User_default_role_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUser_default_role_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.User_default_role_clauseContext = User_default_role_clauseContext; + +PlSqlParser.prototype.user_default_role_clause = function() { + + var localctx = new User_default_role_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 288, PlSqlParser.RULE_user_default_role_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3563; + this.match(PlSqlParser.DEFAULT); + this.state = 3564; + this.match(PlSqlParser.ROLE); + this.state = 3567; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,302,this._ctx); + switch(la_) { + case 1: + this.state = 3565; + this.match(PlSqlParser.NONE); + break; + + case 2: + this.state = 3566; + this.role_clause(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Password_expire_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_password_expire_clause; + return this; +} + +Password_expire_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Password_expire_clauseContext.prototype.constructor = Password_expire_clauseContext; + +Password_expire_clauseContext.prototype.PASSWORD = function() { + return this.getToken(PlSqlParser.PASSWORD, 0); +}; + +Password_expire_clauseContext.prototype.EXPIRE = function() { + return this.getToken(PlSqlParser.EXPIRE, 0); +}; + +Password_expire_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPassword_expire_clause(this); + } +}; + +Password_expire_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPassword_expire_clause(this); + } +}; + +Password_expire_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPassword_expire_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Password_expire_clauseContext = Password_expire_clauseContext; + +PlSqlParser.prototype.password_expire_clause = function() { + + var localctx = new Password_expire_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 290, PlSqlParser.RULE_password_expire_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3569; + this.match(PlSqlParser.PASSWORD); + this.state = 3570; + this.match(PlSqlParser.EXPIRE); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function User_lock_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_user_lock_clause; + return this; +} + +User_lock_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +User_lock_clauseContext.prototype.constructor = User_lock_clauseContext; + +User_lock_clauseContext.prototype.ACCOUNT = function() { + return this.getToken(PlSqlParser.ACCOUNT, 0); +}; + +User_lock_clauseContext.prototype.LOCK = function() { + return this.getToken(PlSqlParser.LOCK, 0); +}; + +User_lock_clauseContext.prototype.UNLOCK = function() { + return this.getToken(PlSqlParser.UNLOCK, 0); +}; + +User_lock_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUser_lock_clause(this); + } +}; + +User_lock_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUser_lock_clause(this); + } +}; + +User_lock_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUser_lock_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.User_lock_clauseContext = User_lock_clauseContext; + +PlSqlParser.prototype.user_lock_clause = function() { + + var localctx = new User_lock_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 292, PlSqlParser.RULE_user_lock_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3572; + this.match(PlSqlParser.ACCOUNT); + this.state = 3573; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOCK || _la===PlSqlParser.UNLOCK)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function User_editions_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_user_editions_clause; + return this; +} + +User_editions_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +User_editions_clauseContext.prototype.constructor = User_editions_clauseContext; + +User_editions_clauseContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +User_editions_clauseContext.prototype.EDITIONS = function() { + return this.getToken(PlSqlParser.EDITIONS, 0); +}; + +User_editions_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUser_editions_clause(this); + } +}; + +User_editions_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUser_editions_clause(this); + } +}; + +User_editions_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUser_editions_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.User_editions_clauseContext = User_editions_clauseContext; + +PlSqlParser.prototype.user_editions_clause = function() { + + var localctx = new User_editions_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 294, PlSqlParser.RULE_user_editions_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3575; + this.match(PlSqlParser.ENABLE); + this.state = 3576; + this.match(PlSqlParser.EDITIONS); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_user_editions_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_user_editions_clause; + return this; +} + +Alter_user_editions_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_user_editions_clauseContext.prototype.constructor = Alter_user_editions_clauseContext; + +Alter_user_editions_clauseContext.prototype.user_editions_clause = function() { + return this.getTypedRuleContext(User_editions_clauseContext,0); +}; + +Alter_user_editions_clauseContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Alter_user_editions_clauseContext.prototype.regular_id = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Regular_idContext); + } else { + return this.getTypedRuleContext(Regular_idContext,i); + } +}; + +Alter_user_editions_clauseContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Alter_user_editions_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Alter_user_editions_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_user_editions_clause(this); + } +}; + +Alter_user_editions_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_user_editions_clause(this); + } +}; + +Alter_user_editions_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_user_editions_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_user_editions_clauseContext = Alter_user_editions_clauseContext; + +PlSqlParser.prototype.alter_user_editions_clause = function() { + + var localctx = new Alter_user_editions_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 296, PlSqlParser.RULE_alter_user_editions_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3578; + this.user_editions_clause(); + this.state = 3588; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FOR) { + this.state = 3579; + this.match(PlSqlParser.FOR); + this.state = 3580; + this.regular_id(); + this.state = 3585; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3581; + this.match(PlSqlParser.COMMA); + this.state = 3582; + this.regular_id(); + this.state = 3587; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3591; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FORCE) { + this.state = 3590; + this.match(PlSqlParser.FORCE); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Proxy_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_proxy_clause; + return this; +} + +Proxy_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Proxy_clauseContext.prototype.constructor = Proxy_clauseContext; + +Proxy_clauseContext.prototype.REVOKE = function() { + return this.getToken(PlSqlParser.REVOKE, 0); +}; + +Proxy_clauseContext.prototype.CONNECT = function() { + return this.getToken(PlSqlParser.CONNECT, 0); +}; + +Proxy_clauseContext.prototype.THROUGH = function() { + return this.getToken(PlSqlParser.THROUGH, 0); +}; + +Proxy_clauseContext.prototype.ENTERPRISE = function() { + return this.getToken(PlSqlParser.ENTERPRISE, 0); +}; + +Proxy_clauseContext.prototype.USERS = function() { + return this.getToken(PlSqlParser.USERS, 0); +}; + +Proxy_clauseContext.prototype.user_object_name = function() { + return this.getTypedRuleContext(User_object_nameContext,0); +}; + +Proxy_clauseContext.prototype.GRANT = function() { + return this.getToken(PlSqlParser.GRANT, 0); +}; + +Proxy_clauseContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Proxy_clauseContext.prototype.AUTHENTICATION = function() { + return this.getToken(PlSqlParser.AUTHENTICATION, 0); +}; + +Proxy_clauseContext.prototype.REQUIRED = function() { + return this.getToken(PlSqlParser.REQUIRED, 0); +}; + +Proxy_clauseContext.prototype.AUTHENTICATED = function() { + return this.getToken(PlSqlParser.AUTHENTICATED, 0); +}; + +Proxy_clauseContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Proxy_clauseContext.prototype.NO = function() { + return this.getToken(PlSqlParser.NO, 0); +}; + +Proxy_clauseContext.prototype.ROLES = function() { + return this.getToken(PlSqlParser.ROLES, 0); +}; + +Proxy_clauseContext.prototype.ROLE = function() { + return this.getToken(PlSqlParser.ROLE, 0); +}; + +Proxy_clauseContext.prototype.role_clause = function() { + return this.getTypedRuleContext(Role_clauseContext,0); +}; + +Proxy_clauseContext.prototype.PASSWORD = function() { + return this.getToken(PlSqlParser.PASSWORD, 0); +}; + +Proxy_clauseContext.prototype.CERTIFICATE = function() { + return this.getToken(PlSqlParser.CERTIFICATE, 0); +}; + +Proxy_clauseContext.prototype.DISTINGUISHED = function() { + return this.getToken(PlSqlParser.DISTINGUISHED, 0); +}; + +Proxy_clauseContext.prototype.NAME = function() { + return this.getToken(PlSqlParser.NAME, 0); +}; + +Proxy_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterProxy_clause(this); + } +}; + +Proxy_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitProxy_clause(this); + } +}; + +Proxy_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitProxy_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Proxy_clauseContext = Proxy_clauseContext; + +PlSqlParser.prototype.proxy_clause = function() { + + var localctx = new Proxy_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 298, PlSqlParser.RULE_proxy_clause); + var _la = 0; // Token type + try { + this.state = 3632; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.REVOKE: + this.enterOuterAlt(localctx, 1); + this.state = 3593; + this.match(PlSqlParser.REVOKE); + this.state = 3594; + this.match(PlSqlParser.CONNECT); + this.state = 3595; + this.match(PlSqlParser.THROUGH); + this.state = 3599; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,306,this._ctx); + switch(la_) { + case 1: + this.state = 3596; + this.match(PlSqlParser.ENTERPRISE); + this.state = 3597; + this.match(PlSqlParser.USERS); + break; + + case 2: + this.state = 3598; + this.user_object_name(); + break; + + } + break; + case PlSqlParser.GRANT: + this.enterOuterAlt(localctx, 2); + this.state = 3601; + this.match(PlSqlParser.GRANT); + this.state = 3602; + this.match(PlSqlParser.CONNECT); + this.state = 3603; + this.match(PlSqlParser.THROUGH); + this.state = 3630; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,312,this._ctx); + switch(la_) { + case 1: + this.state = 3604; + this.match(PlSqlParser.ENTERPRISE); + this.state = 3605; + this.match(PlSqlParser.USERS); + break; + + case 2: + this.state = 3606; + this.user_object_name(); + this.state = 3614; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.WITH) { + this.state = 3607; + this.match(PlSqlParser.WITH); + this.state = 3612; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.NO: + this.state = 3608; + this.match(PlSqlParser.NO); + this.state = 3609; + this.match(PlSqlParser.ROLES); + break; + case PlSqlParser.ROLE: + this.state = 3610; + this.match(PlSqlParser.ROLE); + this.state = 3611; + this.role_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + + this.state = 3618; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AUTHENTICATION) { + this.state = 3616; + this.match(PlSqlParser.AUTHENTICATION); + this.state = 3617; + this.match(PlSqlParser.REQUIRED); + } + + this.state = 3628; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AUTHENTICATED) { + this.state = 3620; + this.match(PlSqlParser.AUTHENTICATED); + this.state = 3621; + this.match(PlSqlParser.USING); + this.state = 3626; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.PASSWORD: + this.state = 3622; + this.match(PlSqlParser.PASSWORD); + break; + case PlSqlParser.CERTIFICATE: + this.state = 3623; + this.match(PlSqlParser.CERTIFICATE); + break; + case PlSqlParser.DISTINGUISHED: + this.state = 3624; + this.match(PlSqlParser.DISTINGUISHED); + this.state = 3625; + this.match(PlSqlParser.NAME); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + + break; + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Container_namesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_container_names; + return this; +} + +Container_namesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Container_namesContext.prototype.constructor = Container_namesContext; + +Container_namesContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Container_namesContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +Container_namesContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Container_namesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Container_namesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterContainer_names(this); + } +}; + +Container_namesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitContainer_names(this); + } +}; + +Container_namesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitContainer_names(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Container_namesContext = Container_namesContext; + +PlSqlParser.prototype.container_names = function() { + + var localctx = new Container_namesContext(this, this._ctx, this.state); + this.enterRule(localctx, 300, PlSqlParser.RULE_container_names); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3634; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3635; + this.id_expression(); + this.state = 3640; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3636; + this.match(PlSqlParser.COMMA); + this.state = 3637; + this.id_expression(); + this.state = 3642; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3643; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Set_container_dataContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_set_container_data; + return this; +} + +Set_container_dataContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Set_container_dataContext.prototype.constructor = Set_container_dataContext; + +Set_container_dataContext.prototype.SET = function() { + return this.getToken(PlSqlParser.SET, 0); +}; + +Set_container_dataContext.prototype.CONTAINER_DATA = function() { + return this.getToken(PlSqlParser.CONTAINER_DATA, 0); +}; + +Set_container_dataContext.prototype.EQUALS_OP = function() { + return this.getToken(PlSqlParser.EQUALS_OP, 0); +}; + +Set_container_dataContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Set_container_dataContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Set_container_dataContext.prototype.container_names = function() { + return this.getTypedRuleContext(Container_namesContext,0); +}; + +Set_container_dataContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSet_container_data(this); + } +}; + +Set_container_dataContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSet_container_data(this); + } +}; + +Set_container_dataContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSet_container_data(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Set_container_dataContext = Set_container_dataContext; + +PlSqlParser.prototype.set_container_data = function() { + + var localctx = new Set_container_dataContext(this, this._ctx, this.state); + this.enterRule(localctx, 302, PlSqlParser.RULE_set_container_data); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3645; + this.match(PlSqlParser.SET); + this.state = 3646; + this.match(PlSqlParser.CONTAINER_DATA); + this.state = 3647; + this.match(PlSqlParser.EQUALS_OP); + this.state = 3651; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ALL: + this.state = 3648; + this.match(PlSqlParser.ALL); + break; + case PlSqlParser.DEFAULT: + this.state = 3649; + this.match(PlSqlParser.DEFAULT); + break; + case PlSqlParser.LEFT_PAREN: + this.state = 3650; + this.container_names(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Add_rem_container_dataContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_add_rem_container_data; + return this; +} + +Add_rem_container_dataContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Add_rem_container_dataContext.prototype.constructor = Add_rem_container_dataContext; + +Add_rem_container_dataContext.prototype.CONTAINER_DATA = function() { + return this.getToken(PlSqlParser.CONTAINER_DATA, 0); +}; + +Add_rem_container_dataContext.prototype.EQUALS_OP = function() { + return this.getToken(PlSqlParser.EQUALS_OP, 0); +}; + +Add_rem_container_dataContext.prototype.container_names = function() { + return this.getTypedRuleContext(Container_namesContext,0); +}; + +Add_rem_container_dataContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Add_rem_container_dataContext.prototype.REMOVE = function() { + return this.getToken(PlSqlParser.REMOVE, 0); +}; + +Add_rem_container_dataContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAdd_rem_container_data(this); + } +}; + +Add_rem_container_dataContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAdd_rem_container_data(this); + } +}; + +Add_rem_container_dataContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAdd_rem_container_data(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Add_rem_container_dataContext = Add_rem_container_dataContext; + +PlSqlParser.prototype.add_rem_container_data = function() { + + var localctx = new Add_rem_container_dataContext(this, this._ctx, this.state); + this.enterRule(localctx, 304, PlSqlParser.RULE_add_rem_container_data); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3653; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ADD || _la===PlSqlParser.REMOVE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3654; + this.match(PlSqlParser.CONTAINER_DATA); + this.state = 3655; + this.match(PlSqlParser.EQUALS_OP); + this.state = 3656; + this.container_names(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Container_data_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_container_data_clause; + return this; +} + +Container_data_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Container_data_clauseContext.prototype.constructor = Container_data_clauseContext; + +Container_data_clauseContext.prototype.set_container_data = function() { + return this.getTypedRuleContext(Set_container_dataContext,0); +}; + +Container_data_clauseContext.prototype.add_rem_container_data = function() { + return this.getTypedRuleContext(Add_rem_container_dataContext,0); +}; + +Container_data_clauseContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Container_data_clauseContext.prototype.container_tableview_name = function() { + return this.getTypedRuleContext(Container_tableview_nameContext,0); +}; + +Container_data_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterContainer_data_clause(this); + } +}; + +Container_data_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitContainer_data_clause(this); + } +}; + +Container_data_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitContainer_data_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Container_data_clauseContext = Container_data_clauseContext; + +PlSqlParser.prototype.container_data_clause = function() { + + var localctx = new Container_data_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 306, PlSqlParser.RULE_container_data_clause); + var _la = 0; // Token type + try { + this.state = 3664; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.SET: + this.enterOuterAlt(localctx, 1); + this.state = 3658; + this.set_container_data(); + break; + case PlSqlParser.ADD: + case PlSqlParser.REMOVE: + this.enterOuterAlt(localctx, 2); + this.state = 3659; + this.add_rem_container_data(); + this.state = 3662; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FOR) { + this.state = 3660; + this.match(PlSqlParser.FOR); + this.state = 3661; + this.container_tableview_name(); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function AnalyzeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_analyze; + return this; +} + +AnalyzeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +AnalyzeContext.prototype.constructor = AnalyzeContext; + +AnalyzeContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +AnalyzeContext.prototype.ANALYZE = function() { + return this.getToken(PlSqlParser.ANALYZE, 0); +}; + +AnalyzeContext.prototype.CLUSTER = function() { + return this.getToken(PlSqlParser.CLUSTER, 0); +}; + +AnalyzeContext.prototype.cluster_name = function() { + return this.getTypedRuleContext(Cluster_nameContext,0); +}; + +AnalyzeContext.prototype.validation_clauses = function() { + return this.getTypedRuleContext(Validation_clausesContext,0); +}; + +AnalyzeContext.prototype.LIST = function() { + return this.getToken(PlSqlParser.LIST, 0); +}; + +AnalyzeContext.prototype.CHAINED = function() { + return this.getToken(PlSqlParser.CHAINED, 0); +}; + +AnalyzeContext.prototype.ROWS = function() { + return this.getToken(PlSqlParser.ROWS, 0); +}; + +AnalyzeContext.prototype.DELETE = function() { + return this.getToken(PlSqlParser.DELETE, 0); +}; + +AnalyzeContext.prototype.STATISTICS = function() { + return this.getToken(PlSqlParser.STATISTICS, 0); +}; + +AnalyzeContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +AnalyzeContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +AnalyzeContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +AnalyzeContext.prototype.index_name = function() { + return this.getTypedRuleContext(Index_nameContext,0); +}; + +AnalyzeContext.prototype.partition_extention_clause = function() { + return this.getTypedRuleContext(Partition_extention_clauseContext,0); +}; + +AnalyzeContext.prototype.into_clause1 = function() { + return this.getTypedRuleContext(Into_clause1Context,0); +}; + +AnalyzeContext.prototype.SYSTEM = function() { + return this.getToken(PlSqlParser.SYSTEM, 0); +}; + +AnalyzeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAnalyze(this); + } +}; + +AnalyzeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAnalyze(this); + } +}; + +AnalyzeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAnalyze(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.AnalyzeContext = AnalyzeContext; + +PlSqlParser.prototype.analyze = function() { + + var localctx = new AnalyzeContext(this, this._ctx, this.state); + this.enterRule(localctx, 308, PlSqlParser.RULE_analyze); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3679; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,320,this._ctx); + switch(la_) { + case 1: + this.state = 3666; + this.match(PlSqlParser.ANALYZE); + this.state = 3671; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.TABLE: + this.state = 3667; + this.match(PlSqlParser.TABLE); + this.state = 3668; + this.tableview_name(); + break; + case PlSqlParser.INDEX: + this.state = 3669; + this.match(PlSqlParser.INDEX); + this.state = 3670; + this.index_name(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3674; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PARTITION || _la===PlSqlParser.SUBPARTITION) { + this.state = 3673; + this.partition_extention_clause(); + } + + break; + + case 2: + this.state = 3676; + this.match(PlSqlParser.ANALYZE); + this.state = 3677; + this.match(PlSqlParser.CLUSTER); + this.state = 3678; + this.cluster_name(); + break; + + } + this.state = 3693; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.VALIDATE: + this.state = 3681; + this.validation_clauses(); + break; + case PlSqlParser.LIST: + this.state = 3682; + this.match(PlSqlParser.LIST); + this.state = 3683; + this.match(PlSqlParser.CHAINED); + this.state = 3684; + this.match(PlSqlParser.ROWS); + this.state = 3686; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.INTO) { + this.state = 3685; + this.into_clause1(); + } + + break; + case PlSqlParser.DELETE: + this.state = 3688; + this.match(PlSqlParser.DELETE); + this.state = 3690; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SYSTEM) { + this.state = 3689; + this.match(PlSqlParser.SYSTEM); + } + + this.state = 3692; + this.match(PlSqlParser.STATISTICS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3695; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Partition_extention_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_partition_extention_clause; + return this; +} + +Partition_extention_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Partition_extention_clauseContext.prototype.constructor = Partition_extention_clauseContext; + +Partition_extention_clauseContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Partition_extention_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Partition_extention_clauseContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Partition_extention_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Partition_extention_clauseContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Partition_extention_clauseContext.prototype.partition_key_value = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partition_key_valueContext); + } else { + return this.getTypedRuleContext(Partition_key_valueContext,i); + } +}; + +Partition_extention_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Partition_extention_clauseContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Partition_extention_clauseContext.prototype.subpartition_name = function() { + return this.getTypedRuleContext(Subpartition_nameContext,0); +}; + +Partition_extention_clauseContext.prototype.subpartition_key_value = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Subpartition_key_valueContext); + } else { + return this.getTypedRuleContext(Subpartition_key_valueContext,i); + } +}; + +Partition_extention_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPartition_extention_clause(this); + } +}; + +Partition_extention_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPartition_extention_clause(this); + } +}; + +Partition_extention_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPartition_extention_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Partition_extention_clauseContext = Partition_extention_clauseContext; + +PlSqlParser.prototype.partition_extention_clause = function() { + + var localctx = new Partition_extention_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 310, PlSqlParser.RULE_partition_extention_clause); + var _la = 0; // Token type + try { + this.state = 3735; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.PARTITION: + this.enterOuterAlt(localctx, 1); + this.state = 3697; + this.match(PlSqlParser.PARTITION); + this.state = 3714; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 3698; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3699; + this.partition_name(); + this.state = 3700; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.FOR: + this.state = 3702; + this.match(PlSqlParser.FOR); + this.state = 3703; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3704; + this.partition_key_value(); + this.state = 3709; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3705; + this.match(PlSqlParser.COMMA); + this.state = 3706; + this.partition_key_value(); + this.state = 3711; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3712; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case PlSqlParser.SUBPARTITION: + this.enterOuterAlt(localctx, 2); + this.state = 3716; + this.match(PlSqlParser.SUBPARTITION); + this.state = 3733; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 3717; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3718; + this.subpartition_name(); + this.state = 3719; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.FOR: + this.state = 3721; + this.match(PlSqlParser.FOR); + this.state = 3722; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3723; + this.subpartition_key_value(); + this.state = 3728; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3724; + this.match(PlSqlParser.COMMA); + this.state = 3725; + this.subpartition_key_value(); + this.state = 3730; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3731; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Validation_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_validation_clauses; + return this; +} + +Validation_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Validation_clausesContext.prototype.constructor = Validation_clausesContext; + +Validation_clausesContext.prototype.VALIDATE = function() { + return this.getToken(PlSqlParser.VALIDATE, 0); +}; + +Validation_clausesContext.prototype.REF = function() { + return this.getToken(PlSqlParser.REF, 0); +}; + +Validation_clausesContext.prototype.UPDATE = function() { + return this.getToken(PlSqlParser.UPDATE, 0); +}; + +Validation_clausesContext.prototype.SET = function() { + return this.getToken(PlSqlParser.SET, 0); +}; + +Validation_clausesContext.prototype.DANGLING = function() { + return this.getToken(PlSqlParser.DANGLING, 0); +}; + +Validation_clausesContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Validation_clausesContext.prototype.NULL_ = function() { + return this.getToken(PlSqlParser.NULL_, 0); +}; + +Validation_clausesContext.prototype.STRUCTURE = function() { + return this.getToken(PlSqlParser.STRUCTURE, 0); +}; + +Validation_clausesContext.prototype.CASCADE = function() { + return this.getToken(PlSqlParser.CASCADE, 0); +}; + +Validation_clausesContext.prototype.FAST = function() { + return this.getToken(PlSqlParser.FAST, 0); +}; + +Validation_clausesContext.prototype.online_or_offline = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Online_or_offlineContext); + } else { + return this.getTypedRuleContext(Online_or_offlineContext,i); + } +}; + +Validation_clausesContext.prototype.into_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Into_clauseContext); + } else { + return this.getTypedRuleContext(Into_clauseContext,i); + } +}; + +Validation_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterValidation_clauses(this); + } +}; + +Validation_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitValidation_clauses(this); + } +}; + +Validation_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitValidation_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Validation_clausesContext = Validation_clausesContext; + +PlSqlParser.prototype.validation_clauses = function() { + + var localctx = new Validation_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 312, PlSqlParser.RULE_validation_clauses); + var _la = 0; // Token type + try { + this.state = 3766; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,335,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 3737; + this.match(PlSqlParser.VALIDATE); + this.state = 3738; + this.match(PlSqlParser.REF); + this.state = 3739; + this.match(PlSqlParser.UPDATE); + this.state = 3744; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SET) { + this.state = 3740; + this.match(PlSqlParser.SET); + this.state = 3741; + this.match(PlSqlParser.DANGLING); + this.state = 3742; + this.match(PlSqlParser.TO); + this.state = 3743; + this.match(PlSqlParser.NULL_); + } + + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 3746; + this.match(PlSqlParser.VALIDATE); + this.state = 3747; + this.match(PlSqlParser.STRUCTURE); + this.state = 3758; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,332,this._ctx); + if(la_===1) { + this.state = 3748; + this.match(PlSqlParser.CASCADE); + this.state = 3749; + this.match(PlSqlParser.FAST); + + } else if(la_===2) { + this.state = 3750; + this.match(PlSqlParser.CASCADE); + this.state = 3752; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,330,this._ctx); + if(la_===1) { + this.state = 3751; + this.online_or_offline(); + + } + this.state = 3755; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,331,this._ctx); + if(la_===1) { + this.state = 3754; + this.into_clause(); + + } + + } else if(la_===3) { + this.state = 3757; + this.match(PlSqlParser.CASCADE); + + } + this.state = 3761; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OFFLINE || _la===PlSqlParser.ONLINE) { + this.state = 3760; + this.online_or_offline(); + } + + this.state = 3764; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BULK || _la===PlSqlParser.INTO) { + this.state = 3763; + this.into_clause(); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Online_or_offlineContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_online_or_offline; + return this; +} + +Online_or_offlineContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Online_or_offlineContext.prototype.constructor = Online_or_offlineContext; + +Online_or_offlineContext.prototype.OFFLINE = function() { + return this.getToken(PlSqlParser.OFFLINE, 0); +}; + +Online_or_offlineContext.prototype.ONLINE = function() { + return this.getToken(PlSqlParser.ONLINE, 0); +}; + +Online_or_offlineContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOnline_or_offline(this); + } +}; + +Online_or_offlineContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOnline_or_offline(this); + } +}; + +Online_or_offlineContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOnline_or_offline(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Online_or_offlineContext = Online_or_offlineContext; + +PlSqlParser.prototype.online_or_offline = function() { + + var localctx = new Online_or_offlineContext(this, this._ctx, this.state); + this.enterRule(localctx, 314, PlSqlParser.RULE_online_or_offline); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3768; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.OFFLINE || _la===PlSqlParser.ONLINE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Into_clause1Context(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_into_clause1; + return this; +} + +Into_clause1Context.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Into_clause1Context.prototype.constructor = Into_clause1Context; + +Into_clause1Context.prototype.INTO = function() { + return this.getToken(PlSqlParser.INTO, 0); +}; + +Into_clause1Context.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Into_clause1Context.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterInto_clause1(this); + } +}; + +Into_clause1Context.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitInto_clause1(this); + } +}; + +Into_clause1Context.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitInto_clause1(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Into_clause1Context = Into_clause1Context; + +PlSqlParser.prototype.into_clause1 = function() { + + var localctx = new Into_clause1Context(this, this._ctx, this.state); + this.enterRule(localctx, 316, PlSqlParser.RULE_into_clause1); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3770; + this.match(PlSqlParser.INTO); + this.state = 3772; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.DELIMITED_ID - 2211)))) !== 0) || _la===PlSqlParser.INTRODUCER || _la===PlSqlParser.REGULAR_ID) { + this.state = 3771; + this.tableview_name(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Partition_key_valueContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_partition_key_value; + return this; +} + +Partition_key_valueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Partition_key_valueContext.prototype.constructor = Partition_key_valueContext; + +Partition_key_valueContext.prototype.literal = function() { + return this.getTypedRuleContext(LiteralContext,0); +}; + +Partition_key_valueContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPartition_key_value(this); + } +}; + +Partition_key_valueContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPartition_key_value(this); + } +}; + +Partition_key_valueContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPartition_key_value(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Partition_key_valueContext = Partition_key_valueContext; + +PlSqlParser.prototype.partition_key_value = function() { + + var localctx = new Partition_key_valueContext(this, this._ctx, this.state); + this.enterRule(localctx, 318, PlSqlParser.RULE_partition_key_value); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3774; + this.literal(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subpartition_key_valueContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_subpartition_key_value; + return this; +} + +Subpartition_key_valueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subpartition_key_valueContext.prototype.constructor = Subpartition_key_valueContext; + +Subpartition_key_valueContext.prototype.literal = function() { + return this.getTypedRuleContext(LiteralContext,0); +}; + +Subpartition_key_valueContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSubpartition_key_value(this); + } +}; + +Subpartition_key_valueContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSubpartition_key_value(this); + } +}; + +Subpartition_key_valueContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSubpartition_key_value(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Subpartition_key_valueContext = Subpartition_key_valueContext; + +PlSqlParser.prototype.subpartition_key_value = function() { + + var localctx = new Subpartition_key_valueContext(this, this._ctx, this.state); + this.enterRule(localctx, 320, PlSqlParser.RULE_subpartition_key_value); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3776; + this.literal(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Associate_statisticsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_associate_statistics; + return this; +} + +Associate_statisticsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Associate_statisticsContext.prototype.constructor = Associate_statisticsContext; + +Associate_statisticsContext.prototype.ASSOCIATE = function() { + return this.getToken(PlSqlParser.ASSOCIATE, 0); +}; + +Associate_statisticsContext.prototype.STATISTICS = function() { + return this.getToken(PlSqlParser.STATISTICS, 0); +}; + +Associate_statisticsContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Associate_statisticsContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Associate_statisticsContext.prototype.column_association = function() { + return this.getTypedRuleContext(Column_associationContext,0); +}; + +Associate_statisticsContext.prototype.function_association = function() { + return this.getTypedRuleContext(Function_associationContext,0); +}; + +Associate_statisticsContext.prototype.storage_table_clause = function() { + return this.getTypedRuleContext(Storage_table_clauseContext,0); +}; + +Associate_statisticsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAssociate_statistics(this); + } +}; + +Associate_statisticsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAssociate_statistics(this); + } +}; + +Associate_statisticsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAssociate_statistics(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Associate_statisticsContext = Associate_statisticsContext; + +PlSqlParser.prototype.associate_statistics = function() { + + var localctx = new Associate_statisticsContext(this, this._ctx, this.state); + this.enterRule(localctx, 322, PlSqlParser.RULE_associate_statistics); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3778; + this.match(PlSqlParser.ASSOCIATE); + this.state = 3779; + this.match(PlSqlParser.STATISTICS); + this.state = 3780; + this.match(PlSqlParser.WITH); + this.state = 3783; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.COLUMNS: + this.state = 3781; + this.column_association(); + break; + case PlSqlParser.FUNCTIONS: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.PACKAGES: + case PlSqlParser.TYPES: + this.state = 3782; + this.function_association(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3786; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.WITH) { + this.state = 3785; + this.storage_table_clause(); + } + + this.state = 3788; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Column_associationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_column_association; + return this; +} + +Column_associationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Column_associationContext.prototype.constructor = Column_associationContext; + +Column_associationContext.prototype.COLUMNS = function() { + return this.getToken(PlSqlParser.COLUMNS, 0); +}; + +Column_associationContext.prototype.tableview_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Tableview_nameContext); + } else { + return this.getTypedRuleContext(Tableview_nameContext,i); + } +}; + +Column_associationContext.prototype.PERIOD = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PERIOD); + } else { + return this.getToken(PlSqlParser.PERIOD, i); + } +}; + + +Column_associationContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Column_associationContext.prototype.using_statistics_type = function() { + return this.getTypedRuleContext(Using_statistics_typeContext,0); +}; + +Column_associationContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Column_associationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterColumn_association(this); + } +}; + +Column_associationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitColumn_association(this); + } +}; + +Column_associationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitColumn_association(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Column_associationContext = Column_associationContext; + +PlSqlParser.prototype.column_association = function() { + + var localctx = new Column_associationContext(this, this._ctx, this.state); + this.enterRule(localctx, 324, PlSqlParser.RULE_column_association); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3790; + this.match(PlSqlParser.COLUMNS); + this.state = 3791; + this.tableview_name(); + this.state = 3792; + this.match(PlSqlParser.PERIOD); + this.state = 3793; + this.column_name(); + this.state = 3801; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3794; + this.match(PlSqlParser.COMMA); + this.state = 3795; + this.tableview_name(); + this.state = 3796; + this.match(PlSqlParser.PERIOD); + this.state = 3797; + this.column_name(); + this.state = 3803; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3804; + this.using_statistics_type(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Function_associationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_function_association; + return this; +} + +Function_associationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Function_associationContext.prototype.constructor = Function_associationContext; + +Function_associationContext.prototype.FUNCTIONS = function() { + return this.getToken(PlSqlParser.FUNCTIONS, 0); +}; + +Function_associationContext.prototype.function_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Function_nameContext); + } else { + return this.getTypedRuleContext(Function_nameContext,i); + } +}; + +Function_associationContext.prototype.PACKAGES = function() { + return this.getToken(PlSqlParser.PACKAGES, 0); +}; + +Function_associationContext.prototype.package_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Package_nameContext); + } else { + return this.getTypedRuleContext(Package_nameContext,i); + } +}; + +Function_associationContext.prototype.TYPES = function() { + return this.getToken(PlSqlParser.TYPES, 0); +}; + +Function_associationContext.prototype.type_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Type_nameContext); + } else { + return this.getTypedRuleContext(Type_nameContext,i); + } +}; + +Function_associationContext.prototype.INDEXES = function() { + return this.getToken(PlSqlParser.INDEXES, 0); +}; + +Function_associationContext.prototype.index_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Index_nameContext); + } else { + return this.getTypedRuleContext(Index_nameContext,i); + } +}; + +Function_associationContext.prototype.INDEXTYPES = function() { + return this.getToken(PlSqlParser.INDEXTYPES, 0); +}; + +Function_associationContext.prototype.indextype_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Indextype_nameContext); + } else { + return this.getTypedRuleContext(Indextype_nameContext,i); + } +}; + +Function_associationContext.prototype.using_statistics_type = function() { + return this.getTypedRuleContext(Using_statistics_typeContext,0); +}; + +Function_associationContext.prototype.default_cost_clause = function() { + return this.getTypedRuleContext(Default_cost_clauseContext,0); +}; + +Function_associationContext.prototype.default_selectivity_clause = function() { + return this.getTypedRuleContext(Default_selectivity_clauseContext,0); +}; + +Function_associationContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Function_associationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFunction_association(this); + } +}; + +Function_associationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFunction_association(this); + } +}; + +Function_associationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFunction_association(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Function_associationContext = Function_associationContext; + +PlSqlParser.prototype.function_association = function() { + + var localctx = new Function_associationContext(this, this._ctx, this.state); + this.enterRule(localctx, 326, PlSqlParser.RULE_function_association); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3851; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.FUNCTIONS: + this.state = 3806; + this.match(PlSqlParser.FUNCTIONS); + this.state = 3807; + this.function_name(); + this.state = 3812; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3808; + this.match(PlSqlParser.COMMA); + this.state = 3809; + this.function_name(); + this.state = 3814; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.PACKAGES: + this.state = 3815; + this.match(PlSqlParser.PACKAGES); + this.state = 3816; + this.package_name(); + this.state = 3821; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3817; + this.match(PlSqlParser.COMMA); + this.state = 3818; + this.package_name(); + this.state = 3823; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.TYPES: + this.state = 3824; + this.match(PlSqlParser.TYPES); + this.state = 3825; + this.type_name(); + this.state = 3830; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3826; + this.match(PlSqlParser.COMMA); + this.state = 3827; + this.type_name(); + this.state = 3832; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.INDEXES: + this.state = 3833; + this.match(PlSqlParser.INDEXES); + this.state = 3834; + this.index_name(); + this.state = 3839; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3835; + this.match(PlSqlParser.COMMA); + this.state = 3836; + this.index_name(); + this.state = 3841; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.INDEXTYPES: + this.state = 3842; + this.match(PlSqlParser.INDEXTYPES); + this.state = 3843; + this.indextype_name(); + this.state = 3848; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3844; + this.match(PlSqlParser.COMMA); + this.state = 3845; + this.indextype_name(); + this.state = 3850; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3864; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,348,this._ctx); + switch(la_) { + case 1: + this.state = 3853; + this.using_statistics_type(); + break; + + case 2: + this.state = 3854; + this.default_cost_clause(); + this.state = 3857; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 3855; + this.match(PlSqlParser.COMMA); + this.state = 3856; + this.default_selectivity_clause(); + } + + break; + + case 3: + this.state = 3859; + this.default_selectivity_clause(); + this.state = 3862; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 3860; + this.match(PlSqlParser.COMMA); + this.state = 3861; + this.default_cost_clause(); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Indextype_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_indextype_name; + return this; +} + +Indextype_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Indextype_nameContext.prototype.constructor = Indextype_nameContext; + +Indextype_nameContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Indextype_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndextype_name(this); + } +}; + +Indextype_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndextype_name(this); + } +}; + +Indextype_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndextype_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Indextype_nameContext = Indextype_nameContext; + +PlSqlParser.prototype.indextype_name = function() { + + var localctx = new Indextype_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 328, PlSqlParser.RULE_indextype_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3866; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Using_statistics_typeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_using_statistics_type; + return this; +} + +Using_statistics_typeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Using_statistics_typeContext.prototype.constructor = Using_statistics_typeContext; + +Using_statistics_typeContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Using_statistics_typeContext.prototype.statistics_type_name = function() { + return this.getTypedRuleContext(Statistics_type_nameContext,0); +}; + +Using_statistics_typeContext.prototype.NULL_ = function() { + return this.getToken(PlSqlParser.NULL_, 0); +}; + +Using_statistics_typeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUsing_statistics_type(this); + } +}; + +Using_statistics_typeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUsing_statistics_type(this); + } +}; + +Using_statistics_typeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUsing_statistics_type(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Using_statistics_typeContext = Using_statistics_typeContext; + +PlSqlParser.prototype.using_statistics_type = function() { + + var localctx = new Using_statistics_typeContext(this, this._ctx, this.state); + this.enterRule(localctx, 330, PlSqlParser.RULE_using_statistics_type); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3868; + this.match(PlSqlParser.USING); + this.state = 3871; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.REGULAR_ID: + this.state = 3869; + this.statistics_type_name(); + break; + case PlSqlParser.NULL_: + this.state = 3870; + this.match(PlSqlParser.NULL_); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Statistics_type_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_statistics_type_name; + return this; +} + +Statistics_type_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Statistics_type_nameContext.prototype.constructor = Statistics_type_nameContext; + +Statistics_type_nameContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Statistics_type_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterStatistics_type_name(this); + } +}; + +Statistics_type_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitStatistics_type_name(this); + } +}; + +Statistics_type_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitStatistics_type_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Statistics_type_nameContext = Statistics_type_nameContext; + +PlSqlParser.prototype.statistics_type_name = function() { + + var localctx = new Statistics_type_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 332, PlSqlParser.RULE_statistics_type_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3873; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Default_cost_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_default_cost_clause; + return this; +} + +Default_cost_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Default_cost_clauseContext.prototype.constructor = Default_cost_clauseContext; + +Default_cost_clauseContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Default_cost_clauseContext.prototype.COST = function() { + return this.getToken(PlSqlParser.COST, 0); +}; + +Default_cost_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Default_cost_clauseContext.prototype.cpu_cost = function() { + return this.getTypedRuleContext(Cpu_costContext,0); +}; + +Default_cost_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Default_cost_clauseContext.prototype.io_cost = function() { + return this.getTypedRuleContext(Io_costContext,0); +}; + +Default_cost_clauseContext.prototype.network_cost = function() { + return this.getTypedRuleContext(Network_costContext,0); +}; + +Default_cost_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Default_cost_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDefault_cost_clause(this); + } +}; + +Default_cost_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDefault_cost_clause(this); + } +}; + +Default_cost_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDefault_cost_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Default_cost_clauseContext = Default_cost_clauseContext; + +PlSqlParser.prototype.default_cost_clause = function() { + + var localctx = new Default_cost_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 334, PlSqlParser.RULE_default_cost_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3875; + this.match(PlSqlParser.DEFAULT); + this.state = 3876; + this.match(PlSqlParser.COST); + this.state = 3877; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 3878; + this.cpu_cost(); + this.state = 3879; + this.match(PlSqlParser.COMMA); + this.state = 3880; + this.io_cost(); + this.state = 3881; + this.match(PlSqlParser.COMMA); + this.state = 3882; + this.network_cost(); + this.state = 3883; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cpu_costContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_cpu_cost; + return this; +} + +Cpu_costContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cpu_costContext.prototype.constructor = Cpu_costContext; + +Cpu_costContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Cpu_costContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCpu_cost(this); + } +}; + +Cpu_costContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCpu_cost(this); + } +}; + +Cpu_costContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCpu_cost(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Cpu_costContext = Cpu_costContext; + +PlSqlParser.prototype.cpu_cost = function() { + + var localctx = new Cpu_costContext(this, this._ctx, this.state); + this.enterRule(localctx, 336, PlSqlParser.RULE_cpu_cost); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3885; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Io_costContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_io_cost; + return this; +} + +Io_costContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Io_costContext.prototype.constructor = Io_costContext; + +Io_costContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Io_costContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIo_cost(this); + } +}; + +Io_costContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIo_cost(this); + } +}; + +Io_costContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIo_cost(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Io_costContext = Io_costContext; + +PlSqlParser.prototype.io_cost = function() { + + var localctx = new Io_costContext(this, this._ctx, this.state); + this.enterRule(localctx, 338, PlSqlParser.RULE_io_cost); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3887; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Network_costContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_network_cost; + return this; +} + +Network_costContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Network_costContext.prototype.constructor = Network_costContext; + +Network_costContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Network_costContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNetwork_cost(this); + } +}; + +Network_costContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNetwork_cost(this); + } +}; + +Network_costContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNetwork_cost(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Network_costContext = Network_costContext; + +PlSqlParser.prototype.network_cost = function() { + + var localctx = new Network_costContext(this, this._ctx, this.state); + this.enterRule(localctx, 340, PlSqlParser.RULE_network_cost); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3889; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Default_selectivity_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_default_selectivity_clause; + return this; +} + +Default_selectivity_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Default_selectivity_clauseContext.prototype.constructor = Default_selectivity_clauseContext; + +Default_selectivity_clauseContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Default_selectivity_clauseContext.prototype.SELECTIVITY = function() { + return this.getToken(PlSqlParser.SELECTIVITY, 0); +}; + +Default_selectivity_clauseContext.prototype.default_selectivity = function() { + return this.getTypedRuleContext(Default_selectivityContext,0); +}; + +Default_selectivity_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDefault_selectivity_clause(this); + } +}; + +Default_selectivity_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDefault_selectivity_clause(this); + } +}; + +Default_selectivity_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDefault_selectivity_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Default_selectivity_clauseContext = Default_selectivity_clauseContext; + +PlSqlParser.prototype.default_selectivity_clause = function() { + + var localctx = new Default_selectivity_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 342, PlSqlParser.RULE_default_selectivity_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3891; + this.match(PlSqlParser.DEFAULT); + this.state = 3892; + this.match(PlSqlParser.SELECTIVITY); + this.state = 3893; + this.default_selectivity(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Default_selectivityContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_default_selectivity; + return this; +} + +Default_selectivityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Default_selectivityContext.prototype.constructor = Default_selectivityContext; + +Default_selectivityContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Default_selectivityContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDefault_selectivity(this); + } +}; + +Default_selectivityContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDefault_selectivity(this); + } +}; + +Default_selectivityContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDefault_selectivity(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Default_selectivityContext = Default_selectivityContext; + +PlSqlParser.prototype.default_selectivity = function() { + + var localctx = new Default_selectivityContext(this, this._ctx, this.state); + this.enterRule(localctx, 344, PlSqlParser.RULE_default_selectivity); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3895; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Storage_table_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_storage_table_clause; + return this; +} + +Storage_table_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Storage_table_clauseContext.prototype.constructor = Storage_table_clauseContext; + +Storage_table_clauseContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Storage_table_clauseContext.prototype.MANAGED = function() { + return this.getToken(PlSqlParser.MANAGED, 0); +}; + +Storage_table_clauseContext.prototype.STORAGE = function() { + return this.getToken(PlSqlParser.STORAGE, 0); +}; + +Storage_table_clauseContext.prototype.TABLES = function() { + return this.getToken(PlSqlParser.TABLES, 0); +}; + +Storage_table_clauseContext.prototype.SYSTEM = function() { + return this.getToken(PlSqlParser.SYSTEM, 0); +}; + +Storage_table_clauseContext.prototype.USER = function() { + return this.getToken(PlSqlParser.USER, 0); +}; + +Storage_table_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterStorage_table_clause(this); + } +}; + +Storage_table_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitStorage_table_clause(this); + } +}; + +Storage_table_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitStorage_table_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Storage_table_clauseContext = Storage_table_clauseContext; + +PlSqlParser.prototype.storage_table_clause = function() { + + var localctx = new Storage_table_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 346, PlSqlParser.RULE_storage_table_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3897; + this.match(PlSqlParser.WITH); + this.state = 3898; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.SYSTEM || _la===PlSqlParser.USER)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3899; + this.match(PlSqlParser.MANAGED); + this.state = 3900; + this.match(PlSqlParser.STORAGE); + this.state = 3901; + this.match(PlSqlParser.TABLES); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Unified_auditingContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_unified_auditing; + return this; +} + +Unified_auditingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Unified_auditingContext.prototype.constructor = Unified_auditingContext; + +Unified_auditingContext.prototype.AUDIT = function() { + return this.getToken(PlSqlParser.AUDIT, 0); +}; + +Unified_auditingContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Unified_auditingContext.prototype.POLICY = function() { + return this.getToken(PlSqlParser.POLICY, 0); +}; + +Unified_auditingContext.prototype.policy_name = function() { + return this.getTypedRuleContext(Policy_nameContext,0); +}; + +Unified_auditingContext.prototype.CONTEXT = function() { + return this.getToken(PlSqlParser.CONTEXT, 0); +}; + +Unified_auditingContext.prototype.NAMESPACE = function() { + return this.getToken(PlSqlParser.NAMESPACE, 0); +}; + +Unified_auditingContext.prototype.oracle_namespace = function() { + return this.getTypedRuleContext(Oracle_namespaceContext,0); +}; + +Unified_auditingContext.prototype.ATTRIBUTES = function() { + return this.getToken(PlSqlParser.ATTRIBUTES, 0); +}; + +Unified_auditingContext.prototype.attribute_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Attribute_nameContext); + } else { + return this.getTypedRuleContext(Attribute_nameContext,i); + } +}; + +Unified_auditingContext.prototype.audit_user = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Audit_userContext); + } else { + return this.getTypedRuleContext(Audit_userContext,i); + } +}; + +Unified_auditingContext.prototype.WHENEVER = function() { + return this.getToken(PlSqlParser.WHENEVER, 0); +}; + +Unified_auditingContext.prototype.SUCCESSFUL = function() { + return this.getToken(PlSqlParser.SUCCESSFUL, 0); +}; + +Unified_auditingContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Unified_auditingContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Unified_auditingContext.prototype.EXCEPT = function() { + return this.getToken(PlSqlParser.EXCEPT, 0); +}; + +Unified_auditingContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Unified_auditingContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUnified_auditing(this); + } +}; + +Unified_auditingContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUnified_auditing(this); + } +}; + +Unified_auditingContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUnified_auditing(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Unified_auditingContext = Unified_auditingContext; + +PlSqlParser.prototype.unified_auditing = function() { + + var localctx = new Unified_auditingContext(this, this._ctx, this.state); + this.enterRule(localctx, 348, PlSqlParser.RULE_unified_auditing); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3903; + if (!( this.isVersion12())) { + throw new antlr4.error.FailedPredicateException(this, "this.isVersion12()"); + } + this.state = 3904; + this.match(PlSqlParser.AUDIT); + this.state = 3948; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.POLICY: + this.state = 3905; + this.match(PlSqlParser.POLICY); + this.state = 3906; + this.policy_name(); + this.state = 3916; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BY || _la===PlSqlParser.EXCEPT) { + this.state = 3907; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BY || _la===PlSqlParser.EXCEPT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 3908; + this.audit_user(); + this.state = 3913; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3909; + this.match(PlSqlParser.COMMA); + this.state = 3910; + this.audit_user(); + this.state = 3915; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + this.state = 3923; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.WHENEVER) { + this.state = 3918; + this.match(PlSqlParser.WHENEVER); + this.state = 3920; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 3919; + this.match(PlSqlParser.NOT); + } + + this.state = 3922; + this.match(PlSqlParser.SUCCESSFUL); + } + + break; + case PlSqlParser.CONTEXT: + this.state = 3925; + this.match(PlSqlParser.CONTEXT); + this.state = 3926; + this.match(PlSqlParser.NAMESPACE); + this.state = 3927; + this.oracle_namespace(); + this.state = 3928; + this.match(PlSqlParser.ATTRIBUTES); + this.state = 3929; + this.attribute_name(); + this.state = 3934; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3930; + this.match(PlSqlParser.COMMA); + this.state = 3931; + this.attribute_name(); + this.state = 3936; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 3946; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BY) { + this.state = 3937; + this.match(PlSqlParser.BY); + this.state = 3938; + this.audit_user(); + this.state = 3943; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 3939; + this.match(PlSqlParser.COMMA); + this.state = 3940; + this.audit_user(); + this.state = 3945; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 3950; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Policy_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_policy_name; + return this; +} + +Policy_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Policy_nameContext.prototype.constructor = Policy_nameContext; + +Policy_nameContext.prototype.identifier = function() { + return this.getTypedRuleContext(IdentifierContext,0); +}; + +Policy_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPolicy_name(this); + } +}; + +Policy_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPolicy_name(this); + } +}; + +Policy_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPolicy_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Policy_nameContext = Policy_nameContext; + +PlSqlParser.prototype.policy_name = function() { + + var localctx = new Policy_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 350, PlSqlParser.RULE_policy_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3952; + this.identifier(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Audit_traditionalContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_audit_traditional; + return this; +} + +Audit_traditionalContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Audit_traditionalContext.prototype.constructor = Audit_traditionalContext; + +Audit_traditionalContext.prototype.AUDIT = function() { + return this.getToken(PlSqlParser.AUDIT, 0); +}; + +Audit_traditionalContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Audit_traditionalContext.prototype.audit_operation_clause = function() { + return this.getTypedRuleContext(Audit_operation_clauseContext,0); +}; + +Audit_traditionalContext.prototype.audit_schema_object_clause = function() { + return this.getTypedRuleContext(Audit_schema_object_clauseContext,0); +}; + +Audit_traditionalContext.prototype.NETWORK = function() { + return this.getToken(PlSqlParser.NETWORK, 0); +}; + +Audit_traditionalContext.prototype.audit_direct_path = function() { + return this.getTypedRuleContext(Audit_direct_pathContext,0); +}; + +Audit_traditionalContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Audit_traditionalContext.prototype.WHENEVER = function() { + return this.getToken(PlSqlParser.WHENEVER, 0); +}; + +Audit_traditionalContext.prototype.SUCCESSFUL = function() { + return this.getToken(PlSqlParser.SUCCESSFUL, 0); +}; + +Audit_traditionalContext.prototype.audit_container_clause = function() { + return this.getTypedRuleContext(Audit_container_clauseContext,0); +}; + +Audit_traditionalContext.prototype.SESSION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SESSION); + } else { + return this.getToken(PlSqlParser.SESSION, i); + } +}; + + +Audit_traditionalContext.prototype.ACCESS = function() { + return this.getToken(PlSqlParser.ACCESS, 0); +}; + +Audit_traditionalContext.prototype.auditing_by_clause = function() { + return this.getTypedRuleContext(Auditing_by_clauseContext,0); +}; + +Audit_traditionalContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Audit_traditionalContext.prototype.CURRENT = function() { + return this.getToken(PlSqlParser.CURRENT, 0); +}; + +Audit_traditionalContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Audit_traditionalContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAudit_traditional(this); + } +}; + +Audit_traditionalContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAudit_traditional(this); + } +}; + +Audit_traditionalContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAudit_traditional(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Audit_traditionalContext = Audit_traditionalContext; + +PlSqlParser.prototype.audit_traditional = function() { + + var localctx = new Audit_traditionalContext(this, this._ctx, this.state); + this.enterRule(localctx, 352, PlSqlParser.RULE_audit_traditional); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3954; + this.match(PlSqlParser.AUDIT); + this.state = 3965; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,359,this._ctx); + switch(la_) { + case 1: + this.state = 3955; + this.audit_operation_clause(); + this.state = 3960; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,358,this._ctx); + if(la_===1) { + this.state = 3956; + this.auditing_by_clause(); + + } else if(la_===2) { + this.state = 3957; + this.match(PlSqlParser.IN); + this.state = 3958; + this.match(PlSqlParser.SESSION); + this.state = 3959; + this.match(PlSqlParser.CURRENT); + + } + break; + + case 2: + this.state = 3962; + this.audit_schema_object_clause(); + break; + + case 3: + this.state = 3963; + this.match(PlSqlParser.NETWORK); + break; + + case 4: + this.state = 3964; + this.audit_direct_path(); + break; + + } + this.state = 3969; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,360,this._ctx); + if(la_===1) { + this.state = 3967; + this.match(PlSqlParser.BY); + this.state = 3968; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ACCESS || _la===PlSqlParser.SESSION)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 3976; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,362,this._ctx); + if(la_===1) { + this.state = 3971; + this.match(PlSqlParser.WHENEVER); + this.state = 3973; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 3972; + this.match(PlSqlParser.NOT); + } + + this.state = 3975; + this.match(PlSqlParser.SUCCESSFUL); + + } + this.state = 3979; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,363,this._ctx); + if(la_===1) { + this.state = 3978; + this.audit_container_clause(); + + } + this.state = 3981; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Audit_direct_pathContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_audit_direct_path; + return this; +} + +Audit_direct_pathContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Audit_direct_pathContext.prototype.constructor = Audit_direct_pathContext; + +Audit_direct_pathContext.prototype.DIRECT_PATH = function() { + return this.getToken(PlSqlParser.DIRECT_PATH, 0); +}; + +Audit_direct_pathContext.prototype.auditing_by_clause = function() { + return this.getTypedRuleContext(Auditing_by_clauseContext,0); +}; + +Audit_direct_pathContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAudit_direct_path(this); + } +}; + +Audit_direct_pathContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAudit_direct_path(this); + } +}; + +Audit_direct_pathContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAudit_direct_path(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Audit_direct_pathContext = Audit_direct_pathContext; + +PlSqlParser.prototype.audit_direct_path = function() { + + var localctx = new Audit_direct_pathContext(this, this._ctx, this.state); + this.enterRule(localctx, 354, PlSqlParser.RULE_audit_direct_path); + try { + this.enterOuterAlt(localctx, 1); + this.state = 3983; + if (!( this.isVersion12())) { + throw new antlr4.error.FailedPredicateException(this, "this.isVersion12()"); + } + this.state = 3984; + this.match(PlSqlParser.DIRECT_PATH); + this.state = 3985; + this.auditing_by_clause(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Audit_container_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_audit_container_clause; + return this; +} + +Audit_container_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Audit_container_clauseContext.prototype.constructor = Audit_container_clauseContext; + +Audit_container_clauseContext.prototype.CONTAINER = function() { + return this.getToken(PlSqlParser.CONTAINER, 0); +}; + +Audit_container_clauseContext.prototype.EQUALS_OP = function() { + return this.getToken(PlSqlParser.EQUALS_OP, 0); +}; + +Audit_container_clauseContext.prototype.CURRENT = function() { + return this.getToken(PlSqlParser.CURRENT, 0); +}; + +Audit_container_clauseContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Audit_container_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAudit_container_clause(this); + } +}; + +Audit_container_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAudit_container_clause(this); + } +}; + +Audit_container_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAudit_container_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Audit_container_clauseContext = Audit_container_clauseContext; + +PlSqlParser.prototype.audit_container_clause = function() { + + var localctx = new Audit_container_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 356, PlSqlParser.RULE_audit_container_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 3987; + if (!( this.isVersion12())) { + throw new antlr4.error.FailedPredicateException(this, "this.isVersion12()"); + } + + this.state = 3988; + this.match(PlSqlParser.CONTAINER); + this.state = 3989; + this.match(PlSqlParser.EQUALS_OP); + this.state = 3990; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ALL || _la===PlSqlParser.CURRENT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Audit_operation_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_audit_operation_clause; + return this; +} + +Audit_operation_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Audit_operation_clauseContext.prototype.constructor = Audit_operation_clauseContext; + +Audit_operation_clauseContext.prototype.sql_statement_shortcut = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Sql_statement_shortcutContext); + } else { + return this.getTypedRuleContext(Sql_statement_shortcutContext,i); + } +}; + +Audit_operation_clauseContext.prototype.ALL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ALL); + } else { + return this.getToken(PlSqlParser.ALL, i); + } +}; + + +Audit_operation_clauseContext.prototype.system_privilege = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(System_privilegeContext); + } else { + return this.getTypedRuleContext(System_privilegeContext,i); + } +}; + +Audit_operation_clauseContext.prototype.PRIVILEGES = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PRIVILEGES); + } else { + return this.getToken(PlSqlParser.PRIVILEGES, i); + } +}; + + +Audit_operation_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Audit_operation_clauseContext.prototype.STATEMENTS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.STATEMENTS); + } else { + return this.getToken(PlSqlParser.STATEMENTS, i); + } +}; + + +Audit_operation_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAudit_operation_clause(this); + } +}; + +Audit_operation_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAudit_operation_clause(this); + } +}; + +Audit_operation_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAudit_operation_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Audit_operation_clauseContext = Audit_operation_clauseContext; + +PlSqlParser.prototype.audit_operation_clause = function() { + + var localctx = new Audit_operation_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 358, PlSqlParser.RULE_audit_operation_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4028; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,372,this._ctx); + switch(la_) { + case 1: + this.state = 3997; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,365,this._ctx); + switch(la_) { + case 1: + this.state = 3992; + this.sql_statement_shortcut(); + break; + + case 2: + this.state = 3993; + this.match(PlSqlParser.ALL); + this.state = 3995; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,364,this._ctx); + if(la_===1) { + this.state = 3994; + this.match(PlSqlParser.STATEMENTS); + + } + break; + + } + this.state = 4009; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,368,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 3999; + this.match(PlSqlParser.COMMA); + this.state = 4005; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,367,this._ctx); + switch(la_) { + case 1: + this.state = 4000; + this.sql_statement_shortcut(); + break; + + case 2: + this.state = 4001; + this.match(PlSqlParser.ALL); + this.state = 4003; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,366,this._ctx); + if(la_===1) { + this.state = 4002; + this.match(PlSqlParser.STATEMENTS); + + } + break; + + } + } + this.state = 4011; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,368,this._ctx); + } + + break; + + case 2: + this.state = 4015; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,369,this._ctx); + switch(la_) { + case 1: + this.state = 4012; + this.system_privilege(); + break; + + case 2: + this.state = 4013; + this.match(PlSqlParser.ALL); + this.state = 4014; + this.match(PlSqlParser.PRIVILEGES); + break; + + } + this.state = 4025; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,371,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4017; + this.match(PlSqlParser.COMMA); + this.state = 4021; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,370,this._ctx); + switch(la_) { + case 1: + this.state = 4018; + this.system_privilege(); + break; + + case 2: + this.state = 4019; + this.match(PlSqlParser.ALL); + this.state = 4020; + this.match(PlSqlParser.PRIVILEGES); + break; + + } + } + this.state = 4027; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,371,this._ctx); + } + + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Auditing_by_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_auditing_by_clause; + return this; +} + +Auditing_by_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Auditing_by_clauseContext.prototype.constructor = Auditing_by_clauseContext; + +Auditing_by_clauseContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Auditing_by_clauseContext.prototype.audit_user = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Audit_userContext); + } else { + return this.getTypedRuleContext(Audit_userContext,i); + } +}; + +Auditing_by_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Auditing_by_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAuditing_by_clause(this); + } +}; + +Auditing_by_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAuditing_by_clause(this); + } +}; + +Auditing_by_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAuditing_by_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Auditing_by_clauseContext = Auditing_by_clauseContext; + +PlSqlParser.prototype.auditing_by_clause = function() { + + var localctx = new Auditing_by_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 360, PlSqlParser.RULE_auditing_by_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4030; + this.match(PlSqlParser.BY); + this.state = 4031; + this.audit_user(); + this.state = 4036; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,373,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4032; + this.match(PlSqlParser.COMMA); + this.state = 4033; + this.audit_user(); + } + this.state = 4038; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,373,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Audit_userContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_audit_user; + return this; +} + +Audit_userContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Audit_userContext.prototype.constructor = Audit_userContext; + +Audit_userContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Audit_userContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAudit_user(this); + } +}; + +Audit_userContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAudit_user(this); + } +}; + +Audit_userContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAudit_user(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Audit_userContext = Audit_userContext; + +PlSqlParser.prototype.audit_user = function() { + + var localctx = new Audit_userContext(this, this._ctx, this.state); + this.enterRule(localctx, 362, PlSqlParser.RULE_audit_user); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4039; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Audit_schema_object_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_audit_schema_object_clause; + return this; +} + +Audit_schema_object_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Audit_schema_object_clauseContext.prototype.constructor = Audit_schema_object_clauseContext; + +Audit_schema_object_clauseContext.prototype.auditing_on_clause = function() { + return this.getTypedRuleContext(Auditing_on_clauseContext,0); +}; + +Audit_schema_object_clauseContext.prototype.sql_operation = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Sql_operationContext); + } else { + return this.getTypedRuleContext(Sql_operationContext,i); + } +}; + +Audit_schema_object_clauseContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Audit_schema_object_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Audit_schema_object_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAudit_schema_object_clause(this); + } +}; + +Audit_schema_object_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAudit_schema_object_clause(this); + } +}; + +Audit_schema_object_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAudit_schema_object_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Audit_schema_object_clauseContext = Audit_schema_object_clauseContext; + +PlSqlParser.prototype.audit_schema_object_clause = function() { + + var localctx = new Audit_schema_object_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 364, PlSqlParser.RULE_audit_schema_object_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4050; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ALTER: + case PlSqlParser.AUDIT: + case PlSqlParser.COMMENT: + case PlSqlParser.DELETE: + case PlSqlParser.EXECUTE: + case PlSqlParser.FLASHBACK: + case PlSqlParser.GRANT: + case PlSqlParser.INDEX: + case PlSqlParser.INSERT: + case PlSqlParser.LOCK: + case PlSqlParser.READ: + case PlSqlParser.RENAME: + case PlSqlParser.SELECT: + case PlSqlParser.UPDATE: + this.state = 4041; + this.sql_operation(); + this.state = 4046; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4042; + this.match(PlSqlParser.COMMA); + this.state = 4043; + this.sql_operation(); + this.state = 4048; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.ALL: + this.state = 4049; + this.match(PlSqlParser.ALL); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4052; + this.auditing_on_clause(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Sql_operationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_sql_operation; + return this; +} + +Sql_operationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Sql_operationContext.prototype.constructor = Sql_operationContext; + +Sql_operationContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Sql_operationContext.prototype.AUDIT = function() { + return this.getToken(PlSqlParser.AUDIT, 0); +}; + +Sql_operationContext.prototype.COMMENT = function() { + return this.getToken(PlSqlParser.COMMENT, 0); +}; + +Sql_operationContext.prototype.DELETE = function() { + return this.getToken(PlSqlParser.DELETE, 0); +}; + +Sql_operationContext.prototype.EXECUTE = function() { + return this.getToken(PlSqlParser.EXECUTE, 0); +}; + +Sql_operationContext.prototype.FLASHBACK = function() { + return this.getToken(PlSqlParser.FLASHBACK, 0); +}; + +Sql_operationContext.prototype.GRANT = function() { + return this.getToken(PlSqlParser.GRANT, 0); +}; + +Sql_operationContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Sql_operationContext.prototype.INSERT = function() { + return this.getToken(PlSqlParser.INSERT, 0); +}; + +Sql_operationContext.prototype.LOCK = function() { + return this.getToken(PlSqlParser.LOCK, 0); +}; + +Sql_operationContext.prototype.READ = function() { + return this.getToken(PlSqlParser.READ, 0); +}; + +Sql_operationContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Sql_operationContext.prototype.SELECT = function() { + return this.getToken(PlSqlParser.SELECT, 0); +}; + +Sql_operationContext.prototype.UPDATE = function() { + return this.getToken(PlSqlParser.UPDATE, 0); +}; + +Sql_operationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSql_operation(this); + } +}; + +Sql_operationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSql_operation(this); + } +}; + +Sql_operationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSql_operation(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Sql_operationContext = Sql_operationContext; + +PlSqlParser.prototype.sql_operation = function() { + + var localctx = new Sql_operationContext(this, this._ctx, this.state); + this.enterRule(localctx, 366, PlSqlParser.RULE_sql_operation); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4054; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ALTER || _la===PlSqlParser.AUDIT || _la===PlSqlParser.COMMENT || _la===PlSqlParser.DELETE || _la===PlSqlParser.EXECUTE || _la===PlSqlParser.FLASHBACK || _la===PlSqlParser.GRANT || _la===PlSqlParser.INDEX || _la===PlSqlParser.INSERT || _la===PlSqlParser.LOCK || _la===PlSqlParser.READ || _la===PlSqlParser.RENAME || _la===PlSqlParser.SELECT || _la===PlSqlParser.UPDATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Auditing_on_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_auditing_on_clause; + return this; +} + +Auditing_on_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Auditing_on_clauseContext.prototype.constructor = Auditing_on_clauseContext; + +Auditing_on_clauseContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Auditing_on_clauseContext.prototype.object_name = function() { + return this.getTypedRuleContext(Object_nameContext,0); +}; + +Auditing_on_clauseContext.prototype.DIRECTORY = function() { + return this.getToken(PlSqlParser.DIRECTORY, 0); +}; + +Auditing_on_clauseContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Auditing_on_clauseContext.prototype.MINING = function() { + return this.getToken(PlSqlParser.MINING, 0); +}; + +Auditing_on_clauseContext.prototype.MODEL = function() { + return this.getToken(PlSqlParser.MODEL, 0); +}; + +Auditing_on_clauseContext.prototype.model_name = function() { + return this.getTypedRuleContext(Model_nameContext,0); +}; + +Auditing_on_clauseContext.prototype.SQL = function() { + return this.getToken(PlSqlParser.SQL, 0); +}; + +Auditing_on_clauseContext.prototype.TRANSLATION = function() { + return this.getToken(PlSqlParser.TRANSLATION, 0); +}; + +Auditing_on_clauseContext.prototype.PROFILE = function() { + return this.getToken(PlSqlParser.PROFILE, 0); +}; + +Auditing_on_clauseContext.prototype.profile_name = function() { + return this.getTypedRuleContext(Profile_nameContext,0); +}; + +Auditing_on_clauseContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Auditing_on_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAuditing_on_clause(this); + } +}; + +Auditing_on_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAuditing_on_clause(this); + } +}; + +Auditing_on_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAuditing_on_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Auditing_on_clauseContext = Auditing_on_clauseContext; + +PlSqlParser.prototype.auditing_on_clause = function() { + + var localctx = new Auditing_on_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 368, PlSqlParser.RULE_auditing_on_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4056; + this.match(PlSqlParser.ON); + this.state = 4069; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,376,this._ctx); + switch(la_) { + case 1: + this.state = 4057; + this.object_name(); + break; + + case 2: + this.state = 4058; + this.match(PlSqlParser.DIRECTORY); + this.state = 4059; + this.regular_id(); + break; + + case 3: + this.state = 4060; + this.match(PlSqlParser.MINING); + this.state = 4061; + this.match(PlSqlParser.MODEL); + this.state = 4062; + this.model_name(); + break; + + case 4: + this.state = 4063; + if (!( this.isVersion12())) { + throw new antlr4.error.FailedPredicateException(this, "this.isVersion12()"); + } + this.state = 4064; + this.match(PlSqlParser.SQL); + this.state = 4065; + this.match(PlSqlParser.TRANSLATION); + this.state = 4066; + this.match(PlSqlParser.PROFILE); + this.state = 4067; + this.profile_name(); + break; + + case 5: + this.state = 4068; + this.match(PlSqlParser.DEFAULT); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Model_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_model_name; + return this; +} + +Model_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Model_nameContext.prototype.constructor = Model_nameContext; + +Model_nameContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +Model_nameContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Model_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModel_name(this); + } +}; + +Model_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModel_name(this); + } +}; + +Model_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModel_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Model_nameContext = Model_nameContext; + +PlSqlParser.prototype.model_name = function() { + + var localctx = new Model_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 370, PlSqlParser.RULE_model_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4074; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,377,this._ctx); + if(la_===1) { + this.state = 4071; + this.id_expression(); + this.state = 4072; + this.match(PlSqlParser.PERIOD); + + } + this.state = 4076; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_name; + return this; +} + +Object_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_nameContext.prototype.constructor = Object_nameContext; + +Object_nameContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +Object_nameContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Object_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_name(this); + } +}; + +Object_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_name(this); + } +}; + +Object_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_nameContext = Object_nameContext; + +PlSqlParser.prototype.object_name = function() { + + var localctx = new Object_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 372, PlSqlParser.RULE_object_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4081; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,378,this._ctx); + if(la_===1) { + this.state = 4078; + this.id_expression(); + this.state = 4079; + this.match(PlSqlParser.PERIOD); + + } + this.state = 4083; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Profile_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_profile_name; + return this; +} + +Profile_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Profile_nameContext.prototype.constructor = Profile_nameContext; + +Profile_nameContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +Profile_nameContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Profile_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterProfile_name(this); + } +}; + +Profile_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitProfile_name(this); + } +}; + +Profile_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitProfile_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Profile_nameContext = Profile_nameContext; + +PlSqlParser.prototype.profile_name = function() { + + var localctx = new Profile_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 374, PlSqlParser.RULE_profile_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4088; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,379,this._ctx); + if(la_===1) { + this.state = 4085; + this.id_expression(); + this.state = 4086; + this.match(PlSqlParser.PERIOD); + + } + this.state = 4090; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Sql_statement_shortcutContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_sql_statement_shortcut; + return this; +} + +Sql_statement_shortcutContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Sql_statement_shortcutContext.prototype.constructor = Sql_statement_shortcutContext; + +Sql_statement_shortcutContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Sql_statement_shortcutContext.prototype.SYSTEM = function() { + return this.getToken(PlSqlParser.SYSTEM, 0); +}; + +Sql_statement_shortcutContext.prototype.CLUSTER = function() { + return this.getToken(PlSqlParser.CLUSTER, 0); +}; + +Sql_statement_shortcutContext.prototype.CONTEXT = function() { + return this.getToken(PlSqlParser.CONTEXT, 0); +}; + +Sql_statement_shortcutContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Sql_statement_shortcutContext.prototype.LINK = function() { + return this.getToken(PlSqlParser.LINK, 0); +}; + +Sql_statement_shortcutContext.prototype.DIMENSION = function() { + return this.getToken(PlSqlParser.DIMENSION, 0); +}; + +Sql_statement_shortcutContext.prototype.DIRECTORY = function() { + return this.getToken(PlSqlParser.DIRECTORY, 0); +}; + +Sql_statement_shortcutContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Sql_statement_shortcutContext.prototype.MATERIALIZED = function() { + return this.getToken(PlSqlParser.MATERIALIZED, 0); +}; + +Sql_statement_shortcutContext.prototype.VIEW = function() { + return this.getToken(PlSqlParser.VIEW, 0); +}; + +Sql_statement_shortcutContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Sql_statement_shortcutContext.prototype.EXISTS = function() { + return this.getToken(PlSqlParser.EXISTS, 0); +}; + +Sql_statement_shortcutContext.prototype.OUTLINE = function() { + return this.getToken(PlSqlParser.OUTLINE, 0); +}; + +Sql_statement_shortcutContext.prototype.PLUGGABLE = function() { + return this.getToken(PlSqlParser.PLUGGABLE, 0); +}; + +Sql_statement_shortcutContext.prototype.PROCEDURE = function() { + return this.getToken(PlSqlParser.PROCEDURE, 0); +}; + +Sql_statement_shortcutContext.prototype.PROFILE = function() { + return this.getToken(PlSqlParser.PROFILE, 0); +}; + +Sql_statement_shortcutContext.prototype.PUBLIC = function() { + return this.getToken(PlSqlParser.PUBLIC, 0); +}; + +Sql_statement_shortcutContext.prototype.SYNONYM = function() { + return this.getToken(PlSqlParser.SYNONYM, 0); +}; + +Sql_statement_shortcutContext.prototype.ROLE = function() { + return this.getToken(PlSqlParser.ROLE, 0); +}; + +Sql_statement_shortcutContext.prototype.ROLLBACK = function() { + return this.getToken(PlSqlParser.ROLLBACK, 0); +}; + +Sql_statement_shortcutContext.prototype.SEGMENT = function() { + return this.getToken(PlSqlParser.SEGMENT, 0); +}; + +Sql_statement_shortcutContext.prototype.SEQUENCE = function() { + return this.getToken(PlSqlParser.SEQUENCE, 0); +}; + +Sql_statement_shortcutContext.prototype.SESSION = function() { + return this.getToken(PlSqlParser.SESSION, 0); +}; + +Sql_statement_shortcutContext.prototype.AUDIT = function() { + return this.getToken(PlSqlParser.AUDIT, 0); +}; + +Sql_statement_shortcutContext.prototype.GRANT = function() { + return this.getToken(PlSqlParser.GRANT, 0); +}; + +Sql_statement_shortcutContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Sql_statement_shortcutContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Sql_statement_shortcutContext.prototype.TRIGGER = function() { + return this.getToken(PlSqlParser.TRIGGER, 0); +}; + +Sql_statement_shortcutContext.prototype.TYPE = function() { + return this.getToken(PlSqlParser.TYPE, 0); +}; + +Sql_statement_shortcutContext.prototype.USER = function() { + return this.getToken(PlSqlParser.USER, 0); +}; + +Sql_statement_shortcutContext.prototype.COMMENT = function() { + return this.getToken(PlSqlParser.COMMENT, 0); +}; + +Sql_statement_shortcutContext.prototype.DELETE = function() { + return this.getToken(PlSqlParser.DELETE, 0); +}; + +Sql_statement_shortcutContext.prototype.EXECUTE = function() { + return this.getToken(PlSqlParser.EXECUTE, 0); +}; + +Sql_statement_shortcutContext.prototype.INSERT = function() { + return this.getToken(PlSqlParser.INSERT, 0); +}; + +Sql_statement_shortcutContext.prototype.LOCK = function() { + return this.getToken(PlSqlParser.LOCK, 0); +}; + +Sql_statement_shortcutContext.prototype.SELECT = function() { + return this.getToken(PlSqlParser.SELECT, 0); +}; + +Sql_statement_shortcutContext.prototype.UPDATE = function() { + return this.getToken(PlSqlParser.UPDATE, 0); +}; + +Sql_statement_shortcutContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSql_statement_shortcut(this); + } +}; + +Sql_statement_shortcutContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSql_statement_shortcut(this); + } +}; + +Sql_statement_shortcutContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSql_statement_shortcut(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Sql_statement_shortcutContext = Sql_statement_shortcutContext; + +PlSqlParser.prototype.sql_statement_shortcut = function() { + + var localctx = new Sql_statement_shortcutContext(this, this._ctx, this.state); + this.enterRule(localctx, 376, PlSqlParser.RULE_sql_statement_shortcut); + try { + this.state = 4162; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,380,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 4092; + this.match(PlSqlParser.ALTER); + this.state = 4093; + this.match(PlSqlParser.SYSTEM); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 4094; + this.match(PlSqlParser.CLUSTER); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 4095; + this.match(PlSqlParser.CONTEXT); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 4096; + this.match(PlSqlParser.DATABASE); + this.state = 4097; + this.match(PlSqlParser.LINK); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 4098; + this.match(PlSqlParser.DIMENSION); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 4099; + this.match(PlSqlParser.DIRECTORY); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 4100; + this.match(PlSqlParser.INDEX); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 4101; + this.match(PlSqlParser.MATERIALIZED); + this.state = 4102; + this.match(PlSqlParser.VIEW); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 4103; + this.match(PlSqlParser.NOT); + this.state = 4104; + this.match(PlSqlParser.EXISTS); + break; + + case 10: + this.enterOuterAlt(localctx, 10); + this.state = 4105; + this.match(PlSqlParser.OUTLINE); + break; + + case 11: + this.enterOuterAlt(localctx, 11); + this.state = 4106; + if (!( this.isVersion12())) { + throw new antlr4.error.FailedPredicateException(this, "this.isVersion12()"); + } + this.state = 4107; + this.match(PlSqlParser.PLUGGABLE); + this.state = 4108; + this.match(PlSqlParser.DATABASE); + break; + + case 12: + this.enterOuterAlt(localctx, 12); + this.state = 4109; + this.match(PlSqlParser.PROCEDURE); + break; + + case 13: + this.enterOuterAlt(localctx, 13); + this.state = 4110; + this.match(PlSqlParser.PROFILE); + break; + + case 14: + this.enterOuterAlt(localctx, 14); + this.state = 4111; + this.match(PlSqlParser.PUBLIC); + this.state = 4112; + this.match(PlSqlParser.DATABASE); + this.state = 4113; + this.match(PlSqlParser.LINK); + break; + + case 15: + this.enterOuterAlt(localctx, 15); + this.state = 4114; + this.match(PlSqlParser.PUBLIC); + this.state = 4115; + this.match(PlSqlParser.SYNONYM); + break; + + case 16: + this.enterOuterAlt(localctx, 16); + this.state = 4116; + this.match(PlSqlParser.ROLE); + break; + + case 17: + this.enterOuterAlt(localctx, 17); + this.state = 4117; + this.match(PlSqlParser.ROLLBACK); + this.state = 4118; + this.match(PlSqlParser.SEGMENT); + break; + + case 18: + this.enterOuterAlt(localctx, 18); + this.state = 4119; + this.match(PlSqlParser.SEQUENCE); + break; + + case 19: + this.enterOuterAlt(localctx, 19); + this.state = 4120; + this.match(PlSqlParser.SESSION); + break; + + case 20: + this.enterOuterAlt(localctx, 20); + this.state = 4121; + this.match(PlSqlParser.SYNONYM); + break; + + case 21: + this.enterOuterAlt(localctx, 21); + this.state = 4122; + this.match(PlSqlParser.SYSTEM); + this.state = 4123; + this.match(PlSqlParser.AUDIT); + break; + + case 22: + this.enterOuterAlt(localctx, 22); + this.state = 4124; + this.match(PlSqlParser.SYSTEM); + this.state = 4125; + this.match(PlSqlParser.GRANT); + break; + + case 23: + this.enterOuterAlt(localctx, 23); + this.state = 4126; + this.match(PlSqlParser.TABLE); + break; + + case 24: + this.enterOuterAlt(localctx, 24); + this.state = 4127; + this.match(PlSqlParser.TABLESPACE); + break; + + case 25: + this.enterOuterAlt(localctx, 25); + this.state = 4128; + this.match(PlSqlParser.TRIGGER); + break; + + case 26: + this.enterOuterAlt(localctx, 26); + this.state = 4129; + this.match(PlSqlParser.TYPE); + break; + + case 27: + this.enterOuterAlt(localctx, 27); + this.state = 4130; + this.match(PlSqlParser.USER); + break; + + case 28: + this.enterOuterAlt(localctx, 28); + this.state = 4131; + this.match(PlSqlParser.VIEW); + break; + + case 29: + this.enterOuterAlt(localctx, 29); + this.state = 4132; + this.match(PlSqlParser.ALTER); + this.state = 4133; + this.match(PlSqlParser.SEQUENCE); + break; + + case 30: + this.enterOuterAlt(localctx, 30); + this.state = 4134; + this.match(PlSqlParser.ALTER); + this.state = 4135; + this.match(PlSqlParser.TABLE); + break; + + case 31: + this.enterOuterAlt(localctx, 31); + this.state = 4136; + this.match(PlSqlParser.COMMENT); + this.state = 4137; + this.match(PlSqlParser.TABLE); + break; + + case 32: + this.enterOuterAlt(localctx, 32); + this.state = 4138; + this.match(PlSqlParser.DELETE); + this.state = 4139; + this.match(PlSqlParser.TABLE); + break; + + case 33: + this.enterOuterAlt(localctx, 33); + this.state = 4140; + this.match(PlSqlParser.EXECUTE); + this.state = 4141; + this.match(PlSqlParser.PROCEDURE); + break; + + case 34: + this.enterOuterAlt(localctx, 34); + this.state = 4142; + this.match(PlSqlParser.GRANT); + this.state = 4143; + this.match(PlSqlParser.DIRECTORY); + break; + + case 35: + this.enterOuterAlt(localctx, 35); + this.state = 4144; + this.match(PlSqlParser.GRANT); + this.state = 4145; + this.match(PlSqlParser.PROCEDURE); + break; + + case 36: + this.enterOuterAlt(localctx, 36); + this.state = 4146; + this.match(PlSqlParser.GRANT); + this.state = 4147; + this.match(PlSqlParser.SEQUENCE); + break; + + case 37: + this.enterOuterAlt(localctx, 37); + this.state = 4148; + this.match(PlSqlParser.GRANT); + this.state = 4149; + this.match(PlSqlParser.TABLE); + break; + + case 38: + this.enterOuterAlt(localctx, 38); + this.state = 4150; + this.match(PlSqlParser.GRANT); + this.state = 4151; + this.match(PlSqlParser.TYPE); + break; + + case 39: + this.enterOuterAlt(localctx, 39); + this.state = 4152; + this.match(PlSqlParser.INSERT); + this.state = 4153; + this.match(PlSqlParser.TABLE); + break; + + case 40: + this.enterOuterAlt(localctx, 40); + this.state = 4154; + this.match(PlSqlParser.LOCK); + this.state = 4155; + this.match(PlSqlParser.TABLE); + break; + + case 41: + this.enterOuterAlt(localctx, 41); + this.state = 4156; + this.match(PlSqlParser.SELECT); + this.state = 4157; + this.match(PlSqlParser.SEQUENCE); + break; + + case 42: + this.enterOuterAlt(localctx, 42); + this.state = 4158; + this.match(PlSqlParser.SELECT); + this.state = 4159; + this.match(PlSqlParser.TABLE); + break; + + case 43: + this.enterOuterAlt(localctx, 43); + this.state = 4160; + this.match(PlSqlParser.UPDATE); + this.state = 4161; + this.match(PlSqlParser.TABLE); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_indexContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_index; + return this; +} + +Drop_indexContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_indexContext.prototype.constructor = Drop_indexContext; + +Drop_indexContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_indexContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Drop_indexContext.prototype.index_name = function() { + return this.getTypedRuleContext(Index_nameContext,0); +}; + +Drop_indexContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_indexContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_index(this); + } +}; + +Drop_indexContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_index(this); + } +}; + +Drop_indexContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_index(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_indexContext = Drop_indexContext; + +PlSqlParser.prototype.drop_index = function() { + + var localctx = new Drop_indexContext(this, this._ctx, this.state); + this.enterRule(localctx, 378, PlSqlParser.RULE_drop_index); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4164; + this.match(PlSqlParser.DROP); + this.state = 4165; + this.match(PlSqlParser.INDEX); + this.state = 4166; + this.index_name(); + this.state = 4167; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Rename_objectContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_rename_object; + return this; +} + +Rename_objectContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Rename_objectContext.prototype.constructor = Rename_objectContext; + +Rename_objectContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Rename_objectContext.prototype.object_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Object_nameContext); + } else { + return this.getTypedRuleContext(Object_nameContext,i); + } +}; + +Rename_objectContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Rename_objectContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Rename_objectContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRename_object(this); + } +}; + +Rename_objectContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRename_object(this); + } +}; + +Rename_objectContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRename_object(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Rename_objectContext = Rename_objectContext; + +PlSqlParser.prototype.rename_object = function() { + + var localctx = new Rename_objectContext(this, this._ctx, this.state); + this.enterRule(localctx, 380, PlSqlParser.RULE_rename_object); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4169; + this.match(PlSqlParser.RENAME); + this.state = 4170; + this.object_name(); + this.state = 4171; + this.match(PlSqlParser.TO); + this.state = 4172; + this.object_name(); + this.state = 4173; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Grant_statementContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_grant_statement; + return this; +} + +Grant_statementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Grant_statementContext.prototype.constructor = Grant_statementContext; + +Grant_statementContext.prototype.GRANT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.GRANT); + } else { + return this.getToken(PlSqlParser.GRANT, i); + } +}; + + +Grant_statementContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Grant_statementContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Grant_statementContext.prototype.grantee_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Grantee_nameContext); + } else { + return this.getTypedRuleContext(Grantee_nameContext,i); + } +}; + +Grant_statementContext.prototype.PUBLIC = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PUBLIC); + } else { + return this.getToken(PlSqlParser.PUBLIC, i); + } +}; + + +Grant_statementContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Grant_statementContext.prototype.grant_object_name = function() { + return this.getTypedRuleContext(Grant_object_nameContext,0); +}; + +Grant_statementContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Grant_statementContext.prototype.WITH = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.WITH); + } else { + return this.getToken(PlSqlParser.WITH, i); + } +}; + + +Grant_statementContext.prototype.OPTION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.OPTION); + } else { + return this.getToken(PlSqlParser.OPTION, i); + } +}; + + +Grant_statementContext.prototype.HIERARCHY = function() { + return this.getToken(PlSqlParser.HIERARCHY, 0); +}; + +Grant_statementContext.prototype.container_clause = function() { + return this.getTypedRuleContext(Container_clauseContext,0); +}; + +Grant_statementContext.prototype.ADMIN = function() { + return this.getToken(PlSqlParser.ADMIN, 0); +}; + +Grant_statementContext.prototype.DELEGATE = function() { + return this.getToken(PlSqlParser.DELEGATE, 0); +}; + +Grant_statementContext.prototype.role_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Role_nameContext); + } else { + return this.getTypedRuleContext(Role_nameContext,i); + } +}; + +Grant_statementContext.prototype.system_privilege = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(System_privilegeContext); + } else { + return this.getTypedRuleContext(System_privilegeContext,i); + } +}; + +Grant_statementContext.prototype.object_privilege = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Object_privilegeContext); + } else { + return this.getTypedRuleContext(Object_privilegeContext,i); + } +}; + +Grant_statementContext.prototype.paren_column_list = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Paren_column_listContext); + } else { + return this.getTypedRuleContext(Paren_column_listContext,i); + } +}; + +Grant_statementContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterGrant_statement(this); + } +}; + +Grant_statementContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitGrant_statement(this); + } +}; + +Grant_statementContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitGrant_statement(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Grant_statementContext = Grant_statementContext; + +PlSqlParser.prototype.grant_statement = function() { + + var localctx = new Grant_statementContext(this, this._ctx, this.state); + this.enterRule(localctx, 382, PlSqlParser.RULE_grant_statement); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4175; + this.match(PlSqlParser.GRANT); + this.state = 4187; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4177; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 4176; + this.match(PlSqlParser.COMMA); + } + + this.state = 4185; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,383,this._ctx); + switch(la_) { + case 1: + this.state = 4179; + this.role_name(); + break; + + case 2: + this.state = 4180; + this.system_privilege(); + break; + + case 3: + this.state = 4181; + this.object_privilege(); + this.state = 4183; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 4182; + this.paren_column_list(); + } + + break; + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4189; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,384, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 4193; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ON) { + this.state = 4191; + this.match(PlSqlParser.ON); + this.state = 4192; + this.grant_object_name(); + } + + this.state = 4195; + this.match(PlSqlParser.TO); + this.state = 4198; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.DELIMITED_ID: + case PlSqlParser.REGULAR_ID: + this.state = 4196; + this.grantee_name(); + break; + case PlSqlParser.PUBLIC: + this.state = 4197; + this.match(PlSqlParser.PUBLIC); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4207; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4200; + this.match(PlSqlParser.COMMA); + this.state = 4203; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.DELIMITED_ID: + case PlSqlParser.REGULAR_ID: + this.state = 4201; + this.grantee_name(); + break; + case PlSqlParser.PUBLIC: + this.state = 4202; + this.match(PlSqlParser.PUBLIC); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4209; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4213; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,389,this._ctx); + if(la_===1) { + this.state = 4210; + this.match(PlSqlParser.WITH); + this.state = 4211; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ADMIN || _la===PlSqlParser.DELEGATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4212; + this.match(PlSqlParser.OPTION); + + } + this.state = 4218; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,390,this._ctx); + if(la_===1) { + this.state = 4215; + this.match(PlSqlParser.WITH); + this.state = 4216; + this.match(PlSqlParser.HIERARCHY); + this.state = 4217; + this.match(PlSqlParser.OPTION); + + } + this.state = 4223; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.WITH) { + this.state = 4220; + this.match(PlSqlParser.WITH); + this.state = 4221; + this.match(PlSqlParser.GRANT); + this.state = 4222; + this.match(PlSqlParser.OPTION); + } + + this.state = 4226; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CONTAINER) { + this.state = 4225; + this.container_clause(); + } + + this.state = 4228; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Container_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_container_clause; + return this; +} + +Container_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Container_clauseContext.prototype.constructor = Container_clauseContext; + +Container_clauseContext.prototype.CONTAINER = function() { + return this.getToken(PlSqlParser.CONTAINER, 0); +}; + +Container_clauseContext.prototype.EQUALS_OP = function() { + return this.getToken(PlSqlParser.EQUALS_OP, 0); +}; + +Container_clauseContext.prototype.CURRENT = function() { + return this.getToken(PlSqlParser.CURRENT, 0); +}; + +Container_clauseContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Container_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterContainer_clause(this); + } +}; + +Container_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitContainer_clause(this); + } +}; + +Container_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitContainer_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Container_clauseContext = Container_clauseContext; + +PlSqlParser.prototype.container_clause = function() { + + var localctx = new Container_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 384, PlSqlParser.RULE_container_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4230; + this.match(PlSqlParser.CONTAINER); + this.state = 4231; + this.match(PlSqlParser.EQUALS_OP); + this.state = 4232; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ALL || _la===PlSqlParser.CURRENT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_directoryContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_directory; + return this; +} + +Create_directoryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_directoryContext.prototype.constructor = Create_directoryContext; + +Create_directoryContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_directoryContext.prototype.DIRECTORY = function() { + return this.getToken(PlSqlParser.DIRECTORY, 0); +}; + +Create_directoryContext.prototype.directory_name = function() { + return this.getTypedRuleContext(Directory_nameContext,0); +}; + +Create_directoryContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_directoryContext.prototype.directory_path = function() { + return this.getTypedRuleContext(Directory_pathContext,0); +}; + +Create_directoryContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_directoryContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_directoryContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_directoryContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_directory(this); + } +}; + +Create_directoryContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_directory(this); + } +}; + +Create_directoryContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_directory(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_directoryContext = Create_directoryContext; + +PlSqlParser.prototype.create_directory = function() { + + var localctx = new Create_directoryContext(this, this._ctx, this.state); + this.enterRule(localctx, 386, PlSqlParser.RULE_create_directory); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4234; + this.match(PlSqlParser.CREATE); + this.state = 4237; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 4235; + this.match(PlSqlParser.OR); + this.state = 4236; + this.match(PlSqlParser.REPLACE); + } + + this.state = 4239; + this.match(PlSqlParser.DIRECTORY); + this.state = 4240; + this.directory_name(); + this.state = 4241; + this.match(PlSqlParser.AS); + this.state = 4242; + this.directory_path(); + this.state = 4243; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Directory_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_directory_name; + return this; +} + +Directory_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Directory_nameContext.prototype.constructor = Directory_nameContext; + +Directory_nameContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Directory_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDirectory_name(this); + } +}; + +Directory_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDirectory_name(this); + } +}; + +Directory_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDirectory_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Directory_nameContext = Directory_nameContext; + +PlSqlParser.prototype.directory_name = function() { + + var localctx = new Directory_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 388, PlSqlParser.RULE_directory_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4245; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Directory_pathContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_directory_path; + return this; +} + +Directory_pathContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Directory_pathContext.prototype.constructor = Directory_pathContext; + +Directory_pathContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Directory_pathContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDirectory_path(this); + } +}; + +Directory_pathContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDirectory_path(this); + } +}; + +Directory_pathContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDirectory_path(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Directory_pathContext = Directory_pathContext; + +PlSqlParser.prototype.directory_path = function() { + + var localctx = new Directory_pathContext(this, this._ctx, this.state); + this.enterRule(localctx, 390, PlSqlParser.RULE_directory_path); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4247; + this.match(PlSqlParser.CHAR_STRING); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_libraryContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_library; + return this; +} + +Alter_libraryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_libraryContext.prototype.constructor = Alter_libraryContext; + +Alter_libraryContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_libraryContext.prototype.LIBRARY = function() { + return this.getToken(PlSqlParser.LIBRARY, 0); +}; + +Alter_libraryContext.prototype.library_name = function() { + return this.getTypedRuleContext(Library_nameContext,0); +}; + +Alter_libraryContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_libraryContext.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Alter_libraryContext.prototype.library_editionable = function() { + return this.getTypedRuleContext(Library_editionableContext,0); +}; + +Alter_libraryContext.prototype.library_debug = function() { + return this.getTypedRuleContext(Library_debugContext,0); +}; + +Alter_libraryContext.prototype.compiler_parameters_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Compiler_parameters_clauseContext); + } else { + return this.getTypedRuleContext(Compiler_parameters_clauseContext,i); + } +}; + +Alter_libraryContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Alter_libraryContext.prototype.SETTINGS = function() { + return this.getToken(PlSqlParser.SETTINGS, 0); +}; + +Alter_libraryContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_library(this); + } +}; + +Alter_libraryContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_library(this); + } +}; + +Alter_libraryContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_library(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_libraryContext = Alter_libraryContext; + +PlSqlParser.prototype.alter_library = function() { + + var localctx = new Alter_libraryContext(this, this._ctx, this.state); + this.enterRule(localctx, 392, PlSqlParser.RULE_alter_library); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4249; + this.match(PlSqlParser.ALTER); + this.state = 4250; + this.match(PlSqlParser.LIBRARY); + this.state = 4251; + this.library_name(); + this.state = 4267; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,397,this._ctx); + switch(la_) { + case 1: + this.state = 4252; + this.match(PlSqlParser.COMPILE); + this.state = 4254; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,394,this._ctx); + if(la_===1) { + this.state = 4253; + this.library_debug(); + + } + this.state = 4259; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,395,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4256; + this.compiler_parameters_clause(); + } + this.state = 4261; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,395,this._ctx); + } + + this.state = 4264; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 4262; + this.match(PlSqlParser.REUSE); + this.state = 4263; + this.match(PlSqlParser.SETTINGS); + } + + break; + + case 2: + this.state = 4266; + this.library_editionable(); + break; + + } + this.state = 4269; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Library_editionableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_library_editionable; + return this; +} + +Library_editionableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Library_editionableContext.prototype.constructor = Library_editionableContext; + +Library_editionableContext.prototype.EDITIONABLE = function() { + return this.getToken(PlSqlParser.EDITIONABLE, 0); +}; + +Library_editionableContext.prototype.NONEDITIONABLE = function() { + return this.getToken(PlSqlParser.NONEDITIONABLE, 0); +}; + +Library_editionableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLibrary_editionable(this); + } +}; + +Library_editionableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLibrary_editionable(this); + } +}; + +Library_editionableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLibrary_editionable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Library_editionableContext = Library_editionableContext; + +PlSqlParser.prototype.library_editionable = function() { + + var localctx = new Library_editionableContext(this, this._ctx, this.state); + this.enterRule(localctx, 394, PlSqlParser.RULE_library_editionable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4271; + if (!( this.isVersion12())) { + throw new antlr4.error.FailedPredicateException(this, "this.isVersion12()"); + } + this.state = 4272; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.EDITIONABLE || _la===PlSqlParser.NONEDITIONABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Library_debugContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_library_debug; + return this; +} + +Library_debugContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Library_debugContext.prototype.constructor = Library_debugContext; + +Library_debugContext.prototype.DEBUG = function() { + return this.getToken(PlSqlParser.DEBUG, 0); +}; + +Library_debugContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLibrary_debug(this); + } +}; + +Library_debugContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLibrary_debug(this); + } +}; + +Library_debugContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLibrary_debug(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Library_debugContext = Library_debugContext; + +PlSqlParser.prototype.library_debug = function() { + + var localctx = new Library_debugContext(this, this._ctx, this.state); + this.enterRule(localctx, 396, PlSqlParser.RULE_library_debug); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4274; + if (!( this.isVersion12())) { + throw new antlr4.error.FailedPredicateException(this, "this.isVersion12()"); + } + this.state = 4275; + this.match(PlSqlParser.DEBUG); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Compiler_parameters_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_compiler_parameters_clause; + return this; +} + +Compiler_parameters_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Compiler_parameters_clauseContext.prototype.constructor = Compiler_parameters_clauseContext; + +Compiler_parameters_clauseContext.prototype.parameter_name = function() { + return this.getTypedRuleContext(Parameter_nameContext,0); +}; + +Compiler_parameters_clauseContext.prototype.EQUALS_OP = function() { + return this.getToken(PlSqlParser.EQUALS_OP, 0); +}; + +Compiler_parameters_clauseContext.prototype.parameter_value = function() { + return this.getTypedRuleContext(Parameter_valueContext,0); +}; + +Compiler_parameters_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCompiler_parameters_clause(this); + } +}; + +Compiler_parameters_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCompiler_parameters_clause(this); + } +}; + +Compiler_parameters_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCompiler_parameters_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Compiler_parameters_clauseContext = Compiler_parameters_clauseContext; + +PlSqlParser.prototype.compiler_parameters_clause = function() { + + var localctx = new Compiler_parameters_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 398, PlSqlParser.RULE_compiler_parameters_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4277; + this.parameter_name(); + this.state = 4278; + this.match(PlSqlParser.EQUALS_OP); + this.state = 4279; + this.parameter_value(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Parameter_valueContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_parameter_value; + return this; +} + +Parameter_valueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Parameter_valueContext.prototype.constructor = Parameter_valueContext; + +Parameter_valueContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Parameter_valueContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterParameter_value(this); + } +}; + +Parameter_valueContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitParameter_value(this); + } +}; + +Parameter_valueContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitParameter_value(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Parameter_valueContext = Parameter_valueContext; + +PlSqlParser.prototype.parameter_value = function() { + + var localctx = new Parameter_valueContext(this, this._ctx, this.state); + this.enterRule(localctx, 400, PlSqlParser.RULE_parameter_value); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4281; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Library_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_library_name; + return this; +} + +Library_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Library_nameContext.prototype.constructor = Library_nameContext; + +Library_nameContext.prototype.regular_id = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Regular_idContext); + } else { + return this.getTypedRuleContext(Regular_idContext,i); + } +}; + +Library_nameContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Library_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLibrary_name(this); + } +}; + +Library_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLibrary_name(this); + } +}; + +Library_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLibrary_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Library_nameContext = Library_nameContext; + +PlSqlParser.prototype.library_name = function() { + + var localctx = new Library_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 402, PlSqlParser.RULE_library_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4286; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,398,this._ctx); + if(la_===1) { + this.state = 4283; + this.regular_id(); + this.state = 4284; + this.match(PlSqlParser.PERIOD); + + } + this.state = 4288; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_viewContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_view; + return this; +} + +Alter_viewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_viewContext.prototype.constructor = Alter_viewContext; + +Alter_viewContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_viewContext.prototype.VIEW = function() { + return this.getToken(PlSqlParser.VIEW, 0); +}; + +Alter_viewContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Alter_viewContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_viewContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Alter_viewContext.prototype.out_of_line_constraint = function() { + return this.getTypedRuleContext(Out_of_line_constraintContext,0); +}; + +Alter_viewContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Alter_viewContext.prototype.CONSTRAINT = function() { + return this.getToken(PlSqlParser.CONSTRAINT, 0); +}; + +Alter_viewContext.prototype.constraint_name = function() { + return this.getTypedRuleContext(Constraint_nameContext,0); +}; + +Alter_viewContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Alter_viewContext.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Alter_viewContext.prototype.READ = function() { + return this.getToken(PlSqlParser.READ, 0); +}; + +Alter_viewContext.prototype.RELY = function() { + return this.getToken(PlSqlParser.RELY, 0); +}; + +Alter_viewContext.prototype.NORELY = function() { + return this.getToken(PlSqlParser.NORELY, 0); +}; + +Alter_viewContext.prototype.ONLY = function() { + return this.getToken(PlSqlParser.ONLY, 0); +}; + +Alter_viewContext.prototype.WRITE = function() { + return this.getToken(PlSqlParser.WRITE, 0); +}; + +Alter_viewContext.prototype.PRIMARY = function() { + return this.getToken(PlSqlParser.PRIMARY, 0); +}; + +Alter_viewContext.prototype.KEY = function() { + return this.getToken(PlSqlParser.KEY, 0); +}; + +Alter_viewContext.prototype.UNIQUE = function() { + return this.getToken(PlSqlParser.UNIQUE, 0); +}; + +Alter_viewContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Alter_viewContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Alter_viewContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Alter_viewContext.prototype.alter_view_editionable = function() { + return this.getTypedRuleContext(Alter_view_editionableContext,0); +}; + +Alter_viewContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Alter_viewContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_view(this); + } +}; + +Alter_viewContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_view(this); + } +}; + +Alter_viewContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_view(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_viewContext = Alter_viewContext; + +PlSqlParser.prototype.alter_view = function() { + + var localctx = new Alter_viewContext(this, this._ctx, this.state); + this.enterRule(localctx, 404, PlSqlParser.RULE_alter_view); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4290; + this.match(PlSqlParser.ALTER); + this.state = 4291; + this.match(PlSqlParser.VIEW); + this.state = 4292; + this.tableview_name(); + this.state = 4325; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,402,this._ctx); + switch(la_) { + case 1: + this.state = 4293; + this.match(PlSqlParser.ADD); + this.state = 4294; + this.out_of_line_constraint(); + break; + + case 2: + this.state = 4295; + this.match(PlSqlParser.MODIFY); + this.state = 4296; + this.match(PlSqlParser.CONSTRAINT); + this.state = 4297; + this.constraint_name(); + this.state = 4298; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NORELY || _la===PlSqlParser.RELY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 3: + this.state = 4300; + this.match(PlSqlParser.DROP); + this.state = 4317; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CONSTRAINT: + this.state = 4301; + this.match(PlSqlParser.CONSTRAINT); + this.state = 4302; + this.constraint_name(); + break; + case PlSqlParser.PRIMARY: + this.state = 4303; + this.match(PlSqlParser.PRIMARY); + this.state = 4304; + this.match(PlSqlParser.KEY); + break; + case PlSqlParser.UNIQUE: + this.state = 4305; + this.match(PlSqlParser.UNIQUE); + this.state = 4306; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4307; + this.column_name(); + this.state = 4312; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4308; + this.match(PlSqlParser.COMMA); + this.state = 4309; + this.column_name(); + this.state = 4314; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4315; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 4: + this.state = 4319; + this.match(PlSqlParser.COMPILE); + break; + + case 5: + this.state = 4320; + this.match(PlSqlParser.READ); + this.state = 4321; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ONLY || _la===PlSqlParser.WRITE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 6: + this.state = 4323; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,401,this._ctx); + if(la_===1) { + this.state = 4322; + this.alter_view_editionable(); + + } + break; + + } + this.state = 4327; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_view_editionableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_view_editionable; + return this; +} + +Alter_view_editionableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_view_editionableContext.prototype.constructor = Alter_view_editionableContext; + +Alter_view_editionableContext.prototype.EDITIONABLE = function() { + return this.getToken(PlSqlParser.EDITIONABLE, 0); +}; + +Alter_view_editionableContext.prototype.NONEDITIONABLE = function() { + return this.getToken(PlSqlParser.NONEDITIONABLE, 0); +}; + +Alter_view_editionableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_view_editionable(this); + } +}; + +Alter_view_editionableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_view_editionable(this); + } +}; + +Alter_view_editionableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_view_editionable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_view_editionableContext = Alter_view_editionableContext; + +PlSqlParser.prototype.alter_view_editionable = function() { + + var localctx = new Alter_view_editionableContext(this, this._ctx, this.state); + this.enterRule(localctx, 406, PlSqlParser.RULE_alter_view_editionable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4329; + if (!( this.isVersion12())) { + throw new antlr4.error.FailedPredicateException(this, "this.isVersion12()"); + } + this.state = 4330; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.EDITIONABLE || _la===PlSqlParser.NONEDITIONABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_viewContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_view; + return this; +} + +Create_viewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_viewContext.prototype.constructor = Create_viewContext; + +Create_viewContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_viewContext.prototype.VIEW = function() { + return this.getToken(PlSqlParser.VIEW, 0); +}; + +Create_viewContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Create_viewContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_viewContext.prototype.select_only_statement = function() { + return this.getTypedRuleContext(Select_only_statementContext,0); +}; + +Create_viewContext.prototype.OR = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.OR); + } else { + return this.getToken(PlSqlParser.OR, i); + } +}; + + +Create_viewContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_viewContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Create_viewContext.prototype.EDITIONABLE = function() { + return this.getToken(PlSqlParser.EDITIONABLE, 0); +}; + +Create_viewContext.prototype.EDITIONING = function() { + return this.getToken(PlSqlParser.EDITIONING, 0); +}; + +Create_viewContext.prototype.view_options = function() { + return this.getTypedRuleContext(View_optionsContext,0); +}; + +Create_viewContext.prototype.subquery_restriction_clause = function() { + return this.getTypedRuleContext(Subquery_restriction_clauseContext,0); +}; + +Create_viewContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_view(this); + } +}; + +Create_viewContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_view(this); + } +}; + +Create_viewContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_view(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_viewContext = Create_viewContext; + +PlSqlParser.prototype.create_view = function() { + + var localctx = new Create_viewContext(this, this._ctx, this.state); + this.enterRule(localctx, 408, PlSqlParser.RULE_create_view); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4332; + this.match(PlSqlParser.CREATE); + this.state = 4335; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,403,this._ctx); + if(la_===1) { + this.state = 4333; + this.match(PlSqlParser.OR); + this.state = 4334; + this.match(PlSqlParser.REPLACE); + + } + this.state = 4341; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FORCE || _la===PlSqlParser.OR) { + this.state = 4338; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 4337; + this.match(PlSqlParser.OR); + } + + this.state = 4340; + this.match(PlSqlParser.FORCE); + } + + this.state = 4344; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EDITIONABLE) { + this.state = 4343; + this.match(PlSqlParser.EDITIONABLE); + } + + this.state = 4347; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EDITIONING) { + this.state = 4346; + this.match(PlSqlParser.EDITIONING); + } + + this.state = 4349; + this.match(PlSqlParser.VIEW); + this.state = 4350; + this.tableview_name(); + this.state = 4352; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OF || _la===PlSqlParser.LEFT_PAREN) { + this.state = 4351; + this.view_options(); + } + + this.state = 4354; + this.match(PlSqlParser.AS); + this.state = 4355; + this.select_only_statement(); + this.state = 4357; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,409,this._ctx); + if(la_===1) { + this.state = 4356; + this.subquery_restriction_clause(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function View_optionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_view_options; + return this; +} + +View_optionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +View_optionsContext.prototype.constructor = View_optionsContext; + +View_optionsContext.prototype.view_alias_constraint = function() { + return this.getTypedRuleContext(View_alias_constraintContext,0); +}; + +View_optionsContext.prototype.object_view_clause = function() { + return this.getTypedRuleContext(Object_view_clauseContext,0); +}; + +View_optionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterView_options(this); + } +}; + +View_optionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitView_options(this); + } +}; + +View_optionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitView_options(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.View_optionsContext = View_optionsContext; + +PlSqlParser.prototype.view_options = function() { + + var localctx = new View_optionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 410, PlSqlParser.RULE_view_options); + try { + this.state = 4361; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.enterOuterAlt(localctx, 1); + this.state = 4359; + this.view_alias_constraint(); + break; + case PlSqlParser.OF: + this.enterOuterAlt(localctx, 2); + this.state = 4360; + this.object_view_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function View_alias_constraintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_view_alias_constraint; + return this; +} + +View_alias_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +View_alias_constraintContext.prototype.constructor = View_alias_constraintContext; + +View_alias_constraintContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +View_alias_constraintContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +View_alias_constraintContext.prototype.table_alias = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Table_aliasContext); + } else { + return this.getTypedRuleContext(Table_aliasContext,i); + } +}; + +View_alias_constraintContext.prototype.out_of_line_constraint = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Out_of_line_constraintContext); + } else { + return this.getTypedRuleContext(Out_of_line_constraintContext,i); + } +}; + +View_alias_constraintContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +View_alias_constraintContext.prototype.inline_constraint = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Inline_constraintContext); + } else { + return this.getTypedRuleContext(Inline_constraintContext,i); + } +}; + +View_alias_constraintContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterView_alias_constraint(this); + } +}; + +View_alias_constraintContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitView_alias_constraint(this); + } +}; + +View_alias_constraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitView_alias_constraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.View_alias_constraintContext = View_alias_constraintContext; + +PlSqlParser.prototype.view_alias_constraint = function() { + + var localctx = new View_alias_constraintContext(this, this._ctx, this.state); + this.enterRule(localctx, 412, PlSqlParser.RULE_view_alias_constraint); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4363; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4377; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 4365; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 4364; + this.match(PlSqlParser.COMMA); + } + + this.state = 4375; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,413,this._ctx); + switch(la_) { + case 1: + this.state = 4367; + this.table_alias(); + this.state = 4371; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,412,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 4368; + this.inline_constraint(); + } + this.state = 4373; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,412,this._ctx); + } + + break; + + case 2: + this.state = 4374; + this.out_of_line_constraint(); + break; + + } + this.state = 4379; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECK - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNIQUE - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.NATIONAL_CHAR_STRING_LIT - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.CHAR_STRING - 2211)) | (1 << (PlSqlParser.DELIMITED_ID - 2211)) | (1 << (PlSqlParser.COMMA - 2211)))) !== 0) || _la===PlSqlParser.INTRODUCER || _la===PlSqlParser.REGULAR_ID); + this.state = 4381; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_view_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_view_clause; + return this; +} + +Object_view_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_view_clauseContext.prototype.constructor = Object_view_clauseContext; + +Object_view_clauseContext.prototype.OF = function() { + return this.getToken(PlSqlParser.OF, 0); +}; + +Object_view_clauseContext.prototype.type_name = function() { + return this.getTypedRuleContext(Type_nameContext,0); +}; + +Object_view_clauseContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Object_view_clauseContext.prototype.OBJECT = function() { + return this.getToken(PlSqlParser.OBJECT, 0); +}; + +Object_view_clauseContext.prototype.UNDER = function() { + return this.getToken(PlSqlParser.UNDER, 0); +}; + +Object_view_clauseContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Object_view_clauseContext.prototype.IDENTIFIER = function() { + return this.getToken(PlSqlParser.IDENTIFIER, 0); +}; + +Object_view_clauseContext.prototype.ID = function() { + return this.getToken(PlSqlParser.ID, 0); +}; + +Object_view_clauseContext.prototype.OID = function() { + return this.getToken(PlSqlParser.OID, 0); +}; + +Object_view_clauseContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Object_view_clauseContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Object_view_clauseContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Object_view_clauseContext.prototype.REGULAR_ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.REGULAR_ID); + } else { + return this.getToken(PlSqlParser.REGULAR_ID, i); + } +}; + + +Object_view_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Object_view_clauseContext.prototype.out_of_line_constraint = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Out_of_line_constraintContext); + } else { + return this.getTypedRuleContext(Out_of_line_constraintContext,i); + } +}; + +Object_view_clauseContext.prototype.inline_constraint = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Inline_constraintContext); + } else { + return this.getTypedRuleContext(Inline_constraintContext,i); + } +}; + +Object_view_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_view_clause(this); + } +}; + +Object_view_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_view_clause(this); + } +}; + +Object_view_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_view_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_view_clauseContext = Object_view_clauseContext; + +PlSqlParser.prototype.object_view_clause = function() { + + var localctx = new Object_view_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 414, PlSqlParser.RULE_object_view_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4383; + this.match(PlSqlParser.OF); + this.state = 4384; + this.type_name(); + this.state = 4403; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.WITH: + this.state = 4385; + this.match(PlSqlParser.WITH); + this.state = 4386; + this.match(PlSqlParser.OBJECT); + this.state = 4387; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.IDENTIFIER || _la===PlSqlParser.ID || _la===PlSqlParser.OID)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4399; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DEFAULT: + this.state = 4388; + this.match(PlSqlParser.DEFAULT); + break; + case PlSqlParser.LEFT_PAREN: + this.state = 4389; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4390; + this.match(PlSqlParser.REGULAR_ID); + this.state = 4395; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4391; + this.match(PlSqlParser.COMMA); + this.state = 4392; + this.match(PlSqlParser.REGULAR_ID); + this.state = 4397; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4398; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case PlSqlParser.UNDER: + this.state = 4401; + this.match(PlSqlParser.UNDER); + this.state = 4402; + this.tableview_name(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4422; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.LEFT_PAREN) { + this.state = 4405; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4414; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 4407; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 4406; + this.match(PlSqlParser.COMMA); + } + + this.state = 4412; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHECK: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.FOREIGN: + case PlSqlParser.PRIMARY: + case PlSqlParser.UNIQUE: + this.state = 4409; + this.out_of_line_constraint(); + break; + case PlSqlParser.REGULAR_ID: + this.state = 4410; + this.match(PlSqlParser.REGULAR_ID); + this.state = 4411; + this.inline_constraint(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4416; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.CHECK || _la===PlSqlParser.CONSTRAINT || _la===PlSqlParser.FOREIGN || _la===PlSqlParser.PRIMARY || _la===PlSqlParser.UNIQUE || _la===PlSqlParser.COMMA || _la===PlSqlParser.REGULAR_ID); + this.state = 4418; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 4424; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Inline_constraintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_inline_constraint; + return this; +} + +Inline_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Inline_constraintContext.prototype.constructor = Inline_constraintContext; + +Inline_constraintContext.prototype.NULL_ = function() { + return this.getToken(PlSqlParser.NULL_, 0); +}; + +Inline_constraintContext.prototype.UNIQUE = function() { + return this.getToken(PlSqlParser.UNIQUE, 0); +}; + +Inline_constraintContext.prototype.PRIMARY = function() { + return this.getToken(PlSqlParser.PRIMARY, 0); +}; + +Inline_constraintContext.prototype.KEY = function() { + return this.getToken(PlSqlParser.KEY, 0); +}; + +Inline_constraintContext.prototype.references_clause = function() { + return this.getTypedRuleContext(References_clauseContext,0); +}; + +Inline_constraintContext.prototype.check_constraint = function() { + return this.getTypedRuleContext(Check_constraintContext,0); +}; + +Inline_constraintContext.prototype.CONSTRAINT = function() { + return this.getToken(PlSqlParser.CONSTRAINT, 0); +}; + +Inline_constraintContext.prototype.constraint_name = function() { + return this.getTypedRuleContext(Constraint_nameContext,0); +}; + +Inline_constraintContext.prototype.constraint_state = function() { + return this.getTypedRuleContext(Constraint_stateContext,0); +}; + +Inline_constraintContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Inline_constraintContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterInline_constraint(this); + } +}; + +Inline_constraintContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitInline_constraint(this); + } +}; + +Inline_constraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitInline_constraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Inline_constraintContext = Inline_constraintContext; + +PlSqlParser.prototype.inline_constraint = function() { + + var localctx = new Inline_constraintContext(this, this._ctx, this.state); + this.enterRule(localctx, 416, PlSqlParser.RULE_inline_constraint); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4427; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CONSTRAINT) { + this.state = 4425; + this.match(PlSqlParser.CONSTRAINT); + this.state = 4426; + this.constraint_name(); + } + + this.state = 4438; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.NOT: + case PlSqlParser.NULL_: + this.state = 4430; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 4429; + this.match(PlSqlParser.NOT); + } + + this.state = 4432; + this.match(PlSqlParser.NULL_); + break; + case PlSqlParser.UNIQUE: + this.state = 4433; + this.match(PlSqlParser.UNIQUE); + break; + case PlSqlParser.PRIMARY: + this.state = 4434; + this.match(PlSqlParser.PRIMARY); + this.state = 4435; + this.match(PlSqlParser.KEY); + break; + case PlSqlParser.REFERENCES: + this.state = 4436; + this.references_clause(); + break; + case PlSqlParser.CHECK: + this.state = 4437; + this.check_constraint(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4441; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,425,this._ctx); + if(la_===1) { + this.state = 4440; + this.constraint_state(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Inline_ref_constraintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_inline_ref_constraint; + return this; +} + +Inline_ref_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Inline_ref_constraintContext.prototype.constructor = Inline_ref_constraintContext; + +Inline_ref_constraintContext.prototype.SCOPE = function() { + return this.getToken(PlSqlParser.SCOPE, 0); +}; + +Inline_ref_constraintContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Inline_ref_constraintContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Inline_ref_constraintContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Inline_ref_constraintContext.prototype.ROWID = function() { + return this.getToken(PlSqlParser.ROWID, 0); +}; + +Inline_ref_constraintContext.prototype.references_clause = function() { + return this.getTypedRuleContext(References_clauseContext,0); +}; + +Inline_ref_constraintContext.prototype.CONSTRAINT = function() { + return this.getToken(PlSqlParser.CONSTRAINT, 0); +}; + +Inline_ref_constraintContext.prototype.constraint_name = function() { + return this.getTypedRuleContext(Constraint_nameContext,0); +}; + +Inline_ref_constraintContext.prototype.constraint_state = function() { + return this.getTypedRuleContext(Constraint_stateContext,0); +}; + +Inline_ref_constraintContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterInline_ref_constraint(this); + } +}; + +Inline_ref_constraintContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitInline_ref_constraint(this); + } +}; + +Inline_ref_constraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitInline_ref_constraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Inline_ref_constraintContext = Inline_ref_constraintContext; + +PlSqlParser.prototype.inline_ref_constraint = function() { + + var localctx = new Inline_ref_constraintContext(this, this._ctx, this.state); + this.enterRule(localctx, 418, PlSqlParser.RULE_inline_ref_constraint); + var _la = 0; // Token type + try { + this.state = 4456; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.SCOPE: + this.enterOuterAlt(localctx, 1); + this.state = 4443; + this.match(PlSqlParser.SCOPE); + this.state = 4444; + this.match(PlSqlParser.IS); + this.state = 4445; + this.tableview_name(); + break; + case PlSqlParser.WITH: + this.enterOuterAlt(localctx, 2); + this.state = 4446; + this.match(PlSqlParser.WITH); + this.state = 4447; + this.match(PlSqlParser.ROWID); + break; + case PlSqlParser.CONSTRAINT: + case PlSqlParser.REFERENCES: + this.enterOuterAlt(localctx, 3); + this.state = 4450; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CONSTRAINT) { + this.state = 4448; + this.match(PlSqlParser.CONSTRAINT); + this.state = 4449; + this.constraint_name(); + } + + this.state = 4452; + this.references_clause(); + this.state = 4454; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,427,this._ctx); + if(la_===1) { + this.state = 4453; + this.constraint_state(); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Out_of_line_ref_constraintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_out_of_line_ref_constraint; + this.ref_col_or_attr = null; // Regular_idContext + return this; +} + +Out_of_line_ref_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Out_of_line_ref_constraintContext.prototype.constructor = Out_of_line_ref_constraintContext; + +Out_of_line_ref_constraintContext.prototype.SCOPE = function() { + return this.getToken(PlSqlParser.SCOPE, 0); +}; + +Out_of_line_ref_constraintContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Out_of_line_ref_constraintContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Out_of_line_ref_constraintContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Out_of_line_ref_constraintContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Out_of_line_ref_constraintContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Out_of_line_ref_constraintContext.prototype.regular_id = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Regular_idContext); + } else { + return this.getTypedRuleContext(Regular_idContext,i); + } +}; + +Out_of_line_ref_constraintContext.prototype.REF = function() { + return this.getToken(PlSqlParser.REF, 0); +}; + +Out_of_line_ref_constraintContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Out_of_line_ref_constraintContext.prototype.ROWID = function() { + return this.getToken(PlSqlParser.ROWID, 0); +}; + +Out_of_line_ref_constraintContext.prototype.FOREIGN = function() { + return this.getToken(PlSqlParser.FOREIGN, 0); +}; + +Out_of_line_ref_constraintContext.prototype.KEY = function() { + return this.getToken(PlSqlParser.KEY, 0); +}; + +Out_of_line_ref_constraintContext.prototype.references_clause = function() { + return this.getTypedRuleContext(References_clauseContext,0); +}; + +Out_of_line_ref_constraintContext.prototype.CONSTRAINT = function() { + return this.getToken(PlSqlParser.CONSTRAINT, 0); +}; + +Out_of_line_ref_constraintContext.prototype.constraint_name = function() { + return this.getTypedRuleContext(Constraint_nameContext,0); +}; + +Out_of_line_ref_constraintContext.prototype.constraint_state = function() { + return this.getTypedRuleContext(Constraint_stateContext,0); +}; + +Out_of_line_ref_constraintContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Out_of_line_ref_constraintContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOut_of_line_ref_constraint(this); + } +}; + +Out_of_line_ref_constraintContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOut_of_line_ref_constraint(this); + } +}; + +Out_of_line_ref_constraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOut_of_line_ref_constraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Out_of_line_ref_constraintContext = Out_of_line_ref_constraintContext; + +PlSqlParser.prototype.out_of_line_ref_constraint = function() { + + var localctx = new Out_of_line_ref_constraintContext(this, this._ctx, this.state); + this.enterRule(localctx, 420, PlSqlParser.RULE_out_of_line_ref_constraint); + var _la = 0; // Token type + try { + this.state = 4493; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.SCOPE: + this.enterOuterAlt(localctx, 1); + this.state = 4458; + this.match(PlSqlParser.SCOPE); + this.state = 4459; + this.match(PlSqlParser.FOR); + this.state = 4460; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4461; + localctx.ref_col_or_attr = this.regular_id(); + this.state = 4462; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 4463; + this.match(PlSqlParser.IS); + this.state = 4464; + this.tableview_name(); + break; + case PlSqlParser.REF: + this.enterOuterAlt(localctx, 2); + this.state = 4466; + this.match(PlSqlParser.REF); + this.state = 4467; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4468; + localctx.ref_col_or_attr = this.regular_id(); + this.state = 4469; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 4470; + this.match(PlSqlParser.WITH); + this.state = 4471; + this.match(PlSqlParser.ROWID); + break; + case PlSqlParser.CONSTRAINT: + case PlSqlParser.FOREIGN: + this.enterOuterAlt(localctx, 3); + this.state = 4475; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CONSTRAINT) { + this.state = 4473; + this.match(PlSqlParser.CONSTRAINT); + this.state = 4474; + this.constraint_name(); + } + + this.state = 4477; + this.match(PlSqlParser.FOREIGN); + this.state = 4478; + this.match(PlSqlParser.KEY); + this.state = 4479; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4484; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 4481; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 4480; + this.match(PlSqlParser.COMMA); + } + + this.state = 4483; + localctx.ref_col_or_attr = this.regular_id(); + this.state = 4486; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.COMMA - 2211)))) !== 0) || _la===PlSqlParser.REGULAR_ID); + this.state = 4488; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 4489; + this.references_clause(); + this.state = 4491; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,432,this._ctx); + if(la_===1) { + this.state = 4490; + this.constraint_state(); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Out_of_line_constraintContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_out_of_line_constraint; + return this; +} + +Out_of_line_constraintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Out_of_line_constraintContext.prototype.constructor = Out_of_line_constraintContext; + +Out_of_line_constraintContext.prototype.constraint_state = function() { + return this.getTypedRuleContext(Constraint_stateContext,0); +}; + +Out_of_line_constraintContext.prototype.UNIQUE = function() { + return this.getToken(PlSqlParser.UNIQUE, 0); +}; + +Out_of_line_constraintContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Out_of_line_constraintContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Out_of_line_constraintContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Out_of_line_constraintContext.prototype.PRIMARY = function() { + return this.getToken(PlSqlParser.PRIMARY, 0); +}; + +Out_of_line_constraintContext.prototype.KEY = function() { + return this.getToken(PlSqlParser.KEY, 0); +}; + +Out_of_line_constraintContext.prototype.foreign_key_clause = function() { + return this.getTypedRuleContext(Foreign_key_clauseContext,0); +}; + +Out_of_line_constraintContext.prototype.CHECK = function() { + return this.getToken(PlSqlParser.CHECK, 0); +}; + +Out_of_line_constraintContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Out_of_line_constraintContext.prototype.CONSTRAINT = function() { + return this.getToken(PlSqlParser.CONSTRAINT, 0); +}; + +Out_of_line_constraintContext.prototype.constraint_name = function() { + return this.getTypedRuleContext(Constraint_nameContext,0); +}; + +Out_of_line_constraintContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Out_of_line_constraintContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOut_of_line_constraint(this); + } +}; + +Out_of_line_constraintContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOut_of_line_constraint(this); + } +}; + +Out_of_line_constraintContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOut_of_line_constraint(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Out_of_line_constraintContext = Out_of_line_constraintContext; + +PlSqlParser.prototype.out_of_line_constraint = function() { + + var localctx = new Out_of_line_constraintContext(this, this._ctx, this.state); + this.enterRule(localctx, 422, PlSqlParser.RULE_out_of_line_constraint); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4497; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CONSTRAINT) { + this.state = 4495; + this.match(PlSqlParser.CONSTRAINT); + this.state = 4496; + this.constraint_name(); + } + + this.state = 4530; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.UNIQUE: + this.state = 4499; + this.match(PlSqlParser.UNIQUE); + this.state = 4500; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4501; + this.column_name(); + this.state = 4506; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4502; + this.match(PlSqlParser.COMMA); + this.state = 4503; + this.column_name(); + this.state = 4508; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4509; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.PRIMARY: + this.state = 4511; + this.match(PlSqlParser.PRIMARY); + this.state = 4512; + this.match(PlSqlParser.KEY); + this.state = 4513; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4514; + this.column_name(); + this.state = 4519; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4515; + this.match(PlSqlParser.COMMA); + this.state = 4516; + this.column_name(); + this.state = 4521; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4522; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.FOREIGN: + this.state = 4524; + this.foreign_key_clause(); + break; + case PlSqlParser.CHECK: + this.state = 4525; + this.match(PlSqlParser.CHECK); + this.state = 4526; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4527; + this.expression(); + this.state = 4528; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4533; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,438,this._ctx); + if(la_===1) { + this.state = 4532; + this.constraint_state(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Constraint_stateContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_constraint_state; + return this; +} + +Constraint_stateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Constraint_stateContext.prototype.constructor = Constraint_stateContext; + +Constraint_stateContext.prototype.DEFERRABLE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFERRABLE); + } else { + return this.getToken(PlSqlParser.DEFERRABLE, i); + } +}; + + +Constraint_stateContext.prototype.INITIALLY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.INITIALLY); + } else { + return this.getToken(PlSqlParser.INITIALLY, i); + } +}; + + +Constraint_stateContext.prototype.using_index_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Using_index_clauseContext); + } else { + return this.getTypedRuleContext(Using_index_clauseContext,i); + } +}; + +Constraint_stateContext.prototype.IMMEDIATE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.IMMEDIATE); + } else { + return this.getToken(PlSqlParser.IMMEDIATE, i); + } +}; + + +Constraint_stateContext.prototype.DEFERRED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFERRED); + } else { + return this.getToken(PlSqlParser.DEFERRED, i); + } +}; + + +Constraint_stateContext.prototype.RELY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RELY); + } else { + return this.getToken(PlSqlParser.RELY, i); + } +}; + + +Constraint_stateContext.prototype.NORELY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NORELY); + } else { + return this.getToken(PlSqlParser.NORELY, i); + } +}; + + +Constraint_stateContext.prototype.ENABLE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ENABLE); + } else { + return this.getToken(PlSqlParser.ENABLE, i); + } +}; + + +Constraint_stateContext.prototype.DISABLE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DISABLE); + } else { + return this.getToken(PlSqlParser.DISABLE, i); + } +}; + + +Constraint_stateContext.prototype.VALIDATE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.VALIDATE); + } else { + return this.getToken(PlSqlParser.VALIDATE, i); + } +}; + + +Constraint_stateContext.prototype.NOVALIDATE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NOVALIDATE); + } else { + return this.getToken(PlSqlParser.NOVALIDATE, i); + } +}; + + +Constraint_stateContext.prototype.NOT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NOT); + } else { + return this.getToken(PlSqlParser.NOT, i); + } +}; + + +Constraint_stateContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterConstraint_state(this); + } +}; + +Constraint_stateContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitConstraint_state(this); + } +}; + +Constraint_stateContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitConstraint_state(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Constraint_stateContext = Constraint_stateContext; + +PlSqlParser.prototype.constraint_state = function() { + + var localctx = new Constraint_stateContext(this, this._ctx, this.state); + this.enterRule(localctx, 424, PlSqlParser.RULE_constraint_state); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4545; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 4545; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DEFERRABLE: + case PlSqlParser.NOT: + this.state = 4536; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 4535; + this.match(PlSqlParser.NOT); + } + + this.state = 4538; + this.match(PlSqlParser.DEFERRABLE); + break; + case PlSqlParser.INITIALLY: + this.state = 4539; + this.match(PlSqlParser.INITIALLY); + this.state = 4540; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFERRED || _la===PlSqlParser.IMMEDIATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.NORELY: + case PlSqlParser.RELY: + this.state = 4541; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NORELY || _la===PlSqlParser.RELY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.DISABLE: + case PlSqlParser.ENABLE: + this.state = 4542; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.NOVALIDATE: + case PlSqlParser.VALIDATE: + this.state = 4543; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NOVALIDATE || _la===PlSqlParser.VALIDATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.USING: + this.state = 4544; + this.using_index_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4547; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,441, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_tablespaceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_tablespace; + return this; +} + +Alter_tablespaceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_tablespaceContext.prototype.constructor = Alter_tablespaceContext; + +Alter_tablespaceContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_tablespaceContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Alter_tablespaceContext.prototype.tablespace = function() { + return this.getTypedRuleContext(TablespaceContext,0); +}; + +Alter_tablespaceContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_tablespaceContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Alter_tablespaceContext.prototype.MINIMUM = function() { + return this.getToken(PlSqlParser.MINIMUM, 0); +}; + +Alter_tablespaceContext.prototype.EXTENT = function() { + return this.getToken(PlSqlParser.EXTENT, 0); +}; + +Alter_tablespaceContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Alter_tablespaceContext.prototype.RESIZE = function() { + return this.getToken(PlSqlParser.RESIZE, 0); +}; + +Alter_tablespaceContext.prototype.COALESCE = function() { + return this.getToken(PlSqlParser.COALESCE, 0); +}; + +Alter_tablespaceContext.prototype.SHRINK = function() { + return this.getToken(PlSqlParser.SHRINK, 0); +}; + +Alter_tablespaceContext.prototype.SPACE_KEYWORD = function() { + return this.getToken(PlSqlParser.SPACE_KEYWORD, 0); +}; + +Alter_tablespaceContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Alter_tablespaceContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Alter_tablespaceContext.prototype.new_tablespace_name = function() { + return this.getTypedRuleContext(New_tablespace_nameContext,0); +}; + +Alter_tablespaceContext.prototype.begin_or_end = function() { + return this.getTypedRuleContext(Begin_or_endContext,0); +}; + +Alter_tablespaceContext.prototype.BACKUP = function() { + return this.getToken(PlSqlParser.BACKUP, 0); +}; + +Alter_tablespaceContext.prototype.datafile_tempfile_clauses = function() { + return this.getTypedRuleContext(Datafile_tempfile_clausesContext,0); +}; + +Alter_tablespaceContext.prototype.tablespace_logging_clauses = function() { + return this.getTypedRuleContext(Tablespace_logging_clausesContext,0); +}; + +Alter_tablespaceContext.prototype.tablespace_group_clause = function() { + return this.getTypedRuleContext(Tablespace_group_clauseContext,0); +}; + +Alter_tablespaceContext.prototype.tablespace_state_clauses = function() { + return this.getTypedRuleContext(Tablespace_state_clausesContext,0); +}; + +Alter_tablespaceContext.prototype.autoextend_clause = function() { + return this.getTypedRuleContext(Autoextend_clauseContext,0); +}; + +Alter_tablespaceContext.prototype.flashback_mode_clause = function() { + return this.getTypedRuleContext(Flashback_mode_clauseContext,0); +}; + +Alter_tablespaceContext.prototype.tablespace_retention_clause = function() { + return this.getTypedRuleContext(Tablespace_retention_clauseContext,0); +}; + +Alter_tablespaceContext.prototype.table_compression = function() { + return this.getTypedRuleContext(Table_compressionContext,0); +}; + +Alter_tablespaceContext.prototype.storage_clause = function() { + return this.getTypedRuleContext(Storage_clauseContext,0); +}; + +Alter_tablespaceContext.prototype.KEEP = function() { + return this.getToken(PlSqlParser.KEEP, 0); +}; + +Alter_tablespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_tablespace(this); + } +}; + +Alter_tablespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_tablespace(this); + } +}; + +Alter_tablespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_tablespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_tablespaceContext = Alter_tablespaceContext; + +PlSqlParser.prototype.alter_tablespace = function() { + + var localctx = new Alter_tablespaceContext(this, this._ctx, this.state); + this.enterRule(localctx, 426, PlSqlParser.RULE_alter_tablespace); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4549; + this.match(PlSqlParser.ALTER); + this.state = 4550; + this.match(PlSqlParser.TABLESPACE); + this.state = 4551; + this.tablespace(); + this.state = 4584; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,445,this._ctx); + switch(la_) { + case 1: + this.state = 4552; + this.match(PlSqlParser.DEFAULT); + this.state = 4554; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.NOCOMPRESS) { + this.state = 4553; + this.table_compression(); + } + + this.state = 4557; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORAGE) { + this.state = 4556; + this.storage_clause(); + } + + break; + + case 2: + this.state = 4559; + this.match(PlSqlParser.MINIMUM); + this.state = 4560; + this.match(PlSqlParser.EXTENT); + this.state = 4561; + this.size_clause(); + break; + + case 3: + this.state = 4562; + this.match(PlSqlParser.RESIZE); + this.state = 4563; + this.size_clause(); + break; + + case 4: + this.state = 4564; + this.match(PlSqlParser.COALESCE); + break; + + case 5: + this.state = 4565; + this.match(PlSqlParser.SHRINK); + this.state = 4566; + this.match(PlSqlParser.SPACE_KEYWORD); + this.state = 4569; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.KEEP) { + this.state = 4567; + this.match(PlSqlParser.KEEP); + this.state = 4568; + this.size_clause(); + } + + break; + + case 6: + this.state = 4571; + this.match(PlSqlParser.RENAME); + this.state = 4572; + this.match(PlSqlParser.TO); + this.state = 4573; + this.new_tablespace_name(); + break; + + case 7: + this.state = 4574; + this.begin_or_end(); + this.state = 4575; + this.match(PlSqlParser.BACKUP); + break; + + case 8: + this.state = 4577; + this.datafile_tempfile_clauses(); + break; + + case 9: + this.state = 4578; + this.tablespace_logging_clauses(); + break; + + case 10: + this.state = 4579; + this.tablespace_group_clause(); + break; + + case 11: + this.state = 4580; + this.tablespace_state_clauses(); + break; + + case 12: + this.state = 4581; + this.autoextend_clause(); + break; + + case 13: + this.state = 4582; + this.flashback_mode_clause(); + break; + + case 14: + this.state = 4583; + this.tablespace_retention_clause(); + break; + + } + this.state = 4586; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Datafile_tempfile_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_datafile_tempfile_clauses; + return this; +} + +Datafile_tempfile_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Datafile_tempfile_clausesContext.prototype.constructor = Datafile_tempfile_clausesContext; + +Datafile_tempfile_clausesContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Datafile_tempfile_clausesContext.prototype.datafile_specification = function() { + return this.getTypedRuleContext(Datafile_specificationContext,0); +}; + +Datafile_tempfile_clausesContext.prototype.tempfile_specification = function() { + return this.getTypedRuleContext(Tempfile_specificationContext,0); +}; + +Datafile_tempfile_clausesContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Datafile_tempfile_clausesContext.prototype.DATAFILE = function() { + return this.getToken(PlSqlParser.DATAFILE, 0); +}; + +Datafile_tempfile_clausesContext.prototype.TEMPFILE = function() { + return this.getToken(PlSqlParser.TEMPFILE, 0); +}; + +Datafile_tempfile_clausesContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Datafile_tempfile_clausesContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Datafile_tempfile_clausesContext.prototype.KEEP = function() { + return this.getToken(PlSqlParser.KEEP, 0); +}; + +Datafile_tempfile_clausesContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Datafile_tempfile_clausesContext.prototype.SHRINK = function() { + return this.getToken(PlSqlParser.SHRINK, 0); +}; + +Datafile_tempfile_clausesContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Datafile_tempfile_clausesContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Datafile_tempfile_clausesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Datafile_tempfile_clausesContext.prototype.online_or_offline = function() { + return this.getTypedRuleContext(Online_or_offlineContext,0); +}; + +Datafile_tempfile_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDatafile_tempfile_clauses(this); + } +}; + +Datafile_tempfile_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDatafile_tempfile_clauses(this); + } +}; + +Datafile_tempfile_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDatafile_tempfile_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Datafile_tempfile_clausesContext = Datafile_tempfile_clausesContext; + +PlSqlParser.prototype.datafile_tempfile_clauses = function() { + + var localctx = new Datafile_tempfile_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 428, PlSqlParser.RULE_datafile_tempfile_clauses); + var _la = 0; // Token type + try { + this.state = 4634; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ADD: + this.enterOuterAlt(localctx, 1); + this.state = 4588; + this.match(PlSqlParser.ADD); + this.state = 4591; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DATAFILE: + this.state = 4589; + this.datafile_specification(); + break; + case PlSqlParser.TEMPFILE: + this.state = 4590; + this.tempfile_specification(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case PlSqlParser.DROP: + this.enterOuterAlt(localctx, 2); + this.state = 4593; + this.match(PlSqlParser.DROP); + this.state = 4594; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DATAFILE || _la===PlSqlParser.TEMPFILE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4597; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 4595; + this.filename(); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 4596; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4601; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.KEEP) { + this.state = 4599; + this.match(PlSqlParser.KEEP); + this.state = 4600; + this.size_clause(); + } + + break; + case PlSqlParser.SHRINK: + this.enterOuterAlt(localctx, 3); + this.state = 4603; + this.match(PlSqlParser.SHRINK); + this.state = 4604; + this.match(PlSqlParser.TEMPFILE); + this.state = 4607; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 4605; + this.filename(); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 4606; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4611; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.KEEP) { + this.state = 4609; + this.match(PlSqlParser.KEEP); + this.state = 4610; + this.size_clause(); + } + + break; + case PlSqlParser.RENAME: + this.enterOuterAlt(localctx, 4); + this.state = 4613; + this.match(PlSqlParser.RENAME); + this.state = 4614; + this.match(PlSqlParser.DATAFILE); + this.state = 4615; + this.filename(); + this.state = 4620; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4616; + this.match(PlSqlParser.COMMA); + this.state = 4617; + this.filename(); + this.state = 4622; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4623; + this.match(PlSqlParser.TO); + this.state = 4624; + this.filename(); + this.state = 4629; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4625; + this.match(PlSqlParser.COMMA); + this.state = 4626; + this.filename(); + this.state = 4631; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.DATAFILE: + case PlSqlParser.TEMPFILE: + this.enterOuterAlt(localctx, 5); + this.state = 4632; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DATAFILE || _la===PlSqlParser.TEMPFILE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + this.state = 4633; + this.online_or_offline(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Tablespace_logging_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_tablespace_logging_clauses; + return this; +} + +Tablespace_logging_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Tablespace_logging_clausesContext.prototype.constructor = Tablespace_logging_clausesContext; + +Tablespace_logging_clausesContext.prototype.logging_clause = function() { + return this.getTypedRuleContext(Logging_clauseContext,0); +}; + +Tablespace_logging_clausesContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Tablespace_logging_clausesContext.prototype.LOGGING = function() { + return this.getToken(PlSqlParser.LOGGING, 0); +}; + +Tablespace_logging_clausesContext.prototype.NO = function() { + return this.getToken(PlSqlParser.NO, 0); +}; + +Tablespace_logging_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTablespace_logging_clauses(this); + } +}; + +Tablespace_logging_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTablespace_logging_clauses(this); + } +}; + +Tablespace_logging_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTablespace_logging_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Tablespace_logging_clausesContext = Tablespace_logging_clausesContext; + +PlSqlParser.prototype.tablespace_logging_clauses = function() { + + var localctx = new Tablespace_logging_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 430, PlSqlParser.RULE_tablespace_logging_clauses); + var _la = 0; // Token type + try { + this.state = 4642; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.enterOuterAlt(localctx, 1); + this.state = 4636; + this.logging_clause(); + break; + case PlSqlParser.FORCE: + case PlSqlParser.NO: + this.enterOuterAlt(localctx, 2); + this.state = 4638; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NO) { + this.state = 4637; + this.match(PlSqlParser.NO); + } + + this.state = 4640; + this.match(PlSqlParser.FORCE); + this.state = 4641; + this.match(PlSqlParser.LOGGING); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Tablespace_group_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_tablespace_group_clause; + return this; +} + +Tablespace_group_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Tablespace_group_clauseContext.prototype.constructor = Tablespace_group_clauseContext; + +Tablespace_group_clauseContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Tablespace_group_clauseContext.prototype.GROUP = function() { + return this.getToken(PlSqlParser.GROUP, 0); +}; + +Tablespace_group_clauseContext.prototype.tablespace_group_name = function() { + return this.getTypedRuleContext(Tablespace_group_nameContext,0); +}; + +Tablespace_group_clauseContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Tablespace_group_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTablespace_group_clause(this); + } +}; + +Tablespace_group_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTablespace_group_clause(this); + } +}; + +Tablespace_group_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTablespace_group_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Tablespace_group_clauseContext = Tablespace_group_clauseContext; + +PlSqlParser.prototype.tablespace_group_clause = function() { + + var localctx = new Tablespace_group_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 432, PlSqlParser.RULE_tablespace_group_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4644; + this.match(PlSqlParser.TABLESPACE); + this.state = 4645; + this.match(PlSqlParser.GROUP); + this.state = 4648; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.REGULAR_ID: + this.state = 4646; + this.tablespace_group_name(); + break; + case PlSqlParser.CHAR_STRING: + this.state = 4647; + this.match(PlSqlParser.CHAR_STRING); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Tablespace_group_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_tablespace_group_name; + return this; +} + +Tablespace_group_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Tablespace_group_nameContext.prototype.constructor = Tablespace_group_nameContext; + +Tablespace_group_nameContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Tablespace_group_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTablespace_group_name(this); + } +}; + +Tablespace_group_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTablespace_group_name(this); + } +}; + +Tablespace_group_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTablespace_group_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Tablespace_group_nameContext = Tablespace_group_nameContext; + +PlSqlParser.prototype.tablespace_group_name = function() { + + var localctx = new Tablespace_group_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 434, PlSqlParser.RULE_tablespace_group_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4650; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Tablespace_state_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_tablespace_state_clauses; + return this; +} + +Tablespace_state_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Tablespace_state_clausesContext.prototype.constructor = Tablespace_state_clausesContext; + +Tablespace_state_clausesContext.prototype.ONLINE = function() { + return this.getToken(PlSqlParser.ONLINE, 0); +}; + +Tablespace_state_clausesContext.prototype.OFFLINE = function() { + return this.getToken(PlSqlParser.OFFLINE, 0); +}; + +Tablespace_state_clausesContext.prototype.NORMAL = function() { + return this.getToken(PlSqlParser.NORMAL, 0); +}; + +Tablespace_state_clausesContext.prototype.TEMPORARY = function() { + return this.getToken(PlSqlParser.TEMPORARY, 0); +}; + +Tablespace_state_clausesContext.prototype.IMMEDIATE = function() { + return this.getToken(PlSqlParser.IMMEDIATE, 0); +}; + +Tablespace_state_clausesContext.prototype.READ = function() { + return this.getToken(PlSqlParser.READ, 0); +}; + +Tablespace_state_clausesContext.prototype.ONLY = function() { + return this.getToken(PlSqlParser.ONLY, 0); +}; + +Tablespace_state_clausesContext.prototype.WRITE = function() { + return this.getToken(PlSqlParser.WRITE, 0); +}; + +Tablespace_state_clausesContext.prototype.PERMANENT = function() { + return this.getToken(PlSqlParser.PERMANENT, 0); +}; + +Tablespace_state_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTablespace_state_clauses(this); + } +}; + +Tablespace_state_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTablespace_state_clauses(this); + } +}; + +Tablespace_state_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTablespace_state_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Tablespace_state_clausesContext = Tablespace_state_clausesContext; + +PlSqlParser.prototype.tablespace_state_clauses = function() { + + var localctx = new Tablespace_state_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 436, PlSqlParser.RULE_tablespace_state_clauses); + var _la = 0; // Token type + try { + this.state = 4661; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ONLINE: + this.enterOuterAlt(localctx, 1); + this.state = 4652; + this.match(PlSqlParser.ONLINE); + break; + case PlSqlParser.OFFLINE: + this.enterOuterAlt(localctx, 2); + this.state = 4653; + this.match(PlSqlParser.OFFLINE); + this.state = 4655; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.IMMEDIATE || _la===PlSqlParser.NORMAL || _la===PlSqlParser.TEMPORARY) { + this.state = 4654; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.IMMEDIATE || _la===PlSqlParser.NORMAL || _la===PlSqlParser.TEMPORARY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + break; + case PlSqlParser.READ: + this.enterOuterAlt(localctx, 3); + this.state = 4657; + this.match(PlSqlParser.READ); + this.state = 4658; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ONLY || _la===PlSqlParser.WRITE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.PERMANENT: + this.enterOuterAlt(localctx, 4); + this.state = 4659; + this.match(PlSqlParser.PERMANENT); + break; + case PlSqlParser.TEMPORARY: + this.enterOuterAlt(localctx, 5); + this.state = 4660; + this.match(PlSqlParser.TEMPORARY); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Flashback_mode_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_flashback_mode_clause; + return this; +} + +Flashback_mode_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Flashback_mode_clauseContext.prototype.constructor = Flashback_mode_clauseContext; + +Flashback_mode_clauseContext.prototype.FLASHBACK = function() { + return this.getToken(PlSqlParser.FLASHBACK, 0); +}; + +Flashback_mode_clauseContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Flashback_mode_clauseContext.prototype.OFF = function() { + return this.getToken(PlSqlParser.OFF, 0); +}; + +Flashback_mode_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFlashback_mode_clause(this); + } +}; + +Flashback_mode_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFlashback_mode_clause(this); + } +}; + +Flashback_mode_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFlashback_mode_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Flashback_mode_clauseContext = Flashback_mode_clauseContext; + +PlSqlParser.prototype.flashback_mode_clause = function() { + + var localctx = new Flashback_mode_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 438, PlSqlParser.RULE_flashback_mode_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4663; + this.match(PlSqlParser.FLASHBACK); + this.state = 4664; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.OFF || _la===PlSqlParser.ON)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function New_tablespace_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_new_tablespace_name; + return this; +} + +New_tablespace_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +New_tablespace_nameContext.prototype.constructor = New_tablespace_nameContext; + +New_tablespace_nameContext.prototype.tablespace = function() { + return this.getTypedRuleContext(TablespaceContext,0); +}; + +New_tablespace_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNew_tablespace_name(this); + } +}; + +New_tablespace_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNew_tablespace_name(this); + } +}; + +New_tablespace_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNew_tablespace_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.New_tablespace_nameContext = New_tablespace_nameContext; + +PlSqlParser.prototype.new_tablespace_name = function() { + + var localctx = new New_tablespace_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 440, PlSqlParser.RULE_new_tablespace_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4666; + this.tablespace(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_tablespaceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_tablespace; + return this; +} + +Create_tablespaceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_tablespaceContext.prototype.constructor = Create_tablespaceContext; + +Create_tablespaceContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_tablespaceContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_tablespaceContext.prototype.permanent_tablespace_clause = function() { + return this.getTypedRuleContext(Permanent_tablespace_clauseContext,0); +}; + +Create_tablespaceContext.prototype.temporary_tablespace_clause = function() { + return this.getTypedRuleContext(Temporary_tablespace_clauseContext,0); +}; + +Create_tablespaceContext.prototype.undo_tablespace_clause = function() { + return this.getTypedRuleContext(Undo_tablespace_clauseContext,0); +}; + +Create_tablespaceContext.prototype.BIGFILE = function() { + return this.getToken(PlSqlParser.BIGFILE, 0); +}; + +Create_tablespaceContext.prototype.SMALLFILE = function() { + return this.getToken(PlSqlParser.SMALLFILE, 0); +}; + +Create_tablespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_tablespace(this); + } +}; + +Create_tablespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_tablespace(this); + } +}; + +Create_tablespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_tablespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_tablespaceContext = Create_tablespaceContext; + +PlSqlParser.prototype.create_tablespace = function() { + + var localctx = new Create_tablespaceContext(this, this._ctx, this.state); + this.enterRule(localctx, 442, PlSqlParser.RULE_create_tablespace); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4668; + this.match(PlSqlParser.CREATE); + this.state = 4670; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BIGFILE || _la===PlSqlParser.SMALLFILE) { + this.state = 4669; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BIGFILE || _la===PlSqlParser.SMALLFILE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 4675; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.TABLESPACE: + this.state = 4672; + this.permanent_tablespace_clause(); + break; + case PlSqlParser.TEMPORARY: + this.state = 4673; + this.temporary_tablespace_clause(); + break; + case PlSqlParser.UNDO: + this.state = 4674; + this.undo_tablespace_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4677; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Permanent_tablespace_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_permanent_tablespace_clause; + return this; +} + +Permanent_tablespace_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Permanent_tablespace_clauseContext.prototype.constructor = Permanent_tablespace_clauseContext; + +Permanent_tablespace_clauseContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Permanent_tablespace_clauseContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Permanent_tablespace_clauseContext.prototype.datafile_specification = function() { + return this.getTypedRuleContext(Datafile_specificationContext,0); +}; + +Permanent_tablespace_clauseContext.prototype.MINIMUM = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.MINIMUM); + } else { + return this.getToken(PlSqlParser.MINIMUM, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.EXTENT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.EXTENT); + } else { + return this.getToken(PlSqlParser.EXTENT, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.size_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Size_clauseContext); + } else { + return this.getTypedRuleContext(Size_clauseContext,i); + } +}; + +Permanent_tablespace_clauseContext.prototype.BLOCKSIZE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.BLOCKSIZE); + } else { + return this.getToken(PlSqlParser.BLOCKSIZE, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.logging_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logging_clauseContext); + } else { + return this.getTypedRuleContext(Logging_clauseContext,i); + } +}; + +Permanent_tablespace_clauseContext.prototype.FORCE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FORCE); + } else { + return this.getToken(PlSqlParser.FORCE, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.LOGGING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LOGGING); + } else { + return this.getToken(PlSqlParser.LOGGING, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.ENCRYPTION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ENCRYPTION); + } else { + return this.getToken(PlSqlParser.ENCRYPTION, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.tablespace_encryption_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Tablespace_encryption_specContext); + } else { + return this.getTypedRuleContext(Tablespace_encryption_specContext,i); + } +}; + +Permanent_tablespace_clauseContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFAULT); + } else { + return this.getToken(PlSqlParser.DEFAULT, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.extent_management_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Extent_management_clauseContext); + } else { + return this.getTypedRuleContext(Extent_management_clauseContext,i); + } +}; + +Permanent_tablespace_clauseContext.prototype.segment_management_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Segment_management_clauseContext); + } else { + return this.getTypedRuleContext(Segment_management_clauseContext,i); + } +}; + +Permanent_tablespace_clauseContext.prototype.flashback_mode_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Flashback_mode_clauseContext); + } else { + return this.getTypedRuleContext(Flashback_mode_clauseContext,i); + } +}; + +Permanent_tablespace_clauseContext.prototype.ONLINE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ONLINE); + } else { + return this.getToken(PlSqlParser.ONLINE, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.OFFLINE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.OFFLINE); + } else { + return this.getToken(PlSqlParser.OFFLINE, i); + } +}; + + +Permanent_tablespace_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPermanent_tablespace_clause(this); + } +}; + +Permanent_tablespace_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPermanent_tablespace_clause(this); + } +}; + +Permanent_tablespace_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPermanent_tablespace_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Permanent_tablespace_clauseContext = Permanent_tablespace_clauseContext; + +PlSqlParser.prototype.permanent_tablespace_clause = function() { + + var localctx = new Permanent_tablespace_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 444, PlSqlParser.RULE_permanent_tablespace_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4679; + this.match(PlSqlParser.TABLESPACE); + this.state = 4680; + this.id_expression(); + this.state = 4682; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DATAFILE) { + this.state = 4681; + this.datafile_specification(); + } + + this.state = 4701; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.BLOCKSIZE || _la===PlSqlParser.DEFAULT || _la===PlSqlParser.ENCRYPTION || _la===PlSqlParser.EXTENT || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.FLASHBACK || _la===PlSqlParser.FORCE || _la===PlSqlParser.LOGGING || _la===PlSqlParser.MINIMUM || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.OFFLINE || _la===PlSqlParser.ONLINE || _la===PlSqlParser.SEGMENT) { + this.state = 4699; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.MINIMUM: + this.state = 4684; + this.match(PlSqlParser.MINIMUM); + this.state = 4685; + this.match(PlSqlParser.EXTENT); + this.state = 4686; + this.size_clause(); + break; + case PlSqlParser.BLOCKSIZE: + this.state = 4687; + this.match(PlSqlParser.BLOCKSIZE); + this.state = 4688; + this.size_clause(); + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.state = 4689; + this.logging_clause(); + break; + case PlSqlParser.FORCE: + this.state = 4690; + this.match(PlSqlParser.FORCE); + this.state = 4691; + this.match(PlSqlParser.LOGGING); + break; + case PlSqlParser.OFFLINE: + case PlSqlParser.ONLINE: + this.state = 4692; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.OFFLINE || _la===PlSqlParser.ONLINE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.ENCRYPTION: + this.state = 4693; + this.match(PlSqlParser.ENCRYPTION); + this.state = 4694; + this.tablespace_encryption_spec(); + break; + case PlSqlParser.DEFAULT: + this.state = 4695; + this.match(PlSqlParser.DEFAULT); + break; + case PlSqlParser.EXTENT: + this.state = 4696; + this.extent_management_clause(); + break; + case PlSqlParser.SEGMENT: + this.state = 4697; + this.segment_management_clause(); + break; + case PlSqlParser.FLASHBACK: + this.state = 4698; + this.flashback_mode_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4703; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Tablespace_encryption_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_tablespace_encryption_spec; + this.encrypt_algorithm = null; // Token + return this; +} + +Tablespace_encryption_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Tablespace_encryption_specContext.prototype.constructor = Tablespace_encryption_specContext; + +Tablespace_encryption_specContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Tablespace_encryption_specContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Tablespace_encryption_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTablespace_encryption_spec(this); + } +}; + +Tablespace_encryption_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTablespace_encryption_spec(this); + } +}; + +Tablespace_encryption_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTablespace_encryption_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Tablespace_encryption_specContext = Tablespace_encryption_specContext; + +PlSqlParser.prototype.tablespace_encryption_spec = function() { + + var localctx = new Tablespace_encryption_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 446, PlSqlParser.RULE_tablespace_encryption_spec); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4704; + this.match(PlSqlParser.USING); + this.state = 4705; + localctx.encrypt_algorithm = this.match(PlSqlParser.CHAR_STRING); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Logging_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_logging_clause; + return this; +} + +Logging_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Logging_clauseContext.prototype.constructor = Logging_clauseContext; + +Logging_clauseContext.prototype.LOGGING = function() { + return this.getToken(PlSqlParser.LOGGING, 0); +}; + +Logging_clauseContext.prototype.NOLOGGING = function() { + return this.getToken(PlSqlParser.NOLOGGING, 0); +}; + +Logging_clauseContext.prototype.FILESYSTEM_LIKE_LOGGING = function() { + return this.getToken(PlSqlParser.FILESYSTEM_LIKE_LOGGING, 0); +}; + +Logging_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLogging_clause(this); + } +}; + +Logging_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLogging_clause(this); + } +}; + +Logging_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLogging_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Logging_clauseContext = Logging_clauseContext; + +PlSqlParser.prototype.logging_clause = function() { + + var localctx = new Logging_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 448, PlSqlParser.RULE_logging_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4707; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Extent_management_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_extent_management_clause; + return this; +} + +Extent_management_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Extent_management_clauseContext.prototype.constructor = Extent_management_clauseContext; + +Extent_management_clauseContext.prototype.EXTENT = function() { + return this.getToken(PlSqlParser.EXTENT, 0); +}; + +Extent_management_clauseContext.prototype.MANAGEMENT = function() { + return this.getToken(PlSqlParser.MANAGEMENT, 0); +}; + +Extent_management_clauseContext.prototype.LOCAL = function() { + return this.getToken(PlSqlParser.LOCAL, 0); +}; + +Extent_management_clauseContext.prototype.AUTOALLOCATE = function() { + return this.getToken(PlSqlParser.AUTOALLOCATE, 0); +}; + +Extent_management_clauseContext.prototype.UNIFORM = function() { + return this.getToken(PlSqlParser.UNIFORM, 0); +}; + +Extent_management_clauseContext.prototype.SIZE = function() { + return this.getToken(PlSqlParser.SIZE, 0); +}; + +Extent_management_clauseContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Extent_management_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterExtent_management_clause(this); + } +}; + +Extent_management_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitExtent_management_clause(this); + } +}; + +Extent_management_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitExtent_management_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Extent_management_clauseContext = Extent_management_clauseContext; + +PlSqlParser.prototype.extent_management_clause = function() { + + var localctx = new Extent_management_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 450, PlSqlParser.RULE_extent_management_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4709; + this.match(PlSqlParser.EXTENT); + this.state = 4710; + this.match(PlSqlParser.MANAGEMENT); + this.state = 4711; + this.match(PlSqlParser.LOCAL); + this.state = 4718; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.AUTOALLOCATE: + this.state = 4712; + this.match(PlSqlParser.AUTOALLOCATE); + break; + case PlSqlParser.UNIFORM: + this.state = 4713; + this.match(PlSqlParser.UNIFORM); + this.state = 4716; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SIZE) { + this.state = 4714; + this.match(PlSqlParser.SIZE); + this.state = 4715; + this.size_clause(); + } + + break; + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.DEFAULT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.EXTENT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FORCE: + case PlSqlParser.LOGGING: + case PlSqlParser.MINIMUM: + case PlSqlParser.NOLOGGING: + case PlSqlParser.OFFLINE: + case PlSqlParser.ONLINE: + case PlSqlParser.RETENTION: + case PlSqlParser.SEGMENT: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Segment_management_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_segment_management_clause; + return this; +} + +Segment_management_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Segment_management_clauseContext.prototype.constructor = Segment_management_clauseContext; + +Segment_management_clauseContext.prototype.SEGMENT = function() { + return this.getToken(PlSqlParser.SEGMENT, 0); +}; + +Segment_management_clauseContext.prototype.SPACE_KEYWORD = function() { + return this.getToken(PlSqlParser.SPACE_KEYWORD, 0); +}; + +Segment_management_clauseContext.prototype.MANAGEMENT = function() { + return this.getToken(PlSqlParser.MANAGEMENT, 0); +}; + +Segment_management_clauseContext.prototype.AUTO = function() { + return this.getToken(PlSqlParser.AUTO, 0); +}; + +Segment_management_clauseContext.prototype.MANUAL = function() { + return this.getToken(PlSqlParser.MANUAL, 0); +}; + +Segment_management_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSegment_management_clause(this); + } +}; + +Segment_management_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSegment_management_clause(this); + } +}; + +Segment_management_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSegment_management_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Segment_management_clauseContext = Segment_management_clauseContext; + +PlSqlParser.prototype.segment_management_clause = function() { + + var localctx = new Segment_management_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 452, PlSqlParser.RULE_segment_management_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4720; + this.match(PlSqlParser.SEGMENT); + this.state = 4721; + this.match(PlSqlParser.SPACE_KEYWORD); + this.state = 4722; + this.match(PlSqlParser.MANAGEMENT); + this.state = 4723; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AUTO || _la===PlSqlParser.MANUAL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Temporary_tablespace_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_temporary_tablespace_clause; + this.tablespace_name = null; // Id_expressionContext + return this; +} + +Temporary_tablespace_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Temporary_tablespace_clauseContext.prototype.constructor = Temporary_tablespace_clauseContext; + +Temporary_tablespace_clauseContext.prototype.TEMPORARY = function() { + return this.getToken(PlSqlParser.TEMPORARY, 0); +}; + +Temporary_tablespace_clauseContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Temporary_tablespace_clauseContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Temporary_tablespace_clauseContext.prototype.tempfile_specification = function() { + return this.getTypedRuleContext(Tempfile_specificationContext,0); +}; + +Temporary_tablespace_clauseContext.prototype.tablespace_group_clause = function() { + return this.getTypedRuleContext(Tablespace_group_clauseContext,0); +}; + +Temporary_tablespace_clauseContext.prototype.extent_management_clause = function() { + return this.getTypedRuleContext(Extent_management_clauseContext,0); +}; + +Temporary_tablespace_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTemporary_tablespace_clause(this); + } +}; + +Temporary_tablespace_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTemporary_tablespace_clause(this); + } +}; + +Temporary_tablespace_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTemporary_tablespace_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Temporary_tablespace_clauseContext = Temporary_tablespace_clauseContext; + +PlSqlParser.prototype.temporary_tablespace_clause = function() { + + var localctx = new Temporary_tablespace_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 454, PlSqlParser.RULE_temporary_tablespace_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4725; + this.match(PlSqlParser.TEMPORARY); + this.state = 4726; + this.match(PlSqlParser.TABLESPACE); + this.state = 4727; + localctx.tablespace_name = this.id_expression(); + this.state = 4729; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.TEMPFILE) { + this.state = 4728; + this.tempfile_specification(); + } + + this.state = 4732; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.TABLESPACE) { + this.state = 4731; + this.tablespace_group_clause(); + } + + this.state = 4735; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EXTENT) { + this.state = 4734; + this.extent_management_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Undo_tablespace_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_undo_tablespace_clause; + this.tablespace_name = null; // Id_expressionContext + return this; +} + +Undo_tablespace_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Undo_tablespace_clauseContext.prototype.constructor = Undo_tablespace_clauseContext; + +Undo_tablespace_clauseContext.prototype.UNDO = function() { + return this.getToken(PlSqlParser.UNDO, 0); +}; + +Undo_tablespace_clauseContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Undo_tablespace_clauseContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Undo_tablespace_clauseContext.prototype.datafile_specification = function() { + return this.getTypedRuleContext(Datafile_specificationContext,0); +}; + +Undo_tablespace_clauseContext.prototype.extent_management_clause = function() { + return this.getTypedRuleContext(Extent_management_clauseContext,0); +}; + +Undo_tablespace_clauseContext.prototype.tablespace_retention_clause = function() { + return this.getTypedRuleContext(Tablespace_retention_clauseContext,0); +}; + +Undo_tablespace_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUndo_tablespace_clause(this); + } +}; + +Undo_tablespace_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUndo_tablespace_clause(this); + } +}; + +Undo_tablespace_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUndo_tablespace_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Undo_tablespace_clauseContext = Undo_tablespace_clauseContext; + +PlSqlParser.prototype.undo_tablespace_clause = function() { + + var localctx = new Undo_tablespace_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 456, PlSqlParser.RULE_undo_tablespace_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4737; + this.match(PlSqlParser.UNDO); + this.state = 4738; + this.match(PlSqlParser.TABLESPACE); + this.state = 4739; + localctx.tablespace_name = this.id_expression(); + this.state = 4741; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DATAFILE) { + this.state = 4740; + this.datafile_specification(); + } + + this.state = 4744; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EXTENT) { + this.state = 4743; + this.extent_management_clause(); + } + + this.state = 4747; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.RETENTION) { + this.state = 4746; + this.tablespace_retention_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Tablespace_retention_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_tablespace_retention_clause; + return this; +} + +Tablespace_retention_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Tablespace_retention_clauseContext.prototype.constructor = Tablespace_retention_clauseContext; + +Tablespace_retention_clauseContext.prototype.RETENTION = function() { + return this.getToken(PlSqlParser.RETENTION, 0); +}; + +Tablespace_retention_clauseContext.prototype.GUARANTEE = function() { + return this.getToken(PlSqlParser.GUARANTEE, 0); +}; + +Tablespace_retention_clauseContext.prototype.NOGUARANTEE = function() { + return this.getToken(PlSqlParser.NOGUARANTEE, 0); +}; + +Tablespace_retention_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTablespace_retention_clause(this); + } +}; + +Tablespace_retention_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTablespace_retention_clause(this); + } +}; + +Tablespace_retention_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTablespace_retention_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Tablespace_retention_clauseContext = Tablespace_retention_clauseContext; + +PlSqlParser.prototype.tablespace_retention_clause = function() { + + var localctx = new Tablespace_retention_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 458, PlSqlParser.RULE_tablespace_retention_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4749; + this.match(PlSqlParser.RETENTION); + this.state = 4750; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.GUARANTEE || _la===PlSqlParser.NOGUARANTEE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Datafile_specificationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_datafile_specification; + return this; +} + +Datafile_specificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Datafile_specificationContext.prototype.constructor = Datafile_specificationContext; + +Datafile_specificationContext.prototype.DATAFILE = function() { + return this.getToken(PlSqlParser.DATAFILE, 0); +}; + +Datafile_specificationContext.prototype.datafile_tempfile_spec = function() { + return this.getTypedRuleContext(Datafile_tempfile_specContext,0); +}; + +Datafile_specificationContext.prototype.COMMA = function() { + return this.getToken(PlSqlParser.COMMA, 0); +}; + +Datafile_specificationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDatafile_specification(this); + } +}; + +Datafile_specificationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDatafile_specification(this); + } +}; + +Datafile_specificationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDatafile_specification(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Datafile_specificationContext = Datafile_specificationContext; + +PlSqlParser.prototype.datafile_specification = function() { + + var localctx = new Datafile_specificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 460, PlSqlParser.RULE_datafile_specification); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4752; + this.match(PlSqlParser.DATAFILE); + + this.state = 4754; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 4753; + this.match(PlSqlParser.COMMA); + } + + this.state = 4756; + this.datafile_tempfile_spec(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Tempfile_specificationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_tempfile_specification; + return this; +} + +Tempfile_specificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Tempfile_specificationContext.prototype.constructor = Tempfile_specificationContext; + +Tempfile_specificationContext.prototype.TEMPFILE = function() { + return this.getToken(PlSqlParser.TEMPFILE, 0); +}; + +Tempfile_specificationContext.prototype.datafile_tempfile_spec = function() { + return this.getTypedRuleContext(Datafile_tempfile_specContext,0); +}; + +Tempfile_specificationContext.prototype.COMMA = function() { + return this.getToken(PlSqlParser.COMMA, 0); +}; + +Tempfile_specificationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTempfile_specification(this); + } +}; + +Tempfile_specificationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTempfile_specification(this); + } +}; + +Tempfile_specificationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTempfile_specification(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Tempfile_specificationContext = Tempfile_specificationContext; + +PlSqlParser.prototype.tempfile_specification = function() { + + var localctx = new Tempfile_specificationContext(this, this._ctx, this.state); + this.enterRule(localctx, 462, PlSqlParser.RULE_tempfile_specification); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4758; + this.match(PlSqlParser.TEMPFILE); + + this.state = 4760; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 4759; + this.match(PlSqlParser.COMMA); + } + + this.state = 4762; + this.datafile_tempfile_spec(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Datafile_tempfile_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_datafile_tempfile_spec; + return this; +} + +Datafile_tempfile_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Datafile_tempfile_specContext.prototype.constructor = Datafile_tempfile_specContext; + +Datafile_tempfile_specContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Datafile_tempfile_specContext.prototype.SIZE = function() { + return this.getToken(PlSqlParser.SIZE, 0); +}; + +Datafile_tempfile_specContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Datafile_tempfile_specContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Datafile_tempfile_specContext.prototype.autoextend_clause = function() { + return this.getTypedRuleContext(Autoextend_clauseContext,0); +}; + +Datafile_tempfile_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDatafile_tempfile_spec(this); + } +}; + +Datafile_tempfile_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDatafile_tempfile_spec(this); + } +}; + +Datafile_tempfile_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDatafile_tempfile_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Datafile_tempfile_specContext = Datafile_tempfile_specContext; + +PlSqlParser.prototype.datafile_tempfile_spec = function() { + + var localctx = new Datafile_tempfile_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 464, PlSqlParser.RULE_datafile_tempfile_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4765; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CHAR_STRING) { + this.state = 4764; + this.match(PlSqlParser.CHAR_STRING); + } + + this.state = 4769; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SIZE) { + this.state = 4767; + this.match(PlSqlParser.SIZE); + this.state = 4768; + this.size_clause(); + } + + this.state = 4772; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 4771; + this.match(PlSqlParser.REUSE); + } + + this.state = 4775; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AUTOEXTEND) { + this.state = 4774; + this.autoextend_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Redo_log_file_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_redo_log_file_spec; + return this; +} + +Redo_log_file_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Redo_log_file_specContext.prototype.constructor = Redo_log_file_specContext; + +Redo_log_file_specContext.prototype.DATAFILE = function() { + return this.getToken(PlSqlParser.DATAFILE, 0); +}; + +Redo_log_file_specContext.prototype.CHAR_STRING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHAR_STRING); + } else { + return this.getToken(PlSqlParser.CHAR_STRING, i); + } +}; + + +Redo_log_file_specContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Redo_log_file_specContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Redo_log_file_specContext.prototype.SIZE = function() { + return this.getToken(PlSqlParser.SIZE, 0); +}; + +Redo_log_file_specContext.prototype.size_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Size_clauseContext); + } else { + return this.getTypedRuleContext(Size_clauseContext,i); + } +}; + +Redo_log_file_specContext.prototype.BLOCKSIZE = function() { + return this.getToken(PlSqlParser.BLOCKSIZE, 0); +}; + +Redo_log_file_specContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Redo_log_file_specContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Redo_log_file_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRedo_log_file_spec(this); + } +}; + +Redo_log_file_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRedo_log_file_spec(this); + } +}; + +Redo_log_file_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRedo_log_file_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Redo_log_file_specContext = Redo_log_file_specContext; + +PlSqlParser.prototype.redo_log_file_spec = function() { + + var localctx = new Redo_log_file_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 466, PlSqlParser.RULE_redo_log_file_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4789; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.DATAFILE: + this.state = 4777; + this.match(PlSqlParser.DATAFILE); + this.state = 4778; + this.match(PlSqlParser.CHAR_STRING); + break; + case PlSqlParser.LEFT_PAREN: + this.state = 4779; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4784; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 4781; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 4780; + this.match(PlSqlParser.COMMA); + } + + this.state = 4783; + this.match(PlSqlParser.CHAR_STRING); + this.state = 4786; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.CHAR_STRING || _la===PlSqlParser.COMMA); + this.state = 4788; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.GROUP: + case PlSqlParser.REUSE: + case PlSqlParser.SIZE: + case PlSqlParser.THREAD: + case PlSqlParser.COMMA: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + this.state = 4793; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SIZE) { + this.state = 4791; + this.match(PlSqlParser.SIZE); + this.state = 4792; + this.size_clause(); + } + + this.state = 4797; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BLOCKSIZE) { + this.state = 4795; + this.match(PlSqlParser.BLOCKSIZE); + this.state = 4796; + this.size_clause(); + } + + this.state = 4800; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 4799; + this.match(PlSqlParser.REUSE); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Autoextend_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_autoextend_clause; + return this; +} + +Autoextend_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Autoextend_clauseContext.prototype.constructor = Autoextend_clauseContext; + +Autoextend_clauseContext.prototype.AUTOEXTEND = function() { + return this.getToken(PlSqlParser.AUTOEXTEND, 0); +}; + +Autoextend_clauseContext.prototype.OFF = function() { + return this.getToken(PlSqlParser.OFF, 0); +}; + +Autoextend_clauseContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Autoextend_clauseContext.prototype.NEXT = function() { + return this.getToken(PlSqlParser.NEXT, 0); +}; + +Autoextend_clauseContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Autoextend_clauseContext.prototype.maxsize_clause = function() { + return this.getTypedRuleContext(Maxsize_clauseContext,0); +}; + +Autoextend_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAutoextend_clause(this); + } +}; + +Autoextend_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAutoextend_clause(this); + } +}; + +Autoextend_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAutoextend_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Autoextend_clauseContext = Autoextend_clauseContext; + +PlSqlParser.prototype.autoextend_clause = function() { + + var localctx = new Autoextend_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 468, PlSqlParser.RULE_autoextend_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4802; + this.match(PlSqlParser.AUTOEXTEND); + this.state = 4812; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.OFF: + this.state = 4803; + this.match(PlSqlParser.OFF); + break; + case PlSqlParser.ON: + this.state = 4804; + this.match(PlSqlParser.ON); + this.state = 4807; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NEXT) { + this.state = 4805; + this.match(PlSqlParser.NEXT); + this.state = 4806; + this.size_clause(); + } + + this.state = 4810; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.MAXSIZE) { + this.state = 4809; + this.maxsize_clause(); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Maxsize_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_maxsize_clause; + return this; +} + +Maxsize_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Maxsize_clauseContext.prototype.constructor = Maxsize_clauseContext; + +Maxsize_clauseContext.prototype.MAXSIZE = function() { + return this.getToken(PlSqlParser.MAXSIZE, 0); +}; + +Maxsize_clauseContext.prototype.UNLIMITED = function() { + return this.getToken(PlSqlParser.UNLIMITED, 0); +}; + +Maxsize_clauseContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Maxsize_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMaxsize_clause(this); + } +}; + +Maxsize_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMaxsize_clause(this); + } +}; + +Maxsize_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMaxsize_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Maxsize_clauseContext = Maxsize_clauseContext; + +PlSqlParser.prototype.maxsize_clause = function() { + + var localctx = new Maxsize_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 470, PlSqlParser.RULE_maxsize_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4814; + this.match(PlSqlParser.MAXSIZE); + this.state = 4817; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.UNLIMITED: + this.state = 4815; + this.match(PlSqlParser.UNLIMITED); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 4816; + this.size_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Build_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_build_clause; + return this; +} + +Build_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Build_clauseContext.prototype.constructor = Build_clauseContext; + +Build_clauseContext.prototype.BUILD = function() { + return this.getToken(PlSqlParser.BUILD, 0); +}; + +Build_clauseContext.prototype.IMMEDIATE = function() { + return this.getToken(PlSqlParser.IMMEDIATE, 0); +}; + +Build_clauseContext.prototype.DEFERRED = function() { + return this.getToken(PlSqlParser.DEFERRED, 0); +}; + +Build_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterBuild_clause(this); + } +}; + +Build_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitBuild_clause(this); + } +}; + +Build_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitBuild_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Build_clauseContext = Build_clauseContext; + +PlSqlParser.prototype.build_clause = function() { + + var localctx = new Build_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 472, PlSqlParser.RULE_build_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4819; + this.match(PlSqlParser.BUILD); + this.state = 4820; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFERRED || _la===PlSqlParser.IMMEDIATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Parallel_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_parallel_clause; + this.parallel_count = null; // Token + return this; +} + +Parallel_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Parallel_clauseContext.prototype.constructor = Parallel_clauseContext; + +Parallel_clauseContext.prototype.NOPARALLEL = function() { + return this.getToken(PlSqlParser.NOPARALLEL, 0); +}; + +Parallel_clauseContext.prototype.PARALLEL = function() { + return this.getToken(PlSqlParser.PARALLEL, 0); +}; + +Parallel_clauseContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Parallel_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterParallel_clause(this); + } +}; + +Parallel_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitParallel_clause(this); + } +}; + +Parallel_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitParallel_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Parallel_clauseContext = Parallel_clauseContext; + +PlSqlParser.prototype.parallel_clause = function() { + + var localctx = new Parallel_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 474, PlSqlParser.RULE_parallel_clause); + try { + this.state = 4827; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.NOPARALLEL: + this.enterOuterAlt(localctx, 1); + this.state = 4822; + this.match(PlSqlParser.NOPARALLEL); + break; + case PlSqlParser.PARALLEL: + this.enterOuterAlt(localctx, 2); + this.state = 4823; + this.match(PlSqlParser.PARALLEL); + this.state = 4825; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,488,this._ctx); + if(la_===1) { + this.state = 4824; + localctx.parallel_count = this.match(PlSqlParser.UNSIGNED_INTEGER); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_materialized_viewContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_materialized_view; + return this; +} + +Alter_materialized_viewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_materialized_viewContext.prototype.constructor = Alter_materialized_viewContext; + +Alter_materialized_viewContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_materialized_viewContext.prototype.MATERIALIZED = function() { + return this.getToken(PlSqlParser.MATERIALIZED, 0); +}; + +Alter_materialized_viewContext.prototype.VIEW = function() { + return this.getToken(PlSqlParser.VIEW, 0); +}; + +Alter_materialized_viewContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Alter_materialized_viewContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_materialized_viewContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Alter_materialized_viewContext.prototype.modify_mv_column_clause = function() { + return this.getTypedRuleContext(Modify_mv_column_clauseContext,0); +}; + +Alter_materialized_viewContext.prototype.table_compression = function() { + return this.getTypedRuleContext(Table_compressionContext,0); +}; + +Alter_materialized_viewContext.prototype.lob_storage_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Lob_storage_clauseContext); + } else { + return this.getTypedRuleContext(Lob_storage_clauseContext,i); + } +}; + +Alter_materialized_viewContext.prototype.modify_lob_storage_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Modify_lob_storage_clauseContext); + } else { + return this.getTypedRuleContext(Modify_lob_storage_clauseContext,i); + } +}; + +Alter_materialized_viewContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Alter_materialized_viewContext.prototype.logging_clause = function() { + return this.getTypedRuleContext(Logging_clauseContext,0); +}; + +Alter_materialized_viewContext.prototype.allocate_extent_clause = function() { + return this.getTypedRuleContext(Allocate_extent_clauseContext,0); +}; + +Alter_materialized_viewContext.prototype.deallocate_unused_clause = function() { + return this.getTypedRuleContext(Deallocate_unused_clauseContext,0); +}; + +Alter_materialized_viewContext.prototype.shrink_clause = function() { + return this.getTypedRuleContext(Shrink_clauseContext,0); +}; + +Alter_materialized_viewContext.prototype.alter_iot_clauses = function() { + return this.getTypedRuleContext(Alter_iot_clausesContext,0); +}; + +Alter_materialized_viewContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Alter_materialized_viewContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Alter_materialized_viewContext.prototype.alter_mv_option1 = function() { + return this.getTypedRuleContext(Alter_mv_option1Context,0); +}; + +Alter_materialized_viewContext.prototype.enable_or_disable = function() { + return this.getTypedRuleContext(Enable_or_disableContext,0); +}; + +Alter_materialized_viewContext.prototype.QUERY = function() { + return this.getToken(PlSqlParser.QUERY, 0); +}; + +Alter_materialized_viewContext.prototype.REWRITE = function() { + return this.getToken(PlSqlParser.REWRITE, 0); +}; + +Alter_materialized_viewContext.prototype.COMPILE = function() { + return this.getToken(PlSqlParser.COMPILE, 0); +}; + +Alter_materialized_viewContext.prototype.CONSIDER = function() { + return this.getToken(PlSqlParser.CONSIDER, 0); +}; + +Alter_materialized_viewContext.prototype.FRESH = function() { + return this.getToken(PlSqlParser.FRESH, 0); +}; + +Alter_materialized_viewContext.prototype.cache_or_nocache = function() { + return this.getTypedRuleContext(Cache_or_nocacheContext,0); +}; + +Alter_materialized_viewContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Alter_materialized_viewContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_materialized_view(this); + } +}; + +Alter_materialized_viewContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_materialized_view(this); + } +}; + +Alter_materialized_viewContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_materialized_view(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_materialized_viewContext = Alter_materialized_viewContext; + +PlSqlParser.prototype.alter_materialized_view = function() { + + var localctx = new Alter_materialized_viewContext(this, this._ctx, this.state); + this.enterRule(localctx, 476, PlSqlParser.RULE_alter_materialized_view); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4829; + this.match(PlSqlParser.ALTER); + this.state = 4830; + this.match(PlSqlParser.MATERIALIZED); + this.state = 4831; + this.match(PlSqlParser.VIEW); + this.state = 4832; + this.tableview_name(); + this.state = 4858; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,492,this._ctx); + if(la_===1) { + this.state = 4833; + this.physical_attributes_clause(); + + } else if(la_===2) { + this.state = 4834; + this.modify_mv_column_clause(); + + } else if(la_===3) { + this.state = 4835; + this.table_compression(); + + } else if(la_===4) { + this.state = 4836; + this.lob_storage_clause(); + this.state = 4841; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4837; + this.match(PlSqlParser.COMMA); + this.state = 4838; + this.lob_storage_clause(); + this.state = 4843; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + + } else if(la_===5) { + this.state = 4844; + this.modify_lob_storage_clause(); + this.state = 4849; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4845; + this.match(PlSqlParser.COMMA); + this.state = 4846; + this.modify_lob_storage_clause(); + this.state = 4851; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + + } else if(la_===6) { + this.state = 4852; + this.parallel_clause(); + + } else if(la_===7) { + this.state = 4853; + this.logging_clause(); + + } else if(la_===8) { + this.state = 4854; + this.allocate_extent_clause(); + + } else if(la_===9) { + this.state = 4855; + this.deallocate_unused_clause(); + + } else if(la_===10) { + this.state = 4856; + this.shrink_clause(); + + } else if(la_===11) { + this.state = 4857; + this.cache_or_nocache(); + + } + this.state = 4861; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ADD || _la===PlSqlParser.COALESCE || _la===PlSqlParser.COMPRESS || _la===PlSqlParser.MAPPING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOMAPPING || _la===PlSqlParser.OVERFLOW || _la===PlSqlParser.PCTTHRESHOLD) { + this.state = 4860; + this.alter_iot_clauses(); + } + + this.state = 4866; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.USING) { + this.state = 4863; + this.match(PlSqlParser.USING); + this.state = 4864; + this.match(PlSqlParser.INDEX); + this.state = 4865; + this.physical_attributes_clause(); + } + + this.state = 4869; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REFRESH) { + this.state = 4868; + this.alter_mv_option1(); + } + + this.state = 4878; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.DISABLE: + case PlSqlParser.ENABLE: + this.state = 4871; + this.enable_or_disable(); + this.state = 4872; + this.match(PlSqlParser.QUERY); + this.state = 4873; + this.match(PlSqlParser.REWRITE); + break; + case PlSqlParser.COMPILE: + this.state = 4875; + this.match(PlSqlParser.COMPILE); + break; + case PlSqlParser.CONSIDER: + this.state = 4876; + this.match(PlSqlParser.CONSIDER); + this.state = 4877; + this.match(PlSqlParser.FRESH); + break; + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + this.state = 4880; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_mv_option1Context(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_mv_option1; + return this; +} + +Alter_mv_option1Context.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_mv_option1Context.prototype.constructor = Alter_mv_option1Context; + +Alter_mv_option1Context.prototype.alter_mv_refresh = function() { + return this.getTypedRuleContext(Alter_mv_refreshContext,0); +}; + +Alter_mv_option1Context.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_mv_option1(this); + } +}; + +Alter_mv_option1Context.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_mv_option1(this); + } +}; + +Alter_mv_option1Context.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_mv_option1(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_mv_option1Context = Alter_mv_option1Context; + +PlSqlParser.prototype.alter_mv_option1 = function() { + + var localctx = new Alter_mv_option1Context(this, this._ctx, this.state); + this.enterRule(localctx, 478, PlSqlParser.RULE_alter_mv_option1); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4882; + this.alter_mv_refresh(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_mv_refreshContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_mv_refresh; + return this; +} + +Alter_mv_refreshContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_mv_refreshContext.prototype.constructor = Alter_mv_refreshContext; + +Alter_mv_refreshContext.prototype.REFRESH = function() { + return this.getToken(PlSqlParser.REFRESH, 0); +}; + +Alter_mv_refreshContext.prototype.FAST = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FAST); + } else { + return this.getToken(PlSqlParser.FAST, i); + } +}; + + +Alter_mv_refreshContext.prototype.COMPLETE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMPLETE); + } else { + return this.getToken(PlSqlParser.COMPLETE, i); + } +}; + + +Alter_mv_refreshContext.prototype.FORCE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FORCE); + } else { + return this.getToken(PlSqlParser.FORCE, i); + } +}; + + +Alter_mv_refreshContext.prototype.ON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ON); + } else { + return this.getToken(PlSqlParser.ON, i); + } +}; + + +Alter_mv_refreshContext.prototype.START = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.START); + } else { + return this.getToken(PlSqlParser.START, i); + } +}; + + +Alter_mv_refreshContext.prototype.WITH = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.WITH); + } else { + return this.getToken(PlSqlParser.WITH, i); + } +}; + + +Alter_mv_refreshContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +Alter_mv_refreshContext.prototype.NEXT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NEXT); + } else { + return this.getToken(PlSqlParser.NEXT, i); + } +}; + + +Alter_mv_refreshContext.prototype.PRIMARY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PRIMARY); + } else { + return this.getToken(PlSqlParser.PRIMARY, i); + } +}; + + +Alter_mv_refreshContext.prototype.KEY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.KEY); + } else { + return this.getToken(PlSqlParser.KEY, i); + } +}; + + +Alter_mv_refreshContext.prototype.USING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.USING); + } else { + return this.getToken(PlSqlParser.USING, i); + } +}; + + +Alter_mv_refreshContext.prototype.MASTER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.MASTER); + } else { + return this.getToken(PlSqlParser.MASTER, i); + } +}; + + +Alter_mv_refreshContext.prototype.ROLLBACK = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ROLLBACK); + } else { + return this.getToken(PlSqlParser.ROLLBACK, i); + } +}; + + +Alter_mv_refreshContext.prototype.SEGMENT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SEGMENT); + } else { + return this.getToken(PlSqlParser.SEGMENT, i); + } +}; + + +Alter_mv_refreshContext.prototype.CONSTRAINTS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CONSTRAINTS); + } else { + return this.getToken(PlSqlParser.CONSTRAINTS, i); + } +}; + + +Alter_mv_refreshContext.prototype.DEMAND = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEMAND); + } else { + return this.getToken(PlSqlParser.DEMAND, i); + } +}; + + +Alter_mv_refreshContext.prototype.COMMIT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMIT); + } else { + return this.getToken(PlSqlParser.COMMIT, i); + } +}; + + +Alter_mv_refreshContext.prototype.ENFORCED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ENFORCED); + } else { + return this.getToken(PlSqlParser.ENFORCED, i); + } +}; + + +Alter_mv_refreshContext.prototype.TRUSTED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TRUSTED); + } else { + return this.getToken(PlSqlParser.TRUSTED, i); + } +}; + + +Alter_mv_refreshContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFAULT); + } else { + return this.getToken(PlSqlParser.DEFAULT, i); + } +}; + + +Alter_mv_refreshContext.prototype.rollback_segment = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Rollback_segmentContext); + } else { + return this.getTypedRuleContext(Rollback_segmentContext,i); + } +}; + +Alter_mv_refreshContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_mv_refresh(this); + } +}; + +Alter_mv_refreshContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_mv_refresh(this); + } +}; + +Alter_mv_refreshContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_mv_refresh(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_mv_refreshContext = Alter_mv_refreshContext; + +PlSqlParser.prototype.alter_mv_refresh = function() { + + var localctx = new Alter_mv_refreshContext(this, this._ctx, this.state); + this.enterRule(localctx, 480, PlSqlParser.RULE_alter_mv_refresh); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4884; + this.match(PlSqlParser.REFRESH); + this.state = 4911; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 4911; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,499,this._ctx); + switch(la_) { + case 1: + this.state = 4885; + this.match(PlSqlParser.FAST); + break; + + case 2: + this.state = 4886; + this.match(PlSqlParser.COMPLETE); + break; + + case 3: + this.state = 4887; + this.match(PlSqlParser.FORCE); + break; + + case 4: + this.state = 4888; + this.match(PlSqlParser.ON); + this.state = 4889; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.COMMIT || _la===PlSqlParser.DEMAND)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 5: + this.state = 4890; + this.match(PlSqlParser.START); + this.state = 4891; + this.match(PlSqlParser.WITH); + this.state = 4892; + this.expression(); + break; + + case 6: + this.state = 4893; + this.match(PlSqlParser.NEXT); + this.state = 4894; + this.expression(); + break; + + case 7: + this.state = 4895; + this.match(PlSqlParser.WITH); + this.state = 4896; + this.match(PlSqlParser.PRIMARY); + this.state = 4897; + this.match(PlSqlParser.KEY); + break; + + case 8: + this.state = 4898; + this.match(PlSqlParser.USING); + this.state = 4900; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DEFAULT) { + this.state = 4899; + this.match(PlSqlParser.DEFAULT); + } + + this.state = 4902; + this.match(PlSqlParser.MASTER); + this.state = 4903; + this.match(PlSqlParser.ROLLBACK); + this.state = 4904; + this.match(PlSqlParser.SEGMENT); + this.state = 4906; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,498,this._ctx); + if(la_===1) { + this.state = 4905; + this.rollback_segment(); + + } + break; + + case 9: + this.state = 4908; + this.match(PlSqlParser.USING); + this.state = 4909; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ENFORCED || _la===PlSqlParser.TRUSTED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 4910; + this.match(PlSqlParser.CONSTRAINTS); + break; + + } + this.state = 4913; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.COMPLETE || _la===PlSqlParser.FAST || _la===PlSqlParser.FORCE || _la===PlSqlParser.NEXT || _la===PlSqlParser.ON || _la===PlSqlParser.START || _la===PlSqlParser.USING || _la===PlSqlParser.WITH); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Rollback_segmentContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_rollback_segment; + return this; +} + +Rollback_segmentContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Rollback_segmentContext.prototype.constructor = Rollback_segmentContext; + +Rollback_segmentContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Rollback_segmentContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRollback_segment(this); + } +}; + +Rollback_segmentContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRollback_segment(this); + } +}; + +Rollback_segmentContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRollback_segment(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Rollback_segmentContext = Rollback_segmentContext; + +PlSqlParser.prototype.rollback_segment = function() { + + var localctx = new Rollback_segmentContext(this, this._ctx, this.state); + this.enterRule(localctx, 482, PlSqlParser.RULE_rollback_segment); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4915; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_mv_column_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_mv_column_clause; + return this; +} + +Modify_mv_column_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_mv_column_clauseContext.prototype.constructor = Modify_mv_column_clauseContext; + +Modify_mv_column_clauseContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Modify_mv_column_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Modify_mv_column_clauseContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Modify_mv_column_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Modify_mv_column_clauseContext.prototype.ENCRYPT = function() { + return this.getToken(PlSqlParser.ENCRYPT, 0); +}; + +Modify_mv_column_clauseContext.prototype.encryption_spec = function() { + return this.getTypedRuleContext(Encryption_specContext,0); +}; + +Modify_mv_column_clauseContext.prototype.DECRYPT = function() { + return this.getToken(PlSqlParser.DECRYPT, 0); +}; + +Modify_mv_column_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_mv_column_clause(this); + } +}; + +Modify_mv_column_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_mv_column_clause(this); + } +}; + +Modify_mv_column_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_mv_column_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_mv_column_clauseContext = Modify_mv_column_clauseContext; + +PlSqlParser.prototype.modify_mv_column_clause = function() { + + var localctx = new Modify_mv_column_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 484, PlSqlParser.RULE_modify_mv_column_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4917; + this.match(PlSqlParser.MODIFY); + this.state = 4918; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4919; + this.column_name(); + this.state = 4923; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.ENCRYPT: + this.state = 4920; + this.match(PlSqlParser.ENCRYPT); + this.state = 4921; + this.encryption_spec(); + break; + case PlSqlParser.DECRYPT: + this.state = 4922; + this.match(PlSqlParser.DECRYPT); + break; + case PlSqlParser.RIGHT_PAREN: + break; + default: + break; + } + this.state = 4925; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_materialized_view_logContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_materialized_view_log; + return this; +} + +Alter_materialized_view_logContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_materialized_view_logContext.prototype.constructor = Alter_materialized_view_logContext; + +Alter_materialized_view_logContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_materialized_view_logContext.prototype.MATERIALIZED = function() { + return this.getToken(PlSqlParser.MATERIALIZED, 0); +}; + +Alter_materialized_view_logContext.prototype.VIEW = function() { + return this.getToken(PlSqlParser.VIEW, 0); +}; + +Alter_materialized_view_logContext.prototype.LOG = function() { + return this.getToken(PlSqlParser.LOG, 0); +}; + +Alter_materialized_view_logContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Alter_materialized_view_logContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Alter_materialized_view_logContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_materialized_view_logContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Alter_materialized_view_logContext.prototype.physical_attributes_clause = function() { + return this.getTypedRuleContext(Physical_attributes_clauseContext,0); +}; + +Alter_materialized_view_logContext.prototype.add_mv_log_column_clause = function() { + return this.getTypedRuleContext(Add_mv_log_column_clauseContext,0); +}; + +Alter_materialized_view_logContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Alter_materialized_view_logContext.prototype.logging_clause = function() { + return this.getTypedRuleContext(Logging_clauseContext,0); +}; + +Alter_materialized_view_logContext.prototype.allocate_extent_clause = function() { + return this.getTypedRuleContext(Allocate_extent_clauseContext,0); +}; + +Alter_materialized_view_logContext.prototype.shrink_clause = function() { + return this.getTypedRuleContext(Shrink_clauseContext,0); +}; + +Alter_materialized_view_logContext.prototype.move_mv_log_clause = function() { + return this.getTypedRuleContext(Move_mv_log_clauseContext,0); +}; + +Alter_materialized_view_logContext.prototype.cache_or_nocache = function() { + return this.getTypedRuleContext(Cache_or_nocacheContext,0); +}; + +Alter_materialized_view_logContext.prototype.mv_log_augmentation = function() { + return this.getTypedRuleContext(Mv_log_augmentationContext,0); +}; + +Alter_materialized_view_logContext.prototype.mv_log_purge_clause = function() { + return this.getTypedRuleContext(Mv_log_purge_clauseContext,0); +}; + +Alter_materialized_view_logContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_materialized_view_log(this); + } +}; + +Alter_materialized_view_logContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_materialized_view_log(this); + } +}; + +Alter_materialized_view_logContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_materialized_view_log(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_materialized_view_logContext = Alter_materialized_view_logContext; + +PlSqlParser.prototype.alter_materialized_view_log = function() { + + var localctx = new Alter_materialized_view_logContext(this, this._ctx, this.state); + this.enterRule(localctx, 486, PlSqlParser.RULE_alter_materialized_view_log); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4927; + this.match(PlSqlParser.ALTER); + this.state = 4928; + this.match(PlSqlParser.MATERIALIZED); + this.state = 4929; + this.match(PlSqlParser.VIEW); + this.state = 4930; + this.match(PlSqlParser.LOG); + this.state = 4932; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FORCE) { + this.state = 4931; + this.match(PlSqlParser.FORCE); + } + + this.state = 4934; + this.match(PlSqlParser.ON); + this.state = 4935; + this.tableview_name(); + this.state = 4944; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,503,this._ctx); + if(la_===1) { + this.state = 4936; + this.physical_attributes_clause(); + + } else if(la_===2) { + this.state = 4937; + this.add_mv_log_column_clause(); + + } else if(la_===3) { + this.state = 4938; + this.parallel_clause(); + + } else if(la_===4) { + this.state = 4939; + this.logging_clause(); + + } else if(la_===5) { + this.state = 4940; + this.allocate_extent_clause(); + + } else if(la_===6) { + this.state = 4941; + this.shrink_clause(); + + } else if(la_===7) { + this.state = 4942; + this.move_mv_log_clause(); + + } else if(la_===8) { + this.state = 4943; + this.cache_or_nocache(); + + } + this.state = 4947; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ADD) { + this.state = 4946; + this.mv_log_augmentation(); + } + + this.state = 4950; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PURGE) { + this.state = 4949; + this.mv_log_purge_clause(); + } + + this.state = 4952; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Add_mv_log_column_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_add_mv_log_column_clause; + return this; +} + +Add_mv_log_column_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Add_mv_log_column_clauseContext.prototype.constructor = Add_mv_log_column_clauseContext; + +Add_mv_log_column_clauseContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Add_mv_log_column_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Add_mv_log_column_clauseContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Add_mv_log_column_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Add_mv_log_column_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAdd_mv_log_column_clause(this); + } +}; + +Add_mv_log_column_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAdd_mv_log_column_clause(this); + } +}; + +Add_mv_log_column_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAdd_mv_log_column_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Add_mv_log_column_clauseContext = Add_mv_log_column_clauseContext; + +PlSqlParser.prototype.add_mv_log_column_clause = function() { + + var localctx = new Add_mv_log_column_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 488, PlSqlParser.RULE_add_mv_log_column_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 4954; + this.match(PlSqlParser.ADD); + this.state = 4955; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4956; + this.column_name(); + this.state = 4957; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Move_mv_log_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_move_mv_log_clause; + return this; +} + +Move_mv_log_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Move_mv_log_clauseContext.prototype.constructor = Move_mv_log_clauseContext; + +Move_mv_log_clauseContext.prototype.MOVE = function() { + return this.getToken(PlSqlParser.MOVE, 0); +}; + +Move_mv_log_clauseContext.prototype.segment_attributes_clause = function() { + return this.getTypedRuleContext(Segment_attributes_clauseContext,0); +}; + +Move_mv_log_clauseContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Move_mv_log_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMove_mv_log_clause(this); + } +}; + +Move_mv_log_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMove_mv_log_clause(this); + } +}; + +Move_mv_log_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMove_mv_log_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Move_mv_log_clauseContext = Move_mv_log_clauseContext; + +PlSqlParser.prototype.move_mv_log_clause = function() { + + var localctx = new Move_mv_log_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 490, PlSqlParser.RULE_move_mv_log_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4959; + this.match(PlSqlParser.MOVE); + this.state = 4960; + this.segment_attributes_clause(); + this.state = 4962; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 4961; + this.parallel_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Mv_log_augmentationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_mv_log_augmentation; + return this; +} + +Mv_log_augmentationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Mv_log_augmentationContext.prototype.constructor = Mv_log_augmentationContext; + +Mv_log_augmentationContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Mv_log_augmentationContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Mv_log_augmentationContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Mv_log_augmentationContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Mv_log_augmentationContext.prototype.new_values_clause = function() { + return this.getTypedRuleContext(New_values_clauseContext,0); +}; + +Mv_log_augmentationContext.prototype.OBJECT = function() { + return this.getToken(PlSqlParser.OBJECT, 0); +}; + +Mv_log_augmentationContext.prototype.ID = function() { + return this.getToken(PlSqlParser.ID, 0); +}; + +Mv_log_augmentationContext.prototype.PRIMARY = function() { + return this.getToken(PlSqlParser.PRIMARY, 0); +}; + +Mv_log_augmentationContext.prototype.KEY = function() { + return this.getToken(PlSqlParser.KEY, 0); +}; + +Mv_log_augmentationContext.prototype.ROWID = function() { + return this.getToken(PlSqlParser.ROWID, 0); +}; + +Mv_log_augmentationContext.prototype.SEQUENCE = function() { + return this.getToken(PlSqlParser.SEQUENCE, 0); +}; + +Mv_log_augmentationContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Mv_log_augmentationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMv_log_augmentation(this); + } +}; + +Mv_log_augmentationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMv_log_augmentation(this); + } +}; + +Mv_log_augmentationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMv_log_augmentation(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Mv_log_augmentationContext = Mv_log_augmentationContext; + +PlSqlParser.prototype.mv_log_augmentation = function() { + + var localctx = new Mv_log_augmentationContext(this, this._ctx, this.state); + this.enterRule(localctx, 492, PlSqlParser.RULE_mv_log_augmentation); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 4964; + this.match(PlSqlParser.ADD); + this.state = 4997; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.OBJECT: + case PlSqlParser.PRIMARY: + case PlSqlParser.ROWID: + case PlSqlParser.SEQUENCE: + this.state = 4971; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.OBJECT: + this.state = 4965; + this.match(PlSqlParser.OBJECT); + this.state = 4966; + this.match(PlSqlParser.ID); + break; + case PlSqlParser.PRIMARY: + this.state = 4967; + this.match(PlSqlParser.PRIMARY); + this.state = 4968; + this.match(PlSqlParser.KEY); + break; + case PlSqlParser.ROWID: + this.state = 4969; + this.match(PlSqlParser.ROWID); + break; + case PlSqlParser.SEQUENCE: + this.state = 4970; + this.match(PlSqlParser.SEQUENCE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 4984; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 4973; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4974; + this.column_name(); + this.state = 4979; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4975; + this.match(PlSqlParser.COMMA); + this.state = 4976; + this.column_name(); + this.state = 4981; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4982; + this.match(PlSqlParser.RIGHT_PAREN); + } + + break; + case PlSqlParser.LEFT_PAREN: + this.state = 4986; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 4987; + this.column_name(); + this.state = 4992; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 4988; + this.match(PlSqlParser.COMMA); + this.state = 4989; + this.column_name(); + this.state = 4994; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 4995; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5000; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EXCLUDING || _la===PlSqlParser.INCLUDING) { + this.state = 4999; + this.new_values_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Datetime_exprContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_datetime_expr; + return this; +} + +Datetime_exprContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Datetime_exprContext.prototype.constructor = Datetime_exprContext; + +Datetime_exprContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Datetime_exprContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDatetime_expr(this); + } +}; + +Datetime_exprContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDatetime_expr(this); + } +}; + +Datetime_exprContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDatetime_expr(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Datetime_exprContext = Datetime_exprContext; + +PlSqlParser.prototype.datetime_expr = function() { + + var localctx = new Datetime_exprContext(this, this._ctx, this.state); + this.enterRule(localctx, 494, PlSqlParser.RULE_datetime_expr); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5002; + this.expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Interval_exprContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_interval_expr; + return this; +} + +Interval_exprContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Interval_exprContext.prototype.constructor = Interval_exprContext; + +Interval_exprContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Interval_exprContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterInterval_expr(this); + } +}; + +Interval_exprContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitInterval_expr(this); + } +}; + +Interval_exprContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitInterval_expr(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Interval_exprContext = Interval_exprContext; + +PlSqlParser.prototype.interval_expr = function() { + + var localctx = new Interval_exprContext(this, this._ctx, this.state); + this.enterRule(localctx, 496, PlSqlParser.RULE_interval_expr); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5004; + this.expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Synchronous_or_asynchronousContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_synchronous_or_asynchronous; + return this; +} + +Synchronous_or_asynchronousContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Synchronous_or_asynchronousContext.prototype.constructor = Synchronous_or_asynchronousContext; + +Synchronous_or_asynchronousContext.prototype.SYNCHRONOUS = function() { + return this.getToken(PlSqlParser.SYNCHRONOUS, 0); +}; + +Synchronous_or_asynchronousContext.prototype.ASYNCHRONOUS = function() { + return this.getToken(PlSqlParser.ASYNCHRONOUS, 0); +}; + +Synchronous_or_asynchronousContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSynchronous_or_asynchronous(this); + } +}; + +Synchronous_or_asynchronousContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSynchronous_or_asynchronous(this); + } +}; + +Synchronous_or_asynchronousContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSynchronous_or_asynchronous(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Synchronous_or_asynchronousContext = Synchronous_or_asynchronousContext; + +PlSqlParser.prototype.synchronous_or_asynchronous = function() { + + var localctx = new Synchronous_or_asynchronousContext(this, this._ctx, this.state); + this.enterRule(localctx, 498, PlSqlParser.RULE_synchronous_or_asynchronous); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5006; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ASYNCHRONOUS || _la===PlSqlParser.SYNCHRONOUS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Including_or_excludingContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_including_or_excluding; + return this; +} + +Including_or_excludingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Including_or_excludingContext.prototype.constructor = Including_or_excludingContext; + +Including_or_excludingContext.prototype.INCLUDING = function() { + return this.getToken(PlSqlParser.INCLUDING, 0); +}; + +Including_or_excludingContext.prototype.EXCLUDING = function() { + return this.getToken(PlSqlParser.EXCLUDING, 0); +}; + +Including_or_excludingContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIncluding_or_excluding(this); + } +}; + +Including_or_excludingContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIncluding_or_excluding(this); + } +}; + +Including_or_excludingContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIncluding_or_excluding(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Including_or_excludingContext = Including_or_excludingContext; + +PlSqlParser.prototype.including_or_excluding = function() { + + var localctx = new Including_or_excludingContext(this, this._ctx, this.state); + this.enterRule(localctx, 500, PlSqlParser.RULE_including_or_excluding); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5008; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.EXCLUDING || _la===PlSqlParser.INCLUDING)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_materialized_view_logContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_materialized_view_log; + this.tablespace_name = null; // Id_expressionContext + return this; +} + +Create_materialized_view_logContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_materialized_view_logContext.prototype.constructor = Create_materialized_view_logContext; + +Create_materialized_view_logContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_materialized_view_logContext.prototype.MATERIALIZED = function() { + return this.getToken(PlSqlParser.MATERIALIZED, 0); +}; + +Create_materialized_view_logContext.prototype.VIEW = function() { + return this.getToken(PlSqlParser.VIEW, 0); +}; + +Create_materialized_view_logContext.prototype.LOG = function() { + return this.getToken(PlSqlParser.LOG, 0); +}; + +Create_materialized_view_logContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Create_materialized_view_logContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Create_materialized_view_logContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Create_materialized_view_logContext.prototype.WITH = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.WITH); + } else { + return this.getToken(PlSqlParser.WITH, i); + } +}; + + +Create_materialized_view_logContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Create_materialized_view_logContext.prototype.TABLESPACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLESPACE); + } else { + return this.getToken(PlSqlParser.TABLESPACE, i); + } +}; + + +Create_materialized_view_logContext.prototype.logging_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logging_clauseContext); + } else { + return this.getTypedRuleContext(Logging_clauseContext,i); + } +}; + +Create_materialized_view_logContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Create_materialized_view_logContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Create_materialized_view_logContext.prototype.mv_log_purge_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Mv_log_purge_clauseContext); + } else { + return this.getTypedRuleContext(Mv_log_purge_clauseContext,i); + } +}; + +Create_materialized_view_logContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +Create_materialized_view_logContext.prototype.CACHE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CACHE); + } else { + return this.getToken(PlSqlParser.CACHE, i); + } +}; + + +Create_materialized_view_logContext.prototype.NOCACHE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NOCACHE); + } else { + return this.getToken(PlSqlParser.NOCACHE, i); + } +}; + + +Create_materialized_view_logContext.prototype.OBJECT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.OBJECT); + } else { + return this.getToken(PlSqlParser.OBJECT, i); + } +}; + + +Create_materialized_view_logContext.prototype.ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ID); + } else { + return this.getToken(PlSqlParser.ID, i); + } +}; + + +Create_materialized_view_logContext.prototype.PRIMARY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PRIMARY); + } else { + return this.getToken(PlSqlParser.PRIMARY, i); + } +}; + + +Create_materialized_view_logContext.prototype.KEY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.KEY); + } else { + return this.getToken(PlSqlParser.KEY, i); + } +}; + + +Create_materialized_view_logContext.prototype.ROWID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ROWID); + } else { + return this.getToken(PlSqlParser.ROWID, i); + } +}; + + +Create_materialized_view_logContext.prototype.SEQUENCE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SEQUENCE); + } else { + return this.getToken(PlSqlParser.SEQUENCE, i); + } +}; + + +Create_materialized_view_logContext.prototype.COMMIT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMIT); + } else { + return this.getToken(PlSqlParser.COMMIT, i); + } +}; + + +Create_materialized_view_logContext.prototype.SCN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SCN); + } else { + return this.getToken(PlSqlParser.SCN, i); + } +}; + + +Create_materialized_view_logContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Create_materialized_view_logContext.prototype.regular_id = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Regular_idContext); + } else { + return this.getTypedRuleContext(Regular_idContext,i); + } +}; + +Create_materialized_view_logContext.prototype.new_values_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(New_values_clauseContext); + } else { + return this.getTypedRuleContext(New_values_clauseContext,i); + } +}; + +Create_materialized_view_logContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_materialized_view_log(this); + } +}; + +Create_materialized_view_logContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_materialized_view_log(this); + } +}; + +Create_materialized_view_logContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_materialized_view_log(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_materialized_view_logContext = Create_materialized_view_logContext; + +PlSqlParser.prototype.create_materialized_view_log = function() { + + var localctx = new Create_materialized_view_logContext(this, this._ctx, this.state); + this.enterRule(localctx, 502, PlSqlParser.RULE_create_materialized_view_log); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5010; + this.match(PlSqlParser.CREATE); + this.state = 5011; + this.match(PlSqlParser.MATERIALIZED); + this.state = 5012; + this.match(PlSqlParser.VIEW); + this.state = 5013; + this.match(PlSqlParser.LOG); + this.state = 5014; + this.match(PlSqlParser.ON); + this.state = 5015; + this.tableview_name(); + this.state = 5025; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,515,this._ctx); + if(la_===1) { + this.state = 5021; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 5021; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 5016; + this.physical_attributes_clause(); + break; + case PlSqlParser.TABLESPACE: + this.state = 5017; + this.match(PlSqlParser.TABLESPACE); + this.state = 5018; + localctx.tablespace_name = this.id_expression(); + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.state = 5019; + this.logging_clause(); + break; + case PlSqlParser.CACHE: + case PlSqlParser.NOCACHE: + this.state = 5020; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5023; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,514, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + + } + this.state = 5028; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,516,this._ctx); + if(la_===1) { + this.state = 5027; + this.parallel_clause(); + + } + this.state = 5069; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,525,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 5030; + this.match(PlSqlParser.WITH); + this.state = 5046; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,519,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 5032; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 5031; + this.match(PlSqlParser.COMMA); + } + + this.state = 5042; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.OBJECT: + this.state = 5034; + this.match(PlSqlParser.OBJECT); + this.state = 5035; + this.match(PlSqlParser.ID); + break; + case PlSqlParser.PRIMARY: + this.state = 5036; + this.match(PlSqlParser.PRIMARY); + this.state = 5037; + this.match(PlSqlParser.KEY); + break; + case PlSqlParser.ROWID: + this.state = 5038; + this.match(PlSqlParser.ROWID); + break; + case PlSqlParser.SEQUENCE: + this.state = 5039; + this.match(PlSqlParser.SEQUENCE); + break; + case PlSqlParser.COMMIT: + this.state = 5040; + this.match(PlSqlParser.COMMIT); + this.state = 5041; + this.match(PlSqlParser.SCN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + this.state = 5048; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,519,this._ctx); + } + + this.state = 5062; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,523,this._ctx); + if(la_===1) { + this.state = 5049; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5054; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5051; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 5050; + this.match(PlSqlParser.COMMA); + } + + this.state = 5053; + this.regular_id(); + this.state = 5056; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.COMMA - 2211)))) !== 0) || _la===PlSqlParser.REGULAR_ID); + this.state = 5058; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5060; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,522,this._ctx); + if(la_===1) { + this.state = 5059; + this.new_values_clause(); + + } + + } + this.state = 5065; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,524,this._ctx); + if(la_===1) { + this.state = 5064; + this.mv_log_purge_clause(); + + } + } + this.state = 5071; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,525,this._ctx); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function New_values_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_new_values_clause; + return this; +} + +New_values_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +New_values_clauseContext.prototype.constructor = New_values_clauseContext; + +New_values_clauseContext.prototype.NEW = function() { + return this.getToken(PlSqlParser.NEW, 0); +}; + +New_values_clauseContext.prototype.VALUES = function() { + return this.getToken(PlSqlParser.VALUES, 0); +}; + +New_values_clauseContext.prototype.INCLUDING = function() { + return this.getToken(PlSqlParser.INCLUDING, 0); +}; + +New_values_clauseContext.prototype.EXCLUDING = function() { + return this.getToken(PlSqlParser.EXCLUDING, 0); +}; + +New_values_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNew_values_clause(this); + } +}; + +New_values_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNew_values_clause(this); + } +}; + +New_values_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNew_values_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.New_values_clauseContext = New_values_clauseContext; + +PlSqlParser.prototype.new_values_clause = function() { + + var localctx = new New_values_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 504, PlSqlParser.RULE_new_values_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5072; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.EXCLUDING || _la===PlSqlParser.INCLUDING)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5073; + this.match(PlSqlParser.NEW); + this.state = 5074; + this.match(PlSqlParser.VALUES); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Mv_log_purge_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_mv_log_purge_clause; + return this; +} + +Mv_log_purge_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Mv_log_purge_clauseContext.prototype.constructor = Mv_log_purge_clauseContext; + +Mv_log_purge_clauseContext.prototype.PURGE = function() { + return this.getToken(PlSqlParser.PURGE, 0); +}; + +Mv_log_purge_clauseContext.prototype.IMMEDIATE = function() { + return this.getToken(PlSqlParser.IMMEDIATE, 0); +}; + +Mv_log_purge_clauseContext.prototype.SYNCHRONOUS = function() { + return this.getToken(PlSqlParser.SYNCHRONOUS, 0); +}; + +Mv_log_purge_clauseContext.prototype.ASYNCHRONOUS = function() { + return this.getToken(PlSqlParser.ASYNCHRONOUS, 0); +}; + +Mv_log_purge_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMv_log_purge_clause(this); + } +}; + +Mv_log_purge_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMv_log_purge_clause(this); + } +}; + +Mv_log_purge_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMv_log_purge_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Mv_log_purge_clauseContext = Mv_log_purge_clauseContext; + +PlSqlParser.prototype.mv_log_purge_clause = function() { + + var localctx = new Mv_log_purge_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 506, PlSqlParser.RULE_mv_log_purge_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5076; + this.match(PlSqlParser.PURGE); + + this.state = 5077; + this.match(PlSqlParser.IMMEDIATE); + this.state = 5079; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,526,this._ctx); + if(la_===1) { + this.state = 5078; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ASYNCHRONOUS || _la===PlSqlParser.SYNCHRONOUS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_materialized_viewContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_materialized_view; + this.mv_tablespace = null; // Id_expressionContext + return this; +} + +Create_materialized_viewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_materialized_viewContext.prototype.constructor = Create_materialized_viewContext; + +Create_materialized_viewContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_materialized_viewContext.prototype.MATERIALIZED = function() { + return this.getToken(PlSqlParser.MATERIALIZED, 0); +}; + +Create_materialized_viewContext.prototype.VIEW = function() { + return this.getToken(PlSqlParser.VIEW, 0); +}; + +Create_materialized_viewContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Create_materialized_viewContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_materialized_viewContext.prototype.select_only_statement = function() { + return this.getTypedRuleContext(Select_only_statementContext,0); +}; + +Create_materialized_viewContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_materialized_viewContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Create_materialized_viewContext.prototype.PREBUILT = function() { + return this.getToken(PlSqlParser.PREBUILT, 0); +}; + +Create_materialized_viewContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Create_materialized_viewContext.prototype.OF = function() { + return this.getToken(PlSqlParser.OF, 0); +}; + +Create_materialized_viewContext.prototype.type_name = function() { + return this.getTypedRuleContext(Type_nameContext,0); +}; + +Create_materialized_viewContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Create_materialized_viewContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Create_materialized_viewContext.prototype.NO = function() { + return this.getToken(PlSqlParser.NO, 0); +}; + +Create_materialized_viewContext.prototype.create_mv_refresh = function() { + return this.getTypedRuleContext(Create_mv_refreshContext,0); +}; + +Create_materialized_viewContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Create_materialized_viewContext.prototype.UPDATE = function() { + return this.getToken(PlSqlParser.UPDATE, 0); +}; + +Create_materialized_viewContext.prototype.QUERY = function() { + return this.getToken(PlSqlParser.QUERY, 0); +}; + +Create_materialized_viewContext.prototype.REWRITE = function() { + return this.getToken(PlSqlParser.REWRITE, 0); +}; + +Create_materialized_viewContext.prototype.DISABLE = function() { + return this.getToken(PlSqlParser.DISABLE, 0); +}; + +Create_materialized_viewContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +Create_materialized_viewContext.prototype.REDUCED = function() { + return this.getToken(PlSqlParser.REDUCED, 0); +}; + +Create_materialized_viewContext.prototype.PRECISION = function() { + return this.getToken(PlSqlParser.PRECISION, 0); +}; + +Create_materialized_viewContext.prototype.physical_properties = function() { + return this.getTypedRuleContext(Physical_propertiesContext,0); +}; + +Create_materialized_viewContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Create_materialized_viewContext.prototype.build_clause = function() { + return this.getTypedRuleContext(Build_clauseContext,0); +}; + +Create_materialized_viewContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Create_materialized_viewContext.prototype.WITHOUT = function() { + return this.getToken(PlSqlParser.WITHOUT, 0); +}; + +Create_materialized_viewContext.prototype.CACHE = function() { + return this.getToken(PlSqlParser.CACHE, 0); +}; + +Create_materialized_viewContext.prototype.NOCACHE = function() { + return this.getToken(PlSqlParser.NOCACHE, 0); +}; + +Create_materialized_viewContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Create_materialized_viewContext.prototype.TABLESPACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLESPACE); + } else { + return this.getToken(PlSqlParser.TABLESPACE, i); + } +}; + + +Create_materialized_viewContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +Create_materialized_viewContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_materialized_view(this); + } +}; + +Create_materialized_viewContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_materialized_view(this); + } +}; + +Create_materialized_viewContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_materialized_view(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_materialized_viewContext = Create_materialized_viewContext; + +PlSqlParser.prototype.create_materialized_view = function() { + + var localctx = new Create_materialized_viewContext(this, this._ctx, this.state); + this.enterRule(localctx, 508, PlSqlParser.RULE_create_materialized_view); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5081; + this.match(PlSqlParser.CREATE); + this.state = 5082; + this.match(PlSqlParser.MATERIALIZED); + this.state = 5083; + this.match(PlSqlParser.VIEW); + this.state = 5084; + this.tableview_name(); + this.state = 5087; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OF) { + this.state = 5085; + this.match(PlSqlParser.OF); + this.state = 5086; + this.type_name(); + } + + this.state = 5109; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ON: + this.state = 5089; + this.match(PlSqlParser.ON); + this.state = 5090; + this.match(PlSqlParser.PREBUILT); + this.state = 5091; + this.match(PlSqlParser.TABLE); + this.state = 5095; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.WITHOUT || _la===PlSqlParser.WITH) { + this.state = 5092; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.WITHOUT || _la===PlSqlParser.WITH)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5093; + this.match(PlSqlParser.REDUCED); + this.state = 5094; + this.match(PlSqlParser.PRECISION); + } + + break; + case PlSqlParser.AS: + case PlSqlParser.BUILD: + case PlSqlParser.CACHE: + case PlSqlParser.DISABLE: + case PlSqlParser.ENABLE: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FOR: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NEVER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.REFRESH: + case PlSqlParser.SEGMENT: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + case PlSqlParser.USING: + this.state = 5098; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.SEGMENT || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 5097; + this.physical_properties(); + } + + this.state = 5101; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE) { + this.state = 5100; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5104; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 5103; + this.parallel_clause(); + } + + this.state = 5107; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BUILD) { + this.state = 5106; + this.build_clause(); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5128; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,537,this._ctx); + if(la_===1) { + this.state = 5111; + this.match(PlSqlParser.USING); + this.state = 5112; + this.match(PlSqlParser.INDEX); + this.state = 5122; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.INITRANS || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 5116; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 5116; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 5113; + this.physical_attributes_clause(); + break; + case PlSqlParser.TABLESPACE: + this.state = 5114; + this.match(PlSqlParser.TABLESPACE); + this.state = 5115; + localctx.mv_tablespace = this.id_expression(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5118; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,535, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 5124; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + + } else if(la_===2) { + this.state = 5125; + this.match(PlSqlParser.USING); + this.state = 5126; + this.match(PlSqlParser.NO); + this.state = 5127; + this.match(PlSqlParser.INDEX); + + } + this.state = 5131; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NEVER || _la===PlSqlParser.REFRESH) { + this.state = 5130; + this.create_mv_refresh(); + } + + this.state = 5135; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FOR) { + this.state = 5133; + this.match(PlSqlParser.FOR); + this.state = 5134; + this.match(PlSqlParser.UPDATE); + } + + this.state = 5140; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE) { + this.state = 5137; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5138; + this.match(PlSqlParser.QUERY); + this.state = 5139; + this.match(PlSqlParser.REWRITE); + } + + this.state = 5142; + this.match(PlSqlParser.AS); + this.state = 5143; + this.select_only_statement(); + this.state = 5144; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_mv_refreshContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_mv_refresh; + this.rb_segment = null; // Token + return this; +} + +Create_mv_refreshContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_mv_refreshContext.prototype.constructor = Create_mv_refreshContext; + +Create_mv_refreshContext.prototype.NEVER = function() { + return this.getToken(PlSqlParser.NEVER, 0); +}; + +Create_mv_refreshContext.prototype.REFRESH = function() { + return this.getToken(PlSqlParser.REFRESH, 0); +}; + +Create_mv_refreshContext.prototype.ON = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ON); + } else { + return this.getToken(PlSqlParser.ON, i); + } +}; + + +Create_mv_refreshContext.prototype.WITH = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.WITH); + } else { + return this.getToken(PlSqlParser.WITH, i); + } +}; + + +Create_mv_refreshContext.prototype.USING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.USING); + } else { + return this.getToken(PlSqlParser.USING, i); + } +}; + + +Create_mv_refreshContext.prototype.CONSTRAINTS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CONSTRAINTS); + } else { + return this.getToken(PlSqlParser.CONSTRAINTS, i); + } +}; + + +Create_mv_refreshContext.prototype.FAST = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FAST); + } else { + return this.getToken(PlSqlParser.FAST, i); + } +}; + + +Create_mv_refreshContext.prototype.COMPLETE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMPLETE); + } else { + return this.getToken(PlSqlParser.COMPLETE, i); + } +}; + + +Create_mv_refreshContext.prototype.FORCE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FORCE); + } else { + return this.getToken(PlSqlParser.FORCE, i); + } +}; + + +Create_mv_refreshContext.prototype.DEMAND = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEMAND); + } else { + return this.getToken(PlSqlParser.DEMAND, i); + } +}; + + +Create_mv_refreshContext.prototype.COMMIT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMIT); + } else { + return this.getToken(PlSqlParser.COMMIT, i); + } +}; + + +Create_mv_refreshContext.prototype.ENFORCED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ENFORCED); + } else { + return this.getToken(PlSqlParser.ENFORCED, i); + } +}; + + +Create_mv_refreshContext.prototype.TRUSTED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TRUSTED); + } else { + return this.getToken(PlSqlParser.TRUSTED, i); + } +}; + + +Create_mv_refreshContext.prototype.START = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.START); + } else { + return this.getToken(PlSqlParser.START, i); + } +}; + + +Create_mv_refreshContext.prototype.NEXT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NEXT); + } else { + return this.getToken(PlSqlParser.NEXT, i); + } +}; + + +Create_mv_refreshContext.prototype.PRIMARY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PRIMARY); + } else { + return this.getToken(PlSqlParser.PRIMARY, i); + } +}; + + +Create_mv_refreshContext.prototype.KEY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.KEY); + } else { + return this.getToken(PlSqlParser.KEY, i); + } +}; + + +Create_mv_refreshContext.prototype.ROWID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ROWID); + } else { + return this.getToken(PlSqlParser.ROWID, i); + } +}; + + +Create_mv_refreshContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFAULT); + } else { + return this.getToken(PlSqlParser.DEFAULT, i); + } +}; + + +Create_mv_refreshContext.prototype.ROLLBACK = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ROLLBACK); + } else { + return this.getToken(PlSqlParser.ROLLBACK, i); + } +}; + + +Create_mv_refreshContext.prototype.SEGMENT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SEGMENT); + } else { + return this.getToken(PlSqlParser.SEGMENT, i); + } +}; + + +Create_mv_refreshContext.prototype.REGULAR_ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.REGULAR_ID); + } else { + return this.getToken(PlSqlParser.REGULAR_ID, i); + } +}; + + +Create_mv_refreshContext.prototype.MASTER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.MASTER); + } else { + return this.getToken(PlSqlParser.MASTER, i); + } +}; + + +Create_mv_refreshContext.prototype.LOCAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LOCAL); + } else { + return this.getToken(PlSqlParser.LOCAL, i); + } +}; + + +Create_mv_refreshContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_mv_refresh(this); + } +}; + +Create_mv_refreshContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_mv_refresh(this); + } +}; + +Create_mv_refreshContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_mv_refresh(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_mv_refreshContext = Create_mv_refreshContext; + +PlSqlParser.prototype.create_mv_refresh = function() { + + var localctx = new Create_mv_refreshContext(this, this._ctx, this.state); + this.enterRule(localctx, 510, PlSqlParser.RULE_create_mv_refresh); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5185; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.NEVER: + this.state = 5146; + this.match(PlSqlParser.NEVER); + this.state = 5147; + this.match(PlSqlParser.REFRESH); + break; + case PlSqlParser.REFRESH: + this.state = 5148; + this.match(PlSqlParser.REFRESH); + this.state = 5181; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5181; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,546,this._ctx); + switch(la_) { + case 1: + this.state = 5149; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.COMPLETE || _la===PlSqlParser.FAST || _la===PlSqlParser.FORCE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 2: + this.state = 5150; + this.match(PlSqlParser.ON); + this.state = 5151; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.COMMIT || _la===PlSqlParser.DEMAND)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + case 3: + this.state = 5155; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.START: + this.state = 5152; + this.match(PlSqlParser.START); + this.state = 5153; + this.match(PlSqlParser.WITH); + break; + case PlSqlParser.NEXT: + this.state = 5154; + this.match(PlSqlParser.NEXT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 4: + this.state = 5157; + this.match(PlSqlParser.WITH); + this.state = 5161; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.PRIMARY: + this.state = 5158; + this.match(PlSqlParser.PRIMARY); + this.state = 5159; + this.match(PlSqlParser.KEY); + break; + case PlSqlParser.ROWID: + this.state = 5160; + this.match(PlSqlParser.ROWID); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 5: + this.state = 5163; + this.match(PlSqlParser.USING); + this.state = 5176; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DEFAULT: + this.state = 5164; + this.match(PlSqlParser.DEFAULT); + this.state = 5166; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOCAL || _la===PlSqlParser.MASTER) { + this.state = 5165; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOCAL || _la===PlSqlParser.MASTER)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5168; + this.match(PlSqlParser.ROLLBACK); + this.state = 5169; + this.match(PlSqlParser.SEGMENT); + break; + case PlSqlParser.LOCAL: + case PlSqlParser.MASTER: + case PlSqlParser.ROLLBACK: + this.state = 5171; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOCAL || _la===PlSqlParser.MASTER) { + this.state = 5170; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOCAL || _la===PlSqlParser.MASTER)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5173; + this.match(PlSqlParser.ROLLBACK); + this.state = 5174; + this.match(PlSqlParser.SEGMENT); + this.state = 5175; + localctx.rb_segment = this.match(PlSqlParser.REGULAR_ID); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 6: + this.state = 5178; + this.match(PlSqlParser.USING); + this.state = 5179; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ENFORCED || _la===PlSqlParser.TRUSTED)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5180; + this.match(PlSqlParser.CONSTRAINTS); + break; + + } + this.state = 5183; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.COMPLETE || _la===PlSqlParser.FAST || _la===PlSqlParser.FORCE || _la===PlSqlParser.NEXT || _la===PlSqlParser.ON || _la===PlSqlParser.START || _la===PlSqlParser.USING || _la===PlSqlParser.WITH); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_contextContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_context; + return this; +} + +Create_contextContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_contextContext.prototype.constructor = Create_contextContext; + +Create_contextContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_contextContext.prototype.CONTEXT = function() { + return this.getToken(PlSqlParser.CONTEXT, 0); +}; + +Create_contextContext.prototype.oracle_namespace = function() { + return this.getTypedRuleContext(Oracle_namespaceContext,0); +}; + +Create_contextContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Create_contextContext.prototype.package_name = function() { + return this.getTypedRuleContext(Package_nameContext,0); +}; + +Create_contextContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_contextContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_contextContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_contextContext.prototype.schema_object_name = function() { + return this.getTypedRuleContext(Schema_object_nameContext,0); +}; + +Create_contextContext.prototype.PERIOD = function() { + return this.getToken(PlSqlParser.PERIOD, 0); +}; + +Create_contextContext.prototype.INITIALIZED = function() { + return this.getToken(PlSqlParser.INITIALIZED, 0); +}; + +Create_contextContext.prototype.ACCESSED = function() { + return this.getToken(PlSqlParser.ACCESSED, 0); +}; + +Create_contextContext.prototype.GLOBALLY = function() { + return this.getToken(PlSqlParser.GLOBALLY, 0); +}; + +Create_contextContext.prototype.EXTERNALLY = function() { + return this.getToken(PlSqlParser.EXTERNALLY, 0); +}; + +Create_contextContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_context(this); + } +}; + +Create_contextContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_context(this); + } +}; + +Create_contextContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_context(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_contextContext = Create_contextContext; + +PlSqlParser.prototype.create_context = function() { + + var localctx = new Create_contextContext(this, this._ctx, this.state); + this.enterRule(localctx, 512, PlSqlParser.RULE_create_context); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5187; + this.match(PlSqlParser.CREATE); + this.state = 5190; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 5188; + this.match(PlSqlParser.OR); + this.state = 5189; + this.match(PlSqlParser.REPLACE); + } + + this.state = 5192; + this.match(PlSqlParser.CONTEXT); + this.state = 5193; + this.oracle_namespace(); + this.state = 5194; + this.match(PlSqlParser.USING); + this.state = 5198; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,550,this._ctx); + if(la_===1) { + this.state = 5195; + this.schema_object_name(); + this.state = 5196; + this.match(PlSqlParser.PERIOD); + + } + this.state = 5200; + this.package_name(); + this.state = 5205; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.INITIALIZED: + this.state = 5201; + this.match(PlSqlParser.INITIALIZED); + this.state = 5202; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.EXTERNALLY || _la===PlSqlParser.GLOBALLY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.ACCESSED: + this.state = 5203; + this.match(PlSqlParser.ACCESSED); + this.state = 5204; + this.match(PlSqlParser.GLOBALLY); + break; + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + this.state = 5207; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Oracle_namespaceContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_oracle_namespace; + return this; +} + +Oracle_namespaceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Oracle_namespaceContext.prototype.constructor = Oracle_namespaceContext; + +Oracle_namespaceContext.prototype.id_expression = function() { + return this.getTypedRuleContext(Id_expressionContext,0); +}; + +Oracle_namespaceContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOracle_namespace(this); + } +}; + +Oracle_namespaceContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOracle_namespace(this); + } +}; + +Oracle_namespaceContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOracle_namespace(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Oracle_namespaceContext = Oracle_namespaceContext; + +PlSqlParser.prototype.oracle_namespace = function() { + + var localctx = new Oracle_namespaceContext(this, this._ctx, this.state); + this.enterRule(localctx, 514, PlSqlParser.RULE_oracle_namespace); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5209; + this.id_expression(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_clusterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_cluster; + return this; +} + +Create_clusterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_clusterContext.prototype.constructor = Create_clusterContext; + +Create_clusterContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_clusterContext.prototype.CLUSTER = function() { + return this.getToken(PlSqlParser.CLUSTER, 0); +}; + +Create_clusterContext.prototype.cluster_name = function() { + return this.getTypedRuleContext(Cluster_nameContext,0); +}; + +Create_clusterContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Create_clusterContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Create_clusterContext.prototype.datatype = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DatatypeContext); + } else { + return this.getTypedRuleContext(DatatypeContext,i); + } +}; + +Create_clusterContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Create_clusterContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_clusterContext.prototype.SORT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SORT); + } else { + return this.getToken(PlSqlParser.SORT, i); + } +}; + + +Create_clusterContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Create_clusterContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Create_clusterContext.prototype.SIZE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SIZE); + } else { + return this.getToken(PlSqlParser.SIZE, i); + } +}; + + +Create_clusterContext.prototype.size_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Size_clauseContext); + } else { + return this.getTypedRuleContext(Size_clauseContext,i); + } +}; + +Create_clusterContext.prototype.TABLESPACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLESPACE); + } else { + return this.getToken(PlSqlParser.TABLESPACE, i); + } +}; + + +Create_clusterContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Create_clusterContext.prototype.INDEX = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.INDEX); + } else { + return this.getToken(PlSqlParser.INDEX, i); + } +}; + + +Create_clusterContext.prototype.HASHKEYS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.HASHKEYS); + } else { + return this.getToken(PlSqlParser.HASHKEYS, i); + } +}; + + +Create_clusterContext.prototype.UNSIGNED_INTEGER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNSIGNED_INTEGER); + } else { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, i); + } +}; + + +Create_clusterContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Create_clusterContext.prototype.ROWDEPENDENCIES = function() { + return this.getToken(PlSqlParser.ROWDEPENDENCIES, 0); +}; + +Create_clusterContext.prototype.NOROWDEPENDENCIES = function() { + return this.getToken(PlSqlParser.NOROWDEPENDENCIES, 0); +}; + +Create_clusterContext.prototype.CACHE = function() { + return this.getToken(PlSqlParser.CACHE, 0); +}; + +Create_clusterContext.prototype.NOCACHE = function() { + return this.getToken(PlSqlParser.NOCACHE, 0); +}; + +Create_clusterContext.prototype.SINGLE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SINGLE); + } else { + return this.getToken(PlSqlParser.SINGLE, i); + } +}; + + +Create_clusterContext.prototype.TABLE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLE); + } else { + return this.getToken(PlSqlParser.TABLE, i); + } +}; + + +Create_clusterContext.prototype.HASH = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.HASH); + } else { + return this.getToken(PlSqlParser.HASH, i); + } +}; + + +Create_clusterContext.prototype.IS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.IS); + } else { + return this.getToken(PlSqlParser.IS, i); + } +}; + + +Create_clusterContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +Create_clusterContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_cluster(this); + } +}; + +Create_clusterContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_cluster(this); + } +}; + +Create_clusterContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_cluster(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_clusterContext = Create_clusterContext; + +PlSqlParser.prototype.create_cluster = function() { + + var localctx = new Create_clusterContext(this, this._ctx, this.state); + this.enterRule(localctx, 516, PlSqlParser.RULE_create_cluster); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5211; + this.match(PlSqlParser.CREATE); + this.state = 5212; + this.match(PlSqlParser.CLUSTER); + this.state = 5213; + this.cluster_name(); + this.state = 5214; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5215; + this.column_name(); + this.state = 5216; + this.datatype(); + this.state = 5218; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SORT) { + this.state = 5217; + this.match(PlSqlParser.SORT); + } + + this.state = 5228; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5220; + this.match(PlSqlParser.COMMA); + this.state = 5221; + this.column_name(); + this.state = 5222; + this.datatype(); + this.state = 5224; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SORT) { + this.state = 5223; + this.match(PlSqlParser.SORT); + } + + this.state = 5230; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5231; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5251; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.HASHKEYS || _la===PlSqlParser.INDEX || _la===PlSqlParser.INITRANS || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.SINGLE || _la===PlSqlParser.SIZE || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 5249; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 5232; + this.physical_attributes_clause(); + break; + case PlSqlParser.SIZE: + this.state = 5233; + this.match(PlSqlParser.SIZE); + this.state = 5234; + this.size_clause(); + break; + case PlSqlParser.TABLESPACE: + this.state = 5235; + this.match(PlSqlParser.TABLESPACE); + this.state = 5236; + this.tablespace(); + break; + case PlSqlParser.INDEX: + this.state = 5237; + this.match(PlSqlParser.INDEX); + break; + case PlSqlParser.HASHKEYS: + case PlSqlParser.SINGLE: + this.state = 5240; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SINGLE) { + this.state = 5238; + this.match(PlSqlParser.SINGLE); + this.state = 5239; + this.match(PlSqlParser.TABLE); + } + + this.state = 5242; + this.match(PlSqlParser.HASHKEYS); + this.state = 5243; + this.match(PlSqlParser.UNSIGNED_INTEGER); + this.state = 5247; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.HASH) { + this.state = 5244; + this.match(PlSqlParser.HASH); + this.state = 5245; + this.match(PlSqlParser.IS); + this.state = 5246; + this.expression(); + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5253; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5255; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 5254; + this.parallel_clause(); + } + + this.state = 5258; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOROWDEPENDENCIES || _la===PlSqlParser.ROWDEPENDENCIES) { + this.state = 5257; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NOROWDEPENDENCIES || _la===PlSqlParser.ROWDEPENDENCIES)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5261; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE) { + this.state = 5260; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5263; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_table; + return this; +} + +Create_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_tableContext.prototype.constructor = Create_tableContext; + +Create_tableContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_tableContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Create_tableContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Create_tableContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Create_tableContext.prototype.relational_table = function() { + return this.getTypedRuleContext(Relational_tableContext,0); +}; + +Create_tableContext.prototype.object_table = function() { + return this.getTypedRuleContext(Object_tableContext,0); +}; + +Create_tableContext.prototype.xmltype_table = function() { + return this.getTypedRuleContext(Xmltype_tableContext,0); +}; + +Create_tableContext.prototype.GLOBAL = function() { + return this.getToken(PlSqlParser.GLOBAL, 0); +}; + +Create_tableContext.prototype.TEMPORARY = function() { + return this.getToken(PlSqlParser.TEMPORARY, 0); +}; + +Create_tableContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_tableContext.prototype.select_only_statement = function() { + return this.getTypedRuleContext(Select_only_statementContext,0); +}; + +Create_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_table(this); + } +}; + +Create_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_table(this); + } +}; + +Create_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_tableContext = Create_tableContext; + +PlSqlParser.prototype.create_table = function() { + + var localctx = new Create_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 518, PlSqlParser.RULE_create_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5265; + this.match(PlSqlParser.CREATE); + this.state = 5268; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.GLOBAL) { + this.state = 5266; + this.match(PlSqlParser.GLOBAL); + this.state = 5267; + this.match(PlSqlParser.TEMPORARY); + } + + this.state = 5270; + this.match(PlSqlParser.TABLE); + this.state = 5271; + this.tableview_name(); + this.state = 5275; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,563,this._ctx); + switch(la_) { + case 1: + this.state = 5272; + this.relational_table(); + break; + + case 2: + this.state = 5273; + this.object_table(); + break; + + case 3: + this.state = 5274; + this.xmltype_table(); + break; + + } + this.state = 5279; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AS) { + this.state = 5277; + this.match(PlSqlParser.AS); + this.state = 5278; + this.select_only_statement(); + } + + this.state = 5281; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Xmltype_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_xmltype_table; + return this; +} + +Xmltype_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Xmltype_tableContext.prototype.constructor = Xmltype_tableContext; + +Xmltype_tableContext.prototype.OF = function() { + return this.getToken(PlSqlParser.OF, 0); +}; + +Xmltype_tableContext.prototype.XMLTYPE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.XMLTYPE); + } else { + return this.getToken(PlSqlParser.XMLTYPE, i); + } +}; + + +Xmltype_tableContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Xmltype_tableContext.prototype.object_properties = function() { + return this.getTypedRuleContext(Object_propertiesContext,0); +}; + +Xmltype_tableContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Xmltype_tableContext.prototype.xmltype_storage = function() { + return this.getTypedRuleContext(Xmltype_storageContext,0); +}; + +Xmltype_tableContext.prototype.xmlschema_spec = function() { + return this.getTypedRuleContext(Xmlschema_specContext,0); +}; + +Xmltype_tableContext.prototype.xmltype_virtual_columns = function() { + return this.getTypedRuleContext(Xmltype_virtual_columnsContext,0); +}; + +Xmltype_tableContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Xmltype_tableContext.prototype.COMMIT = function() { + return this.getToken(PlSqlParser.COMMIT, 0); +}; + +Xmltype_tableContext.prototype.ROWS = function() { + return this.getToken(PlSqlParser.ROWS, 0); +}; + +Xmltype_tableContext.prototype.oid_clause = function() { + return this.getTypedRuleContext(Oid_clauseContext,0); +}; + +Xmltype_tableContext.prototype.oid_index_clause = function() { + return this.getTypedRuleContext(Oid_index_clauseContext,0); +}; + +Xmltype_tableContext.prototype.physical_properties = function() { + return this.getTypedRuleContext(Physical_propertiesContext,0); +}; + +Xmltype_tableContext.prototype.column_properties = function() { + return this.getTypedRuleContext(Column_propertiesContext,0); +}; + +Xmltype_tableContext.prototype.table_partitioning_clauses = function() { + return this.getTypedRuleContext(Table_partitioning_clausesContext,0); +}; + +Xmltype_tableContext.prototype.RESULT_CACHE = function() { + return this.getToken(PlSqlParser.RESULT_CACHE, 0); +}; + +Xmltype_tableContext.prototype.MODE = function() { + return this.getToken(PlSqlParser.MODE, 0); +}; + +Xmltype_tableContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Xmltype_tableContext.prototype.row_movement_clause = function() { + return this.getTypedRuleContext(Row_movement_clauseContext,0); +}; + +Xmltype_tableContext.prototype.flashback_archive_clause = function() { + return this.getTypedRuleContext(Flashback_archive_clauseContext,0); +}; + +Xmltype_tableContext.prototype.DELETE = function() { + return this.getToken(PlSqlParser.DELETE, 0); +}; + +Xmltype_tableContext.prototype.PRESERVE = function() { + return this.getToken(PlSqlParser.PRESERVE, 0); +}; + +Xmltype_tableContext.prototype.CACHE = function() { + return this.getToken(PlSqlParser.CACHE, 0); +}; + +Xmltype_tableContext.prototype.NOCACHE = function() { + return this.getToken(PlSqlParser.NOCACHE, 0); +}; + +Xmltype_tableContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Xmltype_tableContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Xmltype_tableContext.prototype.ROWDEPENDENCIES = function() { + return this.getToken(PlSqlParser.ROWDEPENDENCIES, 0); +}; + +Xmltype_tableContext.prototype.NOROWDEPENDENCIES = function() { + return this.getToken(PlSqlParser.NOROWDEPENDENCIES, 0); +}; + +Xmltype_tableContext.prototype.enable_disable_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Enable_disable_clauseContext); + } else { + return this.getTypedRuleContext(Enable_disable_clauseContext,i); + } +}; + +Xmltype_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterXmltype_table(this); + } +}; + +Xmltype_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitXmltype_table(this); + } +}; + +Xmltype_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitXmltype_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Xmltype_tableContext = Xmltype_tableContext; + +PlSqlParser.prototype.xmltype_table = function() { + + var localctx = new Xmltype_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 520, PlSqlParser.RULE_xmltype_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5283; + this.match(PlSqlParser.OF); + this.state = 5284; + this.match(PlSqlParser.XMLTYPE); + this.state = 5289; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 5285; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5286; + this.object_properties(); + this.state = 5287; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 5293; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,566,this._ctx); + if(la_===1) { + this.state = 5291; + this.match(PlSqlParser.XMLTYPE); + this.state = 5292; + this.xmltype_storage(); + + } + this.state = 5296; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ELEMENT || _la===PlSqlParser.XMLSCHEMA) { + this.state = 5295; + this.xmlschema_spec(); + } + + this.state = 5299; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.VIRTUAL) { + this.state = 5298; + this.xmltype_virtual_columns(); + } + + this.state = 5305; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ON) { + this.state = 5301; + this.match(PlSqlParser.ON); + this.state = 5302; + this.match(PlSqlParser.COMMIT); + this.state = 5303; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DELETE || _la===PlSqlParser.PRESERVE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5304; + this.match(PlSqlParser.ROWS); + } + + this.state = 5308; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OBJECT) { + this.state = 5307; + this.oid_clause(); + } + + this.state = 5311; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OIDINDEX) { + this.state = 5310; + this.oid_index_clause(); + } + + this.state = 5314; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.SEGMENT || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 5313; + this.physical_properties(); + } + + this.state = 5317; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COLUMN || _la===PlSqlParser.LOB || _la===PlSqlParser.NESTED || _la===PlSqlParser.VARRAY || _la===PlSqlParser.XMLTYPE) { + this.state = 5316; + this.column_properties(); + } + + this.state = 5320; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PARTITION) { + this.state = 5319; + this.table_partitioning_clauses(); + } + + this.state = 5323; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE) { + this.state = 5322; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5330; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.RESULT_CACHE) { + this.state = 5325; + this.match(PlSqlParser.RESULT_CACHE); + this.state = 5326; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5327; + this.match(PlSqlParser.MODE); + this.state = 5328; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFAULT || _la===PlSqlParser.FORCE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5329; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 5333; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 5332; + this.parallel_clause(); + } + + this.state = 5336; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOROWDEPENDENCIES || _la===PlSqlParser.ROWDEPENDENCIES) { + this.state = 5335; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NOROWDEPENDENCIES || _la===PlSqlParser.ROWDEPENDENCIES)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5343; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,580,this._ctx); + if(la_===1) { + this.state = 5339; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 5338; + this.enable_disable_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5341; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,579, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + + } + this.state = 5346; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE || _la===PlSqlParser.ROW) { + this.state = 5345; + this.row_movement_clause(); + } + + this.state = 5349; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FLASHBACK || _la===PlSqlParser.NO) { + this.state = 5348; + this.flashback_archive_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Xmltype_virtual_columnsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_xmltype_virtual_columns; + return this; +} + +Xmltype_virtual_columnsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Xmltype_virtual_columnsContext.prototype.constructor = Xmltype_virtual_columnsContext; + +Xmltype_virtual_columnsContext.prototype.VIRTUAL = function() { + return this.getToken(PlSqlParser.VIRTUAL, 0); +}; + +Xmltype_virtual_columnsContext.prototype.COLUMNS = function() { + return this.getToken(PlSqlParser.COLUMNS, 0); +}; + +Xmltype_virtual_columnsContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Xmltype_virtual_columnsContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Xmltype_virtual_columnsContext.prototype.AS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.AS); + } else { + return this.getToken(PlSqlParser.AS, i); + } +}; + + +Xmltype_virtual_columnsContext.prototype.expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(ExpressionContext); + } else { + return this.getTypedRuleContext(ExpressionContext,i); + } +}; + +Xmltype_virtual_columnsContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Xmltype_virtual_columnsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Xmltype_virtual_columnsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterXmltype_virtual_columns(this); + } +}; + +Xmltype_virtual_columnsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitXmltype_virtual_columns(this); + } +}; + +Xmltype_virtual_columnsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitXmltype_virtual_columns(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Xmltype_virtual_columnsContext = Xmltype_virtual_columnsContext; + +PlSqlParser.prototype.xmltype_virtual_columns = function() { + + var localctx = new Xmltype_virtual_columnsContext(this, this._ctx, this.state); + this.enterRule(localctx, 522, PlSqlParser.RULE_xmltype_virtual_columns); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5351; + this.match(PlSqlParser.VIRTUAL); + this.state = 5352; + this.match(PlSqlParser.COLUMNS); + this.state = 5353; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5354; + this.column_name(); + this.state = 5355; + this.match(PlSqlParser.AS); + this.state = 5356; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5357; + this.expression(); + this.state = 5358; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5368; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5359; + this.match(PlSqlParser.COMMA); + this.state = 5360; + this.column_name(); + this.state = 5361; + this.match(PlSqlParser.AS); + this.state = 5362; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5363; + this.expression(); + this.state = 5364; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5370; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5371; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Xmltype_column_propertiesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_xmltype_column_properties; + return this; +} + +Xmltype_column_propertiesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Xmltype_column_propertiesContext.prototype.constructor = Xmltype_column_propertiesContext; + +Xmltype_column_propertiesContext.prototype.XMLTYPE = function() { + return this.getToken(PlSqlParser.XMLTYPE, 0); +}; + +Xmltype_column_propertiesContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Xmltype_column_propertiesContext.prototype.COLUMN = function() { + return this.getToken(PlSqlParser.COLUMN, 0); +}; + +Xmltype_column_propertiesContext.prototype.xmltype_storage = function() { + return this.getTypedRuleContext(Xmltype_storageContext,0); +}; + +Xmltype_column_propertiesContext.prototype.xmlschema_spec = function() { + return this.getTypedRuleContext(Xmlschema_specContext,0); +}; + +Xmltype_column_propertiesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterXmltype_column_properties(this); + } +}; + +Xmltype_column_propertiesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitXmltype_column_properties(this); + } +}; + +Xmltype_column_propertiesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitXmltype_column_properties(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Xmltype_column_propertiesContext = Xmltype_column_propertiesContext; + +PlSqlParser.prototype.xmltype_column_properties = function() { + + var localctx = new Xmltype_column_propertiesContext(this, this._ctx, this.state); + this.enterRule(localctx, 524, PlSqlParser.RULE_xmltype_column_properties); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5373; + this.match(PlSqlParser.XMLTYPE); + this.state = 5375; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,584,this._ctx); + if(la_===1) { + this.state = 5374; + this.match(PlSqlParser.COLUMN); + + } + this.state = 5377; + this.column_name(); + this.state = 5379; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORE) { + this.state = 5378; + this.xmltype_storage(); + } + + this.state = 5382; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ELEMENT || _la===PlSqlParser.XMLSCHEMA) { + this.state = 5381; + this.xmlschema_spec(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Xmltype_storageContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_xmltype_storage; + return this; +} + +Xmltype_storageContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Xmltype_storageContext.prototype.constructor = Xmltype_storageContext; + +Xmltype_storageContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +Xmltype_storageContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Xmltype_storageContext.prototype.OBJECT = function() { + return this.getToken(PlSqlParser.OBJECT, 0); +}; + +Xmltype_storageContext.prototype.RELATIONAL = function() { + return this.getToken(PlSqlParser.RELATIONAL, 0); +}; + +Xmltype_storageContext.prototype.CLOB = function() { + return this.getToken(PlSqlParser.CLOB, 0); +}; + +Xmltype_storageContext.prototype.BINARY = function() { + return this.getToken(PlSqlParser.BINARY, 0); +}; + +Xmltype_storageContext.prototype.XML = function() { + return this.getToken(PlSqlParser.XML, 0); +}; + +Xmltype_storageContext.prototype.lob_segname = function() { + return this.getTypedRuleContext(Lob_segnameContext,0); +}; + +Xmltype_storageContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Xmltype_storageContext.prototype.lob_parameters = function() { + return this.getTypedRuleContext(Lob_parametersContext,0); +}; + +Xmltype_storageContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Xmltype_storageContext.prototype.SECUREFILE = function() { + return this.getToken(PlSqlParser.SECUREFILE, 0); +}; + +Xmltype_storageContext.prototype.BASICFILE = function() { + return this.getToken(PlSqlParser.BASICFILE, 0); +}; + +Xmltype_storageContext.prototype.VARRAYS = function() { + return this.getToken(PlSqlParser.VARRAYS, 0); +}; + +Xmltype_storageContext.prototype.LOBS = function() { + return this.getToken(PlSqlParser.LOBS, 0); +}; + +Xmltype_storageContext.prototype.TABLES = function() { + return this.getToken(PlSqlParser.TABLES, 0); +}; + +Xmltype_storageContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterXmltype_storage(this); + } +}; + +Xmltype_storageContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitXmltype_storage(this); + } +}; + +Xmltype_storageContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitXmltype_storage(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Xmltype_storageContext = Xmltype_storageContext; + +PlSqlParser.prototype.xmltype_storage = function() { + + var localctx = new Xmltype_storageContext(this, this._ctx, this.state); + this.enterRule(localctx, 526, PlSqlParser.RULE_xmltype_storage); + var _la = 0; // Token type + try { + this.state = 5415; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,592,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5384; + this.match(PlSqlParser.STORE); + this.state = 5385; + this.match(PlSqlParser.AS); + this.state = 5409; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.OBJECT: + this.state = 5386; + this.match(PlSqlParser.OBJECT); + this.state = 5387; + this.match(PlSqlParser.RELATIONAL); + break; + case PlSqlParser.BASICFILE: + case PlSqlParser.BINARY: + case PlSqlParser.CLOB: + case PlSqlParser.SECUREFILE: + this.state = 5389; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BASICFILE || _la===PlSqlParser.SECUREFILE) { + this.state = 5388; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BASICFILE || _la===PlSqlParser.SECUREFILE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5394; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CLOB: + this.state = 5391; + this.match(PlSqlParser.CLOB); + break; + case PlSqlParser.BINARY: + this.state = 5392; + this.match(PlSqlParser.BINARY); + this.state = 5393; + this.match(PlSqlParser.XML); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5407; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,590,this._ctx); + if(la_===1) { + this.state = 5396; + this.lob_segname(); + this.state = 5401; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,589,this._ctx); + if(la_===1) { + this.state = 5397; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5398; + this.lob_parameters(); + this.state = 5399; + this.match(PlSqlParser.RIGHT_PAREN); + + } + + } else if(la_===2) { + this.state = 5403; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5404; + this.lob_parameters(); + this.state = 5405; + this.match(PlSqlParser.RIGHT_PAREN); + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5411; + this.match(PlSqlParser.STORE); + this.state = 5412; + this.match(PlSqlParser.VARRAYS); + this.state = 5413; + this.match(PlSqlParser.AS); + this.state = 5414; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOBS || _la===PlSqlParser.TABLES)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Xmlschema_specContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_xmlschema_spec; + return this; +} + +Xmlschema_specContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Xmlschema_specContext.prototype.constructor = Xmlschema_specContext; + +Xmlschema_specContext.prototype.ELEMENT = function() { + return this.getToken(PlSqlParser.ELEMENT, 0); +}; + +Xmlschema_specContext.prototype.DELIMITED_ID = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DELIMITED_ID); + } else { + return this.getToken(PlSqlParser.DELIMITED_ID, i); + } +}; + + +Xmlschema_specContext.prototype.XMLSCHEMA = function() { + return this.getToken(PlSqlParser.XMLSCHEMA, 0); +}; + +Xmlschema_specContext.prototype.allow_or_disallow = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Allow_or_disallowContext); + } else { + return this.getTypedRuleContext(Allow_or_disallowContext,i); + } +}; + +Xmlschema_specContext.prototype.NONSCHEMA = function() { + return this.getToken(PlSqlParser.NONSCHEMA, 0); +}; + +Xmlschema_specContext.prototype.ANYSCHEMA = function() { + return this.getToken(PlSqlParser.ANYSCHEMA, 0); +}; + +Xmlschema_specContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterXmlschema_spec(this); + } +}; + +Xmlschema_specContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitXmlschema_spec(this); + } +}; + +Xmlschema_specContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitXmlschema_spec(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Xmlschema_specContext = Xmlschema_specContext; + +PlSqlParser.prototype.xmlschema_spec = function() { + + var localctx = new Xmlschema_specContext(this, this._ctx, this.state); + this.enterRule(localctx, 528, PlSqlParser.RULE_xmlschema_spec); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5419; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.XMLSCHEMA) { + this.state = 5417; + this.match(PlSqlParser.XMLSCHEMA); + this.state = 5418; + this.match(PlSqlParser.DELIMITED_ID); + } + + this.state = 5421; + this.match(PlSqlParser.ELEMENT); + this.state = 5422; + this.match(PlSqlParser.DELIMITED_ID); + this.state = 5426; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,594,this._ctx); + if(la_===1) { + this.state = 5423; + this.allow_or_disallow(); + this.state = 5424; + this.match(PlSqlParser.NONSCHEMA); + + } + this.state = 5431; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ALLOW || _la===PlSqlParser.DISALLOW) { + this.state = 5428; + this.allow_or_disallow(); + this.state = 5429; + this.match(PlSqlParser.ANYSCHEMA); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_table; + return this; +} + +Object_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_tableContext.prototype.constructor = Object_tableContext; + +Object_tableContext.prototype.OF = function() { + return this.getToken(PlSqlParser.OF, 0); +}; + +Object_tableContext.prototype.type_name = function() { + return this.getTypedRuleContext(Type_nameContext,0); +}; + +Object_tableContext.prototype.object_table_substitution = function() { + return this.getTypedRuleContext(Object_table_substitutionContext,0); +}; + +Object_tableContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Object_tableContext.prototype.object_properties = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Object_propertiesContext); + } else { + return this.getTypedRuleContext(Object_propertiesContext,i); + } +}; + +Object_tableContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Object_tableContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Object_tableContext.prototype.COMMIT = function() { + return this.getToken(PlSqlParser.COMMIT, 0); +}; + +Object_tableContext.prototype.ROWS = function() { + return this.getToken(PlSqlParser.ROWS, 0); +}; + +Object_tableContext.prototype.oid_clause = function() { + return this.getTypedRuleContext(Oid_clauseContext,0); +}; + +Object_tableContext.prototype.oid_index_clause = function() { + return this.getTypedRuleContext(Oid_index_clauseContext,0); +}; + +Object_tableContext.prototype.physical_properties = function() { + return this.getTypedRuleContext(Physical_propertiesContext,0); +}; + +Object_tableContext.prototype.column_properties = function() { + return this.getTypedRuleContext(Column_propertiesContext,0); +}; + +Object_tableContext.prototype.table_partitioning_clauses = function() { + return this.getTypedRuleContext(Table_partitioning_clausesContext,0); +}; + +Object_tableContext.prototype.RESULT_CACHE = function() { + return this.getToken(PlSqlParser.RESULT_CACHE, 0); +}; + +Object_tableContext.prototype.MODE = function() { + return this.getToken(PlSqlParser.MODE, 0); +}; + +Object_tableContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Object_tableContext.prototype.row_movement_clause = function() { + return this.getTypedRuleContext(Row_movement_clauseContext,0); +}; + +Object_tableContext.prototype.flashback_archive_clause = function() { + return this.getTypedRuleContext(Flashback_archive_clauseContext,0); +}; + +Object_tableContext.prototype.DELETE = function() { + return this.getToken(PlSqlParser.DELETE, 0); +}; + +Object_tableContext.prototype.PRESERVE = function() { + return this.getToken(PlSqlParser.PRESERVE, 0); +}; + +Object_tableContext.prototype.CACHE = function() { + return this.getToken(PlSqlParser.CACHE, 0); +}; + +Object_tableContext.prototype.NOCACHE = function() { + return this.getToken(PlSqlParser.NOCACHE, 0); +}; + +Object_tableContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Object_tableContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Object_tableContext.prototype.ROWDEPENDENCIES = function() { + return this.getToken(PlSqlParser.ROWDEPENDENCIES, 0); +}; + +Object_tableContext.prototype.NOROWDEPENDENCIES = function() { + return this.getToken(PlSqlParser.NOROWDEPENDENCIES, 0); +}; + +Object_tableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Object_tableContext.prototype.enable_disable_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Enable_disable_clauseContext); + } else { + return this.getTypedRuleContext(Enable_disable_clauseContext,i); + } +}; + +Object_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_table(this); + } +}; + +Object_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_table(this); + } +}; + +Object_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_tableContext = Object_tableContext; + +PlSqlParser.prototype.object_table = function() { + + var localctx = new Object_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 530, PlSqlParser.RULE_object_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5433; + this.match(PlSqlParser.OF); + this.state = 5434; + this.type_name(); + this.state = 5436; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT || _la===PlSqlParser.SUBSTITUTABLE) { + this.state = 5435; + this.object_table_substitution(); + } + + this.state = 5449; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 5438; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5439; + this.object_properties(); + this.state = 5444; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5440; + this.match(PlSqlParser.COMMA); + this.state = 5441; + this.object_properties(); + this.state = 5446; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5447; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 5455; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ON) { + this.state = 5451; + this.match(PlSqlParser.ON); + this.state = 5452; + this.match(PlSqlParser.COMMIT); + this.state = 5453; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DELETE || _la===PlSqlParser.PRESERVE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5454; + this.match(PlSqlParser.ROWS); + } + + this.state = 5458; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OBJECT) { + this.state = 5457; + this.oid_clause(); + } + + this.state = 5461; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OIDINDEX) { + this.state = 5460; + this.oid_index_clause(); + } + + this.state = 5464; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.SEGMENT || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 5463; + this.physical_properties(); + } + + this.state = 5467; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COLUMN || _la===PlSqlParser.LOB || _la===PlSqlParser.NESTED || _la===PlSqlParser.VARRAY || _la===PlSqlParser.XMLTYPE) { + this.state = 5466; + this.column_properties(); + } + + this.state = 5470; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PARTITION) { + this.state = 5469; + this.table_partitioning_clauses(); + } + + this.state = 5473; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE) { + this.state = 5472; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5480; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.RESULT_CACHE) { + this.state = 5475; + this.match(PlSqlParser.RESULT_CACHE); + this.state = 5476; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5477; + this.match(PlSqlParser.MODE); + this.state = 5478; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFAULT || _la===PlSqlParser.FORCE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5479; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 5483; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 5482; + this.parallel_clause(); + } + + this.state = 5486; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOROWDEPENDENCIES || _la===PlSqlParser.ROWDEPENDENCIES) { + this.state = 5485; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NOROWDEPENDENCIES || _la===PlSqlParser.ROWDEPENDENCIES)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5493; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,610,this._ctx); + if(la_===1) { + this.state = 5489; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 5488; + this.enable_disable_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5491; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,609, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + + } + this.state = 5496; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE || _la===PlSqlParser.ROW) { + this.state = 5495; + this.row_movement_clause(); + } + + this.state = 5499; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FLASHBACK || _la===PlSqlParser.NO) { + this.state = 5498; + this.flashback_archive_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Oid_index_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_oid_index_clause; + return this; +} + +Oid_index_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Oid_index_clauseContext.prototype.constructor = Oid_index_clauseContext; + +Oid_index_clauseContext.prototype.OIDINDEX = function() { + return this.getToken(PlSqlParser.OIDINDEX, 0); +}; + +Oid_index_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Oid_index_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Oid_index_clauseContext.prototype.index_name = function() { + return this.getTypedRuleContext(Index_nameContext,0); +}; + +Oid_index_clauseContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Oid_index_clauseContext.prototype.TABLESPACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLESPACE); + } else { + return this.getToken(PlSqlParser.TABLESPACE, i); + } +}; + + +Oid_index_clauseContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Oid_index_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOid_index_clause(this); + } +}; + +Oid_index_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOid_index_clause(this); + } +}; + +Oid_index_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOid_index_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Oid_index_clauseContext = Oid_index_clauseContext; + +PlSqlParser.prototype.oid_index_clause = function() { + + var localctx = new Oid_index_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 532, PlSqlParser.RULE_oid_index_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5501; + this.match(PlSqlParser.OIDINDEX); + this.state = 5503; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || ((((_la - 2211)) & ~0x1f) == 0 && ((1 << (_la - 2211)) & ((1 << (PlSqlParser.TO_DATE - 2211)) | (1 << (PlSqlParser.PERIOD - 2211)) | (1 << (PlSqlParser.DELIMITED_ID - 2211)))) !== 0) || _la===PlSqlParser.INTRODUCER || _la===PlSqlParser.REGULAR_ID) { + this.state = 5502; + this.index_name(); + } + + this.state = 5505; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5509; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5509; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 5506; + this.physical_attributes_clause(); + break; + case PlSqlParser.TABLESPACE: + this.state = 5507; + this.match(PlSqlParser.TABLESPACE); + this.state = 5508; + this.tablespace(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5511; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.INITRANS || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE); + this.state = 5513; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Oid_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_oid_clause; + return this; +} + +Oid_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Oid_clauseContext.prototype.constructor = Oid_clauseContext; + +Oid_clauseContext.prototype.OBJECT = function() { + return this.getToken(PlSqlParser.OBJECT, 0); +}; + +Oid_clauseContext.prototype.IDENTIFIER = function() { + return this.getToken(PlSqlParser.IDENTIFIER, 0); +}; + +Oid_clauseContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Oid_clauseContext.prototype.SYSTEM = function() { + return this.getToken(PlSqlParser.SYSTEM, 0); +}; + +Oid_clauseContext.prototype.GENERATED = function() { + return this.getToken(PlSqlParser.GENERATED, 0); +}; + +Oid_clauseContext.prototype.PRIMARY = function() { + return this.getToken(PlSqlParser.PRIMARY, 0); +}; + +Oid_clauseContext.prototype.KEY = function() { + return this.getToken(PlSqlParser.KEY, 0); +}; + +Oid_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOid_clause(this); + } +}; + +Oid_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOid_clause(this); + } +}; + +Oid_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOid_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Oid_clauseContext = Oid_clauseContext; + +PlSqlParser.prototype.oid_clause = function() { + + var localctx = new Oid_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 534, PlSqlParser.RULE_oid_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5515; + this.match(PlSqlParser.OBJECT); + this.state = 5516; + this.match(PlSqlParser.IDENTIFIER); + this.state = 5517; + this.match(PlSqlParser.IS); + this.state = 5522; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.SYSTEM: + this.state = 5518; + this.match(PlSqlParser.SYSTEM); + this.state = 5519; + this.match(PlSqlParser.GENERATED); + break; + case PlSqlParser.PRIMARY: + this.state = 5520; + this.match(PlSqlParser.PRIMARY); + this.state = 5521; + this.match(PlSqlParser.KEY); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_propertiesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_properties; + return this; +} + +Object_propertiesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_propertiesContext.prototype.constructor = Object_propertiesContext; + +Object_propertiesContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Object_propertiesContext.prototype.attribute_name = function() { + return this.getTypedRuleContext(Attribute_nameContext,0); +}; + +Object_propertiesContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Object_propertiesContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Object_propertiesContext.prototype.inline_constraint = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Inline_constraintContext); + } else { + return this.getTypedRuleContext(Inline_constraintContext,i); + } +}; + +Object_propertiesContext.prototype.inline_ref_constraint = function() { + return this.getTypedRuleContext(Inline_ref_constraintContext,0); +}; + +Object_propertiesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Object_propertiesContext.prototype.out_of_line_constraint = function() { + return this.getTypedRuleContext(Out_of_line_constraintContext,0); +}; + +Object_propertiesContext.prototype.out_of_line_ref_constraint = function() { + return this.getTypedRuleContext(Out_of_line_ref_constraintContext,0); +}; + +Object_propertiesContext.prototype.supplemental_logging_props = function() { + return this.getTypedRuleContext(Supplemental_logging_propsContext,0); +}; + +Object_propertiesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_properties(this); + } +}; + +Object_propertiesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_properties(this); + } +}; + +Object_propertiesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_properties(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_propertiesContext = Object_propertiesContext; + +PlSqlParser.prototype.object_properties = function() { + + var localctx = new Object_propertiesContext(this, this._ctx, this.state); + this.enterRule(localctx, 536, PlSqlParser.RULE_object_properties); + var _la = 0; // Token type + try { + this.state = 5546; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,621,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5526; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,617,this._ctx); + switch(la_) { + case 1: + this.state = 5524; + this.column_name(); + break; + + case 2: + this.state = 5525; + this.attribute_name(); + break; + + } + this.state = 5530; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DEFAULT) { + this.state = 5528; + this.match(PlSqlParser.DEFAULT); + this.state = 5529; + this.expression(); + } + + this.state = 5541; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,620,this._ctx); + if(la_===1) { + this.state = 5532; + this.inline_constraint(); + this.state = 5537; + this._errHandler.sync(this); + var _alt = this._interp.adaptivePredict(this._input,619,this._ctx) + while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { + if(_alt===1) { + this.state = 5533; + this.match(PlSqlParser.COMMA); + this.state = 5534; + this.inline_constraint(); + } + this.state = 5539; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,619,this._ctx); + } + + + } else if(la_===2) { + this.state = 5540; + this.inline_ref_constraint(); + + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5543; + this.out_of_line_constraint(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 5544; + this.out_of_line_ref_constraint(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 5545; + this.supplemental_logging_props(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Object_table_substitutionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_object_table_substitution; + return this; +} + +Object_table_substitutionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Object_table_substitutionContext.prototype.constructor = Object_table_substitutionContext; + +Object_table_substitutionContext.prototype.SUBSTITUTABLE = function() { + return this.getToken(PlSqlParser.SUBSTITUTABLE, 0); +}; + +Object_table_substitutionContext.prototype.AT = function() { + return this.getToken(PlSqlParser.AT, 0); +}; + +Object_table_substitutionContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Object_table_substitutionContext.prototype.LEVELS = function() { + return this.getToken(PlSqlParser.LEVELS, 0); +}; + +Object_table_substitutionContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Object_table_substitutionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterObject_table_substitution(this); + } +}; + +Object_table_substitutionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitObject_table_substitution(this); + } +}; + +Object_table_substitutionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitObject_table_substitution(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Object_table_substitutionContext = Object_table_substitutionContext; + +PlSqlParser.prototype.object_table_substitution = function() { + + var localctx = new Object_table_substitutionContext(this, this._ctx, this.state); + this.enterRule(localctx, 538, PlSqlParser.RULE_object_table_substitution); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5549; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 5548; + this.match(PlSqlParser.NOT); + } + + this.state = 5551; + this.match(PlSqlParser.SUBSTITUTABLE); + this.state = 5552; + this.match(PlSqlParser.AT); + this.state = 5553; + this.match(PlSqlParser.ALL); + this.state = 5554; + this.match(PlSqlParser.LEVELS); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Relational_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_relational_table; + return this; +} + +Relational_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Relational_tableContext.prototype.constructor = Relational_tableContext; + +Relational_tableContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Relational_tableContext.prototype.relational_property = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Relational_propertyContext); + } else { + return this.getTypedRuleContext(Relational_propertyContext,i); + } +}; + +Relational_tableContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Relational_tableContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Relational_tableContext.prototype.COMMIT = function() { + return this.getToken(PlSqlParser.COMMIT, 0); +}; + +Relational_tableContext.prototype.ROWS = function() { + return this.getToken(PlSqlParser.ROWS, 0); +}; + +Relational_tableContext.prototype.physical_properties = function() { + return this.getTypedRuleContext(Physical_propertiesContext,0); +}; + +Relational_tableContext.prototype.column_properties = function() { + return this.getTypedRuleContext(Column_propertiesContext,0); +}; + +Relational_tableContext.prototype.table_partitioning_clauses = function() { + return this.getTypedRuleContext(Table_partitioning_clausesContext,0); +}; + +Relational_tableContext.prototype.RESULT_CACHE = function() { + return this.getToken(PlSqlParser.RESULT_CACHE, 0); +}; + +Relational_tableContext.prototype.MODE = function() { + return this.getToken(PlSqlParser.MODE, 0); +}; + +Relational_tableContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Relational_tableContext.prototype.row_movement_clause = function() { + return this.getTypedRuleContext(Row_movement_clauseContext,0); +}; + +Relational_tableContext.prototype.flashback_archive_clause = function() { + return this.getTypedRuleContext(Flashback_archive_clauseContext,0); +}; + +Relational_tableContext.prototype.DELETE = function() { + return this.getToken(PlSqlParser.DELETE, 0); +}; + +Relational_tableContext.prototype.PRESERVE = function() { + return this.getToken(PlSqlParser.PRESERVE, 0); +}; + +Relational_tableContext.prototype.CACHE = function() { + return this.getToken(PlSqlParser.CACHE, 0); +}; + +Relational_tableContext.prototype.NOCACHE = function() { + return this.getToken(PlSqlParser.NOCACHE, 0); +}; + +Relational_tableContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Relational_tableContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Relational_tableContext.prototype.ROWDEPENDENCIES = function() { + return this.getToken(PlSqlParser.ROWDEPENDENCIES, 0); +}; + +Relational_tableContext.prototype.NOROWDEPENDENCIES = function() { + return this.getToken(PlSqlParser.NOROWDEPENDENCIES, 0); +}; + +Relational_tableContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Relational_tableContext.prototype.enable_disable_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Enable_disable_clauseContext); + } else { + return this.getTypedRuleContext(Enable_disable_clauseContext,i); + } +}; + +Relational_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRelational_table(this); + } +}; + +Relational_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRelational_table(this); + } +}; + +Relational_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRelational_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Relational_tableContext = Relational_tableContext; + +PlSqlParser.prototype.relational_table = function() { + + var localctx = new Relational_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 540, PlSqlParser.RULE_relational_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5567; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 5556; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5557; + this.relational_property(); + this.state = 5562; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5558; + this.match(PlSqlParser.COMMA); + this.state = 5559; + this.relational_property(); + this.state = 5564; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5565; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 5573; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ON) { + this.state = 5569; + this.match(PlSqlParser.ON); + this.state = 5570; + this.match(PlSqlParser.COMMIT); + this.state = 5571; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DELETE || _la===PlSqlParser.PRESERVE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5572; + this.match(PlSqlParser.ROWS); + } + + this.state = 5576; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.SEGMENT || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 5575; + this.physical_properties(); + } + + this.state = 5579; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COLUMN || _la===PlSqlParser.LOB || _la===PlSqlParser.NESTED || _la===PlSqlParser.VARRAY || _la===PlSqlParser.XMLTYPE) { + this.state = 5578; + this.column_properties(); + } + + this.state = 5582; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PARTITION) { + this.state = 5581; + this.table_partitioning_clauses(); + } + + this.state = 5585; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE) { + this.state = 5584; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5592; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.RESULT_CACHE) { + this.state = 5587; + this.match(PlSqlParser.RESULT_CACHE); + this.state = 5588; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5589; + this.match(PlSqlParser.MODE); + this.state = 5590; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFAULT || _la===PlSqlParser.FORCE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 5591; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 5595; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 5594; + this.parallel_clause(); + } + + this.state = 5598; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOROWDEPENDENCIES || _la===PlSqlParser.ROWDEPENDENCIES) { + this.state = 5597; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NOROWDEPENDENCIES || _la===PlSqlParser.ROWDEPENDENCIES)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 5605; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,634,this._ctx); + if(la_===1) { + this.state = 5601; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 5600; + this.enable_disable_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 5603; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,633, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + + } + this.state = 5608; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE || _la===PlSqlParser.ROW) { + this.state = 5607; + this.row_movement_clause(); + } + + this.state = 5611; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FLASHBACK || _la===PlSqlParser.NO) { + this.state = 5610; + this.flashback_archive_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Relational_propertyContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_relational_property; + return this; +} + +Relational_propertyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Relational_propertyContext.prototype.constructor = Relational_propertyContext; + +Relational_propertyContext.prototype.column_definition = function() { + return this.getTypedRuleContext(Column_definitionContext,0); +}; + +Relational_propertyContext.prototype.virtual_column_definition = function() { + return this.getTypedRuleContext(Virtual_column_definitionContext,0); +}; + +Relational_propertyContext.prototype.out_of_line_constraint = function() { + return this.getTypedRuleContext(Out_of_line_constraintContext,0); +}; + +Relational_propertyContext.prototype.out_of_line_ref_constraint = function() { + return this.getTypedRuleContext(Out_of_line_ref_constraintContext,0); +}; + +Relational_propertyContext.prototype.supplemental_logging_props = function() { + return this.getTypedRuleContext(Supplemental_logging_propsContext,0); +}; + +Relational_propertyContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRelational_property(this); + } +}; + +Relational_propertyContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRelational_property(this); + } +}; + +Relational_propertyContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRelational_property(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Relational_propertyContext = Relational_propertyContext; + +PlSqlParser.prototype.relational_property = function() { + + var localctx = new Relational_propertyContext(this, this._ctx, this.state); + this.enterRule(localctx, 542, PlSqlParser.RULE_relational_property); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5618; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,637,this._ctx); + switch(la_) { + case 1: + this.state = 5613; + this.column_definition(); + break; + + case 2: + this.state = 5614; + this.virtual_column_definition(); + break; + + case 3: + this.state = 5615; + this.out_of_line_constraint(); + break; + + case 4: + this.state = 5616; + this.out_of_line_ref_constraint(); + break; + + case 5: + this.state = 5617; + this.supplemental_logging_props(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Table_partitioning_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_table_partitioning_clauses; + return this; +} + +Table_partitioning_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Table_partitioning_clausesContext.prototype.constructor = Table_partitioning_clausesContext; + +Table_partitioning_clausesContext.prototype.range_partitions = function() { + return this.getTypedRuleContext(Range_partitionsContext,0); +}; + +Table_partitioning_clausesContext.prototype.list_partitions = function() { + return this.getTypedRuleContext(List_partitionsContext,0); +}; + +Table_partitioning_clausesContext.prototype.hash_partitions = function() { + return this.getTypedRuleContext(Hash_partitionsContext,0); +}; + +Table_partitioning_clausesContext.prototype.composite_range_partitions = function() { + return this.getTypedRuleContext(Composite_range_partitionsContext,0); +}; + +Table_partitioning_clausesContext.prototype.composite_list_partitions = function() { + return this.getTypedRuleContext(Composite_list_partitionsContext,0); +}; + +Table_partitioning_clausesContext.prototype.composite_hash_partitions = function() { + return this.getTypedRuleContext(Composite_hash_partitionsContext,0); +}; + +Table_partitioning_clausesContext.prototype.reference_partitioning = function() { + return this.getTypedRuleContext(Reference_partitioningContext,0); +}; + +Table_partitioning_clausesContext.prototype.system_partitioning = function() { + return this.getTypedRuleContext(System_partitioningContext,0); +}; + +Table_partitioning_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTable_partitioning_clauses(this); + } +}; + +Table_partitioning_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTable_partitioning_clauses(this); + } +}; + +Table_partitioning_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTable_partitioning_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Table_partitioning_clausesContext = Table_partitioning_clausesContext; + +PlSqlParser.prototype.table_partitioning_clauses = function() { + + var localctx = new Table_partitioning_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 544, PlSqlParser.RULE_table_partitioning_clauses); + try { + this.state = 5628; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,638,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 5620; + this.range_partitions(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 5621; + this.list_partitions(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 5622; + this.hash_partitions(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 5623; + this.composite_range_partitions(); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 5624; + this.composite_list_partitions(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 5625; + this.composite_hash_partitions(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 5626; + this.reference_partitioning(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 5627; + this.system_partitioning(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Range_partitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_range_partitions; + return this; +} + +Range_partitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Range_partitionsContext.prototype.constructor = Range_partitionsContext; + +Range_partitionsContext.prototype.PARTITION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARTITION); + } else { + return this.getToken(PlSqlParser.PARTITION, i); + } +}; + + +Range_partitionsContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Range_partitionsContext.prototype.RANGE = function() { + return this.getToken(PlSqlParser.RANGE, 0); +}; + +Range_partitionsContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Range_partitionsContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Range_partitionsContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Range_partitionsContext.prototype.range_values_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Range_values_clauseContext); + } else { + return this.getTypedRuleContext(Range_values_clauseContext,i); + } +}; + +Range_partitionsContext.prototype.table_partition_description = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Table_partition_descriptionContext); + } else { + return this.getTypedRuleContext(Table_partition_descriptionContext,i); + } +}; + +Range_partitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Range_partitionsContext.prototype.INTERVAL = function() { + return this.getToken(PlSqlParser.INTERVAL, 0); +}; + +Range_partitionsContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Range_partitionsContext.prototype.partition_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partition_nameContext); + } else { + return this.getTypedRuleContext(Partition_nameContext,i); + } +}; + +Range_partitionsContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +Range_partitionsContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Range_partitionsContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Range_partitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRange_partitions(this); + } +}; + +Range_partitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRange_partitions(this); + } +}; + +Range_partitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRange_partitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Range_partitionsContext = Range_partitionsContext; + +PlSqlParser.prototype.range_partitions = function() { + + var localctx = new Range_partitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 546, PlSqlParser.RULE_range_partitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5630; + this.match(PlSqlParser.PARTITION); + this.state = 5631; + this.match(PlSqlParser.BY); + this.state = 5632; + this.match(PlSqlParser.RANGE); + this.state = 5633; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5634; + this.column_name(); + this.state = 5639; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5635; + this.match(PlSqlParser.COMMA); + this.state = 5636; + this.column_name(); + this.state = 5641; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5642; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5662; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.INTERVAL) { + this.state = 5643; + this.match(PlSqlParser.INTERVAL); + this.state = 5644; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5645; + this.expression(); + this.state = 5646; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5660; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORE) { + this.state = 5647; + this.match(PlSqlParser.STORE); + this.state = 5648; + this.match(PlSqlParser.IN); + this.state = 5649; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5650; + this.tablespace(); + this.state = 5655; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5651; + this.match(PlSqlParser.COMMA); + this.state = 5652; + this.tablespace(); + this.state = 5657; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5658; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } + + this.state = 5664; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5665; + this.match(PlSqlParser.PARTITION); + this.state = 5667; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 5666; + this.partition_name(); + } + + this.state = 5669; + this.range_values_clause(); + this.state = 5670; + this.table_partition_description(); + this.state = 5681; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5671; + this.match(PlSqlParser.COMMA); + this.state = 5672; + this.match(PlSqlParser.PARTITION); + this.state = 5674; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 5673; + this.partition_name(); + } + + this.state = 5676; + this.range_values_clause(); + this.state = 5677; + this.table_partition_description(); + this.state = 5683; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5684; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function List_partitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_list_partitions; + return this; +} + +List_partitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +List_partitionsContext.prototype.constructor = List_partitionsContext; + +List_partitionsContext.prototype.PARTITION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARTITION); + } else { + return this.getToken(PlSqlParser.PARTITION, i); + } +}; + + +List_partitionsContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +List_partitionsContext.prototype.LIST = function() { + return this.getToken(PlSqlParser.LIST, 0); +}; + +List_partitionsContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +List_partitionsContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +List_partitionsContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +List_partitionsContext.prototype.list_values_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(List_values_clauseContext); + } else { + return this.getTypedRuleContext(List_values_clauseContext,i); + } +}; + +List_partitionsContext.prototype.table_partition_description = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Table_partition_descriptionContext); + } else { + return this.getTypedRuleContext(Table_partition_descriptionContext,i); + } +}; + +List_partitionsContext.prototype.partition_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partition_nameContext); + } else { + return this.getTypedRuleContext(Partition_nameContext,i); + } +}; + +List_partitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +List_partitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterList_partitions(this); + } +}; + +List_partitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitList_partitions(this); + } +}; + +List_partitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitList_partitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.List_partitionsContext = List_partitionsContext; + +PlSqlParser.prototype.list_partitions = function() { + + var localctx = new List_partitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 548, PlSqlParser.RULE_list_partitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5686; + this.match(PlSqlParser.PARTITION); + this.state = 5687; + this.match(PlSqlParser.BY); + this.state = 5688; + this.match(PlSqlParser.LIST); + this.state = 5689; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5690; + this.column_name(); + this.state = 5691; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5692; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5693; + this.match(PlSqlParser.PARTITION); + this.state = 5695; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 5694; + this.partition_name(); + } + + this.state = 5697; + this.list_values_clause(); + this.state = 5698; + this.table_partition_description(); + this.state = 5709; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5699; + this.match(PlSqlParser.COMMA); + this.state = 5700; + this.match(PlSqlParser.PARTITION); + this.state = 5702; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 5701; + this.partition_name(); + } + + this.state = 5704; + this.list_values_clause(); + this.state = 5705; + this.table_partition_description(); + this.state = 5711; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5712; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Hash_partitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_hash_partitions; + return this; +} + +Hash_partitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Hash_partitionsContext.prototype.constructor = Hash_partitionsContext; + +Hash_partitionsContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Hash_partitionsContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Hash_partitionsContext.prototype.HASH = function() { + return this.getToken(PlSqlParser.HASH, 0); +}; + +Hash_partitionsContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Hash_partitionsContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Hash_partitionsContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Hash_partitionsContext.prototype.individual_hash_partitions = function() { + return this.getTypedRuleContext(Individual_hash_partitionsContext,0); +}; + +Hash_partitionsContext.prototype.hash_partitions_by_quantity = function() { + return this.getTypedRuleContext(Hash_partitions_by_quantityContext,0); +}; + +Hash_partitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Hash_partitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterHash_partitions(this); + } +}; + +Hash_partitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitHash_partitions(this); + } +}; + +Hash_partitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitHash_partitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Hash_partitionsContext = Hash_partitionsContext; + +PlSqlParser.prototype.hash_partitions = function() { + + var localctx = new Hash_partitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 550, PlSqlParser.RULE_hash_partitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5714; + this.match(PlSqlParser.PARTITION); + this.state = 5715; + this.match(PlSqlParser.BY); + this.state = 5716; + this.match(PlSqlParser.HASH); + this.state = 5717; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5718; + this.column_name(); + this.state = 5723; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5719; + this.match(PlSqlParser.COMMA); + this.state = 5720; + this.column_name(); + this.state = 5725; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5726; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5729; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 5727; + this.individual_hash_partitions(); + break; + case PlSqlParser.PARTITIONS: + this.state = 5728; + this.hash_partitions_by_quantity(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Individual_hash_partitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_individual_hash_partitions; + return this; +} + +Individual_hash_partitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Individual_hash_partitionsContext.prototype.constructor = Individual_hash_partitionsContext; + +Individual_hash_partitionsContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Individual_hash_partitionsContext.prototype.PARTITION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARTITION); + } else { + return this.getToken(PlSqlParser.PARTITION, i); + } +}; + + +Individual_hash_partitionsContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Individual_hash_partitionsContext.prototype.partition_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partition_nameContext); + } else { + return this.getTypedRuleContext(Partition_nameContext,i); + } +}; + +Individual_hash_partitionsContext.prototype.partitioning_storage_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Partitioning_storage_clauseContext); + } else { + return this.getTypedRuleContext(Partitioning_storage_clauseContext,i); + } +}; + +Individual_hash_partitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Individual_hash_partitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndividual_hash_partitions(this); + } +}; + +Individual_hash_partitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndividual_hash_partitions(this); + } +}; + +Individual_hash_partitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndividual_hash_partitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Individual_hash_partitionsContext = Individual_hash_partitionsContext; + +PlSqlParser.prototype.individual_hash_partitions = function() { + + var localctx = new Individual_hash_partitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 552, PlSqlParser.RULE_individual_hash_partitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5731; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5732; + this.match(PlSqlParser.PARTITION); + this.state = 5734; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,651,this._ctx); + if(la_===1) { + this.state = 5733; + this.partition_name(); + + } + this.state = 5737; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.LOB || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.OVERFLOW || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VARRAY) { + this.state = 5736; + this.partitioning_storage_clause(); + } + + this.state = 5749; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5739; + this.match(PlSqlParser.COMMA); + this.state = 5740; + this.match(PlSqlParser.PARTITION); + this.state = 5742; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,653,this._ctx); + if(la_===1) { + this.state = 5741; + this.partition_name(); + + } + this.state = 5745; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.LOB || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.OVERFLOW || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VARRAY) { + this.state = 5744; + this.partitioning_storage_clause(); + } + + this.state = 5751; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5752; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Hash_partitions_by_quantityContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_hash_partitions_by_quantity; + return this; +} + +Hash_partitions_by_quantityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Hash_partitions_by_quantityContext.prototype.constructor = Hash_partitions_by_quantityContext; + +Hash_partitions_by_quantityContext.prototype.PARTITIONS = function() { + return this.getToken(PlSqlParser.PARTITIONS, 0); +}; + +Hash_partitions_by_quantityContext.prototype.hash_partition_quantity = function() { + return this.getTypedRuleContext(Hash_partition_quantityContext,0); +}; + +Hash_partitions_by_quantityContext.prototype.STORE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.STORE); + } else { + return this.getToken(PlSqlParser.STORE, i); + } +}; + + +Hash_partitions_by_quantityContext.prototype.IN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.IN); + } else { + return this.getToken(PlSqlParser.IN, i); + } +}; + + +Hash_partitions_by_quantityContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Hash_partitions_by_quantityContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Hash_partitions_by_quantityContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Hash_partitions_by_quantityContext.prototype.table_compression = function() { + return this.getTypedRuleContext(Table_compressionContext,0); +}; + +Hash_partitions_by_quantityContext.prototype.key_compression = function() { + return this.getTypedRuleContext(Key_compressionContext,0); +}; + +Hash_partitions_by_quantityContext.prototype.OVERFLOW = function() { + return this.getToken(PlSqlParser.OVERFLOW, 0); +}; + +Hash_partitions_by_quantityContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Hash_partitions_by_quantityContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterHash_partitions_by_quantity(this); + } +}; + +Hash_partitions_by_quantityContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitHash_partitions_by_quantity(this); + } +}; + +Hash_partitions_by_quantityContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitHash_partitions_by_quantity(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Hash_partitions_by_quantityContext = Hash_partitions_by_quantityContext; + +PlSqlParser.prototype.hash_partitions_by_quantity = function() { + + var localctx = new Hash_partitions_by_quantityContext(this, this._ctx, this.state); + this.enterRule(localctx, 554, PlSqlParser.RULE_hash_partitions_by_quantity); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5754; + this.match(PlSqlParser.PARTITIONS); + this.state = 5755; + this.hash_partition_quantity(); + this.state = 5769; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORE) { + this.state = 5756; + this.match(PlSqlParser.STORE); + this.state = 5757; + this.match(PlSqlParser.IN); + this.state = 5758; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5759; + this.tablespace(); + this.state = 5764; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5760; + this.match(PlSqlParser.COMMA); + this.state = 5761; + this.tablespace(); + this.state = 5766; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5767; + this.match(PlSqlParser.RIGHT_PAREN); + } + + this.state = 5773; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,658,this._ctx); + if(la_===1) { + this.state = 5771; + this.table_compression(); + + } else if(la_===2) { + this.state = 5772; + this.key_compression(); + + } + this.state = 5789; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OVERFLOW) { + this.state = 5775; + this.match(PlSqlParser.OVERFLOW); + this.state = 5776; + this.match(PlSqlParser.STORE); + this.state = 5777; + this.match(PlSqlParser.IN); + this.state = 5778; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5779; + this.tablespace(); + this.state = 5784; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5780; + this.match(PlSqlParser.COMMA); + this.state = 5781; + this.tablespace(); + this.state = 5786; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5787; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Hash_partition_quantityContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_hash_partition_quantity; + return this; +} + +Hash_partition_quantityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Hash_partition_quantityContext.prototype.constructor = Hash_partition_quantityContext; + +Hash_partition_quantityContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Hash_partition_quantityContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterHash_partition_quantity(this); + } +}; + +Hash_partition_quantityContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitHash_partition_quantity(this); + } +}; + +Hash_partition_quantityContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitHash_partition_quantity(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Hash_partition_quantityContext = Hash_partition_quantityContext; + +PlSqlParser.prototype.hash_partition_quantity = function() { + + var localctx = new Hash_partition_quantityContext(this, this._ctx, this.state); + this.enterRule(localctx, 556, PlSqlParser.RULE_hash_partition_quantity); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5791; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Composite_range_partitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_composite_range_partitions; + return this; +} + +Composite_range_partitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Composite_range_partitionsContext.prototype.constructor = Composite_range_partitionsContext; + +Composite_range_partitionsContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Composite_range_partitionsContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Composite_range_partitionsContext.prototype.RANGE = function() { + return this.getToken(PlSqlParser.RANGE, 0); +}; + +Composite_range_partitionsContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Composite_range_partitionsContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Composite_range_partitionsContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Composite_range_partitionsContext.prototype.range_partition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Range_partition_descContext); + } else { + return this.getTypedRuleContext(Range_partition_descContext,i); + } +}; + +Composite_range_partitionsContext.prototype.subpartition_by_range = function() { + return this.getTypedRuleContext(Subpartition_by_rangeContext,0); +}; + +Composite_range_partitionsContext.prototype.subpartition_by_list = function() { + return this.getTypedRuleContext(Subpartition_by_listContext,0); +}; + +Composite_range_partitionsContext.prototype.subpartition_by_hash = function() { + return this.getTypedRuleContext(Subpartition_by_hashContext,0); +}; + +Composite_range_partitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Composite_range_partitionsContext.prototype.INTERVAL = function() { + return this.getToken(PlSqlParser.INTERVAL, 0); +}; + +Composite_range_partitionsContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Composite_range_partitionsContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +Composite_range_partitionsContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Composite_range_partitionsContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Composite_range_partitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterComposite_range_partitions(this); + } +}; + +Composite_range_partitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitComposite_range_partitions(this); + } +}; + +Composite_range_partitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitComposite_range_partitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Composite_range_partitionsContext = Composite_range_partitionsContext; + +PlSqlParser.prototype.composite_range_partitions = function() { + + var localctx = new Composite_range_partitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 558, PlSqlParser.RULE_composite_range_partitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5793; + this.match(PlSqlParser.PARTITION); + this.state = 5794; + this.match(PlSqlParser.BY); + this.state = 5795; + this.match(PlSqlParser.RANGE); + this.state = 5796; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5797; + this.column_name(); + this.state = 5802; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5798; + this.match(PlSqlParser.COMMA); + this.state = 5799; + this.column_name(); + this.state = 5804; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5805; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5825; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.INTERVAL) { + this.state = 5806; + this.match(PlSqlParser.INTERVAL); + this.state = 5807; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5808; + this.expression(); + this.state = 5809; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5823; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORE) { + this.state = 5810; + this.match(PlSqlParser.STORE); + this.state = 5811; + this.match(PlSqlParser.IN); + this.state = 5812; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5813; + this.tablespace(); + this.state = 5818; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5814; + this.match(PlSqlParser.COMMA); + this.state = 5815; + this.tablespace(); + this.state = 5820; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5821; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } + + this.state = 5830; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,665,this._ctx); + switch(la_) { + case 1: + this.state = 5827; + this.subpartition_by_range(); + break; + + case 2: + this.state = 5828; + this.subpartition_by_list(); + break; + + case 3: + this.state = 5829; + this.subpartition_by_hash(); + break; + + } + this.state = 5832; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5833; + this.range_partition_desc(); + this.state = 5838; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5834; + this.match(PlSqlParser.COMMA); + this.state = 5835; + this.range_partition_desc(); + this.state = 5840; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5841; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Composite_list_partitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_composite_list_partitions; + return this; +} + +Composite_list_partitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Composite_list_partitionsContext.prototype.constructor = Composite_list_partitionsContext; + +Composite_list_partitionsContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Composite_list_partitionsContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Composite_list_partitionsContext.prototype.LIST = function() { + return this.getToken(PlSqlParser.LIST, 0); +}; + +Composite_list_partitionsContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Composite_list_partitionsContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Composite_list_partitionsContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Composite_list_partitionsContext.prototype.list_partition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(List_partition_descContext); + } else { + return this.getTypedRuleContext(List_partition_descContext,i); + } +}; + +Composite_list_partitionsContext.prototype.subpartition_by_range = function() { + return this.getTypedRuleContext(Subpartition_by_rangeContext,0); +}; + +Composite_list_partitionsContext.prototype.subpartition_by_list = function() { + return this.getTypedRuleContext(Subpartition_by_listContext,0); +}; + +Composite_list_partitionsContext.prototype.subpartition_by_hash = function() { + return this.getTypedRuleContext(Subpartition_by_hashContext,0); +}; + +Composite_list_partitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Composite_list_partitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterComposite_list_partitions(this); + } +}; + +Composite_list_partitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitComposite_list_partitions(this); + } +}; + +Composite_list_partitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitComposite_list_partitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Composite_list_partitionsContext = Composite_list_partitionsContext; + +PlSqlParser.prototype.composite_list_partitions = function() { + + var localctx = new Composite_list_partitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 560, PlSqlParser.RULE_composite_list_partitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5843; + this.match(PlSqlParser.PARTITION); + this.state = 5844; + this.match(PlSqlParser.BY); + this.state = 5845; + this.match(PlSqlParser.LIST); + this.state = 5846; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5847; + this.column_name(); + this.state = 5848; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5852; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,667,this._ctx); + switch(la_) { + case 1: + this.state = 5849; + this.subpartition_by_range(); + break; + + case 2: + this.state = 5850; + this.subpartition_by_list(); + break; + + case 3: + this.state = 5851; + this.subpartition_by_hash(); + break; + + } + this.state = 5854; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5855; + this.list_partition_desc(); + this.state = 5860; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5856; + this.match(PlSqlParser.COMMA); + this.state = 5857; + this.list_partition_desc(); + this.state = 5862; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5863; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Composite_hash_partitionsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_composite_hash_partitions; + return this; +} + +Composite_hash_partitionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Composite_hash_partitionsContext.prototype.constructor = Composite_hash_partitionsContext; + +Composite_hash_partitionsContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Composite_hash_partitionsContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Composite_hash_partitionsContext.prototype.HASH = function() { + return this.getToken(PlSqlParser.HASH, 0); +}; + +Composite_hash_partitionsContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Composite_hash_partitionsContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Composite_hash_partitionsContext.prototype.subpartition_by_range = function() { + return this.getTypedRuleContext(Subpartition_by_rangeContext,0); +}; + +Composite_hash_partitionsContext.prototype.subpartition_by_list = function() { + return this.getTypedRuleContext(Subpartition_by_listContext,0); +}; + +Composite_hash_partitionsContext.prototype.subpartition_by_hash = function() { + return this.getTypedRuleContext(Subpartition_by_hashContext,0); +}; + +Composite_hash_partitionsContext.prototype.individual_hash_partitions = function() { + return this.getTypedRuleContext(Individual_hash_partitionsContext,0); +}; + +Composite_hash_partitionsContext.prototype.hash_partitions_by_quantity = function() { + return this.getTypedRuleContext(Hash_partitions_by_quantityContext,0); +}; + +Composite_hash_partitionsContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Composite_hash_partitionsContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Composite_hash_partitionsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterComposite_hash_partitions(this); + } +}; + +Composite_hash_partitionsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitComposite_hash_partitions(this); + } +}; + +Composite_hash_partitionsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitComposite_hash_partitions(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Composite_hash_partitionsContext = Composite_hash_partitionsContext; + +PlSqlParser.prototype.composite_hash_partitions = function() { + + var localctx = new Composite_hash_partitionsContext(this, this._ctx, this.state); + this.enterRule(localctx, 562, PlSqlParser.RULE_composite_hash_partitions); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5865; + this.match(PlSqlParser.PARTITION); + this.state = 5866; + this.match(PlSqlParser.BY); + this.state = 5867; + this.match(PlSqlParser.HASH); + this.state = 5868; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5871; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 5869; + this.match(PlSqlParser.COMMA); + this.state = 5870; + this.column_name(); + this.state = 5873; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.COMMA); + this.state = 5875; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5879; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,670,this._ctx); + switch(la_) { + case 1: + this.state = 5876; + this.subpartition_by_range(); + break; + + case 2: + this.state = 5877; + this.subpartition_by_list(); + break; + + case 3: + this.state = 5878; + this.subpartition_by_hash(); + break; + + } + this.state = 5883; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 5881; + this.individual_hash_partitions(); + break; + case PlSqlParser.PARTITIONS: + this.state = 5882; + this.hash_partitions_by_quantity(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Reference_partitioningContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_reference_partitioning; + return this; +} + +Reference_partitioningContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Reference_partitioningContext.prototype.constructor = Reference_partitioningContext; + +Reference_partitioningContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Reference_partitioningContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Reference_partitioningContext.prototype.REFERENCE = function() { + return this.getToken(PlSqlParser.REFERENCE, 0); +}; + +Reference_partitioningContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Reference_partitioningContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Reference_partitioningContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Reference_partitioningContext.prototype.reference_partition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Reference_partition_descContext); + } else { + return this.getTypedRuleContext(Reference_partition_descContext,i); + } +}; + +Reference_partitioningContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Reference_partitioningContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterReference_partitioning(this); + } +}; + +Reference_partitioningContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitReference_partitioning(this); + } +}; + +Reference_partitioningContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitReference_partitioning(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Reference_partitioningContext = Reference_partitioningContext; + +PlSqlParser.prototype.reference_partitioning = function() { + + var localctx = new Reference_partitioningContext(this, this._ctx, this.state); + this.enterRule(localctx, 564, PlSqlParser.RULE_reference_partitioning); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5885; + this.match(PlSqlParser.PARTITION); + this.state = 5886; + this.match(PlSqlParser.BY); + this.state = 5887; + this.match(PlSqlParser.REFERENCE); + this.state = 5888; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5889; + this.regular_id(); + this.state = 5890; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 5902; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 5891; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5892; + this.reference_partition_desc(); + this.state = 5897; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5893; + this.match(PlSqlParser.COMMA); + this.state = 5894; + this.reference_partition_desc(); + this.state = 5899; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 5900; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Reference_partition_descContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_reference_partition_desc; + return this; +} + +Reference_partition_descContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Reference_partition_descContext.prototype.constructor = Reference_partition_descContext; + +Reference_partition_descContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Reference_partition_descContext.prototype.table_partition_description = function() { + return this.getTypedRuleContext(Table_partition_descriptionContext,0); +}; + +Reference_partition_descContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Reference_partition_descContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterReference_partition_desc(this); + } +}; + +Reference_partition_descContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitReference_partition_desc(this); + } +}; + +Reference_partition_descContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitReference_partition_desc(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Reference_partition_descContext = Reference_partition_descContext; + +PlSqlParser.prototype.reference_partition_desc = function() { + + var localctx = new Reference_partition_descContext(this, this._ctx, this.state); + this.enterRule(localctx, 566, PlSqlParser.RULE_reference_partition_desc); + try { + this.enterOuterAlt(localctx, 1); + this.state = 5904; + this.match(PlSqlParser.PARTITION); + this.state = 5906; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,674,this._ctx); + if(la_===1) { + this.state = 5905; + this.partition_name(); + + } + this.state = 5908; + this.table_partition_description(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function System_partitioningContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_system_partitioning; + return this; +} + +System_partitioningContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +System_partitioningContext.prototype.constructor = System_partitioningContext; + +System_partitioningContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +System_partitioningContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +System_partitioningContext.prototype.SYSTEM = function() { + return this.getToken(PlSqlParser.SYSTEM, 0); +}; + +System_partitioningContext.prototype.PARTITIONS = function() { + return this.getToken(PlSqlParser.PARTITIONS, 0); +}; + +System_partitioningContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +System_partitioningContext.prototype.reference_partition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Reference_partition_descContext); + } else { + return this.getTypedRuleContext(Reference_partition_descContext,i); + } +}; + +System_partitioningContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +System_partitioningContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSystem_partitioning(this); + } +}; + +System_partitioningContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSystem_partitioning(this); + } +}; + +System_partitioningContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSystem_partitioning(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.System_partitioningContext = System_partitioningContext; + +PlSqlParser.prototype.system_partitioning = function() { + + var localctx = new System_partitioningContext(this, this._ctx, this.state); + this.enterRule(localctx, 568, PlSqlParser.RULE_system_partitioning); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5910; + this.match(PlSqlParser.PARTITION); + this.state = 5911; + this.match(PlSqlParser.BY); + this.state = 5912; + this.match(PlSqlParser.SYSTEM); + this.state = 5923; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.PARTITIONS: + this.state = 5913; + this.match(PlSqlParser.PARTITIONS); + this.state = 5914; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.PARTITION: + this.state = 5915; + this.reference_partition_desc(); + this.state = 5920; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5916; + this.match(PlSqlParser.COMMA); + this.state = 5917; + this.reference_partition_desc(); + this.state = 5922; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.AS: + case PlSqlParser.CACHE: + case PlSqlParser.DISABLE: + case PlSqlParser.ENABLE: + case PlSqlParser.FLASHBACK: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.PARALLEL: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROW: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Range_partition_descContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_range_partition_desc; + return this; +} + +Range_partition_descContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Range_partition_descContext.prototype.constructor = Range_partition_descContext; + +Range_partition_descContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +Range_partition_descContext.prototype.range_values_clause = function() { + return this.getTypedRuleContext(Range_values_clauseContext,0); +}; + +Range_partition_descContext.prototype.table_partition_description = function() { + return this.getTypedRuleContext(Table_partition_descriptionContext,0); +}; + +Range_partition_descContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Range_partition_descContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Range_partition_descContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Range_partition_descContext.prototype.hash_subparts_by_quantity = function() { + return this.getTypedRuleContext(Hash_subparts_by_quantityContext,0); +}; + +Range_partition_descContext.prototype.range_subpartition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Range_subpartition_descContext); + } else { + return this.getTypedRuleContext(Range_subpartition_descContext,i); + } +}; + +Range_partition_descContext.prototype.list_subpartition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(List_subpartition_descContext); + } else { + return this.getTypedRuleContext(List_subpartition_descContext,i); + } +}; + +Range_partition_descContext.prototype.individual_hash_subparts = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Individual_hash_subpartsContext); + } else { + return this.getTypedRuleContext(Individual_hash_subpartsContext,i); + } +}; + +Range_partition_descContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Range_partition_descContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRange_partition_desc(this); + } +}; + +Range_partition_descContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRange_partition_desc(this); + } +}; + +Range_partition_descContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRange_partition_desc(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Range_partition_descContext = Range_partition_descContext; + +PlSqlParser.prototype.range_partition_desc = function() { + + var localctx = new Range_partition_descContext(this, this._ctx, this.state); + this.enterRule(localctx, 570, PlSqlParser.RULE_range_partition_desc); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5925; + this.match(PlSqlParser.PARTITION); + this.state = 5927; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 5926; + this.partition_name(); + } + + this.state = 5929; + this.range_values_clause(); + this.state = 5930; + this.table_partition_description(); + this.state = 5963; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SUBPARTITIONS || _la===PlSqlParser.LEFT_PAREN) { + this.state = 5961; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 5931; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5956; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,681,this._ctx); + switch(la_) { + case 1: + this.state = 5932; + this.range_subpartition_desc(); + this.state = 5937; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5933; + this.match(PlSqlParser.COMMA); + this.state = 5934; + this.range_subpartition_desc(); + this.state = 5939; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + this.state = 5940; + this.list_subpartition_desc(); + this.state = 5945; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5941; + this.match(PlSqlParser.COMMA); + this.state = 5942; + this.list_subpartition_desc(); + this.state = 5947; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 3: + this.state = 5948; + this.individual_hash_subparts(); + this.state = 5953; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5949; + this.match(PlSqlParser.COMMA); + this.state = 5950; + this.individual_hash_subparts(); + this.state = 5955; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + } + this.state = 5958; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.SUBPARTITIONS: + this.state = 5960; + this.hash_subparts_by_quantity(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function List_partition_descContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_list_partition_desc; + return this; +} + +List_partition_descContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +List_partition_descContext.prototype.constructor = List_partition_descContext; + +List_partition_descContext.prototype.PARTITION = function() { + return this.getToken(PlSqlParser.PARTITION, 0); +}; + +List_partition_descContext.prototype.list_values_clause = function() { + return this.getTypedRuleContext(List_values_clauseContext,0); +}; + +List_partition_descContext.prototype.table_partition_description = function() { + return this.getTypedRuleContext(Table_partition_descriptionContext,0); +}; + +List_partition_descContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +List_partition_descContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +List_partition_descContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +List_partition_descContext.prototype.hash_subparts_by_quantity = function() { + return this.getTypedRuleContext(Hash_subparts_by_quantityContext,0); +}; + +List_partition_descContext.prototype.range_subpartition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Range_subpartition_descContext); + } else { + return this.getTypedRuleContext(Range_subpartition_descContext,i); + } +}; + +List_partition_descContext.prototype.list_subpartition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(List_subpartition_descContext); + } else { + return this.getTypedRuleContext(List_subpartition_descContext,i); + } +}; + +List_partition_descContext.prototype.individual_hash_subparts = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Individual_hash_subpartsContext); + } else { + return this.getTypedRuleContext(Individual_hash_subpartsContext,i); + } +}; + +List_partition_descContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +List_partition_descContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterList_partition_desc(this); + } +}; + +List_partition_descContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitList_partition_desc(this); + } +}; + +List_partition_descContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitList_partition_desc(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.List_partition_descContext = List_partition_descContext; + +PlSqlParser.prototype.list_partition_desc = function() { + + var localctx = new List_partition_descContext(this, this._ctx, this.state); + this.enterRule(localctx, 572, PlSqlParser.RULE_list_partition_desc); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 5965; + this.match(PlSqlParser.PARTITION); + this.state = 5967; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 5966; + this.partition_name(); + } + + this.state = 5969; + this.list_values_clause(); + this.state = 5970; + this.table_partition_description(); + this.state = 6003; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SUBPARTITIONS || _la===PlSqlParser.LEFT_PAREN) { + this.state = 6001; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 5971; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 5996; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,688,this._ctx); + switch(la_) { + case 1: + this.state = 5972; + this.range_subpartition_desc(); + this.state = 5977; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5973; + this.match(PlSqlParser.COMMA); + this.state = 5974; + this.range_subpartition_desc(); + this.state = 5979; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + this.state = 5980; + this.list_subpartition_desc(); + this.state = 5985; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5981; + this.match(PlSqlParser.COMMA); + this.state = 5982; + this.list_subpartition_desc(); + this.state = 5987; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 3: + this.state = 5988; + this.individual_hash_subparts(); + this.state = 5993; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 5989; + this.match(PlSqlParser.COMMA); + this.state = 5990; + this.individual_hash_subparts(); + this.state = 5995; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + } + this.state = 5998; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.SUBPARTITIONS: + this.state = 6000; + this.hash_subparts_by_quantity(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subpartition_templateContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_subpartition_template; + return this; +} + +Subpartition_templateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subpartition_templateContext.prototype.constructor = Subpartition_templateContext; + +Subpartition_templateContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Subpartition_templateContext.prototype.TEMPLATE = function() { + return this.getToken(PlSqlParser.TEMPLATE, 0); +}; + +Subpartition_templateContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Subpartition_templateContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Subpartition_templateContext.prototype.hash_subpartition_quantity = function() { + return this.getTypedRuleContext(Hash_subpartition_quantityContext,0); +}; + +Subpartition_templateContext.prototype.range_subpartition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Range_subpartition_descContext); + } else { + return this.getTypedRuleContext(Range_subpartition_descContext,i); + } +}; + +Subpartition_templateContext.prototype.list_subpartition_desc = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(List_subpartition_descContext); + } else { + return this.getTypedRuleContext(List_subpartition_descContext,i); + } +}; + +Subpartition_templateContext.prototype.individual_hash_subparts = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Individual_hash_subpartsContext); + } else { + return this.getTypedRuleContext(Individual_hash_subpartsContext,i); + } +}; + +Subpartition_templateContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Subpartition_templateContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSubpartition_template(this); + } +}; + +Subpartition_templateContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSubpartition_template(this); + } +}; + +Subpartition_templateContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSubpartition_template(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Subpartition_templateContext = Subpartition_templateContext; + +PlSqlParser.prototype.subpartition_template = function() { + + var localctx = new Subpartition_templateContext(this, this._ctx, this.state); + this.enterRule(localctx, 574, PlSqlParser.RULE_subpartition_template); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6005; + this.match(PlSqlParser.SUBPARTITION); + this.state = 6006; + this.match(PlSqlParser.TEMPLATE); + + this.state = 6037; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 6007; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6032; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,694,this._ctx); + switch(la_) { + case 1: + this.state = 6008; + this.range_subpartition_desc(); + this.state = 6013; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6009; + this.match(PlSqlParser.COMMA); + this.state = 6010; + this.range_subpartition_desc(); + this.state = 6015; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + this.state = 6016; + this.list_subpartition_desc(); + this.state = 6021; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6017; + this.match(PlSqlParser.COMMA); + this.state = 6018; + this.list_subpartition_desc(); + this.state = 6023; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 3: + this.state = 6024; + this.individual_hash_subparts(); + this.state = 6029; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6025; + this.match(PlSqlParser.COMMA); + this.state = 6026; + this.individual_hash_subparts(); + this.state = 6031; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + } + this.state = 6034; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6036; + this.hash_subpartition_quantity(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Hash_subpartition_quantityContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_hash_subpartition_quantity; + return this; +} + +Hash_subpartition_quantityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Hash_subpartition_quantityContext.prototype.constructor = Hash_subpartition_quantityContext; + +Hash_subpartition_quantityContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Hash_subpartition_quantityContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterHash_subpartition_quantity(this); + } +}; + +Hash_subpartition_quantityContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitHash_subpartition_quantity(this); + } +}; + +Hash_subpartition_quantityContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitHash_subpartition_quantity(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Hash_subpartition_quantityContext = Hash_subpartition_quantityContext; + +PlSqlParser.prototype.hash_subpartition_quantity = function() { + + var localctx = new Hash_subpartition_quantityContext(this, this._ctx, this.state); + this.enterRule(localctx, 576, PlSqlParser.RULE_hash_subpartition_quantity); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6039; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subpartition_by_rangeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_subpartition_by_range; + return this; +} + +Subpartition_by_rangeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subpartition_by_rangeContext.prototype.constructor = Subpartition_by_rangeContext; + +Subpartition_by_rangeContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Subpartition_by_rangeContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Subpartition_by_rangeContext.prototype.RANGE = function() { + return this.getToken(PlSqlParser.RANGE, 0); +}; + +Subpartition_by_rangeContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Subpartition_by_rangeContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Subpartition_by_rangeContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Subpartition_by_rangeContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Subpartition_by_rangeContext.prototype.subpartition_template = function() { + return this.getTypedRuleContext(Subpartition_templateContext,0); +}; + +Subpartition_by_rangeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSubpartition_by_range(this); + } +}; + +Subpartition_by_rangeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSubpartition_by_range(this); + } +}; + +Subpartition_by_rangeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSubpartition_by_range(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Subpartition_by_rangeContext = Subpartition_by_rangeContext; + +PlSqlParser.prototype.subpartition_by_range = function() { + + var localctx = new Subpartition_by_rangeContext(this, this._ctx, this.state); + this.enterRule(localctx, 578, PlSqlParser.RULE_subpartition_by_range); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6041; + this.match(PlSqlParser.SUBPARTITION); + this.state = 6042; + this.match(PlSqlParser.BY); + this.state = 6043; + this.match(PlSqlParser.RANGE); + this.state = 6044; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6045; + this.column_name(); + this.state = 6050; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6046; + this.match(PlSqlParser.COMMA); + this.state = 6047; + this.column_name(); + this.state = 6052; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6053; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 6055; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SUBPARTITION) { + this.state = 6054; + this.subpartition_template(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subpartition_by_listContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_subpartition_by_list; + return this; +} + +Subpartition_by_listContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subpartition_by_listContext.prototype.constructor = Subpartition_by_listContext; + +Subpartition_by_listContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Subpartition_by_listContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Subpartition_by_listContext.prototype.LIST = function() { + return this.getToken(PlSqlParser.LIST, 0); +}; + +Subpartition_by_listContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Subpartition_by_listContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Subpartition_by_listContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Subpartition_by_listContext.prototype.subpartition_template = function() { + return this.getTypedRuleContext(Subpartition_templateContext,0); +}; + +Subpartition_by_listContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSubpartition_by_list(this); + } +}; + +Subpartition_by_listContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSubpartition_by_list(this); + } +}; + +Subpartition_by_listContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSubpartition_by_list(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Subpartition_by_listContext = Subpartition_by_listContext; + +PlSqlParser.prototype.subpartition_by_list = function() { + + var localctx = new Subpartition_by_listContext(this, this._ctx, this.state); + this.enterRule(localctx, 580, PlSqlParser.RULE_subpartition_by_list); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6057; + this.match(PlSqlParser.SUBPARTITION); + this.state = 6058; + this.match(PlSqlParser.BY); + this.state = 6059; + this.match(PlSqlParser.LIST); + this.state = 6060; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6061; + this.column_name(); + this.state = 6062; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 6064; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SUBPARTITION) { + this.state = 6063; + this.subpartition_template(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subpartition_by_hashContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_subpartition_by_hash; + return this; +} + +Subpartition_by_hashContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subpartition_by_hashContext.prototype.constructor = Subpartition_by_hashContext; + +Subpartition_by_hashContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Subpartition_by_hashContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Subpartition_by_hashContext.prototype.HASH = function() { + return this.getToken(PlSqlParser.HASH, 0); +}; + +Subpartition_by_hashContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Subpartition_by_hashContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Subpartition_by_hashContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Subpartition_by_hashContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Subpartition_by_hashContext.prototype.SUBPARTITIONS = function() { + return this.getToken(PlSqlParser.SUBPARTITIONS, 0); +}; + +Subpartition_by_hashContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Subpartition_by_hashContext.prototype.subpartition_template = function() { + return this.getTypedRuleContext(Subpartition_templateContext,0); +}; + +Subpartition_by_hashContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +Subpartition_by_hashContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Subpartition_by_hashContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Subpartition_by_hashContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSubpartition_by_hash(this); + } +}; + +Subpartition_by_hashContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSubpartition_by_hash(this); + } +}; + +Subpartition_by_hashContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSubpartition_by_hash(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Subpartition_by_hashContext = Subpartition_by_hashContext; + +PlSqlParser.prototype.subpartition_by_hash = function() { + + var localctx = new Subpartition_by_hashContext(this, this._ctx, this.state); + this.enterRule(localctx, 582, PlSqlParser.RULE_subpartition_by_hash); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6066; + this.match(PlSqlParser.SUBPARTITION); + this.state = 6067; + this.match(PlSqlParser.BY); + this.state = 6068; + this.match(PlSqlParser.HASH); + this.state = 6069; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6070; + this.column_name(); + this.state = 6075; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6071; + this.match(PlSqlParser.COMMA); + this.state = 6072; + this.column_name(); + this.state = 6077; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6078; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 6097; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.SUBPARTITIONS: + this.state = 6079; + this.match(PlSqlParser.SUBPARTITIONS); + this.state = 6080; + this.match(PlSqlParser.UNSIGNED_INTEGER); + this.state = 6094; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORE) { + this.state = 6081; + this.match(PlSqlParser.STORE); + this.state = 6082; + this.match(PlSqlParser.IN); + this.state = 6083; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6084; + this.tablespace(); + this.state = 6089; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6085; + this.match(PlSqlParser.COMMA); + this.state = 6086; + this.tablespace(); + this.state = 6091; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6092; + this.match(PlSqlParser.RIGHT_PAREN); + } + + break; + case PlSqlParser.SUBPARTITION: + this.state = 6096; + this.subpartition_template(); + break; + case PlSqlParser.PARTITIONS: + case PlSqlParser.LEFT_PAREN: + break; + default: + break; + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Subpartition_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_subpartition_name; + return this; +} + +Subpartition_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Subpartition_nameContext.prototype.constructor = Subpartition_nameContext; + +Subpartition_nameContext.prototype.partition_name = function() { + return this.getTypedRuleContext(Partition_nameContext,0); +}; + +Subpartition_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSubpartition_name(this); + } +}; + +Subpartition_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSubpartition_name(this); + } +}; + +Subpartition_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSubpartition_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Subpartition_nameContext = Subpartition_nameContext; + +PlSqlParser.prototype.subpartition_name = function() { + + var localctx = new Subpartition_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 584, PlSqlParser.RULE_subpartition_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6099; + this.partition_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Range_subpartition_descContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_range_subpartition_desc; + return this; +} + +Range_subpartition_descContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Range_subpartition_descContext.prototype.constructor = Range_subpartition_descContext; + +Range_subpartition_descContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Range_subpartition_descContext.prototype.range_values_clause = function() { + return this.getTypedRuleContext(Range_values_clauseContext,0); +}; + +Range_subpartition_descContext.prototype.subpartition_name = function() { + return this.getTypedRuleContext(Subpartition_nameContext,0); +}; + +Range_subpartition_descContext.prototype.partitioning_storage_clause = function() { + return this.getTypedRuleContext(Partitioning_storage_clauseContext,0); +}; + +Range_subpartition_descContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRange_subpartition_desc(this); + } +}; + +Range_subpartition_descContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRange_subpartition_desc(this); + } +}; + +Range_subpartition_descContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRange_subpartition_desc(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Range_subpartition_descContext = Range_subpartition_descContext; + +PlSqlParser.prototype.range_subpartition_desc = function() { + + var localctx = new Range_subpartition_descContext(this, this._ctx, this.state); + this.enterRule(localctx, 586, PlSqlParser.RULE_range_subpartition_desc); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6101; + this.match(PlSqlParser.SUBPARTITION); + this.state = 6103; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 6102; + this.subpartition_name(); + } + + this.state = 6105; + this.range_values_clause(); + this.state = 6107; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.LOB || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.OVERFLOW || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VARRAY) { + this.state = 6106; + this.partitioning_storage_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function List_subpartition_descContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_list_subpartition_desc; + return this; +} + +List_subpartition_descContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +List_subpartition_descContext.prototype.constructor = List_subpartition_descContext; + +List_subpartition_descContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +List_subpartition_descContext.prototype.list_values_clause = function() { + return this.getTypedRuleContext(List_values_clauseContext,0); +}; + +List_subpartition_descContext.prototype.subpartition_name = function() { + return this.getTypedRuleContext(Subpartition_nameContext,0); +}; + +List_subpartition_descContext.prototype.partitioning_storage_clause = function() { + return this.getTypedRuleContext(Partitioning_storage_clauseContext,0); +}; + +List_subpartition_descContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterList_subpartition_desc(this); + } +}; + +List_subpartition_descContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitList_subpartition_desc(this); + } +}; + +List_subpartition_descContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitList_subpartition_desc(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.List_subpartition_descContext = List_subpartition_descContext; + +PlSqlParser.prototype.list_subpartition_desc = function() { + + var localctx = new List_subpartition_descContext(this, this._ctx, this.state); + this.enterRule(localctx, 588, PlSqlParser.RULE_list_subpartition_desc); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6109; + this.match(PlSqlParser.SUBPARTITION); + this.state = 6111; + this._errHandler.sync(this); + _la = this._input.LA(1); + if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << PlSqlParser.ABORT) | (1 << PlSqlParser.ABS) | (1 << PlSqlParser.ACCESS) | (1 << PlSqlParser.ACCESSED) | (1 << PlSqlParser.ACCOUNT) | (1 << PlSqlParser.ACL) | (1 << PlSqlParser.ACOS) | (1 << PlSqlParser.ACTION) | (1 << PlSqlParser.ACTIONS) | (1 << PlSqlParser.ACTIVATE) | (1 << PlSqlParser.ACTIVE) | (1 << PlSqlParser.ACTIVE_COMPONENT) | (1 << PlSqlParser.ACTIVE_DATA) | (1 << PlSqlParser.ACTIVE_FUNCTION) | (1 << PlSqlParser.ACTIVE_TAG) | (1 << PlSqlParser.ACTIVITY) | (1 << PlSqlParser.ADAPTIVE_PLAN) | (1 << PlSqlParser.ADD) | (1 << PlSqlParser.ADD_COLUMN) | (1 << PlSqlParser.ADD_GROUP) | (1 << PlSqlParser.ADD_MONTHS) | (1 << PlSqlParser.ADJ_DATE) | (1 << PlSqlParser.ADMIN) | (1 << PlSqlParser.ADMINISTER) | (1 << PlSqlParser.ADMINISTRATOR) | (1 << PlSqlParser.ADVANCED) | (1 << PlSqlParser.ADVISE) | (1 << PlSqlParser.ADVISOR) | (1 << PlSqlParser.AFD_DISKSTRING) | (1 << PlSqlParser.AFTER) | (1 << PlSqlParser.AGENT))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (PlSqlParser.AGGREGATE - 32)) | (1 << (PlSqlParser.A_LETTER - 32)) | (1 << (PlSqlParser.ALIAS - 32)) | (1 << (PlSqlParser.ALLOCATE - 32)) | (1 << (PlSqlParser.ALLOW - 32)) | (1 << (PlSqlParser.ALL_ROWS - 32)) | (1 << (PlSqlParser.ALWAYS - 32)) | (1 << (PlSqlParser.ANALYZE - 32)) | (1 << (PlSqlParser.ANCILLARY - 32)) | (1 << (PlSqlParser.AND_EQUAL - 32)) | (1 << (PlSqlParser.ANOMALY - 32)) | (1 << (PlSqlParser.ANSI_REARCH - 32)) | (1 << (PlSqlParser.ANTIJOIN - 32)) | (1 << (PlSqlParser.ANYSCHEMA - 32)) | (1 << (PlSqlParser.APPEND - 32)) | (1 << (PlSqlParser.APPENDCHILDXML - 32)) | (1 << (PlSqlParser.APPEND_VALUES - 32)) | (1 << (PlSqlParser.APPLICATION - 32)) | (1 << (PlSqlParser.APPLY - 32)) | (1 << (PlSqlParser.APPROX_COUNT_DISTINCT - 32)) | (1 << (PlSqlParser.ARCHIVAL - 32)) | (1 << (PlSqlParser.ARCHIVE - 32)) | (1 << (PlSqlParser.ARCHIVED - 32)) | (1 << (PlSqlParser.ARCHIVELOG - 32)) | (1 << (PlSqlParser.ARRAY - 32)) | (1 << (PlSqlParser.ASCII - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (PlSqlParser.ASCIISTR - 64)) | (1 << (PlSqlParser.ASIN - 64)) | (1 << (PlSqlParser.ASIS - 64)) | (1 << (PlSqlParser.ASSEMBLY - 64)) | (1 << (PlSqlParser.ASSIGN - 64)) | (1 << (PlSqlParser.ASSOCIATE - 64)) | (1 << (PlSqlParser.ASYNC - 64)) | (1 << (PlSqlParser.ASYNCHRONOUS - 64)) | (1 << (PlSqlParser.ATAN2 - 64)) | (1 << (PlSqlParser.ATAN - 64)) | (1 << (PlSqlParser.AT - 64)) | (1 << (PlSqlParser.ATTRIBUTE - 64)) | (1 << (PlSqlParser.ATTRIBUTES - 64)) | (1 << (PlSqlParser.AUTHENTICATED - 64)) | (1 << (PlSqlParser.AUTHENTICATION - 64)) | (1 << (PlSqlParser.AUTHID - 64)) | (1 << (PlSqlParser.AUTHORIZATION - 64)) | (1 << (PlSqlParser.AUTOALLOCATE - 64)) | (1 << (PlSqlParser.AUTO - 64)) | (1 << (PlSqlParser.AUTOEXTEND - 64)) | (1 << (PlSqlParser.AUTO_LOGIN - 64)) | (1 << (PlSqlParser.AUTOMATIC - 64)) | (1 << (PlSqlParser.AUTONOMOUS_TRANSACTION - 64)) | (1 << (PlSqlParser.AUTO_REOPTIMIZE - 64)) | (1 << (PlSqlParser.AVAILABILITY - 64)) | (1 << (PlSqlParser.AVRO - 64)) | (1 << (PlSqlParser.BACKGROUND - 64)) | (1 << (PlSqlParser.BACKUP - 64)) | (1 << (PlSqlParser.BASIC - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (PlSqlParser.BASICFILE - 96)) | (1 << (PlSqlParser.BATCH - 96)) | (1 << (PlSqlParser.BATCHSIZE - 96)) | (1 << (PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID - 96)) | (1 << (PlSqlParser.BECOME - 96)) | (1 << (PlSqlParser.BEFORE - 96)) | (1 << (PlSqlParser.BEGIN - 96)) | (1 << (PlSqlParser.BEGINNING - 96)) | (1 << (PlSqlParser.BEGIN_OUTLINE_DATA - 96)) | (1 << (PlSqlParser.BEHALF - 96)) | (1 << (PlSqlParser.BEQUEATH - 96)) | (1 << (PlSqlParser.BFILE - 96)) | (1 << (PlSqlParser.BFILENAME - 96)) | (1 << (PlSqlParser.BIGFILE - 96)) | (1 << (PlSqlParser.BINARY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_DOUBLE_NAN - 96)) | (1 << (PlSqlParser.BINARY_FLOAT - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_INFINITY - 96)) | (1 << (PlSqlParser.BINARY_FLOAT_NAN - 96)) | (1 << (PlSqlParser.BINARY_INTEGER - 96)) | (1 << (PlSqlParser.BIND_AWARE - 96)) | (1 << (PlSqlParser.BINDING - 96)) | (1 << (PlSqlParser.BIN_TO_NUM - 96)) | (1 << (PlSqlParser.BITAND - 96)) | (1 << (PlSqlParser.BITMAP_AND - 96)) | (1 << (PlSqlParser.BITMAP - 96)) | (1 << (PlSqlParser.BITMAPS - 96)) | (1 << (PlSqlParser.BITMAP_TREE - 96)) | (1 << (PlSqlParser.BITS - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (PlSqlParser.BLOB - 128)) | (1 << (PlSqlParser.BLOCK - 128)) | (1 << (PlSqlParser.BLOCK_RANGE - 128)) | (1 << (PlSqlParser.BLOCKS - 128)) | (1 << (PlSqlParser.BLOCKSIZE - 128)) | (1 << (PlSqlParser.BODY - 128)) | (1 << (PlSqlParser.BOOLEAN - 128)) | (1 << (PlSqlParser.BOTH - 128)) | (1 << (PlSqlParser.BOUND - 128)) | (1 << (PlSqlParser.BRANCH - 128)) | (1 << (PlSqlParser.BREADTH - 128)) | (1 << (PlSqlParser.BROADCAST - 128)) | (1 << (PlSqlParser.BSON - 128)) | (1 << (PlSqlParser.BUFFER - 128)) | (1 << (PlSqlParser.BUFFER_CACHE - 128)) | (1 << (PlSqlParser.BUFFER_POOL - 128)) | (1 << (PlSqlParser.BUILD - 128)) | (1 << (PlSqlParser.BULK - 128)) | (1 << (PlSqlParser.BYPASS_RECURSIVE_CHECK - 128)) | (1 << (PlSqlParser.BYPASS_UJVC - 128)) | (1 << (PlSqlParser.BYTE - 128)) | (1 << (PlSqlParser.CACHE - 128)) | (1 << (PlSqlParser.CACHE_CB - 128)) | (1 << (PlSqlParser.CACHE_INSTANCES - 128)) | (1 << (PlSqlParser.CACHE_TEMP_TABLE - 128)) | (1 << (PlSqlParser.CACHING - 128)) | (1 << (PlSqlParser.CALCULATED - 128)) | (1 << (PlSqlParser.CALLBACK - 128)) | (1 << (PlSqlParser.CALL - 128)) | (1 << (PlSqlParser.CANCEL - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (PlSqlParser.CAPACITY - 160)) | (1 << (PlSqlParser.CARDINALITY - 160)) | (1 << (PlSqlParser.CASCADE - 160)) | (1 << (PlSqlParser.CASE - 160)) | (1 << (PlSqlParser.CAST - 160)) | (1 << (PlSqlParser.CATEGORY - 160)) | (1 << (PlSqlParser.CDBDEFAULT - 160)) | (1 << (PlSqlParser.CEIL - 160)) | (1 << (PlSqlParser.CELL_FLASH_CACHE - 160)) | (1 << (PlSqlParser.CERTIFICATE - 160)) | (1 << (PlSqlParser.CFILE - 160)) | (1 << (PlSqlParser.CHAINED - 160)) | (1 << (PlSqlParser.CHANGE - 160)) | (1 << (PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX - 160)) | (1 << (PlSqlParser.CHARACTER - 160)) | (1 << (PlSqlParser.CHAR - 160)) | (1 << (PlSqlParser.CHAR_CS - 160)) | (1 << (PlSqlParser.CHARTOROWID - 160)) | (1 << (PlSqlParser.CHECK_ACL_REWRITE - 160)) | (1 << (PlSqlParser.CHECKPOINT - 160)) | (1 << (PlSqlParser.CHILD - 160)) | (1 << (PlSqlParser.CHOOSE - 160)) | (1 << (PlSqlParser.CHR - 160)) | (1 << (PlSqlParser.CHUNK - 160)) | (1 << (PlSqlParser.CLASS - 160)) | (1 << (PlSqlParser.CLASSIFIER - 160)) | (1 << (PlSqlParser.CLEANUP - 160)) | (1 << (PlSqlParser.CLEAR - 160)) | (1 << (PlSqlParser.C_LETTER - 160)) | (1 << (PlSqlParser.CLIENT - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (PlSqlParser.CLOB - 192)) | (1 << (PlSqlParser.CLONE - 192)) | (1 << (PlSqlParser.CLOSE_CACHED_OPEN_CURSORS - 192)) | (1 << (PlSqlParser.CLOSE - 192)) | (1 << (PlSqlParser.CLUSTER_BY_ROWID - 192)) | (1 << (PlSqlParser.CLUSTER - 192)) | (1 << (PlSqlParser.CLUSTER_DETAILS - 192)) | (1 << (PlSqlParser.CLUSTER_DISTANCE - 192)) | (1 << (PlSqlParser.CLUSTER_ID - 192)) | (1 << (PlSqlParser.CLUSTERING - 192)) | (1 << (PlSqlParser.CLUSTERING_FACTOR - 192)) | (1 << (PlSqlParser.CLUSTER_PROBABILITY - 192)) | (1 << (PlSqlParser.CLUSTER_SET - 192)) | (1 << (PlSqlParser.COALESCE - 192)) | (1 << (PlSqlParser.COALESCE_SQ - 192)) | (1 << (PlSqlParser.COARSE - 192)) | (1 << (PlSqlParser.CO_AUTH_IND - 192)) | (1 << (PlSqlParser.COLD - 192)) | (1 << (PlSqlParser.COLLECT - 192)) | (1 << (PlSqlParser.COLUMNAR - 192)) | (1 << (PlSqlParser.COLUMN_AUTH_INDICATOR - 192)) | (1 << (PlSqlParser.COLUMN - 192)) | (1 << (PlSqlParser.COLUMNS - 192)) | (1 << (PlSqlParser.COLUMN_STATS - 192)) | (1 << (PlSqlParser.COLUMN_VALUE - 192)) | (1 << (PlSqlParser.COMMENT - 192)) | (1 << (PlSqlParser.COMMIT - 192)) | (1 << (PlSqlParser.COMMITTED - 192)) | (1 << (PlSqlParser.COMMON_DATA - 192)) | (1 << (PlSqlParser.COMPACT - 192)) | (1 << (PlSqlParser.COMPATIBILITY - 192)) | (1 << (PlSqlParser.COMPILE - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (PlSqlParser.COMPLETE - 224)) | (1 << (PlSqlParser.COMPLIANCE - 224)) | (1 << (PlSqlParser.COMPONENT - 224)) | (1 << (PlSqlParser.COMPONENTS - 224)) | (1 << (PlSqlParser.COMPOSE - 224)) | (1 << (PlSqlParser.COMPOSITE - 224)) | (1 << (PlSqlParser.COMPOSITE_LIMIT - 224)) | (1 << (PlSqlParser.COMPOUND - 224)) | (1 << (PlSqlParser.COMPUTE - 224)) | (1 << (PlSqlParser.CONCAT - 224)) | (1 << (PlSqlParser.CON_DBID_TO_ID - 224)) | (1 << (PlSqlParser.CONDITIONAL - 224)) | (1 << (PlSqlParser.CONDITION - 224)) | (1 << (PlSqlParser.CONFIRM - 224)) | (1 << (PlSqlParser.CONFORMING - 224)) | (1 << (PlSqlParser.CON_GUID_TO_ID - 224)) | (1 << (PlSqlParser.CON_ID - 224)) | (1 << (PlSqlParser.CON_NAME_TO_ID - 224)) | (1 << (PlSqlParser.CONNECT_BY_CB_WHR_ONLY - 224)) | (1 << (PlSqlParser.CONNECT_BY_COMBINE_SW - 224)) | (1 << (PlSqlParser.CONNECT_BY_COST_BASED - 224)) | (1 << (PlSqlParser.CONNECT_BY_ELIM_DUPS - 224)) | (1 << (PlSqlParser.CONNECT_BY_FILTERING - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISCYCLE - 224)) | (1 << (PlSqlParser.CONNECT_BY_ISLEAF - 224)) | (1 << (PlSqlParser.CONNECT_BY_ROOT - 224)) | (1 << (PlSqlParser.CONNECT_TIME - 224)) | (1 << (PlSqlParser.CONSIDER - 224)) | (1 << (PlSqlParser.CONSISTENT - 224)) | (1 << (PlSqlParser.CONSTANT - 224)))) !== 0) || ((((_la - 256)) & ~0x1f) == 0 && ((1 << (_la - 256)) & ((1 << (PlSqlParser.CONST - 256)) | (1 << (PlSqlParser.CONSTRAINT - 256)) | (1 << (PlSqlParser.CONSTRAINTS - 256)) | (1 << (PlSqlParser.CONSTRUCTOR - 256)) | (1 << (PlSqlParser.CONTAINER - 256)) | (1 << (PlSqlParser.CONTAINER_DATA - 256)) | (1 << (PlSqlParser.CONTAINERS - 256)) | (1 << (PlSqlParser.CONTENT - 256)) | (1 << (PlSqlParser.CONTENTS - 256)) | (1 << (PlSqlParser.CONTEXT - 256)) | (1 << (PlSqlParser.CONTINUE - 256)) | (1 << (PlSqlParser.CONTROLFILE - 256)) | (1 << (PlSqlParser.CON_UID_TO_ID - 256)) | (1 << (PlSqlParser.CONVERT - 256)) | (1 << (PlSqlParser.COOKIE - 256)) | (1 << (PlSqlParser.COPY - 256)) | (1 << (PlSqlParser.CORR_K - 256)) | (1 << (PlSqlParser.CORR_S - 256)) | (1 << (PlSqlParser.CORRUPTION - 256)) | (1 << (PlSqlParser.CORRUPT_XID_ALL - 256)) | (1 << (PlSqlParser.CORRUPT_XID - 256)) | (1 << (PlSqlParser.COS - 256)) | (1 << (PlSqlParser.COSH - 256)) | (1 << (PlSqlParser.COST - 256)) | (1 << (PlSqlParser.COST_XML_QUERY_REWRITE - 256)) | (1 << (PlSqlParser.COUNT - 256)) | (1 << (PlSqlParser.COVAR_POP - 256)) | (1 << (PlSqlParser.COVAR_SAMP - 256)) | (1 << (PlSqlParser.CPU_COSTING - 256)) | (1 << (PlSqlParser.CPU_PER_CALL - 256)) | (1 << (PlSqlParser.CPU_PER_SESSION - 256)) | (1 << (PlSqlParser.CRASH - 256)))) !== 0) || ((((_la - 289)) & ~0x1f) == 0 && ((1 << (_la - 289)) & ((1 << (PlSqlParser.CREATE_FILE_DEST - 289)) | (1 << (PlSqlParser.CREATE_STORED_OUTLINES - 289)) | (1 << (PlSqlParser.CREATION - 289)) | (1 << (PlSqlParser.CREDENTIAL - 289)) | (1 << (PlSqlParser.CRITICAL - 289)) | (1 << (PlSqlParser.CROSS - 289)) | (1 << (PlSqlParser.CROSSEDITION - 289)) | (1 << (PlSqlParser.CSCONVERT - 289)) | (1 << (PlSqlParser.CUBE_AJ - 289)) | (1 << (PlSqlParser.CUBE - 289)) | (1 << (PlSqlParser.CUBE_GB - 289)) | (1 << (PlSqlParser.CUBE_SJ - 289)) | (1 << (PlSqlParser.CUME_DISTM - 289)) | (1 << (PlSqlParser.CURRENT - 289)) | (1 << (PlSqlParser.CURRENT_DATE - 289)) | (1 << (PlSqlParser.CURRENT_SCHEMA - 289)) | (1 << (PlSqlParser.CURRENT_TIME - 289)) | (1 << (PlSqlParser.CURRENT_TIMESTAMP - 289)) | (1 << (PlSqlParser.CURRENT_USER - 289)) | (1 << (PlSqlParser.CURRENTV - 289)) | (1 << (PlSqlParser.CURSOR - 289)) | (1 << (PlSqlParser.CURSOR_SHARING_EXACT - 289)) | (1 << (PlSqlParser.CURSOR_SPECIFIC_SEGMENT - 289)) | (1 << (PlSqlParser.CUSTOMDATUM - 289)) | (1 << (PlSqlParser.CV - 289)) | (1 << (PlSqlParser.CYCLE - 289)) | (1 << (PlSqlParser.DANGLING - 289)) | (1 << (PlSqlParser.DATABASE - 289)) | (1 << (PlSqlParser.DATA - 289)) | (1 << (PlSqlParser.DATAFILE - 289)) | (1 << (PlSqlParser.DATAFILES - 289)))) !== 0) || ((((_la - 321)) & ~0x1f) == 0 && ((1 << (_la - 321)) & ((1 << (PlSqlParser.DATAMOVEMENT - 321)) | (1 << (PlSqlParser.DATAOBJNO - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_MAT_PARTITION - 321)) | (1 << (PlSqlParser.DATAOBJ_TO_PARTITION - 321)) | (1 << (PlSqlParser.DATAPUMP - 321)) | (1 << (PlSqlParser.DATA_SECURITY_REWRITE_LIMIT - 321)) | (1 << (PlSqlParser.DATE_MODE - 321)) | (1 << (PlSqlParser.DAY - 321)) | (1 << (PlSqlParser.DAYS - 321)) | (1 << (PlSqlParser.DBA - 321)) | (1 << (PlSqlParser.DBA_RECYCLEBIN - 321)) | (1 << (PlSqlParser.DBMS_STATS - 321)) | (1 << (PlSqlParser.DB_ROLE_CHANGE - 321)) | (1 << (PlSqlParser.DBTIMEZONE - 321)) | (1 << (PlSqlParser.DB_UNIQUE_NAME - 321)) | (1 << (PlSqlParser.DB_VERSION - 321)) | (1 << (PlSqlParser.DDL - 321)) | (1 << (PlSqlParser.DEALLOCATE - 321)) | (1 << (PlSqlParser.DEBUG - 321)) | (1 << (PlSqlParser.DEBUGGER - 321)) | (1 << (PlSqlParser.DEC - 321)) | (1 << (PlSqlParser.DECIMAL - 321)) | (1 << (PlSqlParser.DECLARE - 321)) | (1 << (PlSqlParser.DECOMPOSE - 321)) | (1 << (PlSqlParser.DECORRELATE - 321)) | (1 << (PlSqlParser.DECR - 321)) | (1 << (PlSqlParser.DECREMENT - 321)) | (1 << (PlSqlParser.DECRYPT - 321)) | (1 << (PlSqlParser.DEDUPLICATE - 321)) | (1 << (PlSqlParser.DEFAULTS - 321)))) !== 0) || ((((_la - 353)) & ~0x1f) == 0 && ((1 << (_la - 353)) & ((1 << (PlSqlParser.DEFERRABLE - 353)) | (1 << (PlSqlParser.DEFERRED - 353)) | (1 << (PlSqlParser.DEFINED - 353)) | (1 << (PlSqlParser.DEFINE - 353)) | (1 << (PlSqlParser.DEFINER - 353)) | (1 << (PlSqlParser.DEGREE - 353)) | (1 << (PlSqlParser.DELAY - 353)) | (1 << (PlSqlParser.DELEGATE - 353)) | (1 << (PlSqlParser.DELETE_ALL - 353)) | (1 << (PlSqlParser.DELETE - 353)) | (1 << (PlSqlParser.DELETEXML - 353)) | (1 << (PlSqlParser.DEMAND - 353)) | (1 << (PlSqlParser.DENSE_RANKM - 353)) | (1 << (PlSqlParser.DEPENDENT - 353)) | (1 << (PlSqlParser.DEPTH - 353)) | (1 << (PlSqlParser.DEQUEUE - 353)) | (1 << (PlSqlParser.DEREF - 353)) | (1 << (PlSqlParser.DEREF_NO_REWRITE - 353)) | (1 << (PlSqlParser.DESTROY - 353)) | (1 << (PlSqlParser.DETACHED - 353)) | (1 << (PlSqlParser.DETERMINES - 353)) | (1 << (PlSqlParser.DETERMINISTIC - 353)) | (1 << (PlSqlParser.DICTIONARY - 353)) | (1 << (PlSqlParser.DIMENSION - 353)) | (1 << (PlSqlParser.DIMENSIONS - 353)) | (1 << (PlSqlParser.DIRECT_LOAD - 353)) | (1 << (PlSqlParser.DIRECTORY - 353)) | (1 << (PlSqlParser.DIRECT_PATH - 353)) | (1 << (PlSqlParser.DISABLE_ALL - 353)) | (1 << (PlSqlParser.DISABLE - 353)) | (1 << (PlSqlParser.DISABLE_PARALLEL_DML - 353)))) !== 0) || ((((_la - 385)) & ~0x1f) == 0 && ((1 << (_la - 385)) & ((1 << (PlSqlParser.DISABLE_PRESET - 385)) | (1 << (PlSqlParser.DISABLE_RPKE - 385)) | (1 << (PlSqlParser.DISALLOW - 385)) | (1 << (PlSqlParser.DISASSOCIATE - 385)) | (1 << (PlSqlParser.DISCARD - 385)) | (1 << (PlSqlParser.DISCONNECT - 385)) | (1 << (PlSqlParser.DISK - 385)) | (1 << (PlSqlParser.DISKGROUP - 385)) | (1 << (PlSqlParser.DISKS - 385)) | (1 << (PlSqlParser.DISMOUNT - 385)) | (1 << (PlSqlParser.DISTINGUISHED - 385)) | (1 << (PlSqlParser.DISTRIBUTED - 385)) | (1 << (PlSqlParser.DISTRIBUTE - 385)) | (1 << (PlSqlParser.DML - 385)) | (1 << (PlSqlParser.DML_UPDATE - 385)) | (1 << (PlSqlParser.DOCFIDELITY - 385)) | (1 << (PlSqlParser.DOCUMENT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_FILTER - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_NO_SORT - 385)) | (1 << (PlSqlParser.DOMAIN_INDEX_SORT - 385)) | (1 << (PlSqlParser.DOUBLE - 385)) | (1 << (PlSqlParser.DOWNGRADE - 385)) | (1 << (PlSqlParser.DRIVING_SITE - 385)) | (1 << (PlSqlParser.DROP_COLUMN - 385)) | (1 << (PlSqlParser.DROP_GROUP - 385)) | (1 << (PlSqlParser.DSINTERVAL_UNCONSTRAINED - 385)) | (1 << (PlSqlParser.DST_UPGRADE_INSERT_CONV - 385)) | (1 << (PlSqlParser.DUMP - 385)))) !== 0) || ((((_la - 417)) & ~0x1f) == 0 && ((1 << (_la - 417)) & ((1 << (PlSqlParser.DUPLICATE - 417)) | (1 << (PlSqlParser.DV - 417)) | (1 << (PlSqlParser.DYNAMIC - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING - 417)) | (1 << (PlSqlParser.DYNAMIC_SAMPLING_EST_CDN - 417)) | (1 << (PlSqlParser.EACH - 417)) | (1 << (PlSqlParser.EDITIONABLE - 417)) | (1 << (PlSqlParser.EDITION - 417)) | (1 << (PlSqlParser.EDITIONING - 417)) | (1 << (PlSqlParser.EDITIONS - 417)) | (1 << (PlSqlParser.ELEMENT - 417)) | (1 << (PlSqlParser.ELIM_GROUPBY - 417)) | (1 << (PlSqlParser.ELIMINATE_JOIN - 417)) | (1 << (PlSqlParser.ELIMINATE_OBY - 417)) | (1 << (PlSqlParser.ELIMINATE_OUTER_JOIN - 417)) | (1 << (PlSqlParser.EM - 417)) | (1 << (PlSqlParser.EMPTY_BLOB - 417)) | (1 << (PlSqlParser.EMPTY_CLOB - 417)) | (1 << (PlSqlParser.EMPTY - 417)) | (1 << (PlSqlParser.ENABLE_ALL - 417)) | (1 << (PlSqlParser.ENABLE - 417)) | (1 << (PlSqlParser.ENABLE_PARALLEL_DML - 417)) | (1 << (PlSqlParser.ENABLE_PRESET - 417)) | (1 << (PlSqlParser.ENCODING - 417)) | (1 << (PlSqlParser.ENCRYPT - 417)) | (1 << (PlSqlParser.ENCRYPTION - 417)) | (1 << (PlSqlParser.END_OUTLINE_DATA - 417)) | (1 << (PlSqlParser.ENFORCED - 417)) | (1 << (PlSqlParser.ENFORCE - 417)))) !== 0) || ((((_la - 449)) & ~0x1f) == 0 && ((1 << (_la - 449)) & ((1 << (PlSqlParser.ENQUEUE - 449)) | (1 << (PlSqlParser.ENTERPRISE - 449)) | (1 << (PlSqlParser.ENTITYESCAPING - 449)) | (1 << (PlSqlParser.ENTRY - 449)) | (1 << (PlSqlParser.EQUIPART - 449)) | (1 << (PlSqlParser.ERR - 449)) | (1 << (PlSqlParser.ERROR_ARGUMENT - 449)) | (1 << (PlSqlParser.ERROR - 449)) | (1 << (PlSqlParser.ERROR_ON_OVERLAP_TIME - 449)) | (1 << (PlSqlParser.ERRORS - 449)) | (1 << (PlSqlParser.ESCAPE - 449)) | (1 << (PlSqlParser.ESTIMATE - 449)) | (1 << (PlSqlParser.EVAL - 449)) | (1 << (PlSqlParser.EVALNAME - 449)) | (1 << (PlSqlParser.EVALUATE - 449)) | (1 << (PlSqlParser.EVALUATION - 449)) | (1 << (PlSqlParser.EVENTS - 449)) | (1 << (PlSqlParser.EVERY - 449)) | (1 << (PlSqlParser.EXCEPT - 449)) | (1 << (PlSqlParser.EXCEPTION - 449)) | (1 << (PlSqlParser.EXCEPTION_INIT - 449)) | (1 << (PlSqlParser.EXCEPTIONS - 449)) | (1 << (PlSqlParser.EXCHANGE - 449)) | (1 << (PlSqlParser.EXCLUDE - 449)) | (1 << (PlSqlParser.EXCLUDING - 449)) | (1 << (PlSqlParser.EXECUTE - 449)) | (1 << (PlSqlParser.EXEMPT - 449)) | (1 << (PlSqlParser.EXISTING - 449)) | (1 << (PlSqlParser.EXISTS - 449)) | (1 << (PlSqlParser.EXISTSNODE - 449)) | (1 << (PlSqlParser.EXIT - 449)))) !== 0) || ((((_la - 481)) & ~0x1f) == 0 && ((1 << (_la - 481)) & ((1 << (PlSqlParser.EXPAND_GSET_TO_UNION - 481)) | (1 << (PlSqlParser.EXPAND_TABLE - 481)) | (1 << (PlSqlParser.EXP - 481)) | (1 << (PlSqlParser.EXPIRE - 481)) | (1 << (PlSqlParser.EXPLAIN - 481)) | (1 << (PlSqlParser.EXPLOSION - 481)) | (1 << (PlSqlParser.EXPORT - 481)) | (1 << (PlSqlParser.EXPR_CORR_CHECK - 481)) | (1 << (PlSqlParser.EXPRESS - 481)) | (1 << (PlSqlParser.EXTENDS - 481)) | (1 << (PlSqlParser.EXTENT - 481)) | (1 << (PlSqlParser.EXTENTS - 481)) | (1 << (PlSqlParser.EXTERNAL - 481)) | (1 << (PlSqlParser.EXTERNALLY - 481)) | (1 << (PlSqlParser.EXTRACTCLOBXML - 481)) | (1 << (PlSqlParser.EXTRACT - 481)) | (1 << (PlSqlParser.EXTRACTVALUE - 481)) | (1 << (PlSqlParser.EXTRA - 481)) | (1 << (PlSqlParser.FACILITY - 481)) | (1 << (PlSqlParser.FACT - 481)) | (1 << (PlSqlParser.FACTOR - 481)) | (1 << (PlSqlParser.FACTORIZE_JOIN - 481)) | (1 << (PlSqlParser.FAILED - 481)) | (1 << (PlSqlParser.FAILED_LOGIN_ATTEMPTS - 481)) | (1 << (PlSqlParser.FAILGROUP - 481)) | (1 << (PlSqlParser.FAILOVER - 481)) | (1 << (PlSqlParser.FAILURE - 481)) | (1 << (PlSqlParser.FALSE - 481)) | (1 << (PlSqlParser.FAMILY - 481)) | (1 << (PlSqlParser.FAR - 481)) | (1 << (PlSqlParser.FAST - 481)) | (1 << (PlSqlParser.FASTSTART - 481)))) !== 0) || ((((_la - 513)) & ~0x1f) == 0 && ((1 << (_la - 513)) & ((1 << (PlSqlParser.FBTSCAN - 513)) | (1 << (PlSqlParser.FEATURE_DETAILS - 513)) | (1 << (PlSqlParser.FEATURE_ID - 513)) | (1 << (PlSqlParser.FEATURE_SET - 513)) | (1 << (PlSqlParser.FEATURE_VALUE - 513)) | (1 << (PlSqlParser.FETCH - 513)) | (1 << (PlSqlParser.FILE - 513)) | (1 << (PlSqlParser.FILE_NAME_CONVERT - 513)) | (1 << (PlSqlParser.FILESYSTEM_LIKE_LOGGING - 513)) | (1 << (PlSqlParser.FILTER - 513)) | (1 << (PlSqlParser.FINAL - 513)) | (1 << (PlSqlParser.FINE - 513)) | (1 << (PlSqlParser.FINISH - 513)) | (1 << (PlSqlParser.FIRST - 513)) | (1 << (PlSqlParser.FIRSTM - 513)) | (1 << (PlSqlParser.FIRST_ROWS - 513)) | (1 << (PlSqlParser.FIRST_VALUE - 513)) | (1 << (PlSqlParser.FIXED_VIEW_DATA - 513)) | (1 << (PlSqlParser.FLAGGER - 513)) | (1 << (PlSqlParser.FLASHBACK - 513)) | (1 << (PlSqlParser.FLASH_CACHE - 513)) | (1 << (PlSqlParser.FLOAT - 513)) | (1 << (PlSqlParser.FLOB - 513)) | (1 << (PlSqlParser.FLOOR - 513)) | (1 << (PlSqlParser.FLUSH - 513)) | (1 << (PlSqlParser.FOLDER - 513)) | (1 << (PlSqlParser.FOLLOWING - 513)) | (1 << (PlSqlParser.FOLLOWS - 513)) | (1 << (PlSqlParser.FORALL - 513)) | (1 << (PlSqlParser.FORCE - 513)) | (1 << (PlSqlParser.FORCE_XML_QUERY_REWRITE - 513)) | (1 << (PlSqlParser.FOREIGN - 513)))) !== 0) || ((((_la - 545)) & ~0x1f) == 0 && ((1 << (_la - 545)) & ((1 << (PlSqlParser.FOREVER - 545)) | (1 << (PlSqlParser.FORMAT - 545)) | (1 << (PlSqlParser.FORWARD - 545)) | (1 << (PlSqlParser.FRAGMENT_NUMBER - 545)) | (1 << (PlSqlParser.FREELIST - 545)) | (1 << (PlSqlParser.FREELISTS - 545)) | (1 << (PlSqlParser.FREEPOOLS - 545)) | (1 << (PlSqlParser.FRESH - 545)) | (1 << (PlSqlParser.FROM_TZ - 545)) | (1 << (PlSqlParser.FULL - 545)) | (1 << (PlSqlParser.FULL_OUTER_JOIN_TO_OUTER - 545)) | (1 << (PlSqlParser.FUNCTION - 545)) | (1 << (PlSqlParser.FUNCTIONS - 545)) | (1 << (PlSqlParser.GATHER_OPTIMIZER_STATISTICS - 545)) | (1 << (PlSqlParser.GATHER_PLAN_STATISTICS - 545)) | (1 << (PlSqlParser.GBY_CONC_ROLLUP - 545)) | (1 << (PlSqlParser.GBY_PUSHDOWN - 545)) | (1 << (PlSqlParser.GENERATED - 545)) | (1 << (PlSqlParser.GET - 545)) | (1 << (PlSqlParser.GLOBAL - 545)) | (1 << (PlSqlParser.GLOBALLY - 545)) | (1 << (PlSqlParser.GLOBAL_NAME - 545)) | (1 << (PlSqlParser.GLOBAL_TOPIC_ENABLED - 545)) | (1 << (PlSqlParser.GROUP_BY - 545)) | (1 << (PlSqlParser.GROUP_ID - 545)) | (1 << (PlSqlParser.GROUPING - 545)) | (1 << (PlSqlParser.GROUPING_ID - 545)))) !== 0) || ((((_la - 577)) & ~0x1f) == 0 && ((1 << (_la - 577)) & ((1 << (PlSqlParser.GROUPS - 577)) | (1 << (PlSqlParser.GUARANTEED - 577)) | (1 << (PlSqlParser.GUARANTEE - 577)) | (1 << (PlSqlParser.GUARD - 577)) | (1 << (PlSqlParser.HASH_AJ - 577)) | (1 << (PlSqlParser.HASH - 577)) | (1 << (PlSqlParser.HASHKEYS - 577)) | (1 << (PlSqlParser.HASH_SJ - 577)) | (1 << (PlSqlParser.HEADER - 577)) | (1 << (PlSqlParser.HEAP - 577)) | (1 << (PlSqlParser.HELP - 577)) | (1 << (PlSqlParser.HEXTORAW - 577)) | (1 << (PlSqlParser.HEXTOREF - 577)) | (1 << (PlSqlParser.HIDDEN_KEYWORD - 577)) | (1 << (PlSqlParser.HIDE - 577)) | (1 << (PlSqlParser.HIERARCHY - 577)) | (1 << (PlSqlParser.HIGH - 577)) | (1 << (PlSqlParser.HINTSET_BEGIN - 577)) | (1 << (PlSqlParser.HINTSET_END - 577)) | (1 << (PlSqlParser.HOT - 577)) | (1 << (PlSqlParser.HOUR - 577)) | (1 << (PlSqlParser.HWM_BROKERED - 577)) | (1 << (PlSqlParser.HYBRID - 577)) | (1 << (PlSqlParser.IDENTIFIER - 577)) | (1 << (PlSqlParser.IDENTITY - 577)) | (1 << (PlSqlParser.IDGENERATORS - 577)) | (1 << (PlSqlParser.ID - 577)) | (1 << (PlSqlParser.IDLE_TIME - 577)) | (1 << (PlSqlParser.IF - 577)) | (1 << (PlSqlParser.IGNORE - 577)))) !== 0) || ((((_la - 609)) & ~0x1f) == 0 && ((1 << (_la - 609)) & ((1 << (PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS - 609)) | (1 << (PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX - 609)) | (1 << (PlSqlParser.IGNORE_WHERE_CLAUSE - 609)) | (1 << (PlSqlParser.ILM - 609)) | (1 << (PlSqlParser.IMMEDIATE - 609)) | (1 << (PlSqlParser.IMPACT - 609)) | (1 << (PlSqlParser.IMPORT - 609)) | (1 << (PlSqlParser.INACTIVE - 609)) | (1 << (PlSqlParser.INCLUDE - 609)) | (1 << (PlSqlParser.INCLUDE_VERSION - 609)) | (1 << (PlSqlParser.INCLUDING - 609)) | (1 << (PlSqlParser.INCREMENTAL - 609)) | (1 << (PlSqlParser.INCREMENT - 609)) | (1 << (PlSqlParser.INCR - 609)) | (1 << (PlSqlParser.INDENT - 609)) | (1 << (PlSqlParser.INDEX_ASC - 609)) | (1 << (PlSqlParser.INDEX_COMBINE - 609)) | (1 << (PlSqlParser.INDEX_DESC - 609)) | (1 << (PlSqlParser.INDEXED - 609)) | (1 << (PlSqlParser.INDEXES - 609)) | (1 << (PlSqlParser.INDEX_FFS - 609)) | (1 << (PlSqlParser.INDEX_FILTER - 609)) | (1 << (PlSqlParser.INDEXING - 609)) | (1 << (PlSqlParser.INDEX_JOIN - 609)) | (1 << (PlSqlParser.INDEX_ROWS - 609)) | (1 << (PlSqlParser.INDEX_RRS - 609)) | (1 << (PlSqlParser.INDEX_RS_ASC - 609)) | (1 << (PlSqlParser.INDEX_RS_DESC - 609)) | (1 << (PlSqlParser.INDEX_RS - 609)) | (1 << (PlSqlParser.INDEX_SCAN - 609)) | (1 << (PlSqlParser.INDEX_SKIP_SCAN - 609)))) !== 0) || ((((_la - 641)) & ~0x1f) == 0 && ((1 << (_la - 641)) & ((1 << (PlSqlParser.INDEX_SS_ASC - 641)) | (1 << (PlSqlParser.INDEX_SS_DESC - 641)) | (1 << (PlSqlParser.INDEX_SS - 641)) | (1 << (PlSqlParser.INDEX_STATS - 641)) | (1 << (PlSqlParser.INDEXTYPE - 641)) | (1 << (PlSqlParser.INDEXTYPES - 641)) | (1 << (PlSqlParser.INDICATOR - 641)) | (1 << (PlSqlParser.INDICES - 641)) | (1 << (PlSqlParser.INFINITE - 641)) | (1 << (PlSqlParser.INFORMATIONAL - 641)) | (1 << (PlSqlParser.INHERIT - 641)) | (1 << (PlSqlParser.INITCAP - 641)) | (1 << (PlSqlParser.INITIAL - 641)) | (1 << (PlSqlParser.INITIALIZED - 641)) | (1 << (PlSqlParser.INITIALLY - 641)) | (1 << (PlSqlParser.INITRANS - 641)) | (1 << (PlSqlParser.INLINE - 641)) | (1 << (PlSqlParser.INLINE_XMLTYPE_NT - 641)) | (1 << (PlSqlParser.INMEMORY - 641)) | (1 << (PlSqlParser.IN_MEMORY_METADATA - 641)) | (1 << (PlSqlParser.INMEMORY_PRUNING - 641)) | (1 << (PlSqlParser.INNER - 641)) | (1 << (PlSqlParser.INOUT - 641)) | (1 << (PlSqlParser.INPLACE - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTCHILDXMLBEFORE - 641)) | (1 << (PlSqlParser.INSERTCHILDXML - 641)) | (1 << (PlSqlParser.INSERTXMLAFTER - 641)) | (1 << (PlSqlParser.INSERTXMLBEFORE - 641)) | (1 << (PlSqlParser.INSTANCE - 641)))) !== 0) || ((((_la - 673)) & ~0x1f) == 0 && ((1 << (_la - 673)) & ((1 << (PlSqlParser.INSTANCES - 673)) | (1 << (PlSqlParser.INSTANTIABLE - 673)) | (1 << (PlSqlParser.INSTANTLY - 673)) | (1 << (PlSqlParser.INSTEAD - 673)) | (1 << (PlSqlParser.INSTR2 - 673)) | (1 << (PlSqlParser.INSTR4 - 673)) | (1 << (PlSqlParser.INSTRB - 673)) | (1 << (PlSqlParser.INSTRC - 673)) | (1 << (PlSqlParser.INSTR - 673)) | (1 << (PlSqlParser.INTEGER - 673)) | (1 << (PlSqlParser.INTERLEAVED - 673)) | (1 << (PlSqlParser.INTERMEDIATE - 673)) | (1 << (PlSqlParser.INTERNAL_CONVERT - 673)) | (1 << (PlSqlParser.INTERNAL_USE - 673)) | (1 << (PlSqlParser.INTERPRETED - 673)) | (1 << (PlSqlParser.INTERVAL - 673)) | (1 << (PlSqlParser.INT - 673)) | (1 << (PlSqlParser.INVALIDATE - 673)) | (1 << (PlSqlParser.INVISIBLE - 673)) | (1 << (PlSqlParser.IN_XQUERY - 673)) | (1 << (PlSqlParser.ISOLATION - 673)) | (1 << (PlSqlParser.ISOLATION_LEVEL - 673)) | (1 << (PlSqlParser.ITERATE - 673)) | (1 << (PlSqlParser.ITERATION_NUMBER - 673)) | (1 << (PlSqlParser.JAVA - 673)) | (1 << (PlSqlParser.JOB - 673)) | (1 << (PlSqlParser.JOIN - 673)) | (1 << (PlSqlParser.JSON_ARRAYAGG - 673)) | (1 << (PlSqlParser.JSON_ARRAY - 673)))) !== 0) || ((((_la - 705)) & ~0x1f) == 0 && ((1 << (_la - 705)) & ((1 << (PlSqlParser.JSON_EQUAL - 705)) | (1 << (PlSqlParser.JSON_EXISTS2 - 705)) | (1 << (PlSqlParser.JSON_EXISTS - 705)) | (1 << (PlSqlParser.JSONGET - 705)) | (1 << (PlSqlParser.JSON - 705)) | (1 << (PlSqlParser.JSON_OBJECTAGG - 705)) | (1 << (PlSqlParser.JSON_OBJECT - 705)) | (1 << (PlSqlParser.JSONPARSE - 705)) | (1 << (PlSqlParser.JSON_QUERY - 705)) | (1 << (PlSqlParser.JSON_SERIALIZE - 705)) | (1 << (PlSqlParser.JSON_TABLE - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS2 - 705)) | (1 << (PlSqlParser.JSON_TEXTCONTAINS - 705)) | (1 << (PlSqlParser.JSON_VALUE - 705)) | (1 << (PlSqlParser.KEEP_DUPLICATES - 705)) | (1 << (PlSqlParser.KEEP - 705)) | (1 << (PlSqlParser.KERBEROS - 705)) | (1 << (PlSqlParser.KEY - 705)) | (1 << (PlSqlParser.KEY_LENGTH - 705)) | (1 << (PlSqlParser.KEYSIZE - 705)) | (1 << (PlSqlParser.KEYS - 705)) | (1 << (PlSqlParser.KEYSTORE - 705)) | (1 << (PlSqlParser.KILL - 705)) | (1 << (PlSqlParser.LABEL - 705)) | (1 << (PlSqlParser.LANGUAGE - 705)) | (1 << (PlSqlParser.LAST_DAY - 705)) | (1 << (PlSqlParser.LAST - 705)) | (1 << (PlSqlParser.LAST_VALUE - 705)) | (1 << (PlSqlParser.LATERAL - 705)) | (1 << (PlSqlParser.LAX - 705)) | (1 << (PlSqlParser.LAYER - 705)) | (1 << (PlSqlParser.LDAP_REGISTRATION_ENABLED - 705)))) !== 0) || ((((_la - 737)) & ~0x1f) == 0 && ((1 << (_la - 737)) & ((1 << (PlSqlParser.LDAP_REGISTRATION - 737)) | (1 << (PlSqlParser.LDAP_REG_SYNC_INTERVAL - 737)) | (1 << (PlSqlParser.LEADING - 737)) | (1 << (PlSqlParser.LEFT - 737)) | (1 << (PlSqlParser.LENGTH2 - 737)) | (1 << (PlSqlParser.LENGTH4 - 737)) | (1 << (PlSqlParser.LENGTHB - 737)) | (1 << (PlSqlParser.LENGTHC - 737)) | (1 << (PlSqlParser.LENGTH - 737)) | (1 << (PlSqlParser.LESS - 737)) | (1 << (PlSqlParser.LEVEL - 737)) | (1 << (PlSqlParser.LEVELS - 737)) | (1 << (PlSqlParser.LIBRARY - 737)) | (1 << (PlSqlParser.LIFECYCLE - 737)) | (1 << (PlSqlParser.LIFE - 737)) | (1 << (PlSqlParser.LIFETIME - 737)) | (1 << (PlSqlParser.LIKE2 - 737)) | (1 << (PlSqlParser.LIKE4 - 737)) | (1 << (PlSqlParser.LIKEC - 737)) | (1 << (PlSqlParser.LIKE_EXPAND - 737)) | (1 << (PlSqlParser.LIMIT - 737)) | (1 << (PlSqlParser.LINEAR - 737)) | (1 << (PlSqlParser.LINK - 737)) | (1 << (PlSqlParser.LIST - 737)) | (1 << (PlSqlParser.LN - 737)) | (1 << (PlSqlParser.LNNVL - 737)) | (1 << (PlSqlParser.LOAD - 737)) | (1 << (PlSqlParser.LOB - 737)) | (1 << (PlSqlParser.LOBNVL - 737)) | (1 << (PlSqlParser.LOBS - 737)) | (1 << (PlSqlParser.LOCAL_INDEXES - 737)))) !== 0) || ((((_la - 769)) & ~0x1f) == 0 && ((1 << (_la - 769)) & ((1 << (PlSqlParser.LOCAL - 769)) | (1 << (PlSqlParser.LOCALTIME - 769)) | (1 << (PlSqlParser.LOCALTIMESTAMP - 769)) | (1 << (PlSqlParser.LOCATION - 769)) | (1 << (PlSqlParser.LOCATOR - 769)) | (1 << (PlSqlParser.LOCKED - 769)) | (1 << (PlSqlParser.LOCKING - 769)) | (1 << (PlSqlParser.LOGFILE - 769)) | (1 << (PlSqlParser.LOGFILES - 769)) | (1 << (PlSqlParser.LOGGING - 769)) | (1 << (PlSqlParser.LOGICAL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_CALL - 769)) | (1 << (PlSqlParser.LOGICAL_READS_PER_SESSION - 769)) | (1 << (PlSqlParser.LOG - 769)) | (1 << (PlSqlParser.LOGMINING - 769)) | (1 << (PlSqlParser.LOGOFF - 769)) | (1 << (PlSqlParser.LOGON - 769)) | (1 << (PlSqlParser.LOG_READ_ONLY_VIOLATIONS - 769)) | (1 << (PlSqlParser.LONG - 769)) | (1 << (PlSqlParser.LOOP - 769)) | (1 << (PlSqlParser.LOWER - 769)) | (1 << (PlSqlParser.LOW - 769)) | (1 << (PlSqlParser.LPAD - 769)) | (1 << (PlSqlParser.LTRIM - 769)) | (1 << (PlSqlParser.MAIN - 769)) | (1 << (PlSqlParser.MAKE_REF - 769)) | (1 << (PlSqlParser.MANAGED - 769)) | (1 << (PlSqlParser.MANAGE - 769)) | (1 << (PlSqlParser.MANAGEMENT - 769)) | (1 << (PlSqlParser.MANAGER - 769)) | (1 << (PlSqlParser.MANUAL - 769)))) !== 0) || ((((_la - 801)) & ~0x1f) == 0 && ((1 << (_la - 801)) & ((1 << (PlSqlParser.MAP - 801)) | (1 << (PlSqlParser.MAPPING - 801)) | (1 << (PlSqlParser.MASTER - 801)) | (1 << (PlSqlParser.MATCHED - 801)) | (1 << (PlSqlParser.MATCHES - 801)) | (1 << (PlSqlParser.MATCH - 801)) | (1 << (PlSqlParser.MATCH_NUMBER - 801)) | (1 << (PlSqlParser.MATCH_RECOGNIZE - 801)) | (1 << (PlSqlParser.MATERIALIZED - 801)) | (1 << (PlSqlParser.MATERIALIZE - 801)) | (1 << (PlSqlParser.MAXARCHLOGS - 801)) | (1 << (PlSqlParser.MAXDATAFILES - 801)) | (1 << (PlSqlParser.MAXEXTENTS - 801)) | (1 << (PlSqlParser.MAXIMIZE - 801)) | (1 << (PlSqlParser.MAXINSTANCES - 801)) | (1 << (PlSqlParser.MAXLOGFILES - 801)) | (1 << (PlSqlParser.MAXLOGHISTORY - 801)) | (1 << (PlSqlParser.MAXLOGMEMBERS - 801)) | (1 << (PlSqlParser.MAX_SHARED_TEMP_SIZE - 801)) | (1 << (PlSqlParser.MAXSIZE - 801)) | (1 << (PlSqlParser.MAXTRANS - 801)) | (1 << (PlSqlParser.MAXVALUE - 801)) | (1 << (PlSqlParser.MEASURE - 801)) | (1 << (PlSqlParser.MEASURES - 801)) | (1 << (PlSqlParser.MEDIUM - 801)) | (1 << (PlSqlParser.MEMBER - 801)) | (1 << (PlSqlParser.MEMCOMPRESS - 801)) | (1 << (PlSqlParser.MEMORY - 801)) | (1 << (PlSqlParser.MERGEACTIONS - 801)) | (1 << (PlSqlParser.MERGE_AJ - 801)) | (1 << (PlSqlParser.MERGE_CONST_ON - 801)) | (1 << (PlSqlParser.MERGE - 801)))) !== 0) || ((((_la - 833)) & ~0x1f) == 0 && ((1 << (_la - 833)) & ((1 << (PlSqlParser.MERGE_SJ - 833)) | (1 << (PlSqlParser.METADATA - 833)) | (1 << (PlSqlParser.METHOD - 833)) | (1 << (PlSqlParser.MIGRATE - 833)) | (1 << (PlSqlParser.MIGRATION - 833)) | (1 << (PlSqlParser.MINEXTENTS - 833)) | (1 << (PlSqlParser.MINIMIZE - 833)) | (1 << (PlSqlParser.MINIMUM - 833)) | (1 << (PlSqlParser.MINING - 833)) | (1 << (PlSqlParser.MINUS_NULL - 833)) | (1 << (PlSqlParser.MINUTE - 833)) | (1 << (PlSqlParser.MINVALUE - 833)) | (1 << (PlSqlParser.MIRRORCOLD - 833)) | (1 << (PlSqlParser.MIRRORHOT - 833)) | (1 << (PlSqlParser.MIRROR - 833)) | (1 << (PlSqlParser.MLSLABEL - 833)) | (1 << (PlSqlParser.MODEL_COMPILE_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS - 833)) | (1 << (PlSqlParser.MODEL_DYNAMIC_SUBQUERY - 833)) | (1 << (PlSqlParser.MODEL_MIN_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL - 833)) | (1 << (PlSqlParser.MODEL_NB - 833)) | (1 << (PlSqlParser.MODEL_NO_ANALYSIS - 833)) | (1 << (PlSqlParser.MODEL_PBY - 833)) | (1 << (PlSqlParser.MODEL_PUSH_REF - 833)) | (1 << (PlSqlParser.MODEL_SV - 833)) | (1 << (PlSqlParser.MODIFICATION - 833)) | (1 << (PlSqlParser.MODIFY_COLUMN_TYPE - 833)) | (1 << (PlSqlParser.MODIFY - 833)) | (1 << (PlSqlParser.MOD - 833)))) !== 0) || ((((_la - 865)) & ~0x1f) == 0 && ((1 << (_la - 865)) & ((1 << (PlSqlParser.MODULE - 865)) | (1 << (PlSqlParser.MONITORING - 865)) | (1 << (PlSqlParser.MONITOR - 865)) | (1 << (PlSqlParser.MONTH - 865)) | (1 << (PlSqlParser.MONTHS_BETWEEN - 865)) | (1 << (PlSqlParser.MONTHS - 865)) | (1 << (PlSqlParser.MOUNT - 865)) | (1 << (PlSqlParser.MOUNTPATH - 865)) | (1 << (PlSqlParser.MOVEMENT - 865)) | (1 << (PlSqlParser.MOVE - 865)) | (1 << (PlSqlParser.MULTIDIMENSIONAL - 865)) | (1 << (PlSqlParser.MULTISET - 865)) | (1 << (PlSqlParser.MV_MERGE - 865)) | (1 << (PlSqlParser.NAMED - 865)) | (1 << (PlSqlParser.NAME - 865)) | (1 << (PlSqlParser.NAMESPACE - 865)) | (1 << (PlSqlParser.NAN - 865)) | (1 << (PlSqlParser.NANVL - 865)) | (1 << (PlSqlParser.NATIONAL - 865)) | (1 << (PlSqlParser.NATIVE_FULL_OUTER_JOIN - 865)) | (1 << (PlSqlParser.NATIVE - 865)) | (1 << (PlSqlParser.NATURAL - 865)) | (1 << (PlSqlParser.NAV - 865)) | (1 << (PlSqlParser.NCHAR_CS - 865)) | (1 << (PlSqlParser.NCHAR - 865)) | (1 << (PlSqlParser.NCHR - 865)) | (1 << (PlSqlParser.NCLOB - 865)) | (1 << (PlSqlParser.NEEDED - 865)) | (1 << (PlSqlParser.NEG - 865)) | (1 << (PlSqlParser.NESTED - 865)) | (1 << (PlSqlParser.NESTED_TABLE_FAST_INSERT - 865)))) !== 0) || ((((_la - 897)) & ~0x1f) == 0 && ((1 << (_la - 897)) & ((1 << (PlSqlParser.NESTED_TABLE_GET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_ID - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_REFS - 897)) | (1 << (PlSqlParser.NESTED_TABLE_SET_SETID - 897)) | (1 << (PlSqlParser.NETWORK - 897)) | (1 << (PlSqlParser.NEVER - 897)) | (1 << (PlSqlParser.NEW - 897)) | (1 << (PlSqlParser.NEW_TIME - 897)) | (1 << (PlSqlParser.NEXT_DAY - 897)) | (1 << (PlSqlParser.NEXT - 897)) | (1 << (PlSqlParser.NL_AJ - 897)) | (1 << (PlSqlParser.NLJ_BATCHING - 897)) | (1 << (PlSqlParser.NLJ_INDEX_FILTER - 897)) | (1 << (PlSqlParser.NLJ_INDEX_SCAN - 897)) | (1 << (PlSqlParser.NLJ_PREFETCH - 897)) | (1 << (PlSqlParser.NLS_CALENDAR - 897)) | (1 << (PlSqlParser.NLS_CHARACTERSET - 897)) | (1 << (PlSqlParser.NLS_CHARSET_DECL_LEN - 897)) | (1 << (PlSqlParser.NLS_CHARSET_ID - 897)) | (1 << (PlSqlParser.NLS_CHARSET_NAME - 897)) | (1 << (PlSqlParser.NLS_COMP - 897)) | (1 << (PlSqlParser.NLS_CURRENCY - 897)) | (1 << (PlSqlParser.NLS_DATE_FORMAT - 897)) | (1 << (PlSqlParser.NLS_DATE_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_INITCAP - 897)) | (1 << (PlSqlParser.NLS_ISO_CURRENCY - 897)) | (1 << (PlSqlParser.NL_SJ - 897)) | (1 << (PlSqlParser.NLS_LANG - 897)) | (1 << (PlSqlParser.NLS_LANGUAGE - 897)) | (1 << (PlSqlParser.NLS_LENGTH_SEMANTICS - 897)) | (1 << (PlSqlParser.NLS_LOWER - 897)) | (1 << (PlSqlParser.NLS_NCHAR_CONV_EXCP - 897)))) !== 0) || ((((_la - 929)) & ~0x1f) == 0 && ((1 << (_la - 929)) & ((1 << (PlSqlParser.NLS_NUMERIC_CHARACTERS - 929)) | (1 << (PlSqlParser.NLS_SORT - 929)) | (1 << (PlSqlParser.NLSSORT - 929)) | (1 << (PlSqlParser.NLS_SPECIAL_CHARS - 929)) | (1 << (PlSqlParser.NLS_TERRITORY - 929)) | (1 << (PlSqlParser.NLS_UPPER - 929)) | (1 << (PlSqlParser.NO_ACCESS - 929)) | (1 << (PlSqlParser.NO_ADAPTIVE_PLAN - 929)) | (1 << (PlSqlParser.NO_ANSI_REARCH - 929)) | (1 << (PlSqlParser.NOAPPEND - 929)) | (1 << (PlSqlParser.NOARCHIVELOG - 929)) | (1 << (PlSqlParser.NOAUDIT - 929)) | (1 << (PlSqlParser.NO_AUTO_REOPTIMIZE - 929)) | (1 << (PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE - 929)) | (1 << (PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_BIND_AWARE - 929)) | (1 << (PlSqlParser.NO_BUFFER - 929)) | (1 << (PlSqlParser.NOCACHE - 929)) | (1 << (PlSqlParser.NO_CARTESIAN - 929)) | (1 << (PlSqlParser.NO_CHECK_ACL_REWRITE - 929)) | (1 << (PlSqlParser.NO_CLUSTER_BY_ROWID - 929)) | (1 << (PlSqlParser.NO_CLUSTERING - 929)) | (1 << (PlSqlParser.NO_COALESCE_SQ - 929)) | (1 << (PlSqlParser.NO_COMMON_DATA - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COMBINE_SW - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_COST_BASED - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_ELIM_DUPS - 929)) | (1 << (PlSqlParser.NO_CONNECT_BY_FILTERING - 929)) | (1 << (PlSqlParser.NOCOPY - 929)) | (1 << (PlSqlParser.NO_COST_XML_QUERY_REWRITE - 929)))) !== 0) || ((((_la - 961)) & ~0x1f) == 0 && ((1 << (_la - 961)) & ((1 << (PlSqlParser.NO_CPU_COSTING - 961)) | (1 << (PlSqlParser.NOCPU_COSTING - 961)) | (1 << (PlSqlParser.NOCYCLE - 961)) | (1 << (PlSqlParser.NO_DATA_SECURITY_REWRITE - 961)) | (1 << (PlSqlParser.NO_DECORRELATE - 961)) | (1 << (PlSqlParser.NODELAY - 961)) | (1 << (PlSqlParser.NO_DOMAIN_INDEX_FILTER - 961)) | (1 << (PlSqlParser.NO_DST_UPGRADE_INSERT_CONV - 961)) | (1 << (PlSqlParser.NO_ELIM_GROUPBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_JOIN - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OBY - 961)) | (1 << (PlSqlParser.NO_ELIMINATE_OUTER_JOIN - 961)) | (1 << (PlSqlParser.NOENTITYESCAPING - 961)) | (1 << (PlSqlParser.NO_EXPAND_GSET_TO_UNION - 961)) | (1 << (PlSqlParser.NO_EXPAND - 961)) | (1 << (PlSqlParser.NO_EXPAND_TABLE - 961)) | (1 << (PlSqlParser.NO_FACT - 961)) | (1 << (PlSqlParser.NO_FACTORIZE_JOIN - 961)) | (1 << (PlSqlParser.NO_FILTERING - 961)) | (1 << (PlSqlParser.NOFORCE - 961)) | (1 << (PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER - 961)) | (1 << (PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS - 961)) | (1 << (PlSqlParser.NO_GBY_PUSHDOWN - 961)) | (1 << (PlSqlParser.NOGUARANTEE - 961)) | (1 << (PlSqlParser.NO_INDEX_FFS - 961)) | (1 << (PlSqlParser.NO_INDEX - 961)) | (1 << (PlSqlParser.NO_INDEX_SS - 961)) | (1 << (PlSqlParser.NO_INMEMORY - 961)) | (1 << (PlSqlParser.NO_INMEMORY_PRUNING - 961)) | (1 << (PlSqlParser.NOKEEP - 961)) | (1 << (PlSqlParser.NO_LOAD - 961)) | (1 << (PlSqlParser.NOLOCAL - 961)))) !== 0) || ((((_la - 993)) & ~0x1f) == 0 && ((1 << (_la - 993)) & ((1 << (PlSqlParser.NOLOGGING - 993)) | (1 << (PlSqlParser.NOMAPPING - 993)) | (1 << (PlSqlParser.NOMAXVALUE - 993)) | (1 << (PlSqlParser.NO_MERGE - 993)) | (1 << (PlSqlParser.NOMINIMIZE - 993)) | (1 << (PlSqlParser.NOMINVALUE - 993)) | (1 << (PlSqlParser.NO_MODEL_PUSH_REF - 993)) | (1 << (PlSqlParser.NO_MONITORING - 993)) | (1 << (PlSqlParser.NOMONITORING - 993)) | (1 << (PlSqlParser.NO_MONITOR - 993)) | (1 << (PlSqlParser.NO_MULTIMV_REWRITE - 993)) | (1 << (PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN - 993)) | (1 << (PlSqlParser.NONBLOCKING - 993)) | (1 << (PlSqlParser.NONEDITIONABLE - 993)) | (1 << (PlSqlParser.NONE - 993)) | (1 << (PlSqlParser.NO_NLJ_BATCHING - 993)) | (1 << (PlSqlParser.NO_NLJ_PREFETCH - 993)) | (1 << (PlSqlParser.NO - 993)) | (1 << (PlSqlParser.NONSCHEMA - 993)) | (1 << (PlSqlParser.NO_OBJECT_LINK - 993)) | (1 << (PlSqlParser.NOORDER - 993)) | (1 << (PlSqlParser.NO_ORDER_ROLLUPS - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_ANTI - 993)) | (1 << (PlSqlParser.NO_OUTER_JOIN_TO_INNER - 993)) | (1 << (PlSqlParser.NOOVERRIDE - 993)) | (1 << (PlSqlParser.NO_PARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NOPARALLEL_INDEX - 993)) | (1 << (PlSqlParser.NO_PARALLEL - 993)) | (1 << (PlSqlParser.NOPARALLEL - 993)) | (1 << (PlSqlParser.NO_PARTIAL_COMMIT - 993)) | (1 << (PlSqlParser.NO_PARTIAL_JOIN - 993)) | (1 << (PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN - 993)))) !== 0) || ((((_la - 1025)) & ~0x1f) == 0 && ((1 << (_la - 1025)) & ((1 << (PlSqlParser.NOPARTITION - 1025)) | (1 << (PlSqlParser.NO_PLACE_DISTINCT - 1025)) | (1 << (PlSqlParser.NO_PLACE_GROUP_BY - 1025)) | (1 << (PlSqlParser.NO_PQ_CONCURRENT_UNION - 1025)) | (1 << (PlSqlParser.NO_PQ_MAP - 1025)) | (1 << (PlSqlParser.NO_PQ_REPLICATE - 1025)) | (1 << (PlSqlParser.NO_PQ_SKEW - 1025)) | (1 << (PlSqlParser.NO_PRUNE_GSETS - 1025)) | (1 << (PlSqlParser.NO_PULL_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_PRED - 1025)) | (1 << (PlSqlParser.NO_PUSH_SUBQ - 1025)) | (1 << (PlSqlParser.NO_PX_FAULT_TOLERANCE - 1025)) | (1 << (PlSqlParser.NO_PX_JOIN_FILTER - 1025)) | (1 << (PlSqlParser.NO_QKN_BUFF - 1025)) | (1 << (PlSqlParser.NO_QUERY_TRANSFORMATION - 1025)) | (1 << (PlSqlParser.NO_REF_CASCADE - 1025)) | (1 << (PlSqlParser.NORELOCATE - 1025)) | (1 << (PlSqlParser.NORELY - 1025)) | (1 << (PlSqlParser.NOREPAIR - 1025)) | (1 << (PlSqlParser.NOREPLAY - 1025)) | (1 << (PlSqlParser.NORESETLOGS - 1025)) | (1 << (PlSqlParser.NO_RESULT_CACHE - 1025)) | (1 << (PlSqlParser.NOREVERSE - 1025)) | (1 << (PlSqlParser.NO_REWRITE - 1025)) | (1 << (PlSqlParser.NOREWRITE - 1025)) | (1 << (PlSqlParser.NORMAL - 1025)) | (1 << (PlSqlParser.NO_ROOT_SW_FOR_LOCAL - 1025)) | (1 << (PlSqlParser.NOROWDEPENDENCIES - 1025)) | (1 << (PlSqlParser.NOSCHEMACHECK - 1025)) | (1 << (PlSqlParser.NOSEGMENT - 1025)) | (1 << (PlSqlParser.NO_SEMIJOIN - 1025)) | (1 << (PlSqlParser.NO_SEMI_TO_INNER - 1025)))) !== 0) || ((((_la - 1057)) & ~0x1f) == 0 && ((1 << (_la - 1057)) & ((1 << (PlSqlParser.NO_SET_TO_JOIN - 1057)) | (1 << (PlSqlParser.NOSORT - 1057)) | (1 << (PlSqlParser.NO_SQL_TRANSLATION - 1057)) | (1 << (PlSqlParser.NO_SQL_TUNE - 1057)) | (1 << (PlSqlParser.NO_STAR_TRANSFORMATION - 1057)) | (1 << (PlSqlParser.NO_STATEMENT_QUEUING - 1057)) | (1 << (PlSqlParser.NO_STATS_GSETS - 1057)) | (1 << (PlSqlParser.NOSTRICT - 1057)) | (1 << (PlSqlParser.NO_SUBQUERY_PRUNING - 1057)) | (1 << (PlSqlParser.NO_SUBSTRB_PAD - 1057)) | (1 << (PlSqlParser.NO_SWAP_JOIN_INPUTS - 1057)) | (1 << (PlSqlParser.NOSWITCH - 1057)) | (1 << (PlSqlParser.NO_TABLE_LOOKUP_BY_NL - 1057)) | (1 << (PlSqlParser.NO_TEMP_TABLE - 1057)) | (1 << (PlSqlParser.NOTHING - 1057)) | (1 << (PlSqlParser.NOTIFICATION - 1057)) | (1 << (PlSqlParser.NO_TRANSFORM_DISTINCT_AGG - 1057)) | (1 << (PlSqlParser.NO_UNNEST - 1057)) | (1 << (PlSqlParser.NO_USE_CUBE - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_AGGREGATION - 1057)) | (1 << (PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN - 1057)) | (1 << (PlSqlParser.NO_USE_HASH - 1057)) | (1 << (PlSqlParser.NO_USE_INVISIBLE_INDEXES - 1057)) | (1 << (PlSqlParser.NO_USE_MERGE - 1057)) | (1 << (PlSqlParser.NO_USE_NL - 1057)) | (1 << (PlSqlParser.NO_USE_VECTOR_AGGREGATION - 1057)) | (1 << (PlSqlParser.NOVALIDATE - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_DIMS - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM_FACT - 1057)) | (1 << (PlSqlParser.NO_VECTOR_TRANSFORM - 1057)))) !== 0) || ((((_la - 1089)) & ~0x1f) == 0 && ((1 << (_la - 1089)) & ((1 << (PlSqlParser.NO_XDB_FASTPATH_INSERT - 1089)) | (1 << (PlSqlParser.NO_XML_DML_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT - 1089)) | (1 << (PlSqlParser.NO_XMLINDEX_REWRITE - 1089)) | (1 << (PlSqlParser.NO_XML_QUERY_REWRITE - 1089)) | (1 << (PlSqlParser.NO_ZONEMAP - 1089)) | (1 << (PlSqlParser.NTH_VALUE - 1089)) | (1 << (PlSqlParser.NULLIF - 1089)) | (1 << (PlSqlParser.NULLS - 1089)) | (1 << (PlSqlParser.NUMBER - 1089)) | (1 << (PlSqlParser.NUMERIC - 1089)) | (1 << (PlSqlParser.NUM_INDEX_KEYS - 1089)) | (1 << (PlSqlParser.NUMTODSINTERVAL - 1089)) | (1 << (PlSqlParser.NUMTOYMINTERVAL - 1089)) | (1 << (PlSqlParser.NVARCHAR2 - 1089)) | (1 << (PlSqlParser.NVL2 - 1089)) | (1 << (PlSqlParser.OBJECT2XML - 1089)) | (1 << (PlSqlParser.OBJECT - 1089)) | (1 << (PlSqlParser.OBJ_ID - 1089)) | (1 << (PlSqlParser.OBJNO - 1089)) | (1 << (PlSqlParser.OBJNO_REUSE - 1089)) | (1 << (PlSqlParser.OCCURENCES - 1089)) | (1 << (PlSqlParser.OFFLINE - 1089)) | (1 << (PlSqlParser.OFF - 1089)) | (1 << (PlSqlParser.OFFSET - 1089)) | (1 << (PlSqlParser.OIDINDEX - 1089)) | (1 << (PlSqlParser.OID - 1089)) | (1 << (PlSqlParser.OLAP - 1089)) | (1 << (PlSqlParser.OLD - 1089)) | (1 << (PlSqlParser.OLD_PUSH_PRED - 1089)))) !== 0) || ((((_la - 1121)) & ~0x1f) == 0 && ((1 << (_la - 1121)) & ((1 << (PlSqlParser.OLS - 1121)) | (1 << (PlSqlParser.OLTP - 1121)) | (1 << (PlSqlParser.OMIT - 1121)) | (1 << (PlSqlParser.ONE - 1121)) | (1 << (PlSqlParser.ONLINE - 1121)) | (1 << (PlSqlParser.ONLY - 1121)) | (1 << (PlSqlParser.OPAQUE - 1121)) | (1 << (PlSqlParser.OPAQUE_TRANSFORM - 1121)) | (1 << (PlSqlParser.OPAQUE_XCANONICAL - 1121)) | (1 << (PlSqlParser.OPCODE - 1121)) | (1 << (PlSqlParser.OPEN - 1121)) | (1 << (PlSqlParser.OPERATIONS - 1121)) | (1 << (PlSqlParser.OPERATOR - 1121)) | (1 << (PlSqlParser.OPT_ESTIMATE - 1121)) | (1 << (PlSqlParser.OPTIMAL - 1121)) | (1 << (PlSqlParser.OPTIMIZE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_FEATURES_ENABLE - 1121)) | (1 << (PlSqlParser.OPTIMIZER_GOAL - 1121)) | (1 << (PlSqlParser.OPT_PARAM - 1121)) | (1 << (PlSqlParser.ORA_BRANCH - 1121)) | (1 << (PlSqlParser.ORA_CHECK_ACL - 1121)) | (1 << (PlSqlParser.ORA_CHECK_PRIVILEGE - 1121)) | (1 << (PlSqlParser.ORA_CLUSTERING - 1121)) | (1 << (PlSqlParser.ORADATA - 1121)) | (1 << (PlSqlParser.ORADEBUG - 1121)) | (1 << (PlSqlParser.ORA_DST_AFFECTED - 1121)) | (1 << (PlSqlParser.ORA_DST_CONVERT - 1121)) | (1 << (PlSqlParser.ORA_DST_ERROR - 1121)) | (1 << (PlSqlParser.ORA_GET_ACLIDS - 1121)))) !== 0) || ((((_la - 1153)) & ~0x1f) == 0 && ((1 << (_la - 1153)) & ((1 << (PlSqlParser.ORA_GET_PRIVILEGES - 1153)) | (1 << (PlSqlParser.ORA_HASH - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USERID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_USER - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER_GUID - 1153)) | (1 << (PlSqlParser.ORA_INVOKING_XS_USER - 1153)) | (1 << (PlSqlParser.ORA_RAWCOMPARE - 1153)) | (1 << (PlSqlParser.ORA_RAWCONCAT - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN - 1153)) | (1 << (PlSqlParser.ORA_ROWSCN_RAW - 1153)) | (1 << (PlSqlParser.ORA_ROWVERSION - 1153)) | (1 << (PlSqlParser.ORA_TABVERSION - 1153)) | (1 << (PlSqlParser.ORA_WRITE_TIME - 1153)) | (1 << (PlSqlParser.ORDERED - 1153)) | (1 << (PlSqlParser.ORDERED_PREDICATES - 1153)) | (1 << (PlSqlParser.ORDINALITY - 1153)) | (1 << (PlSqlParser.OR_EXPAND - 1153)) | (1 << (PlSqlParser.ORGANIZATION - 1153)) | (1 << (PlSqlParser.OR_PREDICATES - 1153)) | (1 << (PlSqlParser.OSERROR - 1153)) | (1 << (PlSqlParser.OTHER - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_ANTI - 1153)) | (1 << (PlSqlParser.OUTER_JOIN_TO_INNER - 1153)) | (1 << (PlSqlParser.OUTER - 1153)) | (1 << (PlSqlParser.OUTLINE_LEAF - 1153)) | (1 << (PlSqlParser.OUTLINE - 1153)) | (1 << (PlSqlParser.OUT_OF_LINE - 1153)) | (1 << (PlSqlParser.OUT - 1153)) | (1 << (PlSqlParser.OVERFLOW_NOMOVE - 1153)) | (1 << (PlSqlParser.OVERFLOW - 1153)))) !== 0) || ((((_la - 1185)) & ~0x1f) == 0 && ((1 << (_la - 1185)) & ((1 << (PlSqlParser.OVERLAPS - 1185)) | (1 << (PlSqlParser.OVER - 1185)) | (1 << (PlSqlParser.OVERRIDING - 1185)) | (1 << (PlSqlParser.OWNER - 1185)) | (1 << (PlSqlParser.OWNERSHIP - 1185)) | (1 << (PlSqlParser.OWN - 1185)) | (1 << (PlSqlParser.PACKAGE - 1185)) | (1 << (PlSqlParser.PACKAGES - 1185)) | (1 << (PlSqlParser.PARALLEL_ENABLE - 1185)) | (1 << (PlSqlParser.PARALLEL_INDEX - 1185)) | (1 << (PlSqlParser.PARALLEL - 1185)) | (1 << (PlSqlParser.PARAMETERS - 1185)) | (1 << (PlSqlParser.PARAM - 1185)) | (1 << (PlSqlParser.PARENT - 1185)) | (1 << (PlSqlParser.PARITY - 1185)) | (1 << (PlSqlParser.PARTIAL_JOIN - 1185)) | (1 << (PlSqlParser.PARTIALLY - 1185)) | (1 << (PlSqlParser.PARTIAL - 1185)) | (1 << (PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN - 1185)) | (1 << (PlSqlParser.PARTITION_HASH - 1185)) | (1 << (PlSqlParser.PARTITION_LIST - 1185)) | (1 << (PlSqlParser.PARTITION - 1185)) | (1 << (PlSqlParser.PARTITION_RANGE - 1185)) | (1 << (PlSqlParser.PARTITIONS - 1185)) | (1 << (PlSqlParser.PARTNUMINST - 1185)) | (1 << (PlSqlParser.PASSING - 1185)) | (1 << (PlSqlParser.PASSWORD_GRACE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LIFE_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD_LOCK_TIME - 1185)) | (1 << (PlSqlParser.PASSWORD - 1185)) | (1 << (PlSqlParser.PASSWORD_REUSE_MAX - 1185)))) !== 0) || ((((_la - 1217)) & ~0x1f) == 0 && ((1 << (_la - 1217)) & ((1 << (PlSqlParser.PASSWORD_REUSE_TIME - 1217)) | (1 << (PlSqlParser.PASSWORD_VERIFY_FUNCTION - 1217)) | (1 << (PlSqlParser.PAST - 1217)) | (1 << (PlSqlParser.PATCH - 1217)) | (1 << (PlSqlParser.PATH - 1217)) | (1 << (PlSqlParser.PATH_PREFIX - 1217)) | (1 << (PlSqlParser.PATHS - 1217)) | (1 << (PlSqlParser.PATTERN - 1217)) | (1 << (PlSqlParser.PBL_HS_BEGIN - 1217)) | (1 << (PlSqlParser.PBL_HS_END - 1217)) | (1 << (PlSqlParser.PCTINCREASE - 1217)) | (1 << (PlSqlParser.PCTTHRESHOLD - 1217)) | (1 << (PlSqlParser.PCTUSED - 1217)) | (1 << (PlSqlParser.PCTVERSION - 1217)) | (1 << (PlSqlParser.PENDING - 1217)) | (1 << (PlSqlParser.PERCENT_KEYWORD - 1217)) | (1 << (PlSqlParser.PERCENT_RANKM - 1217)) | (1 << (PlSqlParser.PERFORMANCE - 1217)) | (1 << (PlSqlParser.PERIOD_KEYWORD - 1217)) | (1 << (PlSqlParser.PERMANENT - 1217)) | (1 << (PlSqlParser.PERMISSION - 1217)) | (1 << (PlSqlParser.PERMUTE - 1217)) | (1 << (PlSqlParser.PER - 1217)) | (1 << (PlSqlParser.PFILE - 1217)) | (1 << (PlSqlParser.PHYSICAL - 1217)))) !== 0) || ((((_la - 1249)) & ~0x1f) == 0 && ((1 << (_la - 1249)) & ((1 << (PlSqlParser.PIKEY - 1249)) | (1 << (PlSqlParser.PIPELINED - 1249)) | (1 << (PlSqlParser.PIV_GB - 1249)) | (1 << (PlSqlParser.PIVOT - 1249)) | (1 << (PlSqlParser.PIV_SSF - 1249)) | (1 << (PlSqlParser.PLACE_DISTINCT - 1249)) | (1 << (PlSqlParser.PLACE_GROUP_BY - 1249)) | (1 << (PlSqlParser.PLAN - 1249)) | (1 << (PlSqlParser.PLSCOPE_SETTINGS - 1249)) | (1 << (PlSqlParser.PLS_INTEGER - 1249)) | (1 << (PlSqlParser.PLSQL_CCFLAGS - 1249)) | (1 << (PlSqlParser.PLSQL_CODE_TYPE - 1249)) | (1 << (PlSqlParser.PLSQL_DEBUG - 1249)) | (1 << (PlSqlParser.PLSQL_OPTIMIZE_LEVEL - 1249)) | (1 << (PlSqlParser.PLSQL_WARNINGS - 1249)) | (1 << (PlSqlParser.PLUGGABLE - 1249)) | (1 << (PlSqlParser.POINT - 1249)) | (1 << (PlSqlParser.POLICY - 1249)) | (1 << (PlSqlParser.POOL_16K - 1249)) | (1 << (PlSqlParser.POOL_2K - 1249)) | (1 << (PlSqlParser.POOL_32K - 1249)) | (1 << (PlSqlParser.POOL_4K - 1249)) | (1 << (PlSqlParser.POOL_8K - 1249)) | (1 << (PlSqlParser.POSITIVEN - 1249)) | (1 << (PlSqlParser.POSITIVE - 1249)) | (1 << (PlSqlParser.POST_TRANSACTION - 1249)) | (1 << (PlSqlParser.POWERMULTISET_BY_CARDINALITY - 1249)) | (1 << (PlSqlParser.POWERMULTISET - 1249)) | (1 << (PlSqlParser.POWER - 1249)) | (1 << (PlSqlParser.PQ_CONCURRENT_UNION - 1249)) | (1 << (PlSqlParser.PQ_DISTRIBUTE - 1249)))) !== 0) || ((((_la - 1281)) & ~0x1f) == 0 && ((1 << (_la - 1281)) & ((1 << (PlSqlParser.PQ_DISTRIBUTE_WINDOW - 1281)) | (1 << (PlSqlParser.PQ_FILTER - 1281)) | (1 << (PlSqlParser.PQ_MAP - 1281)) | (1 << (PlSqlParser.PQ_NOMAP - 1281)) | (1 << (PlSqlParser.PQ_REPLICATE - 1281)) | (1 << (PlSqlParser.PQ_SKEW - 1281)) | (1 << (PlSqlParser.PRAGMA - 1281)) | (1 << (PlSqlParser.PREBUILT - 1281)) | (1 << (PlSqlParser.PRECEDES - 1281)) | (1 << (PlSqlParser.PRECEDING - 1281)) | (1 << (PlSqlParser.PRECISION - 1281)) | (1 << (PlSqlParser.PRECOMPUTE_SUBQUERY - 1281)) | (1 << (PlSqlParser.PREDICATE_REORDERS - 1281)) | (1 << (PlSqlParser.PRELOAD - 1281)) | (1 << (PlSqlParser.PREPARE - 1281)) | (1 << (PlSqlParser.PRESENTNNV - 1281)) | (1 << (PlSqlParser.PRESENT - 1281)) | (1 << (PlSqlParser.PRESENTV - 1281)) | (1 << (PlSqlParser.PRESERVE_OID - 1281)) | (1 << (PlSqlParser.PRESERVE - 1281)) | (1 << (PlSqlParser.PRETTY - 1281)) | (1 << (PlSqlParser.PREVIOUS - 1281)) | (1 << (PlSqlParser.PREV - 1281)) | (1 << (PlSqlParser.PRIMARY - 1281)) | (1 << (PlSqlParser.PRINTBLOBTOCLOB - 1281)) | (1 << (PlSqlParser.PRIORITY - 1281)) | (1 << (PlSqlParser.PRIVATE - 1281)) | (1 << (PlSqlParser.PRIVATE_SGA - 1281)) | (1 << (PlSqlParser.PRIVILEGED - 1281)) | (1 << (PlSqlParser.PRIVILEGE - 1281)) | (1 << (PlSqlParser.PRIVILEGES - 1281)))) !== 0) || ((((_la - 1313)) & ~0x1f) == 0 && ((1 << (_la - 1313)) & ((1 << (PlSqlParser.PROCEDURAL - 1313)) | (1 << (PlSqlParser.PROCEDURE - 1313)) | (1 << (PlSqlParser.PROCESS - 1313)) | (1 << (PlSqlParser.PROFILE - 1313)) | (1 << (PlSqlParser.PROGRAM - 1313)) | (1 << (PlSqlParser.PROJECT - 1313)) | (1 << (PlSqlParser.PROPAGATE - 1313)) | (1 << (PlSqlParser.PROTECTED - 1313)) | (1 << (PlSqlParser.PROTECTION - 1313)) | (1 << (PlSqlParser.PROXY - 1313)) | (1 << (PlSqlParser.PRUNING - 1313)) | (1 << (PlSqlParser.PULL_PRED - 1313)) | (1 << (PlSqlParser.PURGE - 1313)) | (1 << (PlSqlParser.PUSH_PRED - 1313)) | (1 << (PlSqlParser.PUSH_SUBQ - 1313)) | (1 << (PlSqlParser.PX_FAULT_TOLERANCE - 1313)) | (1 << (PlSqlParser.PX_GRANULE - 1313)) | (1 << (PlSqlParser.PX_JOIN_FILTER - 1313)) | (1 << (PlSqlParser.QB_NAME - 1313)) | (1 << (PlSqlParser.QUERY_BLOCK - 1313)) | (1 << (PlSqlParser.QUERY - 1313)) | (1 << (PlSqlParser.QUEUE_CURR - 1313)) | (1 << (PlSqlParser.QUEUE - 1313)) | (1 << (PlSqlParser.QUEUE_ROWP - 1313)) | (1 << (PlSqlParser.QUIESCE - 1313)) | (1 << (PlSqlParser.QUORUM - 1313)) | (1 << (PlSqlParser.QUOTA - 1313)) | (1 << (PlSqlParser.RAISE - 1313)) | (1 << (PlSqlParser.RANDOM_LOCAL - 1313)) | (1 << (PlSqlParser.RANDOM - 1313)) | (1 << (PlSqlParser.RANGE - 1313)))) !== 0) || ((((_la - 1345)) & ~0x1f) == 0 && ((1 << (_la - 1345)) & ((1 << (PlSqlParser.RANKM - 1345)) | (1 << (PlSqlParser.RAPIDLY - 1345)) | (1 << (PlSqlParser.RAW - 1345)) | (1 << (PlSqlParser.RAWTOHEX - 1345)) | (1 << (PlSqlParser.RAWTONHEX - 1345)) | (1 << (PlSqlParser.RBA - 1345)) | (1 << (PlSqlParser.RBO_OUTLINE - 1345)) | (1 << (PlSqlParser.RDBA - 1345)) | (1 << (PlSqlParser.READ - 1345)) | (1 << (PlSqlParser.READS - 1345)) | (1 << (PlSqlParser.REALM - 1345)) | (1 << (PlSqlParser.REAL - 1345)) | (1 << (PlSqlParser.REBALANCE - 1345)) | (1 << (PlSqlParser.REBUILD - 1345)) | (1 << (PlSqlParser.RECORD - 1345)) | (1 << (PlSqlParser.RECORDS_PER_BLOCK - 1345)) | (1 << (PlSqlParser.RECOVERABLE - 1345)) | (1 << (PlSqlParser.RECOVER - 1345)) | (1 << (PlSqlParser.RECOVERY - 1345)) | (1 << (PlSqlParser.RECYCLEBIN - 1345)) | (1 << (PlSqlParser.RECYCLE - 1345)) | (1 << (PlSqlParser.REDACTION - 1345)) | (1 << (PlSqlParser.REDEFINE - 1345)) | (1 << (PlSqlParser.REDO - 1345)) | (1 << (PlSqlParser.REDUCED - 1345)) | (1 << (PlSqlParser.REDUNDANCY - 1345)) | (1 << (PlSqlParser.REF_CASCADE_CURSOR - 1345)) | (1 << (PlSqlParser.REFERENCED - 1345)) | (1 << (PlSqlParser.REFERENCE - 1345)) | (1 << (PlSqlParser.REFERENCES - 1345)) | (1 << (PlSqlParser.REFERENCING - 1345)) | (1 << (PlSqlParser.REF - 1345)))) !== 0) || ((((_la - 1377)) & ~0x1f) == 0 && ((1 << (_la - 1377)) & ((1 << (PlSqlParser.REFRESH - 1377)) | (1 << (PlSqlParser.REFTOHEX - 1377)) | (1 << (PlSqlParser.REGEXP_COUNT - 1377)) | (1 << (PlSqlParser.REGEXP_INSTR - 1377)) | (1 << (PlSqlParser.REGEXP_LIKE - 1377)) | (1 << (PlSqlParser.REGEXP_REPLACE - 1377)) | (1 << (PlSqlParser.REGEXP_SUBSTR - 1377)) | (1 << (PlSqlParser.REGISTER - 1377)) | (1 << (PlSqlParser.REGR_AVGX - 1377)) | (1 << (PlSqlParser.REGR_AVGY - 1377)) | (1 << (PlSqlParser.REGR_COUNT - 1377)) | (1 << (PlSqlParser.REGR_INTERCEPT - 1377)) | (1 << (PlSqlParser.REGR_R2 - 1377)) | (1 << (PlSqlParser.REGR_SLOPE - 1377)) | (1 << (PlSqlParser.REGR_SXX - 1377)) | (1 << (PlSqlParser.REGR_SXY - 1377)) | (1 << (PlSqlParser.REGR_SYY - 1377)) | (1 << (PlSqlParser.REGULAR - 1377)) | (1 << (PlSqlParser.REJECT - 1377)) | (1 << (PlSqlParser.REKEY - 1377)) | (1 << (PlSqlParser.RELATIONAL - 1377)) | (1 << (PlSqlParser.RELOCATE - 1377)) | (1 << (PlSqlParser.RELY - 1377)) | (1 << (PlSqlParser.REMAINDER - 1377)) | (1 << (PlSqlParser.REMOTE_MAPPED - 1377)) | (1 << (PlSqlParser.REMOVE - 1377)) | (1 << (PlSqlParser.RENAME - 1377)) | (1 << (PlSqlParser.REPAIR - 1377)) | (1 << (PlSqlParser.REPEAT - 1377)) | (1 << (PlSqlParser.REPLACE - 1377)) | (1 << (PlSqlParser.REPLICATION - 1377)))) !== 0) || ((((_la - 1409)) & ~0x1f) == 0 && ((1 << (_la - 1409)) & ((1 << (PlSqlParser.REQUIRED - 1409)) | (1 << (PlSqlParser.RESETLOGS - 1409)) | (1 << (PlSqlParser.RESET - 1409)) | (1 << (PlSqlParser.RESIZE - 1409)) | (1 << (PlSqlParser.RESOLVE - 1409)) | (1 << (PlSqlParser.RESOLVER - 1409)) | (1 << (PlSqlParser.RESPECT - 1409)) | (1 << (PlSqlParser.RESTART - 1409)) | (1 << (PlSqlParser.RESTORE_AS_INTERVALS - 1409)) | (1 << (PlSqlParser.RESTORE - 1409)) | (1 << (PlSqlParser.RESTRICT_ALL_REF_CONS - 1409)) | (1 << (PlSqlParser.RESTRICTED - 1409)) | (1 << (PlSqlParser.RESTRICT_REFERENCES - 1409)) | (1 << (PlSqlParser.RESTRICT - 1409)) | (1 << (PlSqlParser.RESULT_CACHE - 1409)) | (1 << (PlSqlParser.RESULT - 1409)) | (1 << (PlSqlParser.RESUMABLE - 1409)) | (1 << (PlSqlParser.RESUME - 1409)) | (1 << (PlSqlParser.RETENTION - 1409)) | (1 << (PlSqlParser.RETRY_ON_ROW_CHANGE - 1409)) | (1 << (PlSqlParser.RETURNING - 1409)) | (1 << (PlSqlParser.RETURN - 1409)) | (1 << (PlSqlParser.REUSE - 1409)) | (1 << (PlSqlParser.REVERSE - 1409)) | (1 << (PlSqlParser.REWRITE_OR_ERROR - 1409)) | (1 << (PlSqlParser.REWRITE - 1409)) | (1 << (PlSqlParser.RIGHT - 1409)) | (1 << (PlSqlParser.ROLE - 1409)) | (1 << (PlSqlParser.ROLESET - 1409)) | (1 << (PlSqlParser.ROLES - 1409)))) !== 0) || ((((_la - 1441)) & ~0x1f) == 0 && ((1 << (_la - 1441)) & ((1 << (PlSqlParser.ROLLBACK - 1441)) | (1 << (PlSqlParser.ROLLING - 1441)) | (1 << (PlSqlParser.ROLLUP - 1441)) | (1 << (PlSqlParser.ROWDEPENDENCIES - 1441)) | (1 << (PlSqlParser.ROWID_MAPPING_TABLE - 1441)) | (1 << (PlSqlParser.ROWID - 1441)) | (1 << (PlSqlParser.ROWIDTOCHAR - 1441)) | (1 << (PlSqlParser.ROWIDTONCHAR - 1441)) | (1 << (PlSqlParser.ROW_LENGTH - 1441)) | (1 << (PlSqlParser.ROWNUM - 1441)) | (1 << (PlSqlParser.ROW - 1441)) | (1 << (PlSqlParser.ROWS - 1441)) | (1 << (PlSqlParser.RPAD - 1441)) | (1 << (PlSqlParser.RTRIM - 1441)) | (1 << (PlSqlParser.RULE - 1441)) | (1 << (PlSqlParser.RULES - 1441)) | (1 << (PlSqlParser.RUNNING - 1441)) | (1 << (PlSqlParser.SALT - 1441)) | (1 << (PlSqlParser.SAMPLE - 1441)) | (1 << (PlSqlParser.SAVE_AS_INTERVALS - 1441)) | (1 << (PlSqlParser.SAVEPOINT - 1441)) | (1 << (PlSqlParser.SAVE - 1441)) | (1 << (PlSqlParser.SB4 - 1441)) | (1 << (PlSqlParser.SCALE_ROWS - 1441)) | (1 << (PlSqlParser.SCALE - 1441)) | (1 << (PlSqlParser.SCAN_INSTANCES - 1441)) | (1 << (PlSqlParser.SCAN - 1441)) | (1 << (PlSqlParser.SCHEDULER - 1441)) | (1 << (PlSqlParser.SCHEMACHECK - 1441)) | (1 << (PlSqlParser.SCHEMA - 1441)) | (1 << (PlSqlParser.SCN_ASCENDING - 1441)) | (1 << (PlSqlParser.SCN - 1441)))) !== 0) || ((((_la - 1473)) & ~0x1f) == 0 && ((1 << (_la - 1473)) & ((1 << (PlSqlParser.SCOPE - 1473)) | (1 << (PlSqlParser.SCRUB - 1473)) | (1 << (PlSqlParser.SD_ALL - 1473)) | (1 << (PlSqlParser.SD_INHIBIT - 1473)) | (1 << (PlSqlParser.SDO_GEOM_MBR - 1473)) | (1 << (PlSqlParser.SD_SHOW - 1473)) | (1 << (PlSqlParser.SEARCH - 1473)) | (1 << (PlSqlParser.SECOND - 1473)) | (1 << (PlSqlParser.SECRET - 1473)) | (1 << (PlSqlParser.SECUREFILE_DBA - 1473)) | (1 << (PlSqlParser.SECUREFILE - 1473)) | (1 << (PlSqlParser.SECURITY - 1473)) | (1 << (PlSqlParser.SEED - 1473)) | (1 << (PlSqlParser.SEG_BLOCK - 1473)) | (1 << (PlSqlParser.SEG_FILE - 1473)) | (1 << (PlSqlParser.SEGMENT - 1473)) | (1 << (PlSqlParser.SELECTIVITY - 1473)) | (1 << (PlSqlParser.SELF - 1473)) | (1 << (PlSqlParser.SEMIJOIN_DRIVER - 1473)) | (1 << (PlSqlParser.SEMIJOIN - 1473)) | (1 << (PlSqlParser.SEMI_TO_INNER - 1473)) | (1 << (PlSqlParser.SEQUENCED - 1473)) | (1 << (PlSqlParser.SEQUENCE - 1473)) | (1 << (PlSqlParser.SEQUENTIAL - 1473)) | (1 << (PlSqlParser.SERIALIZABLE - 1473)) | (1 << (PlSqlParser.SERIALLY_REUSABLE - 1473)) | (1 << (PlSqlParser.SERIAL - 1473)) | (1 << (PlSqlParser.SERVERERROR - 1473)) | (1 << (PlSqlParser.SERVICE_NAME_CONVERT - 1473)) | (1 << (PlSqlParser.SERVICES - 1473)))) !== 0) || ((((_la - 1505)) & ~0x1f) == 0 && ((1 << (_la - 1505)) & ((1 << (PlSqlParser.SESSION_CACHED_CURSORS - 1505)) | (1 << (PlSqlParser.SESSION - 1505)) | (1 << (PlSqlParser.SESSIONS_PER_USER - 1505)) | (1 << (PlSqlParser.SESSIONTIMEZONE - 1505)) | (1 << (PlSqlParser.SESSIONTZNAME - 1505)) | (1 << (PlSqlParser.SET - 1505)) | (1 << (PlSqlParser.SETS - 1505)) | (1 << (PlSqlParser.SETTINGS - 1505)) | (1 << (PlSqlParser.SET_TO_JOIN - 1505)) | (1 << (PlSqlParser.SEVERE - 1505)) | (1 << (PlSqlParser.SHARED_POOL - 1505)) | (1 << (PlSqlParser.SHARED - 1505)) | (1 << (PlSqlParser.SHARING - 1505)) | (1 << (PlSqlParser.SHELFLIFE - 1505)) | (1 << (PlSqlParser.SHOW - 1505)) | (1 << (PlSqlParser.SHRINK - 1505)) | (1 << (PlSqlParser.SHUTDOWN - 1505)) | (1 << (PlSqlParser.SIBLINGS - 1505)) | (1 << (PlSqlParser.SID - 1505)) | (1 << (PlSqlParser.SIGNAL_COMPONENT - 1505)) | (1 << (PlSqlParser.SIGNAL_FUNCTION - 1505)) | (1 << (PlSqlParser.SIGN - 1505)) | (1 << (PlSqlParser.SIGNTYPE - 1505)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1505)) | (1 << (PlSqlParser.SIMPLE - 1505)) | (1 << (PlSqlParser.SINGLE - 1505)) | (1 << (PlSqlParser.SINGLETASK - 1505)) | (1 << (PlSqlParser.SINH - 1505)) | (1 << (PlSqlParser.SIN - 1505)) | (1 << (PlSqlParser.SKIP_EXT_OPTIMIZER - 1505)))) !== 0) || ((((_la - 1537)) & ~0x1f) == 0 && ((1 << (_la - 1537)) & ((1 << (PlSqlParser.SKIP_ - 1537)) | (1 << (PlSqlParser.SKIP_UNQ_UNUSABLE_IDX - 1537)) | (1 << (PlSqlParser.SKIP_UNUSABLE_INDEXES - 1537)) | (1 << (PlSqlParser.SMALLFILE - 1537)) | (1 << (PlSqlParser.SMALLINT - 1537)) | (1 << (PlSqlParser.SNAPSHOT - 1537)) | (1 << (PlSqlParser.SOME - 1537)) | (1 << (PlSqlParser.SORT - 1537)) | (1 << (PlSqlParser.SOUNDEX - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_DIRECTORY - 1537)) | (1 << (PlSqlParser.SOURCE_FILE_NAME_CONVERT - 1537)) | (1 << (PlSqlParser.SOURCE - 1537)) | (1 << (PlSqlParser.SPACE_KEYWORD - 1537)) | (1 << (PlSqlParser.SPECIFICATION - 1537)) | (1 << (PlSqlParser.SPFILE - 1537)) | (1 << (PlSqlParser.SPLIT - 1537)) | (1 << (PlSqlParser.SPREADSHEET - 1537)) | (1 << (PlSqlParser.SQLDATA - 1537)) | (1 << (PlSqlParser.SQLERROR - 1537)) | (1 << (PlSqlParser.SQLLDR - 1537)) | (1 << (PlSqlParser.SQL - 1537)) | (1 << (PlSqlParser.SQL_TRACE - 1537)) | (1 << (PlSqlParser.SQL_TRANSLATION_PROFILE - 1537)) | (1 << (PlSqlParser.SQRT - 1537)) | (1 << (PlSqlParser.STALE - 1537)) | (1 << (PlSqlParser.STANDALONE - 1537)) | (1 << (PlSqlParser.STANDARD_HASH - 1537)) | (1 << (PlSqlParser.STANDBY_MAX_DATA_DELAY - 1537)) | (1 << (PlSqlParser.STANDBYS - 1537)) | (1 << (PlSqlParser.STANDBY - 1537)) | (1 << (PlSqlParser.STAR - 1537)) | (1 << (PlSqlParser.STAR_TRANSFORMATION - 1537)))) !== 0) || ((((_la - 1570)) & ~0x1f) == 0 && ((1 << (_la - 1570)) & ((1 << (PlSqlParser.STARTUP - 1570)) | (1 << (PlSqlParser.STATEMENT_ID - 1570)) | (1 << (PlSqlParser.STATEMENT_QUEUING - 1570)) | (1 << (PlSqlParser.STATEMENTS - 1570)) | (1 << (PlSqlParser.STATEMENT - 1570)) | (1 << (PlSqlParser.STATE - 1570)) | (1 << (PlSqlParser.STATIC - 1570)) | (1 << (PlSqlParser.STATISTICS - 1570)) | (1 << (PlSqlParser.STATS_BINOMIAL_TEST - 1570)) | (1 << (PlSqlParser.STATS_CROSSTAB - 1570)) | (1 << (PlSqlParser.STATS_F_TEST - 1570)) | (1 << (PlSqlParser.STATS_KS_TEST - 1570)) | (1 << (PlSqlParser.STATS_MODE - 1570)) | (1 << (PlSqlParser.STATS_MW_TEST - 1570)) | (1 << (PlSqlParser.STATS_ONE_WAY_ANOVA - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEP - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_INDEPU - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_ONE - 1570)) | (1 << (PlSqlParser.STATS_T_TEST_PAIRED - 1570)) | (1 << (PlSqlParser.STATS_WSR_TEST - 1570)) | (1 << (PlSqlParser.STDDEV_POP - 1570)) | (1 << (PlSqlParser.STDDEV_SAMP - 1570)) | (1 << (PlSqlParser.STOP - 1570)) | (1 << (PlSqlParser.STORAGE - 1570)) | (1 << (PlSqlParser.STORE - 1570)) | (1 << (PlSqlParser.STREAMS - 1570)) | (1 << (PlSqlParser.STREAM - 1570)) | (1 << (PlSqlParser.STRICT - 1570)) | (1 << (PlSqlParser.STRING - 1570)) | (1 << (PlSqlParser.STRIPE_COLUMNS - 1570)) | (1 << (PlSqlParser.STRIPE_WIDTH - 1570)) | (1 << (PlSqlParser.STRIP - 1570)))) !== 0) || ((((_la - 1602)) & ~0x1f) == 0 && ((1 << (_la - 1602)) & ((1 << (PlSqlParser.STRUCTURE - 1602)) | (1 << (PlSqlParser.SUBMULTISET - 1602)) | (1 << (PlSqlParser.SUBPARTITION_REL - 1602)) | (1 << (PlSqlParser.SUBPARTITIONS - 1602)) | (1 << (PlSqlParser.SUBPARTITION - 1602)) | (1 << (PlSqlParser.SUBQUERIES - 1602)) | (1 << (PlSqlParser.SUBQUERY_PRUNING - 1602)) | (1 << (PlSqlParser.SUBSCRIBE - 1602)) | (1 << (PlSqlParser.SUBSET - 1602)) | (1 << (PlSqlParser.SUBSTITUTABLE - 1602)) | (1 << (PlSqlParser.SUBSTR2 - 1602)) | (1 << (PlSqlParser.SUBSTR4 - 1602)) | (1 << (PlSqlParser.SUBSTRB - 1602)) | (1 << (PlSqlParser.SUBSTRC - 1602)) | (1 << (PlSqlParser.SUBTYPE - 1602)) | (1 << (PlSqlParser.SUCCESSFUL - 1602)) | (1 << (PlSqlParser.SUCCESS - 1602)) | (1 << (PlSqlParser.SUMMARY - 1602)) | (1 << (PlSqlParser.SUPPLEMENTAL - 1602)) | (1 << (PlSqlParser.SUSPEND - 1602)) | (1 << (PlSqlParser.SWAP_JOIN_INPUTS - 1602)) | (1 << (PlSqlParser.SWITCHOVER - 1602)) | (1 << (PlSqlParser.SWITCH - 1602)) | (1 << (PlSqlParser.SYNCHRONOUS - 1602)) | (1 << (PlSqlParser.SYNC - 1602)) | (1 << (PlSqlParser.SYSASM - 1602)) | (1 << (PlSqlParser.SYS_AUDIT - 1602)) | (1 << (PlSqlParser.SYSAUX - 1602)) | (1 << (PlSqlParser.SYSBACKUP - 1602)) | (1 << (PlSqlParser.SYS_CHECKACL - 1602)) | (1 << (PlSqlParser.SYS_CHECK_PRIVILEGE - 1602)))) !== 0) || ((((_la - 1634)) & ~0x1f) == 0 && ((1 << (_la - 1634)) & ((1 << (PlSqlParser.SYS_CONNECT_BY_PATH - 1634)) | (1 << (PlSqlParser.SYS_CONTEXT - 1634)) | (1 << (PlSqlParser.SYSDATE - 1634)) | (1 << (PlSqlParser.SYSDBA - 1634)) | (1 << (PlSqlParser.SYS_DBURIGEN - 1634)) | (1 << (PlSqlParser.SYSDG - 1634)) | (1 << (PlSqlParser.SYS_DL_CURSOR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_CHR - 1634)) | (1 << (PlSqlParser.SYS_DM_RXFORM_NUM - 1634)) | (1 << (PlSqlParser.SYS_DOM_COMPARE - 1634)) | (1 << (PlSqlParser.SYS_DST_PRIM2SEC - 1634)) | (1 << (PlSqlParser.SYS_DST_SEC2PRIM - 1634)) | (1 << (PlSqlParser.SYS_ET_BFILE_TO_RAW - 1634)) | (1 << (PlSqlParser.SYS_ET_BLOB_TO_IMAGE - 1634)) | (1 << (PlSqlParser.SYS_ET_IMAGE_TO_BLOB - 1634)) | (1 << (PlSqlParser.SYS_ET_RAW_TO_BFILE - 1634)) | (1 << (PlSqlParser.SYS_EXTPDTXT - 1634)) | (1 << (PlSqlParser.SYS_EXTRACT_UTC - 1634)) | (1 << (PlSqlParser.SYS_FBT_INSDEL - 1634)) | (1 << (PlSqlParser.SYS_FILTER_ACLS - 1634)) | (1 << (PlSqlParser.SYS_FNMATCHES - 1634)) | (1 << (PlSqlParser.SYS_FNREPLACE - 1634)) | (1 << (PlSqlParser.SYS_GET_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_COL_ACLIDS - 1634)) | (1 << (PlSqlParser.SYS_GET_PRIVILEGES - 1634)) | (1 << (PlSqlParser.SYS_GETTOKENID - 1634)) | (1 << (PlSqlParser.SYS_GETXTIVAL - 1634)) | (1 << (PlSqlParser.SYS_GUID - 1634)) | (1 << (PlSqlParser.SYSGUID - 1634)) | (1 << (PlSqlParser.SYSKM - 1634)) | (1 << (PlSqlParser.SYS_MAKE_XMLNODEID - 1634)) | (1 << (PlSqlParser.SYS_MAKEXML - 1634)))) !== 0) || ((((_la - 1666)) & ~0x1f) == 0 && ((1 << (_la - 1666)) & ((1 << (PlSqlParser.SYS_MKXMLATTR - 1666)) | (1 << (PlSqlParser.SYS_MKXTI - 1666)) | (1 << (PlSqlParser.SYSOBJ - 1666)) | (1 << (PlSqlParser.SYS_OP_ADT2BIN - 1666)) | (1 << (PlSqlParser.SYS_OP_ADTCONS - 1666)) | (1 << (PlSqlParser.SYS_OP_ALSCRVAL - 1666)) | (1 << (PlSqlParser.SYS_OP_ATG - 1666)) | (1 << (PlSqlParser.SYS_OP_BIN2ADT - 1666)) | (1 << (PlSqlParser.SYS_OP_BITVEC - 1666)) | (1 << (PlSqlParser.SYS_OP_BL2R - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER_LIST - 1666)) | (1 << (PlSqlParser.SYS_OP_BLOOM_FILTER - 1666)) | (1 << (PlSqlParser.SYS_OP_C2C - 1666)) | (1 << (PlSqlParser.SYS_OP_CAST - 1666)) | (1 << (PlSqlParser.SYS_OP_CEG - 1666)) | (1 << (PlSqlParser.SYS_OP_CL2C - 1666)) | (1 << (PlSqlParser.SYS_OP_COMBINED_HASH - 1666)) | (1 << (PlSqlParser.SYS_OP_COMP - 1666)) | (1 << (PlSqlParser.SYS_OP_CONVERT - 1666)) | (1 << (PlSqlParser.SYS_OP_COUNTCHG - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONV - 1666)) | (1 << (PlSqlParser.SYS_OP_CSCONVTEST - 1666)) | (1 << (PlSqlParser.SYS_OP_CSR - 1666)) | (1 << (PlSqlParser.SYS_OP_CSX_PATCH - 1666)) | (1 << (PlSqlParser.SYS_OP_CYCLED_SEQ - 1666)) | (1 << (PlSqlParser.SYS_OP_DECOMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DESCEND - 1666)) | (1 << (PlSqlParser.SYS_OP_DISTINCT - 1666)) | (1 << (PlSqlParser.SYS_OP_DRA - 1666)) | (1 << (PlSqlParser.SYS_OP_DUMP - 1666)) | (1 << (PlSqlParser.SYS_OP_DV_CHECK - 1666)) | (1 << (PlSqlParser.SYS_OP_ENFORCE_NOT_NULL - 1666)))) !== 0) || ((((_la - 1698)) & ~0x1f) == 0 && ((1 << (_la - 1698)) & ((1 << (PlSqlParser.SYSOPER - 1698)) | (1 << (PlSqlParser.SYS_OP_EXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_GROUPING - 1698)) | (1 << (PlSqlParser.SYS_OP_GUID - 1698)) | (1 << (PlSqlParser.SYS_OP_HASH - 1698)) | (1 << (PlSqlParser.SYS_OP_IIX - 1698)) | (1 << (PlSqlParser.SYS_OP_ITR - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_CREATE - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_FILTER - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED - 1698)) | (1 << (PlSqlParser.SYS_OP_KEY_VECTOR_USE - 1698)) | (1 << (PlSqlParser.SYS_OP_LBID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2BLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2CLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2ID - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2NCLOB - 1698)) | (1 << (PlSqlParser.SYS_OP_LOBLOC2TYP - 1698)) | (1 << (PlSqlParser.SYS_OP_LSVI - 1698)) | (1 << (PlSqlParser.SYS_OP_LVL - 1698)) | (1 << (PlSqlParser.SYS_OP_MAKEOID - 1698)) | (1 << (PlSqlParser.SYS_OP_MAP_NONNULL - 1698)) | (1 << (PlSqlParser.SYS_OP_MSR - 1698)) | (1 << (PlSqlParser.SYS_OP_NICOMBINE - 1698)) | (1 << (PlSqlParser.SYS_OP_NIEXTRACT - 1698)) | (1 << (PlSqlParser.SYS_OP_NII - 1698)) | (1 << (PlSqlParser.SYS_OP_NIX - 1698)) | (1 << (PlSqlParser.SYS_OP_NOEXPAND - 1698)) | (1 << (PlSqlParser.SYS_OP_NTCIMG - 1698)) | (1 << (PlSqlParser.SYS_OP_NUMTORAW - 1698)) | (1 << (PlSqlParser.SYS_OP_OIDVALUE - 1698)) | (1 << (PlSqlParser.SYS_OP_OPNSIZE - 1698)))) !== 0) || ((((_la - 1730)) & ~0x1f) == 0 && ((1 << (_la - 1730)) & ((1 << (PlSqlParser.SYS_OP_PAR_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID_1 - 1730)) | (1 << (PlSqlParser.SYS_OP_PARGID - 1730)) | (1 << (PlSqlParser.SYS_OP_PAR - 1730)) | (1 << (PlSqlParser.SYS_OP_PART_ID - 1730)) | (1 << (PlSqlParser.SYS_OP_PIVOT - 1730)) | (1 << (PlSqlParser.SYS_OP_R2O - 1730)) | (1 << (PlSqlParser.SYS_OP_RAWTONUM - 1730)) | (1 << (PlSqlParser.SYS_OP_RDTM - 1730)) | (1 << (PlSqlParser.SYS_OP_REF - 1730)) | (1 << (PlSqlParser.SYS_OP_RMTD - 1730)) | (1 << (PlSqlParser.SYS_OP_ROWIDTOOBJ - 1730)) | (1 << (PlSqlParser.SYS_OP_RPB - 1730)) | (1 << (PlSqlParser.SYS_OPTLOBPRBSC - 1730)) | (1 << (PlSqlParser.SYS_OP_TOSETID - 1730)) | (1 << (PlSqlParser.SYS_OP_TPR - 1730)) | (1 << (PlSqlParser.SYS_OP_TRTB - 1730)) | (1 << (PlSqlParser.SYS_OPTXICMP - 1730)) | (1 << (PlSqlParser.SYS_OPTXQCASTASNQ - 1730)) | (1 << (PlSqlParser.SYS_OP_UNDESCEND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECAND - 1730)) | (1 << (PlSqlParser.SYS_OP_VECBIT - 1730)) | (1 << (PlSqlParser.SYS_OP_VECOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VECXOR - 1730)) | (1 << (PlSqlParser.SYS_OP_VERSION - 1730)) | (1 << (PlSqlParser.SYS_OP_VREF - 1730)) | (1 << (PlSqlParser.SYS_OP_VVD - 1730)) | (1 << (PlSqlParser.SYS_OP_XMLCONS_FOR_CSX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHATG - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHIDX - 1730)) | (1 << (PlSqlParser.SYS_OP_XPTHOP - 1730)) | (1 << (PlSqlParser.SYS_OP_XTXT2SQLT - 1730)))) !== 0) || ((((_la - 1762)) & ~0x1f) == 0 && ((1 << (_la - 1762)) & ((1 << (PlSqlParser.SYS_OP_ZONE_ID - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_DEPTH - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_MAXCHILD - 1762)) | (1 << (PlSqlParser.SYS_ORDERKEY_PARENT - 1762)) | (1 << (PlSqlParser.SYS_PARALLEL_TXN - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_ATTR - 1762)) | (1 << (PlSqlParser.SYS_PATHID_IS_NMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNAME - 1762)) | (1 << (PlSqlParser.SYS_PATHID_LASTNMSPC - 1762)) | (1 << (PlSqlParser.SYS_PATH_REVERSE - 1762)) | (1 << (PlSqlParser.SYS_PXQEXTRACT - 1762)) | (1 << (PlSqlParser.SYS_RAW_TO_XSID - 1762)) | (1 << (PlSqlParser.SYS_RID_ORDER - 1762)) | (1 << (PlSqlParser.SYS_ROW_DELTA - 1762)) | (1 << (PlSqlParser.SYS_SC_2_XMLT - 1762)) | (1 << (PlSqlParser.SYS_SYNRCIREDO - 1762)) | (1 << (PlSqlParser.SYSTEM_DEFINED - 1762)) | (1 << (PlSqlParser.SYSTEM - 1762)) | (1 << (PlSqlParser.SYSTIMESTAMP - 1762)) | (1 << (PlSqlParser.SYS_TYPEID - 1762)) | (1 << (PlSqlParser.SYS_UMAKEXML - 1762)) | (1 << (PlSqlParser.SYS_XMLANALYZE - 1762)) | (1 << (PlSqlParser.SYS_XMLCONTAINS - 1762)) | (1 << (PlSqlParser.SYS_XMLCONV - 1762)) | (1 << (PlSqlParser.SYS_XMLEXNSURI - 1762)) | (1 << (PlSqlParser.SYS_XMLGEN - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISNODE - 1762)) | (1 << (PlSqlParser.SYS_XMLI_LOC_ISTEXT - 1762)) | (1 << (PlSqlParser.SYS_XMLINSTR - 1762)) | (1 << (PlSqlParser.SYS_XMLLOCATOR_GETSVAL - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETCID - 1762)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETLOCATOR - 1762)))) !== 0) || ((((_la - 1794)) & ~0x1f) == 0 && ((1 << (_la - 1794)) & ((1 << (PlSqlParser.SYS_XMLNODEID_GETOKEY - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPATHID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETPTRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETRID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETSVAL - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID_GETTID - 1794)) | (1 << (PlSqlParser.SYS_XMLNODEID - 1794)) | (1 << (PlSqlParser.SYS_XMLT_2_SC - 1794)) | (1 << (PlSqlParser.SYS_XMLTRANSLATE - 1794)) | (1 << (PlSqlParser.SYS_XMLTYPE2SQL - 1794)) | (1 << (PlSqlParser.SYS_XQ_ASQLCNV - 1794)) | (1 << (PlSqlParser.SYS_XQ_ATOMCNVCHK - 1794)) | (1 << (PlSqlParser.SYS_XQBASEURI - 1794)) | (1 << (PlSqlParser.SYS_XQCASTABLEERRH - 1794)) | (1 << (PlSqlParser.SYS_XQCODEP2STR - 1794)) | (1 << (PlSqlParser.SYS_XQCODEPEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCON2SEQ - 1794)) | (1 << (PlSqlParser.SYS_XQCONCAT - 1794)) | (1 << (PlSqlParser.SYS_XQDELETE - 1794)) | (1 << (PlSqlParser.SYS_XQDFLTCOLATION - 1794)) | (1 << (PlSqlParser.SYS_XQDOC - 1794)) | (1 << (PlSqlParser.SYS_XQDOCURI - 1794)) | (1 << (PlSqlParser.SYS_XQDURDIV - 1794)) | (1 << (PlSqlParser.SYS_XQED4URI - 1794)) | (1 << (PlSqlParser.SYS_XQENDSWITH - 1794)) | (1 << (PlSqlParser.SYS_XQERRH - 1794)) | (1 << (PlSqlParser.SYS_XQERR - 1794)) | (1 << (PlSqlParser.SYS_XQESHTMLURI - 1794)) | (1 << (PlSqlParser.SYS_XQEXLOBVAL - 1794)) | (1 << (PlSqlParser.SYS_XQEXSTWRP - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRACT - 1794)) | (1 << (PlSqlParser.SYS_XQEXTRREF - 1794)))) !== 0) || ((((_la - 1826)) & ~0x1f) == 0 && ((1 << (_la - 1826)) & ((1 << (PlSqlParser.SYS_XQEXVAL - 1826)) | (1 << (PlSqlParser.SYS_XQFB2STR - 1826)) | (1 << (PlSqlParser.SYS_XQFNBOOL - 1826)) | (1 << (PlSqlParser.SYS_XQFNCMP - 1826)) | (1 << (PlSqlParser.SYS_XQFNDATIM - 1826)) | (1 << (PlSqlParser.SYS_XQFNLNAME - 1826)) | (1 << (PlSqlParser.SYS_XQFNNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNNSURI - 1826)) | (1 << (PlSqlParser.SYS_XQFNPREDTRUTH - 1826)) | (1 << (PlSqlParser.SYS_XQFNQNM - 1826)) | (1 << (PlSqlParser.SYS_XQFNROOT - 1826)) | (1 << (PlSqlParser.SYS_XQFORMATNUM - 1826)) | (1 << (PlSqlParser.SYS_XQFTCONTAIN - 1826)) | (1 << (PlSqlParser.SYS_XQFUNCR - 1826)) | (1 << (PlSqlParser.SYS_XQGETCONTENT - 1826)) | (1 << (PlSqlParser.SYS_XQINDXOF - 1826)) | (1 << (PlSqlParser.SYS_XQINSERT - 1826)) | (1 << (PlSqlParser.SYS_XQINSPFX - 1826)) | (1 << (PlSqlParser.SYS_XQIRI2URI - 1826)) | (1 << (PlSqlParser.SYS_XQLANG - 1826)) | (1 << (PlSqlParser.SYS_XQLLNMFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQMKNODEREF - 1826)) | (1 << (PlSqlParser.SYS_XQNILLED - 1826)) | (1 << (PlSqlParser.SYS_XQNODENAME - 1826)) | (1 << (PlSqlParser.SYS_XQNORMSPACE - 1826)) | (1 << (PlSqlParser.SYS_XQNORMUCODE - 1826)) | (1 << (PlSqlParser.SYS_XQ_NRNG - 1826)) | (1 << (PlSqlParser.SYS_XQNSP4PFX - 1826)) | (1 << (PlSqlParser.SYS_XQNSPFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQPFXFRMQNM - 1826)) | (1 << (PlSqlParser.SYS_XQ_PKSQL2XML - 1826)) | (1 << (PlSqlParser.SYS_XQPOLYABS - 1826)))) !== 0) || ((((_la - 1858)) & ~0x1f) == 0 && ((1 << (_la - 1858)) & ((1 << (PlSqlParser.SYS_XQPOLYADD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCEL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCSTBL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYCST - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYDIV - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYFLR - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMOD - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYMUL - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYRND - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSQRT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYSUB - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUMUS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYUPLS - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVEQ - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVGT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLE - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVLT - 1858)) | (1 << (PlSqlParser.SYS_XQPOLYVNE - 1858)) | (1 << (PlSqlParser.SYS_XQREF2VAL - 1858)) | (1 << (PlSqlParser.SYS_XQRENAME - 1858)) | (1 << (PlSqlParser.SYS_XQREPLACE - 1858)) | (1 << (PlSqlParser.SYS_XQRESVURI - 1858)) | (1 << (PlSqlParser.SYS_XQRNDHALF2EVN - 1858)) | (1 << (PlSqlParser.SYS_XQRSLVQNM - 1858)) | (1 << (PlSqlParser.SYS_XQRYENVPGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYVARGET - 1858)) | (1 << (PlSqlParser.SYS_XQRYWRP - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON4XC - 1858)) | (1 << (PlSqlParser.SYS_XQSEQ2CON - 1858)) | (1 << (PlSqlParser.SYS_XQSEQDEEPEQ - 1858)) | (1 << (PlSqlParser.SYS_XQSEQINSB - 1858)))) !== 0) || ((((_la - 1890)) & ~0x1f) == 0 && ((1 << (_la - 1890)) & ((1 << (PlSqlParser.SYS_XQSEQRM - 1890)) | (1 << (PlSqlParser.SYS_XQSEQRVS - 1890)) | (1 << (PlSqlParser.SYS_XQSEQSUB - 1890)) | (1 << (PlSqlParser.SYS_XQSEQTYPMATCH - 1890)) | (1 << (PlSqlParser.SYS_XQSTARTSWITH - 1890)) | (1 << (PlSqlParser.SYS_XQSTATBURI - 1890)) | (1 << (PlSqlParser.SYS_XQSTR2CODEP - 1890)) | (1 << (PlSqlParser.SYS_XQSTRJOIN - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRAFT - 1890)) | (1 << (PlSqlParser.SYS_XQSUBSTRBEF - 1890)) | (1 << (PlSqlParser.SYS_XQTOKENIZE - 1890)) | (1 << (PlSqlParser.SYS_XQTREATAS - 1890)) | (1 << (PlSqlParser.SYS_XQ_UPKXML2SQL - 1890)) | (1 << (PlSqlParser.SYS_XQXFORM - 1890)) | (1 << (PlSqlParser.SYS_XSID_TO_RAW - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_FILTER - 1890)) | (1 << (PlSqlParser.SYS_ZMAP_REFRESH - 1890)) | (1 << (PlSqlParser.TABLE_LOOKUP_BY_NL - 1890)) | (1 << (PlSqlParser.TABLESPACE_NO - 1890)) | (1 << (PlSqlParser.TABLESPACE - 1890)) | (1 << (PlSqlParser.TABLES - 1890)) | (1 << (PlSqlParser.TABLE_STATS - 1890)) | (1 << (PlSqlParser.TABLE - 1890)) | (1 << (PlSqlParser.TABNO - 1890)) | (1 << (PlSqlParser.TAG - 1890)) | (1 << (PlSqlParser.TANH - 1890)) | (1 << (PlSqlParser.TAN - 1890)) | (1 << (PlSqlParser.TBLORIDXPARTNUM - 1890)) | (1 << (PlSqlParser.TEMPFILE - 1890)) | (1 << (PlSqlParser.TEMPLATE - 1890)) | (1 << (PlSqlParser.TEMPORARY - 1890)) | (1 << (PlSqlParser.TEMP_TABLE - 1890)))) !== 0) || ((((_la - 1922)) & ~0x1f) == 0 && ((1 << (_la - 1922)) & ((1 << (PlSqlParser.TEST - 1922)) | (1 << (PlSqlParser.TEXT - 1922)) | (1 << (PlSqlParser.THAN - 1922)) | (1 << (PlSqlParser.THEN - 1922)) | (1 << (PlSqlParser.THE - 1922)) | (1 << (PlSqlParser.THREAD - 1922)) | (1 << (PlSqlParser.THROUGH - 1922)) | (1 << (PlSqlParser.TIER - 1922)) | (1 << (PlSqlParser.TIES - 1922)) | (1 << (PlSqlParser.TIMEOUT - 1922)) | (1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP - 1922)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1922)) | (1 << (PlSqlParser.TIMES - 1922)) | (1 << (PlSqlParser.TIME - 1922)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1922)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1922)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1922)) | (1 << (PlSqlParser.TIMEZONE_OFFSET - 1922)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1922)) | (1 << (PlSqlParser.TIME_ZONE - 1922)) | (1 << (PlSqlParser.TIV_GB - 1922)) | (1 << (PlSqlParser.TIV_SSF - 1922)) | (1 << (PlSqlParser.TO_ACLID - 1922)) | (1 << (PlSqlParser.TO_BINARY_DOUBLE - 1922)) | (1 << (PlSqlParser.TO_BINARY_FLOAT - 1922)) | (1 << (PlSqlParser.TO_BLOB - 1922)) | (1 << (PlSqlParser.TO_CLOB - 1922)) | (1 << (PlSqlParser.TO_DSINTERVAL - 1922)) | (1 << (PlSqlParser.TO_LOB - 1922)))) !== 0) || ((((_la - 1954)) & ~0x1f) == 0 && ((1 << (_la - 1954)) & ((1 << (PlSqlParser.TO_MULTI_BYTE - 1954)) | (1 << (PlSqlParser.TO_NCHAR - 1954)) | (1 << (PlSqlParser.TO_NCLOB - 1954)) | (1 << (PlSqlParser.TO_NUMBER - 1954)) | (1 << (PlSqlParser.TOPLEVEL - 1954)) | (1 << (PlSqlParser.TO_SINGLE_BYTE - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP - 1954)) | (1 << (PlSqlParser.TO_TIMESTAMP_TZ - 1954)) | (1 << (PlSqlParser.TO_TIME - 1954)) | (1 << (PlSqlParser.TO_TIME_TZ - 1954)) | (1 << (PlSqlParser.TO_YMINTERVAL - 1954)) | (1 << (PlSqlParser.TRACE - 1954)) | (1 << (PlSqlParser.TRACING - 1954)) | (1 << (PlSqlParser.TRACKING - 1954)) | (1 << (PlSqlParser.TRAILING - 1954)) | (1 << (PlSqlParser.TRANSACTION - 1954)) | (1 << (PlSqlParser.TRANSFORM_DISTINCT_AGG - 1954)) | (1 << (PlSqlParser.TRANSITIONAL - 1954)) | (1 << (PlSqlParser.TRANSITION - 1954)) | (1 << (PlSqlParser.TRANSLATE - 1954)) | (1 << (PlSqlParser.TRANSLATION - 1954)) | (1 << (PlSqlParser.TREAT - 1954)) | (1 << (PlSqlParser.TRIGGERS - 1954)) | (1 << (PlSqlParser.TRIGGER - 1954)) | (1 << (PlSqlParser.TRUE - 1954)) | (1 << (PlSqlParser.TRUNCATE - 1954)) | (1 << (PlSqlParser.TRUNC - 1954)) | (1 << (PlSqlParser.TRUSTED - 1954)) | (1 << (PlSqlParser.TRUST - 1954)) | (1 << (PlSqlParser.TUNING - 1954)) | (1 << (PlSqlParser.TX - 1954)))) !== 0) || ((((_la - 1986)) & ~0x1f) == 0 && ((1 << (_la - 1986)) & ((1 << (PlSqlParser.TYPES - 1986)) | (1 << (PlSqlParser.TYPE - 1986)) | (1 << (PlSqlParser.TZ_OFFSET - 1986)) | (1 << (PlSqlParser.UB2 - 1986)) | (1 << (PlSqlParser.UBA - 1986)) | (1 << (PlSqlParser.UCS2 - 1986)) | (1 << (PlSqlParser.UID - 1986)) | (1 << (PlSqlParser.UNARCHIVED - 1986)) | (1 << (PlSqlParser.UNBOUNDED - 1986)) | (1 << (PlSqlParser.UNBOUND - 1986)) | (1 << (PlSqlParser.UNCONDITIONAL - 1986)) | (1 << (PlSqlParser.UNDER - 1986)) | (1 << (PlSqlParser.UNDO - 1986)) | (1 << (PlSqlParser.UNDROP - 1986)) | (1 << (PlSqlParser.UNIFORM - 1986)) | (1 << (PlSqlParser.UNISTR - 1986)) | (1 << (PlSqlParser.UNLIMITED - 1986)) | (1 << (PlSqlParser.UNLOAD - 1986)) | (1 << (PlSqlParser.UNLOCK - 1986)) | (1 << (PlSqlParser.UNMATCHED - 1986)) | (1 << (PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW - 1986)) | (1 << (PlSqlParser.UNNEST_SEMIJ_VIEW - 1986)) | (1 << (PlSqlParser.UNNEST - 1986)) | (1 << (PlSqlParser.UNPACKED - 1986)) | (1 << (PlSqlParser.UNPIVOT - 1986)) | (1 << (PlSqlParser.UNPLUG - 1986)) | (1 << (PlSqlParser.UNPROTECTED - 1986)) | (1 << (PlSqlParser.UNQUIESCE - 1986)) | (1 << (PlSqlParser.UNRECOVERABLE - 1986)))) !== 0) || ((((_la - 2018)) & ~0x1f) == 0 && ((1 << (_la - 2018)) & ((1 << (PlSqlParser.UNRESTRICTED - 2018)) | (1 << (PlSqlParser.UNSUBSCRIBE - 2018)) | (1 << (PlSqlParser.UNTIL - 2018)) | (1 << (PlSqlParser.UNUSABLE - 2018)) | (1 << (PlSqlParser.UNUSED - 2018)) | (1 << (PlSqlParser.UPDATABLE - 2018)) | (1 << (PlSqlParser.UPDATED - 2018)) | (1 << (PlSqlParser.UPDATEXML - 2018)) | (1 << (PlSqlParser.UPD_INDEXES - 2018)) | (1 << (PlSqlParser.UPD_JOININDEX - 2018)) | (1 << (PlSqlParser.UPGRADE - 2018)) | (1 << (PlSqlParser.UPPER - 2018)) | (1 << (PlSqlParser.UPSERT - 2018)) | (1 << (PlSqlParser.UROWID - 2018)) | (1 << (PlSqlParser.USABLE - 2018)) | (1 << (PlSqlParser.USAGE - 2018)) | (1 << (PlSqlParser.USE_ANTI - 2018)) | (1 << (PlSqlParser.USE_CONCAT - 2018)) | (1 << (PlSqlParser.USE_CUBE - 2018)) | (1 << (PlSqlParser.USE_HASH_AGGREGATION - 2018)) | (1 << (PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN - 2018)) | (1 << (PlSqlParser.USE_HASH - 2018)) | (1 << (PlSqlParser.USE_HIDDEN_PARTITIONS - 2018)) | (1 << (PlSqlParser.USE_INVISIBLE_INDEXES - 2018)) | (1 << (PlSqlParser.USE_MERGE_CARTESIAN - 2018)) | (1 << (PlSqlParser.USE_MERGE - 2018)) | (1 << (PlSqlParser.USE_NL - 2018)) | (1 << (PlSqlParser.USE_NL_WITH_INDEX - 2018)) | (1 << (PlSqlParser.USE_PRIVATE_OUTLINES - 2018)) | (1 << (PlSqlParser.USER_DATA - 2018)) | (1 << (PlSqlParser.USER_DEFINED - 2018)))) !== 0) || ((((_la - 2050)) & ~0x1f) == 0 && ((1 << (_la - 2050)) & ((1 << (PlSqlParser.USERENV - 2050)) | (1 << (PlSqlParser.USERGROUP - 2050)) | (1 << (PlSqlParser.USER_RECYCLEBIN - 2050)) | (1 << (PlSqlParser.USERS - 2050)) | (1 << (PlSqlParser.USER_TABLESPACES - 2050)) | (1 << (PlSqlParser.USER - 2050)) | (1 << (PlSqlParser.USE_SEMI - 2050)) | (1 << (PlSqlParser.USE_STORED_OUTLINES - 2050)) | (1 << (PlSqlParser.USE_TTT_FOR_GSETS - 2050)) | (1 << (PlSqlParser.USE - 2050)) | (1 << (PlSqlParser.USE_VECTOR_AGGREGATION - 2050)) | (1 << (PlSqlParser.USE_WEAK_NAME_RESL - 2050)) | (1 << (PlSqlParser.USING_NO_EXPAND - 2050)) | (1 << (PlSqlParser.USING - 2050)) | (1 << (PlSqlParser.UTF16BE - 2050)) | (1 << (PlSqlParser.UTF16LE - 2050)) | (1 << (PlSqlParser.UTF32 - 2050)) | (1 << (PlSqlParser.UTF8 - 2050)) | (1 << (PlSqlParser.V1 - 2050)) | (1 << (PlSqlParser.V2 - 2050)) | (1 << (PlSqlParser.VALIDATE - 2050)) | (1 << (PlSqlParser.VALIDATION - 2050)) | (1 << (PlSqlParser.VALID_TIME_END - 2050)) | (1 << (PlSqlParser.VALUE - 2050)) | (1 << (PlSqlParser.VARCHAR2 - 2050)) | (1 << (PlSqlParser.VARCHAR - 2050)) | (1 << (PlSqlParser.VARIABLE - 2050)) | (1 << (PlSqlParser.VAR_POP - 2050)) | (1 << (PlSqlParser.VARRAYS - 2050)) | (1 << (PlSqlParser.VARRAY - 2050)) | (1 << (PlSqlParser.VAR_SAMP - 2050)))) !== 0) || ((((_la - 2082)) & ~0x1f) == 0 && ((1 << (_la - 2082)) & ((1 << (PlSqlParser.VARYING - 2082)) | (1 << (PlSqlParser.VECTOR_READ_TRACE - 2082)) | (1 << (PlSqlParser.VECTOR_READ - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_DIMS - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM_FACT - 2082)) | (1 << (PlSqlParser.VECTOR_TRANSFORM - 2082)) | (1 << (PlSqlParser.VERIFIER - 2082)) | (1 << (PlSqlParser.VERIFY - 2082)) | (1 << (PlSqlParser.VERSIONING - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_ENDTIME - 2082)) | (1 << (PlSqlParser.VERSIONS_OPERATION - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTSCN - 2082)) | (1 << (PlSqlParser.VERSIONS_STARTTIME - 2082)) | (1 << (PlSqlParser.VERSIONS - 2082)) | (1 << (PlSqlParser.VERSIONS_XID - 2082)) | (1 << (PlSqlParser.VERSION - 2082)) | (1 << (PlSqlParser.VIOLATION - 2082)) | (1 << (PlSqlParser.VIRTUAL - 2082)) | (1 << (PlSqlParser.VISIBILITY - 2082)) | (1 << (PlSqlParser.VISIBLE - 2082)) | (1 << (PlSqlParser.VOLUME - 2082)) | (1 << (PlSqlParser.VSIZE - 2082)) | (1 << (PlSqlParser.WAIT - 2082)) | (1 << (PlSqlParser.WALLET - 2082)) | (1 << (PlSqlParser.WARNING - 2082)) | (1 << (PlSqlParser.WEEKS - 2082)) | (1 << (PlSqlParser.WEEK - 2082)) | (1 << (PlSqlParser.WELLFORMED - 2082)) | (1 << (PlSqlParser.WHENEVER - 2082)) | (1 << (PlSqlParser.WHEN - 2082)))) !== 0) || ((((_la - 2115)) & ~0x1f) == 0 && ((1 << (_la - 2115)) & ((1 << (PlSqlParser.WHILE - 2115)) | (1 << (PlSqlParser.WHITESPACE - 2115)) | (1 << (PlSqlParser.WIDTH_BUCKET - 2115)) | (1 << (PlSqlParser.WITHIN - 2115)) | (1 << (PlSqlParser.WITHOUT - 2115)) | (1 << (PlSqlParser.WITH_PLSQL - 2115)) | (1 << (PlSqlParser.WORK - 2115)) | (1 << (PlSqlParser.WRAPPED - 2115)) | (1 << (PlSqlParser.WRAPPER - 2115)) | (1 << (PlSqlParser.WRITE - 2115)) | (1 << (PlSqlParser.XDB_FASTPATH_INSERT - 2115)) | (1 << (PlSqlParser.X_DYN_PRUNE - 2115)) | (1 << (PlSqlParser.XID - 2115)) | (1 << (PlSqlParser.XML2OBJECT - 2115)) | (1 << (PlSqlParser.XMLAGG - 2115)) | (1 << (PlSqlParser.XMLATTRIBUTES - 2115)) | (1 << (PlSqlParser.XMLCAST - 2115)) | (1 << (PlSqlParser.XMLCDATA - 2115)) | (1 << (PlSqlParser.XMLCOLATTVAL - 2115)) | (1 << (PlSqlParser.XMLCOMMENT - 2115)) | (1 << (PlSqlParser.XMLCONCAT - 2115)) | (1 << (PlSqlParser.XMLDIFF - 2115)) | (1 << (PlSqlParser.XML_DML_RWT_STMT - 2115)) | (1 << (PlSqlParser.XMLELEMENT - 2115)) | (1 << (PlSqlParser.XMLEXISTS2 - 2115)) | (1 << (PlSqlParser.XMLEXISTS - 2115)) | (1 << (PlSqlParser.XMLFOREST - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE_IN_SELECT - 2115)) | (1 << (PlSqlParser.XMLINDEX_REWRITE - 2115)))) !== 0) || ((((_la - 2147)) & ~0x1f) == 0 && ((1 << (_la - 2147)) & ((1 << (PlSqlParser.XMLINDEX_SEL_IDX_TBL - 2147)) | (1 << (PlSqlParser.XMLISNODE - 2147)) | (1 << (PlSqlParser.XMLISVALID - 2147)) | (1 << (PlSqlParser.XMLNAMESPACES - 2147)) | (1 << (PlSqlParser.XMLPARSE - 2147)) | (1 << (PlSqlParser.XMLPATCH - 2147)) | (1 << (PlSqlParser.XMLPI - 2147)) | (1 << (PlSqlParser.XMLQUERYVAL - 2147)) | (1 << (PlSqlParser.XMLQUERY - 2147)) | (1 << (PlSqlParser.XMLROOT - 2147)) | (1 << (PlSqlParser.XMLSCHEMA - 2147)) | (1 << (PlSqlParser.XMLSERIALIZE - 2147)) | (1 << (PlSqlParser.XMLTABLE - 2147)) | (1 << (PlSqlParser.XMLTRANSFORMBLOB - 2147)) | (1 << (PlSqlParser.XMLTRANSFORM - 2147)) | (1 << (PlSqlParser.XMLTYPE - 2147)) | (1 << (PlSqlParser.XML - 2147)) | (1 << (PlSqlParser.XPATHTABLE - 2147)) | (1 << (PlSqlParser.XS_SYS_CONTEXT - 2147)) | (1 << (PlSqlParser.XS - 2147)) | (1 << (PlSqlParser.YEARS - 2147)) | (1 << (PlSqlParser.YEAR - 2147)) | (1 << (PlSqlParser.YES - 2147)) | (1 << (PlSqlParser.YMINTERVAL_UNCONSTRAINED - 2147)) | (1 << (PlSqlParser.ZONEMAP - 2147)) | (1 << (PlSqlParser.ZONE - 2147)) | (1 << (PlSqlParser.PREDICTION - 2147)) | (1 << (PlSqlParser.PREDICTION_BOUNDS - 2147)) | (1 << (PlSqlParser.PREDICTION_COST - 2147)) | (1 << (PlSqlParser.PREDICTION_DETAILS - 2147)) | (1 << (PlSqlParser.PREDICTION_PROBABILITY - 2147)))) !== 0) || ((((_la - 2179)) & ~0x1f) == 0 && ((1 << (_la - 2179)) & ((1 << (PlSqlParser.PREDICTION_SET - 2179)) | (1 << (PlSqlParser.CUME_DIST - 2179)) | (1 << (PlSqlParser.DENSE_RANK - 2179)) | (1 << (PlSqlParser.LISTAGG - 2179)) | (1 << (PlSqlParser.PERCENT_RANK - 2179)) | (1 << (PlSqlParser.PERCENTILE_CONT - 2179)) | (1 << (PlSqlParser.PERCENTILE_DISC - 2179)) | (1 << (PlSqlParser.RANK - 2179)) | (1 << (PlSqlParser.AVG - 2179)) | (1 << (PlSqlParser.CORR - 2179)) | (1 << (PlSqlParser.COVAR_ - 2179)) | (1 << (PlSqlParser.LAG - 2179)) | (1 << (PlSqlParser.LEAD - 2179)) | (1 << (PlSqlParser.MAX - 2179)) | (1 << (PlSqlParser.MEDIAN - 2179)) | (1 << (PlSqlParser.MIN - 2179)) | (1 << (PlSqlParser.NTILE - 2179)) | (1 << (PlSqlParser.NVL - 2179)) | (1 << (PlSqlParser.RATIO_TO_REPORT - 2179)) | (1 << (PlSqlParser.REGR_ - 2179)) | (1 << (PlSqlParser.ROUND - 2179)) | (1 << (PlSqlParser.ROW_NUMBER - 2179)) | (1 << (PlSqlParser.SUBSTR - 2179)) | (1 << (PlSqlParser.TO_CHAR - 2179)) | (1 << (PlSqlParser.TRIM - 2179)) | (1 << (PlSqlParser.SUM - 2179)) | (1 << (PlSqlParser.STDDEV - 2179)) | (1 << (PlSqlParser.VAR_ - 2179)) | (1 << (PlSqlParser.VARIANCE - 2179)) | (1 << (PlSqlParser.LEAST - 2179)) | (1 << (PlSqlParser.GREATEST - 2179)))) !== 0) || _la===PlSqlParser.TO_DATE || _la===PlSqlParser.PERIOD || _la===PlSqlParser.REGULAR_ID) { + this.state = 6110; + this.subpartition_name(); + } + + this.state = 6113; + this.list_values_clause(); + this.state = 6115; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.LOB || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.OVERFLOW || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VARRAY) { + this.state = 6114; + this.partitioning_storage_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Individual_hash_subpartsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_individual_hash_subparts; + return this; +} + +Individual_hash_subpartsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Individual_hash_subpartsContext.prototype.constructor = Individual_hash_subpartsContext; + +Individual_hash_subpartsContext.prototype.SUBPARTITION = function() { + return this.getToken(PlSqlParser.SUBPARTITION, 0); +}; + +Individual_hash_subpartsContext.prototype.subpartition_name = function() { + return this.getTypedRuleContext(Subpartition_nameContext,0); +}; + +Individual_hash_subpartsContext.prototype.partitioning_storage_clause = function() { + return this.getTypedRuleContext(Partitioning_storage_clauseContext,0); +}; + +Individual_hash_subpartsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndividual_hash_subparts(this); + } +}; + +Individual_hash_subpartsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndividual_hash_subparts(this); + } +}; + +Individual_hash_subpartsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndividual_hash_subparts(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Individual_hash_subpartsContext = Individual_hash_subpartsContext; + +PlSqlParser.prototype.individual_hash_subparts = function() { + + var localctx = new Individual_hash_subpartsContext(this, this._ctx, this.state); + this.enterRule(localctx, 590, PlSqlParser.RULE_individual_hash_subparts); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6117; + this.match(PlSqlParser.SUBPARTITION); + this.state = 6119; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,707,this._ctx); + if(la_===1) { + this.state = 6118; + this.subpartition_name(); + + } + this.state = 6122; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.LOB || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.OVERFLOW || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VARRAY) { + this.state = 6121; + this.partitioning_storage_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Hash_subparts_by_quantityContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_hash_subparts_by_quantity; + return this; +} + +Hash_subparts_by_quantityContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Hash_subparts_by_quantityContext.prototype.constructor = Hash_subparts_by_quantityContext; + +Hash_subparts_by_quantityContext.prototype.SUBPARTITIONS = function() { + return this.getToken(PlSqlParser.SUBPARTITIONS, 0); +}; + +Hash_subparts_by_quantityContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Hash_subparts_by_quantityContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +Hash_subparts_by_quantityContext.prototype.IN = function() { + return this.getToken(PlSqlParser.IN, 0); +}; + +Hash_subparts_by_quantityContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Hash_subparts_by_quantityContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Hash_subparts_by_quantityContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Hash_subparts_by_quantityContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Hash_subparts_by_quantityContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterHash_subparts_by_quantity(this); + } +}; + +Hash_subparts_by_quantityContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitHash_subparts_by_quantity(this); + } +}; + +Hash_subparts_by_quantityContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitHash_subparts_by_quantity(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Hash_subparts_by_quantityContext = Hash_subparts_by_quantityContext; + +PlSqlParser.prototype.hash_subparts_by_quantity = function() { + + var localctx = new Hash_subparts_by_quantityContext(this, this._ctx, this.state); + this.enterRule(localctx, 592, PlSqlParser.RULE_hash_subparts_by_quantity); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6124; + this.match(PlSqlParser.SUBPARTITIONS); + this.state = 6125; + this.match(PlSqlParser.UNSIGNED_INTEGER); + this.state = 6139; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STORE) { + this.state = 6126; + this.match(PlSqlParser.STORE); + this.state = 6127; + this.match(PlSqlParser.IN); + this.state = 6128; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6129; + this.tablespace(); + this.state = 6134; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6130; + this.match(PlSqlParser.COMMA); + this.state = 6131; + this.tablespace(); + this.state = 6136; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6137; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Range_values_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_range_values_clause; + return this; +} + +Range_values_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Range_values_clauseContext.prototype.constructor = Range_values_clauseContext; + +Range_values_clauseContext.prototype.VALUES = function() { + return this.getToken(PlSqlParser.VALUES, 0); +}; + +Range_values_clauseContext.prototype.LESS = function() { + return this.getToken(PlSqlParser.LESS, 0); +}; + +Range_values_clauseContext.prototype.THAN = function() { + return this.getToken(PlSqlParser.THAN, 0); +}; + +Range_values_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Range_values_clauseContext.prototype.literal = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(LiteralContext); + } else { + return this.getTypedRuleContext(LiteralContext,i); + } +}; + +Range_values_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Range_values_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Range_values_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRange_values_clause(this); + } +}; + +Range_values_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRange_values_clause(this); + } +}; + +Range_values_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRange_values_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Range_values_clauseContext = Range_values_clauseContext; + +PlSqlParser.prototype.range_values_clause = function() { + + var localctx = new Range_values_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 594, PlSqlParser.RULE_range_values_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6141; + this.match(PlSqlParser.VALUES); + this.state = 6142; + this.match(PlSqlParser.LESS); + this.state = 6143; + this.match(PlSqlParser.THAN); + this.state = 6144; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6145; + this.literal(); + this.state = 6150; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6146; + this.match(PlSqlParser.COMMA); + this.state = 6147; + this.literal(); + this.state = 6152; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6153; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function List_values_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_list_values_clause; + return this; +} + +List_values_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +List_values_clauseContext.prototype.constructor = List_values_clauseContext; + +List_values_clauseContext.prototype.VALUES = function() { + return this.getToken(PlSqlParser.VALUES, 0); +}; + +List_values_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +List_values_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +List_values_clauseContext.prototype.literal = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(LiteralContext); + } else { + return this.getTypedRuleContext(LiteralContext,i); + } +}; + +List_values_clauseContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +List_values_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +List_values_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterList_values_clause(this); + } +}; + +List_values_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitList_values_clause(this); + } +}; + +List_values_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitList_values_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.List_values_clauseContext = List_values_clauseContext; + +PlSqlParser.prototype.list_values_clause = function() { + + var localctx = new List_values_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 596, PlSqlParser.RULE_list_values_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6155; + this.match(PlSqlParser.VALUES); + this.state = 6156; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6166; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHR: + case PlSqlParser.MAXVALUE: + case PlSqlParser.DECODE: + case PlSqlParser.NVL: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.TO_DATE: + case PlSqlParser.UNSIGNED_INTEGER: + case PlSqlParser.APPROXIMATE_NUM_LIT: + case PlSqlParser.CHAR_STRING: + this.state = 6157; + this.literal(); + this.state = 6162; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6158; + this.match(PlSqlParser.COMMA); + this.state = 6159; + this.literal(); + this.state = 6164; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.DEFAULT: + this.state = 6165; + this.match(PlSqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6168; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Table_partition_descriptionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_table_partition_description; + return this; +} + +Table_partition_descriptionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Table_partition_descriptionContext.prototype.constructor = Table_partition_descriptionContext; + +Table_partition_descriptionContext.prototype.deferred_segment_creation = function() { + return this.getTypedRuleContext(Deferred_segment_creationContext,0); +}; + +Table_partition_descriptionContext.prototype.segment_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Segment_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Segment_attributes_clauseContext,i); + } +}; + +Table_partition_descriptionContext.prototype.table_compression = function() { + return this.getTypedRuleContext(Table_compressionContext,0); +}; + +Table_partition_descriptionContext.prototype.key_compression = function() { + return this.getTypedRuleContext(Key_compressionContext,0); +}; + +Table_partition_descriptionContext.prototype.OVERFLOW = function() { + return this.getToken(PlSqlParser.OVERFLOW, 0); +}; + +Table_partition_descriptionContext.prototype.lob_storage_clause = function() { + return this.getTypedRuleContext(Lob_storage_clauseContext,0); +}; + +Table_partition_descriptionContext.prototype.varray_col_properties = function() { + return this.getTypedRuleContext(Varray_col_propertiesContext,0); +}; + +Table_partition_descriptionContext.prototype.nested_table_col_properties = function() { + return this.getTypedRuleContext(Nested_table_col_propertiesContext,0); +}; + +Table_partition_descriptionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTable_partition_description(this); + } +}; + +Table_partition_descriptionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTable_partition_description(this); + } +}; + +Table_partition_descriptionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTable_partition_description(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Table_partition_descriptionContext = Table_partition_descriptionContext; + +PlSqlParser.prototype.table_partition_description = function() { + + var localctx = new Table_partition_descriptionContext(this, this._ctx, this.state); + this.enterRule(localctx, 598, PlSqlParser.RULE_table_partition_description); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6171; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SEGMENT) { + this.state = 6170; + this.deferred_segment_creation(); + } + + this.state = 6174; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 6173; + this.segment_attributes_clause(); + } + + this.state = 6178; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,716,this._ctx); + if(la_===1) { + this.state = 6176; + this.table_compression(); + + } else if(la_===2) { + this.state = 6177; + this.key_compression(); + + } + this.state = 6184; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OVERFLOW) { + this.state = 6180; + this.match(PlSqlParser.OVERFLOW); + this.state = 6182; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 6181; + this.segment_attributes_clause(); + } + + } + + this.state = 6189; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.LOB: + this.state = 6186; + this.lob_storage_clause(); + break; + case PlSqlParser.VARRAY: + this.state = 6187; + this.varray_col_properties(); + break; + case PlSqlParser.NESTED: + this.state = 6188; + this.nested_table_col_properties(); + break; + case PlSqlParser.AS: + case PlSqlParser.CACHE: + case PlSqlParser.DISABLE: + case PlSqlParser.ENABLE: + case PlSqlParser.FLASHBACK: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.PARALLEL: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROW: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.LEFT_PAREN: + case PlSqlParser.RIGHT_PAREN: + case PlSqlParser.COMMA: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Partitioning_storage_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_partitioning_storage_clause; + return this; +} + +Partitioning_storage_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Partitioning_storage_clauseContext.prototype.constructor = Partitioning_storage_clauseContext; + +Partitioning_storage_clauseContext.prototype.TABLESPACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLESPACE); + } else { + return this.getToken(PlSqlParser.TABLESPACE, i); + } +}; + + +Partitioning_storage_clauseContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Partitioning_storage_clauseContext.prototype.OVERFLOW = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.OVERFLOW); + } else { + return this.getToken(PlSqlParser.OVERFLOW, i); + } +}; + + +Partitioning_storage_clauseContext.prototype.table_compression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Table_compressionContext); + } else { + return this.getTypedRuleContext(Table_compressionContext,i); + } +}; + +Partitioning_storage_clauseContext.prototype.key_compression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Key_compressionContext); + } else { + return this.getTypedRuleContext(Key_compressionContext,i); + } +}; + +Partitioning_storage_clauseContext.prototype.lob_partitioning_storage = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Lob_partitioning_storageContext); + } else { + return this.getTypedRuleContext(Lob_partitioning_storageContext,i); + } +}; + +Partitioning_storage_clauseContext.prototype.VARRAY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.VARRAY); + } else { + return this.getToken(PlSqlParser.VARRAY, i); + } +}; + + +Partitioning_storage_clauseContext.prototype.varray_item = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Varray_itemContext); + } else { + return this.getTypedRuleContext(Varray_itemContext,i); + } +}; + +Partitioning_storage_clauseContext.prototype.STORE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.STORE); + } else { + return this.getToken(PlSqlParser.STORE, i); + } +}; + + +Partitioning_storage_clauseContext.prototype.AS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.AS); + } else { + return this.getToken(PlSqlParser.AS, i); + } +}; + + +Partitioning_storage_clauseContext.prototype.LOB = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LOB); + } else { + return this.getToken(PlSqlParser.LOB, i); + } +}; + + +Partitioning_storage_clauseContext.prototype.lob_segname = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Lob_segnameContext); + } else { + return this.getTypedRuleContext(Lob_segnameContext,i); + } +}; + +Partitioning_storage_clauseContext.prototype.BASICFILE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.BASICFILE); + } else { + return this.getToken(PlSqlParser.BASICFILE, i); + } +}; + + +Partitioning_storage_clauseContext.prototype.SECUREFILE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SECUREFILE); + } else { + return this.getToken(PlSqlParser.SECUREFILE, i); + } +}; + + +Partitioning_storage_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPartitioning_storage_clause(this); + } +}; + +Partitioning_storage_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPartitioning_storage_clause(this); + } +}; + +Partitioning_storage_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPartitioning_storage_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Partitioning_storage_clauseContext = Partitioning_storage_clauseContext; + +PlSqlParser.prototype.partitioning_storage_clause = function() { + + var localctx = new Partitioning_storage_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 600, PlSqlParser.RULE_partitioning_storage_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6211; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6211; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,722,this._ctx); + switch(la_) { + case 1: + this.state = 6191; + this.match(PlSqlParser.TABLESPACE); + this.state = 6192; + this.tablespace(); + break; + + case 2: + this.state = 6193; + this.match(PlSqlParser.OVERFLOW); + this.state = 6196; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,720,this._ctx); + if(la_===1) { + this.state = 6194; + this.match(PlSqlParser.TABLESPACE); + this.state = 6195; + this.tablespace(); + + } + break; + + case 3: + this.state = 6198; + this.table_compression(); + break; + + case 4: + this.state = 6199; + this.key_compression(); + break; + + case 5: + this.state = 6200; + this.lob_partitioning_storage(); + break; + + case 6: + this.state = 6201; + this.match(PlSqlParser.VARRAY); + this.state = 6202; + this.varray_item(); + this.state = 6203; + this.match(PlSqlParser.STORE); + this.state = 6204; + this.match(PlSqlParser.AS); + this.state = 6206; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.BASICFILE || _la===PlSqlParser.SECUREFILE) { + this.state = 6205; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BASICFILE || _la===PlSqlParser.SECUREFILE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 6208; + this.match(PlSqlParser.LOB); + this.state = 6209; + this.lob_segname(); + break; + + } + this.state = 6213; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.LOB || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.OVERFLOW || _la===PlSqlParser.TABLESPACE || _la===PlSqlParser.VARRAY); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Lob_partitioning_storageContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_lob_partitioning_storage; + return this; +} + +Lob_partitioning_storageContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Lob_partitioning_storageContext.prototype.constructor = Lob_partitioning_storageContext; + +Lob_partitioning_storageContext.prototype.LOB = function() { + return this.getToken(PlSqlParser.LOB, 0); +}; + +Lob_partitioning_storageContext.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Lob_partitioning_storageContext.prototype.lob_item = function() { + return this.getTypedRuleContext(Lob_itemContext,0); +}; + +Lob_partitioning_storageContext.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Lob_partitioning_storageContext.prototype.STORE = function() { + return this.getToken(PlSqlParser.STORE, 0); +}; + +Lob_partitioning_storageContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Lob_partitioning_storageContext.prototype.lob_segname = function() { + return this.getTypedRuleContext(Lob_segnameContext,0); +}; + +Lob_partitioning_storageContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Lob_partitioning_storageContext.prototype.tablespace = function() { + return this.getTypedRuleContext(TablespaceContext,0); +}; + +Lob_partitioning_storageContext.prototype.BASICFILE = function() { + return this.getToken(PlSqlParser.BASICFILE, 0); +}; + +Lob_partitioning_storageContext.prototype.SECUREFILE = function() { + return this.getToken(PlSqlParser.SECUREFILE, 0); +}; + +Lob_partitioning_storageContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLob_partitioning_storage(this); + } +}; + +Lob_partitioning_storageContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLob_partitioning_storage(this); + } +}; + +Lob_partitioning_storageContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLob_partitioning_storage(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Lob_partitioning_storageContext = Lob_partitioning_storageContext; + +PlSqlParser.prototype.lob_partitioning_storage = function() { + + var localctx = new Lob_partitioning_storageContext(this, this._ctx, this.state); + this.enterRule(localctx, 602, PlSqlParser.RULE_lob_partitioning_storage); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6215; + this.match(PlSqlParser.LOB); + this.state = 6216; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6217; + this.lob_item(); + this.state = 6218; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 6219; + this.match(PlSqlParser.STORE); + this.state = 6220; + this.match(PlSqlParser.AS); + this.state = 6222; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,724,this._ctx); + if(la_===1) { + this.state = 6221; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BASICFILE || _la===PlSqlParser.SECUREFILE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + + } + this.state = 6237; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.REGULAR_ID: + this.state = 6224; + this.lob_segname(); + this.state = 6230; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 6225; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6226; + this.match(PlSqlParser.TABLESPACE); + this.state = 6227; + this.tablespace(); + this.state = 6228; + this.match(PlSqlParser.RIGHT_PAREN); + } + + break; + case PlSqlParser.LEFT_PAREN: + this.state = 6232; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6233; + this.match(PlSqlParser.TABLESPACE); + this.state = 6234; + this.tablespace(); + this.state = 6235; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Datatype_null_enableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_datatype_null_enable; + return this; +} + +Datatype_null_enableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Datatype_null_enableContext.prototype.constructor = Datatype_null_enableContext; + +Datatype_null_enableContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Datatype_null_enableContext.prototype.datatype = function() { + return this.getTypedRuleContext(DatatypeContext,0); +}; + +Datatype_null_enableContext.prototype.SORT = function() { + return this.getToken(PlSqlParser.SORT, 0); +}; + +Datatype_null_enableContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Datatype_null_enableContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Datatype_null_enableContext.prototype.ENCRYPT = function() { + return this.getToken(PlSqlParser.ENCRYPT, 0); +}; + +Datatype_null_enableContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Datatype_null_enableContext.prototype.NULL_ = function() { + return this.getToken(PlSqlParser.NULL_, 0); +}; + +Datatype_null_enableContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +Datatype_null_enableContext.prototype.DISABLE = function() { + return this.getToken(PlSqlParser.DISABLE, 0); +}; + +Datatype_null_enableContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Datatype_null_enableContext.prototype.CHAR_STRING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHAR_STRING); + } else { + return this.getToken(PlSqlParser.CHAR_STRING, i); + } +}; + + +Datatype_null_enableContext.prototype.IDENTIFIED = function() { + return this.getToken(PlSqlParser.IDENTIFIED, 0); +}; + +Datatype_null_enableContext.prototype.BY = function() { + return this.getToken(PlSqlParser.BY, 0); +}; + +Datatype_null_enableContext.prototype.REGULAR_ID = function() { + return this.getToken(PlSqlParser.REGULAR_ID, 0); +}; + +Datatype_null_enableContext.prototype.SALT = function() { + return this.getToken(PlSqlParser.SALT, 0); +}; + +Datatype_null_enableContext.prototype.NO = function() { + return this.getToken(PlSqlParser.NO, 0); +}; + +Datatype_null_enableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDatatype_null_enable(this); + } +}; + +Datatype_null_enableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDatatype_null_enable(this); + } +}; + +Datatype_null_enableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDatatype_null_enable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Datatype_null_enableContext = Datatype_null_enableContext; + +PlSqlParser.prototype.datatype_null_enable = function() { + + var localctx = new Datatype_null_enableContext(this, this._ctx, this.state); + this.enterRule(localctx, 604, PlSqlParser.RULE_datatype_null_enable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6239; + this.column_name(); + this.state = 6240; + this.datatype(); + this.state = 6242; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SORT) { + this.state = 6241; + this.match(PlSqlParser.SORT); + } + + this.state = 6246; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DEFAULT) { + this.state = 6244; + this.match(PlSqlParser.DEFAULT); + this.state = 6245; + this.expression(); + } + + this.state = 6267; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ENCRYPT) { + this.state = 6248; + this.match(PlSqlParser.ENCRYPT); + this.state = 6251; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.USING) { + this.state = 6249; + this.match(PlSqlParser.USING); + this.state = 6250; + this.match(PlSqlParser.CHAR_STRING); + } + + this.state = 6256; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.IDENTIFIED) { + this.state = 6253; + this.match(PlSqlParser.IDENTIFIED); + this.state = 6254; + this.match(PlSqlParser.BY); + this.state = 6255; + this.match(PlSqlParser.REGULAR_ID); + } + + this.state = 6259; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CHAR_STRING) { + this.state = 6258; + this.match(PlSqlParser.CHAR_STRING); + } + + this.state = 6265; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NO || _la===PlSqlParser.SALT) { + this.state = 6262; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NO) { + this.state = 6261; + this.match(PlSqlParser.NO); + } + + this.state = 6264; + this.match(PlSqlParser.SALT); + } + + } + + this.state = 6271; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 6269; + this.match(PlSqlParser.NOT); + this.state = 6270; + this.match(PlSqlParser.NULL_); + } + + this.state = 6274; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE) { + this.state = 6273; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Size_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_size_clause; + return this; +} + +Size_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Size_clauseContext.prototype.constructor = Size_clauseContext; + +Size_clauseContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Size_clauseContext.prototype.REGULAR_ID = function() { + return this.getToken(PlSqlParser.REGULAR_ID, 0); +}; + +Size_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSize_clause(this); + } +}; + +Size_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSize_clause(this); + } +}; + +Size_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSize_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Size_clauseContext = Size_clauseContext; + +PlSqlParser.prototype.size_clause = function() { + + var localctx = new Size_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 606, PlSqlParser.RULE_size_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6276; + this.match(PlSqlParser.UNSIGNED_INTEGER); + this.state = 6278; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REGULAR_ID) { + this.state = 6277; + this.match(PlSqlParser.REGULAR_ID); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Table_compressionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_table_compression; + return this; +} + +Table_compressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Table_compressionContext.prototype.constructor = Table_compressionContext; + +Table_compressionContext.prototype.COMPRESS = function() { + return this.getToken(PlSqlParser.COMPRESS, 0); +}; + +Table_compressionContext.prototype.BASIC = function() { + return this.getToken(PlSqlParser.BASIC, 0); +}; + +Table_compressionContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Table_compressionContext.prototype.OLTP = function() { + return this.getToken(PlSqlParser.OLTP, 0); +}; + +Table_compressionContext.prototype.QUERY = function() { + return this.getToken(PlSqlParser.QUERY, 0); +}; + +Table_compressionContext.prototype.ARCHIVE = function() { + return this.getToken(PlSqlParser.ARCHIVE, 0); +}; + +Table_compressionContext.prototype.LOW = function() { + return this.getToken(PlSqlParser.LOW, 0); +}; + +Table_compressionContext.prototype.HIGH = function() { + return this.getToken(PlSqlParser.HIGH, 0); +}; + +Table_compressionContext.prototype.NOCOMPRESS = function() { + return this.getToken(PlSqlParser.NOCOMPRESS, 0); +}; + +Table_compressionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTable_compression(this); + } +}; + +Table_compressionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTable_compression(this); + } +}; + +Table_compressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTable_compression(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Table_compressionContext = Table_compressionContext; + +PlSqlParser.prototype.table_compression = function() { + + var localctx = new Table_compressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 608, PlSqlParser.RULE_table_compression); + var _la = 0; // Token type + try { + this.state = 6293; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.COMPRESS: + this.enterOuterAlt(localctx, 1); + this.state = 6280; + this.match(PlSqlParser.COMPRESS); + this.state = 6290; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,740,this._ctx); + if(la_===1) { + this.state = 6281; + this.match(PlSqlParser.BASIC); + + } else if(la_===2) { + this.state = 6282; + this.match(PlSqlParser.FOR); + this.state = 6288; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.OLTP: + this.state = 6283; + this.match(PlSqlParser.OLTP); + break; + case PlSqlParser.ARCHIVE: + case PlSqlParser.QUERY: + this.state = 6284; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ARCHIVE || _la===PlSqlParser.QUERY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6286; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.HIGH || _la===PlSqlParser.LOW) { + this.state = 6285; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.HIGH || _la===PlSqlParser.LOW)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + + } + break; + case PlSqlParser.NOCOMPRESS: + this.enterOuterAlt(localctx, 2); + this.state = 6292; + this.match(PlSqlParser.NOCOMPRESS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Physical_attributes_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_physical_attributes_clause; + this.pctfree = null; // Token + this.pctused = null; // Token + this.inittrans = null; // Token + return this; +} + +Physical_attributes_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Physical_attributes_clauseContext.prototype.constructor = Physical_attributes_clauseContext; + +Physical_attributes_clauseContext.prototype.PCTFREE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PCTFREE); + } else { + return this.getToken(PlSqlParser.PCTFREE, i); + } +}; + + +Physical_attributes_clauseContext.prototype.PCTUSED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PCTUSED); + } else { + return this.getToken(PlSqlParser.PCTUSED, i); + } +}; + + +Physical_attributes_clauseContext.prototype.INITRANS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.INITRANS); + } else { + return this.getToken(PlSqlParser.INITRANS, i); + } +}; + + +Physical_attributes_clauseContext.prototype.storage_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Storage_clauseContext); + } else { + return this.getTypedRuleContext(Storage_clauseContext,i); + } +}; + +Physical_attributes_clauseContext.prototype.UNSIGNED_INTEGER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNSIGNED_INTEGER); + } else { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, i); + } +}; + + +Physical_attributes_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPhysical_attributes_clause(this); + } +}; + +Physical_attributes_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPhysical_attributes_clause(this); + } +}; + +Physical_attributes_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPhysical_attributes_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Physical_attributes_clauseContext = Physical_attributes_clauseContext; + +PlSqlParser.prototype.physical_attributes_clause = function() { + + var localctx = new Physical_attributes_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 610, PlSqlParser.RULE_physical_attributes_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6302; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 6302; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.PCTFREE: + this.state = 6295; + this.match(PlSqlParser.PCTFREE); + this.state = 6296; + localctx.pctfree = this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.PCTUSED: + this.state = 6297; + this.match(PlSqlParser.PCTUSED); + this.state = 6298; + localctx.pctused = this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.INITRANS: + this.state = 6299; + this.match(PlSqlParser.INITRANS); + this.state = 6300; + localctx.inittrans = this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.STORAGE: + this.state = 6301; + this.storage_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6304; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,743, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Storage_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_storage_clause; + this.initial_size = null; // Size_clauseContext + this.next_size = null; // Size_clauseContext + this.minextents = null; // Token + this.pctincrease = null; // Token + this.freelists = null; // Token + this.freelist_groups = null; // Token + return this; +} + +Storage_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Storage_clauseContext.prototype.constructor = Storage_clauseContext; + +Storage_clauseContext.prototype.STORAGE = function() { + return this.getToken(PlSqlParser.STORAGE, 0); +}; + +Storage_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Storage_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Storage_clauseContext.prototype.INITIAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.INITIAL); + } else { + return this.getToken(PlSqlParser.INITIAL, i); + } +}; + + +Storage_clauseContext.prototype.NEXT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NEXT); + } else { + return this.getToken(PlSqlParser.NEXT, i); + } +}; + + +Storage_clauseContext.prototype.MINEXTENTS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.MINEXTENTS); + } else { + return this.getToken(PlSqlParser.MINEXTENTS, i); + } +}; + + +Storage_clauseContext.prototype.MAXEXTENTS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.MAXEXTENTS); + } else { + return this.getToken(PlSqlParser.MAXEXTENTS, i); + } +}; + + +Storage_clauseContext.prototype.PCTINCREASE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PCTINCREASE); + } else { + return this.getToken(PlSqlParser.PCTINCREASE, i); + } +}; + + +Storage_clauseContext.prototype.FREELISTS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FREELISTS); + } else { + return this.getToken(PlSqlParser.FREELISTS, i); + } +}; + + +Storage_clauseContext.prototype.FREELIST = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FREELIST); + } else { + return this.getToken(PlSqlParser.FREELIST, i); + } +}; + + +Storage_clauseContext.prototype.GROUPS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.GROUPS); + } else { + return this.getToken(PlSqlParser.GROUPS, i); + } +}; + + +Storage_clauseContext.prototype.OPTIMAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.OPTIMAL); + } else { + return this.getToken(PlSqlParser.OPTIMAL, i); + } +}; + + +Storage_clauseContext.prototype.BUFFER_POOL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.BUFFER_POOL); + } else { + return this.getToken(PlSqlParser.BUFFER_POOL, i); + } +}; + + +Storage_clauseContext.prototype.FLASH_CACHE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FLASH_CACHE); + } else { + return this.getToken(PlSqlParser.FLASH_CACHE, i); + } +}; + + +Storage_clauseContext.prototype.ENCRYPT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ENCRYPT); + } else { + return this.getToken(PlSqlParser.ENCRYPT, i); + } +}; + + +Storage_clauseContext.prototype.size_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Size_clauseContext); + } else { + return this.getTypedRuleContext(Size_clauseContext,i); + } +}; + +Storage_clauseContext.prototype.UNSIGNED_INTEGER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNSIGNED_INTEGER); + } else { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, i); + } +}; + + +Storage_clauseContext.prototype.KEEP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.KEEP); + } else { + return this.getToken(PlSqlParser.KEEP, i); + } +}; + + +Storage_clauseContext.prototype.RECYCLE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RECYCLE); + } else { + return this.getToken(PlSqlParser.RECYCLE, i); + } +}; + + +Storage_clauseContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFAULT); + } else { + return this.getToken(PlSqlParser.DEFAULT, i); + } +}; + + +Storage_clauseContext.prototype.NONE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NONE); + } else { + return this.getToken(PlSqlParser.NONE, i); + } +}; + + +Storage_clauseContext.prototype.UNLIMITED = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNLIMITED); + } else { + return this.getToken(PlSqlParser.UNLIMITED, i); + } +}; + + +Storage_clauseContext.prototype.NULL_ = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NULL_); + } else { + return this.getToken(PlSqlParser.NULL_, i); + } +}; + + +Storage_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterStorage_clause(this); + } +}; + +Storage_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitStorage_clause(this); + } +}; + +Storage_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitStorage_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Storage_clauseContext = Storage_clauseContext; + +PlSqlParser.prototype.storage_clause = function() { + + var localctx = new Storage_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 612, PlSqlParser.RULE_storage_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6306; + this.match(PlSqlParser.STORAGE); + this.state = 6307; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6333; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6333; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITIAL: + this.state = 6308; + this.match(PlSqlParser.INITIAL); + this.state = 6309; + localctx.initial_size = this.size_clause(); + break; + case PlSqlParser.NEXT: + this.state = 6310; + this.match(PlSqlParser.NEXT); + this.state = 6311; + localctx.next_size = this.size_clause(); + break; + case PlSqlParser.MINEXTENTS: + this.state = 6312; + this.match(PlSqlParser.MINEXTENTS); + this.state = 6313; + localctx.minextents = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===PlSqlParser.UNLIMITED || _la===PlSqlParser.UNSIGNED_INTEGER)) { + localctx.minextents = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.MAXEXTENTS: + this.state = 6314; + this.match(PlSqlParser.MAXEXTENTS); + this.state = 6315; + localctx.minextents = this._input.LT(1); + _la = this._input.LA(1); + if(!(_la===PlSqlParser.UNLIMITED || _la===PlSqlParser.UNSIGNED_INTEGER)) { + localctx.minextents = this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.PCTINCREASE: + this.state = 6316; + this.match(PlSqlParser.PCTINCREASE); + this.state = 6317; + localctx.pctincrease = this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.FREELISTS: + this.state = 6318; + this.match(PlSqlParser.FREELISTS); + this.state = 6319; + localctx.freelists = this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.FREELIST: + this.state = 6320; + this.match(PlSqlParser.FREELIST); + this.state = 6321; + this.match(PlSqlParser.GROUPS); + this.state = 6322; + localctx.freelist_groups = this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.OPTIMAL: + this.state = 6323; + this.match(PlSqlParser.OPTIMAL); + this.state = 6326; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6324; + this.size_clause(); + break; + case PlSqlParser.NULL_: + this.state = 6325; + this.match(PlSqlParser.NULL_); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case PlSqlParser.BUFFER_POOL: + this.state = 6328; + this.match(PlSqlParser.BUFFER_POOL); + this.state = 6329; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFAULT || _la===PlSqlParser.KEEP || _la===PlSqlParser.RECYCLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.FLASH_CACHE: + this.state = 6330; + this.match(PlSqlParser.FLASH_CACHE); + this.state = 6331; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFAULT || _la===PlSqlParser.KEEP || _la===PlSqlParser.NONE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.ENCRYPT: + this.state = 6332; + this.match(PlSqlParser.ENCRYPT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6335; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.BUFFER_POOL || _la===PlSqlParser.ENCRYPT || ((((_la - 533)) & ~0x1f) == 0 && ((1 << (_la - 533)) & ((1 << (PlSqlParser.FLASH_CACHE - 533)) | (1 << (PlSqlParser.FREELIST - 533)) | (1 << (PlSqlParser.FREELISTS - 533)))) !== 0) || _la===PlSqlParser.INITIAL || _la===PlSqlParser.MAXEXTENTS || _la===PlSqlParser.MINEXTENTS || _la===PlSqlParser.NEXT || _la===PlSqlParser.OPTIMAL || _la===PlSqlParser.PCTINCREASE); + this.state = 6337; + this.match(PlSqlParser.RIGHT_PAREN); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Deferred_segment_creationContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_deferred_segment_creation; + return this; +} + +Deferred_segment_creationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Deferred_segment_creationContext.prototype.constructor = Deferred_segment_creationContext; + +Deferred_segment_creationContext.prototype.SEGMENT = function() { + return this.getToken(PlSqlParser.SEGMENT, 0); +}; + +Deferred_segment_creationContext.prototype.CREATION = function() { + return this.getToken(PlSqlParser.CREATION, 0); +}; + +Deferred_segment_creationContext.prototype.IMMEDIATE = function() { + return this.getToken(PlSqlParser.IMMEDIATE, 0); +}; + +Deferred_segment_creationContext.prototype.DEFERRED = function() { + return this.getToken(PlSqlParser.DEFERRED, 0); +}; + +Deferred_segment_creationContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDeferred_segment_creation(this); + } +}; + +Deferred_segment_creationContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDeferred_segment_creation(this); + } +}; + +Deferred_segment_creationContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDeferred_segment_creation(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Deferred_segment_creationContext = Deferred_segment_creationContext; + +PlSqlParser.prototype.deferred_segment_creation = function() { + + var localctx = new Deferred_segment_creationContext(this, this._ctx, this.state); + this.enterRule(localctx, 614, PlSqlParser.RULE_deferred_segment_creation); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6339; + this.match(PlSqlParser.SEGMENT); + this.state = 6340; + this.match(PlSqlParser.CREATION); + this.state = 6341; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFERRED || _la===PlSqlParser.IMMEDIATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Segment_attributes_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_segment_attributes_clause; + this.tablespace_name = null; // Id_expressionContext + return this; +} + +Segment_attributes_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Segment_attributes_clauseContext.prototype.constructor = Segment_attributes_clauseContext; + +Segment_attributes_clauseContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Segment_attributes_clauseContext.prototype.TABLESPACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLESPACE); + } else { + return this.getToken(PlSqlParser.TABLESPACE, i); + } +}; + + +Segment_attributes_clauseContext.prototype.logging_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logging_clauseContext); + } else { + return this.getTypedRuleContext(Logging_clauseContext,i); + } +}; + +Segment_attributes_clauseContext.prototype.id_expression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Id_expressionContext); + } else { + return this.getTypedRuleContext(Id_expressionContext,i); + } +}; + +Segment_attributes_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSegment_attributes_clause(this); + } +}; + +Segment_attributes_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSegment_attributes_clause(this); + } +}; + +Segment_attributes_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSegment_attributes_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Segment_attributes_clauseContext = Segment_attributes_clauseContext; + +PlSqlParser.prototype.segment_attributes_clause = function() { + + var localctx = new Segment_attributes_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 616, PlSqlParser.RULE_segment_attributes_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6347; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 6347; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 6343; + this.physical_attributes_clause(); + break; + case PlSqlParser.TABLESPACE: + this.state = 6344; + this.match(PlSqlParser.TABLESPACE); + this.state = 6345; + localctx.tablespace_name = this.id_expression(); + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.state = 6346; + this.logging_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6349; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,748, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Physical_propertiesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_physical_properties; + return this; +} + +Physical_propertiesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Physical_propertiesContext.prototype.constructor = Physical_propertiesContext; + +Physical_propertiesContext.prototype.segment_attributes_clause = function() { + return this.getTypedRuleContext(Segment_attributes_clauseContext,0); +}; + +Physical_propertiesContext.prototype.deferred_segment_creation = function() { + return this.getTypedRuleContext(Deferred_segment_creationContext,0); +}; + +Physical_propertiesContext.prototype.table_compression = function() { + return this.getTypedRuleContext(Table_compressionContext,0); +}; + +Physical_propertiesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPhysical_properties(this); + } +}; + +Physical_propertiesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPhysical_properties(this); + } +}; + +Physical_propertiesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPhysical_properties(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Physical_propertiesContext = Physical_propertiesContext; + +PlSqlParser.prototype.physical_properties = function() { + + var localctx = new Physical_propertiesContext(this, this._ctx, this.state); + this.enterRule(localctx, 618, PlSqlParser.RULE_physical_properties); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6352; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SEGMENT) { + this.state = 6351; + this.deferred_segment_creation(); + } + + this.state = 6354; + this.segment_attributes_clause(); + this.state = 6356; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.NOCOMPRESS) { + this.state = 6355; + this.table_compression(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Row_movement_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_row_movement_clause; + return this; +} + +Row_movement_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Row_movement_clauseContext.prototype.constructor = Row_movement_clauseContext; + +Row_movement_clauseContext.prototype.ROW = function() { + return this.getToken(PlSqlParser.ROW, 0); +}; + +Row_movement_clauseContext.prototype.MOVEMENT = function() { + return this.getToken(PlSqlParser.MOVEMENT, 0); +}; + +Row_movement_clauseContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +Row_movement_clauseContext.prototype.DISABLE = function() { + return this.getToken(PlSqlParser.DISABLE, 0); +}; + +Row_movement_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRow_movement_clause(this); + } +}; + +Row_movement_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRow_movement_clause(this); + } +}; + +Row_movement_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRow_movement_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Row_movement_clauseContext = Row_movement_clauseContext; + +PlSqlParser.prototype.row_movement_clause = function() { + + var localctx = new Row_movement_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 620, PlSqlParser.RULE_row_movement_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6359; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE) { + this.state = 6358; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 6361; + this.match(PlSqlParser.ROW); + this.state = 6362; + this.match(PlSqlParser.MOVEMENT); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Flashback_archive_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_flashback_archive_clause; + this.flashback_archive = null; // Token + return this; +} + +Flashback_archive_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Flashback_archive_clauseContext.prototype.constructor = Flashback_archive_clauseContext; + +Flashback_archive_clauseContext.prototype.FLASHBACK = function() { + return this.getToken(PlSqlParser.FLASHBACK, 0); +}; + +Flashback_archive_clauseContext.prototype.ARCHIVE = function() { + return this.getToken(PlSqlParser.ARCHIVE, 0); +}; + +Flashback_archive_clauseContext.prototype.REGULAR_ID = function() { + return this.getToken(PlSqlParser.REGULAR_ID, 0); +}; + +Flashback_archive_clauseContext.prototype.NO = function() { + return this.getToken(PlSqlParser.NO, 0); +}; + +Flashback_archive_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFlashback_archive_clause(this); + } +}; + +Flashback_archive_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFlashback_archive_clause(this); + } +}; + +Flashback_archive_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFlashback_archive_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Flashback_archive_clauseContext = Flashback_archive_clauseContext; + +PlSqlParser.prototype.flashback_archive_clause = function() { + + var localctx = new Flashback_archive_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 622, PlSqlParser.RULE_flashback_archive_clause); + try { + this.state = 6370; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.FLASHBACK: + this.enterOuterAlt(localctx, 1); + this.state = 6364; + this.match(PlSqlParser.FLASHBACK); + this.state = 6365; + this.match(PlSqlParser.ARCHIVE); + this.state = 6366; + localctx.flashback_archive = this.match(PlSqlParser.REGULAR_ID); + break; + case PlSqlParser.NO: + this.enterOuterAlt(localctx, 2); + this.state = 6367; + this.match(PlSqlParser.NO); + this.state = 6368; + this.match(PlSqlParser.FLASHBACK); + this.state = 6369; + this.match(PlSqlParser.ARCHIVE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Log_grpContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_log_grp; + return this; +} + +Log_grpContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Log_grpContext.prototype.constructor = Log_grpContext; + +Log_grpContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Log_grpContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLog_grp(this); + } +}; + +Log_grpContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLog_grp(this); + } +}; + +Log_grpContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLog_grp(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Log_grpContext = Log_grpContext; + +PlSqlParser.prototype.log_grp = function() { + + var localctx = new Log_grpContext(this, this._ctx, this.state); + this.enterRule(localctx, 624, PlSqlParser.RULE_log_grp); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6372; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Supplemental_table_loggingContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_supplemental_table_logging; + return this; +} + +Supplemental_table_loggingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Supplemental_table_loggingContext.prototype.constructor = Supplemental_table_loggingContext; + +Supplemental_table_loggingContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Supplemental_table_loggingContext.prototype.SUPPLEMENTAL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SUPPLEMENTAL); + } else { + return this.getToken(PlSqlParser.SUPPLEMENTAL, i); + } +}; + + +Supplemental_table_loggingContext.prototype.LOG = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LOG); + } else { + return this.getToken(PlSqlParser.LOG, i); + } +}; + + +Supplemental_table_loggingContext.prototype.supplemental_log_grp_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Supplemental_log_grp_clauseContext); + } else { + return this.getTypedRuleContext(Supplemental_log_grp_clauseContext,i); + } +}; + +Supplemental_table_loggingContext.prototype.supplemental_id_key_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Supplemental_id_key_clauseContext); + } else { + return this.getTypedRuleContext(Supplemental_id_key_clauseContext,i); + } +}; + +Supplemental_table_loggingContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Supplemental_table_loggingContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Supplemental_table_loggingContext.prototype.GROUP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.GROUP); + } else { + return this.getToken(PlSqlParser.GROUP, i); + } +}; + + +Supplemental_table_loggingContext.prototype.log_grp = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Log_grpContext); + } else { + return this.getTypedRuleContext(Log_grpContext,i); + } +}; + +Supplemental_table_loggingContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSupplemental_table_logging(this); + } +}; + +Supplemental_table_loggingContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSupplemental_table_logging(this); + } +}; + +Supplemental_table_loggingContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSupplemental_table_logging(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Supplemental_table_loggingContext = Supplemental_table_loggingContext; + +PlSqlParser.prototype.supplemental_table_logging = function() { + + var localctx = new Supplemental_table_loggingContext(this, this._ctx, this.state); + this.enterRule(localctx, 626, PlSqlParser.RULE_supplemental_table_logging); + var _la = 0; // Token type + try { + this.state = 6414; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ADD: + this.enterOuterAlt(localctx, 1); + this.state = 6374; + this.match(PlSqlParser.ADD); + this.state = 6375; + this.match(PlSqlParser.SUPPLEMENTAL); + this.state = 6376; + this.match(PlSqlParser.LOG); + this.state = 6379; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.GROUP: + this.state = 6377; + this.supplemental_log_grp_clause(); + break; + case PlSqlParser.DATA: + this.state = 6378; + this.supplemental_id_key_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6390; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6381; + this.match(PlSqlParser.COMMA); + this.state = 6382; + this.match(PlSqlParser.SUPPLEMENTAL); + this.state = 6383; + this.match(PlSqlParser.LOG); + this.state = 6386; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.GROUP: + this.state = 6384; + this.supplemental_log_grp_clause(); + break; + case PlSqlParser.DATA: + this.state = 6385; + this.supplemental_id_key_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6392; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.DROP: + this.enterOuterAlt(localctx, 2); + this.state = 6393; + this.match(PlSqlParser.DROP); + this.state = 6394; + this.match(PlSqlParser.SUPPLEMENTAL); + this.state = 6395; + this.match(PlSqlParser.LOG); + this.state = 6399; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DATA: + this.state = 6396; + this.supplemental_id_key_clause(); + break; + case PlSqlParser.GROUP: + this.state = 6397; + this.match(PlSqlParser.GROUP); + this.state = 6398; + this.log_grp(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6411; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6401; + this.match(PlSqlParser.COMMA); + this.state = 6402; + this.match(PlSqlParser.SUPPLEMENTAL); + this.state = 6403; + this.match(PlSqlParser.LOG); + this.state = 6407; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.DATA: + this.state = 6404; + this.supplemental_id_key_clause(); + break; + case PlSqlParser.GROUP: + this.state = 6405; + this.match(PlSqlParser.GROUP); + this.state = 6406; + this.log_grp(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6413; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Supplemental_log_grp_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_supplemental_log_grp_clause; + return this; +} + +Supplemental_log_grp_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Supplemental_log_grp_clauseContext.prototype.constructor = Supplemental_log_grp_clauseContext; + +Supplemental_log_grp_clauseContext.prototype.GROUP = function() { + return this.getToken(PlSqlParser.GROUP, 0); +}; + +Supplemental_log_grp_clauseContext.prototype.log_grp = function() { + return this.getTypedRuleContext(Log_grpContext,0); +}; + +Supplemental_log_grp_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Supplemental_log_grp_clauseContext.prototype.regular_id = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Regular_idContext); + } else { + return this.getTypedRuleContext(Regular_idContext,i); + } +}; + +Supplemental_log_grp_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Supplemental_log_grp_clauseContext.prototype.NO = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NO); + } else { + return this.getToken(PlSqlParser.NO, i); + } +}; + + +Supplemental_log_grp_clauseContext.prototype.LOG = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LOG); + } else { + return this.getToken(PlSqlParser.LOG, i); + } +}; + + +Supplemental_log_grp_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Supplemental_log_grp_clauseContext.prototype.ALWAYS = function() { + return this.getToken(PlSqlParser.ALWAYS, 0); +}; + +Supplemental_log_grp_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSupplemental_log_grp_clause(this); + } +}; + +Supplemental_log_grp_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSupplemental_log_grp_clause(this); + } +}; + +Supplemental_log_grp_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSupplemental_log_grp_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Supplemental_log_grp_clauseContext = Supplemental_log_grp_clauseContext; + +PlSqlParser.prototype.supplemental_log_grp_clause = function() { + + var localctx = new Supplemental_log_grp_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 628, PlSqlParser.RULE_supplemental_log_grp_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6416; + this.match(PlSqlParser.GROUP); + this.state = 6417; + this.log_grp(); + this.state = 6418; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6419; + this.regular_id(); + this.state = 6422; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NO) { + this.state = 6420; + this.match(PlSqlParser.NO); + this.state = 6421; + this.match(PlSqlParser.LOG); + } + + this.state = 6432; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6424; + this.match(PlSqlParser.COMMA); + this.state = 6425; + this.regular_id(); + this.state = 6428; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NO) { + this.state = 6426; + this.match(PlSqlParser.NO); + this.state = 6427; + this.match(PlSqlParser.LOG); + } + + this.state = 6434; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6435; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 6437; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ALWAYS) { + this.state = 6436; + this.match(PlSqlParser.ALWAYS); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Supplemental_id_key_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_supplemental_id_key_clause; + return this; +} + +Supplemental_id_key_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Supplemental_id_key_clauseContext.prototype.constructor = Supplemental_id_key_clauseContext; + +Supplemental_id_key_clauseContext.prototype.DATA = function() { + return this.getToken(PlSqlParser.DATA, 0); +}; + +Supplemental_id_key_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Supplemental_id_key_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Supplemental_id_key_clauseContext.prototype.COLUMNS = function() { + return this.getToken(PlSqlParser.COLUMNS, 0); +}; + +Supplemental_id_key_clauseContext.prototype.ALL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ALL); + } else { + return this.getToken(PlSqlParser.ALL, i); + } +}; + + +Supplemental_id_key_clauseContext.prototype.PRIMARY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PRIMARY); + } else { + return this.getToken(PlSqlParser.PRIMARY, i); + } +}; + + +Supplemental_id_key_clauseContext.prototype.KEY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.KEY); + } else { + return this.getToken(PlSqlParser.KEY, i); + } +}; + + +Supplemental_id_key_clauseContext.prototype.UNIQUE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNIQUE); + } else { + return this.getToken(PlSqlParser.UNIQUE, i); + } +}; + + +Supplemental_id_key_clauseContext.prototype.FOREIGN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FOREIGN); + } else { + return this.getToken(PlSqlParser.FOREIGN, i); + } +}; + + +Supplemental_id_key_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Supplemental_id_key_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSupplemental_id_key_clause(this); + } +}; + +Supplemental_id_key_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSupplemental_id_key_clause(this); + } +}; + +Supplemental_id_key_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSupplemental_id_key_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Supplemental_id_key_clauseContext = Supplemental_id_key_clauseContext; + +PlSqlParser.prototype.supplemental_id_key_clause = function() { + + var localctx = new Supplemental_id_key_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 630, PlSqlParser.RULE_supplemental_id_key_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6439; + this.match(PlSqlParser.DATA); + this.state = 6440; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6452; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6442; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 6441; + this.match(PlSqlParser.COMMA); + } + + this.state = 6450; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ALL: + this.state = 6444; + this.match(PlSqlParser.ALL); + break; + case PlSqlParser.PRIMARY: + this.state = 6445; + this.match(PlSqlParser.PRIMARY); + this.state = 6446; + this.match(PlSqlParser.KEY); + break; + case PlSqlParser.UNIQUE: + this.state = 6447; + this.match(PlSqlParser.UNIQUE); + break; + case PlSqlParser.FOREIGN: + this.state = 6448; + this.match(PlSqlParser.FOREIGN); + this.state = 6449; + this.match(PlSqlParser.KEY); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6454; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ALL || _la===PlSqlParser.FOREIGN || _la===PlSqlParser.PRIMARY || _la===PlSqlParser.UNIQUE || _la===PlSqlParser.COMMA); + this.state = 6456; + this.match(PlSqlParser.RIGHT_PAREN); + this.state = 6457; + this.match(PlSqlParser.COLUMNS); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Allocate_extent_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_allocate_extent_clause; + this.datafile = null; // Token + this.inst_num = null; // Token + return this; +} + +Allocate_extent_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Allocate_extent_clauseContext.prototype.constructor = Allocate_extent_clauseContext; + +Allocate_extent_clauseContext.prototype.ALLOCATE = function() { + return this.getToken(PlSqlParser.ALLOCATE, 0); +}; + +Allocate_extent_clauseContext.prototype.EXTENT = function() { + return this.getToken(PlSqlParser.EXTENT, 0); +}; + +Allocate_extent_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Allocate_extent_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Allocate_extent_clauseContext.prototype.SIZE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SIZE); + } else { + return this.getToken(PlSqlParser.SIZE, i); + } +}; + + +Allocate_extent_clauseContext.prototype.size_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Size_clauseContext); + } else { + return this.getTypedRuleContext(Size_clauseContext,i); + } +}; + +Allocate_extent_clauseContext.prototype.DATAFILE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DATAFILE); + } else { + return this.getToken(PlSqlParser.DATAFILE, i); + } +}; + + +Allocate_extent_clauseContext.prototype.INSTANCE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.INSTANCE); + } else { + return this.getToken(PlSqlParser.INSTANCE, i); + } +}; + + +Allocate_extent_clauseContext.prototype.CHAR_STRING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHAR_STRING); + } else { + return this.getToken(PlSqlParser.CHAR_STRING, i); + } +}; + + +Allocate_extent_clauseContext.prototype.UNSIGNED_INTEGER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNSIGNED_INTEGER); + } else { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, i); + } +}; + + +Allocate_extent_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAllocate_extent_clause(this); + } +}; + +Allocate_extent_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAllocate_extent_clause(this); + } +}; + +Allocate_extent_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAllocate_extent_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Allocate_extent_clauseContext = Allocate_extent_clauseContext; + +PlSqlParser.prototype.allocate_extent_clause = function() { + + var localctx = new Allocate_extent_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 632, PlSqlParser.RULE_allocate_extent_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6459; + this.match(PlSqlParser.ALLOCATE); + this.state = 6460; + this.match(PlSqlParser.EXTENT); + this.state = 6473; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 6461; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 6468; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6468; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.SIZE: + this.state = 6462; + this.match(PlSqlParser.SIZE); + this.state = 6463; + this.size_clause(); + break; + case PlSqlParser.DATAFILE: + this.state = 6464; + this.match(PlSqlParser.DATAFILE); + this.state = 6465; + localctx.datafile = this.match(PlSqlParser.CHAR_STRING); + break; + case PlSqlParser.INSTANCE: + this.state = 6466; + this.match(PlSqlParser.INSTANCE); + this.state = 6467; + localctx.inst_num = this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6470; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.DATAFILE || _la===PlSqlParser.INSTANCE || _la===PlSqlParser.SIZE); + this.state = 6472; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Deallocate_unused_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_deallocate_unused_clause; + return this; +} + +Deallocate_unused_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Deallocate_unused_clauseContext.prototype.constructor = Deallocate_unused_clauseContext; + +Deallocate_unused_clauseContext.prototype.DEALLOCATE = function() { + return this.getToken(PlSqlParser.DEALLOCATE, 0); +}; + +Deallocate_unused_clauseContext.prototype.UNUSED = function() { + return this.getToken(PlSqlParser.UNUSED, 0); +}; + +Deallocate_unused_clauseContext.prototype.KEEP = function() { + return this.getToken(PlSqlParser.KEEP, 0); +}; + +Deallocate_unused_clauseContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Deallocate_unused_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDeallocate_unused_clause(this); + } +}; + +Deallocate_unused_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDeallocate_unused_clause(this); + } +}; + +Deallocate_unused_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDeallocate_unused_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Deallocate_unused_clauseContext = Deallocate_unused_clauseContext; + +PlSqlParser.prototype.deallocate_unused_clause = function() { + + var localctx = new Deallocate_unused_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 634, PlSqlParser.RULE_deallocate_unused_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6475; + this.match(PlSqlParser.DEALLOCATE); + this.state = 6476; + this.match(PlSqlParser.UNUSED); + this.state = 6479; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.KEEP) { + this.state = 6477; + this.match(PlSqlParser.KEEP); + this.state = 6478; + this.size_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Shrink_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_shrink_clause; + return this; +} + +Shrink_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Shrink_clauseContext.prototype.constructor = Shrink_clauseContext; + +Shrink_clauseContext.prototype.SHRINK = function() { + return this.getToken(PlSqlParser.SHRINK, 0); +}; + +Shrink_clauseContext.prototype.SPACE_KEYWORD = function() { + return this.getToken(PlSqlParser.SPACE_KEYWORD, 0); +}; + +Shrink_clauseContext.prototype.COMPACT = function() { + return this.getToken(PlSqlParser.COMPACT, 0); +}; + +Shrink_clauseContext.prototype.CASCADE = function() { + return this.getToken(PlSqlParser.CASCADE, 0); +}; + +Shrink_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterShrink_clause(this); + } +}; + +Shrink_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitShrink_clause(this); + } +}; + +Shrink_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitShrink_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Shrink_clauseContext = Shrink_clauseContext; + +PlSqlParser.prototype.shrink_clause = function() { + + var localctx = new Shrink_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 636, PlSqlParser.RULE_shrink_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6481; + this.match(PlSqlParser.SHRINK); + this.state = 6482; + this.match(PlSqlParser.SPACE_KEYWORD); + this.state = 6484; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPACT) { + this.state = 6483; + this.match(PlSqlParser.COMPACT); + } + + this.state = 6487; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CASCADE) { + this.state = 6486; + this.match(PlSqlParser.CASCADE); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Records_per_block_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_records_per_block_clause; + return this; +} + +Records_per_block_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Records_per_block_clauseContext.prototype.constructor = Records_per_block_clauseContext; + +Records_per_block_clauseContext.prototype.RECORDS_PER_BLOCK = function() { + return this.getToken(PlSqlParser.RECORDS_PER_BLOCK, 0); +}; + +Records_per_block_clauseContext.prototype.MINIMIZE = function() { + return this.getToken(PlSqlParser.MINIMIZE, 0); +}; + +Records_per_block_clauseContext.prototype.NOMINIMIZE = function() { + return this.getToken(PlSqlParser.NOMINIMIZE, 0); +}; + +Records_per_block_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRecords_per_block_clause(this); + } +}; + +Records_per_block_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRecords_per_block_clause(this); + } +}; + +Records_per_block_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRecords_per_block_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Records_per_block_clauseContext = Records_per_block_clauseContext; + +PlSqlParser.prototype.records_per_block_clause = function() { + + var localctx = new Records_per_block_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 638, PlSqlParser.RULE_records_per_block_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6490; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.MINIMIZE || _la===PlSqlParser.NOMINIMIZE) { + this.state = 6489; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.MINIMIZE || _la===PlSqlParser.NOMINIMIZE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 6492; + this.match(PlSqlParser.RECORDS_PER_BLOCK); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Upgrade_table_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_upgrade_table_clause; + return this; +} + +Upgrade_table_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Upgrade_table_clauseContext.prototype.constructor = Upgrade_table_clauseContext; + +Upgrade_table_clauseContext.prototype.UPGRADE = function() { + return this.getToken(PlSqlParser.UPGRADE, 0); +}; + +Upgrade_table_clauseContext.prototype.column_properties = function() { + return this.getTypedRuleContext(Column_propertiesContext,0); +}; + +Upgrade_table_clauseContext.prototype.INCLUDING = function() { + return this.getToken(PlSqlParser.INCLUDING, 0); +}; + +Upgrade_table_clauseContext.prototype.DATA = function() { + return this.getToken(PlSqlParser.DATA, 0); +}; + +Upgrade_table_clauseContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Upgrade_table_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUpgrade_table_clause(this); + } +}; + +Upgrade_table_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUpgrade_table_clause(this); + } +}; + +Upgrade_table_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUpgrade_table_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Upgrade_table_clauseContext = Upgrade_table_clauseContext; + +PlSqlParser.prototype.upgrade_table_clause = function() { + + var localctx = new Upgrade_table_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 640, PlSqlParser.RULE_upgrade_table_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6494; + this.match(PlSqlParser.UPGRADE); + + this.state = 6496; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 6495; + this.match(PlSqlParser.NOT); + } + + this.state = 6498; + this.match(PlSqlParser.INCLUDING); + this.state = 6499; + this.match(PlSqlParser.DATA); + this.state = 6501; + this.column_properties(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_table; + return this; +} + +Drop_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_tableContext.prototype.constructor = Drop_tableContext; + +Drop_tableContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_tableContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Drop_tableContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Drop_tableContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_tableContext.prototype.PURGE = function() { + return this.getToken(PlSqlParser.PURGE, 0); +}; + +Drop_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_table(this); + } +}; + +Drop_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_table(this); + } +}; + +Drop_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_tableContext = Drop_tableContext; + +PlSqlParser.prototype.drop_table = function() { + + var localctx = new Drop_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 642, PlSqlParser.RULE_drop_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6503; + this.match(PlSqlParser.DROP); + this.state = 6504; + this.match(PlSqlParser.TABLE); + this.state = 6505; + this.tableview_name(); + this.state = 6507; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PURGE) { + this.state = 6506; + this.match(PlSqlParser.PURGE); + } + + this.state = 6509; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_viewContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_view; + return this; +} + +Drop_viewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_viewContext.prototype.constructor = Drop_viewContext; + +Drop_viewContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_viewContext.prototype.VIEW = function() { + return this.getToken(PlSqlParser.VIEW, 0); +}; + +Drop_viewContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Drop_viewContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Drop_viewContext.prototype.CASCADE = function() { + return this.getToken(PlSqlParser.CASCADE, 0); +}; + +Drop_viewContext.prototype.CONSTRAINT = function() { + return this.getToken(PlSqlParser.CONSTRAINT, 0); +}; + +Drop_viewContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_view(this); + } +}; + +Drop_viewContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_view(this); + } +}; + +Drop_viewContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_view(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_viewContext = Drop_viewContext; + +PlSqlParser.prototype.drop_view = function() { + + var localctx = new Drop_viewContext(this, this._ctx, this.state); + this.enterRule(localctx, 644, PlSqlParser.RULE_drop_view); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6511; + this.match(PlSqlParser.DROP); + this.state = 6512; + this.match(PlSqlParser.VIEW); + this.state = 6513; + this.tableview_name(); + this.state = 6516; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CASCADE) { + this.state = 6514; + this.match(PlSqlParser.CASCADE); + this.state = 6515; + this.match(PlSqlParser.CONSTRAINT); + } + + this.state = 6518; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Comment_on_columnContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_comment_on_column; + return this; +} + +Comment_on_columnContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Comment_on_columnContext.prototype.constructor = Comment_on_columnContext; + +Comment_on_columnContext.prototype.COMMENT = function() { + return this.getToken(PlSqlParser.COMMENT, 0); +}; + +Comment_on_columnContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Comment_on_columnContext.prototype.COLUMN = function() { + return this.getToken(PlSqlParser.COLUMN, 0); +}; + +Comment_on_columnContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Comment_on_columnContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Comment_on_columnContext.prototype.quoted_string = function() { + return this.getTypedRuleContext(Quoted_stringContext,0); +}; + +Comment_on_columnContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterComment_on_column(this); + } +}; + +Comment_on_columnContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitComment_on_column(this); + } +}; + +Comment_on_columnContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitComment_on_column(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Comment_on_columnContext = Comment_on_columnContext; + +PlSqlParser.prototype.comment_on_column = function() { + + var localctx = new Comment_on_columnContext(this, this._ctx, this.state); + this.enterRule(localctx, 646, PlSqlParser.RULE_comment_on_column); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6520; + this.match(PlSqlParser.COMMENT); + this.state = 6521; + this.match(PlSqlParser.ON); + this.state = 6522; + this.match(PlSqlParser.COLUMN); + this.state = 6523; + this.column_name(); + this.state = 6524; + this.match(PlSqlParser.IS); + this.state = 6525; + this.quoted_string(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Enable_or_disableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_enable_or_disable; + return this; +} + +Enable_or_disableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Enable_or_disableContext.prototype.constructor = Enable_or_disableContext; + +Enable_or_disableContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +Enable_or_disableContext.prototype.DISABLE = function() { + return this.getToken(PlSqlParser.DISABLE, 0); +}; + +Enable_or_disableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterEnable_or_disable(this); + } +}; + +Enable_or_disableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitEnable_or_disable(this); + } +}; + +Enable_or_disableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitEnable_or_disable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Enable_or_disableContext = Enable_or_disableContext; + +PlSqlParser.prototype.enable_or_disable = function() { + + var localctx = new Enable_or_disableContext(this, this._ctx, this.state); + this.enterRule(localctx, 648, PlSqlParser.RULE_enable_or_disable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6527; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Allow_or_disallowContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_allow_or_disallow; + return this; +} + +Allow_or_disallowContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Allow_or_disallowContext.prototype.constructor = Allow_or_disallowContext; + +Allow_or_disallowContext.prototype.ALLOW = function() { + return this.getToken(PlSqlParser.ALLOW, 0); +}; + +Allow_or_disallowContext.prototype.DISALLOW = function() { + return this.getToken(PlSqlParser.DISALLOW, 0); +}; + +Allow_or_disallowContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAllow_or_disallow(this); + } +}; + +Allow_or_disallowContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAllow_or_disallow(this); + } +}; + +Allow_or_disallowContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAllow_or_disallow(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Allow_or_disallowContext = Allow_or_disallowContext; + +PlSqlParser.prototype.allow_or_disallow = function() { + + var localctx = new Allow_or_disallowContext(this, this._ctx, this.state); + this.enterRule(localctx, 650, PlSqlParser.RULE_allow_or_disallow); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6529; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ALLOW || _la===PlSqlParser.DISALLOW)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_synonymContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_synonym; + return this; +} + +Create_synonymContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_synonymContext.prototype.constructor = Create_synonymContext; + +Create_synonymContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_synonymContext.prototype.PUBLIC = function() { + return this.getToken(PlSqlParser.PUBLIC, 0); +}; + +Create_synonymContext.prototype.SYNONYM = function() { + return this.getToken(PlSqlParser.SYNONYM, 0); +}; + +Create_synonymContext.prototype.synonym_name = function() { + return this.getTypedRuleContext(Synonym_nameContext,0); +}; + +Create_synonymContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Create_synonymContext.prototype.schema_object_name = function() { + return this.getTypedRuleContext(Schema_object_nameContext,0); +}; + +Create_synonymContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Create_synonymContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Create_synonymContext.prototype.schema_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Schema_nameContext); + } else { + return this.getTypedRuleContext(Schema_nameContext,i); + } +}; + +Create_synonymContext.prototype.PERIOD = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PERIOD); + } else { + return this.getToken(PlSqlParser.PERIOD, i); + } +}; + + +Create_synonymContext.prototype.AT_SIGN = function() { + return this.getToken(PlSqlParser.AT_SIGN, 0); +}; + +Create_synonymContext.prototype.link_name = function() { + return this.getTypedRuleContext(Link_nameContext,0); +}; + +Create_synonymContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_synonym(this); + } +}; + +Create_synonymContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_synonym(this); + } +}; + +Create_synonymContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_synonym(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_synonymContext = Create_synonymContext; + +PlSqlParser.prototype.create_synonym = function() { + + var localctx = new Create_synonymContext(this, this._ctx, this.state); + this.enterRule(localctx, 652, PlSqlParser.RULE_create_synonym); + var _la = 0; // Token type + try { + this.state = 6573; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,784,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 6531; + this.match(PlSqlParser.CREATE); + this.state = 6534; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 6532; + this.match(PlSqlParser.OR); + this.state = 6533; + this.match(PlSqlParser.REPLACE); + } + + this.state = 6536; + this.match(PlSqlParser.PUBLIC); + this.state = 6537; + this.match(PlSqlParser.SYNONYM); + this.state = 6538; + this.synonym_name(); + this.state = 6539; + this.match(PlSqlParser.FOR); + this.state = 6543; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,778,this._ctx); + if(la_===1) { + this.state = 6540; + this.schema_name(); + this.state = 6541; + this.match(PlSqlParser.PERIOD); + + } + this.state = 6545; + this.schema_object_name(); + this.state = 6548; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,779,this._ctx); + if(la_===1) { + this.state = 6546; + this.match(PlSqlParser.AT_SIGN); + this.state = 6547; + this.link_name(); + + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 6550; + this.match(PlSqlParser.CREATE); + this.state = 6553; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 6551; + this.match(PlSqlParser.OR); + this.state = 6552; + this.match(PlSqlParser.REPLACE); + } + + this.state = 6555; + this.match(PlSqlParser.SYNONYM); + this.state = 6559; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,781,this._ctx); + if(la_===1) { + this.state = 6556; + this.schema_name(); + this.state = 6557; + this.match(PlSqlParser.PERIOD); + + } + this.state = 6561; + this.synonym_name(); + this.state = 6562; + this.match(PlSqlParser.FOR); + this.state = 6566; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,782,this._ctx); + if(la_===1) { + this.state = 6563; + this.schema_name(); + this.state = 6564; + this.match(PlSqlParser.PERIOD); + + } + this.state = 6568; + this.schema_object_name(); + this.state = 6571; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,783,this._ctx); + if(la_===1) { + this.state = 6569; + this.match(PlSqlParser.AT_SIGN); + this.state = 6570; + this.link_name(); + + } + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Comment_on_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_comment_on_table; + return this; +} + +Comment_on_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Comment_on_tableContext.prototype.constructor = Comment_on_tableContext; + +Comment_on_tableContext.prototype.COMMENT = function() { + return this.getToken(PlSqlParser.COMMENT, 0); +}; + +Comment_on_tableContext.prototype.ON = function() { + return this.getToken(PlSqlParser.ON, 0); +}; + +Comment_on_tableContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Comment_on_tableContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Comment_on_tableContext.prototype.IS = function() { + return this.getToken(PlSqlParser.IS, 0); +}; + +Comment_on_tableContext.prototype.quoted_string = function() { + return this.getTypedRuleContext(Quoted_stringContext,0); +}; + +Comment_on_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterComment_on_table(this); + } +}; + +Comment_on_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitComment_on_table(this); + } +}; + +Comment_on_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitComment_on_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Comment_on_tableContext = Comment_on_tableContext; + +PlSqlParser.prototype.comment_on_table = function() { + + var localctx = new Comment_on_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 654, PlSqlParser.RULE_comment_on_table); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6575; + this.match(PlSqlParser.COMMENT); + this.state = 6576; + this.match(PlSqlParser.ON); + this.state = 6577; + this.match(PlSqlParser.TABLE); + this.state = 6578; + this.tableview_name(); + this.state = 6579; + this.match(PlSqlParser.IS); + this.state = 6580; + this.quoted_string(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_clusterContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_cluster; + return this; +} + +Alter_clusterContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_clusterContext.prototype.constructor = Alter_clusterContext; + +Alter_clusterContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_clusterContext.prototype.CLUSTER = function() { + return this.getToken(PlSqlParser.CLUSTER, 0); +}; + +Alter_clusterContext.prototype.cluster_name = function() { + return this.getTypedRuleContext(Cluster_nameContext,0); +}; + +Alter_clusterContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_clusterContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Alter_clusterContext.prototype.SIZE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SIZE); + } else { + return this.getToken(PlSqlParser.SIZE, i); + } +}; + + +Alter_clusterContext.prototype.size_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Size_clauseContext); + } else { + return this.getTypedRuleContext(Size_clauseContext,i); + } +}; + +Alter_clusterContext.prototype.allocate_extent_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Allocate_extent_clauseContext); + } else { + return this.getTypedRuleContext(Allocate_extent_clauseContext,i); + } +}; + +Alter_clusterContext.prototype.deallocate_unused_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Deallocate_unused_clauseContext); + } else { + return this.getTypedRuleContext(Deallocate_unused_clauseContext,i); + } +}; + +Alter_clusterContext.prototype.cache_or_nocache = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Cache_or_nocacheContext); + } else { + return this.getTypedRuleContext(Cache_or_nocacheContext,i); + } +}; + +Alter_clusterContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Alter_clusterContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_cluster(this); + } +}; + +Alter_clusterContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_cluster(this); + } +}; + +Alter_clusterContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_cluster(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_clusterContext = Alter_clusterContext; + +PlSqlParser.prototype.alter_cluster = function() { + + var localctx = new Alter_clusterContext(this, this._ctx, this.state); + this.enterRule(localctx, 656, PlSqlParser.RULE_alter_cluster); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6582; + this.match(PlSqlParser.ALTER); + this.state = 6583; + this.match(PlSqlParser.CLUSTER); + this.state = 6584; + this.cluster_name(); + this.state = 6591; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6591; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 6585; + this.physical_attributes_clause(); + break; + case PlSqlParser.SIZE: + this.state = 6586; + this.match(PlSqlParser.SIZE); + this.state = 6587; + this.size_clause(); + break; + case PlSqlParser.ALLOCATE: + this.state = 6588; + this.allocate_extent_clause(); + break; + case PlSqlParser.DEALLOCATE: + this.state = 6589; + this.deallocate_unused_clause(); + break; + case PlSqlParser.CACHE: + case PlSqlParser.NOCACHE: + this.state = 6590; + this.cache_or_nocache(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6593; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ALLOCATE || _la===PlSqlParser.CACHE || _la===PlSqlParser.DEALLOCATE || _la===PlSqlParser.INITRANS || _la===PlSqlParser.NOCACHE || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.SIZE || _la===PlSqlParser.STORAGE); + this.state = 6596; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 6595; + this.parallel_clause(); + } + + this.state = 6598; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Cache_or_nocacheContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_cache_or_nocache; + return this; +} + +Cache_or_nocacheContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Cache_or_nocacheContext.prototype.constructor = Cache_or_nocacheContext; + +Cache_or_nocacheContext.prototype.CACHE = function() { + return this.getToken(PlSqlParser.CACHE, 0); +}; + +Cache_or_nocacheContext.prototype.NOCACHE = function() { + return this.getToken(PlSqlParser.NOCACHE, 0); +}; + +Cache_or_nocacheContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCache_or_nocache(this); + } +}; + +Cache_or_nocacheContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCache_or_nocache(this); + } +}; + +Cache_or_nocacheContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCache_or_nocache(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Cache_or_nocacheContext = Cache_or_nocacheContext; + +PlSqlParser.prototype.cache_or_nocache = function() { + + var localctx = new Cache_or_nocacheContext(this, this._ctx, this.state); + this.enterRule(localctx, 658, PlSqlParser.RULE_cache_or_nocache); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6600; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Database_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_database_name; + return this; +} + +Database_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Database_nameContext.prototype.constructor = Database_nameContext; + +Database_nameContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Database_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDatabase_name(this); + } +}; + +Database_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDatabase_name(this); + } +}; + +Database_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDatabase_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Database_nameContext = Database_nameContext; + +PlSqlParser.prototype.database_name = function() { + + var localctx = new Database_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 660, PlSqlParser.RULE_database_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6602; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_databaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_database; + return this; +} + +Alter_databaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_databaseContext.prototype.constructor = Alter_databaseContext; + +Alter_databaseContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_databaseContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Alter_databaseContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_databaseContext.prototype.startup_clauses = function() { + return this.getTypedRuleContext(Startup_clausesContext,0); +}; + +Alter_databaseContext.prototype.recovery_clauses = function() { + return this.getTypedRuleContext(Recovery_clausesContext,0); +}; + +Alter_databaseContext.prototype.database_file_clauses = function() { + return this.getTypedRuleContext(Database_file_clausesContext,0); +}; + +Alter_databaseContext.prototype.logfile_clauses = function() { + return this.getTypedRuleContext(Logfile_clausesContext,0); +}; + +Alter_databaseContext.prototype.controlfile_clauses = function() { + return this.getTypedRuleContext(Controlfile_clausesContext,0); +}; + +Alter_databaseContext.prototype.standby_database_clauses = function() { + return this.getTypedRuleContext(Standby_database_clausesContext,0); +}; + +Alter_databaseContext.prototype.default_settings_clause = function() { + return this.getTypedRuleContext(Default_settings_clauseContext,0); +}; + +Alter_databaseContext.prototype.instance_clauses = function() { + return this.getTypedRuleContext(Instance_clausesContext,0); +}; + +Alter_databaseContext.prototype.security_clause = function() { + return this.getTypedRuleContext(Security_clauseContext,0); +}; + +Alter_databaseContext.prototype.database_name = function() { + return this.getTypedRuleContext(Database_nameContext,0); +}; + +Alter_databaseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_database(this); + } +}; + +Alter_databaseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_database(this); + } +}; + +Alter_databaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_database(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_databaseContext = Alter_databaseContext; + +PlSqlParser.prototype.alter_database = function() { + + var localctx = new Alter_databaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 662, PlSqlParser.RULE_alter_database); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6604; + this.match(PlSqlParser.ALTER); + this.state = 6605; + this.match(PlSqlParser.DATABASE); + this.state = 6607; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,788,this._ctx); + if(la_===1) { + this.state = 6606; + this.database_name(); + + } + this.state = 6618; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,789,this._ctx); + switch(la_) { + case 1: + this.state = 6609; + this.startup_clauses(); + break; + + case 2: + this.state = 6610; + this.recovery_clauses(); + break; + + case 3: + this.state = 6611; + this.database_file_clauses(); + break; + + case 4: + this.state = 6612; + this.logfile_clauses(); + break; + + case 5: + this.state = 6613; + this.controlfile_clauses(); + break; + + case 6: + this.state = 6614; + this.standby_database_clauses(); + break; + + case 7: + this.state = 6615; + this.default_settings_clause(); + break; + + case 8: + this.state = 6616; + this.instance_clauses(); + break; + + case 9: + this.state = 6617; + this.security_clause(); + break; + + } + this.state = 6620; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Startup_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_startup_clauses; + return this; +} + +Startup_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Startup_clausesContext.prototype.constructor = Startup_clausesContext; + +Startup_clausesContext.prototype.MOUNT = function() { + return this.getToken(PlSqlParser.MOUNT, 0); +}; + +Startup_clausesContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Startup_clausesContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Startup_clausesContext.prototype.CLONE = function() { + return this.getToken(PlSqlParser.CLONE, 0); +}; + +Startup_clausesContext.prototype.OPEN = function() { + return this.getToken(PlSqlParser.OPEN, 0); +}; + +Startup_clausesContext.prototype.READ = function() { + return this.getToken(PlSqlParser.READ, 0); +}; + +Startup_clausesContext.prototype.WRITE = function() { + return this.getToken(PlSqlParser.WRITE, 0); +}; + +Startup_clausesContext.prototype.resetlogs_or_noresetlogs = function() { + return this.getTypedRuleContext(Resetlogs_or_noresetlogsContext,0); +}; + +Startup_clausesContext.prototype.upgrade_or_downgrade = function() { + return this.getTypedRuleContext(Upgrade_or_downgradeContext,0); +}; + +Startup_clausesContext.prototype.ONLY = function() { + return this.getToken(PlSqlParser.ONLY, 0); +}; + +Startup_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterStartup_clauses(this); + } +}; + +Startup_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitStartup_clauses(this); + } +}; + +Startup_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitStartup_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Startup_clausesContext = Startup_clausesContext; + +PlSqlParser.prototype.startup_clauses = function() { + + var localctx = new Startup_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 664, PlSqlParser.RULE_startup_clauses); + var _la = 0; // Token type + try { + this.state = 6641; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,794,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 6622; + this.match(PlSqlParser.MOUNT); + this.state = 6625; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CLONE || _la===PlSqlParser.STANDBY) { + this.state = 6623; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CLONE || _la===PlSqlParser.STANDBY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 6624; + this.match(PlSqlParser.DATABASE); + } + + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 6627; + this.match(PlSqlParser.OPEN); + this.state = 6630; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.READ) { + this.state = 6628; + this.match(PlSqlParser.READ); + this.state = 6629; + this.match(PlSqlParser.WRITE); + } + + this.state = 6633; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NORESETLOGS || _la===PlSqlParser.RESETLOGS) { + this.state = 6632; + this.resetlogs_or_noresetlogs(); + } + + this.state = 6636; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DOWNGRADE || _la===PlSqlParser.UPGRADE) { + this.state = 6635; + this.upgrade_or_downgrade(); + } + + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 6638; + this.match(PlSqlParser.OPEN); + this.state = 6639; + this.match(PlSqlParser.READ); + this.state = 6640; + this.match(PlSqlParser.ONLY); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Resetlogs_or_noresetlogsContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_resetlogs_or_noresetlogs; + return this; +} + +Resetlogs_or_noresetlogsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Resetlogs_or_noresetlogsContext.prototype.constructor = Resetlogs_or_noresetlogsContext; + +Resetlogs_or_noresetlogsContext.prototype.RESETLOGS = function() { + return this.getToken(PlSqlParser.RESETLOGS, 0); +}; + +Resetlogs_or_noresetlogsContext.prototype.NORESETLOGS = function() { + return this.getToken(PlSqlParser.NORESETLOGS, 0); +}; + +Resetlogs_or_noresetlogsContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterResetlogs_or_noresetlogs(this); + } +}; + +Resetlogs_or_noresetlogsContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitResetlogs_or_noresetlogs(this); + } +}; + +Resetlogs_or_noresetlogsContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitResetlogs_or_noresetlogs(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Resetlogs_or_noresetlogsContext = Resetlogs_or_noresetlogsContext; + +PlSqlParser.prototype.resetlogs_or_noresetlogs = function() { + + var localctx = new Resetlogs_or_noresetlogsContext(this, this._ctx, this.state); + this.enterRule(localctx, 666, PlSqlParser.RULE_resetlogs_or_noresetlogs); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6643; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NORESETLOGS || _la===PlSqlParser.RESETLOGS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Upgrade_or_downgradeContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_upgrade_or_downgrade; + return this; +} + +Upgrade_or_downgradeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Upgrade_or_downgradeContext.prototype.constructor = Upgrade_or_downgradeContext; + +Upgrade_or_downgradeContext.prototype.UPGRADE = function() { + return this.getToken(PlSqlParser.UPGRADE, 0); +}; + +Upgrade_or_downgradeContext.prototype.DOWNGRADE = function() { + return this.getToken(PlSqlParser.DOWNGRADE, 0); +}; + +Upgrade_or_downgradeContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUpgrade_or_downgrade(this); + } +}; + +Upgrade_or_downgradeContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUpgrade_or_downgrade(this); + } +}; + +Upgrade_or_downgradeContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUpgrade_or_downgrade(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Upgrade_or_downgradeContext = Upgrade_or_downgradeContext; + +PlSqlParser.prototype.upgrade_or_downgrade = function() { + + var localctx = new Upgrade_or_downgradeContext(this, this._ctx, this.state); + this.enterRule(localctx, 668, PlSqlParser.RULE_upgrade_or_downgrade); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6645; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DOWNGRADE || _la===PlSqlParser.UPGRADE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Recovery_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_recovery_clauses; + return this; +} + +Recovery_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Recovery_clausesContext.prototype.constructor = Recovery_clausesContext; + +Recovery_clausesContext.prototype.general_recovery = function() { + return this.getTypedRuleContext(General_recoveryContext,0); +}; + +Recovery_clausesContext.prototype.managed_standby_recovery = function() { + return this.getTypedRuleContext(Managed_standby_recoveryContext,0); +}; + +Recovery_clausesContext.prototype.begin_or_end = function() { + return this.getTypedRuleContext(Begin_or_endContext,0); +}; + +Recovery_clausesContext.prototype.BACKUP = function() { + return this.getToken(PlSqlParser.BACKUP, 0); +}; + +Recovery_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRecovery_clauses(this); + } +}; + +Recovery_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRecovery_clauses(this); + } +}; + +Recovery_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRecovery_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Recovery_clausesContext = Recovery_clausesContext; + +PlSqlParser.prototype.recovery_clauses = function() { + + var localctx = new Recovery_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 670, PlSqlParser.RULE_recovery_clauses); + try { + this.state = 6652; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,795,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 6647; + this.general_recovery(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 6648; + this.managed_standby_recovery(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 6649; + this.begin_or_end(); + this.state = 6650; + this.match(PlSqlParser.BACKUP); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Begin_or_endContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_begin_or_end; + return this; +} + +Begin_or_endContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Begin_or_endContext.prototype.constructor = Begin_or_endContext; + +Begin_or_endContext.prototype.BEGIN = function() { + return this.getToken(PlSqlParser.BEGIN, 0); +}; + +Begin_or_endContext.prototype.END = function() { + return this.getToken(PlSqlParser.END, 0); +}; + +Begin_or_endContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterBegin_or_end(this); + } +}; + +Begin_or_endContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitBegin_or_end(this); + } +}; + +Begin_or_endContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitBegin_or_end(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Begin_or_endContext = Begin_or_endContext; + +PlSqlParser.prototype.begin_or_end = function() { + + var localctx = new Begin_or_endContext(this, this._ctx, this.state); + this.enterRule(localctx, 672, PlSqlParser.RULE_begin_or_end); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6654; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BEGIN || _la===PlSqlParser.END)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function General_recoveryContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_general_recovery; + return this; +} + +General_recoveryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +General_recoveryContext.prototype.constructor = General_recoveryContext; + +General_recoveryContext.prototype.RECOVER = function() { + return this.getToken(PlSqlParser.RECOVER, 0); +}; + +General_recoveryContext.prototype.CONTINUE = function() { + return this.getToken(PlSqlParser.CONTINUE, 0); +}; + +General_recoveryContext.prototype.CANCEL = function() { + return this.getToken(PlSqlParser.CANCEL, 0); +}; + +General_recoveryContext.prototype.AUTOMATIC = function() { + return this.getToken(PlSqlParser.AUTOMATIC, 0); +}; + +General_recoveryContext.prototype.FROM = function() { + return this.getToken(PlSqlParser.FROM, 0); +}; + +General_recoveryContext.prototype.CHAR_STRING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHAR_STRING); + } else { + return this.getToken(PlSqlParser.CHAR_STRING, i); + } +}; + + +General_recoveryContext.prototype.full_database_recovery = function() { + return this.getTypedRuleContext(Full_database_recoveryContext,0); +}; + +General_recoveryContext.prototype.partial_database_recovery = function() { + return this.getTypedRuleContext(Partial_database_recoveryContext,0); +}; + +General_recoveryContext.prototype.LOGFILE = function() { + return this.getToken(PlSqlParser.LOGFILE, 0); +}; + +General_recoveryContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +General_recoveryContext.prototype.TEST = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TEST); + } else { + return this.getToken(PlSqlParser.TEST, i); + } +}; + + +General_recoveryContext.prototype.ALLOW = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ALLOW); + } else { + return this.getToken(PlSqlParser.ALLOW, i); + } +}; + + +General_recoveryContext.prototype.UNSIGNED_INTEGER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNSIGNED_INTEGER); + } else { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, i); + } +}; + + +General_recoveryContext.prototype.CORRUPTION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CORRUPTION); + } else { + return this.getToken(PlSqlParser.CORRUPTION, i); + } +}; + + +General_recoveryContext.prototype.parallel_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Parallel_clauseContext); + } else { + return this.getTypedRuleContext(Parallel_clauseContext,i); + } +}; + +General_recoveryContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterGeneral_recovery(this); + } +}; + +General_recoveryContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitGeneral_recovery(this); + } +}; + +General_recoveryContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitGeneral_recovery(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.General_recoveryContext = General_recoveryContext; + +PlSqlParser.prototype.general_recovery = function() { + + var localctx = new General_recoveryContext(this, this._ctx, this.state); + this.enterRule(localctx, 674, PlSqlParser.RULE_general_recovery); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6656; + this.match(PlSqlParser.RECOVER); + this.state = 6658; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,796,this._ctx); + if(la_===1) { + this.state = 6657; + this.match(PlSqlParser.AUTOMATIC); + + } + this.state = 6662; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,797,this._ctx); + if(la_===1) { + this.state = 6660; + this.match(PlSqlParser.FROM); + this.state = 6661; + this.match(PlSqlParser.CHAR_STRING); + + } + this.state = 6686; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,803,this._ctx); + switch(la_) { + case 1: + this.state = 6668; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,798,this._ctx); + if(la_===1) { + this.state = 6664; + this.full_database_recovery(); + + } else if(la_===2) { + this.state = 6665; + this.partial_database_recovery(); + + } else if(la_===3) { + this.state = 6666; + this.match(PlSqlParser.LOGFILE); + this.state = 6667; + this.match(PlSqlParser.CHAR_STRING); + + } + this.state = 6679; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ALLOW || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.TEST) { + this.state = 6675; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6675; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.TEST: + this.state = 6670; + this.match(PlSqlParser.TEST); + break; + case PlSqlParser.ALLOW: + this.state = 6671; + this.match(PlSqlParser.ALLOW); + this.state = 6672; + this.match(PlSqlParser.UNSIGNED_INTEGER); + this.state = 6673; + this.match(PlSqlParser.CORRUPTION); + break; + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + this.state = 6674; + this.parallel_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6677; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ALLOW || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.TEST); + } + + break; + + case 2: + this.state = 6681; + this.match(PlSqlParser.CONTINUE); + this.state = 6683; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DEFAULT) { + this.state = 6682; + this.match(PlSqlParser.DEFAULT); + } + + break; + + case 3: + this.state = 6685; + this.match(PlSqlParser.CANCEL); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Full_database_recoveryContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_full_database_recovery; + return this; +} + +Full_database_recoveryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Full_database_recoveryContext.prototype.constructor = Full_database_recoveryContext; + +Full_database_recoveryContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Full_database_recoveryContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Full_database_recoveryContext.prototype.UNTIL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNTIL); + } else { + return this.getToken(PlSqlParser.UNTIL, i); + } +}; + + +Full_database_recoveryContext.prototype.USING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.USING); + } else { + return this.getToken(PlSqlParser.USING, i); + } +}; + + +Full_database_recoveryContext.prototype.BACKUP = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.BACKUP); + } else { + return this.getToken(PlSqlParser.BACKUP, i); + } +}; + + +Full_database_recoveryContext.prototype.CONTROLFILE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CONTROLFILE); + } else { + return this.getToken(PlSqlParser.CONTROLFILE, i); + } +}; + + +Full_database_recoveryContext.prototype.CANCEL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CANCEL); + } else { + return this.getToken(PlSqlParser.CANCEL, i); + } +}; + + +Full_database_recoveryContext.prototype.TIME = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TIME); + } else { + return this.getToken(PlSqlParser.TIME, i); + } +}; + + +Full_database_recoveryContext.prototype.CHAR_STRING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHAR_STRING); + } else { + return this.getToken(PlSqlParser.CHAR_STRING, i); + } +}; + + +Full_database_recoveryContext.prototype.CHANGE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHANGE); + } else { + return this.getToken(PlSqlParser.CHANGE, i); + } +}; + + +Full_database_recoveryContext.prototype.UNSIGNED_INTEGER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNSIGNED_INTEGER); + } else { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, i); + } +}; + + +Full_database_recoveryContext.prototype.CONSISTENT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CONSISTENT); + } else { + return this.getToken(PlSqlParser.CONSISTENT, i); + } +}; + + +Full_database_recoveryContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFull_database_recovery(this); + } +}; + +Full_database_recoveryContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFull_database_recovery(this); + } +}; + +Full_database_recoveryContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFull_database_recovery(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Full_database_recoveryContext = Full_database_recoveryContext; + +PlSqlParser.prototype.full_database_recovery = function() { + + var localctx = new Full_database_recoveryContext(this, this._ctx, this.state); + this.enterRule(localctx, 676, PlSqlParser.RULE_full_database_recovery); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6689; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STANDBY) { + this.state = 6688; + this.match(PlSqlParser.STANDBY); + } + + this.state = 6691; + this.match(PlSqlParser.DATABASE); + this.state = 6708; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNTIL || _la===PlSqlParser.USING) { + this.state = 6704; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6704; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.UNTIL: + this.state = 6692; + this.match(PlSqlParser.UNTIL); + this.state = 6699; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CANCEL: + this.state = 6693; + this.match(PlSqlParser.CANCEL); + break; + case PlSqlParser.TIME: + this.state = 6694; + this.match(PlSqlParser.TIME); + this.state = 6695; + this.match(PlSqlParser.CHAR_STRING); + break; + case PlSqlParser.CHANGE: + this.state = 6696; + this.match(PlSqlParser.CHANGE); + this.state = 6697; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.CONSISTENT: + this.state = 6698; + this.match(PlSqlParser.CONSISTENT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case PlSqlParser.USING: + this.state = 6701; + this.match(PlSqlParser.USING); + this.state = 6702; + this.match(PlSqlParser.BACKUP); + this.state = 6703; + this.match(PlSqlParser.CONTROLFILE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6706; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.UNTIL || _la===PlSqlParser.USING); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Partial_database_recoveryContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_partial_database_recovery; + return this; +} + +Partial_database_recoveryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Partial_database_recoveryContext.prototype.constructor = Partial_database_recoveryContext; + +Partial_database_recoveryContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Partial_database_recoveryContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Partial_database_recoveryContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Partial_database_recoveryContext.prototype.DATAFILE = function() { + return this.getToken(PlSqlParser.DATAFILE, 0); +}; + +Partial_database_recoveryContext.prototype.CHAR_STRING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHAR_STRING); + } else { + return this.getToken(PlSqlParser.CHAR_STRING, i); + } +}; + + +Partial_database_recoveryContext.prototype.filenumber = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenumberContext); + } else { + return this.getTypedRuleContext(FilenumberContext,i); + } +}; + +Partial_database_recoveryContext.prototype.partial_database_recovery_10g = function() { + return this.getTypedRuleContext(Partial_database_recovery_10gContext,0); +}; + +Partial_database_recoveryContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPartial_database_recovery(this); + } +}; + +Partial_database_recoveryContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPartial_database_recovery(this); + } +}; + +Partial_database_recoveryContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPartial_database_recovery(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Partial_database_recoveryContext = Partial_database_recoveryContext; + +PlSqlParser.prototype.partial_database_recovery = function() { + + var localctx = new Partial_database_recoveryContext(this, this._ctx, this.state); + this.enterRule(localctx, 678, PlSqlParser.RULE_partial_database_recovery); + var _la = 0; // Token type + try { + this.state = 6731; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,812,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 6710; + this.match(PlSqlParser.TABLESPACE); + this.state = 6711; + this.tablespace(); + this.state = 6716; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6712; + this.match(PlSqlParser.COMMA); + this.state = 6713; + this.tablespace(); + this.state = 6718; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 6719; + this.match(PlSqlParser.DATAFILE); + this.state = 6720; + this.match(PlSqlParser.CHAR_STRING); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 6721; + this.filenumber(); + this.state = 6727; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.UNSIGNED_INTEGER || _la===PlSqlParser.COMMA) { + this.state = 6725; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.COMMA: + this.state = 6722; + this.match(PlSqlParser.COMMA); + this.state = 6723; + this.match(PlSqlParser.CHAR_STRING); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6724; + this.filenumber(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6729; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 6730; + this.partial_database_recovery_10g(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Partial_database_recovery_10gContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_partial_database_recovery_10g; + return this; +} + +Partial_database_recovery_10gContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Partial_database_recovery_10gContext.prototype.constructor = Partial_database_recovery_10gContext; + +Partial_database_recovery_10gContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Partial_database_recovery_10gContext.prototype.UNTIL = function() { + return this.getToken(PlSqlParser.UNTIL, 0); +}; + +Partial_database_recovery_10gContext.prototype.CONTROLFILE = function() { + return this.getToken(PlSqlParser.CONTROLFILE, 0); +}; + +Partial_database_recovery_10gContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Partial_database_recovery_10gContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Partial_database_recovery_10gContext.prototype.DATAFILE = function() { + return this.getToken(PlSqlParser.DATAFILE, 0); +}; + +Partial_database_recovery_10gContext.prototype.CHAR_STRING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHAR_STRING); + } else { + return this.getToken(PlSqlParser.CHAR_STRING, i); + } +}; + + +Partial_database_recovery_10gContext.prototype.filenumber = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenumberContext); + } else { + return this.getTypedRuleContext(FilenumberContext,i); + } +}; + +Partial_database_recovery_10gContext.prototype.CONSISTENT = function() { + return this.getToken(PlSqlParser.CONSISTENT, 0); +}; + +Partial_database_recovery_10gContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Partial_database_recovery_10gContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Partial_database_recovery_10gContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterPartial_database_recovery_10g(this); + } +}; + +Partial_database_recovery_10gContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitPartial_database_recovery_10g(this); + } +}; + +Partial_database_recovery_10gContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitPartial_database_recovery_10g(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Partial_database_recovery_10gContext = Partial_database_recovery_10gContext; + +PlSqlParser.prototype.partial_database_recovery_10g = function() { + + var localctx = new Partial_database_recovery_10gContext(this, this._ctx, this.state); + this.enterRule(localctx, 680, PlSqlParser.RULE_partial_database_recovery_10g); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6733; + if (!( isVersion10())) { + throw new antlr4.error.FailedPredicateException(this, "isVersion10()"); + } + this.state = 6734; + this.match(PlSqlParser.STANDBY); + this.state = 6755; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.TABLESPACE: + this.state = 6735; + this.match(PlSqlParser.TABLESPACE); + this.state = 6736; + this.tablespace(); + this.state = 6741; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6737; + this.match(PlSqlParser.COMMA); + this.state = 6738; + this.tablespace(); + this.state = 6743; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.DATAFILE: + this.state = 6744; + this.match(PlSqlParser.DATAFILE); + this.state = 6745; + this.match(PlSqlParser.CHAR_STRING); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6746; + this.filenumber(); + this.state = 6752; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.UNSIGNED_INTEGER || _la===PlSqlParser.COMMA) { + this.state = 6750; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.COMMA: + this.state = 6747; + this.match(PlSqlParser.COMMA); + this.state = 6748; + this.match(PlSqlParser.CHAR_STRING); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6749; + this.filenumber(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6754; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6757; + this.match(PlSqlParser.UNTIL); + this.state = 6760; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CONSISTENT) { + this.state = 6758; + this.match(PlSqlParser.CONSISTENT); + this.state = 6759; + this.match(PlSqlParser.WITH); + } + + this.state = 6762; + this.match(PlSqlParser.CONTROLFILE); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Managed_standby_recoveryContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_managed_standby_recovery; + return this; +} + +Managed_standby_recoveryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Managed_standby_recoveryContext.prototype.constructor = Managed_standby_recoveryContext; + +Managed_standby_recoveryContext.prototype.RECOVER = function() { + return this.getToken(PlSqlParser.RECOVER, 0); +}; + +Managed_standby_recoveryContext.prototype.MANAGED = function() { + return this.getToken(PlSqlParser.MANAGED, 0); +}; + +Managed_standby_recoveryContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Managed_standby_recoveryContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Managed_standby_recoveryContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Managed_standby_recoveryContext.prototype.LOGICAL = function() { + return this.getToken(PlSqlParser.LOGICAL, 0); +}; + +Managed_standby_recoveryContext.prototype.db_name = function() { + return this.getTypedRuleContext(Db_nameContext,0); +}; + +Managed_standby_recoveryContext.prototype.KEEP = function() { + return this.getToken(PlSqlParser.KEEP, 0); +}; + +Managed_standby_recoveryContext.prototype.IDENTITY = function() { + return this.getToken(PlSqlParser.IDENTITY, 0); +}; + +Managed_standby_recoveryContext.prototype.FINISH = function() { + return this.getToken(PlSqlParser.FINISH, 0); +}; + +Managed_standby_recoveryContext.prototype.CANCEL = function() { + return this.getToken(PlSqlParser.CANCEL, 0); +}; + +Managed_standby_recoveryContext.prototype.USING = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.USING); + } else { + return this.getToken(PlSqlParser.USING, i); + } +}; + + +Managed_standby_recoveryContext.prototype.CURRENT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CURRENT); + } else { + return this.getToken(PlSqlParser.CURRENT, i); + } +}; + + +Managed_standby_recoveryContext.prototype.LOGFILE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LOGFILE); + } else { + return this.getToken(PlSqlParser.LOGFILE, i); + } +}; + + +Managed_standby_recoveryContext.prototype.DISCONNECT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DISCONNECT); + } else { + return this.getToken(PlSqlParser.DISCONNECT, i); + } +}; + + +Managed_standby_recoveryContext.prototype.NODELAY = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NODELAY); + } else { + return this.getToken(PlSqlParser.NODELAY, i); + } +}; + + +Managed_standby_recoveryContext.prototype.UNTIL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNTIL); + } else { + return this.getToken(PlSqlParser.UNTIL, i); + } +}; + + +Managed_standby_recoveryContext.prototype.CHANGE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CHANGE); + } else { + return this.getToken(PlSqlParser.CHANGE, i); + } +}; + + +Managed_standby_recoveryContext.prototype.UNSIGNED_INTEGER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNSIGNED_INTEGER); + } else { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, i); + } +}; + + +Managed_standby_recoveryContext.prototype.CONSISTENT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CONSISTENT); + } else { + return this.getToken(PlSqlParser.CONSISTENT, i); + } +}; + + +Managed_standby_recoveryContext.prototype.parallel_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Parallel_clauseContext); + } else { + return this.getTypedRuleContext(Parallel_clauseContext,i); + } +}; + +Managed_standby_recoveryContext.prototype.FROM = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FROM); + } else { + return this.getToken(PlSqlParser.FROM, i); + } +}; + + +Managed_standby_recoveryContext.prototype.SESSION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.SESSION); + } else { + return this.getToken(PlSqlParser.SESSION, i); + } +}; + + +Managed_standby_recoveryContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterManaged_standby_recovery(this); + } +}; + +Managed_standby_recoveryContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitManaged_standby_recovery(this); + } +}; + +Managed_standby_recoveryContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitManaged_standby_recovery(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Managed_standby_recoveryContext = Managed_standby_recoveryContext; + +PlSqlParser.prototype.managed_standby_recovery = function() { + + var localctx = new Managed_standby_recoveryContext(this, this._ctx, this.state); + this.enterRule(localctx, 682, PlSqlParser.RULE_managed_standby_recovery); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6764; + this.match(PlSqlParser.RECOVER); + this.state = 6799; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.MANAGED: + this.state = 6765; + this.match(PlSqlParser.MANAGED); + this.state = 6766; + this.match(PlSqlParser.STANDBY); + this.state = 6767; + this.match(PlSqlParser.DATABASE); + this.state = 6789; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.DISCONNECT: + case PlSqlParser.NODELAY: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + case PlSqlParser.UNTIL: + case PlSqlParser.USING: + this.state = 6783; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6783; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,819,this._ctx); + switch(la_) { + case 1: + this.state = 6768; + this.match(PlSqlParser.USING); + this.state = 6769; + this.match(PlSqlParser.CURRENT); + this.state = 6770; + this.match(PlSqlParser.LOGFILE); + break; + + case 2: + this.state = 6771; + this.match(PlSqlParser.DISCONNECT); + this.state = 6774; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FROM) { + this.state = 6772; + this.match(PlSqlParser.FROM); + this.state = 6773; + this.match(PlSqlParser.SESSION); + } + + break; + + case 3: + this.state = 6776; + this.match(PlSqlParser.NODELAY); + break; + + case 4: + this.state = 6777; + this.match(PlSqlParser.UNTIL); + this.state = 6778; + this.match(PlSqlParser.CHANGE); + this.state = 6779; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + + case 5: + this.state = 6780; + this.match(PlSqlParser.UNTIL); + this.state = 6781; + this.match(PlSqlParser.CONSISTENT); + break; + + case 6: + this.state = 6782; + this.parallel_clause(); + break; + + } + this.state = 6785; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.DISCONNECT || _la===PlSqlParser.NODELAY || _la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL || _la===PlSqlParser.UNTIL || _la===PlSqlParser.USING); + break; + case PlSqlParser.FINISH: + this.state = 6787; + this.match(PlSqlParser.FINISH); + break; + case PlSqlParser.CANCEL: + this.state = 6788; + this.match(PlSqlParser.CANCEL); + break; + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + break; + case PlSqlParser.TO: + this.state = 6791; + this.match(PlSqlParser.TO); + this.state = 6792; + this.match(PlSqlParser.LOGICAL); + this.state = 6793; + this.match(PlSqlParser.STANDBY); + this.state = 6797; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,822,this._ctx); + switch(la_) { + case 1: + this.state = 6794; + this.db_name(); + break; + + case 2: + this.state = 6795; + this.match(PlSqlParser.KEEP); + this.state = 6796; + this.match(PlSqlParser.IDENTITY); + break; + + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Db_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_db_name; + return this; +} + +Db_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Db_nameContext.prototype.constructor = Db_nameContext; + +Db_nameContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Db_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDb_name(this); + } +}; + +Db_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDb_name(this); + } +}; + +Db_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDb_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Db_nameContext = Db_nameContext; + +PlSqlParser.prototype.db_name = function() { + + var localctx = new Db_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 684, PlSqlParser.RULE_db_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 6801; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Database_file_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_database_file_clauses; + return this; +} + +Database_file_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Database_file_clausesContext.prototype.constructor = Database_file_clausesContext; + +Database_file_clausesContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Database_file_clausesContext.prototype.FILE = function() { + return this.getToken(PlSqlParser.FILE, 0); +}; + +Database_file_clausesContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Database_file_clausesContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Database_file_clausesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Database_file_clausesContext.prototype.create_datafile_clause = function() { + return this.getTypedRuleContext(Create_datafile_clauseContext,0); +}; + +Database_file_clausesContext.prototype.alter_datafile_clause = function() { + return this.getTypedRuleContext(Alter_datafile_clauseContext,0); +}; + +Database_file_clausesContext.prototype.alter_tempfile_clause = function() { + return this.getTypedRuleContext(Alter_tempfile_clauseContext,0); +}; + +Database_file_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDatabase_file_clauses(this); + } +}; + +Database_file_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDatabase_file_clauses(this); + } +}; + +Database_file_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDatabase_file_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Database_file_clausesContext = Database_file_clausesContext; + +PlSqlParser.prototype.database_file_clauses = function() { + + var localctx = new Database_file_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 686, PlSqlParser.RULE_database_file_clauses); + var _la = 0; // Token type + try { + this.state = 6819; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.RENAME: + this.enterOuterAlt(localctx, 1); + this.state = 6803; + this.match(PlSqlParser.RENAME); + this.state = 6804; + this.match(PlSqlParser.FILE); + this.state = 6805; + this.filename(); + this.state = 6810; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6806; + this.match(PlSqlParser.COMMA); + this.state = 6807; + this.filename(); + this.state = 6812; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6813; + this.match(PlSqlParser.TO); + this.state = 6814; + this.filename(); + break; + case PlSqlParser.CREATE: + this.enterOuterAlt(localctx, 2); + this.state = 6816; + this.create_datafile_clause(); + break; + case PlSqlParser.DATAFILE: + this.enterOuterAlt(localctx, 3); + this.state = 6817; + this.alter_datafile_clause(); + break; + case PlSqlParser.TEMPFILE: + this.enterOuterAlt(localctx, 4); + this.state = 6818; + this.alter_tempfile_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Create_datafile_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_create_datafile_clause; + return this; +} + +Create_datafile_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Create_datafile_clauseContext.prototype.constructor = Create_datafile_clauseContext; + +Create_datafile_clauseContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Create_datafile_clauseContext.prototype.DATAFILE = function() { + return this.getToken(PlSqlParser.DATAFILE, 0); +}; + +Create_datafile_clauseContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Create_datafile_clauseContext.prototype.filenumber = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenumberContext); + } else { + return this.getTypedRuleContext(FilenumberContext,i); + } +}; + +Create_datafile_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Create_datafile_clauseContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Create_datafile_clauseContext.prototype.NEW = function() { + return this.getToken(PlSqlParser.NEW, 0); +}; + +Create_datafile_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCreate_datafile_clause(this); + } +}; + +Create_datafile_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCreate_datafile_clause(this); + } +}; + +Create_datafile_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCreate_datafile_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Create_datafile_clauseContext = Create_datafile_clauseContext; + +PlSqlParser.prototype.create_datafile_clause = function() { + + var localctx = new Create_datafile_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 688, PlSqlParser.RULE_create_datafile_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6821; + this.match(PlSqlParser.CREATE); + this.state = 6822; + this.match(PlSqlParser.DATAFILE); + this.state = 6825; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 6823; + this.filename(); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6824; + this.filenumber(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6834; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6827; + this.match(PlSqlParser.COMMA); + this.state = 6830; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 6828; + this.filename(); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6829; + this.filenumber(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6836; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6839; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AS) { + this.state = 6837; + this.match(PlSqlParser.AS); + + this.state = 6838; + this.match(PlSqlParser.NEW); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_datafile_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_datafile_clause; + return this; +} + +Alter_datafile_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_datafile_clauseContext.prototype.constructor = Alter_datafile_clauseContext; + +Alter_datafile_clauseContext.prototype.DATAFILE = function() { + return this.getToken(PlSqlParser.DATAFILE, 0); +}; + +Alter_datafile_clauseContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Alter_datafile_clauseContext.prototype.filenumber = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenumberContext); + } else { + return this.getTypedRuleContext(FilenumberContext,i); + } +}; + +Alter_datafile_clauseContext.prototype.ONLINE = function() { + return this.getToken(PlSqlParser.ONLINE, 0); +}; + +Alter_datafile_clauseContext.prototype.OFFLINE = function() { + return this.getToken(PlSqlParser.OFFLINE, 0); +}; + +Alter_datafile_clauseContext.prototype.RESIZE = function() { + return this.getToken(PlSqlParser.RESIZE, 0); +}; + +Alter_datafile_clauseContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Alter_datafile_clauseContext.prototype.autoextend_clause = function() { + return this.getTypedRuleContext(Autoextend_clauseContext,0); +}; + +Alter_datafile_clauseContext.prototype.END = function() { + return this.getToken(PlSqlParser.END, 0); +}; + +Alter_datafile_clauseContext.prototype.BACKUP = function() { + return this.getToken(PlSqlParser.BACKUP, 0); +}; + +Alter_datafile_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Alter_datafile_clauseContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Alter_datafile_clauseContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Alter_datafile_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_datafile_clause(this); + } +}; + +Alter_datafile_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_datafile_clause(this); + } +}; + +Alter_datafile_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_datafile_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_datafile_clauseContext = Alter_datafile_clauseContext; + +PlSqlParser.prototype.alter_datafile_clause = function() { + + var localctx = new Alter_datafile_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 690, PlSqlParser.RULE_alter_datafile_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6841; + this.match(PlSqlParser.DATAFILE); + this.state = 6844; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 6842; + this.filename(); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6843; + this.filenumber(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6853; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6846; + this.match(PlSqlParser.COMMA); + this.state = 6849; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 6847; + this.filename(); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6848; + this.filenumber(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6855; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6867; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ONLINE: + this.state = 6856; + this.match(PlSqlParser.ONLINE); + break; + case PlSqlParser.OFFLINE: + this.state = 6857; + this.match(PlSqlParser.OFFLINE); + this.state = 6860; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FOR) { + this.state = 6858; + this.match(PlSqlParser.FOR); + this.state = 6859; + this.match(PlSqlParser.DROP); + } + + break; + case PlSqlParser.RESIZE: + this.state = 6862; + this.match(PlSqlParser.RESIZE); + this.state = 6863; + this.size_clause(); + break; + case PlSqlParser.AUTOEXTEND: + this.state = 6864; + this.autoextend_clause(); + break; + case PlSqlParser.END: + this.state = 6865; + this.match(PlSqlParser.END); + this.state = 6866; + this.match(PlSqlParser.BACKUP); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_tempfile_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_tempfile_clause; + return this; +} + +Alter_tempfile_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_tempfile_clauseContext.prototype.constructor = Alter_tempfile_clauseContext; + +Alter_tempfile_clauseContext.prototype.TEMPFILE = function() { + return this.getToken(PlSqlParser.TEMPFILE, 0); +}; + +Alter_tempfile_clauseContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Alter_tempfile_clauseContext.prototype.filenumber = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenumberContext); + } else { + return this.getTypedRuleContext(FilenumberContext,i); + } +}; + +Alter_tempfile_clauseContext.prototype.RESIZE = function() { + return this.getToken(PlSqlParser.RESIZE, 0); +}; + +Alter_tempfile_clauseContext.prototype.size_clause = function() { + return this.getTypedRuleContext(Size_clauseContext,0); +}; + +Alter_tempfile_clauseContext.prototype.autoextend_clause = function() { + return this.getTypedRuleContext(Autoextend_clauseContext,0); +}; + +Alter_tempfile_clauseContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Alter_tempfile_clauseContext.prototype.ONLINE = function() { + return this.getToken(PlSqlParser.ONLINE, 0); +}; + +Alter_tempfile_clauseContext.prototype.OFFLINE = function() { + return this.getToken(PlSqlParser.OFFLINE, 0); +}; + +Alter_tempfile_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Alter_tempfile_clauseContext.prototype.INCLUDING = function() { + return this.getToken(PlSqlParser.INCLUDING, 0); +}; + +Alter_tempfile_clauseContext.prototype.DATAFILES = function() { + return this.getToken(PlSqlParser.DATAFILES, 0); +}; + +Alter_tempfile_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_tempfile_clause(this); + } +}; + +Alter_tempfile_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_tempfile_clause(this); + } +}; + +Alter_tempfile_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_tempfile_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_tempfile_clauseContext = Alter_tempfile_clauseContext; + +PlSqlParser.prototype.alter_tempfile_clause = function() { + + var localctx = new Alter_tempfile_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 692, PlSqlParser.RULE_alter_tempfile_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6869; + this.match(PlSqlParser.TEMPFILE); + this.state = 6872; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 6870; + this.filename(); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6871; + this.filenumber(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6881; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6874; + this.match(PlSqlParser.COMMA); + this.state = 6877; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 6875; + this.filename(); + break; + case PlSqlParser.UNSIGNED_INTEGER: + this.state = 6876; + this.filenumber(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 6883; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6892; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.RESIZE: + this.state = 6884; + this.match(PlSqlParser.RESIZE); + this.state = 6885; + this.size_clause(); + break; + case PlSqlParser.AUTOEXTEND: + this.state = 6886; + this.autoextend_clause(); + break; + case PlSqlParser.DROP: + this.state = 6887; + this.match(PlSqlParser.DROP); + + this.state = 6888; + this.match(PlSqlParser.INCLUDING); + this.state = 6889; + this.match(PlSqlParser.DATAFILES); + break; + case PlSqlParser.ONLINE: + this.state = 6890; + this.match(PlSqlParser.ONLINE); + break; + case PlSqlParser.OFFLINE: + this.state = 6891; + this.match(PlSqlParser.OFFLINE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Logfile_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_logfile_clauses; + return this; +} + +Logfile_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Logfile_clausesContext.prototype.constructor = Logfile_clausesContext; + +Logfile_clausesContext.prototype.ARCHIVELOG = function() { + return this.getToken(PlSqlParser.ARCHIVELOG, 0); +}; + +Logfile_clausesContext.prototype.NOARCHIVELOG = function() { + return this.getToken(PlSqlParser.NOARCHIVELOG, 0); +}; + +Logfile_clausesContext.prototype.MANUAL = function() { + return this.getToken(PlSqlParser.MANUAL, 0); +}; + +Logfile_clausesContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Logfile_clausesContext.prototype.LOGGING = function() { + return this.getToken(PlSqlParser.LOGGING, 0); +}; + +Logfile_clausesContext.prototype.NO = function() { + return this.getToken(PlSqlParser.NO, 0); +}; + +Logfile_clausesContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Logfile_clausesContext.prototype.FILE = function() { + return this.getToken(PlSqlParser.FILE, 0); +}; + +Logfile_clausesContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Logfile_clausesContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Logfile_clausesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Logfile_clausesContext.prototype.CLEAR = function() { + return this.getToken(PlSqlParser.CLEAR, 0); +}; + +Logfile_clausesContext.prototype.LOGFILE = function() { + return this.getToken(PlSqlParser.LOGFILE, 0); +}; + +Logfile_clausesContext.prototype.logfile_descriptor = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logfile_descriptorContext); + } else { + return this.getTypedRuleContext(Logfile_descriptorContext,i); + } +}; + +Logfile_clausesContext.prototype.UNARCHIVED = function() { + return this.getToken(PlSqlParser.UNARCHIVED, 0); +}; + +Logfile_clausesContext.prototype.UNRECOVERABLE = function() { + return this.getToken(PlSqlParser.UNRECOVERABLE, 0); +}; + +Logfile_clausesContext.prototype.DATAFILE = function() { + return this.getToken(PlSqlParser.DATAFILE, 0); +}; + +Logfile_clausesContext.prototype.add_logfile_clauses = function() { + return this.getTypedRuleContext(Add_logfile_clausesContext,0); +}; + +Logfile_clausesContext.prototype.drop_logfile_clauses = function() { + return this.getTypedRuleContext(Drop_logfile_clausesContext,0); +}; + +Logfile_clausesContext.prototype.switch_logfile_clause = function() { + return this.getTypedRuleContext(Switch_logfile_clauseContext,0); +}; + +Logfile_clausesContext.prototype.supplemental_db_logging = function() { + return this.getTypedRuleContext(Supplemental_db_loggingContext,0); +}; + +Logfile_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLogfile_clauses(this); + } +}; + +Logfile_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLogfile_clauses(this); + } +}; + +Logfile_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLogfile_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Logfile_clausesContext = Logfile_clausesContext; + +PlSqlParser.prototype.logfile_clauses = function() { + + var localctx = new Logfile_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 694, PlSqlParser.RULE_logfile_clauses); + var _la = 0; // Token type + try { + this.state = 6940; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,846,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 6899; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ARCHIVELOG: + this.state = 6894; + this.match(PlSqlParser.ARCHIVELOG); + this.state = 6896; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.MANUAL) { + this.state = 6895; + this.match(PlSqlParser.MANUAL); + } + + break; + case PlSqlParser.NOARCHIVELOG: + this.state = 6898; + this.match(PlSqlParser.NOARCHIVELOG); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 6902; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NO) { + this.state = 6901; + this.match(PlSqlParser.NO); + } + + this.state = 6904; + this.match(PlSqlParser.FORCE); + this.state = 6905; + this.match(PlSqlParser.LOGGING); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 6906; + this.match(PlSqlParser.RENAME); + this.state = 6907; + this.match(PlSqlParser.FILE); + this.state = 6908; + this.filename(); + this.state = 6913; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6909; + this.match(PlSqlParser.COMMA); + this.state = 6910; + this.filename(); + this.state = 6915; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6916; + this.match(PlSqlParser.TO); + this.state = 6917; + this.filename(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 6919; + this.match(PlSqlParser.CLEAR); + this.state = 6921; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNARCHIVED) { + this.state = 6920; + this.match(PlSqlParser.UNARCHIVED); + } + + this.state = 6923; + this.match(PlSqlParser.LOGFILE); + this.state = 6924; + this.logfile_descriptor(); + this.state = 6929; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6925; + this.match(PlSqlParser.COMMA); + this.state = 6926; + this.logfile_descriptor(); + this.state = 6931; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6934; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNRECOVERABLE) { + this.state = 6932; + this.match(PlSqlParser.UNRECOVERABLE); + this.state = 6933; + this.match(PlSqlParser.DATAFILE); + } + + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 6936; + this.add_logfile_clauses(); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 6937; + this.drop_logfile_clauses(); + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 6938; + this.switch_logfile_clause(); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 6939; + this.supplemental_db_logging(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Add_logfile_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_add_logfile_clauses; + return this; +} + +Add_logfile_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Add_logfile_clausesContext.prototype.constructor = Add_logfile_clausesContext; + +Add_logfile_clausesContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Add_logfile_clausesContext.prototype.LOGFILE = function() { + return this.getToken(PlSqlParser.LOGFILE, 0); +}; + +Add_logfile_clausesContext.prototype.MEMBER = function() { + return this.getToken(PlSqlParser.MEMBER, 0); +}; + +Add_logfile_clausesContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Add_logfile_clausesContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Add_logfile_clausesContext.prototype.logfile_descriptor = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logfile_descriptorContext); + } else { + return this.getTypedRuleContext(Logfile_descriptorContext,i); + } +}; + +Add_logfile_clausesContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Add_logfile_clausesContext.prototype.log_file_group = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Log_file_groupContext); + } else { + return this.getTypedRuleContext(Log_file_groupContext,i); + } +}; + +Add_logfile_clausesContext.prototype.redo_log_file_spec = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Redo_log_file_specContext); + } else { + return this.getTypedRuleContext(Redo_log_file_specContext,i); + } +}; + +Add_logfile_clausesContext.prototype.REUSE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.REUSE); + } else { + return this.getToken(PlSqlParser.REUSE, i); + } +}; + + +Add_logfile_clausesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Add_logfile_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAdd_logfile_clauses(this); + } +}; + +Add_logfile_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAdd_logfile_clauses(this); + } +}; + +Add_logfile_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAdd_logfile_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Add_logfile_clausesContext = Add_logfile_clausesContext; + +PlSqlParser.prototype.add_logfile_clauses = function() { + + var localctx = new Add_logfile_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 696, PlSqlParser.RULE_add_logfile_clauses); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6942; + this.match(PlSqlParser.ADD); + this.state = 6944; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STANDBY) { + this.state = 6943; + this.match(PlSqlParser.STANDBY); + } + + this.state = 6946; + this.match(PlSqlParser.LOGFILE); + this.state = 6978; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.GROUP: + case PlSqlParser.THREAD: + case PlSqlParser.COMMA: + this.state = 6950; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 6947; + this.log_file_group(); + this.state = 6948; + this.redo_log_file_spec(); + this.state = 6952; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.GROUP || _la===PlSqlParser.THREAD || _la===PlSqlParser.COMMA); + break; + case PlSqlParser.MEMBER: + this.state = 6954; + this.match(PlSqlParser.MEMBER); + this.state = 6955; + this.filename(); + this.state = 6957; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 6956; + this.match(PlSqlParser.REUSE); + } + + this.state = 6966; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6959; + this.match(PlSqlParser.COMMA); + this.state = 6960; + this.filename(); + this.state = 6962; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 6961; + this.match(PlSqlParser.REUSE); + } + + this.state = 6968; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 6969; + this.match(PlSqlParser.TO); + this.state = 6970; + this.logfile_descriptor(); + this.state = 6975; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6971; + this.match(PlSqlParser.COMMA); + this.state = 6972; + this.logfile_descriptor(); + this.state = 6977; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Log_file_groupContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_log_file_group; + return this; +} + +Log_file_groupContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Log_file_groupContext.prototype.constructor = Log_file_groupContext; + +Log_file_groupContext.prototype.GROUP = function() { + return this.getToken(PlSqlParser.GROUP, 0); +}; + +Log_file_groupContext.prototype.UNSIGNED_INTEGER = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.UNSIGNED_INTEGER); + } else { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, i); + } +}; + + +Log_file_groupContext.prototype.COMMA = function() { + return this.getToken(PlSqlParser.COMMA, 0); +}; + +Log_file_groupContext.prototype.THREAD = function() { + return this.getToken(PlSqlParser.THREAD, 0); +}; + +Log_file_groupContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLog_file_group(this); + } +}; + +Log_file_groupContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLog_file_group(this); + } +}; + +Log_file_groupContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLog_file_group(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Log_file_groupContext = Log_file_groupContext; + +PlSqlParser.prototype.log_file_group = function() { + + var localctx = new Log_file_groupContext(this, this._ctx, this.state); + this.enterRule(localctx, 698, PlSqlParser.RULE_log_file_group); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6981; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMMA) { + this.state = 6980; + this.match(PlSqlParser.COMMA); + } + + this.state = 6985; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.THREAD) { + this.state = 6983; + this.match(PlSqlParser.THREAD); + this.state = 6984; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } + + this.state = 6987; + this.match(PlSqlParser.GROUP); + this.state = 6988; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_logfile_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_logfile_clauses; + return this; +} + +Drop_logfile_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_logfile_clausesContext.prototype.constructor = Drop_logfile_clausesContext; + +Drop_logfile_clausesContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_logfile_clausesContext.prototype.LOGFILE = function() { + return this.getToken(PlSqlParser.LOGFILE, 0); +}; + +Drop_logfile_clausesContext.prototype.logfile_descriptor = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logfile_descriptorContext); + } else { + return this.getTypedRuleContext(Logfile_descriptorContext,i); + } +}; + +Drop_logfile_clausesContext.prototype.MEMBER = function() { + return this.getToken(PlSqlParser.MEMBER, 0); +}; + +Drop_logfile_clausesContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Drop_logfile_clausesContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Drop_logfile_clausesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Drop_logfile_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_logfile_clauses(this); + } +}; + +Drop_logfile_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_logfile_clauses(this); + } +}; + +Drop_logfile_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_logfile_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_logfile_clausesContext = Drop_logfile_clausesContext; + +PlSqlParser.prototype.drop_logfile_clauses = function() { + + var localctx = new Drop_logfile_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 700, PlSqlParser.RULE_drop_logfile_clauses); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 6990; + this.match(PlSqlParser.DROP); + this.state = 6992; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.STANDBY) { + this.state = 6991; + this.match(PlSqlParser.STANDBY); + } + + this.state = 6994; + this.match(PlSqlParser.LOGFILE); + this.state = 7012; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.GROUP: + case PlSqlParser.CHAR_STRING: + case PlSqlParser.LEFT_PAREN: + this.state = 6995; + this.logfile_descriptor(); + this.state = 7000; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 6996; + this.match(PlSqlParser.COMMA); + this.state = 6997; + this.logfile_descriptor(); + this.state = 7002; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + case PlSqlParser.MEMBER: + this.state = 7003; + this.match(PlSqlParser.MEMBER); + this.state = 7004; + this.filename(); + this.state = 7009; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 7005; + this.match(PlSqlParser.COMMA); + this.state = 7006; + this.filename(); + this.state = 7011; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Switch_logfile_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_switch_logfile_clause; + return this; +} + +Switch_logfile_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Switch_logfile_clauseContext.prototype.constructor = Switch_logfile_clauseContext; + +Switch_logfile_clauseContext.prototype.SWITCH = function() { + return this.getToken(PlSqlParser.SWITCH, 0); +}; + +Switch_logfile_clauseContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Switch_logfile_clauseContext.prototype.LOGFILES = function() { + return this.getToken(PlSqlParser.LOGFILES, 0); +}; + +Switch_logfile_clauseContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Switch_logfile_clauseContext.prototype.BLOCKSIZE = function() { + return this.getToken(PlSqlParser.BLOCKSIZE, 0); +}; + +Switch_logfile_clauseContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Switch_logfile_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSwitch_logfile_clause(this); + } +}; + +Switch_logfile_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSwitch_logfile_clause(this); + } +}; + +Switch_logfile_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSwitch_logfile_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Switch_logfile_clauseContext = Switch_logfile_clauseContext; + +PlSqlParser.prototype.switch_logfile_clause = function() { + + var localctx = new Switch_logfile_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 702, PlSqlParser.RULE_switch_logfile_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7014; + this.match(PlSqlParser.SWITCH); + this.state = 7015; + this.match(PlSqlParser.ALL); + this.state = 7016; + this.match(PlSqlParser.LOGFILES); + this.state = 7017; + this.match(PlSqlParser.TO); + this.state = 7018; + this.match(PlSqlParser.BLOCKSIZE); + this.state = 7019; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Supplemental_db_loggingContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_supplemental_db_logging; + return this; +} + +Supplemental_db_loggingContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Supplemental_db_loggingContext.prototype.constructor = Supplemental_db_loggingContext; + +Supplemental_db_loggingContext.prototype.add_or_drop = function() { + return this.getTypedRuleContext(Add_or_dropContext,0); +}; + +Supplemental_db_loggingContext.prototype.SUPPLEMENTAL = function() { + return this.getToken(PlSqlParser.SUPPLEMENTAL, 0); +}; + +Supplemental_db_loggingContext.prototype.LOG = function() { + return this.getToken(PlSqlParser.LOG, 0); +}; + +Supplemental_db_loggingContext.prototype.DATA = function() { + return this.getToken(PlSqlParser.DATA, 0); +}; + +Supplemental_db_loggingContext.prototype.supplemental_id_key_clause = function() { + return this.getTypedRuleContext(Supplemental_id_key_clauseContext,0); +}; + +Supplemental_db_loggingContext.prototype.supplemental_plsql_clause = function() { + return this.getTypedRuleContext(Supplemental_plsql_clauseContext,0); +}; + +Supplemental_db_loggingContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSupplemental_db_logging(this); + } +}; + +Supplemental_db_loggingContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSupplemental_db_logging(this); + } +}; + +Supplemental_db_loggingContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSupplemental_db_logging(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Supplemental_db_loggingContext = Supplemental_db_loggingContext; + +PlSqlParser.prototype.supplemental_db_logging = function() { + + var localctx = new Supplemental_db_loggingContext(this, this._ctx, this.state); + this.enterRule(localctx, 704, PlSqlParser.RULE_supplemental_db_logging); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7021; + this.add_or_drop(); + this.state = 7022; + this.match(PlSqlParser.SUPPLEMENTAL); + this.state = 7023; + this.match(PlSqlParser.LOG); + this.state = 7027; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,860,this._ctx); + switch(la_) { + case 1: + this.state = 7024; + this.match(PlSqlParser.DATA); + break; + + case 2: + this.state = 7025; + this.supplemental_id_key_clause(); + break; + + case 3: + this.state = 7026; + this.supplemental_plsql_clause(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Add_or_dropContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_add_or_drop; + return this; +} + +Add_or_dropContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Add_or_dropContext.prototype.constructor = Add_or_dropContext; + +Add_or_dropContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Add_or_dropContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Add_or_dropContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAdd_or_drop(this); + } +}; + +Add_or_dropContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAdd_or_drop(this); + } +}; + +Add_or_dropContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAdd_or_drop(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Add_or_dropContext = Add_or_dropContext; + +PlSqlParser.prototype.add_or_drop = function() { + + var localctx = new Add_or_dropContext(this, this._ctx, this.state); + this.enterRule(localctx, 706, PlSqlParser.RULE_add_or_drop); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7029; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ADD || _la===PlSqlParser.DROP)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Supplemental_plsql_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_supplemental_plsql_clause; + return this; +} + +Supplemental_plsql_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Supplemental_plsql_clauseContext.prototype.constructor = Supplemental_plsql_clauseContext; + +Supplemental_plsql_clauseContext.prototype.DATA = function() { + return this.getToken(PlSqlParser.DATA, 0); +}; + +Supplemental_plsql_clauseContext.prototype.FOR = function() { + return this.getToken(PlSqlParser.FOR, 0); +}; + +Supplemental_plsql_clauseContext.prototype.PROCEDURAL = function() { + return this.getToken(PlSqlParser.PROCEDURAL, 0); +}; + +Supplemental_plsql_clauseContext.prototype.REPLICATION = function() { + return this.getToken(PlSqlParser.REPLICATION, 0); +}; + +Supplemental_plsql_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSupplemental_plsql_clause(this); + } +}; + +Supplemental_plsql_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSupplemental_plsql_clause(this); + } +}; + +Supplemental_plsql_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSupplemental_plsql_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Supplemental_plsql_clauseContext = Supplemental_plsql_clauseContext; + +PlSqlParser.prototype.supplemental_plsql_clause = function() { + + var localctx = new Supplemental_plsql_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 708, PlSqlParser.RULE_supplemental_plsql_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7031; + this.match(PlSqlParser.DATA); + this.state = 7032; + this.match(PlSqlParser.FOR); + this.state = 7033; + this.match(PlSqlParser.PROCEDURAL); + this.state = 7034; + this.match(PlSqlParser.REPLICATION); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Logfile_descriptorContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_logfile_descriptor; + return this; +} + +Logfile_descriptorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Logfile_descriptorContext.prototype.constructor = Logfile_descriptorContext; + +Logfile_descriptorContext.prototype.GROUP = function() { + return this.getToken(PlSqlParser.GROUP, 0); +}; + +Logfile_descriptorContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Logfile_descriptorContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Logfile_descriptorContext.prototype.filename = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(FilenameContext); + } else { + return this.getTypedRuleContext(FilenameContext,i); + } +}; + +Logfile_descriptorContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Logfile_descriptorContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Logfile_descriptorContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterLogfile_descriptor(this); + } +}; + +Logfile_descriptorContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitLogfile_descriptor(this); + } +}; + +Logfile_descriptorContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitLogfile_descriptor(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Logfile_descriptorContext = Logfile_descriptorContext; + +PlSqlParser.prototype.logfile_descriptor = function() { + + var localctx = new Logfile_descriptorContext(this, this._ctx, this.state); + this.enterRule(localctx, 710, PlSqlParser.RULE_logfile_descriptor); + var _la = 0; // Token type + try { + this.state = 7050; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.GROUP: + this.enterOuterAlt(localctx, 1); + this.state = 7036; + this.match(PlSqlParser.GROUP); + this.state = 7037; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.LEFT_PAREN: + this.enterOuterAlt(localctx, 2); + this.state = 7038; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7039; + this.filename(); + this.state = 7044; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 7040; + this.match(PlSqlParser.COMMA); + this.state = 7041; + this.filename(); + this.state = 7046; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7047; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.CHAR_STRING: + this.enterOuterAlt(localctx, 3); + this.state = 7049; + this.filename(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Controlfile_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_controlfile_clauses; + return this; +} + +Controlfile_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Controlfile_clausesContext.prototype.constructor = Controlfile_clausesContext; + +Controlfile_clausesContext.prototype.CREATE = function() { + return this.getToken(PlSqlParser.CREATE, 0); +}; + +Controlfile_clausesContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Controlfile_clausesContext.prototype.CONTROLFILE = function() { + return this.getToken(PlSqlParser.CONTROLFILE, 0); +}; + +Controlfile_clausesContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Controlfile_clausesContext.prototype.filename = function() { + return this.getTypedRuleContext(FilenameContext,0); +}; + +Controlfile_clausesContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Controlfile_clausesContext.prototype.LOGICAL = function() { + return this.getToken(PlSqlParser.LOGICAL, 0); +}; + +Controlfile_clausesContext.prototype.PHYSICAL = function() { + return this.getToken(PlSqlParser.PHYSICAL, 0); +}; + +Controlfile_clausesContext.prototype.BACKUP = function() { + return this.getToken(PlSqlParser.BACKUP, 0); +}; + +Controlfile_clausesContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Controlfile_clausesContext.prototype.trace_file_clause = function() { + return this.getTypedRuleContext(Trace_file_clauseContext,0); +}; + +Controlfile_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterControlfile_clauses(this); + } +}; + +Controlfile_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitControlfile_clauses(this); + } +}; + +Controlfile_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitControlfile_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Controlfile_clausesContext = Controlfile_clausesContext; + +PlSqlParser.prototype.controlfile_clauses = function() { + + var localctx = new Controlfile_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 712, PlSqlParser.RULE_controlfile_clauses); + var _la = 0; // Token type + try { + this.state = 7073; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CREATE: + this.enterOuterAlt(localctx, 1); + this.state = 7052; + this.match(PlSqlParser.CREATE); + this.state = 7054; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOGICAL || _la===PlSqlParser.PHYSICAL) { + this.state = 7053; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOGICAL || _la===PlSqlParser.PHYSICAL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 7056; + this.match(PlSqlParser.STANDBY); + this.state = 7057; + this.match(PlSqlParser.CONTROLFILE); + this.state = 7058; + this.match(PlSqlParser.AS); + this.state = 7059; + this.filename(); + this.state = 7061; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 7060; + this.match(PlSqlParser.REUSE); + } + + break; + case PlSqlParser.BACKUP: + this.enterOuterAlt(localctx, 2); + this.state = 7063; + this.match(PlSqlParser.BACKUP); + this.state = 7064; + this.match(PlSqlParser.CONTROLFILE); + this.state = 7065; + this.match(PlSqlParser.TO); + this.state = 7071; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CHAR_STRING: + this.state = 7066; + this.filename(); + this.state = 7068; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 7067; + this.match(PlSqlParser.REUSE); + } + + break; + case PlSqlParser.TRACE: + this.state = 7070; + this.trace_file_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Trace_file_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_trace_file_clause; + return this; +} + +Trace_file_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Trace_file_clauseContext.prototype.constructor = Trace_file_clauseContext; + +Trace_file_clauseContext.prototype.TRACE = function() { + return this.getToken(PlSqlParser.TRACE, 0); +}; + +Trace_file_clauseContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Trace_file_clauseContext.prototype.filename = function() { + return this.getTypedRuleContext(FilenameContext,0); +}; + +Trace_file_clauseContext.prototype.RESETLOGS = function() { + return this.getToken(PlSqlParser.RESETLOGS, 0); +}; + +Trace_file_clauseContext.prototype.NORESETLOGS = function() { + return this.getToken(PlSqlParser.NORESETLOGS, 0); +}; + +Trace_file_clauseContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Trace_file_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterTrace_file_clause(this); + } +}; + +Trace_file_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitTrace_file_clause(this); + } +}; + +Trace_file_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitTrace_file_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Trace_file_clauseContext = Trace_file_clauseContext; + +PlSqlParser.prototype.trace_file_clause = function() { + + var localctx = new Trace_file_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 714, PlSqlParser.RULE_trace_file_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7075; + this.match(PlSqlParser.TRACE); + this.state = 7081; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.AS) { + this.state = 7076; + this.match(PlSqlParser.AS); + this.state = 7077; + this.filename(); + this.state = 7079; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 7078; + this.match(PlSqlParser.REUSE); + } + + } + + this.state = 7084; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NORESETLOGS || _la===PlSqlParser.RESETLOGS) { + this.state = 7083; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NORESETLOGS || _la===PlSqlParser.RESETLOGS)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Standby_database_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_standby_database_clauses; + return this; +} + +Standby_database_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Standby_database_clausesContext.prototype.constructor = Standby_database_clausesContext; + +Standby_database_clausesContext.prototype.activate_standby_db_clause = function() { + return this.getTypedRuleContext(Activate_standby_db_clauseContext,0); +}; + +Standby_database_clausesContext.prototype.maximize_standby_db_clause = function() { + return this.getTypedRuleContext(Maximize_standby_db_clauseContext,0); +}; + +Standby_database_clausesContext.prototype.register_logfile_clause = function() { + return this.getTypedRuleContext(Register_logfile_clauseContext,0); +}; + +Standby_database_clausesContext.prototype.commit_switchover_clause = function() { + return this.getTypedRuleContext(Commit_switchover_clauseContext,0); +}; + +Standby_database_clausesContext.prototype.start_standby_clause = function() { + return this.getTypedRuleContext(Start_standby_clauseContext,0); +}; + +Standby_database_clausesContext.prototype.stop_standby_clause = function() { + return this.getTypedRuleContext(Stop_standby_clauseContext,0); +}; + +Standby_database_clausesContext.prototype.convert_database_clause = function() { + return this.getTypedRuleContext(Convert_database_clauseContext,0); +}; + +Standby_database_clausesContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Standby_database_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterStandby_database_clauses(this); + } +}; + +Standby_database_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitStandby_database_clauses(this); + } +}; + +Standby_database_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitStandby_database_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Standby_database_clausesContext = Standby_database_clausesContext; + +PlSqlParser.prototype.standby_database_clauses = function() { + + var localctx = new Standby_database_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 716, PlSqlParser.RULE_standby_database_clauses); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7093; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ACTIVATE: + this.state = 7086; + this.activate_standby_db_clause(); + break; + case PlSqlParser.SET: + this.state = 7087; + this.maximize_standby_db_clause(); + break; + case PlSqlParser.REGISTER: + this.state = 7088; + this.register_logfile_clause(); + break; + case PlSqlParser.COMMIT: + case PlSqlParser.PREPARE: + this.state = 7089; + this.commit_switchover_clause(); + break; + case PlSqlParser.START: + this.state = 7090; + this.start_standby_clause(); + break; + case PlSqlParser.ABORT: + case PlSqlParser.STOP: + this.state = 7091; + this.stop_standby_clause(); + break; + case PlSqlParser.CONVERT: + this.state = 7092; + this.convert_database_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7096; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 7095; + this.parallel_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Activate_standby_db_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_activate_standby_db_clause; + return this; +} + +Activate_standby_db_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Activate_standby_db_clauseContext.prototype.constructor = Activate_standby_db_clauseContext; + +Activate_standby_db_clauseContext.prototype.ACTIVATE = function() { + return this.getToken(PlSqlParser.ACTIVATE, 0); +}; + +Activate_standby_db_clauseContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Activate_standby_db_clauseContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Activate_standby_db_clauseContext.prototype.FINISH = function() { + return this.getToken(PlSqlParser.FINISH, 0); +}; + +Activate_standby_db_clauseContext.prototype.APPLY = function() { + return this.getToken(PlSqlParser.APPLY, 0); +}; + +Activate_standby_db_clauseContext.prototype.PHYSICAL = function() { + return this.getToken(PlSqlParser.PHYSICAL, 0); +}; + +Activate_standby_db_clauseContext.prototype.LOGICAL = function() { + return this.getToken(PlSqlParser.LOGICAL, 0); +}; + +Activate_standby_db_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterActivate_standby_db_clause(this); + } +}; + +Activate_standby_db_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitActivate_standby_db_clause(this); + } +}; + +Activate_standby_db_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitActivate_standby_db_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Activate_standby_db_clauseContext = Activate_standby_db_clauseContext; + +PlSqlParser.prototype.activate_standby_db_clause = function() { + + var localctx = new Activate_standby_db_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 718, PlSqlParser.RULE_activate_standby_db_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7098; + this.match(PlSqlParser.ACTIVATE); + this.state = 7100; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOGICAL || _la===PlSqlParser.PHYSICAL) { + this.state = 7099; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOGICAL || _la===PlSqlParser.PHYSICAL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 7102; + this.match(PlSqlParser.STANDBY); + this.state = 7103; + this.match(PlSqlParser.DATABASE); + this.state = 7106; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FINISH) { + this.state = 7104; + this.match(PlSqlParser.FINISH); + this.state = 7105; + this.match(PlSqlParser.APPLY); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Maximize_standby_db_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_maximize_standby_db_clause; + return this; +} + +Maximize_standby_db_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Maximize_standby_db_clauseContext.prototype.constructor = Maximize_standby_db_clauseContext; + +Maximize_standby_db_clauseContext.prototype.SET = function() { + return this.getToken(PlSqlParser.SET, 0); +}; + +Maximize_standby_db_clauseContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Maximize_standby_db_clauseContext.prototype.DATABASE = function() { + return this.getToken(PlSqlParser.DATABASE, 0); +}; + +Maximize_standby_db_clauseContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Maximize_standby_db_clauseContext.prototype.MAXIMIZE = function() { + return this.getToken(PlSqlParser.MAXIMIZE, 0); +}; + +Maximize_standby_db_clauseContext.prototype.PROTECTION = function() { + return this.getToken(PlSqlParser.PROTECTION, 0); +}; + +Maximize_standby_db_clauseContext.prototype.AVAILABILITY = function() { + return this.getToken(PlSqlParser.AVAILABILITY, 0); +}; + +Maximize_standby_db_clauseContext.prototype.PERFORMANCE = function() { + return this.getToken(PlSqlParser.PERFORMANCE, 0); +}; + +Maximize_standby_db_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMaximize_standby_db_clause(this); + } +}; + +Maximize_standby_db_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMaximize_standby_db_clause(this); + } +}; + +Maximize_standby_db_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMaximize_standby_db_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Maximize_standby_db_clauseContext = Maximize_standby_db_clauseContext; + +PlSqlParser.prototype.maximize_standby_db_clause = function() { + + var localctx = new Maximize_standby_db_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 720, PlSqlParser.RULE_maximize_standby_db_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7108; + this.match(PlSqlParser.SET); + this.state = 7109; + this.match(PlSqlParser.STANDBY); + this.state = 7110; + this.match(PlSqlParser.DATABASE); + this.state = 7111; + this.match(PlSqlParser.TO); + this.state = 7112; + this.match(PlSqlParser.MAXIMIZE); + this.state = 7113; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.AVAILABILITY || _la===PlSqlParser.PERFORMANCE || _la===PlSqlParser.PROTECTION)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Register_logfile_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_register_logfile_clause; + return this; +} + +Register_logfile_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Register_logfile_clauseContext.prototype.constructor = Register_logfile_clauseContext; + +Register_logfile_clauseContext.prototype.REGISTER = function() { + return this.getToken(PlSqlParser.REGISTER, 0); +}; + +Register_logfile_clauseContext.prototype.LOGFILE = function() { + return this.getToken(PlSqlParser.LOGFILE, 0); +}; + +Register_logfile_clauseContext.prototype.PHYSICAL = function() { + return this.getToken(PlSqlParser.PHYSICAL, 0); +}; + +Register_logfile_clauseContext.prototype.LOGICAL = function() { + return this.getToken(PlSqlParser.LOGICAL, 0); +}; + +Register_logfile_clauseContext.prototype.OR = function() { + return this.getToken(PlSqlParser.OR, 0); +}; + +Register_logfile_clauseContext.prototype.REPLACE = function() { + return this.getToken(PlSqlParser.REPLACE, 0); +}; + +Register_logfile_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRegister_logfile_clause(this); + } +}; + +Register_logfile_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRegister_logfile_clause(this); + } +}; + +Register_logfile_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRegister_logfile_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Register_logfile_clauseContext = Register_logfile_clauseContext; + +PlSqlParser.prototype.register_logfile_clause = function() { + + var localctx = new Register_logfile_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 722, PlSqlParser.RULE_register_logfile_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7115; + this.match(PlSqlParser.REGISTER); + this.state = 7118; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.OR) { + this.state = 7116; + this.match(PlSqlParser.OR); + this.state = 7117; + this.match(PlSqlParser.REPLACE); + } + + this.state = 7120; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOGICAL || _la===PlSqlParser.PHYSICAL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 7121; + this.match(PlSqlParser.LOGFILE); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Commit_switchover_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_commit_switchover_clause; + return this; +} + +Commit_switchover_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Commit_switchover_clauseContext.prototype.constructor = Commit_switchover_clauseContext; + +Commit_switchover_clauseContext.prototype.TO = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TO); + } else { + return this.getToken(PlSqlParser.TO, i); + } +}; + + +Commit_switchover_clauseContext.prototype.SWITCHOVER = function() { + return this.getToken(PlSqlParser.SWITCHOVER, 0); +}; + +Commit_switchover_clauseContext.prototype.PREPARE = function() { + return this.getToken(PlSqlParser.PREPARE, 0); +}; + +Commit_switchover_clauseContext.prototype.COMMIT = function() { + return this.getToken(PlSqlParser.COMMIT, 0); +}; + +Commit_switchover_clauseContext.prototype.CANCEL = function() { + return this.getToken(PlSqlParser.CANCEL, 0); +}; + +Commit_switchover_clauseContext.prototype.LOGICAL = function() { + return this.getToken(PlSqlParser.LOGICAL, 0); +}; + +Commit_switchover_clauseContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Commit_switchover_clauseContext.prototype.PRIMARY = function() { + return this.getToken(PlSqlParser.PRIMARY, 0); +}; + +Commit_switchover_clauseContext.prototype.SESSION = function() { + return this.getToken(PlSqlParser.SESSION, 0); +}; + +Commit_switchover_clauseContext.prototype.SHUTDOWN = function() { + return this.getToken(PlSqlParser.SHUTDOWN, 0); +}; + +Commit_switchover_clauseContext.prototype.WAIT = function() { + return this.getToken(PlSqlParser.WAIT, 0); +}; + +Commit_switchover_clauseContext.prototype.NOWAIT = function() { + return this.getToken(PlSqlParser.NOWAIT, 0); +}; + +Commit_switchover_clauseContext.prototype.PHYSICAL = function() { + return this.getToken(PlSqlParser.PHYSICAL, 0); +}; + +Commit_switchover_clauseContext.prototype.WITH = function() { + return this.getToken(PlSqlParser.WITH, 0); +}; + +Commit_switchover_clauseContext.prototype.WITHOUT = function() { + return this.getToken(PlSqlParser.WITHOUT, 0); +}; + +Commit_switchover_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCommit_switchover_clause(this); + } +}; + +Commit_switchover_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCommit_switchover_clause(this); + } +}; + +Commit_switchover_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCommit_switchover_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Commit_switchover_clauseContext = Commit_switchover_clauseContext; + +PlSqlParser.prototype.commit_switchover_clause = function() { + + var localctx = new Commit_switchover_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 724, PlSqlParser.RULE_commit_switchover_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7123; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.COMMIT || _la===PlSqlParser.PREPARE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 7124; + this.match(PlSqlParser.TO); + this.state = 7125; + this.match(PlSqlParser.SWITCHOVER); + this.state = 7154; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.LOGICAL: + case PlSqlParser.TO: + this.state = 7151; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.TO: + this.state = 7126; + this.match(PlSqlParser.TO); + this.state = 7147; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,881,this._ctx); + switch(la_) { + case 1: + this.state = 7135; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,878,this._ctx); + switch(la_) { + case 1: + this.state = 7128; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOGICAL || _la===PlSqlParser.PHYSICAL) { + this.state = 7127; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOGICAL || _la===PlSqlParser.PHYSICAL)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 7130; + this.match(PlSqlParser.PRIMARY); + break; + + case 2: + this.state = 7132; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.PHYSICAL) { + this.state = 7131; + this.match(PlSqlParser.PHYSICAL); + } + + this.state = 7134; + this.match(PlSqlParser.STANDBY); + break; + + } + this.state = 7143; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.SESSION || _la===PlSqlParser.WITHOUT || _la===PlSqlParser.WITH) { + this.state = 7138; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.WITHOUT || _la===PlSqlParser.WITH) { + this.state = 7137; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.WITHOUT || _la===PlSqlParser.WITH)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 7140; + this.match(PlSqlParser.SESSION); + this.state = 7141; + this.match(PlSqlParser.SHUTDOWN); + this.state = 7142; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NOWAIT || _la===PlSqlParser.WAIT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + break; + + case 2: + this.state = 7145; + this.match(PlSqlParser.LOGICAL); + this.state = 7146; + this.match(PlSqlParser.STANDBY); + break; + + } + break; + case PlSqlParser.LOGICAL: + this.state = 7149; + this.match(PlSqlParser.LOGICAL); + this.state = 7150; + this.match(PlSqlParser.STANDBY); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case PlSqlParser.CANCEL: + this.state = 7153; + this.match(PlSqlParser.CANCEL); + break; + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Start_standby_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_start_standby_clause; + this.scn_value = null; // Token + return this; +} + +Start_standby_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Start_standby_clauseContext.prototype.constructor = Start_standby_clauseContext; + +Start_standby_clauseContext.prototype.START = function() { + return this.getToken(PlSqlParser.START, 0); +}; + +Start_standby_clauseContext.prototype.LOGICAL = function() { + return this.getToken(PlSqlParser.LOGICAL, 0); +}; + +Start_standby_clauseContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Start_standby_clauseContext.prototype.APPLY = function() { + return this.getToken(PlSqlParser.APPLY, 0); +}; + +Start_standby_clauseContext.prototype.IMMEDIATE = function() { + return this.getToken(PlSqlParser.IMMEDIATE, 0); +}; + +Start_standby_clauseContext.prototype.NODELAY = function() { + return this.getToken(PlSqlParser.NODELAY, 0); +}; + +Start_standby_clauseContext.prototype.NEW = function() { + return this.getToken(PlSqlParser.NEW, 0); +}; + +Start_standby_clauseContext.prototype.PRIMARY = function() { + return this.getToken(PlSqlParser.PRIMARY, 0); +}; + +Start_standby_clauseContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Start_standby_clauseContext.prototype.INITIAL = function() { + return this.getToken(PlSqlParser.INITIAL, 0); +}; + +Start_standby_clauseContext.prototype.SKIP_ = function() { + return this.getToken(PlSqlParser.SKIP_, 0); +}; + +Start_standby_clauseContext.prototype.FAILED = function() { + return this.getToken(PlSqlParser.FAILED, 0); +}; + +Start_standby_clauseContext.prototype.TRANSACTION = function() { + return this.getToken(PlSqlParser.TRANSACTION, 0); +}; + +Start_standby_clauseContext.prototype.FINISH = function() { + return this.getToken(PlSqlParser.FINISH, 0); +}; + +Start_standby_clauseContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Start_standby_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterStart_standby_clause(this); + } +}; + +Start_standby_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitStart_standby_clause(this); + } +}; + +Start_standby_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitStart_standby_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Start_standby_clauseContext = Start_standby_clauseContext; + +PlSqlParser.prototype.start_standby_clause = function() { + + var localctx = new Start_standby_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 726, PlSqlParser.RULE_start_standby_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7156; + this.match(PlSqlParser.START); + this.state = 7157; + this.match(PlSqlParser.LOGICAL); + this.state = 7158; + this.match(PlSqlParser.STANDBY); + this.state = 7159; + this.match(PlSqlParser.APPLY); + this.state = 7161; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.IMMEDIATE) { + this.state = 7160; + this.match(PlSqlParser.IMMEDIATE); + } + + this.state = 7164; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NODELAY) { + this.state = 7163; + this.match(PlSqlParser.NODELAY); + } + + this.state = 7177; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.NEW: + this.state = 7166; + this.match(PlSqlParser.NEW); + this.state = 7167; + this.match(PlSqlParser.PRIMARY); + this.state = 7168; + this.regular_id(); + break; + case PlSqlParser.INITIAL: + this.state = 7169; + this.match(PlSqlParser.INITIAL); + this.state = 7171; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.UNSIGNED_INTEGER) { + this.state = 7170; + localctx.scn_value = this.match(PlSqlParser.UNSIGNED_INTEGER); + } + + break; + case PlSqlParser.SKIP_: + this.state = 7173; + this.match(PlSqlParser.SKIP_); + this.state = 7174; + this.match(PlSqlParser.FAILED); + this.state = 7175; + this.match(PlSqlParser.TRANSACTION); + break; + case PlSqlParser.FINISH: + this.state = 7176; + this.match(PlSqlParser.FINISH); + break; + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Stop_standby_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_stop_standby_clause; + return this; +} + +Stop_standby_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Stop_standby_clauseContext.prototype.constructor = Stop_standby_clauseContext; + +Stop_standby_clauseContext.prototype.LOGICAL = function() { + return this.getToken(PlSqlParser.LOGICAL, 0); +}; + +Stop_standby_clauseContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Stop_standby_clauseContext.prototype.APPLY = function() { + return this.getToken(PlSqlParser.APPLY, 0); +}; + +Stop_standby_clauseContext.prototype.STOP = function() { + return this.getToken(PlSqlParser.STOP, 0); +}; + +Stop_standby_clauseContext.prototype.ABORT = function() { + return this.getToken(PlSqlParser.ABORT, 0); +}; + +Stop_standby_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterStop_standby_clause(this); + } +}; + +Stop_standby_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitStop_standby_clause(this); + } +}; + +Stop_standby_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitStop_standby_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Stop_standby_clauseContext = Stop_standby_clauseContext; + +PlSqlParser.prototype.stop_standby_clause = function() { + + var localctx = new Stop_standby_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 728, PlSqlParser.RULE_stop_standby_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7179; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ABORT || _la===PlSqlParser.STOP)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 7180; + this.match(PlSqlParser.LOGICAL); + this.state = 7181; + this.match(PlSqlParser.STANDBY); + this.state = 7182; + this.match(PlSqlParser.APPLY); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Convert_database_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_convert_database_clause; + return this; +} + +Convert_database_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Convert_database_clauseContext.prototype.constructor = Convert_database_clauseContext; + +Convert_database_clauseContext.prototype.CONVERT = function() { + return this.getToken(PlSqlParser.CONVERT, 0); +}; + +Convert_database_clauseContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Convert_database_clauseContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Convert_database_clauseContext.prototype.PHYSICAL = function() { + return this.getToken(PlSqlParser.PHYSICAL, 0); +}; + +Convert_database_clauseContext.prototype.SNAPSHOT = function() { + return this.getToken(PlSqlParser.SNAPSHOT, 0); +}; + +Convert_database_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterConvert_database_clause(this); + } +}; + +Convert_database_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitConvert_database_clause(this); + } +}; + +Convert_database_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitConvert_database_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Convert_database_clauseContext = Convert_database_clauseContext; + +PlSqlParser.prototype.convert_database_clause = function() { + + var localctx = new Convert_database_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 730, PlSqlParser.RULE_convert_database_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7184; + this.match(PlSqlParser.CONVERT); + this.state = 7185; + this.match(PlSqlParser.TO); + this.state = 7186; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.PHYSICAL || _la===PlSqlParser.SNAPSHOT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 7187; + this.match(PlSqlParser.STANDBY); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Default_settings_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_default_settings_clause; + return this; +} + +Default_settings_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Default_settings_clauseContext.prototype.constructor = Default_settings_clauseContext; + +Default_settings_clauseContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Default_settings_clauseContext.prototype.EDITION = function() { + return this.getToken(PlSqlParser.EDITION, 0); +}; + +Default_settings_clauseContext.prototype.EQUALS_OP = function() { + return this.getToken(PlSqlParser.EQUALS_OP, 0); +}; + +Default_settings_clauseContext.prototype.edition_name = function() { + return this.getTypedRuleContext(Edition_nameContext,0); +}; + +Default_settings_clauseContext.prototype.SET = function() { + return this.getToken(PlSqlParser.SET, 0); +}; + +Default_settings_clauseContext.prototype.TABLESPACE = function() { + return this.getToken(PlSqlParser.TABLESPACE, 0); +}; + +Default_settings_clauseContext.prototype.BIGFILE = function() { + return this.getToken(PlSqlParser.BIGFILE, 0); +}; + +Default_settings_clauseContext.prototype.SMALLFILE = function() { + return this.getToken(PlSqlParser.SMALLFILE, 0); +}; + +Default_settings_clauseContext.prototype.tablespace = function() { + return this.getTypedRuleContext(TablespaceContext,0); +}; + +Default_settings_clauseContext.prototype.TEMPORARY = function() { + return this.getToken(PlSqlParser.TEMPORARY, 0); +}; + +Default_settings_clauseContext.prototype.tablespace_group_name = function() { + return this.getTypedRuleContext(Tablespace_group_nameContext,0); +}; + +Default_settings_clauseContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Default_settings_clauseContext.prototype.GLOBAL_NAME = function() { + return this.getToken(PlSqlParser.GLOBAL_NAME, 0); +}; + +Default_settings_clauseContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Default_settings_clauseContext.prototype.database = function() { + return this.getTypedRuleContext(DatabaseContext,0); +}; + +Default_settings_clauseContext.prototype.PERIOD = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PERIOD); + } else { + return this.getToken(PlSqlParser.PERIOD, i); + } +}; + + +Default_settings_clauseContext.prototype.domain = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(DomainContext); + } else { + return this.getTypedRuleContext(DomainContext,i); + } +}; + +Default_settings_clauseContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +Default_settings_clauseContext.prototype.BLOCK = function() { + return this.getToken(PlSqlParser.BLOCK, 0); +}; + +Default_settings_clauseContext.prototype.CHANGE = function() { + return this.getToken(PlSqlParser.CHANGE, 0); +}; + +Default_settings_clauseContext.prototype.TRACKING = function() { + return this.getToken(PlSqlParser.TRACKING, 0); +}; + +Default_settings_clauseContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Default_settings_clauseContext.prototype.FILE = function() { + return this.getToken(PlSqlParser.FILE, 0); +}; + +Default_settings_clauseContext.prototype.filename = function() { + return this.getTypedRuleContext(FilenameContext,0); +}; + +Default_settings_clauseContext.prototype.REUSE = function() { + return this.getToken(PlSqlParser.REUSE, 0); +}; + +Default_settings_clauseContext.prototype.DISABLE = function() { + return this.getToken(PlSqlParser.DISABLE, 0); +}; + +Default_settings_clauseContext.prototype.flashback_mode_clause = function() { + return this.getTypedRuleContext(Flashback_mode_clauseContext,0); +}; + +Default_settings_clauseContext.prototype.set_time_zone_clause = function() { + return this.getTypedRuleContext(Set_time_zone_clauseContext,0); +}; + +Default_settings_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDefault_settings_clause(this); + } +}; + +Default_settings_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDefault_settings_clause(this); + } +}; + +Default_settings_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDefault_settings_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Default_settings_clauseContext = Default_settings_clauseContext; + +PlSqlParser.prototype.default_settings_clause = function() { + + var localctx = new Default_settings_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 732, PlSqlParser.RULE_default_settings_clause); + var _la = 0; // Token type + try { + this.state = 7235; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,892,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 7189; + this.match(PlSqlParser.DEFAULT); + this.state = 7190; + this.match(PlSqlParser.EDITION); + this.state = 7191; + this.match(PlSqlParser.EQUALS_OP); + this.state = 7192; + this.edition_name(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 7193; + this.match(PlSqlParser.SET); + this.state = 7194; + this.match(PlSqlParser.DEFAULT); + this.state = 7195; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.BIGFILE || _la===PlSqlParser.SMALLFILE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 7196; + this.match(PlSqlParser.TABLESPACE); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 7197; + this.match(PlSqlParser.DEFAULT); + this.state = 7198; + this.match(PlSqlParser.TABLESPACE); + this.state = 7199; + this.tablespace(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 7200; + this.match(PlSqlParser.DEFAULT); + this.state = 7201; + this.match(PlSqlParser.TEMPORARY); + this.state = 7202; + this.match(PlSqlParser.TABLESPACE); + this.state = 7205; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,888,this._ctx); + switch(la_) { + case 1: + this.state = 7203; + this.tablespace(); + break; + + case 2: + this.state = 7204; + this.tablespace_group_name(); + break; + + } + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 7207; + this.match(PlSqlParser.RENAME); + this.state = 7208; + this.match(PlSqlParser.GLOBAL_NAME); + this.state = 7209; + this.match(PlSqlParser.TO); + this.state = 7210; + this.database(); + this.state = 7213; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 7211; + this.match(PlSqlParser.PERIOD); + this.state = 7212; + this.domain(); + this.state = 7215; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.PERIOD); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 7217; + this.match(PlSqlParser.ENABLE); + this.state = 7218; + this.match(PlSqlParser.BLOCK); + this.state = 7219; + this.match(PlSqlParser.CHANGE); + this.state = 7220; + this.match(PlSqlParser.TRACKING); + this.state = 7227; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.USING) { + this.state = 7221; + this.match(PlSqlParser.USING); + this.state = 7222; + this.match(PlSqlParser.FILE); + this.state = 7223; + this.filename(); + this.state = 7225; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.REUSE) { + this.state = 7224; + this.match(PlSqlParser.REUSE); + } + + } + + break; + + case 7: + this.enterOuterAlt(localctx, 7); + this.state = 7229; + this.match(PlSqlParser.DISABLE); + this.state = 7230; + this.match(PlSqlParser.BLOCK); + this.state = 7231; + this.match(PlSqlParser.CHANGE); + this.state = 7232; + this.match(PlSqlParser.TRACKING); + break; + + case 8: + this.enterOuterAlt(localctx, 8); + this.state = 7233; + this.flashback_mode_clause(); + break; + + case 9: + this.enterOuterAlt(localctx, 9); + this.state = 7234; + this.set_time_zone_clause(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Set_time_zone_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_set_time_zone_clause; + return this; +} + +Set_time_zone_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Set_time_zone_clauseContext.prototype.constructor = Set_time_zone_clauseContext; + +Set_time_zone_clauseContext.prototype.SET = function() { + return this.getToken(PlSqlParser.SET, 0); +}; + +Set_time_zone_clauseContext.prototype.TIMEZONE = function() { + return this.getToken(PlSqlParser.TIMEZONE, 0); +}; + +Set_time_zone_clauseContext.prototype.EQUALS_OP = function() { + return this.getToken(PlSqlParser.EQUALS_OP, 0); +}; + +Set_time_zone_clauseContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Set_time_zone_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSet_time_zone_clause(this); + } +}; + +Set_time_zone_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSet_time_zone_clause(this); + } +}; + +Set_time_zone_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSet_time_zone_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Set_time_zone_clauseContext = Set_time_zone_clauseContext; + +PlSqlParser.prototype.set_time_zone_clause = function() { + + var localctx = new Set_time_zone_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 734, PlSqlParser.RULE_set_time_zone_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7237; + this.match(PlSqlParser.SET); + this.state = 7238; + this.match(PlSqlParser.TIMEZONE); + this.state = 7239; + this.match(PlSqlParser.EQUALS_OP); + this.state = 7240; + this.match(PlSqlParser.CHAR_STRING); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Instance_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_instance_clauses; + return this; +} + +Instance_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Instance_clausesContext.prototype.constructor = Instance_clausesContext; + +Instance_clausesContext.prototype.enable_or_disable = function() { + return this.getTypedRuleContext(Enable_or_disableContext,0); +}; + +Instance_clausesContext.prototype.INSTANCE = function() { + return this.getToken(PlSqlParser.INSTANCE, 0); +}; + +Instance_clausesContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Instance_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterInstance_clauses(this); + } +}; + +Instance_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitInstance_clauses(this); + } +}; + +Instance_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitInstance_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Instance_clausesContext = Instance_clausesContext; + +PlSqlParser.prototype.instance_clauses = function() { + + var localctx = new Instance_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 736, PlSqlParser.RULE_instance_clauses); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7242; + this.enable_or_disable(); + this.state = 7243; + this.match(PlSqlParser.INSTANCE); + this.state = 7244; + this.match(PlSqlParser.CHAR_STRING); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Security_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_security_clause; + return this; +} + +Security_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Security_clauseContext.prototype.constructor = Security_clauseContext; + +Security_clauseContext.prototype.GUARD = function() { + return this.getToken(PlSqlParser.GUARD, 0); +}; + +Security_clauseContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Security_clauseContext.prototype.STANDBY = function() { + return this.getToken(PlSqlParser.STANDBY, 0); +}; + +Security_clauseContext.prototype.NONE = function() { + return this.getToken(PlSqlParser.NONE, 0); +}; + +Security_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSecurity_clause(this); + } +}; + +Security_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSecurity_clause(this); + } +}; + +Security_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSecurity_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Security_clauseContext = Security_clauseContext; + +PlSqlParser.prototype.security_clause = function() { + + var localctx = new Security_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 738, PlSqlParser.RULE_security_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7246; + this.match(PlSqlParser.GUARD); + this.state = 7247; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.ALL || _la===PlSqlParser.NONE || _la===PlSqlParser.STANDBY)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DomainContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_domain; + return this; +} + +DomainContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DomainContext.prototype.constructor = DomainContext; + +DomainContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +DomainContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDomain(this); + } +}; + +DomainContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDomain(this); + } +}; + +DomainContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDomain(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.DomainContext = DomainContext; + +PlSqlParser.prototype.domain = function() { + + var localctx = new DomainContext(this, this._ctx, this.state); + this.enterRule(localctx, 740, PlSqlParser.RULE_domain); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7249; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function DatabaseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_database; + return this; +} + +DatabaseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +DatabaseContext.prototype.constructor = DatabaseContext; + +DatabaseContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +DatabaseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDatabase(this); + } +}; + +DatabaseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDatabase(this); + } +}; + +DatabaseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDatabase(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.DatabaseContext = DatabaseContext; + +PlSqlParser.prototype.database = function() { + + var localctx = new DatabaseContext(this, this._ctx, this.state); + this.enterRule(localctx, 742, PlSqlParser.RULE_database); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7251; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Edition_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_edition_name; + return this; +} + +Edition_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Edition_nameContext.prototype.constructor = Edition_nameContext; + +Edition_nameContext.prototype.regular_id = function() { + return this.getTypedRuleContext(Regular_idContext,0); +}; + +Edition_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterEdition_name(this); + } +}; + +Edition_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitEdition_name(this); + } +}; + +Edition_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitEdition_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Edition_nameContext = Edition_nameContext; + +PlSqlParser.prototype.edition_name = function() { + + var localctx = new Edition_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 744, PlSqlParser.RULE_edition_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7253; + this.regular_id(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FilenumberContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_filenumber; + return this; +} + +FilenumberContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FilenumberContext.prototype.constructor = FilenumberContext; + +FilenumberContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +FilenumberContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFilenumber(this); + } +}; + +FilenumberContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFilenumber(this); + } +}; + +FilenumberContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFilenumber(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.FilenumberContext = FilenumberContext; + +PlSqlParser.prototype.filenumber = function() { + + var localctx = new FilenumberContext(this, this._ctx, this.state); + this.enterRule(localctx, 746, PlSqlParser.RULE_filenumber); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7255; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function FilenameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_filename; + return this; +} + +FilenameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +FilenameContext.prototype.constructor = FilenameContext; + +FilenameContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +FilenameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterFilename(this); + } +}; + +FilenameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitFilename(this); + } +}; + +FilenameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitFilename(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.FilenameContext = FilenameContext; + +PlSqlParser.prototype.filename = function() { + + var localctx = new FilenameContext(this, this._ctx, this.state); + this.enterRule(localctx, 748, PlSqlParser.RULE_filename); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7257; + this.match(PlSqlParser.CHAR_STRING); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_tableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_table; + return this; +} + +Alter_tableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_tableContext.prototype.constructor = Alter_tableContext; + +Alter_tableContext.prototype.ALTER = function() { + return this.getToken(PlSqlParser.ALTER, 0); +}; + +Alter_tableContext.prototype.TABLE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLE); + } else { + return this.getToken(PlSqlParser.TABLE, i); + } +}; + + +Alter_tableContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Alter_tableContext.prototype.SEMICOLON = function() { + return this.getToken(PlSqlParser.SEMICOLON, 0); +}; + +Alter_tableContext.prototype.alter_table_properties = function() { + return this.getTypedRuleContext(Alter_table_propertiesContext,0); +}; + +Alter_tableContext.prototype.constraint_clauses = function() { + return this.getTypedRuleContext(Constraint_clausesContext,0); +}; + +Alter_tableContext.prototype.column_clauses = function() { + return this.getTypedRuleContext(Column_clausesContext,0); +}; + +Alter_tableContext.prototype.move_table_clause = function() { + return this.getTypedRuleContext(Move_table_clauseContext,0); +}; + +Alter_tableContext.prototype.enable_disable_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Enable_disable_clauseContext); + } else { + return this.getTypedRuleContext(Enable_disable_clauseContext,i); + } +}; + +Alter_tableContext.prototype.enable_or_disable = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Enable_or_disableContext); + } else { + return this.getTypedRuleContext(Enable_or_disableContext,i); + } +}; + +Alter_tableContext.prototype.LOCK = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LOCK); + } else { + return this.getToken(PlSqlParser.LOCK, i); + } +}; + + +Alter_tableContext.prototype.ALL = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.ALL); + } else { + return this.getToken(PlSqlParser.ALL, i); + } +}; + + +Alter_tableContext.prototype.TRIGGERS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TRIGGERS); + } else { + return this.getToken(PlSqlParser.TRIGGERS, i); + } +}; + + +Alter_tableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_table(this); + } +}; + +Alter_tableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_table(this); + } +}; + +Alter_tableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_table(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_tableContext = Alter_tableContext; + +PlSqlParser.prototype.alter_table = function() { + + var localctx = new Alter_tableContext(this, this._ctx, this.state); + this.enterRule(localctx, 750, PlSqlParser.RULE_alter_table); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7259; + this.match(PlSqlParser.ALTER); + this.state = 7260; + this.match(PlSqlParser.TABLE); + this.state = 7261; + this.tableview_name(); + this.state = 7267; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,893,this._ctx); + switch(la_) { + case 1: + break; + + case 2: + this.state = 7263; + this.alter_table_properties(); + break; + + case 3: + this.state = 7264; + this.constraint_clauses(); + break; + + case 4: + this.state = 7265; + this.column_clauses(); + break; + + case 5: + this.state = 7266; + this.move_table_clause(); + break; + + } + this.state = 7281; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE) { + this.state = 7277; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 7277; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,895,this._ctx); + switch(la_) { + case 1: + this.state = 7269; + this.enable_disable_clause(); + break; + + case 2: + this.state = 7270; + this.enable_or_disable(); + this.state = 7275; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.TABLE: + this.state = 7271; + this.match(PlSqlParser.TABLE); + this.state = 7272; + this.match(PlSqlParser.LOCK); + break; + case PlSqlParser.ALL: + this.state = 7273; + this.match(PlSqlParser.ALL); + this.state = 7274; + this.match(PlSqlParser.TRIGGERS); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + + } + this.state = 7279; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE); + } + + this.state = 7283; + this.match(PlSqlParser.SEMICOLON); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_table_propertiesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_table_properties; + return this; +} + +Alter_table_propertiesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_table_propertiesContext.prototype.constructor = Alter_table_propertiesContext; + +Alter_table_propertiesContext.prototype.alter_table_properties_1 = function() { + return this.getTypedRuleContext(Alter_table_properties_1Context,0); +}; + +Alter_table_propertiesContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Alter_table_propertiesContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Alter_table_propertiesContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Alter_table_propertiesContext.prototype.shrink_clause = function() { + return this.getTypedRuleContext(Shrink_clauseContext,0); +}; + +Alter_table_propertiesContext.prototype.READ = function() { + return this.getToken(PlSqlParser.READ, 0); +}; + +Alter_table_propertiesContext.prototype.ONLY = function() { + return this.getToken(PlSqlParser.ONLY, 0); +}; + +Alter_table_propertiesContext.prototype.WRITE = function() { + return this.getToken(PlSqlParser.WRITE, 0); +}; + +Alter_table_propertiesContext.prototype.REKEY = function() { + return this.getToken(PlSqlParser.REKEY, 0); +}; + +Alter_table_propertiesContext.prototype.CHAR_STRING = function() { + return this.getToken(PlSqlParser.CHAR_STRING, 0); +}; + +Alter_table_propertiesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_table_properties(this); + } +}; + +Alter_table_propertiesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_table_properties(this); + } +}; + +Alter_table_propertiesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_table_properties(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_table_propertiesContext = Alter_table_propertiesContext; + +PlSqlParser.prototype.alter_table_properties = function() { + + var localctx = new Alter_table_propertiesContext(this, this._ctx, this.state); + this.enterRule(localctx, 752, PlSqlParser.RULE_alter_table_properties); + try { + this.state = 7296; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,898,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 7285; + this.alter_table_properties_1(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 7286; + this.match(PlSqlParser.RENAME); + this.state = 7287; + this.match(PlSqlParser.TO); + this.state = 7288; + this.tableview_name(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 7289; + this.shrink_clause(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 7290; + this.match(PlSqlParser.READ); + this.state = 7291; + this.match(PlSqlParser.ONLY); + break; + + case 5: + this.enterOuterAlt(localctx, 5); + this.state = 7292; + this.match(PlSqlParser.READ); + this.state = 7293; + this.match(PlSqlParser.WRITE); + break; + + case 6: + this.enterOuterAlt(localctx, 6); + this.state = 7294; + this.match(PlSqlParser.REKEY); + this.state = 7295; + this.match(PlSqlParser.CHAR_STRING); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_table_properties_1Context(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_table_properties_1; + return this; +} + +Alter_table_properties_1Context.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_table_properties_1Context.prototype.constructor = Alter_table_properties_1Context; + +Alter_table_properties_1Context.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.logging_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logging_clauseContext); + } else { + return this.getTypedRuleContext(Logging_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.table_compression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Table_compressionContext); + } else { + return this.getTypedRuleContext(Table_compressionContext,i); + } +}; + +Alter_table_properties_1Context.prototype.supplemental_table_logging = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Supplemental_table_loggingContext); + } else { + return this.getTypedRuleContext(Supplemental_table_loggingContext,i); + } +}; + +Alter_table_properties_1Context.prototype.allocate_extent_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Allocate_extent_clauseContext); + } else { + return this.getTypedRuleContext(Allocate_extent_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.deallocate_unused_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Deallocate_unused_clauseContext); + } else { + return this.getTypedRuleContext(Deallocate_unused_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.RESULT_CACHE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RESULT_CACHE); + } else { + return this.getToken(PlSqlParser.RESULT_CACHE, i); + } +}; + + +Alter_table_properties_1Context.prototype.LEFT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.LEFT_PAREN); + } else { + return this.getToken(PlSqlParser.LEFT_PAREN, i); + } +}; + + +Alter_table_properties_1Context.prototype.MODE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.MODE); + } else { + return this.getToken(PlSqlParser.MODE, i); + } +}; + + +Alter_table_properties_1Context.prototype.RIGHT_PAREN = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.RIGHT_PAREN); + } else { + return this.getToken(PlSqlParser.RIGHT_PAREN, i); + } +}; + + +Alter_table_properties_1Context.prototype.upgrade_table_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Upgrade_table_clauseContext); + } else { + return this.getTypedRuleContext(Upgrade_table_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.records_per_block_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Records_per_block_clauseContext); + } else { + return this.getTypedRuleContext(Records_per_block_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.parallel_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Parallel_clauseContext); + } else { + return this.getTypedRuleContext(Parallel_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.row_movement_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Row_movement_clauseContext); + } else { + return this.getTypedRuleContext(Row_movement_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.flashback_archive_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Flashback_archive_clauseContext); + } else { + return this.getTypedRuleContext(Flashback_archive_clauseContext,i); + } +}; + +Alter_table_properties_1Context.prototype.alter_iot_clauses = function() { + return this.getTypedRuleContext(Alter_iot_clausesContext,0); +}; + +Alter_table_properties_1Context.prototype.CACHE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CACHE); + } else { + return this.getToken(PlSqlParser.CACHE, i); + } +}; + + +Alter_table_properties_1Context.prototype.NOCACHE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.NOCACHE); + } else { + return this.getToken(PlSqlParser.NOCACHE, i); + } +}; + + +Alter_table_properties_1Context.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFAULT); + } else { + return this.getToken(PlSqlParser.DEFAULT, i); + } +}; + + +Alter_table_properties_1Context.prototype.FORCE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.FORCE); + } else { + return this.getToken(PlSqlParser.FORCE, i); + } +}; + + +Alter_table_properties_1Context.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_table_properties_1(this); + } +}; + +Alter_table_properties_1Context.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_table_properties_1(this); + } +}; + +Alter_table_properties_1Context.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_table_properties_1(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_table_properties_1Context = Alter_table_properties_1Context; + +PlSqlParser.prototype.alter_table_properties_1 = function() { + + var localctx = new Alter_table_properties_1Context(this, this._ctx, this.state); + this.enterRule(localctx, 754, PlSqlParser.RULE_alter_table_properties_1); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7315; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 7315; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 7298; + this.physical_attributes_clause(); + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.state = 7299; + this.logging_clause(); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.NOCOMPRESS: + this.state = 7300; + this.table_compression(); + break; + case PlSqlParser.ADD: + case PlSqlParser.DROP: + this.state = 7301; + this.supplemental_table_logging(); + break; + case PlSqlParser.ALLOCATE: + this.state = 7302; + this.allocate_extent_clause(); + break; + case PlSqlParser.DEALLOCATE: + this.state = 7303; + this.deallocate_unused_clause(); + break; + case PlSqlParser.CACHE: + case PlSqlParser.NOCACHE: + this.state = 7304; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.CACHE || _la===PlSqlParser.NOCACHE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + break; + case PlSqlParser.RESULT_CACHE: + this.state = 7305; + this.match(PlSqlParser.RESULT_CACHE); + this.state = 7306; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7307; + this.match(PlSqlParser.MODE); + this.state = 7308; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DEFAULT || _la===PlSqlParser.FORCE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 7309; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.UPGRADE: + this.state = 7310; + this.upgrade_table_clause(); + break; + case PlSqlParser.MINIMIZE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.RECORDS_PER_BLOCK: + this.state = 7311; + this.records_per_block_clause(); + break; + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + this.state = 7312; + this.parallel_clause(); + break; + case PlSqlParser.DISABLE: + case PlSqlParser.ENABLE: + case PlSqlParser.ROW: + this.state = 7313; + this.row_movement_clause(); + break; + case PlSqlParser.FLASHBACK: + case PlSqlParser.NO: + this.state = 7314; + this.flashback_archive_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7317; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,900, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + this.state = 7320; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ADD || _la===PlSqlParser.COALESCE || _la===PlSqlParser.COMPRESS || _la===PlSqlParser.MAPPING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOMAPPING || _la===PlSqlParser.OVERFLOW || _la===PlSqlParser.PCTTHRESHOLD) { + this.state = 7319; + this.alter_iot_clauses(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_iot_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_iot_clauses; + return this; +} + +Alter_iot_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_iot_clausesContext.prototype.constructor = Alter_iot_clausesContext; + +Alter_iot_clausesContext.prototype.index_org_table_clause = function() { + return this.getTypedRuleContext(Index_org_table_clauseContext,0); +}; + +Alter_iot_clausesContext.prototype.alter_overflow_clause = function() { + return this.getTypedRuleContext(Alter_overflow_clauseContext,0); +}; + +Alter_iot_clausesContext.prototype.alter_mapping_table_clause = function() { + return this.getTypedRuleContext(Alter_mapping_table_clauseContext,0); +}; + +Alter_iot_clausesContext.prototype.COALESCE = function() { + return this.getToken(PlSqlParser.COALESCE, 0); +}; + +Alter_iot_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_iot_clauses(this); + } +}; + +Alter_iot_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_iot_clauses(this); + } +}; + +Alter_iot_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_iot_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_iot_clausesContext = Alter_iot_clausesContext; + +PlSqlParser.prototype.alter_iot_clauses = function() { + + var localctx = new Alter_iot_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 756, PlSqlParser.RULE_alter_iot_clauses); + try { + this.state = 7326; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,902,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 7322; + this.index_org_table_clause(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 7323; + this.alter_overflow_clause(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 7324; + this.alter_mapping_table_clause(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 7325; + this.match(PlSqlParser.COALESCE); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_mapping_table_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_mapping_table_clause; + return this; +} + +Alter_mapping_table_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_mapping_table_clauseContext.prototype.constructor = Alter_mapping_table_clauseContext; + +Alter_mapping_table_clauseContext.prototype.MAPPING = function() { + return this.getToken(PlSqlParser.MAPPING, 0); +}; + +Alter_mapping_table_clauseContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Alter_mapping_table_clauseContext.prototype.allocate_extent_clause = function() { + return this.getTypedRuleContext(Allocate_extent_clauseContext,0); +}; + +Alter_mapping_table_clauseContext.prototype.deallocate_unused_clause = function() { + return this.getTypedRuleContext(Deallocate_unused_clauseContext,0); +}; + +Alter_mapping_table_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_mapping_table_clause(this); + } +}; + +Alter_mapping_table_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_mapping_table_clause(this); + } +}; + +Alter_mapping_table_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_mapping_table_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_mapping_table_clauseContext = Alter_mapping_table_clauseContext; + +PlSqlParser.prototype.alter_mapping_table_clause = function() { + + var localctx = new Alter_mapping_table_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 758, PlSqlParser.RULE_alter_mapping_table_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7328; + this.match(PlSqlParser.MAPPING); + this.state = 7329; + this.match(PlSqlParser.TABLE); + this.state = 7332; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ALLOCATE: + this.state = 7330; + this.allocate_extent_clause(); + break; + case PlSqlParser.DEALLOCATE: + this.state = 7331; + this.deallocate_unused_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Alter_overflow_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_alter_overflow_clause; + return this; +} + +Alter_overflow_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Alter_overflow_clauseContext.prototype.constructor = Alter_overflow_clauseContext; + +Alter_overflow_clauseContext.prototype.add_overflow_clause = function() { + return this.getTypedRuleContext(Add_overflow_clauseContext,0); +}; + +Alter_overflow_clauseContext.prototype.OVERFLOW = function() { + return this.getToken(PlSqlParser.OVERFLOW, 0); +}; + +Alter_overflow_clauseContext.prototype.segment_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Segment_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Segment_attributes_clauseContext,i); + } +}; + +Alter_overflow_clauseContext.prototype.allocate_extent_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Allocate_extent_clauseContext); + } else { + return this.getTypedRuleContext(Allocate_extent_clauseContext,i); + } +}; + +Alter_overflow_clauseContext.prototype.shrink_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Shrink_clauseContext); + } else { + return this.getTypedRuleContext(Shrink_clauseContext,i); + } +}; + +Alter_overflow_clauseContext.prototype.deallocate_unused_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Deallocate_unused_clauseContext); + } else { + return this.getTypedRuleContext(Deallocate_unused_clauseContext,i); + } +}; + +Alter_overflow_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAlter_overflow_clause(this); + } +}; + +Alter_overflow_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAlter_overflow_clause(this); + } +}; + +Alter_overflow_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAlter_overflow_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Alter_overflow_clauseContext = Alter_overflow_clauseContext; + +PlSqlParser.prototype.alter_overflow_clause = function() { + + var localctx = new Alter_overflow_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 760, PlSqlParser.RULE_alter_overflow_clause); + var _la = 0; // Token type + try { + this.state = 7344; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ADD: + this.enterOuterAlt(localctx, 1); + this.state = 7334; + this.add_overflow_clause(); + break; + case PlSqlParser.OVERFLOW: + this.enterOuterAlt(localctx, 2); + this.state = 7335; + this.match(PlSqlParser.OVERFLOW); + this.state = 7340; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 7340; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.INITRANS: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + case PlSqlParser.TABLESPACE: + this.state = 7336; + this.segment_attributes_clause(); + break; + case PlSqlParser.ALLOCATE: + this.state = 7337; + this.allocate_extent_clause(); + break; + case PlSqlParser.SHRINK: + this.state = 7338; + this.shrink_clause(); + break; + case PlSqlParser.DEALLOCATE: + this.state = 7339; + this.deallocate_unused_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7342; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ALLOCATE || _la===PlSqlParser.DEALLOCATE || _la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.SHRINK || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Add_overflow_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_add_overflow_clause; + return this; +} + +Add_overflow_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Add_overflow_clauseContext.prototype.constructor = Add_overflow_clauseContext; + +Add_overflow_clauseContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Add_overflow_clauseContext.prototype.OVERFLOW = function() { + return this.getToken(PlSqlParser.OVERFLOW, 0); +}; + +Add_overflow_clauseContext.prototype.segment_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Segment_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Segment_attributes_clauseContext,i); + } +}; + +Add_overflow_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Add_overflow_clauseContext.prototype.PARTITION = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.PARTITION); + } else { + return this.getToken(PlSqlParser.PARTITION, i); + } +}; + + +Add_overflow_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Add_overflow_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Add_overflow_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAdd_overflow_clause(this); + } +}; + +Add_overflow_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAdd_overflow_clause(this); + } +}; + +Add_overflow_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAdd_overflow_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Add_overflow_clauseContext = Add_overflow_clauseContext; + +PlSqlParser.prototype.add_overflow_clause = function() { + + var localctx = new Add_overflow_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 762, PlSqlParser.RULE_add_overflow_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7346; + this.match(PlSqlParser.ADD); + this.state = 7347; + this.match(PlSqlParser.OVERFLOW); + this.state = 7349; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 7348; + this.segment_attributes_clause(); + } + + this.state = 7367; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LEFT_PAREN) { + this.state = 7351; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7352; + this.match(PlSqlParser.PARTITION); + this.state = 7354; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 7353; + this.segment_attributes_clause(); + } + + this.state = 7363; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 7356; + this.match(PlSqlParser.COMMA); + this.state = 7357; + this.match(PlSqlParser.PARTITION); + this.state = 7359; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 7358; + this.segment_attributes_clause(); + } + + this.state = 7365; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7366; + this.match(PlSqlParser.RIGHT_PAREN); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Enable_disable_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_enable_disable_clause; + return this; +} + +Enable_disable_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Enable_disable_clauseContext.prototype.constructor = Enable_disable_clauseContext; + +Enable_disable_clauseContext.prototype.ENABLE = function() { + return this.getToken(PlSqlParser.ENABLE, 0); +}; + +Enable_disable_clauseContext.prototype.DISABLE = function() { + return this.getToken(PlSqlParser.DISABLE, 0); +}; + +Enable_disable_clauseContext.prototype.UNIQUE = function() { + return this.getToken(PlSqlParser.UNIQUE, 0); +}; + +Enable_disable_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Enable_disable_clauseContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Enable_disable_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Enable_disable_clauseContext.prototype.PRIMARY = function() { + return this.getToken(PlSqlParser.PRIMARY, 0); +}; + +Enable_disable_clauseContext.prototype.KEY = function() { + return this.getToken(PlSqlParser.KEY, 0); +}; + +Enable_disable_clauseContext.prototype.CONSTRAINT = function() { + return this.getToken(PlSqlParser.CONSTRAINT, 0); +}; + +Enable_disable_clauseContext.prototype.constraint_name = function() { + return this.getTypedRuleContext(Constraint_nameContext,0); +}; + +Enable_disable_clauseContext.prototype.using_index_clause = function() { + return this.getTypedRuleContext(Using_index_clauseContext,0); +}; + +Enable_disable_clauseContext.prototype.exceptions_clause = function() { + return this.getTypedRuleContext(Exceptions_clauseContext,0); +}; + +Enable_disable_clauseContext.prototype.CASCADE = function() { + return this.getToken(PlSqlParser.CASCADE, 0); +}; + +Enable_disable_clauseContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Enable_disable_clauseContext.prototype.VALIDATE = function() { + return this.getToken(PlSqlParser.VALIDATE, 0); +}; + +Enable_disable_clauseContext.prototype.NOVALIDATE = function() { + return this.getToken(PlSqlParser.NOVALIDATE, 0); +}; + +Enable_disable_clauseContext.prototype.KEEP = function() { + return this.getToken(PlSqlParser.KEEP, 0); +}; + +Enable_disable_clauseContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Enable_disable_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Enable_disable_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterEnable_disable_clause(this); + } +}; + +Enable_disable_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitEnable_disable_clause(this); + } +}; + +Enable_disable_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitEnable_disable_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Enable_disable_clauseContext = Enable_disable_clauseContext; + +PlSqlParser.prototype.enable_disable_clause = function() { + + var localctx = new Enable_disable_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 764, PlSqlParser.RULE_enable_disable_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7369; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DISABLE || _la===PlSqlParser.ENABLE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 7371; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOVALIDATE || _la===PlSqlParser.VALIDATE) { + this.state = 7370; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NOVALIDATE || _la===PlSqlParser.VALIDATE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } + + this.state = 7389; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.UNIQUE: + this.state = 7373; + this.match(PlSqlParser.UNIQUE); + this.state = 7374; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7375; + this.column_name(); + this.state = 7380; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 7376; + this.match(PlSqlParser.COMMA); + this.state = 7377; + this.column_name(); + this.state = 7382; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7383; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.PRIMARY: + this.state = 7385; + this.match(PlSqlParser.PRIMARY); + this.state = 7386; + this.match(PlSqlParser.KEY); + break; + case PlSqlParser.CONSTRAINT: + this.state = 7387; + this.match(PlSqlParser.CONSTRAINT); + this.state = 7388; + this.constraint_name(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7392; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.USING) { + this.state = 7391; + this.using_index_clause(); + } + + this.state = 7395; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.EXCEPTIONS) { + this.state = 7394; + this.exceptions_clause(); + } + + this.state = 7398; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CASCADE) { + this.state = 7397; + this.match(PlSqlParser.CASCADE); + } + + this.state = 7402; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DROP || _la===PlSqlParser.KEEP) { + this.state = 7400; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.DROP || _la===PlSqlParser.KEEP)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + this.state = 7401; + this.match(PlSqlParser.INDEX); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Using_index_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_using_index_clause; + return this; +} + +Using_index_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Using_index_clauseContext.prototype.constructor = Using_index_clauseContext; + +Using_index_clauseContext.prototype.USING = function() { + return this.getToken(PlSqlParser.USING, 0); +}; + +Using_index_clauseContext.prototype.INDEX = function() { + return this.getToken(PlSqlParser.INDEX, 0); +}; + +Using_index_clauseContext.prototype.index_name = function() { + return this.getTypedRuleContext(Index_nameContext,0); +}; + +Using_index_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Using_index_clauseContext.prototype.create_index = function() { + return this.getTypedRuleContext(Create_indexContext,0); +}; + +Using_index_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Using_index_clauseContext.prototype.index_attributes = function() { + return this.getTypedRuleContext(Index_attributesContext,0); +}; + +Using_index_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterUsing_index_clause(this); + } +}; + +Using_index_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitUsing_index_clause(this); + } +}; + +Using_index_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitUsing_index_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Using_index_clauseContext = Using_index_clauseContext; + +PlSqlParser.prototype.using_index_clause = function() { + + var localctx = new Using_index_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 766, PlSqlParser.RULE_using_index_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7404; + this.match(PlSqlParser.USING); + this.state = 7405; + this.match(PlSqlParser.INDEX); + this.state = 7412; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,919,this._ctx); + if(la_===1) { + this.state = 7406; + this.index_name(); + + } else if(la_===2) { + this.state = 7407; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7408; + this.create_index(); + this.state = 7409; + this.match(PlSqlParser.RIGHT_PAREN); + + } else if(la_===3) { + this.state = 7411; + this.index_attributes(); + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_attributesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_attributes; + return this; +} + +Index_attributesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_attributesContext.prototype.constructor = Index_attributesContext; + +Index_attributesContext.prototype.physical_attributes_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Physical_attributes_clauseContext); + } else { + return this.getTypedRuleContext(Physical_attributes_clauseContext,i); + } +}; + +Index_attributesContext.prototype.logging_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Logging_clauseContext); + } else { + return this.getTypedRuleContext(Logging_clauseContext,i); + } +}; + +Index_attributesContext.prototype.TABLESPACE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.TABLESPACE); + } else { + return this.getToken(PlSqlParser.TABLESPACE, i); + } +}; + + +Index_attributesContext.prototype.key_compression = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Key_compressionContext); + } else { + return this.getTypedRuleContext(Key_compressionContext,i); + } +}; + +Index_attributesContext.prototype.sort_or_nosort = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Sort_or_nosortContext); + } else { + return this.getTypedRuleContext(Sort_or_nosortContext,i); + } +}; + +Index_attributesContext.prototype.REVERSE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.REVERSE); + } else { + return this.getToken(PlSqlParser.REVERSE, i); + } +}; + + +Index_attributesContext.prototype.visible_or_invisible = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Visible_or_invisibleContext); + } else { + return this.getTypedRuleContext(Visible_or_invisibleContext,i); + } +}; + +Index_attributesContext.prototype.parallel_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Parallel_clauseContext); + } else { + return this.getTypedRuleContext(Parallel_clauseContext,i); + } +}; + +Index_attributesContext.prototype.tablespace = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(TablespaceContext); + } else { + return this.getTypedRuleContext(TablespaceContext,i); + } +}; + +Index_attributesContext.prototype.DEFAULT = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.DEFAULT); + } else { + return this.getToken(PlSqlParser.DEFAULT, i); + } +}; + + +Index_attributesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_attributes(this); + } +}; + +Index_attributesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_attributes(this); + } +}; + +Index_attributesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_attributes(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_attributesContext = Index_attributesContext; + +PlSqlParser.prototype.index_attributes = function() { + + var localctx = new Index_attributesContext(this, this._ctx, this.state); + this.enterRule(localctx, 768, PlSqlParser.RULE_index_attributes); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7426; + this._errHandler.sync(this); + var _alt = 1; + do { + switch (_alt) { + case 1: + this.state = 7426; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.INITRANS: + case PlSqlParser.PCTFREE: + case PlSqlParser.PCTUSED: + case PlSqlParser.STORAGE: + this.state = 7414; + this.physical_attributes_clause(); + break; + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.LOGGING: + case PlSqlParser.NOLOGGING: + this.state = 7415; + this.logging_clause(); + break; + case PlSqlParser.TABLESPACE: + this.state = 7416; + this.match(PlSqlParser.TABLESPACE); + this.state = 7419; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case PlSqlParser.NO_CLUSTERING: + case PlSqlParser.NO_COALESCE_SQ: + case PlSqlParser.NO_COMMON_DATA: + case PlSqlParser.NO_CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.NO_CONNECT_BY_COMBINE_SW: + case PlSqlParser.NO_CONNECT_BY_COST_BASED: + case PlSqlParser.NO_CONNECT_BY_ELIM_DUPS: + case PlSqlParser.NO_CONNECT_BY_FILTERING: + case PlSqlParser.NOCOPY: + case PlSqlParser.NO_COST_XML_QUERY_REWRITE: + case PlSqlParser.NO_CPU_COSTING: + case PlSqlParser.NOCPU_COSTING: + case PlSqlParser.NOCYCLE: + case PlSqlParser.NO_DATA_SECURITY_REWRITE: + case PlSqlParser.NO_DECORRELATE: + case PlSqlParser.NODELAY: + case PlSqlParser.NO_DOMAIN_INDEX_FILTER: + case PlSqlParser.NO_DST_UPGRADE_INSERT_CONV: + case PlSqlParser.NO_ELIM_GROUPBY: + case PlSqlParser.NO_ELIMINATE_JOIN: + case PlSqlParser.NO_ELIMINATE_OBY: + case PlSqlParser.NO_ELIMINATE_OUTER_JOIN: + case PlSqlParser.NOENTITYESCAPING: + case PlSqlParser.NO_EXPAND_GSET_TO_UNION: + case PlSqlParser.NO_EXPAND: + case PlSqlParser.NO_EXPAND_TABLE: + case PlSqlParser.NO_FACT: + case PlSqlParser.NO_FACTORIZE_JOIN: + case PlSqlParser.NO_FILTERING: + case PlSqlParser.NOFORCE: + case PlSqlParser.NO_FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.NO_GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.NO_GBY_PUSHDOWN: + case PlSqlParser.NOGUARANTEE: + case PlSqlParser.NO_INDEX_FFS: + case PlSqlParser.NO_INDEX: + case PlSqlParser.NO_INDEX_SS: + case PlSqlParser.NO_INMEMORY: + case PlSqlParser.NO_INMEMORY_PRUNING: + case PlSqlParser.NOKEEP: + case PlSqlParser.NO_LOAD: + case PlSqlParser.NOLOCAL: + case PlSqlParser.NOLOGGING: + case PlSqlParser.NOMAPPING: + case PlSqlParser.NOMAXVALUE: + case PlSqlParser.NO_MERGE: + case PlSqlParser.NOMINIMIZE: + case PlSqlParser.NOMINVALUE: + case PlSqlParser.NO_MODEL_PUSH_REF: + case PlSqlParser.NO_MONITORING: + case PlSqlParser.NOMONITORING: + case PlSqlParser.NO_MONITOR: + case PlSqlParser.NO_MULTIMV_REWRITE: + case PlSqlParser.NO_NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NONBLOCKING: + case PlSqlParser.NONEDITIONABLE: + case PlSqlParser.NONE: + case PlSqlParser.NO_NLJ_BATCHING: + case PlSqlParser.NO_NLJ_PREFETCH: + case PlSqlParser.NO: + case PlSqlParser.NONSCHEMA: + case PlSqlParser.NO_OBJECT_LINK: + case PlSqlParser.NOORDER: + case PlSqlParser.NO_ORDER_ROLLUPS: + case PlSqlParser.NO_OUTER_JOIN_TO_ANTI: + case PlSqlParser.NO_OUTER_JOIN_TO_INNER: + case PlSqlParser.NOOVERRIDE: + case PlSqlParser.NO_PARALLEL_INDEX: + case PlSqlParser.NOPARALLEL_INDEX: + case PlSqlParser.NO_PARALLEL: + case PlSqlParser.NOPARALLEL: + case PlSqlParser.NO_PARTIAL_COMMIT: + case PlSqlParser.NO_PARTIAL_JOIN: + case PlSqlParser.NO_PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.NOPARTITION: + case PlSqlParser.NO_PLACE_DISTINCT: + case PlSqlParser.NO_PLACE_GROUP_BY: + case PlSqlParser.NO_PQ_CONCURRENT_UNION: + case PlSqlParser.NO_PQ_MAP: + case PlSqlParser.NO_PQ_REPLICATE: + case PlSqlParser.NO_PQ_SKEW: + case PlSqlParser.NO_PRUNE_GSETS: + case PlSqlParser.NO_PULL_PRED: + case PlSqlParser.NO_PUSH_PRED: + case PlSqlParser.NO_PUSH_SUBQ: + case PlSqlParser.NO_PX_FAULT_TOLERANCE: + case PlSqlParser.NO_PX_JOIN_FILTER: + case PlSqlParser.NO_QKN_BUFF: + case PlSqlParser.NO_QUERY_TRANSFORMATION: + case PlSqlParser.NO_REF_CASCADE: + case PlSqlParser.NORELOCATE: + case PlSqlParser.NORELY: + case PlSqlParser.NOREPAIR: + case PlSqlParser.NOREPLAY: + case PlSqlParser.NORESETLOGS: + case PlSqlParser.NO_RESULT_CACHE: + case PlSqlParser.NOREVERSE: + case PlSqlParser.NO_REWRITE: + case PlSqlParser.NOREWRITE: + case PlSqlParser.NORMAL: + case PlSqlParser.NO_ROOT_SW_FOR_LOCAL: + case PlSqlParser.NOROWDEPENDENCIES: + case PlSqlParser.NOSCHEMACHECK: + case PlSqlParser.NOSEGMENT: + case PlSqlParser.NO_SEMIJOIN: + case PlSqlParser.NO_SEMI_TO_INNER: + case PlSqlParser.NO_SET_TO_JOIN: + case PlSqlParser.NOSORT: + case PlSqlParser.NO_SQL_TRANSLATION: + case PlSqlParser.NO_SQL_TUNE: + case PlSqlParser.NO_STAR_TRANSFORMATION: + case PlSqlParser.NO_STATEMENT_QUEUING: + case PlSqlParser.NO_STATS_GSETS: + case PlSqlParser.NOSTRICT: + case PlSqlParser.NO_SUBQUERY_PRUNING: + case PlSqlParser.NO_SUBSTRB_PAD: + case PlSqlParser.NO_SWAP_JOIN_INPUTS: + case PlSqlParser.NOSWITCH: + case PlSqlParser.NO_TABLE_LOOKUP_BY_NL: + case PlSqlParser.NO_TEMP_TABLE: + case PlSqlParser.NOTHING: + case PlSqlParser.NOTIFICATION: + case PlSqlParser.NO_TRANSFORM_DISTINCT_AGG: + case PlSqlParser.NO_UNNEST: + case PlSqlParser.NO_USE_CUBE: + case PlSqlParser.NO_USE_HASH_AGGREGATION: + case PlSqlParser.NO_USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.NO_USE_HASH: + case PlSqlParser.NO_USE_INVISIBLE_INDEXES: + case PlSqlParser.NO_USE_MERGE: + case PlSqlParser.NO_USE_NL: + case PlSqlParser.NO_USE_VECTOR_AGGREGATION: + case PlSqlParser.NOVALIDATE: + case PlSqlParser.NO_VECTOR_TRANSFORM_DIMS: + case PlSqlParser.NO_VECTOR_TRANSFORM_FACT: + case PlSqlParser.NO_VECTOR_TRANSFORM: + case PlSqlParser.NO_XDB_FASTPATH_INSERT: + case PlSqlParser.NO_XML_DML_REWRITE: + case PlSqlParser.NO_XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.NO_XMLINDEX_REWRITE: + case PlSqlParser.NO_XML_QUERY_REWRITE: + case PlSqlParser.NO_ZONEMAP: + case PlSqlParser.NTH_VALUE: + case PlSqlParser.NULLIF: + case PlSqlParser.NULLS: + case PlSqlParser.NUMBER: + case PlSqlParser.NUMERIC: + case PlSqlParser.NUM_INDEX_KEYS: + case PlSqlParser.NUMTODSINTERVAL: + case PlSqlParser.NUMTOYMINTERVAL: + case PlSqlParser.NVARCHAR2: + case PlSqlParser.NVL2: + case PlSqlParser.OBJECT2XML: + case PlSqlParser.OBJECT: + case PlSqlParser.OBJ_ID: + case PlSqlParser.OBJNO: + case PlSqlParser.OBJNO_REUSE: + case PlSqlParser.OCCURENCES: + case PlSqlParser.OFFLINE: + case PlSqlParser.OFF: + case PlSqlParser.OFFSET: + case PlSqlParser.OIDINDEX: + case PlSqlParser.OID: + case PlSqlParser.OLAP: + case PlSqlParser.OLD: + case PlSqlParser.OLD_PUSH_PRED: + case PlSqlParser.OLS: + case PlSqlParser.OLTP: + case PlSqlParser.OMIT: + case PlSqlParser.ONE: + case PlSqlParser.ONLINE: + case PlSqlParser.ONLY: + case PlSqlParser.OPAQUE: + case PlSqlParser.OPAQUE_TRANSFORM: + case PlSqlParser.OPAQUE_XCANONICAL: + case PlSqlParser.OPCODE: + case PlSqlParser.OPEN: + case PlSqlParser.OPERATIONS: + case PlSqlParser.OPERATOR: + case PlSqlParser.OPT_ESTIMATE: + case PlSqlParser.OPTIMAL: + case PlSqlParser.OPTIMIZE: + case PlSqlParser.OPTIMIZER_FEATURES_ENABLE: + case PlSqlParser.OPTIMIZER_GOAL: + case PlSqlParser.OPT_PARAM: + case PlSqlParser.ORA_BRANCH: + case PlSqlParser.ORA_CHECK_ACL: + case PlSqlParser.ORA_CHECK_PRIVILEGE: + case PlSqlParser.ORA_CLUSTERING: + case PlSqlParser.ORADATA: + case PlSqlParser.ORADEBUG: + case PlSqlParser.ORA_DST_AFFECTED: + case PlSqlParser.ORA_DST_CONVERT: + case PlSqlParser.ORA_DST_ERROR: + case PlSqlParser.ORA_GET_ACLIDS: + case PlSqlParser.ORA_GET_PRIVILEGES: + case PlSqlParser.ORA_HASH: + case PlSqlParser.ORA_INVOKING_USERID: + case PlSqlParser.ORA_INVOKING_USER: + case PlSqlParser.ORA_INVOKING_XS_USER_GUID: + case PlSqlParser.ORA_INVOKING_XS_USER: + case PlSqlParser.ORA_RAWCOMPARE: + case PlSqlParser.ORA_RAWCONCAT: + case PlSqlParser.ORA_ROWSCN: + case PlSqlParser.ORA_ROWSCN_RAW: + case PlSqlParser.ORA_ROWVERSION: + case PlSqlParser.ORA_TABVERSION: + case PlSqlParser.ORA_WRITE_TIME: + case PlSqlParser.ORDERED: + case PlSqlParser.ORDERED_PREDICATES: + case PlSqlParser.ORDINALITY: + case PlSqlParser.OR_EXPAND: + case PlSqlParser.ORGANIZATION: + case PlSqlParser.OR_PREDICATES: + case PlSqlParser.OSERROR: + case PlSqlParser.OTHER: + case PlSqlParser.OUTER_JOIN_TO_ANTI: + case PlSqlParser.OUTER_JOIN_TO_INNER: + case PlSqlParser.OUTER: + case PlSqlParser.OUTLINE_LEAF: + case PlSqlParser.OUTLINE: + case PlSqlParser.OUT_OF_LINE: + case PlSqlParser.OUT: + case PlSqlParser.OVERFLOW_NOMOVE: + case PlSqlParser.OVERFLOW: + case PlSqlParser.OVERLAPS: + case PlSqlParser.OVER: + case PlSqlParser.OVERRIDING: + case PlSqlParser.OWNER: + case PlSqlParser.OWNERSHIP: + case PlSqlParser.OWN: + case PlSqlParser.PACKAGE: + case PlSqlParser.PACKAGES: + case PlSqlParser.PARALLEL_ENABLE: + case PlSqlParser.PARALLEL_INDEX: + case PlSqlParser.PARALLEL: + case PlSqlParser.PARAMETERS: + case PlSqlParser.PARAM: + case PlSqlParser.PARENT: + case PlSqlParser.PARITY: + case PlSqlParser.PARTIAL_JOIN: + case PlSqlParser.PARTIALLY: + case PlSqlParser.PARTIAL: + case PlSqlParser.PARTIAL_ROLLUP_PUSHDOWN: + case PlSqlParser.PARTITION_HASH: + case PlSqlParser.PARTITION_LIST: + case PlSqlParser.PARTITION: + case PlSqlParser.PARTITION_RANGE: + case PlSqlParser.PARTITIONS: + case PlSqlParser.PARTNUMINST: + case PlSqlParser.PASSING: + case PlSqlParser.PASSWORD_GRACE_TIME: + case PlSqlParser.PASSWORD_LIFE_TIME: + case PlSqlParser.PASSWORD_LOCK_TIME: + case PlSqlParser.PASSWORD: + case PlSqlParser.PASSWORD_REUSE_MAX: + case PlSqlParser.PASSWORD_REUSE_TIME: + case PlSqlParser.PASSWORD_VERIFY_FUNCTION: + case PlSqlParser.PAST: + case PlSqlParser.PATCH: + case PlSqlParser.PATH: + case PlSqlParser.PATH_PREFIX: + case PlSqlParser.PATHS: + case PlSqlParser.PATTERN: + case PlSqlParser.PBL_HS_BEGIN: + case PlSqlParser.PBL_HS_END: + case PlSqlParser.PCTINCREASE: + case PlSqlParser.PCTTHRESHOLD: + case PlSqlParser.PCTUSED: + case PlSqlParser.PCTVERSION: + case PlSqlParser.PENDING: + case PlSqlParser.PERCENT_KEYWORD: + case PlSqlParser.PERCENT_RANKM: + case PlSqlParser.PERFORMANCE: + case PlSqlParser.PERIOD_KEYWORD: + case PlSqlParser.PERMANENT: + case PlSqlParser.PERMISSION: + case PlSqlParser.PERMUTE: + case PlSqlParser.PER: + case PlSqlParser.PFILE: + case PlSqlParser.PHYSICAL: + case PlSqlParser.PIKEY: + case PlSqlParser.PIPELINED: + case PlSqlParser.PIV_GB: + case PlSqlParser.PIVOT: + case PlSqlParser.PIV_SSF: + case PlSqlParser.PLACE_DISTINCT: + case PlSqlParser.PLACE_GROUP_BY: + case PlSqlParser.PLAN: + case PlSqlParser.PLSCOPE_SETTINGS: + case PlSqlParser.PLS_INTEGER: + case PlSqlParser.PLSQL_CCFLAGS: + case PlSqlParser.PLSQL_CODE_TYPE: + case PlSqlParser.PLSQL_DEBUG: + case PlSqlParser.PLSQL_OPTIMIZE_LEVEL: + case PlSqlParser.PLSQL_WARNINGS: + case PlSqlParser.PLUGGABLE: + case PlSqlParser.POINT: + case PlSqlParser.POLICY: + case PlSqlParser.POOL_16K: + case PlSqlParser.POOL_2K: + case PlSqlParser.POOL_32K: + case PlSqlParser.POOL_4K: + case PlSqlParser.POOL_8K: + case PlSqlParser.POSITIVEN: + case PlSqlParser.POSITIVE: + case PlSqlParser.POST_TRANSACTION: + case PlSqlParser.POWERMULTISET_BY_CARDINALITY: + case PlSqlParser.POWERMULTISET: + case PlSqlParser.POWER: + case PlSqlParser.PQ_CONCURRENT_UNION: + case PlSqlParser.PQ_DISTRIBUTE: + case PlSqlParser.PQ_DISTRIBUTE_WINDOW: + case PlSqlParser.PQ_FILTER: + case PlSqlParser.PQ_MAP: + case PlSqlParser.PQ_NOMAP: + case PlSqlParser.PQ_REPLICATE: + case PlSqlParser.PQ_SKEW: + case PlSqlParser.PRAGMA: + case PlSqlParser.PREBUILT: + case PlSqlParser.PRECEDES: + case PlSqlParser.PRECEDING: + case PlSqlParser.PRECISION: + case PlSqlParser.PRECOMPUTE_SUBQUERY: + case PlSqlParser.PREDICATE_REORDERS: + case PlSqlParser.PRELOAD: + case PlSqlParser.PREPARE: + case PlSqlParser.PRESENTNNV: + case PlSqlParser.PRESENT: + case PlSqlParser.PRESENTV: + case PlSqlParser.PRESERVE_OID: + case PlSqlParser.PRESERVE: + case PlSqlParser.PRETTY: + case PlSqlParser.PREVIOUS: + case PlSqlParser.PREV: + case PlSqlParser.PRIMARY: + case PlSqlParser.PRINTBLOBTOCLOB: + case PlSqlParser.PRIORITY: + case PlSqlParser.PRIVATE: + case PlSqlParser.PRIVATE_SGA: + case PlSqlParser.PRIVILEGED: + case PlSqlParser.PRIVILEGE: + case PlSqlParser.PRIVILEGES: + case PlSqlParser.PROCEDURAL: + case PlSqlParser.PROCEDURE: + case PlSqlParser.PROCESS: + case PlSqlParser.PROFILE: + case PlSqlParser.PROGRAM: + case PlSqlParser.PROJECT: + case PlSqlParser.PROPAGATE: + case PlSqlParser.PROTECTED: + case PlSqlParser.PROTECTION: + case PlSqlParser.PROXY: + case PlSqlParser.PRUNING: + case PlSqlParser.PULL_PRED: + case PlSqlParser.PURGE: + case PlSqlParser.PUSH_PRED: + case PlSqlParser.PUSH_SUBQ: + case PlSqlParser.PX_FAULT_TOLERANCE: + case PlSqlParser.PX_GRANULE: + case PlSqlParser.PX_JOIN_FILTER: + case PlSqlParser.QB_NAME: + case PlSqlParser.QUERY_BLOCK: + case PlSqlParser.QUERY: + case PlSqlParser.QUEUE_CURR: + case PlSqlParser.QUEUE: + case PlSqlParser.QUEUE_ROWP: + case PlSqlParser.QUIESCE: + case PlSqlParser.QUORUM: + case PlSqlParser.QUOTA: + case PlSqlParser.RAISE: + case PlSqlParser.RANDOM_LOCAL: + case PlSqlParser.RANDOM: + case PlSqlParser.RANGE: + case PlSqlParser.RANKM: + case PlSqlParser.RAPIDLY: + case PlSqlParser.RAW: + case PlSqlParser.RAWTOHEX: + case PlSqlParser.RAWTONHEX: + case PlSqlParser.RBA: + case PlSqlParser.RBO_OUTLINE: + case PlSqlParser.RDBA: + case PlSqlParser.READ: + case PlSqlParser.READS: + case PlSqlParser.REALM: + case PlSqlParser.REAL: + case PlSqlParser.REBALANCE: + case PlSqlParser.REBUILD: + case PlSqlParser.RECORD: + case PlSqlParser.RECORDS_PER_BLOCK: + case PlSqlParser.RECOVERABLE: + case PlSqlParser.RECOVER: + case PlSqlParser.RECOVERY: + case PlSqlParser.RECYCLEBIN: + case PlSqlParser.RECYCLE: + case PlSqlParser.REDACTION: + case PlSqlParser.REDEFINE: + case PlSqlParser.REDO: + case PlSqlParser.REDUCED: + case PlSqlParser.REDUNDANCY: + case PlSqlParser.REF_CASCADE_CURSOR: + case PlSqlParser.REFERENCED: + case PlSqlParser.REFERENCE: + case PlSqlParser.REFERENCES: + case PlSqlParser.REFERENCING: + case PlSqlParser.REF: + case PlSqlParser.REFRESH: + case PlSqlParser.REFTOHEX: + case PlSqlParser.REGEXP_COUNT: + case PlSqlParser.REGEXP_INSTR: + case PlSqlParser.REGEXP_LIKE: + case PlSqlParser.REGEXP_REPLACE: + case PlSqlParser.REGEXP_SUBSTR: + case PlSqlParser.REGISTER: + case PlSqlParser.REGR_AVGX: + case PlSqlParser.REGR_AVGY: + case PlSqlParser.REGR_COUNT: + case PlSqlParser.REGR_INTERCEPT: + case PlSqlParser.REGR_R2: + case PlSqlParser.REGR_SLOPE: + case PlSqlParser.REGR_SXX: + case PlSqlParser.REGR_SXY: + case PlSqlParser.REGR_SYY: + case PlSqlParser.REGULAR: + case PlSqlParser.REJECT: + case PlSqlParser.REKEY: + case PlSqlParser.RELATIONAL: + case PlSqlParser.RELOCATE: + case PlSqlParser.RELY: + case PlSqlParser.REMAINDER: + case PlSqlParser.REMOTE_MAPPED: + case PlSqlParser.REMOVE: + case PlSqlParser.RENAME: + case PlSqlParser.REPAIR: + case PlSqlParser.REPEAT: + case PlSqlParser.REPLACE: + case PlSqlParser.REPLICATION: + case PlSqlParser.REQUIRED: + case PlSqlParser.RESETLOGS: + case PlSqlParser.RESET: + case PlSqlParser.RESIZE: + case PlSqlParser.RESOLVE: + case PlSqlParser.RESOLVER: + case PlSqlParser.RESPECT: + case PlSqlParser.RESTART: + case PlSqlParser.RESTORE_AS_INTERVALS: + case PlSqlParser.RESTORE: + case PlSqlParser.RESTRICT_ALL_REF_CONS: + case PlSqlParser.RESTRICTED: + case PlSqlParser.RESTRICT_REFERENCES: + case PlSqlParser.RESTRICT: + case PlSqlParser.RESULT_CACHE: + case PlSqlParser.RESULT: + case PlSqlParser.RESUMABLE: + case PlSqlParser.RESUME: + case PlSqlParser.RETENTION: + case PlSqlParser.RETRY_ON_ROW_CHANGE: + case PlSqlParser.RETURNING: + case PlSqlParser.RETURN: + case PlSqlParser.REUSE: + case PlSqlParser.REVERSE: + case PlSqlParser.REWRITE_OR_ERROR: + case PlSqlParser.REWRITE: + case PlSqlParser.RIGHT: + case PlSqlParser.ROLE: + case PlSqlParser.ROLESET: + case PlSqlParser.ROLES: + case PlSqlParser.ROLLBACK: + case PlSqlParser.ROLLING: + case PlSqlParser.ROLLUP: + case PlSqlParser.ROWDEPENDENCIES: + case PlSqlParser.ROWID_MAPPING_TABLE: + case PlSqlParser.ROWID: + case PlSqlParser.ROWIDTOCHAR: + case PlSqlParser.ROWIDTONCHAR: + case PlSqlParser.ROW_LENGTH: + case PlSqlParser.ROWNUM: + case PlSqlParser.ROW: + case PlSqlParser.ROWS: + case PlSqlParser.RPAD: + case PlSqlParser.RTRIM: + case PlSqlParser.RULE: + case PlSqlParser.RULES: + case PlSqlParser.RUNNING: + case PlSqlParser.SALT: + case PlSqlParser.SAMPLE: + case PlSqlParser.SAVE_AS_INTERVALS: + case PlSqlParser.SAVEPOINT: + case PlSqlParser.SAVE: + case PlSqlParser.SB4: + case PlSqlParser.SCALE_ROWS: + case PlSqlParser.SCALE: + case PlSqlParser.SCAN_INSTANCES: + case PlSqlParser.SCAN: + case PlSqlParser.SCHEDULER: + case PlSqlParser.SCHEMACHECK: + case PlSqlParser.SCHEMA: + case PlSqlParser.SCN_ASCENDING: + case PlSqlParser.SCN: + case PlSqlParser.SCOPE: + case PlSqlParser.SCRUB: + case PlSqlParser.SD_ALL: + case PlSqlParser.SD_INHIBIT: + case PlSqlParser.SDO_GEOM_MBR: + case PlSqlParser.SD_SHOW: + case PlSqlParser.SEARCH: + case PlSqlParser.SECOND: + case PlSqlParser.SECRET: + case PlSqlParser.SECUREFILE_DBA: + case PlSqlParser.SECUREFILE: + case PlSqlParser.SECURITY: + case PlSqlParser.SEED: + case PlSqlParser.SEG_BLOCK: + case PlSqlParser.SEG_FILE: + case PlSqlParser.SEGMENT: + case PlSqlParser.SELECTIVITY: + case PlSqlParser.SELF: + case PlSqlParser.SEMIJOIN_DRIVER: + case PlSqlParser.SEMIJOIN: + case PlSqlParser.SEMI_TO_INNER: + case PlSqlParser.SEQUENCED: + case PlSqlParser.SEQUENCE: + case PlSqlParser.SEQUENTIAL: + case PlSqlParser.SERIALIZABLE: + case PlSqlParser.SERIALLY_REUSABLE: + case PlSqlParser.SERIAL: + case PlSqlParser.SERVERERROR: + case PlSqlParser.SERVICE_NAME_CONVERT: + case PlSqlParser.SERVICES: + case PlSqlParser.SESSION_CACHED_CURSORS: + case PlSqlParser.SESSION: + case PlSqlParser.SESSIONS_PER_USER: + case PlSqlParser.SESSIONTIMEZONE: + case PlSqlParser.SESSIONTZNAME: + case PlSqlParser.SET: + case PlSqlParser.SETS: + case PlSqlParser.SETTINGS: + case PlSqlParser.SET_TO_JOIN: + case PlSqlParser.SEVERE: + case PlSqlParser.SHARED_POOL: + case PlSqlParser.SHARED: + case PlSqlParser.SHARING: + case PlSqlParser.SHELFLIFE: + case PlSqlParser.SHOW: + case PlSqlParser.SHRINK: + case PlSqlParser.SHUTDOWN: + case PlSqlParser.SIBLINGS: + case PlSqlParser.SID: + case PlSqlParser.SIGNAL_COMPONENT: + case PlSqlParser.SIGNAL_FUNCTION: + case PlSqlParser.SIGN: + case PlSqlParser.SIGNTYPE: + case PlSqlParser.SIMPLE_INTEGER: + case PlSqlParser.SIMPLE: + case PlSqlParser.SINGLE: + case PlSqlParser.SINGLETASK: + case PlSqlParser.SINH: + case PlSqlParser.SIN: + case PlSqlParser.SKIP_EXT_OPTIMIZER: + case PlSqlParser.SKIP_: + case PlSqlParser.SKIP_UNQ_UNUSABLE_IDX: + case PlSqlParser.SKIP_UNUSABLE_INDEXES: + case PlSqlParser.SMALLFILE: + case PlSqlParser.SMALLINT: + case PlSqlParser.SNAPSHOT: + case PlSqlParser.SOME: + case PlSqlParser.SORT: + case PlSqlParser.SOUNDEX: + case PlSqlParser.SOURCE_FILE_DIRECTORY: + case PlSqlParser.SOURCE_FILE_NAME_CONVERT: + case PlSqlParser.SOURCE: + case PlSqlParser.SPACE_KEYWORD: + case PlSqlParser.SPECIFICATION: + case PlSqlParser.SPFILE: + case PlSqlParser.SPLIT: + case PlSqlParser.SPREADSHEET: + case PlSqlParser.SQLDATA: + case PlSqlParser.SQLERROR: + case PlSqlParser.SQLLDR: + case PlSqlParser.SQL: + case PlSqlParser.SQL_TRACE: + case PlSqlParser.SQL_TRANSLATION_PROFILE: + case PlSqlParser.SQRT: + case PlSqlParser.STALE: + case PlSqlParser.STANDALONE: + case PlSqlParser.STANDARD_HASH: + case PlSqlParser.STANDBY_MAX_DATA_DELAY: + case PlSqlParser.STANDBYS: + case PlSqlParser.STANDBY: + case PlSqlParser.STAR: + case PlSqlParser.STAR_TRANSFORMATION: + case PlSqlParser.STARTUP: + case PlSqlParser.STATEMENT_ID: + case PlSqlParser.STATEMENT_QUEUING: + case PlSqlParser.STATEMENTS: + case PlSqlParser.STATEMENT: + case PlSqlParser.STATE: + case PlSqlParser.STATIC: + case PlSqlParser.STATISTICS: + case PlSqlParser.STATS_BINOMIAL_TEST: + case PlSqlParser.STATS_CROSSTAB: + case PlSqlParser.STATS_F_TEST: + case PlSqlParser.STATS_KS_TEST: + case PlSqlParser.STATS_MODE: + case PlSqlParser.STATS_MW_TEST: + case PlSqlParser.STATS_ONE_WAY_ANOVA: + case PlSqlParser.STATS_T_TEST_INDEP: + case PlSqlParser.STATS_T_TEST_INDEPU: + case PlSqlParser.STATS_T_TEST_ONE: + case PlSqlParser.STATS_T_TEST_PAIRED: + case PlSqlParser.STATS_WSR_TEST: + case PlSqlParser.STDDEV_POP: + case PlSqlParser.STDDEV_SAMP: + case PlSqlParser.STOP: + case PlSqlParser.STORAGE: + case PlSqlParser.STORE: + case PlSqlParser.STREAMS: + case PlSqlParser.STREAM: + case PlSqlParser.STRICT: + case PlSqlParser.STRING: + case PlSqlParser.STRIPE_COLUMNS: + case PlSqlParser.STRIPE_WIDTH: + case PlSqlParser.STRIP: + case PlSqlParser.STRUCTURE: + case PlSqlParser.SUBMULTISET: + case PlSqlParser.SUBPARTITION_REL: + case PlSqlParser.SUBPARTITIONS: + case PlSqlParser.SUBPARTITION: + case PlSqlParser.SUBQUERIES: + case PlSqlParser.SUBQUERY_PRUNING: + case PlSqlParser.SUBSCRIBE: + case PlSqlParser.SUBSET: + case PlSqlParser.SUBSTITUTABLE: + case PlSqlParser.SUBSTR2: + case PlSqlParser.SUBSTR4: + case PlSqlParser.SUBSTRB: + case PlSqlParser.SUBSTRC: + case PlSqlParser.SUBTYPE: + case PlSqlParser.SUCCESSFUL: + case PlSqlParser.SUCCESS: + case PlSqlParser.SUMMARY: + case PlSqlParser.SUPPLEMENTAL: + case PlSqlParser.SUSPEND: + case PlSqlParser.SWAP_JOIN_INPUTS: + case PlSqlParser.SWITCHOVER: + case PlSqlParser.SWITCH: + case PlSqlParser.SYNCHRONOUS: + case PlSqlParser.SYNC: + case PlSqlParser.SYSASM: + case PlSqlParser.SYS_AUDIT: + case PlSqlParser.SYSAUX: + case PlSqlParser.SYSBACKUP: + case PlSqlParser.SYS_CHECKACL: + case PlSqlParser.SYS_CHECK_PRIVILEGE: + case PlSqlParser.SYS_CONNECT_BY_PATH: + case PlSqlParser.SYS_CONTEXT: + case PlSqlParser.SYSDATE: + case PlSqlParser.SYSDBA: + case PlSqlParser.SYS_DBURIGEN: + case PlSqlParser.SYSDG: + case PlSqlParser.SYS_DL_CURSOR: + case PlSqlParser.SYS_DM_RXFORM_CHR: + case PlSqlParser.SYS_DM_RXFORM_NUM: + case PlSqlParser.SYS_DOM_COMPARE: + case PlSqlParser.SYS_DST_PRIM2SEC: + case PlSqlParser.SYS_DST_SEC2PRIM: + case PlSqlParser.SYS_ET_BFILE_TO_RAW: + case PlSqlParser.SYS_ET_BLOB_TO_IMAGE: + case PlSqlParser.SYS_ET_IMAGE_TO_BLOB: + case PlSqlParser.SYS_ET_RAW_TO_BFILE: + case PlSqlParser.SYS_EXTPDTXT: + case PlSqlParser.SYS_EXTRACT_UTC: + case PlSqlParser.SYS_FBT_INSDEL: + case PlSqlParser.SYS_FILTER_ACLS: + case PlSqlParser.SYS_FNMATCHES: + case PlSqlParser.SYS_FNREPLACE: + case PlSqlParser.SYS_GET_ACLIDS: + case PlSqlParser.SYS_GET_COL_ACLIDS: + case PlSqlParser.SYS_GET_PRIVILEGES: + case PlSqlParser.SYS_GETTOKENID: + case PlSqlParser.SYS_GETXTIVAL: + case PlSqlParser.SYS_GUID: + case PlSqlParser.SYSGUID: + case PlSqlParser.SYSKM: + case PlSqlParser.SYS_MAKE_XMLNODEID: + case PlSqlParser.SYS_MAKEXML: + case PlSqlParser.SYS_MKXMLATTR: + case PlSqlParser.SYS_MKXTI: + case PlSqlParser.SYSOBJ: + case PlSqlParser.SYS_OP_ADT2BIN: + case PlSqlParser.SYS_OP_ADTCONS: + case PlSqlParser.SYS_OP_ALSCRVAL: + case PlSqlParser.SYS_OP_ATG: + case PlSqlParser.SYS_OP_BIN2ADT: + case PlSqlParser.SYS_OP_BITVEC: + case PlSqlParser.SYS_OP_BL2R: + case PlSqlParser.SYS_OP_BLOOM_FILTER_LIST: + case PlSqlParser.SYS_OP_BLOOM_FILTER: + case PlSqlParser.SYS_OP_C2C: + case PlSqlParser.SYS_OP_CAST: + case PlSqlParser.SYS_OP_CEG: + case PlSqlParser.SYS_OP_CL2C: + case PlSqlParser.SYS_OP_COMBINED_HASH: + case PlSqlParser.SYS_OP_COMP: + case PlSqlParser.SYS_OP_CONVERT: + case PlSqlParser.SYS_OP_COUNTCHG: + case PlSqlParser.SYS_OP_CSCONV: + case PlSqlParser.SYS_OP_CSCONVTEST: + case PlSqlParser.SYS_OP_CSR: + case PlSqlParser.SYS_OP_CSX_PATCH: + case PlSqlParser.SYS_OP_CYCLED_SEQ: + case PlSqlParser.SYS_OP_DECOMP: + case PlSqlParser.SYS_OP_DESCEND: + case PlSqlParser.SYS_OP_DISTINCT: + case PlSqlParser.SYS_OP_DRA: + case PlSqlParser.SYS_OP_DUMP: + case PlSqlParser.SYS_OP_DV_CHECK: + case PlSqlParser.SYS_OP_ENFORCE_NOT_NULL: + case PlSqlParser.SYSOPER: + case PlSqlParser.SYS_OP_EXTRACT: + case PlSqlParser.SYS_OP_GROUPING: + case PlSqlParser.SYS_OP_GUID: + case PlSqlParser.SYS_OP_HASH: + case PlSqlParser.SYS_OP_IIX: + case PlSqlParser.SYS_OP_ITR: + case PlSqlParser.SYS_OP_KEY_VECTOR_CREATE: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER_LIST: + case PlSqlParser.SYS_OP_KEY_VECTOR_FILTER: + case PlSqlParser.SYS_OP_KEY_VECTOR_SUCCEEDED: + case PlSqlParser.SYS_OP_KEY_VECTOR_USE: + case PlSqlParser.SYS_OP_LBID: + case PlSqlParser.SYS_OP_LOBLOC2BLOB: + case PlSqlParser.SYS_OP_LOBLOC2CLOB: + case PlSqlParser.SYS_OP_LOBLOC2ID: + case PlSqlParser.SYS_OP_LOBLOC2NCLOB: + case PlSqlParser.SYS_OP_LOBLOC2TYP: + case PlSqlParser.SYS_OP_LSVI: + case PlSqlParser.SYS_OP_LVL: + case PlSqlParser.SYS_OP_MAKEOID: + case PlSqlParser.SYS_OP_MAP_NONNULL: + case PlSqlParser.SYS_OP_MSR: + case PlSqlParser.SYS_OP_NICOMBINE: + case PlSqlParser.SYS_OP_NIEXTRACT: + case PlSqlParser.SYS_OP_NII: + case PlSqlParser.SYS_OP_NIX: + case PlSqlParser.SYS_OP_NOEXPAND: + case PlSqlParser.SYS_OP_NTCIMG: + case PlSqlParser.SYS_OP_NUMTORAW: + case PlSqlParser.SYS_OP_OIDVALUE: + case PlSqlParser.SYS_OP_OPNSIZE: + case PlSqlParser.SYS_OP_PAR_1: + case PlSqlParser.SYS_OP_PARGID_1: + case PlSqlParser.SYS_OP_PARGID: + case PlSqlParser.SYS_OP_PAR: + case PlSqlParser.SYS_OP_PART_ID: + case PlSqlParser.SYS_OP_PIVOT: + case PlSqlParser.SYS_OP_R2O: + case PlSqlParser.SYS_OP_RAWTONUM: + case PlSqlParser.SYS_OP_RDTM: + case PlSqlParser.SYS_OP_REF: + case PlSqlParser.SYS_OP_RMTD: + case PlSqlParser.SYS_OP_ROWIDTOOBJ: + case PlSqlParser.SYS_OP_RPB: + case PlSqlParser.SYS_OPTLOBPRBSC: + case PlSqlParser.SYS_OP_TOSETID: + case PlSqlParser.SYS_OP_TPR: + case PlSqlParser.SYS_OP_TRTB: + case PlSqlParser.SYS_OPTXICMP: + case PlSqlParser.SYS_OPTXQCASTASNQ: + case PlSqlParser.SYS_OP_UNDESCEND: + case PlSqlParser.SYS_OP_VECAND: + case PlSqlParser.SYS_OP_VECBIT: + case PlSqlParser.SYS_OP_VECOR: + case PlSqlParser.SYS_OP_VECXOR: + case PlSqlParser.SYS_OP_VERSION: + case PlSqlParser.SYS_OP_VREF: + case PlSqlParser.SYS_OP_VVD: + case PlSqlParser.SYS_OP_XMLCONS_FOR_CSX: + case PlSqlParser.SYS_OP_XPTHATG: + case PlSqlParser.SYS_OP_XPTHIDX: + case PlSqlParser.SYS_OP_XPTHOP: + case PlSqlParser.SYS_OP_XTXT2SQLT: + case PlSqlParser.SYS_OP_ZONE_ID: + case PlSqlParser.SYS_ORDERKEY_DEPTH: + case PlSqlParser.SYS_ORDERKEY_MAXCHILD: + case PlSqlParser.SYS_ORDERKEY_PARENT: + case PlSqlParser.SYS_PARALLEL_TXN: + case PlSqlParser.SYS_PATHID_IS_ATTR: + case PlSqlParser.SYS_PATHID_IS_NMSPC: + case PlSqlParser.SYS_PATHID_LASTNAME: + case PlSqlParser.SYS_PATHID_LASTNMSPC: + case PlSqlParser.SYS_PATH_REVERSE: + case PlSqlParser.SYS_PXQEXTRACT: + case PlSqlParser.SYS_RAW_TO_XSID: + case PlSqlParser.SYS_RID_ORDER: + case PlSqlParser.SYS_ROW_DELTA: + case PlSqlParser.SYS_SC_2_XMLT: + case PlSqlParser.SYS_SYNRCIREDO: + case PlSqlParser.SYSTEM_DEFINED: + case PlSqlParser.SYSTEM: + case PlSqlParser.SYSTIMESTAMP: + case PlSqlParser.SYS_TYPEID: + case PlSqlParser.SYS_UMAKEXML: + case PlSqlParser.SYS_XMLANALYZE: + case PlSqlParser.SYS_XMLCONTAINS: + case PlSqlParser.SYS_XMLCONV: + case PlSqlParser.SYS_XMLEXNSURI: + case PlSqlParser.SYS_XMLGEN: + case PlSqlParser.SYS_XMLI_LOC_ISNODE: + case PlSqlParser.SYS_XMLI_LOC_ISTEXT: + case PlSqlParser.SYS_XMLINSTR: + case PlSqlParser.SYS_XMLLOCATOR_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETCID: + case PlSqlParser.SYS_XMLNODEID_GETLOCATOR: + case PlSqlParser.SYS_XMLNODEID_GETOKEY: + case PlSqlParser.SYS_XMLNODEID_GETPATHID: + case PlSqlParser.SYS_XMLNODEID_GETPTRID: + case PlSqlParser.SYS_XMLNODEID_GETRID: + case PlSqlParser.SYS_XMLNODEID_GETSVAL: + case PlSqlParser.SYS_XMLNODEID_GETTID: + case PlSqlParser.SYS_XMLNODEID: + case PlSqlParser.SYS_XMLT_2_SC: + case PlSqlParser.SYS_XMLTRANSLATE: + case PlSqlParser.SYS_XMLTYPE2SQL: + case PlSqlParser.SYS_XQ_ASQLCNV: + case PlSqlParser.SYS_XQ_ATOMCNVCHK: + case PlSqlParser.SYS_XQBASEURI: + case PlSqlParser.SYS_XQCASTABLEERRH: + case PlSqlParser.SYS_XQCODEP2STR: + case PlSqlParser.SYS_XQCODEPEQ: + case PlSqlParser.SYS_XQCON2SEQ: + case PlSqlParser.SYS_XQCONCAT: + case PlSqlParser.SYS_XQDELETE: + case PlSqlParser.SYS_XQDFLTCOLATION: + case PlSqlParser.SYS_XQDOC: + case PlSqlParser.SYS_XQDOCURI: + case PlSqlParser.SYS_XQDURDIV: + case PlSqlParser.SYS_XQED4URI: + case PlSqlParser.SYS_XQENDSWITH: + case PlSqlParser.SYS_XQERRH: + case PlSqlParser.SYS_XQERR: + case PlSqlParser.SYS_XQESHTMLURI: + case PlSqlParser.SYS_XQEXLOBVAL: + case PlSqlParser.SYS_XQEXSTWRP: + case PlSqlParser.SYS_XQEXTRACT: + case PlSqlParser.SYS_XQEXTRREF: + case PlSqlParser.SYS_XQEXVAL: + case PlSqlParser.SYS_XQFB2STR: + case PlSqlParser.SYS_XQFNBOOL: + case PlSqlParser.SYS_XQFNCMP: + case PlSqlParser.SYS_XQFNDATIM: + case PlSqlParser.SYS_XQFNLNAME: + case PlSqlParser.SYS_XQFNNM: + case PlSqlParser.SYS_XQFNNSURI: + case PlSqlParser.SYS_XQFNPREDTRUTH: + case PlSqlParser.SYS_XQFNQNM: + case PlSqlParser.SYS_XQFNROOT: + case PlSqlParser.SYS_XQFORMATNUM: + case PlSqlParser.SYS_XQFTCONTAIN: + case PlSqlParser.SYS_XQFUNCR: + case PlSqlParser.SYS_XQGETCONTENT: + case PlSqlParser.SYS_XQINDXOF: + case PlSqlParser.SYS_XQINSERT: + case PlSqlParser.SYS_XQINSPFX: + case PlSqlParser.SYS_XQIRI2URI: + case PlSqlParser.SYS_XQLANG: + case PlSqlParser.SYS_XQLLNMFRMQNM: + case PlSqlParser.SYS_XQMKNODEREF: + case PlSqlParser.SYS_XQNILLED: + case PlSqlParser.SYS_XQNODENAME: + case PlSqlParser.SYS_XQNORMSPACE: + case PlSqlParser.SYS_XQNORMUCODE: + case PlSqlParser.SYS_XQ_NRNG: + case PlSqlParser.SYS_XQNSP4PFX: + case PlSqlParser.SYS_XQNSPFRMQNM: + case PlSqlParser.SYS_XQPFXFRMQNM: + case PlSqlParser.SYS_XQ_PKSQL2XML: + case PlSqlParser.SYS_XQPOLYABS: + case PlSqlParser.SYS_XQPOLYADD: + case PlSqlParser.SYS_XQPOLYCEL: + case PlSqlParser.SYS_XQPOLYCSTBL: + case PlSqlParser.SYS_XQPOLYCST: + case PlSqlParser.SYS_XQPOLYDIV: + case PlSqlParser.SYS_XQPOLYFLR: + case PlSqlParser.SYS_XQPOLYMOD: + case PlSqlParser.SYS_XQPOLYMUL: + case PlSqlParser.SYS_XQPOLYRND: + case PlSqlParser.SYS_XQPOLYSQRT: + case PlSqlParser.SYS_XQPOLYSUB: + case PlSqlParser.SYS_XQPOLYUMUS: + case PlSqlParser.SYS_XQPOLYUPLS: + case PlSqlParser.SYS_XQPOLYVEQ: + case PlSqlParser.SYS_XQPOLYVGE: + case PlSqlParser.SYS_XQPOLYVGT: + case PlSqlParser.SYS_XQPOLYVLE: + case PlSqlParser.SYS_XQPOLYVLT: + case PlSqlParser.SYS_XQPOLYVNE: + case PlSqlParser.SYS_XQREF2VAL: + case PlSqlParser.SYS_XQRENAME: + case PlSqlParser.SYS_XQREPLACE: + case PlSqlParser.SYS_XQRESVURI: + case PlSqlParser.SYS_XQRNDHALF2EVN: + case PlSqlParser.SYS_XQRSLVQNM: + case PlSqlParser.SYS_XQRYENVPGET: + case PlSqlParser.SYS_XQRYVARGET: + case PlSqlParser.SYS_XQRYWRP: + case PlSqlParser.SYS_XQSEQ2CON4XC: + case PlSqlParser.SYS_XQSEQ2CON: + case PlSqlParser.SYS_XQSEQDEEPEQ: + case PlSqlParser.SYS_XQSEQINSB: + case PlSqlParser.SYS_XQSEQRM: + case PlSqlParser.SYS_XQSEQRVS: + case PlSqlParser.SYS_XQSEQSUB: + case PlSqlParser.SYS_XQSEQTYPMATCH: + case PlSqlParser.SYS_XQSTARTSWITH: + case PlSqlParser.SYS_XQSTATBURI: + case PlSqlParser.SYS_XQSTR2CODEP: + case PlSqlParser.SYS_XQSTRJOIN: + case PlSqlParser.SYS_XQSUBSTRAFT: + case PlSqlParser.SYS_XQSUBSTRBEF: + case PlSqlParser.SYS_XQTOKENIZE: + case PlSqlParser.SYS_XQTREATAS: + case PlSqlParser.SYS_XQ_UPKXML2SQL: + case PlSqlParser.SYS_XQXFORM: + case PlSqlParser.SYS_XSID_TO_RAW: + case PlSqlParser.SYS_ZMAP_FILTER: + case PlSqlParser.SYS_ZMAP_REFRESH: + case PlSqlParser.TABLE_LOOKUP_BY_NL: + case PlSqlParser.TABLESPACE_NO: + case PlSqlParser.TABLESPACE: + case PlSqlParser.TABLES: + case PlSqlParser.TABLE_STATS: + case PlSqlParser.TABLE: + case PlSqlParser.TABNO: + case PlSqlParser.TAG: + case PlSqlParser.TANH: + case PlSqlParser.TAN: + case PlSqlParser.TBLORIDXPARTNUM: + case PlSqlParser.TEMPFILE: + case PlSqlParser.TEMPLATE: + case PlSqlParser.TEMPORARY: + case PlSqlParser.TEMP_TABLE: + case PlSqlParser.TEST: + case PlSqlParser.TEXT: + case PlSqlParser.THAN: + case PlSqlParser.THEN: + case PlSqlParser.THE: + case PlSqlParser.THREAD: + case PlSqlParser.THROUGH: + case PlSqlParser.TIER: + case PlSqlParser.TIES: + case PlSqlParser.TIMEOUT: + case PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP: + case PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED: + case PlSqlParser.TIMESTAMP_UNCONSTRAINED: + case PlSqlParser.TIMES: + case PlSqlParser.TIME: + case PlSqlParser.TIMEZONE_ABBR: + case PlSqlParser.TIMEZONE_HOUR: + case PlSqlParser.TIMEZONE_MINUTE: + case PlSqlParser.TIMEZONE_OFFSET: + case PlSqlParser.TIMEZONE_REGION: + case PlSqlParser.TIME_ZONE: + case PlSqlParser.TIV_GB: + case PlSqlParser.TIV_SSF: + case PlSqlParser.TO_ACLID: + case PlSqlParser.TO_BINARY_DOUBLE: + case PlSqlParser.TO_BINARY_FLOAT: + case PlSqlParser.TO_BLOB: + case PlSqlParser.TO_CLOB: + case PlSqlParser.TO_DSINTERVAL: + case PlSqlParser.TO_LOB: + case PlSqlParser.TO_MULTI_BYTE: + case PlSqlParser.TO_NCHAR: + case PlSqlParser.TO_NCLOB: + case PlSqlParser.TO_NUMBER: + case PlSqlParser.TOPLEVEL: + case PlSqlParser.TO_SINGLE_BYTE: + case PlSqlParser.TO_TIMESTAMP: + case PlSqlParser.TO_TIMESTAMP_TZ: + case PlSqlParser.TO_TIME: + case PlSqlParser.TO_TIME_TZ: + case PlSqlParser.TO_YMINTERVAL: + case PlSqlParser.TRACE: + case PlSqlParser.TRACING: + case PlSqlParser.TRACKING: + case PlSqlParser.TRAILING: + case PlSqlParser.TRANSACTION: + case PlSqlParser.TRANSFORM_DISTINCT_AGG: + case PlSqlParser.TRANSITIONAL: + case PlSqlParser.TRANSITION: + case PlSqlParser.TRANSLATE: + case PlSqlParser.TRANSLATION: + case PlSqlParser.TREAT: + case PlSqlParser.TRIGGERS: + case PlSqlParser.TRIGGER: + case PlSqlParser.TRUE: + case PlSqlParser.TRUNCATE: + case PlSqlParser.TRUNC: + case PlSqlParser.TRUSTED: + case PlSqlParser.TRUST: + case PlSqlParser.TUNING: + case PlSqlParser.TX: + case PlSqlParser.TYPES: + case PlSqlParser.TYPE: + case PlSqlParser.TZ_OFFSET: + case PlSqlParser.UB2: + case PlSqlParser.UBA: + case PlSqlParser.UCS2: + case PlSqlParser.UID: + case PlSqlParser.UNARCHIVED: + case PlSqlParser.UNBOUNDED: + case PlSqlParser.UNBOUND: + case PlSqlParser.UNCONDITIONAL: + case PlSqlParser.UNDER: + case PlSqlParser.UNDO: + case PlSqlParser.UNDROP: + case PlSqlParser.UNIFORM: + case PlSqlParser.UNISTR: + case PlSqlParser.UNLIMITED: + case PlSqlParser.UNLOAD: + case PlSqlParser.UNLOCK: + case PlSqlParser.UNMATCHED: + case PlSqlParser.UNNEST_INNERJ_DISTINCT_VIEW: + case PlSqlParser.UNNEST_NOSEMIJ_NODISTINCTVIEW: + case PlSqlParser.UNNEST_SEMIJ_VIEW: + case PlSqlParser.UNNEST: + case PlSqlParser.UNPACKED: + case PlSqlParser.UNPIVOT: + case PlSqlParser.UNPLUG: + case PlSqlParser.UNPROTECTED: + case PlSqlParser.UNQUIESCE: + case PlSqlParser.UNRECOVERABLE: + case PlSqlParser.UNRESTRICTED: + case PlSqlParser.UNSUBSCRIBE: + case PlSqlParser.UNTIL: + case PlSqlParser.UNUSABLE: + case PlSqlParser.UNUSED: + case PlSqlParser.UPDATABLE: + case PlSqlParser.UPDATED: + case PlSqlParser.UPDATEXML: + case PlSqlParser.UPD_INDEXES: + case PlSqlParser.UPD_JOININDEX: + case PlSqlParser.UPGRADE: + case PlSqlParser.UPPER: + case PlSqlParser.UPSERT: + case PlSqlParser.UROWID: + case PlSqlParser.USABLE: + case PlSqlParser.USAGE: + case PlSqlParser.USE_ANTI: + case PlSqlParser.USE_CONCAT: + case PlSqlParser.USE_CUBE: + case PlSqlParser.USE_HASH_AGGREGATION: + case PlSqlParser.USE_HASH_GBY_FOR_PUSHDOWN: + case PlSqlParser.USE_HASH: + case PlSqlParser.USE_HIDDEN_PARTITIONS: + case PlSqlParser.USE_INVISIBLE_INDEXES: + case PlSqlParser.USE_MERGE_CARTESIAN: + case PlSqlParser.USE_MERGE: + case PlSqlParser.USE_NL: + case PlSqlParser.USE_NL_WITH_INDEX: + case PlSqlParser.USE_PRIVATE_OUTLINES: + case PlSqlParser.USER_DATA: + case PlSqlParser.USER_DEFINED: + case PlSqlParser.USERENV: + case PlSqlParser.USERGROUP: + case PlSqlParser.USER_RECYCLEBIN: + case PlSqlParser.USERS: + case PlSqlParser.USER_TABLESPACES: + case PlSqlParser.USER: + case PlSqlParser.USE_SEMI: + case PlSqlParser.USE_STORED_OUTLINES: + case PlSqlParser.USE_TTT_FOR_GSETS: + case PlSqlParser.USE: + case PlSqlParser.USE_VECTOR_AGGREGATION: + case PlSqlParser.USE_WEAK_NAME_RESL: + case PlSqlParser.USING_NO_EXPAND: + case PlSqlParser.USING: + case PlSqlParser.UTF16BE: + case PlSqlParser.UTF16LE: + case PlSqlParser.UTF32: + case PlSqlParser.UTF8: + case PlSqlParser.V1: + case PlSqlParser.V2: + case PlSqlParser.VALIDATE: + case PlSqlParser.VALIDATION: + case PlSqlParser.VALID_TIME_END: + case PlSqlParser.VALUE: + case PlSqlParser.VARCHAR2: + case PlSqlParser.VARCHAR: + case PlSqlParser.VARIABLE: + case PlSqlParser.VAR_POP: + case PlSqlParser.VARRAYS: + case PlSqlParser.VARRAY: + case PlSqlParser.VAR_SAMP: + case PlSqlParser.VARYING: + case PlSqlParser.VECTOR_READ_TRACE: + case PlSqlParser.VECTOR_READ: + case PlSqlParser.VECTOR_TRANSFORM_DIMS: + case PlSqlParser.VECTOR_TRANSFORM_FACT: + case PlSqlParser.VECTOR_TRANSFORM: + case PlSqlParser.VERIFIER: + case PlSqlParser.VERIFY: + case PlSqlParser.VERSIONING: + case PlSqlParser.VERSIONS_ENDSCN: + case PlSqlParser.VERSIONS_ENDTIME: + case PlSqlParser.VERSIONS_OPERATION: + case PlSqlParser.VERSIONS_STARTSCN: + case PlSqlParser.VERSIONS_STARTTIME: + case PlSqlParser.VERSIONS: + case PlSqlParser.VERSIONS_XID: + case PlSqlParser.VERSION: + case PlSqlParser.VIOLATION: + case PlSqlParser.VIRTUAL: + case PlSqlParser.VISIBILITY: + case PlSqlParser.VISIBLE: + case PlSqlParser.VOLUME: + case PlSqlParser.VSIZE: + case PlSqlParser.WAIT: + case PlSqlParser.WALLET: + case PlSqlParser.WARNING: + case PlSqlParser.WEEKS: + case PlSqlParser.WEEK: + case PlSqlParser.WELLFORMED: + case PlSqlParser.WHENEVER: + case PlSqlParser.WHEN: + case PlSqlParser.WHILE: + case PlSqlParser.WHITESPACE: + case PlSqlParser.WIDTH_BUCKET: + case PlSqlParser.WITHIN: + case PlSqlParser.WITHOUT: + case PlSqlParser.WITH_PLSQL: + case PlSqlParser.WORK: + case PlSqlParser.WRAPPED: + case PlSqlParser.WRAPPER: + case PlSqlParser.WRITE: + case PlSqlParser.XDB_FASTPATH_INSERT: + case PlSqlParser.X_DYN_PRUNE: + case PlSqlParser.XID: + case PlSqlParser.XML2OBJECT: + case PlSqlParser.XMLAGG: + case PlSqlParser.XMLATTRIBUTES: + case PlSqlParser.XMLCAST: + case PlSqlParser.XMLCDATA: + case PlSqlParser.XMLCOLATTVAL: + case PlSqlParser.XMLCOMMENT: + case PlSqlParser.XMLCONCAT: + case PlSqlParser.XMLDIFF: + case PlSqlParser.XML_DML_RWT_STMT: + case PlSqlParser.XMLELEMENT: + case PlSqlParser.XMLEXISTS2: + case PlSqlParser.XMLEXISTS: + case PlSqlParser.XMLFOREST: + case PlSqlParser.XMLINDEX_REWRITE_IN_SELECT: + case PlSqlParser.XMLINDEX_REWRITE: + case PlSqlParser.XMLINDEX_SEL_IDX_TBL: + case PlSqlParser.XMLISNODE: + case PlSqlParser.XMLISVALID: + case PlSqlParser.XMLNAMESPACES: + case PlSqlParser.XMLPARSE: + case PlSqlParser.XMLPATCH: + case PlSqlParser.XMLPI: + case PlSqlParser.XMLQUERYVAL: + case PlSqlParser.XMLQUERY: + case PlSqlParser.XMLROOT: + case PlSqlParser.XMLSCHEMA: + case PlSqlParser.XMLSERIALIZE: + case PlSqlParser.XMLTABLE: + case PlSqlParser.XMLTRANSFORMBLOB: + case PlSqlParser.XMLTRANSFORM: + case PlSqlParser.XMLTYPE: + case PlSqlParser.XML: + case PlSqlParser.XPATHTABLE: + case PlSqlParser.XS_SYS_CONTEXT: + case PlSqlParser.XS: + case PlSqlParser.YEARS: + case PlSqlParser.YEAR: + case PlSqlParser.YES: + case PlSqlParser.YMINTERVAL_UNCONSTRAINED: + case PlSqlParser.ZONEMAP: + case PlSqlParser.ZONE: + case PlSqlParser.PREDICTION: + case PlSqlParser.PREDICTION_BOUNDS: + case PlSqlParser.PREDICTION_COST: + case PlSqlParser.PREDICTION_DETAILS: + case PlSqlParser.PREDICTION_PROBABILITY: + case PlSqlParser.PREDICTION_SET: + case PlSqlParser.CUME_DIST: + case PlSqlParser.DENSE_RANK: + case PlSqlParser.LISTAGG: + case PlSqlParser.PERCENT_RANK: + case PlSqlParser.PERCENTILE_CONT: + case PlSqlParser.PERCENTILE_DISC: + case PlSqlParser.RANK: + case PlSqlParser.AVG: + case PlSqlParser.CORR: + case PlSqlParser.COVAR_: + case PlSqlParser.LAG: + case PlSqlParser.LEAD: + case PlSqlParser.MAX: + case PlSqlParser.MEDIAN: + case PlSqlParser.MIN: + case PlSqlParser.NTILE: + case PlSqlParser.NVL: + case PlSqlParser.RATIO_TO_REPORT: + case PlSqlParser.REGR_: + case PlSqlParser.ROUND: + case PlSqlParser.ROW_NUMBER: + case PlSqlParser.SUBSTR: + case PlSqlParser.TO_CHAR: + case PlSqlParser.TRIM: + case PlSqlParser.SUM: + case PlSqlParser.STDDEV: + case PlSqlParser.VAR_: + case PlSqlParser.VARIANCE: + case PlSqlParser.LEAST: + case PlSqlParser.GREATEST: + case PlSqlParser.TO_DATE: + case PlSqlParser.PERIOD: + case PlSqlParser.REGULAR_ID: + this.state = 7417; + this.tablespace(); + break; + case PlSqlParser.DEFAULT: + this.state = 7418; + this.match(PlSqlParser.DEFAULT); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.NOCOMPRESS: + this.state = 7421; + this.key_compression(); + break; + case PlSqlParser.NOSORT: + case PlSqlParser.SORT: + this.state = 7422; + this.sort_or_nosort(); + break; + case PlSqlParser.REVERSE: + this.state = 7423; + this.match(PlSqlParser.REVERSE); + break; + case PlSqlParser.INVISIBLE: + case PlSqlParser.VISIBLE: + this.state = 7424; + this.visible_or_invisible(); + break; + case PlSqlParser.NOPARALLEL: + case PlSqlParser.PARALLEL: + this.state = 7425; + this.parallel_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7428; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input,922, this._ctx); + } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Sort_or_nosortContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_sort_or_nosort; + return this; +} + +Sort_or_nosortContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Sort_or_nosortContext.prototype.constructor = Sort_or_nosortContext; + +Sort_or_nosortContext.prototype.SORT = function() { + return this.getToken(PlSqlParser.SORT, 0); +}; + +Sort_or_nosortContext.prototype.NOSORT = function() { + return this.getToken(PlSqlParser.NOSORT, 0); +}; + +Sort_or_nosortContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterSort_or_nosort(this); + } +}; + +Sort_or_nosortContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitSort_or_nosort(this); + } +}; + +Sort_or_nosortContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitSort_or_nosort(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Sort_or_nosortContext = Sort_or_nosortContext; + +PlSqlParser.prototype.sort_or_nosort = function() { + + var localctx = new Sort_or_nosortContext(this, this._ctx, this.state); + this.enterRule(localctx, 770, PlSqlParser.RULE_sort_or_nosort); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7430; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.NOSORT || _la===PlSqlParser.SORT)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Exceptions_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_exceptions_clause; + return this; +} + +Exceptions_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Exceptions_clauseContext.prototype.constructor = Exceptions_clauseContext; + +Exceptions_clauseContext.prototype.EXCEPTIONS = function() { + return this.getToken(PlSqlParser.EXCEPTIONS, 0); +}; + +Exceptions_clauseContext.prototype.INTO = function() { + return this.getToken(PlSqlParser.INTO, 0); +}; + +Exceptions_clauseContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Exceptions_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterExceptions_clause(this); + } +}; + +Exceptions_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitExceptions_clause(this); + } +}; + +Exceptions_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitExceptions_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Exceptions_clauseContext = Exceptions_clauseContext; + +PlSqlParser.prototype.exceptions_clause = function() { + + var localctx = new Exceptions_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 772, PlSqlParser.RULE_exceptions_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7432; + this.match(PlSqlParser.EXCEPTIONS); + this.state = 7433; + this.match(PlSqlParser.INTO); + this.state = 7434; + this.tableview_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Move_table_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_move_table_clause; + return this; +} + +Move_table_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Move_table_clauseContext.prototype.constructor = Move_table_clauseContext; + +Move_table_clauseContext.prototype.MOVE = function() { + return this.getToken(PlSqlParser.MOVE, 0); +}; + +Move_table_clauseContext.prototype.ONLINE = function() { + return this.getToken(PlSqlParser.ONLINE, 0); +}; + +Move_table_clauseContext.prototype.segment_attributes_clause = function() { + return this.getTypedRuleContext(Segment_attributes_clauseContext,0); +}; + +Move_table_clauseContext.prototype.table_compression = function() { + return this.getTypedRuleContext(Table_compressionContext,0); +}; + +Move_table_clauseContext.prototype.index_org_table_clause = function() { + return this.getTypedRuleContext(Index_org_table_clauseContext,0); +}; + +Move_table_clauseContext.prototype.parallel_clause = function() { + return this.getTypedRuleContext(Parallel_clauseContext,0); +}; + +Move_table_clauseContext.prototype.lob_storage_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Lob_storage_clauseContext); + } else { + return this.getTypedRuleContext(Lob_storage_clauseContext,i); + } +}; + +Move_table_clauseContext.prototype.varray_col_properties = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Varray_col_propertiesContext); + } else { + return this.getTypedRuleContext(Varray_col_propertiesContext,i); + } +}; + +Move_table_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMove_table_clause(this); + } +}; + +Move_table_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMove_table_clause(this); + } +}; + +Move_table_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMove_table_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Move_table_clauseContext = Move_table_clauseContext; + +PlSqlParser.prototype.move_table_clause = function() { + + var localctx = new Move_table_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 774, PlSqlParser.RULE_move_table_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7436; + this.match(PlSqlParser.MOVE); + this.state = 7438; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.ONLINE) { + this.state = 7437; + this.match(PlSqlParser.ONLINE); + } + + this.state = 7441; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 7440; + this.segment_attributes_clause(); + } + + this.state = 7444; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,925,this._ctx); + if(la_===1) { + this.state = 7443; + this.table_compression(); + + } + this.state = 7447; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.COMPRESS || _la===PlSqlParser.MAPPING || _la===PlSqlParser.NOCOMPRESS || _la===PlSqlParser.NOMAPPING || _la===PlSqlParser.PCTTHRESHOLD) { + this.state = 7446; + this.index_org_table_clause(); + } + + this.state = 7455; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOB || _la===PlSqlParser.VARRAY) { + this.state = 7451; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 7451; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LOB: + this.state = 7449; + this.lob_storage_clause(); + break; + case PlSqlParser.VARRAY: + this.state = 7450; + this.varray_col_properties(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7453; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.LOB || _la===PlSqlParser.VARRAY); + } + + this.state = 7458; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOPARALLEL || _la===PlSqlParser.PARALLEL) { + this.state = 7457; + this.parallel_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_org_table_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_org_table_clause; + return this; +} + +Index_org_table_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_org_table_clauseContext.prototype.constructor = Index_org_table_clauseContext; + +Index_org_table_clauseContext.prototype.mapping_table_clause = function() { + return this.getTypedRuleContext(Mapping_table_clauseContext,0); +}; + +Index_org_table_clauseContext.prototype.PCTTHRESHOLD = function() { + return this.getToken(PlSqlParser.PCTTHRESHOLD, 0); +}; + +Index_org_table_clauseContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Index_org_table_clauseContext.prototype.key_compression = function() { + return this.getTypedRuleContext(Key_compressionContext,0); +}; + +Index_org_table_clauseContext.prototype.index_org_overflow_clause = function() { + return this.getTypedRuleContext(Index_org_overflow_clauseContext,0); +}; + +Index_org_table_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_org_table_clause(this); + } +}; + +Index_org_table_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_org_table_clause(this); + } +}; + +Index_org_table_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_org_table_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_org_table_clauseContext = Index_org_table_clauseContext; + +PlSqlParser.prototype.index_org_table_clause = function() { + + var localctx = new Index_org_table_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 776, PlSqlParser.RULE_index_org_table_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7464; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.MAPPING: + case PlSqlParser.NOMAPPING: + this.state = 7460; + this.mapping_table_clause(); + break; + case PlSqlParser.PCTTHRESHOLD: + this.state = 7461; + this.match(PlSqlParser.PCTTHRESHOLD); + this.state = 7462; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + case PlSqlParser.COMPRESS: + case PlSqlParser.NOCOMPRESS: + this.state = 7463; + this.key_compression(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7467; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.INCLUDING || _la===PlSqlParser.OVERFLOW) { + this.state = 7466; + this.index_org_overflow_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Mapping_table_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_mapping_table_clause; + return this; +} + +Mapping_table_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Mapping_table_clauseContext.prototype.constructor = Mapping_table_clauseContext; + +Mapping_table_clauseContext.prototype.MAPPING = function() { + return this.getToken(PlSqlParser.MAPPING, 0); +}; + +Mapping_table_clauseContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Mapping_table_clauseContext.prototype.NOMAPPING = function() { + return this.getToken(PlSqlParser.NOMAPPING, 0); +}; + +Mapping_table_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterMapping_table_clause(this); + } +}; + +Mapping_table_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitMapping_table_clause(this); + } +}; + +Mapping_table_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitMapping_table_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Mapping_table_clauseContext = Mapping_table_clauseContext; + +PlSqlParser.prototype.mapping_table_clause = function() { + + var localctx = new Mapping_table_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 778, PlSqlParser.RULE_mapping_table_clause); + try { + this.state = 7472; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.MAPPING: + this.enterOuterAlt(localctx, 1); + this.state = 7469; + this.match(PlSqlParser.MAPPING); + this.state = 7470; + this.match(PlSqlParser.TABLE); + break; + case PlSqlParser.NOMAPPING: + this.enterOuterAlt(localctx, 2); + this.state = 7471; + this.match(PlSqlParser.NOMAPPING); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Key_compressionContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_key_compression; + return this; +} + +Key_compressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Key_compressionContext.prototype.constructor = Key_compressionContext; + +Key_compressionContext.prototype.NOCOMPRESS = function() { + return this.getToken(PlSqlParser.NOCOMPRESS, 0); +}; + +Key_compressionContext.prototype.COMPRESS = function() { + return this.getToken(PlSqlParser.COMPRESS, 0); +}; + +Key_compressionContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Key_compressionContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterKey_compression(this); + } +}; + +Key_compressionContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitKey_compression(this); + } +}; + +Key_compressionContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitKey_compression(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Key_compressionContext = Key_compressionContext; + +PlSqlParser.prototype.key_compression = function() { + + var localctx = new Key_compressionContext(this, this._ctx, this.state); + this.enterRule(localctx, 780, PlSqlParser.RULE_key_compression); + try { + this.state = 7477; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.NOCOMPRESS: + this.enterOuterAlt(localctx, 1); + this.state = 7474; + this.match(PlSqlParser.NOCOMPRESS); + break; + case PlSqlParser.COMPRESS: + this.enterOuterAlt(localctx, 2); + this.state = 7475; + this.match(PlSqlParser.COMPRESS); + this.state = 7476; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Index_org_overflow_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_index_org_overflow_clause; + return this; +} + +Index_org_overflow_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Index_org_overflow_clauseContext.prototype.constructor = Index_org_overflow_clauseContext; + +Index_org_overflow_clauseContext.prototype.OVERFLOW = function() { + return this.getToken(PlSqlParser.OVERFLOW, 0); +}; + +Index_org_overflow_clauseContext.prototype.INCLUDING = function() { + return this.getToken(PlSqlParser.INCLUDING, 0); +}; + +Index_org_overflow_clauseContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Index_org_overflow_clauseContext.prototype.segment_attributes_clause = function() { + return this.getTypedRuleContext(Segment_attributes_clauseContext,0); +}; + +Index_org_overflow_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterIndex_org_overflow_clause(this); + } +}; + +Index_org_overflow_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitIndex_org_overflow_clause(this); + } +}; + +Index_org_overflow_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitIndex_org_overflow_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Index_org_overflow_clauseContext = Index_org_overflow_clauseContext; + +PlSqlParser.prototype.index_org_overflow_clause = function() { + + var localctx = new Index_org_overflow_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 782, PlSqlParser.RULE_index_org_overflow_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7481; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.INCLUDING) { + this.state = 7479; + this.match(PlSqlParser.INCLUDING); + this.state = 7480; + this.column_name(); + } + + this.state = 7483; + this.match(PlSqlParser.OVERFLOW); + this.state = 7485; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FILESYSTEM_LIKE_LOGGING || _la===PlSqlParser.INITRANS || _la===PlSqlParser.LOGGING || _la===PlSqlParser.NOLOGGING || _la===PlSqlParser.PCTFREE || _la===PlSqlParser.PCTUSED || _la===PlSqlParser.STORAGE || _la===PlSqlParser.TABLESPACE) { + this.state = 7484; + this.segment_attributes_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Column_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_column_clauses; + return this; +} + +Column_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Column_clausesContext.prototype.constructor = Column_clausesContext; + +Column_clausesContext.prototype.add_modify_drop_column_clauses = function() { + return this.getTypedRuleContext(Add_modify_drop_column_clausesContext,0); +}; + +Column_clausesContext.prototype.rename_column_clause = function() { + return this.getTypedRuleContext(Rename_column_clauseContext,0); +}; + +Column_clausesContext.prototype.modify_collection_retrieval = function() { + return this.getTypedRuleContext(Modify_collection_retrievalContext,0); +}; + +Column_clausesContext.prototype.modify_lob_storage_clause = function() { + return this.getTypedRuleContext(Modify_lob_storage_clauseContext,0); +}; + +Column_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterColumn_clauses(this); + } +}; + +Column_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitColumn_clauses(this); + } +}; + +Column_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitColumn_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Column_clausesContext = Column_clausesContext; + +PlSqlParser.prototype.column_clauses = function() { + + var localctx = new Column_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 784, PlSqlParser.RULE_column_clauses); + try { + this.state = 7491; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,937,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 7487; + this.add_modify_drop_column_clauses(); + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 7488; + this.rename_column_clause(); + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 7489; + this.modify_collection_retrieval(); + break; + + case 4: + this.enterOuterAlt(localctx, 4); + this.state = 7490; + this.modify_lob_storage_clause(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_collection_retrievalContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_collection_retrieval; + return this; +} + +Modify_collection_retrievalContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_collection_retrievalContext.prototype.constructor = Modify_collection_retrievalContext; + +Modify_collection_retrievalContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Modify_collection_retrievalContext.prototype.NESTED = function() { + return this.getToken(PlSqlParser.NESTED, 0); +}; + +Modify_collection_retrievalContext.prototype.TABLE = function() { + return this.getToken(PlSqlParser.TABLE, 0); +}; + +Modify_collection_retrievalContext.prototype.collection_item = function() { + return this.getTypedRuleContext(Collection_itemContext,0); +}; + +Modify_collection_retrievalContext.prototype.RETURN = function() { + return this.getToken(PlSqlParser.RETURN, 0); +}; + +Modify_collection_retrievalContext.prototype.AS = function() { + return this.getToken(PlSqlParser.AS, 0); +}; + +Modify_collection_retrievalContext.prototype.LOCATOR = function() { + return this.getToken(PlSqlParser.LOCATOR, 0); +}; + +Modify_collection_retrievalContext.prototype.VALUE = function() { + return this.getToken(PlSqlParser.VALUE, 0); +}; + +Modify_collection_retrievalContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_collection_retrieval(this); + } +}; + +Modify_collection_retrievalContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_collection_retrieval(this); + } +}; + +Modify_collection_retrievalContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_collection_retrieval(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_collection_retrievalContext = Modify_collection_retrievalContext; + +PlSqlParser.prototype.modify_collection_retrieval = function() { + + var localctx = new Modify_collection_retrievalContext(this, this._ctx, this.state); + this.enterRule(localctx, 786, PlSqlParser.RULE_modify_collection_retrieval); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7493; + this.match(PlSqlParser.MODIFY); + this.state = 7494; + this.match(PlSqlParser.NESTED); + this.state = 7495; + this.match(PlSqlParser.TABLE); + this.state = 7496; + this.collection_item(); + this.state = 7497; + this.match(PlSqlParser.RETURN); + this.state = 7498; + this.match(PlSqlParser.AS); + this.state = 7499; + _la = this._input.LA(1); + if(!(_la===PlSqlParser.LOCATOR || _la===PlSqlParser.VALUE)) { + this._errHandler.recoverInline(this); + } + else { + this._errHandler.reportMatch(this); + this.consume(); + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Collection_itemContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_collection_item; + return this; +} + +Collection_itemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Collection_itemContext.prototype.constructor = Collection_itemContext; + +Collection_itemContext.prototype.tableview_name = function() { + return this.getTypedRuleContext(Tableview_nameContext,0); +}; + +Collection_itemContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterCollection_item(this); + } +}; + +Collection_itemContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitCollection_item(this); + } +}; + +Collection_itemContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitCollection_item(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Collection_itemContext = Collection_itemContext; + +PlSqlParser.prototype.collection_item = function() { + + var localctx = new Collection_itemContext(this, this._ctx, this.state); + this.enterRule(localctx, 788, PlSqlParser.RULE_collection_item); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7501; + this.tableview_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Rename_column_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_rename_column_clause; + return this; +} + +Rename_column_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Rename_column_clauseContext.prototype.constructor = Rename_column_clauseContext; + +Rename_column_clauseContext.prototype.RENAME = function() { + return this.getToken(PlSqlParser.RENAME, 0); +}; + +Rename_column_clauseContext.prototype.COLUMN = function() { + return this.getToken(PlSqlParser.COLUMN, 0); +}; + +Rename_column_clauseContext.prototype.old_column_name = function() { + return this.getTypedRuleContext(Old_column_nameContext,0); +}; + +Rename_column_clauseContext.prototype.TO = function() { + return this.getToken(PlSqlParser.TO, 0); +}; + +Rename_column_clauseContext.prototype.new_column_name = function() { + return this.getTypedRuleContext(New_column_nameContext,0); +}; + +Rename_column_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterRename_column_clause(this); + } +}; + +Rename_column_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitRename_column_clause(this); + } +}; + +Rename_column_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitRename_column_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Rename_column_clauseContext = Rename_column_clauseContext; + +PlSqlParser.prototype.rename_column_clause = function() { + + var localctx = new Rename_column_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 790, PlSqlParser.RULE_rename_column_clause); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7503; + this.match(PlSqlParser.RENAME); + this.state = 7504; + this.match(PlSqlParser.COLUMN); + this.state = 7505; + this.old_column_name(); + this.state = 7506; + this.match(PlSqlParser.TO); + this.state = 7507; + this.new_column_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Old_column_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_old_column_name; + return this; +} + +Old_column_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Old_column_nameContext.prototype.constructor = Old_column_nameContext; + +Old_column_nameContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Old_column_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterOld_column_name(this); + } +}; + +Old_column_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitOld_column_name(this); + } +}; + +Old_column_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitOld_column_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Old_column_nameContext = Old_column_nameContext; + +PlSqlParser.prototype.old_column_name = function() { + + var localctx = new Old_column_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 792, PlSqlParser.RULE_old_column_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7509; + this.column_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function New_column_nameContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_new_column_name; + return this; +} + +New_column_nameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +New_column_nameContext.prototype.constructor = New_column_nameContext; + +New_column_nameContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +New_column_nameContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterNew_column_name(this); + } +}; + +New_column_nameContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitNew_column_name(this); + } +}; + +New_column_nameContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitNew_column_name(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.New_column_nameContext = New_column_nameContext; + +PlSqlParser.prototype.new_column_name = function() { + + var localctx = new New_column_nameContext(this, this._ctx, this.state); + this.enterRule(localctx, 794, PlSqlParser.RULE_new_column_name); + try { + this.enterOuterAlt(localctx, 1); + this.state = 7511; + this.column_name(); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Add_modify_drop_column_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_add_modify_drop_column_clauses; + return this; +} + +Add_modify_drop_column_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Add_modify_drop_column_clausesContext.prototype.constructor = Add_modify_drop_column_clausesContext; + +Add_modify_drop_column_clausesContext.prototype.add_column_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Add_column_clauseContext); + } else { + return this.getTypedRuleContext(Add_column_clauseContext,i); + } +}; + +Add_modify_drop_column_clausesContext.prototype.modify_column_clauses = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Modify_column_clausesContext); + } else { + return this.getTypedRuleContext(Modify_column_clausesContext,i); + } +}; + +Add_modify_drop_column_clausesContext.prototype.drop_column_clause = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Drop_column_clauseContext); + } else { + return this.getTypedRuleContext(Drop_column_clauseContext,i); + } +}; + +Add_modify_drop_column_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAdd_modify_drop_column_clauses(this); + } +}; + +Add_modify_drop_column_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAdd_modify_drop_column_clauses(this); + } +}; + +Add_modify_drop_column_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAdd_modify_drop_column_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Add_modify_drop_column_clausesContext = Add_modify_drop_column_clausesContext; + +PlSqlParser.prototype.add_modify_drop_column_clauses = function() { + + var localctx = new Add_modify_drop_column_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 796, PlSqlParser.RULE_add_modify_drop_column_clauses); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7516; + this._errHandler.sync(this); + _la = this._input.LA(1); + do { + this.state = 7516; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.ADD: + this.state = 7513; + this.add_column_clause(); + break; + case PlSqlParser.MODIFY: + this.state = 7514; + this.modify_column_clauses(); + break; + case PlSqlParser.DROP: + case PlSqlParser.SET: + this.state = 7515; + this.drop_column_clause(); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7518; + this._errHandler.sync(this); + _la = this._input.LA(1); + } while(_la===PlSqlParser.ADD || _la===PlSqlParser.DROP || _la===PlSqlParser.MODIFY || _la===PlSqlParser.SET); + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Drop_column_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_drop_column_clause; + return this; +} + +Drop_column_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Drop_column_clauseContext.prototype.constructor = Drop_column_clauseContext; + +Drop_column_clauseContext.prototype.SET = function() { + return this.getToken(PlSqlParser.SET, 0); +}; + +Drop_column_clauseContext.prototype.UNUSED = function() { + return this.getToken(PlSqlParser.UNUSED, 0); +}; + +Drop_column_clauseContext.prototype.COLUMN = function() { + return this.getToken(PlSqlParser.COLUMN, 0); +}; + +Drop_column_clauseContext.prototype.column_name = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_nameContext); + } else { + return this.getTypedRuleContext(Column_nameContext,i); + } +}; + +Drop_column_clauseContext.prototype.CASCADE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CASCADE); + } else { + return this.getToken(PlSqlParser.CASCADE, i); + } +}; + + +Drop_column_clauseContext.prototype.CONSTRAINTS = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.CONSTRAINTS); + } else { + return this.getToken(PlSqlParser.CONSTRAINTS, i); + } +}; + + +Drop_column_clauseContext.prototype.INVALIDATE = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.INVALIDATE); + } else { + return this.getToken(PlSqlParser.INVALIDATE, i); + } +}; + + +Drop_column_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Drop_column_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Drop_column_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Drop_column_clauseContext.prototype.DROP = function() { + return this.getToken(PlSqlParser.DROP, 0); +}; + +Drop_column_clauseContext.prototype.CHECKPOINT = function() { + return this.getToken(PlSqlParser.CHECKPOINT, 0); +}; + +Drop_column_clauseContext.prototype.UNSIGNED_INTEGER = function() { + return this.getToken(PlSqlParser.UNSIGNED_INTEGER, 0); +}; + +Drop_column_clauseContext.prototype.COLUMNS = function() { + return this.getToken(PlSqlParser.COLUMNS, 0); +}; + +Drop_column_clauseContext.prototype.CONTINUE = function() { + return this.getToken(PlSqlParser.CONTINUE, 0); +}; + +Drop_column_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterDrop_column_clause(this); + } +}; + +Drop_column_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitDrop_column_clause(this); + } +}; + +Drop_column_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitDrop_column_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Drop_column_clauseContext = Drop_column_clauseContext; + +PlSqlParser.prototype.drop_column_clause = function() { + + var localctx = new Drop_column_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 798, PlSqlParser.RULE_drop_column_clause); + var _la = 0; // Token type + try { + this.state = 7582; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,950,this._ctx); + switch(la_) { + case 1: + this.enterOuterAlt(localctx, 1); + this.state = 7520; + this.match(PlSqlParser.SET); + this.state = 7521; + this.match(PlSqlParser.UNUSED); + this.state = 7535; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.COLUMN: + this.state = 7522; + this.match(PlSqlParser.COLUMN); + this.state = 7523; + this.column_name(); + break; + case PlSqlParser.LEFT_PAREN: + this.state = 7524; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7525; + this.column_name(); + this.state = 7530; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 7526; + this.match(PlSqlParser.COMMA); + this.state = 7527; + this.column_name(); + this.state = 7532; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7533; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7542; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.CASCADE || _la===PlSqlParser.INVALIDATE) { + this.state = 7540; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CASCADE: + this.state = 7537; + this.match(PlSqlParser.CASCADE); + this.state = 7538; + this.match(PlSqlParser.CONSTRAINTS); + break; + case PlSqlParser.INVALIDATE: + this.state = 7539; + this.match(PlSqlParser.INVALIDATE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7544; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + break; + + case 2: + this.enterOuterAlt(localctx, 2); + this.state = 7545; + this.match(PlSqlParser.DROP); + this.state = 7559; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.COLUMN: + this.state = 7546; + this.match(PlSqlParser.COLUMN); + this.state = 7547; + this.column_name(); + break; + case PlSqlParser.LEFT_PAREN: + this.state = 7548; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7549; + this.column_name(); + this.state = 7554; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 7550; + this.match(PlSqlParser.COMMA); + this.state = 7551; + this.column_name(); + this.state = 7556; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7557; + this.match(PlSqlParser.RIGHT_PAREN); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7566; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.CASCADE || _la===PlSqlParser.INVALIDATE) { + this.state = 7564; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.CASCADE: + this.state = 7561; + this.match(PlSqlParser.CASCADE); + this.state = 7562; + this.match(PlSqlParser.CONSTRAINTS); + break; + case PlSqlParser.INVALIDATE: + this.state = 7563; + this.match(PlSqlParser.INVALIDATE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + this.state = 7568; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7571; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.CHECKPOINT) { + this.state = 7569; + this.match(PlSqlParser.CHECKPOINT); + this.state = 7570; + this.match(PlSqlParser.UNSIGNED_INTEGER); + } + + break; + + case 3: + this.enterOuterAlt(localctx, 3); + this.state = 7573; + this.match(PlSqlParser.DROP); + this.state = 7578; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.UNUSED: + this.state = 7574; + this.match(PlSqlParser.UNUSED); + this.state = 7575; + this.match(PlSqlParser.COLUMNS); + break; + case PlSqlParser.COLUMNS: + this.state = 7576; + this.match(PlSqlParser.COLUMNS); + this.state = 7577; + this.match(PlSqlParser.CONTINUE); + break; + default: + throw new antlr4.error.NoViableAltException(this); + } + + this.state = 7580; + this.match(PlSqlParser.CHECKPOINT); + this.state = 7581; + this.match(PlSqlParser.UNSIGNED_INTEGER); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_column_clausesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_column_clauses; + return this; +} + +Modify_column_clausesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_column_clausesContext.prototype.constructor = Modify_column_clausesContext; + +Modify_column_clausesContext.prototype.MODIFY = function() { + return this.getToken(PlSqlParser.MODIFY, 0); +}; + +Modify_column_clausesContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Modify_column_clausesContext.prototype.modify_col_properties = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Modify_col_propertiesContext); + } else { + return this.getTypedRuleContext(Modify_col_propertiesContext,i); + } +}; + +Modify_column_clausesContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Modify_column_clausesContext.prototype.modify_col_substitutable = function() { + return this.getTypedRuleContext(Modify_col_substitutableContext,0); +}; + +Modify_column_clausesContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Modify_column_clausesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_column_clauses(this); + } +}; + +Modify_column_clausesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_column_clauses(this); + } +}; + +Modify_column_clausesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_column_clauses(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_column_clausesContext = Modify_column_clausesContext; + +PlSqlParser.prototype.modify_column_clauses = function() { + + var localctx = new Modify_column_clausesContext(this, this._ctx, this.state); + this.enterRule(localctx, 800, PlSqlParser.RULE_modify_column_clauses); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7584; + this.match(PlSqlParser.MODIFY); + this.state = 7598; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,952,this._ctx); + switch(la_) { + case 1: + this.state = 7585; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7586; + this.modify_col_properties(); + this.state = 7591; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 7587; + this.match(PlSqlParser.COMMA); + this.state = 7588; + this.modify_col_properties(); + this.state = 7593; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7594; + this.match(PlSqlParser.RIGHT_PAREN); + break; + + case 2: + this.state = 7596; + this.modify_col_properties(); + break; + + case 3: + this.state = 7597; + this.modify_col_substitutable(); + break; + + } + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_col_propertiesContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_col_properties; + return this; +} + +Modify_col_propertiesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_col_propertiesContext.prototype.constructor = Modify_col_propertiesContext; + +Modify_col_propertiesContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Modify_col_propertiesContext.prototype.datatype = function() { + return this.getTypedRuleContext(DatatypeContext,0); +}; + +Modify_col_propertiesContext.prototype.DEFAULT = function() { + return this.getToken(PlSqlParser.DEFAULT, 0); +}; + +Modify_col_propertiesContext.prototype.expression = function() { + return this.getTypedRuleContext(ExpressionContext,0); +}; + +Modify_col_propertiesContext.prototype.ENCRYPT = function() { + return this.getToken(PlSqlParser.ENCRYPT, 0); +}; + +Modify_col_propertiesContext.prototype.encryption_spec = function() { + return this.getTypedRuleContext(Encryption_specContext,0); +}; + +Modify_col_propertiesContext.prototype.DECRYPT = function() { + return this.getToken(PlSqlParser.DECRYPT, 0); +}; + +Modify_col_propertiesContext.prototype.inline_constraint = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Inline_constraintContext); + } else { + return this.getTypedRuleContext(Inline_constraintContext,i); + } +}; + +Modify_col_propertiesContext.prototype.lob_storage_clause = function() { + return this.getTypedRuleContext(Lob_storage_clauseContext,0); +}; + +Modify_col_propertiesContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_col_properties(this); + } +}; + +Modify_col_propertiesContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_col_properties(this); + } +}; + +Modify_col_propertiesContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_col_properties(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_col_propertiesContext = Modify_col_propertiesContext; + +PlSqlParser.prototype.modify_col_properties = function() { + + var localctx = new Modify_col_propertiesContext(this, this._ctx, this.state); + this.enterRule(localctx, 802, PlSqlParser.RULE_modify_col_properties); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7600; + this.column_name(); + this.state = 7602; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(((((_la - 108)) & ~0x1f) == 0 && ((1 << (_la - 108)) & ((1 << (PlSqlParser.BFILE - 108)) | (1 << (PlSqlParser.BINARY_DOUBLE - 108)) | (1 << (PlSqlParser.BINARY_FLOAT - 108)) | (1 << (PlSqlParser.BINARY_INTEGER - 108)) | (1 << (PlSqlParser.BLOB - 108)) | (1 << (PlSqlParser.BOOLEAN - 108)))) !== 0) || ((((_la - 175)) & ~0x1f) == 0 && ((1 << (_la - 175)) & ((1 << (PlSqlParser.CHARACTER - 175)) | (1 << (PlSqlParser.CHAR - 175)) | (1 << (PlSqlParser.CLOB - 175)))) !== 0) || ((((_la - 327)) & ~0x1f) == 0 && ((1 << (_la - 327)) & ((1 << (PlSqlParser.DATE - 327)) | (1 << (PlSqlParser.DAY - 327)) | (1 << (PlSqlParser.DEC - 327)) | (1 << (PlSqlParser.DECIMAL - 327)))) !== 0) || _la===PlSqlParser.DOUBLE || _la===PlSqlParser.DSINTERVAL_UNCONSTRAINED || _la===PlSqlParser.FLOAT || _la===PlSqlParser.HOUR || ((((_la - 682)) & ~0x1f) == 0 && ((1 << (_la - 682)) & ((1 << (PlSqlParser.INTEGER - 682)) | (1 << (PlSqlParser.INTERVAL - 682)) | (1 << (PlSqlParser.INT - 682)))) !== 0) || _la===PlSqlParser.LONG || ((((_la - 844)) & ~0x1f) == 0 && ((1 << (_la - 844)) & ((1 << (PlSqlParser.MINUTE - 844)) | (1 << (PlSqlParser.MLSLABEL - 844)) | (1 << (PlSqlParser.MONTH - 844)))) !== 0) || ((((_la - 886)) & ~0x1f) == 0 && ((1 << (_la - 886)) & ((1 << (PlSqlParser.NATURAL - 886)) | (1 << (PlSqlParser.NATURALN - 886)) | (1 << (PlSqlParser.NCHAR - 886)) | (1 << (PlSqlParser.NCLOB - 886)))) !== 0) || ((((_la - 1099)) & ~0x1f) == 0 && ((1 << (_la - 1099)) & ((1 << (PlSqlParser.NUMBER - 1099)) | (1 << (PlSqlParser.NUMERIC - 1099)) | (1 << (PlSqlParser.NVARCHAR2 - 1099)))) !== 0) || ((((_la - 1259)) & ~0x1f) == 0 && ((1 << (_la - 1259)) & ((1 << (PlSqlParser.PLS_INTEGER - 1259)) | (1 << (PlSqlParser.POSITIVEN - 1259)) | (1 << (PlSqlParser.POSITIVE - 1259)))) !== 0) || _la===PlSqlParser.RAW || _la===PlSqlParser.REAL || _la===PlSqlParser.ROWID || _la===PlSqlParser.SECOND || ((((_la - 1528)) & ~0x1f) == 0 && ((1 << (_la - 1528)) & ((1 << (PlSqlParser.SIGNTYPE - 1528)) | (1 << (PlSqlParser.SIMPLE_INTEGER - 1528)) | (1 << (PlSqlParser.SMALLINT - 1528)))) !== 0) || _la===PlSqlParser.STRING || ((((_la - 1932)) & ~0x1f) == 0 && ((1 << (_la - 1932)) & ((1 << (PlSqlParser.TIMESTAMP_LTZ_UNCONSTRAINED - 1932)) | (1 << (PlSqlParser.TIMESTAMP - 1932)) | (1 << (PlSqlParser.TIMESTAMP_TZ_UNCONSTRAINED - 1932)) | (1 << (PlSqlParser.TIMESTAMP_UNCONSTRAINED - 1932)) | (1 << (PlSqlParser.TIMEZONE_ABBR - 1932)) | (1 << (PlSqlParser.TIMEZONE_HOUR - 1932)) | (1 << (PlSqlParser.TIMEZONE_MINUTE - 1932)) | (1 << (PlSqlParser.TIMEZONE_REGION - 1932)))) !== 0) || _la===PlSqlParser.UROWID || _la===PlSqlParser.VARCHAR2 || _la===PlSqlParser.VARCHAR || _la===PlSqlParser.YEAR || _la===PlSqlParser.YMINTERVAL_UNCONSTRAINED) { + this.state = 7601; + this.datatype(); + } + + this.state = 7606; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.DEFAULT) { + this.state = 7604; + this.match(PlSqlParser.DEFAULT); + this.state = 7605; + this.expression(); + } + + this.state = 7611; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case PlSqlParser.ENCRYPT: + this.state = 7608; + this.match(PlSqlParser.ENCRYPT); + this.state = 7609; + this.encryption_spec(); + break; + case PlSqlParser.DECRYPT: + this.state = 7610; + this.match(PlSqlParser.DECRYPT); + break; + case PlSqlParser.ADD: + case PlSqlParser.CHECK: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.DISABLE: + case PlSqlParser.DROP: + case PlSqlParser.ENABLE: + case PlSqlParser.LOB: + case PlSqlParser.MODIFY: + case PlSqlParser.NOT: + case PlSqlParser.NULL_: + case PlSqlParser.PRIMARY: + case PlSqlParser.REFERENCES: + case PlSqlParser.SET: + case PlSqlParser.UNIQUE: + case PlSqlParser.RIGHT_PAREN: + case PlSqlParser.COMMA: + case PlSqlParser.SEMICOLON: + break; + default: + break; + } + this.state = 7616; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.CHECK || _la===PlSqlParser.CONSTRAINT || _la===PlSqlParser.NOT || _la===PlSqlParser.NULL_ || _la===PlSqlParser.PRIMARY || _la===PlSqlParser.REFERENCES || _la===PlSqlParser.UNIQUE) { + this.state = 7613; + this.inline_constraint(); + this.state = 7618; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7620; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.LOB) { + this.state = 7619; + this.lob_storage_clause(); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Modify_col_substitutableContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_modify_col_substitutable; + return this; +} + +Modify_col_substitutableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Modify_col_substitutableContext.prototype.constructor = Modify_col_substitutableContext; + +Modify_col_substitutableContext.prototype.COLUMN = function() { + return this.getToken(PlSqlParser.COLUMN, 0); +}; + +Modify_col_substitutableContext.prototype.column_name = function() { + return this.getTypedRuleContext(Column_nameContext,0); +}; + +Modify_col_substitutableContext.prototype.SUBSTITUTABLE = function() { + return this.getToken(PlSqlParser.SUBSTITUTABLE, 0); +}; + +Modify_col_substitutableContext.prototype.AT = function() { + return this.getToken(PlSqlParser.AT, 0); +}; + +Modify_col_substitutableContext.prototype.ALL = function() { + return this.getToken(PlSqlParser.ALL, 0); +}; + +Modify_col_substitutableContext.prototype.LEVELS = function() { + return this.getToken(PlSqlParser.LEVELS, 0); +}; + +Modify_col_substitutableContext.prototype.NOT = function() { + return this.getToken(PlSqlParser.NOT, 0); +}; + +Modify_col_substitutableContext.prototype.FORCE = function() { + return this.getToken(PlSqlParser.FORCE, 0); +}; + +Modify_col_substitutableContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterModify_col_substitutable(this); + } +}; + +Modify_col_substitutableContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitModify_col_substitutable(this); + } +}; + +Modify_col_substitutableContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitModify_col_substitutable(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Modify_col_substitutableContext = Modify_col_substitutableContext; + +PlSqlParser.prototype.modify_col_substitutable = function() { + + var localctx = new Modify_col_substitutableContext(this, this._ctx, this.state); + this.enterRule(localctx, 804, PlSqlParser.RULE_modify_col_substitutable); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7622; + this.match(PlSqlParser.COLUMN); + this.state = 7623; + this.column_name(); + this.state = 7625; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.NOT) { + this.state = 7624; + this.match(PlSqlParser.NOT); + } + + this.state = 7627; + this.match(PlSqlParser.SUBSTITUTABLE); + this.state = 7628; + this.match(PlSqlParser.AT); + this.state = 7629; + this.match(PlSqlParser.ALL); + this.state = 7630; + this.match(PlSqlParser.LEVELS); + this.state = 7632; + this._errHandler.sync(this); + _la = this._input.LA(1); + if(_la===PlSqlParser.FORCE) { + this.state = 7631; + this.match(PlSqlParser.FORCE); + } + + } catch (re) { + if(re instanceof antlr4.error.RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } finally { + this.exitRule(); + } + return localctx; +}; + + +function Add_column_clauseContext(parser, parent, invokingState) { + if(parent===undefined) { + parent = null; + } + if(invokingState===undefined || invokingState===null) { + invokingState = -1; + } + antlr4.ParserRuleContext.call(this, parent, invokingState); + this.parser = parser; + this.ruleIndex = PlSqlParser.RULE_add_column_clause; + return this; +} + +Add_column_clauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); +Add_column_clauseContext.prototype.constructor = Add_column_clauseContext; + +Add_column_clauseContext.prototype.ADD = function() { + return this.getToken(PlSqlParser.ADD, 0); +}; + +Add_column_clauseContext.prototype.LEFT_PAREN = function() { + return this.getToken(PlSqlParser.LEFT_PAREN, 0); +}; + +Add_column_clauseContext.prototype.RIGHT_PAREN = function() { + return this.getToken(PlSqlParser.RIGHT_PAREN, 0); +}; + +Add_column_clauseContext.prototype.column_properties = function() { + return this.getTypedRuleContext(Column_propertiesContext,0); +}; + +Add_column_clauseContext.prototype.column_definition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Column_definitionContext); + } else { + return this.getTypedRuleContext(Column_definitionContext,i); + } +}; + +Add_column_clauseContext.prototype.virtual_column_definition = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTypedRuleContexts(Virtual_column_definitionContext); + } else { + return this.getTypedRuleContext(Virtual_column_definitionContext,i); + } +}; + +Add_column_clauseContext.prototype.COMMA = function(i) { + if(i===undefined) { + i = null; + } + if(i===null) { + return this.getTokens(PlSqlParser.COMMA); + } else { + return this.getToken(PlSqlParser.COMMA, i); + } +}; + + +Add_column_clauseContext.prototype.enterRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.enterAdd_column_clause(this); + } +}; + +Add_column_clauseContext.prototype.exitRule = function(listener) { + if(listener instanceof PlSqlParserListener ) { + listener.exitAdd_column_clause(this); + } +}; + +Add_column_clauseContext.prototype.accept = function(visitor) { + if ( visitor instanceof PlSqlParserVisitor ) { + return visitor.visitAdd_column_clause(this); + } else { + return visitor.visitChildren(this); + } +}; + + + + +PlSqlParser.Add_column_clauseContext = Add_column_clauseContext; + +PlSqlParser.prototype.add_column_clause = function() { + + var localctx = new Add_column_clauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 806, PlSqlParser.RULE_add_column_clause); + var _la = 0; // Token type + try { + this.enterOuterAlt(localctx, 1); + this.state = 7634; + this.match(PlSqlParser.ADD); + this.state = 7656; + this._errHandler.sync(this); + switch(this._input.LA(1)) { + case PlSqlParser.LEFT_PAREN: + this.state = 7635; + this.match(PlSqlParser.LEFT_PAREN); + this.state = 7638; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,960,this._ctx); + switch(la_) { + case 1: + this.state = 7636; + this.column_definition(); + break; + + case 2: + this.state = 7637; + this.virtual_column_definition(); + break; + + } + this.state = 7647; + this._errHandler.sync(this); + _la = this._input.LA(1); + while(_la===PlSqlParser.COMMA) { + this.state = 7640; + this.match(PlSqlParser.COMMA); + this.state = 7643; + this._errHandler.sync(this); + var la_ = this._interp.adaptivePredict(this._input,961,this._ctx); + switch(la_) { + case 1: + this.state = 7641; + this.column_definition(); + break; + + case 2: + this.state = 7642; + this.virtual_column_definition(); + break; + + } + this.state = 7649; + this._errHandler.sync(this); + _la = this._input.LA(1); + } + this.state = 7650; + this.match(PlSqlParser.RIGHT_PAREN); + break; + case PlSqlParser.ABORT: + case PlSqlParser.ABS: + case PlSqlParser.ACCESS: + case PlSqlParser.ACCESSED: + case PlSqlParser.ACCOUNT: + case PlSqlParser.ACL: + case PlSqlParser.ACOS: + case PlSqlParser.ACTION: + case PlSqlParser.ACTIONS: + case PlSqlParser.ACTIVATE: + case PlSqlParser.ACTIVE: + case PlSqlParser.ACTIVE_COMPONENT: + case PlSqlParser.ACTIVE_DATA: + case PlSqlParser.ACTIVE_FUNCTION: + case PlSqlParser.ACTIVE_TAG: + case PlSqlParser.ACTIVITY: + case PlSqlParser.ADAPTIVE_PLAN: + case PlSqlParser.ADD: + case PlSqlParser.ADD_COLUMN: + case PlSqlParser.ADD_GROUP: + case PlSqlParser.ADD_MONTHS: + case PlSqlParser.ADJ_DATE: + case PlSqlParser.ADMIN: + case PlSqlParser.ADMINISTER: + case PlSqlParser.ADMINISTRATOR: + case PlSqlParser.ADVANCED: + case PlSqlParser.ADVISE: + case PlSqlParser.ADVISOR: + case PlSqlParser.AFD_DISKSTRING: + case PlSqlParser.AFTER: + case PlSqlParser.AGENT: + case PlSqlParser.AGGREGATE: + case PlSqlParser.A_LETTER: + case PlSqlParser.ALIAS: + case PlSqlParser.ALLOCATE: + case PlSqlParser.ALLOW: + case PlSqlParser.ALL_ROWS: + case PlSqlParser.ALWAYS: + case PlSqlParser.ANALYZE: + case PlSqlParser.ANCILLARY: + case PlSqlParser.AND_EQUAL: + case PlSqlParser.ANOMALY: + case PlSqlParser.ANSI_REARCH: + case PlSqlParser.ANTIJOIN: + case PlSqlParser.ANYSCHEMA: + case PlSqlParser.APPEND: + case PlSqlParser.APPENDCHILDXML: + case PlSqlParser.APPEND_VALUES: + case PlSqlParser.APPLICATION: + case PlSqlParser.APPLY: + case PlSqlParser.APPROX_COUNT_DISTINCT: + case PlSqlParser.ARCHIVAL: + case PlSqlParser.ARCHIVE: + case PlSqlParser.ARCHIVED: + case PlSqlParser.ARCHIVELOG: + case PlSqlParser.ARRAY: + case PlSqlParser.ASCII: + case PlSqlParser.ASCIISTR: + case PlSqlParser.ASIN: + case PlSqlParser.ASIS: + case PlSqlParser.ASSEMBLY: + case PlSqlParser.ASSIGN: + case PlSqlParser.ASSOCIATE: + case PlSqlParser.ASYNC: + case PlSqlParser.ASYNCHRONOUS: + case PlSqlParser.ATAN2: + case PlSqlParser.ATAN: + case PlSqlParser.AT: + case PlSqlParser.ATTRIBUTE: + case PlSqlParser.ATTRIBUTES: + case PlSqlParser.AUTHENTICATED: + case PlSqlParser.AUTHENTICATION: + case PlSqlParser.AUTHID: + case PlSqlParser.AUTHORIZATION: + case PlSqlParser.AUTOALLOCATE: + case PlSqlParser.AUTO: + case PlSqlParser.AUTOEXTEND: + case PlSqlParser.AUTO_LOGIN: + case PlSqlParser.AUTOMATIC: + case PlSqlParser.AUTONOMOUS_TRANSACTION: + case PlSqlParser.AUTO_REOPTIMIZE: + case PlSqlParser.AVAILABILITY: + case PlSqlParser.AVRO: + case PlSqlParser.BACKGROUND: + case PlSqlParser.BACKUP: + case PlSqlParser.BASIC: + case PlSqlParser.BASICFILE: + case PlSqlParser.BATCH: + case PlSqlParser.BATCHSIZE: + case PlSqlParser.BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.BECOME: + case PlSqlParser.BEFORE: + case PlSqlParser.BEGIN: + case PlSqlParser.BEGINNING: + case PlSqlParser.BEGIN_OUTLINE_DATA: + case PlSqlParser.BEHALF: + case PlSqlParser.BEQUEATH: + case PlSqlParser.BFILE: + case PlSqlParser.BFILENAME: + case PlSqlParser.BIGFILE: + case PlSqlParser.BINARY: + case PlSqlParser.BINARY_DOUBLE: + case PlSqlParser.BINARY_DOUBLE_INFINITY: + case PlSqlParser.BINARY_DOUBLE_NAN: + case PlSqlParser.BINARY_FLOAT: + case PlSqlParser.BINARY_FLOAT_INFINITY: + case PlSqlParser.BINARY_FLOAT_NAN: + case PlSqlParser.BINARY_INTEGER: + case PlSqlParser.BIND_AWARE: + case PlSqlParser.BINDING: + case PlSqlParser.BIN_TO_NUM: + case PlSqlParser.BITAND: + case PlSqlParser.BITMAP_AND: + case PlSqlParser.BITMAP: + case PlSqlParser.BITMAPS: + case PlSqlParser.BITMAP_TREE: + case PlSqlParser.BITS: + case PlSqlParser.BLOB: + case PlSqlParser.BLOCK: + case PlSqlParser.BLOCK_RANGE: + case PlSqlParser.BLOCKS: + case PlSqlParser.BLOCKSIZE: + case PlSqlParser.BODY: + case PlSqlParser.BOOLEAN: + case PlSqlParser.BOTH: + case PlSqlParser.BOUND: + case PlSqlParser.BRANCH: + case PlSqlParser.BREADTH: + case PlSqlParser.BROADCAST: + case PlSqlParser.BSON: + case PlSqlParser.BUFFER: + case PlSqlParser.BUFFER_CACHE: + case PlSqlParser.BUFFER_POOL: + case PlSqlParser.BUILD: + case PlSqlParser.BULK: + case PlSqlParser.BYPASS_RECURSIVE_CHECK: + case PlSqlParser.BYPASS_UJVC: + case PlSqlParser.BYTE: + case PlSqlParser.CACHE: + case PlSqlParser.CACHE_CB: + case PlSqlParser.CACHE_INSTANCES: + case PlSqlParser.CACHE_TEMP_TABLE: + case PlSqlParser.CACHING: + case PlSqlParser.CALCULATED: + case PlSqlParser.CALLBACK: + case PlSqlParser.CALL: + case PlSqlParser.CANCEL: + case PlSqlParser.CAPACITY: + case PlSqlParser.CARDINALITY: + case PlSqlParser.CASCADE: + case PlSqlParser.CASE: + case PlSqlParser.CAST: + case PlSqlParser.CATEGORY: + case PlSqlParser.CDBDEFAULT: + case PlSqlParser.CEIL: + case PlSqlParser.CELL_FLASH_CACHE: + case PlSqlParser.CERTIFICATE: + case PlSqlParser.CFILE: + case PlSqlParser.CHAINED: + case PlSqlParser.CHANGE: + case PlSqlParser.CHANGE_DUPKEY_ERROR_INDEX: + case PlSqlParser.CHARACTER: + case PlSqlParser.CHAR: + case PlSqlParser.CHAR_CS: + case PlSqlParser.CHARTOROWID: + case PlSqlParser.CHECK_ACL_REWRITE: + case PlSqlParser.CHECKPOINT: + case PlSqlParser.CHILD: + case PlSqlParser.CHOOSE: + case PlSqlParser.CHR: + case PlSqlParser.CHUNK: + case PlSqlParser.CLASS: + case PlSqlParser.CLASSIFIER: + case PlSqlParser.CLEANUP: + case PlSqlParser.CLEAR: + case PlSqlParser.C_LETTER: + case PlSqlParser.CLIENT: + case PlSqlParser.CLOB: + case PlSqlParser.CLONE: + case PlSqlParser.CLOSE_CACHED_OPEN_CURSORS: + case PlSqlParser.CLOSE: + case PlSqlParser.CLUSTER_BY_ROWID: + case PlSqlParser.CLUSTER: + case PlSqlParser.CLUSTER_DETAILS: + case PlSqlParser.CLUSTER_DISTANCE: + case PlSqlParser.CLUSTER_ID: + case PlSqlParser.CLUSTERING: + case PlSqlParser.CLUSTERING_FACTOR: + case PlSqlParser.CLUSTER_PROBABILITY: + case PlSqlParser.CLUSTER_SET: + case PlSqlParser.COALESCE: + case PlSqlParser.COALESCE_SQ: + case PlSqlParser.COARSE: + case PlSqlParser.CO_AUTH_IND: + case PlSqlParser.COLD: + case PlSqlParser.COLLECT: + case PlSqlParser.COLUMNAR: + case PlSqlParser.COLUMN_AUTH_INDICATOR: + case PlSqlParser.COLUMN: + case PlSqlParser.COLUMNS: + case PlSqlParser.COLUMN_STATS: + case PlSqlParser.COLUMN_VALUE: + case PlSqlParser.COMMENT: + case PlSqlParser.COMMIT: + case PlSqlParser.COMMITTED: + case PlSqlParser.COMMON_DATA: + case PlSqlParser.COMPACT: + case PlSqlParser.COMPATIBILITY: + case PlSqlParser.COMPILE: + case PlSqlParser.COMPLETE: + case PlSqlParser.COMPLIANCE: + case PlSqlParser.COMPONENT: + case PlSqlParser.COMPONENTS: + case PlSqlParser.COMPOSE: + case PlSqlParser.COMPOSITE: + case PlSqlParser.COMPOSITE_LIMIT: + case PlSqlParser.COMPOUND: + case PlSqlParser.COMPUTE: + case PlSqlParser.CONCAT: + case PlSqlParser.CON_DBID_TO_ID: + case PlSqlParser.CONDITIONAL: + case PlSqlParser.CONDITION: + case PlSqlParser.CONFIRM: + case PlSqlParser.CONFORMING: + case PlSqlParser.CON_GUID_TO_ID: + case PlSqlParser.CON_ID: + case PlSqlParser.CON_NAME_TO_ID: + case PlSqlParser.CONNECT_BY_CB_WHR_ONLY: + case PlSqlParser.CONNECT_BY_COMBINE_SW: + case PlSqlParser.CONNECT_BY_COST_BASED: + case PlSqlParser.CONNECT_BY_ELIM_DUPS: + case PlSqlParser.CONNECT_BY_FILTERING: + case PlSqlParser.CONNECT_BY_ISCYCLE: + case PlSqlParser.CONNECT_BY_ISLEAF: + case PlSqlParser.CONNECT_BY_ROOT: + case PlSqlParser.CONNECT_TIME: + case PlSqlParser.CONSIDER: + case PlSqlParser.CONSISTENT: + case PlSqlParser.CONSTANT: + case PlSqlParser.CONST: + case PlSqlParser.CONSTRAINT: + case PlSqlParser.CONSTRAINTS: + case PlSqlParser.CONSTRUCTOR: + case PlSqlParser.CONTAINER: + case PlSqlParser.CONTAINER_DATA: + case PlSqlParser.CONTAINERS: + case PlSqlParser.CONTENT: + case PlSqlParser.CONTENTS: + case PlSqlParser.CONTEXT: + case PlSqlParser.CONTINUE: + case PlSqlParser.CONTROLFILE: + case PlSqlParser.CON_UID_TO_ID: + case PlSqlParser.CONVERT: + case PlSqlParser.COOKIE: + case PlSqlParser.COPY: + case PlSqlParser.CORR_K: + case PlSqlParser.CORR_S: + case PlSqlParser.CORRUPTION: + case PlSqlParser.CORRUPT_XID_ALL: + case PlSqlParser.CORRUPT_XID: + case PlSqlParser.COS: + case PlSqlParser.COSH: + case PlSqlParser.COST: + case PlSqlParser.COST_XML_QUERY_REWRITE: + case PlSqlParser.COUNT: + case PlSqlParser.COVAR_POP: + case PlSqlParser.COVAR_SAMP: + case PlSqlParser.CPU_COSTING: + case PlSqlParser.CPU_PER_CALL: + case PlSqlParser.CPU_PER_SESSION: + case PlSqlParser.CRASH: + case PlSqlParser.CREATE_FILE_DEST: + case PlSqlParser.CREATE_STORED_OUTLINES: + case PlSqlParser.CREATION: + case PlSqlParser.CREDENTIAL: + case PlSqlParser.CRITICAL: + case PlSqlParser.CROSS: + case PlSqlParser.CROSSEDITION: + case PlSqlParser.CSCONVERT: + case PlSqlParser.CUBE_AJ: + case PlSqlParser.CUBE: + case PlSqlParser.CUBE_GB: + case PlSqlParser.CUBE_SJ: + case PlSqlParser.CUME_DISTM: + case PlSqlParser.CURRENT: + case PlSqlParser.CURRENT_DATE: + case PlSqlParser.CURRENT_SCHEMA: + case PlSqlParser.CURRENT_TIME: + case PlSqlParser.CURRENT_TIMESTAMP: + case PlSqlParser.CURRENT_USER: + case PlSqlParser.CURRENTV: + case PlSqlParser.CURSOR: + case PlSqlParser.CURSOR_SHARING_EXACT: + case PlSqlParser.CURSOR_SPECIFIC_SEGMENT: + case PlSqlParser.CUSTOMDATUM: + case PlSqlParser.CV: + case PlSqlParser.CYCLE: + case PlSqlParser.DANGLING: + case PlSqlParser.DATABASE: + case PlSqlParser.DATA: + case PlSqlParser.DATAFILE: + case PlSqlParser.DATAFILES: + case PlSqlParser.DATAMOVEMENT: + case PlSqlParser.DATAOBJNO: + case PlSqlParser.DATAOBJ_TO_MAT_PARTITION: + case PlSqlParser.DATAOBJ_TO_PARTITION: + case PlSqlParser.DATAPUMP: + case PlSqlParser.DATA_SECURITY_REWRITE_LIMIT: + case PlSqlParser.DATE_MODE: + case PlSqlParser.DAY: + case PlSqlParser.DAYS: + case PlSqlParser.DBA: + case PlSqlParser.DBA_RECYCLEBIN: + case PlSqlParser.DBMS_STATS: + case PlSqlParser.DB_ROLE_CHANGE: + case PlSqlParser.DBTIMEZONE: + case PlSqlParser.DB_UNIQUE_NAME: + case PlSqlParser.DB_VERSION: + case PlSqlParser.DDL: + case PlSqlParser.DEALLOCATE: + case PlSqlParser.DEBUG: + case PlSqlParser.DEBUGGER: + case PlSqlParser.DEC: + case PlSqlParser.DECIMAL: + case PlSqlParser.DECLARE: + case PlSqlParser.DECOMPOSE: + case PlSqlParser.DECORRELATE: + case PlSqlParser.DECR: + case PlSqlParser.DECREMENT: + case PlSqlParser.DECRYPT: + case PlSqlParser.DEDUPLICATE: + case PlSqlParser.DEFAULTS: + case PlSqlParser.DEFERRABLE: + case PlSqlParser.DEFERRED: + case PlSqlParser.DEFINED: + case PlSqlParser.DEFINE: + case PlSqlParser.DEFINER: + case PlSqlParser.DEGREE: + case PlSqlParser.DELAY: + case PlSqlParser.DELEGATE: + case PlSqlParser.DELETE_ALL: + case PlSqlParser.DELETE: + case PlSqlParser.DELETEXML: + case PlSqlParser.DEMAND: + case PlSqlParser.DENSE_RANKM: + case PlSqlParser.DEPENDENT: + case PlSqlParser.DEPTH: + case PlSqlParser.DEQUEUE: + case PlSqlParser.DEREF: + case PlSqlParser.DEREF_NO_REWRITE: + case PlSqlParser.DESTROY: + case PlSqlParser.DETACHED: + case PlSqlParser.DETERMINES: + case PlSqlParser.DETERMINISTIC: + case PlSqlParser.DICTIONARY: + case PlSqlParser.DIMENSION: + case PlSqlParser.DIMENSIONS: + case PlSqlParser.DIRECT_LOAD: + case PlSqlParser.DIRECTORY: + case PlSqlParser.DIRECT_PATH: + case PlSqlParser.DISABLE_ALL: + case PlSqlParser.DISABLE: + case PlSqlParser.DISABLE_PARALLEL_DML: + case PlSqlParser.DISABLE_PRESET: + case PlSqlParser.DISABLE_RPKE: + case PlSqlParser.DISALLOW: + case PlSqlParser.DISASSOCIATE: + case PlSqlParser.DISCARD: + case PlSqlParser.DISCONNECT: + case PlSqlParser.DISK: + case PlSqlParser.DISKGROUP: + case PlSqlParser.DISKS: + case PlSqlParser.DISMOUNT: + case PlSqlParser.DISTINGUISHED: + case PlSqlParser.DISTRIBUTED: + case PlSqlParser.DISTRIBUTE: + case PlSqlParser.DML: + case PlSqlParser.DML_UPDATE: + case PlSqlParser.DOCFIDELITY: + case PlSqlParser.DOCUMENT: + case PlSqlParser.DOMAIN_INDEX_FILTER: + case PlSqlParser.DOMAIN_INDEX_NO_SORT: + case PlSqlParser.DOMAIN_INDEX_SORT: + case PlSqlParser.DOUBLE: + case PlSqlParser.DOWNGRADE: + case PlSqlParser.DRIVING_SITE: + case PlSqlParser.DROP_COLUMN: + case PlSqlParser.DROP_GROUP: + case PlSqlParser.DSINTERVAL_UNCONSTRAINED: + case PlSqlParser.DST_UPGRADE_INSERT_CONV: + case PlSqlParser.DUMP: + case PlSqlParser.DUPLICATE: + case PlSqlParser.DV: + case PlSqlParser.DYNAMIC: + case PlSqlParser.DYNAMIC_SAMPLING: + case PlSqlParser.DYNAMIC_SAMPLING_EST_CDN: + case PlSqlParser.EACH: + case PlSqlParser.EDITIONABLE: + case PlSqlParser.EDITION: + case PlSqlParser.EDITIONING: + case PlSqlParser.EDITIONS: + case PlSqlParser.ELEMENT: + case PlSqlParser.ELIM_GROUPBY: + case PlSqlParser.ELIMINATE_JOIN: + case PlSqlParser.ELIMINATE_OBY: + case PlSqlParser.ELIMINATE_OUTER_JOIN: + case PlSqlParser.EM: + case PlSqlParser.EMPTY_BLOB: + case PlSqlParser.EMPTY_CLOB: + case PlSqlParser.EMPTY: + case PlSqlParser.ENABLE_ALL: + case PlSqlParser.ENABLE: + case PlSqlParser.ENABLE_PARALLEL_DML: + case PlSqlParser.ENABLE_PRESET: + case PlSqlParser.ENCODING: + case PlSqlParser.ENCRYPT: + case PlSqlParser.ENCRYPTION: + case PlSqlParser.END_OUTLINE_DATA: + case PlSqlParser.ENFORCED: + case PlSqlParser.ENFORCE: + case PlSqlParser.ENQUEUE: + case PlSqlParser.ENTERPRISE: + case PlSqlParser.ENTITYESCAPING: + case PlSqlParser.ENTRY: + case PlSqlParser.EQUIPART: + case PlSqlParser.ERR: + case PlSqlParser.ERROR_ARGUMENT: + case PlSqlParser.ERROR: + case PlSqlParser.ERROR_ON_OVERLAP_TIME: + case PlSqlParser.ERRORS: + case PlSqlParser.ESCAPE: + case PlSqlParser.ESTIMATE: + case PlSqlParser.EVAL: + case PlSqlParser.EVALNAME: + case PlSqlParser.EVALUATE: + case PlSqlParser.EVALUATION: + case PlSqlParser.EVENTS: + case PlSqlParser.EVERY: + case PlSqlParser.EXCEPT: + case PlSqlParser.EXCEPTION: + case PlSqlParser.EXCEPTION_INIT: + case PlSqlParser.EXCEPTIONS: + case PlSqlParser.EXCHANGE: + case PlSqlParser.EXCLUDE: + case PlSqlParser.EXCLUDING: + case PlSqlParser.EXECUTE: + case PlSqlParser.EXEMPT: + case PlSqlParser.EXISTING: + case PlSqlParser.EXISTS: + case PlSqlParser.EXISTSNODE: + case PlSqlParser.EXIT: + case PlSqlParser.EXPAND_GSET_TO_UNION: + case PlSqlParser.EXPAND_TABLE: + case PlSqlParser.EXP: + case PlSqlParser.EXPIRE: + case PlSqlParser.EXPLAIN: + case PlSqlParser.EXPLOSION: + case PlSqlParser.EXPORT: + case PlSqlParser.EXPR_CORR_CHECK: + case PlSqlParser.EXPRESS: + case PlSqlParser.EXTENDS: + case PlSqlParser.EXTENT: + case PlSqlParser.EXTENTS: + case PlSqlParser.EXTERNAL: + case PlSqlParser.EXTERNALLY: + case PlSqlParser.EXTRACTCLOBXML: + case PlSqlParser.EXTRACT: + case PlSqlParser.EXTRACTVALUE: + case PlSqlParser.EXTRA: + case PlSqlParser.FACILITY: + case PlSqlParser.FACT: + case PlSqlParser.FACTOR: + case PlSqlParser.FACTORIZE_JOIN: + case PlSqlParser.FAILED: + case PlSqlParser.FAILED_LOGIN_ATTEMPTS: + case PlSqlParser.FAILGROUP: + case PlSqlParser.FAILOVER: + case PlSqlParser.FAILURE: + case PlSqlParser.FALSE: + case PlSqlParser.FAMILY: + case PlSqlParser.FAR: + case PlSqlParser.FAST: + case PlSqlParser.FASTSTART: + case PlSqlParser.FBTSCAN: + case PlSqlParser.FEATURE_DETAILS: + case PlSqlParser.FEATURE_ID: + case PlSqlParser.FEATURE_SET: + case PlSqlParser.FEATURE_VALUE: + case PlSqlParser.FETCH: + case PlSqlParser.FILE: + case PlSqlParser.FILE_NAME_CONVERT: + case PlSqlParser.FILESYSTEM_LIKE_LOGGING: + case PlSqlParser.FILTER: + case PlSqlParser.FINAL: + case PlSqlParser.FINE: + case PlSqlParser.FINISH: + case PlSqlParser.FIRST: + case PlSqlParser.FIRSTM: + case PlSqlParser.FIRST_ROWS: + case PlSqlParser.FIRST_VALUE: + case PlSqlParser.FIXED_VIEW_DATA: + case PlSqlParser.FLAGGER: + case PlSqlParser.FLASHBACK: + case PlSqlParser.FLASH_CACHE: + case PlSqlParser.FLOAT: + case PlSqlParser.FLOB: + case PlSqlParser.FLOOR: + case PlSqlParser.FLUSH: + case PlSqlParser.FOLDER: + case PlSqlParser.FOLLOWING: + case PlSqlParser.FOLLOWS: + case PlSqlParser.FORALL: + case PlSqlParser.FORCE: + case PlSqlParser.FORCE_XML_QUERY_REWRITE: + case PlSqlParser.FOREIGN: + case PlSqlParser.FOREVER: + case PlSqlParser.FORMAT: + case PlSqlParser.FORWARD: + case PlSqlParser.FRAGMENT_NUMBER: + case PlSqlParser.FREELIST: + case PlSqlParser.FREELISTS: + case PlSqlParser.FREEPOOLS: + case PlSqlParser.FRESH: + case PlSqlParser.FROM_TZ: + case PlSqlParser.FULL: + case PlSqlParser.FULL_OUTER_JOIN_TO_OUTER: + case PlSqlParser.FUNCTION: + case PlSqlParser.FUNCTIONS: + case PlSqlParser.GATHER_OPTIMIZER_STATISTICS: + case PlSqlParser.GATHER_PLAN_STATISTICS: + case PlSqlParser.GBY_CONC_ROLLUP: + case PlSqlParser.GBY_PUSHDOWN: + case PlSqlParser.GENERATED: + case PlSqlParser.GET: + case PlSqlParser.GLOBAL: + case PlSqlParser.GLOBALLY: + case PlSqlParser.GLOBAL_NAME: + case PlSqlParser.GLOBAL_TOPIC_ENABLED: + case PlSqlParser.GROUP_BY: + case PlSqlParser.GROUP_ID: + case PlSqlParser.GROUPING: + case PlSqlParser.GROUPING_ID: + case PlSqlParser.GROUPS: + case PlSqlParser.GUARANTEED: + case PlSqlParser.GUARANTEE: + case PlSqlParser.GUARD: + case PlSqlParser.HASH_AJ: + case PlSqlParser.HASH: + case PlSqlParser.HASHKEYS: + case PlSqlParser.HASH_SJ: + case PlSqlParser.HEADER: + case PlSqlParser.HEAP: + case PlSqlParser.HELP: + case PlSqlParser.HEXTORAW: + case PlSqlParser.HEXTOREF: + case PlSqlParser.HIDDEN_KEYWORD: + case PlSqlParser.HIDE: + case PlSqlParser.HIERARCHY: + case PlSqlParser.HIGH: + case PlSqlParser.HINTSET_BEGIN: + case PlSqlParser.HINTSET_END: + case PlSqlParser.HOT: + case PlSqlParser.HOUR: + case PlSqlParser.HWM_BROKERED: + case PlSqlParser.HYBRID: + case PlSqlParser.IDENTIFIER: + case PlSqlParser.IDENTITY: + case PlSqlParser.IDGENERATORS: + case PlSqlParser.ID: + case PlSqlParser.IDLE_TIME: + case PlSqlParser.IF: + case PlSqlParser.IGNORE: + case PlSqlParser.IGNORE_OPTIM_EMBEDDED_HINTS: + case PlSqlParser.IGNORE_ROW_ON_DUPKEY_INDEX: + case PlSqlParser.IGNORE_WHERE_CLAUSE: + case PlSqlParser.ILM: + case PlSqlParser.IMMEDIATE: + case PlSqlParser.IMPACT: + case PlSqlParser.IMPORT: + case PlSqlParser.INACTIVE: + case PlSqlParser.INCLUDE: + case PlSqlParser.INCLUDE_VERSION: + case PlSqlParser.INCLUDING: + case PlSqlParser.INCREMENTAL: + case PlSqlParser.INCREMENT: + case PlSqlParser.INCR: + case PlSqlParser.INDENT: + case PlSqlParser.INDEX_ASC: + case PlSqlParser.INDEX_COMBINE: + case PlSqlParser.INDEX_DESC: + case PlSqlParser.INDEXED: + case PlSqlParser.INDEXES: + case PlSqlParser.INDEX_FFS: + case PlSqlParser.INDEX_FILTER: + case PlSqlParser.INDEXING: + case PlSqlParser.INDEX_JOIN: + case PlSqlParser.INDEX_ROWS: + case PlSqlParser.INDEX_RRS: + case PlSqlParser.INDEX_RS_ASC: + case PlSqlParser.INDEX_RS_DESC: + case PlSqlParser.INDEX_RS: + case PlSqlParser.INDEX_SCAN: + case PlSqlParser.INDEX_SKIP_SCAN: + case PlSqlParser.INDEX_SS_ASC: + case PlSqlParser.INDEX_SS_DESC: + case PlSqlParser.INDEX_SS: + case PlSqlParser.INDEX_STATS: + case PlSqlParser.INDEXTYPE: + case PlSqlParser.INDEXTYPES: + case PlSqlParser.INDICATOR: + case PlSqlParser.INDICES: + case PlSqlParser.INFINITE: + case PlSqlParser.INFORMATIONAL: + case PlSqlParser.INHERIT: + case PlSqlParser.INITCAP: + case PlSqlParser.INITIAL: + case PlSqlParser.INITIALIZED: + case PlSqlParser.INITIALLY: + case PlSqlParser.INITRANS: + case PlSqlParser.INLINE: + case PlSqlParser.INLINE_XMLTYPE_NT: + case PlSqlParser.INMEMORY: + case PlSqlParser.IN_MEMORY_METADATA: + case PlSqlParser.INMEMORY_PRUNING: + case PlSqlParser.INNER: + case PlSqlParser.INOUT: + case PlSqlParser.INPLACE: + case PlSqlParser.INSERTCHILDXMLAFTER: + case PlSqlParser.INSERTCHILDXMLBEFORE: + case PlSqlParser.INSERTCHILDXML: + case PlSqlParser.INSERTXMLAFTER: + case PlSqlParser.INSERTXMLBEFORE: + case PlSqlParser.INSTANCE: + case PlSqlParser.INSTANCES: + case PlSqlParser.INSTANTIABLE: + case PlSqlParser.INSTANTLY: + case PlSqlParser.INSTEAD: + case PlSqlParser.INSTR2: + case PlSqlParser.INSTR4: + case PlSqlParser.INSTRB: + case PlSqlParser.INSTRC: + case PlSqlParser.INSTR: + case PlSqlParser.INTEGER: + case PlSqlParser.INTERLEAVED: + case PlSqlParser.INTERMEDIATE: + case PlSqlParser.INTERNAL_CONVERT: + case PlSqlParser.INTERNAL_USE: + case PlSqlParser.INTERPRETED: + case PlSqlParser.INTERVAL: + case PlSqlParser.INT: + case PlSqlParser.INVALIDATE: + case PlSqlParser.INVISIBLE: + case PlSqlParser.IN_XQUERY: + case PlSqlParser.ISOLATION: + case PlSqlParser.ISOLATION_LEVEL: + case PlSqlParser.ITERATE: + case PlSqlParser.ITERATION_NUMBER: + case PlSqlParser.JAVA: + case PlSqlParser.JOB: + case PlSqlParser.JOIN: + case PlSqlParser.JSON_ARRAYAGG: + case PlSqlParser.JSON_ARRAY: + case PlSqlParser.JSON_EQUAL: + case PlSqlParser.JSON_EXISTS2: + case PlSqlParser.JSON_EXISTS: + case PlSqlParser.JSONGET: + case PlSqlParser.JSON: + case PlSqlParser.JSON_OBJECTAGG: + case PlSqlParser.JSON_OBJECT: + case PlSqlParser.JSONPARSE: + case PlSqlParser.JSON_QUERY: + case PlSqlParser.JSON_SERIALIZE: + case PlSqlParser.JSON_TABLE: + case PlSqlParser.JSON_TEXTCONTAINS2: + case PlSqlParser.JSON_TEXTCONTAINS: + case PlSqlParser.JSON_VALUE: + case PlSqlParser.KEEP_DUPLICATES: + case PlSqlParser.KEEP: + case PlSqlParser.KERBEROS: + case PlSqlParser.KEY: + case PlSqlParser.KEY_LENGTH: + case PlSqlParser.KEYSIZE: + case PlSqlParser.KEYS: + case PlSqlParser.KEYSTORE: + case PlSqlParser.KILL: + case PlSqlParser.LABEL: + case PlSqlParser.LANGUAGE: + case PlSqlParser.LAST_DAY: + case PlSqlParser.LAST: + case PlSqlParser.LAST_VALUE: + case PlSqlParser.LATERAL: + case PlSqlParser.LAX: + case PlSqlParser.LAYER: + case PlSqlParser.LDAP_REGISTRATION_ENABLED: + case PlSqlParser.LDAP_REGISTRATION: + case PlSqlParser.LDAP_REG_SYNC_INTERVAL: + case PlSqlParser.LEADING: + case PlSqlParser.LEFT: + case PlSqlParser.LENGTH2: + case PlSqlParser.LENGTH4: + case PlSqlParser.LENGTHB: + case PlSqlParser.LENGTHC: + case PlSqlParser.LENGTH: + case PlSqlParser.LESS: + case PlSqlParser.LEVEL: + case PlSqlParser.LEVELS: + case PlSqlParser.LIBRARY: + case PlSqlParser.LIFECYCLE: + case PlSqlParser.LIFE: + case PlSqlParser.LIFETIME: + case PlSqlParser.LIKE2: + case PlSqlParser.LIKE4: + case PlSqlParser.LIKEC: + case PlSqlParser.LIKE_EXPAND: + case PlSqlParser.LIMIT: + case PlSqlParser.LINEAR: + case PlSqlParser.LINK: + case PlSqlParser.LIST: + case PlSqlParser.LN: + case PlSqlParser.LNNVL: + case PlSqlParser.LOAD: + case PlSqlParser.LOB: + case PlSqlParser.LOBNVL: + case PlSqlParser.LOBS: + case PlSqlParser.LOCAL_INDEXES: + case PlSqlParser.LOCAL: + case PlSqlParser.LOCALTIME: + case PlSqlParser.LOCALTIMESTAMP: + case PlSqlParser.LOCATION: + case PlSqlParser.LOCATOR: + case PlSqlParser.LOCKED: + case PlSqlParser.LOCKING: + case PlSqlParser.LOGFILE: + case PlSqlParser.LOGFILES: + case PlSqlParser.LOGGING: + case PlSqlParser.LOGICAL: + case PlSqlParser.LOGICAL_READS_PER_CALL: + case PlSqlParser.LOGICAL_READS_PER_SESSION: + case PlSqlParser.LOG: + case PlSqlParser.LOGMINING: + case PlSqlParser.LOGOFF: + case PlSqlParser.LOGON: + case PlSqlParser.LOG_READ_ONLY_VIOLATIONS: + case PlSqlParser.LONG: + case PlSqlParser.LOOP: + case PlSqlParser.LOWER: + case PlSqlParser.LOW: + case PlSqlParser.LPAD: + case PlSqlParser.LTRIM: + case PlSqlParser.MAIN: + case PlSqlParser.MAKE_REF: + case PlSqlParser.MANAGED: + case PlSqlParser.MANAGE: + case PlSqlParser.MANAGEMENT: + case PlSqlParser.MANAGER: + case PlSqlParser.MANUAL: + case PlSqlParser.MAP: + case PlSqlParser.MAPPING: + case PlSqlParser.MASTER: + case PlSqlParser.MATCHED: + case PlSqlParser.MATCHES: + case PlSqlParser.MATCH: + case PlSqlParser.MATCH_NUMBER: + case PlSqlParser.MATCH_RECOGNIZE: + case PlSqlParser.MATERIALIZED: + case PlSqlParser.MATERIALIZE: + case PlSqlParser.MAXARCHLOGS: + case PlSqlParser.MAXDATAFILES: + case PlSqlParser.MAXEXTENTS: + case PlSqlParser.MAXIMIZE: + case PlSqlParser.MAXINSTANCES: + case PlSqlParser.MAXLOGFILES: + case PlSqlParser.MAXLOGHISTORY: + case PlSqlParser.MAXLOGMEMBERS: + case PlSqlParser.MAX_SHARED_TEMP_SIZE: + case PlSqlParser.MAXSIZE: + case PlSqlParser.MAXTRANS: + case PlSqlParser.MAXVALUE: + case PlSqlParser.MEASURE: + case PlSqlParser.MEASURES: + case PlSqlParser.MEDIUM: + case PlSqlParser.MEMBER: + case PlSqlParser.MEMCOMPRESS: + case PlSqlParser.MEMORY: + case PlSqlParser.MERGEACTIONS: + case PlSqlParser.MERGE_AJ: + case PlSqlParser.MERGE_CONST_ON: + case PlSqlParser.MERGE: + case PlSqlParser.MERGE_SJ: + case PlSqlParser.METADATA: + case PlSqlParser.METHOD: + case PlSqlParser.MIGRATE: + case PlSqlParser.MIGRATION: + case PlSqlParser.MINEXTENTS: + case PlSqlParser.MINIMIZE: + case PlSqlParser.MINIMUM: + case PlSqlParser.MINING: + case PlSqlParser.MINUS_NULL: + case PlSqlParser.MINUTE: + case PlSqlParser.MINVALUE: + case PlSqlParser.MIRRORCOLD: + case PlSqlParser.MIRRORHOT: + case PlSqlParser.MIRROR: + case PlSqlParser.MLSLABEL: + case PlSqlParser.MODEL_COMPILE_SUBQUERY: + case PlSqlParser.MODEL_DONTVERIFY_UNIQUENESS: + case PlSqlParser.MODEL_DYNAMIC_SUBQUERY: + case PlSqlParser.MODEL_MIN_ANALYSIS: + case PlSqlParser.MODEL: + case PlSqlParser.MODEL_NB: + case PlSqlParser.MODEL_NO_ANALYSIS: + case PlSqlParser.MODEL_PBY: + case PlSqlParser.MODEL_PUSH_REF: + case PlSqlParser.MODEL_SV: + case PlSqlParser.MODIFICATION: + case PlSqlParser.MODIFY_COLUMN_TYPE: + case PlSqlParser.MODIFY: + case PlSqlParser.MOD: + case PlSqlParser.MODULE: + case PlSqlParser.MONITORING: + case PlSqlParser.MONITOR: + case PlSqlParser.MONTH: + case PlSqlParser.MONTHS_BETWEEN: + case PlSqlParser.MONTHS: + case PlSqlParser.MOUNT: + case PlSqlParser.MOUNTPATH: + case PlSqlParser.MOVEMENT: + case PlSqlParser.MOVE: + case PlSqlParser.MULTIDIMENSIONAL: + case PlSqlParser.MULTISET: + case PlSqlParser.MV_MERGE: + case PlSqlParser.NAMED: + case PlSqlParser.NAME: + case PlSqlParser.NAMESPACE: + case PlSqlParser.NAN: + case PlSqlParser.NANVL: + case PlSqlParser.NATIONAL: + case PlSqlParser.NATIVE_FULL_OUTER_JOIN: + case PlSqlParser.NATIVE: + case PlSqlParser.NATURAL: + case PlSqlParser.NAV: + case PlSqlParser.NCHAR_CS: + case PlSqlParser.NCHAR: + case PlSqlParser.NCHR: + case PlSqlParser.NCLOB: + case PlSqlParser.NEEDED: + case PlSqlParser.NEG: + case PlSqlParser.NESTED: + case PlSqlParser.NESTED_TABLE_FAST_INSERT: + case PlSqlParser.NESTED_TABLE_GET_REFS: + case PlSqlParser.NESTED_TABLE_ID: + case PlSqlParser.NESTED_TABLE_SET_REFS: + case PlSqlParser.NESTED_TABLE_SET_SETID: + case PlSqlParser.NETWORK: + case PlSqlParser.NEVER: + case PlSqlParser.NEW: + case PlSqlParser.NEW_TIME: + case PlSqlParser.NEXT_DAY: + case PlSqlParser.NEXT: + case PlSqlParser.NL_AJ: + case PlSqlParser.NLJ_BATCHING: + case PlSqlParser.NLJ_INDEX_FILTER: + case PlSqlParser.NLJ_INDEX_SCAN: + case PlSqlParser.NLJ_PREFETCH: + case PlSqlParser.NLS_CALENDAR: + case PlSqlParser.NLS_CHARACTERSET: + case PlSqlParser.NLS_CHARSET_DECL_LEN: + case PlSqlParser.NLS_CHARSET_ID: + case PlSqlParser.NLS_CHARSET_NAME: + case PlSqlParser.NLS_COMP: + case PlSqlParser.NLS_CURRENCY: + case PlSqlParser.NLS_DATE_FORMAT: + case PlSqlParser.NLS_DATE_LANGUAGE: + case PlSqlParser.NLS_INITCAP: + case PlSqlParser.NLS_ISO_CURRENCY: + case PlSqlParser.NL_SJ: + case PlSqlParser.NLS_LANG: + case PlSqlParser.NLS_LANGUAGE: + case PlSqlParser.NLS_LENGTH_SEMANTICS: + case PlSqlParser.NLS_LOWER: + case PlSqlParser.NLS_NCHAR_CONV_EXCP: + case PlSqlParser.NLS_NUMERIC_CHARACTERS: + case PlSqlParser.NLS_SORT: + case PlSqlParser.NLSSORT: + case PlSqlParser.NLS_SPECIAL_CHARS: + case PlSqlParser.NLS_TERRITORY: + case PlSqlParser.NLS_UPPER: + case PlSqlParser.NO_ACCESS: + case PlSqlParser.NO_ADAPTIVE_PLAN: + case PlSqlParser.NO_ANSI_REARCH: + case PlSqlParser.NOAPPEND: + case PlSqlParser.NOARCHIVELOG: + case PlSqlParser.NOAUDIT: + case PlSqlParser.NO_AUTO_REOPTIMIZE: + case PlSqlParser.NO_BASETABLE_MULTIMV_REWRITE: + case PlSqlParser.NO_BATCH_TABLE_ACCESS_BY_ROWID: + case PlSqlParser.NO_BIND_AWARE: + case PlSqlParser.NO_BUFFER: + case PlSqlParser.NOCACHE: + case PlSqlParser.NO_CARTESIAN: + case PlSqlParser.NO_CHECK_ACL_REWRITE: + case PlSqlParser.NO_CLUSTER_BY_ROWID: + case Pl \ No newline at end of file diff --git a/src/lib/plsql/PlSqlParser.tokens b/src/lib/plsql/PlSqlParser.tokens new file mode 100644 index 0000000..57e71c2 --- /dev/null +++ b/src/lib/plsql/PlSqlParser.tokens @@ -0,0 +1,4484 @@ +ABORT=1 +ABS=2 +ACCESS=3 +ACCESSED=4 +ACCOUNT=5 +ACL=6 +ACOS=7 +ACTION=8 +ACTIONS=9 +ACTIVATE=10 +ACTIVE=11 +ACTIVE_COMPONENT=12 +ACTIVE_DATA=13 +ACTIVE_FUNCTION=14 +ACTIVE_TAG=15 +ACTIVITY=16 +ADAPTIVE_PLAN=17 +ADD=18 +ADD_COLUMN=19 +ADD_GROUP=20 +ADD_MONTHS=21 +ADJ_DATE=22 +ADMIN=23 +ADMINISTER=24 +ADMINISTRATOR=25 +ADVANCED=26 +ADVISE=27 +ADVISOR=28 +AFD_DISKSTRING=29 +AFTER=30 +AGENT=31 +AGGREGATE=32 +A_LETTER=33 +ALIAS=34 +ALL=35 +ALLOCATE=36 +ALLOW=37 +ALL_ROWS=38 +ALTER=39 +ALWAYS=40 +ANALYZE=41 +ANCILLARY=42 +AND=43 +AND_EQUAL=44 +ANOMALY=45 +ANSI_REARCH=46 +ANTIJOIN=47 +ANY=48 +ANYSCHEMA=49 +APPEND=50 +APPENDCHILDXML=51 +APPEND_VALUES=52 +APPLICATION=53 +APPLY=54 +APPROX_COUNT_DISTINCT=55 +ARCHIVAL=56 +ARCHIVE=57 +ARCHIVED=58 +ARCHIVELOG=59 +ARRAY=60 +AS=61 +ASC=62 +ASCII=63 +ASCIISTR=64 +ASIN=65 +ASIS=66 +ASSEMBLY=67 +ASSIGN=68 +ASSOCIATE=69 +ASYNC=70 +ASYNCHRONOUS=71 +ATAN2=72 +ATAN=73 +AT=74 +ATTRIBUTE=75 +ATTRIBUTES=76 +AUDIT=77 +AUTHENTICATED=78 +AUTHENTICATION=79 +AUTHID=80 +AUTHORIZATION=81 +AUTOALLOCATE=82 +AUTO=83 +AUTOBACKUP=84 +AUTOEXTEND=85 +AUTO_LOGIN=86 +AUTOMATIC=87 +AUTONOMOUS_TRANSACTION=88 +AUTO_REOPTIMIZE=89 +AVAILABILITY=90 +AVRO=91 +BACKGROUND=92 +BACKUP=93 +BACKUPSET=94 +BASIC=95 +BASICFILE=96 +BATCH=97 +BATCHSIZE=98 +BATCH_TABLE_ACCESS_BY_ROWID=99 +BECOME=100 +BEFORE=101 +BEGIN=102 +BEGINNING=103 +BEGIN_OUTLINE_DATA=104 +BEHALF=105 +BEQUEATH=106 +BETWEEN=107 +BFILE=108 +BFILENAME=109 +BIGFILE=110 +BINARY=111 +BINARY_DOUBLE=112 +BINARY_DOUBLE_INFINITY=113 +BINARY_DOUBLE_NAN=114 +BINARY_FLOAT=115 +BINARY_FLOAT_INFINITY=116 +BINARY_FLOAT_NAN=117 +BINARY_INTEGER=118 +BIND_AWARE=119 +BINDING=120 +BIN_TO_NUM=121 +BITAND=122 +BITMAP_AND=123 +BITMAP=124 +BITMAPS=125 +BITMAP_TREE=126 +BITS=127 +BLOB=128 +BLOCK=129 +BLOCK_RANGE=130 +BLOCKS=131 +BLOCKSIZE=132 +BODY=133 +BOOLEAN=134 +BOTH=135 +BOUND=136 +BRANCH=137 +BREADTH=138 +BROADCAST=139 +BSON=140 +BUFFER=141 +BUFFER_CACHE=142 +BUFFER_POOL=143 +BUILD=144 +BULK=145 +BY=146 +BYPASS_RECURSIVE_CHECK=147 +BYPASS_UJVC=148 +BYTE=149 +CACHE=150 +CACHE_CB=151 +CACHE_INSTANCES=152 +CACHE_TEMP_TABLE=153 +CACHING=154 +CALCULATED=155 +CALLBACK=156 +CALL=157 +CANCEL=158 +CANONICAL=159 +CAPACITY=160 +CARDINALITY=161 +CASCADE=162 +CASE=163 +CAST=164 +CATEGORY=165 +CDBDEFAULT=166 +CEIL=167 +CELL_FLASH_CACHE=168 +CERTIFICATE=169 +CFILE=170 +CHAINED=171 +CHANGE=172 +CHANGETRACKING=173 +CHANGE_DUPKEY_ERROR_INDEX=174 +CHARACTER=175 +CHAR=176 +CHAR_CS=177 +CHARTOROWID=178 +CHECK_ACL_REWRITE=179 +CHECK=180 +CHECKPOINT=181 +CHILD=182 +CHOOSE=183 +CHR=184 +CHUNK=185 +CLASS=186 +CLASSIFIER=187 +CLEANUP=188 +CLEAR=189 +C_LETTER=190 +CLIENT=191 +CLOB=192 +CLONE=193 +CLOSE_CACHED_OPEN_CURSORS=194 +CLOSE=195 +CLUSTER_BY_ROWID=196 +CLUSTER=197 +CLUSTER_DETAILS=198 +CLUSTER_DISTANCE=199 +CLUSTER_ID=200 +CLUSTERING=201 +CLUSTERING_FACTOR=202 +CLUSTER_PROBABILITY=203 +CLUSTER_SET=204 +COALESCE=205 +COALESCE_SQ=206 +COARSE=207 +CO_AUTH_IND=208 +COLD=209 +COLLECT=210 +COLUMNAR=211 +COLUMN_AUTH_INDICATOR=212 +COLUMN=213 +COLUMNS=214 +COLUMN_STATS=215 +COLUMN_VALUE=216 +COMMENT=217 +COMMIT=218 +COMMITTED=219 +COMMON_DATA=220 +COMPACT=221 +COMPATIBILITY=222 +COMPILE=223 +COMPLETE=224 +COMPLIANCE=225 +COMPONENT=226 +COMPONENTS=227 +COMPOSE=228 +COMPOSITE=229 +COMPOSITE_LIMIT=230 +COMPOUND=231 +COMPRESS=232 +COMPUTE=233 +CONCAT=234 +CON_DBID_TO_ID=235 +CONDITIONAL=236 +CONDITION=237 +CONFIRM=238 +CONFORMING=239 +CON_GUID_TO_ID=240 +CON_ID=241 +CON_NAME_TO_ID=242 +CONNECT_BY_CB_WHR_ONLY=243 +CONNECT_BY_COMBINE_SW=244 +CONNECT_BY_COST_BASED=245 +CONNECT_BY_ELIM_DUPS=246 +CONNECT_BY_FILTERING=247 +CONNECT_BY_ISCYCLE=248 +CONNECT_BY_ISLEAF=249 +CONNECT_BY_ROOT=250 +CONNECT=251 +CONNECT_TIME=252 +CONSIDER=253 +CONSISTENT=254 +CONSTANT=255 +CONST=256 +CONSTRAINT=257 +CONSTRAINTS=258 +CONSTRUCTOR=259 +CONTAINER=260 +CONTAINER_DATA=261 +CONTAINERS=262 +CONTENT=263 +CONTENTS=264 +CONTEXT=265 +CONTINUE=266 +CONTROLFILE=267 +CON_UID_TO_ID=268 +CONVERT=269 +COOKIE=270 +COPY=271 +CORR_K=272 +CORR_S=273 +CORRUPTION=274 +CORRUPT_XID_ALL=275 +CORRUPT_XID=276 +COS=277 +COSH=278 +COST=279 +COST_XML_QUERY_REWRITE=280 +COUNT=281 +COVAR_POP=282 +COVAR_SAMP=283 +CPU_COSTING=284 +CPU_PER_CALL=285 +CPU_PER_SESSION=286 +CRASH=287 +CREATE=288 +CREATE_FILE_DEST=289 +CREATE_STORED_OUTLINES=290 +CREATION=291 +CREDENTIAL=292 +CRITICAL=293 +CROSS=294 +CROSSEDITION=295 +CSCONVERT=296 +CUBE_AJ=297 +CUBE=298 +CUBE_GB=299 +CUBE_SJ=300 +CUME_DISTM=301 +CURRENT=302 +CURRENT_DATE=303 +CURRENT_SCHEMA=304 +CURRENT_TIME=305 +CURRENT_TIMESTAMP=306 +CURRENT_USER=307 +CURRENTV=308 +CURSOR=309 +CURSOR_SHARING_EXACT=310 +CURSOR_SPECIFIC_SEGMENT=311 +CUSTOMDATUM=312 +CV=313 +CYCLE=314 +DANGLING=315 +DATABASE=316 +DATA=317 +DATAFILE=318 +DATAFILES=319 +DATAGUARDCONFIG=320 +DATAMOVEMENT=321 +DATAOBJNO=322 +DATAOBJ_TO_MAT_PARTITION=323 +DATAOBJ_TO_PARTITION=324 +DATAPUMP=325 +DATA_SECURITY_REWRITE_LIMIT=326 +DATE=327 +DATE_MODE=328 +DAY=329 +DAYS=330 +DBA=331 +DBA_RECYCLEBIN=332 +DBMS_STATS=333 +DB_ROLE_CHANGE=334 +DBTIMEZONE=335 +DB_UNIQUE_NAME=336 +DB_VERSION=337 +DDL=338 +DEALLOCATE=339 +DEBUG=340 +DEBUGGER=341 +DEC=342 +DECIMAL=343 +DECLARE=344 +DECOMPOSE=345 +DECORRELATE=346 +DECR=347 +DECREMENT=348 +DECRYPT=349 +DEDUPLICATE=350 +DEFAULT=351 +DEFAULTS=352 +DEFERRABLE=353 +DEFERRED=354 +DEFINED=355 +DEFINE=356 +DEFINER=357 +DEGREE=358 +DELAY=359 +DELEGATE=360 +DELETE_ALL=361 +DELETE=362 +DELETEXML=363 +DEMAND=364 +DENSE_RANKM=365 +DEPENDENT=366 +DEPTH=367 +DEQUEUE=368 +DEREF=369 +DEREF_NO_REWRITE=370 +DESC=371 +DESTROY=372 +DETACHED=373 +DETERMINES=374 +DETERMINISTIC=375 +DICTIONARY=376 +DIMENSION=377 +DIMENSIONS=378 +DIRECT_LOAD=379 +DIRECTORY=380 +DIRECT_PATH=381 +DISABLE_ALL=382 +DISABLE=383 +DISABLE_PARALLEL_DML=384 +DISABLE_PRESET=385 +DISABLE_RPKE=386 +DISALLOW=387 +DISASSOCIATE=388 +DISCARD=389 +DISCONNECT=390 +DISK=391 +DISKGROUP=392 +DISKGROUP_PLUS=393 +DISKS=394 +DISMOUNT=395 +DISTINCT=396 +DISTINGUISHED=397 +DISTRIBUTED=398 +DISTRIBUTE=399 +DML=400 +DML_UPDATE=401 +DOCFIDELITY=402 +DOCUMENT=403 +DOMAIN_INDEX_FILTER=404 +DOMAIN_INDEX_NO_SORT=405 +DOMAIN_INDEX_SORT=406 +DOUBLE=407 +DOWNGRADE=408 +DRIVING_SITE=409 +DROP_COLUMN=410 +DROP=411 +DROP_GROUP=412 +DSINTERVAL_UNCONSTRAINED=413 +DST_UPGRADE_INSERT_CONV=414 +DUMP=415 +DUMPSET=416 +DUPLICATE=417 +DV=418 +DYNAMIC=419 +DYNAMIC_SAMPLING=420 +DYNAMIC_SAMPLING_EST_CDN=421 +EACH=422 +EDITIONABLE=423 +EDITION=424 +EDITIONING=425 +EDITIONS=426 +ELEMENT=427 +ELIM_GROUPBY=428 +ELIMINATE_JOIN=429 +ELIMINATE_OBY=430 +ELIMINATE_OUTER_JOIN=431 +ELSE=432 +ELSIF=433 +EM=434 +EMPTY_BLOB=435 +EMPTY_CLOB=436 +EMPTY=437 +ENABLE_ALL=438 +ENABLE=439 +ENABLE_PARALLEL_DML=440 +ENABLE_PRESET=441 +ENCODING=442 +ENCRYPT=443 +ENCRYPTION=444 +END=445 +END_OUTLINE_DATA=446 +ENFORCED=447 +ENFORCE=448 +ENQUEUE=449 +ENTERPRISE=450 +ENTITYESCAPING=451 +ENTRY=452 +EQUIPART=453 +ERR=454 +ERROR_ARGUMENT=455 +ERROR=456 +ERROR_ON_OVERLAP_TIME=457 +ERRORS=458 +ESCAPE=459 +ESTIMATE=460 +EVAL=461 +EVALNAME=462 +EVALUATE=463 +EVALUATION=464 +EVENTS=465 +EVERY=466 +EXCEPT=467 +EXCEPTION=468 +EXCEPTION_INIT=469 +EXCEPTIONS=470 +EXCHANGE=471 +EXCLUDE=472 +EXCLUDING=473 +EXCLUSIVE=474 +EXECUTE=475 +EXEMPT=476 +EXISTING=477 +EXISTS=478 +EXISTSNODE=479 +EXIT=480 +EXPAND_GSET_TO_UNION=481 +EXPAND_TABLE=482 +EXP=483 +EXPIRE=484 +EXPLAIN=485 +EXPLOSION=486 +EXPORT=487 +EXPR_CORR_CHECK=488 +EXPRESS=489 +EXTENDS=490 +EXTENT=491 +EXTENTS=492 +EXTERNAL=493 +EXTERNALLY=494 +EXTRACTCLOBXML=495 +EXTRACT=496 +EXTRACTVALUE=497 +EXTRA=498 +FACILITY=499 +FACT=500 +FACTOR=501 +FACTORIZE_JOIN=502 +FAILED=503 +FAILED_LOGIN_ATTEMPTS=504 +FAILGROUP=505 +FAILOVER=506 +FAILURE=507 +FALSE=508 +FAMILY=509 +FAR=510 +FAST=511 +FASTSTART=512 +FBTSCAN=513 +FEATURE_DETAILS=514 +FEATURE_ID=515 +FEATURE_SET=516 +FEATURE_VALUE=517 +FETCH=518 +FILE=519 +FILE_NAME_CONVERT=520 +FILESYSTEM_LIKE_LOGGING=521 +FILTER=522 +FINAL=523 +FINE=524 +FINISH=525 +FIRST=526 +FIRSTM=527 +FIRST_ROWS=528 +FIRST_VALUE=529 +FIXED_VIEW_DATA=530 +FLAGGER=531 +FLASHBACK=532 +FLASH_CACHE=533 +FLOAT=534 +FLOB=535 +FLOOR=536 +FLUSH=537 +FOLDER=538 +FOLLOWING=539 +FOLLOWS=540 +FORALL=541 +FORCE=542 +FORCE_XML_QUERY_REWRITE=543 +FOREIGN=544 +FOREVER=545 +FOR=546 +FORMAT=547 +FORWARD=548 +FRAGMENT_NUMBER=549 +FREELIST=550 +FREELISTS=551 +FREEPOOLS=552 +FRESH=553 +FROM=554 +FROM_TZ=555 +FULL=556 +FULL_OUTER_JOIN_TO_OUTER=557 +FUNCTION=558 +FUNCTIONS=559 +GATHER_OPTIMIZER_STATISTICS=560 +GATHER_PLAN_STATISTICS=561 +GBY_CONC_ROLLUP=562 +GBY_PUSHDOWN=563 +GENERATED=564 +GET=565 +GLOBAL=566 +GLOBALLY=567 +GLOBAL_NAME=568 +GLOBAL_TOPIC_ENABLED=569 +GOTO=570 +GRANT=571 +GROUP_BY=572 +GROUP=573 +GROUP_ID=574 +GROUPING=575 +GROUPING_ID=576 +GROUPS=577 +GUARANTEED=578 +GUARANTEE=579 +GUARD=580 +HASH_AJ=581 +HASH=582 +HASHKEYS=583 +HASH_SJ=584 +HAVING=585 +HEADER=586 +HEAP=587 +HELP=588 +HEXTORAW=589 +HEXTOREF=590 +HIDDEN_KEYWORD=591 +HIDE=592 +HIERARCHY=593 +HIGH=594 +HINTSET_BEGIN=595 +HINTSET_END=596 +HOT=597 +HOUR=598 +HWM_BROKERED=599 +HYBRID=600 +IDENTIFIED=601 +IDENTIFIER=602 +IDENTITY=603 +IDGENERATORS=604 +ID=605 +IDLE_TIME=606 +IF=607 +IGNORE=608 +IGNORE_OPTIM_EMBEDDED_HINTS=609 +IGNORE_ROW_ON_DUPKEY_INDEX=610 +IGNORE_WHERE_CLAUSE=611 +ILM=612 +IMMEDIATE=613 +IMPACT=614 +IMPORT=615 +INACTIVE=616 +INCLUDE=617 +INCLUDE_VERSION=618 +INCLUDING=619 +INCREMENTAL=620 +INCREMENT=621 +INCR=622 +INDENT=623 +INDEX_ASC=624 +INDEX_COMBINE=625 +INDEX_DESC=626 +INDEXED=627 +INDEXES=628 +INDEX_FFS=629 +INDEX_FILTER=630 +INDEX=631 +INDEXING=632 +INDEX_JOIN=633 +INDEX_ROWS=634 +INDEX_RRS=635 +INDEX_RS_ASC=636 +INDEX_RS_DESC=637 +INDEX_RS=638 +INDEX_SCAN=639 +INDEX_SKIP_SCAN=640 +INDEX_SS_ASC=641 +INDEX_SS_DESC=642 +INDEX_SS=643 +INDEX_STATS=644 +INDEXTYPE=645 +INDEXTYPES=646 +INDICATOR=647 +INDICES=648 +INFINITE=649 +INFORMATIONAL=650 +INHERIT=651 +IN=652 +INITCAP=653 +INITIAL=654 +INITIALIZED=655 +INITIALLY=656 +INITRANS=657 +INLINE=658 +INLINE_XMLTYPE_NT=659 +INMEMORY=660 +IN_MEMORY_METADATA=661 +INMEMORY_PRUNING=662 +INNER=663 +INOUT=664 +INPLACE=665 +INSERTCHILDXMLAFTER=666 +INSERTCHILDXMLBEFORE=667 +INSERTCHILDXML=668 +INSERT=669 +INSERTXMLAFTER=670 +INSERTXMLBEFORE=671 +INSTANCE=672 +INSTANCES=673 +INSTANTIABLE=674 +INSTANTLY=675 +INSTEAD=676 +INSTR2=677 +INSTR4=678 +INSTRB=679 +INSTRC=680 +INSTR=681 +INTEGER=682 +INTERLEAVED=683 +INTERMEDIATE=684 +INTERNAL_CONVERT=685 +INTERNAL_USE=686 +INTERPRETED=687 +INTERSECT=688 +INTERVAL=689 +INT=690 +INTO=691 +INVALIDATE=692 +INVISIBLE=693 +IN_XQUERY=694 +IS=695 +ISOLATION=696 +ISOLATION_LEVEL=697 +ITERATE=698 +ITERATION_NUMBER=699 +JAVA=700 +JOB=701 +JOIN=702 +JSON_ARRAYAGG=703 +JSON_ARRAY=704 +JSON_EQUAL=705 +JSON_EXISTS2=706 +JSON_EXISTS=707 +JSONGET=708 +JSON=709 +JSON_OBJECTAGG=710 +JSON_OBJECT=711 +JSONPARSE=712 +JSON_QUERY=713 +JSON_SERIALIZE=714 +JSON_TABLE=715 +JSON_TEXTCONTAINS2=716 +JSON_TEXTCONTAINS=717 +JSON_VALUE=718 +KEEP_DUPLICATES=719 +KEEP=720 +KERBEROS=721 +KEY=722 +KEY_LENGTH=723 +KEYSIZE=724 +KEYS=725 +KEYSTORE=726 +KILL=727 +LABEL=728 +LANGUAGE=729 +LAST_DAY=730 +LAST=731 +LAST_VALUE=732 +LATERAL=733 +LAX=734 +LAYER=735 +LDAP_REGISTRATION_ENABLED=736 +LDAP_REGISTRATION=737 +LDAP_REG_SYNC_INTERVAL=738 +LEADING=739 +LEFT=740 +LENGTH2=741 +LENGTH4=742 +LENGTHB=743 +LENGTHC=744 +LENGTH=745 +LESS=746 +LEVEL=747 +LEVELS=748 +LIBRARY=749 +LIFECYCLE=750 +LIFE=751 +LIFETIME=752 +LIKE2=753 +LIKE4=754 +LIKEC=755 +LIKE_EXPAND=756 +LIKE=757 +LIMIT=758 +LINEAR=759 +LINK=760 +LIST=761 +LN=762 +LNNVL=763 +LOAD=764 +LOB=765 +LOBNVL=766 +LOBS=767 +LOCAL_INDEXES=768 +LOCAL=769 +LOCALTIME=770 +LOCALTIMESTAMP=771 +LOCATION=772 +LOCATOR=773 +LOCKED=774 +LOCKING=775 +LOCK=776 +LOGFILE=777 +LOGFILES=778 +LOGGING=779 +LOGICAL=780 +LOGICAL_READS_PER_CALL=781 +LOGICAL_READS_PER_SESSION=782 +LOG=783 +LOGMINING=784 +LOGOFF=785 +LOGON=786 +LOG_READ_ONLY_VIOLATIONS=787 +LONG=788 +LOOP=789 +LOWER=790 +LOW=791 +LPAD=792 +LTRIM=793 +MAIN=794 +MAKE_REF=795 +MANAGED=796 +MANAGE=797 +MANAGEMENT=798 +MANAGER=799 +MANUAL=800 +MAP=801 +MAPPING=802 +MASTER=803 +MATCHED=804 +MATCHES=805 +MATCH=806 +MATCH_NUMBER=807 +MATCH_RECOGNIZE=808 +MATERIALIZED=809 +MATERIALIZE=810 +MAXARCHLOGS=811 +MAXDATAFILES=812 +MAXEXTENTS=813 +MAXIMIZE=814 +MAXINSTANCES=815 +MAXLOGFILES=816 +MAXLOGHISTORY=817 +MAXLOGMEMBERS=818 +MAX_SHARED_TEMP_SIZE=819 +MAXSIZE=820 +MAXTRANS=821 +MAXVALUE=822 +MEASURE=823 +MEASURES=824 +MEDIUM=825 +MEMBER=826 +MEMCOMPRESS=827 +MEMORY=828 +MERGEACTIONS=829 +MERGE_AJ=830 +MERGE_CONST_ON=831 +MERGE=832 +MERGE_SJ=833 +METADATA=834 +METHOD=835 +MIGRATE=836 +MIGRATION=837 +MINEXTENTS=838 +MINIMIZE=839 +MINIMUM=840 +MINING=841 +MINUS=842 +MINUS_NULL=843 +MINUTE=844 +MINVALUE=845 +MIRRORCOLD=846 +MIRRORHOT=847 +MIRROR=848 +MLSLABEL=849 +MODEL_COMPILE_SUBQUERY=850 +MODEL_DONTVERIFY_UNIQUENESS=851 +MODEL_DYNAMIC_SUBQUERY=852 +MODEL_MIN_ANALYSIS=853 +MODEL=854 +MODEL_NB=855 +MODEL_NO_ANALYSIS=856 +MODEL_PBY=857 +MODEL_PUSH_REF=858 +MODEL_SV=859 +MODE=860 +MODIFICATION=861 +MODIFY_COLUMN_TYPE=862 +MODIFY=863 +MOD=864 +MODULE=865 +MONITORING=866 +MONITOR=867 +MONTH=868 +MONTHS_BETWEEN=869 +MONTHS=870 +MOUNT=871 +MOUNTPATH=872 +MOVEMENT=873 +MOVE=874 +MULTIDIMENSIONAL=875 +MULTISET=876 +MV_MERGE=877 +NAMED=878 +NAME=879 +NAMESPACE=880 +NAN=881 +NANVL=882 +NATIONAL=883 +NATIVE_FULL_OUTER_JOIN=884 +NATIVE=885 +NATURAL=886 +NATURALN=887 +NAV=888 +NCHAR_CS=889 +NCHAR=890 +NCHR=891 +NCLOB=892 +NEEDED=893 +NEG=894 +NESTED=895 +NESTED_TABLE_FAST_INSERT=896 +NESTED_TABLE_GET_REFS=897 +NESTED_TABLE_ID=898 +NESTED_TABLE_SET_REFS=899 +NESTED_TABLE_SET_SETID=900 +NETWORK=901 +NEVER=902 +NEW=903 +NEW_TIME=904 +NEXT_DAY=905 +NEXT=906 +NL_AJ=907 +NLJ_BATCHING=908 +NLJ_INDEX_FILTER=909 +NLJ_INDEX_SCAN=910 +NLJ_PREFETCH=911 +NLS_CALENDAR=912 +NLS_CHARACTERSET=913 +NLS_CHARSET_DECL_LEN=914 +NLS_CHARSET_ID=915 +NLS_CHARSET_NAME=916 +NLS_COMP=917 +NLS_CURRENCY=918 +NLS_DATE_FORMAT=919 +NLS_DATE_LANGUAGE=920 +NLS_INITCAP=921 +NLS_ISO_CURRENCY=922 +NL_SJ=923 +NLS_LANG=924 +NLS_LANGUAGE=925 +NLS_LENGTH_SEMANTICS=926 +NLS_LOWER=927 +NLS_NCHAR_CONV_EXCP=928 +NLS_NUMERIC_CHARACTERS=929 +NLS_SORT=930 +NLSSORT=931 +NLS_SPECIAL_CHARS=932 +NLS_TERRITORY=933 +NLS_UPPER=934 +NO_ACCESS=935 +NO_ADAPTIVE_PLAN=936 +NO_ANSI_REARCH=937 +NOAPPEND=938 +NOARCHIVELOG=939 +NOAUDIT=940 +NO_AUTO_REOPTIMIZE=941 +NO_BASETABLE_MULTIMV_REWRITE=942 +NO_BATCH_TABLE_ACCESS_BY_ROWID=943 +NO_BIND_AWARE=944 +NO_BUFFER=945 +NOCACHE=946 +NO_CARTESIAN=947 +NO_CHECK_ACL_REWRITE=948 +NO_CLUSTER_BY_ROWID=949 +NO_CLUSTERING=950 +NO_COALESCE_SQ=951 +NO_COMMON_DATA=952 +NOCOMPRESS=953 +NO_CONNECT_BY_CB_WHR_ONLY=954 +NO_CONNECT_BY_COMBINE_SW=955 +NO_CONNECT_BY_COST_BASED=956 +NO_CONNECT_BY_ELIM_DUPS=957 +NO_CONNECT_BY_FILTERING=958 +NOCOPY=959 +NO_COST_XML_QUERY_REWRITE=960 +NO_CPU_COSTING=961 +NOCPU_COSTING=962 +NOCYCLE=963 +NO_DATA_SECURITY_REWRITE=964 +NO_DECORRELATE=965 +NODELAY=966 +NO_DOMAIN_INDEX_FILTER=967 +NO_DST_UPGRADE_INSERT_CONV=968 +NO_ELIM_GROUPBY=969 +NO_ELIMINATE_JOIN=970 +NO_ELIMINATE_OBY=971 +NO_ELIMINATE_OUTER_JOIN=972 +NOENTITYESCAPING=973 +NO_EXPAND_GSET_TO_UNION=974 +NO_EXPAND=975 +NO_EXPAND_TABLE=976 +NO_FACT=977 +NO_FACTORIZE_JOIN=978 +NO_FILTERING=979 +NOFORCE=980 +NO_FULL_OUTER_JOIN_TO_OUTER=981 +NO_GATHER_OPTIMIZER_STATISTICS=982 +NO_GBY_PUSHDOWN=983 +NOGUARANTEE=984 +NO_INDEX_FFS=985 +NO_INDEX=986 +NO_INDEX_SS=987 +NO_INMEMORY=988 +NO_INMEMORY_PRUNING=989 +NOKEEP=990 +NO_LOAD=991 +NOLOCAL=992 +NOLOGGING=993 +NOMAPPING=994 +NOMAXVALUE=995 +NO_MERGE=996 +NOMINIMIZE=997 +NOMINVALUE=998 +NO_MODEL_PUSH_REF=999 +NO_MONITORING=1000 +NOMONITORING=1001 +NO_MONITOR=1002 +NO_MULTIMV_REWRITE=1003 +NO_NATIVE_FULL_OUTER_JOIN=1004 +NONBLOCKING=1005 +NONEDITIONABLE=1006 +NONE=1007 +NO_NLJ_BATCHING=1008 +NO_NLJ_PREFETCH=1009 +NO=1010 +NONSCHEMA=1011 +NO_OBJECT_LINK=1012 +NOORDER=1013 +NO_ORDER_ROLLUPS=1014 +NO_OUTER_JOIN_TO_ANTI=1015 +NO_OUTER_JOIN_TO_INNER=1016 +NOOVERRIDE=1017 +NO_PARALLEL_INDEX=1018 +NOPARALLEL_INDEX=1019 +NO_PARALLEL=1020 +NOPARALLEL=1021 +NO_PARTIAL_COMMIT=1022 +NO_PARTIAL_JOIN=1023 +NO_PARTIAL_ROLLUP_PUSHDOWN=1024 +NOPARTITION=1025 +NO_PLACE_DISTINCT=1026 +NO_PLACE_GROUP_BY=1027 +NO_PQ_CONCURRENT_UNION=1028 +NO_PQ_MAP=1029 +NO_PQ_REPLICATE=1030 +NO_PQ_SKEW=1031 +NO_PRUNE_GSETS=1032 +NO_PULL_PRED=1033 +NO_PUSH_PRED=1034 +NO_PUSH_SUBQ=1035 +NO_PX_FAULT_TOLERANCE=1036 +NO_PX_JOIN_FILTER=1037 +NO_QKN_BUFF=1038 +NO_QUERY_TRANSFORMATION=1039 +NO_REF_CASCADE=1040 +NORELOCATE=1041 +NORELY=1042 +NOREPAIR=1043 +NOREPLAY=1044 +NORESETLOGS=1045 +NO_RESULT_CACHE=1046 +NOREVERSE=1047 +NO_REWRITE=1048 +NOREWRITE=1049 +NORMAL=1050 +NO_ROOT_SW_FOR_LOCAL=1051 +NOROWDEPENDENCIES=1052 +NOSCHEMACHECK=1053 +NOSEGMENT=1054 +NO_SEMIJOIN=1055 +NO_SEMI_TO_INNER=1056 +NO_SET_TO_JOIN=1057 +NOSORT=1058 +NO_SQL_TRANSLATION=1059 +NO_SQL_TUNE=1060 +NO_STAR_TRANSFORMATION=1061 +NO_STATEMENT_QUEUING=1062 +NO_STATS_GSETS=1063 +NOSTRICT=1064 +NO_SUBQUERY_PRUNING=1065 +NO_SUBSTRB_PAD=1066 +NO_SWAP_JOIN_INPUTS=1067 +NOSWITCH=1068 +NO_TABLE_LOOKUP_BY_NL=1069 +NO_TEMP_TABLE=1070 +NOTHING=1071 +NOTIFICATION=1072 +NOT=1073 +NO_TRANSFORM_DISTINCT_AGG=1074 +NO_UNNEST=1075 +NO_USE_CUBE=1076 +NO_USE_HASH_AGGREGATION=1077 +NO_USE_HASH_GBY_FOR_PUSHDOWN=1078 +NO_USE_HASH=1079 +NO_USE_INVISIBLE_INDEXES=1080 +NO_USE_MERGE=1081 +NO_USE_NL=1082 +NO_USE_VECTOR_AGGREGATION=1083 +NOVALIDATE=1084 +NO_VECTOR_TRANSFORM_DIMS=1085 +NO_VECTOR_TRANSFORM_FACT=1086 +NO_VECTOR_TRANSFORM=1087 +NOWAIT=1088 +NO_XDB_FASTPATH_INSERT=1089 +NO_XML_DML_REWRITE=1090 +NO_XMLINDEX_REWRITE_IN_SELECT=1091 +NO_XMLINDEX_REWRITE=1092 +NO_XML_QUERY_REWRITE=1093 +NO_ZONEMAP=1094 +NTH_VALUE=1095 +NULLIF=1096 +NULL_=1097 +NULLS=1098 +NUMBER=1099 +NUMERIC=1100 +NUM_INDEX_KEYS=1101 +NUMTODSINTERVAL=1102 +NUMTOYMINTERVAL=1103 +NVARCHAR2=1104 +NVL2=1105 +OBJECT2XML=1106 +OBJECT=1107 +OBJ_ID=1108 +OBJNO=1109 +OBJNO_REUSE=1110 +OCCURENCES=1111 +OFFLINE=1112 +OFF=1113 +OFFSET=1114 +OF=1115 +OIDINDEX=1116 +OID=1117 +OLAP=1118 +OLD=1119 +OLD_PUSH_PRED=1120 +OLS=1121 +OLTP=1122 +OMIT=1123 +ONE=1124 +ONLINE=1125 +ONLINELOG=1126 +ONLY=1127 +ON=1128 +OPAQUE=1129 +OPAQUE_TRANSFORM=1130 +OPAQUE_XCANONICAL=1131 +OPCODE=1132 +OPEN=1133 +OPERATIONS=1134 +OPERATOR=1135 +OPT_ESTIMATE=1136 +OPTIMAL=1137 +OPTIMIZE=1138 +OPTIMIZER_FEATURES_ENABLE=1139 +OPTIMIZER_GOAL=1140 +OPTION=1141 +OPT_PARAM=1142 +ORA_BRANCH=1143 +ORA_CHECK_ACL=1144 +ORA_CHECK_PRIVILEGE=1145 +ORA_CLUSTERING=1146 +ORADATA=1147 +ORADEBUG=1148 +ORA_DST_AFFECTED=1149 +ORA_DST_CONVERT=1150 +ORA_DST_ERROR=1151 +ORA_GET_ACLIDS=1152 +ORA_GET_PRIVILEGES=1153 +ORA_HASH=1154 +ORA_INVOKING_USERID=1155 +ORA_INVOKING_USER=1156 +ORA_INVOKING_XS_USER_GUID=1157 +ORA_INVOKING_XS_USER=1158 +ORA_RAWCOMPARE=1159 +ORA_RAWCONCAT=1160 +ORA_ROWSCN=1161 +ORA_ROWSCN_RAW=1162 +ORA_ROWVERSION=1163 +ORA_TABVERSION=1164 +ORA_WRITE_TIME=1165 +ORDERED=1166 +ORDERED_PREDICATES=1167 +ORDER=1168 +ORDINALITY=1169 +OR_EXPAND=1170 +ORGANIZATION=1171 +OR=1172 +OR_PREDICATES=1173 +OSERROR=1174 +OTHER=1175 +OUTER_JOIN_TO_ANTI=1176 +OUTER_JOIN_TO_INNER=1177 +OUTER=1178 +OUTLINE_LEAF=1179 +OUTLINE=1180 +OUT_OF_LINE=1181 +OUT=1182 +OVERFLOW_NOMOVE=1183 +OVERFLOW=1184 +OVERLAPS=1185 +OVER=1186 +OVERRIDING=1187 +OWNER=1188 +OWNERSHIP=1189 +OWN=1190 +PACKAGE=1191 +PACKAGES=1192 +PARALLEL_ENABLE=1193 +PARALLEL_INDEX=1194 +PARALLEL=1195 +PARAMETERFILE=1196 +PARAMETERS=1197 +PARAM=1198 +PARENT=1199 +PARITY=1200 +PARTIAL_JOIN=1201 +PARTIALLY=1202 +PARTIAL=1203 +PARTIAL_ROLLUP_PUSHDOWN=1204 +PARTITION_HASH=1205 +PARTITION_LIST=1206 +PARTITION=1207 +PARTITION_RANGE=1208 +PARTITIONS=1209 +PARTNUMINST=1210 +PASSING=1211 +PASSWORD_GRACE_TIME=1212 +PASSWORD_LIFE_TIME=1213 +PASSWORD_LOCK_TIME=1214 +PASSWORD=1215 +PASSWORD_REUSE_MAX=1216 +PASSWORD_REUSE_TIME=1217 +PASSWORD_VERIFY_FUNCTION=1218 +PAST=1219 +PATCH=1220 +PATH=1221 +PATH_PREFIX=1222 +PATHS=1223 +PATTERN=1224 +PBL_HS_BEGIN=1225 +PBL_HS_END=1226 +PCTFREE=1227 +PCTINCREASE=1228 +PCTTHRESHOLD=1229 +PCTUSED=1230 +PCTVERSION=1231 +PENDING=1232 +PERCENT_FOUND=1233 +PERCENT_ISOPEN=1234 +PERCENT_NOTFOUND=1235 +PERCENT_KEYWORD=1236 +PERCENT_RANKM=1237 +PERCENT_ROWCOUNT=1238 +PERCENT_ROWTYPE=1239 +PERCENT_TYPE=1240 +PERFORMANCE=1241 +PERIOD_KEYWORD=1242 +PERMANENT=1243 +PERMISSION=1244 +PERMUTE=1245 +PER=1246 +PFILE=1247 +PHYSICAL=1248 +PIKEY=1249 +PIPELINED=1250 +PIPE=1251 +PIV_GB=1252 +PIVOT=1253 +PIV_SSF=1254 +PLACE_DISTINCT=1255 +PLACE_GROUP_BY=1256 +PLAN=1257 +PLSCOPE_SETTINGS=1258 +PLS_INTEGER=1259 +PLSQL_CCFLAGS=1260 +PLSQL_CODE_TYPE=1261 +PLSQL_DEBUG=1262 +PLSQL_OPTIMIZE_LEVEL=1263 +PLSQL_WARNINGS=1264 +PLUGGABLE=1265 +POINT=1266 +POLICY=1267 +POOL_16K=1268 +POOL_2K=1269 +POOL_32K=1270 +POOL_4K=1271 +POOL_8K=1272 +POSITIVEN=1273 +POSITIVE=1274 +POST_TRANSACTION=1275 +POWERMULTISET_BY_CARDINALITY=1276 +POWERMULTISET=1277 +POWER=1278 +PQ_CONCURRENT_UNION=1279 +PQ_DISTRIBUTE=1280 +PQ_DISTRIBUTE_WINDOW=1281 +PQ_FILTER=1282 +PQ_MAP=1283 +PQ_NOMAP=1284 +PQ_REPLICATE=1285 +PQ_SKEW=1286 +PRAGMA=1287 +PREBUILT=1288 +PRECEDES=1289 +PRECEDING=1290 +PRECISION=1291 +PRECOMPUTE_SUBQUERY=1292 +PREDICATE_REORDERS=1293 +PRELOAD=1294 +PREPARE=1295 +PRESENTNNV=1296 +PRESENT=1297 +PRESENTV=1298 +PRESERVE_OID=1299 +PRESERVE=1300 +PRETTY=1301 +PREVIOUS=1302 +PREV=1303 +PRIMARY=1304 +PRINTBLOBTOCLOB=1305 +PRIORITY=1306 +PRIOR=1307 +PRIVATE=1308 +PRIVATE_SGA=1309 +PRIVILEGED=1310 +PRIVILEGE=1311 +PRIVILEGES=1312 +PROCEDURAL=1313 +PROCEDURE=1314 +PROCESS=1315 +PROFILE=1316 +PROGRAM=1317 +PROJECT=1318 +PROPAGATE=1319 +PROTECTED=1320 +PROTECTION=1321 +PROXY=1322 +PRUNING=1323 +PUBLIC=1324 +PULL_PRED=1325 +PURGE=1326 +PUSH_PRED=1327 +PUSH_SUBQ=1328 +PX_FAULT_TOLERANCE=1329 +PX_GRANULE=1330 +PX_JOIN_FILTER=1331 +QB_NAME=1332 +QUERY_BLOCK=1333 +QUERY=1334 +QUEUE_CURR=1335 +QUEUE=1336 +QUEUE_ROWP=1337 +QUIESCE=1338 +QUORUM=1339 +QUOTA=1340 +RAISE=1341 +RANDOM_LOCAL=1342 +RANDOM=1343 +RANGE=1344 +RANKM=1345 +RAPIDLY=1346 +RAW=1347 +RAWTOHEX=1348 +RAWTONHEX=1349 +RBA=1350 +RBO_OUTLINE=1351 +RDBA=1352 +READ=1353 +READS=1354 +REALM=1355 +REAL=1356 +REBALANCE=1357 +REBUILD=1358 +RECORD=1359 +RECORDS_PER_BLOCK=1360 +RECOVERABLE=1361 +RECOVER=1362 +RECOVERY=1363 +RECYCLEBIN=1364 +RECYCLE=1365 +REDACTION=1366 +REDEFINE=1367 +REDO=1368 +REDUCED=1369 +REDUNDANCY=1370 +REF_CASCADE_CURSOR=1371 +REFERENCED=1372 +REFERENCE=1373 +REFERENCES=1374 +REFERENCING=1375 +REF=1376 +REFRESH=1377 +REFTOHEX=1378 +REGEXP_COUNT=1379 +REGEXP_INSTR=1380 +REGEXP_LIKE=1381 +REGEXP_REPLACE=1382 +REGEXP_SUBSTR=1383 +REGISTER=1384 +REGR_AVGX=1385 +REGR_AVGY=1386 +REGR_COUNT=1387 +REGR_INTERCEPT=1388 +REGR_R2=1389 +REGR_SLOPE=1390 +REGR_SXX=1391 +REGR_SXY=1392 +REGR_SYY=1393 +REGULAR=1394 +REJECT=1395 +REKEY=1396 +RELATIONAL=1397 +RELIES_ON=1398 +RELOCATE=1399 +RELY=1400 +REMAINDER=1401 +REMOTE_MAPPED=1402 +REMOVE=1403 +RENAME=1404 +REPAIR=1405 +REPEAT=1406 +REPLACE=1407 +REPLICATION=1408 +REQUIRED=1409 +RESETLOGS=1410 +RESET=1411 +RESIZE=1412 +RESOLVE=1413 +RESOLVER=1414 +RESOURCE=1415 +RESPECT=1416 +RESTART=1417 +RESTORE_AS_INTERVALS=1418 +RESTORE=1419 +RESTRICT_ALL_REF_CONS=1420 +RESTRICTED=1421 +RESTRICT_REFERENCES=1422 +RESTRICT=1423 +RESULT_CACHE=1424 +RESULT=1425 +RESUMABLE=1426 +RESUME=1427 +RETENTION=1428 +RETRY_ON_ROW_CHANGE=1429 +RETURNING=1430 +RETURN=1431 +REUSE=1432 +REVERSE=1433 +REVOKE=1434 +REWRITE_OR_ERROR=1435 +REWRITE=1436 +RIGHT=1437 +ROLE=1438 +ROLESET=1439 +ROLES=1440 +ROLLBACK=1441 +ROLLING=1442 +ROLLUP=1443 +ROWDEPENDENCIES=1444 +ROWID_MAPPING_TABLE=1445 +ROWID=1446 +ROWIDTOCHAR=1447 +ROWIDTONCHAR=1448 +ROW_LENGTH=1449 +ROWNUM=1450 +ROW=1451 +ROWS=1452 +RPAD=1453 +RTRIM=1454 +RULE=1455 +RULES=1456 +RUNNING=1457 +SALT=1458 +SAMPLE=1459 +SAVE_AS_INTERVALS=1460 +SAVEPOINT=1461 +SAVE=1462 +SB4=1463 +SCALE_ROWS=1464 +SCALE=1465 +SCAN_INSTANCES=1466 +SCAN=1467 +SCHEDULER=1468 +SCHEMACHECK=1469 +SCHEMA=1470 +SCN_ASCENDING=1471 +SCN=1472 +SCOPE=1473 +SCRUB=1474 +SD_ALL=1475 +SD_INHIBIT=1476 +SDO_GEOM_MBR=1477 +SD_SHOW=1478 +SEARCH=1479 +SECOND=1480 +SECRET=1481 +SECUREFILE_DBA=1482 +SECUREFILE=1483 +SECURITY=1484 +SEED=1485 +SEG_BLOCK=1486 +SEG_FILE=1487 +SEGMENT=1488 +SELECTIVITY=1489 +SELECT=1490 +SELF=1491 +SEMIJOIN_DRIVER=1492 +SEMIJOIN=1493 +SEMI_TO_INNER=1494 +SEQUENCED=1495 +SEQUENCE=1496 +SEQUENTIAL=1497 +SEQ=1498 +SERIALIZABLE=1499 +SERIALLY_REUSABLE=1500 +SERIAL=1501 +SERVERERROR=1502 +SERVICE_NAME_CONVERT=1503 +SERVICES=1504 +SESSION_CACHED_CURSORS=1505 +SESSION=1506 +SESSIONS_PER_USER=1507 +SESSIONTIMEZONE=1508 +SESSIONTZNAME=1509 +SET=1510 +SETS=1511 +SETTINGS=1512 +SET_TO_JOIN=1513 +SEVERE=1514 +SHARED_POOL=1515 +SHARED=1516 +SHARE=1517 +SHARING=1518 +SHELFLIFE=1519 +SHOW=1520 +SHRINK=1521 +SHUTDOWN=1522 +SIBLINGS=1523 +SID=1524 +SIGNAL_COMPONENT=1525 +SIGNAL_FUNCTION=1526 +SIGN=1527 +SIGNTYPE=1528 +SIMPLE_INTEGER=1529 +SIMPLE=1530 +SINGLE=1531 +SINGLETASK=1532 +SINH=1533 +SIN=1534 +SIZE=1535 +SKIP_EXT_OPTIMIZER=1536 +SKIP_=1537 +SKIP_UNQ_UNUSABLE_IDX=1538 +SKIP_UNUSABLE_INDEXES=1539 +SMALLFILE=1540 +SMALLINT=1541 +SNAPSHOT=1542 +SOME=1543 +SORT=1544 +SOUNDEX=1545 +SOURCE_FILE_DIRECTORY=1546 +SOURCE_FILE_NAME_CONVERT=1547 +SOURCE=1548 +SPACE_KEYWORD=1549 +SPECIFICATION=1550 +SPFILE=1551 +SPLIT=1552 +SPREADSHEET=1553 +SQLDATA=1554 +SQLERROR=1555 +SQLLDR=1556 +SQL=1557 +SQL_TRACE=1558 +SQL_TRANSLATION_PROFILE=1559 +SQRT=1560 +STALE=1561 +STANDALONE=1562 +STANDARD_HASH=1563 +STANDBY_MAX_DATA_DELAY=1564 +STANDBYS=1565 +STANDBY=1566 +STAR=1567 +STAR_TRANSFORMATION=1568 +START=1569 +STARTUP=1570 +STATEMENT_ID=1571 +STATEMENT_QUEUING=1572 +STATEMENTS=1573 +STATEMENT=1574 +STATE=1575 +STATIC=1576 +STATISTICS=1577 +STATS_BINOMIAL_TEST=1578 +STATS_CROSSTAB=1579 +STATS_F_TEST=1580 +STATS_KS_TEST=1581 +STATS_MODE=1582 +STATS_MW_TEST=1583 +STATS_ONE_WAY_ANOVA=1584 +STATS_T_TEST_INDEP=1585 +STATS_T_TEST_INDEPU=1586 +STATS_T_TEST_ONE=1587 +STATS_T_TEST_PAIRED=1588 +STATS_WSR_TEST=1589 +STDDEV_POP=1590 +STDDEV_SAMP=1591 +STOP=1592 +STORAGE=1593 +STORE=1594 +STREAMS=1595 +STREAM=1596 +STRICT=1597 +STRING=1598 +STRIPE_COLUMNS=1599 +STRIPE_WIDTH=1600 +STRIP=1601 +STRUCTURE=1602 +SUBMULTISET=1603 +SUBPARTITION_REL=1604 +SUBPARTITIONS=1605 +SUBPARTITION=1606 +SUBQUERIES=1607 +SUBQUERY_PRUNING=1608 +SUBSCRIBE=1609 +SUBSET=1610 +SUBSTITUTABLE=1611 +SUBSTR2=1612 +SUBSTR4=1613 +SUBSTRB=1614 +SUBSTRC=1615 +SUBTYPE=1616 +SUCCESSFUL=1617 +SUCCESS=1618 +SUMMARY=1619 +SUPPLEMENTAL=1620 +SUSPEND=1621 +SWAP_JOIN_INPUTS=1622 +SWITCHOVER=1623 +SWITCH=1624 +SYNCHRONOUS=1625 +SYNC=1626 +SYNONYM=1627 +SYSASM=1628 +SYS_AUDIT=1629 +SYSAUX=1630 +SYSBACKUP=1631 +SYS_CHECKACL=1632 +SYS_CHECK_PRIVILEGE=1633 +SYS_CONNECT_BY_PATH=1634 +SYS_CONTEXT=1635 +SYSDATE=1636 +SYSDBA=1637 +SYS_DBURIGEN=1638 +SYSDG=1639 +SYS_DL_CURSOR=1640 +SYS_DM_RXFORM_CHR=1641 +SYS_DM_RXFORM_NUM=1642 +SYS_DOM_COMPARE=1643 +SYS_DST_PRIM2SEC=1644 +SYS_DST_SEC2PRIM=1645 +SYS_ET_BFILE_TO_RAW=1646 +SYS_ET_BLOB_TO_IMAGE=1647 +SYS_ET_IMAGE_TO_BLOB=1648 +SYS_ET_RAW_TO_BFILE=1649 +SYS_EXTPDTXT=1650 +SYS_EXTRACT_UTC=1651 +SYS_FBT_INSDEL=1652 +SYS_FILTER_ACLS=1653 +SYS_FNMATCHES=1654 +SYS_FNREPLACE=1655 +SYS_GET_ACLIDS=1656 +SYS_GET_COL_ACLIDS=1657 +SYS_GET_PRIVILEGES=1658 +SYS_GETTOKENID=1659 +SYS_GETXTIVAL=1660 +SYS_GUID=1661 +SYSGUID=1662 +SYSKM=1663 +SYS_MAKE_XMLNODEID=1664 +SYS_MAKEXML=1665 +SYS_MKXMLATTR=1666 +SYS_MKXTI=1667 +SYSOBJ=1668 +SYS_OP_ADT2BIN=1669 +SYS_OP_ADTCONS=1670 +SYS_OP_ALSCRVAL=1671 +SYS_OP_ATG=1672 +SYS_OP_BIN2ADT=1673 +SYS_OP_BITVEC=1674 +SYS_OP_BL2R=1675 +SYS_OP_BLOOM_FILTER_LIST=1676 +SYS_OP_BLOOM_FILTER=1677 +SYS_OP_C2C=1678 +SYS_OP_CAST=1679 +SYS_OP_CEG=1680 +SYS_OP_CL2C=1681 +SYS_OP_COMBINED_HASH=1682 +SYS_OP_COMP=1683 +SYS_OP_CONVERT=1684 +SYS_OP_COUNTCHG=1685 +SYS_OP_CSCONV=1686 +SYS_OP_CSCONVTEST=1687 +SYS_OP_CSR=1688 +SYS_OP_CSX_PATCH=1689 +SYS_OP_CYCLED_SEQ=1690 +SYS_OP_DECOMP=1691 +SYS_OP_DESCEND=1692 +SYS_OP_DISTINCT=1693 +SYS_OP_DRA=1694 +SYS_OP_DUMP=1695 +SYS_OP_DV_CHECK=1696 +SYS_OP_ENFORCE_NOT_NULL=1697 +SYSOPER=1698 +SYS_OP_EXTRACT=1699 +SYS_OP_GROUPING=1700 +SYS_OP_GUID=1701 +SYS_OP_HASH=1702 +SYS_OP_IIX=1703 +SYS_OP_ITR=1704 +SYS_OP_KEY_VECTOR_CREATE=1705 +SYS_OP_KEY_VECTOR_FILTER_LIST=1706 +SYS_OP_KEY_VECTOR_FILTER=1707 +SYS_OP_KEY_VECTOR_SUCCEEDED=1708 +SYS_OP_KEY_VECTOR_USE=1709 +SYS_OP_LBID=1710 +SYS_OP_LOBLOC2BLOB=1711 +SYS_OP_LOBLOC2CLOB=1712 +SYS_OP_LOBLOC2ID=1713 +SYS_OP_LOBLOC2NCLOB=1714 +SYS_OP_LOBLOC2TYP=1715 +SYS_OP_LSVI=1716 +SYS_OP_LVL=1717 +SYS_OP_MAKEOID=1718 +SYS_OP_MAP_NONNULL=1719 +SYS_OP_MSR=1720 +SYS_OP_NICOMBINE=1721 +SYS_OP_NIEXTRACT=1722 +SYS_OP_NII=1723 +SYS_OP_NIX=1724 +SYS_OP_NOEXPAND=1725 +SYS_OP_NTCIMG=1726 +SYS_OP_NUMTORAW=1727 +SYS_OP_OIDVALUE=1728 +SYS_OP_OPNSIZE=1729 +SYS_OP_PAR_1=1730 +SYS_OP_PARGID_1=1731 +SYS_OP_PARGID=1732 +SYS_OP_PAR=1733 +SYS_OP_PART_ID=1734 +SYS_OP_PIVOT=1735 +SYS_OP_R2O=1736 +SYS_OP_RAWTONUM=1737 +SYS_OP_RDTM=1738 +SYS_OP_REF=1739 +SYS_OP_RMTD=1740 +SYS_OP_ROWIDTOOBJ=1741 +SYS_OP_RPB=1742 +SYS_OPTLOBPRBSC=1743 +SYS_OP_TOSETID=1744 +SYS_OP_TPR=1745 +SYS_OP_TRTB=1746 +SYS_OPTXICMP=1747 +SYS_OPTXQCASTASNQ=1748 +SYS_OP_UNDESCEND=1749 +SYS_OP_VECAND=1750 +SYS_OP_VECBIT=1751 +SYS_OP_VECOR=1752 +SYS_OP_VECXOR=1753 +SYS_OP_VERSION=1754 +SYS_OP_VREF=1755 +SYS_OP_VVD=1756 +SYS_OP_XMLCONS_FOR_CSX=1757 +SYS_OP_XPTHATG=1758 +SYS_OP_XPTHIDX=1759 +SYS_OP_XPTHOP=1760 +SYS_OP_XTXT2SQLT=1761 +SYS_OP_ZONE_ID=1762 +SYS_ORDERKEY_DEPTH=1763 +SYS_ORDERKEY_MAXCHILD=1764 +SYS_ORDERKEY_PARENT=1765 +SYS_PARALLEL_TXN=1766 +SYS_PATHID_IS_ATTR=1767 +SYS_PATHID_IS_NMSPC=1768 +SYS_PATHID_LASTNAME=1769 +SYS_PATHID_LASTNMSPC=1770 +SYS_PATH_REVERSE=1771 +SYS_PXQEXTRACT=1772 +SYS_RAW_TO_XSID=1773 +SYS_RID_ORDER=1774 +SYS_ROW_DELTA=1775 +SYS_SC_2_XMLT=1776 +SYS_SYNRCIREDO=1777 +SYSTEM_DEFINED=1778 +SYSTEM=1779 +SYSTIMESTAMP=1780 +SYS_TYPEID=1781 +SYS_UMAKEXML=1782 +SYS_XMLANALYZE=1783 +SYS_XMLCONTAINS=1784 +SYS_XMLCONV=1785 +SYS_XMLEXNSURI=1786 +SYS_XMLGEN=1787 +SYS_XMLI_LOC_ISNODE=1788 +SYS_XMLI_LOC_ISTEXT=1789 +SYS_XMLINSTR=1790 +SYS_XMLLOCATOR_GETSVAL=1791 +SYS_XMLNODEID_GETCID=1792 +SYS_XMLNODEID_GETLOCATOR=1793 +SYS_XMLNODEID_GETOKEY=1794 +SYS_XMLNODEID_GETPATHID=1795 +SYS_XMLNODEID_GETPTRID=1796 +SYS_XMLNODEID_GETRID=1797 +SYS_XMLNODEID_GETSVAL=1798 +SYS_XMLNODEID_GETTID=1799 +SYS_XMLNODEID=1800 +SYS_XMLT_2_SC=1801 +SYS_XMLTRANSLATE=1802 +SYS_XMLTYPE2SQL=1803 +SYS_XQ_ASQLCNV=1804 +SYS_XQ_ATOMCNVCHK=1805 +SYS_XQBASEURI=1806 +SYS_XQCASTABLEERRH=1807 +SYS_XQCODEP2STR=1808 +SYS_XQCODEPEQ=1809 +SYS_XQCON2SEQ=1810 +SYS_XQCONCAT=1811 +SYS_XQDELETE=1812 +SYS_XQDFLTCOLATION=1813 +SYS_XQDOC=1814 +SYS_XQDOCURI=1815 +SYS_XQDURDIV=1816 +SYS_XQED4URI=1817 +SYS_XQENDSWITH=1818 +SYS_XQERRH=1819 +SYS_XQERR=1820 +SYS_XQESHTMLURI=1821 +SYS_XQEXLOBVAL=1822 +SYS_XQEXSTWRP=1823 +SYS_XQEXTRACT=1824 +SYS_XQEXTRREF=1825 +SYS_XQEXVAL=1826 +SYS_XQFB2STR=1827 +SYS_XQFNBOOL=1828 +SYS_XQFNCMP=1829 +SYS_XQFNDATIM=1830 +SYS_XQFNLNAME=1831 +SYS_XQFNNM=1832 +SYS_XQFNNSURI=1833 +SYS_XQFNPREDTRUTH=1834 +SYS_XQFNQNM=1835 +SYS_XQFNROOT=1836 +SYS_XQFORMATNUM=1837 +SYS_XQFTCONTAIN=1838 +SYS_XQFUNCR=1839 +SYS_XQGETCONTENT=1840 +SYS_XQINDXOF=1841 +SYS_XQINSERT=1842 +SYS_XQINSPFX=1843 +SYS_XQIRI2URI=1844 +SYS_XQLANG=1845 +SYS_XQLLNMFRMQNM=1846 +SYS_XQMKNODEREF=1847 +SYS_XQNILLED=1848 +SYS_XQNODENAME=1849 +SYS_XQNORMSPACE=1850 +SYS_XQNORMUCODE=1851 +SYS_XQ_NRNG=1852 +SYS_XQNSP4PFX=1853 +SYS_XQNSPFRMQNM=1854 +SYS_XQPFXFRMQNM=1855 +SYS_XQ_PKSQL2XML=1856 +SYS_XQPOLYABS=1857 +SYS_XQPOLYADD=1858 +SYS_XQPOLYCEL=1859 +SYS_XQPOLYCSTBL=1860 +SYS_XQPOLYCST=1861 +SYS_XQPOLYDIV=1862 +SYS_XQPOLYFLR=1863 +SYS_XQPOLYMOD=1864 +SYS_XQPOLYMUL=1865 +SYS_XQPOLYRND=1866 +SYS_XQPOLYSQRT=1867 +SYS_XQPOLYSUB=1868 +SYS_XQPOLYUMUS=1869 +SYS_XQPOLYUPLS=1870 +SYS_XQPOLYVEQ=1871 +SYS_XQPOLYVGE=1872 +SYS_XQPOLYVGT=1873 +SYS_XQPOLYVLE=1874 +SYS_XQPOLYVLT=1875 +SYS_XQPOLYVNE=1876 +SYS_XQREF2VAL=1877 +SYS_XQRENAME=1878 +SYS_XQREPLACE=1879 +SYS_XQRESVURI=1880 +SYS_XQRNDHALF2EVN=1881 +SYS_XQRSLVQNM=1882 +SYS_XQRYENVPGET=1883 +SYS_XQRYVARGET=1884 +SYS_XQRYWRP=1885 +SYS_XQSEQ2CON4XC=1886 +SYS_XQSEQ2CON=1887 +SYS_XQSEQDEEPEQ=1888 +SYS_XQSEQINSB=1889 +SYS_XQSEQRM=1890 +SYS_XQSEQRVS=1891 +SYS_XQSEQSUB=1892 +SYS_XQSEQTYPMATCH=1893 +SYS_XQSTARTSWITH=1894 +SYS_XQSTATBURI=1895 +SYS_XQSTR2CODEP=1896 +SYS_XQSTRJOIN=1897 +SYS_XQSUBSTRAFT=1898 +SYS_XQSUBSTRBEF=1899 +SYS_XQTOKENIZE=1900 +SYS_XQTREATAS=1901 +SYS_XQ_UPKXML2SQL=1902 +SYS_XQXFORM=1903 +SYS_XSID_TO_RAW=1904 +SYS_ZMAP_FILTER=1905 +SYS_ZMAP_REFRESH=1906 +TABLE_LOOKUP_BY_NL=1907 +TABLESPACE_NO=1908 +TABLESPACE=1909 +TABLES=1910 +TABLE_STATS=1911 +TABLE=1912 +TABNO=1913 +TAG=1914 +TANH=1915 +TAN=1916 +TBLORIDXPARTNUM=1917 +TEMPFILE=1918 +TEMPLATE=1919 +TEMPORARY=1920 +TEMP_TABLE=1921 +TEST=1922 +TEXT=1923 +THAN=1924 +THEN=1925 +THE=1926 +THREAD=1927 +THROUGH=1928 +TIER=1929 +TIES=1930 +TIMEOUT=1931 +TIMESTAMP_LTZ_UNCONSTRAINED=1932 +TIMESTAMP=1933 +TIMESTAMP_TZ_UNCONSTRAINED=1934 +TIMESTAMP_UNCONSTRAINED=1935 +TIMES=1936 +TIME=1937 +TIMEZONE=1938 +TIMEZONE_ABBR=1939 +TIMEZONE_HOUR=1940 +TIMEZONE_MINUTE=1941 +TIMEZONE_OFFSET=1942 +TIMEZONE_REGION=1943 +TIME_ZONE=1944 +TIV_GB=1945 +TIV_SSF=1946 +TO_ACLID=1947 +TO_BINARY_DOUBLE=1948 +TO_BINARY_FLOAT=1949 +TO_BLOB=1950 +TO_CLOB=1951 +TO_DSINTERVAL=1952 +TO_LOB=1953 +TO_MULTI_BYTE=1954 +TO_NCHAR=1955 +TO_NCLOB=1956 +TO_NUMBER=1957 +TOPLEVEL=1958 +TO_SINGLE_BYTE=1959 +TO_TIMESTAMP=1960 +TO_TIMESTAMP_TZ=1961 +TO_TIME=1962 +TO_TIME_TZ=1963 +TO=1964 +TO_YMINTERVAL=1965 +TRACE=1966 +TRACING=1967 +TRACKING=1968 +TRAILING=1969 +TRANSACTION=1970 +TRANSFORM_DISTINCT_AGG=1971 +TRANSITIONAL=1972 +TRANSITION=1973 +TRANSLATE=1974 +TRANSLATION=1975 +TREAT=1976 +TRIGGERS=1977 +TRIGGER=1978 +TRUE=1979 +TRUNCATE=1980 +TRUNC=1981 +TRUSTED=1982 +TRUST=1983 +TUNING=1984 +TX=1985 +TYPES=1986 +TYPE=1987 +TZ_OFFSET=1988 +UB2=1989 +UBA=1990 +UCS2=1991 +UID=1992 +UNARCHIVED=1993 +UNBOUNDED=1994 +UNBOUND=1995 +UNCONDITIONAL=1996 +UNDER=1997 +UNDO=1998 +UNDROP=1999 +UNIFORM=2000 +UNION=2001 +UNIQUE=2002 +UNISTR=2003 +UNLIMITED=2004 +UNLOAD=2005 +UNLOCK=2006 +UNMATCHED=2007 +UNNEST_INNERJ_DISTINCT_VIEW=2008 +UNNEST_NOSEMIJ_NODISTINCTVIEW=2009 +UNNEST_SEMIJ_VIEW=2010 +UNNEST=2011 +UNPACKED=2012 +UNPIVOT=2013 +UNPLUG=2014 +UNPROTECTED=2015 +UNQUIESCE=2016 +UNRECOVERABLE=2017 +UNRESTRICTED=2018 +UNSUBSCRIBE=2019 +UNTIL=2020 +UNUSABLE=2021 +UNUSED=2022 +UPDATABLE=2023 +UPDATED=2024 +UPDATE=2025 +UPDATEXML=2026 +UPD_INDEXES=2027 +UPD_JOININDEX=2028 +UPGRADE=2029 +UPPER=2030 +UPSERT=2031 +UROWID=2032 +USABLE=2033 +USAGE=2034 +USE_ANTI=2035 +USE_CONCAT=2036 +USE_CUBE=2037 +USE_HASH_AGGREGATION=2038 +USE_HASH_GBY_FOR_PUSHDOWN=2039 +USE_HASH=2040 +USE_HIDDEN_PARTITIONS=2041 +USE_INVISIBLE_INDEXES=2042 +USE_MERGE_CARTESIAN=2043 +USE_MERGE=2044 +USE_NL=2045 +USE_NL_WITH_INDEX=2046 +USE_PRIVATE_OUTLINES=2047 +USER_DATA=2048 +USER_DEFINED=2049 +USERENV=2050 +USERGROUP=2051 +USER_RECYCLEBIN=2052 +USERS=2053 +USER_TABLESPACES=2054 +USER=2055 +USE_SEMI=2056 +USE_STORED_OUTLINES=2057 +USE_TTT_FOR_GSETS=2058 +USE=2059 +USE_VECTOR_AGGREGATION=2060 +USE_WEAK_NAME_RESL=2061 +USING_NO_EXPAND=2062 +USING=2063 +UTF16BE=2064 +UTF16LE=2065 +UTF32=2066 +UTF8=2067 +V1=2068 +V2=2069 +VALIDATE=2070 +VALIDATION=2071 +VALID_TIME_END=2072 +VALUES=2073 +VALUE=2074 +VARCHAR2=2075 +VARCHAR=2076 +VARIABLE=2077 +VAR_POP=2078 +VARRAYS=2079 +VARRAY=2080 +VAR_SAMP=2081 +VARYING=2082 +VECTOR_READ_TRACE=2083 +VECTOR_READ=2084 +VECTOR_TRANSFORM_DIMS=2085 +VECTOR_TRANSFORM_FACT=2086 +VECTOR_TRANSFORM=2087 +VERIFIER=2088 +VERIFY=2089 +VERSIONING=2090 +VERSIONS_ENDSCN=2091 +VERSIONS_ENDTIME=2092 +VERSIONS_OPERATION=2093 +VERSIONS_STARTSCN=2094 +VERSIONS_STARTTIME=2095 +VERSIONS=2096 +VERSIONS_XID=2097 +VERSION=2098 +VIEW=2099 +VIOLATION=2100 +VIRTUAL=2101 +VISIBILITY=2102 +VISIBLE=2103 +VOLUME=2104 +VSIZE=2105 +WAIT=2106 +WALLET=2107 +WARNING=2108 +WEEKS=2109 +WEEK=2110 +WELLFORMED=2111 +WHENEVER=2112 +WHEN=2113 +WHERE=2114 +WHILE=2115 +WHITESPACE=2116 +WIDTH_BUCKET=2117 +WITHIN=2118 +WITHOUT=2119 +WITH_PLSQL=2120 +WITH=2121 +WORK=2122 +WRAPPED=2123 +WRAPPER=2124 +WRITE=2125 +XDB_FASTPATH_INSERT=2126 +XDB=2127 +X_DYN_PRUNE=2128 +XID=2129 +XML2OBJECT=2130 +XMLAGG=2131 +XMLATTRIBUTES=2132 +XMLCAST=2133 +XMLCDATA=2134 +XMLCOLATTVAL=2135 +XMLCOMMENT=2136 +XMLCONCAT=2137 +XMLDIFF=2138 +XML_DML_RWT_STMT=2139 +XMLELEMENT=2140 +XMLEXISTS2=2141 +XMLEXISTS=2142 +XMLFOREST=2143 +XMLINDEX=2144 +XMLINDEX_REWRITE_IN_SELECT=2145 +XMLINDEX_REWRITE=2146 +XMLINDEX_SEL_IDX_TBL=2147 +XMLISNODE=2148 +XMLISVALID=2149 +XMLNAMESPACES=2150 +XMLPARSE=2151 +XMLPATCH=2152 +XMLPI=2153 +XMLQUERYVAL=2154 +XMLQUERY=2155 +XMLROOT=2156 +XMLSCHEMA=2157 +XMLSERIALIZE=2158 +XMLTABLE=2159 +XMLTRANSFORMBLOB=2160 +XMLTRANSFORM=2161 +XMLTYPE=2162 +XML=2163 +XPATHTABLE=2164 +XS_SYS_CONTEXT=2165 +XS=2166 +XTRANSPORT=2167 +YEARS=2168 +YEAR=2169 +YES=2170 +YMINTERVAL_UNCONSTRAINED=2171 +ZONEMAP=2172 +ZONE=2173 +PREDICTION=2174 +PREDICTION_BOUNDS=2175 +PREDICTION_COST=2176 +PREDICTION_DETAILS=2177 +PREDICTION_PROBABILITY=2178 +PREDICTION_SET=2179 +CUME_DIST=2180 +DENSE_RANK=2181 +LISTAGG=2182 +PERCENT_RANK=2183 +PERCENTILE_CONT=2184 +PERCENTILE_DISC=2185 +RANK=2186 +AVG=2187 +CORR=2188 +COVAR_=2189 +DECODE=2190 +LAG=2191 +LEAD=2192 +MAX=2193 +MEDIAN=2194 +MIN=2195 +NTILE=2196 +NVL=2197 +RATIO_TO_REPORT=2198 +REGR_=2199 +ROUND=2200 +ROW_NUMBER=2201 +SUBSTR=2202 +TO_CHAR=2203 +TRIM=2204 +SUM=2205 +STDDEV=2206 +VAR_=2207 +VARIANCE=2208 +LEAST=2209 +GREATEST=2210 +TO_DATE=2211 +NATIONAL_CHAR_STRING_LIT=2212 +BIT_STRING_LIT=2213 +HEX_STRING_LIT=2214 +DOUBLE_PERIOD=2215 +PERIOD=2216 +UNSIGNED_INTEGER=2217 +APPROXIMATE_NUM_LIT=2218 +CHAR_STRING=2219 +DELIMITED_ID=2220 +PERCENT=2221 +AMPERSAND=2222 +LEFT_PAREN=2223 +RIGHT_PAREN=2224 +DOUBLE_ASTERISK=2225 +ASTERISK=2226 +PLUS_SIGN=2227 +MINUS_SIGN=2228 +COMMA=2229 +SOLIDUS=2230 +AT_SIGN=2231 +ASSIGN_OP=2232 +BINDVAR=2233 +NOT_EQUAL_OP=2234 +CARRET_OPERATOR_PART=2235 +TILDE_OPERATOR_PART=2236 +EXCLAMATION_OPERATOR_PART=2237 +GREATER_THAN_OP=2238 +LESS_THAN_OP=2239 +COLON=2240 +SEMICOLON=2241 +BAR=2242 +EQUALS_OP=2243 +LEFT_BRACKET=2244 +RIGHT_BRACKET=2245 +INTRODUCER=2246 +SINGLE_LINE_COMMENT=2247 +MULTI_LINE_COMMENT=2248 +REMARK_COMMENT=2249 +PROMPT_MESSAGE=2250 +START_CMD=2251 +REGULAR_ID=2252 +SPACES=2253 +'ABORT'=1 +'ABS'=2 +'ACCESS'=3 +'ACCESSED'=4 +'ACCOUNT'=5 +'ACL'=6 +'ACOS'=7 +'ACTION'=8 +'ACTIONS'=9 +'ACTIVATE'=10 +'ACTIVE'=11 +'ACTIVE_COMPONENT'=12 +'ACTIVE_DATA'=13 +'ACTIVE_FUNCTION'=14 +'ACTIVE_TAG'=15 +'ACTIVITY'=16 +'ADAPTIVE_PLAN'=17 +'ADD'=18 +'ADD_COLUMN'=19 +'ADD_GROUP'=20 +'ADD_MONTHS'=21 +'ADJ_DATE'=22 +'ADMIN'=23 +'ADMINISTER'=24 +'ADMINISTRATOR'=25 +'ADVANCED'=26 +'ADVISE'=27 +'ADVISOR'=28 +'AFD_DISKSTRING'=29 +'AFTER'=30 +'AGENT'=31 +'AGGREGATE'=32 +'A'=33 +'ALIAS'=34 +'ALL'=35 +'ALLOCATE'=36 +'ALLOW'=37 +'ALL_ROWS'=38 +'ALTER'=39 +'ALWAYS'=40 +'ANALYZE'=41 +'ANCILLARY'=42 +'AND'=43 +'AND_EQUAL'=44 +'ANOMALY'=45 +'ANSI_REARCH'=46 +'ANTIJOIN'=47 +'ANY'=48 +'ANYSCHEMA'=49 +'APPEND'=50 +'APPENDCHILDXML'=51 +'APPEND_VALUES'=52 +'APPLICATION'=53 +'APPLY'=54 +'APPROX_COUNT_DISTINCT'=55 +'ARCHIVAL'=56 +'ARCHIVE'=57 +'ARCHIVED'=58 +'ARCHIVELOG'=59 +'ARRAY'=60 +'AS'=61 +'ASC'=62 +'ASCII'=63 +'ASCIISTR'=64 +'ASIN'=65 +'ASIS'=66 +'ASSEMBLY'=67 +'ASSIGN'=68 +'ASSOCIATE'=69 +'ASYNC'=70 +'ASYNCHRONOUS'=71 +'ATAN2'=72 +'ATAN'=73 +'AT'=74 +'ATTRIBUTE'=75 +'ATTRIBUTES'=76 +'AUDIT'=77 +'AUTHENTICATED'=78 +'AUTHENTICATION'=79 +'AUTHID'=80 +'AUTHORIZATION'=81 +'AUTOALLOCATE'=82 +'AUTO'=83 +'AUTOBACKUP'=84 +'AUTOEXTEND'=85 +'AUTO_LOGIN'=86 +'AUTOMATIC'=87 +'AUTONOMOUS_TRANSACTION'=88 +'AUTO_REOPTIMIZE'=89 +'AVAILABILITY'=90 +'AVRO'=91 +'BACKGROUND'=92 +'BACKUP'=93 +'BACKUPSET'=94 +'BASIC'=95 +'BASICFILE'=96 +'BATCH'=97 +'BATCHSIZE'=98 +'BATCH_TABLE_ACCESS_BY_ROWID'=99 +'BECOME'=100 +'BEFORE'=101 +'BEGIN'=102 +'BEGINNING'=103 +'BEGIN_OUTLINE_DATA'=104 +'BEHALF'=105 +'BEQUEATH'=106 +'BETWEEN'=107 +'BFILE'=108 +'BFILENAME'=109 +'BIGFILE'=110 +'BINARY'=111 +'BINARY_DOUBLE'=112 +'BINARY_DOUBLE_INFINITY'=113 +'BINARY_DOUBLE_NAN'=114 +'BINARY_FLOAT'=115 +'BINARY_FLOAT_INFINITY'=116 +'BINARY_FLOAT_NAN'=117 +'BINARY_INTEGER'=118 +'BIND_AWARE'=119 +'BINDING'=120 +'BIN_TO_NUM'=121 +'BITAND'=122 +'BITMAP_AND'=123 +'BITMAP'=124 +'BITMAPS'=125 +'BITMAP_TREE'=126 +'BITS'=127 +'BLOB'=128 +'BLOCK'=129 +'BLOCK_RANGE'=130 +'BLOCKS'=131 +'BLOCKSIZE'=132 +'BODY'=133 +'BOOLEAN'=134 +'BOTH'=135 +'BOUND'=136 +'BRANCH'=137 +'BREADTH'=138 +'BROADCAST'=139 +'BSON'=140 +'BUFFER'=141 +'BUFFER_CACHE'=142 +'BUFFER_POOL'=143 +'BUILD'=144 +'BULK'=145 +'BY'=146 +'BYPASS_RECURSIVE_CHECK'=147 +'BYPASS_UJVC'=148 +'BYTE'=149 +'CACHE'=150 +'CACHE_CB'=151 +'CACHE_INSTANCES'=152 +'CACHE_TEMP_TABLE'=153 +'CACHING'=154 +'CALCULATED'=155 +'CALLBACK'=156 +'CALL'=157 +'CANCEL'=158 +'CANONICAL'=159 +'CAPACITY'=160 +'CARDINALITY'=161 +'CASCADE'=162 +'CASE'=163 +'CAST'=164 +'CATEGORY'=165 +'CDB$DEFAULT'=166 +'CEIL'=167 +'CELL_FLASH_CACHE'=168 +'CERTIFICATE'=169 +'CFILE'=170 +'CHAINED'=171 +'CHANGE'=172 +'CHANGETRACKING'=173 +'CHANGE_DUPKEY_ERROR_INDEX'=174 +'CHARACTER'=175 +'CHAR'=176 +'CHAR_CS'=177 +'CHARTOROWID'=178 +'CHECK_ACL_REWRITE'=179 +'CHECK'=180 +'CHECKPOINT'=181 +'CHILD'=182 +'CHOOSE'=183 +'CHR'=184 +'CHUNK'=185 +'CLASS'=186 +'CLASSIFIER'=187 +'CLEANUP'=188 +'CLEAR'=189 +'C'=190 +'CLIENT'=191 +'CLOB'=192 +'CLONE'=193 +'CLOSE_CACHED_OPEN_CURSORS'=194 +'CLOSE'=195 +'CLUSTER_BY_ROWID'=196 +'CLUSTER'=197 +'CLUSTER_DETAILS'=198 +'CLUSTER_DISTANCE'=199 +'CLUSTER_ID'=200 +'CLUSTERING'=201 +'CLUSTERING_FACTOR'=202 +'CLUSTER_PROBABILITY'=203 +'CLUSTER_SET'=204 +'COALESCE'=205 +'COALESCE_SQ'=206 +'COARSE'=207 +'CO_AUTH_IND'=208 +'COLD'=209 +'COLLECT'=210 +'COLUMNAR'=211 +'COLUMN_AUTH_INDICATOR'=212 +'COLUMN'=213 +'COLUMNS'=214 +'COLUMN_STATS'=215 +'COLUMN_VALUE'=216 +'COMMENT'=217 +'COMMIT'=218 +'COMMITTED'=219 +'COMMON_DATA'=220 +'COMPACT'=221 +'COMPATIBILITY'=222 +'COMPILE'=223 +'COMPLETE'=224 +'COMPLIANCE'=225 +'COMPONENT'=226 +'COMPONENTS'=227 +'COMPOSE'=228 +'COMPOSITE'=229 +'COMPOSITE_LIMIT'=230 +'COMPOUND'=231 +'COMPRESS'=232 +'COMPUTE'=233 +'CONCAT'=234 +'CON_DBID_TO_ID'=235 +'CONDITIONAL'=236 +'CONDITION'=237 +'CONFIRM'=238 +'CONFORMING'=239 +'CON_GUID_TO_ID'=240 +'CON_ID'=241 +'CON_NAME_TO_ID'=242 +'CONNECT_BY_CB_WHR_ONLY'=243 +'CONNECT_BY_COMBINE_SW'=244 +'CONNECT_BY_COST_BASED'=245 +'CONNECT_BY_ELIM_DUPS'=246 +'CONNECT_BY_FILTERING'=247 +'CONNECT_BY_ISCYCLE'=248 +'CONNECT_BY_ISLEAF'=249 +'CONNECT_BY_ROOT'=250 +'CONNECT'=251 +'CONNECT_TIME'=252 +'CONSIDER'=253 +'CONSISTENT'=254 +'CONSTANT'=255 +'CONST'=256 +'CONSTRAINT'=257 +'CONSTRAINTS'=258 +'CONSTRUCTOR'=259 +'CONTAINER'=260 +'CONTAINER_DATA'=261 +'CONTAINERS'=262 +'CONTENT'=263 +'CONTENTS'=264 +'CONTEXT'=265 +'CONTINUE'=266 +'CONTROLFILE'=267 +'CON_UID_TO_ID'=268 +'CONVERT'=269 +'COOKIE'=270 +'COPY'=271 +'CORR_K'=272 +'CORR_S'=273 +'CORRUPTION'=274 +'CORRUPT_XID_ALL'=275 +'CORRUPT_XID'=276 +'COS'=277 +'COSH'=278 +'COST'=279 +'COST_XML_QUERY_REWRITE'=280 +'COUNT'=281 +'COVAR_POP'=282 +'COVAR_SAMP'=283 +'CPU_COSTING'=284 +'CPU_PER_CALL'=285 +'CPU_PER_SESSION'=286 +'CRASH'=287 +'CREATE'=288 +'CREATE_FILE_DEST'=289 +'CREATE_STORED_OUTLINES'=290 +'CREATION'=291 +'CREDENTIAL'=292 +'CRITICAL'=293 +'CROSS'=294 +'CROSSEDITION'=295 +'CSCONVERT'=296 +'CUBE_AJ'=297 +'CUBE'=298 +'CUBE_GB'=299 +'CUBE_SJ'=300 +'CUME_DISTM'=301 +'CURRENT'=302 +'CURRENT_DATE'=303 +'CURRENT_SCHEMA'=304 +'CURRENT_TIME'=305 +'CURRENT_TIMESTAMP'=306 +'CURRENT_USER'=307 +'CURRENTV'=308 +'CURSOR'=309 +'CURSOR_SHARING_EXACT'=310 +'CURSOR_SPECIFIC_SEGMENT'=311 +'CUSTOMDATUM'=312 +'CV'=313 +'CYCLE'=314 +'DANGLING'=315 +'DATABASE'=316 +'DATA'=317 +'DATAFILE'=318 +'DATAFILES'=319 +'DATAGUARDCONFIG'=320 +'DATAMOVEMENT'=321 +'DATAOBJNO'=322 +'DATAOBJ_TO_MAT_PARTITION'=323 +'DATAOBJ_TO_PARTITION'=324 +'DATAPUMP'=325 +'DATA_SECURITY_REWRITE_LIMIT'=326 +'DATE'=327 +'DATE_MODE'=328 +'DAY'=329 +'DAYS'=330 +'DBA'=331 +'DBA_RECYCLEBIN'=332 +'DBMS_STATS'=333 +'DB_ROLE_CHANGE'=334 +'DBTIMEZONE'=335 +'DB_UNIQUE_NAME'=336 +'DB_VERSION'=337 +'DDL'=338 +'DEALLOCATE'=339 +'DEBUG'=340 +'DEBUGGER'=341 +'DEC'=342 +'DECIMAL'=343 +'DECLARE'=344 +'DECOMPOSE'=345 +'DECORRELATE'=346 +'DECR'=347 +'DECREMENT'=348 +'DECRYPT'=349 +'DEDUPLICATE'=350 +'DEFAULT'=351 +'DEFAULTS'=352 +'DEFERRABLE'=353 +'DEFERRED'=354 +'DEFINED'=355 +'DEFINE'=356 +'DEFINER'=357 +'DEGREE'=358 +'DELAY'=359 +'DELEGATE'=360 +'DELETE_ALL'=361 +'DELETE'=362 +'DELETEXML'=363 +'DEMAND'=364 +'DENSE_RANKM'=365 +'DEPENDENT'=366 +'DEPTH'=367 +'DEQUEUE'=368 +'DEREF'=369 +'DEREF_NO_REWRITE'=370 +'DESC'=371 +'DESTROY'=372 +'DETACHED'=373 +'DETERMINES'=374 +'DETERMINISTIC'=375 +'DICTIONARY'=376 +'DIMENSION'=377 +'DIMENSIONS'=378 +'DIRECT_LOAD'=379 +'DIRECTORY'=380 +'DIRECT_PATH'=381 +'DISABLE_ALL'=382 +'DISABLE'=383 +'DISABLE_PARALLEL_DML'=384 +'DISABLE_PRESET'=385 +'DISABLE_RPKE'=386 +'DISALLOW'=387 +'DISASSOCIATE'=388 +'DISCARD'=389 +'DISCONNECT'=390 +'DISK'=391 +'DISKGROUP'=392 +'\'+ DISKGROUP'=393 +'DISKS'=394 +'DISMOUNT'=395 +'DISTINCT'=396 +'DISTINGUISHED'=397 +'DISTRIBUTED'=398 +'DISTRIBUTE'=399 +'DML'=400 +'DML_UPDATE'=401 +'DOCFIDELITY'=402 +'DOCUMENT'=403 +'DOMAIN_INDEX_FILTER'=404 +'DOMAIN_INDEX_NO_SORT'=405 +'DOMAIN_INDEX_SORT'=406 +'DOUBLE'=407 +'DOWNGRADE'=408 +'DRIVING_SITE'=409 +'DROP_COLUMN'=410 +'DROP'=411 +'DROP_GROUP'=412 +'DSINTERVAL_UNCONSTRAINED'=413 +'DST_UPGRADE_INSERT_CONV'=414 +'DUMP'=415 +'DUMPSET'=416 +'DUPLICATE'=417 +'DV'=418 +'DYNAMIC'=419 +'DYNAMIC_SAMPLING'=420 +'DYNAMIC_SAMPLING_EST_CDN'=421 +'EACH'=422 +'EDITIONABLE'=423 +'EDITION'=424 +'EDITIONING'=425 +'EDITIONS'=426 +'ELEMENT'=427 +'ELIM_GROUPBY'=428 +'ELIMINATE_JOIN'=429 +'ELIMINATE_OBY'=430 +'ELIMINATE_OUTER_JOIN'=431 +'ELSE'=432 +'ELSIF'=433 +'EM'=434 +'EMPTY_BLOB'=435 +'EMPTY_CLOB'=436 +'EMPTY'=437 +'ENABLE_ALL'=438 +'ENABLE'=439 +'ENABLE_PARALLEL_DML'=440 +'ENABLE_PRESET'=441 +'ENCODING'=442 +'ENCRYPT'=443 +'ENCRYPTION'=444 +'END'=445 +'END_OUTLINE_DATA'=446 +'ENFORCED'=447 +'ENFORCE'=448 +'ENQUEUE'=449 +'ENTERPRISE'=450 +'ENTITYESCAPING'=451 +'ENTRY'=452 +'EQUIPART'=453 +'ERR'=454 +'ERROR_ARGUMENT'=455 +'ERROR'=456 +'ERROR_ON_OVERLAP_TIME'=457 +'ERRORS'=458 +'ESCAPE'=459 +'ESTIMATE'=460 +'EVAL'=461 +'EVALNAME'=462 +'EVALUATE'=463 +'EVALUATION'=464 +'EVENTS'=465 +'EVERY'=466 +'EXCEPT'=467 +'EXCEPTION'=468 +'EXCEPTION_INIT'=469 +'EXCEPTIONS'=470 +'EXCHANGE'=471 +'EXCLUDE'=472 +'EXCLUDING'=473 +'EXCLUSIVE'=474 +'EXECUTE'=475 +'EXEMPT'=476 +'EXISTING'=477 +'EXISTS'=478 +'EXISTSNODE'=479 +'EXIT'=480 +'EXPAND_GSET_TO_UNION'=481 +'EXPAND_TABLE'=482 +'EXP'=483 +'EXPIRE'=484 +'EXPLAIN'=485 +'EXPLOSION'=486 +'EXPORT'=487 +'EXPR_CORR_CHECK'=488 +'EXPRESS'=489 +'EXTENDS'=490 +'EXTENT'=491 +'EXTENTS'=492 +'EXTERNAL'=493 +'EXTERNALLY'=494 +'EXTRACTCLOBXML'=495 +'EXTRACT'=496 +'EXTRACTVALUE'=497 +'EXTRA'=498 +'FACILITY'=499 +'FACT'=500 +'FACTOR'=501 +'FACTORIZE_JOIN'=502 +'FAILED'=503 +'FAILED_LOGIN_ATTEMPTS'=504 +'FAILGROUP'=505 +'FAILOVER'=506 +'FAILURE'=507 +'FALSE'=508 +'FAMILY'=509 +'FAR'=510 +'FAST'=511 +'FASTSTART'=512 +'FBTSCAN'=513 +'FEATURE_DETAILS'=514 +'FEATURE_ID'=515 +'FEATURE_SET'=516 +'FEATURE_VALUE'=517 +'FETCH'=518 +'FILE'=519 +'FILE_NAME_CONVERT'=520 +'FILESYSTEM_LIKE_LOGGING'=521 +'FILTER'=522 +'FINAL'=523 +'FINE'=524 +'FINISH'=525 +'FIRST'=526 +'FIRSTM'=527 +'FIRST_ROWS'=528 +'FIRST_VALUE'=529 +'FIXED_VIEW_DATA'=530 +'FLAGGER'=531 +'FLASHBACK'=532 +'FLASH_CACHE'=533 +'FLOAT'=534 +'FLOB'=535 +'FLOOR'=536 +'FLUSH'=537 +'FOLDER'=538 +'FOLLOWING'=539 +'FOLLOWS'=540 +'FORALL'=541 +'FORCE'=542 +'FORCE_XML_QUERY_REWRITE'=543 +'FOREIGN'=544 +'FOREVER'=545 +'FOR'=546 +'FORMAT'=547 +'FORWARD'=548 +'FRAGMENT_NUMBER'=549 +'FREELIST'=550 +'FREELISTS'=551 +'FREEPOOLS'=552 +'FRESH'=553 +'FROM'=554 +'FROM_TZ'=555 +'FULL'=556 +'FULL_OUTER_JOIN_TO_OUTER'=557 +'FUNCTION'=558 +'FUNCTIONS'=559 +'GATHER_OPTIMIZER_STATISTICS'=560 +'GATHER_PLAN_STATISTICS'=561 +'GBY_CONC_ROLLUP'=562 +'GBY_PUSHDOWN'=563 +'GENERATED'=564 +'GET'=565 +'GLOBAL'=566 +'GLOBALLY'=567 +'GLOBAL_NAME'=568 +'GLOBAL_TOPIC_ENABLED'=569 +'GOTO'=570 +'GRANT'=571 +'GROUP_BY'=572 +'GROUP'=573 +'GROUP_ID'=574 +'GROUPING'=575 +'GROUPING_ID'=576 +'GROUPS'=577 +'GUARANTEED'=578 +'GUARANTEE'=579 +'GUARD'=580 +'HASH_AJ'=581 +'HASH'=582 +'HASHKEYS'=583 +'HASH_SJ'=584 +'HAVING'=585 +'HEADER'=586 +'HEAP'=587 +'HELP'=588 +'HEXTORAW'=589 +'HEXTOREF'=590 +'HIDDEN'=591 +'HIDE'=592 +'HIERARCHY'=593 +'HIGH'=594 +'HINTSET_BEGIN'=595 +'HINTSET_END'=596 +'HOT'=597 +'HOUR'=598 +'HWM_BROKERED'=599 +'HYBRID'=600 +'IDENTIFIED'=601 +'IDENTIFIER'=602 +'IDENTITY'=603 +'IDGENERATORS'=604 +'ID'=605 +'IDLE_TIME'=606 +'IF'=607 +'IGNORE'=608 +'IGNORE_OPTIM_EMBEDDED_HINTS'=609 +'IGNORE_ROW_ON_DUPKEY_INDEX'=610 +'IGNORE_WHERE_CLAUSE'=611 +'ILM'=612 +'IMMEDIATE'=613 +'IMPACT'=614 +'IMPORT'=615 +'INACTIVE'=616 +'INCLUDE'=617 +'INCLUDE_VERSION'=618 +'INCLUDING'=619 +'INCREMENTAL'=620 +'INCREMENT'=621 +'INCR'=622 +'INDENT'=623 +'INDEX_ASC'=624 +'INDEX_COMBINE'=625 +'INDEX_DESC'=626 +'INDEXED'=627 +'INDEXES'=628 +'INDEX_FFS'=629 +'INDEX_FILTER'=630 +'INDEX'=631 +'INDEXING'=632 +'INDEX_JOIN'=633 +'INDEX_ROWS'=634 +'INDEX_RRS'=635 +'INDEX_RS_ASC'=636 +'INDEX_RS_DESC'=637 +'INDEX_RS'=638 +'INDEX_SCAN'=639 +'INDEX_SKIP_SCAN'=640 +'INDEX_SS_ASC'=641 +'INDEX_SS_DESC'=642 +'INDEX_SS'=643 +'INDEX_STATS'=644 +'INDEXTYPE'=645 +'INDEXTYPES'=646 +'INDICATOR'=647 +'INDICES'=648 +'INFINITE'=649 +'INFORMATIONAL'=650 +'INHERIT'=651 +'IN'=652 +'INITCAP'=653 +'INITIAL'=654 +'INITIALIZED'=655 +'INITIALLY'=656 +'INITRANS'=657 +'INLINE'=658 +'INLINE_XMLTYPE_NT'=659 +'INMEMORY'=660 +'IN_MEMORY_METADATA'=661 +'INMEMORY_PRUNING'=662 +'INNER'=663 +'INOUT'=664 +'INPLACE'=665 +'INSERTCHILDXMLAFTER'=666 +'INSERTCHILDXMLBEFORE'=667 +'INSERTCHILDXML'=668 +'INSERT'=669 +'INSERTXMLAFTER'=670 +'INSERTXMLBEFORE'=671 +'INSTANCE'=672 +'INSTANCES'=673 +'INSTANTIABLE'=674 +'INSTANTLY'=675 +'INSTEAD'=676 +'INSTR2'=677 +'INSTR4'=678 +'INSTRB'=679 +'INSTRC'=680 +'INSTR'=681 +'INTEGER'=682 +'INTERLEAVED'=683 +'INTERMEDIATE'=684 +'INTERNAL_CONVERT'=685 +'INTERNAL_USE'=686 +'INTERPRETED'=687 +'INTERSECT'=688 +'INTERVAL'=689 +'INT'=690 +'INTO'=691 +'INVALIDATE'=692 +'INVISIBLE'=693 +'IN_XQUERY'=694 +'IS'=695 +'ISOLATION'=696 +'ISOLATION_LEVEL'=697 +'ITERATE'=698 +'ITERATION_NUMBER'=699 +'JAVA'=700 +'JOB'=701 +'JOIN'=702 +'JSON_ARRAYAGG'=703 +'JSON_ARRAY'=704 +'JSON_EQUAL'=705 +'JSON_EXISTS2'=706 +'JSON_EXISTS'=707 +'JSONGET'=708 +'JSON'=709 +'JSON_OBJECTAGG'=710 +'JSON_OBJECT'=711 +'JSONPARSE'=712 +'JSON_QUERY'=713 +'JSON_SERIALIZE'=714 +'JSON_TABLE'=715 +'JSON_TEXTCONTAINS2'=716 +'JSON_TEXTCONTAINS'=717 +'JSON_VALUE'=718 +'KEEP_DUPLICATES'=719 +'KEEP'=720 +'KERBEROS'=721 +'KEY'=722 +'KEY_LENGTH'=723 +'KEYSIZE'=724 +'KEYS'=725 +'KEYSTORE'=726 +'KILL'=727 +'LABEL'=728 +'LANGUAGE'=729 +'LAST_DAY'=730 +'LAST'=731 +'LAST_VALUE'=732 +'LATERAL'=733 +'LAX'=734 +'LAYER'=735 +'LDAP_REGISTRATION_ENABLED'=736 +'LDAP_REGISTRATION'=737 +'LDAP_REG_SYNC_INTERVAL'=738 +'LEADING'=739 +'LEFT'=740 +'LENGTH2'=741 +'LENGTH4'=742 +'LENGTHB'=743 +'LENGTHC'=744 +'LENGTH'=745 +'LESS'=746 +'LEVEL'=747 +'LEVELS'=748 +'LIBRARY'=749 +'LIFECYCLE'=750 +'LIFE'=751 +'LIFETIME'=752 +'LIKE2'=753 +'LIKE4'=754 +'LIKEC'=755 +'LIKE_EXPAND'=756 +'LIKE'=757 +'LIMIT'=758 +'LINEAR'=759 +'LINK'=760 +'LIST'=761 +'LN'=762 +'LNNVL'=763 +'LOAD'=764 +'LOB'=765 +'LOBNVL'=766 +'LOBS'=767 +'LOCAL_INDEXES'=768 +'LOCAL'=769 +'LOCALTIME'=770 +'LOCALTIMESTAMP'=771 +'LOCATION'=772 +'LOCATOR'=773 +'LOCKED'=774 +'LOCKING'=775 +'LOCK'=776 +'LOGFILE'=777 +'LOGFILES'=778 +'LOGGING'=779 +'LOGICAL'=780 +'LOGICAL_READS_PER_CALL'=781 +'LOGICAL_READS_PER_SESSION'=782 +'LOG'=783 +'LOGMINING'=784 +'LOGOFF'=785 +'LOGON'=786 +'LOG_READ_ONLY_VIOLATIONS'=787 +'LONG'=788 +'LOOP'=789 +'LOWER'=790 +'LOW'=791 +'LPAD'=792 +'LTRIM'=793 +'MAIN'=794 +'MAKE_REF'=795 +'MANAGED'=796 +'MANAGE'=797 +'MANAGEMENT'=798 +'MANAGER'=799 +'MANUAL'=800 +'MAP'=801 +'MAPPING'=802 +'MASTER'=803 +'MATCHED'=804 +'MATCHES'=805 +'MATCH'=806 +'MATCH_NUMBER'=807 +'MATCH_RECOGNIZE'=808 +'MATERIALIZED'=809 +'MATERIALIZE'=810 +'MAXARCHLOGS'=811 +'MAXDATAFILES'=812 +'MAXEXTENTS'=813 +'MAXIMIZE'=814 +'MAXINSTANCES'=815 +'MAXLOGFILES'=816 +'MAXLOGHISTORY'=817 +'MAXLOGMEMBERS'=818 +'MAX_SHARED_TEMP_SIZE'=819 +'MAXSIZE'=820 +'MAXTRANS'=821 +'MAXVALUE'=822 +'MEASURE'=823 +'MEASURES'=824 +'MEDIUM'=825 +'MEMBER'=826 +'MEMCOMPRESS'=827 +'MEMORY'=828 +'MERGE$ACTIONS'=829 +'MERGE_AJ'=830 +'MERGE_CONST_ON'=831 +'MERGE'=832 +'MERGE_SJ'=833 +'METADATA'=834 +'METHOD'=835 +'MIGRATE'=836 +'MIGRATION'=837 +'MINEXTENTS'=838 +'MINIMIZE'=839 +'MINIMUM'=840 +'MINING'=841 +'MINUS'=842 +'MINUS_NULL'=843 +'MINUTE'=844 +'MINVALUE'=845 +'MIRRORCOLD'=846 +'MIRRORHOT'=847 +'MIRROR'=848 +'MLSLABEL'=849 +'MODEL_COMPILE_SUBQUERY'=850 +'MODEL_DONTVERIFY_UNIQUENESS'=851 +'MODEL_DYNAMIC_SUBQUERY'=852 +'MODEL_MIN_ANALYSIS'=853 +'MODEL'=854 +'MODEL_NB'=855 +'MODEL_NO_ANALYSIS'=856 +'MODEL_PBY'=857 +'MODEL_PUSH_REF'=858 +'MODEL_SV'=859 +'MODE'=860 +'MODIFICATION'=861 +'MODIFY_COLUMN_TYPE'=862 +'MODIFY'=863 +'MOD'=864 +'MODULE'=865 +'MONITORING'=866 +'MONITOR'=867 +'MONTH'=868 +'MONTHS_BETWEEN'=869 +'MONTHS'=870 +'MOUNT'=871 +'MOUNTPATH'=872 +'MOVEMENT'=873 +'MOVE'=874 +'MULTIDIMENSIONAL'=875 +'MULTISET'=876 +'MV_MERGE'=877 +'NAMED'=878 +'NAME'=879 +'NAMESPACE'=880 +'NAN'=881 +'NANVL'=882 +'NATIONAL'=883 +'NATIVE_FULL_OUTER_JOIN'=884 +'NATIVE'=885 +'NATURAL'=886 +'NATURALN'=887 +'NAV'=888 +'NCHAR_CS'=889 +'NCHAR'=890 +'NCHR'=891 +'NCLOB'=892 +'NEEDED'=893 +'NEG'=894 +'NESTED'=895 +'NESTED_TABLE_FAST_INSERT'=896 +'NESTED_TABLE_GET_REFS'=897 +'NESTED_TABLE_ID'=898 +'NESTED_TABLE_SET_REFS'=899 +'NESTED_TABLE_SET_SETID'=900 +'NETWORK'=901 +'NEVER'=902 +'NEW'=903 +'NEW_TIME'=904 +'NEXT_DAY'=905 +'NEXT'=906 +'NL_AJ'=907 +'NLJ_BATCHING'=908 +'NLJ_INDEX_FILTER'=909 +'NLJ_INDEX_SCAN'=910 +'NLJ_PREFETCH'=911 +'NLS_CALENDAR'=912 +'NLS_CHARACTERSET'=913 +'NLS_CHARSET_DECL_LEN'=914 +'NLS_CHARSET_ID'=915 +'NLS_CHARSET_NAME'=916 +'NLS_COMP'=917 +'NLS_CURRENCY'=918 +'NLS_DATE_FORMAT'=919 +'NLS_DATE_LANGUAGE'=920 +'NLS_INITCAP'=921 +'NLS_ISO_CURRENCY'=922 +'NL_SJ'=923 +'NLS_LANG'=924 +'NLS_LANGUAGE'=925 +'NLS_LENGTH_SEMANTICS'=926 +'NLS_LOWER'=927 +'NLS_NCHAR_CONV_EXCP'=928 +'NLS_NUMERIC_CHARACTERS'=929 +'NLS_SORT'=930 +'NLSSORT'=931 +'NLS_SPECIAL_CHARS'=932 +'NLS_TERRITORY'=933 +'NLS_UPPER'=934 +'NO_ACCESS'=935 +'NO_ADAPTIVE_PLAN'=936 +'NO_ANSI_REARCH'=937 +'NOAPPEND'=938 +'NOARCHIVELOG'=939 +'NOAUDIT'=940 +'NO_AUTO_REOPTIMIZE'=941 +'NO_BASETABLE_MULTIMV_REWRITE'=942 +'NO_BATCH_TABLE_ACCESS_BY_ROWID'=943 +'NO_BIND_AWARE'=944 +'NO_BUFFER'=945 +'NOCACHE'=946 +'NO_CARTESIAN'=947 +'NO_CHECK_ACL_REWRITE'=948 +'NO_CLUSTER_BY_ROWID'=949 +'NO_CLUSTERING'=950 +'NO_COALESCE_SQ'=951 +'NO_COMMON_DATA'=952 +'NOCOMPRESS'=953 +'NO_CONNECT_BY_CB_WHR_ONLY'=954 +'NO_CONNECT_BY_COMBINE_SW'=955 +'NO_CONNECT_BY_COST_BASED'=956 +'NO_CONNECT_BY_ELIM_DUPS'=957 +'NO_CONNECT_BY_FILTERING'=958 +'NOCOPY'=959 +'NO_COST_XML_QUERY_REWRITE'=960 +'NO_CPU_COSTING'=961 +'NOCPU_COSTING'=962 +'NOCYCLE'=963 +'NO_DATA_SECURITY_REWRITE'=964 +'NO_DECORRELATE'=965 +'NODELAY'=966 +'NO_DOMAIN_INDEX_FILTER'=967 +'NO_DST_UPGRADE_INSERT_CONV'=968 +'NO_ELIM_GROUPBY'=969 +'NO_ELIMINATE_JOIN'=970 +'NO_ELIMINATE_OBY'=971 +'NO_ELIMINATE_OUTER_JOIN'=972 +'NOENTITYESCAPING'=973 +'NO_EXPAND_GSET_TO_UNION'=974 +'NO_EXPAND'=975 +'NO_EXPAND_TABLE'=976 +'NO_FACT'=977 +'NO_FACTORIZE_JOIN'=978 +'NO_FILTERING'=979 +'NOFORCE'=980 +'NO_FULL_OUTER_JOIN_TO_OUTER'=981 +'NO_GATHER_OPTIMIZER_STATISTICS'=982 +'NO_GBY_PUSHDOWN'=983 +'NOGUARANTEE'=984 +'NO_INDEX_FFS'=985 +'NO_INDEX'=986 +'NO_INDEX_SS'=987 +'NO_INMEMORY'=988 +'NO_INMEMORY_PRUNING'=989 +'NOKEEP'=990 +'NO_LOAD'=991 +'NOLOCAL'=992 +'NOLOGGING'=993 +'NOMAPPING'=994 +'NOMAXVALUE'=995 +'NO_MERGE'=996 +'NOMINIMIZE'=997 +'NOMINVALUE'=998 +'NO_MODEL_PUSH_REF'=999 +'NO_MONITORING'=1000 +'NOMONITORING'=1001 +'NO_MONITOR'=1002 +'NO_MULTIMV_REWRITE'=1003 +'NO_NATIVE_FULL_OUTER_JOIN'=1004 +'NONBLOCKING'=1005 +'NONEDITIONABLE'=1006 +'NONE'=1007 +'NO_NLJ_BATCHING'=1008 +'NO_NLJ_PREFETCH'=1009 +'NO'=1010 +'NONSCHEMA'=1011 +'NO_OBJECT_LINK'=1012 +'NOORDER'=1013 +'NO_ORDER_ROLLUPS'=1014 +'NO_OUTER_JOIN_TO_ANTI'=1015 +'NO_OUTER_JOIN_TO_INNER'=1016 +'NOOVERRIDE'=1017 +'NO_PARALLEL_INDEX'=1018 +'NOPARALLEL_INDEX'=1019 +'NO_PARALLEL'=1020 +'NOPARALLEL'=1021 +'NO_PARTIAL_COMMIT'=1022 +'NO_PARTIAL_JOIN'=1023 +'NO_PARTIAL_ROLLUP_PUSHDOWN'=1024 +'NOPARTITION'=1025 +'NO_PLACE_DISTINCT'=1026 +'NO_PLACE_GROUP_BY'=1027 +'NO_PQ_CONCURRENT_UNION'=1028 +'NO_PQ_MAP'=1029 +'NO_PQ_REPLICATE'=1030 +'NO_PQ_SKEW'=1031 +'NO_PRUNE_GSETS'=1032 +'NO_PULL_PRED'=1033 +'NO_PUSH_PRED'=1034 +'NO_PUSH_SUBQ'=1035 +'NO_PX_FAULT_TOLERANCE'=1036 +'NO_PX_JOIN_FILTER'=1037 +'NO_QKN_BUFF'=1038 +'NO_QUERY_TRANSFORMATION'=1039 +'NO_REF_CASCADE'=1040 +'NORELOCATE'=1041 +'NORELY'=1042 +'NOREPAIR'=1043 +'NOREPLAY'=1044 +'NORESETLOGS'=1045 +'NO_RESULT_CACHE'=1046 +'NOREVERSE'=1047 +'NO_REWRITE'=1048 +'NOREWRITE'=1049 +'NORMAL'=1050 +'NO_ROOT_SW_FOR_LOCAL'=1051 +'NOROWDEPENDENCIES'=1052 +'NOSCHEMACHECK'=1053 +'NOSEGMENT'=1054 +'NO_SEMIJOIN'=1055 +'NO_SEMI_TO_INNER'=1056 +'NO_SET_TO_JOIN'=1057 +'NOSORT'=1058 +'NO_SQL_TRANSLATION'=1059 +'NO_SQL_TUNE'=1060 +'NO_STAR_TRANSFORMATION'=1061 +'NO_STATEMENT_QUEUING'=1062 +'NO_STATS_GSETS'=1063 +'NOSTRICT'=1064 +'NO_SUBQUERY_PRUNING'=1065 +'NO_SUBSTRB_PAD'=1066 +'NO_SWAP_JOIN_INPUTS'=1067 +'NOSWITCH'=1068 +'NO_TABLE_LOOKUP_BY_NL'=1069 +'NO_TEMP_TABLE'=1070 +'NOTHING'=1071 +'NOTIFICATION'=1072 +'NOT'=1073 +'NO_TRANSFORM_DISTINCT_AGG'=1074 +'NO_UNNEST'=1075 +'NO_USE_CUBE'=1076 +'NO_USE_HASH_AGGREGATION'=1077 +'NO_USE_HASH_GBY_FOR_PUSHDOWN'=1078 +'NO_USE_HASH'=1079 +'NO_USE_INVISIBLE_INDEXES'=1080 +'NO_USE_MERGE'=1081 +'NO_USE_NL'=1082 +'NO_USE_VECTOR_AGGREGATION'=1083 +'NOVALIDATE'=1084 +'NO_VECTOR_TRANSFORM_DIMS'=1085 +'NO_VECTOR_TRANSFORM_FACT'=1086 +'NO_VECTOR_TRANSFORM'=1087 +'NOWAIT'=1088 +'NO_XDB_FASTPATH_INSERT'=1089 +'NO_XML_DML_REWRITE'=1090 +'NO_XMLINDEX_REWRITE_IN_SELECT'=1091 +'NO_XMLINDEX_REWRITE'=1092 +'NO_XML_QUERY_REWRITE'=1093 +'NO_ZONEMAP'=1094 +'NTH_VALUE'=1095 +'NULLIF'=1096 +'NULL'=1097 +'NULLS'=1098 +'NUMBER'=1099 +'NUMERIC'=1100 +'NUM_INDEX_KEYS'=1101 +'NUMTODSINTERVAL'=1102 +'NUMTOYMINTERVAL'=1103 +'NVARCHAR2'=1104 +'NVL2'=1105 +'OBJECT2XML'=1106 +'OBJECT'=1107 +'OBJ_ID'=1108 +'OBJNO'=1109 +'OBJNO_REUSE'=1110 +'OCCURENCES'=1111 +'OFFLINE'=1112 +'OFF'=1113 +'OFFSET'=1114 +'OF'=1115 +'OIDINDEX'=1116 +'OID'=1117 +'OLAP'=1118 +'OLD'=1119 +'OLD_PUSH_PRED'=1120 +'OLS'=1121 +'OLTP'=1122 +'OMIT'=1123 +'ONE'=1124 +'ONLINE'=1125 +'ONLINELOG'=1126 +'ONLY'=1127 +'ON'=1128 +'OPAQUE'=1129 +'OPAQUE_TRANSFORM'=1130 +'OPAQUE_XCANONICAL'=1131 +'OPCODE'=1132 +'OPEN'=1133 +'OPERATIONS'=1134 +'OPERATOR'=1135 +'OPT_ESTIMATE'=1136 +'OPTIMAL'=1137 +'OPTIMIZE'=1138 +'OPTIMIZER_FEATURES_ENABLE'=1139 +'OPTIMIZER_GOAL'=1140 +'OPTION'=1141 +'OPT_PARAM'=1142 +'ORA_BRANCH'=1143 +'ORA_CHECK_ACL'=1144 +'ORA_CHECK_PRIVILEGE'=1145 +'ORA_CLUSTERING'=1146 +'ORADATA'=1147 +'ORADEBUG'=1148 +'ORA_DST_AFFECTED'=1149 +'ORA_DST_CONVERT'=1150 +'ORA_DST_ERROR'=1151 +'ORA_GET_ACLIDS'=1152 +'ORA_GET_PRIVILEGES'=1153 +'ORA_HASH'=1154 +'ORA_INVOKING_USERID'=1155 +'ORA_INVOKING_USER'=1156 +'ORA_INVOKING_XS_USER_GUID'=1157 +'ORA_INVOKING_XS_USER'=1158 +'ORA_RAWCOMPARE'=1159 +'ORA_RAWCONCAT'=1160 +'ORA_ROWSCN'=1161 +'ORA_ROWSCN_RAW'=1162 +'ORA_ROWVERSION'=1163 +'ORA_TABVERSION'=1164 +'ORA_WRITE_TIME'=1165 +'ORDERED'=1166 +'ORDERED_PREDICATES'=1167 +'ORDER'=1168 +'ORDINALITY'=1169 +'OR_EXPAND'=1170 +'ORGANIZATION'=1171 +'OR'=1172 +'OR_PREDICATES'=1173 +'OSERROR'=1174 +'OTHER'=1175 +'OUTER_JOIN_TO_ANTI'=1176 +'OUTER_JOIN_TO_INNER'=1177 +'OUTER'=1178 +'OUTLINE_LEAF'=1179 +'OUTLINE'=1180 +'OUT_OF_LINE'=1181 +'OUT'=1182 +'OVERFLOW_NOMOVE'=1183 +'OVERFLOW'=1184 +'OVERLAPS'=1185 +'OVER'=1186 +'OVERRIDING'=1187 +'OWNER'=1188 +'OWNERSHIP'=1189 +'OWN'=1190 +'PACKAGE'=1191 +'PACKAGES'=1192 +'PARALLEL_ENABLE'=1193 +'PARALLEL_INDEX'=1194 +'PARALLEL'=1195 +'PARAMETERFILE'=1196 +'PARAMETERS'=1197 +'PARAM'=1198 +'PARENT'=1199 +'PARITY'=1200 +'PARTIAL_JOIN'=1201 +'PARTIALLY'=1202 +'PARTIAL'=1203 +'PARTIAL_ROLLUP_PUSHDOWN'=1204 +'PARTITION_HASH'=1205 +'PARTITION_LIST'=1206 +'PARTITION'=1207 +'PARTITION_RANGE'=1208 +'PARTITIONS'=1209 +'PART$NUM$INST'=1210 +'PASSING'=1211 +'PASSWORD_GRACE_TIME'=1212 +'PASSWORD_LIFE_TIME'=1213 +'PASSWORD_LOCK_TIME'=1214 +'PASSWORD'=1215 +'PASSWORD_REUSE_MAX'=1216 +'PASSWORD_REUSE_TIME'=1217 +'PASSWORD_VERIFY_FUNCTION'=1218 +'PAST'=1219 +'PATCH'=1220 +'PATH'=1221 +'PATH_PREFIX'=1222 +'PATHS'=1223 +'PATTERN'=1224 +'PBL_HS_BEGIN'=1225 +'PBL_HS_END'=1226 +'PCTFREE'=1227 +'PCTINCREASE'=1228 +'PCTTHRESHOLD'=1229 +'PCTUSED'=1230 +'PCTVERSION'=1231 +'PENDING'=1232 +'PERCENT'=1236 +'PERCENT_RANKM'=1237 +'PERFORMANCE'=1241 +'PERIOD'=1242 +'PERMANENT'=1243 +'PERMISSION'=1244 +'PERMUTE'=1245 +'PER'=1246 +'PFILE'=1247 +'PHYSICAL'=1248 +'PIKEY'=1249 +'PIPELINED'=1250 +'PIPE'=1251 +'PIV_GB'=1252 +'PIVOT'=1253 +'PIV_SSF'=1254 +'PLACE_DISTINCT'=1255 +'PLACE_GROUP_BY'=1256 +'PLAN'=1257 +'PLSCOPE_SETTINGS'=1258 +'PLS_INTEGER'=1259 +'PLSQL_CCFLAGS'=1260 +'PLSQL_CODE_TYPE'=1261 +'PLSQL_DEBUG'=1262 +'PLSQL_OPTIMIZE_LEVEL'=1263 +'PLSQL_WARNINGS'=1264 +'PLUGGABLE'=1265 +'POINT'=1266 +'POLICY'=1267 +'POOL_16K'=1268 +'POOL_2K'=1269 +'POOL_32K'=1270 +'POOL_4K'=1271 +'POOL_8K'=1272 +'POSITIVEN'=1273 +'POSITIVE'=1274 +'POST_TRANSACTION'=1275 +'POWERMULTISET_BY_CARDINALITY'=1276 +'POWERMULTISET'=1277 +'POWER'=1278 +'PQ_CONCURRENT_UNION'=1279 +'PQ_DISTRIBUTE'=1280 +'PQ_DISTRIBUTE_WINDOW'=1281 +'PQ_FILTER'=1282 +'PQ_MAP'=1283 +'PQ_NOMAP'=1284 +'PQ_REPLICATE'=1285 +'PQ_SKEW'=1286 +'PRAGMA'=1287 +'PREBUILT'=1288 +'PRECEDES'=1289 +'PRECEDING'=1290 +'PRECISION'=1291 +'PRECOMPUTE_SUBQUERY'=1292 +'PREDICATE_REORDERS'=1293 +'PRELOAD'=1294 +'PREPARE'=1295 +'PRESENTNNV'=1296 +'PRESENT'=1297 +'PRESENTV'=1298 +'PRESERVE_OID'=1299 +'PRESERVE'=1300 +'PRETTY'=1301 +'PREVIOUS'=1302 +'PREV'=1303 +'PRIMARY'=1304 +'PRINTBLOBTOCLOB'=1305 +'PRIORITY'=1306 +'PRIOR'=1307 +'PRIVATE'=1308 +'PRIVATE_SGA'=1309 +'PRIVILEGED'=1310 +'PRIVILEGE'=1311 +'PRIVILEGES'=1312 +'PROCEDURAL'=1313 +'PROCEDURE'=1314 +'PROCESS'=1315 +'PROFILE'=1316 +'PROGRAM'=1317 +'PROJECT'=1318 +'PROPAGATE'=1319 +'PROTECTED'=1320 +'PROTECTION'=1321 +'PROXY'=1322 +'PRUNING'=1323 +'PUBLIC'=1324 +'PULL_PRED'=1325 +'PURGE'=1326 +'PUSH_PRED'=1327 +'PUSH_SUBQ'=1328 +'PX_FAULT_TOLERANCE'=1329 +'PX_GRANULE'=1330 +'PX_JOIN_FILTER'=1331 +'QB_NAME'=1332 +'QUERY_BLOCK'=1333 +'QUERY'=1334 +'QUEUE_CURR'=1335 +'QUEUE'=1336 +'QUEUE_ROWP'=1337 +'QUIESCE'=1338 +'QUORUM'=1339 +'QUOTA'=1340 +'RAISE'=1341 +'RANDOM_LOCAL'=1342 +'RANDOM'=1343 +'RANGE'=1344 +'RANKM'=1345 +'RAPIDLY'=1346 +'RAW'=1347 +'RAWTOHEX'=1348 +'RAWTONHEX'=1349 +'RBA'=1350 +'RBO_OUTLINE'=1351 +'RDBA'=1352 +'READ'=1353 +'READS'=1354 +'REALM'=1355 +'REAL'=1356 +'REBALANCE'=1357 +'REBUILD'=1358 +'RECORD'=1359 +'RECORDS_PER_BLOCK'=1360 +'RECOVERABLE'=1361 +'RECOVER'=1362 +'RECOVERY'=1363 +'RECYCLEBIN'=1364 +'RECYCLE'=1365 +'REDACTION'=1366 +'REDEFINE'=1367 +'REDO'=1368 +'REDUCED'=1369 +'REDUNDANCY'=1370 +'REF_CASCADE_CURSOR'=1371 +'REFERENCED'=1372 +'REFERENCE'=1373 +'REFERENCES'=1374 +'REFERENCING'=1375 +'REF'=1376 +'REFRESH'=1377 +'REFTOHEX'=1378 +'REGEXP_COUNT'=1379 +'REGEXP_INSTR'=1380 +'REGEXP_LIKE'=1381 +'REGEXP_REPLACE'=1382 +'REGEXP_SUBSTR'=1383 +'REGISTER'=1384 +'REGR_AVGX'=1385 +'REGR_AVGY'=1386 +'REGR_COUNT'=1387 +'REGR_INTERCEPT'=1388 +'REGR_R2'=1389 +'REGR_SLOPE'=1390 +'REGR_SXX'=1391 +'REGR_SXY'=1392 +'REGR_SYY'=1393 +'REGULAR'=1394 +'REJECT'=1395 +'REKEY'=1396 +'RELATIONAL'=1397 +'RELIES_ON'=1398 +'RELOCATE'=1399 +'RELY'=1400 +'REMAINDER'=1401 +'REMOTE_MAPPED'=1402 +'REMOVE'=1403 +'RENAME'=1404 +'REPAIR'=1405 +'REPEAT'=1406 +'REPLACE'=1407 +'REPLICATION'=1408 +'REQUIRED'=1409 +'RESETLOGS'=1410 +'RESET'=1411 +'RESIZE'=1412 +'RESOLVE'=1413 +'RESOLVER'=1414 +'RESOURCE'=1415 +'RESPECT'=1416 +'RESTART'=1417 +'RESTORE_AS_INTERVALS'=1418 +'RESTORE'=1419 +'RESTRICT_ALL_REF_CONS'=1420 +'RESTRICTED'=1421 +'RESTRICT_REFERENCES'=1422 +'RESTRICT'=1423 +'RESULT_CACHE'=1424 +'RESULT'=1425 +'RESUMABLE'=1426 +'RESUME'=1427 +'RETENTION'=1428 +'RETRY_ON_ROW_CHANGE'=1429 +'RETURNING'=1430 +'RETURN'=1431 +'REUSE'=1432 +'REVERSE'=1433 +'REVOKE'=1434 +'REWRITE_OR_ERROR'=1435 +'REWRITE'=1436 +'RIGHT'=1437 +'ROLE'=1438 +'ROLESET'=1439 +'ROLES'=1440 +'ROLLBACK'=1441 +'ROLLING'=1442 +'ROLLUP'=1443 +'ROWDEPENDENCIES'=1444 +'ROWID_MAPPING_TABLE'=1445 +'ROWID'=1446 +'ROWIDTOCHAR'=1447 +'ROWIDTONCHAR'=1448 +'ROW_LENGTH'=1449 +'ROWNUM'=1450 +'ROW'=1451 +'ROWS'=1452 +'RPAD'=1453 +'RTRIM'=1454 +'RULE'=1455 +'RULES'=1456 +'RUNNING'=1457 +'SALT'=1458 +'SAMPLE'=1459 +'SAVE_AS_INTERVALS'=1460 +'SAVEPOINT'=1461 +'SAVE'=1462 +'SB4'=1463 +'SCALE_ROWS'=1464 +'SCALE'=1465 +'SCAN_INSTANCES'=1466 +'SCAN'=1467 +'SCHEDULER'=1468 +'SCHEMACHECK'=1469 +'SCHEMA'=1470 +'SCN_ASCENDING'=1471 +'SCN'=1472 +'SCOPE'=1473 +'SCRUB'=1474 +'SD_ALL'=1475 +'SD_INHIBIT'=1476 +'SDO_GEOM_MBR'=1477 +'SD_SHOW'=1478 +'SEARCH'=1479 +'SECOND'=1480 +'SECRET'=1481 +'SECUREFILE_DBA'=1482 +'SECUREFILE'=1483 +'SECURITY'=1484 +'SEED'=1485 +'SEG_BLOCK'=1486 +'SEG_FILE'=1487 +'SEGMENT'=1488 +'SELECTIVITY'=1489 +'SELECT'=1490 +'SELF'=1491 +'SEMIJOIN_DRIVER'=1492 +'SEMIJOIN'=1493 +'SEMI_TO_INNER'=1494 +'SEQUENCED'=1495 +'SEQUENCE'=1496 +'SEQUENTIAL'=1497 +'SEQ'=1498 +'SERIALIZABLE'=1499 +'SERIALLY_REUSABLE'=1500 +'SERIAL'=1501 +'SERVERERROR'=1502 +'SERVICE_NAME_CONVERT'=1503 +'SERVICES'=1504 +'SESSION_CACHED_CURSORS'=1505 +'SESSION'=1506 +'SESSIONS_PER_USER'=1507 +'SESSIONTIMEZONE'=1508 +'SESSIONTZNAME'=1509 +'SET'=1510 +'SETS'=1511 +'SETTINGS'=1512 +'SET_TO_JOIN'=1513 +'SEVERE'=1514 +'SHARED_POOL'=1515 +'SHARED'=1516 +'SHARE'=1517 +'SHARING'=1518 +'SHELFLIFE'=1519 +'SHOW'=1520 +'SHRINK'=1521 +'SHUTDOWN'=1522 +'SIBLINGS'=1523 +'SID'=1524 +'SIGNAL_COMPONENT'=1525 +'SIGNAL_FUNCTION'=1526 +'SIGN'=1527 +'SIGNTYPE'=1528 +'SIMPLE_INTEGER'=1529 +'SIMPLE'=1530 +'SINGLE'=1531 +'SINGLETASK'=1532 +'SINH'=1533 +'SIN'=1534 +'SIZE'=1535 +'SKIP_EXT_OPTIMIZER'=1536 +'SKIP'=1537 +'SKIP_UNQ_UNUSABLE_IDX'=1538 +'SKIP_UNUSABLE_INDEXES'=1539 +'SMALLFILE'=1540 +'SMALLINT'=1541 +'SNAPSHOT'=1542 +'SOME'=1543 +'SORT'=1544 +'SOUNDEX'=1545 +'SOURCE_FILE_DIRECTORY'=1546 +'SOURCE_FILE_NAME_CONVERT'=1547 +'SOURCE'=1548 +'SPACE'=1549 +'SPECIFICATION'=1550 +'SPFILE'=1551 +'SPLIT'=1552 +'SPREADSHEET'=1553 +'SQLDATA'=1554 +'SQLERROR'=1555 +'SQLLDR'=1556 +'SQL'=1557 +'SQL_TRACE'=1558 +'SQL_TRANSLATION_PROFILE'=1559 +'SQRT'=1560 +'STALE'=1561 +'STANDALONE'=1562 +'STANDARD_HASH'=1563 +'STANDBY_MAX_DATA_DELAY'=1564 +'STANDBYS'=1565 +'STANDBY'=1566 +'STAR'=1567 +'STAR_TRANSFORMATION'=1568 +'START'=1569 +'STARTUP'=1570 +'STATEMENT_ID'=1571 +'STATEMENT_QUEUING'=1572 +'STATEMENTS'=1573 +'STATEMENT'=1574 +'STATE'=1575 +'STATIC'=1576 +'STATISTICS'=1577 +'STATS_BINOMIAL_TEST'=1578 +'STATS_CROSSTAB'=1579 +'STATS_F_TEST'=1580 +'STATS_KS_TEST'=1581 +'STATS_MODE'=1582 +'STATS_MW_TEST'=1583 +'STATS_ONE_WAY_ANOVA'=1584 +'STATS_T_TEST_INDEP'=1585 +'STATS_T_TEST_INDEPU'=1586 +'STATS_T_TEST_ONE'=1587 +'STATS_T_TEST_PAIRED'=1588 +'STATS_WSR_TEST'=1589 +'STDDEV_POP'=1590 +'STDDEV_SAMP'=1591 +'STOP'=1592 +'STORAGE'=1593 +'STORE'=1594 +'STREAMS'=1595 +'STREAM'=1596 +'STRICT'=1597 +'STRING'=1598 +'STRIPE_COLUMNS'=1599 +'STRIPE_WIDTH'=1600 +'STRIP'=1601 +'STRUCTURE'=1602 +'SUBMULTISET'=1603 +'SUBPARTITION_REL'=1604 +'SUBPARTITIONS'=1605 +'SUBPARTITION'=1606 +'SUBQUERIES'=1607 +'SUBQUERY_PRUNING'=1608 +'SUBSCRIBE'=1609 +'SUBSET'=1610 +'SUBSTITUTABLE'=1611 +'SUBSTR2'=1612 +'SUBSTR4'=1613 +'SUBSTRB'=1614 +'SUBSTRC'=1615 +'SUBTYPE'=1616 +'SUCCESSFUL'=1617 +'SUCCESS'=1618 +'SUMMARY'=1619 +'SUPPLEMENTAL'=1620 +'SUSPEND'=1621 +'SWAP_JOIN_INPUTS'=1622 +'SWITCHOVER'=1623 +'SWITCH'=1624 +'SYNCHRONOUS'=1625 +'SYNC'=1626 +'SYNONYM'=1627 +'SYSASM'=1628 +'SYS_AUDIT'=1629 +'SYSAUX'=1630 +'SYSBACKUP'=1631 +'SYS_CHECKACL'=1632 +'SYS_CHECK_PRIVILEGE'=1633 +'SYS_CONNECT_BY_PATH'=1634 +'SYS_CONTEXT'=1635 +'SYSDATE'=1636 +'SYSDBA'=1637 +'SYS_DBURIGEN'=1638 +'SYSDG'=1639 +'SYS_DL_CURSOR'=1640 +'SYS_DM_RXFORM_CHR'=1641 +'SYS_DM_RXFORM_NUM'=1642 +'SYS_DOM_COMPARE'=1643 +'SYS_DST_PRIM2SEC'=1644 +'SYS_DST_SEC2PRIM'=1645 +'SYS_ET_BFILE_TO_RAW'=1646 +'SYS_ET_BLOB_TO_IMAGE'=1647 +'SYS_ET_IMAGE_TO_BLOB'=1648 +'SYS_ET_RAW_TO_BFILE'=1649 +'SYS_EXTPDTXT'=1650 +'SYS_EXTRACT_UTC'=1651 +'SYS_FBT_INSDEL'=1652 +'SYS_FILTER_ACLS'=1653 +'SYS_FNMATCHES'=1654 +'SYS_FNREPLACE'=1655 +'SYS_GET_ACLIDS'=1656 +'SYS_GET_COL_ACLIDS'=1657 +'SYS_GET_PRIVILEGES'=1658 +'SYS_GETTOKENID'=1659 +'SYS_GETXTIVAL'=1660 +'SYS_GUID'=1661 +'SYSGUID'=1662 +'SYSKM'=1663 +'SYS_MAKE_XMLNODEID'=1664 +'SYS_MAKEXML'=1665 +'SYS_MKXMLATTR'=1666 +'SYS_MKXTI'=1667 +'SYSOBJ'=1668 +'SYS_OP_ADT2BIN'=1669 +'SYS_OP_ADTCONS'=1670 +'SYS_OP_ALSCRVAL'=1671 +'SYS_OP_ATG'=1672 +'SYS_OP_BIN2ADT'=1673 +'SYS_OP_BITVEC'=1674 +'SYS_OP_BL2R'=1675 +'SYS_OP_BLOOM_FILTER_LIST'=1676 +'SYS_OP_BLOOM_FILTER'=1677 +'SYS_OP_C2C'=1678 +'SYS_OP_CAST'=1679 +'SYS_OP_CEG'=1680 +'SYS_OP_CL2C'=1681 +'SYS_OP_COMBINED_HASH'=1682 +'SYS_OP_COMP'=1683 +'SYS_OP_CONVERT'=1684 +'SYS_OP_COUNTCHG'=1685 +'SYS_OP_CSCONV'=1686 +'SYS_OP_CSCONVTEST'=1687 +'SYS_OP_CSR'=1688 +'SYS_OP_CSX_PATCH'=1689 +'SYS_OP_CYCLED_SEQ'=1690 +'SYS_OP_DECOMP'=1691 +'SYS_OP_DESCEND'=1692 +'SYS_OP_DISTINCT'=1693 +'SYS_OP_DRA'=1694 +'SYS_OP_DUMP'=1695 +'SYS_OP_DV_CHECK'=1696 +'SYS_OP_ENFORCE_NOT_NULL$'=1697 +'SYSOPER'=1698 +'SYS_OP_EXTRACT'=1699 +'SYS_OP_GROUPING'=1700 +'SYS_OP_GUID'=1701 +'SYS_OP_HASH'=1702 +'SYS_OP_IIX'=1703 +'SYS_OP_ITR'=1704 +'SYS_OP_KEY_VECTOR_CREATE'=1705 +'SYS_OP_KEY_VECTOR_FILTER_LIST'=1706 +'SYS_OP_KEY_VECTOR_FILTER'=1707 +'SYS_OP_KEY_VECTOR_SUCCEEDED'=1708 +'SYS_OP_KEY_VECTOR_USE'=1709 +'SYS_OP_LBID'=1710 +'SYS_OP_LOBLOC2BLOB'=1711 +'SYS_OP_LOBLOC2CLOB'=1712 +'SYS_OP_LOBLOC2ID'=1713 +'SYS_OP_LOBLOC2NCLOB'=1714 +'SYS_OP_LOBLOC2TYP'=1715 +'SYS_OP_LSVI'=1716 +'SYS_OP_LVL'=1717 +'SYS_OP_MAKEOID'=1718 +'SYS_OP_MAP_NONNULL'=1719 +'SYS_OP_MSR'=1720 +'SYS_OP_NICOMBINE'=1721 +'SYS_OP_NIEXTRACT'=1722 +'SYS_OP_NII'=1723 +'SYS_OP_NIX'=1724 +'SYS_OP_NOEXPAND'=1725 +'SYS_OP_NTCIMG$'=1726 +'SYS_OP_NUMTORAW'=1727 +'SYS_OP_OIDVALUE'=1728 +'SYS_OP_OPNSIZE'=1729 +'SYS_OP_PAR_1'=1730 +'SYS_OP_PARGID_1'=1731 +'SYS_OP_PARGID'=1732 +'SYS_OP_PAR'=1733 +'SYS_OP_PART_ID'=1734 +'SYS_OP_PIVOT'=1735 +'SYS_OP_R2O'=1736 +'SYS_OP_RAWTONUM'=1737 +'SYS_OP_RDTM'=1738 +'SYS_OP_REF'=1739 +'SYS_OP_RMTD'=1740 +'SYS_OP_ROWIDTOOBJ'=1741 +'SYS_OP_RPB'=1742 +'SYS_OPTLOBPRBSC'=1743 +'SYS_OP_TOSETID'=1744 +'SYS_OP_TPR'=1745 +'SYS_OP_TRTB'=1746 +'SYS_OPTXICMP'=1747 +'SYS_OPTXQCASTASNQ'=1748 +'SYS_OP_UNDESCEND'=1749 +'SYS_OP_VECAND'=1750 +'SYS_OP_VECBIT'=1751 +'SYS_OP_VECOR'=1752 +'SYS_OP_VECXOR'=1753 +'SYS_OP_VERSION'=1754 +'SYS_OP_VREF'=1755 +'SYS_OP_VVD'=1756 +'SYS_OP_XMLCONS_FOR_CSX'=1757 +'SYS_OP_XPTHATG'=1758 +'SYS_OP_XPTHIDX'=1759 +'SYS_OP_XPTHOP'=1760 +'SYS_OP_XTXT2SQLT'=1761 +'SYS_OP_ZONE_ID'=1762 +'SYS_ORDERKEY_DEPTH'=1763 +'SYS_ORDERKEY_MAXCHILD'=1764 +'SYS_ORDERKEY_PARENT'=1765 +'SYS_PARALLEL_TXN'=1766 +'SYS_PATHID_IS_ATTR'=1767 +'SYS_PATHID_IS_NMSPC'=1768 +'SYS_PATHID_LASTNAME'=1769 +'SYS_PATHID_LASTNMSPC'=1770 +'SYS_PATH_REVERSE'=1771 +'SYS_PXQEXTRACT'=1772 +'SYS_RAW_TO_XSID'=1773 +'SYS_RID_ORDER'=1774 +'SYS_ROW_DELTA'=1775 +'SYS_SC_2_XMLT'=1776 +'SYS_SYNRCIREDO'=1777 +'SYSTEM_DEFINED'=1778 +'SYSTEM'=1779 +'SYSTIMESTAMP'=1780 +'SYS_TYPEID'=1781 +'SYS_UMAKEXML'=1782 +'SYS_XMLANALYZE'=1783 +'SYS_XMLCONTAINS'=1784 +'SYS_XMLCONV'=1785 +'SYS_XMLEXNSURI'=1786 +'SYS_XMLGEN'=1787 +'SYS_XMLI_LOC_ISNODE'=1788 +'SYS_XMLI_LOC_ISTEXT'=1789 +'SYS_XMLINSTR'=1790 +'SYS_XMLLOCATOR_GETSVAL'=1791 +'SYS_XMLNODEID_GETCID'=1792 +'SYS_XMLNODEID_GETLOCATOR'=1793 +'SYS_XMLNODEID_GETOKEY'=1794 +'SYS_XMLNODEID_GETPATHID'=1795 +'SYS_XMLNODEID_GETPTRID'=1796 +'SYS_XMLNODEID_GETRID'=1797 +'SYS_XMLNODEID_GETSVAL'=1798 +'SYS_XMLNODEID_GETTID'=1799 +'SYS_XMLNODEID'=1800 +'SYS_XMLT_2_SC'=1801 +'SYS_XMLTRANSLATE'=1802 +'SYS_XMLTYPE2SQL'=1803 +'SYS_XQ_ASQLCNV'=1804 +'SYS_XQ_ATOMCNVCHK'=1805 +'SYS_XQBASEURI'=1806 +'SYS_XQCASTABLEERRH'=1807 +'SYS_XQCODEP2STR'=1808 +'SYS_XQCODEPEQ'=1809 +'SYS_XQCON2SEQ'=1810 +'SYS_XQCONCAT'=1811 +'SYS_XQDELETE'=1812 +'SYS_XQDFLTCOLATION'=1813 +'SYS_XQDOC'=1814 +'SYS_XQDOCURI'=1815 +'SYS_XQDURDIV'=1816 +'SYS_XQED4URI'=1817 +'SYS_XQENDSWITH'=1818 +'SYS_XQERRH'=1819 +'SYS_XQERR'=1820 +'SYS_XQESHTMLURI'=1821 +'SYS_XQEXLOBVAL'=1822 +'SYS_XQEXSTWRP'=1823 +'SYS_XQEXTRACT'=1824 +'SYS_XQEXTRREF'=1825 +'SYS_XQEXVAL'=1826 +'SYS_XQFB2STR'=1827 +'SYS_XQFNBOOL'=1828 +'SYS_XQFNCMP'=1829 +'SYS_XQFNDATIM'=1830 +'SYS_XQFNLNAME'=1831 +'SYS_XQFNNM'=1832 +'SYS_XQFNNSURI'=1833 +'SYS_XQFNPREDTRUTH'=1834 +'SYS_XQFNQNM'=1835 +'SYS_XQFNROOT'=1836 +'SYS_XQFORMATNUM'=1837 +'SYS_XQFTCONTAIN'=1838 +'SYS_XQFUNCR'=1839 +'SYS_XQGETCONTENT'=1840 +'SYS_XQINDXOF'=1841 +'SYS_XQINSERT'=1842 +'SYS_XQINSPFX'=1843 +'SYS_XQIRI2URI'=1844 +'SYS_XQLANG'=1845 +'SYS_XQLLNMFRMQNM'=1846 +'SYS_XQMKNODEREF'=1847 +'SYS_XQNILLED'=1848 +'SYS_XQNODENAME'=1849 +'SYS_XQNORMSPACE'=1850 +'SYS_XQNORMUCODE'=1851 +'SYS_XQ_NRNG'=1852 +'SYS_XQNSP4PFX'=1853 +'SYS_XQNSPFRMQNM'=1854 +'SYS_XQPFXFRMQNM'=1855 +'SYS_XQ_PKSQL2XML'=1856 +'SYS_XQPOLYABS'=1857 +'SYS_XQPOLYADD'=1858 +'SYS_XQPOLYCEL'=1859 +'SYS_XQPOLYCSTBL'=1860 +'SYS_XQPOLYCST'=1861 +'SYS_XQPOLYDIV'=1862 +'SYS_XQPOLYFLR'=1863 +'SYS_XQPOLYMOD'=1864 +'SYS_XQPOLYMUL'=1865 +'SYS_XQPOLYRND'=1866 +'SYS_XQPOLYSQRT'=1867 +'SYS_XQPOLYSUB'=1868 +'SYS_XQPOLYUMUS'=1869 +'SYS_XQPOLYUPLS'=1870 +'SYS_XQPOLYVEQ'=1871 +'SYS_XQPOLYVGE'=1872 +'SYS_XQPOLYVGT'=1873 +'SYS_XQPOLYVLE'=1874 +'SYS_XQPOLYVLT'=1875 +'SYS_XQPOLYVNE'=1876 +'SYS_XQREF2VAL'=1877 +'SYS_XQRENAME'=1878 +'SYS_XQREPLACE'=1879 +'SYS_XQRESVURI'=1880 +'SYS_XQRNDHALF2EVN'=1881 +'SYS_XQRSLVQNM'=1882 +'SYS_XQRYENVPGET'=1883 +'SYS_XQRYVARGET'=1884 +'SYS_XQRYWRP'=1885 +'SYS_XQSEQ2CON4XC'=1886 +'SYS_XQSEQ2CON'=1887 +'SYS_XQSEQDEEPEQ'=1888 +'SYS_XQSEQINSB'=1889 +'SYS_XQSEQRM'=1890 +'SYS_XQSEQRVS'=1891 +'SYS_XQSEQSUB'=1892 +'SYS_XQSEQTYPMATCH'=1893 +'SYS_XQSTARTSWITH'=1894 +'SYS_XQSTATBURI'=1895 +'SYS_XQSTR2CODEP'=1896 +'SYS_XQSTRJOIN'=1897 +'SYS_XQSUBSTRAFT'=1898 +'SYS_XQSUBSTRBEF'=1899 +'SYS_XQTOKENIZE'=1900 +'SYS_XQTREATAS'=1901 +'SYS_XQ_UPKXML2SQL'=1902 +'SYS_XQXFORM'=1903 +'SYS_XSID_TO_RAW'=1904 +'SYS_ZMAP_FILTER'=1905 +'SYS_ZMAP_REFRESH'=1906 +'TABLE_LOOKUP_BY_NL'=1907 +'TABLESPACE_NO'=1908 +'TABLESPACE'=1909 +'TABLES'=1910 +'TABLE_STATS'=1911 +'TABLE'=1912 +'TABNO'=1913 +'TAG'=1914 +'TANH'=1915 +'TAN'=1916 +'TBL$OR$IDX$PART$NUM'=1917 +'TEMPFILE'=1918 +'TEMPLATE'=1919 +'TEMPORARY'=1920 +'TEMP_TABLE'=1921 +'TEST'=1922 +'TEXT'=1923 +'THAN'=1924 +'THEN'=1925 +'THE'=1926 +'THREAD'=1927 +'THROUGH'=1928 +'TIER'=1929 +'TIES'=1930 +'TIMEOUT'=1931 +'TIMESTAMP_LTZ_UNCONSTRAINED'=1932 +'TIMESTAMP'=1933 +'TIMESTAMP_TZ_UNCONSTRAINED'=1934 +'TIMESTAMP_UNCONSTRAINED'=1935 +'TIMES'=1936 +'TIME'=1937 +'TIMEZONE'=1938 +'TIMEZONE_ABBR'=1939 +'TIMEZONE_HOUR'=1940 +'TIMEZONE_MINUTE'=1941 +'TIMEZONE_OFFSET'=1942 +'TIMEZONE_REGION'=1943 +'TIME_ZONE'=1944 +'TIV_GB'=1945 +'TIV_SSF'=1946 +'TO_ACLID'=1947 +'TO_BINARY_DOUBLE'=1948 +'TO_BINARY_FLOAT'=1949 +'TO_BLOB'=1950 +'TO_CLOB'=1951 +'TO_DSINTERVAL'=1952 +'TO_LOB'=1953 +'TO_MULTI_BYTE'=1954 +'TO_NCHAR'=1955 +'TO_NCLOB'=1956 +'TO_NUMBER'=1957 +'TOPLEVEL'=1958 +'TO_SINGLE_BYTE'=1959 +'TO_TIMESTAMP'=1960 +'TO_TIMESTAMP_TZ'=1961 +'TO_TIME'=1962 +'TO_TIME_TZ'=1963 +'TO'=1964 +'TO_YMINTERVAL'=1965 +'TRACE'=1966 +'TRACING'=1967 +'TRACKING'=1968 +'TRAILING'=1969 +'TRANSACTION'=1970 +'TRANSFORM_DISTINCT_AGG'=1971 +'TRANSITIONAL'=1972 +'TRANSITION'=1973 +'TRANSLATE'=1974 +'TRANSLATION'=1975 +'TREAT'=1976 +'TRIGGERS'=1977 +'TRIGGER'=1978 +'TRUE'=1979 +'TRUNCATE'=1980 +'TRUNC'=1981 +'TRUSTED'=1982 +'TRUST'=1983 +'TUNING'=1984 +'TX'=1985 +'TYPES'=1986 +'TYPE'=1987 +'TZ_OFFSET'=1988 +'UB2'=1989 +'UBA'=1990 +'UCS2'=1991 +'UID'=1992 +'UNARCHIVED'=1993 +'UNBOUNDED'=1994 +'UNBOUND'=1995 +'UNCONDITIONAL'=1996 +'UNDER'=1997 +'UNDO'=1998 +'UNDROP'=1999 +'UNIFORM'=2000 +'UNION'=2001 +'UNIQUE'=2002 +'UNISTR'=2003 +'UNLIMITED'=2004 +'UNLOAD'=2005 +'UNLOCK'=2006 +'UNMATCHED'=2007 +'UNNEST_INNERJ_DISTINCT_VIEW'=2008 +'UNNEST_NOSEMIJ_NODISTINCTVIEW'=2009 +'UNNEST_SEMIJ_VIEW'=2010 +'UNNEST'=2011 +'UNPACKED'=2012 +'UNPIVOT'=2013 +'UNPLUG'=2014 +'UNPROTECTED'=2015 +'UNQUIESCE'=2016 +'UNRECOVERABLE'=2017 +'UNRESTRICTED'=2018 +'UNSUBSCRIBE'=2019 +'UNTIL'=2020 +'UNUSABLE'=2021 +'UNUSED'=2022 +'UPDATABLE'=2023 +'UPDATED'=2024 +'UPDATE'=2025 +'UPDATEXML'=2026 +'UPD_INDEXES'=2027 +'UPD_JOININDEX'=2028 +'UPGRADE'=2029 +'UPPER'=2030 +'UPSERT'=2031 +'UROWID'=2032 +'USABLE'=2033 +'USAGE'=2034 +'USE_ANTI'=2035 +'USE_CONCAT'=2036 +'USE_CUBE'=2037 +'USE_HASH_AGGREGATION'=2038 +'USE_HASH_GBY_FOR_PUSHDOWN'=2039 +'USE_HASH'=2040 +'USE_HIDDEN_PARTITIONS'=2041 +'USE_INVISIBLE_INDEXES'=2042 +'USE_MERGE_CARTESIAN'=2043 +'USE_MERGE'=2044 +'USE_NL'=2045 +'USE_NL_WITH_INDEX'=2046 +'USE_PRIVATE_OUTLINES'=2047 +'USER_DATA'=2048 +'USER_DEFINED'=2049 +'USERENV'=2050 +'USERGROUP'=2051 +'USER_RECYCLEBIN'=2052 +'USERS'=2053 +'USER_TABLESPACES'=2054 +'USER'=2055 +'USE_SEMI'=2056 +'USE_STORED_OUTLINES'=2057 +'USE_TTT_FOR_GSETS'=2058 +'USE'=2059 +'USE_VECTOR_AGGREGATION'=2060 +'USE_WEAK_NAME_RESL'=2061 +'USING_NO_EXPAND'=2062 +'USING'=2063 +'UTF16BE'=2064 +'UTF16LE'=2065 +'UTF32'=2066 +'UTF8'=2067 +'V1'=2068 +'V2'=2069 +'VALIDATE'=2070 +'VALIDATION'=2071 +'VALID_TIME_END'=2072 +'VALUES'=2073 +'VALUE'=2074 +'VARCHAR2'=2075 +'VARCHAR'=2076 +'VARIABLE'=2077 +'VAR_POP'=2078 +'VARRAYS'=2079 +'VARRAY'=2080 +'VAR_SAMP'=2081 +'VARYING'=2082 +'VECTOR_READ_TRACE'=2083 +'VECTOR_READ'=2084 +'VECTOR_TRANSFORM_DIMS'=2085 +'VECTOR_TRANSFORM_FACT'=2086 +'VECTOR_TRANSFORM'=2087 +'VERIFIER'=2088 +'VERIFY'=2089 +'VERSIONING'=2090 +'VERSIONS_ENDSCN'=2091 +'VERSIONS_ENDTIME'=2092 +'VERSIONS_OPERATION'=2093 +'VERSIONS_STARTSCN'=2094 +'VERSIONS_STARTTIME'=2095 +'VERSIONS'=2096 +'VERSIONS_XID'=2097 +'VERSION'=2098 +'VIEW'=2099 +'VIOLATION'=2100 +'VIRTUAL'=2101 +'VISIBILITY'=2102 +'VISIBLE'=2103 +'VOLUME'=2104 +'VSIZE'=2105 +'WAIT'=2106 +'WALLET'=2107 +'WARNING'=2108 +'WEEKS'=2109 +'WEEK'=2110 +'WELLFORMED'=2111 +'WHENEVER'=2112 +'WHEN'=2113 +'WHERE'=2114 +'WHILE'=2115 +'WHITESPACE'=2116 +'WIDTH_BUCKET'=2117 +'WITHIN'=2118 +'WITHOUT'=2119 +'WITH_PLSQL'=2120 +'WITH'=2121 +'WORK'=2122 +'WRAPPED'=2123 +'WRAPPER'=2124 +'WRITE'=2125 +'XDB_FASTPATH_INSERT'=2126 +'XDB'=2127 +'X_DYN_PRUNE'=2128 +'XID'=2129 +'XML2OBJECT'=2130 +'XMLAGG'=2131 +'XMLATTRIBUTES'=2132 +'XMLCAST'=2133 +'XMLCDATA'=2134 +'XMLCOLATTVAL'=2135 +'XMLCOMMENT'=2136 +'XMLCONCAT'=2137 +'XMLDIFF'=2138 +'XML_DML_RWT_STMT'=2139 +'XMLELEMENT'=2140 +'XMLEXISTS2'=2141 +'XMLEXISTS'=2142 +'XMLFOREST'=2143 +'XMLINDEX'=2144 +'XMLINDEX_REWRITE_IN_SELECT'=2145 +'XMLINDEX_REWRITE'=2146 +'XMLINDEX_SEL_IDX_TBL'=2147 +'XMLISNODE'=2148 +'XMLISVALID'=2149 +'XMLNAMESPACES'=2150 +'XMLPARSE'=2151 +'XMLPATCH'=2152 +'XMLPI'=2153 +'XMLQUERYVAL'=2154 +'XMLQUERY'=2155 +'XMLROOT'=2156 +'XMLSCHEMA'=2157 +'XMLSERIALIZE'=2158 +'XMLTABLE'=2159 +'XMLTRANSFORMBLOB'=2160 +'XMLTRANSFORM'=2161 +'XMLTYPE'=2162 +'XML'=2163 +'XPATHTABLE'=2164 +'XS_SYS_CONTEXT'=2165 +'XS'=2166 +'XTRANSPORT'=2167 +'YEARS'=2168 +'YEAR'=2169 +'YES'=2170 +'YMINTERVAL_UNCONSTRAINED'=2171 +'ZONEMAP'=2172 +'ZONE'=2173 +'PREDICTION'=2174 +'PREDICTION_BOUNDS'=2175 +'PREDICTION_COST'=2176 +'PREDICTION_DETAILS'=2177 +'PREDICTION_PROBABILITY'=2178 +'PREDICTION_SET'=2179 +'CUME_DIST'=2180 +'DENSE_RANK'=2181 +'LISTAGG'=2182 +'PERCENT_RANK'=2183 +'PERCENTILE_CONT'=2184 +'PERCENTILE_DISC'=2185 +'RANK'=2186 +'AVG'=2187 +'CORR'=2188 +'COVAR_'=2189 +'DECODE'=2190 +'LAG'=2191 +'LEAD'=2192 +'MAX'=2193 +'MEDIAN'=2194 +'MIN'=2195 +'NTILE'=2196 +'NVL'=2197 +'RATIO_TO_REPORT'=2198 +'REGR_'=2199 +'ROUND'=2200 +'ROW_NUMBER'=2201 +'SUBSTR'=2202 +'TO_CHAR'=2203 +'TRIM'=2204 +'SUM'=2205 +'STDDEV'=2206 +'VAR_'=2207 +'VARIANCE'=2208 +'LEAST'=2209 +'GREATEST'=2210 +'TO_DATE'=2211 +'..'=2215 +'.'=2216 +'%'=2221 +'&'=2222 +'('=2223 +')'=2224 +'**'=2225 +'*'=2226 +'+'=2227 +'-'=2228 +','=2229 +'/'=2230 +'@'=2231 +':='=2232 +'^'=2235 +'~'=2236 +'!'=2237 +'>'=2238 +'<'=2239 +':'=2240 +';'=2241 +'|'=2242 +'='=2243 +'['=2244 +']'=2245 +'_'=2246 diff --git a/src/lib/plsql/PlSqlParserListener.js b/src/lib/plsql/PlSqlParserListener.js new file mode 100644 index 0000000..a5790e6 --- /dev/null +++ b/src/lib/plsql/PlSqlParserListener.js @@ -0,0 +1,6792 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/plsql/PlSqlParser.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + +// This class defines a complete listener for a parse tree produced by PlSqlParser. +function PlSqlParserListener() { + antlr4.tree.ParseTreeListener.call(this); + return this; +} + +PlSqlParserListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype); +PlSqlParserListener.prototype.constructor = PlSqlParserListener; + +// Enter a parse tree produced by PlSqlParser#program. +PlSqlParserListener.prototype.enterProgram = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#program. +PlSqlParserListener.prototype.exitProgram = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sql_script. +PlSqlParserListener.prototype.enterSql_script = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sql_script. +PlSqlParserListener.prototype.exitSql_script = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#unit_statement. +PlSqlParserListener.prototype.enterUnit_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#unit_statement. +PlSqlParserListener.prototype.exitUnit_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_function. +PlSqlParserListener.prototype.enterDrop_function = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_function. +PlSqlParserListener.prototype.exitDrop_function = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_function. +PlSqlParserListener.prototype.enterAlter_function = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_function. +PlSqlParserListener.prototype.exitAlter_function = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_function_body. +PlSqlParserListener.prototype.enterCreate_function_body = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_function_body. +PlSqlParserListener.prototype.exitCreate_function_body = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#parallel_enable_clause. +PlSqlParserListener.prototype.enterParallel_enable_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#parallel_enable_clause. +PlSqlParserListener.prototype.exitParallel_enable_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partition_by_clause. +PlSqlParserListener.prototype.enterPartition_by_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partition_by_clause. +PlSqlParserListener.prototype.exitPartition_by_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#result_cache_clause. +PlSqlParserListener.prototype.enterResult_cache_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#result_cache_clause. +PlSqlParserListener.prototype.exitResult_cache_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#relies_on_part. +PlSqlParserListener.prototype.enterRelies_on_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#relies_on_part. +PlSqlParserListener.prototype.exitRelies_on_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#streaming_clause. +PlSqlParserListener.prototype.enterStreaming_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#streaming_clause. +PlSqlParserListener.prototype.exitStreaming_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_package. +PlSqlParserListener.prototype.enterDrop_package = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_package. +PlSqlParserListener.prototype.exitDrop_package = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_package. +PlSqlParserListener.prototype.enterAlter_package = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_package. +PlSqlParserListener.prototype.exitAlter_package = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_package. +PlSqlParserListener.prototype.enterCreate_package = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_package. +PlSqlParserListener.prototype.exitCreate_package = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_package_body. +PlSqlParserListener.prototype.enterCreate_package_body = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_package_body. +PlSqlParserListener.prototype.exitCreate_package_body = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#package_obj_spec. +PlSqlParserListener.prototype.enterPackage_obj_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#package_obj_spec. +PlSqlParserListener.prototype.exitPackage_obj_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#procedure_spec. +PlSqlParserListener.prototype.enterProcedure_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#procedure_spec. +PlSqlParserListener.prototype.exitProcedure_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#function_spec. +PlSqlParserListener.prototype.enterFunction_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#function_spec. +PlSqlParserListener.prototype.exitFunction_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#package_obj_body. +PlSqlParserListener.prototype.enterPackage_obj_body = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#package_obj_body. +PlSqlParserListener.prototype.exitPackage_obj_body = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_procedure. +PlSqlParserListener.prototype.enterDrop_procedure = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_procedure. +PlSqlParserListener.prototype.exitDrop_procedure = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_procedure. +PlSqlParserListener.prototype.enterAlter_procedure = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_procedure. +PlSqlParserListener.prototype.exitAlter_procedure = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#function_body. +PlSqlParserListener.prototype.enterFunction_body = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#function_body. +PlSqlParserListener.prototype.exitFunction_body = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#procedure_body. +PlSqlParserListener.prototype.enterProcedure_body = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#procedure_body. +PlSqlParserListener.prototype.exitProcedure_body = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_procedure_body. +PlSqlParserListener.prototype.enterCreate_procedure_body = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_procedure_body. +PlSqlParserListener.prototype.exitCreate_procedure_body = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_trigger. +PlSqlParserListener.prototype.enterDrop_trigger = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_trigger. +PlSqlParserListener.prototype.exitDrop_trigger = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_trigger. +PlSqlParserListener.prototype.enterAlter_trigger = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_trigger. +PlSqlParserListener.prototype.exitAlter_trigger = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_trigger. +PlSqlParserListener.prototype.enterCreate_trigger = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_trigger. +PlSqlParserListener.prototype.exitCreate_trigger = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#trigger_follows_clause. +PlSqlParserListener.prototype.enterTrigger_follows_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#trigger_follows_clause. +PlSqlParserListener.prototype.exitTrigger_follows_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#trigger_when_clause. +PlSqlParserListener.prototype.enterTrigger_when_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#trigger_when_clause. +PlSqlParserListener.prototype.exitTrigger_when_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#simple_dml_trigger. +PlSqlParserListener.prototype.enterSimple_dml_trigger = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#simple_dml_trigger. +PlSqlParserListener.prototype.exitSimple_dml_trigger = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#for_each_row. +PlSqlParserListener.prototype.enterFor_each_row = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#for_each_row. +PlSqlParserListener.prototype.exitFor_each_row = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#compound_dml_trigger. +PlSqlParserListener.prototype.enterCompound_dml_trigger = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#compound_dml_trigger. +PlSqlParserListener.prototype.exitCompound_dml_trigger = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#non_dml_trigger. +PlSqlParserListener.prototype.enterNon_dml_trigger = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#non_dml_trigger. +PlSqlParserListener.prototype.exitNon_dml_trigger = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#trigger_body. +PlSqlParserListener.prototype.enterTrigger_body = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#trigger_body. +PlSqlParserListener.prototype.exitTrigger_body = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#routine_clause. +PlSqlParserListener.prototype.enterRoutine_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#routine_clause. +PlSqlParserListener.prototype.exitRoutine_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#compound_trigger_block. +PlSqlParserListener.prototype.enterCompound_trigger_block = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#compound_trigger_block. +PlSqlParserListener.prototype.exitCompound_trigger_block = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#timing_point_section. +PlSqlParserListener.prototype.enterTiming_point_section = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#timing_point_section. +PlSqlParserListener.prototype.exitTiming_point_section = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#non_dml_event. +PlSqlParserListener.prototype.enterNon_dml_event = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#non_dml_event. +PlSqlParserListener.prototype.exitNon_dml_event = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#dml_event_clause. +PlSqlParserListener.prototype.enterDml_event_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#dml_event_clause. +PlSqlParserListener.prototype.exitDml_event_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#dml_event_element. +PlSqlParserListener.prototype.enterDml_event_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#dml_event_element. +PlSqlParserListener.prototype.exitDml_event_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#dml_event_nested_clause. +PlSqlParserListener.prototype.enterDml_event_nested_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#dml_event_nested_clause. +PlSqlParserListener.prototype.exitDml_event_nested_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#referencing_clause. +PlSqlParserListener.prototype.enterReferencing_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#referencing_clause. +PlSqlParserListener.prototype.exitReferencing_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#referencing_element. +PlSqlParserListener.prototype.enterReferencing_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#referencing_element. +PlSqlParserListener.prototype.exitReferencing_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_type. +PlSqlParserListener.prototype.enterDrop_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_type. +PlSqlParserListener.prototype.exitDrop_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_type. +PlSqlParserListener.prototype.enterAlter_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_type. +PlSqlParserListener.prototype.exitAlter_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#compile_type_clause. +PlSqlParserListener.prototype.enterCompile_type_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#compile_type_clause. +PlSqlParserListener.prototype.exitCompile_type_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#replace_type_clause. +PlSqlParserListener.prototype.enterReplace_type_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#replace_type_clause. +PlSqlParserListener.prototype.exitReplace_type_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_method_spec. +PlSqlParserListener.prototype.enterAlter_method_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_method_spec. +PlSqlParserListener.prototype.exitAlter_method_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_method_element. +PlSqlParserListener.prototype.enterAlter_method_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_method_element. +PlSqlParserListener.prototype.exitAlter_method_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_attribute_definition. +PlSqlParserListener.prototype.enterAlter_attribute_definition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_attribute_definition. +PlSqlParserListener.prototype.exitAlter_attribute_definition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#attribute_definition. +PlSqlParserListener.prototype.enterAttribute_definition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#attribute_definition. +PlSqlParserListener.prototype.exitAttribute_definition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_collection_clauses. +PlSqlParserListener.prototype.enterAlter_collection_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_collection_clauses. +PlSqlParserListener.prototype.exitAlter_collection_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#dependent_handling_clause. +PlSqlParserListener.prototype.enterDependent_handling_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#dependent_handling_clause. +PlSqlParserListener.prototype.exitDependent_handling_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#dependent_exceptions_part. +PlSqlParserListener.prototype.enterDependent_exceptions_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#dependent_exceptions_part. +PlSqlParserListener.prototype.exitDependent_exceptions_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_type. +PlSqlParserListener.prototype.enterCreate_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_type. +PlSqlParserListener.prototype.exitCreate_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_definition. +PlSqlParserListener.prototype.enterType_definition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_definition. +PlSqlParserListener.prototype.exitType_definition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_type_def. +PlSqlParserListener.prototype.enterObject_type_def = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_type_def. +PlSqlParserListener.prototype.exitObject_type_def = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_as_part. +PlSqlParserListener.prototype.enterObject_as_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_as_part. +PlSqlParserListener.prototype.exitObject_as_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_under_part. +PlSqlParserListener.prototype.enterObject_under_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_under_part. +PlSqlParserListener.prototype.exitObject_under_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#nested_table_type_def. +PlSqlParserListener.prototype.enterNested_table_type_def = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#nested_table_type_def. +PlSqlParserListener.prototype.exitNested_table_type_def = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sqlj_object_type. +PlSqlParserListener.prototype.enterSqlj_object_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sqlj_object_type. +PlSqlParserListener.prototype.exitSqlj_object_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_body. +PlSqlParserListener.prototype.enterType_body = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_body. +PlSqlParserListener.prototype.exitType_body = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_body_elements. +PlSqlParserListener.prototype.enterType_body_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_body_elements. +PlSqlParserListener.prototype.exitType_body_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#map_order_func_declaration. +PlSqlParserListener.prototype.enterMap_order_func_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#map_order_func_declaration. +PlSqlParserListener.prototype.exitMap_order_func_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subprog_decl_in_type. +PlSqlParserListener.prototype.enterSubprog_decl_in_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subprog_decl_in_type. +PlSqlParserListener.prototype.exitSubprog_decl_in_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#proc_decl_in_type. +PlSqlParserListener.prototype.enterProc_decl_in_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#proc_decl_in_type. +PlSqlParserListener.prototype.exitProc_decl_in_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#func_decl_in_type. +PlSqlParserListener.prototype.enterFunc_decl_in_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#func_decl_in_type. +PlSqlParserListener.prototype.exitFunc_decl_in_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#constructor_declaration. +PlSqlParserListener.prototype.enterConstructor_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#constructor_declaration. +PlSqlParserListener.prototype.exitConstructor_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modifier_clause. +PlSqlParserListener.prototype.enterModifier_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modifier_clause. +PlSqlParserListener.prototype.exitModifier_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_member_spec. +PlSqlParserListener.prototype.enterObject_member_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_member_spec. +PlSqlParserListener.prototype.exitObject_member_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sqlj_object_type_attr. +PlSqlParserListener.prototype.enterSqlj_object_type_attr = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sqlj_object_type_attr. +PlSqlParserListener.prototype.exitSqlj_object_type_attr = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#element_spec. +PlSqlParserListener.prototype.enterElement_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#element_spec. +PlSqlParserListener.prototype.exitElement_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#element_spec_options. +PlSqlParserListener.prototype.enterElement_spec_options = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#element_spec_options. +PlSqlParserListener.prototype.exitElement_spec_options = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subprogram_spec. +PlSqlParserListener.prototype.enterSubprogram_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subprogram_spec. +PlSqlParserListener.prototype.exitSubprogram_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#overriding_subprogram_spec. +PlSqlParserListener.prototype.enterOverriding_subprogram_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#overriding_subprogram_spec. +PlSqlParserListener.prototype.exitOverriding_subprogram_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#overriding_function_spec. +PlSqlParserListener.prototype.enterOverriding_function_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#overriding_function_spec. +PlSqlParserListener.prototype.exitOverriding_function_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_procedure_spec. +PlSqlParserListener.prototype.enterType_procedure_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_procedure_spec. +PlSqlParserListener.prototype.exitType_procedure_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_function_spec. +PlSqlParserListener.prototype.enterType_function_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_function_spec. +PlSqlParserListener.prototype.exitType_function_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#constructor_spec. +PlSqlParserListener.prototype.enterConstructor_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#constructor_spec. +PlSqlParserListener.prototype.exitConstructor_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#map_order_function_spec. +PlSqlParserListener.prototype.enterMap_order_function_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#map_order_function_spec. +PlSqlParserListener.prototype.exitMap_order_function_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pragma_clause. +PlSqlParserListener.prototype.enterPragma_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pragma_clause. +PlSqlParserListener.prototype.exitPragma_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pragma_elements. +PlSqlParserListener.prototype.enterPragma_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pragma_elements. +PlSqlParserListener.prototype.exitPragma_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_elements_parameter. +PlSqlParserListener.prototype.enterType_elements_parameter = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_elements_parameter. +PlSqlParserListener.prototype.exitType_elements_parameter = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_sequence. +PlSqlParserListener.prototype.enterDrop_sequence = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_sequence. +PlSqlParserListener.prototype.exitDrop_sequence = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_sequence. +PlSqlParserListener.prototype.enterAlter_sequence = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_sequence. +PlSqlParserListener.prototype.exitAlter_sequence = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_session. +PlSqlParserListener.prototype.enterAlter_session = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_session. +PlSqlParserListener.prototype.exitAlter_session = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_session_set_clause. +PlSqlParserListener.prototype.enterAlter_session_set_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_session_set_clause. +PlSqlParserListener.prototype.exitAlter_session_set_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_sequence. +PlSqlParserListener.prototype.enterCreate_sequence = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_sequence. +PlSqlParserListener.prototype.exitCreate_sequence = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sequence_spec. +PlSqlParserListener.prototype.enterSequence_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sequence_spec. +PlSqlParserListener.prototype.exitSequence_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sequence_start_clause. +PlSqlParserListener.prototype.enterSequence_start_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sequence_start_clause. +PlSqlParserListener.prototype.exitSequence_start_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_index. +PlSqlParserListener.prototype.enterCreate_index = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_index. +PlSqlParserListener.prototype.exitCreate_index = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cluster_index_clause. +PlSqlParserListener.prototype.enterCluster_index_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cluster_index_clause. +PlSqlParserListener.prototype.exitCluster_index_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cluster_name. +PlSqlParserListener.prototype.enterCluster_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cluster_name. +PlSqlParserListener.prototype.exitCluster_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_index_clause. +PlSqlParserListener.prototype.enterTable_index_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_index_clause. +PlSqlParserListener.prototype.exitTable_index_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#bitmap_join_index_clause. +PlSqlParserListener.prototype.enterBitmap_join_index_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#bitmap_join_index_clause. +PlSqlParserListener.prototype.exitBitmap_join_index_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_expr. +PlSqlParserListener.prototype.enterIndex_expr = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_expr. +PlSqlParserListener.prototype.exitIndex_expr = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_properties. +PlSqlParserListener.prototype.enterIndex_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_properties. +PlSqlParserListener.prototype.exitIndex_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#domain_index_clause. +PlSqlParserListener.prototype.enterDomain_index_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#domain_index_clause. +PlSqlParserListener.prototype.exitDomain_index_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#local_domain_index_clause. +PlSqlParserListener.prototype.enterLocal_domain_index_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#local_domain_index_clause. +PlSqlParserListener.prototype.exitLocal_domain_index_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmlindex_clause. +PlSqlParserListener.prototype.enterXmlindex_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmlindex_clause. +PlSqlParserListener.prototype.exitXmlindex_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#local_xmlindex_clause. +PlSqlParserListener.prototype.enterLocal_xmlindex_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#local_xmlindex_clause. +PlSqlParserListener.prototype.exitLocal_xmlindex_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#global_partitioned_index. +PlSqlParserListener.prototype.enterGlobal_partitioned_index = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#global_partitioned_index. +PlSqlParserListener.prototype.exitGlobal_partitioned_index = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_partitioning_clause. +PlSqlParserListener.prototype.enterIndex_partitioning_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_partitioning_clause. +PlSqlParserListener.prototype.exitIndex_partitioning_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#local_partitioned_index. +PlSqlParserListener.prototype.enterLocal_partitioned_index = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#local_partitioned_index. +PlSqlParserListener.prototype.exitLocal_partitioned_index = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#on_range_partitioned_table. +PlSqlParserListener.prototype.enterOn_range_partitioned_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#on_range_partitioned_table. +PlSqlParserListener.prototype.exitOn_range_partitioned_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#on_list_partitioned_table. +PlSqlParserListener.prototype.enterOn_list_partitioned_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#on_list_partitioned_table. +PlSqlParserListener.prototype.exitOn_list_partitioned_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partitioned_table. +PlSqlParserListener.prototype.enterPartitioned_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partitioned_table. +PlSqlParserListener.prototype.exitPartitioned_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#on_hash_partitioned_table. +PlSqlParserListener.prototype.enterOn_hash_partitioned_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#on_hash_partitioned_table. +PlSqlParserListener.prototype.exitOn_hash_partitioned_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#on_hash_partitioned_clause. +PlSqlParserListener.prototype.enterOn_hash_partitioned_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#on_hash_partitioned_clause. +PlSqlParserListener.prototype.exitOn_hash_partitioned_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#on_comp_partitioned_table. +PlSqlParserListener.prototype.enterOn_comp_partitioned_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#on_comp_partitioned_table. +PlSqlParserListener.prototype.exitOn_comp_partitioned_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#on_comp_partitioned_clause. +PlSqlParserListener.prototype.enterOn_comp_partitioned_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#on_comp_partitioned_clause. +PlSqlParserListener.prototype.exitOn_comp_partitioned_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_subpartition_clause. +PlSqlParserListener.prototype.enterIndex_subpartition_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_subpartition_clause. +PlSqlParserListener.prototype.exitIndex_subpartition_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_subpartition_subclause. +PlSqlParserListener.prototype.enterIndex_subpartition_subclause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_subpartition_subclause. +PlSqlParserListener.prototype.exitIndex_subpartition_subclause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#odci_parameters. +PlSqlParserListener.prototype.enterOdci_parameters = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#odci_parameters. +PlSqlParserListener.prototype.exitOdci_parameters = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#indextype. +PlSqlParserListener.prototype.enterIndextype = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#indextype. +PlSqlParserListener.prototype.exitIndextype = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_index. +PlSqlParserListener.prototype.enterAlter_index = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_index. +PlSqlParserListener.prototype.exitAlter_index = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_index_ops_set1. +PlSqlParserListener.prototype.enterAlter_index_ops_set1 = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_index_ops_set1. +PlSqlParserListener.prototype.exitAlter_index_ops_set1 = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_index_ops_set2. +PlSqlParserListener.prototype.enterAlter_index_ops_set2 = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_index_ops_set2. +PlSqlParserListener.prototype.exitAlter_index_ops_set2 = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#visible_or_invisible. +PlSqlParserListener.prototype.enterVisible_or_invisible = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#visible_or_invisible. +PlSqlParserListener.prototype.exitVisible_or_invisible = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#monitoring_nomonitoring. +PlSqlParserListener.prototype.enterMonitoring_nomonitoring = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#monitoring_nomonitoring. +PlSqlParserListener.prototype.exitMonitoring_nomonitoring = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#rebuild_clause. +PlSqlParserListener.prototype.enterRebuild_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#rebuild_clause. +PlSqlParserListener.prototype.exitRebuild_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_index_partitioning. +PlSqlParserListener.prototype.enterAlter_index_partitioning = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_index_partitioning. +PlSqlParserListener.prototype.exitAlter_index_partitioning = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_index_default_attrs. +PlSqlParserListener.prototype.enterModify_index_default_attrs = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_index_default_attrs. +PlSqlParserListener.prototype.exitModify_index_default_attrs = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_hash_index_partition. +PlSqlParserListener.prototype.enterAdd_hash_index_partition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_hash_index_partition. +PlSqlParserListener.prototype.exitAdd_hash_index_partition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#coalesce_index_partition. +PlSqlParserListener.prototype.enterCoalesce_index_partition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#coalesce_index_partition. +PlSqlParserListener.prototype.exitCoalesce_index_partition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_index_partition. +PlSqlParserListener.prototype.enterModify_index_partition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_index_partition. +PlSqlParserListener.prototype.exitModify_index_partition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_index_partitions_ops. +PlSqlParserListener.prototype.enterModify_index_partitions_ops = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_index_partitions_ops. +PlSqlParserListener.prototype.exitModify_index_partitions_ops = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#rename_index_partition. +PlSqlParserListener.prototype.enterRename_index_partition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#rename_index_partition. +PlSqlParserListener.prototype.exitRename_index_partition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_index_partition. +PlSqlParserListener.prototype.enterDrop_index_partition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_index_partition. +PlSqlParserListener.prototype.exitDrop_index_partition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#split_index_partition. +PlSqlParserListener.prototype.enterSplit_index_partition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#split_index_partition. +PlSqlParserListener.prototype.exitSplit_index_partition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_partition_description. +PlSqlParserListener.prototype.enterIndex_partition_description = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_partition_description. +PlSqlParserListener.prototype.exitIndex_partition_description = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_index_subpartition. +PlSqlParserListener.prototype.enterModify_index_subpartition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_index_subpartition. +PlSqlParserListener.prototype.exitModify_index_subpartition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partition_name_old. +PlSqlParserListener.prototype.enterPartition_name_old = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partition_name_old. +PlSqlParserListener.prototype.exitPartition_name_old = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#new_partition_name. +PlSqlParserListener.prototype.enterNew_partition_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#new_partition_name. +PlSqlParserListener.prototype.exitNew_partition_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#new_index_name. +PlSqlParserListener.prototype.enterNew_index_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#new_index_name. +PlSqlParserListener.prototype.exitNew_index_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_user. +PlSqlParserListener.prototype.enterCreate_user = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_user. +PlSqlParserListener.prototype.exitCreate_user = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_user. +PlSqlParserListener.prototype.enterAlter_user = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_user. +PlSqlParserListener.prototype.exitAlter_user = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_identified_by. +PlSqlParserListener.prototype.enterAlter_identified_by = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_identified_by. +PlSqlParserListener.prototype.exitAlter_identified_by = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#identified_by. +PlSqlParserListener.prototype.enterIdentified_by = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#identified_by. +PlSqlParserListener.prototype.exitIdentified_by = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#identified_other_clause. +PlSqlParserListener.prototype.enterIdentified_other_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#identified_other_clause. +PlSqlParserListener.prototype.exitIdentified_other_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#user_tablespace_clause. +PlSqlParserListener.prototype.enterUser_tablespace_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#user_tablespace_clause. +PlSqlParserListener.prototype.exitUser_tablespace_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#quota_clause. +PlSqlParserListener.prototype.enterQuota_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#quota_clause. +PlSqlParserListener.prototype.exitQuota_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#profile_clause. +PlSqlParserListener.prototype.enterProfile_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#profile_clause. +PlSqlParserListener.prototype.exitProfile_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#role_clause. +PlSqlParserListener.prototype.enterRole_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#role_clause. +PlSqlParserListener.prototype.exitRole_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#user_default_role_clause. +PlSqlParserListener.prototype.enterUser_default_role_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#user_default_role_clause. +PlSqlParserListener.prototype.exitUser_default_role_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#password_expire_clause. +PlSqlParserListener.prototype.enterPassword_expire_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#password_expire_clause. +PlSqlParserListener.prototype.exitPassword_expire_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#user_lock_clause. +PlSqlParserListener.prototype.enterUser_lock_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#user_lock_clause. +PlSqlParserListener.prototype.exitUser_lock_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#user_editions_clause. +PlSqlParserListener.prototype.enterUser_editions_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#user_editions_clause. +PlSqlParserListener.prototype.exitUser_editions_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_user_editions_clause. +PlSqlParserListener.prototype.enterAlter_user_editions_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_user_editions_clause. +PlSqlParserListener.prototype.exitAlter_user_editions_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#proxy_clause. +PlSqlParserListener.prototype.enterProxy_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#proxy_clause. +PlSqlParserListener.prototype.exitProxy_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#container_names. +PlSqlParserListener.prototype.enterContainer_names = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#container_names. +PlSqlParserListener.prototype.exitContainer_names = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#set_container_data. +PlSqlParserListener.prototype.enterSet_container_data = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#set_container_data. +PlSqlParserListener.prototype.exitSet_container_data = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_rem_container_data. +PlSqlParserListener.prototype.enterAdd_rem_container_data = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_rem_container_data. +PlSqlParserListener.prototype.exitAdd_rem_container_data = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#container_data_clause. +PlSqlParserListener.prototype.enterContainer_data_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#container_data_clause. +PlSqlParserListener.prototype.exitContainer_data_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#analyze. +PlSqlParserListener.prototype.enterAnalyze = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#analyze. +PlSqlParserListener.prototype.exitAnalyze = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partition_extention_clause. +PlSqlParserListener.prototype.enterPartition_extention_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partition_extention_clause. +PlSqlParserListener.prototype.exitPartition_extention_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#validation_clauses. +PlSqlParserListener.prototype.enterValidation_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#validation_clauses. +PlSqlParserListener.prototype.exitValidation_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#online_or_offline. +PlSqlParserListener.prototype.enterOnline_or_offline = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#online_or_offline. +PlSqlParserListener.prototype.exitOnline_or_offline = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#into_clause1. +PlSqlParserListener.prototype.enterInto_clause1 = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#into_clause1. +PlSqlParserListener.prototype.exitInto_clause1 = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partition_key_value. +PlSqlParserListener.prototype.enterPartition_key_value = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partition_key_value. +PlSqlParserListener.prototype.exitPartition_key_value = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subpartition_key_value. +PlSqlParserListener.prototype.enterSubpartition_key_value = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subpartition_key_value. +PlSqlParserListener.prototype.exitSubpartition_key_value = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#associate_statistics. +PlSqlParserListener.prototype.enterAssociate_statistics = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#associate_statistics. +PlSqlParserListener.prototype.exitAssociate_statistics = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_association. +PlSqlParserListener.prototype.enterColumn_association = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_association. +PlSqlParserListener.prototype.exitColumn_association = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#function_association. +PlSqlParserListener.prototype.enterFunction_association = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#function_association. +PlSqlParserListener.prototype.exitFunction_association = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#indextype_name. +PlSqlParserListener.prototype.enterIndextype_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#indextype_name. +PlSqlParserListener.prototype.exitIndextype_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#using_statistics_type. +PlSqlParserListener.prototype.enterUsing_statistics_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#using_statistics_type. +PlSqlParserListener.prototype.exitUsing_statistics_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#statistics_type_name. +PlSqlParserListener.prototype.enterStatistics_type_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#statistics_type_name. +PlSqlParserListener.prototype.exitStatistics_type_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#default_cost_clause. +PlSqlParserListener.prototype.enterDefault_cost_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#default_cost_clause. +PlSqlParserListener.prototype.exitDefault_cost_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cpu_cost. +PlSqlParserListener.prototype.enterCpu_cost = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cpu_cost. +PlSqlParserListener.prototype.exitCpu_cost = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#io_cost. +PlSqlParserListener.prototype.enterIo_cost = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#io_cost. +PlSqlParserListener.prototype.exitIo_cost = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#network_cost. +PlSqlParserListener.prototype.enterNetwork_cost = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#network_cost. +PlSqlParserListener.prototype.exitNetwork_cost = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#default_selectivity_clause. +PlSqlParserListener.prototype.enterDefault_selectivity_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#default_selectivity_clause. +PlSqlParserListener.prototype.exitDefault_selectivity_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#default_selectivity. +PlSqlParserListener.prototype.enterDefault_selectivity = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#default_selectivity. +PlSqlParserListener.prototype.exitDefault_selectivity = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#storage_table_clause. +PlSqlParserListener.prototype.enterStorage_table_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#storage_table_clause. +PlSqlParserListener.prototype.exitStorage_table_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#unified_auditing. +PlSqlParserListener.prototype.enterUnified_auditing = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#unified_auditing. +PlSqlParserListener.prototype.exitUnified_auditing = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#policy_name. +PlSqlParserListener.prototype.enterPolicy_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#policy_name. +PlSqlParserListener.prototype.exitPolicy_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#audit_traditional. +PlSqlParserListener.prototype.enterAudit_traditional = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#audit_traditional. +PlSqlParserListener.prototype.exitAudit_traditional = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#audit_direct_path. +PlSqlParserListener.prototype.enterAudit_direct_path = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#audit_direct_path. +PlSqlParserListener.prototype.exitAudit_direct_path = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#audit_container_clause. +PlSqlParserListener.prototype.enterAudit_container_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#audit_container_clause. +PlSqlParserListener.prototype.exitAudit_container_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#audit_operation_clause. +PlSqlParserListener.prototype.enterAudit_operation_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#audit_operation_clause. +PlSqlParserListener.prototype.exitAudit_operation_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#auditing_by_clause. +PlSqlParserListener.prototype.enterAuditing_by_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#auditing_by_clause. +PlSqlParserListener.prototype.exitAuditing_by_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#audit_user. +PlSqlParserListener.prototype.enterAudit_user = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#audit_user. +PlSqlParserListener.prototype.exitAudit_user = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#audit_schema_object_clause. +PlSqlParserListener.prototype.enterAudit_schema_object_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#audit_schema_object_clause. +PlSqlParserListener.prototype.exitAudit_schema_object_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sql_operation. +PlSqlParserListener.prototype.enterSql_operation = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sql_operation. +PlSqlParserListener.prototype.exitSql_operation = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#auditing_on_clause. +PlSqlParserListener.prototype.enterAuditing_on_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#auditing_on_clause. +PlSqlParserListener.prototype.exitAuditing_on_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_name. +PlSqlParserListener.prototype.enterModel_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_name. +PlSqlParserListener.prototype.exitModel_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_name. +PlSqlParserListener.prototype.enterObject_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_name. +PlSqlParserListener.prototype.exitObject_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#profile_name. +PlSqlParserListener.prototype.enterProfile_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#profile_name. +PlSqlParserListener.prototype.exitProfile_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sql_statement_shortcut. +PlSqlParserListener.prototype.enterSql_statement_shortcut = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sql_statement_shortcut. +PlSqlParserListener.prototype.exitSql_statement_shortcut = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_index. +PlSqlParserListener.prototype.enterDrop_index = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_index. +PlSqlParserListener.prototype.exitDrop_index = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#rename_object. +PlSqlParserListener.prototype.enterRename_object = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#rename_object. +PlSqlParserListener.prototype.exitRename_object = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#grant_statement. +PlSqlParserListener.prototype.enterGrant_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#grant_statement. +PlSqlParserListener.prototype.exitGrant_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#container_clause. +PlSqlParserListener.prototype.enterContainer_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#container_clause. +PlSqlParserListener.prototype.exitContainer_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_directory. +PlSqlParserListener.prototype.enterCreate_directory = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_directory. +PlSqlParserListener.prototype.exitCreate_directory = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#directory_name. +PlSqlParserListener.prototype.enterDirectory_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#directory_name. +PlSqlParserListener.prototype.exitDirectory_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#directory_path. +PlSqlParserListener.prototype.enterDirectory_path = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#directory_path. +PlSqlParserListener.prototype.exitDirectory_path = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_library. +PlSqlParserListener.prototype.enterAlter_library = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_library. +PlSqlParserListener.prototype.exitAlter_library = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#library_editionable. +PlSqlParserListener.prototype.enterLibrary_editionable = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#library_editionable. +PlSqlParserListener.prototype.exitLibrary_editionable = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#library_debug. +PlSqlParserListener.prototype.enterLibrary_debug = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#library_debug. +PlSqlParserListener.prototype.exitLibrary_debug = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#compiler_parameters_clause. +PlSqlParserListener.prototype.enterCompiler_parameters_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#compiler_parameters_clause. +PlSqlParserListener.prototype.exitCompiler_parameters_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#parameter_value. +PlSqlParserListener.prototype.enterParameter_value = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#parameter_value. +PlSqlParserListener.prototype.exitParameter_value = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#library_name. +PlSqlParserListener.prototype.enterLibrary_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#library_name. +PlSqlParserListener.prototype.exitLibrary_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_view. +PlSqlParserListener.prototype.enterAlter_view = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_view. +PlSqlParserListener.prototype.exitAlter_view = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_view_editionable. +PlSqlParserListener.prototype.enterAlter_view_editionable = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_view_editionable. +PlSqlParserListener.prototype.exitAlter_view_editionable = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_view. +PlSqlParserListener.prototype.enterCreate_view = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_view. +PlSqlParserListener.prototype.exitCreate_view = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#view_options. +PlSqlParserListener.prototype.enterView_options = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#view_options. +PlSqlParserListener.prototype.exitView_options = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#view_alias_constraint. +PlSqlParserListener.prototype.enterView_alias_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#view_alias_constraint. +PlSqlParserListener.prototype.exitView_alias_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_view_clause. +PlSqlParserListener.prototype.enterObject_view_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_view_clause. +PlSqlParserListener.prototype.exitObject_view_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#inline_constraint. +PlSqlParserListener.prototype.enterInline_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#inline_constraint. +PlSqlParserListener.prototype.exitInline_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#inline_ref_constraint. +PlSqlParserListener.prototype.enterInline_ref_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#inline_ref_constraint. +PlSqlParserListener.prototype.exitInline_ref_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#out_of_line_ref_constraint. +PlSqlParserListener.prototype.enterOut_of_line_ref_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#out_of_line_ref_constraint. +PlSqlParserListener.prototype.exitOut_of_line_ref_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#out_of_line_constraint. +PlSqlParserListener.prototype.enterOut_of_line_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#out_of_line_constraint. +PlSqlParserListener.prototype.exitOut_of_line_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#constraint_state. +PlSqlParserListener.prototype.enterConstraint_state = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#constraint_state. +PlSqlParserListener.prototype.exitConstraint_state = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_tablespace. +PlSqlParserListener.prototype.enterAlter_tablespace = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_tablespace. +PlSqlParserListener.prototype.exitAlter_tablespace = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#datafile_tempfile_clauses. +PlSqlParserListener.prototype.enterDatafile_tempfile_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#datafile_tempfile_clauses. +PlSqlParserListener.prototype.exitDatafile_tempfile_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tablespace_logging_clauses. +PlSqlParserListener.prototype.enterTablespace_logging_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tablespace_logging_clauses. +PlSqlParserListener.prototype.exitTablespace_logging_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tablespace_group_clause. +PlSqlParserListener.prototype.enterTablespace_group_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tablespace_group_clause. +PlSqlParserListener.prototype.exitTablespace_group_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tablespace_group_name. +PlSqlParserListener.prototype.enterTablespace_group_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tablespace_group_name. +PlSqlParserListener.prototype.exitTablespace_group_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tablespace_state_clauses. +PlSqlParserListener.prototype.enterTablespace_state_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tablespace_state_clauses. +PlSqlParserListener.prototype.exitTablespace_state_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#flashback_mode_clause. +PlSqlParserListener.prototype.enterFlashback_mode_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#flashback_mode_clause. +PlSqlParserListener.prototype.exitFlashback_mode_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#new_tablespace_name. +PlSqlParserListener.prototype.enterNew_tablespace_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#new_tablespace_name. +PlSqlParserListener.prototype.exitNew_tablespace_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_tablespace. +PlSqlParserListener.prototype.enterCreate_tablespace = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_tablespace. +PlSqlParserListener.prototype.exitCreate_tablespace = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#permanent_tablespace_clause. +PlSqlParserListener.prototype.enterPermanent_tablespace_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#permanent_tablespace_clause. +PlSqlParserListener.prototype.exitPermanent_tablespace_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tablespace_encryption_spec. +PlSqlParserListener.prototype.enterTablespace_encryption_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tablespace_encryption_spec. +PlSqlParserListener.prototype.exitTablespace_encryption_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#logging_clause. +PlSqlParserListener.prototype.enterLogging_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#logging_clause. +PlSqlParserListener.prototype.exitLogging_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#extent_management_clause. +PlSqlParserListener.prototype.enterExtent_management_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#extent_management_clause. +PlSqlParserListener.prototype.exitExtent_management_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#segment_management_clause. +PlSqlParserListener.prototype.enterSegment_management_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#segment_management_clause. +PlSqlParserListener.prototype.exitSegment_management_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#temporary_tablespace_clause. +PlSqlParserListener.prototype.enterTemporary_tablespace_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#temporary_tablespace_clause. +PlSqlParserListener.prototype.exitTemporary_tablespace_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#undo_tablespace_clause. +PlSqlParserListener.prototype.enterUndo_tablespace_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#undo_tablespace_clause. +PlSqlParserListener.prototype.exitUndo_tablespace_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tablespace_retention_clause. +PlSqlParserListener.prototype.enterTablespace_retention_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tablespace_retention_clause. +PlSqlParserListener.prototype.exitTablespace_retention_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#datafile_specification. +PlSqlParserListener.prototype.enterDatafile_specification = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#datafile_specification. +PlSqlParserListener.prototype.exitDatafile_specification = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tempfile_specification. +PlSqlParserListener.prototype.enterTempfile_specification = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tempfile_specification. +PlSqlParserListener.prototype.exitTempfile_specification = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#datafile_tempfile_spec. +PlSqlParserListener.prototype.enterDatafile_tempfile_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#datafile_tempfile_spec. +PlSqlParserListener.prototype.exitDatafile_tempfile_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#redo_log_file_spec. +PlSqlParserListener.prototype.enterRedo_log_file_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#redo_log_file_spec. +PlSqlParserListener.prototype.exitRedo_log_file_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#autoextend_clause. +PlSqlParserListener.prototype.enterAutoextend_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#autoextend_clause. +PlSqlParserListener.prototype.exitAutoextend_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#maxsize_clause. +PlSqlParserListener.prototype.enterMaxsize_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#maxsize_clause. +PlSqlParserListener.prototype.exitMaxsize_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#build_clause. +PlSqlParserListener.prototype.enterBuild_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#build_clause. +PlSqlParserListener.prototype.exitBuild_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#parallel_clause. +PlSqlParserListener.prototype.enterParallel_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#parallel_clause. +PlSqlParserListener.prototype.exitParallel_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_materialized_view. +PlSqlParserListener.prototype.enterAlter_materialized_view = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_materialized_view. +PlSqlParserListener.prototype.exitAlter_materialized_view = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_mv_option1. +PlSqlParserListener.prototype.enterAlter_mv_option1 = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_mv_option1. +PlSqlParserListener.prototype.exitAlter_mv_option1 = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_mv_refresh. +PlSqlParserListener.prototype.enterAlter_mv_refresh = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_mv_refresh. +PlSqlParserListener.prototype.exitAlter_mv_refresh = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#rollback_segment. +PlSqlParserListener.prototype.enterRollback_segment = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#rollback_segment. +PlSqlParserListener.prototype.exitRollback_segment = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_mv_column_clause. +PlSqlParserListener.prototype.enterModify_mv_column_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_mv_column_clause. +PlSqlParserListener.prototype.exitModify_mv_column_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_materialized_view_log. +PlSqlParserListener.prototype.enterAlter_materialized_view_log = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_materialized_view_log. +PlSqlParserListener.prototype.exitAlter_materialized_view_log = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_mv_log_column_clause. +PlSqlParserListener.prototype.enterAdd_mv_log_column_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_mv_log_column_clause. +PlSqlParserListener.prototype.exitAdd_mv_log_column_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#move_mv_log_clause. +PlSqlParserListener.prototype.enterMove_mv_log_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#move_mv_log_clause. +PlSqlParserListener.prototype.exitMove_mv_log_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#mv_log_augmentation. +PlSqlParserListener.prototype.enterMv_log_augmentation = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#mv_log_augmentation. +PlSqlParserListener.prototype.exitMv_log_augmentation = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#datetime_expr. +PlSqlParserListener.prototype.enterDatetime_expr = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#datetime_expr. +PlSqlParserListener.prototype.exitDatetime_expr = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#interval_expr. +PlSqlParserListener.prototype.enterInterval_expr = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#interval_expr. +PlSqlParserListener.prototype.exitInterval_expr = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#synchronous_or_asynchronous. +PlSqlParserListener.prototype.enterSynchronous_or_asynchronous = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#synchronous_or_asynchronous. +PlSqlParserListener.prototype.exitSynchronous_or_asynchronous = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#including_or_excluding. +PlSqlParserListener.prototype.enterIncluding_or_excluding = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#including_or_excluding. +PlSqlParserListener.prototype.exitIncluding_or_excluding = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_materialized_view_log. +PlSqlParserListener.prototype.enterCreate_materialized_view_log = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_materialized_view_log. +PlSqlParserListener.prototype.exitCreate_materialized_view_log = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#new_values_clause. +PlSqlParserListener.prototype.enterNew_values_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#new_values_clause. +PlSqlParserListener.prototype.exitNew_values_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#mv_log_purge_clause. +PlSqlParserListener.prototype.enterMv_log_purge_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#mv_log_purge_clause. +PlSqlParserListener.prototype.exitMv_log_purge_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_materialized_view. +PlSqlParserListener.prototype.enterCreate_materialized_view = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_materialized_view. +PlSqlParserListener.prototype.exitCreate_materialized_view = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_mv_refresh. +PlSqlParserListener.prototype.enterCreate_mv_refresh = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_mv_refresh. +PlSqlParserListener.prototype.exitCreate_mv_refresh = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_context. +PlSqlParserListener.prototype.enterCreate_context = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_context. +PlSqlParserListener.prototype.exitCreate_context = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#oracle_namespace. +PlSqlParserListener.prototype.enterOracle_namespace = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#oracle_namespace. +PlSqlParserListener.prototype.exitOracle_namespace = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_cluster. +PlSqlParserListener.prototype.enterCreate_cluster = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_cluster. +PlSqlParserListener.prototype.exitCreate_cluster = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_table. +PlSqlParserListener.prototype.enterCreate_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_table. +PlSqlParserListener.prototype.exitCreate_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmltype_table. +PlSqlParserListener.prototype.enterXmltype_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmltype_table. +PlSqlParserListener.prototype.exitXmltype_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmltype_virtual_columns. +PlSqlParserListener.prototype.enterXmltype_virtual_columns = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmltype_virtual_columns. +PlSqlParserListener.prototype.exitXmltype_virtual_columns = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmltype_column_properties. +PlSqlParserListener.prototype.enterXmltype_column_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmltype_column_properties. +PlSqlParserListener.prototype.exitXmltype_column_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmltype_storage. +PlSqlParserListener.prototype.enterXmltype_storage = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmltype_storage. +PlSqlParserListener.prototype.exitXmltype_storage = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmlschema_spec. +PlSqlParserListener.prototype.enterXmlschema_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmlschema_spec. +PlSqlParserListener.prototype.exitXmlschema_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_table. +PlSqlParserListener.prototype.enterObject_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_table. +PlSqlParserListener.prototype.exitObject_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#oid_index_clause. +PlSqlParserListener.prototype.enterOid_index_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#oid_index_clause. +PlSqlParserListener.prototype.exitOid_index_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#oid_clause. +PlSqlParserListener.prototype.enterOid_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#oid_clause. +PlSqlParserListener.prototype.exitOid_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_properties. +PlSqlParserListener.prototype.enterObject_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_properties. +PlSqlParserListener.prototype.exitObject_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_table_substitution. +PlSqlParserListener.prototype.enterObject_table_substitution = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_table_substitution. +PlSqlParserListener.prototype.exitObject_table_substitution = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#relational_table. +PlSqlParserListener.prototype.enterRelational_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#relational_table. +PlSqlParserListener.prototype.exitRelational_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#relational_property. +PlSqlParserListener.prototype.enterRelational_property = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#relational_property. +PlSqlParserListener.prototype.exitRelational_property = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_partitioning_clauses. +PlSqlParserListener.prototype.enterTable_partitioning_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_partitioning_clauses. +PlSqlParserListener.prototype.exitTable_partitioning_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#range_partitions. +PlSqlParserListener.prototype.enterRange_partitions = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#range_partitions. +PlSqlParserListener.prototype.exitRange_partitions = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#list_partitions. +PlSqlParserListener.prototype.enterList_partitions = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#list_partitions. +PlSqlParserListener.prototype.exitList_partitions = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#hash_partitions. +PlSqlParserListener.prototype.enterHash_partitions = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#hash_partitions. +PlSqlParserListener.prototype.exitHash_partitions = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#individual_hash_partitions. +PlSqlParserListener.prototype.enterIndividual_hash_partitions = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#individual_hash_partitions. +PlSqlParserListener.prototype.exitIndividual_hash_partitions = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#hash_partitions_by_quantity. +PlSqlParserListener.prototype.enterHash_partitions_by_quantity = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#hash_partitions_by_quantity. +PlSqlParserListener.prototype.exitHash_partitions_by_quantity = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#hash_partition_quantity. +PlSqlParserListener.prototype.enterHash_partition_quantity = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#hash_partition_quantity. +PlSqlParserListener.prototype.exitHash_partition_quantity = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#composite_range_partitions. +PlSqlParserListener.prototype.enterComposite_range_partitions = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#composite_range_partitions. +PlSqlParserListener.prototype.exitComposite_range_partitions = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#composite_list_partitions. +PlSqlParserListener.prototype.enterComposite_list_partitions = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#composite_list_partitions. +PlSqlParserListener.prototype.exitComposite_list_partitions = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#composite_hash_partitions. +PlSqlParserListener.prototype.enterComposite_hash_partitions = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#composite_hash_partitions. +PlSqlParserListener.prototype.exitComposite_hash_partitions = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#reference_partitioning. +PlSqlParserListener.prototype.enterReference_partitioning = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#reference_partitioning. +PlSqlParserListener.prototype.exitReference_partitioning = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#reference_partition_desc. +PlSqlParserListener.prototype.enterReference_partition_desc = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#reference_partition_desc. +PlSqlParserListener.prototype.exitReference_partition_desc = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#system_partitioning. +PlSqlParserListener.prototype.enterSystem_partitioning = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#system_partitioning. +PlSqlParserListener.prototype.exitSystem_partitioning = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#range_partition_desc. +PlSqlParserListener.prototype.enterRange_partition_desc = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#range_partition_desc. +PlSqlParserListener.prototype.exitRange_partition_desc = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#list_partition_desc. +PlSqlParserListener.prototype.enterList_partition_desc = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#list_partition_desc. +PlSqlParserListener.prototype.exitList_partition_desc = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subpartition_template. +PlSqlParserListener.prototype.enterSubpartition_template = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subpartition_template. +PlSqlParserListener.prototype.exitSubpartition_template = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#hash_subpartition_quantity. +PlSqlParserListener.prototype.enterHash_subpartition_quantity = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#hash_subpartition_quantity. +PlSqlParserListener.prototype.exitHash_subpartition_quantity = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subpartition_by_range. +PlSqlParserListener.prototype.enterSubpartition_by_range = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subpartition_by_range. +PlSqlParserListener.prototype.exitSubpartition_by_range = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subpartition_by_list. +PlSqlParserListener.prototype.enterSubpartition_by_list = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subpartition_by_list. +PlSqlParserListener.prototype.exitSubpartition_by_list = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subpartition_by_hash. +PlSqlParserListener.prototype.enterSubpartition_by_hash = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subpartition_by_hash. +PlSqlParserListener.prototype.exitSubpartition_by_hash = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subpartition_name. +PlSqlParserListener.prototype.enterSubpartition_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subpartition_name. +PlSqlParserListener.prototype.exitSubpartition_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#range_subpartition_desc. +PlSqlParserListener.prototype.enterRange_subpartition_desc = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#range_subpartition_desc. +PlSqlParserListener.prototype.exitRange_subpartition_desc = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#list_subpartition_desc. +PlSqlParserListener.prototype.enterList_subpartition_desc = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#list_subpartition_desc. +PlSqlParserListener.prototype.exitList_subpartition_desc = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#individual_hash_subparts. +PlSqlParserListener.prototype.enterIndividual_hash_subparts = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#individual_hash_subparts. +PlSqlParserListener.prototype.exitIndividual_hash_subparts = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#hash_subparts_by_quantity. +PlSqlParserListener.prototype.enterHash_subparts_by_quantity = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#hash_subparts_by_quantity. +PlSqlParserListener.prototype.exitHash_subparts_by_quantity = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#range_values_clause. +PlSqlParserListener.prototype.enterRange_values_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#range_values_clause. +PlSqlParserListener.prototype.exitRange_values_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#list_values_clause. +PlSqlParserListener.prototype.enterList_values_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#list_values_clause. +PlSqlParserListener.prototype.exitList_values_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_partition_description. +PlSqlParserListener.prototype.enterTable_partition_description = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_partition_description. +PlSqlParserListener.prototype.exitTable_partition_description = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partitioning_storage_clause. +PlSqlParserListener.prototype.enterPartitioning_storage_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partitioning_storage_clause. +PlSqlParserListener.prototype.exitPartitioning_storage_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_partitioning_storage. +PlSqlParserListener.prototype.enterLob_partitioning_storage = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_partitioning_storage. +PlSqlParserListener.prototype.exitLob_partitioning_storage = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#datatype_null_enable. +PlSqlParserListener.prototype.enterDatatype_null_enable = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#datatype_null_enable. +PlSqlParserListener.prototype.exitDatatype_null_enable = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#size_clause. +PlSqlParserListener.prototype.enterSize_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#size_clause. +PlSqlParserListener.prototype.exitSize_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_compression. +PlSqlParserListener.prototype.enterTable_compression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_compression. +PlSqlParserListener.prototype.exitTable_compression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#physical_attributes_clause. +PlSqlParserListener.prototype.enterPhysical_attributes_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#physical_attributes_clause. +PlSqlParserListener.prototype.exitPhysical_attributes_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#storage_clause. +PlSqlParserListener.prototype.enterStorage_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#storage_clause. +PlSqlParserListener.prototype.exitStorage_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#deferred_segment_creation. +PlSqlParserListener.prototype.enterDeferred_segment_creation = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#deferred_segment_creation. +PlSqlParserListener.prototype.exitDeferred_segment_creation = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#segment_attributes_clause. +PlSqlParserListener.prototype.enterSegment_attributes_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#segment_attributes_clause. +PlSqlParserListener.prototype.exitSegment_attributes_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#physical_properties. +PlSqlParserListener.prototype.enterPhysical_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#physical_properties. +PlSqlParserListener.prototype.exitPhysical_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#row_movement_clause. +PlSqlParserListener.prototype.enterRow_movement_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#row_movement_clause. +PlSqlParserListener.prototype.exitRow_movement_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#flashback_archive_clause. +PlSqlParserListener.prototype.enterFlashback_archive_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#flashback_archive_clause. +PlSqlParserListener.prototype.exitFlashback_archive_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#log_grp. +PlSqlParserListener.prototype.enterLog_grp = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#log_grp. +PlSqlParserListener.prototype.exitLog_grp = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#supplemental_table_logging. +PlSqlParserListener.prototype.enterSupplemental_table_logging = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#supplemental_table_logging. +PlSqlParserListener.prototype.exitSupplemental_table_logging = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#supplemental_log_grp_clause. +PlSqlParserListener.prototype.enterSupplemental_log_grp_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#supplemental_log_grp_clause. +PlSqlParserListener.prototype.exitSupplemental_log_grp_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#supplemental_id_key_clause. +PlSqlParserListener.prototype.enterSupplemental_id_key_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#supplemental_id_key_clause. +PlSqlParserListener.prototype.exitSupplemental_id_key_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#allocate_extent_clause. +PlSqlParserListener.prototype.enterAllocate_extent_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#allocate_extent_clause. +PlSqlParserListener.prototype.exitAllocate_extent_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#deallocate_unused_clause. +PlSqlParserListener.prototype.enterDeallocate_unused_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#deallocate_unused_clause. +PlSqlParserListener.prototype.exitDeallocate_unused_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#shrink_clause. +PlSqlParserListener.prototype.enterShrink_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#shrink_clause. +PlSqlParserListener.prototype.exitShrink_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#records_per_block_clause. +PlSqlParserListener.prototype.enterRecords_per_block_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#records_per_block_clause. +PlSqlParserListener.prototype.exitRecords_per_block_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#upgrade_table_clause. +PlSqlParserListener.prototype.enterUpgrade_table_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#upgrade_table_clause. +PlSqlParserListener.prototype.exitUpgrade_table_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_table. +PlSqlParserListener.prototype.enterDrop_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_table. +PlSqlParserListener.prototype.exitDrop_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_view. +PlSqlParserListener.prototype.enterDrop_view = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_view. +PlSqlParserListener.prototype.exitDrop_view = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#comment_on_column. +PlSqlParserListener.prototype.enterComment_on_column = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#comment_on_column. +PlSqlParserListener.prototype.exitComment_on_column = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#enable_or_disable. +PlSqlParserListener.prototype.enterEnable_or_disable = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#enable_or_disable. +PlSqlParserListener.prototype.exitEnable_or_disable = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#allow_or_disallow. +PlSqlParserListener.prototype.enterAllow_or_disallow = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#allow_or_disallow. +PlSqlParserListener.prototype.exitAllow_or_disallow = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_synonym. +PlSqlParserListener.prototype.enterCreate_synonym = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_synonym. +PlSqlParserListener.prototype.exitCreate_synonym = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#comment_on_table. +PlSqlParserListener.prototype.enterComment_on_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#comment_on_table. +PlSqlParserListener.prototype.exitComment_on_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_cluster. +PlSqlParserListener.prototype.enterAlter_cluster = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_cluster. +PlSqlParserListener.prototype.exitAlter_cluster = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cache_or_nocache. +PlSqlParserListener.prototype.enterCache_or_nocache = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cache_or_nocache. +PlSqlParserListener.prototype.exitCache_or_nocache = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#database_name. +PlSqlParserListener.prototype.enterDatabase_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#database_name. +PlSqlParserListener.prototype.exitDatabase_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_database. +PlSqlParserListener.prototype.enterAlter_database = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_database. +PlSqlParserListener.prototype.exitAlter_database = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#startup_clauses. +PlSqlParserListener.prototype.enterStartup_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#startup_clauses. +PlSqlParserListener.prototype.exitStartup_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#resetlogs_or_noresetlogs. +PlSqlParserListener.prototype.enterResetlogs_or_noresetlogs = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#resetlogs_or_noresetlogs. +PlSqlParserListener.prototype.exitResetlogs_or_noresetlogs = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#upgrade_or_downgrade. +PlSqlParserListener.prototype.enterUpgrade_or_downgrade = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#upgrade_or_downgrade. +PlSqlParserListener.prototype.exitUpgrade_or_downgrade = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#recovery_clauses. +PlSqlParserListener.prototype.enterRecovery_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#recovery_clauses. +PlSqlParserListener.prototype.exitRecovery_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#begin_or_end. +PlSqlParserListener.prototype.enterBegin_or_end = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#begin_or_end. +PlSqlParserListener.prototype.exitBegin_or_end = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#general_recovery. +PlSqlParserListener.prototype.enterGeneral_recovery = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#general_recovery. +PlSqlParserListener.prototype.exitGeneral_recovery = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#full_database_recovery. +PlSqlParserListener.prototype.enterFull_database_recovery = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#full_database_recovery. +PlSqlParserListener.prototype.exitFull_database_recovery = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partial_database_recovery. +PlSqlParserListener.prototype.enterPartial_database_recovery = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partial_database_recovery. +PlSqlParserListener.prototype.exitPartial_database_recovery = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partial_database_recovery_10g. +PlSqlParserListener.prototype.enterPartial_database_recovery_10g = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partial_database_recovery_10g. +PlSqlParserListener.prototype.exitPartial_database_recovery_10g = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#managed_standby_recovery. +PlSqlParserListener.prototype.enterManaged_standby_recovery = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#managed_standby_recovery. +PlSqlParserListener.prototype.exitManaged_standby_recovery = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#db_name. +PlSqlParserListener.prototype.enterDb_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#db_name. +PlSqlParserListener.prototype.exitDb_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#database_file_clauses. +PlSqlParserListener.prototype.enterDatabase_file_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#database_file_clauses. +PlSqlParserListener.prototype.exitDatabase_file_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#create_datafile_clause. +PlSqlParserListener.prototype.enterCreate_datafile_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#create_datafile_clause. +PlSqlParserListener.prototype.exitCreate_datafile_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_datafile_clause. +PlSqlParserListener.prototype.enterAlter_datafile_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_datafile_clause. +PlSqlParserListener.prototype.exitAlter_datafile_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_tempfile_clause. +PlSqlParserListener.prototype.enterAlter_tempfile_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_tempfile_clause. +PlSqlParserListener.prototype.exitAlter_tempfile_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#logfile_clauses. +PlSqlParserListener.prototype.enterLogfile_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#logfile_clauses. +PlSqlParserListener.prototype.exitLogfile_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_logfile_clauses. +PlSqlParserListener.prototype.enterAdd_logfile_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_logfile_clauses. +PlSqlParserListener.prototype.exitAdd_logfile_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#log_file_group. +PlSqlParserListener.prototype.enterLog_file_group = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#log_file_group. +PlSqlParserListener.prototype.exitLog_file_group = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_logfile_clauses. +PlSqlParserListener.prototype.enterDrop_logfile_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_logfile_clauses. +PlSqlParserListener.prototype.exitDrop_logfile_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#switch_logfile_clause. +PlSqlParserListener.prototype.enterSwitch_logfile_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#switch_logfile_clause. +PlSqlParserListener.prototype.exitSwitch_logfile_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#supplemental_db_logging. +PlSqlParserListener.prototype.enterSupplemental_db_logging = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#supplemental_db_logging. +PlSqlParserListener.prototype.exitSupplemental_db_logging = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_or_drop. +PlSqlParserListener.prototype.enterAdd_or_drop = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_or_drop. +PlSqlParserListener.prototype.exitAdd_or_drop = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#supplemental_plsql_clause. +PlSqlParserListener.prototype.enterSupplemental_plsql_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#supplemental_plsql_clause. +PlSqlParserListener.prototype.exitSupplemental_plsql_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#logfile_descriptor. +PlSqlParserListener.prototype.enterLogfile_descriptor = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#logfile_descriptor. +PlSqlParserListener.prototype.exitLogfile_descriptor = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#controlfile_clauses. +PlSqlParserListener.prototype.enterControlfile_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#controlfile_clauses. +PlSqlParserListener.prototype.exitControlfile_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#trace_file_clause. +PlSqlParserListener.prototype.enterTrace_file_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#trace_file_clause. +PlSqlParserListener.prototype.exitTrace_file_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#standby_database_clauses. +PlSqlParserListener.prototype.enterStandby_database_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#standby_database_clauses. +PlSqlParserListener.prototype.exitStandby_database_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#activate_standby_db_clause. +PlSqlParserListener.prototype.enterActivate_standby_db_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#activate_standby_db_clause. +PlSqlParserListener.prototype.exitActivate_standby_db_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#maximize_standby_db_clause. +PlSqlParserListener.prototype.enterMaximize_standby_db_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#maximize_standby_db_clause. +PlSqlParserListener.prototype.exitMaximize_standby_db_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#register_logfile_clause. +PlSqlParserListener.prototype.enterRegister_logfile_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#register_logfile_clause. +PlSqlParserListener.prototype.exitRegister_logfile_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#commit_switchover_clause. +PlSqlParserListener.prototype.enterCommit_switchover_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#commit_switchover_clause. +PlSqlParserListener.prototype.exitCommit_switchover_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#start_standby_clause. +PlSqlParserListener.prototype.enterStart_standby_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#start_standby_clause. +PlSqlParserListener.prototype.exitStart_standby_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#stop_standby_clause. +PlSqlParserListener.prototype.enterStop_standby_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#stop_standby_clause. +PlSqlParserListener.prototype.exitStop_standby_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#convert_database_clause. +PlSqlParserListener.prototype.enterConvert_database_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#convert_database_clause. +PlSqlParserListener.prototype.exitConvert_database_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#default_settings_clause. +PlSqlParserListener.prototype.enterDefault_settings_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#default_settings_clause. +PlSqlParserListener.prototype.exitDefault_settings_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#set_time_zone_clause. +PlSqlParserListener.prototype.enterSet_time_zone_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#set_time_zone_clause. +PlSqlParserListener.prototype.exitSet_time_zone_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#instance_clauses. +PlSqlParserListener.prototype.enterInstance_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#instance_clauses. +PlSqlParserListener.prototype.exitInstance_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#security_clause. +PlSqlParserListener.prototype.enterSecurity_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#security_clause. +PlSqlParserListener.prototype.exitSecurity_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#domain. +PlSqlParserListener.prototype.enterDomain = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#domain. +PlSqlParserListener.prototype.exitDomain = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#database. +PlSqlParserListener.prototype.enterDatabase = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#database. +PlSqlParserListener.prototype.exitDatabase = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#edition_name. +PlSqlParserListener.prototype.enterEdition_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#edition_name. +PlSqlParserListener.prototype.exitEdition_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#filenumber. +PlSqlParserListener.prototype.enterFilenumber = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#filenumber. +PlSqlParserListener.prototype.exitFilenumber = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#filename. +PlSqlParserListener.prototype.enterFilename = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#filename. +PlSqlParserListener.prototype.exitFilename = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_table. +PlSqlParserListener.prototype.enterAlter_table = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_table. +PlSqlParserListener.prototype.exitAlter_table = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_table_properties. +PlSqlParserListener.prototype.enterAlter_table_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_table_properties. +PlSqlParserListener.prototype.exitAlter_table_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_table_properties_1. +PlSqlParserListener.prototype.enterAlter_table_properties_1 = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_table_properties_1. +PlSqlParserListener.prototype.exitAlter_table_properties_1 = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_iot_clauses. +PlSqlParserListener.prototype.enterAlter_iot_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_iot_clauses. +PlSqlParserListener.prototype.exitAlter_iot_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_mapping_table_clause. +PlSqlParserListener.prototype.enterAlter_mapping_table_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_mapping_table_clause. +PlSqlParserListener.prototype.exitAlter_mapping_table_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_overflow_clause. +PlSqlParserListener.prototype.enterAlter_overflow_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_overflow_clause. +PlSqlParserListener.prototype.exitAlter_overflow_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_overflow_clause. +PlSqlParserListener.prototype.enterAdd_overflow_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_overflow_clause. +PlSqlParserListener.prototype.exitAdd_overflow_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#enable_disable_clause. +PlSqlParserListener.prototype.enterEnable_disable_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#enable_disable_clause. +PlSqlParserListener.prototype.exitEnable_disable_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#using_index_clause. +PlSqlParserListener.prototype.enterUsing_index_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#using_index_clause. +PlSqlParserListener.prototype.exitUsing_index_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_attributes. +PlSqlParserListener.prototype.enterIndex_attributes = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_attributes. +PlSqlParserListener.prototype.exitIndex_attributes = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sort_or_nosort. +PlSqlParserListener.prototype.enterSort_or_nosort = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sort_or_nosort. +PlSqlParserListener.prototype.exitSort_or_nosort = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#exceptions_clause. +PlSqlParserListener.prototype.enterExceptions_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#exceptions_clause. +PlSqlParserListener.prototype.exitExceptions_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#move_table_clause. +PlSqlParserListener.prototype.enterMove_table_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#move_table_clause. +PlSqlParserListener.prototype.exitMove_table_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_org_table_clause. +PlSqlParserListener.prototype.enterIndex_org_table_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_org_table_clause. +PlSqlParserListener.prototype.exitIndex_org_table_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#mapping_table_clause. +PlSqlParserListener.prototype.enterMapping_table_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#mapping_table_clause. +PlSqlParserListener.prototype.exitMapping_table_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#key_compression. +PlSqlParserListener.prototype.enterKey_compression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#key_compression. +PlSqlParserListener.prototype.exitKey_compression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_org_overflow_clause. +PlSqlParserListener.prototype.enterIndex_org_overflow_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_org_overflow_clause. +PlSqlParserListener.prototype.exitIndex_org_overflow_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_clauses. +PlSqlParserListener.prototype.enterColumn_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_clauses. +PlSqlParserListener.prototype.exitColumn_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_collection_retrieval. +PlSqlParserListener.prototype.enterModify_collection_retrieval = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_collection_retrieval. +PlSqlParserListener.prototype.exitModify_collection_retrieval = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#collection_item. +PlSqlParserListener.prototype.enterCollection_item = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#collection_item. +PlSqlParserListener.prototype.exitCollection_item = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#rename_column_clause. +PlSqlParserListener.prototype.enterRename_column_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#rename_column_clause. +PlSqlParserListener.prototype.exitRename_column_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#old_column_name. +PlSqlParserListener.prototype.enterOld_column_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#old_column_name. +PlSqlParserListener.prototype.exitOld_column_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#new_column_name. +PlSqlParserListener.prototype.enterNew_column_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#new_column_name. +PlSqlParserListener.prototype.exitNew_column_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_modify_drop_column_clauses. +PlSqlParserListener.prototype.enterAdd_modify_drop_column_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_modify_drop_column_clauses. +PlSqlParserListener.prototype.exitAdd_modify_drop_column_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_column_clause. +PlSqlParserListener.prototype.enterDrop_column_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_column_clause. +PlSqlParserListener.prototype.exitDrop_column_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_column_clauses. +PlSqlParserListener.prototype.enterModify_column_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_column_clauses. +PlSqlParserListener.prototype.exitModify_column_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_col_properties. +PlSqlParserListener.prototype.enterModify_col_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_col_properties. +PlSqlParserListener.prototype.exitModify_col_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_col_substitutable. +PlSqlParserListener.prototype.enterModify_col_substitutable = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_col_substitutable. +PlSqlParserListener.prototype.exitModify_col_substitutable = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_column_clause. +PlSqlParserListener.prototype.enterAdd_column_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_column_clause. +PlSqlParserListener.prototype.exitAdd_column_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#alter_varray_col_properties. +PlSqlParserListener.prototype.enterAlter_varray_col_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#alter_varray_col_properties. +PlSqlParserListener.prototype.exitAlter_varray_col_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#varray_col_properties. +PlSqlParserListener.prototype.enterVarray_col_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#varray_col_properties. +PlSqlParserListener.prototype.exitVarray_col_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#varray_storage_clause. +PlSqlParserListener.prototype.enterVarray_storage_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#varray_storage_clause. +PlSqlParserListener.prototype.exitVarray_storage_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_segname. +PlSqlParserListener.prototype.enterLob_segname = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_segname. +PlSqlParserListener.prototype.exitLob_segname = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_item. +PlSqlParserListener.prototype.enterLob_item = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_item. +PlSqlParserListener.prototype.exitLob_item = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_storage_parameters. +PlSqlParserListener.prototype.enterLob_storage_parameters = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_storage_parameters. +PlSqlParserListener.prototype.exitLob_storage_parameters = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_storage_clause. +PlSqlParserListener.prototype.enterLob_storage_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_storage_clause. +PlSqlParserListener.prototype.exitLob_storage_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_lob_storage_clause. +PlSqlParserListener.prototype.enterModify_lob_storage_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_lob_storage_clause. +PlSqlParserListener.prototype.exitModify_lob_storage_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#modify_lob_parameters. +PlSqlParserListener.prototype.enterModify_lob_parameters = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#modify_lob_parameters. +PlSqlParserListener.prototype.exitModify_lob_parameters = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_parameters. +PlSqlParserListener.prototype.enterLob_parameters = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_parameters. +PlSqlParserListener.prototype.exitLob_parameters = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_deduplicate_clause. +PlSqlParserListener.prototype.enterLob_deduplicate_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_deduplicate_clause. +PlSqlParserListener.prototype.exitLob_deduplicate_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_compression_clause. +PlSqlParserListener.prototype.enterLob_compression_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_compression_clause. +PlSqlParserListener.prototype.exitLob_compression_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lob_retention_clause. +PlSqlParserListener.prototype.enterLob_retention_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lob_retention_clause. +PlSqlParserListener.prototype.exitLob_retention_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#encryption_spec. +PlSqlParserListener.prototype.enterEncryption_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#encryption_spec. +PlSqlParserListener.prototype.exitEncryption_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tablespace. +PlSqlParserListener.prototype.enterTablespace = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tablespace. +PlSqlParserListener.prototype.exitTablespace = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#varray_item. +PlSqlParserListener.prototype.enterVarray_item = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#varray_item. +PlSqlParserListener.prototype.exitVarray_item = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_properties. +PlSqlParserListener.prototype.enterColumn_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_properties. +PlSqlParserListener.prototype.exitColumn_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#period_definition. +PlSqlParserListener.prototype.enterPeriod_definition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#period_definition. +PlSqlParserListener.prototype.exitPeriod_definition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#start_time_column. +PlSqlParserListener.prototype.enterStart_time_column = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#start_time_column. +PlSqlParserListener.prototype.exitStart_time_column = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#end_time_column. +PlSqlParserListener.prototype.enterEnd_time_column = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#end_time_column. +PlSqlParserListener.prototype.exitEnd_time_column = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_definition. +PlSqlParserListener.prototype.enterColumn_definition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_definition. +PlSqlParserListener.prototype.exitColumn_definition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#virtual_column_definition. +PlSqlParserListener.prototype.enterVirtual_column_definition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#virtual_column_definition. +PlSqlParserListener.prototype.exitVirtual_column_definition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#autogenerated_sequence_definition. +PlSqlParserListener.prototype.enterAutogenerated_sequence_definition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#autogenerated_sequence_definition. +PlSqlParserListener.prototype.exitAutogenerated_sequence_definition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#out_of_line_part_storage. +PlSqlParserListener.prototype.enterOut_of_line_part_storage = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#out_of_line_part_storage. +PlSqlParserListener.prototype.exitOut_of_line_part_storage = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#nested_table_col_properties. +PlSqlParserListener.prototype.enterNested_table_col_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#nested_table_col_properties. +PlSqlParserListener.prototype.exitNested_table_col_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#nested_item. +PlSqlParserListener.prototype.enterNested_item = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#nested_item. +PlSqlParserListener.prototype.exitNested_item = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#substitutable_column_clause. +PlSqlParserListener.prototype.enterSubstitutable_column_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#substitutable_column_clause. +PlSqlParserListener.prototype.exitSubstitutable_column_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partition_name. +PlSqlParserListener.prototype.enterPartition_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partition_name. +PlSqlParserListener.prototype.exitPartition_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#supplemental_logging_props. +PlSqlParserListener.prototype.enterSupplemental_logging_props = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#supplemental_logging_props. +PlSqlParserListener.prototype.exitSupplemental_logging_props = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_or_attribute. +PlSqlParserListener.prototype.enterColumn_or_attribute = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_or_attribute. +PlSqlParserListener.prototype.exitColumn_or_attribute = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_type_col_properties. +PlSqlParserListener.prototype.enterObject_type_col_properties = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_type_col_properties. +PlSqlParserListener.prototype.exitObject_type_col_properties = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#constraint_clauses. +PlSqlParserListener.prototype.enterConstraint_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#constraint_clauses. +PlSqlParserListener.prototype.exitConstraint_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#old_constraint_name. +PlSqlParserListener.prototype.enterOld_constraint_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#old_constraint_name. +PlSqlParserListener.prototype.exitOld_constraint_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#new_constraint_name. +PlSqlParserListener.prototype.enterNew_constraint_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#new_constraint_name. +PlSqlParserListener.prototype.exitNew_constraint_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_constraint_clause. +PlSqlParserListener.prototype.enterDrop_constraint_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_constraint_clause. +PlSqlParserListener.prototype.exitDrop_constraint_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_primary_key_or_unique_or_generic_clause. +PlSqlParserListener.prototype.enterDrop_primary_key_or_unique_or_generic_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_primary_key_or_unique_or_generic_clause. +PlSqlParserListener.prototype.exitDrop_primary_key_or_unique_or_generic_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_constraint. +PlSqlParserListener.prototype.enterAdd_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_constraint. +PlSqlParserListener.prototype.exitAdd_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#add_constraint_clause. +PlSqlParserListener.prototype.enterAdd_constraint_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#add_constraint_clause. +PlSqlParserListener.prototype.exitAdd_constraint_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#check_constraint. +PlSqlParserListener.prototype.enterCheck_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#check_constraint. +PlSqlParserListener.prototype.exitCheck_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#drop_constraint. +PlSqlParserListener.prototype.enterDrop_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#drop_constraint. +PlSqlParserListener.prototype.exitDrop_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#enable_constraint. +PlSqlParserListener.prototype.enterEnable_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#enable_constraint. +PlSqlParserListener.prototype.exitEnable_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#disable_constraint. +PlSqlParserListener.prototype.enterDisable_constraint = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#disable_constraint. +PlSqlParserListener.prototype.exitDisable_constraint = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#foreign_key_clause. +PlSqlParserListener.prototype.enterForeign_key_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#foreign_key_clause. +PlSqlParserListener.prototype.exitForeign_key_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#references_clause. +PlSqlParserListener.prototype.enterReferences_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#references_clause. +PlSqlParserListener.prototype.exitReferences_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#on_delete_clause. +PlSqlParserListener.prototype.enterOn_delete_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#on_delete_clause. +PlSqlParserListener.prototype.exitOn_delete_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#unique_key_clause. +PlSqlParserListener.prototype.enterUnique_key_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#unique_key_clause. +PlSqlParserListener.prototype.exitUnique_key_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#primary_key_clause. +PlSqlParserListener.prototype.enterPrimary_key_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#primary_key_clause. +PlSqlParserListener.prototype.exitPrimary_key_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#anonymous_block. +PlSqlParserListener.prototype.enterAnonymous_block = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#anonymous_block. +PlSqlParserListener.prototype.exitAnonymous_block = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#invoker_rights_clause. +PlSqlParserListener.prototype.enterInvoker_rights_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#invoker_rights_clause. +PlSqlParserListener.prototype.exitInvoker_rights_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#call_spec. +PlSqlParserListener.prototype.enterCall_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#call_spec. +PlSqlParserListener.prototype.exitCall_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#java_spec. +PlSqlParserListener.prototype.enterJava_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#java_spec. +PlSqlParserListener.prototype.exitJava_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#c_spec. +PlSqlParserListener.prototype.enterC_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#c_spec. +PlSqlParserListener.prototype.exitC_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#c_agent_in_clause. +PlSqlParserListener.prototype.enterC_agent_in_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#c_agent_in_clause. +PlSqlParserListener.prototype.exitC_agent_in_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#c_parameters_clause. +PlSqlParserListener.prototype.enterC_parameters_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#c_parameters_clause. +PlSqlParserListener.prototype.exitC_parameters_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#parameter. +PlSqlParserListener.prototype.enterParameter = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#parameter. +PlSqlParserListener.prototype.exitParameter = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#default_value_part. +PlSqlParserListener.prototype.enterDefault_value_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#default_value_part. +PlSqlParserListener.prototype.exitDefault_value_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#seq_of_declare_specs. +PlSqlParserListener.prototype.enterSeq_of_declare_specs = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#seq_of_declare_specs. +PlSqlParserListener.prototype.exitSeq_of_declare_specs = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#declare_spec. +PlSqlParserListener.prototype.enterDeclare_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#declare_spec. +PlSqlParserListener.prototype.exitDeclare_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#variable_declaration. +PlSqlParserListener.prototype.enterVariable_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#variable_declaration. +PlSqlParserListener.prototype.exitVariable_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subtype_declaration. +PlSqlParserListener.prototype.enterSubtype_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subtype_declaration. +PlSqlParserListener.prototype.exitSubtype_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cursor_declaration. +PlSqlParserListener.prototype.enterCursor_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cursor_declaration. +PlSqlParserListener.prototype.exitCursor_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#parameter_spec. +PlSqlParserListener.prototype.enterParameter_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#parameter_spec. +PlSqlParserListener.prototype.exitParameter_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#exception_declaration. +PlSqlParserListener.prototype.enterException_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#exception_declaration. +PlSqlParserListener.prototype.exitException_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pragma_declaration. +PlSqlParserListener.prototype.enterPragma_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pragma_declaration. +PlSqlParserListener.prototype.exitPragma_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#record_type_def. +PlSqlParserListener.prototype.enterRecord_type_def = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#record_type_def. +PlSqlParserListener.prototype.exitRecord_type_def = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#field_spec. +PlSqlParserListener.prototype.enterField_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#field_spec. +PlSqlParserListener.prototype.exitField_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#ref_cursor_type_def. +PlSqlParserListener.prototype.enterRef_cursor_type_def = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#ref_cursor_type_def. +PlSqlParserListener.prototype.exitRef_cursor_type_def = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_declaration. +PlSqlParserListener.prototype.enterType_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_declaration. +PlSqlParserListener.prototype.exitType_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_type_def. +PlSqlParserListener.prototype.enterTable_type_def = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_type_def. +PlSqlParserListener.prototype.exitTable_type_def = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_indexed_by_part. +PlSqlParserListener.prototype.enterTable_indexed_by_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_indexed_by_part. +PlSqlParserListener.prototype.exitTable_indexed_by_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#varray_type_def. +PlSqlParserListener.prototype.enterVarray_type_def = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#varray_type_def. +PlSqlParserListener.prototype.exitVarray_type_def = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#seq_of_statements. +PlSqlParserListener.prototype.enterSeq_of_statements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#seq_of_statements. +PlSqlParserListener.prototype.exitSeq_of_statements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#label_declaration. +PlSqlParserListener.prototype.enterLabel_declaration = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#label_declaration. +PlSqlParserListener.prototype.exitLabel_declaration = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#statement. +PlSqlParserListener.prototype.enterStatement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#statement. +PlSqlParserListener.prototype.exitStatement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#swallow_to_semi. +PlSqlParserListener.prototype.enterSwallow_to_semi = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#swallow_to_semi. +PlSqlParserListener.prototype.exitSwallow_to_semi = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#assignment_statement. +PlSqlParserListener.prototype.enterAssignment_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#assignment_statement. +PlSqlParserListener.prototype.exitAssignment_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#continue_statement. +PlSqlParserListener.prototype.enterContinue_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#continue_statement. +PlSqlParserListener.prototype.exitContinue_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#exit_statement. +PlSqlParserListener.prototype.enterExit_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#exit_statement. +PlSqlParserListener.prototype.exitExit_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#goto_statement. +PlSqlParserListener.prototype.enterGoto_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#goto_statement. +PlSqlParserListener.prototype.exitGoto_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#if_statement. +PlSqlParserListener.prototype.enterIf_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#if_statement. +PlSqlParserListener.prototype.exitIf_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#elsif_part. +PlSqlParserListener.prototype.enterElsif_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#elsif_part. +PlSqlParserListener.prototype.exitElsif_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#else_part. +PlSqlParserListener.prototype.enterElse_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#else_part. +PlSqlParserListener.prototype.exitElse_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#loop_statement. +PlSqlParserListener.prototype.enterLoop_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#loop_statement. +PlSqlParserListener.prototype.exitLoop_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cursor_loop_param. +PlSqlParserListener.prototype.enterCursor_loop_param = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cursor_loop_param. +PlSqlParserListener.prototype.exitCursor_loop_param = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#forall_statement. +PlSqlParserListener.prototype.enterForall_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#forall_statement. +PlSqlParserListener.prototype.exitForall_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#bounds_clause. +PlSqlParserListener.prototype.enterBounds_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#bounds_clause. +PlSqlParserListener.prototype.exitBounds_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#between_bound. +PlSqlParserListener.prototype.enterBetween_bound = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#between_bound. +PlSqlParserListener.prototype.exitBetween_bound = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lower_bound. +PlSqlParserListener.prototype.enterLower_bound = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lower_bound. +PlSqlParserListener.prototype.exitLower_bound = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#upper_bound. +PlSqlParserListener.prototype.enterUpper_bound = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#upper_bound. +PlSqlParserListener.prototype.exitUpper_bound = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#null_statement. +PlSqlParserListener.prototype.enterNull_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#null_statement. +PlSqlParserListener.prototype.exitNull_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#raise_statement. +PlSqlParserListener.prototype.enterRaise_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#raise_statement. +PlSqlParserListener.prototype.exitRaise_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#return_statement. +PlSqlParserListener.prototype.enterReturn_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#return_statement. +PlSqlParserListener.prototype.exitReturn_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#function_call. +PlSqlParserListener.prototype.enterFunction_call = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#function_call. +PlSqlParserListener.prototype.exitFunction_call = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#procedure_call. +PlSqlParserListener.prototype.enterProcedure_call = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#procedure_call. +PlSqlParserListener.prototype.exitProcedure_call = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pipe_row_statement. +PlSqlParserListener.prototype.enterPipe_row_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pipe_row_statement. +PlSqlParserListener.prototype.exitPipe_row_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#body. +PlSqlParserListener.prototype.enterBody = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#body. +PlSqlParserListener.prototype.exitBody = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#exception_handler. +PlSqlParserListener.prototype.enterException_handler = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#exception_handler. +PlSqlParserListener.prototype.exitException_handler = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#trigger_block. +PlSqlParserListener.prototype.enterTrigger_block = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#trigger_block. +PlSqlParserListener.prototype.exitTrigger_block = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#block. +PlSqlParserListener.prototype.enterBlock = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#block. +PlSqlParserListener.prototype.exitBlock = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sql_statement. +PlSqlParserListener.prototype.enterSql_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sql_statement. +PlSqlParserListener.prototype.exitSql_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#execute_immediate. +PlSqlParserListener.prototype.enterExecute_immediate = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#execute_immediate. +PlSqlParserListener.prototype.exitExecute_immediate = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#dynamic_returning_clause. +PlSqlParserListener.prototype.enterDynamic_returning_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#dynamic_returning_clause. +PlSqlParserListener.prototype.exitDynamic_returning_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#data_manipulation_language_statements. +PlSqlParserListener.prototype.enterData_manipulation_language_statements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#data_manipulation_language_statements. +PlSqlParserListener.prototype.exitData_manipulation_language_statements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cursor_manipulation_statements. +PlSqlParserListener.prototype.enterCursor_manipulation_statements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cursor_manipulation_statements. +PlSqlParserListener.prototype.exitCursor_manipulation_statements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#close_statement. +PlSqlParserListener.prototype.enterClose_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#close_statement. +PlSqlParserListener.prototype.exitClose_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#open_statement. +PlSqlParserListener.prototype.enterOpen_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#open_statement. +PlSqlParserListener.prototype.exitOpen_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#fetch_statement. +PlSqlParserListener.prototype.enterFetch_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#fetch_statement. +PlSqlParserListener.prototype.exitFetch_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#open_for_statement. +PlSqlParserListener.prototype.enterOpen_for_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#open_for_statement. +PlSqlParserListener.prototype.exitOpen_for_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#transaction_control_statements. +PlSqlParserListener.prototype.enterTransaction_control_statements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#transaction_control_statements. +PlSqlParserListener.prototype.exitTransaction_control_statements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#set_transaction_command. +PlSqlParserListener.prototype.enterSet_transaction_command = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#set_transaction_command. +PlSqlParserListener.prototype.exitSet_transaction_command = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#set_constraint_command. +PlSqlParserListener.prototype.enterSet_constraint_command = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#set_constraint_command. +PlSqlParserListener.prototype.exitSet_constraint_command = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#commit_statement. +PlSqlParserListener.prototype.enterCommit_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#commit_statement. +PlSqlParserListener.prototype.exitCommit_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#write_clause. +PlSqlParserListener.prototype.enterWrite_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#write_clause. +PlSqlParserListener.prototype.exitWrite_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#rollback_statement. +PlSqlParserListener.prototype.enterRollback_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#rollback_statement. +PlSqlParserListener.prototype.exitRollback_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#savepoint_statement. +PlSqlParserListener.prototype.enterSavepoint_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#savepoint_statement. +PlSqlParserListener.prototype.exitSavepoint_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#explain_statement. +PlSqlParserListener.prototype.enterExplain_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#explain_statement. +PlSqlParserListener.prototype.exitExplain_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#select_only_statement. +PlSqlParserListener.prototype.enterSelect_only_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#select_only_statement. +PlSqlParserListener.prototype.exitSelect_only_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#select_statement. +PlSqlParserListener.prototype.enterSelect_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#select_statement. +PlSqlParserListener.prototype.exitSelect_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subquery_factoring_clause. +PlSqlParserListener.prototype.enterSubquery_factoring_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subquery_factoring_clause. +PlSqlParserListener.prototype.exitSubquery_factoring_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#factoring_element. +PlSqlParserListener.prototype.enterFactoring_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#factoring_element. +PlSqlParserListener.prototype.exitFactoring_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#search_clause. +PlSqlParserListener.prototype.enterSearch_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#search_clause. +PlSqlParserListener.prototype.exitSearch_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cycle_clause. +PlSqlParserListener.prototype.enterCycle_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cycle_clause. +PlSqlParserListener.prototype.exitCycle_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subquery. +PlSqlParserListener.prototype.enterSubquery = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subquery. +PlSqlParserListener.prototype.exitSubquery = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subquery_basic_elements. +PlSqlParserListener.prototype.enterSubquery_basic_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subquery_basic_elements. +PlSqlParserListener.prototype.exitSubquery_basic_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subquery_operation_part. +PlSqlParserListener.prototype.enterSubquery_operation_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subquery_operation_part. +PlSqlParserListener.prototype.exitSubquery_operation_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#query_block. +PlSqlParserListener.prototype.enterQuery_block = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#query_block. +PlSqlParserListener.prototype.exitQuery_block = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#selected_list. +PlSqlParserListener.prototype.enterSelected_list = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#selected_list. +PlSqlParserListener.prototype.exitSelected_list = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#from_clause. +PlSqlParserListener.prototype.enterFrom_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#from_clause. +PlSqlParserListener.prototype.exitFrom_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#select_list_elements. +PlSqlParserListener.prototype.enterSelect_list_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#select_list_elements. +PlSqlParserListener.prototype.exitSelect_list_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_ref_list. +PlSqlParserListener.prototype.enterTable_ref_list = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_ref_list. +PlSqlParserListener.prototype.exitTable_ref_list = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_ref. +PlSqlParserListener.prototype.enterTable_ref = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_ref. +PlSqlParserListener.prototype.exitTable_ref = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_ref_aux. +PlSqlParserListener.prototype.enterTable_ref_aux = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_ref_aux. +PlSqlParserListener.prototype.exitTable_ref_aux = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_ref_aux_internal_one. +PlSqlParserListener.prototype.enterTable_ref_aux_internal_one = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_ref_aux_internal_one. +PlSqlParserListener.prototype.exitTable_ref_aux_internal_one = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_ref_aux_internal_two. +PlSqlParserListener.prototype.enterTable_ref_aux_internal_two = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_ref_aux_internal_two. +PlSqlParserListener.prototype.exitTable_ref_aux_internal_two = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_ref_aux_internal_three. +PlSqlParserListener.prototype.enterTable_ref_aux_internal_three = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_ref_aux_internal_three. +PlSqlParserListener.prototype.exitTable_ref_aux_internal_three = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#join_clause. +PlSqlParserListener.prototype.enterJoin_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#join_clause. +PlSqlParserListener.prototype.exitJoin_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#join_on_part. +PlSqlParserListener.prototype.enterJoin_on_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#join_on_part. +PlSqlParserListener.prototype.exitJoin_on_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#join_using_part. +PlSqlParserListener.prototype.enterJoin_using_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#join_using_part. +PlSqlParserListener.prototype.exitJoin_using_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#outer_join_type. +PlSqlParserListener.prototype.enterOuter_join_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#outer_join_type. +PlSqlParserListener.prototype.exitOuter_join_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#query_partition_clause. +PlSqlParserListener.prototype.enterQuery_partition_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#query_partition_clause. +PlSqlParserListener.prototype.exitQuery_partition_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#flashback_query_clause. +PlSqlParserListener.prototype.enterFlashback_query_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#flashback_query_clause. +PlSqlParserListener.prototype.exitFlashback_query_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pivot_clause. +PlSqlParserListener.prototype.enterPivot_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pivot_clause. +PlSqlParserListener.prototype.exitPivot_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pivot_element. +PlSqlParserListener.prototype.enterPivot_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pivot_element. +PlSqlParserListener.prototype.exitPivot_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pivot_for_clause. +PlSqlParserListener.prototype.enterPivot_for_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pivot_for_clause. +PlSqlParserListener.prototype.exitPivot_for_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pivot_in_clause. +PlSqlParserListener.prototype.enterPivot_in_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pivot_in_clause. +PlSqlParserListener.prototype.exitPivot_in_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pivot_in_clause_element. +PlSqlParserListener.prototype.enterPivot_in_clause_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pivot_in_clause_element. +PlSqlParserListener.prototype.exitPivot_in_clause_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#pivot_in_clause_elements. +PlSqlParserListener.prototype.enterPivot_in_clause_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#pivot_in_clause_elements. +PlSqlParserListener.prototype.exitPivot_in_clause_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#unpivot_clause. +PlSqlParserListener.prototype.enterUnpivot_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#unpivot_clause. +PlSqlParserListener.prototype.exitUnpivot_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#unpivot_in_clause. +PlSqlParserListener.prototype.enterUnpivot_in_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#unpivot_in_clause. +PlSqlParserListener.prototype.exitUnpivot_in_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#unpivot_in_elements. +PlSqlParserListener.prototype.enterUnpivot_in_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#unpivot_in_elements. +PlSqlParserListener.prototype.exitUnpivot_in_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#hierarchical_query_clause. +PlSqlParserListener.prototype.enterHierarchical_query_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#hierarchical_query_clause. +PlSqlParserListener.prototype.exitHierarchical_query_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#start_part. +PlSqlParserListener.prototype.enterStart_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#start_part. +PlSqlParserListener.prototype.exitStart_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#group_by_clause. +PlSqlParserListener.prototype.enterGroup_by_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#group_by_clause. +PlSqlParserListener.prototype.exitGroup_by_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#group_by_elements. +PlSqlParserListener.prototype.enterGroup_by_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#group_by_elements. +PlSqlParserListener.prototype.exitGroup_by_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#rollup_cube_clause. +PlSqlParserListener.prototype.enterRollup_cube_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#rollup_cube_clause. +PlSqlParserListener.prototype.exitRollup_cube_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#grouping_sets_clause. +PlSqlParserListener.prototype.enterGrouping_sets_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#grouping_sets_clause. +PlSqlParserListener.prototype.exitGrouping_sets_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#grouping_sets_elements. +PlSqlParserListener.prototype.enterGrouping_sets_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#grouping_sets_elements. +PlSqlParserListener.prototype.exitGrouping_sets_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#having_clause. +PlSqlParserListener.prototype.enterHaving_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#having_clause. +PlSqlParserListener.prototype.exitHaving_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_clause. +PlSqlParserListener.prototype.enterModel_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_clause. +PlSqlParserListener.prototype.exitModel_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cell_reference_options. +PlSqlParserListener.prototype.enterCell_reference_options = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cell_reference_options. +PlSqlParserListener.prototype.exitCell_reference_options = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#return_rows_clause. +PlSqlParserListener.prototype.enterReturn_rows_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#return_rows_clause. +PlSqlParserListener.prototype.exitReturn_rows_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#reference_model. +PlSqlParserListener.prototype.enterReference_model = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#reference_model. +PlSqlParserListener.prototype.exitReference_model = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#main_model. +PlSqlParserListener.prototype.enterMain_model = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#main_model. +PlSqlParserListener.prototype.exitMain_model = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_column_clauses. +PlSqlParserListener.prototype.enterModel_column_clauses = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_column_clauses. +PlSqlParserListener.prototype.exitModel_column_clauses = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_column_partition_part. +PlSqlParserListener.prototype.enterModel_column_partition_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_column_partition_part. +PlSqlParserListener.prototype.exitModel_column_partition_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_column_list. +PlSqlParserListener.prototype.enterModel_column_list = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_column_list. +PlSqlParserListener.prototype.exitModel_column_list = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_column. +PlSqlParserListener.prototype.enterModel_column = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_column. +PlSqlParserListener.prototype.exitModel_column = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_rules_clause. +PlSqlParserListener.prototype.enterModel_rules_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_rules_clause. +PlSqlParserListener.prototype.exitModel_rules_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_rules_part. +PlSqlParserListener.prototype.enterModel_rules_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_rules_part. +PlSqlParserListener.prototype.exitModel_rules_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_rules_element. +PlSqlParserListener.prototype.enterModel_rules_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_rules_element. +PlSqlParserListener.prototype.exitModel_rules_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cell_assignment. +PlSqlParserListener.prototype.enterCell_assignment = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cell_assignment. +PlSqlParserListener.prototype.exitCell_assignment = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_iterate_clause. +PlSqlParserListener.prototype.enterModel_iterate_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_iterate_clause. +PlSqlParserListener.prototype.exitModel_iterate_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#until_part. +PlSqlParserListener.prototype.enterUntil_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#until_part. +PlSqlParserListener.prototype.exitUntil_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#order_by_clause. +PlSqlParserListener.prototype.enterOrder_by_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#order_by_clause. +PlSqlParserListener.prototype.exitOrder_by_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#order_by_elements. +PlSqlParserListener.prototype.enterOrder_by_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#order_by_elements. +PlSqlParserListener.prototype.exitOrder_by_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#offset_clause. +PlSqlParserListener.prototype.enterOffset_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#offset_clause. +PlSqlParserListener.prototype.exitOffset_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#fetch_clause. +PlSqlParserListener.prototype.enterFetch_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#fetch_clause. +PlSqlParserListener.prototype.exitFetch_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#for_update_clause. +PlSqlParserListener.prototype.enterFor_update_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#for_update_clause. +PlSqlParserListener.prototype.exitFor_update_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#for_update_of_part. +PlSqlParserListener.prototype.enterFor_update_of_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#for_update_of_part. +PlSqlParserListener.prototype.exitFor_update_of_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#for_update_options. +PlSqlParserListener.prototype.enterFor_update_options = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#for_update_options. +PlSqlParserListener.prototype.exitFor_update_options = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#update_statement. +PlSqlParserListener.prototype.enterUpdate_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#update_statement. +PlSqlParserListener.prototype.exitUpdate_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#update_set_clause. +PlSqlParserListener.prototype.enterUpdate_set_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#update_set_clause. +PlSqlParserListener.prototype.exitUpdate_set_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_based_update_set_clause. +PlSqlParserListener.prototype.enterColumn_based_update_set_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_based_update_set_clause. +PlSqlParserListener.prototype.exitColumn_based_update_set_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#delete_statement. +PlSqlParserListener.prototype.enterDelete_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#delete_statement. +PlSqlParserListener.prototype.exitDelete_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#insert_statement. +PlSqlParserListener.prototype.enterInsert_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#insert_statement. +PlSqlParserListener.prototype.exitInsert_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#single_table_insert. +PlSqlParserListener.prototype.enterSingle_table_insert = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#single_table_insert. +PlSqlParserListener.prototype.exitSingle_table_insert = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#multi_table_insert. +PlSqlParserListener.prototype.enterMulti_table_insert = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#multi_table_insert. +PlSqlParserListener.prototype.exitMulti_table_insert = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#multi_table_element. +PlSqlParserListener.prototype.enterMulti_table_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#multi_table_element. +PlSqlParserListener.prototype.exitMulti_table_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#conditional_insert_clause. +PlSqlParserListener.prototype.enterConditional_insert_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#conditional_insert_clause. +PlSqlParserListener.prototype.exitConditional_insert_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#conditional_insert_when_part. +PlSqlParserListener.prototype.enterConditional_insert_when_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#conditional_insert_when_part. +PlSqlParserListener.prototype.exitConditional_insert_when_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#conditional_insert_else_part. +PlSqlParserListener.prototype.enterConditional_insert_else_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#conditional_insert_else_part. +PlSqlParserListener.prototype.exitConditional_insert_else_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#insert_into_clause. +PlSqlParserListener.prototype.enterInsert_into_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#insert_into_clause. +PlSqlParserListener.prototype.exitInsert_into_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#values_clause. +PlSqlParserListener.prototype.enterValues_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#values_clause. +PlSqlParserListener.prototype.exitValues_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#merge_statement. +PlSqlParserListener.prototype.enterMerge_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#merge_statement. +PlSqlParserListener.prototype.exitMerge_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#merge_update_clause. +PlSqlParserListener.prototype.enterMerge_update_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#merge_update_clause. +PlSqlParserListener.prototype.exitMerge_update_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#merge_element. +PlSqlParserListener.prototype.enterMerge_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#merge_element. +PlSqlParserListener.prototype.exitMerge_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#merge_update_delete_part. +PlSqlParserListener.prototype.enterMerge_update_delete_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#merge_update_delete_part. +PlSqlParserListener.prototype.exitMerge_update_delete_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#merge_insert_clause. +PlSqlParserListener.prototype.enterMerge_insert_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#merge_insert_clause. +PlSqlParserListener.prototype.exitMerge_insert_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#selected_tableview. +PlSqlParserListener.prototype.enterSelected_tableview = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#selected_tableview. +PlSqlParserListener.prototype.exitSelected_tableview = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lock_table_statement. +PlSqlParserListener.prototype.enterLock_table_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lock_table_statement. +PlSqlParserListener.prototype.exitLock_table_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#wait_nowait_part. +PlSqlParserListener.prototype.enterWait_nowait_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#wait_nowait_part. +PlSqlParserListener.prototype.exitWait_nowait_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lock_table_element. +PlSqlParserListener.prototype.enterLock_table_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lock_table_element. +PlSqlParserListener.prototype.exitLock_table_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#lock_mode. +PlSqlParserListener.prototype.enterLock_mode = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#lock_mode. +PlSqlParserListener.prototype.exitLock_mode = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#general_table_ref. +PlSqlParserListener.prototype.enterGeneral_table_ref = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#general_table_ref. +PlSqlParserListener.prototype.exitGeneral_table_ref = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#static_returning_clause. +PlSqlParserListener.prototype.enterStatic_returning_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#static_returning_clause. +PlSqlParserListener.prototype.exitStatic_returning_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#error_logging_clause. +PlSqlParserListener.prototype.enterError_logging_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#error_logging_clause. +PlSqlParserListener.prototype.exitError_logging_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#error_logging_into_part. +PlSqlParserListener.prototype.enterError_logging_into_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#error_logging_into_part. +PlSqlParserListener.prototype.exitError_logging_into_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#error_logging_reject_part. +PlSqlParserListener.prototype.enterError_logging_reject_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#error_logging_reject_part. +PlSqlParserListener.prototype.exitError_logging_reject_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#dml_table_expression_clause. +PlSqlParserListener.prototype.enterDml_table_expression_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#dml_table_expression_clause. +PlSqlParserListener.prototype.exitDml_table_expression_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_collection_expression. +PlSqlParserListener.prototype.enterTable_collection_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_collection_expression. +PlSqlParserListener.prototype.exitTable_collection_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#subquery_restriction_clause. +PlSqlParserListener.prototype.enterSubquery_restriction_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#subquery_restriction_clause. +PlSqlParserListener.prototype.exitSubquery_restriction_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sample_clause. +PlSqlParserListener.prototype.enterSample_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sample_clause. +PlSqlParserListener.prototype.exitSample_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#seed_part. +PlSqlParserListener.prototype.enterSeed_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#seed_part. +PlSqlParserListener.prototype.exitSeed_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#condition. +PlSqlParserListener.prototype.enterCondition = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#condition. +PlSqlParserListener.prototype.exitCondition = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#expressions. +PlSqlParserListener.prototype.enterExpressions = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#expressions. +PlSqlParserListener.prototype.exitExpressions = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#expression. +PlSqlParserListener.prototype.enterExpression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#expression. +PlSqlParserListener.prototype.exitExpression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cursor_expression. +PlSqlParserListener.prototype.enterCursor_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cursor_expression. +PlSqlParserListener.prototype.exitCursor_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#logical_expression. +PlSqlParserListener.prototype.enterLogical_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#logical_expression. +PlSqlParserListener.prototype.exitLogical_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#unary_logical_expression. +PlSqlParserListener.prototype.enterUnary_logical_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#unary_logical_expression. +PlSqlParserListener.prototype.exitUnary_logical_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#logical_operation. +PlSqlParserListener.prototype.enterLogical_operation = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#logical_operation. +PlSqlParserListener.prototype.exitLogical_operation = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#multiset_expression. +PlSqlParserListener.prototype.enterMultiset_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#multiset_expression. +PlSqlParserListener.prototype.exitMultiset_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#relational_expression. +PlSqlParserListener.prototype.enterRelational_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#relational_expression. +PlSqlParserListener.prototype.exitRelational_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#compound_expression. +PlSqlParserListener.prototype.enterCompound_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#compound_expression. +PlSqlParserListener.prototype.exitCompound_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#relational_operator. +PlSqlParserListener.prototype.enterRelational_operator = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#relational_operator. +PlSqlParserListener.prototype.exitRelational_operator = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#in_elements. +PlSqlParserListener.prototype.enterIn_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#in_elements. +PlSqlParserListener.prototype.exitIn_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#between_elements. +PlSqlParserListener.prototype.enterBetween_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#between_elements. +PlSqlParserListener.prototype.exitBetween_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#concatenation. +PlSqlParserListener.prototype.enterConcatenation = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#concatenation. +PlSqlParserListener.prototype.exitConcatenation = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#interval_expression. +PlSqlParserListener.prototype.enterInterval_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#interval_expression. +PlSqlParserListener.prototype.exitInterval_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_expression. +PlSqlParserListener.prototype.enterModel_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_expression. +PlSqlParserListener.prototype.exitModel_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#model_expression_element. +PlSqlParserListener.prototype.enterModel_expression_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#model_expression_element. +PlSqlParserListener.prototype.exitModel_expression_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#single_column_for_loop. +PlSqlParserListener.prototype.enterSingle_column_for_loop = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#single_column_for_loop. +PlSqlParserListener.prototype.exitSingle_column_for_loop = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#multi_column_for_loop. +PlSqlParserListener.prototype.enterMulti_column_for_loop = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#multi_column_for_loop. +PlSqlParserListener.prototype.exitMulti_column_for_loop = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#unary_expression. +PlSqlParserListener.prototype.enterUnary_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#unary_expression. +PlSqlParserListener.prototype.exitUnary_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#case_statement. +PlSqlParserListener.prototype.enterCase_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#case_statement. +PlSqlParserListener.prototype.exitCase_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#simple_case_statement. +PlSqlParserListener.prototype.enterSimple_case_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#simple_case_statement. +PlSqlParserListener.prototype.exitSimple_case_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#simple_case_when_part. +PlSqlParserListener.prototype.enterSimple_case_when_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#simple_case_when_part. +PlSqlParserListener.prototype.exitSimple_case_when_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#searched_case_statement. +PlSqlParserListener.prototype.enterSearched_case_statement = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#searched_case_statement. +PlSqlParserListener.prototype.exitSearched_case_statement = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#searched_case_when_part. +PlSqlParserListener.prototype.enterSearched_case_when_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#searched_case_when_part. +PlSqlParserListener.prototype.exitSearched_case_when_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#case_else_part. +PlSqlParserListener.prototype.enterCase_else_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#case_else_part. +PlSqlParserListener.prototype.exitCase_else_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#atom. +PlSqlParserListener.prototype.enterAtom = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#atom. +PlSqlParserListener.prototype.exitAtom = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#quantified_expression. +PlSqlParserListener.prototype.enterQuantified_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#quantified_expression. +PlSqlParserListener.prototype.exitQuantified_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#string_function. +PlSqlParserListener.prototype.enterString_function = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#string_function. +PlSqlParserListener.prototype.exitString_function = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#standard_function. +PlSqlParserListener.prototype.enterStandard_function = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#standard_function. +PlSqlParserListener.prototype.exitStandard_function = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#literal. +PlSqlParserListener.prototype.enterLiteral = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#literal. +PlSqlParserListener.prototype.exitLiteral = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#numeric_function_wrapper. +PlSqlParserListener.prototype.enterNumeric_function_wrapper = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#numeric_function_wrapper. +PlSqlParserListener.prototype.exitNumeric_function_wrapper = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#numeric_function. +PlSqlParserListener.prototype.enterNumeric_function = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#numeric_function. +PlSqlParserListener.prototype.exitNumeric_function = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#other_function. +PlSqlParserListener.prototype.enterOther_function = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#other_function. +PlSqlParserListener.prototype.exitOther_function = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#over_clause_keyword. +PlSqlParserListener.prototype.enterOver_clause_keyword = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#over_clause_keyword. +PlSqlParserListener.prototype.exitOver_clause_keyword = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#within_or_over_clause_keyword. +PlSqlParserListener.prototype.enterWithin_or_over_clause_keyword = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#within_or_over_clause_keyword. +PlSqlParserListener.prototype.exitWithin_or_over_clause_keyword = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#standard_prediction_function_keyword. +PlSqlParserListener.prototype.enterStandard_prediction_function_keyword = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#standard_prediction_function_keyword. +PlSqlParserListener.prototype.exitStandard_prediction_function_keyword = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#over_clause. +PlSqlParserListener.prototype.enterOver_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#over_clause. +PlSqlParserListener.prototype.exitOver_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#windowing_clause. +PlSqlParserListener.prototype.enterWindowing_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#windowing_clause. +PlSqlParserListener.prototype.exitWindowing_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#windowing_type. +PlSqlParserListener.prototype.enterWindowing_type = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#windowing_type. +PlSqlParserListener.prototype.exitWindowing_type = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#windowing_elements. +PlSqlParserListener.prototype.enterWindowing_elements = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#windowing_elements. +PlSqlParserListener.prototype.exitWindowing_elements = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#using_clause. +PlSqlParserListener.prototype.enterUsing_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#using_clause. +PlSqlParserListener.prototype.exitUsing_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#using_element. +PlSqlParserListener.prototype.enterUsing_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#using_element. +PlSqlParserListener.prototype.exitUsing_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#collect_order_by_part. +PlSqlParserListener.prototype.enterCollect_order_by_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#collect_order_by_part. +PlSqlParserListener.prototype.exitCollect_order_by_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#within_or_over_part. +PlSqlParserListener.prototype.enterWithin_or_over_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#within_or_over_part. +PlSqlParserListener.prototype.exitWithin_or_over_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cost_matrix_clause. +PlSqlParserListener.prototype.enterCost_matrix_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cost_matrix_clause. +PlSqlParserListener.prototype.exitCost_matrix_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xml_passing_clause. +PlSqlParserListener.prototype.enterXml_passing_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xml_passing_clause. +PlSqlParserListener.prototype.exitXml_passing_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xml_attributes_clause. +PlSqlParserListener.prototype.enterXml_attributes_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xml_attributes_clause. +PlSqlParserListener.prototype.exitXml_attributes_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xml_namespaces_clause. +PlSqlParserListener.prototype.enterXml_namespaces_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xml_namespaces_clause. +PlSqlParserListener.prototype.exitXml_namespaces_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xml_table_column. +PlSqlParserListener.prototype.enterXml_table_column = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xml_table_column. +PlSqlParserListener.prototype.exitXml_table_column = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xml_general_default_part. +PlSqlParserListener.prototype.enterXml_general_default_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xml_general_default_part. +PlSqlParserListener.prototype.exitXml_general_default_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xml_multiuse_expression_element. +PlSqlParserListener.prototype.enterXml_multiuse_expression_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xml_multiuse_expression_element. +PlSqlParserListener.prototype.exitXml_multiuse_expression_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmlroot_param_version_part. +PlSqlParserListener.prototype.enterXmlroot_param_version_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmlroot_param_version_part. +PlSqlParserListener.prototype.exitXmlroot_param_version_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmlroot_param_standalone_part. +PlSqlParserListener.prototype.enterXmlroot_param_standalone_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmlroot_param_standalone_part. +PlSqlParserListener.prototype.exitXmlroot_param_standalone_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmlserialize_param_enconding_part. +PlSqlParserListener.prototype.enterXmlserialize_param_enconding_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmlserialize_param_enconding_part. +PlSqlParserListener.prototype.exitXmlserialize_param_enconding_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmlserialize_param_version_part. +PlSqlParserListener.prototype.enterXmlserialize_param_version_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmlserialize_param_version_part. +PlSqlParserListener.prototype.exitXmlserialize_param_version_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmlserialize_param_ident_part. +PlSqlParserListener.prototype.enterXmlserialize_param_ident_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmlserialize_param_ident_part. +PlSqlParserListener.prototype.exitXmlserialize_param_ident_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sql_plus_command. +PlSqlParserListener.prototype.enterSql_plus_command = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sql_plus_command. +PlSqlParserListener.prototype.exitSql_plus_command = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#whenever_command. +PlSqlParserListener.prototype.enterWhenever_command = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#whenever_command. +PlSqlParserListener.prototype.exitWhenever_command = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#set_command. +PlSqlParserListener.prototype.enterSet_command = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#set_command. +PlSqlParserListener.prototype.exitSet_command = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#partition_extension_clause. +PlSqlParserListener.prototype.enterPartition_extension_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#partition_extension_clause. +PlSqlParserListener.prototype.exitPartition_extension_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_alias. +PlSqlParserListener.prototype.enterColumn_alias = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_alias. +PlSqlParserListener.prototype.exitColumn_alias = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_alias. +PlSqlParserListener.prototype.enterTable_alias = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_alias. +PlSqlParserListener.prototype.exitTable_alias = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#where_clause. +PlSqlParserListener.prototype.enterWhere_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#where_clause. +PlSqlParserListener.prototype.exitWhere_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#into_clause. +PlSqlParserListener.prototype.enterInto_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#into_clause. +PlSqlParserListener.prototype.exitInto_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xml_column_name. +PlSqlParserListener.prototype.enterXml_column_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xml_column_name. +PlSqlParserListener.prototype.exitXml_column_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cost_class_name. +PlSqlParserListener.prototype.enterCost_class_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cost_class_name. +PlSqlParserListener.prototype.exitCost_class_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#attribute_name. +PlSqlParserListener.prototype.enterAttribute_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#attribute_name. +PlSqlParserListener.prototype.exitAttribute_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#savepoint_name. +PlSqlParserListener.prototype.enterSavepoint_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#savepoint_name. +PlSqlParserListener.prototype.exitSavepoint_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#rollback_segment_name. +PlSqlParserListener.prototype.enterRollback_segment_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#rollback_segment_name. +PlSqlParserListener.prototype.exitRollback_segment_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_var_name. +PlSqlParserListener.prototype.enterTable_var_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_var_name. +PlSqlParserListener.prototype.exitTable_var_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#schema_name. +PlSqlParserListener.prototype.enterSchema_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#schema_name. +PlSqlParserListener.prototype.exitSchema_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#routine_name. +PlSqlParserListener.prototype.enterRoutine_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#routine_name. +PlSqlParserListener.prototype.exitRoutine_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#package_name. +PlSqlParserListener.prototype.enterPackage_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#package_name. +PlSqlParserListener.prototype.exitPackage_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#implementation_type_name. +PlSqlParserListener.prototype.enterImplementation_type_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#implementation_type_name. +PlSqlParserListener.prototype.exitImplementation_type_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#parameter_name. +PlSqlParserListener.prototype.enterParameter_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#parameter_name. +PlSqlParserListener.prototype.exitParameter_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#reference_model_name. +PlSqlParserListener.prototype.enterReference_model_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#reference_model_name. +PlSqlParserListener.prototype.exitReference_model_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#main_model_name. +PlSqlParserListener.prototype.enterMain_model_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#main_model_name. +PlSqlParserListener.prototype.exitMain_model_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#container_tableview_name. +PlSqlParserListener.prototype.enterContainer_tableview_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#container_tableview_name. +PlSqlParserListener.prototype.exitContainer_tableview_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#aggregate_function_name. +PlSqlParserListener.prototype.enterAggregate_function_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#aggregate_function_name. +PlSqlParserListener.prototype.exitAggregate_function_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#query_name. +PlSqlParserListener.prototype.enterQuery_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#query_name. +PlSqlParserListener.prototype.exitQuery_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#grantee_name. +PlSqlParserListener.prototype.enterGrantee_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#grantee_name. +PlSqlParserListener.prototype.exitGrantee_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#role_name. +PlSqlParserListener.prototype.enterRole_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#role_name. +PlSqlParserListener.prototype.exitRole_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#constraint_name. +PlSqlParserListener.prototype.enterConstraint_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#constraint_name. +PlSqlParserListener.prototype.exitConstraint_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#label_name. +PlSqlParserListener.prototype.enterLabel_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#label_name. +PlSqlParserListener.prototype.exitLabel_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_name. +PlSqlParserListener.prototype.enterType_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_name. +PlSqlParserListener.prototype.exitType_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#sequence_name. +PlSqlParserListener.prototype.enterSequence_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#sequence_name. +PlSqlParserListener.prototype.exitSequence_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#exception_name. +PlSqlParserListener.prototype.enterException_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#exception_name. +PlSqlParserListener.prototype.exitException_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#function_name. +PlSqlParserListener.prototype.enterFunction_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#function_name. +PlSqlParserListener.prototype.exitFunction_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#procedure_name. +PlSqlParserListener.prototype.enterProcedure_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#procedure_name. +PlSqlParserListener.prototype.exitProcedure_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#trigger_name. +PlSqlParserListener.prototype.enterTrigger_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#trigger_name. +PlSqlParserListener.prototype.exitTrigger_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#variable_name. +PlSqlParserListener.prototype.enterVariable_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#variable_name. +PlSqlParserListener.prototype.exitVariable_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#index_name. +PlSqlParserListener.prototype.enterIndex_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#index_name. +PlSqlParserListener.prototype.exitIndex_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#cursor_name. +PlSqlParserListener.prototype.enterCursor_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#cursor_name. +PlSqlParserListener.prototype.exitCursor_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#record_name. +PlSqlParserListener.prototype.enterRecord_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#record_name. +PlSqlParserListener.prototype.exitRecord_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#collection_name. +PlSqlParserListener.prototype.enterCollection_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#collection_name. +PlSqlParserListener.prototype.exitCollection_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#link_name. +PlSqlParserListener.prototype.enterLink_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#link_name. +PlSqlParserListener.prototype.exitLink_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_name. +PlSqlParserListener.prototype.enterColumn_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_name. +PlSqlParserListener.prototype.exitColumn_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#tableview_name. +PlSqlParserListener.prototype.enterTableview_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#tableview_name. +PlSqlParserListener.prototype.exitTableview_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#xmltable. +PlSqlParserListener.prototype.enterXmltable = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#xmltable. +PlSqlParserListener.prototype.exitXmltable = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#char_set_name. +PlSqlParserListener.prototype.enterChar_set_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#char_set_name. +PlSqlParserListener.prototype.exitChar_set_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#synonym_name. +PlSqlParserListener.prototype.enterSynonym_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#synonym_name. +PlSqlParserListener.prototype.exitSynonym_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#schema_object_name. +PlSqlParserListener.prototype.enterSchema_object_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#schema_object_name. +PlSqlParserListener.prototype.exitSchema_object_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#dir_object_name. +PlSqlParserListener.prototype.enterDir_object_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#dir_object_name. +PlSqlParserListener.prototype.exitDir_object_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#user_object_name. +PlSqlParserListener.prototype.enterUser_object_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#user_object_name. +PlSqlParserListener.prototype.exitUser_object_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#grant_object_name. +PlSqlParserListener.prototype.enterGrant_object_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#grant_object_name. +PlSqlParserListener.prototype.exitGrant_object_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#column_list. +PlSqlParserListener.prototype.enterColumn_list = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#column_list. +PlSqlParserListener.prototype.exitColumn_list = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#paren_column_list. +PlSqlParserListener.prototype.enterParen_column_list = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#paren_column_list. +PlSqlParserListener.prototype.exitParen_column_list = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#keep_clause. +PlSqlParserListener.prototype.enterKeep_clause = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#keep_clause. +PlSqlParserListener.prototype.exitKeep_clause = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#function_argument. +PlSqlParserListener.prototype.enterFunction_argument = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#function_argument. +PlSqlParserListener.prototype.exitFunction_argument = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#function_argument_analytic. +PlSqlParserListener.prototype.enterFunction_argument_analytic = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#function_argument_analytic. +PlSqlParserListener.prototype.exitFunction_argument_analytic = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#function_argument_modeling. +PlSqlParserListener.prototype.enterFunction_argument_modeling = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#function_argument_modeling. +PlSqlParserListener.prototype.exitFunction_argument_modeling = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#respect_or_ignore_nulls. +PlSqlParserListener.prototype.enterRespect_or_ignore_nulls = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#respect_or_ignore_nulls. +PlSqlParserListener.prototype.exitRespect_or_ignore_nulls = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#argument. +PlSqlParserListener.prototype.enterArgument = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#argument. +PlSqlParserListener.prototype.exitArgument = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#type_spec. +PlSqlParserListener.prototype.enterType_spec = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#type_spec. +PlSqlParserListener.prototype.exitType_spec = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#datatype. +PlSqlParserListener.prototype.enterDatatype = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#datatype. +PlSqlParserListener.prototype.exitDatatype = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#precision_part. +PlSqlParserListener.prototype.enterPrecision_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#precision_part. +PlSqlParserListener.prototype.exitPrecision_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#native_datatype_element. +PlSqlParserListener.prototype.enterNative_datatype_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#native_datatype_element. +PlSqlParserListener.prototype.exitNative_datatype_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#bind_variable. +PlSqlParserListener.prototype.enterBind_variable = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#bind_variable. +PlSqlParserListener.prototype.exitBind_variable = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#general_element. +PlSqlParserListener.prototype.enterGeneral_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#general_element. +PlSqlParserListener.prototype.exitGeneral_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#general_element_part. +PlSqlParserListener.prototype.enterGeneral_element_part = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#general_element_part. +PlSqlParserListener.prototype.exitGeneral_element_part = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#table_element. +PlSqlParserListener.prototype.enterTable_element = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#table_element. +PlSqlParserListener.prototype.exitTable_element = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#object_privilege. +PlSqlParserListener.prototype.enterObject_privilege = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#object_privilege. +PlSqlParserListener.prototype.exitObject_privilege = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#system_privilege. +PlSqlParserListener.prototype.enterSystem_privilege = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#system_privilege. +PlSqlParserListener.prototype.exitSystem_privilege = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#constant. +PlSqlParserListener.prototype.enterConstant = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#constant. +PlSqlParserListener.prototype.exitConstant = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#numeric. +PlSqlParserListener.prototype.enterNumeric = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#numeric. +PlSqlParserListener.prototype.exitNumeric = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#numeric_negative. +PlSqlParserListener.prototype.enterNumeric_negative = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#numeric_negative. +PlSqlParserListener.prototype.exitNumeric_negative = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#quoted_string. +PlSqlParserListener.prototype.enterQuoted_string = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#quoted_string. +PlSqlParserListener.prototype.exitQuoted_string = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#identifier. +PlSqlParserListener.prototype.enterIdentifier = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#identifier. +PlSqlParserListener.prototype.exitIdentifier = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#id_expression. +PlSqlParserListener.prototype.enterId_expression = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#id_expression. +PlSqlParserListener.prototype.exitId_expression = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#outer_join_sign. +PlSqlParserListener.prototype.enterOuter_join_sign = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#outer_join_sign. +PlSqlParserListener.prototype.exitOuter_join_sign = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#regular_id. +PlSqlParserListener.prototype.enterRegular_id = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#regular_id. +PlSqlParserListener.prototype.exitRegular_id = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#non_reserved_keywords_in_12c. +PlSqlParserListener.prototype.enterNon_reserved_keywords_in_12c = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#non_reserved_keywords_in_12c. +PlSqlParserListener.prototype.exitNon_reserved_keywords_in_12c = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#non_reserved_keywords_pre12c. +PlSqlParserListener.prototype.enterNon_reserved_keywords_pre12c = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#non_reserved_keywords_pre12c. +PlSqlParserListener.prototype.exitNon_reserved_keywords_pre12c = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#string_function_name. +PlSqlParserListener.prototype.enterString_function_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#string_function_name. +PlSqlParserListener.prototype.exitString_function_name = function(ctx) { +}; + + +// Enter a parse tree produced by PlSqlParser#numeric_function_name. +PlSqlParserListener.prototype.enterNumeric_function_name = function(ctx) { +}; + +// Exit a parse tree produced by PlSqlParser#numeric_function_name. +PlSqlParserListener.prototype.exitNumeric_function_name = function(ctx) { +}; + + + +exports.PlSqlParserListener = PlSqlParserListener; \ No newline at end of file diff --git a/src/lib/plsql/PlSqlParserVisitor.js b/src/lib/plsql/PlSqlParserVisitor.js new file mode 100644 index 0000000..eb089b8 --- /dev/null +++ b/src/lib/plsql/PlSqlParserVisitor.js @@ -0,0 +1,4534 @@ +// Generated from /Users/ziv/Workspace/dt-sql-parser/src/grammar/plsql/PlSqlParser.g4 by ANTLR 4.8 +// jshint ignore: start +var antlr4 = require('antlr4/index'); + +// This class defines a complete generic visitor for a parse tree produced by PlSqlParser. + +function PlSqlParserVisitor() { + antlr4.tree.ParseTreeVisitor.call(this); + return this; +} + +PlSqlParserVisitor.prototype = Object.create(antlr4.tree.ParseTreeVisitor.prototype); +PlSqlParserVisitor.prototype.constructor = PlSqlParserVisitor; + +// Visit a parse tree produced by PlSqlParser#program. +PlSqlParserVisitor.prototype.visitProgram = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sql_script. +PlSqlParserVisitor.prototype.visitSql_script = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#unit_statement. +PlSqlParserVisitor.prototype.visitUnit_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_function. +PlSqlParserVisitor.prototype.visitDrop_function = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_function. +PlSqlParserVisitor.prototype.visitAlter_function = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_function_body. +PlSqlParserVisitor.prototype.visitCreate_function_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#parallel_enable_clause. +PlSqlParserVisitor.prototype.visitParallel_enable_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partition_by_clause. +PlSqlParserVisitor.prototype.visitPartition_by_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#result_cache_clause. +PlSqlParserVisitor.prototype.visitResult_cache_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#relies_on_part. +PlSqlParserVisitor.prototype.visitRelies_on_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#streaming_clause. +PlSqlParserVisitor.prototype.visitStreaming_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_package. +PlSqlParserVisitor.prototype.visitDrop_package = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_package. +PlSqlParserVisitor.prototype.visitAlter_package = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_package. +PlSqlParserVisitor.prototype.visitCreate_package = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_package_body. +PlSqlParserVisitor.prototype.visitCreate_package_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#package_obj_spec. +PlSqlParserVisitor.prototype.visitPackage_obj_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#procedure_spec. +PlSqlParserVisitor.prototype.visitProcedure_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#function_spec. +PlSqlParserVisitor.prototype.visitFunction_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#package_obj_body. +PlSqlParserVisitor.prototype.visitPackage_obj_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_procedure. +PlSqlParserVisitor.prototype.visitDrop_procedure = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_procedure. +PlSqlParserVisitor.prototype.visitAlter_procedure = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#function_body. +PlSqlParserVisitor.prototype.visitFunction_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#procedure_body. +PlSqlParserVisitor.prototype.visitProcedure_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_procedure_body. +PlSqlParserVisitor.prototype.visitCreate_procedure_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_trigger. +PlSqlParserVisitor.prototype.visitDrop_trigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_trigger. +PlSqlParserVisitor.prototype.visitAlter_trigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_trigger. +PlSqlParserVisitor.prototype.visitCreate_trigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#trigger_follows_clause. +PlSqlParserVisitor.prototype.visitTrigger_follows_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#trigger_when_clause. +PlSqlParserVisitor.prototype.visitTrigger_when_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#simple_dml_trigger. +PlSqlParserVisitor.prototype.visitSimple_dml_trigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#for_each_row. +PlSqlParserVisitor.prototype.visitFor_each_row = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#compound_dml_trigger. +PlSqlParserVisitor.prototype.visitCompound_dml_trigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#non_dml_trigger. +PlSqlParserVisitor.prototype.visitNon_dml_trigger = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#trigger_body. +PlSqlParserVisitor.prototype.visitTrigger_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#routine_clause. +PlSqlParserVisitor.prototype.visitRoutine_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#compound_trigger_block. +PlSqlParserVisitor.prototype.visitCompound_trigger_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#timing_point_section. +PlSqlParserVisitor.prototype.visitTiming_point_section = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#non_dml_event. +PlSqlParserVisitor.prototype.visitNon_dml_event = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#dml_event_clause. +PlSqlParserVisitor.prototype.visitDml_event_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#dml_event_element. +PlSqlParserVisitor.prototype.visitDml_event_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#dml_event_nested_clause. +PlSqlParserVisitor.prototype.visitDml_event_nested_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#referencing_clause. +PlSqlParserVisitor.prototype.visitReferencing_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#referencing_element. +PlSqlParserVisitor.prototype.visitReferencing_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_type. +PlSqlParserVisitor.prototype.visitDrop_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_type. +PlSqlParserVisitor.prototype.visitAlter_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#compile_type_clause. +PlSqlParserVisitor.prototype.visitCompile_type_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#replace_type_clause. +PlSqlParserVisitor.prototype.visitReplace_type_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_method_spec. +PlSqlParserVisitor.prototype.visitAlter_method_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_method_element. +PlSqlParserVisitor.prototype.visitAlter_method_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_attribute_definition. +PlSqlParserVisitor.prototype.visitAlter_attribute_definition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#attribute_definition. +PlSqlParserVisitor.prototype.visitAttribute_definition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_collection_clauses. +PlSqlParserVisitor.prototype.visitAlter_collection_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#dependent_handling_clause. +PlSqlParserVisitor.prototype.visitDependent_handling_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#dependent_exceptions_part. +PlSqlParserVisitor.prototype.visitDependent_exceptions_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_type. +PlSqlParserVisitor.prototype.visitCreate_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_definition. +PlSqlParserVisitor.prototype.visitType_definition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_type_def. +PlSqlParserVisitor.prototype.visitObject_type_def = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_as_part. +PlSqlParserVisitor.prototype.visitObject_as_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_under_part. +PlSqlParserVisitor.prototype.visitObject_under_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#nested_table_type_def. +PlSqlParserVisitor.prototype.visitNested_table_type_def = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sqlj_object_type. +PlSqlParserVisitor.prototype.visitSqlj_object_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_body. +PlSqlParserVisitor.prototype.visitType_body = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_body_elements. +PlSqlParserVisitor.prototype.visitType_body_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#map_order_func_declaration. +PlSqlParserVisitor.prototype.visitMap_order_func_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subprog_decl_in_type. +PlSqlParserVisitor.prototype.visitSubprog_decl_in_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#proc_decl_in_type. +PlSqlParserVisitor.prototype.visitProc_decl_in_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#func_decl_in_type. +PlSqlParserVisitor.prototype.visitFunc_decl_in_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#constructor_declaration. +PlSqlParserVisitor.prototype.visitConstructor_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modifier_clause. +PlSqlParserVisitor.prototype.visitModifier_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_member_spec. +PlSqlParserVisitor.prototype.visitObject_member_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sqlj_object_type_attr. +PlSqlParserVisitor.prototype.visitSqlj_object_type_attr = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#element_spec. +PlSqlParserVisitor.prototype.visitElement_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#element_spec_options. +PlSqlParserVisitor.prototype.visitElement_spec_options = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subprogram_spec. +PlSqlParserVisitor.prototype.visitSubprogram_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#overriding_subprogram_spec. +PlSqlParserVisitor.prototype.visitOverriding_subprogram_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#overriding_function_spec. +PlSqlParserVisitor.prototype.visitOverriding_function_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_procedure_spec. +PlSqlParserVisitor.prototype.visitType_procedure_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_function_spec. +PlSqlParserVisitor.prototype.visitType_function_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#constructor_spec. +PlSqlParserVisitor.prototype.visitConstructor_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#map_order_function_spec. +PlSqlParserVisitor.prototype.visitMap_order_function_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pragma_clause. +PlSqlParserVisitor.prototype.visitPragma_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pragma_elements. +PlSqlParserVisitor.prototype.visitPragma_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_elements_parameter. +PlSqlParserVisitor.prototype.visitType_elements_parameter = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_sequence. +PlSqlParserVisitor.prototype.visitDrop_sequence = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_sequence. +PlSqlParserVisitor.prototype.visitAlter_sequence = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_session. +PlSqlParserVisitor.prototype.visitAlter_session = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_session_set_clause. +PlSqlParserVisitor.prototype.visitAlter_session_set_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_sequence. +PlSqlParserVisitor.prototype.visitCreate_sequence = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sequence_spec. +PlSqlParserVisitor.prototype.visitSequence_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sequence_start_clause. +PlSqlParserVisitor.prototype.visitSequence_start_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_index. +PlSqlParserVisitor.prototype.visitCreate_index = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cluster_index_clause. +PlSqlParserVisitor.prototype.visitCluster_index_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cluster_name. +PlSqlParserVisitor.prototype.visitCluster_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_index_clause. +PlSqlParserVisitor.prototype.visitTable_index_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#bitmap_join_index_clause. +PlSqlParserVisitor.prototype.visitBitmap_join_index_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_expr. +PlSqlParserVisitor.prototype.visitIndex_expr = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_properties. +PlSqlParserVisitor.prototype.visitIndex_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#domain_index_clause. +PlSqlParserVisitor.prototype.visitDomain_index_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#local_domain_index_clause. +PlSqlParserVisitor.prototype.visitLocal_domain_index_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmlindex_clause. +PlSqlParserVisitor.prototype.visitXmlindex_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#local_xmlindex_clause. +PlSqlParserVisitor.prototype.visitLocal_xmlindex_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#global_partitioned_index. +PlSqlParserVisitor.prototype.visitGlobal_partitioned_index = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_partitioning_clause. +PlSqlParserVisitor.prototype.visitIndex_partitioning_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#local_partitioned_index. +PlSqlParserVisitor.prototype.visitLocal_partitioned_index = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#on_range_partitioned_table. +PlSqlParserVisitor.prototype.visitOn_range_partitioned_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#on_list_partitioned_table. +PlSqlParserVisitor.prototype.visitOn_list_partitioned_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partitioned_table. +PlSqlParserVisitor.prototype.visitPartitioned_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#on_hash_partitioned_table. +PlSqlParserVisitor.prototype.visitOn_hash_partitioned_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#on_hash_partitioned_clause. +PlSqlParserVisitor.prototype.visitOn_hash_partitioned_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#on_comp_partitioned_table. +PlSqlParserVisitor.prototype.visitOn_comp_partitioned_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#on_comp_partitioned_clause. +PlSqlParserVisitor.prototype.visitOn_comp_partitioned_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_subpartition_clause. +PlSqlParserVisitor.prototype.visitIndex_subpartition_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_subpartition_subclause. +PlSqlParserVisitor.prototype.visitIndex_subpartition_subclause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#odci_parameters. +PlSqlParserVisitor.prototype.visitOdci_parameters = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#indextype. +PlSqlParserVisitor.prototype.visitIndextype = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_index. +PlSqlParserVisitor.prototype.visitAlter_index = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_index_ops_set1. +PlSqlParserVisitor.prototype.visitAlter_index_ops_set1 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_index_ops_set2. +PlSqlParserVisitor.prototype.visitAlter_index_ops_set2 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#visible_or_invisible. +PlSqlParserVisitor.prototype.visitVisible_or_invisible = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#monitoring_nomonitoring. +PlSqlParserVisitor.prototype.visitMonitoring_nomonitoring = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#rebuild_clause. +PlSqlParserVisitor.prototype.visitRebuild_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_index_partitioning. +PlSqlParserVisitor.prototype.visitAlter_index_partitioning = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_index_default_attrs. +PlSqlParserVisitor.prototype.visitModify_index_default_attrs = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_hash_index_partition. +PlSqlParserVisitor.prototype.visitAdd_hash_index_partition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#coalesce_index_partition. +PlSqlParserVisitor.prototype.visitCoalesce_index_partition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_index_partition. +PlSqlParserVisitor.prototype.visitModify_index_partition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_index_partitions_ops. +PlSqlParserVisitor.prototype.visitModify_index_partitions_ops = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#rename_index_partition. +PlSqlParserVisitor.prototype.visitRename_index_partition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_index_partition. +PlSqlParserVisitor.prototype.visitDrop_index_partition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#split_index_partition. +PlSqlParserVisitor.prototype.visitSplit_index_partition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_partition_description. +PlSqlParserVisitor.prototype.visitIndex_partition_description = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_index_subpartition. +PlSqlParserVisitor.prototype.visitModify_index_subpartition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partition_name_old. +PlSqlParserVisitor.prototype.visitPartition_name_old = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#new_partition_name. +PlSqlParserVisitor.prototype.visitNew_partition_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#new_index_name. +PlSqlParserVisitor.prototype.visitNew_index_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_user. +PlSqlParserVisitor.prototype.visitCreate_user = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_user. +PlSqlParserVisitor.prototype.visitAlter_user = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_identified_by. +PlSqlParserVisitor.prototype.visitAlter_identified_by = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#identified_by. +PlSqlParserVisitor.prototype.visitIdentified_by = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#identified_other_clause. +PlSqlParserVisitor.prototype.visitIdentified_other_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#user_tablespace_clause. +PlSqlParserVisitor.prototype.visitUser_tablespace_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#quota_clause. +PlSqlParserVisitor.prototype.visitQuota_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#profile_clause. +PlSqlParserVisitor.prototype.visitProfile_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#role_clause. +PlSqlParserVisitor.prototype.visitRole_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#user_default_role_clause. +PlSqlParserVisitor.prototype.visitUser_default_role_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#password_expire_clause. +PlSqlParserVisitor.prototype.visitPassword_expire_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#user_lock_clause. +PlSqlParserVisitor.prototype.visitUser_lock_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#user_editions_clause. +PlSqlParserVisitor.prototype.visitUser_editions_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_user_editions_clause. +PlSqlParserVisitor.prototype.visitAlter_user_editions_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#proxy_clause. +PlSqlParserVisitor.prototype.visitProxy_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#container_names. +PlSqlParserVisitor.prototype.visitContainer_names = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#set_container_data. +PlSqlParserVisitor.prototype.visitSet_container_data = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_rem_container_data. +PlSqlParserVisitor.prototype.visitAdd_rem_container_data = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#container_data_clause. +PlSqlParserVisitor.prototype.visitContainer_data_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#analyze. +PlSqlParserVisitor.prototype.visitAnalyze = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partition_extention_clause. +PlSqlParserVisitor.prototype.visitPartition_extention_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#validation_clauses. +PlSqlParserVisitor.prototype.visitValidation_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#online_or_offline. +PlSqlParserVisitor.prototype.visitOnline_or_offline = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#into_clause1. +PlSqlParserVisitor.prototype.visitInto_clause1 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partition_key_value. +PlSqlParserVisitor.prototype.visitPartition_key_value = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subpartition_key_value. +PlSqlParserVisitor.prototype.visitSubpartition_key_value = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#associate_statistics. +PlSqlParserVisitor.prototype.visitAssociate_statistics = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_association. +PlSqlParserVisitor.prototype.visitColumn_association = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#function_association. +PlSqlParserVisitor.prototype.visitFunction_association = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#indextype_name. +PlSqlParserVisitor.prototype.visitIndextype_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#using_statistics_type. +PlSqlParserVisitor.prototype.visitUsing_statistics_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#statistics_type_name. +PlSqlParserVisitor.prototype.visitStatistics_type_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#default_cost_clause. +PlSqlParserVisitor.prototype.visitDefault_cost_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cpu_cost. +PlSqlParserVisitor.prototype.visitCpu_cost = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#io_cost. +PlSqlParserVisitor.prototype.visitIo_cost = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#network_cost. +PlSqlParserVisitor.prototype.visitNetwork_cost = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#default_selectivity_clause. +PlSqlParserVisitor.prototype.visitDefault_selectivity_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#default_selectivity. +PlSqlParserVisitor.prototype.visitDefault_selectivity = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#storage_table_clause. +PlSqlParserVisitor.prototype.visitStorage_table_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#unified_auditing. +PlSqlParserVisitor.prototype.visitUnified_auditing = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#policy_name. +PlSqlParserVisitor.prototype.visitPolicy_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#audit_traditional. +PlSqlParserVisitor.prototype.visitAudit_traditional = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#audit_direct_path. +PlSqlParserVisitor.prototype.visitAudit_direct_path = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#audit_container_clause. +PlSqlParserVisitor.prototype.visitAudit_container_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#audit_operation_clause. +PlSqlParserVisitor.prototype.visitAudit_operation_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#auditing_by_clause. +PlSqlParserVisitor.prototype.visitAuditing_by_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#audit_user. +PlSqlParserVisitor.prototype.visitAudit_user = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#audit_schema_object_clause. +PlSqlParserVisitor.prototype.visitAudit_schema_object_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sql_operation. +PlSqlParserVisitor.prototype.visitSql_operation = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#auditing_on_clause. +PlSqlParserVisitor.prototype.visitAuditing_on_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_name. +PlSqlParserVisitor.prototype.visitModel_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_name. +PlSqlParserVisitor.prototype.visitObject_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#profile_name. +PlSqlParserVisitor.prototype.visitProfile_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sql_statement_shortcut. +PlSqlParserVisitor.prototype.visitSql_statement_shortcut = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_index. +PlSqlParserVisitor.prototype.visitDrop_index = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#rename_object. +PlSqlParserVisitor.prototype.visitRename_object = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#grant_statement. +PlSqlParserVisitor.prototype.visitGrant_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#container_clause. +PlSqlParserVisitor.prototype.visitContainer_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_directory. +PlSqlParserVisitor.prototype.visitCreate_directory = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#directory_name. +PlSqlParserVisitor.prototype.visitDirectory_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#directory_path. +PlSqlParserVisitor.prototype.visitDirectory_path = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_library. +PlSqlParserVisitor.prototype.visitAlter_library = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#library_editionable. +PlSqlParserVisitor.prototype.visitLibrary_editionable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#library_debug. +PlSqlParserVisitor.prototype.visitLibrary_debug = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#compiler_parameters_clause. +PlSqlParserVisitor.prototype.visitCompiler_parameters_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#parameter_value. +PlSqlParserVisitor.prototype.visitParameter_value = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#library_name. +PlSqlParserVisitor.prototype.visitLibrary_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_view. +PlSqlParserVisitor.prototype.visitAlter_view = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_view_editionable. +PlSqlParserVisitor.prototype.visitAlter_view_editionable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_view. +PlSqlParserVisitor.prototype.visitCreate_view = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#view_options. +PlSqlParserVisitor.prototype.visitView_options = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#view_alias_constraint. +PlSqlParserVisitor.prototype.visitView_alias_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_view_clause. +PlSqlParserVisitor.prototype.visitObject_view_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#inline_constraint. +PlSqlParserVisitor.prototype.visitInline_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#inline_ref_constraint. +PlSqlParserVisitor.prototype.visitInline_ref_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#out_of_line_ref_constraint. +PlSqlParserVisitor.prototype.visitOut_of_line_ref_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#out_of_line_constraint. +PlSqlParserVisitor.prototype.visitOut_of_line_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#constraint_state. +PlSqlParserVisitor.prototype.visitConstraint_state = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_tablespace. +PlSqlParserVisitor.prototype.visitAlter_tablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#datafile_tempfile_clauses. +PlSqlParserVisitor.prototype.visitDatafile_tempfile_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tablespace_logging_clauses. +PlSqlParserVisitor.prototype.visitTablespace_logging_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tablespace_group_clause. +PlSqlParserVisitor.prototype.visitTablespace_group_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tablespace_group_name. +PlSqlParserVisitor.prototype.visitTablespace_group_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tablespace_state_clauses. +PlSqlParserVisitor.prototype.visitTablespace_state_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#flashback_mode_clause. +PlSqlParserVisitor.prototype.visitFlashback_mode_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#new_tablespace_name. +PlSqlParserVisitor.prototype.visitNew_tablespace_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_tablespace. +PlSqlParserVisitor.prototype.visitCreate_tablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#permanent_tablespace_clause. +PlSqlParserVisitor.prototype.visitPermanent_tablespace_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tablespace_encryption_spec. +PlSqlParserVisitor.prototype.visitTablespace_encryption_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#logging_clause. +PlSqlParserVisitor.prototype.visitLogging_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#extent_management_clause. +PlSqlParserVisitor.prototype.visitExtent_management_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#segment_management_clause. +PlSqlParserVisitor.prototype.visitSegment_management_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#temporary_tablespace_clause. +PlSqlParserVisitor.prototype.visitTemporary_tablespace_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#undo_tablespace_clause. +PlSqlParserVisitor.prototype.visitUndo_tablespace_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tablespace_retention_clause. +PlSqlParserVisitor.prototype.visitTablespace_retention_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#datafile_specification. +PlSqlParserVisitor.prototype.visitDatafile_specification = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tempfile_specification. +PlSqlParserVisitor.prototype.visitTempfile_specification = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#datafile_tempfile_spec. +PlSqlParserVisitor.prototype.visitDatafile_tempfile_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#redo_log_file_spec. +PlSqlParserVisitor.prototype.visitRedo_log_file_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#autoextend_clause. +PlSqlParserVisitor.prototype.visitAutoextend_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#maxsize_clause. +PlSqlParserVisitor.prototype.visitMaxsize_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#build_clause. +PlSqlParserVisitor.prototype.visitBuild_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#parallel_clause. +PlSqlParserVisitor.prototype.visitParallel_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_materialized_view. +PlSqlParserVisitor.prototype.visitAlter_materialized_view = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_mv_option1. +PlSqlParserVisitor.prototype.visitAlter_mv_option1 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_mv_refresh. +PlSqlParserVisitor.prototype.visitAlter_mv_refresh = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#rollback_segment. +PlSqlParserVisitor.prototype.visitRollback_segment = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_mv_column_clause. +PlSqlParserVisitor.prototype.visitModify_mv_column_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_materialized_view_log. +PlSqlParserVisitor.prototype.visitAlter_materialized_view_log = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_mv_log_column_clause. +PlSqlParserVisitor.prototype.visitAdd_mv_log_column_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#move_mv_log_clause. +PlSqlParserVisitor.prototype.visitMove_mv_log_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#mv_log_augmentation. +PlSqlParserVisitor.prototype.visitMv_log_augmentation = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#datetime_expr. +PlSqlParserVisitor.prototype.visitDatetime_expr = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#interval_expr. +PlSqlParserVisitor.prototype.visitInterval_expr = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#synchronous_or_asynchronous. +PlSqlParserVisitor.prototype.visitSynchronous_or_asynchronous = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#including_or_excluding. +PlSqlParserVisitor.prototype.visitIncluding_or_excluding = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_materialized_view_log. +PlSqlParserVisitor.prototype.visitCreate_materialized_view_log = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#new_values_clause. +PlSqlParserVisitor.prototype.visitNew_values_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#mv_log_purge_clause. +PlSqlParserVisitor.prototype.visitMv_log_purge_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_materialized_view. +PlSqlParserVisitor.prototype.visitCreate_materialized_view = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_mv_refresh. +PlSqlParserVisitor.prototype.visitCreate_mv_refresh = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_context. +PlSqlParserVisitor.prototype.visitCreate_context = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#oracle_namespace. +PlSqlParserVisitor.prototype.visitOracle_namespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_cluster. +PlSqlParserVisitor.prototype.visitCreate_cluster = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_table. +PlSqlParserVisitor.prototype.visitCreate_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmltype_table. +PlSqlParserVisitor.prototype.visitXmltype_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmltype_virtual_columns. +PlSqlParserVisitor.prototype.visitXmltype_virtual_columns = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmltype_column_properties. +PlSqlParserVisitor.prototype.visitXmltype_column_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmltype_storage. +PlSqlParserVisitor.prototype.visitXmltype_storage = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmlschema_spec. +PlSqlParserVisitor.prototype.visitXmlschema_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_table. +PlSqlParserVisitor.prototype.visitObject_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#oid_index_clause. +PlSqlParserVisitor.prototype.visitOid_index_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#oid_clause. +PlSqlParserVisitor.prototype.visitOid_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_properties. +PlSqlParserVisitor.prototype.visitObject_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_table_substitution. +PlSqlParserVisitor.prototype.visitObject_table_substitution = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#relational_table. +PlSqlParserVisitor.prototype.visitRelational_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#relational_property. +PlSqlParserVisitor.prototype.visitRelational_property = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_partitioning_clauses. +PlSqlParserVisitor.prototype.visitTable_partitioning_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#range_partitions. +PlSqlParserVisitor.prototype.visitRange_partitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#list_partitions. +PlSqlParserVisitor.prototype.visitList_partitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#hash_partitions. +PlSqlParserVisitor.prototype.visitHash_partitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#individual_hash_partitions. +PlSqlParserVisitor.prototype.visitIndividual_hash_partitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#hash_partitions_by_quantity. +PlSqlParserVisitor.prototype.visitHash_partitions_by_quantity = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#hash_partition_quantity. +PlSqlParserVisitor.prototype.visitHash_partition_quantity = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#composite_range_partitions. +PlSqlParserVisitor.prototype.visitComposite_range_partitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#composite_list_partitions. +PlSqlParserVisitor.prototype.visitComposite_list_partitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#composite_hash_partitions. +PlSqlParserVisitor.prototype.visitComposite_hash_partitions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#reference_partitioning. +PlSqlParserVisitor.prototype.visitReference_partitioning = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#reference_partition_desc. +PlSqlParserVisitor.prototype.visitReference_partition_desc = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#system_partitioning. +PlSqlParserVisitor.prototype.visitSystem_partitioning = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#range_partition_desc. +PlSqlParserVisitor.prototype.visitRange_partition_desc = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#list_partition_desc. +PlSqlParserVisitor.prototype.visitList_partition_desc = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subpartition_template. +PlSqlParserVisitor.prototype.visitSubpartition_template = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#hash_subpartition_quantity. +PlSqlParserVisitor.prototype.visitHash_subpartition_quantity = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subpartition_by_range. +PlSqlParserVisitor.prototype.visitSubpartition_by_range = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subpartition_by_list. +PlSqlParserVisitor.prototype.visitSubpartition_by_list = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subpartition_by_hash. +PlSqlParserVisitor.prototype.visitSubpartition_by_hash = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subpartition_name. +PlSqlParserVisitor.prototype.visitSubpartition_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#range_subpartition_desc. +PlSqlParserVisitor.prototype.visitRange_subpartition_desc = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#list_subpartition_desc. +PlSqlParserVisitor.prototype.visitList_subpartition_desc = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#individual_hash_subparts. +PlSqlParserVisitor.prototype.visitIndividual_hash_subparts = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#hash_subparts_by_quantity. +PlSqlParserVisitor.prototype.visitHash_subparts_by_quantity = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#range_values_clause. +PlSqlParserVisitor.prototype.visitRange_values_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#list_values_clause. +PlSqlParserVisitor.prototype.visitList_values_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_partition_description. +PlSqlParserVisitor.prototype.visitTable_partition_description = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partitioning_storage_clause. +PlSqlParserVisitor.prototype.visitPartitioning_storage_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_partitioning_storage. +PlSqlParserVisitor.prototype.visitLob_partitioning_storage = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#datatype_null_enable. +PlSqlParserVisitor.prototype.visitDatatype_null_enable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#size_clause. +PlSqlParserVisitor.prototype.visitSize_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_compression. +PlSqlParserVisitor.prototype.visitTable_compression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#physical_attributes_clause. +PlSqlParserVisitor.prototype.visitPhysical_attributes_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#storage_clause. +PlSqlParserVisitor.prototype.visitStorage_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#deferred_segment_creation. +PlSqlParserVisitor.prototype.visitDeferred_segment_creation = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#segment_attributes_clause. +PlSqlParserVisitor.prototype.visitSegment_attributes_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#physical_properties. +PlSqlParserVisitor.prototype.visitPhysical_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#row_movement_clause. +PlSqlParserVisitor.prototype.visitRow_movement_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#flashback_archive_clause. +PlSqlParserVisitor.prototype.visitFlashback_archive_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#log_grp. +PlSqlParserVisitor.prototype.visitLog_grp = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#supplemental_table_logging. +PlSqlParserVisitor.prototype.visitSupplemental_table_logging = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#supplemental_log_grp_clause. +PlSqlParserVisitor.prototype.visitSupplemental_log_grp_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#supplemental_id_key_clause. +PlSqlParserVisitor.prototype.visitSupplemental_id_key_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#allocate_extent_clause. +PlSqlParserVisitor.prototype.visitAllocate_extent_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#deallocate_unused_clause. +PlSqlParserVisitor.prototype.visitDeallocate_unused_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#shrink_clause. +PlSqlParserVisitor.prototype.visitShrink_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#records_per_block_clause. +PlSqlParserVisitor.prototype.visitRecords_per_block_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#upgrade_table_clause. +PlSqlParserVisitor.prototype.visitUpgrade_table_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_table. +PlSqlParserVisitor.prototype.visitDrop_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_view. +PlSqlParserVisitor.prototype.visitDrop_view = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#comment_on_column. +PlSqlParserVisitor.prototype.visitComment_on_column = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#enable_or_disable. +PlSqlParserVisitor.prototype.visitEnable_or_disable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#allow_or_disallow. +PlSqlParserVisitor.prototype.visitAllow_or_disallow = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_synonym. +PlSqlParserVisitor.prototype.visitCreate_synonym = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#comment_on_table. +PlSqlParserVisitor.prototype.visitComment_on_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_cluster. +PlSqlParserVisitor.prototype.visitAlter_cluster = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cache_or_nocache. +PlSqlParserVisitor.prototype.visitCache_or_nocache = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#database_name. +PlSqlParserVisitor.prototype.visitDatabase_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_database. +PlSqlParserVisitor.prototype.visitAlter_database = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#startup_clauses. +PlSqlParserVisitor.prototype.visitStartup_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#resetlogs_or_noresetlogs. +PlSqlParserVisitor.prototype.visitResetlogs_or_noresetlogs = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#upgrade_or_downgrade. +PlSqlParserVisitor.prototype.visitUpgrade_or_downgrade = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#recovery_clauses. +PlSqlParserVisitor.prototype.visitRecovery_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#begin_or_end. +PlSqlParserVisitor.prototype.visitBegin_or_end = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#general_recovery. +PlSqlParserVisitor.prototype.visitGeneral_recovery = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#full_database_recovery. +PlSqlParserVisitor.prototype.visitFull_database_recovery = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partial_database_recovery. +PlSqlParserVisitor.prototype.visitPartial_database_recovery = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partial_database_recovery_10g. +PlSqlParserVisitor.prototype.visitPartial_database_recovery_10g = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#managed_standby_recovery. +PlSqlParserVisitor.prototype.visitManaged_standby_recovery = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#db_name. +PlSqlParserVisitor.prototype.visitDb_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#database_file_clauses. +PlSqlParserVisitor.prototype.visitDatabase_file_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#create_datafile_clause. +PlSqlParserVisitor.prototype.visitCreate_datafile_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_datafile_clause. +PlSqlParserVisitor.prototype.visitAlter_datafile_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_tempfile_clause. +PlSqlParserVisitor.prototype.visitAlter_tempfile_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#logfile_clauses. +PlSqlParserVisitor.prototype.visitLogfile_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_logfile_clauses. +PlSqlParserVisitor.prototype.visitAdd_logfile_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#log_file_group. +PlSqlParserVisitor.prototype.visitLog_file_group = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_logfile_clauses. +PlSqlParserVisitor.prototype.visitDrop_logfile_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#switch_logfile_clause. +PlSqlParserVisitor.prototype.visitSwitch_logfile_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#supplemental_db_logging. +PlSqlParserVisitor.prototype.visitSupplemental_db_logging = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_or_drop. +PlSqlParserVisitor.prototype.visitAdd_or_drop = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#supplemental_plsql_clause. +PlSqlParserVisitor.prototype.visitSupplemental_plsql_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#logfile_descriptor. +PlSqlParserVisitor.prototype.visitLogfile_descriptor = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#controlfile_clauses. +PlSqlParserVisitor.prototype.visitControlfile_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#trace_file_clause. +PlSqlParserVisitor.prototype.visitTrace_file_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#standby_database_clauses. +PlSqlParserVisitor.prototype.visitStandby_database_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#activate_standby_db_clause. +PlSqlParserVisitor.prototype.visitActivate_standby_db_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#maximize_standby_db_clause. +PlSqlParserVisitor.prototype.visitMaximize_standby_db_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#register_logfile_clause. +PlSqlParserVisitor.prototype.visitRegister_logfile_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#commit_switchover_clause. +PlSqlParserVisitor.prototype.visitCommit_switchover_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#start_standby_clause. +PlSqlParserVisitor.prototype.visitStart_standby_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#stop_standby_clause. +PlSqlParserVisitor.prototype.visitStop_standby_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#convert_database_clause. +PlSqlParserVisitor.prototype.visitConvert_database_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#default_settings_clause. +PlSqlParserVisitor.prototype.visitDefault_settings_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#set_time_zone_clause. +PlSqlParserVisitor.prototype.visitSet_time_zone_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#instance_clauses. +PlSqlParserVisitor.prototype.visitInstance_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#security_clause. +PlSqlParserVisitor.prototype.visitSecurity_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#domain. +PlSqlParserVisitor.prototype.visitDomain = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#database. +PlSqlParserVisitor.prototype.visitDatabase = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#edition_name. +PlSqlParserVisitor.prototype.visitEdition_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#filenumber. +PlSqlParserVisitor.prototype.visitFilenumber = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#filename. +PlSqlParserVisitor.prototype.visitFilename = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_table. +PlSqlParserVisitor.prototype.visitAlter_table = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_table_properties. +PlSqlParserVisitor.prototype.visitAlter_table_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_table_properties_1. +PlSqlParserVisitor.prototype.visitAlter_table_properties_1 = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_iot_clauses. +PlSqlParserVisitor.prototype.visitAlter_iot_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_mapping_table_clause. +PlSqlParserVisitor.prototype.visitAlter_mapping_table_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_overflow_clause. +PlSqlParserVisitor.prototype.visitAlter_overflow_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_overflow_clause. +PlSqlParserVisitor.prototype.visitAdd_overflow_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#enable_disable_clause. +PlSqlParserVisitor.prototype.visitEnable_disable_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#using_index_clause. +PlSqlParserVisitor.prototype.visitUsing_index_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_attributes. +PlSqlParserVisitor.prototype.visitIndex_attributes = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sort_or_nosort. +PlSqlParserVisitor.prototype.visitSort_or_nosort = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#exceptions_clause. +PlSqlParserVisitor.prototype.visitExceptions_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#move_table_clause. +PlSqlParserVisitor.prototype.visitMove_table_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_org_table_clause. +PlSqlParserVisitor.prototype.visitIndex_org_table_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#mapping_table_clause. +PlSqlParserVisitor.prototype.visitMapping_table_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#key_compression. +PlSqlParserVisitor.prototype.visitKey_compression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_org_overflow_clause. +PlSqlParserVisitor.prototype.visitIndex_org_overflow_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_clauses. +PlSqlParserVisitor.prototype.visitColumn_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_collection_retrieval. +PlSqlParserVisitor.prototype.visitModify_collection_retrieval = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#collection_item. +PlSqlParserVisitor.prototype.visitCollection_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#rename_column_clause. +PlSqlParserVisitor.prototype.visitRename_column_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#old_column_name. +PlSqlParserVisitor.prototype.visitOld_column_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#new_column_name. +PlSqlParserVisitor.prototype.visitNew_column_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_modify_drop_column_clauses. +PlSqlParserVisitor.prototype.visitAdd_modify_drop_column_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_column_clause. +PlSqlParserVisitor.prototype.visitDrop_column_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_column_clauses. +PlSqlParserVisitor.prototype.visitModify_column_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_col_properties. +PlSqlParserVisitor.prototype.visitModify_col_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_col_substitutable. +PlSqlParserVisitor.prototype.visitModify_col_substitutable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_column_clause. +PlSqlParserVisitor.prototype.visitAdd_column_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#alter_varray_col_properties. +PlSqlParserVisitor.prototype.visitAlter_varray_col_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#varray_col_properties. +PlSqlParserVisitor.prototype.visitVarray_col_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#varray_storage_clause. +PlSqlParserVisitor.prototype.visitVarray_storage_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_segname. +PlSqlParserVisitor.prototype.visitLob_segname = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_item. +PlSqlParserVisitor.prototype.visitLob_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_storage_parameters. +PlSqlParserVisitor.prototype.visitLob_storage_parameters = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_storage_clause. +PlSqlParserVisitor.prototype.visitLob_storage_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_lob_storage_clause. +PlSqlParserVisitor.prototype.visitModify_lob_storage_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#modify_lob_parameters. +PlSqlParserVisitor.prototype.visitModify_lob_parameters = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_parameters. +PlSqlParserVisitor.prototype.visitLob_parameters = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_deduplicate_clause. +PlSqlParserVisitor.prototype.visitLob_deduplicate_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_compression_clause. +PlSqlParserVisitor.prototype.visitLob_compression_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lob_retention_clause. +PlSqlParserVisitor.prototype.visitLob_retention_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#encryption_spec. +PlSqlParserVisitor.prototype.visitEncryption_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tablespace. +PlSqlParserVisitor.prototype.visitTablespace = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#varray_item. +PlSqlParserVisitor.prototype.visitVarray_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_properties. +PlSqlParserVisitor.prototype.visitColumn_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#period_definition. +PlSqlParserVisitor.prototype.visitPeriod_definition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#start_time_column. +PlSqlParserVisitor.prototype.visitStart_time_column = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#end_time_column. +PlSqlParserVisitor.prototype.visitEnd_time_column = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_definition. +PlSqlParserVisitor.prototype.visitColumn_definition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#virtual_column_definition. +PlSqlParserVisitor.prototype.visitVirtual_column_definition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#autogenerated_sequence_definition. +PlSqlParserVisitor.prototype.visitAutogenerated_sequence_definition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#out_of_line_part_storage. +PlSqlParserVisitor.prototype.visitOut_of_line_part_storage = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#nested_table_col_properties. +PlSqlParserVisitor.prototype.visitNested_table_col_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#nested_item. +PlSqlParserVisitor.prototype.visitNested_item = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#substitutable_column_clause. +PlSqlParserVisitor.prototype.visitSubstitutable_column_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partition_name. +PlSqlParserVisitor.prototype.visitPartition_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#supplemental_logging_props. +PlSqlParserVisitor.prototype.visitSupplemental_logging_props = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_or_attribute. +PlSqlParserVisitor.prototype.visitColumn_or_attribute = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_type_col_properties. +PlSqlParserVisitor.prototype.visitObject_type_col_properties = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#constraint_clauses. +PlSqlParserVisitor.prototype.visitConstraint_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#old_constraint_name. +PlSqlParserVisitor.prototype.visitOld_constraint_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#new_constraint_name. +PlSqlParserVisitor.prototype.visitNew_constraint_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_constraint_clause. +PlSqlParserVisitor.prototype.visitDrop_constraint_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_primary_key_or_unique_or_generic_clause. +PlSqlParserVisitor.prototype.visitDrop_primary_key_or_unique_or_generic_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_constraint. +PlSqlParserVisitor.prototype.visitAdd_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#add_constraint_clause. +PlSqlParserVisitor.prototype.visitAdd_constraint_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#check_constraint. +PlSqlParserVisitor.prototype.visitCheck_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#drop_constraint. +PlSqlParserVisitor.prototype.visitDrop_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#enable_constraint. +PlSqlParserVisitor.prototype.visitEnable_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#disable_constraint. +PlSqlParserVisitor.prototype.visitDisable_constraint = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#foreign_key_clause. +PlSqlParserVisitor.prototype.visitForeign_key_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#references_clause. +PlSqlParserVisitor.prototype.visitReferences_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#on_delete_clause. +PlSqlParserVisitor.prototype.visitOn_delete_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#unique_key_clause. +PlSqlParserVisitor.prototype.visitUnique_key_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#primary_key_clause. +PlSqlParserVisitor.prototype.visitPrimary_key_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#anonymous_block. +PlSqlParserVisitor.prototype.visitAnonymous_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#invoker_rights_clause. +PlSqlParserVisitor.prototype.visitInvoker_rights_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#call_spec. +PlSqlParserVisitor.prototype.visitCall_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#java_spec. +PlSqlParserVisitor.prototype.visitJava_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#c_spec. +PlSqlParserVisitor.prototype.visitC_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#c_agent_in_clause. +PlSqlParserVisitor.prototype.visitC_agent_in_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#c_parameters_clause. +PlSqlParserVisitor.prototype.visitC_parameters_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#parameter. +PlSqlParserVisitor.prototype.visitParameter = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#default_value_part. +PlSqlParserVisitor.prototype.visitDefault_value_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#seq_of_declare_specs. +PlSqlParserVisitor.prototype.visitSeq_of_declare_specs = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#declare_spec. +PlSqlParserVisitor.prototype.visitDeclare_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#variable_declaration. +PlSqlParserVisitor.prototype.visitVariable_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subtype_declaration. +PlSqlParserVisitor.prototype.visitSubtype_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cursor_declaration. +PlSqlParserVisitor.prototype.visitCursor_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#parameter_spec. +PlSqlParserVisitor.prototype.visitParameter_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#exception_declaration. +PlSqlParserVisitor.prototype.visitException_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pragma_declaration. +PlSqlParserVisitor.prototype.visitPragma_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#record_type_def. +PlSqlParserVisitor.prototype.visitRecord_type_def = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#field_spec. +PlSqlParserVisitor.prototype.visitField_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#ref_cursor_type_def. +PlSqlParserVisitor.prototype.visitRef_cursor_type_def = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_declaration. +PlSqlParserVisitor.prototype.visitType_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_type_def. +PlSqlParserVisitor.prototype.visitTable_type_def = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_indexed_by_part. +PlSqlParserVisitor.prototype.visitTable_indexed_by_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#varray_type_def. +PlSqlParserVisitor.prototype.visitVarray_type_def = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#seq_of_statements. +PlSqlParserVisitor.prototype.visitSeq_of_statements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#label_declaration. +PlSqlParserVisitor.prototype.visitLabel_declaration = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#statement. +PlSqlParserVisitor.prototype.visitStatement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#swallow_to_semi. +PlSqlParserVisitor.prototype.visitSwallow_to_semi = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#assignment_statement. +PlSqlParserVisitor.prototype.visitAssignment_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#continue_statement. +PlSqlParserVisitor.prototype.visitContinue_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#exit_statement. +PlSqlParserVisitor.prototype.visitExit_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#goto_statement. +PlSqlParserVisitor.prototype.visitGoto_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#if_statement. +PlSqlParserVisitor.prototype.visitIf_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#elsif_part. +PlSqlParserVisitor.prototype.visitElsif_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#else_part. +PlSqlParserVisitor.prototype.visitElse_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#loop_statement. +PlSqlParserVisitor.prototype.visitLoop_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cursor_loop_param. +PlSqlParserVisitor.prototype.visitCursor_loop_param = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#forall_statement. +PlSqlParserVisitor.prototype.visitForall_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#bounds_clause. +PlSqlParserVisitor.prototype.visitBounds_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#between_bound. +PlSqlParserVisitor.prototype.visitBetween_bound = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lower_bound. +PlSqlParserVisitor.prototype.visitLower_bound = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#upper_bound. +PlSqlParserVisitor.prototype.visitUpper_bound = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#null_statement. +PlSqlParserVisitor.prototype.visitNull_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#raise_statement. +PlSqlParserVisitor.prototype.visitRaise_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#return_statement. +PlSqlParserVisitor.prototype.visitReturn_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#function_call. +PlSqlParserVisitor.prototype.visitFunction_call = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#procedure_call. +PlSqlParserVisitor.prototype.visitProcedure_call = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pipe_row_statement. +PlSqlParserVisitor.prototype.visitPipe_row_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#body. +PlSqlParserVisitor.prototype.visitBody = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#exception_handler. +PlSqlParserVisitor.prototype.visitException_handler = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#trigger_block. +PlSqlParserVisitor.prototype.visitTrigger_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#block. +PlSqlParserVisitor.prototype.visitBlock = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sql_statement. +PlSqlParserVisitor.prototype.visitSql_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#execute_immediate. +PlSqlParserVisitor.prototype.visitExecute_immediate = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#dynamic_returning_clause. +PlSqlParserVisitor.prototype.visitDynamic_returning_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#data_manipulation_language_statements. +PlSqlParserVisitor.prototype.visitData_manipulation_language_statements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cursor_manipulation_statements. +PlSqlParserVisitor.prototype.visitCursor_manipulation_statements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#close_statement. +PlSqlParserVisitor.prototype.visitClose_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#open_statement. +PlSqlParserVisitor.prototype.visitOpen_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#fetch_statement. +PlSqlParserVisitor.prototype.visitFetch_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#open_for_statement. +PlSqlParserVisitor.prototype.visitOpen_for_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#transaction_control_statements. +PlSqlParserVisitor.prototype.visitTransaction_control_statements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#set_transaction_command. +PlSqlParserVisitor.prototype.visitSet_transaction_command = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#set_constraint_command. +PlSqlParserVisitor.prototype.visitSet_constraint_command = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#commit_statement. +PlSqlParserVisitor.prototype.visitCommit_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#write_clause. +PlSqlParserVisitor.prototype.visitWrite_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#rollback_statement. +PlSqlParserVisitor.prototype.visitRollback_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#savepoint_statement. +PlSqlParserVisitor.prototype.visitSavepoint_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#explain_statement. +PlSqlParserVisitor.prototype.visitExplain_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#select_only_statement. +PlSqlParserVisitor.prototype.visitSelect_only_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#select_statement. +PlSqlParserVisitor.prototype.visitSelect_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subquery_factoring_clause. +PlSqlParserVisitor.prototype.visitSubquery_factoring_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#factoring_element. +PlSqlParserVisitor.prototype.visitFactoring_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#search_clause. +PlSqlParserVisitor.prototype.visitSearch_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cycle_clause. +PlSqlParserVisitor.prototype.visitCycle_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subquery. +PlSqlParserVisitor.prototype.visitSubquery = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subquery_basic_elements. +PlSqlParserVisitor.prototype.visitSubquery_basic_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subquery_operation_part. +PlSqlParserVisitor.prototype.visitSubquery_operation_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#query_block. +PlSqlParserVisitor.prototype.visitQuery_block = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#selected_list. +PlSqlParserVisitor.prototype.visitSelected_list = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#from_clause. +PlSqlParserVisitor.prototype.visitFrom_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#select_list_elements. +PlSqlParserVisitor.prototype.visitSelect_list_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_ref_list. +PlSqlParserVisitor.prototype.visitTable_ref_list = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_ref. +PlSqlParserVisitor.prototype.visitTable_ref = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_ref_aux. +PlSqlParserVisitor.prototype.visitTable_ref_aux = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_ref_aux_internal_one. +PlSqlParserVisitor.prototype.visitTable_ref_aux_internal_one = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_ref_aux_internal_two. +PlSqlParserVisitor.prototype.visitTable_ref_aux_internal_two = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_ref_aux_internal_three. +PlSqlParserVisitor.prototype.visitTable_ref_aux_internal_three = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#join_clause. +PlSqlParserVisitor.prototype.visitJoin_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#join_on_part. +PlSqlParserVisitor.prototype.visitJoin_on_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#join_using_part. +PlSqlParserVisitor.prototype.visitJoin_using_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#outer_join_type. +PlSqlParserVisitor.prototype.visitOuter_join_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#query_partition_clause. +PlSqlParserVisitor.prototype.visitQuery_partition_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#flashback_query_clause. +PlSqlParserVisitor.prototype.visitFlashback_query_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pivot_clause. +PlSqlParserVisitor.prototype.visitPivot_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pivot_element. +PlSqlParserVisitor.prototype.visitPivot_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pivot_for_clause. +PlSqlParserVisitor.prototype.visitPivot_for_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pivot_in_clause. +PlSqlParserVisitor.prototype.visitPivot_in_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pivot_in_clause_element. +PlSqlParserVisitor.prototype.visitPivot_in_clause_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#pivot_in_clause_elements. +PlSqlParserVisitor.prototype.visitPivot_in_clause_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#unpivot_clause. +PlSqlParserVisitor.prototype.visitUnpivot_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#unpivot_in_clause. +PlSqlParserVisitor.prototype.visitUnpivot_in_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#unpivot_in_elements. +PlSqlParserVisitor.prototype.visitUnpivot_in_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#hierarchical_query_clause. +PlSqlParserVisitor.prototype.visitHierarchical_query_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#start_part. +PlSqlParserVisitor.prototype.visitStart_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#group_by_clause. +PlSqlParserVisitor.prototype.visitGroup_by_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#group_by_elements. +PlSqlParserVisitor.prototype.visitGroup_by_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#rollup_cube_clause. +PlSqlParserVisitor.prototype.visitRollup_cube_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#grouping_sets_clause. +PlSqlParserVisitor.prototype.visitGrouping_sets_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#grouping_sets_elements. +PlSqlParserVisitor.prototype.visitGrouping_sets_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#having_clause. +PlSqlParserVisitor.prototype.visitHaving_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_clause. +PlSqlParserVisitor.prototype.visitModel_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cell_reference_options. +PlSqlParserVisitor.prototype.visitCell_reference_options = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#return_rows_clause. +PlSqlParserVisitor.prototype.visitReturn_rows_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#reference_model. +PlSqlParserVisitor.prototype.visitReference_model = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#main_model. +PlSqlParserVisitor.prototype.visitMain_model = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_column_clauses. +PlSqlParserVisitor.prototype.visitModel_column_clauses = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_column_partition_part. +PlSqlParserVisitor.prototype.visitModel_column_partition_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_column_list. +PlSqlParserVisitor.prototype.visitModel_column_list = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_column. +PlSqlParserVisitor.prototype.visitModel_column = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_rules_clause. +PlSqlParserVisitor.prototype.visitModel_rules_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_rules_part. +PlSqlParserVisitor.prototype.visitModel_rules_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_rules_element. +PlSqlParserVisitor.prototype.visitModel_rules_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cell_assignment. +PlSqlParserVisitor.prototype.visitCell_assignment = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_iterate_clause. +PlSqlParserVisitor.prototype.visitModel_iterate_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#until_part. +PlSqlParserVisitor.prototype.visitUntil_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#order_by_clause. +PlSqlParserVisitor.prototype.visitOrder_by_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#order_by_elements. +PlSqlParserVisitor.prototype.visitOrder_by_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#offset_clause. +PlSqlParserVisitor.prototype.visitOffset_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#fetch_clause. +PlSqlParserVisitor.prototype.visitFetch_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#for_update_clause. +PlSqlParserVisitor.prototype.visitFor_update_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#for_update_of_part. +PlSqlParserVisitor.prototype.visitFor_update_of_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#for_update_options. +PlSqlParserVisitor.prototype.visitFor_update_options = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#update_statement. +PlSqlParserVisitor.prototype.visitUpdate_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#update_set_clause. +PlSqlParserVisitor.prototype.visitUpdate_set_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_based_update_set_clause. +PlSqlParserVisitor.prototype.visitColumn_based_update_set_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#delete_statement. +PlSqlParserVisitor.prototype.visitDelete_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#insert_statement. +PlSqlParserVisitor.prototype.visitInsert_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#single_table_insert. +PlSqlParserVisitor.prototype.visitSingle_table_insert = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#multi_table_insert. +PlSqlParserVisitor.prototype.visitMulti_table_insert = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#multi_table_element. +PlSqlParserVisitor.prototype.visitMulti_table_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#conditional_insert_clause. +PlSqlParserVisitor.prototype.visitConditional_insert_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#conditional_insert_when_part. +PlSqlParserVisitor.prototype.visitConditional_insert_when_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#conditional_insert_else_part. +PlSqlParserVisitor.prototype.visitConditional_insert_else_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#insert_into_clause. +PlSqlParserVisitor.prototype.visitInsert_into_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#values_clause. +PlSqlParserVisitor.prototype.visitValues_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#merge_statement. +PlSqlParserVisitor.prototype.visitMerge_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#merge_update_clause. +PlSqlParserVisitor.prototype.visitMerge_update_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#merge_element. +PlSqlParserVisitor.prototype.visitMerge_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#merge_update_delete_part. +PlSqlParserVisitor.prototype.visitMerge_update_delete_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#merge_insert_clause. +PlSqlParserVisitor.prototype.visitMerge_insert_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#selected_tableview. +PlSqlParserVisitor.prototype.visitSelected_tableview = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lock_table_statement. +PlSqlParserVisitor.prototype.visitLock_table_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#wait_nowait_part. +PlSqlParserVisitor.prototype.visitWait_nowait_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lock_table_element. +PlSqlParserVisitor.prototype.visitLock_table_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#lock_mode. +PlSqlParserVisitor.prototype.visitLock_mode = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#general_table_ref. +PlSqlParserVisitor.prototype.visitGeneral_table_ref = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#static_returning_clause. +PlSqlParserVisitor.prototype.visitStatic_returning_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#error_logging_clause. +PlSqlParserVisitor.prototype.visitError_logging_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#error_logging_into_part. +PlSqlParserVisitor.prototype.visitError_logging_into_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#error_logging_reject_part. +PlSqlParserVisitor.prototype.visitError_logging_reject_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#dml_table_expression_clause. +PlSqlParserVisitor.prototype.visitDml_table_expression_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_collection_expression. +PlSqlParserVisitor.prototype.visitTable_collection_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#subquery_restriction_clause. +PlSqlParserVisitor.prototype.visitSubquery_restriction_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sample_clause. +PlSqlParserVisitor.prototype.visitSample_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#seed_part. +PlSqlParserVisitor.prototype.visitSeed_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#condition. +PlSqlParserVisitor.prototype.visitCondition = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#expressions. +PlSqlParserVisitor.prototype.visitExpressions = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#expression. +PlSqlParserVisitor.prototype.visitExpression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cursor_expression. +PlSqlParserVisitor.prototype.visitCursor_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#logical_expression. +PlSqlParserVisitor.prototype.visitLogical_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#unary_logical_expression. +PlSqlParserVisitor.prototype.visitUnary_logical_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#logical_operation. +PlSqlParserVisitor.prototype.visitLogical_operation = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#multiset_expression. +PlSqlParserVisitor.prototype.visitMultiset_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#relational_expression. +PlSqlParserVisitor.prototype.visitRelational_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#compound_expression. +PlSqlParserVisitor.prototype.visitCompound_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#relational_operator. +PlSqlParserVisitor.prototype.visitRelational_operator = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#in_elements. +PlSqlParserVisitor.prototype.visitIn_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#between_elements. +PlSqlParserVisitor.prototype.visitBetween_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#concatenation. +PlSqlParserVisitor.prototype.visitConcatenation = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#interval_expression. +PlSqlParserVisitor.prototype.visitInterval_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_expression. +PlSqlParserVisitor.prototype.visitModel_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#model_expression_element. +PlSqlParserVisitor.prototype.visitModel_expression_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#single_column_for_loop. +PlSqlParserVisitor.prototype.visitSingle_column_for_loop = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#multi_column_for_loop. +PlSqlParserVisitor.prototype.visitMulti_column_for_loop = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#unary_expression. +PlSqlParserVisitor.prototype.visitUnary_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#case_statement. +PlSqlParserVisitor.prototype.visitCase_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#simple_case_statement. +PlSqlParserVisitor.prototype.visitSimple_case_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#simple_case_when_part. +PlSqlParserVisitor.prototype.visitSimple_case_when_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#searched_case_statement. +PlSqlParserVisitor.prototype.visitSearched_case_statement = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#searched_case_when_part. +PlSqlParserVisitor.prototype.visitSearched_case_when_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#case_else_part. +PlSqlParserVisitor.prototype.visitCase_else_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#atom. +PlSqlParserVisitor.prototype.visitAtom = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#quantified_expression. +PlSqlParserVisitor.prototype.visitQuantified_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#string_function. +PlSqlParserVisitor.prototype.visitString_function = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#standard_function. +PlSqlParserVisitor.prototype.visitStandard_function = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#literal. +PlSqlParserVisitor.prototype.visitLiteral = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#numeric_function_wrapper. +PlSqlParserVisitor.prototype.visitNumeric_function_wrapper = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#numeric_function. +PlSqlParserVisitor.prototype.visitNumeric_function = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#other_function. +PlSqlParserVisitor.prototype.visitOther_function = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#over_clause_keyword. +PlSqlParserVisitor.prototype.visitOver_clause_keyword = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#within_or_over_clause_keyword. +PlSqlParserVisitor.prototype.visitWithin_or_over_clause_keyword = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#standard_prediction_function_keyword. +PlSqlParserVisitor.prototype.visitStandard_prediction_function_keyword = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#over_clause. +PlSqlParserVisitor.prototype.visitOver_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#windowing_clause. +PlSqlParserVisitor.prototype.visitWindowing_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#windowing_type. +PlSqlParserVisitor.prototype.visitWindowing_type = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#windowing_elements. +PlSqlParserVisitor.prototype.visitWindowing_elements = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#using_clause. +PlSqlParserVisitor.prototype.visitUsing_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#using_element. +PlSqlParserVisitor.prototype.visitUsing_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#collect_order_by_part. +PlSqlParserVisitor.prototype.visitCollect_order_by_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#within_or_over_part. +PlSqlParserVisitor.prototype.visitWithin_or_over_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cost_matrix_clause. +PlSqlParserVisitor.prototype.visitCost_matrix_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xml_passing_clause. +PlSqlParserVisitor.prototype.visitXml_passing_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xml_attributes_clause. +PlSqlParserVisitor.prototype.visitXml_attributes_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xml_namespaces_clause. +PlSqlParserVisitor.prototype.visitXml_namespaces_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xml_table_column. +PlSqlParserVisitor.prototype.visitXml_table_column = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xml_general_default_part. +PlSqlParserVisitor.prototype.visitXml_general_default_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xml_multiuse_expression_element. +PlSqlParserVisitor.prototype.visitXml_multiuse_expression_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmlroot_param_version_part. +PlSqlParserVisitor.prototype.visitXmlroot_param_version_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmlroot_param_standalone_part. +PlSqlParserVisitor.prototype.visitXmlroot_param_standalone_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmlserialize_param_enconding_part. +PlSqlParserVisitor.prototype.visitXmlserialize_param_enconding_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmlserialize_param_version_part. +PlSqlParserVisitor.prototype.visitXmlserialize_param_version_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmlserialize_param_ident_part. +PlSqlParserVisitor.prototype.visitXmlserialize_param_ident_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sql_plus_command. +PlSqlParserVisitor.prototype.visitSql_plus_command = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#whenever_command. +PlSqlParserVisitor.prototype.visitWhenever_command = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#set_command. +PlSqlParserVisitor.prototype.visitSet_command = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#partition_extension_clause. +PlSqlParserVisitor.prototype.visitPartition_extension_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_alias. +PlSqlParserVisitor.prototype.visitColumn_alias = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_alias. +PlSqlParserVisitor.prototype.visitTable_alias = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#where_clause. +PlSqlParserVisitor.prototype.visitWhere_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#into_clause. +PlSqlParserVisitor.prototype.visitInto_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xml_column_name. +PlSqlParserVisitor.prototype.visitXml_column_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cost_class_name. +PlSqlParserVisitor.prototype.visitCost_class_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#attribute_name. +PlSqlParserVisitor.prototype.visitAttribute_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#savepoint_name. +PlSqlParserVisitor.prototype.visitSavepoint_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#rollback_segment_name. +PlSqlParserVisitor.prototype.visitRollback_segment_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_var_name. +PlSqlParserVisitor.prototype.visitTable_var_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#schema_name. +PlSqlParserVisitor.prototype.visitSchema_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#routine_name. +PlSqlParserVisitor.prototype.visitRoutine_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#package_name. +PlSqlParserVisitor.prototype.visitPackage_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#implementation_type_name. +PlSqlParserVisitor.prototype.visitImplementation_type_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#parameter_name. +PlSqlParserVisitor.prototype.visitParameter_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#reference_model_name. +PlSqlParserVisitor.prototype.visitReference_model_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#main_model_name. +PlSqlParserVisitor.prototype.visitMain_model_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#container_tableview_name. +PlSqlParserVisitor.prototype.visitContainer_tableview_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#aggregate_function_name. +PlSqlParserVisitor.prototype.visitAggregate_function_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#query_name. +PlSqlParserVisitor.prototype.visitQuery_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#grantee_name. +PlSqlParserVisitor.prototype.visitGrantee_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#role_name. +PlSqlParserVisitor.prototype.visitRole_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#constraint_name. +PlSqlParserVisitor.prototype.visitConstraint_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#label_name. +PlSqlParserVisitor.prototype.visitLabel_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_name. +PlSqlParserVisitor.prototype.visitType_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#sequence_name. +PlSqlParserVisitor.prototype.visitSequence_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#exception_name. +PlSqlParserVisitor.prototype.visitException_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#function_name. +PlSqlParserVisitor.prototype.visitFunction_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#procedure_name. +PlSqlParserVisitor.prototype.visitProcedure_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#trigger_name. +PlSqlParserVisitor.prototype.visitTrigger_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#variable_name. +PlSqlParserVisitor.prototype.visitVariable_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#index_name. +PlSqlParserVisitor.prototype.visitIndex_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#cursor_name. +PlSqlParserVisitor.prototype.visitCursor_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#record_name. +PlSqlParserVisitor.prototype.visitRecord_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#collection_name. +PlSqlParserVisitor.prototype.visitCollection_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#link_name. +PlSqlParserVisitor.prototype.visitLink_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_name. +PlSqlParserVisitor.prototype.visitColumn_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#tableview_name. +PlSqlParserVisitor.prototype.visitTableview_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#xmltable. +PlSqlParserVisitor.prototype.visitXmltable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#char_set_name. +PlSqlParserVisitor.prototype.visitChar_set_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#synonym_name. +PlSqlParserVisitor.prototype.visitSynonym_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#schema_object_name. +PlSqlParserVisitor.prototype.visitSchema_object_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#dir_object_name. +PlSqlParserVisitor.prototype.visitDir_object_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#user_object_name. +PlSqlParserVisitor.prototype.visitUser_object_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#grant_object_name. +PlSqlParserVisitor.prototype.visitGrant_object_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#column_list. +PlSqlParserVisitor.prototype.visitColumn_list = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#paren_column_list. +PlSqlParserVisitor.prototype.visitParen_column_list = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#keep_clause. +PlSqlParserVisitor.prototype.visitKeep_clause = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#function_argument. +PlSqlParserVisitor.prototype.visitFunction_argument = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#function_argument_analytic. +PlSqlParserVisitor.prototype.visitFunction_argument_analytic = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#function_argument_modeling. +PlSqlParserVisitor.prototype.visitFunction_argument_modeling = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#respect_or_ignore_nulls. +PlSqlParserVisitor.prototype.visitRespect_or_ignore_nulls = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#argument. +PlSqlParserVisitor.prototype.visitArgument = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#type_spec. +PlSqlParserVisitor.prototype.visitType_spec = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#datatype. +PlSqlParserVisitor.prototype.visitDatatype = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#precision_part. +PlSqlParserVisitor.prototype.visitPrecision_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#native_datatype_element. +PlSqlParserVisitor.prototype.visitNative_datatype_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#bind_variable. +PlSqlParserVisitor.prototype.visitBind_variable = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#general_element. +PlSqlParserVisitor.prototype.visitGeneral_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#general_element_part. +PlSqlParserVisitor.prototype.visitGeneral_element_part = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#table_element. +PlSqlParserVisitor.prototype.visitTable_element = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#object_privilege. +PlSqlParserVisitor.prototype.visitObject_privilege = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#system_privilege. +PlSqlParserVisitor.prototype.visitSystem_privilege = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#constant. +PlSqlParserVisitor.prototype.visitConstant = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#numeric. +PlSqlParserVisitor.prototype.visitNumeric = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#numeric_negative. +PlSqlParserVisitor.prototype.visitNumeric_negative = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#quoted_string. +PlSqlParserVisitor.prototype.visitQuoted_string = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#identifier. +PlSqlParserVisitor.prototype.visitIdentifier = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#id_expression. +PlSqlParserVisitor.prototype.visitId_expression = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#outer_join_sign. +PlSqlParserVisitor.prototype.visitOuter_join_sign = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#regular_id. +PlSqlParserVisitor.prototype.visitRegular_id = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#non_reserved_keywords_in_12c. +PlSqlParserVisitor.prototype.visitNon_reserved_keywords_in_12c = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#non_reserved_keywords_pre12c. +PlSqlParserVisitor.prototype.visitNon_reserved_keywords_pre12c = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#string_function_name. +PlSqlParserVisitor.prototype.visitString_function_name = function(ctx) { + return this.visitChildren(ctx); +}; + + +// Visit a parse tree produced by PlSqlParser#numeric_function_name. +PlSqlParserVisitor.prototype.visitNumeric_function_name = function(ctx) { + return this.visitChildren(ctx); +}; + + + +exports.PlSqlParserVisitor = PlSqlParserVisitor; \ No newline at end of file diff --git a/src/parser/common/BasicParser.ts b/src/parser/common/BasicParser.ts new file mode 100644 index 0000000..3165a37 --- /dev/null +++ b/src/parser/common/BasicParser.ts @@ -0,0 +1,111 @@ +import { Token, Lexer } from 'antlr4'; +import { ParseTreeWalker } from 'antlr4/tree'; + +import ParserErrorListener, { + ParserError, + ErrorHandler, + ParserErrorCollector, +} from './parserErrorListener'; + +/** + * Custom Parser class, subclass needs extends it. + */ +export default abstract class BasicParser { + private _parser; + + public parse( + input: string, + errorListener?: ErrorHandler, + ) { + const parser = this.createParser(input); + this._parser = parser; + + parser.removeErrorListeners(); + parser.addErrorListener(new ParserErrorListener(errorListener)); + + const parserTree = parser.program(); + + return parserTree; + } + + public validate(input: string): ParserError[] { + const lexerError = []; const syntaxErrors = []; + + const parser = this.createParser(input); + this._parser = parser; + + parser.removeErrorListeners(); + parser.addErrorListener(new ParserErrorCollector(syntaxErrors)); + + parser.program(); + + return lexerError.concat(syntaxErrors); + } + + /** + * Create antrl4 Lexer object + * @param input source string + */ + public abstract createLexer(input: string): Lexer; + + /** + * Create Parser by lexer + * @param lexer Lexer + */ + public abstract createParserFromLexer(lexer: Lexer); + + /** + * Visit parser tree + * @param parserTree + */ + // public abstract visit(visitor: any, parserTree: any); + + /** + * The source string + * @param input string + */ + public getAllTokens(input: string): Token[] { + return this.createLexer(input).getAllTokens(); + }; + + /** + * Get Parser instance by input string + * @param input + */ + public createParser(input: string) { + const lexer = this.createLexer(input); + const parser: any = this.createParserFromLexer(lexer); + parser.buildParseTrees = true; + this._parser = parser; + + return parser; + } + + /** + * It convert tree to string, it's convenient to use in unit test. + * @param string input + */ + public parserTreeToString(input: string): string { + const parser = this.createParser(input); + this._parser = parser; + + const tree = parser.statement(); + return tree.toStringTree(parser.ruleNames); + } + + /** + * Get List-like style tree string + * @param parserTree + */ + public toString(parserTree: any): string { + return parserTree.toStringTree(this._parser.ruleNames); + } + + /** + * @param listener Listener instance extends ParserListener + * @param parserTree parser Tree + */ + public listen(listener: any, parserTree: any) { + ParseTreeWalker.DEFAULT.walk(listener, parserTree); + } +} diff --git a/src/parser/common/parserErrorListener.ts b/src/parser/common/parserErrorListener.ts new file mode 100644 index 0000000..e868898 --- /dev/null +++ b/src/parser/common/parserErrorListener.ts @@ -0,0 +1,84 @@ +import { Token, Recognizer } from 'antlr4'; +import { ErrorListener } from 'antlr4/error'; + +export interface ParserError { + startLine: number; + endLine: number; + startCol: number; + endCol: number; + message: string; +} + +export interface SyntaxError { + recognizer: Recognizer; + offendingSymbol: Token; + line: number; + charPositionInLine: number; + msg: string; + e: any; +} + +export type ErrorHandler = (err: ParserError, errOption: SyntaxError) => void; + +export class ParserErrorCollector extends ErrorListener { + private _errors: ParserError[]; + + constructor(error: ParserError[]) { + super(); + this._errors = error; + } + + syntaxError( + recognizer: Recognizer, offendingSymbol: Token, line: number, + charPositionInLine: number, msg: string, e: any, + ) { + let endCol = charPositionInLine + 1; + if (offendingSymbol &&offendingSymbol.text !== null) { + endCol = charPositionInLine + offendingSymbol.text.length; + } + this._errors.push({ + startLine: line, + endLine: line, + startCol: charPositionInLine, + endCol: endCol, + message: msg, + }); + } +} + + +export default class ParserErrorListener extends ErrorListener { + private _errorHandler; + + constructor(errorListener: ErrorHandler) { + super(); + this._errorHandler = errorListener; + } + + syntaxError( + recognizer: Recognizer, offendingSymbol: Token, line: number, + charPositionInLine: number, msg: string, e: any, + ) { + let endCol = charPositionInLine + 1; + if (offendingSymbol &&offendingSymbol.text !== null) { + endCol = charPositionInLine + offendingSymbol.text.length; + } + if (this._errorHandler) { + this._errorHandler({ + startLine: line, + endLine: line, + startCol: charPositionInLine, + endCol: endCol, + message: msg, + }, { + e, + line, + msg, + recognizer, + offendingSymbol, + charPositionInLine, + }); + } + } +} + diff --git a/src/parser/generic.ts b/src/parser/generic.ts new file mode 100644 index 0000000..615569c --- /dev/null +++ b/src/parser/generic.ts @@ -0,0 +1,20 @@ +import { InputStream, CommonTokenStream, Lexer } from 'antlr4'; +import { SqlLexer } from '../lib/generic/SqlLexer'; +import { SqlParser } from '../lib/generic/SqlParser'; +export * from '../lib/generic/SqlParserVisitor'; +export * from '../lib/generic/SqlParserListener'; + +import BasicParser from './common/BasicParser'; + +export default class GenericSQL extends BasicParser { + public createLexer(input: string): Lexer { + const chars = new InputStream(input.toUpperCase()); // Some Lexer only support uppercase token, So you need transform + const lexer = new SqlLexer(chars) as Lexer; + return lexer; + } + public createParserFromLexer(lexer: Lexer) { + const tokenStream = new CommonTokenStream(lexer); + return new SqlParser(tokenStream); + } +} + diff --git a/src/parser/hive.ts b/src/parser/hive.ts new file mode 100644 index 0000000..a404aef --- /dev/null +++ b/src/parser/hive.ts @@ -0,0 +1,20 @@ +import { InputStream, CommonTokenStream, Lexer } from 'antlr4'; +import { HiveSqlLexer } from '../lib/hive/HiveSqlLexer'; +import { HiveSqlParser } from '../lib/hive/HiveSqlParser'; +export * from '../lib/hive/HiveSqlListener'; +export * from '../lib/hive/HiveSqlVisitor'; + +import BasicParser from './common/BasicParser'; + +export default class HiveSQL extends BasicParser { + public createLexer(input: string): Lexer { + const chars = new InputStream(input); + const lexer = new HiveSqlLexer(chars) as Lexer; + return lexer; + } + public createParserFromLexer(lexer: Lexer) { + const tokenStream = new CommonTokenStream(lexer); + return new HiveSqlParser(tokenStream); + } +} + diff --git a/src/parser/index.ts b/src/parser/index.ts new file mode 100644 index 0000000..ff3b192 --- /dev/null +++ b/src/parser/index.ts @@ -0,0 +1,3 @@ +export * from './generic'; +export * from './plsql'; +export * from './hive'; diff --git a/src/parser/plsql.ts b/src/parser/plsql.ts new file mode 100644 index 0000000..4450a07 --- /dev/null +++ b/src/parser/plsql.ts @@ -0,0 +1,19 @@ +import { InputStream, CommonTokenStream, Lexer } from 'antlr4'; +import { PlSqlLexer } from '../lib/plsql/PlSqlLexer'; +import { PlSqlParser } from '../lib/plsql/PlSqlParser'; +export * from '../lib/plsql/PlSqlParserListener'; +export * from '../lib/plsql/PlSqlParserVisitor'; + +import BasicParser from './common/BasicParser'; + +export default class PLSQLParser extends BasicParser { + public createLexer(input: string): Lexer { + const chars = new InputStream(input.toUpperCase()); + const lexer = new PlSqlLexer(chars) as Lexer; + return lexer; + } + public createParserFromLexer(lexer: Lexer) { + const tokenStream = new CommonTokenStream(lexer); + return new PlSqlParser(tokenStream); + } +} diff --git a/test/parser/generic/lexer.test.ts b/test/parser/generic/lexer.test.ts new file mode 100644 index 0000000..b3940f3 --- /dev/null +++ b/test/parser/generic/lexer.test.ts @@ -0,0 +1,12 @@ +import SQLParser from '../../../src/parser/generic'; + +describe('GenericSQL Lexer tests', () => { + const mysqlParser = new SQLParser(); + + const sql = 'select id,name,sex from user1;'; + const tokens = mysqlParser.getAllTokens(sql); + + test('token counts', () => { + expect(tokens.length).toBe(12); + }); +}); diff --git a/test/parser/generic/listener.test.ts b/test/parser/generic/listener.test.ts new file mode 100644 index 0000000..54a31ab --- /dev/null +++ b/test/parser/generic/listener.test.ts @@ -0,0 +1,22 @@ +import SQLParser, { SqlParserListener } from '../../../src/parser/generic'; + +describe('Generic SQL Listener Tests', () => { + const expectTableName = 'user1'; + const sql = `select id,name,sex from ${expectTableName};`; + const parser = new SQLParser(); + + const parserTree = parser.parse(sql); + + test('Listener enterTableName', async () => { + let result = ''; + class MyListener extends SqlParserListener { + enterTableName(ctx): void { + result = ctx.getText().toLowerCase(); + } + } + const listenTableName: any = new MyListener(); + + await parser.listen(listenTableName, parserTree); + expect(result).toBe(expectTableName); + }); +}); diff --git a/test/parser/generic/syntax.test.ts b/test/parser/generic/syntax.test.ts new file mode 100644 index 0000000..046ef1e --- /dev/null +++ b/test/parser/generic/syntax.test.ts @@ -0,0 +1,18 @@ +import SQLParser from '../../../src/parser/generic'; + +describe('Generic SQL Syntax Tests', () => { + const parser = new SQLParser(); + + test('Select Statement', () => { + const sql = 'select id,name from user1;'; + const result = parser.validate(sql); + + expect(result.length).toBe(0); + }); + + test('Select 1+1', () => { + const sql = 'SELECT 1+1;'; + const result = parser.validate(sql); + expect(result.length).toBe(0); + }); +}); diff --git a/test/parser/generic/visitor.test.ts b/test/parser/generic/visitor.test.ts new file mode 100644 index 0000000..9119688 --- /dev/null +++ b/test/parser/generic/visitor.test.ts @@ -0,0 +1,27 @@ +import SQLParser, { SqlParserVisitor } from '../../../src/parser/generic'; + +describe('Generic SQL Visitor Tests', () => { + const expectTableName = 'user1'; + const sql = `select id,name,sex from ${expectTableName};`; + const parser = new SQLParser(); + + const parserTree = parser.parse(sql, (error) => { + console.log('Parse error:', error); + }); + + console.log('Parser tree string:', parser.toString(parserTree)); + + test('Visitor visitTableName', () => { + let result = ''; + class MyVisitor extends SqlParserVisitor { + visitTableName(ctx): void { + result = ctx.getText().toLowerCase(); + super.visitTableName(ctx); + } + } + const visitor: any = new MyVisitor(); + visitor.visit(parserTree); + + expect(result).toBe(expectTableName); + }); +}); diff --git a/test/parser/hive/lexer.test.ts b/test/parser/hive/lexer.test.ts new file mode 100644 index 0000000..423bdb9 --- /dev/null +++ b/test/parser/hive/lexer.test.ts @@ -0,0 +1,12 @@ +import SQLParser from '../../../src/parser/hive'; + +describe('HiveSQL Lexer tests', () => { + const parser = new SQLParser(); + // select id,name,sex from user1; + const sql = 'SELECT * FROM t1'; + const tokens = parser.getAllTokens(sql); + + test('token counts', () => { + expect(tokens.length).toBe(12); + }); +}); diff --git a/test/parser/hive/listener.test.ts b/test/parser/hive/listener.test.ts new file mode 100644 index 0000000..23ff3e0 --- /dev/null +++ b/test/parser/hive/listener.test.ts @@ -0,0 +1,22 @@ +import SQLParser, { HiveSqlListener } from '../../../src/parser/hive'; + +describe('Hive SQL Listener Tests', () => { + const expectTableName = 'user1'; + const sql = `select id,name,sex from ${expectTableName};`; + const parser = new SQLParser(); + + const parserTree = parser.parse(sql); + + test('Listener enterTableName', async () => { + let result = ''; + class MyListener extends HiveSqlListener { + enterTableName(ctx): void { + result = ctx.getText().toLowerCase(); + } + } + const listenTableName: any = new MyListener(); + + await parser.listen(listenTableName, parserTree); + expect(result).toBe(expectTableName); + }); +}); diff --git a/test/parser/hive/syntax.test.ts b/test/parser/hive/syntax.test.ts new file mode 100644 index 0000000..e6f6da6 --- /dev/null +++ b/test/parser/hive/syntax.test.ts @@ -0,0 +1,18 @@ +import SQLParser from '../../../src/parser/hive'; + +describe('Hive SQL Syntax Tests', () => { + const parser = new SQLParser(); + + test('Select Statement', () => { + const sql = 'SELECT * FROM employee WHERE salary>30000;'; + const result = parser.validate(sql); + + expect(result.length).toBe(0); + }); + + test('Select 1+1', () => { + const sql = 'SELECT 1+1;'; + const result = parser.validate(sql); + expect(result.length).toBe(0); + }); +}); diff --git a/test/parser/hive/visitor.test.ts b/test/parser/hive/visitor.test.ts new file mode 100644 index 0000000..f4d2cec --- /dev/null +++ b/test/parser/hive/visitor.test.ts @@ -0,0 +1,27 @@ +import SQLParser, { HiveSqlVisitor } from '../../../src/parser/hive'; + +describe('Generic SQL Visitor Tests', () => { + const expectTableName = 'user1'; + const sql = `select id,name,sex from ${expectTableName};`; + const parser = new SQLParser(); + + const parserTree = parser.parse(sql, (error) => { + console.log('Parse error:', error); + }); + + console.log('Parser tree string:', parser.toString(parserTree)); + + test('Visitor visitTableName', () => { + let result = ''; + class MyVisitor extends HiveSqlVisitor { + visitTable_name(ctx): void { + result = ctx.getText().toLowerCase(); + super.visitTable_name(ctx); + } + } + const visitor: any = new MyVisitor(); + visitor.visit(parserTree); + + expect(result).toBe(expectTableName); + }); +}); diff --git a/test/parser/plsql/lexer.test.ts b/test/parser/plsql/lexer.test.ts new file mode 100644 index 0000000..0a397e9 --- /dev/null +++ b/test/parser/plsql/lexer.test.ts @@ -0,0 +1,12 @@ +import SQLParser from '../../../src/parser/plsql'; + +describe('PLSQL Lexer tests', () => { + const parser = new SQLParser(); + + const sql = 'select id,name,sex from user1;'; + const tokens = parser.getAllTokens(sql); + + test('token counts', () => { + expect(tokens.length).toBe(12); + }); +}); diff --git a/test/parser/plsql/listener.test.ts b/test/parser/plsql/listener.test.ts new file mode 100644 index 0000000..2b3e43e --- /dev/null +++ b/test/parser/plsql/listener.test.ts @@ -0,0 +1,22 @@ +import SQLParser, { PlSqlParserListener } from '../../../src/parser/plsql'; + +describe('PLSQL Listener Tests', () => { + const expectTableName = 'user1'; + const sql = `select id,name,sex from ${expectTableName};`; + const parser = new SQLParser(); + + const parserTree = parser.parse(sql); + + test('Listener enterTableName', async () => { + let result = ''; + class MyListener extends PlSqlParserListener { + enterTable_ref_list(ctx): void { + result = ctx.getText().toLowerCase(); + } + } + const listenTableName: any = new MyListener(); + + await parser.listen(listenTableName, parserTree); + expect(result).toBe(expectTableName); + }); +}); diff --git a/test/parser/plsql/syntax.test.ts b/test/parser/plsql/syntax.test.ts new file mode 100644 index 0000000..b3c50c3 --- /dev/null +++ b/test/parser/plsql/syntax.test.ts @@ -0,0 +1,23 @@ +import SQLParser from '../../../src/parser/plsql'; + +describe('PLSQL Syntax Tests', () => { + const parser = new SQLParser(); + + test('Test simple select Statement', () => { + const sql = 'select id,name from user1;'; + const result = parser.validate(sql); + + expect(result.length).toBe(0); + }); + + test(`Test select, where, order by`, () => { + const sql = ` + select eid, emp_last, mgr_id, reportlevel + from reports_to_101 r, auto a + where r.c1 = a.c2 + order by reportlevel, eid + `; + const result = parser.validate(sql); + expect(result.length).toBe(0); + }); +}); diff --git a/test/parser/plsql/visitor.test.ts b/test/parser/plsql/visitor.test.ts new file mode 100644 index 0000000..d8000b8 --- /dev/null +++ b/test/parser/plsql/visitor.test.ts @@ -0,0 +1,23 @@ +import SQLParser, { PlSqlParserVisitor } from '../../../src/parser/plsql'; + +describe('PLSQL Visitor Tests', () => { + const expectTableName = 'user1'; + const sql = `select id,name,sex from ${expectTableName};`; + const parser = new SQLParser(); + + const parserTree = parser.parse(sql); + + test('Visitor visitTable_ref_list', () => { + let result = ''; + class MyVisitor extends PlSqlParserVisitor { + visitTable_ref_list(ctx): void { + result = ctx.getText().toLowerCase(); + super.visitTable_ref_list(ctx); + } + } + const visitor: any = new MyVisitor(); + visitor.visit(parserTree); + + expect(result).toBe(expectTableName); + }); +}); diff --git a/test/parsers/mysql/lexer.test.ts b/test/parsers/mysql/lexer.test.ts deleted file mode 100644 index a26f2a0..0000000 --- a/test/parsers/mysql/lexer.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -import MySQLParser from '../../../src/core/mysql'; - -describe('MySQL Lexer tests', () => { - const mysqlParser = new MySQLParser(); - - const sql = 'select id,name,sex from user1;'; - const tokens = mysqlParser.getAllTokens(sql); - - test('token counts', () => { - expect(tokens.length).toBe(12); - }); - - test('token counts', () => { - expect(tokens.length).toBe(12); - }); -}); diff --git a/test/parsers/mysql/parser.test.ts b/test/parsers/mysql/parser.test.ts deleted file mode 100644 index 394428a..0000000 --- a/test/parsers/mysql/parser.test.ts +++ /dev/null @@ -1,24 +0,0 @@ -import MySQLParser from '../../../src/core/mysql'; - -describe('MySQL Parser tests', () => { - const mysql = new MySQLParser(); - - test('Select * FROM Statement', () => { - const sql = 'SELECT * FROM tb;'; - const result = mysql.parserTreeToString(sql); - expect(result).toEqual(` - (statement (sqlStatements ( - sqlStatement ( - dmlStatement ( - selectStatement ( - querySpecification SELECT (selectElements *) ( - fromClause FROM ( - tableSources (tableSource ( - tableSourceItem (tableName ( - fullId (uid ( - simpleId TB - ) - ))))))))))) (emptyStatement ;)) - )`); - }); -}); diff --git a/test/parsers/mysql/syntax.test.ts b/test/parsers/mysql/syntax.test.ts deleted file mode 100644 index d8a1a91..0000000 --- a/test/parsers/mysql/syntax.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import MySQLParser from '../../../src/core/mysql'; - -describe('MySQL Syntax tests', () => { - const mysql = new MySQLParser(); - test('Select Statement', () => { - const sql = 'select id,name from user1;'; - const result = mysql.validate(sql); - - expect(result.length).toBe(0); - }); -});